Built motion from commit bcd50b9.|0.0.29 0.0.29
authorMotion Team <team@xcally.com>
Tue, 19 Jan 2016 15:42:54 +0000 (16:42 +0100)
committerMotion Team <team@xcally.com>
Tue, 19 Jan 2016 15:42:54 +0000 (16:42 +0100)
810 files changed:
package.json
public/app/4942fdcb.vendor.js [new file with mode: 0644]
public/app/67dd0d05.vendor.css [moved from public/app/f3572dd3.vendor.css with 57% similarity]
public/app/76616549.app.js [moved from public/app/9210b25d.app.js with 72% similarity]
public/app/bff60da8.vendor.js [deleted file]
public/app/ec36ec5b.app.css [moved from public/app/7b2a74e6.app.css with 62% similarity]
public/assets/css/global/custom.css
public/assets/css/jstree-metronic/32px.png [new file with mode: 0644]
public/assets/css/jstree-metronic/32px_line.png [new file with mode: 0644]
public/assets/css/jstree-metronic/32px_original.png [new file with mode: 0644]
public/assets/css/jstree-metronic/40px.png [new file with mode: 0644]
public/assets/css/jstree-metronic/style.css [new file with mode: 0644]
public/assets/css/jstree-metronic/style.min.css [new file with mode: 0644]
public/assets/css/jstree-metronic/throbber.gif [new file with mode: 0644]
public/assets/images/demo.png [new file with mode: 0644]
public/assets/languages/locale-en_EN.json
public/assets/languages/locale-it.json
public/assets/plugins/jscripty/js/Actions.js [copied from public/assets/plugins/mxgraph/js/Actions.js with 100% similarity]
public/assets/plugins/jscripty/js/Dialogs.js [copied from public/assets/plugins/mxgraph/js/Dialogs.js with 91% similarity]
public/assets/plugins/jscripty/js/Editor.js [copied from public/assets/plugins/mxgraph/js/Editor.js with 100% similarity]
public/assets/plugins/jscripty/js/EditorUi.js [copied from public/assets/plugins/mxgraph/js/EditorUi.js with 88% similarity]
public/assets/plugins/jscripty/js/Graph.js [copied from public/assets/plugins/mxgraph/js/Graph.js with 100% similarity]
public/assets/plugins/jscripty/js/Menus.js [copied from public/assets/plugins/mxgraph/js/Menus.js with 100% similarity]
public/assets/plugins/jscripty/js/Shapes.js [copied from public/assets/plugins/mxgraph/js/Shapes.js with 100% similarity]
public/assets/plugins/jscripty/js/Sidebar.js [copied from public/assets/plugins/mxgraph/js/Sidebar.js with 77% similarity]
public/assets/plugins/jscripty/js/Toolbar.js [copied from public/assets/plugins/mxgraph/js/Toolbar.js with 100% similarity]
public/assets/plugins/jscripty/js/custom.js [copied from public/assets/plugins/mxgraph/js/custom.js with 92% similarity]
public/assets/plugins/jscripty/resources/dia.txt [copied from public/assets/plugins/mxgraph/resources/dia.txt with 94% similarity]
public/assets/plugins/jscripty/resources/dia_am.txt [moved from public/assets/plugins/mxgraph/resources/dia_am.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_ar.txt [copied from public/assets/plugins/mxgraph/resources/dia_ar.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_bg.txt [copied from public/assets/plugins/mxgraph/resources/dia_bg.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_bn.txt [copied from public/assets/plugins/mxgraph/resources/dia_bn.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_bs.txt [copied from public/assets/plugins/mxgraph/resources/dia_bs.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_ca.txt [copied from public/assets/plugins/mxgraph/resources/dia_ca.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_cs.txt [copied from public/assets/plugins/mxgraph/resources/dia_cs.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_da.txt [copied from public/assets/plugins/mxgraph/resources/dia_da.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_de.txt [copied from public/assets/plugins/mxgraph/resources/dia_de.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_el.txt [copied from public/assets/plugins/mxgraph/resources/dia_el.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_es-AR.txt [copied from public/assets/plugins/mxgraph/resources/dia_es-AR.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_es.txt [copied from public/assets/plugins/mxgraph/resources/dia_es.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_et.txt [copied from public/assets/plugins/mxgraph/resources/dia_et.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_fa.txt [copied from public/assets/plugins/mxgraph/resources/dia_fa.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_fi.txt [copied from public/assets/plugins/mxgraph/resources/dia_fi.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_fil.txt [copied from public/assets/plugins/mxgraph/resources/dia_fil.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_fr.txt [copied from public/assets/plugins/mxgraph/resources/dia_fr.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_gu.txt [copied from public/assets/plugins/mxgraph/resources/dia_gu.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_he.txt [copied from public/assets/plugins/mxgraph/resources/dia_he.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_hi.txt [copied from public/assets/plugins/mxgraph/resources/dia_hi.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_hr.txt [copied from public/assets/plugins/mxgraph/resources/dia_hr.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_hu.txt [copied from public/assets/plugins/mxgraph/resources/dia_hu.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_id.txt [copied from public/assets/plugins/mxgraph/resources/dia_id.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_it.txt [copied from public/assets/plugins/mxgraph/resources/dia_it.txt with 97% similarity]
public/assets/plugins/jscripty/resources/dia_ja.txt [copied from public/assets/plugins/mxgraph/resources/dia_ja.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_kn.txt [copied from public/assets/plugins/mxgraph/resources/dia_kn.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_ko.txt [copied from public/assets/plugins/mxgraph/resources/dia_ko.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_lt.txt [copied from public/assets/plugins/mxgraph/resources/dia_lt.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_lv.txt [copied from public/assets/plugins/mxgraph/resources/dia_lv.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_ml.txt [copied from public/assets/plugins/mxgraph/resources/dia_ml.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_mr.txt [copied from public/assets/plugins/mxgraph/resources/dia_mr.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_ms.txt [copied from public/assets/plugins/mxgraph/resources/dia_ms.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_nl.txt [copied from public/assets/plugins/mxgraph/resources/dia_nl.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_no.txt [copied from public/assets/plugins/mxgraph/resources/dia_no.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_pl.txt [copied from public/assets/plugins/mxgraph/resources/dia_pl.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_pt-br.txt [copied from public/assets/plugins/mxgraph/resources/dia_pt-br.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_pt.txt [copied from public/assets/plugins/mxgraph/resources/dia_pt.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_ro.txt [copied from public/assets/plugins/mxgraph/resources/dia_ro.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_ru.txt [copied from public/assets/plugins/mxgraph/resources/dia_ru.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_sk.txt [copied from public/assets/plugins/mxgraph/resources/dia_sk.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_sl.txt [copied from public/assets/plugins/mxgraph/resources/dia_sl.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_sr.txt [copied from public/assets/plugins/mxgraph/resources/dia_sr.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_sv.txt [copied from public/assets/plugins/mxgraph/resources/dia_sv.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_sw.txt [copied from public/assets/plugins/mxgraph/resources/dia_sw.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_ta.txt [copied from public/assets/plugins/mxgraph/resources/dia_ta.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_te.txt [copied from public/assets/plugins/mxgraph/resources/dia_te.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_th.txt [copied from public/assets/plugins/mxgraph/resources/dia_th.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_tr.txt [copied from public/assets/plugins/mxgraph/resources/dia_tr.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_uk.txt [copied from public/assets/plugins/mxgraph/resources/dia_uk.txt with 100% similarity]
public/assets/plugins/jscripty/resources/dia_zh.txt [copied from public/assets/plugins/mxgraph/resources/dia_zh.txt with 100% similarity]
public/assets/plugins/jscripty/resources/help_it.html [copied from public/assets/plugins/mxgraph/resources/help_it.html with 100% similarity]
public/assets/plugins/jscripty/stencils/email_128x128.png [copied from public/assets/plugins/mxgraph/stencils/call_management/voicemail_128x128.png with 100% similarity]
public/assets/plugins/jscripty/stencils/end_128x128.png [copied from public/assets/plugins/mxgraph/stencils/entry/end_128x128.png with 100% similarity]
public/assets/plugins/jscripty/stencils/general.xml [copied from public/assets/plugins/mxgraph/stencils/general.xml with 100% similarity]
public/assets/plugins/jscripty/stencils/input_128x128.png [new file with mode: 0644]
public/assets/plugins/jscripty/stencils/question_128x128.png [new file with mode: 0644]
public/assets/plugins/jscripty/stencils/start_128x128.png [copied from public/assets/plugins/mxgraph/stencils/entry/start_128x128.png with 100% similarity]
public/assets/plugins/jscripty/templates/images/aws1.png [copied from public/assets/plugins/mxgraph/templates/images/aws1.png with 100% similarity]
public/assets/plugins/jscripty/templates/images/bpmn1.png [copied from public/assets/plugins/mxgraph/templates/images/bpmn1.png with 100% similarity]
public/assets/plugins/jscripty/templates/images/compare1.png [copied from public/assets/plugins/mxgraph/templates/images/compare1.png with 100% similarity]
public/assets/plugins/jscripty/templates/images/flowchart1.png [copied from public/assets/plugins/mxgraph/templates/images/flowchart1.png with 100% similarity]
public/assets/plugins/jscripty/templates/images/flowchart2.png [copied from public/assets/plugins/mxgraph/templates/images/flowchart2.png with 100% similarity]
public/assets/plugins/jscripty/templates/images/gantt1.png [copied from public/assets/plugins/mxgraph/templates/images/gantt1.png with 100% similarity]
public/assets/plugins/jscripty/templates/images/lean1.png [copied from public/assets/plugins/mxgraph/templates/images/lean1.png with 100% similarity]
public/assets/plugins/jscripty/templates/images/mindmap1.png [copied from public/assets/plugins/mxgraph/templates/images/mindmap1.png with 100% similarity]
public/assets/plugins/jscripty/templates/images/orgchart1.png [copied from public/assets/plugins/mxgraph/templates/images/orgchart1.png with 100% similarity]
public/assets/plugins/jscripty/templates/images/orgchart2.png [copied from public/assets/plugins/mxgraph/templates/images/orgchart2.png with 100% similarity]
public/assets/plugins/jscripty/templates/images/package1.png [copied from public/assets/plugins/mxgraph/templates/images/package1.png with 100% similarity]
public/assets/plugins/jscripty/templates/images/pid1.png [copied from public/assets/plugins/mxgraph/templates/images/pid1.png with 100% similarity]
public/assets/plugins/jscripty/templates/images/plcladder1.png [copied from public/assets/plugins/mxgraph/templates/images/plcladder1.png with 100% similarity]
public/assets/plugins/jscripty/templates/images/seqdiag1.png [copied from public/assets/plugins/mxgraph/templates/images/seqdiag1.png with 100% similarity]
public/assets/plugins/jscripty/templates/images/sitemap1.png [copied from public/assets/plugins/mxgraph/templates/images/sitemap1.png with 100% similarity]
public/assets/plugins/jscripty/templates/images/socnet1.png [copied from public/assets/plugins/mxgraph/templates/images/socnet1.png with 100% similarity]
public/assets/plugins/jscripty/templates/images/stardelta.png [copied from public/assets/plugins/mxgraph/templates/images/stardelta.png with 100% similarity]
public/assets/plugins/jscripty/templates/images/statemachine1.png [copied from public/assets/plugins/mxgraph/templates/images/statemachine1.png with 100% similarity]
public/assets/plugins/jscripty/templates/images/uml1.png [copied from public/assets/plugins/mxgraph/templates/images/uml1.png with 100% similarity]
public/assets/plugins/jscripty/templates/images/usecase1.png [copied from public/assets/plugins/mxgraph/templates/images/usecase1.png with 100% similarity]
public/assets/plugins/jscripty/templates/images/venn1.png [copied from public/assets/plugins/mxgraph/templates/images/venn1.png with 100% similarity]
public/assets/plugins/jscripty/templates/images/wf1.png [copied from public/assets/plugins/mxgraph/templates/images/wf1.png with 100% similarity]
public/assets/plugins/jscripty/templates/xml/aws1.xml [copied from public/assets/plugins/mxgraph/templates/xml/aws1.xml with 100% similarity]
public/assets/plugins/jscripty/templates/xml/bpmn1.xml [copied from public/assets/plugins/mxgraph/templates/xml/bpmn1.xml with 100% similarity]
public/assets/plugins/jscripty/templates/xml/compare1.xml [copied from public/assets/plugins/mxgraph/templates/xml/compare1.xml with 100% similarity]
public/assets/plugins/jscripty/templates/xml/flowchart1.xml [copied from public/assets/plugins/mxgraph/templates/xml/flowchart1.xml with 100% similarity]
public/assets/plugins/jscripty/templates/xml/flowchart2.xml [copied from public/assets/plugins/mxgraph/templates/xml/flowchart2.xml with 100% similarity]
public/assets/plugins/jscripty/templates/xml/gantt1.xml [copied from public/assets/plugins/mxgraph/templates/xml/gantt1.xml with 100% similarity]
public/assets/plugins/jscripty/templates/xml/lean1.xml [copied from public/assets/plugins/mxgraph/templates/xml/lean1.xml with 100% similarity]
public/assets/plugins/jscripty/templates/xml/mindmap1.xml [copied from public/assets/plugins/mxgraph/templates/xml/mindmap1.xml with 100% similarity]
public/assets/plugins/jscripty/templates/xml/orgchart1.xml [copied from public/assets/plugins/mxgraph/templates/xml/orgchart1.xml with 100% similarity]
public/assets/plugins/jscripty/templates/xml/orgchart2.xml [copied from public/assets/plugins/mxgraph/templates/xml/orgchart2.xml with 100% similarity]
public/assets/plugins/jscripty/templates/xml/package1.xml [copied from public/assets/plugins/mxgraph/templates/xml/package1.xml with 100% similarity]
public/assets/plugins/jscripty/templates/xml/pid1.xml [copied from public/assets/plugins/mxgraph/templates/xml/pid1.xml with 100% similarity]
public/assets/plugins/jscripty/templates/xml/plcladder1.xml [copied from public/assets/plugins/mxgraph/templates/xml/plcladder1.xml with 100% similarity]
public/assets/plugins/jscripty/templates/xml/seqdiag1.xml [copied from public/assets/plugins/mxgraph/templates/xml/seqdiag1.xml with 100% similarity]
public/assets/plugins/jscripty/templates/xml/sitemap1.xml [copied from public/assets/plugins/mxgraph/templates/xml/sitemap1.xml with 100% similarity]
public/assets/plugins/jscripty/templates/xml/socnet1.xml [copied from public/assets/plugins/mxgraph/templates/xml/socnet1.xml with 100% similarity]
public/assets/plugins/jscripty/templates/xml/stardelta.xml [copied from public/assets/plugins/mxgraph/templates/xml/stardelta.xml with 100% similarity]
public/assets/plugins/jscripty/templates/xml/statemachine1.xml [copied from public/assets/plugins/mxgraph/templates/xml/statemachine1.xml with 100% similarity]
public/assets/plugins/jscripty/templates/xml/uml1.xml [copied from public/assets/plugins/mxgraph/templates/xml/uml1.xml with 100% similarity]
public/assets/plugins/jscripty/templates/xml/usecase1.xml [copied from public/assets/plugins/mxgraph/templates/xml/usecase1.xml with 100% similarity]
public/assets/plugins/jscripty/templates/xml/venn1.xml [copied from public/assets/plugins/mxgraph/templates/xml/venn1.xml with 100% similarity]
public/assets/plugins/jscripty/templates/xml/wf1.xml [copied from public/assets/plugins/mxgraph/templates/xml/wf1.xml with 100% similarity]
public/assets/plugins/mxgraph/images/warning.gif [new file with mode: 0644]
public/assets/plugins/mxgraph/images/warning.png [new file with mode: 0644]
public/assets/plugins/mxgraph/js/mxClient.js
public/assets/plugins/square/js/Actions.js [moved from public/assets/plugins/mxgraph/js/Actions.js with 100% similarity]
public/assets/plugins/square/js/Dialogs.js [moved from public/assets/plugins/mxgraph/js/Dialogs.js with 100% similarity]
public/assets/plugins/square/js/Editor.js [moved from public/assets/plugins/mxgraph/js/Editor.js with 100% similarity]
public/assets/plugins/square/js/EditorUi.js [moved from public/assets/plugins/mxgraph/js/EditorUi.js with 81% similarity]
public/assets/plugins/square/js/Graph.js [moved from public/assets/plugins/mxgraph/js/Graph.js with 100% similarity]
public/assets/plugins/square/js/Menus.js [moved from public/assets/plugins/mxgraph/js/Menus.js with 100% similarity]
public/assets/plugins/square/js/Shapes.js [moved from public/assets/plugins/mxgraph/js/Shapes.js with 100% similarity]
public/assets/plugins/square/js/Sidebar.js [moved from public/assets/plugins/mxgraph/js/Sidebar.js with 100% similarity]
public/assets/plugins/square/js/Toolbar.js [moved from public/assets/plugins/mxgraph/js/Toolbar.js with 100% similarity]
public/assets/plugins/square/js/custom.js [moved from public/assets/plugins/mxgraph/js/custom.js with 92% similarity]
public/assets/plugins/square/resources/dia.txt [copied from public/assets/plugins/mxgraph/resources/dia.txt with 99% similarity]
public/assets/plugins/square/resources/dia_am.txt [moved from public/assets/plugins/mxgraph/resources/dia.txt with 100% similarity]
public/assets/plugins/square/resources/dia_ar.txt [moved from public/assets/plugins/mxgraph/resources/dia_ar.txt with 100% similarity]
public/assets/plugins/square/resources/dia_bg.txt [moved from public/assets/plugins/mxgraph/resources/dia_bg.txt with 100% similarity]
public/assets/plugins/square/resources/dia_bn.txt [moved from public/assets/plugins/mxgraph/resources/dia_bn.txt with 100% similarity]
public/assets/plugins/square/resources/dia_bs.txt [moved from public/assets/plugins/mxgraph/resources/dia_bs.txt with 100% similarity]
public/assets/plugins/square/resources/dia_ca.txt [moved from public/assets/plugins/mxgraph/resources/dia_ca.txt with 100% similarity]
public/assets/plugins/square/resources/dia_cs.txt [moved from public/assets/plugins/mxgraph/resources/dia_cs.txt with 100% similarity]
public/assets/plugins/square/resources/dia_da.txt [moved from public/assets/plugins/mxgraph/resources/dia_da.txt with 100% similarity]
public/assets/plugins/square/resources/dia_de.txt [moved from public/assets/plugins/mxgraph/resources/dia_de.txt with 100% similarity]
public/assets/plugins/square/resources/dia_el.txt [moved from public/assets/plugins/mxgraph/resources/dia_el.txt with 100% similarity]
public/assets/plugins/square/resources/dia_es-AR.txt [moved from public/assets/plugins/mxgraph/resources/dia_es-AR.txt with 100% similarity]
public/assets/plugins/square/resources/dia_es.txt [moved from public/assets/plugins/mxgraph/resources/dia_es.txt with 100% similarity]
public/assets/plugins/square/resources/dia_et.txt [moved from public/assets/plugins/mxgraph/resources/dia_et.txt with 100% similarity]
public/assets/plugins/square/resources/dia_fa.txt [moved from public/assets/plugins/mxgraph/resources/dia_fa.txt with 100% similarity]
public/assets/plugins/square/resources/dia_fi.txt [moved from public/assets/plugins/mxgraph/resources/dia_fi.txt with 100% similarity]
public/assets/plugins/square/resources/dia_fil.txt [moved from public/assets/plugins/mxgraph/resources/dia_fil.txt with 100% similarity]
public/assets/plugins/square/resources/dia_fr.txt [moved from public/assets/plugins/mxgraph/resources/dia_fr.txt with 100% similarity]
public/assets/plugins/square/resources/dia_gu.txt [moved from public/assets/plugins/mxgraph/resources/dia_gu.txt with 100% similarity]
public/assets/plugins/square/resources/dia_he.txt [moved from public/assets/plugins/mxgraph/resources/dia_he.txt with 100% similarity]
public/assets/plugins/square/resources/dia_hi.txt [moved from public/assets/plugins/mxgraph/resources/dia_hi.txt with 100% similarity]
public/assets/plugins/square/resources/dia_hr.txt [moved from public/assets/plugins/mxgraph/resources/dia_hr.txt with 100% similarity]
public/assets/plugins/square/resources/dia_hu.txt [moved from public/assets/plugins/mxgraph/resources/dia_hu.txt with 100% similarity]
public/assets/plugins/square/resources/dia_id.txt [moved from public/assets/plugins/mxgraph/resources/dia_id.txt with 100% similarity]
public/assets/plugins/square/resources/dia_it.txt [moved from public/assets/plugins/mxgraph/resources/dia_it.txt with 98% similarity]
public/assets/plugins/square/resources/dia_ja.txt [moved from public/assets/plugins/mxgraph/resources/dia_ja.txt with 100% similarity]
public/assets/plugins/square/resources/dia_kn.txt [moved from public/assets/plugins/mxgraph/resources/dia_kn.txt with 100% similarity]
public/assets/plugins/square/resources/dia_ko.txt [moved from public/assets/plugins/mxgraph/resources/dia_ko.txt with 100% similarity]
public/assets/plugins/square/resources/dia_lt.txt [moved from public/assets/plugins/mxgraph/resources/dia_lt.txt with 100% similarity]
public/assets/plugins/square/resources/dia_lv.txt [moved from public/assets/plugins/mxgraph/resources/dia_lv.txt with 100% similarity]
public/assets/plugins/square/resources/dia_ml.txt [moved from public/assets/plugins/mxgraph/resources/dia_ml.txt with 100% similarity]
public/assets/plugins/square/resources/dia_mr.txt [moved from public/assets/plugins/mxgraph/resources/dia_mr.txt with 100% similarity]
public/assets/plugins/square/resources/dia_ms.txt [moved from public/assets/plugins/mxgraph/resources/dia_ms.txt with 100% similarity]
public/assets/plugins/square/resources/dia_nl.txt [moved from public/assets/plugins/mxgraph/resources/dia_nl.txt with 100% similarity]
public/assets/plugins/square/resources/dia_no.txt [moved from public/assets/plugins/mxgraph/resources/dia_no.txt with 100% similarity]
public/assets/plugins/square/resources/dia_pl.txt [moved from public/assets/plugins/mxgraph/resources/dia_pl.txt with 100% similarity]
public/assets/plugins/square/resources/dia_pt-br.txt [moved from public/assets/plugins/mxgraph/resources/dia_pt-br.txt with 100% similarity]
public/assets/plugins/square/resources/dia_pt.txt [moved from public/assets/plugins/mxgraph/resources/dia_pt.txt with 100% similarity]
public/assets/plugins/square/resources/dia_ro.txt [moved from public/assets/plugins/mxgraph/resources/dia_ro.txt with 100% similarity]
public/assets/plugins/square/resources/dia_ru.txt [moved from public/assets/plugins/mxgraph/resources/dia_ru.txt with 100% similarity]
public/assets/plugins/square/resources/dia_sk.txt [moved from public/assets/plugins/mxgraph/resources/dia_sk.txt with 100% similarity]
public/assets/plugins/square/resources/dia_sl.txt [moved from public/assets/plugins/mxgraph/resources/dia_sl.txt with 100% similarity]
public/assets/plugins/square/resources/dia_sr.txt [moved from public/assets/plugins/mxgraph/resources/dia_sr.txt with 100% similarity]
public/assets/plugins/square/resources/dia_sv.txt [moved from public/assets/plugins/mxgraph/resources/dia_sv.txt with 100% similarity]
public/assets/plugins/square/resources/dia_sw.txt [moved from public/assets/plugins/mxgraph/resources/dia_sw.txt with 100% similarity]
public/assets/plugins/square/resources/dia_ta.txt [moved from public/assets/plugins/mxgraph/resources/dia_ta.txt with 100% similarity]
public/assets/plugins/square/resources/dia_te.txt [moved from public/assets/plugins/mxgraph/resources/dia_te.txt with 100% similarity]
public/assets/plugins/square/resources/dia_th.txt [moved from public/assets/plugins/mxgraph/resources/dia_th.txt with 100% similarity]
public/assets/plugins/square/resources/dia_tr.txt [moved from public/assets/plugins/mxgraph/resources/dia_tr.txt with 100% similarity]
public/assets/plugins/square/resources/dia_uk.txt [moved from public/assets/plugins/mxgraph/resources/dia_uk.txt with 100% similarity]
public/assets/plugins/square/resources/dia_zh.txt [moved from public/assets/plugins/mxgraph/resources/dia_zh.txt with 100% similarity]
public/assets/plugins/square/resources/help_it.html [moved from public/assets/plugins/mxgraph/resources/help_it.html with 100% similarity]
public/assets/plugins/square/stencils/call_management/answer_128x128.png [moved from public/assets/plugins/mxgraph/stencils/call_management/answer_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/call_management/callback_128x128.png [moved from public/assets/plugins/mxgraph/stencils/call_management/callback_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/call_management/dial_128x128.png [moved from public/assets/plugins/mxgraph/stencils/call_management/dial_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/call_management/ext_dial_128x128.png [moved from public/assets/plugins/mxgraph/stencils/call_management/ext_dial_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/call_management/hangup_128x128.png [moved from public/assets/plugins/mxgraph/stencils/call_management/hangup_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/call_management/queue_128x128.png [moved from public/assets/plugins/mxgraph/stencils/call_management/queue_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/call_management/voicemail_128x128.png [moved from public/assets/plugins/mxgraph/stencils/call_management/voicemail_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/callflow/gotoc_128x128.png [moved from public/assets/plugins/mxgraph/stencils/callflow/gotoc_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/callflow/gotoif_128x128.png [moved from public/assets/plugins/mxgraph/stencils/callflow/gotoif_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/callflow/gotoifmultitime_128x128.png [moved from public/assets/plugins/mxgraph/stencils/callflow/gotoifmultitime_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/callflow/gotoiftime_128x128.png [moved from public/assets/plugins/mxgraph/stencils/callflow/gotoiftime_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/callflow/vswitch_128x128.png [moved from public/assets/plugins/mxgraph/stencils/callflow/vswitch_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/entry/end_128x128.png [moved from public/assets/plugins/mxgraph/stencils/entry/end_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/entry/finally_128x128.png [moved from public/assets/plugins/mxgraph/stencils/entry/finally_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/entry/start_128x128.png [moved from public/assets/plugins/mxgraph/stencils/entry/start_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/general.xml [moved from public/assets/plugins/mxgraph/stencils/general.xml with 100% similarity]
public/assets/plugins/square/stencils/general/agi_128x128.png [moved from public/assets/plugins/mxgraph/stencils/general/agi_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/general/custom_app_128x128.png [moved from public/assets/plugins/mxgraph/stencils/general/custom_app_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/general/noop_128x128.png [moved from public/assets/plugins/mxgraph/stencils/general/noop_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/general/subproject_128x128.png [moved from public/assets/plugins/mxgraph/stencils/general/subproject_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/general/system_128x128.png [moved from public/assets/plugins/mxgraph/stencils/general/system_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/integration_server/asr_128x128.png [moved from public/assets/plugins/mxgraph/stencils/integration_server/asr_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/integration_server/database_128x128.png [moved from public/assets/plugins/mxgraph/stencils/integration_server/database_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/integration_server/ispeechasr_128x128.png [moved from public/assets/plugins/mxgraph/stencils/integration_server/ispeechasr_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/playback/background_128x128.png [moved from public/assets/plugins/mxgraph/stencils/playback/background_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/playback/getdigits_128x128.png [moved from public/assets/plugins/mxgraph/stencils/playback/getdigits_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/playback/ispeechtts_128x128.png [moved from public/assets/plugins/mxgraph/stencils/playback/ispeechtts_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/playback/menu_128x128.png [moved from public/assets/plugins/mxgraph/stencils/playback/menu_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/playback/playback_128x128.png [moved from public/assets/plugins/mxgraph/stencils/playback/playback_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/playback/saydigits_128x128.png [moved from public/assets/plugins/mxgraph/stencils/playback/saydigits_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/playback/saynumber_128x128.png [moved from public/assets/plugins/mxgraph/stencils/playback/saynumber_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/playback/sayphonetic_128x128.png [moved from public/assets/plugins/mxgraph/stencils/playback/sayphonetic_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/playback/tts_128x128.png [moved from public/assets/plugins/mxgraph/stencils/playback/tts_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/recording/record_128x128.png [moved from public/assets/plugins/mxgraph/stencils/recording/record_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/stats/goal_128x128.png [moved from public/assets/plugins/mxgraph/stencils/stats/goal_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/stats/queuelog_128x128.png [moved from public/assets/plugins/mxgraph/stencils/stats/queuelog_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/variable/math_128x128.png [moved from public/assets/plugins/mxgraph/stencils/variable/math_128x128.png with 100% similarity]
public/assets/plugins/square/stencils/variable/set_128x128.png [moved from public/assets/plugins/mxgraph/stencils/variable/set_128x128.png with 100% similarity]
public/assets/plugins/square/templates/images/aws1.png [moved from public/assets/plugins/mxgraph/templates/images/aws1.png with 100% similarity]
public/assets/plugins/square/templates/images/bpmn1.png [moved from public/assets/plugins/mxgraph/templates/images/bpmn1.png with 100% similarity]
public/assets/plugins/square/templates/images/compare1.png [moved from public/assets/plugins/mxgraph/templates/images/compare1.png with 100% similarity]
public/assets/plugins/square/templates/images/flowchart1.png [moved from public/assets/plugins/mxgraph/templates/images/flowchart1.png with 100% similarity]
public/assets/plugins/square/templates/images/flowchart2.png [moved from public/assets/plugins/mxgraph/templates/images/flowchart2.png with 100% similarity]
public/assets/plugins/square/templates/images/gantt1.png [moved from public/assets/plugins/mxgraph/templates/images/gantt1.png with 100% similarity]
public/assets/plugins/square/templates/images/lean1.png [moved from public/assets/plugins/mxgraph/templates/images/lean1.png with 100% similarity]
public/assets/plugins/square/templates/images/mindmap1.png [moved from public/assets/plugins/mxgraph/templates/images/mindmap1.png with 100% similarity]
public/assets/plugins/square/templates/images/orgchart1.png [moved from public/assets/plugins/mxgraph/templates/images/orgchart1.png with 100% similarity]
public/assets/plugins/square/templates/images/orgchart2.png [moved from public/assets/plugins/mxgraph/templates/images/orgchart2.png with 100% similarity]
public/assets/plugins/square/templates/images/package1.png [moved from public/assets/plugins/mxgraph/templates/images/package1.png with 100% similarity]
public/assets/plugins/square/templates/images/pid1.png [moved from public/assets/plugins/mxgraph/templates/images/pid1.png with 100% similarity]
public/assets/plugins/square/templates/images/plcladder1.png [moved from public/assets/plugins/mxgraph/templates/images/plcladder1.png with 100% similarity]
public/assets/plugins/square/templates/images/seqdiag1.png [moved from public/assets/plugins/mxgraph/templates/images/seqdiag1.png with 100% similarity]
public/assets/plugins/square/templates/images/sitemap1.png [moved from public/assets/plugins/mxgraph/templates/images/sitemap1.png with 100% similarity]
public/assets/plugins/square/templates/images/socnet1.png [moved from public/assets/plugins/mxgraph/templates/images/socnet1.png with 100% similarity]
public/assets/plugins/square/templates/images/stardelta.png [moved from public/assets/plugins/mxgraph/templates/images/stardelta.png with 100% similarity]
public/assets/plugins/square/templates/images/statemachine1.png [moved from public/assets/plugins/mxgraph/templates/images/statemachine1.png with 100% similarity]
public/assets/plugins/square/templates/images/uml1.png [moved from public/assets/plugins/mxgraph/templates/images/uml1.png with 100% similarity]
public/assets/plugins/square/templates/images/usecase1.png [moved from public/assets/plugins/mxgraph/templates/images/usecase1.png with 100% similarity]
public/assets/plugins/square/templates/images/venn1.png [moved from public/assets/plugins/mxgraph/templates/images/venn1.png with 100% similarity]
public/assets/plugins/square/templates/images/wf1.png [moved from public/assets/plugins/mxgraph/templates/images/wf1.png with 100% similarity]
public/assets/plugins/square/templates/xml/aws1.xml [moved from public/assets/plugins/mxgraph/templates/xml/aws1.xml with 100% similarity]
public/assets/plugins/square/templates/xml/bpmn1.xml [moved from public/assets/plugins/mxgraph/templates/xml/bpmn1.xml with 100% similarity]
public/assets/plugins/square/templates/xml/compare1.xml [moved from public/assets/plugins/mxgraph/templates/xml/compare1.xml with 100% similarity]
public/assets/plugins/square/templates/xml/flowchart1.xml [moved from public/assets/plugins/mxgraph/templates/xml/flowchart1.xml with 100% similarity]
public/assets/plugins/square/templates/xml/flowchart2.xml [moved from public/assets/plugins/mxgraph/templates/xml/flowchart2.xml with 100% similarity]
public/assets/plugins/square/templates/xml/gantt1.xml [moved from public/assets/plugins/mxgraph/templates/xml/gantt1.xml with 100% similarity]
public/assets/plugins/square/templates/xml/lean1.xml [moved from public/assets/plugins/mxgraph/templates/xml/lean1.xml with 100% similarity]
public/assets/plugins/square/templates/xml/mindmap1.xml [moved from public/assets/plugins/mxgraph/templates/xml/mindmap1.xml with 100% similarity]
public/assets/plugins/square/templates/xml/orgchart1.xml [moved from public/assets/plugins/mxgraph/templates/xml/orgchart1.xml with 100% similarity]
public/assets/plugins/square/templates/xml/orgchart2.xml [moved from public/assets/plugins/mxgraph/templates/xml/orgchart2.xml with 100% similarity]
public/assets/plugins/square/templates/xml/package1.xml [moved from public/assets/plugins/mxgraph/templates/xml/package1.xml with 100% similarity]
public/assets/plugins/square/templates/xml/pid1.xml [moved from public/assets/plugins/mxgraph/templates/xml/pid1.xml with 100% similarity]
public/assets/plugins/square/templates/xml/plcladder1.xml [moved from public/assets/plugins/mxgraph/templates/xml/plcladder1.xml with 100% similarity]
public/assets/plugins/square/templates/xml/seqdiag1.xml [moved from public/assets/plugins/mxgraph/templates/xml/seqdiag1.xml with 100% similarity]
public/assets/plugins/square/templates/xml/sitemap1.xml [moved from public/assets/plugins/mxgraph/templates/xml/sitemap1.xml with 100% similarity]
public/assets/plugins/square/templates/xml/socnet1.xml [moved from public/assets/plugins/mxgraph/templates/xml/socnet1.xml with 100% similarity]
public/assets/plugins/square/templates/xml/stardelta.xml [moved from public/assets/plugins/mxgraph/templates/xml/stardelta.xml with 100% similarity]
public/assets/plugins/square/templates/xml/statemachine1.xml [moved from public/assets/plugins/mxgraph/templates/xml/statemachine1.xml with 100% similarity]
public/assets/plugins/square/templates/xml/uml1.xml [moved from public/assets/plugins/mxgraph/templates/xml/uml1.xml with 100% similarity]
public/assets/plugins/square/templates/xml/usecase1.xml [moved from public/assets/plugins/mxgraph/templates/xml/usecase1.xml with 100% similarity]
public/assets/plugins/square/templates/xml/venn1.xml [moved from public/assets/plugins/mxgraph/templates/xml/venn1.xml with 100% similarity]
public/assets/plugins/square/templates/xml/wf1.xml [moved from public/assets/plugins/mxgraph/templates/xml/wf1.xml with 100% similarity]
public/bower_components/angular-bootstrap/ui-bootstrap-tpls.js
public/bower_components/angular-dashboard-framework/angular-dashboard-framework.css
public/bower_components/angular-dashboard-framework/angular-dashboard-framework.js
public/bower_components/pdfmake/pdfmake.js [new file with mode: 0644]
public/bower_components/pdfmake/vfs_fonts.js [new file with mode: 0644]
public/index.html
release-notes/changelog_0.0.29.txt [moved from release-notes/changelog_0.0.28.txt with 81% similarity]
server/api/agent/agent.controller.js
server/api/agent/agent.socket.js
server/api/agent/agent.spec.js
server/api/agent/index.js
server/api/ami/ami.ami.js
server/api/ami/ami.controller.js
server/api/ami/ami.socket.js
server/api/ami/ami.spec.js
server/api/ami/index.js
server/api/automation/automation.controller.js
server/api/automation/automation.socket.js
server/api/automation/automation.spec.js
server/api/automation/index.js
server/api/business_action/business_action.controller.js
server/api/business_action/business_action.socket.js
server/api/business_action/business_action.spec.js
server/api/business_action/index.js
server/api/business_condition/business_condition.controller.js
server/api/business_condition/business_condition.socket.js
server/api/business_condition/business_condition.spec.js
server/api/business_condition/index.js
server/api/chat_application/chat_application.controller.js
server/api/chat_application/chat_application.socket.js
server/api/chat_application/chat_application.spec.js
server/api/chat_application/index.js
server/api/chat_enquiry/enquiry.controller.js
server/api/chat_enquiry/enquiry.socket.js
server/api/chat_enquiry/index.js
server/api/chat_message/chat_message.controller.js
server/api/chat_message/chat_message.socket.js
server/api/chat_message/chat_message.spec.js
server/api/chat_message/index.js
server/api/chat_queue/chat_queue.controller.js
server/api/chat_queue/chat_queue.socket.js
server/api/chat_queue/chat_queue.spec.js
server/api/chat_queue/index.js
server/api/chat_room/chat_room.controller.js
server/api/chat_room/chat_room.socket.js
server/api/chat_room/chat_room.spec.js
server/api/chat_room/index.js
server/api/chat_visitor/chat_visitor.controller.js
server/api/chat_visitor/chat_visitor.socket.js
server/api/chat_visitor/chat_visitor.spec.js
server/api/chat_visitor/index.js
server/api/chat_website/chat_website.controller.js
server/api/chat_website/chat_website.socket.js
server/api/chat_website/chat_website.spec.js
server/api/chat_website/index.js
server/api/company/company.controller.js
server/api/company/company.socket.js
server/api/company/company.spec.js
server/api/company/index.js
server/api/contact/contact.controller.js
server/api/contact/contact.model.js
server/api/contact/contact.socket.js
server/api/contact/contact.spec.js
server/api/contact/index.js
server/api/contact_manager/contact_manager.controller.js
server/api/contact_manager/contact_manager.socket.js
server/api/contact_manager/contact_manager.spec.js
server/api/contact_manager/index.js
server/api/custom_field/custom_field.controller.js
server/api/custom_field/custom_field.socket.js
server/api/custom_field/custom_field.spec.js
server/api/custom_field/index.js
server/api/custom_report/custom_report.controller.js
server/api/custom_report/custom_report.socket.js
server/api/custom_report/custom_report.spec.js
server/api/custom_report/index.js
server/api/dashboard/dashboard.controller.js
server/api/dashboard/dashboard.socket.js
server/api/dashboard/dashboard.spec.js
server/api/dashboard/index.js
server/api/default_report/default_report.controller.js
server/api/default_report/default_report.socket.js
server/api/default_report/default_report.spec.js
server/api/default_report/index.js
server/api/desk_account/desk_account.controller.js
server/api/desk_account/desk_account.socket.js
server/api/desk_account/desk_account.spec.js
server/api/desk_account/index.js
server/api/desk_configuration/desk_configuration.controller.js
server/api/desk_configuration/desk_configuration.socket.js
server/api/desk_configuration/index.js
server/api/desk_configuration/index.spec.js
server/api/desk_field/desk_field.controller.js
server/api/desk_field/desk_field.socket.js
server/api/desk_field/index.js
server/api/desk_field/index.spec.js
server/api/event/event.controller.js
server/api/event/event.socket.js
server/api/event/event.spec.js
server/api/event/index.js
server/api/fax_account/fax_account.controller.js
server/api/fax_account/fax_account.socket.js
server/api/fax_account/fax_account.spec.js
server/api/fax_account/index.js
server/api/fax_application/fax_application.controller.js
server/api/fax_application/fax_application.socket.js
server/api/fax_application/fax_application.spec.js
server/api/fax_application/index.js
server/api/fax_business_automation/fax_business_automation.controller.js
server/api/fax_business_automation/fax_business_automation.socket.js
server/api/fax_business_automation/fax_business_automation.spec.js
server/api/fax_business_automation/index.js
server/api/fax_message/fax_message.ami.js
server/api/fax_message/fax_message.controller.js
server/api/fax_message/fax_message.socket.js
server/api/fax_message/fax_message.spec.js
server/api/fax_message/index.js
server/api/fax_queue/fax_queue.controller.js
server/api/fax_queue/fax_queue.socket.js
server/api/fax_queue/fax_queue.spec.js
server/api/fax_queue/index.js
server/api/fax_room/fax_room.controller.js
server/api/fax_room/fax_room.kue.js
server/api/fax_room/fax_room.socket.js
server/api/fax_room/fax_room.spec.js
server/api/fax_room/index.js
server/api/freshdesk_account/freshdesk_account.controller.js
server/api/freshdesk_account/freshdesk_account.socket.js
server/api/freshdesk_account/index.js
server/api/freshdesk_account/index.spec.js
server/api/freshdesk_configuration/freshdesk_configuration.controller.js
server/api/freshdesk_configuration/freshdesk_configuration.socket.js
server/api/freshdesk_configuration/index.js
server/api/freshdesk_configuration/index.spec.js
server/api/freshdesk_field/freshdesk_field.controller.js
server/api/freshdesk_field/freshdesk_field.socket.js
server/api/freshdesk_field/index.js
server/api/freshdesk_field/index.spec.js
server/api/integration/index.js
server/api/integration/integration.controller.js
server/api/integration/integration.socket.js
server/api/integration/integration.spec.js
server/api/interval/index.js
server/api/interval/interval.controller.js
server/api/interval/interval.socket.js
server/api/interval/interval.spec.js
server/api/license/index.js
server/api/license/license.controller.js
server/api/license/license.socket.js
server/api/mail_account/index.js
server/api/mail_account/mail_account.controller.js
server/api/mail_account/mail_account.socket.js
server/api/mail_account/mail_account.spec.js
server/api/mail_application/index.js
server/api/mail_application/mail_application.controller.js
server/api/mail_application/mail_application.socket.js
server/api/mail_application/mail_application.spec.js
server/api/mail_attachment/index.js
server/api/mail_attachment/mail_attachment.controller.js
server/api/mail_attachment/mail_attachment.socket.js
server/api/mail_attachment/mail_attachment.spec.js [deleted file]
server/api/mail_business_automation/index.js
server/api/mail_business_automation/mail_business_automation.controller.js
server/api/mail_business_automation/mail_business_automation.socket.js
server/api/mail_business_automation/mail_business_automation.spec.js
server/api/mail_message/index.js
server/api/mail_message/mail_message.controller.js
server/api/mail_message/mail_message.socket.js
server/api/mail_queue/index.js
server/api/mail_queue/mail_queue.controller.js
server/api/mail_queue/mail_queue.socket.js
server/api/mail_queue/mail_queue.spec.js
server/api/mail_room/index.js
server/api/mail_room/mail_room.controller.js
server/api/mail_room/mail_room.socket.js
server/api/mail_server_in/index.js
server/api/mail_server_in/mail_server_in.controller.js
server/api/mail_server_in/mail_server_in.socket.js
server/api/mail_server_out/index.js
server/api/mail_server_out/mail_server_out.controller.js
server/api/mail_server_out/mail_server_out.socket.js
server/api/mail_template/index.js
server/api/mail_template/mail_template.controller.js
server/api/mail_template/mail_template.socket.js
server/api/metric/index.js
server/api/metric/metric.controller.js
server/api/metric/metric.socket.js
server/api/metric/metric.spec.js
server/api/module/index.js
server/api/module/module.controller.js
server/api/module/module.socket.js
server/api/module/module.spec.js
server/api/module/setting/index.js
server/api/module/setting/setting.controller.js
server/api/module/setting/setting.socket.js
server/api/module/setting/setting.spec.js
server/api/motionbar/index.js
server/api/motionbar/motionbar.controller.js
server/api/motionbar/motionbar.socket.js
server/api/motionbar/motionbar.spec.js
server/api/report_agent/index.js
server/api/report_agent/report_agent.controller.js
server/api/report_agent/report_agent.socket.js
server/api/report_chat/index.js
server/api/report_chat/report_chat.controller.js
server/api/report_chat/report_chat.socket.js
server/api/report_chat/report_chat.spec.js
server/api/report_chat_session/index.js
server/api/report_chat_session/report_chat_session.controller.js
server/api/report_chat_session/report_chat_session.socket.js
server/api/report_chat_session/report_chat_session.spec.js
server/api/report_integration/index.js
server/api/report_integration/report_integration.controller.js
server/api/report_integration/report_integration.socket.js
server/api/report_mail/index.js
server/api/report_mail/report_mail.controller.js
server/api/report_mail/report_mail.socket.js
server/api/report_mail/report_mail.spec.js
server/api/report_mail_session/index.js
server/api/report_mail_session/report_mail_session.controller.js
server/api/report_mail_session/report_mail_session.socket.js
server/api/report_mail_session/report_mail_session.spec.js
server/api/report_queue/index.js
server/api/report_queue/report_queue.controller.js
server/api/report_queue/report_queue.socket.js
server/api/report_tree/index.js
server/api/report_tree/report_tree.controller.js
server/api/report_tree/report_tree.socket.js
server/api/report_tree/report_tree.spec.js
server/api/salesforce_account/index.js
server/api/salesforce_account/index.spec.js
server/api/salesforce_account/salesforce_account.controller.js
server/api/salesforce_account/salesforce_account.socket.js
server/api/salesforce_configuration/index.js
server/api/salesforce_configuration/index.spec.js
server/api/salesforce_configuration/salesforce_configuration.controller.js
server/api/salesforce_configuration/salesforce_configuration.socket.js
server/api/salesforce_field/index.js
server/api/salesforce_field/index.spec.js
server/api/salesforce_field/salesforce_field.controller.js
server/api/salesforce_field/salesforce_field.socket.js
server/api/setting/index.js
server/api/setting/setting.controller.js
server/api/setting/setting.socket.js
server/api/setting/setting.spec.js
server/api/square_odbc/index.js
server/api/square_odbc/square_odbc.controller.js
server/api/square_odbc/square_odbc.socket.js
server/api/square_odbc/square_odbc.spec.js
server/api/square_project/index.js
server/api/square_project/square_project.controller.js
server/api/square_project/square_project.socket.js
server/api/square_project/square_project.spec.js
server/api/sugarcrm_account/index.js
server/api/sugarcrm_account/index.spec.js
server/api/sugarcrm_account/sugarcrm_account.controller.js
server/api/sugarcrm_account/sugarcrm_account.socket.js
server/api/sugarcrm_configuration/index.js
server/api/sugarcrm_configuration/index.spec.js
server/api/sugarcrm_configuration/sugarcrm_configuration.controller.js
server/api/sugarcrm_configuration/sugarcrm_configuration.socket.js
server/api/sugarcrm_field/index.js
server/api/sugarcrm_field/index.spec.js
server/api/sugarcrm_field/sugarcrm_field.controller.js
server/api/sugarcrm_field/sugarcrm_field.socket.js
server/api/tag/index.js
server/api/tag/tag.controller.js
server/api/tag/tag.socket.js
server/api/tag/tag.spec.js
server/api/team/index.js
server/api/team/team.controller.js
server/api/team/team.socket.js
server/api/team/team.spec.js
server/api/thing/index.js
server/api/thing/thing.controller.js
server/api/thing/thing.socket.js
server/api/thing/thing.spec.js
server/api/trigger/index.js
server/api/trigger/trigger.controller.js
server/api/trigger/trigger.socket.js
server/api/trigger/trigger.spec.js
server/api/trunk/index.js
server/api/trunk/trunk.ami.js
server/api/trunk/trunk.controller.js
server/api/trunk/trunk.socket.js
server/api/trunk/trunk.spec.js
server/api/update/index.js
server/api/update/update.controller.js
server/api/update/update.js
server/api/update/update.socket.js
server/api/update/update.spec.js
server/api/upload/index.js
server/api/upload/upload.controller.js
server/api/upload/upload.socket.js
server/api/upload/upload.spec.js
server/api/user/index.js
server/api/user/user.ami.js
server/api/user/user.controller.js
server/api/user/user.socket.js
server/api/user_has_chat_queue/index.js
server/api/user_has_chat_queue/user_has_chat_queue.controller.js
server/api/user_has_chat_queue/user_has_chat_queue.socket.js
server/api/user_has_chat_queue/user_has_chat_queue.spec.js
server/api/user_has_chat_room/index.js
server/api/user_has_chat_room/user_has_chat_room.controller.js
server/api/user_has_chat_room/user_has_chat_room.socket.js
server/api/user_has_chat_room/user_has_chat_room.spec.js
server/api/user_has_fax_queue/index.js
server/api/user_has_fax_queue/user_has_fax_queue.controller.js
server/api/user_has_fax_queue/user_has_fax_queue.socket.js
server/api/user_has_fax_queue/user_has_fax_queue.spec.js
server/api/user_has_mail_queue/index.js
server/api/user_has_mail_queue/user_has_mail_queue.controller.js
server/api/user_has_mail_queue/user_has_mail_queue.socket.js
server/api/user_has_mail_queue/user_has_mail_queue.spec.js
server/api/user_has_team/index.js
server/api/user_has_team/user_has_team.controller.js
server/api/user_has_team/user_has_team.model.js
server/api/user_has_team/user_has_team.socket.js
server/api/user_has_team/user_has_team.spec.js
server/api/user_has_voice_queue/index.js
server/api/user_has_voice_queue/user_has_voice_queue.controller.js
server/api/user_has_voice_queue/user_has_voice_queue.socket.js
server/api/user_has_voice_queue/user_has_voice_queue.spec.js
server/api/variable/index.js
server/api/variable/variable.controller.js
server/api/variable/variable.socket.js
server/api/variable/variable.spec.js
server/api/voice_context/index.js
server/api/voice_context/voice_context.ami.js
server/api/voice_context/voice_context.controller.js
server/api/voice_context/voice_context.socket.js
server/api/voice_context/voice_context.spec.js
server/api/voice_extension/index.js
server/api/voice_extension/voice_extension.controller.js
server/api/voice_extension/voice_extension.socket.js
server/api/voice_extension/voice_extension.spec.js
server/api/voice_musiconhold/index.js
server/api/voice_musiconhold/voice_musiconhold.controller.js
server/api/voice_musiconhold/voice_musiconhold.socket.js
server/api/voice_musiconhold/voice_musiconhold.spec.js
server/api/voice_queue/index.js
server/api/voice_queue/voice_queue.controller.js
server/api/voice_queue/voice_queue.socket.js
server/api/voice_queue/voice_queue.spec.js
server/api/voice_voicemail/index.js
server/api/voice_voicemail/voice_voicemail.controller.js
server/api/voice_voicemail/voice_voicemail.socket.js
server/api/voice_voicemail/voice_voicemail.spec.js
server/api/widget/index.js
server/api/widget/widget.controller.js
server/api/widget/widget.spec.js
server/api/xchatty/index.js
server/api/xchatty/xchatty.controller.js
server/api/xchatty/xchatty.socket.js
server/api/zendesk_account/index.js
server/api/zendesk_account/zendesk_account.controller.js
server/api/zendesk_account/zendesk_account.socket.js
server/api/zendesk_account/zendesk_account.spec.js
server/api/zendesk_configuration/index.js
server/api/zendesk_configuration/zendesk_configuration.controller.js
server/api/zendesk_configuration/zendesk_configuration.socket.js
server/api/zendesk_configuration/zendesk_configuration.spec.js
server/api/zendesk_field/index.js
server/api/zendesk_field/zendesk_field.controller.js
server/api/zendesk_field/zendesk_field.socket.js
server/api/zendesk_field/zendesk_field.spec.js
server/app.js
server/auth/auth.service.js
server/auth/facebook/index.js
server/auth/facebook/passport.js
server/auth/google/index.js
server/auth/google/passport.js
server/auth/index.js
server/auth/local/index.js
server/auth/local/local.ami.js
server/auth/local/passport.js
server/auth/twitter/index.js
server/auth/twitter/passport.js
server/config/agi.js
server/config/ami/acw.js
server/config/ami/agent.js
server/config/ami/call.js
server/config/ami/dial.js
server/config/ami/index.js
server/config/ami/member.js
server/config/ami/queue_caller.js
server/config/ami/queue_member.js
server/config/analytics.js
server/config/autodialer/index.js
server/config/autodialer/process.js
server/config/automations/fax.js
server/config/automations/mail.js
server/config/environment/development.js
server/config/environment/index.js
server/config/environment/production.js
server/config/environment/test.js
server/config/express.js
server/config/fax.js
server/config/history.js
server/config/imap/imap.js
server/config/imap/index.js
server/config/integration.js
server/config/kue.chat.js
server/config/kue.fax.js
server/config/kue.mail.js
server/config/license/index.js
server/config/license/license.service.js
server/config/local.env.sample.js
server/config/logger.js
server/config/seed.js
server/config/seedp.js
server/config/smtp/index.js
server/config/smtp/smtp.js
server/config/socketio.js
server/config/triggers/chat.js
server/config/triggers/cm.js
server/config/triggers/index.js
server/config/triggers/mail.js
server/config/triggers/util.js
server/config/triggers/voice.js
server/files/integrations/zendesk/app.js
server/migrations/20151202190300-test.js
server/models/asterisk_manager.js
server/models/asterisk_manager_interface.js
server/models/autodialer_contact.js
server/models/autodialer_process.js
server/models/automation.js
server/models/business_action.js
server/models/business_condition.js
server/models/channel.js
server/models/chat_application.js
server/models/chat_enquiry.js
server/models/chat_message.js
server/models/chat_queue.js
server/models/chat_room.js
server/models/chat_visitor.js
server/models/chat_website.js
server/models/company.js
server/models/contact.js
server/models/contact_email.js
server/models/contact_has_custom_field.js
server/models/contact_phone.js
server/models/custom_field.js
server/models/custom_report.js
server/models/dashboard.js
server/models/default_report.js
server/models/desk_account.js
server/models/desk_configuration.js
server/models/desk_field.js
server/models/event.js
server/models/fax_account.js
server/models/fax_application.js
server/models/fax_business_automation.js
server/models/fax_message.js
server/models/fax_queue.js
server/models/fax_room.js
server/models/freshdesk_account.js
server/models/freshdesk_configuration.js
server/models/freshdesk_field.js
server/models/history/report_agent_history.js
server/models/history/report_call_history.js
server/models/history/report_dial_history.js
server/models/history/report_integration_history.js
server/models/history/report_mail_session_history.js
server/models/history/report_member_history.js
server/models/history/report_queue_history.js
server/models/index.js
server/models/integration.js
server/models/interval.js
server/models/mail_account.js
server/models/mail_application.js
server/models/mail_attachment.js
server/models/mail_automation.js
server/models/mail_business_automation.js
server/models/mail_message.js
server/models/mail_queue.js
server/models/mail_room.js
server/models/mail_room_status.js
server/models/mail_server_in.js
server/models/mail_server_out.js
server/models/mail_template.js
server/models/mail_trigger.js
server/models/metric.js
server/models/module.js
server/models/motionbar.js
server/models/report_agent.js
server/models/report_call.js
server/models/report_chat.js
server/models/report_chat_session.js
server/models/report_dial.js
server/models/report_field.js
server/models/report_integration.js
server/models/report_mail.js
server/models/report_mail_session.js
server/models/report_member.js
server/models/report_queue.js
server/models/report_square.js
server/models/report_square_detail.js
server/models/report_tree.js
server/models/salesforce_account.js
server/models/salesforce_configuration.js
server/models/salesforce_field.js
server/models/settings.js
server/models/square_odbc.js
server/models/square_project.js
server/models/sugarcrm_account.js
server/models/sugarcrm_configuration.js
server/models/sugarcrm_field.js
server/models/tag.js
server/models/team.js
server/models/telephone.js
server/models/trigger.js
server/models/trunk.js
server/models/update.js
server/models/upload.js
server/models/user.js
server/models/user_has_chat_queue.js
server/models/user_has_chat_room.js
server/models/user_has_fax_queue.js
server/models/user_has_mail_queue.js
server/models/user_has_team.js
server/models/user_has_voice_queue.js
server/models/variable.js
server/models/voice_context.js
server/models/voice_extension.js
server/models/voice_musiconhold.js
server/models/voice_queue.js
server/models/voice_voicemail.js
server/models/voice_voicemail_messages.js
server/models/zendesk_account.js
server/models/zendesk_configuration.js
server/models/zendesk_field.js
server/routes.js

index 0c796f7..82be1c1 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "motion",
-  "version": "0.0.29",
+  "version": "0.0.30",
   "main": "server/app.js",
   "dependencies": {
     "accept-language-parser": "^1.0.2",
@@ -82,6 +82,7 @@
     "grunt-angular-templates": "^0.5.7",
     "grunt-asset-injector": "^0.1.0",
     "grunt-autoprefixer": "3.0.0",
+    "grunt-bower-task": "^0.4.0",
     "grunt-build-control": "DaftMonk/grunt-build-control",
     "grunt-changelog": "^0.3.1",
     "grunt-concurrent": "~2.0.0",
diff --git a/public/app/4942fdcb.vendor.js b/public/app/4942fdcb.vendor.js
new file mode 100644 (file)
index 0000000..5fc8ea5
--- /dev/null
@@ -0,0 +1,114 @@
+function $notificationProvider(){function a(a,c,d){function e(c,d){function f(){d=angular.extend({focusWindowOnClick:!0},b.options||{},d);try{g.baseNotification=new a.Notification(c,d)}catch(e){return}d.delay&&setTimeout(angular.bind(g,g.close),d.delay),d.focusWindowOnClick&&g.$on("click",function(){a.focus()}),g._events.forEach(function(a){g.$on.apply(g,a)}),g._events=[]}if(!a.Notification)return!1;d=d||{};var g=this;return this._events=[],"granted"===a.Notification.permission?f():void("denied"!==a.Notification.permission&&e.requestPermission().then(f))}function f(a,b){return new e(a,b)}return e.prototype.$on=function(a,b){function d(){var a=arguments;c.$apply(function(){b.apply(e,a)})}var e=this;return this.baseNotification?(this.baseNotification.addEventListener(a,d),function(){this.baseNotification.removeListener(event,d)}):this._events.push([a,b])},e.prototype.close=function(){this.baseNotification&&this.baseNotification.close()},e.requestPermission=function(){return d(function(b,c){return a.Notification?void a.Notification.requestPermission(function(c){a.Notification.permission=a.Notification.permission||c,b(a.Notification.permission)}):c()})},f.requestPermission=e.requestPermission,f}var b=this;this.$get=["$window","$rootScope","$q",a],this.setOptions=function(a){this.options=a}}function wizardButtonDirective(a){angular.module("mgo-angular-wizard").directive(a,function(){return{restrict:"A",replace:!1,require:"^wizard",link:function(b,c,d,e){c.on("click",function(c){c.preventDefault(),b.$apply(function(){b.$eval(d[a]),e[a.replace("wz","").toLowerCase()]()})})}}})}function validElementString(a){try{return 0!==angular.element(a).length}catch(b){return!1}}function registerTextAngularTool(a,b){if(!a||""===a||taTools.hasOwnProperty(a))throw"textAngular Error: A unique name is required for a Tool Definition";if(b.display&&(""===b.display||!validElementString(b.display))||!b.display&&!b.buttontext&&!b.iconclass)throw'textAngular Error: Tool Definition for "'+a+'" does not have a valid display/iconclass/buttontext value';taTools[a]=b}if(function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b="length"in a&&a.length,c=_.type(a);return"function"===c||_.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}function d(a,b,c){if(_.isFunction(b))return _.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return _.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(ha.test(b))return _.filter(b,a,c);b=_.filter(b,a)}return _.grep(a,function(a){return U.call(b,a)>=0!==c})}function e(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function f(a){var b=oa[a]={};return _.each(a.match(na)||[],function(a,c){b[c]=!0}),b}function g(){Z.removeEventListener("DOMContentLoaded",g,!1),a.removeEventListener("load",g,!1),_.ready()}function h(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=_.expando+h.uid++}function i(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(ua,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:ta.test(c)?_.parseJSON(c):c}catch(e){}sa.set(a,b,c)}else c=void 0;return c}function j(){return!0}function k(){return!1}function l(){try{return Z.activeElement}catch(a){}}function m(a,b){return _.nodeName(a,"table")&&_.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function n(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function o(a){var b=Ka.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function p(a,b){for(var c=0,d=a.length;d>c;c++)ra.set(a[c],"globalEval",!b||ra.get(b[c],"globalEval"))}function q(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(ra.hasData(a)&&(f=ra.access(a),g=ra.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)_.event.add(b,e,j[e][c])}sa.hasData(a)&&(h=sa.access(a),i=_.extend({},h),sa.set(b,i))}}function r(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&_.nodeName(a,b)?_.merge([a],c):c}function s(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ya.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}function t(b,c){var d,e=_(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:_.css(e[0],"display");return e.detach(),f}function u(a){var b=Z,c=Oa[a];return c||(c=t(a,b),"none"!==c&&c||(Na=(Na||_("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=Na[0].contentDocument,b.write(),b.close(),c=t(a,b),Na.detach()),Oa[a]=c),c}function v(a,b,c){var d,e,f,g,h=a.style;return c=c||Ra(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||_.contains(a.ownerDocument,a)||(g=_.style(a,b)),Qa.test(g)&&Pa.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function w(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}function x(a,b){if(b in a)return b;for(var c=b[0].toUpperCase()+b.slice(1),d=b,e=Xa.length;e--;)if(b=Xa[e]+c,b in a)return b;return d}function y(a,b,c){var d=Ta.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function z(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=_.css(a,c+wa[f],!0,e)),d?("content"===c&&(g-=_.css(a,"padding"+wa[f],!0,e)),"margin"!==c&&(g-=_.css(a,"border"+wa[f]+"Width",!0,e))):(g+=_.css(a,"padding"+wa[f],!0,e),"padding"!==c&&(g+=_.css(a,"border"+wa[f]+"Width",!0,e)));return g}function A(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ra(a),g="border-box"===_.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=v(a,b,f),(0>e||null==e)&&(e=a.style[b]),Qa.test(e))return e;d=g&&(Y.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+z(a,b,c||(g?"border":"content"),d,f)+"px"}function B(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=ra.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&xa(d)&&(f[g]=ra.access(d,"olddisplay",u(d.nodeName)))):(e=xa(d),"none"===c&&e||ra.set(d,"olddisplay",e?c:_.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function C(a,b,c,d,e){return new C.prototype.init(a,b,c,d,e)}function D(){return setTimeout(function(){Ya=void 0}),Ya=_.now()}function E(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=wa[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function F(a,b,c){for(var d,e=(cb[b]||[]).concat(cb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function G(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},n=a.style,o=a.nodeType&&xa(a),p=ra.get(a,"fxshow");c.queue||(h=_._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,_.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[n.overflow,n.overflowX,n.overflowY],j=_.css(a,"display"),k="none"===j?ra.get(a,"olddisplay")||u(a.nodeName):j,"inline"===k&&"none"===_.css(a,"float")&&(n.display="inline-block")),c.overflow&&(n.overflow="hidden",l.always(function(){n.overflow=c.overflow[0],n.overflowX=c.overflow[1],n.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],$a.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(o?"hide":"show")){if("show"!==e||!p||void 0===p[d])continue;o=!0}m[d]=p&&p[d]||_.style(a,d)}else j=void 0;if(_.isEmptyObject(m))"inline"===("none"===j?u(a.nodeName):j)&&(n.display=j);else{p?"hidden"in p&&(o=p.hidden):p=ra.access(a,"fxshow",{}),f&&(p.hidden=!o),o?_(a).show():l.done(function(){_(a).hide()}),l.done(function(){var b;ra.remove(a,"fxshow");for(b in m)_.style(a,b,m[b])});for(d in m)g=F(o?p[d]:0,d,l),d in p||(p[d]=g.start,o&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function H(a,b){var c,d,e,f,g;for(c in a)if(d=_.camelCase(c),e=b[d],f=a[c],_.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=_.cssHooks[d],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 I(a,b,c){var d,e,f=0,g=bb.length,h=_.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Ya||D(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:_.extend({},b),opts:_.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:Ya||D(),duration:c.duration,tweens:[],createTween:function(b,c){var d=_.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(H(k,j.opts.specialEasing);g>f;f++)if(d=bb[f].call(j,a,k,j.opts))return d;return _.map(k,F,j),_.isFunction(j.opts.start)&&j.opts.start.call(a,j),_.fx.timer(_.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}function J(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(na)||[];if(_.isFunction(c))for(;d=f[e++];)"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function K(a,b,c,d){function e(h){var i;return f[h]=!0,_.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||g||f[j]?g?!(i=j):void 0:(b.dataTypes.unshift(j),e(j),!1)}),i}var f={},g=a===tb;return e(b.dataTypes[0])||!f["*"]&&e("*")}function L(a,b){var c,d,e=_.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&_.extend(!0,a,d),a}function M(a,b,c){for(var d,e,f,g,h=a.contents,i=a.dataTypes;"*"===i[0];)i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function N(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];for(f=k.shift();f;)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}function O(a,b,c,d){var e;if(_.isArray(b))_.each(b,function(b,e){c||yb.test(a)?d(a,e):O(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==_.type(b))d(a,b);else for(e in b)O(a+"["+e+"]",b[e],c,d)}function P(a){return _.isWindow(a)?a:9===a.nodeType&&a.defaultView}var Q=[],R=Q.slice,S=Q.concat,T=Q.push,U=Q.indexOf,V={},W=V.toString,X=V.hasOwnProperty,Y={},Z=a.document,$="2.1.4",_=function(a,b){return new _.fn.init(a,b)},aa=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,ba=/^-ms-/,ca=/-([\da-z])/gi,da=function(a,b){return b.toUpperCase()};_.fn=_.prototype={jquery:$,constructor:_,selector:"",length:0,toArray:function(){return R.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:R.call(this)},pushStack:function(a){var b=_.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return _.each(this,a,b)},map:function(a){return this.pushStack(_.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(R.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:T,sort:Q.sort,splice:Q.splice},_.extend=_.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||_.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(_.isPlainObject(d)||(e=_.isArray(d)))?(e?(e=!1,f=c&&_.isArray(c)?c:[]):f=c&&_.isPlainObject(c)?c:{},g[b]=_.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},_.extend({expando:"jQuery"+($+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===_.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!_.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==_.type(a)||a.nodeType||_.isWindow(a)?!1:a.constructor&&!X.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?V[W.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=_.trim(a),a&&(1===a.indexOf("use strict")?(b=Z.createElement("script"),b.text=a,Z.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(ba,"ms-").replace(ca,da)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,d){var e,f=0,g=a.length,h=c(a);if(d){if(h)for(;g>f&&(e=b.apply(a[f],d),e!==!1);f++);else for(f in a)if(e=b.apply(a[f],d),e===!1)break}else if(h)for(;g>f&&(e=b.call(a[f],f,a[f]),e!==!1);f++);else for(f in a)if(e=b.call(a[f],f,a[f]),e===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(aa,"")},makeArray:function(a,b){var d=b||[];return null!=a&&(c(Object(a))?_.merge(d,"string"==typeof a?[a]:a):T.call(d,a)),d},inArray:function(a,b,c){return null==b?-1:U.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,d){var e,f=0,g=a.length,h=c(a),i=[];if(h)for(;g>f;f++)e=b(a[f],f,d),null!=e&&i.push(e);else for(f in a)e=b(a[f],f,d),null!=e&&i.push(e);return S.apply([],i)},guid:1,proxy:function(a,b){var c,d,e;return"string"==typeof b&&(c=a[b],b=a,a=c),_.isFunction(a)?(d=R.call(arguments,2),e=function(){return a.apply(b||this,d.concat(R.call(arguments)))},e.guid=a.guid=a.guid||_.guid++,e):void 0},now:Date.now,support:Y}),_.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){V["[object "+b+"]"]=b.toLowerCase()});var ea=function(a){function b(a,b,c,d){var e,f,g,h,i,j,l,n,o,p;if((b?b.ownerDocument||b:O)!==G&&F(b),b=b||G,c=c||[],h=b.nodeType,"string"!=typeof a||!a||1!==h&&9!==h&&11!==h)return c;if(!d&&I){if(11!==h&&(e=sa.exec(a)))if(g=e[1]){if(9===h){if(f=b.getElementById(g),!f||!f.parentNode)return c;if(f.id===g)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(g))&&M(b,f)&&f.id===g)return c.push(f),c}else{if(e[2])return $.apply(c,b.getElementsByTagName(a)),c;if((g=e[3])&&v.getElementsByClassName)return $.apply(c,b.getElementsByClassName(g)),c}if(v.qsa&&(!J||!J.test(a))){if(n=l=N,o=b,p=1!==h&&a,1===h&&"object"!==b.nodeName.toLowerCase()){for(j=z(a),(l=b.getAttribute("id"))?n=l.replace(ua,"\\$&"):b.setAttribute("id",n),n="[id='"+n+"'] ",i=j.length;i--;)j[i]=n+m(j[i]);o=ta.test(a)&&k(b.parentNode)||b,p=j.join(",")}if(p)try{return $.apply(c,o.querySelectorAll(p)),c}catch(q){}finally{l||b.removeAttribute("id")}}}return B(a.replace(ia,"$1"),b,c,d)}function c(){function a(c,d){return b.push(c+" ")>w.cacheLength&&delete a[b.shift()],a[c+" "]=d}var b=[];return a}function d(a){return a[N]=!0,a}function e(a){var b=G.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function f(a,b){for(var c=a.split("|"),d=a.length;d--;)w.attrHandle[c[d]]=b}function g(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||V)-(~a.sourceIndex||V);if(d)return d;if(c)for(;c=c.nextSibling;)if(c===b)return-1;return a?1:-1}function h(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function i(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function j(a){return d(function(b){return b=+b,d(function(c,d){for(var e,f=a([],c.length,b),g=f.length;g--;)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function k(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}function l(){}function m(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function n(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=Q++;return b.first?function(b,c,f){for(;b=b[d];)if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[P,f];if(g){for(;b=b[d];)if((1===b.nodeType||e)&&a(b,c,g))return!0}else for(;b=b[d];)if(1===b.nodeType||e){if(i=b[N]||(b[N]={}),(h=i[d])&&h[0]===P&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function o(a){return a.length>1?function(b,c,d){for(var e=a.length;e--;)if(!a[e](b,c,d))return!1;return!0}:a[0]}function p(a,c,d){for(var e=0,f=c.length;f>e;e++)b(a,c[e],d);return d}function q(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function r(a,b,c,e,f,g){return e&&!e[N]&&(e=r(e)),f&&!f[N]&&(f=r(f,g)),d(function(d,g,h,i){var j,k,l,m=[],n=[],o=g.length,r=d||p(b||"*",h.nodeType?[h]:h,[]),s=!a||!d&&b?r:q(r,m,a,h,i),t=c?f||(d?a:o||e)?[]:g:s;if(c&&c(s,t,h,i),e)for(j=q(t,n),e(j,[],h,i),k=j.length;k--;)(l=j[k])&&(t[n[k]]=!(s[n[k]]=l));if(d){if(f||a){if(f){for(j=[],k=t.length;k--;)(l=t[k])&&j.push(s[k]=l);f(null,t=[],j,i)}for(k=t.length;k--;)(l=t[k])&&(j=f?aa(d,l):m[k])>-1&&(d[j]=!(g[j]=l))}}else t=q(t===g?t.splice(o,t.length):t),f?f(null,g,t,i):$.apply(g,t)})}function s(a){for(var b,c,d,e=a.length,f=w.relative[a[0].type],g=f||w.relative[" "],h=f?1:0,i=n(function(a){return a===b},g,!0),j=n(function(a){return aa(b,a)>-1},g,!0),k=[function(a,c,d){var e=!f&&(d||c!==C)||((b=c).nodeType?i(a,c,d):j(a,c,d));return b=null,e}];e>h;h++)if(c=w.relative[a[h].type])k=[n(o(k),c)];else{if(c=w.filter[a[h].type].apply(null,a[h].matches),c[N]){for(d=++h;e>d&&!w.relative[a[d].type];d++);return r(h>1&&o(k),h>1&&m(a.slice(0,h-1).concat({value:" "===a[h-2].type?"*":""})).replace(ia,"$1"),c,d>h&&s(a.slice(h,d)),e>d&&s(a=a.slice(d)),e>d&&m(a))}k.push(c)}return o(k)}function t(a,c){var e=c.length>0,f=a.length>0,g=function(d,g,h,i,j){var k,l,m,n=0,o="0",p=d&&[],r=[],s=C,t=d||f&&w.find.TAG("*",j),u=P+=null==s?1:Math.random()||.1,v=t.length;for(j&&(C=g!==G&&g);o!==v&&null!=(k=t[o]);o++){if(f&&k){for(l=0;m=a[l++];)if(m(k,g,h)){i.push(k);break}j&&(P=u)}e&&((k=!m&&k)&&n--,d&&p.push(k))}if(n+=o,e&&o!==n){for(l=0;m=c[l++];)m(p,r,g,h);if(d){if(n>0)for(;o--;)p[o]||r[o]||(r[o]=Y.call(i));r=q(r)}$.apply(i,r),j&&!d&&r.length>0&&n+c.length>1&&b.uniqueSort(i)}return j&&(P=u,C=s),p};return e?d(g):g}var u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N="sizzle"+1*new Date,O=a.document,P=0,Q=0,R=c(),S=c(),T=c(),U=function(a,b){return a===b&&(E=!0),0},V=1<<31,W={}.hasOwnProperty,X=[],Y=X.pop,Z=X.push,$=X.push,_=X.slice,aa=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},ba="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ca="[\\x20\\t\\r\\n\\f]",da="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",ea=da.replace("w","w#"),fa="\\["+ca+"*("+da+")(?:"+ca+"*([*^$|!~]?=)"+ca+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+ea+"))|)"+ca+"*\\]",ga=":("+da+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+fa+")*)|.*)\\)|)",ha=new RegExp(ca+"+","g"),ia=new RegExp("^"+ca+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ca+"+$","g"),ja=new RegExp("^"+ca+"*,"+ca+"*"),ka=new RegExp("^"+ca+"*([>+~]|"+ca+")"+ca+"*"),la=new RegExp("="+ca+"*([^\\]'\"]*?)"+ca+"*\\]","g"),ma=new RegExp(ga),na=new RegExp("^"+ea+"$"),oa={ID:new RegExp("^#("+da+")"),CLASS:new RegExp("^\\.("+da+")"),TAG:new RegExp("^("+da.replace("w","w*")+")"),ATTR:new RegExp("^"+fa),PSEUDO:new RegExp("^"+ga),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ca+"*(even|odd|(([+-]|)(\\d*)n|)"+ca+"*(?:([+-]|)"+ca+"*(\\d+)|))"+ca+"*\\)|)","i"),bool:new RegExp("^(?:"+ba+")$","i"),needsContext:new RegExp("^"+ca+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ca+"*((?:-\\d)?\\d*)"+ca+"*\\)|)(?=[^-]|$)","i")},pa=/^(?:input|select|textarea|button)$/i,qa=/^h\d$/i,ra=/^[^{]+\{\s*\[native \w/,sa=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ta=/[+~]/,ua=/'|\\/g,va=new RegExp("\\\\([\\da-f]{1,6}"+ca+"?|("+ca+")|.)","ig"),wa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},xa=function(){F()};try{$.apply(X=_.call(O.childNodes),O.childNodes),X[O.childNodes.length].nodeType}catch(ya){$={apply:X.length?function(a,b){Z.apply(a,_.call(b))}:function(a,b){for(var c=a.length,d=0;a[c++]=b[d++];);a.length=c-1}}}v=b.support={},y=b.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},F=b.setDocument=function(a){var b,c,d=a?a.ownerDocument||a:O;return d!==G&&9===d.nodeType&&d.documentElement?(G=d,H=d.documentElement,c=d.defaultView,c&&c!==c.top&&(c.addEventListener?c.addEventListener("unload",xa,!1):c.attachEvent&&c.attachEvent("onunload",xa)),I=!y(d),v.attributes=e(function(a){return a.className="i",!a.getAttribute("className")}),v.getElementsByTagName=e(function(a){return a.appendChild(d.createComment("")),!a.getElementsByTagName("*").length}),v.getElementsByClassName=ra.test(d.getElementsByClassName),v.getById=e(function(a){return H.appendChild(a).id=N,!d.getElementsByName||!d.getElementsByName(N).length}),v.getById?(w.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&I){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},w.filter.ID=function(a){var b=a.replace(va,wa);return function(a){return a.getAttribute("id")===b}}):(delete w.find.ID,w.filter.ID=function(a){var b=a.replace(va,wa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),w.find.TAG=v.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):v.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){for(;c=f[e++];)1===c.nodeType&&d.push(c);return d}return f},w.find.CLASS=v.getElementsByClassName&&function(a,b){return I?b.getElementsByClassName(a):void 0},K=[],J=[],(v.qsa=ra.test(d.querySelectorAll))&&(e(function(a){H.appendChild(a).innerHTML="<a id='"+N+"'></a><select id='"+N+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&J.push("[*^$]="+ca+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||J.push("\\["+ca+"*(?:value|"+ba+")"),a.querySelectorAll("[id~="+N+"-]").length||J.push("~="),a.querySelectorAll(":checked").length||J.push(":checked"),a.querySelectorAll("a#"+N+"+*").length||J.push(".#.+[+~]")}),e(function(a){var b=d.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&J.push("name"+ca+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||J.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),J.push(",.*:")})),(v.matchesSelector=ra.test(L=H.matches||H.webkitMatchesSelector||H.mozMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&e(function(a){v.disconnectedMatch=L.call(a,"div"),L.call(a,"[s!='']:x"),K.push("!=",ga)}),J=J.length&&new RegExp(J.join("|")),K=K.length&&new RegExp(K.join("|")),b=ra.test(H.compareDocumentPosition),M=b||ra.test(H.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1},U=b?function(a,b){if(a===b)return E=!0,0;var c=!a.compareDocumentPosition-!b.compareDocumentPosition;return c?c:(c=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&c||!v.sortDetached&&b.compareDocumentPosition(a)===c?a===d||a.ownerDocument===O&&M(O,a)?-1:b===d||b.ownerDocument===O&&M(O,b)?1:D?aa(D,a)-aa(D,b):0:4&c?-1:1)}:function(a,b){if(a===b)return E=!0,0;var c,e=0,f=a.parentNode,h=b.parentNode,i=[a],j=[b];if(!f||!h)return a===d?-1:b===d?1:f?-1:h?1:D?aa(D,a)-aa(D,b):0;if(f===h)return g(a,b);for(c=a;c=c.parentNode;)i.unshift(c);for(c=b;c=c.parentNode;)j.unshift(c);for(;i[e]===j[e];)e++;return e?g(i[e],j[e]):i[e]===O?-1:j[e]===O?1:0},d):G},b.matches=function(a,c){return b(a,null,null,c)},b.matchesSelector=function(a,c){if((a.ownerDocument||a)!==G&&F(a),c=c.replace(la,"='$1']"),v.matchesSelector&&I&&(!K||!K.test(c))&&(!J||!J.test(c)))try{var d=L.call(a,c);if(d||v.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return b(c,G,null,[a]).length>0},b.contains=function(a,b){return(a.ownerDocument||a)!==G&&F(a),M(a,b)},b.attr=function(a,b){(a.ownerDocument||a)!==G&&F(a);var c=w.attrHandle[b.toLowerCase()],d=c&&W.call(w.attrHandle,b.toLowerCase())?c(a,b,!I):void 0;return void 0!==d?d:v.attributes||!I?a.getAttribute(b):(d=a.getAttributeNode(b))&&d.specified?d.value:null},b.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},b.uniqueSort=function(a){var b,c=[],d=0,e=0;if(E=!v.detectDuplicates,D=!v.sortStable&&a.slice(0),a.sort(U),E){for(;b=a[e++];)b===a[e]&&(d=c.push(e));for(;d--;)a.splice(c[d],1)}return D=null,a},x=b.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(1===e||9===e||11===e){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=x(a)}else if(3===e||4===e)return a.nodeValue}else for(;b=a[d++];)c+=x(b);return c},w=b.selectors={cacheLength:50,createPseudo:d,match:oa,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(va,wa),a[3]=(a[3]||a[4]||a[5]||"").replace(va,wa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||b.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&b.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return oa.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&ma.test(c)&&(b=z(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(va,wa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=R[a+" "];return b||(b=new RegExp("(^|"+ca+")"+a+"("+ca+"|$)"))&&R(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,c,d){return function(e){var f=b.attr(e,a);return null==f?"!="===c:c?(f+="","="===c?f===d:"!="===c?f!==d:"^="===c?d&&0===f.indexOf(d):"*="===c?d&&f.indexOf(d)>-1:"$="===c?d&&f.slice(-d.length)===d:"~="===c?(" "+f.replace(ha," ")+" ").indexOf(d)>-1:"|="===c?f===d||f.slice(0,d.length+1)===d+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){for(;p;){for(l=b;l=l[p];)if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){for(k=q[N]||(q[N]={}),j=k[a]||[],n=j[0]===P&&j[1],m=j[0]===P&&j[2],l=n&&q.childNodes[n];l=++n&&l&&l[p]||(m=n=0)||o.pop();)if(1===l.nodeType&&++m&&l===b){k[a]=[P,n,m];break}}else if(s&&(j=(b[N]||(b[N]={}))[a])&&j[0]===P)m=j[1];else for(;(l=++n&&l&&l[p]||(m=n=0)||o.pop())&&((h?l.nodeName.toLowerCase()!==r:1!==l.nodeType)||!++m||(s&&((l[N]||(l[N]={}))[a]=[P,m]),l!==b)););return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,c){var e,f=w.pseudos[a]||w.setFilters[a.toLowerCase()]||b.error("unsupported pseudo: "+a);return f[N]?f(c):f.length>1?(e=[a,a,"",c],w.setFilters.hasOwnProperty(a.toLowerCase())?d(function(a,b){for(var d,e=f(a,c),g=e.length;g--;)d=aa(a,e[g]),a[d]=!(b[d]=e[g])}):function(a){return f(a,0,e)}):f}},pseudos:{not:d(function(a){var b=[],c=[],e=A(a.replace(ia,"$1"));return e[N]?d(function(a,b,c,d){for(var f,g=e(a,null,d,[]),h=a.length;h--;)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,d,f){return b[0]=a,e(b,null,f,c),b[0]=null,!c.pop()}}),has:d(function(a){return function(c){return b(a,c).length>0}}),contains:d(function(a){return a=a.replace(va,wa),function(b){return(b.textContent||b.innerText||x(b)).indexOf(a)>-1}}),lang:d(function(a){return na.test(a||"")||b.error("unsupported lang: "+a),a=a.replace(va,wa).toLowerCase(),function(b){var c;do if(c=I?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===H},focus:function(a){return a===G.activeElement&&(!G.hasFocus||G.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!w.pseudos.empty(a)},header:function(a){return qa.test(a.nodeName)},input:function(a){return pa.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:j(function(){return[0]}),last:j(function(a,b){return[b-1]}),eq:j(function(a,b,c){return[0>c?c+b:c]}),even:j(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:j(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:j(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:j(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},w.pseudos.nth=w.pseudos.eq;for(u in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})w.pseudos[u]=h(u);for(u in{submit:!0,reset:!0})w.pseudos[u]=i(u);return l.prototype=w.filters=w.pseudos,w.setFilters=new l,z=b.tokenize=function(a,c){var d,e,f,g,h,i,j,k=S[a+" "];if(k)return c?0:k.slice(0);for(h=a,i=[],j=w.preFilter;h;){(!d||(e=ja.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),d=!1,(e=ka.exec(h))&&(d=e.shift(),f.push({value:d,type:e[0].replace(ia," ")}),h=h.slice(d.length));for(g in w.filter)!(e=oa[g].exec(h))||j[g]&&!(e=j[g](e))||(d=e.shift(),f.push({value:d,type:g,matches:e}),h=h.slice(d.length));if(!d)break}return c?h.length:h?b.error(a):S(a,i).slice(0)},A=b.compile=function(a,b){
+var c,d=[],e=[],f=T[a+" "];if(!f){for(b||(b=z(a)),c=b.length;c--;)f=s(b[c]),f[N]?d.push(f):e.push(f);f=T(a,t(e,d)),f.selector=a}return f},B=b.select=function(a,b,c,d){var e,f,g,h,i,j="function"==typeof a&&a,l=!d&&z(a=j.selector||a);if(c=c||[],1===l.length){if(f=l[0]=l[0].slice(0),f.length>2&&"ID"===(g=f[0]).type&&v.getById&&9===b.nodeType&&I&&w.relative[f[1].type]){if(b=(w.find.ID(g.matches[0].replace(va,wa),b)||[])[0],!b)return c;j&&(b=b.parentNode),a=a.slice(f.shift().value.length)}for(e=oa.needsContext.test(a)?0:f.length;e--&&(g=f[e],!w.relative[h=g.type]);)if((i=w.find[h])&&(d=i(g.matches[0].replace(va,wa),ta.test(f[0].type)&&k(b.parentNode)||b))){if(f.splice(e,1),a=d.length&&m(f),!a)return $.apply(c,d),c;break}}return(j||A(a,l))(d,b,!I,c,ta.test(a)&&k(b.parentNode)||b),c},v.sortStable=N.split("").sort(U).join("")===N,v.detectDuplicates=!!E,F(),v.sortDetached=e(function(a){return 1&a.compareDocumentPosition(G.createElement("div"))}),e(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||f("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),v.attributes&&e(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||f("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),e(function(a){return null==a.getAttribute("disabled")})||f(ba,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),b}(a);_.find=ea,_.expr=ea.selectors,_.expr[":"]=_.expr.pseudos,_.unique=ea.uniqueSort,_.text=ea.getText,_.isXMLDoc=ea.isXML,_.contains=ea.contains;var fa=_.expr.match.needsContext,ga=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,ha=/^.[^:#\[\.,]*$/;_.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?_.find.matchesSelector(d,a)?[d]:[]:_.find.matches(a,_.grep(b,function(a){return 1===a.nodeType}))},_.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(_(a).filter(function(){for(b=0;c>b;b++)if(_.contains(e[b],this))return!0}));for(b=0;c>b;b++)_.find(a,e[b],d);return d=this.pushStack(c>1?_.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(d(this,a||[],!1))},not:function(a){return this.pushStack(d(this,a||[],!0))},is:function(a){return!!d(this,"string"==typeof a&&fa.test(a)?_(a):a||[],!1).length}});var ia,ja=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,ka=_.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:ja.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||ia).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof _?b[0]:b,_.merge(this,_.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:Z,!0)),ga.test(c[1])&&_.isPlainObject(b))for(c in b)_.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=Z.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=Z,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):_.isFunction(a)?"undefined"!=typeof ia.ready?ia.ready(a):a(_):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),_.makeArray(a,this))};ka.prototype=_.fn,ia=_(Z);var la=/^(?:parents|prev(?:Until|All))/,ma={children:!0,contents:!0,next:!0,prev:!0};_.extend({dir:function(a,b,c){for(var d=[],e=void 0!==c;(a=a[b])&&9!==a.nodeType;)if(1===a.nodeType){if(e&&_(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),_.fn.extend({has:function(a){var b=_(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(_.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=fa.test(a)||"string"!=typeof a?_(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&_.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?_.unique(f):f)},index:function(a){return a?"string"==typeof a?U.call(_(a),this[0]):U.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(_.unique(_.merge(this.get(),_(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}}),_.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return _.dir(a,"parentNode")},parentsUntil:function(a,b,c){return _.dir(a,"parentNode",c)},next:function(a){return e(a,"nextSibling")},prev:function(a){return e(a,"previousSibling")},nextAll:function(a){return _.dir(a,"nextSibling")},prevAll:function(a){return _.dir(a,"previousSibling")},nextUntil:function(a,b,c){return _.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return _.dir(a,"previousSibling",c)},siblings:function(a){return _.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return _.sibling(a.firstChild)},contents:function(a){return a.contentDocument||_.merge([],a.childNodes)}},function(a,b){_.fn[a]=function(c,d){var e=_.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=_.filter(d,e)),this.length>1&&(ma[a]||_.unique(e),la.test(a)&&e.reverse()),this.pushStack(e)}});var na=/\S+/g,oa={};_.Callbacks=function(a){a="string"==typeof a?oa[a]||f(a):_.extend({},a);var b,c,d,e,g,h,i=[],j=!a.once&&[],k=function(f){for(b=a.memory&&f,c=!0,h=e||0,e=0,g=i.length,d=!0;i&&g>h;h++)if(i[h].apply(f[0],f[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,i&&(j?j.length&&k(j.shift()):b?i=[]:l.disable())},l={add:function(){if(i){var c=i.length;!function f(b){_.each(b,function(b,c){var d=_.type(c);"function"===d?a.unique&&l.has(c)||i.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),d?g=i.length:b&&(e=c,k(b))}return this},remove:function(){return i&&_.each(arguments,function(a,b){for(var c;(c=_.inArray(b,i,c))>-1;)i.splice(c,1),d&&(g>=c&&g--,h>=c&&h--)}),this},has:function(a){return a?_.inArray(a,i)>-1:!(!i||!i.length)},empty:function(){return i=[],g=0,this},disable:function(){return i=j=b=void 0,this},disabled:function(){return!i},lock:function(){return j=void 0,b||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return!i||c&&!j||(b=b||[],b=[a,b.slice?b.slice():b],d?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!c}};return l},_.extend({Deferred:function(a){var b=[["resolve","done",_.Callbacks("once memory"),"resolved"],["reject","fail",_.Callbacks("once memory"),"rejected"],["notify","progress",_.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return _.Deferred(function(c){_.each(b,function(b,f){var g=_.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&_.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?_.extend(a,d):d}},e={};return d.pipe=d.then,_.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b,c,d,e=0,f=R.call(arguments),g=f.length,h=1!==g||a&&_.isFunction(a.promise)?g:0,i=1===h?a:_.Deferred(),j=function(a,c,d){return function(e){c[a]=this,d[a]=arguments.length>1?R.call(arguments):e,d===b?i.notifyWith(c,d):--h||i.resolveWith(c,d)}};if(g>1)for(b=new Array(g),c=new Array(g),d=new Array(g);g>e;e++)f[e]&&_.isFunction(f[e].promise)?f[e].promise().done(j(e,d,f)).fail(i.reject).progress(j(e,c,b)):--h;return h||i.resolveWith(d,f),i.promise()}});var pa;_.fn.ready=function(a){return _.ready.promise().done(a),this},_.extend({isReady:!1,readyWait:1,holdReady:function(a){a?_.readyWait++:_.ready(!0)},ready:function(a){(a===!0?--_.readyWait:_.isReady)||(_.isReady=!0,a!==!0&&--_.readyWait>0||(pa.resolveWith(Z,[_]),_.fn.triggerHandler&&(_(Z).triggerHandler("ready"),_(Z).off("ready"))))}}),_.ready.promise=function(b){return pa||(pa=_.Deferred(),"complete"===Z.readyState?setTimeout(_.ready):(Z.addEventListener("DOMContentLoaded",g,!1),a.addEventListener("load",g,!1))),pa.promise(b)},_.ready.promise();var qa=_.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===_.type(c)){e=!0;for(h in c)_.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,_.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(_(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};_.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType},h.uid=1,h.accepts=_.acceptData,h.prototype={key:function(a){if(!h.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=h.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,_.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(_.isEmptyObject(f))_.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,_.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{_.isArray(b)?d=b.concat(b.map(_.camelCase)):(e=_.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(na)||[])),c=d.length;for(;c--;)delete g[d[c]]}},hasData:function(a){return!_.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var ra=new h,sa=new h,ta=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,ua=/([A-Z])/g;_.extend({hasData:function(a){return sa.hasData(a)||ra.hasData(a)},data:function(a,b,c){return sa.access(a,b,c)},removeData:function(a,b){sa.remove(a,b)},_data:function(a,b,c){return ra.access(a,b,c)},_removeData:function(a,b){ra.remove(a,b)}}),_.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=sa.get(f),1===f.nodeType&&!ra.get(f,"hasDataAttrs"))){for(c=g.length;c--;)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=_.camelCase(d.slice(5)),i(f,d,e[d])));ra.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){sa.set(this,a)}):qa(this,function(b){var c,d=_.camelCase(a);if(f&&void 0===b){if(c=sa.get(f,a),void 0!==c)return c;if(c=sa.get(f,d),void 0!==c)return c;if(c=i(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=sa.get(this,d);sa.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&sa.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){sa.remove(this,a)})}}),_.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=ra.get(a,b),c&&(!d||_.isArray(c)?d=ra.access(a,b,_.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=_.queue(a,b),d=c.length,e=c.shift(),f=_._queueHooks(a,b),g=function(){_.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&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 ra.get(a,c)||ra.access(a,c,{empty:_.Callbacks("once memory").add(function(){ra.remove(a,[b+"queue",c])})})}}),_.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?_.queue(this[0],a):void 0===b?this:this.each(function(){var c=_.queue(this,a,b);_._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&_.dequeue(this,a)})},dequeue:function(a){return this.each(function(){_.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=_.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};for("string"!=typeof a&&(b=a,a=void 0),a=a||"fx";g--;)c=ra.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var va=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,wa=["Top","Right","Bottom","Left"],xa=function(a,b){return a=b||a,"none"===_.css(a,"display")||!_.contains(a.ownerDocument,a)},ya=/^(?:checkbox|radio)$/i;!function(){var a=Z.createDocumentFragment(),b=a.appendChild(Z.createElement("div")),c=Z.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),Y.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",Y.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var za="undefined";Y.focusinBubbles="onfocusin"in a;var Aa=/^key/,Ba=/^(?:mouse|pointer|contextmenu)|click/,Ca=/^(?:focusinfocus|focusoutblur)$/,Da=/^([^.]*)(?:\.(.+)|)$/;_.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=ra.get(a);if(q)for(c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=_.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return typeof _!==za&&_.event.triggered!==b.type?_.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(na)||[""],j=b.length;j--;)h=Da.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=_.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=_.event.special[n]||{},k=_.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&_.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),_.event.global[n]=!0)},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=ra.hasData(a)&&ra.get(a);if(q&&(i=q.events)){for(b=(b||"").match(na)||[""],j=b.length;j--;)if(h=Da.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){for(l=_.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;f--;)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||_.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)_.event.remove(a,n+b[j],c,d,!0);_.isEmptyObject(i)&&(delete q.handle,ra.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,j,k,l,m=[d||Z],n=X.call(b,"type")?b.type:b,o=X.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||Z,3!==d.nodeType&&8!==d.nodeType&&!Ca.test(n+_.event.triggered)&&(n.indexOf(".")>=0&&(o=n.split("."),n=o.shift(),o.sort()),j=n.indexOf(":")<0&&"on"+n,b=b[_.expando]?b:new _.Event(n,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=o.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:_.makeArray(c,[b]),l=_.event.special[n]||{},e||!l.trigger||l.trigger.apply(d,c)!==!1)){if(!e&&!l.noBubble&&!_.isWindow(d)){for(i=l.delegateType||n,Ca.test(i+n)||(g=g.parentNode);g;g=g.parentNode)m.push(g),h=g;h===(d.ownerDocument||Z)&&m.push(h.defaultView||h.parentWindow||a)}for(f=0;(g=m[f++])&&!b.isPropagationStopped();)b.type=f>1?i:l.bindType||n,k=(ra.get(g,"events")||{})[b.type]&&ra.get(g,"handle"),k&&k.apply(g,c),k=j&&g[j],k&&k.apply&&_.acceptData(g)&&(b.result=k.apply(g,c),b.result===!1&&b.preventDefault());return b.type=n,e||b.isDefaultPrevented()||l._default&&l._default.apply(m.pop(),c)!==!1||!_.acceptData(d)||j&&_.isFunction(d[n])&&!_.isWindow(d)&&(h=d[j],h&&(d[j]=null),_.event.triggered=n,d[n](),_.event.triggered=void 0,h&&(d[j]=h)),b.result}},dispatch:function(a){a=_.event.fix(a);var b,c,d,e,f,g=[],h=R.call(arguments),i=(ra.get(this,"events")||{})[a.type]||[],j=_.event.special[a.type]||{};if(h[0]=a,a.delegateTarget=this,!j.preDispatch||j.preDispatch.call(this,a)!==!1){for(g=_.event.handlers.call(this,a,i),b=0;(e=g[b++])&&!a.isPropagationStopped();)for(a.currentTarget=e.elem,c=0;(f=e.handlers[c++])&&!a.isImmediatePropagationStopped();)(!a.namespace_re||a.namespace_re.test(f.namespace))&&(a.handleObj=f,a.data=f.data,d=((_.event.special[f.origType]||{}).handle||f.handler).apply(e.elem,h),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()));return j.postDispatch&&j.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?_(e,this).index(i)>=0:_.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"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 null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||Z,d=c.documentElement,e=c.body,a.pageX=b.clientX+(d&&d.scrollLeft||e&&e.scrollLeft||0)-(d&&d.clientLeft||e&&e.clientLeft||0),a.pageY=b.clientY+(d&&d.scrollTop||e&&e.scrollTop||0)-(d&&d.clientTop||e&&e.clientTop||0)),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},fix:function(a){if(a[_.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];for(g||(this.fixHooks[e]=g=Ba.test(e)?this.mouseHooks:Aa.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new _.Event(f),b=d.length;b--;)c=d[b],a[c]=f[c];return a.target||(a.target=Z),3===a.target.nodeType&&(a.target=a.target.parentNode),g.filter?g.filter(a,f):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==l()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===l()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&_.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return _.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=_.extend(new _.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?_.event.trigger(e,null,b):_.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},_.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)},_.Event=function(a,b){return this instanceof _.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?j:k):this.type=a,b&&_.extend(this,b),this.timeStamp=a&&a.timeStamp||_.now(),void(this[_.expando]=!0)):new _.Event(a,b)},_.Event.prototype={isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=j,a&&a.preventDefault&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=j,a&&a.stopPropagation&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=j,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},_.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){_.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!_.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),Y.focusinBubbles||_.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){_.event.simulate(b,a.target,_.event.fix(a),!0)};_.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=ra.access(d,b);e||d.addEventListener(a,c,!0),ra.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=ra.access(d,b)-1;e?ra.access(d,b,e):(d.removeEventListener(a,c,!0),ra.remove(d,b))}}}),_.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(g in a)this.on(g,b,c,a[g],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=k;else if(!d)return this;return 1===e&&(f=d,d=function(a){return _().off(a),f.apply(this,arguments)},d.guid=f.guid||(f.guid=_.guid++)),this.each(function(){_.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,_(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=k),this.each(function(){_.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){_.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?_.event.trigger(a,b,c,!0):void 0}});var Ea=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Fa=/<([\w:]+)/,Ga=/<|&#?\w+;/,Ha=/<(?:script|style|link)/i,Ia=/checked\s*(?:[^=]|=\s*.checked.)/i,Ja=/^$|\/(?:java|ecma)script/i,Ka=/^true\/(.*)/,La=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,Ma={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,"",""]};Ma.optgroup=Ma.option,Ma.tbody=Ma.tfoot=Ma.colgroup=Ma.caption=Ma.thead,Ma.th=Ma.td,_.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=_.contains(a.ownerDocument,a);if(!(Y.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||_.isXMLDoc(a)))for(g=r(h),f=r(a),d=0,e=f.length;e>d;d++)s(f[d],g[d]);if(b)if(c)for(f=f||r(a),g=g||r(h),d=0,e=f.length;e>d;d++)q(f[d],g[d]);else q(a,h);return g=r(h,"script"),g.length>0&&p(g,!i&&r(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,n=a.length;n>m;m++)if(e=a[m],e||0===e)if("object"===_.type(e))_.merge(l,e.nodeType?[e]:e);else if(Ga.test(e)){for(f=f||k.appendChild(b.createElement("div")),g=(Fa.exec(e)||["",""])[1].toLowerCase(),h=Ma[g]||Ma._default,f.innerHTML=h[1]+e.replace(Ea,"<$1></$2>")+h[2],j=h[0];j--;)f=f.lastChild;_.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));for(k.textContent="",m=0;e=l[m++];)if((!d||-1===_.inArray(e,d))&&(i=_.contains(e.ownerDocument,e),f=r(k.appendChild(e),"script"),i&&p(f),c))for(j=0;e=f[j++];)Ja.test(e.type||"")&&c.push(e);return k},cleanData:function(a){for(var b,c,d,e,f=_.event.special,g=0;void 0!==(c=a[g]);g++){if(_.acceptData(c)&&(e=c[ra.expando],e&&(b=ra.cache[e]))){if(b.events)for(d in b.events)f[d]?_.event.remove(c,d):_.removeEvent(c,d,b.handle);ra.cache[e]&&delete ra.cache[e]}delete sa.cache[c[sa.expando]]}}}),_.fn.extend({text:function(a){return qa(this,function(a){return void 0===a?_.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=m(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=m(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?_.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||_.cleanData(r(c)),c.parentNode&&(b&&_.contains(c.ownerDocument,c)&&p(r(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(_.cleanData(r(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return _.clone(this,a,b)})},html:function(a){return qa(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Ha.test(a)&&!Ma[(Fa.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ea,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(_.cleanData(r(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,_.cleanData(r(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=S.apply([],a);var c,d,e,f,g,h,i=0,j=this.length,k=this,l=j-1,m=a[0],p=_.isFunction(m);if(p||j>1&&"string"==typeof m&&!Y.checkClone&&Ia.test(m))return this.each(function(c){var d=k.eq(c);p&&(a[0]=m.call(this,c,d.html())),d.domManip(a,b)});if(j&&(c=_.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(e=_.map(r(c,"script"),n),f=e.length;j>i;i++)g=c,i!==l&&(g=_.clone(g,!0,!0),f&&_.merge(e,r(g,"script"))),b.call(this[i],g,i);if(f)for(h=e[e.length-1].ownerDocument,_.map(e,o),i=0;f>i;i++)g=e[i],Ja.test(g.type||"")&&!ra.access(g,"globalEval")&&_.contains(h,g)&&(g.src?_._evalUrl&&_._evalUrl(g.src):_.globalEval(g.textContent.replace(La,"")))}return this}}),_.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){_.fn[a]=function(a){for(var c,d=[],e=_(a),f=e.length-1,g=0;f>=g;g++)c=g===f?this:this.clone(!0),_(e[g])[b](c),T.apply(d,c.get());return this.pushStack(d)}});var Na,Oa={},Pa=/^margin/,Qa=new RegExp("^("+va+")(?!px)[a-z%]+$","i"),Ra=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)};!function(){function b(){g.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",g.innerHTML="",e.appendChild(f);var b=a.getComputedStyle(g,null);c="1%"!==b.top,d="4px"===b.width,e.removeChild(f)}var c,d,e=Z.documentElement,f=Z.createElement("div"),g=Z.createElement("div");g.style&&(g.style.backgroundClip="content-box",g.cloneNode(!0).style.backgroundClip="",Y.clearCloneStyle="content-box"===g.style.backgroundClip,f.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",f.appendChild(g),a.getComputedStyle&&_.extend(Y,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return null==d&&b(),d},reliableMarginRight:function(){var b,c=g.appendChild(Z.createElement("div"));return c.style.cssText=g.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",g.style.width="1px",e.appendChild(f),b=!parseFloat(a.getComputedStyle(c,null).marginRight),e.removeChild(f),g.removeChild(c),b}}))}(),_.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Sa=/^(none|table(?!-c[ea]).+)/,Ta=new RegExp("^("+va+")(.*)$","i"),Ua=new RegExp("^([+-])=("+va+")","i"),Va={position:"absolute",visibility:"hidden",display:"block"},Wa={letterSpacing:"0",fontWeight:"400"},Xa=["Webkit","O","Moz","ms"];_.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=v(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=_.camelCase(b),i=a.style;return b=_.cssProps[h]||(_.cssProps[h]=x(i,h)),g=_.cssHooks[b]||_.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=Ua.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(_.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||_.cssNumber[h]||(c+="px"),Y.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=_.camelCase(b);return b=_.cssProps[h]||(_.cssProps[h]=x(a.style,h)),g=_.cssHooks[b]||_.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=v(a,b,d)),"normal"===e&&b in Wa&&(e=Wa[b]),""===c||c?(f=parseFloat(e),c===!0||_.isNumeric(f)?f||0:e):e}}),_.each(["height","width"],function(a,b){_.cssHooks[b]={get:function(a,c,d){return c?Sa.test(_.css(a,"display"))&&0===a.offsetWidth?_.swap(a,Va,function(){return A(a,b,d)}):A(a,b,d):void 0},set:function(a,c,d){var e=d&&Ra(a);return y(a,c,d?z(a,b,d,"border-box"===_.css(a,"boxSizing",!1,e),e):0)}}}),_.cssHooks.marginRight=w(Y.reliableMarginRight,function(a,b){return b?_.swap(a,{display:"inline-block"},v,[a,"marginRight"]):void 0}),_.each({margin:"",padding:"",border:"Width"},function(a,b){_.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+wa[d]+b]=f[d]||f[d-2]||f[0];return e}},Pa.test(a)||(_.cssHooks[a+b].set=y)}),_.fn.extend({css:function(a,b){return qa(this,function(a,b,c){var d,e,f={},g=0;if(_.isArray(b)){for(d=Ra(a),e=b.length;e>g;g++)f[b[g]]=_.css(a,b[g],!1,d);return f}return void 0!==c?_.style(a,b,c):_.css(a,b)},a,b,arguments.length>1)},show:function(){return B(this,!0)},hide:function(){return B(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){xa(this)?_(this).show():_(this).hide()})}}),_.Tween=C,C.prototype={constructor:C,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||(_.cssNumber[c]?"":"px")},cur:function(){var a=C.propHooks[this.prop];return a&&a.get?a.get(this):C.propHooks._default.get(this)},run:function(a){var b,c=C.propHooks[this.prop];return this.options.duration?this.pos=b=_.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):C.propHooks._default.set(this),this}},C.prototype.init.prototype=C.prototype,C.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=_.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){_.fx.step[a.prop]?_.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[_.cssProps[a.prop]]||_.cssHooks[a.prop])?_.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},C.propHooks.scrollTop=C.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},_.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},_.fx=C.prototype.init,_.fx.step={};var Ya,Za,$a=/^(?:toggle|show|hide)$/,_a=new RegExp("^(?:([+-])=|)("+va+")([a-z%]*)$","i"),ab=/queueHooks$/,bb=[G],cb={
+"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=_a.exec(b),f=e&&e[3]||(_.cssNumber[a]?"":"px"),g=(_.cssNumber[a]||"px"!==f&&+d)&&_a.exec(_.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,_.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};_.Animation=_.extend(I,{tweener:function(a,b){_.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],cb[c]=cb[c]||[],cb[c].unshift(b)},prefilter:function(a,b){b?bb.unshift(a):bb.push(a)}}),_.speed=function(a,b,c){var d=a&&"object"==typeof a?_.extend({},a):{complete:c||!c&&b||_.isFunction(a)&&a,duration:a,easing:c&&b||b&&!_.isFunction(b)&&b};return d.duration=_.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in _.fx.speeds?_.fx.speeds[d.duration]:_.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){_.isFunction(d.old)&&d.old.call(this),d.queue&&_.dequeue(this,d.queue)},d},_.fn.extend({fadeTo:function(a,b,c,d){return this.filter(xa).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=_.isEmptyObject(a),f=_.speed(b,c,d),g=function(){var b=I(this,_.extend({},a),f);(e||ra.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=_.timers,g=ra.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&ab.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&_.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=ra.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=_.timers,g=d?d.length:0;for(c.finish=!0,_.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),_.each(["toggle","show","hide"],function(a,b){var c=_.fn[b];_.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(E(b,!0),a,d,e)}}),_.each({slideDown:E("show"),slideUp:E("hide"),slideToggle:E("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){_.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),_.timers=[],_.fx.tick=function(){var a,b=0,c=_.timers;for(Ya=_.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||_.fx.stop(),Ya=void 0},_.fx.timer=function(a){_.timers.push(a),a()?_.fx.start():_.timers.pop()},_.fx.interval=13,_.fx.start=function(){Za||(Za=setInterval(_.fx.tick,_.fx.interval))},_.fx.stop=function(){clearInterval(Za),Za=null},_.fx.speeds={slow:600,fast:200,_default:400},_.fn.delay=function(a,b){return a=_.fx?_.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a=Z.createElement("input"),b=Z.createElement("select"),c=b.appendChild(Z.createElement("option"));a.type="checkbox",Y.checkOn=""!==a.value,Y.optSelected=c.selected,b.disabled=!0,Y.optDisabled=!c.disabled,a=Z.createElement("input"),a.value="t",a.type="radio",Y.radioValue="t"===a.value}();var db,eb,fb=_.expr.attrHandle;_.fn.extend({attr:function(a,b){return qa(this,_.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){_.removeAttr(this,a)})}}),_.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===za?_.prop(a,b,c):(1===f&&_.isXMLDoc(a)||(b=b.toLowerCase(),d=_.attrHooks[b]||(_.expr.match.bool.test(b)?eb:db)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=_.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void _.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(na);if(f&&1===a.nodeType)for(;c=f[e++];)d=_.propFix[c]||c,_.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!Y.radioValue&&"radio"===b&&_.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),eb={set:function(a,b,c){return b===!1?_.removeAttr(a,c):a.setAttribute(c,c),c}},_.each(_.expr.match.bool.source.match(/\w+/g),function(a,b){var c=fb[b]||_.find.attr;fb[b]=function(a,b,d){var e,f;return d||(f=fb[b],fb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,fb[b]=f),e}});var gb=/^(?:input|select|textarea|button)$/i;_.fn.extend({prop:function(a,b){return qa(this,_.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[_.propFix[a]||a]})}}),_.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!_.isXMLDoc(a),f&&(b=_.propFix[b]||b,e=_.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||gb.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),Y.optSelected||(_.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),_.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){_.propFix[this.toLowerCase()]=this});var hb=/[\t\r\n\f]/g;_.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(_.isFunction(a))return this.each(function(b){_(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(na)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(hb," "):" ")){for(f=0;e=b[f++];)d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=_.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(_.isFunction(a))return this.each(function(b){_(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(na)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(hb," "):"")){for(f=0;e=b[f++];)for(;d.indexOf(" "+e+" ")>=0;)d=d.replace(" "+e+" "," ");g=a?_.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):_.isFunction(a)?this.each(function(c){_(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if("string"===c)for(var b,d=0,e=_(this),f=a.match(na)||[];b=f[d++];)e.hasClass(b)?e.removeClass(b):e.addClass(b);else(c===za||"boolean"===c)&&(this.className&&ra.set(this,"__className__",this.className),this.className=this.className||a===!1?"":ra.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(hb," ").indexOf(b)>=0)return!0;return!1}});var ib=/\r/g;_.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=_.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,_(this).val()):a,null==e?e="":"number"==typeof e?e+="":_.isArray(e)&&(e=_.map(e,function(a){return null==a?"":a+""})),b=_.valHooks[this.type]||_.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=_.valHooks[e.type]||_.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(ib,""):null==c?"":c)}}}),_.extend({valHooks:{option:{get:function(a){var b=_.find.attr(a,"value");return null!=b?b:_.trim(_.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&(Y.optDisabled?!c.disabled:null===c.getAttribute("disabled"))&&(!c.parentNode.disabled||!_.nodeName(c.parentNode,"optgroup"))){if(b=_(c).val(),f)return b;g.push(b)}return g},set:function(a,b){for(var c,d,e=a.options,f=_.makeArray(b),g=e.length;g--;)d=e[g],(d.selected=_.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),_.each(["radio","checkbox"],function(){_.valHooks[this]={set:function(a,b){return _.isArray(b)?a.checked=_.inArray(_(a).val(),b)>=0:void 0}},Y.checkOn||(_.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),_.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){_.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),_.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var jb=_.now(),kb=/\?/;_.parseJSON=function(a){return JSON.parse(a+"")},_.parseXML=function(a){var b,c;if(!a||"string"!=typeof a)return null;try{c=new DOMParser,b=c.parseFromString(a,"text/xml")}catch(d){b=void 0}return(!b||b.getElementsByTagName("parsererror").length)&&_.error("Invalid XML: "+a),b};var lb=/#.*$/,mb=/([?&])_=[^&]*/,nb=/^(.*?):[ \t]*([^\r\n]*)$/gm,ob=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,pb=/^(?:GET|HEAD)$/,qb=/^\/\//,rb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,sb={},tb={},ub="*/".concat("*"),vb=a.location.href,wb=rb.exec(vb.toLowerCase())||[];_.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:vb,type:"GET",isLocal:ob.test(wb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":ub,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":_.parseJSON,"text xml":_.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?L(L(a,_.ajaxSettings),b):L(_.ajaxSettings,a)},ajaxPrefilter:J(sb),ajaxTransport:J(tb),ajax:function(a,b){function c(a,b,c,g){var i,k,r,s,u,w=b;2!==t&&(t=2,h&&clearTimeout(h),d=void 0,f=g||"",v.readyState=a>0?4:0,i=a>=200&&300>a||304===a,c&&(s=M(l,v,c)),s=N(l,s,v,i),i?(l.ifModified&&(u=v.getResponseHeader("Last-Modified"),u&&(_.lastModified[e]=u),u=v.getResponseHeader("etag"),u&&(_.etag[e]=u)),204===a||"HEAD"===l.type?w="nocontent":304===a?w="notmodified":(w=s.state,k=s.data,r=s.error,i=!r)):(r=w,(a||!w)&&(w="error",0>a&&(a=0))),v.status=a,v.statusText=(b||w)+"",i?o.resolveWith(m,[k,w,v]):o.rejectWith(m,[v,w,r]),v.statusCode(q),q=void 0,j&&n.trigger(i?"ajaxSuccess":"ajaxError",[v,l,i?k:r]),p.fireWith(m,[v,w]),j&&(n.trigger("ajaxComplete",[v,l]),--_.active||_.event.trigger("ajaxStop")))}"object"==typeof a&&(b=a,a=void 0),b=b||{};var d,e,f,g,h,i,j,k,l=_.ajaxSetup({},b),m=l.context||l,n=l.context&&(m.nodeType||m.jquery)?_(m):_.event,o=_.Deferred(),p=_.Callbacks("once memory"),q=l.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!g)for(g={};b=nb.exec(f);)g[b[1].toLowerCase()]=b[2];b=g[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(l.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return d&&d.abort(b),c(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,l.url=((a||l.url||vb)+"").replace(lb,"").replace(qb,wb[1]+"//"),l.type=b.method||b.type||l.method||l.type,l.dataTypes=_.trim(l.dataType||"*").toLowerCase().match(na)||[""],null==l.crossDomain&&(i=rb.exec(l.url.toLowerCase()),l.crossDomain=!(!i||i[1]===wb[1]&&i[2]===wb[2]&&(i[3]||("http:"===i[1]?"80":"443"))===(wb[3]||("http:"===wb[1]?"80":"443")))),l.data&&l.processData&&"string"!=typeof l.data&&(l.data=_.param(l.data,l.traditional)),K(sb,l,b,v),2===t)return v;j=_.event&&l.global,j&&0===_.active++&&_.event.trigger("ajaxStart"),l.type=l.type.toUpperCase(),l.hasContent=!pb.test(l.type),e=l.url,l.hasContent||(l.data&&(e=l.url+=(kb.test(e)?"&":"?")+l.data,delete l.data),l.cache===!1&&(l.url=mb.test(e)?e.replace(mb,"$1_="+jb++):e+(kb.test(e)?"&":"?")+"_="+jb++)),l.ifModified&&(_.lastModified[e]&&v.setRequestHeader("If-Modified-Since",_.lastModified[e]),_.etag[e]&&v.setRequestHeader("If-None-Match",_.etag[e])),(l.data&&l.hasContent&&l.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",l.contentType),v.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+("*"!==l.dataTypes[0]?", "+ub+"; q=0.01":""):l.accepts["*"]);for(k in l.headers)v.setRequestHeader(k,l.headers[k]);if(l.beforeSend&&(l.beforeSend.call(m,v,l)===!1||2===t))return v.abort();u="abort";for(k in{success:1,error:1,complete:1})v[k](l[k]);if(d=K(tb,l,b,v)){v.readyState=1,j&&n.trigger("ajaxSend",[v,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){v.abort("timeout")},l.timeout));try{t=1,d.send(r,c)}catch(w){if(!(2>t))throw w;c(-1,w)}}else c(-1,"No Transport");return v},getJSON:function(a,b,c){return _.get(a,b,c,"json")},getScript:function(a,b){return _.get(a,void 0,b,"script")}}),_.each(["get","post"],function(a,b){_[b]=function(a,c,d,e){return _.isFunction(c)&&(e=e||d,d=c,c=void 0),_.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),_._evalUrl=function(a){return _.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},_.fn.extend({wrapAll:function(a){var b;return _.isFunction(a)?this.each(function(b){_(this).wrapAll(a.call(this,b))}):(this[0]&&(b=_(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){for(var a=this;a.firstElementChild;)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return _.isFunction(a)?this.each(function(b){_(this).wrapInner(a.call(this,b))}):this.each(function(){var b=_(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=_.isFunction(a);return this.each(function(c){_(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){_.nodeName(this,"body")||_(this).replaceWith(this.childNodes)}).end()}}),_.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},_.expr.filters.visible=function(a){return!_.expr.filters.hidden(a)};var xb=/%20/g,yb=/\[\]$/,zb=/\r?\n/g,Ab=/^(?:submit|button|image|reset|file)$/i,Bb=/^(?:input|select|textarea|keygen)/i;_.param=function(a,b){var c,d=[],e=function(a,b){b=_.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=_.ajaxSettings&&_.ajaxSettings.traditional),_.isArray(a)||a.jquery&&!_.isPlainObject(a))_.each(a,function(){e(this.name,this.value)});else for(c in a)O(c,a[c],b,e);return d.join("&").replace(xb,"+")},_.fn.extend({serialize:function(){return _.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=_.prop(this,"elements");return a?_.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!_(this).is(":disabled")&&Bb.test(this.nodeName)&&!Ab.test(a)&&(this.checked||!ya.test(a))}).map(function(a,b){var c=_(this).val();return null==c?null:_.isArray(c)?_.map(c,function(a){return{name:b.name,value:a.replace(zb,"\r\n")}}):{name:b.name,value:c.replace(zb,"\r\n")}}).get()}}),_.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var Cb=0,Db={},Eb={0:200,1223:204},Fb=_.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Db)Db[a]()}),Y.cors=!!Fb&&"withCredentials"in Fb,Y.ajax=Fb=!!Fb,_.ajaxTransport(function(a){var b;return Y.cors||Fb&&!a.crossDomain?{send:function(c,d){var e,f=a.xhr(),g=++Cb;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)f.setRequestHeader(e,c[e]);b=function(a){return function(){b&&(delete Db[g],b=f.onload=f.onerror=null,"abort"===a?f.abort():"error"===a?d(f.status,f.statusText):d(Eb[f.status]||f.status,f.statusText,"string"==typeof f.responseText?{text:f.responseText}:void 0,f.getAllResponseHeaders()))}},f.onload=b(),f.onerror=b("error"),b=Db[g]=b("abort");try{f.send(a.hasContent&&a.data||null)}catch(h){if(b)throw h}},abort:function(){b&&b()}}:void 0}),_.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return _.globalEval(a),a}}}),_.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),_.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=_("<script>").prop({async:!0,charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&e("error"===a.type?404:200,a.type)}),Z.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Gb=[],Hb=/(=)\?(?=&|$)|\?\?/;_.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Gb.pop()||_.expando+"_"+jb++;return this[a]=!0,a}}),_.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Hb.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Hb.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=_.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Hb,"$1"+e):b.jsonp!==!1&&(b.url+=(kb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||_.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Gb.push(e)),g&&_.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),_.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||Z;var d=ga.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=_.buildFragment([a],b,e),e&&e.length&&_(e).remove(),_.merge([],d.childNodes))};var Ib=_.fn.load;_.fn.load=function(a,b,c){if("string"!=typeof a&&Ib)return Ib.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=_.trim(a.slice(h)),a=a.slice(0,h)),_.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&_.ajax({url:a,type:e,dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?_("<div>").append(_.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,f||[a.responseText,b,a])}),this},_.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){_.fn[b]=function(a){return this.on(b,a)}}),_.expr.filters.animated=function(a){return _.grep(_.timers,function(b){return a===b.elem}).length};var Jb=a.document.documentElement;_.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=_.css(a,"position"),l=_(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=_.css(a,"top"),i=_.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),_.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},_.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){_.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,_.contains(b,d)?(typeof d.getBoundingClientRect!==za&&(e=d.getBoundingClientRect()),c=P(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===_.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),_.nodeName(a[0],"html")||(d=a.offset()),d.top+=_.css(a[0],"borderTopWidth",!0),d.left+=_.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-_.css(c,"marginTop",!0),left:b.left-d.left-_.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||Jb;a&&!_.nodeName(a,"html")&&"static"===_.css(a,"position");)a=a.offsetParent;return a||Jb})}}),_.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b,c){var d="pageYOffset"===c;_.fn[b]=function(e){return qa(this,function(b,e,f){var g=P(b);return void 0===f?g?g[c]:b[e]:void(g?g.scrollTo(d?a.pageXOffset:f,d?f:a.pageYOffset):b[e]=f)},b,e,arguments.length,null)}}),_.each(["top","left"],function(a,b){_.cssHooks[b]=w(Y.pixelPosition,function(a,c){return c?(c=v(a,b),Qa.test(c)?_(a).position()[b]+"px":c):void 0})}),_.each({Height:"height",Width:"width"},function(a,b){_.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){_.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return qa(this,function(b,c,d){var e;return _.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?_.css(b,c,g):_.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),_.fn.size=function(){return this.length},_.fn.andSelf=_.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return _});var Kb=a.jQuery,Lb=a.$;return _.noConflict=function(b){return a.$===_&&(a.$=Lb),b&&a.jQuery===_&&(a.jQuery=Kb),_},typeof b===za&&(a.jQuery=a.$=_),_}),function(a,b,c){"use strict";function d(a,b){return b=b||Error,function(){var c,d,e=2,f=arguments,g=f[0],h="["+(a?a+":":"")+g+"] ",i=f[1];for(h+=i.replace(/\{\d+\}/g,function(a){var b=+a.slice(1,-1),c=b+e;return c<f.length?ta(f[c]):a}),h+="\nhttp://errors.angularjs.org/1.4.8/"+(a?a+"/":"")+g,d=e,c="?";d<f.length;d++,c="&")h+=c+"p"+(d-e)+"="+encodeURIComponent(ta(f[d]));return new b(h)}}function e(a){if(null==a||C(a))return!1;if(Od(a)||x(a)||Cd&&a instanceof Cd)return!0;var b="length"in Object(a)&&a.length;return y(b)&&(b>=0&&b-1 in a||"function"==typeof a.item)}function f(a,b,c){var d,g;if(a)if(A(a))for(d in a)"prototype"==d||"length"==d||"name"==d||a.hasOwnProperty&&!a.hasOwnProperty(d)||b.call(c,a[d],d,a);else if(Od(a)||e(a)){var h="object"!=typeof a;for(d=0,g=a.length;g>d;d++)(h||d in a)&&b.call(c,a[d],d,a)}else if(a.forEach&&a.forEach!==f)a.forEach(b,c,a);else if(w(a))for(d in a)b.call(c,a[d],d,a);else if("function"==typeof a.hasOwnProperty)for(d in a)a.hasOwnProperty(d)&&b.call(c,a[d],d,a);else for(d in a)xd.call(a,d)&&b.call(c,a[d],d,a);return a}function g(a,b,c){for(var d=Object.keys(a).sort(),e=0;e<d.length;e++)b.call(c,a[d[e]],d[e]);return d}function h(a){return function(b,c){a(c,b)}}function i(){return++Md}function j(a,b){b?a.$$hashKey=b:delete a.$$hashKey}function k(a,b,c){for(var d=a.$$hashKey,e=0,f=b.length;f>e;++e){var g=b[e];if(v(g)||A(g))for(var h=Object.keys(g),i=0,l=h.length;l>i;i++){var m=h[i],n=g[m];c&&v(n)?z(n)?a[m]=new Date(n.valueOf()):B(n)?a[m]=new RegExp(n):n.nodeName?a[m]=n.cloneNode(!0):K(n)?a[m]=n.clone():(v(a[m])||(a[m]=Od(n)?[]:{}),k(a[m],[n],!0)):a[m]=n}}return j(a,d),a}function l(a){return k(a,Fd.call(arguments,1),!1)}function m(a){return k(a,Fd.call(arguments,1),!0)}function n(a){return parseInt(a,10)}function o(a,b){return l(Object.create(a),b)}function p(){}function q(a){return a}function r(a){return function(){return a}}function s(a){return A(a.toString)&&a.toString!==Id}function t(a){return"undefined"==typeof a}function u(a){return"undefined"!=typeof a}function v(a){return null!==a&&"object"==typeof a}function w(a){return null!==a&&"object"==typeof a&&!Jd(a)}function x(a){return"string"==typeof a}function y(a){return"number"==typeof a}function z(a){return"[object Date]"===Id.call(a)}function A(a){return"function"==typeof a}function B(a){return"[object RegExp]"===Id.call(a)}function C(a){return a&&a.window===a}function D(a){return a&&a.$evalAsync&&a.$watch}function E(a){return"[object File]"===Id.call(a)}function F(a){return"[object FormData]"===Id.call(a)}function G(a){return"[object Blob]"===Id.call(a)}function H(a){return"boolean"==typeof a}function I(a){return a&&A(a.then)}function J(a){return a&&y(a.length)&&Pd.test(Id.call(a))}function K(a){return!(!a||!(a.nodeName||a.prop&&a.attr&&a.find))}function L(a){var b,c={},d=a.split(",");for(b=0;b<d.length;b++)c[d[b]]=!0;return c}function M(a){return wd(a.nodeName||a[0]&&a[0].nodeName)}function N(a,b){var c=a.indexOf(b);return c>=0&&a.splice(c,1),c}function O(a,b){function c(a,b){var c,e=b.$$hashKey;if(Od(a))for(var f=0,g=a.length;g>f;f++)b.push(d(a[f]));else if(w(a))for(c in a)b[c]=d(a[c]);else if(a&&"function"==typeof a.hasOwnProperty)for(c in a)a.hasOwnProperty(c)&&(b[c]=d(a[c]));else for(c in a)xd.call(a,c)&&(b[c]=d(a[c]));return j(b,e),b}function d(a){if(!v(a))return a;var b=e.indexOf(a);if(-1!==b)return g[b];if(C(a)||D(a))throw Kd("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");var d,f=!1;return Od(a)?(d=[],f=!0):J(a)?d=new a.constructor(a):z(a)?d=new Date(a.getTime()):B(a)?(d=new RegExp(a.source,a.toString().match(/[^\/]*$/)[0]),d.lastIndex=a.lastIndex):A(a.cloneNode)?d=a.cloneNode(!0):(d=Object.create(Jd(a)),f=!0),e.push(a),g.push(d),f?c(a,d):d}var e=[],g=[];if(b){if(J(b))throw Kd("cpta","Can't copy! TypedArray destination cannot be mutated.");if(a===b)throw Kd("cpi","Can't copy! Source and destination are identical.");return Od(b)?b.length=0:f(b,function(a,c){"$$hashKey"!==c&&delete b[c]}),e.push(a),g.push(b),c(a,b)}return d(a)}function P(a,b){if(Od(a)){b=b||[];for(var c=0,d=a.length;d>c;c++)b[c]=a[c]}else if(v(a)){b=b||{};for(var e in a)("$"!==e.charAt(0)||"$"!==e.charAt(1))&&(b[e]=a[e])}return b||a}function Q(a,b){if(a===b)return!0;if(null===a||null===b)return!1;if(a!==a&&b!==b)return!0;var c,d,e,f=typeof a,g=typeof b;if(f==g&&"object"==f){if(!Od(a)){if(z(a))return z(b)?Q(a.getTime(),b.getTime()):!1;if(B(a))return B(b)?a.toString()==b.toString():!1;if(D(a)||D(b)||C(a)||C(b)||Od(b)||z(b)||B(b))return!1;e=qa();for(d in a)if("$"!==d.charAt(0)&&!A(a[d])){if(!Q(a[d],b[d]))return!1;e[d]=!0}for(d in b)if(!(d in e)&&"$"!==d.charAt(0)&&u(b[d])&&!A(b[d]))return!1;return!0}if(!Od(b))return!1;if((c=a.length)==b.length){for(d=0;c>d;d++)if(!Q(a[d],b[d]))return!1;return!0}}return!1}function R(a,b,c){return a.concat(Fd.call(b,c))}function S(a,b){return Fd.call(a,b||0)}function T(a,b){var c=arguments.length>2?S(arguments,2):[];return!A(b)||b instanceof RegExp?b:c.length?function(){return arguments.length?b.apply(a,R(c,arguments,0)):b.apply(a,c)}:function(){return arguments.length?b.apply(a,arguments):b.call(a)}}function U(a,d){var e=d;return"string"==typeof a&&"$"===a.charAt(0)&&"$"===a.charAt(1)?e=c:C(d)?e="$WINDOW":d&&b===d?e="$DOCUMENT":D(d)&&(e="$SCOPE"),e}function V(a,b){return"undefined"==typeof a?c:(y(b)||(b=b?2:null),JSON.stringify(a,U,b))}function W(a){return x(a)?JSON.parse(a):a}function X(a,b){var c=Date.parse("Jan 01, 1970 00:00:00 "+a)/6e4;return isNaN(c)?b:c}function Y(a,b){return a=new Date(a.getTime()),a.setMinutes(a.getMinutes()+b),a}function Z(a,b,c){c=c?-1:1;var d=X(b,a.getTimezoneOffset());return Y(a,c*(d-a.getTimezoneOffset()))}function $(a){a=Cd(a).clone();try{a.empty()}catch(b){}var c=Cd("<div>").append(a).html();try{return a[0].nodeType===Zd?wd(c):c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+wd(b)})}catch(b){return wd(c)}}function _(a){try{return decodeURIComponent(a)}catch(b){}}function aa(a){var b={};return f((a||"").split("&"),function(a){var c,d,e;a&&(d=a=a.replace(/\+/g,"%20"),c=a.indexOf("="),-1!==c&&(d=a.substring(0,c),e=a.substring(c+1)),d=_(d),u(d)&&(e=u(e)?_(e):!0,xd.call(b,d)?Od(b[d])?b[d].push(e):b[d]=[b[d],e]:b[d]=e))}),b}function ba(a){var b=[];return f(a,function(a,c){Od(a)?f(a,function(a){b.push(da(c,!0)+(a===!0?"":"="+da(a,!0)))}):b.push(da(c,!0)+(a===!0?"":"="+da(a,!0)))}),b.length?b.join("&"):""}function ca(a){return da(a,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function da(a,b){return encodeURIComponent(a).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,b?"%20":"+")}function ea(a,b){var c,d,e=Ud.length;for(d=0;e>d;++d)if(c=Ud[d]+b,x(c=a.getAttribute(c)))return c;return null}function fa(a,b){var c,d,e={};f(Ud,function(b){var e=b+"app";!c&&a.hasAttribute&&a.hasAttribute(e)&&(c=a,d=a.getAttribute(e))}),f(Ud,function(b){var e,f=b+"app";!c&&(e=a.querySelector("["+f.replace(":","\\:")+"]"))&&(c=e,d=e.getAttribute(f))}),c&&(e.strictDi=null!==ea(c,"strict-di"),b(c,d?[d]:[],e))}function ga(c,d,e){v(e)||(e={});var g={strictDi:!1};e=l(g,e);var h=function(){if(c=Cd(c),c.injector()){var a=c[0]===b?"document":$(c);throw Kd("btstrpd","App Already Bootstrapped with this Element '{0}'",a.replace(/</,"&lt;").replace(/>/,"&gt;"))}d=d||[],d.unshift(["$provide",function(a){a.value("$rootElement",c)}]),e.debugInfoEnabled&&d.push(["$compileProvider",function(a){a.debugInfoEnabled(!0)}]),d.unshift("ng");var f=ab(d,e.strictDi);return f.invoke(["$rootScope","$rootElement","$compile","$injector",function(a,b,c,d){a.$apply(function(){b.data("$injector",d),c(b)(a)})}]),f},i=/^NG_ENABLE_DEBUG_INFO!/,j=/^NG_DEFER_BOOTSTRAP!/;return a&&i.test(a.name)&&(e.debugInfoEnabled=!0,a.name=a.name.replace(i,"")),a&&!j.test(a.name)?h():(a.name=a.name.replace(j,""),Ld.resumeBootstrap=function(a){return f(a,function(a){d.push(a)}),h()},void(A(Ld.resumeDeferredBootstrap)&&Ld.resumeDeferredBootstrap()))}function ha(){a.name="NG_ENABLE_DEBUG_INFO!"+a.name,a.location.reload()}function ia(a){var b=Ld.element(a).injector();if(!b)throw Kd("test","no injector found for element argument to getTestability");return b.get("$$testability")}function ja(a,b){return b=b||"_",a.replace(Vd,function(a,c){return(c?b:"")+a.toLowerCase()})}function ka(){var b;if(!Wd){var d=Td();Dd=t(d)?a.jQuery:d?a[d]:c,Dd&&Dd.fn.on?(Cd=Dd,l(Dd.fn,{scope:qe.scope,isolateScope:qe.isolateScope,controller:qe.controller,injector:qe.injector,inheritedData:qe.inheritedData}),b=Dd.cleanData,Dd.cleanData=function(a){var c;if(Nd)Nd=!1;else for(var d,e=0;null!=(d=a[e]);e++)c=Dd._data(d,"events"),c&&c.$destroy&&Dd(d).triggerHandler("$destroy");b(a)}):Cd=Ca,Ld.element=Cd,Wd=!0}}function la(a,b,c){if(!a)throw Kd("areq","Argument '{0}' is {1}",b||"?",c||"required");return a}function ma(a,b,c){return c&&Od(a)&&(a=a[a.length-1]),la(A(a),b,"not a function, got "+(a&&"object"==typeof a?a.constructor.name||"Object":typeof a)),a}function na(a,b){if("hasOwnProperty"===a)throw Kd("badname","hasOwnProperty is not a valid {0} name",b)}function oa(a,b,c){if(!b)return a;for(var d,e=b.split("."),f=a,g=e.length,h=0;g>h;h++)d=e[h],a&&(a=(f=a)[d]);return!c&&A(a)?T(f,a):a}function pa(a){for(var b,c=a[0],d=a[a.length-1],e=1;c!==d&&(c=c.nextSibling);e++)(b||a[e]!==c)&&(b||(b=Cd(Fd.call(a,0,e))),b.push(c));return b||a}function qa(){return Object.create(null)}function ra(a){function b(a,b,c){return a[b]||(a[b]=c())}var c=d("$injector"),e=d("ng"),f=b(a,"angular",Object);return f.$$minErr=f.$$minErr||d,b(f,"module",function(){var a={};return function(d,f,g){var h=function(a,b){if("hasOwnProperty"===a)throw e("badname","hasOwnProperty is not a valid {0} name",b)};return h(d,"module"),f&&a.hasOwnProperty(d)&&(a[d]=null),
+b(a,d,function(){function a(a,b,c,d){return d||(d=e),function(){return d[c||"push"]([a,b,arguments]),k}}function b(a,b){return function(c,f){return f&&A(f)&&(f.$$moduleName=d),e.push([a,b,arguments]),k}}if(!f)throw c("nomod","Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.",d);var e=[],h=[],i=[],j=a("$injector","invoke","push",h),k={_invokeQueue:e,_configBlocks:h,_runBlocks:i,requires:f,name:d,provider:b("$provide","provider"),factory:b("$provide","factory"),service:b("$provide","service"),value:a("$provide","value"),constant:a("$provide","constant","unshift"),decorator:b("$provide","decorator"),animation:b("$animateProvider","register"),filter:b("$filterProvider","register"),controller:b("$controllerProvider","register"),directive:b("$compileProvider","directive"),config:j,run:function(a){return i.push(a),this}};return g&&j(g),k})}})}function sa(a){var b=[];return JSON.stringify(a,function(a,c){if(c=U(a,c),v(c)){if(b.indexOf(c)>=0)return"...";b.push(c)}return c})}function ta(a){return"function"==typeof a?a.toString().replace(/ \{[\s\S]*$/,""):t(a)?"undefined":"string"!=typeof a?sa(a):a}function ua(b){l(b,{bootstrap:ga,copy:O,extend:l,merge:m,equals:Q,element:Cd,forEach:f,injector:ab,noop:p,bind:T,toJson:V,fromJson:W,identity:q,isUndefined:t,isDefined:u,isString:x,isFunction:A,isObject:v,isNumber:y,isElement:K,isArray:Od,version:be,isDate:z,lowercase:wd,uppercase:yd,callbacks:{counter:0},getTestability:ia,$$minErr:d,$$csp:Sd,reloadWithDebugInfo:ha}),(Ed=ra(a))("ng",["ngLocale"],["$provide",function(a){a.provider({$$sanitizeUri:sc}),a.provider("$compile",kb).directive({a:rf,input:If,textarea:If,form:wf,script:Ag,select:Dg,style:Fg,option:Eg,ngBind:Lf,ngBindHtml:Nf,ngBindTemplate:Mf,ngClass:Pf,ngClassEven:Rf,ngClassOdd:Qf,ngCloak:Sf,ngController:Tf,ngForm:xf,ngHide:ug,ngIf:Wf,ngInclude:Xf,ngInit:Zf,ngNonBindable:lg,ngPluralize:pg,ngRepeat:qg,ngShow:tg,ngStyle:vg,ngSwitch:wg,ngSwitchWhen:xg,ngSwitchDefault:yg,ngOptions:og,ngTransclude:zg,ngModel:ig,ngList:$f,ngChange:Of,pattern:Hg,ngPattern:Hg,required:Gg,ngRequired:Gg,minlength:Jg,ngMinlength:Jg,maxlength:Ig,ngMaxlength:Ig,ngValue:Kf,ngModelOptions:kg}).directive({ngInclude:Yf}).directive(sf).directive(Uf),a.provider({$anchorScroll:bb,$animate:Fe,$animateCss:Ge,$$animateQueue:Ee,$$AnimateRunner:De,$browser:hb,$cacheFactory:ib,$controller:pb,$document:qb,$exceptionHandler:rb,$filter:Gc,$$forceReflow:Le,$interpolate:Fb,$interval:Gb,$http:Bb,$httpParamSerializer:tb,$httpParamSerializerJQLike:ub,$httpBackend:Db,$xhrFactory:Cb,$location:Ub,$log:Vb,$parse:mc,$rootScope:rc,$q:nc,$$q:oc,$sce:wc,$sceDelegate:vc,$sniffer:xc,$templateCache:jb,$templateRequest:yc,$$testability:zc,$timeout:Ac,$window:Dc,$$rAF:qc,$$jqLite:Xa,$$HashMap:ue,$$cookieReader:Fc})}])}function va(){return++de}function wa(a){return a.replace(ge,function(a,b,c,d){return d?c.toUpperCase():c}).replace(he,"Moz$1")}function xa(a){return!le.test(a)}function ya(a){var b=a.nodeType;return b===Xd||!b||b===_d}function za(a){for(var b in ce[a.ng339])return!0;return!1}function Aa(a,b){var c,d,e,g,h=b.createDocumentFragment(),i=[];if(xa(a))i.push(b.createTextNode(a));else{for(c=c||h.appendChild(b.createElement("div")),d=(me.exec(a)||["",""])[1].toLowerCase(),e=oe[d]||oe._default,c.innerHTML=e[1]+a.replace(ne,"<$1></$2>")+e[2],g=e[0];g--;)c=c.lastChild;i=R(i,c.childNodes),c=h.firstChild,c.textContent=""}return h.textContent="",h.innerHTML="",f(i,function(a){h.appendChild(a)}),h}function Ba(a,c){c=c||b;var d;return(d=ke.exec(a))?[c.createElement(d[1])]:(d=Aa(a,c))?d.childNodes:[]}function Ca(a){if(a instanceof Ca)return a;var b;if(x(a)&&(a=Qd(a),b=!0),!(this instanceof Ca)){if(b&&"<"!=a.charAt(0))throw je("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new Ca(a)}b?Ma(this,Ba(a)):Ma(this,a)}function Da(a){return a.cloneNode(!0)}function Ea(a,b){if(b||Ga(a),a.querySelectorAll)for(var c=a.querySelectorAll("*"),d=0,e=c.length;e>d;d++)Ga(c[d])}function Fa(a,b,c,d){if(u(d))throw je("offargs","jqLite#off() does not support the `selector` argument");var e=Ha(a),g=e&&e.events,h=e&&e.handle;if(h)if(b){var i=function(b){var d=g[b];u(c)&&N(d||[],c),u(c)&&d&&d.length>0||(fe(a,b,h),delete g[b])};f(b.split(" "),function(a){i(a),ie[a]&&i(ie[a])})}else for(b in g)"$destroy"!==b&&fe(a,b,h),delete g[b]}function Ga(a,b){var d=a.ng339,e=d&&ce[d];if(e){if(b)return void delete e.data[b];e.handle&&(e.events.$destroy&&e.handle({},"$destroy"),Fa(a)),delete ce[d],a.ng339=c}}function Ha(a,b){var d=a.ng339,e=d&&ce[d];return b&&!e&&(a.ng339=d=va(),e=ce[d]={events:{},data:{},handle:c}),e}function Ia(a,b,c){if(ya(a)){var d=u(c),e=!d&&b&&!v(b),f=!b,g=Ha(a,!e),h=g&&g.data;if(d)h[b]=c;else{if(f)return h;if(e)return h&&h[b];l(h,b)}}}function Ja(a,b){return a.getAttribute?(" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+b+" ")>-1:!1}function Ka(a,b){b&&a.setAttribute&&f(b.split(" "),function(b){a.setAttribute("class",Qd((" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+Qd(b)+" "," ")))})}function La(a,b){if(b&&a.setAttribute){var c=(" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");f(b.split(" "),function(a){a=Qd(a),-1===c.indexOf(" "+a+" ")&&(c+=a+" ")}),a.setAttribute("class",Qd(c))}}function Ma(a,b){if(b)if(b.nodeType)a[a.length++]=b;else{var c=b.length;if("number"==typeof c&&b.window!==b){if(c)for(var d=0;c>d;d++)a[a.length++]=b[d]}else a[a.length++]=b}}function Na(a,b){return Oa(a,"$"+(b||"ngController")+"Controller")}function Oa(a,b,c){a.nodeType==_d&&(a=a.documentElement);for(var d=Od(b)?b:[b];a;){for(var e=0,f=d.length;f>e;e++)if(u(c=Cd.data(a,d[e])))return c;a=a.parentNode||a.nodeType===ae&&a.host}}function Pa(a){for(Ea(a,!0);a.firstChild;)a.removeChild(a.firstChild)}function Qa(a,b){b||Ea(a);var c=a.parentNode;c&&c.removeChild(a)}function Ra(b,c){c=c||a,"complete"===c.document.readyState?c.setTimeout(b):Cd(c).on("load",b)}function Sa(a,b){var c=re[b.toLowerCase()];return c&&se[M(a)]&&c}function Ta(a){return te[a]}function Ua(a,b){var c=function(c,d){c.isDefaultPrevented=function(){return c.defaultPrevented};var e=b[d||c.type],f=e?e.length:0;if(f){if(t(c.immediatePropagationStopped)){var g=c.stopImmediatePropagation;c.stopImmediatePropagation=function(){c.immediatePropagationStopped=!0,c.stopPropagation&&c.stopPropagation(),g&&g.call(c)}}c.isImmediatePropagationStopped=function(){return c.immediatePropagationStopped===!0};var h=e.specialHandlerWrapper||Va;f>1&&(e=P(e));for(var i=0;f>i;i++)c.isImmediatePropagationStopped()||h(a,c,e[i])}};return c.elem=a,c}function Va(a,b,c){c.call(a,b)}function Wa(a,b,c){var d=b.relatedTarget;(!d||d!==a&&!pe.call(a,d))&&c.call(a,b)}function Xa(){this.$get=function(){return l(Ca,{hasClass:function(a,b){return a.attr&&(a=a[0]),Ja(a,b)},addClass:function(a,b){return a.attr&&(a=a[0]),La(a,b)},removeClass:function(a,b){return a.attr&&(a=a[0]),Ka(a,b)}})}}function Ya(a,b){var c=a&&a.$$hashKey;if(c)return"function"==typeof c&&(c=a.$$hashKey()),c;var d=typeof a;return c="function"==d||"object"==d&&null!==a?a.$$hashKey=d+":"+(b||i)():d+":"+a}function Za(a,b){if(b){var c=0;this.nextUid=function(){return++c}}f(a,this.put,this)}function $a(a){var b=a.toString().replace(ye,""),c=b.match(ve);return c?"function("+(c[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function _a(a,b,c){var d,e,g,h;if("function"==typeof a){if(!(d=a.$inject)){if(d=[],a.length){if(b)throw x(c)&&c||(c=a.name||$a(a)),ze("strictdi","{0} is not using explicit annotation and cannot be invoked in strict mode",c);e=a.toString().replace(ye,""),g=e.match(ve),f(g[1].split(we),function(a){a.replace(xe,function(a,b,c){d.push(c)})})}a.$inject=d}}else Od(a)?(h=a.length-1,ma(a[h],"fn"),d=a.slice(0,h)):ma(a,"fn",!0);return d}function ab(a,b){function d(a){return function(b,c){return v(b)?void f(b,h(a)):a(b,c)}}function e(a,b){if(na(a,"service"),(A(b)||Od(b))&&(b=y.instantiate(b)),!b.$get)throw ze("pget","Provider '{0}' must define $get factory method.",a);return w[a+q]=b}function g(a,b){return function(){var c=B.invoke(b,this);if(t(c))throw ze("undef","Provider '{0}' must return a value from $get factory method.",a);return c}}function i(a,b,c){return e(a,{$get:c!==!1?g(a,b):b})}function j(a,b){return i(a,["$injector",function(a){return a.instantiate(b)}])}function k(a,b){return i(a,r(b),!1)}function l(a,b){na(a,"constant"),w[a]=b,z[a]=b}function m(a,b){var c=y.get(a+q),d=c.$get;c.$get=function(){var a=B.invoke(d,c);return B.invoke(b,null,{$delegate:a})}}function n(a){la(t(a)||Od(a),"modulesToLoad","not an array");var b,c=[];return f(a,function(a){function d(a){var b,c;for(b=0,c=a.length;c>b;b++){var d=a[b],e=y.get(d[0]);e[d[1]].apply(e,d[2])}}if(!u.get(a)){u.put(a,!0);try{x(a)?(b=Ed(a),c=c.concat(n(b.requires)).concat(b._runBlocks),d(b._invokeQueue),d(b._configBlocks)):A(a)?c.push(y.invoke(a)):Od(a)?c.push(y.invoke(a)):ma(a,"module")}catch(e){throw Od(a)&&(a=a[a.length-1]),e.message&&e.stack&&-1==e.stack.indexOf(e.message)&&(e=e.message+"\n"+e.stack),ze("modulerr","Failed to instantiate module {0} due to:\n{1}",a,e.stack||e.message||e)}}}),c}function o(a,c){function d(b,d){if(a.hasOwnProperty(b)){if(a[b]===p)throw ze("cdep","Circular dependency found: {0}",b+" <- "+s.join(" <- "));return a[b]}try{return s.unshift(b),a[b]=p,a[b]=c(b,d)}catch(e){throw a[b]===p&&delete a[b],e}finally{s.shift()}}function e(a,c,e,f){"string"==typeof e&&(f=e,e=null);var g,h,i,j=[],k=ab.$$annotate(a,b,f);for(h=0,g=k.length;g>h;h++){if(i=k[h],"string"!=typeof i)throw ze("itkn","Incorrect injection token! Expected service name as string, got {0}",i);j.push(e&&e.hasOwnProperty(i)?e[i]:d(i,f))}return Od(a)&&(a=a[g]),a.apply(c,j)}function f(a,b,c){var d=Object.create((Od(a)?a[a.length-1]:a).prototype||null),f=e(a,d,b,c);return v(f)||A(f)?f:d}return{invoke:e,instantiate:f,get:d,annotate:ab.$$annotate,has:function(b){return w.hasOwnProperty(b+q)||a.hasOwnProperty(b)}}}b=b===!0;var p={},q="Provider",s=[],u=new Za([],!0),w={$provide:{provider:d(e),factory:d(i),service:d(j),value:d(k),constant:d(l),decorator:m}},y=w.$injector=o(w,function(a,b){throw Ld.isString(b)&&s.push(b),ze("unpr","Unknown provider: {0}",s.join(" <- "))}),z={},B=z.$injector=o(z,function(a,b){var d=y.get(a+q,b);return B.invoke(d.$get,d,c,a)});return f(n(a),function(a){a&&B.invoke(a)}),B}function bb(){var a=!0;this.disableAutoScrolling=function(){a=!1},this.$get=["$window","$location","$rootScope",function(b,c,d){function e(a){var b=null;return Array.prototype.some.call(a,function(a){return"a"===M(a)?(b=a,!0):void 0}),b}function f(){var a=h.yOffset;if(A(a))a=a();else if(K(a)){var c=a[0],d=b.getComputedStyle(c);a="fixed"!==d.position?0:c.getBoundingClientRect().bottom}else y(a)||(a=0);return a}function g(a){if(a){a.scrollIntoView();var c=f();if(c){var d=a.getBoundingClientRect().top;b.scrollBy(0,d-c)}}else b.scrollTo(0,0)}function h(a){a=x(a)?a:c.hash();var b;a?(b=i.getElementById(a))?g(b):(b=e(i.getElementsByName(a)))?g(b):"top"===a&&g(null):g(null)}var i=b.document;return a&&d.$watch(function(){return c.hash()},function(a,b){(a!==b||""!==a)&&Ra(function(){d.$evalAsync(h)})}),h}]}function cb(a,b){return a||b?a?b?(Od(a)&&(a=a.join(" ")),Od(b)&&(b=b.join(" ")),a+" "+b):a:b:""}function db(a){for(var b=0;b<a.length;b++){var c=a[b];if(c.nodeType===Be)return c}}function eb(a){x(a)&&(a=a.split(" "));var b=qa();return f(a,function(a){a.length&&(b[a]=!0)}),b}function fb(a){return v(a)?a:{}}function gb(a,b,c,d){function e(a){try{a.apply(null,S(arguments,1))}finally{if(s--,0===s)for(;u.length;)try{u.pop()()}catch(b){c.error(b)}}}function g(a){var b=a.indexOf("#");return-1===b?"":a.substr(b)}function h(){z=null,j(),k()}function i(){try{return n.state}catch(a){}}function j(){v=i(),v=t(v)?null:v,Q(v,C)&&(v=C),C=v}function k(){(x!==l.url()||w!==v)&&(x=l.url(),w=v,f(A,function(a){a(l.url(),v)}))}var l=this,m=(b[0],a.location),n=a.history,o=a.setTimeout,q=a.clearTimeout,r={};l.isMock=!1;var s=0,u=[];l.$$completeOutstandingRequest=e,l.$$incOutstandingRequestCount=function(){s++},l.notifyWhenNoOutstandingRequests=function(a){0===s?a():u.push(a)};var v,w,x=m.href,y=b.find("base"),z=null;j(),w=v,l.url=function(b,c,e){if(t(e)&&(e=null),m!==a.location&&(m=a.location),n!==a.history&&(n=a.history),b){var f=w===e;if(x===b&&(!d.history||f))return l;var h=x&&Lb(x)===Lb(b);return x=b,w=e,!d.history||h&&f?((!h||z)&&(z=b),c?m.replace(b):h?m.hash=g(b):m.href=b,m.href!==b&&(z=b)):(n[c?"replaceState":"pushState"](e,"",b),j(),w=v),l}return z||m.href.replace(/%27/g,"'")},l.state=function(){return v};var A=[],B=!1,C=null;l.onUrlChange=function(b){return B||(d.history&&Cd(a).on("popstate",h),Cd(a).on("hashchange",h),B=!0),A.push(b),b},l.$$applicationDestroyed=function(){Cd(a).off("hashchange popstate",h)},l.$$checkUrlChange=k,l.baseHref=function(){var a=y.attr("href");return a?a.replace(/^(https?\:)?\/\/[^\/]*/,""):""},l.defer=function(a,b){var c;return s++,c=o(function(){delete r[c],e(a)},b||0),r[c]=!0,c},l.defer.cancel=function(a){return r[a]?(delete r[a],q(a),e(p),!0):!1}}function hb(){this.$get=["$window","$log","$sniffer","$document",function(a,b,c,d){return new gb(a,d,b,c)}]}function ib(){this.$get=function(){function a(a,c){function e(a){a!=m&&(n?n==a&&(n=a.n):n=a,f(a.n,a.p),f(a,m),m=a,m.n=null)}function f(a,b){a!=b&&(a&&(a.p=b),b&&(b.n=a))}if(a in b)throw d("$cacheFactory")("iid","CacheId '{0}' is already taken!",a);var g=0,h=l({},c,{id:a}),i=qa(),j=c&&c.capacity||Number.MAX_VALUE,k=qa(),m=null,n=null;return b[a]={put:function(a,b){if(!t(b)){if(j<Number.MAX_VALUE){var c=k[a]||(k[a]={key:a});e(c)}return a in i||g++,i[a]=b,g>j&&this.remove(n.key),b}},get:function(a){if(j<Number.MAX_VALUE){var b=k[a];if(!b)return;e(b)}return i[a]},remove:function(a){if(j<Number.MAX_VALUE){var b=k[a];if(!b)return;b==m&&(m=b.p),b==n&&(n=b.n),f(b.n,b.p),delete k[a]}a in i&&(delete i[a],g--)},removeAll:function(){i=qa(),g=0,k=qa(),m=n=null},destroy:function(){i=null,h=null,k=null,delete b[a]},info:function(){return l({},h,{size:g})}}}var b={};return a.info=function(){var a={};return f(b,function(b,c){a[c]=b.info()}),a},a.get=function(a){return b[a]},a}}function jb(){this.$get=["$cacheFactory",function(a){return a("templates")}]}function kb(a,d){function e(a,b,c){var d=/^\s*([@&]|=(\*?))(\??)\s*(\w*)\s*$/,e={};return f(a,function(a,f){var g=a.match(d);if(!g)throw He("iscp","Invalid {3} for directive '{0}'. Definition: {... {1}: '{2}' ...}",b,f,a,c?"controller bindings definition":"isolate scope definition");e[f]={mode:g[1][0],collection:"*"===g[2],optional:"?"===g[3],attrName:g[4]||f}}),e}function g(a,b){var c={isolateScope:null,bindToController:null};if(v(a.scope)&&(a.bindToController===!0?(c.bindToController=e(a.scope,b,!0),c.isolateScope={}):c.isolateScope=e(a.scope,b,!1)),v(a.bindToController)&&(c.bindToController=e(a.bindToController,b,!0)),v(c.bindToController)){var d=a.controller,f=a.controllerAs;if(!d)throw He("noctrl","Cannot bind to controller without directive '{0}'s controller.",b);if(!ob(d,f))throw He("noident","Cannot bind to controller without identifier for directive '{0}'.",b)}return c}function i(a){var b=a.charAt(0);if(!b||b!==wd(b))throw He("baddir","Directive name '{0}' is invalid. The first character must be a lowercase letter",a);if(a!==a.trim())throw He("baddir","Directive name '{0}' is invalid. The name should not contain leading or trailing whitespaces",a)}var j={},k="Directive",m=/^\s*directive\:\s*([\w\-]+)\s+(.*)$/,n=/(([\w\-]+)(?:\:([^;]+))?;?)/,s=L("ngSrc,ngSrcset,src,srcset"),w=/^(?:(\^\^?)?(\?)?(\^\^?)?)?/,y=/^(on[a-z]+|formaction)$/;this.directive=function B(b,c){return na(b,"directive"),x(b)?(i(b),la(c,"directiveFactory"),j.hasOwnProperty(b)||(j[b]=[],a.factory(b+k,["$injector","$exceptionHandler",function(a,c){var d=[];return f(j[b],function(e,f){try{var h=a.invoke(e);A(h)?h={compile:r(h)}:!h.compile&&h.link&&(h.compile=r(h.link)),h.priority=h.priority||0,h.index=f,h.name=h.name||b,h.require=h.require||h.controller&&h.name,h.restrict=h.restrict||"EA";var i=h.$$bindings=g(h,h.name);v(i.isolateScope)&&(h.$$isolateBindings=i.isolateScope),h.$$moduleName=e.$$moduleName,d.push(h)}catch(j){c(j)}}),d}])),j[b].push(c)):f(b,h(B)),this},this.aHrefSanitizationWhitelist=function(a){return u(a)?(d.aHrefSanitizationWhitelist(a),this):d.aHrefSanitizationWhitelist()},this.imgSrcSanitizationWhitelist=function(a){return u(a)?(d.imgSrcSanitizationWhitelist(a),this):d.imgSrcSanitizationWhitelist()};var z=!0;this.debugInfoEnabled=function(a){return u(a)?(z=a,this):z},this.$get=["$injector","$interpolate","$exceptionHandler","$templateRequest","$parse","$controller","$rootScope","$document","$sce","$animate","$$sanitizeUri",function(a,d,e,g,h,i,r,u,B,C,E){function F(a,b){try{a.addClass(b)}catch(c){}}function G(a,b,c,d,e){a instanceof Cd||(a=Cd(a)),f(a,function(b,c){b.nodeType==Zd&&b.nodeValue.match(/\S+/)&&(a[c]=Cd(b).wrap("<span></span>").parent()[0])});var g=I(a,b,a,c,d,e);G.$$addScopeClass(a);var h=null;return function(b,c,d){la(b,"scope"),e&&e.needsNewScope&&(b=b.$parent.$new()),d=d||{};var f=d.parentBoundTranscludeFn,i=d.transcludeControllers,j=d.futureParentElement;f&&f.$$boundTransclude&&(f=f.$$boundTransclude),h||(h=H(j));var k;if(k="html"!==h?Cd(_(h,Cd("<div>").append(a).html())):c?qe.clone.call(a):a,i)for(var l in i)k.data("$"+l+"Controller",i[l].instance);return G.$$addScopeInfo(k,b),c&&c(k,b),g&&g(b,k,k,f),k}}function H(a){var b=a&&a[0];return b&&"foreignobject"!==M(b)&&b.toString().match(/SVG/)?"svg":"html"}function I(a,b,d,e,f,g){function h(a,d,e,f){var g,h,i,j,k,l,m,n,q;if(o){var r=d.length;for(q=new Array(r),k=0;k<p.length;k+=3)m=p[k],q[m]=d[m]}else q=d;for(k=0,l=p.length;l>k;)i=q[p[k++]],g=p[k++],h=p[k++],g?(g.scope?(j=a.$new(),G.$$addScopeInfo(Cd(i),j)):j=a,n=g.transcludeOnThisElement?J(a,g.transclude,f):!g.templateOnThisElement&&f?f:!f&&b?J(a,b):null,g(h,j,i,e,n)):h&&h(a,i.childNodes,c,f)}for(var i,j,k,l,m,n,o,p=[],q=0;q<a.length;q++)i=new ga,j=K(a[q],[],i,0===q?e:c,f),k=j.length?P(j,a[q],i,b,d,null,[],[],g):null,k&&k.scope&&G.$$addScopeClass(i.$$element),m=k&&k.terminal||!(l=a[q].childNodes)||!l.length?null:I(l,k?(k.transcludeOnThisElement||!k.templateOnThisElement)&&k.transclude:b),(k||m)&&(p.push(q,k,m),n=!0,o=o||k),g=null;return n?h:null}function J(a,b,c){var d=function(d,e,f,g,h){return d||(d=a.$new(!1,h),d.$$transcluded=!0),b(d,e,{parentBoundTranscludeFn:c,transcludeControllers:f,futureParentElement:g})};return d}function K(a,b,c,d,e){var f,g,h=a.nodeType,i=c.$attr;switch(h){case Xd:T(b,lb(M(a)),"E",d,e);for(var j,k,l,o,p,q,r=a.attributes,s=0,t=r&&r.length;t>s;s++){var u=!1,w=!1;j=r[s],k=j.name,p=Qd(j.value),o=lb(k),(q=ma.test(o))&&(k=k.replace(Ie,"").substr(8).replace(/_(.)/g,function(a,b){return b.toUpperCase()}));var y=o.match(na);y&&U(y[1])&&(u=k,w=k.substr(0,k.length-5)+"end",k=k.substr(0,k.length-6)),l=lb(k.toLowerCase()),i[l]=k,(q||!c.hasOwnProperty(l))&&(c[l]=p,Sa(a,l)&&(c[l]=!0)),ba(a,b,p,l,q),T(b,l,"A",d,e,u,w)}if(g=a.className,v(g)&&(g=g.animVal),x(g)&&""!==g)for(;f=n.exec(g);)l=lb(f[2]),T(b,l,"C",d,e)&&(c[l]=Qd(f[3])),g=g.substr(f.index+f[0].length);break;case Zd:if(11===Bd)for(;a.parentNode&&a.nextSibling&&a.nextSibling.nodeType===Zd;)a.nodeValue=a.nodeValue+a.nextSibling.nodeValue,a.parentNode.removeChild(a.nextSibling);Z(b,a.nodeValue);break;case $d:try{f=m.exec(a.nodeValue),f&&(l=lb(f[1]),T(b,l,"M",d,e)&&(c[l]=Qd(f[2])))}catch(z){}}return b.sort(X),b}function L(a,b,c){var d=[],e=0;if(b&&a.hasAttribute&&a.hasAttribute(b)){do{if(!a)throw He("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",b,c);a.nodeType==Xd&&(a.hasAttribute(b)&&e++,a.hasAttribute(c)&&e--),d.push(a),a=a.nextSibling}while(e>0)}else d.push(a);return Cd(d)}function O(a,b,c){return function(d,e,f,g,h){return e=L(e[0],b,c),a(d,e,f,g,h)}}function P(a,d,f,g,h,j,k,l,m){function n(a,b,c,d){a&&(c&&(a=O(a,c,d)),a.require=r.require,a.directiveName=s,(E===r||r.$$isolateScope)&&(a=da(a,{isolateScope:!0})),k.push(a)),b&&(c&&(b=O(b,c,d)),b.require=r.require,b.directiveName=s,(E===r||r.$$isolateScope)&&(b=da(b,{isolateScope:!0})),l.push(b))}function o(a,b,c,d){var e;if(x(b)){var f=b.match(w),g=b.substring(f[0].length),h=f[1]||f[3],i="?"===f[2];if("^^"===h?c=c.parent():(e=d&&d[g],e=e&&e.instance),!e){var j="$"+g+"Controller";e=h?c.inheritedData(j):c.data(j)}if(!e&&!i)throw He("ctreq","Controller '{0}', required by directive '{1}', can't be found!",g,a)}else if(Od(b)){e=[];for(var k=0,l=b.length;l>k;k++)e[k]=o(a,b[k],c,d)}return e||null}function p(a,b,c,d,e,f){var g=qa();for(var h in d){var j=d[h],k={$scope:j===E||j.$$isolateScope?e:f,$element:a,$attrs:b,$transclude:c},l=j.controller;"@"==l&&(l=b[j.name]);var m=i(l,k,!0,j.controllerAs);g[j.name]=m,M||a.data("$"+j.name+"Controller",m.instance)}return g}function q(a,b,e,g,h){function i(a,b,d){var e;return D(a)||(d=b,b=a,a=c),M&&(e=q),d||(d=M?s.parent():s),h(a,b,e,d,H)}var j,m,n,q,r,s,t,u,v;d===e?(t=f,s=f.$$element):(s=Cd(e),t=new ga(s,f)),n=b,E?m=b.$new(!0):B&&(n=b.$parent),h&&(r=i,r.$$boundTransclude=h),C&&(q=p(s,t,r,C,m,b)),E&&(G.$$addScopeInfo(s,m,!0,!(F&&(F===E||F===E.$$originalDirective))),G.$$addScopeClass(s,!0),m.$$isolateBindings=E.$$isolateBindings,u=fa(b,t,m,m.$$isolateBindings,E),u&&m.$on("$destroy",u));for(var w in q){var x=C[w],y=q[w],z=x.$$bindings.bindToController;y.identifier&&z&&(v=fa(n,t,y.instance,z,x));var A=y();A!==y.instance&&(y.instance=A,s.data("$"+x.name+"Controller",A),v&&v(),v=fa(n,t,y.instance,z,x))}for(T=0,U=k.length;U>T;T++)j=k[T],ea(j,j.isolateScope?m:b,s,t,j.require&&o(j.directiveName,j.require,s,q),r);var H=b;for(E&&(E.template||null===E.templateUrl)&&(H=m),a&&a(H,e.childNodes,c,h),T=l.length-1;T>=0;T--)j=l[T],ea(j,j.isolateScope?m:b,s,t,j.require&&o(j.directiveName,j.require,s,q),r)}m=m||{};for(var r,s,t,u,y,z=-Number.MAX_VALUE,B=m.newScopeDirective,C=m.controllerDirectives,E=m.newIsolateScopeDirective,F=m.templateDirective,H=m.nonTlbTranscludeDirective,I=!1,J=!1,M=m.hasElementTranscludeDirective,N=f.$$element=Cd(d),P=j,Q=g,T=0,U=a.length;U>T;T++){r=a[T];var X=r.$$start,Z=r.$$end;if(X&&(N=L(d,X,Z)),t=c,z>r.priority)break;if((y=r.scope)&&(r.templateUrl||(v(y)?(Y("new/isolated scope",E||B,r,N),E=r):Y("new/isolated scope",E,r,N)),B=B||r),s=r.name,!r.templateUrl&&r.controller&&(y=r.controller,C=C||qa(),Y("'"+s+"' controller",C[s],r,N),C[s]=r),(y=r.transclude)&&(I=!0,r.$$tlb||(Y("transclusion",H,r,N),H=r),"element"==y?(M=!0,z=r.priority,t=N,N=f.$$element=Cd(b.createComment(" "+s+": "+f[s]+" ")),d=N[0],ca(h,S(t),d),Q=G(t,g,z,P&&P.name,{nonTlbTranscludeDirective:H})):(t=Cd(Da(d)).contents(),N.empty(),Q=G(t,g,c,c,{needsNewScope:r.$$isolateScope||r.$$newScope}))),r.template)if(J=!0,Y("template",F,r,N),F=r,y=A(r.template)?r.template(N,f):r.template,y=ka(y),r.replace){if(P=r,t=xa(y)?[]:nb(_(r.templateNamespace,Qd(y))),d=t[0],1!=t.length||d.nodeType!==Xd)throw He("tplrt","Template for directive '{0}' must have exactly one root element. {1}",s,"");ca(h,N,d);var aa={$attr:{}},ba=K(d,[],aa),ha=a.splice(T+1,a.length-(T+1));(E||B)&&R(ba,E,B),a=a.concat(ba).concat(ha),V(f,aa),U=a.length}else N.html(y);if(r.templateUrl)J=!0,Y("template",F,r,N),F=r,r.replace&&(P=r),q=W(a.splice(T,a.length-T),N,f,h,I&&Q,k,l,{controllerDirectives:C,newScopeDirective:B!==r&&B,newIsolateScopeDirective:E,templateDirective:F,nonTlbTranscludeDirective:H}),U=a.length;else if(r.compile)try{u=r.compile(N,f,Q),A(u)?n(null,u,X,Z):u&&n(u.pre,u.post,X,Z)}catch(ia){e(ia,$(N))}r.terminal&&(q.terminal=!0,z=Math.max(z,r.priority))}return q.scope=B&&B.scope===!0,q.transcludeOnThisElement=I,q.templateOnThisElement=J,q.transclude=Q,m.hasElementTranscludeDirective=M,q}function R(a,b,c){for(var d=0,e=a.length;e>d;d++)a[d]=o(a[d],{$$isolateScope:b,$$newScope:c})}function T(b,c,d,f,g,h,i){if(c===g)return null;var l=null;if(j.hasOwnProperty(c))for(var m,n=a.get(c+k),p=0,q=n.length;q>p;p++)try{m=n[p],(t(f)||f>m.priority)&&-1!=m.restrict.indexOf(d)&&(h&&(m=o(m,{$$start:h,$$end:i})),b.push(m),l=m)}catch(r){e(r)}return l}function U(b){if(j.hasOwnProperty(b))for(var c,d=a.get(b+k),e=0,f=d.length;f>e;e++)if(c=d[e],c.multiElement)return!0;return!1}function V(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;f(a,function(d,e){"$"!=e.charAt(0)&&(b[e]&&b[e]!==d&&(d+=("style"===e?";":" ")+b[e]),a.$set(e,d,!0,c[e]))}),f(b,function(b,f){"class"==f?(F(e,b),a["class"]=(a["class"]?a["class"]+" ":"")+b):"style"==f?(e.attr("style",e.attr("style")+";"+b),a.style=(a.style?a.style+";":"")+b):"$"==f.charAt(0)||a.hasOwnProperty(f)||(a[f]=b,d[f]=c[f])})}function W(a,b,c,d,e,h,i,j){var k,l,m=[],n=b[0],p=a.shift(),q=o(p,{templateUrl:null,transclude:null,replace:null,$$originalDirective:p}),r=A(p.templateUrl)?p.templateUrl(b,c):p.templateUrl,s=p.templateNamespace;return b.empty(),g(r).then(function(g){var o,t,u,w;if(g=ka(g),p.replace){if(u=xa(g)?[]:nb(_(s,Qd(g))),o=u[0],1!=u.length||o.nodeType!==Xd)throw He("tplrt","Template for directive '{0}' must have exactly one root element. {1}",p.name,r);t={$attr:{}},ca(d,b,o);var x=K(o,[],t);v(p.scope)&&R(x,!0),a=x.concat(a),V(c,t)}else o=n,b.html(g);for(a.unshift(q),k=P(a,o,c,e,b,p,h,i,j),f(d,function(a,c){a==o&&(d[c]=b[0])}),l=I(b[0].childNodes,e);m.length;){var y=m.shift(),z=m.shift(),A=m.shift(),B=m.shift(),C=b[0];if(!y.$$destroyed){if(z!==n){var D=z.className;j.hasElementTranscludeDirective&&p.replace||(C=Da(o)),ca(A,Cd(z),C),F(Cd(C),D)}w=k.transcludeOnThisElement?J(y,k.transclude,B):B,k(l,y,C,d,w)}}m=null}),function(a,b,c,d,e){var f=e;b.$$destroyed||(m?m.push(b,c,d,f):(k.transcludeOnThisElement&&(f=J(b,k.transclude,e)),k(l,b,c,d,f)))}}function X(a,b){var c=b.priority-a.priority;return 0!==c?c:a.name!==b.name?a.name<b.name?-1:1:a.index-b.index}function Y(a,b,c,d){function e(a){return a?" (module: "+a+")":""}if(b)throw He("multidir","Multiple directives [{0}{1}, {2}{3}] asking for {4} on: {5}",b.name,e(b.$$moduleName),c.name,e(c.$$moduleName),a,$(d))}function Z(a,b){var c=d(b,!0);c&&a.push({priority:0,compile:function(a){var b=a.parent(),d=!!b.length;return d&&G.$$addBindingClass(b),function(a,b){var e=b.parent();d||G.$$addBindingClass(e),G.$$addBindingInfo(e,c.expressions),a.$watch(c,function(a){b[0].nodeValue=a})}}})}function _(a,c){switch(a=wd(a||"html")){case"svg":case"math":var d=b.createElement("div");return d.innerHTML="<"+a+">"+c+"</"+a+">",d.childNodes[0].childNodes;default:return c}}function aa(a,b){if("srcdoc"==b)return B.HTML;var c=M(a);return"xlinkHref"==b||"form"==c&&"action"==b||"img"!=c&&("src"==b||"ngSrc"==b)?B.RESOURCE_URL:void 0}function ba(a,b,c,e,f){var g=aa(a,e);f=s[e]||f;var h=d(c,!0,g,f);if(h){if("multiple"===e&&"select"===M(a))throw He("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",$(a));b.push({priority:100,compile:function(){return{pre:function(a,b,i){var j=i.$$observers||(i.$$observers=qa());if(y.test(e))throw He("nodomevents","Interpolations for HTML DOM event attributes are disallowed.  Please use the ng- versions (such as ng-click instead of onclick) instead.");var k=i[e];k!==c&&(h=k&&d(k,!0,g,f),c=k),h&&(i[e]=h(a),(j[e]||(j[e]=[])).$$inter=!0,(i.$$observers&&i.$$observers[e].$$scope||a).$watch(h,function(a,b){"class"===e&&a!=b?i.$updateClass(a,b):i.$set(e,a)}))}}}})}}function ca(a,c,d){var e,f,g=c[0],h=c.length,i=g.parentNode;if(a)for(e=0,f=a.length;f>e;e++)if(a[e]==g){a[e++]=d;for(var j=e,k=j+h-1,l=a.length;l>j;j++,k++)l>k?a[j]=a[k]:delete a[j];a.length-=h-1,a.context===g&&(a.context=d);break}i&&i.replaceChild(d,g);var m=b.createDocumentFragment();m.appendChild(g),Cd.hasData(g)&&(Cd.data(d,Cd.data(g)),Dd?(Nd=!0,Dd.cleanData([g])):delete Cd.cache[g[Cd.expando]]);for(var n=1,o=c.length;o>n;n++){var p=c[n];Cd(p).remove(),m.appendChild(p),delete c[n]}c[0]=d,c.length=1}function da(a,b){return l(function(){return a.apply(null,arguments)},a,b)}function ea(a,b,c,d,f,g){try{a(b,c,d,f,g)}catch(h){e(h,$(c))}}function fa(a,b,c,e,g){var i=[];return f(e,function(e,f){var j,k,l,m,n=e.attrName,o=e.optional,q=e.mode;switch(q){case"@":o||xd.call(b,n)||(c[f]=b[n]=void 0),b.$observe(n,function(a){x(a)&&(c[f]=a)}),b.$$observers[n].$$scope=a,x(b[n])&&(c[f]=d(b[n])(a));break;case"=":if(!xd.call(b,n)){if(o)break;b[n]=void 0}if(o&&!b[n])break;k=h(b[n]),m=k.literal?Q:function(a,b){return a===b||a!==a&&b!==b},l=k.assign||function(){throw j=c[f]=k(a),He("nonassign","Expression '{0}' used with directive '{1}' is non-assignable!",b[n],g.name)},j=c[f]=k(a);var r=function(b){return m(b,c[f])||(m(b,j)?l(a,b=c[f]):c[f]=b),j=b};r.$stateful=!0;var s;s=e.collection?a.$watchCollection(b[n],r):a.$watch(h(b[n],r),null,k.literal),i.push(s);break;case"&":if(k=b.hasOwnProperty(n)?h(b[n]):p,k===p&&o)break;c[f]=function(b){return k(a,b)}}}),i.length&&function(){for(var a=0,b=i.length;b>a;++a)i[a]()}}var ga=function(a,b){if(b){var c,d,e,f=Object.keys(b);for(c=0,d=f.length;d>c;c++)e=f[c],this[e]=b[e]}else this.$attr={};this.$$element=a};ga.prototype={$normalize:lb,$addClass:function(a){a&&a.length>0&&C.addClass(this.$$element,a)},$removeClass:function(a){a&&a.length>0&&C.removeClass(this.$$element,a)},$updateClass:function(a,b){var c=mb(a,b);c&&c.length&&C.addClass(this.$$element,c);var d=mb(b,a);d&&d.length&&C.removeClass(this.$$element,d)},$set:function(a,b,c,d){var g,h=this.$$element[0],i=Sa(h,a),j=Ta(a),k=a;if(i?(this.$$element.prop(a,b),d=i):j&&(this[j]=b,k=j),this[a]=b,d?this.$attr[a]=d:(d=this.$attr[a],d||(this.$attr[a]=d=ja(a,"-"))),g=M(this.$$element),"a"===g&&"href"===a||"img"===g&&"src"===a)this[a]=b=E(b,"src"===a);else if("img"===g&&"srcset"===a){for(var l="",m=Qd(b),n=/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/,o=/\s/.test(m)?n:/(,)/,p=m.split(o),q=Math.floor(p.length/2),r=0;q>r;r++){var s=2*r;l+=E(Qd(p[s]),!0),l+=" "+Qd(p[s+1])}var u=Qd(p[2*r]).split(/\s/);l+=E(Qd(u[0]),!0),2===u.length&&(l+=" "+Qd(u[1])),this[a]=b=l}c!==!1&&(null===b||t(b)?this.$$element.removeAttr(d):this.$$element.attr(d,b));var v=this.$$observers;v&&f(v[k],function(a){try{a(b)}catch(c){e(c)}})},$observe:function(a,b){var c=this,d=c.$$observers||(c.$$observers=qa()),e=d[a]||(d[a]=[]);return e.push(b),r.$evalAsync(function(){e.$$inter||!c.hasOwnProperty(a)||t(c[a])||b(c[a])}),function(){N(e,b)}}};var ha=d.startSymbol(),ia=d.endSymbol(),ka="{{"==ha||"}}"==ia?q:function(a){return a.replace(/\{\{/g,ha).replace(/}}/g,ia)},ma=/^ngAttr[A-Z]/,na=/^(.+)Start$/;return G.$$addBindingInfo=z?function(a,b){var c=a.data("$binding")||[];Od(b)?c=c.concat(b):c.push(b),a.data("$binding",c)}:p,G.$$addBindingClass=z?function(a){F(a,"ng-binding")}:p,G.$$addScopeInfo=z?function(a,b,c,d){var e=c?d?"$isolateScopeNoTemplate":"$isolateScope":"$scope";a.data(e,b)}:p,G.$$addScopeClass=z?function(a,b){F(a,b?"ng-isolate-scope":"ng-scope")}:p,G}]}function lb(a){return wa(a.replace(Ie,""))}function mb(a,b){var c="",d=a.split(/\s+/),e=b.split(/\s+/);a:for(var f=0;f<d.length;f++){for(var g=d[f],h=0;h<e.length;h++)if(g==e[h])continue a;c+=(c.length>0?" ":"")+g}return c}function nb(a){a=Cd(a);var b=a.length;if(1>=b)return a;for(;b--;){var c=a[b];c.nodeType===$d&&Gd.call(a,b,1)}return a}function ob(a,b){if(b&&x(b))return b;if(x(a)){var c=Ke.exec(a);if(c)return c[3]}}function pb(){var a={},b=!1;this.register=function(b,c){na(b,"controller"),v(b)?l(a,b):a[b]=c},this.allowGlobals=function(){b=!0},this.$get=["$injector","$window",function(e,f){function g(a,b,c,e){if(!a||!v(a.$scope))throw d("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",e,b);a.$scope[b]=c}return function(d,h,i,j){var k,m,n,o;if(i=i===!0,j&&x(j)&&(o=j),x(d)){if(m=d.match(Ke),!m)throw Je("ctrlfmt","Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.",d);n=m[1],o=o||m[3],d=a.hasOwnProperty(n)?a[n]:oa(h.$scope,n,!0)||(b?oa(f,n,!0):c),ma(d,n,!0)}if(i){var p=(Od(d)?d[d.length-1]:d).prototype;k=Object.create(p||null),o&&g(h,o,k,n||d.name);var q;return q=l(function(){var a=e.invoke(d,k,h,n);return a!==k&&(v(a)||A(a))&&(k=a,o&&g(h,o,k,n||d.name)),k},{instance:k,identifier:o})}return k=e.instantiate(d,h,n),o&&g(h,o,k,n||d.name),
+k}}]}function qb(){this.$get=["$window",function(a){return Cd(a.document)}]}function rb(){this.$get=["$log",function(a){return function(b,c){a.error.apply(a,arguments)}}]}function sb(a){return v(a)?z(a)?a.toISOString():V(a):a}function tb(){this.$get=function(){return function(a){if(!a)return"";var b=[];return g(a,function(a,c){null===a||t(a)||(Od(a)?f(a,function(a,d){b.push(da(c)+"="+da(sb(a)))}):b.push(da(c)+"="+da(sb(a))))}),b.join("&")}}}function ub(){this.$get=function(){return function(a){function b(a,d,e){null===a||t(a)||(Od(a)?f(a,function(a,c){b(a,d+"["+(v(a)?c:"")+"]")}):v(a)&&!z(a)?g(a,function(a,c){b(a,d+(e?"":"[")+c+(e?"":"]"))}):c.push(da(d)+"="+da(sb(a))))}if(!a)return"";var c=[];return b(a,"",!0),c.join("&")}}}function vb(a,b){if(x(a)){var c=a.replace(Qe,"").trim();if(c){var d=b("Content-Type");(d&&0===d.indexOf(Me)||wb(c))&&(a=W(c))}}return a}function wb(a){var b=a.match(Oe);return b&&Pe[b[0]].test(a)}function xb(a){function b(a,b){a&&(d[a]=d[a]?d[a]+", "+b:b)}var c,d=qa();return x(a)?f(a.split("\n"),function(a){c=a.indexOf(":"),b(wd(Qd(a.substr(0,c))),Qd(a.substr(c+1)))}):v(a)&&f(a,function(a,c){b(wd(c),Qd(a))}),d}function yb(a){var b;return function(c){if(b||(b=xb(a)),c){var d=b[wd(c)];return void 0===d&&(d=null),d}return b}}function zb(a,b,c,d){return A(d)?d(a,b,c):(f(d,function(d){a=d(a,b,c)}),a)}function Ab(a){return a>=200&&300>a}function Bb(){var a=this.defaults={transformResponse:[vb],transformRequest:[function(a){return!v(a)||E(a)||G(a)||F(a)?a:V(a)}],headers:{common:{Accept:"application/json, text/plain, */*"},post:P(Ne),put:P(Ne),patch:P(Ne)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer"},b=!1;this.useApplyAsync=function(a){return u(a)?(b=!!a,this):b};var e=!0;this.useLegacyPromiseExtensions=function(a){return u(a)?(e=!!a,this):e};var g=this.interceptors=[];this.$get=["$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector",function(h,i,j,k,m,n){function o(b){function g(a){var b=l({},a);return b.data=zb(a.data,a.headers,a.status,j.transformResponse),Ab(a.status)?b:m.reject(b)}function h(a,b){var c,d={};return f(a,function(a,e){A(a)?(c=a(b),null!=c&&(d[e]=c)):d[e]=a}),d}function i(b){var c,d,e,f=a.headers,g=l({},b.headers);f=l({},f.common,f[wd(b.method)]);a:for(c in f){d=wd(c);for(e in g)if(wd(e)===d)continue a;g[c]=f[c]}return h(g,P(b))}if(!Ld.isObject(b))throw d("$http")("badreq","Http request configuration must be an object.  Received: {0}",b);var j=l({method:"get",transformRequest:a.transformRequest,transformResponse:a.transformResponse,paramSerializer:a.paramSerializer},b);j.headers=i(b),j.method=yd(j.method),j.paramSerializer=x(j.paramSerializer)?n.get(j.paramSerializer):j.paramSerializer;var k=function(b){var d=b.headers,e=zb(b.data,yb(d),c,b.transformRequest);return t(e)&&f(d,function(a,b){"content-type"===wd(b)&&delete d[b]}),t(b.withCredentials)&&!t(a.withCredentials)&&(b.withCredentials=a.withCredentials),r(b,e).then(g,g)},o=[k,c],p=m.when(j);for(f(y,function(a){(a.request||a.requestError)&&o.unshift(a.request,a.requestError),(a.response||a.responseError)&&o.push(a.response,a.responseError)});o.length;){var q=o.shift(),s=o.shift();p=p.then(q,s)}return e?(p.success=function(a){return ma(a,"fn"),p.then(function(b){a(b.data,b.status,b.headers,j)}),p},p.error=function(a){return ma(a,"fn"),p.then(null,function(b){a(b.data,b.status,b.headers,j)}),p}):(p.success=Se("success"),p.error=Se("error")),p}function p(a){f(arguments,function(a){o[a]=function(b,c){return o(l({},c||{},{method:a,url:b}))}})}function q(a){f(arguments,function(a){o[a]=function(b,c,d){return o(l({},d||{},{method:a,url:b,data:c}))}})}function r(d,e){function f(a,c,d,e){function f(){g(c,a,d,e)}n&&(Ab(a)?n.put(y,[a,c,xb(d),e]):n.remove(y)),b?k.$applyAsync(f):(f(),k.$$phase||k.$apply())}function g(a,b,c,e){b=b>=-1?b:0,(Ab(b)?q.resolve:q.reject)({data:a,status:b,headers:yb(c),config:d,statusText:e})}function j(a){g(a.data,a.status,P(a.headers()),a.statusText)}function l(){var a=o.pendingRequests.indexOf(d);-1!==a&&o.pendingRequests.splice(a,1)}var n,p,q=m.defer(),r=q.promise,x=d.headers,y=s(d.url,d.paramSerializer(d.params));if(o.pendingRequests.push(d),r.then(l,l),!d.cache&&!a.cache||d.cache===!1||"GET"!==d.method&&"JSONP"!==d.method||(n=v(d.cache)?d.cache:v(a.cache)?a.cache:w),n&&(p=n.get(y),u(p)?I(p)?p.then(j,j):Od(p)?g(p[1],p[0],P(p[2]),p[3]):g(p,200,{},"OK"):n.put(y,r)),t(p)){var z=Cc(d.url)?i()[d.xsrfCookieName||a.xsrfCookieName]:c;z&&(x[d.xsrfHeaderName||a.xsrfHeaderName]=z),h(d.method,y,e,f,x,d.timeout,d.withCredentials,d.responseType)}return r}function s(a,b){return b.length>0&&(a+=(-1==a.indexOf("?")?"?":"&")+b),a}var w=j("$http");a.paramSerializer=x(a.paramSerializer)?n.get(a.paramSerializer):a.paramSerializer;var y=[];return f(g,function(a){y.unshift(x(a)?n.get(a):n.invoke(a))}),o.pendingRequests=[],p("get","delete","head","jsonp"),q("post","put","patch"),o.defaults=a,o}]}function Cb(){this.$get=function(){return function(){return new a.XMLHttpRequest}}}function Db(){this.$get=["$browser","$window","$document","$xhrFactory",function(a,b,c,d){return Eb(a,d,a.defer,b.angular.callbacks,c[0])}]}function Eb(a,b,c,d,e){function g(a,b,c){var f=e.createElement("script"),g=null;return f.type="text/javascript",f.src=a,f.async=!0,g=function(a){fe(f,"load",g),fe(f,"error",g),e.body.removeChild(f),f=null;var h=-1,i="unknown";a&&("load"!==a.type||d[b].called||(a={type:"error"}),i=a.type,h="error"===a.type?404:200),c&&c(h,i)},ee(f,"load",g),ee(f,"error",g),e.body.appendChild(f),g}return function(e,h,i,j,k,l,m,n){function o(){s&&s(),v&&v.abort()}function q(b,d,e,f,g){u(y)&&c.cancel(y),s=v=null,b(d,e,f,g),a.$$completeOutstandingRequest(p)}if(a.$$incOutstandingRequestCount(),h=h||a.url(),"jsonp"==wd(e)){var r="_"+(d.counter++).toString(36);d[r]=function(a){d[r].data=a,d[r].called=!0};var s=g(h.replace("JSON_CALLBACK","angular.callbacks."+r),r,function(a,b){q(j,a,d[r].data,"",b),d[r]=p})}else{var v=b(e,h);v.open(e,h,!0),f(k,function(a,b){u(a)&&v.setRequestHeader(b,a)}),v.onload=function(){var a=v.statusText||"",b="response"in v?v.response:v.responseText,c=1223===v.status?204:v.status;0===c&&(c=b?200:"file"==Bc(h).protocol?404:0),q(j,c,b,v.getAllResponseHeaders(),a)};var w=function(){q(j,-1,null,null,"")};if(v.onerror=w,v.onabort=w,m&&(v.withCredentials=!0),n)try{v.responseType=n}catch(x){if("json"!==n)throw x}v.send(t(i)?null:i)}if(l>0)var y=c(o,l);else I(l)&&l.then(o)}}function Fb(){var a="{{",b="}}";this.startSymbol=function(b){return b?(a=b,this):a},this.endSymbol=function(a){return a?(b=a,this):b},this.$get=["$parse","$exceptionHandler","$sce",function(c,d,e){function f(a){return"\\\\\\"+a}function g(c){return c.replace(m,a).replace(n,b)}function h(a){if(null==a)return"";switch(typeof a){case"string":break;case"number":a=""+a;break;default:a=V(a)}return a}function i(f,i,m,n){function o(a){try{return a=C(a),n&&!u(a)?a:h(a)}catch(b){d(Te.interr(f,b))}}n=!!n;for(var p,q,r,s=0,v=[],w=[],x=f.length,y=[],z=[];x>s;){if(-1==(p=f.indexOf(a,s))||-1==(q=f.indexOf(b,p+j))){s!==x&&y.push(g(f.substring(s)));break}s!==p&&y.push(g(f.substring(s,p))),r=f.substring(p+j,q),v.push(r),w.push(c(r,o)),s=q+k,z.push(y.length),y.push("")}if(m&&y.length>1&&Te.throwNoconcat(f),!i||v.length){var B=function(a){for(var b=0,c=v.length;c>b;b++){if(n&&t(a[b]))return;y[z[b]]=a[b]}return y.join("")},C=function(a){return m?e.getTrusted(m,a):e.valueOf(a)};return l(function(a){var b=0,c=v.length,e=new Array(c);try{for(;c>b;b++)e[b]=w[b](a);return B(e)}catch(g){d(Te.interr(f,g))}},{exp:f,expressions:v,$$watchDelegate:function(a,b){var c;return a.$watchGroup(w,function(d,e){var f=B(d);A(b)&&b.call(this,f,d!==e?c:f,a),c=f})}})}}var j=a.length,k=b.length,m=new RegExp(a.replace(/./g,f),"g"),n=new RegExp(b.replace(/./g,f),"g");return i.startSymbol=function(){return a},i.endSymbol=function(){return b},i}]}function Gb(){this.$get=["$rootScope","$window","$q","$$q",function(a,b,c,d){function e(e,g,h,i){var j=arguments.length>4,k=j?S(arguments,4):[],l=b.setInterval,m=b.clearInterval,n=0,o=u(i)&&!i,p=(o?d:c).defer(),q=p.promise;return h=u(h)?h:0,q.then(null,null,j?function(){e.apply(null,k)}:e),q.$$intervalId=l(function(){p.notify(n++),h>0&&n>=h&&(p.resolve(n),m(q.$$intervalId),delete f[q.$$intervalId]),o||a.$apply()},g),f[q.$$intervalId]=p,q}var f={};return e.cancel=function(a){return a&&a.$$intervalId in f?(f[a.$$intervalId].reject("canceled"),b.clearInterval(a.$$intervalId),delete f[a.$$intervalId],!0):!1},e}]}function Hb(a){for(var b=a.split("/"),c=b.length;c--;)b[c]=ca(b[c]);return b.join("/")}function Ib(a,b){var c=Bc(a);b.$$protocol=c.protocol,b.$$host=c.hostname,b.$$port=n(c.port)||Ve[c.protocol]||null}function Jb(a,b){var c="/"!==a.charAt(0);c&&(a="/"+a);var d=Bc(a);b.$$path=decodeURIComponent(c&&"/"===d.pathname.charAt(0)?d.pathname.substring(1):d.pathname),b.$$search=aa(d.search),b.$$hash=decodeURIComponent(d.hash),b.$$path&&"/"!=b.$$path.charAt(0)&&(b.$$path="/"+b.$$path)}function Kb(a,b){return 0===b.indexOf(a)?b.substr(a.length):void 0}function Lb(a){var b=a.indexOf("#");return-1==b?a:a.substr(0,b)}function Mb(a){return a.replace(/(#.+)|#$/,"$1")}function Nb(a){return a.substr(0,Lb(a).lastIndexOf("/")+1)}function Ob(a){return a.substring(0,a.indexOf("/",a.indexOf("//")+2))}function Pb(a,b,c){this.$$html5=!0,c=c||"",Ib(a,this),this.$$parse=function(a){var c=Kb(b,a);if(!x(c))throw We("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',a,b);Jb(c,this),this.$$path||(this.$$path="/"),this.$$compose()},this.$$compose=function(){var a=ba(this.$$search),c=this.$$hash?"#"+ca(this.$$hash):"";this.$$url=Hb(this.$$path)+(a?"?"+a:"")+c,this.$$absUrl=b+this.$$url.substr(1)},this.$$parseLinkUrl=function(d,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,g,h;return u(f=Kb(a,d))?(g=f,h=u(f=Kb(c,f))?b+(Kb("/",f)||f):a+g):u(f=Kb(b,d))?h=b+f:b==d+"/"&&(h=b),h&&this.$$parse(h),!!h}}function Qb(a,b,c){Ib(a,this),this.$$parse=function(d){function e(a,b,c){var d,e=/^\/[A-Z]:(\/.*)/;return 0===b.indexOf(c)&&(b=b.replace(c,"")),e.exec(b)?a:(d=e.exec(a),d?d[1]:a)}var f,g=Kb(a,d)||Kb(b,d);t(g)||"#"!==g.charAt(0)?this.$$html5?f=g:(f="",t(g)&&(a=d,this.replace())):(f=Kb(c,g),t(f)&&(f=g)),Jb(f,this),this.$$path=e(this.$$path,f,a),this.$$compose()},this.$$compose=function(){var b=ba(this.$$search),d=this.$$hash?"#"+ca(this.$$hash):"";this.$$url=Hb(this.$$path)+(b?"?"+b:"")+d,this.$$absUrl=a+(this.$$url?c+this.$$url:"")},this.$$parseLinkUrl=function(b,c){return Lb(a)==Lb(b)?(this.$$parse(b),!0):!1}}function Rb(a,b,c){this.$$html5=!0,Qb.apply(this,arguments),this.$$parseLinkUrl=function(d,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,g;return a==Lb(d)?f=d:(g=Kb(b,d))?f=a+c+g:b===d+"/"&&(f=b),f&&this.$$parse(f),!!f},this.$$compose=function(){var b=ba(this.$$search),d=this.$$hash?"#"+ca(this.$$hash):"";this.$$url=Hb(this.$$path)+(b?"?"+b:"")+d,this.$$absUrl=a+c+this.$$url}}function Sb(a){return function(){return this[a]}}function Tb(a,b){return function(c){return t(c)?this[a]:(this[a]=b(c),this.$$compose(),this)}}function Ub(){var a="",b={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(b){return u(b)?(a=b,this):a},this.html5Mode=function(a){return H(a)?(b.enabled=a,this):v(a)?(H(a.enabled)&&(b.enabled=a.enabled),H(a.requireBase)&&(b.requireBase=a.requireBase),H(a.rewriteLinks)&&(b.rewriteLinks=a.rewriteLinks),this):b},this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(c,d,e,f,g){function h(a,b,c){var e=j.url(),f=j.$$state;try{d.url(a,b,c),j.$$state=d.state()}catch(g){throw j.url(e),j.$$state=f,g}}function i(a,b){c.$broadcast("$locationChangeSuccess",j.absUrl(),a,j.$$state,b)}var j,k,l,m=d.baseHref(),n=d.url();if(b.enabled){if(!m&&b.requireBase)throw We("nobase","$location in HTML5 mode requires a <base> tag to be present!");l=Ob(n)+(m||"/"),k=e.history?Pb:Rb}else l=Lb(n),k=Qb;var o=Nb(l);j=new k(l,o,"#"+a),j.$$parseLinkUrl(n,n),j.$$state=d.state();var p=/^\s*(javascript|mailto):/i;f.on("click",function(a){if(b.rewriteLinks&&!a.ctrlKey&&!a.metaKey&&!a.shiftKey&&2!=a.which&&2!=a.button){for(var e=Cd(a.target);"a"!==M(e[0]);)if(e[0]===f[0]||!(e=e.parent())[0])return;var h=e.prop("href"),i=e.attr("href")||e.attr("xlink:href");v(h)&&"[object SVGAnimatedString]"===h.toString()&&(h=Bc(h.animVal).href),p.test(h)||!h||e.attr("target")||a.isDefaultPrevented()||j.$$parseLinkUrl(h,i)&&(a.preventDefault(),j.absUrl()!=d.url()&&(c.$apply(),g.angular["ff-684208-preventDefault"]=!0))}}),Mb(j.absUrl())!=Mb(n)&&d.url(j.absUrl(),!0);var q=!0;return d.onUrlChange(function(a,b){return t(Kb(o,a))?void(g.location.href=a):(c.$evalAsync(function(){var d,e=j.absUrl(),f=j.$$state;a=Mb(a),j.$$parse(a),j.$$state=b,d=c.$broadcast("$locationChangeStart",a,e,b,f).defaultPrevented,j.absUrl()===a&&(d?(j.$$parse(e),j.$$state=f,h(e,!1,f)):(q=!1,i(e,f)))}),void(c.$$phase||c.$digest()))}),c.$watch(function(){var a=Mb(d.url()),b=Mb(j.absUrl()),f=d.state(),g=j.$$replace,k=a!==b||j.$$html5&&e.history&&f!==j.$$state;(q||k)&&(q=!1,c.$evalAsync(function(){var b=j.absUrl(),d=c.$broadcast("$locationChangeStart",b,a,j.$$state,f).defaultPrevented;j.absUrl()===b&&(d?(j.$$parse(a),j.$$state=f):(k&&h(b,g,f===j.$$state?null:j.$$state),i(a,f)))})),j.$$replace=!1}),j}]}function Vb(){var a=!0,b=this;this.debugEnabled=function(b){return u(b)?(a=b,this):a},this.$get=["$window",function(c){function d(a){return a instanceof Error&&(a.stack?a=a.message&&-1===a.stack.indexOf(a.message)?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line)),a}function e(a){var b=c.console||{},e=b[a]||b.log||p,g=!1;try{g=!!e.apply}catch(h){}return g?function(){var a=[];return f(arguments,function(b){a.push(d(b))}),e.apply(b,a)}:function(a,b){e(a,null==b?"":b)}}return{log:e("log"),info:e("info"),warn:e("warn"),error:e("error"),debug:function(){var c=e("debug");return function(){a&&c.apply(b,arguments)}}()}}]}function Wb(a,b){if("__defineGetter__"===a||"__defineSetter__"===a||"__lookupGetter__"===a||"__lookupSetter__"===a||"__proto__"===a)throw Ye("isecfld","Attempting to access a disallowed field in Angular expressions! Expression: {0}",b);return a}function Xb(a,b){if(a+="",!x(a))throw Ye("iseccst","Cannot convert object to primitive value! Expression: {0}",b);return a}function Yb(a,b){if(a){if(a.constructor===a)throw Ye("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",b);if(a.window===a)throw Ye("isecwindow","Referencing the Window in Angular expressions is disallowed! Expression: {0}",b);if(a.children&&(a.nodeName||a.prop&&a.attr&&a.find))throw Ye("isecdom","Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}",b);if(a===Object)throw Ye("isecobj","Referencing Object in Angular expressions is disallowed! Expression: {0}",b)}return a}function Zb(a,b){if(a){if(a.constructor===a)throw Ye("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",b);if(a===Ze||a===$e||a===_e)throw Ye("isecff","Referencing call, apply or bind in Angular expressions is disallowed! Expression: {0}",b)}}function $b(a,b){if(a&&(a===0..constructor||a===(!1).constructor||a==="".constructor||a==={}.constructor||a===[].constructor||a===Function.constructor))throw Ye("isecaf","Assigning to a constructor is disallowed! Expression: {0}",b)}function _b(a,b){return"undefined"!=typeof a?a:b}function ac(a,b){return"undefined"==typeof a?b:"undefined"==typeof b?a:a+b}function bc(a,b){var c=a(b);return!c.$stateful}function cc(a,b){var c,d;switch(a.type){case df.Program:c=!0,f(a.body,function(a){cc(a.expression,b),c=c&&a.expression.constant}),a.constant=c;break;case df.Literal:a.constant=!0,a.toWatch=[];break;case df.UnaryExpression:cc(a.argument,b),a.constant=a.argument.constant,a.toWatch=a.argument.toWatch;break;case df.BinaryExpression:cc(a.left,b),cc(a.right,b),a.constant=a.left.constant&&a.right.constant,a.toWatch=a.left.toWatch.concat(a.right.toWatch);break;case df.LogicalExpression:cc(a.left,b),cc(a.right,b),a.constant=a.left.constant&&a.right.constant,a.toWatch=a.constant?[]:[a];break;case df.ConditionalExpression:cc(a.test,b),cc(a.alternate,b),cc(a.consequent,b),a.constant=a.test.constant&&a.alternate.constant&&a.consequent.constant,a.toWatch=a.constant?[]:[a];break;case df.Identifier:a.constant=!1,a.toWatch=[a];break;case df.MemberExpression:cc(a.object,b),a.computed&&cc(a.property,b),a.constant=a.object.constant&&(!a.computed||a.property.constant),a.toWatch=[a];break;case df.CallExpression:c=a.filter?bc(b,a.callee.name):!1,d=[],f(a.arguments,function(a){cc(a,b),c=c&&a.constant,a.constant||d.push.apply(d,a.toWatch)}),a.constant=c,a.toWatch=a.filter&&bc(b,a.callee.name)?d:[a];break;case df.AssignmentExpression:cc(a.left,b),cc(a.right,b),a.constant=a.left.constant&&a.right.constant,a.toWatch=[a];break;case df.ArrayExpression:c=!0,d=[],f(a.elements,function(a){cc(a,b),c=c&&a.constant,a.constant||d.push.apply(d,a.toWatch)}),a.constant=c,a.toWatch=d;break;case df.ObjectExpression:c=!0,d=[],f(a.properties,function(a){cc(a.value,b),c=c&&a.value.constant,a.value.constant||d.push.apply(d,a.value.toWatch)}),a.constant=c,a.toWatch=d;break;case df.ThisExpression:a.constant=!1,a.toWatch=[]}}function dc(a){if(1==a.length){var b=a[0].expression,d=b.toWatch;return 1!==d.length?d:d[0]!==b?d:c}}function ec(a){return a.type===df.Identifier||a.type===df.MemberExpression}function fc(a){return 1===a.body.length&&ec(a.body[0].expression)?{type:df.AssignmentExpression,left:a.body[0].expression,right:{type:df.NGValueParameter},operator:"="}:void 0}function gc(a){return 0===a.body.length||1===a.body.length&&(a.body[0].expression.type===df.Literal||a.body[0].expression.type===df.ArrayExpression||a.body[0].expression.type===df.ObjectExpression)}function hc(a){return a.constant}function ic(a,b){this.astBuilder=a,this.$filter=b}function jc(a,b){this.astBuilder=a,this.$filter=b}function kc(a){return"constructor"==a}function lc(a){return A(a.valueOf)?a.valueOf():ff.call(a)}function mc(){var a=qa(),b=qa();this.$get=["$filter",function(d){function e(a,b){return null==a||null==b?a===b:"object"==typeof a&&(a=lc(a),"object"==typeof a)?!1:a===b||a!==a&&b!==b}function g(a,b,d,f,g){var h,i=f.inputs;if(1===i.length){var j=e;return i=i[0],a.$watch(function(a){var b=i(a);return e(b,j)||(h=f(a,c,c,[b]),j=b&&lc(b)),h},b,d,g)}for(var k=[],l=[],m=0,n=i.length;n>m;m++)k[m]=e,l[m]=null;return a.$watch(function(a){for(var b=!1,d=0,g=i.length;g>d;d++){var j=i[d](a);(b||(b=!e(j,k[d])))&&(l[d]=j,k[d]=j&&lc(j))}return b&&(h=f(a,c,c,l)),h},b,d,g)}function h(a,b,c,d){var e,f;return e=a.$watch(function(a){return d(a)},function(a,c,d){f=a,A(b)&&b.apply(this,arguments),u(a)&&d.$$postDigest(function(){u(f)&&e()})},c)}function i(a,b,c,d){function e(a){var b=!0;return f(a,function(a){u(a)||(b=!1)}),b}var g,h;return g=a.$watch(function(a){return d(a)},function(a,c,d){h=a,A(b)&&b.call(this,a,c,d),e(a)&&d.$$postDigest(function(){e(h)&&g()})},c)}function j(a,b,c,d){var e;return e=a.$watch(function(a){return d(a)},function(a,c,d){A(b)&&b.apply(this,arguments),e()},c)}function k(a,b){if(!b)return a;var c=a.$$watchDelegate,d=!1,e=c!==i&&c!==h,f=e?function(c,e,f,g){var h=d&&g?g[0]:a(c,e,f,g);return b(h,c,e)}:function(c,d,e,f){var g=a(c,d,e,f),h=b(g,c,d);return u(g)?h:g};return a.$$watchDelegate&&a.$$watchDelegate!==g?f.$$watchDelegate=a.$$watchDelegate:b.$stateful||(f.$$watchDelegate=g,d=!a.inputs,f.inputs=a.inputs?a.inputs:[a]),f}var l=Sd().noUnsafeEval,m={csp:l,expensiveChecks:!1},n={csp:l,expensiveChecks:!0};return function(c,e,f){var l,o,q;switch(typeof c){case"string":c=c.trim(),q=c;var r=f?b:a;if(l=r[q],!l){":"===c.charAt(0)&&":"===c.charAt(1)&&(o=!0,c=c.substring(2));var s=f?n:m,t=new cf(s),u=new ef(t,d,s);l=u.parse(c),l.constant?l.$$watchDelegate=j:o?l.$$watchDelegate=l.literal?i:h:l.inputs&&(l.$$watchDelegate=g),r[q]=l}return k(l,e);case"function":return k(c,e);default:return p}}}]}function nc(){this.$get=["$rootScope","$exceptionHandler",function(a,b){return pc(function(b){a.$evalAsync(b)},b)}]}function oc(){this.$get=["$browser","$exceptionHandler",function(a,b){return pc(function(b){a.defer(b)},b)}]}function pc(a,b){function e(a,b,c){function d(b){return function(c){e||(e=!0,b.call(a,c))}}var e=!1;return[d(b),d(c)]}function g(){this.$$state={status:0}}function h(a,b){return function(c){b.call(a,c)}}function i(a){var d,e,f;f=a.pending,a.processScheduled=!1,a.pending=c;for(var g=0,h=f.length;h>g;++g){e=f[g][0],d=f[g][a.status];try{A(d)?e.resolve(d(a.value)):1===a.status?e.resolve(a.value):e.reject(a.value)}catch(i){e.reject(i),b(i)}}}function j(b){!b.processScheduled&&b.pending&&(b.processScheduled=!0,a(function(){i(b)}))}function k(){this.promise=new g,this.resolve=h(this,this.resolve),this.reject=h(this,this.reject),this.notify=h(this,this.notify)}function m(a){var b=new k,c=0,d=Od(a)?[]:{};return f(a,function(a,e){c++,s(a).then(function(a){d.hasOwnProperty(e)||(d[e]=a,--c||b.resolve(d))},function(a){d.hasOwnProperty(e)||b.reject(a)})}),0===c&&b.resolve(d),b.promise}var n=d("$q",TypeError),o=function(){return new k};l(g.prototype,{then:function(a,b,c){if(t(a)&&t(b)&&t(c))return this;var d=new k;return this.$$state.pending=this.$$state.pending||[],this.$$state.pending.push([d,a,b,c]),this.$$state.status>0&&j(this.$$state),d.promise},"catch":function(a){return this.then(null,a)},"finally":function(a,b){return this.then(function(b){return r(b,!0,a)},function(b){return r(b,!1,a)},b)}}),l(k.prototype,{resolve:function(a){this.promise.$$state.status||(a===this.promise?this.$$reject(n("qcycle","Expected promise to be resolved with value other than itself '{0}'",a)):this.$$resolve(a))},$$resolve:function(a){var c,d;d=e(this,this.$$resolve,this.$$reject);try{(v(a)||A(a))&&(c=a&&a.then),A(c)?(this.promise.$$state.status=-1,c.call(a,d[0],d[1],this.notify)):(this.promise.$$state.value=a,this.promise.$$state.status=1,j(this.promise.$$state))}catch(f){d[1](f),b(f)}},reject:function(a){this.promise.$$state.status||this.$$reject(a)},$$reject:function(a){this.promise.$$state.value=a,this.promise.$$state.status=2,j(this.promise.$$state)},notify:function(c){var d=this.promise.$$state.pending;this.promise.$$state.status<=0&&d&&d.length&&a(function(){for(var a,e,f=0,g=d.length;g>f;f++){e=d[f][0],a=d[f][3];try{e.notify(A(a)?a(c):c)}catch(h){b(h)}}})}});var p=function(a){var b=new k;return b.reject(a),b.promise},q=function(a,b){var c=new k;return b?c.resolve(a):c.reject(a),c.promise},r=function(a,b,c){var d=null;try{A(c)&&(d=c())}catch(e){return q(e,!1)}return I(d)?d.then(function(){return q(a,b)},function(a){return q(a,!1)}):q(a,b)},s=function(a,b,c,d){var e=new k;return e.resolve(a),e.promise.then(b,c,d)},u=s,w=function x(a){function b(a){d.resolve(a)}function c(a){d.reject(a)}if(!A(a))throw n("norslvr","Expected resolverFn, got '{0}'",a);if(!(this instanceof x))return new x(a);var d=new k;return a(b,c),d.promise};return w.defer=o,w.reject=p,w.when=s,w.resolve=u,w.all=m,w}function qc(){this.$get=["$window","$timeout",function(a,b){var c=a.requestAnimationFrame||a.webkitRequestAnimationFrame,d=a.cancelAnimationFrame||a.webkitCancelAnimationFrame||a.webkitCancelRequestAnimationFrame,e=!!c,f=e?function(a){var b=c(a);return function(){d(b)}}:function(a){var c=b(a,16.66,!1);return function(){b.cancel(c)}};return f.supported=e,f}]}function rc(){function a(a){function b(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$id=i(),this.$$ChildScope=null}return b.prototype=a,b}var b=10,c=d("$rootScope"),g=null,h=null;this.digestTtl=function(a){return arguments.length&&(b=a),b},this.$get=["$injector","$exceptionHandler","$parse","$browser",function(d,j,k,l){function m(a){a.currentScope.$$destroyed=!0}function n(a){9===Bd&&(a.$$childHead&&n(a.$$childHead),a.$$nextSibling&&n(a.$$nextSibling)),a.$parent=a.$$nextSibling=a.$$prevSibling=a.$$childHead=a.$$childTail=a.$root=a.$$watchers=null}function o(){this.$id=i(),this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,this.$root=this,this.$$destroyed=!1,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$$isolateBindings=null}function q(a){if(z.$$phase)throw c("inprog","{0} already in progress",z.$$phase);z.$$phase=a}function r(){z.$$phase=null}function s(a,b){do a.$$watchersCount+=b;while(a=a.$parent)}function u(a,b,c){do a.$$listenerCount[c]-=b,0===a.$$listenerCount[c]&&delete a.$$listenerCount[c];while(a=a.$parent)}function w(){}function x(){for(;D.length;)try{D.shift()()}catch(a){j(a)}h=null}function y(){null===h&&(h=l.defer(function(){z.$apply(x)}))}o.prototype={constructor:o,$new:function(b,c){var d;return c=c||this,b?(d=new o,d.$root=this.$root):(this.$$ChildScope||(this.$$ChildScope=a(this)),d=new this.$$ChildScope),d.$parent=c,d.$$prevSibling=c.$$childTail,c.$$childHead?(c.$$childTail.$$nextSibling=d,c.$$childTail=d):c.$$childHead=c.$$childTail=d,(b||c!=this)&&d.$on("$destroy",m),d},$watch:function(a,b,c,d){var e=k(a);if(e.$$watchDelegate)return e.$$watchDelegate(this,b,c,e,a);var f=this,h=f.$$watchers,i={fn:b,last:w,get:e,exp:d||a,eq:!!c};return g=null,A(b)||(i.fn=p),h||(h=f.$$watchers=[]),h.unshift(i),s(this,1),function(){N(h,i)>=0&&s(f,-1),g=null}},$watchGroup:function(a,b){function c(){i=!1,j?(j=!1,b(e,e,h)):b(e,d,h)}var d=new Array(a.length),e=new Array(a.length),g=[],h=this,i=!1,j=!0;if(!a.length){var k=!0;return h.$evalAsync(function(){k&&b(e,e,h)}),function(){k=!1}}return 1===a.length?this.$watch(a[0],function(a,c,f){e[0]=a,d[0]=c,b(e,a===c?e:d,f)}):(f(a,function(a,b){var f=h.$watch(a,function(a,f){e[b]=a,d[b]=f,i||(i=!0,h.$evalAsync(c))});g.push(f)}),function(){for(;g.length;)g.shift()()})},$watchCollection:function(a,b){function c(a){f=a;var b,c,d,h,i;if(!t(f)){if(v(f))if(e(f)){g!==n&&(g=n,q=g.length=0,l++),b=f.length,q!==b&&(l++,g.length=q=b);for(var j=0;b>j;j++)i=g[j],h=f[j],d=i!==i&&h!==h,d||i===h||(l++,g[j]=h)}else{g!==o&&(g=o={},q=0,l++),b=0;for(c in f)xd.call(f,c)&&(b++,h=f[c],i=g[c],c in g?(d=i!==i&&h!==h,d||i===h||(l++,g[c]=h)):(q++,g[c]=h,l++));if(q>b){l++;for(c in g)xd.call(f,c)||(q--,delete g[c])}}else g!==f&&(g=f,l++);return l}}function d(){if(p?(p=!1,b(f,f,i)):b(f,h,i),j)if(v(f))if(e(f)){h=new Array(f.length);for(var a=0;a<f.length;a++)h[a]=f[a]}else{h={};for(var c in f)xd.call(f,c)&&(h[c]=f[c])}else h=f}c.$stateful=!0;var f,g,h,i=this,j=b.length>1,l=0,m=k(a,c),n=[],o={},p=!0,q=0;return this.$watch(m,d)},$digest:function(){var a,d,e,f,i,k,m,n,o,p,s=b,t=this,u=[];q("$digest"),l.$$checkUrlChange(),this===z&&null!==h&&(l.defer.cancel(h),x()),g=null;do{for(k=!1,n=t;B.length;){try{p=B.shift(),p.scope.$eval(p.expression,p.locals)}catch(v){j(v)}g=null}a:do{if(f=n.$$watchers)for(i=f.length;i--;)try{if(a=f[i])if((d=a.get(n))===(e=a.last)||(a.eq?Q(d,e):"number"==typeof d&&"number"==typeof e&&isNaN(d)&&isNaN(e))){if(a===g){k=!1;break a}}else k=!0,g=a,a.last=a.eq?O(d,null):d,a.fn(d,e===w?d:e,n),5>s&&(o=4-s,u[o]||(u[o]=[]),u[o].push({msg:A(a.exp)?"fn: "+(a.exp.name||a.exp.toString()):a.exp,newVal:d,oldVal:e}))}catch(v){j(v)}if(!(m=n.$$watchersCount&&n.$$childHead||n!==t&&n.$$nextSibling))for(;n!==t&&!(m=n.$$nextSibling);)n=n.$parent}while(n=m);if((k||B.length)&&!s--)throw r(),c("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",b,u)}while(k||B.length);for(r();C.length;)try{C.shift()()}catch(v){j(v)}},$destroy:function(){if(!this.$$destroyed){var a=this.$parent;this.$broadcast("$destroy"),this.$$destroyed=!0,this===z&&l.$$applicationDestroyed(),s(this,-this.$$watchersCount);for(var b in this.$$listenerCount)u(this,this.$$listenerCount[b],b);a&&a.$$childHead==this&&(a.$$childHead=this.$$nextSibling),a&&a.$$childTail==this&&(a.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=p,this.$on=this.$watch=this.$watchGroup=function(){return p},this.$$listeners={},this.$$nextSibling=null,n(this)}},$eval:function(a,b){return k(a)(this,b)},$evalAsync:function(a,b){z.$$phase||B.length||l.defer(function(){B.length&&z.$digest()}),B.push({scope:this,expression:a,locals:b})},$$postDigest:function(a){C.push(a)},$apply:function(a){try{q("$apply");try{return this.$eval(a)}finally{r()}}catch(b){j(b)}finally{try{z.$digest()}catch(b){throw j(b),b}}},$applyAsync:function(a){function b(){c.$eval(a)}var c=this;a&&D.push(b),y()},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]),c.push(b);var d=this;do d.$$listenerCount[a]||(d.$$listenerCount[a]=0),d.$$listenerCount[a]++;while(d=d.$parent);var e=this;return function(){var d=c.indexOf(b);-1!==d&&(c[d]=null,u(e,1,a))}},$emit:function(a,b){var c,d,e,f=[],g=this,h=!1,i={name:a,targetScope:g,stopPropagation:function(){h=!0},preventDefault:function(){i.defaultPrevented=!0},defaultPrevented:!1},k=R([i],arguments,1);do{for(c=g.$$listeners[a]||f,i.currentScope=g,d=0,e=c.length;e>d;d++)if(c[d])try{c[d].apply(null,k)}catch(l){j(l)}else c.splice(d,1),d--,e--;if(h)return i.currentScope=null,i;g=g.$parent}while(g);return i.currentScope=null,i},$broadcast:function(a,b){var c=this,d=c,e=c,f={name:a,targetScope:c,preventDefault:function(){f.defaultPrevented=!0},defaultPrevented:!1};if(!c.$$listenerCount[a])return f;for(var g,h,i,k=R([f],arguments,1);d=e;){for(f.currentScope=d,g=d.$$listeners[a]||[],h=0,i=g.length;i>h;h++)if(g[h])try{g[h].apply(null,k)}catch(l){j(l)}else g.splice(h,1),h--,i--;if(!(e=d.$$listenerCount[a]&&d.$$childHead||d!==c&&d.$$nextSibling))for(;d!==c&&!(e=d.$$nextSibling);)d=d.$parent}return f.currentScope=null,f}};var z=new o,B=z.$$asyncQueue=[],C=z.$$postDigestQueue=[],D=z.$$applyAsyncQueue=[];return z}]}function sc(){var a=/^\s*(https?|ftp|mailto|tel|file):/,b=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationWhitelist=function(b){return u(b)?(a=b,this):a},this.imgSrcSanitizationWhitelist=function(a){return u(a)?(b=a,this):b},this.$get=function(){return function(c,d){var e,f=d?b:a;return e=Bc(c).href,""===e||e.match(f)?c:"unsafe:"+e}}}function tc(a){if("self"===a)return a;if(x(a)){if(a.indexOf("***")>-1)throw gf("iwcard","Illegal sequence *** in string matcher.  String: {0}",a);return a=Rd(a).replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*"),new RegExp("^"+a+"$")}if(B(a))return new RegExp("^"+a.source+"$");throw gf("imatcher",'Matchers may only be "self", string patterns or RegExp objects')}function uc(a){var b=[];return u(a)&&f(a,function(a){b.push(tc(a))}),b}function vc(){this.SCE_CONTEXTS=hf;var a=["self"],b=[];this.resourceUrlWhitelist=function(b){return arguments.length&&(a=uc(b)),a},this.resourceUrlBlacklist=function(a){return arguments.length&&(b=uc(a)),b},this.$get=["$injector",function(c){function d(a,b){return"self"===a?Cc(b):!!a.exec(b.href)}function e(c){var e,f,g=Bc(c.toString()),h=!1;for(e=0,f=a.length;f>e;e++)if(d(a[e],g)){h=!0;break}if(h)for(e=0,f=b.length;f>e;e++)if(d(b[e],g)){h=!1;break}return h}function f(a){var b=function(a){this.$$unwrapTrustedValue=function(){return a}};return a&&(b.prototype=new a),b.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},b.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},b}function g(a,b){var c=l.hasOwnProperty(a)?l[a]:null;if(!c)throw gf("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",a,b);if(null===b||t(b)||""===b)return b;if("string"!=typeof b)throw gf("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",a);return new c(b)}function h(a){return a instanceof k?a.$$unwrapTrustedValue():a}function i(a,b){if(null===b||t(b)||""===b)return b;var c=l.hasOwnProperty(a)?l[a]:null;if(c&&b instanceof c)return b.$$unwrapTrustedValue();if(a===hf.RESOURCE_URL){if(e(b))return b;throw gf("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy.  URL: {0}",b.toString());
+}if(a===hf.HTML)return j(b);throw gf("unsafe","Attempting to use an unsafe value in a safe context.")}var j=function(a){throw gf("unsafe","Attempting to use an unsafe value in a safe context.")};c.has("$sanitize")&&(j=c.get("$sanitize"));var k=f(),l={};return l[hf.HTML]=f(k),l[hf.CSS]=f(k),l[hf.URL]=f(k),l[hf.JS]=f(k),l[hf.RESOURCE_URL]=f(l[hf.URL]),{trustAs:g,getTrusted:i,valueOf:h}}]}function wc(){var a=!0;this.enabled=function(b){return arguments.length&&(a=!!b),a},this.$get=["$parse","$sceDelegate",function(b,c){if(a&&8>Bd)throw gf("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 11 in quirks mode.  You can fix this by adding the text <!doctype html> to the top of your HTML document.  See http://docs.angularjs.org/api/ng.$sce for more information.");var d=P(hf);d.isEnabled=function(){return a},d.trustAs=c.trustAs,d.getTrusted=c.getTrusted,d.valueOf=c.valueOf,a||(d.trustAs=d.getTrusted=function(a,b){return b},d.valueOf=q),d.parseAs=function(a,c){var e=b(c);return e.literal&&e.constant?e:b(c,function(b){return d.getTrusted(a,b)})};var e=d.parseAs,g=d.getTrusted,h=d.trustAs;return f(hf,function(a,b){var c=wd(b);d[wa("parse_as_"+c)]=function(b){return e(a,b)},d[wa("get_trusted_"+c)]=function(b){return g(a,b)},d[wa("trust_as_"+c)]=function(b){return h(a,b)}}),d}]}function xc(){this.$get=["$window","$document",function(a,b){var c,d,e={},f=n((/android (\d+)/.exec(wd((a.navigator||{}).userAgent))||[])[1]),g=/Boxee/i.test((a.navigator||{}).userAgent),h=b[0]||{},i=/^(Moz|webkit|ms)(?=[A-Z])/,j=h.body&&h.body.style,k=!1,l=!1;if(j){for(var m in j)if(d=i.exec(m)){c=d[0],c=c.substr(0,1).toUpperCase()+c.substr(1);break}c||(c="WebkitOpacity"in j&&"webkit"),k=!!("transition"in j||c+"Transition"in j),l=!!("animation"in j||c+"Animation"in j),!f||k&&l||(k=x(j.webkitTransition),l=x(j.webkitAnimation))}return{history:!(!a.history||!a.history.pushState||4>f||g),hasEvent:function(a){if("input"===a&&11>=Bd)return!1;if(t(e[a])){var b=h.createElement("div");e[a]="on"+a in b}return e[a]},csp:Sd(),vendorPrefix:c,transitions:k,animations:l,android:f}}]}function yc(){this.$get=["$templateCache","$http","$q","$sce",function(a,b,c,d){function e(f,g){function h(a){if(!g)throw He("tpload","Failed to load template: {0} (HTTP status: {1} {2})",f,a.status,a.statusText);return c.reject(a)}e.totalPendingRequests++,x(f)&&a.get(f)||(f=d.getTrustedResourceUrl(f));var i=b.defaults&&b.defaults.transformResponse;Od(i)?i=i.filter(function(a){return a!==vb}):i===vb&&(i=null);var j={cache:a,transformResponse:i};return b.get(f,j)["finally"](function(){e.totalPendingRequests--}).then(function(b){return a.put(f,b.data),b.data},h)}return e.totalPendingRequests=0,e}]}function zc(){this.$get=["$rootScope","$browser","$location",function(a,b,c){var d={};return d.findBindings=function(a,b,c){var d=a.getElementsByClassName("ng-binding"),e=[];return f(d,function(a){var d=Ld.element(a).data("$binding");d&&f(d,function(d){if(c){var f=new RegExp("(^|\\s)"+Rd(b)+"(\\s|\\||$)");f.test(d)&&e.push(a)}else-1!=d.indexOf(b)&&e.push(a)})}),e},d.findModels=function(a,b,c){for(var d=["ng-","data-ng-","ng\\:"],e=0;e<d.length;++e){var f=c?"=":"*=",g="["+d[e]+"model"+f+'"'+b+'"]',h=a.querySelectorAll(g);if(h.length)return h}},d.getLocation=function(){return c.url()},d.setLocation=function(b){b!==c.url()&&(c.url(b),a.$digest())},d.whenStable=function(a){b.notifyWhenNoOutstandingRequests(a)},d}]}function Ac(){this.$get=["$rootScope","$browser","$q","$$q","$exceptionHandler",function(a,b,c,d,e){function f(f,h,i){A(f)||(i=h,h=f,f=p);var j,k=S(arguments,3),l=u(i)&&!i,m=(l?d:c).defer(),n=m.promise;return j=b.defer(function(){try{m.resolve(f.apply(null,k))}catch(b){m.reject(b),e(b)}finally{delete g[n.$$timeoutId]}l||a.$apply()},h),n.$$timeoutId=j,g[j]=m,n}var g={};return f.cancel=function(a){return a&&a.$$timeoutId in g?(g[a.$$timeoutId].reject("canceled"),delete g[a.$$timeoutId],b.defer.cancel(a.$$timeoutId)):!1},f}]}function Bc(a){var b=a;return Bd&&(jf.setAttribute("href",b),b=jf.href),jf.setAttribute("href",b),{href:jf.href,protocol:jf.protocol?jf.protocol.replace(/:$/,""):"",host:jf.host,search:jf.search?jf.search.replace(/^\?/,""):"",hash:jf.hash?jf.hash.replace(/^#/,""):"",hostname:jf.hostname,port:jf.port,pathname:"/"===jf.pathname.charAt(0)?jf.pathname:"/"+jf.pathname}}function Cc(a){var b=x(a)?Bc(a):a;return b.protocol===kf.protocol&&b.host===kf.host}function Dc(){this.$get=r(a)}function Ec(a){function b(a){try{return decodeURIComponent(a)}catch(b){return a}}var c=a[0]||{},d={},e="";return function(){var a,f,g,h,i,j=c.cookie||"";if(j!==e)for(e=j,a=e.split("; "),d={},g=0;g<a.length;g++)f=a[g],h=f.indexOf("="),h>0&&(i=b(f.substring(0,h)),t(d[i])&&(d[i]=b(f.substring(h+1))));return d}}function Fc(){this.$get=Ec}function Gc(a){function b(d,e){if(v(d)){var g={};return f(d,function(a,c){g[c]=b(c,a)}),g}return a.factory(d+c,e)}var c="Filter";this.register=b,this.$get=["$injector",function(a){return function(b){return a.get(b+c)}}],b("currency",Lc),b("date",Yc),b("filter",Hc),b("json",Zc),b("limitTo",$c),b("lowercase",pf),b("number",Mc),b("orderBy",_c),b("uppercase",qf)}function Hc(){return function(a,b,c){if(!e(a)){if(null==a)return a;throw d("filter")("notarray","Expected array but received: {0}",a)}var f,g,h=Kc(b);switch(h){case"function":f=b;break;case"boolean":case"null":case"number":case"string":g=!0;case"object":f=Ic(b,c,g);break;default:return a}return Array.prototype.filter.call(a,f)}}function Ic(a,b,c){var d,e=v(a)&&"$"in a;return b===!0?b=Q:A(b)||(b=function(a,b){return t(a)?!1:null===a||null===b?a===b:v(b)||v(a)&&!s(a)?!1:(a=wd(""+a),b=wd(""+b),-1!==a.indexOf(b))}),d=function(d){return e&&!v(d)?Jc(d,a.$,b,!1):Jc(d,a,b,c)}}function Jc(a,b,c,d,e){var f=Kc(a),g=Kc(b);if("string"===g&&"!"===b.charAt(0))return!Jc(a,b.substring(1),c,d);if(Od(a))return a.some(function(a){return Jc(a,b,c,d)});switch(f){case"object":var h;if(d){for(h in a)if("$"!==h.charAt(0)&&Jc(a[h],b,c,!0))return!0;return e?!1:Jc(a,b,c,!1)}if("object"===g){for(h in b){var i=b[h];if(!A(i)&&!t(i)){var j="$"===h,k=j?a:a[h];if(!Jc(k,i,c,j,j))return!1}}return!0}return c(a,b);case"function":return!1;default:return c(a,b)}}function Kc(a){return null===a?"null":typeof a}function Lc(a){var b=a.NUMBER_FORMATS;return function(a,c,d){return t(c)&&(c=b.CURRENCY_SYM),t(d)&&(d=b.PATTERNS[1].maxFrac),null==a?a:Nc(a,b.PATTERNS[1],b.GROUP_SEP,b.DECIMAL_SEP,d).replace(/\u00A4/g,c)}}function Mc(a){var b=a.NUMBER_FORMATS;return function(a,c){return null==a?a:Nc(a,b.PATTERNS[0],b.GROUP_SEP,b.DECIMAL_SEP,c)}}function Nc(a,b,c,d,e){if(v(a))return"";var f=0>a;a=Math.abs(a);var g=a===1/0;if(!g&&!isFinite(a))return"";var h=a+"",i="",j=!1,k=[];if(g&&(i="∞"),!g&&-1!==h.indexOf("e")){var l=h.match(/([\d\.]+)e(-?)(\d+)/);l&&"-"==l[2]&&l[3]>e+1?a=0:(i=h,j=!0)}if(g||j)e>0&&1>a&&(i=a.toFixed(e),a=parseFloat(i),i=i.replace(lf,d));else{var m=(h.split(lf)[1]||"").length;t(e)&&(e=Math.min(Math.max(b.minFrac,m),b.maxFrac)),a=+(Math.round(+(a.toString()+"e"+e)).toString()+"e"+-e);var n=(""+a).split(lf),o=n[0];n=n[1]||"";var p,q=0,r=b.lgSize,s=b.gSize;if(o.length>=r+s)for(q=o.length-r,p=0;q>p;p++)(q-p)%s===0&&0!==p&&(i+=c),i+=o.charAt(p);for(p=q;p<o.length;p++)(o.length-p)%r===0&&0!==p&&(i+=c),i+=o.charAt(p);for(;n.length<e;)n+="0";e&&"0"!==e&&(i+=d+n.substr(0,e))}return 0===a&&(f=!1),k.push(f?b.negPre:b.posPre,i,f?b.negSuf:b.posSuf),k.join("")}function Oc(a,b,c){var d="";for(0>a&&(d="-",a=-a),a=""+a;a.length<b;)a="0"+a;return c&&(a=a.substr(a.length-b)),d+a}function Pc(a,b,c,d){return c=c||0,function(e){var f=e["get"+a]();return(c>0||f>-c)&&(f+=c),0===f&&-12==c&&(f=12),Oc(f,b,d)}}function Qc(a,b){return function(c,d){var e=c["get"+a](),f=yd(b?"SHORT"+a:a);return d[f][e]}}function Rc(a,b,c){var d=-1*c,e=d>=0?"+":"";return e+=Oc(Math[d>0?"floor":"ceil"](d/60),2)+Oc(Math.abs(d%60),2)}function Sc(a){var b=new Date(a,0,1).getDay();return new Date(a,0,(4>=b?5:12)-b)}function Tc(a){return new Date(a.getFullYear(),a.getMonth(),a.getDate()+(4-a.getDay()))}function Uc(a){return function(b){var c=Sc(b.getFullYear()),d=Tc(b),e=+d-+c,f=1+Math.round(e/6048e5);return Oc(f,a)}}function Vc(a,b){return a.getHours()<12?b.AMPMS[0]:b.AMPMS[1]}function Wc(a,b){return a.getFullYear()<=0?b.ERAS[0]:b.ERAS[1]}function Xc(a,b){return a.getFullYear()<=0?b.ERANAMES[0]:b.ERANAMES[1]}function Yc(a){function b(a){var b;if(b=a.match(c)){var d=new Date(0),e=0,f=0,g=b[8]?d.setUTCFullYear:d.setFullYear,h=b[8]?d.setUTCHours:d.setHours;b[9]&&(e=n(b[9]+b[10]),f=n(b[9]+b[11])),g.call(d,n(b[1]),n(b[2])-1,n(b[3]));var i=n(b[4]||0)-e,j=n(b[5]||0)-f,k=n(b[6]||0),l=Math.round(1e3*parseFloat("0."+(b[7]||0)));return h.call(d,i,j,k,l),d}return a}var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,d,e){var g,h,i="",j=[];if(d=d||"mediumDate",d=a.DATETIME_FORMATS[d]||d,x(c)&&(c=of.test(c)?n(c):b(c)),y(c)&&(c=new Date(c)),!z(c)||!isFinite(c.getTime()))return c;for(;d;)h=nf.exec(d),h?(j=R(j,h,1),d=j.pop()):(j.push(d),d=null);var k=c.getTimezoneOffset();return e&&(k=X(e,c.getTimezoneOffset()),c=Z(c,e,!0)),f(j,function(b){g=mf[b],i+=g?g(c,a.DATETIME_FORMATS,k):b.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),i}}function Zc(){return function(a,b){return t(b)&&(b=2),V(a,b)}}function $c(){return function(a,b,c){return b=Math.abs(Number(b))===1/0?Number(b):n(b),isNaN(b)?a:(y(a)&&(a=a.toString()),Od(a)||x(a)?(c=!c||isNaN(c)?0:n(c),c=0>c?Math.max(0,a.length+c):c,b>=0?a.slice(c,c+b):0===c?a.slice(b,a.length):a.slice(Math.max(0,c+b),c)):a)}}function _c(a){function b(b,c){return c=c?-1:1,b.map(function(b){var d=1,e=q;if(A(b))e=b;else if(x(b)&&(("+"==b.charAt(0)||"-"==b.charAt(0))&&(d="-"==b.charAt(0)?-1:1,b=b.substring(1)),""!==b&&(e=a(b),e.constant))){var f=e();e=function(a){return a[f]}}return{get:e,descending:d*c}})}function c(a){switch(typeof a){case"number":case"boolean":case"string":return!0;default:return!1}}function d(a,b){return"function"==typeof a.valueOf&&(a=a.valueOf(),c(a))?a:s(a)&&(a=a.toString(),c(a))?a:b}function f(a,b){var c=typeof a;return null===a?(c="string",a="null"):"string"===c?a=a.toLowerCase():"object"===c&&(a=d(a,b)),{value:a,type:c}}function g(a,b){var c=0;return a.type===b.type?a.value!==b.value&&(c=a.value<b.value?-1:1):c=a.type<b.type?-1:1,c}return function(a,c,d){function h(a,b){return{value:a,predicateValues:j.map(function(c){return f(c.get(a),b)})}}function i(a,b){for(var c=0,d=0,e=j.length;e>d&&!(c=g(a.predicateValues[d],b.predicateValues[d])*j[d].descending);++d);return c}if(!e(a))return a;Od(c)||(c=[c]),0===c.length&&(c=["+"]);var j=b(c,d);j.push({get:function(){return{}},descending:d?-1:1});var k=Array.prototype.map.call(a,h);return k.sort(i),a=k.map(function(a){return a.value})}}function ad(a){return A(a)&&(a={link:a}),a.restrict=a.restrict||"AC",r(a)}function bd(a,b){a.$name=b}function cd(a,b,d,e,g){var h=this,i=[];h.$error={},h.$$success={},h.$pending=c,h.$name=g(b.name||b.ngForm||"")(d),h.$dirty=!1,h.$pristine=!0,h.$valid=!0,h.$invalid=!1,h.$submitted=!1,h.$$parentForm=tf,h.$rollbackViewValue=function(){f(i,function(a){a.$rollbackViewValue()})},h.$commitViewValue=function(){f(i,function(a){a.$commitViewValue()})},h.$addControl=function(a){na(a.$name,"input"),i.push(a),a.$name&&(h[a.$name]=a),a.$$parentForm=h},h.$$renameControl=function(a,b){var c=a.$name;h[c]===a&&delete h[c],h[b]=a,a.$name=b},h.$removeControl=function(a){a.$name&&h[a.$name]===a&&delete h[a.$name],f(h.$pending,function(b,c){h.$setValidity(c,null,a)}),f(h.$error,function(b,c){h.$setValidity(c,null,a)}),f(h.$$success,function(b,c){h.$setValidity(c,null,a)}),N(i,a),a.$$parentForm=tf},rd({ctrl:this,$element:a,set:function(a,b,c){var d=a[b];if(d){var e=d.indexOf(c);-1===e&&d.push(c)}else a[b]=[c]},unset:function(a,b,c){var d=a[b];d&&(N(d,c),0===d.length&&delete a[b])},$animate:e}),h.$setDirty=function(){e.removeClass(a,bg),e.addClass(a,cg),h.$dirty=!0,h.$pristine=!1,h.$$parentForm.$setDirty()},h.$setPristine=function(){e.setClass(a,bg,cg+" "+uf),h.$dirty=!1,h.$pristine=!0,h.$submitted=!1,f(i,function(a){a.$setPristine()})},h.$setUntouched=function(){f(i,function(a){a.$setUntouched()})},h.$setSubmitted=function(){e.addClass(a,uf),h.$submitted=!0,h.$$parentForm.$setSubmitted()}}function dd(a){a.$formatters.push(function(b){return a.$isEmpty(b)?b:b.toString()})}function ed(a,b,c,d,e,f){fd(a,b,c,d,e,f),dd(d)}function fd(a,b,c,d,e,f){var g=wd(b[0].type);if(!e.android){var h=!1;b.on("compositionstart",function(a){h=!0}),b.on("compositionend",function(){h=!1,i()})}var i=function(a){if(j&&(f.defer.cancel(j),j=null),!h){var e=b.val(),i=a&&a.type;"password"===g||c.ngTrim&&"false"===c.ngTrim||(e=Qd(e)),(d.$viewValue!==e||""===e&&d.$$hasNativeValidators)&&d.$setViewValue(e,i)}};if(e.hasEvent("input"))b.on("input",i);else{var j,k=function(a,b,c){j||(j=f.defer(function(){j=null,b&&b.value===c||i(a)}))};b.on("keydown",function(a){var b=a.keyCode;91===b||b>15&&19>b||b>=37&&40>=b||k(a,this,this.value)}),e.hasEvent("paste")&&b.on("paste cut",k)}b.on("change",i),d.$render=function(){var a=d.$isEmpty(d.$viewValue)?"":d.$viewValue;b.val()!==a&&b.val(a)}}function gd(a,b){if(z(a))return a;if(x(a)){Ef.lastIndex=0;var c=Ef.exec(a);if(c){var d=+c[1],e=+c[2],f=0,g=0,h=0,i=0,j=Sc(d),k=7*(e-1);return b&&(f=b.getHours(),g=b.getMinutes(),h=b.getSeconds(),i=b.getMilliseconds()),new Date(d,0,j.getDate()+k,f,g,h,i)}}return NaN}function hd(a,b){return function(c,d){var e,g;if(z(c))return c;if(x(c)){if('"'==c.charAt(0)&&'"'==c.charAt(c.length-1)&&(c=c.substring(1,c.length-1)),yf.test(c))return new Date(c);if(a.lastIndex=0,e=a.exec(c))return e.shift(),g=d?{yyyy:d.getFullYear(),MM:d.getMonth()+1,dd:d.getDate(),HH:d.getHours(),mm:d.getMinutes(),ss:d.getSeconds(),sss:d.getMilliseconds()/1e3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},f(e,function(a,c){c<b.length&&(g[b[c]]=+a)}),new Date(g.yyyy,g.MM-1,g.dd,g.HH,g.mm,g.ss||0,1e3*g.sss||0)}return NaN}}function id(a,b,d,e){return function(f,g,h,i,j,k,l){function m(a){return a&&!(a.getTime&&a.getTime()!==a.getTime())}function n(a){return u(a)&&!z(a)?d(a)||c:a}jd(f,g,h,i),fd(f,g,h,i,j,k);var o,p=i&&i.$options&&i.$options.timezone;if(i.$$parserName=a,i.$parsers.push(function(a){if(i.$isEmpty(a))return null;if(b.test(a)){var e=d(a,o);return p&&(e=Z(e,p)),e}return c}),i.$formatters.push(function(a){if(a&&!z(a))throw gg("datefmt","Expected `{0}` to be a date",a);return m(a)?(o=a,o&&p&&(o=Z(o,p,!0)),l("date")(a,e,p)):(o=null,"")}),u(h.min)||h.ngMin){var q;i.$validators.min=function(a){return!m(a)||t(q)||d(a)>=q},h.$observe("min",function(a){q=n(a),i.$validate()})}if(u(h.max)||h.ngMax){var r;i.$validators.max=function(a){return!m(a)||t(r)||d(a)<=r},h.$observe("max",function(a){r=n(a),i.$validate()})}}}function jd(a,b,d,e){var f=b[0],g=e.$$hasNativeValidators=v(f.validity);g&&e.$parsers.push(function(a){var d=b.prop(vd)||{};return d.badInput&&!d.typeMismatch?c:a})}function kd(a,b,d,e,f,g){if(jd(a,b,d,e),fd(a,b,d,e,f,g),e.$$parserName="number",e.$parsers.push(function(a){return e.$isEmpty(a)?null:Bf.test(a)?parseFloat(a):c}),e.$formatters.push(function(a){if(!e.$isEmpty(a)){if(!y(a))throw gg("numfmt","Expected `{0}` to be a number",a);a=a.toString()}return a}),u(d.min)||d.ngMin){var h;e.$validators.min=function(a){return e.$isEmpty(a)||t(h)||a>=h},d.$observe("min",function(a){u(a)&&!y(a)&&(a=parseFloat(a,10)),h=y(a)&&!isNaN(a)?a:c,e.$validate()})}if(u(d.max)||d.ngMax){var i;e.$validators.max=function(a){return e.$isEmpty(a)||t(i)||i>=a},d.$observe("max",function(a){u(a)&&!y(a)&&(a=parseFloat(a,10)),i=y(a)&&!isNaN(a)?a:c,e.$validate()})}}function ld(a,b,c,d,e,f){fd(a,b,c,d,e,f),dd(d),d.$$parserName="url",d.$validators.url=function(a,b){var c=a||b;return d.$isEmpty(c)||zf.test(c)}}function md(a,b,c,d,e,f){fd(a,b,c,d,e,f),dd(d),d.$$parserName="email",d.$validators.email=function(a,b){var c=a||b;return d.$isEmpty(c)||Af.test(c)}}function nd(a,b,c,d){t(c.name)&&b.attr("name",i());var e=function(a){b[0].checked&&d.$setViewValue(c.value,a&&a.type)};b.on("click",e),d.$render=function(){var a=c.value;b[0].checked=a==d.$viewValue},c.$observe("value",d.$render)}function od(a,b,c,d,e){var f;if(u(d)){if(f=a(d),!f.constant)throw gg("constexpr","Expected constant expression for `{0}`, but saw `{1}`.",c,d);return f(b)}return e}function pd(a,b,c,d,e,f,g,h){var i=od(h,a,"ngTrueValue",c.ngTrueValue,!0),j=od(h,a,"ngFalseValue",c.ngFalseValue,!1),k=function(a){d.$setViewValue(b[0].checked,a&&a.type)};b.on("click",k),d.$render=function(){b[0].checked=d.$viewValue},d.$isEmpty=function(a){return a===!1},d.$formatters.push(function(a){return Q(a,i)}),d.$parsers.push(function(a){return a?i:j})}function qd(a,b){return a="ngClass"+a,["$animate",function(c){function d(a,b){var c=[];a:for(var d=0;d<a.length;d++){for(var e=a[d],f=0;f<b.length;f++)if(e==b[f])continue a;c.push(e)}return c}function e(a){var b=[];return Od(a)?(f(a,function(a){b=b.concat(e(a))}),b):x(a)?a.split(" "):v(a)?(f(a,function(a,c){a&&(b=b.concat(c.split(" ")))}),b):a}return{restrict:"AC",link:function(g,h,i){function j(a){var b=l(a,1);i.$addClass(b)}function k(a){var b=l(a,-1);i.$removeClass(b)}function l(a,b){var c=h.data("$classCounts")||qa(),d=[];return f(a,function(a){(b>0||c[a])&&(c[a]=(c[a]||0)+b,c[a]===+(b>0)&&d.push(a))}),h.data("$classCounts",c),d.join(" ")}function m(a,b){var e=d(b,a),f=d(a,b);e=l(e,1),f=l(f,-1),e&&e.length&&c.addClass(h,e),f&&f.length&&c.removeClass(h,f)}function n(a){if(b===!0||g.$index%2===b){var c=e(a||[]);if(o){if(!Q(a,o)){var d=e(o);m(d,c)}}else j(c)}o=P(a)}var o;g.$watch(i[a],n,!0),i.$observe("class",function(b){n(g.$eval(i[a]))}),"ngClass"!==a&&g.$watch("$index",function(c,d){var f=1&c;if(f!==(1&d)){var h=e(g.$eval(i[a]));f===b?j(h):k(h)}})}}}]}function rd(a){function b(a,b,i){t(b)?d("$pending",a,i):e("$pending",a,i),H(b)?b?(l(h.$error,a,i),k(h.$$success,a,i)):(k(h.$error,a,i),l(h.$$success,a,i)):(l(h.$error,a,i),l(h.$$success,a,i)),h.$pending?(f(fg,!0),h.$valid=h.$invalid=c,g("",null)):(f(fg,!1),h.$valid=sd(h.$error),h.$invalid=!h.$valid,g("",h.$valid));var j;j=h.$pending&&h.$pending[a]?c:h.$error[a]?!1:h.$$success[a]?!0:null,g(a,j),h.$$parentForm.$setValidity(a,j,h)}function d(a,b,c){h[a]||(h[a]={}),k(h[a],b,c)}function e(a,b,d){h[a]&&l(h[a],b,d),sd(h[a])&&(h[a]=c)}function f(a,b){b&&!j[a]?(m.addClass(i,a),j[a]=!0):!b&&j[a]&&(m.removeClass(i,a),j[a]=!1)}function g(a,b){a=a?"-"+ja(a,"-"):"",f(_f+a,b===!0),f(ag+a,b===!1)}var h=a.ctrl,i=a.$element,j={},k=a.set,l=a.unset,m=a.$animate;j[ag]=!(j[_f]=i.hasClass(_f)),h.$setValidity=b}function sd(a){if(a)for(var b in a)if(a.hasOwnProperty(b))return!1;return!0}function td(a){a[0].hasAttribute("selected")&&(a[0].selected=!0)}var ud=/^\/(.+)\/([a-z]*)$/,vd="validity",wd=function(a){return x(a)?a.toLowerCase():a},xd=Object.prototype.hasOwnProperty,yd=function(a){return x(a)?a.toUpperCase():a},zd=function(a){return x(a)?a.replace(/[A-Z]/g,function(a){return String.fromCharCode(32|a.charCodeAt(0))}):a},Ad=function(a){return x(a)?a.replace(/[a-z]/g,function(a){return String.fromCharCode(-33&a.charCodeAt(0))}):a};"i"!=="I".toLowerCase()&&(wd=zd,yd=Ad);var Bd,Cd,Dd,Ed,Fd=[].slice,Gd=[].splice,Hd=[].push,Id=Object.prototype.toString,Jd=Object.getPrototypeOf,Kd=d("ng"),Ld=a.angular||(a.angular={}),Md=0;Bd=b.documentMode,p.$inject=[],q.$inject=[];var Nd,Od=Array.isArray,Pd=/^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array\]$/,Qd=function(a){return x(a)?a.trim():a},Rd=function(a){return a.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")},Sd=function(){function a(){try{return new Function(""),!1}catch(a){return!0}}if(!u(Sd.rules)){var c=b.querySelector("[ng-csp]")||b.querySelector("[data-ng-csp]");if(c){var d=c.getAttribute("ng-csp")||c.getAttribute("data-ng-csp");Sd.rules={noUnsafeEval:!d||-1!==d.indexOf("no-unsafe-eval"),noInlineStyle:!d||-1!==d.indexOf("no-inline-style")}}else Sd.rules={noUnsafeEval:a(),noInlineStyle:!1}}return Sd.rules},Td=function(){if(u(Td.name_))return Td.name_;var a,c,d,e,f=Ud.length;for(c=0;f>c;++c)if(d=Ud[c],a=b.querySelector("["+d.replace(":","\\:")+"jq]")){e=a.getAttribute(d+"jq");break}return Td.name_=e},Ud=["ng-","data-ng-","ng:","x-ng-"],Vd=/[A-Z]/g,Wd=!1,Xd=1,Yd=2,Zd=3,$d=8,_d=9,ae=11,be={full:"1.4.8",major:1,minor:4,dot:8,codeName:"ice-manipulation"};Ca.expando="ng339";var ce=Ca.cache={},de=1,ee=function(a,b,c){a.addEventListener(b,c,!1)},fe=function(a,b,c){a.removeEventListener(b,c,!1)};Ca._data=function(a){return this.cache[a[this.expando]]||{}};var ge=/([\:\-\_]+(.))/g,he=/^moz([A-Z])/,ie={mouseleave:"mouseout",mouseenter:"mouseover"},je=d("jqLite"),ke=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,le=/<|&#?\w+;/,me=/<([\w:-]+)/,ne=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,oe={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,"",""]};oe.optgroup=oe.option,oe.tbody=oe.tfoot=oe.colgroup=oe.caption=oe.thead,oe.th=oe.td;var pe=Node.prototype.contains||function(a){return!!(16&this.compareDocumentPosition(a))},qe=Ca.prototype={ready:function(c){function d(){e||(e=!0,c())}var e=!1;"complete"===b.readyState?setTimeout(d):(this.on("DOMContentLoaded",d),Ca(a).on("load",d))},toString:function(){var a=[];return f(this,function(b){a.push(""+b)}),"["+a.join(", ")+"]"},eq:function(a){return Cd(a>=0?this[a]:this[this.length+a])},length:0,push:Hd,sort:[].sort,splice:[].splice},re={};f("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(a){re[wd(a)]=a});var se={};f("input,select,option,textarea,button,form,details".split(","),function(a){se[a]=!0});var te={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern"};f({data:Ia,removeData:Ga,hasData:za},function(a,b){Ca[b]=a}),f({data:Ia,inheritedData:Oa,scope:function(a){return Cd.data(a,"$scope")||Oa(a.parentNode||a,["$isolateScope","$scope"])},isolateScope:function(a){return Cd.data(a,"$isolateScope")||Cd.data(a,"$isolateScopeNoTemplate")},controller:Na,injector:function(a){return Oa(a,"$injector")},removeAttr:function(a,b){a.removeAttribute(b)},hasClass:Ja,css:function(a,b,c){return b=wa(b),u(c)?void(a.style[b]=c):a.style[b]},attr:function(a,b,d){var e=a.nodeType;if(e!==Zd&&e!==Yd&&e!==$d){var f=wd(b);if(re[f]){if(!u(d))return a[b]||(a.attributes.getNamedItem(b)||p).specified?f:c;d?(a[b]=!0,a.setAttribute(b,f)):(a[b]=!1,a.removeAttribute(f))}else if(u(d))a.setAttribute(b,d);else if(a.getAttribute){var g=a.getAttribute(b,2);return null===g?c:g}}},prop:function(a,b,c){return u(c)?void(a[b]=c):a[b]},text:function(){function a(a,b){if(t(b)){var c=a.nodeType;return c===Xd||c===Zd?a.textContent:""}a.textContent=b}return a.$dv="",a}(),val:function(a,b){if(t(b)){if(a.multiple&&"select"===M(a)){var c=[];return f(a.options,function(a){a.selected&&c.push(a.value||a.text)}),0===c.length?null:c}return a.value}a.value=b},html:function(a,b){return t(b)?a.innerHTML:(Ea(a,!0),void(a.innerHTML=b))},empty:Pa},function(a,b){Ca.prototype[b]=function(b,c){var d,e,f=this.length;if(a!==Pa&&t(2==a.length&&a!==Ja&&a!==Na?b:c)){if(v(b)){for(d=0;f>d;d++)if(a===Ia)a(this[d],b);else for(e in b)a(this[d],e,b[e]);return this}for(var g=a.$dv,h=t(g)?Math.min(f,1):f,i=0;h>i;i++){var j=a(this[i],b,c);g=g?g+j:j}return g}for(d=0;f>d;d++)a(this[d],b,c);return this}}),f({removeData:Ga,on:function(a,b,d,e){if(u(e))throw je("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");if(ya(a)){var f=Ha(a,!0),g=f.events,h=f.handle;h||(h=f.handle=Ua(a,g));for(var i=b.indexOf(" ")>=0?b.split(" "):[b],j=i.length,k=function(b,c,e){var f=g[b];f||(f=g[b]=[],f.specialHandlerWrapper=c,"$destroy"===b||e||ee(a,b,h)),f.push(d)};j--;)b=i[j],ie[b]?(k(ie[b],Wa),k(b,c,!0)):k(b)}},off:Fa,one:function(a,b,c){a=Cd(a),a.on(b,function d(){a.off(b,c),a.off(b,d)}),a.on(b,c)},replaceWith:function(a,b){var c,d=a.parentNode;Ea(a),f(new Ca(b),function(b){c?d.insertBefore(b,c.nextSibling):d.replaceChild(b,a),c=b})},children:function(a){var b=[];return f(a.childNodes,function(a){a.nodeType===Xd&&b.push(a)}),b},contents:function(a){return a.contentDocument||a.childNodes||[]},append:function(a,b){var c=a.nodeType;if(c===Xd||c===ae){b=new Ca(b);for(var d=0,e=b.length;e>d;d++){var f=b[d];a.appendChild(f)}}},prepend:function(a,b){if(a.nodeType===Xd){var c=a.firstChild;f(new Ca(b),function(b){a.insertBefore(b,c)})}},wrap:function(a,b){b=Cd(b).eq(0).clone()[0];var c=a.parentNode;c&&c.replaceChild(b,a),b.appendChild(a)},remove:Qa,detach:function(a){Qa(a,!0)},after:function(a,b){var c=a,d=a.parentNode;b=new Ca(b);for(var e=0,f=b.length;f>e;e++){var g=b[e];d.insertBefore(g,c.nextSibling),c=g}},addClass:La,removeClass:Ka,toggleClass:function(a,b,c){b&&f(b.split(" "),function(b){var d=c;t(d)&&(d=!Ja(a,b)),(d?La:Ka)(a,b)})},parent:function(a){var b=a.parentNode;return b&&b.nodeType!==ae?b:null},next:function(a){return a.nextElementSibling},find:function(a,b){return a.getElementsByTagName?a.getElementsByTagName(b):[]},clone:Da,triggerHandler:function(a,b,c){var d,e,g,h=b.type||b,i=Ha(a),j=i&&i.events,k=j&&j[h];k&&(d={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return this.defaultPrevented===!0},stopImmediatePropagation:function(){this.immediatePropagationStopped=!0},isImmediatePropagationStopped:function(){return this.immediatePropagationStopped===!0},stopPropagation:p,type:h,target:a},b.type&&(d=l(d,b)),e=P(k),g=c?[d].concat(c):[d],f(e,function(b){d.isImmediatePropagationStopped()||b.apply(a,g)}))}},function(a,b){Ca.prototype[b]=function(b,c,d){for(var e,f=0,g=this.length;g>f;f++)t(e)?(e=a(this[f],b,c,d),u(e)&&(e=Cd(e))):Ma(e,a(this[f],b,c,d));return u(e)?e:this},Ca.prototype.bind=Ca.prototype.on,Ca.prototype.unbind=Ca.prototype.off}),Za.prototype={put:function(a,b){this[Ya(a,this.nextUid)]=b},get:function(a){return this[Ya(a,this.nextUid)]},remove:function(a){var b=this[a=Ya(a,this.nextUid)];return delete this[a],b}};var ue=[function(){this.$get=[function(){return Za}]}],ve=/^[^\(]*\(\s*([^\)]*)\)/m,we=/,/,xe=/^\s*(_?)(\S+?)\1\s*$/,ye=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,ze=d("$injector");ab.$$annotate=_a;var Ae=d("$animate"),Be=1,Ce="ng-animate",De=function(){this.$get=["$q","$$rAF",function(a,b){function c(){}return c.all=p,c.chain=p,c.prototype={end:p,cancel:p,resume:p,pause:p,complete:p,then:function(c,d){return a(function(a){b(function(){a()})}).then(c,d)}},c}]},Ee=function(){var a=new Za,b=[];this.$get=["$$AnimateRunner","$rootScope",function(c,d){function e(a,b,c){var d=!1;return b&&(b=x(b)?b.split(" "):Od(b)?b:[],f(b,function(b){b&&(d=!0,a[b]=c)})),d}function g(){f(b,function(b){var c=a.get(b);if(c){var d=eb(b.attr("class")),e="",g="";f(c,function(a,b){var c=!!d[b];a!==c&&(a?e+=(e.length?" ":"")+b:g+=(g.length?" ":"")+b)}),f(b,function(a){e&&La(a,e),g&&Ka(a,g)}),a.remove(b)}}),b.length=0}function h(c,f,h){var i=a.get(c)||{},j=e(i,f,!0),k=e(i,h,!1);(j||k)&&(a.put(c,i),b.push(c),1===b.length&&d.$$postDigest(g))}return{enabled:p,on:p,off:p,pin:p,push:function(a,b,d,e){return e&&e(),d=d||{},d.from&&a.css(d.from),d.to&&a.css(d.to),(d.addClass||d.removeClass)&&h(a,d.addClass,d.removeClass),new c}}}]},Fe=["$provide",function(a){var b=this;this.$$registeredAnimations=Object.create(null),this.register=function(c,d){if(c&&"."!==c.charAt(0))throw Ae("notcsel","Expecting class selector starting with '.' got '{0}'.",c);var e=c+"-animation";b.$$registeredAnimations[c.substr(1)]=e,a.factory(e,d)},this.classNameFilter=function(a){if(1===arguments.length&&(this.$$classNameFilter=a instanceof RegExp?a:null,this.$$classNameFilter)){var b=new RegExp("(\\s+|\\/)"+Ce+"(\\s+|\\/)");if(b.test(this.$$classNameFilter.toString()))throw Ae("nongcls",'$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the "{0}" CSS class.',Ce)}return this.$$classNameFilter},this.$get=["$$animateQueue",function(a){function b(a,b,c){if(c){var d=db(c);!d||d.parentNode||d.previousElementSibling||(c=null)}c?c.after(a):b.prepend(a)}return{on:a.on,off:a.off,pin:a.pin,enabled:a.enabled,cancel:function(a){a.end&&a.end()},enter:function(c,d,e,f){return d=d&&Cd(d),e=e&&Cd(e),d=d||e.parent(),b(c,d,e),a.push(c,"enter",fb(f))},move:function(c,d,e,f){return d=d&&Cd(d),e=e&&Cd(e),d=d||e.parent(),b(c,d,e),a.push(c,"move",fb(f))},leave:function(b,c){return a.push(b,"leave",fb(c),function(){b.remove()})},addClass:function(b,c,d){return d=fb(d),d.addClass=cb(d.addclass,c),a.push(b,"addClass",d)},removeClass:function(b,c,d){return d=fb(d),d.removeClass=cb(d.removeClass,c),a.push(b,"removeClass",d)},setClass:function(b,c,d,e){return e=fb(e),e.addClass=cb(e.addClass,c),e.removeClass=cb(e.removeClass,d),a.push(b,"setClass",e)},animate:function(b,c,d,e,f){return f=fb(f),f.from=f.from?l(f.from,c):c,f.to=f.to?l(f.to,d):d,e=e||"ng-inline-animate",f.tempClasses=cb(f.tempClasses,e),a.push(b,"animate",f)}}}]}],Ge=function(){this.$get=["$$rAF","$q",function(a,b){var c=function(){};return c.prototype={done:function(a){this.defer&&this.defer[a===!0?"reject":"resolve"]()},end:function(){this.done()},cancel:function(){this.done(!0)},getPromise:function(){return this.defer||(this.defer=b.defer()),this.defer.promise},then:function(a,b){return this.getPromise().then(a,b)},"catch":function(a){return this.getPromise()["catch"](a)},"finally":function(a){return this.getPromise()["finally"](a)}},function(b,d){function e(){return a(function(){f(),g||h.done(),g=!0}),h}function f(){d.addClass&&(b.addClass(d.addClass),d.addClass=null),d.removeClass&&(b.removeClass(d.removeClass),d.removeClass=null),d.to&&(b.css(d.to),d.to=null)}d.cleanupStyles&&(d.from=d.to=null),d.from&&(b.css(d.from),d.from=null);var g,h=new c;return{start:e,end:e}}}]},He=d("$compile");kb.$inject=["$provide","$$sanitizeUriProvider"];var Ie=/^((?:x|data)[\:\-_])/i,Je=d("$controller"),Ke=/^(\S+)(\s+as\s+(\w+))?$/,Le=function(){this.$get=["$document",function(a){return function(b){return b?!b.nodeType&&b instanceof Cd&&(b=b[0]):b=a[0].body,b.offsetWidth+1}}]},Me="application/json",Ne={"Content-Type":Me+";charset=utf-8"},Oe=/^\[|^\{(?!\{)/,Pe={"[":/]$/,"{":/}$/},Qe=/^\)\]\}',?\n/,Re=d("$http"),Se=function(a){return function(){throw Re("legacy","The method `{0}` on the promise returned from `$http` has been disabled.",a)}},Te=Ld.$interpolateMinErr=d("$interpolate");Te.throwNoconcat=function(a){throw Te("noconcat","Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required.  See http://docs.angularjs.org/api/ng.$sce",a)},Te.interr=function(a,b){return Te("interr","Can't interpolate: {0}\n{1}",a,b.toString())};var Ue=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,Ve={http:80,https:443,ftp:21},We=d("$location"),Xe={$$html5:!1,$$replace:!1,absUrl:Sb("$$absUrl"),url:function(a){if(t(a))return this.$$url;var b=Ue.exec(a);return(b[1]||""===a)&&this.path(decodeURIComponent(b[1])),(b[2]||b[1]||""===a)&&this.search(b[3]||""),this.hash(b[5]||""),this},protocol:Sb("$$protocol"),host:Sb("$$host"),port:Sb("$$port"),path:Tb("$$path",function(a){return a=null!==a?a.toString():"","/"==a.charAt(0)?a:"/"+a}),search:function(a,b){switch(arguments.length){case 0:return this.$$search;case 1:if(x(a)||y(a))a=a.toString(),this.$$search=aa(a);else{if(!v(a))throw We("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");a=O(a,{}),f(a,function(b,c){null==b&&delete a[c]}),this.$$search=a}break;default:t(b)||null===b?delete this.$$search[a]:this.$$search[a]=b}return this.$$compose(),this},hash:Tb("$$hash",function(a){return null!==a?a.toString():""}),replace:function(){return this.$$replace=!0,this}};f([Rb,Qb,Pb],function(a){a.prototype=Object.create(Xe),a.prototype.state=function(b){if(!arguments.length)return this.$$state;if(a!==Pb||!this.$$html5)throw We("nostate","History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API");return this.$$state=t(b)?null:b,
+this}});var Ye=d("$parse"),Ze=Function.prototype.call,$e=Function.prototype.apply,_e=Function.prototype.bind,af=qa();f("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),function(a){af[a]=!0});var bf={n:"\n",f:"\f",r:"\r",t:"      ",v:"\x0B","'":"'",'"':'"'},cf=function(a){this.options=a};cf.prototype={constructor:cf,lex:function(a){for(this.text=a,this.index=0,this.tokens=[];this.index<this.text.length;){var b=this.text.charAt(this.index);if('"'===b||"'"===b)this.readString(b);else if(this.isNumber(b)||"."===b&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdent(b))this.readIdent();else if(this.is(b,"(){}[].,;:?"))this.tokens.push({index:this.index,text:b}),this.index++;else if(this.isWhitespace(b))this.index++;else{var c=b+this.peek(),d=c+this.peek(2),e=af[b],f=af[c],g=af[d];if(e||f||g){var h=g?d:f?c:b;this.tokens.push({index:this.index,text:h,operator:!0}),this.index+=h.length}else this.throwError("Unexpected next character ",this.index,this.index+1)}}return this.tokens},is:function(a,b){return-1!==b.indexOf(a)},peek:function(a){var b=a||1;return this.index+b<this.text.length?this.text.charAt(this.index+b):!1},isNumber:function(a){return a>="0"&&"9">=a&&"string"==typeof a},isWhitespace:function(a){return" "===a||"\r"===a||"   "===a||"\n"===a||"\x0B"===a||" "===a},isIdent:function(a){return a>="a"&&"z">=a||a>="A"&&"Z">=a||"_"===a||"$"===a},isExpOperator:function(a){return"-"===a||"+"===a||this.isNumber(a)},throwError:function(a,b,c){c=c||this.index;var d=u(b)?"s "+b+"-"+this.index+" ["+this.text.substring(b,c)+"]":" "+c;throw Ye("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",a,d,this.text)},readNumber:function(){for(var a="",b=this.index;this.index<this.text.length;){var c=wd(this.text.charAt(this.index));if("."==c||this.isNumber(c))a+=c;else{var d=this.peek();if("e"==c&&this.isExpOperator(d))a+=c;else if(this.isExpOperator(c)&&d&&this.isNumber(d)&&"e"==a.charAt(a.length-1))a+=c;else{if(!this.isExpOperator(c)||d&&this.isNumber(d)||"e"!=a.charAt(a.length-1))break;this.throwError("Invalid exponent")}}this.index++}this.tokens.push({index:b,text:a,constant:!0,value:Number(a)})},readIdent:function(){for(var a=this.index;this.index<this.text.length;){var b=this.text.charAt(this.index);if(!this.isIdent(b)&&!this.isNumber(b))break;this.index++}this.tokens.push({index:a,text:this.text.slice(a,this.index),identifier:!0})},readString:function(a){var b=this.index;this.index++;for(var c="",d=a,e=!1;this.index<this.text.length;){var f=this.text.charAt(this.index);if(d+=f,e){if("u"===f){var g=this.text.substring(this.index+1,this.index+5);g.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+g+"]"),this.index+=4,c+=String.fromCharCode(parseInt(g,16))}else{var h=bf[f];c+=h||f}e=!1}else if("\\"===f)e=!0;else{if(f===a)return this.index++,void this.tokens.push({index:b,text:d,constant:!0,value:c});c+=f}this.index++}this.throwError("Unterminated quote",b)}};var df=function(a,b){this.lexer=a,this.options=b};df.Program="Program",df.ExpressionStatement="ExpressionStatement",df.AssignmentExpression="AssignmentExpression",df.ConditionalExpression="ConditionalExpression",df.LogicalExpression="LogicalExpression",df.BinaryExpression="BinaryExpression",df.UnaryExpression="UnaryExpression",df.CallExpression="CallExpression",df.MemberExpression="MemberExpression",df.Identifier="Identifier",df.Literal="Literal",df.ArrayExpression="ArrayExpression",df.Property="Property",df.ObjectExpression="ObjectExpression",df.ThisExpression="ThisExpression",df.NGValueParameter="NGValueParameter",df.prototype={ast:function(a){this.text=a,this.tokens=this.lexer.lex(a);var b=this.program();return 0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]),b},program:function(){for(var a=[];;)if(this.tokens.length>0&&!this.peek("}",")",";","]")&&a.push(this.expressionStatement()),!this.expect(";"))return{type:df.Program,body:a}},expressionStatement:function(){return{type:df.ExpressionStatement,expression:this.filterChain()}},filterChain:function(){for(var a,b=this.expression();a=this.expect("|");)b=this.filter(b);return b},expression:function(){return this.assignment()},assignment:function(){var a=this.ternary();return this.expect("=")&&(a={type:df.AssignmentExpression,left:a,right:this.assignment(),operator:"="}),a},ternary:function(){var a,b,c=this.logicalOR();return this.expect("?")&&(a=this.expression(),this.consume(":"))?(b=this.expression(),{type:df.ConditionalExpression,test:c,alternate:a,consequent:b}):c},logicalOR:function(){for(var a=this.logicalAND();this.expect("||");)a={type:df.LogicalExpression,operator:"||",left:a,right:this.logicalAND()};return a},logicalAND:function(){for(var a=this.equality();this.expect("&&");)a={type:df.LogicalExpression,operator:"&&",left:a,right:this.equality()};return a},equality:function(){for(var a,b=this.relational();a=this.expect("==","!=","===","!==");)b={type:df.BinaryExpression,operator:a.text,left:b,right:this.relational()};return b},relational:function(){for(var a,b=this.additive();a=this.expect("<",">","<=",">=");)b={type:df.BinaryExpression,operator:a.text,left:b,right:this.additive()};return b},additive:function(){for(var a,b=this.multiplicative();a=this.expect("+","-");)b={type:df.BinaryExpression,operator:a.text,left:b,right:this.multiplicative()};return b},multiplicative:function(){for(var a,b=this.unary();a=this.expect("*","/","%");)b={type:df.BinaryExpression,operator:a.text,left:b,right:this.unary()};return b},unary:function(){var a;return(a=this.expect("+","-","!"))?{type:df.UnaryExpression,operator:a.text,prefix:!0,argument:this.unary()}:this.primary()},primary:function(){var a;this.expect("(")?(a=this.filterChain(),this.consume(")")):this.expect("[")?a=this.arrayDeclaration():this.expect("{")?a=this.object():this.constants.hasOwnProperty(this.peek().text)?a=O(this.constants[this.consume().text]):this.peek().identifier?a=this.identifier():this.peek().constant?a=this.constant():this.throwError("not a primary expression",this.peek());for(var b;b=this.expect("(","[",".");)"("===b.text?(a={type:df.CallExpression,callee:a,arguments:this.parseArguments()},this.consume(")")):"["===b.text?(a={type:df.MemberExpression,object:a,property:this.expression(),computed:!0},this.consume("]")):"."===b.text?a={type:df.MemberExpression,object:a,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return a},filter:function(a){for(var b=[a],c={type:df.CallExpression,callee:this.identifier(),arguments:b,filter:!0};this.expect(":");)b.push(this.expression());return c},parseArguments:function(){var a=[];if(")"!==this.peekToken().text)do a.push(this.expression());while(this.expect(","));return a},identifier:function(){var a=this.consume();return a.identifier||this.throwError("is not a valid identifier",a),{type:df.Identifier,name:a.text}},constant:function(){return{type:df.Literal,value:this.consume().value}},arrayDeclaration:function(){var a=[];if("]"!==this.peekToken().text)do{if(this.peek("]"))break;a.push(this.expression())}while(this.expect(","));return this.consume("]"),{type:df.ArrayExpression,elements:a}},object:function(){var a,b=[];if("}"!==this.peekToken().text)do{if(this.peek("}"))break;a={type:df.Property,kind:"init"},this.peek().constant?a.key=this.constant():this.peek().identifier?a.key=this.identifier():this.throwError("invalid key",this.peek()),this.consume(":"),a.value=this.expression(),b.push(a)}while(this.expect(","));return this.consume("}"),{type:df.ObjectExpression,properties:b}},throwError:function(a,b){throw Ye("syntax","Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",b.text,a,b.index+1,this.text,this.text.substring(b.index))},consume:function(a){if(0===this.tokens.length)throw Ye("ueoe","Unexpected end of expression: {0}",this.text);var b=this.expect(a);return b||this.throwError("is unexpected, expecting ["+a+"]",this.peek()),b},peekToken:function(){if(0===this.tokens.length)throw Ye("ueoe","Unexpected end of expression: {0}",this.text);return this.tokens[0]},peek:function(a,b,c,d){return this.peekAhead(0,a,b,c,d)},peekAhead:function(a,b,c,d,e){if(this.tokens.length>a){var f=this.tokens[a],g=f.text;if(g===b||g===c||g===d||g===e||!b&&!c&&!d&&!e)return f}return!1},expect:function(a,b,c,d){var e=this.peek(a,b,c,d);return e?(this.tokens.shift(),e):!1},constants:{"true":{type:df.Literal,value:!0},"false":{type:df.Literal,value:!1},"null":{type:df.Literal,value:null},undefined:{type:df.Literal,value:c},"this":{type:df.ThisExpression}}},ic.prototype={compile:function(a,b){var d=this,e=this.astBuilder.ast(a);this.state={nextId:0,filters:{},expensiveChecks:b,fn:{vars:[],body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]},cc(e,d.$filter);var g,h="";if(this.stage="assign",g=fc(e)){this.state.computing="assign";var i=this.nextId();this.recurse(g,i),this.return_(i),h="fn.assign="+this.generateFunction("assign","s,v,l")}var j=dc(e.body);d.stage="inputs",f(j,function(a,b){var c="fn"+b;d.state[c]={vars:[],body:[],own:{}},d.state.computing=c;var e=d.nextId();d.recurse(a,e),d.return_(e),d.state.inputs.push(c),a.watchId=b}),this.state.computing="fn",this.stage="main",this.recurse(e);var k='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+h+this.watchFns()+"return fn;",l=new Function("$filter","ensureSafeMemberName","ensureSafeObject","ensureSafeFunction","getStringValue","ensureSafeAssignContext","ifDefined","plus","text",k)(this.$filter,Wb,Yb,Zb,Xb,$b,_b,ac,a);return this.state=this.stage=c,l.literal=gc(e),l.constant=hc(e),l},USE:"use",STRICT:"strict",watchFns:function(){var a=[],b=this.state.inputs,c=this;return f(b,function(b){a.push("var "+b+"="+c.generateFunction(b,"s"))}),b.length&&a.push("fn.inputs=["+b.join(",")+"];"),a.join("")},generateFunction:function(a,b){return"function("+b+"){"+this.varsPrefix(a)+this.body(a)+"};"},filterPrefix:function(){var a=[],b=this;return f(this.state.filters,function(c,d){a.push(c+"=$filter("+b.escape(d)+")")}),a.length?"var "+a.join(",")+";":""},varsPrefix:function(a){return this.state[a].vars.length?"var "+this.state[a].vars.join(",")+";":""},body:function(a){return this.state[a].body.join("")},recurse:function(a,b,d,e,g,h){var i,j,k,l,m=this;if(e=e||p,!h&&u(a.watchId))return b=b||this.nextId(),void this.if_("i",this.lazyAssign(b,this.computedMember("i",a.watchId)),this.lazyRecurse(a,b,d,e,g,!0));switch(a.type){case df.Program:f(a.body,function(b,d){m.recurse(b.expression,c,c,function(a){j=a}),d!==a.body.length-1?m.current().body.push(j,";"):m.return_(j)});break;case df.Literal:l=this.escape(a.value),this.assign(b,l),e(l);break;case df.UnaryExpression:this.recurse(a.argument,c,c,function(a){j=a}),l=a.operator+"("+this.ifDefined(j,0)+")",this.assign(b,l),e(l);break;case df.BinaryExpression:this.recurse(a.left,c,c,function(a){i=a}),this.recurse(a.right,c,c,function(a){j=a}),l="+"===a.operator?this.plus(i,j):"-"===a.operator?this.ifDefined(i,0)+a.operator+this.ifDefined(j,0):"("+i+")"+a.operator+"("+j+")",this.assign(b,l),e(l);break;case df.LogicalExpression:b=b||this.nextId(),m.recurse(a.left,b),m.if_("&&"===a.operator?b:m.not(b),m.lazyRecurse(a.right,b)),e(b);break;case df.ConditionalExpression:b=b||this.nextId(),m.recurse(a.test,b),m.if_(b,m.lazyRecurse(a.alternate,b),m.lazyRecurse(a.consequent,b)),e(b);break;case df.Identifier:b=b||this.nextId(),d&&(d.context="inputs"===m.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",a.name)+"?l:s"),d.computed=!1,d.name=a.name),Wb(a.name),m.if_("inputs"===m.stage||m.not(m.getHasOwnProperty("l",a.name)),function(){m.if_("inputs"===m.stage||"s",function(){g&&1!==g&&m.if_(m.not(m.nonComputedMember("s",a.name)),m.lazyAssign(m.nonComputedMember("s",a.name),"{}")),m.assign(b,m.nonComputedMember("s",a.name))})},b&&m.lazyAssign(b,m.nonComputedMember("l",a.name))),(m.state.expensiveChecks||kc(a.name))&&m.addEnsureSafeObject(b),e(b);break;case df.MemberExpression:i=d&&(d.context=this.nextId())||this.nextId(),b=b||this.nextId(),m.recurse(a.object,i,c,function(){m.if_(m.notNull(i),function(){a.computed?(j=m.nextId(),m.recurse(a.property,j),m.getStringValue(j),m.addEnsureSafeMemberName(j),g&&1!==g&&m.if_(m.not(m.computedMember(i,j)),m.lazyAssign(m.computedMember(i,j),"{}")),l=m.ensureSafeObject(m.computedMember(i,j)),m.assign(b,l),d&&(d.computed=!0,d.name=j)):(Wb(a.property.name),g&&1!==g&&m.if_(m.not(m.nonComputedMember(i,a.property.name)),m.lazyAssign(m.nonComputedMember(i,a.property.name),"{}")),l=m.nonComputedMember(i,a.property.name),(m.state.expensiveChecks||kc(a.property.name))&&(l=m.ensureSafeObject(l)),m.assign(b,l),d&&(d.computed=!1,d.name=a.property.name))},function(){m.assign(b,"undefined")}),e(b)},!!g);break;case df.CallExpression:b=b||this.nextId(),a.filter?(j=m.filter(a.callee.name),k=[],f(a.arguments,function(a){var b=m.nextId();m.recurse(a,b),k.push(b)}),l=j+"("+k.join(",")+")",m.assign(b,l),e(b)):(j=m.nextId(),i={},k=[],m.recurse(a.callee,j,i,function(){m.if_(m.notNull(j),function(){m.addEnsureSafeFunction(j),f(a.arguments,function(a){m.recurse(a,m.nextId(),c,function(a){k.push(m.ensureSafeObject(a))})}),i.name?(m.state.expensiveChecks||m.addEnsureSafeObject(i.context),l=m.member(i.context,i.name,i.computed)+"("+k.join(",")+")"):l=j+"("+k.join(",")+")",l=m.ensureSafeObject(l),m.assign(b,l)},function(){m.assign(b,"undefined")}),e(b)}));break;case df.AssignmentExpression:if(j=this.nextId(),i={},!ec(a.left))throw Ye("lval","Trying to assing a value to a non l-value");this.recurse(a.left,c,i,function(){m.if_(m.notNull(i.context),function(){m.recurse(a.right,j),m.addEnsureSafeObject(m.member(i.context,i.name,i.computed)),m.addEnsureSafeAssignContext(i.context),l=m.member(i.context,i.name,i.computed)+a.operator+j,m.assign(b,l),e(b||l)})},1);break;case df.ArrayExpression:k=[],f(a.elements,function(a){m.recurse(a,m.nextId(),c,function(a){k.push(a)})}),l="["+k.join(",")+"]",this.assign(b,l),e(l);break;case df.ObjectExpression:k=[],f(a.properties,function(a){m.recurse(a.value,m.nextId(),c,function(b){k.push(m.escape(a.key.type===df.Identifier?a.key.name:""+a.key.value)+":"+b)})}),l="{"+k.join(",")+"}",this.assign(b,l),e(l);break;case df.ThisExpression:this.assign(b,"s"),e("s");break;case df.NGValueParameter:this.assign(b,"v"),e("v")}},getHasOwnProperty:function(a,b){var c=a+"."+b,d=this.current().own;return d.hasOwnProperty(c)||(d[c]=this.nextId(!1,a+"&&("+this.escape(b)+" in "+a+")")),d[c]},assign:function(a,b){return a?(this.current().body.push(a,"=",b,";"),a):void 0},filter:function(a){return this.state.filters.hasOwnProperty(a)||(this.state.filters[a]=this.nextId(!0)),this.state.filters[a]},ifDefined:function(a,b){return"ifDefined("+a+","+this.escape(b)+")"},plus:function(a,b){return"plus("+a+","+b+")"},return_:function(a){this.current().body.push("return ",a,";")},if_:function(a,b,c){if(a===!0)b();else{var d=this.current().body;d.push("if(",a,"){"),b(),d.push("}"),c&&(d.push("else{"),c(),d.push("}"))}},not:function(a){return"!("+a+")"},notNull:function(a){return a+"!=null"},nonComputedMember:function(a,b){return a+"."+b},computedMember:function(a,b){return a+"["+b+"]"},member:function(a,b,c){return c?this.computedMember(a,b):this.nonComputedMember(a,b)},addEnsureSafeObject:function(a){this.current().body.push(this.ensureSafeObject(a),";")},addEnsureSafeMemberName:function(a){this.current().body.push(this.ensureSafeMemberName(a),";")},addEnsureSafeFunction:function(a){this.current().body.push(this.ensureSafeFunction(a),";")},addEnsureSafeAssignContext:function(a){this.current().body.push(this.ensureSafeAssignContext(a),";")},ensureSafeObject:function(a){return"ensureSafeObject("+a+",text)"},ensureSafeMemberName:function(a){return"ensureSafeMemberName("+a+",text)"},ensureSafeFunction:function(a){return"ensureSafeFunction("+a+",text)"},getStringValue:function(a){this.assign(a,"getStringValue("+a+",text)")},ensureSafeAssignContext:function(a){return"ensureSafeAssignContext("+a+",text)"},lazyRecurse:function(a,b,c,d,e,f){var g=this;return function(){g.recurse(a,b,c,d,e,f)}},lazyAssign:function(a,b){var c=this;return function(){c.assign(a,b)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)},escape:function(a){if(x(a))return"'"+a.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(y(a))return a.toString();if(a===!0)return"true";if(a===!1)return"false";if(null===a)return"null";if("undefined"==typeof a)return"undefined";throw Ye("esc","IMPOSSIBLE")},nextId:function(a,b){var c="v"+this.state.nextId++;return a||this.current().vars.push(c+(b?"="+b:"")),c},current:function(){return this.state[this.state.computing]}},jc.prototype={compile:function(a,b){var c=this,d=this.astBuilder.ast(a);this.expression=a,this.expensiveChecks=b,cc(d,c.$filter);var e,g;(e=fc(d))&&(g=this.recurse(e));var h,i=dc(d.body);i&&(h=[],f(i,function(a,b){var d=c.recurse(a);a.input=d,h.push(d),a.watchId=b}));var j=[];f(d.body,function(a){j.push(c.recurse(a.expression))});var k=0===d.body.length?function(){}:1===d.body.length?j[0]:function(a,b){var c;return f(j,function(d){c=d(a,b)}),c};return g&&(k.assign=function(a,b,c){return g(a,c,b)}),h&&(k.inputs=h),k.literal=gc(d),k.constant=hc(d),k},recurse:function(a,b,d){var e,g,h,i=this;if(a.input)return this.inputs(a.input,a.watchId);switch(a.type){case df.Literal:return this.value(a.value,b);case df.UnaryExpression:return g=this.recurse(a.argument),this["unary"+a.operator](g,b);case df.BinaryExpression:return e=this.recurse(a.left),g=this.recurse(a.right),this["binary"+a.operator](e,g,b);case df.LogicalExpression:return e=this.recurse(a.left),g=this.recurse(a.right),this["binary"+a.operator](e,g,b);case df.ConditionalExpression:return this["ternary?:"](this.recurse(a.test),this.recurse(a.alternate),this.recurse(a.consequent),b);case df.Identifier:return Wb(a.name,i.expression),i.identifier(a.name,i.expensiveChecks||kc(a.name),b,d,i.expression);case df.MemberExpression:return e=this.recurse(a.object,!1,!!d),a.computed||(Wb(a.property.name,i.expression),g=a.property.name),a.computed&&(g=this.recurse(a.property)),a.computed?this.computedMember(e,g,b,d,i.expression):this.nonComputedMember(e,g,i.expensiveChecks,b,d,i.expression);case df.CallExpression:return h=[],f(a.arguments,function(a){h.push(i.recurse(a))}),a.filter&&(g=this.$filter(a.callee.name)),a.filter||(g=this.recurse(a.callee,!0)),a.filter?function(a,d,e,f){for(var i=[],j=0;j<h.length;++j)i.push(h[j](a,d,e,f));var k=g.apply(c,i,f);return b?{context:c,name:c,value:k}:k}:function(a,c,d,e){var f,j=g(a,c,d,e);if(null!=j.value){Yb(j.context,i.expression),Zb(j.value,i.expression);for(var k=[],l=0;l<h.length;++l)k.push(Yb(h[l](a,c,d,e),i.expression));f=Yb(j.value.apply(j.context,k),i.expression)}return b?{value:f}:f};case df.AssignmentExpression:return e=this.recurse(a.left,!0,1),g=this.recurse(a.right),function(a,c,d,f){var h=e(a,c,d,f),j=g(a,c,d,f);return Yb(h.value,i.expression),$b(h.context),h.context[h.name]=j,b?{value:j}:j};case df.ArrayExpression:return h=[],f(a.elements,function(a){h.push(i.recurse(a))}),function(a,c,d,e){for(var f=[],g=0;g<h.length;++g)f.push(h[g](a,c,d,e));return b?{value:f}:f};case df.ObjectExpression:return h=[],f(a.properties,function(a){h.push({key:a.key.type===df.Identifier?a.key.name:""+a.key.value,value:i.recurse(a.value)})}),function(a,c,d,e){for(var f={},g=0;g<h.length;++g)f[h[g].key]=h[g].value(a,c,d,e);return b?{value:f}:f};case df.ThisExpression:return function(a){return b?{value:a}:a};case df.NGValueParameter:return function(a,c,d,e){return b?{value:d}:d}}},"unary+":function(a,b){return function(c,d,e,f){var g=a(c,d,e,f);return g=u(g)?+g:0,b?{value:g}:g}},"unary-":function(a,b){return function(c,d,e,f){var g=a(c,d,e,f);return g=u(g)?-g:0,b?{value:g}:g}},"unary!":function(a,b){return function(c,d,e,f){var g=!a(c,d,e,f);return b?{value:g}:g}},"binary+":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g),i=b(d,e,f,g),j=ac(h,i);return c?{value:j}:j}},"binary-":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g),i=b(d,e,f,g),j=(u(h)?h:0)-(u(i)?i:0);return c?{value:j}:j}},"binary*":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)*b(d,e,f,g);return c?{value:h}:h}},"binary/":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)/b(d,e,f,g);return c?{value:h}:h}},"binary%":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)%b(d,e,f,g);return c?{value:h}:h}},"binary===":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)===b(d,e,f,g);return c?{value:h}:h}},"binary!==":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)!==b(d,e,f,g);return c?{value:h}:h}},"binary==":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)==b(d,e,f,g);return c?{value:h}:h}},"binary!=":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)!=b(d,e,f,g);return c?{value:h}:h}},"binary<":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)<b(d,e,f,g);return c?{value:h}:h}},"binary>":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)>b(d,e,f,g);return c?{value:h}:h}},"binary<=":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)<=b(d,e,f,g);return c?{value:h}:h}},"binary>=":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)>=b(d,e,f,g);return c?{value:h}:h}},"binary&&":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)&&b(d,e,f,g);return c?{value:h}:h}},"binary||":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)||b(d,e,f,g);return c?{value:h}:h}},"ternary?:":function(a,b,c,d){return function(e,f,g,h){var i=a(e,f,g,h)?b(e,f,g,h):c(e,f,g,h);return d?{value:i}:i}},value:function(a,b){return function(){return b?{context:c,name:c,value:a}:a}},identifier:function(a,b,d,e,f){return function(g,h,i,j){var k=h&&a in h?h:g;e&&1!==e&&k&&!k[a]&&(k[a]={});var l=k?k[a]:c;return b&&Yb(l,f),d?{context:k,name:a,value:l}:l}},computedMember:function(a,b,c,d,e){return function(f,g,h,i){var j,k,l=a(f,g,h,i);return null!=l&&(j=b(f,g,h,i),j=Xb(j),Wb(j,e),d&&1!==d&&l&&!l[j]&&(l[j]={}),k=l[j],Yb(k,e)),c?{context:l,name:j,value:k}:k}},nonComputedMember:function(a,b,d,e,f,g){return function(h,i,j,k){var l=a(h,i,j,k);f&&1!==f&&l&&!l[b]&&(l[b]={});var m=null!=l?l[b]:c;return(d||kc(b))&&Yb(m,g),e?{context:l,name:b,value:m}:m}},inputs:function(a,b){return function(c,d,e,f){return f?f[b]:a(c,d,e)}}};var ef=function(a,b,c){this.lexer=a,this.$filter=b,this.options=c,this.ast=new df(this.lexer),this.astCompiler=c.csp?new jc(this.ast,b):new ic(this.ast,b)};ef.prototype={constructor:ef,parse:function(a){return this.astCompiler.compile(a,this.options.expensiveChecks)}};var ff=(qa(),qa(),Object.prototype.valueOf),gf=d("$sce"),hf={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},He=d("$compile"),jf=b.createElement("a"),kf=Bc(a.location.href);Ec.$inject=["$document"],Gc.$inject=["$provide"],Lc.$inject=["$locale"],Mc.$inject=["$locale"];var lf=".",mf={yyyy:Pc("FullYear",4),yy:Pc("FullYear",2,0,!0),y:Pc("FullYear",1),MMMM:Qc("Month"),MMM:Qc("Month",!0),MM:Pc("Month",2,1),M:Pc("Month",1,1),dd:Pc("Date",2),d:Pc("Date",1),HH:Pc("Hours",2),H:Pc("Hours",1),hh:Pc("Hours",2,-12),h:Pc("Hours",1,-12),mm:Pc("Minutes",2),m:Pc("Minutes",1),ss:Pc("Seconds",2),s:Pc("Seconds",1),sss:Pc("Milliseconds",3),EEEE:Qc("Day"),EEE:Qc("Day",!0),a:Vc,Z:Rc,ww:Uc(2),w:Uc(1),G:Wc,GG:Wc,GGG:Wc,GGGG:Xc},nf=/((?:[^yMdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/,of=/^\-?\d+$/;Yc.$inject=["$locale"];var pf=r(wd),qf=r(yd);_c.$inject=["$parse"];var rf=r({restrict:"E",compile:function(a,b){return b.href||b.xlinkHref?void 0:function(a,b){if("a"===b[0].nodeName.toLowerCase()){var c="[object SVGAnimatedString]"===Id.call(b.prop("href"))?"xlink:href":"href";b.on("click",function(a){b.attr(c)||a.preventDefault()})}}}}),sf={};f(re,function(a,b){function c(a,c,e){a.$watch(e[d],function(a){e.$set(b,!!a)})}if("multiple"!=a){var d=lb("ng-"+b),e=c;"checked"===a&&(e=function(a,b,e){e.ngModel!==e[d]&&c(a,b,e)}),sf[d]=function(){return{restrict:"A",priority:100,link:e}}}}),f(te,function(a,b){sf[b]=function(){return{priority:100,link:function(a,c,d){if("ngPattern"===b&&"/"==d.ngPattern.charAt(0)){var e=d.ngPattern.match(ud);if(e)return void d.$set("ngPattern",new RegExp(e[1],e[2]))}a.$watch(d[b],function(a){d.$set(b,a)})}}}}),f(["src","srcset","href"],function(a){var b=lb("ng-"+a);sf[b]=function(){return{priority:99,link:function(c,d,e){var f=a,g=a;"href"===a&&"[object SVGAnimatedString]"===Id.call(d.prop("href"))&&(g="xlinkHref",e.$attr[g]="xlink:href",f=null),e.$observe(b,function(b){return b?(e.$set(g,b),void(Bd&&f&&d.prop(f,e[g]))):void("href"===a&&e.$set(g,null))})}}}});var tf={$addControl:p,$$renameControl:bd,$removeControl:p,$setValidity:p,$setDirty:p,$setPristine:p,$setSubmitted:p},uf="ng-submitted";cd.$inject=["$element","$attrs","$scope","$animate","$interpolate"];var vf=function(a){return["$timeout","$parse",function(b,d){function e(a){return""===a?d('this[""]').assign:d(a).assign||p}var f={name:"form",restrict:a?"EAC":"E",require:["form","^^?form"],controller:cd,compile:function(d,f){d.addClass(bg).addClass(_f);var g=f.name?"name":a&&f.ngForm?"ngForm":!1;return{pre:function(a,d,f,h){var i=h[0];if(!("action"in f)){var j=function(b){a.$apply(function(){i.$commitViewValue(),i.$setSubmitted()}),b.preventDefault()};ee(d[0],"submit",j),d.on("$destroy",function(){b(function(){fe(d[0],"submit",j)},0,!1)})}var k=h[1]||i.$$parentForm;k.$addControl(i);var m=g?e(i.$name):p;g&&(m(a,i),f.$observe(g,function(b){i.$name!==b&&(m(a,c),i.$$parentForm.$$renameControl(i,b),(m=e(i.$name))(a,i))})),d.on("$destroy",function(){i.$$parentForm.$removeControl(i),m(a,c),l(i,tf)})}}}};return f}]},wf=vf(),xf=vf(!0),yf=/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/,zf=/^[A-Za-z][A-Za-z\d.+-]*:\/*(?:\w+(?::\w+)?@)?[^\s\/]+(?::\d+)?(?:\/[\w#!:.?+=&%@\-\/]*)?$/,Af=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,Bf=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,Cf=/^(\d{4})-(\d{2})-(\d{2})$/,Df=/^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Ef=/^(\d{4})-W(\d\d)$/,Ff=/^(\d{4})-(\d\d)$/,Gf=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Hf={text:ed,date:id("date",Cf,hd(Cf,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":id("datetimelocal",Df,hd(Df,["yyyy","MM","dd","HH","mm","ss","sss"]),"yyyy-MM-ddTHH:mm:ss.sss"),time:id("time",Gf,hd(Gf,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:id("week",Ef,gd,"yyyy-Www"),month:id("month",Ff,hd(Ff,["yyyy","MM"]),"yyyy-MM"),number:kd,url:ld,email:md,radio:nd,checkbox:pd,hidden:p,button:p,submit:p,reset:p,file:p},If=["$browser","$sniffer","$filter","$parse",function(a,b,c,d){return{restrict:"E",require:["?ngModel"],link:{pre:function(e,f,g,h){h[0]&&(Hf[wd(g.type)]||Hf.text)(e,f,g,h[0],b,a,c,d)}}}}],Jf=/^(true|false|\d+)$/,Kf=function(){return{restrict:"A",priority:100,compile:function(a,b){return Jf.test(b.ngValue)?function(a,b,c){c.$set("value",a.$eval(c.ngValue))}:function(a,b,c){a.$watch(c.ngValue,function(a){c.$set("value",a)})}}}},Lf=["$compile",function(a){return{restrict:"AC",compile:function(b){return a.$$addBindingClass(b),function(b,c,d){a.$$addBindingInfo(c,d.ngBind),c=c[0],b.$watch(d.ngBind,function(a){c.textContent=t(a)?"":a})}}}}],Mf=["$interpolate","$compile",function(a,b){return{compile:function(c){return b.$$addBindingClass(c),function(c,d,e){var f=a(d.attr(e.$attr.ngBindTemplate));b.$$addBindingInfo(d,f.expressions),d=d[0],e.$observe("ngBindTemplate",function(a){d.textContent=t(a)?"":a})}}}}],Nf=["$sce","$parse","$compile",function(a,b,c){return{restrict:"A",compile:function(d,e){var f=b(e.ngBindHtml),g=b(e.ngBindHtml,function(a){return(a||"").toString()});return c.$$addBindingClass(d),function(b,d,e){c.$$addBindingInfo(d,e.ngBindHtml),b.$watch(g,function(){d.html(a.getTrustedHtml(f(b))||"")})}}}}],Of=r({restrict:"A",require:"ngModel",link:function(a,b,c,d){d.$viewChangeListeners.push(function(){a.$eval(c.ngChange)})}}),Pf=qd("",!0),Qf=qd("Odd",0),Rf=qd("Even",1),Sf=ad({compile:function(a,b){b.$set("ngCloak",c),a.removeClass("ng-cloak")}}),Tf=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],Uf={},Vf={blur:!0,focus:!0};f("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(a){var b=lb("ng-"+a);Uf[b]=["$parse","$rootScope",function(c,d){return{restrict:"A",compile:function(e,f){var g=c(f[b],null,!0);return function(b,c){c.on(a,function(c){var e=function(){g(b,{$event:c})};Vf[a]&&d.$$phase?b.$evalAsync(e):b.$apply(e)})}}}}]});var Wf=["$animate",function(a){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(c,d,e,f,g){var h,i,j;c.$watch(e.ngIf,function(c){c?i||g(function(c,f){i=f,c[c.length++]=b.createComment(" end ngIf: "+e.ngIf+" "),h={clone:c},a.enter(c,d.parent(),d)}):(j&&(j.remove(),j=null),i&&(i.$destroy(),i=null),h&&(j=pa(h.clone),a.leave(j).then(function(){j=null}),h=null))})}}}],Xf=["$templateRequest","$anchorScroll","$animate",function(a,b,c){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:Ld.noop,compile:function(d,e){var f=e.ngInclude||e.src,g=e.onload||"",h=e.autoscroll;return function(d,e,i,j,k){var l,m,n,o=0,p=function(){m&&(m.remove(),m=null),l&&(l.$destroy(),l=null),n&&(c.leave(n).then(function(){m=null}),m=n,n=null)};d.$watch(f,function(f){var i=function(){!u(h)||h&&!d.$eval(h)||b()},m=++o;f?(a(f,!0).then(function(a){if(m===o){var b=d.$new();j.template=a;var h=k(b,function(a){p(),c.enter(a,null,e).then(i)});l=b,n=h,l.$emit("$includeContentLoaded",f),d.$eval(g)}},function(){m===o&&(p(),d.$emit("$includeContentError",f))}),d.$emit("$includeContentRequested",f)):(p(),j.template=null)})}}}}],Yf=["$compile",function(a){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(c,d,e,f){return/SVG/.test(d[0].toString())?(d.empty(),void a(Aa(f.template,b).childNodes)(c,function(a){d.append(a)},{futureParentElement:d})):(d.html(f.template),void a(d.contents())(c))}}}],Zf=ad({priority:450,compile:function(){return{pre:function(a,b,c){a.$eval(c.ngInit)}}}}),$f=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(a,b,d,e){var g=b.attr(d.$attr.ngList)||", ",h="false"!==d.ngTrim,i=h?Qd(g):g,j=function(a){if(!t(a)){var b=[];return a&&f(a.split(i),function(a){a&&b.push(h?Qd(a):a)}),b}};e.$parsers.push(j),e.$formatters.push(function(a){return Od(a)?a.join(g):c}),e.$isEmpty=function(a){return!a||!a.length}}}},_f="ng-valid",ag="ng-invalid",bg="ng-pristine",cg="ng-dirty",dg="ng-untouched",eg="ng-touched",fg="ng-pending",gg=d("ngModel"),hg=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$rootScope","$q","$interpolate",function(a,b,d,e,g,h,i,j,k,l){this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$$rawModelValue=c,this.$validators={},this.$asyncValidators={},this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$untouched=!0,this.$touched=!1,this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$error={},this.$$success={},this.$pending=c,this.$name=l(d.name||"",!1)(a),this.$$parentForm=tf;var m,n=g(d.ngModel),o=n.assign,q=n,r=o,s=null,v=this;this.$$setOptions=function(a){if(v.$options=a,a&&a.getterSetter){var b=g(d.ngModel+"()"),c=g(d.ngModel+"($$$p)");q=function(a){var c=n(a);return A(c)&&(c=b(a)),c},r=function(a,b){A(n(a))?c(a,{$$$p:v.$modelValue}):o(a,v.$modelValue)}}else if(!n.assign)throw gg("nonassign","Expression '{0}' is non-assignable. Element: {1}",d.ngModel,$(e))},this.$render=p,this.$isEmpty=function(a){return t(a)||""===a||null===a||a!==a};var w=0;rd({ctrl:this,$element:e,set:function(a,b){a[b]=!0},unset:function(a,b){delete a[b]},$animate:h}),this.$setPristine=function(){v.$dirty=!1,v.$pristine=!0,h.removeClass(e,cg),h.addClass(e,bg)},this.$setDirty=function(){v.$dirty=!0,v.$pristine=!1,h.removeClass(e,bg),h.addClass(e,cg),v.$$parentForm.$setDirty()},this.$setUntouched=function(){v.$touched=!1,
+v.$untouched=!0,h.setClass(e,dg,eg)},this.$setTouched=function(){v.$touched=!0,v.$untouched=!1,h.setClass(e,eg,dg)},this.$rollbackViewValue=function(){i.cancel(s),v.$viewValue=v.$$lastCommittedViewValue,v.$render()},this.$validate=function(){if(!y(v.$modelValue)||!isNaN(v.$modelValue)){var a=v.$$lastCommittedViewValue,b=v.$$rawModelValue,d=v.$valid,e=v.$modelValue,f=v.$options&&v.$options.allowInvalid;v.$$runValidators(b,a,function(a){f||d===a||(v.$modelValue=a?b:c,v.$modelValue!==e&&v.$$writeModelToScope())})}},this.$$runValidators=function(a,b,d){function e(){var a=v.$$parserName||"parse";return t(m)?(i(a,null),!0):(m||(f(v.$validators,function(a,b){i(b,null)}),f(v.$asyncValidators,function(a,b){i(b,null)})),i(a,m),m)}function g(){var c=!0;return f(v.$validators,function(d,e){var f=d(a,b);c=c&&f,i(e,f)}),c?!0:(f(v.$asyncValidators,function(a,b){i(b,null)}),!1)}function h(){var d=[],e=!0;f(v.$asyncValidators,function(f,g){var h=f(a,b);if(!I(h))throw gg("$asyncValidators","Expected asynchronous validator to return a promise but got '{0}' instead.",h);i(g,c),d.push(h.then(function(){i(g,!0)},function(a){e=!1,i(g,!1)}))}),d.length?k.all(d).then(function(){j(e)},p):j(!0)}function i(a,b){l===w&&v.$setValidity(a,b)}function j(a){l===w&&d(a)}w++;var l=w;return e()&&g()?void h():void j(!1)},this.$commitViewValue=function(){var a=v.$viewValue;i.cancel(s),(v.$$lastCommittedViewValue!==a||""===a&&v.$$hasNativeValidators)&&(v.$$lastCommittedViewValue=a,v.$pristine&&this.$setDirty(),this.$$parseAndValidate())},this.$$parseAndValidate=function(){function b(){v.$modelValue!==g&&v.$$writeModelToScope()}var d=v.$$lastCommittedViewValue,e=d;if(m=t(e)?c:!0)for(var f=0;f<v.$parsers.length;f++)if(e=v.$parsers[f](e),t(e)){m=!1;break}y(v.$modelValue)&&isNaN(v.$modelValue)&&(v.$modelValue=q(a));var g=v.$modelValue,h=v.$options&&v.$options.allowInvalid;v.$$rawModelValue=e,h&&(v.$modelValue=e,b()),v.$$runValidators(e,v.$$lastCommittedViewValue,function(a){h||(v.$modelValue=a?e:c,b())})},this.$$writeModelToScope=function(){r(a,v.$modelValue),f(v.$viewChangeListeners,function(a){try{a()}catch(c){b(c)}})},this.$setViewValue=function(a,b){v.$viewValue=a,(!v.$options||v.$options.updateOnDefault)&&v.$$debounceViewValueCommit(b)},this.$$debounceViewValueCommit=function(b){var c,d=0,e=v.$options;e&&u(e.debounce)&&(c=e.debounce,y(c)?d=c:y(c[b])?d=c[b]:y(c["default"])&&(d=c["default"])),i.cancel(s),d?s=i(function(){v.$commitViewValue()},d):j.$$phase?v.$commitViewValue():a.$apply(function(){v.$commitViewValue()})},a.$watch(function(){var b=q(a);if(b!==v.$modelValue&&(v.$modelValue===v.$modelValue||b===b)){v.$modelValue=v.$$rawModelValue=b,m=c;for(var d=v.$formatters,e=d.length,f=b;e--;)f=d[e](f);v.$viewValue!==f&&(v.$viewValue=v.$$lastCommittedViewValue=f,v.$render(),v.$$runValidators(b,f,p))}return b})}],ig=["$rootScope",function(a){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:hg,priority:1,compile:function(b){return b.addClass(bg).addClass(dg).addClass(_f),{pre:function(a,b,c,d){var e=d[0],f=d[1]||e.$$parentForm;e.$$setOptions(d[2]&&d[2].$options),f.$addControl(e),c.$observe("name",function(a){e.$name!==a&&e.$$parentForm.$$renameControl(e,a)}),a.$on("$destroy",function(){e.$$parentForm.$removeControl(e)})},post:function(b,c,d,e){var f=e[0];f.$options&&f.$options.updateOn&&c.on(f.$options.updateOn,function(a){f.$$debounceViewValueCommit(a&&a.type)}),c.on("blur",function(c){f.$touched||(a.$$phase?b.$evalAsync(f.$setTouched):b.$apply(f.$setTouched))})}}}}}],jg=/(\s+|^)default(\s+|$)/,kg=function(){return{restrict:"A",controller:["$scope","$attrs",function(a,b){var c=this;this.$options=O(a.$eval(b.ngModelOptions)),u(this.$options.updateOn)?(this.$options.updateOnDefault=!1,this.$options.updateOn=Qd(this.$options.updateOn.replace(jg,function(){return c.$options.updateOnDefault=!0," "}))):this.$options.updateOnDefault=!0}]}},lg=ad({terminal:!0,priority:1e3}),mg=d("ngOptions"),ng=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,og=["$compile","$parse",function(a,c){function d(a,b,d){function f(a,b,c,d,e){this.selectValue=a,this.viewValue=b,this.label=c,this.group=d,this.disabled=e}function g(a){var b;if(!j&&e(a))b=a;else{b=[];for(var c in a)a.hasOwnProperty(c)&&"$"!==c.charAt(0)&&b.push(c)}return b}var h=a.match(ng);if(!h)throw mg("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",a,$(b));var i=h[5]||h[7],j=h[6],k=/ as /.test(h[0])&&h[1],l=h[9],m=c(h[2]?h[1]:i),n=k&&c(k),o=n||m,p=l&&c(l),q=l?function(a,b){return p(d,b)}:function(a){return Ya(a)},r=function(a,b){return q(a,x(a,b))},s=c(h[2]||h[1]),t=c(h[3]||""),u=c(h[4]||""),v=c(h[8]),w={},x=j?function(a,b){return w[j]=b,w[i]=a,w}:function(a){return w[i]=a,w};return{trackBy:l,getTrackByValue:r,getWatchables:c(v,function(a){var b=[];a=a||[];for(var c=g(a),e=c.length,f=0;e>f;f++){var i=a===c?f:c[f],j=(a[i],x(a[i],i)),k=q(a[i],j);if(b.push(k),h[2]||h[1]){var l=s(d,j);b.push(l)}if(h[4]){var m=u(d,j);b.push(m)}}return b}),getOptions:function(){for(var a=[],b={},c=v(d)||[],e=g(c),h=e.length,i=0;h>i;i++){var j=c===e?i:e[i],k=c[j],m=x(k,j),n=o(d,m),p=q(n,m),w=s(d,m),y=t(d,m),z=u(d,m),A=new f(p,n,w,y,z);a.push(A),b[p]=A}return{items:a,selectValueMap:b,getOptionFromViewValue:function(a){return b[r(a)]},getViewValueFromOption:function(a){return l?Ld.copy(a.viewValue):a.viewValue}}}}}function g(b,c,e,g){function j(a,b){a.element=b,b.disabled=a.disabled,a.label!==b.label&&(b.label=a.label,b.textContent=a.label),a.value!==b.value&&(b.value=a.selectValue)}function k(a,b,c,d){var e;return b&&wd(b.nodeName)===c?e=b:(e=d.cloneNode(!1),b?a.insertBefore(e,b):a.appendChild(e)),e}function l(a){for(var b;a;)b=a.nextSibling,Qa(a),a=b}function m(a){var b=p&&p[0],c=w&&w[0];if(b||c)for(;a&&(a===b||a===c||a.nodeType===$d||""===a.value);)a=a.nextSibling;return a}function n(){var a=x&&q.readValue();x=y.getOptions();var b={},d=c[0].firstChild;if(v&&c.prepend(p),d=m(d),x.items.forEach(function(a){var e,f,g;a.group?(e=b[a.group],e||(f=k(c[0],d,"optgroup",i),d=f.nextSibling,f.label=a.group,e=b[a.group]={groupElement:f,currentOptionElement:f.firstChild}),g=k(e.groupElement,e.currentOptionElement,"option",h),j(a,g),e.currentOptionElement=g.nextSibling):(g=k(c[0],d,"option",h),j(a,g),d=g.nextSibling)}),Object.keys(b).forEach(function(a){l(b[a].currentOptionElement)}),l(d),o.$render(),!o.$isEmpty(a)){var e=q.readValue();(y.trackBy?Q(a,e):a===e)||(o.$setViewValue(e),o.$render())}}var o=g[1];if(o){for(var p,q=g[0],r=e.multiple,s=0,t=c.children(),u=t.length;u>s;s++)if(""===t[s].value){p=t.eq(s);break}var v=!!p,w=Cd(h.cloneNode(!1));w.val("?");var x,y=d(e.ngOptions,c,b),z=function(){v||c.prepend(p),c.val(""),p.prop("selected",!0),p.attr("selected",!0)},A=function(){v||p.remove()},B=function(){c.prepend(w),c.val("?"),w.prop("selected",!0),w.attr("selected",!0)},C=function(){w.remove()};r?(o.$isEmpty=function(a){return!a||0===a.length},q.writeValue=function(a){x.items.forEach(function(a){a.element.selected=!1}),a&&a.forEach(function(a){var b=x.getOptionFromViewValue(a);b&&!b.disabled&&(b.element.selected=!0)})},q.readValue=function(){var a=c.val()||[],b=[];return f(a,function(a){var c=x.selectValueMap[a];c&&!c.disabled&&b.push(x.getViewValueFromOption(c))}),b},y.trackBy&&b.$watchCollection(function(){return Od(o.$viewValue)?o.$viewValue.map(function(a){return y.getTrackByValue(a)}):void 0},function(){o.$render()})):(q.writeValue=function(a){var b=x.getOptionFromViewValue(a);b&&!b.disabled?c[0].value!==b.selectValue&&(C(),A(),c[0].value=b.selectValue,b.element.selected=!0,b.element.setAttribute("selected","selected")):null===a||v?(C(),z()):(A(),B())},q.readValue=function(){var a=x.selectValueMap[c.val()];return a&&!a.disabled?(A(),C(),x.getViewValueFromOption(a)):null},y.trackBy&&b.$watch(function(){return y.getTrackByValue(o.$viewValue)},function(){o.$render()})),v?(p.remove(),a(p)(b),p.removeClass("ng-scope")):p=Cd(h.cloneNode(!1)),n(),b.$watchCollection(y.getWatchables,n)}}var h=b.createElement("option"),i=b.createElement("optgroup");return{restrict:"A",terminal:!0,require:["select","?ngModel"],link:{pre:function(a,b,c,d){d[0].registerOption=p},post:g}}}],pg=["$locale","$interpolate","$log",function(a,b,c){var d=/{}/g,e=/^when(Minus)?(.+)$/;return{link:function(g,h,i){function j(a){h.text(a||"")}var k,l=i.count,m=i.$attr.when&&h.attr(i.$attr.when),n=i.offset||0,o=g.$eval(m)||{},q={},r=b.startSymbol(),s=b.endSymbol(),u=r+l+"-"+n+s,v=Ld.noop;f(i,function(a,b){var c=e.exec(b);if(c){var d=(c[1]?"-":"")+wd(c[2]);o[d]=h.attr(i.$attr[b])}}),f(o,function(a,c){q[c]=b(a.replace(d,u))}),g.$watch(l,function(b){var d=parseFloat(b),e=isNaN(d);if(e||d in o||(d=a.pluralCat(d-n)),d!==k&&!(e&&y(k)&&isNaN(k))){v();var f=q[d];t(f)?(null!=b&&c.debug("ngPluralize: no rule defined for '"+d+"' in "+m),v=p,j()):v=g.$watch(f,j),k=d}})}}}],qg=["$parse","$animate",function(a,g){var h="$$NG_REMOVED",i=d("ngRepeat"),j=function(a,b,c,d,e,f,g){a[c]=d,e&&(a[e]=f),a.$index=b,a.$first=0===b,a.$last=b===g-1,a.$middle=!(a.$first||a.$last),a.$odd=!(a.$even=0===(1&b))},k=function(a){return a.clone[0]},l=function(a){return a.clone[a.clone.length-1]};return{restrict:"A",multiElement:!0,transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,compile:function(d,m){var n=m.ngRepeat,o=b.createComment(" end ngRepeat: "+n+" "),p=n.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!p)throw i("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",n);var q=p[1],r=p[2],s=p[3],t=p[4];if(p=q.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/),!p)throw i("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",q);var u=p[3]||p[1],v=p[2];if(s&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(s)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(s)))throw i("badident","alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.",s);var w,x,y,z,A={$id:Ya};return t?w=a(t):(y=function(a,b){return Ya(b)},z=function(a){return a}),function(a,b,d,m,p){w&&(x=function(b,c,d){return v&&(A[v]=b),A[u]=c,A.$index=d,w(a,A)});var q=qa();a.$watchCollection(r,function(d){var m,r,t,w,A,B,C,D,E,F,G,H,I=b[0],J=qa();if(s&&(a[s]=d),e(d))E=d,D=x||y;else{D=x||z,E=[];for(var K in d)xd.call(d,K)&&"$"!==K.charAt(0)&&E.push(K)}for(w=E.length,G=new Array(w),m=0;w>m;m++)if(A=d===E?m:E[m],B=d[A],C=D(A,B,m),q[C])F=q[C],delete q[C],J[C]=F,G[m]=F;else{if(J[C])throw f(G,function(a){a&&a.scope&&(q[a.id]=a)}),i("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}",n,C,B);G[m]={id:C,scope:c,clone:c},J[C]=!0}for(var L in q){if(F=q[L],H=pa(F.clone),g.leave(H),H[0].parentNode)for(m=0,r=H.length;r>m;m++)H[m][h]=!0;F.scope.$destroy()}for(m=0;w>m;m++)if(A=d===E?m:E[m],B=d[A],F=G[m],F.scope){t=I;do t=t.nextSibling;while(t&&t[h]);k(F)!=t&&g.move(pa(F.clone),null,Cd(I)),I=l(F),j(F.scope,m,u,B,v,A,w)}else p(function(a,b){F.scope=b;var c=o.cloneNode(!1);a[a.length++]=c,g.enter(a,null,Cd(I)),I=c,F.clone=a,J[F.id]=F,j(F.scope,m,u,B,v,A,w)});q=J})}}}}],rg="ng-hide",sg="ng-hide-animate",tg=["$animate",function(a){return{restrict:"A",multiElement:!0,link:function(b,c,d){b.$watch(d.ngShow,function(b){a[b?"removeClass":"addClass"](c,rg,{tempClasses:sg})})}}}],ug=["$animate",function(a){return{restrict:"A",multiElement:!0,link:function(b,c,d){b.$watch(d.ngHide,function(b){a[b?"addClass":"removeClass"](c,rg,{tempClasses:sg})})}}}],vg=ad(function(a,b,c){a.$watch(c.ngStyle,function(a,c){c&&a!==c&&f(c,function(a,c){b.css(c,"")}),a&&b.css(a)},!0)}),wg=["$animate",function(a){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(c,d,e,g){var h=e.ngSwitch||e.on,i=[],j=[],k=[],l=[],m=function(a,b){return function(){a.splice(b,1)}};c.$watch(h,function(c){var d,e;for(d=0,e=k.length;e>d;++d)a.cancel(k[d]);for(k.length=0,d=0,e=l.length;e>d;++d){var h=pa(j[d].clone);l[d].$destroy();var n=k[d]=a.leave(h);n.then(m(k,d))}j.length=0,l.length=0,(i=g.cases["!"+c]||g.cases["?"])&&f(i,function(c){c.transclude(function(d,e){l.push(e);var f=c.element;d[d.length++]=b.createComment(" end ngSwitchWhen: ");var g={clone:d};j.push(g),a.enter(d,f.parent(),f)})})})}}}],xg=ad({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(a,b,c,d,e){d.cases["!"+c.ngSwitchWhen]=d.cases["!"+c.ngSwitchWhen]||[],d.cases["!"+c.ngSwitchWhen].push({transclude:e,element:b})}}),yg=ad({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(a,b,c,d,e){d.cases["?"]=d.cases["?"]||[],d.cases["?"].push({transclude:e,element:b})}}),zg=ad({restrict:"EAC",link:function(a,b,c,e,f){if(!f)throw d("ngTransclude")("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",$(b));f(function(a){b.empty(),b.append(a)})}}),Ag=["$templateCache",function(a){return{restrict:"E",terminal:!0,compile:function(b,c){if("text/ng-template"==c.type){var d=c.id,e=b[0].text;a.put(d,e)}}}}],Bg={$setViewValue:p,$render:p},Cg=["$element","$scope","$attrs",function(a,d,e){var f=this,g=new Za;f.ngModelCtrl=Bg,f.unknownOption=Cd(b.createElement("option")),f.renderUnknownOption=function(b){var c="? "+Ya(b)+" ?";f.unknownOption.val(c),a.prepend(f.unknownOption),a.val(c)},d.$on("$destroy",function(){f.renderUnknownOption=p}),f.removeUnknownOption=function(){f.unknownOption.parent()&&f.unknownOption.remove()},f.readValue=function(){return f.removeUnknownOption(),a.val()},f.writeValue=function(b){f.hasOption(b)?(f.removeUnknownOption(),a.val(b),""===b&&f.emptyOption.prop("selected",!0)):null==b&&f.emptyOption?(f.removeUnknownOption(),a.val("")):f.renderUnknownOption(b)},f.addOption=function(a,b){na(a,'"option value"'),""===a&&(f.emptyOption=b);var c=g.get(a)||0;g.put(a,c+1),f.ngModelCtrl.$render(),td(b)},f.removeOption=function(a){var b=g.get(a);b&&(1===b?(g.remove(a),""===a&&(f.emptyOption=c)):g.put(a,b-1))},f.hasOption=function(a){return!!g.get(a)},f.registerOption=function(a,b,c,d,e){if(d){var g;c.$observe("value",function(a){u(g)&&f.removeOption(g),g=a,f.addOption(a,b)})}else e?a.$watch(e,function(a,d){c.$set("value",a),d!==a&&f.removeOption(d),f.addOption(a,b)}):f.addOption(c.value,b);b.on("$destroy",function(){f.removeOption(c.value),f.ngModelCtrl.$render()})}}],Dg=function(){function a(a,b,c,d){var e=d[1];if(e){var g=d[0];if(g.ngModelCtrl=e,e.$render=function(){g.writeValue(e.$viewValue)},b.on("change",function(){a.$apply(function(){e.$setViewValue(g.readValue())})}),c.multiple){g.readValue=function(){var a=[];return f(b.find("option"),function(b){b.selected&&a.push(b.value)}),a},g.writeValue=function(a){var c=new Za(a);f(b.find("option"),function(a){a.selected=u(c.get(a.value))})};var h,i=NaN;a.$watch(function(){i!==e.$viewValue||Q(h,e.$viewValue)||(h=P(e.$viewValue),e.$render()),i=e.$viewValue}),e.$isEmpty=function(a){return!a||0===a.length}}}}return{restrict:"E",require:["select","?ngModel"],controller:Cg,priority:1,link:{pre:a}}},Eg=["$interpolate",function(a){return{restrict:"E",priority:100,compile:function(b,c){if(u(c.value))var d=a(c.value,!0);else{var e=a(b.text(),!0);e||c.$set("value",b.text())}return function(a,b,c){var f="$selectController",g=b.parent(),h=g.data(f)||g.parent().data(f);h&&h.registerOption(a,b,c,d,e)}}}}],Fg=r({restrict:"E",terminal:!1}),Gg=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,c,d){d&&(c.required=!0,d.$validators.required=function(a,b){return!c.required||!d.$isEmpty(b)},c.$observe("required",function(){d.$validate()}))}}},Hg=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,e,f){if(f){var g,h=e.ngPattern||e.pattern;e.$observe("pattern",function(a){if(x(a)&&a.length>0&&(a=new RegExp("^"+a+"$")),a&&!a.test)throw d("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",h,a,$(b));g=a||c,f.$validate()}),f.$validators.pattern=function(a,b){return f.$isEmpty(b)||t(g)||g.test(b)}}}}},Ig=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,c,d){if(d){var e=-1;c.$observe("maxlength",function(a){var b=n(a);e=isNaN(b)?-1:b,d.$validate()}),d.$validators.maxlength=function(a,b){return 0>e||d.$isEmpty(b)||b.length<=e}}}}},Jg=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,c,d){if(d){var e=0;c.$observe("minlength",function(a){e=n(a)||0,d.$validate()}),d.$validators.minlength=function(a,b){return d.$isEmpty(b)||b.length>=e}}}}};return a.angular.bootstrap?void console.log("WARNING: Tried to load angular more than once."):(ka(),ua(Ld),Ld.module("ngLocale",[],["$provide",function(a){function b(a){a+="";var b=a.indexOf(".");return-1==b?0:a.length-b-1}function d(a,d){var e=d;c===e&&(e=Math.min(b(a),3));var f=Math.pow(10,e),g=(a*f|0)%f;return{v:e,f:g}}var e={ZERO:"zero",ONE:"one",TWO:"two",FEW:"few",MANY:"many",OTHER:"other"};a.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6,MONTH:["January","February","March","April","May","June","July","August","September","October","November","December"],SHORTDAY:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],SHORTMONTH:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],WEEKENDRANGE:[5,6],fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",medium:"MMM d, y h:mm:ss a",mediumDate:"MMM d, y",mediumTime:"h:mm:ss a","short":"M/d/yy h:mm a",shortDate:"M/d/yy",shortTime:"h:mm a"},NUMBER_FORMATS:{CURRENCY_SYM:"$",DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-¤",negSuf:"",posPre:"¤",posSuf:""}]},id:"en-us",pluralCat:function(a,b){var c=0|a,f=d(a,b);return 1==c&&0==f.v?e.ONE:e.OTHER}})}]),void Cd(b).ready(function(){fa(b,ga)}))}(window,document),!window.angular.$$csp().noInlineStyle&&window.angular.element(document.head).prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}</style>'),function(a,b,c){"use strict";function d(a,b,c){if(!a)throw ngMinErr("areq","Argument '{0}' is {1}",b||"?",c||"required");return a}function e(a,b){return a||b?a?b?(Q(a)&&(a=a.join(" ")),Q(b)&&(b=b.join(" ")),a+" "+b):a:b:""}function f(a){var b={};return a&&(a.to||a.from)&&(b.to=a.to,b.from=a.from),b}function g(a,b,c){var d="";return a=Q(a)?a:a&&R(a)&&a.length?a.split(/\s+/):[],P(a,function(a,e){a&&a.length>0&&(d+=e>0?" ":"",d+=c?b+a:a+b)}),d}function h(a,b){var c=a.indexOf(b);b>=0&&a.splice(c,1)}function i(a){if(a instanceof O)switch(a.length){case 0:return[];case 1:if(a[0].nodeType===X)return a;break;default:return O(j(a))}return a.nodeType===X?O(a):void 0}function j(a){if(!a[0])return a;for(var b=0;b<a.length;b++){var c=a[b];if(c.nodeType==X)return c}}function k(a,b,c){P(b,function(b){a.addClass(b,c)})}function l(a,b,c){P(b,function(b){a.removeClass(b,c)})}function m(a){return function(b,c){c.addClass&&(k(a,b,c.addClass),c.addClass=null),c.removeClass&&(l(a,b,c.removeClass),c.removeClass=null)}}function n(a){if(a=a||{},!a.$$prepared){var b=a.domOperation||M;a.domOperation=function(){a.$$domOperationFired=!0,b(),b=M},a.$$prepared=!0}return a}function o(a,b){p(a,b),q(a,b)}function p(a,b){b.from&&(a.css(b.from),b.from=null)}function q(a,b){b.to&&(a.css(b.to),b.to=null)}function r(a,b,c){var d=(b.addClass||"")+" "+(c.addClass||""),e=(b.removeClass||"")+" "+(c.removeClass||""),f=s(a.attr("class"),d,e);c.preparationClasses&&(b.preparationClasses=z(c.preparationClasses,b.preparationClasses),delete c.preparationClasses);var g=b.domOperation!==M?b.domOperation:null;return N(b,c),g&&(b.domOperation=g),f.addClass?b.addClass=f.addClass:b.addClass=null,f.removeClass?b.removeClass=f.removeClass:b.removeClass=null,b}function s(a,b,c){function d(a){R(a)&&(a=a.split(" "));var b={};return P(a,function(a){a.length&&(b[a]=!0)}),b}var e=1,f=-1,g={};a=d(a),b=d(b),P(b,function(a,b){g[b]=e}),c=d(c),P(c,function(a,b){g[b]=g[b]===e?null:f});var h={addClass:"",removeClass:""};return P(g,function(b,c){var d,g;b===e?(d="addClass",g=!a[c]):b===f&&(d="removeClass",g=a[c]),g&&(h[d].length&&(h[d]+=" "),h[d]+=c)}),h}function t(a){return a instanceof b.element?a[0]:a}function u(a,b,c){var d="";b&&(d=g(b,$,!0)),c.addClass&&(d=z(d,g(c.addClass,Y))),c.removeClass&&(d=z(d,g(c.removeClass,Z))),d.length&&(c.preparationClasses=d,a.addClass(d))}function v(a,b){b.preparationClasses&&(a.removeClass(b.preparationClasses),b.preparationClasses=null),b.activeClasses&&(a.removeClass(b.activeClasses),b.activeClasses=null)}function w(a,b){var c=b?"-"+b+"s":"";return y(a,[ma,c]),[ma,c]}function x(a,b){var c=b?"paused":"",d=K+ia;return y(a,[d,c]),[d,c]}function y(a,b){var c=b[0],d=b[1];a.style[c]=d}function z(a,b){return a?b?a+" "+b:a:b}function A(a){return[la,a+"s"]}function B(a,b){var c=b?ka:ma;return[c,a+"s"]}function C(a,b,c){var d=Object.create(null),e=a.getComputedStyle(b)||{};return P(c,function(a,b){var c=e[a];if(c){var f=c.charAt(0);("-"===f||"+"===f||f>=0)&&(c=D(c)),0===c&&(c=null),d[b]=c}}),d}function D(a){var b=0,c=a.split(/\s*,\s*/);return P(c,function(a){"s"==a.charAt(a.length-1)&&(a=a.substring(0,a.length-1)),a=parseFloat(a)||0,b=b?Math.max(a,b):a}),b}function E(a){return 0===a||null!=a}function F(a,b){var c=I,d=a+"s";return b?c+=da:d+=" linear all",[c,d]}function G(){var a=Object.create(null);return{flush:function(){a=Object.create(null)},count:function(b){var c=a[b];return c?c.total:0},get:function(b){var c=a[b];return c&&c.value},put:function(b,c){a[b]?a[b].total++:a[b]={total:1,value:c}}}}function H(a,b,c){P(c,function(c){a[c]=U(a[c])?a[c]:b.style.getPropertyValue(c)})}var I,J,K,L,M=b.noop,N=b.extend,O=b.element,P=b.forEach,Q=b.isArray,R=b.isString,S=b.isObject,T=b.isUndefined,U=b.isDefined,V=b.isFunction,W=b.isElement,X=1,Y="-add",Z="-remove",$="ng-",_="-active",aa="ng-animate",ba="$$ngAnimateChildren",ca="";T(a.ontransitionend)&&U(a.onwebkittransitionend)?(ca="-webkit-",I="WebkitTransition",J="webkitTransitionEnd transitionend"):(I="transition",J="transitionend"),T(a.onanimationend)&&U(a.onwebkitanimationend)?(ca="-webkit-",K="WebkitAnimation",L="webkitAnimationEnd animationend"):(K="animation",L="animationend");var da="Duration",ea="Property",fa="Delay",ga="TimingFunction",ha="IterationCount",ia="PlayState",ja=9999,ka=K+fa,la=K+da,ma=I+fa,na=I+da,oa=["$$rAF",function(a){function b(a){d=d.concat(a),c()}function c(){if(d.length){for(var b=d.shift(),f=0;f<b.length;f++)b[f]();e||a(function(){e||c()})}}var d,e;return d=b.queue=[],b.waitUntilQuiet=function(b){e&&e(),e=a(function(){e=null,b(),c()})},b}],pa=[function(){return function(a,c,d){var e=d.ngAnimateChildren;b.isString(e)&&0===e.length?c.data(ba,!0):d.$observe("ngAnimateChildren",function(a){a="on"===a||"true"===a,c.data(ba,a)})}}],qa="$$animateCss",ra=1e3,sa=3,ta=1.5,ua={transitionDuration:na,transitionDelay:ma,transitionProperty:I+ea,animationDuration:la,animationDelay:ka,animationIterationCount:K+ha},va={transitionDuration:na,transitionDelay:ma,animationDuration:la,animationDelay:ka},wa=["$animateProvider",function(a){var b=G(),c=G();this.$get=["$window","$$jqLite","$$AnimateRunner","$timeout","$$forceReflow","$sniffer","$$rAFScheduler","$animate",function(a,d,e,i,j,k,l,r){function s(a,b){var c="$$ngAnimateParentKey",d=a.parentNode,e=d[c]||(d[c]=++N);return e+"-"+a.getAttribute("class")+"-"+b}function u(c,d,e,f){var g=b.get(e);return g||(g=C(a,c,f),"infinite"===g.animationIterationCount&&(g.animationIterationCount=1)),b.put(e,g),g}function v(e,f,h,i){var j;if(b.count(h)>0&&(j=c.get(h),!j)){var k=g(f,"-stagger");d.addClass(e,k),j=C(a,e,i),j.animationDuration=Math.max(j.animationDuration,0),j.transitionDuration=Math.max(j.transitionDuration,0),d.removeClass(e,k),c.put(h,j)}return j||{}}function z(a){O.push(a),l.waitUntilQuiet(function(){b.flush(),c.flush();for(var a=j(),d=0;d<O.length;d++)O[d](a);O.length=0})}function D(a,b,c){var d=u(a,b,c,ua),e=d.animationDelay,f=d.transitionDelay;return d.maxDelay=e&&f?Math.max(e,f):e||f,d.maxDuration=Math.max(d.animationDuration*d.animationIterationCount,d.transitionDuration),d}var G=m(d),N=0,O=[];return function(a,c){function j(){m()}function l(){m(!0)}function m(b){S||U&&T||(S=!0,T=!1,c.$$skipPreparationClasses||d.removeClass(a,na),d.removeClass(a,pa),x(R,!1),w(R,!1),P(da,function(a){R.style[a[0]]=""}),G(a,c),o(a,c),Object.keys(O).length&&P(O,function(a,b){a?R.style.setProperty(b,a):R.style.removeProperty(b)}),c.onDone&&c.onDone(),V&&V.complete(!b))}function u(a){Ia.blockTransition&&w(R,a),Ia.blockKeyframeAnimation&&x(R,!!a)}function C(){return V=new e({end:j,cancel:l}),z(M),m(),{$$willAnimate:!1,start:function(){return V},end:j}}function N(){function b(){if(!S){if(u(!1),P(da,function(a){var b=a[0],c=a[1];R.style[b]=c}),G(a,c),d.addClass(a,pa),Ia.recalculateTimingStyles){if(oa=R.className+" "+na,xa=s(R,oa),Ga=D(R,oa,xa),Ha=Ga.maxDelay,X=Math.max(Ha,0),ba=Ga.maxDuration,0===ba)return void m();Ia.hasTransitions=Ga.transitionDuration>0,Ia.hasAnimations=Ga.animationDuration>0}if(Ia.applyAnimationDelay&&(Ha="boolean"!=typeof c.delay&&E(c.delay)?parseFloat(c.delay):Ha,X=Math.max(Ha,0),Ga.animationDelay=Ha,Ja=B(Ha,!0),da.push(Ja),R.style[Ja[0]]=Ja[1]),aa=X*ra,ca=ba*ra,c.easing){var b,h=c.easing;Ia.hasTransitions&&(b=I+ga,da.push([b,h]),R.style[b]=h),Ia.hasAnimations&&(b=K+ga,da.push([b,h]),R.style[b]=h)}Ga.transitionDuration&&j.push(J),Ga.animationDuration&&j.push(L),g=Date.now();var k=aa+ta*ca,l=g+k,n=a.data(qa)||[],o=!0;if(n.length){var p=n[0];o=l>p.expectedEndTime,o?i.cancel(p.timer):n.push(m)}if(o){var r=i(e,k,!1);n[0]={timer:r,expectedEndTime:l},n.push(m),a.data(qa,n)}a.on(j.join(" "),f),c.to&&(c.cleanupStyles&&H(O,R,Object.keys(c.to)),q(a,c))}}function e(){var b=a.data(qa);if(b){for(var c=1;c<b.length;c++)b[c]();a.removeData(qa)}}function f(a){a.stopPropagation();var b=a.originalEvent||a,c=b.$manualTimeStamp||b.timeStamp||Date.now(),d=parseFloat(b.elapsedTime.toFixed(sa));Math.max(c-g,0)>=aa&&d>=ba&&(U=!0,m())}if(!S){if(!R.parentNode)return void m();var g,j=[],k=function(a){if(U)T&&a&&(T=!1,m());else if(T=!a,Ga.animationDuration){var b=x(R,T);T?da.push(b):h(da,b)}},l=Ea>0&&(Ga.transitionDuration&&0===ya.transitionDuration||Ga.animationDuration&&0===ya.animationDuration)&&Math.max(ya.animationDelay,ya.transitionDelay);l?i(b,Math.floor(l*Ea*ra),!1):b(),W.resume=function(){k(!0)},W.pause=function(){k(!1)}}}var O={},R=t(a);if(!R||!R.parentNode||!r.enabled())return C();c=n(c);var S,T,U,V,W,X,aa,ba,ca,da=[],fa=a.attr("class"),ha=f(c);if(0===c.duration||!k.animations&&!k.transitions)return C();var ia=c.event&&Q(c.event)?c.event.join(" "):c.event,ka=ia&&c.structural,la="",ma="";ka?la=g(ia,$,!0):ia&&(la=ia),c.addClass&&(ma+=g(c.addClass,Y)),c.removeClass&&(ma.length&&(ma+=" "),ma+=g(c.removeClass,Z)),c.applyClassesEarly&&ma.length&&G(a,c);var na=[la,ma].join(" ").trim(),oa=fa+" "+na,pa=g(na,_),ua=ha.to&&Object.keys(ha.to).length>0,wa=(c.keyframeStyle||"").length>0;if(!wa&&!ua&&!na)return C();var xa,ya;if(c.stagger>0){var za=parseFloat(c.stagger);ya={transitionDelay:za,animationDelay:za,transitionDuration:0,animationDuration:0}}else xa=s(R,oa),ya=v(R,na,xa,va);c.$$skipPreparationClasses||d.addClass(a,na);var Aa;if(c.transitionStyle){var Ba=[I,c.transitionStyle];y(R,Ba),da.push(Ba)}if(c.duration>=0){Aa=R.style[I].length>0;var Ca=F(c.duration,Aa);y(R,Ca),da.push(Ca)}if(c.keyframeStyle){var Da=[K,c.keyframeStyle];y(R,Da),da.push(Da)}var Ea=ya?c.staggerIndex>=0?c.staggerIndex:b.count(xa):0,Fa=0===Ea;Fa&&!c.skipBlocking&&w(R,ja);var Ga=D(R,oa,xa),Ha=Ga.maxDelay;X=Math.max(Ha,0),ba=Ga.maxDuration;var Ia={};if(Ia.hasTransitions=Ga.transitionDuration>0,Ia.hasAnimations=Ga.animationDuration>0,Ia.hasTransitionAll=Ia.hasTransitions&&"all"==Ga.transitionProperty,Ia.applyTransitionDuration=ua&&(Ia.hasTransitions&&!Ia.hasTransitionAll||Ia.hasAnimations&&!Ia.hasTransitions),Ia.applyAnimationDuration=c.duration&&Ia.hasAnimations,Ia.applyTransitionDelay=E(c.delay)&&(Ia.applyTransitionDuration||Ia.hasTransitions),Ia.applyAnimationDelay=E(c.delay)&&Ia.hasAnimations,Ia.recalculateTimingStyles=ma.length>0,(Ia.applyTransitionDuration||Ia.applyAnimationDuration)&&(ba=c.duration?parseFloat(c.duration):ba,Ia.applyTransitionDuration&&(Ia.hasTransitions=!0,Ga.transitionDuration=ba,Aa=R.style[I+ea].length>0,da.push(F(ba,Aa))),Ia.applyAnimationDuration&&(Ia.hasAnimations=!0,Ga.animationDuration=ba,da.push(A(ba)))),0===ba&&!Ia.recalculateTimingStyles)return C();if(null!=c.delay){var Ja=parseFloat(c.delay);Ia.applyTransitionDelay&&da.push(B(Ja)),Ia.applyAnimationDelay&&da.push(B(Ja,!0))}return null==c.duration&&Ga.transitionDuration>0&&(Ia.recalculateTimingStyles=Ia.recalculateTimingStyles||Fa),aa=X*ra,ca=ba*ra,c.skipBlocking||(Ia.blockTransition=Ga.transitionDuration>0,Ia.blockKeyframeAnimation=Ga.animationDuration>0&&ya.animationDelay>0&&0===ya.animationDuration),c.from&&(c.cleanupStyles&&H(O,R,Object.keys(c.from)),p(a,c)),Ia.blockTransition||Ia.blockKeyframeAnimation?u(ba):c.skipBlocking||w(R,!1),{$$willAnimate:!0,end:j,start:function(){return S?void 0:(W={end:j,cancel:l,resume:null,pause:null},V=new e(W),z(N),V)}}}}]}],xa=["$$animationProvider",function(a){function b(a){return a.parentNode&&11===a.parentNode.nodeType}a.drivers.push("$$animateCssDriver");var c="ng-animate-shim",d="ng-anchor",e="ng-anchor-out",f="ng-anchor-in";this.$get=["$animateCss","$rootScope","$$AnimateRunner","$rootElement","$sniffer","$$jqLite","$document",function(a,g,h,i,j,k,l){function n(a){return a.replace(/\bng-\S+\b/g,"")}function o(a,b){return R(a)&&(a=a.split(" ")),R(b)&&(b=b.split(" ")),a.filter(function(a){return-1===b.indexOf(a)}).join(" ")}function p(b,g,i){function j(a){var b={},c=t(a).getBoundingClientRect();return P(["width","height","top","left"],function(a){var d=c[a];switch(a){case"top":d+=s.scrollTop;break;case"left":d+=s.scrollLeft}b[a]=Math.floor(d)+"px"}),b}function k(){var b=a(q,{addClass:e,delay:!0,from:j(g)});return b.$$willAnimate?b:null}function l(a){return a.attr("class")||""}function m(){var b=n(l(i)),c=o(b,r),d=o(r,b),g=a(q,{to:j(i),addClass:f+" "+c,removeClass:e+" "+d,delay:!0});return g.$$willAnimate?g:null}function p(){q.remove(),g.removeClass(c),i.removeClass(c)}var q=O(t(g).cloneNode(!0)),r=n(l(q));g.addClass(c),i.addClass(c),q.addClass(d),v.append(q);var u,w=k();if(!w&&(u=m(),!u))return p();var x=w||u;return{start:function(){function a(){c&&c.end()}var b,c=x.start();return c.done(function(){return c=null,!u&&(u=m())?(c=u.start(),c.done(function(){c=null,p(),b.complete()}),c):(p(),void b.complete())}),b=new h({end:a,cancel:a})}}}function q(a,b,c,d){var e=r(a,M),f=r(b,M),g=[];return P(d,function(a){var b=a.out,d=a["in"],e=p(c,b,d);e&&g.push(e)}),e||f||0!==g.length?{start:function(){function a(){P(b,function(a){a.end()})}var b=[];e&&b.push(e.start()),f&&b.push(f.start()),P(g,function(a){b.push(a.start())});var c=new h({end:a,cancel:a});return h.all(b,function(a){c.complete(a)}),c}}:void 0}function r(b){var c=b.element,d=b.options||{};b.structural&&(d.event=b.event,d.structural=!0,d.applyClassesEarly=!0,"leave"===b.event&&(d.onDone=d.domOperation)),d.preparationClasses&&(d.event=z(d.event,d.preparationClasses));var e=a(c,d);return e.$$willAnimate?e:null}if(!j.animations&&!j.transitions)return M;var s=l[0].body,u=t(i),v=O(b(u)||s.contains(u)?u:s);m(k);return function(a){return a.from&&a.to?q(a.from,a.to,a.classes,a.anchors):r(a)}}]}],ya=["$animateProvider",function(a){
+this.$get=["$injector","$$AnimateRunner","$$jqLite",function(b,c,d){function e(c){c=Q(c)?c:c.split(" ");for(var d=[],e={},f=0;f<c.length;f++){var g=c[f],h=a.$$registeredAnimations[g];h&&!e[g]&&(d.push(b.get(h)),e[g]=!0)}return d}var f=m(d);return function(a,b,d,g){function h(){g.domOperation(),f(a,g)}function i(a,b,d,e,f){var g;switch(d){case"animate":g=[b,e.from,e.to,f];break;case"setClass":g=[b,p,q,f];break;case"addClass":g=[b,p,f];break;case"removeClass":g=[b,q,f];break;default:g=[b,f]}g.push(e);var h=a.apply(a,g);if(h)if(V(h.start)&&(h=h.start()),h instanceof c)h.done(f);else if(V(h))return h;return M}function j(a,b,d,e,f){var g=[];return P(e,function(e){var h=e[f];h&&g.push(function(){var e,f,g=!1,j=function(a){g||(g=!0,(f||M)(a),e.complete(!a))};return e=new c({end:function(){j()},cancel:function(){j(!0)}}),f=i(h,a,b,d,function(a){var b=a===!1;j(b)}),e})}),g}function k(a,b,d,e,f){var g=j(a,b,d,e,f);if(0===g.length){var h,i;"beforeSetClass"===f?(h=j(a,"removeClass",d,e,"beforeRemoveClass"),i=j(a,"addClass",d,e,"beforeAddClass")):"setClass"===f&&(h=j(a,"removeClass",d,e,"removeClass"),i=j(a,"addClass",d,e,"addClass")),h&&(g=g.concat(h)),i&&(g=g.concat(i))}if(0!==g.length)return function(a){var b=[];return g.length&&P(g,function(a){b.push(a())}),b.length?c.all(b,a):a(),function(a){P(b,function(b){a?b.cancel():b.end()})}}}3===arguments.length&&S(d)&&(g=d,d=null),g=n(g),d||(d=a.attr("class")||"",g.addClass&&(d+=" "+g.addClass),g.removeClass&&(d+=" "+g.removeClass));var l,m,p=g.addClass,q=g.removeClass,r=e(d);if(r.length){var s,t;"leave"==b?(t="leave",s="afterLeave"):(t="before"+b.charAt(0).toUpperCase()+b.substr(1),s=b),"enter"!==b&&"move"!==b&&(l=k(a,b,g,r,t)),m=k(a,b,g,r,s)}return l||m?{start:function(){function b(b){i=!0,h(),o(a,g),j.complete(b)}function d(a){i||((e||M)(a),b(a))}var e,f=[];l&&f.push(function(a){e=l(a)}),f.length?f.push(function(a){h(),a(!0)}):h(),m&&f.push(function(a){e=m(a)});var i=!1,j=new c({end:function(){d()},cancel:function(){d(!0)}});return c.chain(f,b),j}}:void 0}}]}],za=["$$animationProvider",function(a){a.drivers.push("$$animateJsDriver"),this.$get=["$$animateJs","$$AnimateRunner",function(a,b){function c(b){var c=b.element,d=b.event,e=b.options,f=b.classes;return a(c,d,f,e)}return function(a){if(a.from&&a.to){var d=c(a.from),e=c(a.to);if(!d&&!e)return;return{start:function(){function a(){return function(){P(f,function(a){a.end()})}}function c(a){g.complete(a)}var f=[];d&&f.push(d.start()),e&&f.push(e.start()),b.all(f,c);var g=new b({end:a(),cancel:a()});return g}}}return c(a)}}]}],Aa="data-ng-animate",Ba="$ngAnimatePin",Ca=["$animateProvider",function(a){function b(a,b,c,d){return g[a].some(function(a){return a(b,c,d)})}function c(a,b){a=a||{};var c=(a.addClass||"").length>0,d=(a.removeClass||"").length>0;return b?c&&d:c||d}var e=1,f=2,g=this.rules={skip:[],cancel:[],join:[]};g.join.push(function(a,b,d){return!b.structural&&c(b.options)}),g.skip.push(function(a,b,d){return!b.structural&&!c(b.options)}),g.skip.push(function(a,b,c){return"leave"==c.event&&b.structural}),g.skip.push(function(a,b,c){return c.structural&&c.state===f&&!b.structural}),g.cancel.push(function(a,b,c){return c.structural&&b.structural}),g.cancel.push(function(a,b,c){return c.state===f&&b.structural}),g.cancel.push(function(a,b,c){var d=b.options,e=c.options;return d.addClass&&d.addClass===e.removeClass||d.removeClass&&d.removeClass===e.addClass}),this.$get=["$$rAF","$rootScope","$rootElement","$document","$$HashMap","$$animation","$$AnimateRunner","$templateRequest","$$jqLite","$$forceReflow",function(g,h,k,l,p,q,s,w,x,y){function z(){var a=!1;return function(b){a?b():h.$$postDigest(function(){a=!0,b()})}}function A(a,b){return r(a,b,{})}function B(a,b,c){var d=t(b),e=t(a),f=[],g=M[c];return g&&P(g,function(a){a.node.contains(d)?f.push(a.callback):"leave"===c&&a.node.contains(e)&&f.push(a.callback)}),f}function C(a,d,j){function k(b,c,d,e){x(function(){var b=B(p,a,c);b.length&&g(function(){P(b,function(b){b(a,d,e)})})}),b.progress(c,d,e)}function l(b){v(a,j),Z(a,j),o(a,j),j.domOperation(),w.complete(!b)}var m,p;a=i(a),a&&(m=t(a),p=a.parent()),j=n(j);var w=new s,x=z();if(Q(j.addClass)&&(j.addClass=j.addClass.join(" ")),j.addClass&&!R(j.addClass)&&(j.addClass=null),Q(j.removeClass)&&(j.removeClass=j.removeClass.join(" ")),j.removeClass&&!R(j.removeClass)&&(j.removeClass=null),j.from&&!S(j.from)&&(j.from=null),j.to&&!S(j.to)&&(j.to=null),!m)return l(),w;var y=[m.className,j.addClass,j.removeClass].join(" ");if(!Y(y))return l(),w;var C=["enter","move","leave"].indexOf(d)>=0,F=!K||J.get(m),L=!F&&I.get(m)||{},M=!!L.state;if(F||M&&L.state==e||(F=!G(a,p,d)),F)return l(),w;C&&D(a);var N={structural:C,element:a,event:d,close:l,options:j,runner:w};if(M){var O=b("skip",a,N,L);if(O)return L.state===f?(l(),w):(r(a,L.options,j),L.runner);var T=b("cancel",a,N,L);if(T)if(L.state===f)L.runner.end();else{if(!L.structural)return r(a,L.options,N.options),L.runner;L.close()}else{var U=b("join",a,N,L);if(U){if(L.state!==f)return u(a,C?d:null,j),d=N.event=L.event,j=r(a,L.options,N.options),L.runner;A(a,j)}}}else A(a,j);var V=N.structural;if(V||(V="animate"===N.event&&Object.keys(N.options.to||{}).length>0||c(N.options)),!V)return l(),E(a),w;var W=(L.counter||0)+1;return N.counter=W,H(a,e,N),h.$$postDigest(function(){var b=I.get(m),e=!b;b=b||{};var g=a.parent()||[],h=g.length>0&&("animate"===b.event||b.structural||c(b.options));if(e||b.counter!==W||!h)return e&&(Z(a,j),o(a,j)),(e||C&&b.event!==d)&&(j.domOperation(),w.end()),void(h||E(a));d=!b.structural&&c(b.options,!0)?"setClass":b.event,H(a,f);var i=q(a,d,b.options);i.done(function(b){l(!b);var c=I.get(m);c&&c.counter===W&&E(t(a)),k(w,d,"close",{})}),w.setHost(i),k(w,d,"start",{})}),w}function D(a){var b=t(a),c=b.querySelectorAll("["+Aa+"]");P(c,function(a){var b=parseInt(a.getAttribute(Aa)),c=I.get(a);switch(b){case f:c.runner.end();case e:c&&I.remove(a)}})}function E(a){var b=t(a);b.removeAttribute(Aa),I.remove(b)}function F(a,b){return t(a)===t(b)}function G(a,b,c){var d,e=O(l[0].body),f=F(a,e)||"HTML"===a[0].nodeName,g=F(a,k),h=!1,i=a.data(Ba);for(i&&(b=i);b&&b.length;){g||(g=F(b,k));var j=b[0];if(j.nodeType!==X)break;var m=I.get(j)||{};if(h||(h=m.structural||J.get(j)),T(d)||d===!0){var n=b.data(ba);U(n)&&(d=n)}if(h&&d===!1)break;g||(g=F(b,k),g||(i=b.data(Ba),i&&(b=i))),f||(f=F(b,e)),b=b.parent()}var o=!h||d;return o&&g&&f}function H(a,b,c){c=c||{},c.state=b;var d=t(a);d.setAttribute(Aa,b);var e=I.get(d),f=e?N(e,c):c;I.put(d,f)}var I=new p,J=new p,K=null,L=h.$watch(function(){return 0===w.totalPendingRequests},function(a){a&&(L(),h.$$postDigest(function(){h.$$postDigest(function(){null===K&&(K=!0)})}))}),M={},V=a.classNameFilter(),Y=V?function(a){return V.test(a)}:function(){return!0},Z=m(x);return{on:function(a,b,c){var d=j(b);M[a]=M[a]||[],M[a].push({node:d,callback:c})},off:function(a,b,c){function d(a,b,c){var d=j(b);return a.filter(function(a){var b=a.node===d&&(!c||a.callback===c);return!b})}var e=M[a];e&&(M[a]=1===arguments.length?null:d(e,b,c))},pin:function(a,b){d(W(a),"element","not an element"),d(W(b),"parentElement","not an element"),a.data(Ba,b)},push:function(a,b,c,d){return c=c||{},c.domOperation=d,C(a,b,c)},enabled:function(a,b){var c=arguments.length;if(0===c)b=!!K;else{var d=W(a);if(d){var e=t(a),f=J.get(e);1===c?b=!f:(b=!!b,b?f&&J.remove(e):J.put(e,!0))}else b=K=!!a}return b}}}]}],Da=["$$rAF",function(a){function b(b){c.push(b),c.length>1||a(function(){for(var a=0;a<c.length;a++)c[a]();c=[]})}var c=[];return function(){var a=!1;return b(function(){a=!0}),function(c){a?c():b(c)}}}],Ea=["$q","$sniffer","$$animateAsyncRun",function(a,b,c){function d(a){this.setHost(a),this._doneCallbacks=[],this._runInAnimationFrame=c(),this._state=0}var e=0,f=1,g=2;return d.chain=function(a,b){function c(){return d===a.length?void b(!0):void a[d](function(a){return a===!1?void b(!1):(d++,void c())})}var d=0;c()},d.all=function(a,b){function c(c){e=e&&c,++d===a.length&&b(e)}var d=0,e=!0;P(a,function(a){a.done(c)})},d.prototype={setHost:function(a){this.host=a||{}},done:function(a){this._state===g?a():this._doneCallbacks.push(a)},progress:M,getPromise:function(){if(!this.promise){var b=this;this.promise=a(function(a,c){b.done(function(b){b===!1?c():a()})})}return this.promise},then:function(a,b){return this.getPromise().then(a,b)},"catch":function(a){return this.getPromise()["catch"](a)},"finally":function(a){return this.getPromise()["finally"](a)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&&this.host.resume()},end:function(){this.host.end&&this.host.end(),this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel(),this._resolve(!1)},complete:function(a){var b=this;b._state===e&&(b._state=f,b._runInAnimationFrame(function(){b._resolve(a)}))},_resolve:function(a){this._state!==g&&(P(this._doneCallbacks,function(b){b(a)}),this._doneCallbacks.length=0,this._state=g)}},d}],Fa=["$animateProvider",function(a){function b(a,b){a.data(h,b)}function c(a){a.removeData(h)}function d(a){return a.data(h)}var f="ng-animate-ref",g=this.drivers=[],h="$$animationRunner";this.$get=["$$jqLite","$rootScope","$injector","$$AnimateRunner","$$HashMap","$$rAFScheduler",function(a,h,i,j,k,l){function p(a){function b(a){if(a.processed)return a;a.processed=!0;var c=a.domNode,d=c.parentNode;f.put(c,a);for(var g;d;){if(g=f.get(d)){g.processed||(g=b(g));break}d=d.parentNode}return(g||e).children.push(a),a}function c(a){var b,c=[],d=[];for(b=0;b<a.children.length;b++)d.push(a.children[b]);var e=d.length,f=0,g=[];for(b=0;b<d.length;b++){var h=d[b];0>=e&&(e=f,f=0,c.push(g),g=[]),g.push(h.fn),h.children.forEach(function(a){f++,d.push(a)}),e--}return g.length&&c.push(g),c}var d,e={children:[]},f=new k;for(d=0;d<a.length;d++){var g=a[d];f.put(g.domNode,a[d]={domNode:g.domNode,fn:g.fn,children:[]})}for(d=0;d<a.length;d++)b(a[d]);return c(e)}var q=[],r=m(a);return function(k,m,s){function u(a){var b="["+f+"]",c=a.hasAttribute(f)?[a]:a.querySelectorAll(b),d=[];return P(c,function(a){var b=a.getAttribute(f);b&&b.length&&d.push(a)}),d}function v(a){var b=[],c={};P(a,function(a,d){var e=a.element,g=t(e),h=a.event,i=["enter","move"].indexOf(h)>=0,j=a.structural?u(g):[];if(j.length){var k=i?"to":"from";P(j,function(a){var b=a.getAttribute(f);c[b]=c[b]||{},c[b][k]={animationID:d,element:O(a)}})}else b.push(a)});var d={},e={};return P(c,function(c,f){var g=c.from,h=c.to;if(!g||!h){var i=g?g.animationID:h.animationID,j=i.toString();return void(d[j]||(d[j]=!0,b.push(a[i])))}var k=a[g.animationID],l=a[h.animationID],m=g.animationID.toString();if(!e[m]){var n=e[m]={structural:!0,beforeStart:function(){k.beforeStart(),l.beforeStart()},close:function(){k.close(),l.close()},classes:w(k.classes,l.classes),from:k,to:l,anchors:[]};n.classes.length?b.push(n):(b.push(k),b.push(l))}e[m].anchors.push({out:g.element,"in":h.element})}),b}function w(a,b){a=a.split(" "),b=b.split(" ");for(var c=[],d=0;d<a.length;d++){var e=a[d];if("ng-"!==e.substring(0,3))for(var f=0;f<b.length;f++)if(e===b[f]){c.push(e);break}}return c.join(" ")}function x(a){for(var b=g.length-1;b>=0;b--){var c=g[b];if(i.has(c)){var d=i.get(c),e=d(a);if(e)return e}}}function y(){k.addClass(aa),F&&a.addClass(k,F)}function z(a,b){function c(a){d(a).setHost(b)}a.from&&a.to?(c(a.from.element),c(a.to.element)):c(a.element)}function A(){var a=d(k);!a||"leave"===m&&s.$$domOperationFired||a.end()}function B(b){k.off("$destroy",A),c(k),r(k,s),o(k,s),s.domOperation(),F&&a.removeClass(k,F),k.removeClass(aa),D.complete(!b)}s=n(s);var C=["enter","move","leave"].indexOf(m)>=0,D=new j({end:function(){B()},cancel:function(){B(!0)}});if(!g.length)return B(),D;b(k,D);var E=e(k.attr("class"),e(s.addClass,s.removeClass)),F=s.tempClasses;return F&&(E+=" "+F,s.tempClasses=null),q.push({element:k,classes:E,event:m,structural:C,options:s,beforeStart:y,close:B}),k.on("$destroy",A),q.length>1?D:(h.$$postDigest(function(){var a=[];P(q,function(b){d(b.element)?a.push(b):b.close()}),q.length=0;var b=v(a),c=[];P(b,function(a){c.push({domNode:t(a.from?a.from.element:a.element),fn:function(){a.beforeStart();var b,c=a.close,e=a.anchors?a.from.element||a.to.element:a.element;if(d(e)){var f=x(a);f&&(b=f.start)}if(b){var g=b();g.done(function(a){c(!a)}),z(a,g)}else c()}})}),l(p(c))}),D)}}]}];b.module("ngAnimate",[]).directive("ngAnimateChildren",pa).factory("$$rAFScheduler",oa).factory("$$AnimateRunner",Ea).factory("$$animateAsyncRun",Da).provider("$$animateQueue",Ca).provider("$$animation",Fa).provider("$animateCss",wa).provider("$$animateCssDriver",xa).provider("$$animateJs",ya).provider("$$animateJsDriver",za)}(window,window.angular),angular.module("colorpicker.module",[]).factory("Helper",function(){"use strict";return{closestSlider:function(a){var b=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.msMatchesSelector;return b.bind(a)("I")?a.parentNode:a},getOffset:function(a,b){for(var c=0,d=0,e=a.getBoundingClientRect();a&&!isNaN(a.offsetLeft)&&!isNaN(a.offsetTop);)b||"BODY"!==a.tagName?(c+=a.scrollLeft,d+=a.scrollTop):(c+=document.documentElement.scrollLeft||a.scrollLeft,d+=document.documentElement.scrollTop||a.scrollTop),a=a.offsetParent;return{top:e.top+window.pageYOffset,left:e.left+window.pageXOffset,scrollX:c,scrollY:d}},stringParsers:[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,parse:function(a){return[a[1],a[2],a[3],a[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,parse:function(a){return[2.55*a[1],2.55*a[2],2.55*a[3],a[4]]}},{re:/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,parse:function(a){return[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]}},{re:/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/,parse:function(a){return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)]}}]}}).factory("Color",["Helper",function(a){"use strict";return{value:{h:1,s:1,b:1,a:1},rgb:function(){var a=this.toRGB();return"rgb("+a.r+","+a.g+","+a.b+")"},rgba:function(){var a=this.toRGB();return"rgba("+a.r+","+a.g+","+a.b+","+a.a+")"},hex:function(){return this.toHex()},RGBtoHSB:function(a,b,c,d){a/=255,b/=255,c/=255;var e,f,g,h;return g=Math.max(a,b,c),h=g-Math.min(a,b,c),e=0===h?null:g===a?(b-c)/h:g===b?(c-a)/h+2:(a-b)/h+4,e=(e+360)%6*60/360,f=0===h?0:h/g,{h:e||1,s:f,b:g,a:d||1}},setColor:function(b){b=b.toLowerCase();for(var c in a.stringParsers)if(a.stringParsers.hasOwnProperty(c)){var d=a.stringParsers[c],e=d.re.exec(b),f=e&&d.parse(e);if(f)return this.value=this.RGBtoHSB.apply(null,f),!1}},setHue:function(a){this.value.h=1-a},setSaturation:function(a){this.value.s=a},setLightness:function(a){this.value.b=1-a},setAlpha:function(a){this.value.a=parseInt(100*(1-a),10)/100},toRGB:function(a,b,c,d){a||(a=this.value.h,b=this.value.s,c=this.value.b),a*=360;var e,f,g,h,i;return a=a%360/60,i=c*b,h=i*(1-Math.abs(a%2-1)),e=f=g=c-i,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a],{r:Math.round(255*e),g:Math.round(255*f),b:Math.round(255*g),a:d||this.value.a}},toHex:function(a,b,c,d){var e=this.toRGB(a,b,c,d);return"#"+(1<<24|parseInt(e.r,10)<<16|parseInt(e.g,10)<<8|parseInt(e.b,10)).toString(16).substr(1)}}}]).factory("Slider",["Helper",function(a){"use strict";var b={maxLeft:0,maxTop:0,callLeft:null,callTop:null,knob:{top:0,left:0}},c={};return{getSlider:function(){return b},getLeftPosition:function(a){return Math.max(0,Math.min(b.maxLeft,b.left+((a.pageX||c.left)-c.left)))},getTopPosition:function(a){return Math.max(0,Math.min(b.maxTop,b.top+((a.pageY||c.top)-c.top)))},setSlider:function(d,e){var f=a.closestSlider(d.target),g=a.getOffset(f,e),h=f.getBoundingClientRect(),i=d.clientX-h.left,j=d.clientY-h.top;b.knob=f.children[0].style,b.left=d.pageX-g.left-window.pageXOffset+g.scrollX,b.top=d.pageY-g.top-window.pageYOffset+g.scrollY,c={left:d.pageX-(i-b.left),top:d.pageY-(j-b.top)}},setSaturation:function(a,c){b={maxLeft:100,maxTop:100,callLeft:"setSaturation",callTop:"setLightness"},this.setSlider(a,c)},setHue:function(a,c){b={maxLeft:0,maxTop:100,callLeft:!1,callTop:"setHue"},this.setSlider(a,c)},setAlpha:function(a,c){b={maxLeft:0,maxTop:100,callLeft:!1,callTop:"setAlpha"},this.setSlider(a,c)},setKnob:function(a,c){b.knob.top=a+"px",b.knob.left=c+"px"}}}]).directive("colorpicker",["$document","$compile","Color","Slider","Helper",function(a,b,c,d,e){"use strict";return{require:"?ngModel",restrict:"A",link:function(f,g,h,i){var j,k=h.colorpicker?h.colorpicker:"hex",l=angular.isDefined(h.colorpickerPosition)?h.colorpickerPosition:"bottom",m=angular.isDefined(h.colorpickerInline)?h.colorpickerInline:!1,n=angular.isDefined(h.colorpickerFixedPosition)?h.colorpickerFixedPosition:!1,o=angular.isDefined(h.colorpickerParent)?g.parent():angular.element(document.body),p=angular.isDefined(h.colorpickerWithInput)?h.colorpickerWithInput:!1,q=p?'<input type="text" name="colorpicker-input" spellcheck="false">':"",r=m?"":'<button type="button" class="close close-colorpicker">&times;</button>',s='<div class="colorpicker dropdown"><div class="dropdown-menu"><colorpicker-saturation><i></i></colorpicker-saturation><colorpicker-hue><i></i></colorpicker-hue><colorpicker-alpha><i></i></colorpicker-alpha><colorpicker-preview></colorpicker-preview>'+q+r+"</div></div>",t=angular.element(s),u=c,v=t.find("colorpicker-hue"),w=t.find("colorpicker-saturation"),x=t.find("colorpicker-preview"),y=t.find("i");if(b(t)(f),p){var z=t.find("input");z.on("mousedown",function(a){a.stopPropagation()}).on("keyup",function(){var a=this.value;g.val(a),i&&i.$modelValue!==a&&(f.$apply(i.$setViewValue(a)),E(!0))})}var A=function(){a.on("mousemove",C),a.on("mouseup",D)};"rgba"===k&&(t.addClass("alpha"),j=t.find("colorpicker-alpha"),j.on("click",function(a){d.setAlpha(a,n),C(a)}).on("mousedown",function(a){d.setAlpha(a,n),A()}).on("mouseup",function(a){I("colorpicker-selected-alpha")})),v.on("click",function(a){d.setHue(a,n),C(a)}).on("mousedown",function(a){d.setHue(a,n),A()}).on("mouseup",function(a){I("colorpicker-selected-hue")}),w.on("click",function(a){d.setSaturation(a,n),C(a),angular.isDefined(h.colorpickerCloseOnSelect)&&J()}).on("mousedown",function(a){d.setSaturation(a,n),A()}).on("mouseup",function(a){I("colorpicker-selected-saturation")}),n&&t.addClass("colorpicker-fixed-position"),t.addClass("colorpicker-position-"+l),"true"===m&&t.addClass("colorpicker-inline"),o.append(t),i&&(i.$render=function(){g.val(i.$viewValue)}),g.on("blur keyup change",function(){E()}),g.on("$destroy",function(){t.remove()});var B=function(){try{x.css("backgroundColor",u[k]())}catch(a){x.css("backgroundColor",u.toHex())}w.css("backgroundColor",u.toHex(u.value.h,1,1,1)),"rgba"===k&&(j.css.backgroundColor=u.toHex())},C=function(a){var b=d.getLeftPosition(a),c=d.getTopPosition(a),e=d.getSlider();d.setKnob(c,b),e.callLeft&&u[e.callLeft].call(u,b/100),e.callTop&&u[e.callTop].call(u,c/100),B();var h=u[k]();return g.val(h),i&&f.$apply(i.$setViewValue(h)),p&&z.val(h),!1},D=function(){I("colorpicker-selected"),a.off("mousemove",C),a.off("mouseup",D)},E=function(a){u.setColor(g.val()),p&&!a&&z.val(g.val()),y.eq(0).css({left:100*u.value.s+"px",top:100-100*u.value.b+"px"}),y.eq(1).css("top",100*(1-u.value.h)+"px"),y.eq(2).css("top",100*(1-u.value.a)+"px"),B()},F=function(){var a,b=e.getOffset(g[0]);return angular.isDefined(h.colorpickerParent)&&(b.left=0,b.top=0),"top"===l?a={top:b.top-147,left:b.left}:"right"===l?a={top:b.top,left:b.left+126}:"bottom"===l?a={top:b.top+g[0].offsetHeight+2,left:b.left}:"left"===l&&(a={top:b.top,left:b.left-150}),{top:a.top+"px",left:a.left+"px"}},G=function(){J()},H=function(){t.hasClass("colorpicker-visible")||(E(),t.addClass("colorpicker-visible").css(F()),I("colorpicker-shown"),m===!1&&a.on("mousedown",G),h.colorpickerIsOpen&&(f[h.colorpickerIsOpen]=!0,f.$$phase||f.$digest()))};m===!1?g.on("click",H):H(),t.on("mousedown",function(a){a.stopPropagation(),a.preventDefault()});var I=function(a){i&&f.$emit(a,{name:h.ngModel,value:i.$modelValue})},J=function(){t.hasClass("colorpicker-visible")&&(t.removeClass("colorpicker-visible"),I("colorpicker-closed"),a.off("mousedown",G),h.colorpickerIsOpen&&(f[h.colorpickerIsOpen]=!1,f.$$phase||f.$digest()))};t.find("button").on("click",function(){J()}),h.colorpickerIsOpen&&f.$watch(h.colorpickerIsOpen,function(a){a===!0?H():a===!1&&J()})}}}]),angular.module("ui.bootstrap.contextMenu",[]).directive("contextMenu",["$parse",function(a){var b=function(a,b,c,d){if(!e)var e=angular.element;e(b.currentTarget).addClass("context");var f=e("<div>");f.addClass("dropdown clearfix");var g=e("<ul>");g.addClass("dropdown-menu"),g.attr({role:"menu"}),g.css({display:"block",position:"absolute",left:b.pageX+"px",top:b.pageY+"px"}),angular.forEach(c,function(c,h){var i=e("<li>");if(null===c)i.addClass("divider");else{var j=e("<a>");j.attr({tabindex:"-1",href:"#"});var k="string"==typeof c[0]?c[0]:c[0].call(a,a,b,d);j.text(k),i.append(j);var l=angular.isDefined(c[2])?c[2].call(a,a,b,k,d):!0;l?i.on("click",function(g){g.preventDefault(),a.$apply(function(){e(b.currentTarget).removeClass("context"),f.remove(),c[1].call(a,a,b,d)})}):(i.on("click",function(a){a.preventDefault()}),i.addClass("disabled"))}g.append(i)}),f.append(g);var h=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight);f.css({width:"100%",height:h+"px",position:"absolute",top:0,left:0,zIndex:9999}),e(document).find("body").append(f),f.on("mousedown",function(a){e(a.target).hasClass("dropdown")&&(e(b.currentTarget).removeClass("context"),f.remove())}).on("contextmenu",function(a){e(a.currentTarget).removeClass("context"),a.preventDefault(),f.remove()})};return function(a,c,d){c.on("contextmenu",function(c){c.stopPropagation(),a.$apply(function(){c.preventDefault();var e=a.$eval(d.contextMenu),f=a.$eval(d.model);if(!(e instanceof Array))throw'"'+d.contextMenu+'" not an array';0!==e.length&&b(a,c,e,f)})})}}]),"undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.5",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.5",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.5",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,
+this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.5",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k.right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var q=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);return this.$element.trigger(g),g.isDefaultPrevented()?void 0:(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=d?{top:0,left:0}:b.offset(),g={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},h=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,g,h,f)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.5",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.5",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.5",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery),function(){var a=[].slice;!function(b,c){"use strict";var d;return d=function(){function a(a,c){null==c&&(c={}),this.$element=b(a),this.options=b.extend({},b.fn.bootstrapSwitch.defaults,{state:this.$element.is(":checked"),size:this.$element.data("size"),animate:this.$element.data("animate"),disabled:this.$element.is(":disabled"),readonly:this.$element.is("[readonly]"),indeterminate:this.$element.data("indeterminate"),inverse:this.$element.data("inverse"),radioAllOff:this.$element.data("radio-all-off"),onColor:this.$element.data("on-color"),offColor:this.$element.data("off-color"),onText:this.$element.data("on-text"),offText:this.$element.data("off-text"),labelText:this.$element.data("label-text"),handleWidth:this.$element.data("handle-width"),labelWidth:this.$element.data("label-width"),baseClass:this.$element.data("base-class"),wrapperClass:this.$element.data("wrapper-class")},c),this.$wrapper=b("<div>",{"class":function(a){return function(){var b;return b=[""+a.options.baseClass].concat(a._getClasses(a.options.wrapperClass)),b.push(a.options.state?""+a.options.baseClass+"-on":""+a.options.baseClass+"-off"),null!=a.options.size&&b.push(""+a.options.baseClass+"-"+a.options.size),a.options.disabled&&b.push(""+a.options.baseClass+"-disabled"),a.options.readonly&&b.push(""+a.options.baseClass+"-readonly"),a.options.indeterminate&&b.push(""+a.options.baseClass+"-indeterminate"),a.options.inverse&&b.push(""+a.options.baseClass+"-inverse"),a.$element.attr("id")&&b.push(""+a.options.baseClass+"-id-"+a.$element.attr("id")),b.join(" ")}}(this)()}),this.$container=b("<div>",{"class":""+this.options.baseClass+"-container"}),this.$on=b("<span>",{html:this.options.onText,"class":""+this.options.baseClass+"-handle-on "+this.options.baseClass+"-"+this.options.onColor}),this.$off=b("<span>",{html:this.options.offText,"class":""+this.options.baseClass+"-handle-off "+this.options.baseClass+"-"+this.options.offColor}),this.$label=b("<span>",{html:this.options.labelText,"class":""+this.options.baseClass+"-label"}),this.$element.on("init.bootstrapSwitch",function(b){return function(){return b.options.onInit.apply(a,arguments)}}(this)),this.$element.on("switchChange.bootstrapSwitch",function(b){return function(){return b.options.onSwitchChange.apply(a,arguments)}}(this)),this.$container=this.$element.wrap(this.$container).parent(),this.$wrapper=this.$container.wrap(this.$wrapper).parent(),this.$element.before(this.options.inverse?this.$off:this.$on).before(this.$label).before(this.options.inverse?this.$on:this.$off),this.options.indeterminate&&this.$element.prop("indeterminate",!0),this._init(),this._elementHandlers(),this._handleHandlers(),this._labelHandlers(),this._formHandler(),this._externalLabelHandler(),this.$element.trigger("init.bootstrapSwitch")}return a.prototype._constructor=a,a.prototype.state=function(a,b){return"undefined"==typeof a?this.options.state:this.options.disabled||this.options.readonly?this.$element:this.options.state&&!this.options.radioAllOff&&this.$element.is(":radio")?this.$element:(this.options.indeterminate&&this.indeterminate(!1),a=!!a,this.$element.prop("checked",a).trigger("change.bootstrapSwitch",b),this.$element)},a.prototype.toggleState=function(a){return this.options.disabled||this.options.readonly?this.$element:this.options.indeterminate?(this.indeterminate(!1),this.state(!0)):this.$element.prop("checked",!this.options.state).trigger("change.bootstrapSwitch",a)},a.prototype.size=function(a){return"undefined"==typeof a?this.options.size:(null!=this.options.size&&this.$wrapper.removeClass(""+this.options.baseClass+"-"+this.options.size),a&&this.$wrapper.addClass(""+this.options.baseClass+"-"+a),this._width(),this._containerPosition(),this.options.size=a,this.$element)},a.prototype.animate=function(a){return"undefined"==typeof a?this.options.animate:(a=!!a,a===this.options.animate?this.$element:this.toggleAnimate())},a.prototype.toggleAnimate=function(){return this.options.animate=!this.options.animate,this.$wrapper.toggleClass(""+this.options.baseClass+"-animate"),this.$element},a.prototype.disabled=function(a){return"undefined"==typeof a?this.options.disabled:(a=!!a,a===this.options.disabled?this.$element:this.toggleDisabled())},a.prototype.toggleDisabled=function(){return this.options.disabled=!this.options.disabled,this.$element.prop("disabled",this.options.disabled),this.$wrapper.toggleClass(""+this.options.baseClass+"-disabled"),this.$element},a.prototype.readonly=function(a){return"undefined"==typeof a?this.options.readonly:(a=!!a,a===this.options.readonly?this.$element:this.toggleReadonly())},a.prototype.toggleReadonly=function(){return this.options.readonly=!this.options.readonly,this.$element.prop("readonly",this.options.readonly),this.$wrapper.toggleClass(""+this.options.baseClass+"-readonly"),this.$element},a.prototype.indeterminate=function(a){return"undefined"==typeof a?this.options.indeterminate:(a=!!a,a===this.options.indeterminate?this.$element:this.toggleIndeterminate())},a.prototype.toggleIndeterminate=function(){return this.options.indeterminate=!this.options.indeterminate,this.$element.prop("indeterminate",this.options.indeterminate),this.$wrapper.toggleClass(""+this.options.baseClass+"-indeterminate"),this._containerPosition(),this.$element},a.prototype.inverse=function(a){
+return"undefined"==typeof a?this.options.inverse:(a=!!a,a===this.options.inverse?this.$element:this.toggleInverse())},a.prototype.toggleInverse=function(){var a,b;return this.$wrapper.toggleClass(""+this.options.baseClass+"-inverse"),b=this.$on.clone(!0),a=this.$off.clone(!0),this.$on.replaceWith(a),this.$off.replaceWith(b),this.$on=a,this.$off=b,this.options.inverse=!this.options.inverse,this.$element},a.prototype.onColor=function(a){var b;return b=this.options.onColor,"undefined"==typeof a?b:(null!=b&&this.$on.removeClass(""+this.options.baseClass+"-"+b),this.$on.addClass(""+this.options.baseClass+"-"+a),this.options.onColor=a,this.$element)},a.prototype.offColor=function(a){var b;return b=this.options.offColor,"undefined"==typeof a?b:(null!=b&&this.$off.removeClass(""+this.options.baseClass+"-"+b),this.$off.addClass(""+this.options.baseClass+"-"+a),this.options.offColor=a,this.$element)},a.prototype.onText=function(a){return"undefined"==typeof a?this.options.onText:(this.$on.html(a),this._width(),this._containerPosition(),this.options.onText=a,this.$element)},a.prototype.offText=function(a){return"undefined"==typeof a?this.options.offText:(this.$off.html(a),this._width(),this._containerPosition(),this.options.offText=a,this.$element)},a.prototype.labelText=function(a){return"undefined"==typeof a?this.options.labelText:(this.$label.html(a),this._width(),this.options.labelText=a,this.$element)},a.prototype.handleWidth=function(a){return"undefined"==typeof a?this.options.handleWidth:(this.options.handleWidth=a,this._width(),this._containerPosition(),this.$element)},a.prototype.labelWidth=function(a){return"undefined"==typeof a?this.options.labelWidth:(this.options.labelWidth=a,this._width(),this._containerPosition(),this.$element)},a.prototype.baseClass=function(a){return this.options.baseClass},a.prototype.wrapperClass=function(a){return"undefined"==typeof a?this.options.wrapperClass:(a||(a=b.fn.bootstrapSwitch.defaults.wrapperClass),this.$wrapper.removeClass(this._getClasses(this.options.wrapperClass).join(" ")),this.$wrapper.addClass(this._getClasses(a).join(" ")),this.options.wrapperClass=a,this.$element)},a.prototype.radioAllOff=function(a){return"undefined"==typeof a?this.options.radioAllOff:(a=!!a,a===this.options.radioAllOff?this.$element:(this.options.radioAllOff=a,this.$element))},a.prototype.onInit=function(a){return"undefined"==typeof a?this.options.onInit:(a||(a=b.fn.bootstrapSwitch.defaults.onInit),this.options.onInit=a,this.$element)},a.prototype.onSwitchChange=function(a){return"undefined"==typeof a?this.options.onSwitchChange:(a||(a=b.fn.bootstrapSwitch.defaults.onSwitchChange),this.options.onSwitchChange=a,this.$element)},a.prototype.destroy=function(){var a;return a=this.$element.closest("form"),a.length&&a.off("reset.bootstrapSwitch").removeData("bootstrap-switch"),this.$container.children().not(this.$element).remove(),this.$element.unwrap().unwrap().off(".bootstrapSwitch").removeData("bootstrap-switch"),this.$element},a.prototype._width=function(){var a,b;return a=this.$on.add(this.$off),a.add(this.$label).css("width",""),b="auto"===this.options.handleWidth?Math.max(this.$on.width(),this.$off.width()):this.options.handleWidth,a.width(b),this.$label.width(function(a){return function(c,d){return"auto"!==a.options.labelWidth?a.options.labelWidth:b>d?b:d}}(this)),this._handleWidth=this.$on.outerWidth(),this._labelWidth=this.$label.outerWidth(),this.$container.width(2*this._handleWidth+this._labelWidth),this.$wrapper.width(this._handleWidth+this._labelWidth)},a.prototype._containerPosition=function(a,b){return null==a&&(a=this.options.state),this.$container.css("margin-left",function(b){return function(){var c;return c=[0,"-"+b._handleWidth+"px"],b.options.indeterminate?"-"+b._handleWidth/2+"px":a?b.options.inverse?c[1]:c[0]:b.options.inverse?c[0]:c[1]}}(this)),b?setTimeout(function(){return b()},50):void 0},a.prototype._init=function(){var a,b;return a=function(a){return function(){return a._width(),a._containerPosition(null,function(){return a.options.animate?a.$wrapper.addClass(""+a.options.baseClass+"-animate"):void 0})}}(this),this.$wrapper.is(":visible")?a():b=c.setInterval(function(d){return function(){return d.$wrapper.is(":visible")?(a(),c.clearInterval(b)):void 0}}(this),50)},a.prototype._elementHandlers=function(){return this.$element.on({"change.bootstrapSwitch":function(a){return function(c,d){var e;return c.preventDefault(),c.stopImmediatePropagation(),e=a.$element.is(":checked"),a._containerPosition(e),e!==a.options.state?(a.options.state=e,a.$wrapper.toggleClass(""+a.options.baseClass+"-off").toggleClass(""+a.options.baseClass+"-on"),d?void 0:(a.$element.is(":radio")&&b("[name='"+a.$element.attr("name")+"']").not(a.$element).prop("checked",!1).trigger("change.bootstrapSwitch",!0),a.$element.trigger("switchChange.bootstrapSwitch",[e]))):void 0}}(this),"focus.bootstrapSwitch":function(a){return function(b){return b.preventDefault(),a.$wrapper.addClass(""+a.options.baseClass+"-focused")}}(this),"blur.bootstrapSwitch":function(a){return function(b){return b.preventDefault(),a.$wrapper.removeClass(""+a.options.baseClass+"-focused")}}(this),"keydown.bootstrapSwitch":function(a){return function(b){if(b.which&&!a.options.disabled&&!a.options.readonly)switch(b.which){case 37:return b.preventDefault(),b.stopImmediatePropagation(),a.state(!1);case 39:return b.preventDefault(),b.stopImmediatePropagation(),a.state(!0)}}}(this)})},a.prototype._handleHandlers=function(){return this.$on.on("click.bootstrapSwitch",function(a){return function(b){return b.preventDefault(),b.stopPropagation(),a.state(!1),a.$element.trigger("focus.bootstrapSwitch")}}(this)),this.$off.on("click.bootstrapSwitch",function(a){return function(b){return b.preventDefault(),b.stopPropagation(),a.state(!0),a.$element.trigger("focus.bootstrapSwitch")}}(this))},a.prototype._labelHandlers=function(){return this.$label.on({"mousedown.bootstrapSwitch touchstart.bootstrapSwitch":function(a){return function(b){return a._dragStart||a.options.disabled||a.options.readonly?void 0:(b.preventDefault(),b.stopPropagation(),a._dragStart=(b.pageX||b.originalEvent.touches[0].pageX)-parseInt(a.$container.css("margin-left"),10),a.options.animate&&a.$wrapper.removeClass(""+a.options.baseClass+"-animate"),a.$element.trigger("focus.bootstrapSwitch"))}}(this),"mousemove.bootstrapSwitch touchmove.bootstrapSwitch":function(a){return function(b){var c;if(null!=a._dragStart&&(b.preventDefault(),c=(b.pageX||b.originalEvent.touches[0].pageX)-a._dragStart,!(c<-a._handleWidth||c>0)))return a._dragEnd=c,a.$container.css("margin-left",""+a._dragEnd+"px")}}(this),"mouseup.bootstrapSwitch touchend.bootstrapSwitch":function(a){return function(b){var c;if(a._dragStart)return b.preventDefault(),a.options.animate&&a.$wrapper.addClass(""+a.options.baseClass+"-animate"),a._dragEnd?(c=a._dragEnd>-(a._handleWidth/2),a._dragEnd=!1,a.state(a.options.inverse?!c:c)):a.state(!a.options.state),a._dragStart=!1}}(this),"mouseleave.bootstrapSwitch":function(a){return function(b){return a.$label.trigger("mouseup.bootstrapSwitch")}}(this)})},a.prototype._externalLabelHandler=function(){var a;return a=this.$element.closest("label"),a.on("click",function(b){return function(c){return c.preventDefault(),c.stopImmediatePropagation(),c.target===a[0]?b.toggleState():void 0}}(this))},a.prototype._formHandler=function(){var a;return a=this.$element.closest("form"),a.data("bootstrap-switch")?void 0:a.on("reset.bootstrapSwitch",function(){return c.setTimeout(function(){return a.find("input").filter(function(){return b(this).data("bootstrap-switch")}).each(function(){return b(this).bootstrapSwitch("state",this.checked)})},1)}).data("bootstrap-switch",!0)},a.prototype._getClasses=function(a){var c,d,e,f;if(!b.isArray(a))return[""+this.options.baseClass+"-"+a];for(d=[],e=0,f=a.length;f>e;e++)c=a[e],d.push(""+this.options.baseClass+"-"+c);return d},a}(),b.fn.bootstrapSwitch=function(){var c,e,f;return e=arguments[0],c=2<=arguments.length?a.call(arguments,1):[],f=this,this.each(function(){var a,g;return a=b(this),g=a.data("bootstrap-switch"),g||a.data("bootstrap-switch",g=new d(this,e)),"string"==typeof e?f=g[e].apply(g,c):void 0}),f},b.fn.bootstrapSwitch.Constructor=d,b.fn.bootstrapSwitch.defaults={state:!0,size:null,animate:!0,disabled:!1,readonly:!1,indeterminate:!1,inverse:!1,radioAllOff:!1,onColor:"primary",offColor:"default",onText:"ON",offText:"OFF",labelText:"&nbsp;",handleWidth:"auto",labelWidth:"auto",baseClass:"bootstrap-switch",wrapperClass:"wrapper",onInit:function(){},onSwitchChange:function(){}}}(window.jQuery,window)}.call(this),function(){"use strict";angular.module("frapontillo.bootstrap-switch",[]),angular.module("frapontillo.bootstrap-switch").directive("bsSwitch",["$parse","$timeout",function(a,b){return{restrict:"A",require:"ngModel",link:function(c,d,e,f){var g=!1,h=function(){if("radio"===e.type)return e.value||a(e.ngValue)(c)||!0;var b=a(e.ngTrueValue)(c);return angular.isUndefined(b)&&(b=!0),b},i=function(a){return c.$eval(a)===!0},j=function(a){return a===!0||"true"===a||!a},k=function(a){return a?a:void 0},l=function(a){var b={switchRadioOff:j,switchActive:function(a){return!j(a)},switchAnimate:j,switchLabel:function(a){return a?a:"&nbsp;"},switchIcon:function(a){return a?"<span class='"+a+"'></span>":void 0},switchWrapper:function(a){return a||"wrapper"},switchInverse:i,switchReadonly:i},c=b[a]||k;return c(e[a])},m=function(a,b,c){if(g){var d=l(c);a.bootstrapSwitch(b,d)}},n=function(){m(d,"disabled","switchActive")},o=function(){if(!g){var a=f.$modelValue===h();g=!g,d.bootstrapSwitch({radioAllOff:l("switchRadioOff"),disabled:l("switchActive"),state:a,onText:l("switchOnText"),offText:l("switchOffText"),onColor:l("switchOnColor"),offColor:l("switchOffColor"),animate:l("switchAnimate"),size:l("switchSize"),labelText:l(e.switchLabel?"switchLabel":"switchIcon"),wrapperClass:l("switchWrapper"),handleWidth:l("switchHandleWidth"),labelWidth:l("switchLabelWidth"),inverse:l("switchInverse"),readonly:l("switchReadonly")}),"radio"===e.type?f.$setViewValue(f.$modelValue):f.$setViewValue(a)}},p=function(){function a(){return f.$modelValue}e.$observe("switchActive",function(a){var c=j(a);c?n(c):b(function(){n(c)})}),c.$watch(a,function(a){o(),void 0!==a?d.bootstrapSwitch("state",a===h(),!1):d.bootstrapSwitch("toggleIndeterminate",!0,!1)},!0);var g={switchRadioOff:"radioAllOff",switchOnText:"onText",switchOffText:"offText",switchOnColor:"onColor",switchOffColor:"offColor",switchAnimate:"animate",switchSize:"size",switchLabel:"labelText",switchIcon:"labelText",switchWrapper:"wrapperClass",switchHandleWidth:"handleWidth",switchLabelWidth:"labelWidth",switchInverse:"inverse",switchReadonly:"readonly"},i=function(a,b){return function(){e.$observe(a,function(){m(d,b[a],a)})}};for(var k in g)e.$observe(k,i(k,g))},q=function(){"radio"===e.type?d.on("change.bootstrapSwitch",function(a){f.$modelValue===f.$viewValue&&a.target.checked!==$(a.target).bootstrapSwitch("state")&&(a.target.checked?f.$setViewValue(h()):h()===f.$viewValue&&f.$setViewValue(void 0))}):d.on("switchChange.bootstrapSwitch",function(a){f.$setViewValue(a.target.checked)})};q(),p(),c.$on("$destroy",function(){d.bootstrapSwitch("destroy")})}}}]).directive("bsSwitch",function(){return{restrict:"E",require:"ngModel",template:"<input bs-switch>",replace:!0}})}(),function(){"use strict";var a=this,b=a.Chart,c=function(a){this.canvas=a.canvas,this.ctx=a;var b=function(a,b){return a["offset"+b]?a["offset"+b]:document.defaultView.getComputedStyle(a).getPropertyValue(b)},c=this.width=b(a.canvas,"Width"),e=this.height=b(a.canvas,"Height");a.canvas.width=c,a.canvas.height=e;var c=this.width=a.canvas.width,e=this.height=a.canvas.height;return this.aspectRatio=this.width/this.height,d.retinaScale(this),this};c.defaults={global:{animation:!0,animationSteps:60,animationEasing:"easeOutQuart",showScale:!0,scaleOverride:!1,scaleSteps:null,scaleStepWidth:null,scaleStartValue:null,scaleLineColor:"rgba(0,0,0,.1)",scaleLineWidth:1,scaleShowLabels:!0,scaleLabel:"<%=value%>",scaleIntegersOnly:!0,scaleBeginAtZero:!1,scaleFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",scaleFontSize:12,scaleFontStyle:"normal",scaleFontColor:"#666",responsive:!1,maintainAspectRatio:!0,showTooltips:!0,customTooltips:!1,tooltipEvents:["mousemove","touchstart","touchmove","mouseout"],tooltipFillColor:"rgba(0,0,0,0.8)",tooltipFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",tooltipFontSize:14,tooltipFontStyle:"normal",tooltipFontColor:"#fff",tooltipTitleFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",tooltipTitleFontSize:14,tooltipTitleFontStyle:"bold",tooltipTitleFontColor:"#fff",tooltipYPadding:6,tooltipXPadding:6,tooltipCaretSize:8,tooltipCornerRadius:6,tooltipXOffset:10,tooltipTemplate:"<%if (label){%><%=label%>: <%}%><%= value %>",multiTooltipTemplate:"<%= value %>",multiTooltipKeyBackground:"#fff",onAnimationProgress:function(){},onAnimationComplete:function(){}}},c.types={};var d=c.helpers={},e=d.each=function(a,b,c){var d=Array.prototype.slice.call(arguments,3);if(a)if(a.length===+a.length){var e;for(e=0;e<a.length;e++)b.apply(c,[a[e],e].concat(d))}else for(var f in a)b.apply(c,[a[f],f].concat(d))},f=d.clone=function(a){var b={};return e(a,function(c,d){a.hasOwnProperty(d)&&(b[d]=c)}),b},g=d.extend=function(a){return e(Array.prototype.slice.call(arguments,1),function(b){e(b,function(c,d){b.hasOwnProperty(d)&&(a[d]=c)})}),a},h=d.merge=function(a,b){var c=Array.prototype.slice.call(arguments,0);return c.unshift({}),g.apply(null,c)},i=d.indexOf=function(a,b){if(Array.prototype.indexOf)return a.indexOf(b);for(var c=0;c<a.length;c++)if(a[c]===b)return c;return-1},j=(d.where=function(a,b){var c=[];return d.each(a,function(a){b(a)&&c.push(a)}),c},d.findNextWhere=function(a,b,c){c||(c=-1);for(var d=c+1;d<a.length;d++){var e=a[d];if(b(e))return e}},d.findPreviousWhere=function(a,b,c){c||(c=a.length);for(var d=c-1;d>=0;d--){var e=a[d];if(b(e))return e}},d.inherits=function(a){var b=this,c=a&&a.hasOwnProperty("constructor")?a.constructor:function(){return b.apply(this,arguments)},d=function(){this.constructor=c};return d.prototype=b.prototype,c.prototype=new d,c.extend=j,a&&g(c.prototype,a),c.__super__=b.prototype,c}),k=d.noop=function(){},l=d.uid=function(){var a=0;return function(){return"chart-"+a++}}(),m=d.warn=function(a){window.console&&"function"==typeof window.console.warn&&console.warn(a)},n=d.amd="function"==typeof define&&define.amd,o=d.isNumber=function(a){return!isNaN(parseFloat(a))&&isFinite(a)},p=d.max=function(a){return Math.max.apply(Math,a)},q=d.min=function(a){return Math.min.apply(Math,a)},r=(d.cap=function(a,b,c){if(o(b)){if(a>b)return b}else if(o(c)&&c>a)return c;return a},d.getDecimalPlaces=function(a){return a%1!==0&&o(a)?a.toString().split(".")[1].length:0}),s=d.radians=function(a){return a*(Math.PI/180)},t=(d.getAngleFromPoint=function(a,b){var c=b.x-a.x,d=b.y-a.y,e=Math.sqrt(c*c+d*d),f=2*Math.PI+Math.atan2(d,c);return 0>c&&0>d&&(f+=2*Math.PI),{angle:f,distance:e}},d.aliasPixel=function(a){return a%2===0?0:.5}),u=(d.splineCurve=function(a,b,c,d){var e=Math.sqrt(Math.pow(b.x-a.x,2)+Math.pow(b.y-a.y,2)),f=Math.sqrt(Math.pow(c.x-b.x,2)+Math.pow(c.y-b.y,2)),g=d*e/(e+f),h=d*f/(e+f);return{inner:{x:b.x-g*(c.x-a.x),y:b.y-g*(c.y-a.y)},outer:{x:b.x+h*(c.x-a.x),y:b.y+h*(c.y-a.y)}}},d.calculateOrderOfMagnitude=function(a){return Math.floor(Math.log(a)/Math.LN10)}),v=(d.calculateScaleRange=function(a,b,c,d,e){var f=2,g=Math.floor(b/(1.5*c)),h=f>=g,i=p(a),j=q(a);i===j&&(i+=.5,j>=.5&&!d?j-=.5:i+=.5);for(var k=Math.abs(i-j),l=u(k),m=Math.ceil(i/(1*Math.pow(10,l)))*Math.pow(10,l),n=d?0:Math.floor(j/(1*Math.pow(10,l)))*Math.pow(10,l),o=m-n,r=Math.pow(10,l),s=Math.round(o/r);(s>g||g>2*s)&&!h;)if(s>g)r*=2,s=Math.round(o/r),s%1!==0&&(h=!0);else if(e&&l>=0){if(r/2%1!==0)break;r/=2,s=Math.round(o/r)}else r/=2,s=Math.round(o/r);return h&&(s=f,r=o/s),{steps:s,stepValue:r,min:n,max:n+s*r}},d.template=function(a,b){function c(a,b){var c=/\W/.test(a)?new Function("obj","var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('"+a.replace(/[\r\t\n]/g," ").split("<%").join("   ").replace(/((^|%>)[^\t]*)'/g,"$1\r").replace(/\t=(.*?)%>/g,"',$1,'").split("   ").join("');").split("%>").join("p.push('").split("\r").join("\\'")+"');}return p.join('');"):d[a]=d[a];return b?c(b):c}if(a instanceof Function)return a(b);var d={};return c(a,b)}),w=(d.generateLabels=function(a,b,c,d){var f=new Array(b);return labelTemplateString&&e(f,function(b,e){f[e]=v(a,{value:c+d*(e+1)})}),f},d.easingEffects={linear:function(a){return a},easeInQuad:function(a){return a*a},easeOutQuad:function(a){return-1*a*(a-2)},easeInOutQuad:function(a){return(a/=.5)<1?.5*a*a:-0.5*(--a*(a-2)-1)},easeInCubic:function(a){return a*a*a},easeOutCubic:function(a){return 1*((a=a/1-1)*a*a+1)},easeInOutCubic:function(a){return(a/=.5)<1?.5*a*a*a:.5*((a-=2)*a*a+2)},easeInQuart:function(a){return a*a*a*a},easeOutQuart:function(a){return-1*((a=a/1-1)*a*a*a-1)},easeInOutQuart:function(a){return(a/=.5)<1?.5*a*a*a*a:-0.5*((a-=2)*a*a*a-2)},easeInQuint:function(a){return 1*(a/=1)*a*a*a*a},easeOutQuint:function(a){return 1*((a=a/1-1)*a*a*a*a+1)},easeInOutQuint:function(a){return(a/=.5)<1?.5*a*a*a*a*a:.5*((a-=2)*a*a*a*a+2)},easeInSine:function(a){return-1*Math.cos(a/1*(Math.PI/2))+1},easeOutSine:function(a){return 1*Math.sin(a/1*(Math.PI/2))},easeInOutSine:function(a){return-0.5*(Math.cos(Math.PI*a/1)-1)},easeInExpo:function(a){return 0===a?1:1*Math.pow(2,10*(a/1-1))},easeOutExpo:function(a){return 1===a?1:1*(-Math.pow(2,-10*a/1)+1)},easeInOutExpo:function(a){return 0===a?0:1===a?1:(a/=.5)<1?.5*Math.pow(2,10*(a-1)):.5*(-Math.pow(2,-10*--a)+2)},easeInCirc:function(a){return a>=1?a:-1*(Math.sqrt(1-(a/=1)*a)-1)},easeOutCirc:function(a){return 1*Math.sqrt(1-(a=a/1-1)*a)},easeInOutCirc:function(a){return(a/=.5)<1?-0.5*(Math.sqrt(1-a*a)-1):.5*(Math.sqrt(1-(a-=2)*a)+1)},easeInElastic:function(a){var b=1.70158,c=0,d=1;return 0===a?0:1==(a/=1)?1:(c||(c=.3),d<Math.abs(1)?(d=1,b=c/4):b=c/(2*Math.PI)*Math.asin(1/d),-(d*Math.pow(2,10*(a-=1))*Math.sin((1*a-b)*(2*Math.PI)/c)))},easeOutElastic:function(a){var b=1.70158,c=0,d=1;return 0===a?0:1==(a/=1)?1:(c||(c=.3),d<Math.abs(1)?(d=1,b=c/4):b=c/(2*Math.PI)*Math.asin(1/d),d*Math.pow(2,-10*a)*Math.sin((1*a-b)*(2*Math.PI)/c)+1)},easeInOutElastic:function(a){var b=1.70158,c=0,d=1;return 0===a?0:2==(a/=.5)?1:(c||(c=1*(.3*1.5)),d<Math.abs(1)?(d=1,b=c/4):b=c/(2*Math.PI)*Math.asin(1/d),1>a?-.5*(d*Math.pow(2,10*(a-=1))*Math.sin((1*a-b)*(2*Math.PI)/c)):d*Math.pow(2,-10*(a-=1))*Math.sin((1*a-b)*(2*Math.PI)/c)*.5+1)},easeInBack:function(a){var b=1.70158;return 1*(a/=1)*a*((b+1)*a-b)},easeOutBack:function(a){var b=1.70158;return 1*((a=a/1-1)*a*((b+1)*a+b)+1)},easeInOutBack:function(a){var b=1.70158;return(a/=.5)<1?.5*(a*a*(((b*=1.525)+1)*a-b)):.5*((a-=2)*a*(((b*=1.525)+1)*a+b)+2)},easeInBounce:function(a){return 1-w.easeOutBounce(1-a)},easeOutBounce:function(a){return(a/=1)<1/2.75?1*(7.5625*a*a):2/2.75>a?1*(7.5625*(a-=1.5/2.75)*a+.75):2.5/2.75>a?1*(7.5625*(a-=2.25/2.75)*a+.9375):1*(7.5625*(a-=2.625/2.75)*a+.984375)},easeInOutBounce:function(a){return.5>a?.5*w.easeInBounce(2*a):.5*w.easeOutBounce(2*a-1)+.5}}),x=d.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){return window.setTimeout(a,1e3/60)}}(),y=d.cancelAnimFrame=function(){return window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.oCancelAnimationFrame||window.msCancelAnimationFrame||function(a){return window.clearTimeout(a,1e3/60)}}(),z=(d.animationLoop=function(a,b,c,d,e,f){var g=0,h=w[c]||w.linear,i=function(){g++;var c=g/b,j=h(c);a.call(f,j,c,g),d.call(f,j,c),b>g?f.animationFrame=x(i):e.apply(f)};x(i)},d.getRelativePosition=function(a){var b,c,d=a.originalEvent||a,e=a.currentTarget||a.srcElement,f=e.getBoundingClientRect();return d.touches?(b=d.touches[0].clientX-f.left,c=d.touches[0].clientY-f.top):(b=d.clientX-f.left,c=d.clientY-f.top),{x:b,y:c}},d.addEvent=function(a,b,c){a.addEventListener?a.addEventListener(b,c):a.attachEvent?a.attachEvent("on"+b,c):a["on"+b]=c}),A=d.removeEvent=function(a,b,c){a.removeEventListener?a.removeEventListener(b,c,!1):a.detachEvent?a.detachEvent("on"+b,c):a["on"+b]=k},B=(d.bindEvents=function(a,b,c){a.events||(a.events={}),e(b,function(b){a.events[b]=function(){c.apply(a,arguments)},z(a.chart.canvas,b,a.events[b])})},d.unbindEvents=function(a,b){e(b,function(b,c){A(a.chart.canvas,c,b)})}),C=d.getMaximumWidth=function(a){var b=a.parentNode;return b.clientWidth},D=d.getMaximumHeight=function(a){var b=a.parentNode;return b.clientHeight},E=(d.getMaximumSize=d.getMaximumWidth,d.retinaScale=function(a){var b=a.ctx,c=a.canvas.width,d=a.canvas.height;window.devicePixelRatio&&(b.canvas.style.width=c+"px",b.canvas.style.height=d+"px",b.canvas.height=d*window.devicePixelRatio,b.canvas.width=c*window.devicePixelRatio,b.scale(window.devicePixelRatio,window.devicePixelRatio))}),F=d.clear=function(a){a.ctx.clearRect(0,0,a.width,a.height)},G=d.fontString=function(a,b,c){return b+" "+a+"px "+c},H=d.longestText=function(a,b,c){a.font=b;var d=0;return e(c,function(b){var c=a.measureText(b).width;d=c>d?c:d}),d},I=d.drawRoundedRectangle=function(a,b,c,d,e,f){a.beginPath(),a.moveTo(b+f,c),a.lineTo(b+d-f,c),a.quadraticCurveTo(b+d,c,b+d,c+f),a.lineTo(b+d,c+e-f),a.quadraticCurveTo(b+d,c+e,b+d-f,c+e),a.lineTo(b+f,c+e),a.quadraticCurveTo(b,c+e,b,c+e-f),a.lineTo(b,c+f),a.quadraticCurveTo(b,c,b+f,c),a.closePath()};c.instances={},c.Type=function(a,b,d){this.options=b,this.chart=d,this.id=l(),c.instances[this.id]=this,b.responsive&&this.resize(),this.initialize.call(this,a)},g(c.Type.prototype,{initialize:function(){return this},clear:function(){return F(this.chart),this},stop:function(){return y(this.animationFrame),this},resize:function(a){this.stop();var b=this.chart.canvas,c=C(this.chart.canvas),d=this.options.maintainAspectRatio?c/this.chart.aspectRatio:D(this.chart.canvas);return b.width=this.chart.width=c,b.height=this.chart.height=d,E(this.chart),"function"==typeof a&&a.apply(this,Array.prototype.slice.call(arguments,1)),this},reflow:k,render:function(a){return a&&this.reflow(),this.options.animation&&!a?d.animationLoop(this.draw,this.options.animationSteps,this.options.animationEasing,this.options.onAnimationProgress,this.options.onAnimationComplete,this):(this.draw(),this.options.onAnimationComplete.call(this)),this},generateLegend:function(){return v(this.options.legendTemplate,this)},destroy:function(){this.clear(),B(this,this.events);var a=this.chart.canvas;a.width=this.chart.width,a.height=this.chart.height,a.style.removeProperty?(a.style.removeProperty("width"),a.style.removeProperty("height")):(a.style.removeAttribute("width"),a.style.removeAttribute("height")),delete c.instances[this.id]},showTooltip:function(a,b){"undefined"==typeof this.activeElements&&(this.activeElements=[]);var f=function(a){var b=!1;return a.length!==this.activeElements.length?b=!0:(e(a,function(a,c){a!==this.activeElements[c]&&(b=!0)},this),b)}.call(this,a);if(f||b){if(this.activeElements=a,this.draw(),this.options.customTooltips&&this.options.customTooltips(!1),a.length>0)if(this.datasets&&this.datasets.length>1){for(var g,h,j=this.datasets.length-1;j>=0&&(g=this.datasets[j].points||this.datasets[j].bars||this.datasets[j].segments,h=i(g,a[0]),-1===h);j--);var k=[],l=[],m=function(a){var b,c,e,f,g,i=[],j=[],m=[];return d.each(this.datasets,function(a){b=a.points||a.bars||a.segments,b[h]&&b[h].hasValue()&&i.push(b[h])}),d.each(i,function(a){j.push(a.x),m.push(a.y),k.push(d.template(this.options.multiTooltipTemplate,a)),l.push({fill:a._saved.fillColor||a.fillColor,stroke:a._saved.strokeColor||a.strokeColor})},this),g=q(m),e=p(m),f=q(j),c=p(j),{x:f>this.chart.width/2?f:c,y:(g+e)/2}}.call(this,h);new c.MultiTooltip({x:m.x,y:m.y,xPadding:this.options.tooltipXPadding,yPadding:this.options.tooltipYPadding,xOffset:this.options.tooltipXOffset,fillColor:this.options.tooltipFillColor,textColor:this.options.tooltipFontColor,fontFamily:this.options.tooltipFontFamily,fontStyle:this.options.tooltipFontStyle,fontSize:this.options.tooltipFontSize,titleTextColor:this.options.tooltipTitleFontColor,titleFontFamily:this.options.tooltipTitleFontFamily,titleFontStyle:this.options.tooltipTitleFontStyle,titleFontSize:this.options.tooltipTitleFontSize,cornerRadius:this.options.tooltipCornerRadius,labels:k,legendColors:l,legendColorBackground:this.options.multiTooltipKeyBackground,title:a[0].label,chart:this.chart,ctx:this.chart.ctx,custom:this.options.customTooltips}).draw()}else e(a,function(a){var b=a.tooltipPosition();new c.Tooltip({x:Math.round(b.x),y:Math.round(b.y),xPadding:this.options.tooltipXPadding,yPadding:this.options.tooltipYPadding,fillColor:this.options.tooltipFillColor,textColor:this.options.tooltipFontColor,fontFamily:this.options.tooltipFontFamily,fontStyle:this.options.tooltipFontStyle,fontSize:this.options.tooltipFontSize,caretHeight:this.options.tooltipCaretSize,cornerRadius:this.options.tooltipCornerRadius,text:v(this.options.tooltipTemplate,a),chart:this.chart,custom:this.options.customTooltips}).draw()},this);return this}},toBase64Image:function(){return this.chart.canvas.toDataURL.apply(this.chart.canvas,arguments)}}),c.Type.extend=function(a){var b=this,d=function(){return b.apply(this,arguments)};if(d.prototype=f(b.prototype),g(d.prototype,a),d.extend=c.Type.extend,a.name||b.prototype.name){var e=a.name||b.prototype.name,i=c.defaults[b.prototype.name]?f(c.defaults[b.prototype.name]):{};c.defaults[e]=g(i,a.defaults),c.types[e]=d,c.prototype[e]=function(a,b){var f=h(c.defaults.global,c.defaults[e],b||{});return new d(a,f,this)}}else m("Name not provided for this chart, so it hasn't been registered");return b},c.Element=function(a){g(this,a),this.initialize.apply(this,arguments),this.save()},g(c.Element.prototype,{initialize:function(){},restore:function(a){return a?e(a,function(a){this[a]=this._saved[a]},this):g(this,this._saved),this},save:function(){return this._saved=f(this),delete this._saved._saved,this},update:function(a){return e(a,function(a,b){this._saved[b]=this[b],this[b]=a},this),this},transition:function(a,b){return e(a,function(a,c){this[c]=(a-this._saved[c])*b+this._saved[c]},this),this},tooltipPosition:function(){return{x:this.x,y:this.y}},hasValue:function(){return o(this.value)}}),c.Element.extend=j,c.Point=c.Element.extend({display:!0,inRange:function(a,b){var c=this.hitDetectionRadius+this.radius;return Math.pow(a-this.x,2)+Math.pow(b-this.y,2)<Math.pow(c,2)},draw:function(){if(this.display){var a=this.ctx;a.beginPath(),a.arc(this.x,this.y,this.radius,0,2*Math.PI),a.closePath(),a.strokeStyle=this.strokeColor,a.lineWidth=this.strokeWidth,a.fillStyle=this.fillColor,a.fill(),a.stroke()}}}),c.Arc=c.Element.extend({inRange:function(a,b){var c=d.getAngleFromPoint(this,{x:a,y:b}),e=c.angle>=this.startAngle&&c.angle<=this.endAngle,f=c.distance>=this.innerRadius&&c.distance<=this.outerRadius;return e&&f},tooltipPosition:function(){var a=this.startAngle+(this.endAngle-this.startAngle)/2,b=(this.outerRadius-this.innerRadius)/2+this.innerRadius;return{x:this.x+Math.cos(a)*b,y:this.y+Math.sin(a)*b}},draw:function(a){var b=this.ctx;b.beginPath(),b.arc(this.x,this.y,this.outerRadius,this.startAngle,this.endAngle),b.arc(this.x,this.y,this.innerRadius,this.endAngle,this.startAngle,!0),b.closePath(),b.strokeStyle=this.strokeColor,b.lineWidth=this.strokeWidth,b.fillStyle=this.fillColor,b.fill(),b.lineJoin="bevel",this.showStroke&&b.stroke()}}),c.Rectangle=c.Element.extend({draw:function(){var a=this.ctx,b=this.width/2,c=this.x-b,d=this.x+b,e=this.base-(this.base-this.y),f=this.strokeWidth/2;this.showStroke&&(c+=f,d-=f,e+=f),a.beginPath(),a.fillStyle=this.fillColor,a.strokeStyle=this.strokeColor,a.lineWidth=this.strokeWidth,a.moveTo(c,this.base),a.lineTo(c,e),a.lineTo(d,e),a.lineTo(d,this.base),a.fill(),this.showStroke&&a.stroke()},height:function(){return this.base-this.y},inRange:function(a,b){return a>=this.x-this.width/2&&a<=this.x+this.width/2&&b>=this.y&&b<=this.base}}),c.Tooltip=c.Element.extend({draw:function(){var a=this.chart.ctx;a.font=G(this.fontSize,this.fontStyle,this.fontFamily),this.xAlign="center",this.yAlign="above";var b=this.caretPadding=2,c=a.measureText(this.text).width+2*this.xPadding,d=this.fontSize+2*this.yPadding,e=d+this.caretHeight+b;this.x+c/2>this.chart.width?this.xAlign="left":this.x-c/2<0&&(this.xAlign="right"),this.y-e<0&&(this.yAlign="below");var f=this.x-c/2,g=this.y-e;if(a.fillStyle=this.fillColor,this.custom)this.custom(this);else{switch(this.yAlign){case"above":a.beginPath(),a.moveTo(this.x,this.y-b),a.lineTo(this.x+this.caretHeight,this.y-(b+this.caretHeight)),a.lineTo(this.x-this.caretHeight,this.y-(b+this.caretHeight)),a.closePath(),a.fill();break;case"below":g=this.y+b+this.caretHeight,a.beginPath(),a.moveTo(this.x,this.y+b),a.lineTo(this.x+this.caretHeight,this.y+b+this.caretHeight),a.lineTo(this.x-this.caretHeight,this.y+b+this.caretHeight),a.closePath(),a.fill()}switch(this.xAlign){case"left":f=this.x-c+(this.cornerRadius+this.caretHeight);break;case"right":f=this.x-(this.cornerRadius+this.caretHeight)}I(a,f,g,c,d,this.cornerRadius),a.fill(),a.fillStyle=this.textColor,a.textAlign="center",a.textBaseline="middle",a.fillText(this.text,f+c/2,g+d/2)}}}),c.MultiTooltip=c.Element.extend({initialize:function(){this.font=G(this.fontSize,this.fontStyle,this.fontFamily),this.titleFont=G(this.titleFontSize,this.titleFontStyle,this.titleFontFamily),this.height=this.labels.length*this.fontSize+(this.labels.length-1)*(this.fontSize/2)+2*this.yPadding+1.5*this.titleFontSize,this.ctx.font=this.titleFont;var a=this.ctx.measureText(this.title).width,b=H(this.ctx,this.font,this.labels)+this.fontSize+3,c=p([b,a]);this.width=c+2*this.xPadding;var d=this.height/2;this.y-d<0?this.y=d:this.y+d>this.chart.height&&(this.y=this.chart.height-d),this.x>this.chart.width/2?this.x-=this.xOffset+this.width:this.x+=this.xOffset},getLineHeight:function(a){var b=this.y-this.height/2+this.yPadding,c=a-1;return 0===a?b+this.titleFontSize/2:b+(1.5*this.fontSize*c+this.fontSize/2)+1.5*this.titleFontSize},draw:function(){if(this.custom)this.custom(this);else{I(this.ctx,this.x,this.y-this.height/2,this.width,this.height,this.cornerRadius);var a=this.ctx;a.fillStyle=this.fillColor,a.fill(),a.closePath(),a.textAlign="left",a.textBaseline="middle",a.fillStyle=this.titleTextColor,a.font=this.titleFont,a.fillText(this.title,this.x+this.xPadding,this.getLineHeight(0)),a.font=this.font,d.each(this.labels,function(b,c){a.fillStyle=this.textColor,a.fillText(b,this.x+this.xPadding+this.fontSize+3,this.getLineHeight(c+1)),a.fillStyle=this.legendColorBackground,a.fillRect(this.x+this.xPadding,this.getLineHeight(c+1)-this.fontSize/2,this.fontSize,this.fontSize),a.fillStyle=this.legendColors[c].fill,a.fillRect(this.x+this.xPadding,this.getLineHeight(c+1)-this.fontSize/2,this.fontSize,this.fontSize)},this)}}}),c.Scale=c.Element.extend({initialize:function(){this.fit()},buildYLabels:function(){this.yLabels=[];for(var a=r(this.stepValue),b=0;b<=this.steps;b++)this.yLabels.push(v(this.templateString,{value:(this.min+b*this.stepValue).toFixed(a)}));this.yLabelWidth=this.display&&this.showLabels?H(this.ctx,this.font,this.yLabels):0},addXLabel:function(a){this.xLabels.push(a),this.valuesCount++,this.fit()},removeXLabel:function(){this.xLabels.shift(),this.valuesCount--,this.fit()},fit:function(){this.startPoint=this.display?this.fontSize:0,this.endPoint=this.display?this.height-1.5*this.fontSize-5:this.height,this.startPoint+=this.padding,this.endPoint-=this.padding;var a,b=this.endPoint-this.startPoint;for(this.calculateYRange(b),this.buildYLabels(),this.calculateXLabelRotation();b>this.endPoint-this.startPoint;)b=this.endPoint-this.startPoint,a=this.yLabelWidth,this.calculateYRange(b),this.buildYLabels(),
+a<this.yLabelWidth&&this.calculateXLabelRotation()},calculateXLabelRotation:function(){this.ctx.font=this.font;var a,b,c=this.ctx.measureText(this.xLabels[0]).width,d=this.ctx.measureText(this.xLabels[this.xLabels.length-1]).width;if(this.xScalePaddingRight=d/2+3,this.xScalePaddingLeft=c/2>this.yLabelWidth+10?c/2:this.yLabelWidth+10,this.xLabelRotation=0,this.display){var e,f=H(this.ctx,this.font,this.xLabels);this.xLabelWidth=f;for(var g=Math.floor(this.calculateX(1)-this.calculateX(0))-6;this.xLabelWidth>g&&0===this.xLabelRotation||this.xLabelWidth>g&&this.xLabelRotation<=90&&this.xLabelRotation>0;)e=Math.cos(s(this.xLabelRotation)),a=e*c,b=e*d,a+this.fontSize/2>this.yLabelWidth+8&&(this.xScalePaddingLeft=a+this.fontSize/2),this.xScalePaddingRight=this.fontSize/2,this.xLabelRotation++,this.xLabelWidth=e*f;this.xLabelRotation>0&&(this.endPoint-=Math.sin(s(this.xLabelRotation))*f+3)}else this.xLabelWidth=0,this.xScalePaddingRight=this.padding,this.xScalePaddingLeft=this.padding},calculateYRange:k,drawingArea:function(){return this.startPoint-this.endPoint},calculateY:function(a){var b=this.drawingArea()/(this.min-this.max);return this.endPoint-b*(a-this.min)},calculateX:function(a){var b=(this.xLabelRotation>0,this.width-(this.xScalePaddingLeft+this.xScalePaddingRight)),c=b/Math.max(this.valuesCount-(this.offsetGridLines?0:1),1),d=c*a+this.xScalePaddingLeft;return this.offsetGridLines&&(d+=c/2),Math.round(d)},update:function(a){d.extend(this,a),this.fit()},draw:function(){var a=this.ctx,b=(this.endPoint-this.startPoint)/this.steps,c=Math.round(this.xScalePaddingLeft);this.display&&(a.fillStyle=this.textColor,a.font=this.font,e(this.yLabels,function(e,f){var g=this.endPoint-b*f,h=Math.round(g),i=this.showHorizontalLines;a.textAlign="right",a.textBaseline="middle",this.showLabels&&a.fillText(e,c-10,g),0!==f||i||(i=!0),i&&a.beginPath(),f>0?(a.lineWidth=this.gridLineWidth,a.strokeStyle=this.gridLineColor):(a.lineWidth=this.lineWidth,a.strokeStyle=this.lineColor),h+=d.aliasPixel(a.lineWidth),i&&(a.moveTo(c,h),a.lineTo(this.width,h),a.stroke(),a.closePath()),a.lineWidth=this.lineWidth,a.strokeStyle=this.lineColor,a.beginPath(),a.moveTo(c-5,h),a.lineTo(c,h),a.stroke(),a.closePath()},this),e(this.xLabels,function(b,c){var d=this.calculateX(c)+t(this.lineWidth),e=this.calculateX(c-(this.offsetGridLines?.5:0))+t(this.lineWidth),f=this.xLabelRotation>0,g=this.showVerticalLines;0!==c||g||(g=!0),g&&a.beginPath(),c>0?(a.lineWidth=this.gridLineWidth,a.strokeStyle=this.gridLineColor):(a.lineWidth=this.lineWidth,a.strokeStyle=this.lineColor),g&&(a.moveTo(e,this.endPoint),a.lineTo(e,this.startPoint-3),a.stroke(),a.closePath()),a.lineWidth=this.lineWidth,a.strokeStyle=this.lineColor,a.beginPath(),a.moveTo(e,this.endPoint),a.lineTo(e,this.endPoint+5),a.stroke(),a.closePath(),a.save(),a.translate(d,f?this.endPoint+12:this.endPoint+8),a.rotate(-1*s(this.xLabelRotation)),a.font=this.font,a.textAlign=f?"right":"center",a.textBaseline=f?"middle":"top",a.fillText(b,0,0),a.restore()},this))}}),c.RadialScale=c.Element.extend({initialize:function(){this.size=q([this.height,this.width]),this.drawingArea=this.display?this.size/2-(this.fontSize/2+this.backdropPaddingY):this.size/2},calculateCenterOffset:function(a){var b=this.drawingArea/(this.max-this.min);return(a-this.min)*b},update:function(){this.lineArc?this.drawingArea=this.display?this.size/2-(this.fontSize/2+this.backdropPaddingY):this.size/2:this.setScaleSize(),this.buildYLabels()},buildYLabels:function(){this.yLabels=[];for(var a=r(this.stepValue),b=0;b<=this.steps;b++)this.yLabels.push(v(this.templateString,{value:(this.min+b*this.stepValue).toFixed(a)}))},getCircumference:function(){return 2*Math.PI/this.valuesCount},setScaleSize:function(){var a,b,c,d,e,f,g,h,i,j,k,l,m=q([this.height/2-this.pointLabelFontSize-5,this.width/2]),n=this.width,p=0;for(this.ctx.font=G(this.pointLabelFontSize,this.pointLabelFontStyle,this.pointLabelFontFamily),b=0;b<this.valuesCount;b++)a=this.getPointPosition(b,m),c=this.ctx.measureText(v(this.templateString,{value:this.labels[b]})).width+5,0===b||b===this.valuesCount/2?(d=c/2,a.x+d>n&&(n=a.x+d,e=b),a.x-d<p&&(p=a.x-d,g=b)):b<this.valuesCount/2?a.x+c>n&&(n=a.x+c,e=b):b>this.valuesCount/2&&a.x-c<p&&(p=a.x-c,g=b);i=p,j=Math.ceil(n-this.width),f=this.getIndexAngle(e),h=this.getIndexAngle(g),k=j/Math.sin(f+Math.PI/2),l=i/Math.sin(h+Math.PI/2),k=o(k)?k:0,l=o(l)?l:0,this.drawingArea=m-(l+k)/2,this.setCenterPoint(l,k)},setCenterPoint:function(a,b){var c=this.width-b-this.drawingArea,d=a+this.drawingArea;this.xCenter=(d+c)/2,this.yCenter=this.height/2},getIndexAngle:function(a){var b=2*Math.PI/this.valuesCount;return a*b-Math.PI/2},getPointPosition:function(a,b){var c=this.getIndexAngle(a);return{x:Math.cos(c)*b+this.xCenter,y:Math.sin(c)*b+this.yCenter}},draw:function(){if(this.display){var a=this.ctx;if(e(this.yLabels,function(b,c){if(c>0){var d,e=c*(this.drawingArea/this.steps),f=this.yCenter-e;if(this.lineWidth>0)if(a.strokeStyle=this.lineColor,a.lineWidth=this.lineWidth,this.lineArc)a.beginPath(),a.arc(this.xCenter,this.yCenter,e,0,2*Math.PI),a.closePath(),a.stroke();else{a.beginPath();for(var g=0;g<this.valuesCount;g++)d=this.getPointPosition(g,this.calculateCenterOffset(this.min+c*this.stepValue)),0===g?a.moveTo(d.x,d.y):a.lineTo(d.x,d.y);a.closePath(),a.stroke()}if(this.showLabels){if(a.font=G(this.fontSize,this.fontStyle,this.fontFamily),this.showLabelBackdrop){var h=a.measureText(b).width;a.fillStyle=this.backdropColor,a.fillRect(this.xCenter-h/2-this.backdropPaddingX,f-this.fontSize/2-this.backdropPaddingY,h+2*this.backdropPaddingX,this.fontSize+2*this.backdropPaddingY)}a.textAlign="center",a.textBaseline="middle",a.fillStyle=this.fontColor,a.fillText(b,this.xCenter,f)}}},this),!this.lineArc){a.lineWidth=this.angleLineWidth,a.strokeStyle=this.angleLineColor;for(var b=this.valuesCount-1;b>=0;b--){if(this.angleLineWidth>0){var c=this.getPointPosition(b,this.calculateCenterOffset(this.max));a.beginPath(),a.moveTo(this.xCenter,this.yCenter),a.lineTo(c.x,c.y),a.stroke(),a.closePath()}var d=this.getPointPosition(b,this.calculateCenterOffset(this.max)+5);a.font=G(this.pointLabelFontSize,this.pointLabelFontStyle,this.pointLabelFontFamily),a.fillStyle=this.pointLabelFontColor;var f=this.labels.length,g=this.labels.length/2,h=g/2,i=h>b||b>f-h,j=b===h||b===f-h;0===b?a.textAlign="center":b===g?a.textAlign="center":g>b?a.textAlign="left":a.textAlign="right",j?a.textBaseline="middle":i?a.textBaseline="bottom":a.textBaseline="top",a.fillText(this.labels[b],d.x,d.y)}}}}}),d.addEvent(window,"resize",function(){var a;return function(){clearTimeout(a),a=setTimeout(function(){e(c.instances,function(a){a.options.responsive&&a.resize(a.render,!0)})},50)}}()),n?define(function(){return c}):"object"==typeof module&&module.exports&&(module.exports=c),a.Chart=c,c.noConflict=function(){return a.Chart=b,c}}.call(this),function(){"use strict";var a=this,b=a.Chart,c=b.helpers,d={scaleBeginAtZero:!0,scaleShowGridLines:!0,scaleGridLineColor:"rgba(0,0,0,.05)",scaleGridLineWidth:1,scaleShowHorizontalLines:!0,scaleShowVerticalLines:!0,barShowStroke:!0,barStrokeWidth:2,barValueSpacing:5,barDatasetSpacing:1,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span style="background-color:<%=datasets[i].fillColor%>"></span><%if(datasets[i].label){%><%=datasets[i].label%><%}%></li><%}%></ul>'};b.Type.extend({name:"Bar",defaults:d,initialize:function(a){var d=this.options;this.ScaleClass=b.Scale.extend({offsetGridLines:!0,calculateBarX:function(a,b,c){var e=this.calculateBaseWidth(),f=this.calculateX(c)-e/2,g=this.calculateBarWidth(a);return f+g*b+b*d.barDatasetSpacing+g/2},calculateBaseWidth:function(){return this.calculateX(1)-this.calculateX(0)-2*d.barValueSpacing},calculateBarWidth:function(a){var b=this.calculateBaseWidth()-(a-1)*d.barDatasetSpacing;return b/a}}),this.datasets=[],this.options.showTooltips&&c.bindEvents(this,this.options.tooltipEvents,function(a){var b="mouseout"!==a.type?this.getBarsAtEvent(a):[];this.eachBars(function(a){a.restore(["fillColor","strokeColor"])}),c.each(b,function(a){a.fillColor=a.highlightFill,a.strokeColor=a.highlightStroke}),this.showTooltip(b)}),this.BarClass=b.Rectangle.extend({strokeWidth:this.options.barStrokeWidth,showStroke:this.options.barShowStroke,ctx:this.chart.ctx}),c.each(a.datasets,function(b,d){var e={label:b.label||null,fillColor:b.fillColor,strokeColor:b.strokeColor,bars:[]};this.datasets.push(e),c.each(b.data,function(c,d){e.bars.push(new this.BarClass({value:c,label:a.labels[d],datasetLabel:b.label,strokeColor:b.strokeColor,fillColor:b.fillColor,highlightFill:b.highlightFill||b.fillColor,highlightStroke:b.highlightStroke||b.strokeColor}))},this)},this),this.buildScale(a.labels),this.BarClass.prototype.base=this.scale.endPoint,this.eachBars(function(a,b,d){c.extend(a,{width:this.scale.calculateBarWidth(this.datasets.length),x:this.scale.calculateBarX(this.datasets.length,d,b),y:this.scale.endPoint}),a.save()},this),this.render()},update:function(){this.scale.update(),c.each(this.activeElements,function(a){a.restore(["fillColor","strokeColor"])}),this.eachBars(function(a){a.save()}),this.render()},eachBars:function(a){c.each(this.datasets,function(b,d){c.each(b.bars,a,this,d)},this)},getBarsAtEvent:function(a){for(var b,d=[],e=c.getRelativePosition(a),f=function(a){d.push(a.bars[b])},g=0;g<this.datasets.length;g++)for(b=0;b<this.datasets[g].bars.length;b++)if(this.datasets[g].bars[b].inRange(e.x,e.y))return c.each(this.datasets,f),d;return d},buildScale:function(a){var b=this,d=function(){var a=[];return b.eachBars(function(b){a.push(b.value)}),a},e={templateString:this.options.scaleLabel,height:this.chart.height,width:this.chart.width,ctx:this.chart.ctx,textColor:this.options.scaleFontColor,fontSize:this.options.scaleFontSize,fontStyle:this.options.scaleFontStyle,fontFamily:this.options.scaleFontFamily,valuesCount:a.length,beginAtZero:this.options.scaleBeginAtZero,integersOnly:this.options.scaleIntegersOnly,calculateYRange:function(a){var b=c.calculateScaleRange(d(),a,this.fontSize,this.beginAtZero,this.integersOnly);c.extend(this,b)},xLabels:a,font:c.fontString(this.options.scaleFontSize,this.options.scaleFontStyle,this.options.scaleFontFamily),lineWidth:this.options.scaleLineWidth,lineColor:this.options.scaleLineColor,showHorizontalLines:this.options.scaleShowHorizontalLines,showVerticalLines:this.options.scaleShowVerticalLines,gridLineWidth:this.options.scaleShowGridLines?this.options.scaleGridLineWidth:0,gridLineColor:this.options.scaleShowGridLines?this.options.scaleGridLineColor:"rgba(0,0,0,0)",padding:this.options.showScale?0:this.options.barShowStroke?this.options.barStrokeWidth:0,showLabels:this.options.scaleShowLabels,display:this.options.showScale};this.options.scaleOverride&&c.extend(e,{calculateYRange:c.noop,steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}),this.scale=new this.ScaleClass(e)},addData:function(a,b){c.each(a,function(a,c){this.datasets[c].bars.push(new this.BarClass({value:a,label:b,x:this.scale.calculateBarX(this.datasets.length,c,this.scale.valuesCount+1),y:this.scale.endPoint,width:this.scale.calculateBarWidth(this.datasets.length),base:this.scale.endPoint,strokeColor:this.datasets[c].strokeColor,fillColor:this.datasets[c].fillColor}))},this),this.scale.addXLabel(b),this.update()},removeData:function(){this.scale.removeXLabel(),c.each(this.datasets,function(a){a.bars.shift()},this),this.update()},reflow:function(){c.extend(this.BarClass.prototype,{y:this.scale.endPoint,base:this.scale.endPoint});var a=c.extend({height:this.chart.height,width:this.chart.width});this.scale.update(a)},draw:function(a){var b=a||1;this.clear();this.chart.ctx;this.scale.draw(b),c.each(this.datasets,function(a,d){c.each(a.bars,function(a,c){a.hasValue()&&(a.base=this.scale.endPoint,a.transition({x:this.scale.calculateBarX(this.datasets.length,d,c),y:this.scale.calculateY(a.value),width:this.scale.calculateBarWidth(this.datasets.length)},b).draw())},this)},this)}})}.call(this),function(){"use strict";var a=this,b=a.Chart,c=b.helpers,d={segmentShowStroke:!0,segmentStrokeColor:"#fff",segmentStrokeWidth:2,percentageInnerCutout:50,animationSteps:100,animationEasing:"easeOutBounce",animateRotate:!0,animateScale:!1,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<segments.length; i++){%><li><span style="background-color:<%=segments[i].fillColor%>"></span><%if(segments[i].label){%><%=segments[i].label%><%}%></li><%}%></ul>'};b.Type.extend({name:"Doughnut",defaults:d,initialize:function(a){this.segments=[],this.outerRadius=(c.min([this.chart.width,this.chart.height])-this.options.segmentStrokeWidth/2)/2,this.SegmentArc=b.Arc.extend({ctx:this.chart.ctx,x:this.chart.width/2,y:this.chart.height/2}),this.options.showTooltips&&c.bindEvents(this,this.options.tooltipEvents,function(a){var b="mouseout"!==a.type?this.getSegmentsAtEvent(a):[];c.each(this.segments,function(a){a.restore(["fillColor"])}),c.each(b,function(a){a.fillColor=a.highlightColor}),this.showTooltip(b)}),this.calculateTotal(a),c.each(a,function(a,b){this.addData(a,b,!0)},this),this.render()},getSegmentsAtEvent:function(a){var b=[],d=c.getRelativePosition(a);return c.each(this.segments,function(a){a.inRange(d.x,d.y)&&b.push(a)},this),b},addData:function(a,b,c){var d=b||this.segments.length;this.segments.splice(d,0,new this.SegmentArc({value:a.value,outerRadius:this.options.animateScale?0:this.outerRadius,innerRadius:this.options.animateScale?0:this.outerRadius/100*this.options.percentageInnerCutout,fillColor:a.color,highlightColor:a.highlight||a.color,showStroke:this.options.segmentShowStroke,strokeWidth:this.options.segmentStrokeWidth,strokeColor:this.options.segmentStrokeColor,startAngle:1.5*Math.PI,circumference:this.options.animateRotate?0:this.calculateCircumference(a.value),label:a.label})),c||(this.reflow(),this.update())},calculateCircumference:function(a){return 2*Math.PI*(Math.abs(a)/this.total)},calculateTotal:function(a){this.total=0,c.each(a,function(a){this.total+=Math.abs(a.value)},this)},update:function(){this.calculateTotal(this.segments),c.each(this.activeElements,function(a){a.restore(["fillColor"])}),c.each(this.segments,function(a){a.save()}),this.render()},removeData:function(a){var b=c.isNumber(a)?a:this.segments.length-1;this.segments.splice(b,1),this.reflow(),this.update()},reflow:function(){c.extend(this.SegmentArc.prototype,{x:this.chart.width/2,y:this.chart.height/2}),this.outerRadius=(c.min([this.chart.width,this.chart.height])-this.options.segmentStrokeWidth/2)/2,c.each(this.segments,function(a){a.update({outerRadius:this.outerRadius,innerRadius:this.outerRadius/100*this.options.percentageInnerCutout})},this)},draw:function(a){var b=a?a:1;this.clear(),c.each(this.segments,function(a,c){a.transition({circumference:this.calculateCircumference(a.value),outerRadius:this.outerRadius,innerRadius:this.outerRadius/100*this.options.percentageInnerCutout},b),a.endAngle=a.startAngle+a.circumference,a.draw(),0===c&&(a.startAngle=1.5*Math.PI),c<this.segments.length-1&&(this.segments[c+1].startAngle=a.endAngle)},this)}}),b.types.Doughnut.extend({name:"Pie",defaults:c.merge(d,{percentageInnerCutout:0})})}.call(this),function(){"use strict";var a=this,b=a.Chart,c=b.helpers,d={scaleShowGridLines:!0,scaleGridLineColor:"rgba(0,0,0,.05)",scaleGridLineWidth:1,scaleShowHorizontalLines:!0,scaleShowVerticalLines:!0,bezierCurve:!0,bezierCurveTension:.4,pointDot:!0,pointDotRadius:4,pointDotStrokeWidth:1,pointHitDetectionRadius:20,datasetStroke:!0,datasetStrokeWidth:2,datasetFill:!0,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span style="background-color:<%=datasets[i].strokeColor%>"></span><%if(datasets[i].label){%><%=datasets[i].label%><%}%></li><%}%></ul>'};b.Type.extend({name:"Line",defaults:d,initialize:function(a){this.PointClass=b.Point.extend({strokeWidth:this.options.pointDotStrokeWidth,radius:this.options.pointDotRadius,display:this.options.pointDot,hitDetectionRadius:this.options.pointHitDetectionRadius,ctx:this.chart.ctx,inRange:function(a){return Math.pow(a-this.x,2)<Math.pow(this.radius+this.hitDetectionRadius,2)}}),this.datasets=[],this.options.showTooltips&&c.bindEvents(this,this.options.tooltipEvents,function(a){var b="mouseout"!==a.type?this.getPointsAtEvent(a):[];this.eachPoints(function(a){a.restore(["fillColor","strokeColor"])}),c.each(b,function(a){a.fillColor=a.highlightFill,a.strokeColor=a.highlightStroke}),this.showTooltip(b)}),c.each(a.datasets,function(b){var d={label:b.label||null,fillColor:b.fillColor,strokeColor:b.strokeColor,pointColor:b.pointColor,pointStrokeColor:b.pointStrokeColor,points:[]};this.datasets.push(d),c.each(b.data,function(c,e){d.points.push(new this.PointClass({value:c,label:a.labels[e],datasetLabel:b.label,strokeColor:b.pointStrokeColor,fillColor:b.pointColor,highlightFill:b.pointHighlightFill||b.pointColor,highlightStroke:b.pointHighlightStroke||b.pointStrokeColor}))},this),this.buildScale(a.labels),this.eachPoints(function(a,b){c.extend(a,{x:this.scale.calculateX(b),y:this.scale.endPoint}),a.save()},this)},this),this.render()},update:function(){this.scale.update(),c.each(this.activeElements,function(a){a.restore(["fillColor","strokeColor"])}),this.eachPoints(function(a){a.save()}),this.render()},eachPoints:function(a){c.each(this.datasets,function(b){c.each(b.points,a,this)},this)},getPointsAtEvent:function(a){var b=[],d=c.getRelativePosition(a);return c.each(this.datasets,function(a){c.each(a.points,function(a){a.inRange(d.x,d.y)&&b.push(a)})},this),b},buildScale:function(a){var d=this,e=function(){var a=[];return d.eachPoints(function(b){a.push(b.value)}),a},f={templateString:this.options.scaleLabel,height:this.chart.height,width:this.chart.width,ctx:this.chart.ctx,textColor:this.options.scaleFontColor,fontSize:this.options.scaleFontSize,fontStyle:this.options.scaleFontStyle,fontFamily:this.options.scaleFontFamily,valuesCount:a.length,beginAtZero:this.options.scaleBeginAtZero,integersOnly:this.options.scaleIntegersOnly,calculateYRange:function(a){var b=c.calculateScaleRange(e(),a,this.fontSize,this.beginAtZero,this.integersOnly);c.extend(this,b)},xLabels:a,font:c.fontString(this.options.scaleFontSize,this.options.scaleFontStyle,this.options.scaleFontFamily),lineWidth:this.options.scaleLineWidth,lineColor:this.options.scaleLineColor,showHorizontalLines:this.options.scaleShowHorizontalLines,showVerticalLines:this.options.scaleShowVerticalLines,gridLineWidth:this.options.scaleShowGridLines?this.options.scaleGridLineWidth:0,gridLineColor:this.options.scaleShowGridLines?this.options.scaleGridLineColor:"rgba(0,0,0,0)",padding:this.options.showScale?0:this.options.pointDotRadius+this.options.pointDotStrokeWidth,showLabels:this.options.scaleShowLabels,display:this.options.showScale};this.options.scaleOverride&&c.extend(f,{calculateYRange:c.noop,steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}),this.scale=new b.Scale(f)},addData:function(a,b){c.each(a,function(a,c){this.datasets[c].points.push(new this.PointClass({value:a,label:b,x:this.scale.calculateX(this.scale.valuesCount+1),y:this.scale.endPoint,strokeColor:this.datasets[c].pointStrokeColor,fillColor:this.datasets[c].pointColor}))},this),this.scale.addXLabel(b),this.update()},removeData:function(){this.scale.removeXLabel(),c.each(this.datasets,function(a){a.points.shift()},this),this.update()},reflow:function(){var a=c.extend({height:this.chart.height,width:this.chart.width});this.scale.update(a)},draw:function(a){var b=a||1;this.clear();var d=this.chart.ctx,e=function(a){return null!==a.value},f=function(a,b,d){return c.findNextWhere(b,e,d)||a},g=function(a,b,d){return c.findPreviousWhere(b,e,d)||a};this.scale.draw(b),c.each(this.datasets,function(a){var h=c.where(a.points,e);c.each(a.points,function(a,c){a.hasValue()&&a.transition({y:this.scale.calculateY(a.value),x:this.scale.calculateX(c)},b)},this),this.options.bezierCurve&&c.each(h,function(a,b){var d=b>0&&b<h.length-1?this.options.bezierCurveTension:0;a.controlPoints=c.splineCurve(g(a,h,b),a,f(a,h,b),d),a.controlPoints.outer.y>this.scale.endPoint?a.controlPoints.outer.y=this.scale.endPoint:a.controlPoints.outer.y<this.scale.startPoint&&(a.controlPoints.outer.y=this.scale.startPoint),a.controlPoints.inner.y>this.scale.endPoint?a.controlPoints.inner.y=this.scale.endPoint:a.controlPoints.inner.y<this.scale.startPoint&&(a.controlPoints.inner.y=this.scale.startPoint)},this),d.lineWidth=this.options.datasetStrokeWidth,d.strokeStyle=a.strokeColor,d.beginPath(),c.each(h,function(a,b){if(0===b)d.moveTo(a.x,a.y);else if(this.options.bezierCurve){var c=g(a,h,b);d.bezierCurveTo(c.controlPoints.outer.x,c.controlPoints.outer.y,a.controlPoints.inner.x,a.controlPoints.inner.y,a.x,a.y)}else d.lineTo(a.x,a.y)},this),d.stroke(),this.options.datasetFill&&h.length>0&&(d.lineTo(h[h.length-1].x,this.scale.endPoint),d.lineTo(h[0].x,this.scale.endPoint),d.fillStyle=a.fillColor,d.closePath(),d.fill()),c.each(h,function(a){a.draw()})},this)}})}.call(this),function(){"use strict";var a=this,b=a.Chart,c=b.helpers,d={scaleShowLabelBackdrop:!0,scaleBackdropColor:"rgba(255,255,255,0.75)",scaleBeginAtZero:!0,scaleBackdropPaddingY:2,scaleBackdropPaddingX:2,scaleShowLine:!0,segmentShowStroke:!0,segmentStrokeColor:"#fff",segmentStrokeWidth:2,animationSteps:100,animationEasing:"easeOutBounce",animateRotate:!0,animateScale:!1,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<segments.length; i++){%><li><span style="background-color:<%=segments[i].fillColor%>"></span><%if(segments[i].label){%><%=segments[i].label%><%}%></li><%}%></ul>'};b.Type.extend({name:"PolarArea",defaults:d,initialize:function(a){this.segments=[],this.SegmentArc=b.Arc.extend({showStroke:this.options.segmentShowStroke,strokeWidth:this.options.segmentStrokeWidth,strokeColor:this.options.segmentStrokeColor,ctx:this.chart.ctx,innerRadius:0,x:this.chart.width/2,y:this.chart.height/2}),this.scale=new b.RadialScale({display:this.options.showScale,fontStyle:this.options.scaleFontStyle,fontSize:this.options.scaleFontSize,fontFamily:this.options.scaleFontFamily,fontColor:this.options.scaleFontColor,showLabels:this.options.scaleShowLabels,showLabelBackdrop:this.options.scaleShowLabelBackdrop,backdropColor:this.options.scaleBackdropColor,backdropPaddingY:this.options.scaleBackdropPaddingY,backdropPaddingX:this.options.scaleBackdropPaddingX,lineWidth:this.options.scaleShowLine?this.options.scaleLineWidth:0,lineColor:this.options.scaleLineColor,lineArc:!0,width:this.chart.width,height:this.chart.height,xCenter:this.chart.width/2,yCenter:this.chart.height/2,ctx:this.chart.ctx,templateString:this.options.scaleLabel,valuesCount:a.length}),this.updateScaleRange(a),this.scale.update(),c.each(a,function(a,b){this.addData(a,b,!0)},this),this.options.showTooltips&&c.bindEvents(this,this.options.tooltipEvents,function(a){var b="mouseout"!==a.type?this.getSegmentsAtEvent(a):[];c.each(this.segments,function(a){a.restore(["fillColor"])}),c.each(b,function(a){a.fillColor=a.highlightColor}),this.showTooltip(b)}),this.render()},getSegmentsAtEvent:function(a){var b=[],d=c.getRelativePosition(a);return c.each(this.segments,function(a){a.inRange(d.x,d.y)&&b.push(a)},this),b},addData:function(a,b,c){var d=b||this.segments.length;this.segments.splice(d,0,new this.SegmentArc({fillColor:a.color,highlightColor:a.highlight||a.color,label:a.label,value:a.value,outerRadius:this.options.animateScale?0:this.scale.calculateCenterOffset(a.value),circumference:this.options.animateRotate?0:this.scale.getCircumference(),startAngle:1.5*Math.PI})),c||(this.reflow(),this.update())},removeData:function(a){var b=c.isNumber(a)?a:this.segments.length-1;this.segments.splice(b,1),this.reflow(),this.update()},calculateTotal:function(a){this.total=0,c.each(a,function(a){this.total+=a.value},this),this.scale.valuesCount=this.segments.length},updateScaleRange:function(a){var b=[];c.each(a,function(a){b.push(a.value)});var d=this.options.scaleOverride?{steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}:c.calculateScaleRange(b,c.min([this.chart.width,this.chart.height])/2,this.options.scaleFontSize,this.options.scaleBeginAtZero,this.options.scaleIntegersOnly);c.extend(this.scale,d,{size:c.min([this.chart.width,this.chart.height]),xCenter:this.chart.width/2,yCenter:this.chart.height/2})},update:function(){this.calculateTotal(this.segments),c.each(this.segments,function(a){a.save()}),this.reflow(),this.render()},reflow:function(){c.extend(this.SegmentArc.prototype,{x:this.chart.width/2,y:this.chart.height/2}),this.updateScaleRange(this.segments),this.scale.update(),c.extend(this.scale,{xCenter:this.chart.width/2,yCenter:this.chart.height/2}),c.each(this.segments,function(a){a.update({outerRadius:this.scale.calculateCenterOffset(a.value)})},this)},draw:function(a){var b=a||1;this.clear(),c.each(this.segments,function(a,c){a.transition({circumference:this.scale.getCircumference(),outerRadius:this.scale.calculateCenterOffset(a.value)},b),a.endAngle=a.startAngle+a.circumference,0===c&&(a.startAngle=1.5*Math.PI),c<this.segments.length-1&&(this.segments[c+1].startAngle=a.endAngle),a.draw()},this),this.scale.draw()}})}.call(this),function(){"use strict";var a=this,b=a.Chart,c=b.helpers;b.Type.extend({name:"Radar",defaults:{scaleShowLine:!0,angleShowLineOut:!0,scaleShowLabels:!1,scaleBeginAtZero:!0,angleLineColor:"rgba(0,0,0,.1)",angleLineWidth:1,pointLabelFontFamily:"'Arial'",pointLabelFontStyle:"normal",pointLabelFontSize:10,pointLabelFontColor:"#666",pointDot:!0,pointDotRadius:3,pointDotStrokeWidth:1,pointHitDetectionRadius:20,datasetStroke:!0,datasetStrokeWidth:2,datasetFill:!0,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span style="background-color:<%=datasets[i].strokeColor%>"></span><%if(datasets[i].label){%><%=datasets[i].label%><%}%></li><%}%></ul>'},initialize:function(a){this.PointClass=b.Point.extend({strokeWidth:this.options.pointDotStrokeWidth,radius:this.options.pointDotRadius,display:this.options.pointDot,hitDetectionRadius:this.options.pointHitDetectionRadius,ctx:this.chart.ctx}),this.datasets=[],this.buildScale(a),this.options.showTooltips&&c.bindEvents(this,this.options.tooltipEvents,function(a){var b="mouseout"!==a.type?this.getPointsAtEvent(a):[];this.eachPoints(function(a){a.restore(["fillColor","strokeColor"])}),c.each(b,function(a){a.fillColor=a.highlightFill,a.strokeColor=a.highlightStroke}),this.showTooltip(b)}),c.each(a.datasets,function(b){var d={label:b.label||null,fillColor:b.fillColor,strokeColor:b.strokeColor,pointColor:b.pointColor,pointStrokeColor:b.pointStrokeColor,points:[]};this.datasets.push(d),c.each(b.data,function(c,e){var f;this.scale.animation||(f=this.scale.getPointPosition(e,this.scale.calculateCenterOffset(c))),d.points.push(new this.PointClass({value:c,label:a.labels[e],datasetLabel:b.label,x:this.options.animation?this.scale.xCenter:f.x,y:this.options.animation?this.scale.yCenter:f.y,strokeColor:b.pointStrokeColor,fillColor:b.pointColor,highlightFill:b.pointHighlightFill||b.pointColor,highlightStroke:b.pointHighlightStroke||b.pointStrokeColor}))},this)},this),this.render()},eachPoints:function(a){c.each(this.datasets,function(b){c.each(b.points,a,this)},this)},getPointsAtEvent:function(a){var b=c.getRelativePosition(a),d=c.getAngleFromPoint({x:this.scale.xCenter,y:this.scale.yCenter},b),e=2*Math.PI/this.scale.valuesCount,f=Math.round((d.angle-1.5*Math.PI)/e),g=[];return(f>=this.scale.valuesCount||0>f)&&(f=0),d.distance<=this.scale.drawingArea&&c.each(this.datasets,function(a){g.push(a.points[f])}),g},buildScale:function(a){this.scale=new b.RadialScale({display:this.options.showScale,fontStyle:this.options.scaleFontStyle,fontSize:this.options.scaleFontSize,fontFamily:this.options.scaleFontFamily,fontColor:this.options.scaleFontColor,showLabels:this.options.scaleShowLabels,showLabelBackdrop:this.options.scaleShowLabelBackdrop,backdropColor:this.options.scaleBackdropColor,backdropPaddingY:this.options.scaleBackdropPaddingY,backdropPaddingX:this.options.scaleBackdropPaddingX,lineWidth:this.options.scaleShowLine?this.options.scaleLineWidth:0,lineColor:this.options.scaleLineColor,angleLineColor:this.options.angleLineColor,angleLineWidth:this.options.angleShowLineOut?this.options.angleLineWidth:0,pointLabelFontColor:this.options.pointLabelFontColor,pointLabelFontSize:this.options.pointLabelFontSize,pointLabelFontFamily:this.options.pointLabelFontFamily,pointLabelFontStyle:this.options.pointLabelFontStyle,height:this.chart.height,width:this.chart.width,xCenter:this.chart.width/2,yCenter:this.chart.height/2,ctx:this.chart.ctx,templateString:this.options.scaleLabel,labels:a.labels,valuesCount:a.datasets[0].data.length}),this.scale.setScaleSize(),this.updateScaleRange(a.datasets),this.scale.buildYLabels()},updateScaleRange:function(a){var b=function(){var b=[];return c.each(a,function(a){a.data?b=b.concat(a.data):c.each(a.points,function(a){b.push(a.value)})}),b}(),d=this.options.scaleOverride?{steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}:c.calculateScaleRange(b,c.min([this.chart.width,this.chart.height])/2,this.options.scaleFontSize,this.options.scaleBeginAtZero,this.options.scaleIntegersOnly);c.extend(this.scale,d)},addData:function(a,b){this.scale.valuesCount++,c.each(a,function(a,c){var d=this.scale.getPointPosition(this.scale.valuesCount,this.scale.calculateCenterOffset(a));this.datasets[c].points.push(new this.PointClass({value:a,label:b,x:d.x,y:d.y,strokeColor:this.datasets[c].pointStrokeColor,fillColor:this.datasets[c].pointColor}))},this),this.scale.labels.push(b),this.reflow(),this.update()},removeData:function(){this.scale.valuesCount--,this.scale.labels.shift(),c.each(this.datasets,function(a){a.points.shift()},this),this.reflow(),this.update()},update:function(){this.eachPoints(function(a){a.save()}),this.reflow(),this.render()},reflow:function(){c.extend(this.scale,{width:this.chart.width,height:this.chart.height,size:c.min([this.chart.width,this.chart.height]),xCenter:this.chart.width/2,yCenter:this.chart.height/2}),this.updateScaleRange(this.datasets),this.scale.setScaleSize(),this.scale.buildYLabels()},draw:function(a){var b=a||1,d=this.chart.ctx;this.clear(),this.scale.draw(),c.each(this.datasets,function(a){c.each(a.points,function(a,c){a.hasValue()&&a.transition(this.scale.getPointPosition(c,this.scale.calculateCenterOffset(a.value)),b)},this),d.lineWidth=this.options.datasetStrokeWidth,d.strokeStyle=a.strokeColor,d.beginPath(),c.each(a.points,function(a,b){0===b?d.moveTo(a.x,a.y):d.lineTo(a.x,a.y)},this),d.closePath(),d.stroke(),d.fillStyle=a.fillColor,d.fill(),c.each(a.points,function(a){a.hasValue()&&a.draw()})},this)}})}.call(this),function(a){"use strict";"object"==typeof exports?module.exports=a(angular,require("chart.js")):"function"==typeof define&&define.amd?define(["angular","chart"],a):a(angular,Chart)}(function(a,b){"use strict";function c(){var c={},d={Chart:b,getOptions:function(b){var d=b&&c[b]||{};return a.extend({},c,d)}};this.setOptions=function(b,d){return d?void(c[b]=a.extend(c[b]||{},d)):(d=b,void(c=a.extend(c,d)))},this.$get=function(){return d}}function d(c,d){function f(a,b){return a&&b&&a.length&&b.length?Array.isArray(a[0])?a.length===b.length&&a.every(function(a,c){return a.length===b[c].length}):b.reduce(g,0)>0?a.length===b.length:!1:!1}function g(a,b){return a+b}
+function h(b,c,d,e){var f=null;return function(g){var h=c.getPointsAtEvent||c.getBarsAtEvent||c.getSegmentsAtEvent;if(h){var i=h.call(c,g);(e===!1||a.equals(f,i)===!1)&&(f=i,b[d](i,g),b.$apply())}}}function i(d,e){for(var f=a.copy(e.colours||c.getOptions(d).colours||b.defaults.global.colours);f.length<e.data.length;)f.push(e.getColour());return f.map(j)}function j(a){return"object"==typeof a&&null!==a?a:"string"==typeof a&&"#"===a[0]?l(o(a.substr(1))):k()}function k(){var a=[m(0,255),m(0,255),m(0,255)];return l(a)}function l(a){return{fillColor:n(a,.2),strokeColor:n(a,1),pointColor:n(a,1),pointStrokeColor:"#fff",pointHighlightFill:"#fff",pointHighlightStroke:n(a,.8)}}function m(a,b){return Math.floor(Math.random()*(b-a+1))+a}function n(a,b){return e?"rgb("+a.join(",")+")":"rgba("+a.concat(b).join(",")+")"}function o(a){var b=parseInt(a,16),c=b>>16&255,d=b>>8&255,e=255&b;return[c,d,e]}function p(b,c,d,e){return{labels:b,datasets:c.map(function(b,c){return a.extend({},e[c],{label:d[c],data:b})})}}function q(b,c,d){return b.map(function(b,e){return a.extend({},d[e],{label:b,value:c[e],color:d[e].strokeColor,highlight:d[e].pointHighlightStroke})})}function r(a,b){var c=a.parent(),d=c.find("chart-legend"),e="<chart-legend>"+b.generateLegend()+"</chart-legend>";d.length?d.replaceWith(e):c.append(e)}function s(a,b,c,d){Array.isArray(c.data[0])?a.datasets.forEach(function(a,c){(a.points||a.bars).forEach(function(a,d){a.value=b[c][d]})}):a.segments.forEach(function(a,c){a.value=b[c]}),a.update(),c.$emit("update",a),c.legend&&"false"!==c.legend&&r(d,a)}function t(a){return!a||Array.isArray(a)&&!a.length||"object"==typeof a&&!Object.keys(a).length}function u(d,e){var f=a.extend({},b.defaults.global,c.getOptions(d),e.options);return f.responsive}return function(b){return{restrict:"CA",scope:{data:"=?",labels:"=?",options:"=?",series:"=?",colours:"=?",getColour:"=?",chartType:"=",legend:"@",click:"=?",hover:"=?",chartData:"=?",chartLabels:"=?",chartOptions:"=?",chartSeries:"=?",chartColours:"=?",chartLegend:"@",chartClick:"=?",chartHover:"=?"},link:function(g,j){function l(a,b){g.$watch(a,function(a){"undefined"!=typeof a&&(g[b]=a)})}function m(c,d){if(!t(c)&&!a.equals(c,d)){var e=b||g.chartType;e&&(v&&v.destroy(),n(e))}}function n(b){if(u(b,g)&&0===j[0].clientHeight&&0===w.clientHeight)return d(function(){n(b)},50,!1);if(g.data&&g.data.length){g.getColour="function"==typeof g.getColour?g.getColour:k,g.colours=i(b,g);var e=j[0],f=e.getContext("2d"),l=Array.isArray(g.data[0])?p(g.labels,g.data,g.series||[],g.colours):q(g.labels,g.data,g.colours),m=a.extend({},c.getOptions(b),g.options);v=new c.Chart(f)[b](l,m),g.$emit("create",v),e.onclick=g.click?h(g,v,"click",!1):a.noop,e.onmousemove=g.hover?h(g,v,"hover",!0):a.noop,g.legend&&"false"!==g.legend&&r(j,v)}}function o(a){if("undefined"!=typeof console&&"test"!==c.getOptions().env){var b="function"==typeof console.warn?console.warn:console.log;g[a]&&b.call(console,'"%s" is deprecated and will be removed in a future version. Please use "chart-%s" instead.',a,a)}}var v,w=document.createElement("div");w.className="chart-container",j.replaceWith(w),w.appendChild(j[0]),e&&window.G_vmlCanvasManager.initElement(j[0]),["data","labels","options","series","colours","legend","click","hover"].forEach(o),l("chartData","data"),l("chartLabels","labels"),l("chartOptions","options"),l("chartSeries","series"),l("chartColours","colours"),l("chartLegend","legend"),l("chartClick","click"),l("chartHover","hover"),g.$watch("data",function(a,c){if(a&&a.length&&(!Array.isArray(a[0])||a[0].length)){var d=b||g.chartType;if(d){if(v){if(f(a,c))return s(v,a,g,j);v.destroy()}n(d)}}},!0),g.$watch("series",m,!0),g.$watch("labels",m,!0),g.$watch("options",m,!0),g.$watch("colours",m,!0),g.$watch("chartType",function(b,c){t(b)||a.equals(b,c)||(v&&v.destroy(),n(b))}),g.$on("$destroy",function(){v&&v.destroy()})}}}}b.defaults.global.responsive=!0,b.defaults.global.multiTooltipTemplate="<%if (datasetLabel){%><%=datasetLabel%>: <%}%><%= value %>",b.defaults.global.colours=["#97BBCD","#DCDCDC","#F7464A","#46BFBD","#FDB45C","#949FB1","#4D5360"];var e="object"==typeof window.G_vmlCanvasManager&&null!==window.G_vmlCanvasManager&&"function"==typeof window.G_vmlCanvasManager.initElement;return e&&(b.defaults.global.animation=!1),a.module("chart.js",[]).provider("ChartJs",c).factory("ChartJsFactory",["ChartJs","$timeout",d]).directive("chartBase",["ChartJsFactory",function(a){return new a}]).directive("chartLine",["ChartJsFactory",function(a){return new a("Line")}]).directive("chartBar",["ChartJsFactory",function(a){return new a("Bar")}]).directive("chartRadar",["ChartJsFactory",function(a){return new a("Radar")}]).directive("chartDoughnut",["ChartJsFactory",function(a){return new a("Doughnut")}]).directive("chartPie",["ChartJsFactory",function(a){return new a("Pie")}]).directive("chartPolarArea",["ChartJsFactory",function(a){return new a("PolarArea")}])}),function(a,b,c){"use strict";function d(a,c,d){function e(a,d,e){var g,h;e=e||{},h=e.expires,g=b.isDefined(e.path)?e.path:f,b.isUndefined(d)&&(h="Thu, 01 Jan 1970 00:00:00 GMT",d=""),b.isString(h)&&(h=new Date(h));var i=encodeURIComponent(a)+"="+encodeURIComponent(d);i+=g?";path="+g:"",i+=e.domain?";domain="+e.domain:"",i+=h?";expires="+h.toUTCString():"",i+=e.secure?";secure":"";var j=i.length+1;return j>4096&&c.warn("Cookie '"+a+"' possibly not set or overflowed because it was too large ("+j+" > 4096 bytes)!"),i}var f=d.baseHref(),g=a[0];return function(a,b,c){g.cookie=e(a,b,c)}}b.module("ngCookies",["ng"]).provider("$cookies",[function(){function a(a){return a?b.extend({},d,a):d}var d=this.defaults={};this.$get=["$$cookieReader","$$cookieWriter",function(d,e){return{get:function(a){return d()[a]},getObject:function(a){var c=this.get(a);return c?b.fromJson(c):c},getAll:function(){return d()},put:function(b,c,d){e(b,c,a(d))},putObject:function(a,c,d){this.put(a,b.toJson(c),d)},remove:function(b,d){e(b,c,a(d))}}}]}]),b.module("ngCookies").factory("$cookieStore",["$cookies",function(a){return{get:function(b){return a.getObject(b)},put:function(b,c){a.putObject(b,c)},remove:function(b){a.remove(b)}}}]),d.$inject=["$document","$log","$browser"],b.module("ngCookies").provider("$$cookieWriter",function(){this.$get=d})}(window,window.angular),!function(a,b){"object"==typeof exports&&"object"==typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):"object"==typeof exports?exports["angular-file-upload"]=b():a["angular-file-upload"]=b()}(this,function(){return function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={exports:{},id:d,loaded:!1};return a[d].call(e.exports,e,e.exports,b),e.loaded=!0,e.exports}var c={};return b.m=a,b.c=c,b.p="",b(0)}([function(a,b,c){"use strict";var d=function(a){return a&&a.__esModule?a["default"]:a},e=d(c(2)),f=d(c(3)),g=d(c(4)),h=d(c(5)),i=d(c(6)),j=d(c(7)),k=d(c(1)),l=d(c(8)),m=d(c(9)),n=d(c(10)),o=d(c(11)),p=d(c(12));angular.module(e.name,[]).value("fileUploaderOptions",f).factory("FileUploader",g).factory("FileLikeObject",h).factory("FileItem",i).factory("FileDirective",j).factory("FileSelect",k).factory("FileDrop",l).factory("FileOver",m).directive("nvFileSelect",n).directive("nvFileDrop",o).directive("nvFileOver",p).run(["FileUploader","FileLikeObject","FileItem","FileDirective","FileSelect","FileDrop","FileOver",function(a,b,c,d,e,f,g){a.FileLikeObject=b,a.FileItem=c,a.FileDirective=d,a.FileSelect=e,a.FileDrop=f,a.FileOver=g}])},function(a,b,c){"use strict";var d=function(a){return a&&a.__esModule?a["default"]:a},e=function(){function a(a,b){for(var c in b){var d=b[c];d.configurable=!0,d.value&&(d.writable=!0)}Object.defineProperties(a,b)}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),f=function j(a,b,c){var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){var e=Object.getPrototypeOf(a);return null===e?void 0:j(e,b,c)}if("value"in d&&d.writable)return d.value;var f=d.get;return void 0===f?void 0:f.call(c)},g=function(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(a.__proto__=b)},h=function(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")},i=(d(c(2)),angular.extend);a.exports=function(a){var b=function(a){function b(a){h(this,b);var c=i(a,{events:{$destroy:"destroy",change:"onChange"},prop:"select"});f(Object.getPrototypeOf(b.prototype),"constructor",this).call(this,c),this.uploader.isHTML5||this.element.removeAttr("multiple"),this.element.prop("value",null)}return g(b,a),e(b,{getOptions:{value:function(){}},getFilters:{value:function(){}},isEmptyAfterSelection:{value:function(){return!!this.element.attr("multiple")}},onChange:{value:function(){var a=this.uploader.isHTML5?this.element[0].files:this.element[0],b=this.getOptions(),c=this.getFilters();this.uploader.isHTML5||this.destroy(),this.uploader.addToQueue(a,b,c),this.isEmptyAfterSelection()&&(this.element.prop("value",null),this.element.replaceWith(this.element=this.element.clone(!0)))}}}),b}(a);return b},a.exports.$inject=["FileDirective"]},function(a,b){a.exports={name:"angularFileUpload"}},function(a,b){"use strict";a.exports={url:"/",alias:"file",headers:{},queue:[],progress:0,autoUpload:!1,removeAfterUpload:!1,method:"POST",filters:[],formData:[],queueLimit:Number.MAX_VALUE,withCredentials:!1}},function(a,b,c){"use strict";var d=function(a){return a&&a.__esModule?a["default"]:a},e=function(){function a(a,b){for(var c in b){var d=b[c];d.configurable=!0,d.value&&(d.writable=!0)}Object.defineProperties(a,b)}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),f=function(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")},g=(d(c(2)),angular.copy),h=angular.extend,i=angular.forEach,j=angular.isObject,k=angular.isNumber,l=angular.isDefined,m=angular.isArray,n=angular.element;a.exports=function(a,b,c,d,o,p){var q=d.File,r=d.FormData,s=function(){function d(b){f(this,d);var c=g(a);h(this,c,b,{isUploading:!1,_nextIndex:0,_failFilterIndex:-1,_directives:{select:[],drop:[],over:[]}}),this.filters.unshift({name:"queueLimit",fn:this._queueLimitFilter}),this.filters.unshift({name:"folder",fn:this._folderFilter})}return e(d,{addToQueue:{value:function(a,b,c){var d=this,e=this.isArrayLikeObject(a)?a:[a],f=this._getFilters(c),g=this.queue.length,h=[];i(e,function(a){var c=new o(a);if(d._isValidFile(c,f,b)){var e=new p(d,a,b);h.push(e),d.queue.push(e),d._onAfterAddingFile(e)}else{var g=f[d._failFilterIndex];d._onWhenAddingFileFailed(c,g,b)}}),this.queue.length!==g&&(this._onAfterAddingAll(h),this.progress=this._getTotalProgress()),this._render(),this.autoUpload&&this.uploadAll()}},removeFromQueue:{value:function(a){var b=this.getIndexOfItem(a),c=this.queue[b];c.isUploading&&c.cancel(),this.queue.splice(b,1),c._destroy(),this.progress=this._getTotalProgress()}},clearQueue:{value:function(){for(;this.queue.length;)this.queue[0].remove();this.progress=0}},uploadItem:{value:function(a){var b=this.getIndexOfItem(a),c=this.queue[b],d=this.isHTML5?"_xhrTransport":"_iframeTransport";c._prepareToUploading(),this.isUploading||(this.isUploading=!0,this[d](c))}},cancelItem:{value:function(a){var b=this.getIndexOfItem(a),c=this.queue[b],d=this.isHTML5?"_xhr":"_form";c&&c.isUploading&&c[d].abort()}},uploadAll:{value:function(){var a=this.getNotUploadedItems().filter(function(a){return!a.isUploading});a.length&&(i(a,function(a){return a._prepareToUploading()}),a[0].upload())}},cancelAll:{value:function(){var a=this.getNotUploadedItems();i(a,function(a){return a.cancel()})}},isFile:{value:function(a){return this.constructor.isFile(a)}},isFileLikeObject:{value:function(a){return this.constructor.isFileLikeObject(a)}},isArrayLikeObject:{value:function(a){return this.constructor.isArrayLikeObject(a)}},getIndexOfItem:{value:function(a){return k(a)?a:this.queue.indexOf(a)}},getNotUploadedItems:{value:function(){return this.queue.filter(function(a){return!a.isUploaded})}},getReadyItems:{value:function(){return this.queue.filter(function(a){return a.isReady&&!a.isUploading}).sort(function(a,b){return a.index-b.index})}},destroy:{value:function(){var a=this;i(this._directives,function(b){i(a._directives[b],function(a){a.destroy()})})}},onAfterAddingAll:{value:function(a){}},onAfterAddingFile:{value:function(a){}},onWhenAddingFileFailed:{value:function(a,b,c){}},onBeforeUploadItem:{value:function(a){}},onProgressItem:{value:function(a,b){}},onProgressAll:{value:function(a){}},onSuccessItem:{value:function(a,b,c,d){}},onErrorItem:{value:function(a,b,c,d){}},onCancelItem:{value:function(a,b,c,d){}},onCompleteItem:{value:function(a,b,c,d){}},onCompleteAll:{value:function(){}},_getTotalProgress:{value:function(a){if(this.removeAfterUpload)return a||0;var b=this.getNotUploadedItems().length,c=b?this.queue.length-b:this.queue.length,d=100/this.queue.length,e=(a||0)*d/100;return Math.round(c*d+e)}},_getFilters:{value:function(a){if(!a)return this.filters;if(m(a))return a;var b=a.match(/[^\s,]+/g);return this.filters.filter(function(a){return-1!==b.indexOf(a.name)})}},_render:{value:function(){b.$$phase||b.$apply()}},_folderFilter:{value:function(a){return!(!a.size&&!a.type)}},_queueLimitFilter:{value:function(){return this.queue.length<this.queueLimit}},_isValidFile:{value:function(a,b,c){var d=this;return this._failFilterIndex=-1,b.length?b.every(function(b){return d._failFilterIndex++,b.fn.call(d,a,c)}):!0}},_isSuccessCode:{value:function(a){return a>=200&&300>a||304===a}},_transformResponse:{value:function(a,b){var d=this._headersGetter(b);return i(c.defaults.transformResponse,function(b){a=b(a,d)}),a}},_parseHeaders:{value:function(a){var b,c,d,e={};return a?(i(a.split("\n"),function(a){d=a.indexOf(":"),b=a.slice(0,d).trim().toLowerCase(),c=a.slice(d+1).trim(),b&&(e[b]=e[b]?e[b]+", "+c:c)}),e):e}},_headersGetter:{value:function(a){return function(b){return b?a[b.toLowerCase()]||null:a}}},_xhrTransport:{value:function(a){var b=this,c=a._xhr=new XMLHttpRequest,d=new r;if(this._onBeforeUploadItem(a),i(a.formData,function(a){i(a,function(a,b){d.append(b,a)})}),"number"!=typeof a._file.size)throw new TypeError("The file specified is no longer valid");d.append(a.alias,a._file,a.file.name),c.upload.onprogress=function(c){var d=Math.round(c.lengthComputable?100*c.loaded/c.total:0);b._onProgressItem(a,d)},c.onload=function(){var d=b._parseHeaders(c.getAllResponseHeaders()),e=b._transformResponse(c.response,d),f=b._isSuccessCode(c.status)?"Success":"Error",g="_on"+f+"Item";b[g](a,e,c.status,d),b._onCompleteItem(a,e,c.status,d)},c.onerror=function(){var d=b._parseHeaders(c.getAllResponseHeaders()),e=b._transformResponse(c.response,d);b._onErrorItem(a,e,c.status,d),b._onCompleteItem(a,e,c.status,d)},c.onabort=function(){var d=b._parseHeaders(c.getAllResponseHeaders()),e=b._transformResponse(c.response,d);b._onCancelItem(a,e,c.status,d),b._onCompleteItem(a,e,c.status,d)},c.open(a.method,a.url,!0),c.withCredentials=a.withCredentials,i(a.headers,function(a,b){c.setRequestHeader(b,a)}),c.send(d),this._render()}},_iframeTransport:{value:function(a){var b=this,c=n('<form style="display: none;" />'),d=n('<iframe name="iframeTransport'+Date.now()+'">'),e=a._input;a._form&&a._form.replaceWith(e),a._form=c,this._onBeforeUploadItem(a),e.prop("name",a.alias),i(a.formData,function(a){i(a,function(a,b){var d=n('<input type="hidden" name="'+b+'" />');d.val(a),c.append(d)})}),c.prop({action:a.url,method:"POST",target:d.prop("name"),enctype:"multipart/form-data",encoding:"multipart/form-data"}),d.bind("load",function(){var c="",e=200;try{c=d[0].contentDocument.body.innerHTML}catch(f){e=500}var g={response:c,status:e,dummy:!0},h={},i=b._transformResponse(g.response,h);b._onSuccessItem(a,i,g.status,h),b._onCompleteItem(a,i,g.status,h)}),c.abort=function(){var f,g={status:0,dummy:!0},h={};d.unbind("load").prop("src","javascript:false;"),c.replaceWith(e),b._onCancelItem(a,f,g.status,h),b._onCompleteItem(a,f,g.status,h)},e.after(c),c.append(e).append(d),c[0].submit(),this._render()}},_onWhenAddingFileFailed:{value:function(a,b,c){this.onWhenAddingFileFailed(a,b,c)}},_onAfterAddingFile:{value:function(a){this.onAfterAddingFile(a)}},_onAfterAddingAll:{value:function(a){this.onAfterAddingAll(a)}},_onBeforeUploadItem:{value:function(a){a._onBeforeUpload(),this.onBeforeUploadItem(a)}},_onProgressItem:{value:function(a,b){var c=this._getTotalProgress(b);this.progress=c,a._onProgress(b),this.onProgressItem(a,b),this.onProgressAll(c),this._render()}},_onSuccessItem:{value:function(a,b,c,d){a._onSuccess(b,c,d),this.onSuccessItem(a,b,c,d)}},_onErrorItem:{value:function(a,b,c,d){a._onError(b,c,d),this.onErrorItem(a,b,c,d)}},_onCancelItem:{value:function(a,b,c,d){a._onCancel(b,c,d),this.onCancelItem(a,b,c,d)}},_onCompleteItem:{value:function(a,b,c,d){a._onComplete(b,c,d),this.onCompleteItem(a,b,c,d);var e=this.getReadyItems()[0];return this.isUploading=!1,l(e)?void e.upload():(this.onCompleteAll(),this.progress=this._getTotalProgress(),void this._render())}}},{isFile:{value:function(a){return q&&a instanceof q}},isFileLikeObject:{value:function(a){return a instanceof o}},isArrayLikeObject:{value:function(a){return j(a)&&"length"in a}},inherit:{value:function(a,b){a.prototype=Object.create(b.prototype),a.prototype.constructor=a,a.super_=b}}}),d}();return s.prototype.isHTML5=!(!q||!r),s.isHTML5=s.prototype.isHTML5,s},a.exports.$inject=["fileUploaderOptions","$rootScope","$http","$window","FileLikeObject","FileItem"]},function(a,b,c){"use strict";var d=function(a){return a&&a.__esModule?a["default"]:a},e=function(){function a(a,b){for(var c in b){var d=b[c];d.configurable=!0,d.value&&(d.writable=!0)}Object.defineProperties(a,b)}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),f=function(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")},g=(d(c(2)),angular.copy),h=angular.isElement,i=angular.isString;a.exports=function(){var a=function(){function a(b){f(this,a);var c=h(b),d=c?b.value:b,e=i(d)?"FakePath":"Object",g="_createFrom"+e;this[g](d)}return e(a,{_createFromFakePath:{value:function(a){this.lastModifiedDate=null,this.size=null,this.type="like/"+a.slice(a.lastIndexOf(".")+1).toLowerCase(),this.name=a.slice(a.lastIndexOf("/")+a.lastIndexOf("\\")+2)}},_createFromObject:{value:function(a){this.lastModifiedDate=g(a.lastModifiedDate),this.size=a.size,this.type=a.type,this.name=a.name}}}),a}();return a},a.exports.$inject=[]},function(a,b,c){"use strict";var d=function(a){return a&&a.__esModule?a["default"]:a},e=function(){function a(a,b){for(var c in b){var d=b[c];d.configurable=!0,d.value&&(d.writable=!0)}Object.defineProperties(a,b)}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),f=function(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")},g=(d(c(2)),angular.copy),h=angular.extend,i=angular.element,j=angular.isElement;a.exports=function(a,b){var c=function(){function c(a,d,e){f(this,c);var k=j(d),l=k?i(d):null,m=k?null:d;h(this,{url:a.url,alias:a.alias,headers:g(a.headers),formData:g(a.formData),removeAfterUpload:a.removeAfterUpload,withCredentials:a.withCredentials,method:a.method},e,{uploader:a,file:new b(d),isReady:!1,isUploading:!1,isUploaded:!1,isSuccess:!1,isCancel:!1,isError:!1,progress:0,index:null,_file:m,_input:l}),l&&this._replaceNode(l)}return e(c,{upload:{value:function(){try{this.uploader.uploadItem(this)}catch(a){this.uploader._onCompleteItem(this,"",0,[]),this.uploader._onErrorItem(this,"",0,[])}}},cancel:{value:function(){this.uploader.cancelItem(this)}},remove:{value:function(){this.uploader.removeFromQueue(this)}},onBeforeUpload:{value:function(){}},onProgress:{value:function(a){}},onSuccess:{value:function(a,b,c){}},onError:{value:function(a,b,c){}},onCancel:{value:function(a,b,c){}},onComplete:{value:function(a,b,c){}},_onBeforeUpload:{value:function(){this.isReady=!0,this.isUploading=!0,this.isUploaded=!1,this.isSuccess=!1,this.isCancel=!1,this.isError=!1,this.progress=0,this.onBeforeUpload()}},_onProgress:{value:function(a){this.progress=a,this.onProgress(a)}},_onSuccess:{value:function(a,b,c){this.isReady=!1,this.isUploading=!1,this.isUploaded=!0,this.isSuccess=!0,this.isCancel=!1,this.isError=!1,this.progress=100,this.index=null,this.onSuccess(a,b,c)}},_onError:{value:function(a,b,c){this.isReady=!1,this.isUploading=!1,this.isUploaded=!0,this.isSuccess=!1,this.isCancel=!1,this.isError=!0,this.progress=0,this.index=null,this.onError(a,b,c)}},_onCancel:{value:function(a,b,c){this.isReady=!1,this.isUploading=!1,this.isUploaded=!1,this.isSuccess=!1,this.isCancel=!0,this.isError=!1,this.progress=0,this.index=null,this.onCancel(a,b,c)}},_onComplete:{value:function(a,b,c){this.onComplete(a,b,c),this.removeAfterUpload&&this.remove()}},_destroy:{value:function(){this._input&&this._input.remove(),this._form&&this._form.remove(),delete this._form,delete this._input}},_prepareToUploading:{value:function(){this.index=this.index||++this.uploader._nextIndex,this.isReady=!0}},_replaceNode:{value:function(b){var c=a(b.clone())(b.scope());c.prop("value",null),b.css("display","none"),b.after(c)}}}),c}();return c},a.exports.$inject=["$compile","FileLikeObject"]},function(a,b,c){"use strict";var d=function(a){return a&&a.__esModule?a["default"]:a},e=function(){function a(a,b){for(var c in b){var d=b[c];d.configurable=!0,d.value&&(d.writable=!0)}Object.defineProperties(a,b)}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),f=function(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")},g=(d(c(2)),angular.extend);a.exports=function(){var a=function(){function a(b){f(this,a),g(this,b),this.uploader._directives[this.prop].push(this),this._saveLinks(),this.bind()}return e(a,{bind:{value:function(){for(var a in this.events){var b=this.events[a];this.element.bind(a,this[b])}}},unbind:{value:function(){for(var a in this.events)this.element.unbind(a,this.events[a])}},destroy:{value:function(){var a=this.uploader._directives[this.prop].indexOf(this);this.uploader._directives[this.prop].splice(a,1),this.unbind()}},_saveLinks:{value:function(){for(var a in this.events){var b=this.events[a];this[b]=this[b].bind(this)}}}}),a}();return a.prototype.events={},a},a.exports.$inject=[]},function(a,b,c){"use strict";var d=function(a){return a&&a.__esModule?a["default"]:a},e=function(){function a(a,b){for(var c in b){var d=b[c];d.configurable=!0,d.value&&(d.writable=!0)}Object.defineProperties(a,b)}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),f=function k(a,b,c){var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){var e=Object.getPrototypeOf(a);return null===e?void 0:k(e,b,c)}if("value"in d&&d.writable)return d.value;var f=d.get;return void 0===f?void 0:f.call(c)},g=function(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(a.__proto__=b)},h=function(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")},i=(d(c(2)),angular.extend),j=angular.forEach;a.exports=function(a){var b=function(a){function b(a){h(this,b);var c=i(a,{events:{$destroy:"destroy",drop:"onDrop",dragover:"onDragOver",dragleave:"onDragLeave"},prop:"drop"});f(Object.getPrototypeOf(b.prototype),"constructor",this).call(this,c)}return g(b,a),e(b,{getOptions:{value:function(){}},getFilters:{value:function(){}},onDrop:{value:function(a){var b=this._getTransfer(a);if(b){var c=this.getOptions(),d=this.getFilters();this._preventAndStop(a),j(this.uploader._directives.over,this._removeOverClass,this),this.uploader.addToQueue(b.files,c,d)}}},onDragOver:{value:function(a){var b=this._getTransfer(a);this._haveFiles(b.types)&&(b.dropEffect="copy",this._preventAndStop(a),j(this.uploader._directives.over,this._addOverClass,this))}},onDragLeave:{value:function(a){a.currentTarget!==this.element[0]&&(this._preventAndStop(a),j(this.uploader._directives.over,this._removeOverClass,this))}},_getTransfer:{value:function(a){return a.dataTransfer?a.dataTransfer:a.originalEvent.dataTransfer}},_preventAndStop:{value:function(a){a.preventDefault(),a.stopPropagation()}},_haveFiles:{value:function(a){return a?a.indexOf?-1!==a.indexOf("Files"):a.contains?a.contains("Files"):!1:!1}},_addOverClass:{value:function(a){a.addOverClass()}},_removeOverClass:{value:function(a){a.removeOverClass()}}}),b}(a);return b},a.exports.$inject=["FileDirective"]},function(a,b,c){"use strict";var d=function(a){return a&&a.__esModule?a["default"]:a},e=function(){function a(a,b){for(var c in b){var d=b[c];d.configurable=!0,d.value&&(d.writable=!0)}Object.defineProperties(a,b)}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),f=function j(a,b,c){var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){var e=Object.getPrototypeOf(a);return null===e?void 0:j(e,b,c)}if("value"in d&&d.writable)return d.value;var f=d.get;return void 0===f?void 0:f.call(c)},g=function(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(a.__proto__=b)},h=function(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")},i=(d(c(2)),angular.extend);a.exports=function(a){var b=function(a){function b(a){h(this,b);var c=i(a,{events:{$destroy:"destroy"},prop:"over",overClass:"nv-file-over"});f(Object.getPrototypeOf(b.prototype),"constructor",this).call(this,c)}return g(b,a),e(b,{addOverClass:{value:function(){this.element.addClass(this.getOverClass())}},removeOverClass:{value:function(){this.element.removeClass(this.getOverClass())}},getOverClass:{value:function(){return this.overClass}}}),b}(a);return b},a.exports.$inject=["FileDirective"]},function(a,b,c){"use strict";var d=function(a){return a&&a.__esModule?a["default"]:a};d(c(2)),a.exports=function(a,b,c){return{link:function(d,e,f){var g=d.$eval(f.uploader);if(!(g instanceof b))throw new TypeError('"Uploader" must be an instance of FileUploader');var h=new c({uploader:g,element:e});h.getOptions=a(f.options).bind(h,d),h.getFilters=function(){return f.filters}}}},a.exports.$inject=["$parse","FileUploader","FileSelect"]},function(a,b,c){"use strict";var d=function(a){return a&&a.__esModule?a["default"]:a};d(c(2)),a.exports=function(a,b,c){return{link:function(d,e,f){var g=d.$eval(f.uploader);if(!(g instanceof b))throw new TypeError('"Uploader" must be an instance of FileUploader');if(g.isHTML5){var h=new c({uploader:g,element:e});h.getOptions=a(f.options).bind(h,d),h.getFilters=function(){return f.filters}}}}},a.exports.$inject=["$parse","FileUploader","FileDrop"]},function(a,b,c){"use strict";var d=function(a){return a&&a.__esModule?a["default"]:a};d(c(2)),a.exports=function(a,b){return{link:function(c,d,e){var f=c.$eval(e.uploader);if(!(f instanceof a))throw new TypeError('"Uploader" must be an instance of FileUploader');var g=new b({uploader:f,element:d});g.getOverClass=function(){return e.overClass||g.overClass}}}},a.exports.$inject=["FileUploader","FileOver"]}])}),!function(a,b,c){"use strict";function d(a){return D(a)?a:Object.keys(a).map(function(b){return a[b]})}function e(a){return null===a}function f(a,b){var d=Object.keys(a);return-1==d.map(function(d){return b[d]!==c&&b[d]==a[d]}).indexOf(!1)}function g(a,b){if(""===b)return a;var c=a.indexOf(b.charAt(0));return-1===c?!1:g(a.substr(c+1),b.substr(1))}function h(a,b,c){var d=0;return a.filter(function(a){var e=x(c)?b>d&&c(a):b>d;return d=e?d+1:d,e})}function i(a,b,c){return c.round(a*c.pow(10,b))/c.pow(10,b)}function j(a,b,c){b=b||[];var d=Object.keys(a);return d.forEach(function(d){if(C(a[d])&&!D(a[d])){var e=c?c+"."+d:c;j(a[d],b,e||d)}else{var f=c?c+"."+d:d;b.push(f)}}),b}function k(a){return a&&a.$evalAsync&&a.$watch}function l(){return function(a,b){return a>b}}function m(){return function(a,b){return a>=b}}function n(){return function(a,b){return b>a}}function o(){return function(a,b){return b>=a}}function p(){return function(a,b){return a==b}}function q(){return function(a,b){return a!=b}}function r(){return function(a,b){return a===b}}function s(){return function(a,b){return a!==b}}function t(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?!1:b.some(function(b){return C(b)||z(c)?a(c)(b):b===c})}}function u(a,b){return b=b||0,b>=a.length?a:D(a[b])?u(a.slice(0,b).concat(a[b],a.slice(b+1)),b):u(a,b+1)}function v(a){return function(b,c){function e(a,b){return y(b)?!1:a.some(function(a){return H(a,b)})}if(b=C(b)?d(b):b,!D(b))return b;var f=[],g=a(c);return y(c)?b.filter(function(a,b,c){return c.indexOf(a)===b}):b.filter(function(a){var b=g(a);return e(f,b)?!1:(f.push(b),!0)})}}function w(a,b,c){return b?a+c+w(a,--b,c):a}var x=b.isDefined,y=b.isUndefined,z=b.isFunction,A=b.isString,B=b.isNumber,C=b.isObject,D=b.isArray,E=b.forEach,F=b.extend,G=b.copy,H=b.equals;String.prototype.contains||(String.prototype.contains=function(){return-1!==String.prototype.indexOf.apply(this,arguments)}),b.module("a8m.angular",[]).filter("isUndefined",function(){return function(a){return b.isUndefined(a)}}).filter("isDefined",function(){return function(a){return b.isDefined(a)}}).filter("isFunction",function(){return function(a){return b.isFunction(a)}}).filter("isString",function(){return function(a){return b.isString(a)}}).filter("isNumber",function(){return function(a){return b.isNumber(a)}}).filter("isArray",function(){return function(a){return b.isArray(a)}}).filter("isObject",function(){return function(a){return b.isObject(a)}}).filter("isEqual",function(){return function(a,c){return b.equals(a,c)}}),b.module("a8m.conditions",[]).filter({isGreaterThan:l,">":l,isGreaterThanOrEqualTo:m,">=":m,isLessThan:n,"<":n,isLessThanOrEqualTo:o,"<=":o,isEqualTo:p,"==":p,isNotEqualTo:q,"!=":q,isIdenticalTo:r,"===":r,isNotIdenticalTo:s,"!==":s}),b.module("a8m.is-null",[]).filter("isNull",function(){return function(a){return e(a)}}),b.module("a8m.after-where",[]).filter("afterWhere",function(){return function(a,b){if(a=C(a)?d(a):a,!D(a)||y(b))return a;var c=a.map(function(a){return f(b,a)}).indexOf(!0);return a.slice(-1===c?0:c)}}),b.module("a8m.after",[]).filter("after",function(){return function(a,b){return a=C(a)?d(a):a,D(a)?a.slice(b):a}}),b.module("a8m.before-where",[]).filter("beforeWhere",function(){return function(a,b){if(a=C(a)?d(a):a,!D(a)||y(b))return a;var c=a.map(function(a){return f(b,a)}).indexOf(!0);return a.slice(0,-1===c?a.length:++c)}}),b.module("a8m.before",[]).filter("before",function(){return function(a,b){return a=C(a)?d(a):a,D(a)?a.slice(0,b?--b:b):a}}),b.module("a8m.chunk-by",["a8m.filter-watcher"]).filter("chunkBy",["filterWatcher",function(a){return function(b,c,d){function e(a,b){for(var c=[];a--;)c[a]=b;return c}function f(a,b,c){return D(a)?a.map(function(a,d,f){return d*=b,a=f.slice(d,d+b),!y(c)&&a.length<b?a.concat(e(b-a.length,c)):a}).slice(0,Math.ceil(a.length/b)):a}return a.isMemoized("chunkBy",arguments)||a.memoize("chunkBy",arguments,this,f(b,c,d))}}]),b.module("a8m.concat",[]).filter("concat",[function(){return function(a,b){if(y(b))return a;if(D(a))return C(b)?a.concat(d(b)):a.concat(b);if(C(a)){var c=d(a);return C(b)?c.concat(d(b)):c.concat(b)}return a}}]),b.module("a8m.contains",[]).filter({contains:["$parse",t],some:["$parse",t]}),b.module("a8m.count-by",[]).filter("countBy",["$parse",function(a){return function(b,c){var e,f={},g=a(c);return b=C(b)?d(b):b,!D(b)||y(c)?b:(b.forEach(function(a){e=g(a),f[e]||(f[e]=0),f[e]++}),f)}}]),b.module("a8m.defaults",[]).filter("defaults",["$parse",function(a){return function(b,c){if(b=C(b)?d(b):b,!D(b)||!C(c))return b;var e=j(c);return b.forEach(function(b){e.forEach(function(d){
+var e=a(d),f=e.assign;y(e(b))&&f(b,e(c))})}),b}}]),b.module("a8m.every",[]).filter("every",["$parse",function(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?!0:b.every(function(b){return C(b)||z(c)?a(c)(b):b===c})}}]),b.module("a8m.filter-by",[]).filter("filterBy",["$parse",function(a){return function(b,e,f){var g;return f=A(f)||B(f)?String(f).toLowerCase():c,b=C(b)?d(b):b,!D(b)||y(f)?b:b.filter(function(b){return e.some(function(c){if(~c.indexOf("+")){var d=c.replace(new RegExp("\\s","g"),"").split("+");g=d.reduce(function(c,d,e){return 1===e?a(c)(b)+" "+a(d)(b):c+" "+a(d)(b)})}else g=a(c)(b);return A(g)||B(g)?String(g).toLowerCase().contains(f):!1})})}}]),b.module("a8m.first",[]).filter("first",["$parse",function(a){return function(b){var e,f,g;return b=C(b)?d(b):b,D(b)?(g=Array.prototype.slice.call(arguments,1),e=B(g[0])?g[0]:1,f=B(g[0])?B(g[1])?c:g[1]:g[0],g.length?h(b,e,f?a(f):f):b[0]):b}}]),b.module("a8m.flatten",[]).filter("flatten",function(){return function(a,b){return b=b||!1,a=C(a)?d(a):a,D(a)?b?[].concat.apply([],a):u(a,0):a}}),b.module("a8m.fuzzy-by",[]).filter("fuzzyBy",["$parse",function(a){return function(b,c,e,f){var h,i,j=f||!1;return b=C(b)?d(b):b,!D(b)||y(c)||y(e)?b:(i=a(c),b.filter(function(a){return h=i(a),A(h)?(h=j?h:h.toLowerCase(),e=j?e:e.toLowerCase(),g(h,e)!==!1):!1}))}}]),b.module("a8m.fuzzy",[]).filter("fuzzy",function(){return function(a,b,c){function e(a,b){var c,d,e=Object.keys(a);return 0<e.filter(function(e){return c=a[e],d?!0:A(c)?(c=f?c:c.toLowerCase(),d=g(c,b)!==!1):!1}).length}var f=c||!1;return a=C(a)?d(a):a,!D(a)||y(b)?a:(b=f?b:b.toLowerCase(),a.filter(function(a){return A(a)?(a=f?a:a.toLowerCase(),g(a,b)!==!1):C(a)?e(a,b):!1}))}}),b.module("a8m.group-by",["a8m.filter-watcher"]).filter("groupBy",["$parse","filterWatcher",function(a,b){return function(c,d){function e(a,b){var c,d={};return E(a,function(a){c=b(a),d[c]||(d[c]=[]),d[c].push(a)}),d}return!C(c)||y(d)?c:b.isMemoized("groupBy",arguments)||b.memoize("groupBy",arguments,this,e(c,a(d)))}}]),b.module("a8m.is-empty",[]).filter("isEmpty",function(){return function(a){return C(a)?!d(a).length:!a.length}}),b.module("a8m.join",[]).filter("join",function(){return function(a,b){return y(a)||!D(a)?a:(y(b)&&(b=" "),a.join(b))}}),b.module("a8m.last",[]).filter("last",["$parse",function(a){return function(b){var e,f,g,i=G(b);return i=C(i)?d(i):i,D(i)?(g=Array.prototype.slice.call(arguments,1),e=B(g[0])?g[0]:1,f=B(g[0])?B(g[1])?c:g[1]:g[0],g.length?h(i.reverse(),e,f?a(f):f).reverse():i[i.length-1]):i}}]),b.module("a8m.map",[]).filter("map",["$parse",function(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?b:b.map(function(b){return a(c)(b)})}}]),b.module("a8m.omit",[]).filter("omit",["$parse",function(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?b:b.filter(function(b){return!a(c)(b)})}}]),b.module("a8m.pick",[]).filter("pick",["$parse",function(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?b:b.filter(function(b){return a(c)(b)})}}]),b.module("a8m.range",[]).filter("range",function(){return function(a,b){for(var c=0;c<parseInt(b);c++)a.push(c);return a}}),b.module("a8m.remove-with",[]).filter("removeWith",function(){return function(a,b){return y(b)?a:(a=C(a)?d(a):a,a.filter(function(a){return!f(b,a)}))}}),b.module("a8m.remove",[]).filter("remove",function(){return function(a){a=C(a)?d(a):a;var b=Array.prototype.slice.call(arguments,1);return D(a)?a.filter(function(a){return!b.some(function(b){return H(b,a)})}):a}}),b.module("a8m.reverse",[]).filter("reverse",[function(){return function(a){return a=C(a)?d(a):a,A(a)?a.split("").reverse().join(""):D(a)?a.slice().reverse():a}}]),b.module("a8m.search-field",[]).filter("searchField",["$parse",function(a){return function(b){var c,e;b=C(b)?d(b):b;var f=Array.prototype.slice.call(arguments,1);return D(b)&&f.length?b.map(function(b){return e=f.map(function(d){return(c=a(d))(b)}).join(" "),F(b,{searchField:e})}):b}}]),b.module("a8m.to-array",[]).filter("toArray",function(){return function(a,b){return C(a)?b?Object.keys(a).map(function(b){return F(a[b],{$key:b})}):d(a):a}}),b.module("a8m.unique",[]).filter({unique:["$parse",v],uniq:["$parse",v]}),b.module("a8m.where",[]).filter("where",function(){return function(a,b){return y(b)?a:(a=C(a)?d(a):a,a.filter(function(a){return f(b,a)}))}}),b.module("a8m.xor",[]).filter("xor",["$parse",function(a){return function(b,c,e){function f(b,c){var d=a(e);return c.some(function(a){return e?H(d(a),d(b)):H(a,b)})}return e=e||!1,b=C(b)?d(b):b,c=C(c)?d(c):c,D(b)&&D(c)?b.concat(c).filter(function(a){return!(f(a,b)&&f(a,c))}):b}}]),b.module("a8m.math.byteFmt",["a8m.math"]).filter("byteFmt",["$math",function(a){return function(b,c){return B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)?1024>b?i(b,c,a)+" B":1048576>b?i(b/1024,c,a)+" KB":1073741824>b?i(b/1048576,c,a)+" MB":i(b/1073741824,c,a)+" GB":"NaN"}}]),b.module("a8m.math.degrees",["a8m.math"]).filter("degrees",["$math",function(a){return function(b,c){if(B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)){var d=180*b/a.PI;return a.round(d*a.pow(10,c))/a.pow(10,c)}return"NaN"}}]),b.module("a8m.math.kbFmt",["a8m.math"]).filter("kbFmt",["$math",function(a){return function(b,c){return B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)?1024>b?i(b,c,a)+" KB":1048576>b?i(b/1024,c,a)+" MB":i(b/1048576,c,a)+" GB":"NaN"}}]),b.module("a8m.math",[]).factory("$math",["$window",function(a){return a.Math}]),b.module("a8m.math.max",["a8m.math"]).filter("max",["$math","$parse",function(a,b){function c(c,d){var e=c.map(function(a){return b(d)(a)});return e.indexOf(a.max.apply(a,e))}return function(b,d){return D(b)?y(d)?a.max.apply(a,b):b[c(b,d)]:b}}]),b.module("a8m.math.min",["a8m.math"]).filter("min",["$math","$parse",function(a,b){function c(c,d){var e=c.map(function(a){return b(d)(a)});return e.indexOf(a.min.apply(a,e))}return function(b,d){return D(b)?y(d)?a.min.apply(a,b):b[c(b,d)]:b}}]),b.module("a8m.math.percent",["a8m.math"]).filter("percent",["$math","$window",function(a,b){return function(c,d,e){var f=A(c)?b.Number(c):c;return d=d||100,e=e||!1,!B(f)||b.isNaN(f)?c:e?a.round(f/d*100):f/d*100}}]),b.module("a8m.math.radians",["a8m.math"]).filter("radians",["$math",function(a){return function(b,c){if(B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)){var d=3.14159265359*b/180;return a.round(d*a.pow(10,c))/a.pow(10,c)}return"NaN"}}]),b.module("a8m.math.radix",[]).filter("radix",function(){return function(a,b){var c=/^[2-9]$|^[1-2]\d$|^3[0-6]$/;return B(a)&&c.test(b)?a.toString(b).toUpperCase():a}}),b.module("a8m.math.shortFmt",["a8m.math"]).filter("shortFmt",["$math",function(a){return function(b,c){return B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)?1e3>b?b:1e6>b?i(b/1e3,c,a)+" K":1e9>b?i(b/1e6,c,a)+" M":i(b/1e9,c,a)+" B":"NaN"}}]),b.module("a8m.math.sum",[]).filter("sum",function(){return function(a,b){return D(a)?a.reduce(function(a,b){return a+b},b||0):a}}),b.module("a8m.ends-with",[]).filter("endsWith",function(){return function(a,b,c){var d,e=c||!1;return!A(a)||y(b)?a:(a=e?a:a.toLowerCase(),d=a.length-b.length,-1!==a.indexOf(e?b:b.toLowerCase(),d))}}),b.module("a8m.latinize",[]).filter("latinize",[function(){function a(a){return a.replace(/[^\u0000-\u007E]/g,function(a){return c[a]||a})}for(var b=[{base:"A",letters:"AⒶAÀÁÂẦẤẪẨÃĀĂẰẮẴẲȦǠÄǞẢÅǺǍȀȂẠẬẶḀĄȺⱯ"},{base:"AA",letters:"Ꜳ"},{base:"AE",letters:"ÆǼǢ"},{base:"AO",letters:"Ꜵ"},{base:"AU",letters:"Ꜷ"},{base:"AV",letters:"ꜸꜺ"},{base:"AY",letters:"Ꜽ"},{base:"B",letters:"BⒷBḂḄḆɃƂƁ"},{base:"C",letters:"CⒸCĆĈĊČÇḈƇȻꜾ"},{base:"D",letters:"DⒹDḊĎḌḐḒḎĐƋƊƉꝹ"},{base:"DZ",letters:"DZDŽ"},{base:"Dz",letters:"DzDž"},{base:"E",letters:"EⒺEÈÉÊỀẾỄỂẼĒḔḖĔĖËẺĚȄȆẸỆȨḜĘḘḚƐƎ"},{base:"F",letters:"FⒻFḞƑꝻ"},{base:"G",letters:"GⒼGǴĜḠĞĠǦĢǤƓꞠꝽꝾ"},{base:"H",letters:"HⒽHĤḢḦȞḤḨḪĦⱧⱵꞍ"},{base:"I",letters:"IⒾIÌÍÎĨĪĬİÏḮỈǏȈȊỊĮḬƗ"},{base:"J",letters:"JⒿJĴɈ"},{base:"K",letters:"KⓀKḰǨḲĶḴƘⱩꝀꝂꝄꞢ"},{base:"L",letters:"LⓁLĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ"},{base:"LJ",letters:"LJ"},{base:"Lj",letters:"Lj"},{base:"M",letters:"MⓂMḾṀṂⱮƜ"},{base:"N",letters:"NⓃNǸŃÑṄŇṆŅṊṈȠƝꞐꞤ"},{base:"NJ",letters:"NJ"},{base:"Nj",letters:"Nj"},{base:"O",letters:"OⓄOÒÓÔỒỐỖỔÕṌȬṎŌṐṒŎȮȰÖȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬØǾƆƟꝊꝌ"},{base:"OI",letters:"Ƣ"},{base:"OO",letters:"Ꝏ"},{base:"OU",letters:"Ȣ"},{base:"OE",letters:"\8cŒ"},{base:"oe",letters:"\9cœ"},{base:"P",letters:"PⓅPṔṖƤⱣꝐꝒꝔ"},{base:"Q",letters:"QⓆQꝖꝘɊ"},{base:"R",letters:"RⓇRŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ"},{base:"S",letters:"SⓈSẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ"},{base:"T",letters:"TⓉTṪŤṬȚŢṰṮŦƬƮȾꞆ"},{base:"TZ",letters:"Ꜩ"},{base:"U",letters:"UⓊUÙÚÛŨṸŪṺŬÜǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ"},{base:"V",letters:"VⓋVṼṾƲꝞɅ"},{base:"VY",letters:"Ꝡ"},{base:"W",letters:"WⓌWẀẂŴẆẄẈⱲ"},{base:"X",letters:"XⓍXẊẌ"},{base:"Y",letters:"YⓎYỲÝŶỸȲẎŸỶỴƳɎỾ"},{base:"Z",letters:"ZⓏZŹẐŻŽẒẔƵȤⱿⱫꝢ"},{base:"a",letters:"aⓐaẚàáâầấẫẩãāăằắẵẳȧǡäǟảåǻǎȁȃạậặḁąⱥɐ"},{base:"aa",letters:"ꜳ"},{base:"ae",letters:"æǽǣ"},{base:"ao",letters:"ꜵ"},{base:"au",letters:"ꜷ"},{base:"av",letters:"ꜹꜻ"},{base:"ay",letters:"ꜽ"},{base:"b",letters:"bⓑbḃḅḇƀƃɓ"},{base:"c",letters:"cⓒcćĉċčçḉƈȼꜿↄ"},{base:"d",letters:"dⓓdḋďḍḑḓḏđƌɖɗꝺ"},{base:"dz",letters:"dzdž"},{base:"e",letters:"eⓔeèéêềếễểẽēḕḗĕėëẻěȅȇẹệȩḝęḙḛɇɛǝ"},{base:"f",letters:"fⓕfḟƒꝼ"},{base:"g",letters:"gⓖgǵĝḡğġǧģǥɠꞡᵹꝿ"},{base:"h",letters:"hⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ"},{base:"hv",letters:"ƕ"},{base:"i",letters:"iⓘiìíîĩīĭïḯỉǐȉȋịįḭɨı"},{base:"j",letters:"jⓙjĵǰɉ"},{base:"k",letters:"kⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ"},{base:"l",letters:"lⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ"},{base:"lj",letters:"lj"},{base:"m",letters:"mⓜmḿṁṃɱɯ"},{base:"n",letters:"nⓝnǹńñṅňṇņṋṉƞɲʼnꞑꞥ"},{base:"nj",letters:"nj"},{base:"o",letters:"oⓞoòóôồốỗổõṍȭṏōṑṓŏȯȱöȫỏőǒȍȏơờớỡởợọộǫǭøǿɔꝋꝍɵ"},{base:"oi",letters:"ƣ"},{base:"ou",letters:"ȣ"},{base:"oo",letters:"ꝏ"},{base:"p",letters:"pⓟpṕṗƥᵽꝑꝓꝕ"},{base:"q",letters:"qⓠqɋꝗꝙ"},{base:"r",letters:"rⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ"},{base:"s",letters:"sⓢsßśṥŝṡšṧṣṩșşȿꞩꞅẛ"},{base:"t",letters:"tⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ"},{base:"tz",letters:"ꜩ"},{base:"u",letters:"uⓤuùúûũṹūṻŭüǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ"},{base:"v",letters:"vⓥvṽṿʋꝟʌ"},{base:"vy",letters:"ꝡ"},{base:"w",letters:"wⓦwẁẃŵẇẅẘẉⱳ"},{base:"x",letters:"xⓧxẋẍ"},{base:"y",letters:"yⓨyỳýŷỹȳẏÿỷẙỵƴɏỿ"},{base:"z",letters:"zⓩzźẑżžẓẕƶȥɀⱬꝣ"}],c={},d=0;d<b.length;d++)for(var e=b[d].letters.split(""),f=0;f<e.length;f++)c[e[f]]=b[d].base;return function(b){return A(b)?a(b):b}}]),b.module("a8m.ltrim",[]).filter("ltrim",function(){return function(a,b){var c=b||"\\s";return A(a)?a.replace(new RegExp("^"+c+"+"),""):a}}),b.module("a8m.match",[]).filter("match",function(){return function(a,b,c){var d=new RegExp(b,c);return A(a)?a.match(d):null}}),b.module("a8m.repeat",[]).filter("repeat",[function(){return function(a,b,c){var d=~~b;return A(a)&&d?w(a,--b,c||""):a}}]),b.module("a8m.rtrim",[]).filter("rtrim",function(){return function(a,b){var c=b||"\\s";return A(a)?a.replace(new RegExp(c+"+$"),""):a}}),b.module("a8m.slugify",[]).filter("slugify",[function(){return function(a,b){var c=y(b)?"-":b;return A(a)?a.toLowerCase().replace(/\s+/g,c):a}}]),b.module("a8m.starts-with",[]).filter("startsWith",function(){return function(a,b,c){var d=c||!1;return!A(a)||y(b)?a:(a=d?a:a.toLowerCase(),!a.indexOf(d?b:b.toLowerCase()))}}),b.module("a8m.stringular",[]).filter("stringular",function(){return function(a){var b=Array.prototype.slice.call(arguments,1);return a.replace(/{(\d+)}/g,function(a,c){return y(b[c])?a:b[c]})}}),b.module("a8m.strip-tags",[]).filter("stripTags",function(){return function(a){return A(a)?a.replace(/<\S[^><]*>/g,""):a}}),b.module("a8m.test",[]).filter("test",function(){return function(a,b,c){var d=new RegExp(b,c);return A(a)?d.test(a):a}}),b.module("a8m.trim",[]).filter("trim",function(){return function(a,b){var c=b||"\\s";return A(a)?a.replace(new RegExp("^"+c+"+|"+c+"+$","g"),""):a}}),b.module("a8m.truncate",[]).filter("truncate",function(){return function(a,b,c,d){return b=y(b)?a.length:b,d=d||!1,c=c||"",!A(a)||a.length<=b?a:a.substring(0,d?-1===a.indexOf(" ",b)?a.length:a.indexOf(" ",b):b)+c}}),b.module("a8m.ucfirst",[]).filter("ucfirst",[function(){return function(a){return A(a)?a.split(" ").map(function(a){return a.charAt(0).toUpperCase()+a.substring(1)}).join(" "):a}}]),b.module("a8m.uri-component-encode",[]).filter("uriComponentEncode",["$window",function(a){return function(b){return A(b)?a.encodeURIComponent(b):b}}]),b.module("a8m.uri-encode",[]).filter("uriEncode",["$window",function(a){return function(b){return A(b)?a.encodeURI(b):b}}]),b.module("a8m.wrap",[]).filter("wrap",function(){return function(a,b,c){return A(a)&&x(b)?[b,a,c||b].join(""):a}}),b.module("a8m.filter-watcher",[]).provider("filterWatcher",function(){this.$get=["$window","$rootScope",function(a,b){function c(b,c){function d(){var b=[];return function(c,d){if(C(d)&&!e(d)){if(~b.indexOf(d))return"[Circular]";b.push(d)}return a==d?"$WINDOW":a.document==d?"$DOCUMENT":k(d)?"$SCOPE":d}}return[b,JSON.stringify(c,d())].join("#").replace(/"/g,"")}function d(a){var b=a.targetScope.$id;E(l[b],function(a){delete j[a]}),delete l[b]}function f(){m(function(){b.$$phase||(j={})},2e3)}function g(a,b){var c=a.$id;return y(l[c])&&(a.$on("$destroy",d),l[c]=[]),l[c].push(b)}function h(a,b){var d=c(a,b);return j[d]}function i(a,b,d,e){var h=c(a,b);return j[h]=e,k(d)?g(d,h):f(),e}var j={},l={},m=a.setTimeout;return{isMemoized:h,memoize:i}}]}),b.module("angular.filter",["a8m.ucfirst","a8m.uri-encode","a8m.uri-component-encode","a8m.slugify","a8m.latinize","a8m.strip-tags","a8m.stringular","a8m.truncate","a8m.starts-with","a8m.ends-with","a8m.wrap","a8m.trim","a8m.ltrim","a8m.rtrim","a8m.repeat","a8m.test","a8m.match","a8m.to-array","a8m.concat","a8m.contains","a8m.unique","a8m.is-empty","a8m.after","a8m.after-where","a8m.before","a8m.before-where","a8m.defaults","a8m.where","a8m.reverse","a8m.remove","a8m.remove-with","a8m.group-by","a8m.count-by","a8m.chunk-by","a8m.search-field","a8m.fuzzy-by","a8m.fuzzy","a8m.omit","a8m.pick","a8m.every","a8m.filter-by","a8m.xor","a8m.map","a8m.first","a8m.last","a8m.flatten","a8m.join","a8m.range","a8m.math","a8m.math.max","a8m.math.min","a8m.math.percent","a8m.math.radix","a8m.math.sum","a8m.math.degrees","a8m.math.radians","a8m.math.byteFmt","a8m.math.kbFmt","a8m.math.shortFmt","a8m.angular","a8m.conditions","a8m.is-null","a8m.filter-watcher"])}(window,window.angular),function(a,b,c){"use strict";var d=b.isDefined,e=b.isUndefined,f=b.isNumber,g=b.isObject,h=b.isArray,i=b.extend,j=b.toJson,k=b.module("LocalStorageModule",[]);k.provider("localStorageService",function(){this.prefix="ls",this.storageType="localStorage",this.cookie={expiry:30,path:"/"},this.notify={setItem:!0,removeItem:!1},this.setPrefix=function(a){return this.prefix=a,this},this.setStorageType=function(a){return this.storageType=a,this},this.setStorageCookie=function(a,b){return this.cookie.expiry=a,this.cookie.path=b,this},this.setStorageCookieDomain=function(a){return this.cookie.domain=a,this},this.setNotify=function(a,b){return this.notify={setItem:a,removeItem:b},this},this.$get=["$rootScope","$window","$document","$parse",function(a,b,c,k){var l,m=this,n=m.prefix,o=m.cookie,p=m.notify,q=m.storageType;c?c[0]&&(c=c[0]):c=document,"."!==n.substr(-1)&&(n=n?n+".":"");var r=function(a){return n+a},s=function(){try{var c=q in b&&null!==b[q],d=r("__"+Math.round(1e7*Math.random()));return c&&(l=b[q],l.setItem(d,""),l.removeItem(d)),c}catch(e){return q="cookie",a.$broadcast("LocalStorageModule.notification.error",e.message),!1}}(),t=function(b,c){if(c=e(c)?null:j(c),!s||"cookie"===m.storageType)return s||a.$broadcast("LocalStorageModule.notification.warning","LOCAL_STORAGE_NOT_SUPPORTED"),p.setItem&&a.$broadcast("LocalStorageModule.notification.setitem",{key:b,newvalue:c,storageType:"cookie"}),z(b,c);try{l&&l.setItem(r(b),c),p.setItem&&a.$broadcast("LocalStorageModule.notification.setitem",{key:b,newvalue:c,storageType:m.storageType})}catch(d){return a.$broadcast("LocalStorageModule.notification.error",d.message),z(b,c)}return!0},u=function(b){if(!s||"cookie"===m.storageType)return s||a.$broadcast("LocalStorageModule.notification.warning","LOCAL_STORAGE_NOT_SUPPORTED"),A(b);var c=l?l.getItem(r(b)):null;if(!c||"null"===c)return null;try{return JSON.parse(c)}catch(d){return c}},v=function(){var b,c;for(b=0;b<arguments.length;b++)if(c=arguments[b],s&&"cookie"!==m.storageType)try{l.removeItem(r(c)),p.removeItem&&a.$broadcast("LocalStorageModule.notification.removeitem",{key:c,storageType:m.storageType})}catch(d){a.$broadcast("LocalStorageModule.notification.error",d.message),B(c)}else s||a.$broadcast("LocalStorageModule.notification.warning","LOCAL_STORAGE_NOT_SUPPORTED"),p.removeItem&&a.$broadcast("LocalStorageModule.notification.removeitem",{key:c,storageType:"cookie"}),B(c)},w=function(){if(!s)return a.$broadcast("LocalStorageModule.notification.warning","LOCAL_STORAGE_NOT_SUPPORTED"),!1;var b=n.length,c=[];for(var d in l)if(d.substr(0,b)===n)try{c.push(d.substr(b))}catch(e){return a.$broadcast("LocalStorageModule.notification.error",e.Description),[]}return c},x=function(b){var c=n?new RegExp("^"+n):new RegExp,d=b?new RegExp(b):new RegExp;if(!s||"cookie"===m.storageType)return s||a.$broadcast("LocalStorageModule.notification.warning","LOCAL_STORAGE_NOT_SUPPORTED"),C();var e=n.length;for(var f in l)if(c.test(f)&&d.test(f.substr(e)))try{v(f.substr(e))}catch(g){return a.$broadcast("LocalStorageModule.notification.error",g.message),C()}return!0},y=function(){try{return b.navigator.cookieEnabled||"cookie"in c&&(c.cookie.length>0||(c.cookie="test").indexOf.call(c.cookie,"test")>-1)}catch(d){return a.$broadcast("LocalStorageModule.notification.error",d.message),!1}}(),z=function(b,d,i){if(e(d))return!1;if((h(d)||g(d))&&(d=j(d)),!y)return a.$broadcast("LocalStorageModule.notification.error","COOKIES_NOT_SUPPORTED"),!1;try{var k="",l=new Date,m="";if(null===d?(l.setTime(l.getTime()+-864e5),k="; expires="+l.toGMTString(),d=""):f(i)&&0!==i?(l.setTime(l.getTime()+24*i*60*60*1e3),k="; expires="+l.toGMTString()):0!==o.expiry&&(l.setTime(l.getTime()+24*o.expiry*60*60*1e3),k="; expires="+l.toGMTString()),b){var n="; path="+o.path;o.domain&&(m="; domain="+o.domain),c.cookie=r(b)+"="+encodeURIComponent(d)+k+n+m}}catch(p){return a.$broadcast("LocalStorageModule.notification.error",p.message),!1}return!0},A=function(b){if(!y)return a.$broadcast("LocalStorageModule.notification.error","COOKIES_NOT_SUPPORTED"),!1;for(var d=c.cookie&&c.cookie.split(";")||[],e=0;e<d.length;e++){for(var f=d[e];" "===f.charAt(0);)f=f.substring(1,f.length);if(0===f.indexOf(r(b)+"=")){var g=decodeURIComponent(f.substring(n.length+b.length+1,f.length));try{return JSON.parse(g)}catch(h){return g}}}return null},B=function(a){z(a,null)},C=function(){for(var a=null,b=n.length,d=c.cookie.split(";"),e=0;e<d.length;e++){for(a=d[e];" "===a.charAt(0);)a=a.substring(1,a.length);var f=a.substring(b,a.indexOf("="));B(f)}},D=function(){return q},E=function(a,b,c,e){e=e||b;var f=u(e);return null===f&&d(c)?f=c:g(f)&&g(c)&&(f=i(c,f)),k(b).assign(a,f),a.$watch(b,function(a){t(e,a)},g(a[b]))},F=function(){for(var a=0,c=b[q],d=0;d<c.length;d++)0===c.key(d).indexOf(n)&&a++;return a};return{isSupported:s,getStorageType:D,set:t,add:t,get:u,keys:w,remove:v,clearAll:x,bind:E,deriveKey:r,length:F,cookie:{isSupported:y,set:z,add:z,get:A,remove:B,clearAll:C}}}]})}(window,window.angular),"undefined"!=typeof module&&"undefined"!=typeof exports&&module.exports===exports&&(module.exports="angular-md5"),function(a){a.module("angular-md5",["gdi2290.md5"]),a.module("ngMd5",["gdi2290.md5"]),a.module("gdi2290.md5",["gdi2290.gravatar-filter","gdi2290.md5-service","gdi2290.md5-filter"]),a.module("gdi2290.gravatar-filter",[]).filter("gravatar",["md5",function(a){var b={};return function(c,d){return b[c]||(d=d?a.createHash(d.toString().toLowerCase()):"",b[c]=c?a.createHash(c.toString().toLowerCase()):d),b[c]}}]),a.module("gdi2290.md5-filter",[]).filter("md5",["md5",function(a){return function(b){return b?a.createHash(b.toString().toLowerCase()):b}}]),a.module("gdi2290.md5-service",[]).factory("md5",[function(){var a={createHash:function(a){if(null===a)return null;var b,c,d,e,f,g,h,i,j,k,l=function(a,b){return a<<b|a>>>32-b},m=function(a,b){var c,d,e,f,g;return e=2147483648&a,f=2147483648&b,c=1073741824&a,d=1073741824&b,g=(1073741823&a)+(1073741823&b),c&d?2147483648^g^e^f:c|d?1073741824&g?3221225472^g^e^f:1073741824^g^e^f:g^e^f},n=function(a,b,c){return a&b|~a&c},o=function(a,b,c){return a&c|b&~c},p=function(a,b,c){return a^b^c},q=function(a,b,c){return b^(a|~c)},r=function(a,b,c,d,e,f,g){return a=m(a,m(m(n(b,c,d),e),g)),m(l(a,f),b)},s=function(a,b,c,d,e,f,g){return a=m(a,m(m(o(b,c,d),e),g)),m(l(a,f),b)},t=function(a,b,c,d,e,f,g){return a=m(a,m(m(p(b,c,d),e),g)),m(l(a,f),b)},u=function(a,b,c,d,e,f,g){return a=m(a,m(m(q(b,c,d),e),g)),m(l(a,f),b)},v=function(a){for(var b,c=a.length,d=c+8,e=(d-d%64)/64,f=16*(e+1),g=new Array(f-1),h=0,i=0;c>i;)b=(i-i%4)/4,h=i%4*8,g[b]=g[b]|a.charCodeAt(i)<<h,i++;return b=(i-i%4)/4,h=i%4*8,g[b]=g[b]|128<<h,g[f-2]=c<<3,g[f-1]=c>>>29,g},w=function(a){var b,c,d="",e="";for(c=0;3>=c;c++)b=a>>>8*c&255,e="0"+b.toString(16),d+=e.substr(e.length-2,2);return d},x=[],y=7,z=12,A=17,B=22,C=5,D=9,E=14,F=20,G=4,H=11,I=16,J=23,K=6,L=10,M=15,N=21;for(x=v(a),h=1732584193,i=4023233417,j=2562383102,k=271733878,b=x.length,c=0;b>c;c+=16)d=h,e=i,f=j,g=k,h=r(h,i,j,k,x[c+0],y,3614090360),k=r(k,h,i,j,x[c+1],z,3905402710),j=r(j,k,h,i,x[c+2],A,606105819),i=r(i,j,k,h,x[c+3],B,3250441966),h=r(h,i,j,k,x[c+4],y,4118548399),k=r(k,h,i,j,x[c+5],z,1200080426),j=r(j,k,h,i,x[c+6],A,2821735955),i=r(i,j,k,h,x[c+7],B,4249261313),h=r(h,i,j,k,x[c+8],y,1770035416),k=r(k,h,i,j,x[c+9],z,2336552879),j=r(j,k,h,i,x[c+10],A,4294925233),i=r(i,j,k,h,x[c+11],B,2304563134),h=r(h,i,j,k,x[c+12],y,1804603682),k=r(k,h,i,j,x[c+13],z,4254626195),j=r(j,k,h,i,x[c+14],A,2792965006),i=r(i,j,k,h,x[c+15],B,1236535329),h=s(h,i,j,k,x[c+1],C,4129170786),k=s(k,h,i,j,x[c+6],D,3225465664),j=s(j,k,h,i,x[c+11],E,643717713),i=s(i,j,k,h,x[c+0],F,3921069994),h=s(h,i,j,k,x[c+5],C,3593408605),k=s(k,h,i,j,x[c+10],D,38016083),j=s(j,k,h,i,x[c+15],E,3634488961),i=s(i,j,k,h,x[c+4],F,3889429448),h=s(h,i,j,k,x[c+9],C,568446438),k=s(k,h,i,j,x[c+14],D,3275163606),j=s(j,k,h,i,x[c+3],E,4107603335),i=s(i,j,k,h,x[c+8],F,1163531501),h=s(h,i,j,k,x[c+13],C,2850285829),k=s(k,h,i,j,x[c+2],D,4243563512),j=s(j,k,h,i,x[c+7],E,1735328473),i=s(i,j,k,h,x[c+12],F,2368359562),h=t(h,i,j,k,x[c+5],G,4294588738),k=t(k,h,i,j,x[c+8],H,2272392833),j=t(j,k,h,i,x[c+11],I,1839030562),i=t(i,j,k,h,x[c+14],J,4259657740),h=t(h,i,j,k,x[c+1],G,2763975236),k=t(k,h,i,j,x[c+4],H,1272893353),j=t(j,k,h,i,x[c+7],I,4139469664),i=t(i,j,k,h,x[c+10],J,3200236656),h=t(h,i,j,k,x[c+13],G,681279174),k=t(k,h,i,j,x[c+0],H,3936430074),j=t(j,k,h,i,x[c+3],I,3572445317),i=t(i,j,k,h,x[c+6],J,76029189),h=t(h,i,j,k,x[c+9],G,3654602809),k=t(k,h,i,j,x[c+12],H,3873151461),j=t(j,k,h,i,x[c+15],I,530742520),i=t(i,j,k,h,x[c+2],J,3299628645),h=u(h,i,j,k,x[c+0],K,4096336452),k=u(k,h,i,j,x[c+7],L,1126891415),j=u(j,k,h,i,x[c+14],M,2878612391),i=u(i,j,k,h,x[c+5],N,4237533241),h=u(h,i,j,k,x[c+12],K,1700485571),k=u(k,h,i,j,x[c+3],L,2399980690),j=u(j,k,h,i,x[c+10],M,4293915773),i=u(i,j,k,h,x[c+1],N,2240044497),h=u(h,i,j,k,x[c+8],K,1873313359),k=u(k,h,i,j,x[c+15],L,4264355552),j=u(j,k,h,i,x[c+6],M,2734768916),i=u(i,j,k,h,x[c+13],N,1309151649),h=u(h,i,j,k,x[c+4],K,4149444226),k=u(k,h,i,j,x[c+11],L,3174756917),j=u(j,k,h,i,x[c+2],M,718787259),i=u(i,j,k,h,x[c+9],N,3951481745),h=m(h,d),i=m(i,e),j=m(j,f),k=m(k,g);var O=w(h)+w(i)+w(j)+w(k);return O.toLowerCase()}};return a}])}(angular),angular.module("notification",[]).provider("$notification",$notificationProvider),function(a,b,c){"use strict";function d(a){return null!=a&&""!==a&&"hasOwnProperty"!==a&&h.test("."+a)}function e(a,e){if(!d(e))throw g("badmember",'Dotted member path "@{0}" is invalid.',e);for(var f=e.split("."),h=0,i=f.length;i>h&&b.isDefined(a);h++){var j=f[h];a=null!==a?a[j]:c}return a}function f(a,c){c=c||{},b.forEach(c,function(a,b){delete c[b]});for(var d in a)!a.hasOwnProperty(d)||"$"===d.charAt(0)&&"$"===d.charAt(1)||(c[d]=a[d]);return c}var g=b.$$minErr("$resource"),h=/^(\.[a-zA-Z_$@][0-9a-zA-Z_$@]*)+$/;b.module("ngResource",["ng"]).provider("$resource",function(){var a=/^https?:\/\/[^\/]*/,d=this;this.defaults={stripTrailingSlashes:!0,actions:{get:{method:"GET"},save:{method:"POST"},query:{method:"GET",isArray:!0},remove:{method:"DELETE"},"delete":{method:"DELETE"}}},this.$get=["$http","$q",function(h,i){function j(a){return k(a,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function k(a,b){return encodeURIComponent(a).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,b?"%20":"+")}function l(a,b){this.template=a,this.defaults=p({},d.defaults,b),this.urlParams={}}function m(a,j,k,s){function t(a,b){var c={};return b=p({},j,b),o(b,function(b,d){r(b)&&(b=b()),c[d]=b&&b.charAt&&"@"==b.charAt(0)?e(a,b.substr(1)):b}),c}function u(a){return a.resource}function v(a){f(a||{},this)}var w=new l(a,s);return k=p({},d.defaults.actions,k),v.prototype.toJSON=function(){var a=p({},this);return delete a.$promise,delete a.$resolved,a},o(k,function(a,d){var e=/^(POST|PUT|PATCH)$/i.test(a.method);v[d]=function(j,k,l,m){var s,x,y,z={};switch(arguments.length){case 4:y=m,x=l;case 3:case 2:if(!r(k)){z=j,s=k,x=l;break}if(r(j)){x=j,y=k;break}x=k,y=l;case 1:r(j)?x=j:e?s=j:z=j;break;case 0:break;default:throw g("badargs","Expected up to 4 arguments [params, data, success, error], got {0} arguments",arguments.length)}var A=this instanceof v,B=A?s:a.isArray?[]:new v(s),C={},D=a.interceptor&&a.interceptor.response||u,E=a.interceptor&&a.interceptor.responseError||c;o(a,function(a,b){switch(b){default:C[b]=q(a);break;case"params":case"isArray":case"interceptor":break;case"timeout":C[b]=a}}),e&&(C.data=s),w.setUrlParams(C,p({},t(s,a.params||{}),z),a.url);var F=h(C).then(function(c){var e=c.data,h=B.$promise;if(e){if(b.isArray(e)!==!!a.isArray)throw g("badcfg","Error in resource configuration for action `{0}`. Expected response to contain an {1} but got an {2} (Request: {3} {4})",d,a.isArray?"array":"object",b.isArray(e)?"array":"object",C.method,C.url);a.isArray?(B.length=0,o(e,function(a){"object"==typeof a?B.push(new v(a)):B.push(a)})):(f(e,B),B.$promise=h)}return B.$resolved=!0,c.resource=B,c},function(a){return B.$resolved=!0,(y||n)(a),i.reject(a)});return F=F.then(function(a){var b=D(a);return(x||n)(b,a.headers),b},E),A?F:(B.$promise=F,B.$resolved=!1,B)},v.prototype["$"+d]=function(a,b,c){r(a)&&(c=b,b=a,a={});var e=v[d].call(this,a,this,b,c);return e.$promise||e}}),v.bind=function(b){return m(a,p({},j,b),k)},v}var n=b.noop,o=b.forEach,p=b.extend,q=b.copy,r=b.isFunction;return l.prototype={setUrlParams:function(c,d,e){var f,h,i=this,k=e||i.template,l="",m=i.urlParams={};o(k.split(/\W/),function(a){if("hasOwnProperty"===a)throw g("badname","hasOwnProperty is not a valid parameter name.");!new RegExp("^\\d+$").test(a)&&a&&new RegExp("(^|[^\\\\]):"+a+"(\\W|$)").test(k)&&(m[a]=!0)}),k=k.replace(/\\:/g,":"),k=k.replace(a,function(a){return l=a,""}),d=d||{},o(i.urlParams,function(a,c){f=d.hasOwnProperty(c)?d[c]:i.defaults[c],b.isDefined(f)&&null!==f?(h=j(f),k=k.replace(new RegExp(":"+c+"(\\W|$)","g"),function(a,b){return h+b})):k=k.replace(new RegExp("(/?):"+c+"(\\W|$)","g"),function(a,b,c){return"/"==c.charAt(0)?c:b+c})}),i.defaults.stripTrailingSlashes&&(k=k.replace(/\/+$/,"")||"/"),k=k.replace(/\/\.(?=\w+($|\?))/,"."),c.url=l+k.replace(/\/\\\./,"/."),o(d,function(a,b){i.urlParams[b]||(c.params=c.params||{},c.params[b]=a)})}},m}]})}(window,window.angular),function(a,b,c){"use strict";function d(){this.$get=["$$sanitizeUri",function(a){return function(b){var c=[];return g(b,j(c,function(b,c){return!/^unsafe/.test(a(b,c))})),c.join("")}}]}function e(a){var c=[],d=j(c,b.noop);return d.chars(a),c.join("")}function f(a,c){var d,e={},f=a.split(",");for(d=0;d<f.length;d++)e[c?b.lowercase(f[d]):f[d]]=!0;return e}function g(a,c){function d(a,d,f,g){if(d=b.lowercase(d),z[d])for(;t.last()&&A[t.last()];)e("",t.last());y[d]&&t.last()==d&&e("",d),g=v[d]||!!g,g||t.push(d);var i={};f.replace(n,function(a,b,c,d,e){var f=c||d||e||"";i[b]=h(f)}),c.start&&c.start(d,i,g)}function e(a,d){var e,f=0;if(d=b.lowercase(d))for(f=t.length-1;f>=0&&t[f]!=d;f--);if(f>=0){for(e=t.length-1;e>=f;e--)c.end&&c.end(t[e]);t.length=f}}"string"!=typeof a&&(a=null===a||"undefined"==typeof a?"":""+a);var f,g,i,j,t=[],u=a;for(t.last=function(){return t[t.length-1]};a;){if(j="",g=!0,t.last()&&C[t.last()]?(a=a.replace(new RegExp("([\\W\\w]*)<\\s*\\/\\s*"+t.last()+"[^>]*>","i"),function(a,b){return b=b.replace(q,"$1").replace(s,"$1"),c.chars&&c.chars(h(b)),""}),e("",t.last())):(0===a.indexOf("<!--")?(f=a.indexOf("--",4),f>=0&&a.lastIndexOf("-->",f)===f&&(c.comment&&c.comment(a.substring(4,f)),a=a.substring(f+3),g=!1)):r.test(a)?(i=a.match(r),i&&(a=a.replace(i[0],""),g=!1)):p.test(a)?(i=a.match(m),i&&(a=a.substring(i[0].length),i[0].replace(m,e),g=!1)):o.test(a)&&(i=a.match(l),i?(i[4]&&(a=a.substring(i[0].length),i[0].replace(l,d)),g=!1):(j+="<",a=a.substring(1))),g&&(f=a.indexOf("<"),j+=0>f?a:a.substring(0,f),a=0>f?"":a.substring(f),c.chars&&c.chars(h(j)))),a==u)throw k("badparse","The sanitizer was unable to parse the following block of html: {0}",a);u=a}e()}function h(a){return a?(I.innerHTML=a.replace(/</g,"&lt;"),I.textContent):""}function i(a){return a.replace(/&/g,"&amp;").replace(t,function(a){var b=a.charCodeAt(0),c=a.charCodeAt(1);return"&#"+(1024*(b-55296)+(c-56320)+65536)+";"}).replace(u,function(a){return"&#"+a.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}function j(a,c){var d=!1,e=b.bind(a,a.push);return{start:function(a,f,g){a=b.lowercase(a),!d&&C[a]&&(d=a),d||D[a]!==!0||(e("<"),e(a),b.forEach(f,function(d,f){var g=b.lowercase(f),h="img"===a&&"src"===g||"background"===g;H[g]!==!0||E[g]===!0&&!c(d,h)||(e(" "),e(f),e('="'),e(i(d)),e('"'))}),e(g?"/>":">"))},end:function(a){a=b.lowercase(a),d||D[a]!==!0||(e("</"),e(a),e(">")),a==d&&(d=!1)},chars:function(a){d||e(i(a))}}}var k=b.$$minErr("$sanitize"),l=/^<((?:[a-zA-Z])[\w:-]*)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*(>?)/,m=/^<\/\s*([\w:-]+)[^>]*>/,n=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,o=/^</,p=/^<\//,q=/<!--(.*?)-->/g,r=/<!DOCTYPE([^>]*?)>/i,s=/<!\[CDATA\[(.*?)]]>/g,t=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,u=/([^\#-~| |!])/g,v=f("area,br,col,hr,img,wbr"),w=f("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),x=f("rp,rt"),y=b.extend({},x,w),z=b.extend({},w,f("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,script,section,table,ul")),A=b.extend({},x,f("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var")),B=f("circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph,hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline,radialGradient,rect,stop,svg,switch,text,title,tspan,use"),C=f("script,style"),D=b.extend({},v,z,A,y,B),E=f("background,cite,href,longdesc,src,usemap,xlink:href"),F=f("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,tabindex,target,title,type,valign,value,vspace,width"),G=f("accent-height,accumulate,additive,alphabetic,arabic-form,ascent,baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,underline-thickness,unicode,unicode-range,units-per-em,values,version,viewBox,visibility,width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan",!0),H=b.extend({},E,G,F),I=document.createElement("pre");
+b.module("ngSanitize",[]).provider("$sanitize",d),b.module("ngSanitize").filter("linky",["$sanitize",function(a){var c=/((ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"\u201d\u2019]/i,d=/^mailto:/i;return function(f,g){function h(a){a&&n.push(e(a))}function i(a,c){n.push("<a "),b.isDefined(g)&&n.push('target="',g,'" '),n.push('href="',a.replace(/"/g,"&quot;"),'">'),h(c),n.push("</a>")}if(!f)return f;for(var j,k,l,m=f,n=[];j=m.match(c);)k=j[0],j[2]||j[4]||(k=(j[3]?"http://":"mailto:")+k),l=j.index,h(m.substr(0,l)),i(k,j[0].replace(d,"")),m=m.substring(l+j[0].length);return h(m),a(n.join(""))}}])}(window,window.angular),function(a,b){"use strict";a.module("smart-table",[]).run(["$templateCache",function(a){a.put("template/smart-table/pagination.html",'<nav ng-if="numPages && pages.length >= 2"><ul class="pagination"><li ng-repeat="page in pages" ng-class="{active: page==currentPage}"><a ng-click="selectPage(page)">{{page}}</a></li></ul></nav>')}]),a.module("smart-table").constant("stConfig",{pagination:{template:"template/smart-table/pagination.html",itemsByPage:10,displayedPages:5},search:{delay:400,inputEvent:"input"},select:{mode:"single",selectedClass:"st-selected"},sort:{ascentClass:"st-sort-ascent",descentClass:"st-sort-descent",skipNatural:!1,delay:300},pipe:{delay:100}}),a.module("smart-table").controller("stTableController",["$scope","$parse","$filter","$attrs",function(c,d,e,f){function g(a){return a?[].concat(a):[]}function h(){r=g(j(c)),t===!0&&u.pipe()}function i(a,b){if(-1!=b.indexOf(".")){var c=b.split("."),e=c.pop(),f=c.join("."),g=d(f)(a);delete g[e],0==Object.keys(g).length&&i(a,f)}else delete a[b]}var j,k,l,m=f.stTable,n=d(m),o=n.assign,p=e("orderBy"),q=e("filter"),r=g(n(c)),s={sort:{},search:{},pagination:{start:0,totalItemCount:0}},t=!0,u=this;f.stSafeSrc&&(j=d(f.stSafeSrc),c.$watch(function(){var a=j(c);return a&&a.length?a[0]:b},function(a,b){a!==b&&h()}),c.$watch(function(){var a=j(c);return a?a.length:0},function(a,b){a!==r.length&&h()}),c.$watch(function(){return j(c)},function(a,b){a!==b&&(s.pagination.start=0,h())})),this.sortBy=function(b,c){return s.sort.predicate=b,s.sort.reverse=c===!0,a.isFunction(b)?s.sort.functionName=b.name:delete s.sort.functionName,s.pagination.start=0,this.pipe()},this.search=function(b,c){var e=s.search.predicateObject||{},f=c?c:"$";return b=a.isString(b)?b.trim():b,d(f).assign(e,b),b||i(e,f),s.search.predicateObject=e,s.pagination.start=0,this.pipe()},this.pipe=function(){var a,d=s.pagination;k=s.search.predicateObject?q(r,s.search.predicateObject):r,s.sort.predicate&&(k=p(k,s.sort.predicate,s.sort.reverse)),d.totalItemCount=k.length,d.number!==b&&(d.numberOfPages=k.length>0?Math.ceil(k.length/d.number):1,d.start=d.start>=k.length?(d.numberOfPages-1)*d.number:d.start,a=k.slice(d.start,d.start+parseInt(d.number))),o(c,a||k)},this.select=function(a,d){var e=g(n(c)),f=e.indexOf(a);-1!==f&&("single"===d?(a.isSelected=a.isSelected!==!0,l&&(l.isSelected=!1),l=a.isSelected===!0?a:b):e[f].isSelected=!e[f].isSelected)},this.slice=function(a,b){return s.pagination.start=a,s.pagination.number=b,this.pipe()},this.tableState=function(){return s},this.getFilteredCollection=function(){return k||r},this.setFilterFunction=function(a){q=e(a)},this.setSortFunction=function(a){p=e(a)},this.preventPipeOnWatch=function(){t=!1}}]).directive("stTable",function(){return{restrict:"A",controller:"stTableController",link:function(a,b,c,d){c.stSetFilter&&d.setFilterFunction(c.stSetFilter),c.stSetSort&&d.setSortFunction(c.stSetSort)}}}),a.module("smart-table").directive("stSearch",["stConfig","$timeout","$parse",function(a,b,c){return{require:"^stTable",link:function(d,e,f,g){var h=g,i=null,j=f.stDelay||a.search.delay,k=f.stInputEvent||a.search.inputEvent;f.$observe("stSearch",function(a,b){var c=e[0].value;a!==b&&c&&(g.tableState().search={},h.search(c,a))}),d.$watch(function(){return g.tableState().search},function(a,b){var d=f.stSearch||"$";a.predicateObject&&c(d)(a.predicateObject)!==e[0].value&&(e[0].value=c(d)(a.predicateObject)||"")},!0),e.bind(k,function(a){a=a.originalEvent||a,null!==i&&b.cancel(i),i=b(function(){h.search(a.target.value,f.stSearch||""),i=null},j)})}}}]),a.module("smart-table").directive("stSelectRow",["stConfig",function(a){return{restrict:"A",require:"^stTable",scope:{row:"=stSelectRow"},link:function(b,c,d,e){var f=d.stSelectMode||a.select.mode;c.bind("click",function(){b.$apply(function(){e.select(b.row,f)})}),b.$watch("row.isSelected",function(b){b===!0?c.addClass(a.select.selectedClass):c.removeClass(a.select.selectedClass)})}}}]),a.module("smart-table").directive("stSort",["stConfig","$parse","$timeout",function(c,d,e){return{restrict:"A",require:"^stTable",link:function(f,g,h,i){function j(){n++;var b;l=a.isFunction(m(f))||a.isArray(m(f))?m(f):h.stSort,n%3===0&&!!r!=!0?(n=0,i.tableState().sort={},i.tableState().pagination.start=0,b=i.pipe.bind(i)):b=i.sortBy.bind(i,l,n%2===0),null!==s&&e.cancel(s),0>t?f.$apply(b):s=e(b,t)}var k,l=h.stSort,m=d(l),n=0,o=h.stClassAscent||c.sort.ascentClass,p=h.stClassDescent||c.sort.descentClass,q=[o,p],r=h.stSkipNatural!==b?h.stSkipNatural:c.sort.skipNatural,s=null,t=h.stDelay||c.sort.delay;h.stSortDefault&&(k=f.$eval(h.stSortDefault)!==b?f.$eval(h.stSortDefault):h.stSortDefault),g.bind("click",function(){l&&j()}),k&&(n="reverse"===k?1:0,j()),f.$watch(function(){return i.tableState().sort},function(a){a.predicate!==l?(n=0,g.removeClass(o).removeClass(p)):(n=a.reverse===!0?2:1,g.removeClass(q[n%2]).addClass(q[n-1]))},!0)}}}]),a.module("smart-table").directive("stPagination",["stConfig",function(a){return{restrict:"EA",require:"^stTable",scope:{stItemsByPage:"=?",stDisplayedPages:"=?",stPageChange:"&"},templateUrl:function(b,c){return c.stTemplate?c.stTemplate:a.pagination.template},link:function(b,c,d,e){function f(){var a,c,d=e.tableState().pagination,f=1,g=b.currentPage;for(b.totalItemCount=d.totalItemCount,b.currentPage=Math.floor(d.start/d.number)+1,f=Math.max(f,b.currentPage-Math.abs(Math.floor(b.stDisplayedPages/2))),a=f+b.stDisplayedPages,a>d.numberOfPages&&(a=d.numberOfPages+1,f=Math.max(1,a-b.stDisplayedPages)),b.pages=[],b.numPages=d.numberOfPages,c=f;a>c;c++)b.pages.push(c);g!==b.currentPage&&b.stPageChange({newPage:b.currentPage})}b.stItemsByPage=b.stItemsByPage?+b.stItemsByPage:a.pagination.itemsByPage,b.stDisplayedPages=b.stDisplayedPages?+b.stDisplayedPages:a.pagination.displayedPages,b.currentPage=1,b.pages=[],b.$watch(function(){return e.tableState().pagination},f,!0),b.$watch("stItemsByPage",function(a,c){a!==c&&b.selectPage(1)}),b.$watch("stDisplayedPages",f),b.selectPage=function(a){a>0&&a<=b.numPages&&e.slice((a-1)*b.stItemsByPage,b.stItemsByPage)},e.tableState().pagination.number||e.slice(0,b.stItemsByPage)}}}]),a.module("smart-table").directive("stPipe",["stConfig","$timeout",function(b,c){return{require:"stTable",scope:{stPipe:"="},link:{pre:function(d,e,f,g){var h=null;a.isFunction(d.stPipe)&&(g.preventPipeOnWatch(),g.pipe=function(){return null!==h&&c.cancel(h),h=c(function(){d.stPipe(g.tableState(),g)},b.pipe.delay)})},post:function(a,b,c,d){d.pipe()}}}}])}(angular),angular.module("btford.socket-io",[]).provider("socketFactory",function(){"use strict";var a="socket:";this.$get=["$rootScope","$timeout",function(b,c){var d=function(a,b){return b?function(){var d=arguments;c(function(){b.apply(a,d)},0)}:angular.noop};return function(c){c=c||{};var e=c.ioSocket||io.connect(),f=void 0===c.prefix?a:c.prefix,g=c.scope||b,h=function(a,b){e.on(a,b.__ng=d(e,b))},i=function(a,b){e.once(a,b.__ng=d(e,b))},j={on:h,addListener:h,once:i,emit:function(a,b,c){var f=arguments.length-1,c=arguments[f];return"function"==typeof c&&(c=d(e,c),arguments[f]=c),e.emit.apply(e,arguments)},removeListener:function(a,b){return b&&b.__ng&&(arguments[1]=b.__ng),e.removeListener.apply(e,arguments)},removeAllListeners:function(){return e.removeAllListeners.apply(e,arguments)},disconnect:function(a){return e.disconnect(a)},connect:function(){return e.connect()},forward:function(a,b){a instanceof Array==!1&&(a=[a]),b||(b=g),a.forEach(function(a){var c=f+a,g=d(e,function(){Array.prototype.unshift.call(arguments,c),b.$broadcast.apply(b,arguments)});b.$on("$destroy",function(){e.removeListener(a,g)}),e.on(a,g)})}};return j}}]}),function(){"use strict";function a(a,b,c,d,e,f,g){function h(a){if(1!==arguments.length||a)if(a)m(a.toastId);else for(var b=0;b<t.length;b++)m(t[b].toastId)}function i(a,b,c){var d=o().iconClasses.error;return n(d,a,b,c)}function j(a,b,c){var d=o().iconClasses.info;return n(d,a,b,c)}function k(a,b,c){var d=o().iconClasses.success;return n(d,a,b,c)}function l(a,b,c){var d=o().iconClasses.warning;return n(d,a,b,c)}function m(b,c){function d(a){for(var b=0;b<t.length;b++)if(t[b].toastId===a)return t[b]}function e(){return!t.length}var h=d(b);h&&!h.deleting&&(h.deleting=!0,h.isOpened=!1,a.leave(h.el).then(function(){h.scope.options.onHidden&&h.scope.options.onHidden(c),h.scope.$destroy();var a=t.indexOf(h);delete v[h.scope.message],t.splice(a,1);var b=f.maxOpened;b&&t.length>=b&&t[b-1].open.resolve(),e()&&(r.remove(),r=null,w=g.defer())}))}function n(a,b,c,d){return angular.isObject(c)&&(d=c,c=null),q({iconClass:a,message:b,optionsOverride:d,title:c})}function o(){return angular.extend({},f)}function p(b){if(r)return w.promise;r=angular.element("<div></div>"),r.attr("id",b.containerId),r.addClass(b.positionClass),r.css({"pointer-events":"auto"});var c=angular.element(document.querySelector(b.target));if(!c||!c.length)throw"Target for toasts doesn't exist";return a.enter(r,c).then(function(){w.resolve()}),w.promise}function q(c){function f(){return n.autoDismiss&&n.maxOpened&&t.length>n.maxOpened}function h(a,b,c){c.allowHtml?(a.scope.allowHtml=!0,a.scope.title=e.trustAsHtml(b.title),a.scope.message=e.trustAsHtml(b.message)):(a.scope.title=b.title,a.scope.message=b.message),a.scope.toastType=a.iconClass,a.scope.toastId=a.toastId,a.scope.extraData=c.extraData,a.scope.options={extendedTimeOut:c.extendedTimeOut,messageClass:c.messageClass,onHidden:c.onHidden,onShown:c.onShown,onTap:c.onTap,progressBar:c.progressBar,tapToDismiss:c.tapToDismiss,timeOut:c.timeOut,titleClass:c.titleClass,toastClass:c.toastClass},c.closeButton&&(a.scope.options.closeHtml=c.closeHtml)}function i(){function a(a){for(var b=["containerId","iconClasses","maxOpened","newestOnTop","positionClass","preventDuplicates","preventOpenDuplicates","templates"],c=0,d=b.length;d>c;c++)delete a[b[c]];return a}var b={toastId:s++,isOpened:!1,scope:d.$new(),open:g.defer()};return b.iconClass=c.iconClass,c.optionsOverride&&(angular.extend(n,a(c.optionsOverride)),b.iconClass=c.optionsOverride.iconClass||b.iconClass),h(b,c,n),b.el=j(b.scope),b}function j(a){var c=angular.element("<div toast></div>"),d=b.get("$compile");return d(c)(a)}function k(){return n.maxOpened&&t.length<=n.maxOpened||!n.maxOpened}function l(){var a=n.preventDuplicates&&c.message===u,b=n.preventOpenDuplicates&&v[c.message];return a||b?!0:(u=c.message,v[c.message]=!0,!1)}var n=o();if(!l()){var q=i();if(t.push(q),f())for(var w=t.slice(0,t.length-n.maxOpened),x=0,y=w.length;y>x;x++)m(w[x].toastId);return k()&&q.open.resolve(),q.open.promise.then(function(){p(n).then(function(){if(q.isOpened=!0,n.newestOnTop)a.enter(q.el,r).then(function(){q.scope.init()});else{var b=r[0].lastChild?angular.element(r[0].lastChild):null;a.enter(q.el,r,b).then(function(){q.scope.init()})}})}),q}}var r,s=0,t=[],u="",v={},w=g.defer(),x={clear:h,error:i,info:j,remove:m,success:k,warning:l};return x}angular.module("toastr",[]).factory("toastr",a),a.$inject=["$animate","$injector","$document","$rootScope","$sce","toastrConfig","$q"]}(),function(){"use strict";angular.module("toastr").constant("toastrConfig",{allowHtml:!1,autoDismiss:!1,closeButton:!1,closeHtml:"<button>&times;</button>",containerId:"toast-container",extendedTimeOut:1e3,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},maxOpened:0,messageClass:"toast-message",newestOnTop:!0,onHidden:null,onShown:null,onTap:null,positionClass:"toast-top-right",preventDuplicates:!1,preventOpenDuplicates:!1,progressBar:!1,tapToDismiss:!0,target:"body",templates:{toast:"directives/toast/toast.html",progressbar:"directives/progressbar/progressbar.html"},timeOut:5e3,titleClass:"toast-title",toastClass:"toast"})}(),function(){"use strict";function a(a){function b(a,b,c,d){function e(){var a=(h-(new Date).getTime())/g*100;b.css("width",a+"%")}var f,g,h;d.progressBar=a,a.start=function(a){f&&clearInterval(f),g=parseFloat(a),h=(new Date).getTime()+g,f=setInterval(e,10)},a.stop=function(){f&&clearInterval(f)},a.$on("$destroy",function(){clearInterval(f)})}return{replace:!0,require:"^toast",templateUrl:function(){return a.templates.progressbar},link:b}}angular.module("toastr").directive("progressBar",a),a.$inject=["toastrConfig"]}(),function(){"use strict";function a(){this.progressBar=null,this.startProgressBar=function(a){this.progressBar&&this.progressBar.start(a)},this.stopProgressBar=function(){this.progressBar&&this.progressBar.stop()}}angular.module("toastr").controller("ToastController",a)}(),function(){"use strict";function a(a,b,c,d){function e(c,e,f,g){function h(a){return g.startProgressBar(a),b(function(){g.stopProgressBar(),d.remove(c.toastId)},a,1)}function i(){c.progressBar=!1,g.stopProgressBar()}function j(){return c.options.closeHtml}var k;if(c.toastClass=c.options.toastClass,c.titleClass=c.options.titleClass,c.messageClass=c.options.messageClass,c.progressBar=c.options.progressBar,j()){var l=angular.element(c.options.closeHtml),m=a.get("$compile");l.addClass("toast-close-button"),l.attr("ng-click","close(true, $event)"),m(l)(c),e.prepend(l)}c.init=function(){c.options.timeOut&&(k=h(c.options.timeOut)),c.options.onShown&&c.options.onShown()},e.on("mouseenter",function(){i(),k&&b.cancel(k)}),c.tapToast=function(){angular.isFunction(c.options.onTap)&&c.options.onTap(),c.options.tapToDismiss&&c.close(!0)},c.close=function(a,b){b&&angular.isFunction(b.stopPropagation)&&b.stopPropagation(),d.remove(c.toastId,a)},e.on("mouseleave",function(){(0!==c.options.timeOut||0!==c.options.extendedTimeOut)&&(c.$apply(function(){c.progressBar=c.options.progressBar}),k=h(c.options.extendedTimeOut))})}return{replace:!0,templateUrl:function(){return c.templates.toast},controller:"ToastController",link:e}}angular.module("toastr").directive("toast",a),a.$inject=["$injector","$interval","toastrConfig","toastr"]}(),angular.module("toastr").run(["$templateCache",function(a){a.put("directives/progressbar/progressbar.html",'<div class="toast-progress"></div>\n'),a.put("directives/toast/toast.html",'<div class="{{toastClass}} {{toastType}}" ng-click="tapToast()">\n  <div ng-switch on="allowHtml">\n    <div ng-switch-default ng-if="title" class="{{titleClass}}" aria-label="{{title}}">{{title}}</div>\n    <div ng-switch-default class="{{messageClass}}" aria-label="{{message}}">{{message}}</div>\n    <div ng-switch-when="true" ng-if="title" class="{{titleClass}}" ng-bind-html="title"></div>\n    <div ng-switch-when="true" class="{{messageClass}}" ng-bind-html="message"></div>\n  </div>\n  <progress-bar ng-if="progressBar"></progress-bar>\n</div>\n')}]),function(a,b,c){"use strict";function d(a){return b.lowercase(a.nodeName||a[0]&&a[0].nodeName)}function e(a,c,d){f.directive(a,["$parse","$swipe",function(e,f){var g=75,h=.3,i=30;return function(j,k,l){function m(a){if(!n)return!1;var b=Math.abs(a.y-n.y),d=(a.x-n.x)*c;return o&&g>b&&d>0&&d>i&&h>b/d}var n,o,p=e(l[a]),q=["touch"];b.isDefined(l.ngSwipeDisableMouse)||q.push("mouse"),f.bind(k,{start:function(a,b){n=a,o=!0},cancel:function(a){o=!1},end:function(a,b){m(a)&&j.$apply(function(){k.triggerHandler(d),p(j,{$event:b})})}},q)}}])}var f=b.module("ngTouch",[]);f.factory("$swipe",[function(){function a(a){var b=a.originalEvent||a,c=b.touches&&b.touches.length?b.touches:[b],d=b.changedTouches&&b.changedTouches[0]||c[0];return{x:d.clientX,y:d.clientY}}function c(a,c){var d=[];return b.forEach(a,function(a){var b=e[a][c];b&&d.push(b)}),d.join(" ")}var d=10,e={mouse:{start:"mousedown",move:"mousemove",end:"mouseup"},touch:{start:"touchstart",move:"touchmove",end:"touchend",cancel:"touchcancel"}};return{bind:function(b,e,f){var g,h,i,j,k=!1;f=f||["mouse","touch"],b.on(c(f,"start"),function(b){i=a(b),k=!0,g=0,h=0,j=i,e.start&&e.start(i,b)});var l=c(f,"cancel");l&&b.on(l,function(a){k=!1,e.cancel&&e.cancel(a)}),b.on(c(f,"move"),function(b){if(k&&i){var c=a(b);if(g+=Math.abs(c.x-j.x),h+=Math.abs(c.y-j.y),j=c,!(d>g&&d>h))return h>g?(k=!1,void(e.cancel&&e.cancel(b))):(b.preventDefault(),void(e.move&&e.move(c,b)))}}),b.on(c(f,"end"),function(b){k&&(k=!1,e.end&&e.end(a(b),b))})}}}]),f.config(["$provide",function(a){a.decorator("ngClickDirective",["$delegate",function(a){return a.shift(),a}])}]),f.directive("ngClick",["$parse","$timeout","$rootElement",function(a,c,e){function f(a,b,c,d){return Math.abs(a-c)<q&&Math.abs(b-d)<q}function g(a,b,c){for(var d=0;d<a.length;d+=2)if(f(a[d],a[d+1],b,c))return a.splice(d,d+2),!0;return!1}function h(a){if(!(Date.now()-k>p)){var b=a.touches&&a.touches.length?a.touches:[a],c=b[0].clientX,e=b[0].clientY;1>c&&1>e||m&&m[0]===c&&m[1]===e||(m&&(m=null),"label"===d(a.target)&&(m=[c,e]),g(l,c,e)||(a.stopPropagation(),a.preventDefault(),a.target&&a.target.blur&&a.target.blur()))}}function i(a){var b=a.touches&&a.touches.length?a.touches:[a],d=b[0].clientX,e=b[0].clientY;l.push(d,e),c(function(){for(var a=0;a<l.length;a+=2)if(l[a]==d&&l[a+1]==e)return void l.splice(a,a+2)},p,!1)}function j(a,b){l||(e[0].addEventListener("click",h,!0),e[0].addEventListener("touchstart",i,!0),l=[]),k=Date.now(),g(l,a,b)}var k,l,m,n=750,o=12,p=2500,q=25,r="ng-click-active";return function(c,d,e){function f(){m=!1,d.removeClass(r)}var g,h,i,k,l=a(e.ngClick),m=!1;d.on("touchstart",function(a){m=!0,g=a.target?a.target:a.srcElement,3==g.nodeType&&(g=g.parentNode),d.addClass(r),h=Date.now();var b=a.originalEvent||a,c=b.touches&&b.touches.length?b.touches:[b],e=c[0];i=e.clientX,k=e.clientY}),d.on("touchcancel",function(a){f()}),d.on("touchend",function(a){var c=Date.now()-h,l=a.originalEvent||a,p=l.changedTouches&&l.changedTouches.length?l.changedTouches:l.touches&&l.touches.length?l.touches:[l],q=p[0],r=q.clientX,s=q.clientY,t=Math.sqrt(Math.pow(r-i,2)+Math.pow(s-k,2));m&&n>c&&o>t&&(j(r,s),g&&g.blur(),b.isDefined(e.disabled)&&e.disabled!==!1||d.triggerHandler("click",[a])),f()}),d.onclick=function(a){},d.on("click",function(a,b){c.$apply(function(){l(c,{$event:b||a})})}),d.on("mousedown",function(a){d.addClass(r)}),d.on("mousemove mouseup",function(a){d.removeClass(r)})}}]),e("ngSwipeLeft",-1,"swipeleft"),e("ngSwipeRight",1,"swiperight")}(window,window.angular),function(a,b){"function"==typeof define&&define.amd?define([],function(){return b()}):"object"==typeof exports?module.exports=b():b()}(this,function(){function a(a){"use strict";var b=a.storageKey(),c=a.storage(),d=function(){var d=a.preferredLanguage();angular.isString(d)?a.use(d):c.put(b,a.use())};d.displayName="fallbackFromIncorrectStorageValue",c?c.get(b)?a.use(c.get(b))["catch"](d):d():angular.isString(a.preferredLanguage())&&a.use(a.preferredLanguage())}function b(){"use strict";var a,b,c=null,d=!1,e=!1;b={sanitize:function(a,b){return"text"===b&&(a=g(a)),a},escape:function(a,b){return"text"===b&&(a=f(a)),a},sanitizeParameters:function(a,b){return"params"===b&&(a=h(a,g)),a},escapeParameters:function(a,b){return"params"===b&&(a=h(a,f)),a}},b.escaped=b.escapeParameters,this.addStrategy=function(a,c){return b[a]=c,this},this.removeStrategy=function(a){return delete b[a],this},this.useStrategy=function(a){return d=!0,c=a,this},this.$get=["$injector","$log",function(f,g){var h=function(a,c,d){return angular.forEach(d,function(d){if(angular.isFunction(d))a=d(a,c);else{if(!angular.isFunction(b[d]))throw new Error("pascalprecht.translate.$translateSanitization: Unknown sanitization strategy: '"+d+"'");a=b[d](a,c)}}),a},i=function(){d||e||(g.warn("pascalprecht.translate.$translateSanitization: No sanitization strategy has been configured. This can have serious security implications. See http://angular-translate.github.io/docs/#/guide/19_security for details."),e=!0)};return f.has("$sanitize")&&(a=f.get("$sanitize")),{useStrategy:function(a){return function(b){a.useStrategy(b)}}(this),sanitize:function(a,b,d){if(c||i(),arguments.length<3&&(d=c),!d)return a;var e=angular.isArray(d)?d:[d];return h(a,b,e)}}}];var f=function(a){var b=angular.element("<div></div>");return b.text(a),b.html()},g=function(b){if(!a)throw new Error("pascalprecht.translate.$translateSanitization: Error cannot find $sanitize service. Either include the ngSanitize module (https://docs.angularjs.org/api/ngSanitize) or use a sanitization strategy which does not depend on $sanitize, such as 'escape'.");return a(b)},h=function(a,b){if(angular.isObject(a)){var c=angular.isArray(a)?[]:{};return angular.forEach(a,function(a,d){c[d]=h(a,b)}),c}return angular.isNumber(a)?a:b(a)}}function c(a,b,c,d){"use strict";var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t={},u=[],v=a,w=[],x="translate-cloak",y=!1,z=!1,A=".",B=0,C=!0,D="default",E={"default":function(a){return(a||"").split("-").join("_")},java:function(a){var b=(a||"").split("-").join("_"),c=b.split("_");return c.length>1?c[0].toLowerCase()+"_"+c[1].toUpperCase():b},bcp47:function(a){var b=(a||"").split("_").join("-"),c=b.split("-");return c.length>1?c[0].toLowerCase()+"-"+c[1].toUpperCase():b}},F="2.7.2",G=function(){if(angular.isFunction(d.getLocale))return d.getLocale();var a,c,e=b.$get().navigator,f=["language","browserLanguage","systemLanguage","userLanguage"];if(angular.isArray(e.languages))for(a=0;a<e.languages.length;a++)if(c=e.languages[a],c&&c.length)return c;for(a=0;a<f.length;a++)if(c=e[f[a]],c&&c.length)return c;return null};G.displayName="angular-translate/service: getFirstBrowserLanguage";var H=function(){var a=G()||"";return E[D]&&(a=E[D](a)),a};H.displayName="angular-translate/service: getLocale";var I=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},J=function(){return this.toString().replace(/^\s+|\s+$/g,"")},K=function(a){for(var b=[],c=angular.lowercase(a),d=0,e=u.length;e>d;d++)b.push(angular.lowercase(u[d]));if(I(b,c)>-1)return a;if(f){var g;for(var h in f){var i=!1,j=Object.prototype.hasOwnProperty.call(f,h)&&angular.lowercase(h)===angular.lowercase(a);if("*"===h.slice(-1)&&(i=h.slice(0,-1)===a.slice(0,h.length-1)),(j||i)&&(g=f[h],I(b,angular.lowercase(g))>-1))return g}}if(a){var k=a.split("_");if(k.length>1&&I(b,angular.lowercase(k[0]))>-1)return k[0]}return a},L=function(a,b){if(!a&&!b)return t;if(a&&!b){if(angular.isString(a))return t[a]}else angular.isObject(t[a])||(t[a]={}),angular.extend(t[a],M(b));return this};this.translations=L,this.cloakClassName=function(a){return a?(x=a,this):x};var M=function(a,b,c,d){var e,f,g,h;b||(b=[]),c||(c={});for(e in a)Object.prototype.hasOwnProperty.call(a,e)&&(h=a[e],angular.isObject(h)?M(h,b.concat(e),c,e):(f=b.length?""+b.join(A)+A+e:e,b.length&&e===d&&(g=""+b.join(A),c[g]="@:"+f),c[f]=h));return c};M.displayName="flatObject",this.addInterpolation=function(a){return w.push(a),this},this.useMessageFormatInterpolation=function(){return this.useInterpolation("$translateMessageFormatInterpolation")},this.useInterpolation=function(a){return n=a,this},this.useSanitizeValueStrategy=function(a){return c.useStrategy(a),this},this.preferredLanguage=function(a){return N(a),this};var N=function(a){return a&&(e=a),e};this.translationNotFoundIndicator=function(a){return this.translationNotFoundIndicatorLeft(a),this.translationNotFoundIndicatorRight(a),this},this.translationNotFoundIndicatorLeft=function(a){return a?(q=a,this):q},this.translationNotFoundIndicatorRight=function(a){return a?(r=a,this):r},this.fallbackLanguage=function(a){return O(a),this};var O=function(a){return a?(angular.isString(a)?(h=!0,g=[a]):angular.isArray(a)&&(h=!1,g=a),angular.isString(e)&&I(g,e)<0&&g.push(e),this):h?g[0]:g};this.use=function(a){if(a){if(!t[a]&&!o)throw new Error("$translateProvider couldn't find translationTable for langKey: '"+a+"'");return i=a,this}return i};var P=function(a){return a?(v=a,this):l?l+v:v};this.storageKey=P,this.useUrlLoader=function(a,b){return this.useLoader("$translateUrlLoader",angular.extend({url:a},b))},this.useStaticFilesLoader=function(a){return this.useLoader("$translateStaticFilesLoader",a)},this.useLoader=function(a,b){return o=a,p=b||{},this},this.useLocalStorage=function(){return this.useStorage("$translateLocalStorage")},this.useCookieStorage=function(){return this.useStorage("$translateCookieStorage")},this.useStorage=function(a){return k=a,this},this.storagePrefix=function(a){return a?(l=a,this):a},this.useMissingTranslationHandlerLog=function(){return this.useMissingTranslationHandler("$translateMissingTranslationHandlerLog")},this.useMissingTranslationHandler=function(a){return m=a,this},this.usePostCompiling=function(a){return y=!!a,this},this.forceAsyncReload=function(a){return z=!!a,this},this.uniformLanguageTag=function(a){return a?angular.isString(a)&&(a={standard:a}):a={},D=a.standard,this},this.determinePreferredLanguage=function(a){var b=a&&angular.isFunction(a)?a():H();return e=u.length?K(b):b,this},this.registerAvailableLanguageKeys=function(a,b){return a?(u=a,b&&(f=b),this):u},this.useLoaderCache=function(a){return a===!1?s=void 0:a===!0?s=!0:"undefined"==typeof a?s="$translationCache":a&&(s=a),this},this.directivePriority=function(a){return void 0===a?B:(B=a,this)},this.statefulFilter=function(a){return void 0===a?C:(C=a,this)},this.$get=["$log","$injector","$rootScope","$q",function(a,b,c,d){var f,l,u,A=b.get(n||"$translateDefaultInterpolation"),D=!1,E={},G={},H=function(a,b,c,h){if(angular.isArray(a)){var j=function(a){for(var e={},f=[],g=function(a){var f=d.defer(),g=function(b){e[a]=b,f.resolve([a,b])};return H(a,b,c,h).then(g,g),f.promise},i=0,j=a.length;j>i;i++)f.push(g(a[i]));return d.all(f).then(function(){return e})};return j(a)}var m=d.defer();a&&(a=J.apply(a));var n=function(){var a=e?G[e]:G[i];if(l=0,k&&!a){var b=f.get(v);if(a=G[b],g&&g.length){var c=I(g,b);l=0===c?1:0,I(g,e)<0&&g.push(e)}}return a}();if(n){var o=function(){aa(a,b,c,h).then(m.resolve,m.reject)};o.displayName="promiseResolved",n["finally"](o,m.reject)}else aa(a,b,c,h).then(m.resolve,m.reject);return m.promise},Q=function(a){return q&&(a=[q,a].join(" ")),r&&(a=[a,r].join(" ")),a},R=function(a){i=a,c.$emit("$translateChangeSuccess",{language:a}),k&&f.put(H.storageKey(),i),A.setLocale(i);var b=function(a,b){E[b].setLocale(i)};b.displayName="eachInterpolatorLocaleSetter",angular.forEach(E,b),c.$emit("$translateChangeEnd",{language:a})},S=function(a){if(!a)throw"No language key specified for loading.";var e=d.defer();c.$emit("$translateLoadingStart",{language:a}),D=!0;var f=s;"string"==typeof f&&(f=b.get(f));var g=angular.extend({},p,{key:a,$http:angular.extend({},{cache:f},p.$http)}),h=function(b){var d={};c.$emit("$translateLoadingSuccess",{language:a}),angular.isArray(b)?angular.forEach(b,function(a){angular.extend(d,M(a))}):angular.extend(d,M(b)),D=!1,e.resolve({key:a,table:d}),c.$emit("$translateLoadingEnd",{language:a})};h.displayName="onLoaderSuccess";var i=function(a){c.$emit("$translateLoadingError",{language:a}),e.reject(a),c.$emit("$translateLoadingEnd",{language:a})};return i.displayName="onLoaderError",b.get(o)(g).then(h,i),e.promise};if(k&&(f=b.get(k),!f.get||!f.put))throw new Error("Couldn't use storage '"+k+"', missing get() or put() method!");if(w.length){var T=function(a){var c=b.get(a);c.setLocale(e||i),E[c.getInterpolationIdentifier()]=c};T.displayName="interpolationFactoryAdder",angular.forEach(w,T)}var U=function(a){var b=d.defer();if(Object.prototype.hasOwnProperty.call(t,a))b.resolve(t[a]);else if(G[a]){var c=function(a){L(a.key,a.table),b.resolve(a.table)};c.displayName="translationTableResolver",G[a].then(c,b.reject)}else b.reject();return b.promise},V=function(a,b,c,e){var f=d.defer(),g=function(d){if(Object.prototype.hasOwnProperty.call(d,b)){e.setLocale(a);var g=d[b];"@:"===g.substr(0,2)?V(a,g.substr(2),c,e).then(f.resolve,f.reject):f.resolve(e.interpolate(d[b],c)),e.setLocale(i)}else f.reject()};return g.displayName="fallbackTranslationResolver",U(a).then(g,f.reject),f.promise},W=function(a,b,c,d){var e,f=t[a];if(f&&Object.prototype.hasOwnProperty.call(f,b)){if(d.setLocale(a),e=d.interpolate(f[b],c),"@:"===e.substr(0,2))return W(a,e.substr(2),c,d);d.setLocale(i)}return e},X=function(a,c){if(m){var d=b.get(m)(a,i,c);return void 0!==d?d:a}return a},Y=function(a,b,c,e,f){var h=d.defer();if(a<g.length){var i=g[a];V(i,b,c,e).then(h.resolve,function(){Y(a+1,b,c,e,f).then(h.resolve)})}else f?h.resolve(f):h.resolve(X(b,c));return h.promise},Z=function(a,b,c,d){var e;if(a<g.length){var f=g[a];e=W(f,b,c,d),e||(e=Z(a+1,b,c,d))}return e},$=function(a,b,c,d){return Y(u>0?u:l,a,b,c,d)},_=function(a,b,c){return Z(u>0?u:l,a,b,c)},aa=function(a,b,c,e){var f=d.defer(),h=i?t[i]:t,j=c?E[c]:A;if(h&&Object.prototype.hasOwnProperty.call(h,a)){var k=h[a];"@:"===k.substr(0,2)?H(k.substr(2),b,c,e).then(f.resolve,f.reject):f.resolve(j.interpolate(k,b))}else{var l;m&&!D&&(l=X(a,b)),i&&g&&g.length?$(a,b,j,e).then(function(a){f.resolve(a)},function(a){f.reject(Q(a))}):m&&!D&&l?e?f.resolve(e):f.resolve(l):e?f.resolve(e):f.reject(Q(a))}return f.promise},ba=function(a,b,c){var d,e=i?t[i]:t,f=A;if(E&&Object.prototype.hasOwnProperty.call(E,c)&&(f=E[c]),e&&Object.prototype.hasOwnProperty.call(e,a)){var h=e[a];d="@:"===h.substr(0,2)?ba(h.substr(2),b,c):f.interpolate(h,b)}else{var j;m&&!D&&(j=X(a,b)),i&&g&&g.length?(l=0,d=_(a,b,f)):d=m&&!D&&j?j:Q(a)}return d},ca=function(a){j===a&&(j=void 0),G[a]=void 0};if(H.preferredLanguage=function(a){return a&&N(a),e},H.cloakClassName=function(){return x},H.fallbackLanguage=function(a){if(void 0!==a&&null!==a){if(O(a),o&&g&&g.length)for(var b=0,c=g.length;c>b;b++)G[g[b]]||(G[g[b]]=S(g[b]));H.use(H.use())}return h?g[0]:g},H.useFallbackLanguage=function(a){if(void 0!==a&&null!==a)if(a){var b=I(g,a);b>-1&&(u=b)}else u=0},H.proposedLanguage=function(){return j},H.storage=function(){return f},H.use=function(a){if(!a)return i;var b=d.defer();c.$emit("$translateChangeStart",{language:a});var e=K(a);return e&&(a=e),!z&&t[a]||!o||G[a]?j===a&&G[a]?G[a].then(function(a){return b.resolve(a.key),a},function(a){return b.reject(a),d.reject(a)}):(b.resolve(a),R(a)):(j=a,G[a]=S(a).then(function(a){return L(a.key,a.table),b.resolve(a.key),R(a.key),a},function(a){return c.$emit("$translateChangeError",{language:a}),b.reject(a),c.$emit("$translateChangeEnd",{language:a}),d.reject(a)}),G[a]["finally"](function(){ca(a)})),b.promise},H.storageKey=function(){return P()},H.isPostCompilingEnabled=function(){return y},H.isForceAsyncReloadEnabled=function(){return z},H.refresh=function(a){function b(){f.resolve(),c.$emit("$translateRefreshEnd",{language:a})}function e(){f.reject(),c.$emit("$translateRefreshEnd",{language:a})}if(!o)throw new Error("Couldn't refresh translation table, no loader registered!");var f=d.defer();if(c.$emit("$translateRefreshStart",{language:a}),a)if(t[a]){var h=function(c){L(c.key,c.table),a===i&&R(i),b()};h.displayName="refreshPostProcessor",S(a).then(h,e)}else e();else{var j=[],k={};if(g&&g.length)for(var l=0,m=g.length;m>l;l++)j.push(S(g[l])),k[g[l]]=!0;i&&!k[i]&&j.push(S(i));var n=function(a){t={},angular.forEach(a,function(a){L(a.key,a.table)}),i&&R(i),b()};n.displayName="refreshPostProcessor",d.all(j).then(n,e)}return f.promise},H.instant=function(a,b,c){if(null===a||angular.isUndefined(a))return a;if(angular.isArray(a)){for(var d={},f=0,h=a.length;h>f;f++)d[a[f]]=H.instant(a[f],b,c);return d}if(angular.isString(a)&&a.length<1)return a;a&&(a=J.apply(a));var j,k=[];e&&k.push(e),i&&k.push(i),g&&g.length&&(k=k.concat(g));for(var l=0,n=k.length;n>l;l++){var o=k[l];if(t[o]&&("undefined"!=typeof t[o][a]?j=ba(a,b,c):(q||r)&&(j=Q(a))),"undefined"!=typeof j)break}return j||""===j||(j=A.interpolate(a,b),
+m&&!D&&(j=X(a,b))),j},H.versionInfo=function(){return F},H.loaderCache=function(){return s},H.directivePriority=function(){return B},H.statefulFilter=function(){return C},o&&(angular.equals(t,{})&&H.use(H.use()),g&&g.length))for(var da=function(a){return L(a.key,a.table),c.$emit("$translateChangeEnd",{language:a.key}),a},ea=0,fa=g.length;fa>ea;ea++){var ga=g[ea];(z||!t[ga])&&(G[ga]=S(ga).then(da))}return H}]}function d(a,b){"use strict";var c,d={},e="default";return d.setLocale=function(a){c=a},d.getInterpolationIdentifier=function(){return e},d.useSanitizeValueStrategy=function(a){return b.useStrategy(a),this},d.interpolate=function(c,d){d=d||{},d=b.sanitize(d,"params");var e=a(c)(d);return e=b.sanitize(e,"text")},d}function e(a,b,c,d,e,f){"use strict";var g=function(){return this.toString().replace(/^\s+|\s+$/g,"")};return{restrict:"AE",scope:!0,priority:a.directivePriority(),compile:function(b,h){var i=h.translateValues?h.translateValues:void 0,j=h.translateInterpolation?h.translateInterpolation:void 0,k=b[0].outerHTML.match(/translate-value-+/i),l="^(.*)("+c.startSymbol()+".*"+c.endSymbol()+")(.*)",m="^(.*)"+c.startSymbol()+"(.*)"+c.endSymbol()+"(.*)";return function(b,n,o){b.interpolateParams={},b.preText="",b.postText="";var p={},q=function(a,c,d){if(c.translateValues&&angular.extend(a,e(c.translateValues)(b.$parent)),k)for(var f in d)if(Object.prototype.hasOwnProperty.call(c,f)&&"translateValue"===f.substr(0,14)&&"translateValues"!==f){var g=angular.lowercase(f.substr(14,1))+f.substr(15);a[g]=d[f]}},r=function(a){if(angular.isFunction(r._unwatchOld)&&(r._unwatchOld(),r._unwatchOld=void 0),angular.equals(a,"")||!angular.isDefined(a)){var d=g.apply(n.text()).match(l);if(angular.isArray(d)){b.preText=d[1],b.postText=d[3],p.translate=c(d[2])(b.$parent);var e=n.text().match(m);angular.isArray(e)&&e[2]&&e[2].length&&(r._unwatchOld=b.$watch(e[2],function(a){p.translate=a,x()}))}else p.translate=n.text().replace(/^\s+|\s+$/g,"")}else p.translate=a;x()},s=function(a){o.$observe(a,function(b){p[a]=b,x()})};q(b.interpolateParams,o,h);var t=!0;o.$observe("translate",function(a){"undefined"==typeof a?r(""):""===a&&t||(p.translate=a,x()),t=!1});for(var u in o)o.hasOwnProperty(u)&&"translateAttr"===u.substr(0,13)&&s(u);if(o.$observe("translateDefault",function(a){b.defaultText=a}),i&&o.$observe("translateValues",function(a){a&&b.$parent.$watch(function(){angular.extend(b.interpolateParams,e(a)(b.$parent))})}),k){var v=function(a){o.$observe(a,function(c){var d=angular.lowercase(a.substr(14,1))+a.substr(15);b.interpolateParams[d]=c})};for(var w in o)Object.prototype.hasOwnProperty.call(o,w)&&"translateValue"===w.substr(0,14)&&"translateValues"!==w&&v(w)}var x=function(){for(var a in p)p.hasOwnProperty(a)&&void 0!==p[a]&&y(a,p[a],b,b.interpolateParams,b.defaultText)},y=function(b,c,d,e,f){c?a(c,e,j,f).then(function(a){z(a,d,!0,b)},function(a){z(a,d,!1,b)}):z(c,d,!1,b)},z=function(b,c,e,f){if("translate"===f){e||"undefined"==typeof c.defaultText||(b=c.defaultText),n.html(c.preText+b+c.postText);var g=a.isPostCompilingEnabled(),i="undefined"!=typeof h.translateCompile,j=i&&"false"!==h.translateCompile;(g&&!i||j)&&d(n.contents())(c)}else{e||"undefined"==typeof c.defaultText||(b=c.defaultText);var k=o.$attr[f];"data-"===k.substr(0,5)&&(k=k.substr(5)),k=k.substr(15),n.attr(k,b)}};(i||k||o.translateDefault)&&b.$watch("interpolateParams",x,!0);var A=f.$on("$translateChangeSuccess",x);n.text().length?r(o.translate?o.translate:""):o.translate&&r(o.translate),x(),b.$on("$destroy",A)}}}}function f(a,b){"use strict";return{compile:function(c){var d=function(){c.addClass(b.cloakClassName())},e=function(){c.removeClass(b.cloakClassName())},f=a.$on("$translateChangeEnd",function(){e(),f(),f=null});return d(),function(a,c,f){f.translateCloak&&f.translateCloak.length&&f.$observe("translateCloak",function(a){b(a).then(e,d)})}}}}function g(a,b){"use strict";var c=function(c,d,e){return angular.isObject(d)||(d=a(d)(this)),b.instant(c,d,e)};return b.statefulFilter()&&(c.$stateful=!0),c}function h(a){"use strict";return a("translations")}return angular.module("pascalprecht.translate",["ng"]).run(a),a.$inject=["$translate"],a.displayName="runTranslate",angular.module("pascalprecht.translate").provider("$translateSanitization",b),angular.module("pascalprecht.translate").constant("pascalprechtTranslateOverrider",{}).provider("$translate",c),c.$inject=["$STORAGE_KEY","$windowProvider","$translateSanitizationProvider","pascalprechtTranslateOverrider"],c.displayName="displayName",angular.module("pascalprecht.translate").factory("$translateDefaultInterpolation",d),d.$inject=["$interpolate","$translateSanitization"],d.displayName="$translateDefaultInterpolation",angular.module("pascalprecht.translate").constant("$STORAGE_KEY","NG_TRANSLATE_LANG_KEY"),angular.module("pascalprecht.translate").directive("translate",e),e.$inject=["$translate","$q","$interpolate","$compile","$parse","$rootScope"],e.displayName="translateDirective",angular.module("pascalprecht.translate").directive("translateCloak",f),f.$inject=["$rootScope","$translate"],f.displayName="translateCloakDirective",angular.module("pascalprecht.translate").filter("translate",g),g.$inject=["$parse","$translate"],g.displayName="translateFilterFactory",angular.module("pascalprecht.translate").factory("$translationCache",h),h.$inject=["$cacheFactory"],h.displayName="$translationCache","pascalprecht.translate"}),function(a,b){"function"==typeof define&&define.amd?define([],function(){return b()}):"object"==typeof exports?module.exports=b():b()}(this,function(){function a(a,b){"use strict";return function(c){if(!(c&&(angular.isArray(c.files)||angular.isString(c.prefix)&&angular.isString(c.suffix))))throw new Error("Couldn't load static files, no files and prefix or suffix specified!");c.files||(c.files=[{prefix:c.prefix,suffix:c.suffix}]);for(var d=function(d){if(!d||!angular.isString(d.prefix)||!angular.isString(d.suffix))throw new Error("Couldn't load static file, no prefix or suffix specified!");var e=a.defer();return b(angular.extend({url:[d.prefix,c.key,d.suffix].join(""),method:"GET",params:""},c.$http)).success(function(a){e.resolve(a)}).error(function(){e.reject(c.key)}),e.promise},e=a.defer(),f=[],g=c.files.length,h=0;g>h;h++)f.push(d({prefix:c.files[h].prefix,key:c.key,suffix:c.files[h].suffix}));return a.all(f).then(function(a){for(var b=a.length,c={},d=0;b>d;d++)for(var f in a[d])c[f]=a[d][f];e.resolve(c)},function(a){e.reject(a)}),e.promise}}return angular.module("pascalprecht.translate").factory("$translateStaticFilesLoader",a),a.$inject=["$q","$http"],a.displayName="$translateStaticFilesLoader","pascalprecht.translate"}),function(a,b){"function"==typeof define&&define.amd?define([],function(){return b()}):"object"==typeof exports?module.exports=b():b()}(this,function(){function a(a){"use strict";var b={get:function(b){return a.get(b)},set:function(b,c){a.put(b,c)},put:function(b,c){a.put(b,c)}};return b}return angular.module("pascalprecht.translate").factory("$translateCookieStorage",a),a.$inject=["$cookieStore"],a.displayName="$translateCookieStorage","pascalprecht.translate"}),function(a,b){"function"==typeof define&&define.amd?define([],function(){return b()}):"object"==typeof exports?module.exports=b():b()}(this,function(){function a(a,b){"use strict";var c=function(){var b;return{get:function(c){return b||(b=a.localStorage.getItem(c)),b},set:function(c,d){b=d,a.localStorage.setItem(c,d)},put:function(c,d){b=d,a.localStorage.setItem(c,d)}}}(),d="localStorage"in a;if(d){var e="pascalprecht.translate.storageTest";try{null!==a.localStorage?(a.localStorage.setItem(e,"foo"),a.localStorage.removeItem(e),d=!0):d=!1}catch(f){d=!1}}var g=d?c:b;return g}return angular.module("pascalprecht.translate").factory("$translateLocalStorage",a),a.$inject=["$window","$translateCookieStorage"],a.displayName="$translateLocalStorageFactory","pascalprecht.translate"}),angular.module("truncate",[]).filter("characters",function(){return function(a,b,c){if(isNaN(b))return a;if(0>=b)return"";if(a&&a.length>b){if(a=a.substring(0,b),c)for(;" "===a.charAt(a.length-1);)a=a.substr(0,a.length-1);else{var d=a.lastIndexOf(" ");-1!==d&&(a=a.substr(0,d))}return a+"…"}return a}}).filter("splitcharacters",function(){return function(a,b){if(isNaN(b))return a;if(0>=b)return"";if(a&&a.length>b){var c=a.substring(0,b/2),d=a.substring(a.length-b/2,a.length);return c+"..."+d}return a}}).filter("words",function(){return function(a,b){if(isNaN(b))return a;if(0>=b)return"";if(a){var c=a.split(/\s+/);c.length>b&&(a=c.slice(0,b).join(" ")+"…")}return a}}),angular.module("ui-notification",[]),angular.module("ui-notification").provider("Notification",function(){this.options={delay:5e3,startTop:10,startRight:10,verticalSpacing:10,horizontalSpacing:10,positionX:"right",positionY:"top",replaceMessage:!1,templateUrl:"angular-ui-notification.html"},this.setOptions=function(a){if(!angular.isObject(a))throw new Error("Options should be an object!");this.options=angular.extend({},this.options,a)},this.$get=["$timeout","$http","$compile","$templateCache","$rootScope","$injector","$sce","$q","$window",function(a,b,c,d,e,f,g,h,i){var j=this.options,k=j.startTop,l=j.startRight,m=j.verticalSpacing,n=j.horizontalSpacing,o=j.delay,p=[],q=!1,r=function(f,r){var s=h.defer();return"object"!=typeof f&&(f={message:f}),f.scope=f.scope?f.scope:e,f.template=f.templateUrl?f.templateUrl:j.templateUrl,f.delay=angular.isUndefined(f.delay)?o:f.delay,f.type=r?r:"",f.positionY=f.positionY?f.positionY:j.positionY,f.positionX=f.positionX?f.positionX:j.positionX,f.replaceMessage=f.replaceMessage?f.replaceMessage:j.replaceMessage,b.get(f.template,{cache:d}).success(function(b){var d=f.scope.$new();d.message=g.trustAsHtml(f.message),d.title=g.trustAsHtml(f.title),d.t=f.type.substr(0,1),d.delay=f.delay;var e=function(){for(var a=0,b=0,c=k,d=l,e=[],g=p.length-1;g>=0;g--){var h=p[g];if(f.replaceMessage&&g<p.length-1)h.addClass("killed");else{var i=parseInt(h[0].offsetHeight),j=parseInt(h[0].offsetWidth),o=e[h._positionY+h._positionX];q+i>window.innerHeight&&(o=k,b++,a=0);var q=c=o?0===a?o:o+m:k,r=d+b*(n+j);h.css(h._positionY,q+"px"),"center"==h._positionX?h.css("left",parseInt(window.innerWidth/2-j/2)+"px"):h.css(h._positionX,r+"px"),e[h._positionY+h._positionX]=q+i,a++}}},h=c(b)(d);h._positionY=f.positionY,h._positionX=f.positionX,h.addClass(f.type),h.bind("webkitTransitionEnd oTransitionEnd otransitionend transitionend msTransitionEnd click",function(a){a=a.originalEvent||a,("click"===a.type||"opacity"===a.propertyName&&a.elapsedTime>=1)&&(h.remove(),p.splice(p.indexOf(h),1),e())}),angular.isNumber(f.delay)&&a(function(){h.addClass("killed")},f.delay),angular.element(document.getElementsByTagName("body")).append(h);var j=-(parseInt(h[0].offsetHeight)+50);h.css(h._positionY,j+"px"),p.push(h),d._templateElement=h,d.kill=function(b){b?(p.splice(p.indexOf(d._templateElement),1),d._templateElement.remove(),a(e)):d._templateElement.addClass("killed")},a(e),q||(angular.element(i).bind("resize",function(){a(e)}),q=!0),s.resolve(d)}).error(function(a){throw new Error("Template ("+f.template+") could not be loaded. "+a)}),s.promise};return r.primary=function(a){return this(a,"primary")},r.error=function(a){return this(a,"error")},r.success=function(a){return this(a,"success")},r.info=function(a){return this(a,"info")},r.warning=function(a){return this(a,"warning")},r.clearAll=function(){angular.forEach(p,function(a){a.addClass("killed")})},r}]}),angular.module("ui-notification").run(["$templateCache",function(a){a.put("angular-ui-notification.html",'<div class="ui-notification"><h3 ng-show="title" ng-bind-html="title"></h3><div class="message" ng-bind-html="message"></div></div>')}]),"undefined"!=typeof module&&"undefined"!=typeof exports&&module.exports===exports&&(module.exports="ui.router"),function(a,b,c){"use strict";function d(a,b){return N(new(N(function(){},{prototype:a})),b)}function e(a){return M(arguments,function(b){b!==a&&M(b,function(b,c){a.hasOwnProperty(c)||(a[c]=b)})}),a}function f(a,b){var c=[];for(var d in a.path){if(a.path[d]!==b.path[d])break;c.push(a.path[d])}return c}function g(a){if(Object.keys)return Object.keys(a);var b=[];return M(a,function(a,c){b.push(c)}),b}function h(a,b){if(Array.prototype.indexOf)return a.indexOf(b,Number(arguments[2])||0);var c=a.length>>>0,d=Number(arguments[2])||0;for(d=0>d?Math.ceil(d):Math.floor(d),0>d&&(d+=c);c>d;d++)if(d in a&&a[d]===b)return d;return-1}function i(a,b,c,d){var e,i=f(c,d),j={},k=[];for(var l in i)if(i[l].params&&(e=g(i[l].params),e.length))for(var m in e)h(k,e[m])>=0||(k.push(e[m]),j[e[m]]=a[e[m]]);return N({},j,b)}function j(a,b,c){if(!c){c=[];for(var d in a)c.push(d)}for(var e=0;e<c.length;e++){var f=c[e];if(a[f]!=b[f])return!1}return!0}function k(a,b){var c={};return M(a,function(a){c[a]=b[a]}),c}function l(a){var b={},c=Array.prototype.concat.apply(Array.prototype,Array.prototype.slice.call(arguments,1));return M(c,function(c){c in a&&(b[c]=a[c])}),b}function m(a){var b={},c=Array.prototype.concat.apply(Array.prototype,Array.prototype.slice.call(arguments,1));for(var d in a)-1==h(c,d)&&(b[d]=a[d]);return b}function n(a,b){var c=L(a),d=c?[]:{};return M(a,function(a,e){b(a,e)&&(d[c?d.length:e]=a)}),d}function o(a,b){var c=L(a)?[]:{};return M(a,function(a,d){c[d]=b(a,d)}),c}function p(a,b){var d=1,f=2,i={},j=[],k=i,l=N(a.when(i),{$$promises:i,$$values:i});this.study=function(i){function n(a,c){if(s[c]!==f){if(r.push(c),s[c]===d)throw r.splice(0,h(r,c)),new Error("Cyclic dependency: "+r.join(" -> "));if(s[c]=d,J(a))q.push(c,[function(){return b.get(a)}],j);else{var e=b.annotate(a);M(e,function(a){a!==c&&i.hasOwnProperty(a)&&n(i[a],a)}),q.push(c,a,e)}r.pop(),s[c]=f}}function o(a){return K(a)&&a.then&&a.$$promises}if(!K(i))throw new Error("'invocables' must be an object");var p=g(i||{}),q=[],r=[],s={};return M(i,n),i=r=s=null,function(d,f,g){function h(){--u||(v||e(t,f.$$values),r.$$values=t,r.$$promises=r.$$promises||!0,delete r.$$inheritedValues,n.resolve(t))}function i(a){r.$$failure=a,n.reject(a)}function j(c,e,f){function j(a){l.reject(a),i(a)}function k(){if(!H(r.$$failure))try{l.resolve(b.invoke(e,g,t)),l.promise.then(function(a){t[c]=a,h()},j)}catch(a){j(a)}}var l=a.defer(),m=0;M(f,function(a){s.hasOwnProperty(a)&&!d.hasOwnProperty(a)&&(m++,s[a].then(function(b){t[a]=b,--m||k()},j))}),m||k(),s[c]=l.promise}if(o(d)&&g===c&&(g=f,f=d,d=null),d){if(!K(d))throw new Error("'locals' must be an object")}else d=k;if(f){if(!o(f))throw new Error("'parent' must be a promise returned by $resolve.resolve()")}else f=l;var n=a.defer(),r=n.promise,s=r.$$promises={},t=N({},d),u=1+q.length/3,v=!1;if(H(f.$$failure))return i(f.$$failure),r;f.$$inheritedValues&&e(t,m(f.$$inheritedValues,p)),N(s,f.$$promises),f.$$values?(v=e(t,m(f.$$values,p)),r.$$inheritedValues=m(f.$$values,p),h()):(f.$$inheritedValues&&(r.$$inheritedValues=m(f.$$inheritedValues,p)),f.then(h,i));for(var w=0,x=q.length;x>w;w+=3)d.hasOwnProperty(q[w])?h():j(q[w],q[w+1],q[w+2]);return r}},this.resolve=function(a,b,c,d){return this.study(a)(b,c,d)}}function q(a,b,c){this.fromConfig=function(a,b,c){return H(a.template)?this.fromString(a.template,b):H(a.templateUrl)?this.fromUrl(a.templateUrl,b):H(a.templateProvider)?this.fromProvider(a.templateProvider,b,c):null},this.fromString=function(a,b){return I(a)?a(b):a},this.fromUrl=function(c,d){return I(c)&&(c=c(d)),null==c?null:a.get(c,{cache:b,headers:{Accept:"text/html"}}).then(function(a){return a.data})},this.fromProvider=function(a,b,d){return c.invoke(a,null,d||{params:b})}}function r(a,b,e){function f(b,c,d,e){if(q.push(b),o[b])return o[b];if(!/^\w+(-+\w+)*(?:\[\])?$/.test(b))throw new Error("Invalid parameter name '"+b+"' in pattern '"+a+"'");if(p[b])throw new Error("Duplicate parameter name '"+b+"' in pattern '"+a+"'");return p[b]=new P.Param(b,c,d,e),p[b]}function g(a,b,c,d){var e=["",""],f=a.replace(/[\\\[\]\^$*+?.()|{}]/g,"\\$&");if(!b)return f;switch(c){case!1:e=["(",")"+(d?"?":"")];break;case!0:e=["?(",")?"];break;default:e=["("+c+"|",")?"]}return f+e[0]+b+e[1]}function h(e,f){var g,h,i,j,k;return g=e[2]||e[3],k=b.params[g],i=a.substring(m,e.index),h=f?e[4]:e[4]||("*"==e[1]?".*":null),j=P.type(h||"string")||d(P.type("string"),{pattern:new RegExp(h,b.caseInsensitive?"i":c)}),{id:g,regexp:h,segment:i,type:j,cfg:k}}b=N({params:{}},K(b)?b:{});var i,j=/([:*])([\w\[\]]+)|\{([\w\[\]]+)(?:\:((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,k=/([:]?)([\w\[\]-]+)|\{([\w\[\]-]+)(?:\:((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,l="^",m=0,n=this.segments=[],o=e?e.params:{},p=this.params=e?e.params.$$new():new P.ParamSet,q=[];this.source=a;for(var r,s,t;(i=j.exec(a))&&(r=h(i,!1),!(r.segment.indexOf("?")>=0));)s=f(r.id,r.type,r.cfg,"path"),l+=g(r.segment,s.type.pattern.source,s.squash,s.isOptional),n.push(r.segment),m=j.lastIndex;t=a.substring(m);var u=t.indexOf("?");if(u>=0){var v=this.sourceSearch=t.substring(u);if(t=t.substring(0,u),this.sourcePath=a.substring(0,m+u),v.length>0)for(m=0;i=k.exec(v);)r=h(i,!0),s=f(r.id,r.type,r.cfg,"search"),m=j.lastIndex}else this.sourcePath=a,this.sourceSearch="";l+=g(t)+(b.strict===!1?"/?":"")+"$",n.push(t),this.regexp=new RegExp(l,b.caseInsensitive?"i":c),this.prefix=n[0],this.$$paramNames=q}function s(a){N(this,a)}function t(){function a(a){return null!=a?a.toString().replace(/\//g,"%2F"):a}function e(a){return null!=a?a.toString().replace(/%2F/g,"/"):a}function f(){return{strict:p,caseInsensitive:m}}function i(a){return I(a)||L(a)&&I(a[a.length-1])}function j(){for(;w.length;){var a=w.shift();if(a.pattern)throw new Error("You cannot override a type's .pattern at runtime.");b.extend(u[a.name],l.invoke(a.def))}}function k(a){N(this,a||{})}P=this;var l,m=!1,p=!0,q=!1,u={},v=!0,w=[],x={string:{encode:a,decode:e,is:function(a){return null==a||!H(a)||"string"==typeof a},pattern:/[^\/]*/},"int":{encode:a,decode:function(a){return parseInt(a,10)},is:function(a){return H(a)&&this.decode(a.toString())===a},pattern:/\d+/},bool:{encode:function(a){return a?1:0},decode:function(a){return 0!==parseInt(a,10)},is:function(a){return a===!0||a===!1},pattern:/0|1/},date:{encode:function(a){return this.is(a)?[a.getFullYear(),("0"+(a.getMonth()+1)).slice(-2),("0"+a.getDate()).slice(-2)].join("-"):c},decode:function(a){if(this.is(a))return a;var b=this.capture.exec(a);return b?new Date(b[1],b[2]-1,b[3]):c},is:function(a){return a instanceof Date&&!isNaN(a.valueOf())},equals:function(a,b){return this.is(a)&&this.is(b)&&a.toISOString()===b.toISOString()},pattern:/[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])/,capture:/([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/},json:{encode:b.toJson,decode:b.fromJson,is:b.isObject,equals:b.equals,pattern:/[^\/]*/},any:{encode:b.identity,decode:b.identity,equals:b.equals,pattern:/.*/}};t.$$getDefaultValue=function(a){if(!i(a.value))return a.value;if(!l)throw new Error("Injectable functions cannot be called at configuration time");return l.invoke(a.value)},this.caseInsensitive=function(a){return H(a)&&(m=a),m},this.strictMode=function(a){return H(a)&&(p=a),p},this.defaultSquashPolicy=function(a){if(!H(a))return q;if(a!==!0&&a!==!1&&!J(a))throw new Error("Invalid squash policy: "+a+". Valid policies: false, true, arbitrary-string");return q=a,a},this.compile=function(a,b){return new r(a,N(f(),b))},this.isMatcher=function(a){if(!K(a))return!1;var b=!0;return M(r.prototype,function(c,d){I(c)&&(b=b&&H(a[d])&&I(a[d]))}),b},this.type=function(a,b,c){if(!H(b))return u[a];if(u.hasOwnProperty(a))throw new Error("A type named '"+a+"' has already been defined.");return u[a]=new s(N({name:a},b)),c&&(w.push({name:a,def:c}),v||j()),this},M(x,function(a,b){u[b]=new s(N({name:b},a))}),u=d(u,{}),this.$get=["$injector",function(a){return l=a,v=!1,j(),M(x,function(a,b){u[b]||(u[b]=new s(a))}),this}],this.Param=function(a,b,d,e){function f(a){var b=K(a)?g(a):[],c=-1===h(b,"value")&&-1===h(b,"type")&&-1===h(b,"squash")&&-1===h(b,"array");return c&&(a={value:a}),a.$$fn=i(a.value)?a.value:function(){return a.value},a}function j(b,c,d){if(b.type&&c)throw new Error("Param '"+a+"' has two type configurations.");return c?c:b.type?b.type instanceof s?b.type:new s(b.type):"config"===d?u.any:u.string}function k(){var b={array:"search"===e?"auto":!1},c=a.match(/\[\]$/)?{array:!0}:{};return N(b,c,d).array}function m(a,b){var c=a.squash;if(!b||c===!1)return!1;if(!H(c)||null==c)return q;if(c===!0||J(c))return c;throw new Error("Invalid squash policy: '"+c+"'. Valid policies: false, true, or arbitrary string")}function p(a,b,d,e){var f,g,i=[{from:"",to:d||b?c:""},{from:null,to:d||b?c:""}];return f=L(a.replace)?a.replace:[],J(e)&&f.push({from:e,to:c}),g=o(f,function(a){return a.from}),n(i,function(a){return-1===h(g,a.from)}).concat(f)}function r(){if(!l)throw new Error("Injectable functions cannot be called at configuration time");var a=l.invoke(d.$$fn);if(null!==a&&a!==c&&!w.type.is(a))throw new Error("Default value ("+a+") for parameter '"+w.id+"' is not an instance of Type ("+w.type.name+")");return a}function t(a){function b(a){return function(b){return b.from===a}}function c(a){var c=o(n(w.replace,b(a)),function(a){return a.to});return c.length?c[0]:a}return a=c(a),H(a)?w.type.$normalize(a):r()}function v(){return"{Param:"+a+" "+b+" squash: '"+z+"' optional: "+y+"}"}var w=this;d=f(d),b=j(d,b,e);var x=k();b=x?b.$asArray(x,"search"===e):b,"string"!==b.name||x||"path"!==e||d.value!==c||(d.value="");var y=d.value!==c,z=m(d,y),A=p(d,x,y,z);N(this,{id:a,type:b,location:e,array:x,squash:z,replace:A,isOptional:y,value:t,dynamic:c,config:d,toString:v})},k.prototype={$$new:function(){return d(this,N(new k,{$$parent:this}))},$$keys:function(){for(var a=[],b=[],c=this,d=g(k.prototype);c;)b.push(c),c=c.$$parent;return b.reverse(),M(b,function(b){M(g(b),function(b){-1===h(a,b)&&-1===h(d,b)&&a.push(b)})}),a},$$values:function(a){var b={},c=this;return M(c.$$keys(),function(d){b[d]=c[d].value(a&&a[d])}),b},$$equals:function(a,b){var c=!0,d=this;return M(d.$$keys(),function(e){var f=a&&a[e],g=b&&b[e];d[e].type.equals(f,g)||(c=!1)}),c},$$validates:function(a){var d,e,f,g,h,i=this.$$keys();for(d=0;d<i.length&&(e=this[i[d]],f=a[i[d]],f!==c&&null!==f||!e.isOptional);d++){if(g=e.type.$normalize(f),!e.type.is(g))return!1;if(h=e.type.encode(g),b.isString(h)&&!e.type.pattern.exec(h))return!1}return!0},$$parent:c},this.ParamSet=k}function u(a,d){function e(a){var b=/^\^((?:\\[^a-zA-Z0-9]|[^\\\[\]\^$*+?.()|{}]+)*)/.exec(a.source);return null!=b?b[1].replace(/\\(.)/g,"$1"):""}function f(a,b){return a.replace(/\$(\$|\d{1,2})/,function(a,c){return b["$"===c?0:Number(c)]})}function g(a,b,c){if(!c)return!1;var d=a.invoke(b,b,{$match:c});return H(d)?d:!0}function h(d,e,f,g){function h(a,b,c){return"/"===p?a:b?p.slice(0,-1)+a:c?p.slice(1)+a:a}function m(a){function b(a){var b=a(f,d);return b?(J(b)&&d.replace().url(b),!0):!1}if(!a||!a.defaultPrevented){o&&d.url()===o;o=c;var e,g=j.length;for(e=0;g>e;e++)if(b(j[e]))return;k&&b(k)}}function n(){return i=i||e.$on("$locationChangeSuccess",m)}var o,p=g.baseHref(),q=d.url();return l||n(),{sync:function(){m()},listen:function(){return n()},update:function(a){return a?void(q=d.url()):void(d.url()!==q&&(d.url(q),d.replace()))},push:function(a,b,e){var f=a.format(b||{});null!==f&&b&&b["#"]&&(f+="#"+b["#"]),d.url(f),o=e&&e.$$avoidResync?d.url():c,e&&e.replace&&d.replace()},href:function(c,e,f){if(!c.validates(e))return null;var g=a.html5Mode();b.isObject(g)&&(g=g.enabled);var i=c.format(e);if(f=f||{},g||null===i||(i="#"+a.hashPrefix()+i),null!==i&&e&&e["#"]&&(i+="#"+e["#"]),i=h(i,g,f.absolute),!f.absolute||!i)return i;var j=!g&&i?"/":"",k=d.port();return k=80===k||443===k?"":":"+k,[d.protocol(),"://",d.host(),k,j,i].join("")}}}var i,j=[],k=null,l=!1;this.rule=function(a){if(!I(a))throw new Error("'rule' must be a function");return j.push(a),this},this.otherwise=function(a){if(J(a)){var b=a;a=function(){return b}}else if(!I(a))throw new Error("'rule' must be a function");return k=a,this},this.when=function(a,b){var c,h=J(b);if(J(a)&&(a=d.compile(a)),!h&&!I(b)&&!L(b))throw new Error("invalid 'handler' in when()");var i={matcher:function(a,b){return h&&(c=d.compile(b),b=["$match",function(a){return c.format(a)}]),N(function(c,d){return g(c,b,a.exec(d.path(),d.search()))},{prefix:J(a.prefix)?a.prefix:""})},regex:function(a,b){if(a.global||a.sticky)throw new Error("when() RegExp must not be global or sticky");return h&&(c=b,b=["$match",function(a){return f(c,a)}]),N(function(c,d){return g(c,b,a.exec(d.path()))},{prefix:e(a)})}},j={matcher:d.isMatcher(a),regex:a instanceof RegExp};for(var k in j)if(j[k])return this.rule(i[k](a,b));throw new Error("invalid 'what' in when()")},this.deferIntercept=function(a){a===c&&(a=!0),l=a},this.$get=h,h.$inject=["$location","$rootScope","$injector","$browser"]}function v(a,e){function f(a){return 0===a.indexOf(".")||0===a.indexOf("^")}function m(a,b){if(!a)return c;var d=J(a),e=d?a:a.name,g=f(e);if(g){if(!b)throw new Error("No reference point given for path '"+e+"'");b=m(b);for(var h=e.split("."),i=0,j=h.length,k=b;j>i;i++)if(""!==h[i]||0!==i){if("^"!==h[i])break;if(!k.parent)throw new Error("Path '"+e+"' not valid for state '"+b.name+"'");k=k.parent}else k=b;h=h.slice(i).join("."),e=k.name+(k.name&&h?".":"")+h}var l=z[e];return!l||!d&&(d||l!==a&&l.self!==a)?c:l}function n(a,b){A[a]||(A[a]=[]),A[a].push(b)}function p(a){for(var b=A[a]||[];b.length;)q(b.shift())}function q(b){b=d(b,{self:b,resolve:b.resolve||{},toString:function(){return this.name}});var c=b.name;if(!J(c)||c.indexOf("@")>=0)throw new Error("State must have a valid name");if(z.hasOwnProperty(c))throw new Error("State '"+c+"'' is already defined");var e=-1!==c.indexOf(".")?c.substring(0,c.lastIndexOf(".")):J(b.parent)?b.parent:K(b.parent)&&J(b.parent.name)?b.parent.name:"";if(e&&!z[e])return n(e,b.self);for(var f in C)I(C[f])&&(b[f]=C[f](b,C.$delegates[f]));return z[c]=b,!b[B]&&b.url&&a.when(b.url,["$match","$stateParams",function(a,c){y.$current.navigable==b&&j(a,c)||y.transitionTo(b,a,{inherit:!0,location:!1})}]),p(c),b}function r(a){return a.indexOf("*")>-1}function s(a){for(var b=a.split("."),c=y.$current.name.split("."),d=0,e=b.length;e>d;d++)"*"===b[d]&&(c[d]="*");return"**"===b[0]&&(c=c.slice(h(c,b[1])),c.unshift("**")),"**"===b[b.length-1]&&(c.splice(h(c,b[b.length-2])+1,Number.MAX_VALUE),c.push("**")),b.length!=c.length?!1:c.join("")===b.join("")}function t(a,b){return J(a)&&!H(b)?C[a]:I(b)&&J(a)?(C[a]&&!C.$delegates[a]&&(C.$delegates[a]=C[a]),C[a]=b,this):this}function u(a,b){return K(a)?b=a:b.name=a,q(b),this}function v(a,e,f,h,l,n,p,q,t){function u(b,c,d,f){var g=a.$broadcast("$stateNotFound",b,c,d);if(g.defaultPrevented)return p.update(),D;if(!g.retry)return null;if(f.$retry)return p.update(),E;var h=y.transition=e.when(g.retry);return h.then(function(){return h!==y.transition?A:(b.options.$retry=!0,y.transitionTo(b.to,b.toParams,b.options))},function(){return D}),p.update(),h}function v(a,c,d,g,i,j){function m(){var c=[];return M(a.views,function(d,e){var g=d.resolve&&d.resolve!==a.resolve?d.resolve:{};g.$template=[function(){return f.load(e,{view:d,locals:i.globals,params:n,notify:j.notify})||""}],c.push(l.resolve(g,i.globals,i.resolve,a).then(function(c){if(I(d.controllerProvider)||L(d.controllerProvider)){var f=b.extend({},g,i.globals);c.$$controller=h.invoke(d.controllerProvider,null,f)}else c.$$controller=d.controller;c.$$state=a,c.$$controllerAs=d.controllerAs,i[e]=c}))}),e.all(c).then(function(){return i.globals})}var n=d?c:k(a.params.$$keys(),c),o={$stateParams:n};i.resolve=l.resolve(a.resolve,o,i.resolve,a);var p=[i.resolve.then(function(a){i.globals=a})];return g&&p.push(g),e.all(p).then(m).then(function(a){return i})}var A=e.reject(new Error("transition superseded")),C=e.reject(new Error("transition prevented")),D=e.reject(new Error("transition aborted")),E=e.reject(new Error("transition failed"));return x.locals={resolve:null,globals:{$stateParams:{}}},y={params:{},current:x.self,$current:x,transition:null},y.reload=function(a){return y.transitionTo(y.current,n,{reload:a||!0,inherit:!1,notify:!0})},y.go=function(a,b,c){return y.transitionTo(a,b,N({inherit:!0,relative:y.$current},c))},y.transitionTo=function(b,c,f){c=c||{},f=N({location:!0,inherit:!1,relative:null,notify:!0,reload:!1,$retry:!1},f||{});var g,j=y.$current,l=y.params,o=j.path,q=m(b,f.relative),r=c["#"];if(!H(q)){var s={to:b,toParams:c,options:f},t=u(s,j.self,l,f);if(t)return t;if(b=s.to,c=s.toParams,f=s.options,q=m(b,f.relative),!H(q)){if(!f.relative)throw new Error("No such state '"+b+"'");throw new Error("Could not resolve '"+b+"' from state '"+f.relative+"'")}}if(q[B])throw new Error("Cannot transition to abstract state '"+b+"'");if(f.inherit&&(c=i(n,c||{},y.$current,q)),!q.params.$$validates(c))return E;c=q.params.$$values(c),b=q;var z=b.path,D=0,F=z[D],G=x.locals,I=[];if(f.reload){if(J(f.reload)||K(f.reload)){if(K(f.reload)&&!f.reload.name)throw new Error("Invalid reload state object");var L=f.reload===!0?o[0]:m(f.reload);if(f.reload&&!L)throw new Error("No such reload state '"+(J(f.reload)?f.reload:f.reload.name)+"'");for(;F&&F===o[D]&&F!==L;)G=I[D]=F.locals,D++,F=z[D]}}else for(;F&&F===o[D]&&F.ownParams.$$equals(c,l);)G=I[D]=F.locals,D++,F=z[D];if(w(b,c,j,l,G,f))return r&&(c["#"]=r),y.params=c,O(y.params,n),f.location&&b.navigable&&b.navigable.url&&(p.push(b.navigable.url,c,{$$avoidResync:!0,replace:"replace"===f.location}),p.update(!0)),y.transition=null,e.when(y.current);if(c=k(b.params.$$keys(),c||{}),f.notify&&a.$broadcast("$stateChangeStart",b.self,c,j.self,l).defaultPrevented)return a.$broadcast("$stateChangeCancel",b.self,c,j.self,l),p.update(),C;for(var M=e.when(G),P=D;P<z.length;P++,F=z[P])G=I[P]=d(G),M=v(F,c,F===b,M,G,f);var Q=y.transition=M.then(function(){var d,e,g;if(y.transition!==Q)return A;for(d=o.length-1;d>=D;d--)g=o[d],g.self.onExit&&h.invoke(g.self.onExit,g.self,g.locals.globals),g.locals=null;for(d=D;d<z.length;d++)e=z[d],e.locals=I[d],e.self.onEnter&&h.invoke(e.self.onEnter,e.self,e.locals.globals);return r&&(c["#"]=r),y.transition!==Q?A:(y.$current=b,y.current=b.self,y.params=c,O(y.params,n),y.transition=null,f.location&&b.navigable&&p.push(b.navigable.url,b.navigable.locals.globals.$stateParams,{$$avoidResync:!0,replace:"replace"===f.location}),f.notify&&a.$broadcast("$stateChangeSuccess",b.self,c,j.self,l),p.update(!0),y.current)},function(d){return y.transition!==Q?A:(y.transition=null,g=a.$broadcast("$stateChangeError",b.self,c,j.self,l,d),g.defaultPrevented||p.update(),e.reject(d))});return Q},y.is=function(a,b,d){d=N({relative:y.$current},d||{});var e=m(a,d.relative);return H(e)?y.$current!==e?!1:b?j(e.params.$$values(b),n):!0:c},y.includes=function(a,b,d){if(d=N({relative:y.$current},d||{}),J(a)&&r(a)){if(!s(a))return!1;a=y.$current.name}var e=m(a,d.relative);return H(e)?H(y.$current.includes[e.name])?b?j(e.params.$$values(b),n,g(b)):!0:!1:c},y.href=function(a,b,d){d=N({lossy:!0,inherit:!0,absolute:!1,relative:y.$current},d||{});var e=m(a,d.relative);if(!H(e))return null;d.inherit&&(b=i(n,b||{},y.$current,e));var f=e&&d.lossy?e.navigable:e;return f&&f.url!==c&&null!==f.url?p.href(f.url,k(e.params.$$keys().concat("#"),b||{}),{absolute:d.absolute}):null},y.get=function(a,b){if(0===arguments.length)return o(g(z),function(a){return z[a].self});var c=m(a,b||y.$current);return c&&c.self?c.self:null},y}function w(a,b,c,d,e,f){function g(a,b,c){function d(b){return"search"!=a.params[b].location}var e=a.params.$$keys().filter(d),f=l.apply({},[a.params].concat(e)),g=new P.ParamSet(f);return g.$$equals(b,c)}return!f.reload&&a===c&&(e===c.locals||a.self.reloadOnSearch===!1&&g(c,d,b))?!0:void 0}var x,y,z={},A={},B="abstract",C={parent:function(a){if(H(a.parent)&&a.parent)return m(a.parent);var b=/^(.+)\.[^.]+$/.exec(a.name);return b?m(b[1]):x},data:function(a){return a.parent&&a.parent.data&&(a.data=a.self.data=N({},a.parent.data,a.data)),a.data},url:function(a){var b=a.url,c={params:a.params||{}};if(J(b))return"^"==b.charAt(0)?e.compile(b.substring(1),c):(a.parent.navigable||x).url.concat(b,c);
+if(!b||e.isMatcher(b))return b;throw new Error("Invalid url '"+b+"' in state '"+a+"'")},navigable:function(a){return a.url?a:a.parent?a.parent.navigable:null},ownParams:function(a){var b=a.url&&a.url.params||new P.ParamSet;return M(a.params||{},function(a,c){b[c]||(b[c]=new P.Param(c,null,a,"config"))}),b},params:function(a){return a.parent&&a.parent.params?N(a.parent.params.$$new(),a.ownParams):new P.ParamSet},views:function(a){var b={};return M(H(a.views)?a.views:{"":a},function(c,d){d.indexOf("@")<0&&(d+="@"+a.parent.name),b[d]=c}),b},path:function(a){return a.parent?a.parent.path.concat(a):[]},includes:function(a){var b=a.parent?N({},a.parent.includes):{};return b[a.name]=!0,b},$delegates:{}};x=q({name:"",url:"^",views:null,"abstract":!0}),x.navigable=null,this.decorator=t,this.state=u,this.$get=v,v.$inject=["$rootScope","$q","$view","$injector","$resolve","$stateParams","$urlRouter","$location","$urlMatcherFactory"]}function w(){function a(a,b){return{load:function(c,d){var e,f={template:null,controller:null,view:null,locals:null,notify:!0,async:!0,params:{}};return d=N(f,d),d.view&&(e=b.fromConfig(d.view,d.params,d.locals)),e&&d.notify&&a.$broadcast("$viewContentLoading",d),e}}}this.$get=a,a.$inject=["$rootScope","$templateFactory"]}function x(){var a=!1;this.useAnchorScroll=function(){a=!0},this.$get=["$anchorScroll","$timeout",function(b,c){return a?b:function(a){return c(function(){a[0].scrollIntoView()},0,!1)}}]}function y(a,c,d,e){function f(){return c.has?function(a){return c.has(a)?c.get(a):null}:function(a){try{return c.get(a)}catch(b){return null}}}function g(a,b){var c=function(){return{enter:function(a,b,c){b.after(a),c()},leave:function(a,b){a.remove(),b()}}};if(j)return{enter:function(a,b,c){var d=j.enter(a,null,b,c);d&&d.then&&d.then(c)},leave:function(a,b){var c=j.leave(a,b);c&&c.then&&c.then(b)}};if(i){var d=i&&i(b,a);return{enter:function(a,b,c){d.enter(a,null,b),c()},leave:function(a,b){d.leave(a),b()}}}return c()}var h=f(),i=h("$animator"),j=h("$animate"),k={restrict:"ECA",terminal:!0,priority:400,transclude:"element",compile:function(c,f,h){return function(c,f,i){function j(){l&&(l.remove(),l=null),n&&(n.$destroy(),n=null),m&&(r.leave(m,function(){l=null}),l=m,m=null)}function k(g){var k,l=A(c,i,f,e),s=l&&a.$current&&a.$current.locals[l];if(g||s!==o){k=c.$new(),o=a.$current.locals[l];var t=h(k,function(a){r.enter(a,f,function(){n&&n.$emit("$viewContentAnimationEnded"),(b.isDefined(q)&&!q||c.$eval(q))&&d(a)}),j()});m=t,n=k,n.$emit("$viewContentLoaded"),n.$eval(p)}}var l,m,n,o,p=i.onload||"",q=i.autoscroll,r=g(i,c);c.$on("$stateChangeSuccess",function(){k(!1)}),c.$on("$viewContentLoading",function(){k(!1)}),k(!0)}}};return k}function z(a,b,c,d){return{restrict:"ECA",priority:-400,compile:function(e){var f=e.html();return function(e,g,h){var i=c.$current,j=A(e,h,g,d),k=i&&i.locals[j];if(k){g.data("$uiView",{name:j,state:k.$$state}),g.html(k.$template?k.$template:f);var l=a(g.contents());if(k.$$controller){k.$scope=e,k.$element=g;var m=b(k.$$controller,k);k.$$controllerAs&&(e[k.$$controllerAs]=m),g.data("$ngControllerController",m),g.children().data("$ngControllerController",m)}l(e)}}}}}function A(a,b,c,d){var e=d(b.uiView||b.name||"")(a),f=c.inheritedData("$uiView");return e.indexOf("@")>=0?e:e+"@"+(f?f.state.name:"")}function B(a,b){var c,d=a.match(/^\s*({[^}]*})\s*$/);if(d&&(a=b+"("+d[1]+")"),c=a.replace(/\n/g," ").match(/^([^(]+?)\s*(\((.*)\))?$/),!c||4!==c.length)throw new Error("Invalid state ref '"+a+"'");return{state:c[1],paramExpr:c[3]||null}}function C(a){var b=a.parent().inheritedData("$uiView");return b&&b.state&&b.state.name?b.state:void 0}function D(a,c){var d=["location","inherit","reload","absolute"];return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(e,f,g,h){var i=B(g.uiSref,a.current.name),j=null,k=C(f)||a.$current,l="[object SVGAnimatedString]"===Object.prototype.toString.call(f.prop("href"))?"xlink:href":"href",m=null,n="A"===f.prop("tagName").toUpperCase(),o="FORM"===f[0].nodeName,p=o?"action":l,q=!0,r={relative:k,inherit:!0},s=e.$eval(g.uiSrefOpts)||{};b.forEach(d,function(a){a in s&&(r[a]=s[a])});var t=function(c){if(c&&(j=b.copy(c)),q){m=a.href(i.state,j,r);var d=h[1]||h[0];return d&&d.$$addStateInfo(i.state,j),null===m?(q=!1,!1):void g.$set(p,m)}};i.paramExpr&&(e.$watch(i.paramExpr,function(a,b){a!==j&&t(a)},!0),j=b.copy(e.$eval(i.paramExpr))),t(),o||f.bind("click",function(b){var d=b.which||b.button;if(!(d>1||b.ctrlKey||b.metaKey||b.shiftKey||f.attr("target"))){var e=c(function(){a.go(i.state,j,r)});b.preventDefault();var g=n&&!m?1:0;b.preventDefault=function(){g--<=0&&c.cancel(e)}}})}}}function E(a,b,c){return{restrict:"A",controller:["$scope","$element","$attrs",function(b,d,e){function f(){g()?d.addClass(i):d.removeClass(i)}function g(){for(var a=0;a<j.length;a++)if(h(j[a].state,j[a].params))return!0;return!1}function h(b,c){return"undefined"!=typeof e.uiSrefActiveEq?a.is(b.name,c):a.includes(b.name,c)}var i,j=[];i=c(e.uiSrefActiveEq||e.uiSrefActive||"",!1)(b),this.$$addStateInfo=function(b,c){var e=a.get(b,C(d));j.push({state:e||{name:b},params:c}),f()},b.$on("$stateChangeSuccess",f)}]}}function F(a){var b=function(b){return a.is(b)};return b.$stateful=!0,b}function G(a){var b=function(b){return a.includes(b)};return b.$stateful=!0,b}var H=b.isDefined,I=b.isFunction,J=b.isString,K=b.isObject,L=b.isArray,M=b.forEach,N=b.extend,O=b.copy;b.module("ui.router.util",["ng"]),b.module("ui.router.router",["ui.router.util"]),b.module("ui.router.state",["ui.router.router","ui.router.util"]),b.module("ui.router",["ui.router.state"]),b.module("ui.router.compat",["ui.router"]),p.$inject=["$q","$injector"],b.module("ui.router.util").service("$resolve",p),q.$inject=["$http","$templateCache","$injector"],b.module("ui.router.util").service("$templateFactory",q);var P;r.prototype.concat=function(a,b){var c={caseInsensitive:P.caseInsensitive(),strict:P.strictMode(),squash:P.defaultSquashPolicy()};return new r(this.sourcePath+a+this.sourceSearch,N(c,b),this)},r.prototype.toString=function(){return this.source},r.prototype.exec=function(a,b){function c(a){function b(a){return a.split("").reverse().join("")}function c(a){return a.replace(/\\-/g,"-")}var d=b(a).split(/-(?!\\)/),e=o(d,b);return o(e,c).reverse()}var d=this.regexp.exec(a);if(!d)return null;b=b||{};var e,f,g,h=this.parameters(),i=h.length,j=this.segments.length-1,k={};if(j!==d.length-1)throw new Error("Unbalanced capture group in route '"+this.source+"'");for(e=0;j>e;e++){g=h[e];var l=this.params[g],m=d[e+1];for(f=0;f<l.replace;f++)l.replace[f].from===m&&(m=l.replace[f].to);m&&l.array===!0&&(m=c(m)),k[g]=l.value(m)}for(;i>e;e++)g=h[e],k[g]=this.params[g].value(b[g]);return k},r.prototype.parameters=function(a){return H(a)?this.params[a]||null:this.$$paramNames},r.prototype.validates=function(a){return this.params.$$validates(a)},r.prototype.format=function(a){function b(a){return encodeURIComponent(a).replace(/-/g,function(a){return"%5C%"+a.charCodeAt(0).toString(16).toUpperCase()})}a=a||{};var c=this.segments,d=this.parameters(),e=this.params;if(!this.validates(a))return null;var f,g=!1,h=c.length-1,i=d.length,j=c[0];for(f=0;i>f;f++){var k=h>f,l=d[f],m=e[l],n=m.value(a[l]),p=m.isOptional&&m.type.equals(m.value(),n),q=p?m.squash:!1,r=m.type.encode(n);if(k){var s=c[f+1];if(q===!1)null!=r&&(j+=L(r)?o(r,b).join("-"):encodeURIComponent(r)),j+=s;else if(q===!0){var t=j.match(/\/$/)?/\/?(.*)/:/(.*)/;j+=s.match(t)[1]}else J(q)&&(j+=q+s)}else{if(null==r||p&&q!==!1)continue;L(r)||(r=[r]),r=o(r,encodeURIComponent).join("&"+l+"="),j+=(g?"&":"?")+(l+"="+r),g=!0}}return j},s.prototype.is=function(a,b){return!0},s.prototype.encode=function(a,b){return a},s.prototype.decode=function(a,b){return a},s.prototype.equals=function(a,b){return a==b},s.prototype.$subPattern=function(){var a=this.pattern.toString();return a.substr(1,a.length-2)},s.prototype.pattern=/.*/,s.prototype.toString=function(){return"{Type:"+this.name+"}"},s.prototype.$normalize=function(a){return this.is(a)?a:this.decode(a)},s.prototype.$asArray=function(a,b){function d(a,b){function d(a,b){return function(){return a[b].apply(a,arguments)}}function e(a){return L(a)?a:H(a)?[a]:[]}function f(a){switch(a.length){case 0:return c;case 1:return"auto"===b?a[0]:a;default:return a}}function g(a){return!a}function h(a,b){return function(c){c=e(c);var d=o(c,a);return b===!0?0===n(d,g).length:f(d)}}function i(a){return function(b,c){var d=e(b),f=e(c);if(d.length!==f.length)return!1;for(var g=0;g<d.length;g++)if(!a(d[g],f[g]))return!1;return!0}}this.encode=h(d(a,"encode")),this.decode=h(d(a,"decode")),this.is=h(d(a,"is"),!0),this.equals=i(d(a,"equals")),this.pattern=a.pattern,this.$normalize=h(d(a,"$normalize")),this.name=a.name,this.$arrayMode=b}if(!a)return this;if("auto"===a&&!b)throw new Error("'auto' array mode is for query parameters only");return new d(this,a)},b.module("ui.router.util").provider("$urlMatcherFactory",t),b.module("ui.router.util").run(["$urlMatcherFactory",function(a){}]),u.$inject=["$locationProvider","$urlMatcherFactoryProvider"],b.module("ui.router.router").provider("$urlRouter",u),v.$inject=["$urlRouterProvider","$urlMatcherFactoryProvider"],b.module("ui.router.state").value("$stateParams",{}).provider("$state",v),w.$inject=[],b.module("ui.router.state").provider("$view",w),b.module("ui.router.state").provider("$uiViewScroll",x),y.$inject=["$state","$injector","$uiViewScroll","$interpolate"],z.$inject=["$compile","$controller","$state","$interpolate"],b.module("ui.router.state").directive("uiView",y),b.module("ui.router.state").directive("uiView",z),D.$inject=["$state","$timeout"],E.$inject=["$state","$stateParams","$interpolate"],b.module("ui.router.state").directive("uiSref",D).directive("uiSrefActive",E).directive("uiSrefActiveEq",E),F.$inject=["$state"],G.$inject=["$state"],b.module("ui.router.state").filter("isState",F).filter("includedByState",G)}(window,window.angular),function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){function b(b,d){var e,f,g,h=b.nodeName.toLowerCase();return"area"===h?(e=b.parentNode,f=e.name,b.href&&f&&"map"===e.nodeName.toLowerCase()?(g=a("img[usemap='#"+f+"']")[0],!!g&&c(g)):!1):(/^(input|select|textarea|button|object)$/.test(h)?!b.disabled:"a"===h?b.href||d:d)&&c(b)}function c(b){return a.expr.filters.visible(b)&&!a(b).parents().addBack().filter(function(){return"hidden"===a.css(this,"visibility")}).length}function d(a){for(var b,c;a.length&&a[0]!==document;){if(b=a.css("position"),("absolute"===b||"relative"===b||"fixed"===b)&&(c=parseInt(a.css("zIndex"),10),!isNaN(c)&&0!==c))return c;a=a.parent()}return 0}function e(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},a.extend(this._defaults,this.regional[""]),this.regional.en=a.extend(!0,{},this.regional[""]),this.regional["en-US"]=a.extend(!0,{},this.regional.en),this.dpDiv=f(a("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function f(b){var c="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return b.delegate(c,"mouseout",function(){a(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&a(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&a(this).removeClass("ui-datepicker-next-hover")}).delegate(c,"mouseover",g)}function g(){a.datepicker._isDisabledDatepicker(r.inline?r.dpDiv.parent()[0]:r.input[0])||(a(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),a(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&a(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&a(this).addClass("ui-datepicker-next-hover"))}function h(b,c){a.extend(b,c);for(var d in c)null==c[d]&&(b[d]=c[d]);return b}function i(a){return function(){var b=this.element.val();a.apply(this,arguments),this._refresh(),b!==this.element.val()&&this._trigger("change")}}a.ui=a.ui||{},a.extend(a.ui,{version:"1.11.4",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),a.fn.extend({scrollParent:function(b){var c=this.css("position"),d="absolute"===c,e=b?/(auto|scroll|hidden)/:/(auto|scroll)/,f=this.parents().filter(function(){var b=a(this);return d&&"static"===b.css("position")?!1:e.test(b.css("overflow")+b.css("overflow-y")+b.css("overflow-x"))}).eq(0);return"fixed"!==c&&f.length?f:a(this[0].ownerDocument||document)},uniqueId:function(){var a=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++a)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&a(this).removeAttr("id")})}}),a.extend(a.expr[":"],{data:a.expr.createPseudo?a.expr.createPseudo(function(b){return function(c){return!!a.data(c,b)}}):function(b,c,d){return!!a.data(b,d[3])},focusable:function(c){return b(c,!isNaN(a.attr(c,"tabindex")))},tabbable:function(c){var d=a.attr(c,"tabindex"),e=isNaN(d);return(e||d>=0)&&b(c,!e)}}),a("<a>").outerWidth(1).jquery||a.each(["Width","Height"],function(b,c){function d(b,c,d,f){return a.each(e,function(){c-=parseFloat(a.css(b,"padding"+this))||0,d&&(c-=parseFloat(a.css(b,"border"+this+"Width"))||0),f&&(c-=parseFloat(a.css(b,"margin"+this))||0)}),c}var e="Width"===c?["Left","Right"]:["Top","Bottom"],f=c.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+c]=function(b){return void 0===b?g["inner"+c].call(this):this.each(function(){a(this).css(f,d(this,b)+"px")})},a.fn["outer"+c]=function(b,e){return"number"!=typeof b?g["outer"+c].call(this,b):this.each(function(){a(this).css(f,d(this,b,!0,e)+"px")})}}),a.fn.addBack||(a.fn.addBack=function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}),a("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(a.fn.removeData=function(b){return function(c){return arguments.length?b.call(this,a.camelCase(c)):b.call(this)}}(a.fn.removeData)),a.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),a.fn.extend({focus:function(b){return function(c,d){return"number"==typeof c?this.each(function(){var b=this;setTimeout(function(){a(b).focus(),d&&d.call(b)},c)}):b.apply(this,arguments)}}(a.fn.focus),disableSelection:function(){var a="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.bind(a+".ui-disableSelection",function(a){a.preventDefault()})}}(),enableSelection:function(){return this.unbind(".ui-disableSelection")},zIndex:function(b){if(void 0!==b)return this.css("zIndex",b);if(this.length)for(var c,d,e=a(this[0]);e.length&&e[0]!==document;){if(c=e.css("position"),("absolute"===c||"relative"===c||"fixed"===c)&&(d=parseInt(e.css("zIndex"),10),!isNaN(d)&&0!==d))return d;e=e.parent()}return 0}}),a.ui.plugin={add:function(b,c,d){var e,f=a.ui[b].prototype;for(e in d)f.plugins[e]=f.plugins[e]||[],f.plugins[e].push([c,d[e]])},call:function(a,b,c,d){var e,f=a.plugins[b];if(f&&(d||a.element[0].parentNode&&11!==a.element[0].parentNode.nodeType))for(e=0;e<f.length;e++)a.options[f[e][0]]&&f[e][1].apply(a.element,c)}};var j=0,k=Array.prototype.slice;a.cleanData=function(b){return function(c){var d,e,f;for(f=0;null!=(e=c[f]);f++)try{d=a._data(e,"events"),d&&d.remove&&a(e).triggerHandler("remove")}catch(g){}b(c)}}(a.cleanData),a.widget=function(b,c,d){var e,f,g,h,i={},j=b.split(".")[0];return b=b.split(".")[1],e=j+"-"+b,d||(d=c,c=a.Widget),a.expr[":"][e.toLowerCase()]=function(b){return!!a.data(b,e)},a[j]=a[j]||{},f=a[j][b],g=a[j][b]=function(a,b){return this._createWidget?void(arguments.length&&this._createWidget(a,b)):new g(a,b)},a.extend(g,f,{version:d.version,_proto:a.extend({},d),_childConstructors:[]}),h=new c,h.options=a.widget.extend({},h.options),a.each(d,function(b,d){return a.isFunction(d)?void(i[b]=function(){var a=function(){return c.prototype[b].apply(this,arguments)},e=function(a){return c.prototype[b].apply(this,a)};return function(){var b,c=this._super,f=this._superApply;return this._super=a,this._superApply=e,b=d.apply(this,arguments),this._super=c,this._superApply=f,b}}()):void(i[b]=d)}),g.prototype=a.widget.extend(h,{widgetEventPrefix:f?h.widgetEventPrefix||b:b},i,{constructor:g,namespace:j,widgetName:b,widgetFullName:e}),f?(a.each(f._childConstructors,function(b,c){var d=c.prototype;a.widget(d.namespace+"."+d.widgetName,g,c._proto)}),delete f._childConstructors):c._childConstructors.push(g),a.widget.bridge(b,g),g},a.widget.extend=function(b){for(var c,d,e=k.call(arguments,1),f=0,g=e.length;g>f;f++)for(c in e[f])d=e[f][c],e[f].hasOwnProperty(c)&&void 0!==d&&(a.isPlainObject(d)?b[c]=a.isPlainObject(b[c])?a.widget.extend({},b[c],d):a.widget.extend({},d):b[c]=d);return b},a.widget.bridge=function(b,c){var d=c.prototype.widgetFullName||b;a.fn[b]=function(e){var f="string"==typeof e,g=k.call(arguments,1),h=this;return f?this.each(function(){var c,f=a.data(this,d);return"instance"===e?(h=f,!1):f?a.isFunction(f[e])&&"_"!==e.charAt(0)?(c=f[e].apply(f,g),c!==f&&void 0!==c?(h=c&&c.jquery?h.pushStack(c.get()):c,!1):void 0):a.error("no such method '"+e+"' for "+b+" widget instance"):a.error("cannot call methods on "+b+" prior to initialization; attempted to call method '"+e+"'")}):(g.length&&(e=a.widget.extend.apply(null,[e].concat(g))),this.each(function(){var b=a.data(this,d);b?(b.option(e||{}),b._init&&b._init()):a.data(this,d,new c(e,this))})),h}},a.Widget=function(){},a.Widget._childConstructors=[],a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(b,c){c=a(c||this.defaultElement||this)[0],this.element=a(c),this.uuid=j++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=a(),this.hoverable=a(),this.focusable=a(),c!==this&&(a.data(c,this.widgetFullName,this),this._on(!0,this.element,{remove:function(a){a.target===c&&this.destroy()}}),this.document=a(c.style?c.ownerDocument:c.document||c),this.window=a(this.document[0].defaultView||this.document[0].parentWindow)),this.options=a.widget.extend({},this.options,this._getCreateOptions(),b),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:a.noop,_getCreateEventData:a.noop,_create:a.noop,_init:a.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(a.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:a.noop,widget:function(){return this.element},option:function(b,c){var d,e,f,g=b;if(0===arguments.length)return a.widget.extend({},this.options);if("string"==typeof b)if(g={},d=b.split("."),b=d.shift(),d.length){for(e=g[b]=a.widget.extend({},this.options[b]),f=0;f<d.length-1;f++)e[d[f]]=e[d[f]]||{},e=e[d[f]];if(b=d.pop(),1===arguments.length)return void 0===e[b]?null:e[b];e[b]=c}else{if(1===arguments.length)return void 0===this.options[b]?null:this.options[b];g[b]=c}return this._setOptions(g),this},_setOptions:function(a){var b;for(b in a)this._setOption(b,a[b]);return this},_setOption:function(a,b){return this.options[a]=b,"disabled"===a&&(this.widget().toggleClass(this.widgetFullName+"-disabled",!!b),b&&(this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus"))),this},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_on:function(b,c,d){var e,f=this;"boolean"!=typeof b&&(d=c,c=b,b=!1),d?(c=e=a(c),this.bindings=this.bindings.add(c)):(d=c,c=this.element,e=this.widget()),a.each(d,function(d,g){function h(){return b||f.options.disabled!==!0&&!a(this).hasClass("ui-state-disabled")?("string"==typeof g?f[g]:g).apply(f,arguments):void 0}"string"!=typeof g&&(h.guid=g.guid=g.guid||h.guid||a.guid++);var i=d.match(/^([\w:-]*)\s*(.*)$/),j=i[1]+f.eventNamespace,k=i[2];k?e.delegate(k,j,h):c.bind(j,h)})},_off:function(b,c){c=(c||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,b.unbind(c).undelegate(c),this.bindings=a(this.bindings.not(b).get()),this.focusable=a(this.focusable.not(b).get()),this.hoverable=a(this.hoverable.not(b).get())},_delay:function(a,b){function c(){return("string"==typeof a?d[a]:a).apply(d,arguments)}var d=this;return setTimeout(c,b||0)},_hoverable:function(b){this.hoverable=this.hoverable.add(b),this._on(b,{mouseenter:function(b){a(b.currentTarget).addClass("ui-state-hover")},mouseleave:function(b){a(b.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(b){this.focusable=this.focusable.add(b),this._on(b,{focusin:function(b){a(b.currentTarget).addClass("ui-state-focus")},focusout:function(b){a(b.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(b,c,d){var e,f,g=this.options[b];if(d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase(),c.target=this.element[0],f=c.originalEvent)for(e in f)e in c||(c[e]=f[e]);return this.element.trigger(c,d),!(a.isFunction(g)&&g.apply(this.element[0],[c].concat(d))===!1||c.isDefaultPrevented())}},a.each({show:"fadeIn",hide:"fadeOut"},function(b,c){a.Widget.prototype["_"+b]=function(d,e,f){"string"==typeof e&&(e={effect:e});var g,h=e?e===!0||"number"==typeof e?c:e.effect||c:b;e=e||{},"number"==typeof e&&(e={duration:e}),g=!a.isEmptyObject(e),e.complete=f,e.delay&&d.delay(e.delay),g&&a.effects&&a.effects.effect[h]?d[b](e):h!==b&&d[h]?d[h](e.duration,e.easing,f):d.queue(function(c){a(this)[b](),f&&f.call(d[0]),c()})}});var l=(a.widget,!1);a(document).mouseup(function(){l=!1});a.widget("ui.mouse",{version:"1.11.4",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var b=this;this.element.bind("mousedown."+this.widgetName,function(a){return b._mouseDown(a)}).bind("click."+this.widgetName,function(c){return!0===a.data(c.target,b.widgetName+".preventClickEvent")?(a.removeData(c.target,b.widgetName+".preventClickEvent"),c.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(b){if(!l){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(b),this._mouseDownEvent=b;var c=this,d=1===b.which,e="string"==typeof this.options.cancel&&b.target.nodeName?a(b.target).closest(this.options.cancel).length:!1;return d&&!e&&this._mouseCapture(b)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){c.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(b)!==!1,!this._mouseStarted)?(b.preventDefault(),!0):(!0===a.data(b.target,this.widgetName+".preventClickEvent")&&a.removeData(b.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(a){return c._mouseMove(a)},this._mouseUpDelegate=function(a){return c._mouseUp(a)},this.document.bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),b.preventDefault(),l=!0,!0)):!0}},_mouseMove:function(b){if(this._mouseMoved){if(a.ui.ie&&(!document.documentMode||document.documentMode<9)&&!b.button)return this._mouseUp(b);if(!b.which)return this._mouseUp(b)}return(b.which||b.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(b),b.preventDefault()):(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b)),!this._mouseStarted)},_mouseUp:function(b){return this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target===this._mouseDownEvent.target&&a.data(b.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(b)),l=!1,!1},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}});!function(){function b(a,b,c){return[parseFloat(a[0])*(n.test(a[0])?b/100:1),parseFloat(a[1])*(n.test(a[1])?c/100:1)]}function c(b,c){return parseInt(a.css(b,c),10)||0}function d(b){var c=b[0];return 9===c.nodeType?{width:b.width(),height:b.height(),offset:{top:0,left:0}}:a.isWindow(c)?{width:b.width(),height:b.height(),offset:{top:b.scrollTop(),left:b.scrollLeft()}}:c.preventDefault?{width:0,height:0,offset:{top:c.pageY,left:c.pageX}}:{width:b.outerWidth(),height:b.outerHeight(),offset:b.offset()}}a.ui=a.ui||{};var e,f,g=Math.max,h=Math.abs,i=Math.round,j=/left|center|right/,k=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,m=/^\w+/,n=/%$/,o=a.fn.position;a.position={scrollbarWidth:function(){if(void 0!==e)return e;var b,c,d=a("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),f=d.children()[0];return a("body").append(d),b=f.offsetWidth,d.css("overflow","scroll"),c=f.offsetWidth,b===c&&(c=d[0].clientWidth),d.remove(),e=b-c},getScrollInfo:function(b){var c=b.isWindow||b.isDocument?"":b.element.css("overflow-x"),d=b.isWindow||b.isDocument?"":b.element.css("overflow-y"),e="scroll"===c||"auto"===c&&b.width<b.element[0].scrollWidth,f="scroll"===d||"auto"===d&&b.height<b.element[0].scrollHeight;return{width:f?a.position.scrollbarWidth():0,height:e?a.position.scrollbarWidth():0}},getWithinInfo:function(b){var c=a(b||window),d=a.isWindow(c[0]),e=!!c[0]&&9===c[0].nodeType;return{element:c,isWindow:d,isDocument:e,offset:c.offset()||{left:0,top:0},scrollLeft:c.scrollLeft(),scrollTop:c.scrollTop(),width:d||e?c.width():c.outerWidth(),height:d||e?c.height():c.outerHeight()}}},a.fn.position=function(e){if(!e||!e.of)return o.apply(this,arguments);e=a.extend({},e);var n,p,q,r,s,t,u=a(e.of),v=a.position.getWithinInfo(e.within),w=a.position.getScrollInfo(v),x=(e.collision||"flip").split(" "),y={};return t=d(u),u[0].preventDefault&&(e.at="left top"),p=t.width,q=t.height,r=t.offset,s=a.extend({},r),a.each(["my","at"],function(){var a,b,c=(e[this]||"").split(" ");1===c.length&&(c=j.test(c[0])?c.concat(["center"]):k.test(c[0])?["center"].concat(c):["center","center"]),c[0]=j.test(c[0])?c[0]:"center",c[1]=k.test(c[1])?c[1]:"center",a=l.exec(c[0]),b=l.exec(c[1]),y[this]=[a?a[0]:0,b?b[0]:0],e[this]=[m.exec(c[0])[0],m.exec(c[1])[0]]}),1===x.length&&(x[1]=x[0]),"right"===e.at[0]?s.left+=p:"center"===e.at[0]&&(s.left+=p/2),"bottom"===e.at[1]?s.top+=q:"center"===e.at[1]&&(s.top+=q/2),n=b(y.at,p,q),s.left+=n[0],s.top+=n[1],this.each(function(){var d,j,k=a(this),l=k.outerWidth(),m=k.outerHeight(),o=c(this,"marginLeft"),t=c(this,"marginTop"),z=l+o+c(this,"marginRight")+w.width,A=m+t+c(this,"marginBottom")+w.height,B=a.extend({},s),C=b(y.my,k.outerWidth(),k.outerHeight());"right"===e.my[0]?B.left-=l:"center"===e.my[0]&&(B.left-=l/2),"bottom"===e.my[1]?B.top-=m:"center"===e.my[1]&&(B.top-=m/2),B.left+=C[0],B.top+=C[1],f||(B.left=i(B.left),B.top=i(B.top)),d={marginLeft:o,marginTop:t},a.each(["left","top"],function(b,c){a.ui.position[x[b]]&&a.ui.position[x[b]][c](B,{targetWidth:p,targetHeight:q,elemWidth:l,elemHeight:m,collisionPosition:d,collisionWidth:z,collisionHeight:A,offset:[n[0]+C[0],n[1]+C[1]],my:e.my,at:e.at,within:v,elem:k})}),e.using&&(j=function(a){var b=r.left-B.left,c=b+p-l,d=r.top-B.top,f=d+q-m,i={target:{element:u,left:r.left,top:r.top,width:p,height:q},element:{element:k,left:B.left,top:B.top,width:l,height:m},horizontal:0>c?"left":b>0?"right":"center",vertical:0>f?"top":d>0?"bottom":"middle"};l>p&&h(b+c)<p&&(i.horizontal="center"),m>q&&h(d+f)<q&&(i.vertical="middle"),g(h(b),h(c))>g(h(d),h(f))?i.important="horizontal":i.important="vertical",e.using.call(this,a,i)}),k.offset(a.extend(B,{using:j}))})},a.ui.position={fit:{left:function(a,b){var c,d=b.within,e=d.isWindow?d.scrollLeft:d.offset.left,f=d.width,h=a.left-b.collisionPosition.marginLeft,i=e-h,j=h+b.collisionWidth-f-e;b.collisionWidth>f?i>0&&0>=j?(c=a.left+i+b.collisionWidth-f-e,a.left+=i-c):j>0&&0>=i?a.left=e:i>j?a.left=e+f-b.collisionWidth:a.left=e:i>0?a.left+=i:j>0?a.left-=j:a.left=g(a.left-h,a.left)},top:function(a,b){var c,d=b.within,e=d.isWindow?d.scrollTop:d.offset.top,f=b.within.height,h=a.top-b.collisionPosition.marginTop,i=e-h,j=h+b.collisionHeight-f-e;b.collisionHeight>f?i>0&&0>=j?(c=a.top+i+b.collisionHeight-f-e,a.top+=i-c):j>0&&0>=i?a.top=e:i>j?a.top=e+f-b.collisionHeight:a.top=e:i>0?a.top+=i:j>0?a.top-=j:a.top=g(a.top-h,a.top)}},flip:{left:function(a,b){var c,d,e=b.within,f=e.offset.left+e.scrollLeft,g=e.width,i=e.isWindow?e.scrollLeft:e.offset.left,j=a.left-b.collisionPosition.marginLeft,k=j-i,l=j+b.collisionWidth-g-i,m="left"===b.my[0]?-b.elemWidth:"right"===b.my[0]?b.elemWidth:0,n="left"===b.at[0]?b.targetWidth:"right"===b.at[0]?-b.targetWidth:0,o=-2*b.offset[0];0>k?(c=a.left+m+n+o+b.collisionWidth-g-f,(0>c||c<h(k))&&(a.left+=m+n+o)):l>0&&(d=a.left-b.collisionPosition.marginLeft+m+n+o-i,(d>0||h(d)<l)&&(a.left+=m+n+o))},top:function(a,b){var c,d,e=b.within,f=e.offset.top+e.scrollTop,g=e.height,i=e.isWindow?e.scrollTop:e.offset.top,j=a.top-b.collisionPosition.marginTop,k=j-i,l=j+b.collisionHeight-g-i,m="top"===b.my[1],n=m?-b.elemHeight:"bottom"===b.my[1]?b.elemHeight:0,o="top"===b.at[1]?b.targetHeight:"bottom"===b.at[1]?-b.targetHeight:0,p=-2*b.offset[1];0>k?(d=a.top+n+o+p+b.collisionHeight-g-f,(0>d||d<h(k))&&(a.top+=n+o+p)):l>0&&(c=a.top-b.collisionPosition.marginTop+n+o+p-i,(c>0||h(c)<l)&&(a.top+=n+o+p))}},flipfit:{left:function(){a.ui.position.flip.left.apply(this,arguments),a.ui.position.fit.left.apply(this,arguments)},top:function(){a.ui.position.flip.top.apply(this,arguments),
+a.ui.position.fit.top.apply(this,arguments)}}},function(){var b,c,d,e,g,h=document.getElementsByTagName("body")[0],i=document.createElement("div");b=document.createElement(h?"div":"body"),d={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},h&&a.extend(d,{position:"absolute",left:"-1000px",top:"-1000px"});for(g in d)b.style[g]=d[g];b.appendChild(i),c=h||document.documentElement,c.insertBefore(b,c.firstChild),i.style.cssText="position: absolute; left: 10.7432222px;",e=a(i).offset().left,f=e>10&&11>e,b.innerHTML="",c.removeChild(b)}()}();a.ui.position,a.widget("ui.accordion",{version:"1.11.4",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var b=this.options;this.prevShow=this.prevHide=a(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),b.collapsible||b.active!==!1&&null!=b.active||(b.active=0),this._processPanels(),b.active<0&&(b.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():a()}},_createIcons:function(){var b=this.options.icons;b&&(a("<span>").addClass("ui-accordion-header-icon ui-icon "+b.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(b.header).addClass(b.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var a;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").removeUniqueId(),this._destroyIcons(),a=this.headers.next().removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").css("display","").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&a.css("height","")},_setOption:function(a,b){return"active"===a?void this._activate(b):("event"===a&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(b)),this._super(a,b),"collapsible"!==a||b||this.options.active!==!1||this._activate(0),"icons"===a&&(this._destroyIcons(),b&&this._createIcons()),void("disabled"===a&&(this.element.toggleClass("ui-state-disabled",!!b).attr("aria-disabled",b),this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!b))))},_keydown:function(b){if(!b.altKey&&!b.ctrlKey){var c=a.ui.keyCode,d=this.headers.length,e=this.headers.index(b.target),f=!1;switch(b.keyCode){case c.RIGHT:case c.DOWN:f=this.headers[(e+1)%d];break;case c.LEFT:case c.UP:f=this.headers[(e-1+d)%d];break;case c.SPACE:case c.ENTER:this._eventHandler(b);break;case c.HOME:f=this.headers[0];break;case c.END:f=this.headers[d-1]}f&&(a(b.target).attr("tabIndex",-1),a(f).attr("tabIndex",0),f.focus(),b.preventDefault())}},_panelKeyDown:function(b){b.keyCode===a.ui.keyCode.UP&&b.ctrlKey&&a(b.currentTarget).prev().focus()},refresh:function(){var b=this.options;this._processPanels(),b.active===!1&&b.collapsible===!0||!this.headers.length?(b.active=!1,this.active=a()):b.active===!1?this._activate(0):this.active.length&&!a.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(b.active=!1,this.active=a()):this._activate(Math.max(0,b.active-1)):b.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var a=this.headers,b=this.panels;this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-state-default ui-corner-all"),this.panels=this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide(),b&&(this._off(a.not(this.headers)),this._off(b.not(this.panels)))},_refresh:function(){var b,c=this.options,d=c.heightStyle,e=this.element.parent();this.active=this._findActive(c.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(){var b=a(this),c=b.uniqueId().attr("id"),d=b.next(),e=d.uniqueId().attr("id");b.attr("aria-controls",e),d.attr("aria-labelledby",c)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(c.event),"fill"===d?(b=e.height(),this.element.siblings(":visible").each(function(){var c=a(this),d=c.css("position");"absolute"!==d&&"fixed"!==d&&(b-=c.outerHeight(!0))}),this.headers.each(function(){b-=a(this).outerHeight(!0)}),this.headers.next().each(function(){a(this).height(Math.max(0,b-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")):"auto"===d&&(b=0,this.headers.next().each(function(){b=Math.max(b,a(this).css("height","").height())}).height(b))},_activate:function(b){var c=this._findActive(b)[0];c!==this.active[0]&&(c=c||this.active[0],this._eventHandler({target:c,currentTarget:c,preventDefault:a.noop}))},_findActive:function(b){return"number"==typeof b?this.headers.eq(b):a()},_setupEvents:function(b){var c={keydown:"_keydown"};b&&a.each(b.split(" "),function(a,b){c[b]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,c),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(b){var c=this.options,d=this.active,e=a(b.currentTarget),f=e[0]===d[0],g=f&&c.collapsible,h=g?a():e.next(),i=d.next(),j={oldHeader:d,oldPanel:i,newHeader:g?a():e,newPanel:h};b.preventDefault(),f&&!c.collapsible||this._trigger("beforeActivate",b,j)===!1||(c.active=g?!1:this.headers.index(e),this.active=f?a():e,this._toggle(j),d.removeClass("ui-accordion-header-active ui-state-active"),c.icons&&d.children(".ui-accordion-header-icon").removeClass(c.icons.activeHeader).addClass(c.icons.header),f||(e.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),c.icons&&e.children(".ui-accordion-header-icon").removeClass(c.icons.header).addClass(c.icons.activeHeader),e.next().addClass("ui-accordion-content-active")))},_toggle:function(b){var c=b.newPanel,d=this.prevShow.length?this.prevShow:b.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=c,this.prevHide=d,this.options.animate?this._animate(c,d,b):(d.hide(),c.show(),this._toggleComplete(b)),d.attr({"aria-hidden":"true"}),d.prev().attr({"aria-selected":"false","aria-expanded":"false"}),c.length&&d.length?d.prev().attr({tabIndex:-1,"aria-expanded":"false"}):c.length&&this.headers.filter(function(){return 0===parseInt(a(this).attr("tabIndex"),10)}).attr("tabIndex",-1),c.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(a,b,c){var d,e,f,g=this,h=0,i=a.css("box-sizing"),j=a.length&&(!b.length||a.index()<b.index()),k=this.options.animate||{},l=j&&k.down||k,m=function(){g._toggleComplete(c)};return"number"==typeof l&&(f=l),"string"==typeof l&&(e=l),e=e||l.easing||k.easing,f=f||l.duration||k.duration,b.length?a.length?(d=a.show().outerHeight(),b.animate(this.hideProps,{duration:f,easing:e,step:function(a,b){b.now=Math.round(a)}}),void a.hide().animate(this.showProps,{duration:f,easing:e,complete:m,step:function(a,c){c.now=Math.round(a),"height"!==c.prop?"content-box"===i&&(h+=c.now):"content"!==g.options.heightStyle&&(c.now=Math.round(d-b.outerHeight()-h),h=0)}})):b.animate(this.hideProps,f,e,m):a.animate(this.showProps,f,e,m)},_toggleComplete:function(a){var b=a.oldPanel;b.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all"),b.length&&(b.parent()[0].className=b.parent()[0].className),this._trigger("activate",null,a)}}),a.widget("ui.menu",{version:"1.11.4",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},items:"> *",menus:"ul",position:{my:"left-1 top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item":function(a){a.preventDefault()},"click .ui-menu-item":function(b){var c=a(b.target);!this.mouseHandled&&c.not(".ui-state-disabled").length&&(this.select(b),b.isPropagationStopped()||(this.mouseHandled=!0),c.has(".ui-menu").length?this.expand(b):!this.element.is(":focus")&&a(this.document[0].activeElement).closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(b){if(!this.previousFilter){var c=a(b.currentTarget);c.siblings(".ui-state-active").removeClass("ui-state-active"),this.focus(b,c)}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(a,b){var c=this.active||this.element.find(this.options.items).eq(0);b||this.focus(a,c)},blur:function(b){this._delay(function(){a.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(b)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(a){this._closeOnDocumentClick(a)&&this.collapseAll(a),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-menu-icons ui-front").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").removeUniqueId().removeClass("ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var b=a(this);b.data("ui-menu-submenu-carat")&&b.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(b){var c,d,e,f,g=!0;switch(b.keyCode){case a.ui.keyCode.PAGE_UP:this.previousPage(b);break;case a.ui.keyCode.PAGE_DOWN:this.nextPage(b);break;case a.ui.keyCode.HOME:this._move("first","first",b);break;case a.ui.keyCode.END:this._move("last","last",b);break;case a.ui.keyCode.UP:this.previous(b);break;case a.ui.keyCode.DOWN:this.next(b);break;case a.ui.keyCode.LEFT:this.collapse(b);break;case a.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(b);break;case a.ui.keyCode.ENTER:case a.ui.keyCode.SPACE:this._activate(b);break;case a.ui.keyCode.ESCAPE:this.collapse(b);break;default:g=!1,d=this.previousFilter||"",e=String.fromCharCode(b.keyCode),f=!1,clearTimeout(this.filterTimer),e===d?f=!0:e=d+e,c=this._filterMenuItems(e),c=f&&-1!==c.index(this.active.next())?this.active.nextAll(".ui-menu-item"):c,c.length||(e=String.fromCharCode(b.keyCode),c=this._filterMenuItems(e)),c.length?(this.focus(b,c),this.previousFilter=e,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}g&&b.preventDefault()},_activate:function(a){this.active.is(".ui-state-disabled")||(this.active.is("[aria-haspopup='true']")?this.expand(a):this.select(a))},refresh:function(){var b,c,d=this,e=this.options.icons.submenu,f=this.element.find(this.options.menus);this.element.toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length),f.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-front").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var b=a(this),c=b.parent(),d=a("<span>").addClass("ui-menu-icon ui-icon "+e).data("ui-menu-submenu-carat",!0);c.attr("aria-haspopup","true").prepend(d),b.attr("aria-labelledby",c.attr("id"))}),b=f.add(this.element),c=b.find(this.options.items),c.not(".ui-menu-item").each(function(){var b=a(this);d._isDivider(b)&&b.addClass("ui-widget-content ui-menu-divider")}),c.not(".ui-menu-item, .ui-menu-divider").addClass("ui-menu-item").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),c.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!a.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(a,b){"icons"===a&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(b.submenu),"disabled"===a&&this.element.toggleClass("ui-state-disabled",!!b).attr("aria-disabled",b),this._super(a,b)},focus:function(a,b){var c,d;this.blur(a,a&&"focus"===a.type),this._scrollIntoView(b),this.active=b.first(),d=this.active.addClass("ui-state-focus").removeClass("ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",d.attr("id")),this.active.parent().closest(".ui-menu-item").addClass("ui-state-active"),a&&"keydown"===a.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),c=b.children(".ui-menu"),c.length&&a&&/^mouse/.test(a.type)&&this._startOpening(c),this.activeMenu=b.parent(),this._trigger("focus",a,{item:b})},_scrollIntoView:function(b){var c,d,e,f,g,h;this._hasScroll()&&(c=parseFloat(a.css(this.activeMenu[0],"borderTopWidth"))||0,d=parseFloat(a.css(this.activeMenu[0],"paddingTop"))||0,e=b.offset().top-this.activeMenu.offset().top-c-d,f=this.activeMenu.scrollTop(),g=this.activeMenu.height(),h=b.outerHeight(),0>e?this.activeMenu.scrollTop(f+e):e+h>g&&this.activeMenu.scrollTop(f+e-g+h))},blur:function(a,b){b||clearTimeout(this.timer),this.active&&(this.active.removeClass("ui-state-focus"),this.active=null,this._trigger("blur",a,{item:this.active}))},_startOpening:function(a){clearTimeout(this.timer),"true"===a.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(a)},this.delay))},_open:function(b){var c=a.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(b.parents(".ui-menu")).hide().attr("aria-hidden","true"),b.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(c)},collapseAll:function(b,c){clearTimeout(this.timer),this.timer=this._delay(function(){var d=c?this.element:a(b&&b.target).closest(this.element.find(".ui-menu"));d.length||(d=this.element),this._close(d),this.blur(b),this.activeMenu=d},this.delay)},_close:function(a){a||(a=this.active?this.active.parent():this.element),a.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find(".ui-state-active").not(".ui-state-focus").removeClass("ui-state-active")},_closeOnDocumentClick:function(b){return!a(b.target).closest(".ui-menu").length},_isDivider:function(a){return!/[^\-\u2014\u2013\s]/.test(a.text())},collapse:function(a){var b=this.active&&this.active.parent().closest(".ui-menu-item",this.element);b&&b.length&&(this._close(),this.focus(a,b))},expand:function(a){var b=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();b&&b.length&&(this._open(b.parent()),this._delay(function(){this.focus(a,b)}))},next:function(a){this._move("next","first",a)},previous:function(a){this._move("prev","last",a)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(a,b,c){var d;this.active&&(d="first"===a||"last"===a?this.active["first"===a?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[a+"All"](".ui-menu-item").eq(0)),d&&d.length&&this.active||(d=this.activeMenu.find(this.options.items)[b]()),this.focus(c,d)},nextPage:function(b){var c,d,e;return this.active?void(this.isLastItem()||(this._hasScroll()?(d=this.active.offset().top,e=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return c=a(this),c.offset().top-d-e<0}),this.focus(b,c)):this.focus(b,this.activeMenu.find(this.options.items)[this.active?"last":"first"]()))):void this.next(b)},previousPage:function(b){var c,d,e;return this.active?void(this.isFirstItem()||(this._hasScroll()?(d=this.active.offset().top,e=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return c=a(this),c.offset().top-d+e>0}),this.focus(b,c)):this.focus(b,this.activeMenu.find(this.options.items).first()))):void this.next(b)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(b){this.active=this.active||a(b.target).closest(".ui-menu-item");var c={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(b,!0),this._trigger("select",b,c)},_filterMenuItems:function(b){var c=b.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),d=new RegExp("^"+c,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return d.test(a.trim(a(this).text()))})}});a.widget("ui.autocomplete",{version:"1.11.4",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var b,c,d,e=this.element[0].nodeName.toLowerCase(),f="textarea"===e,g="input"===e;this.isMultiLine=f?!0:g?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[f||g?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(e){if(this.element.prop("readOnly"))return b=!0,d=!0,void(c=!0);b=!1,d=!1,c=!1;var f=a.ui.keyCode;switch(e.keyCode){case f.PAGE_UP:b=!0,this._move("previousPage",e);break;case f.PAGE_DOWN:b=!0,this._move("nextPage",e);break;case f.UP:b=!0,this._keyEvent("previous",e);break;case f.DOWN:b=!0,this._keyEvent("next",e);break;case f.ENTER:this.menu.active&&(b=!0,e.preventDefault(),this.menu.select(e));break;case f.TAB:this.menu.active&&this.menu.select(e);break;case f.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(e),e.preventDefault());break;default:c=!0,this._searchTimeout(e)}},keypress:function(d){if(b)return b=!1,void((!this.isMultiLine||this.menu.element.is(":visible"))&&d.preventDefault());if(!c){var e=a.ui.keyCode;switch(d.keyCode){case e.PAGE_UP:this._move("previousPage",d);break;case e.PAGE_DOWN:this._move("nextPage",d);break;case e.UP:this._keyEvent("previous",d);break;case e.DOWN:this._keyEvent("next",d)}}},input:function(a){return d?(d=!1,void a.preventDefault()):void this._searchTimeout(a)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(a){return this.cancelBlur?void delete this.cancelBlur:(clearTimeout(this.searching),this.close(a),void this._change(a))}}),this._initSource(),this.menu=a("<ul>").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._on(this.menu.element,{mousedown:function(b){b.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var c=this.menu.element[0];a(b.target).closest(".ui-menu-item").length||this._delay(function(){var b=this;this.document.one("mousedown",function(d){d.target===b.element[0]||d.target===c||a.contains(c,d.target)||b.close()})})},menufocus:function(b,c){var d,e;return this.isNewMenu&&(this.isNewMenu=!1,b.originalEvent&&/^mouse/.test(b.originalEvent.type))?(this.menu.blur(),void this.document.one("mousemove",function(){a(b.target).trigger(b.originalEvent)})):(e=c.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",b,{item:e})&&b.originalEvent&&/^key/.test(b.originalEvent.type)&&this._value(e.value),d=c.item.attr("aria-label")||e.value,void(d&&a.trim(d).length&&(this.liveRegion.children().hide(),a("<div>").text(d).appendTo(this.liveRegion))))},menuselect:function(a,b){var c=b.item.data("ui-autocomplete-item"),d=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=d,this._delay(function(){this.previous=d,this.selectedItem=c})),!1!==this._trigger("select",a,{item:c})&&this._value(c.value),this.term=this._value(),this.close(a),this.selectedItem=c}}),this.liveRegion=a("<span>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(a,b){this._super(a,b),"source"===a&&this._initSource(),"appendTo"===a&&this.menu.element.appendTo(this._appendTo()),"disabled"===a&&b&&this.xhr&&this.xhr.abort()},_appendTo:function(){var b=this.options.appendTo;return b&&(b=b.jquery||b.nodeType?a(b):this.document.find(b).eq(0)),b&&b[0]||(b=this.element.closest(".ui-front")),b.length||(b=this.document[0].body),b},_initSource:function(){var b,c,d=this;a.isArray(this.options.source)?(b=this.options.source,this.source=function(c,d){d(a.ui.autocomplete.filter(b,c.term))}):"string"==typeof this.options.source?(c=this.options.source,this.source=function(b,e){d.xhr&&d.xhr.abort(),d.xhr=a.ajax({url:c,data:b,dataType:"json",success:function(a){e(a)},error:function(){e([])}})}):this.source=this.options.source},_searchTimeout:function(a){clearTimeout(this.searching),this.searching=this._delay(function(){var b=this.term===this._value(),c=this.menu.element.is(":visible"),d=a.altKey||a.ctrlKey||a.metaKey||a.shiftKey;(!b||b&&!c&&!d)&&(this.selectedItem=null,this.search(null,a))},this.options.delay)},search:function(a,b){return a=null!=a?a:this._value(),this.term=this._value(),a.length<this.options.minLength?this.close(b):this._trigger("search",b)!==!1?this._search(a):void 0},_search:function(a){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:a},this._response())},_response:function(){var b=++this.requestIndex;return a.proxy(function(a){b===this.requestIndex&&this.__response(a),this.pending--,this.pending||this.element.removeClass("ui-autocomplete-loading")},this)},__response:function(a){a&&(a=this._normalize(a)),this._trigger("response",null,{content:a}),!this.options.disabled&&a&&a.length&&!this.cancelSearch?(this._suggest(a),this._trigger("open")):this._close()},close:function(a){this.cancelSearch=!0,this._close(a)},_close:function(a){this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",a))},_change:function(a){this.previous!==this._value()&&this._trigger("change",a,{item:this.selectedItem})},_normalize:function(b){return b.length&&b[0].label&&b[0].value?b:a.map(b,function(b){return"string"==typeof b?{label:b,value:b}:a.extend({},b,{label:b.label||b.value,value:b.value||b.label})})},_suggest:function(b){var c=this.menu.element.empty();this._renderMenu(c,b),this.isNewMenu=!0,this.menu.refresh(),c.show(),this._resizeMenu(),c.position(a.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next()},_resizeMenu:function(){var a=this.menu.element;a.outerWidth(Math.max(a.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(b,c){var d=this;a.each(c,function(a,c){d._renderItemData(b,c)})},_renderItemData:function(a,b){return this._renderItem(a,b).data("ui-autocomplete-item",b)},_renderItem:function(b,c){return a("<li>").text(c.label).appendTo(b)},_move:function(a,b){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(a)||this.menu.isLastItem()&&/^next/.test(a)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[a](b):void this.search(null,b)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(a,b){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(a,b),b.preventDefault())}}),a.extend(a.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(b,c){var d=new RegExp(a.ui.autocomplete.escapeRegex(c),"i");return a.grep(b,function(a){return d.test(a.label||a.value||a)})}}),a.widget("ui.autocomplete",a.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(a){return a+(a>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(b){var c;this._superApply(arguments),this.options.disabled||this.cancelSearch||(c=b&&b.length?this.options.messages.results(b.length):this.options.messages.noResults,this.liveRegion.children().hide(),a("<div>").text(c).appendTo(this.liveRegion))}});var m,n=(a.ui.autocomplete,"ui-button ui-widget ui-state-default ui-corner-all"),o="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",p=function(){var b=a(this);setTimeout(function(){b.find(":ui-button").button("refresh")},1)},q=function(b){var c=b.name,d=b.form,e=a([]);return c&&(c=c.replace(/'/g,"\\'"),e=d?a(d).find("[name='"+c+"'][type=radio]"):a("[name='"+c+"'][type=radio]",b.ownerDocument).filter(function(){return!this.form})),e};a.widget("ui.button",{version:"1.11.4",defaultElement:"<button>",options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset"+this.eventNamespace).bind("reset"+this.eventNamespace,p),"boolean"!=typeof this.options.disabled?this.options.disabled=!!this.element.prop("disabled"):this.element.prop("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var b=this,c=this.options,d="checkbox"===this.type||"radio"===this.type,e=d?"":"ui-state-active";null===c.label&&(c.label="input"===this.type?this.buttonElement.val():this.buttonElement.html()),this._hoverable(this.buttonElement),this.buttonElement.addClass(n).attr("role","button").bind("mouseenter"+this.eventNamespace,function(){c.disabled||this===m&&a(this).addClass("ui-state-active")}).bind("mouseleave"+this.eventNamespace,function(){c.disabled||a(this).removeClass(e)}).bind("click"+this.eventNamespace,function(a){c.disabled&&(a.preventDefault(),a.stopImmediatePropagation())}),this._on({focus:function(){this.buttonElement.addClass("ui-state-focus")},blur:function(){this.buttonElement.removeClass("ui-state-focus")}}),d&&this.element.bind("change"+this.eventNamespace,function(){b.refresh()}),"checkbox"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){return c.disabled?!1:void 0}):"radio"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){if(c.disabled)return!1;a(this).addClass("ui-state-active"),b.buttonElement.attr("aria-pressed","true");var d=b.element[0];q(d).not(d).map(function(){return a(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown"+this.eventNamespace,function(){return c.disabled?!1:(a(this).addClass("ui-state-active"),m=this,void b.document.one("mouseup",function(){m=null}))}).bind("mouseup"+this.eventNamespace,function(){return c.disabled?!1:void a(this).removeClass("ui-state-active")}).bind("keydown"+this.eventNamespace,function(b){return c.disabled?!1:void((b.keyCode===a.ui.keyCode.SPACE||b.keyCode===a.ui.keyCode.ENTER)&&a(this).addClass("ui-state-active"))}).bind("keyup"+this.eventNamespace+" blur"+this.eventNamespace,function(){a(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(b){b.keyCode===a.ui.keyCode.SPACE&&a(this).click()})),this._setOption("disabled",c.disabled),this._resetButton()},_determineButtonType:function(){var a,b,c;this.element.is("[type=checkbox]")?this.type="checkbox":this.element.is("[type=radio]")?this.type="radio":this.element.is("input")?this.type="input":this.type="button","checkbox"===this.type||"radio"===this.type?(a=this.element.parents().last(),b="label[for='"+this.element.attr("id")+"']",this.buttonElement=a.find(b),this.buttonElement.length||(a=a.length?a.siblings():this.element.siblings(),this.buttonElement=a.filter(b),this.buttonElement.length||(this.buttonElement=a.find(b))),this.element.addClass("ui-helper-hidden-accessible"),c=this.element.is(":checked"),c&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.prop("aria-pressed",c)):this.buttonElement=this.element},widget:function(){return this.buttonElement},_destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(n+" ui-state-active "+o).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title")},_setOption:function(a,b){return this._super(a,b),"disabled"===a?(this.widget().toggleClass("ui-state-disabled",!!b),this.element.prop("disabled",!!b),void(b&&("checkbox"===this.type||"radio"===this.type?this.buttonElement.removeClass("ui-state-focus"):this.buttonElement.removeClass("ui-state-focus ui-state-active")))):void this._resetButton()},refresh:function(){var b=this.element.is("input, button")?this.element.is(":disabled"):this.element.hasClass("ui-button-disabled");b!==this.options.disabled&&this._setOption("disabled",b),"radio"===this.type?q(this.element[0]).each(function(){a(this).is(":checked")?a(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):a(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):"checkbox"===this.type&&(this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false"))},_resetButton:function(){if("input"===this.type)return void(this.options.label&&this.element.val(this.options.label));var b=this.buttonElement.removeClass(o),c=a("<span></span>",this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,e=d.primary&&d.secondary,f=[];d.primary||d.secondary?(this.options.text&&f.push("ui-button-text-icon"+(e?"s":d.primary?"-primary":"-secondary")),d.primary&&b.prepend("<span class='ui-button-icon-primary ui-icon "+d.primary+"'></span>"),d.secondary&&b.append("<span class='ui-button-icon-secondary ui-icon "+d.secondary+"'></span>"),this.options.text||(f.push(e?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||b.attr("title",a.trim(c)))):f.push("ui-button-text-only"),b.addClass(f.join(" "))}}),a.widget("ui.buttonset",{version:"1.11.4",options:{items:"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"
+},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(a,b){"disabled"===a&&this.buttons.button("option",a,b),this._super(a,b)},refresh:function(){var b="rtl"===this.element.css("direction"),c=this.element.find(this.options.items),d=c.filter(":ui-button");c.not(":ui-button").button(),d.button("refresh"),this.buttons=c.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(b?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(b?"ui-corner-left":"ui-corner-right").end().end()},_destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")}});a.ui.button;a.extend(a.ui,{datepicker:{version:"1.11.4"}});var r;a.extend(e.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){return h(this._defaults,a||{}),this},_attachDatepicker:function(b,c){var d,e,f;d=b.nodeName.toLowerCase(),e="div"===d||"span"===d,b.id||(this.uuid+=1,b.id="dp"+this.uuid),f=this._newInst(a(b),e),f.settings=a.extend({},c||{}),"input"===d?this._connectDatepicker(b,f):e&&this._inlineDatepicker(b,f)},_newInst:function(b,c){var d=b[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:d,input:b,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:c,dpDiv:c?f(a("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(b,c){var d=a(b);c.append=a([]),c.trigger=a([]),d.hasClass(this.markerClassName)||(this._attachments(d,c),d.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp),this._autoSize(c),a.data(b,"datepicker",c),c.settings.disabled&&this._disableDatepicker(b))},_attachments:function(b,c){var d,e,f,g=this._get(c,"appendText"),h=this._get(c,"isRTL");c.append&&c.append.remove(),g&&(c.append=a("<span class='"+this._appendClass+"'>"+g+"</span>"),b[h?"before":"after"](c.append)),b.unbind("focus",this._showDatepicker),c.trigger&&c.trigger.remove(),d=this._get(c,"showOn"),("focus"===d||"both"===d)&&b.focus(this._showDatepicker),("button"===d||"both"===d)&&(e=this._get(c,"buttonText"),f=this._get(c,"buttonImage"),c.trigger=a(this._get(c,"buttonImageOnly")?a("<img/>").addClass(this._triggerClass).attr({src:f,alt:e,title:e}):a("<button type='button'></button>").addClass(this._triggerClass).html(f?a("<img/>").attr({src:f,alt:e,title:e}):e)),b[h?"before":"after"](c.trigger),c.trigger.click(function(){return a.datepicker._datepickerShowing&&a.datepicker._lastInput===b[0]?a.datepicker._hideDatepicker():a.datepicker._datepickerShowing&&a.datepicker._lastInput!==b[0]?(a.datepicker._hideDatepicker(),a.datepicker._showDatepicker(b[0])):a.datepicker._showDatepicker(b[0]),!1}))},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b,c,d,e,f=new Date(2009,11,20),g=this._get(a,"dateFormat");g.match(/[DM]/)&&(b=function(a){for(c=0,d=0,e=0;e<a.length;e++)a[e].length>c&&(c=a[e].length,d=e);return d},f.setMonth(b(this._get(a,g.match(/MM/)?"monthNames":"monthNamesShort"))),f.setDate(b(this._get(a,g.match(/DD/)?"dayNames":"dayNamesShort"))+20-f.getDay())),a.input.attr("size",this._formatDate(a,f).length)}},_inlineDatepicker:function(b,c){var d=a(b);d.hasClass(this.markerClassName)||(d.addClass(this.markerClassName).append(c.dpDiv),a.data(b,"datepicker",c),this._setDate(c,this._getDefaultDate(c),!0),this._updateDatepicker(c),this._updateAlternate(c),c.settings.disabled&&this._disableDatepicker(b),c.dpDiv.css("display","block"))},_dialogDatepicker:function(b,c,d,e,f){var g,i,j,k,l,m=this._dialogInst;return m||(this.uuid+=1,g="dp"+this.uuid,this._dialogInput=a("<input type='text' id='"+g+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.keydown(this._doKeyDown),a("body").append(this._dialogInput),m=this._dialogInst=this._newInst(this._dialogInput,!1),m.settings={},a.data(this._dialogInput[0],"datepicker",m)),h(m.settings,e||{}),c=c&&c.constructor===Date?this._formatDate(m,c):c,this._dialogInput.val(c),this._pos=f?f.length?f:[f.pageX,f.pageY]:null,this._pos||(i=document.documentElement.clientWidth,j=document.documentElement.clientHeight,k=document.documentElement.scrollLeft||document.body.scrollLeft,l=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[i/2-100+k,j/2-150+l]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),m.settings.onSelect=d,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),a.blockUI&&a.blockUI(this.dpDiv),a.data(this._dialogInput[0],"datepicker",m),this},_destroyDatepicker:function(b){var c,d=a(b),e=a.data(b,"datepicker");d.hasClass(this.markerClassName)&&(c=b.nodeName.toLowerCase(),a.removeData(b,"datepicker"),"input"===c?(e.append.remove(),e.trigger.remove(),d.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===c||"span"===c)&&d.removeClass(this.markerClassName).empty(),r===e&&(r=null))},_enableDatepicker:function(b){var c,d,e=a(b),f=a.data(b,"datepicker");e.hasClass(this.markerClassName)&&(c=b.nodeName.toLowerCase(),"input"===c?(b.disabled=!1,f.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===c||"span"===c)&&(d=e.children("."+this._inlineClass),d.children().removeClass("ui-state-disabled"),d.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=a.map(this._disabledInputs,function(a){return a===b?null:a}))},_disableDatepicker:function(b){var c,d,e=a(b),f=a.data(b,"datepicker");e.hasClass(this.markerClassName)&&(c=b.nodeName.toLowerCase(),"input"===c?(b.disabled=!0,f.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===c||"span"===c)&&(d=e.children("."+this._inlineClass),d.children().addClass("ui-state-disabled"),d.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=a.map(this._disabledInputs,function(a){return a===b?null:a}),this._disabledInputs[this._disabledInputs.length]=b)},_isDisabledDatepicker:function(a){if(!a)return!1;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]===a)return!0;return!1},_getInst:function(b){try{return a.data(b,"datepicker")}catch(c){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(b,c,d){var e,f,g,i,j=this._getInst(b);return 2===arguments.length&&"string"==typeof c?"defaults"===c?a.extend({},a.datepicker._defaults):j?"all"===c?a.extend({},j.settings):this._get(j,c):null:(e=c||{},"string"==typeof c&&(e={},e[c]=d),void(j&&(this._curInst===j&&this._hideDatepicker(),f=this._getDateDatepicker(b,!0),g=this._getMinMaxDate(j,"min"),i=this._getMinMaxDate(j,"max"),h(j.settings,e),null!==g&&void 0!==e.dateFormat&&void 0===e.minDate&&(j.settings.minDate=this._formatDate(j,g)),null!==i&&void 0!==e.dateFormat&&void 0===e.maxDate&&(j.settings.maxDate=this._formatDate(j,i)),"disabled"in e&&(e.disabled?this._disableDatepicker(b):this._enableDatepicker(b)),this._attachments(a(b),j),this._autoSize(j),this._setDate(j,f),this._updateAlternate(j),this._updateDatepicker(j))))},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){var b=this._getInst(a);b&&this._updateDatepicker(b)},_setDateDatepicker:function(a,b){var c=this._getInst(a);c&&(this._setDate(c,b),this._updateDatepicker(c),this._updateAlternate(c))},_getDateDatepicker:function(a,b){var c=this._getInst(a);return c&&!c.inline&&this._setDateFromField(c,b),c?this._getDate(c):null},_doKeyDown:function(b){var c,d,e,f=a.datepicker._getInst(b.target),g=!0,h=f.dpDiv.is(".ui-datepicker-rtl");if(f._keyEvent=!0,a.datepicker._datepickerShowing)switch(b.keyCode){case 9:a.datepicker._hideDatepicker(),g=!1;break;case 13:return e=a("td."+a.datepicker._dayOverClass+":not(."+a.datepicker._currentClass+")",f.dpDiv),e[0]&&a.datepicker._selectDay(b.target,f.selectedMonth,f.selectedYear,e[0]),c=a.datepicker._get(f,"onSelect"),c?(d=a.datepicker._formatDate(f),c.apply(f.input?f.input[0]:null,[d,f])):a.datepicker._hideDatepicker(),!1;case 27:a.datepicker._hideDatepicker();break;case 33:a.datepicker._adjustDate(b.target,b.ctrlKey?-a.datepicker._get(f,"stepBigMonths"):-a.datepicker._get(f,"stepMonths"),"M");break;case 34:a.datepicker._adjustDate(b.target,b.ctrlKey?+a.datepicker._get(f,"stepBigMonths"):+a.datepicker._get(f,"stepMonths"),"M");break;case 35:(b.ctrlKey||b.metaKey)&&a.datepicker._clearDate(b.target),g=b.ctrlKey||b.metaKey;break;case 36:(b.ctrlKey||b.metaKey)&&a.datepicker._gotoToday(b.target),g=b.ctrlKey||b.metaKey;break;case 37:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,h?1:-1,"D"),g=b.ctrlKey||b.metaKey,b.originalEvent.altKey&&a.datepicker._adjustDate(b.target,b.ctrlKey?-a.datepicker._get(f,"stepBigMonths"):-a.datepicker._get(f,"stepMonths"),"M");break;case 38:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,-7,"D"),g=b.ctrlKey||b.metaKey;break;case 39:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,h?-1:1,"D"),g=b.ctrlKey||b.metaKey,b.originalEvent.altKey&&a.datepicker._adjustDate(b.target,b.ctrlKey?+a.datepicker._get(f,"stepBigMonths"):+a.datepicker._get(f,"stepMonths"),"M");break;case 40:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,7,"D"),g=b.ctrlKey||b.metaKey;break;default:g=!1}else 36===b.keyCode&&b.ctrlKey?a.datepicker._showDatepicker(this):g=!1;g&&(b.preventDefault(),b.stopPropagation())},_doKeyPress:function(b){var c,d,e=a.datepicker._getInst(b.target);return a.datepicker._get(e,"constrainInput")?(c=a.datepicker._possibleChars(a.datepicker._get(e,"dateFormat")),d=String.fromCharCode(null==b.charCode?b.keyCode:b.charCode),b.ctrlKey||b.metaKey||" ">d||!c||c.indexOf(d)>-1):void 0},_doKeyUp:function(b){var c,d=a.datepicker._getInst(b.target);if(d.input.val()!==d.lastVal)try{c=a.datepicker.parseDate(a.datepicker._get(d,"dateFormat"),d.input?d.input.val():null,a.datepicker._getFormatConfig(d)),c&&(a.datepicker._setDateFromField(d),a.datepicker._updateAlternate(d),a.datepicker._updateDatepicker(d))}catch(e){}return!0},_showDatepicker:function(b){if(b=b.target||b,"input"!==b.nodeName.toLowerCase()&&(b=a("input",b.parentNode)[0]),!a.datepicker._isDisabledDatepicker(b)&&a.datepicker._lastInput!==b){var c,e,f,g,i,j,k;c=a.datepicker._getInst(b),a.datepicker._curInst&&a.datepicker._curInst!==c&&(a.datepicker._curInst.dpDiv.stop(!0,!0),c&&a.datepicker._datepickerShowing&&a.datepicker._hideDatepicker(a.datepicker._curInst.input[0])),e=a.datepicker._get(c,"beforeShow"),f=e?e.apply(b,[b,c]):{},f!==!1&&(h(c.settings,f),c.lastVal=null,a.datepicker._lastInput=b,a.datepicker._setDateFromField(c),a.datepicker._inDialog&&(b.value=""),a.datepicker._pos||(a.datepicker._pos=a.datepicker._findPos(b),a.datepicker._pos[1]+=b.offsetHeight),g=!1,a(b).parents().each(function(){return g|="fixed"===a(this).css("position"),!g}),i={left:a.datepicker._pos[0],top:a.datepicker._pos[1]},a.datepicker._pos=null,c.dpDiv.empty(),c.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),a.datepicker._updateDatepicker(c),i=a.datepicker._checkOffset(c,i,g),c.dpDiv.css({position:a.datepicker._inDialog&&a.blockUI?"static":g?"fixed":"absolute",display:"none",left:i.left+"px",top:i.top+"px"}),c.inline||(j=a.datepicker._get(c,"showAnim"),k=a.datepicker._get(c,"duration"),c.dpDiv.css("z-index",d(a(b))+1),a.datepicker._datepickerShowing=!0,a.effects&&a.effects.effect[j]?c.dpDiv.show(j,a.datepicker._get(c,"showOptions"),k):c.dpDiv[j||"show"](j?k:null),a.datepicker._shouldFocusInput(c)&&c.input.focus(),a.datepicker._curInst=c))}},_updateDatepicker:function(b){this.maxRows=4,r=b,b.dpDiv.empty().append(this._generateHTML(b)),this._attachHandlers(b);var c,d=this._getNumberOfMonths(b),e=d[1],f=17,h=b.dpDiv.find("."+this._dayOverClass+" a");h.length>0&&g.apply(h.get(0)),b.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),e>1&&b.dpDiv.addClass("ui-datepicker-multi-"+e).css("width",f*e+"em"),b.dpDiv[(1!==d[0]||1!==d[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),b.dpDiv[(this._get(b,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),b===a.datepicker._curInst&&a.datepicker._datepickerShowing&&a.datepicker._shouldFocusInput(b)&&b.input.focus(),b.yearshtml&&(c=b.yearshtml,setTimeout(function(){c===b.yearshtml&&b.yearshtml&&b.dpDiv.find("select.ui-datepicker-year:first").replaceWith(b.yearshtml),c=b.yearshtml=null},0))},_shouldFocusInput:function(a){return a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&!a.input.is(":focus")},_checkOffset:function(b,c,d){var e=b.dpDiv.outerWidth(),f=b.dpDiv.outerHeight(),g=b.input?b.input.outerWidth():0,h=b.input?b.input.outerHeight():0,i=document.documentElement.clientWidth+(d?0:a(document).scrollLeft()),j=document.documentElement.clientHeight+(d?0:a(document).scrollTop());return c.left-=this._get(b,"isRTL")?e-g:0,c.left-=d&&c.left===b.input.offset().left?a(document).scrollLeft():0,c.top-=d&&c.top===b.input.offset().top+h?a(document).scrollTop():0,c.left-=Math.min(c.left,c.left+e>i&&i>e?Math.abs(c.left+e-i):0),c.top-=Math.min(c.top,c.top+f>j&&j>f?Math.abs(f+h):0),c},_findPos:function(b){for(var c,d=this._getInst(b),e=this._get(d,"isRTL");b&&("hidden"===b.type||1!==b.nodeType||a.expr.filters.hidden(b));)b=b[e?"previousSibling":"nextSibling"];return c=a(b).offset(),[c.left,c.top]},_hideDatepicker:function(b){var c,d,e,f,g=this._curInst;!g||b&&g!==a.data(b,"datepicker")||this._datepickerShowing&&(c=this._get(g,"showAnim"),d=this._get(g,"duration"),e=function(){a.datepicker._tidyDialog(g)},a.effects&&(a.effects.effect[c]||a.effects[c])?g.dpDiv.hide(c,a.datepicker._get(g,"showOptions"),d,e):g.dpDiv["slideDown"===c?"slideUp":"fadeIn"===c?"fadeOut":"hide"](c?d:null,e),c||e(),this._datepickerShowing=!1,f=this._get(g,"onClose"),f&&f.apply(g.input?g.input[0]:null,[g.input?g.input.val():"",g]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),a.blockUI&&(a.unblockUI(),a("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(b){if(a.datepicker._curInst){var c=a(b.target),d=a.datepicker._getInst(c[0]);(c[0].id!==a.datepicker._mainDivId&&0===c.parents("#"+a.datepicker._mainDivId).length&&!c.hasClass(a.datepicker.markerClassName)&&!c.closest("."+a.datepicker._triggerClass).length&&a.datepicker._datepickerShowing&&(!a.datepicker._inDialog||!a.blockUI)||c.hasClass(a.datepicker.markerClassName)&&a.datepicker._curInst!==d)&&a.datepicker._hideDatepicker()}},_adjustDate:function(b,c,d){var e=a(b),f=this._getInst(e[0]);this._isDisabledDatepicker(e[0])||(this._adjustInstDate(f,c+("M"===d?this._get(f,"showCurrentAtPos"):0),d),this._updateDatepicker(f))},_gotoToday:function(b){var c,d=a(b),e=this._getInst(d[0]);this._get(e,"gotoCurrent")&&e.currentDay?(e.selectedDay=e.currentDay,e.drawMonth=e.selectedMonth=e.currentMonth,e.drawYear=e.selectedYear=e.currentYear):(c=new Date,e.selectedDay=c.getDate(),e.drawMonth=e.selectedMonth=c.getMonth(),e.drawYear=e.selectedYear=c.getFullYear()),this._notifyChange(e),this._adjustDate(d)},_selectMonthYear:function(b,c,d){var e=a(b),f=this._getInst(e[0]);f["selected"+("M"===d?"Month":"Year")]=f["draw"+("M"===d?"Month":"Year")]=parseInt(c.options[c.selectedIndex].value,10),this._notifyChange(f),this._adjustDate(e)},_selectDay:function(b,c,d,e){var f,g=a(b);a(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(g[0])||(f=this._getInst(g[0]),f.selectedDay=f.currentDay=a("a",e).html(),f.selectedMonth=f.currentMonth=c,f.selectedYear=f.currentYear=d,this._selectDate(b,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear)))},_clearDate:function(b){var c=a(b);this._selectDate(c,"")},_selectDate:function(b,c){var d,e=a(b),f=this._getInst(e[0]);c=null!=c?c:this._formatDate(f),f.input&&f.input.val(c),this._updateAlternate(f),d=this._get(f,"onSelect"),d?d.apply(f.input?f.input[0]:null,[c,f]):f.input&&f.input.trigger("change"),f.inline?this._updateDatepicker(f):(this._hideDatepicker(),this._lastInput=f.input[0],"object"!=typeof f.input[0]&&f.input.focus(),this._lastInput=null)},_updateAlternate:function(b){var c,d,e,f=this._get(b,"altField");f&&(c=this._get(b,"altFormat")||this._get(b,"dateFormat"),d=this._getDate(b),e=this.formatDate(c,d,this._getFormatConfig(b)),a(f).each(function(){a(this).val(e)}))},noWeekends:function(a){var b=a.getDay();return[b>0&&6>b,""]},iso8601Week:function(a){var b,c=new Date(a.getTime());return c.setDate(c.getDate()+4-(c.getDay()||7)),b=c.getTime(),c.setMonth(0),c.setDate(1),Math.floor(Math.round((b-c)/864e5)/7)+1},parseDate:function(b,c,d){if(null==b||null==c)throw"Invalid arguments";if(c="object"==typeof c?c.toString():c+"",""===c)return null;var e,f,g,h,i=0,j=(d?d.shortYearCutoff:null)||this._defaults.shortYearCutoff,k="string"!=typeof j?j:(new Date).getFullYear()%100+parseInt(j,10),l=(d?d.dayNamesShort:null)||this._defaults.dayNamesShort,m=(d?d.dayNames:null)||this._defaults.dayNames,n=(d?d.monthNamesShort:null)||this._defaults.monthNamesShort,o=(d?d.monthNames:null)||this._defaults.monthNames,p=-1,q=-1,r=-1,s=-1,t=!1,u=function(a){var c=e+1<b.length&&b.charAt(e+1)===a;return c&&e++,c},v=function(a){var b=u(a),d="@"===a?14:"!"===a?20:"y"===a&&b?4:"o"===a?3:2,e="y"===a?d:1,f=new RegExp("^\\d{"+e+","+d+"}"),g=c.substring(i).match(f);if(!g)throw"Missing number at position "+i;return i+=g[0].length,parseInt(g[0],10)},w=function(b,d,e){var f=-1,g=a.map(u(b)?e:d,function(a,b){return[[b,a]]}).sort(function(a,b){return-(a[1].length-b[1].length)});if(a.each(g,function(a,b){var d=b[1];return c.substr(i,d.length).toLowerCase()===d.toLowerCase()?(f=b[0],i+=d.length,!1):void 0}),-1!==f)return f+1;throw"Unknown name at position "+i},x=function(){if(c.charAt(i)!==b.charAt(e))throw"Unexpected literal at position "+i;i++};for(e=0;e<b.length;e++)if(t)"'"!==b.charAt(e)||u("'")?x():t=!1;else switch(b.charAt(e)){case"d":r=v("d");break;case"D":w("D",l,m);break;case"o":s=v("o");break;case"m":q=v("m");break;case"M":q=w("M",n,o);break;case"y":p=v("y");break;case"@":h=new Date(v("@")),p=h.getFullYear(),q=h.getMonth()+1,r=h.getDate();break;case"!":h=new Date((v("!")-this._ticksTo1970)/1e4),p=h.getFullYear(),q=h.getMonth()+1,r=h.getDate();break;case"'":u("'")?x():t=!0;break;default:x()}if(i<c.length&&(g=c.substr(i),!/^\s+/.test(g)))throw"Extra/unparsed characters found in date: "+g;if(-1===p?p=(new Date).getFullYear():100>p&&(p+=(new Date).getFullYear()-(new Date).getFullYear()%100+(k>=p?0:-100)),s>-1)for(q=1,r=s;;){if(f=this._getDaysInMonth(p,q-1),f>=r)break;q++,r-=f}if(h=this._daylightSavingAdjust(new Date(p,q-1,r)),h.getFullYear()!==p||h.getMonth()+1!==q||h.getDate()!==r)throw"Invalid date";return h},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*60*60*1e7,formatDate:function(a,b,c){if(!b)return"";var d,e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,g=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,h=(c?c.monthNames:null)||this._defaults.monthNames,i=function(b){var c=d+1<a.length&&a.charAt(d+1)===b;return c&&d++,c},j=function(a,b,c){var d=""+b;if(i(a))for(;d.length<c;)d="0"+d;return d},k=function(a,b,c,d){return i(a)?d[b]:c[b]},l="",m=!1;if(b)for(d=0;d<a.length;d++)if(m)"'"!==a.charAt(d)||i("'")?l+=a.charAt(d):m=!1;else switch(a.charAt(d)){case"d":l+=j("d",b.getDate(),2);break;case"D":l+=k("D",b.getDay(),e,f);break;case"o":l+=j("o",Math.round((new Date(b.getFullYear(),b.getMonth(),b.getDate()).getTime()-new Date(b.getFullYear(),0,0).getTime())/864e5),3);break;case"m":l+=j("m",b.getMonth()+1,2);break;case"M":l+=k("M",b.getMonth(),g,h);break;case"y":l+=i("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case"@":l+=b.getTime();break;case"!":l+=1e4*b.getTime()+this._ticksTo1970;break;case"'":i("'")?l+="'":m=!0;break;default:l+=a.charAt(d)}return l},_possibleChars:function(a){var b,c="",d=!1,e=function(c){var d=b+1<a.length&&a.charAt(b+1)===c;return d&&b++,d};for(b=0;b<a.length;b++)if(d)"'"!==a.charAt(b)||e("'")?c+=a.charAt(b):d=!1;else switch(a.charAt(b)){case"d":case"m":case"y":case"@":c+="0123456789";break;case"D":case"M":return null;case"'":e("'")?c+="'":d=!0;break;default:c+=a.charAt(b)}return c},_get:function(a,b){return void 0!==a.settings[b]?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()!==a.lastVal){var c=this._get(a,"dateFormat"),d=a.lastVal=a.input?a.input.val():null,e=this._getDefaultDate(a),f=e,g=this._getFormatConfig(a);try{f=this.parseDate(c,d,g)||e}catch(h){d=b?"":d}a.selectedDay=f.getDate(),a.drawMonth=a.selectedMonth=f.getMonth(),a.drawYear=a.selectedYear=f.getFullYear(),a.currentDay=d?f.getDate():0,a.currentMonth=d?f.getMonth():0,a.currentYear=d?f.getFullYear():0,this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},_determineDate:function(b,c,d){var e=function(a){var b=new Date;return b.setDate(b.getDate()+a),b},f=function(c){try{return a.datepicker.parseDate(a.datepicker._get(b,"dateFormat"),c,a.datepicker._getFormatConfig(b))}catch(d){}for(var e=(c.toLowerCase().match(/^c/)?a.datepicker._getDate(b):null)||new Date,f=e.getFullYear(),g=e.getMonth(),h=e.getDate(),i=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,j=i.exec(c);j;){switch(j[2]||"d"){case"d":case"D":h+=parseInt(j[1],10);break;case"w":case"W":h+=7*parseInt(j[1],10);break;case"m":case"M":g+=parseInt(j[1],10),h=Math.min(h,a.datepicker._getDaysInMonth(f,g));break;case"y":case"Y":f+=parseInt(j[1],10),h=Math.min(h,a.datepicker._getDaysInMonth(f,g))}j=i.exec(c)}return new Date(f,g,h)},g=null==c||""===c?d:"string"==typeof c?f(c):"number"==typeof c?isNaN(c)?d:e(c):new Date(c.getTime());return g=g&&"Invalid Date"===g.toString()?d:g,g&&(g.setHours(0),g.setMinutes(0),g.setSeconds(0),g.setMilliseconds(0)),this._daylightSavingAdjust(g)},_daylightSavingAdjust:function(a){return a?(a.setHours(a.getHours()>12?a.getHours()+2:0),a):null},_setDate:function(a,b,c){var d=!b,e=a.selectedMonth,f=a.selectedYear,g=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=g.getDate(),a.drawMonth=a.selectedMonth=a.currentMonth=g.getMonth(),a.drawYear=a.selectedYear=a.currentYear=g.getFullYear(),e===a.selectedMonth&&f===a.selectedYear||c||this._notifyChange(a),this._adjustInstDate(a),a.input&&a.input.val(d?"":this._formatDate(a))},_getDate:function(a){var b=!a.currentYear||a.input&&""===a.input.val()?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return b},_attachHandlers:function(b){var c=this._get(b,"stepMonths"),d="#"+b.id.replace(/\\\\/g,"\\");b.dpDiv.find("[data-handler]").map(function(){var b={prev:function(){a.datepicker._adjustDate(d,-c,"M")},next:function(){a.datepicker._adjustDate(d,+c,"M")},hide:function(){a.datepicker._hideDatepicker()},today:function(){a.datepicker._gotoToday(d)},selectDay:function(){return a.datepicker._selectDay(d,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return a.datepicker._selectMonthYear(d,this,"M"),!1},selectYear:function(){return a.datepicker._selectMonthYear(d,this,"Y"),!1}};a(this).bind(this.getAttribute("data-event"),b[this.getAttribute("data-handler")])})},_generateHTML:function(a){var 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=new Date,P=this._daylightSavingAdjust(new Date(O.getFullYear(),O.getMonth(),O.getDate())),Q=this._get(a,"isRTL"),R=this._get(a,"showButtonPanel"),S=this._get(a,"hideIfNoPrevNext"),T=this._get(a,"navigationAsDateFormat"),U=this._getNumberOfMonths(a),V=this._get(a,"showCurrentAtPos"),W=this._get(a,"stepMonths"),X=1!==U[0]||1!==U[1],Y=this._daylightSavingAdjust(a.currentDay?new Date(a.currentYear,a.currentMonth,a.currentDay):new Date(9999,9,9)),Z=this._getMinMaxDate(a,"min"),$=this._getMinMaxDate(a,"max"),_=a.drawMonth-V,aa=a.drawYear;if(0>_&&(_+=12,aa--),$)for(b=this._daylightSavingAdjust(new Date($.getFullYear(),$.getMonth()-U[0]*U[1]+1,$.getDate())),b=Z&&Z>b?Z:b;this._daylightSavingAdjust(new Date(aa,_,1))>b;)_--,0>_&&(_=11,aa--);for(a.drawMonth=_,a.drawYear=aa,c=this._get(a,"prevText"),c=T?this.formatDate(c,this._daylightSavingAdjust(new Date(aa,_-W,1)),this._getFormatConfig(a)):c,d=this._canAdjustMonth(a,-1,aa,_)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+c+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"e":"w")+"'>"+c+"</span></a>":S?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+c+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"e":"w")+"'>"+c+"</span></a>",e=this._get(a,"nextText"),e=T?this.formatDate(e,this._daylightSavingAdjust(new Date(aa,_+W,1)),this._getFormatConfig(a)):e,f=this._canAdjustMonth(a,1,aa,_)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+e+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"w":"e")+"'>"+e+"</span></a>":S?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+e+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"w":"e")+"'>"+e+"</span></a>",g=this._get(a,"currentText"),h=this._get(a,"gotoCurrent")&&a.currentDay?Y:P,g=T?this.formatDate(g,h,this._getFormatConfig(a)):g,i=a.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(a,"closeText")+"</button>",j=R?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Q?i:"")+(this._isInRange(a,h)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+g+"</button>":"")+(Q?"":i)+"</div>":"",k=parseInt(this._get(a,"firstDay"),10),k=isNaN(k)?0:k,l=this._get(a,"showWeek"),m=this._get(a,"dayNames"),n=this._get(a,"dayNamesMin"),o=this._get(a,"monthNames"),p=this._get(a,"monthNamesShort"),q=this._get(a,"beforeShowDay"),r=this._get(a,"showOtherMonths"),s=this._get(a,"selectOtherMonths"),t=this._getDefaultDate(a),u="",w=0;w<U[0];w++){for(x="",this.maxRows=4,y=0;y<U[1];y++){if(z=this._daylightSavingAdjust(new Date(aa,_,a.selectedDay)),A=" ui-corner-all",B="",X){if(B+="<div class='ui-datepicker-group",U[1]>1)switch(y){case 0:B+=" ui-datepicker-group-first",A=" ui-corner-"+(Q?"right":"left");break;case U[1]-1:B+=" ui-datepicker-group-last",A=" ui-corner-"+(Q?"left":"right");break;default:B+=" ui-datepicker-group-middle",A=""}B+="'>"}for(B+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+A+"'>"+(/all|left/.test(A)&&0===w?Q?f:d:"")+(/all|right/.test(A)&&0===w?Q?d:f:"")+this._generateMonthYearHeader(a,_,aa,Z,$,w>0||y>0,o,p)+"</div><table class='ui-datepicker-calendar'><thead><tr>",C=l?"<th class='ui-datepicker-week-col'>"+this._get(a,"weekHeader")+"</th>":"",v=0;7>v;v++)D=(v+k)%7,C+="<th scope='col'"+((v+k+6)%7>=5?" class='ui-datepicker-week-end'":"")+"><span title='"+m[D]+"'>"+n[D]+"</span></th>";for(B+=C+"</tr></thead><tbody>",E=this._getDaysInMonth(aa,_),aa===a.selectedYear&&_===a.selectedMonth&&(a.selectedDay=Math.min(a.selectedDay,E)),F=(this._getFirstDayOfMonth(aa,_)-k+7)%7,G=Math.ceil((F+E)/7),H=X&&this.maxRows>G?this.maxRows:G,this.maxRows=H,I=this._daylightSavingAdjust(new Date(aa,_,1-F)),J=0;H>J;J++){for(B+="<tr>",K=l?"<td class='ui-datepicker-week-col'>"+this._get(a,"calculateWeek")(I)+"</td>":"",v=0;7>v;v++)L=q?q.apply(a.input?a.input[0]:null,[I]):[!0,""],M=I.getMonth()!==_,N=M&&!s||!L[0]||Z&&Z>I||$&&I>$,K+="<td class='"+((v+k+6)%7>=5?" ui-datepicker-week-end":"")+(M?" ui-datepicker-other-month":"")+(I.getTime()===z.getTime()&&_===a.selectedMonth&&a._keyEvent||t.getTime()===I.getTime()&&t.getTime()===z.getTime()?" "+this._dayOverClass:"")+(N?" "+this._unselectableClass+" ui-state-disabled":"")+(M&&!r?"":" "+L[1]+(I.getTime()===Y.getTime()?" "+this._currentClass:"")+(I.getTime()===P.getTime()?" ui-datepicker-today":""))+"'"+(M&&!r||!L[2]?"":" title='"+L[2].replace(/'/g,"&#39;")+"'")+(N?"":" data-handler='selectDay' data-event='click' data-month='"+I.getMonth()+"' data-year='"+I.getFullYear()+"'")+">"+(M&&!r?"&#xa0;":N?"<span class='ui-state-default'>"+I.getDate()+"</span>":"<a class='ui-state-default"+(I.getTime()===P.getTime()?" ui-state-highlight":"")+(I.getTime()===Y.getTime()?" ui-state-active":"")+(M?" ui-priority-secondary":"")+"' href='#'>"+I.getDate()+"</a>")+"</td>",I.setDate(I.getDate()+1),I=this._daylightSavingAdjust(I);B+=K+"</tr>"}_++,_>11&&(_=0,aa++),B+="</tbody></table>"+(X?"</div>"+(U[0]>0&&y===U[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),x+=B}u+=x}return u+=j,a._keyEvent=!1,u},_generateMonthYearHeader:function(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,p,q=this._get(a,"changeMonth"),r=this._get(a,"changeYear"),s=this._get(a,"showMonthAfterYear"),t="<div class='ui-datepicker-title'>",u="";if(f||!q)u+="<span class='ui-datepicker-month'>"+g[b]+"</span>";else{for(i=d&&d.getFullYear()===c,j=e&&e.getFullYear()===c,u+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",k=0;12>k;k++)(!i||k>=d.getMonth())&&(!j||k<=e.getMonth())&&(u+="<option value='"+k+"'"+(k===b?" selected='selected'":"")+">"+h[k]+"</option>");u+="</select>"}if(s||(t+=u+(!f&&q&&r?"":"&#xa0;")),!a.yearshtml)if(a.yearshtml="",f||!r)t+="<span class='ui-datepicker-year'>"+c+"</span>";else{for(l=this._get(a,"yearRange").split(":"),m=(new Date).getFullYear(),n=function(a){var b=a.match(/c[+\-].*/)?c+parseInt(a.substring(1),10):a.match(/[+\-].*/)?m+parseInt(a,10):parseInt(a,10);return isNaN(b)?m:b},o=n(l[0]),p=Math.max(o,n(l[1]||"")),o=d?Math.max(o,d.getFullYear()):o,p=e?Math.min(p,e.getFullYear()):p,a.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";p>=o;o++)a.yearshtml+="<option value='"+o+"'"+(o===c?" selected='selected'":"")+">"+o+"</option>";a.yearshtml+="</select>",t+=a.yearshtml,a.yearshtml=null}return t+=this._get(a,"yearSuffix"),s&&(t+=(!f&&q&&r?"":"&#xa0;")+u),t+="</div>"},_adjustInstDate:function(a,b,c){var d=a.drawYear+("Y"===c?b:0),e=a.drawMonth+("M"===c?b:0),f=Math.min(a.selectedDay,this._getDaysInMonth(d,e))+("D"===c?b:0),g=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(d,e,f)));a.selectedDay=g.getDate(),a.drawMonth=a.selectedMonth=g.getMonth(),a.drawYear=a.selectedYear=g.getFullYear(),("M"===c||"Y"===c)&&this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max"),e=c&&c>b?c:b;return d&&e>d?d:e},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");b&&b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){var b=this._get(a,"numberOfMonths");return null==b?[1,1]:"number"==typeof b?[1,b]:b},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return new Date(a,b,1).getDay()},_canAdjustMonth:function(a,b,c,d){var e=this._getNumberOfMonths(a),f=this._daylightSavingAdjust(new Date(c,d+(0>b?b:e[0]*e[1]),1));return 0>b&&f.setDate(this._getDaysInMonth(f.getFullYear(),f.getMonth())),this._isInRange(a,f)},_isInRange:function(a,b){var c,d,e=this._getMinMaxDate(a,"min"),f=this._getMinMaxDate(a,"max"),g=null,h=null,i=this._get(a,"yearRange");
+return i&&(c=i.split(":"),d=(new Date).getFullYear(),g=parseInt(c[0],10),h=parseInt(c[1],10),c[0].match(/[+\-].*/)&&(g+=d),c[1].match(/[+\-].*/)&&(h+=d)),(!e||b.getTime()>=e.getTime())&&(!f||b.getTime()<=f.getTime())&&(!g||b.getFullYear()>=g)&&(!h||b.getFullYear()<=h)},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");return b="string"!=typeof b?b:(new Date).getFullYear()%100+parseInt(b,10),{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,d){b||(a.currentDay=a.selectedDay,a.currentMonth=a.selectedMonth,a.currentYear=a.selectedYear);var e=b?"object"==typeof b?b:this._daylightSavingAdjust(new Date(d,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),e,this._getFormatConfig(a))}}),a.fn.datepicker=function(b){if(!this.length)return this;a.datepicker.initialized||(a(document).mousedown(a.datepicker._checkExternalClick),a.datepicker.initialized=!0),0===a("#"+a.datepicker._mainDivId).length&&a("body").append(a.datepicker.dpDiv);var c=Array.prototype.slice.call(arguments,1);return"string"!=typeof b||"isDisabled"!==b&&"getDate"!==b&&"widget"!==b?"option"===b&&2===arguments.length&&"string"==typeof arguments[1]?a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this[0]].concat(c)):this.each(function(){"string"==typeof b?a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this].concat(c)):a.datepicker._attachDatepicker(this,b)}):a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this[0]].concat(c))},a.datepicker=new e,a.datepicker.initialized=!1,a.datepicker.uuid=(new Date).getTime(),a.datepicker.version="1.11.4";a.datepicker;a.widget("ui.draggable",a.ui.mouse,{version:"1.11.4",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._setHandleClassName(),this._mouseInit()},_setOption:function(a,b){this._super(a,b),"handle"===a&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper||this.element).is(".ui-draggable-dragging")?void(this.destroyOnClear=!0):(this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._removeHandleClassName(),void this._mouseDestroy())},_mouseCapture:function(b){var c=this.options;return this._blurActiveElement(b),this.helper||c.disabled||a(b.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(b),this.handle?(this._blockFrames(c.iframeFix===!0?"iframe":c.iframeFix),!0):!1)},_blockFrames:function(b){this.iframeBlocks=this.document.find(b).map(function(){var b=a(this);return a("<div>").css("position","absolute").appendTo(b.parent()).outerWidth(b.outerWidth()).outerHeight(b.outerHeight()).offset(b.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(b){var c=this.document[0];if(this.handleElement.is(b.target))try{c.activeElement&&"body"!==c.activeElement.nodeName.toLowerCase()&&a(c.activeElement).blur()}catch(d){}},_mouseStart:function(b){var c=this.options;return this.helper=this._createHelper(b),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),a.ui.ddmanager&&(a.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===a(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(b),this.originalPosition=this.position=this._generatePosition(b,!1),this.originalPageX=b.pageX,this.originalPageY=b.pageY,c.cursorAt&&this._adjustOffsetFromHelper(c.cursorAt),this._setContainment(),this._trigger("start",b)===!1?(this._clear(),!1):(this._cacheHelperProportions(),a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this._normalizeRightBottom(),this._mouseDrag(b,!0),a.ui.ddmanager&&a.ui.ddmanager.dragStart(this,b),!0)},_refreshOffsets:function(a){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:a.pageX-this.offset.left,top:a.pageY-this.offset.top}},_mouseDrag:function(b,c){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(b,!0),this.positionAbs=this._convertPositionTo("absolute"),!c){var d=this._uiHash();if(this._trigger("drag",b,d)===!1)return this._mouseUp({}),!1;this.position=d.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),!1},_mouseStop:function(b){var c=this,d=!1;return a.ui.ddmanager&&!this.options.dropBehaviour&&(d=a.ui.ddmanager.drop(this,b)),this.dropped&&(d=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!d||"valid"===this.options.revert&&d||this.options.revert===!0||a.isFunction(this.options.revert)&&this.options.revert.call(this.element,d)?a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){c._trigger("stop",b)!==!1&&c._clear()}):this._trigger("stop",b)!==!1&&this._clear(),!1},_mouseUp:function(b){return this._unblockFrames(),a.ui.ddmanager&&a.ui.ddmanager.dragStop(this,b),this.handleElement.is(b.target)&&this.element.focus(),a.ui.mouse.prototype._mouseUp.call(this,b)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(b){return this.options.handle?!!a(b.target).closest(this.element.find(this.options.handle)).length:!0},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this.handleElement.addClass("ui-draggable-handle")},_removeHandleClassName:function(){this.handleElement.removeClass("ui-draggable-handle")},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper),e=d?a(c.helper.apply(this.element[0],[b])):"clone"===c.helper?this.element.clone().removeAttr("id"):this.element;return e.parents("body").length||e.appendTo("parent"===c.appendTo?this.element[0].parentNode:c.appendTo),d&&e[0]===this.element[0]&&this._setPositionRelative(),e[0]===this.element[0]||/(fixed|absolute)/.test(e.css("position"))||e.css("position","absolute"),e},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(b){"string"==typeof b&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_isRootNode:function(a){return/(html|body)/i.test(a.tagName)||a===this.document[0]},_getParentOffset:function(){var b=this.offsetParent.offset(),c=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==c&&a.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(b={top:0,left:0}),{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var a=this.element.position(),b=this._isRootNode(this.scrollParent[0]);return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+(b?0:this.scrollParent.scrollTop()),left:a.left-(parseInt(this.helper.css("left"),10)||0)+(b?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b,c,d,e=this.options,f=this.document[0];return this.relativeContainer=null,e.containment?"window"===e.containment?void(this.containment=[a(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,a(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,a(window).scrollLeft()+a(window).width()-this.helperProportions.width-this.margins.left,a(window).scrollTop()+(a(window).height()||f.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]):"document"===e.containment?void(this.containment=[0,0,a(f).width()-this.helperProportions.width-this.margins.left,(a(f).height()||f.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]):e.containment.constructor===Array?void(this.containment=e.containment):("parent"===e.containment&&(e.containment=this.helper[0].parentNode),c=a(e.containment),d=c[0],void(d&&(b=/(scroll|auto)/.test(c.css("overflow")),this.containment=[(parseInt(c.css("borderLeftWidth"),10)||0)+(parseInt(c.css("paddingLeft"),10)||0),(parseInt(c.css("borderTopWidth"),10)||0)+(parseInt(c.css("paddingTop"),10)||0),(b?Math.max(d.scrollWidth,d.offsetWidth):d.offsetWidth)-(parseInt(c.css("borderRightWidth"),10)||0)-(parseInt(c.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(b?Math.max(d.scrollHeight,d.offsetHeight):d.offsetHeight)-(parseInt(c.css("borderBottomWidth"),10)||0)-(parseInt(c.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=c))):void(this.containment=null)},_convertPositionTo:function(a,b){b||(b=this.position);var c="absolute"===a?1:-1,d=this._isRootNode(this.scrollParent[0]);return{top:b.top+this.offset.relative.top*c+this.offset.parent.top*c-("fixed"===this.cssPosition?-this.offset.scroll.top:d?0:this.offset.scroll.top)*c,left:b.left+this.offset.relative.left*c+this.offset.parent.left*c-("fixed"===this.cssPosition?-this.offset.scroll.left:d?0:this.offset.scroll.left)*c}},_generatePosition:function(a,b){var c,d,e,f,g=this.options,h=this._isRootNode(this.scrollParent[0]),i=a.pageX,j=a.pageY;return h&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),b&&(this.containment&&(this.relativeContainer?(d=this.relativeContainer.offset(),c=[this.containment[0]+d.left,this.containment[1]+d.top,this.containment[2]+d.left,this.containment[3]+d.top]):c=this.containment,a.pageX-this.offset.click.left<c[0]&&(i=c[0]+this.offset.click.left),a.pageY-this.offset.click.top<c[1]&&(j=c[1]+this.offset.click.top),a.pageX-this.offset.click.left>c[2]&&(i=c[2]+this.offset.click.left),a.pageY-this.offset.click.top>c[3]&&(j=c[3]+this.offset.click.top)),g.grid&&(e=g.grid[1]?this.originalPageY+Math.round((j-this.originalPageY)/g.grid[1])*g.grid[1]:this.originalPageY,j=c?e-this.offset.click.top>=c[1]||e-this.offset.click.top>c[3]?e:e-this.offset.click.top>=c[1]?e-g.grid[1]:e+g.grid[1]:e,f=g.grid[0]?this.originalPageX+Math.round((i-this.originalPageX)/g.grid[0])*g.grid[0]:this.originalPageX,i=c?f-this.offset.click.left>=c[0]||f-this.offset.click.left>c[2]?f:f-this.offset.click.left>=c[0]?f-g.grid[0]:f+g.grid[0]:f),"y"===g.axis&&(i=this.originalPageX),"x"===g.axis&&(j=this.originalPageY)),{top:j-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:h?0:this.offset.scroll.top),left:i-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:h?0:this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_normalizeRightBottom:function(){"y"!==this.options.axis&&"auto"!==this.helper.css("right")&&(this.helper.width(this.helper.width()),this.helper.css("right","auto")),"x"!==this.options.axis&&"auto"!==this.helper.css("bottom")&&(this.helper.height(this.helper.height()),this.helper.css("bottom","auto"))},_trigger:function(b,c,d){return d=d||this._uiHash(),a.ui.plugin.call(this,b,[c,d,this],!0),/^(drag|start|stop)/.test(b)&&(this.positionAbs=this._convertPositionTo("absolute"),d.offset=this.positionAbs),a.Widget.prototype._trigger.call(this,b,c,d)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),a.ui.plugin.add("draggable","connectToSortable",{start:function(b,c,d){var e=a.extend({},c,{item:d.element});d.sortables=[],a(d.options.connectToSortable).each(function(){var c=a(this).sortable("instance");c&&!c.options.disabled&&(d.sortables.push(c),c.refreshPositions(),c._trigger("activate",b,e))})},stop:function(b,c,d){var e=a.extend({},c,{item:d.element});d.cancelHelperRemoval=!1,a.each(d.sortables,function(){var a=this;a.isOver?(a.isOver=0,d.cancelHelperRemoval=!0,a.cancelHelperRemoval=!1,a._storedCSS={position:a.placeholder.css("position"),top:a.placeholder.css("top"),left:a.placeholder.css("left")},a._mouseStop(b),a.options.helper=a.options._helper):(a.cancelHelperRemoval=!0,a._trigger("deactivate",b,e))})},drag:function(b,c,d){a.each(d.sortables,function(){var e=!1,f=this;f.positionAbs=d.positionAbs,f.helperProportions=d.helperProportions,f.offset.click=d.offset.click,f._intersectsWith(f.containerCache)&&(e=!0,a.each(d.sortables,function(){return this.positionAbs=d.positionAbs,this.helperProportions=d.helperProportions,this.offset.click=d.offset.click,this!==f&&this._intersectsWith(this.containerCache)&&a.contains(f.element[0],this.element[0])&&(e=!1),e})),e?(f.isOver||(f.isOver=1,d._parent=c.helper.parent(),f.currentItem=c.helper.appendTo(f.element).data("ui-sortable-item",!0),f.options._helper=f.options.helper,f.options.helper=function(){return c.helper[0]},b.target=f.currentItem[0],f._mouseCapture(b,!0),f._mouseStart(b,!0,!0),f.offset.click.top=d.offset.click.top,f.offset.click.left=d.offset.click.left,f.offset.parent.left-=d.offset.parent.left-f.offset.parent.left,f.offset.parent.top-=d.offset.parent.top-f.offset.parent.top,d._trigger("toSortable",b),d.dropped=f.element,a.each(d.sortables,function(){this.refreshPositions()}),d.currentItem=d.element,f.fromOutside=d),f.currentItem&&(f._mouseDrag(b),c.position=f.position)):f.isOver&&(f.isOver=0,f.cancelHelperRemoval=!0,f.options._revert=f.options.revert,f.options.revert=!1,f._trigger("out",b,f._uiHash(f)),f._mouseStop(b,!0),f.options.revert=f.options._revert,f.options.helper=f.options._helper,f.placeholder&&f.placeholder.remove(),c.helper.appendTo(d._parent),d._refreshOffsets(b),c.position=d._generatePosition(b,!0),d._trigger("fromSortable",b),d.dropped=!1,a.each(d.sortables,function(){this.refreshPositions()}))})}}),a.ui.plugin.add("draggable","cursor",{start:function(b,c,d){var e=a("body"),f=d.options;e.css("cursor")&&(f._cursor=e.css("cursor")),e.css("cursor",f.cursor)},stop:function(b,c,d){var e=d.options;e._cursor&&a("body").css("cursor",e._cursor)}}),a.ui.plugin.add("draggable","opacity",{start:function(b,c,d){var e=a(c.helper),f=d.options;e.css("opacity")&&(f._opacity=e.css("opacity")),e.css("opacity",f.opacity)},stop:function(b,c,d){var e=d.options;e._opacity&&a(c.helper).css("opacity",e._opacity)}}),a.ui.plugin.add("draggable","scroll",{start:function(a,b,c){c.scrollParentNotHidden||(c.scrollParentNotHidden=c.helper.scrollParent(!1)),c.scrollParentNotHidden[0]!==c.document[0]&&"HTML"!==c.scrollParentNotHidden[0].tagName&&(c.overflowOffset=c.scrollParentNotHidden.offset())},drag:function(b,c,d){var e=d.options,f=!1,g=d.scrollParentNotHidden[0],h=d.document[0];g!==h&&"HTML"!==g.tagName?(e.axis&&"x"===e.axis||(d.overflowOffset.top+g.offsetHeight-b.pageY<e.scrollSensitivity?g.scrollTop=f=g.scrollTop+e.scrollSpeed:b.pageY-d.overflowOffset.top<e.scrollSensitivity&&(g.scrollTop=f=g.scrollTop-e.scrollSpeed)),e.axis&&"y"===e.axis||(d.overflowOffset.left+g.offsetWidth-b.pageX<e.scrollSensitivity?g.scrollLeft=f=g.scrollLeft+e.scrollSpeed:b.pageX-d.overflowOffset.left<e.scrollSensitivity&&(g.scrollLeft=f=g.scrollLeft-e.scrollSpeed))):(e.axis&&"x"===e.axis||(b.pageY-a(h).scrollTop()<e.scrollSensitivity?f=a(h).scrollTop(a(h).scrollTop()-e.scrollSpeed):a(window).height()-(b.pageY-a(h).scrollTop())<e.scrollSensitivity&&(f=a(h).scrollTop(a(h).scrollTop()+e.scrollSpeed))),e.axis&&"y"===e.axis||(b.pageX-a(h).scrollLeft()<e.scrollSensitivity?f=a(h).scrollLeft(a(h).scrollLeft()-e.scrollSpeed):a(window).width()-(b.pageX-a(h).scrollLeft())<e.scrollSensitivity&&(f=a(h).scrollLeft(a(h).scrollLeft()+e.scrollSpeed)))),f!==!1&&a.ui.ddmanager&&!e.dropBehaviour&&a.ui.ddmanager.prepareOffsets(d,b)}}),a.ui.plugin.add("draggable","snap",{start:function(b,c,d){var e=d.options;d.snapElements=[],a(e.snap.constructor!==String?e.snap.items||":data(ui-draggable)":e.snap).each(function(){var b=a(this),c=b.offset();this!==d.element[0]&&d.snapElements.push({item:this,width:b.outerWidth(),height:b.outerHeight(),top:c.top,left:c.left})})},drag:function(b,c,d){var e,f,g,h,i,j,k,l,m,n,o=d.options,p=o.snapTolerance,q=c.offset.left,r=q+d.helperProportions.width,s=c.offset.top,t=s+d.helperProportions.height;for(m=d.snapElements.length-1;m>=0;m--)i=d.snapElements[m].left-d.margins.left,j=i+d.snapElements[m].width,k=d.snapElements[m].top-d.margins.top,l=k+d.snapElements[m].height,i-p>r||q>j+p||k-p>t||s>l+p||!a.contains(d.snapElements[m].item.ownerDocument,d.snapElements[m].item)?(d.snapElements[m].snapping&&d.options.snap.release&&d.options.snap.release.call(d.element,b,a.extend(d._uiHash(),{snapItem:d.snapElements[m].item})),d.snapElements[m].snapping=!1):("inner"!==o.snapMode&&(e=Math.abs(k-t)<=p,f=Math.abs(l-s)<=p,g=Math.abs(i-r)<=p,h=Math.abs(j-q)<=p,e&&(c.position.top=d._convertPositionTo("relative",{top:k-d.helperProportions.height,left:0}).top),f&&(c.position.top=d._convertPositionTo("relative",{top:l,left:0}).top),g&&(c.position.left=d._convertPositionTo("relative",{top:0,left:i-d.helperProportions.width}).left),h&&(c.position.left=d._convertPositionTo("relative",{top:0,left:j}).left)),n=e||f||g||h,"outer"!==o.snapMode&&(e=Math.abs(k-s)<=p,f=Math.abs(l-t)<=p,g=Math.abs(i-q)<=p,h=Math.abs(j-r)<=p,e&&(c.position.top=d._convertPositionTo("relative",{top:k,left:0}).top),f&&(c.position.top=d._convertPositionTo("relative",{top:l-d.helperProportions.height,left:0}).top),g&&(c.position.left=d._convertPositionTo("relative",{top:0,left:i}).left),h&&(c.position.left=d._convertPositionTo("relative",{top:0,left:j-d.helperProportions.width}).left)),!d.snapElements[m].snapping&&(e||f||g||h||n)&&d.options.snap.snap&&d.options.snap.snap.call(d.element,b,a.extend(d._uiHash(),{snapItem:d.snapElements[m].item})),d.snapElements[m].snapping=e||f||g||h||n)}}),a.ui.plugin.add("draggable","stack",{start:function(b,c,d){var e,f=d.options,g=a.makeArray(a(f.stack)).sort(function(b,c){return(parseInt(a(b).css("zIndex"),10)||0)-(parseInt(a(c).css("zIndex"),10)||0)});g.length&&(e=parseInt(a(g[0]).css("zIndex"),10)||0,a(g).each(function(b){a(this).css("zIndex",e+b)}),this.css("zIndex",e+g.length))}}),a.ui.plugin.add("draggable","zIndex",{start:function(b,c,d){var e=a(c.helper),f=d.options;e.css("zIndex")&&(f._zIndex=e.css("zIndex")),e.css("zIndex",f.zIndex)},stop:function(b,c,d){var e=d.options;e._zIndex&&a(c.helper).css("zIndex",e._zIndex)}});a.ui.draggable;a.widget("ui.resizable",a.ui.mouse,{version:"1.11.4",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(a){return parseInt(a,10)||0},_isNumber:function(a){return!isNaN(parseInt(a,10))},_hasScroll:function(b,c){if("hidden"===a(b).css("overflow"))return!1;var d=c&&"left"===c?"scrollLeft":"scrollTop",e=!1;return b[d]>0?!0:(b[d]=1,e=b[d]>0,b[d]=0,e)},_create:function(){var b,c,d,e,f,g=this,h=this.options;if(this.element.addClass("ui-resizable"),a.extend(this,{_aspectRatio:!!h.aspectRatio,aspectRatio:h.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:h.helper||h.ghost||h.animate?h.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(a("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=h.handles||(a(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=a(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),b=this.handles.split(","),this.handles={},c=0;c<b.length;c++)d=a.trim(b[c]),f="ui-resizable-"+d,e=a("<div class='ui-resizable-handle "+f+"'></div>"),e.css({zIndex:h.zIndex}),"se"===d&&e.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[d]=".ui-resizable-"+d,this.element.append(e);this._renderAxis=function(b){var c,d,e,f;b=b||this.element;for(c in this.handles)this.handles[c].constructor===String?this.handles[c]=this.element.children(this.handles[c]).first().show():(this.handles[c].jquery||this.handles[c].nodeType)&&(this.handles[c]=a(this.handles[c]),this._on(this.handles[c],{mousedown:g._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(d=a(this.handles[c],this.element),f=/sw|ne|nw|se|n|s/.test(c)?d.outerHeight():d.outerWidth(),e=["padding",/ne|nw|n/.test(c)?"Top":/se|sw|s/.test(c)?"Bottom":/^e$/.test(c)?"Right":"Left"].join(""),b.css(e,f),this._proportionallyResize()),this._handles=this._handles.add(this.handles[c])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.mouseover(function(){g.resizing||(this.className&&(e=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),g.axis=e&&e[1]?e[1]:"se")}),h.autoHide&&(this._handles.hide(),a(this.element).addClass("ui-resizable-autohide").mouseenter(function(){h.disabled||(a(this).removeClass("ui-resizable-autohide"),g._handles.show())}).mouseleave(function(){h.disabled||g.resizing||(a(this).addClass("ui-resizable-autohide"),g._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var b,c=function(b){a(b).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(c(this.element),b=this.element,this.originalElement.css({position:b.css("position"),width:b.outerWidth(),height:b.outerHeight(),top:b.css("top"),left:b.css("left")}).insertAfter(b),b.remove()),this.originalElement.css("resize",this.originalResizeStyle),c(this.originalElement),this},_mouseCapture:function(b){var c,d,e=!1;for(c in this.handles)d=a(this.handles[c])[0],(d===b.target||a.contains(d,b.target))&&(e=!0);return!this.options.disabled&&e},_mouseStart:function(b){var c,d,e,f=this.options,g=this.element;return this.resizing=!0,this._renderProxy(),c=this._num(this.helper.css("left")),d=this._num(this.helper.css("top")),f.containment&&(c+=a(f.containment).scrollLeft()||0,d+=a(f.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:c,top:d},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:g.width(),height:g.height()},this.originalSize=this._helper?{width:g.outerWidth(),height:g.outerHeight()}:{width:g.width(),height:g.height()},this.sizeDiff={width:g.outerWidth()-g.width(),height:g.outerHeight()-g.height()},this.originalPosition={left:c,top:d},this.originalMousePosition={left:b.pageX,top:b.pageY},this.aspectRatio="number"==typeof f.aspectRatio?f.aspectRatio:this.originalSize.width/this.originalSize.height||1,e=a(".ui-resizable-"+this.axis).css("cursor"),a("body").css("cursor","auto"===e?this.axis+"-resize":e),g.addClass("ui-resizable-resizing"),this._propagate("start",b),!0},_mouseDrag:function(b){var c,d,e=this.originalMousePosition,f=this.axis,g=b.pageX-e.left||0,h=b.pageY-e.top||0,i=this._change[f];return this._updatePrevProperties(),i?(c=i.apply(this,[b,g,h]),this._updateVirtualBoundaries(b.shiftKey),(this._aspectRatio||b.shiftKey)&&(c=this._updateRatio(c,b)),c=this._respectSize(c,b),this._updateCache(c),this._propagate("resize",b),d=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),a.isEmptyObject(d)||(this._updatePrevProperties(),this._trigger("resize",b,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(b){this.resizing=!1;var c,d,e,f,g,h,i,j=this.options,k=this;return this._helper&&(c=this._proportionallyResizeElements,d=c.length&&/textarea/i.test(c[0].nodeName),e=d&&this._hasScroll(c[0],"left")?0:k.sizeDiff.height,f=d?0:k.sizeDiff.width,g={width:k.helper.width()-f,height:k.helper.height()-e},h=parseInt(k.element.css("left"),10)+(k.position.left-k.originalPosition.left)||null,i=parseInt(k.element.css("top"),10)+(k.position.top-k.originalPosition.top)||null,j.animate||this.element.css(a.extend(g,{top:i,left:h})),k.helper.height(k.size.height),k.helper.width(k.size.width),this._helper&&!j.animate&&this._proportionallyResize()),a("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",b),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var a={};return this.position.top!==this.prevPosition.top&&(a.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(a.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(a.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(a.height=this.size.height+"px"),this.helper.css(a),a},_updateVirtualBoundaries:function(a){var b,c,d,e,f,g=this.options;f={minWidth:this._isNumber(g.minWidth)?g.minWidth:0,maxWidth:this._isNumber(g.maxWidth)?g.maxWidth:1/0,minHeight:this._isNumber(g.minHeight)?g.minHeight:0,maxHeight:this._isNumber(g.maxHeight)?g.maxHeight:1/0},(this._aspectRatio||a)&&(b=f.minHeight*this.aspectRatio,d=f.minWidth/this.aspectRatio,c=f.maxHeight*this.aspectRatio,e=f.maxWidth/this.aspectRatio,b>f.minWidth&&(f.minWidth=b),d>f.minHeight&&(f.minHeight=d),c<f.maxWidth&&(f.maxWidth=c),e<f.maxHeight&&(f.maxHeight=e)),this._vBoundaries=f},_updateCache:function(a){this.offset=this.helper.offset(),this._isNumber(a.left)&&(this.position.left=a.left),this._isNumber(a.top)&&(this.position.top=a.top),this._isNumber(a.height)&&(this.size.height=a.height),this._isNumber(a.width)&&(this.size.width=a.width)},_updateRatio:function(a){var b=this.position,c=this.size,d=this.axis;return this._isNumber(a.height)?a.width=a.height*this.aspectRatio:this._isNumber(a.width)&&(a.height=a.width/this.aspectRatio),"sw"===d&&(a.left=b.left+(c.width-a.width),a.top=null),"nw"===d&&(a.top=b.top+(c.height-a.height),a.left=b.left+(c.width-a.width)),a},_respectSize:function(a){var b=this._vBoundaries,c=this.axis,d=this._isNumber(a.width)&&b.maxWidth&&b.maxWidth<a.width,e=this._isNumber(a.height)&&b.maxHeight&&b.maxHeight<a.height,f=this._isNumber(a.width)&&b.minWidth&&b.minWidth>a.width,g=this._isNumber(a.height)&&b.minHeight&&b.minHeight>a.height,h=this.originalPosition.left+this.originalSize.width,i=this.position.top+this.size.height,j=/sw|nw|w/.test(c),k=/nw|ne|n/.test(c);return f&&(a.width=b.minWidth),g&&(a.height=b.minHeight),d&&(a.width=b.maxWidth),e&&(a.height=b.maxHeight),f&&j&&(a.left=h-b.minWidth),d&&j&&(a.left=h-b.maxWidth),g&&k&&(a.top=i-b.minHeight),e&&k&&(a.top=i-b.maxHeight),a.width||a.height||a.left||!a.top?a.width||a.height||a.top||!a.left||(a.left=null):a.top=null,a},_getPaddingPlusBorderDimensions:function(a){for(var b=0,c=[],d=[a.css("borderTopWidth"),a.css("borderRightWidth"),a.css("borderBottomWidth"),a.css("borderLeftWidth")],e=[a.css("paddingTop"),a.css("paddingRight"),a.css("paddingBottom"),a.css("paddingLeft")];4>b;b++)c[b]=parseInt(d[b],10)||0,c[b]+=parseInt(e[b],10)||0;return{height:c[0]+c[2],width:c[1]+c[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var a,b=0,c=this.helper||this.element;b<this._proportionallyResizeElements.length;b++)a=this._proportionallyResizeElements[b],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(a)),a.css({height:c.height()-this.outerDimensions.height||0,width:c.width()-this.outerDimensions.width||0})},_renderProxy:function(){var b=this.element,c=this.options;this.elementOffset=b.offset(),this._helper?(this.helper=this.helper||a("<div style='overflow:hidden;'></div>"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++c.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(a,b){return{width:this.originalSize.width+b}},w:function(a,b){var c=this.originalSize,d=this.originalPosition;return{left:d.left+b,width:c.width-b}},n:function(a,b,c){var d=this.originalSize,e=this.originalPosition;return{top:e.top+c,height:d.height-c}},s:function(a,b,c){return{height:this.originalSize.height+c}},se:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},sw:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,c,d]))},ne:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},nw:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,c,d]))}},_propagate:function(b,c){a.ui.plugin.call(this,b,[c,this.ui()]),"resize"!==b&&this._trigger(b,c,this.ui())},plugins:{},ui:function(){return{
+originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),a.ui.plugin.add("resizable","animate",{stop:function(b){var c=a(this).resizable("instance"),d=c.options,e=c._proportionallyResizeElements,f=e.length&&/textarea/i.test(e[0].nodeName),g=f&&c._hasScroll(e[0],"left")?0:c.sizeDiff.height,h=f?0:c.sizeDiff.width,i={width:c.size.width-h,height:c.size.height-g},j=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null,k=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;c.element.animate(a.extend(i,k&&j?{top:k,left:j}:{}),{duration:d.animateDuration,easing:d.animateEasing,step:function(){var d={width:parseInt(c.element.css("width"),10),height:parseInt(c.element.css("height"),10),top:parseInt(c.element.css("top"),10),left:parseInt(c.element.css("left"),10)};e&&e.length&&a(e[0]).css({width:d.width,height:d.height}),c._updateCache(d),c._propagate("resize",b)}})}}),a.ui.plugin.add("resizable","containment",{start:function(){var b,c,d,e,f,g,h,i=a(this).resizable("instance"),j=i.options,k=i.element,l=j.containment,m=l instanceof a?l.get(0):/parent/.test(l)?k.parent().get(0):l;m&&(i.containerElement=a(m),/document/.test(l)||l===document?(i.containerOffset={left:0,top:0},i.containerPosition={left:0,top:0},i.parentData={element:a(document),left:0,top:0,width:a(document).width(),height:a(document).height()||document.body.parentNode.scrollHeight}):(b=a(m),c=[],a(["Top","Right","Left","Bottom"]).each(function(a,d){c[a]=i._num(b.css("padding"+d))}),i.containerOffset=b.offset(),i.containerPosition=b.position(),i.containerSize={height:b.innerHeight()-c[3],width:b.innerWidth()-c[1]},d=i.containerOffset,e=i.containerSize.height,f=i.containerSize.width,g=i._hasScroll(m,"left")?m.scrollWidth:f,h=i._hasScroll(m)?m.scrollHeight:e,i.parentData={element:m,left:d.left,top:d.top,width:g,height:h}))},resize:function(b){var c,d,e,f,g=a(this).resizable("instance"),h=g.options,i=g.containerOffset,j=g.position,k=g._aspectRatio||b.shiftKey,l={top:0,left:0},m=g.containerElement,n=!0;m[0]!==document&&/static/.test(m.css("position"))&&(l=i),j.left<(g._helper?i.left:0)&&(g.size.width=g.size.width+(g._helper?g.position.left-i.left:g.position.left-l.left),k&&(g.size.height=g.size.width/g.aspectRatio,n=!1),g.position.left=h.helper?i.left:0),j.top<(g._helper?i.top:0)&&(g.size.height=g.size.height+(g._helper?g.position.top-i.top:g.position.top),k&&(g.size.width=g.size.height*g.aspectRatio,n=!1),g.position.top=g._helper?i.top:0),e=g.containerElement.get(0)===g.element.parent().get(0),f=/relative|absolute/.test(g.containerElement.css("position")),e&&f?(g.offset.left=g.parentData.left+g.position.left,g.offset.top=g.parentData.top+g.position.top):(g.offset.left=g.element.offset().left,g.offset.top=g.element.offset().top),c=Math.abs(g.sizeDiff.width+(g._helper?g.offset.left-l.left:g.offset.left-i.left)),d=Math.abs(g.sizeDiff.height+(g._helper?g.offset.top-l.top:g.offset.top-i.top)),c+g.size.width>=g.parentData.width&&(g.size.width=g.parentData.width-c,k&&(g.size.height=g.size.width/g.aspectRatio,n=!1)),d+g.size.height>=g.parentData.height&&(g.size.height=g.parentData.height-d,k&&(g.size.width=g.size.height*g.aspectRatio,n=!1)),n||(g.position.left=g.prevPosition.left,g.position.top=g.prevPosition.top,g.size.width=g.prevSize.width,g.size.height=g.prevSize.height)},stop:function(){var b=a(this).resizable("instance"),c=b.options,d=b.containerOffset,e=b.containerPosition,f=b.containerElement,g=a(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width,j=g.outerHeight()-b.sizeDiff.height;b._helper&&!c.animate&&/relative/.test(f.css("position"))&&a(this).css({left:h.left-e.left-d.left,width:i,height:j}),b._helper&&!c.animate&&/static/.test(f.css("position"))&&a(this).css({left:h.left-e.left-d.left,width:i,height:j})}}),a.ui.plugin.add("resizable","alsoResize",{start:function(){var b=a(this).resizable("instance"),c=b.options;a(c.alsoResize).each(function(){var b=a(this);b.data("ui-resizable-alsoresize",{width:parseInt(b.width(),10),height:parseInt(b.height(),10),left:parseInt(b.css("left"),10),top:parseInt(b.css("top"),10)})})},resize:function(b,c){var d=a(this).resizable("instance"),e=d.options,f=d.originalSize,g=d.originalPosition,h={height:d.size.height-f.height||0,width:d.size.width-f.width||0,top:d.position.top-g.top||0,left:d.position.left-g.left||0};a(e.alsoResize).each(function(){var b=a(this),d=a(this).data("ui-resizable-alsoresize"),e={},f=b.parents(c.originalElement[0]).length?["width","height"]:["width","height","top","left"];a.each(f,function(a,b){var c=(d[b]||0)+(h[b]||0);c&&c>=0&&(e[b]=c||null)}),b.css(e)})},stop:function(){a(this).removeData("resizable-alsoresize")}}),a.ui.plugin.add("resizable","ghost",{start:function(){var b=a(this).resizable("instance"),c=b.options,d=b.size;b.ghost=b.originalElement.clone(),b.ghost.css({opacity:.25,display:"block",position:"relative",height:d.height,width:d.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof c.ghost?c.ghost:""),b.ghost.appendTo(b.helper)},resize:function(){var b=a(this).resizable("instance");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=a(this).resizable("instance");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}}),a.ui.plugin.add("resizable","grid",{resize:function(){var b,c=a(this).resizable("instance"),d=c.options,e=c.size,f=c.originalSize,g=c.originalPosition,h=c.axis,i="number"==typeof d.grid?[d.grid,d.grid]:d.grid,j=i[0]||1,k=i[1]||1,l=Math.round((e.width-f.width)/j)*j,m=Math.round((e.height-f.height)/k)*k,n=f.width+l,o=f.height+m,p=d.maxWidth&&d.maxWidth<n,q=d.maxHeight&&d.maxHeight<o,r=d.minWidth&&d.minWidth>n,s=d.minHeight&&d.minHeight>o;d.grid=i,r&&(n+=j),s&&(o+=k),p&&(n-=j),q&&(o-=k),/^(se|s|e)$/.test(h)?(c.size.width=n,c.size.height=o):/^(ne)$/.test(h)?(c.size.width=n,c.size.height=o,c.position.top=g.top-m):/^(sw)$/.test(h)?(c.size.width=n,c.size.height=o,c.position.left=g.left-l):((0>=o-k||0>=n-j)&&(b=c._getPaddingPlusBorderDimensions(this)),o-k>0?(c.size.height=o,c.position.top=g.top-m):(o=k-b.height,c.size.height=o,c.position.top=g.top+f.height-o),n-j>0?(c.size.width=n,c.position.left=g.left-l):(n=j-b.width,c.size.width=n,c.position.left=g.left+f.width-n))}});a.ui.resizable,a.widget("ui.dialog",{version:"1.11.4",options:{appendTo:"body",autoOpen:!0,buttons:[],closeOnEscape:!0,closeText:"Close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(b){var c=a(this).css(b).offset().top;0>c&&a(this).css("top",b.top-c)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),this.options.title=this.options.title||this.originalTitle,this._createWrapper(),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(this.uiDialog),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&a.fn.draggable&&this._makeDraggable(),this.options.resizable&&a.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var b=this.options.appendTo;return b&&(b.jquery||b.nodeType)?a(b):this.document.find(b||"body").eq(0)},_destroy:function(){var a,b=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().removeClass("ui-dialog-content ui-widget-content").css(this.originalCss).detach(),this.uiDialog.stop(!0,!0).remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),a=b.parent.children().eq(b.index),a.length&&a[0]!==this.element[0]?a.before(this.element):b.parent.append(this.element)},widget:function(){return this.uiDialog},disable:a.noop,enable:a.noop,close:function(b){var c,d=this;if(this._isOpen&&this._trigger("beforeClose",b)!==!1){if(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),!this.opener.filter(":focusable").focus().length)try{c=this.document[0].activeElement,c&&"body"!==c.nodeName.toLowerCase()&&a(c).blur()}catch(e){}this._hide(this.uiDialog,this.options.hide,function(){d._trigger("close",b)})}},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(b,c){var d=!1,e=this.uiDialog.siblings(".ui-front:visible").map(function(){return+a(this).css("z-index")}).get(),f=Math.max.apply(null,e);return f>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",f+1),d=!0),d&&!c&&this._trigger("focus",b),d},open:function(){var b=this;return this._isOpen?void(this._moveToTop()&&this._focusTabbable()):(this._isOpen=!0,this.opener=a(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){b._focusTabbable(),b._trigger("focus")}),this._makeFocusTarget(),void this._trigger("open"))},_focusTabbable:function(){var a=this._focusedElement;a||(a=this.element.find("[autofocus]")),a.length||(a=this.element.find(":tabbable")),a.length||(a=this.uiDialogButtonPane.find(":tabbable")),a.length||(a=this.uiDialogTitlebarClose.filter(":tabbable")),a.length||(a=this.uiDialog),a.eq(0).focus()},_keepFocus:function(b){function c(){var b=this.document[0].activeElement,c=this.uiDialog[0]===b||a.contains(this.uiDialog[0],b);c||this._focusTabbable()}b.preventDefault(),c.call(this),this._delay(c)},_createWrapper:function(){this.uiDialog=a("<div>").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front "+this.options.dialogClass).hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._on(this.uiDialog,{keydown:function(b){if(this.options.closeOnEscape&&!b.isDefaultPrevented()&&b.keyCode&&b.keyCode===a.ui.keyCode.ESCAPE)return b.preventDefault(),void this.close(b);if(b.keyCode===a.ui.keyCode.TAB&&!b.isDefaultPrevented()){var c=this.uiDialog.find(":tabbable"),d=c.filter(":first"),e=c.filter(":last");b.target!==e[0]&&b.target!==this.uiDialog[0]||b.shiftKey?b.target!==d[0]&&b.target!==this.uiDialog[0]||!b.shiftKey||(this._delay(function(){e.focus()}),b.preventDefault()):(this._delay(function(){d.focus()}),b.preventDefault())}},mousedown:function(a){this._moveToTop(a)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var b;this.uiDialogTitlebar=a("<div>").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(b){a(b.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=a("<button type='button'></button>").button({label:this.options.closeText,icons:{primary:"ui-icon-closethick"},text:!1}).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar),this._on(this.uiDialogTitlebarClose,{click:function(a){a.preventDefault(),this.close(a)}}),b=a("<span>").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar),this._title(b),this.uiDialog.attr({"aria-labelledby":b.attr("id")})},_title:function(a){this.options.title||a.html("&#160;"),a.text(this.options.title)},_createButtonPane:function(){this.uiDialogButtonPane=a("<div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet=a("<div>").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var b=this,c=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),a.isEmptyObject(c)||a.isArray(c)&&!c.length?void this.uiDialog.removeClass("ui-dialog-buttons"):(a.each(c,function(c,d){var e,f;d=a.isFunction(d)?{click:d,text:c}:d,d=a.extend({type:"button"},d),e=d.click,d.click=function(){e.apply(b.element[0],arguments)},f={icons:d.icons,text:d.showText},delete d.icons,delete d.showText,a("<button></button>",d).button(f).appendTo(b.uiButtonSet)}),this.uiDialog.addClass("ui-dialog-buttons"),void this.uiDialogButtonPane.appendTo(this.uiDialog))},_makeDraggable:function(){function b(a){return{position:a.position,offset:a.offset}}var c=this,d=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(d,e){a(this).addClass("ui-dialog-dragging"),c._blockFrames(),c._trigger("dragStart",d,b(e))},drag:function(a,d){c._trigger("drag",a,b(d))},stop:function(e,f){var g=f.offset.left-c.document.scrollLeft(),h=f.offset.top-c.document.scrollTop();d.position={my:"left top",at:"left"+(g>=0?"+":"")+g+" top"+(h>=0?"+":"")+h,of:c.window},a(this).removeClass("ui-dialog-dragging"),c._unblockFrames(),c._trigger("dragStop",e,b(f))}})},_makeResizable:function(){function b(a){return{originalPosition:a.originalPosition,originalSize:a.originalSize,position:a.position,size:a.size}}var c=this,d=this.options,e=d.resizable,f=this.uiDialog.css("position"),g="string"==typeof e?e:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:d.maxWidth,maxHeight:d.maxHeight,minWidth:d.minWidth,minHeight:this._minHeight(),handles:g,start:function(d,e){a(this).addClass("ui-dialog-resizing"),c._blockFrames(),c._trigger("resizeStart",d,b(e))},resize:function(a,d){c._trigger("resize",a,b(d))},stop:function(e,f){var g=c.uiDialog.offset(),h=g.left-c.document.scrollLeft(),i=g.top-c.document.scrollTop();d.height=c.uiDialog.height(),d.width=c.uiDialog.width(),d.position={my:"left top",at:"left"+(h>=0?"+":"")+h+" top"+(i>=0?"+":"")+i,of:c.window},a(this).removeClass("ui-dialog-resizing"),c._unblockFrames(),c._trigger("resizeStop",e,b(f))}}).css("position",f)},_trackFocus:function(){this._on(this.widget(),{focusin:function(b){this._makeFocusTarget(),this._focusedElement=a(b.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var b=this._trackingInstances(),c=a.inArray(this,b);-1!==c&&b.splice(c,1)},_trackingInstances:function(){var a=this.document.data("ui-dialog-instances");return a||(a=[],this.document.data("ui-dialog-instances",a)),a},_minHeight:function(){var a=this.options;return"auto"===a.height?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(){var a=this.uiDialog.is(":visible");a||this.uiDialog.show(),this.uiDialog.position(this.options.position),a||this.uiDialog.hide()},_setOptions:function(b){var c=this,d=!1,e={};a.each(b,function(a,b){c._setOption(a,b),a in c.sizeRelatedOptions&&(d=!0),a in c.resizableRelatedOptions&&(e[a]=b)}),d&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",e)},_setOption:function(a,b){var c,d,e=this.uiDialog;"dialogClass"===a&&e.removeClass(this.options.dialogClass).addClass(b),"disabled"!==a&&(this._super(a,b),"appendTo"===a&&this.uiDialog.appendTo(this._appendTo()),"buttons"===a&&this._createButtons(),"closeText"===a&&this.uiDialogTitlebarClose.button({label:""+b}),"draggable"===a&&(c=e.is(":data(ui-draggable)"),c&&!b&&e.draggable("destroy"),!c&&b&&this._makeDraggable()),"position"===a&&this._position(),"resizable"===a&&(d=e.is(":data(ui-resizable)"),d&&!b&&e.resizable("destroy"),d&&"string"==typeof b&&e.resizable("option","handles",b),d||b===!1||this._makeResizable()),"title"===a&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var a,b,c,d=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),d.minWidth>d.width&&(d.width=d.minWidth),a=this.uiDialog.css({height:"auto",width:d.width}).outerHeight(),b=Math.max(0,d.minHeight-a),c="number"==typeof d.maxHeight?Math.max(0,d.maxHeight-a):"none","auto"===d.height?this.element.css({minHeight:b,maxHeight:c,height:"auto"}):this.element.height(Math.max(0,d.height-a)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var b=a(this);return a("<div>").css({position:"absolute",width:b.outerWidth(),height:b.outerHeight()}).appendTo(b.parent()).offset(b.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(b){return a(b.target).closest(".ui-dialog").length?!0:!!a(b.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var b=!0;this._delay(function(){b=!1}),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(a){b||this._allowInteraction(a)||(a.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=a("<div>").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var a=this.document.data("ui-dialog-overlays")-1;a?this.document.data("ui-dialog-overlays",a):this.document.unbind("focusin").removeData("ui-dialog-overlays"),this.overlay.remove(),this.overlay=null}}});a.widget("ui.droppable",{version:"1.11.4",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var b,c=this.options,d=c.accept;this.isover=!1,this.isout=!0,this.accept=a.isFunction(d)?d:function(a){return a.is(d)},this.proportions=function(){return arguments.length?void(b=arguments[0]):b?b:b={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},this._addToManager(c.scope),c.addClasses&&this.element.addClass("ui-droppable")},_addToManager:function(b){a.ui.ddmanager.droppables[b]=a.ui.ddmanager.droppables[b]||[],a.ui.ddmanager.droppables[b].push(this)},_splice:function(a){for(var b=0;b<a.length;b++)a[b]===this&&a.splice(b,1)},_destroy:function(){var b=a.ui.ddmanager.droppables[this.options.scope];this._splice(b),this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(b,c){if("accept"===b)this.accept=a.isFunction(c)?c:function(a){return a.is(c)};else if("scope"===b){var d=a.ui.ddmanager.droppables[this.options.scope];this._splice(d),this._addToManager(c)}this._super(b,c)},_activate:function(b){var c=a.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),c&&this._trigger("activate",b,this.ui(c))},_deactivate:function(b){var c=a.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),c&&this._trigger("deactivate",b,this.ui(c))},_over:function(b){var c=a.ui.ddmanager.current;c&&(c.currentItem||c.element)[0]!==this.element[0]&&this.accept.call(this.element[0],c.currentItem||c.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",b,this.ui(c)))},_out:function(b){var c=a.ui.ddmanager.current;c&&(c.currentItem||c.element)[0]!==this.element[0]&&this.accept.call(this.element[0],c.currentItem||c.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",b,this.ui(c)))},_drop:function(b,c){var d=c||a.ui.ddmanager.current,e=!1;return d&&(d.currentItem||d.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var c=a(this).droppable("instance");return c.options.greedy&&!c.options.disabled&&c.options.scope===d.options.scope&&c.accept.call(c.element[0],d.currentItem||d.element)&&a.ui.intersect(d,a.extend(c,{offset:c.element.offset()}),c.options.tolerance,b)?(e=!0,!1):void 0}),e?!1:this.accept.call(this.element[0],d.currentItem||d.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",b,this.ui(d)),this.element):!1):!1},ui:function(a){return{draggable:a.currentItem||a.element,helper:a.helper,position:a.position,offset:a.positionAbs}}}),a.ui.intersect=function(){function a(a,b,c){return a>=b&&b+c>a}return function(b,c,d,e){if(!c.offset)return!1;var f=(b.positionAbs||b.position.absolute).left+b.margins.left,g=(b.positionAbs||b.position.absolute).top+b.margins.top,h=f+b.helperProportions.width,i=g+b.helperProportions.height,j=c.offset.left,k=c.offset.top,l=j+c.proportions().width,m=k+c.proportions().height;switch(d){case"fit":return f>=j&&l>=h&&g>=k&&m>=i;case"intersect":return j<f+b.helperProportions.width/2&&h-b.helperProportions.width/2<l&&k<g+b.helperProportions.height/2&&i-b.helperProportions.height/2<m;case"pointer":return a(e.pageY,k,c.proportions().height)&&a(e.pageX,j,c.proportions().width);case"touch":return(g>=k&&m>=g||i>=k&&m>=i||k>g&&i>m)&&(f>=j&&l>=f||h>=j&&l>=h||j>f&&h>l);default:return!1}}}(),a.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(b,c){var d,e,f=a.ui.ddmanager.droppables[b.options.scope]||[],g=c?c.type:null,h=(b.currentItem||b.element).find(":data(ui-droppable)").addBack();a:for(d=0;d<f.length;d++)if(!(f[d].options.disabled||b&&!f[d].accept.call(f[d].element[0],b.currentItem||b.element))){for(e=0;e<h.length;e++)if(h[e]===f[d].element[0]){f[d].proportions().height=0;continue a}f[d].visible="none"!==f[d].element.css("display"),f[d].visible&&("mousedown"===g&&f[d]._activate.call(f[d],c),f[d].offset=f[d].element.offset(),f[d].proportions({width:f[d].element[0].offsetWidth,height:f[d].element[0].offsetHeight}))}},drop:function(b,c){var d=!1;return a.each((a.ui.ddmanager.droppables[b.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&a.ui.intersect(b,this,this.options.tolerance,c)&&(d=this._drop.call(this,c)||d),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],b.currentItem||b.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,c)))}),d},dragStart:function(b,c){b.element.parentsUntil("body").bind("scroll.droppable",function(){b.options.refreshPositions||a.ui.ddmanager.prepareOffsets(b,c)})},drag:function(b,c){b.options.refreshPositions&&a.ui.ddmanager.prepareOffsets(b,c),a.each(a.ui.ddmanager.droppables[b.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var d,e,f,g=a.ui.intersect(b,this,this.options.tolerance,c),h=!g&&this.isover?"isout":g&&!this.isover?"isover":null;h&&(this.options.greedy&&(e=this.options.scope,f=this.element.parents(":data(ui-droppable)").filter(function(){return a(this).droppable("instance").options.scope===e}),f.length&&(d=a(f[0]).droppable("instance"),d.greedyChild="isover"===h)),d&&"isover"===h&&(d.isover=!1,d.isout=!0,d._out.call(d,c)),this[h]=!0,this["isout"===h?"isover":"isout"]=!1,this["isover"===h?"_over":"_out"].call(this,c),d&&"isout"===h&&(d.isout=!1,d.isover=!0,d._over.call(d,c)))}})},dragStop:function(b,c){b.element.parentsUntil("body").unbind("scroll.droppable"),b.options.refreshPositions||a.ui.ddmanager.prepareOffsets(b,c)}};var s=(a.ui.droppable,"ui-effects-"),t=a;a.effects={effect:{}},function(a,b){function c(a,b,c){var d=l[b.type]||{};return null==a?c||!b.def?null:b.def:(a=d.floor?~~a:parseFloat(a),isNaN(a)?b.def:d.mod?(a+d.mod)%d.mod:0>a?0:d.max<a?d.max:a)}function d(b){var c=j(),d=c._rgba=[];return b=b.toLowerCase(),o(i,function(a,e){var f,g=e.re.exec(b),h=g&&e.parse(g),i=e.space||"rgba";return h?(f=c[i](h),c[k[i].cache]=f[k[i].cache],d=c._rgba=f._rgba,!1):void 0}),d.length?("0,0,0,0"===d.join()&&a.extend(d,f.transparent),c):f[b]}function e(a,b,c){return c=(c+1)%1,1>6*c?a+(b-a)*c*6:1>2*c?b:2>3*c?a+(b-a)*(2/3-c)*6:a}var f,g="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",h=/^([\-+])=\s*(\d+\.?\d*)/,i=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(a){return[a[1],a[2],a[3],a[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(a){return[2.55*a[1],2.55*a[2],2.55*a[3],a[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(a){return[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(a){return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(a){return[a[1],a[2]/100,a[3]/100,a[4]]}}],j=a.Color=function(b,c,d,e){return new a.Color.fn.parse(b,c,d,e)},k={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},l={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},m=j.support={},n=a("<p>")[0],o=a.each;n.style.cssText="background-color:rgba(1,1,1,.5)",m.rgba=n.style.backgroundColor.indexOf("rgba")>-1,o(k,function(a,b){b.cache="_"+a,b.props.alpha={idx:3,type:"percent",def:1}}),j.fn=a.extend(j.prototype,{parse:function(e,g,h,i){if(e===b)return this._rgba=[null,null,null,null],this;(e.jquery||e.nodeType)&&(e=a(e).css(g),g=b);var l=this,m=a.type(e),n=this._rgba=[];return g!==b&&(e=[e,g,h,i],m="array"),"string"===m?this.parse(d(e)||f._default):"array"===m?(o(k.rgba.props,function(a,b){n[b.idx]=c(e[b.idx],b)}),this):"object"===m?(e instanceof j?o(k,function(a,b){e[b.cache]&&(l[b.cache]=e[b.cache].slice())}):o(k,function(b,d){var f=d.cache;o(d.props,function(a,b){if(!l[f]&&d.to){if("alpha"===a||null==e[a])return;l[f]=d.to(l._rgba)}l[f][b.idx]=c(e[a],b,!0)}),l[f]&&a.inArray(null,l[f].slice(0,3))<0&&(l[f][3]=1,d.from&&(l._rgba=d.from(l[f])))}),this):void 0},is:function(a){var b=j(a),c=!0,d=this;return o(k,function(a,e){var f,g=b[e.cache];return g&&(f=d[e.cache]||e.to&&e.to(d._rgba)||[],o(e.props,function(a,b){return null!=g[b.idx]?c=g[b.idx]===f[b.idx]:void 0})),c}),c},_space:function(){var a=[],b=this;return o(k,function(c,d){b[d.cache]&&a.push(c)}),a.pop()},transition:function(a,b){var d=j(a),e=d._space(),f=k[e],g=0===this.alpha()?j("transparent"):this,h=g[f.cache]||f.to(g._rgba),i=h.slice();return d=d[f.cache],o(f.props,function(a,e){var f=e.idx,g=h[f],j=d[f],k=l[e.type]||{};null!==j&&(null===g?i[f]=j:(k.mod&&(j-g>k.mod/2?g+=k.mod:g-j>k.mod/2&&(g-=k.mod)),i[f]=c((j-g)*b+g,e)))}),this[e](i)},blend:function(b){if(1===this._rgba[3])return this;var c=this._rgba.slice(),d=c.pop(),e=j(b)._rgba;return j(a.map(c,function(a,b){return(1-d)*e[b]+d*a}))},toRgbaString:function(){var b="rgba(",c=a.map(this._rgba,function(a,b){return null==a?b>2?1:0:a});return 1===c[3]&&(c.pop(),b="rgb("),b+c.join()+")"},toHslaString:function(){var b="hsla(",c=a.map(this.hsla(),function(a,b){return null==a&&(a=b>2?1:0),b&&3>b&&(a=Math.round(100*a)+"%"),a});return 1===c[3]&&(c.pop(),b="hsl("),b+c.join()+")"},toHexString:function(b){var c=this._rgba.slice(),d=c.pop();return b&&c.push(~~(255*d)),"#"+a.map(c,function(a){return a=(a||0).toString(16),1===a.length?"0"+a:a}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),j.fn.parse.prototype=j.fn,k.hsla.to=function(a){if(null==a[0]||null==a[1]||null==a[2])return[null,null,null,a[3]];var b,c,d=a[0]/255,e=a[1]/255,f=a[2]/255,g=a[3],h=Math.max(d,e,f),i=Math.min(d,e,f),j=h-i,k=h+i,l=.5*k;return b=i===h?0:d===h?60*(e-f)/j+360:e===h?60*(f-d)/j+120:60*(d-e)/j+240,c=0===j?0:.5>=l?j/k:j/(2-k),[Math.round(b)%360,c,l,null==g?1:g]},k.hsla.from=function(a){if(null==a[0]||null==a[1]||null==a[2])return[null,null,null,a[3]];var b=a[0]/360,c=a[1],d=a[2],f=a[3],g=.5>=d?d*(1+c):d+c-d*c,h=2*d-g;return[Math.round(255*e(h,g,b+1/3)),Math.round(255*e(h,g,b)),Math.round(255*e(h,g,b-1/3)),f]},o(k,function(d,e){var f=e.props,g=e.cache,i=e.to,k=e.from;j.fn[d]=function(d){if(i&&!this[g]&&(this[g]=i(this._rgba)),d===b)return this[g].slice();var e,h=a.type(d),l="array"===h||"object"===h?d:arguments,m=this[g].slice();return o(f,function(a,b){var d=l["object"===h?a:b.idx];null==d&&(d=m[b.idx]),m[b.idx]=c(d,b)}),k?(e=j(k(m)),e[g]=m,e):j(m)},o(f,function(b,c){j.fn[b]||(j.fn[b]=function(e){var f,g=a.type(e),i="alpha"===b?this._hsla?"hsla":"rgba":d,j=this[i](),k=j[c.idx];return"undefined"===g?k:("function"===g&&(e=e.call(this,k),g=a.type(e)),null==e&&c.empty?this:("string"===g&&(f=h.exec(e),f&&(e=k+parseFloat(f[2])*("+"===f[1]?1:-1))),j[c.idx]=e,this[i](j)))})})}),j.hook=function(b){var c=b.split(" ");o(c,function(b,c){a.cssHooks[c]={set:function(b,e){var f,g,h="";if("transparent"!==e&&("string"!==a.type(e)||(f=d(e)))){if(e=j(f||e),!m.rgba&&1!==e._rgba[3]){for(g="backgroundColor"===c?b.parentNode:b;(""===h||"transparent"===h)&&g&&g.style;)try{h=a.css(g,"backgroundColor"),g=g.parentNode}catch(i){}e=e.blend(h&&"transparent"!==h?h:"_default")}e=e.toRgbaString()}try{b.style[c]=e}catch(i){}}},a.fx.step[c]=function(b){b.colorInit||(b.start=j(b.elem,c),b.end=j(b.end),b.colorInit=!0),a.cssHooks[c].set(b.elem,b.start.transition(b.end,b.pos))}})},j.hook(g),a.cssHooks.borderColor={expand:function(a){var b={};return o(["Top","Right","Bottom","Left"],function(c,d){b["border"+d+"Color"]=a}),b}},f=a.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(t),function(){function b(b){var c,d,e=b.ownerDocument.defaultView?b.ownerDocument.defaultView.getComputedStyle(b,null):b.currentStyle,f={};if(e&&e.length&&e[0]&&e[e[0]])for(d=e.length;d--;)c=e[d],"string"==typeof e[c]&&(f[a.camelCase(c)]=e[c]);else for(c in e)"string"==typeof e[c]&&(f[c]=e[c]);return f}function c(b,c){var d,f,g={};for(d in c)f=c[d],b[d]!==f&&(e[d]||(a.fx.step[d]||!isNaN(parseFloat(f)))&&(g[d]=f));return g}var d=["add","remove","toggle"],e={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};a.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(b,c){a.fx.step[c]=function(a){("none"!==a.end&&!a.setAttr||1===a.pos&&!a.setAttr)&&(t.style(a.elem,c,a.end),a.setAttr=!0)}}),a.fn.addBack||(a.fn.addBack=function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}),a.effects.animateClass=function(e,f,g,h){var i=a.speed(f,g,h);return this.queue(function(){var f,g=a(this),h=g.attr("class")||"",j=i.children?g.find("*").addBack():g;j=j.map(function(){var c=a(this);return{el:c,start:b(this)}}),f=function(){a.each(d,function(a,b){e[b]&&g[b+"Class"](e[b])})},f(),j=j.map(function(){return this.end=b(this.el[0]),this.diff=c(this.start,this.end),this}),g.attr("class",h),j=j.map(function(){var b=this,c=a.Deferred(),d=a.extend({},i,{queue:!1,complete:function(){c.resolve(b)}});return this.el.animate(this.diff,d),
+c.promise()}),a.when.apply(a,j.get()).done(function(){f(),a.each(arguments,function(){var b=this.el;a.each(this.diff,function(a){b.css(a,"")})}),i.complete.call(g[0])})})},a.fn.extend({addClass:function(b){return function(c,d,e,f){return d?a.effects.animateClass.call(this,{add:c},d,e,f):b.apply(this,arguments)}}(a.fn.addClass),removeClass:function(b){return function(c,d,e,f){return arguments.length>1?a.effects.animateClass.call(this,{remove:c},d,e,f):b.apply(this,arguments)}}(a.fn.removeClass),toggleClass:function(b){return function(c,d,e,f,g){return"boolean"==typeof d||void 0===d?e?a.effects.animateClass.call(this,d?{add:c}:{remove:c},e,f,g):b.apply(this,arguments):a.effects.animateClass.call(this,{toggle:c},d,e,f)}}(a.fn.toggleClass),switchClass:function(b,c,d,e,f){return a.effects.animateClass.call(this,{add:c,remove:b},d,e,f)}})}(),function(){function b(b,c,d,e){return a.isPlainObject(b)&&(c=b,b=b.effect),b={effect:b},null==c&&(c={}),a.isFunction(c)&&(e=c,d=null,c={}),("number"==typeof c||a.fx.speeds[c])&&(e=d,d=c,c={}),a.isFunction(d)&&(e=d,d=null),c&&a.extend(b,c),d=d||c.duration,b.duration=a.fx.off?0:"number"==typeof d?d:d in a.fx.speeds?a.fx.speeds[d]:a.fx.speeds._default,b.complete=e||c.complete,b}function c(b){return!b||"number"==typeof b||a.fx.speeds[b]?!0:"string"!=typeof b||a.effects.effect[b]?a.isFunction(b)?!0:"object"!=typeof b||b.effect?!1:!0:!0}a.extend(a.effects,{version:"1.11.4",save:function(a,b){for(var c=0;c<b.length;c++)null!==b[c]&&a.data(s+b[c],a[0].style[b[c]])},restore:function(a,b){var c,d;for(d=0;d<b.length;d++)null!==b[d]&&(c=a.data(s+b[d]),void 0===c&&(c=""),a.css(b[d],c))},setMode:function(a,b){return"toggle"===b&&(b=a.is(":hidden")?"show":"hide"),b},getBaseline:function(a,b){var c,d;switch(a[0]){case"top":c=0;break;case"middle":c=.5;break;case"bottom":c=1;break;default:c=a[0]/b.height}switch(a[1]){case"left":d=0;break;case"center":d=.5;break;case"right":d=1;break;default:d=a[1]/b.width}return{x:d,y:c}},createWrapper:function(b){if(b.parent().is(".ui-effects-wrapper"))return b.parent();var c={width:b.outerWidth(!0),height:b.outerHeight(!0),"float":b.css("float")},d=a("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),e={width:b.width(),height:b.height()},f=document.activeElement;try{f.id}catch(g){f=document.body}return b.wrap(d),(b[0]===f||a.contains(b[0],f))&&a(f).focus(),d=b.parent(),"static"===b.css("position")?(d.css({position:"relative"}),b.css({position:"relative"})):(a.extend(c,{position:b.css("position"),zIndex:b.css("z-index")}),a.each(["top","left","bottom","right"],function(a,d){c[d]=b.css(d),isNaN(parseInt(c[d],10))&&(c[d]="auto")}),b.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),b.css(e),d.css(c).show()},removeWrapper:function(b){var c=document.activeElement;return b.parent().is(".ui-effects-wrapper")&&(b.parent().replaceWith(b),(b[0]===c||a.contains(b[0],c))&&a(c).focus()),b},setTransition:function(b,c,d,e){return e=e||{},a.each(c,function(a,c){var f=b.cssUnit(c);f[0]>0&&(e[c]=f[0]*d+f[1])}),e}}),a.fn.extend({effect:function(){function c(b){function c(){a.isFunction(f)&&f.call(e[0]),a.isFunction(b)&&b()}var e=a(this),f=d.complete,h=d.mode;(e.is(":hidden")?"hide"===h:"show"===h)?(e[h](),c()):g.call(e[0],d,c)}var d=b.apply(this,arguments),e=d.mode,f=d.queue,g=a.effects.effect[d.effect];return a.fx.off||!g?e?this[e](d.duration,d.complete):this.each(function(){d.complete&&d.complete.call(this)}):f===!1?this.each(c):this.queue(f||"fx",c)},show:function(a){return function(d){if(c(d))return a.apply(this,arguments);var e=b.apply(this,arguments);return e.mode="show",this.effect.call(this,e)}}(a.fn.show),hide:function(a){return function(d){if(c(d))return a.apply(this,arguments);var e=b.apply(this,arguments);return e.mode="hide",this.effect.call(this,e)}}(a.fn.hide),toggle:function(a){return function(d){if(c(d)||"boolean"==typeof d)return a.apply(this,arguments);var e=b.apply(this,arguments);return e.mode="toggle",this.effect.call(this,e)}}(a.fn.toggle),cssUnit:function(b){var c=this.css(b),d=[];return a.each(["em","px","%","pt"],function(a,b){c.indexOf(b)>0&&(d=[parseFloat(c),b])}),d}})}(),function(){var b={};a.each(["Quad","Cubic","Quart","Quint","Expo"],function(a,c){b[c]=function(b){return Math.pow(b,a+2)}}),a.extend(b,{Sine:function(a){return 1-Math.cos(a*Math.PI/2)},Circ:function(a){return 1-Math.sqrt(1-a*a)},Elastic:function(a){return 0===a||1===a?a:-Math.pow(2,8*(a-1))*Math.sin((80*(a-1)-7.5)*Math.PI/15)},Back:function(a){return a*a*(3*a-2)},Bounce:function(a){for(var b,c=4;a<((b=Math.pow(2,--c))-1)/11;);return 1/Math.pow(4,3-c)-7.5625*Math.pow((3*b-2)/22-a,2)}}),a.each(b,function(b,c){a.easing["easeIn"+b]=c,a.easing["easeOut"+b]=function(a){return 1-c(1-a)},a.easing["easeInOut"+b]=function(a){return.5>a?c(2*a)/2:1-c(-2*a+2)/2}})}();a.effects,a.effects.effect.blind=function(b,c){var d,e,f,g=a(this),h=/up|down|vertical/,i=/up|left|vertical|horizontal/,j=["position","top","bottom","left","right","height","width"],k=a.effects.setMode(g,b.mode||"hide"),l=b.direction||"up",m=h.test(l),n=m?"height":"width",o=m?"top":"left",p=i.test(l),q={},r="show"===k;g.parent().is(".ui-effects-wrapper")?a.effects.save(g.parent(),j):a.effects.save(g,j),g.show(),d=a.effects.createWrapper(g).css({overflow:"hidden"}),e=d[n](),f=parseFloat(d.css(o))||0,q[n]=r?e:0,p||(g.css(m?"bottom":"right",0).css(m?"top":"left","auto").css({position:"absolute"}),q[o]=r?f:e+f),r&&(d.css(n,0),p||d.css(o,f+e)),d.animate(q,{duration:b.duration,easing:b.easing,queue:!1,complete:function(){"hide"===k&&g.hide(),a.effects.restore(g,j),a.effects.removeWrapper(g),c()}})},a.effects.effect.bounce=function(b,c){var d,e,f,g=a(this),h=["position","top","bottom","left","right","height","width"],i=a.effects.setMode(g,b.mode||"effect"),j="hide"===i,k="show"===i,l=b.direction||"up",m=b.distance,n=b.times||5,o=2*n+(k||j?1:0),p=b.duration/o,q=b.easing,r="up"===l||"down"===l?"top":"left",s="up"===l||"left"===l,t=g.queue(),u=t.length;for((k||j)&&h.push("opacity"),a.effects.save(g,h),g.show(),a.effects.createWrapper(g),m||(m=g["top"===r?"outerHeight":"outerWidth"]()/3),k&&(f={opacity:1},f[r]=0,g.css("opacity",0).css(r,s?2*-m:2*m).animate(f,p,q)),j&&(m/=Math.pow(2,n-1)),f={},f[r]=0,d=0;n>d;d++)e={},e[r]=(s?"-=":"+=")+m,g.animate(e,p,q).animate(f,p,q),m=j?2*m:m/2;j&&(e={opacity:0},e[r]=(s?"-=":"+=")+m,g.animate(e,p,q)),g.queue(function(){j&&g.hide(),a.effects.restore(g,h),a.effects.removeWrapper(g),c()}),u>1&&t.splice.apply(t,[1,0].concat(t.splice(u,o+1))),g.dequeue()},a.effects.effect.clip=function(b,c){var d,e,f,g=a(this),h=["position","top","bottom","left","right","height","width"],i=a.effects.setMode(g,b.mode||"hide"),j="show"===i,k=b.direction||"vertical",l="vertical"===k,m=l?"height":"width",n=l?"top":"left",o={};a.effects.save(g,h),g.show(),d=a.effects.createWrapper(g).css({overflow:"hidden"}),e="IMG"===g[0].tagName?d:g,f=e[m](),j&&(e.css(m,0),e.css(n,f/2)),o[m]=j?f:0,o[n]=j?0:f/2,e.animate(o,{queue:!1,duration:b.duration,easing:b.easing,complete:function(){j||g.hide(),a.effects.restore(g,h),a.effects.removeWrapper(g),c()}})},a.effects.effect.drop=function(b,c){var d,e=a(this),f=["position","top","bottom","left","right","opacity","height","width"],g=a.effects.setMode(e,b.mode||"hide"),h="show"===g,i=b.direction||"left",j="up"===i||"down"===i?"top":"left",k="up"===i||"left"===i?"pos":"neg",l={opacity:h?1:0};a.effects.save(e,f),e.show(),a.effects.createWrapper(e),d=b.distance||e["top"===j?"outerHeight":"outerWidth"](!0)/2,h&&e.css("opacity",0).css(j,"pos"===k?-d:d),l[j]=(h?"pos"===k?"+=":"-=":"pos"===k?"-=":"+=")+d,e.animate(l,{queue:!1,duration:b.duration,easing:b.easing,complete:function(){"hide"===g&&e.hide(),a.effects.restore(e,f),a.effects.removeWrapper(e),c()}})},a.effects.effect.explode=function(b,c){function d(){t.push(this),t.length===l*m&&e()}function e(){n.css({visibility:"visible"}),a(t).remove(),p||n.hide(),c()}var f,g,h,i,j,k,l=b.pieces?Math.round(Math.sqrt(b.pieces)):3,m=l,n=a(this),o=a.effects.setMode(n,b.mode||"hide"),p="show"===o,q=n.show().css("visibility","hidden").offset(),r=Math.ceil(n.outerWidth()/m),s=Math.ceil(n.outerHeight()/l),t=[];for(f=0;l>f;f++)for(i=q.top+f*s,k=f-(l-1)/2,g=0;m>g;g++)h=q.left+g*r,j=g-(m-1)/2,n.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-g*r,top:-f*s}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:r,height:s,left:h+(p?j*r:0),top:i+(p?k*s:0),opacity:p?0:1}).animate({left:h+(p?0:j*r),top:i+(p?0:k*s),opacity:p?1:0},b.duration||500,b.easing,d)},a.effects.effect.fade=function(b,c){var d=a(this),e=a.effects.setMode(d,b.mode||"toggle");d.animate({opacity:e},{queue:!1,duration:b.duration,easing:b.easing,complete:c})},a.effects.effect.fold=function(b,c){var d,e,f=a(this),g=["position","top","bottom","left","right","height","width"],h=a.effects.setMode(f,b.mode||"hide"),i="show"===h,j="hide"===h,k=b.size||15,l=/([0-9]+)%/.exec(k),m=!!b.horizFirst,n=i!==m,o=n?["width","height"]:["height","width"],p=b.duration/2,q={},r={};a.effects.save(f,g),f.show(),d=a.effects.createWrapper(f).css({overflow:"hidden"}),e=n?[d.width(),d.height()]:[d.height(),d.width()],l&&(k=parseInt(l[1],10)/100*e[j?0:1]),i&&d.css(m?{height:0,width:k}:{height:k,width:0}),q[o[0]]=i?e[0]:k,r[o[1]]=i?e[1]:0,d.animate(q,p,b.easing).animate(r,p,b.easing,function(){j&&f.hide(),a.effects.restore(f,g),a.effects.removeWrapper(f),c()})},a.effects.effect.highlight=function(b,c){var d=a(this),e=["backgroundImage","backgroundColor","opacity"],f=a.effects.setMode(d,b.mode||"show"),g={backgroundColor:d.css("backgroundColor")};"hide"===f&&(g.opacity=0),a.effects.save(d,e),d.show().css({backgroundImage:"none",backgroundColor:b.color||"#ffff99"}).animate(g,{queue:!1,duration:b.duration,easing:b.easing,complete:function(){"hide"===f&&d.hide(),a.effects.restore(d,e),c()}})},a.effects.effect.size=function(b,c){var d,e,f,g=a(this),h=["position","top","bottom","left","right","width","height","overflow","opacity"],i=["position","top","bottom","left","right","overflow","opacity"],j=["width","height","overflow"],k=["fontSize"],l=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],m=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],n=a.effects.setMode(g,b.mode||"effect"),o=b.restore||"effect"!==n,p=b.scale||"both",q=b.origin||["middle","center"],r=g.css("position"),s=o?h:i,t={height:0,width:0,outerHeight:0,outerWidth:0};"show"===n&&g.show(),d={height:g.height(),width:g.width(),outerHeight:g.outerHeight(),outerWidth:g.outerWidth()},"toggle"===b.mode&&"show"===n?(g.from=b.to||t,g.to=b.from||d):(g.from=b.from||("show"===n?t:d),g.to=b.to||("hide"===n?t:d)),f={from:{y:g.from.height/d.height,x:g.from.width/d.width},to:{y:g.to.height/d.height,x:g.to.width/d.width}},("box"===p||"both"===p)&&(f.from.y!==f.to.y&&(s=s.concat(l),g.from=a.effects.setTransition(g,l,f.from.y,g.from),g.to=a.effects.setTransition(g,l,f.to.y,g.to)),f.from.x!==f.to.x&&(s=s.concat(m),g.from=a.effects.setTransition(g,m,f.from.x,g.from),g.to=a.effects.setTransition(g,m,f.to.x,g.to))),("content"===p||"both"===p)&&f.from.y!==f.to.y&&(s=s.concat(k).concat(j),g.from=a.effects.setTransition(g,k,f.from.y,g.from),g.to=a.effects.setTransition(g,k,f.to.y,g.to)),a.effects.save(g,s),g.show(),a.effects.createWrapper(g),g.css("overflow","hidden").css(g.from),q&&(e=a.effects.getBaseline(q,d),g.from.top=(d.outerHeight-g.outerHeight())*e.y,g.from.left=(d.outerWidth-g.outerWidth())*e.x,g.to.top=(d.outerHeight-g.to.outerHeight)*e.y,g.to.left=(d.outerWidth-g.to.outerWidth)*e.x),g.css(g.from),("content"===p||"both"===p)&&(l=l.concat(["marginTop","marginBottom"]).concat(k),m=m.concat(["marginLeft","marginRight"]),j=h.concat(l).concat(m),g.find("*[width]").each(function(){var c=a(this),d={height:c.height(),width:c.width(),outerHeight:c.outerHeight(),outerWidth:c.outerWidth()};o&&a.effects.save(c,j),c.from={height:d.height*f.from.y,width:d.width*f.from.x,outerHeight:d.outerHeight*f.from.y,outerWidth:d.outerWidth*f.from.x},c.to={height:d.height*f.to.y,width:d.width*f.to.x,outerHeight:d.height*f.to.y,outerWidth:d.width*f.to.x},f.from.y!==f.to.y&&(c.from=a.effects.setTransition(c,l,f.from.y,c.from),c.to=a.effects.setTransition(c,l,f.to.y,c.to)),f.from.x!==f.to.x&&(c.from=a.effects.setTransition(c,m,f.from.x,c.from),c.to=a.effects.setTransition(c,m,f.to.x,c.to)),c.css(c.from),c.animate(c.to,b.duration,b.easing,function(){o&&a.effects.restore(c,j)})})),g.animate(g.to,{queue:!1,duration:b.duration,easing:b.easing,complete:function(){0===g.to.opacity&&g.css("opacity",g.from.opacity),"hide"===n&&g.hide(),a.effects.restore(g,s),o||("static"===r?g.css({position:"relative",top:g.to.top,left:g.to.left}):a.each(["top","left"],function(a,b){g.css(b,function(b,c){var d=parseInt(c,10),e=a?g.to.left:g.to.top;return"auto"===c?e+"px":d+e+"px"})})),a.effects.removeWrapper(g),c()}})},a.effects.effect.scale=function(b,c){var d=a(this),e=a.extend(!0,{},b),f=a.effects.setMode(d,b.mode||"effect"),g=parseInt(b.percent,10)||(0===parseInt(b.percent,10)?0:"hide"===f?0:100),h=b.direction||"both",i=b.origin,j={height:d.height(),width:d.width(),outerHeight:d.outerHeight(),outerWidth:d.outerWidth()},k={y:"horizontal"!==h?g/100:1,x:"vertical"!==h?g/100:1};e.effect="size",e.queue=!1,e.complete=c,"effect"!==f&&(e.origin=i||["middle","center"],e.restore=!0),e.from=b.from||("show"===f?{height:0,width:0,outerHeight:0,outerWidth:0}:j),e.to={height:j.height*k.y,width:j.width*k.x,outerHeight:j.outerHeight*k.y,outerWidth:j.outerWidth*k.x},e.fade&&("show"===f&&(e.from.opacity=0,e.to.opacity=1),"hide"===f&&(e.from.opacity=1,e.to.opacity=0)),d.effect(e)},a.effects.effect.puff=function(b,c){var d=a(this),e=a.effects.setMode(d,b.mode||"hide"),f="hide"===e,g=parseInt(b.percent,10)||150,h=g/100,i={height:d.height(),width:d.width(),outerHeight:d.outerHeight(),outerWidth:d.outerWidth()};a.extend(b,{effect:"scale",queue:!1,fade:!0,mode:e,complete:c,percent:f?g:100,from:f?i:{height:i.height*h,width:i.width*h,outerHeight:i.outerHeight*h,outerWidth:i.outerWidth*h}}),d.effect(b)},a.effects.effect.pulsate=function(b,c){var d,e=a(this),f=a.effects.setMode(e,b.mode||"show"),g="show"===f,h="hide"===f,i=g||"hide"===f,j=2*(b.times||5)+(i?1:0),k=b.duration/j,l=0,m=e.queue(),n=m.length;for((g||!e.is(":visible"))&&(e.css("opacity",0).show(),l=1),d=1;j>d;d++)e.animate({opacity:l},k,b.easing),l=1-l;e.animate({opacity:l},k,b.easing),e.queue(function(){h&&e.hide(),c()}),n>1&&m.splice.apply(m,[1,0].concat(m.splice(n,j+1))),e.dequeue()},a.effects.effect.shake=function(b,c){var d,e=a(this),f=["position","top","bottom","left","right","height","width"],g=a.effects.setMode(e,b.mode||"effect"),h=b.direction||"left",i=b.distance||20,j=b.times||3,k=2*j+1,l=Math.round(b.duration/k),m="up"===h||"down"===h?"top":"left",n="up"===h||"left"===h,o={},p={},q={},r=e.queue(),s=r.length;for(a.effects.save(e,f),e.show(),a.effects.createWrapper(e),o[m]=(n?"-=":"+=")+i,p[m]=(n?"+=":"-=")+2*i,q[m]=(n?"-=":"+=")+2*i,e.animate(o,l,b.easing),d=1;j>d;d++)e.animate(p,l,b.easing).animate(q,l,b.easing);e.animate(p,l,b.easing).animate(o,l/2,b.easing).queue(function(){"hide"===g&&e.hide(),a.effects.restore(e,f),a.effects.removeWrapper(e),c()}),s>1&&r.splice.apply(r,[1,0].concat(r.splice(s,k+1))),e.dequeue()},a.effects.effect.slide=function(b,c){var d,e=a(this),f=["position","top","bottom","left","right","width","height"],g=a.effects.setMode(e,b.mode||"show"),h="show"===g,i=b.direction||"left",j="up"===i||"down"===i?"top":"left",k="up"===i||"left"===i,l={};a.effects.save(e,f),e.show(),d=b.distance||e["top"===j?"outerHeight":"outerWidth"](!0),a.effects.createWrapper(e).css({overflow:"hidden"}),h&&e.css(j,k?isNaN(d)?"-"+d:-d:d),l[j]=(h?k?"+=":"-=":k?"-=":"+=")+d,e.animate(l,{queue:!1,duration:b.duration,easing:b.easing,complete:function(){"hide"===g&&e.hide(),a.effects.restore(e,f),a.effects.removeWrapper(e),c()}})},a.effects.effect.transfer=function(b,c){var d=a(this),e=a(b.to),f="fixed"===e.css("position"),g=a("body"),h=f?g.scrollTop():0,i=f?g.scrollLeft():0,j=e.offset(),k={top:j.top-h,left:j.left-i,height:e.innerHeight(),width:e.innerWidth()},l=d.offset(),m=a("<div class='ui-effects-transfer'></div>").appendTo(document.body).addClass(b.className).css({top:l.top-h,left:l.left-i,height:d.innerHeight(),width:d.innerWidth(),position:f?"fixed":"absolute"}).animate(k,b.duration,b.easing,function(){m.remove(),c()})},a.widget("ui.progressbar",{version:"1.11.4",options:{max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min}),this.valueDiv=a("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element),this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove()},value:function(a){return void 0===a?this.options.value:(this.options.value=this._constrainedValue(a),void this._refreshValue())},_constrainedValue:function(a){return void 0===a&&(a=this.options.value),this.indeterminate=a===!1,"number"!=typeof a&&(a=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,a))},_setOptions:function(a){var b=a.value;delete a.value,this._super(a),this.options.value=this._constrainedValue(b),this._refreshValue()},_setOption:function(a,b){"max"===a&&(b=Math.max(this.min,b)),"disabled"===a&&this.element.toggleClass("ui-state-disabled",!!b).attr("aria-disabled",b),this._super(a,b)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var b=this.options.value,c=this._percentage();this.valueDiv.toggle(this.indeterminate||b>this.min).toggleClass("ui-corner-right",b===this.options.max).width(c.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=a("<div class='ui-progressbar-overlay'></div>").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":b}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==b&&(this.oldValue=b,this._trigger("change")),b===this.options.max&&this._trigger("complete")}}),a.widget("ui.selectable",a.ui.mouse,{version:"1.11.4",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var b,c=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){b=a(c.options.filter,c.element[0]),b.addClass("ui-selectee"),b.each(function(){var b=a(this),c=b.offset();a.data(this,"selectable-item",{element:this,$element:b,left:c.left,top:c.top,right:c.left+b.outerWidth(),bottom:c.top+b.outerHeight(),startselected:!1,selected:b.hasClass("ui-selected"),selecting:b.hasClass("ui-selecting"),unselecting:b.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=b.addClass("ui-selectee"),this._mouseInit(),this.helper=a("<div class='ui-selectable-helper'></div>")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(b){var c=this,d=this.options;this.opos=[b.pageX,b.pageY],this.options.disabled||(this.selectees=a(d.filter,this.element[0]),this._trigger("start",b),a(d.appendTo).append(this.helper),this.helper.css({left:b.pageX,top:b.pageY,width:0,height:0}),d.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var d=a.data(this,"selectable-item");d.startselected=!0,b.metaKey||b.ctrlKey||(d.$element.removeClass("ui-selected"),d.selected=!1,d.$element.addClass("ui-unselecting"),d.unselecting=!0,c._trigger("unselecting",b,{unselecting:d.element}))}),a(b.target).parents().addBack().each(function(){var d,e=a.data(this,"selectable-item");return e?(d=!b.metaKey&&!b.ctrlKey||!e.$element.hasClass("ui-selected"),e.$element.removeClass(d?"ui-unselecting":"ui-selected").addClass(d?"ui-selecting":"ui-unselecting"),e.unselecting=!d,e.selecting=d,e.selected=d,d?c._trigger("selecting",b,{selecting:e.element}):c._trigger("unselecting",b,{unselecting:e.element}),!1):void 0}))},_mouseDrag:function(b){if(this.dragged=!0,!this.options.disabled){var c,d=this,e=this.options,f=this.opos[0],g=this.opos[1],h=b.pageX,i=b.pageY;return f>h&&(c=h,h=f,f=c),g>i&&(c=i,i=g,g=c),this.helper.css({left:f,top:g,width:h-f,height:i-g}),this.selectees.each(function(){var c=a.data(this,"selectable-item"),j=!1;c&&c.element!==d.element[0]&&("touch"===e.tolerance?j=!(c.left>h||c.right<f||c.top>i||c.bottom<g):"fit"===e.tolerance&&(j=c.left>f&&c.right<h&&c.top>g&&c.bottom<i),j?(c.selected&&(c.$element.removeClass("ui-selected"),c.selected=!1),c.unselecting&&(c.$element.removeClass("ui-unselecting"),c.unselecting=!1),c.selecting||(c.$element.addClass("ui-selecting"),c.selecting=!0,d._trigger("selecting",b,{selecting:c.element}))):(c.selecting&&((b.metaKey||b.ctrlKey)&&c.startselected?(c.$element.removeClass("ui-selecting"),c.selecting=!1,c.$element.addClass("ui-selected"),c.selected=!0):(c.$element.removeClass("ui-selecting"),c.selecting=!1,c.startselected&&(c.$element.addClass("ui-unselecting"),c.unselecting=!0),d._trigger("unselecting",b,{unselecting:c.element}))),c.selected&&(b.metaKey||b.ctrlKey||c.startselected||(c.$element.removeClass("ui-selected"),c.selected=!1,c.$element.addClass("ui-unselecting"),c.unselecting=!0,d._trigger("unselecting",b,{unselecting:c.element})))))}),!1}},_mouseStop:function(b){var c=this;return this.dragged=!1,a(".ui-unselecting",this.element[0]).each(function(){var d=a.data(this,"selectable-item");d.$element.removeClass("ui-unselecting"),d.unselecting=!1,d.startselected=!1,c._trigger("unselected",b,{unselected:d.element})}),a(".ui-selecting",this.element[0]).each(function(){var d=a.data(this,"selectable-item");d.$element.removeClass("ui-selecting").addClass("ui-selected"),d.selecting=!1,d.selected=!0,d.startselected=!0,c._trigger("selected",b,{selected:d.element})}),this._trigger("stop",b),this.helper.remove(),!1}}),a.widget("ui.selectmenu",{version:"1.11.4",defaultElement:"<select>",options:{appendTo:null,disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:null,change:null,close:null,focus:null,open:null,select:null},_create:function(){var a=this.element.uniqueId().attr("id");this.ids={element:a,button:a+"-button",menu:a+"-menu"},this._drawButton(),this._drawMenu(),this.options.disabled&&this.disable()},_drawButton:function(){var b=this;this.label=a("label[for='"+this.ids.element+"']").attr("for",this.ids.button),this._on(this.label,{click:function(a){this.button.focus(),a.preventDefault()}}),this.element.hide(),this.button=a("<span>",{"class":"ui-selectmenu-button ui-widget ui-state-default ui-corner-all",tabindex:this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true"}).insertAfter(this.element),a("<span>",{"class":"ui-icon "+this.options.icons.button}).prependTo(this.button),this.buttonText=a("<span>",{"class":"ui-selectmenu-text"}).appendTo(this.button),this._setText(this.buttonText,this.element.find("option:selected").text()),this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one("focusin",function(){b.menuItems||b._refreshMenu()}),this._hoverable(this.button),this._focusable(this.button)},_drawMenu:function(){var b=this;this.menu=a("<ul>",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=a("<div>",{"class":"ui-selectmenu-menu ui-front"}).append(this.menu).appendTo(this._appendTo()),this.menuInstance=this.menu.menu({role:"listbox",select:function(a,c){a.preventDefault(),b._setSelection(),b._select(c.item.data("ui-selectmenu-item"),a)},focus:function(a,c){var d=c.item.data("ui-selectmenu-item");null!=b.focusIndex&&d.index!==b.focusIndex&&(b._trigger("focus",a,{item:d}),b.isOpen||b._select(d,a)),b.focusIndex=d.index,b.button.attr("aria-activedescendant",b.menuItems.eq(d.index).attr("id"))}}).menu("instance"),this.menu.addClass("ui-corner-bottom").removeClass("ui-corner-all"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this._setText(this.buttonText,this._getSelectedItem().text()),this.options.width||this._resizeButton()},_refreshMenu:function(){this.menu.empty();var a,b=this.element.find("option");b.length&&(this._parseOptions(b),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup"),a=this._getSelectedItem(),this.menuInstance.focus(null,a),this._setAria(a.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(a){this.options.disabled||(this.menuItems?(this.menu.find(".ui-state-focus").removeClass("ui-state-focus"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",a))},_position:function(){this.menuWrap.position(a.extend({of:this.button},this.options.position))},close:function(a){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",a))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderMenu:function(b,c){var d=this,e="";a.each(c,function(c,f){f.optgroup!==e&&(a("<li>",{"class":"ui-selectmenu-optgroup ui-menu-divider"+(f.element.parent("optgroup").prop("disabled")?" ui-state-disabled":""),text:f.optgroup}).appendTo(b),e=f.optgroup),d._renderItemData(b,f)})},_renderItemData:function(a,b){return this._renderItem(a,b).data("ui-selectmenu-item",b)},_renderItem:function(b,c){var d=a("<li>");return c.disabled&&d.addClass("ui-state-disabled"),this._setText(d,c.label),d.appendTo(b)},_setText:function(a,b){b?a.text(b):a.html("&#160;")},_move:function(a,b){var c,d,e=".ui-menu-item";this.isOpen?c=this.menuItems.eq(this.focusIndex):(c=this.menuItems.eq(this.element[0].selectedIndex),e+=":not(.ui-state-disabled)"),d="first"===a||"last"===a?c["first"===a?"prevAll":"nextAll"](e).eq(-1):c[a+"All"](e).eq(0),d.length&&this.menuInstance.focus(b,d)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex)},_toggle:function(a){this[this.isOpen?"close":"open"](a)},_setSelection:function(){var a;this.range&&(window.getSelection?(a=window.getSelection(),a.removeAllRanges(),a.addRange(this.range)):this.range.select(),this.button.focus())},_documentClick:{mousedown:function(b){this.isOpen&&(a(b.target).closest(".ui-selectmenu-menu, #"+this.ids.button).length||this.close(b))}},_buttonEvents:{mousedown:function(){var a;window.getSelection?(a=window.getSelection(),a.rangeCount&&(this.range=a.getRangeAt(0))):this.range=document.selection.createRange()},click:function(a){this._setSelection(),this._toggle(a)},keydown:function(b){var c=!0;switch(b.keyCode){case a.ui.keyCode.TAB:case a.ui.keyCode.ESCAPE:this.close(b),c=!1;break;case a.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(b);break;case a.ui.keyCode.UP:b.altKey?this._toggle(b):this._move("prev",b);break;case a.ui.keyCode.DOWN:b.altKey?this._toggle(b):this._move("next",b);break;case a.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(b):this._toggle(b);break;case a.ui.keyCode.LEFT:this._move("prev",b);break;case a.ui.keyCode.RIGHT:this._move("next",b);break;case a.ui.keyCode.HOME:case a.ui.keyCode.PAGE_UP:this._move("first",b);break;case a.ui.keyCode.END:case a.ui.keyCode.PAGE_DOWN:this._move("last",b);break;default:this.menu.trigger(b),c=!1}c&&b.preventDefault()}},_selectFocusedItem:function(a){var b=this.menuItems.eq(this.focusIndex);b.hasClass("ui-state-disabled")||this._select(b.data("ui-selectmenu-item"),a)},_select:function(a,b){var c=this.element[0].selectedIndex;this.element[0].selectedIndex=a.index,this._setText(this.buttonText,a.label),this._setAria(a),this._trigger("select",b,{item:a}),a.index!==c&&this._trigger("change",b,{item:a}),this.close(b)},_setAria:function(a){var b=this.menuItems.eq(a.index).attr("id");this.button.attr({"aria-labelledby":b,"aria-activedescendant":b}),this.menu.attr("aria-activedescendant",b)},_setOption:function(a,b){"icons"===a&&this.button.find("span.ui-icon").removeClass(this.options.icons.button).addClass(b.button),this._super(a,b),"appendTo"===a&&this.menuWrap.appendTo(this._appendTo()),"disabled"===a&&(this.menuInstance.option("disabled",b),this.button.toggleClass("ui-state-disabled",b).attr("aria-disabled",b),this.element.prop("disabled",b),b?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)),"width"===a&&this._resizeButton()},_appendTo:function(){var b=this.options.appendTo;return b&&(b=b.jquery||b.nodeType?a(b):this.document.find(b).eq(0)),b&&b[0]||(b=this.element.closest(".ui-front")),b.length||(b=this.document[0].body),b},_toggleAttr:function(){this.button.toggleClass("ui-corner-top",this.isOpen).toggleClass("ui-corner-all",!this.isOpen).attr("aria-expanded",this.isOpen),this.menuWrap.toggleClass("ui-selectmenu-open",this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var a=this.options.width;a||(a=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(a)},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){return{disabled:this.element.prop("disabled")}},_parseOptions:function(b){var c=[];b.each(function(b,d){var e=a(d),f=e.parent("optgroup");c.push({element:e,index:b,value:e.val(),label:e.text(),optgroup:f.attr("label")||"",disabled:f.prop("disabled")||e.prop("disabled")})}),this.items=c},_destroy:function(){this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.label.attr("for",this.ids.element)}}),a.widget("ui.slider",a.ui.mouse,{version:"1.11.4",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget ui-widget-content ui-corner-all"),this._refresh(),this._setOption("disabled",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var b,c,d=this.options,e=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),f="<span class='ui-slider-handle ui-state-default ui-corner-all' tabindex='0'></span>",g=[];for(c=d.values&&d.values.length||1,e.length>c&&(e.slice(c).remove(),e=e.slice(0,c)),b=e.length;c>b;b++)g.push(f);this.handles=e.add(a(g.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(b){a(this).data("ui-slider-handle-index",b)})},_createRange:function(){var b=this.options,c="";b.range?(b.range===!0&&(b.values?b.values.length&&2!==b.values.length?b.values=[b.values[0],b.values[0]]:a.isArray(b.values)&&(b.values=b.values.slice(0)):b.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({
+left:"",bottom:""}):(this.range=a("<div></div>").appendTo(this.element),c="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(c+("min"===b.range||"max"===b.range?" ui-slider-range-"+b.range:""))):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(b){var c,d,e,f,g,h,i,j,k=this,l=this.options;return l.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),c={x:b.pageX,y:b.pageY},d=this._normValueFromMouse(c),e=this._valueMax()-this._valueMin()+1,this.handles.each(function(b){var c=Math.abs(d-k.values(b));(e>c||e===c&&(b===k._lastChangedValue||k.values(b)===l.min))&&(e=c,f=a(this),g=b)}),h=this._start(b,g),h===!1?!1:(this._mouseSliding=!0,this._handleIndex=g,f.addClass("ui-state-active").focus(),i=f.offset(),j=!a(b.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=j?{left:0,top:0}:{left:b.pageX-i.left-f.width()/2,top:b.pageY-i.top-f.height()/2-(parseInt(f.css("borderTopWidth"),10)||0)-(parseInt(f.css("borderBottomWidth"),10)||0)+(parseInt(f.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(b,g,d),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(a){var b={x:a.pageX,y:a.pageY},c=this._normValueFromMouse(b);return this._slide(a,this._handleIndex,c),!1},_mouseStop:function(a){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(a,this._handleIndex),this._change(a,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(a){var b,c,d,e,f;return"horizontal"===this.orientation?(b=this.elementSize.width,c=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(b=this.elementSize.height,c=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),d=c/b,d>1&&(d=1),0>d&&(d=0),"vertical"===this.orientation&&(d=1-d),e=this._valueMax()-this._valueMin(),f=this._valueMin()+d*e,this._trimAlignValue(f)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};return this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("start",a,c)},_slide:function(a,b,c){var d,e,f;this.options.values&&this.options.values.length?(d=this.values(b?0:1),2===this.options.values.length&&this.options.range===!0&&(0===b&&c>d||1===b&&d>c)&&(c=d),c!==this.values(b)&&(e=this.values(),e[b]=c,f=this._trigger("slide",a,{handle:this.handles[b],value:c,values:e}),d=this.values(b?0:1),f!==!1&&this.values(b,c))):c!==this.value()&&(f=this._trigger("slide",a,{handle:this.handles[b],value:c}),f!==!1&&this.value(c))},_stop:function(a,b){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("stop",a,c)},_change:function(a,b){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._lastChangedValue=b,this._trigger("change",a,c)}},value:function(a){return arguments.length?(this.options.value=this._trimAlignValue(a),this._refreshValue(),void this._change(null,0)):this._value()},values:function(b,c){var d,e,f;if(arguments.length>1)return this.options.values[b]=this._trimAlignValue(c),this._refreshValue(),void this._change(null,b);if(!arguments.length)return this._values();if(!a.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(b):this.value();for(d=this.options.values,e=arguments[0],f=0;f<d.length;f+=1)d[f]=this._trimAlignValue(e[f]),this._change(null,f);this._refreshValue()},_setOption:function(b,c){var d,e=0;switch("range"===b&&this.options.range===!0&&("min"===c?(this.options.value=this._values(0),this.options.values=null):"max"===c&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),a.isArray(this.options.values)&&(e=this.options.values.length),"disabled"===b&&this.element.toggleClass("ui-state-disabled",!!c),this._super(b,c),b){case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue(),this.handles.css("horizontal"===c?"bottom":"left","");break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),d=0;e>d;d+=1)this._change(null,d);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_value:function(){var a=this.options.value;return a=this._trimAlignValue(a)},_values:function(a){var b,c,d;if(arguments.length)return b=this.options.values[a],b=this._trimAlignValue(b);if(this.options.values&&this.options.values.length){for(c=this.options.values.slice(),d=0;d<c.length;d+=1)c[d]=this._trimAlignValue(c[d]);return c}return[]},_trimAlignValue:function(a){if(a<=this._valueMin())return this._valueMin();if(a>=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b,d=a-c;return 2*Math.abs(c)>=b&&(d+=c>0?b:-b),parseFloat(d.toFixed(5))},_calculateNewMax:function(){var a=this.options.max,b=this._valueMin(),c=this.options.step,d=Math.floor(+(a-b).toFixed(this._precision())/c)*c;a=d+b,this.max=parseFloat(a.toFixed(this._precision()))},_precision:function(){var a=this._precisionOf(this.options.step);return null!==this.options.min&&(a=Math.max(a,this._precisionOf(this.options.min))),a},_precisionOf:function(a){var b=a.toString(),c=b.indexOf(".");return-1===c?0:b.length-c-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshValue:function(){var b,c,d,e,f,g=this.options.range,h=this.options,i=this,j=this._animateOff?!1:h.animate,k={};this.options.values&&this.options.values.length?this.handles.each(function(d){c=(i.values(d)-i._valueMin())/(i._valueMax()-i._valueMin())*100,k["horizontal"===i.orientation?"left":"bottom"]=c+"%",a(this).stop(1,1)[j?"animate":"css"](k,h.animate),i.options.range===!0&&("horizontal"===i.orientation?(0===d&&i.range.stop(1,1)[j?"animate":"css"]({left:c+"%"},h.animate),1===d&&i.range[j?"animate":"css"]({width:c-b+"%"},{queue:!1,duration:h.animate})):(0===d&&i.range.stop(1,1)[j?"animate":"css"]({bottom:c+"%"},h.animate),1===d&&i.range[j?"animate":"css"]({height:c-b+"%"},{queue:!1,duration:h.animate}))),b=c}):(d=this.value(),e=this._valueMin(),f=this._valueMax(),c=f!==e?(d-e)/(f-e)*100:0,k["horizontal"===this.orientation?"left":"bottom"]=c+"%",this.handle.stop(1,1)[j?"animate":"css"](k,h.animate),"min"===g&&"horizontal"===this.orientation&&this.range.stop(1,1)[j?"animate":"css"]({width:c+"%"},h.animate),"max"===g&&"horizontal"===this.orientation&&this.range[j?"animate":"css"]({width:100-c+"%"},{queue:!1,duration:h.animate}),"min"===g&&"vertical"===this.orientation&&this.range.stop(1,1)[j?"animate":"css"]({height:c+"%"},h.animate),"max"===g&&"vertical"===this.orientation&&this.range[j?"animate":"css"]({height:100-c+"%"},{queue:!1,duration:h.animate}))},_handleEvents:{keydown:function(b){var c,d,e,f,g=a(b.target).data("ui-slider-handle-index");switch(b.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.PAGE_UP:case a.ui.keyCode.PAGE_DOWN:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(b.preventDefault(),!this._keySliding&&(this._keySliding=!0,a(b.target).addClass("ui-state-active"),c=this._start(b,g),c===!1))return}switch(f=this.options.step,d=e=this.options.values&&this.options.values.length?this.values(g):this.value(),b.keyCode){case a.ui.keyCode.HOME:e=this._valueMin();break;case a.ui.keyCode.END:e=this._valueMax();break;case a.ui.keyCode.PAGE_UP:e=this._trimAlignValue(d+(this._valueMax()-this._valueMin())/this.numPages);break;case a.ui.keyCode.PAGE_DOWN:e=this._trimAlignValue(d-(this._valueMax()-this._valueMin())/this.numPages);break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(d===this._valueMax())return;e=this._trimAlignValue(d+f);break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(d===this._valueMin())return;e=this._trimAlignValue(d-f)}this._slide(b,g,e)},keyup:function(b){var c=a(b.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(b,c),this._change(b,c),a(b.target).removeClass("ui-state-active"))}}}),a.widget("ui.sortable",a.ui.mouse,{version:"1.11.4",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(a,b,c){return a>=b&&b+c>a},_isFloating:function(a){return/left|right/.test(a.css("float"))||/inline|table-cell/.test(a.css("display"))},_create:function(){this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(a,b){this._super(a,b),"handle"===a&&this._setHandleClassName()},_setHandleClassName:function(){this.element.find(".ui-sortable-handle").removeClass("ui-sortable-handle"),a.each(this.items,function(){(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item).addClass("ui-sortable-handle")})},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").find(".ui-sortable-handle").removeClass("ui-sortable-handle"),this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(b,c){var d=null,e=!1,f=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(b),a(b.target).parents().each(function(){return a.data(this,f.widgetName+"-item")===f?(d=a(this),!1):void 0}),a.data(b.target,f.widgetName+"-item")===f&&(d=a(b.target)),d&&(!this.options.handle||c||(a(this.options.handle,d).find("*").addBack().each(function(){this===b.target&&(e=!0)}),e))?(this.currentItem=d,this._removeCurrentsFromItems(),!0):!1)},_mouseStart:function(b,c,d){var e,f,g=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(b),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,g.cursorAt&&this._adjustOffsetFromHelper(g.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),g.containment&&this._setContainment(),g.cursor&&"auto"!==g.cursor&&(f=this.document.find("body"),this.storedCursor=f.css("cursor"),f.css("cursor",g.cursor),this.storedStylesheet=a("<style>*{ cursor: "+g.cursor+" !important; }</style>").appendTo(f)),g.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",g.opacity)),g.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",g.zIndex)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",b,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!d)for(e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("activate",b,this._uiHash(this));return a.ui.ddmanager&&(a.ui.ddmanager.current=this),a.ui.ddmanager&&!g.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(b),!0},_mouseDrag:function(b){var c,d,e,f,g=this.options,h=!1;for(this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-b.pageY<g.scrollSensitivity?this.scrollParent[0].scrollTop=h=this.scrollParent[0].scrollTop+g.scrollSpeed:b.pageY-this.overflowOffset.top<g.scrollSensitivity&&(this.scrollParent[0].scrollTop=h=this.scrollParent[0].scrollTop-g.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-b.pageX<g.scrollSensitivity?this.scrollParent[0].scrollLeft=h=this.scrollParent[0].scrollLeft+g.scrollSpeed:b.pageX-this.overflowOffset.left<g.scrollSensitivity&&(this.scrollParent[0].scrollLeft=h=this.scrollParent[0].scrollLeft-g.scrollSpeed)):(b.pageY-this.document.scrollTop()<g.scrollSensitivity?h=this.document.scrollTop(this.document.scrollTop()-g.scrollSpeed):this.window.height()-(b.pageY-this.document.scrollTop())<g.scrollSensitivity&&(h=this.document.scrollTop(this.document.scrollTop()+g.scrollSpeed)),b.pageX-this.document.scrollLeft()<g.scrollSensitivity?h=this.document.scrollLeft(this.document.scrollLeft()-g.scrollSpeed):this.window.width()-(b.pageX-this.document.scrollLeft())<g.scrollSensitivity&&(h=this.document.scrollLeft(this.document.scrollLeft()+g.scrollSpeed))),h!==!1&&a.ui.ddmanager&&!g.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),c=this.items.length-1;c>=0;c--)if(d=this.items[c],e=d.item[0],f=this._intersectsWithPointer(d),f&&d.instance===this.currentContainer&&e!==this.currentItem[0]&&this.placeholder[1===f?"next":"prev"]()[0]!==e&&!a.contains(this.placeholder[0],e)&&("semi-dynamic"===this.options.type?!a.contains(this.element[0],e):!0)){if(this.direction=1===f?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(d))break;this._rearrange(b,d),this._trigger("change",b,this._uiHash());break}return this._contactContainers(b),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),this._trigger("sort",b,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(b,c){if(b){if(a.ui.ddmanager&&!this.options.dropBehaviour&&a.ui.ddmanager.drop(this,b),this.options.revert){var d=this,e=this.placeholder.offset(),f=this.options.axis,g={};f&&"x"!==f||(g.left=e.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),f&&"y"!==f||(g.top=e.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,a(this.helper).animate(g,parseInt(this.options.revert,10)||500,function(){d._clear(b)})}else this._clear(b,c);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--)this.containers[b]._trigger("deactivate",null,this._uiHash(this)),this.containers[b].containerCache.over&&(this.containers[b]._trigger("out",null,this._uiHash(this)),this.containers[b].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),a.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?a(this.domPosition.prev).after(this.currentItem):a(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},a(c).each(function(){var c=(a(b.item||this).attr(b.attribute||"id")||"").match(b.expression||/(.+)[\-=_](.+)/);c&&d.push((b.key||c[1]+"[]")+"="+(b.key&&b.expression?c[1]:c[2]))}),!d.length&&b.key&&d.push(b.key+"="),d.join("&")},toArray:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},c.each(function(){d.push(a(b.item||this).attr(b.attribute||"id")||"")}),d},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,d=this.positionAbs.top,e=d+this.helperProportions.height,f=a.left,g=f+a.width,h=a.top,i=h+a.height,j=this.offset.click.top,k=this.offset.click.left,l="x"===this.options.axis||d+j>h&&i>d+j,m="y"===this.options.axis||b+k>f&&g>b+k,n=l&&m;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?n:f<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<g&&h<d+this.helperProportions.height/2&&e-this.helperProportions.height/2<i},_intersectsWithPointer:function(a){var b="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,a.top,a.height),c="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,a.left,a.width),d=b&&c,e=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();return d?this.floating?f&&"right"===f||"down"===e?2:1:e&&("down"===e?2:1):!1},_intersectsWithSides:function(a){var b=this._isOverAxis(this.positionAbs.top+this.offset.click.top,a.top+a.height/2,a.height),c=this._isOverAxis(this.positionAbs.left+this.offset.click.left,a.left+a.width/2,a.width),d=this._getDragVerticalDirection(),e=this._getDragHorizontalDirection();return this.floating&&e?"right"===e&&c||"left"===e&&!c:d&&("down"===d&&b||"up"===d&&!b)},_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return 0!==a&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return 0!==a&&(a>0?"right":"left")},refresh:function(a){return this._refreshItems(a),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var a=this.options;return a.connectWith.constructor===String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(b){function c(){h.push(this)}var d,e,f,g,h=[],i=[],j=this._connectWith();if(j&&b)for(d=j.length-1;d>=0;d--)for(f=a(j[d],this.document[0]),e=f.length-1;e>=0;e--)g=a.data(f[e],this.widgetFullName),g&&g!==this&&!g.options.disabled&&i.push([a.isFunction(g.options.items)?g.options.items.call(g.element):a(g.options.items,g.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),g]);for(i.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),d=i.length-1;d>=0;d--)i[d][0].each(c);return a(h)},_removeCurrentsFromItems:function(){var b=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=a.grep(this.items,function(a){for(var c=0;c<b.length;c++)if(b[c]===a.item[0])return!1;return!0})},_refreshItems:function(b){this.items=[],this.containers=[this];var c,d,e,f,g,h,i,j,k=this.items,l=[[a.isFunction(this.options.items)?this.options.items.call(this.element[0],b,{item:this.currentItem}):a(this.options.items,this.element),this]],m=this._connectWith();if(m&&this.ready)for(c=m.length-1;c>=0;c--)for(e=a(m[c],this.document[0]),d=e.length-1;d>=0;d--)f=a.data(e[d],this.widgetFullName),f&&f!==this&&!f.options.disabled&&(l.push([a.isFunction(f.options.items)?f.options.items.call(f.element[0],b,{item:this.currentItem}):a(f.options.items,f.element),f]),this.containers.push(f));for(c=l.length-1;c>=0;c--)for(g=l[c][1],h=l[c][0],d=0,j=h.length;j>d;d++)i=a(h[d]),i.data(this.widgetName+"-item",g),k.push({item:i,instance:g,width:0,height:0,left:0,top:0})},refreshPositions:function(b){this.floating=this.items.length?"x"===this.options.axis||this._isFloating(this.items[0].item):!1,this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var c,d,e,f;for(c=this.items.length-1;c>=0;c--)d=this.items[c],d.instance!==this.currentContainer&&this.currentContainer&&d.item[0]!==this.currentItem[0]||(e=this.options.toleranceElement?a(this.options.toleranceElement,d.item):d.item,b||(d.width=e.outerWidth(),d.height=e.outerHeight()),f=e.offset(),d.left=f.left,d.top=f.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(c=this.containers.length-1;c>=0;c--)f=this.containers[c].element.offset(),this.containers[c].containerCache.left=f.left,this.containers[c].containerCache.top=f.top,this.containers[c].containerCache.width=this.containers[c].element.outerWidth(),this.containers[c].containerCache.height=this.containers[c].element.outerHeight();return this},_createPlaceholder:function(b){b=b||this;var c,d=b.options;d.placeholder&&d.placeholder.constructor!==String||(c=d.placeholder,d.placeholder={element:function(){var d=b.currentItem[0].nodeName.toLowerCase(),e=a("<"+d+">",b.document[0]).addClass(c||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tbody"===d?b._createTrPlaceholder(b.currentItem.find("tr").eq(0),a("<tr>",b.document[0]).appendTo(e)):"tr"===d?b._createTrPlaceholder(b.currentItem,e):"img"===d&&e.attr("src",b.currentItem.attr("src")),c||e.css("visibility","hidden"),e},update:function(a,e){(!c||d.forcePlaceholderSize)&&(e.height()||e.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10)),e.width()||e.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10)))}}),b.placeholder=a(d.placeholder.element.call(b.element,b.currentItem)),b.currentItem.after(b.placeholder),d.placeholder.update(b,b.placeholder)},_createTrPlaceholder:function(b,c){var d=this;b.children().each(function(){a("<td>&#160;</td>",d.document[0]).attr("colspan",a(this).attr("colspan")||1).appendTo(c)})},_contactContainers:function(b){var c,d,e,f,g,h,i,j,k,l,m=null,n=null;for(c=this.containers.length-1;c>=0;c--)if(!a.contains(this.currentItem[0],this.containers[c].element[0]))if(this._intersectsWith(this.containers[c].containerCache)){if(m&&a.contains(this.containers[c].element[0],m.element[0]))continue;m=this.containers[c],n=c}else this.containers[c].containerCache.over&&(this.containers[c]._trigger("out",b,this._uiHash(this)),this.containers[c].containerCache.over=0);if(m)if(1===this.containers.length)this.containers[n].containerCache.over||(this.containers[n]._trigger("over",b,this._uiHash(this)),this.containers[n].containerCache.over=1);else{for(e=1e4,f=null,k=m.floating||this._isFloating(this.currentItem),g=k?"left":"top",h=k?"width":"height",l=k?"clientX":"clientY",d=this.items.length-1;d>=0;d--)a.contains(this.containers[n].element[0],this.items[d].item[0])&&this.items[d].item[0]!==this.currentItem[0]&&(i=this.items[d].item.offset()[g],j=!1,b[l]-i>this.items[d][h]/2&&(j=!0),Math.abs(b[l]-i)<e&&(e=Math.abs(b[l]-i),f=this.items[d],this.direction=j?"up":"down"));if(!f&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[n])return void(this.currentContainer.containerCache.over||(this.containers[n]._trigger("over",b,this._uiHash()),this.currentContainer.containerCache.over=1));f?this._rearrange(b,f,null,!0):this._rearrange(b,null,this.containers[n].element,!0),this._trigger("change",b,this._uiHash()),this.containers[n]._trigger("change",b,this._uiHash(this)),this.currentContainer=this.containers[n],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[n]._trigger("over",b,this._uiHash(this)),this.containers[n].containerCache.over=1}},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b,this.currentItem])):"clone"===c.helper?this.currentItem.clone():this.currentItem;return d.parents("body").length||a("parent"!==c.appendTo?c.appendTo:this.currentItem[0].parentNode)[0].appendChild(d[0]),d[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!d[0].style.width||c.forceHelperSize)&&d.width(this.currentItem.width()),(!d[0].style.height||c.forceHelperSize)&&d.height(this.currentItem.height()),d},_adjustOffsetFromHelper:function(b){"string"==typeof b&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&a.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&a.ui.ie)&&(b={top:0,left:0}),{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b,c,d,e=this.options;"parent"===e.containment&&(e.containment=this.helper[0].parentNode),("document"===e.containment||"window"===e.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,"document"===e.containment?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,("document"===e.containment?this.document.width():this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(e.containment)||(b=a(e.containment)[0],c=a(e.containment).offset(),d="hidden"!==a(b).css("overflow"),this.containment=[c.left+(parseInt(a(b).css("borderLeftWidth"),10)||0)+(parseInt(a(b).css("paddingLeft"),10)||0)-this.margins.left,c.top+(parseInt(a(b).css("borderTopWidth"),10)||0)+(parseInt(a(b).css("paddingTop"),10)||0)-this.margins.top,c.left+(d?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(a(b).css("borderLeftWidth"),10)||0)-(parseInt(a(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,c.top+(d?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(a(b).css("borderTopWidth"),10)||0)-(parseInt(a(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(b,c){c||(c=this.position);var d="absolute"===b?1:-1,e="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,f=/(html|body)/i.test(e[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():f?0:e.scrollTop())*d,left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():f?0:e.scrollLeft())*d}},_generatePosition:function(b){var c,d,e=this.options,f=b.pageX,g=b.pageY,h="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,i=/(html|body)/i.test(h[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(b.pageX-this.offset.click.left<this.containment[0]&&(f=this.containment[0]+this.offset.click.left),b.pageY-this.offset.click.top<this.containment[1]&&(g=this.containment[1]+this.offset.click.top),b.pageX-this.offset.click.left>this.containment[2]&&(f=this.containment[2]+this.offset.click.left),b.pageY-this.offset.click.top>this.containment[3]&&(g=this.containment[3]+this.offset.click.top)),e.grid&&(c=this.originalPageY+Math.round((g-this.originalPageY)/e.grid[1])*e.grid[1],g=this.containment?c-this.offset.click.top>=this.containment[1]&&c-this.offset.click.top<=this.containment[3]?c:c-this.offset.click.top>=this.containment[1]?c-e.grid[1]:c+e.grid[1]:c,d=this.originalPageX+Math.round((f-this.originalPageX)/e.grid[0])*e.grid[0],f=this.containment?d-this.offset.click.left>=this.containment[0]&&d-this.offset.click.left<=this.containment[2]?d:d-this.offset.click.left>=this.containment[0]?d-e.grid[0]:d+e.grid[0]:d)),{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():i?0:h.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():i?0:h.scrollLeft())}},_rearrange:function(a,b,c,d){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?b.item[0]:b.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var e=this.counter;this._delay(function(){e===this.counter&&this.refreshPositions(!d)})},_clear:function(a,b){function c(a,b,c){return function(d){c._trigger(a,d,b._uiHash(b))}}this.reverting=!1;var d,e=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(d in this._storedCSS)("auto"===this._storedCSS[d]||"static"===this._storedCSS[d])&&(this._storedCSS[d]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!b&&e.push(function(a){this._trigger("receive",a,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||b||e.push(function(a){
+this._trigger("update",a,this._uiHash())}),this!==this.currentContainer&&(b||(e.push(function(a){this._trigger("remove",a,this._uiHash())}),e.push(function(a){return function(b){a._trigger("receive",b,this._uiHash(this))}}.call(this,this.currentContainer)),e.push(function(a){return function(b){a._trigger("update",b,this._uiHash(this))}}.call(this,this.currentContainer)))),d=this.containers.length-1;d>=0;d--)b||e.push(c("deactivate",this,this.containers[d])),this.containers[d].containerCache.over&&(e.push(c("out",this,this.containers[d])),this.containers[d].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,b||this._trigger("beforeStop",a,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!b){for(d=0;d<e.length;d++)e[d].call(this,a);this._trigger("stop",a,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){a.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(b){var c=b||this;return{helper:c.helper,placeholder:c.placeholder||a([]),position:c.position,originalPosition:c.originalPosition,offset:c.positionAbs,item:c.currentItem,sender:b?b.element:null}}}),a.widget("ui.spinner",{version:"1.11.4",defaultElement:"<input>",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var b={},c=this.element;return a.each(["min","max","step"],function(a,d){var e=c.attr(d);void 0!==e&&e.length&&(b[d]=e)}),b},_events:{keydown:function(a){this._start(a)&&this._keydown(a)&&a.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(a){return this.cancelBlur?void delete this.cancelBlur:(this._stop(),this._refresh(),void(this.previous!==this.element.val()&&this._trigger("change",a)))},mousewheel:function(a,b){if(b){if(!this.spinning&&!this._start(a))return!1;this._spin((b>0?1:-1)*this.options.step,a),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(a)},100),a.preventDefault()}},"mousedown .ui-spinner-button":function(b){function c(){var a=this.element[0]===this.document[0].activeElement;a||(this.element.focus(),this.previous=d,this._delay(function(){this.previous=d}))}var d;d=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),b.preventDefault(),c.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,c.call(this)}),this._start(b)!==!1&&this._repeat(null,a(b.currentTarget).hasClass("ui-spinner-up")?1:-1,b)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(b){return a(b.currentTarget).hasClass("ui-state-active")?this._start(b)===!1?!1:void this._repeat(null,a(b.currentTarget).hasClass("ui-spinner-up")?1:-1,b):void 0},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var a=this.uiSpinner=this.element.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr("role","spinbutton"),this.buttons=a.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(.5*a.height())&&a.height()>0&&a.height(a.height()),this.options.disabled&&this.disable()},_keydown:function(b){var c=this.options,d=a.ui.keyCode;switch(b.keyCode){case d.UP:return this._repeat(null,1,b),!0;case d.DOWN:return this._repeat(null,-1,b),!0;case d.PAGE_UP:return this._repeat(null,c.page,b),!0;case d.PAGE_DOWN:return this._repeat(null,-c.page,b),!0}return!1},_uiSpinnerHtml:function(){return"<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>"},_buttonHtml:function(){return"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'><span class='ui-icon "+this.options.icons.up+"'>&#9650;</span></a><a class='ui-spinner-button ui-spinner-down ui-corner-br'><span class='ui-icon "+this.options.icons.down+"'>&#9660;</span></a>"},_start:function(a){return this.spinning||this._trigger("start",a)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(a,b,c){a=a||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,b,c)},a),this._spin(b*this.options.step,c)},_spin:function(a,b){var c=this.value()||0;this.counter||(this.counter=1),c=this._adjustValue(c+a*this._increment(this.counter)),this.spinning&&this._trigger("spin",b,{value:c})===!1||(this._value(c),this.counter++)},_increment:function(b){var c=this.options.incremental;return c?a.isFunction(c)?c(b):Math.floor(b*b*b/5e4-b*b/500+17*b/200+1):1},_precision:function(){var a=this._precisionOf(this.options.step);return null!==this.options.min&&(a=Math.max(a,this._precisionOf(this.options.min))),a},_precisionOf:function(a){var b=a.toString(),c=b.indexOf(".");return-1===c?0:b.length-c-1},_adjustValue:function(a){var b,c,d=this.options;return b=null!==d.min?d.min:0,c=a-b,c=Math.round(c/d.step)*d.step,a=b+c,a=parseFloat(a.toFixed(this._precision())),null!==d.max&&a>d.max?d.max:null!==d.min&&a<d.min?d.min:a},_stop:function(a){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",a))},_setOption:function(a,b){if("culture"===a||"numberFormat"===a){var c=this._parse(this.element.val());return this.options[a]=b,void this.element.val(this._format(c))}("max"===a||"min"===a||"step"===a)&&"string"==typeof b&&(b=this._parse(b)),"icons"===a&&(this.buttons.first().find(".ui-icon").removeClass(this.options.icons.up).addClass(b.up),this.buttons.last().find(".ui-icon").removeClass(this.options.icons.down).addClass(b.down)),this._super(a,b),"disabled"===a&&(this.widget().toggleClass("ui-state-disabled",!!b),this.element.prop("disabled",!!b),this.buttons.button(b?"disable":"enable"))},_setOptions:i(function(a){this._super(a)}),_parse:function(a){return"string"==typeof a&&""!==a&&(a=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(a,10,this.options.culture):+a),""===a||isNaN(a)?null:a},_format:function(a){return""===a?"":window.Globalize&&this.options.numberFormat?Globalize.format(a,this.options.numberFormat,this.options.culture):a},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},isValid:function(){var a=this.value();return null===a?!1:a===this._adjustValue(a)},_value:function(a,b){var c;""!==a&&(c=this._parse(a),null!==c&&(b||(c=this._adjustValue(c)),a=this._format(c))),this.element.val(a),this._refresh()},_destroy:function(){this.element.removeClass("ui-spinner-input").prop("disabled",!1).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:i(function(a){this._stepUp(a)}),_stepUp:function(a){this._start()&&(this._spin((a||1)*this.options.step),this._stop())},stepDown:i(function(a){this._stepDown(a)}),_stepDown:function(a){this._start()&&(this._spin((a||1)*-this.options.step),this._stop())},pageUp:i(function(a){this._stepUp((a||1)*this.options.page)}),pageDown:i(function(a){this._stepDown((a||1)*this.options.page)}),value:function(a){return arguments.length?void i(this._value).call(this,a):this._parse(this.element.val())},widget:function(){return this.uiSpinner}}),a.widget("ui.tabs",{version:"1.11.4",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var a=/#.*$/;return function(b){var c,d;b=b.cloneNode(!1),c=b.href.replace(a,""),d=location.href.replace(a,"");try{c=decodeURIComponent(c)}catch(e){}try{d=decodeURIComponent(d)}catch(e){}return b.hash.length>1&&c===d}}(),_create:function(){var b=this,c=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",c.collapsible),this._processTabs(),c.active=this._initialActive(),a.isArray(c.disabled)&&(c.disabled=a.unique(c.disabled.concat(a.map(this.tabs.filter(".ui-state-disabled"),function(a){return b.tabs.index(a)}))).sort()),this.options.active!==!1&&this.anchors.length?this.active=this._findActive(c.active):this.active=a(),this._refresh(),this.active.length&&this.load(c.active)},_initialActive:function(){var b=this.options.active,c=this.options.collapsible,d=location.hash.substring(1);return null===b&&(d&&this.tabs.each(function(c,e){return a(e).attr("aria-controls")===d?(b=c,!1):void 0}),null===b&&(b=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===b||-1===b)&&(b=this.tabs.length?0:!1)),b!==!1&&(b=this.tabs.index(this.tabs.eq(b)),-1===b&&(b=c?!1:0)),!c&&b===!1&&this.anchors.length&&(b=0),b},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):a()}},_tabKeydown:function(b){var c=a(this.document[0].activeElement).closest("li"),d=this.tabs.index(c),e=!0;if(!this._handlePageNav(b)){switch(b.keyCode){case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:d++;break;case a.ui.keyCode.UP:case a.ui.keyCode.LEFT:e=!1,d--;break;case a.ui.keyCode.END:d=this.anchors.length-1;break;case a.ui.keyCode.HOME:d=0;break;case a.ui.keyCode.SPACE:return b.preventDefault(),clearTimeout(this.activating),void this._activate(d);case a.ui.keyCode.ENTER:return b.preventDefault(),clearTimeout(this.activating),void this._activate(d===this.options.active?!1:d);default:return}b.preventDefault(),clearTimeout(this.activating),d=this._focusNextTab(d,e),b.ctrlKey||b.metaKey||(c.attr("aria-selected","false"),this.tabs.eq(d).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",d)},this.delay))}},_panelKeydown:function(b){this._handlePageNav(b)||b.ctrlKey&&b.keyCode===a.ui.keyCode.UP&&(b.preventDefault(),this.active.focus())},_handlePageNav:function(b){return b.altKey&&b.keyCode===a.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):b.altKey&&b.keyCode===a.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(b,c){function d(){return b>e&&(b=0),0>b&&(b=e),b}for(var e=this.tabs.length-1;-1!==a.inArray(d(),this.options.disabled);)b=c?b+1:b-1;return b},_focusNextTab:function(a,b){return a=this._findNextTab(a,b),this.tabs.eq(a).focus(),a},_setOption:function(a,b){return"active"===a?void this._activate(b):"disabled"===a?void this._setupDisabled(b):(this._super(a,b),"collapsible"===a&&(this.element.toggleClass("ui-tabs-collapsible",b),b||this.options.active!==!1||this._activate(0)),"event"===a&&this._setupEvents(b),void("heightStyle"===a&&this._setupHeightStyle(b)))},_sanitizeSelector:function(a){return a?a.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var b=this.options,c=this.tablist.children(":has(a[href])");b.disabled=a.map(c.filter(".ui-state-disabled"),function(a){return c.index(a)}),this._processTabs(),b.active!==!1&&this.anchors.length?this.active.length&&!a.contains(this.tablist[0],this.active[0])?this.tabs.length===b.disabled.length?(b.active=!1,this.active=a()):this._activate(this._findNextTab(Math.max(0,b.active-1),!1)):b.active=this.tabs.index(this.active):(b.active=!1,this.active=a()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var b=this,c=this.tabs,d=this.anchors,e=this.panels;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist").delegate("> li","mousedown"+this.eventNamespace,function(b){a(this).is(".ui-state-disabled")&&b.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){a(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return a("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=a(),this.anchors.each(function(c,d){var e,f,g,h=a(d).uniqueId().attr("id"),i=a(d).closest("li"),j=i.attr("aria-controls");b._isLocal(d)?(e=d.hash,g=e.substring(1),f=b.element.find(b._sanitizeSelector(e))):(g=i.attr("aria-controls")||a({}).uniqueId()[0].id,e="#"+g,f=b.element.find(e),f.length||(f=b._createPanel(g),f.insertAfter(b.panels[c-1]||b.tablist)),f.attr("aria-live","polite")),f.length&&(b.panels=b.panels.add(f)),j&&i.data("ui-tabs-aria-controls",j),i.attr({"aria-controls":g,"aria-labelledby":h}),f.attr("aria-labelledby",h)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel"),c&&(this._off(c.not(this.tabs)),this._off(d.not(this.anchors)),this._off(e.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol,ul").eq(0)},_createPanel:function(b){return a("<div>").attr("id",b).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(b){a.isArray(b)&&(b.length?b.length===this.anchors.length&&(b=!0):b=!1);for(var c,d=0;c=this.tabs[d];d++)b===!0||-1!==a.inArray(d,b)?a(c).addClass("ui-state-disabled").attr("aria-disabled","true"):a(c).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=b},_setupEvents:function(b){var c={};b&&a.each(b.split(" "),function(a,b){c[b]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(a){a.preventDefault()}}),this._on(this.anchors,c),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(b){var c,d=this.element.parent();"fill"===b?(c=d.height(),c-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var b=a(this),d=b.css("position");"absolute"!==d&&"fixed"!==d&&(c-=b.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){c-=a(this).outerHeight(!0)}),this.panels.each(function(){a(this).height(Math.max(0,c-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")):"auto"===b&&(c=0,this.panels.each(function(){c=Math.max(c,a(this).height("").height())}).height(c))},_eventHandler:function(b){var c=this.options,d=this.active,e=a(b.currentTarget),f=e.closest("li"),g=f[0]===d[0],h=g&&c.collapsible,i=h?a():this._getPanelForTab(f),j=d.length?this._getPanelForTab(d):a(),k={oldTab:d,oldPanel:j,newTab:h?a():f,newPanel:i};b.preventDefault(),f.hasClass("ui-state-disabled")||f.hasClass("ui-tabs-loading")||this.running||g&&!c.collapsible||this._trigger("beforeActivate",b,k)===!1||(c.active=h?!1:this.tabs.index(f),this.active=g?a():f,this.xhr&&this.xhr.abort(),j.length||i.length||a.error("jQuery UI Tabs: Mismatching fragment identifier."),i.length&&this.load(this.tabs.index(f),b),this._toggle(b,k))},_toggle:function(b,c){function d(){f.running=!1,f._trigger("activate",b,c)}function e(){c.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),g.length&&f.options.show?f._show(g,f.options.show,d):(g.show(),d())}var f=this,g=c.newPanel,h=c.oldPanel;this.running=!0,h.length&&this.options.hide?this._hide(h,this.options.hide,function(){c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),e()}):(c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),h.hide(),e()),h.attr("aria-hidden","true"),c.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),g.length&&h.length?c.oldTab.attr("tabIndex",-1):g.length&&this.tabs.filter(function(){return 0===a(this).attr("tabIndex")}).attr("tabIndex",-1),g.attr("aria-hidden","false"),c.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(b){var c,d=this._findActive(b);d[0]!==this.active[0]&&(d.length||(d=this.active),c=d.find(".ui-tabs-anchor")[0],this._eventHandler({target:c,currentTarget:c,preventDefault:a.noop}))},_findActive:function(b){return b===!1?a():this.tabs.eq(b)},_getIndex:function(a){return"string"==typeof a&&(a=this.anchors.index(this.anchors.filter("[href$='"+a+"']"))),a},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tablist.unbind(this.eventNamespace),this.tabs.add(this.panels).each(function(){a.data(this,"ui-tabs-destroy")?a(this).remove():a(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var b=a(this),c=b.data("ui-tabs-aria-controls");c?b.attr("aria-controls",c).removeData("ui-tabs-aria-controls"):b.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(b){var c=this.options.disabled;c!==!1&&(void 0===b?c=!1:(b=this._getIndex(b),c=a.isArray(c)?a.map(c,function(a){return a!==b?a:null}):a.map(this.tabs,function(a,c){return c!==b?c:null})),this._setupDisabled(c))},disable:function(b){var c=this.options.disabled;if(c!==!0){if(void 0===b)c=!0;else{if(b=this._getIndex(b),-1!==a.inArray(b,c))return;c=a.isArray(c)?a.merge([b],c).sort():[b]}this._setupDisabled(c)}},load:function(b,c){b=this._getIndex(b);var d=this,e=this.tabs.eq(b),f=e.find(".ui-tabs-anchor"),g=this._getPanelForTab(e),h={tab:e,panel:g},i=function(a,b){"abort"===b&&d.panels.stop(!1,!0),e.removeClass("ui-tabs-loading"),g.removeAttr("aria-busy"),a===d.xhr&&delete d.xhr};this._isLocal(f[0])||(this.xhr=a.ajax(this._ajaxSettings(f,c,h)),this.xhr&&"canceled"!==this.xhr.statusText&&(e.addClass("ui-tabs-loading"),g.attr("aria-busy","true"),this.xhr.done(function(a,b,e){setTimeout(function(){g.html(a),d._trigger("load",c,h),i(e,b)},1)}).fail(function(a,b){setTimeout(function(){i(a,b)},1)})))},_ajaxSettings:function(b,c,d){var e=this;return{url:b.attr("href"),beforeSend:function(b,f){return e._trigger("beforeLoad",c,a.extend({jqXHR:b,ajaxSettings:f},d))}}},_getPanelForTab:function(b){var c=a(b).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+c))}}),a.widget("ui.tooltip",{version:"1.11.4",options:{content:function(){var b=a(this).attr("title")||"";return a("<a>").text(b).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_addDescribedBy:function(b,c){var d=(b.attr("aria-describedby")||"").split(/\s+/);d.push(c),b.data("ui-tooltip-id",c).attr("aria-describedby",a.trim(d.join(" ")))},_removeDescribedBy:function(b){var c=b.data("ui-tooltip-id"),d=(b.attr("aria-describedby")||"").split(/\s+/),e=a.inArray(c,d);-1!==e&&d.splice(e,1),b.removeData("ui-tooltip-id"),d=a.trim(d.join(" ")),d?b.attr("aria-describedby",d):b.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable(),this.liveRegion=a("<div>").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body)},_setOption:function(b,c){var d=this;return"disabled"===b?(this[c?"_disable":"_enable"](),void(this.options[b]=c)):(this._super(b,c),void("content"===b&&a.each(this.tooltips,function(a,b){d._updateContent(b.element)})))},_disable:function(){var b=this;a.each(this.tooltips,function(c,d){var e=a.Event("blur");e.target=e.currentTarget=d.element[0],b.close(e,!0)}),this.element.find(this.options.items).addBack().each(function(){var b=a(this);b.is("[title]")&&b.data("ui-tooltip-title",b.attr("title")).removeAttr("title")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var b=a(this);b.data("ui-tooltip-title")&&b.attr("title",b.data("ui-tooltip-title"))})},open:function(b){var c=this,d=a(b?b.target:this.element).closest(this.options.items);d.length&&!d.data("ui-tooltip-id")&&(d.attr("title")&&d.data("ui-tooltip-title",d.attr("title")),d.data("ui-tooltip-open",!0),b&&"mouseover"===b.type&&d.parents().each(function(){var b,d=a(this);d.data("ui-tooltip-open")&&(b=a.Event("blur"),b.target=b.currentTarget=this,c.close(b,!0)),d.attr("title")&&(d.uniqueId(),c.parents[this.id]={element:this,title:d.attr("title")},d.attr("title",""))}),this._registerCloseHandlers(b,d),this._updateContent(d,b))},_updateContent:function(a,b){var c,d=this.options.content,e=this,f=b?b.type:null;return"string"==typeof d?this._open(b,a,d):(c=d.call(a[0],function(c){e._delay(function(){a.data("ui-tooltip-open")&&(b&&(b.type=f),this._open(b,a,c))})}),void(c&&this._open(b,a,c)))},_open:function(b,c,d){function e(a){j.of=a,g.is(":hidden")||g.position(j)}var f,g,h,i,j=a.extend({},this.options.position);if(d){if(f=this._find(c))return void f.tooltip.find(".ui-tooltip-content").html(d);c.is("[title]")&&(b&&"mouseover"===b.type?c.attr("title",""):c.removeAttr("title")),f=this._tooltip(c),g=f.tooltip,this._addDescribedBy(c,g.attr("id")),g.find(".ui-tooltip-content").html(d),this.liveRegion.children().hide(),d.clone?(i=d.clone(),i.removeAttr("id").find("[id]").removeAttr("id")):i=d,a("<div>").html(i).appendTo(this.liveRegion),this.options.track&&b&&/^mouse/.test(b.type)?(this._on(this.document,{mousemove:e}),e(b)):g.position(a.extend({of:c},this.options.position)),g.hide(),this._show(g,this.options.show),this.options.show&&this.options.show.delay&&(h=this.delayedShow=setInterval(function(){g.is(":visible")&&(e(j.of),clearInterval(h))},a.fx.interval)),this._trigger("open",b,{tooltip:g})}},_registerCloseHandlers:function(b,c){var d={keyup:function(b){if(b.keyCode===a.ui.keyCode.ESCAPE){var d=a.Event(b);d.currentTarget=c[0],this.close(d,!0)}}};c[0]!==this.element[0]&&(d.remove=function(){this._removeTooltip(this._find(c).tooltip)}),b&&"mouseover"!==b.type||(d.mouseleave="close"),b&&"focusin"!==b.type||(d.focusout="close"),this._on(!0,c,d)},close:function(b){var c,d=this,e=a(b?b.currentTarget:this.element),f=this._find(e);return f?(c=f.tooltip,void(f.closing||(clearInterval(this.delayedShow),e.data("ui-tooltip-title")&&!e.attr("title")&&e.attr("title",e.data("ui-tooltip-title")),this._removeDescribedBy(e),f.hiding=!0,c.stop(!0),this._hide(c,this.options.hide,function(){d._removeTooltip(a(this))}),e.removeData("ui-tooltip-open"),this._off(e,"mouseleave focusout keyup"),e[0]!==this.element[0]&&this._off(e,"remove"),this._off(this.document,"mousemove"),b&&"mouseleave"===b.type&&a.each(this.parents,function(b,c){a(c.element).attr("title",c.title),delete d.parents[b]}),f.closing=!0,this._trigger("close",b,{tooltip:c}),f.hiding||(f.closing=!1)))):void e.removeData("ui-tooltip-open")},_tooltip:function(b){var c=a("<div>").attr("role","tooltip").addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||"")),d=c.uniqueId().attr("id");return a("<div>").addClass("ui-tooltip-content").appendTo(c),c.appendTo(this.document[0].body),this.tooltips[d]={element:b,tooltip:c}},_find:function(a){var b=a.data("ui-tooltip-id");return b?this.tooltips[b]:null},_removeTooltip:function(a){a.remove(),delete this.tooltips[a.attr("id")]},_destroy:function(){var b=this;a.each(this.tooltips,function(c,d){var e=a.Event("blur"),f=d.element;e.target=e.currentTarget=f[0],b.close(e,!0),a("#"+c).remove(),f.data("ui-tooltip-title")&&(f.attr("title")||f.attr("title",f.data("ui-tooltip-title")),f.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}})}),function(a,b,c){"use strict";b.module("ui.sortable",[]).value("uiSortableConfig",{}).directive("uiSortable",["uiSortableConfig","$timeout","$log",function(a,d,e){return{require:"?ngModel",scope:{ngModel:"=",uiSortable:"="},link:function(f,g,h,i){function j(a,b){return b&&"function"==typeof b?function(){a.apply(this,arguments),b.apply(this,arguments)}:a}function k(a){var b=a.data("ui-sortable");return b&&"object"==typeof b&&"ui-sortable"===b.widgetFullName?b:null}function l(a,b){var c=a.sortable("option","helper");return"clone"===c||"function"==typeof c&&b.item.sortable.isCustomHelperUsed()}function m(a){return/left|right/.test(a.css("float"))||/inline|table-cell/.test(a.css("display"))}function n(a,b){for(var c=null,d=0;d<a.length;d++){var e=a[d];if(e.element[0]===b[0]){c=e.scope;break}}return c}function o(a,b){b.item.sortable._destroy()}var p,q={},r={"ui-floating":c},s={receive:null,remove:null,start:null,stop:null,update:null},t={helper:null};return b.extend(q,r,a,f.uiSortable),b.element.fn&&b.element.fn.jquery?(i?(f.$watch("ngModel.length",function(){d(function(){k(g)&&g.sortable("refresh")},0,!1)}),s.start=function(a,d){if("auto"===q["ui-floating"]){var e=d.item.siblings(),f=k(b.element(a.target));f.floating=m(e)}d.item.sortable={model:i.$modelValue[d.item.index()],index:d.item.index(),source:d.item.parent(),sourceModel:i.$modelValue,cancel:function(){d.item.sortable._isCanceled=!0},isCanceled:function(){return d.item.sortable._isCanceled},isCustomHelperUsed:function(){return!!d.item.sortable._isCustomHelperUsed},_isCanceled:!1,_isCustomHelperUsed:d.item.sortable._isCustomHelperUsed,_destroy:function(){b.forEach(d.item.sortable,function(a,b){d.item.sortable[b]=c})}}},s.activate=function(a,c){p=g.contents();var d=g.sortable("option","placeholder");if(d&&d.element&&"function"==typeof d.element){var e=d.element();e=b.element(e);var h=g.find('[class="'+e.attr("class")+'"]:not([ng-repeat], [data-ng-repeat])');p=p.not(h)}var i=c.item.sortable._connectedSortables||[];i.push({element:g,scope:f}),c.item.sortable._connectedSortables=i},s.update=function(a,b){if(!b.item.sortable.received){b.item.sortable.dropindex=b.item.index();var c=b.item.parent();b.item.sortable.droptarget=c;var d=n(b.item.sortable._connectedSortables,c);b.item.sortable.droptargetModel=d.ngModel,g.sortable("cancel")}l(g,b)&&!b.item.sortable.received&&"parent"===g.sortable("option","appendTo")&&(p=p.not(p.last())),p.appendTo(g),b.item.sortable.received&&(p=null),b.item.sortable.received&&!b.item.sortable.isCanceled()&&f.$apply(function(){i.$modelValue.splice(b.item.sortable.dropindex,0,b.item.sortable.moved)})},s.stop=function(a,b){!b.item.sortable.received&&"dropindex"in b.item.sortable&&!b.item.sortable.isCanceled()?f.$apply(function(){i.$modelValue.splice(b.item.sortable.dropindex,0,i.$modelValue.splice(b.item.sortable.index,1)[0])}):"dropindex"in b.item.sortable&&!b.item.sortable.isCanceled()||l(g,b)||p.appendTo(g),p=null},s.receive=function(a,b){b.item.sortable.received=!0},s.remove=function(a,b){"dropindex"in b.item.sortable||(g.sortable("cancel"),b.item.sortable.cancel()),b.item.sortable.isCanceled()||f.$apply(function(){b.item.sortable.moved=i.$modelValue.splice(b.item.sortable.index,1)[0]})},t.helper=function(a){return a&&"function"==typeof a?function(b,c){var d=a.apply(this,arguments);return c.sortable._isCustomHelperUsed=c!==d,d}:a},f.$watch("uiSortable",function(a){var c=k(g);c&&b.forEach(a,function(a,b){return b in r?("ui-floating"!==b||a!==!1&&a!==!0||(c.floating=a),void(q[b]=a)):(s[b]?("stop"===b&&(a=j(a,function(){f.$apply()}),a=j(a,o)),a=j(s[b],a)):t[b]&&(a=t[b](a)),q[b]=a,void g.sortable("option",b,a))})},!0),b.forEach(s,function(a,b){q[b]=j(a,q[b]),"stop"===b&&(q[b]=j(q[b],o))})):e.info("ui.sortable: ngModel not provided!",g),void g.sortable(q)):void e.error("ui.sortable: jQuery should be included before AngularJS!")}}}])}(window,window.angular),function(){function a(a,b){if(a!==b){var c=null===a,d=a===w,e=a===a,f=null===b,g=b===w,h=b===b;if(a>b&&!f||!e||c&&!g&&h||d&&h)return 1;if(b>a&&!c||!h||f&&!d&&e||g&&e)return-1}return 0}function b(a,b,c){for(var d=a.length,e=c?d:-1;c?e--:++e<d;)if(b(a[e],e,a))return e;return-1}function c(a,b,c){if(b!==b)return n(a,c);for(var d=c-1,e=a.length;++d<e;)if(a[d]===b)return d;return-1}function d(a){return"function"==typeof a||!1}function e(a){return null==a?"":a+""}function f(a,b){for(var c=-1,d=a.length;++c<d&&b.indexOf(a.charAt(c))>-1;);return c}function g(a,b){for(var c=a.length;c--&&b.indexOf(a.charAt(c))>-1;);return c}function h(b,c){return a(b.criteria,c.criteria)||b.index-c.index}function i(b,c,d){for(var e=-1,f=b.criteria,g=c.criteria,h=f.length,i=d.length;++e<h;){var j=a(f[e],g[e]);if(j){if(e>=i)return j;var k=d[e];return j*("asc"===k||k===!0?1:-1)}}return b.index-c.index}function j(a){return Pa[a]}function k(a){return Qa[a]}function l(a,b,c){return b?a=Ta[a]:c&&(a=Ua[a]),"\\"+a}function m(a){return"\\"+Ua[a]}function n(a,b,c){for(var d=a.length,e=b+(c?0:-1);c?e--:++e<d;){var f=a[e];if(f!==f)return e}return-1}function o(a){return!!a&&"object"==typeof a}function p(a){return 160>=a&&a>=9&&13>=a||32==a||160==a||5760==a||6158==a||a>=8192&&(8202>=a||8232==a||8233==a||8239==a||8287==a||12288==a||65279==a)}function q(a,b){for(var c=-1,d=a.length,e=-1,f=[];++c<d;)a[c]===b&&(a[c]=P,f[++e]=c);return f}function r(a,b){for(var c,d=-1,e=a.length,f=-1,g=[];++d<e;){var h=a[d],i=b?b(h,d,a):h;d&&c===i||(c=i,g[++f]=h)}return g}function s(a){for(var b=-1,c=a.length;++b<c&&p(a.charCodeAt(b)););return b}function t(a){for(var b=a.length;b--&&p(a.charCodeAt(b)););return b}function u(a){return Ra[a]}function v(p){function W(a){if(o(a)&&!Ch(a)&&!(a instanceof Pa)){if(a instanceof aa)return a;if(ag.call(a,"__chain__")&&ag.call(a,"__wrapped__"))return md(a)}return new aa(a)}function $(){}function aa(a,b,c){this.__wrapped__=a,this.__actions__=c||[],this.__chain__=!!b}function Pa(a){this.__wrapped__=a,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Bg,this.__views__=[]}function Qa(){var a=new Pa(this.__wrapped__);return a.__actions__=cb(this.__actions__),a.__dir__=this.__dir__,a.__filtered__=this.__filtered__,a.__iteratees__=cb(this.__iteratees__),a.__takeCount__=this.__takeCount__,a.__views__=cb(this.__views__),a}function Ra(){if(this.__filtered__){var a=new Pa(this);a.__dir__=-1,a.__filtered__=!0}else a=this.clone(),a.__dir__*=-1;return a}function Sa(){var a=this.__wrapped__.value(),b=this.__dir__,c=Ch(a),d=0>b,e=c?a.length:0,f=Tc(0,e,this.__views__),g=f.start,h=f.end,i=h-g,j=d?h:g-1,k=this.__iteratees__,l=k.length,m=0,n=wg(i,this.__takeCount__);if(!c||L>e||e==i&&n==i)return cc(a,this.__actions__);var o=[];a:for(;i--&&n>m;){j+=b;for(var p=-1,q=a[j];++p<l;){
+var r=k[p],s=r.iteratee,t=r.type,u=s(q);if(t==N)q=u;else if(!u){if(t==M)continue a;break a}}o[m++]=q}return o}function Ta(){this.__data__={}}function Ua(a){return this.has(a)&&delete this.__data__[a]}function Va(a){return"__proto__"==a?w:this.__data__[a]}function Wa(a){return"__proto__"!=a&&ag.call(this.__data__,a)}function Xa(a,b){return"__proto__"!=a&&(this.__data__[a]=b),this}function Ya(a){var b=a?a.length:0;for(this.data={hash:qg(null),set:new kg};b--;)this.push(a[b])}function Za(a,b){var c=a.data,d="string"==typeof b||He(b)?c.set.has(b):c.hash[b];return d?0:-1}function $a(a){var b=this.data;"string"==typeof a||He(a)?b.set.add(a):b.hash[a]=!0}function bb(a,b){for(var c=-1,d=a.length,e=-1,f=b.length,g=Of(d+f);++c<d;)g[c]=a[c];for(;++e<f;)g[c++]=b[e];return g}function cb(a,b){var c=-1,d=a.length;for(b||(b=Of(d));++c<d;)b[c]=a[c];return b}function db(a,b){for(var c=-1,d=a.length;++c<d&&b(a[c],c,a)!==!1;);return a}function eb(a,b){for(var c=a.length;c--&&b(a[c],c,a)!==!1;);return a}function fb(a,b){for(var c=-1,d=a.length;++c<d;)if(!b(a[c],c,a))return!1;return!0}function gb(a,b,c,d){for(var e=-1,f=a.length,g=d,h=g;++e<f;){var i=a[e],j=+b(i);c(j,g)&&(g=j,h=i)}return h}function hb(a,b){for(var c=-1,d=a.length,e=-1,f=[];++c<d;){var g=a[c];b(g,c,a)&&(f[++e]=g)}return f}function ib(a,b){for(var c=-1,d=a.length,e=Of(d);++c<d;)e[c]=b(a[c],c,a);return e}function jb(a,b){for(var c=-1,d=b.length,e=a.length;++c<d;)a[e+c]=b[c];return a}function kb(a,b,c,d){var e=-1,f=a.length;for(d&&f&&(c=a[++e]);++e<f;)c=b(c,a[e],e,a);return c}function lb(a,b,c,d){var e=a.length;for(d&&e&&(c=a[--e]);e--;)c=b(c,a[e],e,a);return c}function mb(a,b){for(var c=-1,d=a.length;++c<d;)if(b(a[c],c,a))return!0;return!1}function nb(a,b){for(var c=a.length,d=0;c--;)d+=+b(a[c])||0;return d}function ob(a,b){return a===w?b:a}function pb(a,b,c,d){return a!==w&&ag.call(d,c)?a:b}function qb(a,b,c){for(var d=-1,e=Nh(b),f=e.length;++d<f;){var g=e[d],h=a[g],i=c(h,b[g],g,a,b);(i===i?i===h:h!==h)&&(h!==w||g in a)||(a[g]=i)}return a}function rb(a,b){return null==b?a:tb(b,Nh(b),a)}function sb(a,b){for(var c=-1,d=null==a,e=!d&&Yc(a),f=e?a.length:0,g=b.length,h=Of(g);++c<g;){var i=b[c];e?h[c]=Zc(i,f)?a[i]:w:h[c]=d?w:a[i]}return h}function tb(a,b,c){c||(c={});for(var d=-1,e=b.length;++d<e;){var f=b[d];c[f]=a[f]}return c}function ub(a,b,c){var d=typeof a;return"function"==d?b===w?a:fc(a,b,c):null==a?Bf:"object"==d?Nb(a):b===w?Hf(a):Ob(a,b)}function vb(a,b,c,d,e,f,g){var h;if(c&&(h=e?c(a,d,e):c(a)),h!==w)return h;if(!He(a))return a;var i=Ch(a);if(i){if(h=Uc(a),!b)return cb(a,h)}else{var j=cg.call(a),k=j==V;if(j!=Y&&j!=Q&&(!k||e))return Oa[j]?Wc(a,j,b):e?a:{};if(h=Vc(k?{}:a),!b)return rb(h,a)}f||(f=[]),g||(g=[]);for(var l=f.length;l--;)if(f[l]==a)return g[l];return f.push(a),g.push(h),(i?db:Fb)(a,function(d,e){h[e]=vb(d,b,c,e,a,f,g)}),h}function wb(a,b,c){if("function"!=typeof a)throw new Xf(O);return lg(function(){a.apply(w,c)},b)}function xb(a,b){var d=a?a.length:0,e=[];if(!d)return e;var f=-1,g=Qc(),h=g===c,i=h&&b.length>=L?oc(b):null,j=b.length;i&&(g=Za,h=!1,b=i);a:for(;++f<d;){var k=a[f];if(h&&k===k){for(var l=j;l--;)if(b[l]===k)continue a;e.push(k)}else g(b,k,0)<0&&e.push(k)}return e}function yb(a,b){var c=!0;return Jg(a,function(a,d,e){return c=!!b(a,d,e)}),c}function zb(a,b,c,d){var e=d,f=e;return Jg(a,function(a,g,h){var i=+b(a,g,h);(c(i,e)||i===d&&i===f)&&(e=i,f=a)}),f}function Ab(a,b,c,d){var e=a.length;for(c=null==c?0:+c||0,0>c&&(c=-c>e?0:e+c),d=d===w||d>e?e:+d||0,0>d&&(d+=e),e=c>d?0:d>>>0,c>>>=0;e>c;)a[c++]=b;return a}function Bb(a,b){var c=[];return Jg(a,function(a,d,e){b(a,d,e)&&c.push(a)}),c}function Cb(a,b,c,d){var e;return c(a,function(a,c,f){return b(a,c,f)?(e=d?c:a,!1):void 0}),e}function Db(a,b,c,d){d||(d=[]);for(var e=-1,f=a.length;++e<f;){var g=a[e];o(g)&&Yc(g)&&(c||Ch(g)||ye(g))?b?Db(g,b,c,d):jb(d,g):c||(d[d.length]=g)}return d}function Eb(a,b){return Lg(a,b,_e)}function Fb(a,b){return Lg(a,b,Nh)}function Gb(a,b){return Mg(a,b,Nh)}function Hb(a,b){for(var c=-1,d=b.length,e=-1,f=[];++c<d;){var g=b[c];Ge(a[g])&&(f[++e]=g)}return f}function Ib(a,b,c){if(null!=a){c!==w&&c in kd(a)&&(b=[c]);for(var d=0,e=b.length;null!=a&&e>d;)a=a[b[d++]];return d&&d==e?a:w}}function Jb(a,b,c,d,e,f){return a===b?!0:null==a||null==b||!He(a)&&!o(b)?a!==a&&b!==b:Kb(a,b,Jb,c,d,e,f)}function Kb(a,b,c,d,e,f,g){var h=Ch(a),i=Ch(b),j=R,k=R;h||(j=cg.call(a),j==Q?j=Y:j!=Y&&(h=Qe(a))),i||(k=cg.call(b),k==Q?k=Y:k!=Y&&(i=Qe(b)));var l=j==Y,m=k==Y,n=j==k;if(n&&!h&&!l)return Mc(a,b,j);if(!e){var o=l&&ag.call(a,"__wrapped__"),p=m&&ag.call(b,"__wrapped__");if(o||p)return c(o?a.value():a,p?b.value():b,d,e,f,g)}if(!n)return!1;f||(f=[]),g||(g=[]);for(var q=f.length;q--;)if(f[q]==a)return g[q]==b;f.push(a),g.push(b);var r=(h?Lc:Nc)(a,b,c,d,e,f,g);return f.pop(),g.pop(),r}function Lb(a,b,c){var d=b.length,e=d,f=!c;if(null==a)return!e;for(a=kd(a);d--;){var g=b[d];if(f&&g[2]?g[1]!==a[g[0]]:!(g[0]in a))return!1}for(;++d<e;){g=b[d];var h=g[0],i=a[h],j=g[1];if(f&&g[2]){if(i===w&&!(h in a))return!1}else{var k=c?c(i,j,h):w;if(!(k===w?Jb(j,i,c,!0):k))return!1}}return!0}function Mb(a,b){var c=-1,d=Yc(a)?Of(a.length):[];return Jg(a,function(a,e,f){d[++c]=b(a,e,f)}),d}function Nb(a){var b=Rc(a);if(1==b.length&&b[0][2]){var c=b[0][0],d=b[0][1];return function(a){return null==a?!1:a[c]===d&&(d!==w||c in kd(a))}}return function(a){return Lb(a,b)}}function Ob(a,b){var c=Ch(a),d=_c(a)&&cd(b),e=a+"";return a=ld(a),function(f){if(null==f)return!1;var g=e;if(f=kd(f),(c||!d)&&!(g in f)){if(f=1==a.length?f:Ib(f,Wb(a,0,-1)),null==f)return!1;g=zd(a),f=kd(f)}return f[g]===b?b!==w||g in f:Jb(b,f[g],w,!0)}}function Pb(a,b,c,d,e){if(!He(a))return a;var f=Yc(b)&&(Ch(b)||Qe(b)),g=f?w:Nh(b);return db(g||b,function(h,i){if(g&&(i=h,h=b[i]),o(h))d||(d=[]),e||(e=[]),Qb(a,b,i,Pb,c,d,e);else{var j=a[i],k=c?c(j,h,i,a,b):w,l=k===w;l&&(k=h),k===w&&(!f||i in a)||!l&&(k===k?k===j:j!==j)||(a[i]=k)}}),a}function Qb(a,b,c,d,e,f,g){for(var h=f.length,i=b[c];h--;)if(f[h]==i)return void(a[c]=g[h]);var j=a[c],k=e?e(j,i,c,a,b):w,l=k===w;l&&(k=i,Yc(i)&&(Ch(i)||Qe(i))?k=Ch(j)?j:Yc(j)?cb(j):[]:Ne(i)||ye(i)?k=ye(j)?Ve(j):Ne(j)?j:{}:l=!1),f.push(i),g.push(k),l?a[c]=d(k,i,e,f,g):(k===k?k!==j:j===j)&&(a[c]=k)}function Rb(a){return function(b){return null==b?w:b[a]}}function Sb(a){var b=a+"";return a=ld(a),function(c){return Ib(c,a,b)}}function Tb(a,b){for(var c=a?b.length:0;c--;){var d=b[c];if(d!=e&&Zc(d)){var e=d;mg.call(a,d,1)}}return a}function Ub(a,b){return a+rg(zg()*(b-a+1))}function Vb(a,b,c,d,e){return e(a,function(a,e,f){c=d?(d=!1,a):b(c,a,e,f)}),c}function Wb(a,b,c){var d=-1,e=a.length;b=null==b?0:+b||0,0>b&&(b=-b>e?0:e+b),c=c===w||c>e?e:+c||0,0>c&&(c+=e),e=b>c?0:c-b>>>0,b>>>=0;for(var f=Of(e);++d<e;)f[d]=a[d+b];return f}function Xb(a,b){var c;return Jg(a,function(a,d,e){return c=b(a,d,e),!c}),!!c}function Yb(a,b){var c=a.length;for(a.sort(b);c--;)a[c]=a[c].value;return a}function Zb(a,b,c){var d=Oc(),e=-1;b=ib(b,function(a){return d(a)});var f=Mb(a,function(a){var c=ib(b,function(b){return b(a)});return{criteria:c,index:++e,value:a}});return Yb(f,function(a,b){return i(a,b,c)})}function $b(a,b){var c=0;return Jg(a,function(a,d,e){c+=+b(a,d,e)||0}),c}function _b(a,b){var d=-1,e=Qc(),f=a.length,g=e===c,h=g&&f>=L,i=h?oc():null,j=[];i?(e=Za,g=!1):(h=!1,i=b?[]:j);a:for(;++d<f;){var k=a[d],l=b?b(k,d,a):k;if(g&&k===k){for(var m=i.length;m--;)if(i[m]===l)continue a;b&&i.push(l),j.push(k)}else e(i,l,0)<0&&((b||h)&&i.push(l),j.push(k))}return j}function ac(a,b){for(var c=-1,d=b.length,e=Of(d);++c<d;)e[c]=a[b[c]];return e}function bc(a,b,c,d){for(var e=a.length,f=d?e:-1;(d?f--:++f<e)&&b(a[f],f,a););return c?Wb(a,d?0:f,d?f+1:e):Wb(a,d?f+1:0,d?e:f)}function cc(a,b){var c=a;c instanceof Pa&&(c=c.value());for(var d=-1,e=b.length;++d<e;){var f=b[d];c=f.func.apply(f.thisArg,jb([c],f.args))}return c}function dc(a,b,c){var d=0,e=a?a.length:d;if("number"==typeof b&&b===b&&Eg>=e){for(;e>d;){var f=d+e>>>1,g=a[f];(c?b>=g:b>g)&&null!==g?d=f+1:e=f}return e}return ec(a,b,Bf,c)}function ec(a,b,c,d){b=c(b);for(var e=0,f=a?a.length:0,g=b!==b,h=null===b,i=b===w;f>e;){var j=rg((e+f)/2),k=c(a[j]),l=k!==w,m=k===k;if(g)var n=m||d;else n=h?m&&l&&(d||null!=k):i?m&&(d||l):null==k?!1:d?b>=k:b>k;n?e=j+1:f=j}return wg(f,Dg)}function fc(a,b,c){if("function"!=typeof a)return Bf;if(b===w)return a;switch(c){case 1:return function(c){return a.call(b,c)};case 3:return function(c,d,e){return a.call(b,c,d,e)};case 4:return function(c,d,e,f){return a.call(b,c,d,e,f)};case 5:return function(c,d,e,f,g){return a.call(b,c,d,e,f,g)}}return function(){return a.apply(b,arguments)}}function gc(a){var b=new fg(a.byteLength),c=new ng(b);return c.set(new ng(a)),b}function hc(a,b,c){for(var d=c.length,e=-1,f=vg(a.length-d,0),g=-1,h=b.length,i=Of(h+f);++g<h;)i[g]=b[g];for(;++e<d;)i[c[e]]=a[e];for(;f--;)i[g++]=a[e++];return i}function ic(a,b,c){for(var d=-1,e=c.length,f=-1,g=vg(a.length-e,0),h=-1,i=b.length,j=Of(g+i);++f<g;)j[f]=a[f];for(var k=f;++h<i;)j[k+h]=b[h];for(;++d<e;)j[k+c[d]]=a[f++];return j}function jc(a,b){return function(c,d,e){var f=b?b():{};if(d=Oc(d,e,3),Ch(c))for(var g=-1,h=c.length;++g<h;){var i=c[g];a(f,i,d(i,g,c),c)}else Jg(c,function(b,c,e){a(f,b,d(b,c,e),e)});return f}}function kc(a){return qe(function(b,c){var d=-1,e=null==b?0:c.length,f=e>2?c[e-2]:w,g=e>2?c[2]:w,h=e>1?c[e-1]:w;for("function"==typeof f?(f=fc(f,h,5),e-=2):(f="function"==typeof h?h:w,e-=f?1:0),g&&$c(c[0],c[1],g)&&(f=3>e?w:f,e=1);++d<e;){var i=c[d];i&&a(b,i,f)}return b})}function lc(a,b){return function(c,d){var e=c?Pg(c):0;if(!bd(e))return a(c,d);for(var f=b?e:-1,g=kd(c);(b?f--:++f<e)&&d(g[f],f,g)!==!1;);return c}}function mc(a){return function(b,c,d){for(var e=kd(b),f=d(b),g=f.length,h=a?g:-1;a?h--:++h<g;){var i=f[h];if(c(e[i],i,e)===!1)break}return b}}function nc(a,b){function c(){var e=this&&this!==_a&&this instanceof c?d:a;return e.apply(b,arguments)}var d=qc(a);return c}function oc(a){return qg&&kg?new Ya(a):null}function pc(a){return function(b){for(var c=-1,d=yf(kf(b)),e=d.length,f="";++c<e;)f=a(f,d[c],c);return f}}function qc(a){return function(){var b=arguments;switch(b.length){case 0:return new a;case 1:return new a(b[0]);case 2:return new a(b[0],b[1]);case 3:return new a(b[0],b[1],b[2]);case 4:return new a(b[0],b[1],b[2],b[3]);case 5:return new a(b[0],b[1],b[2],b[3],b[4]);case 6:return new a(b[0],b[1],b[2],b[3],b[4],b[5]);case 7:return new a(b[0],b[1],b[2],b[3],b[4],b[5],b[6])}var c=Ig(a.prototype),d=a.apply(c,b);return He(d)?d:c}}function rc(a){function b(c,d,e){e&&$c(c,d,e)&&(d=w);var f=Kc(c,a,w,w,w,w,w,d);return f.placeholder=b.placeholder,f}return b}function sc(a,b){return qe(function(c){var d=c[0];return null==d?d:(c.push(b),a.apply(w,c))})}function tc(a,b){return function(c,d,e){if(e&&$c(c,d,e)&&(d=w),d=Oc(d,e,3),1==d.length){c=Ch(c)?c:jd(c);var f=gb(c,d,a,b);if(!c.length||f!==b)return f}return zb(c,d,a,b)}}function uc(a,c){return function(d,e,f){if(e=Oc(e,f,3),Ch(d)){var g=b(d,e,c);return g>-1?d[g]:w}return Cb(d,e,a)}}function vc(a){return function(c,d,e){return c&&c.length?(d=Oc(d,e,3),b(c,d,a)):-1}}function wc(a){return function(b,c,d){return c=Oc(c,d,3),Cb(b,c,a,!0)}}function xc(a){return function(){for(var b,c=arguments.length,d=a?c:-1,e=0,f=Of(c);a?d--:++d<c;){var g=f[e++]=arguments[d];if("function"!=typeof g)throw new Xf(O);!b&&aa.prototype.thru&&"wrapper"==Pc(g)&&(b=new aa([],!0))}for(d=b?-1:c;++d<c;){g=f[d];var h=Pc(g),i="wrapper"==h?Og(g):w;b=i&&ad(i[0])&&i[1]==(F|B|D|G)&&!i[4].length&&1==i[9]?b[Pc(i[0])].apply(b,i[3]):1==g.length&&ad(g)?b[h]():b.thru(g)}return function(){var a=arguments,d=a[0];if(b&&1==a.length&&Ch(d)&&d.length>=L)return b.plant(d).value();for(var e=0,g=c?f[e].apply(this,a):d;++e<c;)g=f[e].call(this,g);return g}}}function yc(a,b){return function(c,d,e){return"function"==typeof d&&e===w&&Ch(c)?a(c,d):b(c,fc(d,e,3))}}function zc(a){return function(b,c,d){return("function"!=typeof c||d!==w)&&(c=fc(c,d,3)),a(b,c,_e)}}function Ac(a){return function(b,c,d){return("function"!=typeof c||d!==w)&&(c=fc(c,d,3)),a(b,c)}}function Bc(a){return function(b,c,d){var e={};return c=Oc(c,d,3),Fb(b,function(b,d,f){var g=c(b,d,f);d=a?g:d,b=a?b:g,e[d]=b}),e}}function Cc(a){return function(b,c,d){return b=e(b),(a?b:"")+Gc(b,c,d)+(a?"":b)}}function Dc(a){var b=qe(function(c,d){var e=q(d,b.placeholder);return Kc(c,a,w,d,e)});return b}function Ec(a,b){return function(c,d,e,f){var g=arguments.length<3;return"function"==typeof d&&f===w&&Ch(c)?a(c,d,e,g):Vb(c,Oc(d,f,4),e,g,b)}}function Fc(a,b,c,d,e,f,g,h,i,j){function k(){for(var t=arguments.length,u=t,v=Of(t);u--;)v[u]=arguments[u];if(d&&(v=hc(v,d,e)),f&&(v=ic(v,f,g)),o||r){var x=k.placeholder,A=q(v,x);if(t-=A.length,j>t){var B=h?cb(h):w,C=vg(j-t,0),F=o?A:w,G=o?w:A,H=o?v:w,I=o?w:v;b|=o?D:E,b&=~(o?E:D),p||(b&=~(y|z));var J=[a,b,c,H,F,I,G,B,i,C],K=Fc.apply(w,J);return ad(a)&&Qg(K,J),K.placeholder=x,K}}var L=m?c:this,M=n?L[a]:a;return h&&(v=hd(v,h)),l&&i<v.length&&(v.length=i),this&&this!==_a&&this instanceof k&&(M=s||qc(a)),M.apply(L,v)}var l=b&F,m=b&y,n=b&z,o=b&B,p=b&A,r=b&C,s=n?w:qc(a);return k}function Gc(a,b,c){var d=a.length;if(b=+b,d>=b||!tg(b))return"";var e=b-d;return c=null==c?" ":c+"",qf(c,pg(e/c.length)).slice(0,e)}function Hc(a,b,c,d){function e(){for(var b=-1,h=arguments.length,i=-1,j=d.length,k=Of(j+h);++i<j;)k[i]=d[i];for(;h--;)k[i++]=arguments[++b];var l=this&&this!==_a&&this instanceof e?g:a;return l.apply(f?c:this,k)}var f=b&y,g=qc(a);return e}function Ic(a){var b=Sf[a];return function(a,c){return c=c===w?0:+c||0,c?(c=ig(10,c),b(a*c)/c):b(a)}}function Jc(a){return function(b,c,d,e){var f=Oc(d);return null==d&&f===ub?dc(b,c,a):ec(b,c,f(d,e,1),a)}}function Kc(a,b,c,d,e,f,g,h){var i=b&z;if(!i&&"function"!=typeof a)throw new Xf(O);var j=d?d.length:0;if(j||(b&=~(D|E),d=e=w),j-=e?e.length:0,b&E){var k=d,l=e;d=e=w}var m=i?w:Og(a),n=[a,b,c,d,e,k,l,f,g,h];if(m&&(dd(n,m),b=n[1],h=n[9]),n[9]=null==h?i?0:a.length:vg(h-j,0)||0,b==y)var o=nc(n[0],n[2]);else o=b!=D&&b!=(y|D)||n[4].length?Fc.apply(w,n):Hc.apply(w,n);var p=m?Ng:Qg;return p(o,n)}function Lc(a,b,c,d,e,f,g){var h=-1,i=a.length,j=b.length;if(i!=j&&!(e&&j>i))return!1;for(;++h<i;){var k=a[h],l=b[h],m=d?d(e?l:k,e?k:l,h):w;if(m!==w){if(m)continue;return!1}if(e){if(!mb(b,function(a){return k===a||c(k,a,d,e,f,g)}))return!1}else if(k!==l&&!c(k,l,d,e,f,g))return!1}return!0}function Mc(a,b,c){switch(c){case S:case T:return+a==+b;case U:return a.name==b.name&&a.message==b.message;case X:return a!=+a?b!=+b:a==+b;case Z:case _:return a==b+""}return!1}function Nc(a,b,c,d,e,f,g){var h=Nh(a),i=h.length,j=Nh(b),k=j.length;if(i!=k&&!e)return!1;for(var l=i;l--;){var m=h[l];if(!(e?m in b:ag.call(b,m)))return!1}for(var n=e;++l<i;){m=h[l];var o=a[m],p=b[m],q=d?d(e?p:o,e?o:p,m):w;if(!(q===w?c(o,p,d,e,f,g):q))return!1;n||(n="constructor"==m)}if(!n){var r=a.constructor,s=b.constructor;if(r!=s&&"constructor"in a&&"constructor"in b&&!("function"==typeof r&&r instanceof r&&"function"==typeof s&&s instanceof s))return!1}return!0}function Oc(a,b,c){var d=W.callback||zf;return d=d===zf?ub:d,c?d(a,b,c):d}function Pc(a){for(var b=a.name+"",c=Hg[b],d=c?c.length:0;d--;){var e=c[d],f=e.func;if(null==f||f==a)return e.name}return b}function Qc(a,b,d){var e=W.indexOf||xd;return e=e===xd?c:e,a?e(a,b,d):e}function Rc(a){for(var b=af(a),c=b.length;c--;)b[c][2]=cd(b[c][1]);return b}function Sc(a,b){var c=null==a?w:a[b];return Ke(c)?c:w}function Tc(a,b,c){for(var d=-1,e=c.length;++d<e;){var f=c[d],g=f.size;switch(f.type){case"drop":a+=g;break;case"dropRight":b-=g;break;case"take":b=wg(b,a+g);break;case"takeRight":a=vg(a,b-g)}}return{start:a,end:b}}function Uc(a){var b=a.length,c=new a.constructor(b);return b&&"string"==typeof a[0]&&ag.call(a,"index")&&(c.index=a.index,c.input=a.input),c}function Vc(a){var b=a.constructor;return"function"==typeof b&&b instanceof b||(b=Uf),new b}function Wc(a,b,c){var d=a.constructor;switch(b){case ba:return gc(a);case S:case T:return new d(+a);case ca:case da:case ea:case fa:case ga:case ha:case ia:case ja:case ka:var e=a.buffer;return new d(c?gc(e):e,a.byteOffset,a.length);case X:case _:return new d(a);case Z:var f=new d(a.source,Da.exec(a));f.lastIndex=a.lastIndex}return f}function Xc(a,b,c){null==a||_c(b,a)||(b=ld(b),a=1==b.length?a:Ib(a,Wb(b,0,-1)),b=zd(b));var d=null==a?a:a[b];return null==d?w:d.apply(a,c)}function Yc(a){return null!=a&&bd(Pg(a))}function Zc(a,b){return a="number"==typeof a||Ga.test(a)?+a:-1,b=null==b?Fg:b,a>-1&&a%1==0&&b>a}function $c(a,b,c){if(!He(c))return!1;var d=typeof b;if("number"==d?Yc(c)&&Zc(b,c.length):"string"==d&&b in c){var e=c[b];return a===a?a===e:e!==e}return!1}function _c(a,b){var c=typeof a;if("string"==c&&wa.test(a)||"number"==c)return!0;if(Ch(a))return!1;var d=!va.test(a);return d||null!=b&&a in kd(b)}function ad(a){var b=Pc(a),c=W[b];if("function"!=typeof c||!(b in Pa.prototype))return!1;if(a===c)return!0;var d=Og(c);return!!d&&a===d[0]}function bd(a){return"number"==typeof a&&a>-1&&a%1==0&&Fg>=a}function cd(a){return a===a&&!He(a)}function dd(a,b){var c=a[1],d=b[1],e=c|d,f=F>e,g=d==F&&c==B||d==F&&c==G&&a[7].length<=b[8]||d==(F|G)&&c==B;if(!f&&!g)return a;d&y&&(a[2]=b[2],e|=c&y?0:A);var h=b[3];if(h){var i=a[3];a[3]=i?hc(i,h,b[4]):cb(h),a[4]=i?q(a[3],P):cb(b[4])}return h=b[5],h&&(i=a[5],a[5]=i?ic(i,h,b[6]):cb(h),a[6]=i?q(a[5],P):cb(b[6])),h=b[7],h&&(a[7]=cb(h)),d&F&&(a[8]=null==a[8]?b[8]:wg(a[8],b[8])),null==a[9]&&(a[9]=b[9]),a[0]=b[0],a[1]=e,a}function ed(a,b){return a===w?b:Dh(a,b,ed)}function fd(a,b){a=kd(a);for(var c=-1,d=b.length,e={};++c<d;){var f=b[c];f in a&&(e[f]=a[f])}return e}function gd(a,b){var c={};return Eb(a,function(a,d,e){b(a,d,e)&&(c[d]=a)}),c}function hd(a,b){for(var c=a.length,d=wg(b.length,c),e=cb(a);d--;){var f=b[d];a[d]=Zc(f,c)?e[f]:w}return a}function id(a){for(var b=_e(a),c=b.length,d=c&&a.length,e=!!d&&bd(d)&&(Ch(a)||ye(a)),f=-1,g=[];++f<c;){var h=b[f];(e&&Zc(h,d)||ag.call(a,h))&&g.push(h)}return g}function jd(a){return null==a?[]:Yc(a)?He(a)?a:Uf(a):ef(a)}function kd(a){return He(a)?a:Uf(a)}function ld(a){if(Ch(a))return a;var b=[];return e(a).replace(xa,function(a,c,d,e){b.push(d?e.replace(Ba,"$1"):c||a)}),b}function md(a){return a instanceof Pa?a.clone():new aa(a.__wrapped__,a.__chain__,cb(a.__actions__))}function nd(a,b,c){b=(c?$c(a,b,c):null==b)?1:vg(rg(b)||1,1);for(var d=0,e=a?a.length:0,f=-1,g=Of(pg(e/b));e>d;)g[++f]=Wb(a,d,d+=b);return g}function od(a){for(var b=-1,c=a?a.length:0,d=-1,e=[];++b<c;){var f=a[b];f&&(e[++d]=f)}return e}function pd(a,b,c){var d=a?a.length:0;return d?((c?$c(a,b,c):null==b)&&(b=1),Wb(a,0>b?0:b)):[]}function qd(a,b,c){var d=a?a.length:0;return d?((c?$c(a,b,c):null==b)&&(b=1),b=d-(+b||0),Wb(a,0,0>b?0:b)):[]}function rd(a,b,c){return a&&a.length?bc(a,Oc(b,c,3),!0,!0):[]}function sd(a,b,c){return a&&a.length?bc(a,Oc(b,c,3),!0):[]}function td(a,b,c,d){var e=a?a.length:0;return e?(c&&"number"!=typeof c&&$c(a,b,c)&&(c=0,d=e),Ab(a,b,c,d)):[]}function ud(a){return a?a[0]:w}function vd(a,b,c){var d=a?a.length:0;return c&&$c(a,b,c)&&(b=!1),d?Db(a,b):[]}function wd(a){var b=a?a.length:0;return b?Db(a,!0):[]}function xd(a,b,d){var e=a?a.length:0;if(!e)return-1;if("number"==typeof d)d=0>d?vg(e+d,0):d;else if(d){var f=dc(a,b);return e>f&&(b===b?b===a[f]:a[f]!==a[f])?f:-1}return c(a,b,d||0)}function yd(a){return qd(a,1)}function zd(a){var b=a?a.length:0;return b?a[b-1]:w}function Ad(a,b,c){var d=a?a.length:0;if(!d)return-1;var e=d;if("number"==typeof c)e=(0>c?vg(d+c,0):wg(c||0,d-1))+1;else if(c){e=dc(a,b,!0)-1;var f=a[e];return(b===b?b===f:f!==f)?e:-1}if(b!==b)return n(a,e,!0);for(;e--;)if(a[e]===b)return e;return-1}function Bd(){var a=arguments,b=a[0];if(!b||!b.length)return b;for(var c=0,d=Qc(),e=a.length;++c<e;)for(var f=0,g=a[c];(f=d(b,g,f))>-1;)mg.call(b,f,1);return b}function Cd(a,b,c){var d=[];if(!a||!a.length)return d;var e=-1,f=[],g=a.length;for(b=Oc(b,c,3);++e<g;){var h=a[e];b(h,e,a)&&(d.push(h),f.push(e))}return Tb(a,f),d}function Dd(a){return pd(a,1)}function Ed(a,b,c){var d=a?a.length:0;return d?(c&&"number"!=typeof c&&$c(a,b,c)&&(b=0,c=d),Wb(a,b,c)):[]}function Fd(a,b,c){var d=a?a.length:0;return d?((c?$c(a,b,c):null==b)&&(b=1),Wb(a,0,0>b?0:b)):[]}function Gd(a,b,c){var d=a?a.length:0;return d?((c?$c(a,b,c):null==b)&&(b=1),b=d-(+b||0),Wb(a,0>b?0:b)):[]}function Hd(a,b,c){return a&&a.length?bc(a,Oc(b,c,3),!1,!0):[]}function Id(a,b,c){return a&&a.length?bc(a,Oc(b,c,3)):[]}function Jd(a,b,d,e){var f=a?a.length:0;if(!f)return[];null!=b&&"boolean"!=typeof b&&(e=d,d=$c(a,b,e)?w:b,b=!1);var g=Oc();return(null!=d||g!==ub)&&(d=g(d,e,3)),b&&Qc()===c?r(a,d):_b(a,d)}function Kd(a){if(!a||!a.length)return[];var b=-1,c=0;a=hb(a,function(a){return Yc(a)?(c=vg(a.length,c),!0):void 0});for(var d=Of(c);++b<c;)d[b]=ib(a,Rb(b));return d}function Ld(a,b,c){var d=a?a.length:0;if(!d)return[];var e=Kd(a);return null==b?e:(b=fc(b,c,4),ib(e,function(a){return kb(a,b,w,!0)}))}function Md(){for(var a=-1,b=arguments.length;++a<b;){var c=arguments[a];if(Yc(c))var d=d?jb(xb(d,c),xb(c,d)):c}return d?_b(d):[]}function Nd(a,b){var c=-1,d=a?a.length:0,e={};for(!d||b||Ch(a[0])||(b=[]);++c<d;){var f=a[c];b?e[f]=b[c]:f&&(e[f[0]]=f[1])}return e}function Od(a){var b=W(a);return b.__chain__=!0,b}function Pd(a,b,c){return b.call(c,a),a}function Qd(a,b,c){return b.call(c,a)}function Rd(){return Od(this)}function Sd(){return new aa(this.value(),this.__chain__)}function Td(a){for(var b,c=this;c instanceof $;){var d=md(c);b?e.__wrapped__=d:b=d;var e=d;c=c.__wrapped__}return e.__wrapped__=a,b}function Ud(){var a=this.__wrapped__,b=function(a){return a.reverse()};if(a instanceof Pa){var c=a;return this.__actions__.length&&(c=new Pa(this)),c=c.reverse(),c.__actions__.push({func:Qd,args:[b],thisArg:w}),new aa(c,this.__chain__)}return this.thru(b)}function Vd(){return this.value()+""}function Wd(){return cc(this.__wrapped__,this.__actions__)}function Xd(a,b,c){var d=Ch(a)?fb:yb;return c&&$c(a,b,c)&&(b=w),("function"!=typeof b||c!==w)&&(b=Oc(b,c,3)),d(a,b)}function Yd(a,b,c){var d=Ch(a)?hb:Bb;return b=Oc(b,c,3),d(a,b)}function Zd(a,b){return dh(a,Nb(b))}function $d(a,b,c,d){var e=a?Pg(a):0;return bd(e)||(a=ef(a),e=a.length),c="number"!=typeof c||d&&$c(b,c,d)?0:0>c?vg(e+c,0):c||0,"string"==typeof a||!Ch(a)&&Pe(a)?e>=c&&a.indexOf(b,c)>-1:!!e&&Qc(a,b,c)>-1}function _d(a,b,c){var d=Ch(a)?ib:Mb;return b=Oc(b,c,3),d(a,b)}function ae(a,b){return _d(a,Hf(b))}function be(a,b,c){var d=Ch(a)?hb:Bb;return b=Oc(b,c,3),d(a,function(a,c,d){return!b(a,c,d)})}function ce(a,b,c){if(c?$c(a,b,c):null==b){a=jd(a);var d=a.length;return d>0?a[Ub(0,d-1)]:w}var e=-1,f=Ue(a),d=f.length,g=d-1;for(b=wg(0>b?0:+b||0,d);++e<b;){var h=Ub(e,g),i=f[h];f[h]=f[e],f[e]=i}return f.length=b,f}function de(a){return ce(a,Bg)}function ee(a){var b=a?Pg(a):0;return bd(b)?b:Nh(a).length}function fe(a,b,c){var d=Ch(a)?mb:Xb;return c&&$c(a,b,c)&&(b=w),("function"!=typeof b||c!==w)&&(b=Oc(b,c,3)),d(a,b)}function ge(a,b,c){if(null==a)return[];c&&$c(a,b,c)&&(b=w);var d=-1;b=Oc(b,c,3);var e=Mb(a,function(a,c,e){return{criteria:b(a,c,e),index:++d,value:a}});return Yb(e,h)}function he(a,b,c,d){return null==a?[]:(d&&$c(b,c,d)&&(c=w),Ch(b)||(b=null==b?[]:[b]),Ch(c)||(c=null==c?[]:[c]),Zb(a,b,c))}function ie(a,b){return Yd(a,Nb(b))}function je(a,b){if("function"!=typeof b){if("function"!=typeof a)throw new Xf(O);var c=a;a=b,b=c}return a=tg(a=+a)?a:0,function(){return--a<1?b.apply(this,arguments):void 0}}function ke(a,b,c){return c&&$c(a,b,c)&&(b=w),b=a&&null==b?a.length:vg(+b||0,0),Kc(a,F,w,w,w,w,b)}function le(a,b){var c;if("function"!=typeof b){if("function"!=typeof a)throw new Xf(O);var d=a;a=b,b=d}return function(){return--a>0&&(c=b.apply(this,arguments)),1>=a&&(b=w),c}}function me(a,b,c){function d(){n&&gg(n),j&&gg(j),p=0,j=n=o=w}function e(b,c){c&&gg(c),j=n=o=w,b&&(p=oh(),k=a.apply(m,i),n||j||(i=m=w))}function f(){var a=b-(oh()-l);0>=a||a>b?e(o,j):n=lg(f,a)}function g(){e(r,n)}function h(){if(i=arguments,l=oh(),m=this,o=r&&(n||!s),q===!1)var c=s&&!n;else{j||s||(p=l);var d=q-(l-p),e=0>=d||d>q;e?(j&&(j=gg(j)),p=l,k=a.apply(m,i)):j||(j=lg(g,d))}return e&&n?n=gg(n):n||b===q||(n=lg(f,b)),c&&(e=!0,k=a.apply(m,i)),!e||n||j||(i=m=w),k}var i,j,k,l,m,n,o,p=0,q=!1,r=!0;if("function"!=typeof a)throw new Xf(O);if(b=0>b?0:+b||0,c===!0){var s=!0;r=!1}else He(c)&&(s=!!c.leading,q="maxWait"in c&&vg(+c.maxWait||0,b),r="trailing"in c?!!c.trailing:r);return h.cancel=d,h}function ne(a,b){if("function"!=typeof a||b&&"function"!=typeof b)throw new Xf(O);var c=function(){var d=arguments,e=b?b.apply(this,d):d[0],f=c.cache;if(f.has(e))return f.get(e);var g=a.apply(this,d);return c.cache=f.set(e,g),g};return c.cache=new ne.Cache,c}function oe(a){if("function"!=typeof a)throw new Xf(O);return function(){return!a.apply(this,arguments)}}function pe(a){return le(2,a)}function qe(a,b){if("function"!=typeof a)throw new Xf(O);return b=vg(b===w?a.length-1:+b||0,0),function(){for(var c=arguments,d=-1,e=vg(c.length-b,0),f=Of(e);++d<e;)f[d]=c[b+d];switch(b){case 0:return a.call(this,f);case 1:return a.call(this,c[0],f);case 2:return a.call(this,c[0],c[1],f)}var g=Of(b+1);for(d=-1;++d<b;)g[d]=c[d];return g[b]=f,a.apply(this,g)}}function re(a){if("function"!=typeof a)throw new Xf(O);return function(b){return a.apply(this,b)}}function se(a,b,c){var d=!0,e=!0;if("function"!=typeof a)throw new Xf(O);return c===!1?d=!1:He(c)&&(d="leading"in c?!!c.leading:d,e="trailing"in c?!!c.trailing:e),me(a,b,{leading:d,maxWait:+b,trailing:e})}function te(a,b){return b=null==b?Bf:b,Kc(b,D,w,[a],[])}function ue(a,b,c,d){return b&&"boolean"!=typeof b&&$c(a,b,c)?b=!1:"function"==typeof b&&(d=c,c=b,b=!1),"function"==typeof c?vb(a,b,fc(c,d,3)):vb(a,b)}function ve(a,b,c){return"function"==typeof b?vb(a,!0,fc(b,c,3)):vb(a,!0)}function we(a,b){return a>b}function xe(a,b){return a>=b}function ye(a){return o(a)&&Yc(a)&&ag.call(a,"callee")&&!jg.call(a,"callee")}function ze(a){return a===!0||a===!1||o(a)&&cg.call(a)==S}function Ae(a){return o(a)&&cg.call(a)==T}function Be(a){return!!a&&1===a.nodeType&&o(a)&&!Ne(a)}function Ce(a){return null==a?!0:Yc(a)&&(Ch(a)||Pe(a)||ye(a)||o(a)&&Ge(a.splice))?!a.length:!Nh(a).length}function De(a,b,c,d){c="function"==typeof c?fc(c,d,3):w;var e=c?c(a,b):w;return e===w?Jb(a,b,c):!!e}function Ee(a){return o(a)&&"string"==typeof a.message&&cg.call(a)==U}function Fe(a){return"number"==typeof a&&tg(a)}function Ge(a){return He(a)&&cg.call(a)==V}function He(a){var b=typeof a;return!!a&&("object"==b||"function"==b)}function Ie(a,b,c,d){return c="function"==typeof c?fc(c,d,3):w,Lb(a,Rc(b),c)}function Je(a){return Me(a)&&a!=+a}function Ke(a){return null==a?!1:Ge(a)?eg.test(_f.call(a)):o(a)&&Fa.test(a)}function Le(a){return null===a}function Me(a){return"number"==typeof a||o(a)&&cg.call(a)==X}function Ne(a){var b;if(!o(a)||cg.call(a)!=Y||ye(a)||!ag.call(a,"constructor")&&(b=a.constructor,"function"==typeof b&&!(b instanceof b)))return!1;var c;return Eb(a,function(a,b){c=b}),c===w||ag.call(a,c)}function Oe(a){return He(a)&&cg.call(a)==Z}function Pe(a){return"string"==typeof a||o(a)&&cg.call(a)==_}function Qe(a){return o(a)&&bd(a.length)&&!!Na[cg.call(a)]}function Re(a){return a===w}function Se(a,b){return b>a}function Te(a,b){return b>=a}function Ue(a){var b=a?Pg(a):0;return bd(b)?b?cb(a):[]:ef(a)}function Ve(a){return tb(a,_e(a))}function We(a,b,c){var d=Ig(a);return c&&$c(a,b,c)&&(b=w),b?rb(d,b):d}function Xe(a){return Hb(a,_e(a))}function Ye(a,b,c){var d=null==a?w:Ib(a,ld(b),b+"");return d===w?c:d}function Ze(a,b){if(null==a)return!1;var c=ag.call(a,b);if(!c&&!_c(b)){if(b=ld(b),a=1==b.length?a:Ib(a,Wb(b,0,-1)),null==a)return!1;b=zd(b),c=ag.call(a,b)}return c||bd(a.length)&&Zc(b,a.length)&&(Ch(a)||ye(a))}function $e(a,b,c){c&&$c(a,b,c)&&(b=w);for(var d=-1,e=Nh(a),f=e.length,g={};++d<f;){var h=e[d],i=a[h];b?ag.call(g,i)?g[i].push(h):g[i]=[h]:g[i]=h}return g}function _e(a){if(null==a)return[];He(a)||(a=Uf(a));var b=a.length;b=b&&bd(b)&&(Ch(a)||ye(a))&&b||0;for(var c=a.constructor,d=-1,e="function"==typeof c&&c.prototype===a,f=Of(b),g=b>0;++d<b;)f[d]=d+"";for(var h in a)g&&Zc(h,b)||"constructor"==h&&(e||!ag.call(a,h))||f.push(h);return f}function af(a){a=kd(a);for(var b=-1,c=Nh(a),d=c.length,e=Of(d);++b<d;){var f=c[b];e[b]=[f,a[f]]}return e}function bf(a,b,c){var d=null==a?w:a[b];return d===w&&(null==a||_c(b,a)||(b=ld(b),a=1==b.length?a:Ib(a,Wb(b,0,-1)),d=null==a?w:a[zd(b)]),d=d===w?c:d),Ge(d)?d.call(a):d}function cf(a,b,c){if(null==a)return a;var d=b+"";b=null!=a[d]||_c(b,a)?[d]:ld(b);for(var e=-1,f=b.length,g=f-1,h=a;null!=h&&++e<f;){var i=b[e];He(h)&&(e==g?h[i]=c:null==h[i]&&(h[i]=Zc(b[e+1])?[]:{})),h=h[i]}return a}function df(a,b,c,d){var e=Ch(a)||Qe(a);if(b=Oc(b,d,4),null==c)if(e||He(a)){var f=a.constructor;c=e?Ch(a)?new f:[]:Ig(Ge(f)?f.prototype:w)}else c={};return(e?db:Fb)(a,function(a,d,e){return b(c,a,d,e)}),c}function ef(a){return ac(a,Nh(a))}function ff(a){return ac(a,_e(a))}function gf(a,b,c){return b=+b||0,c===w?(c=b,b=0):c=+c||0,a>=wg(b,c)&&a<vg(b,c)}function hf(a,b,c){c&&$c(a,b,c)&&(b=c=w);var d=null==a,e=null==b;if(null==c&&(e&&"boolean"==typeof a?(c=a,a=1):"boolean"==typeof b&&(c=b,e=!0)),d&&e&&(b=1,e=!1),a=+a||0,e?(b=a,a=0):b=+b||0,c||a%1||b%1){var f=zg();return wg(a+f*(b-a+hg("1e-"+((f+"").length-1))),b)}return Ub(a,b)}function jf(a){return a=e(a),a&&a.charAt(0).toUpperCase()+a.slice(1)}function kf(a){return a=e(a),a&&a.replace(Ha,j).replace(Aa,"")}function lf(a,b,c){a=e(a),b+="";var d=a.length;return c=c===w?d:wg(0>c?0:+c||0,d),c-=b.length,c>=0&&a.indexOf(b,c)==c}function mf(a){return a=e(a),a&&ra.test(a)?a.replace(pa,k):a}function nf(a){return a=e(a),a&&za.test(a)?a.replace(ya,l):a||"(?:)"}function of(a,b,c){a=e(a),b=+b;var d=a.length;if(d>=b||!tg(b))return a;var f=(b-d)/2,g=rg(f),h=pg(f);return c=Gc("",h,c),c.slice(0,g)+a+c}function pf(a,b,c){return(c?$c(a,b,c):null==b)?b=0:b&&(b=+b),a=tf(a),yg(a,b||(Ea.test(a)?16:10))}function qf(a,b){var c="";if(a=e(a),b=+b,1>b||!a||!tg(b))return c;do b%2&&(c+=a),b=rg(b/2),a+=a;while(b);return c}function rf(a,b,c){return a=e(a),c=null==c?0:wg(0>c?0:+c||0,a.length),a.lastIndexOf(b,c)==c}function sf(a,b,c){var d=W.templateSettings;c&&$c(a,b,c)&&(b=c=w),a=e(a),b=qb(rb({},c||b),d,pb);var f,g,h=qb(rb({},b.imports),d.imports,pb),i=Nh(h),j=ac(h,i),k=0,l=b.interpolate||Ia,n="__p += '",o=Vf((b.escape||Ia).source+"|"+l.source+"|"+(l===ua?Ca:Ia).source+"|"+(b.evaluate||Ia).source+"|$","g"),p="//# sourceURL="+("sourceURL"in b?b.sourceURL:"lodash.templateSources["+ ++Ma+"]")+"\n";a.replace(o,function(b,c,d,e,h,i){return d||(d=e),n+=a.slice(k,i).replace(Ja,m),c&&(f=!0,n+="' +\n__e("+c+") +\n'"),h&&(g=!0,n+="';\n"+h+";\n__p += '"),d&&(n+="' +\n((__t = ("+d+")) == null ? '' : __t) +\n'"),k=i+b.length,b}),n+="';\n";var q=b.variable;q||(n="with (obj) {\n"+n+"\n}\n"),n=(g?n.replace(la,""):n).replace(ma,"$1").replace(na,"$1;"),n="function("+(q||"obj")+") {\n"+(q?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(f?", __e = _.escape":"")+(g?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+n+"return __p\n}";var r=Yh(function(){return Rf(i,p+"return "+n).apply(w,j)});if(r.source=n,Ee(r))throw r;return r}function tf(a,b,c){var d=a;return(a=e(a))?(c?$c(d,b,c):null==b)?a.slice(s(a),t(a)+1):(b+="",a.slice(f(a,b),g(a,b)+1)):a}function uf(a,b,c){var d=a;return a=e(a),a?(c?$c(d,b,c):null==b)?a.slice(s(a)):a.slice(f(a,b+"")):a}function vf(a,b,c){var d=a;return a=e(a),a?(c?$c(d,b,c):null==b)?a.slice(0,t(a)+1):a.slice(0,g(a,b+"")+1):a}function wf(a,b,c){c&&$c(a,b,c)&&(b=w);var d=H,f=I;if(null!=b)if(He(b)){var g="separator"in b?b.separator:g;d="length"in b?+b.length||0:d,f="omission"in b?e(b.omission):f}else d=+b||0;if(a=e(a),d>=a.length)return a;var h=d-f.length;if(1>h)return f;var i=a.slice(0,h);if(null==g)return i+f;if(Oe(g)){if(a.slice(h).search(g)){var j,k,l=a.slice(0,h);for(g.global||(g=Vf(g.source,(Da.exec(g)||"")+"g")),g.lastIndex=0;j=g.exec(l);)k=j.index;i=i.slice(0,null==k?h:k)}}else if(a.indexOf(g,h)!=h){var m=i.lastIndexOf(g);m>-1&&(i=i.slice(0,m))}return i+f}function xf(a){return a=e(a),a&&qa.test(a)?a.replace(oa,u):a}function yf(a,b,c){return c&&$c(a,b,c)&&(b=w),a=e(a),a.match(b||Ka)||[]}function zf(a,b,c){return c&&$c(a,b,c)&&(b=w),
+o(a)?Cf(a):ub(a,b)}function Af(a){return function(){return a}}function Bf(a){return a}function Cf(a){return Nb(vb(a,!0))}function Df(a,b){return Ob(a,vb(b,!0))}function Ef(a,b,c){if(null==c){var d=He(b),e=d?Nh(b):w,f=e&&e.length?Hb(b,e):w;(f?f.length:d)||(f=!1,c=b,b=a,a=this)}f||(f=Hb(b,Nh(b)));var g=!0,h=-1,i=Ge(a),j=f.length;c===!1?g=!1:He(c)&&"chain"in c&&(g=c.chain);for(;++h<j;){var k=f[h],l=b[k];a[k]=l,i&&(a.prototype[k]=function(b){return function(){var c=this.__chain__;if(g||c){var d=a(this.__wrapped__),e=d.__actions__=cb(this.__actions__);return e.push({func:b,args:arguments,thisArg:a}),d.__chain__=c,d}return b.apply(a,jb([this.value()],arguments))}}(l))}return a}function Ff(){return _a._=dg,this}function Gf(){}function Hf(a){return _c(a)?Rb(a):Sb(a)}function If(a){return function(b){return Ib(a,ld(b),b+"")}}function Jf(a,b,c){c&&$c(a,b,c)&&(b=c=w),a=+a||0,c=null==c?1:+c||0,null==b?(b=a,a=0):b=+b||0;for(var d=-1,e=vg(pg((b-a)/(c||1)),0),f=Of(e);++d<e;)f[d]=a,a+=c;return f}function Kf(a,b,c){if(a=rg(a),1>a||!tg(a))return[];var d=-1,e=Of(wg(a,Cg));for(b=fc(b,c,1);++d<a;)Cg>d?e[d]=b(d):b(d);return e}function Lf(a){var b=++bg;return e(a)+b}function Mf(a,b){return(+a||0)+(+b||0)}function Nf(a,b,c){return c&&$c(a,b,c)&&(b=w),b=Oc(b,c,3),1==b.length?nb(Ch(a)?a:jd(a),b):$b(a,b)}p=p?ab.defaults(_a.Object(),p,ab.pick(_a,La)):_a;var Of=p.Array,Pf=p.Date,Qf=p.Error,Rf=p.Function,Sf=p.Math,Tf=p.Number,Uf=p.Object,Vf=p.RegExp,Wf=p.String,Xf=p.TypeError,Yf=Of.prototype,Zf=Uf.prototype,$f=Wf.prototype,_f=Rf.prototype.toString,ag=Zf.hasOwnProperty,bg=0,cg=Zf.toString,dg=_a._,eg=Vf("^"+_f.call(ag).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),fg=p.ArrayBuffer,gg=p.clearTimeout,hg=p.parseFloat,ig=Sf.pow,jg=Zf.propertyIsEnumerable,kg=Sc(p,"Set"),lg=p.setTimeout,mg=Yf.splice,ng=p.Uint8Array,og=Sc(p,"WeakMap"),pg=Sf.ceil,qg=Sc(Uf,"create"),rg=Sf.floor,sg=Sc(Of,"isArray"),tg=p.isFinite,ug=Sc(Uf,"keys"),vg=Sf.max,wg=Sf.min,xg=Sc(Pf,"now"),yg=p.parseInt,zg=Sf.random,Ag=Tf.NEGATIVE_INFINITY,Bg=Tf.POSITIVE_INFINITY,Cg=4294967295,Dg=Cg-1,Eg=Cg>>>1,Fg=9007199254740991,Gg=og&&new og,Hg={};W.support={};W.templateSettings={escape:sa,evaluate:ta,interpolate:ua,variable:"",imports:{_:W}};var Ig=function(){function a(){}return function(b){if(He(b)){a.prototype=b;var c=new a;a.prototype=w}return c||{}}}(),Jg=lc(Fb),Kg=lc(Gb,!0),Lg=mc(),Mg=mc(!0),Ng=Gg?function(a,b){return Gg.set(a,b),a}:Bf,Og=Gg?function(a){return Gg.get(a)}:Gf,Pg=Rb("length"),Qg=function(){var a=0,b=0;return function(c,d){var e=oh(),f=K-(e-b);if(b=e,f>0){if(++a>=J)return c}else a=0;return Ng(c,d)}}(),Rg=qe(function(a,b){return o(a)&&Yc(a)?xb(a,Db(b,!1,!0)):[]}),Sg=vc(),Tg=vc(!0),Ug=qe(function(a){for(var b=a.length,d=b,e=Of(l),f=Qc(),g=f===c,h=[];d--;){var i=a[d]=Yc(i=a[d])?i:[];e[d]=g&&i.length>=120?oc(d&&i):null}var j=a[0],k=-1,l=j?j.length:0,m=e[0];a:for(;++k<l;)if(i=j[k],(m?Za(m,i):f(h,i,0))<0){for(var d=b;--d;){var n=e[d];if((n?Za(n,i):f(a[d],i,0))<0)continue a}m&&m.push(i),h.push(i)}return h}),Vg=qe(function(b,c){c=Db(c);var d=sb(b,c);return Tb(b,c.sort(a)),d}),Wg=Jc(),Xg=Jc(!0),Yg=qe(function(a){return _b(Db(a,!1,!0))}),Zg=qe(function(a,b){return Yc(a)?xb(a,b):[]}),$g=qe(Kd),_g=qe(function(a){var b=a.length,c=b>2?a[b-2]:w,d=b>1?a[b-1]:w;return b>2&&"function"==typeof c?b-=2:(c=b>1&&"function"==typeof d?(--b,d):w,d=w),a.length=b,Ld(a,c,d)}),ah=qe(function(a){return a=Db(a),this.thru(function(b){return bb(Ch(b)?b:[kd(b)],a)})}),bh=qe(function(a,b){return sb(a,Db(b))}),ch=jc(function(a,b,c){ag.call(a,c)?++a[c]:a[c]=1}),dh=uc(Jg),eh=uc(Kg,!0),fh=yc(db,Jg),gh=yc(eb,Kg),hh=jc(function(a,b,c){ag.call(a,c)?a[c].push(b):a[c]=[b]}),ih=jc(function(a,b,c){a[c]=b}),jh=qe(function(a,b,c){var d=-1,e="function"==typeof b,f=_c(b),g=Yc(a)?Of(a.length):[];return Jg(a,function(a){var h=e?b:f&&null!=a?a[b]:w;g[++d]=h?h.apply(a,c):Xc(a,b,c)}),g}),kh=jc(function(a,b,c){a[c?0:1].push(b)},function(){return[[],[]]}),lh=Ec(kb,Jg),mh=Ec(lb,Kg),nh=qe(function(a,b){if(null==a)return[];var c=b[2];return c&&$c(b[0],b[1],c)&&(b.length=1),Zb(a,Db(b),[])}),oh=xg||function(){return(new Pf).getTime()},ph=qe(function(a,b,c){var d=y;if(c.length){var e=q(c,ph.placeholder);d|=D}return Kc(a,d,b,c,e)}),qh=qe(function(a,b){b=b.length?Db(b):Xe(a);for(var c=-1,d=b.length;++c<d;){var e=b[c];a[e]=Kc(a[e],y,a)}return a}),rh=qe(function(a,b,c){var d=y|z;if(c.length){var e=q(c,rh.placeholder);d|=D}return Kc(b,d,a,c,e)}),sh=rc(B),th=rc(C),uh=qe(function(a,b){return wb(a,1,b)}),vh=qe(function(a,b,c){return wb(a,b,c)}),wh=xc(),xh=xc(!0),yh=qe(function(a,b){if(b=Db(b),"function"!=typeof a||!fb(b,d))throw new Xf(O);var c=b.length;return qe(function(d){for(var e=wg(d.length,c);e--;)d[e]=b[e](d[e]);return a.apply(this,d)})}),zh=Dc(D),Ah=Dc(E),Bh=qe(function(a,b){return Kc(a,G,w,w,w,Db(b))}),Ch=sg||function(a){return o(a)&&bd(a.length)&&cg.call(a)==R},Dh=kc(Pb),Eh=kc(function(a,b,c){return c?qb(a,b,c):rb(a,b)}),Fh=sc(Eh,ob),Gh=sc(Dh,ed),Hh=wc(Fb),Ih=wc(Gb),Jh=zc(Lg),Kh=zc(Mg),Lh=Ac(Fb),Mh=Ac(Gb),Nh=ug?function(a){var b=null==a?w:a.constructor;return"function"==typeof b&&b.prototype===a||"function"!=typeof a&&Yc(a)?id(a):He(a)?ug(a):[]}:id,Oh=Bc(!0),Ph=Bc(),Qh=qe(function(a,b){if(null==a)return{};if("function"!=typeof b[0]){var b=ib(Db(b),Wf);return fd(a,xb(_e(a),b))}var c=fc(b[0],b[1],3);return gd(a,function(a,b,d){return!c(a,b,d)})}),Rh=qe(function(a,b){return null==a?{}:"function"==typeof b[0]?gd(a,fc(b[0],b[1],3)):fd(a,Db(b))}),Sh=pc(function(a,b,c){return b=b.toLowerCase(),a+(c?b.charAt(0).toUpperCase()+b.slice(1):b)}),Th=pc(function(a,b,c){return a+(c?"-":"")+b.toLowerCase()}),Uh=Cc(),Vh=Cc(!0),Wh=pc(function(a,b,c){return a+(c?"_":"")+b.toLowerCase()}),Xh=pc(function(a,b,c){return a+(c?" ":"")+(b.charAt(0).toUpperCase()+b.slice(1))}),Yh=qe(function(a,b){try{return a.apply(w,b)}catch(c){return Ee(c)?c:new Qf(c)}}),Zh=qe(function(a,b){return function(c){return Xc(c,a,b)}}),$h=qe(function(a,b){return function(c){return Xc(a,c,b)}}),_h=Ic("ceil"),ai=Ic("floor"),bi=tc(we,Ag),ci=tc(Se,Bg),di=Ic("round");return W.prototype=$.prototype,aa.prototype=Ig($.prototype),aa.prototype.constructor=aa,Pa.prototype=Ig($.prototype),Pa.prototype.constructor=Pa,Ta.prototype["delete"]=Ua,Ta.prototype.get=Va,Ta.prototype.has=Wa,Ta.prototype.set=Xa,Ya.prototype.push=$a,ne.Cache=Ta,W.after=je,W.ary=ke,W.assign=Eh,W.at=bh,W.before=le,W.bind=ph,W.bindAll=qh,W.bindKey=rh,W.callback=zf,W.chain=Od,W.chunk=nd,W.compact=od,W.constant=Af,W.countBy=ch,W.create=We,W.curry=sh,W.curryRight=th,W.debounce=me,W.defaults=Fh,W.defaultsDeep=Gh,W.defer=uh,W.delay=vh,W.difference=Rg,W.drop=pd,W.dropRight=qd,W.dropRightWhile=rd,W.dropWhile=sd,W.fill=td,W.filter=Yd,W.flatten=vd,W.flattenDeep=wd,W.flow=wh,W.flowRight=xh,W.forEach=fh,W.forEachRight=gh,W.forIn=Jh,W.forInRight=Kh,W.forOwn=Lh,W.forOwnRight=Mh,W.functions=Xe,W.groupBy=hh,W.indexBy=ih,W.initial=yd,W.intersection=Ug,W.invert=$e,W.invoke=jh,W.keys=Nh,W.keysIn=_e,W.map=_d,W.mapKeys=Oh,W.mapValues=Ph,W.matches=Cf,W.matchesProperty=Df,W.memoize=ne,W.merge=Dh,W.method=Zh,W.methodOf=$h,W.mixin=Ef,W.modArgs=yh,W.negate=oe,W.omit=Qh,W.once=pe,W.pairs=af,W.partial=zh,W.partialRight=Ah,W.partition=kh,W.pick=Rh,W.pluck=ae,W.property=Hf,W.propertyOf=If,W.pull=Bd,W.pullAt=Vg,W.range=Jf,W.rearg=Bh,W.reject=be,W.remove=Cd,W.rest=Dd,W.restParam=qe,W.set=cf,W.shuffle=de,W.slice=Ed,W.sortBy=ge,W.sortByAll=nh,W.sortByOrder=he,W.spread=re,W.take=Fd,W.takeRight=Gd,W.takeRightWhile=Hd,W.takeWhile=Id,W.tap=Pd,W.throttle=se,W.thru=Qd,W.times=Kf,W.toArray=Ue,W.toPlainObject=Ve,W.transform=df,W.union=Yg,W.uniq=Jd,W.unzip=Kd,W.unzipWith=Ld,W.values=ef,W.valuesIn=ff,W.where=ie,W.without=Zg,W.wrap=te,W.xor=Md,W.zip=$g,W.zipObject=Nd,W.zipWith=_g,W.backflow=xh,W.collect=_d,W.compose=xh,W.each=fh,W.eachRight=gh,W.extend=Eh,W.iteratee=zf,W.methods=Xe,W.object=Nd,W.select=Yd,W.tail=Dd,W.unique=Jd,Ef(W,W),W.add=Mf,W.attempt=Yh,W.camelCase=Sh,W.capitalize=jf,W.ceil=_h,W.clone=ue,W.cloneDeep=ve,W.deburr=kf,W.endsWith=lf,W.escape=mf,W.escapeRegExp=nf,W.every=Xd,W.find=dh,W.findIndex=Sg,W.findKey=Hh,W.findLast=eh,W.findLastIndex=Tg,W.findLastKey=Ih,W.findWhere=Zd,W.first=ud,W.floor=ai,W.get=Ye,W.gt=we,W.gte=xe,W.has=Ze,W.identity=Bf,W.includes=$d,W.indexOf=xd,W.inRange=gf,W.isArguments=ye,W.isArray=Ch,W.isBoolean=ze,W.isDate=Ae,W.isElement=Be,W.isEmpty=Ce,W.isEqual=De,W.isError=Ee,W.isFinite=Fe,W.isFunction=Ge,W.isMatch=Ie,W.isNaN=Je,W.isNative=Ke,W.isNull=Le,W.isNumber=Me,W.isObject=He,W.isPlainObject=Ne,W.isRegExp=Oe,W.isString=Pe,W.isTypedArray=Qe,W.isUndefined=Re,W.kebabCase=Th,W.last=zd,W.lastIndexOf=Ad,W.lt=Se,W.lte=Te,W.max=bi,W.min=ci,W.noConflict=Ff,W.noop=Gf,W.now=oh,W.pad=of,W.padLeft=Uh,W.padRight=Vh,W.parseInt=pf,W.random=hf,W.reduce=lh,W.reduceRight=mh,W.repeat=qf,W.result=bf,W.round=di,W.runInContext=v,W.size=ee,W.snakeCase=Wh,W.some=fe,W.sortedIndex=Wg,W.sortedLastIndex=Xg,W.startCase=Xh,W.startsWith=rf,W.sum=Nf,W.template=sf,W.trim=tf,W.trimLeft=uf,W.trimRight=vf,W.trunc=wf,W.unescape=xf,W.uniqueId=Lf,W.words=yf,W.all=Xd,W.any=fe,W.contains=$d,W.eq=De,W.detect=dh,W.foldl=lh,W.foldr=mh,W.head=ud,W.include=$d,W.inject=lh,Ef(W,function(){var a={};return Fb(W,function(b,c){W.prototype[c]||(a[c]=b)}),a}(),!1),W.sample=ce,W.prototype.sample=function(a){return this.__chain__||null!=a?this.thru(function(b){return ce(b,a)}):ce(this.value())},W.VERSION=x,db(["bind","bindKey","curry","curryRight","partial","partialRight"],function(a){W[a].placeholder=W}),db(["drop","take"],function(a,b){Pa.prototype[a]=function(c){var d=this.__filtered__;if(d&&!b)return new Pa(this);c=null==c?1:vg(rg(c)||0,0);var e=this.clone();return d?e.__takeCount__=wg(e.__takeCount__,c):e.__views__.push({size:c,type:a+(e.__dir__<0?"Right":"")}),e},Pa.prototype[a+"Right"]=function(b){return this.reverse()[a](b).reverse()}}),db(["filter","map","takeWhile"],function(a,b){var c=b+1,d=c!=N;Pa.prototype[a]=function(a,b){var e=this.clone();return e.__iteratees__.push({iteratee:Oc(a,b,1),type:c}),e.__filtered__=e.__filtered__||d,e}}),db(["first","last"],function(a,b){var c="take"+(b?"Right":"");Pa.prototype[a]=function(){return this[c](1).value()[0]}}),db(["initial","rest"],function(a,b){var c="drop"+(b?"":"Right");Pa.prototype[a]=function(){return this.__filtered__?new Pa(this):this[c](1)}}),db(["pluck","where"],function(a,b){var c=b?"filter":"map",d=b?Nb:Hf;Pa.prototype[a]=function(a){return this[c](d(a))}}),Pa.prototype.compact=function(){return this.filter(Bf)},Pa.prototype.reject=function(a,b){return a=Oc(a,b,1),this.filter(function(b){return!a(b)})},Pa.prototype.slice=function(a,b){a=null==a?0:+a||0;var c=this;return c.__filtered__&&(a>0||0>b)?new Pa(c):(0>a?c=c.takeRight(-a):a&&(c=c.drop(a)),b!==w&&(b=+b||0,c=0>b?c.dropRight(-b):c.take(b-a)),c)},Pa.prototype.takeRightWhile=function(a,b){return this.reverse().takeWhile(a,b).reverse()},Pa.prototype.toArray=function(){return this.take(Bg)},Fb(Pa.prototype,function(a,b){var c=/^(?:filter|map|reject)|While$/.test(b),d=/^(?:first|last)$/.test(b),e=W[d?"take"+("last"==b?"Right":""):b];e&&(W.prototype[b]=function(){var b=d?[1]:arguments,f=this.__chain__,g=this.__wrapped__,h=!!this.__actions__.length,i=g instanceof Pa,j=b[0],k=i||Ch(g);k&&c&&"function"==typeof j&&1!=j.length&&(i=k=!1);var l=function(a){return d&&f?e(a,1)[0]:e.apply(w,jb([a],b))},m={func:Qd,args:[l],thisArg:w},n=i&&!h;if(d&&!f)return n?(g=g.clone(),g.__actions__.push(m),a.call(g)):e.call(w,this.value())[0];if(!d&&k){g=n?g:new Pa(this);var o=a.apply(g,b);return o.__actions__.push(m),new aa(o,f)}return this.thru(l)})}),db(["join","pop","push","replace","shift","sort","splice","split","unshift"],function(a){var b=(/^(?:replace|split)$/.test(a)?$f:Yf)[a],c=/^(?:push|sort|unshift)$/.test(a)?"tap":"thru",d=/^(?:join|pop|replace|shift)$/.test(a);W.prototype[a]=function(){var a=arguments;return d&&!this.__chain__?b.apply(this.value(),a):this[c](function(c){return b.apply(c,a)})}}),Fb(Pa.prototype,function(a,b){var c=W[b];if(c){var d=c.name+"",e=Hg[d]||(Hg[d]=[]);e.push({name:b,func:c})}}),Hg[Fc(w,z).name]=[{name:"wrapper",func:w}],Pa.prototype.clone=Qa,Pa.prototype.reverse=Ra,Pa.prototype.value=Sa,W.prototype.chain=Rd,W.prototype.commit=Sd,W.prototype.concat=ah,W.prototype.plant=Td,W.prototype.reverse=Ud,W.prototype.toString=Vd,W.prototype.run=W.prototype.toJSON=W.prototype.valueOf=W.prototype.value=Wd,W.prototype.collect=W.prototype.map,W.prototype.head=W.prototype.first,W.prototype.select=W.prototype.filter,W.prototype.tail=W.prototype.rest,W}var w,x="3.10.1",y=1,z=2,A=4,B=8,C=16,D=32,E=64,F=128,G=256,H=30,I="...",J=150,K=16,L=200,M=1,N=2,O="Expected a function",P="__lodash_placeholder__",Q="[object Arguments]",R="[object Array]",S="[object Boolean]",T="[object Date]",U="[object Error]",V="[object Function]",W="[object Map]",X="[object Number]",Y="[object Object]",Z="[object RegExp]",$="[object Set]",_="[object String]",aa="[object WeakMap]",ba="[object ArrayBuffer]",ca="[object Float32Array]",da="[object Float64Array]",ea="[object Int8Array]",fa="[object Int16Array]",ga="[object Int32Array]",ha="[object Uint8Array]",ia="[object Uint8ClampedArray]",ja="[object Uint16Array]",ka="[object Uint32Array]",la=/\b__p \+= '';/g,ma=/\b(__p \+=) '' \+/g,na=/(__e\(.*?\)|\b__t\)) \+\n'';/g,oa=/&(?:amp|lt|gt|quot|#39|#96);/g,pa=/[&<>"'`]/g,qa=RegExp(oa.source),ra=RegExp(pa.source),sa=/<%-([\s\S]+?)%>/g,ta=/<%([\s\S]+?)%>/g,ua=/<%=([\s\S]+?)%>/g,va=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,wa=/^\w*$/,xa=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g,ya=/^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g,za=RegExp(ya.source),Aa=/[\u0300-\u036f\ufe20-\ufe23]/g,Ba=/\\(\\)?/g,Ca=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Da=/\w*$/,Ea=/^0[xX]/,Fa=/^\[object .+?Constructor\]$/,Ga=/^\d+$/,Ha=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,Ia=/($^)/,Ja=/['\n\r\u2028\u2029\\]/g,Ka=function(){var a="[A-Z\\xc0-\\xd6\\xd8-\\xde]",b="[a-z\\xdf-\\xf6\\xf8-\\xff]+";return RegExp(a+"+(?="+a+b+")|"+a+"?"+b+"|"+a+"+|[0-9]+","g")}(),La=["Array","ArrayBuffer","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Math","Number","Object","RegExp","Set","String","_","clearTimeout","isFinite","parseFloat","parseInt","setTimeout","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap"],Ma=-1,Na={};Na[ca]=Na[da]=Na[ea]=Na[fa]=Na[ga]=Na[ha]=Na[ia]=Na[ja]=Na[ka]=!0,Na[Q]=Na[R]=Na[ba]=Na[S]=Na[T]=Na[U]=Na[V]=Na[W]=Na[X]=Na[Y]=Na[Z]=Na[$]=Na[_]=Na[aa]=!1;var Oa={};Oa[Q]=Oa[R]=Oa[ba]=Oa[S]=Oa[T]=Oa[ca]=Oa[da]=Oa[ea]=Oa[fa]=Oa[ga]=Oa[X]=Oa[Y]=Oa[Z]=Oa[_]=Oa[ha]=Oa[ia]=Oa[ja]=Oa[ka]=!0,Oa[U]=Oa[V]=Oa[W]=Oa[$]=Oa[aa]=!1;var Pa={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss"},Qa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"},Ra={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&#96;":"`"},Sa={"function":!0,object:!0},Ta={0:"x30",1:"x31",2:"x32",3:"x33",4:"x34",5:"x35",6:"x36",7:"x37",8:"x38",9:"x39",A:"x41",B:"x42",C:"x43",D:"x44",E:"x45",F:"x46",a:"x61",b:"x62",c:"x63",d:"x64",e:"x65",f:"x66",n:"x6e",r:"x72",t:"x74",u:"x75",v:"x76",x:"x78"},Ua={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Va=Sa[typeof exports]&&exports&&!exports.nodeType&&exports,Wa=Sa[typeof module]&&module&&!module.nodeType&&module,Xa=Va&&Wa&&"object"==typeof global&&global&&global.Object&&global,Ya=Sa[typeof self]&&self&&self.Object&&self,Za=Sa[typeof window]&&window&&window.Object&&window,$a=Wa&&Wa.exports===Va&&Va,_a=Xa||Za!==(this&&this.window)&&Za||Ya||this,ab=v();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(_a._=ab,define(function(){return ab})):Va&&Wa?$a?(Wa.exports=ab)._=ab:Va._=ab:_a._=ab}.call(this),angular.module("templates-angularwizard",["step.html","wizard.html"]),angular.module("step.html",[]).run(["$templateCache",function(a){a.put("step.html",'<section ng-show="selected" ng-class="{current: selected, done: completed}" class="step" ng-transclude>\n</section>')}]),angular.module("wizard.html",[]).run(["$templateCache",function(a){a.put("wizard.html",'<div>\n    <div class="steps" ng-transclude></div>\n    <ul class="steps-indicator steps-{{getEnabledSteps().length}}" ng-if="!hideIndicators">\n      <li ng-class="{default: !step.completed && !step.selected, current: step.selected && !step.completed, done: step.completed && !step.selected, editing: step.selected && step.completed}" ng-repeat="step in getEnabledSteps()">\n        <a ng-click="goTo(step)">{{step.title || step.wzTitle}}</a>\n      </li>\n    </ul>\n</div>\n')}]),angular.module("mgo-angular-wizard",["templates-angularwizard"]),angular.module("mgo-angular-wizard").directive("wzStep",function(){return{restrict:"EA",replace:!0,transclude:!0,scope:{wzTitle:"@",title:"@",canenter:"=",canexit:"=",disabled:"@?wzDisabled"},require:"^wizard",templateUrl:function(a,b){return b.template||"step.html"},link:function(a,b,c,d){a.title=a.title||a.wzTitle,d.addStep(a)}}}),angular.module("mgo-angular-wizard").directive("wizard",function(){return{restrict:"EA",replace:!0,transclude:!0,scope:{currentStep:"=",onFinish:"&",hideIndicators:"=",editMode:"=",name:"@"},templateUrl:function(a,b){return b.template||"wizard.html"},controller:["$scope","$element","$log","WizardHandler","$q",function(a,b,c,d,e){function f(b){var c,d;return void 0===b.canenter?!0:"boolean"==typeof b.canenter?b.canenter:(d=b.canenter(a.context),angular.isFunction(d.then)?(c=e.defer(),d.then(function(a){c.resolve(a)}),c.promise):b.canenter(a.context)===!0)}function g(b,c){var d,f;return"undefined"==typeof b.canexit||a.getStepNumber(c)<a.currentStepNumber()?!0:"boolean"==typeof b.canexit?b.canexit:(f=b.canexit(a.context),angular.isFunction(f.then)?(d=e.defer(),f.then(function(a){d.resolve(a)}),d.promise):b.canexit(a.context)===!0)}function h(){_.each(a.getEnabledSteps(),function(a){a.selected=!1}),a.selectedStep=null}var i=!0;d.addWizard(a.name||d.defaultName,this),a.$on("$destroy",function(){d.removeWizard(a.name||d.defaultName)}),a.steps=[],a.context={},a.$watch("currentStep",function(b){if(b){var c=a.selectedStep.title||a.selectedStep.wzTitle;a.selectedStep&&c!==a.currentStep&&a.goTo(_.findWhere(a.getEnabledSteps(),{title:a.currentStep}))}}),a.$watch("[editMode, steps.length]",function(){var b=a.editMode;_.isUndefined(b)||_.isNull(b)||b&&_.each(a.getEnabledSteps(),function(a){a.completed=!0})},!0),this.addStep=function(b){a.steps.push(b),1===a.getEnabledSteps().length&&a.goTo(a.getEnabledSteps()[0])},this.context=a.context,a.getStepNumber=function(b){return _.indexOf(a.getEnabledSteps(),b)+1},a.goTo=function(b){if(i)h(),a.selectedStep=b,_.isUndefined(a.currentStep)||(a.currentStep=b.title||b.wzTitle),b.selected=!0,a.$emit("wizard:stepChanged",{step:b,index:_.indexOf(a.getEnabledSteps(),b)}),i=!1;else{var c;a.currentStepNumber()>0?c=a.currentStepNumber()-1:0===a.currentStepNumber()&&(c=0),e.all([g(a.getEnabledSteps()[c],b),f(b)]).then(function(c){c[0]&&c[1]&&(h(),a.selectedStep=b,_.isUndefined(a.currentStep)||(a.currentStep=b.title||b.wzTitle),b.selected=!0,a.$emit("wizard:stepChanged",{step:b,index:_.indexOf(a.getEnabledSteps(),b)}))})}},a.currentStepNumber=function(){return _.indexOf(a.getEnabledSteps(),a.selectedStep)+1},a.getEnabledSteps=function(){return _.filter(a.steps,function(a){return"true"!==a.disabled})},this.currentStepTitle=function(){return a.selectedStep.title},this.currentStepNumber=function(){return a.currentStepNumber()},this.next=function(b){var c=a.getEnabledSteps(),d=_.indexOf(c,a.selectedStep);if(angular.isFunction(b)){if(!b())return;d===c.length-1?this.finish():a.goTo(c[d+1])}b||(a.selectedStep.completed=!0),d===c.length-1?this.finish():a.goTo(c[d+1])},this.goTo=function(b){var c,d=a.getEnabledSteps();c=_.isNumber(b)?d[b]:_.findWhere(d,{title:b}),a.goTo(c)},this.finish=function(){a.onFinish&&a.onFinish()},this.previous=function(){var b=_.indexOf(a.getEnabledSteps(),a.selectedStep);if(0===b)throw new Error("Can't go back. It's already in step 0");a.goTo(a.getEnabledSteps()[b-1])},this.cancel=function(){var b=_.indexOf(a.getEnabledSteps(),a.selectedStep);if(0===b)throw new Error("Can't go back. It's already in step 0");a.goTo(a.getEnabledSteps()[0])}}]}}),wizardButtonDirective("wzNext"),wizardButtonDirective("wzPrevious"),wizardButtonDirective("wzFinish"),wizardButtonDirective("wzCancel"),angular.module("mgo-angular-wizard").factory("WizardHandler",function(){var a={},b={};return a.defaultName="defaultWizard",a.addWizard=function(a,c){b[a]=c},a.removeWizard=function(a){delete b[a]},a.wizard=function(c){var d=c;return c||(d=a.defaultName),b[d]},a}),angular.module("xeditable",[]).value("editableOptions",{theme:"default",icon_set:"default",buttons:"right",blurElem:"cancel",blurForm:"ignore",activate:"focus",isDisabled:!1,activationEvent:"click"}),angular.module("xeditable").directive("editableBsdate",["editableDirectiveFactory",function(a){return a({directiveName:"editableBsdate",inputTpl:"<div></div>",render:function(){this.parent.render.call(this);var a=angular.element('<input type="text" class="form-control" ng-model="$data"/>'),b=angular.element('<button type="button" class="btn btn-default"><i class="glyphicon glyphicon-calendar"></i></button>'),c=angular.element('<span class="input-group-btn"></span>');a.attr("datepicker-popup",this.attrs.eDatepickerPopupXEditable||"yyyy/MM/dd"),a.attr("is-open",this.attrs.eIsOpen),a.attr("date-disabled",this.attrs.eDateDisabled),a.attr("datepicker-popup",this.attrs.eDatepickerPopup),a.attr("datepicker-mode",this.attrs.eDatepickerMode||"day"),a.attr("min-date",this.attrs.eMinDate),a.attr("max-date",this.attrs.eMaxDate),a.attr("show-weeks",this.attrs.eShowWeeks||!0),a.attr("starting-day",this.attrs.eStartingDay||0),a.attr("init-date",this.attrs.eInitDate||new Date),a.attr("min-mode",this.attrs.eMinMode||"day"),a.attr("max-mode",this.attrs.eMaxMode||"year"),a.attr("format-day",this.attrs.eFormatDay||"dd"),a.attr("format-month",this.attrs.eFormatMonth||"MMMM"),a.attr("format-year",this.attrs.eFormatYear||"yyyy"),a.attr("format-day-header",this.attrs.eFormatDayHeader||"EEE"),a.attr("format-day-title",this.attrs.eFormatDayTitle||"MMMM yyyy"),a.attr("format-month-title",this.attrs.eFormatMonthTitle||"yyyy"),a.attr("year-range",this.attrs.eYearRange||20),a.attr("show-button-bar",this.attrs.eShowButtonBar||!0),a.attr("current-text",this.attrs.eCurrentText||"Today"),a.attr("clear-text",this.attrs.eClearText||"Clear"),a.attr("close-text",this.attrs.eCloseText||"Done"),a.attr("close-on-date-selection",this.attrs.eCloseOnDateSelection||!0),a.attr("date-picker-append-to-body",this.attrs.eDatePickerAppendToBody||!1),a.attr("date-disabled",this.attrs.eDateDisabled),b.attr("ng-click",this.attrs.eNgClick),c.append(b),this.inputEl.prepend(a),this.inputEl.append(c),this.inputEl.removeAttr("class"),this.inputEl.attr("class","input-group")}})}]),angular.module("xeditable").directive("editableBstime",["editableDirectiveFactory",function(a){return a({directiveName:"editableBstime",inputTpl:"<timepicker></timepicker>",render:function(){this.parent.render.call(this);var a=angular.element('<div class="well well-small" style="display:inline-block;"></div>');a.attr("ng-model",this.inputEl.attr("ng-model")),this.inputEl.removeAttr("ng-model"),this.attrs.eNgChange&&(a.attr("ng-change",this.inputEl.attr("ng-change")),this.inputEl.removeAttr("ng-change")),this.inputEl.wrap(a)}})}]),angular.module("xeditable").directive("editableCheckbox",["editableDirectiveFactory",function(a){return a({directiveName:"editableCheckbox",inputTpl:'<input type="checkbox">',render:function(){this.parent.render.call(this),this.attrs.eTitle&&(this.inputEl.wrap("<label></label>"),this.inputEl.parent().append(this.attrs.eTitle))},autosubmit:function(){var a=this;a.inputEl.bind("change",function(){setTimeout(function(){a.scope.$apply(function(){a.scope.$form.$submit()})},500)})}})}]),angular.module("xeditable").directive("editableChecklist",["editableDirectiveFactory","editableNgOptionsParser",function(a,b){return a({directiveName:"editableChecklist",inputTpl:"<span></span>",useCopy:!0,render:function(){this.parent.render.call(this);var a=b(this.attrs.eNgOptions),c='<label ng-repeat="'+a.ngRepeat+'"><input type="checkbox" checklist-model="$parent.$data" checklist-value="'+a.locals.valueFn+'"><span ng-bind="'+a.locals.displayFn+'"></span></label>';this.inputEl.removeAttr("ng-model"),this.inputEl.removeAttr("ng-options"),this.inputEl.html(c)}})}]),angular.module("xeditable").directive("editableCombodate",["editableDirectiveFactory","editableCombodate",function(a,b){return a({directiveName:"editableCombodate",inputTpl:'<input type="text">',render:function(){this.parent.render.call(this);var a=b.getInstance(this.inputEl,{value:new Date(this.scope.$data)}),c=this;a.$widget.find("select").bind("change",function(b){c.scope.$data=new Date(a.getValue()).toISOString()})}})}]),function(){var a="text|password|email|tel|number|url|search|color|date|datetime|time|month|week|file".split("|");angular.forEach(a,function(a){var b="editable"+a.charAt(0).toUpperCase()+a.slice(1);angular.module("xeditable").directive(b,["editableDirectiveFactory",function(c){return c({directiveName:b,inputTpl:'<input type="'+a+'">'})}])}),angular.module("xeditable").directive("editableRange",["editableDirectiveFactory",function(a){return a({directiveName:"editableRange",inputTpl:'<input type="range" id="range" name="range">',render:function(){this.parent.render.call(this),this.inputEl.after("<output>{{$data}}</output>")}})}])}(),angular.module("xeditable").directive("editableRadiolist",["editableDirectiveFactory","editableNgOptionsParser",function(a,b){return a({directiveName:"editableRadiolist",inputTpl:"<span></span>",render:function(){this.parent.render.call(this);var a=b(this.attrs.eNgOptions),c='<label ng-repeat="'+a.ngRepeat+'"><input type="radio" ng-disabled="'+this.attrs.eNgDisabled+'" ng-model="$parent.$data" value="{{'+a.locals.valueFn+'}}"><span ng-bind="'+a.locals.displayFn+'"></span></label>';this.inputEl.removeAttr("ng-model"),this.inputEl.removeAttr("ng-options"),this.inputEl.html(c)},autosubmit:function(){var a=this;a.inputEl.bind("change",function(){setTimeout(function(){a.scope.$apply(function(){a.scope.$form.$submit()})},500)})}})}]),angular.module("xeditable").directive("editableSelect",["editableDirectiveFactory",function(a){return a({directiveName:"editableSelect",inputTpl:"<select></select>",autosubmit:function(){var a=this;a.inputEl.bind("change",function(){a.scope.$apply(function(){a.scope.$form.$submit()})})}})}]),angular.module("xeditable").directive("editableTextarea",["editableDirectiveFactory",function(a){return a({directiveName:"editableTextarea",inputTpl:"<textarea></textarea>",addListeners:function(){var a=this;a.parent.addListeners.call(a),a.single&&"no"!==a.buttons&&a.autosubmit()},autosubmit:function(){var a=this;a.inputEl.bind("keydown",function(b){(b.ctrlKey||b.metaKey)&&13===b.keyCode&&a.scope.$apply(function(){a.scope.$form.$submit()})})}})}]),angular.module("xeditable").factory("editableController",["$q","editableUtils",function(a,b){function c(a,c,d,e,f,g,h,i,j,k){var l,m,n=this;n.scope=a,n.elem=d,n.attrs=c,n.inputEl=null,n.editorEl=null,n.single=!0,n.error="",n.theme=f[h.theme]||f["default"],n.parent={},n.icon_set="default"===h.icon_set?g["default"][h.theme]:g.external[h.icon_set],n.inputTpl="",n.directiveName="",n.useCopy=!1,n.single=null,n.buttons="right",n.init=function(b){if(n.single=b,n.name=c.eName||c[n.directiveName],!c[n.directiveName])throw"You should provide value for `"+n.directiveName+"` in editable element!";l=e(c[n.directiveName]),n.single?n.buttons=n.attrs.buttons||h.buttons:n.buttons="no",c.eName&&n.scope.$watch("$data",function(a){n.scope.$form.$data[c.eName]=a}),c.onshow&&(n.onshow=function(){return n.catchError(e(c.onshow)(a))}),c.onhide&&(n.onhide=function(){return e(c.onhide)(a)}),c.oncancel&&(n.oncancel=function(){return e(c.oncancel)(a)}),c.onbeforesave&&(n.onbeforesave=function(){return n.catchError(e(c.onbeforesave)(a))}),c.onaftersave&&(n.onaftersave=function(){return n.catchError(e(c.onaftersave)(a))}),a.$parent.$watch(c[n.directiveName],function(a,b){n.setLocalValue(),n.handleEmpty()})},n.render=function(){var a=n.theme;n.inputEl=angular.element(n.inputTpl),n.controlsEl=angular.element(a.controlsTpl),n.controlsEl.append(n.inputEl),"no"!==n.buttons&&(n.buttonsEl=angular.element(a.buttonsTpl),n.submitEl=angular.element(a.submitTpl),n.cancelEl=angular.element(a.cancelTpl),n.icon_set&&(n.submitEl.find("span").addClass(n.icon_set.ok),n.cancelEl.find("span").addClass(n.icon_set.cancel)),n.buttonsEl.append(n.submitEl).append(n.cancelEl),n.controlsEl.append(n.buttonsEl),n.inputEl.addClass("editable-has-buttons")),n.errorEl=angular.element(a.errorTpl),n.controlsEl.append(n.errorEl),n.editorEl=angular.element(n.single?a.formTpl:a.noformTpl),n.editorEl.append(n.controlsEl);for(var d in c.$attr)if(!(d.length<=1)){var e=!1,f=d.substring(1,2);if("e"===d.substring(0,1)&&f===f.toUpperCase()&&(e=d.substring(1),"Form"!==e&&"NgSubmit"!==e)){e=e.substring(0,1).toLowerCase()+b.camelToDash(e.substring(1));var g="value"!==e&&""===c[d]?e:c[d];n.inputEl.attr(e,g)}}n.inputEl.addClass("editable-input"),n.inputEl.attr("ng-model","$data"),n.editorEl.addClass(b.camelToDash(n.directiveName)),n.single&&(n.editorEl.attr("editable-form","$form"),n.editorEl.attr("blur",n.attrs.blur||("no"===n.buttons?"cancel":h.blurElem))),angular.isFunction(a.postrender)&&a.postrender.call(n)},n.setLocalValue=function(){n.scope.$data=n.useCopy?angular.copy(l(a.$parent)):l(a.$parent)},n.show=function(){return n.setLocalValue(),n.render(),d.after(n.editorEl),j(n.editorEl)(a),n.addListeners(),d.addClass("editable-hide"),n.onshow()},n.hide=function(){return n.editorEl.remove(),d.removeClass("editable-hide"),n.onhide()},n.cancel=function(){n.oncancel()},n.addListeners=function(){n.inputEl.bind("keyup",function(a){if(n.single)switch(a.keyCode){case 27:n.scope.$apply(function(){n.scope.$form.$cancel()})}}),n.single&&"no"===n.buttons&&n.autosubmit(),n.editorEl.bind("click",function(a){a.which&&1!==a.which||n.scope.$form.$visible&&(n.scope.$form._clicked=!0)})},n.setWaiting=function(a){a?(m=!n.inputEl.attr("disabled")&&!n.inputEl.attr("ng-disabled")&&!n.inputEl.attr("ng-enabled"),m&&(n.inputEl.attr("disabled","disabled"),n.buttonsEl&&n.buttonsEl.find("button").attr("disabled","disabled"))):m&&(n.inputEl.removeAttr("disabled"),n.buttonsEl&&n.buttonsEl.find("button").removeAttr("disabled"))},n.activate=function(a,b){setTimeout(function(){var c=n.inputEl[0];"focus"===h.activate&&c.focus&&(a&&(b=b||a,c.onfocus=function(){var c=this;setTimeout(function(){c.setSelectionRange(a,b)})}),c.focus()),"select"===h.activate&&c.select&&c.select()},0)},n.setError=function(b){angular.isObject(b)||(a.$error=b,n.error=b)},n.catchError=function(a,b){return angular.isObject(a)&&b!==!0?k.when(a).then(angular.bind(this,function(a){this.catchError(a,!0)}),angular.bind(this,function(a){this.catchError(a,!0)})):b&&angular.isObject(a)&&a.status&&200!==a.status&&a.data&&angular.isString(a.data)?(this.setError(a.data),a=a.data):angular.isString(a)&&this.setError(a),a},n.save=function(){l.assign(a.$parent,n.useCopy?angular.copy(n.scope.$data):n.scope.$data)},n.handleEmpty=function(){var b=l(a.$parent),c=null===b||void 0===b||""===b||angular.isArray(b)&&0===b.length;d.toggleClass("editable-empty",c)},n.autosubmit=angular.noop,n.onshow=angular.noop,n.onhide=angular.noop,n.oncancel=angular.noop,n.onbeforesave=angular.noop,n.onaftersave=angular.noop;
+}return c.$inject=["$scope","$attrs","$element","$parse","editableThemes","editableIcons","editableOptions","$rootScope","$compile","$q"],c}]),angular.module("xeditable").factory("editableDirectiveFactory",["$parse","$compile","editableThemes","$rootScope","$document","editableController","editableFormController","editableOptions",function(a,b,c,d,e,f,g,h){return function(b){return{restrict:"A",scope:!0,require:[b.directiveName,"?^form"],controller:f,link:function(c,f,i,j){var k,l=j[0],m=!1;if(j[1])k=j[1],m=!0;else if(i.eForm){var n=a(i.eForm)(c);if(n)k=n,m=!0;else for(var o=0;o<e[0].forms.length;o++)if(e[0].forms[o].name===i.eForm){k=null,m=!0;break}}angular.forEach(b,function(a,b){void 0!==l[b]&&(l.parent[b]=l[b])}),angular.extend(l,b);var p=angular.isDefined(i.editDisabled)?c.$eval(i.editDisabled):h.isDisabled;if(!p)if(l.init(!m),c.$editable=l,f.addClass("editable"),m)if(k){if(c.$form=k,!c.$form.$addEditable)throw"Form with editable elements should have `editable-form` attribute.";c.$form.$addEditable(l)}else d.$$editableBuffer=d.$$editableBuffer||{},d.$$editableBuffer[i.eForm]=d.$$editableBuffer[i.eForm]||[],d.$$editableBuffer[i.eForm].push(l),c.$form=null;else c.$form=g(),c.$form.$addEditable(l),i.eForm&&(c.$parent[i.eForm]=c.$form),(!i.eForm||i.eClickable)&&(f.addClass("editable-click"),f.bind(h.activationEvent,function(a){a.preventDefault(),a.editable=l,c.$apply(function(){c.$form.$show()})}))}}}}]),angular.module("xeditable").factory("editableFormController",["$parse","$document","$rootScope","editablePromiseCollection","editableUtils",function(a,b,c,d,e){var f=[],g=function(a,b){if(b==a)return!0;for(var c=b.parentNode;null!==c;){if(c==a)return!0;c=c.parentNode}return!1},h=function(a,b){var c=!0,d=a.$editables;return angular.forEach(d,function(a){var d=a.editorEl[0];g(d,b.target)&&(c=!1)}),c};b.bind("click",function(a){if(!(a.which&&1!==a.which||a.isDefaultPrevented())){for(var b=[],d=[],e=0;e<f.length;e++)f[e]._clicked?f[e]._clicked=!1:f[e].$waiting||("cancel"===f[e]._blur&&h(f[e],a)&&b.push(f[e]),"submit"===f[e]._blur&&h(f[e],a)&&d.push(f[e]));(b.length||d.length)&&c.$apply(function(){angular.forEach(b,function(a){a.$cancel()}),angular.forEach(d,function(a){a.$submit()})})}});var i={$addEditable:function(a){this.$editables.push(a),a.elem.bind("$destroy",angular.bind(this,this.$removeEditable,a)),a.scope.$form||(a.scope.$form=this),this.$visible&&a.catchError(a.show())},$removeEditable:function(a){for(var b=0;b<this.$editables.length;b++)if(this.$editables[b]===a)return void this.$editables.splice(b,1)},$show:function(){if(!this.$visible){this.$visible=!0;var a=d();a.when(this.$onshow()),this.$setError(null,""),angular.forEach(this.$editables,function(b){a.when(b.show())}),a.then({onWait:angular.bind(this,this.$setWaiting),onTrue:angular.bind(this,this.$activate),onFalse:angular.bind(this,this.$activate),onString:angular.bind(this,this.$activate)}),setTimeout(angular.bind(this,function(){this._clicked=!1,-1===e.indexOf(f,this)&&f.push(this)}),0)}},$activate:function(a){var b;if(this.$editables.length){if(angular.isString(a))for(b=0;b<this.$editables.length;b++)if(this.$editables[b].name===a)return void this.$editables[b].activate();for(b=0;b<this.$editables.length;b++)if(this.$editables[b].error)return void this.$editables[b].activate();this.$editables[0].activate(this.$editables[0].elem[0].selectionStart,this.$editables[0].elem[0].selectionEnd)}},$hide:function(){this.$visible&&(this.$visible=!1,this.$onhide(),angular.forEach(this.$editables,function(a){a.hide()}),e.arrayRemove(f,this))},$cancel:function(){this.$visible&&(this.$oncancel(),angular.forEach(this.$editables,function(a){a.cancel()}),this.$hide())},$setWaiting:function(a){this.$waiting=!!a,angular.forEach(this.$editables,function(b){b.setWaiting(!!a)})},$setError:function(a,b){angular.forEach(this.$editables,function(c){a&&c.name!==a||c.setError(b)})},$submit:function(){function a(a){var b=d();b.when(this.$onbeforesave()),b.then({onWait:angular.bind(this,this.$setWaiting),onTrue:a?angular.bind(this,this.$save):angular.bind(this,this.$hide),onFalse:angular.bind(this,this.$hide),onString:angular.bind(this,this.$activate)})}if(!this.$waiting){this.$setError(null,"");var b=d();angular.forEach(this.$editables,function(a){b.when(a.onbeforesave())}),b.then({onWait:angular.bind(this,this.$setWaiting),onTrue:angular.bind(this,a,!0),onFalse:angular.bind(this,a,!1),onString:angular.bind(this,this.$activate)})}},$save:function(){angular.forEach(this.$editables,function(a){a.save()});var a=d();a.when(this.$onaftersave()),angular.forEach(this.$editables,function(b){a.when(b.onaftersave())}),a.then({onWait:angular.bind(this,this.$setWaiting),onTrue:angular.bind(this,this.$hide),onFalse:angular.bind(this,this.$hide),onString:angular.bind(this,this.$activate)})},$onshow:angular.noop,$oncancel:angular.noop,$onhide:angular.noop,$onbeforesave:angular.noop,$onaftersave:angular.noop};return function(){return angular.extend({$editables:[],$visible:!1,$waiting:!1,$data:{},_clicked:!1,_blur:null},i)}}]),angular.module("xeditable").directive("editableForm",["$rootScope","$parse","editableFormController","editableOptions",function(a,b,c,d){return{restrict:"A",require:["form"],compile:function(){return{pre:function(b,d,e,f){var g,h=f[0];e.editableForm?b[e.editableForm]&&b[e.editableForm].$show?(g=b[e.editableForm],angular.extend(h,g)):(g=c(),b[e.editableForm]=g,angular.extend(g,h)):(g=c(),angular.extend(h,g));var i=a.$$editableBuffer,j=h.$name;j&&i&&i[j]&&(angular.forEach(i[j],function(a){g.$addEditable(a)}),delete i[j])},post:function(a,c,e,f){var g;g=e.editableForm&&a[e.editableForm]&&a[e.editableForm].$show?a[e.editableForm]:f[0],e.onshow&&(g.$onshow=angular.bind(g,b(e.onshow),a)),e.onhide&&(g.$onhide=angular.bind(g,b(e.onhide),a)),e.oncancel&&(g.$oncancel=angular.bind(g,b(e.oncancel),a)),e.shown&&b(e.shown)(a)&&g.$show(),g._blur=e.blur||d.blurForm,e.ngSubmit||e.submit||(e.onbeforesave&&(g.$onbeforesave=function(){return b(e.onbeforesave)(a,{$data:g.$data})}),e.onaftersave&&(g.$onaftersave=function(){return b(e.onaftersave)(a,{$data:g.$data})}),c.bind("submit",function(b){b.preventDefault(),a.$apply(function(){g.$submit()})})),c.bind("click",function(a){a.which&&1!==a.which||g.$visible&&(g._clicked=!0)})}}}}}]),angular.module("xeditable").factory("editablePromiseCollection",["$q",function(a){function b(){return{promises:[],hasFalse:!1,hasString:!1,when:function(b,c){if(b===!1)this.hasFalse=!0;else if(!c&&angular.isObject(b))this.promises.push(a.when(b));else{if(!angular.isString(b))return;this.hasString=!0}},then:function(b){function c(){h.hasString||h.hasFalse?!h.hasString&&h.hasFalse?e():f():d()}b=b||{};var d=b.onTrue||angular.noop,e=b.onFalse||angular.noop,f=b.onString||angular.noop,g=b.onWait||angular.noop,h=this;this.promises.length?(g(!0),a.all(this.promises).then(function(a){g(!1),angular.forEach(a,function(a){h.when(a,!0)}),c()},function(a){g(!1),f()})):c()}}}return b}]),angular.module("xeditable").factory("editableUtils",[function(){return{indexOf:function(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0;c<a.length;c++)if(b===a[c])return c;return-1},arrayRemove:function(a,b){var c=this.indexOf(a,b);return c>=0&&a.splice(c,1),b},camelToDash:function(a){var b=/[A-Z]/g;return a.replace(b,function(a,b){return(b?"-":"")+a.toLowerCase()})},dashToCamel:function(a){var b=/([\:\-\_]+(.))/g,c=/^moz([A-Z])/;return a.replace(b,function(a,b,c,d){return d?c.toUpperCase():c}).replace(c,"Moz$1")}}}]),angular.module("xeditable").factory("editableNgOptionsParser",[function(){function a(a){var c;if(!(c=a.match(b)))throw"ng-options parse error";var d,e=c[2]||c[1],f=c[4]||c[6],g=c[5],h=(c[3]||"",c[2]?c[1]:f),i=c[7],j=c[8],k=j?c[8]:null;return void 0===g?(d=f+" in "+i,void 0!==j&&(d+=" track by "+k)):d="("+g+", "+f+") in "+i,{ngRepeat:d,locals:{valueName:f,keyName:g,valueFn:h,displayFn:e}}}var b=/^\s*(.*?)(?:\s+as\s+(.*?))?(?:\s+group\s+by\s+(.*))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+(.*?)(?:\s+track\s+by\s+(.*?))?$/;return a}]),angular.module("xeditable").factory("editableCombodate",[function(){function a(a,b){if(this.$element=angular.element(a),"INPUT"!=this.$element[0].nodeName)throw"Combodate should be applied to INPUT element";this.defaults={format:"YYYY-MM-DD HH:mm",template:"D / MMM / YYYY   H : mm",value:null,minYear:1970,maxYear:2015,yearDescending:!0,minuteStep:5,secondStep:1,firstItem:"empty",errorClass:null,customClass:"",roundTime:!0,smartDays:!0},this.options=angular.extend({},this.defaults,b),this.init()}return a.prototype={constructor:a,init:function(){if(this.map={day:["D","date"],month:["M","month"],year:["Y","year"],hour:["[Hh]","hours"],minute:["m","minutes"],second:["s","seconds"],ampm:["[Aa]",""]},this.$widget=angular.element('<span class="combodate"></span>').html(this.getTemplate()),this.initCombos(),this.options.smartDays){var a=this;this.$widget.find("select").bind("change",function(b){(angular.element(b.target).hasClass("month")||angular.element(b.target).hasClass("year"))&&a.fillCombo("day")})}this.$widget.find("select").css("width","auto"),this.$element.css("display","none").after(this.$widget),this.setValue(this.$element.val()||this.options.value)},getTemplate:function(){var a=this.options.template,b=this.options.customClass;return angular.forEach(this.map,function(b,c){b=b[0];var d=new RegExp(b+"+"),e=b.length>1?b.substring(1,2):b;a=a.replace(d,"{"+e+"}")}),a=a.replace(/ /g,"&nbsp;"),angular.forEach(this.map,function(c,d){c=c[0];var e=c.length>1?c.substring(1,2):c;a=a.replace("{"+e+"}",'<select class="'+d+" "+b+'"></select>')}),a},initCombos:function(){for(var a in this.map){var b=this.$widget[0].querySelectorAll("."+a);this["$"+a]=b.length?angular.element(b):null,this.fillCombo(a)}},fillCombo:function(a){var b=this["$"+a];if(b){var c="fill"+a.charAt(0).toUpperCase()+a.slice(1),d=this[c](),e=b.val();b.html("");for(var f=0;f<d.length;f++)b.append('<option value="'+d[f][0]+'">'+d[f][1]+"</option>");b.val(e)}},fillCommon:function(a){var b,c=[];if("name"===this.options.firstItem){b=moment.relativeTime||moment.langData()._relativeTime;var d="function"==typeof b[a]?b[a](1,!0,a,!1):b[a];d=d.split(" ").reverse()[0],c.push(["",d])}else"empty"===this.options.firstItem&&c.push(["",""]);return c},fillDay:function(){var a,b,c=this.fillCommon("d"),d=-1!==this.options.template.indexOf("DD"),e=31;if(this.options.smartDays&&this.$month&&this.$year){var f=parseInt(this.$month.val(),10),g=parseInt(this.$year.val(),10);isNaN(f)||isNaN(g)||(e=moment([g,f]).daysInMonth())}for(b=1;e>=b;b++)a=d?this.leadZero(b):b,c.push([b,a]);return c},fillMonth:function(){var a,b,c=this.fillCommon("M"),d=-1!==this.options.template.indexOf("MMMM"),e=-1!==this.options.template.indexOf("MMM"),f=-1!==this.options.template.indexOf("MM");for(b=0;11>=b;b++)a=d?moment().date(1).month(b).format("MMMM"):e?moment().date(1).month(b).format("MMM"):f?this.leadZero(b+1):b+1,c.push([b,a]);return c},fillYear:function(){var a,b,c=[],d=-1!==this.options.template.indexOf("YYYY");for(b=this.options.maxYear;b>=this.options.minYear;b--)a=d?b:(b+"").substring(2),c[this.options.yearDescending?"push":"unshift"]([b,a]);return c=this.fillCommon("y").concat(c)},fillHour:function(){var a,b,c=this.fillCommon("h"),d=-1!==this.options.template.indexOf("h"),e=(-1!==this.options.template.indexOf("H"),-1!==this.options.template.toLowerCase().indexOf("hh")),f=d?1:0,g=d?12:23;for(b=f;g>=b;b++)a=e?this.leadZero(b):b,c.push([b,a]);return c},fillMinute:function(){var a,b,c=this.fillCommon("m"),d=-1!==this.options.template.indexOf("mm");for(b=0;59>=b;b+=this.options.minuteStep)a=d?this.leadZero(b):b,c.push([b,a]);return c},fillSecond:function(){var a,b,c=this.fillCommon("s"),d=-1!==this.options.template.indexOf("ss");for(b=0;59>=b;b+=this.options.secondStep)a=d?this.leadZero(b):b,c.push([b,a]);return c},fillAmpm:function(){var a=-1!==this.options.template.indexOf("a"),b=(-1!==this.options.template.indexOf("A"),[["am",a?"am":"AM"],["pm",a?"pm":"PM"]]);return b},getValue:function(a){var b,c={},d=this,e=!1;return angular.forEach(this.map,function(a,b){if("ampm"!==b){var f="day"===b?1:0;return c[b]=d["$"+b]?parseInt(d["$"+b].val(),10):f,isNaN(c[b])?(e=!0,!1):void 0}}),e?"":(this.$ampm&&(12===c.hour?c.hour="am"===this.$ampm.val()?0:12:c.hour="am"===this.$ampm.val()?c.hour:c.hour+12),b=moment([c.year,c.month,c.day,c.hour,c.minute,c.second]),this.highlight(b),a=void 0===a?this.options.format:a,null===a?b.isValid()?b:null:b.isValid()?b.format(a):"")},setValue:function(a){function b(a,b){var c={};return angular.forEach(a.children("option"),function(a,d){var e=angular.element(a).attr("value");if(""!==e){var f=Math.abs(e-b);("undefined"==typeof c.distance||f<c.distance)&&(c={value:e,distance:f})}}),c.value}if(a){var c="string"==typeof a?moment(a,this.options.format,!0):moment(a),d=this,e={};c.isValid()&&(angular.forEach(this.map,function(a,b){"ampm"!==b&&(e[b]=c[a[1]]())}),this.$ampm&&(e.hour>=12?(e.ampm="pm",e.hour>12&&(e.hour-=12)):(e.ampm="am",0===e.hour&&(e.hour=12))),angular.forEach(e,function(a,c){d["$"+c]&&("minute"===c&&d.options.minuteStep>1&&d.options.roundTime&&(a=b(d["$"+c],a)),"second"===c&&d.options.secondStep>1&&d.options.roundTime&&(a=b(d["$"+c],a)),d["$"+c].val(a))}),this.options.smartDays&&this.fillCombo("day"),this.$element.val(c.format(this.options.format)).triggerHandler("change"))}},highlight:function(a){a.isValid()?this.options.errorClass?this.$widget.removeClass(this.options.errorClass):this.$widget.find("select").css("border-color",this.borderColor):this.options.errorClass?this.$widget.addClass(this.options.errorClass):(this.borderColor||(this.borderColor=this.$widget.find("select").css("border-color")),this.$widget.find("select").css("border-color","red"))},leadZero:function(a){return 9>=a?"0"+a:a},destroy:function(){this.$widget.remove(),this.$element.removeData("combodate").show()}},{getInstance:function(b,c){return new a(b,c)}}}]),angular.module("xeditable").factory("editableIcons",function(){var a={"default":{bs2:{ok:"icon-ok icon-white",cancel:"icon-remove"},bs3:{ok:"glyphicon glyphicon-ok",cancel:"glyphicon glyphicon-remove"}},external:{"font-awesome":{ok:"fa fa-check",cancel:"fa fa-times"}}};return a}),angular.module("xeditable").factory("editableThemes",function(){var a={"default":{formTpl:'<form class="editable-wrap"></form>',noformTpl:'<span class="editable-wrap"></span>',controlsTpl:'<span class="editable-controls"></span>',inputTpl:"",errorTpl:'<div class="editable-error" ng-show="$error" ng-bind="$error"></div>',buttonsTpl:'<span class="editable-buttons"></span>',submitTpl:'<button type="submit">save</button>',cancelTpl:'<button type="button" ng-click="$form.$cancel()">cancel</button>'},bs2:{formTpl:'<form class="form-inline editable-wrap" role="form"></form>',noformTpl:'<span class="editable-wrap"></span>',controlsTpl:'<div class="editable-controls controls control-group" ng-class="{\'error\': $error}"></div>',inputTpl:"",errorTpl:'<div class="editable-error help-block" ng-show="$error" ng-bind="$error"></div>',buttonsTpl:'<span class="editable-buttons"></span>',submitTpl:'<button type="submit" class="btn btn-primary"><span></span></button>',cancelTpl:'<button type="button" class="btn" ng-click="$form.$cancel()"><span></span></button>'},bs3:{formTpl:'<form class="form-inline editable-wrap" role="form"></form>',noformTpl:'<span class="editable-wrap"></span>',controlsTpl:'<div class="editable-controls form-group" ng-class="{\'has-error\': $error}"></div>',inputTpl:"",errorTpl:'<div class="editable-error help-block" ng-show="$error" ng-bind="$error"></div>',buttonsTpl:'<span class="editable-buttons"></span>',submitTpl:'<button type="submit" class="btn btn-primary"><span></span></button>',cancelTpl:'<button type="button" class="btn btn-default" ng-click="$form.$cancel()"><span></span></button>',buttonsClass:"",inputClass:"",postrender:function(){switch(this.directiveName){case"editableText":case"editableSelect":case"editableTextarea":case"editableEmail":case"editableTel":case"editableNumber":case"editableUrl":case"editableSearch":case"editableDate":case"editableDatetime":case"editableBsdate":case"editableTime":case"editableMonth":case"editableWeek":if(this.inputEl.addClass("form-control"),this.theme.inputClass){if(this.inputEl.attr("multiple")&&("input-sm"===this.theme.inputClass||"input-lg"===this.theme.inputClass))break;this.inputEl.addClass(this.theme.inputClass)}break;case"editableCheckbox":this.editorEl.addClass("checkbox")}this.buttonsEl&&this.theme.buttonsClass&&this.buttonsEl.find("button").addClass(this.theme.buttonsClass)}}};return a}),function(){"use strict";function a(a){function b(b,d){var f,p,q=b==window,r=d&&void 0!==d.message?d.message:void 0;if(d=a.extend({},a.blockUI.defaults,d||{}),!d.ignoreIfBlocked||!a(b).data("blockUI.isBlocked")){if(d.overlayCSS=a.extend({},a.blockUI.defaults.overlayCSS,d.overlayCSS||{}),f=a.extend({},a.blockUI.defaults.css,d.css||{}),d.onOverlayClick&&(d.overlayCSS.cursor="pointer"),p=a.extend({},a.blockUI.defaults.themedCSS,d.themedCSS||{}),r=void 0===r?d.message:r,q&&n&&c(window,{fadeOut:0}),r&&"string"!=typeof r&&(r.parentNode||r.jquery)){var s=r.jquery?r[0]:r,t={};a(b).data("blockUI.history",t),t.el=s,t.parent=s.parentNode,t.display=s.style.display,t.position=s.style.position,t.parent&&t.parent.removeChild(s)}a(b).data("blockUI.onUnblock",d.onUnblock);var u,v,w,x,y=d.baseZ;u=a(k||d.forceIframe?'<iframe class="blockUI" style="z-index:'+y++ +';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+d.iframeSrc+'"></iframe>':'<div class="blockUI" style="display:none"></div>'),v=a(d.theme?'<div class="blockUI blockOverlay ui-widget-overlay" style="z-index:'+y++ +';display:none"></div>':'<div class="blockUI blockOverlay" style="z-index:'+y++ +';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>'),d.theme&&q?(x='<div class="blockUI '+d.blockMsgClass+' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+(y+10)+';display:none;position:fixed">',d.title&&(x+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(d.title||"&nbsp;")+"</div>"),x+='<div class="ui-widget-content ui-dialog-content"></div>',x+="</div>"):d.theme?(x='<div class="blockUI '+d.blockMsgClass+' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:'+(y+10)+';display:none;position:absolute">',d.title&&(x+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(d.title||"&nbsp;")+"</div>"),x+='<div class="ui-widget-content ui-dialog-content"></div>',x+="</div>"):x=q?'<div class="blockUI '+d.blockMsgClass+' blockPage" style="z-index:'+(y+10)+';display:none;position:fixed"></div>':'<div class="blockUI '+d.blockMsgClass+' blockElement" style="z-index:'+(y+10)+';display:none;position:absolute"></div>',w=a(x),r&&(d.theme?(w.css(p),w.addClass("ui-widget-content")):w.css(f)),d.theme||v.css(d.overlayCSS),v.css("position",q?"fixed":"absolute"),(k||d.forceIframe)&&u.css("opacity",0);var z=[u,v,w],A=a(q?"body":b);a.each(z,function(){this.appendTo(A)}),d.theme&&d.draggable&&a.fn.draggable&&w.draggable({handle:".ui-dialog-titlebar",cancel:"li"});var B=m&&(!a.support.boxModel||a("object,embed",q?null:b).length>0);if(l||B){if(q&&d.allowBodyStretch&&a.support.boxModel&&a("html,body").css("height","100%"),(l||!a.support.boxModel)&&!q)var C=i(b,"borderTopWidth"),D=i(b,"borderLeftWidth"),E=C?"(0 - "+C+")":0,F=D?"(0 - "+D+")":0;a.each(z,function(a,b){var c=b[0].style;if(c.position="absolute",2>a)q?c.setExpression("height","Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:"+d.quirksmodeOffsetHack+') + "px"'):c.setExpression("height",'this.parentNode.offsetHeight + "px"'),q?c.setExpression("width",'jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"'):c.setExpression("width",'this.parentNode.offsetWidth + "px"'),F&&c.setExpression("left",F),E&&c.setExpression("top",E);else if(d.centerY)q&&c.setExpression("top",'(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'),c.marginTop=0;else if(!d.centerY&&q){var e=d.css&&d.css.top?parseInt(d.css.top,10):0,f="((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "+e+') + "px"';c.setExpression("top",f)}})}if(r&&(d.theme?w.find(".ui-widget-content").append(r):w.append(r),(r.jquery||r.nodeType)&&a(r).show()),(k||d.forceIframe)&&d.showOverlay&&u.show(),d.fadeIn){var G=d.onBlock?d.onBlock:j,H=d.showOverlay&&!r?G:j,I=r?G:j;d.showOverlay&&v._fadeIn(d.fadeIn,H),r&&w._fadeIn(d.fadeIn,I)}else d.showOverlay&&v.show(),r&&w.show(),d.onBlock&&d.onBlock.bind(w)();if(e(1,b,d),q?(n=w[0],o=a(d.focusableElements,n),d.focusInput&&setTimeout(g,20)):h(w[0],d.centerX,d.centerY),d.timeout){var J=setTimeout(function(){q?a.unblockUI(d):a(b).unblock(d)},d.timeout);a(b).data("blockUI.timeout",J)}}}function c(b,c){var f,g=b==window,h=a(b),i=h.data("blockUI.history"),j=h.data("blockUI.timeout");j&&(clearTimeout(j),h.removeData("blockUI.timeout")),c=a.extend({},a.blockUI.defaults,c||{}),e(0,b,c),null===c.onUnblock&&(c.onUnblock=h.data("blockUI.onUnblock"),h.removeData("blockUI.onUnblock"));var k;k=g?a("body").children().filter(".blockUI").add("body > .blockUI"):h.find(">.blockUI"),c.cursorReset&&(k.length>1&&(k[1].style.cursor=c.cursorReset),k.length>2&&(k[2].style.cursor=c.cursorReset)),g&&(n=o=null),c.fadeOut?(f=k.length,k.stop().fadeOut(c.fadeOut,function(){0===--f&&d(k,i,c,b)})):d(k,i,c,b)}function d(b,c,d,e){var f=a(e);if(!f.data("blockUI.isBlocked")){b.each(function(a,b){this.parentNode&&this.parentNode.removeChild(this)}),c&&c.el&&(c.el.style.display=c.display,c.el.style.position=c.position,c.el.style.cursor="default",c.parent&&c.parent.appendChild(c.el),f.removeData("blockUI.history")),f.data("blockUI.static")&&f.css("position","static"),"function"==typeof d.onUnblock&&d.onUnblock(e,d);var g=a(document.body),h=g.width(),i=g[0].style.width;g.width(h-1).width(h),g[0].style.width=i}}function e(b,c,d){var e=c==window,g=a(c);if((b||(!e||n)&&(e||g.data("blockUI.isBlocked")))&&(g.data("blockUI.isBlocked",b),e&&d.bindEvents&&(!b||d.showOverlay))){var h="mousedown mouseup keydown keypress keyup touchstart touchend touchmove";b?a(document).bind(h,d,f):a(document).unbind(h,f)}}function f(b){if("keydown"===b.type&&b.keyCode&&9==b.keyCode&&n&&b.data.constrainTabKey){var c=o,d=!b.shiftKey&&b.target===c[c.length-1],e=b.shiftKey&&b.target===c[0];if(d||e)return setTimeout(function(){g(e)},10),!1}var f=b.data,h=a(b.target);return h.hasClass("blockOverlay")&&f.onOverlayClick&&f.onOverlayClick(b),h.parents("div."+f.blockMsgClass).length>0?!0:0===h.parents().children().filter("div.blockUI").length}function g(a){if(o){var b=o[a===!0?o.length-1:0];b&&b.focus()}}function h(a,b,c){var d=a.parentNode,e=a.style,f=(d.offsetWidth-a.offsetWidth)/2-i(d,"borderLeftWidth"),g=(d.offsetHeight-a.offsetHeight)/2-i(d,"borderTopWidth");b&&(e.left=f>0?f+"px":"0"),c&&(e.top=g>0?g+"px":"0")}function i(b,c){return parseInt(a.css(b,c),10)||0}a.fn._fadeIn=a.fn.fadeIn;var j=a.noop||function(){},k=/MSIE/.test(navigator.userAgent),l=/MSIE 6.0/.test(navigator.userAgent)&&!/MSIE 8.0/.test(navigator.userAgent),m=(document.documentMode||0,a.isFunction(document.createElement("div").style.setExpression));a.blockUI=function(a){b(window,a)},a.unblockUI=function(a){c(window,a)},a.growlUI=function(b,c,d,e){var f=a('<div class="growlUI"></div>');b&&f.append("<h1>"+b+"</h1>"),c&&f.append("<h2>"+c+"</h2>"),void 0===d&&(d=3e3);var g=function(b){b=b||{},a.blockUI({message:f,fadeIn:"undefined"!=typeof b.fadeIn?b.fadeIn:700,fadeOut:"undefined"!=typeof b.fadeOut?b.fadeOut:1e3,timeout:"undefined"!=typeof b.timeout?b.timeout:d,centerY:!1,showOverlay:!1,onUnblock:e,css:a.blockUI.defaults.growlCSS})};g();f.css("opacity");f.mouseover(function(){g({fadeIn:0,timeout:3e4});var b=a(".blockMsg");b.stop(),b.fadeTo(300,1)}).mouseout(function(){a(".blockMsg").fadeOut(1e3)})},a.fn.block=function(c){if(this[0]===window)return a.blockUI(c),this;var d=a.extend({},a.blockUI.defaults,c||{});return this.each(function(){var b=a(this);d.ignoreIfBlocked&&b.data("blockUI.isBlocked")||b.unblock({fadeOut:0})}),this.each(function(){"static"==a.css(this,"position")&&(this.style.position="relative",a(this).data("blockUI.static",!0)),this.style.zoom=1,b(this,c)})},a.fn.unblock=function(b){return this[0]===window?(a.unblockUI(b),this):this.each(function(){c(this,b)})},a.blockUI.version=2.7,a.blockUI.defaults={message:"<h1>Please wait...</h1>",title:null,draggable:!0,theme:!1,css:{padding:0,margin:0,width:"30%",top:"40%",left:"35%",textAlign:"center",color:"#000",border:"3px solid #aaa",backgroundColor:"#fff",cursor:"wait"},themedCSS:{width:"30%",top:"40%",left:"35%"},overlayCSS:{backgroundColor:"#000",opacity:.6,cursor:"wait"},cursorReset:"default",growlCSS:{width:"350px",top:"10px",left:"",right:"10px",border:"none",padding:"5px",opacity:.6,cursor:"default",color:"#fff",backgroundColor:"#000","-webkit-border-radius":"10px","-moz-border-radius":"10px","border-radius":"10px"},iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank",forceIframe:!1,baseZ:1e3,centerX:!0,centerY:!0,allowBodyStretch:!0,bindEvents:!0,constrainTabKey:!0,fadeIn:200,fadeOut:400,timeout:0,showOverlay:!0,focusInput:!0,focusableElements:":input:enabled:visible",onBlock:null,onUnblock:null,onOverlayClick:null,quirksmodeOffsetHack:4,blockMsgClass:"blockMsg",ignoreIfBlocked:!1};var n=null,o=[]}"function"==typeof define&&define.amd&&define.amd.jQuery?define(["jquery"],a):a(jQuery)}(),function(a,b,c){var d=a();a.fn.dropdownHover=function(c){return"ontouchstart"in document?this:(d=d.add(this.parent()),this.each(function(){function e(a){b.clearTimeout(f),b.clearTimeout(g),g=b.setTimeout(function(){d.find(":focus").blur(),n.instantlyCloseOthers===!0&&d.removeClass("open"),b.clearTimeout(g),h.attr("aria-expanded","true"),i.addClass("open"),h.trigger(l)},n.hoverDelay)}var f,g,h=a(this),i=h.parent(),j={delay:500,hoverDelay:0,instantlyCloseOthers:!0},k={delay:a(this).data("delay"),hoverDelay:a(this).data("hover-delay"),instantlyCloseOthers:a(this).data("close-others")},l="show.bs.dropdown",m="hide.bs.dropdown",n=a.extend(!0,{},j,c,k);i.hover(function(a){return i.hasClass("open")||h.is(a.target)?void e(a):!0},function(){b.clearTimeout(g),f=b.setTimeout(function(){h.attr("aria-expanded","false"),i.removeClass("open"),h.trigger(m)},n.delay)}),h.hover(function(a){return i.hasClass("open")||i.is(a.target)?void e(a):!0}),i.find(".dropdown-submenu").each(function(){var c,d=a(this);d.hover(function(){b.clearTimeout(c),d.children(".dropdown-menu").show(),d.siblings().children(".dropdown-menu").hide()},function(){var a=d.children(".dropdown-menu");c=b.setTimeout(function(){a.hide()},n.delay)})})}))},a(document).ready(function(){a('[data-hover="dropdown"]').dropdownHover()})}(jQuery,window),function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){"use strict";function b(b){var c=[{re:/[\xC0-\xC6]/g,ch:"A"},{re:/[\xE0-\xE6]/g,ch:"a"},{re:/[\xC8-\xCB]/g,ch:"E"},{re:/[\xE8-\xEB]/g,ch:"e"},{re:/[\xCC-\xCF]/g,ch:"I"},{re:/[\xEC-\xEF]/g,ch:"i"},{re:/[\xD2-\xD6]/g,ch:"O"},{re:/[\xF2-\xF6]/g,ch:"o"},{re:/[\xD9-\xDC]/g,ch:"U"},{re:/[\xF9-\xFC]/g,ch:"u"},{re:/[\xC7-\xE7]/g,ch:"c"},{re:/[\xD1]/g,ch:"N"},{re:/[\xF1]/g,ch:"n"}];return a.each(c,function(){b=b.replace(this.re,this.ch)}),b}function c(a){var b={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},c="(?:"+Object.keys(b).join("|")+")",d=new RegExp(c),e=new RegExp(c,"g"),f=null==a?"":""+a;return d.test(f)?f.replace(e,function(a){return b[a]}):f}function d(b,c){var d=arguments,f=b,g=c;[].shift.apply(d);var h,i=this.each(function(){var b=a(this);if(b.is("select")){var c=b.data("selectpicker"),i="object"==typeof f&&f;if(c){if(i)for(var j in i)i.hasOwnProperty(j)&&(c.options[j]=i[j])}else{var k=a.extend({},e.DEFAULTS,a.fn.selectpicker.defaults||{},b.data(),i);k.template=a.extend({},e.DEFAULTS.template,a.fn.selectpicker.defaults?a.fn.selectpicker.defaults.template:{},b.data().template,i.template),b.data("selectpicker",c=new e(this,k,g))}"string"==typeof f&&(h=c[f]instanceof Function?c[f].apply(c,d):c.options[f])}});return"undefined"!=typeof h?h:i}String.prototype.includes||!function(){var a={}.toString,b=function(){try{var a={},b=Object.defineProperty,c=b(a,a,a)&&b}catch(d){}return c}(),c="".indexOf,d=function(b){if(null==this)throw new TypeError;var d=String(this);if(b&&"[object RegExp]"==a.call(b))throw new TypeError;var e=d.length,f=String(b),g=f.length,h=arguments.length>1?arguments[1]:void 0,i=h?Number(h):0;i!=i&&(i=0);var j=Math.min(Math.max(i,0),e);return g+j>e?!1:-1!=c.call(d,f,i)};b?b(String.prototype,"includes",{value:d,configurable:!0,writable:!0}):String.prototype.includes=d}(),String.prototype.startsWith||!function(){var a=function(){try{var a={},b=Object.defineProperty,c=b(a,a,a)&&b}catch(d){}return c}(),b={}.toString,c=function(a){if(null==this)throw new TypeError;var c=String(this);if(a&&"[object RegExp]"==b.call(a))throw new TypeError;var d=c.length,e=String(a),f=e.length,g=arguments.length>1?arguments[1]:void 0,h=g?Number(g):0;h!=h&&(h=0);var i=Math.min(Math.max(h,0),d);if(f+i>d)return!1;for(var j=-1;++j<f;)if(c.charCodeAt(i+j)!=e.charCodeAt(j))return!1;return!0};a?a(String.prototype,"startsWith",{value:c,configurable:!0,writable:!0}):String.prototype.startsWith=c}(),Object.keys||(Object.keys=function(a,b,c){c=[];for(b in a)c.hasOwnProperty.call(a,b)&&c.push(b);return c}),a.fn.triggerNative=function(a){var b,c=this[0];c.dispatchEvent?("function"==typeof Event?b=new Event(a,{bubbles:!0}):(b=document.createEvent("Event"),b.initEvent(a,!0,!1)),c.dispatchEvent(b)):(c.fireEvent&&(b=document.createEventObject(),b.eventType=a,c.fireEvent("on"+a,b)),this.trigger(a))},a.expr[":"].icontains=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.text()).toUpperCase();return f.includes(d[3].toUpperCase())},a.expr[":"].ibegins=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.text()).toUpperCase();return f.startsWith(d[3].toUpperCase())},a.expr[":"].aicontains=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.data("normalizedText")||e.text()).toUpperCase();return f.includes(d[3].toUpperCase())},a.expr[":"].aibegins=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.data("normalizedText")||e.text()).toUpperCase();return f.startsWith(d[3].toUpperCase())};var e=function(b,c,d){d&&(d.stopPropagation(),d.preventDefault()),this.$element=a(b),this.$newElement=null,this.$button=null,this.$menu=null,this.$lis=null,this.options=c,null===this.options.title&&(this.options.title=this.$element.attr("title")),this.val=e.prototype.val,this.render=e.prototype.render,this.refresh=e.prototype.refresh,this.setStyle=e.prototype.setStyle,this.selectAll=e.prototype.selectAll,this.deselectAll=e.prototype.deselectAll,this.destroy=e.prototype.remove,this.remove=e.prototype.remove,this.show=e.prototype.show,this.hide=e.prototype.hide,this.init()};e.VERSION="1.7.5",e.DEFAULTS={noneSelectedText:"Nothing selected",noneResultsText:"No results matched {0}",countSelectedText:function(a,b){return 1==a?"{0} item selected":"{0} items selected"},maxOptionsText:function(a,b){return[1==a?"Limit reached ({n} item max)":"Limit reached ({n} items max)",1==b?"Group limit reached ({n} item max)":"Group limit reached ({n} items max)"]},selectAllText:"Select All",deselectAllText:"Deselect All",doneButton:!1,doneButtonText:"Close",multipleSeparator:", ",styleBase:"btn",style:"btn-default",size:"auto",title:null,selectedTextFormat:"values",width:!1,container:!1,hideDisabled:!1,showSubtext:!1,showIcon:!0,showContent:!0,dropupAuto:!0,header:!1,
+liveSearch:!1,liveSearchPlaceholder:null,liveSearchNormalize:!1,liveSearchStyle:"contains",actionsBox:!1,iconBase:"glyphicon",tickIcon:"glyphicon-ok",template:{caret:'<span class="caret"></span>'},maxOptions:!1,mobile:!1,selectOnTab:!1,dropdownAlignRight:!1},e.prototype={constructor:e,init:function(){var b=this,c=this.$element.attr("id");this.$element.addClass("bs-select-hidden"),this.liObj={},this.multiple=this.$element.prop("multiple"),this.autofocus=this.$element.prop("autofocus"),this.$newElement=this.createView(),this.$element.after(this.$newElement),this.$button=this.$newElement.children("button"),this.$menu=this.$newElement.children(".dropdown-menu"),this.$menuInner=this.$menu.children(".inner"),this.$searchbox=this.$menu.find("input"),this.options.dropdownAlignRight&&this.$menu.addClass("dropdown-menu-right"),"undefined"!=typeof c&&(this.$button.attr("data-id",c),a('label[for="'+c+'"]').click(function(a){a.preventDefault(),b.$button.focus()})),this.checkDisabled(),this.clickListener(),this.options.liveSearch&&this.liveSearchListener(),this.render(),this.setStyle(),this.setWidth(),this.options.container&&this.selectPosition(),this.$menu.data("this",this),this.$newElement.data("this",this),this.options.mobile&&this.mobile(),this.$newElement.on({"hide.bs.dropdown":function(a){b.$element.trigger("hide.bs.select",a)},"hidden.bs.dropdown":function(a){b.$element.trigger("hidden.bs.select",a)},"show.bs.dropdown":function(a){b.$element.trigger("show.bs.select",a)},"shown.bs.dropdown":function(a){b.$element.trigger("shown.bs.select",a)}}),setTimeout(function(){b.$element.trigger("loaded.bs.select")})},createDropdown:function(){var b=this.multiple?" show-tick":"",d=this.$element.parent().hasClass("input-group")?" input-group-btn":"",e=this.autofocus?" autofocus":"",f=this.options.header?'<div class="popover-title"><button type="button" class="close" aria-hidden="true">&times;</button>'+this.options.header+"</div>":"",g=this.options.liveSearch?'<div class="bs-searchbox"><input type="text" class="form-control" autocomplete="off"'+(null===this.options.liveSearchPlaceholder?"":' placeholder="'+c(this.options.liveSearchPlaceholder)+'"')+"></div>":"",h=this.multiple&&this.options.actionsBox?'<div class="bs-actionsbox"><div class="btn-group btn-group-sm btn-block"><button type="button" class="actions-btn bs-select-all btn btn-default">'+this.options.selectAllText+'</button><button type="button" class="actions-btn bs-deselect-all btn btn-default">'+this.options.deselectAllText+"</button></div></div>":"",i=this.multiple&&this.options.doneButton?'<div class="bs-donebutton"><div class="btn-group btn-block"><button type="button" class="btn btn-sm btn-default">'+this.options.doneButtonText+"</button></div></div>":"",j='<div class="btn-group bootstrap-select'+b+d+'"><button type="button" class="'+this.options.styleBase+' dropdown-toggle" data-toggle="dropdown"'+e+'><span class="filter-option pull-left"></span>&nbsp;<span class="bs-caret">'+this.options.template.caret+'</span></button><div class="dropdown-menu open">'+f+g+h+'<ul class="dropdown-menu inner" role="menu"></ul>'+i+"</div></div>";return a(j)},createView:function(){var a=this.createDropdown(),b=this.createLi();return a.find("ul")[0].innerHTML=b,a},reloadLi:function(){this.destroyLi();var a=this.createLi();this.$menuInner[0].innerHTML=a},destroyLi:function(){this.$menu.find("li").remove()},createLi:function(){var d=this,e=[],f=0,g=document.createElement("option"),h=-1,i=function(a,b,c,d){return"<li"+("undefined"!=typeof c&""!==c?' class="'+c+'"':"")+("undefined"!=typeof b&null!==b?' data-original-index="'+b+'"':"")+("undefined"!=typeof d&null!==d?'data-optgroup="'+d+'"':"")+">"+a+"</li>"},j=function(a,e,f,g){return'<a tabindex="0"'+("undefined"!=typeof e?' class="'+e+'"':"")+("undefined"!=typeof f?' style="'+f+'"':"")+(d.options.liveSearchNormalize?' data-normalized-text="'+b(c(a))+'"':"")+("undefined"!=typeof g||null!==g?' data-tokens="'+g+'"':"")+">"+a+'<span class="'+d.options.iconBase+" "+d.options.tickIcon+' check-mark"></span></a>'};if(this.options.title&&!this.multiple&&(h--,!this.$element.find(".bs-title-option").length)){var k=this.$element[0];g.className="bs-title-option",g.appendChild(document.createTextNode(this.options.title)),g.value="",k.insertBefore(g,k.firstChild),void 0===a(k.options[k.selectedIndex]).attr("selected")&&(g.selected=!0)}return this.$element.find("option").each(function(b){var c=a(this);if(h++,!c.hasClass("bs-title-option")){var g=this.className||"",k=this.style.cssText,l=c.data("content")?c.data("content"):c.html(),m=c.data("tokens")?c.data("tokens"):null,n="undefined"!=typeof c.data("subtext")?'<small class="text-muted">'+c.data("subtext")+"</small>":"",o="undefined"!=typeof c.data("icon")?'<span class="'+d.options.iconBase+" "+c.data("icon")+'"></span> ':"",p=this.disabled||"OPTGROUP"===this.parentNode.tagName&&this.parentNode.disabled;if(""!==o&&p&&(o="<span>"+o+"</span>"),d.options.hideDisabled&&p)return void h--;if(c.data("content")||(l=o+'<span class="text">'+l+n+"</span>"),"OPTGROUP"===this.parentNode.tagName&&c.data("divider")!==!0){var q=" "+this.parentNode.className||"";if(0===c.index()){f+=1;var r=this.parentNode.label,s="undefined"!=typeof c.parent().data("subtext")?'<small class="text-muted">'+c.parent().data("subtext")+"</small>":"",t=c.parent().data("icon")?'<span class="'+d.options.iconBase+" "+c.parent().data("icon")+'"></span> ':"";r=t+'<span class="text">'+r+s+"</span>",0!==b&&e.length>0&&(h++,e.push(i("",null,"divider",f+"div"))),h++,e.push(i(r,null,"dropdown-header"+q,f))}e.push(i(j(l,"opt "+g+q,k,m),b,"",f))}else c.data("divider")===!0?e.push(i("",b,"divider")):c.data("hidden")===!0?e.push(i(j(l,g,k,m),b,"hidden is-hidden")):(this.previousElementSibling&&"OPTGROUP"===this.previousElementSibling.tagName&&(h++,e.push(i("",null,"divider",f+"div"))),e.push(i(j(l,g,k,m),b)));d.liObj[b]=h}}),this.multiple||0!==this.$element.find("option:selected").length||this.options.title||this.$element.find("option").eq(0).prop("selected",!0).attr("selected","selected"),e.join("")},findLis:function(){return null==this.$lis&&(this.$lis=this.$menu.find("li")),this.$lis},render:function(b){var c,d=this;b!==!1&&this.$element.find("option").each(function(a){var b=d.findLis().eq(d.liObj[a]);d.setDisabled(a,this.disabled||"OPTGROUP"===this.parentNode.tagName&&this.parentNode.disabled,b),d.setSelected(a,this.selected,b)}),this.tabIndex();var e=this.$element.find("option").map(function(){if(this.selected){if(d.options.hideDisabled&&(this.disabled||"OPTGROUP"===this.parentNode.tagName&&this.parentNode.disabled))return;var b,c=a(this),e=c.data("icon")&&d.options.showIcon?'<i class="'+d.options.iconBase+" "+c.data("icon")+'"></i> ':"";return b=d.options.showSubtext&&c.data("subtext")&&!d.multiple?' <small class="text-muted">'+c.data("subtext")+"</small>":"","undefined"!=typeof c.attr("title")?c.attr("title"):c.data("content")&&d.options.showContent?c.data("content"):e+c.html()+b}}).toArray(),f=this.multiple?e.join(this.options.multipleSeparator):e[0];if(this.multiple&&this.options.selectedTextFormat.indexOf("count")>-1){var g=this.options.selectedTextFormat.split(">");if(g.length>1&&e.length>g[1]||1==g.length&&e.length>=2){c=this.options.hideDisabled?", [disabled]":"";var h=this.$element.find("option").not('[data-divider="true"], [data-hidden="true"]'+c).length,i="function"==typeof this.options.countSelectedText?this.options.countSelectedText(e.length,h):this.options.countSelectedText;f=i.replace("{0}",e.length.toString()).replace("{1}",h.toString())}}void 0==this.options.title&&(this.options.title=this.$element.attr("title")),"static"==this.options.selectedTextFormat&&(f=this.options.title),f||(f="undefined"!=typeof this.options.title?this.options.title:this.options.noneSelectedText),this.$button.attr("title",a.trim(f.replace(/<[^>]*>?/g,""))),this.$button.children(".filter-option").html(f),this.$element.trigger("rendered.bs.select")},setStyle:function(a,b){this.$element.attr("class")&&this.$newElement.addClass(this.$element.attr("class").replace(/selectpicker|mobile-device|bs-select-hidden|validate\[.*\]/gi,""));var c=a?a:this.options.style;"add"==b?this.$button.addClass(c):"remove"==b?this.$button.removeClass(c):(this.$button.removeClass(this.options.style),this.$button.addClass(c))},liHeight:function(b){if(b||this.options.size!==!1&&!this.sizeInfo){var c=document.createElement("div"),d=document.createElement("div"),e=document.createElement("ul"),f=document.createElement("li"),g=document.createElement("li"),h=document.createElement("a"),i=document.createElement("span"),j=this.options.header?this.$menu.find(".popover-title")[0].cloneNode(!0):null,k=this.options.liveSearch?document.createElement("div"):null,l=this.options.actionsBox&&this.multiple?this.$menu.find(".bs-actionsbox")[0].cloneNode(!0):null,m=this.options.doneButton&&this.multiple?this.$menu.find(".bs-donebutton")[0].cloneNode(!0):null;if(i.className="text",c.className=this.$menu[0].parentNode.className+" open",d.className="dropdown-menu open",e.className="dropdown-menu inner",f.className="divider",i.appendChild(document.createTextNode("Inner text")),h.appendChild(i),g.appendChild(h),e.appendChild(g),e.appendChild(f),j&&d.appendChild(j),k){var n=document.createElement("span");k.className="bs-searchbox",n.className="form-control",k.appendChild(n),d.appendChild(k)}l&&d.appendChild(l),d.appendChild(e),m&&d.appendChild(m),c.appendChild(d),document.body.appendChild(c);var o=h.offsetHeight,p=j?j.offsetHeight:0,q=k?k.offsetHeight:0,r=l?l.offsetHeight:0,s=m?m.offsetHeight:0,t=a(f).outerHeight(!0),u="function"==typeof getComputedStyle?getComputedStyle(d):!1,v=u?null:a(d),w=parseInt(u?u.paddingTop:v.css("paddingTop"))+parseInt(u?u.paddingBottom:v.css("paddingBottom"))+parseInt(u?u.borderTopWidth:v.css("borderTopWidth"))+parseInt(u?u.borderBottomWidth:v.css("borderBottomWidth")),x=w+parseInt(u?u.marginTop:v.css("marginTop"))+parseInt(u?u.marginBottom:v.css("marginBottom"))+2;document.body.removeChild(c),this.sizeInfo={liHeight:o,headerHeight:p,searchHeight:q,actionsHeight:r,doneButtonHeight:s,dividerHeight:t,menuPadding:w,menuExtras:x}}},setSize:function(){if(this.findLis(),this.liHeight(),this.options.header&&this.$menu.css("padding-top",0),this.options.size!==!1){var b,c,d,e,f=this,g=this.$menu,h=this.$menuInner,i=a(window),j=this.$newElement[0].offsetHeight,k=this.sizeInfo.liHeight,l=this.sizeInfo.headerHeight,m=this.sizeInfo.searchHeight,n=this.sizeInfo.actionsHeight,o=this.sizeInfo.doneButtonHeight,p=this.sizeInfo.dividerHeight,q=this.sizeInfo.menuPadding,r=this.sizeInfo.menuExtras,s=this.options.hideDisabled?".disabled":"",t=function(){d=f.$newElement.offset().top-i.scrollTop(),e=i.height()-d-j};if(t(),"auto"===this.options.size){var u=function(){var i,j=function(b,c){return function(d){return c?d.classList?d.classList.contains(b):a(d).hasClass(b):!(d.classList?d.classList.contains(b):a(d).hasClass(b))}},p=f.$menuInner[0].getElementsByTagName("li"),s=Array.prototype.filter?Array.prototype.filter.call(p,j("hidden",!1)):f.$lis.not(".hidden"),u=Array.prototype.filter?Array.prototype.filter.call(s,j("dropdown-header",!0)):s.filter(".dropdown-header");t(),b=e-r,f.options.container?(g.data("height")||g.data("height",g.height()),c=g.data("height")):c=g.height(),f.options.dropupAuto&&f.$newElement.toggleClass("dropup",d>e&&c>b-r),f.$newElement.hasClass("dropup")&&(b=d-r),i=s.length+u.length>3?3*k+r-2:0,g.css({"max-height":b+"px",overflow:"hidden","min-height":i+l+m+n+o+"px"}),h.css({"max-height":b-l-m-n-o-q+"px","overflow-y":"auto","min-height":Math.max(i-q,0)+"px"})};u(),this.$searchbox.off("input.getSize propertychange.getSize").on("input.getSize propertychange.getSize",u),i.off("resize.getSize scroll.getSize").on("resize.getSize scroll.getSize",u)}else if(this.options.size&&"auto"!=this.options.size&&this.$lis.not(s).length>this.options.size){var v=this.$lis.not(".divider").not(s).children().slice(0,this.options.size).last().parent().index(),w=this.$lis.slice(0,v+1).filter(".divider").length;b=k*this.options.size+w*p+q,f.options.container?(g.data("height")||g.data("height",g.height()),c=g.data("height")):c=g.height(),f.options.dropupAuto&&this.$newElement.toggleClass("dropup",d>e&&c>b-r),g.css({"max-height":b+l+m+n+o+"px",overflow:"hidden","min-height":""}),h.css({"max-height":b-q+"px","overflow-y":"auto","min-height":""})}}},setWidth:function(){if("auto"===this.options.width){this.$menu.css("min-width","0");var a=this.$menu.parent().clone().appendTo("body"),b=this.options.container?this.$newElement.clone().appendTo("body"):a,c=a.children(".dropdown-menu").outerWidth(),d=b.css("width","auto").children("button").outerWidth();a.remove(),b.remove(),this.$newElement.css("width",Math.max(c,d)+"px")}else"fit"===this.options.width?(this.$menu.css("min-width",""),this.$newElement.css("width","").addClass("fit-width")):this.options.width?(this.$menu.css("min-width",""),this.$newElement.css("width",this.options.width)):(this.$menu.css("min-width",""),this.$newElement.css("width",""));this.$newElement.hasClass("fit-width")&&"fit"!==this.options.width&&this.$newElement.removeClass("fit-width")},selectPosition:function(){var b,c,d=this,e=a('<div class="bs-container" />'),f=function(a){e.addClass(a.attr("class").replace(/form-control|fit-width/gi,"")).toggleClass("dropup",a.hasClass("dropup")),b=a.offset(),c=a.hasClass("dropup")?0:a[0].offsetHeight,e.css({top:b.top+c,left:b.left,width:a[0].offsetWidth})};this.$newElement.on("click",function(){d.isDisabled()||(f(a(this)),e.appendTo(d.options.container),e.toggleClass("open",!a(this).hasClass("open")),e.append(d.$menu))}),a(window).on("resize scroll",function(){f(d.$newElement)}),this.$element.on("hide.bs.select",function(){d.$menu.data("height",d.$menu.height()),e.detach()})},setSelected:function(a,b,c){c||(c=this.findLis().eq(this.liObj[a])),c.toggleClass("selected",b)},setDisabled:function(a,b,c){c||(c=this.findLis().eq(this.liObj[a])),b?c.addClass("disabled").children("a").attr("href","#").attr("tabindex",-1):c.removeClass("disabled").children("a").removeAttr("href").attr("tabindex",0)},isDisabled:function(){return this.$element[0].disabled},checkDisabled:function(){var a=this;this.isDisabled()?(this.$newElement.addClass("disabled"),this.$button.addClass("disabled").attr("tabindex",-1)):(this.$button.hasClass("disabled")&&(this.$newElement.removeClass("disabled"),this.$button.removeClass("disabled")),-1!=this.$button.attr("tabindex")||this.$element.data("tabindex")||this.$button.removeAttr("tabindex")),this.$button.click(function(){return!a.isDisabled()})},tabIndex:function(){this.$element.is("[tabindex]")&&(this.$element.data("tabindex",this.$element.attr("tabindex")),this.$button.attr("tabindex",this.$element.data("tabindex")))},clickListener:function(){var b=this,c=a(document);this.$newElement.on("touchstart.dropdown",".dropdown-menu",function(a){a.stopPropagation()}),c.data("spaceSelect",!1),this.$button.on("keyup",function(a){/(32)/.test(a.keyCode.toString(10))&&c.data("spaceSelect")&&(a.preventDefault(),c.data("spaceSelect",!1))}),this.$newElement.on("click",function(){b.setSize(),b.$element.on("shown.bs.select",function(){if(b.options.liveSearch||b.multiple){if(!b.multiple){var a=b.liObj[b.$element[0].selectedIndex];if("number"!=typeof a||b.options.size===!1)return;var c=b.$lis.eq(a)[0].offsetTop-b.$menuInner[0].offsetTop;c=c-b.$menuInner[0].offsetHeight/2+b.sizeInfo.liHeight/2,b.$menuInner[0].scrollTop=c}}else b.$menuInner.find(".selected a").focus()})}),this.$menuInner.on("click","li a",function(c){var d=a(this),e=d.parent().data("originalIndex"),f=b.$element.val(),g=b.$element.prop("selectedIndex");if(b.multiple&&c.stopPropagation(),c.preventDefault(),!b.isDisabled()&&!d.parent().hasClass("disabled")){var h=b.$element.find("option"),i=h.eq(e),j=i.prop("selected"),k=i.parent("optgroup"),l=b.options.maxOptions,m=k.data("maxOptions")||!1;if(b.multiple){if(i.prop("selected",!j),b.setSelected(e,!j),d.blur(),l!==!1||m!==!1){var n=l<h.filter(":selected").length,o=m<k.find("option:selected").length;if(l&&n||m&&o)if(l&&1==l)h.prop("selected",!1),i.prop("selected",!0),b.$menuInner.find(".selected").removeClass("selected"),b.setSelected(e,!0);else if(m&&1==m){k.find("option:selected").prop("selected",!1),i.prop("selected",!0);var p=d.parent().data("optgroup");b.$menuInner.find('[data-optgroup="'+p+'"]').removeClass("selected"),b.setSelected(e,!0)}else{var q="function"==typeof b.options.maxOptionsText?b.options.maxOptionsText(l,m):b.options.maxOptionsText,r=q[0].replace("{n}",l),s=q[1].replace("{n}",m),t=a('<div class="notify"></div>');q[2]&&(r=r.replace("{var}",q[2][l>1?0:1]),s=s.replace("{var}",q[2][m>1?0:1])),i.prop("selected",!1),b.$menu.append(t),l&&n&&(t.append(a("<div>"+r+"</div>")),b.$element.trigger("maxReached.bs.select")),m&&o&&(t.append(a("<div>"+s+"</div>")),b.$element.trigger("maxReachedGrp.bs.select")),setTimeout(function(){b.setSelected(e,!1)},10),t.delay(750).fadeOut(300,function(){a(this).remove()})}}}else h.prop("selected",!1),i.prop("selected",!0),b.$menuInner.find(".selected").removeClass("selected"),b.setSelected(e,!0);b.multiple?b.options.liveSearch&&b.$searchbox.focus():b.$button.focus(),(f!=b.$element.val()&&b.multiple||g!=b.$element.prop("selectedIndex")&&!b.multiple)&&(b.$element.triggerNative("change"),b.$element.trigger("changed.bs.select",[e,i.prop("selected"),j]))}}),this.$menu.on("click","li.disabled a, .popover-title, .popover-title :not(.close)",function(c){c.currentTarget==this&&(c.preventDefault(),c.stopPropagation(),b.options.liveSearch&&!a(c.target).hasClass("close")?b.$searchbox.focus():b.$button.focus())}),this.$menuInner.on("click",".divider, .dropdown-header",function(a){a.preventDefault(),a.stopPropagation(),b.options.liveSearch?b.$searchbox.focus():b.$button.focus()}),this.$menu.on("click",".popover-title .close",function(){b.$button.click()}),this.$searchbox.on("click",function(a){a.stopPropagation()}),this.$menu.on("click",".actions-btn",function(c){b.options.liveSearch?b.$searchbox.focus():b.$button.focus(),c.preventDefault(),c.stopPropagation(),a(this).hasClass("bs-select-all")?b.selectAll():b.deselectAll(),b.$element.triggerNative("change")}),this.$element.change(function(){b.render(!1)})},liveSearchListener:function(){var d=this,e=a('<li class="no-results"></li>');this.$newElement.on("click.dropdown.data-api touchstart.dropdown.data-api",function(){d.$menuInner.find(".active").removeClass("active"),d.$searchbox.val()&&(d.$searchbox.val(""),d.$lis.not(".is-hidden").removeClass("hidden"),e.parent().length&&e.remove()),d.multiple||d.$menuInner.find(".selected").addClass("active"),setTimeout(function(){d.$searchbox.focus()},10)}),this.$searchbox.on("click.dropdown.data-api focus.dropdown.data-api touchend.dropdown.data-api",function(a){a.stopPropagation()}),this.$searchbox.on("input propertychange",function(){if(d.$searchbox.val()){var f=d.$lis.not(".is-hidden").removeClass("hidden").children("a");f=d.options.liveSearchNormalize?f.not(":a"+d._searchStyle()+'("'+b(d.$searchbox.val())+'")'):f.not(":"+d._searchStyle()+'("'+d.$searchbox.val()+'")'),f.parent().addClass("hidden"),d.$lis.filter(".dropdown-header").each(function(){var b=a(this),c=b.data("optgroup");0===d.$lis.filter("[data-optgroup="+c+"]").not(b).not(".hidden").length&&(b.addClass("hidden"),d.$lis.filter("[data-optgroup="+c+"div]").addClass("hidden"))});var g=d.$lis.not(".hidden");g.each(function(b){var c=a(this);c.hasClass("divider")&&(c.index()===g.first().index()||c.index()===g.last().index()||g.eq(b+1).hasClass("divider"))&&c.addClass("hidden")}),d.$lis.not(".hidden, .no-results").length?e.parent().length&&e.remove():(e.parent().length&&e.remove(),e.html(d.options.noneResultsText.replace("{0}",'"'+c(d.$searchbox.val())+'"')).show(),d.$menuInner.append(e))}else d.$lis.not(".is-hidden").removeClass("hidden"),e.parent().length&&e.remove();d.$lis.filter(".active").removeClass("active"),d.$searchbox.val()&&d.$lis.not(".hidden, .divider, .dropdown-header").eq(0).addClass("active").children("a").focus(),a(this).focus()})},_searchStyle:function(){var a={begins:"ibegins",startsWith:"ibegins"};return a[this.options.liveSearchStyle]||"icontains"},val:function(a){return"undefined"!=typeof a?(this.$element.val(a),this.render(),this.$element):this.$element.val()},changeAll:function(b){"undefined"==typeof b&&(b=!0),this.findLis();for(var c=this.$element.find("option"),d=this.$lis.not(".divider, .dropdown-header, .disabled, .hidden").toggleClass("selected",b),e=d.length,f=[],g=0;e>g;g++){var h=d[g].getAttribute("data-original-index");f[f.length]=c.eq(h)[0]}a(f).prop("selected",b),this.render(!1)},selectAll:function(){return this.changeAll(!0)},deselectAll:function(){return this.changeAll(!1)},keydown:function(c){var d,e,f,g,h,i,j,k,l,m=a(this),n=m.is("input")?m.parent().parent():m.parent(),o=n.data("this"),p=":not(.disabled, .hidden, .dropdown-header, .divider)",q={32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9"};if(o.options.liveSearch&&(n=m.parent().parent()),o.options.container&&(n=o.$menu),d=a("[role=menu] li",n),l=o.$menu.parent().hasClass("open"),!l&&(c.keyCode>=48&&c.keyCode<=57||c.keyCode>=96&&c.keyCode<=105||c.keyCode>=65&&c.keyCode<=90)&&(o.options.container?o.$newElement.trigger("click"):(o.setSize(),o.$menu.parent().addClass("open"),l=!0),o.$searchbox.focus()),o.options.liveSearch&&(/(^9$|27)/.test(c.keyCode.toString(10))&&l&&0===o.$menu.find(".active").length&&(c.preventDefault(),o.$menu.parent().removeClass("open"),o.options.container&&o.$newElement.removeClass("open"),o.$button.focus()),d=a("[role=menu] li"+p,n),m.val()||/(38|40)/.test(c.keyCode.toString(10))||0===d.filter(".active").length&&(d=o.$menuInner.find("li"),d=o.options.liveSearchNormalize?d.filter(":a"+o._searchStyle()+"("+b(q[c.keyCode])+")"):d.filter(":"+o._searchStyle()+"("+q[c.keyCode]+")"))),d.length){if(/(38|40)/.test(c.keyCode.toString(10)))e=d.index(d.find("a").filter(":focus").parent()),g=d.filter(p).first().index(),h=d.filter(p).last().index(),f=d.eq(e).nextAll(p).eq(0).index(),i=d.eq(e).prevAll(p).eq(0).index(),j=d.eq(f).prevAll(p).eq(0).index(),o.options.liveSearch&&(d.each(function(b){a(this).hasClass("disabled")||a(this).data("index",b)}),e=d.index(d.filter(".active")),g=d.first().data("index"),h=d.last().data("index"),f=d.eq(e).nextAll().eq(0).data("index"),i=d.eq(e).prevAll().eq(0).data("index"),j=d.eq(f).prevAll().eq(0).data("index")),k=m.data("prevIndex"),38==c.keyCode?(o.options.liveSearch&&e--,e!=j&&e>i&&(e=i),g>e&&(e=g),e==k&&(e=h)):40==c.keyCode&&(o.options.liveSearch&&e++,-1==e&&(e=0),e!=j&&f>e&&(e=f),e>h&&(e=h),e==k&&(e=g)),m.data("prevIndex",e),o.options.liveSearch?(c.preventDefault(),m.hasClass("dropdown-toggle")||(d.removeClass("active").eq(e).addClass("active").children("a").focus(),m.focus())):d.eq(e).children("a").focus();else if(!m.is("input")){var r,s,t=[];d.each(function(){a(this).hasClass("disabled")||a.trim(a(this).children("a").text().toLowerCase()).substring(0,1)==q[c.keyCode]&&t.push(a(this).index())}),r=a(document).data("keycount"),r++,a(document).data("keycount",r),s=a.trim(a(":focus").text().toLowerCase()).substring(0,1),s!=q[c.keyCode]?(r=1,a(document).data("keycount",r)):r>=t.length&&(a(document).data("keycount",0),r>t.length&&(r=1)),d.eq(t[r-1]).children("a").focus()}if((/(13|32)/.test(c.keyCode.toString(10))||/(^9$)/.test(c.keyCode.toString(10))&&o.options.selectOnTab)&&l){if(/(32)/.test(c.keyCode.toString(10))||c.preventDefault(),o.options.liveSearch)/(32)/.test(c.keyCode.toString(10))||(o.$menuInner.find(".active a").click(),m.focus());else{var u=a(":focus");u.click(),u.focus(),c.preventDefault(),a(document).data("spaceSelect",!0)}a(document).data("keycount",0)}(/(^9$|27)/.test(c.keyCode.toString(10))&&l&&(o.multiple||o.options.liveSearch)||/(27)/.test(c.keyCode.toString(10))&&!l)&&(o.$menu.parent().removeClass("open"),o.options.container&&o.$newElement.removeClass("open"),o.$button.focus())}},mobile:function(){this.$element.addClass("mobile-device").appendTo(this.$newElement),this.options.container&&this.$menu.hide()},refresh:function(){this.$lis=null,this.liObj={},this.reloadLi(),this.render(),this.checkDisabled(),this.liHeight(!0),this.setStyle(),this.setWidth(),this.$lis&&this.$searchbox.trigger("propertychange"),this.$element.trigger("refreshed.bs.select")},hide:function(){this.$newElement.hide()},show:function(){this.$newElement.show()},remove:function(){this.$newElement.remove(),this.$element.remove()}};var f=a.fn.selectpicker;a.fn.selectpicker=d,a.fn.selectpicker.Constructor=e,a.fn.selectpicker.noConflict=function(){return a.fn.selectpicker=f,this},a(document).data("keycount",0).on("keydown",'.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="menu"], .bs-searchbox input',e.prototype.keydown).on("focusin.modal",'.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="menu"], .bs-searchbox input',function(a){a.stopPropagation()}),a(window).on("load.bs.select.data-api",function(){a(".selectpicker").each(function(){var b=a(this);d.call(b,b.data())})})}(a)}),angular.module("checklist-model",[]).directive("checklistModel",["$parse","$compile",function(a,b){function c(a,b,c){if(angular.isArray(a))for(var d=a.length;d--;)if(c(a[d],b))return!0;return!1}function d(a,b,d){return a=angular.isArray(a)?a:[],c(a,b,d)||a.push(b),a}function e(a,b,c){if(angular.isArray(a))for(var d=a.length;d--;)if(c(a[d],b)){a.splice(d,1);break}return a}function f(f,g,h){function i(a,b){f[h.ngModel]=c(a,n,o)}var j=h.checklistModel;h.$set("checklistModel",null),b(g)(f),h.$set("checklistModel",j);var k=a(j),l=k.assign,m=a(h.checklistChange),n=h.checklistValue?a(h.checklistValue)(f.$parent):h.value,o=angular.equals;if(h.hasOwnProperty("checklistComparator"))if("."==h.checklistComparator[0]){var p=h.checklistComparator.substring(1);o=function(a,b){return a[p]===b[p]}}else o=a(h.checklistComparator)(f.$parent);f.$watch(h.ngModel,function(a,b){if(a!==b){var c=k(f.$parent);angular.isFunction(l)&&(a===!0?l(f.$parent,d(c,n,o)):l(f.$parent,e(c,n,o))),m&&m(f)}}),angular.isFunction(f.$parent.$watchCollection)?f.$parent.$watchCollection(j,i):f.$parent.$watch(j,i,!0)}return{restrict:"A",priority:1e3,terminal:!0,scope:!0,compile:function(a,b){if(("INPUT"!==a[0].tagName||"checkbox"!==b.type)&&"MD-CHECKBOX"!==a[0].tagName&&!b.btnCheckbox)throw'checklist-model should be applied to `input[type="checkbox"]` or `md-checkbox`.';if(!b.checklistValue&&!b.value)throw"You should provide `value` or `checklist-value`.";return b.ngModel||b.$set("ngModel","checked"),f}}}]),function(a,b,c){"use strict";a.fn.backstretch=function(d,f){return(d===c||0===d.length)&&a.error("No images were supplied for Backstretch"),0===a(b).scrollTop()&&b.scrollTo(0,0),this.each(function(){var b=a(this),c=b.data("backstretch");if(c){if("string"==typeof d&&"function"==typeof c[d])return void c[d](f);f=a.extend(c.options,f),c.destroy(!0)}c=new e(this,d,f),b.data("backstretch",c)})},a.backstretch=function(b,c){return a("body").backstretch(b,c).data("backstretch")},a.expr[":"].backstretch=function(b){return a(b).data("backstretch")!==c},a.fn.backstretch.defaults={centeredX:!0,centeredY:!0,duration:5e3,fade:0};var d={wrap:{left:0,top:0,overflow:"hidden",margin:0,padding:0,height:"100%",width:"100%",zIndex:-999999},img:{position:"absolute",display:"none",margin:0,padding:0,border:"none",width:"auto",height:"auto",maxHeight:"none",maxWidth:"none",zIndex:-999999}},e=function(c,e,g){this.options=a.extend({},a.fn.backstretch.defaults,g||{}),this.images=a.isArray(e)?e:[e],a.each(this.images,function(){a("<img />")[0].src=this}),this.isBody=c===document.body,this.$container=a(c),this.$root=this.isBody?a(f?b:document):this.$container;var h=this.$container.children(".backstretch").first();if(this.$wrap=h.length?h:a('<div class="backstretch"></div>').css(d.wrap).appendTo(this.$container),!this.isBody){var i=this.$container.css("position"),j=this.$container.css("zIndex");this.$container.css({position:"static"===i?"relative":i,zIndex:"auto"===j?0:j,background:"none"}),this.$wrap.css({zIndex:-999998})}this.$wrap.css({position:this.isBody&&f?"fixed":"absolute"}),this.index=0,this.show(this.index),a(b).on("resize.backstretch",a.proxy(this.resize,this)).on("orientationchange.backstretch",a.proxy(function(){this.isBody&&0===b.pageYOffset&&(b.scrollTo(0,1),this.resize())},this))};e.prototype={resize:function(){try{var a,c={left:0,top:0},d=this.isBody?this.$root.width():this.$root.innerWidth(),e=d,f=this.isBody?b.innerHeight?b.innerHeight:this.$root.height():this.$root.innerHeight(),g=e/this.$img.data("ratio");g>=f?(a=(g-f)/2,this.options.centeredY&&(c.top="-"+a+"px")):(g=f,e=g*this.$img.data("ratio"),a=(e-d)/2,this.options.centeredX&&(c.left="-"+a+"px")),this.$wrap.css({width:d,height:f}).find("img:not(.deleteable)").css({width:e,height:g}).css(c)}catch(h){}return this},show:function(b){if(!(Math.abs(b)>this.images.length-1)){var c=this,e=c.$wrap.find("img").addClass("deleteable"),f={relatedTarget:c.$container[0]};return c.$container.trigger(a.Event("backstretch.before",f),[c,b]),this.index=b,clearInterval(c.interval),c.$img=a("<img />").css(d.img).bind("load",function(d){var g=this.width||a(d.target).width(),h=this.height||a(d.target).height();a(this).data("ratio",g/h),a(this).fadeIn(c.options.speed||c.options.fade,function(){e.remove(),c.paused||c.cycle(),a(["after","show"]).each(function(){c.$container.trigger(a.Event("backstretch."+this,f),[c,b])})}),c.resize()}).appendTo(c.$wrap),c.$img.attr("src",c.images[b]),c}},next:function(){return this.show(this.index<this.images.length-1?this.index+1:0)},prev:function(){return this.show(0===this.index?this.images.length-1:this.index-1)},pause:function(){return this.paused=!0,this},resume:function(){return this.paused=!1,this.next(),this},cycle:function(){return this.images.length>1&&(clearInterval(this.interval),this.interval=setInterval(a.proxy(function(){this.paused||this.next()},this),this.options.duration)),this},destroy:function(c){a(b).off("resize.backstretch orientationchange.backstretch"),clearInterval(this.interval),c||this.$wrap.remove(),this.$container.removeData("backstretch")}};var f=function(){var a=navigator.userAgent,c=navigator.platform,d=a.match(/AppleWebKit\/([0-9]+)/),e=!!d&&d[1],f=a.match(/Fennec\/([0-9]+)/),g=!!f&&f[1],h=a.match(/Opera Mobi\/([0-9]+)/),i=!!h&&h[1],j=a.match(/MSIE ([0-9]+)/),k=!!j&&j[1];return!((c.indexOf("iPhone")>-1||c.indexOf("iPad")>-1||c.indexOf("iPod")>-1)&&e&&534>e||b.operamini&&"[object OperaMini]"==={}.toString.call(b.operamini)||h&&7458>i||a.indexOf("Android")>-1&&e&&533>e||g&&6>g||"palmGetResource"in b&&e&&534>e||a.indexOf("MeeGo")>-1&&a.indexOf("NokiaBrowser/8.5.0")>-1||k&&6>=k)}()}(jQuery,window),function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){function b(a){return h.raw?a:encodeURIComponent(a)}function c(a){return h.raw?a:decodeURIComponent(a)}function d(a){return b(h.json?JSON.stringify(a):String(a))}function e(a){0===a.indexOf('"')&&(a=a.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{return a=decodeURIComponent(a.replace(g," ")),h.json?JSON.parse(a):a}catch(b){}}function f(b,c){var d=h.raw?b:e(b);return a.isFunction(c)?c(d):d}var g=/\+/g,h=a.cookie=function(e,g,i){if(void 0!==g&&!a.isFunction(g)){if(i=a.extend({},h.defaults,i),"number"==typeof i.expires){var j=i.expires,k=i.expires=new Date;k.setTime(+k+864e5*j)}return document.cookie=[b(e),"=",d(g),i.expires?"; expires="+i.expires.toUTCString():"",i.path?"; path="+i.path:"",i.domain?"; domain="+i.domain:"",i.secure?"; secure":""].join("")}for(var l=e?void 0:{},m=document.cookie?document.cookie.split("; "):[],n=0,o=m.length;o>n;n++){var p=m[n].split("="),q=c(p.shift()),r=p.join("=");
+if(e&&e===q){l=f(r,g);break}e||void 0===(r=f(r))||(l[q]=r)}return l};h.defaults={},a.removeCookie=function(b,c){return void 0===a.cookie(b)?!1:(a.cookie(b,"",a.extend({},c,{expires:-1})),!a.cookie(b))}}),function(a,b,c){function d(c){var d=b.console;f[c]||(f[c]=!0,a.migrateWarnings.push(c),d&&d.warn&&!a.migrateMute&&(d.warn("JQMIGRATE: "+c),a.migrateTrace&&d.trace&&d.trace()))}function e(b,c,e,f){if(Object.defineProperty)try{return void Object.defineProperty(b,c,{configurable:!0,enumerable:!0,get:function(){return d(f),e},set:function(a){d(f),e=a}})}catch(g){}a._definePropertyBroken=!0,b[c]=e}var f={};a.migrateWarnings=[],!a.migrateMute&&b.console&&b.console.log&&b.console.log("JQMIGRATE: Logging is active"),a.migrateTrace===c&&(a.migrateTrace=!0),a.migrateReset=function(){f={},a.migrateWarnings.length=0},"BackCompat"===document.compatMode&&d("jQuery is not compatible with Quirks Mode");var g=a("<input/>",{size:1}).attr("size")&&a.attrFn,h=a.attr,i=a.attrHooks.value&&a.attrHooks.value.get||function(){return null},j=a.attrHooks.value&&a.attrHooks.value.set||function(){return c},k=/^(?:input|button)$/i,l=/^[238]$/,m=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,n=/^(?:checked|selected)$/i;e(a,"attrFn",g||{},"jQuery.attrFn is deprecated"),a.attr=function(b,e,f,i){var j=e.toLowerCase(),o=b&&b.nodeType;return i&&(h.length<4&&d("jQuery.fn.attr( props, pass ) is deprecated"),b&&!l.test(o)&&(g?e in g:a.isFunction(a.fn[e])))?a(b)[e](f):("type"===e&&f!==c&&k.test(b.nodeName)&&b.parentNode&&d("Can't change the 'type' of an input or button in IE 6/7/8"),!a.attrHooks[j]&&m.test(j)&&(a.attrHooks[j]={get:function(b,d){var e,f=a.prop(b,d);return f===!0||"boolean"!=typeof f&&(e=b.getAttributeNode(d))&&e.nodeValue!==!1?d.toLowerCase():c},set:function(b,c,d){var e;return c===!1?a.removeAttr(b,d):(e=a.propFix[d]||d,e in b&&(b[e]=!0),b.setAttribute(d,d.toLowerCase())),d}},n.test(j)&&d("jQuery.fn.attr('"+j+"') may use property instead of attribute")),h.call(a,b,e,f))},a.attrHooks.value={get:function(a,b){var c=(a.nodeName||"").toLowerCase();return"button"===c?i.apply(this,arguments):("input"!==c&&"option"!==c&&d("jQuery.fn.attr('value') no longer gets properties"),b in a?a.value:null)},set:function(a,b){var c=(a.nodeName||"").toLowerCase();return"button"===c?j.apply(this,arguments):("input"!==c&&"option"!==c&&d("jQuery.fn.attr('value', val) no longer sets properties"),void(a.value=b))}};var o,p,q=a.fn.init,r=a.parseJSON,s=/^([^<]*)(<[\w\W]+>)([^>]*)$/;a.fn.init=function(b,c,e){var f;return b&&"string"==typeof b&&!a.isPlainObject(c)&&(f=s.exec(a.trim(b)))&&f[0]&&("<"!==b.charAt(0)&&d("$(html) HTML strings must start with '<' character"),f[3]&&d("$(html) HTML text after last tag is ignored"),"#"===f[0].charAt(0)&&(d("HTML string cannot start with a '#' character"),a.error("JQMIGRATE: Invalid selector string (XSS)")),c&&c.context&&(c=c.context),a.parseHTML)?q.call(this,a.parseHTML(f[2],c,!0),c,e):q.apply(this,arguments)},a.fn.init.prototype=a.fn,a.parseJSON=function(a){return a||null===a?r.apply(this,arguments):(d("jQuery.parseJSON requires a valid JSON string"),null)},a.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.browser||(o=a.uaMatch(navigator.userAgent),p={},o.browser&&(p[o.browser]=!0,p.version=o.version),p.chrome?p.webkit=!0:p.webkit&&(p.safari=!0),a.browser=p),e(a,"browser",a.browser,"jQuery.browser is deprecated"),a.sub=function(){function b(a,c){return new b.fn.init(a,c)}a.extend(!0,b,this),b.superclass=this,b.fn=b.prototype=this(),b.fn.constructor=b,b.sub=this.sub,b.fn.init=function(d,e){return e&&e instanceof a&&!(e instanceof b)&&(e=b(e)),a.fn.init.call(this,d,e,c)},b.fn.init.prototype=b.fn;var c=b(document);return d("jQuery.sub() is deprecated"),b},a.ajaxSetup({converters:{"text json":a.parseJSON}});var t=a.fn.data;a.fn.data=function(b){var e,f,g=this[0];return!g||"events"!==b||1!==arguments.length||(e=a.data(g,b),f=a._data(g,b),e!==c&&e!==f||f===c)?t.apply(this,arguments):(d("Use of jQuery.fn.data('events') is deprecated"),f)};var u=/\/(java|ecma)script/i,v=a.fn.andSelf||a.fn.addBack;a.fn.andSelf=function(){return d("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()"),v.apply(this,arguments)},a.clean||(a.clean=function(b,c,e,f){c=c||document,c=!c.nodeType&&c[0]||c,c=c.ownerDocument||c,d("jQuery.clean() is deprecated");var g,h,i,j,k=[];if(a.merge(k,a.buildFragment(b,c).childNodes),e)for(i=function(a){return!a.type||u.test(a.type)?f?f.push(a.parentNode?a.parentNode.removeChild(a):a):e.appendChild(a):void 0},g=0;null!=(h=k[g]);g++)a.nodeName(h,"script")&&i(h)||(e.appendChild(h),"undefined"!=typeof h.getElementsByTagName&&(j=a.grep(a.merge([],h.getElementsByTagName("script")),i),k.splice.apply(k,[g+1,0].concat(j)),g+=j.length));return k});var w=a.event.add,x=a.event.remove,y=a.event.trigger,z=a.fn.toggle,A=a.fn.live,B=a.fn.die,C="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",D=new RegExp("\\b(?:"+C+")\\b"),E=/(?:^|\s)hover(\.\S+|)\b/,F=function(b){return"string"!=typeof b||a.event.special.hover?b:(E.test(b)&&d("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'"),b&&b.replace(E,"mouseenter$1 mouseleave$1"))};a.event.props&&"attrChange"!==a.event.props[0]&&a.event.props.unshift("attrChange","attrName","relatedNode","srcElement"),a.event.dispatch&&e(a.event,"handle",a.event.dispatch,"jQuery.event.handle is undocumented and deprecated"),a.event.add=function(a,b,c,e,f){a!==document&&D.test(b)&&d("AJAX events should be attached to document: "+b),w.call(this,a,F(b||""),c,e,f)},a.event.remove=function(a,b,c,d,e){x.call(this,a,F(b)||"",c,d,e)},a.fn.error=function(){var a=Array.prototype.slice.call(arguments,0);return d("jQuery.fn.error() is deprecated"),a.splice(0,0,"error"),arguments.length?this.bind.apply(this,a):(this.triggerHandler.apply(this,a),this)},a.fn.toggle=function(b,c){if(!a.isFunction(b)||!a.isFunction(c))return z.apply(this,arguments);d("jQuery.fn.toggle(handler, handler...) is deprecated");var e=arguments,f=b.guid||a.guid++,g=0,h=function(c){var d=(a._data(this,"lastToggle"+b.guid)||0)%g;return a._data(this,"lastToggle"+b.guid,d+1),c.preventDefault(),e[d].apply(this,arguments)||!1};for(h.guid=f;g<e.length;)e[g++].guid=f;return this.click(h)},a.fn.live=function(b,c,e){return d("jQuery.fn.live() is deprecated"),A?A.apply(this,arguments):(a(this.context).on(b,this.selector,c,e),this)},a.fn.die=function(b,c){return d("jQuery.fn.die() is deprecated"),B?B.apply(this,arguments):(a(this.context).off(b,this.selector||"**",c),this)},a.event.trigger=function(a,b,c,e){return c||D.test(a)||d("Global events are undocumented and deprecated"),y.call(this,a,b,c||document,e)},a.each(C.split("|"),function(b,c){a.event.special[c]={setup:function(){var b=this;return b!==document&&(a.event.add(document,c+"."+a.guid,function(){a.event.trigger(c,null,b,!0)}),a._data(this,c,a.guid++)),!1},teardown:function(){return this!==document&&a.event.remove(document,c+"."+a._data(this,c)),!1}}})}(jQuery,window),function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){a.extend(a.fn,{validate:function(b){if(!this.length)return void(b&&b.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var c=a.data(this[0],"validator");return c?c:(this.attr("novalidate","novalidate"),c=new a.validator(b,this[0]),a.data(this[0],"validator",c),c.settings.onsubmit&&(this.on("click.validate",":submit",function(b){c.settings.submitHandler&&(c.submitButton=b.target),a(this).hasClass("cancel")&&(c.cancelSubmit=!0),void 0!==a(this).attr("formnovalidate")&&(c.cancelSubmit=!0)}),this.on("submit.validate",function(b){function d(){var d,e;return c.settings.submitHandler?(c.submitButton&&(d=a("<input type='hidden'/>").attr("name",c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)),e=c.settings.submitHandler.call(c,c.currentForm,b),c.submitButton&&d.remove(),void 0!==e?e:!1):!0}return c.settings.debug&&b.preventDefault(),c.cancelSubmit?(c.cancelSubmit=!1,d()):c.form()?c.pendingRequest?(c.formSubmitted=!0,!1):d():(c.focusInvalid(),!1)})),c)},valid:function(){var b,c,d;return a(this[0]).is("form")?b=this.validate().form():(d=[],b=!0,c=a(this[0].form).validate(),this.each(function(){b=c.element(this)&&b,d=d.concat(c.errorList)}),c.errorList=d),b},rules:function(b,c){var d,e,f,g,h,i,j=this[0];if(b)switch(d=a.data(j.form,"validator").settings,e=d.rules,f=a.validator.staticRules(j),b){case"add":a.extend(f,a.validator.normalizeRule(c)),delete f.messages,e[j.name]=f,c.messages&&(d.messages[j.name]=a.extend(d.messages[j.name],c.messages));break;case"remove":return c?(i={},a.each(c.split(/\s/),function(b,c){i[c]=f[c],delete f[c],"required"===c&&a(j).removeAttr("aria-required")}),i):(delete e[j.name],f)}return g=a.validator.normalizeRules(a.extend({},a.validator.classRules(j),a.validator.attributeRules(j),a.validator.dataRules(j),a.validator.staticRules(j)),j),g.required&&(h=g.required,delete g.required,g=a.extend({required:h},g),a(j).attr("aria-required","true")),g.remote&&(h=g.remote,delete g.remote,g=a.extend(g,{remote:h})),g}}),a.extend(a.expr[":"],{blank:function(b){return!a.trim(""+a(b).val())},filled:function(b){return!!a.trim(""+a(b).val())},unchecked:function(b){return!a(b).prop("checked")}}),a.validator=function(b,c){this.settings=a.extend(!0,{},a.validator.defaults,b),this.currentForm=c,this.init()},a.validator.format=function(b,c){return 1===arguments.length?function(){var c=a.makeArray(arguments);return c.unshift(b),a.validator.format.apply(this,c)}:(arguments.length>2&&c.constructor!==Array&&(c=a.makeArray(arguments).slice(1)),c.constructor!==Array&&(c=[c]),a.each(c,function(a,c){b=b.replace(new RegExp("\\{"+a+"\\}","g"),function(){return c})}),b)},a.extend(a.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:a([]),errorLabelContainer:a([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(a){this.lastActive=a,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(a)))},onfocusout:function(a){this.checkable(a)||!(a.name in this.submitted)&&this.optional(a)||this.element(a)},onkeyup:function(b,c){var d=[16,17,18,20,35,36,37,38,39,40,45,144,225];9===c.which&&""===this.elementValue(b)||-1!==a.inArray(c.keyCode,d)||(b.name in this.submitted||b===this.lastElement)&&this.element(b)},onclick:function(a){a.name in this.submitted?this.element(a):a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).addClass(c).removeClass(d):a(b).addClass(c).removeClass(d)},unhighlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).removeClass(c).addClass(d):a(b).removeClass(c).addClass(d)}},setDefaults:function(b){a.extend(a.validator.defaults,b)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date ( ISO ).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",maxlength:a.validator.format("Please enter no more than {0} characters."),minlength:a.validator.format("Please enter at least {0} characters."),rangelength:a.validator.format("Please enter a value between {0} and {1} characters long."),range:a.validator.format("Please enter a value between {0} and {1}."),max:a.validator.format("Please enter a value less than or equal to {0}."),min:a.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:!1,prototype:{init:function(){function b(b){var c=a.data(this.form,"validator"),d="on"+b.type.replace(/^validate/,""),e=c.settings;e[d]&&!a(this).is(e.ignore)&&e[d].call(c,this,b)}this.labelContainer=a(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||a(this.currentForm),this.containers=a(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var c,d=this.groups={};a.each(this.settings.groups,function(b,c){"string"==typeof c&&(c=c.split(/\s/)),a.each(c,function(a,c){d[c]=b})}),c=this.settings.rules,a.each(c,function(b,d){c[b]=a.validator.normalizeRule(d)}),a(this.currentForm).on("focusin.validate focusout.validate keyup.validate",":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox']",b).on("click.validate","select, option, [type='radio'], [type='checkbox']",b),this.settings.invalidHandler&&a(this.currentForm).on("invalid-form.validate",this.settings.invalidHandler),a(this.currentForm).find("[required], [data-rule-required], .required").attr("aria-required","true")},form:function(){return this.checkForm(),a.extend(this.submitted,this.errorMap),this.invalid=a.extend({},this.errorMap),this.valid()||a(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(b){var c=this.clean(b),d=this.validationTargetFor(c),e=!0;return this.lastElement=d,void 0===d?delete this.invalid[c.name]:(this.prepareElement(d),this.currentElements=a(d),e=this.check(d)!==!1,e?delete this.invalid[d.name]:this.invalid[d.name]=!0),a(b).attr("aria-invalid",!e),this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),e},showErrors:function(b){if(b){a.extend(this.errorMap,b),this.errorList=[];for(var c in b)this.errorList.push({message:b[c],element:this.findByName(c)[0]});this.successList=a.grep(this.successList,function(a){return!(a.name in b)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){a.fn.resetForm&&a(this.currentForm).resetForm(),this.submitted={},this.lastElement=null,this.prepareForm(),this.hideErrors();var b,c=this.elements().removeData("previousValue").removeAttr("aria-invalid");if(this.settings.unhighlight)for(b=0;c[b];b++)this.settings.unhighlight.call(this,c[b],this.settings.errorClass,"");else c.removeClass(this.settings.errorClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b,c=0;for(b in a)c++;return c},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(a){a.not(this.containers).text(""),this.addWrapper(a).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{a(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(b){}},findLastActive:function(){var b=this.lastActive;return b&&1===a.grep(this.errorList,function(a){return a.element.name===b.name}).length&&b},elements:function(){var b=this,c={};return a(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function(){return!this.name&&b.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.name in c||!b.objectLength(a(this).rules())?!1:(c[this.name]=!0,!0)})},clean:function(b){return a(b)[0]},errors:function(){var b=this.settings.errorClass.split(" ").join(".");return a(this.settings.errorElement+"."+b,this.errorContext)},reset:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=a([]),this.toHide=a([]),this.currentElements=a([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(a){this.reset(),this.toHide=this.errorsFor(a)},elementValue:function(b){var c,d=a(b),e=b.type;return"radio"===e||"checkbox"===e?this.findByName(b.name).filter(":checked").val():"number"===e&&"undefined"!=typeof b.validity?b.validity.badInput?!1:d.val():(c=d.val(),"string"==typeof c?c.replace(/\r/g,""):c)},check:function(b){b=this.validationTargetFor(this.clean(b));var c,d,e,f=a(b).rules(),g=a.map(f,function(a,b){return b}).length,h=!1,i=this.elementValue(b);for(d in f){e={method:d,parameters:f[d]};try{if(c=a.validator.methods[d].call(this,i,b,e.parameters),"dependency-mismatch"===c&&1===g){h=!0;continue}if(h=!1,"pending"===c)return void(this.toHide=this.toHide.not(this.errorsFor(b)));if(!c)return this.formatAndAdd(b,e),!1}catch(j){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+b.id+", check the '"+e.method+"' method.",j),j instanceof TypeError&&(j.message+=".  Exception occurred when checking element "+b.id+", check the '"+e.method+"' method."),j}}if(!h)return this.objectLength(f)&&this.successList.push(b),!0},customDataMessage:function(b,c){return a(b).data("msg"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase())||a(b).data("msg")},customMessage:function(a,b){var c=this.settings.messages[a];return c&&(c.constructor===String?c:c[b])},findDefined:function(){for(var a=0;a<arguments.length;a++)if(void 0!==arguments[a])return arguments[a]},defaultMessage:function(b,c){return this.findDefined(this.customMessage(b.name,c),this.customDataMessage(b,c),!this.settings.ignoreTitle&&b.title||void 0,a.validator.messages[c],"<strong>Warning: No message defined for "+b.name+"</strong>")},formatAndAdd:function(b,c){var d=this.defaultMessage(b,c.method),e=/\$?\{(\d+)\}/g;"function"==typeof d?d=d.call(this,c.parameters,b):e.test(d)&&(d=a.validator.format(d.replace(e,"{$1}"),c.parameters)),this.errorList.push({message:d,element:b,method:c.method}),this.errorMap[b.name]=d,this.submitted[b.name]=d},addWrapper:function(a){return this.settings.wrapper&&(a=a.add(a.parent(this.settings.wrapper))),a},defaultShowErrors:function(){var a,b,c;for(a=0;this.errorList[a];a++)c=this.errorList[a],this.settings.highlight&&this.settings.highlight.call(this,c.element,this.settings.errorClass,this.settings.validClass),this.showLabel(c.element,c.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight)for(a=0,b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return a(this.errorList).map(function(){return this.element})},showLabel:function(b,c){var d,e,f,g=this.errorsFor(b),h=this.idOrName(b),i=a(b).attr("aria-describedby");g.length?(g.removeClass(this.settings.validClass).addClass(this.settings.errorClass),g.html(c)):(g=a("<"+this.settings.errorElement+">").attr("id",h+"-error").addClass(this.settings.errorClass).html(c||""),d=g,this.settings.wrapper&&(d=g.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(d):this.settings.errorPlacement?this.settings.errorPlacement(d,a(b)):d.insertAfter(b),g.is("label")?g.attr("for",h):0===g.parents("label[for='"+h+"']").length&&(f=g.attr("id").replace(/(:|\.|\[|\]|\$)/g,"\\$1"),i?i.match(new RegExp("\\b"+f+"\\b"))||(i+=" "+f):i=f,a(b).attr("aria-describedby",i),e=this.groups[b.name],e&&a.each(this.groups,function(b,c){c===e&&a("[name='"+b+"']",this.currentForm).attr("aria-describedby",g.attr("id"))}))),!c&&this.settings.success&&(g.text(""),"string"==typeof this.settings.success?g.addClass(this.settings.success):this.settings.success(g,b)),this.toShow=this.toShow.add(g)},errorsFor:function(b){var c=this.idOrName(b),d=a(b).attr("aria-describedby"),e="label[for='"+c+"'], label[for='"+c+"'] *";return d&&(e=e+", #"+d.replace(/\s+/g,", #")),this.errors().filter(e)},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(b){return this.checkable(b)&&(b=this.findByName(b.name)),a(b).not(this.settings.ignore)[0]},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(b){return a(this.currentForm).find("[name='"+b+"']")},getLength:function(b,c){switch(c.nodeName.toLowerCase()){case"select":return a("option:selected",c).length;case"input":if(this.checkable(c))return this.findByName(c.name).filter(":checked").length}return b.length},depend:function(a,b){return this.dependTypes[typeof a]?this.dependTypes[typeof a](a,b):!0},dependTypes:{"boolean":function(a){return a},string:function(b,c){return!!a(b,c.form).length},"function":function(a,b){return a(b)}},optional:function(b){var c=this.elementValue(b);return!a.validator.methods.required.call(this,c,b)&&"dependency-mismatch"},startRequest:function(a){this.pending[a.name]||(this.pendingRequest++,this.pending[a.name]=!0)},stopRequest:function(b,c){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[b.name],c&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(a(this.currentForm).submit(),this.formSubmitted=!1):!c&&0===this.pendingRequest&&this.formSubmitted&&(a(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(b){return a.data(b,"previousValue")||a.data(b,"previousValue",{old:null,valid:!0,message:this.defaultMessage(b,"remote")})},destroy:function(){this.resetForm(),a(this.currentForm).off(".validate").removeData("validator")}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(b,c){b.constructor===String?this.classRuleSettings[b]=c:a.extend(this.classRuleSettings,b)},classRules:function(b){var c={},d=a(b).attr("class");return d&&a.each(d.split(" "),function(){this in a.validator.classRuleSettings&&a.extend(c,a.validator.classRuleSettings[this])}),c},normalizeAttributeRule:function(a,b,c,d){/min|max/.test(c)&&(null===b||/number|range|text/.test(b))&&(d=Number(d),isNaN(d)&&(d=void 0)),d||0===d?a[c]=d:b===c&&"range"!==b&&(a[c]=!0)},attributeRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)"required"===c?(d=b.getAttribute(c),""===d&&(d=!0),d=!!d):d=f.attr(c),this.normalizeAttributeRule(e,g,c,d);return e.maxlength&&/-1|2147483647|524288/.test(e.maxlength)&&delete e.maxlength,e},dataRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)d=f.data("rule"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase()),this.normalizeAttributeRule(e,g,c,d);return e},staticRules:function(b){var c={},d=a.data(b.form,"validator");return d.settings.rules&&(c=a.validator.normalizeRule(d.settings.rules[b.name])||{}),c},normalizeRules:function(b,c){return a.each(b,function(d,e){if(e===!1)return void delete b[d];if(e.param||e.depends){var f=!0;switch(typeof e.depends){case"string":f=!!a(e.depends,c.form).length;break;case"function":f=e.depends.call(c,c)}f?b[d]=void 0!==e.param?e.param:!0:delete b[d]}}),a.each(b,function(d,e){b[d]=a.isFunction(e)?e(c):e}),a.each(["minlength","maxlength"],function(){b[this]&&(b[this]=Number(b[this]))}),a.each(["rangelength","range"],function(){var c;b[this]&&(a.isArray(b[this])?b[this]=[Number(b[this][0]),Number(b[this][1])]:"string"==typeof b[this]&&(c=b[this].replace(/[\[\]]/g,"").split(/[\s,]+/),b[this]=[Number(c[0]),Number(c[1])]))}),a.validator.autoCreateRanges&&(null!=b.min&&null!=b.max&&(b.range=[b.min,b.max],delete b.min,delete b.max),null!=b.minlength&&null!=b.maxlength&&(b.rangelength=[b.minlength,b.maxlength],delete b.minlength,delete b.maxlength)),b},normalizeRule:function(b){if("string"==typeof b){var c={};a.each(b.split(/\s/),function(){c[this]=!0}),b=c}return b},addMethod:function(b,c,d){a.validator.methods[b]=c,a.validator.messages[b]=void 0!==d?d:a.validator.messages[b],c.length<3&&a.validator.addClassRules(b,a.validator.normalizeRule(b))},methods:{required:function(b,c,d){if(!this.depend(d,c))return"dependency-mismatch";if("select"===c.nodeName.toLowerCase()){var e=a(c).val();return e&&e.length>0}return this.checkable(c)?this.getLength(b,c)>0:b.length>0},email:function(a,b){return this.optional(b)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)},url:function(a,b){return this.optional(b)||/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[\/?#]\S*)?$/i.test(a)},date:function(a,b){return this.optional(b)||!/Invalid|NaN/.test(new Date(a).toString())},dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)},number:function(a,b){return this.optional(b)||/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},creditcard:function(a,b){if(this.optional(b))return"dependency-mismatch";if(/[^0-9 \-]+/.test(a))return!1;var c,d,e=0,f=0,g=!1;if(a=a.replace(/\D/g,""),a.length<13||a.length>19)return!1;for(c=a.length-1;c>=0;c--)d=a.charAt(c),f=parseInt(d,10),g&&(f*=2)>9&&(f-=9),e+=f,g=!g;return e%10===0},minlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d},maxlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||d>=e},rangelength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d[0]&&e<=d[1]},min:function(a,b,c){return this.optional(b)||a>=c},max:function(a,b,c){return this.optional(b)||c>=a},range:function(a,b,c){return this.optional(b)||a>=c[0]&&a<=c[1]},equalTo:function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.off(".validate-equalTo").on("blur.validate-equalTo",function(){a(c).valid()}),b===e.val()},remote:function(b,c,d){if(this.optional(c))return"dependency-mismatch";var e,f,g=this.previousValue(c);return this.settings.messages[c.name]||(this.settings.messages[c.name]={}),g.originalMessage=this.settings.messages[c.name].remote,this.settings.messages[c.name].remote=g.message,d="string"==typeof d&&{url:d}||d,g.old===b?g.valid:(g.old=b,e=this,this.startRequest(c),f={},f[c.name]=b,a.ajax(a.extend(!0,{mode:"abort",port:"validate"+c.name,dataType:"json",data:f,context:e.currentForm,success:function(d){var f,h,i,j=d===!0||"true"===d;e.settings.messages[c.name].remote=g.originalMessage,j?(i=e.formSubmitted,e.prepareElement(c),e.formSubmitted=i,e.successList.push(c),delete e.invalid[c.name],e.showErrors()):(f={},h=d||e.defaultMessage(c,"remote"),f[c.name]=g.message=a.isFunction(h)?h(b):h,e.invalid[c.name]=!0,e.showErrors(f)),g.valid=j,e.stopRequest(c,j)}},d)),"pending")}}});var b,c={};a.ajaxPrefilter?a.ajaxPrefilter(function(a,b,d){var e=a.port;"abort"===a.mode&&(c[e]&&c[e].abort(),c[e]=d)}):(b=a.ajax,a.ajax=function(d){var e=("mode"in d?d:a.ajaxSettings).mode,f=("port"in d?d:a.ajaxSettings).port;return"abort"===e?(c[f]&&c[f].abort(),c[f]=b.apply(this,arguments),c[f]):b.apply(this,arguments)})}),function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){a.fn.addBack=a.fn.addBack||a.fn.andSelf,a.fn.extend({actual:function(b,c){if(!this[b])throw'$.actual => The jQuery method "'+b+'" you called does not exist';var d,e,f={absolute:!1,clone:!1,includeMargin:!1,display:"block"},g=a.extend(f,c),h=this.eq(0);if(g.clone===!0)d=function(){var a="position: absolute !important; top: -1000 !important; ";h=h.clone().attr("style",a).appendTo("body")},e=function(){h.remove()};else{var i,j=[],k="";d=function(){i=h.parents().addBack().filter(":hidden"),k+="visibility: hidden !important; display: "+g.display+" !important; ",g.absolute===!0&&(k+="position: absolute !important; "),i.each(function(){var b=a(this),c=b.attr("style");j.push(c),b.attr("style",c?c+";"+k:k)})},e=function(){i.each(function(b){var c=a(this),d=j[b];void 0===d?c.removeAttr("style"):c.attr("style",d)})}}d();var l=/(outer)/.test(b)?h[b](g.includeMargin):h[b]();return e(),l}})}),function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.moment=b()}(this,function(){"use strict";function a(){return Hc.apply(null,arguments)}function b(a){Hc=a}function c(a){return"[object Array]"===Object.prototype.toString.call(a)}function d(a){return a instanceof Date||"[object Date]"===Object.prototype.toString.call(a)}function e(a,b){var c,d=[];for(c=0;c<a.length;++c)d.push(b(a[c],c));return d}function f(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function g(a,b){for(var c in b)f(b,c)&&(a[c]=b[c]);return f(b,"toString")&&(a.toString=b.toString),f(b,"valueOf")&&(a.valueOf=b.valueOf),a}function h(a,b,c,d){return Ca(a,b,c,d,!0).utc()}function i(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function j(a){return null==a._pf&&(a._pf=i()),a._pf}function k(a){if(null==a._isValid){var b=j(a);a._isValid=!(isNaN(a._d.getTime())||!(b.overflow<0)||b.empty||b.invalidMonth||b.invalidWeekday||b.nullInput||b.invalidFormat||b.userInvalidated),a._strict&&(a._isValid=a._isValid&&0===b.charsLeftOver&&0===b.unusedTokens.length&&void 0===b.bigHour)}return a._isValid}function l(a){var b=h(NaN);return null!=a?g(j(b),a):j(b).userInvalidated=!0,b}function m(a,b){var c,d,e;if("undefined"!=typeof b._isAMomentObject&&(a._isAMomentObject=b._isAMomentObject),"undefined"!=typeof b._i&&(a._i=b._i),"undefined"!=typeof b._f&&(a._f=b._f),"undefined"!=typeof b._l&&(a._l=b._l),"undefined"!=typeof b._strict&&(a._strict=b._strict),"undefined"!=typeof b._tzm&&(a._tzm=b._tzm),"undefined"!=typeof b._isUTC&&(a._isUTC=b._isUTC),"undefined"!=typeof b._offset&&(a._offset=b._offset),"undefined"!=typeof b._pf&&(a._pf=j(b)),"undefined"!=typeof b._locale&&(a._locale=b._locale),Jc.length>0)for(c in Jc)d=Jc[c],e=b[d],"undefined"!=typeof e&&(a[d]=e);return a}function n(b){m(this,b),this._d=new Date(null!=b._d?b._d.getTime():NaN),Kc===!1&&(Kc=!0,a.updateOffset(this),Kc=!1)}function o(a){return a instanceof n||null!=a&&null!=a._isAMomentObject}function p(a){return 0>a?Math.ceil(a):Math.floor(a)}function q(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=p(b)),c}function r(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;e>d;d++)(c&&a[d]!==b[d]||!c&&q(a[d])!==q(b[d]))&&g++;return g+f}function s(){}function t(a){return a?a.toLowerCase().replace("_","-"):a}function u(a){for(var b,c,d,e,f=0;f<a.length;){for(e=t(a[f]).split("-"),b=e.length,c=t(a[f+1]),c=c?c.split("-"):null;b>0;){if(d=v(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&r(e,c,!0)>=b-1)break;b--}f++}return null}function v(a){var b=null;if(!Lc[a]&&"undefined"!=typeof module&&module&&module.exports)try{b=Ic._abbr,require("./locale/"+a),
+w(b)}catch(c){}return Lc[a]}function w(a,b){var c;return a&&(c="undefined"==typeof b?y(a):x(a,b),c&&(Ic=c)),Ic._abbr}function x(a,b){return null!==b?(b.abbr=a,Lc[a]=Lc[a]||new s,Lc[a].set(b),w(a),Lc[a]):(delete Lc[a],null)}function y(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return Ic;if(!c(a)){if(b=v(a))return b;a=[a]}return u(a)}function z(a,b){var c=a.toLowerCase();Mc[c]=Mc[c+"s"]=Mc[b]=a}function A(a){return"string"==typeof a?Mc[a]||Mc[a.toLowerCase()]:void 0}function B(a){var b,c,d={};for(c in a)f(a,c)&&(b=A(c),b&&(d[b]=a[c]));return d}function C(b,c){return function(d){return null!=d?(E(this,b,d),a.updateOffset(this,c),this):D(this,b)}}function D(a,b){return a._d["get"+(a._isUTC?"UTC":"")+b]()}function E(a,b,c){return a._d["set"+(a._isUTC?"UTC":"")+b](c)}function F(a,b){var c;if("object"==typeof a)for(c in a)this.set(c,a[c]);else if(a=A(a),"function"==typeof this[a])return this[a](b);return this}function G(a,b,c){var d=""+Math.abs(a),e=b-d.length,f=a>=0;return(f?c?"+":"":"-")+Math.pow(10,Math.max(0,e)).toString().substr(1)+d}function H(a,b,c,d){var e=d;"string"==typeof d&&(e=function(){return this[d]()}),a&&(Qc[a]=e),b&&(Qc[b[0]]=function(){return G(e.apply(this,arguments),b[1],b[2])}),c&&(Qc[c]=function(){return this.localeData().ordinal(e.apply(this,arguments),a)})}function I(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function J(a){var b,c,d=a.match(Nc);for(b=0,c=d.length;c>b;b++)Qc[d[b]]?d[b]=Qc[d[b]]:d[b]=I(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function K(a,b){return a.isValid()?(b=L(b,a.localeData()),Pc[b]=Pc[b]||J(b),Pc[b](a)):a.localeData().invalidDate()}function L(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Oc.lastIndex=0;d>=0&&Oc.test(a);)a=a.replace(Oc,c),Oc.lastIndex=0,d-=1;return a}function M(a){return"function"==typeof a&&"[object Function]"===Object.prototype.toString.call(a)}function N(a,b,c){dd[a]=M(b)?b:function(a){return a&&c?c:b}}function O(a,b){return f(dd,a)?dd[a](b._strict,b._locale):new RegExp(P(a))}function P(a){return a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Q(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),"number"==typeof b&&(d=function(a,c){c[b]=q(a)}),c=0;c<a.length;c++)ed[a[c]]=d}function R(a,b){Q(a,function(a,c,d,e){d._w=d._w||{},b(a,d._w,d,e)})}function S(a,b,c){null!=b&&f(ed,a)&&ed[a](b,c._a,c,a)}function T(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function U(a){return this._months[a.month()]}function V(a){return this._monthsShort[a.month()]}function W(a,b,c){var d,e,f;for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),d=0;12>d;d++){if(e=h([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp("^"+this.months(e,"").replace(".","")+"$","i"),this._shortMonthsParse[d]=new RegExp("^"+this.monthsShort(e,"").replace(".","")+"$","i")),c||this._monthsParse[d]||(f="^"+this.months(e,"")+"|^"+this.monthsShort(e,""),this._monthsParse[d]=new RegExp(f.replace(".",""),"i")),c&&"MMMM"===b&&this._longMonthsParse[d].test(a))return d;if(c&&"MMM"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d}}function X(a,b){var c;return"string"==typeof b&&(b=a.localeData().monthsParse(b),"number"!=typeof b)?a:(c=Math.min(a.date(),T(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a)}function Y(b){return null!=b?(X(this,b),a.updateOffset(this,!0),this):D(this,"Month")}function Z(){return T(this.year(),this.month())}function $(a){var b,c=a._a;return c&&-2===j(a).overflow&&(b=c[gd]<0||c[gd]>11?gd:c[hd]<1||c[hd]>T(c[fd],c[gd])?hd:c[id]<0||c[id]>24||24===c[id]&&(0!==c[jd]||0!==c[kd]||0!==c[ld])?id:c[jd]<0||c[jd]>59?jd:c[kd]<0||c[kd]>59?kd:c[ld]<0||c[ld]>999?ld:-1,j(a)._overflowDayOfYear&&(fd>b||b>hd)&&(b=hd),j(a).overflow=b),a}function _(b){a.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+b)}function aa(a,b){var c=!0;return g(function(){return c&&(_(a+"\n"+(new Error).stack),c=!1),b.apply(this,arguments)},b)}function ba(a,b){od[a]||(_(b),od[a]=!0)}function ca(a){var b,c,d=a._i,e=pd.exec(d);if(e){for(j(a).iso=!0,b=0,c=qd.length;c>b;b++)if(qd[b][1].exec(d)){a._f=qd[b][0];break}for(b=0,c=rd.length;c>b;b++)if(rd[b][1].exec(d)){a._f+=(e[6]||" ")+rd[b][0];break}d.match(ad)&&(a._f+="Z"),va(a)}else a._isValid=!1}function da(b){var c=sd.exec(b._i);return null!==c?void(b._d=new Date(+c[1])):(ca(b),void(b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b))))}function ea(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 1970>a&&h.setFullYear(a),h}function fa(a){var b=new Date(Date.UTC.apply(null,arguments));return 1970>a&&b.setUTCFullYear(a),b}function ga(a){return ha(a)?366:365}function ha(a){return a%4===0&&a%100!==0||a%400===0}function ia(){return ha(this.year())}function ja(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),e-7>f&&(f+=7),d=Da(a).add(f,"d"),{week:Math.ceil(d.dayOfYear()/7),year:d.year()}}function ka(a){return ja(a,this._week.dow,this._week.doy).week}function la(){return this._week.dow}function ma(){return this._week.doy}function na(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")}function oa(a){var b=ja(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")}function pa(a,b,c,d,e){var f,g=6+e-d,h=fa(a,0,1+g),i=h.getUTCDay();return e>i&&(i+=7),c=null!=c?1*c:e,f=1+g+7*(b-1)-i+c,{year:f>0?a:a-1,dayOfYear:f>0?f:ga(a-1)+f}}function qa(a){var b=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")}function ra(a,b,c){return null!=a?a:null!=b?b:c}function sa(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function ta(a){var b,c,d,e,f=[];if(!a._d){for(d=sa(a),a._w&&null==a._a[hd]&&null==a._a[gd]&&ua(a),a._dayOfYear&&(e=ra(a._a[fd],d[fd]),a._dayOfYear>ga(e)&&(j(a)._overflowDayOfYear=!0),c=fa(e,0,a._dayOfYear),a._a[gd]=c.getUTCMonth(),a._a[hd]=c.getUTCDate()),b=0;3>b&&null==a._a[b];++b)a._a[b]=f[b]=d[b];for(;7>b;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];24===a._a[id]&&0===a._a[jd]&&0===a._a[kd]&&0===a._a[ld]&&(a._nextDay=!0,a._a[id]=0),a._d=(a._useUTC?fa:ea).apply(null,f),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[id]=24)}}function ua(a){var b,c,d,e,f,g,h;b=a._w,null!=b.GG||null!=b.W||null!=b.E?(f=1,g=4,c=ra(b.GG,a._a[fd],ja(Da(),1,4).year),d=ra(b.W,1),e=ra(b.E,1)):(f=a._locale._week.dow,g=a._locale._week.doy,c=ra(b.gg,a._a[fd],ja(Da(),f,g).year),d=ra(b.w,1),null!=b.d?(e=b.d,f>e&&++d):e=null!=b.e?b.e+f:f),h=pa(c,d,e,g,f),a._a[fd]=h.year,a._dayOfYear=h.dayOfYear}function va(b){if(b._f===a.ISO_8601)return void ca(b);b._a=[],j(b).empty=!0;var c,d,e,f,g,h=""+b._i,i=h.length,k=0;for(e=L(b._f,b._locale).match(Nc)||[],c=0;c<e.length;c++)f=e[c],d=(h.match(O(f,b))||[])[0],d&&(g=h.substr(0,h.indexOf(d)),g.length>0&&j(b).unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),k+=d.length),Qc[f]?(d?j(b).empty=!1:j(b).unusedTokens.push(f),S(f,d,b)):b._strict&&!d&&j(b).unusedTokens.push(f);j(b).charsLeftOver=i-k,h.length>0&&j(b).unusedInput.push(h),j(b).bigHour===!0&&b._a[id]<=12&&b._a[id]>0&&(j(b).bigHour=void 0),b._a[id]=wa(b._locale,b._a[id],b._meridiem),ta(b),$(b)}function wa(a,b,c){var d;return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&12>b&&(b+=12),d||12!==b||(b=0),b):b}function xa(a){var b,c,d,e,f;if(0===a._f.length)return j(a).invalidFormat=!0,void(a._d=new Date(NaN));for(e=0;e<a._f.length;e++)f=0,b=m({},a),null!=a._useUTC&&(b._useUTC=a._useUTC),b._f=a._f[e],va(b),k(b)&&(f+=j(b).charsLeftOver,f+=10*j(b).unusedTokens.length,j(b).score=f,(null==d||d>f)&&(d=f,c=b));g(a,c||b)}function ya(a){if(!a._d){var b=B(a._i);a._a=[b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],ta(a)}}function za(a){var b=new n($(Aa(a)));return b._nextDay&&(b.add(1,"d"),b._nextDay=void 0),b}function Aa(a){var b=a._i,e=a._f;return a._locale=a._locale||y(a._l),null===b||void 0===e&&""===b?l({nullInput:!0}):("string"==typeof b&&(a._i=b=a._locale.preparse(b)),o(b)?new n($(b)):(c(e)?xa(a):e?va(a):d(b)?a._d=b:Ba(a),a))}function Ba(b){var f=b._i;void 0===f?b._d=new Date:d(f)?b._d=new Date(+f):"string"==typeof f?da(b):c(f)?(b._a=e(f.slice(0),function(a){return parseInt(a,10)}),ta(b)):"object"==typeof f?ya(b):"number"==typeof f?b._d=new Date(f):a.createFromInputFallback(b)}function Ca(a,b,c,d,e){var f={};return"boolean"==typeof c&&(d=c,c=void 0),f._isAMomentObject=!0,f._useUTC=f._isUTC=e,f._l=c,f._i=a,f._f=b,f._strict=d,za(f)}function Da(a,b,c,d){return Ca(a,b,c,d,!1)}function Ea(a,b){var d,e;if(1===b.length&&c(b[0])&&(b=b[0]),!b.length)return Da();for(d=b[0],e=1;e<b.length;++e)(!b[e].isValid()||b[e][a](d))&&(d=b[e]);return d}function Fa(){var a=[].slice.call(arguments,0);return Ea("isBefore",a)}function Ga(){var a=[].slice.call(arguments,0);return Ea("isAfter",a)}function Ha(a){var b=B(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.week||0,g=b.day||0,h=b.hour||0,i=b.minute||0,j=b.second||0,k=b.millisecond||0;this._milliseconds=+k+1e3*j+6e4*i+36e5*h,this._days=+g+7*f,this._months=+e+3*d+12*c,this._data={},this._locale=y(),this._bubble()}function Ia(a){return a instanceof Ha}function Ja(a,b){H(a,0,0,function(){var a=this.utcOffset(),c="+";return 0>a&&(a=-a,c="-"),c+G(~~(a/60),2)+b+G(~~a%60,2)})}function Ka(a){var b=(a||"").match(ad)||[],c=b[b.length-1]||[],d=(c+"").match(xd)||["-",0,0],e=+(60*d[1])+q(d[2]);return"+"===d[0]?e:-e}function La(b,c){var e,f;return c._isUTC?(e=c.clone(),f=(o(b)||d(b)?+b:+Da(b))-+e,e._d.setTime(+e._d+f),a.updateOffset(e,!1),e):Da(b).local()}function Ma(a){return 15*-Math.round(a._d.getTimezoneOffset()/15)}function Na(b,c){var d,e=this._offset||0;return null!=b?("string"==typeof b&&(b=Ka(b)),Math.abs(b)<16&&(b=60*b),!this._isUTC&&c&&(d=Ma(this)),this._offset=b,this._isUTC=!0,null!=d&&this.add(d,"m"),e!==b&&(!c||this._changeInProgress?bb(this,Ya(b-e,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,a.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?e:Ma(this)}function Oa(a,b){return null!=a?("string"!=typeof a&&(a=-a),this.utcOffset(a,b),this):-this.utcOffset()}function Pa(a){return this.utcOffset(0,a)}function Qa(a){return this._isUTC&&(this.utcOffset(0,a),this._isUTC=!1,a&&this.subtract(Ma(this),"m")),this}function Ra(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Ka(this._i)),this}function Sa(a){return a=a?Da(a).utcOffset():0,(this.utcOffset()-a)%60===0}function Ta(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ua(){if("undefined"!=typeof this._isDSTShifted)return this._isDSTShifted;var a={};if(m(a,this),a=Aa(a),a._a){var b=a._isUTC?h(a._a):Da(a._a);this._isDSTShifted=this.isValid()&&r(a._a,b.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Va(){return!this._isUTC}function Wa(){return this._isUTC}function Xa(){return this._isUTC&&0===this._offset}function Ya(a,b){var c,d,e,g=a,h=null;return Ia(a)?g={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(g={},b?g[b]=a:g.milliseconds=a):(h=yd.exec(a))?(c="-"===h[1]?-1:1,g={y:0,d:q(h[hd])*c,h:q(h[id])*c,m:q(h[jd])*c,s:q(h[kd])*c,ms:q(h[ld])*c}):(h=zd.exec(a))?(c="-"===h[1]?-1:1,g={y:Za(h[2],c),M:Za(h[3],c),d:Za(h[4],c),h:Za(h[5],c),m:Za(h[6],c),s:Za(h[7],c),w:Za(h[8],c)}):null==g?g={}:"object"==typeof g&&("from"in g||"to"in g)&&(e=_a(Da(g.from),Da(g.to)),g={},g.ms=e.milliseconds,g.M=e.months),d=new Ha(g),Ia(a)&&f(a,"_locale")&&(d._locale=a._locale),d}function Za(a,b){var c=a&&parseFloat(a.replace(",","."));return(isNaN(c)?0:c)*b}function $a(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function _a(a,b){var c;return b=La(b,a),a.isBefore(b)?c=$a(a,b):(c=$a(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c}function ab(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||(ba(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period)."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=Ya(c,d),bb(this,e,a),this}}function bb(b,c,d,e){var f=c._milliseconds,g=c._days,h=c._months;e=null==e?!0:e,f&&b._d.setTime(+b._d+f*d),g&&E(b,"Date",D(b,"Date")+g*d),h&&X(b,D(b,"Month")+h*d),e&&a.updateOffset(b,g||h)}function cb(a,b){var c=a||Da(),d=La(c,this).startOf("day"),e=this.diff(d,"days",!0),f=-6>e?"sameElse":-1>e?"lastWeek":0>e?"lastDay":1>e?"sameDay":2>e?"nextDay":7>e?"nextWeek":"sameElse";return this.format(b&&b[f]||this.localeData().calendar(f,this,Da(c)))}function db(){return new n(this)}function eb(a,b){var c;return b=A("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=o(a)?a:Da(a),+this>+a):(c=o(a)?+a:+Da(a),c<+this.clone().startOf(b))}function fb(a,b){var c;return b=A("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=o(a)?a:Da(a),+a>+this):(c=o(a)?+a:+Da(a),+this.clone().endOf(b)<c)}function gb(a,b,c){return this.isAfter(a,c)&&this.isBefore(b,c)}function hb(a,b){var c;return b=A(b||"millisecond"),"millisecond"===b?(a=o(a)?a:Da(a),+this===+a):(c=+Da(a),+this.clone().startOf(b)<=c&&c<=+this.clone().endOf(b))}function ib(a,b,c){var d,e,f=La(a,this),g=6e4*(f.utcOffset()-this.utcOffset());return b=A(b),"year"===b||"month"===b||"quarter"===b?(e=jb(this,f),"quarter"===b?e/=3:"year"===b&&(e/=12)):(d=this-f,e="second"===b?d/1e3:"minute"===b?d/6e4:"hour"===b?d/36e5:"day"===b?(d-g)/864e5:"week"===b?(d-g)/6048e5:d),c?e:p(e)}function jb(a,b){var c,d,e=12*(b.year()-a.year())+(b.month()-a.month()),f=a.clone().add(e,"months");return 0>b-f?(c=a.clone().add(e-1,"months"),d=(b-f)/(f-c)):(c=a.clone().add(e+1,"months"),d=(b-f)/(c-f)),-(e+d)}function kb(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function lb(){var a=this.clone().utc();return 0<a.year()&&a.year()<=9999?"function"==typeof Date.prototype.toISOString?this.toDate().toISOString():K(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):K(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function mb(b){var c=K(this,b||a.defaultFormat);return this.localeData().postformat(c)}function nb(a,b){return this.isValid()?Ya({to:this,from:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function ob(a){return this.from(Da(),a)}function pb(a,b){return this.isValid()?Ya({from:this,to:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function qb(a){return this.to(Da(),a)}function rb(a){var b;return void 0===a?this._locale._abbr:(b=y(a),null!=b&&(this._locale=b),this)}function sb(){return this._locale}function tb(a){switch(a=A(a)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===a&&this.weekday(0),"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this}function ub(a){return a=A(a),void 0===a||"millisecond"===a?this:this.startOf(a).add(1,"isoWeek"===a?"week":a).subtract(1,"ms")}function vb(){return+this._d-6e4*(this._offset||0)}function wb(){return Math.floor(+this/1e3)}function xb(){return this._offset?new Date(+this):this._d}function yb(){var a=this;return[a.year(),a.month(),a.date(),a.hour(),a.minute(),a.second(),a.millisecond()]}function zb(){var a=this;return{years:a.year(),months:a.month(),date:a.date(),hours:a.hours(),minutes:a.minutes(),seconds:a.seconds(),milliseconds:a.milliseconds()}}function Ab(){return k(this)}function Bb(){return g({},j(this))}function Cb(){return j(this).overflow}function Db(a,b){H(0,[a,a.length],0,b)}function Eb(a,b,c){return ja(Da([a,11,31+b-c]),b,c).week}function Fb(a){var b=ja(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==a?b:this.add(a-b,"y")}function Gb(a){var b=ja(this,1,4).year;return null==a?b:this.add(a-b,"y")}function Hb(){return Eb(this.year(),1,4)}function Ib(){var a=this.localeData()._week;return Eb(this.year(),a.dow,a.doy)}function Jb(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)}function Kb(a,b){return"string"!=typeof a?a:isNaN(a)?(a=b.weekdaysParse(a),"number"==typeof a?a:null):parseInt(a,10)}function Lb(a){return this._weekdays[a.day()]}function Mb(a){return this._weekdaysShort[a.day()]}function Nb(a){return this._weekdaysMin[a.day()]}function Ob(a){var b,c,d;for(this._weekdaysParse=this._weekdaysParse||[],b=0;7>b;b++)if(this._weekdaysParse[b]||(c=Da([2e3,1]).day(b),d="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[b]=new RegExp(d.replace(".",""),"i")),this._weekdaysParse[b].test(a))return b}function Pb(a){var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Kb(a,this.localeData()),this.add(a-b,"d")):b}function Qb(a){var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")}function Rb(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)}function Sb(a,b){H(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b)})}function Tb(a,b){return b._meridiemParse}function Ub(a){return"p"===(a+"").toLowerCase().charAt(0)}function Vb(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"}function Wb(a,b){b[ld]=q(1e3*("0."+a))}function Xb(){return this._isUTC?"UTC":""}function Yb(){return this._isUTC?"Coordinated Universal Time":""}function Zb(a){return Da(1e3*a)}function $b(){return Da.apply(null,arguments).parseZone()}function _b(a,b,c){var d=this._calendar[a];return"function"==typeof d?d.call(b,c):d}function ac(a){var b=this._longDateFormat[a],c=this._longDateFormat[a.toUpperCase()];return b||!c?b:(this._longDateFormat[a]=c.replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a])}function bc(){return this._invalidDate}function cc(a){return this._ordinal.replace("%d",a)}function dc(a){return a}function ec(a,b,c,d){var e=this._relativeTime[c];return"function"==typeof e?e(a,b,c,d):e.replace(/%d/i,a)}function fc(a,b){var c=this._relativeTime[a>0?"future":"past"];return"function"==typeof c?c(b):c.replace(/%s/i,b)}function gc(a){var b,c;for(c in a)b=a[c],"function"==typeof b?this[c]=b:this["_"+c]=b;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function hc(a,b,c,d){var e=y(),f=h().set(d,b);return e[c](f,a)}function ic(a,b,c,d,e){if("number"==typeof a&&(b=a,a=void 0),a=a||"",null!=b)return hc(a,b,c,e);var f,g=[];for(f=0;d>f;f++)g[f]=hc(a,f,c,e);return g}function jc(a,b){return ic(a,b,"months",12,"month")}function kc(a,b){return ic(a,b,"monthsShort",12,"month")}function lc(a,b){return ic(a,b,"weekdays",7,"day")}function mc(a,b){return ic(a,b,"weekdaysShort",7,"day")}function nc(a,b){return ic(a,b,"weekdaysMin",7,"day")}function oc(){var a=this._data;return this._milliseconds=Wd(this._milliseconds),this._days=Wd(this._days),this._months=Wd(this._months),a.milliseconds=Wd(a.milliseconds),a.seconds=Wd(a.seconds),a.minutes=Wd(a.minutes),a.hours=Wd(a.hours),a.months=Wd(a.months),a.years=Wd(a.years),this}function pc(a,b,c,d){var e=Ya(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble()}function qc(a,b){return pc(this,a,b,1)}function rc(a,b){return pc(this,a,b,-1)}function sc(a){return 0>a?Math.floor(a):Math.ceil(a)}function tc(){var a,b,c,d,e,f=this._milliseconds,g=this._days,h=this._months,i=this._data;return f>=0&&g>=0&&h>=0||0>=f&&0>=g&&0>=h||(f+=864e5*sc(vc(h)+g),g=0,h=0),i.milliseconds=f%1e3,a=p(f/1e3),i.seconds=a%60,b=p(a/60),i.minutes=b%60,c=p(b/60),i.hours=c%24,g+=p(c/24),e=p(uc(g)),h+=e,g-=sc(vc(e)),d=p(h/12),h%=12,i.days=g,i.months=h,i.years=d,this}function uc(a){return 4800*a/146097}function vc(a){return 146097*a/4800}function wc(a){var b,c,d=this._milliseconds;if(a=A(a),"month"===a||"year"===a)return b=this._days+d/864e5,c=this._months+uc(b),"month"===a?c:c/12;switch(b=this._days+Math.round(vc(this._months)),a){case"week":return b/7+d/6048e5;case"day":return b+d/864e5;case"hour":return 24*b+d/36e5;case"minute":return 1440*b+d/6e4;case"second":return 86400*b+d/1e3;case"millisecond":return Math.floor(864e5*b)+d;default:throw new Error("Unknown unit "+a)}}function xc(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*q(this._months/12)}function yc(a){return function(){return this.as(a)}}function zc(a){return a=A(a),this[a+"s"]()}function Ac(a){return function(){return this._data[a]}}function Bc(){return p(this.days()/7)}function Cc(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function Dc(a,b,c){var d=Ya(a).abs(),e=ke(d.as("s")),f=ke(d.as("m")),g=ke(d.as("h")),h=ke(d.as("d")),i=ke(d.as("M")),j=ke(d.as("y")),k=e<le.s&&["s",e]||1===f&&["m"]||f<le.m&&["mm",f]||1===g&&["h"]||g<le.h&&["hh",g]||1===h&&["d"]||h<le.d&&["dd",h]||1===i&&["M"]||i<le.M&&["MM",i]||1===j&&["y"]||["yy",j];return k[2]=b,k[3]=+a>0,k[4]=c,Cc.apply(null,k)}function Ec(a,b){return void 0===le[a]?!1:void 0===b?le[a]:(le[a]=b,!0)}function Fc(a){var b=this.localeData(),c=Dc(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c)}function Gc(){var a,b,c,d=me(this._milliseconds)/1e3,e=me(this._days),f=me(this._months);a=p(d/60),b=p(a/60),d%=60,a%=60,c=p(f/12),f%=12;var g=c,h=f,i=e,j=b,k=a,l=d,m=this.asSeconds();return m?(0>m?"-":"")+"P"+(g?g+"Y":"")+(h?h+"M":"")+(i?i+"D":"")+(j||k||l?"T":"")+(j?j+"H":"")+(k?k+"M":"")+(l?l+"S":""):"P0D"}var Hc,Ic,Jc=a.momentProperties=[],Kc=!1,Lc={},Mc={},Nc=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Oc=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Pc={},Qc={},Rc=/\d/,Sc=/\d\d/,Tc=/\d{3}/,Uc=/\d{4}/,Vc=/[+-]?\d{6}/,Wc=/\d\d?/,Xc=/\d{1,3}/,Yc=/\d{1,4}/,Zc=/[+-]?\d{1,6}/,$c=/\d+/,_c=/[+-]?\d+/,ad=/Z|[+-]\d\d:?\d\d/gi,bd=/[+-]?\d+(\.\d{1,3})?/,cd=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,dd={},ed={},fd=0,gd=1,hd=2,id=3,jd=4,kd=5,ld=6;H("M",["MM",2],"Mo",function(){return this.month()+1}),H("MMM",0,0,function(a){return this.localeData().monthsShort(this,a)}),H("MMMM",0,0,function(a){return this.localeData().months(this,a)}),z("month","M"),N("M",Wc),N("MM",Wc,Sc),N("MMM",cd),N("MMMM",cd),Q(["M","MM"],function(a,b){b[gd]=q(a)-1}),Q(["MMM","MMMM"],function(a,b,c,d){var e=c._locale.monthsParse(a,d,c._strict);null!=e?b[gd]=e:j(c).invalidMonth=a});var md="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),nd="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),od={};a.suppressDeprecationWarnings=!1;var pd=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,qd=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],rd=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],sd=/^\/?Date\((\-?\d+)/i;a.createFromInputFallback=aa("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),H(0,["YY",2],0,function(){return this.year()%100}),H(0,["YYYY",4],0,"year"),H(0,["YYYYY",5],0,"year"),H(0,["YYYYYY",6,!0],0,"year"),z("year","y"),N("Y",_c),N("YY",Wc,Sc),N("YYYY",Yc,Uc),N("YYYYY",Zc,Vc),N("YYYYYY",Zc,Vc),Q(["YYYYY","YYYYYY"],fd),Q("YYYY",function(b,c){c[fd]=2===b.length?a.parseTwoDigitYear(b):q(b)}),Q("YY",function(b,c){c[fd]=a.parseTwoDigitYear(b)}),a.parseTwoDigitYear=function(a){return q(a)+(q(a)>68?1900:2e3)};var td=C("FullYear",!1);H("w",["ww",2],"wo","week"),H("W",["WW",2],"Wo","isoWeek"),z("week","w"),z("isoWeek","W"),N("w",Wc),N("ww",Wc,Sc),N("W",Wc),N("WW",Wc,Sc),R(["w","ww","W","WW"],function(a,b,c,d){b[d.substr(0,1)]=q(a)});var ud={dow:0,doy:6};H("DDD",["DDDD",3],"DDDo","dayOfYear"),z("dayOfYear","DDD"),N("DDD",Xc),N("DDDD",Tc),Q(["DDD","DDDD"],function(a,b,c){c._dayOfYear=q(a)}),a.ISO_8601=function(){};var vd=aa("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var a=Da.apply(null,arguments);return this>a?this:a}),wd=aa("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var a=Da.apply(null,arguments);return a>this?this:a});Ja("Z",":"),Ja("ZZ",""),N("Z",ad),N("ZZ",ad),Q(["Z","ZZ"],function(a,b,c){c._useUTC=!0,c._tzm=Ka(a)});var xd=/([\+\-]|\d\d)/gi;a.updateOffset=function(){};var yd=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,zd=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;Ya.fn=Ha.prototype;var Ad=ab(1,"add"),Bd=ab(-1,"subtract");a.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var Cd=aa("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a)});H(0,["gg",2],0,function(){return this.weekYear()%100}),H(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Db("gggg","weekYear"),Db("ggggg","weekYear"),Db("GGGG","isoWeekYear"),Db("GGGGG","isoWeekYear"),z("weekYear","gg"),z("isoWeekYear","GG"),N("G",_c),N("g",_c),N("GG",Wc,Sc),N("gg",Wc,Sc),N("GGGG",Yc,Uc),N("gggg",Yc,Uc),N("GGGGG",Zc,Vc),N("ggggg",Zc,Vc),R(["gggg","ggggg","GGGG","GGGGG"],function(a,b,c,d){b[d.substr(0,2)]=q(a)}),R(["gg","GG"],function(b,c,d,e){c[e]=a.parseTwoDigitYear(b)}),H("Q",0,0,"quarter"),z("quarter","Q"),N("Q",Rc),Q("Q",function(a,b){b[gd]=3*(q(a)-1)}),H("D",["DD",2],"Do","date"),z("date","D"),N("D",Wc),N("DD",Wc,Sc),N("Do",function(a,b){return a?b._ordinalParse:b._ordinalParseLenient}),Q(["D","DD"],hd),Q("Do",function(a,b){b[hd]=q(a.match(Wc)[0],10)});var Dd=C("Date",!0);H("d",0,"do","day"),H("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),H("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),H("dddd",0,0,function(a){return this.localeData().weekdays(this,a)}),H("e",0,0,"weekday"),H("E",0,0,"isoWeekday"),z("day","d"),z("weekday","e"),z("isoWeekday","E"),N("d",Wc),N("e",Wc),N("E",Wc),N("dd",cd),N("ddd",cd),N("dddd",cd),R(["dd","ddd","dddd"],function(a,b,c){var d=c._locale.weekdaysParse(a);null!=d?b.d=d:j(c).invalidWeekday=a}),R(["d","e","E"],function(a,b,c,d){b[d]=q(a)});var Ed="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Fd="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Gd="Su_Mo_Tu_We_Th_Fr_Sa".split("_");H("H",["HH",2],0,"hour"),H("h",["hh",2],0,function(){return this.hours()%12||12}),Sb("a",!0),Sb("A",!1),z("hour","h"),N("a",Tb),N("A",Tb),N("H",Wc),N("h",Wc),N("HH",Wc,Sc),N("hh",Wc,Sc),Q(["H","HH"],id),Q(["a","A"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a}),Q(["h","hh"],function(a,b,c){b[id]=q(a),j(c).bigHour=!0});var Hd=/[ap]\.?m?\.?/i,Id=C("Hours",!0);H("m",["mm",2],0,"minute"),z("minute","m"),N("m",Wc),N("mm",Wc,Sc),Q(["m","mm"],jd);var Jd=C("Minutes",!1);H("s",["ss",2],0,"second"),z("second","s"),N("s",Wc),N("ss",Wc,Sc),Q(["s","ss"],kd);var Kd=C("Seconds",!1);H("S",0,0,function(){return~~(this.millisecond()/100)}),H(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),H(0,["SSS",3],0,"millisecond"),H(0,["SSSS",4],0,function(){return 10*this.millisecond()}),H(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),H(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),H(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),H(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),H(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),z("millisecond","ms"),N("S",Xc,Rc),N("SS",Xc,Sc),N("SSS",Xc,Tc);var Ld;for(Ld="SSSS";Ld.length<=9;Ld+="S")N(Ld,$c);for(Ld="S";Ld.length<=9;Ld+="S")Q(Ld,Wb);var Md=C("Milliseconds",!1);H("z",0,0,"zoneAbbr"),H("zz",0,0,"zoneName");var Nd=n.prototype;Nd.add=Ad,Nd.calendar=cb,Nd.clone=db,Nd.diff=ib,Nd.endOf=ub,Nd.format=mb,Nd.from=nb,Nd.fromNow=ob,Nd.to=pb,Nd.toNow=qb,Nd.get=F,Nd.invalidAt=Cb,Nd.isAfter=eb,Nd.isBefore=fb,Nd.isBetween=gb,Nd.isSame=hb,Nd.isValid=Ab,Nd.lang=Cd,Nd.locale=rb,Nd.localeData=sb,Nd.max=wd,Nd.min=vd,Nd.parsingFlags=Bb,Nd.set=F,Nd.startOf=tb,Nd.subtract=Bd,Nd.toArray=yb,Nd.toObject=zb,Nd.toDate=xb,Nd.toISOString=lb,Nd.toJSON=lb,Nd.toString=kb,Nd.unix=wb,Nd.valueOf=vb,Nd.year=td,Nd.isLeapYear=ia,Nd.weekYear=Fb,Nd.isoWeekYear=Gb,Nd.quarter=Nd.quarters=Jb,Nd.month=Y,Nd.daysInMonth=Z,Nd.week=Nd.weeks=na,Nd.isoWeek=Nd.isoWeeks=oa,Nd.weeksInYear=Ib,Nd.isoWeeksInYear=Hb,Nd.date=Dd,Nd.day=Nd.days=Pb,Nd.weekday=Qb,Nd.isoWeekday=Rb,Nd.dayOfYear=qa,Nd.hour=Nd.hours=Id,Nd.minute=Nd.minutes=Jd,Nd.second=Nd.seconds=Kd,Nd.millisecond=Nd.milliseconds=Md,Nd.utcOffset=Na,Nd.utc=Pa,Nd.local=Qa,Nd.parseZone=Ra,Nd.hasAlignedHourOffset=Sa,Nd.isDST=Ta,Nd.isDSTShifted=Ua,Nd.isLocal=Va,Nd.isUtcOffset=Wa,Nd.isUtc=Xa,Nd.isUTC=Xa,Nd.zoneAbbr=Xb,Nd.zoneName=Yb,Nd.dates=aa("dates accessor is deprecated. Use date instead.",Dd),Nd.months=aa("months accessor is deprecated. Use month instead",Y),Nd.years=aa("years accessor is deprecated. Use year instead",td),Nd.zone=aa("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Oa);var Od=Nd,Pd={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Qd={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},Rd="Invalid date",Sd="%d",Td=/\d{1,2}/,Ud={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Vd=s.prototype;Vd._calendar=Pd,Vd.calendar=_b,Vd._longDateFormat=Qd,Vd.longDateFormat=ac,Vd._invalidDate=Rd,Vd.invalidDate=bc,Vd._ordinal=Sd,Vd.ordinal=cc,Vd._ordinalParse=Td,Vd.preparse=dc,Vd.postformat=dc,Vd._relativeTime=Ud,Vd.relativeTime=ec,Vd.pastFuture=fc,Vd.set=gc,Vd.months=U,Vd._months=md,Vd.monthsShort=V,Vd._monthsShort=nd,Vd.monthsParse=W,Vd.week=ka,Vd._week=ud,Vd.firstDayOfYear=ma,Vd.firstDayOfWeek=la,Vd.weekdays=Lb,Vd._weekdays=Ed,Vd.weekdaysMin=Nb,Vd._weekdaysMin=Gd,Vd.weekdaysShort=Mb,Vd._weekdaysShort=Fd,Vd.weekdaysParse=Ob,Vd.isPM=Ub,Vd._meridiemParse=Hd,Vd.meridiem=Vb,w("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===q(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),a.lang=aa("moment.lang is deprecated. Use moment.locale instead.",w),a.langData=aa("moment.langData is deprecated. Use moment.localeData instead.",y);var Wd=Math.abs,Xd=yc("ms"),Yd=yc("s"),Zd=yc("m"),$d=yc("h"),_d=yc("d"),ae=yc("w"),be=yc("M"),ce=yc("y"),de=Ac("milliseconds"),ee=Ac("seconds"),fe=Ac("minutes"),ge=Ac("hours"),he=Ac("days"),ie=Ac("months"),je=Ac("years"),ke=Math.round,le={s:45,m:45,h:22,d:26,M:11},me=Math.abs,ne=Ha.prototype;ne.abs=oc,ne.add=qc,ne.subtract=rc,ne.as=wc,ne.asMilliseconds=Xd,ne.asSeconds=Yd,ne.asMinutes=Zd,ne.asHours=$d,ne.asDays=_d,ne.asWeeks=ae,ne.asMonths=be,ne.asYears=ce,ne.valueOf=xc,ne._bubble=tc,ne.get=zc,ne.milliseconds=de,ne.seconds=ee,ne.minutes=fe,ne.hours=ge,ne.days=he,ne.weeks=Bc,ne.months=ie,ne.years=je,ne.humanize=Fc,ne.toISOString=Gc,ne.toString=Gc,ne.toJSON=Gc,ne.locale=rb,ne.localeData=sb,ne.toIsoString=aa("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Gc),ne.lang=Cd,H("X",0,0,"unix"),H("x",0,0,"valueOf"),N("x",_c),
+N("X",bd),Q("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),Q("x",function(a,b,c){c._d=new Date(q(a))}),a.version="2.10.6",b(Da),a.fn=Od,a.min=Fa,a.max=Ga,a.utc=h,a.unix=Zb,a.months=jc,a.isDate=d,a.locale=w,a.invalid=l,a.duration=Ya,a.isMoment=o,a.weekdays=lc,a.parseZone=$b,a.localeData=y,a.isDuration=Ia,a.monthsShort=kc,a.weekdaysMin=nc,a.defineLocale=x,a.weekdaysShort=mc,a.normalizeUnits=A,a.relativeTimeThreshold=Ec;var oe=a;return oe}),!function(a){angular.module("ngCsv.config",[]).value("ngCsv.config",{debug:!0}).config(["$compileProvider",function(a){angular.isDefined(a.urlSanitizationWhitelist)?a.urlSanitizationWhitelist(/^\s*(https?|ftp|mailto|file|data):/):a.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|file|data):/)}]),angular.module("ngCsv.directives",["ngCsv.services"]),angular.module("ngCsv.services",[]),angular.module("ngCsv",["ngCsv.config","ngCsv.services","ngCsv.directives","ngSanitize"]),"undefined"!=typeof module&&"undefined"!=typeof exports&&module.exports===exports&&(module.exports="ngCsv"),angular.module("ngCsv.services").service("CSV",["$q",function(a){var b="\r\n",c="\ufeff",d={"\\t":"   ","\\b":"\b","\\v":"\x0B","\\f":"\f","\\r":"\r"};this.stringifyField=function(a,b){return"locale"===b.decimalSep&&this.isFloat(a)?a.toLocaleString():"."!==b.decimalSep&&this.isFloat(a)?a.toString().replace(".",b.decimalSep):"string"==typeof a?(a=a.replace(/"/g,'""'),(b.quoteStrings||a.indexOf(",")>-1||a.indexOf("\n")>-1||a.indexOf("\r")>-1)&&(a=b.txtDelim+a+b.txtDelim),a):"boolean"==typeof a?a?"TRUE":"FALSE":a},this.isFloat=function(a){return+a===a&&(!isFinite(a)||Boolean(a%1))},this.stringify=function(d,e){var f=a.defer(),g=this,h="",i="",j=a.when(d).then(function(a){if(angular.isDefined(e.header)&&e.header){var d,j;d=[],angular.forEach(e.header,function(a){this.push(g.stringifyField(a,e))},d),j=d.join(e.fieldSep?e.fieldSep:","),i+=j+b}var k=[];if(angular.isArray(a)?k=a:angular.isFunction(a)&&(k=a()),angular.isDefined(e.label)&&e.label&&"boolean"==typeof e.label){var l,m;l=[],angular.forEach(k[0],function(a,b){this.push(g.stringifyField(b,e))},l),m=l.join(e.fieldSep?e.fieldSep:","),i+=m+b}angular.forEach(k,function(a,c){var d,f,h=angular.copy(k[c]);f=[];var j=e.columnOrder?e.columnOrder:h;angular.forEach(j,function(a){var b=e.columnOrder?h[a]:a;this.push(g.stringifyField(b,e))},f),d=f.join(e.fieldSep?e.fieldSep:","),i+=c<k.length?d+b:d}),e.addByteOrderMarker&&(h+=c),h+=i,f.resolve(h)});return"function"==typeof j["catch"]&&j["catch"](function(a){f.reject(a)}),f.promise},this.isSpecialChar=function(a){return void 0!==d[a]},this.getSpecialChar=function(a){return d[a]}}]),angular.module("ngCsv.directives").directive("ngCsv",["$parse","$q","CSV","$document","$timeout",function(b,c,d,e,f){return{restrict:"AC",scope:{data:"&ngCsv",filename:"@filename",header:"&csvHeader",columnOrder:"&csvColumnOrder",txtDelim:"@textDelimiter",decimalSep:"@decimalSeparator",quoteStrings:"@quoteStrings",fieldSep:"@fieldSeparator",lazyLoad:"@lazyLoad",addByteOrderMarker:"@addBom",ngClick:"&",charset:"@charset",label:"&csvLabel"},controller:["$scope","$element","$attrs","$transclude",function(a,b,e){function f(){var b={txtDelim:a.txtDelim?a.txtDelim:'"',decimalSep:a.decimalSep?a.decimalSep:".",quoteStrings:a.quoteStrings,addByteOrderMarker:a.addByteOrderMarker};return angular.isDefined(e.csvHeader)&&(b.header=a.$eval(a.header)),angular.isDefined(e.csvColumnOrder)&&(b.columnOrder=a.$eval(a.columnOrder)),angular.isDefined(e.csvLabel)&&(b.label=a.$eval(a.label)),b.fieldSep=a.fieldSep?a.fieldSep:",",b.fieldSep=d.isSpecialChar(b.fieldSep)?d.getSpecialChar(b.fieldSep):b.fieldSep,b}a.csv="",angular.isDefined(a.lazyLoad)&&"true"==a.lazyLoad||angular.isArray(a.data)&&a.$watch("data",function(){a.buildCSV()},!0),a.getFilename=function(){return a.filename||"download.csv"},a.buildCSV=function(){var g=c.defer();return b.addClass(e.ngCsvLoadingClass||"ng-csv-loading"),d.stringify(a.data(),f()).then(function(c){a.csv=c,b.removeClass(e.ngCsvLoadingClass||"ng-csv-loading"),g.resolve(c)}),a.$apply(),g.promise}}],link:function(b,c){function d(){var c=b.charset||"utf-8",d=new Blob([b.csv],{type:"text/csv;charset="+c+";"});if(a.navigator.msSaveOrOpenBlob)navigator.msSaveBlob(d,b.getFilename());else{var g=angular.element('<div data-tap-disabled="true"><a></a></div>'),h=angular.element(g.children()[0]);h.attr("href",a.URL.createObjectURL(d)),h.attr("download",b.getFilename()),h.attr("target","_blank"),e.find("body").append(g),f(function(){h[0].click(),h.remove()},null)}}c.bind("click",function(){b.buildCSV().then(function(){d()}),b.$apply()})}}}])}(window,document),function(angular){"use strict";if(!angular)throw"Missing something? Please add angular.js to your project or move this script below the angular.js reference";var directiveId="ngRemoteValidate",remoteValidate=function($http,$timeout,$q){return{restrict:"A",require:["^form","ngModel"],scope:{ngRemoteInterceptors:"=?"},link:function(scope,el,attrs,ctrls){var cache={},handleChange,setValidation,addToCache,request,shouldProcess,ngForm=ctrls[0],ngModel=ctrls[1],options={ngRemoteThrottle:400,ngRemoteMethod:"POST"};angular.extend(options,attrs),"["===options.ngRemoteValidate.charAt(0)?options.urls=eval(options.ngRemoteValidate):"{"===options.ngRemoteValidate.charAt(0)?(options.keys=eval("("+options.ngRemoteValidate+")"),options.urls=Object.keys(options.keys)):options.urls=[options.ngRemoteValidate],addToCache=function(a){var b=a[0].data.value;return cache[b]?cache[b]:void(cache[b]=a)},shouldProcess=function(a){var b=!1;for(var c in ngModel.$error){var d=!options.hasOwnProperty("keys")||!Object.keys(options.keys).filter(function(a){return options.keys[a]===c})[0];if(ngModel.$error[c]&&c!=directiveId&&d){b=!0;break}}return!(ngModel.$pristine||b)},setValidation=function(a,b){for(var c=0,d=a.length,e=options.hasOwnProperty("keys"),f=!0;d>c&&(scope.ngRemoteInterceptors&&scope.ngRemoteInterceptors.response&&(a[c]=scope.ngRemoteInterceptors.response(a[c])),a[c].data.isValid||(f=!1,e));c++){var g=e&&a[c].hasOwnProperty("config")&&options.keys[a[c].config.url];if(g){var h=options.keys[a[c].config.url];ngModel.$setValidity(h,a[c].data.isValid)}}b||addToCache(a),ngModel.$setValidity(directiveId,f),ngModel.$processing=ngModel.$pending=ngForm.$pending=!1},handleChange=function(a){return"undefined"==typeof a||""===a?void ngModel.$setPristine():shouldProcess(a)?cache[a]?setValidation(cache[a],!0):(ngModel.$pending||(ngModel.$processing=ngModel.$pending=ngForm.$pending=!0),request&&$timeout.cancel(request),request=$timeout(function(){var b=[],c=0,d=options.urls.length,e={value:a},f={method:options.ngRemoteMethod};for(scope[el[0].name+"SetArgs"]&&(e=scope[el[0].name+"SetArgs"](a,el,attrs,ngModel)),"POST"==options.ngRemoteMethod?f.data=e:f.params=e;d>c;c++)f.url=options.urls[c],scope.ngRemoteInterceptors&&scope.ngRemoteInterceptors.request&&(f=scope.ngRemoteInterceptors.request(f)),b.push($http(f));$q.all(b).then(setValidation)},options.ngRemoteThrottle),!0):setValidation([{data:{isValid:!0,value:a}}],!0)},scope.$watch(function(){return ngModel.$viewValue},handleChange)}}};angular.module("remoteValidation",[]).constant("MODULE_VERSION","0.6.1").directive(directiveId,["$http","$timeout","$q",remoteValidate])}(this.angular),function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a:a(jQuery)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||f>n)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120===0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b),d=c["offsetParent"in a.fn?"offsetParent":"parent"]();return d.length||(d=a("body")),parseInt(d.css("fontSize"),10)||parseInt(c.css("fontSize"),10)||16},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})}),function(a){"undefined"!=typeof module&&module.exports?module.exports=a:a(jQuery,window,document)}(function(a){!function(b){var c="function"==typeof define&&define.amd,d="undefined"!=typeof module&&module.exports,e="https:"==document.location.protocol?"https:":"http:",f="cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.13/jquery.mousewheel.min.js";c||(d?require("jquery-mousewheel")(a):a.event.special.mousewheel||a("head").append(decodeURI("%3Cscript src="+e+"//"+f+"%3E%3C/script%3E"))),b()}(function(){var b,c="mCustomScrollbar",d="mCS",e=".mCustomScrollbar",f={setTop:0,setLeft:0,axis:"y",scrollbarPosition:"inside",scrollInertia:950,autoDraggerLength:!0,alwaysShowScrollbar:0,snapOffset:0,mouseWheel:{enable:!0,scrollAmount:"auto",axis:"y",deltaFactor:"auto",disableOver:["select","option","keygen","datalist","textarea"]},scrollButtons:{scrollType:"stepless",scrollAmount:"auto"},keyboard:{enable:!0,scrollType:"stepless",scrollAmount:"auto"},contentTouchScroll:25,documentTouchScroll:!0,advanced:{autoScrollOnFocus:"input,textarea,select,button,datalist,keygen,a[tabindex],area,object,[contenteditable='true']",updateOnContentResize:!0,updateOnImageLoad:"auto",autoUpdateTimeout:60},theme:"light",callbacks:{onTotalScrollOffset:0,onTotalScrollBackOffset:0,alwaysTriggerOffsets:!0}},g=0,h={},i=window.attachEvent&&!window.addEventListener?1:0,j=!1,k=["mCSB_dragger_onDrag","mCSB_scrollTools_onDrag","mCS_img_loaded","mCS_disabled","mCS_destroyed","mCS_no_scrollbar","mCS-autoHide","mCS-dir-rtl","mCS_no_scrollbar_y","mCS_no_scrollbar_x","mCS_y_hidden","mCS_x_hidden","mCSB_draggerContainer","mCSB_buttonUp","mCSB_buttonDown","mCSB_buttonLeft","mCSB_buttonRight"],l={init:function(b){var b=a.extend(!0,{},f,b),c=m.call(this);if(b.live){var i=b.liveSelector||this.selector||e,j=a(i);if("off"===b.live)return void o(i);h[i]=setTimeout(function(){j.mCustomScrollbar(b),"once"===b.live&&j.length&&o(i)},500)}else o(i);return b.setWidth=b.set_width?b.set_width:b.setWidth,b.setHeight=b.set_height?b.set_height:b.setHeight,b.axis=b.horizontalScroll?"x":p(b.axis),b.scrollInertia=b.scrollInertia>0&&b.scrollInertia<17?17:b.scrollInertia,"object"!=typeof b.mouseWheel&&1==b.mouseWheel&&(b.mouseWheel={enable:!0,scrollAmount:"auto",axis:"y",preventDefault:!1,deltaFactor:"auto",normalizeDelta:!1,invert:!1}),b.mouseWheel.scrollAmount=b.mouseWheelPixels?b.mouseWheelPixels:b.mouseWheel.scrollAmount,b.mouseWheel.normalizeDelta=b.advanced.normalizeMouseWheelDelta?b.advanced.normalizeMouseWheelDelta:b.mouseWheel.normalizeDelta,b.scrollButtons.scrollType=q(b.scrollButtons.scrollType),n(b),a(c).each(function(){var c=a(this);if(!c.data(d)){c.data(d,{idx:++g,opt:b,scrollRatio:{y:null,x:null},overflowed:null,contentReset:{y:null,x:null},bindEvents:!1,tweenRunning:!1,sequential:{},langDir:c.css("direction"),cbOffsets:null,trigger:null,poll:{size:{o:0,n:0},img:{o:0,n:0},change:{o:0,n:0}}});var e=c.data(d),f=e.opt,h=c.data("mcs-axis"),i=c.data("mcs-scrollbar-position"),j=c.data("mcs-theme");h&&(f.axis=h),i&&(f.scrollbarPosition=i),j&&(f.theme=j,n(f)),r.call(this),e&&f.callbacks.onCreate&&"function"==typeof f.callbacks.onCreate&&f.callbacks.onCreate.call(this),a("#mCSB_"+e.idx+"_container img:not(."+k[2]+")").addClass(k[2]),l.update.call(null,c)}})},update:function(b,c){var e=b||m.call(this);return a(e).each(function(){var b=a(this);if(b.data(d)){var e=b.data(d),f=e.opt,g=a("#mCSB_"+e.idx+"_container"),h=a("#mCSB_"+e.idx),i=[a("#mCSB_"+e.idx+"_dragger_vertical"),a("#mCSB_"+e.idx+"_dragger_horizontal")];if(!g.length)return;e.tweenRunning&&U(b),c&&e&&f.callbacks.onBeforeUpdate&&"function"==typeof f.callbacks.onBeforeUpdate&&f.callbacks.onBeforeUpdate.call(this),b.hasClass(k[3])&&b.removeClass(k[3]),b.hasClass(k[4])&&b.removeClass(k[4]),h.css("max-height","none"),h.height()!==b.height()&&h.css("max-height",b.height()),t.call(this),"y"===f.axis||f.advanced.autoExpandHorizontalScroll||g.css("width",s(g)),e.overflowed=y.call(this),C.call(this),f.autoDraggerLength&&v.call(this),w.call(this),A.call(this);var j=[Math.abs(g[0].offsetTop),Math.abs(g[0].offsetLeft)];"x"!==f.axis&&(e.overflowed[0]?i[0].height()>i[0].parent().height()?z.call(this):(V(b,j[0].toString(),{dir:"y",dur:0,overwrite:"none"}),e.contentReset.y=null):(z.call(this),"y"===f.axis?B.call(this):"yx"===f.axis&&e.overflowed[1]&&V(b,j[1].toString(),{dir:"x",dur:0,overwrite:"none"}))),"y"!==f.axis&&(e.overflowed[1]?i[1].width()>i[1].parent().width()?z.call(this):(V(b,j[1].toString(),{dir:"x",dur:0,overwrite:"none"}),e.contentReset.x=null):(z.call(this),"x"===f.axis?B.call(this):"yx"===f.axis&&e.overflowed[0]&&V(b,j[0].toString(),{dir:"y",dur:0,overwrite:"none"}))),c&&e&&(2===c&&f.callbacks.onImageLoad&&"function"==typeof f.callbacks.onImageLoad?f.callbacks.onImageLoad.call(this):3===c&&f.callbacks.onSelectorChange&&"function"==typeof f.callbacks.onSelectorChange?f.callbacks.onSelectorChange.call(this):f.callbacks.onUpdate&&"function"==typeof f.callbacks.onUpdate&&f.callbacks.onUpdate.call(this)),S.call(this)}})},scrollTo:function(b,c){if("undefined"!=typeof b&&null!=b){var e=m.call(this);return a(e).each(function(){var e=a(this);if(e.data(d)){var f=e.data(d),g=f.opt,h={trigger:"external",scrollInertia:g.scrollInertia,scrollEasing:"mcsEaseInOut",moveDragger:!1,timeout:60,callbacks:!0,onStart:!0,onUpdate:!0,onComplete:!0},i=a.extend(!0,{},h,c),j=Q.call(this,b),k=i.scrollInertia>0&&i.scrollInertia<17?17:i.scrollInertia;j[0]=R.call(this,j[0],"y"),j[1]=R.call(this,j[1],"x"),i.moveDragger&&(j[0]*=f.scrollRatio.y,j[1]*=f.scrollRatio.x),i.dur=ca()?0:k,setTimeout(function(){null!==j[0]&&"undefined"!=typeof j[0]&&"x"!==g.axis&&f.overflowed[0]&&(i.dir="y",i.overwrite="all",V(e,j[0].toString(),i)),null!==j[1]&&"undefined"!=typeof j[1]&&"y"!==g.axis&&f.overflowed[1]&&(i.dir="x",i.overwrite="none",V(e,j[1].toString(),i))},i.timeout)}})}},stop:function(){var b=m.call(this);return a(b).each(function(){var b=a(this);b.data(d)&&U(b)})},disable:function(b){var c=m.call(this);return a(c).each(function(){var c=a(this);if(c.data(d)){c.data(d);S.call(this,"remove"),B.call(this),b&&z.call(this),C.call(this,!0),c.addClass(k[3])}})},destroy:function(){var b=m.call(this);return a(b).each(function(){var e=a(this);if(e.data(d)){var f=e.data(d),g=f.opt,h=a("#mCSB_"+f.idx),i=a("#mCSB_"+f.idx+"_container"),j=a(".mCSB_"+f.idx+"_scrollbar");g.live&&o(g.liveSelector||a(b).selector),S.call(this,"remove"),B.call(this),z.call(this),e.removeData(d),Z(this,"mcs"),j.remove(),i.find("img."+k[2]).removeClass(k[2]),h.replaceWith(i.contents()),e.removeClass(c+" _"+d+"_"+f.idx+" "+k[6]+" "+k[7]+" "+k[5]+" "+k[3]).addClass(k[4])}})}},m=function(){return"object"!=typeof a(this)||a(this).length<1?e:this},n=function(b){var c=["rounded","rounded-dark","rounded-dots","rounded-dots-dark"],d=["rounded-dots","rounded-dots-dark","3d","3d-dark","3d-thick","3d-thick-dark","inset","inset-dark","inset-2","inset-2-dark","inset-3","inset-3-dark"],e=["minimal","minimal-dark"],f=["minimal","minimal-dark"],g=["minimal","minimal-dark"];b.autoDraggerLength=a.inArray(b.theme,c)>-1?!1:b.autoDraggerLength,b.autoExpandScrollbar=a.inArray(b.theme,d)>-1?!1:b.autoExpandScrollbar,b.scrollButtons.enable=a.inArray(b.theme,e)>-1?!1:b.scrollButtons.enable,b.autoHideScrollbar=a.inArray(b.theme,f)>-1?!0:b.autoHideScrollbar,b.scrollbarPosition=a.inArray(b.theme,g)>-1?"outside":b.scrollbarPosition},o=function(a){h[a]&&(clearTimeout(h[a]),Z(h,a))},p=function(a){return"yx"===a||"xy"===a||"auto"===a?"yx":"x"===a||"horizontal"===a?"x":"y"},q=function(a){return"stepped"===a||"pixels"===a||"step"===a||"click"===a?"stepped":"stepless"},r=function(){var b=a(this),e=b.data(d),f=e.opt,g=f.autoExpandScrollbar?" "+k[1]+"_expand":"",h=["<div id='mCSB_"+e.idx+"_scrollbar_vertical' class='mCSB_scrollTools mCSB_"+e.idx+"_scrollbar mCS-"+f.theme+" mCSB_scrollTools_vertical"+g+"'><div class='"+k[12]+"'><div id='mCSB_"+e.idx+"_dragger_vertical' class='mCSB_dragger' style='position:absolute;' oncontextmenu='return false;'><div class='mCSB_dragger_bar' /></div><div class='mCSB_draggerRail' /></div></div>","<div id='mCSB_"+e.idx+"_scrollbar_horizontal' class='mCSB_scrollTools mCSB_"+e.idx+"_scrollbar mCS-"+f.theme+" mCSB_scrollTools_horizontal"+g+"'><div class='"+k[12]+"'><div id='mCSB_"+e.idx+"_dragger_horizontal' class='mCSB_dragger' style='position:absolute;' oncontextmenu='return false;'><div class='mCSB_dragger_bar' /></div><div class='mCSB_draggerRail' /></div></div>"],i="yx"===f.axis?"mCSB_vertical_horizontal":"x"===f.axis?"mCSB_horizontal":"mCSB_vertical",j="yx"===f.axis?h[0]+h[1]:"x"===f.axis?h[1]:h[0],l="yx"===f.axis?"<div id='mCSB_"+e.idx+"_container_wrapper' class='mCSB_container_wrapper' />":"",m=f.autoHideScrollbar?" "+k[6]:"",n="x"!==f.axis&&"rtl"===e.langDir?" "+k[7]:"";f.setWidth&&b.css("width",f.setWidth),f.setHeight&&b.css("height",f.setHeight),f.setLeft="y"!==f.axis&&"rtl"===e.langDir?"989999px":f.setLeft,b.addClass(c+" _"+d+"_"+e.idx+m+n).wrapInner("<div id='mCSB_"+e.idx+"' class='mCustomScrollBox mCS-"+f.theme+" "+i+"'><div id='mCSB_"+e.idx+"_container' class='mCSB_container' style='position:relative; top:"+f.setTop+"; left:"+f.setLeft+";' dir="+e.langDir+" /></div>");var o=a("#mCSB_"+e.idx),p=a("#mCSB_"+e.idx+"_container");"y"===f.axis||f.advanced.autoExpandHorizontalScroll||p.css("width",s(p)),"outside"===f.scrollbarPosition?("static"===b.css("position")&&b.css("position","relative"),b.css("overflow","visible"),o.addClass("mCSB_outside").after(j)):(o.addClass("mCSB_inside").append(j),p.wrap(l)),u.call(this);var q=[a("#mCSB_"+e.idx+"_dragger_vertical"),a("#mCSB_"+e.idx+"_dragger_horizontal")];q[0].css("min-height",q[0].height()),q[1].css("min-width",q[1].width())},s=function(b){var c=[b[0].scrollWidth,Math.max.apply(Math,b.children().map(function(){return a(this).outerWidth(!0)}).get())],d=b.parent().width();return c[0]>d?c[0]:c[1]>d?c[1]:"100%"},t=function(){var b=a(this),c=b.data(d),e=c.opt,f=a("#mCSB_"+c.idx+"_container");if(e.advanced.autoExpandHorizontalScroll&&"y"!==e.axis){f.css({width:"auto","min-width":0,"overflow-x":"scroll"});var g=Math.ceil(f[0].scrollWidth);3===e.advanced.autoExpandHorizontalScroll||2!==e.advanced.autoExpandHorizontalScroll&&g>f.parent().width()?f.css({width:g,"min-width":"100%","overflow-x":"inherit"}):f.css({"overflow-x":"inherit",position:"absolute"}).wrap("<div class='mCSB_h_wrapper' style='position:relative; left:0; width:999999px;' />").css({width:Math.ceil(f[0].getBoundingClientRect().right+.4)-Math.floor(f[0].getBoundingClientRect().left),"min-width":"100%",position:"relative"}).unwrap()}},u=function(){var b=a(this),c=b.data(d),e=c.opt,f=a(".mCSB_"+c.idx+"_scrollbar:first"),g=aa(e.scrollButtons.tabindex)?"tabindex='"+e.scrollButtons.tabindex+"'":"",h=["<a href='#' class='"+k[13]+"' oncontextmenu='return false;' "+g+" />","<a href='#' class='"+k[14]+"' oncontextmenu='return false;' "+g+" />","<a href='#' class='"+k[15]+"' oncontextmenu='return false;' "+g+" />","<a href='#' class='"+k[16]+"' oncontextmenu='return false;' "+g+" />"],i=["x"===e.axis?h[2]:h[0],"x"===e.axis?h[3]:h[1],h[2],h[3]];e.scrollButtons.enable&&f.prepend(i[0]).append(i[1]).next(".mCSB_scrollTools").prepend(i[2]).append(i[3])},v=function(){var b=a(this),c=b.data(d),e=a("#mCSB_"+c.idx),f=a("#mCSB_"+c.idx+"_container"),g=[a("#mCSB_"+c.idx+"_dragger_vertical"),a("#mCSB_"+c.idx+"_dragger_horizontal")],h=[e.height()/f.outerHeight(!1),e.width()/f.outerWidth(!1)],j=[parseInt(g[0].css("min-height")),Math.round(h[0]*g[0].parent().height()),parseInt(g[1].css("min-width")),Math.round(h[1]*g[1].parent().width())],k=i&&j[1]<j[0]?j[0]:j[1],l=i&&j[3]<j[2]?j[2]:j[3];g[0].css({height:k,"max-height":g[0].parent().height()-10}).find(".mCSB_dragger_bar").css({"line-height":j[0]+"px"}),g[1].css({width:l,"max-width":g[1].parent().width()-10})},w=function(){var b=a(this),c=b.data(d),e=a("#mCSB_"+c.idx),f=a("#mCSB_"+c.idx+"_container"),g=[a("#mCSB_"+c.idx+"_dragger_vertical"),a("#mCSB_"+c.idx+"_dragger_horizontal")],h=[f.outerHeight(!1)-e.height(),f.outerWidth(!1)-e.width()],i=[h[0]/(g[0].parent().height()-g[0].height()),h[1]/(g[1].parent().width()-g[1].width())];c.scrollRatio={y:i[0],x:i[1]}},x=function(a,b,c){var d=c?k[0]+"_expanded":"",e=a.closest(".mCSB_scrollTools");"active"===b?(a.toggleClass(k[0]+" "+d),e.toggleClass(k[1]),a[0]._draggable=a[0]._draggable?0:1):a[0]._draggable||("hide"===b?(a.removeClass(k[0]),e.removeClass(k[1])):(a.addClass(k[0]),e.addClass(k[1])))},y=function(){var b=a(this),c=b.data(d),e=a("#mCSB_"+c.idx),f=a("#mCSB_"+c.idx+"_container"),g=null==c.overflowed?f.height():f.outerHeight(!1),h=null==c.overflowed?f.width():f.outerWidth(!1),i=f[0].scrollHeight,j=f[0].scrollWidth;return i>g&&(g=i),j>h&&(h=j),[g>e.height(),h>e.width()]},z=function(){var b=a(this),c=b.data(d),e=c.opt,f=a("#mCSB_"+c.idx),g=a("#mCSB_"+c.idx+"_container"),h=[a("#mCSB_"+c.idx+"_dragger_vertical"),a("#mCSB_"+c.idx+"_dragger_horizontal")];if(U(b),("x"!==e.axis&&!c.overflowed[0]||"y"===e.axis&&c.overflowed[0])&&(h[0].add(g).css("top",0),V(b,"_resetY")),"y"!==e.axis&&!c.overflowed[1]||"x"===e.axis&&c.overflowed[1]){var i=dx=0;"rtl"===c.langDir&&(i=f.width()-g.outerWidth(!1),dx=Math.abs(i/c.scrollRatio.x)),g.css("left",i),h[1].css("left",dx),V(b,"_resetX")}},A=function(){function b(){g=setTimeout(function(){a.event.special.mousewheel?(clearTimeout(g),H.call(c[0])):b()},100)}var c=a(this),e=c.data(d),f=e.opt;if(!e.bindEvents){if(E.call(this),f.contentTouchScroll&&F.call(this),G.call(this),f.mouseWheel.enable){var g;b()}K.call(this),M.call(this),f.advanced.autoScrollOnFocus&&L.call(this),f.scrollButtons.enable&&N.call(this),f.keyboard.enable&&O.call(this),e.bindEvents=!0}},B=function(){var b=a(this),c=b.data(d),e=c.opt,f=d+"_"+c.idx,g=".mCSB_"+c.idx+"_scrollbar",h=a("#mCSB_"+c.idx+",#mCSB_"+c.idx+"_container,#mCSB_"+c.idx+"_container_wrapper,"+g+" ."+k[12]+",#mCSB_"+c.idx+"_dragger_vertical,#mCSB_"+c.idx+"_dragger_horizontal,"+g+">a"),i=a("#mCSB_"+c.idx+"_container");e.advanced.releaseDraggableSelectors&&h.add(a(e.advanced.releaseDraggableSelectors)),e.advanced.extraDraggableSelectors&&h.add(a(e.advanced.extraDraggableSelectors)),c.bindEvents&&(a(document).add(a(!I()||top.document)).unbind("."+f),h.each(function(){a(this).unbind("."+f)}),clearTimeout(b[0]._focusTimeout),Z(b[0],"_focusTimeout"),clearTimeout(c.sequential.step),Z(c.sequential,"step"),clearTimeout(i[0].onCompleteTimeout),Z(i[0],"onCompleteTimeout"),c.bindEvents=!1)},C=function(b){var c=a(this),e=c.data(d),f=e.opt,g=a("#mCSB_"+e.idx+"_container_wrapper"),h=g.length?g:a("#mCSB_"+e.idx+"_container"),i=[a("#mCSB_"+e.idx+"_scrollbar_vertical"),a("#mCSB_"+e.idx+"_scrollbar_horizontal")],j=[i[0].find(".mCSB_dragger"),i[1].find(".mCSB_dragger")];"x"!==f.axis&&(e.overflowed[0]&&!b?(i[0].add(j[0]).add(i[0].children("a")).css("display","block"),h.removeClass(k[8]+" "+k[10])):(f.alwaysShowScrollbar?(2!==f.alwaysShowScrollbar&&j[0].css("display","none"),h.removeClass(k[10])):(i[0].css("display","none"),h.addClass(k[10])),h.addClass(k[8]))),"y"!==f.axis&&(e.overflowed[1]&&!b?(i[1].add(j[1]).add(i[1].children("a")).css("display","block"),h.removeClass(k[9]+" "+k[11])):(f.alwaysShowScrollbar?(2!==f.alwaysShowScrollbar&&j[1].css("display","none"),h.removeClass(k[11])):(i[1].css("display","none"),h.addClass(k[11])),h.addClass(k[9]))),e.overflowed[0]||e.overflowed[1]?c.removeClass(k[5]):c.addClass(k[5])},D=function(b){var c=b.type,d=b.target.ownerDocument!==document?[a(frameElement).offset().top,a(frameElement).offset().left]:null,e=I()&&b.target.ownerDocument!==top.document?[a(b.view.frameElement).offset().top,a(b.view.frameElement).offset().left]:[0,0];switch(c){case"pointerdown":case"MSPointerDown":case"pointermove":case"MSPointerMove":case"pointerup":case"MSPointerUp":return d?[b.originalEvent.pageY-d[0]+e[0],b.originalEvent.pageX-d[1]+e[1],!1]:[b.originalEvent.pageY,b.originalEvent.pageX,!1];case"touchstart":case"touchmove":case"touchend":var f=b.originalEvent.touches[0]||b.originalEvent.changedTouches[0],g=b.originalEvent.touches.length||b.originalEvent.changedTouches.length;return b.target.ownerDocument!==document?[f.screenY,f.screenX,g>1]:[f.pageY,f.pageX,g>1];default:return d?[b.pageY-d[0]+e[0],b.pageX-d[1]+e[1],!1]:[b.pageY,b.pageX,!1]}},E=function(){function b(a){var b=o.find("iframe");if(b.length){var c=a?"auto":"none";b.css("pointer-events",c)}}function c(a,b,c,d){if(o[0].idleTimer=l.scrollInertia<233?250:0,e.attr("id")===n[1])var f="x",g=(e[0].offsetLeft-b+d)*k.scrollRatio.x;else var f="y",g=(e[0].offsetTop-a+c)*k.scrollRatio.y;V(h,g.toString(),{dir:f,drag:!0})}var e,f,g,h=a(this),k=h.data(d),l=k.opt,m=d+"_"+k.idx,n=["mCSB_"+k.idx+"_dragger_vertical","mCSB_"+k.idx+"_dragger_horizontal"],o=a("#mCSB_"+k.idx+"_container"),p=a("#"+n[0]+",#"+n[1]),q=l.advanced.releaseDraggableSelectors?p.add(a(l.advanced.releaseDraggableSelectors)):p,r=l.advanced.extraDraggableSelectors?a(!I()||top.document).add(a(l.advanced.extraDraggableSelectors)):a(!I()||top.document);p.bind("mousedown."+m+" touchstart."+m+" pointerdown."+m+" MSPointerDown."+m,function(c){if(c.stopImmediatePropagation(),c.preventDefault(),$(c)){j=!0,i&&(document.onselectstart=function(){return!1}),b(!1),U(h),e=a(this);var d=e.offset(),k=D(c)[0]-d.top,m=D(c)[1]-d.left,n=e.height()+d.top,o=e.width()+d.left;n>k&&k>0&&o>m&&m>0&&(f=k,g=m),x(e,"active",l.autoExpandScrollbar)}}).bind("touchmove."+m,function(a){a.stopImmediatePropagation(),a.preventDefault();var b=e.offset(),d=D(a)[0]-b.top,h=D(a)[1]-b.left;c(f,g,d,h)}),a(document).add(r).bind("mousemove."+m+" pointermove."+m+" MSPointerMove."+m,function(a){if(e){var b=e.offset(),d=D(a)[0]-b.top,h=D(a)[1]-b.left;if(f===d&&g===h)return;c(f,g,d,h)}}).add(q).bind("mouseup."+m+" touchend."+m+" pointerup."+m+" MSPointerUp."+m,function(a){e&&(x(e,"active",l.autoExpandScrollbar),e=null),j=!1,i&&(document.onselectstart=null),b(!0)})},F=function(){function c(a){if(!_(a)||j||D(a)[2])return void(b=0);b=1,w=0,x=0,k=1,y.removeClass("mCS_touch_action");var c=E.offset();l=D(a)[0]-c.top,m=D(a)[1]-c.left,L=[D(a)[0],D(a)[1]]}function e(a){if(_(a)&&!j&&!D(a)[2]&&(A.documentTouchScroll||a.preventDefault(),a.stopImmediatePropagation(),(!x||w)&&k)){q=X();var b=C.offset(),c=D(a)[0]-b.top,d=D(a)[1]-b.left,e="mcsLinearOut";if(G.push(c),H.push(d),L[2]=Math.abs(D(a)[0]-L[0]),L[3]=Math.abs(D(a)[1]-L[1]),z.overflowed[0])var f=F[0].parent().height()-F[0].height(),g=l-c>0&&c-l>-(f*z.scrollRatio.y)&&(2*L[3]<L[2]||"yx"===A.axis);if(z.overflowed[1])var h=F[1].parent().width()-F[1].width(),n=m-d>0&&d-m>-(h*z.scrollRatio.x)&&(2*L[2]<L[3]||"yx"===A.axis);g||n?(O||a.preventDefault(),w=1):(x=1,y.addClass("mCS_touch_action")),O&&a.preventDefault(),u="yx"===A.axis?[l-c,m-d]:"x"===A.axis?[null,m-d]:[l-c,null],E[0].idleTimer=250,z.overflowed[0]&&i(u[0],J,e,"y","all",!0),z.overflowed[1]&&i(u[1],J,e,"x",K,!0)}}function f(a){if(!_(a)||j||D(a)[2])return void(b=0);b=1,a.stopImmediatePropagation(),U(y),p=X();var c=C.offset();n=D(a)[0]-c.top,o=D(a)[1]-c.left,G=[],H=[]}function g(a){if(_(a)&&!j&&!D(a)[2]){k=0,a.stopImmediatePropagation(),w=0,x=0,r=X();var b=C.offset(),c=D(a)[0]-b.top,d=D(a)[1]-b.left;if(!(r-q>30)){t=1e3/(r-p);var e="mcsEaseOut",f=2.5>t,g=f?[G[G.length-2],H[H.length-2]]:[0,0];s=f?[c-g[0],d-g[1]]:[c-n,d-o];var l=[Math.abs(s[0]),Math.abs(s[1])];t=f?[Math.abs(s[0]/4),Math.abs(s[1]/4)]:[t,t];var m=[Math.abs(E[0].offsetTop)-s[0]*h(l[0]/t[0],t[0]),Math.abs(E[0].offsetLeft)-s[1]*h(l[1]/t[1],t[1])];u="yx"===A.axis?[m[0],m[1]]:"x"===A.axis?[null,m[1]]:[m[0],null],v=[4*l[0]+A.scrollInertia,4*l[1]+A.scrollInertia];var y=parseInt(A.contentTouchScroll)||0;u[0]=l[0]>y?u[0]:0,u[1]=l[1]>y?u[1]:0,z.overflowed[0]&&i(u[0],v[0],e,"y",K,!1),z.overflowed[1]&&i(u[1],v[1],e,"x",K,!1)}}}function h(a,b){var c=[1.5*b,2*b,b/1.5,b/2];return a>90?b>4?c[0]:c[3]:a>60?b>3?c[3]:c[2]:a>30?b>8?c[1]:b>6?c[0]:b>4?b:c[2]:b>8?b:c[3]}function i(a,b,c,d,e,f){a&&V(y,a.toString(),{dur:b,scrollEasing:c,dir:d,overwrite:e,drag:f})}var k,l,m,n,o,p,q,r,s,t,u,v,w,x,y=a(this),z=y.data(d),A=z.opt,B=d+"_"+z.idx,C=a("#mCSB_"+z.idx),E=a("#mCSB_"+z.idx+"_container"),F=[a("#mCSB_"+z.idx+"_dragger_vertical"),a("#mCSB_"+z.idx+"_dragger_horizontal")],G=[],H=[],J=0,K="yx"===A.axis?"none":"all",L=[],M=E.find("iframe"),N=["touchstart."+B+" pointerdown."+B+" MSPointerDown."+B,"touchmove."+B+" pointermove."+B+" MSPointerMove."+B,"touchend."+B+" pointerup."+B+" MSPointerUp."+B],O=void 0!==document.body.style.touchAction;E.bind(N[0],function(a){c(a)}).bind(N[1],function(a){e(a)}),C.bind(N[0],function(a){f(a)}).bind(N[2],function(a){g(a)}),M.length&&M.each(function(){a(this).load(function(){I(this)&&a(this.contentDocument||this.contentWindow.document).bind(N[0],function(a){c(a),f(a)}).bind(N[1],function(a){e(a)}).bind(N[2],function(a){g(a)})})})},G=function(){function c(){return window.getSelection?window.getSelection().toString():document.selection&&"Control"!=document.selection.type?document.selection.createRange().text:0}function e(a,b,c){k.type=c&&f?"stepped":"stepless",k.scrollAmount=10,P(g,a,b,"mcsLinearOut",c?60:null)}var f,g=a(this),h=g.data(d),i=h.opt,k=h.sequential,l=d+"_"+h.idx,m=a("#mCSB_"+h.idx+"_container"),n=m.parent();m.bind("mousedown."+l,function(a){b||f||(f=1,j=!0)}).add(document).bind("mousemove."+l,function(a){if(!b&&f&&c()){var d=m.offset(),g=D(a)[0]-d.top+m[0].offsetTop,j=D(a)[1]-d.left+m[0].offsetLeft;g>0&&g<n.height()&&j>0&&j<n.width()?k.step&&e("off",null,"stepped"):("x"!==i.axis&&h.overflowed[0]&&(0>g?e("on",38):g>n.height()&&e("on",40)),"y"!==i.axis&&h.overflowed[1]&&(0>j?e("on",37):j>n.width()&&e("on",39)))}}).bind("mouseup."+l+" dragend."+l,function(a){b||(f&&(f=0,e("off",null)),j=!1)})},H=function(){function b(b,d){if(U(c),!J(c,b.target)){var g="auto"!==f.mouseWheel.deltaFactor?parseInt(f.mouseWheel.deltaFactor):i&&b.deltaFactor<100?100:b.deltaFactor||100,k=f.scrollInertia;if("x"===f.axis||"x"===f.mouseWheel.axis)var l="x",m=[Math.round(g*e.scrollRatio.x),parseInt(f.mouseWheel.scrollAmount)],n="auto"!==f.mouseWheel.scrollAmount?m[1]:m[0]>=h.width()?.9*h.width():m[0],o=Math.abs(a("#mCSB_"+e.idx+"_container")[0].offsetLeft),p=j[1][0].offsetLeft,q=j[1].parent().width()-j[1].width(),r=b.deltaX||b.deltaY||d;else var l="y",m=[Math.round(g*e.scrollRatio.y),parseInt(f.mouseWheel.scrollAmount)],n="auto"!==f.mouseWheel.scrollAmount?m[1]:m[0]>=h.height()?.9*h.height():m[0],o=Math.abs(a("#mCSB_"+e.idx+"_container")[0].offsetTop),p=j[0][0].offsetTop,q=j[0].parent().height()-j[0].height(),r=b.deltaY||d;
+"y"===l&&!e.overflowed[0]||"x"===l&&!e.overflowed[1]||((f.mouseWheel.invert||b.webkitDirectionInvertedFromDevice)&&(r=-r),f.mouseWheel.normalizeDelta&&(r=0>r?-1:1),(r>0&&0!==p||0>r&&p!==q||f.mouseWheel.preventDefault)&&(b.stopImmediatePropagation(),b.preventDefault()),b.deltaFactor<2&&!f.mouseWheel.normalizeDelta&&(n=b.deltaFactor,k=17),V(c,(o-r*n).toString(),{dir:l,dur:k}))}}if(a(this).data(d)){var c=a(this),e=c.data(d),f=e.opt,g=d+"_"+e.idx,h=a("#mCSB_"+e.idx),j=[a("#mCSB_"+e.idx+"_dragger_vertical"),a("#mCSB_"+e.idx+"_dragger_horizontal")],k=a("#mCSB_"+e.idx+"_container").find("iframe");k.length&&k.each(function(){a(this).load(function(){I(this)&&a(this.contentDocument||this.contentWindow.document).bind("mousewheel."+g,function(a,c){b(a,c)})})}),h.bind("mousewheel."+g,function(a,c){b(a,c)})}},I=function(a){var b=null;if(a){try{var c=a.contentDocument||a.contentWindow.document;b=c.body.innerHTML}catch(d){}return null!==b}try{var c=top.document;b=c.body.innerHTML}catch(d){}return null!==b},J=function(b,c){var e=c.nodeName.toLowerCase(),f=b.data(d).opt.mouseWheel.disableOver,g=["select","textarea"];return a.inArray(e,f)>-1&&!(a.inArray(e,g)>-1&&!a(c).is(":focus"))},K=function(){var b,c=a(this),e=c.data(d),f=d+"_"+e.idx,g=a("#mCSB_"+e.idx+"_container"),h=g.parent(),i=a(".mCSB_"+e.idx+"_scrollbar ."+k[12]);i.bind("mousedown."+f+" touchstart."+f+" pointerdown."+f+" MSPointerDown."+f,function(c){j=!0,a(c.target).hasClass("mCSB_dragger")||(b=1)}).bind("touchend."+f+" pointerup."+f+" MSPointerUp."+f,function(a){j=!1}).bind("click."+f,function(d){if(b&&(b=0,a(d.target).hasClass(k[12])||a(d.target).hasClass("mCSB_draggerRail"))){U(c);var f=a(this),i=f.find(".mCSB_dragger");if(f.parent(".mCSB_scrollTools_horizontal").length>0){if(!e.overflowed[1])return;var j="x",l=d.pageX>i.offset().left?-1:1,m=Math.abs(g[0].offsetLeft)-l*(.9*h.width())}else{if(!e.overflowed[0])return;var j="y",l=d.pageY>i.offset().top?-1:1,m=Math.abs(g[0].offsetTop)-l*(.9*h.height())}V(c,m.toString(),{dir:j,scrollEasing:"mcsEaseInOut"})}})},L=function(){var b=a(this),c=b.data(d),e=c.opt,f=d+"_"+c.idx,g=a("#mCSB_"+c.idx+"_container"),h=g.parent();g.bind("focusin."+f,function(c){var d=a(document.activeElement),f=g.find(".mCustomScrollBox").length,i=0;d.is(e.advanced.autoScrollOnFocus)&&(U(b),clearTimeout(b[0]._focusTimeout),b[0]._focusTimer=f?(i+17)*f:0,b[0]._focusTimeout=setTimeout(function(){var a=[ba(d)[0],ba(d)[1]],c=[g[0].offsetTop,g[0].offsetLeft],f=[c[0]+a[0]>=0&&c[0]+a[0]<h.height()-d.outerHeight(!1),c[1]+a[1]>=0&&c[0]+a[1]<h.width()-d.outerWidth(!1)],j="yx"!==e.axis||f[0]||f[1]?"all":"none";"x"===e.axis||f[0]||V(b,a[0].toString(),{dir:"y",scrollEasing:"mcsEaseInOut",overwrite:j,dur:i}),"y"===e.axis||f[1]||V(b,a[1].toString(),{dir:"x",scrollEasing:"mcsEaseInOut",overwrite:j,dur:i})},b[0]._focusTimer))})},M=function(){var b=a(this),c=b.data(d),e=d+"_"+c.idx,f=a("#mCSB_"+c.idx+"_container").parent();f.bind("scroll."+e,function(b){(0!==f.scrollTop()||0!==f.scrollLeft())&&a(".mCSB_"+c.idx+"_scrollbar").css("visibility","hidden")})},N=function(){var b=a(this),c=b.data(d),e=c.opt,f=c.sequential,g=d+"_"+c.idx,h=".mCSB_"+c.idx+"_scrollbar",i=a(h+">a");i.bind("mousedown."+g+" touchstart."+g+" pointerdown."+g+" MSPointerDown."+g+" mouseup."+g+" touchend."+g+" pointerup."+g+" MSPointerUp."+g+" mouseout."+g+" pointerout."+g+" MSPointerOut."+g+" click."+g,function(d){function g(a,c){f.scrollAmount=e.scrollButtons.scrollAmount,P(b,a,c)}if(d.preventDefault(),$(d)){var h=a(this).attr("class");switch(f.type=e.scrollButtons.scrollType,d.type){case"mousedown":case"touchstart":case"pointerdown":case"MSPointerDown":if("stepped"===f.type)return;j=!0,c.tweenRunning=!1,g("on",h);break;case"mouseup":case"touchend":case"pointerup":case"MSPointerUp":case"mouseout":case"pointerout":case"MSPointerOut":if("stepped"===f.type)return;j=!1,f.dir&&g("off",h);break;case"click":if("stepped"!==f.type||c.tweenRunning)return;g("on",h)}}})},O=function(){function b(b){function d(a,b){g.type=f.keyboard.scrollType,g.scrollAmount=f.keyboard.scrollAmount,"stepped"===g.type&&e.tweenRunning||P(c,a,b)}switch(b.type){case"blur":e.tweenRunning&&g.dir&&d("off",null);break;case"keydown":case"keyup":var h=b.keyCode?b.keyCode:b.which,i="on";if("x"!==f.axis&&(38===h||40===h)||"y"!==f.axis&&(37===h||39===h)){if((38===h||40===h)&&!e.overflowed[0]||(37===h||39===h)&&!e.overflowed[1])return;"keyup"===b.type&&(i="off"),a(document.activeElement).is(l)||(b.preventDefault(),b.stopImmediatePropagation(),d(i,h))}else if(33===h||34===h){if((e.overflowed[0]||e.overflowed[1])&&(b.preventDefault(),b.stopImmediatePropagation()),"keyup"===b.type){U(c);var m=34===h?-1:1;if("x"===f.axis||"yx"===f.axis&&e.overflowed[1]&&!e.overflowed[0])var n="x",o=Math.abs(j[0].offsetLeft)-m*(.9*k.width());else var n="y",o=Math.abs(j[0].offsetTop)-m*(.9*k.height());V(c,o.toString(),{dir:n,scrollEasing:"mcsEaseInOut"})}}else if((35===h||36===h)&&!a(document.activeElement).is(l)&&((e.overflowed[0]||e.overflowed[1])&&(b.preventDefault(),b.stopImmediatePropagation()),"keyup"===b.type)){if("x"===f.axis||"yx"===f.axis&&e.overflowed[1]&&!e.overflowed[0])var n="x",o=35===h?Math.abs(k.width()-j.outerWidth(!1)):0;else var n="y",o=35===h?Math.abs(k.height()-j.outerHeight(!1)):0;V(c,o.toString(),{dir:n,scrollEasing:"mcsEaseInOut"})}}}var c=a(this),e=c.data(d),f=e.opt,g=e.sequential,h=d+"_"+e.idx,i=a("#mCSB_"+e.idx),j=a("#mCSB_"+e.idx+"_container"),k=j.parent(),l="input,textarea,select,datalist,keygen,[contenteditable='true']",m=j.find("iframe"),n=["blur."+h+" keydown."+h+" keyup."+h];m.length&&m.each(function(){a(this).load(function(){I(this)&&a(this.contentDocument||this.contentWindow.document).bind(n[0],function(a){b(a)})})}),i.attr("tabindex","0").bind(n[0],function(a){b(a)})},P=function(b,c,e,f,g){function h(a){l.snapAmount&&(m.scrollAmount=l.snapAmount instanceof Array?"x"===m.dir[0]?l.snapAmount[1]:l.snapAmount[0]:l.snapAmount);var c="stepped"!==m.type,d=g?g:a?c?p/1.5:q:1e3/60,e=a?c?7.5:40:2.5,i=[Math.abs(n[0].offsetTop),Math.abs(n[0].offsetLeft)],k=[j.scrollRatio.y>10?10:j.scrollRatio.y,j.scrollRatio.x>10?10:j.scrollRatio.x],o="x"===m.dir[0]?i[1]+m.dir[1]*(k[1]*e):i[0]+m.dir[1]*(k[0]*e),r="x"===m.dir[0]?i[1]+m.dir[1]*parseInt(m.scrollAmount):i[0]+m.dir[1]*parseInt(m.scrollAmount),s="auto"!==m.scrollAmount?r:o,t=f?f:a?c?"mcsLinearOut":"mcsEaseInOut":"mcsLinear",u=a?!0:!1;return a&&17>d&&(s="x"===m.dir[0]?i[1]:i[0]),V(b,s.toString(),{dir:m.dir[0],scrollEasing:t,dur:d,onComplete:u}),a?void(m.dir=!1):(clearTimeout(m.step),void(m.step=setTimeout(function(){h()},d)))}function i(){clearTimeout(m.step),Z(m,"step"),U(b)}var j=b.data(d),l=j.opt,m=j.sequential,n=a("#mCSB_"+j.idx+"_container"),o="stepped"===m.type?!0:!1,p=l.scrollInertia<26?26:l.scrollInertia,q=l.scrollInertia<1?17:l.scrollInertia;switch(c){case"on":if(m.dir=[e===k[16]||e===k[15]||39===e||37===e?"x":"y",e===k[13]||e===k[15]||38===e||37===e?-1:1],U(b),aa(e)&&"stepped"===m.type)return;h(o);break;case"off":i(),(o||j.tweenRunning&&m.dir)&&h(!0)}},Q=function(b){var c=a(this).data(d).opt,e=[];return"function"==typeof b&&(b=b()),b instanceof Array?e=b.length>1?[b[0],b[1]]:"x"===c.axis?[null,b[0]]:[b[0],null]:(e[0]=b.y?b.y:b.x||"x"===c.axis?null:b,e[1]=b.x?b.x:b.y||"y"===c.axis?null:b),"function"==typeof e[0]&&(e[0]=e[0]()),"function"==typeof e[1]&&(e[1]=e[1]()),e},R=function(b,c){if(null!=b&&"undefined"!=typeof b){var e=a(this),f=e.data(d),g=f.opt,h=a("#mCSB_"+f.idx+"_container"),i=h.parent(),j=typeof b;c||(c="x"===g.axis?"x":"y");var k="x"===c?h.outerWidth(!1):h.outerHeight(!1),m="x"===c?h[0].offsetLeft:h[0].offsetTop,n="x"===c?"left":"top";switch(j){case"function":return b();case"object":var o=b.jquery?b:a(b);if(!o.length)return;return"x"===c?ba(o)[1]:ba(o)[0];case"string":case"number":if(aa(b))return Math.abs(b);if(-1!==b.indexOf("%"))return Math.abs(k*parseInt(b)/100);if(-1!==b.indexOf("-="))return Math.abs(m-parseInt(b.split("-=")[1]));if(-1!==b.indexOf("+=")){var p=m+parseInt(b.split("+=")[1]);return p>=0?0:Math.abs(p)}if(-1!==b.indexOf("px")&&aa(b.split("px")[0]))return Math.abs(b.split("px")[0]);if("top"===b||"left"===b)return 0;if("bottom"===b)return Math.abs(i.height()-h.outerHeight(!1));if("right"===b)return Math.abs(i.width()-h.outerWidth(!1));if("first"===b||"last"===b){var o=h.find(":"+b);return"x"===c?ba(o)[1]:ba(o)[0]}return a(b).length?"x"===c?ba(a(b))[1]:ba(a(b))[0]:(h.css(n,b),void l.update.call(null,e[0]))}}},S=function(b){function c(){return clearTimeout(m[0].autoUpdate),0===h.parents("html").length?void(h=null):void(m[0].autoUpdate=setTimeout(function(){return j.advanced.updateOnSelectorChange&&(i.poll.change.n=f(),i.poll.change.n!==i.poll.change.o)?(i.poll.change.o=i.poll.change.n,void g(3)):j.advanced.updateOnContentResize&&(i.poll.size.n=h[0].scrollHeight+h[0].scrollWidth+m[0].offsetHeight+h[0].offsetHeight+h[0].offsetWidth,i.poll.size.n!==i.poll.size.o)?(i.poll.size.o=i.poll.size.n,void g(1)):!j.advanced.updateOnImageLoad||"auto"===j.advanced.updateOnImageLoad&&"y"===j.axis||(i.poll.img.n=m.find("img").length,i.poll.img.n===i.poll.img.o)?void((j.advanced.updateOnSelectorChange||j.advanced.updateOnContentResize||j.advanced.updateOnImageLoad)&&c()):(i.poll.img.o=i.poll.img.n,void m.find("img").each(function(){e(this)}))},j.advanced.autoUpdateTimeout))}function e(b){function c(a,b){return function(){return b.apply(a,arguments)}}function d(){this.onload=null,a(b).addClass(k[2]),g(2)}if(a(b).hasClass(k[2]))return void g();var e=new Image;e.onload=c(e,d),e.src=b.src}function f(){j.advanced.updateOnSelectorChange===!0&&(j.advanced.updateOnSelectorChange="*");var a=0,b=m.find(j.advanced.updateOnSelectorChange);return j.advanced.updateOnSelectorChange&&b.length>0&&b.each(function(){a+=this.offsetHeight+this.offsetWidth}),a}function g(a){clearTimeout(m[0].autoUpdate),l.update.call(null,h[0],a)}var h=a(this),i=h.data(d),j=i.opt,m=a("#mCSB_"+i.idx+"_container");return b?(clearTimeout(m[0].autoUpdate),void Z(m[0],"autoUpdate")):void c()},T=function(a,b,c){return Math.round(a/b)*b-c},U=function(b){var c=b.data(d),e=a("#mCSB_"+c.idx+"_container,#mCSB_"+c.idx+"_container_wrapper,#mCSB_"+c.idx+"_dragger_vertical,#mCSB_"+c.idx+"_dragger_horizontal");e.each(function(){Y.call(this)})},V=function(b,c,e){function f(a){return i&&j.callbacks[a]&&"function"==typeof j.callbacks[a]}function g(){return[j.callbacks.alwaysTriggerOffsets||u>=v[0]+y,j.callbacks.alwaysTriggerOffsets||-z>=u]}function h(){var a=[n[0].offsetTop,n[0].offsetLeft],c=[s[0].offsetTop,s[0].offsetLeft],d=[n.outerHeight(!1),n.outerWidth(!1)],f=[m.height(),m.width()];b[0].mcs={content:n,top:a[0],left:a[1],draggerTop:c[0],draggerLeft:c[1],topPct:Math.round(100*Math.abs(a[0])/(Math.abs(d[0])-f[0])),leftPct:Math.round(100*Math.abs(a[1])/(Math.abs(d[1])-f[1])),direction:e.dir}}var i=b.data(d),j=i.opt,k={trigger:"internal",dir:"y",scrollEasing:"mcsEaseOut",drag:!1,dur:j.scrollInertia,overwrite:"all",callbacks:!0,onStart:!0,onUpdate:!0,onComplete:!0},e=a.extend(k,e),l=[e.dur,e.drag?0:e.dur],m=a("#mCSB_"+i.idx),n=a("#mCSB_"+i.idx+"_container"),o=n.parent(),p=j.callbacks.onTotalScrollOffset?Q.call(b,j.callbacks.onTotalScrollOffset):[0,0],q=j.callbacks.onTotalScrollBackOffset?Q.call(b,j.callbacks.onTotalScrollBackOffset):[0,0];if(i.trigger=e.trigger,(0!==o.scrollTop()||0!==o.scrollLeft())&&(a(".mCSB_"+i.idx+"_scrollbar").css("visibility","visible"),o.scrollTop(0).scrollLeft(0)),"_resetY"!==c||i.contentReset.y||(f("onOverflowYNone")&&j.callbacks.onOverflowYNone.call(b[0]),i.contentReset.y=1),"_resetX"!==c||i.contentReset.x||(f("onOverflowXNone")&&j.callbacks.onOverflowXNone.call(b[0]),i.contentReset.x=1),"_resetY"!==c&&"_resetX"!==c){if(!i.contentReset.y&&b[0].mcs||!i.overflowed[0]||(f("onOverflowY")&&j.callbacks.onOverflowY.call(b[0]),i.contentReset.x=null),!i.contentReset.x&&b[0].mcs||!i.overflowed[1]||(f("onOverflowX")&&j.callbacks.onOverflowX.call(b[0]),i.contentReset.x=null),j.snapAmount){var r=j.snapAmount instanceof Array?"x"===e.dir?j.snapAmount[1]:j.snapAmount[0]:j.snapAmount;c=T(c,r,j.snapOffset)}switch(e.dir){case"x":var s=a("#mCSB_"+i.idx+"_dragger_horizontal"),t="left",u=n[0].offsetLeft,v=[m.width()-n.outerWidth(!1),s.parent().width()-s.width()],w=[c,0===c?0:c/i.scrollRatio.x],y=p[1],z=q[1],A=y>0?y/i.scrollRatio.x:0,B=z>0?z/i.scrollRatio.x:0;break;case"y":var s=a("#mCSB_"+i.idx+"_dragger_vertical"),t="top",u=n[0].offsetTop,v=[m.height()-n.outerHeight(!1),s.parent().height()-s.height()],w=[c,0===c?0:c/i.scrollRatio.y],y=p[0],z=q[0],A=y>0?y/i.scrollRatio.y:0,B=z>0?z/i.scrollRatio.y:0}w[1]<0||0===w[0]&&0===w[1]?w=[0,0]:w[1]>=v[1]?w=[v[0],v[1]]:w[0]=-w[0],b[0].mcs||(h(),f("onInit")&&j.callbacks.onInit.call(b[0])),clearTimeout(n[0].onCompleteTimeout),W(s[0],t,Math.round(w[1]),l[1],e.scrollEasing),(i.tweenRunning||!(0===u&&w[0]>=0||u===v[0]&&w[0]<=v[0]))&&W(n[0],t,Math.round(w[0]),l[0],e.scrollEasing,e.overwrite,{onStart:function(){e.callbacks&&e.onStart&&!i.tweenRunning&&(f("onScrollStart")&&(h(),j.callbacks.onScrollStart.call(b[0])),i.tweenRunning=!0,x(s),i.cbOffsets=g())},onUpdate:function(){e.callbacks&&e.onUpdate&&f("whileScrolling")&&(h(),j.callbacks.whileScrolling.call(b[0]))},onComplete:function(){if(e.callbacks&&e.onComplete){"yx"===j.axis&&clearTimeout(n[0].onCompleteTimeout);var a=n[0].idleTimer||0;n[0].onCompleteTimeout=setTimeout(function(){f("onScroll")&&(h(),j.callbacks.onScroll.call(b[0])),f("onTotalScroll")&&w[1]>=v[1]-A&&i.cbOffsets[0]&&(h(),j.callbacks.onTotalScroll.call(b[0])),f("onTotalScrollBack")&&w[1]<=B&&i.cbOffsets[1]&&(h(),j.callbacks.onTotalScrollBack.call(b[0])),i.tweenRunning=!1,n[0].idleTimer=0,x(s,"hide")},a)}}})}},W=function(a,b,c,d,e,f,g){function h(){v.stop||(s||o.call(),s=X()-r,i(),s>=v.time&&(v.time=s>v.time?s+m-(s-v.time):s+m-1,v.time<s+1&&(v.time=s+1)),v.time<d?v.id=n(h):q.call())}function i(){d>0?(v.currVal=l(v.time,t,w,d,e),u[b]=Math.round(v.currVal)+"px"):u[b]=c+"px",p.call()}function j(){m=1e3/60,v.time=s+m,n=window.requestAnimationFrame?window.requestAnimationFrame:function(a){return i(),setTimeout(a,.01)},v.id=n(h)}function k(){null!=v.id&&(window.requestAnimationFrame?window.cancelAnimationFrame(v.id):clearTimeout(v.id),v.id=null)}function l(a,b,c,d,e){switch(e){case"linear":case"mcsLinear":return c*a/d+b;case"mcsLinearOut":return a/=d,a--,c*Math.sqrt(1-a*a)+b;case"easeInOutSmooth":return a/=d/2,1>a?c/2*a*a+b:(a--,-c/2*(a*(a-2)-1)+b);case"easeInOutStrong":return a/=d/2,1>a?c/2*Math.pow(2,10*(a-1))+b:(a--,c/2*(-Math.pow(2,-10*a)+2)+b);case"easeInOut":case"mcsEaseInOut":return a/=d/2,1>a?c/2*a*a*a+b:(a-=2,c/2*(a*a*a+2)+b);case"easeOutSmooth":return a/=d,a--,-c*(a*a*a*a-1)+b;case"easeOutStrong":return c*(-Math.pow(2,-10*a/d)+1)+b;case"easeOut":case"mcsEaseOut":default:var f=(a/=d)*a,g=f*a;return b+c*(.499999999999997*g*f+-2.5*f*f+5.5*g+-6.5*f+4*a)}}a._mTween||(a._mTween={top:{},left:{}});var m,n,g=g||{},o=g.onStart||function(){},p=g.onUpdate||function(){},q=g.onComplete||function(){},r=X(),s=0,t=a.offsetTop,u=a.style,v=a._mTween[b];"left"===b&&(t=a.offsetLeft);var w=c-t;v.stop=0,"none"!==f&&k(),j()},X=function(){return window.performance&&window.performance.now?window.performance.now():window.performance&&window.performance.webkitNow?window.performance.webkitNow():Date.now?Date.now():(new Date).getTime()},Y=function(){var a=this;a._mTween||(a._mTween={top:{},left:{}});for(var b=["top","left"],c=0;c<b.length;c++){var d=b[c];a._mTween[d].id&&(window.requestAnimationFrame?window.cancelAnimationFrame(a._mTween[d].id):clearTimeout(a._mTween[d].id),a._mTween[d].id=null,a._mTween[d].stop=1)}},Z=function(a,b){try{delete a[b]}catch(c){a[b]=null}},$=function(a){return!(a.which&&1!==a.which)},_=function(a){var b=a.originalEvent.pointerType;return!(b&&"touch"!==b&&2!==b)},aa=function(a){return!isNaN(parseFloat(a))&&isFinite(a)},ba=function(a){var b=a.parents(".mCSB_container");return[a.offset().top-b.offset().top,a.offset().left-b.offset().left]},ca=function(){function a(){var a=["webkit","moz","ms","o"];if("hidden"in document)return"hidden";for(var b=0;b<a.length;b++)if(a[b]+"Hidden"in document)return a[b]+"Hidden";return null}var b=a();return b?document[b]:!1};a.fn[c]=function(b){return l[b]?l[b].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof b&&b?void a.error("Method "+b+" does not exist"):l.init.apply(this,arguments)},a[c]=function(b){return l[b]?l[b].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof b&&b?void a.error("Method "+b+" does not exist"):l.init.apply(this,arguments)},a[c].defaults=f,window[c]=!0,a(window).load(function(){a(e)[c](),a.extend(a.expr[":"],{mcsInView:a.expr[":"].mcsInView||function(b){var c,d,e=a(b),f=e.parents(".mCSB_container");if(f.length)return c=f.parent(),d=[f[0].offsetTop,f[0].offsetLeft],d[0]+ba(e)[0]>=0&&d[0]+ba(e)[0]<c.height()-e.outerHeight(!1)&&d[1]+ba(e)[1]>=0&&d[1]+ba(e)[1]<c.width()-e.outerWidth(!1)},mcsOverflow:a.expr[":"].mcsOverflow||function(b){var c=a(b).data(d);if(c)return c.overflowed[0]||c.overflowed[1]}})})})}),!function(){"use strict";function a(){this.defaults={scrollButtons:{enable:!1},axis:"yx"},$.mCustomScrollbar.defaults.scrollButtons=this.defaults.scrollButtons,$.mCustomScrollbar.defaults.axis=this.defaults.axis,this.$get=function(){return{defaults:this.defaults}}}function b(a){return{scope:{ngScrollbarsConfig:"&"},link:function(b,c){var d=a.defaults,e=$.mCustomScrollbar.defaults,f=b.ngScrollbarsConfig();f||(f={});for(var g in d)if(d.hasOwnProperty(g))switch(g){case"scrollButtons":f.hasOwnProperty(g)||(e.scrollButtons=d[g]);break;case"axis":f.hasOwnProperty(g)||(e.axis=d[g]);break;default:f.hasOwnProperty(g)||(f[g]=d[g])}c.mCustomScrollbar(f)}}}b.$inject=["a"],angular.module("ngScrollbars",[]).provider("ScrollBars",a).directive("ngScrollbars",b),a.$inject=[],b.$inject=["ScrollBars"]}(),function(){"use strict";angular.module("ng-slide-down",[]).directive("ngSlideDown",["$timeout",function(a){var b,c;return b=function(a,b){return void 0!==b.lazyRender?"<div ng-if='lazyRender' ng-transclude></div>":"<div ng-transclude></div>"},c=function(b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q;return h=d.duration||1,q=d.timingFunction||"ease-in-out",i=c.scope(),j=d.emitOnClose,n=d.onClose,m=void 0!==d.lazyRender,g=null,o=null,k=function(a){var b,d,e,f,g;for(e=0,d=c.children(),f=0,g=d.length;g>f;f++)b=d[f],e+=b.clientHeight;return""+e+"px"},p=function(){return g&&a.cancel(g),m&&(b.lazyRender=!0),a(function(){return o&&a.cancel(o),c.css({overflow:"hidden",transitionProperty:"height",transitionDuration:""+h+"s",transitionTimingFunction:q,height:k()}),o=a(function(){return c.css({overflow:"visible",transition:"none",height:"auto"})},1e3*h)})},l=function(){return o&&a.cancel(o),c.css({overflow:"hidden",transitionProperty:"height",transitionDuration:""+h+"s",transitionTimingFunction:q,height:"0px"}),j||n||m?g=a(function(){return j&&b.$emit(j,{}),n&&i.$eval(n),m?b.lazyRender=!1:void 0},1e3*h):void 0},b.$watch("expanded",function(b,d){return b?a(p):(null!=b&&(c.css({height:k()}),c[0].clientHeight),a(l))})},{restrict:"A",scope:{expanded:"=ngSlideDown"},transclude:!0,link:c,template:function(a,c){return b(a,c)}}}])}.call(this);var mod;mod=angular.module("infinite-scroll",[]),mod.directive("infiniteScroll",["$rootScope","$window","$timeout",function(a,b,c){return{link:function(d,e,f){var g,h,i,j;return b=angular.element(b),i=0,null!=f.infiniteScrollDistance&&d.$watch(f.infiniteScrollDistance,function(a){return i=parseInt(a,10)}),j=!0,g=!1,null!=f.infiniteScrollDisabled&&d.$watch(f.infiniteScrollDisabled,function(a){return j=!a,j&&g?(g=!1,h()):void 0}),h=function(){var c,h,k,l;return l=b.height()+b.scrollTop(),c=e.offset().top+e.height(),h=c-l,k=h<=b.height()*i,k&&j?a.$$phase?d.$eval(f.infiniteScroll):d.$apply(f.infiniteScroll):k?g=!0:void 0},b.on("scroll",h),d.$on("$destroy",function(){return b.off("scroll",h)}),c(function(){return f.infiniteScrollImmediateCheck?d.$eval(f.infiniteScrollImmediateCheck)?h():void 0:h()},0)}}}]),angular.module("ngMap",[]),function(){"use strict";function camelCase(a){return a.replace(SPECIAL_CHARS_REGEXP,function(a,b,c,d){return d?c.toUpperCase():c}).replace(MOZ_HACK_REGEXP,"Moz$1")}function JSONize(a){try{return JSON.parse(a),a}catch(b){return a.replace(/([\$\w]+)\s*:/g,function(a,b){return'"'+b+'":'}).replace(/'([^']+)'/g,function(a,b){return'"'+b+'"'})}}var SPECIAL_CHARS_REGEXP=/([\:\-\_]+(.))/g,MOZ_HACK_REGEXP=/^moz([A-Z])/,Attr2Options=function($parse,$timeout,$log,NavigatorGeolocation,GeoCoder){var orgAttributes=function(a){a.length>0&&(a=a[0]);for(var b={},c=0;c<a.attributes.length;c++){var d=a.attributes[c];b[d.name]=d.value}return b},toOptionValue=function(input,options){var output,key=options.key,scope=options.scope;try{var num=Number(input);if(isNaN(num))throw"Not a number";output=num}catch(err){try{if(input.match(/^[\+\-]?[0-9\.]+,[ ]*\ ?[\+\-]?[0-9\.]+$/)&&(input="["+input+"]"),output=JSON.parse(JSONize(input)),output instanceof Array){var t1stEl=output[0];if(t1stEl.constructor==Object);else if(t1stEl.constructor==Array)output=output.map(function(a){return new google.maps.LatLng(a[0],a[1])});else if(!isNaN(parseFloat(t1stEl))&&isFinite(t1stEl))return new google.maps.LatLng(output[0],output[1])}else output===Object(output)&&(output=getOptions(output,options,!0))}catch(err2){if(input.match(/^[A-Z][a-zA-Z0-9]+\(.*\)$/))try{var exp="new google.maps."+input;output=eval(exp)}catch(e){output=input}else if(input.match(/^([A-Z][a-zA-Z0-9]+)\.([A-Z]+)$/))try{var matches=input.match(/^([A-Z][a-zA-Z0-9]+)\.([A-Z]+)$/);output=google.maps[matches[1]][matches[2]]}catch(e){output=input}else if(input.match(/^[A-Z]+$/))try{var capitalizedKey=key.charAt(0).toUpperCase()+key.slice(1);key.match(/temperatureUnit|windSpeedUnit|labelColor/)?(capitalizedKey=capitalizedKey.replace(/s$/,""),output=google.maps.weather[capitalizedKey][input]):output=google.maps[capitalizedKey][input]}catch(e){output=input}else if(input.match(/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/))try{output=new Date(input)}catch(e){output=input}else output=input}}if("bounds"==options.key&&output instanceof Array&&(output=new google.maps.LatLngBounds(output[0],output[1])),"icons"==options.key&&output instanceof Array)for(var i=0;i<output.length;i++){var el=output[i];el.icon.path.match(/^[A-Z_]+$/)&&(el.icon.path=google.maps.SymbolPath[el.icon.path])}if("icon"==options.key&&output instanceof Object){(""+output.path).match(/^[A-Z_]+$/)&&(output.path=google.maps.SymbolPath[output.path]);for(var key in output){var arr=output[key];"anchor"==key||"origin"==key?output[key]=new google.maps.Point(arr[0],arr[1]):("size"==key||"scaledSize"==key)&&(output[key]=new google.maps.Size(arr[0],arr[1]))}}return output},getAttrsToObserve=function(a){var b=[];a["ng-repeat"]||a.ngRepeat;for(var c in a){var d=a[c];d&&d.match(/\{\{.*\}\}/)&&b.push(camelCase(c))}return b},filter=function(a){var b={};for(var c in a)c.match(/^\$/)||c.match(/^ng[A-Z]/)||(b[c]=a[c]);return b},getOptions=function(a,b,c){var d={};for(var e in a)if(a[e]){if(e.match(/^on[A-Z]/))continue;if(e.match(/ControlOptions$/))continue;"string"!=typeof a[e]?d[e]=a[e]:c&&a[e].match(/^[0-9]+$/)?d[e]=a[e]:d[e]=toOptionValue(a[e],{scope:b,key:e})}return d},getEvents=function(a,b){var c={},d=function(a){return"_"+a.toLowerCase()},e=function(b){var c=b.match(/([^\(]+)\(([^\)]*)\)/),d=c[1],e=c[2].replace(/event[ ,]*/,""),f=$parse("["+e+"]");return function(b){function c(a,b){return a[b]}var e=f(a),g=d.split(".").reduce(c,a);g&&g.apply(this,[b].concat(e)),$timeout(function(){a.$apply()})}};for(var f in b)if(b[f]){if(!f.match(/^on[A-Z]/))continue;var g=f.replace(/^on/,"");g=g.charAt(0).toLowerCase()+g.slice(1),g=g.replace(/([A-Z])/g,d);var h=b[f];c[g]=new e(h)}return c},getControlOptions=function(a){var b={};if("object"!=typeof a)return!1;for(var c in a)if(a[c]){if(!c.match(/(.*)ControlOptions$/))continue;var d=a[c],e=d.replace(/'/g,'"');e=e.replace(/([^"]+)|("[^"]+")/g,function(a,b,c){return b?b.replace(/([a-zA-Z0-9]+?):/g,'"$1":'):c});try{var f=JSON.parse(e);for(var g in f)if(f[g]){var h=f[g];if("string"==typeof h?h=h.toUpperCase():"mapTypeIds"===g&&(h=h.map(function(a){return a.match(/^[A-Z]+$/)?google.maps.MapTypeId[a.toUpperCase()]:a})),"style"===g){var i=c.charAt(0).toUpperCase()+c.slice(1),j=i.replace(/Options$/,"")+"Style";f[g]=google.maps[j][h]}else"position"===g?f[g]=google.maps.ControlPosition[h]:f[g]=h}b[c]=f}catch(k){}}return b};return{camelCase:camelCase,filter:filter,getOptions:getOptions,getEvents:getEvents,getControlOptions:getControlOptions,toOptionValue:toOptionValue,getAttrsToObserve:getAttrsToObserve,orgAttributes:orgAttributes}};Attr2Options.$inject=["$parse","$timeout","$log","NavigatorGeolocation","GeoCoder"],angular.module("ngMap").service("Attr2Options",Attr2Options)}(),function(){"use strict";var a=function(a){return{geocode:function(b){var c=a.defer(),d=new google.maps.Geocoder;return d.geocode(b,function(a,b){b==google.maps.GeocoderStatus.OK?c.resolve(a):c.reject(b)}),c.promise}}};a.$inject=["$q"],angular.module("ngMap").service("GeoCoder",a)}(),function(){"use strict";var a=function(a){return{getCurrentPosition:function(b){var c=a.defer();return navigator.geolocation?(void 0===b?b={timeout:5e3}:void 0===b.timeout&&(b.timeout=5e3),navigator.geolocation.getCurrentPosition(function(a){c.resolve(a)},function(a){c.reject(a)},b)):c.reject("Browser Geolocation service failed."),c.promise},watchPosition:function(){return"TODO"},clearWatch:function(){return"TODO"}}};a.$inject=["$q"],angular.module("ngMap").service("NavigatorGeolocation",a)}(),function(){"use strict";var a=function(a){var b=function(b,c){c=c||b.getCenter();var d=a.defer(),e=new google.maps.StreetViewService;return e.getPanoramaByLocation(c||b.getCenter,100,function(a,b){b===google.maps.StreetViewStatus.OK?d.resolve(a.location.pano):d.resolve(!1)}),d.promise},c=function(a,b){var c=new google.maps.StreetViewPanorama(a.getDiv(),{enableCloseButton:!0});c.setPano(b)};return{getPanorama:b,setPanorama:c}};a.$inject=["$q"],angular.module("ngMap").service("StreetView",a)}(),function(){"use strict";angular.module("ngMap").directive("bicyclingLayer",["Attr2Options",function(a){var b=a,c=function(a,b){var c=new google.maps.BicyclingLayer(a);for(var d in b)google.maps.event.addListener(c,d,b[d]);return c};return{restrict:"E",require:"^map",link:function(a,d,e,f){var g=b.orgAttributes(d),h=b.filter(e),i=b.getOptions(h),j=b.getEvents(a,h),k=c(i,j);f.addObject("bicyclingLayers",k),f.observeAttrSetObj(g,e,k),d.bind("$destroy",function(){f.deleteObject("bicyclingLayers",k)})}}}])}(),function(){"use strict";angular.module("ngMap").directive("cloudLayer",["Attr2Options",function(a){var b=a,c=function(a,b){var c=new google.maps.weather.CloudLayer(a);for(var d in b)google.maps.event.addListener(c,d,b[d]);return c};return{restrict:"E",require:"^map",link:function(a,d,e,f){var g=b.orgAttributes(d),h=b.filter(e),i=b.getOptions(h),j=b.getEvents(a,h),k=c(i,j);f.addObject("cloudLayers",k),f.observeAttrSetObj(g,e,k),d.bind("$destroy",function(){f.deleteObject("cloudLayers",k)})}}}])}(),function(){"use strict";angular.module("ngMap").directive("customControl",["Attr2Options","$compile",function(a,b){var c=a;return{restrict:"E",require:"^map",link:function(a,d,e,f){var g=(c.orgAttributes(d),c.filter(e)),h=c.getOptions(g,a),i=c.getEvents(a,g),j=d[0].parentElement.removeChild(d[0]);b(j.innerHTML.trim())(a);for(var k in i)google.maps.event.addDomListener(j,k,i[k]);f.addObject("customControls",j),a.$on("mapInitialized",function(a,b){var c=h.position;b.controls[google.maps.ControlPosition[c]].push(j)})}}}])}(),function(){"use strict";var a,b,c,d=function(a){a=a||{},this.el=document.createElement("div"),this.el.style.display="inline-block",this.visible=!0;for(var b in a)this[b]=a[b]},e=function(){d.prototype=new google.maps.OverlayView,d.prototype.setContent=function(a,b){this.el.innerHTML=a,this.el.style.position="absolute",b&&c(angular.element(this.el).contents())(b)},d.prototype.setPosition=function(a){if(a&&(this.position=a),this.getProjection()&&"function"==typeof this.position.lng){var b=this.getProjection().fromLatLngToDivPixel(this.position),c=Math.round(b.x-this.el.offsetWidth/2),d=Math.round(b.y-this.el.offsetHeight-10);this.el.style.left=c+"px",this.el.style.top=d+"px"}},d.prototype.setZIndex=function(a){a&&(this.zIndex=a),this.el.style.zIndex=this.zIndex},d.prototype.setVisible=function(a){this.el.style.display=a?"inline-block":"none",this.visible=a},d.prototype.addClass=function(a){var b=this.el.className.trim().split(" ");-1==b.indexOf(a)&&b.push(a),this.el.className=b.join(" ")},d.prototype.removeClass=function(a){var b=this.el.className.split(" "),c=b.indexOf(a);c>-1&&b.splice(c,1),this.el.className=b.join(" ")},d.prototype.onAdd=function(){this.getPanes().overlayMouseTarget.appendChild(this.el)},d.prototype.draw=function(){this.setPosition(),this.setZIndex(this.zIndex),this.setVisible(this.visible)},d.prototype.onRemove=function(){this.el.parentNode.removeChild(this.el),this.el=null}},f=function(c,e){return function(f,g,h,i){var j=(a.orgAttributes(g),a.filter(h)),k=a.getOptions(j,f),l=a.getEvents(f,j),m=g[0].parentElement.removeChild(g[0]),n=new d(k);b(function(){f.$watch("["+e.join(",")+"]",function(a){n.setContent(c,f)}),n.setContent(m.innerHTML,f);var a=m.firstElementChild.className;n.addClass("custom-marker"),n.addClass(a),k.position instanceof google.maps.LatLng||i.getGeoLocation(k.position).then(function(a){n.setPosition(a)})});for(var o in l)google.maps.event.addDomListener(n.el,o,l[o]);i.addObject("customMarkers",n),g.bind("$destroy",function(){i.deleteObject("customMarkers",n)})}},g=function(d,g,h){return a=d,b=g,c=h,e(),{restrict:"E",require:"^map",compile:function(a){var b=a.html(),c=b.match(/{{([^}]+)}}/g),d=[];return(c||[]).forEach(function(a){var b=a.replace("{{","").replace("}}","");-1==a.indexOf("::")&&-1==a.indexOf("this.")&&-1==d.indexOf(b)&&d.push(a.replace("{{","").replace("}}",""))}),f(b,d)}}};g.$inject=["Attr2Options","$timeout","$compile"],angular.module("ngMap").directive("customMarker",g)}(),function(){"use strict";var a=function(a,b){a.panel&&(a.panel=document.getElementById(a.panel)||document.querySelector(a.panel));var c=new google.maps.DirectionsRenderer(a);for(var d in b)google.maps.event.addListener(c,d,b[d]);return c},b=function(b,c,d){var e=b,f=new google.maps.DirectionsService,g=function(a,b){var e=b;e.travelMode=e.travelMode||"DRIVING";var g=["origin","destination","travelMode","transitOptions","unitSystem","durationInTraffic","waypoints","optimizeWaypoints","provideRouteAlternatives","avoidHighways","avoidTolls","region"];for(var h in e)-1===g.indexOf(h)&&delete e[h];e.waypoints&&("[]"==e.waypoints||""==e.waypoints)&&delete e.waypoints;var i=function(b){f.route(b,function(b,d){d==google.maps.DirectionsStatus.OK&&c(function(){a.setDirections(b)})})};e.origin&&e.destination&&("current-location"==e.origin?d.getCurrentPosition().then(function(a){e.origin=new google.maps.LatLng(a.coords.latitude,a.coords.longitude),i(e)}):"current-location"==e.destination?d.getCurrentPosition().then(function(a){e.destination=new google.maps.LatLng(a.coords.latitude,a.coords.longitude),i(e)}):i(e))},h=function(b,d,f,h){var i=e.orgAttributes(d),j=e.filter(f),k=e.getOptions(j),l=e.getEvents(b,j),m=e.getAttrsToObserve(i),n=a(k,l);h.addObject("directionsRenderers",n),m.forEach(function(a){!function(a){f.$observe(a,function(b){if("panel"==a)c(function(){var a=document.getElementById(b)||document.querySelector(b);a&&n.setPanel(a)});else if(k[a]!==b){var d=e.toOptionValue(b,{key:a});k[a]=d,g(n,k)}})}(a)}),b.$on("mapInitialized",function(a,b){g(n,k)}),b.$on("$destroy",function(a,b){h.deleteObject("directionsRenderers",n)})};return{restrict:"E",require:"^map",link:h}};b.$inject=["Attr2Options","$timeout","NavigatorGeolocation"],angular.module("ngMap").directive("directions",b)}(),function(){"use strict";angular.module("ngMap").directive("drawingManager",["Attr2Options",function(a){var b=a;return{restrict:"E",require:"^map",link:function(a,c,d,e){var f=(b.orgAttributes(c),b.filter(d)),g=b.getOptions(f),h=b.getControlOptions(f),i=b.getEvents(a,f),j=new google.maps.drawing.DrawingManager({
+drawingMode:g.drawingmode,drawingControl:g.drawingcontrol,drawingControlOptions:h.drawingControlOptions,circleOptions:g.circleoptions,markerOptions:g.markeroptions,polygonOptions:g.polygonoptions,polylineOptions:g.polylineoptions,rectangleOptions:g.rectangleoptions}),i=b.getEvents(a,f);for(var k in i)google.maps.event.addListener(j,k,i[k]);e.addObject("mapDrawingManager",j)}}}])}(),function(){"use strict";angular.module("ngMap").directive("dynamicMapsEngineLayer",["Attr2Options",function(a){var b=a,c=function(a,b){var c=new google.maps.visualization.DynamicMapsEngineLayer(a);for(var d in b)google.maps.event.addListener(c,d,b[d]);return c};return{restrict:"E",require:"^map",link:function(a,d,e,f){var g=b.filter(e),h=b.getOptions(g),i=b.getEvents(a,g,i),j=c(h,i);f.addObject("mapsEngineLayers",j)}}}])}(),function(){"use strict";angular.module("ngMap").directive("fusionTablesLayer",["Attr2Options",function(a){var b=a,c=function(a,b){var c=new google.maps.FusionTablesLayer(a);for(var d in b)google.maps.event.addListener(c,d,b[d]);return c};return{restrict:"E",require:"^map",link:function(a,d,e,f){var g=b.filter(e),h=b.getOptions(g),i=b.getEvents(a,g,i),j=c(h,i);f.addObject("fusionTablesLayers",j)}}}])}(),function(){"use strict";angular.module("ngMap").directive("heatmapLayer",["Attr2Options","$window",function(a,b){var c=a;return{restrict:"E",require:"^map",link:function(a,d,e,f){var g=c.filter(e),h=c.getOptions(g);if(h.data=b[e.data]||a[e.data],!(h.data instanceof Array))throw"invalid heatmap data";h.data=new google.maps.MVCArray(h.data);var i=new google.maps.visualization.HeatmapLayer(h);c.getEvents(a,g);f.addObject("heatmapLayers",i)}}}])}(),function(){"use strict";var a=function(a,b,c,d){var e=a,f=function(a,d,e){var f;!a.position||a.position instanceof google.maps.LatLng||delete a.position,f=new google.maps.InfoWindow(a),Object.keys(d).length>0;for(var g in d)g&&google.maps.event.addListener(f,g,d[g]);var h=e.html().trim();if(1!=angular.element(h).length)throw"info-window working as a template must have a container";return f.__template=h.replace(/\s?ng-non-bindable[='"]+/,""),f.__compile=function(a,c){c&&(a["this"]=c);var d=b(f.__template)(a);f.setContent(d[0]),a.$apply()},f.__open=function(a,b,d){c(function(){f.__compile(b,d),d&&d.getPosition?f.open(a,d):d&&d instanceof google.maps.LatLng?(f.open(a),f.setPosition(d)):f.open(a)})},f},g=function(a,b,c,g){b.css("display","none");var h,i=e.orgAttributes(b),j=e.filter(c),k=e.getOptions(j,a),l=e.getEvents(a,j);!k.position||k.position instanceof google.maps.LatLng||(h=k.position);var m=f(k,l,b);h&&g.getGeoLocation(h).then(function(b){m.setPosition(b),m.__open(g.map,a,b);var e=c.geoCallback;e&&d(e)(a)}),g.addObject("infoWindows",m),g.observeAttrSetObj(i,c,m),a.$on("mapInitialized",function(b,c){if(m.visible&&m.__open(c,a),m.visibleOnMarker){var d=m.visibleOnMarker;m.__open(c,a,c.markers[d])}}),a.showInfoWindow=function(b,c,d){var e=g.map.infoWindows[c],f=d?d:this.getPosition?this:null;e.__open(g.map,a,f),g.singleInfoWindow&&(g.lastInfoWindow&&a.hideInfoWindow(b,g.lastInfoWindow),g.lastInfoWindow=c)},a.hideInfoWindow=a.hideInfoWindow||function(a,b){var c=g.map.infoWindows[b];c.close()}};return{restrict:"E",require:"^map",link:g}};a.$inject=["Attr2Options","$compile","$timeout","$parse"],angular.module("ngMap").directive("infoWindow",a)}(),function(){"use strict";angular.module("ngMap").directive("kmlLayer",["Attr2Options",function(a){var b=a,c=function(a,b){var c=new google.maps.KmlLayer(a);for(var d in b)google.maps.event.addListener(c,d,b[d]);return c};return{restrict:"E",require:"^map",link:function(a,d,e,f){var g=b.orgAttributes(d),h=b.filter(e),i=b.getOptions(h),j=b.getEvents(a,h),k=c(i,j);f.addObject("kmlLayers",k),f.observeAttrSetObj(g,e,k),d.bind("$destroy",function(){f.deleteObject("kmlLayers",k)})}}}])}(),function(){"use strict";angular.module("ngMap").directive("mapData",["Attr2Options",function(a){var b=a;return{restrict:"E",require:"^map",link:function(a,c,d,e){var f=b.filter(d),g=b.getOptions(f),h=b.getEvents(a,f,h);a.$on("mapInitialized",function(b,c){for(var d in g)if(d){var e=g[d];"function"==typeof a[e]?c.data[d](a[e]):c.data[d](e)}for(var f in h)h[f]&&c.data.addListener(f,h[f])})}}}])}(),function(){"use strict";var a,b,c,d,e=function(c,e,f){var g=f.mapLazyLoadParams||f.mapLazyLoad;if(window.lazyLoadCallback=function(){a(function(){e.html(d),b(e.contents())(c)},100)},void 0===window.google||void 0===window.google.maps){var h=document.createElement("script");h.src=g+(g.indexOf("?")>-1?"&":"?")+"callback=lazyLoadCallback",document.body.appendChild(h)}else e.html(d),b(e.contents())(c)},f=function(a,b){return!b.mapLazyLoad&&void 0,d=a.html(),c=b.mapLazyLoad,document.querySelector('script[src="'+c+(c.indexOf("?")>-1?"&":"?")+'callback=lazyLoadCallback"]')?!1:(a.html(""),{pre:e})},g=function(c,d){return b=c,a=d,{compile:f}};g.$inject=["$compile","$timeout"],angular.module("ngMap").directive("mapLazyLoad",g)}(),function(){"use strict";angular.module("ngMap").directive("mapType",["Attr2Options","$window",function(a,b){return{restrict:"E",require:"^map",link:function(a,c,d,e){var f,g=d.name;if(!g)throw"invalid map-type name";if(d.object){var h=a[d.object]?a:b;f=h[d.object],"function"==typeof f&&(f=new f)}if(!f)throw"invalid map-type object";a.$on("mapInitialized",function(a,b){b.mapTypes.set(g,f)}),e.addObject("mapTypes",f)}}}])}(),function(){"use strict";function a(a,b){var c;return a.currentStyle?c=a.currentStyle[b]:window.getComputedStyle&&(c=document.defaultView.getComputedStyle(a,null).getPropertyValue(b)),c}var b=function(b,c,d){var e=b,f=function(b,f,g,h){var i=e.orgAttributes(f);b.google=google;var j=document.createElement("div");j.style.width="100%",j.style.height="100%",f.prepend(j),"false"!==g.defaultStyle&&("block"!=a(f[0],"display")&&f.css("display","block"),a(f[0],"height").match(/^(0|auto)/)&&f.css("height","300px")),f[0].addEventListener("dragstart",function(a){return a.preventDefault(),!1});var k=function(a,e){var f=new google.maps.Map(j,{});f.markers={},f.shapes={},c(function(){google.maps.event.trigger(f,"resize")}),a.zoom=a.zoom||15;var k=a.center;k?k instanceof google.maps.LatLng||(delete a.center,h.getGeoLocation(k,m.geoLocationOptions).then(function(a){f.setCenter(a);var c=g.geoCallback;c&&d(c)(b)},function(a){f.setCenter(m.geoFallbackCenter)})):a.center=new google.maps.LatLng(0,0),f.setOptions(a),h.singleInfoWindow=a.singleInfoWindow;for(var l in e)l&&google.maps.event.addListener(f,l,e[l]);h.observeAttrSetObj(i,g,f),h.map=f,h.addObjects(h._objects),b.map=f,b.map.scope=b,google.maps.event.addListenerOnce(f,"idle",function(){b.$emit("mapInitialized",f),g.zoomToIncludeMarkers&&(h.zoomToIncludeMarkers(),"auto"==g.zoomToIncludeMarkers&&b.$on("objectChanged",function(a,b){"markers"==b[0]&&h.zoomToIncludeMarkers()}))})},l=e.filter(g),m=e.getOptions(l,b),n=e.getControlOptions(l),o=angular.extend(m,n),p=e.getEvents(b,l);g.initEvent?b.$on(g.initEvent,function(){!h.map&&k(o,p)}):k(o,p)};return{restrict:"AE",controller:"MapController",link:f}};angular.module("ngMap").directive("map",["Attr2Options","$timeout","$parse",b])}(),function(){"use strict";var a=function(a,b,c,d,e){var f=e,g=this,h=function(a,b,c){a.$observe(b,function(a){if(a){var d=f.camelCase("set-"+b),e=f.toOptionValue(a,{key:b});c[d]&&(b.match(/center|position/)&&"string"==typeof e?g.getGeoLocation(e).then(function(a){c[d](a)}):c[d](e))}})};this.map=null,this._objects=[],this.addObject=function(b,c){if(this.map){this.map[b]=this.map[b]||{};var d=Object.keys(this.map[b]).length;this.map[b][c.id||d]=c,"infoWindows"!=b&&c.setMap&&c.setMap&&c.setMap(this.map),c.centered&&c.position&&this.map.setCenter(c.position),a.$emit("objectChanged",[b,this.map[b]])}else c.groupName=b,this._objects.push(c)},this.deleteObject=function(b,c){if(c.map){var d=c.map[b];for(var e in d)d[e]===c&&delete d[e];c.map&&c.setMap&&c.setMap(null),a.$emit("objectChanged",[b,this.map[b]])}},this.addObjects=function(a){for(var b=0;b<a.length;b++){var c=a[b];c instanceof google.maps.Marker?this.addObject("markers",c):c instanceof google.maps.Circle||c instanceof google.maps.Polygon||c instanceof google.maps.Polyline||c instanceof google.maps.Rectangle||c instanceof google.maps.GroundOverlay?this.addObject("shapes",c):this.addObject(c.groupName,c)}},this.getGeoLocation=function(a,e){var f=b.defer();return!a||a.match(/^current/i)?c.getCurrentPosition(e).then(function(a){var b=a.coords.latitude,c=a.coords.longitude,d=new google.maps.LatLng(b,c);f.resolve(d)},function(a){f.reject(a)}):d.geocode({address:a}).then(function(a){f.resolve(a[0].geometry.location)},function(a){f.reject(a)}),f.promise},this.observeAttrSetObj=function(a,b,c){var d=f.getAttrsToObserve(a);Object.keys(d).length;for(var e=0;e<d.length;e++)h(b,d[e],c)},this.zoomToIncludeMarkers=function(){var a=new google.maps.LatLngBounds;for(var b in this.map.markers)a.extend(this.map.markers[b].getPosition());this.map.fitBounds(a)}};a.$inject=["$scope","$q","NavigatorGeolocation","GeoCoder","Attr2Options"],angular.module("ngMap").controller("MapController",a)}(),function(){"use strict";angular.module("ngMap").directive("mapsEngineLayer",["Attr2Options",function(a){var b=a,c=function(a,b){var c=new google.maps.visualization.MapsEngineLayer(a);for(var d in b)google.maps.event.addListener(c,d,b[d]);return c};return{restrict:"E",require:"^map",link:function(a,d,e,f){var g=b.filter(e),h=b.getOptions(g),i=b.getEvents(a,g,i),j=c(h,i);f.addObject("mapsEngineLayers",j)}}}])}(),function(){"use strict";var a=function(a,b){var c;a.position instanceof google.maps.LatLng||(a.position=new google.maps.LatLng(0,0)),c=new google.maps.Marker(a),Object.keys(b).length>0;for(var d in b)d&&google.maps.event.addListener(c,d,b[d]);return c},b=function(b,c){var d=b,e=function(b,e,f,g){var h,i=d.orgAttributes(e),j=d.filter(f),k=d.getOptions(j,b),l=d.getEvents(b,j);k.position instanceof google.maps.LatLng||(h=k.position);var m=a(k,l);g.addObject("markers",m),h&&g.getGeoLocation(h).then(function(a){m.setPosition(a),k.centered&&m.map.setCenter(a);var d=f.geoCallback;d&&c(d)(b)}),k.noWatcher||g.observeAttrSetObj(i,f,m),e.bind("$destroy",function(){g.deleteObject("markers",m)})};return{restrict:"E",require:"^map",link:e}};b.$inject=["Attr2Options","$parse"],angular.module("ngMap").directive("marker",b)}(),function(){"use strict";angular.module("ngMap").directive("overlayMapType",["Attr2Options","$window",function(a,b){return{restrict:"E",require:"^map",link:function(a,c,d,e){var f,g=d.initMethod||"insertAt";if(d.object){var h=a[d.object]?a:b;f=h[d.object],"function"==typeof f&&(f=new f)}if(!f)throw"invalid map-type object";a.$on("mapInitialized",function(a,b){if("insertAt"==g){var c=parseInt(d.index,10);b.overlayMapTypes.insertAt(c,f)}else"push"==g&&b.overlayMapTypes.push(f)}),e.addObject("overlayMapTypes",f)}}}])}(),function(){"use strict";var a=function(a,b){var c=a,d=function(a,d,e,f){if("false"===e.placesAutoComplete)return!1;var g=c.filter(e),h=c.getOptions(g),i=c.getEvents(a,g),j=new google.maps.places.Autocomplete(d[0],h);for(var k in i)google.maps.event.addListener(j,k,i[k]);var l=function(){b(function(){f&&f.$setViewValue(d.val())},100)};google.maps.event.addListener(j,"place_changed",l),d[0].addEventListener("change",l),e.$observe("types",function(a){if(a){var b=c.toOptionValue(a,{key:"types"});j.setTypes(b)}})};return{restrict:"A",require:"?ngModel",link:d}};a.$inject=["Attr2Options","$timeout"],angular.module("ngMap").directive("placesAutoComplete",a)}(),function(){"use strict";var a=function(a,b){var c,d=a.name;switch(delete a.name,d){case"circle":a.center instanceof google.maps.LatLng||(a.center=new google.maps.LatLng(0,0)),c=new google.maps.Circle(a);break;case"polygon":c=new google.maps.Polygon(a);break;case"polyline":c=new google.maps.Polyline(a);break;case"rectangle":c=new google.maps.Rectangle(a);break;case"groundOverlay":case"image":var e=a.url,f={opacity:a.opacity,clickable:a.clickable,id:a.id};c=new google.maps.GroundOverlay(e,a.bounds,f)}for(var g in b)b[g]&&google.maps.event.addListener(c,g,b[g]);return c},b=function(b,c){var d=b,e=function(b,e,f,g){var h,i,j=d.orgAttributes(e),k=d.filter(f),l=d.getOptions(k),m=d.getEvents(b,k);i=l.name,l.center instanceof google.maps.LatLng||(h=l.center);var n=a(l,m);g.addObject("shapes",n),h&&"circle"==i&&g.getGeoLocation(h).then(function(a){n.setCenter(a),n.centered&&n.map.setCenter(a);var d=f.geoCallback;d&&c(d)(b)}),g.observeAttrSetObj(j,f,n),e.bind("$destroy",function(){g.deleteObject("shapes",n)})};return{restrict:"E",require:"^map",link:e}};b.$inject=["Attr2Options","$parse"],angular.module("ngMap").directive("shape",b)}(),function(){"use strict";var a=function(a){var b=a,c=function(a,b,c){var d,e;b.container&&(e=document.getElementById(b.container),e=e||document.querySelector(b.container)),e?d=new google.maps.StreetViewPanorama(e,b):(d=a.getStreetView(),d.setOptions(b));for(var f in c)f&&google.maps.event.addListener(d,f,c[f]);return d},d=function(a,d,e,f){var g=(b.orgAttributes(d),b.filter(e)),h=b.getOptions(g),i=b.getControlOptions(g),j=angular.extend(h,i),k=b.getEvents(a,g);a.$on("mapInitialized",function(a,b){var d=c(b,j,k);b.setStreetView(d),!d.getPosition()&&d.setPosition(b.getCenter()),google.maps.event.addListener(d,"position_changed",function(){d.getPosition()!==b.getCenter()&&b.setCenter(d.getPosition())});var e=google.maps.event.addListener(b,"center_changed",function(){d.setPosition(b.getCenter()),google.maps.event.removeListener(e)})})};return{restrict:"E",require:"^map",link:d}};a.$inject=["Attr2Options"],angular.module("ngMap").directive("streetViewPanorama",a)}(),function(){"use strict";angular.module("ngMap").directive("trafficLayer",["Attr2Options",function(a){var b=a,c=function(a,b){var c=new google.maps.TrafficLayer(a);for(var d in b)google.maps.event.addListener(c,d,b[d]);return c};return{restrict:"E",require:"^map",link:function(a,d,e,f){var g=b.orgAttributes(d),h=b.filter(e),i=b.getOptions(h),j=b.getEvents(a,h),k=c(i,j);f.addObject("trafficLayers",k),f.observeAttrSetObj(g,e,k),d.bind("$destroy",function(){f.deleteObject("trafficLayers",k)})}}}])}(),function(){"use strict";angular.module("ngMap").directive("transitLayer",["Attr2Options",function(a){var b=a,c=function(a,b){var c=new google.maps.TransitLayer(a);for(var d in b)google.maps.event.addListener(c,d,b[d]);return c};return{restrict:"E",require:"^map",link:function(a,d,e,f){var g=b.orgAttributes(d),h=b.filter(e),i=b.getOptions(h),j=b.getEvents(a,h),k=c(i,j);f.addObject("transitLayers",k),f.observeAttrSetObj(g,e,k),d.bind("$destroy",function(){f.deleteObject("transitLayers",k)})}}}])}(),function(){"use strict";angular.module("ngMap").directive("weatherLayer",["Attr2Options",function(a){var b=a,c=function(a,b){var c=new google.maps.weather.WeatherLayer(a);for(var d in b)google.maps.event.addListener(c,d,b[d]);return c};return{restrict:"E",require:"^map",link:function(a,d,e,f){var g=b.orgAttributes(d),h=b.filter(e),i=b.getOptions(h),j=b.getEvents(a,h),k=c(i,j);f.addObject("weatherLayers",k),f.observeAttrSetObj(g,e,k),d.bind("$destroy",function(){f.deleteObject("weatherLayers",k)})}}}])}(),function(a,b){"use strict";var c=["ng","oc.lazyLoad"],d={},e=[],f=[],g=[],h=[],i=a.noop,j={},k=[],l=a.module("oc.lazyLoad",["ng"]);l.provider("$ocLazyLoad",["$controllerProvider","$provide","$compileProvider","$filterProvider","$injector","$animateProvider",function(l,m,p,q,r,s){function t(b,d,e){if(d){var f,h,l,m=[];for(f=d.length-1;f>=0;f--)if(h=d[f],a.isString(h)||(h=w(h)),h&&-1===k.indexOf(h)&&(!y[h]||-1!==g.indexOf(h))){var n=-1===c.indexOf(h);if(l=o(h),n&&(c.push(h),t(b,l.requires,e)),l._runBlocks.length>0)for(j[h]=[];l._runBlocks.length>0;)j[h].push(l._runBlocks.shift());a.isDefined(j[h])&&(n||e.rerun)&&(m=m.concat(j[h])),v(b,l._invokeQueue,h,e.reconfig),v(b,l._configBlocks,h,e.reconfig),i(n?"ocLazyLoad.moduleLoaded":"ocLazyLoad.moduleReloaded",h),d.pop(),k.push(h)}var p=b.getInstanceInjector();a.forEach(m,function(a){p.invoke(a)})}}function u(b,c){function e(b,c){var d,e=!0;return c.length&&(d=f(b),a.forEach(c,function(a){e=e&&f(a)!==d})),e}function f(b){return a.isArray(b)?F(b.toString()):a.isObject(b)?F(E(b)):a.isDefined(b)&&null!==b?F(b.toString()):b}var g=b[2][0],h=b[1],j=!1;a.isUndefined(d[c])&&(d[c]={}),a.isUndefined(d[c][h])&&(d[c][h]={});var k=function(a,b){d[c][h].hasOwnProperty(a)||(d[c][h][a]=[]),e(b,d[c][h][a])&&(j=!0,d[c][h][a].push(b),i("ocLazyLoad.componentLoaded",[c,h,a]))};if(a.isString(g))k(g,b[2][1]);else{if(!a.isObject(g))return!1;a.forEach(g,function(b,c){a.isString(b)?k(b,g[1]):k(c,b)})}return j}function v(b,c,d,f){if(c){var g,h,i,j;for(g=0,h=c.length;h>g;g++)if(i=c[g],a.isArray(i)){if(null!==b){if(!b.hasOwnProperty(i[0]))throw new Error("unsupported provider "+i[0]);j=b[i[0]]}var k=u(i,d);if("invoke"!==i[1])k&&a.isDefined(j)&&j[i[1]].apply(j,i[2]);else{var l=function(b){var c=e.indexOf(d+"-"+b);(-1===c||f)&&(-1===c&&e.push(d+"-"+b),a.isDefined(j)&&j[i[1]].apply(j,i[2]))};if(a.isFunction(i[2][0]))l(i[2][0]);else if(a.isArray(i[2][0]))for(var m=0,n=i[2][0].length;n>m;m++)a.isFunction(i[2][0][m])&&l(i[2][0][m])}}}}function w(b){var c=null;return a.isString(b)?c=b:a.isObject(b)&&b.hasOwnProperty("name")&&a.isString(b.name)&&(c=b.name),c}function x(b){if(!a.isString(b))return!1;try{return o(b)}catch(c){if(/No module/.test(c)||c.message.indexOf("$injector:nomod")>-1)return!1}}var y={},z={$controllerProvider:l,$compileProvider:p,$filterProvider:q,$provide:m,$injector:r,$animateProvider:s},A=!1,B=!1,C=[],D={};C.push=function(a){-1===this.indexOf(a)&&Array.prototype.push.apply(this,arguments)},this.config=function(b){a.isDefined(b.modules)&&(a.isArray(b.modules)?a.forEach(b.modules,function(a){y[a.name]=a}):y[b.modules.name]=b.modules),a.isDefined(b.debug)&&(A=b.debug),a.isDefined(b.events)&&(B=b.events)},this._init=function(d){if(0===f.length){var e=[d],g=["ng:app","ng-app","x-ng-app","data-ng-app"],i=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/,j=function(a){return a&&e.push(a)};a.forEach(g,function(b){g[b]=!0,j(document.getElementById(b)),b=b.replace(":","\\:"),"undefined"!=typeof d[0]&&d[0].querySelectorAll&&(a.forEach(d[0].querySelectorAll("."+b),j),a.forEach(d[0].querySelectorAll("."+b+"\\:"),j),a.forEach(d[0].querySelectorAll("["+b+"]"),j))}),a.forEach(e,function(b){if(0===f.length){var c=" "+d.className+" ",e=i.exec(c);e?f.push((e[2]||"").replace(/\s+/g,",")):a.forEach(b.attributes,function(a){0===f.length&&g[a.name]&&f.push(a.value)})}})}0!==f.length||(b.jasmine||b.mocha)&&a.isDefined(a.mock)||console.error("No module found during bootstrap, unable to init ocLazyLoad. You should always use the ng-app directive or angular.boostrap when you use ocLazyLoad.");var k=function l(b){if(-1===c.indexOf(b)){c.push(b);var d=a.module(b);v(null,d._invokeQueue,b),v(null,d._configBlocks,b),a.forEach(d.requires,l)}};a.forEach(f,function(a){k(a)}),f=[],h.pop()};var E=function(b){try{return JSON.stringify(b)}catch(c){var d=[];return JSON.stringify(b,function(b,c){if(a.isObject(c)&&null!==c){if(-1!==d.indexOf(c))return;d.push(c)}return c})}},F=function(a){var b,c,d,e=0;if(0==a.length)return e;for(b=0,d=a.length;d>b;b++)c=a.charCodeAt(b),e=(e<<5)-e+c,e|=0;return e};this.$get=["$log","$rootElement","$rootScope","$cacheFactory","$q",function(b,e,g,j,l){function m(a){var c=l.defer();return b.error(a.message),c.reject(a),c.promise}var p,q=j("ocLazyLoad");return A||(b={},b.error=a.noop,b.warn=a.noop,b.info=a.noop),z.getInstanceInjector=function(){return p?p:p=e.data("$injector")||a.injector()},i=function(a,c){B&&g.$broadcast(a,c),A&&b.info(a,c)},{_broadcast:i,_$log:b,_getFilesCache:function(){return q},toggleWatch:function(a){a?h.push(!0):h.pop()},getModuleConfig:function(b){if(!a.isString(b))throw new Error("You need to give the name of the module to get");return y[b]?a.copy(y[b]):null},setModuleConfig:function(b){if(!a.isObject(b))throw new Error("You need to give the module config object to set");return y[b.name]=b,b},getModules:function(){return c},isLoaded:function(b){var d=function(a){var b=c.indexOf(a)>-1;return b||(b=!!x(a)),b};if(a.isString(b)&&(b=[b]),a.isArray(b)){var e,f;for(e=0,f=b.length;f>e;e++)if(!d(b[e]))return!1;return!0}throw new Error("You need to define the module(s) name(s)")},_getModuleName:w,_getModule:function(a){try{return o(a)}catch(b){throw(/No module/.test(b)||b.message.indexOf("$injector:nomod")>-1)&&(b.message='The module "'+E(a)+'" that you are trying to load does not exist. '+b.message),b}},moduleExists:x,_loadDependencies:function(b,c){var d,e,f,g=[],h=this;if(b=h._getModuleName(b),null===b)return l.when();try{d=h._getModule(b)}catch(i){return m(i)}return e=h.getRequires(d),a.forEach(e,function(d){if(a.isString(d)){var e=h.getModuleConfig(d);if(null===e)return void C.push(d);d=e,e.name=void 0}if(h.moduleExists(d.name))return f=d.files.filter(function(a){return h.getModuleConfig(d.name).files.indexOf(a)<0}),0!==f.length&&h._$log.warn('Module "',b,'" attempted to redefine configuration for dependency. "',d.name,'"\n Additional Files Loaded:',f),a.isDefined(h.filesLoader)?void g.push(h.filesLoader(d,c).then(function(){return h._loadDependencies(d)})):m(new Error("Error: New dependencies need to be loaded from external files ("+d.files+"), but no loader has been defined."));if(a.isArray(d)){var i=[];a.forEach(d,function(a){var b=h.getModuleConfig(a);null===b?i.push(a):b.files&&(i=i.concat(b.files))}),i.length>0&&(d={files:i})}else a.isObject(d)&&d.hasOwnProperty("name")&&d.name&&(h.setModuleConfig(d),C.push(d.name));if(a.isDefined(d.files)&&0!==d.files.length){if(!a.isDefined(h.filesLoader))return m(new Error('Error: the module "'+d.name+'" is defined in external files ('+d.files+"), but no loader has been defined."));g.push(h.filesLoader(d,c).then(function(){return h._loadDependencies(d)}))}}),l.all(g)},inject:function(b){var c=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],d=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],e=this,g=l.defer();if(a.isDefined(b)&&null!==b){if(a.isArray(b)){var h=[];return a.forEach(b,function(a){h.push(e.inject(a,c,d))}),l.all(h)}e._addToLoadList(e._getModuleName(b),!0,d)}if(f.length>0){var i=f.slice(),j=function m(a){C.push(a),D[a]=g.promise,e._loadDependencies(a,c).then(function(){try{k=[],t(z,C,c)}catch(a){return e._$log.error(a.message),void g.reject(a)}f.length>0?m(f.shift()):g.resolve(i)},function(a){g.reject(a)})};j(f.shift())}else{if(c&&c.name&&D[c.name])return D[c.name];g.resolve()}return g.promise},getRequires:function(b){var d=[];return a.forEach(b.requires,function(a){-1===c.indexOf(a)&&d.push(a)}),d},_invokeQueue:v,_registerInvokeList:u,_register:t,_addToLoadList:n,_unregister:function(b){a.isDefined(b)&&a.isArray(b)&&a.forEach(b,function(a){d[a]=void 0})}}}],this._init(a.element(b.document))}]);var m=a.bootstrap;a.bootstrap=function(b,c,d){return a.forEach(c.slice(),function(a){n(a,!0,!0)}),m(b,c,d)};var n=function(b,c,d){(h.length>0||c)&&a.isString(b)&&-1===f.indexOf(b)&&(f.push(b),d&&g.push(b))},o=a.module;a.module=function(a,b,c){return n(a,!1,!0),o(a,b,c)},"undefined"!=typeof module&&"undefined"!=typeof exports&&module.exports===exports&&(module.exports="oc.lazyLoad")}(angular,window),function(a){"use strict";a.module("oc.lazyLoad").directive("ocLazyLoad",["$ocLazyLoad","$compile","$animate","$parse","$timeout",function(b,c,d,e,f){return{restrict:"A",terminal:!0,priority:1e3,compile:function(f,g){var h=f[0].innerHTML;return f.html(""),function(f,g,i){var j=e(i.ocLazyLoad);f.$watch(function(){return j(f)||i.ocLazyLoad},function(e){a.isDefined(e)&&b.load(e).then(function(){d.enter(h,g),c(g.contents())(f)})},!0)}}}}])}(angular),function(a){"use strict";a.module("oc.lazyLoad").config(["$provide",function(b){b.decorator("$ocLazyLoad",["$delegate","$q","$window","$interval",function(b,c,d,e){var f=!1,g=!1,h=d.document.getElementsByTagName("head")[0]||d.document.getElementsByTagName("body")[0];return b.buildElement=function(i,j,k){var l,m,n=c.defer(),o=b._getFilesCache(),p=function(a){var b=(new Date).getTime();return a.indexOf("?")>=0?"&"===a.substring(0,a.length-1)?a+"_dc="+b:a+"&_dc="+b:a+"?_dc="+b};switch(a.isUndefined(o.get(j))&&o.put(j,n.promise),i){case"css":l=d.document.createElement("link"),l.type="text/css",l.rel="stylesheet",l.href=k.cache===!1?p(j):j;break;case"js":l=d.document.createElement("script"),l.src=k.cache===!1?p(j):j;break;default:o.remove(j),n.reject(new Error('Requested type "'+i+'" is not known. Could not inject "'+j+'"'))}l.onload=l.onreadystatechange=function(a){l.readyState&&!/^c|loade/.test(l.readyState)||m||(l.onload=l.onreadystatechange=null,m=1,b._broadcast("ocLazyLoad.fileLoaded",j),n.resolve())},l.onerror=function(){o.remove(j),n.reject(new Error("Unable to load "+j))},l.async=k.serie?0:1;var q=h.lastChild;if(k.insertBefore){var r=a.element(a.isDefined(window.jQuery)?k.insertBefore:document.querySelector(k.insertBefore));r&&r.length>0&&(q=r[0])}if(q.parentNode.insertBefore(l,q),"css"==i){if(!f){var s=d.navigator.userAgent.toLowerCase();if(/iP(hone|od|ad)/.test(d.navigator.platform)){var t=d.navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/),u=parseFloat([parseInt(t[1],10),parseInt(t[2],10),parseInt(t[3]||0,10)].join("."));g=6>u}else if(s.indexOf("android")>-1){var v=parseFloat(s.slice(s.indexOf("android")+8));g=4.4>v}else if(s.indexOf("safari")>-1){var w=s.match(/version\/([\.\d]+)/i);g=w&&w[1]&&parseFloat(w[1])<6}}if(g)var x=1e3,y=e(function(){try{l.sheet.cssRules,e.cancel(y),l.onload()}catch(a){--x<=0&&l.onerror()}},20)}return n.promise},b}])}])}(angular),function(a){"use strict";a.module("oc.lazyLoad").config(["$provide",function(b){b.decorator("$ocLazyLoad",["$delegate","$q",function(b,c){return b.filesLoader=function(d){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],f=[],g=[],h=[],i=[],j=null,k=b._getFilesCache();b.toggleWatch(!0),a.extend(e,d);var l=function(c){var d,l=null;if(a.isObject(c)&&(l=c.type,c=c.path),j=k.get(c),a.isUndefined(j)||e.cache===!1){if(null!==(d=/^(css|less|html|htm|js)?(?=!)/.exec(c))&&(l=d[1],c=c.substr(d[1].length+1,c.length)),!l)if(null!==(d=/[.](css|less|html|htm|js)?((\?|#).*)?$/.exec(c)))l=d[1];else{if(b.jsLoader.hasOwnProperty("ocLazyLoadLoader")||!b.jsLoader.hasOwnProperty("requirejs"))return void b._$log.error("File type could not be determined. "+c);l="js"}"css"!==l&&"less"!==l||-1!==f.indexOf(c)?"html"!==l&&"htm"!==l||-1!==g.indexOf(c)?"js"===l||-1===h.indexOf(c)?h.push(c):b._$log.error("File type is not valid. "+c):g.push(c):f.push(c)}else j&&i.push(j)};if(e.serie?l(e.files.shift()):a.forEach(e.files,function(a){l(a)}),f.length>0){var m=c.defer();b.cssLoader(f,function(c){a.isDefined(c)&&b.cssLoader.hasOwnProperty("ocLazyLoadLoader")?(b._$log.error(c),m.reject(c)):m.resolve()},e),i.push(m.promise)}if(g.length>0){var n=c.defer();b.templatesLoader(g,function(c){a.isDefined(c)&&b.templatesLoader.hasOwnProperty("ocLazyLoadLoader")?(b._$log.error(c),n.reject(c)):n.resolve()},e),i.push(n.promise)}if(h.length>0){var o=c.defer();b.jsLoader(h,function(c){a.isDefined(c)&&(b.jsLoader.hasOwnProperty("ocLazyLoadLoader")||b.jsLoader.hasOwnProperty("requirejs"))?(b._$log.error(c),o.reject(c)):o.resolve()},e),i.push(o.promise)}if(0===i.length){var p=c.defer(),q="Error: no file to load has been found, if you're trying to load an existing module you should use the 'inject' method instead of 'load'.";return b._$log.error(q),p.reject(q),p.promise}return e.serie&&e.files.length>0?c.all(i).then(function(){return b.filesLoader(d,e)}):c.all(i)["finally"](function(a){return b.toggleWatch(!1),a})},b.load=function(d){var e,f=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],g=this,h=null,i=[],j=c.defer(),k=a.copy(d),l=a.copy(f);if(a.isArray(k))return a.forEach(k,function(a){i.push(g.load(a,l))}),c.all(i).then(function(a){j.resolve(a)},function(a){j.reject(a)}),j.promise;if(a.isString(k)?(h=g.getModuleConfig(k),h||(h={files:[k]})):a.isObject(k)&&(h=a.isDefined(k.path)&&a.isDefined(k.type)?{files:[k]}:g.setModuleConfig(k)),null===h){var m=g._getModuleName(k);return e='Module "'+(m||"unknown")+'" is not configured, cannot load.',b._$log.error(e),j.reject(new Error(e)),j.promise}a.isDefined(h.template)&&(a.isUndefined(h.files)&&(h.files=[]),a.isString(h.template)?h.files.push(h.template):a.isArray(h.template)&&h.files.concat(h.template));var n=a.extend({},l,h);return a.isUndefined(h.files)&&a.isDefined(h.name)&&b.moduleExists(h.name)?b.inject(h.name,n,!0):(b.filesLoader(h,n).then(function(){b.inject(null,n).then(function(a){j.resolve(a)},function(a){j.reject(a)})},function(a){j.reject(a)}),j.promise)},b}])}])}(angular),function(a){"use strict";a.module("oc.lazyLoad").config(["$provide",function(b){b.decorator("$ocLazyLoad",["$delegate","$q",function(b,c){return b.cssLoader=function(d,e,f){var g=[];a.forEach(d,function(a){g.push(b.buildElement("css",a,f))}),c.all(g).then(function(){e()},function(a){e(a)})},b.cssLoader.ocLazyLoadLoader=!0,b}])}])}(angular),function(a){"use strict";a.module("oc.lazyLoad").config(["$provide",function(b){b.decorator("$ocLazyLoad",["$delegate","$q",function(b,c){return b.jsLoader=function(d,e,f){var g=[];a.forEach(d,function(a){g.push(b.buildElement("js",a,f))}),c.all(g).then(function(){e()},function(a){e(a)})},b.jsLoader.ocLazyLoadLoader=!0,b}])}])}(angular),function(a){"use strict";a.module("oc.lazyLoad").config(["$provide",function(b){b.decorator("$ocLazyLoad",["$delegate","$templateCache","$q","$http",function(b,c,d,e){return b.templatesLoader=function(f,g,h){var i=[],j=b._getFilesCache();return a.forEach(f,function(b){var f=d.defer();i.push(f.promise),e.get(b,h).success(function(d){a.isString(d)&&d.length>0&&a.forEach(a.element(d),function(a){"SCRIPT"===a.nodeName&&"text/ng-template"===a.type&&c.put(a.id,a.innerHTML)}),a.isUndefined(j.get(b))&&j.put(b,!0),f.resolve()}).error(function(a){f.reject(new Error('Unable to load template file "'+b+'": '+a))})}),d.all(i).then(function(){g()},function(a){g(a)})},b.templatesLoader.ocLazyLoadLoader=!0,b}])}])}(angular),Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){var c;if(null==this)throw new TypeError('"this" is null or not defined');var d=Object(this),e=d.length>>>0;if(0===e)return-1;var f=+b||0;if(Math.abs(f)===1/0&&(f=0),f>=e)return-1;for(c=Math.max(f>=0?f:e-Math.abs(f),0);e>c;){if(c in d&&d[c]===a)return c;c++}return-1}),"undefined"==typeof PDFJS&&(("undefined"!=typeof window?window:this).PDFJS={}),PDFJS.version="1.1.551",PDFJS.build="2a5616c",function(){"use strict";function a(a){PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.infos&&console.log("Info: "+a)}function b(a){PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.warnings&&console.log("Warning: "+a)}function c(a){b("Deprecated API usage: "+a)}function d(a){throw PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.errors&&(console.log("Error: "+a),console.log(e())),I.notify(H.unknown),new Error(a)}function e(){try{throw new Error}catch(a){return a.stack?a.stack.split("\n").slice(2).join("\n"):""}}function f(a,b){a||d(b)}function g(a,b){if(!b)return a;if(/^[a-z][a-z0-9+\-.]*:/i.test(b))return b;var c;if("/"===b.charAt(0))return c=a.indexOf("://"),"/"===b.charAt(1)?++c:c=a.indexOf("/",c+3),a.substring(0,c)+b;var d=a.length;c=a.lastIndexOf("#"),d=c>=0?c:d,c=a.lastIndexOf("?",d),d=c>=0?c:d;var e=a.lastIndexOf("/",d);return a.substring(0,e+1)+b}function h(a,b){if(!a)return!1;var c=/^[a-z][a-z0-9+\-.]*(?=:)/i.exec(a);if(!c)return b;switch(c=c[0].toLowerCase()){case"http":case"https":case"ftp":case"mailto":case"tel":return!0;default:return!1}}function i(a,b,c){return Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!1}),c}function j(){switch(PDFJS.openExternalLinksInNewWindow&&(b("PDFJS.openExternalLinksInNewWindow is deprecated, use PDFJS.externalLinkTarget instead."),PDFJS.externalLinkTarget===J.NONE&&(PDFJS.externalLinkTarget=J.BLANK),PDFJS.openExternalLinksInNewWindow=!1),PDFJS.externalLinkTarget){case J.NONE:return!1;case J.SELF:case J.BLANK:case J.PARENT:case J.TOP:return!0}return b("PDFJS.externalLinkTarget is invalid: "+PDFJS.externalLinkTarget),
+PDFJS.externalLinkTarget=J.NONE,!1}function k(a){f(null!==a&&"object"==typeof a&&void 0!==a.length,"Invalid argument for bytesToString");var b=a.length,c=8192;if(c>b)return String.fromCharCode.apply(null,a);for(var d=[],e=0;b>e;e+=c){var g=Math.min(e+c,b),h=a.subarray(e,g);d.push(String.fromCharCode.apply(null,h))}return d.join("")}function l(a){f("string"==typeof a,"Invalid argument for stringToBytes");for(var b=a.length,c=new Uint8Array(b),d=0;b>d;++d)c[d]=255&a.charCodeAt(d);return c}function m(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,255&a)}function n(){var a=new Uint8Array(2);a[0]=1;var b=new Uint16Array(a.buffer);return 1===b[0]}function o(){var a=document.createElement("canvas");a.width=a.height=1;var b=a.getContext("2d"),c=b.createImageData(1,1);return"undefined"!=typeof c.data.buffer}function p(a){return"number"==typeof a}function q(a){return a instanceof Array}function r(a){return"object"==typeof a&&null!==a&&void 0!==a.byteLength}function s(){var a={};return a.promise=new Promise(function(b,c){a.resolve=b,a.reject=c}),a}function t(a,b){this.name=a,this.comObj=b,this.callbackIndex=1,this.postMessageTransfers=!0;var c=this.callbacksCapabilities={},e=this.actionHandler={};e.console_log=[function(a){console.log.apply(console,a)}],e.console_error=[function(a){console.error.apply(console,a)}],e._unsupported_feature=[function(a){I.notify(a)}],b.onmessage=function(a){var f=a.data;if(f.isReply){var g=f.callbackId;if(f.callbackId in c){var h=c[g];delete c[g],"error"in f?h.reject(f.error):h.resolve(f.data)}else d("Cannot resolve callback "+g)}else if(f.action in e){var i=e[f.action];f.callbackId?Promise.resolve().then(function(){return i[0].call(i[1],f.data)}).then(function(a){b.postMessage({isReply:!0,callbackId:f.callbackId,data:a})},function(a){a instanceof Error&&(a+=""),b.postMessage({isReply:!0,callbackId:f.callbackId,error:a})}):i[0].call(i[1],f.data)}else d("Unknown action from worker: "+f.action)}}function u(a,c,d){var e=new Image;e.onload=function(){d.resolve(a,e)},e.onerror=function(){d.resolve(a,null),b("Error during JPEG image loading")},e.src=c}function v(a,b){var c=document.createElement("canvas");return c.width=a,c.height=b,c}function w(a){a.mozCurrentTransform||(a._originalSave=a.save,a._originalRestore=a.restore,a._originalRotate=a.rotate,a._originalScale=a.scale,a._originalTranslate=a.translate,a._originalTransform=a.transform,a._originalSetTransform=a.setTransform,a._transformMatrix=a._transformMatrix||[1,0,0,1,0,0],a._transformStack=[],Object.defineProperty(a,"mozCurrentTransform",{get:function(){return this._transformMatrix}}),Object.defineProperty(a,"mozCurrentTransformInverse",{get:function(){var a=this._transformMatrix,b=a[0],c=a[1],d=a[2],e=a[3],f=a[4],g=a[5],h=b*e-c*d,i=c*d-b*e;return[e/h,c/i,d/i,b/h,(e*f-d*g)/i,(c*f-b*g)/h]}}),a.save=function(){var a=this._transformMatrix;this._transformStack.push(a),this._transformMatrix=a.slice(0,6),this._originalSave()},a.restore=function(){var a=this._transformStack.pop();a&&(this._transformMatrix=a,this._originalRestore())},a.translate=function(a,b){var c=this._transformMatrix;c[4]=c[0]*a+c[2]*b+c[4],c[5]=c[1]*a+c[3]*b+c[5],this._originalTranslate(a,b)},a.scale=function(a,b){var c=this._transformMatrix;c[0]=c[0]*a,c[1]=c[1]*a,c[2]=c[2]*b,c[3]=c[3]*b,this._originalScale(a,b)},a.transform=function(b,c,d,e,f,g){var h=this._transformMatrix;this._transformMatrix=[h[0]*b+h[2]*c,h[1]*b+h[3]*c,h[0]*d+h[2]*e,h[1]*d+h[3]*e,h[0]*f+h[2]*g+h[4],h[1]*f+h[3]*g+h[5]],a._originalTransform(b,c,d,e,f,g)},a.setTransform=function(b,c,d,e,f,g){this._transformMatrix=[b,c,d,e,f,g],a._originalSetTransform(b,c,d,e,f,g)},a.rotate=function(a){var b=Math.cos(a),c=Math.sin(a),d=this._transformMatrix;this._transformMatrix=[d[0]*b+d[2]*c,d[1]*b+d[3]*c,d[0]*-c+d[2]*b,d[1]*-c+d[3]*b,d[4],d[5]],this._originalRotate(a)})}function x(a){var b,c,d,e,f=1e3,g=a.width,h=a.height,i=g+1,j=new Uint8Array(i*(h+1)),k=new Uint8Array([0,2,4,0,1,0,5,4,8,10,0,8,0,2,1,0]),l=g+7&-8,m=a.data,n=new Uint8Array(l*h),o=0;for(b=0,e=m.length;e>b;b++)for(var p=128,q=m[b];p>0;)n[o++]=q&p?0:255,p>>=1;var r=0;for(o=0,0!==n[o]&&(j[0]=1,++r),c=1;g>c;c++)n[o]!==n[o+1]&&(j[c]=n[o]?2:1,++r),o++;for(0!==n[o]&&(j[c]=2,++r),b=1;h>b;b++){o=b*l,d=b*i,n[o-l]!==n[o]&&(j[d]=n[o]?1:8,++r);var s=(n[o]?4:0)+(n[o-l]?8:0);for(c=1;g>c;c++)s=(s>>2)+(n[o+1]?4:0)+(n[o-l+1]?8:0),k[s]&&(j[d+c]=k[s],++r),o++;if(n[o-l]!==n[o]&&(j[d+c]=n[o]?2:4,++r),r>f)return null}for(o=l*(h-1),d=b*i,0!==n[o]&&(j[d]=8,++r),c=1;g>c;c++)n[o]!==n[o+1]&&(j[d+c]=n[o]?4:8,++r),o++;if(0!==n[o]&&(j[d+c]=4,++r),r>f)return null;var t=new Int32Array([0,i,-1,0,-i,0,0,0,1]),u=[];for(b=0;r&&h>=b;b++){for(var v=b*i,w=v+g;w>v&&!j[v];)v++;if(v!==w){var x,y=[v%i,b],z=j[v],A=v;do{var B=t[z];do v+=B;while(!j[v]);x=j[v],5!==x&&10!==x?(z=x,j[v]=0):(z=x&51*z>>4,j[v]&=z>>2|z<<2),y.push(v%i),y.push(v/i|0),--r}while(A!==v);u.push(y),--b}}var C=function(a){a.save(),a.scale(1/g,-1/h),a.translate(0,-h),a.beginPath();for(var b=0,c=u.length;c>b;b++){var d=u[b];a.moveTo(d[0],d[1]);for(var e=2,f=d.length;f>e;e+=2)a.lineTo(d[e],d[e+1])}a.fill(),a.beginPath(),a.restore()};return C}function y(a){var b=ma[a[0]];return b||d("Unknown IR type: "+a[0]),b.fromIR(a)}var z="undefined"==typeof window?this:window,A="undefined"==typeof window,B=[.001,0,0,.001,0,0],C={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_ADD_TO_PATH:4,STROKE_ADD_TO_PATH:5,FILL_STROKE_ADD_TO_PATH:6,ADD_TO_PATH:7,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4},D={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},E={WIDGET:1,TEXT:2,LINK:3},F={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5};z.PDFJS||(z.PDFJS={}),z.PDFJS.pdfBug=!1,PDFJS.VERBOSITY_LEVELS={errors:0,warnings:1,infos:5};var G=PDFJS.OPS={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotations:78,endAnnotations:79,beginAnnotation:80,endAnnotation:81,paintJpegXObject:82,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91},H=PDFJS.UNSUPPORTED_FEATURES={unknown:"unknown",forms:"forms",javaScript:"javaScript",smask:"smask",shadingPattern:"shadingPattern",font:"font"},I=PDFJS.UnsupportedManager=function(){var a=[];return{listen:function(b){a.push(b)},notify:function(c){b('Unsupported feature "'+c+'"');for(var d=0,e=a.length;e>d;d++)a[d](c)}}}();PDFJS.isValidUrl=h,PDFJS.shadow=i;var J=PDFJS.LinkTarget={NONE:0,SELF:1,BLANK:2,PARENT:3,TOP:4},K=["","_self","_blank","_parent","_top"];PDFJS.isExternalLinkTargetSet=j;var L=PDFJS.PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},M=function(){function a(a,b){this.name="PasswordException",this.message=a,this.code=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.PasswordException=M;var N=function(){function a(a,b){this.name="UnknownErrorException",this.message=a,this.details=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.UnknownErrorException=N;var O=function(){function a(a){this.name="InvalidPDFException",this.message=a}return a.prototype=new Error,a.constructor=a,a}();PDFJS.InvalidPDFException=O;var P=function(){function a(a){this.name="MissingPDFException",this.message=a}return a.prototype=new Error,a.constructor=a,a}();PDFJS.MissingPDFException=P;var Q=function(){function a(a,b){this.name="UnexpectedResponseException",this.message=a,this.status=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.UnexpectedResponseException=Q;(function(){function a(a){this.message=a}return a.prototype=new Error,a.prototype.name="NotImplementedException",a.constructor=a,a})(),function(){function a(a,b){this.begin=a,this.end=b,this.message="Missing data ["+a+", "+b+")"}return a.prototype=new Error,a.prototype.name="MissingDataException",a.constructor=a,a}(),function(){function a(a){this.message=a}return a.prototype=new Error,a.prototype.name="XRefParseException",a.constructor=a,a}();Object.defineProperty(PDFJS,"isLittleEndian",{configurable:!0,get:function(){return i(PDFJS,"isLittleEndian",n())}}),Object.defineProperty(PDFJS,"hasCanvasTypedArrays",{configurable:!0,get:function(){return i(PDFJS,"hasCanvasTypedArrays",o())}});var R=function(){function a(a,b){this.buffer=a,this.byteLength=a.length,this.length=void 0===b?this.byteLength>>2:b,c(this.length)}function b(a){return{get:function(){var b=this.buffer,c=a<<2;return(b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24)>>>0},set:function(b){var c=this.buffer,d=a<<2;c[d]=255&b,c[d+1]=b>>8&255,c[d+2]=b>>16&255,c[d+3]=b>>>24&255}}}function c(c){for(;c>d;)Object.defineProperty(a.prototype,d,b(d)),d++}a.prototype=Object.create(null);var d=0;return a}(),S=[1,0,0,1,0,0],T=PDFJS.Util=function(){function a(){}var b=["rgb(",0,",",0,",",0,")"];return a.makeCssRgb=function(a,c,d){return b[1]=a,b[3]=c,b[5]=d,b.join("")},a.transform=function(a,b){return[a[0]*b[0]+a[2]*b[1],a[1]*b[0]+a[3]*b[1],a[0]*b[2]+a[2]*b[3],a[1]*b[2]+a[3]*b[3],a[0]*b[4]+a[2]*b[5]+a[4],a[1]*b[4]+a[3]*b[5]+a[5]]},a.applyTransform=function(a,b){var c=a[0]*b[0]+a[1]*b[2]+b[4],d=a[0]*b[1]+a[1]*b[3]+b[5];return[c,d]},a.applyInverseTransform=function(a,b){var c=b[0]*b[3]-b[1]*b[2],d=(a[0]*b[3]-a[1]*b[2]+b[2]*b[5]-b[4]*b[3])/c,e=(-a[0]*b[1]+a[1]*b[0]+b[4]*b[1]-b[5]*b[0])/c;return[d,e]},a.getAxialAlignedBoundingBox=function(b,c){var d=a.applyTransform(b,c),e=a.applyTransform(b.slice(2,4),c),f=a.applyTransform([b[0],b[3]],c),g=a.applyTransform([b[2],b[1]],c);return[Math.min(d[0],e[0],f[0],g[0]),Math.min(d[1],e[1],f[1],g[1]),Math.max(d[0],e[0],f[0],g[0]),Math.max(d[1],e[1],f[1],g[1])]},a.inverseTransform=function(a){var b=a[0]*a[3]-a[1]*a[2];return[a[3]/b,-a[1]/b,-a[2]/b,a[0]/b,(a[2]*a[5]-a[4]*a[3])/b,(a[4]*a[1]-a[5]*a[0])/b]},a.apply3dTransform=function(a,b){return[a[0]*b[0]+a[1]*b[1]+a[2]*b[2],a[3]*b[0]+a[4]*b[1]+a[5]*b[2],a[6]*b[0]+a[7]*b[1]+a[8]*b[2]]},a.singularValueDecompose2dScale=function(a){var b=[a[0],a[2],a[1],a[3]],c=a[0]*b[0]+a[1]*b[2],d=a[0]*b[1]+a[1]*b[3],e=a[2]*b[0]+a[3]*b[2],f=a[2]*b[1]+a[3]*b[3],g=(c+f)/2,h=Math.sqrt((c+f)*(c+f)-4*(c*f-e*d))/2,i=g+h||1,j=g-h||1;return[Math.sqrt(i),Math.sqrt(j)]},a.normalizeRect=function(a){var b=a.slice(0);return a[0]>a[2]&&(b[0]=a[2],b[2]=a[0]),a[1]>a[3]&&(b[1]=a[3],b[3]=a[1]),b},a.intersect=function(b,c){function d(a,b){return a-b}var e=[b[0],b[2],c[0],c[2]].sort(d),f=[b[1],b[3],c[1],c[3]].sort(d),g=[];return b=a.normalizeRect(b),c=a.normalizeRect(c),e[0]===b[0]&&e[1]===c[0]||e[0]===c[0]&&e[1]===b[0]?(g[0]=e[1],g[2]=e[2],f[0]===b[1]&&f[1]===c[1]||f[0]===c[1]&&f[1]===b[1]?(g[1]=f[1],g[3]=f[2],g):!1):!1},a.sign=function(a){return 0>a?-1:1},a.appendToArray=function(a,b){Array.prototype.push.apply(a,b)},a.prependToArray=function(a,b){Array.prototype.unshift.apply(a,b)},a.extendObj=function(a,b){for(var c in b)a[c]=b[c]},a.getInheritableProperty=function(a,b){for(;a&&!a.has(b);)a=a.get("Parent");return a?a.get(b):null},a.inherit=function(a,b,c){a.prototype=Object.create(b.prototype),a.prototype.constructor=a;for(var d in c)a.prototype[d]=c[d]},a.loadScript=function(a,b){var c=document.createElement("script"),d=!1;c.setAttribute("src",a),b&&(c.onload=function(){d||b(),d=!0}),document.getElementsByTagName("head")[0].appendChild(c)},a}();PDFJS.PageViewport=function(){function a(a,b,c,d,e,f){this.viewBox=a,this.scale=b,this.rotation=c,this.offsetX=d,this.offsetY=e;var g,h,i,j,k=(a[2]+a[0])/2,l=(a[3]+a[1])/2;switch(c%=360,c=0>c?c+360:c){case 180:g=-1,h=0,i=0,j=1;break;case 90:g=0,h=1,i=1,j=0;break;case 270:g=0,h=-1,i=-1,j=0;break;default:g=1,h=0,i=0,j=-1}f&&(i=-i,j=-j);var m,n,o,p;0===g?(m=Math.abs(l-a[1])*b+d,n=Math.abs(k-a[0])*b+e,o=Math.abs(a[3]-a[1])*b,p=Math.abs(a[2]-a[0])*b):(m=Math.abs(k-a[0])*b+d,n=Math.abs(l-a[1])*b+e,o=Math.abs(a[2]-a[0])*b,p=Math.abs(a[3]-a[1])*b),this.transform=[g*b,h*b,i*b,j*b,m-g*b*k-i*b*l,n-h*b*k-j*b*l],this.width=o,this.height=p,this.fontScale=b}return a.prototype={clone:function(b){b=b||{};var c="scale"in b?b.scale:this.scale,d="rotation"in b?b.rotation:this.rotation;return new a(this.viewBox.slice(),c,d,this.offsetX,this.offsetY,b.dontFlip)},convertToViewportPoint:function(a,b){return T.applyTransform([a,b],this.transform)},convertToViewportRectangle:function(a){var b=T.applyTransform([a[0],a[1]],this.transform),c=T.applyTransform([a[2],a[3]],this.transform);return[b[0],b[1],c[0],c[1]]},convertToPdfPoint:function(a,b){return T.applyInverseTransform([a,b],this.transform)}},a}();PDFJS.createPromiseCapability=s,function(){function a(a){this._status=c,this._handlers=[];try{a.call(this,this._resolve.bind(this),this._reject.bind(this))}catch(b){this._reject(b)}}if(z.Promise)return"function"!=typeof z.Promise.all&&(z.Promise.all=function(a){var b,c,d=0,e=[],f=new z.Promise(function(a,d){b=a,c=d});return a.forEach(function(a,f){d++,a.then(function(a){e[f]=a,d--,0===d&&b(e)},c)}),0===d&&b(e),f}),"function"!=typeof z.Promise.resolve&&(z.Promise.resolve=function(a){return new z.Promise(function(b){b(a)})}),"function"!=typeof z.Promise.reject&&(z.Promise.reject=function(a){return new z.Promise(function(b,c){c(a)})}),void("function"!=typeof z.Promise.prototype["catch"]&&(z.Promise.prototype["catch"]=function(a){return z.Promise.prototype.then(void 0,a)}));var c=0,d=1,e=2,f=500,g={handlers:[],running:!1,unhandledRejections:[],pendingRejectionCheck:!1,scheduleHandlers:function(a){a._status!==c&&(this.handlers=this.handlers.concat(a._handlers),a._handlers=[],this.running||(this.running=!0,setTimeout(this.runHandlers.bind(this),0)))},runHandlers:function(){for(var a=1,b=Date.now()+a;this.handlers.length>0;){var c=this.handlers.shift(),f=c.thisPromise._status,g=c.thisPromise._value;try{f===d?"function"==typeof c.onResolve&&(g=c.onResolve(g)):"function"==typeof c.onReject&&(g=c.onReject(g),f=d,c.thisPromise._unhandledRejection&&this.removeUnhandeledRejection(c.thisPromise))}catch(h){f=e,g=h}if(c.nextPromise._updateStatus(f,g),Date.now()>=b)break}return this.handlers.length>0?void setTimeout(this.runHandlers.bind(this),0):void(this.running=!1)},addUnhandledRejection:function(a){this.unhandledRejections.push({promise:a,time:Date.now()}),this.scheduleRejectionCheck()},removeUnhandeledRejection:function(a){a._unhandledRejection=!1;for(var b=0;b<this.unhandledRejections.length;b++)this.unhandledRejections[b].promise===a&&(this.unhandledRejections.splice(b),b--)},scheduleRejectionCheck:function(){this.pendingRejectionCheck||(this.pendingRejectionCheck=!0,setTimeout(function(){this.pendingRejectionCheck=!1;for(var a=Date.now(),c=0;c<this.unhandledRejections.length;c++)if(a-this.unhandledRejections[c].time>f){var d=this.unhandledRejections[c].promise._value,e="Unhandled rejection: "+d;d.stack&&(e+="\n"+d.stack),b(e),this.unhandledRejections.splice(c),c--}this.unhandledRejections.length&&this.scheduleRejectionCheck()}.bind(this),f))}};a.all=function(b){function c(a){g._status!==e&&(i=[],f(a))}var d,f,g=new a(function(a,b){d=a,f=b}),h=b.length,i=[];if(0===h)return d(i),g;for(var j=0,k=b.length;k>j;++j){var l=b[j],m=function(a){return function(b){g._status!==e&&(i[a]=b,h--,0===h&&d(i))}}(j);a.isPromise(l)?l.then(m,c):m(l)}return g},a.isPromise=function(a){return a&&"function"==typeof a.then},a.resolve=function(b){return new a(function(a){a(b)})},a.reject=function(b){return new a(function(a,c){c(b)})},a.prototype={_status:null,_value:null,_handlers:null,_unhandledRejection:null,_updateStatus:function(b,c){if(this._status!==d&&this._status!==e){if(b===d&&a.isPromise(c))return void c.then(this._updateStatus.bind(this,d),this._updateStatus.bind(this,e));this._status=b,this._value=c,b===e&&0===this._handlers.length&&(this._unhandledRejection=!0,g.addUnhandledRejection(this)),g.scheduleHandlers(this)}},_resolve:function(a){this._updateStatus(d,a)},_reject:function(a){this._updateStatus(e,a)},then:function(b,c){var d=new a(function(a,b){this.resolve=a,this.reject=b});return this._handlers.push({thisPromise:this,onResolve:b,onReject:c,nextPromise:d}),g.scheduleHandlers(this),d},"catch":function(a){return this.then(void 0,a)}},z.Promise=a}();var U=function(){function a(a,b,c){for(;a.length<c;)a+=b;return a}function c(){this.started={},this.times=[],this.enabled=!0}return c.prototype={time:function(a){this.enabled&&(a in this.started&&b("Timer is already running for "+a),this.started[a]=Date.now())},timeEnd:function(a){this.enabled&&(a in this.started||b("Timer has not been started for "+a),this.times.push({name:a,start:this.started[a],end:Date.now()}),delete this.started[a])},toString:function(){var b,c,d=this.times,e="",f=0;for(b=0,c=d.length;c>b;++b){var g=d[b].name;g.length>f&&(f=g.length)}for(b=0,c=d.length;c>b;++b){var h=d[b],i=h.end-h.start;e+=a(h.name," ",f)+" "+i+"ms\n"}return e}},c}();PDFJS.createBlob=function(a,b){if("undefined"!=typeof Blob)return new Blob([a],{type:b});var c=new MozBlobBuilder;return c.append(a),c.getBlob(b)},PDFJS.createObjectURL=function(){var a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return function(b,c){if(!PDFJS.disableCreateObjectURL&&"undefined"!=typeof URL&&URL.createObjectURL){var d=PDFJS.createBlob(b,c);return URL.createObjectURL(d)}for(var e="data:"+c+";base64,",f=0,g=b.length;g>f;f+=3){var h=255&b[f],i=255&b[f+1],j=255&b[f+2],k=h>>2,l=(3&h)<<4|i>>4,m=g>f+1?(15&i)<<2|j>>6:64,n=g>f+2?63&j:64;e+=a[k]+a[l]+a[m]+a[n]}return e}}(),t.prototype={on:function(a,b,c){var e=this.actionHandler;e[a]&&d('There is already an actionName called "'+a+'"'),e[a]=[b,c]},send:function(a,b,c){var d={action:a,data:b};this.postMessage(d,c)},sendWithPromise:function(a,b,c){var d=this.callbackIndex++,e={action:a,data:b,callbackId:d},f=s();this.callbacksCapabilities[d]=f;try{this.postMessage(e,c)}catch(g){f.reject(g)}return f.promise},postMessage:function(a,b){b&&this.postMessageTransfers?this.comObj.postMessage(a,b):this.comObj.postMessage(a)}},PDFJS.maxImageSize=void 0===PDFJS.maxImageSize?-1:PDFJS.maxImageSize,PDFJS.cMapUrl=void 0===PDFJS.cMapUrl?null:PDFJS.cMapUrl,PDFJS.cMapPacked=void 0===PDFJS.cMapPacked?!1:PDFJS.cMapPacked,PDFJS.disableFontFace=void 0===PDFJS.disableFontFace?!1:PDFJS.disableFontFace,PDFJS.imageResourcesPath=void 0===PDFJS.imageResourcesPath?"":PDFJS.imageResourcesPath,PDFJS.disableWorker=void 0===PDFJS.disableWorker?!1:PDFJS.disableWorker,PDFJS.workerSrc=void 0===PDFJS.workerSrc?null:PDFJS.workerSrc,PDFJS.disableRange=void 0===PDFJS.disableRange?!1:PDFJS.disableRange,PDFJS.disableStream=void 0===PDFJS.disableStream?!1:PDFJS.disableStream,PDFJS.disableAutoFetch=void 0===PDFJS.disableAutoFetch?!1:PDFJS.disableAutoFetch,PDFJS.pdfBug=void 0===PDFJS.pdfBug?!1:PDFJS.pdfBug,PDFJS.postMessageTransfers=void 0===PDFJS.postMessageTransfers?!0:PDFJS.postMessageTransfers,PDFJS.disableCreateObjectURL=void 0===PDFJS.disableCreateObjectURL?!1:PDFJS.disableCreateObjectURL,PDFJS.disableWebGL=void 0===PDFJS.disableWebGL?!0:PDFJS.disableWebGL,PDFJS.disableFullscreen=void 0===PDFJS.disableFullscreen?!1:PDFJS.disableFullscreen,PDFJS.useOnlyCssZoom=void 0===PDFJS.useOnlyCssZoom?!1:PDFJS.useOnlyCssZoom,PDFJS.verbosity=void 0===PDFJS.verbosity?PDFJS.VERBOSITY_LEVELS.warnings:PDFJS.verbosity,PDFJS.maxCanvasPixels=void 0===PDFJS.maxCanvasPixels?16777216:PDFJS.maxCanvasPixels,PDFJS.openExternalLinksInNewWindow=void 0===PDFJS.openExternalLinksInNewWindow?!1:PDFJS.openExternalLinksInNewWindow,PDFJS.externalLinkTarget=void 0===PDFJS.externalLinkTarget?PDFJS.LinkTarget.NONE:PDFJS.externalLinkTarget,PDFJS.isEvalSupported=void 0===PDFJS.isEvalSupported?!0:PDFJS.isEvalSupported,PDFJS.getDocument=function(a,b,e,f){var h=new V;arguments.length>1&&c("getDocument is called with pdfDataRangeTransport, passwordCallback or progressCallback argument"),b&&(b instanceof W||(b=Object.create(b),b.length=a.length,b.initialData=a.initialData,b.abort||(b.abort=function(){})),a=Object.create(a),a.range=b),h.onPassword=e||null,h.onProgress=f||null;var i,j,k;"string"==typeof a?k={url:a}:r(a)?k={data:a}:a instanceof W?k={range:a}:("object"!=typeof a&&d("Invalid parameter in getDocument, need either Uint8Array, string or a parameter object"),a.url||a.data||a.range||d("Invalid parameter object: need either .data, .range or .url"),k=a);var m={};for(var n in k)if("url"!==n||"undefined"==typeof window){if("range"!==n)if("data"!==n||k[n]instanceof Uint8Array)m[n]=k[n];else{var o=k[n];"string"==typeof o?m[n]=l(o):"object"!=typeof o||null===o||isNaN(o.length)?r(o)?m[n]=new Uint8Array(o):d("Invalid PDF binary data: either typed array, string or array-like object is expected in the data property."):m[n]=new Uint8Array(o)}}else m[n]=g(window.location.href,k[n]);return i=s(),j=new Z(i,k.range),i.promise.then(function(){j.fetchDocument(h,m)}),h._transport=j,h};var V=function(){function a(){this._capability=s(),this._transport=null,this.onPassword=null,this.onProgress=null}return a.prototype={get promise(){return this._capability.promise},destroy:function(){return this._transport.destroy()},then:function(a,b){return this.promise.then.apply(this.promise,arguments)}},a}(),W=function(){function a(a,b){this.length=a,this.initialData=b,this._rangeListeners=[],this._progressListeners=[],this._progressiveReadListeners=[],this._readyCapability=s()}return a.prototype={addRangeListener:function(a){this._rangeListeners.push(a)},addProgressListener:function(a){this._progressListeners.push(a)},addProgressiveReadListener:function(a){this._progressiveReadListeners.push(a)},onDataRange:function(a,b){for(var c=this._rangeListeners,d=0,e=c.length;e>d;++d)c[d](a,b)},onDataProgress:function(a){this._readyCapability.promise.then(function(){for(var b=this._progressListeners,c=0,d=b.length;d>c;++c)b[c](a)}.bind(this))},onDataProgressiveRead:function(a){this._readyCapability.promise.then(function(){for(var b=this._progressiveReadListeners,c=0,d=b.length;d>c;++c)b[c](a)}.bind(this))},transportReady:function(){this._readyCapability.resolve()},requestDataRange:function(a,b){throw new Error("Abstract method PDFDataRangeTransport.requestDataRange")},abort:function(){}},a}();PDFJS.PDFDataRangeTransport=W;var X=function(){function a(a,b,c){this.pdfInfo=a,this.transport=b,this.loadingTask=c}return a.prototype={get numPages(){return this.pdfInfo.numPages},get fingerprint(){return this.pdfInfo.fingerprint},getPage:function(a){return this.transport.getPage(a)},getPageIndex:function(a){return this.transport.getPageIndex(a)},getDestinations:function(){return this.transport.getDestinations()},getDestination:function(a){return this.transport.getDestination(a)},getAttachments:function(){return this.transport.getAttachments()},getJavaScript:function(){return this.transport.getJavaScript()},getOutline:function(){return this.transport.getOutline()},getMetadata:function(){return this.transport.getMetadata()},getData:function(){return this.transport.getData()},getDownloadInfo:function(){return this.transport.downloadInfoCapability.promise},getStats:function(){return this.transport.getStats()},cleanup:function(){this.transport.startCleanup()},destroy:function(){return this.transport.destroy()}},a}(),Y=function(){function a(a,b,c){this.pageIndex=a,this.pageInfo=b,this.transport=c,this.stats=new U,this.stats.enabled=!!z.PDFJS.enableStats,this.commonObjs=c.commonObjs,this.objs=new $,this.cleanupAfterRender=!1,this.pendingCleanup=!1,this.intentStates={},this.destroyed=!1}return a.prototype={get pageNumber(){return this.pageIndex+1},get rotate(){return this.pageInfo.rotate},get ref(){return this.pageInfo.ref},get view(){return this.pageInfo.view},getViewport:function(a,b){return arguments.length<2&&(b=this.rotate),new PDFJS.PageViewport(this.view,a,b,0,0)},getAnnotations:function(){return this.annotationsPromise||(this.annotationsPromise=this.transport.getAnnotations(this.pageIndex)),this.annotationsPromise},render:function(a){function b(a){var b=f.renderTasks.indexOf(g);b>=0&&f.renderTasks.splice(b,1),i.cleanupAfterRender&&(i.pendingCleanup=!0),i._tryCleanup(),a?g.capability.reject(a):g.capability.resolve(),d.timeEnd("Rendering"),d.timeEnd("Overall")}var d=this.stats;d.time("Overall"),this.pendingCleanup=!1;var e="print"===a.intent?"print":"display";this.intentStates[e]||(this.intentStates[e]={});var f=this.intentStates[e];f.displayReadyCapability||(f.receivingOperatorList=!0,f.displayReadyCapability=s(),f.operatorList={fnArray:[],argsArray:[],lastChunk:!1},this.stats.time("Page Request"),this.transport.messageHandler.send("RenderPageRequest",{pageIndex:this.pageNumber-1,intent:e}));var g=new aa(b,a,this.objs,this.commonObjs,f.operatorList,this.pageNumber);g.useRequestAnimationFrame="print"!==e,f.renderTasks||(f.renderTasks=[]),f.renderTasks.push(g);var h=g.task;a.continueCallback&&(c("render is used with continueCallback parameter"),h.onContinue=a.continueCallback);var i=this;return f.displayReadyCapability.promise.then(function(a){return i.pendingCleanup?void b():(d.time("Rendering"),g.initalizeGraphics(a),void g.operatorListChanged())},function(a){b(a)}),h},getOperatorList:function(){function a(){c.operatorList.lastChunk&&c.opListReadCapability.resolve(c.operatorList)}var b="oplist";this.intentStates[b]||(this.intentStates[b]={});var c=this.intentStates[b];if(!c.opListReadCapability){var d={};d.operatorListChanged=a,c.receivingOperatorList=!0,c.opListReadCapability=s(),c.renderTasks=[],c.renderTasks.push(d),c.operatorList={fnArray:[],argsArray:[],lastChunk:!1},this.transport.messageHandler.send("RenderPageRequest",{pageIndex:this.pageIndex,intent:b})}return c.opListReadCapability.promise},getTextContent:function(){return this.transport.messageHandler.sendWithPromise("GetTextContent",{pageIndex:this.pageNumber-1})},_destroy:function(){this.destroyed=!0,this.transport.pageCache[this.pageIndex]=null;var a=[];return Object.keys(this.intentStates).forEach(function(b){var c=this.intentStates[b];c.renderTasks.forEach(function(b){var c=b.capability.promise["catch"](function(){});a.push(c),b.cancel()})},this),this.objs.clear(),this.annotationsPromise=null,this.pendingCleanup=!1,Promise.all(a)},destroy:function(){c("page destroy method, use cleanup() instead"),this.cleanup()},cleanup:function(){this.pendingCleanup=!0,this._tryCleanup()},_tryCleanup:function(){this.pendingCleanup&&!Object.keys(this.intentStates).some(function(a){var b=this.intentStates[a];return 0!==b.renderTasks.length||b.receivingOperatorList},this)&&(Object.keys(this.intentStates).forEach(function(a){delete this.intentStates[a]},this),this.objs.clear(),this.annotationsPromise=null,this.pendingCleanup=!1)},_startRenderPage:function(a,b){var c=this.intentStates[b];c.displayReadyCapability&&c.displayReadyCapability.resolve(a)},_renderPageChunk:function(a,b){var c,d,e=this.intentStates[b];for(c=0,d=a.length;d>c;c++)e.operatorList.fnArray.push(a.fnArray[c]),e.operatorList.argsArray.push(a.argsArray[c]);for(e.operatorList.lastChunk=a.lastChunk,c=0;c<e.renderTasks.length;c++)e.renderTasks[c].operatorListChanged();a.lastChunk&&(e.receivingOperatorList=!1,this._tryCleanup())}},a}(),Z=function(){function c(b,c){if(this.pdfDataRangeTransport=c,this.workerInitializedCapability=b,this.commonObjs=new $,this.loadingTask=null,this.destroyed=!1,this.destroyCapability=null,this.pageCache=[],this.pagePromises=[],this.downloadInfoCapability=s(),!z.PDFJS.disableWorker&&"undefined"!=typeof Worker){var e=PDFJS.workerSrc;e||d("No PDFJS.workerSrc specified");try{var f=new Worker(e),g=new t("main",f);this.messageHandler=g,g.on("test",function(a){var c=a&&a.supportTypedArray;c?(this.worker=f,a.supportTransfers||(PDFJS.postMessageTransfers=!1),this.setupMessageHandler(g),b.resolve()):this.setupFakeWorker()}.bind(this));var h=new Uint8Array([PDFJS.postMessageTransfers?255:0]);try{g.send("test",h,[h.buffer])}catch(i){a("Cannot use postMessage transfers"),h[0]=0,g.send("test",h)}return}catch(j){a("The worker has been disabled.")}}this.setupFakeWorker()}return c.prototype={destroy:function(){if(this.destroyCapability)return this.destroyCapability.promise;this.destroyed=!0,this.destroyCapability=s();var a=[];this.pageCache.forEach(function(b){b&&a.push(b._destroy())}),this.pageCache=[],this.pagePromises=[];var b=this,c=this.messageHandler.sendWithPromise("Terminate",null);return a.push(c),Promise.all(a).then(function(){pa.clear(),b.worker&&b.worker.terminate(),b.pdfDataRangeTransport&&(b.pdfDataRangeTransport.abort(),b.pdfDataRangeTransport=null),b.messageHandler=null,b.destroyCapability.resolve()},this.destroyCapability.reject),this.destroyCapability.promise},setupFakeWorker:function(){z.PDFJS.disableWorker=!0,PDFJS.fakeWorkerFilesLoadedCapability||(PDFJS.fakeWorkerFilesLoadedCapability=s(),T.loadScript(PDFJS.workerSrc,function(){PDFJS.fakeWorkerFilesLoadedCapability.resolve()})),PDFJS.fakeWorkerFilesLoadedCapability.promise.then(function(){b("Setting up fake worker.");var a={postMessage:function(b){a.onmessage({data:b})},terminate:function(){}},c=new t("main",a);this.setupMessageHandler(c),PDFJS.WorkerMessageHandler.setup(c),this.workerInitializedCapability.resolve()}.bind(this))},setupMessageHandler:function(a){function c(b){a.send("UpdatePassword",b)}this.messageHandler=a;var e=this.pdfDataRangeTransport;e&&(e.addRangeListener(function(b,c){a.send("OnDataRange",{begin:b,chunk:c})}),e.addProgressListener(function(b){a.send("OnDataProgress",{loaded:b})}),e.addProgressiveReadListener(function(b){a.send("OnDataRange",{chunk:b})}),a.on("RequestDataRange",function(a){e.requestDataRange(a.begin,a.end)},this)),a.on("GetDoc",function(a){var b=a.pdfInfo;this.numPages=a.pdfInfo.numPages;var c=this.loadingTask,d=new X(b,this,c);this.pdfDocument=d,c._capability.resolve(d)},this),a.on("NeedPassword",function(a){var b=this.loadingTask;return b.onPassword?b.onPassword(c,L.NEED_PASSWORD):void b._capability.reject(new M(a.message,a.code))},this),a.on("IncorrectPassword",function(a){var b=this.loadingTask;return b.onPassword?b.onPassword(c,L.INCORRECT_PASSWORD):void b._capability.reject(new M(a.message,a.code))},this),a.on("InvalidPDF",function(a){this.loadingTask._capability.reject(new O(a.message))},this),a.on("MissingPDF",function(a){this.loadingTask._capability.reject(new P(a.message))},this),a.on("UnexpectedResponse",function(a){this.loadingTask._capability.reject(new Q(a.message,a.status))},this),a.on("UnknownError",function(a){this.loadingTask._capability.reject(new N(a.message,a.details))},this),a.on("DataLoaded",function(a){this.downloadInfoCapability.resolve(a)},this),a.on("PDFManagerReady",function(a){this.pdfDataRangeTransport&&this.pdfDataRangeTransport.transportReady()},this),a.on("StartRenderPage",function(a){var b=this.pageCache[a.pageIndex];b.stats.timeEnd("Page Request"),b._startRenderPage(a.transparency,a.intent)},this),a.on("RenderPageChunk",function(a){var b=this.pageCache[a.pageIndex];b._renderPageChunk(a.operatorList,a.intent)},this),a.on("commonobj",function(a){var c=a[0],d=a[1];if(!this.commonObjs.hasData(c))switch(d){case"Font":var e,f=a[2];if("error"in f){var g=f.error;b("Error during font loading: "+g),this.commonObjs.resolve(c,g);
+break}e=new qa(f),pa.bind([e],function(a){this.commonObjs.resolve(c,e)}.bind(this));break;case"FontPath":this.commonObjs.resolve(c,a[2]);break;default:g("Got unknown common object type "+d)}},this),a.on("obj",function(a){var b,c=a[0],e=a[1],f=a[2],g=this.pageCache[e];if(!g.objs.hasData(c))switch(f){case"JpegStream":b=a[3],u(c,b,g.objs);break;case"Image":b=a[3],g.objs.resolve(c,b);var h=8e6;b&&"data"in b&&b.data.length>h&&(g.cleanupAfterRender=!0);break;default:d("Got unknown object type "+f)}},this),a.on("DocProgress",function(a){var b=this.loadingTask;b.onProgress&&b.onProgress({loaded:a.loaded,total:a.total})},this),a.on("PageError",function(a){var b=this.pageCache[a.pageNum-1],c=b.intentStates[a.intent];c.displayReadyCapability?c.displayReadyCapability.reject(a.error):d(a.error)},this),a.on("JpegDecode",function(a){var b=a[0],c=a[1];return 3!==c&&1!==c?Promise.reject(new Error("Only 3 components or 1 component can be returned")):new Promise(function(a,d){var e=new Image;e.onload=function(){var b=e.width,d=e.height,f=b*d,g=4*f,h=new Uint8Array(f*c),i=v(b,d),j=i.getContext("2d");j.drawImage(e,0,0);var k,l,m=j.getImageData(0,0,b,d).data;if(3===c)for(k=0,l=0;g>k;k+=4,l+=3)h[l]=m[k],h[l+1]=m[k+1],h[l+2]=m[k+2];else if(1===c)for(k=0,l=0;g>k;k+=4,l++)h[l]=m[k];a({data:h,width:b,height:d})},e.onerror=function(){d(new Error("JpegDecode failed to load image"))},e.src=b})})},fetchDocument:function(a,b){return this.destroyed?(a._capability.reject(new Error("Loading aborted")),void this.destroyCapability.resolve()):(this.loadingTask=a,b.disableAutoFetch=PDFJS.disableAutoFetch,b.disableStream=PDFJS.disableStream,b.chunkedViewerLoading=!!this.pdfDataRangeTransport,this.pdfDataRangeTransport&&(b.length=this.pdfDataRangeTransport.length,b.initialData=this.pdfDataRangeTransport.initialData),void this.messageHandler.send("GetDocRequest",{source:b,disableRange:PDFJS.disableRange,maxImageSize:PDFJS.maxImageSize,cMapUrl:PDFJS.cMapUrl,cMapPacked:PDFJS.cMapPacked,disableFontFace:PDFJS.disableFontFace,disableCreateObjectURL:PDFJS.disableCreateObjectURL,verbosity:PDFJS.verbosity}))},getData:function(){return this.messageHandler.sendWithPromise("GetData",null)},getPage:function(a,b){if(0>=a||a>this.numPages||(0|a)!==a)return Promise.reject(new Error("Invalid page request"));var c=a-1;if(c in this.pagePromises)return this.pagePromises[c];var d=this.messageHandler.sendWithPromise("GetPage",{pageIndex:c}).then(function(a){if(this.destroyed)throw new Error("Transport destroyed");var b=new Y(c,a,this);return this.pageCache[c]=b,b}.bind(this));return this.pagePromises[c]=d,d},getPageIndex:function(a){return this.messageHandler.sendWithPromise("GetPageIndex",{ref:a})},getAnnotations:function(a){return this.messageHandler.sendWithPromise("GetAnnotations",{pageIndex:a})},getDestinations:function(){return this.messageHandler.sendWithPromise("GetDestinations",null)},getDestination:function(a){return this.messageHandler.sendWithPromise("GetDestination",{id:a})},getAttachments:function(){return this.messageHandler.sendWithPromise("GetAttachments",null)},getJavaScript:function(){return this.messageHandler.sendWithPromise("GetJavaScript",null)},getOutline:function(){return this.messageHandler.sendWithPromise("GetOutline",null)},getMetadata:function(){return this.messageHandler.sendWithPromise("GetMetadata",null).then(function(a){return{info:a[0],metadata:a[1]?new PDFJS.Metadata(a[1]):null}})},getStats:function(){return this.messageHandler.sendWithPromise("GetStats",null)},startCleanup:function(){this.messageHandler.sendWithPromise("Cleanup",null).then(function(){for(var a=0,b=this.pageCache.length;b>a;a++){var c=this.pageCache[a];c&&c.cleanup()}this.commonObjs.clear(),pa.clear()}.bind(this))}},c}(),$=function(){function a(){this.objs={}}return a.prototype={ensureObj:function(a){if(this.objs[a])return this.objs[a];var b={capability:s(),data:null,resolved:!1};return this.objs[a]=b,b},get:function(a,b){if(b)return this.ensureObj(a).capability.promise.then(b),null;var c=this.objs[a];return c&&c.resolved||d("Requesting object that isn't resolved yet "+a),c.data},resolve:function(a,b){var c=this.ensureObj(a);c.resolved=!0,c.data=b,c.capability.resolve(b)},isResolved:function(a){var b=this.objs;return b[a]?b[a].resolved:!1},hasData:function(a){return this.isResolved(a)},getData:function(a){var b=this.objs;return b[a]&&b[a].resolved?b[a].data:null},clear:function(){this.objs={}}},a}(),_=function(){function a(a){this._internalRenderTask=a,this.onContinue=null}return a.prototype={get promise(){return this._internalRenderTask.capability.promise},cancel:function(){this._internalRenderTask.cancel()},then:function(a,b){return this.promise.then.apply(this.promise,arguments)}},a}(),aa=function(){function a(a,b,c,d,e,f){this.callback=a,this.params=b,this.objs=c,this.commonObjs=d,this.operatorListIdx=null,this.operatorList=e,this.pageNumber=f,this.running=!1,this.graphicsReadyCallback=null,this.graphicsReady=!1,this.useRequestAnimationFrame=!1,this.cancelled=!1,this.capability=s(),this.task=new _(this),this._continueBound=this._continue.bind(this),this._scheduleNextBound=this._scheduleNext.bind(this),this._nextBound=this._next.bind(this)}return a.prototype={initalizeGraphics:function(a){if(!this.cancelled){PDFJS.pdfBug&&"StepperManager"in z&&z.StepperManager.enabled&&(this.stepper=z.StepperManager.create(this.pageNumber-1),this.stepper.init(this.operatorList),this.stepper.nextBreakPoint=this.stepper.getNextBreakPoint());var b=this.params;this.gfx=new ka(b.canvasContext,this.commonObjs,this.objs,b.imageLayer),this.gfx.beginDrawing(b.viewport,a),this.operatorListIdx=0,this.graphicsReady=!0,this.graphicsReadyCallback&&this.graphicsReadyCallback()}},cancel:function(){this.running=!1,this.cancelled=!0,this.callback("cancelled")},operatorListChanged:function(){return this.graphicsReady?(this.stepper&&this.stepper.updateOperatorList(this.operatorList),void(this.running||this._continue())):void(this.graphicsReadyCallback||(this.graphicsReadyCallback=this._continueBound))},_continue:function(){this.running=!0,this.cancelled||(this.task.onContinue?this.task.onContinue.call(this.task,this._scheduleNextBound):this._scheduleNext())},_scheduleNext:function(){this.useRequestAnimationFrame?window.requestAnimationFrame(this._nextBound):Promise.resolve(void 0).then(this._nextBound)},_next:function(){this.cancelled||(this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper),this.operatorListIdx===this.operatorList.argsArray.length&&(this.running=!1,this.operatorList.lastChunk&&(this.gfx.endDrawing(),this.callback())))}},a}(),ba=(PDFJS.Metadata=function(){function a(a){return a.replace(/>\\376\\377([^<]+)/g,function(a,b){for(var c=b.replace(/\\([0-3])([0-7])([0-7])/g,function(a,b,c,d){return String.fromCharCode(64*b+8*c+1*d)}),d="",e=0;e<c.length;e+=2){var f=256*c.charCodeAt(e)+c.charCodeAt(e+1);d+="&#x"+(65536+f).toString(16).substring(1)+";"}return">"+d})}function b(b){if("string"==typeof b){b=a(b);var c=new DOMParser;b=c.parseFromString(b,"application/xml")}else b instanceof Document||d("Metadata: Invalid metadata object");this.metaDocument=b,this.metadata={},this.parse()}return b.prototype={parse:function(){var a=this.metaDocument,b=a.documentElement;if("rdf:rdf"!==b.nodeName.toLowerCase())for(b=b.firstChild;b&&"rdf:rdf"!==b.nodeName.toLowerCase();)b=b.nextSibling;var c=b?b.nodeName.toLowerCase():null;if(b&&"rdf:rdf"===c&&b.hasChildNodes()){var d,e,f,g,h,i,j,k=b.childNodes;for(g=0,i=k.length;i>g;g++)if(d=k[g],"rdf:description"===d.nodeName.toLowerCase())for(h=0,j=d.childNodes.length;j>h;h++)"#text"!==d.childNodes[h].nodeName.toLowerCase()&&(e=d.childNodes[h],f=e.nodeName.toLowerCase(),this.metadata[f]=e.textContent.trim())}},get:function(a){return this.metadata[a]||null},has:function(a){return"undefined"!=typeof this.metadata[a]}},b}(),16),ca=100,da=4096,ea=.65,fa=!0,ga=1e3,ha=16,ia=function(){var a={};return{getCanvas:function(b,c,d,e){var f;if(void 0!==a[b])f=a[b],f.canvas.width=c,f.canvas.height=d,f.context.setTransform(1,0,0,1,0,0);else{var g=v(c,d),h=g.getContext("2d");e&&w(h),a[b]=f={canvas:g,context:h}}return f},clear:function(){for(var b in a){var c=a[b];c.canvas.width=0,c.canvas.height=0,delete a[b]}}}}(),ja=function(){function a(a){this.alphaIsShape=!1,this.fontSize=0,this.fontSizeScale=1,this.textMatrix=S,this.textMatrixScale=1,this.fontMatrix=B,this.leading=0,this.x=0,this.y=0,this.lineX=0,this.lineY=0,this.charSpacing=0,this.wordSpacing=0,this.textHScale=1,this.textRenderingMode=C.FILL,this.textRise=0,this.fillColor="#000000",this.strokeColor="#000000",this.patternFill=!1,this.fillAlpha=1,this.strokeAlpha=1,this.lineWidth=1,this.activeSMask=null,this.old=a}return a.prototype={clone:function(){return Object.create(this)},setCurrentPoint:function(a,b){this.x=a,this.y=b}},a}(),ka=function(){function c(a,b,c,d){this.ctx=a,this.current=new ja,this.stateStack=[],this.pendingClip=null,this.pendingEOFill=!1,this.res=null,this.xobjs=null,this.commonObjs=b,this.objs=c,this.imageLayer=d,this.groupStack=[],this.processingType3=null,this.baseTransform=null,this.baseTransformStack=[],this.groupLevel=0,this.smaskStack=[],this.smaskCounter=0,this.tempSMask=null,a&&w(a),this.cachedGetSinglePixelWidth=null}function e(a,b){if("undefined"!=typeof ImageData&&b instanceof ImageData)return void a.putImageData(b,0,0);var c,e,f,g,h,i=b.height,j=b.width,k=i%ha,l=(i-k)/ha,m=0===k?l:l+1,n=a.createImageData(j,ha),o=0,p=b.data,q=n.data;if(b.kind===D.GRAYSCALE_1BPP){var r=p.byteLength,s=PDFJS.hasCanvasTypedArrays?new Uint32Array(q.buffer):new R(q),t=s.length,u=j+7>>3,v=4294967295,w=PDFJS.isLittleEndian||!PDFJS.hasCanvasTypedArrays?4278190080:255;for(e=0;m>e;e++){for(g=l>e?ha:k,c=0,f=0;g>f;f++){for(var x=r-o,y=0,z=x>u?j:8*x-7,A=-8&z,B=0,C=0;A>y;y+=8)C=p[o++],s[c++]=128&C?v:w,s[c++]=64&C?v:w,s[c++]=32&C?v:w,s[c++]=16&C?v:w,s[c++]=8&C?v:w,s[c++]=4&C?v:w,s[c++]=2&C?v:w,s[c++]=1&C?v:w;for(;z>y;y++)0===B&&(C=p[o++],B=128),s[c++]=C&B?v:w,B>>=1}for(;t>c;)s[c++]=0;a.putImageData(n,0,e*ha)}}else if(b.kind===D.RGBA_32BPP){for(f=0,h=j*ha*4,e=0;l>e;e++)q.set(p.subarray(o,o+h)),o+=h,a.putImageData(n,0,f),f+=ha;m>e&&(h=j*k*4,q.set(p.subarray(o,o+h)),a.putImageData(n,0,f))}else if(b.kind===D.RGB_24BPP)for(g=ha,h=j*g,e=0;m>e;e++){for(e>=l&&(g=k,h=j*g),c=0,f=h;f--;)q[c++]=p[o++],q[c++]=p[o++],q[c++]=p[o++],q[c++]=255;a.putImageData(n,0,e*ha)}else d("bad image kind: "+b.kind)}function g(a,b){for(var c=b.height,d=b.width,e=c%ha,f=(c-e)/ha,g=0===e?f:f+1,h=a.createImageData(d,ha),i=0,j=b.data,k=h.data,l=0;g>l;l++){for(var m=f>l?ha:e,n=3,o=0;m>o;o++)for(var p=0,q=0;d>q;q++){if(!p){var r=j[i++];p=128}k[n]=r&p?0:255,n+=4,p>>=1}a.putImageData(h,0,l*ha)}}function h(a,b){for(var c=["strokeStyle","fillStyle","fillRule","globalAlpha","lineWidth","lineCap","lineJoin","miterLimit","globalCompositeOperation","font"],d=0,e=c.length;e>d;d++){var f=c[d];void 0!==a[f]&&(b[f]=a[f])}void 0!==a.setLineDash?(b.setLineDash(a.getLineDash()),b.lineDashOffset=a.lineDashOffset):void 0!==a.mozDashOffset&&(b.mozDash=a.mozDash,b.mozDashOffset=a.mozDashOffset)}function j(a,b,c,d){for(var e=a.length,f=3;e>f;f+=4){var g=a[f];if(0===g)a[f-3]=b,a[f-2]=c,a[f-1]=d;else if(255>g){var h=255-g;a[f-3]=a[f-3]*g+b*h>>8,a[f-2]=a[f-2]*g+c*h>>8,a[f-1]=a[f-1]*g+d*h>>8}}}function k(a,b){for(var c=a.length,d=1/255,e=3;c>e;e+=4){var f=a[e];b[e]=b[e]*f*d|0}}function l(a,b){for(var c=a.length,d=3;c>d;d+=4){var e=77*a[d-3]+152*a[d-2]+28*a[d-1];b[d]=b[d]*e>>16}}function m(a,b,c,d,e,f){var g,h=!!f,i=h?f[0]:0,m=h?f[1]:0,n=h?f[2]:0;g="Luminosity"===e?l:k;for(var o=1048576,p=Math.min(d,Math.ceil(o/c)),q=0;d>q;q+=p){var r=Math.min(p,d-q),s=a.getImageData(0,q,c,r),t=b.getImageData(0,q,c,r);h&&j(s.data,i,m,n),g(s.data,t.data),a.putImageData(t,0,q)}}function n(a,b,c){var d=b.canvas,e=b.context;a.setTransform(b.scaleX,0,0,b.scaleY,b.offsetX,b.offsetY);var f=b.backdrop||null;if(la.isEnabled){var g=la.composeSMask(c.canvas,d,{subtype:b.subtype,backdrop:f});return a.setTransform(1,0,0,1,0,0),void a.drawImage(g,b.offsetX,b.offsetY)}m(e,c,d.width,d.height,b.subtype,f),a.drawImage(d,0,0)}var o=15,r=10,s=["butt","round","square"],t=["miter","round","bevel"],u={},v={};c.prototype={beginDrawing:function(a,b){var c=this.ctx.canvas.width,d=this.ctx.canvas.height;b?this.ctx.clearRect(0,0,c,d):(this.ctx.mozOpaque=!0,this.ctx.save(),this.ctx.fillStyle="rgb(255, 255, 255)",this.ctx.fillRect(0,0,c,d),this.ctx.restore());var e=a.transform;this.ctx.save(),this.ctx.transform.apply(this.ctx,e),this.baseTransform=this.ctx.mozCurrentTransform.slice(),this.imageLayer&&this.imageLayer.beginLayout()},executeOperatorList:function(a,b,c,d){var e=a.argsArray,f=a.fnArray,g=b||0,h=e.length;if(h===g)return g;for(var i,j=h-g>r&&"function"==typeof c,k=j?Date.now()+o:0,l=0,m=this.commonObjs,n=this.objs;;){if(void 0!==d&&g===d.nextBreakPoint)return d.breakIt(g,c),g;if(i=f[g],i!==G.dependency)this[i].apply(this,e[g]);else for(var p=e[g],q=0,s=p.length;s>q;q++){var t=p[q],u="g"===t[0]&&"_"===t[1],v=u?m:n;if(!v.isResolved(t))return v.get(t,c),g}if(g++,g===h)return g;if(j&&++l>r){if(Date.now()>k)return c(),g;l=0}}},endDrawing:function(){this.ctx.restore(),ia.clear(),la.clear(),this.imageLayer&&this.imageLayer.endLayout()},setLineWidth:function(a){this.current.lineWidth=a,this.ctx.lineWidth=a},setLineCap:function(a){this.ctx.lineCap=s[a]},setLineJoin:function(a){this.ctx.lineJoin=t[a]},setMiterLimit:function(a){this.ctx.miterLimit=a},setDash:function(a,b){var c=this.ctx;void 0!==c.setLineDash?(c.setLineDash(a),c.lineDashOffset=b):(c.mozDash=a,c.mozDashOffset=b)},setRenderingIntent:function(a){},setFlatness:function(a){},setGState:function(a){for(var c=0,d=a.length;d>c;c++){var e=a[c],f=e[0],g=e[1];switch(f){case"LW":this.setLineWidth(g);break;case"LC":this.setLineCap(g);break;case"LJ":this.setLineJoin(g);break;case"ML":this.setMiterLimit(g);break;case"D":this.setDash(g[0],g[1]);break;case"RI":this.setRenderingIntent(g);break;case"FL":this.setFlatness(g);break;case"Font":this.setFont(g[0],g[1]);break;case"CA":this.current.strokeAlpha=e[1];break;case"ca":this.current.fillAlpha=e[1],this.ctx.globalAlpha=e[1];break;case"BM":if(g&&g.name&&"Normal"!==g.name){var h=g.name.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()}).substring(1);this.ctx.globalCompositeOperation=h,this.ctx.globalCompositeOperation!==h&&b('globalCompositeOperation "'+h+'" is not supported')}else this.ctx.globalCompositeOperation="source-over";break;case"SMask":this.current.activeSMask&&this.endSMaskGroup(),this.current.activeSMask=g?this.tempSMask:null,this.current.activeSMask&&this.beginSMaskGroup(),this.tempSMask=null}}},beginSMaskGroup:function(){var a=this.current.activeSMask,b=a.canvas.width,c=a.canvas.height,d="smaskGroupAt"+this.groupLevel,e=ia.getCanvas(d,b,c,!0),f=this.ctx,g=f.mozCurrentTransform;this.ctx.save();var i=e.context;i.scale(1/a.scaleX,1/a.scaleY),i.translate(-a.offsetX,-a.offsetY),i.transform.apply(i,g),h(f,i),this.ctx=i,this.setGState([["BM","Normal"],["ca",1],["CA",1]]),this.groupStack.push(f),this.groupLevel++},endSMaskGroup:function(){var a=this.ctx;this.groupLevel--,this.ctx=this.groupStack.pop(),n(this.ctx,this.current.activeSMask,a),this.ctx.restore()},save:function(){this.ctx.save();var a=this.current;this.stateStack.push(a),this.current=a.clone(),this.current.activeSMask=null},restore:function(){0!==this.stateStack.length&&(null!==this.current.activeSMask&&this.endSMaskGroup(),this.current=this.stateStack.pop(),this.ctx.restore(),this.pendingClip=null,this.cachedGetSinglePixelWidth=null)},transform:function(a,b,c,d,e,f){this.ctx.transform(a,b,c,d,e,f),this.cachedGetSinglePixelWidth=null},constructPath:function(a,b){for(var c=this.ctx,d=this.current,e=d.x,f=d.y,g=0,h=0,i=a.length;i>g;g++)switch(0|a[g]){case G.rectangle:e=b[h++],f=b[h++];var j=b[h++],k=b[h++];0===j&&(j=this.getSinglePixelWidth()),0===k&&(k=this.getSinglePixelWidth());var l=e+j,m=f+k;this.ctx.moveTo(e,f),this.ctx.lineTo(l,f),this.ctx.lineTo(l,m),this.ctx.lineTo(e,m),this.ctx.lineTo(e,f),this.ctx.closePath();break;case G.moveTo:e=b[h++],f=b[h++],c.moveTo(e,f);break;case G.lineTo:e=b[h++],f=b[h++],c.lineTo(e,f);break;case G.curveTo:e=b[h+4],f=b[h+5],c.bezierCurveTo(b[h],b[h+1],b[h+2],b[h+3],e,f),h+=6;break;case G.curveTo2:c.bezierCurveTo(e,f,b[h],b[h+1],b[h+2],b[h+3]),e=b[h+2],f=b[h+3],h+=4;break;case G.curveTo3:e=b[h+2],f=b[h+3],c.bezierCurveTo(b[h],b[h+1],e,f,e,f),h+=4;break;case G.closePath:c.closePath()}d.setCurrentPoint(e,f)},closePath:function(){this.ctx.closePath()},stroke:function(a){a="undefined"!=typeof a?a:!0;var b=this.ctx,c=this.current.strokeColor;b.lineWidth=Math.max(this.getSinglePixelWidth()*ea,this.current.lineWidth),b.globalAlpha=this.current.strokeAlpha,c&&c.hasOwnProperty("type")&&"Pattern"===c.type?(b.save(),b.strokeStyle=c.getPattern(b,this),b.stroke(),b.restore()):b.stroke(),a&&this.consumePath(),b.globalAlpha=this.current.fillAlpha},closeStroke:function(){this.closePath(),this.stroke()},fill:function(a){a="undefined"!=typeof a?a:!0;var b=this.ctx,c=this.current.fillColor,d=this.current.patternFill,e=!1;d&&(b.save(),b.fillStyle=c.getPattern(b,this),e=!0),this.pendingEOFill?(void 0!==b.mozFillRule?(b.mozFillRule="evenodd",b.fill(),b.mozFillRule="nonzero"):b.fill("evenodd"),this.pendingEOFill=!1):b.fill(),e&&b.restore(),a&&this.consumePath()},eoFill:function(){this.pendingEOFill=!0,this.fill()},fillStroke:function(){this.fill(!1),this.stroke(!1),this.consumePath()},eoFillStroke:function(){this.pendingEOFill=!0,this.fillStroke()},closeFillStroke:function(){this.closePath(),this.fillStroke()},closeEOFillStroke:function(){this.pendingEOFill=!0,this.closePath(),this.fillStroke()},endPath:function(){this.consumePath()},clip:function(){this.pendingClip=u},eoClip:function(){this.pendingClip=v},beginText:function(){this.current.textMatrix=S,this.current.textMatrixScale=1,this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0},endText:function(){var a=this.pendingTextPaths,b=this.ctx;if(void 0===a)return void b.beginPath();b.save(),b.beginPath();for(var c=0;c<a.length;c++){var d=a[c];b.setTransform.apply(b,d.transform),b.translate(d.x,d.y),d.addToPath(b,d.fontSize)}b.restore(),b.clip(),b.beginPath(),delete this.pendingTextPaths},setCharSpacing:function(a){this.current.charSpacing=a},setWordSpacing:function(a){this.current.wordSpacing=a},setHScale:function(a){this.current.textHScale=a/100},setLeading:function(a){this.current.leading=-a},setFont:function(a,c){var e=this.commonObjs.get(a),f=this.current;if(e||d("Can't find font for "+a),f.fontMatrix=e.fontMatrix?e.fontMatrix:B,(0===f.fontMatrix[0]||0===f.fontMatrix[3])&&b("Invalid font matrix for font "+a),0>c?(c=-c,f.fontDirection=-1):f.fontDirection=1,this.current.font=e,this.current.fontSize=c,!e.isType3Font){var g=e.loadedName||"sans-serif",h=e.black?e.bold?"900":"bold":e.bold?"bold":"normal",i=e.italic?"italic":"normal",j='"'+g+'", '+e.fallbackName,k=ba>c?ba:c>ca?ca:c;this.current.fontSizeScale=c/k;var l=i+" "+h+" "+k+"px "+j;this.ctx.font=l}},setTextRenderingMode:function(a){this.current.textRenderingMode=a},setTextRise:function(a){this.current.textRise=a},moveText:function(a,b){this.current.x=this.current.lineX+=a,this.current.y=this.current.lineY+=b},setLeadingMoveText:function(a,b){this.setLeading(-b),this.moveText(a,b)},setTextMatrix:function(a,b,c,d,e,f){this.current.textMatrix=[a,b,c,d,e,f],this.current.textMatrixScale=Math.sqrt(a*a+b*b),this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0},nextLine:function(){this.moveText(0,this.current.leading)},paintChar:function(a,b,c){var d,e=this.ctx,f=this.current,g=f.font,h=f.textRenderingMode,i=f.fontSize/f.fontSizeScale,j=h&C.FILL_STROKE_MASK,k=!!(h&C.ADD_TO_PATH_FLAG);if((g.disableFontFace||k)&&(d=g.getPathGenerator(this.commonObjs,a)),g.disableFontFace?(e.save(),e.translate(b,c),e.beginPath(),d(e,i),(j===C.FILL||j===C.FILL_STROKE)&&e.fill(),(j===C.STROKE||j===C.FILL_STROKE)&&e.stroke(),e.restore()):((j===C.FILL||j===C.FILL_STROKE)&&e.fillText(a,b,c),(j===C.STROKE||j===C.FILL_STROKE)&&e.strokeText(a,b,c)),k){var l=this.pendingTextPaths||(this.pendingTextPaths=[]);l.push({transform:e.mozCurrentTransform,x:b,y:c,fontSize:i,addToPath:d})}},get isFontSubpixelAAEnabled(){var a=document.createElement("canvas").getContext("2d");a.scale(1.5,1),a.fillText("I",0,10);for(var b=a.getImageData(0,0,10,10).data,c=!1,d=3;d<b.length;d+=4)if(b[d]>0&&b[d]<255){c=!0;break}return i(this,"isFontSubpixelAAEnabled",c)},showText:function(a){var b=this.current,c=b.font;if(c.isType3Font)return this.showType3Text(a);var d=b.fontSize;if(0!==d){var e=this.ctx,f=b.fontSizeScale,g=b.charSpacing,h=b.wordSpacing,i=b.fontDirection,j=b.textHScale*i,k=a.length,l=c.vertical,m=l?1:-1,n=c.defaultVMetrics,o=d*b.fontMatrix[0],q=b.textRenderingMode===C.FILL&&!c.disableFontFace;e.save(),e.transform.apply(e,b.textMatrix),e.translate(b.x,b.y+b.textRise),i>0?e.scale(j,-1):e.scale(j,1);var r=b.lineWidth,s=b.textMatrixScale;if(0===s||0===r){var t=b.textRenderingMode&C.FILL_STROKE_MASK;(t===C.STROKE||t===C.FILL_STROKE)&&(this.cachedGetSinglePixelWidth=null,r=this.getSinglePixelWidth()*ea)}else r/=s;1!==f&&(e.scale(f,f),r/=f),e.lineWidth=r;var u,v=0;for(u=0;k>u;++u){var w=a[u];if(null!==w)if(p(w))v+=m*w*d/1e3;else{var x,y,z,A,B=!1,D=w.fontChar,E=w.accent,F=w.width;if(l){var G,H,I;G=w.vmetric||n,H=w.vmetric?G[1]:.5*F,H=-H*o,I=G[2]*o,F=G?-G[0]:F,x=H/f,y=(v+I)/f}else x=v/f,y=0;if(c.remeasure&&F>0&&this.isFontSubpixelAAEnabled){var J=1e3*e.measureText(D).width/d*f,K=F/J;B=!0,e.save(),e.scale(K,1),x/=K}q&&!E?e.fillText(D,x,y):(this.paintChar(D,x,y),E&&(z=x+E.offset.x/f,A=y-E.offset.y/f,this.paintChar(E.fontChar,z,A)));var L=F*o+g*i;v+=L,B&&e.restore()}else v+=i*h}l?b.y-=v*j:b.x+=v*j,e.restore()}},showType3Text:function(a){var c,d,e,f,g=this.ctx,h=this.current,i=h.font,j=h.fontSize,k=h.fontDirection,l=i.vertical?1:-1,m=h.charSpacing,n=h.wordSpacing,o=h.textHScale*k,q=h.fontMatrix||B,r=a.length,s=h.textRenderingMode===C.INVISIBLE;if(!s&&0!==j){for(this.cachedGetSinglePixelWidth=null,g.save(),g.transform.apply(g,h.textMatrix),g.translate(h.x,h.y),g.scale(o,k),c=0;r>c;++c)if(d=a[c],null!==d)if(p(d))f=l*d*j/1e3,this.ctx.translate(f,0),h.x+=f*o;else{var t=i.charProcOperatorList[d.operatorListId];if(t){this.processingType3=d,this.save(),g.scale(j,j),g.transform.apply(g,q),this.executeOperatorList(t),this.restore();var u=T.applyTransform([d.width,0],q);e=u[0]*j+m,g.translate(e,0),h.x+=e*o}else b('Type3 character "'+d.operatorListId+'" is not available')}else this.ctx.translate(n,0),h.x+=n*o;g.restore(),this.processingType3=null}},setCharWidth:function(a,b){},setCharWidthAndBounds:function(a,b,c,d,e,f){this.ctx.rect(c,d,e-c,f-d),this.clip(),this.endPath()},getColorN_Pattern:function(a){var b;if("TilingPattern"===a[0]){var c=a[1],d=this.baseTransform||this.ctx.mozCurrentTransform.slice();b=new oa(a,c,this.ctx,this.objs,this.commonObjs,d)}else b=y(a);return b},setStrokeColorN:function(){this.current.strokeColor=this.getColorN_Pattern(arguments)},setFillColorN:function(){this.current.fillColor=this.getColorN_Pattern(arguments),this.current.patternFill=!0},setStrokeRGBColor:function(a,b,c){var d=T.makeCssRgb(a,b,c);this.ctx.strokeStyle=d,this.current.strokeColor=d},setFillRGBColor:function(a,b,c){var d=T.makeCssRgb(a,b,c);this.ctx.fillStyle=d,this.current.fillColor=d,this.current.patternFill=!1},shadingFill:function(a){var b=this.ctx;this.save();var c=y(a);b.fillStyle=c.getPattern(b,this,!0);var d=b.mozCurrentTransformInverse;if(d){var e=b.canvas,f=e.width,g=e.height,h=T.applyTransform([0,0],d),i=T.applyTransform([0,g],d),j=T.applyTransform([f,0],d),k=T.applyTransform([f,g],d),l=Math.min(h[0],i[0],j[0],k[0]),m=Math.min(h[1],i[1],j[1],k[1]),n=Math.max(h[0],i[0],j[0],k[0]),o=Math.max(h[1],i[1],j[1],k[1]);this.ctx.fillRect(l,m,n-l,o-m)}else this.ctx.fillRect(-1e10,-1e10,2e10,2e10);this.restore()},beginInlineImage:function(){d("Should not call beginInlineImage")},beginImageData:function(){d("Should not call beginImageData")},paintFormXObjectBegin:function(a,b){if(this.save(),this.baseTransformStack.push(this.baseTransform),q(a)&&6===a.length&&this.transform.apply(this,a),this.baseTransform=this.ctx.mozCurrentTransform,q(b)&&4===b.length){var c=b[2]-b[0],d=b[3]-b[1];this.ctx.rect(b[0],b[1],c,d),this.clip(),this.endPath()}},paintFormXObjectEnd:function(){this.restore(),this.baseTransform=this.baseTransformStack.pop()},beginGroup:function(c){this.save();var d=this.ctx;c.isolated||a("TODO: Support non-isolated groups."),c.knockout&&b("Knockout groups not supported.");var e=d.mozCurrentTransform;c.matrix&&d.transform.apply(d,c.matrix),f(c.bbox,"Bounding box is required.");var g=T.getAxialAlignedBoundingBox(c.bbox,d.mozCurrentTransform),i=[0,0,d.canvas.width,d.canvas.height];g=T.intersect(g,i)||[0,0,0,0];var j=Math.floor(g[0]),k=Math.floor(g[1]),l=Math.max(Math.ceil(g[2])-j,1),m=Math.max(Math.ceil(g[3])-k,1),n=1,o=1;l>da&&(n=l/da,l=da),m>da&&(o=m/da,m=da);var p="groupAt"+this.groupLevel;c.smask&&(p+="_smask_"+this.smaskCounter++%2);var q=ia.getCanvas(p,l,m,!0),r=q.context;r.scale(1/n,1/o),r.translate(-j,-k),r.transform.apply(r,e),c.smask?this.smaskStack.push({canvas:q.canvas,context:r,offsetX:j,offsetY:k,scaleX:n,scaleY:o,subtype:c.smask.subtype,backdrop:c.smask.backdrop}):(d.setTransform(1,0,0,1,0,0),d.translate(j,k),d.scale(n,o)),h(d,r),this.ctx=r,this.setGState([["BM","Normal"],["ca",1],["CA",1]]),this.groupStack.push(d),this.groupLevel++},endGroup:function(a){this.groupLevel--;var b=this.ctx;this.ctx=this.groupStack.pop(),void 0!==this.ctx.imageSmoothingEnabled?this.ctx.imageSmoothingEnabled=!1:this.ctx.mozImageSmoothingEnabled=!1,a.smask?this.tempSMask=this.smaskStack.pop():this.ctx.drawImage(b.canvas,0,0),this.restore()},beginAnnotations:function(){this.save(),this.current=new ja},endAnnotations:function(){this.restore()},beginAnnotation:function(a,b,c){if(this.save(),q(a)&&4===a.length){var d=a[2]-a[0],e=a[3]-a[1];this.ctx.rect(a[0],a[1],d,e),this.clip(),this.endPath()}this.transform.apply(this,b),this.transform.apply(this,c)},endAnnotation:function(){this.restore()},paintJpegXObject:function(a,c,d){var e=this.objs.get(a);if(!e)return void b("Dependent image isn't ready yet");this.save();var f=this.ctx;if(f.scale(1/c,-1/d),f.drawImage(e,0,0,e.width,e.height,0,-d,c,d),this.imageLayer){var g=f.mozCurrentTransformInverse,h=this.getCanvasPosition(0,0);this.imageLayer.appendImage({objId:a,left:h[0],top:h[1],width:c/g[0],height:d/g[3]})}this.restore()},paintImageMaskXObject:function(a){var b=this.ctx,c=a.width,d=a.height,e=this.current.fillColor,f=this.current.patternFill,h=this.processingType3;if(fa&&h&&void 0===h.compiled&&(ga>=c&&ga>=d?h.compiled=x({data:a.data,width:c,height:d}):h.compiled=null),h&&h.compiled)return void h.compiled(b);var i=ia.getCanvas("maskCanvas",c,d),j=i.context;j.save(),g(j,a),j.globalCompositeOperation="source-in",j.fillStyle=f?e.getPattern(j,this):e,j.fillRect(0,0,c,d),j.restore(),this.paintInlineImageXObject(i.canvas)},paintImageMaskXObjectRepeat:function(a,b,c,d){var e=a.width,f=a.height,h=this.current.fillColor,i=this.current.patternFill,j=ia.getCanvas("maskCanvas",e,f),k=j.context;k.save(),g(k,a),k.globalCompositeOperation="source-in",k.fillStyle=i?h.getPattern(k,this):h,k.fillRect(0,0,e,f),k.restore();for(var l=this.ctx,m=0,n=d.length;n>m;m+=2)l.save(),l.transform(b,0,0,c,d[m],d[m+1]),l.scale(1,-1),l.drawImage(j.canvas,0,0,e,f,0,-1,1,1),l.restore()},paintImageMaskXObjectGroup:function(a){for(var b=this.ctx,c=this.current.fillColor,d=this.current.patternFill,e=0,f=a.length;f>e;e++){var h=a[e],i=h.width,j=h.height,k=ia.getCanvas("maskCanvas",i,j),l=k.context;l.save(),g(l,h),l.globalCompositeOperation="source-in",l.fillStyle=d?c.getPattern(l,this):c,l.fillRect(0,0,i,j),l.restore(),b.save(),b.transform.apply(b,h.transform),b.scale(1,-1),b.drawImage(k.canvas,0,0,i,j,0,-1,1,1),b.restore()}},paintImageXObject:function(a){var c=this.objs.get(a);return c?void this.paintInlineImageXObject(c):void b("Dependent image isn't ready yet")},paintImageXObjectRepeat:function(a,c,d,e){var f=this.objs.get(a);if(!f)return void b("Dependent image isn't ready yet");for(var g=f.width,h=f.height,i=[],j=0,k=e.length;k>j;j+=2)i.push({transform:[c,0,0,d,e[j],e[j+1]],x:0,y:0,w:g,h:h});this.paintInlineImageXObjectGroup(f,i)},paintInlineImageXObject:function(a){var b=a.width,c=a.height,d=this.ctx;this.save(),d.scale(1/b,-1/c);var f,g,h=d.mozCurrentTransformInverse,i=h[0],j=h[1],k=Math.max(Math.sqrt(i*i+j*j),1),l=h[2],m=h[3],n=Math.max(Math.sqrt(l*l+m*m),1);if(a instanceof HTMLElement||!a.data)f=a;else{g=ia.getCanvas("inlineImage",b,c);var o=g.context;e(o,a),f=g.canvas}for(var p=b,q=c,r="prescale1";k>2&&p>1||n>2&&q>1;){var s=p,t=q;k>2&&p>1&&(s=Math.ceil(p/2),k/=p/s),n>2&&q>1&&(t=Math.ceil(q/2),n/=q/t),g=ia.getCanvas(r,s,t),o=g.context,o.clearRect(0,0,s,t),o.drawImage(f,0,0,p,q,0,0,s,t),f=g.canvas,p=s,q=t,r="prescale1"===r?"prescale2":"prescale1"}if(d.drawImage(f,0,0,p,q,0,-c,b,c),this.imageLayer){var u=this.getCanvasPosition(0,-c);this.imageLayer.appendImage({imgData:a,left:u[0],top:u[1],width:b/h[0],height:c/h[3]})}this.restore()},paintInlineImageXObjectGroup:function(a,b){var c=this.ctx,d=a.width,f=a.height,g=ia.getCanvas("inlineImage",d,f),h=g.context;e(h,a);for(var i=0,j=b.length;j>i;i++){var k=b[i];if(c.save(),c.transform.apply(c,k.transform),c.scale(1,-1),c.drawImage(g.canvas,k.x,k.y,k.w,k.h,0,-1,1,1),this.imageLayer){var l=this.getCanvasPosition(k.x,k.y);this.imageLayer.appendImage({imgData:a,left:l[0],top:l[1],width:d,height:f})}c.restore()}},paintSolidColorImageMask:function(){this.ctx.fillRect(0,0,1,1)},paintXObject:function(){I.notify(H.unknown),b("Unsupported 'paintXObject' command.")},markPoint:function(a){},markPointProps:function(a,b){},beginMarkedContent:function(a){},beginMarkedContentProps:function(a,b){},endMarkedContent:function(){},beginCompat:function(){},endCompat:function(){},consumePath:function(){var a=this.ctx;this.pendingClip&&(this.pendingClip===v?void 0!==a.mozFillRule?(a.mozFillRule="evenodd",a.clip(),a.mozFillRule="nonzero"):a.clip("evenodd"):a.clip(),this.pendingClip=null),a.beginPath()},getSinglePixelWidth:function(a){if(null===this.cachedGetSinglePixelWidth){var b=this.ctx.mozCurrentTransformInverse;this.cachedGetSinglePixelWidth=Math.sqrt(Math.max(b[0]*b[0]+b[1]*b[1],b[2]*b[2]+b[3]*b[3]))}return this.cachedGetSinglePixelWidth},getCanvasPosition:function(a,b){var c=this.ctx.mozCurrentTransform;return[c[0]*a+c[2]*b+c[4],c[1]*a+c[3]*b+c[5]]}};for(var z in G)c.prototype[G[z]]=c.prototype[z];return c}(),la=function(){function a(a,b,c){var d=a.createShader(c);a.shaderSource(d,b),a.compileShader(d);var e=a.getShaderParameter(d,a.COMPILE_STATUS);if(!e){var f=a.getShaderInfoLog(d);throw new Error("Error during shader compilation: "+f)}return d}function b(b,c){return a(b,c,b.VERTEX_SHADER)}function c(b,c){return a(b,c,b.FRAGMENT_SHADER)}function d(a,b){for(var c=a.createProgram(),d=0,e=b.length;e>d;++d)a.attachShader(c,b[d]);a.linkProgram(c);var f=a.getProgramParameter(c,a.LINK_STATUS);if(!f){var g=a.getProgramInfoLog(c);throw new Error("Error during program linking: "+g)}return c}function e(a,b,c){a.activeTexture(c);var d=a.createTexture();return a.bindTexture(a.TEXTURE_2D,d),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.NEAREST),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.NEAREST),a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,b),d}function f(){m||(n=document.createElement("canvas"),m=n.getContext("webgl",{premultipliedalpha:!1}))}function g(){var a,e;f(),a=n,n=null,e=m,m=null;var g=b(e,o),h=c(e,p),i=d(e,[g,h]);e.useProgram(i);var j={};j.gl=e,j.canvas=a,j.resolutionLocation=e.getUniformLocation(i,"u_resolution"),j.positionLocation=e.getAttribLocation(i,"a_position"),j.backdropLocation=e.getUniformLocation(i,"u_backdrop"),j.subtypeLocation=e.getUniformLocation(i,"u_subtype");var k=e.getAttribLocation(i,"a_texCoord"),l=e.getUniformLocation(i,"u_image"),r=e.getUniformLocation(i,"u_mask"),s=e.createBuffer();
+e.bindBuffer(e.ARRAY_BUFFER,s),e.bufferData(e.ARRAY_BUFFER,new Float32Array([0,0,1,0,0,1,0,1,1,0,1,1]),e.STATIC_DRAW),e.enableVertexAttribArray(k),e.vertexAttribPointer(k,2,e.FLOAT,!1,0,0),e.uniform1i(l,0),e.uniform1i(r,1),q=j}function h(a,b,c){var d=a.width,f=a.height;q||g();var h=q,i=h.canvas,j=h.gl;i.width=d,i.height=f,j.viewport(0,0,j.drawingBufferWidth,j.drawingBufferHeight),j.uniform2f(h.resolutionLocation,d,f),c.backdrop?j.uniform4f(h.resolutionLocation,c.backdrop[0],c.backdrop[1],c.backdrop[2],1):j.uniform4f(h.resolutionLocation,0,0,0,0),j.uniform1i(h.subtypeLocation,"Luminosity"===c.subtype?1:0);var k=e(j,a,j.TEXTURE0),l=e(j,b,j.TEXTURE1),m=j.createBuffer();return j.bindBuffer(j.ARRAY_BUFFER,m),j.bufferData(j.ARRAY_BUFFER,new Float32Array([0,0,d,0,0,f,0,f,d,0,d,f]),j.STATIC_DRAW),j.enableVertexAttribArray(h.positionLocation),j.vertexAttribPointer(h.positionLocation,2,j.FLOAT,!1,0,0),j.clearColor(0,0,0,0),j.enable(j.BLEND),j.blendFunc(j.ONE,j.ONE_MINUS_SRC_ALPHA),j.clear(j.COLOR_BUFFER_BIT),j.drawArrays(j.TRIANGLES,0,6),j.flush(),j.deleteTexture(k),j.deleteTexture(l),j.deleteBuffer(m),i}function j(){var a,e;f(),a=n,n=null,e=m,m=null;var g=b(e,r),h=c(e,s),i=d(e,[g,h]);e.useProgram(i);var j={};j.gl=e,j.canvas=a,j.resolutionLocation=e.getUniformLocation(i,"u_resolution"),j.scaleLocation=e.getUniformLocation(i,"u_scale"),j.offsetLocation=e.getUniformLocation(i,"u_offset"),j.positionLocation=e.getAttribLocation(i,"a_position"),j.colorLocation=e.getAttribLocation(i,"a_color"),t=j}function k(a,b,c,d,e){t||j();var f=t,g=f.canvas,h=f.gl;g.width=a,g.height=b,h.viewport(0,0,h.drawingBufferWidth,h.drawingBufferHeight),h.uniform2f(f.resolutionLocation,a,b);var i,k,l,m=0;for(i=0,k=d.length;k>i;i++)switch(d[i].type){case"lattice":l=d[i].coords.length/d[i].verticesPerRow|0,m+=(l-1)*(d[i].verticesPerRow-1)*6;break;case"triangles":m+=d[i].coords.length}var n=new Float32Array(2*m),o=new Uint8Array(3*m),p=e.coords,q=e.colors,r=0,s=0;for(i=0,k=d.length;k>i;i++){var u=d[i],v=u.coords,w=u.colors;switch(u.type){case"lattice":var x=u.verticesPerRow;l=v.length/x|0;for(var y=1;l>y;y++)for(var z=y*x+1,A=1;x>A;A++,z++)n[r]=p[v[z-x-1]],n[r+1]=p[v[z-x-1]+1],n[r+2]=p[v[z-x]],n[r+3]=p[v[z-x]+1],n[r+4]=p[v[z-1]],n[r+5]=p[v[z-1]+1],o[s]=q[w[z-x-1]],o[s+1]=q[w[z-x-1]+1],o[s+2]=q[w[z-x-1]+2],o[s+3]=q[w[z-x]],o[s+4]=q[w[z-x]+1],o[s+5]=q[w[z-x]+2],o[s+6]=q[w[z-1]],o[s+7]=q[w[z-1]+1],o[s+8]=q[w[z-1]+2],n[r+6]=n[r+2],n[r+7]=n[r+3],n[r+8]=n[r+4],n[r+9]=n[r+5],n[r+10]=p[v[z]],n[r+11]=p[v[z]+1],o[s+9]=o[s+3],o[s+10]=o[s+4],o[s+11]=o[s+5],o[s+12]=o[s+6],o[s+13]=o[s+7],o[s+14]=o[s+8],o[s+15]=q[w[z]],o[s+16]=q[w[z]+1],o[s+17]=q[w[z]+2],r+=12,s+=18;break;case"triangles":for(var B=0,C=v.length;C>B;B++)n[r]=p[v[B]],n[r+1]=p[v[B]+1],o[s]=q[w[B]],o[s+1]=q[w[B]+1],o[s+2]=q[w[B]+2],r+=2,s+=3}}c?h.clearColor(c[0]/255,c[1]/255,c[2]/255,1):h.clearColor(0,0,0,0),h.clear(h.COLOR_BUFFER_BIT);var D=h.createBuffer();h.bindBuffer(h.ARRAY_BUFFER,D),h.bufferData(h.ARRAY_BUFFER,n,h.STATIC_DRAW),h.enableVertexAttribArray(f.positionLocation),h.vertexAttribPointer(f.positionLocation,2,h.FLOAT,!1,0,0);var E=h.createBuffer();return h.bindBuffer(h.ARRAY_BUFFER,E),h.bufferData(h.ARRAY_BUFFER,o,h.STATIC_DRAW),h.enableVertexAttribArray(f.colorLocation),h.vertexAttribPointer(f.colorLocation,3,h.UNSIGNED_BYTE,!1,0,0),h.uniform2f(f.scaleLocation,e.scaleX,e.scaleY),h.uniform2f(f.offsetLocation,e.offsetX,e.offsetY),h.drawArrays(h.TRIANGLES,0,m),h.flush(),h.deleteBuffer(D),h.deleteBuffer(E),g}function l(){q&&q.canvas&&(q.canvas.width=0,q.canvas.height=0),t&&t.canvas&&(t.canvas.width=0,t.canvas.height=0),q=null,t=null}var m,n,o="  attribute vec2 a_position;                                      attribute vec2 a_texCoord;                                                                                                      uniform vec2 u_resolution;                                                                                                      varying vec2 v_texCoord;                                                                                                        void main() {                                                     vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0;       gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);                                                                              v_texCoord = a_texCoord;                                      }                                                             ",p="  precision mediump float;                                                                                                        uniform vec4 u_backdrop;                                        uniform int u_subtype;                                          uniform sampler2D u_image;                                      uniform sampler2D u_mask;                                                                                                       varying vec2 v_texCoord;                                                                                                        void main() {                                                     vec4 imageColor = texture2D(u_image, v_texCoord);               vec4 maskColor = texture2D(u_mask, v_texCoord);                 if (u_backdrop.a > 0.0) {                                         maskColor.rgb = maskColor.rgb * maskColor.a +                                   u_backdrop.rgb * (1.0 - maskColor.a);         }                                                               float lum;                                                      if (u_subtype == 0) {                                             lum = maskColor.a;                                            } else {                                                          lum = maskColor.r * 0.3 + maskColor.g * 0.59 +                        maskColor.b * 0.11;                                     }                                                               imageColor.a *= lum;                                            imageColor.rgb *= imageColor.a;                                 gl_FragColor = imageColor;                                    }                                                             ",q=null,r="  attribute vec2 a_position;                                      attribute vec3 a_color;                                                                                                         uniform vec2 u_resolution;                                      uniform vec2 u_scale;                                           uniform vec2 u_offset;                                                                                                          varying vec4 v_color;                                                                                                           void main() {                                                     vec2 position = (a_position + u_offset) * u_scale;              vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0;         gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);                                                                              v_color = vec4(a_color / 255.0, 1.0);                         }                                                             ",s="  precision mediump float;                                                                                                        varying vec4 v_color;                                                                                                           void main() {                                                     gl_FragColor = v_color;                                       }                                                             ",t=null;return{get isEnabled(){if(PDFJS.disableWebGL)return!1;var a=!1;try{f(),a=!!m}catch(b){}return i(this,"isEnabled",a)},composeSMask:h,drawFigures:k,clear:l}}(),ma={};ma.RadialAxial={fromIR:function(a){var b=a[1],c=a[2],d=a[3],e=a[4],f=a[5],g=a[6];return{type:"Pattern",getPattern:function(a){var h;"axial"===b?h=a.createLinearGradient(d[0],d[1],e[0],e[1]):"radial"===b&&(h=a.createRadialGradient(d[0],d[1],f,e[0],e[1],g));for(var i=0,j=c.length;j>i;++i){var k=c[i];h.addColorStop(k[0],k[1])}return h}}}};var na=function(){function a(a,b,c,d,e,f,g,h){var i,j=b.coords,k=b.colors,l=a.data,m=4*a.width;j[c+1]>j[d+1]&&(i=c,c=d,d=i,i=f,f=g,g=i),j[d+1]>j[e+1]&&(i=d,d=e,e=i,i=g,g=h,h=i),j[c+1]>j[d+1]&&(i=c,c=d,d=i,i=f,f=g,g=i);var n=(j[c]+b.offsetX)*b.scaleX,o=(j[c+1]+b.offsetY)*b.scaleY,p=(j[d]+b.offsetX)*b.scaleX,q=(j[d+1]+b.offsetY)*b.scaleY,r=(j[e]+b.offsetX)*b.scaleX,s=(j[e+1]+b.offsetY)*b.scaleY;if(!(o>=s))for(var t,u,v,w,x,y,z,A,B,C=k[f],D=k[f+1],E=k[f+2],F=k[g],G=k[g+1],H=k[g+2],I=k[h],J=k[h+1],K=k[h+2],L=Math.round(o),M=Math.round(s),N=L;M>=N;N++){q>N?(B=o>N?0:o===q?1:(o-N)/(o-q),t=n-(n-p)*B,u=C-(C-F)*B,v=D-(D-G)*B,w=E-(E-H)*B):(B=N>s?1:q===s?0:(q-N)/(q-s),t=p-(p-r)*B,u=F-(F-I)*B,v=G-(G-J)*B,w=H-(H-K)*B),B=o>N?0:N>s?1:(o-N)/(o-s),x=n-(n-r)*B,y=C-(C-I)*B,z=D-(D-J)*B,A=E-(E-K)*B;for(var O=Math.round(Math.min(t,x)),P=Math.round(Math.max(t,x)),Q=m*N+4*O,R=O;P>=R;R++)B=(t-R)/(t-x),B=0>B?0:B>1?1:B,l[Q++]=u-(u-y)*B|0,l[Q++]=v-(v-z)*B|0,l[Q++]=w-(w-A)*B|0,l[Q++]=255}}function b(b,c,e){var f,g,h=c.coords,i=c.colors;switch(c.type){case"lattice":var j=c.verticesPerRow,k=Math.floor(h.length/j)-1,l=j-1;for(f=0;k>f;f++)for(var m=f*j,n=0;l>n;n++,m++)a(b,e,h[m],h[m+1],h[m+j],i[m],i[m+1],i[m+j]),a(b,e,h[m+j+1],h[m+1],h[m+j],i[m+j+1],i[m+1],i[m+j]);break;case"triangles":for(f=0,g=h.length;g>f;f+=3)a(b,e,h[f],h[f+1],h[f+2],i[f],i[f+1],i[f+2]);break;default:d("illigal figure")}}function c(a,c,d,e,f,g){var h,i,j,k,l=1.1,m=3e3,n=Math.floor(a[0]),o=Math.floor(a[1]),p=Math.ceil(a[2])-n,q=Math.ceil(a[3])-o,r=Math.min(Math.ceil(Math.abs(p*c[0]*l)),m),s=Math.min(Math.ceil(Math.abs(q*c[1]*l)),m),t=p/r,u=q/s,v={coords:d,colors:e,offsetX:-n,offsetY:-o,scaleX:1/t,scaleY:1/u};if(la.isEnabled)h=la.drawFigures(r,s,g,f,v),i=ia.getCanvas("mesh",r,s,!1),i.context.drawImage(h,0,0),h=i.canvas;else{i=ia.getCanvas("mesh",r,s,!1);var w=i.context,x=w.createImageData(r,s);if(g){var y=x.data;for(j=0,k=y.length;k>j;j+=4)y[j]=g[0],y[j+1]=g[1],y[j+2]=g[2],y[j+3]=255}for(j=0;j<f.length;j++)b(x,f[j],v);w.putImageData(x,0,0),h=i.canvas}return{canvas:h,offsetX:n,offsetY:o,scaleX:t,scaleY:u}}return c}();ma.Mesh={fromIR:function(a){var b=a[2],c=a[3],d=a[4],e=a[5],f=a[6],g=a[8];return{type:"Pattern",getPattern:function(a,h,i){var j;if(i)j=T.singularValueDecompose2dScale(a.mozCurrentTransform);else if(j=T.singularValueDecompose2dScale(h.baseTransform),f){var k=T.singularValueDecompose2dScale(f);j=[j[0]*k[0],j[1]*k[1]]}var l=na(e,j,b,c,d,i?null:g);return i||(a.setTransform.apply(a,h.baseTransform),f&&a.transform.apply(a,f)),a.translate(l.offsetX,l.offsetY),a.scale(l.scaleX,l.scaleY),a.createPattern(l.canvas,"no-repeat")}}}},ma.Dummy={fromIR:function(){return{type:"Pattern",getPattern:function(){return"hotpink"}}}};var oa=function(){function b(a,b,c,d,e,f){this.operatorList=a[2],this.matrix=a[3]||[1,0,0,1,0,0],this.bbox=a[4],this.xstep=a[5],this.ystep=a[6],this.paintType=a[7],this.tilingType=a[8],this.color=b,this.objs=d,this.commonObjs=e,this.baseTransform=f,this.type="Pattern",this.ctx=c}var c={COLORED:1,UNCOLORED:2},e=3e3;return b.prototype={createPatternCanvas:function(b){var c=this.operatorList,d=this.bbox,f=this.xstep,g=this.ystep,h=this.paintType,i=this.tilingType,j=this.color,k=this.objs,l=this.commonObjs;a("TilingType: "+i);var m=d[0],n=d[1],o=d[2],p=d[3],q=[m,n],r=[m+f,n+g],s=r[0]-q[0],t=r[1]-q[1],u=T.singularValueDecompose2dScale(this.matrix),v=T.singularValueDecompose2dScale(this.baseTransform),w=[u[0]*v[0],u[1]*v[1]];s=Math.min(Math.ceil(Math.abs(s*w[0])),e),t=Math.min(Math.ceil(Math.abs(t*w[1])),e);var x=ia.getCanvas("pattern",s,t,!0),y=x.context,z=new ka(y,l,k);z.groupLevel=b.groupLevel,this.setFillAndStrokeStyleToContext(y,h,j),this.setScale(s,t,f,g),this.transformToScale(z);var A=[1,0,0,1,-q[0],-q[1]];return z.transform.apply(z,A),this.clipBbox(z,d,m,n,o,p),z.executeOperatorList(c),x.canvas},setScale:function(a,b,c,d){this.scale=[a/c,b/d]},transformToScale:function(a){var b=this.scale,c=[b[0],0,0,b[1],0,0];a.transform.apply(a,c)},scaleToContext:function(){var a=this.scale;this.ctx.scale(1/a[0],1/a[1])},clipBbox:function(a,b,c,d,e,f){if(b&&q(b)&&4===b.length){var g=e-c,h=f-d;a.ctx.rect(c,d,g,h),a.clip(),a.endPath()}},setFillAndStrokeStyleToContext:function(a,b,e){switch(b){case c.COLORED:var f=this.ctx;a.fillStyle=f.fillStyle,a.strokeStyle=f.strokeStyle;break;case c.UNCOLORED:var g=T.makeCssRgb(e[0],e[1],e[2]);a.fillStyle=g,a.strokeStyle=g;break;default:d("Unsupported paint type: "+b)}},getPattern:function(a,b){var c=this.createPatternCanvas(b);return a=this.ctx,a.setTransform.apply(a,this.baseTransform),a.transform.apply(a,this.matrix),this.scaleToContext(),a.createPattern(c,"repeat")}},b}();PDFJS.disableFontFace=!1;var pa={insertRule:function(a){var b=document.getElementById("PDFJS_FONT_STYLE_TAG");b||(b=document.createElement("style"),b.id="PDFJS_FONT_STYLE_TAG",document.documentElement.getElementsByTagName("head")[0].appendChild(b));var c=b.sheet;c.insertRule(a,c.cssRules.length)},clear:function(){var a=document.getElementById("PDFJS_FONT_STYLE_TAG");a&&a.parentNode.removeChild(a),this.nativeFontFaces.forEach(function(a){document.fonts["delete"](a)}),this.nativeFontFaces.length=0},get loadTestFont(){return i(this,"loadTestFont",atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA=="))},get isEvalSupported(){var a=!1;if(PDFJS.isEvalSupported)try{new Function(""),a=!0}catch(b){}return i(this,"isEvalSupported",a)},loadTestFontId:0,loadingContext:{requests:[],nextRequestId:0},isSyncFontLoadingSupported:function(){if(A)return!1;var a=window.navigator.userAgent,b=/Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(a);return b&&b[1]>=14?!0:"node"===a?!0:!1}(),nativeFontFaces:[],isFontLoadingAPISupported:!A&&"undefined"!=typeof document&&!!document.fonts,addNativeFontFace:function(a){this.nativeFontFaces.push(a),document.fonts.add(a)},bind:function(a,c){f(!A,"bind() shall be called from main thread");for(var d=[],e=[],g=[],h=function(a){return a.loaded["catch"](function(c){b('Failed to load font "'+a.family+'": '+c)})},i=0,j=a.length;j>i;i++){var k=a[i];if(!k.attached&&k.loading!==!1)if(k.attached=!0,this.isFontLoadingAPISupported){var l=k.createNativeFontFace();l&&g.push(h(l))}else{var m=k.bindDOM();m&&(d.push(m),e.push(k))}}var n=pa.queueLoadingCallback(c);this.isFontLoadingAPISupported?Promise.all(g).then(function(){n.complete()}):d.length>0&&!this.isSyncFontLoadingSupported?pa.prepareFontLoadEvent(d,e,n):n.complete()},queueLoadingCallback:function(a){function b(){for(f(!e.end,"completeRequest() cannot be called twice"),e.end=Date.now();c.requests.length>0&&c.requests[0].end;){var a=c.requests.shift();setTimeout(a.callback,0)}}var c=pa.loadingContext,d="pdfjs-font-loading-"+c.nextRequestId++,e={id:d,complete:b,callback:a,started:Date.now()};return c.requests.push(e),e},prepareFontLoadEvent:function(a,c,d){function e(a,b){return a.charCodeAt(b)<<24|a.charCodeAt(b+1)<<16|a.charCodeAt(b+2)<<8|255&a.charCodeAt(b+3)}function f(a,b,c,d){var e=a.substr(0,b),f=a.substr(b+c);return e+d+f}function g(a,c){if(l++,l>30)return b("Load test font never loaded."),void c();k.font="30px "+a,k.fillText(".",0,20);var d=k.getImageData(0,0,1,1);return d.data[3]>0?void c():void setTimeout(g.bind(null,a,c))}var h,i,j=document.createElement("canvas");j.width=1,j.height=1;var k=j.getContext("2d"),l=0,n="lt"+Date.now()+this.loadTestFontId++,o=this.loadTestFont,p=976;o=f(o,p,n.length,n);var q=16,r=1482184792,s=e(o,q);for(h=0,i=n.length-3;i>h;h+=4)s=s-r+e(n,h)|0;h<n.length&&(s=s-r+e(n+"XXX",h)|0),o=f(o,q,4,m(s));var t="url(data:font/opentype;base64,"+btoa(o)+");",u='@font-face { font-family:"'+n+'";src:'+t+"}";pa.insertRule(u);var v=[];for(h=0,i=c.length;i>h;h++)v.push(c[h].loadedName);v.push(n);var w=document.createElement("div");for(w.setAttribute("style","visibility: hidden;width: 10px; height: 10px;position: absolute; top: 0px; left: 0px;"),h=0,i=v.length;i>h;++h){var x=document.createElement("span");x.textContent="Hi",x.style.fontFamily=v[h],w.appendChild(x)}document.body.appendChild(w),g(n,function(){document.body.removeChild(w),d.complete()})}},qa=function(){function a(a,b,c){if(this.compiledGlyphs={},1!==arguments.length);else{var d=arguments[0];for(var e in d)this[e]=d[e]}}return a.prototype={createNativeFontFace:function(){if(!this.data)return null;if(PDFJS.disableFontFace)return this.disableFontFace=!0,null;var a=new FontFace(this.loadedName,this.data,{});return pa.addNativeFontFace(a),PDFJS.pdfBug&&"FontInspector"in z&&z.FontInspector.enabled&&z.FontInspector.fontAdded(this),a},bindDOM:function(){if(!this.data)return null;if(PDFJS.disableFontFace)return this.disableFontFace=!0,null;var a=k(new Uint8Array(this.data)),b=this.loadedName,c="url(data:"+this.mimetype+";base64,"+window.btoa(a)+");",d='@font-face { font-family:"'+b+'";src:'+c+"}";return pa.insertRule(d),PDFJS.pdfBug&&"FontInspector"in z&&z.FontInspector.enabled&&z.FontInspector.fontAdded(this,c),d},getPathGenerator:function(a,b){if(!(b in this.compiledGlyphs)){var c,d,e,f=a.get(this.loadedName+"_path_"+b);if(pa.isEvalSupported){var g,h="";for(d=0,e=f.length;e>d;d++)c=f[d],g=void 0!==c.args?c.args.join(","):"",h+="c."+c.cmd+"("+g+");\n";this.compiledGlyphs[b]=new Function("c","size",h)}else this.compiledGlyphs[b]=function(a,b){for(d=0,e=f.length;e>d;d++)c=f[d],"scale"===c.cmd&&(c.args=[b,-b]),a[c.cmd].apply(a,c.args)}}return this.compiledGlyphs[b]}},a}(),ra=10,sa=function(){function a(a,b,c){var d=a.style;if(d.fontSize=b.fontSize+"px",d.direction=b.fontDirection<0?"rtl":"ltr",c){d.fontWeight=c.black?c.bold?"bolder":"bold":c.bold?"bold":"normal",d.fontStyle=c.italic?"italic":"normal";var e=c.loadedName,f=e?'"'+e+'", ':"",g=c.fallbackName||"Helvetica, sans-serif";d.fontFamily=f+g}}function c(a){var c=document.createElement("section"),d=c.style,e=a.rect[2]-a.rect[0],f=a.rect[3]-a.rect[1];if(a.borderStyle.width>0){c.style.borderWidth=a.borderStyle.width+"px",a.borderStyle.style!==F.UNDERLINE&&(e-=2*a.borderStyle.width,f-=2*a.borderStyle.width);var g=a.borderStyle.horizontalCornerRadius,h=a.borderStyle.verticalCornerRadius;if(g>0||h>0){var i=g+"px / "+h+"px";CustomStyle.setProp("borderRadius",c,i)}switch(a.borderStyle.style){case F.SOLID:c.style.borderStyle="solid";break;case F.DASHED:c.style.borderStyle="dashed";break;case F.BEVELED:b("Unimplemented border style: beveled");break;case F.INSET:b("Unimplemented border style: inset");break;case F.UNDERLINE:c.style.borderBottomStyle="solid"}a.color?c.style.borderColor=T.makeCssRgb(0|a.color[0],0|a.color[1],0|a.color[2]):c.style.borderWidth=0}return d.width=e+"px",d.height=f+"px",c}function d(b,c){var d=document.createElement("div"),e=b.rect[2]-b.rect[0],f=b.rect[3]-b.rect[1];d.style.width=e+"px",d.style.height=f+"px",d.style.display="table";var g=document.createElement("div");g.textContent=b.fieldValue;var h=b.textAlignment;g.style.textAlign=["left","center","right"][h],g.style.verticalAlign="middle",g.style.display="table-cell";var i=b.fontRefName?c.getData(b.fontRefName):null;return a(g,b,i),d.appendChild(g),d}function e(a){var b=a.rect;b[3]-b[1]<ra&&(b[3]=b[1]+ra),b[2]-b[0]<ra&&(b[2]=b[0]+(b[3]-b[1]));var d=c(a);d.className="annotText";var e=document.createElement("img");e.style.height=d.style.height,e.style.width=d.style.width;var f=a.name;e.src=PDFJS.imageResourcesPath+"annotation-"+f.toLowerCase()+".svg",e.alt="[{{type}} Annotation]",e.dataset.l10nId="text_annotation_type",e.dataset.l10nArgs=JSON.stringify({type:f});var g=document.createElement("div");g.className="annotTextContentWrapper",g.style.left=Math.floor(b[2]-b[0]+5)+"px",g.style.top="-10px";var h=document.createElement("div");h.className="annotTextContent",h.setAttribute("hidden",!0);var i,j;if(a.hasBgColor&&a.color){var k=a.color,l=.7,m=l*(255-k[0])+k[0],n=l*(255-k[1])+k[1],o=l*(255-k[2])+k[2];h.style.backgroundColor=T.makeCssRgb(0|m,0|n,0|o)}var p=document.createElement("h1"),q=document.createElement("p");if(p.textContent=a.title,a.content||a.title){var r=document.createElement("span"),s=a.content.split(/(?:\r\n?|\n)/);for(i=0,j=s.length;j>i;++i){var t=s[i];r.appendChild(document.createTextNode(t)),j-1>i&&r.appendChild(document.createElement("br"))}q.appendChild(r);var u=!1,v=function(a){a&&(u=!0),h.hasAttribute("hidden")&&(d.style.zIndex+=1,h.removeAttribute("hidden"))},w=function(a){a&&(u=!1),h.hasAttribute("hidden")||u||(d.style.zIndex-=1,h.setAttribute("hidden",!0))},x=function(){u?w(!0):v(!0)};e.addEventListener("click",function(){x()},!1),e.addEventListener("mouseover",function(){v()},!1),e.addEventListener("mouseout",function(){w()},!1),h.addEventListener("click",function(){w(!0)},!1)}else h.setAttribute("hidden",!0);return h.appendChild(p),h.appendChild(q),g.appendChild(h),d.appendChild(e),d.appendChild(g),d}function f(a){var b=c(a);b.className="annotLink";var d=document.createElement("a");return d.href=d.title=a.url||"",a.url&&j()&&(d.target=K[PDFJS.externalLinkTarget]),b.appendChild(d),b}function g(a,b){switch(a.annotationType){case E.WIDGET:return d(a,b);case E.TEXT:return e(a);case E.LINK:return f(a);default:throw new Error("Unsupported annotationType: "+a.annotationType)}}return{getHtmlElement:g}}();PDFJS.AnnotationUtils=sa;var ta={fontStyle:"normal",fontWeight:"normal",fillColor:"#000000"},ua=function(){function a(a,b,c){for(var d=-1,e=b;c>e;e++){var f=255&(d^a[e]),h=g[f];d=d>>>8^h}return-1^d}function b(b,c,d,e){var f=e,g=c.length;d[f]=g>>24&255,d[f+1]=g>>16&255,d[f+2]=g>>8&255,d[f+3]=255&g,f+=4,d[f]=255&b.charCodeAt(0),d[f+1]=255&b.charCodeAt(1),d[f+2]=255&b.charCodeAt(2),d[f+3]=255&b.charCodeAt(3),f+=4,d.set(c,f),f+=c.length;var h=a(d,e+4,f);d[f]=h>>24&255,d[f+1]=h>>16&255,d[f+2]=h>>8&255,d[f+3]=255&h}function c(a,b,c){for(var d=1,e=0,f=b;c>f;++f)d=(d+(255&a[f]))%65521,e=(e+d)%65521;return e<<16|d}function d(a,d){var g,h,i,j=a.width,k=a.height,l=a.data;switch(d){case D.GRAYSCALE_1BPP:h=0,g=1,i=j+7>>3;break;case D.RGB_24BPP:h=2,g=8,i=3*j;break;case D.RGBA_32BPP:h=6,g=8,i=4*j;break;default:throw new Error("invalid format")}var m,n,o=new Uint8Array((1+i)*k),p=0,q=0;for(m=0;k>m;++m)o[p++]=0,o.set(l.subarray(q,q+i),p),q+=i,p+=i;if(d===D.GRAYSCALE_1BPP)for(p=0,m=0;k>m;m++)for(p++,n=0;i>n;n++)o[p++]^=255;var r=new Uint8Array([j>>24&255,j>>16&255,j>>8&255,255&j,k>>24&255,k>>16&255,k>>8&255,255&k,g,h,0,0,0]),s=o.length,t=65535,u=Math.ceil(s/t),v=new Uint8Array(2+s+5*u+4),w=0;v[w++]=120,v[w++]=156;for(var x=0;s>t;)v[w++]=0,v[w++]=255,v[w++]=255,v[w++]=0,v[w++]=0,v.set(o.subarray(x,x+t),w),w+=t,x+=t,s-=t;v[w++]=1,v[w++]=255&s,v[w++]=s>>8&255,v[w++]=65535&~s&255,v[w++]=(65535&~s)>>8&255,v.set(o.subarray(x),w),w+=o.length-x;var y=c(o,0,o.length);v[w++]=y>>24&255,v[w++]=y>>16&255,v[w++]=y>>8&255,v[w++]=255&y;var z=e.length+3*f+r.length+v.length,A=new Uint8Array(z),B=0;return A.set(e,B),B+=e.length,b("IHDR",r,A,B),B+=f+r.length,b("IDATA",v,A,B),B+=f+v.length,b("IEND",new Uint8Array(0),A,B),PDFJS.createObjectURL(A,"image/png")}for(var e=new Uint8Array([137,80,78,71,13,10,26,10]),f=12,g=new Int32Array(256),h=0;256>h;h++){for(var i=h,j=0;8>j;j++)i=1&i?3988292384^i>>1&2147483647:i>>1&2147483647;g[h]=i}return function(a){var b=void 0===a.kind?D.GRAYSCALE_1BPP:a.kind;return d(a,b)}}(),va=function(){function a(){this.fontSizeScale=1,this.fontWeight=ta.fontWeight,this.fontSize=0,this.textMatrix=S,this.fontMatrix=B,this.leading=0,this.x=0,this.y=0,this.lineX=0,this.lineY=0,this.charSpacing=0,this.wordSpacing=0,this.textHScale=1,this.textRise=0,this.fillColor=ta.fillColor,this.strokeColor="#000000",this.fillAlpha=1,this.strokeAlpha=1,this.lineWidth=1,this.lineJoin="",this.lineCap="",this.miterLimit=0,this.dashArray=[],this.dashPhase=0,this.dependencies=[],this.clipId="",this.pendingClip=!1,this.maskId=""}return a.prototype={clone:function(){return Object.create(this)},setCurrentPoint:function(a,b){this.x=a,this.y=b}},a}(),wa=function(){function a(a,b){var c="http://www.w3.org/2000/svg",d=document.createElementNS(c,"svg:svg");return d.setAttributeNS(null,"version","1.1"),d.setAttributeNS(null,"width",a+"px"),d.setAttributeNS(null,"height",b+"px"),d.setAttributeNS(null,"viewBox","0 0 "+a+" "+b),d}function c(a){for(var b=[],c=[],d=a.length,e=0;d>e;e++)"save"!==a[e].fn?"restore"===a[e].fn?b=c.pop():b.push(a[e]):(b.push({fnId:92,fn:"group",items:[]}),c.push(b),b=b[b.length-1].items);return b}function d(a){if(a===(0|a))return a.toString();var b=a.toFixed(10),c=b.length-1;if("0"!==b[c])return b;do c--;while("0"===b[c]);return b.substr(0,"."===b[c]?c:c+1)}function e(a){if(0===a[4]&&0===a[5]){if(0===a[1]&&0===a[2])return 1===a[0]&&1===a[3]?"":"scale("+d(a[0])+" "+d(a[3])+")";if(a[0]===a[3]&&a[1]===-a[2]){var b=180*Math.acos(a[0])/Math.PI;return"rotate("+d(b)+")"}}else if(1===a[0]&&0===a[1]&&0===a[2]&&1===a[3])return"translate("+d(a[4])+" "+d(a[5])+")";return"matrix("+d(a[0])+" "+d(a[1])+" "+d(a[2])+" "+d(a[3])+" "+d(a[4])+" "+d(a[5])+")"}function f(a,b){this.current=new va,this.transformMatrix=S,this.transformStack=[],this.extraStack=[],this.commonObjs=a,this.objs=b,this.pendingEOFill=!1,this.embedFonts=!1,this.embeddedFonts={},this.cssStyle=null}var g="http://www.w3.org/2000/svg",h="http://www.w3.org/XML/1998/namespace",i="http://www.w3.org/1999/xlink",j=["butt","round","square"],k=["miter","round","bevel"],l=0,m=0;return f.prototype={save:function(){this.transformStack.push(this.transformMatrix);var a=this.current;this.extraStack.push(a),this.current=a.clone()},restore:function(){this.transformMatrix=this.transformStack.pop(),this.current=this.extraStack.pop(),this.tgrp=document.createElementNS(g,"svg:g"),this.tgrp.setAttributeNS(null,"transform",e(this.transformMatrix)),this.pgrp.appendChild(this.tgrp)},group:function(a){this.save(),this.executeOpTree(a),this.restore()},loadDependencies:function(a){for(var b=a.fnArray,c=b.length,d=a.argsArray,e=this,f=0;c>f;f++)if(G.dependency===b[f])for(var g=d[f],h=0,i=g.length;i>h;h++){var j,k=g[h],l="g_"===k.substring(0,2);j=l?new Promise(function(a){e.commonObjs.get(k,a)}):new Promise(function(a){e.objs.get(k,a)}),this.current.dependencies.push(j)}return Promise.all(this.current.dependencies)},transform:function(a,b,c,d,f,h){var i=[a,b,c,d,f,h];this.transformMatrix=PDFJS.Util.transform(this.transformMatrix,i),this.tgrp=document.createElementNS(g,"svg:g"),this.tgrp.setAttributeNS(null,"transform",e(this.transformMatrix))},getSVG:function(b,c){return this.svg=a(c.width,c.height),this.viewport=c,this.loadDependencies(b).then(function(){this.transformMatrix=S,this.pgrp=document.createElementNS(g,"svg:g"),this.pgrp.setAttributeNS(null,"transform",e(c.transform)),this.tgrp=document.createElementNS(g,"svg:g"),this.tgrp.setAttributeNS(null,"transform",e(this.transformMatrix)),this.defs=document.createElementNS(g,"svg:defs"),this.pgrp.appendChild(this.defs),this.pgrp.appendChild(this.tgrp),this.svg.appendChild(this.pgrp);var a=this.convertOpList(b);return this.executeOpTree(a),this.svg}.bind(this))},convertOpList:function(a){var b=a.argsArray,d=a.fnArray,e=d.length,f=[],g=[];for(var h in G)f[G[h]]=h;for(var i=0;e>i;i++){var j=d[i];g.push({fnId:j,fn:f[j],args:b[i]})}return c(g)},executeOpTree:function(a){for(var c=a.length,d=0;c>d;d++){var e=a[d].fn,f=a[d].fnId,g=a[d].args;switch(0|f){case G.beginText:this.beginText();break;case G.setLeading:this.setLeading(g);break;case G.setLeadingMoveText:this.setLeadingMoveText(g[0],g[1]);break;case G.setFont:this.setFont(g);break;case G.showText:this.showText(g[0]);break;case G.showSpacedText:this.showText(g[0]);break;case G.endText:this.endText();break;case G.moveText:this.moveText(g[0],g[1]);break;case G.setCharSpacing:this.setCharSpacing(g[0]);break;case G.setWordSpacing:this.setWordSpacing(g[0]);break;case G.setHScale:this.setHScale(g[0]);break;case G.setTextMatrix:this.setTextMatrix(g[0],g[1],g[2],g[3],g[4],g[5]);break;case G.setLineWidth:this.setLineWidth(g[0]);break;case G.setLineJoin:this.setLineJoin(g[0]);break;case G.setLineCap:this.setLineCap(g[0]);break;case G.setMiterLimit:this.setMiterLimit(g[0]);break;case G.setFillRGBColor:this.setFillRGBColor(g[0],g[1],g[2]);break;case G.setStrokeRGBColor:this.setStrokeRGBColor(g[0],g[1],g[2]);break;case G.setDash:this.setDash(g[0],g[1]);break;case G.setGState:this.setGState(g[0]);break;case G.fill:this.fill();break;case G.eoFill:this.eoFill();break;case G.stroke:this.stroke();break;case G.fillStroke:this.fillStroke();break;case G.eoFillStroke:this.eoFillStroke();break;case G.clip:this.clip("nonzero");break;case G.eoClip:this.clip("evenodd");break;case G.paintSolidColorImageMask:this.paintSolidColorImageMask();break;case G.paintJpegXObject:this.paintJpegXObject(g[0],g[1],g[2]);break;case G.paintImageXObject:this.paintImageXObject(g[0]);break;case G.paintInlineImageXObject:this.paintInlineImageXObject(g[0]);break;case G.paintImageMaskXObject:this.paintImageMaskXObject(g[0]);break;case G.paintFormXObjectBegin:this.paintFormXObjectBegin(g[0],g[1]);break;case G.paintFormXObjectEnd:this.paintFormXObjectEnd();break;case G.closePath:this.closePath();break;case G.closeStroke:this.closeStroke();break;case G.closeFillStroke:this.closeFillStroke();break;case G.nextLine:this.nextLine();break;case G.transform:this.transform(g[0],g[1],g[2],g[3],g[4],g[5]);break;case G.constructPath:this.constructPath(g[0],g[1]);break;case G.endPath:this.endPath();break;case 92:this.group(a[d].items);break;default:b("Unimplemented method "+e)}}},setWordSpacing:function(a){this.current.wordSpacing=a},setCharSpacing:function(a){this.current.charSpacing=a},nextLine:function(){this.moveText(0,this.current.leading)},setTextMatrix:function(a,b,c,e,f,h){var i=this.current;this.current.textMatrix=this.current.lineMatrix=[a,b,c,e,f,h],this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0,i.xcoords=[],i.tspan=document.createElementNS(g,"svg:tspan"),i.tspan.setAttributeNS(null,"font-family",i.fontFamily),i.tspan.setAttributeNS(null,"font-size",d(i.fontSize)+"px"),i.tspan.setAttributeNS(null,"y",d(-i.y)),i.txtElement=document.createElementNS(g,"svg:text"),i.txtElement.appendChild(i.tspan)},beginText:function(){this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0,this.current.textMatrix=S,this.current.lineMatrix=S,this.current.tspan=document.createElementNS(g,"svg:tspan"),this.current.txtElement=document.createElementNS(g,"svg:text"),this.current.txtgrp=document.createElementNS(g,"svg:g"),this.current.xcoords=[]},moveText:function(a,b){var c=this.current;this.current.x=this.current.lineX+=a,this.current.y=this.current.lineY+=b,c.xcoords=[],c.tspan=document.createElementNS(g,"svg:tspan"),
+c.tspan.setAttributeNS(null,"font-family",c.fontFamily),c.tspan.setAttributeNS(null,"font-size",d(c.fontSize)+"px"),c.tspan.setAttributeNS(null,"y",d(-c.y))},showText:function(a){var b=this.current,c=b.font,f=b.fontSize;if(0!==f){var g,i=b.charSpacing,j=b.wordSpacing,k=b.fontDirection,l=b.textHScale*k,m=a.length,n=c.vertical,o=f*b.fontMatrix[0],q=0;for(g=0;m>g;++g){var r=a[g];if(null!==r)if(p(r))q+=-r*f*.001;else{b.xcoords.push(b.x+q*l);var s=r.width,t=r.fontChar,u=s*o+i*k;q+=u,b.tspan.textContent+=t}else q+=k*j}n?b.y-=q*l:b.x+=q*l,b.tspan.setAttributeNS(null,"x",b.xcoords.map(d).join(" ")),b.tspan.setAttributeNS(null,"y",d(-b.y)),b.tspan.setAttributeNS(null,"font-family",b.fontFamily),b.tspan.setAttributeNS(null,"font-size",d(b.fontSize)+"px"),b.fontStyle!==ta.fontStyle&&b.tspan.setAttributeNS(null,"font-style",b.fontStyle),b.fontWeight!==ta.fontWeight&&b.tspan.setAttributeNS(null,"font-weight",b.fontWeight),b.fillColor!==ta.fillColor&&b.tspan.setAttributeNS(null,"fill",b.fillColor),b.txtElement.setAttributeNS(null,"transform",e(b.textMatrix)+" scale(1, -1)"),b.txtElement.setAttributeNS(h,"xml:space","preserve"),b.txtElement.appendChild(b.tspan),b.txtgrp.appendChild(b.txtElement),this.tgrp.appendChild(b.txtElement)}},setLeadingMoveText:function(a,b){this.setLeading(-b),this.moveText(a,b)},addFontStyle:function(a){this.cssStyle||(this.cssStyle=document.createElementNS(g,"svg:style"),this.cssStyle.setAttributeNS(null,"type","text/css"),this.defs.appendChild(this.cssStyle));var b=PDFJS.createObjectURL(a.data,a.mimetype);this.cssStyle.textContent+='@font-face { font-family: "'+a.loadedName+'"; src: url('+b+"); }\n"},setFont:function(a){var b=this.current,c=this.commonObjs.get(a[0]),e=a[1];this.current.font=c,this.embedFonts&&c.data&&!this.embeddedFonts[c.loadedName]&&(this.addFontStyle(c),this.embeddedFonts[c.loadedName]=c),b.fontMatrix=c.fontMatrix?c.fontMatrix:B;var f=c.black?c.bold?"bolder":"bold":c.bold?"bold":"normal",h=c.italic?"italic":"normal";0>e?(e=-e,b.fontDirection=-1):b.fontDirection=1,b.fontSize=e,b.fontFamily=c.loadedName,b.fontWeight=f,b.fontStyle=h,b.tspan=document.createElementNS(g,"svg:tspan"),b.tspan.setAttributeNS(null,"y",d(-b.y)),b.xcoords=[]},endText:function(){this.current.pendingClip?(this.cgrp.appendChild(this.tgrp),this.pgrp.appendChild(this.cgrp)):this.pgrp.appendChild(this.tgrp),this.tgrp=document.createElementNS(g,"svg:g"),this.tgrp.setAttributeNS(null,"transform",e(this.transformMatrix))},setLineWidth:function(a){this.current.lineWidth=a},setLineCap:function(a){this.current.lineCap=j[a]},setLineJoin:function(a){this.current.lineJoin=k[a]},setMiterLimit:function(a){this.current.miterLimit=a},setStrokeRGBColor:function(a,b,c){var d=T.makeCssRgb(a,b,c);this.current.strokeColor=d},setFillRGBColor:function(a,b,c){var d=T.makeCssRgb(a,b,c);this.current.fillColor=d,this.current.tspan=document.createElementNS(g,"svg:tspan"),this.current.xcoords=[]},setDash:function(a,b){this.current.dashArray=a,this.current.dashPhase=b},constructPath:function(a,b){var c=this.current,e=c.x,f=c.y;c.path=document.createElementNS(g,"svg:path");for(var h=[],i=a.length,j=0,k=0;i>j;j++)switch(0|a[j]){case G.rectangle:e=b[k++],f=b[k++];var l=b[k++],m=b[k++],n=e+l,o=f+m;h.push("M",d(e),d(f),"L",d(n),d(f),"L",d(n),d(o),"L",d(e),d(o),"Z");break;case G.moveTo:e=b[k++],f=b[k++],h.push("M",d(e),d(f));break;case G.lineTo:e=b[k++],f=b[k++],h.push("L",d(e),d(f));break;case G.curveTo:e=b[k+4],f=b[k+5],h.push("C",d(b[k]),d(b[k+1]),d(b[k+2]),d(b[k+3]),d(e),d(f)),k+=6;break;case G.curveTo2:e=b[k+2],f=b[k+3],h.push("C",d(e),d(f),d(b[k]),d(b[k+1]),d(b[k+2]),d(b[k+3])),k+=4;break;case G.curveTo3:e=b[k+2],f=b[k+3],h.push("C",d(b[k]),d(b[k+1]),d(e),d(f),d(e),d(f)),k+=4;break;case G.closePath:h.push("Z")}c.path.setAttributeNS(null,"d",h.join(" ")),c.path.setAttributeNS(null,"stroke-miterlimit",d(c.miterLimit)),c.path.setAttributeNS(null,"stroke-linecap",c.lineCap),c.path.setAttributeNS(null,"stroke-linejoin",c.lineJoin),c.path.setAttributeNS(null,"stroke-width",d(c.lineWidth)+"px"),c.path.setAttributeNS(null,"stroke-dasharray",c.dashArray.map(d).join(" ")),c.path.setAttributeNS(null,"stroke-dashoffset",d(c.dashPhase)+"px"),c.path.setAttributeNS(null,"fill","none"),this.tgrp.appendChild(c.path),c.pendingClip?(this.cgrp.appendChild(this.tgrp),this.pgrp.appendChild(this.cgrp)):this.pgrp.appendChild(this.tgrp),c.element=c.path,c.setCurrentPoint(e,f)},endPath:function(){var a=this.current;a.pendingClip?(this.cgrp.appendChild(this.tgrp),this.pgrp.appendChild(this.cgrp)):this.pgrp.appendChild(this.tgrp),this.tgrp=document.createElementNS(g,"svg:g"),this.tgrp.setAttributeNS(null,"transform",e(this.transformMatrix))},clip:function(a){var b=this.current;b.clipId="clippath"+l,l++,this.clippath=document.createElementNS(g,"svg:clipPath"),this.clippath.setAttributeNS(null,"id",b.clipId);var c=b.element.cloneNode();"evenodd"===a?c.setAttributeNS(null,"clip-rule","evenodd"):c.setAttributeNS(null,"clip-rule","nonzero"),this.clippath.setAttributeNS(null,"transform",e(this.transformMatrix)),this.clippath.appendChild(c),this.defs.appendChild(this.clippath),b.pendingClip=!0,this.cgrp=document.createElementNS(g,"svg:g"),this.cgrp.setAttributeNS(null,"clip-path","url(#"+b.clipId+")"),this.pgrp.appendChild(this.cgrp)},closePath:function(){var a=this.current,b=a.path.getAttributeNS(null,"d");b+="Z",a.path.setAttributeNS(null,"d",b)},setLeading:function(a){this.current.leading=-a},setTextRise:function(a){this.current.textRise=a},setHScale:function(a){this.current.textHScale=a/100},setGState:function(a){for(var b=0,c=a.length;c>b;b++){var d=a[b],e=d[0],f=d[1];switch(e){case"LW":this.setLineWidth(f);break;case"LC":this.setLineCap(f);break;case"LJ":this.setLineJoin(f);break;case"ML":this.setMiterLimit(f);break;case"D":this.setDash(f[0],f[1]);break;case"RI":break;case"FL":break;case"Font":this.setFont(f);break;case"CA":break;case"ca":break;case"BM":break;case"SMask":}}},fill:function(){var a=this.current;a.element.setAttributeNS(null,"fill",a.fillColor)},stroke:function(){var a=this.current;a.element.setAttributeNS(null,"stroke",a.strokeColor),a.element.setAttributeNS(null,"fill","none")},eoFill:function(){var a=this.current;a.element.setAttributeNS(null,"fill",a.fillColor),a.element.setAttributeNS(null,"fill-rule","evenodd")},fillStroke:function(){this.stroke(),this.fill()},eoFillStroke:function(){this.current.element.setAttributeNS(null,"fill-rule","evenodd"),this.fillStroke()},closeStroke:function(){this.closePath(),this.stroke()},closeFillStroke:function(){this.closePath(),this.fillStroke()},paintSolidColorImageMask:function(){var a=this.current,b=document.createElementNS(g,"svg:rect");b.setAttributeNS(null,"x","0"),b.setAttributeNS(null,"y","0"),b.setAttributeNS(null,"width","1px"),b.setAttributeNS(null,"height","1px"),b.setAttributeNS(null,"fill",a.fillColor),this.tgrp.appendChild(b)},paintJpegXObject:function(a,b,c){var e=this.current,f=this.objs.get(a),h=document.createElementNS(g,"svg:image");h.setAttributeNS(i,"xlink:href",f.src),h.setAttributeNS(null,"width",f.width+"px"),h.setAttributeNS(null,"height",f.height+"px"),h.setAttributeNS(null,"x","0"),h.setAttributeNS(null,"y",d(-c)),h.setAttributeNS(null,"transform","scale("+d(1/b)+" "+d(-1/c)+")"),this.tgrp.appendChild(h),e.pendingClip?(this.cgrp.appendChild(this.tgrp),this.pgrp.appendChild(this.cgrp)):this.pgrp.appendChild(this.tgrp)},paintImageXObject:function(a){var c=this.objs.get(a);return c?void this.paintInlineImageXObject(c):void b("Dependent image isn't ready yet")},paintInlineImageXObject:function(a,b){var c=this.current,e=a.width,f=a.height,h=ua(a),j=document.createElementNS(g,"svg:rect");j.setAttributeNS(null,"x","0"),j.setAttributeNS(null,"y","0"),j.setAttributeNS(null,"width",d(e)),j.setAttributeNS(null,"height",d(f)),c.element=j,this.clip("nonzero");var k=document.createElementNS(g,"svg:image");k.setAttributeNS(i,"xlink:href",h),k.setAttributeNS(null,"x","0"),k.setAttributeNS(null,"y",d(-f)),k.setAttributeNS(null,"width",d(e)+"px"),k.setAttributeNS(null,"height",d(f)+"px"),k.setAttributeNS(null,"transform","scale("+d(1/e)+" "+d(-1/f)+")"),b?b.appendChild(k):this.tgrp.appendChild(k),c.pendingClip?(this.cgrp.appendChild(this.tgrp),this.pgrp.appendChild(this.cgrp)):this.pgrp.appendChild(this.tgrp)},paintImageMaskXObject:function(a){var b=this.current,c=a.width,e=a.height,f=b.fillColor;b.maskId="mask"+m++;var h=document.createElementNS(g,"svg:mask");h.setAttributeNS(null,"id",b.maskId);var i=document.createElementNS(g,"svg:rect");i.setAttributeNS(null,"x","0"),i.setAttributeNS(null,"y","0"),i.setAttributeNS(null,"width",d(c)),i.setAttributeNS(null,"height",d(e)),i.setAttributeNS(null,"fill",f),i.setAttributeNS(null,"mask","url(#"+b.maskId+")"),this.defs.appendChild(h),this.tgrp.appendChild(i),this.paintInlineImageXObject(a,h)},paintFormXObjectBegin:function(a,b){if(this.save(),q(a)&&6===a.length&&this.transform(a[0],a[1],a[2],a[3],a[4],a[5]),q(b)&&4===b.length){var c=b[2]-b[0],e=b[3]-b[1],f=document.createElementNS(g,"svg:rect");f.setAttributeNS(null,"x",b[0]),f.setAttributeNS(null,"y",b[1]),f.setAttributeNS(null,"width",d(c)),f.setAttributeNS(null,"height",d(e)),this.current.element=f,this.clip("nonzero"),this.endPath()}},paintFormXObjectEnd:function(){this.restore()}},f}();PDFJS.SVGGraphics=wa}.call("undefined"==typeof window?this:window),PDFJS.workerSrc||"undefined"==typeof document||(PDFJS.workerSrc=function(){"use strict";var a=document.body||document.getElementsByTagName("head")[0],b=a.lastChild.src;return b&&b.replace(/\.js$/i,".worker.js")}()),"undefined"==typeof PDFJS&&(("undefined"!=typeof window?window:this).PDFJS={}),PDFJS.version="1.1.551",PDFJS.build="2a5616c",function(){"use strict";function a(a){PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.infos&&console.log("Info: "+a)}function b(a){PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.warnings&&console.log("Warning: "+a)}function c(a){throw PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.errors&&(console.log("Error: "+a),console.log(d())),aa.notify(_.unknown),new Error(a)}function d(){try{throw new Error}catch(a){return a.stack?a.stack.split("\n").slice(2).join("\n"):""}}function e(a,b){a||c(b)}function f(a,b){if(!a)return!1;var c=/^[a-z][a-z0-9+\-.]*(?=:)/i.exec(a);if(!c)return b;switch(c=c[0].toLowerCase()){case"http":case"https":case"ftp":case"mailto":case"tel":return!0;default:return!1}}function g(a,b,c){return Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!1}),c}function h(){switch(PDFJS.openExternalLinksInNewWindow&&(b("PDFJS.openExternalLinksInNewWindow is deprecated, use PDFJS.externalLinkTarget instead."),PDFJS.externalLinkTarget===ba.NONE&&(PDFJS.externalLinkTarget=ba.BLANK),PDFJS.openExternalLinksInNewWindow=!1),PDFJS.externalLinkTarget){case ba.NONE:return!1;case ba.SELF:case ba.BLANK:case ba.PARENT:case ba.TOP:return!0}return b("PDFJS.externalLinkTarget is invalid: "+PDFJS.externalLinkTarget),PDFJS.externalLinkTarget=ba.NONE,!1}function i(a){e(null!==a&&"object"==typeof a&&void 0!==a.length,"Invalid argument for bytesToString");var b=a.length,c=8192;if(c>b)return String.fromCharCode.apply(null,a);for(var d=[],f=0;b>f;f+=c){var g=Math.min(f+c,b),h=a.subarray(f,g);d.push(String.fromCharCode.apply(null,h))}return d.join("")}function j(a){e("string"==typeof a,"Invalid argument for stringToBytes");for(var b=a.length,c=new Uint8Array(b),d=0;b>d;++d)c[d]=255&a.charCodeAt(d);return c}function k(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,255&a)}function l(a){for(var b=1,c=0;a>b;)b<<=1,c++;return c}function m(a,b){return a[b]<<24>>24}function n(a,b){return a[b]<<8|a[b+1]}function o(a,b){return(a[b]<<24|a[b+1]<<16|a[b+2]<<8|a[b+3])>>>0}function p(){var a=new Uint8Array(2);a[0]=1;var b=new Uint16Array(a.buffer);return 1===b[0]}function q(){var a=document.createElement("canvas");a.width=a.height=1;var b=a.getContext("2d"),c=b.createImageData(1,1);return"undefined"!=typeof c.data.buffer}function r(a){var b,c=a.length,d=[];if("þ"===a[0]&&"ÿ"===a[1])for(b=2;c>b;b+=2)d.push(String.fromCharCode(a.charCodeAt(b)<<8|a.charCodeAt(b+1)));else for(b=0;c>b;++b){var e=oa[a.charCodeAt(b)];d.push(e?String.fromCharCode(e):a.charAt(b))}return d.join("")}function s(a){return decodeURIComponent(escape(a))}function t(a){return unescape(encodeURIComponent(a))}function u(a){for(var b in a)return!1;return!0}function v(a){return"boolean"==typeof a}function w(a){return"number"==typeof a&&(0|a)===a}function x(a){return"number"==typeof a}function y(a){return"string"==typeof a}function z(a){return a instanceof ya}function A(a,b){return a instanceof za&&(void 0===b||a.cmd===b)}function B(a,b){if(!(a instanceof Aa))return!1;if(!b)return!0;var c=a.get("Type");return z(c)&&c.name===b}function C(a){return a instanceof Array}function D(a){return"object"==typeof a&&null!==a&&void 0!==a.getBytes}function E(a){return"object"==typeof a&&null!==a&&void 0!==a.byteLength}function F(a){return a instanceof Ba}function G(){var a={};return a.promise=new Promise(function(b,c){a.resolve=b,a.reject=c}),a}function H(a,b){this.name=a,this.comObj=b,this.callbackIndex=1,this.postMessageTransfers=!0;var d=this.callbacksCapabilities={},e=this.actionHandler={};e.console_log=[function(a){console.log.apply(console,a)}],e.console_error=[function(a){console.error.apply(console,a)}],e._unsupported_feature=[function(a){aa.notify(a)}],b.onmessage=function(a){var f=a.data;if(f.isReply){var g=f.callbackId;if(f.callbackId in d){var h=d[g];delete d[g],"error"in f?h.reject(f.error):h.resolve(f.data)}else c("Cannot resolve callback "+g)}else if(f.action in e){var i=e[f.action];f.callbackId?Promise.resolve().then(function(){return i[0].call(i[1],f.data)}).then(function(a){b.postMessage({isReply:!0,callbackId:f.callbackId,data:a})},function(a){a instanceof Error&&(a+=""),b.postMessage({isReply:!0,callbackId:f.callbackId,error:a})}):i[0].call(i[1],f.data)}else c("Unknown action from worker: "+f.action)}}function I(){}function J(a,b,c){var d=b.get("Matrix"),e=b.get("BBox"),f=b.get("XStep"),g=b.get("YStep"),h=b.get("PaintType"),i=b.get("TilingType");return["TilingPattern",c,a,d,e,f,g,h,i]}function K(a){return a>=65520&&65535>=a?0:a>=62976&&63743>=a?Wb[a]||a:a}function L(a){for(var b=0,c=Xb.length;c>b;b++){var d=Xb[b];if(a>=d.begin&&a<d.end)return b}return-1}function M(a){var b=Xb[13];return a>=b.begin&&a<b.end?!0:(b=Xb[11],a>=b.begin&&a<b.end?!0:!1)}function N(a){var b=a.length;if(1>=b||!M(a.charCodeAt(0)))return a;for(var c="",d=b-1;d>=0;d--)c+=a[d];return c}function O(a){if(a.fontMatrix[0]!==T[0]){var b=.001/a.fontMatrix[0],c=a.widths;for(var d in c)c[d]*=b;a.defaultWidth*=b}}function P(a,b){switch(a){case"Type1":return"Type1C"===b?Z.TYPE1C:Z.TYPE1;case"CIDFontType0":return"CIDFontType0C"===b?Z.CIDFONTTYPE0C:Z.CIDFONTTYPE0;case"OpenType":return Z.OPENTYPE;case"TrueType":return Z.TRUETYPE;case"CIDFontType2":return Z.CIDFONTTYPE2;case"MMType1":return Z.MMTYPE1;case"Type0":return Z.TYPE0;default:return Z.UNKNOWN}}function Q(a,b,c){var d,e,f,g=Object.create(null);if(a.baseEncodingName)for(f=Pb[a.baseEncodingName],e=0;e<f.length;e++)d=c.indexOf(f[e]),d>=0?g[e]=d:g[e]=0;else if(a.flags&Ob.Symbolic)for(e in b)g[e]=b[e];else for(f=Pb.StandardEncoding,e=0;e<f.length;e++)d=c.indexOf(f[e]),d>=0?g[e]=d:g[e]=0;var h=a.differences;if(h)for(e in h){var i=h[e];d=c.indexOf(i),d>=0?g[e]=d:g[e]=0}return g}function R(a){return a===Dc}var S="undefined"==typeof window?this:window,T=("undefined"==typeof window,[.001,0,0,.001,0,0]),U={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_ADD_TO_PATH:4,STROKE_ADD_TO_PATH:5,FILL_STROKE_ADD_TO_PATH:6,ADD_TO_PATH:7,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4},V={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},W={WIDGET:1,TEXT:2,LINK:3},X={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5},Y={UNKNOWN:0,FLATE:1,LZW:2,DCT:3,JPX:4,JBIG:5,A85:6,AHX:7,CCF:8,RL:9},Z={UNKNOWN:0,TYPE1:1,TYPE1C:2,CIDFONTTYPE0:3,CIDFONTTYPE0C:4,TRUETYPE:5,CIDFONTTYPE2:6,TYPE3:7,OPENTYPE:8,TYPE0:9,MMTYPE1:10};S.PDFJS||(S.PDFJS={}),S.PDFJS.pdfBug=!1,PDFJS.VERBOSITY_LEVELS={errors:0,warnings:1,infos:5};var $=PDFJS.OPS={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotations:78,endAnnotations:79,beginAnnotation:80,endAnnotation:81,paintJpegXObject:82,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91},_=PDFJS.UNSUPPORTED_FEATURES={unknown:"unknown",forms:"forms",javaScript:"javaScript",smask:"smask",shadingPattern:"shadingPattern",font:"font"},aa=PDFJS.UnsupportedManager=function(){var a=[];return{listen:function(b){a.push(b)},notify:function(c){b('Unsupported feature "'+c+'"');for(var d=0,e=a.length;e>d;d++)a[d](c)}}}();PDFJS.isValidUrl=f,PDFJS.shadow=g;var ba=PDFJS.LinkTarget={NONE:0,SELF:1,BLANK:2,PARENT:3,TOP:4};PDFJS.isExternalLinkTargetSet=h;var ca=PDFJS.PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},da=function(){function a(a,b){this.name="PasswordException",this.message=a,this.code=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.PasswordException=da;var ea=function(){function a(a,b){this.name="UnknownErrorException",this.message=a,this.details=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.UnknownErrorException=ea;var fa=function(){function a(a){this.name="InvalidPDFException",this.message=a}return a.prototype=new Error,a.constructor=a,a}();PDFJS.InvalidPDFException=fa;var ga=function(){function a(a){this.name="MissingPDFException",this.message=a}return a.prototype=new Error,a.constructor=a,a}();PDFJS.MissingPDFException=ga;var ha=function(){function a(a,b){this.name="UnexpectedResponseException",this.message=a,this.status=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.UnexpectedResponseException=ha;var ia=function(){function a(a){this.message=a}return a.prototype=new Error,a.prototype.name="NotImplementedException",a.constructor=a,a}(),ja=function(){function a(a,b){this.begin=a,this.end=b,this.message="Missing data ["+a+", "+b+")"}return a.prototype=new Error,a.prototype.name="MissingDataException",a.constructor=a,a}(),ka=function(){function a(a){this.message=a}return a.prototype=new Error,a.prototype.name="XRefParseException",a.constructor=a,a}();Object.defineProperty(PDFJS,"isLittleEndian",{configurable:!0,get:function(){return g(PDFJS,"isLittleEndian",p())}}),Object.defineProperty(PDFJS,"hasCanvasTypedArrays",{configurable:!0,get:function(){return g(PDFJS,"hasCanvasTypedArrays",q())}});var la=function(){function a(a,b){this.buffer=a,this.byteLength=a.length,this.length=void 0===b?this.byteLength>>2:b,c(this.length)}function b(a){return{get:function(){var b=this.buffer,c=a<<2;return(b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24)>>>0},set:function(b){var c=this.buffer,d=a<<2;c[d]=255&b,c[d+1]=b>>8&255,c[d+2]=b>>16&255,c[d+3]=b>>>24&255}}}function c(c){for(;c>d;)Object.defineProperty(a.prototype,d,b(d)),d++}a.prototype=Object.create(null);var d=0;return a}(),ma=[1,0,0,1,0,0],na=PDFJS.Util=function(){function a(){}var b=["rgb(",0,",",0,",",0,")"];return a.makeCssRgb=function(a,c,d){return b[1]=a,b[3]=c,b[5]=d,b.join("")},a.transform=function(a,b){return[a[0]*b[0]+a[2]*b[1],a[1]*b[0]+a[3]*b[1],a[0]*b[2]+a[2]*b[3],a[1]*b[2]+a[3]*b[3],a[0]*b[4]+a[2]*b[5]+a[4],a[1]*b[4]+a[3]*b[5]+a[5]]},a.applyTransform=function(a,b){var c=a[0]*b[0]+a[1]*b[2]+b[4],d=a[0]*b[1]+a[1]*b[3]+b[5];return[c,d]},a.applyInverseTransform=function(a,b){var c=b[0]*b[3]-b[1]*b[2],d=(a[0]*b[3]-a[1]*b[2]+b[2]*b[5]-b[4]*b[3])/c,e=(-a[0]*b[1]+a[1]*b[0]+b[4]*b[1]-b[5]*b[0])/c;return[d,e]},a.getAxialAlignedBoundingBox=function(b,c){var d=a.applyTransform(b,c),e=a.applyTransform(b.slice(2,4),c),f=a.applyTransform([b[0],b[3]],c),g=a.applyTransform([b[2],b[1]],c);return[Math.min(d[0],e[0],f[0],g[0]),Math.min(d[1],e[1],f[1],g[1]),Math.max(d[0],e[0],f[0],g[0]),Math.max(d[1],e[1],f[1],g[1])]},a.inverseTransform=function(a){var b=a[0]*a[3]-a[1]*a[2];return[a[3]/b,-a[1]/b,-a[2]/b,a[0]/b,(a[2]*a[5]-a[4]*a[3])/b,(a[4]*a[1]-a[5]*a[0])/b]},a.apply3dTransform=function(a,b){return[a[0]*b[0]+a[1]*b[1]+a[2]*b[2],a[3]*b[0]+a[4]*b[1]+a[5]*b[2],a[6]*b[0]+a[7]*b[1]+a[8]*b[2]]},a.singularValueDecompose2dScale=function(a){var b=[a[0],a[2],a[1],a[3]],c=a[0]*b[0]+a[1]*b[2],d=a[0]*b[1]+a[1]*b[3],e=a[2]*b[0]+a[3]*b[2],f=a[2]*b[1]+a[3]*b[3],g=(c+f)/2,h=Math.sqrt((c+f)*(c+f)-4*(c*f-e*d))/2,i=g+h||1,j=g-h||1;return[Math.sqrt(i),Math.sqrt(j)]},a.normalizeRect=function(a){var b=a.slice(0);return a[0]>a[2]&&(b[0]=a[2],b[2]=a[0]),a[1]>a[3]&&(b[1]=a[3],b[3]=a[1]),b},a.intersect=function(b,c){function d(a,b){return a-b}var e=[b[0],b[2],c[0],c[2]].sort(d),f=[b[1],b[3],c[1],c[3]].sort(d),g=[];return b=a.normalizeRect(b),c=a.normalizeRect(c),e[0]===b[0]&&e[1]===c[0]||e[0]===c[0]&&e[1]===b[0]?(g[0]=e[1],g[2]=e[2],f[0]===b[1]&&f[1]===c[1]||f[0]===c[1]&&f[1]===b[1]?(g[1]=f[1],g[3]=f[2],g):!1):!1},a.sign=function(a){return 0>a?-1:1},a.appendToArray=function(a,b){Array.prototype.push.apply(a,b)},a.prependToArray=function(a,b){Array.prototype.unshift.apply(a,b)},a.extendObj=function(a,b){for(var c in b)a[c]=b[c]},a.getInheritableProperty=function(a,b){for(;a&&!a.has(b);)a=a.get("Parent");return a?a.get(b):null},a.inherit=function(a,b,c){a.prototype=Object.create(b.prototype),a.prototype.constructor=a;for(var d in c)a.prototype[d]=c[d]},a.loadScript=function(a,b){var c=document.createElement("script"),d=!1;c.setAttribute("src",a),b&&(c.onload=function(){d||b(),d=!0}),document.getElementsByTagName("head")[0].appendChild(c)},a}(),oa=(PDFJS.PageViewport=function(){function a(a,b,c,d,e,f){this.viewBox=a,this.scale=b,this.rotation=c,this.offsetX=d,this.offsetY=e;var g,h,i,j,k=(a[2]+a[0])/2,l=(a[3]+a[1])/2;switch(c%=360,c=0>c?c+360:c){case 180:g=-1,h=0,i=0,j=1;break;case 90:g=0,h=1,i=1,j=0;break;case 270:g=0,h=-1,i=-1,j=0;break;default:g=1,h=0,i=0,j=-1}f&&(i=-i,j=-j);var m,n,o,p;0===g?(m=Math.abs(l-a[1])*b+d,n=Math.abs(k-a[0])*b+e,o=Math.abs(a[3]-a[1])*b,p=Math.abs(a[2]-a[0])*b):(m=Math.abs(k-a[0])*b+d,n=Math.abs(l-a[1])*b+e,o=Math.abs(a[2]-a[0])*b,p=Math.abs(a[3]-a[1])*b),this.transform=[g*b,h*b,i*b,j*b,m-g*b*k-i*b*l,n-h*b*k-j*b*l],this.width=o,this.height=p,this.fontScale=b}return a.prototype={clone:function(b){b=b||{};var c="scale"in b?b.scale:this.scale,d="rotation"in b?b.rotation:this.rotation;return new a(this.viewBox.slice(),c,d,this.offsetX,this.offsetY,b.dontFlip)},convertToViewportPoint:function(a,b){return na.applyTransform([a,b],this.transform)},convertToViewportRectangle:function(a){var b=na.applyTransform([a[0],a[1]],this.transform),c=na.applyTransform([a[2],a[3]],this.transform);return[b[0],b[1],c[0],c[1]]},convertToPdfPoint:function(a,b){return na.applyInverseTransform([a,b],this.transform)}},a}(),[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,728,711,710,729,733,731,730,732,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,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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8226,8224,8225,8230,8212,8211,402,8260,8249,8250,8722,8240,8222,8220,8221,8216,8217,8218,8482,64257,64258,321,338,352,376,381,305,322,339,353,382,0,8364]);PDFJS.createPromiseCapability=G,function(){function a(a){this._status=c,this._handlers=[];try{a.call(this,this._resolve.bind(this),this._reject.bind(this))}catch(b){this._reject(b)}}if(S.Promise)return"function"!=typeof S.Promise.all&&(S.Promise.all=function(a){var b,c,d=0,e=[],f=new S.Promise(function(a,d){b=a,c=d});return a.forEach(function(a,f){d++,a.then(function(a){e[f]=a,d--,0===d&&b(e)},c)}),0===d&&b(e),f}),"function"!=typeof S.Promise.resolve&&(S.Promise.resolve=function(a){return new S.Promise(function(b){b(a)})}),"function"!=typeof S.Promise.reject&&(S.Promise.reject=function(a){return new S.Promise(function(b,c){c(a)})}),void("function"!=typeof S.Promise.prototype["catch"]&&(S.Promise.prototype["catch"]=function(a){return S.Promise.prototype.then(void 0,a)}));var c=0,d=1,e=2,f=500,g={handlers:[],running:!1,unhandledRejections:[],pendingRejectionCheck:!1,scheduleHandlers:function(a){a._status!==c&&(this.handlers=this.handlers.concat(a._handlers),a._handlers=[],this.running||(this.running=!0,setTimeout(this.runHandlers.bind(this),0)))},runHandlers:function(){for(var a=1,b=Date.now()+a;this.handlers.length>0;){var c=this.handlers.shift(),f=c.thisPromise._status,g=c.thisPromise._value;try{f===d?"function"==typeof c.onResolve&&(g=c.onResolve(g)):"function"==typeof c.onReject&&(g=c.onReject(g),f=d,c.thisPromise._unhandledRejection&&this.removeUnhandeledRejection(c.thisPromise))}catch(h){f=e,g=h}if(c.nextPromise._updateStatus(f,g),Date.now()>=b)break}return this.handlers.length>0?void setTimeout(this.runHandlers.bind(this),0):void(this.running=!1)},addUnhandledRejection:function(a){this.unhandledRejections.push({promise:a,time:Date.now()}),this.scheduleRejectionCheck()},removeUnhandeledRejection:function(a){a._unhandledRejection=!1;for(var b=0;b<this.unhandledRejections.length;b++)this.unhandledRejections[b].promise===a&&(this.unhandledRejections.splice(b),b--)},scheduleRejectionCheck:function(){this.pendingRejectionCheck||(this.pendingRejectionCheck=!0,setTimeout(function(){this.pendingRejectionCheck=!1;for(var a=Date.now(),c=0;c<this.unhandledRejections.length;c++)if(a-this.unhandledRejections[c].time>f){var d=this.unhandledRejections[c].promise._value,e="Unhandled rejection: "+d;d.stack&&(e+="\n"+d.stack),b(e),this.unhandledRejections.splice(c),c--}this.unhandledRejections.length&&this.scheduleRejectionCheck()}.bind(this),f))}};a.all=function(b){function c(a){g._status!==e&&(i=[],f(a))}var d,f,g=new a(function(a,b){d=a,f=b}),h=b.length,i=[];if(0===h)return d(i),g;for(var j=0,k=b.length;k>j;++j){var l=b[j],m=function(a){return function(b){g._status!==e&&(i[a]=b,h--,0===h&&d(i))}}(j);a.isPromise(l)?l.then(m,c):m(l)}return g},a.isPromise=function(a){return a&&"function"==typeof a.then},a.resolve=function(b){return new a(function(a){a(b)})},a.reject=function(b){return new a(function(a,c){c(b)})},a.prototype={_status:null,_value:null,_handlers:null,_unhandledRejection:null,_updateStatus:function(b,c){if(this._status!==d&&this._status!==e){if(b===d&&a.isPromise(c))return void c.then(this._updateStatus.bind(this,d),this._updateStatus.bind(this,e));this._status=b,this._value=c,b===e&&0===this._handlers.length&&(this._unhandledRejection=!0,g.addUnhandledRejection(this)),g.scheduleHandlers(this)}},_resolve:function(a){this._updateStatus(d,a)},_reject:function(a){this._updateStatus(e,a)},then:function(b,c){var d=new a(function(a,b){this.resolve=a,this.reject=b});return this._handlers.push({thisPromise:this,onResolve:b,onReject:c,nextPromise:d}),g.scheduleHandlers(this),d},"catch":function(a){return this.then(void 0,a)}},S.Promise=a}();(function(){function a(a,b,c){for(;a.length<c;)a+=b;return a}function c(){this.started={},this.times=[],this.enabled=!0}return c.prototype={time:function(a){this.enabled&&(a in this.started&&b("Timer is already running for "+a),this.started[a]=Date.now())},timeEnd:function(a){this.enabled&&(a in this.started||b("Timer has not been started for "+a),this.times.push({name:a,start:this.started[a],end:Date.now()}),delete this.started[a])},toString:function(){var b,c,d=this.times,e="",f=0;for(b=0,c=d.length;c>b;++b){var g=d[b].name;g.length>f&&(f=g.length)}for(b=0,c=d.length;c>b;++b){var h=d[b],i=h.end-h.start;e+=a(h.name," ",f)+" "+i+"ms\n"}return e}},c})();PDFJS.createBlob=function(a,b){if("undefined"!=typeof Blob)return new Blob([a],{type:b});var c=new MozBlobBuilder;return c.append(a),c.getBlob(b)},PDFJS.createObjectURL=function(){var a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return function(b,c){if(!PDFJS.disableCreateObjectURL&&"undefined"!=typeof URL&&URL.createObjectURL){var d=PDFJS.createBlob(b,c);return URL.createObjectURL(d)}for(var e="data:"+c+";base64,",f=0,g=b.length;g>f;f+=3){var h=255&b[f],i=255&b[f+1],j=255&b[f+2],k=h>>2,l=(3&h)<<4|i>>4,m=g>f+1?(15&i)<<2|j>>6:64,n=g>f+2?63&j:64;e+=a[k]+a[l]+a[m]+a[n]}return e}}(),H.prototype={on:function(a,b,d){var e=this.actionHandler;e[a]&&c('There is already an actionName called "'+a+'"'),e[a]=[b,d]},send:function(a,b,c){var d={action:a,data:b};this.postMessage(d,c)},sendWithPromise:function(a,b,c){var d=this.callbackIndex++,e={action:a,data:b,callbackId:d},f=G();this.callbacksCapabilities[d]=f;try{this.postMessage(e,c)}catch(g){f.reject(g)}return f.promise},postMessage:function(a,b){b&&this.postMessageTransfers?this.comObj.postMessage(a,b):this.comObj.postMessage(a)}};var pa=function(){function a(a,b){this.url=a,b=b||{},this.isHttp=/^https?:/i.test(a),this.httpHeaders=this.isHttp&&b.httpHeaders||{},this.withCredentials=b.withCredentials||!1,this.getXhr=b.getXhr||function(){return new XMLHttpRequest},this.currXhrId=0,this.pendingRequests={},this.loadedRequests={}}function b(a){var b=a.response;if("string"!=typeof b)return b;for(var c=b.length,d=new Uint8Array(c),e=0;c>e;e++)d[e]=255&b.charCodeAt(e);return d.buffer}var c=200,d=206,e=function(){try{var a=new XMLHttpRequest;return a.open("GET","https://example.com"),a.responseType="moz-chunked-arraybuffer","moz-chunked-arraybuffer"===a.responseType}catch(b){return!1}}();return a.prototype={requestRange:function(a,b,c){var d={begin:a,end:b};for(var e in c)d[e]=c[e];return this.request(d)},requestFull:function(a){return this.request(a)},request:function(a){var b=this.getXhr(),c=this.currXhrId++,d=this.pendingRequests[c]={xhr:b};b.open("GET",this.url),b.withCredentials=this.withCredentials;for(var f in this.httpHeaders){var g=this.httpHeaders[f];"undefined"!=typeof g&&b.setRequestHeader(f,g)}if(this.isHttp&&"begin"in a&&"end"in a){var h=a.begin+"-"+(a.end-1);b.setRequestHeader("Range","bytes="+h),d.expectedStatus=206}else d.expectedStatus=200;var i=e&&!!a.onProgressiveData;return i?(b.responseType="moz-chunked-arraybuffer",d.onProgressiveData=a.onProgressiveData,d.mozChunked=!0):b.responseType="arraybuffer",a.onError&&(b.onerror=function(c){a.onError(b.status)}),b.onreadystatechange=this.onStateChange.bind(this,c),b.onprogress=this.onProgress.bind(this,c),d.onHeadersReceived=a.onHeadersReceived,d.onDone=a.onDone,d.onError=a.onError,d.onProgress=a.onProgress,b.send(null),c},onProgress:function(a,c){var d=this.pendingRequests[a];if(d){if(d.mozChunked){var e=b(d.xhr);d.onProgressiveData(e)}var f=d.onProgress;f&&f(c)}},onStateChange:function(a,e){var f=this.pendingRequests[a];if(f){var g=f.xhr;if(g.readyState>=2&&f.onHeadersReceived&&(f.onHeadersReceived(),delete f.onHeadersReceived),4===g.readyState&&a in this.pendingRequests){if(delete this.pendingRequests[a],0===g.status&&this.isHttp)return void(f.onError&&f.onError(g.status));var h=g.status||c,i=h===c&&f.expectedStatus===d;if(!i&&h!==f.expectedStatus)return void(f.onError&&f.onError(g.status));this.loadedRequests[a]=!0;var j=b(g);if(h===d){var k=g.getResponseHeader("Content-Range"),l=/bytes (\d+)-(\d+)\/(\d+)/.exec(k),m=parseInt(l[1],10);
+f.onDone({begin:m,chunk:j})}else f.onProgressiveData?f.onDone(null):f.onDone({begin:0,chunk:j})}}},hasPendingRequests:function(){for(var a in this.pendingRequests)return!0;return!1},getRequestXhr:function(a){return this.pendingRequests[a].xhr},isStreamingRequest:function(a){return!!this.pendingRequests[a].onProgressiveData},isPendingRequest:function(a){return a in this.pendingRequests},isLoadedRequest:function(a){return a in this.loadedRequests},abortAllRequests:function(){for(var a in this.pendingRequests)this.abortRequest(0|a)},abortRequest:function(a){var b=this.pendingRequests[a].xhr;delete this.pendingRequests[a],b.abort()}},a}(),qa=function(){function a(a,b,c){this.bytes=new Uint8Array(a),this.start=0,this.pos=0,this.end=a,this.chunkSize=b,this.loadedChunks=[],this.numChunksLoaded=0,this.numChunks=Math.ceil(a/b),this.manager=c,this.progressiveDataLength=0,this.lastSuccessfulEnsureByteChunk=-1}return a.prototype={getMissingChunks:function(){for(var a=[],b=0,c=this.numChunks;c>b;++b)this.loadedChunks[b]||a.push(b);return a},getBaseStreams:function(){return[this]},allChunksLoaded:function(){return this.numChunksLoaded===this.numChunks},onReceiveData:function(a,b){var c=a+b.byteLength;e(a%this.chunkSize===0,"Bad begin offset: "+a);var d=this.bytes.length;e(c%this.chunkSize===0||c===d,"Bad end offset: "+c),this.bytes.set(new Uint8Array(b),a);var f,g=this.chunkSize,h=Math.floor(a/g),i=Math.floor((c-1)/g)+1;for(f=h;i>f;++f)this.loadedChunks[f]||(this.loadedChunks[f]=!0,++this.numChunksLoaded)},onReceiveProgressiveData:function(a){var b=this.progressiveDataLength,c=Math.floor(b/this.chunkSize);this.bytes.set(new Uint8Array(a),b),b+=a.byteLength,this.progressiveDataLength=b;var d,e=b>=this.end?this.numChunks:Math.floor(b/this.chunkSize);for(d=c;e>d;++d)this.loadedChunks[d]||(this.loadedChunks[d]=!0,++this.numChunksLoaded)},ensureByte:function(a){var b=Math.floor(a/this.chunkSize);if(b!==this.lastSuccessfulEnsureByteChunk){if(!this.loadedChunks[b])throw new ja(a,a+1);this.lastSuccessfulEnsureByteChunk=b}},ensureRange:function(a,b){if(!(a>=b||b<=this.progressiveDataLength))for(var c=this.chunkSize,d=Math.floor(a/c),e=Math.floor((b-1)/c)+1,f=d;e>f;++f)if(!this.loadedChunks[f])throw new ja(a,b)},nextEmptyChunk:function(a){for(var b,c=this.numChunks,d=0;c>d;++d)if(b=(a+d)%c,!this.loadedChunks[b])return b;return null},hasChunk:function(a){return!!this.loadedChunks[a]},get length(){return this.end-this.start},get isEmpty(){return 0===this.length},getByte:function(){var a=this.pos;return a>=this.end?-1:(this.ensureByte(a),this.bytes[this.pos++])},getUint16:function(){var a=this.getByte(),b=this.getByte();return-1===a||-1===b?-1:(a<<8)+b},getInt32:function(){var a=this.getByte(),b=this.getByte(),c=this.getByte(),d=this.getByte();return(a<<24)+(b<<16)+(c<<8)+d},getBytes:function(a){var b=this.bytes,c=this.pos,d=this.end;if(!a)return this.ensureRange(c,d),b.subarray(c,d);var e=c+a;return e>d&&(e=d),this.ensureRange(c,e),this.pos=e,b.subarray(c,e)},peekByte:function(){var a=this.getByte();return this.pos--,a},peekBytes:function(a){var b=this.getBytes(a);return this.pos-=b.length,b},getByteRange:function(a,b){return this.ensureRange(a,b),this.bytes.subarray(a,b)},skip:function(a){a||(a=1),this.pos+=a},reset:function(){this.pos=this.start},moveStart:function(){this.start=this.pos},makeSubStream:function(a,b,c){function d(){}this.ensureRange(a,a+b),d.prototype=Object.create(this),d.prototype.getMissingChunks=function(){for(var a=this.chunkSize,b=Math.floor(this.start/a),c=Math.floor((this.end-1)/a)+1,d=[],e=b;c>e;++e)this.loadedChunks[e]||d.push(e);return d};var e=new d;return e.pos=e.start=a,e.end=a+b||this.end,e.dict=c,e},isStream:!0},a}(),ra=function(){function a(a,b,c,d){this.stream=new qa(a,b,this),this.length=a,this.chunkSize=b,this.url=c,this.disableAutoFetch=d.disableAutoFetch;var e=this.msgHandler=d.msgHandler;if(d.chunkedViewerLoading)e.on("OnDataRange",this.onReceiveData.bind(this)),e.on("OnDataProgress",this.onProgress.bind(this)),this.sendRequest=function(a,b){e.send("RequestDataRange",{begin:a,end:b})};else{var f=function(){return new XMLHttpRequest};this.networkManager=new pa(this.url,{getXhr:f,httpHeaders:d.httpHeaders,withCredentials:d.withCredentials}),this.sendRequest=function(a,b){this.networkManager.requestRange(a,b,{onDone:this.onReceiveData.bind(this),onProgress:this.onProgress.bind(this)})}}this.currRequestId=0,this.chunksNeededByRequest={},this.requestsByChunk={},this.promisesByRequest={},this.progressiveDataLength=0,this._loadedStreamCapability=G(),d.initialData&&this.onReceiveData({chunk:d.initialData})}return a.prototype={onLoadedStream:function(){return this._loadedStreamCapability.promise},requestAllChunks:function(){var a=this.stream.getMissingChunks();return this._requestChunks(a),this._loadedStreamCapability.promise},_requestChunks:function(a){var b,c,d,e=this.currRequestId++;for(this.chunksNeededByRequest[e]=b={},c=0,d=a.length;d>c;c++)this.stream.hasChunk(a[c])||(b[a[c]]=!0);if(u(b))return Promise.resolve();var f=G();this.promisesByRequest[e]=f;var g=[];for(var h in b)h=0|h,h in this.requestsByChunk||(this.requestsByChunk[h]=[],g.push(h)),this.requestsByChunk[h].push(e);if(!g.length)return f.promise;var i=this.groupChunks(g);for(c=0;c<i.length;++c){var j=i[c],k=j.beginChunk*this.chunkSize,l=Math.min(j.endChunk*this.chunkSize,this.length);this.sendRequest(k,l)}return f.promise},getStream:function(){return this.stream},requestRange:function(a,b){b=Math.min(b,this.length);for(var c=this.getBeginChunk(a),d=this.getEndChunk(b),e=[],f=c;d>f;++f)e.push(f);return this._requestChunks(e)},requestRanges:function(a){a=a||[];for(var b=[],c=0;c<a.length;c++)for(var d=this.getBeginChunk(a[c].begin),e=this.getEndChunk(a[c].end),f=d;e>f;++f)b.indexOf(f)<0&&b.push(f);return b.sort(function(a,b){return a-b}),this._requestChunks(b)},groupChunks:function(a){for(var b=[],c=-1,d=-1,e=0;e<a.length;++e){var f=a[e];0>c&&(c=f),d>=0&&d+1!==f&&(b.push({beginChunk:c,endChunk:d+1}),c=f),e+1===a.length&&b.push({beginChunk:c,endChunk:f+1}),d=f}return b},onProgress:function(a){var b=this.stream.numChunksLoaded*this.chunkSize+a.loaded;this.msgHandler.send("DocProgress",{loaded:b,total:this.length})},onReceiveData:function(a){var b=a.chunk,c=void 0===a.begin,d=c?this.progressiveDataLength:a.begin,e=d+b.byteLength,f=Math.floor(d/this.chunkSize),g=e<this.length?Math.floor(e/this.chunkSize):Math.ceil(e/this.chunkSize);c?(this.stream.onReceiveProgressiveData(b),this.progressiveDataLength=e):this.stream.onReceiveData(d,b),this.stream.allChunksLoaded()&&this._loadedStreamCapability.resolve(this.stream);var h,i,j=[];for(b=f;g>b;++b){var k=this.requestsByChunk[b]||[];for(delete this.requestsByChunk[b],h=0;h<k.length;++h){i=k[h];var l=this.chunksNeededByRequest[i];b in l&&delete l[b],u(l)&&j.push(i)}}if(!this.disableAutoFetch&&u(this.requestsByChunk)){var m;if(1===this.stream.numChunksLoaded){var n=this.stream.numChunks-1;this.stream.hasChunk(n)||(m=n)}else m=this.stream.nextEmptyChunk(g);w(m)&&this._requestChunks([m])}for(h=0;h<j.length;++h){i=j[h];var o=this.promisesByRequest[i];delete this.promisesByRequest[i],o.resolve()}this.msgHandler.send("DocProgress",{loaded:this.stream.numChunksLoaded*this.chunkSize,total:this.length})},onError:function(a){this._loadedStreamCapability.reject(a)},getBeginChunk:function(a){var b=Math.floor(a/this.chunkSize);return b},getEndChunk:function(a){var b=Math.floor((a-1)/this.chunkSize)+1;return b},abort:function(){this.networkManager&&this.networkManager.abortAllRequests();for(var a in this.promisesByRequest){var b=this.promisesByRequest[a];b.reject(new Error("Request was aborted"))}}},a}(),sa=65536,ta=function(){function a(){throw new Error("Cannot initialize BaseManagerManager")}return a.prototype={onLoadedStream:function(){throw new ia},ensureDoc:function(a,b){return this.ensure(this.pdfDocument,a,b)},ensureXRef:function(a,b){return this.ensure(this.pdfDocument.xref,a,b)},ensureCatalog:function(a,b){return this.ensure(this.pdfDocument.catalog,a,b)},getPage:function(a){return this.pdfDocument.getPage(a)},cleanup:function(){return this.pdfDocument.cleanup()},ensure:function(a,b,c){return new ia},requestRange:function(a,b){return new ia},requestLoadedStream:function(){return new ia},sendProgressiveData:function(a){return new ia},updatePassword:function(a){this.pdfDocument.xref.password=this.password=a,this._passwordChangedCapability&&this._passwordChangedCapability.resolve()},passwordChanged:function(){return this._passwordChangedCapability=G(),this._passwordChangedCapability.promise},terminate:function(){return new ia}},a}(),ua=function(){function a(a,b){var c=new Mc(a);this.pdfDocument=new xa(this,c,b),this._loadedStreamCapability=G(),this._loadedStreamCapability.resolve(c)}return a.prototype=Object.create(ta.prototype),a.prototype.constructor=a,a.prototype.ensure=function(a,b,c){return new Promise(function(d,e){try{var f,g=a[b];f="function"==typeof g?g.apply(a,c):g,d(f)}catch(h){e(h)}})},a.prototype.requestRange=function(a,b){return Promise.resolve()},a.prototype.requestLoadedStream=function(){},a.prototype.onLoadedStream=function(){return this._loadedStreamCapability.promise},a.prototype.terminate=function(){},a}(),va=function(){function a(a,b){this.msgHandler=b;var c={msgHandler:b,httpHeaders:a.httpHeaders,withCredentials:a.withCredentials,chunkedViewerLoading:a.chunkedViewerLoading,disableAutoFetch:a.disableAutoFetch,initialData:a.initialData};this.streamManager=new ra(a.length,sa,a.url,c),this.pdfDocument=new xa(this,this.streamManager.getStream(),a.password)}return a.prototype=Object.create(ta.prototype),a.prototype.constructor=a,a.prototype.ensure=function(a,b,c){var d=this;return new Promise(function(e,f){function g(){try{var h,i=a[b];h="function"==typeof i?i.apply(a,c):i,e(h)}catch(j){if(!(j instanceof ja))return void f(j);d.streamManager.requestRange(j.begin,j.end).then(g,f)}}g()})},a.prototype.requestRange=function(a,b){return this.streamManager.requestRange(a,b)},a.prototype.requestLoadedStream=function(){this.streamManager.requestAllChunks()},a.prototype.sendProgressiveData=function(a){this.streamManager.onReceiveData({chunk:a})},a.prototype.onLoadedStream=function(){return this.streamManager.onLoadedStream()},a.prototype.terminate=function(){this.streamManager.abort()},a}(),wa=function(){function a(a,b,c,d,e,f){this.pdfManager=a,this.pageIndex=c,this.pageDict=d,this.xref=b,this.ref=e,this.fontCache=f,this.idCounters={obj:0},this.resourcesPromise=null}var c=[0,0,612,792];return a.prototype={getPageProp:function(a){return this.pageDict.get(a)},getInheritedPageProp:function(a){for(var c=this.pageDict,d=null,e=0,f=100;c;){var g=c.get(a);if(g&&(d||(d=[]),d.push(g)),++e>f){b("Page_getInheritedPageProp: maximum loop count exceeded.");break}c=c.get("Parent")}return d?1===d.length||!B(d[0])||e>f?d[0]:Aa.merge(this.xref,d):Aa.empty},get content(){return this.getPageProp("Contents")},get resources(){return g(this,"resources",this.getInheritedPageProp("Resources"))},get mediaBox(){var a=this.getInheritedPageProp("MediaBox");return C(a)&&4===a.length||(a=c),g(this,"mediaBox",a)},get view(){var a=this.mediaBox,b=this.getInheritedPageProp("CropBox");return C(b)&&4===b.length?(b=na.intersect(b,a),b?g(this,"view",b):g(this,"view",a)):g(this,"view",a)},get rotate(){var a=this.getInheritedPageProp("Rotate")||0;return a%90!==0?a=0:a>=360?a%=360:0>a&&(a=(a%360+360)%360),g(this,"rotate",a)},getContentStream:function(){var a,b=this.content;if(C(b)){var c,d=this.xref,e=b.length,f=[];for(c=0;e>c;++c)f.push(d.fetchIfRef(b[c]));a=new Pc(f)}else a=D(b)?b:new _c;return a},loadResources:function(a){return this.resourcesPromise||(this.resourcesPromise=this.pdfManager.ensure(this,"resources")),this.resourcesPromise.then(function(){var b=new Ia(this.resources.map,a,this.xref);return b.load()}.bind(this))},getOperatorList:function(a,b,c){var d=this,e=this.pdfManager,f=e.ensure(this,"getContentStream",[]),g=this.loadResources(["ExtGState","ColorSpace","Pattern","Shading","XObject","Font"]),h=new vb(e,this.xref,a,this.pageIndex,"p"+this.pageIndex+"_",this.idCounters,this.fontCache),i=Promise.all([f,g]),j=i.then(function(e){var f=e[0],g=new xb(c,a,d.pageIndex);return a.send("StartRenderPage",{transparency:h.hasBlendModes(d.resources),pageIndex:d.pageIndex,intent:c}),h.getOperatorList(f,b,d.resources,g).then(function(){return g})}),k=e.ensure(this,"annotations");return Promise.all([j,k]).then(function(a){var d=a[0],f=a[1];if(0===f.length)return d.flush(!0),d;var g=Na.appendToOperatorList(f,d,e,h,b,c);return g.then(function(){return d.flush(!0),d})})},extractTextContent:function(a){var b={on:function(){},send:function(){}},c=this,d=this.pdfManager,e=d.ensure(this,"getContentStream",[]),f=this.loadResources(["ExtGState","XObject","Font"]),g=Promise.all([e,f]);return g.then(function(e){var f=e[0],g=new vb(d,c.xref,b,c.pageIndex,"p"+c.pageIndex+"_",c.idCounters,c.fontCache);return g.getTextContent(f,a,c.resources)})},getAnnotationsData:function(){for(var a=this.annotations,b=[],c=0,d=a.length;d>c;++c)b.push(a[c].data);return b},get annotations(){for(var a=[],b=this.getInheritedPageProp("Annots")||[],c=new I,d=0,e=b.length;e>d;++d){var f=b[d],h=c.create(this.xref,f);h&&(h.isViewable()||h.isPrintable())&&a.push(h)}return g(this,"annotations",a)}},a}(),xa=function(){function b(a,b,e){D(b)?d.call(this,a,b,e):E(b)?d.call(this,a,new Mc(b),e):c("PDFDocument: Unknown argument type")}function d(a,b,c){e(b.length>0,"stream must have data"),this.pdfManager=a,this.stream=b;var d=new Fa(this.stream,c,a);this.xref=d}function f(a,b,c,d){var e=a.pos,f=a.end,g=[];e+c>f&&(c=f-e);for(var h=0;c>h;++h)g.push(String.fromCharCode(a.getByte()));var i=g.join("");a.pos=e;var j=d?i.lastIndexOf(b):i.indexOf(b);return-1===j?!1:(a.pos+=j,!0)}var h=1024,i="\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",k={get entries(){return g(this,"entries",{Title:y,Author:y,Subject:y,Keywords:y,Creator:y,Producer:y,CreationDate:y,ModDate:y,Trapped:z})}};return b.prototype={parse:function(b){this.setup(b);var c=this.catalog.catDict.get("Version");z(c)&&(this.pdfFormatVersion=c.name);try{if(this.acroForm=this.catalog.catDict.get("AcroForm"),this.acroForm){this.xfa=this.acroForm.get("XFA");var d=this.acroForm.get("Fields");d&&C(d)&&0!==d.length||this.xfa||(this.acroForm=null)}}catch(e){a("Something wrong with AcroForm entry"),this.acroForm=null}},get linearization(){var b=null;if(this.stream.length)try{b=Hc.create(this.stream)}catch(c){if(c instanceof ja)throw c;a(c)}return g(this,"linearization",b)},get startXRef(){var a=this.stream,b=0,c=this.linearization;if(c)a.reset(),f(a,"endobj",1024)&&(b=a.pos+6);else{for(var d=1024,e=!1,h=a.end;!e&&h>0;)h-=d-"startxref".length,0>h&&(h=0),a.pos=h,e=f(a,"startxref",d,!0);if(e){a.skip(9);var i;do i=a.getByte();while(Gc.isSpace(i));for(var j="";i>=32&&57>=i;)j+=String.fromCharCode(i),i=a.getByte();b=parseInt(j,10),isNaN(b)&&(b=0)}}return g(this,"startXRef",b)},get mainXRefEntriesOffset(){var a=0,b=this.linearization;return b&&(a=b.mainXRefEntriesOffset),g(this,"mainXRefEntriesOffset",a)},checkHeader:function(){var a=this.stream;if(a.reset(),f(a,"%PDF-",1024)){a.moveStart();for(var b,c=12,d="";(b=a.getByte())>32&&!(d.length>=c);)d+=String.fromCharCode(b);return void(this.pdfFormatVersion||(this.pdfFormatVersion=d.substring(5)))}},parseStartXRef:function(){var a=this.startXRef;this.xref.setStartXRef(a)},setup:function(a){this.xref.parse(a),this.catalog=new Ea(this.pdfManager,this.xref)},get numPages(){var a=this.linearization,b=a?a.numPages:this.catalog.numPages;return g(this,"numPages",b)},get documentInfo(){var b,c={PDFFormatVersion:this.pdfFormatVersion,IsAcroFormPresent:!!this.acroForm,IsXFAPresent:!!this.xfa};try{b=this.xref.trailer.get("Info")}catch(d){a("The document information dictionary is invalid.")}if(b){var e=k.entries;for(var f in e)if(b.has(f)){var h=b.get(f);e[f](h)?c[f]="string"!=typeof h?h:r(h):a('Bad value in document info for "'+f+'"')}}return g(this,"documentInfo",c)},get fingerprint(){var a,b=this.xref,c="",d=b.trailer.get("ID");d&&C(d)&&d[0]&&y(d[0])&&d[0]!==i?a=j(d[0]):(this.stream.ensureRange&&this.stream.ensureRange(0,Math.min(h,this.stream.end)),a=gb(this.stream.bytes.subarray(0,h),0,h));for(var e=0,f=a.length;f>e;e++){var k=a[e].toString(16);c+=1===k.length?"0"+k:k}return g(this,"fingerprint",c)},getPage:function(a){return this.catalog.getPage(a)},cleanup:function(){return this.catalog.cleanup()}},b}(),ya=function(){function a(a){this.name=a}a.prototype={};var b={};return a.get=function(c){var d=b[c];return d?d:b[c]=new a(c)},a}(),za=function(){function a(a){this.cmd=a}a.prototype={};var b={};return a.get=function(c){var d=b[c];return d?d:b[c]=new a(c)},a}(),Aa=function(){function a(a){if(!z(a.Type))return!0;var b=a.Type.name;return d[b]===!0}function b(a){this.map=Object.create(null),this.xref=a,this.objId=null,this.__nonSerializable__=c}var c=function(){return c},d={Background:!0,ExtGState:!0,Halftone:!0,Layout:!0,Mask:!0,Pagination:!0,Printing:!0};return b.prototype={assignXref:function(a){this.xref=a},get:function(a,b,c){var d,e=this.xref;return"undefined"!=typeof(d=this.map[a])||a in this.map||"undefined"==typeof b?e?e.fetchIfRef(d):d:"undefined"!=typeof(d=this.map[b])||b in this.map||"undefined"==typeof c?e?e.fetchIfRef(d):d:(d=this.map[c]||null,e?e.fetchIfRef(d):d)},getAsync:function(a,b,c){var d,e=this.xref;return"undefined"!=typeof(d=this.map[a])||a in this.map||"undefined"==typeof b?e?e.fetchIfRefAsync(d):Promise.resolve(d):"undefined"!=typeof(d=this.map[b])||b in this.map||"undefined"==typeof c?e?e.fetchIfRefAsync(d):Promise.resolve(d):(d=this.map[c]||null,e?e.fetchIfRefAsync(d):Promise.resolve(d))},getArray:function(a,b,c){var d=this.get(a,b,c),e=this.xref;if(!C(d)||!e)return d;d=d.slice();for(var f=0,g=d.length;g>f;f++)F(d[f])&&(d[f]=e.fetch(d[f]));return d},getRaw:function(a){return this.map[a]},getAll:function(){var c,d,e=Object.create(null),f=null;for(c in this.map)d=this.get(c),d instanceof b?a(d)?(f||(f=[])).push({target:e,key:c,obj:d}):e[c]=this.getRaw(c):e[c]=d;if(!f)return e;for(var g=Object.create(null);f.length>0;){var h=f.shift(),i=h.obj,j=i.objId;if(j&&j in g)h.target[h.key]=g[j];else{var k=Object.create(null);for(c in i.map)d=i.get(c),d instanceof b?a(d)?f.push({target:k,key:c,obj:d}):k[c]=i.getRaw(c):k[c]=d;j&&(g[j]=k),h.target[h.key]=k}}return e},getKeys:function(){return Object.keys(this.map)},set:function(a,b){this.map[a]=b},has:function(a){return a in this.map},forEach:function(a){for(var b in this.map)a(b,this.get(b))}},b.empty=new b(null),b.merge=function(a,c){for(var d=new b(a),e=0,f=c.length;f>e;e++){var g=c[e];if(B(g))for(var h in g.map)d.map[h]||(d.map[h]=g.map[h])}return d},b}(),Ba=function(){function a(a,b){this.num=a,this.gen=b}return a.prototype={toString:function(){var a=this.num+"R";return 0!==this.gen&&(a+=this.gen),a}},a}(),Ca=function(){function a(){this.dict={}}return a.prototype={has:function(a){return a.toString()in this.dict},put:function(a){this.dict[a.toString()]=!0},remove:function(a){delete this.dict[a.toString()]}},a}(),Da=function(){function a(){this.dict=Object.create(null)}return a.prototype={get:function(a){return this.dict[a.toString()]},has:function(a){return a.toString()in this.dict},put:function(a,b){this.dict[a.toString()]=b},putAlias:function(a,b){this.dict[a.toString()]=this.get(b)},forEach:function(a,b){for(var c in this.dict)a.call(b,this.dict[c])},clear:function(){this.dict=Object.create(null)}},a}(),Ea=function(){function d(a,b){this.pdfManager=a,this.xref=b,this.catDict=b.getCatalogObj(),this.fontCache=new Da,e(B(this.catDict),"catalog object is not a dictionary"),this.pagePromises=[]}return d.prototype={get metadata(){var b=this.catDict.getRaw("Metadata");if(!F(b))return g(this,"metadata",null);var c,d=this.xref.encrypt?this.xref.encrypt.encryptMetadata:!1,e=this.xref.fetch(b,!d);if(e&&B(e.dict)){var f=e.dict.get("Type"),h=e.dict.get("Subtype");if(z(f)&&z(h)&&"Metadata"===f.name&&"XML"===h.name)try{c=s(i(e.getBytes()))}catch(j){a("Skipping invalid metadata.")}}return g(this,"metadata",c)},get toplevelPagesDict(){var a=this.catDict.get("Pages");return e(B(a),"invalid top-level pages dictionary"),g(this,"toplevelPagesDict",a)},get documentOutline(){var a=null;try{a=this.readDocumentOutline()}catch(c){if(c instanceof ja)throw c;b("Unable to read document outline")}return g(this,"documentOutline",a)},readDocumentOutline:function(){var a=this.xref,b=this.catDict.get("Outlines"),d={items:[]};if(B(b)){b=b.getRaw("First");var e=new Ca;if(F(b)){var f=[{obj:b,parent:d}];for(e.put(b);f.length>0;){var g=f.shift(),h=a.fetchIfRef(g.obj);if(null!==h){h.has("Title")||c("Invalid outline item");var i=h.get("A");i?i=i.get("D"):h.has("Dest")&&(i=h.getRaw("Dest"),z(i)&&(i=i.name));var j=h.get("Title"),k={dest:i,title:r(j),color:h.get("C")||[0,0,0],count:h.get("Count"),bold:!!(2&h.get("F")),italic:!!(1&h.get("F")),items:[]};g.parent.items.push(k),b=h.getRaw("First"),F(b)&&!e.has(b)&&(f.push({obj:b,parent:k}),e.put(b)),b=h.getRaw("Next"),F(b)&&!e.has(b)&&(f.push({obj:b,parent:g.parent}),e.put(b))}}}}return d.items.length>0?d.items:null},get numPages(){var a=this.toplevelPagesDict.get("Count");return e(w(a),"page count in top level pages object is not an integer"),g(this,"num",a)},get destinations(){function a(a){return B(a)?a.get("D"):a}var b,c,d=this.xref,e={},f=this.catDict.get("Names");if(f&&f.has("Dests")?b=f.getRaw("Dests"):this.catDict.has("Dests")&&(c=this.catDict.get("Dests")),c&&(f=c,f.forEach(function(b,c){c&&(e[b]=a(c))})),b){var h=new Ga(b,d),i=h.getAll();for(var j in i)i.hasOwnProperty(j)&&(e[j]=a(i[j]))}return g(this,"destinations",e)},getDestination:function(a){function b(a){return B(a)?a.get("D"):a}var c,d,e=this.xref,f=null,g=this.catDict.get("Names");if(g&&g.has("Dests")?c=g.getRaw("Dests"):this.catDict.has("Dests")&&(d=this.catDict.get("Dests")),d){var h=d.get(a);h&&(f=b(h))}if(c){var i=new Ga(c,e);f=b(i.get(a))}return f},get attachments(){var a,b=this.xref,c=null,d=this.catDict.get("Names");if(d&&(a=d.getRaw("EmbeddedFiles")),a){var e=new Ga(a,b),f=e.getAll();for(var h in f)if(f.hasOwnProperty(h)){var i=new Ha(f[h],b);c||(c={}),c[r(h)]=i.serializable}}return g(this,"attachments",c)},get javaScript(){function a(a){var b=a.get("S");if(z(b)&&"JavaScript"===b.name){var c=a.get("JS");if(D(c))c=i(c.getBytes());else if(!y(c))return;d.push(r(c))}}var b=this.xref,c=this.catDict.get("Names"),d=[];if(c&&c.has("JavaScript")){var e=new Ga(c.getRaw("JavaScript"),b),f=e.getAll();for(var h in f)if(f.hasOwnProperty(h)){var j=f[h];B(j)&&a(j)}}var k=this.catDict.get("OpenAction");if(B(k,"Action")){var l=k.get("S");if(z(l)&&"Named"===l.name){var m=k.get("N");z(m)&&"Print"===m.name&&d.push("print({});")}else a(k)}return g(this,"javaScript",d)},cleanup:function(){var a=[];return this.fontCache.forEach(function(b){a.push(b)}),Promise.all(a).then(function(a){for(var b=0,c=a.length;c>b;b++){var d=a[b].dict;delete d.translated}this.fontCache.clear()}.bind(this))},getPage:function(a){return a in this.pagePromises||(this.pagePromises[a]=this.getPageDict(a).then(function(b){var c=b[0],d=b[1];return new wa(this.pdfManager,this.xref,a,c,d,this.fontCache)}.bind(this))),this.pagePromises[a]},getPageDict:function(a){function b(){for(;d.length;){var i=d.pop();if(F(i))return void g.fetchAsync(i).then(function(e){return B(e,"Page")||B(e)&&!e.has("Kids")?void(a===f?c.resolve([e,i]):(f++,b())):(d.push(e),void b())},c.reject);e(B(i),"page dictionary kid reference points to wrong type of object");var j=i.get("Count");if(0===j&&(h=!0),a>=f+j)f+=j;else{var k=i.get("Kids");if(e(C(k),"page dictionary kids object is not an array"),h||j!==k.length)for(var l=k.length-1;l>=0;l--)d.push(k[l]);else d=[k[a-f]],f=a}}c.reject("Page index "+a+" not found.")}var c=G(),d=[this.catDict.getRaw("Pages")],f=0,g=this.xref,h=!1;return b(),c.promise},getPageIndex:function(a){function b(a){var b,d=0;return f.fetchAsync(a).then(function(a){return a?(b=a.getRaw("Parent"),a.getAsync("Parent")):null}).then(function(a){return a?a.getAsync("Kids"):null}).then(function(g){if(!g)return null;for(var h=[],i=!1,j=0;j<g.length;j++){var k=g[j];if(e(F(k),"kids must be a ref"),k.num===a.num){i=!0;break}h.push(f.fetchAsync(k).then(function(a){if(a.has("Count")){var b=a.get("Count");d+=b}else d++}))}return i||c("kid ref not found in parents kids"),Promise.all(h).then(function(){return[d,b]})})}function d(a){return b(a).then(function(a){if(!a)return g;var b=a[0],c=a[1];return g+=b,d(c)})}var f=this.xref,g=0;return d(a)}},d}(),Fa=function(){function d(a,b){this.stream=a,this.entries=[],this.xrefstms={},this.cache=[],this.password=b,this.stats={streamTypes:[],fontTypes:[]}}return d.prototype={setStartXRef:function(a){this.startXRefQueue=[a]},parse:function(a){var d;a?(b("Indexing all PDF objects"),d=this.indexObjects()):d=this.readXRef(),d.assignXref(this),this.trailer=d;var e=d.get("Encrypt");if(e){var f=d.get("ID"),g=f&&f.length?f[0]:"";this.encrypt=new rb(e,g,this.password)}(this.root=d.get("Root"))||c("Invalid root reference")},processXRefTable:function(a){"tableState"in this||(this.tableState={entryNum:0,streamPos:a.lexer.stream.pos,parserBuf1:a.buf1,parserBuf2:a.buf2});var b=this.readXRefTable(a);A(b,"trailer")||c("Invalid XRef table: could not find trailer dictionary");var d=a.getObj();return!B(d)&&d.dict&&(d=d.dict),B(d)||c("Invalid XRef table: could not parse trailer dictionary"),delete this.tableState,d},readXRefTable:function(a){var b=a.lexer.stream,d=this.tableState;b.pos=d.streamPos,a.buf1=d.parserBuf1,a.buf2=d.parserBuf2;for(var e;;){if(!("firstEntryNum"in d&&"entryCount"in d)){if(A(e=a.getObj(),"trailer"))break;d.firstEntryNum=e,d.entryCount=a.getObj()}var f=d.firstEntryNum,g=d.entryCount;w(f)&&w(g)||c("Invalid XRef table: wrong types in subsection header");for(var h=d.entryNum;g>h;h++){d.streamPos=b.pos,d.entryNum=h,d.parserBuf1=a.buf1,d.parserBuf2=a.buf2;var i={};i.offset=a.getObj(),i.gen=a.getObj();var j=a.getObj();A(j,"f")?i.free=!0:A(j,"n")&&(i.uncompressed=!0),w(i.offset)&&w(i.gen)&&(i.free||i.uncompressed)||c("Invalid entry in XRef subsection: "+f+", "+g),this.entries[h+f]||(this.entries[h+f]=i)}d.entryNum=0,d.streamPos=b.pos,d.parserBuf1=a.buf1,d.parserBuf2=a.buf2,delete d.firstEntryNum,delete d.entryCount}return 1===f&&this.entries[1]&&this.entries[1].free&&this.entries.shift(),this.entries[0]&&!this.entries[0].free&&c("Invalid XRef table: unexpected first object"),e},processXRefStream:function(a){if(!("streamState"in this)){var b=a.dict,c=b.get("W"),d=b.get("Index");d||(d=[0,b.get("Size")]),this.streamState={entryRanges:d,byteWidths:c,entryNum:0,streamPos:a.pos}}return this.readXRefStream(a),delete this.streamState,a.dict},readXRefStream:function(a){var b,d,e=this.streamState;a.pos=e.streamPos;for(var f=e.byteWidths,g=f[0],h=f[1],i=f[2],j=e.entryRanges;j.length>0;){var k=j[0],l=j[1];for(w(k)&&w(l)||c("Invalid XRef range fields: "+k+", "+l),w(g)&&w(h)&&w(i)||c("Invalid XRef entry fields length: "+k+", "+l),b=e.entryNum;l>b;++b){e.entryNum=b,e.streamPos=a.pos;var m=0,n=0,o=0;for(d=0;g>d;++d)m=m<<8|a.getByte();for(0===g&&(m=1),d=0;h>d;++d)n=n<<8|a.getByte();for(d=0;i>d;++d)o=o<<8|a.getByte();var p={};switch(p.offset=n,p.gen=o,m){case 0:p.free=!0;break;case 1:p.uncompressed=!0;break;case 2:break;default:c("Invalid XRef entry type: "+m)}this.entries[k+b]||(this.entries[k+b]=p)}e.entryNum=0,e.streamPos=a.pos,j.splice(0,2)}},indexObjects:function(){function a(a,b){for(var c="",f=a[b];f!==d&&f!==e&&f!==h&&!(++b>=a.length);)c+=String.fromCharCode(f),f=a[b];return c}function b(a,b,c){for(var d=c.length,e=a.length,f=0;e>b;){for(var g=0;d>g&&a[b+g]===c[g];)++g;if(g>=d)break;b++,f++}return f}var c=9,d=10,e=13,f=32,g=37,h=60,i=/^(\d+)\s+(\d+)\s+obj\b/,j=new Uint8Array([116,114,97,105,108,101,114]),k=new Uint8Array([115,116,97,114,116,120,114,101,102]),l=new Uint8Array([101,110,100,111,98,106]),m=new Uint8Array([47,88,82,101,102]);this.entries.length=0;var n=this.stream;n.pos=0;for(var o=n.getBytes(),p=n.start,q=o.length,r=[],s=[];q>p;){var t=o[p];if(t!==c&&t!==d&&t!==e&&t!==f)if(t!==g){var u,v=a(o,p);if(0!==v.indexOf("xref")||4!==v.length&&!/\s/.test(v[4]))if(u=i.exec(v)){"undefined"==typeof this.entries[u[1]]&&(this.entries[u[1]]={offset:p-n.start,gen:0|u[2],uncompressed:!0});var w=b(o,p,l)+7,x=o.subarray(p,p+w),y=b(x,0,m);w>y&&x[y+5]<64&&(s.push(p-n.start),this.xrefstms[p-n.start]=1),p+=w}else 0!==v.indexOf("trailer")||7!==v.length&&!/\s/.test(v[7])?p+=v.length+1:(r.push(p),p+=b(o,p,k));else p+=b(o,p,j),r.push(p),p+=b(o,p,k)}else do{if(++p,p>=q)break;t=o[p]}while(t!==d&&t!==e);else++p}var z,C;for(z=0,C=s.length;C>z;++z)this.startXRefQueue.push(s[z]),this.readXRef(!0);var D;for(z=0,C=r.length;C>z;++z){n.pos=r[z];var E=new Fc(new Gc(n),!0,this),F=E.getObj();if(A(F,"trailer")&&B(D=E.getObj())&&D.has("ID"))return D}if(D)return D;throw new fa("Invalid PDF structure")},readXRef:function(b){var d=this.stream;try{for(;this.startXRefQueue.length;){var e=this.startXRefQueue[0];d.pos=e+d.start;var f,g=new Fc(new Gc(d),!0,this),h=g.getObj();if(A(h,"xref")){if(f=this.processXRefTable(g),this.topDict||(this.topDict=f),h=f.get("XRefStm"),w(h)){var i=h;i in this.xrefstms||(this.xrefstms[i]=1,this.startXRefQueue.push(i))}}else w(h)?(w(g.getObj())&&A(g.getObj(),"obj")&&D(h=g.getObj())||c("Invalid XRef stream"),f=this.processXRefStream(h),this.topDict||(this.topDict=f),f||c("Failed to read XRef stream")):c("Invalid XRef stream header");h=f.get("Prev"),w(h)?this.startXRefQueue.push(h):F(h)&&this.startXRefQueue.push(h.num),this.startXRefQueue.shift()}return this.topDict}catch(j){if(j instanceof ja)throw j;a("(while reading XRef): "+j)}if(!b)throw new ka},getEntry:function(a){var b=this.entries[a];return b&&!b.free&&b.offset?b:null},fetchIfRef:function(a){return F(a)?this.fetch(a):a},fetch:function(a,b){e(F(a),"ref object is not a reference");var c=a.num;if(c in this.cache){var d=this.cache[c];return d}var f=this.getEntry(c);return null===f?this.cache[c]=null:(f=f.uncompressed?this.fetchUncompressed(a,f,b):this.fetchCompressed(f,b),B(f)?f.objId=a.toString():D(f)&&(f.dict.objId=a.toString()),f)},fetchUncompressed:function(a,b,d){var e=a.gen,f=a.num;b.gen!==e&&c("inconsistent generation in XRef");var g=this.stream.makeSubStream(b.offset+this.stream.start),h=new Fc(new Gc(g),!0,this),i=h.getObj(),j=h.getObj(),k=h.getObj();if(w(i)&&parseInt(i,10)===f&&w(j)&&parseInt(j,10)===e&&A(k)||c("bad XRef entry"),!A(k,"obj")){if(0===k.cmd.indexOf("obj")&&(f=parseInt(k.cmd.substring(3),10),!isNaN(f)))return f;c("bad XRef entry")}return b=this.encrypt&&!d?h.getObj(this.encrypt.createCipherTransform(f,e)):h.getObj(),D(b)||(this.cache[f]=b),b},fetchCompressed:function(a,b){var d=a.offset,e=this.fetch(new Ba(d,0));D(e)||c("bad ObjStm stream");var f=e.dict.get("First"),g=e.dict.get("N");w(f)&&w(g)||c("invalid first and n parameters for ObjStm stream");var h=new Fc(new Gc(e),!1,this);h.allowStreams=!0;var i,j,k=[],l=[];for(i=0;g>i;++i){j=h.getObj(),w(j)||c("invalid object number in the ObjStm stream: "+j),l.push(j);var m=h.getObj();w(m)||c("invalid object offset in the ObjStm stream: "+m)}for(i=0;g>i;++i){k.push(h.getObj()),j=l[i];var n=this.entries[j];n&&n.offset===d&&n.gen===i&&(this.cache[j]=k[i])}return a=k[a.gen],void 0===a&&c("bad XRef entry for compressed object"),a},fetchIfRefAsync:function(a){return F(a)?this.fetchAsync(a):Promise.resolve(a)},fetchAsync:function(a,b){var c=this.stream.manager,d=this;return new Promise(function e(f,g){try{f(d.fetch(a,b))}catch(h){if(h instanceof ja)return void c.requestRange(h.begin,h.end).then(function(){e(f,g)},g);g(h)}})},getCatalogObj:function(){return this.root}},d}(),Ga=function(){function a(a,b){this.root=a,this.xref=b}return a.prototype={getAll:function(){var a={};if(!this.root)return a;var b=this.xref,d=new Ca;d.put(this.root);for(var e=[this.root];e.length>0;){var f,g,h=b.fetchIfRef(e.shift());if(B(h))if(h.has("Kids")){var i=h.get("Kids");for(f=0,g=i.length;g>f;f++){var j=i[f];d.has(j)&&c("invalid destinations"),e.push(j),d.put(j)}}else{var k=h.get("Names");
+if(k)for(f=0,g=k.length;g>f;f+=2)a[b.fetchIfRef(k[f])]=b.fetchIfRef(k[f+1])}}return a},get:function(a){if(!this.root)return null;for(var c,d,e,f=this.xref,g=f.fetchIfRef(this.root),h=0,i=10;g.has("Kids");){if(h++,h>i)return b("Search depth limit for named destionations has been reached."),null;var j=g.get("Kids");if(!C(j))return null;for(c=0,d=j.length-1;d>=c;){e=c+d>>1;var k=f.fetchIfRef(j[e]),l=k.get("Limits");if(a<f.fetchIfRef(l[0]))d=e-1;else{if(!(a>f.fetchIfRef(l[1]))){g=f.fetchIfRef(j[e]);break}c=e+1}}if(c>d)return null}var m=g.get("Names");if(C(m))for(c=0,d=m.length-2;d>=c;)if(e=c+d&-2,a<f.fetchIfRef(m[e]))d=e-2;else{if(!(a>f.fetchIfRef(m[e])))return f.fetchIfRef(m[e+1]);c=e+2}return null}},a}(),Ha=function(){function a(a,c){a&&B(a)&&(this.xref=c,this.root=a,a.has("FS")&&(this.fs=a.get("FS")),this.description=a.has("Desc")?r(a.get("Desc")):"",a.has("RF")&&b("Related file specifications are not supported"),this.contentAvailable=!0,a.has("EF")||(this.contentAvailable=!1,b("Non-embedded file specifications are not supported")))}function c(a){return a.has("UF")?a.get("UF"):a.has("F")?a.get("F"):a.has("Unix")?a.get("Unix"):a.has("Mac")?a.get("Mac"):a.has("DOS")?a.get("DOS"):null}return a.prototype={get filename(){if(!this._filename&&this.root){var a=c(this.root)||"unnamed";this._filename=r(a).replace(/\\\\/g,"\\").replace(/\\\//g,"/").replace(/\\/g,"/")}return this._filename},get content(){if(!this.contentAvailable)return null;!this.contentRef&&this.root&&(this.contentRef=c(this.root.get("EF")));var a=null;if(this.contentRef){var d=this.xref,e=d.fetchIfRef(this.contentRef);e&&D(e)?a=e.getBytes():b("Embedded file specification points to non-existing/invalid content")}else b("Embedded file specification does not have a content");return a},get serializable(){return{filename:this.filename,content:this.content}}},a}(),Ia=function(){function a(a){return F(a)||B(a)||C(a)||D(a)}function b(b,c){var d;if(B(b)||D(b)){var e;e=B(b)?b.map:b.dict.map;for(var f in e)d=e[f],a(d)&&c.push(d)}else if(C(b))for(var g=0,h=b.length;h>g;g++)d=b[g],a(d)&&c.push(d)}function c(a,b,c){this.obj=a,this.keys=b,this.xref=c,this.refSet=null,this.capability=null}return c.prototype={load:function(){var a=this.keys;if(this.capability=G(),!(this.xref.stream instanceof qa)||0===this.xref.stream.getMissingChunks().length)return this.capability.resolve(),this.capability.promise;this.refSet=new Ca;for(var b=[],c=0;c<a.length;c++)b.push(this.obj[a[c]]);return this._walk(b),this.capability.promise},_walk:function(a){for(var c=[],d=[];a.length;){var e=a.pop();if(F(e)){if(this.refSet.has(e))continue;try{var f=e;this.refSet.put(f),e=this.xref.fetch(e)}catch(g){if(!(g instanceof ja))throw g;c.push(e),d.push({begin:g.begin,end:g.end})}}if(e&&e.getBaseStreams){for(var h=e.getBaseStreams(),i=!1,j=0;j<h.length;j++){var k=h[j];k.getMissingChunks&&k.getMissingChunks().length&&(i=!0,d.push({begin:k.start,end:k.end}))}i&&c.push(e)}b(e,a)}return d.length?void this.xref.stream.manager.requestRanges(d).then(function(){a=c;for(var b=0;b<c.length;b++){var d=c[b];F(d)&&this.refSet.remove(d)}this._walk(a)}.bind(this),this.capability.reject):(this.refSet=null,void this.capability.resolve())}},c}(),Ja=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","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","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","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","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron"],Ka=[".notdef","space","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],La=[".notdef","space","dollaroldstyle","dollarsuperior","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","hyphensuperior","colonmonetary","onefitted","rupiah","centoldstyle","figuredash","hypheninferior","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior"],Ma=22;I.prototype={create:function(a,c){var d=a.fetchIfRef(c);if(B(d)){var e=d.get("Subtype");e=z(e)?e.name:"";var f={dict:d,ref:c};switch(e){case"Link":return new Sa(f);case"Text":return new Ra(f);case"Widget":var g=na.getInheritableProperty(d,"FT");return z(g)&&"Tx"===g.name?new Qa(f):new Pa(f);default:return b('Unimplemented annotation type "'+e+'", falling back to base annotation'),new Na(f)}}}};var Na=function(){function a(a,b,c){var d=na.getAxialAlignedBoundingBox(b,c),e=d[0],f=d[1],g=d[2],h=d[3];if(e===g||f===h)return[1,0,0,1,a[0],a[1]];var i=(a[2]-a[0])/(g-e),j=(a[3]-a[1])/(h-f);return[i,0,0,j,a[0]-e*i,a[1]-f*j]}function b(a){var b=a.get("AP");if(B(b)){var c,d=b.get("N");if(B(d)){var e=a.get("AS");e&&d.has(e.name)&&(c=d.get(e.name))}else c=d;return c}}function c(a){var c=a.dict,d=this.data={};d.subtype=c.get("Subtype").name,d.annotationFlags=c.get("F"),this.setRectangle(c.get("Rect")),d.rect=this.rectangle,this.setColor(c.get("C")),d.color=this.color,this.borderStyle=d.borderStyle=new Oa,this.setBorderStyle(c),this.appearance=b(c),d.hasAppearance=!!this.appearance,d.id=a.ref.num}return c.prototype={setRectangle:function(a){C(a)&&4===a.length?this.rectangle=na.normalizeRect(a):this.rectangle=[0,0,0,0]},setColor:function(a){var b=new Uint8Array(3);if(!C(a))return void(this.color=b);switch(a.length){case 0:this.color=null;break;case 1:Xa.singletons.gray.getRgbItem(a,0,b,0),this.color=b;break;case 3:Xa.singletons.rgb.getRgbItem(a,0,b,0),this.color=b;break;case 4:Xa.singletons.cmyk.getRgbItem(a,0,b,0),this.color=b;break;default:this.color=b}},setBorderStyle:function(a){if(B(a))if(a.has("BS")){var b,c=a.get("BS");(!c.has("Type")||z(b=c.get("Type"))&&"Border"===b.name)&&(this.borderStyle.setWidth(c.get("W")),this.borderStyle.setStyle(c.get("S")),this.borderStyle.setDashArray(c.get("D")))}else if(a.has("Border")){var d=a.get("Border");C(d)&&d.length>=3&&(this.borderStyle.setHorizontalCornerRadius(d[0]),this.borderStyle.setVerticalCornerRadius(d[1]),this.borderStyle.setWidth(d[2]),4===d.length&&this.borderStyle.setDashArray(d[3]))}else this.borderStyle.setWidth(0)},isInvisible:function(){var a=this.data;return!!(a&&a.annotationFlags&&1&a.annotationFlags)},isViewable:function(){var a=this.data;return!(this.isInvisible()||!a||a.annotationFlags&&34&a.annotationFlags||!a.rect)},isPrintable:function(){var a=this.data;return!(!(!this.isInvisible()&&a&&a.annotationFlags&&4&a.annotationFlags)||2&a.annotationFlags||!a.rect)},loadResources:function(a){return new Promise(function(b,c){this.appearance.dict.getAsync("Resources").then(function(d){if(!d)return void b();var e=new Ia(d.map,a,d.xref);e.load().then(function(){b(d)},c)},c)}.bind(this))},getOperatorList:function(b,c){if(!this.appearance)return Promise.resolve(new xb);var d=this.data,e=this.appearance.dict,f=this.loadResources(["ExtGState","ColorSpace","Pattern","Shading","XObject","Font"]),g=e.get("BBox")||[0,0,1,1],h=e.get("Matrix")||[1,0,0,1,0,0],i=a(d.rect,g,h),j=this;return f.then(function(a){var e=new xb;return e.addOp($.beginAnnotation,[d.rect,i,h]),b.getOperatorList(j.appearance,c,a,e).then(function(){return e.addOp($.endAnnotation,[]),j.appearance.reset(),e})})}},c.appendToOperatorList=function(a,b,c,d,e,f){function g(a){h.reject(a)}for(var h=G(),i=[],j=0,k=a.length;k>j;++j)("display"===f&&a[j].isViewable()||"print"===f&&a[j].isPrintable())&&i.push(a[j].getOperatorList(d,e));return Promise.all(i).then(function(a){b.addOp($.beginAnnotations,[]);for(var c=0,d=a.length;d>c;++c){var e=a[c];b.addOpList(e)}b.addOp($.endAnnotations,[]),h.resolve()},g),h.promise},c}(),Oa=function(){function a(){this.width=1,this.style=X.SOLID,this.dashArray=[3],this.horizontalCornerRadius=0,this.verticalCornerRadius=0}return a.prototype={setWidth:function(a){a===(0|a)&&(this.width=a)},setStyle:function(a){if(a)switch(a.name){case"S":this.style=X.SOLID;break;case"D":this.style=X.DASHED;break;case"B":this.style=X.BEVELED;break;case"I":this.style=X.INSET;break;case"U":this.style=X.UNDERLINE}},setDashArray:function(a){if(C(a)&&a.length>0){for(var b=!0,c=!0,d=0,e=a.length;e>d;d++){var f=a[d],g=+f>=0;if(!g){b=!1;break}f>0&&(c=!1)}b&&!c?this.dashArray=a:this.width=0}else a&&(this.width=0)},setHorizontalCornerRadius:function(a){a===(0|a)&&(this.horizontalCornerRadius=a)},setVerticalCornerRadius:function(a){a===(0|a)&&(this.verticalCornerRadius=a)}},a}(),Pa=function(){function a(a){Na.call(this,a);var b=a.dict,c=this.data;c.fieldValue=r(na.getInheritableProperty(b,"V")||""),c.alternativeText=r(b.get("TU")||""),c.defaultAppearance=na.getInheritableProperty(b,"DA")||"";var d=na.getInheritableProperty(b,"FT");c.fieldType=z(d)?d.name:"",c.fieldFlags=na.getInheritableProperty(b,"Ff")||0,this.fieldResources=na.getInheritableProperty(b,"DR")||Aa.empty;for(var e=[],f=b,g=a.ref;f;){var h=f.get("Parent"),i=f.getRaw("Parent"),j=f.get("T");if(j)e.unshift(r(j));else if(h&&g){var k,l,m=h.get("Kids");for(k=0,l=m.length;l>k;k++){var n=m[k];if(n.num===g.num&&n.gen===g.gen)break}e.unshift("`"+k)}f=h,g=i}c.fullName=e.join(".")}var c=Na.prototype;return na.inherit(a,Na,{isViewable:function(){return"Sig"===this.data.fieldType?(b("unimplemented annotation type: Widget signature"),!1):c.isViewable.call(this)}}),a}(),Qa=function(){function a(a){Pa.call(this,a),this.data.textAlignment=na.getInheritableProperty(a.dict,"Q"),this.data.annotationType=W.WIDGET,this.data.hasHtml=!this.data.hasAppearance&&!!this.data.fieldValue}return na.inherit(a,Pa,{getOperatorList:function(a,b){if(this.appearance)return Na.prototype.getOperatorList.call(this,a,b);var c=new xb,d=this.data;if(!d.defaultAppearance)return Promise.resolve(c);var e=new Mc(j(d.defaultAppearance));return a.getOperatorList(e,b,this.fieldResources,c).then(function(){return c})}}),a}(),Ra=function(){function a(a){Na.call(this,a);var b=a.dict,c=this.data,d=b.get("Contents"),e=b.get("T");c.annotationType=W.TEXT,c.content=r(d||""),c.title=r(e||""),c.hasHtml=!0,c.hasAppearance?c.name="NoIcon":(c.rect[1]=c.rect[3]-Ma,c.rect[2]=c.rect[0]+Ma,c.name=b.has("Name")?b.get("Name").name:"Note"),b.has("C")&&(c.hasBgColor=!0)}return na.inherit(a,Na,{}),a}(),Sa=function(){function a(a){Na.call(this,a);var d=a.dict,e=this.data;e.annotationType=W.LINK,e.hasHtml=!0;var g=d.get("A");if(g&&B(g)){var h=g.get("S").name;if("URI"===h){var i=g.get("URI");z(i)?i="/"+i.name:i&&(i=c(i)),f(i,!1)||(i="");try{e.url=s(i)}catch(j){e.url=i}}else if("GoTo"===h)e.dest=g.get("D");else if("GoToR"===h){var k=g.get("F");B(k)&&(i=k.get("F")||""),f(i,!1)||(i=""),e.url=i,e.dest=g.get("D")}else"Named"===h?e.action=g.get("N").name:b("unrecognized link type: "+h)}else if(d.has("Dest")){var l=d.get("Dest");e.dest=z(l)?l.name:l}}function c(a){return a&&0===a.indexOf("www.")?"http://"+a:a}return na.inherit(a,Na,{}),a}(),Ta=function(){var b=0,d=2,e=3,f=4;return{getSampleArray:function(a,b,c,d){var e,f,g=1;for(e=0,f=a.length;f>e;e++)g*=a[e];g*=b;var h=new Array(g),i=0,j=0,k=1/(Math.pow(2,c)-1),l=d.getBytes((g*c+7)/8),m=0;for(e=0;g>e;e++){for(;c>i;)j<<=8,j|=l[m++],i+=8;i-=c,h[e]=(j>>i)*k,j&=(1<<i)-1}return h},getIR:function(a,b){var d=b.dict;d||(d=b);var e=[this.constructSampled,null,this.constructInterpolated,this.constructStiched,this.constructPostScript],f=d.get("FunctionType"),g=e[f];return g||c("Unknown type of function"),g.call(this,b,d,a)},fromIR:function(a){var c=a[0];switch(c){case b:return this.constructSampledFromIR(a);case d:return this.constructInterpolatedFromIR(a);case e:return this.constructStichedFromIR(a);default:return this.constructPostScriptFromIR(a)}},parse:function(a,b){var c=this.getIR(a,b);return this.fromIR(c)},parseArray:function(a,b){if(!C(b))return this.parse(a,b);for(var c=[],d=0,e=b.length;e>d;d++){var f=a.fetchIfRef(b[d]);c.push(Ta.parse(a,f))}return function(a,b,d,e){for(var f=0,g=c.length;g>f;f++)c[f](a,b,d,e+f)}},constructSampled:function(d,e){function f(a){for(var b=a.length,c=[],d=0,e=0;b>e;e+=2)c[d]=[a[e],a[e+1]],++d;return c}var g=e.get("Domain"),h=e.get("Range");g&&h||c("No domain or range");var i=g.length/2,j=h.length/2;g=f(g),h=f(h);var k=e.get("Size"),l=e.get("BitsPerSample"),m=e.get("Order")||1;1!==m&&a("No support for cubic spline interpolation: "+m);var n=e.get("Encode");if(!n){n=[];for(var o=0;i>o;++o)n.push(0),n.push(k[o]-1)}n=f(n);var p=e.get("Decode");p=p?f(p):h;var q=this.getSampleArray(k,j,l,d);return[b,i,g,n,p,q,k,j,Math.pow(2,l)-1,h]},constructSampledFromIR:function(a){function b(a,b,c,d,e){return d+(a-b)*((e-d)/(c-b))}return function(c,d,e,f){var g,h,i=a[1],j=a[2],k=a[3],l=a[4],m=a[5],n=a[6],o=a[7],p=a[9],q=1<<i,r=new Float64Array(q),s=new Uint32Array(q);for(h=0;q>h;h++)r[h]=1;var t=o,u=1;for(g=0;i>g;++g){var v=j[g][0],w=j[g][1],x=Math.min(Math.max(c[d+g],v),w),y=b(x,v,w,k[g][0],k[g][1]),z=n[g];y=Math.min(Math.max(y,0),z-1);var A=z-1>y?Math.floor(y):y-1,B=A+1-y,C=y-A,D=A*t,E=D+t;for(h=0;q>h;h++)h&u?(r[h]*=C,s[h]+=E):(r[h]*=B,s[h]+=D);t*=z,u<<=1}for(h=0;o>h;++h){var F=0;for(g=0;q>g;g++)F+=m[s[g]+h]*r[g];F=b(F,0,1,l[h][0],l[h][1]),e[f+h]=Math.min(Math.max(F,p[h][0]),p[h][1])}}},constructInterpolated:function(a,b){var e=b.get("C0")||[0],f=b.get("C1")||[1],g=b.get("N");C(e)&&C(f)||c("Illegal dictionary for interpolated function");for(var h=e.length,i=[],j=0;h>j;++j)i.push(f[j]-e[j]);return[d,e,i,g]},constructInterpolatedFromIR:function(a){var b=a[1],c=a[2],d=a[3],e=c.length;return function(a,f,g,h){for(var i=1===d?a[f]:Math.pow(a[f],d),j=0;e>j;++j)g[h+j]=b[j]+i*c[j]}},constructStiched:function(a,b,d){var f=b.get("Domain");f||c("No domain");var g=f.length/2;1!==g&&c("Bad domain for stiched function");for(var h=b.get("Functions"),i=[],j=0,k=h.length;k>j;++j)i.push(Ta.getIR(d,d.fetchIfRef(h[j])));var l=b.get("Bounds"),m=b.get("Encode");return[e,f,l,m,i]},constructStichedFromIR:function(a){for(var b=a[1],c=a[2],d=a[3],e=a[4],f=[],g=new Float32Array(1),h=0,i=e.length;i>h;h++)f.push(Ta.fromIR(e[h]));return function(a,e,h,i){for(var j=function(a,b,c){return a>c?a=c:b>a&&(a=b),a},k=j(a[e],b[0],b[1]),l=0,m=c.length;m>l&&!(k<c[l]);++l);var n=b[0];l>0&&(n=c[l-1]);var o=b[1];l<c.length&&(o=c[l]);var p=d[2*l],q=d[2*l+1];g[0]=n===o?p:p+(k-n)*(q-p)/(o-n),f[l](g,0,h,i)}},constructPostScript:function(a,b,d){var e=b.get("Domain"),g=b.get("Range");e||c("No domain."),g||c("No range.");var h=new Lc(a),i=new Ic(h),j=i.parse();return[f,e,g,j]},constructPostScriptFromIR:function(b){var c=b[1],d=b[2],e=b[3],f=(new Wa).compile(e,c,d);if(f)return new Function("src","srcOffset","dest","destOffset",f);a("Unable to compile PS function");var g=d.length>>1,h=c.length>>1,i=new Va(e),j={},k=8192,l=k,m=new Float32Array(h);return function(a,b,c,e){var f,k,n="",o=m;for(f=0;h>f;f++)k=a[b+f],o[f]=k,n+=k+"_";var p=j[n];if(void 0!==p)return void c.set(p,e);var q=new Float32Array(g),r=i.execute(o),s=r.length-g;for(f=0;g>f;f++){k=r[s+f];var t=d[2*f];t>k?k=t:(t=d[2*f+1],k>t&&(k=t)),q[f]=k}l>0&&(l--,j[n]=q),c.set(q,e)}}}}(),Ua=function(){function a(a){this.stack=a?Array.prototype.slice.call(a,0):[]}var b=100;return a.prototype={push:function(a){this.stack.length>=b&&c("PostScript function stack overflow."),this.stack.push(a)},pop:function(){return this.stack.length<=0&&c("PostScript function stack underflow."),this.stack.pop()},copy:function(a){this.stack.length+a>=b&&c("PostScript function stack overflow.");for(var d=this.stack,e=d.length-a,f=a-1;f>=0;f--,e++)d.push(d[e])},index:function(a){this.push(this.stack[this.stack.length-a-1])},roll:function(a,b){var c,d,e,f=this.stack,g=f.length-a,h=f.length-1,i=g+(b-Math.floor(b/a)*a);for(c=g,d=h;d>c;c++,d--)e=f[c],f[c]=f[d],f[d]=e;for(c=g,d=i-1;d>c;c++,d--)e=f[c],f[c]=f[d],f[d]=e;for(c=i,d=h;d>c;c++,d--)e=f[c],f[c]=f[d],f[d]=e}},a}(),Va=function(){function a(a){this.operators=a}return a.prototype={execute:function(a){for(var b,d,e,f=new Ua(a),g=0,h=this.operators,i=h.length;i>g;)if(b=h[g++],"number"!=typeof b)switch(b){case"jz":e=f.pop(),d=f.pop(),d||(g=e);break;case"j":d=f.pop(),g=d;break;case"abs":d=f.pop(),f.push(Math.abs(d));break;case"add":e=f.pop(),d=f.pop(),f.push(d+e);break;case"and":e=f.pop(),d=f.pop(),v(d)&&v(e)?f.push(d&&e):f.push(d&e);break;case"atan":d=f.pop(),f.push(Math.atan(d));break;case"bitshift":e=f.pop(),d=f.pop(),d>0?f.push(d<<e):f.push(d>>e);break;case"ceiling":d=f.pop(),f.push(Math.ceil(d));break;case"copy":d=f.pop(),f.copy(d);break;case"cos":d=f.pop(),f.push(Math.cos(d));break;case"cvi":d=0|f.pop(),f.push(d);break;case"cvr":break;case"div":e=f.pop(),d=f.pop(),f.push(d/e);break;case"dup":f.copy(1);break;case"eq":e=f.pop(),d=f.pop(),f.push(d===e);break;case"exch":f.roll(2,1);break;case"exp":e=f.pop(),d=f.pop(),f.push(Math.pow(d,e));break;case"false":f.push(!1);break;case"floor":d=f.pop(),f.push(Math.floor(d));break;case"ge":e=f.pop(),d=f.pop(),f.push(d>=e);break;case"gt":e=f.pop(),d=f.pop(),f.push(d>e);break;case"idiv":e=f.pop(),d=f.pop(),f.push(d/e|0);break;case"index":d=f.pop(),f.index(d);break;case"le":e=f.pop(),d=f.pop(),f.push(e>=d);break;case"ln":d=f.pop(),f.push(Math.log(d));break;case"log":d=f.pop(),f.push(Math.log(d)/Math.LN10);break;case"lt":e=f.pop(),d=f.pop(),f.push(e>d);break;case"mod":e=f.pop(),d=f.pop(),f.push(d%e);break;case"mul":e=f.pop(),d=f.pop(),f.push(d*e);break;case"ne":e=f.pop(),d=f.pop(),f.push(d!==e);break;case"neg":d=f.pop(),f.push(-d);break;case"not":d=f.pop(),v(d)?f.push(!d):f.push(~d);break;case"or":e=f.pop(),d=f.pop(),v(d)&&v(e)?f.push(d||e):f.push(d|e);break;case"pop":f.pop();break;case"roll":e=f.pop(),d=f.pop(),f.roll(d,e);break;case"round":d=f.pop(),f.push(Math.round(d));break;case"sin":d=f.pop(),f.push(Math.sin(d));break;case"sqrt":d=f.pop(),f.push(Math.sqrt(d));break;case"sub":e=f.pop(),d=f.pop(),f.push(d-e);break;case"true":f.push(!0);break;case"truncate":d=f.pop(),d=0>d?Math.ceil(d):Math.floor(d),f.push(d);break;case"xor":e=f.pop(),d=f.pop(),v(d)&&v(e)?f.push(d!==e):f.push(d^e);break;default:c("Unknown operator "+b)}else f.push(b);return f.stack}},a}(),Wa=function(){function a(a){this.type=a}function b(b,c,d){a.call(this,"args"),this.index=b,this.min=c,this.max=d}function c(b){a.call(this,"literal"),this.number=b,this.min=b,this.max=b}function d(b,c,d,e,f){a.call(this,"binary"),this.op=b,this.arg1=c,this.arg2=d,this.min=e,this.max=f}function e(b,c){a.call(this,"max"),this.arg=b,this.min=b.min,this.max=c}function f(b,c,d){a.call(this,"var"),this.index=b,this.min=c,this.max=d}function g(b,c){a.call(this,"definition"),this.variable=b,this.arg=c}function h(){this.parts=[]}function i(a,b){return"literal"===b.type&&0===b.number?a:"literal"===a.type&&0===a.number?b:"literal"===b.type&&"literal"===a.type?new c(a.number+b.number):new d("+",a,b,a.min+b.min,a.max+b.max)}function j(a,b){if("literal"===b.type){if(0===b.number)return new c(0);if(1===b.number)return a;if("literal"===a.type)return new c(a.number*b.number)}if("literal"===a.type){if(0===a.number)return new c(0);if(1===a.number)return b}var e=Math.min(a.min*b.min,a.min*b.max,a.max*b.min,a.max*b.max),f=Math.max(a.min*b.min,a.min*b.max,a.max*b.min,a.max*b.max);return new d("*",a,b,e,f)}function k(a,b){if("literal"===b.type){if(0===b.number)return a;if("literal"===a.type)return new c(a.number-b.number)}return"binary"===b.type&&"-"===b.op&&"literal"===a.type&&1===a.number&&"literal"===b.arg1.type&&1===b.arg1.number?b.arg2:new d("-",a,b,a.min-b.max,a.max-b.min)}function l(a,b){return a.min>=b?new c(b):a.max<=b?a:new e(a,b)}function m(){}return a.prototype.visit=function(a){throw new Error("abstract method")},b.prototype=Object.create(a.prototype),b.prototype.visit=function(a){a.visitArgument(this)},c.prototype=Object.create(a.prototype),c.prototype.visit=function(a){a.visitLiteral(this)},d.prototype=Object.create(a.prototype),d.prototype.visit=function(a){a.visitBinaryOperation(this)},e.prototype=Object.create(a.prototype),e.prototype.visit=function(a){a.visitMin(this)},f.prototype=Object.create(a.prototype),f.prototype.visit=function(a){a.visitVariable(this)},g.prototype=Object.create(a.prototype),g.prototype.visit=function(a){a.visitVariableDefinition(this)},h.prototype={visitArgument:function(a){this.parts.push("Math.max(",a.min,", Math.min(",a.max,", src[srcOffset + ",a.index,"]))")},visitVariable:function(a){this.parts.push("v",a.index)},visitLiteral:function(a){this.parts.push(a.number)},visitBinaryOperation:function(a){this.parts.push("("),a.arg1.visit(this),this.parts.push(" ",a.op," "),a.arg2.visit(this),this.parts.push(")")},visitVariableDefinition:function(a){this.parts.push("var "),a.variable.visit(this),this.parts.push(" = "),a.arg.visit(this),this.parts.push(";")},visitMin:function(a){this.parts.push("Math.min("),a.arg.visit(this),this.parts.push(", ",a.max,")")},toString:function(){return this.parts.join("")}},m.prototype={compile:function(a,d,e){var m,n,o,p,q,r,s,t,u,v,w=[],x=[],y=d.length>>1,z=e.length>>1,A=0;for(m=0;y>m;m++)w.push(new b(m,d[2*m],d[2*m+1]));for(m=0,n=a.length;n>m;m++)if(v=a[m],"number"!=typeof v)switch(v){case"add":if(w.length<2)return null;r=w.pop(),q=w.pop(),w.push(i(q,r));break;case"cvr":if(w.length<1)return null;break;case"mul":if(w.length<2)return null;r=w.pop(),q=w.pop(),w.push(j(q,r));break;case"sub":if(w.length<2)return null;r=w.pop(),q=w.pop(),w.push(k(q,r));break;case"exch":if(w.length<2)return null;s=w.pop(),t=w.pop(),w.push(s,t);break;case"pop":if(w.length<1)return null;w.pop();break;case"index":if(w.length<1)return null;if(q=w.pop(),"literal"!==q.type)return null;if(o=q.number,0>o||(0|o)!==o||w.length<o)return null;if(s=w[w.length-o-1],"literal"===s.type||"var"===s.type){w.push(s);break}u=new f(A++,s.min,s.max),w[w.length-o-1]=u,w.push(u),x.push(new g(u,s));break;case"dup":if(w.length<1)return null;if("number"==typeof a[m+1]&&"gt"===a[m+2]&&a[m+3]===m+7&&"jz"===a[m+4]&&"pop"===a[m+5]&&a[m+6]===a[m+1]){q=w.pop(),w.push(l(q,a[m+1])),m+=6;break}if(s=w[w.length-1],"literal"===s.type||"var"===s.type){w.push(s);break}u=new f(A++,s.min,s.max),w[w.length-1]=u,w.push(u),x.push(new g(u,s));break;case"roll":if(w.length<2)return null;if(r=w.pop(),q=w.pop(),"literal"!==r.type||"literal"!==q.type)return null;if(p=r.number,o=q.number,0>=o||(0|o)!==o||(0|p)!==p||w.length<o)return null;if(p=(p%o+o)%o,0===p)break;Array.prototype.push.apply(w,w.splice(w.length-o,o-p));break;default:return null}else w.push(new c(v));if(w.length!==z)return null;var B=[];return x.forEach(function(a){var b=new h;a.visit(b),B.push(b.toString())}),w.forEach(function(a,b){var c=new h;a.visit(c);var d=e[2*b],f=e[2*b+1],g=[c.toString()];d>a.min&&(g.unshift("Math.max(",d,", "),g.push(")")),f<a.max&&(g.unshift("Math.min(",f,", "),g.push(")")),g.unshift("dest[destOffset + ",b,"] = "),g.push(";"),B.push(g.join(""))}),B.join("\n")}},m}(),Xa=function(){function a(){c("should not call ColorSpace constructor")}return a.prototype={getRgb:function(a,b){var c=new Uint8Array(3);return this.getRgbItem(a,b,c,0),c},getRgbItem:function(a,b,d,e){c("Should not call ColorSpace.getRgbItem")},getRgbBuffer:function(a,b,d,e,f,g,h){c("Should not call ColorSpace.getRgbBuffer")},getOutputLength:function(a,b){c("Should not call ColorSpace.getOutputLength")},isPassthrough:function(a){return!1},fillRgb:function(a,b,c,d,e,f,g,h,i){var j,k,l=b*c,m=null,n=1<<g,o=c!==e||b!==d;if(this.isPassthrough(g))m=h;else if(1===this.numComps&&l>n&&"DeviceGray"!==this.name&&"DeviceRGB"!==this.name){var p,q=8>=g?new Uint8Array(n):new Uint16Array(n);for(j=0;n>j;j++)q[j]=j;var r=new Uint8Array(3*n);this.getRgbBuffer(q,0,n,r,0,g,0);var s,t;if(o)for(m=new Uint8Array(3*l),t=0,j=0;l>j;++j)p=3*h[j],m[t++]=r[p],m[t++]=r[p+1],m[t++]=r[p+2];else for(s=0,j=0;l>j;++j)p=3*h[j],a[s++]=r[p],a[s++]=r[p+1],a[s++]=r[p+2],s+=i}else o?(m=new Uint8Array(3*l),this.getRgbBuffer(h,0,l,m,0,g,0)):this.getRgbBuffer(h,0,d*f,a,0,g,i);if(m)if(o)Bc.resize(m,g,3,b,c,d,e,a,i);else for(t=0,s=0,j=0,k=d*f;k>j;j++)a[s++]=m[t++],a[s++]=m[t++],a[s++]=m[t++],s+=i},usesZeroToOneRange:!0},a.parse=function(b,c,d){var e=a.parseToIR(b,c,d);return e instanceof Ya?e:a.fromIR(e)},a.fromIR=function(b){var d,e,f,g=C(b)?b[0]:b;switch(g){case"DeviceGrayCS":return this.singletons.gray;case"DeviceRgbCS":return this.singletons.rgb;case"DeviceCmykCS":return this.singletons.cmyk;case"CalGrayCS":return d=b[1].WhitePoint,e=b[1].BlackPoint,f=b[1].Gamma,new cb(d,e,f);case"CalRGBCS":d=b[1].WhitePoint,e=b[1].BlackPoint,f=b[1].Gamma;var h=b[1].Matrix;return new db(d,e,f,h);case"PatternCS":var i=b[1];return i&&(i=a.fromIR(i)),new Za(i);case"IndexedCS":var j=b[1],k=b[2],l=b[3];return new $a(a.fromIR(j),k,l);case"AlternateCS":var m=b[1],n=b[2],o=b[3];return new Ya(m,a.fromIR(n),Ta.fromIR(o));case"LabCS":d=b[1].WhitePoint,e=b[1].BlackPoint;var p=b[1].Range;return new eb(d,e,p);default:c("Unknown name "+g)}return null},a.parseToIR=function(d,e,f){if(z(d)){var g=f.get("ColorSpace");if(B(g)){var h=g.get(d.name);h&&(d=h)}}d=e.fetchIfRef(d);var i;if(z(d))switch(i=d.name,this.mode=i,i){case"DeviceGray":case"G":return"DeviceGrayCS";case"DeviceRGB":case"RGB":return"DeviceRgbCS";case"DeviceCMYK":case"CMYK":return"DeviceCmykCS";case"Pattern":return["PatternCS",null];default:c("unrecognized colorspace "+i)}else if(C(d)){i=e.fetchIfRef(d[0]).name,this.mode=i;var j,k,l;switch(i){case"DeviceGray":case"G":return"DeviceGrayCS";case"DeviceRGB":case"RGB":return"DeviceRgbCS";case"DeviceCMYK":case"CMYK":return"DeviceCmykCS";case"CalGray":return k=e.fetchIfRef(d[1]).getAll(),["CalGrayCS",k];case"CalRGB":return k=e.fetchIfRef(d[1]).getAll(),["CalRGBCS",k];case"ICCBased":var m=e.fetchIfRef(d[1]),n=m.dict;if(j=n.get("N"),l=n.get("Alternate")){var o=a.parseToIR(l,e,f),p=a.fromIR(o);if(p.numComps===j)return o;b("ICCBased color space: Ignoring incorrect /Alternate entry.")}if(1===j)return"DeviceGrayCS";if(3===j)return"DeviceRgbCS";if(4===j)return"DeviceCmykCS";break;case"Pattern":var q=d[1]||null;return q&&(q=a.parseToIR(q,e,f)),["PatternCS",q];case"Indexed":case"I":var r=a.parseToIR(d[1],e,f),s=e.fetchIfRef(d[2])+1,t=e.fetchIfRef(d[3]);return D(t)&&(t=t.getBytes()),["IndexedCS",r,s,t];case"Separation":case"DeviceN":var u=e.fetchIfRef(d[1]);j=1,z(u)?j=1:C(u)&&(j=u.length),l=a.parseToIR(d[2],e,f);var v=Ta.getIR(e,e.fetchIfRef(d[3]));return["AlternateCS",j,l,v];case"Lab":return k=e.fetchIfRef(d[1]).getAll(),["LabCS",k];default:c('unimplemented color space object "'+i+'"')}}else c('unrecognized color space object: "'+d+'"');return null},a.isDefaultDecode=function(a,c){if(!C(a))return!0;if(2*c!==a.length)return b("The decode map is not the correct length"),!0;for(var d=0,e=a.length;e>d;d+=2)if(0!==a[d]||1!==a[d+1])return!1;return!0},a.singletons={get gray(){return g(this,"gray",new _a)},get rgb(){return g(this,"rgb",new ab)},get cmyk(){return g(this,"cmyk",new bb)}},a}(),Ya=function(){function a(a,b,c){this.name="Alternate",this.numComps=a,this.defaultColor=new Float32Array(a);for(var d=0;a>d;++d)this.defaultColor[d]=1;this.base=b,this.tintFn=c,this.tmpBuf=new Float32Array(b.numComps)}return a.prototype={getRgb:Xa.prototype.getRgb,getRgbItem:function(a,b,c,d){var e=this.tmpBuf;this.tintFn(a,b,e,0),this.base.getRgbItem(e,0,c,d)},getRgbBuffer:function(a,b,c,d,e,f,g){var h,i,j=this.tintFn,k=this.base,l=1/((1<<f)-1),m=k.numComps,n=k.usesZeroToOneRange,o=(k.isPassthrough(8)||!n)&&0===g,p=o?e:0,q=o?d:new Uint8Array(m*c),r=this.numComps,s=new Float32Array(r),t=new Float32Array(m);if(n)for(h=0;c>h;h++){for(i=0;r>i;i++)s[i]=a[b++]*l;for(j(s,0,t,0),i=0;m>i;i++)q[p++]=255*t[i]}else for(h=0;c>h;h++){for(i=0;r>i;i++)s[i]=a[b++]*l;j(s,0,t,0),k.getRgbItem(t,0,q,p),
+p+=m}o||k.getRgbBuffer(q,0,c,d,e,8,g)},getOutputLength:function(a,b){return this.base.getOutputLength(a*this.base.numComps/this.numComps,b)},isPassthrough:Xa.prototype.isPassthrough,fillRgb:Xa.prototype.fillRgb,isDefaultDecode:function(a){return Xa.isDefaultDecode(a,this.numComps)},usesZeroToOneRange:!0},a}(),Za=function(){function a(a){this.name="Pattern",this.base=a}return a.prototype={},a}(),$a=function(){function a(a,b,d){this.name="Indexed",this.numComps=1,this.defaultColor=new Uint8Array([0]),this.base=a,this.highVal=b;var e,f=a.numComps,g=f*b;if(D(d)){e=new Uint8Array(g);var h=d.getBytes(g);e.set(h)}else if(y(d)){e=new Uint8Array(g);for(var i=0;g>i;++i)e[i]=d.charCodeAt(i)}else d instanceof Uint8Array||d instanceof Array?e=d:c("Unrecognized lookup table: "+d);this.lookup=e}return a.prototype={getRgb:Xa.prototype.getRgb,getRgbItem:function(a,b,c,d){var e=this.base.numComps,f=a[b]*e;this.base.getRgbItem(this.lookup,f,c,d)},getRgbBuffer:function(a,b,c,d,e,f,g){for(var h=this.base,i=h.numComps,j=h.getOutputLength(i,g),k=this.lookup,l=0;c>l;++l){var m=a[b++]*i;h.getRgbBuffer(k,m,1,d,e,8,g),e+=j}},getOutputLength:function(a,b){return this.base.getOutputLength(a*this.base.numComps,b)},isPassthrough:Xa.prototype.isPassthrough,fillRgb:Xa.prototype.fillRgb,isDefaultDecode:function(a){return!0},usesZeroToOneRange:!0},a}(),_a=function(){function a(){this.name="DeviceGray",this.numComps=1,this.defaultColor=new Float32Array([0])}return a.prototype={getRgb:Xa.prototype.getRgb,getRgbItem:function(a,b,c,d){var e=255*a[b]|0;e=0>e?0:e>255?255:e,c[d]=c[d+1]=c[d+2]=e},getRgbBuffer:function(a,b,c,d,e,f,g){for(var h=255/((1<<f)-1),i=b,j=e,k=0;c>k;++k){var l=h*a[i++]|0;d[j++]=l,d[j++]=l,d[j++]=l,j+=g}},getOutputLength:function(a,b){return a*(3+b)},isPassthrough:Xa.prototype.isPassthrough,fillRgb:Xa.prototype.fillRgb,isDefaultDecode:function(a){return Xa.isDefaultDecode(a,this.numComps)},usesZeroToOneRange:!0},a}(),ab=function(){function a(){this.name="DeviceRGB",this.numComps=3,this.defaultColor=new Float32Array([0,0,0])}return a.prototype={getRgb:Xa.prototype.getRgb,getRgbItem:function(a,b,c,d){var e=255*a[b]|0,f=255*a[b+1]|0,g=255*a[b+2]|0;c[d]=0>e?0:e>255?255:e,c[d+1]=0>f?0:f>255?255:f,c[d+2]=0>g?0:g>255?255:g},getRgbBuffer:function(a,b,c,d,e,f,g){if(8===f&&0===g)return void d.set(a.subarray(b,b+3*c),e);for(var h=255/((1<<f)-1),i=b,j=e,k=0;c>k;++k)d[j++]=h*a[i++]|0,d[j++]=h*a[i++]|0,d[j++]=h*a[i++]|0,j+=g},getOutputLength:function(a,b){return a*(3+b)/3|0},isPassthrough:function(a){return 8===a},fillRgb:Xa.prototype.fillRgb,isDefaultDecode:function(a){return Xa.isDefaultDecode(a,this.numComps)},usesZeroToOneRange:!0},a}(),bb=function(){function a(a,b,c,d,e){var f=a[b+0]*c,g=a[b+1]*c,h=a[b+2]*c,i=a[b+3]*c,j=f*(-4.387332384609988*f+54.48615194189176*g+18.82290502165302*h+212.25662451639585*i+-285.2331026137004)+g*(1.7149763477362134*g-5.6096736904047315*h+-17.873870861415444*i-5.497006427196366)+h*(-2.5217340131683033*h-21.248923337353073*i+17.5119270841813)+i*(-21.86122147463605*i-189.48180835922747)+255|0,k=f*(8.841041422036149*f+60.118027045597366*g+6.871425592049007*h+31.159100130055922*i+-79.2970844816548)+g*(-15.310361306967817*g+17.575251261109482*h+131.35250912493976*i-190.9453302588951)+h*(4.444339102852739*h+9.8632861493405*i-24.86741582555878)+i*(-20.737325471181034*i-187.80453709719578)+255|0,l=f*(.8842522430003296*f+8.078677503112928*g+30.89978309703729*h-.23883238689178934*i+-14.183576799673286)+g*(10.49593273432072*g+63.02378494754052*h+50.606957656360734*i-112.23884253719248)+h*(.03296041114873217*h+115.60384449646641*i+-193.58209356861505)+i*(-22.33816807309886*i-180.12613974708367)+255|0;d[e]=j>255?255:0>j?0:j,d[e+1]=k>255?255:0>k?0:k,d[e+2]=l>255?255:0>l?0:l}function b(){this.name="DeviceCMYK",this.numComps=4,this.defaultColor=new Float32Array([0,0,0,1])}return b.prototype={getRgb:Xa.prototype.getRgb,getRgbItem:function(b,c,d,e){a(b,c,1,d,e)},getRgbBuffer:function(b,c,d,e,f,g,h){for(var i=1/((1<<g)-1),j=0;d>j;j++)a(b,c,i,e,f),c+=4,f+=3+h},getOutputLength:function(a,b){return a/4*(3+b)|0},isPassthrough:Xa.prototype.isPassthrough,fillRgb:Xa.prototype.fillRgb,isDefaultDecode:function(a){return Xa.isDefaultDecode(a,this.numComps)},usesZeroToOneRange:!0},b}(),cb=function(){function d(d,e,f){this.name="CalGray",this.numComps=1,this.defaultColor=new Float32Array([0]),d||c("WhitePoint missing - required for color space CalGray"),e=e||[0,0,0],f=f||1,this.XW=d[0],this.YW=d[1],this.ZW=d[2],this.XB=e[0],this.YB=e[1],this.ZB=e[2],this.G=f,(this.XW<0||this.ZW<0||1!==this.YW)&&c("Invalid WhitePoint components for "+this.name+", no fallback available"),(this.XB<0||this.YB<0||this.ZB<0)&&(a("Invalid BlackPoint for "+this.name+", falling back to default"),this.XB=this.YB=this.ZB=0),(0!==this.XB||0!==this.YB||0!==this.ZB)&&b(this.name+", BlackPoint: XB: "+this.XB+", YB: "+this.YB+", ZB: "+this.ZB+", only default values are supported."),this.G<1&&(a("Invalid Gamma: "+this.G+" for "+this.name+", falling back to default"),this.G=1)}function e(a,b,c,d,e,f){var g=b[c]*f,h=Math.pow(g,a.G),i=a.YW*h,j=0|Math.max(295.8*Math.pow(i,.3333333333333333)-40.8,0);d[e]=j,d[e+1]=j,d[e+2]=j}return d.prototype={getRgb:Xa.prototype.getRgb,getRgbItem:function(a,b,c,d){e(this,a,b,c,d,1)},getRgbBuffer:function(a,b,c,d,f,g,h){for(var i=1/((1<<g)-1),j=0;c>j;++j)e(this,a,b,d,f,i),b+=1,f+=3+h},getOutputLength:function(a,b){return a*(3+b)},isPassthrough:Xa.prototype.isPassthrough,fillRgb:Xa.prototype.fillRgb,isDefaultDecode:function(a){return Xa.isDefaultDecode(a,this.numComps)},usesZeroToOneRange:!0},d}(),db=function(){function b(b,d,e,f){this.name="CalRGB",this.numComps=3,this.defaultColor=new Float32Array(3),b||c("WhitePoint missing - required for color space CalRGB"),d=d||new Float32Array(3),e=e||new Float32Array([1,1,1]),f=f||new Float32Array([1,0,0,0,1,0,0,0,1]);var g=b[0],h=b[1],i=b[2];this.whitePoint=b;var j=d[0],k=d[1],l=d[2];this.blackPoint=d,this.GR=e[0],this.GG=e[1],this.GB=e[2],this.MXA=f[0],this.MYA=f[1],this.MZA=f[2],this.MXB=f[3],this.MYB=f[4],this.MZB=f[5],this.MXC=f[6],this.MYC=f[7],this.MZC=f[8],(0>g||0>i||1!==h)&&c("Invalid WhitePoint components for "+this.name+", no fallback available"),(0>j||0>k||0>l)&&(a("Invalid BlackPoint for "+this.name+" ["+j+", "+k+", "+l+"], falling back to default"),this.blackPoint=new Float32Array(3)),(this.GR<0||this.GG<0||this.GB<0)&&(a("Invalid Gamma ["+this.GR+", "+this.GG+", "+this.GB+"] for "+this.name+", falling back to default"),this.GR=this.GG=this.GB=1),(this.MXA<0||this.MYA<0||this.MZA<0||this.MXB<0||this.MYB<0||this.MZB<0||this.MXC<0||this.MYC<0||this.MZC<0)&&(a("Invalid Matrix for "+this.name+" ["+this.MXA+", "+this.MYA+", "+this.MZA+this.MXB+", "+this.MYB+", "+this.MZB+this.MXC+", "+this.MYC+", "+this.MZC+"], falling back to default"),this.MXA=this.MYB=this.MZC=1,this.MXB=this.MYA=this.MZA=this.MXC=this.MYC=this.MZB=0)}function d(a,b,c){c[0]=a[0]*b[0]+a[1]*b[1]+a[2]*b[2],c[1]=a[3]*b[0]+a[4]*b[1]+a[5]*b[2],c[2]=a[6]*b[0]+a[7]*b[1]+a[8]*b[2]}function e(a,b,c){c[0]=1*b[0]/a[0],c[1]=1*b[1]/a[1],c[2]=1*b[2]/a[2]}function f(a,b,c){var d=.95047,e=1,f=1.08883;c[0]=b[0]*d/a[0],c[1]=b[1]*e/a[1],c[2]=b[2]*f/a[2]}function g(a){return.0031308>=a?h(0,1,12.92*a):h(0,1,1.055*Math.pow(a,1/2.4)-.055)}function h(a,b,c){return Math.max(a,Math.min(b,c))}function i(a){return 0>a?-i(-a):a>8?Math.pow((a+16)/116,3):a*u}function j(a,b,c){if(0===a[0]&&0===a[1]&&0===a[2])return c[0]=b[0],c[1]=b[1],void(c[2]=b[2]);var d=i(0),e=d,f=i(a[0]),g=d,h=i(a[1]),j=d,k=i(a[2]),l=(1-e)/(1-f),m=1-l,n=(1-g)/(1-h),o=1-n,p=(1-j)/(1-k),q=1-p;c[0]=b[0]*l+m,c[1]=b[1]*n+o,c[2]=b[2]*p+q}function k(a,b,c){if(1===a[0]&&1===a[2])return c[0]=b[0],c[1]=b[1],void(c[2]=b[2]);var f=c;d(n,b,f);var g=r;e(a,f,g),d(o,g,c)}function l(a,b,c){var e=c;d(n,b,e);var g=r;f(a,e,g),d(o,g,c)}function m(a,b,c,e,f,i){var m=h(0,1,b[c]*i),n=h(0,1,b[c+1]*i),o=h(0,1,b[c+2]*i),r=Math.pow(m,a.GR),u=Math.pow(n,a.GG),v=Math.pow(o,a.GB),w=a.MXA*r+a.MXB*u+a.MXC*v,x=a.MYA*r+a.MYB*u+a.MYC*v,y=a.MZA*r+a.MZB*u+a.MZC*v,z=s;z[0]=w,z[1]=x,z[2]=y;var A=t;k(a.whitePoint,z,A);var B=s;j(a.blackPoint,A,B);var C=t;l(q,B,C);var D=s;d(p,C,D);var E=g(D[0]),F=g(D[1]),G=g(D[2]);e[f]=Math.round(255*E),e[f+1]=Math.round(255*F),e[f+2]=Math.round(255*G)}var n=new Float32Array([.8951,.2664,-.1614,-.7502,1.7135,.0367,.0389,-.0685,1.0296]),o=new Float32Array([.9869929,-.1470543,.1599627,.4323053,.5183603,.0492912,-.0085287,.0400428,.9684867]),p=new Float32Array([3.2404542,-1.5371385,-.4985314,-.969266,1.8760108,.041556,.0556434,-.2040259,1.0572252]),q=new Float32Array([1,1,1]),r=new Float32Array(3),s=new Float32Array(3),t=new Float32Array(3),u=Math.pow(24/116,3)/8;return b.prototype={getRgb:function(a,b){var c=new Uint8Array(3);return this.getRgbItem(a,b,c,0),c},getRgbItem:function(a,b,c,d){m(this,a,b,c,d,1)},getRgbBuffer:function(a,b,c,d,e,f,g){for(var h=1/((1<<f)-1),i=0;c>i;++i)m(this,a,b,d,e,h),b+=3,e+=3+g},getOutputLength:function(a,b){return a*(3+b)/3|0},isPassthrough:Xa.prototype.isPassthrough,fillRgb:Xa.prototype.fillRgb,isDefaultDecode:function(a){return Xa.isDefaultDecode(a,this.numComps)},usesZeroToOneRange:!0},b}(),eb=function(){function b(b,d,e){this.name="Lab",this.numComps=3,this.defaultColor=new Float32Array([0,0,0]),b||c("WhitePoint missing - required for color space Lab"),d=d||[0,0,0],e=e||[-100,100,-100,100],this.XW=b[0],this.YW=b[1],this.ZW=b[2],this.amin=e[0],this.amax=e[1],this.bmin=e[2],this.bmax=e[3],this.XB=d[0],this.YB=d[1],this.ZB=d[2],(this.XW<0||this.ZW<0||1!==this.YW)&&c("Invalid WhitePoint components, no fallback available"),(this.XB<0||this.YB<0||this.ZB<0)&&(a("Invalid BlackPoint, falling back to default"),this.XB=this.YB=this.ZB=0),(this.amin>this.amax||this.bmin>this.bmax)&&(a("Invalid Range, falling back to defaults"),this.amin=-100,this.amax=100,this.bmin=-100,this.bmax=100)}function d(a){return a>=6/29?a*a*a:108/841*(a-4/29)}function e(a,b,c,d){return c+a*(d-c)/b}function f(a,b,c,f,g,h){var i=b[c],j=b[c+1],k=b[c+2];f!==!1&&(i=e(i,f,0,100),j=e(j,f,a.amin,a.amax),k=e(k,f,a.bmin,a.bmax)),j=j>a.amax?a.amax:j<a.amin?a.amin:j,k=k>a.bmax?a.bmax:k<a.bmin?a.bmin:k;var l,m,n,o=(i+16)/116,p=o+j/500,q=o-k/200,r=a.XW*d(p),s=a.YW*d(o),t=a.ZW*d(q);a.ZW<1?(l=3.1339*r+-1.617*s+t*-.4906,m=r*-.9785+1.916*s+.0333*t,n=.072*r+s*-.229+1.4057*t):(l=3.2406*r+-1.5372*s+t*-.4986,m=r*-.9689+1.8758*s+.0415*t,n=.0557*r+s*-.204+1.057*t),g[h]=0>=l?0:l>=1?255:255*Math.sqrt(l)|0,g[h+1]=0>=m?0:m>=1?255:255*Math.sqrt(m)|0,g[h+2]=0>=n?0:n>=1?255:255*Math.sqrt(n)|0}return b.prototype={getRgb:Xa.prototype.getRgb,getRgbItem:function(a,b,c,d){f(this,a,b,!1,c,d)},getRgbBuffer:function(a,b,c,d,e,g,h){for(var i=(1<<g)-1,j=0;c>j;j++)f(this,a,b,i,d,e),b+=3,e+=3+h},getOutputLength:function(a,b){return a*(3+b)/3|0},isPassthrough:Xa.prototype.isPassthrough,fillRgb:Xa.prototype.fillRgb,isDefaultDecode:function(a){return!0},usesZeroToOneRange:!1},b}(),fb=function(){function a(a){this.a=0,this.b=0;var b,c,d=new Uint8Array(256),e=0,f=a.length;for(b=0;256>b;++b)d[b]=b;for(b=0;256>b;++b)c=d[b],e=e+c+a[b%f]&255,d[b]=d[e],d[e]=c;this.s=d}return a.prototype={encryptBlock:function(a){var b,c,d,e=a.length,f=this.a,g=this.b,h=this.s,i=new Uint8Array(e);for(b=0;e>b;++b)f=f+1&255,c=h[f],g=g+c&255,d=h[g],h[f]=d,h[g]=c,i[b]=a[b]^h[c+d&255];return this.a=f,this.b=g,i}},a.prototype.decryptBlock=a.prototype.encryptBlock,a}(),gb=function(){function a(a,d,e){var f,g,h,i=1732584193,j=-271733879,k=-1732584194,l=271733878,m=e+72&-64,n=new Uint8Array(m);for(f=0;e>f;++f)n[f]=a[d++];for(n[f++]=128,h=m-8;h>f;)n[f++]=0;n[f++]=e<<3&255,n[f++]=e>>5&255,n[f++]=e>>13&255,n[f++]=e>>21&255,n[f++]=e>>>29&255,n[f++]=0,n[f++]=0,n[f++]=0;var o=new Int32Array(16);for(f=0;m>f;){for(g=0;16>g;++g,f+=4)o[g]=n[f]|n[f+1]<<8|n[f+2]<<16|n[f+3]<<24;var p,q,r=i,s=j,t=k,u=l;for(g=0;64>g;++g){16>g?(p=s&t|~s&u,q=g):32>g?(p=u&s|~u&t,q=5*g+1&15):48>g?(p=s^t^u,q=3*g+5&15):(p=t^(s|~u),q=7*g&15);var v=u,w=r+p+c[g]+o[q]|0,x=b[g];u=t,t=s,s=s+(w<<x|w>>>32-x)|0,r=v}i=i+r|0,j=j+s|0,k=k+t|0,l=l+u|0}return new Uint8Array([255&i,i>>8&255,i>>16&255,i>>>24&255,255&j,j>>8&255,j>>16&255,j>>>24&255,255&k,k>>8&255,k>>16&255,k>>>24&255,255&l,l>>8&255,l>>16&255,l>>>24&255])}var b=new Uint8Array([7,12,17,22,7,12,17,22,7,12,17,22,7,12,17,22,5,9,14,20,5,9,14,20,5,9,14,20,5,9,14,20,4,11,16,23,4,11,16,23,4,11,16,23,4,11,16,23,6,10,15,21,6,10,15,21,6,10,15,21,6,10,15,21]),c=new Int32Array([-680876936,-389564586,606105819,-1044525330,-176418897,1200080426,-1473231341,-45705983,1770035416,-1958414417,-42063,-1990404162,1804603682,-40341101,-1502002290,1236535329,-165796510,-1069501632,643717713,-373897302,-701558691,38016083,-660478335,-405537848,568446438,-1019803690,-187363961,1163531501,-1444681467,-51403784,1735328473,-1926607734,-378558,-2022574463,1839030562,-35309556,-1530992060,1272893353,-155497632,-1094730640,681279174,-358537222,-722521979,76029189,-640364487,-421815835,530742520,-995338651,-198630844,1126891415,-1416354905,-57434055,1700485571,-1894986606,-1051523,-2054922799,1873313359,-30611744,-1560198380,1309151649,-145523070,-1120210379,718787259,-343485551]);return a}(),hb=function(){function a(a,b){this.high=0|a,this.low=0|b}return a.prototype={and:function(a){this.high&=a.high,this.low&=a.low},xor:function(a){this.high^=a.high,this.low^=a.low},or:function(a){this.high|=a.high,this.low|=a.low},shiftRight:function(a){a>=32?(this.low=this.high>>>a-32|0,this.high=0):(this.low=this.low>>>a|this.high<<32-a,this.high=this.high>>>a|0)},shiftLeft:function(a){a>=32?(this.high=this.low<<a-32,this.low=0):(this.high=this.high<<a|this.low>>>32-a,this.low=this.low<<a)},rotateRight:function(a){var b,c;32&a?(c=this.low,b=this.high):(b=this.low,c=this.high),a&=31,this.low=b>>>a|c<<32-a,this.high=c>>>a|b<<32-a},not:function(){this.high=~this.high,this.low=~this.low},add:function(a){var b=(this.low>>>0)+(a.low>>>0),c=(this.high>>>0)+(a.high>>>0);b>4294967295&&(c+=1),this.low=0|b,this.high=0|c},copyTo:function(a,b){a[b]=this.high>>>24&255,a[b+1]=this.high>>16&255,a[b+2]=this.high>>8&255,a[b+3]=255&this.high,a[b+4]=this.low>>>24&255,a[b+5]=this.low>>16&255,a[b+6]=this.low>>8&255,a[b+7]=255&this.low},assign:function(a){this.high=a.high,this.low=a.low}},a}(),ib=function(){function a(a,b){return a>>>b|a<<32-b}function b(a,b,c){return a&b^~a&c}function c(a,b,c){return a&b^a&c^b&c}function d(b){return a(b,2)^a(b,13)^a(b,22)}function e(b){return a(b,6)^a(b,11)^a(b,25)}function f(b){return a(b,7)^a(b,18)^b>>>3}function g(b){return a(b,17)^a(b,19)^b>>>10}function h(a,h,j){var k,l,m,n=1779033703,o=3144134277,p=1013904242,q=2773480762,r=1359893119,s=2600822924,t=528734635,u=1541459225,v=64*Math.ceil((j+9)/64),w=new Uint8Array(v);for(k=0;j>k;++k)w[k]=a[h++];for(w[k++]=128,m=v-8;m>k;)w[k++]=0;w[k++]=0,w[k++]=0,w[k++]=0,w[k++]=j>>>29&255,w[k++]=j>>21&255,w[k++]=j>>13&255,w[k++]=j>>5&255,w[k++]=j<<3&255;var x=new Uint32Array(64);for(k=0;v>k;){for(l=0;16>l;++l)x[l]=w[k]<<24|w[k+1]<<16|w[k+2]<<8|w[k+3],k+=4;for(l=16;64>l;++l)x[l]=g(x[l-2])+x[l-7]+f(x[l-15])+x[l-16]|0;var y,z,A=n,B=o,C=p,D=q,E=r,F=s,G=t,H=u;for(l=0;64>l;++l)y=H+e(E)+b(E,F,G)+i[l]+x[l],z=d(A)+c(A,B,C),H=G,G=F,F=E,E=D+y|0,D=C,C=B,B=A,A=y+z|0;n=n+A|0,o=o+B|0,p=p+C|0,q=q+D|0,r=r+E|0,s=s+F|0,t=t+G|0,u=u+H|0}return new Uint8Array([n>>24&255,n>>16&255,n>>8&255,255&n,o>>24&255,o>>16&255,o>>8&255,255&o,p>>24&255,p>>16&255,p>>8&255,255&p,q>>24&255,q>>16&255,q>>8&255,255&q,r>>24&255,r>>16&255,r>>8&255,255&r,s>>24&255,s>>16&255,s>>8&255,255&s,t>>24&255,t>>16&255,t>>8&255,255&t,u>>24&255,u>>16&255,u>>8&255,255&u])}var i=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];return h}(),jb=function(){function a(a,b,c,d,e){a.assign(b),a.and(c),e.assign(b),e.not(),e.and(d),a.xor(e)}function b(a,b,c,d,e){a.assign(b),a.and(c),e.assign(b),e.and(d),a.xor(e),e.assign(c),e.and(d),a.xor(e)}function c(a,b,c){a.assign(b),a.rotateRight(28),c.assign(b),c.rotateRight(34),a.xor(c),c.assign(b),c.rotateRight(39),a.xor(c)}function d(a,b,c){a.assign(b),a.rotateRight(14),c.assign(b),c.rotateRight(18),a.xor(c),c.assign(b),c.rotateRight(41),a.xor(c)}function e(a,b,c){a.assign(b),a.rotateRight(1),c.assign(b),c.rotateRight(8),a.xor(c),c.assign(b),c.shiftRight(7),a.xor(c)}function f(a,b,c){a.assign(b),a.rotateRight(19),c.assign(b),c.rotateRight(61),a.xor(c),c.assign(b),c.shiftRight(6),a.xor(c)}function g(g,i,j,k){k=!!k;var l,m,n,o,p,q,r,s;k?(l=new hb(3418070365,3238371032),m=new hb(1654270250,914150663),n=new hb(2438529370,812702999),o=new hb(355462360,4144912697),p=new hb(1731405415,4290775857),q=new hb(2394180231,1750603025),r=new hb(3675008525,1694076839),s=new hb(1203062813,3204075428)):(l=new hb(1779033703,4089235720),m=new hb(3144134277,2227873595),n=new hb(1013904242,4271175723),o=new hb(2773480762,1595750129),p=new hb(1359893119,2917565137),q=new hb(2600822924,725511199),r=new hb(528734635,4215389547),s=new hb(1541459225,327033209));var t,u,v,w=128*Math.ceil((j+17)/128),x=new Uint8Array(w);for(t=0;j>t;++t)x[t]=g[i++];for(x[t++]=128,v=w-16;v>t;)x[t++]=0;x[t++]=0,x[t++]=0,x[t++]=0,x[t++]=0,x[t++]=0,x[t++]=0,x[t++]=0,x[t++]=0,x[t++]=0,x[t++]=0,x[t++]=0,x[t++]=j>>>29&255,x[t++]=j>>21&255,x[t++]=j>>13&255,x[t++]=j>>5&255,x[t++]=j<<3&255;var y=new Array(80);for(t=0;80>t;t++)y[t]=new hb(0,0);var z,A=new hb(0,0),B=new hb(0,0),C=new hb(0,0),D=new hb(0,0),E=new hb(0,0),F=new hb(0,0),G=new hb(0,0),H=new hb(0,0),I=new hb(0,0),J=new hb(0,0),K=new hb(0,0),L=new hb(0,0);for(t=0;w>t;){for(u=0;16>u;++u)y[u].high=x[t]<<24|x[t+1]<<16|x[t+2]<<8|x[t+3],y[u].low=x[t+4]<<24|x[t+5]<<16|x[t+6]<<8|x[t+7],t+=8;for(u=16;80>u;++u)z=y[u],f(z,y[u-2],L),z.add(y[u-7]),e(K,y[u-15],L),z.add(K),z.add(y[u-16]);for(A.assign(l),B.assign(m),C.assign(n),D.assign(o),E.assign(p),F.assign(q),G.assign(r),H.assign(s),u=0;80>u;++u)I.assign(H),d(K,E,L),I.add(K),a(K,E,F,G,L),I.add(K),I.add(h[u]),I.add(y[u]),c(J,A,L),b(K,A,B,C,L),J.add(K),z=H,H=G,G=F,F=E,D.add(I),E=D,D=C,C=B,B=A,z.assign(I),z.add(J),A=z;l.add(A),m.add(B),n.add(C),o.add(D),p.add(E),q.add(F),r.add(G),s.add(H)}var M;return k?(M=new Uint8Array(48),l.copyTo(M,0),m.copyTo(M,8),n.copyTo(M,16),o.copyTo(M,24),p.copyTo(M,32),q.copyTo(M,40)):(M=new Uint8Array(64),l.copyTo(M,0),m.copyTo(M,8),n.copyTo(M,16),o.copyTo(M,24),p.copyTo(M,32),q.copyTo(M,40),r.copyTo(M,48),s.copyTo(M,56)),M}var h=[new hb(1116352408,3609767458),new hb(1899447441,602891725),new hb(3049323471,3964484399),new hb(3921009573,2173295548),new hb(961987163,4081628472),new hb(1508970993,3053834265),new hb(2453635748,2937671579),new hb(2870763221,3664609560),new hb(3624381080,2734883394),new hb(310598401,1164996542),new hb(607225278,1323610764),new hb(1426881987,3590304994),new hb(1925078388,4068182383),new hb(2162078206,991336113),new hb(2614888103,633803317),new hb(3248222580,3479774868),new hb(3835390401,2666613458),new hb(4022224774,944711139),new hb(264347078,2341262773),new hb(604807628,2007800933),new hb(770255983,1495990901),new hb(1249150122,1856431235),new hb(1555081692,3175218132),new hb(1996064986,2198950837),new hb(2554220882,3999719339),new hb(2821834349,766784016),new hb(2952996808,2566594879),new hb(3210313671,3203337956),new hb(3336571891,1034457026),new hb(3584528711,2466948901),new hb(113926993,3758326383),new hb(338241895,168717936),new hb(666307205,1188179964),new hb(773529912,1546045734),new hb(1294757372,1522805485),new hb(1396182291,2643833823),new hb(1695183700,2343527390),new hb(1986661051,1014477480),new hb(2177026350,1206759142),new hb(2456956037,344077627),new hb(2730485921,1290863460),new hb(2820302411,3158454273),new hb(3259730800,3505952657),new hb(3345764771,106217008),new hb(3516065817,3606008344),new hb(3600352804,1432725776),new hb(4094571909,1467031594),new hb(275423344,851169720),new hb(430227734,3100823752),new hb(506948616,1363258195),new hb(659060556,3750685593),new hb(883997877,3785050280),new hb(958139571,3318307427),new hb(1322822218,3812723403),new hb(1537002063,2003034995),new hb(1747873779,3602036899),new hb(1955562222,1575990012),new hb(2024104815,1125592928),new hb(2227730452,2716904306),new hb(2361852424,442776044),new hb(2428436474,593698344),new hb(2756734187,3733110249),new hb(3204031479,2999351573),new hb(3329325298,3815920427),new hb(3391569614,3928383900),new hb(3515267271,566280711),new hb(3940187606,3454069534),new hb(4118630271,4000239992),new hb(116418474,1914138554),new hb(174292421,2731055270),new hb(289380356,3203993006),new hb(460393269,320620315),new hb(685471733,587496836),new hb(852142971,1086792851),new hb(1017036298,365543100),new hb(1126000580,2618297676),new hb(1288033470,3409855158),new hb(1501505948,4234509866),new hb(1607167915,987167468),new hb(1816402316,1246189591)];return g}(),kb=function(){function a(a,b,c){return jb(a,b,c,!0)}return a}(),lb=function(){function a(){}return a.prototype={decryptBlock:function(a){return a}},a}(),mb=function(){function a(a){var b=176,c=new Uint8Array(b);c.set(a);for(var d=16,e=1;b>d;++e){var h=c[d-3],i=c[d-2],j=c[d-1],k=c[d-4];h=g[h],i=g[i],j=g[j],k=g[k],h^=f[e];for(var l=0;4>l;++l)c[d]=h^=c[d-16],d++,c[d]=i^=c[d-16],d++,c[d]=j^=c[d-16],d++,c[d]=k^=c[d-16],d++}return c}function b(a,b){var c=new Uint8Array(16);c.set(a);var d,e,f,g,i,j;for(e=0,f=160;16>e;++e,++f)c[e]^=b[f];for(d=9;d>=1;--d){for(g=c[13],c[13]=c[9],c[9]=c[5],c[5]=c[1],c[1]=g,g=c[14],i=c[10],c[14]=c[6],c[10]=c[2],c[6]=g,c[2]=i,g=c[15],i=c[11],j=c[7],c[15]=c[3],c[11]=g,c[7]=i,c[3]=j,e=0;16>e;++e)c[e]=h[c[e]];for(e=0,f=16*d;16>e;++e,++f)c[e]^=b[f];for(e=0;16>e;e+=4){var l=k[c[e]],m=k[c[e+1]],n=k[c[e+2]],o=k[c[e+3]];g=l^m>>>8^m<<24^n>>>16^n<<16^o>>>24^o<<8,c[e]=g>>>24&255,c[e+1]=g>>16&255,c[e+2]=g>>8&255,c[e+3]=255&g}}for(g=c[13],c[13]=c[9],c[9]=c[5],c[5]=c[1],c[1]=g,g=c[14],i=c[10],c[14]=c[6],c[10]=c[2],c[6]=g,c[2]=i,g=c[15],i=c[11],j=c[7],c[15]=c[3],c[11]=g,c[7]=i,c[3]=j,e=0;16>e;++e)c[e]=h[c[e]],c[e]^=b[e];return c}function c(a,b){var c,d,e,f,h=new Uint8Array(16);for(h.set(a),k=0;16>k;++k)h[k]^=b[k];for(j=1;10>j;j++){for(k=0;16>k;++k)h[k]=g[h[k]];e=h[1],h[1]=h[5],h[5]=h[9],h[9]=h[13],h[13]=e,e=h[2],d=h[6],h[2]=h[10],h[6]=h[14],h[10]=e,h[14]=d,e=h[3],d=h[7],c=h[11],h[3]=h[15],h[7]=e,h[11]=d,h[15]=c;for(var k=0;16>k;k+=4){var l=h[k+0],m=h[k+1],n=h[k+2],o=h[k+3];c=l^m^n^o,h[k+0]^=c^i[l^m],h[k+1]^=c^i[m^n],h[k+2]^=c^i[n^o],h[k+3]^=c^i[o^l]}for(k=0,f=16*j;16>k;++k,++f)h[k]^=b[f]}for(k=0;16>k;++k)h[k]=g[h[k]];for(e=h[1],h[1]=h[5],h[5]=h[9],h[9]=h[13],h[13]=e,e=h[2],d=h[6],h[2]=h[10],h[6]=h[14],h[10]=e,h[14]=d,e=h[3],d=h[7],c=h[11],h[3]=h[15],h[7]=e,h[11]=d,h[15]=c,k=0,f=160;16>k;++k,++f)h[k]^=b[f];return h}function d(b){this.key=a(b),this.buffer=new Uint8Array(16),this.bufferPosition=0}function e(a,c){var d,e,f,g=a.length,h=this.buffer,i=this.bufferPosition,j=[],k=this.iv;for(d=0;g>d;++d)if(h[i]=a[d],++i,!(16>i)){var l=b(h,this.key);for(e=0;16>e;++e)l[e]^=k[e];k=h,j.push(l),h=new Uint8Array(16),i=0}if(this.buffer=h,this.bufferLength=i,this.iv=k,0===j.length)return new Uint8Array([]);var m=16*j.length;if(c){var n=j[j.length-1],o=n[15];if(16>=o){for(d=15,f=16-o;d>=f;--d)if(n[d]!==o){o=0;break}m-=o,j[j.length-1]=n.subarray(0,16-o)}}var p=new Uint8Array(m);for(d=0,e=0,f=j.length;f>d;++d,e+=16)p.set(j[d],e);return p}for(var f=new Uint8Array([141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141]),g=new Uint8Array([99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22]),h=new Uint8Array([82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125]),i=new Uint8Array(256),j=0;256>j;j++)128>j?i[j]=j<<1:i[j]=j<<1^27;var k=new Uint32Array([0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795]);return d.prototype={decryptBlock:function(a,b){var c,d=a.length,f=this.buffer,g=this.bufferPosition;for(c=0;16>g&&d>c;++c,++g)f[g]=a[c];return 16>g?(this.bufferLength=g,new Uint8Array([])):(this.iv=f,this.buffer=new Uint8Array(16),this.bufferLength=0,this.decryptBlock=e,this.decryptBlock(a.subarray(16),b))},encrypt:function(a,b){var d,e,f,g=a.length,h=this.buffer,i=this.bufferPosition,j=[];for(b||(b=new Uint8Array(16)),d=0;g>d;++d)if(h[i]=a[d],++i,!(16>i)){for(e=0;16>e;++e)h[e]^=b[e];var k=c(h,this.key);b=k,j.push(k),h=new Uint8Array(16),i=0}if(this.buffer=h,this.bufferLength=i,this.iv=b,0===j.length)return new Uint8Array([]);var l=16*j.length,m=new Uint8Array(l);for(d=0,e=0,f=j.length;f>d;++d,e+=16)m.set(j[d],e);return m}},d}(),nb=function(){function a(a){var b=240,c=new Uint8Array(b),d=1;c.set(a);for(var e=32,g=1;b>e;++g){if(e%32===16)h=f[h],i=f[i],j=f[j],k=f[k];else if(e%32===0){var h=c[e-3],i=c[e-2],j=c[e-1],k=c[e-4];h=f[h],i=f[i],j=f[j],k=f[k],h^=d,(d<<=1)>=256&&(d=255&(27^d))}for(var l=0;4>l;++l)c[e]=h^=c[e-32],e++,c[e]=i^=c[e-32],e++,c[e]=j^=c[e-32],e++,c[e]=k^=c[e-32],e++}return c}function b(a,b){var c=new Uint8Array(16);c.set(a);var d,e,f,h,i,k;for(e=0,f=224;16>e;++e,++f)c[e]^=b[f];for(d=13;d>=1;--d){for(h=c[13],c[13]=c[9],c[9]=c[5],c[5]=c[1],c[1]=h,h=c[14],i=c[10],c[14]=c[6],c[10]=c[2],c[6]=h,c[2]=i,h=c[15],i=c[11],k=c[7],c[15]=c[3],c[11]=h,c[7]=i,c[3]=k,e=0;16>e;++e)c[e]=g[c[e]];for(e=0,f=16*d;16>e;++e,++f)c[e]^=b[f];for(e=0;16>e;e+=4){var l=j[c[e]],m=j[c[e+1]],n=j[c[e+2]],o=j[c[e+3]];h=l^m>>>8^m<<24^n>>>16^n<<16^o>>>24^o<<8,c[e]=h>>>24&255,c[e+1]=h>>16&255,c[e+2]=h>>8&255,c[e+3]=255&h}}for(h=c[13],c[13]=c[9],c[9]=c[5],c[5]=c[1],c[1]=h,h=c[14],i=c[10],c[14]=c[6],c[10]=c[2],c[6]=h,c[2]=i,h=c[15],i=c[11],k=c[7],c[15]=c[3],c[11]=h,c[7]=i,c[3]=k,e=0;16>e;++e)c[e]=g[c[e]],c[e]^=b[e];return c}function c(a,b){var c,d,e,g,j=new Uint8Array(16);for(j.set(a),k=0;16>k;++k)j[k]^=b[k];for(i=1;14>i;i++){for(k=0;16>k;++k)j[k]=f[j[k]];e=j[1],j[1]=j[5],j[5]=j[9],j[9]=j[13],j[13]=e,e=j[2],d=j[6],j[2]=j[10],j[6]=j[14],j[10]=e,j[14]=d,e=j[3],d=j[7],c=j[11],j[3]=j[15],j[7]=e,j[11]=d,j[15]=c;for(var k=0;16>k;k+=4){var l=j[k+0],m=j[k+1],n=j[k+2],o=j[k+3];c=l^m^n^o,j[k+0]^=c^h[l^m],j[k+1]^=c^h[m^n],j[k+2]^=c^h[n^o],j[k+3]^=c^h[o^l]}for(k=0,g=16*i;16>k;++k,++g)j[k]^=b[g]}for(k=0;16>k;++k)j[k]=f[j[k]];for(e=j[1],j[1]=j[5],j[5]=j[9],j[9]=j[13],j[13]=e,e=j[2],d=j[6],j[2]=j[10],j[6]=j[14],j[10]=e,j[14]=d,e=j[3],d=j[7],c=j[11],j[3]=j[15],j[7]=e,j[11]=d,j[15]=c,k=0,g=224;16>k;++k,++g)j[k]^=b[g];return j}function d(b){this.key=a(b),this.buffer=new Uint8Array(16),this.bufferPosition=0}function e(a,c){var d,e,f,g=a.length,h=this.buffer,i=this.bufferPosition,j=[],k=this.iv;for(d=0;g>d;++d)if(h[i]=a[d],
+++i,!(16>i)){var l=b(h,this.key);for(e=0;16>e;++e)l[e]^=k[e];k=h,j.push(l),h=new Uint8Array(16),i=0}if(this.buffer=h,this.bufferLength=i,this.iv=k,0===j.length)return new Uint8Array([]);var m=16*j.length;if(c){var n=j[j.length-1],o=n[15];if(16>=o){for(d=15,f=16-o;d>=f;--d)if(n[d]!==o){o=0;break}m-=o,j[j.length-1]=n.subarray(0,16-o)}}var p=new Uint8Array(m);for(d=0,e=0,f=j.length;f>d;++d,e+=16)p.set(j[d],e);return p}for(var f=(new Uint8Array([141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141]),new Uint8Array([99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22])),g=new Uint8Array([82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125]),h=new Uint8Array(256),i=0;256>i;i++)128>i?h[i]=i<<1:h[i]=i<<1^27;var j=new Uint32Array([0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795]);return d.prototype={decryptBlock:function(a,b,c){var d,f=a.length,g=this.buffer,h=this.bufferPosition;if(c)this.iv=c;else{for(d=0;16>h&&f>d;++d,++h)g[h]=a[d];if(16>h)return this.bufferLength=h,new Uint8Array([]);this.iv=g,a=a.subarray(16)}return this.buffer=new Uint8Array(16),this.bufferLength=0,this.decryptBlock=e,this.decryptBlock(a,b)},encrypt:function(a,b){var d,e,f,g=a.length,h=this.buffer,i=this.bufferPosition,j=[];for(b||(b=new Uint8Array(16)),d=0;g>d;++d)if(h[i]=a[d],++i,!(16>i)){for(e=0;16>e;++e)h[e]^=b[e];var k=c(h,this.key);this.iv=k,j.push(k),h=new Uint8Array(16),i=0}if(this.buffer=h,this.bufferLength=i,this.iv=b,0===j.length)return new Uint8Array([]);var l=16*j.length,m=new Uint8Array(l);for(d=0,e=0,f=j.length;f>d;++d,e+=16)m.set(j[d],e);return m}},d}(),ob=function(){function a(a,b){if(a.length!==b.length)return!1;for(var c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}function b(){}return b.prototype={checkOwnerPassword:function(b,c,d,e){var f=new Uint8Array(b.length+56);f.set(b,0),f.set(c,b.length),f.set(d,b.length+c.length);var g=ib(f,0,f.length);return a(g,e)},checkUserPassword:function(b,c,d){var e=new Uint8Array(b.length+8);e.set(b,0),e.set(c,b.length);var f=ib(e,0,e.length);return a(f,d)},getOwnerKey:function(a,b,c,d){var e=new Uint8Array(a.length+56);e.set(a,0),e.set(b,a.length),e.set(c,a.length+b.length);var f=ib(e,0,e.length),g=new nb(f);return g.decryptBlock(d,!1,new Uint8Array(16))},getUserKey:function(a,b,c){var d=new Uint8Array(a.length+8);d.set(a,0),d.set(b,a.length);var e=ib(d,0,d.length),f=new nb(e);return f.decryptBlock(c,!1,new Uint8Array(16))}},b}(),pb=function(){function a(a,b){var c=new Uint8Array(a.length+b.length);return c.set(a,0),c.set(b,a.length),c}function b(b,c,d){for(var e=ib(c,0,c.length).subarray(0,32),f=[0],g=0;64>g||f[f.length-1]>g-32;){var h=b.length+e.length+d.length,i=new Uint8Array(64*h),j=a(b,e);j=a(j,d);for(var k=0,l=0;64>k;k++,l+=h)i.set(j,l);var m=new mb(e.subarray(0,16));f=m.encrypt(i,e.subarray(16,32));for(var n=0,o=0;16>o;o++)n*=1,n%=3,n+=(f[o]>>>0)%3,n%=3;0===n?e=ib(f,0,f.length):1===n?e=kb(f,0,f.length):2===n&&(e=jb(f,0,f.length)),g++}return e.subarray(0,32)}function c(){}function d(a,b){if(a.length!==b.length)return!1;for(var c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}return c.prototype={hash:function(a,c,d){return b(a,c,d)},checkOwnerPassword:function(a,c,e,f){var g=new Uint8Array(a.length+56);g.set(a,0),g.set(c,a.length),g.set(e,a.length+c.length);var h=b(a,g,e);return d(h,f)},checkUserPassword:function(a,c,e){var f=new Uint8Array(a.length+8);f.set(a,0),f.set(c,a.length);var g=b(a,f,[]);return d(g,e)},getOwnerKey:function(a,c,d,e){var f=new Uint8Array(a.length+56);f.set(a,0),f.set(c,a.length),f.set(d,a.length+c.length);var g=b(a,f,d),h=new nb(g);return h.decryptBlock(e,!1,new Uint8Array(16))},getUserKey:function(a,c,d){var e=new Uint8Array(a.length+8);e.set(a,0),e.set(c,a.length);var f=b(a,e,[]),g=new nb(f);return g.decryptBlock(d,!1,new Uint8Array(16))}},c}(),qb=function(){function a(a,b){this.stringCipherConstructor=a,this.streamCipherConstructor=b}return a.prototype={createStream:function(a,b){var c=new this.streamCipherConstructor;return new Vc(a,b,function(a,b){return c.decryptBlock(a,b)})},decryptString:function(a){var b=new this.stringCipherConstructor,c=j(a);return c=b.decryptBlock(c,!0),i(c)}},a}(),rb=function(){function a(a,b,c,d,e,f,g,h,i,j,k,l){if(b){var m=Math.min(127,b.length);b=b.subarray(0,m)}else b=[];var n;if(n=6===a?new pb:new ob){if(n.checkUserPassword(b,h,g))return n.getUserKey(b,i,k);if(b.length&&n.checkOwnerPassword(b,d,f,c))return n.getOwnerKey(b,e,f,j)}return null}function d(a,b,c,d,e,f,g,h){var j,k,l=40+c.length+a.length,m=new Uint8Array(l),n=0;if(b)for(k=Math.min(32,b.length);k>n;++n)m[n]=b[n];for(j=0;32>n;)m[n++]=i[j++];for(j=0,k=c.length;k>j;++j)m[n++]=c[j];for(m[n++]=255&e,m[n++]=e>>8&255,m[n++]=e>>16&255,m[n++]=e>>>24&255,j=0,k=a.length;k>j;++j)m[n++]=a[j];f>=4&&!h&&(m[n++]=255,m[n++]=255,m[n++]=255,m[n++]=255);var o=gb(m,0,n),p=g>>3;if(f>=3)for(j=0;50>j;++j)o=gb(o,0,p);var q,r,s=o.subarray(0,p);if(f>=3){for(n=0;32>n;++n)m[n]=i[n];for(j=0,k=a.length;k>j;++j)m[n++]=a[j];q=new fb(s),r=q.encryptBlock(gb(m,0,n)),k=s.length;var t,u=new Uint8Array(k);for(j=1;19>=j;++j){for(t=0;k>t;++t)u[t]=s[t]^j;q=new fb(u),r=q.encryptBlock(r)}for(j=0,k=r.length;k>j;++j)if(d[j]!==r[j])return null}else for(q=new fb(s),r=q.encryptBlock(i),j=0,k=r.length;k>j;++j)if(d[j]!==r[j])return null;return s}function e(a,b,c,d){var e,f,g=new Uint8Array(32),h=0;for(f=Math.min(32,a.length);f>h;++h)g[h]=a[h];for(e=0;32>h;)g[h++]=i[e++];var j=gb(g,0,h),k=d>>3;if(c>=3)for(e=0;50>e;++e)j=gb(j,0,j.length);var l,m;if(c>=3){m=b;var n,o=new Uint8Array(k);for(e=19;e>=0;e--){for(n=0;k>n;++n)o[n]=j[n]^e;l=new fb(o),m=l.encryptBlock(m)}}else l=new fb(j.subarray(0,k)),m=l.encryptBlock(b);return m}function f(f,g,h){var i=f.get("Filter");z(i)&&"Standard"===i.name||c("unknown encryption method"),this.dict=f;var l=f.get("V");(!w(l)||1!==l&&2!==l&&4!==l&&5!==l)&&c("unsupported encryption algorithm"),this.algorithm=l;var m=f.get("Length")||40;(!w(m)||40>m||m%8!==0)&&c("invalid key length");var n=j(f.get("O")).subarray(0,32),o=j(f.get("U")).subarray(0,32),p=f.get("P"),q=f.get("R"),r=(4===l||5===l)&&f.get("EncryptMetadata")!==!1;this.encryptMetadata=r;var s,u=j(g);if(h){if(6===q)try{h=t(h)}catch(v){b("CipherTransformFactory: Unable to convert UTF8 encoded password.")}s=j(h)}var x;if(5!==l)x=d(u,s,n,o,p,q,m,r);else{var y=j(f.get("O")).subarray(32,40),A=j(f.get("O")).subarray(40,48),B=j(f.get("U")).subarray(0,48),C=j(f.get("U")).subarray(32,40),D=j(f.get("U")).subarray(40,48),E=j(f.get("OE")),F=j(f.get("UE")),G=j(f.get("Perms"));x=a(q,s,n,y,A,B,o,C,D,E,F,G)}if(!x&&!h)throw new da("No password given",ca.NEED_PASSWORD);if(!x&&h){var H=e(s,n,q,m);x=d(u,H,n,o,p,q,m,r)}if(!x)throw new da("Incorrect Password",ca.INCORRECT_PASSWORD);this.encryptionKey=x,l>=4&&(this.cf=f.get("CF"),this.stmf=f.get("StmF")||k,this.strf=f.get("StrF")||k,this.eff=f.get("EFF")||this.stmf)}function g(a,b,c,d){var e,f,g=new Uint8Array(c.length+9);for(e=0,f=c.length;f>e;++e)g[e]=c[e];g[e++]=255&a,g[e++]=a>>8&255,g[e++]=a>>16&255,g[e++]=255&b,g[e++]=b>>8&255,d&&(g[e++]=115,g[e++]=65,g[e++]=108,g[e++]=84);var h=gb(g,0,e);return h.subarray(0,Math.min(c.length+5,16))}function h(a,b,d,e,f){var h,i=a.get(b.name);return null!==i&&void 0!==i&&(h=i.get("CFM")),h&&"None"!==h.name?"V2"===h.name?function(){return new fb(g(d,e,f,!1))}:"AESV2"===h.name?function(){return new mb(g(d,e,f,!0))}:"AESV3"===h.name?function(){return new nb(f)}:void c("Unknown crypto method"):function(){return new lb}}var i=new Uint8Array([40,191,78,94,78,117,138,65,100,0,78,86,255,250,1,8,46,46,0,182,208,104,62,128,47,12,169,254,100,83,105,122]),k=ya.get("Identity");return f.prototype={createCipherTransform:function(a,b){if(4===this.algorithm||5===this.algorithm)return new qb(h(this.cf,this.stmf,a,b,this.encryptionKey),h(this.cf,this.strf,a,b,this.encryptionKey));var c=g(a,b,this.encryptionKey,!1),d=function(){return new fb(c)};return new qb(d,d)}},f}(),sb={FUNCTION_BASED:1,AXIAL:2,RADIAL:3,FREE_FORM_MESH:4,LATTICE_FORM_MESH:5,COONS_PATCH_MESH:6,TENSOR_PATCH_MESH:7},tb=function(){function a(){c("should not call Pattern constructor")}return a.prototype={getPattern:function(a){c("Should not call Pattern.getStyle: "+a)}},a.parseShading=function(a,c,d,e){var f=D(a)?a.dict:a,g=f.get("ShadingType");try{switch(g){case sb.AXIAL:case sb.RADIAL:return new ub.RadialAxial(f,c,d,e);case sb.FREE_FORM_MESH:case sb.LATTICE_FORM_MESH:case sb.COONS_PATCH_MESH:case sb.TENSOR_PATCH_MESH:return new ub.Mesh(a,c,d,e);default:throw new Error("Unsupported ShadingType: "+g)}}catch(h){if(h instanceof ja)throw h;return aa.notify(_.shadingPattern),b(h),new ub.Dummy}},a}(),ub={};ub.SMALL_NUMBER=.01,ub.RadialAxial=function(){function d(c,d,e,f){this.matrix=d,this.coordsArr=c.get("Coords"),this.shadingType=c.get("ShadingType"),this.type="Pattern";var g=c.get("ColorSpace","CS");g=Xa.parse(g,e,f),this.cs=g;var h=0,i=1;if(c.has("Domain")){var j=c.get("Domain");h=j[0],i=j[1]}var k=!1,l=!1;if(c.has("Extend")){var m=c.get("Extend");k=m[0],l=m[1]}if(!(this.shadingType!==sb.RADIAL||k&&l)){var n=this.coordsArr[0],o=this.coordsArr[1],p=this.coordsArr[2],q=this.coordsArr[3],r=this.coordsArr[4],s=this.coordsArr[5],t=Math.sqrt((n-q)*(n-q)+(o-r)*(o-r));s+t>=p&&p+t>=s&&b("Unsupported radial gradient.")}this.extendStart=k,this.extendEnd=l;var u=c.get("Function"),v=Ta.parseArray(e,u),w=i-h,x=w/10,y=this.colorStops=[];if(h>=i||0>=x)return void a("Bad shading domain.");for(var z,A=new Float32Array(g.numComps),B=new Float32Array(1),C=h;i>=C;C+=x){B[0]=C,v(B,0,A,0),z=g.getRgb(A,0);var D=na.makeCssRgb(z[0],z[1],z[2]);y.push([(C-h)/w,D])}var E="transparent";c.has("Background")&&(z=g.getRgb(c.get("Background"),0),E=na.makeCssRgb(z[0],z[1],z[2])),k||(y.unshift([0,E]),y[1][0]+=ub.SMALL_NUMBER),l||(y[y.length-1][0]-=ub.SMALL_NUMBER,y.push([1,E])),this.colorStops=y}return d.prototype={getIR:function(){var a,b,d,e,f,g=this.coordsArr,h=this.shadingType;h===sb.AXIAL?(b=[g[0],g[1]],d=[g[2],g[3]],e=null,f=null,a="axial"):h===sb.RADIAL?(b=[g[0],g[1]],d=[g[3],g[4]],e=g[2],f=g[5],a="radial"):c("getPattern type unknown: "+h);var i=this.matrix;return i&&(b=na.applyTransform(b,i),d=na.applyTransform(d,i)),["RadialAxial",a,this.colorStops,b,d,e,f]}},d}(),ub.Mesh=function(){function a(a,b){this.stream=a,this.context=b,this.buffer=0,this.bufferLength=0;var c=b.numComps;this.tmpCompsBuf=new Float32Array(c);var d=b.colorSpace.numComps;this.tmpCsCompsBuf=b.colorFn?new Float32Array(d):this.tmpCompsBuf}function b(a,b){for(var c=a.coords,d=a.colors,f=[],g=[],h=0;b.hasData;){var i=b.readFlag(),j=b.readCoordinate(),k=b.readComponents();if(0===h){switch(e(i>=0&&2>=i,"Unknown type4 flag"),i){case 0:h=3;break;case 1:g.push(g[g.length-2],g[g.length-1]),h=1;break;case 2:g.push(g[g.length-3],g[g.length-1]),h=1}f.push(i)}g.push(c.length),c.push(j),d.push(k),h--,b.align()}a.figures.push({type:"triangles",coords:new Int32Array(g),colors:new Int32Array(g)})}function d(a,b,c){for(var d=a.coords,e=a.colors,f=[];b.hasData;){var g=b.readCoordinate(),h=b.readComponents();f.push(d.length),d.push(g),e.push(h)}a.figures.push({type:"lattice",coords:new Int32Array(f),colors:new Int32Array(f),verticesPerRow:c})}function f(a,b){var c=a.figures[b];e("patch"===c.type,"Unexpected patch mesh figure");var d=a.coords,f=a.colors,g=c.coords,h=c.colors,i=Math.min(d[g[0]][0],d[g[3]][0],d[g[12]][0],d[g[15]][0]),j=Math.min(d[g[0]][1],d[g[3]][1],d[g[12]][1],d[g[15]][1]),k=Math.max(d[g[0]][0],d[g[3]][0],d[g[12]][0],d[g[15]][0]),p=Math.max(d[g[0]][1],d[g[3]][1],d[g[12]][1],d[g[15]][1]),q=Math.ceil((k-i)*n/(a.bounds[2]-a.bounds[0]));q=Math.max(l,Math.min(m,q));var r=Math.ceil((p-j)*n/(a.bounds[3]-a.bounds[1]));r=Math.max(l,Math.min(m,r));for(var s=q+1,t=new Int32Array((r+1)*s),u=new Int32Array((r+1)*s),v=0,w=new Uint8Array(3),x=new Uint8Array(3),y=f[h[0]],z=f[h[1]],A=f[h[2]],B=f[h[3]],C=o(r),D=o(q),E=0;r>=E;E++){w[0]=(y[0]*(r-E)+A[0]*E)/r|0,w[1]=(y[1]*(r-E)+A[1]*E)/r|0,w[2]=(y[2]*(r-E)+A[2]*E)/r|0,x[0]=(z[0]*(r-E)+B[0]*E)/r|0,x[1]=(z[1]*(r-E)+B[1]*E)/r|0,x[2]=(z[2]*(r-E)+B[2]*E)/r|0;for(var F=0;q>=F;F++,v++)if(0!==E&&E!==r||0!==F&&F!==q){for(var G=0,H=0,I=0,J=0;3>=J;J++)for(var K=0;3>=K;K++,I++){var L=C[E][J]*D[F][K];G+=d[g[I]][0]*L,H+=d[g[I]][1]*L}t[v]=d.length,d.push([G,H]),u[v]=f.length;var M=new Uint8Array(3);M[0]=(w[0]*(q-F)+x[0]*F)/q|0,M[1]=(w[1]*(q-F)+x[1]*F)/q|0,M[2]=(w[2]*(q-F)+x[2]*F)/q|0,f.push(M)}}t[0]=g[0],u[0]=h[0],t[q]=g[3],u[q]=h[1],t[s*r]=g[12],u[s*r]=h[2],t[s*r+q]=g[15],u[s*r+q]=h[3],a.figures[b]={type:"lattice",coords:t,colors:u,verticesPerRow:s}}function g(a,b){for(var c=a.coords,d=a.colors,f=new Int32Array(16),g=new Int32Array(4);b.hasData;){var h=b.readFlag();e(h>=0&&3>=h,"Unknown type6 flag");var i,j,k=c.length;for(i=0,j=0!==h?8:12;j>i;i++)c.push(b.readCoordinate());var l=d.length;for(i=0,j=0!==h?2:4;j>i;i++)d.push(b.readComponents());var m,n,o,p;switch(h){case 0:f[12]=k+3,f[13]=k+4,f[14]=k+5,f[15]=k+6,f[8]=k+2,f[11]=k+7,f[4]=k+1,f[7]=k+8,f[0]=k,f[1]=k+11,f[2]=k+10,f[3]=k+9,g[2]=l+1,g[3]=l+2,g[0]=l,g[1]=l+3;break;case 1:m=f[12],n=f[13],o=f[14],p=f[15],f[12]=p,f[13]=k+0,f[14]=k+1,f[15]=k+2,f[8]=o,f[11]=k+3,f[4]=n,f[7]=k+4,f[0]=m,f[1]=k+7,f[2]=k+6,f[3]=k+5,m=g[2],n=g[3],g[2]=n,g[3]=l,g[0]=m,g[1]=l+1;break;case 2:m=f[15],n=f[11],f[12]=f[3],f[13]=k+0,f[14]=k+1,f[15]=k+2,f[8]=f[7],f[11]=k+3,f[4]=n,f[7]=k+4,f[0]=m,f[1]=k+7,f[2]=k+6,f[3]=k+5,m=g[3],g[2]=g[1],g[3]=l,g[0]=m,g[1]=l+1;break;case 3:f[12]=f[0],f[13]=k+0,f[14]=k+1,f[15]=k+2,f[8]=f[1],f[11]=k+3,f[4]=f[2],f[7]=k+4,f[0]=f[3],f[1]=k+7,f[2]=k+6,f[3]=k+5,g[2]=g[0],g[3]=l,g[0]=g[1],g[1]=l+1}f[5]=c.length,c.push([(-4*c[f[0]][0]-c[f[15]][0]+6*(c[f[4]][0]+c[f[1]][0])-2*(c[f[12]][0]+c[f[3]][0])+3*(c[f[13]][0]+c[f[7]][0]))/9,(-4*c[f[0]][1]-c[f[15]][1]+6*(c[f[4]][1]+c[f[1]][1])-2*(c[f[12]][1]+c[f[3]][1])+3*(c[f[13]][1]+c[f[7]][1]))/9]),f[6]=c.length,c.push([(-4*c[f[3]][0]-c[f[12]][0]+6*(c[f[2]][0]+c[f[7]][0])-2*(c[f[0]][0]+c[f[15]][0])+3*(c[f[4]][0]+c[f[14]][0]))/9,(-4*c[f[3]][1]-c[f[12]][1]+6*(c[f[2]][1]+c[f[7]][1])-2*(c[f[0]][1]+c[f[15]][1])+3*(c[f[4]][1]+c[f[14]][1]))/9]),f[9]=c.length,c.push([(-4*c[f[12]][0]-c[f[3]][0]+6*(c[f[8]][0]+c[f[13]][0])-2*(c[f[0]][0]+c[f[15]][0])+3*(c[f[11]][0]+c[f[1]][0]))/9,(-4*c[f[12]][1]-c[f[3]][1]+6*(c[f[8]][1]+c[f[13]][1])-2*(c[f[0]][1]+c[f[15]][1])+3*(c[f[11]][1]+c[f[1]][1]))/9]),f[10]=c.length,c.push([(-4*c[f[15]][0]-c[f[0]][0]+6*(c[f[11]][0]+c[f[14]][0])-2*(c[f[12]][0]+c[f[3]][0])+3*(c[f[2]][0]+c[f[8]][0]))/9,(-4*c[f[15]][1]-c[f[0]][1]+6*(c[f[11]][1]+c[f[14]][1])-2*(c[f[12]][1]+c[f[3]][1])+3*(c[f[2]][1]+c[f[8]][1]))/9]),a.figures.push({type:"patch",coords:new Int32Array(f),colors:new Int32Array(g)})}}function h(a,b){for(var c=a.coords,d=a.colors,f=new Int32Array(16),g=new Int32Array(4);b.hasData;){var h=b.readFlag();e(h>=0&&3>=h,"Unknown type7 flag");var i,j,k=c.length;for(i=0,j=0!==h?12:16;j>i;i++)c.push(b.readCoordinate());var l=d.length;for(i=0,j=0!==h?2:4;j>i;i++)d.push(b.readComponents());var m,n,o,p;switch(h){case 0:f[12]=k+3,f[13]=k+4,f[14]=k+5,f[15]=k+6,f[8]=k+2,f[9]=k+13,f[10]=k+14,f[11]=k+7,f[4]=k+1,f[5]=k+12,f[6]=k+15,f[7]=k+8,f[0]=k,f[1]=k+11,f[2]=k+10,f[3]=k+9,g[2]=l+1,g[3]=l+2,g[0]=l,g[1]=l+3;break;case 1:m=f[12],n=f[13],o=f[14],p=f[15],f[12]=p,f[13]=k+0,f[14]=k+1,f[15]=k+2,f[8]=o,f[9]=k+9,f[10]=k+10,f[11]=k+3,f[4]=n,f[5]=k+8,f[6]=k+11,f[7]=k+4,f[0]=m,f[1]=k+7,f[2]=k+6,f[3]=k+5,m=g[2],n=g[3],g[2]=n,g[3]=l,g[0]=m,g[1]=l+1;break;case 2:m=f[15],n=f[11],f[12]=f[3],f[13]=k+0,f[14]=k+1,f[15]=k+2,f[8]=f[7],f[9]=k+9,f[10]=k+10,f[11]=k+3,f[4]=n,f[5]=k+8,f[6]=k+11,f[7]=k+4,f[0]=m,f[1]=k+7,f[2]=k+6,f[3]=k+5,m=g[3],g[2]=g[1],g[3]=l,g[0]=m,g[1]=l+1;break;case 3:f[12]=f[0],f[13]=k+0,f[14]=k+1,f[15]=k+2,f[8]=f[1],f[9]=k+9,f[10]=k+10,f[11]=k+3,f[4]=f[2],f[5]=k+8,f[6]=k+11,f[7]=k+4,f[0]=f[3],f[1]=k+7,f[2]=k+6,f[3]=k+5,g[2]=g[0],g[3]=l,g[0]=g[1],g[1]=l+1}a.figures.push({type:"patch",coords:new Int32Array(f),colors:new Int32Array(g)})}}function i(a){for(var b=a.coords[0][0],c=a.coords[0][1],d=b,e=c,f=1,g=a.coords.length;g>f;f++){var h=a.coords[f][0],i=a.coords[f][1];b=b>h?h:b,c=c>i?i:c,d=h>d?h:d,e=i>e?i:e}a.bounds=[b,c,d,e]}function j(a){var b,c,d,e,f=a.coords,g=new Float32Array(2*f.length);for(b=0,d=0,c=f.length;c>b;b++){var h=f[b];g[d++]=h[0],g[d++]=h[1]}a.coords=g;var i=a.colors,j=new Uint8Array(3*i.length);for(b=0,d=0,c=i.length;c>b;b++){var k=i[b];j[d++]=k[0],j[d++]=k[1],j[d++]=k[2]}a.colors=j;var l=a.figures;for(b=0,c=l.length;c>b;b++){var m=l[b],n=m.coords,o=m.colors;for(d=0,e=n.length;e>d;d++)n[d]*=2,o[d]*=3}}function k(k,l,m,n){e(D(k),"Mesh data is not a stream");var o=k.dict;this.matrix=l,this.shadingType=o.get("ShadingType"),this.type="Pattern",this.bbox=o.get("BBox");var p=o.get("ColorSpace","CS");p=Xa.parse(p,m,n),this.cs=p,this.background=o.has("Background")?p.getRgb(o.get("Background"),0):null;var q=o.get("Function"),r=q?Ta.parseArray(m,q):null;this.coords=[],this.colors=[],this.figures=[];var s={bitsPerCoordinate:o.get("BitsPerCoordinate"),bitsPerComponent:o.get("BitsPerComponent"),bitsPerFlag:o.get("BitsPerFlag"),decode:o.get("Decode"),colorFn:r,colorSpace:p,numComps:r?1:p.numComps},t=new a(k,s),u=!1;switch(this.shadingType){case sb.FREE_FORM_MESH:b(this,t);break;case sb.LATTICE_FORM_MESH:var v=0|o.get("VerticesPerRow");e(v>=2,"Invalid VerticesPerRow"),d(this,t,v);break;case sb.COONS_PATCH_MESH:g(this,t),u=!0;break;case sb.TENSOR_PATCH_MESH:h(this,t),u=!0;break;default:c("Unsupported mesh type.")}if(u){i(this);for(var w=0,x=this.figures.length;x>w;w++)f(this,w)}i(this),j(this)}a.prototype={get hasData(){if(this.stream.end)return this.stream.pos<this.stream.end;if(this.bufferLength>0)return!0;var a=this.stream.getByte();return 0>a?!1:(this.buffer=a,this.bufferLength=8,!0)},readBits:function(a){var b=this.buffer,c=this.bufferLength;if(32===a){if(0===c)return(this.stream.getByte()<<24|this.stream.getByte()<<16|this.stream.getByte()<<8|this.stream.getByte())>>>0;b=b<<24|this.stream.getByte()<<16|this.stream.getByte()<<8|this.stream.getByte();var d=this.stream.getByte();return this.buffer=d&(1<<c)-1,(b<<8-c|(255&d)>>c)>>>0}if(8===a&&0===c)return this.stream.getByte();for(;a>c;)b=b<<8|this.stream.getByte(),c+=8;return c-=a,this.bufferLength=c,this.buffer=b&(1<<c)-1,b>>c},align:function(){this.buffer=0,this.bufferLength=0},readFlag:function(){return this.readBits(this.context.bitsPerFlag)},readCoordinate:function(){var a=this.context.bitsPerCoordinate,b=this.readBits(a),c=this.readBits(a),d=this.context.decode,e=32>a?1/((1<<a)-1):2.3283064365386963e-10;return[b*e*(d[1]-d[0])+d[0],c*e*(d[3]-d[2])+d[2]]},readComponents:function(){for(var a=this.context.numComps,b=this.context.bitsPerComponent,c=32>b?1/((1<<b)-1):2.3283064365386963e-10,d=this.context.decode,e=this.tmpCompsBuf,f=0,g=4;a>f;f++,g+=2){var h=this.readBits(b);e[f]=h*c*(d[g+1]-d[g])+d[g]}var i=this.tmpCsCompsBuf;return this.context.colorFn&&this.context.colorFn(e,0,i,0),this.context.colorSpace.getRgb(i,0)}};var l=3,m=20,n=20,o=function(){function a(a){for(var b=[],c=0;a>=c;c++){var d=c/a,e=1-d;b.push(new Float32Array([e*e*e,3*d*e*e,3*d*d*e,d*d*d]))}return b}var b=[];return function(c){return b[c]||(b[c]=a(c)),b[c]}}();return k.prototype={getIR:function(){return["Mesh",this.shadingType,this.coords,this.colors,this.figures,this.bounds,this.matrix,this.bbox,this.background]}},k}(),ub.Dummy=function(){function a(){this.type="Pattern"}return a.prototype={getIR:function(){return["Dummy"]}},a}();var vb=function(){function d(a,b,c,d,e,f,g){this.pdfManager=a,this.xref=b,this.handler=c,this.pageIndex=d,this.uniquePrefix=e,this.idCounters=f,this.fontCache=g}function f(){this.reset()}var g=20,h=100;f.prototype={check:function(){return++this.checked<h?!1:(this.checked=0,this.endTime<=Date.now())},reset:function(){this.endTime=Date.now()+g,this.checked=0}};var i=Promise.resolve(),j=1,k=2;return d.prototype={hasBlendModes:function(a){if(!B(a))return!1;var b=Object.create(null);a.objId&&(b[a.objId]=!0);for(var c=[a];c.length;){var d,e=c.shift(),f=e.get("ExtGState");if(B(f)){f=f.getAll();for(d in f){var g=f[d],h=g.BM;if(z(h)&&"Normal"!==h.name)return!0}}var i=e.get("XObject");if(B(i)){i=i.getAll();for(d in i){var j=i[d];if(D(j)){if(j.dict.objId){if(b[j.dict.objId])continue;b[j.dict.objId]=!0}var k=j.dict.get("Resources");!B(k)||k.objId&&b[k.objId]||(c.push(k),k.objId&&(b[k.objId]=!0))}}}}return!1},buildFormXObject:function(a,b,c,d,e,f){var g=b.dict.getArray("Matrix"),h=b.dict.getArray("BBox"),i=b.dict.get("Group");if(i){var j,k={matrix:g,bbox:h,smask:c,isolated:!1,knockout:!1},l=i.get("S");z(l)&&"Transparency"===l.name&&(k.isolated=i.get("I")||!1,k.knockout=i.get("K")||!1,j=i.has("CS")?Xa.parse(i.get("CS"),this.xref,a):null),c&&c.backdrop&&(j=j||Xa.singletons.rgb,c.backdrop=j.getRgb(c.backdrop,0)),d.addOp($.beginGroup,[k])}return d.addOp($.paintFormXObjectBegin,[g,h]),this.getOperatorList(b,e,b.dict.get("Resources")||a,d,f).then(function(){d.addOp($.paintFormXObjectEnd,[]),i&&d.addOp($.endGroup,[k])})},buildPaintImageXObject:function(a,c,d,e,f,g){var h=this,i=c.dict,j=i.get("Width","W"),k=i.get("Height","H");if(!(j&&x(j)&&k&&x(k)))return void b("Image dimensions are missing, or not numbers.");if(-1!==PDFJS.maxImageSize&&j*k>PDFJS.maxImageSize)return void b("Image exceeded maximum allowed size and was removed.");var l,m,n=i.get("ImageMask","IM")||!1;if(n){var o=i.get("Width","W"),p=i.get("Height","H"),q=o+7>>3,r=c.getBytes(q*p),s=i.get("Decode","D"),t=!!s&&s[0]>0;return l=Bc.createMask(r,o,p,c instanceof Oc,t),l.cached=!0,m=[l],e.addOp($.paintImageMaskXObject,m),void(f&&(g[f]={fn:$.paintImageMaskXObject,args:m}))}var u=i.get("SMask","SM")||!1,v=i.get("Mask")||!1,w=200;if(d&&!u&&!v&&!(c instanceof Sc)&&w>j+k){var y=new Bc(this.xref,a,c,d,null,null);return l=y.createImageData(!0),void e.addOp($.paintInlineImageXObject,[l])}var z=this.uniquePrefix||"",A="img_"+z+ ++this.idCounters.obj;return e.addDependency(A),m=[A,j,k],!u&&!v&&c instanceof Sc&&c.isNativelySupported(this.xref,a)?(e.addOp($.paintJpegXObject,m),void this.handler.send("obj",[A,this.pageIndex,"JpegStream",c.getIR()])):(Bc.buildImage(h.handler,h.xref,a,c,d).then(function(a){var b=a.createImageData(!1);h.handler.send("obj",[A,h.pageIndex,"Image",b],[b.data.buffer])}).then(void 0,function(a){b("Unable to decode image: "+a),h.handler.send("obj",[A,h.pageIndex,"Image",null])}),e.addOp($.paintImageXObject,m),void(f&&(g[f]={fn:$.paintImageXObject,args:m})))},handleSMask:function(a,b,c,d,e){var f=a.get("G"),g={subtype:a.get("S").name,backdrop:a.get("BC")};return this.buildFormXObject(b,f,g,c,d,e.state.clone())},handleTilingType:function(a,b,c,d,e,f,g){var h=new xb,i=[e.get("Resources"),c],j=Aa.merge(this.xref,i);return this.getOperatorList(d,g,j,h).then(function(){f.addDependencies(h.dependencies),f.addOp(a,J({fnArray:h.fnArray,argsArray:h.argsArray},e,b))})},handleSetFont:function(a,b,c,d,e,f){var g;b&&(b=b.slice(),g=b[0].name);var h=this;return this.loadFont(g,c,this.xref,a).then(function(b){return b.font.isType3Font?b.loadType3Data(h,a,d,e).then(function(){return b}):b}).then(function(a){return f.font=a.font,a.send(h.handler),a.loadedName})},handleText:function(a,b){var c=b.font,d=c.charsToGlyphs(a),e=!!(b.textRenderingMode&U.ADD_TO_PATH_FLAG);if(c.data&&(e||PDFJS.disableFontFace))for(var f=function(a){if(!c.renderer.hasBuiltPath(a)){var b=c.renderer.getPathJs(a);this.handler.send("commonobj",[c.loadedName+"_path_"+a,"FontPath",b])}}.bind(this),g=0,h=d.length;h>g;g++){var i=d[g];if(null!==i){f(i.fontChar);var j=i.accent;j&&j.fontChar&&f(j.fontChar)}}return d},setGState:function(c,d,e,f,g,h){var i=[],j=d.map,k=this,l=Promise.resolve();for(var m in j){var n=j[m];switch(m){case"Type":break;case"LW":case"LC":case"LJ":case"ML":case"D":case"RI":case"FL":case"CA":case"ca":i.push([m,n]);break;case"Font":l=l.then(function(){return k.handleSetFont(c,null,n[0],e,f,h.state).then(function(a){e.addDependency(a),i.push([m,[a,n[1]]])})});break;case"BM":i.push([m,n]);break;case"SMask":if(z(n)&&"None"===n.name){i.push([m,!1]);break}var o=g.fetchIfRef(n);B(o)?(l=l.then(function(){return k.handleSMask(o,c,e,f,h)}),i.push([m,!0])):b("Unsupported SMask type");break;case"OP":case"op":case"OPM":case"BG":case"BG2":case"UCR":case"UCR2":case"TR":case"TR2":case"HT":case"SM":case"SA":case"AIS":case"TK":a("graphic state operator "+m);break;default:a("Unknown graphic state operator "+m)}}return l.then(function(){i.length>=0&&e.addOp($.setGState,[i])})},loadFont:function(a,c,d,f){function g(){return Promise.resolve(new wb("g_font_error",new ec("Font "+a+" is not available"),c))}var h;if(c)e(F(c)),h=c;else{var i=f.get("Font");if(!i)return b("fontRes not available"),g();h=i.getRaw(a)}if(!h)return b("fontRef not available"),g();if(this.fontCache.has(h))return this.fontCache.get(h);if(c=d.fetchIfRef(h),!B(c))return g();if(c.translated)return c.translated;var j=G(),k=this.preEvaluateFont(c,d),l=k.descriptor,m=h.num+"_"+h.gen;if(B(l)){l.fontAliases||(l.fontAliases=Object.create(null));var n=l.fontAliases,o=k.hash;if(n[o]){var p=n[o].aliasRef;if(p&&this.fontCache.has(p))return this.fontCache.putAlias(h,p),this.fontCache.get(h)}n[o]||(n[o]={fontID:dc.getFontID()}),n[o].aliasRef=h,m=n[o].fontID}var q=B(h);q||this.fontCache.put(h,j.promise),c.loadedName="g_font_"+(q?a.replace(/\W/g,""):m),c.translated=j.promise;var r;try{r=Promise.resolve(this.translateFont(k,d))}catch(s){r=Promise.reject(s)}return r.then(function(a){if(void 0!==a.fontType){var b=d.stats.fontTypes;b[a.fontType]=!0}j.resolve(new wb(c.loadedName,a,c))},function(a){aa.notify(_.font);try{var b=k.descriptor,e=b&&b.get("FontFile3"),f=e&&e.get("Subtype"),g=P(k.type,f&&f.name),h=d.stats.fontTypes;h[g]=!0}catch(i){}j.resolve(new wb(c.loadedName,new ec(a instanceof Error?a.message:a),c))}),j.promise},buildPath:function(a,b,c){var d=a.length-1;if(c||(c=[]),0>d||a.fnArray[d]!==$.constructPath)a.addOp($.constructPath,[[b],c]);else{var e=a.argsArray[d];e[0].push(b),Array.prototype.push.apply(e[1],c)}},handleColorN:function(a,b,c,d,e,f,g,h){var i,l=c[c.length-1];if(z(l)&&(i=e.get(l.name))){var m=D(i)?i.dict:i,n=m.get("PatternType");if(n===j){var o=d.base?d.base.getRgb(c,0):null;return this.handleTilingType(b,o,f,i,m,a,g)}if(n===k){var p=m.get("Shading"),q=m.get("Matrix");return i=tb.parseShading(p,q,h,f),a.addOp(b,i.getIR()),Promise.resolve()}return Promise.reject("Unknown PatternType: "+n)}return a.addOp(b,c),Promise.resolve()},getOperatorList:function(d,g,h,j,k){var l=this,m=this.xref,n={};e(j),h=h||Aa.empty;var o=h.get("XObject")||Aa.empty,p=h.get("Pattern")||Aa.empty,q=new yb(k||new Ab),r=new Bb(d,m,q),s=new f;return new Promise(function t(d,f){g.ensureNotTerminated(),s.reset();for(var k,u,v,w,A={};!(k=s.check())&&(A.args=null,r.read(A));){var C=A.args,E=A.fn;switch(0|E){case $.paintXObject:if(C[0].code)break;var F=C[0].name;if(!F){b("XObject must be referred to by name.");continue}if(void 0!==n[F]){j.addOp(n[F].fn,n[F].args),C=null;continue}var G=o.get(F);if(G){e(D(G),"XObject should be a stream");
+var H=G.dict.get("Subtype");if(e(z(H),"XObject should have a Name subtype"),"Form"===H.name)return q.save(),l.buildFormXObject(h,G,null,j,g,q.state.clone()).then(function(){q.restore(),t(d,f)},f);if("Image"===H.name){l.buildPaintImageXObject(h,G,!1,j,F,n),C=null;continue}if("PS"===H.name){a("Ignored XObject subtype PS");continue}c("Unhandled XObject subtype "+H.name)}break;case $.setFont:var I=C[1];return l.handleSetFont(h,C,null,j,g,q.state).then(function(a){j.addDependency(a),j.addOp($.setFont,[a,I]),t(d,f)},f);case $.endInlineImage:var J=C[0].cacheKey;if(J){var K=n[J];if(void 0!==K){j.addOp(K.fn,K.args),C=null;continue}}l.buildPaintImageXObject(h,C[0],!0,j,J,n),C=null;continue;case $.showText:C[0]=l.handleText(C[0],q.state);break;case $.showSpacedText:var L=C[0],M=[],N=L.length,O=q.state;for(u=0;N>u;++u){var P=L[u];y(P)?Array.prototype.push.apply(M,l.handleText(P,O)):x(P)&&M.push(P)}C[0]=M,E=$.showText;break;case $.nextLineShowText:j.addOp($.nextLine),C[0]=l.handleText(C[0],q.state),E=$.showText;break;case $.nextLineSetSpacingShowText:j.addOp($.nextLine),j.addOp($.setWordSpacing,[C.shift()]),j.addOp($.setCharSpacing,[C.shift()]),C[0]=l.handleText(C[0],q.state),E=$.showText;break;case $.setTextRenderingMode:q.state.textRenderingMode=C[0];break;case $.setFillColorSpace:q.state.fillColorSpace=Xa.parse(C[0],m,h);continue;case $.setStrokeColorSpace:q.state.strokeColorSpace=Xa.parse(C[0],m,h);continue;case $.setFillColor:w=q.state.fillColorSpace,C=w.getRgb(C,0),E=$.setFillRGBColor;break;case $.setStrokeColor:w=q.state.strokeColorSpace,C=w.getRgb(C,0),E=$.setStrokeRGBColor;break;case $.setFillGray:q.state.fillColorSpace=Xa.singletons.gray,C=Xa.singletons.gray.getRgb(C,0),E=$.setFillRGBColor;break;case $.setStrokeGray:q.state.strokeColorSpace=Xa.singletons.gray,C=Xa.singletons.gray.getRgb(C,0),E=$.setStrokeRGBColor;break;case $.setFillCMYKColor:q.state.fillColorSpace=Xa.singletons.cmyk,C=Xa.singletons.cmyk.getRgb(C,0),E=$.setFillRGBColor;break;case $.setStrokeCMYKColor:q.state.strokeColorSpace=Xa.singletons.cmyk,C=Xa.singletons.cmyk.getRgb(C,0),E=$.setStrokeRGBColor;break;case $.setFillRGBColor:q.state.fillColorSpace=Xa.singletons.rgb,C=Xa.singletons.rgb.getRgb(C,0);break;case $.setStrokeRGBColor:q.state.strokeColorSpace=Xa.singletons.rgb,C=Xa.singletons.rgb.getRgb(C,0);break;case $.setFillColorN:if(w=q.state.fillColorSpace,"Pattern"===w.name)return l.handleColorN(j,$.setFillColorN,C,w,p,h,g,m).then(function(){t(d,f)},f);C=w.getRgb(C,0),E=$.setFillRGBColor;break;case $.setStrokeColorN:if(w=q.state.strokeColorSpace,"Pattern"===w.name)return l.handleColorN(j,$.setStrokeColorN,C,w,p,h,g,m).then(function(){t(d,f)},f);C=w.getRgb(C,0),E=$.setStrokeRGBColor;break;case $.shadingFill:var Q=h.get("Shading");Q||c("No shading resource found");var R=Q.get(C[0].name);R||c("No shading object found");var S=tb.parseShading(R,null,m,h),T=S.getIR();C=[T],E=$.shadingFill;break;case $.setGState:var U=C[0],V=h.get("ExtGState");if(!B(V)||!V.has(U.name))break;var W=V.get(U.name);return l.setGState(h,W,j,g,m,q).then(function(){t(d,f)},f);case $.moveTo:case $.lineTo:case $.curveTo:case $.curveTo2:case $.curveTo3:case $.closePath:l.buildPath(j,E,C);continue;case $.rectangle:l.buildPath(j,E,C);continue;case $.markPoint:case $.markPointProps:case $.beginMarkedContent:case $.beginMarkedContentProps:case $.endMarkedContent:case $.beginCompat:case $.endCompat:continue}j.addOp(E,C)}if(k)return void i.then(function(){t(d,f)},f);for(u=0,v=r.savedStatesDepth;v>u;u++)j.addOp($.restore,[]);d()})},getTextContent:function(a,b,c,d){function g(){var a=r.font;return a.loadedName in l.styles||(l.styles[a.loadedName]={fontFamily:a.fallbackName,ascent:a.ascent,descent:a.descent,vertical:a.vertical}),{str:[],dir:null,width:0,height:0,transform:null,fontName:a.loadedName}}function h(a){var b=a.str.join(""),c=PDFJS.bidi(b,-1,r.font.vertical);return a.str=c.str,a.dir=c.dir,a}function j(a,b){return p.loadFont(a,b,q,c).then(function(a){r.font=a.font,r.fontMatrix=a.font.fontMatrix||T})}function k(a,b){var c=r.font;if(b=b||g(),!b.transform){var d=[r.fontSize*r.textHScale,0,0,r.fontSize,0,r.textRise];if(c.isType3Font&&r.fontMatrix!==T&&1===r.fontSize){var e=c.bbox[3]-c.bbox[1];e>0&&(e*=r.fontMatrix[3],d[3]*=e)}var f=b.transform=na.transform(r.ctm,na.transform(r.textMatrix,d));c.vertical?b.width=Math.sqrt(f[0]*f[0]+f[1]*f[1]):b.height=Math.sqrt(f[2]*f[2]+f[3]*f[3])}for(var h=0,i=0,j=c.charsToGlyphs(a),k=c.defaultVMetrics,l=0;l<j.length;l++){var m=j[l];if(m){var n=null,o=null,p=null;c.vertical?m.vmetric?(p=m.vmetric[0],n=m.vmetric[1],o=m.vmetric[2]):(p=m.width,n=.5*m.width,o=k[2]):p=m.width;var q=m.unicode;void 0!==Zb[q]&&(q=Zb[q]),q=N(q);var s=0;b.str.length>0&&(s=r.charSpacing);var t=0,u=0;if(c.vertical){var v=p*r.fontMatrix[0];u=v*r.fontSize+s,i+=u}else{var w=p*r.fontMatrix[0];t=(w*r.fontSize+s)*r.textHScale,h+=t}r.translateTextMatrix(t,u),b.str.push(q)}else h+=r.wordSpacing*r.textHScale}var x=r.textLineMatrix[0],y=r.textLineMatrix[1],z=Math.sqrt(x*x+y*y);x=r.ctm[0],y=r.ctm[1];var A=Math.sqrt(x*x+y*y);return c.vertical?b.height+=Math.abs(i*A*z):b.width+=h*A*z,b}d=d||new yb(new zb);var l={items:[],styles:Object.create(null)},m=l.items,n=.3,o=1.5,p=this,q=this.xref;c=q.fetchIfRef(c)||Aa.empty;var r,s=null,t={},u=new Bb(a,q,d),v=new f;return new Promise(function w(a,f){b.ensureNotTerminated(),v.reset();for(var q,x={},y=[];!(q=v.check())&&(y.length=0,x.args=y,u.read(x));){r=d.state;var A=x.fn;switch(y=x.args,0|A){case $.setFont:return r.fontSize=y[1],j(y[0].name).then(function(){w(a,f)},f);case $.setTextRise:r.textRise=y[0];break;case $.setHScale:r.textHScale=y[0]/100;break;case $.setLeading:r.leading=y[0];break;case $.moveText:r.translateTextLineMatrix(y[0],y[1]),r.textMatrix=r.textLineMatrix.slice();break;case $.setLeadingMoveText:r.leading=-y[1],r.translateTextLineMatrix(y[0],y[1]),r.textMatrix=r.textLineMatrix.slice();break;case $.nextLine:r.carriageReturn();break;case $.setTextMatrix:r.setTextMatrix(y[0],y[1],y[2],y[3],y[4],y[5]),r.setTextLineMatrix(y[0],y[1],y[2],y[3],y[4],y[5]);break;case $.setCharSpacing:r.charSpacing=y[0];break;case $.setWordSpacing:r.wordSpacing=y[0];break;case $.beginText:r.textMatrix=ma.slice(),r.textLineMatrix=ma.slice();break;case $.showSpacedText:for(var E,F=y[0],G=g(),H=0,I=F.length;I>H;H++)if("string"==typeof F[H])k(F[H],G);else{var J=F[H]*r.fontSize/1e3;if(r.font.vertical?(E=J*r.textMatrix[3],r.translateTextMatrix(0,E),G.height+=E):(E=J*r.textHScale*r.textMatrix[0],r.translateTextMatrix(E,0),G.width-=E),F[H]<0&&r.font.spaceWidth>0){var K=-F[H]/r.font.spaceWidth;if(K>o)for(K=Math.round(K);K--;)G.str.push(" ");else K>n&&G.str.push(" ")}}m.push(h(G));break;case $.showText:m.push(h(k(y[0])));break;case $.nextLineShowText:r.carriageReturn(),m.push(h(k(y[0])));break;case $.nextLineSetSpacingShowText:r.wordSpacing=y[0],r.charSpacing=y[1],r.carriageReturn(),m.push(h(k(y[2])));break;case $.paintXObject:if(y[0].code)break;s||(s=c.get("XObject")||Aa.empty);var L=y[0].name;if(t.key===L){t.texts&&(na.appendToArray(m,t.texts.items),na.extendObj(l.styles,t.texts.styles));break}var M=s.get(L);if(!M)break;e(D(M),"XObject should be a stream");var N=M.dict.get("Subtype");if(e(z(N),"XObject should have a Name subtype"),"Form"!==N.name){t.key=L,t.texts=null;break}d.save();var O=M.dict.get("Matrix");return C(O)&&6===O.length&&d.transform(O),p.getTextContent(M,b,M.dict.get("Resources")||c,d).then(function(b){na.appendToArray(m,b.items),na.extendObj(l.styles,b.styles),d.restore(),t.key=L,t.texts=b,w(a,f)},f);case $.setGState:var P=y[0],Q=c.get("ExtGState");if(!B(Q)||!Q.has(P.name))break;var R=Q.get(P.name),S=null;for(var T in R)"Font"===T&&(e(!S),S=R[T]);if(S)return r.fontSize=S[1],j(S[0]).then(function(){w(a,f)},f)}}return q?void i.then(function(){w(a,f)},f):void a(l)})},extractDataStructures:function(a,b,d,e){var f=a.get("ToUnicode")||b.get("ToUnicode");if(f&&(e.toUnicode=this.readToUnicode(f)),e.composite){var g=a.get("CIDSystemInfo");B(g)&&(e.cidSystemInfo={registry:g.get("Registry"),ordering:g.get("Ordering"),supplement:g.get("Supplement")});var h=a.get("CIDToGIDMap");D(h)&&(e.cidToGidMap=this.readCidToGidMap(h))}var i,j=[],k=null;if(a.has("Encoding")){if(i=a.get("Encoding"),B(i)){if(k=i.get("BaseEncoding"),k=z(k)?k.name:null,i.has("Differences"))for(var l=i.get("Differences"),m=0,n=0,o=l.length;o>n;n++){var p=l[n];if(x(p))m=p;else if(z(p))j[m++]=p.name;else{if(F(p)){l[n--]=d.fetch(p);continue}c("Invalid entry in 'Differences' array: "+p)}}}else z(i)?k=i.name:c("Encoding is not a Name nor a Dict");"MacRomanEncoding"!==k&&"MacExpertEncoding"!==k&&"WinAnsiEncoding"!==k&&(k=null)}k?e.defaultEncoding=Pb[k].slice():(i="TrueType"===e.type?Pb.WinAnsiEncoding:Pb.StandardEncoding,e.flags&Ob.Symbolic&&(i=Pb.MacRomanEncoding,e.file||(/Symbol/i.test(e.name)?i=Pb.SymbolSetEncoding:/Dingbats/i.test(e.name)&&(i=Pb.ZapfDingbatsEncoding))),e.defaultEncoding=i),e.differences=j,e.baseEncodingName=k,e.dict=a},readToUnicode:function(a){var b,c=a;if(z(c))return b=Hb.create(c,{url:PDFJS.cMapUrl,packed:PDFJS.cMapPacked},null),b instanceof Fb?new ac(0,65535):new _b(b.getMap());if(D(c)){if(b=Hb.create(c,{url:PDFJS.cMapUrl,packed:PDFJS.cMapPacked},null),b instanceof Fb)return new ac(0,65535);var d=new Array(b.length);return b.forEach(function(a,b){for(var c=[],e=0;e<b.length;e+=2){var f=b.charCodeAt(e)<<8|b.charCodeAt(e+1);if(55296===(63488&f)){e+=2;var g=b.charCodeAt(e)<<8|b.charCodeAt(e+1);c.push(((1023&f)<<10)+(1023&g)+65536)}else c.push(f)}d[a]=String.fromCharCode.apply(String,c)}),new _b(d)}return null},readCidToGidMap:function(a){for(var b=a.getBytes(),c=[],d=0,e=b.length;e>d;d++){var f=b[d++]<<8|b[d];if(0!==f){var g=d>>1;c[g]=f}}return c},extractWidths:function(a,b,c,d){var e,f,g,h,i,j,k,l,m=[],n=0,o=[];if(d.composite){if(n=a.get("DW")||1e3,l=a.get("W"))for(f=0,g=l.length;g>f;f++)if(j=l[f++],k=b.fetchIfRef(l[f]),C(k))for(h=0,i=k.length;i>h;h++)m[j++]=k[h];else{var p=l[++f];for(h=j;k>=h;h++)m[h]=p}if(d.vertical){var q=a.get("DW2")||[880,-1e3];if(e=[q[1],.5*n,q[0]],q=a.get("W2"))for(f=0,g=q.length;g>f;f++)if(j=q[f++],k=b.fetchIfRef(q[f]),C(k))for(h=0,i=k.length;i>h;h++)o[j++]=[k[h++],k[h++],k[h]];else{var r=[q[++f],q[++f],q[++f]];for(h=j;k>=h;h++)o[h]=r}}}else{var s=d.firstChar;if(l=a.get("Widths")){for(h=s,f=0,g=l.length;g>f;f++)m[h++]=l[f];n=parseFloat(c.get("MissingWidth"))||0}else{var t=a.get("BaseFont");if(z(t)){var u=this.getBaseFontMetrics(t.name);m=this.buildCharCodeToWidth(u.widths,d),n=u.defaultWidth}}}var v=!0,w=n;for(var x in m){var y=m[x];if(y)if(w){if(w!==y){v=!1;break}}else w=y}v&&(d.flags|=Ob.FixedPitch),d.defaultWidth=n,d.widths=m,d.defaultVMetrics=e,d.vmetrics=o},isSerifFont:function(a){var b=a.split("-")[0];return b in Sb||-1!==b.search(/serif/gi)},getBaseFontMetrics:function(a){var b=0,c=[],d=!1,e=Qb[a]||a;e in Cc||(e=this.isSerifFont(a)?"Times-Roman":"Helvetica");var f=Cc[e];return x(f)?(b=f,d=!0):c=f,{defaultWidth:b,monospace:d,widths:c}},buildCharCodeToWidth:function(a,b){for(var c=Object.create(null),d=b.differences,e=b.defaultEncoding,f=0;256>f;f++)f in d&&a[d[f]]?c[f]=a[d[f]]:f in e&&a[e[f]]&&(c[f]=a[e[f]]);return c},preEvaluateFont:function(a,b){var d=a,f=a.get("Subtype");e(z(f),"invalid font Subtype");var g,h=!1;if("Type0"===f.name){var i=a.get("DescendantFonts");i||c("Descendant fonts are not specified"),a=C(i)?b.fetchIfRef(i[0]):i,f=a.get("Subtype"),e(z(f),"invalid font Subtype"),h=!0}var j=a.get("FontDescriptor");if(j){var k=new jd,l=d.getRaw("Encoding");if(z(l))k.update(l.name);else if(F(l))k.update(l.num+"_"+l.gen);else if(B(l))for(var m=l.getKeys(),n=0,o=m.length;o>n;n++){var p=l.getRaw(m[n]);z(p)?k.update(p.name):F(p)?k.update(p.num+"_"+p.gen):C(p)&&k.update(p.length.toString())}var q=a.get("ToUnicode")||d.get("ToUnicode");if(D(q)){var r=q.str||q;g=r.buffer?new Uint8Array(r.buffer.buffer,0,r.bufferLength):new Uint8Array(r.bytes.buffer,r.start,r.end-r.start),k.update(g)}else z(q)&&k.update(q.name);var s=a.get("Widths")||d.get("Widths");s&&(g=new Uint8Array(new Uint32Array(s).buffer),k.update(g))}return{descriptor:j,dict:a,baseDict:d,composite:h,type:f.name,hash:k?k.hexdigest():""}},translateFont:function(b,d){var f,g=b.baseDict,h=b.dict,i=b.composite,j=b.descriptor,k=b.type,l=i?65535:255;if(!j){if("Type3"!==k){var m=h.get("BaseFont");z(m)||c("Base font is not specified"),m=m.name.replace(/[,_]/g,"-");var n=this.getBaseFontMetrics(m),o=m.split("-")[0],p=(this.isSerifFont(o)?Ob.Serif:0)|(n.monospace?Ob.FixedPitch:0)|(Tb[o]?Ob.Symbolic:Ob.Nonsymbolic);return f={type:k,name:m,widths:n.widths,defaultWidth:n.defaultWidth,flags:p,firstChar:0,lastChar:l},this.extractDataStructures(h,h,d,f),f.widths=this.buildCharCodeToWidth(n.widths,f),new dc(m,null,f)}j=new Aa(null),j.set("FontName",ya.get(k)),j.set("FontBBox",h.get("FontBBox"))}var q=h.get("FirstChar")||0,r=h.get("LastChar")||l,s=j.get("FontName"),t=h.get("BaseFont");if(y(s)&&(s=ya.get(s)),y(t)&&(t=ya.get(t)),"Type3"!==k){var u=s&&s.name,v=t&&t.name;u!==v&&(a("The FontDescriptor's FontName is \""+u+'" but should be the same as the Font\'s BaseFont "'+v+'"'),u&&v&&0===v.indexOf(u)&&(s=t))}s=s||t,e(z(s),"invalid font name");var w=j.get("FontFile","FontFile2","FontFile3");if(w&&w.dict){var x=w.dict.get("Subtype");x&&(x=x.name);var A=w.dict.get("Length1"),B=w.dict.get("Length2")}if(f={type:k,name:s.name,subtype:x,file:w,length1:A,length2:B,loadedName:g.loadedName,composite:i,wideChars:i,fixedPitch:!1,fontMatrix:h.get("FontMatrix")||T,firstChar:q||0,lastChar:r||l,bbox:j.get("FontBBox"),ascent:j.get("Ascent"),descent:j.get("Descent"),xHeight:j.get("XHeight"),capHeight:j.get("CapHeight"),flags:j.get("Flags"),italicAngle:j.get("ItalicAngle"),coded:!1},i){var C=g.get("Encoding");z(C)&&(f.cidEncoding=C.name),f.cMap=Hb.create(C,{url:PDFJS.cMapUrl,packed:PDFJS.cMapPacked},null),f.vertical=f.cMap.vertical}return this.extractDataStructures(h,g,d,f),this.extractWidths(h,d,j,f),"Type3"===k&&(f.isType3Font=!0),new dc(s.name,w,f)}},d}(),wb=function(){function a(a,b,c){this.loadedName=a,this.font=b,this.dict=c,this.type3Loaded=null,this.sent=!1}return a.prototype={send:function(a){if(!this.sent){var b=this.font.exportData();a.send("commonobj",[this.loadedName,"Font",b]),this.sent=!0}},loadType3Data:function(a,c,d,f){if(e(this.font.isType3Font),this.type3Loaded)return this.type3Loaded;for(var g=this.font,h=Promise.resolve(),i=this.dict.get("CharProcs").getAll(),j=this.dict.get("Resources")||c,k=Object.keys(i),l={},m=0,n=k.length;n>m;++m)h=h.then(function(c){var e=i[c],g=new xb;return a.getOperatorList(e,f,j,g).then(function(){l[c]=g.getIR(),d.addDependencies(g.dependencies)},function(a){b('Type3 font resource "'+c+'" is not available');var d=new xb;l[c]=d.getIR()})}.bind(this,k[m]));return this.type3Loaded=h.then(function(){g.charProcOperatorList=l}),this.type3Loaded}},a}(),xb=function(){function a(a){for(var b=[],c=a.fnArray,d=a.argsArray,e=0,f=a.length;f>e;e++)switch(c[e]){case $.paintInlineImageXObject:case $.paintInlineImageXObjectGroup:case $.paintImageMaskXObject:var g=d[e][0];g.cached||b.push(g.data.buffer)}return b}function b(a,b,c){this.messageHandler=b,this.fnArray=[],this.argsArray=[],this.dependencies={},this.pageIndex=c,this.intent=a}var c=1e3,d=c-5;return b.prototype={get length(){return this.argsArray.length},addOp:function(a,b){this.fnArray.push(a),this.argsArray.push(b),this.messageHandler&&(this.fnArray.length>=c?this.flush():this.fnArray.length>=d&&(a===$.restore||a===$.endText)&&this.flush())},addDependency:function(a){a in this.dependencies||(this.dependencies[a]=!0,this.addOp($.dependency,[a]))},addDependencies:function(a){for(var b in a)this.addDependency(b)},addOpList:function(a){na.extendObj(this.dependencies,a.dependencies);for(var b=0,c=a.length;c>b;b++)this.addOp(a.fnArray[b],a.argsArray[b])},getIR:function(){return{fnArray:this.fnArray,argsArray:this.argsArray,length:this.length}},flush:function(b){"oplist"!==this.intent&&(new Cb).optimize(this);var c=a(this);this.messageHandler.send("RenderPageChunk",{operatorList:{fnArray:this.fnArray,argsArray:this.argsArray,lastChunk:b,length:this.length},pageIndex:this.pageIndex,intent:this.intent},c),this.dependencies={},this.fnArray.length=0,this.argsArray.length=0}},b}(),yb=function(){function a(a){this.state=a,this.stateStack=[]}return a.prototype={save:function(){var a=this.state;this.stateStack.push(this.state),this.state=a.clone()},restore:function(){var a=this.stateStack.pop();a&&(this.state=a)},transform:function(a){this.state.ctm=na.transform(this.state.ctm,a)}},a}(),zb=function(){function a(){this.ctm=new Float32Array(ma),this.fontSize=0,this.font=null,this.fontMatrix=T,this.textMatrix=ma.slice(),this.textLineMatrix=ma.slice(),this.charSpacing=0,this.wordSpacing=0,this.leading=0,this.textHScale=1,this.textRise=0}return a.prototype={setTextMatrix:function(a,b,c,d,e,f){var g=this.textMatrix;g[0]=a,g[1]=b,g[2]=c,g[3]=d,g[4]=e,g[5]=f},setTextLineMatrix:function(a,b,c,d,e,f){var g=this.textLineMatrix;g[0]=a,g[1]=b,g[2]=c,g[3]=d,g[4]=e,g[5]=f},translateTextMatrix:function(a,b){var c=this.textMatrix;c[4]=c[0]*a+c[2]*b+c[4],c[5]=c[1]*a+c[3]*b+c[5]},translateTextLineMatrix:function(a,b){var c=this.textLineMatrix;c[4]=c[0]*a+c[2]*b+c[4],c[5]=c[1]*a+c[3]*b+c[5]},calcRenderMatrix:function(a){var b=[this.fontSize*this.textHScale,0,0,this.fontSize,0,this.textRise];return na.transform(a,na.transform(this.textMatrix,b))},carriageReturn:function(){this.translateTextLineMatrix(0,-this.leading),this.textMatrix=this.textLineMatrix.slice()},clone:function(){var a=Object.create(this);return a.textMatrix=this.textMatrix.slice(),a.textLineMatrix=this.textLineMatrix.slice(),a.fontMatrix=this.fontMatrix.slice(),a}},a}(),Ab=function(){function a(){this.ctm=new Float32Array(ma),this.font=null,this.textRenderingMode=U.FILL,this.fillColorSpace=Xa.singletons.gray,this.strokeColorSpace=Xa.singletons.gray}return a.prototype={clone:function(){return Object.create(this)}},a}(),Bb=function(){function c(a,b,c){this.parser=new Fc(new Gc(a,d),!1,b),this.stateManager=c,this.nonProcessedArgs=[]}var d={w:{id:$.setLineWidth,numArgs:1,variableArgs:!1},J:{id:$.setLineCap,numArgs:1,variableArgs:!1},j:{id:$.setLineJoin,numArgs:1,variableArgs:!1},M:{id:$.setMiterLimit,numArgs:1,variableArgs:!1},d:{id:$.setDash,numArgs:2,variableArgs:!1},ri:{id:$.setRenderingIntent,numArgs:1,variableArgs:!1},i:{id:$.setFlatness,numArgs:1,variableArgs:!1},gs:{id:$.setGState,numArgs:1,variableArgs:!1},q:{id:$.save,numArgs:0,variableArgs:!1},Q:{id:$.restore,numArgs:0,variableArgs:!1},cm:{id:$.transform,numArgs:6,variableArgs:!1},m:{id:$.moveTo,numArgs:2,variableArgs:!1},l:{id:$.lineTo,numArgs:2,variableArgs:!1},c:{id:$.curveTo,numArgs:6,variableArgs:!1},v:{id:$.curveTo2,numArgs:4,variableArgs:!1},y:{id:$.curveTo3,numArgs:4,variableArgs:!1},h:{id:$.closePath,numArgs:0,variableArgs:!1},re:{id:$.rectangle,numArgs:4,variableArgs:!1},S:{id:$.stroke,numArgs:0,variableArgs:!1},s:{id:$.closeStroke,numArgs:0,variableArgs:!1},f:{id:$.fill,numArgs:0,variableArgs:!1},F:{id:$.fill,numArgs:0,variableArgs:!1},"f*":{id:$.eoFill,numArgs:0,variableArgs:!1},B:{id:$.fillStroke,numArgs:0,variableArgs:!1},"B*":{id:$.eoFillStroke,numArgs:0,variableArgs:!1},b:{id:$.closeFillStroke,numArgs:0,variableArgs:!1},"b*":{id:$.closeEOFillStroke,numArgs:0,variableArgs:!1},n:{id:$.endPath,numArgs:0,variableArgs:!1},W:{id:$.clip,numArgs:0,variableArgs:!1},"W*":{id:$.eoClip,numArgs:0,variableArgs:!1},BT:{id:$.beginText,numArgs:0,variableArgs:!1},ET:{id:$.endText,numArgs:0,variableArgs:!1},Tc:{id:$.setCharSpacing,numArgs:1,variableArgs:!1},Tw:{id:$.setWordSpacing,numArgs:1,variableArgs:!1},Tz:{id:$.setHScale,numArgs:1,variableArgs:!1},TL:{id:$.setLeading,numArgs:1,variableArgs:!1},Tf:{id:$.setFont,numArgs:2,variableArgs:!1},Tr:{id:$.setTextRenderingMode,numArgs:1,variableArgs:!1},Ts:{id:$.setTextRise,numArgs:1,variableArgs:!1},Td:{id:$.moveText,numArgs:2,variableArgs:!1},TD:{id:$.setLeadingMoveText,numArgs:2,variableArgs:!1},Tm:{id:$.setTextMatrix,numArgs:6,variableArgs:!1},"T*":{id:$.nextLine,numArgs:0,variableArgs:!1},Tj:{id:$.showText,numArgs:1,variableArgs:!1},TJ:{id:$.showSpacedText,numArgs:1,variableArgs:!1},"'":{id:$.nextLineShowText,numArgs:1,variableArgs:!1},'"':{id:$.nextLineSetSpacingShowText,numArgs:3,variableArgs:!1},d0:{id:$.setCharWidth,numArgs:2,variableArgs:!1},d1:{id:$.setCharWidthAndBounds,numArgs:6,variableArgs:!1},CS:{id:$.setStrokeColorSpace,numArgs:1,variableArgs:!1},cs:{id:$.setFillColorSpace,numArgs:1,variableArgs:!1},SC:{id:$.setStrokeColor,numArgs:4,variableArgs:!0},SCN:{id:$.setStrokeColorN,numArgs:33,variableArgs:!0},sc:{id:$.setFillColor,numArgs:4,variableArgs:!0},scn:{id:$.setFillColorN,numArgs:33,variableArgs:!0},G:{id:$.setStrokeGray,numArgs:1,variableArgs:!1},g:{id:$.setFillGray,numArgs:1,variableArgs:!1},RG:{id:$.setStrokeRGBColor,numArgs:3,variableArgs:!1},rg:{id:$.setFillRGBColor,numArgs:3,variableArgs:!1},K:{id:$.setStrokeCMYKColor,numArgs:4,variableArgs:!1},k:{id:$.setFillCMYKColor,numArgs:4,variableArgs:!1},sh:{id:$.shadingFill,numArgs:1,variableArgs:!1},BI:{id:$.beginInlineImage,numArgs:0,variableArgs:!1},ID:{id:$.beginImageData,numArgs:0,variableArgs:!1},EI:{id:$.endInlineImage,numArgs:1,variableArgs:!1},Do:{id:$.paintXObject,numArgs:1,variableArgs:!1},MP:{id:$.markPoint,numArgs:1,variableArgs:!1},DP:{id:$.markPointProps,numArgs:2,variableArgs:!1},BMC:{id:$.beginMarkedContent,numArgs:1,variableArgs:!1},BDC:{id:$.beginMarkedContentProps,numArgs:2,variableArgs:!1},EMC:{id:$.endMarkedContent,numArgs:0,variableArgs:!1},BX:{id:$.beginCompat,numArgs:0,variableArgs:!1},EX:{id:$.endCompat,numArgs:0,variableArgs:!1},BM:null,BD:null,"true":null,fa:null,fal:null,fals:null,"false":null,nu:null,nul:null,"null":null};return c.prototype={get savedStatesDepth(){return this.stateManager.stateStack.length},read:function(c){for(var f=c.args;;){var g=this.parser.getObj();if(A(g)){var h=g.cmd,i=d[h];if(!i){b('Unknown command "'+h+'"');continue}var j=i.id,k=i.numArgs,l=null!==f?f.length:0;if(i.variableArgs)l>k&&a("Command "+j+": expected [0,"+k+"] args, but received "+l+" args");else{if(l!==k){for(var m=this.nonProcessedArgs;l>k;)m.push(f.shift()),l--;for(;k>l&&0!==m.length;)f||(f=[]),f.unshift(m.pop()),l++}if(k>l){a("Command "+j+": because expected "+k+" args, but received "+l+" args; skipping"),f=null;continue}}return this.preprocessCommand(j,f),c.fn=j,c.args=f,!0}if(R(g))return!1;null!==g&&(f||(f=[]),f.push(g instanceof Aa?g.getAll():g),e(f.length<=33,"Too many arguments"))}},preprocessCommand:function(a,b){switch(0|a){case $.save:this.stateManager.save();break;case $.restore:this.stateManager.restore();break;case $.transform:this.stateManager.transform(b)}}},c}(),Cb=function(){function a(a,b,c){for(var d=a,e=0,f=b.length-1;f>e;e++){var g=b[e];d=d[g]||(d[g]=[])}d[b[b.length-1]]=c}function b(a,b,c,d){for(var e=a+2,f=0;b>f;f++){var g=d[e+4*f],h=1===g.length&&g[0];if(!h||1!==h.width||1!==h.height||h.data.length&&(1!==h.data.length||0!==h.data[0]))break;c[e+4*f]=$.paintSolidColorImageMask}return b-f}function c(){}var d=[];return a(d,[$.save,$.transform,$.paintInlineImageXObject,$.restore],function(a){for(var b=10,c=200,d=1e3,e=1,f=a.fnArray,g=a.argsArray,h=a.iCurr,i=h-3,j=h-2,k=h-1,l=i+4,m=f.length;m>l+3&&f[l]===$.save&&f[l+1]===$.transform&&f[l+2]===$.paintInlineImageXObject&&f[l+3]===$.restore;)l+=4;var n=Math.min((l-i)/4,c);if(b>n)return l;var o,p=0,q=[],r=0,s=e,t=e;for(o=0;n>o;o++){var u=g[j+(o<<2)],v=g[k+(o<<2)][0];s+v.width>d&&(p=Math.max(p,s),t+=r+2*e,s=0,r=0),q.push({transform:u,x:s,y:t,w:v.width,h:v.height}),s+=v.width+2*e,r=Math.max(r,v.height)}var w=Math.max(p,s)+e,x=t+r+e,y=new Uint8Array(w*x*4),z=w<<2;for(o=0;n>o;o++){var A=g[k+(o<<2)][0].data,B=q[o].w<<2,C=0,D=q[o].x+q[o].y*w<<2;y.set(A.subarray(0,B),D-z);for(var E=0,F=q[o].h;F>E;E++)y.set(A.subarray(C,C+B),D),C+=B,D+=z;for(y.set(A.subarray(C-B,C),D);D>=0;)A[D-4]=A[D],A[D-3]=A[D+1],A[D-2]=A[D+2],A[D-1]=A[D+3],A[D+B]=A[D+B-4],A[D+B+1]=A[D+B-3],A[D+B+2]=A[D+B-2],A[D+B+3]=A[D+B-1],D-=z}return f.splice(i,4*n,$.paintInlineImageXObjectGroup),g.splice(i,4*n,[{width:w,height:x,kind:V.RGBA_32BPP,data:y},q]),i+1}),a(d,[$.save,$.transform,$.paintImageMaskXObject,$.restore],function(a){for(var c=10,d=100,e=1e3,f=a.fnArray,g=a.argsArray,h=a.iCurr,i=h-3,j=h-2,k=h-1,l=i+4,m=f.length;m>l+3&&f[l]===$.save&&f[l+1]===$.transform&&f[l+2]===$.paintImageMaskXObject&&f[l+3]===$.restore;)l+=4;var n=(l-i)/4;if(n=b(i,n,f,g),c>n)return l;var o,p,q,r=!1,s=g[k][0];if(0===g[j][1]&&0===g[j][2]){r=!0;var t=g[j][0],u=g[j][3];p=j+4;var v=k+4;for(o=1;n>o;o++,p+=4,v+=4)if(q=g[p],g[v][0]!==s||q[0]!==t||0!==q[1]||0!==q[2]||q[3]!==u){c>o?r=!1:n=o;break}}if(r){n=Math.min(n,e);var w=new Float32Array(2*n);for(p=j,o=0;n>o;o++,p+=4)q=g[p],w[o<<1]=q[4],w[(o<<1)+1]=q[5];f.splice(i,4*n,$.paintImageMaskXObjectRepeat),g.splice(i,4*n,[s,t,u,w])}else{n=Math.min(n,d);var x=[];for(o=0;n>o;o++){q=g[j+(o<<2)];var y=g[k+(o<<2)][0];x.push({data:y.data,width:y.width,height:y.height,transform:q})}f.splice(i,4*n,$.paintImageMaskXObjectGroup),g.splice(i,4*n,[x])}return i+1}),a(d,[$.save,$.transform,$.paintImageXObject,$.restore],function(a){var b=3,c=1e3,d=a.fnArray,e=a.argsArray,f=a.iCurr,g=f-3,h=f-2,i=f-1,j=f;if(0!==e[h][1]||0!==e[h][2])return j+1;for(var k=e[i][0],l=e[h][0],m=e[h][3],n=g+4,o=d.length;o>n+3&&d[n]===$.save&&d[n+1]===$.transform&&d[n+2]===$.paintImageXObject&&d[n+3]===$.restore&&e[n+1][0]===l&&0===e[n+1][1]&&0===e[n+1][2]&&e[n+1][3]===m&&e[n+2][0]===k;)n+=4;var p=Math.min((n-g)/4,c);if(b>p)return n;for(var q=new Float32Array(2*p),r=h,s=0;p>s;s++,r+=4){var t=e[r];q[s<<1]=t[4],q[(s<<1)+1]=t[5]}var u=[k,l,m,q];return d.splice(g,4*p,$.paintImageXObjectRepeat),e.splice(g,4*p,u),g+1}),a(d,[$.beginText,$.setFont,$.setTextMatrix,$.showText,$.endText],function(a){for(var b=3,c=1e3,d=a.fnArray,e=a.argsArray,f=a.iCurr,g=f-4,h=f-3,i=f-2,j=f-1,k=f,l=e[h][0],m=e[h][1],n=g+5,o=d.length;o>n+4&&d[n]===$.beginText&&d[n+1]===$.setFont&&d[n+2]===$.setTextMatrix&&d[n+3]===$.showText&&d[n+4]===$.endText&&e[n+1][0]===l&&e[n+1][1]===m;)n+=5;var p=Math.min((n-g)/5,c);if(b>p)return n;var q=g;g>=4&&d[g-4]===d[h]&&d[g-3]===d[i]&&d[g-2]===d[j]&&d[g-1]===d[k]&&e[g-4][0]===l&&e[g-4][1]===m&&(p++,q-=5);for(var r=q+4,s=1;p>s;s++)d.splice(r,3),e.splice(r,3),r+=2;return r+1}),c.prototype={optimize:function(a){for(var b,c=a.fnArray,e=a.argsArray,f={iCurr:0,fnArray:c,argsArray:e},g=0,h=c.length;h>g;)b=(b||d)[c[g]],"function"==typeof b?(f.iCurr=g,g=b(f),b=void 0,h=f.fnArray.length):g++}},c}(),Db=["Adobe-GB1-UCS2","Adobe-CNS1-UCS2","Adobe-Japan1-UCS2","Adobe-Korea1-UCS2","78-EUC-H","78-EUC-V","78-H","78-RKSJ-H","78-RKSJ-V","78-V","78ms-RKSJ-H","78ms-RKSJ-V","83pv-RKSJ-H","90ms-RKSJ-H","90ms-RKSJ-V","90msp-RKSJ-H","90msp-RKSJ-V","90pv-RKSJ-H","90pv-RKSJ-V","Add-H","Add-RKSJ-H","Add-RKSJ-V","Add-V","Adobe-CNS1-0","Adobe-CNS1-1","Adobe-CNS1-2","Adobe-CNS1-3","Adobe-CNS1-4","Adobe-CNS1-5","Adobe-CNS1-6","Adobe-GB1-0","Adobe-GB1-1","Adobe-GB1-2","Adobe-GB1-3","Adobe-GB1-4","Adobe-GB1-5","Adobe-Japan1-0","Adobe-Japan1-1","Adobe-Japan1-2","Adobe-Japan1-3","Adobe-Japan1-4","Adobe-Japan1-5","Adobe-Japan1-6","Adobe-Korea1-0","Adobe-Korea1-1","Adobe-Korea1-2","B5-H","B5-V","B5pc-H","B5pc-V","CNS-EUC-H","CNS-EUC-V","CNS1-H","CNS1-V","CNS2-H","CNS2-V","ETHK-B5-H","ETHK-B5-V","ETen-B5-H","ETen-B5-V","ETenms-B5-H","ETenms-B5-V","EUC-H","EUC-V","Ext-H","Ext-RKSJ-H","Ext-RKSJ-V","Ext-V","GB-EUC-H","GB-EUC-V","GB-H","GB-V","GBK-EUC-H","GBK-EUC-V","GBK2K-H","GBK2K-V","GBKp-EUC-H","GBKp-EUC-V","GBT-EUC-H","GBT-EUC-V","GBT-H","GBT-V","GBTpc-EUC-H","GBTpc-EUC-V","GBpc-EUC-H","GBpc-EUC-V","H","HKdla-B5-H","HKdla-B5-V","HKdlb-B5-H","HKdlb-B5-V","HKgccs-B5-H","HKgccs-B5-V","HKm314-B5-H","HKm314-B5-V","HKm471-B5-H","HKm471-B5-V","HKscs-B5-H","HKscs-B5-V","Hankaku","Hiragana","KSC-EUC-H","KSC-EUC-V","KSC-H","KSC-Johab-H","KSC-Johab-V","KSC-V","KSCms-UHC-H","KSCms-UHC-HW-H","KSCms-UHC-HW-V","KSCms-UHC-V","KSCpc-EUC-H","KSCpc-EUC-V","Katakana","NWP-H","NWP-V","RKSJ-H","RKSJ-V","Roman","UniCNS-UCS2-H","UniCNS-UCS2-V","UniCNS-UTF16-H","UniCNS-UTF16-V","UniCNS-UTF32-H","UniCNS-UTF32-V","UniCNS-UTF8-H","UniCNS-UTF8-V","UniGB-UCS2-H","UniGB-UCS2-V","UniGB-UTF16-H","UniGB-UTF16-V","UniGB-UTF32-H","UniGB-UTF32-V","UniGB-UTF8-H","UniGB-UTF8-V","UniJIS-UCS2-H","UniJIS-UCS2-HW-H","UniJIS-UCS2-HW-V","UniJIS-UCS2-V","UniJIS-UTF16-H","UniJIS-UTF16-V","UniJIS-UTF32-H","UniJIS-UTF32-V","UniJIS-UTF8-H","UniJIS-UTF8-V","UniJIS2004-UTF16-H","UniJIS2004-UTF16-V","UniJIS2004-UTF32-H","UniJIS2004-UTF32-V","UniJIS2004-UTF8-H","UniJIS2004-UTF8-V","UniJISPro-UCS2-HW-V","UniJISPro-UCS2-V","UniJISPro-UTF8-V","UniJISX0213-UTF32-H","UniJISX0213-UTF32-V","UniJISX02132004-UTF32-H","UniJISX02132004-UTF32-V","UniKS-UCS2-H","UniKS-UCS2-V","UniKS-UTF16-H","UniKS-UTF16-V","UniKS-UTF32-H","UniKS-UTF32-V","UniKS-UTF8-H","UniKS-UTF8-V","V","WP-Symbol"],Eb=function(){function a(a){this.codespaceRanges=[[],[],[],[]],this.numCodespaceRanges=0,this._map=[],this.name="",this.vertical=!1,this.useCMap=null,this.builtInCMap=a}return a.prototype={addCodespaceRange:function(a,b,c){this.codespaceRanges[a-1].push(b,c),this.numCodespaceRanges++},mapCidRange:function(a,b,c){for(;b>=a;)this._map[a++]=c++},mapBfRange:function(a,b,c){for(var d=c.length-1;b>=a;)this._map[a++]=c,c=c.substr(0,d)+String.fromCharCode(c.charCodeAt(d)+1)},mapBfRangeToArray:function(a,b,c){for(var d=0,e=c.length;b>=a&&e>d;)this._map[a]=c[d++],++a},mapOne:function(a,b){this._map[a]=b},lookup:function(a){return this._map[a]},contains:function(a){return void 0!==this._map[a]},forEach:function(a){var b,c=this._map,d=c.length;if(65536>=d)for(b=0;d>b;b++)void 0!==c[b]&&a(b,c[b]);else for(b in this._map)a(b,c[b])},charCodeOf:function(a){return this._map.indexOf(a)},getMap:function(){return this._map},readCharCode:function(a,b,c){for(var d=0,e=this.codespaceRanges,f=this.codespaceRanges.length,g=0;f>g;g++){d=(d<<8|a.charCodeAt(b+g))>>>0;for(var h=e[g],i=0,j=h.length;j>i;){var k=h[i++],l=h[i++];if(d>=k&&l>=d)return c.charcode=d,void(c.length=g+1)}}c.charcode=0,c.length=1},get length(){return this._map.length},get isIdentityCMap(){if("Identity-H"!==this.name&&"Identity-V"!==this.name)return!1;if(65536!==this._map.length)return!1;for(var a=0;65536>a;a++)if(this._map[a]!==a)return!1;return!0}},a}(),Fb=function(){function a(a,b){Eb.call(this),this.vertical=a,this.addCodespaceRange(b,0,65535)}return na.inherit(a,Eb,{}),a.prototype={addCodespaceRange:Eb.prototype.addCodespaceRange,mapCidRange:function(a,b,d){c("should not call mapCidRange")},mapBfRange:function(a,b,d){c("should not call mapBfRange")},mapBfRangeToArray:function(a,b,d){c("should not call mapBfRangeToArray")},mapOne:function(a,b){c("should not call mapCidOne")},lookup:function(a){return w(a)&&65535>=a?a:void 0},contains:function(a){return w(a)&&65535>=a},forEach:function(a){for(var b=0;65535>=b;b++)a(b,b)},charCodeOf:function(a){return w(a)&&65535>=a?a:-1},getMap:function(){for(var a=new Array(65536),b=0;65535>=b;b++)a[b]=b;return a},readCharCode:Eb.prototype.readCharCode,get length(){return 65536},get isIdentityCMap(){c("should not access .isIdentityCMap")}},a}(),Gb=function(){function a(a){var b=PDFJS.disableWorker,d=new XMLHttpRequest;if(d.open("GET",a,!1),!b)try{d.responseType="arraybuffer",b="arraybuffer"!==d.responseType}catch(e){b=!0}if(b&&d.overrideMimeType&&d.overrideMimeType("text/plain; charset=x-user-defined"),d.send(null),(b?d.responseText:d.response)||c("Unable to get binary cMap at: "+a),b){var f=Array.prototype.map.call(d.responseText,function(a){return 255&a.charCodeAt(0)});return new Uint8Array(f)}return new Uint8Array(d.response)}function b(a,b){for(var c=0,d=0;b>=d;d++)c=c<<8|a[d];return c>>>0}function d(a,b){return 1===b?String.fromCharCode(a[0],a[1]):3===b?String.fromCharCode(a[0],a[1],a[2],a[3]):String.fromCharCode.apply(null,a.subarray(0,b+1))}function f(a,b,c){for(var d=0,e=c;e>=0;e--)d+=a[e]+b[e],a[e]=255&d,d>>=8}function g(a,b){for(var c=1,d=b;d>=0&&c>0;d--)c+=a[d],a[d]=255&c,c>>=8}function h(a){this.buffer=a,this.pos=0,this.end=a.length,this.tmpBuf=new Uint8Array(l)}function i(i,j,l){var m=a(i),n=new h(m),o=n.readByte();j.vertical=!!(1&o);for(var p,q,r=null,s=new Uint8Array(k),t=new Uint8Array(k),u=new Uint8Array(k),v=new Uint8Array(k),w=new Uint8Array(k);(q=n.readByte())>=0;){
+var x=q>>5;if(7!==x){var y=!!(16&q),z=15&q;e(k>=z+1);var A,B=1,C=n.readNumber();switch(x){case 0:for(n.readHex(s,z),n.readHexNumber(t,z),f(t,s,z),j.addCodespaceRange(z+1,b(s,z),b(t,z)),A=1;C>A;A++)g(t,z),n.readHexNumber(s,z),f(s,t,z),n.readHexNumber(t,z),f(t,s,z),j.addCodespaceRange(z+1,b(s,z),b(t,z));break;case 1:for(n.readHex(s,z),n.readHexNumber(t,z),f(t,s,z),p=n.readNumber(),A=1;C>A;A++)g(t,z),n.readHexNumber(s,z),f(s,t,z),n.readHexNumber(t,z),f(t,s,z),p=n.readNumber();break;case 2:for(n.readHex(u,z),p=n.readNumber(),j.mapOne(b(u,z),p),A=1;C>A;A++)g(u,z),y||(n.readHexNumber(w,z),f(u,w,z)),p=n.readSigned()+(p+1),j.mapOne(b(u,z),p);break;case 3:for(n.readHex(s,z),n.readHexNumber(t,z),f(t,s,z),p=n.readNumber(),j.mapCidRange(b(s,z),b(t,z),p),A=1;C>A;A++)g(t,z),y?s.set(t):(n.readHexNumber(s,z),f(s,t,z)),n.readHexNumber(t,z),f(t,s,z),p=n.readNumber(),j.mapCidRange(b(s,z),b(t,z),p);break;case 4:for(n.readHex(u,B),n.readHex(v,z),j.mapOne(b(u,B),d(v,z)),A=1;C>A;A++)g(u,B),y||(n.readHexNumber(w,B),f(u,w,B)),g(v,z),n.readHexSigned(w,z),f(v,w,z),j.mapOne(b(u,B),d(v,z));break;case 5:for(n.readHex(s,B),n.readHexNumber(t,B),f(t,s,B),n.readHex(v,z),j.mapBfRange(b(s,B),b(t,B),d(v,z)),A=1;C>A;A++)g(t,B),y?s.set(t):(n.readHexNumber(s,B),f(s,t,B)),n.readHexNumber(t,B),f(t,s,B),n.readHex(v,z),j.mapBfRange(b(s,B),b(t,B),d(v,z));break;default:c("Unknown type: "+x)}}else switch(31&q){case 0:n.readString();break;case 1:r=n.readString()}}return r&&l(r),j}function j(){}var k=16,l=19;return h.prototype={readByte:function(){return this.pos>=this.end?-1:this.buffer[this.pos++]},readNumber:function(){var a,b=0;do{var d=this.readByte();0>d&&c("unexpected EOF in bcmap"),a=!(128&d),b=b<<7|127&d}while(!a);return b},readSigned:function(){var a=this.readNumber();return 1&a?~(a>>>1):a>>>1},readHex:function(a,b){a.set(this.buffer.subarray(this.pos,this.pos+b+1)),this.pos+=b+1},readHexNumber:function(a,b){var d,e=this.tmpBuf,f=0;do{var g=this.readByte();0>g&&c("unexpected EOF in bcmap"),d=!(128&g),e[f++]=127&g}while(!d);for(var h=b,i=0,j=0;h>=0;){for(;8>j&&e.length>0;)i=e[--f]<<j|i,j+=7;a[h]=255&i,h--,i>>=8,j-=8}},readHexSigned:function(a,b){this.readHexNumber(a,b);for(var c=1&a[b]?255:0,d=0,e=0;b>=e;e++)d=(1&d)<<8|a[e],a[e]=d>>1^c},readString:function(){for(var a=this.readNumber(),b="",c=0;a>c;c++)b+=String.fromCharCode(this.readNumber());return b}},j.prototype={read:i},j}(),Hb=function(){function a(a){for(var b=0,c=0;c<a.length;c++)b=b<<8|a.charCodeAt(c);return b>>>0}function d(a){y(a)||c("Malformed CMap: expected string.")}function f(a){w(a)||c("Malformed CMap: expected int.")}function g(b,c){for(;;){var e=c.getObj();if(R(e))break;if(A(e,"endbfchar"))return;d(e);var f=a(e);e=c.getObj(),d(e);var g=e;b.mapOne(f,g)}}function h(b,e){for(;;){var f=e.getObj();if(R(f))break;if(A(f,"endbfrange"))return;d(f);var g=a(f);f=e.getObj(),d(f);var h=a(f);if(f=e.getObj(),w(f)||y(f)){var i=w(f)?String.fromCharCode(f):f;b.mapBfRange(g,h,i)}else{if(!A(f,"["))break;f=e.getObj();for(var j=[];!A(f,"]")&&!R(f);)j.push(f),f=e.getObj();b.mapBfRangeToArray(g,h,j)}}c("Invalid bf range.")}function i(b,c){for(;;){var e=c.getObj();if(R(e))break;if(A(e,"endcidchar"))return;d(e);var g=a(e);e=c.getObj(),f(e);var h=e;b.mapOne(g,h)}}function j(b,c){for(;;){var e=c.getObj();if(R(e))break;if(A(e,"endcidrange"))return;d(e);var g=a(e);e=c.getObj(),d(e);var h=a(e);e=c.getObj(),f(e);var i=e;b.mapCidRange(g,h,i)}}function k(b,d){for(;;){var e=d.getObj();if(R(e))break;if(A(e,"endcodespacerange"))return;if(!y(e))break;var f=a(e);if(e=d.getObj(),!y(e))break;var g=a(e);b.addCodespaceRange(e.length,f,g)}c("Invalid codespace range.")}function l(a,b){var c=b.getObj();w(c)&&(a.vertical=!!c)}function m(a,b){var c=b.getObj();z(c)&&y(c.name)&&(a.name=c.name)}function n(a,b,c,d){var e,f;a:for(;;){var n=b.getObj();if(R(n))break;if(z(n))"WMode"===n.name?l(a,b):"CMapName"===n.name&&m(a,b),e=n;else if(A(n))switch(n.cmd){case"endcmap":break a;case"usecmap":z(e)&&(f=e.name);break;case"begincodespacerange":k(a,b);break;case"beginbfchar":g(a,b);break;case"begincidchar":i(a,b);break;case"beginbfrange":h(a,b);break;case"begincidrange":j(a,b)}}!d&&f&&(d=f),d&&o(a,c,d)}function o(a,b,c){if(a.useCMap=q(c,b),0===a.numCodespaceRanges){for(var d=a.useCMap.codespaceRanges,e=0;e<d.length;e++)a.codespaceRanges[e]=d[e].slice();a.numCodespaceRanges=a.useCMap.numCodespaceRanges}a.useCMap.forEach(function(b,c){a.contains(b)||a.mapOne(b,a.useCMap.lookup(b))})}function p(a,b){var c=b.url+a+".bcmap",d=new Eb(!0);return(new Gb).read(c,d,function(a){o(d,b,a)}),d}function q(a,b){if("Identity-H"===a)return new Fb(!1,2);if("Identity-V"===a)return new Fb(!0,2);if(-1===Db.indexOf(a)&&c("Unknown cMap name: "+a),e(b,"built-in cMap parameters are not provided"),b.packed)return p(a,b);var d=new XMLHttpRequest,f=b.url+a;d.open("GET",f,!1),d.send(null),d.responseText||c("Unable to get cMap at: "+f);var g=new Eb(!0),h=new Gc(new Nc(d.responseText));return n(g,h,b,null),g}return{create:function(a,d,e){if(z(a))return q(a.name,d);if(D(a)){var f=new Eb,g=new Gc(a);try{n(f,g,d,e)}catch(h){b("Invalid CMap data. "+h)}return f.isIdentityCMap?q(f.name,d):f}c("Encoding required.")}}}(),Ib=57344,Jb=63743,Kb=!1,Lb=1e3,Mb=!1,Nb=!1,Ob={FixedPitch:1,Serif:2,Symbolic:4,Script:8,Nonsymbolic:32,Italic:64,AllCap:65536,SmallCap:131072,ForceBold:262144},Pb={ExpertEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],MacExpertEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","centoldstyle","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","","threequartersemdash","","questionsmall","","","","","Ethsmall","","","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","","","","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hypheninferior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","asuperior","centsuperior","","","","","Aacutesmall","Agravesmall","Acircumflexsmall","Adieresissmall","Atildesmall","Aringsmall","Ccedillasmall","Eacutesmall","Egravesmall","Ecircumflexsmall","Edieresissmall","Iacutesmall","Igravesmall","Icircumflexsmall","Idieresissmall","Ntildesmall","Oacutesmall","Ogravesmall","Ocircumflexsmall","Odieresissmall","Otildesmall","Uacutesmall","Ugravesmall","Ucircumflexsmall","Udieresissmall","","eightsuperior","fourinferior","threeinferior","sixinferior","eightinferior","seveninferior","Scaronsmall","","centinferior","twoinferior","","Dieresissmall","","Caronsmall","osuperior","fiveinferior","","commainferior","periodinferior","Yacutesmall","","dollarinferior","","Thornsmall","","nineinferior","zeroinferior","Zcaronsmall","AEsmall","Oslashsmall","questiondownsmall","oneinferior","Lslashsmall","","","","","","","Cedillasmall","","","","","","OEsmall","figuredash","hyphensuperior","","","","","exclamdownsmall","","Ydieresissmall","","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","ninesuperior","zerosuperior","","esuperior","rsuperior","tsuperior","","","isuperior","ssuperior","dsuperior","","","","","","lsuperior","Ogoneksmall","Brevesmall","Macronsmall","bsuperior","nsuperior","msuperior","commasuperior","periodsuperior","Dotaccentsmall","Ringsmall"],MacRomanEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","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","bracketleft","backslash","bracketright","asciicircum","underscore","grave","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","braceleft","bar","braceright","asciitilde","","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","space","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron"],StandardEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","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","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","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","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls"],WinAnsiEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","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","bracketleft","backslash","bracketright","asciicircum","underscore","grave","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","braceleft","bar","braceright","asciitilde","bullet","Euro","bullet","quotesinglbase","florin","quotedblbase","ellipsis","dagger","daggerdbl","circumflex","perthousand","Scaron","guilsinglleft","OE","bullet","Zcaron","bullet","bullet","quoteleft","quoteright","quotedblleft","quotedblright","bullet","endash","emdash","tilde","trademark","scaron","guilsinglright","oe","bullet","zcaron","Ydieresis","space","exclamdown","cent","sterling","currency","yen","brokenbar","section","dieresis","copyright","ordfeminine","guillemotleft","logicalnot","hyphen","registered","macron","degree","plusminus","twosuperior","threesuperior","acute","mu","paragraph","periodcentered","cedilla","onesuperior","ordmasculine","guillemotright","onequarter","onehalf","threequarters","questiondown","Agrave","Aacute","Acircumflex","Atilde","Adieresis","Aring","AE","Ccedilla","Egrave","Eacute","Ecircumflex","Edieresis","Igrave","Iacute","Icircumflex","Idieresis","Eth","Ntilde","Ograve","Oacute","Ocircumflex","Otilde","Odieresis","multiply","Oslash","Ugrave","Uacute","Ucircumflex","Udieresis","Yacute","Thorn","germandbls","agrave","aacute","acircumflex","atilde","adieresis","aring","ae","ccedilla","egrave","eacute","ecircumflex","edieresis","igrave","iacute","icircumflex","idieresis","eth","ntilde","ograve","oacute","ocircumflex","otilde","odieresis","divide","oslash","ugrave","uacute","ucircumflex","udieresis","yacute","thorn","ydieresis"],SymbolSetEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","universal","numbersign","existential","percent","ampersand","suchthat","parenleft","parenright","asteriskmath","plus","comma","minus","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","congruent","Alpha","Beta","Chi","Delta","Epsilon","Phi","Gamma","Eta","Iota","theta1","Kappa","Lambda","Mu","Nu","Omicron","Pi","Theta","Rho","Sigma","Tau","Upsilon","sigma1","Omega","Xi","Psi","Zeta","bracketleft","therefore","bracketright","perpendicular","underscore","radicalex","alpha","beta","chi","delta","epsilon","phi","gamma","eta","iota","phi1","kappa","lambda","mu","nu","omicron","pi","theta","rho","sigma","tau","upsilon","omega1","omega","xi","psi","zeta","braceleft","bar","braceright","similar","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Euro","Upsilon1","minute","lessequal","fraction","infinity","florin","club","diamond","heart","spade","arrowboth","arrowleft","arrowup","arrowright","arrowdown","degree","plusminus","second","greaterequal","multiply","proportional","partialdiff","bullet","divide","notequal","equivalence","approxequal","ellipsis","arrowvertex","arrowhorizex","carriagereturn","aleph","Ifraktur","Rfraktur","weierstrass","circlemultiply","circleplus","emptyset","intersection","union","propersuperset","reflexsuperset","notsubset","propersubset","reflexsubset","element","notelement","angle","gradient","registerserif","copyrightserif","trademarkserif","product","radical","dotmath","logicalnot","logicaland","logicalor","arrowdblboth","arrowdblleft","arrowdblup","arrowdblright","arrowdbldown","lozenge","angleleft","registersans","copyrightsans","trademarksans","summation","parenlefttp","parenleftex","parenleftbt","bracketlefttp","bracketleftex","bracketleftbt","bracelefttp","braceleftmid","braceleftbt","braceex","","angleright","integral","integraltp","integralex","integralbt","parenrighttp","parenrightex","parenrightbt","bracketrighttp","bracketrightex","bracketrightbt","bracerighttp","bracerightmid","bracerightbt"],ZapfDingbatsEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","a1","a2","a202","a3","a4","a5","a119","a118","a117","a11","a12","a13","a14","a15","a16","a105","a17","a18","a19","a20","a21","a22","a23","a24","a25","a26","a27","a28","a6","a7","a8","a9","a10","a29","a30","a31","a32","a33","a34","a35","a36","a37","a38","a39","a40","a41","a42","a43","a44","a45","a46","a47","a48","a49","a50","a51","a52","a53","a54","a55","a56","a57","a58","a59","a60","a61","a62","a63","a64","a65","a66","a67","a68","a69","a70","a71","a72","a73","a74","a203","a75","a204","a76","a77","a78","a79","a81","a82","a83","a84","a97","a98","a99","a100","","a89","a90","a93","a94","a91","a92","a205","a85","a206","a86","a87","a88","a95","a96","","","","","","","","","","","","","","","","","","","","a101","a102","a103","a104","a106","a107","a108","a112","a111","a110","a109","a120","a121","a122","a123","a124","a125","a126","a127","a128","a129","a130","a131","a132","a133","a134","a135","a136","a137","a138","a139","a140","a141","a142","a143","a144","a145","a146","a147","a148","a149","a150","a151","a152","a153","a154","a155","a156","a157","a158","a159","a160","a161","a163","a164","a196","a165","a192","a166","a167","a168","a169","a170","a171","a172","a173","a162","a174","a175","a176","a177","a178","a179","a193","a180","a199","a181","a200","a182","","a201","a183","a184","a197","a185","a194","a198","a186","a195","a187","a188","a189","a190","a191"]},Qb={ArialNarrow:"Helvetica","ArialNarrow-Bold":"Helvetica-Bold","ArialNarrow-BoldItalic":"Helvetica-BoldOblique","ArialNarrow-Italic":"Helvetica-Oblique",ArialBlack:"Helvetica","ArialBlack-Bold":"Helvetica-Bold","ArialBlack-BoldItalic":"Helvetica-BoldOblique","ArialBlack-Italic":"Helvetica-Oblique",Arial:"Helvetica","Arial-Bold":"Helvetica-Bold","Arial-BoldItalic":"Helvetica-BoldOblique","Arial-Italic":"Helvetica-Oblique","Arial-BoldItalicMT":"Helvetica-BoldOblique","Arial-BoldMT":"Helvetica-Bold","Arial-ItalicMT":"Helvetica-Oblique",ArialMT:"Helvetica","Courier-Bold":"Courier-Bold","Courier-BoldItalic":"Courier-BoldOblique","Courier-Italic":"Courier-Oblique",CourierNew:"Courier","CourierNew-Bold":"Courier-Bold","CourierNew-BoldItalic":"Courier-BoldOblique","CourierNew-Italic":"Courier-Oblique","CourierNewPS-BoldItalicMT":"Courier-BoldOblique","CourierNewPS-BoldMT":"Courier-Bold","CourierNewPS-ItalicMT":"Courier-Oblique",CourierNewPSMT:"Courier",Helvetica:"Helvetica","Helvetica-Bold":"Helvetica-Bold","Helvetica-BoldItalic":"Helvetica-BoldOblique","Helvetica-BoldOblique":"Helvetica-BoldOblique","Helvetica-Italic":"Helvetica-Oblique","Helvetica-Oblique":"Helvetica-Oblique","Symbol-Bold":"Symbol","Symbol-BoldItalic":"Symbol","Symbol-Italic":"Symbol",TimesNewRoman:"Times-Roman","TimesNewRoman-Bold":"Times-Bold","TimesNewRoman-BoldItalic":"Times-BoldItalic","TimesNewRoman-Italic":"Times-Italic",TimesNewRomanPS:"Times-Roman","TimesNewRomanPS-Bold":"Times-Bold","TimesNewRomanPS-BoldItalic":"Times-BoldItalic","TimesNewRomanPS-BoldItalicMT":"Times-BoldItalic","TimesNewRomanPS-BoldMT":"Times-Bold","TimesNewRomanPS-Italic":"Times-Italic","TimesNewRomanPS-ItalicMT":"Times-Italic",TimesNewRomanPSMT:"Times-Roman","TimesNewRomanPSMT-Bold":"Times-Bold","TimesNewRomanPSMT-BoldItalic":"Times-BoldItalic","TimesNewRomanPSMT-Italic":"Times-Italic"},Rb={CenturyGothic:"Helvetica","CenturyGothic-Bold":"Helvetica-Bold","CenturyGothic-BoldItalic":"Helvetica-BoldOblique","CenturyGothic-Italic":"Helvetica-Oblique",ComicSansMS:"Comic Sans MS","ComicSansMS-Bold":"Comic Sans MS-Bold","ComicSansMS-BoldItalic":"Comic Sans MS-BoldItalic","ComicSansMS-Italic":"Comic Sans MS-Italic",LucidaConsole:"Courier","LucidaConsole-Bold":"Courier-Bold","LucidaConsole-BoldItalic":"Courier-BoldOblique","LucidaConsole-Italic":"Courier-Oblique","MS-Gothic":"MS Gothic","MS-Gothic-Bold":"MS Gothic-Bold","MS-Gothic-BoldItalic":"MS Gothic-BoldItalic","MS-Gothic-Italic":"MS Gothic-Italic","MS-Mincho":"MS Mincho","MS-Mincho-Bold":"MS Mincho-Bold","MS-Mincho-BoldItalic":"MS Mincho-BoldItalic","MS-Mincho-Italic":"MS Mincho-Italic","MS-PGothic":"MS PGothic","MS-PGothic-Bold":"MS PGothic-Bold","MS-PGothic-BoldItalic":"MS PGothic-BoldItalic","MS-PGothic-Italic":"MS PGothic-Italic","MS-PMincho":"MS PMincho","MS-PMincho-Bold":"MS PMincho-Bold","MS-PMincho-BoldItalic":"MS PMincho-BoldItalic","MS-PMincho-Italic":"MS PMincho-Italic",Wingdings:"ZapfDingbats"},Sb={"Adobe Jenson":!0,"Adobe Text":!0,Albertus:!0,Aldus:!0,Alexandria:!0,Algerian:!0,"American Typewriter":!0,Antiqua:!0,Apex:!0,Arno:!0,Aster:!0,Aurora:!0,Baskerville:!0,Bell:!0,Bembo:!0,"Bembo Schoolbook":!0,Benguiat:!0,"Berkeley Old Style":!0,"Bernhard Modern":!0,"Berthold City":!0,Bodoni:!0,"Bauer Bodoni":!0,"Book Antiqua":!0,Bookman:!0,"Bordeaux Roman":!0,"Californian FB":!0,Calisto:!0,Calvert:!0,Capitals:!0,Cambria:!0,Cartier:!0,Caslon:!0,Catull:!0,Centaur:!0,"Century Old Style":!0,"Century Schoolbook":!0,Chaparral:!0,"Charis SIL":!0,Cheltenham:!0,"Cholla Slab":!0,Clarendon:!0,Clearface:!0,Cochin:!0,Colonna:!0,"Computer Modern":!0,"Concrete Roman":!0,Constantia:!0,"Cooper Black":!0,Corona:!0,Ecotype:!0,Egyptienne:!0,Elephant:!0,Excelsior:!0,Fairfield:!0,"FF Scala":!0,Folkard:!0,Footlight:!0,FreeSerif:!0,"Friz Quadrata":!0,Garamond:!0,Gentium:!0,Georgia:!0,Gloucester:!0,"Goudy Old Style":!0,"Goudy Schoolbook":!0,"Goudy Pro Font":!0,Granjon:!0,"Guardian Egyptian":!0,Heather:!0,Hercules:!0,"High Tower Text":!0,Hiroshige:!0,"Hoefler Text":!0,"Humana Serif":!0,Imprint:!0,"Ionic No. 5":!0,Janson:!0,Joanna:!0,Korinna:!0,Lexicon:!0,"Liberation Serif":!0,"Linux Libertine":!0,Literaturnaya:!0,Lucida:!0,"Lucida Bright":!0,Melior:!0,Memphis:!0,Miller:!0,Minion:!0,Modern:!0,"Mona Lisa":!0,"Mrs Eaves":!0,"MS Serif":!0,"Museo Slab":!0,"New York":!0,"Nimbus Roman":!0,"NPS Rawlinson Roadway":!0,Palatino:!0,Perpetua:!0,Plantin:!0,"Plantin Schoolbook":!0,Playbill:!0,"Poor Richard":!0,"Rawlinson Roadway":!0,Renault:!0,Requiem:!0,Rockwell:!0,Roman:!0,"Rotis Serif":!0,Sabon:!0,Scala:!0,Seagull:!0,Sistina:!0,Souvenir:!0,STIX:!0,"Stone Informal":!0,"Stone Serif":!0,Sylfaen:!0,Times:!0,Trajan:!0,"Trinité":!0,"Trump Mediaeval":!0,Utopia:!0,"Vale Type":!0,"Bitstream Vera":!0,"Vera Serif":!0,Versailles:!0,Wanted:!0,Weiss:!0,"Wide Latin":!0,Windsor:!0,XITS:!0},Tb={Dingbats:!0,Symbol:!0,ZapfDingbats:!0},Ub={2:10,3:32,4:33,5:34,6:35,7:36,8:37,9:38,10:39,11:40,12:41,13:42,14:43,15:44,16:45,17:46,18:47,19:48,20:49,21:50,22:51,23:52,24:53,25:54,26:55,27:56,28:57,29:58,30:894,31:60,32:61,33:62,34:63,35:64,36:65,37:66,38:67,39:68,40:69,41:70,42:71,43:72,44:73,45:74,46:75,47:76,48:77,49:78,50:79,51:80,52:81,53:82,54:83,55:84,56:85,57:86,58:87,59:88,60:89,61:90,62:91,63:92,64:93,65:94,66:95,67:96,68:97,69:98,70:99,71:100,72:101,73:102,74:103,75:104,76:105,77:106,78:107,79:108,80:109,81:110,82:111,83:112,84:113,85:114,86:115,87:116,88:117,89:118,90:119,91:120,92:121,93:122,94:123,95:124,96:125,97:126,98:196,99:197,100:199,101:201,102:209,103:214,104:220,105:225,106:224,107:226,108:228,109:227,110:229,111:231,112:233,113:232,114:234,115:235,116:237,117:236,118:238,119:239,120:241,121:243,122:242,123:244,124:246,125:245,126:250,127:249,128:251,129:252,130:8224,131:176,132:162,133:163,134:167,135:8226,136:182,137:223,138:174,139:169,140:8482,141:180,142:168,143:8800,144:198,145:216,146:8734,147:177,148:8804,149:8805,150:165,151:181,152:8706,153:8721,154:8719,156:8747,157:170,158:186,159:8486,160:230,161:248,162:191,163:161,164:172,165:8730,166:402,167:8776,168:8710,169:171,170:187,171:8230,210:218,223:711,224:321,225:322,227:353,229:382,234:253,252:263,253:268,254:269,258:258,260:260,261:261,265:280,266:281,268:283,269:313,275:323,276:324,278:328,284:345,285:346,286:347,292:367,295:377,296:378,298:380,305:963,306:964,307:966,308:8215,309:8252,310:8319,311:8359,312:8592,313:8593,337:9552,493:1039,494:1040,705:1524,706:8362,710:64288,711:64298,759:1617,761:1776,763:1778,775:1652,777:1764,778:1780,779:1781,780:1782,782:771,783:64726,786:8363,788:8532,790:768,791:769,792:768,795:803,797:64336,798:64337,799:64342,800:64343,801:64344,802:64345,803:64362,804:64363,805:64364,2424:7821,2425:7822,2426:7823,2427:7824,2428:7825,2429:7826,2430:7827,2433:7682,2678:8045,2679:8046,2830:1552,2838:686,2840:751,2842:753,2843:754,2844:755,2846:757,2856:767,2857:848,2858:849,2862:853,2863:854,2864:855,2865:861,2866:862,2906:7460,2908:7462,2909:7463,2910:7464,2912:7466,2913:7467,2914:7468,2916:7470,2917:7471,2918:7472,2920:7474,2921:7475,2922:7476,2924:7478,2925:7479,2926:7480,2928:7482,2929:7483,2930:7484,2932:7486,2933:7487,2934:7488,2936:7490,2937:7491,2938:7492,2940:7494,2941:7495,2942:7496,2944:7498,2946:7500,2948:7502,2950:7504,2951:7505,2952:7506,2954:7508,2955:7509,2956:7510,2958:7512,2959:7513,2960:7514,2962:7516,2963:7517,2964:7518,2966:7520,2967:7521,2968:7522,2970:7524,2971:7525,2972:7526,2974:7528,2975:7529,2976:7530,2978:1537,2979:1538,2980:1539,2982:1549,2983:1551,2984:1552,2986:1554,2987:1555,2988:1556,2990:1623,2991:1624,2995:1775,2999:1791,3002:64290,3003:64291,3004:64292,3006:64294,3007:64295,3008:64296,3011:1900,3014:8223,3015:8244,3017:7532,3018:7533,3019:7534,3075:7590,3076:7591,3079:7594,3080:7595,3083:7598,3084:7599,3087:7602,3088:7603,3091:7606,3092:7607,3095:7610,3096:7611,3099:7614,3100:7615,3103:7618,3104:7619,3107:8337,3108:8338,3116:1884,3119:1885,3120:1885,3123:1886,3124:1886,3127:1887,3128:1887,3131:1888,3132:1888,3135:1889,3136:1889,3139:1890,3140:1890,3143:1891,3144:1891,3147:1892,3148:1892,3153:580,3154:581,3157:584,3158:585,3161:588,3162:589,3165:891,3166:892,3169:1274,3170:1275,3173:1278,3174:1279,3181:7622,3182:7623,3282:11799,3316:578,3379:42785,3393:1159,3416:8377},Vb={227:322,264:261,291:346},Wb={63721:169,63193:169,63720:174,63194:174,63722:8482,63195:8482,63729:9127,63730:9128,63731:9129,63740:9131,63741:9132,63742:9133,63726:9121,63727:9122,63728:9123,63737:9124,63738:9125,63739:9126,63723:9115,63724:9116,63725:9117,63734:9118,63735:9119,63736:9120},Xb=[{begin:0,end:127},{begin:128,end:255},{begin:256,end:383},{begin:384,end:591},{begin:592,end:687},{begin:688,end:767},{begin:768,end:879},{begin:880,end:1023},{begin:11392,end:11519},{begin:1024,end:1279},{begin:1328,end:1423},{begin:1424,end:1535},{begin:42240,end:42559},{begin:1536,end:1791},{begin:1984,end:2047},{begin:2304,end:2431},{begin:2432,end:2559},{begin:2560,end:2687},{begin:2688,end:2815},{begin:2816,end:2943},{begin:2944,end:3071},{begin:3072,end:3199},{begin:3200,end:3327},{begin:3328,end:3455},{begin:3584,end:3711},{begin:3712,end:3839},{begin:4256,end:4351},{begin:6912,end:7039},{begin:4352,end:4607},{begin:7680,end:7935},{begin:7936,end:8191},{begin:8192,end:8303},{begin:8304,end:8351},{begin:8352,end:8399},{begin:8400,end:8447},{begin:8448,end:8527},{begin:8528,end:8591},{begin:8592,end:8703},{begin:8704,end:8959},{begin:8960,end:9215},{begin:9216,end:9279},{begin:9280,end:9311},{begin:9312,end:9471},{begin:9472,end:9599},{begin:9600,end:9631},{begin:9632,end:9727},{begin:9728,end:9983},{begin:9984,end:10175},{begin:12288,end:12351},{begin:12352,end:12447},{begin:12448,end:12543},{begin:12544,end:12591},{begin:12592,end:12687},{begin:43072,end:43135},{begin:12800,end:13055},{begin:13056,end:13311},{begin:44032,end:55215},{begin:55296,end:57343},{begin:67840,end:67871},{begin:19968,end:40959},{begin:57344,end:63743},{begin:12736,end:12783},{begin:64256,end:64335},{begin:64336,end:65023},{begin:65056,end:65071},{begin:65040,end:65055},{begin:65104,end:65135},{begin:65136,end:65279},{begin:65280,end:65519},{begin:65520,end:65535},{begin:3840,end:4095},{begin:1792,end:1871},{begin:1920,end:1983},{begin:3456,end:3583},{begin:4096,end:4255},{begin:4608,end:4991},{begin:5024,end:5119},{begin:5120,end:5759},{begin:5760,end:5791},{begin:5792,end:5887},{begin:6016,end:6143},{begin:6144,end:6319},{begin:10240,end:10495},{begin:40960,end:42127},{begin:5888,end:5919},{begin:66304,end:66351},{begin:66352,end:66383},{begin:66560,end:66639},{begin:118784,end:119039},{begin:119808,end:120831},{begin:1044480,end:1048573},{begin:65024,end:65039},{begin:917504,end:917631},{begin:6400,end:6479},{begin:6480,end:6527},{begin:6528,end:6623},{begin:6656,end:6687},{begin:11264,end:11359},{begin:11568,end:11647},{begin:19904,end:19967},{begin:43008,end:43055},{begin:65536,end:65663},{begin:65856,end:65935},{begin:66432,end:66463},{begin:66464,end:66527},{begin:66640,end:66687},{begin:66688,end:66735},{begin:67584,end:67647},{begin:68096,end:68191},{begin:119552,end:119647},{begin:73728,end:74751},{begin:119648,end:119679},{begin:7040,end:7103},{begin:7168,end:7247},{begin:7248,end:7295},{begin:43136,end:43231},{begin:43264,end:43311},{begin:43312,end:43359},{begin:43520,end:43615},{begin:65936,end:65999},{begin:66e3,end:66047},{begin:66208,end:66271},{begin:127024,end:127135}],Yb=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","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","bracketleft","backslash","bracketright","asciicircum","underscore","grave","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","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"],Zb={
+"¨":" ̈","¯":" ̄","´":" ́","µ":"μ","¸":" ̧","IJ":"IJ","ij":"ij","Ŀ":"L·","ŀ":"l·","ʼn":"ʼn","ſ":"s","DŽ":"DŽ","Dž":"Dž","dž":"dž","LJ":"LJ","Lj":"Lj","lj":"lj","NJ":"NJ","Nj":"Nj","nj":"nj","DZ":"DZ","Dz":"Dz","dz":"dz","˘":" ̆","˙":" ̇","˚":" ̊","˛":" ̨","˜":" ̃","˝":" ̋","ͺ":" ͅ","΄":" ́","ϐ":"β","ϑ":"θ","ϒ":"Υ","ϕ":"φ","ϖ":"π","ϰ":"κ","ϱ":"ρ","ϲ":"ς","ϴ":"Θ","ϵ":"ε","Ϲ":"Σ","և":"եւ","ٵ":"اٴ","ٶ":"وٴ","ٷ":"ۇٴ","ٸ":"يٴ","ำ":"ํา","ຳ":"ໍາ","ໜ":"ຫນ","ໝ":"ຫມ","ཷ":"ྲཱྀ","ཹ":"ླཱྀ","ẚ":"aʾ","᾽":" ̓","᾿":" ̓","῀":" ͂","῾":" ̔"," ":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" ","‗":" ̳","․":".","‥":"..","…":"...","″":"′′","‴":"′′′","‶":"‵‵","‷":"‵‵‵","‼":"!!","‾":" ̅","⁇":"??","⁈":"?!","⁉":"!?","⁗":"′′′′"," ":" ","₨":"Rs","℀":"a/c","℁":"a/s","℃":"°C","℅":"c/o","℆":"c/u","ℇ":"Ɛ","℉":"°F","№":"No","℡":"TEL","ℵ":"א","ℶ":"ב","ℷ":"ג","ℸ":"ד","℻":"FAX","Ⅰ":"I","Ⅱ":"II","Ⅲ":"III","Ⅳ":"IV","Ⅴ":"V","Ⅵ":"VI","Ⅶ":"VII","Ⅷ":"VIII","Ⅸ":"IX","Ⅹ":"X","Ⅺ":"XI","Ⅻ":"XII","Ⅼ":"L","Ⅽ":"C","Ⅾ":"D","Ⅿ":"M","ⅰ":"i","ⅱ":"ii","ⅲ":"iii","ⅳ":"iv","ⅴ":"v","ⅵ":"vi","ⅶ":"vii","ⅷ":"viii","ⅸ":"ix","ⅹ":"x","ⅺ":"xi","ⅻ":"xii","ⅼ":"l","ⅽ":"c","ⅾ":"d","ⅿ":"m","∬":"∫∫","∭":"∫∫∫","∯":"∮∮","∰":"∮∮∮","⑴":"(1)","⑵":"(2)","⑶":"(3)","⑷":"(4)","⑸":"(5)","⑹":"(6)","⑺":"(7)","⑻":"(8)","⑼":"(9)","⑽":"(10)","⑾":"(11)","⑿":"(12)","⒀":"(13)","⒁":"(14)","⒂":"(15)","⒃":"(16)","⒄":"(17)","⒅":"(18)","⒆":"(19)","⒇":"(20)","⒈":"1.","⒉":"2.","⒊":"3.","⒋":"4.","⒌":"5.","⒍":"6.","⒎":"7.","⒏":"8.","⒐":"9.","⒑":"10.","⒒":"11.","⒓":"12.","⒔":"13.","⒕":"14.","⒖":"15.","⒗":"16.","⒘":"17.","⒙":"18.","⒚":"19.","⒛":"20.","⒜":"(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)","⨌":"∫∫∫∫","⩴":"::=","⩵":"==","⩶":"===","⺟":"母","⻳":"龟","⼀":"一","⼁":"丨","⼂":"丶","⼃":"丿","⼄":"乙","⼅":"亅","⼆":"二","⼇":"亠","⼈":"人","⼉":"儿","⼊":"入","⼋":"八","⼌":"冂","⼍":"冖","⼎":"冫","⼏":"几","⼐":"凵","⼑":"刀","⼒":"力","⼓":"勹","⼔":"匕","⼕":"匚","⼖":"匸","⼗":"十","⼘":"卜","⼙":"卩","⼚":"厂","⼛":"厶","⼜":"又","⼝":"口","⼞":"囗","⼟":"土","⼠":"士","⼡":"夂","⼢":"夊","⼣":"夕","⼤":"大","⼥":"女","⼦":"子","⼧":"宀","⼨":"寸","⼩":"小","⼪":"尢","⼫":"尸","⼬":"屮","⼭":"山","⼮":"巛","⼯":"工","⼰":"己","⼱":"巾","⼲":"干","⼳":"幺","⼴":"广","⼵":"廴","⼶":"廾","⼷":"弋","⼸":"弓","⼹":"彐","⼺":"彡","⼻":"彳","⼼":"心","⼽":"戈","⼾":"戶","⼿":"手","⽀":"支","⽁":"攴","⽂":"文","⽃":"斗","⽄":"斤","⽅":"方","⽆":"无","⽇":"日","⽈":"曰","⽉":"月","⽊":"木","⽋":"欠","⽌":"止","⽍":"歹","⽎":"殳","⽏":"毋","⽐":"比","⽑":"毛","⽒":"氏","⽓":"气","⽔":"水","⽕":"火","⽖":"爪","⽗":"父","⽘":"爻","⽙":"爿","⽚":"片","⽛":"牙","⽜":"牛","⽝":"犬","⽞":"玄","⽟":"玉","⽠":"瓜","⽡":"瓦","⽢":"甘","⽣":"生","⽤":"用","⽥":"田","⽦":"疋","⽧":"疒","⽨":"癶","⽩":"白","⽪":"皮","⽫":"皿","⽬":"目","⽭":"矛","⽮":"矢","⽯":"石","⽰":"示","⽱":"禸","⽲":"禾","⽳":"穴","⽴":"立","⽵":"竹","⽶":"米","⽷":"糸","⽸":"缶","⽹":"网","⽺":"羊","⽻":"羽","⽼":"老","⽽":"而","⽾":"耒","⽿":"耳","⾀":"聿","⾁":"肉","⾂":"臣","⾃":"自","⾄":"至","⾅":"臼","⾆":"舌","⾇":"舛","⾈":"舟","⾉":"艮","⾊":"色","⾋":"艸","⾌":"虍","⾍":"虫","⾎":"血","⾏":"行","⾐":"衣","⾑":"襾","⾒":"見","⾓":"角","⾔":"言","⾕":"谷","⾖":"豆","⾗":"豕","⾘":"豸","⾙":"貝","⾚":"赤","⾛":"走","⾜":"足","⾝":"身","⾞":"車","⾟":"辛","⾠":"辰","⾡":"辵","⾢":"邑","⾣":"酉","⾤":"釆","⾥":"里","⾦":"金","⾧":"長","⾨":"門","⾩":"阜","⾪":"隶","⾫":"隹","⾬":"雨","⾭":"靑","⾮":"非","⾯":"面","⾰":"革","⾱":"韋","⾲":"韭","⾳":"音","⾴":"頁","⾵":"風","⾶":"飛","⾷":"食","⾸":"首","⾹":"香","⾺":"馬","⾻":"骨","⾼":"高","⾽":"髟","⾾":"鬥","⾿":"鬯","⿀":"鬲","⿁":"鬼","⿂":"魚","⿃":"鳥","⿄":"鹵","⿅":"鹿","⿆":"麥","⿇":"麻","⿈":"黃","⿉":"黍","⿊":"黑","⿋":"黹","⿌":"黽","⿍":"鼎","⿎":"鼓","⿏":"鼠","⿐":"鼻","⿑":"齊","⿒":"齒","⿓":"龍","⿔":"龜","⿕":"龠","〶":"〒","〸":"十","〹":"卄","〺":"卅","゛":" ゙","゜":" ゚","ㄱ":"ᄀ","ㄲ":"ᄁ","ㄳ":"ᆪ","ㄴ":"ᄂ","ㄵ":"ᆬ","ㄶ":"ᆭ","ㄷ":"ᄃ","ㄸ":"ᄄ","ㄹ":"ᄅ","ㄺ":"ᆰ","ㄻ":"ᆱ","ㄼ":"ᆲ","ㄽ":"ᆳ","ㄾ":"ᆴ","ㄿ":"ᆵ","ㅀ":"ᄚ","ㅁ":"ᄆ","ㅂ":"ᄇ","ㅃ":"ᄈ","ㅄ":"ᄡ","ㅅ":"ᄉ","ㅆ":"ᄊ","ㅇ":"ᄋ","ㅈ":"ᄌ","ㅉ":"ᄍ","ㅊ":"ᄎ","ㅋ":"ᄏ","ㅌ":"ᄐ","ㅍ":"ᄑ","ㅎ":"ᄒ","ㅏ":"ᅡ","ㅐ":"ᅢ","ㅑ":"ᅣ","ㅒ":"ᅤ","ㅓ":"ᅥ","ㅔ":"ᅦ","ㅕ":"ᅧ","ㅖ":"ᅨ","ㅗ":"ᅩ","ㅘ":"ᅪ","ㅙ":"ᅫ","ㅚ":"ᅬ","ㅛ":"ᅭ","ㅜ":"ᅮ","ㅝ":"ᅯ","ㅞ":"ᅰ","ㅟ":"ᅱ","ㅠ":"ᅲ","ㅡ":"ᅳ","ㅢ":"ᅴ","ㅣ":"ᅵ","ㅤ":"ᅠ","ㅥ":"ᄔ","ㅦ":"ᄕ","ㅧ":"ᇇ","ㅨ":"ᇈ","ㅩ":"ᇌ","ㅪ":"ᇎ","ㅫ":"ᇓ","ㅬ":"ᇗ","ㅭ":"ᇙ","ㅮ":"ᄜ","ㅯ":"ᇝ","ㅰ":"ᇟ","ㅱ":"ᄝ","ㅲ":"ᄞ","ㅳ":"ᄠ","ㅴ":"ᄢ","ㅵ":"ᄣ","ㅶ":"ᄧ","ㅷ":"ᄩ","ㅸ":"ᄫ","ㅹ":"ᄬ","ㅺ":"ᄭ","ㅻ":"ᄮ","ㅼ":"ᄯ","ㅽ":"ᄲ","ㅾ":"ᄶ","ㅿ":"ᅀ","ㆀ":"ᅇ","ㆁ":"ᅌ","ㆂ":"ᇱ","ㆃ":"ᇲ","ㆄ":"ᅗ","ㆅ":"ᅘ","ㆆ":"ᅙ","ㆇ":"ᆄ","ㆈ":"ᆅ","ㆉ":"ᆈ","ㆊ":"ᆑ","ㆋ":"ᆒ","ㆌ":"ᆔ","ㆍ":"ᆞ","ㆎ":"ᆡ","㈀":"(ᄀ)","㈁":"(ᄂ)","㈂":"(ᄃ)","㈃":"(ᄅ)","㈄":"(ᄆ)","㈅":"(ᄇ)","㈆":"(ᄉ)","㈇":"(ᄋ)","㈈":"(ᄌ)","㈉":"(ᄎ)","㈊":"(ᄏ)","㈋":"(ᄐ)","㈌":"(ᄑ)","㈍":"(ᄒ)","㈎":"(가)","㈏":"(나)","㈐":"(다)","㈑":"(라)","㈒":"(마)","㈓":"(바)","㈔":"(사)","㈕":"(아)","㈖":"(자)","㈗":"(차)","㈘":"(카)","㈙":"(타)","㈚":"(파)","㈛":"(하)","㈜":"(주)","㈝":"(오전)","㈞":"(오후)","㈠":"(一)","㈡":"(二)","㈢":"(三)","㈣":"(四)","㈤":"(五)","㈥":"(六)","㈦":"(七)","㈧":"(八)","㈨":"(九)","㈩":"(十)","㈪":"(月)","㈫":"(火)","㈬":"(水)","㈭":"(木)","㈮":"(金)","㈯":"(土)","㈰":"(日)","㈱":"(株)","㈲":"(有)","㈳":"(社)","㈴":"(名)","㈵":"(特)","㈶":"(財)","㈷":"(祝)","㈸":"(労)","㈹":"(代)","㈺":"(呼)","㈻":"(学)","㈼":"(監)","㈽":"(企)","㈾":"(資)","㈿":"(協)","㉀":"(祭)","㉁":"(休)","㉂":"(自)","㉃":"(至)","㋀":"1月","㋁":"2月","㋂":"3月","㋃":"4月","㋄":"5月","㋅":"6月","㋆":"7月","㋇":"8月","㋈":"9月","㋉":"10月","㋊":"11月","㋋":"12月","㍘":"0点","㍙":"1点","㍚":"2点","㍛":"3点","㍜":"4点","㍝":"5点","㍞":"6点","㍟":"7点","㍠":"8点","㍡":"9点","㍢":"10点","㍣":"11点","㍤":"12点","㍥":"13点","㍦":"14点","㍧":"15点","㍨":"16点","㍩":"17点","㍪":"18点","㍫":"19点","㍬":"20点","㍭":"21点","㍮":"22点","㍯":"23点","㍰":"24点","㏠":"1日","㏡":"2日","㏢":"3日","㏣":"4日","㏤":"5日","㏥":"6日","㏦":"7日","㏧":"8日","㏨":"9日","㏩":"10日","㏪":"11日","㏫":"12日","㏬":"13日","㏭":"14日","㏮":"15日","㏯":"16日","㏰":"17日","㏱":"18日","㏲":"19日","㏳":"20日","㏴":"21日","㏵":"22日","㏶":"23日","㏷":"24日","㏸":"25日","㏹":"26日","㏺":"27日","㏻":"28日","㏼":"29日","㏽":"30日","㏾":"31日","ff":"ff","fi":"fi","fl":"fl","ffi":"ffi","ffl":"ffl","ſt":"ſt","st":"st","ﬓ":"մն","ﬔ":"մե","ﬕ":"մի","ﬖ":"վն","ﬗ":"մխ","ﭏ":"אל","ﭐ":"ٱ","ﭑ":"ٱ","ﭒ":"ٻ","ﭓ":"ٻ","ﭔ":"ٻ","ﭕ":"ٻ","ﭖ":"پ","ﭗ":"پ","ﭘ":"پ","ﭙ":"پ","ﭚ":"ڀ","ﭛ":"ڀ","ﭜ":"ڀ","ﭝ":"ڀ","ﭞ":"ٺ","ﭟ":"ٺ","ﭠ":"ٺ","ﭡ":"ٺ","ﭢ":"ٿ","ﭣ":"ٿ","ﭤ":"ٿ","ﭥ":"ٿ","ﭦ":"ٹ","ﭧ":"ٹ","ﭨ":"ٹ","ﭩ":"ٹ","ﭪ":"ڤ","ﭫ":"ڤ","ﭬ":"ڤ","ﭭ":"ڤ","ﭮ":"ڦ","ﭯ":"ڦ","ﭰ":"ڦ","ﭱ":"ڦ","ﭲ":"ڄ","ﭳ":"ڄ","ﭴ":"ڄ","ﭵ":"ڄ","ﭶ":"ڃ","ﭷ":"ڃ","ﭸ":"ڃ","ﭹ":"ڃ","ﭺ":"چ","ﭻ":"چ","ﭼ":"چ","ﭽ":"چ","ﭾ":"ڇ","ﭿ":"ڇ","ﮀ":"ڇ","ﮁ":"ڇ","ﮂ":"ڍ","ﮃ":"ڍ","ﮄ":"ڌ","ﮅ":"ڌ","ﮆ":"ڎ","ﮇ":"ڎ","ﮈ":"ڈ","ﮉ":"ڈ","ﮊ":"ژ","ﮋ":"ژ","ﮌ":"ڑ","ﮍ":"ڑ","ﮎ":"ک","ﮏ":"ک","ﮐ":"ک","ﮑ":"ک","ﮒ":"گ","ﮓ":"گ","ﮔ":"گ","ﮕ":"گ","ﮖ":"ڳ","ﮗ":"ڳ","ﮘ":"ڳ","ﮙ":"ڳ","ﮚ":"ڱ","ﮛ":"ڱ","ﮜ":"ڱ","ﮝ":"ڱ","ﮞ":"ں","ﮟ":"ں","ﮠ":"ڻ","ﮡ":"ڻ","ﮢ":"ڻ","ﮣ":"ڻ","ﮤ":"ۀ","ﮥ":"ۀ","ﮦ":"ہ","ﮧ":"ہ","ﮨ":"ہ","ﮩ":"ہ","ﮪ":"ھ","ﮫ":"ھ","ﮬ":"ھ","ﮭ":"ھ","ﮮ":"ے","ﮯ":"ے","ﮰ":"ۓ","ﮱ":"ۓ","ﯓ":"ڭ","ﯔ":"ڭ","ﯕ":"ڭ","ﯖ":"ڭ","ﯗ":"ۇ","ﯘ":"ۇ","ﯙ":"ۆ","ﯚ":"ۆ","ﯛ":"ۈ","ﯜ":"ۈ","ﯝ":"ٷ","ﯞ":"ۋ","ﯟ":"ۋ","ﯠ":"ۅ","ﯡ":"ۅ","ﯢ":"ۉ","ﯣ":"ۉ","ﯤ":"ې","ﯥ":"ې","ﯦ":"ې","ﯧ":"ې","ﯨ":"ى","ﯩ":"ى","ﯪ":"ئا","ﯫ":"ئا","ﯬ":"ئە","ﯭ":"ئە","ﯮ":"ئو","ﯯ":"ئو","ﯰ":"ئۇ","ﯱ":"ئۇ","ﯲ":"ئۆ","ﯳ":"ئۆ","ﯴ":"ئۈ","ﯵ":"ئۈ","ﯶ":"ئې","ﯷ":"ئې","ﯸ":"ئې","ﯹ":"ئى","ﯺ":"ئى","ﯻ":"ئى","ﯼ":"ی","ﯽ":"ی","ﯾ":"ی","ﯿ":"ی","ﰀ":"ئج","ﰁ":"ئح","ﰂ":"ئم","ﰃ":"ئى","ﰄ":"ئي","ﰅ":"بج","ﰆ":"بح","ﰇ":"بخ","ﰈ":"بم","ﰉ":"بى","ﰊ":"بي","ﰋ":"تج","ﰌ":"تح","ﰍ":"تخ","ﰎ":"تم","ﰏ":"تى","ﰐ":"تي","ﰑ":"ثج","ﰒ":"ثم","ﰓ":"ثى","ﰔ":"ثي","ﰕ":"جح","ﰖ":"جم","ﰗ":"حج","ﰘ":"حم","ﰙ":"خج","ﰚ":"خح","ﰛ":"خم","ﰜ":"سج","ﰝ":"سح","ﰞ":"سخ","ﰟ":"سم","ﰠ":"صح","ﰡ":"صم","ﰢ":"ضج","ﰣ":"ضح","ﰤ":"ضخ","ﰥ":"ضم","ﰦ":"طح","ﰧ":"طم","ﰨ":"ظم","ﰩ":"عج","ﰪ":"عم","ﰫ":"غج","ﰬ":"غم","ﰭ":"فج","ﰮ":"فح","ﰯ":"فخ","ﰰ":"فم","ﰱ":"فى","ﰲ":"في","ﰳ":"قح","ﰴ":"قم","ﰵ":"قى","ﰶ":"قي","ﰷ":"كا","ﰸ":"كج","ﰹ":"كح","ﰺ":"كخ","ﰻ":"كل","ﰼ":"كم","ﰽ":"كى","ﰾ":"كي","ﰿ":"لج","ﱀ":"لح","ﱁ":"لخ","ﱂ":"لم","ﱃ":"لى","ﱄ":"لي","ﱅ":"مج","ﱆ":"مح","ﱇ":"مخ","ﱈ":"مم","ﱉ":"مى","ﱊ":"مي","ﱋ":"نج","ﱌ":"نح","ﱍ":"نخ","ﱎ":"نم","ﱏ":"نى","ﱐ":"ني","ﱑ":"هج","ﱒ":"هم","ﱓ":"هى","ﱔ":"هي","ﱕ":"يج","ﱖ":"يح","ﱗ":"يخ","ﱘ":"يم","ﱙ":"يى","ﱚ":"يي","ﱛ":"ذٰ","ﱜ":"رٰ","ﱝ":"ىٰ","ﱞ":" ٌّ","ﱟ":" ٍّ","ﱠ":" َّ","ﱡ":" ُّ","ﱢ":" ِّ","ﱣ":" ّٰ","ﱤ":"ئر","ﱥ":"ئز","ﱦ":"ئم","ﱧ":"ئن","ﱨ":"ئى","ﱩ":"ئي","ﱪ":"بر","ﱫ":"بز","ﱬ":"بم","ﱭ":"بن","ﱮ":"بى","ﱯ":"بي","ﱰ":"تر","ﱱ":"تز","ﱲ":"تم","ﱳ":"تن","ﱴ":"تى","ﱵ":"تي","ﱶ":"ثر","ﱷ":"ثز","ﱸ":"ثم","ﱹ":"ثن","ﱺ":"ثى","ﱻ":"ثي","ﱼ":"فى","ﱽ":"في","ﱾ":"قى","ﱿ":"قي","ﲀ":"كا","ﲁ":"كل","ﲂ":"كم","ﲃ":"كى","ﲄ":"كي","ﲅ":"لم","ﲆ":"لى","ﲇ":"لي","ﲈ":"ما","ﲉ":"مم","ﲊ":"نر","ﲋ":"نز","ﲌ":"نم","ﲍ":"نن","ﲎ":"نى","ﲏ":"ني","ﲐ":"ىٰ","ﲑ":"ير","ﲒ":"يز","ﲓ":"يم","ﲔ":"ين","ﲕ":"يى","ﲖ":"يي","ﲗ":"ئج","ﲘ":"ئح","ﲙ":"ئخ","ﲚ":"ئم","ﲛ":"ئه","ﲜ":"بج","ﲝ":"بح","ﲞ":"بخ","ﲟ":"بم","ﲠ":"به","ﲡ":"تج","ﲢ":"تح","ﲣ":"تخ","ﲤ":"تم","ﲥ":"ته","ﲦ":"ثم","ﲧ":"جح","ﲨ":"جم","ﲩ":"حج","ﲪ":"حم","ﲫ":"خج","ﲬ":"خم","ﲭ":"سج","ﲮ":"سح","ﲯ":"سخ","ﲰ":"سم","ﲱ":"صح","ﲲ":"صخ","ﲳ":"صم","ﲴ":"ضج","ﲵ":"ضح","ﲶ":"ضخ","ﲷ":"ضم","ﲸ":"طح","ﲹ":"ظم","ﲺ":"عج","ﲻ":"عم","ﲼ":"غج","ﲽ":"غم","ﲾ":"فج","ﲿ":"فح","ﳀ":"فخ","ﳁ":"فم","ﳂ":"قح","ﳃ":"قم","ﳄ":"كج","ﳅ":"كح","ﳆ":"كخ","ﳇ":"كل","ﳈ":"كم","ﳉ":"لج","ﳊ":"لح","ﳋ":"لخ","ﳌ":"لم","ﳍ":"له","ﳎ":"مج","ﳏ":"مح","ﳐ":"مخ","ﳑ":"مم","ﳒ":"نج","ﳓ":"نح","ﳔ":"نخ","ﳕ":"نم","ﳖ":"نه","ﳗ":"هج","ﳘ":"هم","ﳙ":"هٰ","ﳚ":"يج","ﳛ":"يح","ﳜ":"يخ","ﳝ":"يم","ﳞ":"يه","ﳟ":"ئم","ﳠ":"ئه","ﳡ":"بم","ﳢ":"به","ﳣ":"تم","ﳤ":"ته","ﳥ":"ثم","ﳦ":"ثه","ﳧ":"سم","ﳨ":"سه","ﳩ":"شم","ﳪ":"شه","ﳫ":"كل","ﳬ":"كم","ﳭ":"لم","ﳮ":"نم","ﳯ":"نه","ﳰ":"يم","ﳱ":"يه","ﳲ":"ـَّ","ﳳ":"ـُّ","ﳴ":"ـِّ","ﳵ":"طى","ﳶ":"طي","ﳷ":"عى","ﳸ":"عي","ﳹ":"غى","ﳺ":"غي","ﳻ":"سى","ﳼ":"سي","ﳽ":"شى","ﳾ":"شي","ﳿ":"حى","ﴀ":"حي","ﴁ":"جى","ﴂ":"جي","ﴃ":"خى","ﴄ":"خي","ﴅ":"صى","ﴆ":"صي","ﴇ":"ضى","ﴈ":"ضي","ﴉ":"شج","ﴊ":"شح","ﴋ":"شخ","ﴌ":"شم","ﴍ":"شر","ﴎ":"سر","ﴏ":"صر","ﴐ":"ضر","ﴑ":"طى","ﴒ":"طي","ﴓ":"عى","ﴔ":"عي","ﴕ":"غى","ﴖ":"غي","ﴗ":"سى","ﴘ":"سي","ﴙ":"شى","ﴚ":"شي","ﴛ":"حى","ﴜ":"حي","ﴝ":"جى","ﴞ":"جي","ﴟ":"خى","ﴠ":"خي","ﴡ":"صى","ﴢ":"صي","ﴣ":"ضى","ﴤ":"ضي","ﴥ":"شج","ﴦ":"شح","ﴧ":"شخ","ﴨ":"شم","ﴩ":"شر","ﴪ":"سر","ﴫ":"صر","ﴬ":"ضر","ﴭ":"شج","ﴮ":"شح","ﴯ":"شخ","ﴰ":"شم","ﴱ":"سه","ﴲ":"شه","ﴳ":"طم","ﴴ":"سج","ﴵ":"سح","ﴶ":"سخ","ﴷ":"شج","ﴸ":"شح","ﴹ":"شخ","ﴺ":"طم","ﴻ":"ظم","ﴼ":"اً","ﴽ":"اً","ﵐ":"تجم","ﵑ":"تحج","ﵒ":"تحج","ﵓ":"تحم","ﵔ":"تخم","ﵕ":"تمج","ﵖ":"تمح","ﵗ":"تمخ","ﵘ":"جمح","ﵙ":"جمح","ﵚ":"حمي","ﵛ":"حمى","ﵜ":"سحج","ﵝ":"سجح","ﵞ":"سجى","ﵟ":"سمح","ﵠ":"سمح","ﵡ":"سمج","ﵢ":"سمم","ﵣ":"سمم","ﵤ":"صحح","ﵥ":"صحح","ﵦ":"صمم","ﵧ":"شحم","ﵨ":"شحم","ﵩ":"شجي","ﵪ":"شمخ","ﵫ":"شمخ","ﵬ":"شمم","ﵭ":"شمم","ﵮ":"ضحى","ﵯ":"ضخم","ﵰ":"ضخم","ﵱ":"طمح","ﵲ":"طمح","ﵳ":"طمم","ﵴ":"طمي","ﵵ":"عجم","ﵶ":"عمم","ﵷ":"عمم","ﵸ":"عمى","ﵹ":"غمم","ﵺ":"غمي","ﵻ":"غمى","ﵼ":"فخم","ﵽ":"فخم","ﵾ":"قمح","ﵿ":"قمم","ﶀ":"لحم","ﶁ":"لحي","ﶂ":"لحى","ﶃ":"لجج","ﶄ":"لجج","ﶅ":"لخم","ﶆ":"لخم","ﶇ":"لمح","ﶈ":"لمح","ﶉ":"محج","ﶊ":"محم","ﶋ":"محي","ﶌ":"مجح","ﶍ":"مجم","ﶎ":"مخج","ﶏ":"مخم","ﶒ":"مجخ","ﶓ":"همج","ﶔ":"همم","ﶕ":"نحم","ﶖ":"نحى","ﶗ":"نجم","ﶘ":"نجم","ﶙ":"نجى","ﶚ":"نمي","ﶛ":"نمى","ﶜ":"يمم","ﶝ":"يمم","ﶞ":"بخي","ﶟ":"تجي","ﶠ":"تجى","ﶡ":"تخي","ﶢ":"تخى","ﶣ":"تمي","ﶤ":"تمى","ﶥ":"جمي","ﶦ":"جحى","ﶧ":"جمى","ﶨ":"سخى","ﶩ":"صحي","ﶪ":"شحي","ﶫ":"ضحي","ﶬ":"لجي","ﶭ":"لمي","ﶮ":"يحي","ﶯ":"يجي","ﶰ":"يمي","ﶱ":"ممي","ﶲ":"قمي","ﶳ":"نحي","ﶴ":"قمح","ﶵ":"لحم","ﶶ":"عمي","ﶷ":"كمي","ﶸ":"نجح","ﶹ":"مخي","ﶺ":"لجم","ﶻ":"كمم","ﶼ":"لجم","ﶽ":"نجح","ﶾ":"جحي","ﶿ":"حجي","ﷀ":"مجي","ﷁ":"فمي","ﷂ":"بحي","ﷃ":"كمم","ﷄ":"عجم","ﷅ":"صمم","ﷆ":"سخي","ﷇ":"نجي","﹉":"‾","﹊":"‾","﹋":"‾","﹌":"‾","﹍":"_","﹎":"_","﹏":"_","ﺀ":"ء","ﺁ":"آ","ﺂ":"آ","ﺃ":"أ","ﺄ":"أ","ﺅ":"ؤ","ﺆ":"ؤ","ﺇ":"إ","ﺈ":"إ","ﺉ":"ئ","ﺊ":"ئ","ﺋ":"ئ","ﺌ":"ئ","ﺍ":"ا","ﺎ":"ا","ﺏ":"ب","ﺐ":"ب","ﺑ":"ب","ﺒ":"ب","ﺓ":"ة","ﺔ":"ة","ﺕ":"ت","ﺖ":"ت","ﺗ":"ت","ﺘ":"ت","ﺙ":"ث","ﺚ":"ث","ﺛ":"ث","ﺜ":"ث","ﺝ":"ج","ﺞ":"ج","ﺟ":"ج","ﺠ":"ج","ﺡ":"ح","ﺢ":"ح","ﺣ":"ح","ﺤ":"ح","ﺥ":"خ","ﺦ":"خ","ﺧ":"خ","ﺨ":"خ","ﺩ":"د","ﺪ":"د","ﺫ":"ذ","ﺬ":"ذ","ﺭ":"ر","ﺮ":"ر","ﺯ":"ز","ﺰ":"ز","ﺱ":"س","ﺲ":"س","ﺳ":"س","ﺴ":"س","ﺵ":"ش","ﺶ":"ش","ﺷ":"ش","ﺸ":"ش","ﺹ":"ص","ﺺ":"ص","ﺻ":"ص","ﺼ":"ص","ﺽ":"ض","ﺾ":"ض","ﺿ":"ض","ﻀ":"ض","ﻁ":"ط","ﻂ":"ط","ﻃ":"ط","ﻄ":"ط","ﻅ":"ظ","ﻆ":"ظ","ﻇ":"ظ","ﻈ":"ظ","ﻉ":"ع","ﻊ":"ع","ﻋ":"ع","ﻌ":"ع","ﻍ":"غ","ﻎ":"غ","ﻏ":"غ","ﻐ":"غ","ﻑ":"ف","ﻒ":"ف","ﻓ":"ف","ﻔ":"ف","ﻕ":"ق","ﻖ":"ق","ﻗ":"ق","ﻘ":"ق","ﻙ":"ك","ﻚ":"ك","ﻛ":"ك","ﻜ":"ك","ﻝ":"ل","ﻞ":"ل","ﻟ":"ل","ﻠ":"ل","ﻡ":"م","ﻢ":"م","ﻣ":"م","ﻤ":"م","ﻥ":"ن","ﻦ":"ن","ﻧ":"ن","ﻨ":"ن","ﻩ":"ه","ﻪ":"ه","ﻫ":"ه","ﻬ":"ه","ﻭ":"و","ﻮ":"و","ﻯ":"ى","ﻰ":"ى","ﻱ":"ي","ﻲ":"ي","ﻳ":"ي","ﻴ":"ي","ﻵ":"لآ","ﻶ":"لآ","ﻷ":"لأ","ﻸ":"لأ","ﻹ":"لإ","ﻺ":"لإ","ﻻ":"لا","ﻼ":"لا"},$b=function(){function a(a,b,c,d,e,f){this.fontChar=a,this.unicode=b,this.accent=c,this.width=d,this.vmetric=e,this.operatorListId=f}return a.prototype.matchesForCache=function(a,b,c,d,e,f){return this.fontChar===a&&this.unicode===b&&this.accent===c&&this.width===d&&this.vmetric===e&&this.operatorListId===f},a}(),_b=function(){function a(a){this._map=a}return a.prototype={get length(){return this._map.length},forEach:function(a){for(var b in this._map)a(b,this._map[b].charCodeAt(0))},has:function(a){return void 0!==this._map[a]},get:function(a){return this._map[a]},charCodeOf:function(a){return this._map.indexOf(a)}},a}(),ac=function(){function a(a,b){this.firstChar=a,this.lastChar=b}return a.prototype={get length(){return this.lastChar+1-this.firstChar},forEach:function(a){for(var b=this.firstChar,c=this.lastChar;c>=b;b++)a(b,b)},has:function(a){return this.firstChar<=a&&a<=this.lastChar},get:function(a){return this.firstChar<=a&&a<=this.lastChar?String.fromCharCode(a):void 0},charCodeOf:function(a){c("should not call .charCodeOf")}},a}(),bc=function(){function a(a,b,c){a[b]=c>>8&255,a[b+1]=255&c}function b(a,b,c){a[b]=c>>24&255,a[b+1]=c>>16&255,a[b+2]=c>>8&255,a[b+3]=255&c}function c(a,b,c){var d,e;if(c instanceof Uint8Array)a.set(c,b);else if("string"==typeof c)for(d=0,e=c.length;e>d;d++)a[b++]=255&c.charCodeAt(d);else for(d=0,e=c.length;e>d;d++)a[b++]=255&c[d]}function d(a){this.sfnt=a,this.tables=Object.create(null)}d.getSearchParams=function(a,b){for(var c=1,d=0;(c^a)>c;)c<<=1,d++;var e=c*b;return{range:e,entry:d,rangeShift:b*a-e}};var e=12,f=16;return d.prototype={toArray:function(){var g=this.sfnt,h=this.tables,i=Object.keys(h);i.sort();var j,l,m,n,o,p=i.length,q=e+p*f,r=[q];for(j=0;p>j;j++){n=h[i[j]];var s=(n.length+3&-4)>>>0;q+=s,r.push(q)}var t=new Uint8Array(q);for(j=0;p>j;j++)n=h[i[j]],c(t,r[j],n);"true"===g&&(g=k(65536)),t[0]=255&g.charCodeAt(0),t[1]=255&g.charCodeAt(1),t[2]=255&g.charCodeAt(2),t[3]=255&g.charCodeAt(3),a(t,4,p);var u=d.getSearchParams(p,16);for(a(t,6,u.range),a(t,8,u.entry),a(t,10,u.rangeShift),q=e,j=0;p>j;j++){o=i[j],t[q]=255&o.charCodeAt(0),t[q+1]=255&o.charCodeAt(1),t[q+2]=255&o.charCodeAt(2),t[q+3]=255&o.charCodeAt(3);var v=0;for(l=r[j],m=r[j+1];m>l;l+=4){var w=(t[l]<<24)+(t[l+1]<<16)+(t[l+2]<<8)+t[l+3];v=v+w|0}b(t,q+4,v),b(t,q+8,r[j]),b(t,q+12,h[o].length),q+=f}return t},addTable:function(a,b){if(a in this.tables)throw new Error("Table "+a+" already exists");this.tables[a]=b}},d}(),cc=new Int32Array([0,32,127,161,173,174,1536,1920,2208,4256,6016,6144,8192,8208,8209,8210,8232,8240,8287,8304,9676,9677,43616,43648,65520,65536]),dc=function(){function d(d,e,f){var g,h,i;this.name=d,this.loadedName=f.loadedName,this.isType3Font=f.isType3Font,this.sizes=[],this.glyphCache={};var j=d.split("+");j=j.length>1?j[1]:j[0],j=j.split(/[-,_]/g)[0],this.isSerifFont=!!(f.flags&Ob.Serif),this.isSymbolicFont=!!(f.flags&Ob.Symbolic),this.isMonospace=!!(f.flags&Ob.FixedPitch);var k=f.type,l=f.subtype;if(this.type=k,this.fallbackName=this.isMonospace?"monospace":this.isSerifFont?"serif":"sans-serif",this.differences=f.differences,this.widths=f.widths,this.defaultWidth=f.defaultWidth,this.composite=f.composite,this.wideChars=f.wideChars,this.cMap=f.cMap,this.ascent=f.ascent/Lb,this.descent=f.descent/Lb,this.fontMatrix=f.fontMatrix,this.bbox=f.bbox,this.toUnicode=f.toUnicode=this.buildToUnicode(f),this.toFontChar=[],"Type3"===f.type){for(g=0;256>g;g++)this.toFontChar[g]=this.differences[g]||f.defaultEncoding[g];return void(this.fontType=Z.TYPE3)}if(this.cidEncoding=f.cidEncoding,this.vertical=f.vertical,this.vertical&&(this.vmetrics=f.vmetrics,this.defaultVMetrics=f.defaultVMetrics),!e||e.isEmpty){e&&b('Font file is empty in "'+d+'" ('+this.loadedName+")"),this.missingFile=!0;var o=d.replace(/[,_]/g,"-"),p=!!Qb[o]||!(!Rb[o]||!Qb[Rb[o]]);if(o=Qb[o]||Rb[o]||o,this.bold=-1!==o.search(/bold/gi),this.italic=-1!==o.search(/oblique/gi)||-1!==o.search(/italic/gi),this.black=-1!==d.search(/Black/g),this.remeasure=Object.keys(this.widths).length>0,p&&"CIDFontType2"===k&&0===f.cidEncoding.indexOf("Identity-")){var q=[];for(g in Ub)q[+g]=Ub[g];if(/ArialBlack/i.test(d))for(g in Vb)q[+g]=Vb[g];var r=this.toUnicode instanceof ac;r||this.toUnicode.forEach(function(a,b){q[+a]=b}),this.toFontChar=q,this.toUnicode=new _b(q)}else if(/Symbol/i.test(o)){var s=Pb.SymbolSetEncoding;for(g in s)i=zc[s[g]],i&&(this.toFontChar[g]=i);for(g in f.differences)i=zc[f.differences[g]],i&&(this.toFontChar[g]=i)}else if(/Dingbats/i.test(o)){/Wingdings/i.test(d)&&b("Wingdings font without embedded font file, falling back to the ZapfDingbats encoding.");var t=Pb.ZapfDingbatsEncoding;for(g in t)i=Ac[t[g]],i&&(this.toFontChar[g]=i);for(g in f.differences)i=Ac[f.differences[g]],i&&(this.toFontChar[g]=i)}else if(p){this.toFontChar=[];for(g in f.defaultEncoding)h=f.differences[g]||f.defaultEncoding[g],this.toFontChar[g]=zc[h]}else{var u=-1===k.indexOf("CIDFontType");this.toUnicode.forEach(function(a,b){u&&(h=f.differences[a]||f.defaultEncoding[a],b=zc[h]||b),this.toFontChar[a]=b}.bind(this))}return this.loadedName=o.split("-")[0],this.loading=!1,void(this.fontType=P(k,l))}"Type1C"===l&&"Type1"!==k&&"MMType1"!==k&&(m(e)?l="TrueType":k="Type1"),"CIDFontType0C"===l&&"CIDFontType0"!==k&&(k="CIDFontType0"),"OpenType"===l&&(k="OpenType"),"CIDFontType0"===k&&(l=n(e)?"CIDFontType0":"CIDFontType0C");var v;switch(k){case"MMType1":a("MMType1 font ("+d+"), falling back to Type1.");case"Type1":case"CIDFontType0":this.mimetype="font/opentype";var w="Type1C"===l||"CIDFontType0C"===l?new jc(e,f):new ic(d,e,f);O(f),v=this.convert(d,w,f);break;case"OpenType":case"TrueType":case"CIDFontType2":this.mimetype="font/opentype",v=this.checkAndRepair(d,e,f),this.isOpenType&&(k="OpenType");break;default:c("Font "+k+" is not supported")}this.data=v,this.fontType=P(k,l),this.fontMatrix=f.fontMatrix,this.widths=f.widths,this.defaultWidth=f.defaultWidth,this.encoding=f.baseEncoding,this.seacMap=f.seacMap,this.loading=!0}function f(a,b){return(a<<8)+b}function h(a,b,c,d){return(a<<24)+(b<<16)+(c<<8)+d}function j(a){return String.fromCharCode(a>>8&255,255&a)}function l(a){return a=a>32767?32767:-32768>a?-32768:a,String.fromCharCode(a>>8&255,255&a)}function m(a){var b=a.peekBytes(4);return 65536===o(b,0)}function n(a){var b=a.peekBytes(2);return 37===b[0]&&33===b[1]?!0:128===b[0]&&1===b[1]?!0:!1}function p(a){for(var b=0,c=cc.length-1;c>b;){var d=b+c+1>>1;a<cc[d]?c=d-1:b=d}return!(1&b)}function q(a,b){var c=b.toUnicode,d=!!(b.flags&Ob.Symbolic),e=b.toUnicode instanceof ac,f=Object.create(null),g=[],h=[],i=Ib;for(var j in a){j|=0;var k=a[j],l=j;if(!e&&c.has(j)){var m=c.get(l);1===m.length&&(l=m.charCodeAt(0))}if((void 0!==h[l]||p(l)||d&&e)&&Jb>=i)do l=i++,Kb&&61440===l&&(l=61472,i=l+1);while(void 0!==h[l]&&Jb>=i);f[l]=k,g[j]=l,h[l]=!0}return{toFontChar:g,charCodeToGlyphId:f,nextAvailableFontCharCode:i}}function r(a){var b=[];for(var c in a)b.push({fontCharCode:0|c,glyphId:a[c]});b.sort(function(a,b){return a.fontCharCode-b.fontCharCode});for(var d=[],e=b.length,f=0;e>f;){var g=b[f].fontCharCode,h=[b[f].glyphId];++f;for(var i=g;e>f&&i+1===b[f].fontCharCode&&(h.push(b[f].glyphId),++i,++f,65535!==i););d.push([g,i,h])}return d}function s(a){var b,c,d,e,f=r(a),g=f[f.length-1][1]>65535?2:1,h="\x00\x00"+j(g)+"\x00\ 3\x00\ 1"+k(4+8*g);for(b=f.length-1;b>=0&&!(f[b][0]<=65535);--b);var i=b+1;f[b][0]<65535&&65535===f[b][1]&&(f[b][1]=65534);var l,m,n,o,p=f[b][1]<65535?1:0,q=i+p,s=bc.getSearchParams(q,2),t="",u="",v="",w="",x="",y=0;for(b=0,c=i;c>b;b++){l=f[b],m=l[0],n=l[1],t+=j(m),u+=j(n),o=l[2];var z=!0;for(d=1,e=o.length;e>d;++d)if(o[d]!==o[d-1]+1){z=!1;break}if(z){var A=o[0];v+=j(A-m&65535),w+=j(0)}else{var B=2*(q-b)+2*y;for(y+=n-m+1,v+=j(0),w+=j(B),d=0,e=o.length;e>d;++d)x+=j(o[d])}}p>0&&(u+="ÿÿ",t+="ÿÿ",v+="\x00\ 1",w+="\x00\x00");var C="\x00\x00"+j(2*q)+j(s.range)+j(s.entry)+j(s.rangeShift)+u+"\x00\x00"+t+v+w+x,D="",E="";if(g>1){for(h+="\x00\ 3\x00\n"+k(4+8*g+4+C.length),D="",b=0,c=f.length;c>b;b++){l=f[b],m=l[0],o=l[2];var F=o[0];for(d=1,e=o.length;e>d;++d)o[d]!==o[d-1]+1&&(n=l[0]+d-1,D+=k(m)+k(n)+k(F),m=n+1,F=o[d]);D+=k(m)+k(l[1])+k(F)}E="\x00\f\x00\x00"+k(D.length+16)+"\x00\x00\x00\x00"+k(D.length/12)}return h+"\x00\ 4"+j(C.length+4)+C+E+D}function t(a){var b=new Mc(a.data),c=b.getUint16();b.getBytes(60);var d=b.getUint16();if(4>c&&768&d)return!1;var e=b.getUint16(),f=b.getUint16();if(e>f)return!1;b.getBytes(6);var g=b.getUint16();return 0===g?!1:(a.data[8]=a.data[9]=0,!0)}function u(a,b,d){d=d||{unitsPerEm:0,yMax:0,yMin:0,ascent:0,descent:0};var e=0,f=0,g=0,h=0,i=null,l=0;if(b)for(var m in b){m|=0,(i>m||!i)&&(i=m),m>l&&(l=m);var n=L(m);32>n?e|=1<<n:64>n?f|=1<<n-32:96>n?g|=1<<n-64:123>n?h|=1<<n-96:c("Unicode ranges Bits > 123 are reserved for internal usage")}else i=0,l=255;var o=a.bbox||[0,0,0,0],p=d.unitsPerEm||1/(a.fontMatrix||T)[0],q=a.ascentScaled?1:p/Lb,r=d.ascent||Math.round(q*(a.ascent||o[3])),s=d.descent||Math.round(q*(a.descent||o[1]));s>0&&a.descent>0&&o[1]<0&&(s=-s);var t=d.yMax||r,u=-d.yMin||-s;return"\x00\ 3\ 2$\ 1ô\x00\ 5\x00\x00\ 2\8a\ 2»\x00\x00\x00\8c\ 2\8a\ 2»\x00\x00\ 1ß\x001\ 1\ 2\x00\x00\x00\x00\ 6"+String.fromCharCode(a.fixedPitch?9:0)+"\x00\x00\x00\x00\x00\x00"+k(e)+k(f)+k(g)+k(h)+"*21*"+j(a.italicAngle?1:0)+j(i||a.firstChar)+j(l||a.lastChar)+j(r)+j(s)+"\x00d"+j(t)+j(u)+"\x00\x00\x00\x00\x00\x00\x00\x00"+j(a.xHeight)+j(a.capHeight)+j(0)+j(i||a.firstChar)+"\x00\ 3"}function v(a){var b=Math.floor(a.italicAngle*Math.pow(2,16));return"\x00\ 3\x00\x00"+k(b)+"\x00\x00\x00\x00"+k(a.fixedPitch)+"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}function w(a,b){b||(b=[[],[]]);var c,d,e,f,g,h=[b[0][0]||"Original licence",b[0][1]||a,b[0][2]||"Unknown",b[0][3]||"uniqueID",b[0][4]||a,b[0][5]||"Version 0.11",b[0][6]||"",b[0][7]||"Unknown",b[0][8]||"Unknown",b[0][9]||"Unknown"],i=[];for(c=0,d=h.length;d>c;c++){g=b[1][c]||h[c];var k=[];for(e=0,f=g.length;f>e;e++)k.push(j(g.charCodeAt(e)));i.push(k.join(""))}var l=[h,i],m=["\x00\ 1","\x00\ 3"],n=["\x00\x00","\x00\ 1"],o=["\x00\x00","\ 4   "],p=h.length*m.length,q="\x00\x00"+j(p)+j(12*p+6),r=0;for(c=0,d=m.length;d>c;c++){var s=l[c];for(e=0,f=s.length;f>e;e++){g=s[e];var t=m[c]+n[c]+o[c]+j(e)+j(g.length)+j(r);q+=t,r+=g.length}}return q+=h.join("")+i.join("")}return d.getFontID=function(){var a=1;return function(){return String(a++)}}(),d.prototype={name:null,font:null,mimetype:null,encoding:null,get renderer(){var a=yc.create(this);return g(this,"renderer",a)},exportData:function(){var a={};for(var b in this)this.hasOwnProperty(b)&&(a[b]=this[b]);return a},checkAndRepair:function(d,g,j){function k(a){var b=i(a.getBytes(4)),c=a.getInt32(),d=a.getInt32()>>>0,e=a.getInt32()>>>0,f=a.pos;a.pos=a.start?a.start:0,a.skip(d);var g=a.getBytes(e);return a.pos=f,"head"===b&&(g[8]=g[9]=g[10]=g[11]=0,g[17]|=32),{tag:b,checksum:c,length:e,offset:d,data:g}}function l(a){return{version:i(a.getBytes(4)),numTables:a.getUint16(),searchRange:a.getUint16(),entrySelector:a.getUint16(),rangeShift:a.getUint16()}}function m(a,c,d,e){var f,g=(c.start?c.start:0)+a.offset;c.pos=g;for(var h,i=(c.getUint16(),c.getUint16()),j=!1,k=0;i>k;k++){var l=c.getUint16(),m=c.getUint16(),n=c.getInt32()>>>0,o=!1;if(0===l&&0===m?o=!0:1===l&&0===m?o=!0:3!==l||1!==m||(d||!e)&&h?d&&3===l&&0===m&&(o=!0,j=!0):(o=!0,d||(j=!0)),o&&(h={platformId:l,encodingId:m,offset:n}),j)break}if(h&&(c.pos=g+h.offset),!h||-1===c.peekByte())return b("Could not find a preferred cmap table."),{platformId:-1,encodingId:-1,mappings:[],hasShortCmap:!1};var p,q,r=c.getUint16(),s=(c.getUint16(),c.getUint16(),!1),t=[];if(0===r){for(p=0;256>p;p++){var u=c.getByte();u&&t.push({charCode:p,glyphId:u})}s=!0}else if(4===r){var v=c.getUint16()>>1;c.getBytes(6);var w,x=[];for(w=0;v>w;w++)x.push({end:c.getUint16()});for(c.getUint16(),w=0;v>w;w++)x[w].start=c.getUint16();for(w=0;v>w;w++)x[w].delta=c.getUint16();var y=0;for(w=0;v>w;w++){f=x[w];var z=c.getUint16();if(z){var A=(z>>1)-(v-w);f.offsetIndex=A,y=Math.max(y,A+f.end-f.start+1)}else f.offsetIndex=-1}var B=[];for(p=0;y>p;p++)B.push(c.getUint16());for(w=0;v>w;w++){f=x[w],g=f.start;var C=f.end,D=f.delta;for(A=f.offsetIndex,p=g;C>=p;p++)65535!==p&&(q=0>A?p:B[A+p-g],q=q+D&65535,0!==q&&t.push({charCode:p,glyphId:q}))}}else{if(6!==r)return b("cmap table has unsupported format: "+r),{platformId:-1,encodingId:-1,mappings:[],hasShortCmap:!1};var E=c.getUint16(),F=c.getUint16();for(p=0;F>p;p++){q=c.getUint16();var G=E+p;t.push({charCode:G,glyphId:q})}}for(t.sort(function(a,b){return a.charCode-b.charCode}),k=1;k<t.length;k++)t[k-1].charCode===t[k].charCode&&(t.splice(k,1),k--);return{platformId:h.platformId,encodingId:h.encodingId,mappings:t,hasShortCmap:s}}function n(b,c,d,e){if(!c)return void(d&&(d.data=null));b.pos=(b.start?b.start:0)+c.offset,b.pos+=c.length-2;var f=b.getUint16();f>e&&(a("The numOfMetrics ("+f+") should not be greater than the numGlyphs ("+e+")"),f=e,c.data[34]=(65280&f)>>8,c.data[35]=255&f);var g=e-f,h=g-(d.length-4*f>>1);if(h>0){var i=new Uint8Array(d.length+2*h);i.set(d.data),d.data=i}}function o(a,b,c,d,e,f){if(12>=c-b)return 0;var g=a.subarray(b,c),h=g[0]<<8|g[1];if(32768&h)return d.set(g,e),g.length;var i,j=10,k=0;for(i=0;h>i;i++){var l=g[j]<<8|g[j+1];k=l+1,j+=2}var m=j,n=g[j]<<8|g[j+1];j+=2+n;var o=j,p=0;for(i=0;k>i;i++){var q=g[j++];192&q&&(g[j-1]=63&q);var r=(2&q?1:16&q?0:2)+(4&q?1:32&q?0:2);if(p+=r,8&q){var s=g[j++];i+=s,p+=s*r}}if(0===p)return 0;var t=j+p;return t>g.length?0:!f&&n>0?(d.set(g.subarray(0,m),e),d.set([0,0],e+m),d.set(g.subarray(o,t),e+m+2),t-=n,g.length-t>3&&(t=t+3&-4),t):g.length-t>3?(t=t+3&-4,d.set(g.subarray(0,t),e),t):(d.set(g,e),g.length)}function p(c,d,e){var g=c.data,i=h(g[0],g[1],g[2],g[3]);i>>16!==1&&(a("Attempting to fix invalid version in head table: "+i),g[0]=0,g[1]=1,g[2]=0,g[3]=0);var j=f(g[50],g[51]);if(0>j||j>1){a("Attempting to fix invalid indexToLocFormat in head table: "+j);var k=d+1;e===k<<1?(g[50]=0,g[51]=0):e===k<<2?(g[50]=0,g[51]=1):b("Could not fix indexToLocFormat: "+j)}}function r(a,b,c,d,e,f){var g,h,i;d?(g=4,h=function(a,b){return a[b]<<24|a[b+1]<<16|a[b+2]<<8|a[b+3]},i=function(a,b,c){a[b]=c>>>24&255,a[b+1]=c>>16&255,a[b+2]=c>>8&255,a[b+3]=255&c}):(g=2,h=function(a,b){return a[b]<<9|a[b+1]<<1},i=function(a,b,c){a[b]=c>>9&255,a[b+1]=c>>1&255});var j=a.data,k=g*(1+c);j.length!==k&&(j=new Uint8Array(k),j.set(a.data.subarray(0,k)),a.data=j);var l=b.data,m=l.length,n=new Uint8Array(m),p=h(j,0),q=0,r={};i(j,0,q);var s,t;for(s=0,t=g;c>s;s++,t+=g){var u=h(j,t);if(u>m&&(m+3&-4)===u&&(u=m),u>m)i(j,t,q),p=u;else{p===u&&(r[s]=!0);var v=o(l,p,u,n,q,e);q+=v,i(j,t,q),p=u}}if(0===q){var w=new Uint8Array([0,1,0,0,0,0,0,0,0,0,0,0,0,0,49,0]);for(s=0,t=g;c>s;s++,t+=g)i(j,t,w.length);return b.data=w,r}if(f){var x=h(j,g);n.length>x+q?b.data=n.subarray(0,x+q):(b.data=new Uint8Array(x+q),b.data.set(n.subarray(0,q))),b.data.set(n.subarray(0,x),q),i(a.data,j.length-g,q+x)}else b.data=n.subarray(0,q);return r}function y(a,c,d){var e=(g.start?g.start:0)+a.offset;g.pos=e;var f=a.length,h=e+f,i=g.getInt32();g.getBytes(28);var j,k,l=!0;switch(i){case 65536:j=Yb;break;case 131072:var m=g.getUint16();if(m!==d){l=!1;break}var n=[];for(k=0;m>k;++k){var o=g.getUint16();if(o>=32768){l=!1;break}n.push(o)}if(!l)break;for(var p=[],q=[];g.pos<h;){var r=g.getByte();for(q.length=r,k=0;r>k;++k)q[k]=String.fromCharCode(g.getByte());p.push(q.join(""))}for(j=[],k=0;m>k;++k){var s=n[k];258>s?j.push(Yb[s]):j.push(p[s-258])}break;case 196608:break;default:b("Unknown/unsupported post table version "+i),l=!1,c.defaultEncoding&&(j=c.defaultEncoding)}return c.glyphNames=j,l}function z(a){var b=(g.start?g.start:0)+a.offset;g.pos=b;var c=[[],[]],d=a.length,e=b+d,f=g.getUint16(),h=6;if(0!==f||h>d)return c;var j,k,l=g.getUint16(),m=g.getUint16(),n=[],o=12;for(j=0;l>j&&g.pos+o<=e;j++){var p={platform:g.getUint16(),encoding:g.getUint16(),language:g.getUint16(),name:g.getUint16(),length:g.getUint16(),offset:g.getUint16()};(1===p.platform&&0===p.encoding&&0===p.language||3===p.platform&&1===p.encoding&&1033===p.language)&&n.push(p)}for(j=0,k=n.length;k>j;j++){var q=n[j],r=b+m+q.offset;if(!(r+q.length>e)){g.pos=r;var s=q.name;if(q.encoding){for(var t="",u=0,v=q.length;v>u;u+=2)t+=String.fromCharCode(g.getUint16());c[1][s]=t}else c[0][s]=i(g.getBytes(q.length))}}return c}function A(a,c){for(var d,e,f,g,h,i=a.data,j=0,k=0,l=0,m=[],n=[],o=[],p=c.tooComplexToFollowFunctions,q=!1,r=0,s=0,t=i.length;t>j;){var u=i[j++];if(64===u)if(e=i[j++],q||s)j+=e;else for(d=0;e>d;d++)m.push(i[j++]);else if(65===u)if(e=i[j++],q||s)j+=2*e;else for(d=0;e>d;d++)f=i[j++],m.push(f<<8|i[j++]);else if(176===(248&u))if(e=u-176+1,q||s)j+=e;else for(d=0;e>d;d++)m.push(i[j++]);else if(184===(248&u))if(e=u-184+1,q||s)j+=2*e;else for(d=0;e>d;d++)f=i[j++],m.push(f<<8|i[j++]);else if(43!==u||p)if(44!==u||p){if(45===u)if(q)q=!1,k=j;else{if(h=n.pop(),!h)return b("TT: ENDF bad stack"),void(c.hintsValid=!1);g=o.pop(),i=h.data,j=h.i,c.functionsStackDeltas[g]=m.length-h.stackTop}else if(137===u)(q||s)&&(b("TT: nested IDEFs not allowed"),p=!0),q=!0,l=j;else if(88===u)++r;else if(27===u)s=r;else if(89===u)s===r&&(s=0),--r;else if(28===u&&!q&&!s){var v=m[m.length-1];v>0&&(j+=v-1)}}else(q||s)&&(b("TT: nested FDEFs not allowed"),p=!0),q=!0,l=j,g=m.pop(),c.functionsDefined[g]={data:i,i:j};else if(!q&&!s)if(g=m[m.length-1],c.functionsUsed[g]=!0,g in c.functionsStackDeltas)m.length+=c.functionsStackDeltas[g];else if(g in c.functionsDefined&&o.indexOf(g)<0){if(n.push({data:i,i:j,stackTop:m.length-1}),o.push(g),h=c.functionsDefined[g],!h)return b("TT: CALL non-existent function"),void(c.hintsValid=!1);i=h.data,j=h.i}if(!q&&!s){var w=142>=u?F[u]:u>=192&&223>=u?-1:u>=224?-2:0;for(u>=113&&117>=u&&(e=m.pop(),e===e&&(w=2*-e));0>w&&m.length>0;)m.pop(),w++;for(;w>0;)m.push(NaN),w--}}c.tooComplexToFollowFunctions=p;var x=[i];j>i.length&&x.push(new Uint8Array(j-i.length)),l>k&&(b("TT: complementing a missing function tail"),x.push(new Uint8Array([34,45]))),C(a,x)}function B(a,c){if(!a.tooComplexToFollowFunctions){if(a.functionsDefined.length>c)return b("TT: more functions defined than expected"),void(a.hintsValid=!1);for(var d=0,e=a.functionsUsed.length;e>d;d++){if(d>c)return b("TT: invalid function id: "+d),void(a.hintsValid=!1);if(a.functionsUsed[d]&&!a.functionsDefined[d])return b("TT: undefined function: "+d),void(a.hintsValid=!1)}}}function C(a,b){if(b.length>1){var c,d,e=0;for(c=0,d=b.length;d>c;c++)e+=b[c].length;e=e+3&-4;var f=new Uint8Array(e),g=0;for(c=0,d=b.length;d>c;c++)f.set(b[c],g),g+=b[c].length;a.data=f,a.length=e}}function D(a,b,c){var d={functionsDefined:[],functionsUsed:[],functionsStackDeltas:[],tooComplexToFollowFunctions:!1,hintsValid:!0};if(a&&A(a,d),b&&A(b,d),a&&B(d,R),c&&1&c.length){var e=new Uint8Array(c.length+1);e.set(c.data),c.data=e}return d.hintsValid}function E(a,b,c){return V[a]?!aa&&b>=0&&$.has(b)?!0:_&&c>=0&&x(_[c])?!0:!1:!0}var F=[0,0,0,0,0,0,0,0,-2,-2,-2,-2,0,0,-2,-5,-1,-1,-1,-1,-1,-1,-1,-1,0,0,-1,0,-1,-1,-1,-1,1,-1,-999,0,1,0,-1,-2,0,-1,-2,-1,-1,0,-1,-1,0,0,-999,-999,-1,-1,-1,-1,-2,-999,-2,-2,-999,0,-2,-2,0,0,-2,0,-2,0,0,0,-2,-1,-1,1,1,0,0,-1,-1,-1,-1,-1,-1,-1,0,0,-1,0,-1,-1,0,-999,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,-2,-999,-999,-999,-999,-999,-1,-1,-2,-2,0,0,0,0,-1,-1,-999,-2,-2,0,0,-1,-2,-2,0,0,0,-1,-1,-1,-2];g=new Mc(new Uint8Array(g.getBytes()));for(var G,H,I,J=["OS/2","cmap","head","hhea","hmtx","maxp","name","post","loca","glyf","fpgm","prep","cvt ","CFF "],K=l(g),L=K.numTables,M={"OS/2":null,cmap:null,head:null,hhea:null,hmtx:null,maxp:null,name:null,post:null},N=0;L>N;N++)I=k(g),J.indexOf(I.tag)<0||0!==I.length&&(M[I.tag]=I);var O=!M["CFF "];if(O)M.glyf&&M.loca||c('Required "glyf" or "loca" tables are not found'),this.isOpenType=!1;else{if("OTTO"===K.version&&"CIDFontType2"!==j.type||!M.head||!M.hhea||!M.maxp||!M.post)return H=new Mc(M["CFF "].data),G=new jc(H,j),this.convert(d,G,j);delete M.glyf,delete M.loca,delete M.fpgm,delete M.prep,delete M["cvt "],this.isOpenType=!0;
+}M.maxp||c('Required "maxp" table is not found'),g.pos=(g.start||0)+M.maxp.offset;var P=g.getInt32(),Q=g.getUint16(),R=0;if(P>=65536&&M.maxp.length>=22){g.pos+=8;var S=g.getUint16();S>2&&(M.maxp.data[14]=0,M.maxp.data[15]=2),g.pos+=4,R=g.getUint16()}var T=!1;"CIDFontType2"===j.type&&j.toUnicode&&j.toUnicode.get(0)>"\x00"&&(T=!0,Q++,M.maxp.data[4]=Q>>8,M.maxp.data[5]=255&Q);var U=D(M.fpgm,M.prep,M["cvt "],R);U||(delete M.fpgm,delete M.prep,delete M["cvt "]),n(g,M.hhea,M.hmtx,Q),M.head||c('Required "head" table is not found'),p(M.head,Q,O?M.loca.length:0);var V={};if(O){var W=f(M.head.data[50],M.head.data[51]);V=r(M.loca,M.glyf,Q,W,U,T)}if(M.hhea||c('Required "hhea" table is not found'),0===M.hhea.data[10]&&0===M.hhea.data[11]&&(M.hhea.data[10]=255,M.hhea.data[11]=255),M.post){var X=y(M.post,j,Q);X||(M.post=null)}var Y,Z=[],$=j.toUnicode,_=j.widths,aa=$ instanceof ac||65536===$.length;if("CIDFontType2"===j.type){var ba=j.cidToGidMap||[],ca=0===ba.length;j.cMap.forEach(function(a,b){e(65535>=b,"Max size of CID is 65,535");var c=-1;ca?c=a:void 0!==ba[b]&&(c=ba[b]),c>=0&&Q>c&&E(c,a,b)&&(Z[a]=c)}),T&&(Z[0]=Q-1)}else{var da=j.differences.length>0||!!j.baseEncodingName,ea=m(M.cmap,g,this.isSymbolicFont,da),fa=ea.platformId,ga=ea.encodingId,ha=ea.mappings,ia=ha.length;if(da&&(3===fa&&1===ga||1===fa&&0===ga)||-1===fa&&-1===ga&&Pb[j.baseEncodingName]){var ja=[];for(("MacRomanEncoding"===j.baseEncodingName||"WinAnsiEncoding"===j.baseEncodingName)&&(ja=Pb[j.baseEncodingName]),Y=0;256>Y;Y++){var ka;if(ka=this.differences&&Y in this.differences?this.differences[Y]:Y in ja&&""!==ja[Y]?ja[Y]:Pb.StandardEncoding[Y]){var la,ma=!1;3===fa&&1===ga?(la=zc[ka],ma=!0):1===fa&&0===ga&&(la=Pb.MacRomanEncoding.indexOf(ka));var na=!1;for(N=0;ia>N;++N)if(ha[N].charCode===la){var oa=ma?Y:la;if(E(ha[N].glyphId,oa,-1)){Z[Y]=ha[N].glyphId,na=!0;break}}if(!na&&j.glyphNames){var pa=j.glyphNames.indexOf(ka);pa>0&&E(pa,-1,-1)?Z[Y]=pa:Z[Y]=0}}}}else if(0===fa&&0===ga)for(N=0;ia>N;++N)Z[ha[N].charCode]=ha[N].glyphId;else for(N=0;ia>N;++N)Y=255&ha[N].charCode,Z[Y]=ha[N].glyphId}0===Z.length&&(Z[0]=0);var qa=q(Z,j);if(this.toFontChar=qa.toFontChar,M.cmap={tag:"cmap",data:s(qa.charCodeToGlyphId)},!M["OS/2"]||!t(M["OS/2"])){var ra={unitsPerEm:f(M.head.data[18],M.head.data[19]),yMax:f(M.head.data[42],M.head.data[43]),yMin:f(M.head.data[38],M.head.data[39])-65536,ascent:f(M.hhea.data[4],M.hhea.data[5]),descent:f(M.hhea.data[6],M.hhea.data[7])-65536};M["OS/2"]={tag:"OS/2",data:u(j,qa.charCodeToGlyphId,ra)}}if(M.post||(M.post={tag:"post",data:v(j)}),!O)try{H=new Mc(M["CFF "].data);var sa=new kc(H,j);G=sa.parse();var ta=new xc(G);M["CFF "].data=ta.compile()}catch(ua){b("Failed to compile font "+j.loadedName)}if(M.name){var va=z(M.name);M.name.data=w(d,va)}else M.name={tag:"name",data:w(this.name)};var wa=new bc(K.version);for(var xa in M)wa.addTable(xa,M[xa].data);return wa.toArray()},convert:function(a,b,c){function d(a,b){var c=null;for(var d in a)b===a[d]&&(c||(c=[]),c.push(0|d));return c}function e(a,b){for(var c in a)if(b===a[c])return 0|c;return g.charCodeToGlyphId[g.nextAvailableFontCharCode]=b,g.nextAvailableFontCharCode++}c.fixedPitch=!1;var f=b.getGlyphMapping(c),g=q(f,c);this.toFontChar=g.toFontChar;var h=b.numGlyphs,i=b.seacs;if(Nb&&i&&i.length){var k=c.fontMatrix||T,m=b.getCharset(),n=Object.create(null);for(var o in i){o|=0;var p=i[o],r=Pb.StandardEncoding[p[2]],t=Pb.StandardEncoding[p[3]],x=m.indexOf(r),y=m.indexOf(t);if(!(0>x||0>y)){var z={x:p[0]*k[0]+p[1]*k[2]+k[4],y:p[0]*k[1]+p[1]*k[3]+k[5]},A=d(f,o);if(A)for(var B=0,C=A.length;C>B;B++){var D=A[B],E=g.charCodeToGlyphId,F=e(E,x),G=e(E,y);n[D]={baseFontCharCode:F,accentFontCharCode:G,accentOffset:z}}}}c.seacMap=n}var H=1/(c.fontMatrix||T)[0],I=new bc("OTTO");return I.addTable("CFF ",b.data),I.addTable("OS/2",u(c,g.charCodeToGlyphId)),I.addTable("cmap",s(g.charCodeToGlyphId)),I.addTable("head","\x00\ 1\x00\x00\x00\x00\10\x00\x00\x00\x00\x00_\ f<õ\x00\x00"+l(H)+"\x00\x00\x00\x00\9e\x0B~'\x00\x00\x00\x00\9e\x0B~'\x00\x00"+l(c.descent)+"\ fÿ"+l(c.ascent)+j(c.italicAngle?2:0)+"\x00\11\x00\x00\x00\x00\x00\x00"),I.addTable("hhea","\x00\ 1\x00\x00"+l(c.ascent)+l(c.descent)+"\x00\x00ÿÿ\x00\x00\x00\x00\x00\x00"+l(c.capHeight)+l(Math.tan(c.italicAngle)*c.xHeight)+"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+j(h)),I.addTable("hmtx",function(){for(var a=b.charstrings,c=b.cff?b.cff.widths:null,d="\x00\x00\x00\x00",e=1,f=h;f>e;e++){var g=0;if(a){var i=a[e-1];g="width"in i?i.width:0}else c&&(g=Math.ceil(c[e]||0));d+=j(g)+j(0)}return d}()),I.addTable("maxp","\x00\x00P\x00"+j(h)),I.addTable("name",w(a)),I.addTable("post",v(c)),I.toArray()},buildToUnicode:function(a){if(a.toUnicode&&0!==a.toUnicode.length)return a.toUnicode;var b,c;if(!a.composite){b=[];var d=a.defaultEncoding.slice(),f=a.baseEncodingName,g=a.differences;for(c in g)d[c]=g[c];for(c in d){var h=d[c];if(""!==h)if(void 0!==zc[h])b[c]=String.fromCharCode(zc[h]);else{var i=0;switch(h[0]){case"G":3===h.length&&(i=parseInt(h.substr(1),16));break;case"g":5===h.length&&(i=parseInt(h.substr(1),16));break;case"C":case"c":h.length>=3&&(i=+h.substr(1))}if(i){if(f&&i===+c){var j=Pb[f];if(j&&(h=j[c])){b[c]=String.fromCharCode(zc[h]);continue}}b[c]=String.fromCharCode(i)}}}return new _b(b)}if(a.composite&&(a.cMap.builtInCMap&&!(a.cMap instanceof Fb)||"Adobe"===a.cidSystemInfo.registry&&("GB1"===a.cidSystemInfo.ordering||"CNS1"===a.cidSystemInfo.ordering||"Japan1"===a.cidSystemInfo.ordering||"Korea1"===a.cidSystemInfo.ordering))){var k=a.cidSystemInfo.registry,l=a.cidSystemInfo.ordering,m=new ya(k+"-"+l+"-UCS2"),n=Hb.create(m,{url:PDFJS.cMapUrl,packed:PDFJS.cMapPacked},null),o=a.cMap;return b=[],o.forEach(function(a,c){e(65535>=c,"Max size of CID is 65,535");var d=n.lookup(c);d&&(b[a]=String.fromCharCode((d.charCodeAt(0)<<8)+d.charCodeAt(1)))}),new _b(b)}return new ac(a.firstChar,a.lastChar)},get spaceWidth(){if("_shadowWidth"in this)return this._shadowWidth;for(var a,b=["space","minus","one","i"],c=0,d=b.length;d>c;c++){var e=b[c];if(e in this.widths){a=this.widths[e];break}var f=zc[e],g=0;if(this.composite&&this.cMap.contains(f)&&(g=this.cMap.lookup(f)),!g&&"toUnicode"in this&&(g=this.toUnicode.charCodeOf(f)),0>=g&&(g=f),a=this.widths[g])break}return a=a||this.defaultWidth,this._shadowWidth=a,a},charToGlyph:function(a){var b,c,d,e=a;this.cMap&&this.cMap.contains(a)&&(e=this.cMap.lookup(a)),c=this.widths[e],c=x(c)?c:this.defaultWidth;var f=this.vmetrics&&this.vmetrics[e],g=this.toUnicode.get(a)||a;"number"==typeof g&&(g=String.fromCharCode(g)),b=this.toFontChar[a]||a,this.missingFile&&(b=K(b)),this.isType3Font&&(d=b);var h=null;if(this.seacMap&&this.seacMap[a]){var i=this.seacMap[a];b=i.baseFontCharCode,h={fontChar:String.fromCharCode(i.accentFontCharCode),offset:i.accentOffset}}var j=String.fromCharCode(b),k=this.glyphCache[a];return k&&k.matchesForCache(j,g,h,c,f,d)||(k=new $b(j,g,h,c,f,d),this.glyphCache[a]=k),k},charsToGlyphs:function(a){var b,c,d,e=this.charsCache;if(e&&(b=e[a]))return b;e||(e=this.charsCache=Object.create(null)),b=[];var f,g=a,h=0;if(this.cMap)for(var i={};h<a.length;){this.cMap.readCharCode(a,h,i),d=i.charcode;var j=i.length;h+=j,c=this.charToGlyph(d),b.push(c),1===j&&32===a.charCodeAt(h-1)&&b.push(null)}else for(h=0,f=a.length;f>h;++h)d=a.charCodeAt(h),c=this.charToGlyph(d),b.push(c),32===d&&b.push(null);return e[g]=b}},d}(),ec=function(){function a(a){this.error=a,this.loadedName="g_font_error",this.loading=!1}return a.prototype={charsToGlyphs:function(){return[]},exportData:function(){return{error:this.error}}},a}(),fc=function(){function a(){this.width=0,this.lsb=0,this.flexing=!1,this.output=[],this.stack=[]}var c={hstem:[1],vstem:[3],vmoveto:[4],rlineto:[5],hlineto:[6],vlineto:[7],rrcurveto:[8],callsubr:[10],flex:[12,35],drop:[12,18],endchar:[14],rmoveto:[21],hmoveto:[22],vhcurveto:[30],hvcurveto:[31]};return a.prototype={convert:function(a,d){for(var e,f,g,h=a.length,i=!1,j=0;h>j;j++){var k=a[j];if(32>k){switch(12===k&&(k=(k<<8)+a[++j]),k){case 1:if(!Mb){this.stack=[];break}i=this.executeCommand(2,c.hstem);break;case 3:if(!Mb){this.stack=[];break}i=this.executeCommand(2,c.vstem);break;case 4:if(this.flexing){if(this.stack.length<1){i=!0;break}var l=this.stack.pop();this.stack.push(0,l);break}i=this.executeCommand(1,c.vmoveto);break;case 5:i=this.executeCommand(2,c.rlineto);break;case 6:i=this.executeCommand(1,c.hlineto);break;case 7:i=this.executeCommand(1,c.vlineto);break;case 8:i=this.executeCommand(6,c.rrcurveto);break;case 9:this.stack=[];break;case 10:if(this.stack.length<1){i=!0;break}g=this.stack.pop(),i=this.convert(d[g],d);break;case 11:return i;case 13:if(this.stack.length<2){i=!0;break}e=this.stack.pop(),f=this.stack.pop(),this.lsb=f,this.width=e,this.stack.push(e,f),i=this.executeCommand(2,c.hmoveto);break;case 14:this.output.push(c.endchar[0]);break;case 21:if(this.flexing)break;i=this.executeCommand(2,c.rmoveto);break;case 22:if(this.flexing){this.stack.push(0);break}i=this.executeCommand(1,c.hmoveto);break;case 30:i=this.executeCommand(4,c.vhcurveto);break;case 31:i=this.executeCommand(4,c.hvcurveto);break;case 3072:this.stack=[];break;case 3073:if(!Mb){this.stack=[];break}i=this.executeCommand(2,c.vstem);break;case 3074:if(!Mb){this.stack=[];break}i=this.executeCommand(2,c.hstem);break;case 3078:Nb?(this.seac=this.stack.splice(-4,4),i=this.executeCommand(0,c.endchar)):i=this.executeCommand(4,c.endchar);break;case 3079:if(this.stack.length<4){i=!0;break}this.stack.pop();e=this.stack.pop();var m=this.stack.pop();f=this.stack.pop(),this.lsb=f,this.width=e,this.stack.push(e,f,m),i=this.executeCommand(3,c.rmoveto);break;case 3084:if(this.stack.length<2){i=!0;break}var n=this.stack.pop(),o=this.stack.pop();this.stack.push(o/n);break;case 3088:if(this.stack.length<2){i=!0;break}g=this.stack.pop();var p=this.stack.pop();if(0===g&&3===p){var q=this.stack.splice(this.stack.length-17,17);this.stack.push(q[2]+q[0],q[3]+q[1],q[4],q[5],q[6],q[7],q[8],q[9],q[10],q[11],q[12],q[13],q[14]),i=this.executeCommand(13,c.flex,!0),this.flexing=!1,this.stack.push(q[15],q[16])}else 1===g&&0===p&&(this.flexing=!0);break;case 3089:break;case 3105:this.stack=[];break;default:b('Unknown type 1 charstring command of "'+k+'"')}if(i)break}else 246>=k?k-=139:k=250>=k?256*(k-247)+a[++j]+108:254>=k?-(256*(k-251))-a[++j]-108:(255&a[++j])<<24|(255&a[++j])<<16|(255&a[++j])<<8|(255&a[++j])<<0,this.stack.push(k)}return i},executeCommand:function(a,b,c){var d=this.stack.length;if(a>d)return!0;for(var e=d-a,f=e;d>f;f++){var g=this.stack[f];g===(0|g)?this.output.push(28,g>>8&255,255&g):(g=65536*g|0,this.output.push(255,g>>24&255,g>>16&255,g>>8&255,255&g))}return this.output.push.apply(this.output,b),c?this.stack.splice(e,a):this.stack.length=0,!1}},a}(),gc=function(){function a(a){return a>=48&&57>=a||a>=65&&70>=a||a>=97&&102>=a}function b(a,b,c){for(var d=0|b,e=52845,f=22719,g=a.length,h=new Uint8Array(g),i=0;g>i;i++){var j=a[i];h[i]=j^d>>8,d=(j+d)*e+f&65535}return Array.prototype.slice.call(h,c)}function c(b,c,d){var e,f,g=0|c,h=52845,i=22719,j=b.length,k=j>>>1,l=new Uint8Array(k);for(e=0,f=0;j>e;e++){var m=b[e];if(a(m)){e++;for(var n;j>e&&!a(n=b[e]);)e++;if(j>e){var o=parseInt(String.fromCharCode(m,n),16);l[f++]=o^g>>8,g=(o+g)*h+i&65535}}}return Array.prototype.slice.call(l,d,f)}function d(a){return 47===a||91===a||93===a||123===a||125===a||40===a||41===a}function e(d,e){if(e){var g=d.getBytes(),h=!(a(g[0])&&a(g[1])&&a(g[2])&&a(g[3]));d=new Mc(h?b(g,f,4):c(g,f,4))}this.stream=d,this.nextChar()}var f=55665,g=4330;return e.prototype={readNumberArray:function(){this.getToken();for(var a=[];;){var b=this.getToken();if(null===b||"]"===b||"}"===b)break;a.push(parseFloat(b||0))}return a},readNumber:function(){var a=this.getToken();return parseFloat(a||0)},readInt:function(){var a=this.getToken();return 0|parseInt(a||0,10)},readBoolean:function(){var a=this.getToken();return"true"===a?1:0},nextChar:function(){return this.currentChar=this.stream.getByte()},getToken:function(){for(var a=!1,b=this.currentChar;;){if(-1===b)return null;if(a)(10===b||13===b)&&(a=!1);else if(37===b)a=!0;else if(!Gc.isSpace(b))break;b=this.nextChar()}if(d(b))return this.nextChar(),String.fromCharCode(b);var c="";do c+=String.fromCharCode(b),b=this.nextChar();while(b>=0&&!Gc.isSpace(b)&&!d(b));return c},extractFontProgram:function(){for(var a,c,d,e,f,h=this.stream,i=[],j=[],k={subrs:[],charstrings:[],properties:{privateData:{lenIV:4}}};null!==(a=this.getToken());)if("/"===a)switch(a=this.getToken()){case"CharStrings":for(this.getToken(),this.getToken(),this.getToken(),this.getToken();;){if(a=this.getToken(),null===a||"end"===a)break;if("/"===a){var l=this.getToken();c=this.readInt(),this.getToken(),d=h.makeSubStream(h.pos,c),e=k.properties.privateData.lenIV,f=b(d.getBytes(),g,e),h.skip(c),this.nextChar(),a=this.getToken(),"noaccess"===a&&this.getToken(),j.push({glyph:l,encoded:f})}}break;case"Subrs":this.readInt();for(this.getToken();"dup"===(a=this.getToken());){var m=this.readInt();c=this.readInt(),this.getToken(),d=h.makeSubStream(h.pos,c),e=k.properties.privateData.lenIV,f=b(d.getBytes(),g,e),h.skip(c),this.nextChar(),a=this.getToken(),"noaccess"===a&&this.getToken(),i[m]=f}break;case"BlueValues":case"OtherBlues":case"FamilyBlues":case"FamilyOtherBlues":var n=this.readNumberArray();n.length>0&&n.length%2===0&&Mb&&(k.properties.privateData[a]=n);break;case"StemSnapH":case"StemSnapV":k.properties.privateData[a]=this.readNumberArray();break;case"StdHW":case"StdVW":k.properties.privateData[a]=this.readNumberArray()[0];break;case"BlueShift":case"lenIV":case"BlueFuzz":case"BlueScale":case"LanguageGroup":case"ExpansionFactor":k.properties.privateData[a]=this.readNumber();break;case"ForceBold":k.properties.privateData[a]=this.readBoolean()}for(var o=0;o<j.length;o++){l=j[o].glyph,f=j[o].encoded;var p=new fc,q=p.convert(f,i),r=p.output;q&&(r=[14]),k.charstrings.push({glyphName:l,charstring:r,width:p.width,lsb:p.lsb,seac:p.seac})}return k},extractFontHeader:function(a){for(var b;null!==(b=this.getToken());)if("/"===b)switch(b=this.getToken()){case"FontMatrix":var c=this.readNumberArray();a.fontMatrix=c;break;case"Encoding":var d,e=this.getToken();if(/^\d+$/.test(e)){d=[];var f=0|parseInt(e,10);this.getToken();for(var g=0;f>g;g++){for(b=this.getToken();"dup"!==b&&"def"!==b;)if(b=this.getToken(),null===b)return;if("def"===b)break;var h=this.readInt();this.getToken();var i=this.getToken();d[h]=i,this.getToken()}}else d=Pb[e];a.builtInEncoding=d;break;case"FontBBox":var j=this.readNumberArray();a.ascent=j[3],a.descent=j[1],a.ascentScaled=!0}}},e}(),hc=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","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","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","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","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],ic=function(a,b,c){var d=6,e=c.length1,f=c.length2,g=b.peekBytes(d),h=128===g[0]&&1===g[1];h&&(b.skip(d),e=g[5]<<24|g[4]<<16|g[3]<<8|g[2]);var i=new Mc(b.getBytes(e)),j=new gc(i);j.extractFontHeader(c),h&&(g=b.getBytes(d),f=g[5]<<24|g[4]<<16|g[3]<<8|g[2]);var k=new Mc(b.getBytes(f)),l=new gc(k,!0),m=l.extractFontProgram();for(var n in m.properties)c[n]=m.properties[n];var o=m.charstrings,p=this.getType2Charstrings(o),q=this.getType2Subrs(m.subrs);this.charstrings=o,this.data=this.wrap(a,p,this.charstrings,q,c),this.seacs=this.getSeacs(m.charstrings)};ic.prototype={get numGlyphs(){return this.charstrings.length+1},getCharset:function(){for(var a=[".notdef"],b=this.charstrings,c=0;c<b.length;c++)a.push(b[c].glyphName);return a},getGlyphMapping:function(a){var b,c=this.charstrings,d=[".notdef"];for(b=0;b<c.length;b++)d.push(c[b].glyphName);var e=a.builtInEncoding;if(e){var f={};for(var g in e)b=d.indexOf(e[g]),b>=0&&(f[g]=b)}return Q(a,f,d)},getSeacs:function(a){var b,c,d=[];for(b=0,c=a.length;c>b;b++){var e=a[b];e.seac&&(d[b+1]=e.seac)}return d},getType2Charstrings:function(a){for(var b=[],c=0,d=a.length;d>c;c++)b.push(a[c].charstring);return b},getType2Subrs:function(a){var b=0,c=a.length;b=1133>c?107:33769>c?1131:32768;var d,e=[];for(d=0;b>d;d++)e.push([11]);for(d=0;c>d;d++)e.push(a[d]);return e},wrap:function(a,b,c,d,e){var f=new lc;f.header=new mc(1,0,4,4),f.names=[a];var g=new qc;g.setByName("version",391),g.setByName("Notice",392),g.setByName("FullName",393),g.setByName("FamilyName",394),g.setByName("Weight",395),g.setByName("Encoding",null),g.setByName("FontMatrix",e.fontMatrix),g.setByName("FontBBox",e.bbox),g.setByName("charset",null),g.setByName("CharStrings",null),g.setByName("Private",null),f.topDict=g;var h=new nc;h.add("Version 0.11"),h.add("See original notice"),h.add(a),h.add(a),h.add("Medium"),f.strings=h,f.globalSubrIndex=new oc;var i,j,k=b.length,l=[0];for(i=0;k>i;i++){var m=hc.indexOf(c[i].glyphName);-1===m&&(m=0),l.push(m>>8&255,255&m)}f.charset=new tc(!1,0,[],l);var n=new oc;for(n.add([139,14]),i=0;k>i;i++)n.add(b[i]);f.charStrings=n;var o=new rc;o.setByName("Subrs",null);var p=["BlueValues","OtherBlues","FamilyBlues","FamilyOtherBlues","StemSnapH","StemSnapV","BlueShift","BlueFuzz","BlueScale","LanguageGroup","ExpansionFactor","ForceBold","StdHW","StdVW"];for(i=0,j=p.length;j>i;i++){var q=p[i];if(e.privateData.hasOwnProperty(q)){var r=e.privateData[q];if(C(r))for(var s=r.length-1;s>0;s--)r[s]-=r[s-1];o.setByName(q,r)}}f.topDict.privateDict=o;var t=new oc;for(i=0,j=d.length;j>i;i++)t.add(d[i]);o.subrsIndex=t;var u=new xc(f);return u.compile()}};var jc=function(){function a(a,c){this.properties=c;var d=new kc(a,c);this.cff=d.parse();var e=new xc(this.cff);this.seacs=this.cff.seacs;try{this.data=e.compile()}catch(f){b("Failed to compile font "+c.loadedName),this.data=a}}return a.prototype={get numGlyphs(){return this.cff.charStrings.count},getCharset:function(){return this.cff.charset.charset},getGlyphMapping:function(){var a,b,c=this.cff,d=this.properties,e=c.charset.charset;if(d.composite){if(a=Object.create(null),c.isCIDFont)for(b=0;b<e.length;b++){var f=e[b],g=d.cMap.charCodeOf(f);a[g]=b}else for(b=0;b<c.charStrings.count;b++)a[b]=b;return a}var h=c.encoding?c.encoding.encoding:null;return a=Q(d,h,e)}},a}(),kc=function(){function d(a,b){this.bytes=a.getBytes(),this.properties=b}var e=[null,{id:"hstem",min:2,stackClearing:!0,stem:!0},null,{id:"vstem",min:2,stackClearing:!0,stem:!0},{id:"vmoveto",min:1,stackClearing:!0},{id:"rlineto",min:2,resetStack:!0},{id:"hlineto",min:1,resetStack:!0},{id:"vlineto",min:1,resetStack:!0},{id:"rrcurveto",min:6,resetStack:!0},null,{id:"callsubr",min:1,undefStack:!0},{id:"return",min:0,undefStack:!0},null,null,{id:"endchar",min:0,stackClearing:!0},null,null,null,{id:"hstemhm",min:2,stackClearing:!0,stem:!0},{id:"hintmask",min:0,stackClearing:!0},{id:"cntrmask",min:0,stackClearing:!0},{id:"rmoveto",min:2,stackClearing:!0},{id:"hmoveto",min:1,stackClearing:!0},{id:"vstemhm",min:2,stackClearing:!0,stem:!0},{id:"rcurveline",min:8,resetStack:!0},{id:"rlinecurve",min:8,resetStack:!0},{id:"vvcurveto",min:4,resetStack:!0},{id:"hhcurveto",min:4,resetStack:!0},null,{id:"callgsubr",min:1,undefStack:!0},{id:"vhcurveto",min:4,resetStack:!0},{id:"hvcurveto",min:4,resetStack:!0}],f=[null,null,null,{id:"and",min:2,stackDelta:-1},{id:"or",min:2,stackDelta:-1},{id:"not",min:1,stackDelta:0},null,null,null,{id:"abs",min:1,stackDelta:0},{id:"add",min:2,stackDelta:-1,stackFn:function(a,b){a[b-2]=a[b-2]+a[b-1]}},{id:"sub",min:2,stackDelta:-1,stackFn:function(a,b){a[b-2]=a[b-2]-a[b-1]}},{id:"div",min:2,stackDelta:-1,stackFn:function(a,b){a[b-2]=a[b-2]/a[b-1]}},null,{id:"neg",min:1,stackDelta:0,stackFn:function(a,b){a[b-1]=-a[b-1]}},{id:"eq",min:2,stackDelta:-1},null,null,{id:"drop",min:1,stackDelta:-1},null,{id:"put",min:2,stackDelta:-2},{id:"get",min:1,stackDelta:0},{id:"ifelse",min:4,stackDelta:-3},{id:"random",min:0,stackDelta:1},{id:"mul",min:2,stackDelta:-1,stackFn:function(a,b){a[b-2]=a[b-2]*a[b-1]}},null,{id:"sqrt",min:1,stackDelta:0},{id:"dup",min:1,stackDelta:1},{id:"exch",min:2,stackDelta:0},{id:"index",min:2,stackDelta:0},{id:"roll",min:3,stackDelta:-2},null,null,null,{id:"hflex",min:7,resetStack:!0},{id:"flex",min:13,resetStack:!0},{id:"hflex1",min:9,resetStack:!0},{id:"flex1",min:11,resetStack:!0}];return d.prototype={parse:function(){var a=this.properties,b=new lc;this.cff=b;var c=this.parseHeader(),d=this.parseIndex(c.endPos),e=this.parseIndex(d.endPos),f=this.parseIndex(e.endPos),g=this.parseIndex(f.endPos),h=this.parseDict(e.obj.get(0)),i=this.createDict(qc,h,b.strings);b.header=c.obj,b.names=this.parseNameIndex(d.obj),b.strings=this.parseStringIndex(f.obj),b.topDict=i,b.globalSubrIndex=g.obj,this.parsePrivateDict(b.topDict),b.isCIDFont=i.hasName("ROS");var j=i.getByName("CharStrings"),k=this.parseCharStrings(j);b.charStrings=k.charStrings,b.seacs=k.seacs,b.widths=k.widths;var l=i.getByName("FontMatrix");l&&(a.fontMatrix=l);var m=i.getByName("FontBBox");m&&(a.ascent=m[3],a.descent=m[1],a.ascentScaled=!0);var n,o;if(b.isCIDFont){for(var p=this.parseIndex(i.getByName("FDArray")).obj,q=0,r=p.count;r>q;++q){var s=p.get(q),t=this.createDict(qc,this.parseDict(s),b.strings);this.parsePrivateDict(t),b.fdArray.push(t)}o=null,n=this.parseCharsets(i.getByName("charset"),b.charStrings.count,b.strings,!0),b.fdSelect=this.parseFDSelect(i.getByName("FDSelect"),b.charStrings.count)}else n=this.parseCharsets(i.getByName("charset"),b.charStrings.count,b.strings,!1),o=this.parseEncoding(i.getByName("Encoding"),a,b.strings,n.charset);return b.charset=n,b.encoding=o,b},parseHeader:function(){for(var b=this.bytes,d=b.length,e=0;d>e&&1!==b[e];)++e;e>=d?c("Invalid CFF header"):0!==e&&(a("cff data is shifted"),b=b.subarray(e),this.bytes=b);var f=b[0],g=b[1],h=b[2],i=b[3],j=new mc(f,g,h,i);return{obj:j,endPos:h}},parseDict:function(a){function b(){var b=a[e++];return 30===b?d(e):28===b?(b=a[e++],b=(b<<24|a[e++]<<16)>>16):29===b?(b=a[e++],b=b<<8|a[e++],b=b<<8|a[e++],b=b<<8|a[e++]):b>=32&&246>=b?b-139:b>=247&&250>=b?256*(b-247)+a[e++]+108:b>=251&&254>=b?-(256*(b-251))-a[e++]-108:(c("255 is not a valid DICT command"),-1)}function d(){for(var b="",c=15,d=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"],f=a.length;f>e;){var g=a[e++],h=g>>4,i=15&g;if(h===c)break;if(b+=d[h],i===c)break;b+=d[i]}return parseFloat(b)}var e=0,f=[],g=[];e=0;for(var h=a.length;h>e;){var i=a[e];21>=i?(12===i&&(i=i<<8|a[++e]),g.push([i,f]),f=[],++e):f.push(b())}return g},parseIndex:function(a){var b,c,d=new oc,e=this.bytes,f=e[a++]<<8|e[a++],g=[],h=a;if(0!==f){var i=e[a++],j=a+(f+1)*i-1;for(b=0,c=f+1;c>b;++b){for(var k=0,l=0;i>l;++l)k<<=8,k+=e[a++];g.push(j+k)}h=g[f]}for(b=0,c=g.length-1;c>b;++b){var m=g[b],n=g[b+1];d.add(e.subarray(m,n))}return{obj:d,endPos:h}},parseNameIndex:function(a){for(var b=[],c=0,d=a.count;d>c;++c){for(var e=a.get(c),f=Math.min(e.length,127),g=[],h=0;f>h;++h){var j=e[h];(0!==h||0!==j)&&(33>j||j>126||91===j||93===j||40===j||41===j||123===j||125===j||60===j||62===j||47===j||37===j||35===j)?g[h]=95:g[h]=j}b.push(i(g))}return b},parseStringIndex:function(a){for(var b=new nc,c=0,d=a.count;d>c;++c){var e=a.get(c);b.add(i(e))}return b},createDict:function(a,b,c){for(var d=new a(c),e=0,f=b.length;f>e;++e){var g=b[e],h=g[0],i=g[1];d.setByKey(h,i)}return d},parseCharStrings:function(a){for(var c=this.parseIndex(a).obj,d=[],g=[],h=c.count,i=0;h>i;i++){for(var j=c.get(i),k=0,l=[],m=!0,n=0,o=!0,p=j,q=p.length,r=!0,s=0;q>s;){var t=p[s++],u=null;if(12===t){var v=p[s++];0===v?(p[s-2]=139,p[s-1]=22,k=0):u=f[v]}else 28===t?(l[k]=(p[s]<<24|p[s+1]<<16)>>16,s+=2,k++):14===t?(k>=4&&(k-=4,Nb&&(d[i]=l.slice(k,k+4),o=!1)),u=e[t]):t>=32&&246>=t?(l[k]=t-139,k++):t>=247&&254>=t?(l[k]=251>t?(t-247<<8)+p[s]+108:-(t-251<<8)-p[s]-108,s++,k++):255===t?(l[k]=(p[s]<<24|p[s+1]<<16|p[s+2]<<8|p[s+3])/65536,s+=4,k++):19===t||20===t?(n+=k>>1,s+=n+7>>3,k%=2,u=e[t]):u=e[t];if(u){if(u.stem&&(n+=k>>1),"min"in u&&!m&&k<u.min){b("Not enough parameters for "+u.id+"; actual: "+k+", expected: "+u.min),o=!1;break}r&&u.stackClearing&&(r=!1,k-=u.min,k>=2&&u.stem?k%=2:k>1&&b("Found too many parameters for stack-clearing command"),k>0&&l[k-1]>=0&&(g[i]=l[k-1])),"stackDelta"in u?("stackFn"in u&&u.stackFn(l,k),k+=u.stackDelta):u.stackClearing?k=0:u.resetStack?(k=0,m=!1):u.undefStack&&(k=0,m=!0,r=!1)}}o||c.set(i,new Uint8Array([14]))}return{charStrings:c,seacs:d,widths:g}},emptyPrivateDictionary:function(a){var b=this.createDict(rc,[],a.strings);a.setByKey(18,[0,0]),a.privateDict=b},parsePrivateDict:function(a){if(!a.hasName("Private"))return void this.emptyPrivateDictionary(a);var b=a.getByName("Private");if(!C(b)||2!==b.length)return void a.removeByName("Private");var c=b[0],d=b[1];if(0===c||d>=this.bytes.length)return void this.emptyPrivateDictionary(a);var e=d+c,f=this.bytes.subarray(d,e),g=this.parseDict(f),h=this.createDict(rc,g,a.strings);if(a.privateDict=h,h.getByName("Subrs")){var i=h.getByName("Subrs"),j=d+i;if(0===i||j>=this.bytes.length)return void this.emptyPrivateDictionary(a);var k=this.parseIndex(j);h.subrsIndex=k.obj}},parseCharsets:function(a,b,d,e){if(0===a)return new tc(!0,sc.ISO_ADOBE,Ja);if(1===a)return new tc(!0,sc.EXPERT,Ka);if(2===a)return new tc(!0,sc.EXPERT_SUBSET,La);var f,g,h,i=this.bytes,j=a,k=i[a++],l=[".notdef"];switch(b-=1,k){case 0:for(h=0;b>h;h++)f=i[a++]<<8|i[a++],l.push(e?f:d.get(f));break;case 1:for(;l.length<=b;)for(f=i[a++]<<8|i[a++],g=i[a++],h=0;g>=h;h++)l.push(e?f++:d.get(f++));break;case 2:for(;l.length<=b;)for(f=i[a++]<<8|i[a++],g=i[a++]<<8|i[a++],h=0;g>=h;h++)l.push(e?f++:d.get(f++));break;default:c("Unknown charset format")}var m=a,n=i.subarray(j,m);return new tc(!1,k,l,n)},parseEncoding:function(a,b,d,e){function f(){var b=k[a++];for(h=0;b>h;h++){var c=k[a++],f=(k[a++]<<8)+(255&k[a++]);j[c]=e.indexOf(d.get(f))}}var g,h,i,j={},k=this.bytes,l=!1,m=!1,n=null;if(0===a||1===a){l=!0,g=a;var o=a?Pb.ExpertEncoding:Pb.StandardEncoding;for(h=0,i=e.length;i>h;h++){var p=o.indexOf(e[h]);-1!==p&&(j[p]=h)}}else{var q=a;switch(g=k[a++],127&g){case 0:var r=k[a++];for(h=1;r>=h;h++)j[k[a++]]=h;break;case 1:var s=k[a++],t=1;for(h=0;s>h;h++)for(var u=k[a++],v=k[a++],w=u;u+v>=w;w++)j[w]=t++;break;default:c("Unknow encoding format: "+g+" in CFF")}var x=a;128&g&&(k[q]&=127,f(),m=!0),n=k.subarray(q,x)}return g=127&g,new uc(l,g,j,n)},parseFDSelect:function(a,b){var d,e=a,f=this.bytes,g=f[a++],h=[];switch(g){case 0:for(d=0;b>d;++d){var i=f[a++];h.push(i)}break;case 3:var j=f[a++]<<8|f[a++];for(d=0;j>d;++d)for(var k=f[a++]<<8|f[a++],l=f[a++],m=f[a]<<8|f[a+1],n=k;m>n;++n)h.push(l);a+=2;break;default:c("Unknown fdselect format "+g)}var o=a;return new vc(h,f.subarray(e,o))}},d}(),lc=function(){function a(){this.header=null,this.names=[],this.topDict=null,this.strings=new nc,this.globalSubrIndex=null,this.encoding=null,this.charset=null,this.charStrings=null,this.fdArray=[],this.fdSelect=null,this.isCIDFont=!1}return a}(),mc=function(){function a(a,b,c,d){this.major=a,this.minor=b,this.hdrSize=c,this.offSize=d}return a}(),nc=function(){function a(){this.strings=[]}return a.prototype={get:function(a){return a>=0&&390>=a?hc[a]:a-391<=this.strings.length?this.strings[a-391]:hc[0]},add:function(a){this.strings.push(a)},get count(){return this.strings.length}},a}(),oc=function(){function a(){this.objects=[],this.length=0}return a.prototype={add:function(a){this.length+=a.length,this.objects.push(a)},set:function(a,b){this.length+=b.length-this.objects[a].length,this.objects[a]=b},get:function(a){return this.objects[a]},get count(){return this.objects.length}},a}(),pc=function(){function a(a,b){this.keyToNameMap=a.keyToNameMap,this.nameToKeyMap=a.nameToKeyMap,this.defaults=a.defaults,this.types=a.types,this.opcodes=a.opcodes,this.order=a.order,this.strings=b,this.values={}}return a.prototype={setByKey:function(a,b){if(!(a in this.keyToNameMap))return!1;if(0===b.length)return!0;var c=this.types[a];return("num"===c||"sid"===c||"offset"===c)&&(b=b[0]),this.values[a]=b,!0},setByName:function(a,b){a in this.nameToKeyMap||c('Invalid dictionary name "'+a+'"'),this.values[this.nameToKeyMap[a]]=b},hasName:function(a){return this.nameToKeyMap[a]in this.values},getByName:function(a){a in this.nameToKeyMap||c('Invalid dictionary name "'+a+'"');
+var b=this.nameToKeyMap[a];return b in this.values?this.values[b]:this.defaults[b]},removeByName:function(a){delete this.values[this.nameToKeyMap[a]]}},a.createTables=function(a){for(var b={keyToNameMap:{},nameToKeyMap:{},defaults:{},types:{},opcodes:{},order:[]},c=0,d=a.length;d>c;++c){var e=a[c],f=C(e[0])?(e[0][0]<<8)+e[0][1]:e[0];b.keyToNameMap[f]=e[1],b.nameToKeyMap[e[1]]=f,b.types[f]=e[2],b.defaults[f]=e[3],b.opcodes[f]=C(e[0])?e[0]:[e[0]],b.order.push(f)}return b},a}(),qc=function(){function a(a){null===c&&(c=pc.createTables(b)),pc.call(this,c,a),this.privateDict=null}var b=[[[12,30],"ROS",["sid","sid","num"],null],[[12,20],"SyntheticBase","num",null],[0,"version","sid",null],[1,"Notice","sid",null],[[12,0],"Copyright","sid",null],[2,"FullName","sid",null],[3,"FamilyName","sid",null],[4,"Weight","sid",null],[[12,1],"isFixedPitch","num",0],[[12,2],"ItalicAngle","num",0],[[12,3],"UnderlinePosition","num",-100],[[12,4],"UnderlineThickness","num",50],[[12,5],"PaintType","num",0],[[12,6],"CharstringType","num",2],[[12,7],"FontMatrix",["num","num","num","num","num","num"],[.001,0,0,.001,0,0]],[13,"UniqueID","num",null],[5,"FontBBox",["num","num","num","num"],[0,0,0,0]],[[12,8],"StrokeWidth","num",0],[14,"XUID","array",null],[15,"charset","offset",0],[16,"Encoding","offset",0],[17,"CharStrings","offset",0],[18,"Private",["offset","offset"],null],[[12,21],"PostScript","sid",null],[[12,22],"BaseFontName","sid",null],[[12,23],"BaseFontBlend","delta",null],[[12,31],"CIDFontVersion","num",0],[[12,32],"CIDFontRevision","num",0],[[12,33],"CIDFontType","num",0],[[12,34],"CIDCount","num",8720],[[12,35],"UIDBase","num",null],[[12,37],"FDSelect","offset",null],[[12,36],"FDArray","offset",null],[[12,38],"FontName","sid",null]],c=null;return a.prototype=Object.create(pc.prototype),a}(),rc=function(){function a(a){null===c&&(c=pc.createTables(b)),pc.call(this,c,a),this.subrsIndex=null}var b=[[6,"BlueValues","delta",null],[7,"OtherBlues","delta",null],[8,"FamilyBlues","delta",null],[9,"FamilyOtherBlues","delta",null],[[12,9],"BlueScale","num",.039625],[[12,10],"BlueShift","num",7],[[12,11],"BlueFuzz","num",1],[10,"StdHW","num",null],[11,"StdVW","num",null],[[12,12],"StemSnapH","delta",null],[[12,13],"StemSnapV","delta",null],[[12,14],"ForceBold","num",0],[[12,17],"LanguageGroup","num",0],[[12,18],"ExpansionFactor","num",.06],[[12,19],"initialRandomSeed","num",0],[20,"defaultWidthX","num",0],[21,"nominalWidthX","num",0],[19,"Subrs","offset",null]],c=null;return a.prototype=Object.create(pc.prototype),a}(),sc={ISO_ADOBE:0,EXPERT:1,EXPERT_SUBSET:2},tc=function(){function a(a,b,c,d){this.predefined=a,this.format=b,this.charset=c,this.raw=d}return a}(),uc=function(){function a(a,b,c,d){this.predefined=a,this.format=b,this.encoding=c,this.raw=d}return a}(),vc=function(){function a(a,b){this.fdSelect=a,this.raw=b}return a}(),wc=function(){function a(){this.offsets={}}return a.prototype={isTracking:function(a){return a in this.offsets},track:function(a,b){a in this.offsets&&c("Already tracking location of "+a),this.offsets[a]=b},offset:function(a){for(var b in this.offsets)this.offsets[b]+=a},setEntryLocation:function(a,b,d){a in this.offsets||c("Not tracking location of "+a);for(var e=d.data,f=this.offsets[a],g=5,h=0,i=b.length;i>h;++h){var j=h*g+f,k=j+1,l=j+2,m=j+3,n=j+4;(29!==e[j]||0!==e[k]||0!==e[l]||0!==e[m]||0!==e[n])&&c("writing to an offset that is not empty");var o=b[h];e[j]=29,e[k]=o>>24&255,e[l]=o>>16&255,e[m]=o>>8&255,e[n]=255&o}}},a}(),xc=function(){function a(a){this.cff=a}return a.prototype={compile:function(){var a=this.cff,b={data:[],length:0,add:function(a){this.data=this.data.concat(a),this.length=this.data.length}},c=this.compileHeader(a.header);b.add(c);var d=this.compileNameIndex(a.names);if(b.add(d),a.isCIDFont&&a.topDict.hasName("FontMatrix")){var e=a.topDict.getByName("FontMatrix");a.topDict.removeByName("FontMatrix");for(var f=0,g=a.fdArray.length;g>f;f++){var h=a.fdArray[f],i=e.slice(0);h.hasName("FontMatrix")&&(i=na.transform(i,h.getByName("FontMatrix"))),h.setByName("FontMatrix",i)}}var j=this.compileTopDicts([a.topDict],b.length,a.isCIDFont);b.add(j.output);var k=j.trackers[0],l=this.compileStringIndex(a.strings.strings);b.add(l);var m=this.compileIndex(a.globalSubrIndex);if(b.add(m),a.encoding&&a.topDict.hasName("Encoding"))if(a.encoding.predefined)k.setEntryLocation("Encoding",[a.encoding.format],b);else{var n=this.compileEncoding(a.encoding);k.setEntryLocation("Encoding",[b.length],b),b.add(n)}if(a.charset&&a.topDict.hasName("charset"))if(a.charset.predefined)k.setEntryLocation("charset",[a.charset.format],b);else{var o=this.compileCharset(a.charset);k.setEntryLocation("charset",[b.length],b),b.add(o)}var p=this.compileCharStrings(a.charStrings);if(k.setEntryLocation("CharStrings",[b.length],b),b.add(p),a.isCIDFont){k.setEntryLocation("FDSelect",[b.length],b);var q=this.compileFDSelect(a.fdSelect.raw);b.add(q),j=this.compileTopDicts(a.fdArray,b.length,!0),k.setEntryLocation("FDArray",[b.length],b),b.add(j.output);var r=j.trackers;this.compilePrivateDicts(a.fdArray,r,b)}return this.compilePrivateDicts([a.topDict],[k],b),b.add([0]),b.data},encodeNumber:function(a){return parseFloat(a)!==parseInt(a,10)||isNaN(a)?this.encodeFloat(a):this.encodeInteger(a)},encodeFloat:function(a){var b=a.toString(),c=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(b);if(c){var d=parseFloat("1e"+((c[2]?+c[2]:0)+c[1].length));b=(Math.round(a*d)/d).toString()}var e,f,g="";for(e=0,f=b.length;f>e;++e){var h=b[e];g+="e"===h?"-"===b[++e]?"c":"b":"."===h?"a":"-"===h?"e":h}g+=1&g.length?"f":"ff";var i=[30];for(e=0,f=g.length;f>e;e+=2)i.push(parseInt(g.substr(e,2),16));return i},encodeInteger:function(a){var b;return a>=-107&&107>=a?b=[a+139]:a>=108&&1131>=a?(a=[a-108],b=[(a>>8)+247,255&a]):a>=-1131&&-108>=a?(a=-a-108,b=[(a>>8)+251,255&a]):b=a>=-32768&&32767>=a?[28,a>>8&255,255&a]:[29,a>>24&255,a>>16&255,a>>8&255,255&a],b},compileHeader:function(a){return[a.major,a.minor,a.hdrSize,a.offSize]},compileNameIndex:function(a){for(var b=new oc,c=0,d=a.length;d>c;++c)b.add(j(a[c]));return this.compileIndex(b)},compileTopDicts:function(a,b,c){for(var d=[],e=new oc,f=0,g=a.length;g>f;++f){var h=a[f];c&&(h.removeByName("CIDFontVersion"),h.removeByName("CIDFontRevision"),h.removeByName("CIDFontType"),h.removeByName("CIDCount"),h.removeByName("UIDBase"));var i=new wc,j=this.compileDict(h,i);d.push(i),e.add(j),i.offset(b)}return e=this.compileIndex(e,d),{trackers:d,output:e}},compilePrivateDicts:function(a,b,c){for(var d=0,f=a.length;f>d;++d){var g=a[d];e(g.privateDict&&g.hasName("Private"),"There must be an private dictionary.");var h=g.privateDict,i=new wc,j=this.compileDict(h,i),k=c.length;if(i.offset(k),j.length||(k=0),b[d].setEntryLocation("Private",[j.length,k],c),c.add(j),h.subrsIndex&&h.hasName("Subrs")){var l=this.compileIndex(h.subrsIndex);i.setEntryLocation("Subrs",[j.length],c),c.add(l)}}},compileDict:function(a,b){for(var d=[],e=a.order,f=0;f<e.length;++f){var g=e[f];if(g in a.values){var h=a.values[g],i=a.types[g];if(C(i)||(i=[i]),C(h)||(h=[h]),0!==h.length){for(var j=0,k=i.length;k>j;++j){var l=i[j],m=h[j];switch(l){case"num":case"sid":d=d.concat(this.encodeNumber(m));break;case"offset":var n=a.keyToNameMap[g];b.isTracking(n)||b.track(n,d.length),d=d.concat([29,0,0,0,0]);break;case"array":case"delta":d=d.concat(this.encodeNumber(m));for(var o=1,p=h.length;p>o;++o)d=d.concat(this.encodeNumber(h[o]));break;default:c("Unknown data type of "+l)}}d=d.concat(a.opcodes[g])}}}return d},compileStringIndex:function(a){for(var b=new oc,c=0,d=a.length;d>c;++c)b.add(j(a[c]));return this.compileIndex(b)},compileGlobalSubrIndex:function(){var a=this.cff.globalSubrIndex;this.out.writeByteArray(this.compileIndex(a))},compileCharStrings:function(a){return this.compileIndex(a)},compileCharset:function(a){return this.compileTypedArray(a.raw)},compileEncoding:function(a){return this.compileTypedArray(a.raw)},compileFDSelect:function(a){return this.compileTypedArray(a)},compileTypedArray:function(a){for(var b=[],c=0,d=a.length;d>c;++c)b[c]=a[c];return b},compileIndex:function(a,b){b=b||[];var c=a.objects,d=c.length;if(0===d)return[0,0,0];var e,f=[d>>8&255,255&d],g=1;for(e=0;d>e;++e)g+=c[e].length;var h;h=256>g?1:65536>g?2:16777216>g?3:4,f.push(h);var i=1;for(e=0;d+1>e;e++)1===h?f.push(255&i):2===h?f.push(i>>8&255,255&i):3===h?f.push(i>>16&255,i>>8&255,255&i):f.push(i>>>24&255,i>>16&255,i>>8&255,255&i),c[e]&&(i+=c[e].length);for(e=0;d>e;e++){b[e]&&b[e].offset(f.length);for(var j=0,k=c[e].length;k>j;j++)f.push(c[e][j])}return f}},a}();!function(){/Windows/.test(navigator.userAgent)&&(Nb=!0)}(),function(){/Windows.*Chrome/.test(navigator.userAgent)&&(Kb=!0)}();var yc=function(){function a(a,b){return a[b]<<24|a[b+1]<<16|a[b+2]<<8|a[b+3]}function b(a,b){return a[b]<<8|a[b+1]}function d(d,e,f){var g,h,i,j,k=1===b(d,e+2)?a(d,e+8):a(d,e+16),l=b(d,e+k);if(4===l){g=b(d,e+k+2);var m=b(d,e+k+6)>>1;for(i=e+k+14,h=[],j=0;m>j;j++,i+=2)h[j]={end:b(d,i)};for(i+=2,j=0;m>j;j++,i+=2)h[j].start=b(d,i);for(j=0;m>j;j++,i+=2)h[j].idDelta=b(d,i);for(j=0;m>j;j++,i+=2){var n=b(d,i);if(0!==n){h[j].ids=[];for(var o=0,p=h[j].end-h[j].start+1;p>o;o++)h[j].ids[o]=b(d,i+n),n+=2}}return h}if(12===l){g=a(d,e+k+4);var q=a(d,e+k+12);for(i=e+k+16,h=[],j=0;q>j;j++)h.push({start:a(d,i),end:a(d,i+4),idDelta:a(d,i+8)-a(d,i)}),i+=12;return h}c("not supported cmap: "+l)}function e(a,b,c){var d={},e=new kc(new Mc(a,b,c-b),d),f=e.parse();return{glyphs:f.charStrings.objects,subrs:f.topDict.privateDict&&f.topDict.privateDict.subrsIndex&&f.topDict.privateDict.subrsIndex.objects,gsubrs:f.globalSubrIndex&&f.globalSubrIndex.objects}}function f(a,b,c){var d,e;c?(d=4,e=function(a,b){return a[b]<<24|a[b+1]<<16|a[b+2]<<8|a[b+3]}):(d=2,e=function(a,b){return a[b]<<9|a[b+1]<<1});for(var f=[],g=e(b,0),h=d;h<b.length;h+=d){var i=e(b,h);f.push(a.subarray(g,i)),g=i}return f}function g(a,b){for(var c=b.charCodeAt(0),d=0,e=a.length-1;e>d;){var f=d+e+1>>1;c<a[f].start?e=f-1:d=f}return a[d].start<=c&&c<=a[d].end?a[d].idDelta+(a[d].ids?a[d].ids[c-a[d].start]:c)&65535:0}function h(a,b,c){function d(a,c){b.push({cmd:"moveTo",args:[a,c]})}function e(a,c){b.push({cmd:"lineTo",args:[a,c]})}function f(a,c,d,e){b.push({cmd:"quadraticCurveTo",args:[a,c,d,e]})}var g,i=0,j=(a[i]<<24|a[i+1]<<16)>>16,k=0,l=0;if(i+=10,0>j){do{g=a[i]<<8|a[i+1];var m=a[i+2]<<8|a[i+3];i+=4;var n,o;1&g?(n=(a[i]<<24|a[i+1]<<16)>>16,o=(a[i+2]<<24|a[i+3]<<16)>>16,i+=4):(n=a[i++],o=a[i++]),2&g?(k=n,l=o):(k=0,l=0);var p=1,q=1,r=0,s=0;8&g?(p=q=(a[i]<<24|a[i+1]<<16)/1073741824,i+=2):64&g?(p=(a[i]<<24|a[i+1]<<16)/1073741824,q=(a[i+2]<<24|a[i+3]<<16)/1073741824,i+=4):128&g&&(p=(a[i]<<24|a[i+1]<<16)/1073741824,r=(a[i+2]<<24|a[i+3]<<16)/1073741824,s=(a[i+4]<<24|a[i+5]<<16)/1073741824,q=(a[i+6]<<24|a[i+7]<<16)/1073741824,i+=8);var t=c.glyphs[m];t&&(b.push({cmd:"save"}),b.push({cmd:"transform",args:[p,r,s,q,k,l]}),h(t,b,c),b.push({cmd:"restore"}))}while(32&g)}else{var u,v,w=[];for(u=0;j>u;u++)w.push(a[i]<<8|a[i+1]),i+=2;var x=a[i]<<8|a[i+1];i+=2+x;for(var y=w[w.length-1]+1,z=[];z.length<y;){g=a[i++];var A=1;for(8&g&&(A+=a[i++]);A-- >0;)z.push({flags:g})}for(u=0;y>u;u++){switch(18&z[u].flags){case 0:k+=(a[i]<<24|a[i+1]<<16)>>16,i+=2;break;case 2:k-=a[i++];break;case 18:k+=a[i++]}z[u].x=k}for(u=0;y>u;u++){switch(36&z[u].flags){case 0:l+=(a[i]<<24|a[i+1]<<16)>>16,i+=2;break;case 4:l-=a[i++];break;case 36:l+=a[i++]}z[u].y=l}var B=0;for(i=0;j>i;i++){var C=w[i],D=z.slice(B,C+1);if(1&D[0].flags)D.push(D[0]);else if(1&D[D.length-1].flags)D.unshift(D[D.length-1]);else{var E={flags:1,x:(D[0].x+D[D.length-1].x)/2,y:(D[0].y+D[D.length-1].y)/2};D.unshift(E),D.push(E)}for(d(D[0].x,D[0].y),u=1,v=D.length;v>u;u++)1&D[u].flags?e(D[u].x,D[u].y):1&D[u+1].flags?(f(D[u].x,D[u].y,D[u+1].x,D[u+1].y),u++):f(D[u].x,D[u].y,(D[u].x+D[u+1].x)/2,(D[u].y+D[u+1].y)/2);B=C+1}}}function j(a,b,d){function e(a,c){b.push({cmd:"moveTo",args:[a,c]})}function f(a,c){b.push({cmd:"lineTo",args:[a,c]})}function h(a,c,d,e,f,g){b.push({cmd:"bezierCurveTo",args:[a,c,d,e,f,g]})}function i(a){for(var o=0;o<a.length;){var p,q,r,s,t,u,v,w,x,y=!1,z=a[o++];switch(z){case 1:n+=k.length>>1,y=!0;break;case 3:n+=k.length>>1,y=!0;break;case 4:m+=k.pop(),e(l,m),y=!0;break;case 5:for(;k.length>0;)l+=k.shift(),m+=k.shift(),f(l,m);break;case 6:for(;k.length>0&&(l+=k.shift(),f(l,m),0!==k.length);)m+=k.shift(),f(l,m);break;case 7:for(;k.length>0&&(m+=k.shift(),f(l,m),0!==k.length);)l+=k.shift(),f(l,m);break;case 8:for(;k.length>0;)p=l+k.shift(),r=m+k.shift(),q=p+k.shift(),s=r+k.shift(),l=q+k.shift(),m=s+k.shift(),h(p,r,q,s,l,m);break;case 10:w=k.pop()+d.subrsBias,x=d.subrs[w],x&&i(x);break;case 11:return;case 12:switch(z=a[o++]){case 34:p=l+k.shift(),q=p+k.shift(),t=m+k.shift(),l=q+k.shift(),h(p,m,q,t,l,t),p=l+k.shift(),q=p+k.shift(),l=q+k.shift(),h(p,t,q,m,l,m);break;case 35:p=l+k.shift(),r=m+k.shift(),q=p+k.shift(),s=r+k.shift(),l=q+k.shift(),m=s+k.shift(),h(p,r,q,s,l,m),p=l+k.shift(),r=m+k.shift(),q=p+k.shift(),s=r+k.shift(),l=q+k.shift(),m=s+k.shift(),h(p,r,q,s,l,m),k.pop();break;case 36:p=l+k.shift(),t=m+k.shift(),q=p+k.shift(),u=t+k.shift(),l=q+k.shift(),h(p,t,q,u,l,u),p=l+k.shift(),q=p+k.shift(),v=u+k.shift(),l=q+k.shift(),h(p,u,q,v,l,m);break;case 37:var A=l,B=m;p=l+k.shift(),r=m+k.shift(),q=p+k.shift(),s=r+k.shift(),l=q+k.shift(),m=s+k.shift(),h(p,r,q,s,l,m),p=l+k.shift(),r=m+k.shift(),q=p+k.shift(),s=r+k.shift(),l=q,m=s,Math.abs(l-A)>Math.abs(m-B)?l+=k.shift():m+=k.shift(),h(p,r,q,s,l,m);break;default:c("unknown operator: 12 "+z)}break;case 14:if(k.length>=4){var C=k.pop(),D=k.pop();m=k.pop(),l=k.pop(),b.push({cmd:"save"}),b.push({cmd:"translate",args:[l,m]});var E=g(d.cmap,String.fromCharCode(d.glyphNameMap[Pb.StandardEncoding[C]]));j(d.glyphs[E],b,d),b.push({cmd:"restore"}),E=g(d.cmap,String.fromCharCode(d.glyphNameMap[Pb.StandardEncoding[D]])),j(d.glyphs[E],b,d)}return;case 18:n+=k.length>>1,y=!0;break;case 19:n+=k.length>>1,o+=n+7>>3,y=!0;break;case 20:n+=k.length>>1,o+=n+7>>3,y=!0;break;case 21:m+=k.pop(),l+=k.pop(),e(l,m),y=!0;break;case 22:l+=k.pop(),e(l,m),y=!0;break;case 23:n+=k.length>>1,y=!0;break;case 24:for(;k.length>2;)p=l+k.shift(),r=m+k.shift(),q=p+k.shift(),s=r+k.shift(),l=q+k.shift(),m=s+k.shift(),h(p,r,q,s,l,m);l+=k.shift(),m+=k.shift(),f(l,m);break;case 25:for(;k.length>6;)l+=k.shift(),m+=k.shift(),f(l,m);p=l+k.shift(),r=m+k.shift(),q=p+k.shift(),s=r+k.shift(),l=q+k.shift(),m=s+k.shift(),h(p,r,q,s,l,m);break;case 26:for(k.length%2&&(l+=k.shift());k.length>0;)p=l,r=m+k.shift(),q=p+k.shift(),s=r+k.shift(),l=q,m=s+k.shift(),h(p,r,q,s,l,m);break;case 27:for(k.length%2&&(m+=k.shift());k.length>0;)p=l+k.shift(),r=m,q=p+k.shift(),s=r+k.shift(),l=q+k.shift(),m=s,h(p,r,q,s,l,m);break;case 28:k.push((a[o]<<24|a[o+1]<<16)>>16),o+=2;break;case 29:w=k.pop()+d.gsubrsBias,x=d.gsubrs[w],x&&i(x);break;case 30:for(;k.length>0&&(p=l,r=m+k.shift(),q=p+k.shift(),s=r+k.shift(),l=q+k.shift(),m=s+(1===k.length?k.shift():0),h(p,r,q,s,l,m),0!==k.length);)p=l+k.shift(),r=m,q=p+k.shift(),s=r+k.shift(),m=s+k.shift(),l=q+(1===k.length?k.shift():0),h(p,r,q,s,l,m);break;case 31:for(;k.length>0&&(p=l+k.shift(),r=m,q=p+k.shift(),s=r+k.shift(),m=s+k.shift(),l=q+(1===k.length?k.shift():0),h(p,r,q,s,l,m),0!==k.length);)p=l,r=m+k.shift(),q=p+k.shift(),s=r+k.shift(),l=q+k.shift(),m=s+(1===k.length?k.shift():0),h(p,r,q,s,l,m);break;default:32>z&&c("unknown operator: "+z),247>z?k.push(z-139):251>z?k.push(256*(z-247)+a[o++]+108):255>z?k.push(256*-(z-251)-a[o++]-108):(k.push((a[o]<<24|a[o+1]<<16|a[o+2]<<8|a[o+3])/65536),o+=4)}y&&(k.length=0)}}var k=[],l=0,m=0,n=0;i(a)}function k(a){this.compiledGlyphs={},this.fontMatrix=a}function l(a,b,c){c=c||[488e-6,0,0,488e-6,0,0],k.call(this,c),this.glyphs=a,this.cmap=b,this.compiledGlyphs=[]}function m(a,b,c,d){c=c||[.001,0,0,.001,0,0],k.call(this,c),this.glyphs=a.glyphs,this.gsubrs=a.gsubrs||[],this.subrs=a.subrs||[],this.cmap=b,this.glyphNameMap=d||zc,this.compiledGlyphs=[],this.gsubrsBias=this.gsubrs.length<1240?107:this.gsubrs.length<33900?1131:32768,this.subrsBias=this.subrs.length<1240?107:this.subrs.length<33900?1131:32768}var n="";return k.prototype={getPathJs:function(a){var b=g(this.cmap,a),c=this.compiledGlyphs[b];return c||(this.compiledGlyphs[b]=c=this.compileGlyph(this.glyphs[b])),c},compileGlyph:function(a){if(!a||0===a.length||14===a[0])return n;var b=[];return b.push({cmd:"save"}),b.push({cmd:"transform",args:this.fontMatrix.slice()}),b.push({cmd:"scale",args:["size","-size"]}),this.compileGlyphImpl(a,b),b.push({cmd:"restore"}),b},compileGlyphImpl:function(){c("Children classes should implement this.")},hasBuiltPath:function(a){var b=g(this.cmap,a);return b in this.compiledGlyphs}},na.inherit(l,k,{compileGlyphImpl:function(a,b){h(a,b,this)}}),na.inherit(m,k,{compileGlyphImpl:function(a,b){j(a,b,this)}}),{create:function(c){for(var g,h,j,k,n,o,p=new Uint8Array(c.data),q=b(p,4),r=0,s=12;q>r;r++,s+=16){var t=i(p.subarray(s,s+4)),u=a(p,s+8),v=a(p,s+12);switch(t){case"cmap":g=d(p,u,u+v);break;case"glyf":h=p.subarray(u,u+v);break;case"loca":j=p.subarray(u,u+v);break;case"head":o=b(p,u+18),n=b(p,u+50);break;case"CFF ":k=e(p,u,u+v)}}if(h){var w=o?[1/o,0,0,1/o,0,0]:c.fontMatrix;return new l(f(h,j,n),g,w)}return new m(k,g,c.fontMatrix,c.glyphNameMap)}}}(),zc={A:65,AE:198,AEacute:508,AEmacron:482,AEsmall:63462,Aacute:193,Aacutesmall:63457,Abreve:258,Abreveacute:7854,Abrevecyrillic:1232,Abrevedotbelow:7862,Abrevegrave:7856,Abrevehookabove:7858,Abrevetilde:7860,Acaron:461,Acircle:9398,Acircumflex:194,Acircumflexacute:7844,Acircumflexdotbelow:7852,Acircumflexgrave:7846,Acircumflexhookabove:7848,Acircumflexsmall:63458,Acircumflextilde:7850,Acute:63177,Acutesmall:63412,Acyrillic:1040,Adblgrave:512,Adieresis:196,Adieresiscyrillic:1234,Adieresismacron:478,Adieresissmall:63460,Adotbelow:7840,Adotmacron:480,Agrave:192,Agravesmall:63456,Ahookabove:7842,Aiecyrillic:1236,Ainvertedbreve:514,Alpha:913,Alphatonos:902,Amacron:256,Amonospace:65313,Aogonek:260,Aring:197,Aringacute:506,Aringbelow:7680,Aringsmall:63461,Asmall:63329,Atilde:195,Atildesmall:63459,Aybarmenian:1329,B:66,Bcircle:9399,Bdotaccent:7682,Bdotbelow:7684,Becyrillic:1041,Benarmenian:1330,Beta:914,Bhook:385,Blinebelow:7686,Bmonospace:65314,Brevesmall:63220,Bsmall:63330,Btopbar:386,C:67,Caarmenian:1342,Cacute:262,Caron:63178,Caronsmall:63221,Ccaron:268,Ccedilla:199,Ccedillaacute:7688,Ccedillasmall:63463,Ccircle:9400,Ccircumflex:264,Cdot:266,Cdotaccent:266,Cedillasmall:63416,Chaarmenian:1353,Cheabkhasiancyrillic:1212,Checyrillic:1063,Chedescenderabkhasiancyrillic:1214,Chedescendercyrillic:1206,Chedieresiscyrillic:1268,Cheharmenian:1347,Chekhakassiancyrillic:1227,Cheverticalstrokecyrillic:1208,Chi:935,Chook:391,Circumflexsmall:63222,Cmonospace:65315,Coarmenian:1361,Csmall:63331,D:68,DZ:497,DZcaron:452,Daarmenian:1332,Dafrican:393,Dcaron:270,Dcedilla:7696,Dcircle:9401,Dcircumflexbelow:7698,Dcroat:272,Ddotaccent:7690,Ddotbelow:7692,Decyrillic:1044,Deicoptic:1006,Delta:8710,Deltagreek:916,Dhook:394,Dieresis:63179,DieresisAcute:63180,DieresisGrave:63181,Dieresissmall:63400,Digammagreek:988,Djecyrillic:1026,Dlinebelow:7694,Dmonospace:65316,Dotaccentsmall:63223,Dslash:272,Dsmall:63332,Dtopbar:395,Dz:498,Dzcaron:453,Dzeabkhasiancyrillic:1248,Dzecyrillic:1029,Dzhecyrillic:1039,E:69,Eacute:201,Eacutesmall:63465,Ebreve:276,Ecaron:282,Ecedillabreve:7708,Echarmenian:1333,Ecircle:9402,Ecircumflex:202,Ecircumflexacute:7870,Ecircumflexbelow:7704,Ecircumflexdotbelow:7878,Ecircumflexgrave:7872,Ecircumflexhookabove:7874,Ecircumflexsmall:63466,Ecircumflextilde:7876,Ecyrillic:1028,Edblgrave:516,Edieresis:203,Edieresissmall:63467,Edot:278,Edotaccent:278,Edotbelow:7864,Efcyrillic:1060,Egrave:200,Egravesmall:63464,Eharmenian:1335,Ehookabove:7866,Eightroman:8551,Einvertedbreve:518,Eiotifiedcyrillic:1124,Elcyrillic:1051,Elevenroman:8554,Emacron:274,Emacronacute:7702,Emacrongrave:7700,Emcyrillic:1052,Emonospace:65317,Encyrillic:1053,Endescendercyrillic:1186,Eng:330,Enghecyrillic:1188,Enhookcyrillic:1223,Eogonek:280,Eopen:400,Epsilon:917,Epsilontonos:904,Ercyrillic:1056,Ereversed:398,Ereversedcyrillic:1069,Escyrillic:1057,Esdescendercyrillic:1194,Esh:425,Esmall:63333,Eta:919,Etarmenian:1336,Etatonos:905,Eth:208,Ethsmall:63472,Etilde:7868,Etildebelow:7706,Euro:8364,Ezh:439,Ezhcaron:494,Ezhreversed:440,F:70,Fcircle:9403,Fdotaccent:7710,Feharmenian:1366,Feicoptic:996,Fhook:401,Fitacyrillic:1138,Fiveroman:8548,Fmonospace:65318,Fourroman:8547,Fsmall:63334,G:71,GBsquare:13191,Gacute:500,Gamma:915,Gammaafrican:404,Gangiacoptic:1002,Gbreve:286,Gcaron:486,Gcedilla:290,Gcircle:9404,Gcircumflex:284,Gcommaaccent:290,Gdot:288,Gdotaccent:288,Gecyrillic:1043,Ghadarmenian:1346,Ghemiddlehookcyrillic:1172,Ghestrokecyrillic:1170,Gheupturncyrillic:1168,Ghook:403,Gimarmenian:1331,Gjecyrillic:1027,Gmacron:7712,Gmonospace:65319,Grave:63182,Gravesmall:63328,Gsmall:63335,Gsmallhook:667,Gstroke:484,H:72,H18533:9679,H18543:9642,H18551:9643,H22073:9633,HPsquare:13259,Haabkhasiancyrillic:1192,Hadescendercyrillic:1202,Hardsigncyrillic:1066,Hbar:294,Hbrevebelow:7722,Hcedilla:7720,Hcircle:9405,Hcircumflex:292,Hdieresis:7718,Hdotaccent:7714,Hdotbelow:7716,Hmonospace:65320,Hoarmenian:1344,Horicoptic:1e3,Hsmall:63336,Hungarumlaut:63183,Hungarumlautsmall:63224,Hzsquare:13200,I:73,IAcyrillic:1071,IJ:306,IUcyrillic:1070,Iacute:205,Iacutesmall:63469,Ibreve:300,Icaron:463,Icircle:9406,Icircumflex:206,Icircumflexsmall:63470,Icyrillic:1030,Idblgrave:520,Idieresis:207,Idieresisacute:7726,Idieresiscyrillic:1252,Idieresissmall:63471,Idot:304,Idotaccent:304,Idotbelow:7882,Iebrevecyrillic:1238,Iecyrillic:1045,Ifraktur:8465,Igrave:204,Igravesmall:63468,Ihookabove:7880,Iicyrillic:1048,Iinvertedbreve:522,Iishortcyrillic:1049,Imacron:298,Imacroncyrillic:1250,Imonospace:65321,Iniarmenian:1339,Iocyrillic:1025,Iogonek:302,Iota:921,Iotaafrican:406,Iotadieresis:938,Iotatonos:906,Ismall:63337,Istroke:407,Itilde:296,Itildebelow:7724,Izhitsacyrillic:1140,Izhitsadblgravecyrillic:1142,J:74,Jaarmenian:1345,Jcircle:9407,Jcircumflex:308,Jecyrillic:1032,Jheharmenian:1355,Jmonospace:65322,Jsmall:63338,K:75,KBsquare:13189,KKsquare:13261,Kabashkircyrillic:1184,Kacute:7728,Kacyrillic:1050,Kadescendercyrillic:1178,Kahookcyrillic:1219,Kappa:922,Kastrokecyrillic:1182,Kaverticalstrokecyrillic:1180,Kcaron:488,Kcedilla:310,Kcircle:9408,Kcommaaccent:310,Kdotbelow:7730,Keharmenian:1364,Kenarmenian:1343,Khacyrillic:1061,Kheicoptic:998,Khook:408,Kjecyrillic:1036,Klinebelow:7732,Kmonospace:65323,Koppacyrillic:1152,Koppagreek:990,Ksicyrillic:1134,Ksmall:63339,L:76,LJ:455,LL:63167,Lacute:313,Lambda:923,Lcaron:317,Lcedilla:315,Lcircle:9409,Lcircumflexbelow:7740,Lcommaaccent:315,Ldot:319,Ldotaccent:319,Ldotbelow:7734,Ldotbelowmacron:7736,Liwnarmenian:1340,Lj:456,Ljecyrillic:1033,Llinebelow:7738,Lmonospace:65324,Lslash:321,Lslashsmall:63225,Lsmall:63340,M:77,MBsquare:13190,Macron:63184,Macronsmall:63407,Macute:7742,Mcircle:9410,Mdotaccent:7744,Mdotbelow:7746,Menarmenian:1348,Mmonospace:65325,Msmall:63341,Mturned:412,Mu:924,N:78,NJ:458,Nacute:323,Ncaron:327,Ncedilla:325,Ncircle:9411,Ncircumflexbelow:7754,Ncommaaccent:325,Ndotaccent:7748,Ndotbelow:7750,Nhookleft:413,Nineroman:8552,Nj:459,Njecyrillic:1034,Nlinebelow:7752,Nmonospace:65326,Nowarmenian:1350,Nsmall:63342,Ntilde:209,Ntildesmall:63473,Nu:925,O:79,OE:338,OEsmall:63226,Oacute:211,Oacutesmall:63475,Obarredcyrillic:1256,Obarreddieresiscyrillic:1258,Obreve:334,Ocaron:465,Ocenteredtilde:415,Ocircle:9412,Ocircumflex:212,Ocircumflexacute:7888,Ocircumflexdotbelow:7896,Ocircumflexgrave:7890,Ocircumflexhookabove:7892,Ocircumflexsmall:63476,Ocircumflextilde:7894,Ocyrillic:1054,Odblacute:336,Odblgrave:524,Odieresis:214,Odieresiscyrillic:1254,Odieresissmall:63478,Odotbelow:7884,Ogoneksmall:63227,Ograve:210,Ogravesmall:63474,Oharmenian:1365,Ohm:8486,Ohookabove:7886,Ohorn:416,Ohornacute:7898,Ohorndotbelow:7906,Ohorngrave:7900,Ohornhookabove:7902,Ohorntilde:7904,Ohungarumlaut:336,Oi:418,Oinvertedbreve:526,Omacron:332,Omacronacute:7762,Omacrongrave:7760,Omega:8486,Omegacyrillic:1120,Omegagreek:937,Omegaroundcyrillic:1146,Omegatitlocyrillic:1148,Omegatonos:911,Omicron:927,Omicrontonos:908,Omonospace:65327,Oneroman:8544,Oogonek:490,Oogonekmacron:492,Oopen:390,Oslash:216,Oslashacute:510,Oslashsmall:63480,Osmall:63343,Ostrokeacute:510,Otcyrillic:1150,Otilde:213,Otildeacute:7756,Otildedieresis:7758,Otildesmall:63477,P:80,Pacute:7764,Pcircle:9413,Pdotaccent:7766,Pecyrillic:1055,Peharmenian:1354,Pemiddlehookcyrillic:1190,Phi:934,Phook:420,Pi:928,Piwrarmenian:1363,Pmonospace:65328,Psi:936,Psicyrillic:1136,Psmall:63344,Q:81,Qcircle:9414,Qmonospace:65329,Qsmall:63345,R:82,Raarmenian:1356,Racute:340,Rcaron:344,Rcedilla:342,Rcircle:9415,Rcommaaccent:342,Rdblgrave:528,Rdotaccent:7768,Rdotbelow:7770,Rdotbelowmacron:7772,Reharmenian:1360,Rfraktur:8476,Rho:929,Ringsmall:63228,Rinvertedbreve:530,Rlinebelow:7774,Rmonospace:65330,Rsmall:63346,Rsmallinverted:641,Rsmallinvertedsuperior:694,S:83,SF010000:9484,SF020000:9492,SF030000:9488,SF040000:9496,SF050000:9532,SF060000:9516,SF070000:9524,SF080000:9500,SF090000:9508,SF100000:9472,SF110000:9474,SF190000:9569,SF200000:9570,SF210000:9558,SF220000:9557,SF230000:9571,SF240000:9553,SF250000:9559,SF260000:9565,SF270000:9564,SF280000:9563,SF360000:9566,SF370000:9567,SF380000:9562,SF390000:9556,SF400000:9577,SF410000:9574,SF420000:9568,SF430000:9552,SF440000:9580,SF450000:9575,SF460000:9576,SF470000:9572,SF480000:9573,SF490000:9561,SF500000:9560,SF510000:9554,SF520000:9555,SF530000:9579,SF540000:9578,Sacute:346,Sacutedotaccent:7780,Sampigreek:992,Scaron:352,Scarondotaccent:7782,Scaronsmall:63229,Scedilla:350,Schwa:399,Schwacyrillic:1240,Schwadieresiscyrillic:1242,Scircle:9416,Scircumflex:348,Scommaaccent:536,Sdotaccent:7776,Sdotbelow:7778,Sdotbelowdotaccent:7784,Seharmenian:1357,Sevenroman:8550,Shaarmenian:1351,Shacyrillic:1064,Shchacyrillic:1065,Sheicoptic:994,Shhacyrillic:1210,Shimacoptic:1004,Sigma:931,Sixroman:8549,Smonospace:65331,Softsigncyrillic:1068,Ssmall:63347,Stigmagreek:986,T:84,Tau:932,Tbar:358,Tcaron:356,Tcedilla:354,Tcircle:9417,Tcircumflexbelow:7792,Tcommaaccent:354,Tdotaccent:7786,Tdotbelow:7788,Tecyrillic:1058,Tedescendercyrillic:1196,Tenroman:8553,Tetsecyrillic:1204,Theta:920,Thook:428,Thorn:222,Thornsmall:63486,Threeroman:8546,Tildesmall:63230,Tiwnarmenian:1359,Tlinebelow:7790,Tmonospace:65332,Toarmenian:1337,Tonefive:444,Tonesix:388,Tonetwo:423,Tretroflexhook:430,Tsecyrillic:1062,Tshecyrillic:1035,Tsmall:63348,Twelveroman:8555,Tworoman:8545,U:85,Uacute:218,Uacutesmall:63482,Ubreve:364,Ucaron:467,Ucircle:9418,Ucircumflex:219,Ucircumflexbelow:7798,Ucircumflexsmall:63483,Ucyrillic:1059,Udblacute:368,Udblgrave:532,Udieresis:220,Udieresisacute:471,Udieresisbelow:7794,Udieresiscaron:473,Udieresiscyrillic:1264,Udieresisgrave:475,Udieresismacron:469,Udieresissmall:63484,Udotbelow:7908,Ugrave:217,Ugravesmall:63481,Uhookabove:7910,Uhorn:431,Uhornacute:7912,Uhorndotbelow:7920,Uhorngrave:7914,Uhornhookabove:7916,Uhorntilde:7918,Uhungarumlaut:368,Uhungarumlautcyrillic:1266,Uinvertedbreve:534,Ukcyrillic:1144,Umacron:362,Umacroncyrillic:1262,Umacrondieresis:7802,Umonospace:65333,Uogonek:370,Upsilon:933,Upsilon1:978,Upsilonacutehooksymbolgreek:979,Upsilonafrican:433,Upsilondieresis:939,Upsilondieresishooksymbolgreek:980,Upsilonhooksymbol:978,Upsilontonos:910,Uring:366,Ushortcyrillic:1038,Usmall:63349,Ustraightcyrillic:1198,Ustraightstrokecyrillic:1200,Utilde:360,Utildeacute:7800,Utildebelow:7796,V:86,Vcircle:9419,Vdotbelow:7806,Vecyrillic:1042,Vewarmenian:1358,Vhook:434,Vmonospace:65334,Voarmenian:1352,Vsmall:63350,Vtilde:7804,W:87,Wacute:7810,Wcircle:9420,Wcircumflex:372,Wdieresis:7812,Wdotaccent:7814,Wdotbelow:7816,Wgrave:7808,Wmonospace:65335,Wsmall:63351,X:88,Xcircle:9421,Xdieresis:7820,Xdotaccent:7818,Xeharmenian:1341,Xi:926,Xmonospace:65336,Xsmall:63352,Y:89,Yacute:221,Yacutesmall:63485,Yatcyrillic:1122,Ycircle:9422,Ycircumflex:374,Ydieresis:376,Ydieresissmall:63487,Ydotaccent:7822,Ydotbelow:7924,Yericyrillic:1067,Yerudieresiscyrillic:1272,Ygrave:7922,Yhook:435,Yhookabove:7926,Yiarmenian:1349,Yicyrillic:1031,Yiwnarmenian:1362,Ymonospace:65337,Ysmall:63353,Ytilde:7928,Yusbigcyrillic:1130,Yusbigiotifiedcyrillic:1132,Yuslittlecyrillic:1126,Yuslittleiotifiedcyrillic:1128,Z:90,Zaarmenian:1334,Zacute:377,Zcaron:381,Zcaronsmall:63231,Zcircle:9423,Zcircumflex:7824,Zdot:379,Zdotaccent:379,Zdotbelow:7826,Zecyrillic:1047,Zedescendercyrillic:1176,Zedieresiscyrillic:1246,Zeta:918,Zhearmenian:1338,Zhebrevecyrillic:1217,Zhecyrillic:1046,Zhedescendercyrillic:1174,Zhedieresiscyrillic:1244,Zlinebelow:7828,Zmonospace:65338,Zsmall:63354,Zstroke:437,a:97,aabengali:2438,aacute:225,aadeva:2310,aagujarati:2694,aagurmukhi:2566,aamatragurmukhi:2622,aarusquare:13059,aavowelsignbengali:2494,aavowelsigndeva:2366,aavowelsigngujarati:2750,abbreviationmarkarmenian:1375,abbreviationsigndeva:2416,abengali:2437,abopomofo:12570,abreve:259,abreveacute:7855,abrevecyrillic:1233,abrevedotbelow:7863,abrevegrave:7857,abrevehookabove:7859,abrevetilde:7861,acaron:462,acircle:9424,acircumflex:226,acircumflexacute:7845,acircumflexdotbelow:7853,acircumflexgrave:7847,acircumflexhookabove:7849,acircumflextilde:7851,acute:180,acutebelowcmb:791,acutecmb:769,acutecomb:769,acutedeva:2388,acutelowmod:719,acutetonecmb:833,acyrillic:1072,adblgrave:513,addakgurmukhi:2673,adeva:2309,adieresis:228,adieresiscyrillic:1235,adieresismacron:479,adotbelow:7841,adotmacron:481,ae:230,aeacute:509,aekorean:12624,aemacron:483,afii00208:8213,afii08941:8356,afii10017:1040,afii10018:1041,afii10019:1042,afii10020:1043,afii10021:1044,afii10022:1045,afii10023:1025,afii10024:1046,afii10025:1047,afii10026:1048,afii10027:1049,afii10028:1050,afii10029:1051,afii10030:1052,afii10031:1053,afii10032:1054,afii10033:1055,afii10034:1056,afii10035:1057,afii10036:1058,afii10037:1059,afii10038:1060,afii10039:1061,afii10040:1062,afii10041:1063,afii10042:1064,afii10043:1065,afii10044:1066,afii10045:1067,afii10046:1068,afii10047:1069,afii10048:1070,afii10049:1071,afii10050:1168,afii10051:1026,afii10052:1027,afii10053:1028,afii10054:1029,afii10055:1030,afii10056:1031,afii10057:1032,afii10058:1033,afii10059:1034,afii10060:1035,afii10061:1036,afii10062:1038,afii10063:63172,afii10064:63173,afii10065:1072,afii10066:1073,afii10067:1074,afii10068:1075,afii10069:1076,afii10070:1077,afii10071:1105,afii10072:1078,afii10073:1079,afii10074:1080,afii10075:1081,afii10076:1082,afii10077:1083,afii10078:1084,afii10079:1085,afii10080:1086,afii10081:1087,afii10082:1088,afii10083:1089,afii10084:1090,afii10085:1091,afii10086:1092,afii10087:1093,afii10088:1094,afii10089:1095,afii10090:1096,afii10091:1097,afii10092:1098,afii10093:1099,afii10094:1100,afii10095:1101,afii10096:1102,afii10097:1103,afii10098:1169,afii10099:1106,afii10100:1107,afii10101:1108,afii10102:1109,afii10103:1110,afii10104:1111,afii10105:1112,afii10106:1113,afii10107:1114,afii10108:1115,afii10109:1116,afii10110:1118,afii10145:1039,afii10146:1122,afii10147:1138,afii10148:1140,afii10192:63174,afii10193:1119,afii10194:1123,afii10195:1139,afii10196:1141,afii10831:63175,afii10832:63176,afii10846:1241,afii299:8206,afii300:8207,afii301:8205,afii57381:1642,afii57388:1548,afii57392:1632,afii57393:1633,afii57394:1634,afii57395:1635,afii57396:1636,afii57397:1637,afii57398:1638,afii57399:1639,afii57400:1640,afii57401:1641,afii57403:1563,afii57407:1567,afii57409:1569,afii57410:1570,afii57411:1571,afii57412:1572,afii57413:1573,afii57414:1574,afii57415:1575,afii57416:1576,afii57417:1577,afii57418:1578,afii57419:1579,afii57420:1580,afii57421:1581,afii57422:1582,afii57423:1583,afii57424:1584,afii57425:1585,afii57426:1586,afii57427:1587,afii57428:1588,afii57429:1589,afii57430:1590,afii57431:1591,afii57432:1592,afii57433:1593,afii57434:1594,afii57440:1600,afii57441:1601,afii57442:1602,afii57443:1603,afii57444:1604,afii57445:1605,afii57446:1606,afii57448:1608,afii57449:1609,afii57450:1610,afii57451:1611,afii57452:1612,afii57453:1613,afii57454:1614,afii57455:1615,afii57456:1616,afii57457:1617,afii57458:1618,afii57470:1607,afii57505:1700,afii57506:1662,afii57507:1670,afii57508:1688,afii57509:1711,afii57511:1657,
+afii57512:1672,afii57513:1681,afii57514:1722,afii57519:1746,afii57534:1749,afii57636:8362,afii57645:1470,afii57658:1475,afii57664:1488,afii57665:1489,afii57666:1490,afii57667:1491,afii57668:1492,afii57669:1493,afii57670:1494,afii57671:1495,afii57672:1496,afii57673:1497,afii57674:1498,afii57675:1499,afii57676:1500,afii57677:1501,afii57678:1502,afii57679:1503,afii57680:1504,afii57681:1505,afii57682:1506,afii57683:1507,afii57684:1508,afii57685:1509,afii57686:1510,afii57687:1511,afii57688:1512,afii57689:1513,afii57690:1514,afii57694:64298,afii57695:64299,afii57700:64331,afii57705:64287,afii57716:1520,afii57717:1521,afii57718:1522,afii57723:64309,afii57793:1460,afii57794:1461,afii57795:1462,afii57796:1467,afii57797:1464,afii57798:1463,afii57799:1456,afii57800:1458,afii57801:1457,afii57802:1459,afii57803:1474,afii57804:1473,afii57806:1465,afii57807:1468,afii57839:1469,afii57841:1471,afii57842:1472,afii57929:700,afii61248:8453,afii61289:8467,afii61352:8470,afii61573:8236,afii61574:8237,afii61575:8238,afii61664:8204,afii63167:1645,afii64937:701,agrave:224,agujarati:2693,agurmukhi:2565,ahiragana:12354,ahookabove:7843,aibengali:2448,aibopomofo:12574,aideva:2320,aiecyrillic:1237,aigujarati:2704,aigurmukhi:2576,aimatragurmukhi:2632,ainarabic:1593,ainfinalarabic:65226,aininitialarabic:65227,ainmedialarabic:65228,ainvertedbreve:515,aivowelsignbengali:2504,aivowelsigndeva:2376,aivowelsigngujarati:2760,akatakana:12450,akatakanahalfwidth:65393,akorean:12623,alef:1488,alefarabic:1575,alefdageshhebrew:64304,aleffinalarabic:65166,alefhamzaabovearabic:1571,alefhamzaabovefinalarabic:65156,alefhamzabelowarabic:1573,alefhamzabelowfinalarabic:65160,alefhebrew:1488,aleflamedhebrew:64335,alefmaddaabovearabic:1570,alefmaddaabovefinalarabic:65154,alefmaksuraarabic:1609,alefmaksurafinalarabic:65264,alefmaksurainitialarabic:65267,alefmaksuramedialarabic:65268,alefpatahhebrew:64302,alefqamatshebrew:64303,aleph:8501,allequal:8780,alpha:945,alphatonos:940,amacron:257,amonospace:65345,ampersand:38,ampersandmonospace:65286,ampersandsmall:63270,amsquare:13250,anbopomofo:12578,angbopomofo:12580,angbracketleft:12296,angbracketright:12297,angkhankhuthai:3674,angle:8736,anglebracketleft:12296,anglebracketleftvertical:65087,anglebracketright:12297,anglebracketrightvertical:65088,angleleft:9001,angleright:9002,angstrom:8491,anoteleia:903,anudattadeva:2386,anusvarabengali:2434,anusvaradeva:2306,anusvaragujarati:2690,aogonek:261,apaatosquare:13056,aparen:9372,apostrophearmenian:1370,apostrophemod:700,apple:63743,approaches:8784,approxequal:8776,approxequalorimage:8786,approximatelyequal:8773,araeaekorean:12686,araeakorean:12685,arc:8978,arighthalfring:7834,aring:229,aringacute:507,aringbelow:7681,arrowboth:8596,arrowdashdown:8675,arrowdashleft:8672,arrowdashright:8674,arrowdashup:8673,arrowdblboth:8660,arrowdbldown:8659,arrowdblleft:8656,arrowdblright:8658,arrowdblup:8657,arrowdown:8595,arrowdownleft:8601,arrowdownright:8600,arrowdownwhite:8681,arrowheaddownmod:709,arrowheadleftmod:706,arrowheadrightmod:707,arrowheadupmod:708,arrowhorizex:63719,arrowleft:8592,arrowleftdbl:8656,arrowleftdblstroke:8653,arrowleftoverright:8646,arrowleftwhite:8678,arrowright:8594,arrowrightdblstroke:8655,arrowrightheavy:10142,arrowrightoverleft:8644,arrowrightwhite:8680,arrowtableft:8676,arrowtabright:8677,arrowup:8593,arrowupdn:8597,arrowupdnbse:8616,arrowupdownbase:8616,arrowupleft:8598,arrowupleftofdown:8645,arrowupright:8599,arrowupwhite:8679,arrowvertex:63718,asciicircum:94,asciicircummonospace:65342,asciitilde:126,asciitildemonospace:65374,ascript:593,ascriptturned:594,asmallhiragana:12353,asmallkatakana:12449,asmallkatakanahalfwidth:65383,asterisk:42,asteriskaltonearabic:1645,asteriskarabic:1645,asteriskmath:8727,asteriskmonospace:65290,asterisksmall:65121,asterism:8258,asuperior:63209,asymptoticallyequal:8771,at:64,atilde:227,atmonospace:65312,atsmall:65131,aturned:592,aubengali:2452,aubopomofo:12576,audeva:2324,augujarati:2708,augurmukhi:2580,aulengthmarkbengali:2519,aumatragurmukhi:2636,auvowelsignbengali:2508,auvowelsigndeva:2380,auvowelsigngujarati:2764,avagrahadeva:2365,aybarmenian:1377,ayin:1506,ayinaltonehebrew:64288,ayinhebrew:1506,b:98,babengali:2476,backslash:92,backslashmonospace:65340,badeva:2348,bagujarati:2732,bagurmukhi:2604,bahiragana:12400,bahtthai:3647,bakatakana:12496,bar:124,barmonospace:65372,bbopomofo:12549,bcircle:9425,bdotaccent:7683,bdotbelow:7685,beamedsixteenthnotes:9836,because:8757,becyrillic:1073,beharabic:1576,behfinalarabic:65168,behinitialarabic:65169,behiragana:12409,behmedialarabic:65170,behmeeminitialarabic:64671,behmeemisolatedarabic:64520,behnoonfinalarabic:64621,bekatakana:12505,benarmenian:1378,bet:1489,beta:946,betasymbolgreek:976,betdagesh:64305,betdageshhebrew:64305,bethebrew:1489,betrafehebrew:64332,bhabengali:2477,bhadeva:2349,bhagujarati:2733,bhagurmukhi:2605,bhook:595,bihiragana:12403,bikatakana:12499,bilabialclick:664,bindigurmukhi:2562,birusquare:13105,blackcircle:9679,blackdiamond:9670,blackdownpointingtriangle:9660,blackleftpointingpointer:9668,blackleftpointingtriangle:9664,blacklenticularbracketleft:12304,blacklenticularbracketleftvertical:65083,blacklenticularbracketright:12305,blacklenticularbracketrightvertical:65084,blacklowerlefttriangle:9699,blacklowerrighttriangle:9698,blackrectangle:9644,blackrightpointingpointer:9658,blackrightpointingtriangle:9654,blacksmallsquare:9642,blacksmilingface:9787,blacksquare:9632,blackstar:9733,blackupperlefttriangle:9700,blackupperrighttriangle:9701,blackuppointingsmalltriangle:9652,blackuppointingtriangle:9650,blank:9251,blinebelow:7687,block:9608,bmonospace:65346,bobaimaithai:3610,bohiragana:12412,bokatakana:12508,bparen:9373,bqsquare:13251,braceex:63732,braceleft:123,braceleftbt:63731,braceleftmid:63730,braceleftmonospace:65371,braceleftsmall:65115,bracelefttp:63729,braceleftvertical:65079,braceright:125,bracerightbt:63742,bracerightmid:63741,bracerightmonospace:65373,bracerightsmall:65116,bracerighttp:63740,bracerightvertical:65080,bracketleft:91,bracketleftbt:63728,bracketleftex:63727,bracketleftmonospace:65339,bracketlefttp:63726,bracketright:93,bracketrightbt:63739,bracketrightex:63738,bracketrightmonospace:65341,bracketrighttp:63737,breve:728,brevebelowcmb:814,brevecmb:774,breveinvertedbelowcmb:815,breveinvertedcmb:785,breveinverteddoublecmb:865,bridgebelowcmb:810,bridgeinvertedbelowcmb:826,brokenbar:166,bstroke:384,bsuperior:63210,btopbar:387,buhiragana:12406,bukatakana:12502,bullet:8226,bulletinverse:9688,bulletoperator:8729,bullseye:9678,c:99,caarmenian:1390,cabengali:2458,cacute:263,cadeva:2330,cagujarati:2714,cagurmukhi:2586,calsquare:13192,candrabindubengali:2433,candrabinducmb:784,candrabindudeva:2305,candrabindugujarati:2689,capslock:8682,careof:8453,caron:711,caronbelowcmb:812,caroncmb:780,carriagereturn:8629,cbopomofo:12568,ccaron:269,ccedilla:231,ccedillaacute:7689,ccircle:9426,ccircumflex:265,ccurl:597,cdot:267,cdotaccent:267,cdsquare:13253,cedilla:184,cedillacmb:807,cent:162,centigrade:8451,centinferior:63199,centmonospace:65504,centoldstyle:63394,centsuperior:63200,chaarmenian:1401,chabengali:2459,chadeva:2331,chagujarati:2715,chagurmukhi:2587,chbopomofo:12564,cheabkhasiancyrillic:1213,checkmark:10003,checyrillic:1095,chedescenderabkhasiancyrillic:1215,chedescendercyrillic:1207,chedieresiscyrillic:1269,cheharmenian:1395,chekhakassiancyrillic:1228,cheverticalstrokecyrillic:1209,chi:967,chieuchacirclekorean:12919,chieuchaparenkorean:12823,chieuchcirclekorean:12905,chieuchkorean:12618,chieuchparenkorean:12809,chochangthai:3594,chochanthai:3592,chochingthai:3593,chochoethai:3596,chook:392,cieucacirclekorean:12918,cieucaparenkorean:12822,cieuccirclekorean:12904,cieuckorean:12616,cieucparenkorean:12808,cieucuparenkorean:12828,circle:9675,circlecopyrt:169,circlemultiply:8855,circleot:8857,circleplus:8853,circlepostalmark:12342,circlewithlefthalfblack:9680,circlewithrighthalfblack:9681,circumflex:710,circumflexbelowcmb:813,circumflexcmb:770,clear:8999,clickalveolar:450,clickdental:448,clicklateral:449,clickretroflex:451,club:9827,clubsuitblack:9827,clubsuitwhite:9831,cmcubedsquare:13220,cmonospace:65347,cmsquaredsquare:13216,coarmenian:1409,colon:58,colonmonetary:8353,colonmonospace:65306,colonsign:8353,colonsmall:65109,colontriangularhalfmod:721,colontriangularmod:720,comma:44,commaabovecmb:787,commaaboverightcmb:789,commaaccent:63171,commaarabic:1548,commaarmenian:1373,commainferior:63201,commamonospace:65292,commareversedabovecmb:788,commareversedmod:701,commasmall:65104,commasuperior:63202,commaturnedabovecmb:786,commaturnedmod:699,compass:9788,congruent:8773,contourintegral:8750,control:8963,controlACK:6,controlBEL:7,controlBS:8,controlCAN:24,controlCR:13,controlDC1:17,controlDC2:18,controlDC3:19,controlDC4:20,controlDEL:127,controlDLE:16,controlEM:25,controlENQ:5,controlEOT:4,controlESC:27,controlETB:23,controlETX:3,controlFF:12,controlFS:28,controlGS:29,controlHT:9,controlLF:10,controlNAK:21,controlRS:30,controlSI:15,controlSO:14,controlSOT:2,controlSTX:1,controlSUB:26,controlSYN:22,controlUS:31,controlVT:11,copyright:169,copyrightsans:63721,copyrightserif:63193,cornerbracketleft:12300,cornerbracketlefthalfwidth:65378,cornerbracketleftvertical:65089,cornerbracketright:12301,cornerbracketrighthalfwidth:65379,cornerbracketrightvertical:65090,corporationsquare:13183,cosquare:13255,coverkgsquare:13254,cparen:9374,cruzeiro:8354,cstretched:663,curlyand:8911,curlyor:8910,currency:164,cyrBreve:63185,cyrFlex:63186,cyrbreve:63188,cyrflex:63189,d:100,daarmenian:1380,dabengali:2470,dadarabic:1590,dadeva:2342,dadfinalarabic:65214,dadinitialarabic:65215,dadmedialarabic:65216,dagesh:1468,dageshhebrew:1468,dagger:8224,daggerdbl:8225,dagujarati:2726,dagurmukhi:2598,dahiragana:12384,dakatakana:12480,dalarabic:1583,dalet:1491,daletdagesh:64307,daletdageshhebrew:64307,dalethebrew:1491,dalfinalarabic:65194,dammaarabic:1615,dammalowarabic:1615,dammatanaltonearabic:1612,dammatanarabic:1612,danda:2404,dargahebrew:1447,dargalefthebrew:1447,dasiapneumatacyrilliccmb:1157,dblGrave:63187,dblanglebracketleft:12298,dblanglebracketleftvertical:65085,dblanglebracketright:12299,dblanglebracketrightvertical:65086,dblarchinvertedbelowcmb:811,dblarrowleft:8660,dblarrowright:8658,dbldanda:2405,dblgrave:63190,dblgravecmb:783,dblintegral:8748,dbllowline:8215,dbllowlinecmb:819,dbloverlinecmb:831,dblprimemod:698,dblverticalbar:8214,dblverticallineabovecmb:782,dbopomofo:12553,dbsquare:13256,dcaron:271,dcedilla:7697,dcircle:9427,dcircumflexbelow:7699,dcroat:273,ddabengali:2465,ddadeva:2337,ddagujarati:2721,ddagurmukhi:2593,ddalarabic:1672,ddalfinalarabic:64393,dddhadeva:2396,ddhabengali:2466,ddhadeva:2338,ddhagujarati:2722,ddhagurmukhi:2594,ddotaccent:7691,ddotbelow:7693,decimalseparatorarabic:1643,decimalseparatorpersian:1643,decyrillic:1076,degree:176,dehihebrew:1453,dehiragana:12391,deicoptic:1007,dekatakana:12487,deleteleft:9003,deleteright:8998,delta:948,deltaturned:397,denominatorminusonenumeratorbengali:2552,dezh:676,dhabengali:2471,dhadeva:2343,dhagujarati:2727,dhagurmukhi:2599,dhook:599,dialytikatonos:901,dialytikatonoscmb:836,diamond:9830,diamondsuitwhite:9826,dieresis:168,dieresisacute:63191,dieresisbelowcmb:804,dieresiscmb:776,dieresisgrave:63192,dieresistonos:901,dihiragana:12386,dikatakana:12482,dittomark:12291,divide:247,divides:8739,divisionslash:8725,djecyrillic:1106,dkshade:9619,dlinebelow:7695,dlsquare:13207,dmacron:273,dmonospace:65348,dnblock:9604,dochadathai:3598,dodekthai:3604,dohiragana:12393,dokatakana:12489,dollar:36,dollarinferior:63203,dollarmonospace:65284,dollaroldstyle:63268,dollarsmall:65129,dollarsuperior:63204,dong:8363,dorusquare:13094,dotaccent:729,dotaccentcmb:775,dotbelowcmb:803,dotbelowcomb:803,dotkatakana:12539,dotlessi:305,dotlessj:63166,dotlessjstrokehook:644,dotmath:8901,dottedcircle:9676,doubleyodpatah:64287,doubleyodpatahhebrew:64287,downtackbelowcmb:798,downtackmod:725,dparen:9375,dsuperior:63211,dtail:598,dtopbar:396,duhiragana:12389,dukatakana:12485,dz:499,dzaltone:675,dzcaron:454,dzcurl:677,dzeabkhasiancyrillic:1249,dzecyrillic:1109,dzhecyrillic:1119,e:101,eacute:233,earth:9793,ebengali:2447,ebopomofo:12572,ebreve:277,ecandradeva:2317,ecandragujarati:2701,ecandravowelsigndeva:2373,ecandravowelsigngujarati:2757,ecaron:283,ecedillabreve:7709,echarmenian:1381,echyiwnarmenian:1415,ecircle:9428,ecircumflex:234,ecircumflexacute:7871,ecircumflexbelow:7705,ecircumflexdotbelow:7879,ecircumflexgrave:7873,ecircumflexhookabove:7875,ecircumflextilde:7877,ecyrillic:1108,edblgrave:517,edeva:2319,edieresis:235,edot:279,edotaccent:279,edotbelow:7865,eegurmukhi:2575,eematragurmukhi:2631,efcyrillic:1092,egrave:232,egujarati:2703,eharmenian:1383,ehbopomofo:12573,ehiragana:12360,ehookabove:7867,eibopomofo:12575,eight:56,eightarabic:1640,eightbengali:2542,eightcircle:9319,eightcircleinversesansserif:10129,eightdeva:2414,eighteencircle:9329,eighteenparen:9349,eighteenperiod:9369,eightgujarati:2798,eightgurmukhi:2670,eighthackarabic:1640,eighthangzhou:12328,eighthnotebeamed:9835,eightideographicparen:12839,eightinferior:8328,eightmonospace:65304,eightoldstyle:63288,eightparen:9339,eightperiod:9359,eightpersian:1784,eightroman:8567,eightsuperior:8312,eightthai:3672,einvertedbreve:519,eiotifiedcyrillic:1125,ekatakana:12456,ekatakanahalfwidth:65396,ekonkargurmukhi:2676,ekorean:12628,elcyrillic:1083,element:8712,elevencircle:9322,elevenparen:9342,elevenperiod:9362,elevenroman:8570,ellipsis:8230,ellipsisvertical:8942,emacron:275,emacronacute:7703,emacrongrave:7701,emcyrillic:1084,emdash:8212,emdashvertical:65073,emonospace:65349,emphasismarkarmenian:1371,emptyset:8709,enbopomofo:12579,encyrillic:1085,endash:8211,endashvertical:65074,endescendercyrillic:1187,eng:331,engbopomofo:12581,enghecyrillic:1189,enhookcyrillic:1224,enspace:8194,eogonek:281,eokorean:12627,eopen:603,eopenclosed:666,eopenreversed:604,eopenreversedclosed:606,eopenreversedhook:605,eparen:9376,epsilon:949,epsilontonos:941,equal:61,equalmonospace:65309,equalsmall:65126,equalsuperior:8316,equivalence:8801,erbopomofo:12582,ercyrillic:1088,ereversed:600,ereversedcyrillic:1101,escyrillic:1089,esdescendercyrillic:1195,esh:643,eshcurl:646,eshortdeva:2318,eshortvowelsigndeva:2374,eshreversedloop:426,eshsquatreversed:645,esmallhiragana:12359,esmallkatakana:12455,esmallkatakanahalfwidth:65386,estimated:8494,esuperior:63212,eta:951,etarmenian:1384,etatonos:942,eth:240,etilde:7869,etildebelow:7707,etnahtafoukhhebrew:1425,etnahtafoukhlefthebrew:1425,etnahtahebrew:1425,etnahtalefthebrew:1425,eturned:477,eukorean:12641,euro:8364,evowelsignbengali:2503,evowelsigndeva:2375,evowelsigngujarati:2759,exclam:33,exclamarmenian:1372,exclamdbl:8252,exclamdown:161,exclamdownsmall:63393,exclammonospace:65281,exclamsmall:63265,existential:8707,ezh:658,ezhcaron:495,ezhcurl:659,ezhreversed:441,ezhtail:442,f:102,fadeva:2398,fagurmukhi:2654,fahrenheit:8457,fathaarabic:1614,fathalowarabic:1614,fathatanarabic:1611,fbopomofo:12552,fcircle:9429,fdotaccent:7711,feharabic:1601,feharmenian:1414,fehfinalarabic:65234,fehinitialarabic:65235,fehmedialarabic:65236,feicoptic:997,female:9792,ff:64256,ffi:64259,ffl:64260,fi:64257,fifteencircle:9326,fifteenparen:9346,fifteenperiod:9366,figuredash:8210,filledbox:9632,filledrect:9644,finalkaf:1498,finalkafdagesh:64314,finalkafdageshhebrew:64314,finalkafhebrew:1498,finalmem:1501,finalmemhebrew:1501,finalnun:1503,finalnunhebrew:1503,finalpe:1507,finalpehebrew:1507,finaltsadi:1509,finaltsadihebrew:1509,firsttonechinese:713,fisheye:9673,fitacyrillic:1139,five:53,fivearabic:1637,fivebengali:2539,fivecircle:9316,fivecircleinversesansserif:10126,fivedeva:2411,fiveeighths:8541,fivegujarati:2795,fivegurmukhi:2667,fivehackarabic:1637,fivehangzhou:12325,fiveideographicparen:12836,fiveinferior:8325,fivemonospace:65301,fiveoldstyle:63285,fiveparen:9336,fiveperiod:9356,fivepersian:1781,fiveroman:8564,fivesuperior:8309,fivethai:3669,fl:64258,florin:402,fmonospace:65350,fmsquare:13209,fofanthai:3615,fofathai:3613,fongmanthai:3663,forall:8704,four:52,fourarabic:1636,fourbengali:2538,fourcircle:9315,fourcircleinversesansserif:10125,fourdeva:2410,fourgujarati:2794,fourgurmukhi:2666,fourhackarabic:1636,fourhangzhou:12324,fourideographicparen:12835,fourinferior:8324,fourmonospace:65300,fournumeratorbengali:2551,fouroldstyle:63284,fourparen:9335,fourperiod:9355,fourpersian:1780,fourroman:8563,foursuperior:8308,fourteencircle:9325,fourteenparen:9345,fourteenperiod:9365,fourthai:3668,fourthtonechinese:715,fparen:9377,fraction:8260,franc:8355,g:103,gabengali:2455,gacute:501,gadeva:2327,gafarabic:1711,gaffinalarabic:64403,gafinitialarabic:64404,gafmedialarabic:64405,gagujarati:2711,gagurmukhi:2583,gahiragana:12364,gakatakana:12460,gamma:947,gammalatinsmall:611,gammasuperior:736,gangiacoptic:1003,gbopomofo:12557,gbreve:287,gcaron:487,gcedilla:291,gcircle:9430,gcircumflex:285,gcommaaccent:291,gdot:289,gdotaccent:289,gecyrillic:1075,gehiragana:12370,gekatakana:12466,geometricallyequal:8785,gereshaccenthebrew:1436,gereshhebrew:1523,gereshmuqdamhebrew:1437,germandbls:223,gershayimaccenthebrew:1438,gershayimhebrew:1524,getamark:12307,ghabengali:2456,ghadarmenian:1394,ghadeva:2328,ghagujarati:2712,ghagurmukhi:2584,ghainarabic:1594,ghainfinalarabic:65230,ghaininitialarabic:65231,ghainmedialarabic:65232,ghemiddlehookcyrillic:1173,ghestrokecyrillic:1171,gheupturncyrillic:1169,ghhadeva:2394,ghhagurmukhi:2650,ghook:608,ghzsquare:13203,gihiragana:12366,gikatakana:12462,gimarmenian:1379,gimel:1490,gimeldagesh:64306,gimeldageshhebrew:64306,gimelhebrew:1490,gjecyrillic:1107,glottalinvertedstroke:446,glottalstop:660,glottalstopinverted:662,glottalstopmod:704,glottalstopreversed:661,glottalstopreversedmod:705,glottalstopreversedsuperior:740,glottalstopstroke:673,glottalstopstrokereversed:674,gmacron:7713,gmonospace:65351,gohiragana:12372,gokatakana:12468,gparen:9378,gpasquare:13228,gradient:8711,grave:96,gravebelowcmb:790,gravecmb:768,gravecomb:768,gravedeva:2387,gravelowmod:718,gravemonospace:65344,gravetonecmb:832,greater:62,greaterequal:8805,greaterequalorless:8923,greatermonospace:65310,greaterorequivalent:8819,greaterorless:8823,greateroverequal:8807,greatersmall:65125,gscript:609,gstroke:485,guhiragana:12368,guillemotleft:171,guillemotright:187,guilsinglleft:8249,guilsinglright:8250,gukatakana:12464,guramusquare:13080,gysquare:13257,h:104,haabkhasiancyrillic:1193,haaltonearabic:1729,habengali:2489,hadescendercyrillic:1203,hadeva:2361,hagujarati:2745,hagurmukhi:2617,haharabic:1581,hahfinalarabic:65186,hahinitialarabic:65187,hahiragana:12399,hahmedialarabic:65188,haitusquare:13098,hakatakana:12495,hakatakanahalfwidth:65418,halantgurmukhi:2637,hamzaarabic:1569,hamzalowarabic:1569,hangulfiller:12644,hardsigncyrillic:1098,harpoonleftbarbup:8636,harpoonrightbarbup:8640,hasquare:13258,hatafpatah:1458,hatafpatah16:1458,hatafpatah23:1458,hatafpatah2f:1458,hatafpatahhebrew:1458,hatafpatahnarrowhebrew:1458,hatafpatahquarterhebrew:1458,hatafpatahwidehebrew:1458,hatafqamats:1459,hatafqamats1b:1459,hatafqamats28:1459,hatafqamats34:1459,hatafqamatshebrew:1459,hatafqamatsnarrowhebrew:1459,hatafqamatsquarterhebrew:1459,hatafqamatswidehebrew:1459,hatafsegol:1457,hatafsegol17:1457,hatafsegol24:1457,hatafsegol30:1457,hatafsegolhebrew:1457,hatafsegolnarrowhebrew:1457,hatafsegolquarterhebrew:1457,hatafsegolwidehebrew:1457,hbar:295,hbopomofo:12559,hbrevebelow:7723,hcedilla:7721,hcircle:9431,hcircumflex:293,hdieresis:7719,hdotaccent:7715,hdotbelow:7717,he:1492,heart:9829,heartsuitblack:9829,heartsuitwhite:9825,hedagesh:64308,hedageshhebrew:64308,hehaltonearabic:1729,heharabic:1607,hehebrew:1492,hehfinalaltonearabic:64423,hehfinalalttwoarabic:65258,hehfinalarabic:65258,hehhamzaabovefinalarabic:64421,hehhamzaaboveisolatedarabic:64420,hehinitialaltonearabic:64424,hehinitialarabic:65259,hehiragana:12408,hehmedialaltonearabic:64425,hehmedialarabic:65260,heiseierasquare:13179,hekatakana:12504,hekatakanahalfwidth:65421,hekutaarusquare:13110,henghook:615,herutusquare:13113,het:1495,hethebrew:1495,hhook:614,hhooksuperior:689,hieuhacirclekorean:12923,hieuhaparenkorean:12827,hieuhcirclekorean:12909,hieuhkorean:12622,hieuhparenkorean:12813,hihiragana:12402,hikatakana:12498,hikatakanahalfwidth:65419,hiriq:1460,hiriq14:1460,hiriq21:1460,hiriq2d:1460,hiriqhebrew:1460,hiriqnarrowhebrew:1460,hiriqquarterhebrew:1460,hiriqwidehebrew:1460,hlinebelow:7830,hmonospace:65352,hoarmenian:1392,hohipthai:3627,hohiragana:12411,hokatakana:12507,hokatakanahalfwidth:65422,holam:1465,holam19:1465,holam26:1465,holam32:1465,holamhebrew:1465,holamnarrowhebrew:1465,holamquarterhebrew:1465,holamwidehebrew:1465,honokhukthai:3630,hookabovecomb:777,hookcmb:777,hookpalatalizedbelowcmb:801,hookretroflexbelowcmb:802,hoonsquare:13122,horicoptic:1001,horizontalbar:8213,horncmb:795,hotsprings:9832,house:8962,hparen:9379,hsuperior:688,hturned:613,huhiragana:12405,huiitosquare:13107,hukatakana:12501,hukatakanahalfwidth:65420,hungarumlaut:733,hungarumlautcmb:779,hv:405,hyphen:45,hypheninferior:63205,hyphenmonospace:65293,hyphensmall:65123,hyphensuperior:63206,hyphentwo:8208,i:105,iacute:237,iacyrillic:1103,ibengali:2439,ibopomofo:12583,ibreve:301,icaron:464,icircle:9432,icircumflex:238,icyrillic:1110,idblgrave:521,ideographearthcircle:12943,ideographfirecircle:12939,ideographicallianceparen:12863,ideographiccallparen:12858,ideographiccentrecircle:12965,ideographicclose:12294,ideographiccomma:12289,ideographiccommaleft:65380,ideographiccongratulationparen:12855,ideographiccorrectcircle:12963,ideographicearthparen:12847,ideographicenterpriseparen:12861,ideographicexcellentcircle:12957,ideographicfestivalparen:12864,ideographicfinancialcircle:12950,ideographicfinancialparen:12854,ideographicfireparen:12843,ideographichaveparen:12850,ideographichighcircle:12964,ideographiciterationmark:12293,ideographiclaborcircle:12952,ideographiclaborparen:12856,ideographicleftcircle:12967,ideographiclowcircle:12966,ideographicmedicinecircle:12969,ideographicmetalparen:12846,ideographicmoonparen:12842,ideographicnameparen:12852,ideographicperiod:12290,ideographicprintcircle:12958,ideographicreachparen:12867,ideographicrepresentparen:12857,ideographicresourceparen:12862,ideographicrightcircle:12968,ideographicsecretcircle:12953,ideographicselfparen:12866,ideographicsocietyparen:12851,ideographicspace:12288,ideographicspecialparen:12853,ideographicstockparen:12849,ideographicstudyparen:12859,ideographicsunparen:12848,ideographicsuperviseparen:12860,ideographicwaterparen:12844,ideographicwoodparen:12845,ideographiczero:12295,ideographmetalcircle:12942,ideographmooncircle:12938,ideographnamecircle:12948,ideographsuncircle:12944,ideographwatercircle:12940,ideographwoodcircle:12941,ideva:2311,idieresis:239,idieresisacute:7727,idieresiscyrillic:1253,idotbelow:7883,iebrevecyrillic:1239,iecyrillic:1077,ieungacirclekorean:12917,ieungaparenkorean:12821,ieungcirclekorean:12903,ieungkorean:12615,ieungparenkorean:12807,igrave:236,igujarati:2695,igurmukhi:2567,ihiragana:12356,ihookabove:7881,iibengali:2440,iicyrillic:1080,iideva:2312,iigujarati:2696,iigurmukhi:2568,iimatragurmukhi:2624,iinvertedbreve:523,iishortcyrillic:1081,iivowelsignbengali:2496,iivowelsigndeva:2368,iivowelsigngujarati:2752,ij:307,ikatakana:12452,ikatakanahalfwidth:65394,ikorean:12643,ilde:732,iluyhebrew:1452,imacron:299,imacroncyrillic:1251,imageorapproximatelyequal:8787,imatragurmukhi:2623,imonospace:65353,increment:8710,infinity:8734,iniarmenian:1387,integral:8747,integralbottom:8993,integralbt:8993,integralex:63733,integraltop:8992,integraltp:8992,intersection:8745,intisquare:13061,invbullet:9688,invcircle:9689,invsmileface:9787,iocyrillic:1105,iogonek:303,iota:953,iotadieresis:970,iotadieresistonos:912,iotalatin:617,iotatonos:943,iparen:9380,irigurmukhi:2674,ismallhiragana:12355,ismallkatakana:12451,ismallkatakanahalfwidth:65384,issharbengali:2554,istroke:616,isuperior:63213,iterationhiragana:12445,iterationkatakana:12541,itilde:297,itildebelow:7725,iubopomofo:12585,iucyrillic:1102,ivowelsignbengali:2495,ivowelsigndeva:2367,ivowelsigngujarati:2751,izhitsacyrillic:1141,izhitsadblgravecyrillic:1143,j:106,jaarmenian:1393,jabengali:2460,jadeva:2332,jagujarati:2716,jagurmukhi:2588,jbopomofo:12560,jcaron:496,jcircle:9433,jcircumflex:309,jcrossedtail:669,jdotlessstroke:607,jecyrillic:1112,jeemarabic:1580,jeemfinalarabic:65182,jeeminitialarabic:65183,jeemmedialarabic:65184,jeharabic:1688,jehfinalarabic:64395,jhabengali:2461,jhadeva:2333,jhagujarati:2717,jhagurmukhi:2589,jheharmenian:1403,jis:12292,jmonospace:65354,jparen:9381,jsuperior:690,k:107,kabashkircyrillic:1185,kabengali:2453,kacute:7729,kacyrillic:1082,kadescendercyrillic:1179,kadeva:2325,kaf:1499,kafarabic:1603,kafdagesh:64315,kafdageshhebrew:64315,kaffinalarabic:65242,kafhebrew:1499,kafinitialarabic:65243,kafmedialarabic:65244,kafrafehebrew:64333,kagujarati:2709,kagurmukhi:2581,kahiragana:12363,kahookcyrillic:1220,kakatakana:12459,kakatakanahalfwidth:65398,kappa:954,kappasymbolgreek:1008,kapyeounmieumkorean:12657,kapyeounphieuphkorean:12676,kapyeounpieupkorean:12664,kapyeounssangpieupkorean:12665,karoriisquare:13069,kashidaautoarabic:1600,kashidaautonosidebearingarabic:1600,kasmallkatakana:12533,kasquare:13188,kasraarabic:1616,kasratanarabic:1613,kastrokecyrillic:1183,katahiraprolongmarkhalfwidth:65392,kaverticalstrokecyrillic:1181,kbopomofo:12558,kcalsquare:13193,kcaron:489,kcedilla:311,kcircle:9434,kcommaaccent:311,kdotbelow:7731,keharmenian:1412,kehiragana:12369,kekatakana:12465,kekatakanahalfwidth:65401,kenarmenian:1391,kesmallkatakana:12534,kgreenlandic:312,khabengali:2454,khacyrillic:1093,khadeva:2326,khagujarati:2710,khagurmukhi:2582,khaharabic:1582,khahfinalarabic:65190,khahinitialarabic:65191,khahmedialarabic:65192,kheicoptic:999,khhadeva:2393,khhagurmukhi:2649,khieukhacirclekorean:12920,khieukhaparenkorean:12824,khieukhcirclekorean:12906,khieukhkorean:12619,khieukhparenkorean:12810,khokhaithai:3586,khokhonthai:3589,khokhuatthai:3587,khokhwaithai:3588,khomutthai:3675,khook:409,khorakhangthai:3590,khzsquare:13201,kihiragana:12365,kikatakana:12461,kikatakanahalfwidth:65399,kiroguramusquare:13077,kiromeetorusquare:13078,kirosquare:13076,kiyeokacirclekorean:12910,kiyeokaparenkorean:12814,kiyeokcirclekorean:12896,kiyeokkorean:12593,kiyeokparenkorean:12800,kiyeoksioskorean:12595,kjecyrillic:1116,klinebelow:7733,klsquare:13208,kmcubedsquare:13222,kmonospace:65355,kmsquaredsquare:13218,kohiragana:12371,kohmsquare:13248,kokaithai:3585,kokatakana:12467,kokatakanahalfwidth:65402,kooposquare:13086,koppacyrillic:1153,koreanstandardsymbol:12927,koroniscmb:835,kparen:9382,kpasquare:13226,ksicyrillic:1135,ktsquare:13263,kturned:670,kuhiragana:12367,kukatakana:12463,kukatakanahalfwidth:65400,kvsquare:13240,kwsquare:13246,l:108,labengali:2482,lacute:314,ladeva:2354,lagujarati:2738,lagurmukhi:2610,lakkhangyaothai:3653,lamaleffinalarabic:65276,lamalefhamzaabovefinalarabic:65272,lamalefhamzaaboveisolatedarabic:65271,lamalefhamzabelowfinalarabic:65274,lamalefhamzabelowisolatedarabic:65273,lamalefisolatedarabic:65275,lamalefmaddaabovefinalarabic:65270,lamalefmaddaaboveisolatedarabic:65269,lamarabic:1604,lambda:955,lambdastroke:411,lamed:1500,lameddagesh:64316,lameddageshhebrew:64316,lamedhebrew:1500,lamfinalarabic:65246,lamhahinitialarabic:64714,laminitialarabic:65247,lamjeeminitialarabic:64713,lamkhahinitialarabic:64715,lamlamhehisolatedarabic:65010,lammedialarabic:65248,lammeemhahinitialarabic:64904,lammeeminitialarabic:64716,largecircle:9711,lbar:410,lbelt:620,lbopomofo:12556,lcaron:318,lcedilla:316,lcircle:9435,lcircumflexbelow:7741,lcommaaccent:316,ldot:320,ldotaccent:320,ldotbelow:7735,ldotbelowmacron:7737,leftangleabovecmb:794,lefttackbelowcmb:792,less:60,lessequal:8804,lessequalorgreater:8922,lessmonospace:65308,lessorequivalent:8818,lessorgreater:8822,lessoverequal:8806,lesssmall:65124,lezh:622,lfblock:9612,lhookretroflex:621,lira:8356,liwnarmenian:1388,lj:457,ljecyrillic:1113,ll:63168,lladeva:2355,llagujarati:2739,llinebelow:7739,llladeva:2356,llvocalicbengali:2529,llvocalicdeva:2401,llvocalicvowelsignbengali:2531,llvocalicvowelsigndeva:2403,lmiddletilde:619,lmonospace:65356,lmsquare:13264,lochulathai:3628,logicaland:8743,logicalnot:172,logicalnotreversed:8976,logicalor:8744,lolingthai:3621,longs:383,lowlinecenterline:65102,lowlinecmb:818,lowlinedashed:65101,lozenge:9674,lparen:9383,lslash:322,lsquare:8467,lsuperior:63214,ltshade:9617,luthai:3622,lvocalicbengali:2444,lvocalicdeva:2316,lvocalicvowelsignbengali:2530,lvocalicvowelsigndeva:2402,lxsquare:13267,m:109,mabengali:2478,macron:175,macronbelowcmb:817,macroncmb:772,macronlowmod:717,macronmonospace:65507,macute:7743,madeva:2350,magujarati:2734,magurmukhi:2606,mahapakhhebrew:1444,mahapakhlefthebrew:1444,mahiragana:12414,maichattawalowleftthai:63637,maichattawalowrightthai:63636,maichattawathai:3659,maichattawaupperleftthai:63635,maieklowleftthai:63628,maieklowrightthai:63627,maiekthai:3656,maiekupperleftthai:63626,maihanakatleftthai:63620,maihanakatthai:3633,maitaikhuleftthai:63625,maitaikhuthai:3655,maitholowleftthai:63631,maitholowrightthai:63630,maithothai:3657,maithoupperleftthai:63629,maitrilowleftthai:63634,maitrilowrightthai:63633,maitrithai:3658,maitriupperleftthai:63632,maiyamokthai:3654,makatakana:12510,makatakanahalfwidth:65423,male:9794,mansyonsquare:13127,maqafhebrew:1470,mars:9794,masoracirclehebrew:1455,masquare:13187,mbopomofo:12551,mbsquare:13268,mcircle:9436,mcubedsquare:13221,mdotaccent:7745,mdotbelow:7747,meemarabic:1605,meemfinalarabic:65250,meeminitialarabic:65251,meemmedialarabic:65252,meemmeeminitialarabic:64721,meemmeemisolatedarabic:64584,meetorusquare:13133,mehiragana:12417,meizierasquare:13182,mekatakana:12513,mekatakanahalfwidth:65426,mem:1502,memdagesh:64318,memdageshhebrew:64318,memhebrew:1502,menarmenian:1396,merkhahebrew:1445,merkhakefulahebrew:1446,merkhakefulalefthebrew:1446,merkhalefthebrew:1445,mhook:625,mhzsquare:13202,middledotkatakanahalfwidth:65381,middot:183,mieumacirclekorean:12914,mieumaparenkorean:12818,mieumcirclekorean:12900,mieumkorean:12609,mieumpansioskorean:12656,mieumparenkorean:12804,mieumpieupkorean:12654,mieumsioskorean:12655,mihiragana:12415,mikatakana:12511,mikatakanahalfwidth:65424,minus:8722,minusbelowcmb:800,minuscircle:8854,minusmod:727,minusplus:8723,minute:8242,miribaarusquare:13130,mirisquare:13129,mlonglegturned:624,mlsquare:13206,mmcubedsquare:13219,mmonospace:65357,mmsquaredsquare:13215,mohiragana:12418,mohmsquare:13249,mokatakana:12514,mokatakanahalfwidth:65427,molsquare:13270,momathai:3617,moverssquare:13223,moverssquaredsquare:13224,mparen:9384,mpasquare:13227,mssquare:13235,msuperior:63215,mturned:623,mu:181,mu1:181,muasquare:13186,muchgreater:8811,muchless:8810,mufsquare:13196,mugreek:956,mugsquare:13197,muhiragana:12416,mukatakana:12512,mukatakanahalfwidth:65425,mulsquare:13205,multiply:215,mumsquare:13211,munahhebrew:1443,munahlefthebrew:1443,musicalnote:9834,musicalnotedbl:9835,musicflatsign:9837,musicsharpsign:9839,mussquare:13234,muvsquare:13238,muwsquare:13244,mvmegasquare:13241,mvsquare:13239,mwmegasquare:13247,mwsquare:13245,n:110,nabengali:2472,nabla:8711,nacute:324,nadeva:2344,nagujarati:2728,nagurmukhi:2600,nahiragana:12394,nakatakana:12490,nakatakanahalfwidth:65413,napostrophe:329,nasquare:13185,nbopomofo:12555,nbspace:160,ncaron:328,ncedilla:326,ncircle:9437,ncircumflexbelow:7755,ncommaaccent:326,ndotaccent:7749,ndotbelow:7751,nehiragana:12397,nekatakana:12493,nekatakanahalfwidth:65416,newsheqelsign:8362,nfsquare:13195,ngabengali:2457,ngadeva:2329,ngagujarati:2713,ngagurmukhi:2585,ngonguthai:3591,nhiragana:12435,nhookleft:626,nhookretroflex:627,nieunacirclekorean:12911,nieunaparenkorean:12815,nieuncieuckorean:12597,nieuncirclekorean:12897,nieunhieuhkorean:12598,nieunkorean:12596,nieunpansioskorean:12648,nieunparenkorean:12801,nieunsioskorean:12647,nieuntikeutkorean:12646,nihiragana:12395,nikatakana:12491,nikatakanahalfwidth:65414,nikhahitleftthai:63641,nikhahitthai:3661,nine:57,ninearabic:1641,ninebengali:2543,ninecircle:9320,ninecircleinversesansserif:10130,ninedeva:2415,ninegujarati:2799,ninegurmukhi:2671,ninehackarabic:1641,ninehangzhou:12329,nineideographicparen:12840,
+nineinferior:8329,ninemonospace:65305,nineoldstyle:63289,nineparen:9340,nineperiod:9360,ninepersian:1785,nineroman:8568,ninesuperior:8313,nineteencircle:9330,nineteenparen:9350,nineteenperiod:9370,ninethai:3673,nj:460,njecyrillic:1114,nkatakana:12531,nkatakanahalfwidth:65437,nlegrightlong:414,nlinebelow:7753,nmonospace:65358,nmsquare:13210,nnabengali:2467,nnadeva:2339,nnagujarati:2723,nnagurmukhi:2595,nnnadeva:2345,nohiragana:12398,nokatakana:12494,nokatakanahalfwidth:65417,nonbreakingspace:160,nonenthai:3603,nonuthai:3609,noonarabic:1606,noonfinalarabic:65254,noonghunnaarabic:1722,noonghunnafinalarabic:64415,nooninitialarabic:65255,noonjeeminitialarabic:64722,noonjeemisolatedarabic:64587,noonmedialarabic:65256,noonmeeminitialarabic:64725,noonmeemisolatedarabic:64590,noonnoonfinalarabic:64653,notcontains:8716,notelement:8713,notelementof:8713,notequal:8800,notgreater:8815,notgreaternorequal:8817,notgreaternorless:8825,notidentical:8802,notless:8814,notlessnorequal:8816,notparallel:8742,notprecedes:8832,notsubset:8836,notsucceeds:8833,notsuperset:8837,nowarmenian:1398,nparen:9385,nssquare:13233,nsuperior:8319,ntilde:241,nu:957,nuhiragana:12396,nukatakana:12492,nukatakanahalfwidth:65415,nuktabengali:2492,nuktadeva:2364,nuktagujarati:2748,nuktagurmukhi:2620,numbersign:35,numbersignmonospace:65283,numbersignsmall:65119,numeralsigngreek:884,numeralsignlowergreek:885,numero:8470,nun:1504,nundagesh:64320,nundageshhebrew:64320,nunhebrew:1504,nvsquare:13237,nwsquare:13243,nyabengali:2462,nyadeva:2334,nyagujarati:2718,nyagurmukhi:2590,o:111,oacute:243,oangthai:3629,obarred:629,obarredcyrillic:1257,obarreddieresiscyrillic:1259,obengali:2451,obopomofo:12571,obreve:335,ocandradeva:2321,ocandragujarati:2705,ocandravowelsigndeva:2377,ocandravowelsigngujarati:2761,ocaron:466,ocircle:9438,ocircumflex:244,ocircumflexacute:7889,ocircumflexdotbelow:7897,ocircumflexgrave:7891,ocircumflexhookabove:7893,ocircumflextilde:7895,ocyrillic:1086,odblacute:337,odblgrave:525,odeva:2323,odieresis:246,odieresiscyrillic:1255,odotbelow:7885,oe:339,oekorean:12634,ogonek:731,ogonekcmb:808,ograve:242,ogujarati:2707,oharmenian:1413,ohiragana:12362,ohookabove:7887,ohorn:417,ohornacute:7899,ohorndotbelow:7907,ohorngrave:7901,ohornhookabove:7903,ohorntilde:7905,ohungarumlaut:337,oi:419,oinvertedbreve:527,okatakana:12458,okatakanahalfwidth:65397,okorean:12631,olehebrew:1451,omacron:333,omacronacute:7763,omacrongrave:7761,omdeva:2384,omega:969,omega1:982,omegacyrillic:1121,omegalatinclosed:631,omegaroundcyrillic:1147,omegatitlocyrillic:1149,omegatonos:974,omgujarati:2768,omicron:959,omicrontonos:972,omonospace:65359,one:49,onearabic:1633,onebengali:2535,onecircle:9312,onecircleinversesansserif:10122,onedeva:2407,onedotenleader:8228,oneeighth:8539,onefitted:63196,onegujarati:2791,onegurmukhi:2663,onehackarabic:1633,onehalf:189,onehangzhou:12321,oneideographicparen:12832,oneinferior:8321,onemonospace:65297,onenumeratorbengali:2548,oneoldstyle:63281,oneparen:9332,oneperiod:9352,onepersian:1777,onequarter:188,oneroman:8560,onesuperior:185,onethai:3665,onethird:8531,oogonek:491,oogonekmacron:493,oogurmukhi:2579,oomatragurmukhi:2635,oopen:596,oparen:9386,openbullet:9702,option:8997,ordfeminine:170,ordmasculine:186,orthogonal:8735,oshortdeva:2322,oshortvowelsigndeva:2378,oslash:248,oslashacute:511,osmallhiragana:12361,osmallkatakana:12457,osmallkatakanahalfwidth:65387,ostrokeacute:511,osuperior:63216,otcyrillic:1151,otilde:245,otildeacute:7757,otildedieresis:7759,oubopomofo:12577,overline:8254,overlinecenterline:65098,overlinecmb:773,overlinedashed:65097,overlinedblwavy:65100,overlinewavy:65099,overscore:175,ovowelsignbengali:2507,ovowelsigndeva:2379,ovowelsigngujarati:2763,p:112,paampssquare:13184,paasentosquare:13099,pabengali:2474,pacute:7765,padeva:2346,pagedown:8671,pageup:8670,pagujarati:2730,pagurmukhi:2602,pahiragana:12401,paiyannoithai:3631,pakatakana:12497,palatalizationcyrilliccmb:1156,palochkacyrillic:1216,pansioskorean:12671,paragraph:182,parallel:8741,parenleft:40,parenleftaltonearabic:64830,parenleftbt:63725,parenleftex:63724,parenleftinferior:8333,parenleftmonospace:65288,parenleftsmall:65113,parenleftsuperior:8317,parenlefttp:63723,parenleftvertical:65077,parenright:41,parenrightaltonearabic:64831,parenrightbt:63736,parenrightex:63735,parenrightinferior:8334,parenrightmonospace:65289,parenrightsmall:65114,parenrightsuperior:8318,parenrighttp:63734,parenrightvertical:65078,partialdiff:8706,paseqhebrew:1472,pashtahebrew:1433,pasquare:13225,patah:1463,patah11:1463,patah1d:1463,patah2a:1463,patahhebrew:1463,patahnarrowhebrew:1463,patahquarterhebrew:1463,patahwidehebrew:1463,pazerhebrew:1441,pbopomofo:12550,pcircle:9439,pdotaccent:7767,pe:1508,pecyrillic:1087,pedagesh:64324,pedageshhebrew:64324,peezisquare:13115,pefinaldageshhebrew:64323,peharabic:1662,peharmenian:1402,pehebrew:1508,pehfinalarabic:64343,pehinitialarabic:64344,pehiragana:12410,pehmedialarabic:64345,pekatakana:12506,pemiddlehookcyrillic:1191,perafehebrew:64334,percent:37,percentarabic:1642,percentmonospace:65285,percentsmall:65130,period:46,periodarmenian:1417,periodcentered:183,periodhalfwidth:65377,periodinferior:63207,periodmonospace:65294,periodsmall:65106,periodsuperior:63208,perispomenigreekcmb:834,perpendicular:8869,perthousand:8240,peseta:8359,pfsquare:13194,phabengali:2475,phadeva:2347,phagujarati:2731,phagurmukhi:2603,phi:966,phi1:981,phieuphacirclekorean:12922,phieuphaparenkorean:12826,phieuphcirclekorean:12908,phieuphkorean:12621,phieuphparenkorean:12812,philatin:632,phinthuthai:3642,phisymbolgreek:981,phook:421,phophanthai:3614,phophungthai:3612,phosamphaothai:3616,pi:960,pieupacirclekorean:12915,pieupaparenkorean:12819,pieupcieuckorean:12662,pieupcirclekorean:12901,pieupkiyeokkorean:12658,pieupkorean:12610,pieupparenkorean:12805,pieupsioskiyeokkorean:12660,pieupsioskorean:12612,pieupsiostikeutkorean:12661,pieupthieuthkorean:12663,pieuptikeutkorean:12659,pihiragana:12404,pikatakana:12500,pisymbolgreek:982,piwrarmenian:1411,plus:43,plusbelowcmb:799,pluscircle:8853,plusminus:177,plusmod:726,plusmonospace:65291,plussmall:65122,plussuperior:8314,pmonospace:65360,pmsquare:13272,pohiragana:12413,pointingindexdownwhite:9759,pointingindexleftwhite:9756,pointingindexrightwhite:9758,pointingindexupwhite:9757,pokatakana:12509,poplathai:3611,postalmark:12306,postalmarkface:12320,pparen:9387,precedes:8826,prescription:8478,primemod:697,primereversed:8245,product:8719,projective:8965,prolongedkana:12540,propellor:8984,propersubset:8834,propersuperset:8835,proportion:8759,proportional:8733,psi:968,psicyrillic:1137,psilipneumatacyrilliccmb:1158,pssquare:13232,puhiragana:12407,pukatakana:12503,pvsquare:13236,pwsquare:13242,q:113,qadeva:2392,qadmahebrew:1448,qafarabic:1602,qaffinalarabic:65238,qafinitialarabic:65239,qafmedialarabic:65240,qamats:1464,qamats10:1464,qamats1a:1464,qamats1c:1464,qamats27:1464,qamats29:1464,qamats33:1464,qamatsde:1464,qamatshebrew:1464,qamatsnarrowhebrew:1464,qamatsqatanhebrew:1464,qamatsqatannarrowhebrew:1464,qamatsqatanquarterhebrew:1464,qamatsqatanwidehebrew:1464,qamatsquarterhebrew:1464,qamatswidehebrew:1464,qarneyparahebrew:1439,qbopomofo:12561,qcircle:9440,qhook:672,qmonospace:65361,qof:1511,qofdagesh:64327,qofdageshhebrew:64327,qofhebrew:1511,qparen:9388,quarternote:9833,qubuts:1467,qubuts18:1467,qubuts25:1467,qubuts31:1467,qubutshebrew:1467,qubutsnarrowhebrew:1467,qubutsquarterhebrew:1467,qubutswidehebrew:1467,question:63,questionarabic:1567,questionarmenian:1374,questiondown:191,questiondownsmall:63423,questiongreek:894,questionmonospace:65311,questionsmall:63295,quotedbl:34,quotedblbase:8222,quotedblleft:8220,quotedblmonospace:65282,quotedblprime:12318,quotedblprimereversed:12317,quotedblright:8221,quoteleft:8216,quoteleftreversed:8219,quotereversed:8219,quoteright:8217,quoterightn:329,quotesinglbase:8218,quotesingle:39,quotesinglemonospace:65287,r:114,raarmenian:1404,rabengali:2480,racute:341,radeva:2352,radical:8730,radicalex:63717,radoverssquare:13230,radoverssquaredsquare:13231,radsquare:13229,rafe:1471,rafehebrew:1471,ragujarati:2736,ragurmukhi:2608,rahiragana:12425,rakatakana:12521,rakatakanahalfwidth:65431,ralowerdiagonalbengali:2545,ramiddlediagonalbengali:2544,ramshorn:612,ratio:8758,rbopomofo:12566,rcaron:345,rcedilla:343,rcircle:9441,rcommaaccent:343,rdblgrave:529,rdotaccent:7769,rdotbelow:7771,rdotbelowmacron:7773,referencemark:8251,reflexsubset:8838,reflexsuperset:8839,registered:174,registersans:63720,registerserif:63194,reharabic:1585,reharmenian:1408,rehfinalarabic:65198,rehiragana:12428,rekatakana:12524,rekatakanahalfwidth:65434,resh:1512,reshdageshhebrew:64328,reshhebrew:1512,reversedtilde:8765,reviahebrew:1431,reviamugrashhebrew:1431,revlogicalnot:8976,rfishhook:638,rfishhookreversed:639,rhabengali:2525,rhadeva:2397,rho:961,rhook:637,rhookturned:635,rhookturnedsuperior:693,rhosymbolgreek:1009,rhotichookmod:734,rieulacirclekorean:12913,rieulaparenkorean:12817,rieulcirclekorean:12899,rieulhieuhkorean:12608,rieulkiyeokkorean:12602,rieulkiyeoksioskorean:12649,rieulkorean:12601,rieulmieumkorean:12603,rieulpansioskorean:12652,rieulparenkorean:12803,rieulphieuphkorean:12607,rieulpieupkorean:12604,rieulpieupsioskorean:12651,rieulsioskorean:12605,rieulthieuthkorean:12606,rieultikeutkorean:12650,rieulyeorinhieuhkorean:12653,rightangle:8735,righttackbelowcmb:793,righttriangle:8895,rihiragana:12426,rikatakana:12522,rikatakanahalfwidth:65432,ring:730,ringbelowcmb:805,ringcmb:778,ringhalfleft:703,ringhalfleftarmenian:1369,ringhalfleftbelowcmb:796,ringhalfleftcentered:723,ringhalfright:702,ringhalfrightbelowcmb:825,ringhalfrightcentered:722,rinvertedbreve:531,rittorusquare:13137,rlinebelow:7775,rlongleg:636,rlonglegturned:634,rmonospace:65362,rohiragana:12429,rokatakana:12525,rokatakanahalfwidth:65435,roruathai:3619,rparen:9389,rrabengali:2524,rradeva:2353,rragurmukhi:2652,rreharabic:1681,rrehfinalarabic:64397,rrvocalicbengali:2528,rrvocalicdeva:2400,rrvocalicgujarati:2784,rrvocalicvowelsignbengali:2500,rrvocalicvowelsigndeva:2372,rrvocalicvowelsigngujarati:2756,rsuperior:63217,rtblock:9616,rturned:633,rturnedsuperior:692,ruhiragana:12427,rukatakana:12523,rukatakanahalfwidth:65433,rupeemarkbengali:2546,rupeesignbengali:2547,rupiah:63197,ruthai:3620,rvocalicbengali:2443,rvocalicdeva:2315,rvocalicgujarati:2699,rvocalicvowelsignbengali:2499,rvocalicvowelsigndeva:2371,rvocalicvowelsigngujarati:2755,s:115,sabengali:2488,sacute:347,sacutedotaccent:7781,sadarabic:1589,sadeva:2360,sadfinalarabic:65210,sadinitialarabic:65211,sadmedialarabic:65212,sagujarati:2744,sagurmukhi:2616,sahiragana:12373,sakatakana:12469,sakatakanahalfwidth:65403,sallallahoualayhewasallamarabic:65018,samekh:1505,samekhdagesh:64321,samekhdageshhebrew:64321,samekhhebrew:1505,saraaathai:3634,saraaethai:3649,saraaimaimalaithai:3652,saraaimaimuanthai:3651,saraamthai:3635,saraathai:3632,saraethai:3648,saraiileftthai:63622,saraiithai:3637,saraileftthai:63621,saraithai:3636,saraothai:3650,saraueeleftthai:63624,saraueethai:3639,saraueleftthai:63623,sarauethai:3638,sarauthai:3640,sarauuthai:3641,sbopomofo:12569,scaron:353,scarondotaccent:7783,scedilla:351,schwa:601,schwacyrillic:1241,schwadieresiscyrillic:1243,schwahook:602,scircle:9442,scircumflex:349,scommaaccent:537,sdotaccent:7777,sdotbelow:7779,sdotbelowdotaccent:7785,seagullbelowcmb:828,second:8243,secondtonechinese:714,section:167,seenarabic:1587,seenfinalarabic:65202,seeninitialarabic:65203,seenmedialarabic:65204,segol:1462,segol13:1462,segol1f:1462,segol2c:1462,segolhebrew:1462,segolnarrowhebrew:1462,segolquarterhebrew:1462,segoltahebrew:1426,segolwidehebrew:1462,seharmenian:1405,sehiragana:12379,sekatakana:12475,sekatakanahalfwidth:65406,semicolon:59,semicolonarabic:1563,semicolonmonospace:65307,semicolonsmall:65108,semivoicedmarkkana:12444,semivoicedmarkkanahalfwidth:65439,sentisquare:13090,sentosquare:13091,seven:55,sevenarabic:1639,sevenbengali:2541,sevencircle:9318,sevencircleinversesansserif:10128,sevendeva:2413,seveneighths:8542,sevengujarati:2797,sevengurmukhi:2669,sevenhackarabic:1639,sevenhangzhou:12327,sevenideographicparen:12838,seveninferior:8327,sevenmonospace:65303,sevenoldstyle:63287,sevenparen:9338,sevenperiod:9358,sevenpersian:1783,sevenroman:8566,sevensuperior:8311,seventeencircle:9328,seventeenparen:9348,seventeenperiod:9368,seventhai:3671,sfthyphen:173,shaarmenian:1399,shabengali:2486,shacyrillic:1096,shaddaarabic:1617,shaddadammaarabic:64609,shaddadammatanarabic:64606,shaddafathaarabic:64608,shaddakasraarabic:64610,shaddakasratanarabic:64607,shade:9618,shadedark:9619,shadelight:9617,shademedium:9618,shadeva:2358,shagujarati:2742,shagurmukhi:2614,shalshelethebrew:1427,shbopomofo:12565,shchacyrillic:1097,sheenarabic:1588,sheenfinalarabic:65206,sheeninitialarabic:65207,sheenmedialarabic:65208,sheicoptic:995,sheqel:8362,sheqelhebrew:8362,sheva:1456,sheva115:1456,sheva15:1456,sheva22:1456,sheva2e:1456,shevahebrew:1456,shevanarrowhebrew:1456,shevaquarterhebrew:1456,shevawidehebrew:1456,shhacyrillic:1211,shimacoptic:1005,shin:1513,shindagesh:64329,shindageshhebrew:64329,shindageshshindot:64300,shindageshshindothebrew:64300,shindageshsindot:64301,shindageshsindothebrew:64301,shindothebrew:1473,shinhebrew:1513,shinshindot:64298,shinshindothebrew:64298,shinsindot:64299,shinsindothebrew:64299,shook:642,sigma:963,sigma1:962,sigmafinal:962,sigmalunatesymbolgreek:1010,sihiragana:12375,sikatakana:12471,sikatakanahalfwidth:65404,siluqhebrew:1469,siluqlefthebrew:1469,similar:8764,sindothebrew:1474,siosacirclekorean:12916,siosaparenkorean:12820,sioscieuckorean:12670,sioscirclekorean:12902,sioskiyeokkorean:12666,sioskorean:12613,siosnieunkorean:12667,siosparenkorean:12806,siospieupkorean:12669,siostikeutkorean:12668,six:54,sixarabic:1638,sixbengali:2540,sixcircle:9317,sixcircleinversesansserif:10127,sixdeva:2412,sixgujarati:2796,sixgurmukhi:2668,sixhackarabic:1638,sixhangzhou:12326,sixideographicparen:12837,sixinferior:8326,sixmonospace:65302,sixoldstyle:63286,sixparen:9337,sixperiod:9357,sixpersian:1782,sixroman:8565,sixsuperior:8310,sixteencircle:9327,sixteencurrencydenominatorbengali:2553,sixteenparen:9347,sixteenperiod:9367,sixthai:3670,slash:47,slashmonospace:65295,slong:383,slongdotaccent:7835,smileface:9786,smonospace:65363,sofpasuqhebrew:1475,softhyphen:173,softsigncyrillic:1100,sohiragana:12381,sokatakana:12477,sokatakanahalfwidth:65407,soliduslongoverlaycmb:824,solidusshortoverlaycmb:823,sorusithai:3625,sosalathai:3624,sosothai:3595,sosuathai:3626,space:32,spacehackarabic:32,spade:9824,spadesuitblack:9824,spadesuitwhite:9828,sparen:9390,squarebelowcmb:827,squarecc:13252,squarecm:13213,squarediagonalcrosshatchfill:9641,squarehorizontalfill:9636,squarekg:13199,squarekm:13214,squarekmcapital:13262,squareln:13265,squarelog:13266,squaremg:13198,squaremil:13269,squaremm:13212,squaremsquared:13217,squareorthogonalcrosshatchfill:9638,squareupperlefttolowerrightfill:9639,squareupperrighttolowerleftfill:9640,squareverticalfill:9637,squarewhitewithsmallblack:9635,srsquare:13275,ssabengali:2487,ssadeva:2359,ssagujarati:2743,ssangcieuckorean:12617,ssanghieuhkorean:12677,ssangieungkorean:12672,ssangkiyeokkorean:12594,ssangnieunkorean:12645,ssangpieupkorean:12611,ssangsioskorean:12614,ssangtikeutkorean:12600,ssuperior:63218,sterling:163,sterlingmonospace:65505,strokelongoverlaycmb:822,strokeshortoverlaycmb:821,subset:8834,subsetnotequal:8842,subsetorequal:8838,succeeds:8827,suchthat:8715,suhiragana:12377,sukatakana:12473,sukatakanahalfwidth:65405,sukunarabic:1618,summation:8721,sun:9788,superset:8835,supersetnotequal:8843,supersetorequal:8839,svsquare:13276,syouwaerasquare:13180,t:116,tabengali:2468,tackdown:8868,tackleft:8867,tadeva:2340,tagujarati:2724,tagurmukhi:2596,taharabic:1591,tahfinalarabic:65218,tahinitialarabic:65219,tahiragana:12383,tahmedialarabic:65220,taisyouerasquare:13181,takatakana:12479,takatakanahalfwidth:65408,tatweelarabic:1600,tau:964,tav:1514,tavdages:64330,tavdagesh:64330,tavdageshhebrew:64330,tavhebrew:1514,tbar:359,tbopomofo:12554,tcaron:357,tccurl:680,tcedilla:355,tcheharabic:1670,tchehfinalarabic:64379,tchehinitialarabic:64380,tchehmedialarabic:64381,tcircle:9443,tcircumflexbelow:7793,tcommaaccent:355,tdieresis:7831,tdotaccent:7787,tdotbelow:7789,tecyrillic:1090,tedescendercyrillic:1197,teharabic:1578,tehfinalarabic:65174,tehhahinitialarabic:64674,tehhahisolatedarabic:64524,tehinitialarabic:65175,tehiragana:12390,tehjeeminitialarabic:64673,tehjeemisolatedarabic:64523,tehmarbutaarabic:1577,tehmarbutafinalarabic:65172,tehmedialarabic:65176,tehmeeminitialarabic:64676,tehmeemisolatedarabic:64526,tehnoonfinalarabic:64627,tekatakana:12486,tekatakanahalfwidth:65411,telephone:8481,telephoneblack:9742,telishagedolahebrew:1440,telishaqetanahebrew:1449,tencircle:9321,tenideographicparen:12841,tenparen:9341,tenperiod:9361,tenroman:8569,tesh:679,tet:1496,tetdagesh:64312,tetdageshhebrew:64312,tethebrew:1496,tetsecyrillic:1205,tevirhebrew:1435,tevirlefthebrew:1435,thabengali:2469,thadeva:2341,thagujarati:2725,thagurmukhi:2597,thalarabic:1584,thalfinalarabic:65196,thanthakhatlowleftthai:63640,thanthakhatlowrightthai:63639,thanthakhatthai:3660,thanthakhatupperleftthai:63638,theharabic:1579,thehfinalarabic:65178,thehinitialarabic:65179,thehmedialarabic:65180,thereexists:8707,therefore:8756,theta:952,theta1:977,thetasymbolgreek:977,thieuthacirclekorean:12921,thieuthaparenkorean:12825,thieuthcirclekorean:12907,thieuthkorean:12620,thieuthparenkorean:12811,thirteencircle:9324,thirteenparen:9344,thirteenperiod:9364,thonangmonthothai:3601,thook:429,thophuthaothai:3602,thorn:254,thothahanthai:3607,thothanthai:3600,thothongthai:3608,thothungthai:3606,thousandcyrillic:1154,thousandsseparatorarabic:1644,thousandsseparatorpersian:1644,three:51,threearabic:1635,threebengali:2537,threecircle:9314,threecircleinversesansserif:10124,threedeva:2409,threeeighths:8540,threegujarati:2793,threegurmukhi:2665,threehackarabic:1635,threehangzhou:12323,threeideographicparen:12834,threeinferior:8323,threemonospace:65299,threenumeratorbengali:2550,threeoldstyle:63283,threeparen:9334,threeperiod:9354,threepersian:1779,threequarters:190,threequartersemdash:63198,threeroman:8562,threesuperior:179,threethai:3667,thzsquare:13204,tihiragana:12385,tikatakana:12481,tikatakanahalfwidth:65409,tikeutacirclekorean:12912,tikeutaparenkorean:12816,tikeutcirclekorean:12898,tikeutkorean:12599,tikeutparenkorean:12802,tilde:732,tildebelowcmb:816,tildecmb:771,tildecomb:771,tildedoublecmb:864,tildeoperator:8764,tildeoverlaycmb:820,tildeverticalcmb:830,timescircle:8855,tipehahebrew:1430,tipehalefthebrew:1430,tippigurmukhi:2672,titlocyrilliccmb:1155,tiwnarmenian:1407,tlinebelow:7791,tmonospace:65364,toarmenian:1385,tohiragana:12392,tokatakana:12488,tokatakanahalfwidth:65412,tonebarextrahighmod:741,tonebarextralowmod:745,tonebarhighmod:742,tonebarlowmod:744,tonebarmidmod:743,tonefive:445,tonesix:389,tonetwo:424,tonos:900,tonsquare:13095,topatakthai:3599,tortoiseshellbracketleft:12308,tortoiseshellbracketleftsmall:65117,tortoiseshellbracketleftvertical:65081,tortoiseshellbracketright:12309,tortoiseshellbracketrightsmall:65118,tortoiseshellbracketrightvertical:65082,totaothai:3605,tpalatalhook:427,tparen:9391,trademark:8482,trademarksans:63722,trademarkserif:63195,tretroflexhook:648,triagdn:9660,triaglf:9668,triagrt:9658,triagup:9650,ts:678,tsadi:1510,tsadidagesh:64326,tsadidageshhebrew:64326,tsadihebrew:1510,tsecyrillic:1094,tsere:1461,tsere12:1461,tsere1e:1461,tsere2b:1461,tserehebrew:1461,tserenarrowhebrew:1461,tserequarterhebrew:1461,tserewidehebrew:1461,tshecyrillic:1115,tsuperior:63219,ttabengali:2463,ttadeva:2335,ttagujarati:2719,ttagurmukhi:2591,tteharabic:1657,ttehfinalarabic:64359,ttehinitialarabic:64360,ttehmedialarabic:64361,tthabengali:2464,tthadeva:2336,tthagujarati:2720,tthagurmukhi:2592,tturned:647,tuhiragana:12388,tukatakana:12484,tukatakanahalfwidth:65410,tusmallhiragana:12387,tusmallkatakana:12483,tusmallkatakanahalfwidth:65391,twelvecircle:9323,twelveparen:9343,twelveperiod:9363,twelveroman:8571,twentycircle:9331,twentyhangzhou:21316,twentyparen:9351,twentyperiod:9371,two:50,twoarabic:1634,twobengali:2536,twocircle:9313,twocircleinversesansserif:10123,twodeva:2408,twodotenleader:8229,twodotleader:8229,twodotleadervertical:65072,twogujarati:2792,twogurmukhi:2664,twohackarabic:1634,twohangzhou:12322,twoideographicparen:12833,twoinferior:8322,twomonospace:65298,twonumeratorbengali:2549,twooldstyle:63282,twoparen:9333,twoperiod:9353,twopersian:1778,tworoman:8561,twostroke:443,twosuperior:178,twothai:3666,twothirds:8532,u:117,uacute:250,ubar:649,ubengali:2441,ubopomofo:12584,ubreve:365,ucaron:468,ucircle:9444,ucircumflex:251,ucircumflexbelow:7799,ucyrillic:1091,udattadeva:2385,udblacute:369,udblgrave:533,udeva:2313,udieresis:252,udieresisacute:472,udieresisbelow:7795,udieresiscaron:474,udieresiscyrillic:1265,udieresisgrave:476,udieresismacron:470,udotbelow:7909,ugrave:249,ugujarati:2697,ugurmukhi:2569,uhiragana:12358,uhookabove:7911,uhorn:432,uhornacute:7913,uhorndotbelow:7921,uhorngrave:7915,uhornhookabove:7917,uhorntilde:7919,uhungarumlaut:369,uhungarumlautcyrillic:1267,uinvertedbreve:535,ukatakana:12454,ukatakanahalfwidth:65395,ukcyrillic:1145,ukorean:12636,umacron:363,umacroncyrillic:1263,umacrondieresis:7803,umatragurmukhi:2625,umonospace:65365,underscore:95,underscoredbl:8215,underscoremonospace:65343,underscorevertical:65075,underscorewavy:65103,union:8746,universal:8704,uogonek:371,uparen:9392,upblock:9600,upperdothebrew:1476,upsilon:965,upsilondieresis:971,upsilondieresistonos:944,upsilonlatin:650,upsilontonos:973,uptackbelowcmb:797,uptackmod:724,uragurmukhi:2675,uring:367,ushortcyrillic:1118,usmallhiragana:12357,usmallkatakana:12453,usmallkatakanahalfwidth:65385,ustraightcyrillic:1199,ustraightstrokecyrillic:1201,utilde:361,utildeacute:7801,utildebelow:7797,uubengali:2442,uudeva:2314,uugujarati:2698,uugurmukhi:2570,uumatragurmukhi:2626,uuvowelsignbengali:2498,uuvowelsigndeva:2370,uuvowelsigngujarati:2754,uvowelsignbengali:2497,uvowelsigndeva:2369,uvowelsigngujarati:2753,v:118,vadeva:2357,vagujarati:2741,vagurmukhi:2613,vakatakana:12535,vav:1493,vavdagesh:64309,vavdagesh65:64309,vavdageshhebrew:64309,vavhebrew:1493,vavholam:64331,vavholamhebrew:64331,vavvavhebrew:1520,vavyodhebrew:1521,vcircle:9445,vdotbelow:7807,vecyrillic:1074,veharabic:1700,vehfinalarabic:64363,vehinitialarabic:64364,vehmedialarabic:64365,vekatakana:12537,venus:9792,verticalbar:124,verticallineabovecmb:781,verticallinebelowcmb:809,verticallinelowmod:716,verticallinemod:712,vewarmenian:1406,vhook:651,vikatakana:12536,viramabengali:2509,viramadeva:2381,viramagujarati:2765,visargabengali:2435,visargadeva:2307,visargagujarati:2691,vmonospace:65366,voarmenian:1400,voicediterationhiragana:12446,voicediterationkatakana:12542,voicedmarkkana:12443,voicedmarkkanahalfwidth:65438,vokatakana:12538,vparen:9393,vtilde:7805,vturned:652,vuhiragana:12436,vukatakana:12532,w:119,wacute:7811,waekorean:12633,wahiragana:12431,wakatakana:12527,wakatakanahalfwidth:65436,wakorean:12632,wasmallhiragana:12430,wasmallkatakana:12526,wattosquare:13143,wavedash:12316,wavyunderscorevertical:65076,wawarabic:1608,wawfinalarabic:65262,wawhamzaabovearabic:1572,wawhamzaabovefinalarabic:65158,wbsquare:13277,wcircle:9446,wcircumflex:373,wdieresis:7813,wdotaccent:7815,wdotbelow:7817,wehiragana:12433,weierstrass:8472,wekatakana:12529,wekorean:12638,weokorean:12637,wgrave:7809,whitebullet:9702,whitecircle:9675,whitecircleinverse:9689,whitecornerbracketleft:12302,whitecornerbracketleftvertical:65091,whitecornerbracketright:12303,whitecornerbracketrightvertical:65092,whitediamond:9671,whitediamondcontainingblacksmalldiamond:9672,whitedownpointingsmalltriangle:9663,whitedownpointingtriangle:9661,whiteleftpointingsmalltriangle:9667,whiteleftpointingtriangle:9665,whitelenticularbracketleft:12310,whitelenticularbracketright:12311,whiterightpointingsmalltriangle:9657,whiterightpointingtriangle:9655,whitesmallsquare:9643,whitesmilingface:9786,whitesquare:9633,whitestar:9734,whitetelephone:9743,whitetortoiseshellbracketleft:12312,whitetortoiseshellbracketright:12313,whiteuppointingsmalltriangle:9653,whiteuppointingtriangle:9651,wihiragana:12432,wikatakana:12528,wikorean:12639,wmonospace:65367,wohiragana:12434,wokatakana:12530,wokatakanahalfwidth:65382,won:8361,wonmonospace:65510,wowaenthai:3623,wparen:9394,wring:7832,wsuperior:695,wturned:653,wynn:447,x:120,xabovecmb:829,xbopomofo:12562,xcircle:9447,xdieresis:7821,xdotaccent:7819,xeharmenian:1389,xi:958,xmonospace:65368,xparen:9395,xsuperior:739,y:121,yaadosquare:13134,yabengali:2479,yacute:253,yadeva:2351,yaekorean:12626,yagujarati:2735,yagurmukhi:2607,yahiragana:12420,yakatakana:12516,yakatakanahalfwidth:65428,yakorean:12625,yamakkanthai:3662,yasmallhiragana:12419,yasmallkatakana:12515,yasmallkatakanahalfwidth:65388,yatcyrillic:1123,ycircle:9448,ycircumflex:375,ydieresis:255,ydotaccent:7823,ydotbelow:7925,yeharabic:1610,yehbarreearabic:1746,yehbarreefinalarabic:64431,yehfinalarabic:65266,yehhamzaabovearabic:1574,yehhamzaabovefinalarabic:65162,yehhamzaaboveinitialarabic:65163,yehhamzaabovemedialarabic:65164,yehinitialarabic:65267,yehmedialarabic:65268,yehmeeminitialarabic:64733,yehmeemisolatedarabic:64600,yehnoonfinalarabic:64660,yehthreedotsbelowarabic:1745,yekorean:12630,yen:165,yenmonospace:65509,yeokorean:12629,yeorinhieuhkorean:12678,yerahbenyomohebrew:1450,yerahbenyomolefthebrew:1450,yericyrillic:1099,yerudieresiscyrillic:1273,yesieungkorean:12673,yesieungpansioskorean:12675,yesieungsioskorean:12674,yetivhebrew:1434,ygrave:7923,yhook:436,yhookabove:7927,yiarmenian:1397,yicyrillic:1111,yikorean:12642,yinyang:9775,yiwnarmenian:1410,ymonospace:65369,yod:1497,yoddagesh:64313,yoddageshhebrew:64313,yodhebrew:1497,yodyodhebrew:1522,yodyodpatahhebrew:64287,yohiragana:12424,yoikorean:12681,yokatakana:12520,yokatakanahalfwidth:65430,yokorean:12635,yosmallhiragana:12423,yosmallkatakana:12519,yosmallkatakanahalfwidth:65390,yotgreek:1011,yoyaekorean:12680,yoyakorean:12679,yoyakthai:3618,yoyingthai:3597,yparen:9396,ypogegrammeni:890,ypogegrammenigreekcmb:837,yr:422,yring:7833,ysuperior:696,ytilde:7929,yturned:654,yuhiragana:12422,yuikorean:12684,yukatakana:12518,yukatakanahalfwidth:65429,yukorean:12640,yusbigcyrillic:1131,yusbigiotifiedcyrillic:1133,yuslittlecyrillic:1127,yuslittleiotifiedcyrillic:1129,yusmallhiragana:12421,yusmallkatakana:12517,yusmallkatakanahalfwidth:65389,yuyekorean:12683,yuyeokorean:12682,yyabengali:2527,yyadeva:2399,z:122,zaarmenian:1382,zacute:378,zadeva:2395,zagurmukhi:2651,zaharabic:1592,zahfinalarabic:65222,zahinitialarabic:65223,zahiragana:12374,zahmedialarabic:65224,zainarabic:1586,zainfinalarabic:65200,zakatakana:12470,zaqefgadolhebrew:1429,zaqefqatanhebrew:1428,zarqahebrew:1432,zayin:1494,zayindagesh:64310,zayindageshhebrew:64310,zayinhebrew:1494,zbopomofo:12567,zcaron:382,zcircle:9449,zcircumflex:7825,zcurl:657,zdot:380,zdotaccent:380,zdotbelow:7827,zecyrillic:1079,zedescendercyrillic:1177,zedieresiscyrillic:1247,zehiragana:12380,zekatakana:12476,zero:48,zeroarabic:1632,zerobengali:2534,zerodeva:2406,zerogujarati:2790,zerogurmukhi:2662,zerohackarabic:1632,zeroinferior:8320,zeromonospace:65296,zerooldstyle:63280,zeropersian:1776,zerosuperior:8304,zerothai:3664,zerowidthjoiner:65279,zerowidthnonjoiner:8204,zerowidthspace:8203,zeta:950,zhbopomofo:12563,zhearmenian:1386,zhebrevecyrillic:1218,zhecyrillic:1078,zhedescendercyrillic:1175,zhedieresiscyrillic:1245,zihiragana:12376,zikatakana:12472,zinorhebrew:1454,zlinebelow:7829,zmonospace:65370,zohiragana:12382,zokatakana:12478,zparen:9397,zretroflexhook:656,zstroke:438,zuhiragana:12378,zukatakana:12474,".notdef":0},Ac={space:32,a1:9985,a2:9986,a202:9987,a3:9988,a4:9742,a5:9990,a119:9991,a118:9992,a117:9993,a11:9755,a12:9758,a13:9996,a14:9997,a15:9998,a16:9999,a105:1e4,a17:10001,a18:10002,a19:10003,a20:10004,a21:10005,a22:10006,a23:10007,a24:10008,a25:10009,a26:10010,a27:10011,a28:10012,a6:10013,a7:10014,a8:10015,a9:10016,a10:10017,a29:10018,a30:10019,a31:10020,a32:10021,a33:10022,a34:10023,a35:9733,a36:10025,a37:10026,a38:10027,a39:10028,a40:10029,a41:10030,a42:10031,a43:10032,a44:10033,a45:10034,a46:10035,a47:10036,a48:10037,a49:10038,a50:10039,a51:10040,a52:10041,a53:10042,a54:10043,a55:10044,a56:10045,a57:10046,a58:10047,a59:10048,a60:10049,a61:10050,a62:10051,a63:10052,a64:10053,a65:10054,a66:10055,a67:10056,a68:10057,a69:10058,a70:10059,a71:9679,a72:10061,a73:9632,a74:10063,a203:10064,a75:10065,a204:10066,a76:9650,a77:9660,a78:9670,a79:10070,a81:9687,a82:10072,a83:10073,a84:10074,a97:10075,a98:10076,a99:10077,a100:10078,a101:10081,a102:10082,a103:10083,a104:10084,a106:10085,a107:10086,a108:10087,a112:9827,a111:9830,a110:9829,a109:9824,a120:9312,a121:9313,a122:9314,a123:9315,a124:9316,a125:9317,a126:9318,a127:9319,a128:9320,a129:9321,a130:10102,a131:10103,a132:10104,a133:10105,a134:10106,a135:10107,a136:10108,a137:10109,a138:10110,a139:10111,a140:10112,a141:10113,a142:10114,a143:10115,a144:10116,a145:10117,a146:10118,a147:10119,a148:10120,a149:10121,a150:10122,a151:10123,a152:10124,a153:10125,a154:10126,a155:10127,a156:10128,a157:10129,a158:10130,a159:10131,a160:10132,a161:8594,a163:8596,a164:8597,a196:10136,a165:10137,a192:10138,a166:10139,a167:10140,a168:10141,a169:10142,a170:10143,a171:10144,a172:10145,a173:10146,a162:10147,a174:10148,a175:10149,a176:10150,a177:10151,a178:10152,a179:10153,a193:10154,a180:10155,a199:10156,a181:10157,a200:10158,a182:10159,a201:10161,a183:10162,a184:10163,a197:10164,a185:10165,a194:10166,a198:10167,a186:10168,a195:10169,a187:10170,a188:10171,a189:10172,a190:10173,a191:10174,a89:10088,a90:10089,a93:10090,a94:10091,a91:10092,a92:10093,a205:10094,a85:10095,a206:10096,a86:10097,a87:10098,a88:10099,a95:10100,a96:10101,".notdef":0},Bc=function(){function d(a,b,c,d){if(d instanceof Sc&&d.isNativelyDecodable(b,c)){var e=d.dict,f=e.get("ColorSpace","CS");f=Xa.parse(f,b,c);var g=f.numComps,h=a.sendWithPromise("JpegDecode",[d.getIR(),g]);return h.then(function(a){var b=a.data;return new Mc(b,0,b.length,d.dict)})}return Promise.resolve(d)}function f(a,b,c,d){return a=b+a*c,0>a?0:a>d?d:a}function g(b,d,e,f,h,i,j){this.image=e;var k=e.dict;if(k.has("Filter")){var l=k.get("Filter").name;if("JPXDecode"===l){var m=new hd;m.parseImageProperties(e.stream),e.stream.reset(),e.bitsPerComponent=m.bitsPerComponent,e.numComps=m.componentsCount}else"JBIG2Decode"===l&&(e.bitsPerComponent=1,e.numComps=1)}this.width=k.get("Width","W"),this.height=k.get("Height","H"),(this.width<1||this.height<1)&&c("Invalid image width: "+this.width+" or height: "+this.height),this.interpolate=k.get("Interpolate","I")||!1,this.imageMask=k.get("ImageMask","IM")||!1,this.matte=k.get("Matte")||!1;var n=e.bitsPerComponent;if(n||(n=k.get("BitsPerComponent","BPC"),n||(this.imageMask?n=1:c("Bits per component missing in image: "+this.imageMask))),this.bpc=n,!this.imageMask){var o=k.get("ColorSpace","CS");if(!o)switch(a("JPX images (which do not require color spaces)"),e.numComps){case 1:o=ya.get("DeviceGray");break;case 3:o=ya.get("DeviceRGB");break;case 4:o=ya.get("DeviceCMYK");break;default:c("JPX images with "+this.numComps+" color components not supported.")}this.colorSpace=Xa.parse(o,b,d),this.numComps=this.colorSpace.numComps}if(this.decode=k.get("Decode","D"),this.needsDecode=!1,this.decode&&(this.colorSpace&&!this.colorSpace.isDefaultDecode(this.decode)||j&&!Xa.isDefaultDecode(this.decode,1))){this.needsDecode=!0;var p=(1<<n)-1;this.decodeCoefficients=[],this.decodeAddends=[];for(var q=0,r=0;q<this.decode.length;q+=2,++r){var s=this.decode[q],t=this.decode[q+1];this.decodeCoefficients[r]=t-s,this.decodeAddends[r]=p*s}}h?this.smask=new g(b,d,h,!1):i&&(D(i)?this.mask=new g(b,d,i,!1,null,null,!0):this.mask=i)}return g.buildImage=function(a,c,e,f,h){var i,j,k=d(a,c,e,f),l=f.dict.get("SMask"),m=f.dict.get("Mask");return l?(i=d(a,c,e,l),j=Promise.resolve(null)):(i=Promise.resolve(null),m?D(m)?j=d(a,c,e,m):C(m)?j=Promise.resolve(m):(b("Unsupported mask format."),j=Promise.resolve(null)):j=Promise.resolve(null)),Promise.all([k,i,j]).then(function(a){var b=a[0],d=a[1],f=a[2];return new g(c,e,b,h,d,f)});
+},g.resize=function(a,b,d,e,f,g,h,i,j){1!==d&&3!==d&&c("Unsupported component count for resizing.");var k,l,m,n,o=g*h*d,p=i?i:8>=b?new Uint8Array(o):16>=b?new Uint16Array(o):new Uint32Array(o),q=e/g,r=f/h,s=0,t=new Uint16Array(g),u=e*d;for(1!==j&&(j=0),l=0;g>l;l++)t[l]=Math.floor(l*q)*d;if(1===d)for(k=0;h>k;k++)for(m=Math.floor(k*r)*u,l=0;g>l;l++)n=m+t[l],p[s++]=a[n];else if(3===d)for(k=0;h>k;k++)for(m=Math.floor(k*r)*u,l=0;g>l;l++)n=m+t[l],p[s++]=a[n++],p[s++]=a[n++],p[s++]=a[n++],s+=j;return p},g.createMask=function(a,b,c,d,e){var f,g,h=(b+7>>3)*c,i=a.byteLength,j=h===i;if(!d||e&&!j)if(e)for(f=new Uint8Array(h),f.set(a),g=i;h>g;g++)f[g]=255;else f=new Uint8Array(i),f.set(a);else f=a;if(e)for(g=0;i>g;g++)f[g]=~f[g];return{data:f,width:b,height:c}},g.prototype={get drawWidth(){return Math.max(this.width,this.smask&&this.smask.width||0,this.mask&&this.mask.width||0)},get drawHeight(){return Math.max(this.height,this.smask&&this.smask.height||0,this.mask&&this.mask.height||0)},decodeBuffer:function(a){var b,c,d=this.bpc,e=this.numComps,g=this.decodeAddends,h=this.decodeCoefficients,i=(1<<d)-1;if(1!==d){var j=0;for(b=0,c=this.width*this.height;c>b;b++)for(var k=0;e>k;k++)a[j]=f(a[j],g[k],h[k],i),j++}else for(b=0,c=a.length;c>b;b++)a[b]=+!a[b]},getComponents:function(a){var b=this.bpc;if(8===b)return a;var c,d,e=this.width,f=this.height,g=this.numComps,h=e*f*g,i=0,j=8>=b?new Uint8Array(h):16>=b?new Uint16Array(h):new Uint32Array(h),k=e*g,l=(1<<b)-1,m=0;if(1===b)for(var n,o,p,q=0;f>q;q++){for(o=m+(-8&k),p=m+k;o>m;)d=a[i++],j[m]=d>>7&1,j[m+1]=d>>6&1,j[m+2]=d>>5&1,j[m+3]=d>>4&1,j[m+4]=d>>3&1,j[m+5]=d>>2&1,j[m+6]=d>>1&1,j[m+7]=1&d,m+=8;if(p>m)for(d=a[i++],n=128;p>m;)j[m++]=+!!(d&n),n>>=1}else{var r=0;for(d=0,m=0,c=h;c>m;++m){for(m%k===0&&(d=0,r=0);b>r;)d=d<<8|a[i++],r+=8;var s=r-b,t=d>>s;j[m]=0>t?0:t>l?l:t,d&=(1<<s)-1,r=s}}return j},fillOpacity:function(a,b,d,e,f){var h,i,j,k,l,m,n=this.smask,o=this.mask;if(n)i=n.width,j=n.height,h=new Uint8Array(i*j),n.fillGrayBuffer(h),(i!==b||j!==d)&&(h=g.resize(h,n.bpc,1,i,j,b,d));else if(o)if(o instanceof g){for(i=o.width,j=o.height,h=new Uint8Array(i*j),o.numComps=1,o.fillGrayBuffer(h),k=0,l=i*j;l>k;++k)h[k]=255-h[k];(i!==b||j!==d)&&(h=g.resize(h,o.bpc,1,i,j,b,d))}else if(C(o)){h=new Uint8Array(b*d);var p=this.numComps;for(k=0,l=b*d;l>k;++k){var q=0,r=k*p;for(m=0;p>m;++m){var s=f[r+m],t=2*m;if(s<o[t]||s>o[t+1]){q=255;break}}h[k]=q}}else c("Unknown mask format.");if(h)for(k=0,m=3,l=b*e;l>k;++k,m+=4)a[m]=h[k];else for(k=0,m=3,l=b*e;l>k;++k,m+=4)a[m]=255},undoPreblend:function(a,b,c){var d=this.smask&&this.smask.matte;if(d)for(var e,f,g,h=this.colorSpace.getRgb(d,0),i=h[0],j=h[1],k=h[2],l=b*c*4,m=0;l>m;m+=4){var n=a[m+3];if(0!==n){var o=255/n;e=(a[m]-i)*o+i,f=(a[m+1]-j)*o+j,g=(a[m+2]-k)*o+k,a[m]=0>=e?0:e>=255?255:0|e,a[m+1]=0>=f?0:f>=255?255:0|f,a[m+2]=0>=g?0:g>=255?255:0|g}else a[m]=255,a[m+1]=255,a[m+2]=255}},createImageData:function(a){var b,c=this.drawWidth,d=this.drawHeight,f={width:c,height:d},g=this.numComps,h=this.width,i=this.height,j=this.bpc,k=h*g*j+7>>3;if(!a){var l;if("DeviceGray"===this.colorSpace.name&&1===j?l=V.GRAYSCALE_1BPP:"DeviceRGB"!==this.colorSpace.name||8!==j||this.needsDecode||(l=V.RGB_24BPP),l&&!this.smask&&!this.mask&&c===h&&d===i){if(f.kind=l,b=this.getImageBytes(i*k),this.image instanceof Oc)f.data=b;else{var m=new Uint8Array(b.length);m.set(b),f.data=m}if(this.needsDecode){e(l===V.GRAYSCALE_1BPP);for(var n=f.data,o=0,p=n.length;p>o;o++)n[o]^=255}return f}if(this.image instanceof Sc&&!this.smask&&!this.mask&&("DeviceGray"===this.colorSpace.name||"DeviceRGB"===this.colorSpace.name||"DeviceCMYK"===this.colorSpace.name))return f.kind=V.RGB_24BPP,f.data=this.getImageBytes(i*k,c,d,!0),f}b=this.getImageBytes(i*k);var q,r,s=0|b.length/k*d/i,t=this.getComponents(b);return a||this.smask||this.mask?(f.kind=V.RGBA_32BPP,f.data=new Uint8Array(c*d*4),q=1,r=!0,this.fillOpacity(f.data,c,d,s,t)):(f.kind=V.RGB_24BPP,f.data=new Uint8Array(c*d*3),q=0,r=!1),this.needsDecode&&this.decodeBuffer(t),this.colorSpace.fillRgb(f.data,h,i,c,d,s,j,t,q),r&&this.undoPreblend(f.data,c,s),f},fillGrayBuffer:function(a){var b=this.numComps;1!==b&&c("Reading gray scale from a color image: "+b);var d,e,f=this.width,g=this.height,h=this.bpc,i=f*b*h+7>>3,j=this.getImageBytes(g*i),k=this.getComponents(j);if(1!==h){this.needsDecode&&this.decodeBuffer(k),e=f*g;var l=255/((1<<h)-1);for(d=0;e>d;++d)a[d]=l*k[d]|0}else if(e=f*g,this.needsDecode)for(d=0;e>d;++d)a[d]=k[d]-1&255;else for(d=0;e>d;++d)a[d]=255&-k[d]},getImageBytes:function(a,b,c,d){return this.image.reset(),this.image.drawWidth=b||this.width,this.image.drawHeight=c||this.height,this.image.forceRGB=!!d,this.image.getBytes(a)}},g}(),Cc={Courier:600,"Courier-Bold":600,"Courier-BoldOblique":600,"Courier-Oblique":600,Helvetica:{space:278,exclam:278,quotedbl:355,numbersign:556,dollar:556,percent:889,ampersand:667,quoteright:222,parenleft:333,parenright:333,asterisk:389,plus:584,comma:278,hyphen:333,period:278,slash:278,zero:556,one:556,two:556,three:556,four:556,five:556,six:556,seven:556,eight:556,nine:556,colon:278,semicolon:278,less:584,equal:584,greater:584,question:556,at:1015,A:667,B:667,C:722,D:722,E:667,F:611,G:778,H:722,I:278,J:500,K:667,L:556,M:833,N:722,O:778,P:667,Q:778,R:722,S:667,T:611,U:722,V:667,W:944,X:667,Y:667,Z:611,bracketleft:278,backslash:278,bracketright:278,asciicircum:469,underscore:556,quoteleft:222,a:556,b:556,c:500,d:556,e:556,f:278,g:556,h:556,i:222,j:222,k:500,l:222,m:833,n:556,o:556,p:556,q:556,r:333,s:500,t:278,u:556,v:500,w:722,x:500,y:500,z:500,braceleft:334,bar:260,braceright:334,asciitilde:584,exclamdown:333,cent:556,sterling:556,fraction:167,yen:556,florin:556,section:556,currency:556,quotesingle:191,quotedblleft:333,guillemotleft:556,guilsinglleft:333,guilsinglright:333,fi:500,fl:500,endash:556,dagger:556,daggerdbl:556,periodcentered:278,paragraph:537,bullet:350,quotesinglbase:222,quotedblbase:333,quotedblright:333,guillemotright:556,ellipsis:1e3,perthousand:1e3,questiondown:611,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:1e3,ordfeminine:370,Lslash:556,Oslash:778,OE:1e3,ordmasculine:365,ae:889,dotlessi:278,lslash:222,oslash:611,oe:944,germandbls:611,Idieresis:278,eacute:556,abreve:556,uhungarumlaut:556,ecaron:556,Ydieresis:667,divide:584,Yacute:667,Acircumflex:667,aacute:556,Ucircumflex:722,yacute:500,scommaaccent:500,ecircumflex:556,Uring:722,Udieresis:722,aogonek:556,Uacute:722,uogonek:556,Edieresis:667,Dcroat:722,commaaccent:250,copyright:737,Emacron:667,ccaron:500,aring:556,Ncommaaccent:722,lacute:222,agrave:556,Tcommaaccent:611,Cacute:722,atilde:556,Edotaccent:667,scaron:500,scedilla:500,iacute:278,lozenge:471,Rcaron:722,Gcommaaccent:778,ucircumflex:556,acircumflex:556,Amacron:667,rcaron:333,ccedilla:500,Zdotaccent:611,Thorn:667,Omacron:778,Racute:722,Sacute:667,dcaron:643,Umacron:722,uring:556,threesuperior:333,Ograve:778,Agrave:667,Abreve:667,multiply:584,uacute:556,Tcaron:611,partialdiff:476,ydieresis:500,Nacute:722,icircumflex:278,Ecircumflex:667,adieresis:556,edieresis:556,cacute:500,nacute:556,umacron:556,Ncaron:722,Iacute:278,plusminus:584,brokenbar:260,registered:737,Gbreve:778,Idotaccent:278,summation:600,Egrave:667,racute:333,omacron:556,Zacute:611,Zcaron:611,greaterequal:549,Eth:722,Ccedilla:722,lcommaaccent:222,tcaron:317,eogonek:556,Uogonek:722,Aacute:667,Adieresis:667,egrave:556,zacute:500,iogonek:222,Oacute:778,oacute:556,amacron:556,sacute:500,idieresis:278,Ocircumflex:778,Ugrave:722,Delta:612,thorn:556,twosuperior:333,Odieresis:778,mu:556,igrave:278,ohungarumlaut:556,Eogonek:667,dcroat:556,threequarters:834,Scedilla:667,lcaron:299,Kcommaaccent:667,Lacute:556,trademark:1e3,edotaccent:556,Igrave:278,Imacron:278,Lcaron:556,onehalf:834,lessequal:549,ocircumflex:556,ntilde:556,Uhungarumlaut:722,Eacute:667,emacron:556,gbreve:556,onequarter:834,Scaron:667,Scommaaccent:667,Ohungarumlaut:778,degree:400,ograve:556,Ccaron:722,ugrave:556,radical:453,Dcaron:722,rcommaaccent:333,Ntilde:722,otilde:556,Rcommaaccent:722,Lcommaaccent:556,Atilde:667,Aogonek:667,Aring:667,Otilde:778,zdotaccent:500,Ecaron:667,Iogonek:278,kcommaaccent:500,minus:584,Icircumflex:278,ncaron:556,tcommaaccent:278,logicalnot:584,odieresis:556,udieresis:556,notequal:549,gcommaaccent:556,eth:556,zcaron:500,ncommaaccent:556,onesuperior:333,imacron:278,Euro:556},"Helvetica-Bold":{space:278,exclam:333,quotedbl:474,numbersign:556,dollar:556,percent:889,ampersand:722,quoteright:278,parenleft:333,parenright:333,asterisk:389,plus:584,comma:278,hyphen:333,period:278,slash:278,zero:556,one:556,two:556,three:556,four:556,five:556,six:556,seven:556,eight:556,nine:556,colon:333,semicolon:333,less:584,equal:584,greater:584,question:611,at:975,A:722,B:722,C:722,D:722,E:667,F:611,G:778,H:722,I:278,J:556,K:722,L:611,M:833,N:722,O:778,P:667,Q:778,R:722,S:667,T:611,U:722,V:667,W:944,X:667,Y:667,Z:611,bracketleft:333,backslash:278,bracketright:333,asciicircum:584,underscore:556,quoteleft:278,a:556,b:611,c:556,d:611,e:556,f:333,g:611,h:611,i:278,j:278,k:556,l:278,m:889,n:611,o:611,p:611,q:611,r:389,s:556,t:333,u:611,v:556,w:778,x:556,y:556,z:500,braceleft:389,bar:280,braceright:389,asciitilde:584,exclamdown:333,cent:556,sterling:556,fraction:167,yen:556,florin:556,section:556,currency:556,quotesingle:238,quotedblleft:500,guillemotleft:556,guilsinglleft:333,guilsinglright:333,fi:611,fl:611,endash:556,dagger:556,daggerdbl:556,periodcentered:278,paragraph:556,bullet:350,quotesinglbase:278,quotedblbase:500,quotedblright:500,guillemotright:556,ellipsis:1e3,perthousand:1e3,questiondown:611,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:1e3,ordfeminine:370,Lslash:611,Oslash:778,OE:1e3,ordmasculine:365,ae:889,dotlessi:278,lslash:278,oslash:611,oe:944,germandbls:611,Idieresis:278,eacute:556,abreve:556,uhungarumlaut:611,ecaron:556,Ydieresis:667,divide:584,Yacute:667,Acircumflex:722,aacute:556,Ucircumflex:722,yacute:556,scommaaccent:556,ecircumflex:556,Uring:722,Udieresis:722,aogonek:556,Uacute:722,uogonek:611,Edieresis:667,Dcroat:722,commaaccent:250,copyright:737,Emacron:667,ccaron:556,aring:556,Ncommaaccent:722,lacute:278,agrave:556,Tcommaaccent:611,Cacute:722,atilde:556,Edotaccent:667,scaron:556,scedilla:556,iacute:278,lozenge:494,Rcaron:722,Gcommaaccent:778,ucircumflex:611,acircumflex:556,Amacron:722,rcaron:389,ccedilla:556,Zdotaccent:611,Thorn:667,Omacron:778,Racute:722,Sacute:667,dcaron:743,Umacron:722,uring:611,threesuperior:333,Ograve:778,Agrave:722,Abreve:722,multiply:584,uacute:611,Tcaron:611,partialdiff:494,ydieresis:556,Nacute:722,icircumflex:278,Ecircumflex:667,adieresis:556,edieresis:556,cacute:556,nacute:611,umacron:611,Ncaron:722,Iacute:278,plusminus:584,brokenbar:280,registered:737,Gbreve:778,Idotaccent:278,summation:600,Egrave:667,racute:389,omacron:611,Zacute:611,Zcaron:611,greaterequal:549,Eth:722,Ccedilla:722,lcommaaccent:278,tcaron:389,eogonek:556,Uogonek:722,Aacute:722,Adieresis:722,egrave:556,zacute:500,iogonek:278,Oacute:778,oacute:611,amacron:556,sacute:556,idieresis:278,Ocircumflex:778,Ugrave:722,Delta:612,thorn:611,twosuperior:333,Odieresis:778,mu:611,igrave:278,ohungarumlaut:611,Eogonek:667,dcroat:611,threequarters:834,Scedilla:667,lcaron:400,Kcommaaccent:722,Lacute:611,trademark:1e3,edotaccent:556,Igrave:278,Imacron:278,Lcaron:611,onehalf:834,lessequal:549,ocircumflex:611,ntilde:611,Uhungarumlaut:722,Eacute:667,emacron:556,gbreve:611,onequarter:834,Scaron:667,Scommaaccent:667,Ohungarumlaut:778,degree:400,ograve:611,Ccaron:722,ugrave:611,radical:549,Dcaron:722,rcommaaccent:389,Ntilde:722,otilde:611,Rcommaaccent:722,Lcommaaccent:611,Atilde:722,Aogonek:722,Aring:722,Otilde:778,zdotaccent:500,Ecaron:667,Iogonek:278,kcommaaccent:556,minus:584,Icircumflex:278,ncaron:611,tcommaaccent:333,logicalnot:584,odieresis:611,udieresis:611,notequal:549,gcommaaccent:611,eth:611,zcaron:500,ncommaaccent:611,onesuperior:333,imacron:278,Euro:556},"Helvetica-BoldOblique":{space:278,exclam:333,quotedbl:474,numbersign:556,dollar:556,percent:889,ampersand:722,quoteright:278,parenleft:333,parenright:333,asterisk:389,plus:584,comma:278,hyphen:333,period:278,slash:278,zero:556,one:556,two:556,three:556,four:556,five:556,six:556,seven:556,eight:556,nine:556,colon:333,semicolon:333,less:584,equal:584,greater:584,question:611,at:975,A:722,B:722,C:722,D:722,E:667,F:611,G:778,H:722,I:278,J:556,K:722,L:611,M:833,N:722,O:778,P:667,Q:778,R:722,S:667,T:611,U:722,V:667,W:944,X:667,Y:667,Z:611,bracketleft:333,backslash:278,bracketright:333,asciicircum:584,underscore:556,quoteleft:278,a:556,b:611,c:556,d:611,e:556,f:333,g:611,h:611,i:278,j:278,k:556,l:278,m:889,n:611,o:611,p:611,q:611,r:389,s:556,t:333,u:611,v:556,w:778,x:556,y:556,z:500,braceleft:389,bar:280,braceright:389,asciitilde:584,exclamdown:333,cent:556,sterling:556,fraction:167,yen:556,florin:556,section:556,currency:556,quotesingle:238,quotedblleft:500,guillemotleft:556,guilsinglleft:333,guilsinglright:333,fi:611,fl:611,endash:556,dagger:556,daggerdbl:556,periodcentered:278,paragraph:556,bullet:350,quotesinglbase:278,quotedblbase:500,quotedblright:500,guillemotright:556,ellipsis:1e3,perthousand:1e3,questiondown:611,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:1e3,ordfeminine:370,Lslash:611,Oslash:778,OE:1e3,ordmasculine:365,ae:889,dotlessi:278,lslash:278,oslash:611,oe:944,germandbls:611,Idieresis:278,eacute:556,abreve:556,uhungarumlaut:611,ecaron:556,Ydieresis:667,divide:584,Yacute:667,Acircumflex:722,aacute:556,Ucircumflex:722,yacute:556,scommaaccent:556,ecircumflex:556,Uring:722,Udieresis:722,aogonek:556,Uacute:722,uogonek:611,Edieresis:667,Dcroat:722,commaaccent:250,copyright:737,Emacron:667,ccaron:556,aring:556,Ncommaaccent:722,lacute:278,agrave:556,Tcommaaccent:611,Cacute:722,atilde:556,Edotaccent:667,scaron:556,scedilla:556,iacute:278,lozenge:494,Rcaron:722,Gcommaaccent:778,ucircumflex:611,acircumflex:556,Amacron:722,rcaron:389,ccedilla:556,Zdotaccent:611,Thorn:667,Omacron:778,Racute:722,Sacute:667,dcaron:743,Umacron:722,uring:611,threesuperior:333,Ograve:778,Agrave:722,Abreve:722,multiply:584,uacute:611,Tcaron:611,partialdiff:494,ydieresis:556,Nacute:722,icircumflex:278,Ecircumflex:667,adieresis:556,edieresis:556,cacute:556,nacute:611,umacron:611,Ncaron:722,Iacute:278,plusminus:584,brokenbar:280,registered:737,Gbreve:778,Idotaccent:278,summation:600,Egrave:667,racute:389,omacron:611,Zacute:611,Zcaron:611,greaterequal:549,Eth:722,Ccedilla:722,lcommaaccent:278,tcaron:389,eogonek:556,Uogonek:722,Aacute:722,Adieresis:722,egrave:556,zacute:500,iogonek:278,Oacute:778,oacute:611,amacron:556,sacute:556,idieresis:278,Ocircumflex:778,Ugrave:722,Delta:612,thorn:611,twosuperior:333,Odieresis:778,mu:611,igrave:278,ohungarumlaut:611,Eogonek:667,dcroat:611,threequarters:834,Scedilla:667,lcaron:400,Kcommaaccent:722,Lacute:611,trademark:1e3,edotaccent:556,Igrave:278,Imacron:278,Lcaron:611,onehalf:834,lessequal:549,ocircumflex:611,ntilde:611,Uhungarumlaut:722,Eacute:667,emacron:556,gbreve:611,onequarter:834,Scaron:667,Scommaaccent:667,Ohungarumlaut:778,degree:400,ograve:611,Ccaron:722,ugrave:611,radical:549,Dcaron:722,rcommaaccent:389,Ntilde:722,otilde:611,Rcommaaccent:722,Lcommaaccent:611,Atilde:722,Aogonek:722,Aring:722,Otilde:778,zdotaccent:500,Ecaron:667,Iogonek:278,kcommaaccent:556,minus:584,Icircumflex:278,ncaron:611,tcommaaccent:333,logicalnot:584,odieresis:611,udieresis:611,notequal:549,gcommaaccent:611,eth:611,zcaron:500,ncommaaccent:611,onesuperior:333,imacron:278,Euro:556},"Helvetica-Oblique":{space:278,exclam:278,quotedbl:355,numbersign:556,dollar:556,percent:889,ampersand:667,quoteright:222,parenleft:333,parenright:333,asterisk:389,plus:584,comma:278,hyphen:333,period:278,slash:278,zero:556,one:556,two:556,three:556,four:556,five:556,six:556,seven:556,eight:556,nine:556,colon:278,semicolon:278,less:584,equal:584,greater:584,question:556,at:1015,A:667,B:667,C:722,D:722,E:667,F:611,G:778,H:722,I:278,J:500,K:667,L:556,M:833,N:722,O:778,P:667,Q:778,R:722,S:667,T:611,U:722,V:667,W:944,X:667,Y:667,Z:611,bracketleft:278,backslash:278,bracketright:278,asciicircum:469,underscore:556,quoteleft:222,a:556,b:556,c:500,d:556,e:556,f:278,g:556,h:556,i:222,j:222,k:500,l:222,m:833,n:556,o:556,p:556,q:556,r:333,s:500,t:278,u:556,v:500,w:722,x:500,y:500,z:500,braceleft:334,bar:260,braceright:334,asciitilde:584,exclamdown:333,cent:556,sterling:556,fraction:167,yen:556,florin:556,section:556,currency:556,quotesingle:191,quotedblleft:333,guillemotleft:556,guilsinglleft:333,guilsinglright:333,fi:500,fl:500,endash:556,dagger:556,daggerdbl:556,periodcentered:278,paragraph:537,bullet:350,quotesinglbase:222,quotedblbase:333,quotedblright:333,guillemotright:556,ellipsis:1e3,perthousand:1e3,questiondown:611,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:1e3,ordfeminine:370,Lslash:556,Oslash:778,OE:1e3,ordmasculine:365,ae:889,dotlessi:278,lslash:222,oslash:611,oe:944,germandbls:611,Idieresis:278,eacute:556,abreve:556,uhungarumlaut:556,ecaron:556,Ydieresis:667,divide:584,Yacute:667,Acircumflex:667,aacute:556,Ucircumflex:722,yacute:500,scommaaccent:500,ecircumflex:556,Uring:722,Udieresis:722,aogonek:556,Uacute:722,uogonek:556,Edieresis:667,Dcroat:722,commaaccent:250,copyright:737,Emacron:667,ccaron:500,aring:556,Ncommaaccent:722,lacute:222,agrave:556,Tcommaaccent:611,Cacute:722,atilde:556,Edotaccent:667,scaron:500,scedilla:500,iacute:278,lozenge:471,Rcaron:722,Gcommaaccent:778,ucircumflex:556,acircumflex:556,Amacron:667,rcaron:333,ccedilla:500,Zdotaccent:611,Thorn:667,Omacron:778,Racute:722,Sacute:667,dcaron:643,Umacron:722,uring:556,threesuperior:333,Ograve:778,Agrave:667,Abreve:667,multiply:584,uacute:556,Tcaron:611,partialdiff:476,ydieresis:500,Nacute:722,icircumflex:278,Ecircumflex:667,adieresis:556,edieresis:556,cacute:500,nacute:556,umacron:556,Ncaron:722,Iacute:278,plusminus:584,brokenbar:260,registered:737,Gbreve:778,Idotaccent:278,summation:600,Egrave:667,racute:333,omacron:556,Zacute:611,Zcaron:611,greaterequal:549,Eth:722,Ccedilla:722,lcommaaccent:222,tcaron:317,eogonek:556,Uogonek:722,Aacute:667,Adieresis:667,egrave:556,zacute:500,iogonek:222,Oacute:778,oacute:556,amacron:556,sacute:500,idieresis:278,Ocircumflex:778,Ugrave:722,Delta:612,thorn:556,twosuperior:333,Odieresis:778,mu:556,igrave:278,ohungarumlaut:556,Eogonek:667,dcroat:556,threequarters:834,Scedilla:667,lcaron:299,Kcommaaccent:667,Lacute:556,trademark:1e3,edotaccent:556,Igrave:278,Imacron:278,Lcaron:556,onehalf:834,lessequal:549,ocircumflex:556,ntilde:556,Uhungarumlaut:722,Eacute:667,emacron:556,gbreve:556,onequarter:834,Scaron:667,Scommaaccent:667,Ohungarumlaut:778,degree:400,ograve:556,Ccaron:722,ugrave:556,radical:453,Dcaron:722,rcommaaccent:333,Ntilde:722,otilde:556,Rcommaaccent:722,Lcommaaccent:556,Atilde:667,Aogonek:667,Aring:667,Otilde:778,zdotaccent:500,Ecaron:667,Iogonek:278,kcommaaccent:500,minus:584,Icircumflex:278,ncaron:556,tcommaaccent:278,logicalnot:584,odieresis:556,udieresis:556,notequal:549,gcommaaccent:556,eth:556,zcaron:500,ncommaaccent:556,onesuperior:333,imacron:278,Euro:556},Symbol:{space:250,exclam:333,universal:713,numbersign:500,existential:549,percent:833,ampersand:778,suchthat:439,parenleft:333,parenright:333,asteriskmath:500,plus:549,comma:250,minus:549,period:250,slash:278,zero:500,one:500,two:500,three:500,four:500,five:500,six:500,seven:500,eight:500,nine:500,colon:278,semicolon:278,less:549,equal:549,greater:549,question:444,congruent:549,Alpha:722,Beta:667,Chi:722,Delta:612,Epsilon:611,Phi:763,Gamma:603,Eta:722,Iota:333,theta1:631,Kappa:722,Lambda:686,Mu:889,Nu:722,Omicron:722,Pi:768,Theta:741,Rho:556,Sigma:592,Tau:611,Upsilon:690,sigma1:439,Omega:768,Xi:645,Psi:795,Zeta:611,bracketleft:333,therefore:863,bracketright:333,perpendicular:658,underscore:500,radicalex:500,alpha:631,beta:549,chi:549,delta:494,epsilon:439,phi:521,gamma:411,eta:603,iota:329,phi1:603,kappa:549,lambda:549,mu:576,nu:521,omicron:549,pi:549,theta:521,rho:549,sigma:603,tau:439,upsilon:576,omega1:713,omega:686,xi:493,psi:686,zeta:494,braceleft:480,bar:200,braceright:480,similar:549,Euro:750,Upsilon1:620,minute:247,lessequal:549,fraction:167,infinity:713,florin:500,club:753,diamond:753,heart:753,spade:753,arrowboth:1042,arrowleft:987,arrowup:603,arrowright:987,arrowdown:603,degree:400,plusminus:549,second:411,greaterequal:549,multiply:549,proportional:713,partialdiff:494,bullet:460,divide:549,notequal:549,equivalence:549,approxequal:549,ellipsis:1e3,arrowvertex:603,arrowhorizex:1e3,carriagereturn:658,aleph:823,Ifraktur:686,Rfraktur:795,weierstrass:987,circlemultiply:768,circleplus:768,emptyset:823,intersection:768,union:768,propersuperset:713,reflexsuperset:713,notsubset:713,propersubset:713,reflexsubset:713,element:713,notelement:713,angle:768,gradient:713,registerserif:790,copyrightserif:790,trademarkserif:890,product:823,radical:549,dotmath:250,logicalnot:713,logicaland:603,logicalor:603,arrowdblboth:1042,arrowdblleft:987,arrowdblup:603,arrowdblright:987,arrowdbldown:603,lozenge:494,angleleft:329,registersans:790,copyrightsans:790,trademarksans:786,summation:713,parenlefttp:384,parenleftex:384,parenleftbt:384,bracketlefttp:384,bracketleftex:384,bracketleftbt:384,bracelefttp:494,braceleftmid:494,braceleftbt:494,braceex:494,angleright:329,integral:274,integraltp:686,integralex:686,integralbt:686,parenrighttp:384,parenrightex:384,parenrightbt:384,bracketrighttp:384,bracketrightex:384,bracketrightbt:384,bracerighttp:494,bracerightmid:494,bracerightbt:494,apple:790},"Times-Roman":{space:250,exclam:333,quotedbl:408,numbersign:500,dollar:500,percent:833,ampersand:778,quoteright:333,parenleft:333,parenright:333,asterisk:500,plus:564,comma:250,hyphen:333,period:250,slash:278,zero:500,one:500,two:500,three:500,four:500,five:500,six:500,seven:500,eight:500,nine:500,colon:278,semicolon:278,less:564,equal:564,greater:564,question:444,at:921,A:722,B:667,C:667,D:722,E:611,F:556,G:722,H:722,I:333,J:389,K:722,L:611,M:889,N:722,O:722,P:556,Q:722,R:667,S:556,T:611,U:722,V:722,W:944,X:722,Y:722,Z:611,bracketleft:333,backslash:278,bracketright:333,asciicircum:469,underscore:500,quoteleft:333,a:444,b:500,c:444,d:500,e:444,f:333,g:500,h:500,i:278,j:278,k:500,l:278,m:778,n:500,o:500,p:500,q:500,r:333,s:389,t:278,u:500,v:500,w:722,x:500,y:500,z:444,braceleft:480,bar:200,braceright:480,asciitilde:541,exclamdown:333,cent:500,sterling:500,fraction:167,yen:500,florin:500,section:500,currency:500,quotesingle:180,quotedblleft:444,guillemotleft:500,guilsinglleft:333,guilsinglright:333,fi:556,fl:556,endash:500,dagger:500,daggerdbl:500,periodcentered:250,paragraph:453,bullet:350,quotesinglbase:333,quotedblbase:444,quotedblright:444,guillemotright:500,ellipsis:1e3,perthousand:1e3,questiondown:444,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:889,ordfeminine:276,Lslash:611,Oslash:722,OE:889,ordmasculine:310,ae:667,dotlessi:278,lslash:278,oslash:500,oe:722,germandbls:500,Idieresis:333,eacute:444,abreve:444,uhungarumlaut:500,ecaron:444,Ydieresis:722,divide:564,Yacute:722,Acircumflex:722,aacute:444,Ucircumflex:722,yacute:500,scommaaccent:389,ecircumflex:444,Uring:722,Udieresis:722,aogonek:444,Uacute:722,uogonek:500,Edieresis:611,Dcroat:722,commaaccent:250,copyright:760,Emacron:611,ccaron:444,aring:444,Ncommaaccent:722,lacute:278,agrave:444,Tcommaaccent:611,Cacute:667,atilde:444,Edotaccent:611,scaron:389,scedilla:389,iacute:278,lozenge:471,Rcaron:667,Gcommaaccent:722,ucircumflex:500,acircumflex:444,Amacron:722,rcaron:333,ccedilla:444,Zdotaccent:611,Thorn:556,Omacron:722,Racute:667,Sacute:556,dcaron:588,Umacron:722,uring:500,threesuperior:300,Ograve:722,Agrave:722,Abreve:722,multiply:564,uacute:500,Tcaron:611,partialdiff:476,ydieresis:500,Nacute:722,icircumflex:278,Ecircumflex:611,adieresis:444,edieresis:444,cacute:444,nacute:500,umacron:500,Ncaron:722,Iacute:333,plusminus:564,brokenbar:200,registered:760,Gbreve:722,Idotaccent:333,summation:600,Egrave:611,racute:333,omacron:500,Zacute:611,Zcaron:611,greaterequal:549,Eth:722,Ccedilla:667,lcommaaccent:278,tcaron:326,eogonek:444,Uogonek:722,Aacute:722,Adieresis:722,egrave:444,zacute:444,iogonek:278,Oacute:722,oacute:500,amacron:444,sacute:389,idieresis:278,Ocircumflex:722,Ugrave:722,Delta:612,thorn:500,twosuperior:300,Odieresis:722,mu:500,igrave:278,ohungarumlaut:500,Eogonek:611,dcroat:500,threequarters:750,Scedilla:556,lcaron:344,Kcommaaccent:722,Lacute:611,trademark:980,edotaccent:444,Igrave:333,Imacron:333,Lcaron:611,onehalf:750,lessequal:549,ocircumflex:500,ntilde:500,Uhungarumlaut:722,Eacute:611,emacron:444,gbreve:500,onequarter:750,Scaron:556,Scommaaccent:556,Ohungarumlaut:722,degree:400,ograve:500,Ccaron:667,ugrave:500,radical:453,Dcaron:722,rcommaaccent:333,Ntilde:722,otilde:500,Rcommaaccent:667,Lcommaaccent:611,Atilde:722,Aogonek:722,Aring:722,Otilde:722,zdotaccent:444,Ecaron:611,Iogonek:333,kcommaaccent:500,minus:564,Icircumflex:333,ncaron:500,tcommaaccent:278,logicalnot:564,odieresis:500,udieresis:500,notequal:549,gcommaaccent:500,eth:500,zcaron:444,ncommaaccent:500,onesuperior:300,imacron:278,Euro:500},"Times-Bold":{space:250,exclam:333,quotedbl:555,numbersign:500,dollar:500,percent:1e3,ampersand:833,quoteright:333,parenleft:333,parenright:333,asterisk:500,plus:570,comma:250,hyphen:333,period:250,slash:278,zero:500,one:500,two:500,three:500,four:500,five:500,six:500,seven:500,eight:500,nine:500,colon:333,semicolon:333,less:570,equal:570,greater:570,question:500,at:930,A:722,B:667,C:722,D:722,E:667,F:611,G:778,H:778,I:389,J:500,K:778,L:667,M:944,N:722,O:778,P:611,Q:778,R:722,S:556,T:667,U:722,V:722,W:1e3,X:722,Y:722,Z:667,bracketleft:333,backslash:278,bracketright:333,asciicircum:581,underscore:500,quoteleft:333,a:500,b:556,c:444,d:556,e:444,f:333,g:500,h:556,i:278,j:333,k:556,l:278,m:833,n:556,o:500,p:556,q:556,r:444,s:389,t:333,u:556,v:500,w:722,x:500,y:500,z:444,braceleft:394,bar:220,braceright:394,asciitilde:520,exclamdown:333,cent:500,sterling:500,fraction:167,yen:500,florin:500,section:500,currency:500,quotesingle:278,quotedblleft:500,guillemotleft:500,guilsinglleft:333,guilsinglright:333,fi:556,fl:556,endash:500,dagger:500,daggerdbl:500,periodcentered:250,paragraph:540,bullet:350,quotesinglbase:333,quotedblbase:500,quotedblright:500,guillemotright:500,ellipsis:1e3,perthousand:1e3,questiondown:500,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:1e3,ordfeminine:300,Lslash:667,Oslash:778,OE:1e3,ordmasculine:330,ae:722,dotlessi:278,lslash:278,oslash:500,oe:722,germandbls:556,Idieresis:389,eacute:444,abreve:500,uhungarumlaut:556,ecaron:444,Ydieresis:722,divide:570,Yacute:722,Acircumflex:722,aacute:500,Ucircumflex:722,yacute:500,scommaaccent:389,ecircumflex:444,Uring:722,Udieresis:722,aogonek:500,Uacute:722,uogonek:556,Edieresis:667,Dcroat:722,commaaccent:250,copyright:747,Emacron:667,ccaron:444,aring:500,Ncommaaccent:722,lacute:278,agrave:500,Tcommaaccent:667,Cacute:722,atilde:500,Edotaccent:667,scaron:389,scedilla:389,iacute:278,lozenge:494,Rcaron:722,Gcommaaccent:778,ucircumflex:556,acircumflex:500,Amacron:722,rcaron:444,ccedilla:444,Zdotaccent:667,Thorn:611,Omacron:778,Racute:722,Sacute:556,dcaron:672,Umacron:722,uring:556,threesuperior:300,Ograve:778,Agrave:722,Abreve:722,multiply:570,uacute:556,Tcaron:667,partialdiff:494,ydieresis:500,Nacute:722,icircumflex:278,Ecircumflex:667,adieresis:500,edieresis:444,cacute:444,nacute:556,umacron:556,Ncaron:722,Iacute:389,plusminus:570,brokenbar:220,registered:747,Gbreve:778,Idotaccent:389,summation:600,Egrave:667,racute:444,omacron:500,Zacute:667,Zcaron:667,greaterequal:549,Eth:722,Ccedilla:722,lcommaaccent:278,tcaron:416,eogonek:444,Uogonek:722,Aacute:722,Adieresis:722,egrave:444,zacute:444,iogonek:278,Oacute:778,oacute:500,amacron:500,sacute:389,idieresis:278,Ocircumflex:778,Ugrave:722,Delta:612,thorn:556,twosuperior:300,Odieresis:778,mu:556,igrave:278,ohungarumlaut:500,Eogonek:667,dcroat:556,threequarters:750,Scedilla:556,lcaron:394,Kcommaaccent:778,Lacute:667,trademark:1e3,edotaccent:444,Igrave:389,Imacron:389,Lcaron:667,onehalf:750,lessequal:549,ocircumflex:500,ntilde:556,Uhungarumlaut:722,Eacute:667,emacron:444,gbreve:500,onequarter:750,Scaron:556,Scommaaccent:556,Ohungarumlaut:778,degree:400,ograve:500,Ccaron:722,ugrave:556,radical:549,Dcaron:722,rcommaaccent:444,Ntilde:722,otilde:500,Rcommaaccent:722,Lcommaaccent:667,Atilde:722,Aogonek:722,Aring:722,Otilde:778,zdotaccent:444,Ecaron:667,Iogonek:389,kcommaaccent:556,minus:570,Icircumflex:389,ncaron:556,tcommaaccent:333,logicalnot:570,odieresis:500,udieresis:556,notequal:549,gcommaaccent:500,eth:500,zcaron:444,ncommaaccent:556,onesuperior:300,imacron:278,Euro:500},"Times-BoldItalic":{space:250,exclam:389,quotedbl:555,numbersign:500,dollar:500,percent:833,ampersand:778,quoteright:333,parenleft:333,parenright:333,asterisk:500,plus:570,comma:250,hyphen:333,period:250,slash:278,zero:500,one:500,two:500,three:500,four:500,five:500,six:500,seven:500,eight:500,nine:500,colon:333,semicolon:333,less:570,equal:570,greater:570,question:500,at:832,A:667,B:667,C:667,D:722,E:667,F:667,G:722,H:778,I:389,J:500,K:667,L:611,M:889,N:722,O:722,P:611,Q:722,R:667,S:556,T:611,U:722,V:667,W:889,X:667,Y:611,Z:611,bracketleft:333,backslash:278,bracketright:333,asciicircum:570,underscore:500,quoteleft:333,a:500,b:500,c:444,d:500,e:444,f:333,g:500,h:556,i:278,j:278,k:500,l:278,m:778,n:556,o:500,p:500,q:500,r:389,s:389,t:278,u:556,v:444,w:667,x:500,y:444,z:389,braceleft:348,bar:220,braceright:348,asciitilde:570,exclamdown:389,cent:500,sterling:500,fraction:167,yen:500,florin:500,section:500,currency:500,quotesingle:278,quotedblleft:500,guillemotleft:500,guilsinglleft:333,guilsinglright:333,fi:556,fl:556,endash:500,dagger:500,daggerdbl:500,periodcentered:250,paragraph:500,bullet:350,quotesinglbase:333,quotedblbase:500,quotedblright:500,guillemotright:500,ellipsis:1e3,perthousand:1e3,questiondown:500,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:944,ordfeminine:266,Lslash:611,Oslash:722,OE:944,ordmasculine:300,ae:722,dotlessi:278,lslash:278,oslash:500,oe:722,germandbls:500,Idieresis:389,eacute:444,abreve:500,uhungarumlaut:556,ecaron:444,Ydieresis:611,divide:570,Yacute:611,Acircumflex:667,aacute:500,Ucircumflex:722,yacute:444,scommaaccent:389,ecircumflex:444,Uring:722,Udieresis:722,aogonek:500,Uacute:722,uogonek:556,Edieresis:667,Dcroat:722,commaaccent:250,copyright:747,Emacron:667,ccaron:444,aring:500,Ncommaaccent:722,lacute:278,agrave:500,Tcommaaccent:611,Cacute:667,atilde:500,Edotaccent:667,scaron:389,scedilla:389,iacute:278,lozenge:494,Rcaron:667,Gcommaaccent:722,ucircumflex:556,acircumflex:500,Amacron:667,rcaron:389,ccedilla:444,Zdotaccent:611,Thorn:611,Omacron:722,Racute:667,Sacute:556,dcaron:608,Umacron:722,uring:556,threesuperior:300,Ograve:722,Agrave:667,Abreve:667,multiply:570,uacute:556,Tcaron:611,partialdiff:494,ydieresis:444,Nacute:722,icircumflex:278,Ecircumflex:667,adieresis:500,edieresis:444,cacute:444,nacute:556,umacron:556,Ncaron:722,Iacute:389,plusminus:570,brokenbar:220,registered:747,Gbreve:722,Idotaccent:389,summation:600,Egrave:667,racute:389,omacron:500,Zacute:611,Zcaron:611,greaterequal:549,Eth:722,Ccedilla:667,lcommaaccent:278,tcaron:366,eogonek:444,Uogonek:722,Aacute:667,Adieresis:667,egrave:444,zacute:389,iogonek:278,Oacute:722,oacute:500,amacron:500,sacute:389,idieresis:278,Ocircumflex:722,Ugrave:722,Delta:612,thorn:500,twosuperior:300,Odieresis:722,mu:576,igrave:278,ohungarumlaut:500,Eogonek:667,
+dcroat:500,threequarters:750,Scedilla:556,lcaron:382,Kcommaaccent:667,Lacute:611,trademark:1e3,edotaccent:444,Igrave:389,Imacron:389,Lcaron:611,onehalf:750,lessequal:549,ocircumflex:500,ntilde:556,Uhungarumlaut:722,Eacute:667,emacron:444,gbreve:500,onequarter:750,Scaron:556,Scommaaccent:556,Ohungarumlaut:722,degree:400,ograve:500,Ccaron:667,ugrave:556,radical:549,Dcaron:722,rcommaaccent:389,Ntilde:722,otilde:500,Rcommaaccent:667,Lcommaaccent:611,Atilde:667,Aogonek:667,Aring:667,Otilde:722,zdotaccent:389,Ecaron:667,Iogonek:389,kcommaaccent:500,minus:606,Icircumflex:389,ncaron:556,tcommaaccent:278,logicalnot:606,odieresis:500,udieresis:556,notequal:549,gcommaaccent:500,eth:500,zcaron:389,ncommaaccent:556,onesuperior:300,imacron:278,Euro:500},"Times-Italic":{space:250,exclam:333,quotedbl:420,numbersign:500,dollar:500,percent:833,ampersand:778,quoteright:333,parenleft:333,parenright:333,asterisk:500,plus:675,comma:250,hyphen:333,period:250,slash:278,zero:500,one:500,two:500,three:500,four:500,five:500,six:500,seven:500,eight:500,nine:500,colon:333,semicolon:333,less:675,equal:675,greater:675,question:500,at:920,A:611,B:611,C:667,D:722,E:611,F:611,G:722,H:722,I:333,J:444,K:667,L:556,M:833,N:667,O:722,P:611,Q:722,R:611,S:500,T:556,U:722,V:611,W:833,X:611,Y:556,Z:556,bracketleft:389,backslash:278,bracketright:389,asciicircum:422,underscore:500,quoteleft:333,a:500,b:500,c:444,d:500,e:444,f:278,g:500,h:500,i:278,j:278,k:444,l:278,m:722,n:500,o:500,p:500,q:500,r:389,s:389,t:278,u:500,v:444,w:667,x:444,y:444,z:389,braceleft:400,bar:275,braceright:400,asciitilde:541,exclamdown:389,cent:500,sterling:500,fraction:167,yen:500,florin:500,section:500,currency:500,quotesingle:214,quotedblleft:556,guillemotleft:500,guilsinglleft:333,guilsinglright:333,fi:500,fl:500,endash:500,dagger:500,daggerdbl:500,periodcentered:250,paragraph:523,bullet:350,quotesinglbase:333,quotedblbase:556,quotedblright:556,guillemotright:500,ellipsis:889,perthousand:1e3,questiondown:500,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:889,AE:889,ordfeminine:276,Lslash:556,Oslash:722,OE:944,ordmasculine:310,ae:667,dotlessi:278,lslash:278,oslash:500,oe:667,germandbls:500,Idieresis:333,eacute:444,abreve:500,uhungarumlaut:500,ecaron:444,Ydieresis:556,divide:675,Yacute:556,Acircumflex:611,aacute:500,Ucircumflex:722,yacute:444,scommaaccent:389,ecircumflex:444,Uring:722,Udieresis:722,aogonek:500,Uacute:722,uogonek:500,Edieresis:611,Dcroat:722,commaaccent:250,copyright:760,Emacron:611,ccaron:444,aring:500,Ncommaaccent:667,lacute:278,agrave:500,Tcommaaccent:556,Cacute:667,atilde:500,Edotaccent:611,scaron:389,scedilla:389,iacute:278,lozenge:471,Rcaron:611,Gcommaaccent:722,ucircumflex:500,acircumflex:500,Amacron:611,rcaron:389,ccedilla:444,Zdotaccent:556,Thorn:611,Omacron:722,Racute:611,Sacute:500,dcaron:544,Umacron:722,uring:500,threesuperior:300,Ograve:722,Agrave:611,Abreve:611,multiply:675,uacute:500,Tcaron:556,partialdiff:476,ydieresis:444,Nacute:667,icircumflex:278,Ecircumflex:611,adieresis:500,edieresis:444,cacute:444,nacute:500,umacron:500,Ncaron:667,Iacute:333,plusminus:675,brokenbar:275,registered:760,Gbreve:722,Idotaccent:333,summation:600,Egrave:611,racute:389,omacron:500,Zacute:556,Zcaron:556,greaterequal:549,Eth:722,Ccedilla:667,lcommaaccent:278,tcaron:300,eogonek:444,Uogonek:722,Aacute:611,Adieresis:611,egrave:444,zacute:389,iogonek:278,Oacute:722,oacute:500,amacron:500,sacute:389,idieresis:278,Ocircumflex:722,Ugrave:722,Delta:612,thorn:500,twosuperior:300,Odieresis:722,mu:500,igrave:278,ohungarumlaut:500,Eogonek:611,dcroat:500,threequarters:750,Scedilla:500,lcaron:300,Kcommaaccent:667,Lacute:556,trademark:980,edotaccent:444,Igrave:333,Imacron:333,Lcaron:611,onehalf:750,lessequal:549,ocircumflex:500,ntilde:500,Uhungarumlaut:722,Eacute:611,emacron:444,gbreve:500,onequarter:750,Scaron:500,Scommaaccent:500,Ohungarumlaut:722,degree:400,ograve:500,Ccaron:667,ugrave:500,radical:453,Dcaron:722,rcommaaccent:389,Ntilde:667,otilde:500,Rcommaaccent:611,Lcommaaccent:556,Atilde:611,Aogonek:611,Aring:611,Otilde:722,zdotaccent:389,Ecaron:611,Iogonek:333,kcommaaccent:444,minus:675,Icircumflex:333,ncaron:500,tcommaaccent:278,logicalnot:675,odieresis:500,udieresis:500,notequal:549,gcommaaccent:500,eth:500,zcaron:389,ncommaaccent:500,onesuperior:300,imacron:278,Euro:500},ZapfDingbats:{space:278,a1:974,a2:961,a202:974,a3:980,a4:719,a5:789,a119:790,a118:791,a117:690,a11:960,a12:939,a13:549,a14:855,a15:911,a16:933,a105:911,a17:945,a18:974,a19:755,a20:846,a21:762,a22:761,a23:571,a24:677,a25:763,a26:760,a27:759,a28:754,a6:494,a7:552,a8:537,a9:577,a10:692,a29:786,a30:788,a31:788,a32:790,a33:793,a34:794,a35:816,a36:823,a37:789,a38:841,a39:823,a40:833,a41:816,a42:831,a43:923,a44:744,a45:723,a46:749,a47:790,a48:792,a49:695,a50:776,a51:768,a52:792,a53:759,a54:707,a55:708,a56:682,a57:701,a58:826,a59:815,a60:789,a61:789,a62:707,a63:687,a64:696,a65:689,a66:786,a67:787,a68:713,a69:791,a70:785,a71:791,a72:873,a73:761,a74:762,a203:762,a75:759,a204:759,a76:892,a77:892,a78:788,a79:784,a81:438,a82:138,a83:277,a84:415,a97:392,a98:392,a99:668,a100:668,a89:390,a90:390,a93:317,a94:317,a91:276,a92:276,a205:509,a85:509,a206:410,a86:410,a87:234,a88:234,a95:334,a96:334,a101:732,a102:544,a103:544,a104:910,a106:667,a107:760,a108:760,a112:776,a111:595,a110:694,a109:626,a120:788,a121:788,a122:788,a123:788,a124:788,a125:788,a126:788,a127:788,a128:788,a129:788,a130:788,a131:788,a132:788,a133:788,a134:788,a135:788,a136:788,a137:788,a138:788,a139:788,a140:788,a141:788,a142:788,a143:788,a144:788,a145:788,a146:788,a147:788,a148:788,a149:788,a150:788,a151:788,a152:788,a153:788,a154:788,a155:788,a156:788,a157:788,a158:788,a159:788,a160:894,a161:838,a163:1016,a164:458,a196:748,a165:924,a192:748,a166:918,a167:927,a168:928,a169:928,a170:834,a171:873,a172:828,a173:924,a162:924,a174:917,a175:930,a176:931,a177:463,a178:883,a179:836,a193:836,a180:867,a199:867,a181:696,a200:696,a182:874,a201:874,a183:760,a184:946,a197:771,a185:865,a194:771,a198:888,a186:967,a195:888,a187:831,a188:873,a189:927,a190:970,a191:918}},Dc={},Ec=1e3,Fc=function(){function d(a,b,c){this.lexer=a,this.allowStreams=b,this.xref=c,this.imageCache={},this.refill()}return d.prototype={refill:function(){this.buf1=this.lexer.getObj(),this.buf2=this.lexer.getObj()},shift:function(){A(this.buf2,"ID")?(this.buf1=this.buf2,this.buf2=null):(this.buf1=this.buf2,this.buf2=this.lexer.getObj())},tryShift:function(){try{return this.shift(),!0}catch(a){if(a instanceof ja)throw a;return!1}},getObj:function(b){var d=this.buf1;if(this.shift(),d instanceof za)switch(d.cmd){case"BI":return this.makeInlineImage(b);case"[":for(var e=[];!A(this.buf1,"]")&&!R(this.buf1);)e.push(this.getObj(b));return R(this.buf1)&&c("End of file inside array"),this.shift(),e;case"<<":for(var f=new Aa(this.xref);!A(this.buf1,">>")&&!R(this.buf1);)if(z(this.buf1)){var g=this.buf1.name;if(this.shift(),R(this.buf1))break;f.set(g,this.getObj(b))}else a("Malformed dictionary: key must be a name object"),this.shift();return R(this.buf1)&&c("End of file inside dictionary"),A(this.buf2,"stream")?this.allowStreams?this.makeStream(f,b):f:(this.shift(),f);default:return d}if(w(d)){var h=d;if(w(this.buf1)&&A(this.buf2,"R")){var i=new Ba(h,this.buf1);return this.shift(),this.shift(),i}return h}if(y(d)){var j=d;return b&&(j=b.decryptString(j)),j}return d},findDefaultInlineStreamEnd:function(a){for(var b,c,d,f,g=69,h=73,i=32,j=10,k=13,l=a.pos,m=0;-1!==(b=a.getByte());)if(0===m)m=b===g?1:0;else if(1===m)m=b===h?2:0;else if(e(2===m),b===i||b===j||b===k){for(d=5,f=a.peekBytes(d),c=0;d>c;c++)if(b=f[c],b!==j&&b!==k&&(i>b||b>127)){m=0;break}if(2===m)break}else m=0;return a.pos-4-l},findDCTDecodeInlineStreamEnd:function(a){for(var c,d,e,f=a.pos,g=!1;-1!==(c=a.getByte());)if(255===c){switch(a.getByte()){case 0:break;case 255:a.skip(-1);break;case 217:g=!0;break;case 192:case 193:case 194:case 195:case 197:case 198:case 199:case 201:case 202:case 203:case 205:case 206:case 207:case 196:case 204:case 218:case 219:case 220:case 221:case 222:case 223:case 224:case 225:case 226:case 227:case 228:case 229:case 230:case 231:case 232:case 233:case 234:case 235:case 236:case 237:case 238:case 239:case 254:d=a.getUint16(),d>2?a.skip(d-2):a.skip(-2)}if(g)break}return e=a.pos-f,-1===c?(b("Inline DCTDecode image stream: EOI marker not found, searching for /EI/ instead."),a.skip(-e),this.findDefaultInlineStreamEnd(a)):(this.inlineStreamSkipEI(a),e)},findASCII85DecodeInlineStreamEnd:function(a){for(var c,d,e=126,f=62,g=a.pos;-1!==(c=a.getByte());)if(c===e&&a.peekByte()===f){a.skip();break}return d=a.pos-g,-1===c?(b("Inline ASCII85Decode image stream: EOD marker not found, searching for /EI/ instead."),a.skip(-d),this.findDefaultInlineStreamEnd(a)):(this.inlineStreamSkipEI(a),d)},findASCIIHexDecodeInlineStreamEnd:function(a){for(var c,d,e=62,f=a.pos;-1!==(c=a.getByte())&&c!==e;);return d=a.pos-f,-1===c?(b("Inline ASCIIHexDecode image stream: EOD marker not found, searching for /EI/ instead."),a.skip(-d),this.findDefaultInlineStreamEnd(a)):(this.inlineStreamSkipEI(a),d)},inlineStreamSkipEI:function(a){for(var b,c=69,d=73,e=0;-1!==(b=a.getByte());)if(0===e)e=b===c?1:0;else if(1===e)e=b===d?2:0;else if(2===e)break},makeInlineImage:function(a){for(var b=this.lexer,d=b.stream,e=new Aa(this.xref);!A(this.buf1,"ID")&&!R(this.buf1);){z(this.buf1)||c("Dictionary key must be a name object");var f=this.buf1.name;if(this.shift(),R(this.buf1))break;e.set(f,this.getObj(a))}var g,h=e.get("Filter","F");z(h)?g=h.name:C(h)&&z(h[0])&&(g=h[0].name);var i,j,k,l=d.pos;i="DCTDecode"===g||"DCT"===g?this.findDCTDecodeInlineStreamEnd(d):"ASCII85Decide"===g||"A85"===g?this.findASCII85DecodeInlineStreamEnd(d):"ASCIIHexDecode"===g||"AHx"===g?this.findASCIIHexDecodeInlineStreamEnd(d):this.findDefaultInlineStreamEnd(d);var m,n=d.makeSubStream(l,i,e);if(Ec>i){var o=n.getBytes();n.reset();var p=1,q=0;for(j=0,k=o.length;k>j;++j)p+=255&o[j],q+=p;if(m=q%65521<<16|p%65521,this.imageCache.adler32===m)return this.buf2=za.get("EI"),this.shift(),this.imageCache[m].reset(),this.imageCache[m]}return a&&(n=a.createStream(n,i)),n=this.filter(n,e,i),n.dict=e,void 0!==m&&(n.cacheKey="inline_"+i+"_"+m,this.imageCache[m]=n),this.buf2=za.get("EI"),this.shift(),n},makeStream:function(b,d){var e=this.lexer,f=e.stream;e.skipToNextLine();var g=f.pos-1,h=b.get("Length");if(w(h)||(a("Bad "+h+" attribute in stream"),h=0),f.pos=g+h,e.nextChar(),this.tryShift()&&A(this.buf2,"endstream"))this.shift();else{f.pos=g;for(var i,j,k=2048,l=9,m=[101,110,100,115,116,114,101,97,109],n=0,o=!1;f.pos<f.end;){var p=f.peekBytes(k),q=p.length-l;if(0>=q)break;for(o=!1,i=0,j=0;q>i;i++){var r=p[i];if(r!==m[j])i-=j,j=0;else if(j++,j>=l){i++,o=!0;break}}if(o){n+=i-l,f.pos+=i-l;break}n+=q,f.pos+=q}o||c("Missing endstream"),h=n,e.nextChar(),this.shift(),this.shift()}return this.shift(),f=f.makeSubStream(g,h,b),d&&(f=d.createStream(f,h)),f=this.filter(f,b,h),f.dict=b,f},filter:function(a,b,d){var e=b.get("Filter","F"),f=b.get("DecodeParms","DP");if(z(e))return this.makeFilter(a,e.name,d,f);var g=d;if(C(e))for(var h=e,i=f,j=0,k=h.length;k>j;++j)e=h[j],z(e)||c("Bad filter name: "+e),f=null,C(i)&&j in i&&(f=i[j]),a=this.makeFilter(a,e.name,g,f),g=null;return a},makeFilter:function(a,c,d,e){if(0===a.dict.get("Length")&&!d)return b('Empty "'+c+'" stream.'),new _c(a);try{e&&this.xref&&(e=this.xref.fetchIfRef(e));var f=this.xref.stats.streamTypes;if("FlateDecode"===c||"Fl"===c)return f[Y.FLATE]=!0,e?new Rc(new Qc(a,d),d,e):new Qc(a,d);if("LZWDecode"===c||"LZW"===c){f[Y.LZW]=!0;var g=1;return e?(e.has("EarlyChange")&&(g=e.get("EarlyChange")),new Rc(new $c(a,d,g),d,e)):new $c(a,d,g)}return"DCTDecode"===c||"DCT"===c?(f[Y.DCT]=!0,new Sc(a,d,a.dict,this.xref)):"JPXDecode"===c||"JPX"===c?(f[Y.JPX]=!0,new Tc(a,d,a.dict)):"ASCII85Decode"===c||"A85"===c?(f[Y.A85]=!0,new Wc(a,d)):"ASCIIHexDecode"===c||"AHx"===c?(f[Y.AHX]=!0,new Xc(a,d)):"CCITTFaxDecode"===c||"CCF"===c?(f[Y.CCF]=!0,new Zc(a,d,e)):"RunLengthDecode"===c||"RL"===c?(f[Y.RL]=!0,new Yc(a,d)):"JBIG2Decode"===c?(f[Y.JBIG]=!0,new Uc(a,d,a.dict)):(b('filter "'+c+'" not supported yet'),a)}catch(h){if(h instanceof ja)throw h;return b('Invalid stream: "'+h+'"'),new _c(a)}}},d}(),Gc=function(){function a(a,b){this.stream=a,this.nextChar(),this.strBuf=[],this.knownCommands=b}function d(a){return a>=48&&57>=a?15&a:a>=65&&70>=a||a>=97&&102>=a?(15&a)+9:-1}a.isSpace=function(a){return 32===a||9===a||13===a||10===a};var e=[1,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,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,0,2,0,2,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,0,0,2,0,2,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,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,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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];return a.prototype={nextChar:function(){return this.currentChar=this.stream.getByte()},peekChar:function(){return this.stream.peekByte()},getNumber:function(){var a=this.currentChar,d=!1,e=0,f=1;if(45===a?(f=-1,a=this.nextChar(),45===a&&(a=this.nextChar())):43===a&&(a=this.nextChar()),46===a&&(e=10,a=this.nextChar()),48>a||a>57)return c("Invalid number: "+String.fromCharCode(a)),0;for(var g=a-48,h=0,i=1;(a=this.nextChar())>=0;)if(a>=48&&57>=a){var j=a-48;d?h=10*h+j:(0!==e&&(e*=10),g=10*g+j)}else if(46===a){if(0!==e)break;e=1}else if(45===a)b("Badly formated number");else{if(69!==a&&101!==a)break;if(a=this.peekChar(),43===a||45===a)i=45===a?-1:1,this.nextChar();else if(48>a||a>57)break;d=!0}return 0!==e&&(g/=e),d&&(g*=Math.pow(10,i*h)),f*g},getString:function(){var a=1,c=!1,d=this.strBuf;d.length=0;for(var e=this.nextChar();;){var f=!1;switch(0|e){case-1:b("Unterminated string"),c=!0;break;case 40:++a,d.push("(");break;case 41:0===--a?(this.nextChar(),c=!0):d.push(")");break;case 92:switch(e=this.nextChar()){case-1:b("Unterminated string"),c=!0;break;case 110:d.push("\n");break;case 114:d.push("\r");break;case 116:d.push("    ");break;case 98:d.push("\b");break;case 102:d.push("\f");break;case 92:case 40:case 41:d.push(String.fromCharCode(e));break;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:var g=15&e;e=this.nextChar(),f=!0,e>=48&&55>=e&&(g=(g<<3)+(15&e),e=this.nextChar(),e>=48&&55>=e&&(f=!1,g=(g<<3)+(15&e))),d.push(String.fromCharCode(g));break;case 13:10===this.peekChar()&&this.nextChar();break;case 10:break;default:d.push(String.fromCharCode(e))}break;default:d.push(String.fromCharCode(e))}if(c)break;f||(e=this.nextChar())}return d.join("")},getName:function(){var a,f=this.strBuf;for(f.length=0;(a=this.nextChar())>=0&&!e[a];)if(35===a){a=this.nextChar();var g=d(a);if(-1!==g){var h=d(this.nextChar());-1===h&&c("Illegal digit in hex char in name: "+h),f.push(String.fromCharCode(g<<4|h))}else f.push("#",String.fromCharCode(a))}else f.push(String.fromCharCode(a));return f.length>127&&b("name token is longer than allowed by the spec: "+f.length),ya.get(f.join(""))},getHexString:function(){var a=this.strBuf;a.length=0;for(var c,f,g=this.currentChar,h=!0;;){if(0>g){b("Unterminated hex string");break}if(62===g){this.nextChar();break}if(1!==e[g]){if(h){if(c=d(g),-1===c){b('Ignoring invalid character "'+g+'" in hex string'),g=this.nextChar();continue}}else{if(f=d(g),-1===f){b('Ignoring invalid character "'+g+'" in hex string'),g=this.nextChar();continue}a.push(String.fromCharCode(c<<4|f))}h=!h,g=this.nextChar()}else g=this.nextChar()}return a.join("")},getObj:function(){for(var a=!1,b=this.currentChar;;){if(0>b)return Dc;if(a)(10===b||13===b)&&(a=!1);else if(37===b)a=!0;else if(1!==e[b])break;b=this.nextChar()}switch(0|b){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return this.getNumber();case 40:return this.getString();case 47:return this.getName();case 91:return this.nextChar(),za.get("[");case 93:return this.nextChar(),za.get("]");case 60:return b=this.nextChar(),60===b?(this.nextChar(),za.get("<<")):this.getHexString();case 62:return b=this.nextChar(),62===b?(this.nextChar(),za.get(">>")):za.get(">");case 123:return this.nextChar(),za.get("{");case 125:return this.nextChar(),za.get("}");case 41:c("Illegal character: "+b)}for(var d=String.fromCharCode(b),f=this.knownCommands,g=f&&void 0!==f[d];(b=this.nextChar())>=0&&!e[b];){var h=d+String.fromCharCode(b);if(g&&void 0===f[h])break;128===d.length&&c("Command token too long: "+d.length),d=h,g=f&&void 0!==f[d]}return"true"===d?!0:"false"===d?!1:"null"===d?null:za.get(d)},skipToNextLine:function(){for(var a=this.currentChar;a>=0;){if(13===a){a=this.nextChar(),10===a&&this.nextChar();break}if(10===a){this.nextChar();break}a=this.nextChar()}}},a}(),Hc={create:function(a){function b(a,b){var c=j.get(a);if(w(c)&&(b?c>=0:c>0))return c;throw new Error('The "'+a+'" parameter in the linearization dictionary is invalid.')}function c(){var a,b,c=j.get("H");if(C(c)&&(2===(a=c.length)||4===a)){for(var d=0;a>d;d++)if(!(w(b=c[d])&&b>0))throw new Error("Hint ("+d+") in the linearization dictionary is invalid.");return c}throw new Error("Hint array in the linearization dictionary is invalid.")}var d,e,f=new Fc(new Gc(a),!1,null),g=f.getObj(),h=f.getObj(),i=f.getObj(),j=f.getObj();if(!(w(g)&&w(h)&&A(i,"obj")&&B(j)&&x(d=j.get("Linearized"))&&d>0))return null;if((e=b("L"))!==a.length)throw new Error('The "L" parameter in the linearization dictionary does not equal the stream length.');return{length:e,hints:c(),objectNumberFirst:b("O"),endFirst:b("E"),numPages:b("N"),mainXRefEntriesOffset:b("T"),pageFirst:j.has("P")?b("P",!0):0}}},Ic=function(){function a(a){this.lexer=a,this.operators=[],this.token=null,this.prev=null}return a.prototype={nextToken:function(){this.prev=this.token,this.token=this.lexer.getToken()},accept:function(a){return this.token.type===a?(this.nextToken(),!0):!1},expect:function(a){return this.accept(a)?!0:void c("Unexpected symbol: found "+this.token.type+" expected "+a+".")},parse:function(){return this.nextToken(),this.expect(Jc.LBRACE),this.parseBlock(),this.expect(Jc.RBRACE),this.operators},parseBlock:function(){for(;;)if(this.accept(Jc.NUMBER))this.operators.push(this.prev.value);else if(this.accept(Jc.OPERATOR))this.operators.push(this.prev.value);else{if(!this.accept(Jc.LBRACE))return;this.parseCondition()}},parseCondition:function(){var a=this.operators.length;if(this.operators.push(null,null),this.parseBlock(),this.expect(Jc.RBRACE),this.accept(Jc.IF))this.operators[a]=this.operators.length,this.operators[a+1]="jz";else if(this.accept(Jc.LBRACE)){var b=this.operators.length;this.operators.push(null,null);var d=this.operators.length;this.parseBlock(),this.expect(Jc.RBRACE),this.expect(Jc.IFELSE),this.operators[b]=this.operators.length,this.operators[b+1]="j",this.operators[a]=d,this.operators[a+1]="jz"}else c("PS Function: error parsing conditional.")}},a}(),Jc={LBRACE:0,RBRACE:1,NUMBER:2,OPERATOR:3,IF:4,IFELSE:5},Kc=function(){function a(a,b){this.type=a,this.value=b}var b={};return a.getOperator=function(c){var d=b[c];return d?d:b[c]=new a(Jc.OPERATOR,c)},a.LBRACE=new a(Jc.LBRACE,"{"),a.RBRACE=new a(Jc.RBRACE,"}"),a.IF=new a(Jc.IF,"IF"),a.IFELSE=new a(Jc.IFELSE,"IFELSE"),a}(),Lc=function(){function a(a){this.stream=a,this.nextChar(),this.strBuf=[]}return a.prototype={nextChar:function(){return this.currentChar=this.stream.getByte()},getToken:function(){for(var a=!1,b=this.currentChar;;){if(0>b)return Dc;if(a)(10===b||13===b)&&(a=!1);else if(37===b)a=!0;else if(!Gc.isSpace(b))break;b=this.nextChar()}switch(0|b){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return new Kc(Jc.NUMBER,this.getNumber());case 123:return this.nextChar(),Kc.LBRACE;case 125:return this.nextChar(),Kc.RBRACE}var c=this.strBuf;for(c.length=0,c[0]=String.fromCharCode(b);(b=this.nextChar())>=0&&(b>=65&&90>=b||b>=97&&122>=b);)c.push(String.fromCharCode(b));var d=c.join("");switch(d.toLowerCase()){case"if":return Kc.IF;case"ifelse":return Kc.IFELSE;default:return Kc.getOperator(d)}},getNumber:function(){var a=this.currentChar,b=this.strBuf;for(b.length=0,b[0]=String.fromCharCode(a);(a=this.nextChar())>=0&&(a>=48&&57>=a||45===a||46===a);)b.push(String.fromCharCode(a));var d=parseFloat(b.join(""));return isNaN(d)&&c("Invalid floating point number: "+d),d}},a}(),Mc=function(){function a(a,b,c,d){this.bytes=a instanceof Uint8Array?a:new Uint8Array(a),this.start=b||0,this.pos=this.start,this.end=b+c||this.bytes.length,this.dict=d}return a.prototype={get length(){return this.end-this.start},get isEmpty(){return 0===this.length},getByte:function(){return this.pos>=this.end?-1:this.bytes[this.pos++]},getUint16:function(){var a=this.getByte(),b=this.getByte();return-1===a||-1===b?-1:(a<<8)+b},getInt32:function(){var a=this.getByte(),b=this.getByte(),c=this.getByte(),d=this.getByte();return(a<<24)+(b<<16)+(c<<8)+d},getBytes:function(a){var b=this.bytes,c=this.pos,d=this.end;if(!a)return b.subarray(c,d);var e=c+a;return e>d&&(e=d),this.pos=e,b.subarray(c,e)},peekByte:function(){var a=this.getByte();return this.pos--,a},peekBytes:function(a){var b=this.getBytes(a);return this.pos-=b.length,b},skip:function(a){a||(a=1),this.pos+=a},reset:function(){this.pos=this.start},moveStart:function(){this.start=this.pos},makeSubStream:function(b,c,d){return new a(this.bytes.buffer,b,c,d)},isStream:!0},a}(),Nc=function(){function a(a){for(var b=a.length,c=new Uint8Array(b),d=0;b>d;++d)c[d]=a.charCodeAt(d);Mc.call(this,c)}return a.prototype=Mc.prototype,a}(),Oc=function(){function a(a){if(this.pos=0,this.bufferLength=0,this.eof=!1,this.buffer=b,this.minBufferLength=512,a)for(;this.minBufferLength<a;)this.minBufferLength*=2}var b=new Uint8Array(0);return a.prototype={get isEmpty(){for(;!this.eof&&0===this.bufferLength;)this.readBlock();return 0===this.bufferLength},ensureBuffer:function(a){var b=this.buffer;if(a<=b.byteLength)return b;for(var c=this.minBufferLength;a>c;)c*=2;var d=new Uint8Array(c);return d.set(b),this.buffer=d},getByte:function(){for(var a=this.pos;this.bufferLength<=a;){if(this.eof)return-1;this.readBlock()}return this.buffer[this.pos++]},getUint16:function(){var a=this.getByte(),b=this.getByte();return-1===a||-1===b?-1:(a<<8)+b},getInt32:function(){var a=this.getByte(),b=this.getByte(),c=this.getByte(),d=this.getByte();return(a<<24)+(b<<16)+(c<<8)+d},getBytes:function(a){var b,c=this.pos;if(a){for(this.ensureBuffer(c+a),b=c+a;!this.eof&&this.bufferLength<b;)this.readBlock();var d=this.bufferLength;b>d&&(b=d)}else{for(;!this.eof;)this.readBlock();b=this.bufferLength}return this.pos=b,this.buffer.subarray(c,b)},peekByte:function(){var a=this.getByte();return this.pos--,a},peekBytes:function(a){var b=this.getBytes(a);return this.pos-=b.length,b},makeSubStream:function(a,b,c){for(var d=a+b;this.bufferLength<=d&&!this.eof;)this.readBlock();return new Mc(this.buffer,a,b,c)},skip:function(a){a||(a=1),this.pos+=a},reset:function(){this.pos=0},getBaseStreams:function(){return this.str&&this.str.getBaseStreams?this.str.getBaseStreams():[]}},a}(),Pc=function(){function a(a){this.streams=a,Oc.call(this,null)}return a.prototype=Object.create(Oc.prototype),a.prototype.readBlock=function(){var a=this.streams;if(0===a.length)return void(this.eof=!0);var b=a.shift(),c=b.getBytes(),d=this.bufferLength,e=d+c.length,f=this.ensureBuffer(e);f.set(c,d),this.bufferLength=e},a.prototype.getBaseStreams=function(){for(var a=[],b=0,c=this.streams.length;c>b;b++){var d=this.streams[b];d.getBaseStreams&&na.appendToArray(a,d.getBaseStreams())}return a},a}(),Qc=function(){function a(a,b){this.str=a,this.dict=a.dict;var d=a.getByte(),e=a.getByte();(-1===d||-1===e)&&c("Invalid header in flate stream: "+d+", "+e),8!==(15&d)&&c("Unknown compression method in flate stream: "+d+", "+e),((d<<8)+e)%31!==0&&c("Bad FCHECK in flate stream: "+d+", "+e),32&e&&c("FDICT bit set in flate stream: "+d+", "+e),this.codeSize=0,this.codeBuf=0,Oc.call(this,b)}var b=new Int32Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new Int32Array([3,4,5,6,7,8,9,10,65547,65549,65551,65553,131091,131095,131099,131103,196643,196651,196659,196667,262211,262227,262243,262259,327811,327843,327875,327907,258,258,258]),e=new Int32Array([1,2,3,4,65541,65543,131081,131085,196625,196633,262177,262193,327745,327777,393345,393409,459009,459137,524801,525057,590849,591361,657409,658433,724993,727041,794625,798721,868353,876545]),f=[new Int32Array([459008,524368,524304,524568,459024,524400,524336,590016,459016,524384,524320,589984,524288,524416,524352,590048,459012,524376,524312,589968,459028,524408,524344,590032,459020,524392,524328,59e4,524296,524424,524360,590064,459010,524372,524308,524572,459026,524404,524340,590024,459018,524388,524324,589992,524292,524420,524356,590056,459014,524380,524316,589976,459030,524412,524348,590040,459022,524396,524332,590008,524300,524428,524364,590072,459009,524370,524306,524570,459025,524402,524338,590020,459017,524386,524322,589988,524290,524418,524354,590052,459013,524378,524314,589972,459029,524410,524346,590036,459021,524394,524330,590004,524298,524426,524362,590068,459011,524374,524310,524574,459027,524406,524342,590028,459019,524390,524326,589996,524294,524422,524358,590060,459015,524382,524318,589980,459031,524414,524350,590044,459023,524398,524334,590012,524302,524430,524366,590076,459008,524369,524305,524569,459024,524401,524337,590018,459016,524385,524321,589986,524289,524417,524353,590050,459012,524377,524313,589970,459028,524409,524345,590034,459020,524393,524329,590002,524297,524425,524361,590066,459010,524373,524309,524573,459026,524405,524341,590026,459018,524389,524325,589994,524293,524421,524357,590058,459014,524381,524317,589978,459030,524413,524349,590042,459022,524397,524333,590010,524301,524429,524365,590074,459009,524371,524307,524571,459025,524403,524339,590022,459017,524387,524323,589990,524291,524419,524355,590054,459013,524379,524315,589974,459029,524411,524347,590038,459021,524395,524331,590006,524299,524427,524363,590070,459011,524375,524311,524575,459027,524407,524343,590030,459019,524391,524327,589998,524295,524423,524359,590062,459015,524383,524319,589982,459031,524415,524351,590046,459023,524399,524335,590014,524303,524431,524367,590078,459008,524368,524304,524568,459024,524400,524336,590017,459016,524384,524320,589985,524288,524416,524352,590049,459012,524376,524312,589969,459028,524408,524344,590033,459020,524392,524328,590001,524296,524424,524360,590065,459010,524372,524308,524572,459026,524404,524340,590025,459018,524388,524324,589993,524292,524420,524356,590057,459014,524380,524316,589977,459030,524412,524348,590041,459022,524396,524332,590009,524300,524428,524364,590073,459009,524370,524306,524570,459025,524402,524338,590021,459017,524386,524322,589989,524290,524418,524354,590053,459013,524378,524314,589973,459029,524410,524346,590037,459021,524394,524330,590005,524298,524426,524362,590069,459011,524374,524310,524574,459027,524406,524342,590029,459019,524390,524326,589997,524294,524422,524358,590061,459015,524382,524318,589981,459031,524414,524350,590045,459023,524398,524334,590013,524302,524430,524366,590077,459008,524369,524305,524569,459024,524401,524337,590019,459016,524385,524321,589987,524289,524417,524353,590051,459012,524377,524313,589971,459028,524409,524345,590035,459020,524393,524329,590003,524297,524425,524361,590067,459010,524373,524309,524573,459026,524405,524341,590027,459018,524389,524325,589995,524293,524421,524357,590059,459014,524381,524317,589979,459030,524413,524349,590043,459022,524397,524333,590011,524301,524429,524365,590075,459009,524371,524307,524571,459025,524403,524339,590023,459017,524387,524323,589991,524291,524419,524355,590055,459013,524379,524315,589975,459029,524411,524347,590039,459021,524395,524331,590007,524299,524427,524363,590071,459011,524375,524311,524575,459027,524407,524343,590031,459019,524391,524327,589999,524295,524423,524359,590063,459015,524383,524319,589983,459031,524415,524351,590047,459023,524399,524335,590015,524303,524431,524367,590079]),9],g=[new Int32Array([327680,327696,327688,327704,327684,327700,327692,327708,327682,327698,327690,327706,327686,327702,327694,0,327681,327697,327689,327705,327685,327701,327693,327709,327683,327699,327691,327707,327687,327703,327695,0]),5];return a.prototype=Object.create(Oc.prototype),a.prototype.getBits=function(a){for(var b,d=this.str,e=this.codeSize,f=this.codeBuf;a>e;)-1===(b=d.getByte())&&c("Bad encoding in flate stream"),f|=b<<e,e+=8;return b=f&(1<<a)-1,this.codeBuf=f>>a,this.codeSize=e-=a,b},a.prototype.getCode=function(a){for(var b,d=this.str,e=a[0],f=a[1],g=this.codeSize,h=this.codeBuf;f>g&&-1!==(b=d.getByte());)h|=b<<g,g+=8;var i=e[h&(1<<f)-1],j=i>>16,k=65535&i;return(1>j||j>g)&&c("Bad encoding in flate stream"),this.codeBuf=h>>j,this.codeSize=g-j,k},a.prototype.generateHuffmanTable=function(a){var b,c=a.length,d=0;for(b=0;c>b;++b)a[b]>d&&(d=a[b]);for(var e=1<<d,f=new Int32Array(e),g=1,h=0,i=2;d>=g;++g,h<<=1,i<<=1)for(var j=0;c>j;++j)if(a[j]===g){var k=0,l=h;for(b=0;g>b;++b)k=k<<1|1&l,l>>=1;for(b=k;e>b;b+=i)f[b]=g<<16|j;++h}return[f,d]},a.prototype.readBlock=function(){var a,h,i=this.str,j=this.getBits(3);if(1&j&&(this.eof=!0),j>>=1,0!==j){var k,l;if(1===j)k=f,l=g;else if(2===j){var m,n=this.getBits(5)+257,o=this.getBits(5)+1,p=this.getBits(4)+4,q=new Uint8Array(b.length);for(m=0;p>m;++m)q[b[m]]=this.getBits(3);var r=this.generateHuffmanTable(q);h=0,m=0;for(var s,t,u,v=n+o,w=new Uint8Array(v);v>m;){var x=this.getCode(r);if(16===x)s=2,t=3,u=h;else if(17===x)s=3,t=3,u=h=0;else{if(18!==x){w[m++]=h=x;continue}s=7,t=11,u=h=0}for(var y=this.getBits(s)+t;y-- >0;)w[m++]=u}k=this.generateHuffmanTable(w.subarray(0,n)),l=this.generateHuffmanTable(w.subarray(n,v))}else c("Unknown block type in flate stream");a=this.buffer;for(var z=a?a.length:0,A=this.bufferLength;;){var B=this.getCode(k);if(256>B)A+1>=z&&(a=this.ensureBuffer(A+1),z=a.length),a[A++]=B;else{if(256===B)return void(this.bufferLength=A);B-=257,B=d[B];var C=B>>16;C>0&&(C=this.getBits(C)),h=(65535&B)+C,B=this.getCode(l),B=e[B],C=B>>16,C>0&&(C=this.getBits(C));var D=(65535&B)+C;A+h>=z&&(a=this.ensureBuffer(A+h),z=a.length);for(var E=0;h>E;++E,++A)a[A]=a[A-D]}}}else{var F;-1===(F=i.getByte())&&c("Bad block header in flate stream");var G=F;-1===(F=i.getByte())&&c("Bad block header in flate stream"),G|=F<<8,-1===(F=i.getByte())&&c("Bad block header in flate stream");var H=F;-1===(F=i.getByte())&&c("Bad block header in flate stream"),H|=F<<8,H===(65535&~G)||0===G&&0===H||c("Bad uncompressed block length in flate stream"),this.codeBuf=0,this.codeSize=0;var I=this.bufferLength;a=this.ensureBuffer(I+G);var J=I+G;if(this.bufferLength=J,0===G)-1===i.peekByte()&&(this.eof=!0);else for(var K=I;J>K;++K){if(-1===(F=i.getByte())){this.eof=!0;break}a[K]=F}}},a}(),Rc=function(){function a(a,b,d){var e=this.predictor=d.get("Predictor")||1;if(1>=e)return a;2!==e&&(10>e||e>15)&&c("Unsupported predictor: "+e),2===e?this.readBlock=this.readBlockTiff:this.readBlock=this.readBlockPng,this.str=a,this.dict=a.dict;var f=this.colors=d.get("Colors")||1,g=this.bits=d.get("BitsPerComponent")||8,h=this.columns=d.get("Columns")||1;return this.pixBytes=f*g+7>>3,this.rowBytes=h*f*g+7>>3,Oc.call(this,b),this}return a.prototype=Object.create(Oc.prototype),a.prototype.readBlockTiff=function(){var a=this.rowBytes,b=this.bufferLength,c=this.ensureBuffer(b+a),d=this.bits,e=this.colors,f=this.str.getBytes(a);if(this.eof=!f.length,!this.eof){var g,h=0,i=0,j=0,k=0,l=b;if(1===d)for(g=0;a>g;++g){var m=f[g];h=h<<8|m,c[l++]=255&(m^h>>e),h&=65535}else if(8===d){for(g=0;e>g;++g)c[l++]=f[g];for(;a>g;++g)c[l]=c[l-e]+f[g],l++}else{var n=new Uint8Array(e+1),o=(1<<d)-1,p=0,q=b,r=this.columns;for(g=0;r>g;++g)for(var s=0;e>s;++s)d>j&&(h=h<<8|255&f[p++],j+=8),n[s]=n[s]+(h>>j-d)&o,j-=d,i=i<<d|n[s],k+=d,k>=8&&(c[q++]=i>>k-8&255,k-=8);k>0&&(c[q++]=(i<<8-k)+(h&(1<<8-k)-1))}this.bufferLength+=a;
+}},a.prototype.readBlockPng=function(){var a=this.rowBytes,b=this.pixBytes,d=this.str.getByte(),e=this.str.getBytes(a);if(this.eof=!e.length,!this.eof){var f=this.bufferLength,g=this.ensureBuffer(f+a),h=g.subarray(f-a,f);0===h.length&&(h=new Uint8Array(a));var i,j,k,l=f;switch(d){case 0:for(i=0;a>i;++i)g[l++]=e[i];break;case 1:for(i=0;b>i;++i)g[l++]=e[i];for(;a>i;++i)g[l]=g[l-b]+e[i]&255,l++;break;case 2:for(i=0;a>i;++i)g[l++]=h[i]+e[i]&255;break;case 3:for(i=0;b>i;++i)g[l++]=(h[i]>>1)+e[i];for(;a>i;++i)g[l]=(h[i]+g[l-b]>>1)+e[i]&255,l++;break;case 4:for(i=0;b>i;++i)j=h[i],k=e[i],g[l++]=j+k;for(;a>i;++i){j=h[i];var m=h[i-b],n=g[l-b],o=n+j-m,p=o-n;0>p&&(p=-p);var q=o-j;0>q&&(q=-q);var r=o-m;0>r&&(r=-r),k=e[i],q>=p&&r>=p?g[l++]=n+k:r>=q?g[l++]=j+k:g[l++]=m+k}break;default:c("Unsupported predictor: "+d)}this.bufferLength+=a}},a}(),Sc=function(){function a(a,b,c,d){for(var e;-1!==(e=a.getByte());)if(255===e){a.skip(-1);break}this.stream=a,this.maybeLength=b,this.dict=c,Oc.call(this,b)}return a.prototype=Object.create(Oc.prototype),Object.defineProperty(a.prototype,"bytes",{get:function(){return g(this,"bytes",this.stream.getBytes(this.maybeLength))},configurable:!0}),a.prototype.ensureBuffer=function(a){if(!this.bufferLength)try{var b=new gd;if(this.forceRGB&&this.dict&&C(this.dict.get("Decode"))){for(var d=this.dict.get("Decode"),e=this.dict.get("BitsPerComponent")||8,f=d.length,g=new Int32Array(f),h=!1,i=(1<<e)-1,j=0;f>j;j+=2)g[j]=256*(d[j+1]-d[j])|0,g[j+1]=d[j]*i|0,(256!==g[j]||0!==g[j+1])&&(h=!0);h&&(b.decodeTransform=g)}b.parse(this.bytes);var k=b.getData(this.drawWidth,this.drawHeight,this.forceRGB);this.buffer=k,this.bufferLength=k.length,this.eof=!0}catch(l){c("JPEG error: "+l)}},a.prototype.getBytes=function(a){return this.ensureBuffer(),this.buffer},a.prototype.getIR=function(){return PDFJS.createObjectURL(this.bytes,"image/jpeg")},a.prototype.isNativelySupported=function(a,b){var c=Xa.parse(this.dict.get("ColorSpace","CS"),a,b);return("DeviceGray"===c.name||"DeviceRGB"===c.name)&&c.isDefaultDecode(this.dict.get("Decode","D"))},a.prototype.isNativelyDecodable=function(a,b){var c=Xa.parse(this.dict.get("ColorSpace","CS"),a,b);return(1===c.numComps||3===c.numComps)&&c.isDefaultDecode(this.dict.get("Decode","D"))},a}(),Tc=function(){function a(a,b,c){this.stream=a,this.maybeLength=b,this.dict=c,Oc.call(this,b)}return a.prototype=Object.create(Oc.prototype),Object.defineProperty(a.prototype,"bytes",{get:function(){return g(this,"bytes",this.stream.getBytes(this.maybeLength))},configurable:!0}),a.prototype.ensureBuffer=function(a){if(!this.bufferLength){var b=new hd;b.parse(this.bytes);var c=b.width,d=b.height,e=b.componentsCount,f=b.tiles.length;if(1===f)this.buffer=b.tiles[0].items;else{for(var g=new Uint8Array(c*d*e),h=0;f>h;h++)for(var i=b.tiles[h],j=i.width,k=i.height,l=i.left,m=i.top,n=i.items,o=0,p=(c*m+l)*e,q=c*e,r=j*e,s=0;k>s;s++){var t=n.subarray(o,o+r);g.set(t,p),o+=r,p+=q}this.buffer=g}this.bufferLength=this.buffer.length,this.eof=!0}},a}(),Uc=function(){function a(a,b,c){this.stream=a,this.maybeLength=b,this.dict=c,Oc.call(this,b)}return a.prototype=Object.create(Oc.prototype),Object.defineProperty(a.prototype,"bytes",{get:function(){return g(this,"bytes",this.stream.getBytes(this.maybeLength))},configurable:!0}),a.prototype.ensureBuffer=function(a){if(!this.bufferLength){var c=new id,d=[],e=this.dict.xref,f=e.fetchIfRef(this.dict.get("DecodeParms"));if(C(f)&&(f.length>1&&b("JBIG2 - 'DecodeParms' array with multiple elements not supported."),f=e.fetchIfRef(f[0])),f&&f.has("JBIG2Globals")){var g=f.get("JBIG2Globals"),h=g.getBytes();d.push({data:h,start:0,end:h.length})}d.push({data:this.bytes,start:0,end:this.bytes.length});for(var i=c.parseChunks(d),j=i.length,k=0;j>k;k++)i[k]^=255;this.buffer=i,this.bufferLength=j,this.eof=!0}},a}(),Vc=function(){function a(a,b,c){this.str=a,this.dict=a.dict,this.decrypt=c,this.nextChunk=null,this.initialized=!1,Oc.call(this,b)}var b=512;return a.prototype=Object.create(Oc.prototype),a.prototype.readBlock=function(){var a;if(this.initialized?a=this.nextChunk:(a=this.str.getBytes(b),this.initialized=!0),!a||0===a.length)return void(this.eof=!0);this.nextChunk=this.str.getBytes(b);var c=this.nextChunk&&this.nextChunk.length>0,d=this.decrypt;a=d(a,!c);var e,f=this.bufferLength,g=a.length,h=this.ensureBuffer(f+g);for(e=0;g>e;e++)h[f++]=a[e];this.bufferLength=f},a}(),Wc=function(){function a(a,b){this.str=a,this.dict=a.dict,this.input=new Uint8Array(5),b&&(b=.8*b),Oc.call(this,b)}return a.prototype=Object.create(Oc.prototype),a.prototype.readBlock=function(){for(var a=126,b=122,c=-1,d=this.str,e=d.getByte();Gc.isSpace(e);)e=d.getByte();if(e===c||e===a)return void(this.eof=!0);var f,g,h=this.bufferLength;if(e===b){for(f=this.ensureBuffer(h+4),g=0;4>g;++g)f[h+g]=0;this.bufferLength+=4}else{var i=this.input;for(i[0]=e,g=1;5>g;++g){for(e=d.getByte();Gc.isSpace(e);)e=d.getByte();if(i[g]=e,e===c||e===a)break}if(f=this.ensureBuffer(h+g-1),this.bufferLength+=g-1,5>g){for(;5>g;++g)i[g]=117;this.eof=!0}var j=0;for(g=0;5>g;++g)j=85*j+(i[g]-33);for(g=3;g>=0;--g)f[h+g]=255&j,j>>=8}},a}(),Xc=function(){function a(a,b){this.str=a,this.dict=a.dict,this.firstDigit=-1,b&&(b=.5*b),Oc.call(this,b)}return a.prototype=Object.create(Oc.prototype),a.prototype.readBlock=function(){var a=8e3,b=this.str.getBytes(a);if(!b.length)return void(this.eof=!0);for(var c=b.length+1>>1,d=this.ensureBuffer(this.bufferLength+c),e=this.bufferLength,f=this.firstDigit,g=0,h=b.length;h>g;g++){var i,j=b[g];if(j>=48&&57>=j)i=15&j;else{if(!(j>=65&&70>=j||j>=97&&102>=j)){if(62===j){this.eof=!0;break}continue}i=(15&j)+9}0>f?f=i:(d[e++]=f<<4|i,f=-1)}f>=0&&this.eof&&(d[e++]=f<<4,f=-1),this.firstDigit=f,this.bufferLength=e},a}(),Yc=function(){function a(a,b){this.str=a,this.dict=a.dict,Oc.call(this,b)}return a.prototype=Object.create(Oc.prototype),a.prototype.readBlock=function(){var a=this.str.getBytes(2);if(!a||a.length<2||128===a[0])return void(this.eof=!0);var b,c=this.bufferLength,d=a[0];if(128>d){if(b=this.ensureBuffer(c+d+1),b[c++]=a[1],d>0){var e=this.str.getBytes(d);b.set(e,c),c+=d}}else{d=257-d;var f=a[1];b=this.ensureBuffer(c+d+1);for(var g=0;d>g;g++)b[c++]=f}this.bufferLength=c},a}(),Zc=function(){function b(a,b,c){this.str=a,this.dict=a.dict,c=c||Aa.empty,this.encoding=c.get("K")||0,this.eoline=c.get("EndOfLine")||!1,this.byteAlign=c.get("EncodedByteAlign")||!1,this.columns=c.get("Columns")||1728,this.rows=c.get("Rows")||0;var d=c.get("EndOfBlock");(null===d||void 0===d)&&(d=!0),this.eoblock=d,this.black=c.get("BlackIs1")||!1,this.codingLine=new Uint32Array(this.columns+1),this.refLine=new Uint32Array(this.columns+2),this.codingLine[0]=this.columns,this.codingPos=0,this.row=0,this.nextLine2D=this.encoding<0,this.inputBits=0,this.inputBuf=0,this.outputBits=0;for(var e;0===(e=this.lookBits(12));)this.eatBits(1);1===e&&this.eatBits(12),this.encoding>0&&(this.nextLine2D=!this.lookBits(1),this.eatBits(1)),Oc.call(this,b)}var c=-2,d=0,e=1,f=2,g=3,h=4,i=5,j=6,k=7,l=8,m=[[-1,-1],[-1,-1],[7,l],[7,k],[6,j],[6,j],[6,i],[6,i],[4,d],[4,d],[4,d],[4,d],[4,d],[4,d],[4,d],[4,d],[3,e],[3,e],[3,e],[3,e],[3,e],[3,e],[3,e],[3,e],[3,e],[3,e],[3,e],[3,e],[3,e],[3,e],[3,e],[3,e],[3,h],[3,h],[3,h],[3,h],[3,h],[3,h],[3,h],[3,h],[3,h],[3,h],[3,h],[3,h],[3,h],[3,h],[3,h],[3,h],[3,g],[3,g],[3,g],[3,g],[3,g],[3,g],[3,g],[3,g],[3,g],[3,g],[3,g],[3,g],[3,g],[3,g],[3,g],[3,g],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f]],n=[[-1,-1],[12,c],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[12,1984],[12,2048],[12,2112],[12,2176],[12,2240],[12,2304],[11,1856],[11,1856],[11,1920],[11,1920],[12,2368],[12,2432],[12,2496],[12,2560]],o=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[8,29],[8,29],[8,30],[8,30],[8,45],[8,45],[8,46],[8,46],[7,22],[7,22],[7,22],[7,22],[7,23],[7,23],[7,23],[7,23],[8,47],[8,47],[8,48],[8,48],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[7,20],[7,20],[7,20],[7,20],[8,33],[8,33],[8,34],[8,34],[8,35],[8,35],[8,36],[8,36],[8,37],[8,37],[8,38],[8,38],[7,19],[7,19],[7,19],[7,19],[8,31],[8,31],[8,32],[8,32],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[8,53],[8,53],[8,54],[8,54],[7,26],[7,26],[7,26],[7,26],[8,39],[8,39],[8,40],[8,40],[8,41],[8,41],[8,42],[8,42],[8,43],[8,43],[8,44],[8,44],[7,21],[7,21],[7,21],[7,21],[7,28],[7,28],[7,28],[7,28],[8,61],[8,61],[8,62],[8,62],[8,63],[8,63],[8,0],[8,0],[8,320],[8,320],[8,384],[8,384],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[7,27],[7,27],[7,27],[7,27],[8,59],[8,59],[8,60],[8,60],[9,1472],[9,1536],[9,1600],[9,1728],[7,18],[7,18],[7,18],[7,18],[7,24],[7,24],[7,24],[7,24],[8,49],[8,49],[8,50],[8,50],[8,51],[8,51],[8,52],[8,52],[7,25],[7,25],[7,25],[7,25],[8,55],[8,55],[8,56],[8,56],[8,57],[8,57],[8,58],[8,58],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[8,448],[8,448],[8,512],[8,512],[9,704],[9,768],[8,640],[8,640],[8,576],[8,576],[9,832],[9,896],[9,960],[9,1024],[9,1088],[9,1152],[9,1216],[9,1280],[9,1344],[9,1408],[7,256],[7,256],[7,256],[7,256],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7]],p=[[-1,-1],[-1,-1],[12,c],[12,c],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[11,1792],[11,1792],[12,1984],[12,1984],[12,2048],[12,2048],[12,2112],[12,2112],[12,2176],[12,2176],[12,2240],[12,2240],[12,2304],[12,2304],[11,1856],[11,1856],[11,1856],[11,1856],[11,1920],[11,1920],[11,1920],[11,1920],[12,2368],[12,2368],[12,2432],[12,2432],[12,2496],[12,2496],[12,2560],[12,2560],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[12,52],[12,52],[13,640],[13,704],[13,768],[13,832],[12,55],[12,55],[12,56],[12,56],[13,1280],[13,1344],[13,1408],[13,1472],[12,59],[12,59],[12,60],[12,60],[13,1536],[13,1600],[11,24],[11,24],[11,24],[11,24],[11,25],[11,25],[11,25],[11,25],[13,1664],[13,1728],[12,320],[12,320],[12,384],[12,384],[12,448],[12,448],[13,512],[13,576],[12,53],[12,53],[12,54],[12,54],[13,896],[13,960],[13,1024],[13,1088],[13,1152],[13,1216],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64]],q=[[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[11,23],[11,23],[12,50],[12,51],[12,44],[12,45],[12,46],[12,47],[12,57],[12,58],[12,61],[12,256],[10,16],[10,16],[10,16],[10,16],[10,17],[10,17],[10,17],[10,17],[12,48],[12,49],[12,62],[12,63],[12,30],[12,31],[12,32],[12,33],[12,40],[12,41],[11,22],[11,22],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[12,128],[12,192],[12,26],[12,27],[12,28],[12,29],[11,19],[11,19],[11,20],[11,20],[12,34],[12,35],[12,36],[12,37],[12,38],[12,39],[11,21],[11,21],[12,42],[12,43],[10,0],[10,0],[10,0],[10,0],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12]],r=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[6,9],[6,8],[5,7],[5,7],[4,6],[4,6],[4,6],[4,6],[4,5],[4,5],[4,5],[4,5],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2]];return b.prototype=Object.create(Oc.prototype),b.prototype.readBlock=function(){for(;!this.eof;){var a=this.lookChar();this.ensureBuffer(this.bufferLength+1),this.buffer[this.bufferLength++]=a}},b.prototype.addPixels=function(b,c){var d=this.codingLine,e=this.codingPos;b>d[e]&&(b>this.columns&&(a("row is wrong length"),this.err=!0,b=this.columns),1&e^c&&++e,d[e]=b),this.codingPos=e},b.prototype.addPixelsNeg=function(b,c){var d=this.codingLine,e=this.codingPos;if(b>d[e])b>this.columns&&(a("row is wrong length"),this.err=!0,b=this.columns),1&e^c&&++e,d[e]=b;else if(b<d[e]){for(0>b&&(a("invalid code"),this.err=!0,b=0);e>0&&b<d[e-1];)--e;d[e]=b}this.codingPos=e},b.prototype.lookChar=function(){var b,c,m,n,o=this.refLine,p=this.codingLine,q=this.columns;if(0===this.outputBits){if(this.eof)return null;this.err=!1;var r,s,t;if(this.nextLine2D){for(n=0;p[n]<q;++n)o[n]=p[n];for(o[n++]=q,o[n]=q,p[0]=0,this.codingPos=0,b=0,c=0;p[this.codingPos]<q;)switch(r=this.getTwoDimCode()){case d:this.addPixels(o[b+1],c),o[b+1]<q&&(b+=2);break;case e:if(r=s=0,c){do r+=t=this.getBlackCode();while(t>=64);do s+=t=this.getWhiteCode();while(t>=64)}else{do r+=t=this.getWhiteCode();while(t>=64);do s+=t=this.getBlackCode();while(t>=64)}for(this.addPixels(p[this.codingPos]+r,c),p[this.codingPos]<q&&this.addPixels(p[this.codingPos]+s,1^c);o[b]<=p[this.codingPos]&&o[b]<q;)b+=2;break;case k:if(this.addPixels(o[b]+3,c),c^=1,p[this.codingPos]<q)for(++b;o[b]<=p[this.codingPos]&&o[b]<q;)b+=2;break;case i:if(this.addPixels(o[b]+2,c),c^=1,p[this.codingPos]<q)for(++b;o[b]<=p[this.codingPos]&&o[b]<q;)b+=2;break;case g:if(this.addPixels(o[b]+1,c),c^=1,p[this.codingPos]<q)for(++b;o[b]<=p[this.codingPos]&&o[b]<q;)b+=2;break;case f:if(this.addPixels(o[b],c),c^=1,p[this.codingPos]<q)for(++b;o[b]<=p[this.codingPos]&&o[b]<q;)b+=2;break;case l:if(this.addPixelsNeg(o[b]-3,c),c^=1,p[this.codingPos]<q)for(b>0?--b:++b;o[b]<=p[this.codingPos]&&o[b]<q;)b+=2;break;case j:if(this.addPixelsNeg(o[b]-2,c),c^=1,p[this.codingPos]<q)for(b>0?--b:++b;o[b]<=p[this.codingPos]&&o[b]<q;)b+=2;break;case h:if(this.addPixelsNeg(o[b]-1,c),c^=1,p[this.codingPos]<q)for(b>0?--b:++b;o[b]<=p[this.codingPos]&&o[b]<q;)b+=2;break;case Dc:this.addPixels(q,0),this.eof=!0;break;default:a("bad 2d code"),this.addPixels(q,0),this.err=!0}}else for(p[0]=0,this.codingPos=0,c=0;p[this.codingPos]<q;){if(r=0,c){do r+=t=this.getBlackCode();while(t>=64)}else do r+=t=this.getWhiteCode();while(t>=64);this.addPixels(p[this.codingPos]+r,c),c^=1}var u=!1;if(this.byteAlign&&(this.inputBits&=-8),this.eoblock||this.row!==this.rows-1){if(r=this.lookBits(12),this.eoline)for(;r!==Dc&&1!==r;)this.eatBits(1),r=this.lookBits(12);else for(;0===r;)this.eatBits(1),r=this.lookBits(12);1===r?(this.eatBits(12),u=!0):r===Dc&&(this.eof=!0)}else this.eof=!0;if(!this.eof&&this.encoding>0&&(this.nextLine2D=!this.lookBits(1),this.eatBits(1)),this.eoblock&&u&&this.byteAlign){if(r=this.lookBits(12),1===r){if(this.eatBits(12),this.encoding>0&&(this.lookBits(1),this.eatBits(1)),this.encoding>=0)for(n=0;4>n;++n)r=this.lookBits(12),1!==r&&a("bad rtc code: "+r),this.eatBits(12),this.encoding>0&&(this.lookBits(1),this.eatBits(1));this.eof=!0}}else if(this.err&&this.eoline){for(;;){if(r=this.lookBits(13),r===Dc)return this.eof=!0,null;if(r>>1===1)break;this.eatBits(1)}this.eatBits(12),this.encoding>0&&(this.eatBits(1),this.nextLine2D=!(1&r))}p[0]>0?this.outputBits=p[this.codingPos=0]:this.outputBits=p[this.codingPos=1],this.row++}var v;if(this.outputBits>=8)v=1&this.codingPos?0:255,this.outputBits-=8,0===this.outputBits&&p[this.codingPos]<q&&(this.codingPos++,this.outputBits=p[this.codingPos]-p[this.codingPos-1]);else{m=8,v=0;do this.outputBits>m?(v<<=m,1&this.codingPos||(v|=255>>8-m),this.outputBits-=m,m=0):(v<<=this.outputBits,1&this.codingPos||(v|=255>>8-this.outputBits),m-=this.outputBits,this.outputBits=0,p[this.codingPos]<q?(this.codingPos++,this.outputBits=p[this.codingPos]-p[this.codingPos-1]):m>0&&(v<<=m,m=0));while(m)}return this.black&&(v^=255),v},b.prototype.findTableCode=function(a,b,c,d){for(var e=d||0,f=a;b>=f;++f){var g=this.lookBits(f);if(g===Dc)return[!0,1,!1];if(b>f&&(g<<=b-f),!e||g>=e){var h=c[g-e];if(h[0]===f)return this.eatBits(f),[!0,h[1],!0]}}return[!1,0,!1]},b.prototype.getTwoDimCode=function(){var b,c=0;if(this.eoblock){if(c=this.lookBits(7),b=m[c],b&&b[0]>0)return this.eatBits(b[0]),b[1]}else{var d=this.findTableCode(1,7,m);if(d[0]&&d[2])return d[1]}return a("Bad two dim code"),Dc},b.prototype.getWhiteCode=function(){var b,c=0;if(this.eoblock){if(c=this.lookBits(12),c===Dc)return 1;if(b=c>>5===0?n[c]:o[c>>3],b[0]>0)return this.eatBits(b[0]),b[1]}else{var d=this.findTableCode(1,9,o);if(d[0])return d[1];if(d=this.findTableCode(11,12,n),d[0])return d[1]}return a("bad white code"),this.eatBits(1),1},b.prototype.getBlackCode=function(){var b,c;if(this.eoblock){if(b=this.lookBits(13),b===Dc)return 1;if(c=b>>7===0?p[b]:b>>9===0&&b>>7!==0?q[(b>>1)-64]:r[b>>7],c[0]>0)return this.eatBits(c[0]),c[1]}else{var d=this.findTableCode(2,6,r);if(d[0])return d[1];if(d=this.findTableCode(7,12,q,64),d[0])return d[1];if(d=this.findTableCode(10,13,p),d[0])return d[1]}return a("bad black code"),this.eatBits(1),1},b.prototype.lookBits=function(a){for(var b;this.inputBits<a;){if(-1===(b=this.str.getByte()))return 0===this.inputBits?Dc:this.inputBuf<<a-this.inputBits&65535>>16-a;this.inputBuf=(this.inputBuf<<8)+b,this.inputBits+=8}return this.inputBuf>>this.inputBits-a&65535>>16-a},b.prototype.eatBits=function(a){(this.inputBits-=a)<0&&(this.inputBits=0)},b}(),$c=function(){function a(a,b,c){this.str=a,this.dict=a.dict,this.cachedData=0,this.bitsCached=0;for(var d=4096,e={earlyChange:c,codeLength:9,nextCode:258,dictionaryValues:new Uint8Array(d),dictionaryLengths:new Uint16Array(d),dictionaryPrevCodes:new Uint16Array(d),currentSequence:new Uint8Array(d),currentSequenceLength:0},f=0;256>f;++f)e.dictionaryValues[f]=f,e.dictionaryLengths[f]=1;this.lzwState=e,Oc.call(this,b)}return a.prototype=Object.create(Oc.prototype),a.prototype.readBits=function(a){for(var b=this.bitsCached,c=this.cachedData;a>b;){var d=this.str.getByte();if(-1===d)return this.eof=!0,null;c=c<<8|d,b+=8}return this.bitsCached=b-=a,this.cachedData=c,this.lastCode=null,c>>>b&(1<<a)-1},a.prototype.readBlock=function(){var a,b,c,d=512,e=2*d,f=d,g=this.lzwState;if(g){var h=g.earlyChange,i=g.nextCode,j=g.dictionaryValues,k=g.dictionaryLengths,l=g.dictionaryPrevCodes,m=g.codeLength,n=g.prevCode,o=g.currentSequence,p=g.currentSequenceLength,q=0,r=this.bufferLength,s=this.ensureBuffer(this.bufferLength+e);for(a=0;d>a;a++){var t=this.readBits(m),u=p>0;if(256>t)o[0]=t,p=1;else{if(!(t>=258)){if(256===t){m=9,i=258,p=0;continue}this.eof=!0,delete this.lzwState;break}if(i>t)for(p=k[t],b=p-1,c=t;b>=0;b--)o[b]=j[c],c=l[c];else o[p++]=o[0]}if(u&&(l[i]=n,k[i]=k[n]+1,j[i]=o[0],i++,m=i+h&i+h-1?m:0|Math.min(Math.log(i+h)/.6931471805599453+1,12)),n=t,q+=p,q>e){do e+=f;while(q>e);s=this.ensureBuffer(this.bufferLength+e)}for(b=0;p>b;b++)s[r++]=o[b]}g.nextCode=i,g.codeLength=m,g.prevCode=n,g.currentSequenceLength=p,this.bufferLength=r}},a}(),_c=function(){function a(){Mc.call(this,new Uint8Array(0))}return a.prototype=Mc.prototype,a}(),ad=function(){function a(a){this.name=a,this.terminated=!1,this._capability=G()}return a.prototype={get finished(){return this._capability.promise},finish:function(){this._capability.resolve()},terminate:function(){this.terminated=!0},ensureNotTerminated:function(){if(this.terminated)throw new Error("Worker task was terminated")}},a}(),bd=PDFJS.WorkerMessageHandler={setup:function(c){function d(){if(j)throw new Error("Worker was terminated")}function e(a){l.push(a)}function f(a){a.finish();var b=l.indexOf(a);l.splice(b,1)}function g(a){var b=G(),c=function(){var a=i.ensureDoc("numPages"),c=i.ensureDoc("fingerprint"),e=i.ensureXRef("encrypt");Promise.all([a,c,e]).then(function(a){var c={numPages:a[0],fingerprint:a[1],encrypted:!!a[2]};b.resolve(c)},d)},d=function(a){b.reject(a)};return i.ensureDoc("checkHeader",[]).then(function(){i.ensureDoc("parseStartXRef",[]).then(function(){i.ensureDoc("parse",[a]).then(c,d)},d)},d),b.promise}function h(a){var d,e=G(),f=a.source,g=a.disableRange;if(f.data){try{d=new ua(f.data,f.password),e.resolve(d)}catch(h){e.reject(h)}return e.promise}if(f.chunkedViewerLoading){try{d=new va(f,c),e.resolve(d)}catch(h){e.reject(h)}return e.promise}var i=new pa(f.url,{httpHeaders:f.httpHeaders,withCredentials:f.withCredentials}),j=[],l=i.requestFull({onHeadersReceived:function(){if(!g){var a=i.getRequestXhr(l);if("bytes"===a.getResponseHeader("Accept-Ranges")){var b=a.getResponseHeader("Content-Encoding")||"identity";if("identity"===b){var h=a.getResponseHeader("Content-Length");if(h=parseInt(h,10),w(h)&&(f.length=h,!(2*sa>=h))){i.isStreamingRequest(l)?f.disableAutoFetch=!0:i.abortRequest(l);try{d=new va(f,c),e.resolve(d)}catch(j){e.reject(j)}k=null}}}}},onProgressiveData:f.disableStream?null:function(a){return d?void d.sendProgressiveData(a):void j.push(a)},onDone:function(a){if(!d){var c;if(null===a){var g=0,h=0;j.forEach(function(a){g+=a.byteLength}),f.length&&g!==f.length&&b("reported HTTP length is different from actual");var i=new Uint8Array(g);j.forEach(function(a){i.set(new Uint8Array(a),h),h+=a.byteLength}),c=i.buffer}else c=a.chunk;try{d=new ua(c,f.password),e.resolve(d)}catch(l){e.reject(l)}k=null}},onError:function(a){var b;404===a?(b=new ga('Missing PDF "'+f.url+'".'),c.send("MissingPDF",b)):(b=new ha("Unexpected server response ("+a+') while retrieving PDF "'+f.url+'".',a),c.send("UnexpectedResponse",b)),k=null},onProgress:function(a){c.send("DocProgress",{loaded:a.loaded,total:a.lengthComputable?a.total:f.length})}});return k=function(){i.abortRequest(l)},e.promise}var i,j=!1,k=null,l=[];c.on("test",function(a){if(!(a instanceof Uint8Array))return void c.send("test",!1);var b=255===a[0];c.postMessageTransfers=b;var d=new XMLHttpRequest,e="response"in d;try{d.responseType}catch(f){e=!1}return e?void c.send("test",{supportTypedArray:!0,supportTransfers:b}):void c.send("test",!1)}),c.on("GetDocRequest",function(a){var b=function(a){d(),c.send("GetDoc",{pdfInfo:a})},e=function(a){a instanceof da?a.code===ca.NEED_PASSWORD?c.send("NeedPassword",a):a.code===ca.INCORRECT_PASSWORD&&c.send("IncorrectPassword",a):a instanceof fa?c.send("InvalidPDF",a):a instanceof ga?c.send("MissingPDF",a):a instanceof ha?c.send("UnexpectedResponse",a):c.send("UnknownError",new ea(a.message,a.toString()))};d(),PDFJS.maxImageSize=void 0===a.maxImageSize?-1:a.maxImageSize,PDFJS.disableFontFace=a.disableFontFace,PDFJS.disableCreateObjectURL=a.disableCreateObjectURL,PDFJS.verbosity=a.verbosity,PDFJS.cMapUrl=void 0===a.cMapUrl?null:a.cMapUrl,PDFJS.cMapPacked=a.cMapPacked===!0,h(a).then(function(a){if(j)throw a.terminate(),new Error("Worker was terminated");i=a,c.send("PDFManagerReady",null),i.onLoadedStream().then(function(a){c.send("DataLoaded",{length:a.bytes.byteLength})})}).then(function f(){d(),g(!1).then(b,function(a){return d(),a instanceof ka?(i.requestLoadedStream(),void i.onLoadedStream().then(function(){d(),g(!0).then(b,e)})):(a instanceof da&&i.passwordChanged().then(f),void e(a))},e)},e)}),c.on("GetPage",function(a){return i.getPage(a.pageIndex).then(function(a){var b=i.ensure(a,"rotate"),c=i.ensure(a,"ref"),d=i.ensure(a,"view");return Promise.all([b,c,d]).then(function(a){return{rotate:a[0],ref:a[1],view:a[2]}})})}),c.on("GetPageIndex",function(a){var b=new Ba(a.ref.num,a.ref.gen),c=i.pdfDocument.catalog;return c.getPageIndex(b)}),c.on("GetDestinations",function(a){return i.ensureCatalog("destinations")}),c.on("GetDestination",function(a){return i.ensureCatalog("getDestination",[a.id])}),c.on("GetAttachments",function(a){return i.ensureCatalog("attachments")}),c.on("GetJavaScript",function(a){return i.ensureCatalog("javaScript")}),c.on("GetOutline",function(a){return i.ensureCatalog("documentOutline")}),c.on("GetMetadata",function(a){return Promise.all([i.ensureDoc("documentInfo"),i.ensureCatalog("metadata")])}),c.on("GetData",function(a){return i.requestLoadedStream(),i.onLoadedStream().then(function(a){return a.bytes})}),c.on("GetStats",function(a){return i.pdfDocument.xref.stats}),c.on("UpdatePassword",function(a){i.updatePassword(a)}),c.on("GetAnnotations",function(a){return i.getPage(a.pageIndex).then(function(a){return i.ensure(a,"getAnnotationsData",[])})}),c.on("RenderPageRequest",function(b){var d=b.pageIndex;i.getPage(d).then(function(g){var h=new ad("RenderPageRequest: page "+d);e(h);var i=d+1,j=Date.now();g.getOperatorList(c,h,b.intent).then(function(b){f(h),a("page="+i+" - getOperatorList: time="+(Date.now()-j)+"ms, len="+b.fnArray.length)},function(a){if(f(h),!h.terminated){var d,e="worker.js: while trying to getPage() and getOperatorList()";d="string"==typeof a?{message:a,stack:e}:"object"==typeof a?{message:a.message||a.toString(),stack:a.stack||e}:{message:"Unknown exception type: "+typeof a,stack:e},c.send("PageError",{pageNum:i,error:d,intent:b.intent})}})})},this),c.on("GetTextContent",function(b){var c=b.pageIndex;return i.getPage(c).then(function(b){var d=new ad("GetTextContent: page "+c);e(d);var g=c+1,h=Date.now();return b.extractTextContent(d).then(function(b){return f(d),a("text indexing: page="+g+" - time="+(Date.now()-h)+"ms"),b},function(a){if(f(d),!d.terminated)throw a})})}),c.on("Cleanup",function(a){return i.cleanup()}),c.on("Terminate",function(a){j=!0,i&&(i.terminate(),i=null),k&&k();var b=[];return l.forEach(function(a){b.push(a.finished),a.terminate()}),Promise.all(b).then(function(){})})}},cd={},dd={log:function(){var a=Array.prototype.slice.call(arguments);S.postMessage({action:"console_log",data:a})},error:function(){var a=Array.prototype.slice.call(arguments);throw S.postMessage({action:"console_error",data:a}),"pdf.js execution error"},time:function(a){cd[a]=Date.now()},timeEnd:function(a){var b=cd[a];b||c("Unknown timer name "+a),this.log("Timer:",a,Date.now()-b)}};if("undefined"==typeof window){"console"in S||(S.console=dd),PDFJS.UnsupportedManager.listen(function(a){S.postMessage({action:"_unsupported_feature",data:a})});var ed=new H("worker_processor",this);bd.setup(ed)}var fd=function(){function a(a,b,c){this.data=a,this.bp=b,this.dataEnd=c,this.chigh=a[b],this.clow=0,this.byteIn(),this.chigh=this.chigh<<7&65535|this.clow>>9&127,this.clow=this.clow<<7&65535,this.ct-=7,this.a=32768}var b=[{qe:22017,nmps:1,nlps:1,switchFlag:1},{qe:13313,nmps:2,nlps:6,switchFlag:0},{qe:6145,nmps:3,nlps:9,switchFlag:0},{qe:2753,nmps:4,nlps:12,switchFlag:0},{qe:1313,nmps:5,nlps:29,switchFlag:0},{qe:545,nmps:38,nlps:33,switchFlag:0},{qe:22017,nmps:7,nlps:6,switchFlag:1},{qe:21505,nmps:8,nlps:14,switchFlag:0},{qe:18433,nmps:9,nlps:14,switchFlag:0},{qe:14337,nmps:10,nlps:14,switchFlag:0},{qe:12289,nmps:11,nlps:17,switchFlag:0},{qe:9217,nmps:12,nlps:18,switchFlag:0},{qe:7169,nmps:13,nlps:20,switchFlag:0},{qe:5633,nmps:29,nlps:21,switchFlag:0},{qe:22017,nmps:15,nlps:14,switchFlag:1},{qe:21505,nmps:16,nlps:14,switchFlag:0},{qe:20737,nmps:17,nlps:15,switchFlag:0},{qe:18433,nmps:18,nlps:16,switchFlag:0},{qe:14337,nmps:19,nlps:17,switchFlag:0},{qe:13313,nmps:20,nlps:18,switchFlag:0},{qe:12289,nmps:21,nlps:19,switchFlag:0},{qe:10241,nmps:22,nlps:19,switchFlag:0},{qe:9217,nmps:23,nlps:20,switchFlag:0},{qe:8705,nmps:24,nlps:21,switchFlag:0},{qe:7169,nmps:25,nlps:22,switchFlag:0},{qe:6145,nmps:26,nlps:23,switchFlag:0},{qe:5633,nmps:27,nlps:24,switchFlag:0},{qe:5121,nmps:28,nlps:25,switchFlag:0},{qe:4609,nmps:29,nlps:26,switchFlag:0},{qe:4353,nmps:30,nlps:27,switchFlag:0},{qe:2753,nmps:31,nlps:28,switchFlag:0},{qe:2497,nmps:32,nlps:29,switchFlag:0},{qe:2209,nmps:33,nlps:30,switchFlag:0},{qe:1313,nmps:34,nlps:31,switchFlag:0},{qe:1089,nmps:35,nlps:32,switchFlag:0},{qe:673,nmps:36,nlps:33,switchFlag:0},{qe:545,nmps:37,nlps:34,switchFlag:0},{qe:321,nmps:38,nlps:35,switchFlag:0},{qe:273,nmps:39,nlps:36,switchFlag:0},{qe:133,nmps:40,nlps:37,switchFlag:0},{qe:73,nmps:41,nlps:38,switchFlag:0},{qe:37,nmps:42,nlps:39,switchFlag:0},{qe:21,nmps:43,nlps:40,switchFlag:0},{qe:9,nmps:44,nlps:41,switchFlag:0},{qe:5,nmps:45,nlps:42,switchFlag:0},{qe:1,nmps:45,nlps:43,switchFlag:0},{qe:22017,nmps:46,nlps:46,switchFlag:0}];return a.prototype={byteIn:function(){var a=this.data,b=this.bp;if(255===a[b]){var c=a[b+1];c>143?(this.clow+=65280,this.ct=8):(b++,this.clow+=a[b]<<9,this.ct=7,this.bp=b)}else b++,this.clow+=b<this.dataEnd?a[b]<<8:65280,this.ct=8,this.bp=b;this.clow>65535&&(this.chigh+=this.clow>>16,this.clow&=65535)},readBit:function(a,c){var d,e=a[c]>>1,f=1&a[c],g=b[e],h=g.qe,i=this.a-h;if(this.chigh<h)h>i?(i=h,d=f,e=g.nmps):(i=h,d=1^f,1===g.switchFlag&&(f=d),e=g.nlps);else{if(this.chigh-=h,0!==(32768&i))return this.a=i,f;h>i?(d=1^f,1===g.switchFlag&&(f=d),e=g.nlps):(d=f,e=g.nmps)}do 0===this.ct&&this.byteIn(),i<<=1,this.chigh=this.chigh<<1&65535|this.clow>>15&1,this.clow=this.clow<<1&65535,this.ct--;while(0===(32768&i));return this.a=i,a[c]=e<<1|f,d}},a}(),gd=function(){function a(){}function b(a,b){for(var c,d,e=0,f=[],g=16;g>0&&!a[g-1];)g--;f.push({children:[],index:0});var h,i=f[0];for(c=0;g>c;c++){for(d=0;d<a[c];d++){for(i=f.pop(),i.children[i.index]=b[e];i.index>0;)i=f.pop();for(i.index++,f.push(i);f.length<=c;)f.push(h={children:[],index:0}),i.children[i.index]=h.children,i=h;e++}g>c+1&&(f.push(h={children:[],index:0}),i.children[i.index]=h.children,i=h)}return f[0].children}function c(a,b,c){return 64*((a.blocksPerLine+1)*b+c)}function d(a,b,d,e,f,g,i,j,k){function l(){if(H>0)return H--,G>>H&1;if(G=a[b++],255===G){var c=a[b++];if(c)throw"unexpected marker: "+(G<<8|c).toString(16);
+}return H=7,G>>>7}function m(a){for(var b=a;;){if(b=b[l()],"number"==typeof b)return b;if("object"!=typeof b)throw"invalid huffman sequence"}}function n(a){for(var b=0;a>0;)b=b<<1|l(),a--;return b}function o(a){if(1===a)return 1===l()?1:-1;var b=n(a);return b>=1<<a-1?b:b+(-1<<a)+1}function p(a,b){var c=m(a.huffmanTableDC),d=0===c?0:o(c);a.blockData[b]=a.pred+=d;for(var e=1;64>e;){var f=m(a.huffmanTableAC),g=15&f,i=f>>4;if(0!==g){e+=i;var j=h[e];a.blockData[b+j]=o(g),e++}else{if(15>i)break;e+=16}}}function q(a,b){var c=m(a.huffmanTableDC),d=0===c?0:o(c)<<k;a.blockData[b]=a.pred+=d}function r(a,b){a.blockData[b]|=l()<<k}function s(a,b){if(I>0)return void I--;for(var c=g,d=i;d>=c;){var e=m(a.huffmanTableAC),f=15&e,j=e>>4;if(0!==f){c+=j;var l=h[c];a.blockData[b+l]=o(f)*(1<<k),c++}else{if(15>j){I=n(j)+(1<<j)-1;break}c+=16}}}function t(a,b){for(var c,d,e=g,f=i,j=0;f>=e;){var p=h[e];switch(J){case 0:if(d=m(a.huffmanTableAC),c=15&d,j=d>>4,0===c)15>j?(I=n(j)+(1<<j),J=4):(j=16,J=1);else{if(1!==c)throw"invalid ACn encoding";w=o(c),J=j?2:3}continue;case 1:case 2:a.blockData[b+p]?a.blockData[b+p]+=l()<<k:(j--,0===j&&(J=2===J?3:0));break;case 3:a.blockData[b+p]?a.blockData[b+p]+=l()<<k:(a.blockData[b+p]=w<<k,J=0);break;case 4:a.blockData[b+p]&&(a.blockData[b+p]+=l()<<k)}e++}4===J&&(I--,0===I&&(J=0))}function u(a,b,d,e,f){var g=d/D|0,h=d%D,i=g*a.v+e,j=h*a.h+f,k=c(a,i,j);b(a,k)}function v(a,b,d){var e=d/a.blocksPerLine|0,f=d%a.blocksPerLine,g=c(a,e,f);b(a,g)}var w,x,y,z,A,B,C,D=(d.precision,d.samplesPerLine,d.scanLines,d.mcusPerLine),E=d.progressive,F=(d.maxH,d.maxV,b),G=0,H=0,I=0,J=0,K=e.length;C=E?0===g?0===j?q:r:0===j?s:t:p;var L,M,N=0;M=1===K?e[0].blocksPerLine*e[0].blocksPerColumn:D*d.mcusPerColumn,f||(f=M);for(var O,P;M>N;){for(y=0;K>y;y++)e[y].pred=0;if(I=0,1===K)for(x=e[0],B=0;f>B;B++)v(x,C,N),N++;else for(B=0;f>B;B++){for(y=0;K>y;y++)for(x=e[y],O=x.h,P=x.v,z=0;P>z;z++)for(A=0;O>A;A++)u(x,C,N,z,A);N++}if(H=0,L=a[b]<<8|a[b+1],65280>=L)throw"marker was not found";if(!(L>=65488&&65495>=L))break;b+=2}return b-F}function e(a,b,c){for(var d,e,f,g,h,q,r,s,t,u,v,w,x,y,z,A,B,C=a.quantizationTable,D=a.blockData,E=0;64>E;E+=8)t=D[b+E],u=D[b+E+1],v=D[b+E+2],w=D[b+E+3],x=D[b+E+4],y=D[b+E+5],z=D[b+E+6],A=D[b+E+7],t*=C[E],0!==(u|v|w|x|y|z|A)?(u*=C[E+1],v*=C[E+2],w*=C[E+3],x*=C[E+4],y*=C[E+5],z*=C[E+6],A*=C[E+7],d=o*t+128>>8,e=o*x+128>>8,f=v,g=z,h=p*(u-A)+128>>8,s=p*(u+A)+128>>8,q=w<<4,r=y<<4,d=d+e+1>>1,e=d-e,B=f*n+g*m+128>>8,f=f*m-g*n+128>>8,g=B,h=h+r+1>>1,r=h-r,s=s+q+1>>1,q=s-q,d=d+g+1>>1,g=d-g,e=e+f+1>>1,f=e-f,B=h*l+s*k+2048>>12,h=h*k-s*l+2048>>12,s=B,B=q*j+r*i+2048>>12,q=q*i-r*j+2048>>12,r=B,c[E]=d+s,c[E+7]=d-s,c[E+1]=e+r,c[E+6]=e-r,c[E+2]=f+q,c[E+5]=f-q,c[E+3]=g+h,c[E+4]=g-h):(B=o*t+512>>10,c[E]=B,c[E+1]=B,c[E+2]=B,c[E+3]=B,c[E+4]=B,c[E+5]=B,c[E+6]=B,c[E+7]=B);for(var F=0;8>F;++F)t=c[F],u=c[F+8],v=c[F+16],w=c[F+24],x=c[F+32],y=c[F+40],z=c[F+48],A=c[F+56],0!==(u|v|w|x|y|z|A)?(d=o*t+2048>>12,e=o*x+2048>>12,f=v,g=z,h=p*(u-A)+2048>>12,s=p*(u+A)+2048>>12,q=w,r=y,d=(d+e+1>>1)+4112,e=d-e,B=f*n+g*m+2048>>12,f=f*m-g*n+2048>>12,g=B,h=h+r+1>>1,r=h-r,s=s+q+1>>1,q=s-q,d=d+g+1>>1,g=d-g,e=e+f+1>>1,f=e-f,B=h*l+s*k+2048>>12,h=h*k-s*l+2048>>12,s=B,B=q*j+r*i+2048>>12,q=q*i-r*j+2048>>12,r=B,t=d+s,A=d-s,u=e+r,z=e-r,v=f+q,y=f-q,w=g+h,x=g-h,t=16>t?0:t>=4080?255:t>>4,u=16>u?0:u>=4080?255:u>>4,v=16>v?0:v>=4080?255:v>>4,w=16>w?0:w>=4080?255:w>>4,x=16>x?0:x>=4080?255:x>>4,y=16>y?0:y>=4080?255:y>>4,z=16>z?0:z>=4080?255:z>>4,A=16>A?0:A>=4080?255:A>>4,D[b+F]=t,D[b+F+8]=u,D[b+F+16]=v,D[b+F+24]=w,D[b+F+32]=x,D[b+F+40]=y,D[b+F+48]=z,D[b+F+56]=A):(B=o*t+8192>>14,B=-2040>B?0:B>=2024?255:B+2056>>4,D[b+F]=B,D[b+F+8]=B,D[b+F+16]=B,D[b+F+24]=B,D[b+F+32]=B,D[b+F+40]=B,D[b+F+48]=B,D[b+F+56]=B)}function f(a,b){for(var d=b.blocksPerLine,f=b.blocksPerColumn,g=new Int16Array(64),h=0;f>h;h++)for(var i=0;d>i;i++){var j=c(b,h,i);e(b,j,g)}return b.blockData}function g(a){return 0>=a?0:a>=255?255:a}var h=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),i=4017,j=799,k=3406,l=2276,m=1567,n=3784,o=5793,p=2896;return a.prototype={parse:function(a){function c(){var b=a[k]<<8|a[k+1];return k+=2,b}function e(){var b=c(),d=a.subarray(k,k+b-2);return k+=d.length,d}function g(a){for(var b=Math.ceil(a.samplesPerLine/8/a.maxH),c=Math.ceil(a.scanLines/8/a.maxV),d=0;d<a.components.length;d++){M=a.components[d];var e=Math.ceil(Math.ceil(a.samplesPerLine/8)*M.h/a.maxH),f=Math.ceil(Math.ceil(a.scanLines/8)*M.v/a.maxV),g=b*M.h,h=c*M.v,i=64*h*(g+1);M.blockData=new Int16Array(i),M.blocksPerLine=e,M.blocksPerColumn=f}a.mcusPerLine=b,a.mcusPerColumn=c}var i,j,k=0,l=(a.length,null),m=null,n=[],o=[],p=[],q=c();if(65496!==q)throw"SOI not found";for(q=c();65497!==q;){var r,s,t;switch(q){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var u=e();65504===q&&74===u[0]&&70===u[1]&&73===u[2]&&70===u[3]&&0===u[4]&&(l={version:{major:u[5],minor:u[6]},densityUnits:u[7],xDensity:u[8]<<8|u[9],yDensity:u[10]<<8|u[11],thumbWidth:u[12],thumbHeight:u[13],thumbData:u.subarray(14,14+3*u[12]*u[13])}),65518===q&&65===u[0]&&100===u[1]&&111===u[2]&&98===u[3]&&101===u[4]&&(m={version:u[5]<<8|u[6],flags0:u[7]<<8|u[8],flags1:u[9]<<8|u[10],transformCode:u[11]});break;case 65499:for(var v,w=c(),x=w+k-2;x>k;){var y=a[k++],z=new Uint16Array(64);if(y>>4===0)for(s=0;64>s;s++)v=h[s],z[v]=a[k++];else{if(y>>4!==1)throw"DQT: invalid table spec";for(s=0;64>s;s++)v=h[s],z[v]=c()}n[15&y]=z}break;case 65472:case 65473:case 65474:if(i)throw"Only single frame JPEGs supported";c(),i={},i.extended=65473===q,i.progressive=65474===q,i.precision=a[k++],i.scanLines=c(),i.samplesPerLine=c(),i.components=[],i.componentIds={};var A,B=a[k++],C=0,D=0;for(r=0;B>r;r++){A=a[k];var E=a[k+1]>>4,F=15&a[k+1];E>C&&(C=E),F>D&&(D=F);var G=a[k+2];t=i.components.push({h:E,v:F,quantizationTable:n[G]}),i.componentIds[A]=t-1,k+=3}i.maxH=C,i.maxV=D,g(i);break;case 65476:var H=c();for(r=2;H>r;){var I=a[k++],J=new Uint8Array(16),K=0;for(s=0;16>s;s++,k++)K+=J[s]=a[k];var L=new Uint8Array(K);for(s=0;K>s;s++,k++)L[s]=a[k];r+=17+K,(I>>4===0?p:o)[15&I]=b(J,L)}break;case 65501:c(),j=c();break;case 65498:var M,N=(c(),a[k++]),O=[];for(r=0;N>r;r++){var P=i.componentIds[a[k++]];M=i.components[P];var Q=a[k++];M.huffmanTableDC=p[Q>>4],M.huffmanTableAC=o[15&Q],O.push(M)}var R=a[k++],S=a[k++],T=a[k++],U=d(a,k,i,O,j,R,S,T>>4,15&T);k+=U;break;case 65535:255!==a[k]&&k--;break;default:if(255===a[k-3]&&a[k-2]>=192&&a[k-2]<=254){k-=3;break}throw"unknown JPEG marker "+q.toString(16)}q=c()}for(this.width=i.samplesPerLine,this.height=i.scanLines,this.jfif=l,this.adobe=m,this.components=[],r=0;r<i.components.length;r++)M=i.components[r],this.components.push({output:f(i,M),scaleX:M.h/i.maxH,scaleY:M.v/i.maxV,blocksPerLine:M.blocksPerLine,blocksPerColumn:M.blocksPerColumn});this.numComponents=this.components.length},_getLinearizedBlockData:function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=this.width/a,o=this.height/b,p=0,q=this.components.length,r=a*b*q,s=new Uint8Array(r),t=new Uint32Array(a),u=4294967288;for(i=0;q>i;i++){for(c=this.components[i],d=c.scaleX*n,e=c.scaleY*o,p=i,m=c.output,f=c.blocksPerLine+1<<3,g=0;a>g;g++)j=0|g*d,t[g]=(j&u)<<3|7&j;for(h=0;b>h;h++)for(j=0|h*e,l=f*(j&u)|(7&j)<<3,g=0;a>g;g++)s[p]=m[l+t[g]],p+=q}var v=this.decodeTransform;if(v)for(i=0;r>i;)for(j=0,k=0;q>j;j++,i++,k+=2)s[i]=(s[i]*v[k]>>8)+v[k+1];return s},_isColorConversionNeeded:function(){return this.adobe&&this.adobe.transformCode?!0:3===this.numComponents?!0:!1},_convertYccToRgb:function(a){for(var b,c,d,e=0,f=a.length;f>e;e+=3)b=a[e],c=a[e+1],d=a[e+2],a[e]=g(b-179.456+1.402*d),a[e+1]=g(b+135.459-.344*c-.714*d),a[e+2]=g(b-226.816+1.772*c);return a},_convertYcckToRgb:function(a){for(var b,c,d,e,f=0,h=0,i=a.length;i>h;h+=4){b=a[h],c=a[h+1],d=a[h+2],e=a[h+3];var j=-122.67195406894+c*(-660635669420364e-19*c+.000437130475926232*d-54080610064599e-18*b+.00048449797120281*e-.154362151871126)+d*(-.000957964378445773*d+.000817076911346625*b-.00477271405408747*e+1.53380253221734)+b*(.000961250184130688*b-.00266257332283933*e+.48357088451265)+e*(-.000336197177618394*e+.484791561490776),k=107.268039397724+c*(219927104525741e-19*c-.000640992018297945*d+.000659397001245577*b+.000426105652938837*e-.176491792462875)+d*(-.000778269941513683*d+.00130872261408275*b+.000770482631801132*e-.151051492775562)+b*(.00126935368114843*b-.00265090189010898*e+.25802910206845)+e*(-.000318913117588328*e-.213742400323665),l=-20.810012546947+c*(-.000570115196973677*c-263409051004589e-19*d+.0020741088115012*b-.00288260236853442*e+.814272968359295)+d*(-153496057440975e-19*d-.000132689043961446*b+.000560833691242812*e-.195152027534049)+b*(.00174418132927582*b-.00255243321439347*e+.116935020465145)+e*(-.000343531996510555*e+.24165260232407);a[f++]=g(j),a[f++]=g(k),a[f++]=g(l)}return a},_convertYcckToCmyk:function(a){for(var b,c,d,e=0,f=a.length;f>e;e+=4)b=a[e],c=a[e+1],d=a[e+2],a[e]=g(434.456-b-1.402*d),a[e+1]=g(119.541-b+.344*c+.714*d),a[e+2]=g(481.816-b-1.772*c);return a},_convertCmykToRgb:function(a){for(var b,c,d,e,f=0,g=-16581375,h=1/255/255,i=0,j=a.length;j>i;i+=4){b=a[i],c=a[i+1],d=a[i+2],e=a[i+3];var k=b*(-4.387332384609988*b+54.48615194189176*c+18.82290502165302*d+212.25662451639585*e-72734.4411664936)+c*(1.7149763477362134*c-5.6096736904047315*d-17.873870861415444*e-1401.7366389350734)+d*(-2.5217340131683033*d-21.248923337353073*e+4465.541406466231)-e*(21.86122147463605*e+48317.86113160301),l=b*(8.841041422036149*b+60.118027045597366*c+6.871425592049007*d+31.159100130055922*e-20220.756542821975)+c*(-15.310361306967817*c+17.575251261109482*d+131.35250912493976*e-48691.05921601825)+d*(4.444339102852739*d+9.8632861493405*e-6341.191035517494)-e*(20.737325471181034*e+47890.15695978492),m=b*(.8842522430003296*b+8.078677503112928*c+30.89978309703729*d-.23883238689178934*e-3616.812083916688)+c*(10.49593273432072*c+63.02378494754052*d+50.606957656360734*e-28620.90484698408)+d*(.03296041114873217*d+115.60384449646641*e-49363.43385999684)-e*(22.33816807309886*e+45932.16563550634);a[f++]=k>=0?255:g>=k?0:255+k*h|0,a[f++]=l>=0?255:g>=l?0:255+l*h|0,a[f++]=m>=0?255:g>=m?0:255+m*h|0}return a},getData:function(a,b,c){if(this.numComponents>4)throw"Unsupported color mode";var d=this._getLinearizedBlockData(a,b);if(3===this.numComponents)return this._convertYccToRgb(d);if(4===this.numComponents){if(this._isColorConversionNeeded())return c?this._convertYcckToRgb(d):this._convertYcckToCmyk(d);if(c)return this._convertCmykToRgb(d)}return d}},a}(),hd=function(){function c(){this.failOnCorruptedImage=!1}function d(a,b){a.x0=Math.ceil(b.XOsiz/a.XRsiz),a.x1=Math.ceil(b.Xsiz/a.XRsiz),a.y0=Math.ceil(b.YOsiz/a.YRsiz),a.y1=Math.ceil(b.Ysiz/a.YRsiz),a.width=a.x1-a.x0,a.height=a.y1-a.y0}function e(a,b){for(var c,d=a.SIZ,e=[],f=Math.ceil((d.Xsiz-d.XTOsiz)/d.XTsiz),g=Math.ceil((d.Ysiz-d.YTOsiz)/d.YTsiz),h=0;g>h;h++)for(var i=0;f>i;i++)c={},c.tx0=Math.max(d.XTOsiz+i*d.XTsiz,d.XOsiz),c.ty0=Math.max(d.YTOsiz+h*d.YTsiz,d.YOsiz),c.tx1=Math.min(d.XTOsiz+(i+1)*d.XTsiz,d.Xsiz),c.ty1=Math.min(d.YTOsiz+(h+1)*d.YTsiz,d.Ysiz),c.width=c.tx1-c.tx0,c.height=c.ty1-c.ty0,c.components=[],e.push(c);a.tiles=e;for(var j=d.Csiz,k=0,l=j;l>k;k++)for(var m=b[k],n=0,o=e.length;o>n;n++){var p={};c=e[n],p.tcx0=Math.ceil(c.tx0/m.XRsiz),p.tcy0=Math.ceil(c.ty0/m.YRsiz),p.tcx1=Math.ceil(c.tx1/m.XRsiz),p.tcy1=Math.ceil(c.ty1/m.YRsiz),p.width=p.tcx1-p.tcx0,p.height=p.tcy1-p.tcy0,c.components[k]=p}}function f(a,b,c){var d=b.codingStyleParameters,e={};return d.entropyCoderWithCustomPrecincts?(e.PPx=d.precinctsSizes[c].PPx,e.PPy=d.precinctsSizes[c].PPy):(e.PPx=15,e.PPy=15),e.xcb_=c>0?Math.min(d.xcb,e.PPx-1):Math.min(d.xcb,e.PPx),e.ycb_=c>0?Math.min(d.ycb,e.PPy-1):Math.min(d.ycb,e.PPy),e}function g(a,b,c){var d=1<<c.PPx,e=1<<c.PPy,f=0===b.resLevel,g=1<<c.PPx+(f?0:-1),h=1<<c.PPy+(f?0:-1),i=b.trx1>b.trx0?Math.ceil(b.trx1/d)-Math.floor(b.trx0/d):0,j=b.try1>b.try0?Math.ceil(b.try1/e)-Math.floor(b.try0/e):0,k=i*j;b.precinctParameters={precinctWidth:d,precinctHeight:e,numprecinctswide:i,numprecinctshigh:j,numprecincts:k,precinctWidthInSubband:g,precinctHeightInSubband:h}}function h(a,b,c){var d,e,f,g,h=c.xcb_,i=c.ycb_,j=1<<h,k=1<<i,l=b.tbx0>>h,m=b.tby0>>i,n=b.tbx1+j-1>>h,o=b.tby1+k-1>>i,p=b.resolution.precinctParameters,q=[],r=[];for(e=m;o>e;e++)for(d=l;n>d;d++){f={cbx:d,cby:e,tbx0:j*d,tby0:k*e,tbx1:j*(d+1),tby1:k*(e+1)},f.tbx0_=Math.max(b.tbx0,f.tbx0),f.tby0_=Math.max(b.tby0,f.tby0),f.tbx1_=Math.min(b.tbx1,f.tbx1),f.tby1_=Math.min(b.tby1,f.tby1);var s=Math.floor((f.tbx0_-b.tbx0)/p.precinctWidthInSubband),t=Math.floor((f.tby0_-b.tby0)/p.precinctHeightInSubband);if(g=s+t*p.numprecinctswide,f.precinctNumber=g,f.subbandType=b.type,f.Lblock=3,!(f.tbx1_<=f.tbx0_||f.tby1_<=f.tby0_)){q.push(f);var u=r[g];void 0!==u?(d<u.cbxMin?u.cbxMin=d:d>u.cbxMax&&(u.cbxMax=d),e<u.cbyMin?u.cbxMin=e:e>u.cbyMax&&(u.cbyMax=e)):r[g]=u={cbxMin:d,cbyMin:e,cbxMax:d,cbyMax:e},f.precinct=u}}b.codeblockParameters={codeblockWidth:h,codeblockHeight:i,numcodeblockwide:n-l+1,numcodeblockhigh:o-m+1},b.codeblocks=q,b.precincts=r}function i(a,b,c){for(var d=[],e=a.subbands,f=0,g=e.length;g>f;f++)for(var h=e[f],i=h.codeblocks,j=0,k=i.length;k>j;j++){var l=i[j];l.precinctNumber===b&&d.push(l)}return{layerNumber:c,codeblocks:d}}function j(a){for(var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,g=0,h=0;f>h;h++)g=Math.max(g,d.components[h].codingStyleParameters.decompositionLevelsCount);var j=0,k=0,l=0,m=0;this.nextPacket=function(){for(;e>j;j++){for(;g>=k;k++){for(;f>l;l++){var a=d.components[l];if(!(k>a.codingStyleParameters.decompositionLevelsCount)){for(var b=a.resolutions[k],c=b.precinctParameters.numprecincts;c>m;){var h=i(b,m,j);return m++,h}m=0}}l=0}k=0}throw new Error("JPX Error: Out of packets")}}function k(a){for(var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,g=0,h=0;f>h;h++)g=Math.max(g,d.components[h].codingStyleParameters.decompositionLevelsCount);var j=0,k=0,l=0,m=0;this.nextPacket=function(){for(;g>=j;j++){for(;e>k;k++){for(;f>l;l++){var a=d.components[l];if(!(j>a.codingStyleParameters.decompositionLevelsCount)){for(var b=a.resolutions[j],c=b.precinctParameters.numprecincts;c>m;){var h=i(b,m,k);return m++,h}m=0}}l=0}k=0}throw new Error("JPX Error: Out of packets")}}function m(a){var b,c,d,e,f=a.SIZ,g=a.currentTile.index,h=a.tiles[g],j=h.codingStyleDefaultParameters.layersCount,k=f.Csiz,l=0;for(d=0;k>d;d++){var m=h.components[d];l=Math.max(l,m.codingStyleParameters.decompositionLevelsCount)}var n=new Int32Array(l+1);for(c=0;l>=c;++c){var o=0;for(d=0;k>d;++d){var p=h.components[d].resolutions;c<p.length&&(o=Math.max(o,p[c].precinctParameters.numprecincts))}n[c]=o}b=0,c=0,d=0,e=0,this.nextPacket=function(){for(;l>=c;c++){for(;e<n[c];e++){for(;k>d;d++){var a=h.components[d];if(!(c>a.codingStyleParameters.decompositionLevelsCount)){var f=a.resolutions[c],g=f.precinctParameters.numprecincts;if(!(e>=g)){for(;j>b;){var m=i(f,e,b);return b++,m}b=0}}}d=0}e=0}throw new Error("JPX Error: Out of packets")}}function p(a){var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,g=s(d),h=g,j=0,k=0,l=0,m=0,n=0;this.nextPacket=function(){for(;n<h.maxNumHigh;n++){for(;m<h.maxNumWide;m++){for(;f>l;l++){for(var a=d.components[l],b=a.codingStyleParameters.decompositionLevelsCount;b>=k;k++){var c=a.resolutions[k],o=g.components[l].resolutions[k],p=r(m,n,o,h,c);if(null!==p){for(;e>j;){var q=i(c,p,j);return j++,q}j=0}}k=0}l=0}m=0}throw new Error("JPX Error: Out of packets")}}function q(a){var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,g=s(d),h=0,j=0,k=0,l=0,m=0;this.nextPacket=function(){for(;f>k;++k){for(var a=d.components[k],b=g.components[k],c=a.codingStyleParameters.decompositionLevelsCount;m<b.maxNumHigh;m++){for(;l<b.maxNumWide;l++){for(;c>=j;j++){var n=a.resolutions[j],o=b.resolutions[j],p=r(l,m,o,b,n);if(null!==p){for(;e>h;){var q=i(n,p,h);return h++,q}h=0}}j=0}l=0}m=0}throw new Error("JPX Error: Out of packets")}}function r(a,b,c,d,e){var f=a*d.minWidth,g=b*d.minHeight;if(f%c.width!==0||g%c.height!==0)return null;var h=g/c.width*e.precinctParameters.numprecinctswide;return f/c.height+h}function s(a){for(var b=a.components.length,c=Number.MAX_VALUE,d=Number.MAX_VALUE,e=0,f=0,g=new Array(b),h=0;b>h;h++){for(var i=a.components[h],j=i.codingStyleParameters.decompositionLevelsCount,k=new Array(j+1),l=Number.MAX_VALUE,m=Number.MAX_VALUE,n=0,o=0,p=1,q=j;q>=0;--q){var r=i.resolutions[q],s=p*r.precinctParameters.precinctWidth,t=p*r.precinctParameters.precinctHeight;l=Math.min(l,s),m=Math.min(m,t),n=Math.max(n,r.precinctParameters.numprecinctswide),o=Math.max(o,r.precinctParameters.numprecinctshigh),k[q]={width:s,height:t},p<<=1}c=Math.min(c,l),d=Math.min(d,m),e=Math.max(e,n),f=Math.max(f,o),g[h]={resolutions:k,minWidth:l,minHeight:m,maxNumWide:n,maxNumHigh:o}}return{components:g,minWidth:c,minHeight:d,maxNumWide:e,maxNumHigh:f}}function t(a){for(var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=b.Csiz,i=0;e>i;i++){for(var l=d.components[i],n=l.codingStyleParameters.decompositionLevelsCount,o=[],r=[],s=0;n>=s;s++){var t=f(a,l,s),u={},v=1<<n-s;u.trx0=Math.ceil(l.tcx0/v),u.try0=Math.ceil(l.tcy0/v),u.trx1=Math.ceil(l.tcx1/v),u.try1=Math.ceil(l.tcy1/v),u.resLevel=s,g(a,u,t),o.push(u);var w;if(0===s)w={},w.type="LL",w.tbx0=Math.ceil(l.tcx0/v),w.tby0=Math.ceil(l.tcy0/v),w.tbx1=Math.ceil(l.tcx1/v),w.tby1=Math.ceil(l.tcy1/v),w.resolution=u,h(a,w,t),r.push(w),u.subbands=[w];else{var x=1<<n-s+1,y=[];w={},w.type="HL",w.tbx0=Math.ceil(l.tcx0/x-.5),w.tby0=Math.ceil(l.tcy0/x),w.tbx1=Math.ceil(l.tcx1/x-.5),w.tby1=Math.ceil(l.tcy1/x),w.resolution=u,h(a,w,t),r.push(w),y.push(w),w={},w.type="LH",w.tbx0=Math.ceil(l.tcx0/x),w.tby0=Math.ceil(l.tcy0/x-.5),w.tbx1=Math.ceil(l.tcx1/x),w.tby1=Math.ceil(l.tcy1/x-.5),w.resolution=u,h(a,w,t),r.push(w),y.push(w),w={},w.type="HH",w.tbx0=Math.ceil(l.tcx0/x-.5),w.tby0=Math.ceil(l.tcy0/x-.5),w.tbx1=Math.ceil(l.tcx1/x-.5),w.tby1=Math.ceil(l.tcy1/x-.5),w.resolution=u,h(a,w,t),r.push(w),y.push(w),u.subbands=y}}l.resolutions=o,l.subbands=r}var z=d.codingStyleDefaultParameters.progressionOrder;switch(z){case 0:d.packetsIterator=new j(a);break;case 1:d.packetsIterator=new k(a);break;case 2:d.packetsIterator=new m(a);break;case 3:d.packetsIterator=new p(a);break;case 4:d.packetsIterator=new q(a);break;default:throw new Error("JPX Error: Unsupported progression order "+z)}}function u(a,b,c,d){function e(a){for(;a>m;){var d=b[c+k];k++,n?(j=j<<7|d,m+=7,n=!1):(j=j<<8|d,m+=8),255===d&&(n=!0)}return m-=a,j>>>m&(1<<a)-1}function f(a){return 255===b[c+k-1]&&b[c+k]===a?(g(1),!0):255===b[c+k]&&b[c+k+1]===a?(g(2),!0):!1}function g(a){k+=a}function h(){m=0,n&&(k++,n=!1)}function i(){if(0===e(1))return 1;if(0===e(1))return 2;var a=e(2);return 3>a?a+3:(a=e(5),31>a?a+6:(a=e(7),a+37))}for(var j,k=0,m=0,n=!1,o=a.currentTile.index,p=a.tiles[o],q=a.COD.sopMarkerUsed,r=a.COD.ephMarkerUsed,s=p.packetsIterator;d>k;){h(),q&&f(145)&&g(4);var t=s.nextPacket();if(e(1)){for(var u,v=t.layerNumber,w=[],x=0,y=t.codeblocks.length;y>x;x++){u=t.codeblocks[x];var z,C=u.precinct,D=u.cbx-C.cbxMin,E=u.cby-C.cbyMin,F=!1,G=!1;if(void 0!==u.included)F=!!e(1);else{C=u.precinct;var H,I;if(void 0!==C.inclusionTree)H=C.inclusionTree;else{var J=C.cbxMax-C.cbxMin+1,K=C.cbyMax-C.cbyMin+1;H=new B(J,K,v),I=new A(J,K),C.inclusionTree=H,C.zeroBitPlanesTree=I}if(H.reset(D,E,v))for(;;){if(!e(1)){H.incrementValue(v);break}if(z=!H.nextLevel()){u.included=!0,F=G=!0;break}}}if(F){if(G){for(I=C.zeroBitPlanesTree,I.reset(D,E);;)if(e(1)){if(z=!I.nextLevel())break}else I.incrementValue();u.zeroBitPlanes=I.value}for(var L=i();e(1);)u.Lblock++;var M=l(L),N=(1<<M>L?M-1:M)+u.Lblock,O=e(N);w.push({codeblock:u,codingpasses:L,dataLength:O})}}for(h(),r&&f(146);w.length>0;){var P=w.shift();u=P.codeblock,void 0===u.data&&(u.data=[]),u.data.push({data:b,start:c+k,end:c+k+P.dataLength,codingpasses:P.codingpasses}),k+=P.dataLength}}}return k}function v(a,b,c,d,e,f,g,h){for(var i=d.tbx0,j=d.tby0,k=d.tbx1-d.tbx0,l=d.codeblocks,m="H"===d.type.charAt(0)?1:0,n="H"===d.type.charAt(1)?b:0,o=0,p=l.length;p>o;++o){var q=l[o],r=q.tbx1_-q.tbx0_,s=q.tby1_-q.tby0_;if(0!==r&&0!==s&&void 0!==q.data){var t,u;t=new C(r,s,q.subbandType,q.zeroBitPlanes,f),u=2;var v,w,x,y=q.data,z=0,A=0;for(v=0,w=y.length;w>v;v++)x=y[v],z+=x.end-x.start,A+=x.codingpasses;var B=new Uint8Array(z),D=0;for(v=0,w=y.length;w>v;v++){x=y[v];var E=x.data.subarray(x.start,x.end);B.set(E,D),D+=E.length}var F=new fd(B,0,z);for(t.setDecoder(F),v=0;A>v;v++){switch(u){case 0:t.runSignificancePropogationPass();break;case 1:t.runMagnitudeRefinementPass();break;case 2:t.runCleanupPass(),h&&t.checkSegmentationSymbol()}u=(u+1)%3}var G,H,I,J=q.tbx0_-i+(q.tby0_-j)*k,K=t.coefficentsSign,L=t.coefficentsMagnitude,M=t.bitsDecoded,N=g?0:.5;D=0;var O="LL"!==d.type;for(v=0;s>v;v++){var P=J/k|0,Q=2*P*(b-k)+m+n;for(G=0;r>G;G++){if(H=L[D],0!==H){H=(H+N)*e,0!==K[D]&&(H=-H),I=M[D];var R=O?Q+(J<<1):J;g&&I>=f?a[R]=H:a[R]=H*(1<<f-I)}J++,D++}J+=k-r}}}}function w(a,b,c){for(var d=b.components[c],e=d.codingStyleParameters,f=d.quantizationParameters,g=e.decompositionLevelsCount,h=f.SPqcds,i=f.scalarExpounded,j=f.guardBits,k=e.segmentationSymbolUsed,l=a.components[c].precision,m=e.reversibleTransformation,n=m?new F:new E,o=[],p=0,q=0;g>=q;q++){for(var r=d.resolutions[q],s=r.trx1-r.trx0,t=r.try1-r.try0,u=new Float32Array(s*t),w=0,x=r.subbands.length;x>w;w++){var y,A;i?(y=h[p].mu,A=h[p].epsilon,p++):(y=h[0].mu,A=h[0].epsilon+(q>0?1-q:0));var B=r.subbands[w],C=z[B.type],D=m?1:Math.pow(2,l+C-A)*(1+y/2048),G=j+A-1;v(u,s,t,B,D,G,m,k)}o.push({width:s,height:t,items:u})}var H=n.calculate(o,d.tcx0,d.tcy0);return{left:d.tcx0,top:d.tcy0,width:H.width,height:H.height,items:H.items}}function x(a){for(var b=a.SIZ,c=a.components,d=b.Csiz,e=[],f=0,g=a.tiles.length;g>f;f++){var h,i=a.tiles[f],j=[];for(h=0;d>h;h++)j[h]=w(a,i,h);var k,l,m,n,o,p,q,r,s,t,u,v,x,y,z,A=j[0],B=new Uint8Array(A.items.length*d),C={left:A.left,top:A.top,width:A.width,height:A.height,items:B},D=0;if(i.codingStyleDefaultParameters.multipleComponentTransform){var E=4===d,F=j[0].items,G=j[1].items,H=j[2].items,I=E?j[3].items:null;k=c[0].precision-8,l=(128<<k)+.5,m=255*(1<<k),o=.5*m,n=-o;var J=i.components[0],K=d-3;if(q=F.length,J.codingStyleParameters.reversibleTransformation)for(p=0;q>p;p++,D+=K)r=F[p]+l,s=G[p],t=H[p],v=r-(t+s>>2),u=v+t,x=v+s,B[D++]=0>=u?0:u>=m?255:u>>k,B[D++]=0>=v?0:v>=m?255:v>>k,B[D++]=0>=x?0:x>=m?255:x>>k;else for(p=0;q>p;p++,D+=K)r=F[p]+l,s=G[p],t=H[p],u=r+1.402*t,v=r-.34413*s-.71414*t,x=r+1.772*s,B[D++]=0>=u?0:u>=m?255:u>>k,B[D++]=0>=v?0:v>=m?255:v>>k,B[D++]=0>=x?0:x>=m?255:x>>k;if(E)for(p=0,D=3;q>p;p++,D+=4)y=I[p],B[D]=n>=y?0:y>=o?255:y+l>>k}else for(h=0;d>h;h++){var L=j[h].items;for(k=c[h].precision-8,l=(128<<k)+.5,m=127.5*(1<<k),n=-m,D=h,p=0,q=L.length;q>p;p++)z=L[p],B[D]=n>=z?0:z>=m?255:z+l>>k,D+=d}e.push(C)}return e}function y(a,b){for(var c=a.SIZ,d=c.Csiz,e=a.tiles[b],f=0;d>f;f++){var g=e.components[f],h=void 0!==a.currentTile.QCC[f]?a.currentTile.QCC[f]:a.currentTile.QCD;g.quantizationParameters=h;var i=void 0!==a.currentTile.COC[f]?a.currentTile.COC[f]:a.currentTile.COD;g.codingStyleParameters=i}e.codingStyleDefaultParameters=a.currentTile.COD}var z={LL:0,LH:1,HL:1,HH:2};c.prototype={parse:function(c){var d=n(c,0);if(65359===d)return void this.parseCodestream(c,0,c.length);for(var e=0,f=c.length;f>e;){var g=8,h=o(c,e),i=o(c,e+4);if(e+=g,1===h&&(h=4294967296*o(c,e)+o(c,e+4),e+=8,g+=8),0===h&&(h=f-e+g),g>h)throw new Error("JPX Error: Invalid box field size");var j=h-g,k=!0;switch(i){case 1785737832:k=!1;break;case 1668246642:var l=c[e];c[e+1],c[e+2];if(1===l){var m=o(c,e+3);switch(m){case 16:case 17:case 18:break;default:b("Unknown colorspace "+m)}}else 2===l&&a("ICC profile not supported");break;case 1785737827:this.parseCodestream(c,e,e+j);break;case 1783636e3:218793738!==o(c,e)&&b("Invalid JP2 signature");break;case 1783634458:case 1718909296:case 1920099697:case 1919251232:case 1768449138:break;default:var p=String.fromCharCode(i>>24&255,i>>16&255,i>>8&255,255&i);b("Unsupported header type "+i+" ("+p+")")}k&&(e+=j)}},parseImageProperties:function(a){for(var b=a.getByte();b>=0;){var c=b;b=a.getByte();var d=c<<8|b;if(65361===d){a.skip(4);var e=a.getInt32()>>>0,f=a.getInt32()>>>0,g=a.getInt32()>>>0,h=a.getInt32()>>>0;a.skip(16);var i=a.getUint16();return this.width=e-g,this.height=f-h,this.componentsCount=i,void(this.bitsPerComponent=8)}}throw new Error("JPX Error: No size marker found in JPX stream")},parseCodestream:function(a,c,f){var g={};try{for(var h=!1,i=c;f>i+1;){var j=n(a,i);i+=2;var k,l,m,p,q,r,s=0;switch(j){case 65359:g.mainHeader=!0;break;case 65497:break;case 65361:s=n(a,i);var v={};v.Xsiz=o(a,i+4),v.Ysiz=o(a,i+8),v.XOsiz=o(a,i+12),v.YOsiz=o(a,i+16),v.XTsiz=o(a,i+20),v.YTsiz=o(a,i+24),v.XTOsiz=o(a,i+28),v.YTOsiz=o(a,i+32);var w=n(a,i+36);v.Csiz=w;var z=[];k=i+38;for(var A=0;w>A;A++){var B={precision:(127&a[k])+1,isSigned:!!(128&a[k]),XRsiz:a[k+1],YRsiz:a[k+1]};d(B,v),z.push(B)}g.SIZ=v,g.components=z,e(g,z),g.QCC=[],g.COC=[];break;case 65372:s=n(a,i);var C={};switch(k=i+2,l=a[k++],31&l){case 0:p=8,q=!0;break;case 1:p=16,q=!1;break;case 2:p=16,q=!0;break;default:throw new Error("JPX Error: Invalid SQcd value "+l)}for(C.noQuantization=8===p,C.scalarExpounded=q,C.guardBits=l>>5,m=[];s+i>k;){var D={};8===p?(D.epsilon=a[k++]>>3,D.mu=0):(D.epsilon=a[k]>>3,D.mu=(7&a[k])<<8|a[k+1],k+=2),m.push(D)}C.SPqcds=m,g.mainHeader?g.QCD=C:(g.currentTile.QCD=C,g.currentTile.QCC=[]);break;case 65373:s=n(a,i);var E={};k=i+2;var F;switch(g.SIZ.Csiz<257?F=a[k++]:(F=n(a,k),k+=2),l=a[k++],31&l){case 0:p=8,q=!0;break;case 1:p=16,q=!1;break;case 2:p=16,q=!0;break;default:throw new Error("JPX Error: Invalid SQcd value "+l)}for(E.noQuantization=8===p,E.scalarExpounded=q,E.guardBits=l>>5,m=[];s+i>k;)D={},8===p?(D.epsilon=a[k++]>>3,D.mu=0):(D.epsilon=a[k]>>3,D.mu=(7&a[k])<<8|a[k+1],k+=2),m.push(D);E.SPqcds=m,g.mainHeader?g.QCC[F]=E:g.currentTile.QCC[F]=E;break;case 65362:s=n(a,i);var G={};k=i+2;var H=a[k++];G.entropyCoderWithCustomPrecincts=!!(1&H),G.sopMarkerUsed=!!(2&H),G.ephMarkerUsed=!!(4&H),G.progressionOrder=a[k++],G.layersCount=n(a,k),k+=2,G.multipleComponentTransform=a[k++],G.decompositionLevelsCount=a[k++],G.xcb=(15&a[k++])+2,G.ycb=(15&a[k++])+2;var I=a[k++];if(G.selectiveArithmeticCodingBypass=!!(1&I),G.resetContextProbabilities=!!(2&I),G.terminationOnEachCodingPass=!!(4&I),G.verticalyStripe=!!(8&I),G.predictableTermination=!!(16&I),G.segmentationSymbolUsed=!!(32&I),G.reversibleTransformation=a[k++],G.entropyCoderWithCustomPrecincts){for(var J=[];s+i>k;){var K=a[k++];J.push({PPx:15&K,PPy:K>>4})}G.precinctsSizes=J}var L=[];if(G.selectiveArithmeticCodingBypass&&L.push("selectiveArithmeticCodingBypass"),G.resetContextProbabilities&&L.push("resetContextProbabilities"),G.terminationOnEachCodingPass&&L.push("terminationOnEachCodingPass"),G.verticalyStripe&&L.push("verticalyStripe"),G.predictableTermination&&L.push("predictableTermination"),L.length>0)throw h=!0,new Error("JPX Error: Unsupported COD options ("+L.join(", ")+")");g.mainHeader?g.COD=G:(g.currentTile.COD=G,g.currentTile.COC=[]);break;case 65424:s=n(a,i),r={},r.index=n(a,i+2),r.length=o(a,i+4),r.dataEnd=r.length+i-2,r.partIndex=a[i+8],r.partsCount=a[i+9],g.mainHeader=!1,0===r.partIndex&&(r.COD=g.COD,r.COC=g.COC.slice(0),r.QCD=g.QCD,r.QCC=g.QCC.slice(0)),g.currentTile=r;break;case 65427:r=g.currentTile,0===r.partIndex&&(y(g,r.index),t(g)),s=r.dataEnd-i,u(g,a,i,s);break;case 65365:case 65367:case 65368:case 65380:s=n(a,i);break;case 65363:throw new Error("JPX Error: Codestream code 0xFF53 (COC) is not implemented");default:throw new Error("JPX Error: Unknown codestream code: "+j.toString(16))}i+=s}}catch(M){if(h||this.failOnCorruptedImage)throw M;b("Trying to recover from "+M.message)}this.tiles=x(g),this.width=g.SIZ.Xsiz-g.SIZ.XOsiz,this.height=g.SIZ.Ysiz-g.SIZ.YOsiz,this.componentsCount=g.SIZ.Csiz}};var A=function(){function a(a,b){var c=l(Math.max(a,b))+1;this.levels=[];for(var d=0;c>d;d++){var e={width:a,height:b,items:[]};this.levels.push(e),a=Math.ceil(a/2),b=Math.ceil(b/2)}}return a.prototype={reset:function(a,b){for(var c,d=0,e=0;d<this.levels.length;){c=this.levels[d];var f=a+b*c.width;if(void 0!==c.items[f]){e=c.items[f];break}c.index=f,a>>=1,b>>=1,d++}d--,c=this.levels[d],c.items[c.index]=e,this.currentLevel=d,delete this.value},incrementValue:function(){var a=this.levels[this.currentLevel];a.items[a.index]++},nextLevel:function(){var a=this.currentLevel,b=this.levels[a],c=b.items[b.index];return a--,0>a?(this.value=c,!1):(this.currentLevel=a,b=this.levels[a],b.items[b.index]=c,!0)}},a}(),B=function(){function a(a,b,c){var d=l(Math.max(a,b))+1;this.levels=[];for(var e=0;d>e;e++){for(var f=new Uint8Array(a*b),g=0,h=f.length;h>g;g++)f[g]=c;var i={width:a,height:b,items:f};this.levels.push(i),a=Math.ceil(a/2),b=Math.ceil(b/2)}}return a.prototype={reset:function(a,b,c){for(var d=0;d<this.levels.length;){var e=this.levels[d],f=a+b*e.width;e.index=f;var g=e.items[f];if(255===g)break;if(g>c)return this.currentLevel=d,this.propagateValues(),!1;a>>=1,b>>=1,d++}return this.currentLevel=d-1,!0},incrementValue:function(a){var b=this.levels[this.currentLevel];b.items[b.index]=a+1,this.propagateValues()},propagateValues:function(){for(var a=this.currentLevel,b=this.levels[a],c=b.items[b.index];--a>=0;)b=this.levels[a],b.items[b.index]=c},nextLevel:function(){var a=this.currentLevel,b=this.levels[a],c=b.items[b.index];return b.items[b.index]=255,a--,0>a?!1:(this.currentLevel=a,b=this.levels[a],b.items[b.index]=c,!0)}},a}(),C=function(){function a(a,b,c,g,h){this.width=a,this.height=b,this.contextLabelTable="HH"===c?f:"HL"===c?e:d;var i=a*b;this.neighborsSignificance=new Uint8Array(i),this.coefficentsSign=new Uint8Array(i),this.coefficentsMagnitude=h>14?new Uint32Array(i):h>6?new Uint16Array(i):new Uint8Array(i),this.processingFlags=new Uint8Array(i);var j=new Uint8Array(i);if(0!==g)for(var k=0;i>k;k++)j[k]=g;this.bitsDecoded=j,this.reset()}var b=17,c=18,d=new Uint8Array([0,5,8,0,3,7,8,0,4,7,8,0,0,0,0,0,1,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8]),e=new Uint8Array([0,3,4,0,5,7,7,0,8,8,8,0,0,0,0,0,1,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8]),f=new Uint8Array([0,1,2,0,1,2,2,0,2,2,2,0,0,0,0,0,3,4,5,0,4,5,5,0,5,5,5,0,0,0,0,0,6,7,7,0,7,7,7,0,7,7,7,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8]);return a.prototype={setDecoder:function(a){this.decoder=a},reset:function(){this.contexts=new Int8Array(19),this.contexts[0]=8,this.contexts[b]=92,this.contexts[c]=6},setNeighborsSignificance:function(a,b,c){var d,e=this.neighborsSignificance,f=this.width,g=this.height,h=b>0,i=f>b+1;a>0&&(d=c-f,h&&(e[d-1]+=16),i&&(e[d+1]+=16),e[d]+=4),g>a+1&&(d=c+f,h&&(e[d-1]+=16),i&&(e[d+1]+=16),e[d]+=4),h&&(e[c-1]+=1),i&&(e[c+1]+=1),e[c]|=128},runSignificancePropogationPass:function(){for(var a=this.decoder,b=this.width,c=this.height,d=this.coefficentsMagnitude,e=this.coefficentsSign,f=this.neighborsSignificance,g=this.processingFlags,h=this.contexts,i=this.contextLabelTable,j=this.bitsDecoded,k=-2,l=1,m=2,n=0;c>n;n+=4)for(var o=0;b>o;o++)for(var p=n*b+o,q=0;4>q;q++,p+=b){var r=n+q;if(r>=c)break;if(g[p]&=k,!d[p]&&f[p]){var s=i[f[p]],t=a.readBit(h,s);if(t){var u=this.decodeSignBit(r,o,p);e[p]=u,d[p]=1,this.setNeighborsSignificance(r,o,p),g[p]|=m}j[p]++,g[p]|=l}}},decodeSignBit:function(a,b,c){var d,e,f,g,h,i,j=this.width,k=this.height,l=this.coefficentsMagnitude,m=this.coefficentsSign;g=b>0&&0!==l[c-1],j>b+1&&0!==l[c+1]?(f=m[c+1],g?(e=m[c-1],d=1-f-e):d=1-f-f):g?(e=m[c-1],d=1-e-e):d=0;var n=3*d;return g=a>0&&0!==l[c-j],k>a+1&&0!==l[c+j]?(f=m[c+j],g?(e=m[c-j],
+d=1-f-e+n):d=1-f-f+n):g?(e=m[c-j],d=1-e-e+n):d=n,d>=0?(h=9+d,i=this.decoder.readBit(this.contexts,h)):(h=9-d,i=1^this.decoder.readBit(this.contexts,h)),i},runMagnitudeRefinementPass:function(){for(var a,b=this.decoder,c=this.width,d=this.height,e=this.coefficentsMagnitude,f=this.neighborsSignificance,g=this.contexts,h=this.bitsDecoded,i=this.processingFlags,j=1,k=2,l=c*d,m=4*c,n=0;l>n;n=a){a=Math.min(l,n+m);for(var o=0;c>o;o++)for(var p=n+o;a>p;p+=c)if(e[p]&&0===(i[p]&j)){var q=16;if(0!==(i[p]&k)){i[p]^=k;var r=127&f[p];q=0===r?15:14}var s=b.readBit(g,q);e[p]=e[p]<<1|s,h[p]++,i[p]|=j}}},runCleanupPass:function(){for(var a,d=this.decoder,e=this.width,f=this.height,g=this.neighborsSignificance,h=this.coefficentsMagnitude,i=this.coefficentsSign,j=this.contexts,k=this.contextLabelTable,l=this.bitsDecoded,m=this.processingFlags,n=1,o=2,p=e,q=2*e,r=3*e,s=0;f>s;s=a){a=Math.min(s+4,f);for(var t=s*e,u=f>s+3,v=0;e>v;v++){var w,x=t+v,y=u&&0===m[x]&&0===m[x+p]&&0===m[x+q]&&0===m[x+r]&&0===g[x]&&0===g[x+p]&&0===g[x+q]&&0===g[x+r],z=0,A=x,B=s;if(y){var C=d.readBit(j,c);if(!C){l[x]++,l[x+p]++,l[x+q]++,l[x+r]++;continue}z=d.readBit(j,b)<<1|d.readBit(j,b),0!==z&&(B=s+z,A+=z*e),w=this.decodeSignBit(B,v,A),i[A]=w,h[A]=1,this.setNeighborsSignificance(B,v,A),m[A]|=o,A=x;for(var D=s;B>=D;D++,A+=e)l[A]++;z++}for(B=s+z;a>B;B++,A+=e)if(!h[A]&&0===(m[A]&n)){var E=k[g[A]],F=d.readBit(j,E);1===F&&(w=this.decodeSignBit(B,v,A),i[A]=w,h[A]=1,this.setNeighborsSignificance(B,v,A),m[A]|=o),l[A]++}}}},checkSegmentationSymbol:function(){var a=this.decoder,c=this.contexts,d=a.readBit(c,b)<<3|a.readBit(c,b)<<2|a.readBit(c,b)<<1|a.readBit(c,b);if(10!==d)throw new Error("JPX Error: Invalid segmentation symbol")}},a}(),D=function(){function a(){}return a.prototype.calculate=function(a,b,c){for(var d=a[0],e=1,f=a.length;f>e;e++)d=this.iterate(d,a[e],b,c);return d},a.prototype.extend=function(a,b,c){var d=b-1,e=b+1,f=b+c-2,g=b+c;a[d--]=a[e++],a[g++]=a[f--],a[d--]=a[e++],a[g++]=a[f--],a[d--]=a[e++],a[g++]=a[f--],a[d]=a[e],a[g]=a[f]},a.prototype.iterate=function(a,b,c,d){var e,f,g,h,i,j,k=a.width,l=a.height,m=a.items,n=b.width,o=b.height,p=b.items;for(g=0,e=0;l>e;e++)for(h=2*e*n,f=0;k>f;f++,g++,h+=2)p[h]=m[g];m=a.items=null;var q=4,r=new Float32Array(n+2*q);if(1===n){if(0!==(1&c))for(j=0,g=0;o>j;j++,g+=n)p[g]*=.5}else for(j=0,g=0;o>j;j++,g+=n)r.set(p.subarray(g,g+n),q),this.extend(r,q,n),this.filter(r,q,n),p.set(r.subarray(q,q+n),g);var s=16,t=[];for(e=0;s>e;e++)t.push(new Float32Array(o+2*q));var u,v=0;if(a=q+o,1===o){if(0!==(1&d))for(i=0;n>i;i++)p[i]*=.5}else for(i=0;n>i;i++){if(0===v){for(s=Math.min(n-i,s),g=i,h=q;a>h;g+=n,h++)for(u=0;s>u;u++)t[u][h]=p[g+u];v=s}v--;var w=t[v];if(this.extend(w,q,o),this.filter(w,q,o),0===v)for(g=i-s+1,h=q;a>h;g+=n,h++)for(u=0;s>u;u++)p[g+u]=t[u][h]}return{width:n,height:o,items:p}},a}(),E=function(){function a(){D.call(this)}return a.prototype=Object.create(D.prototype),a.prototype.filter=function(a,b,c){var d=c>>1;b=0|b;var e,f,g,h,i=-1.586134342059924,j=-.052980118572961,k=.882911075530934,l=.443506852043971,m=1.230174104914001,n=1/m;for(e=b-3,f=d+4;f--;e+=2)a[e]*=n;for(e=b-2,g=l*a[e-1],f=d+3;f--&&(h=l*a[e+1],a[e]=m*a[e]-g-h,f--);e+=2)e+=2,g=l*a[e+1],a[e]=m*a[e]-g-h;for(e=b-1,g=k*a[e-1],f=d+2;f--&&(h=k*a[e+1],a[e]-=g+h,f--);e+=2)e+=2,g=k*a[e+1],a[e]-=g+h;for(e=b,g=j*a[e-1],f=d+1;f--&&(h=j*a[e+1],a[e]-=g+h,f--);e+=2)e+=2,g=j*a[e+1],a[e]-=g+h;if(0!==d)for(e=b+1,g=i*a[e-1],f=d;f--&&(h=i*a[e+1],a[e]-=g+h,f--);e+=2)e+=2,g=i*a[e+1],a[e]-=g+h},a}(),F=function(){function a(){D.call(this)}return a.prototype=Object.create(D.prototype),a.prototype.filter=function(a,b,c){var d=c>>1;b=0|b;var e,f;for(e=b,f=d+1;f--;e+=2)a[e]-=a[e-1]+a[e+1]+2>>2;for(e=b+1,f=d;f--;e+=2)a[e]+=a[e-1]+a[e+1]>>1},a}();return c}(),id=function(){function a(){}function b(a,b,c){this.data=a,this.start=b,this.end=c}function d(a,b,c){function d(a){for(var b=0,d=0;a>d;d++){var g=c.readBit(e,f);f=256>f?f<<1|g:511&(f<<1|g)|256,b=b<<1|g}return b>>>0}var e=a.getContexts(b),f=1,g=d(1),h=d(1)?d(1)?d(1)?d(1)?d(1)?d(32)+4436:d(12)+340:d(8)+84:d(6)+20:d(4)+4:d(2);return 0===g?h:h>0?-h:null}function e(a,b,c){for(var d=a.getContexts("IAID"),e=1,f=0;c>f;f++){var g=b.readBit(d,e);e=e<<1|g}return 31>c?e&(1<<c)-1:2147483647&e}function f(a,b,c){var d,e,f,g,h,i,j,k=c.decoder,l=c.contextCache.getContexts("GB"),m=[],n=31735;for(e=0;b>e;e++)for(h=m[e]=new Uint8Array(a),i=1>e?h:m[e-1],j=2>e?h:m[e-2],d=j[0]<<13|j[1]<<12|j[2]<<11|i[0]<<7|i[1]<<6|i[2]<<5|i[3]<<4,f=0;a>f;f++)h[f]=g=k.readBit(l,d),d=(d&n)<<1|(a>f+3?j[f+3]<<11:0)|(a>f+4?i[f+4]<<4:0)|g;return m}function h(a,b,d,e,g,h,i,j){if(a&&c("JBIG2 error: MMR encoding is not supported"),0===e&&!h&&!g&&4===i.length&&3===i[0].x&&-1===i[0].y&&-3===i[1].x&&-1===i[1].y&&2===i[2].x&&-2===i[2].y&&-2===i[3].x&&-2===i[3].y)return f(b,d,j);var k=!!h,l=y[e].concat(i);l.sort(function(a,b){return a.y-b.y||a.x-b.x});var m,n,o=l.length,p=new Int8Array(o),q=new Int8Array(o),r=[],s=0,t=0,u=0,v=0;for(n=0;o>n;n++)p[n]=l[n].x,q[n]=l[n].y,t=Math.min(t,l[n].x),u=Math.max(u,l[n].x),v=Math.min(v,l[n].y),o-1>n&&l[n].y===l[n+1].y&&l[n].x===l[n+1].x-1?s|=1<<o-1-n:r.push(n);var w=r.length,x=new Int8Array(w),z=new Int8Array(w),B=new Uint16Array(w);for(m=0;w>m;m++)n=r[m],x[m]=l[n].x,z[m]=l[n].y,B[m]=1<<o-1-n;for(var C,D,E,F,G,H=-t,I=-v,J=b-u,K=A[e],L=new Uint8Array(b),M=[],N=j.decoder,O=j.contextCache.getContexts("GB"),P=0,Q=0,R=0;d>R;R++){if(g){var S=N.readBit(O,K);if(P^=S){M.push(L);continue}}for(L=new Uint8Array(L),M.push(L),C=0;b>C;C++)if(k&&h[R][C])L[C]=0;else{if(C>=H&&J>C&&R>=I)for(Q=Q<<1&s,n=0;w>n;n++)D=R+z[n],E=C+x[n],F=M[D][E],F&&(F=B[n],Q|=F);else for(Q=0,G=o-1,n=0;o>n;n++,G--)E=C+p[n],E>=0&&b>E&&(D=R+q[n],D>=0&&(F=M[D][E],F&&(Q|=F<<G)));var T=N.readBit(O,Q);L[C]=T}}return M}function i(a,b,d,e,f,g,h,i,j){var k=z[d].coding;0===d&&(k=k.concat([i[0]]));var l,m=k.length,n=new Int32Array(m),o=new Int32Array(m);for(l=0;m>l;l++)n[l]=k[l].x,o[l]=k[l].y;var p=z[d].reference;0===d&&(p=p.concat([i[1]]));var q=p.length,r=new Int32Array(q),s=new Int32Array(q);for(l=0;q>l;l++)r[l]=p[l].x,s[l]=p[l].y;for(var t=e[0].length,u=e.length,v=B[d],w=[],x=j.decoder,y=j.contextCache.getContexts("GR"),A=0,C=0;b>C;C++){if(h){var D=x.readBit(y,v);A^=D,A&&c("JBIG2 error: prediction is not supported")}var E=new Uint8Array(a);w.push(E);for(var F=0;a>F;F++){var G,H,I=0;for(l=0;m>l;l++)G=C+o[l],H=F+n[l],0>G||0>H||H>=a?I<<=1:I=I<<1|w[G][H];for(l=0;q>l;l++)G=C+s[l]+g,H=F+r[l]+f,0>G||G>=u||0>H||H>=t?I<<=1:I=I<<1|e[G][H];var J=x.readBit(y,I);E[F]=J}}return w}function j(a,b,f,g,j,m,n,o,p,q,r){a&&c("JBIG2 error: huffman is not supported");for(var s=[],t=0,u=l(f.length+g),v=r.decoder,w=r.contextCache;s.length<g;){var x=d(w,"IADH",v);t+=x;for(var y=0,z=0;;){var A=d(w,"IADW",v);if(null===A)break;y+=A,z+=y;var B;if(b){var C=d(w,"IAAI",v);if(C>1)B=k(a,b,y,t,0,C,1,f.concat(s),u,0,0,1,0,m,p,q,r);else{var D=e(w,v,u),E=d(w,"IARDX",v),F=d(w,"IARDY",v),G=D<f.length?f[D]:s[D-f.length];B=i(y,t,p,G,E,F,!1,q,r)}}else B=h(!1,y,t,n,!1,null,o,r);s.push(B)}}for(var H=[],I=[],J=!1,K=f.length+g;I.length<K;){for(var L=d(w,"IAEX",v);L--;)I.push(J);J=!J}for(var M=0,N=f.length;N>M;M++)I[M]&&H.push(f[M]);for(var O=0;g>O;M++,O++)I[M]&&H.push(s[O]);return H}function k(a,b,f,g,h,j,k,l,m,n,o,p,q,r,s,t,u){a&&c("JBIG2 error: huffman is not supported");var v,w,x=[];for(v=0;g>v;v++){if(w=new Uint8Array(f),h)for(var y=0;f>y;y++)w[y]=h;x.push(w)}var z=u.decoder,A=u.contextCache,B=-d(A,"IADT",z),C=0;for(v=0;j>v;){var D=d(A,"IADT",z);B+=D;var E=d(A,"IAFS",z);C+=E;for(var F=C;;){var G=1===k?0:d(A,"IAIT",z),H=k*B+G,I=e(A,z,m),J=b&&d(A,"IARI",z),K=l[I],L=K[0].length,M=K.length;if(J){var N=d(A,"IARDW",z),O=d(A,"IARDH",z),P=d(A,"IARDX",z),Q=d(A,"IARDY",z);L+=N,M+=O,K=i(L,M,s,K,(N>>1)+P,(O>>1)+Q,!1,t,u)}var R,S,T,U=H-(1&p?0:M),V=F-(2&p?L:0);if(n){for(R=0;M>R;R++)if(w=x[V+R]){T=K[R];var W=Math.min(f-U,L);switch(q){case 0:for(S=0;W>S;S++)w[U+S]|=T[S];break;case 2:for(S=0;W>S;S++)w[U+S]^=T[S];break;default:c("JBIG2 error: operator "+q+" is not supported")}}F+=M-1}else{for(S=0;M>S;S++)if(w=x[U+S])switch(T=K[S],q){case 0:for(R=0;L>R;R++)w[V+R]|=T[R];break;case 2:for(R=0;L>R;R++)w[V+R]^=T[R];break;default:c("JBIG2 error: operator "+q+" is not supported")}F+=L-1}v++;var X=d(A,"IADS",z);if(null===X)break;F+=X+o}}return x}function p(a,b){var d={};d.number=o(a,b);var e=a[b+4],f=63&e;x[f]||c("JBIG2 error: invalid segment type: "+f),d.type=f,d.typeName=x[f],d.deferredNonRetain=!!(128&e);var g=!!(64&e),h=a[b+5],i=h>>5&7,j=[31&h],k=b+6;if(7===h){i=536870911&o(a,k-1),k+=3;var l=i+7>>3;for(j[0]=a[k++];--l>0;)j.push(a[k++])}else(5===h||6===h)&&c("JBIG2 error: invalid referred-to flags");d.retainBits=j;var m,p,q=d.number<=256?1:d.number<=65536?2:4,s=[];for(m=0;i>m;m++){var t=1===q?a[k]:2===q?n(a,k):o(a,k);s.push(t),k+=q}if(d.referredTo=s,g?(d.pageAssociation=o(a,k),k+=4):d.pageAssociation=a[k++],d.length=o(a,k),k+=4,4294967295===d.length)if(38===f){var u=r(a,k),v=a[k+C],w=!!(1&v),y=6,z=new Uint8Array(y);for(w||(z[0]=255,z[1]=172),z[2]=u.height>>>24&255,z[3]=u.height>>16&255,z[4]=u.height>>8&255,z[5]=255&u.height,m=k,p=a.length;p>m;m++){for(var A=0;y>A&&z[A]===a[m+A];)A++;if(A===y){d.length=m+y;break}}4294967295===d.length&&c("JBIG2 error: segment end was not found")}else c("JBIG2 error: invalid unknown segment length");return d.headerEnd=k,d}function q(a,b,c,d){for(var e=[],f=c;d>f;){var g=p(b,f);f=g.headerEnd;var h={header:g,data:b};if(a.randomAccess||(h.start=f,f+=g.length,h.end=f),e.push(h),51===g.type)break}if(a.randomAccess)for(var i=0,j=e.length;j>i;i++)e[i].start=f,f+=e[i].header.length,e[i].end=f;return e}function r(a,b){return{width:o(a,b),height:o(a,b+4),x:o(a,b+8),y:o(a,b+12),combinationOperator:7&a[b+16]}}function s(a,b){var d,e,f,g,h=a.header,i=a.data,j=a.start,k=a.end;switch(h.type){case 0:var l={},p=n(i,j);if(l.huffman=!!(1&p),l.refinement=!!(2&p),l.huffmanDHSelector=p>>2&3,l.huffmanDWSelector=p>>4&3,l.bitmapSizeSelector=p>>6&1,l.aggregationInstancesSelector=p>>7&1,l.bitmapCodingContextUsed=!!(256&p),l.bitmapCodingContextRetained=!!(512&p),l.template=p>>10&3,l.refinementTemplate=p>>12&1,j+=2,!l.huffman){for(g=0===l.template?4:1,e=[],f=0;g>f;f++)e.push({x:m(i,j),y:m(i,j+1)}),j+=2;l.at=e}if(l.refinement&&!l.refinementTemplate){for(e=[],f=0;2>f;f++)e.push({x:m(i,j),y:m(i,j+1)}),j+=2;l.refinementAt=e}l.numberOfExportedSymbols=o(i,j),j+=4,l.numberOfNewSymbols=o(i,j),j+=4,d=[l,h.number,h.referredTo,i,j,k];break;case 6:case 7:var q={};q.info=r(i,j),j+=C;var s=n(i,j);if(j+=2,q.huffman=!!(1&s),q.refinement=!!(2&s),q.stripSize=1<<(s>>2&3),q.referenceCorner=s>>4&3,q.transposed=!!(64&s),q.combinationOperator=s>>7&3,q.defaultPixelValue=s>>9&1,q.dsOffset=s<<17>>27,q.refinementTemplate=s>>15&1,q.huffman){var t=n(i,j);j+=2,q.huffmanFS=3&t,q.huffmanDS=t>>2&3,q.huffmanDT=t>>4&3,q.huffmanRefinementDW=t>>6&3,q.huffmanRefinementDH=t>>8&3,q.huffmanRefinementDX=t>>10&3,q.huffmanRefinementDY=t>>12&3,q.huffmanRefinementSizeSelector=!!(14&t)}if(q.refinement&&!q.refinementTemplate){for(e=[],f=0;2>f;f++)e.push({x:m(i,j),y:m(i,j+1)}),j+=2;q.refinementAt=e}q.numberOfSymbolInstances=o(i,j),j+=4,q.huffman&&c("JBIG2 error: huffman is not supported"),d=[q,h.referredTo,i,j,k];break;case 38:case 39:var u={};u.info=r(i,j),j+=C;var v=i[j++];if(u.mmr=!!(1&v),u.template=v>>1&3,u.prediction=!!(8&v),!u.mmr){for(g=0===u.template?4:1,e=[],f=0;g>f;f++)e.push({x:m(i,j),y:m(i,j+1)}),j+=2;u.at=e}d=[u,i,j,k];break;case 48:var w={width:o(i,j),height:o(i,j+4),resolutionX:o(i,j+8),resolutionY:o(i,j+12)};4294967295===w.height&&delete w.height;var x=i[j+16];n(i,j+17);w.lossless=!!(1&x),w.refinement=!!(2&x),w.defaultPixelValue=x>>2&1,w.combinationOperator=x>>3&3,w.requiresBuffer=!!(32&x),w.combinationOperatorOverride=!!(64&x),d=[w];break;case 49:break;case 50:break;case 51:break;case 62:break;default:c("JBIG2 error: segment type "+h.typeName+"("+h.type+") is not implemented")}var y="on"+h.typeName;y in b&&b[y].apply(b,d)}function t(a,b){for(var c=0,d=a.length;d>c;c++)s(a[c],b)}function u(a){for(var b=new v,c=0,d=a.length;d>c;c++){var e=a[c],f=q({},e.data,e.start,e.end);t(f,b)}return b.buffer}function v(){}function w(){}a.prototype={getContexts:function(a){return a in this?this[a]:this[a]=new Int8Array(65536)}},b.prototype={get decoder(){var a=new fd(this.data,this.start,this.end);return g(this,"decoder",a)},get contextCache(){var b=new a;return g(this,"contextCache",b)}};var x=["SymbolDictionary",null,null,null,"IntermediateTextRegion",null,"ImmediateTextRegion","ImmediateLosslessTextRegion",null,null,null,null,null,null,null,null,"patternDictionary",null,null,null,"IntermediateHalftoneRegion",null,"ImmediateHalftoneRegion","ImmediateLosslessHalftoneRegion",null,null,null,null,null,null,null,null,null,null,null,null,"IntermediateGenericRegion",null,"ImmediateGenericRegion","ImmediateLosslessGenericRegion","IntermediateGenericRefinementRegion",null,"ImmediateGenericRefinementRegion","ImmediateLosslessGenericRefinementRegion",null,null,null,null,"PageInformation","EndOfPage","EndOfStripe","EndOfFile","Profiles","Tables",null,null,null,null,null,null,null,null,"Extension"],y=[[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:2,y:-1},{x:-4,y:0},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}],[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:2,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:2,y:-1},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}],[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-2,y:0},{x:-1,y:0}],[{x:-3,y:-1},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-4,y:0},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}]],z=[{coding:[{x:0,y:-1},{x:1,y:-1},{x:-1,y:0}],reference:[{x:0,y:-1},{x:1,y:-1},{x:-1,y:0},{x:0,y:0},{x:1,y:0},{x:-1,y:1},{x:0,y:1},{x:1,y:1}]},{coding:[{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-1,y:0}],reference:[{x:0,y:-1},{x:-1,y:0},{x:0,y:0},{x:1,y:0},{x:0,y:1},{x:1,y:1}]}],A=[39717,1941,229,405],B=[32,8],C=17;return v.prototype={onPageInformation:function(a){this.currentPageInfo=a;var b=a.width+7>>3,c=new Uint8Array(b*a.height);if(a.defaultPixelValue)for(var d=0,e=c.length;e>d;d++)c[d]=255;this.buffer=c},drawBitmap:function(a,b){var d,e,f,g,h=this.currentPageInfo,i=a.width,j=a.height,k=h.width+7>>3,l=h.combinationOperatorOverride?a.combinationOperator:h.combinationOperator,m=this.buffer,n=128>>(7&a.x),o=a.y*k+(a.x>>3);switch(l){case 0:for(d=0;j>d;d++){for(f=n,g=o,e=0;i>e;e++)b[d][e]&&(m[g]|=f),f>>=1,f||(f=128,g++);o+=k}break;case 2:for(d=0;j>d;d++){for(f=n,g=o,e=0;i>e;e++)b[d][e]&&(m[g]^=f),f>>=1,f||(f=128,g++);o+=k}break;default:c("JBIG2 error: operator "+l+" is not supported")}},onImmediateGenericRegion:function(a,c,d,e){var f=a.info,g=new b(c,d,e),i=h(a.mmr,f.width,f.height,a.template,a.prediction,null,a.at,g);this.drawBitmap(f,i)},onImmediateLosslessGenericRegion:function(){this.onImmediateGenericRegion.apply(this,arguments)},onSymbolDictionary:function(a,d,e,f,g,h){var i;a.huffman&&c("JBIG2 error: huffman is not supported");var k=this.symbols;k||(this.symbols=k={});for(var l=[],m=0,n=e.length;n>m;m++)l=l.concat(k[e[m]]);var o=new b(f,g,h);k[d]=j(a.huffman,a.refinement,l,a.numberOfNewSymbols,a.numberOfExportedSymbols,i,a.template,a.at,a.refinementTemplate,a.refinementAt,o)},onImmediateTextRegion:function(a,c,d,e,f){for(var g,h=a.info,i=this.symbols,j=[],m=0,n=c.length;n>m;m++)j=j.concat(i[c[m]]);var o=l(j.length),p=new b(d,e,f),q=k(a.huffman,a.refinement,h.width,h.height,a.defaultPixelValue,a.numberOfSymbolInstances,a.stripSize,j,o,a.transposed,a.dsOffset,a.referenceCorner,a.combinationOperator,g,a.refinementTemplate,a.refinementAt,p);this.drawBitmap(h,q)},onImmediateLosslessTextRegion:function(){this.onImmediateTextRegion.apply(this,arguments)}},w.prototype={parseChunks:function(a){return u(a)}},w}(),jd=(PDFJS.bidi=function(){function a(a){return 0!==(1&a)}function b(a){return 0===(1&a)}function c(a,b,c){for(var d=b,e=a.length;e>d;++d)if(a[d]!==c)return d;return d}function d(a,b,c,d){for(var e=b;c>e;++e)a[e]=d}function e(a,b,c){for(var d=b,e=c-1;e>d;++d,--e){var f=a[d];a[d]=a[e],a[e]=f}}function f(a,b,c){return{str:a,dir:c?"ttb":b?"ltr":"rtl"}}function g(g,l,m){var n=!0,o=g.length;if(0===o||m)return f(g,n,m);j.length=o,k.length=o;var p,q,r=0;for(p=0;o>p;++p){j[p]=g.charAt(p);var s=g.charCodeAt(p),t="L";255>=s?t=h[s]:s>=1424&&1524>=s?t="R":s>=1536&&1791>=s?t=i[255&s]:s>=1792&&2220>=s&&(t="AL"),("R"===t||"AL"===t||"AN"===t)&&r++,k[p]=t}if(0===r)return n=!0,f(g,n);-1===l&&(.3>o/r?(n=!0,l=0):(n=!1,l=1));var u=[];for(p=0;o>p;++p)u[p]=l;var v=a(l)?"R":"L",w=v,x=w,y=w;for(p=0;o>p;++p)"NSM"===k[p]?k[p]=y:y=k[p];y=w;var z;for(p=0;o>p;++p)z=k[p],"EN"===z?k[p]="AL"===y?"AN":"EN":("R"===z||"L"===z||"AL"===z)&&(y=z);for(p=0;o>p;++p)z=k[p],"AL"===z&&(k[p]="R");for(p=1;o-1>p;++p)"ES"===k[p]&&"EN"===k[p-1]&&"EN"===k[p+1]&&(k[p]="EN"),"CS"!==k[p]||"EN"!==k[p-1]&&"AN"!==k[p-1]||k[p+1]!==k[p-1]||(k[p]=k[p-1]);for(p=0;o>p;++p)if("EN"===k[p]){var A;for(A=p-1;A>=0&&"ET"===k[A];--A)k[A]="EN";for(A=p+1;o>A&&"ET"===k[A];--A)k[A]="EN"}for(p=0;o>p;++p)z=k[p],("WS"===z||"ES"===z||"ET"===z||"CS"===z)&&(k[p]="ON");for(y=w,p=0;o>p;++p)z=k[p],"EN"===z?k[p]="L"===y?"L":"EN":("R"===z||"L"===z)&&(y=z);for(p=0;o>p;++p)if("ON"===k[p]){var B=c(k,p+1,"ON"),C=w;p>0&&(C=k[p-1]);var D=x;o>B+1&&(D=k[B+1]),"L"!==C&&(C="R"),"L"!==D&&(D="R"),C===D&&d(k,p,B,C),p=B-1}for(p=0;o>p;++p)"ON"===k[p]&&(k[p]=v);for(p=0;o>p;++p)z=k[p],b(u[p])?"R"===z?u[p]+=1:("AN"===z||"EN"===z)&&(u[p]+=2):("L"===z||"AN"===z||"EN"===z)&&(u[p]+=1);var E,F=-1,G=99;for(p=0,q=u.length;q>p;++p)E=u[p],E>F&&(F=E),G>E&&a(E)&&(G=E);for(E=F;E>=G;--E){var H=-1;for(p=0,q=u.length;q>p;++p)u[p]<E?H>=0&&(e(j,H,p),H=-1):0>H&&(H=p);H>=0&&e(j,H,u.length)}for(p=0,q=j.length;q>p;++p){var I=j[p];("<"===I||">"===I)&&(j[p]="")}return f(j.join(""),n)}var h=["BN","BN","BN","BN","BN","BN","BN","BN","BN","S","B","S","WS","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","B","B","B","S","WS","ON","ON","ET","ET","ET","ON","ON","ON","ON","ON","ON","CS","ON","CS","ON","EN","EN","EN","EN","EN","EN","EN","EN","EN","EN","ON","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","BN","BN","BN","BN","BN","BN","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","CS","ON","ET","ET","ET","ET","ON","ON","ON","ON","L","ON","ON","ON","ON","ON","ET","ET","EN","EN","ON","L","ON","ON","ON","EN","L","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L"],i=["AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","CS","AL","ON","ON","NSM","NSM","NSM","NSM","NSM","NSM","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","AL","AL","AL","AL","AL","AL","AL","AN","AN","AN","AN","AN","AN","AN","AN","AN","AN","ET","AN","AN","AL","AL","AL","NSM","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","ON","NSM","NSM","NSM","NSM","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL"],j=[],k=[];return g}(),function(a){function b(a){var b=3285377520;this.h1=a?4294967295&a:b,this.h2=a?4294967295&a:b}var c=4294901760,d=65535,e=!1;try{new Uint32Array(new Uint8Array(5).buffer,0,1)}catch(f){e=!0}return b.prototype={update:function(a){var b,f=e;if("string"==typeof a){var g=new Uint8Array(2*a.length),h=0;for(b=0;b<a.length;b++){var i=a.charCodeAt(b);255>=i?g[h++]=i:(g[h++]=i>>>8,g[h++]=255&i)}}else if(a instanceof Uint8Array)g=a,h=g.length;else{if(!("object"==typeof a&&"length"in a))throw new Error("Wrong data format in MurmurHash3_64_update. Input must be a string or array.");g=a,h=g.length,f=!0}var j=h>>2,k=h-4*j,l=f?new la(g,j):new Uint32Array(g.buffer,0,j),m=0,n=0,o=this.h1,p=this.h2,q=3432918353,r=461845907,s=q&d,t=r&d;for(b=0;j>b;b++)1&b?(m=l[b],m=m*q&c|m*s&d,m=m<<15|m>>>17,m=m*r&c|m*t&d,o^=m,o=o<<13|o>>>19,o=5*o+3864292196):(n=l[b],n=n*q&c|n*s&d,n=n<<15|n>>>17,n=n*r&c|n*t&d,p^=n,p=p<<13|p>>>19,p=5*p+3864292196);switch(m=0,k){case 3:m^=g[4*j+2]<<16;case 2:m^=g[4*j+1]<<8;case 1:m^=g[4*j],m=m*q&c|m*s&d,m=m<<15|m>>>17,m=m*r&c|m*t&d,1&j?o^=m:p^=m}return this.h1=o,this.h2=p,this},hexdigest:function(){var a=this.h1,b=this.h2;a^=b>>>1,a=3981806797*a&c|36045*a&d,b=4283543511*b&c|(2950163797*(b<<16|a>>>16)&c)>>>16,a^=b>>>1,a=444984403*a&c|60499*a&d,b=3301882366*b&c|(3120437893*(b<<16|a>>>16)&c)>>>16,a^=b>>>1;for(var e=0,f=[a,b],g="";e<f.length;e++){for(var h=(f[e]>>>0).toString(16);h.length<8;)h="0"+h;g+=h}return g}},b}())}.call("undefined"==typeof window?this:window),PDFJS.workerSrc||"undefined"==typeof document||(PDFJS.workerSrc=function(){"use strict";var a=document.body||document.getElementsByTagName("head")[0],b=a.lastChild.src;return b&&b.replace(/\.js$/i,".worker.js")}()),function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return u.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=b&&b.split("/"),o=s.map,p=o&&o["*"]||{};if(a&&"."===a.charAt(0))if(b){for(a=a.split("/"),g=a.length-1,s.nodeIdCompat&&w.test(a[g])&&(a[g]=a[g].replace(w,"")),a=n.slice(0,n.length-1).concat(a),k=0;k<a.length;k+=1)if(m=a[k],"."===m)a.splice(k,1),k-=1;else if(".."===m){if(1===k&&(".."===a[2]||".."===a[0]))break;k>0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}else 0===a.indexOf("./")&&(a=a.substring(2));if((n||p)&&o){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),n)for(l=n.length;l>0;l-=1)if(e=o[n.slice(0,l).join("/")],e&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&p&&p[d]&&(i=p[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){var d=v.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),n.apply(b,d.concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){q[a]=b}}function j(a){if(e(r,a)){var c=r[a];delete r[a],t[a]=!0,m.apply(b,c)}if(!e(q,a)&&!e(t,a))throw new Error("No "+a);return q[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return function(){return s&&s.config&&s.config[a]||{}}}var m,n,o,p,q={},r={},s={},t={},u=Object.prototype.hasOwnProperty,v=[].slice,w=/\.js$/;o=function(a,b){var c,d=k(a),e=d[0];return a=d[1],e&&(e=f(e,b),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(b)):f(a,b):(a=f(a,b),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},p={require:function(a){return g(a)},exports:function(a){var b=q[a];return"undefined"!=typeof b?b:q[a]={}},module:function(a){return{id:a,uri:"",exports:q[a],config:l(a)}}},m=function(a,c,d,f){var h,k,l,m,n,s,u=[],v=typeof d;if(f=f||a,"undefined"===v||"function"===v){for(c=!c.length&&d.length?["require","exports","module"]:c,n=0;n<c.length;n+=1)if(m=o(c[n],f),k=m.f,"require"===k)u[n]=p.require(a);else if("exports"===k)u[n]=p.exports(a),s=!0;else if("module"===k)h=u[n]=p.module(a);else if(e(q,k)||e(r,k)||e(t,k))u[n]=j(k);else{if(!m.p)throw new Error(a+" missing "+k);m.p.load(m.n,g(f,!0),i(k),{}),u[n]=q[k]}l=d?d.apply(q[a],u):void 0,a&&(h&&h.exports!==b&&h.exports!==q[a]?q[a]=h.exports:l===b&&s||(q[a]=l))}else a&&(q[a]=d)},a=c=n=function(a,c,d,e,f){if("string"==typeof a)return p[a]?p[a](c):j(o(a,c).f);if(!a.splice){if(s=a,s.deps&&n(s.deps,s.callback),!c)return;c.splice?(a=c,c=d,d=null):a=b}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?m(b,a,c,d):setTimeout(function(){m(b,a,c,d)},4),n},n.config=function(a){return n(a)},a._defined=q,d=function(a,b,c){if("string"!=typeof a)throw new Error("See almond README: incorrect module build, no module name");b.splice||(c=b,b=[]),e(q,a)||e(r,a)||(r[a]=[a,b,c])},d.amd={jQuery:!0}}(),b.requirejs=a,b.require=c,b.define=d}}(),b.define("almond",function(){}),b.define("jquery",[],function(){var b=a||$;return null==b&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),b}),b.define("select2/utils",["jquery"],function(a){function b(a){var b=a.prototype,c=[];for(var d in b){var e=b[d];"function"==typeof e&&"constructor"!==d&&c.push(d)}return c}var c={};c.Extend=function(a,b){function c(){this.constructor=a}var d={}.hasOwnProperty;for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},c.Decorate=function(a,c){function d(){var b=Array.prototype.unshift,d=c.prototype.constructor.length,e=a.prototype.constructor;d>0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;h<g.length;h++){var i=g[h];d.prototype[i]=a.prototype[i]}for(var j=(function(a){var b=function(){};a in d.prototype&&(b=d.prototype[a]);var e=c.prototype[a];return function(){var a=Array.prototype.unshift;return a.call(arguments,b),e.apply(this,arguments)}}),k=0;k<f.length;k++){var l=f[k];d.prototype[l]=j(l)}return d};var d=function(){this.listeners={}};return d.prototype.on=function(a,b){this.listeners=this.listeners||{},a in this.listeners?this.listeners[a].push(b):this.listeners[a]=[b]},d.prototype.trigger=function(a){var b=Array.prototype.slice;this.listeners=this.listeners||{},a in this.listeners&&this.invoke(this.listeners[a],b.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},d.prototype.invoke=function(a,b){for(var c=0,d=a.length;d>c;c++)a[c].apply(this,b)},c.Observable=d,c.generateChars=function(a){for(var b="",c=0;a>c;c++){var d=Math.floor(36*Math.random());b+=d.toString(36)}return b},c.bind=function(a,b){return function(){a.apply(b,arguments)}},c._convertData=function(a){for(var b in a){var c=b.split("-"),d=a;if(1!==c.length){for(var e=0;e<c.length;e++){var f=c[e];f=f.substring(0,1).toLowerCase()+f.substring(1),f in d||(d[f]={}),e==c.length-1&&(d[f]=a[b]),d=d[f]}delete a[b]}}return a},c.hasScroll=function(b,c){var d=a(c),e=c.style.overflowX,f=c.style.overflowY;return e!==f||"hidden"!==f&&"visible"!==f?"scroll"===e||"scroll"===f?!0:d.innerHeight()<c.scrollHeight||d.innerWidth()<c.scrollWidth:!1},c.escapeMarkup=function(a){var b={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<ul class="select2-results__options" role="tree"></ul>');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>'),e=this.options.get("translations").get(b.message);d.append(c(e(b.args))),d[0].className+=" select2-results__message",this.$results.append(d)},c.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c<a.results.length;c++){var d=a.results[c],e=this.option(d);b.push(e)}this.$results.append(b)},c.prototype.position=function(a,b){var c=b.find(".select2-results");c.append(a)},c.prototype.sort=function(a){var b=this.options.get("sorter");return b(a)},c.prototype.setClasses=function(){var b=this;this.data.current(function(c){var d=a.map(c,function(a){return a.id.toString()}),e=b.$results.find(".select2-results__option[aria-selected]");e.each(function(){var b=a(this),c=a.data(this,"data"),e=""+c.id;null!=c.element&&c.element.selected||null==c.element&&a.inArray(e,d)>-1?b.attr("aria-selected","true"):b.attr("aria-selected","false")});var f=e.filter("[aria-selected=true]");f.length>0?f.first().trigger("mouseenter"):e.first().trigger("mouseenter")})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(b){var c=document.createElement("li");c.className="select2-results__option";var d={role:"treeitem","aria-selected":"false"};b.disabled&&(delete d["aria-selected"],d["aria-disabled"]="true"),null==b.id&&delete d["aria-selected"],null!=b._resultId&&(c.id=b._resultId),b.title&&(c.title=b.title),b.children&&(d.role="group",d["aria-label"]=b.text,delete d["aria-selected"]);for(var e in d){var f=d[e];c.setAttribute(e,f)}if(b.children){var g=a(c),h=document.createElement("strong");h.className="select2-results__group";a(h);this.template(b,h);for(var i=[],j=0;j<b.children.length;j++){var k=b.children[j],l=this.option(k);i.push(l)}var m=a("<ul></ul>",{"class":"select2-results__options select2-results__options--nested"});m.append(i),g.append(h),g.append(m)}else this.template(b,c);return a.data(c,"data",b),c},c.prototype.bind=function(b,c){var d=this,e=b.id+"-results";this.$results.attr("id",e),b.on("results:all",function(a){d.clear(),d.append(a.data),b.isOpen()&&d.setClasses()}),b.on("results:append",function(a){d.append(a.data),b.isOpen()&&d.setClasses()}),b.on("query",function(a){d.hideMessages(),d.showLoading(a)}),b.on("select",function(){b.isOpen()&&d.setClasses()}),b.on("unselect",function(){b.isOpen()&&d.setClasses()}),b.on("open",function(){d.$results.attr("aria-expanded","true"),d.$results.attr("aria-hidden","false"),d.setClasses(),d.ensureHighlightVisible()}),b.on("close",function(){d.$results.attr("aria-expanded","false"),d.$results.attr("aria-hidden","true"),d.$results.removeAttr("aria-activedescendant")}),b.on("results:toggle",function(){var a=d.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),b.on("results:select",function(){var a=d.getHighlightedResults();if(0!==a.length){var b=a.data("data");"true"==a.attr("aria-selected")?d.trigger("close",{}):d.trigger("select",{data:b})}}),b.on("results:previous",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a);if(0!==c){var e=c-1;0===a.length&&(e=0);var f=b.eq(e);
+f.trigger("mouseenter");var g=d.$results.offset().top,h=f.offset().top,i=d.$results.scrollTop()+(h-g);0===e?d.$results.scrollTop(0):0>h-g&&d.$results.scrollTop(i)}}),b.on("results:next",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a),e=c+1;if(!(e>=b.length)){var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top+d.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=d.$results.scrollTop()+h-g;0===e?d.$results.scrollTop(0):h>g&&d.$results.scrollTop(i)}}),b.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted")}),b.on("results:message",function(a){d.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=d.$results.scrollTop(),c=d.$results.get(0).scrollHeight-d.$results.scrollTop()+a.deltaY,e=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&c<=d.$results.height();e?(d.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(d.$results.scrollTop(d.$results.get(0).scrollHeight-d.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(b){var c=a(this),e=c.data("data");return"true"===c.attr("aria-selected")?void(d.options.get("multiple")?d.trigger("unselect",{originalEvent:b,data:e}):d.trigger("close",{})):void d.trigger("select",{originalEvent:b,data:e})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(b){var c=a(this).data("data");d.getHighlightedResults().removeClass("select2-results__option--highlighted"),d.trigger("results:focus",{data:c,element:a(this)})})},c.prototype.getHighlightedResults=function(){var a=this.$results.find(".select2-results__option--highlighted");return a},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[aria-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),2>=c?this.$results.scrollTop(0):(g>this.$results.outerHeight()||0>g)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b,c);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){var a={BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46};return a}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var b=a('<span class="select2-selection" role="combobox"  aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=this.$element.data("old-tabindex")?this._tabindex=this.$element.data("old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),b.attr("title",this.$element.attr("title")),b.attr("tabindex",this._tabindex),this.$selection=b,b},d.prototype.bind=function(a,b){var d=this,e=(a.id+"-container",a.id+"-results");this.container=a,this.$selection.on("focus",function(a){d.trigger("focus",a)}),this.$selection.on("blur",function(a){d._handleBlur(a)}),this.$selection.on("keydown",function(a){d.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){d.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){d.update(a.data)}),a.on("open",function(){d.$selection.attr("aria-expanded","true"),d.$selection.attr("aria-owns",e),d._attachCloseHandler(a)}),a.on("close",function(){d.$selection.attr("aria-expanded","false"),d.$selection.removeAttr("aria-activedescendant"),d.$selection.removeAttr("aria-owns"),d.$selection.focus(),d._detachCloseHandler(a)}),a.on("enable",function(){d.$selection.attr("tabindex",d._tabindex)}),a.on("disable",function(){d.$selection.attr("tabindex","-1")})},d.prototype._handleBlur=function(b){var c=this;window.setTimeout(function(){document.activeElement==c.$selection[0]||a.contains(c.$selection[0],document.activeElement)||c.trigger("blur",b)},1)},d.prototype._attachCloseHandler=function(b){a(document.body).on("mousedown.select2."+b.id,function(b){var c=a(b.target),d=c.closest(".select2"),e=a(".select2.select2-container--open");e.each(function(){var b=a(this);if(this!=d[0]){var c=b.data("element");c.select2("close")}})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){var c=b.find(".selection");c.append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(a){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c,d){function e(){e.__super__.constructor.apply(this,arguments)}return c.Extend(e,b),e.prototype.render=function(){var a=e.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),a},e.prototype.bind=function(a,b){var c=this;e.__super__.bind.apply(this,arguments);var d=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",d),this.$selection.attr("aria-labelledby",d),this.$selection.on("mousedown",function(a){1===a.which&&c.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(a){}),this.$selection.on("blur",function(a){}),a.on("selection:update",function(a){c.update(a.data)})},e.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},e.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},e.prototype.selectionContainer=function(){return a("<span></span>")},e.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.$selection.find(".select2-selection__rendered"),d=this.display(b,c);c.empty().append(d),c.prop("title",b.title||b.text)},e}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(a,b){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('<ul class="select2-selection__rendered"></ul>'),a},d.prototype.bind=function(b,c){var e=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){e.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(b){if(!e.options.get("disabled")){var c=a(this),d=c.parent(),f=d.data("data");e.trigger("unselect",{originalEvent:b,data:f})}})},d.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},d.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},d.prototype.selectionContainer=function(){var b=a('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;</span></li>');return b},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d<a.length;d++){var e=a[d],f=this.selectionContainer(),g=this.display(e,f);f.append(g),f.prop("title",e.title||e.text),f.data("data",e),b.push(f)}var h=this.$selection.find(".select2-selection__rendered");c.appendMany(h,b)}},d}),b.define("select2/selection/placeholder",["../utils"],function(a){function b(a,b,c){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c)}return b.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},b.prototype.createPlaceholder=function(a,b){var c=this.selectionContainer();return c.html(this.display(b)),c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),c},b.prototype.update=function(a,b){var c=1==b.length&&b[0].id!=this.placeholder.id,d=b.length>1;if(d||c)return a.call(this,b);this.clear();var e=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(e)},b}),b.define("select2/selection/allowClear",["jquery","../keys"],function(a,b){function c(){}return c.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},c.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var c=this.$selection.find(".select2-selection__clear");if(0!==c.length){b.stopPropagation();for(var d=c.data("data"),e=0;e<d.length;e++){var f={data:d[e]};if(this.trigger("unselect",f),f.prevented)return}this.$element.val(this.placeholder.id).trigger("change"),this.trigger("toggle",{})}}},c.prototype._handleKeyboardClear=function(a,c,d){d.isOpen()||(c.which==b.DELETE||c.which==b.BACKSPACE)&&this._handleClear(c)},c.prototype.update=function(b,c){if(b.call(this,c),!(this.$selection.find(".select2-selection__placeholder").length>0||0===c.length)){var d=a('<span class="select2-selection__clear">&times;</span>');d.data("data",c),this.$selection.find(".select2-selection__rendered").prepend(d)}},c}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,b,d){var e=this;a.call(this,b,d),b.on("open",function(){e.$search.trigger("focus")}),b.on("close",function(){e.$search.val(""),e.$search.removeAttr("aria-activedescendant"),e.$search.trigger("focus")}),b.on("enable",function(){e.$search.prop("disabled",!1),e._transferTabIndex()}),b.on("disable",function(){e.$search.prop("disabled",!0)}),b.on("focus",function(a){e.$search.trigger("focus")}),b.on("results:focus",function(a){e.$search.attr("aria-activedescendant",a.id)}),this.$selection.on("focusin",".select2-search--inline",function(a){e.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){e._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){a.stopPropagation(),e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented();var b=a.which;if(b===c.BACKSPACE&&""===e.$search.val()){var d=e.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var f=d.data("data");e.searchRemoveChoice(f),a.preventDefault()}}});var f=document.documentMode,g=f&&11>=f;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){return g?void e.$selection.off("input.search input.searchcheck"):void e.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(g&&"input"===a.type)return void e.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&e.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c&&this.$search.focus()},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{var b=this.$search.val().length+1;a=.75*b+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting"],g=["opening","closing","selecting","unselecting"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){var a={"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"};return a}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),d+=null!=c.id?"-"+c.id.toString():"-"+a.generateChars(4)},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f<a.length;f++){var g=a[f].id;-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")});else{var d=a.id;this.$element.val(d),this.$element.trigger("change")}},d.prototype.unselect=function(a){var b=this;if(this.$element.prop("multiple"))return a.selected=!1,c(a.element).is("option")?(a.element.selected=!1,void this.$element.trigger("change")):void this.current(function(d){for(var e=[],f=0;f<d.length;f++){var g=d[f].id;g!==a.id&&-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")})},d.prototype.bind=function(a,b){var c=this;this.container=a,a.on("select",function(a){c.select(a.data)}),a.on("unselect",function(a){c.unselect(a.data)})},d.prototype.destroy=function(){this.$element.find("*").each(function(){c.removeData(this,"data")})},d.prototype.query=function(a,b){var d=[],e=this,f=this.$element.children();f.each(function(){var b=c(this);if(b.is("option")||b.is("optgroup")){var f=e.item(b),g=e.matches(a,f);null!==g&&d.push(g)}}),b({results:d})},d.prototype.addOptions=function(a){b.appendMany(this.$element,a)},d.prototype.option=function(a){var b;a.children?(b=document.createElement("optgroup"),b.label=a.text):(b=document.createElement("option"),void 0!==b.textContent?b.textContent=a.text:b.innerText=a.text),a.id&&(b.value=a.id),a.disabled&&(b.disabled=!0),a.selected&&(b.selected=!0),a.title&&(b.title=a.title);var d=c(b),e=this._normalizeItem(a);return e.element=b,c.data(b,"data",e),d},d.prototype.item=function(a){var b={};if(b=c.data(a[0],"data"),null!=b)return b;if(a.is("option"))b={id:a.val(),text:a.text(),disabled:a.prop("disabled"),selected:a.prop("selected"),title:a.prop("title")};else if(a.is("optgroup")){b={text:a.prop("label"),children:[],title:a.prop("title")};for(var d=a.children("option"),e=[],f=0;f<d.length;f++){var g=c(d[f]),h=this.item(g);e.push(h)}b.children=e}return b=this._normalizeItem(b),b.element=a[0],c.data(a[0],"data",b),b},d.prototype._normalizeItem=function(a){c.isPlainObject(a)||(a={id:a,text:a}),a=c.extend({},{text:""},a);var b={selected:!1,disabled:!1};return null!=a.id&&(a.id=a.id.toString()),null!=a.text&&(a.text=a.text.toString()),null==a._resultId&&a.id&&null!=this.container&&(a._resultId=this.generateResultId(this.container,a)),c.extend({},b,a)},d.prototype.matches=function(a,b){var c=this.options.get("matcher");return c(a,b)},d}),b.define("select2/data/array",["./select","../utils","jquery"],function(a,b,c){function d(a,b){var c=b.get("data")||[];d.__super__.constructor.call(this,a,b),this.addOptions(this.convertToOptions(c))}return b.Extend(d,a),d.prototype.select=function(a){var b=this.$element.find("option").filter(function(b,c){return c.value==a.id.toString()});0===b.length&&(b=this.option(a),this.addOptions(b)),d.__super__.select.call(this,a)},d.prototype.convertToOptions=function(a){function d(a){return function(){return c(this).val()==a.id}}for(var e=this,f=this.$element.find("option"),g=f.map(function(){return e.item(c(this)).id}).get(),h=[],i=0;i<a.length;i++){var j=this._normalizeItem(a[i]);if(c.inArray(j.id,g)>=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},l,j),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&""!==a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");if(void 0!==f&&(this.createTag=f),b.call(this,c,d),a.isArray(e))for(var g=0;g<e.length;g++){var h=e[g],i=this._normalizeItem(h),j=this.option(i);this.$element.append(j)}}return b.prototype.query=function(a,b,c){function d(a,f){for(var g=a.results,h=0;h<g.length;h++){var i=g[h],j=null!=i.children&&!d({results:i.children},!0),k=i.text===b.term;if(k||j)return f?!1:(a.data=g,void c(a))}if(f)return!0;var l=e.createTag(b);if(null!=l){var m=e.option(l);m.attr("data-select2-tag",!0),e.addOptions([m]),e.insertTag(g,l)}a.results=g,c(a)}var e=this;return this._removeOldTags(),null==b.term||null!=b.page?void a.call(this,b,c):void a.call(this,b,d)},b.prototype.createTag=function(b,c){var d=a.trim(c.term);return""===d?null:{id:d,text:d}},b.prototype.insertTag=function(a,b,c){b.unshift(c)},b.prototype._removeOldTags=function(b){var c=(this._lastTag,this.$element.find("option[data-select2-tag]"));c.each(function(){this.selected||a(this).remove()})},b}),b.define("select2/data/tokenizer",["jquery"],function(a){function b(a,b,c){var d=c.get("tokenizer");void 0!==d&&(this.tokenizer=d),a.call(this,b,c)}return b.prototype.bind=function(a,b,c){a.call(this,b,c),this.$search=b.dropdown.$search||b.selection.$search||c.find(".select2-search__field")},b.prototype.query=function(a,b,c){function d(a){e.trigger("select",{data:a})}var e=this;b.term=b.term||"";var f=this.tokenizer(b,this.options,d);f.term!==b.term&&(this.$search.length&&(this.$search.val(f.term),this.$search.focus()),b.term=f.term),a.call(this,b,c)},b.prototype.tokenizer=function(b,c,d,e){for(var f=d.get("tokenSeparators")||[],g=c.term,h=0,i=this.createTag||function(a){return{id:a.term,text:a.term}};h<g.length;){var j=g[h];if(-1!==a.inArray(j,f)){var k=g.substr(0,h),l=a.extend({},c,{term:k}),m=i(l);null!=m?(e(m),g=g.substr(h+1)||"",h=0):h++}else h++}return{term:g}},b}),b.define("select2/data/minimumInputLength",[],function(){function a(a,b,c){this.minimumInputLength=c.get("minimumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",b.term.length<this.minimumInputLength?void this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumInputLength",[],function(){function a(a,b,c){this.maximumInputLength=c.get("maximumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",this.maximumInputLength>0&&b.term.length>this.maximumInputLength?void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;return d.maximumSelectionLength>0&&f>=d.maximumSelectionLength?void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}}):void a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<span class="select2-dropdown"><span class="select2-results"></span></span>');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" /></span>');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val("")}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){var b=e.showSearch(a);b?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){
+this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){var c=e.$results.offset().top+e.$results.outerHeight(!1),d=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1);c+50>=d&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a("<span></span>"),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){a(this).data("select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(b){var c=a(this).data("select2-scroll-position");a(this).scrollTop(c.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id,h=this.$container.parents().filter(b.hasScroll);h.off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=(this.$container.position(),this.$container.offset());f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.top<f.top-h.height,k=i.bottom>f.bottom+h.height,l={left:f.left,top:g.bottom};if("static"!==this.$dropdownParent[0].style.position){var m=this.$dropdownParent.offset();l.top-=m.top,l.left-=m.left}c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d<b.length;d++){var e=b[d];e.children?c+=a(e.children):c++}return c}function b(a,b,c,d){this.minimumResultsForSearch=c.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),a.call(this,b,c,d)}return b.prototype.showSearch=function(b,c){return a(c.data.results)<this.minimumResultsForSearch?!1:b.call(this,c)},b}),b.define("select2/dropdown/selectOnClose",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("close",function(){d._handleSelectOnClose()})},a.prototype._handleSelectOnClose=function(){var a=this.getHighlightedResults();if(!(a.length<1)){var b=a.data("data");null!=b.element&&b.element.selected||null==b.element&&b.selected||this.trigger("select",{data:b})}},a}),b.define("select2/dropdown/closeOnSelect",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("select",function(a){d._selectTriggered(a)}),b.on("unselect",function(a){d._selectTriggered(a)})},a.prototype._selectTriggered=function(a,b){var c=b.originalEvent;c&&c.ctrlKey||this.trigger("close",{})},a}),b.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(a){var b=a.input.length-a.maximum,c="Please delete "+b+" character";return 1!=b&&(c+="s"),c},inputTooShort:function(a){var b=a.minimum-a.input.length,c="Please enter "+b+" or more characters";return c},loadingMore:function(){return"Loading more results…"},maximumSelected:function(a){var b="You can only select "+a.maximum+" item";return 1!=a.maximum&&(b+="s"),b},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),b.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(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){function D(){this.reset()}D.prototype.apply=function(l){if(l=a.extend({},this.defaults,l),null==l.dataAdapter){if(null!=l.ajax?l.dataAdapter=o:null!=l.data?l.dataAdapter=n:l.dataAdapter=m,l.minimumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),(null!=l.tokenSeparators||null!=l.tokenizer)&&(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L<K.length;L++){var M=K[L],N={};try{N=k.loadPath(M)}catch(O){try{M=this.defaults.amdLanguageBase+M,N=k.loadPath(M)}catch(P){l.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+M+'" could not be automatically loaded. A fallback will be used instead.');continue}}J.extend(N)}l.translations=J}else{var Q=k.loadPath(this.defaults.amdLanguageBase+"en"),R=new k(l.language);R.extend(Q),l.translations=R}return l},D.prototype.reset=function(){function b(a){function b(a){return l[a]||a}return a.replace(/[^\u0000-\u007E]/g,b)}function c(d,e){if(""===a.trim(d.term))return e;if(e.children&&e.children.length>0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){var h=e.children[g],i=c(d,h);null==i&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var j=b(e.text).toUpperCase(),k=b(d.term).toUpperCase();return j.indexOf(k)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(this.defaults,f)};var E=new D;return E}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){var c=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),a.data("select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),a.data("data",a.data("select2Tags")),a.data("tags",!0)),a.data("ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",a.data("ajaxUrl")),a.data("ajax--url",a.data("ajaxUrl")));var e={};e=b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset?b.extend(!0,{},a[0].dataset,a.data()):a.data();var f=b.extend(!0,{},e);f=d._convertData(f);for(var g in f)b.inArray(g,c)>-1||(b.isPlainObject(this.options[g])?b.extend(this.options[g],f[g]):this.options[g]=f[g]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,c){null!=a.data("select2")&&a.data("select2").destroy(),this.$element=a,this.id=this._generateId(a),c=c||{},this.options=new b(c,a),e.__super__.constructor.call(this);var d=a.attr("tabindex")||0;a.data("old-tabindex",d),a.attr("tabindex","-1");var f=this.options.get("dataAdapter");this.dataAdapter=new f(a,this.options);var g=this.render();this._placeContainer(g);var h=this.options.get("selectionAdapter");this.selection=new h(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,g);var i=this.options.get("dropdownAdapter");this.dropdown=new i(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,g);var j=this.options.get("resultsAdapter");this.results=new j(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var k=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){k.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),a.data("select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return 0>=e?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;i>h;h+=1){var j=g[h].replace(/\s/g,""),k=j.match(c);if(null!==k&&k.length>=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this._sync=c.bind(this._syncAttributes,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._sync);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._sync)}),this._observer.observe(this.$element[0],{attributes:!0,subtree:!1})):this.$element[0].addEventListener&&this.$element[0].addEventListener("DOMAttrModified",b._sync,!1)},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open",{}),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ESC||c===d.TAB||c===d.UP&&b.altKey?(a.close(),b.preventDefault()):c===d.ENTER?(a.trigger("results:select",{}),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle",{}),b.preventDefault()):c===d.UP?(a.trigger("results:previous",{}),b.preventDefault()):c===d.DOWN&&(a.trigger("results:next",{}),b.preventDefault()):(c===d.ENTER||c===d.SPACE||c===d.DOWN&&b.altKey)&&(a.open(),b.preventDefault())})},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),(null==a||0===a.length)&&(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._sync),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&this.$element[0].removeEventListener("DOMAttrModified",this._sync,!1),this._sync=null,this.$element.off(".select2"),this.$element.attr("tabindex",this.$element.data("old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},e.prototype.render=function(){var b=a('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),b.data("element",this.$element),b},e}),b.define("jquery-mousewheel",["jquery"],function(a){return a}),b.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults"],function(a,b,c,d){if(null==a.fn.select2){var e=["open","close","destroy"];a.fn.select2=function(b){if(b=b||{},"object"==typeof b)return this.each(function(){var d=a.extend(!0,{},b);new c(a(this),d)}),this;if("string"==typeof b){var d;return this.each(function(){var c=a(this).data("select2");null==c&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2.");var e=Array.prototype.slice.call(arguments,1);d=c[b].apply(c,e)}),a.inArray(b,e)>-1?this:d}throw new Error("Invalid arguments for Select2: "+b)}}return null==a.fn.select2.defaults&&(a.fn.select2.defaults=d),c}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,c}),angular.module("sprintf",[]).filter("sprintf",function(){return function(){return sprintf.apply(null,arguments)}}).filter("fmt",["$filter",function(a){return a("sprintf")}]).filter("vsprintf",function(){return function(a,b){return vsprintf(a,b)}}).filter("vfmt",["$filter",function(a){return a("vsprintf")}]),function(a,b){"function"==typeof define&&define.amd?define(a):"undefined"!=typeof module&&"object"==typeof exports?module.exports=a():b.rangy=a()}(function(){function a(a,b){var c=typeof a[b];return c==u||!(c!=t||!a[b])||"unknown"==c}function b(a,b){return!(typeof a[b]!=t||!a[b])}function c(a,b){return typeof a[b]!=v}function d(a){return function(b,c){for(var d=c.length;d--;)if(!a(b,c[d]))return!1;return!0}}function e(a){return a&&A(a,z)&&C(a,y)}function f(a){return b(a,"body")?a.body:a.getElementsByTagName("body")[0]}function g(b){typeof console!=v&&a(console,"log")&&console.log(b)}function h(a,b){F&&b?alert(a):g(a)}function i(a){H.initialized=!0,H.supported=!1,h("Rangy is not supported in this environment. Reason: "+a,H.config.alertOnFail)}function j(a){h("Rangy warning: "+a,H.config.alertOnWarn)}function k(a){return a.message||a.description||String(a)}function l(){if(F&&!H.initialized){var b,c=!1,d=!1;a(document,"createRange")&&(b=document.createRange(),A(b,x)&&C(b,w)&&(c=!0));var h=f(document);if(!h||"body"!=h.nodeName.toLowerCase())return void i("No body element found");if(h&&a(h,"createTextRange")&&(b=h.createTextRange(),e(b)&&(d=!0)),!c&&!d)return void i("Neither Range nor TextRange are available");H.initialized=!0,H.features={implementsDomRange:c,implementsTextRange:d};var j,l;for(var m in E)(j=E[m])instanceof p&&j.init(j,H);for(var n=0,o=K.length;o>n;++n)try{K[n](H)}catch(q){l="Rangy init listener threw an exception. Continuing. Detail: "+k(q),g(l)}}}function m(a,b,c){c&&(a+=" in module "+c.name),H.warn("DEPRECATED: "+a+" is deprecated. Please use "+b+" instead.")}function n(a,b,c,d){a[b]=function(){return m(b,c,d),a[c].apply(a,G.toArray(arguments))}}function o(a){a=a||window,l();for(var b=0,c=L.length;c>b;++b)L[b](a)}function p(a,b,c){this.name=a,this.dependencies=b,this.initialized=!1,this.supported=!1,this.initializer=c}function q(a,b,c){var d=new p(a,b,function(b){if(!b.initialized){b.initialized=!0;try{c(H,b),b.supported=!0}catch(d){var e="Module '"+a+"' failed to load: "+k(d);g(e),d.stack&&g(d.stack)}}});return E[a]=d,d}function r(){}function s(){}var t="object",u="function",v="undefined",w=["startContainer","startOffset","endContainer","endOffset","collapsed","commonAncestorContainer"],x=["setStart","setStartBefore","setStartAfter","setEnd","setEndBefore","setEndAfter","collapse","selectNode","selectNodeContents","compareBoundaryPoints","deleteContents","extractContents","cloneContents","insertNode","surroundContents","cloneRange","toString","detach"],y=["boundingHeight","boundingLeft","boundingTop","boundingWidth","htmlText","text"],z=["collapse","compareEndPoints","duplicate","moveToElementText","parentElement","select","setEndPoint","getBoundingClientRect"],A=d(a),B=d(b),C=d(c),D=[].forEach?function(a,b){a.forEach(b)}:function(a,b){for(var c=0,d=a.length;d>c;++c)b(a[c],c)},E={},F=typeof window!=v&&typeof document!=v,G={isHostMethod:a,isHostObject:b,isHostProperty:c,areHostMethods:A,areHostObjects:B,areHostProperties:C,isTextRange:e,getBody:f,forEach:D},H={version:"1.3.0",initialized:!1,isBrowser:F,supported:!0,util:G,features:{},modules:E,config:{alertOnFail:!1,alertOnWarn:!1,preferTextRange:!1,autoInitialize:typeof rangyAutoInitialize==v?!0:rangyAutoInitialize}};H.fail=i,H.warn=j;var I;({}).hasOwnProperty?(G.extend=I=function(a,b,c){var d,e;for(var f in b)b.hasOwnProperty(f)&&(d=a[f],e=b[f],c&&null!==d&&"object"==typeof d&&null!==e&&"object"==typeof e&&I(d,e,!0),a[f]=e);return b.hasOwnProperty("toString")&&(a.toString=b.toString),a},G.createOptions=function(a,b){var c={};return I(c,b),a&&I(c,a),c}):i("hasOwnProperty not supported"),F||i("Rangy can only run in a browser"),function(){var a;if(F){var b=document.createElement("div");b.appendChild(document.createElement("span"));var c=[].slice;try{1==c.call(b.childNodes,0)[0].nodeType&&(a=function(a){return c.call(a,0)})}catch(d){}}a||(a=function(a){for(var b=[],c=0,d=a.length;d>c;++c)b[c]=a[c];return b}),G.toArray=a}();var J;F&&(a(document,"addEventListener")?J=function(a,b,c){a.addEventListener(b,c,!1)}:a(document,"attachEvent")?J=function(a,b,c){a.attachEvent("on"+b,c)}:i("Document does not have required addEventListener or attachEvent method"),G.addListener=J);var K=[];G.deprecationNotice=m,G.createAliasForDeprecatedMethod=n,H.init=l,H.addInitListener=function(a){H.initialized?a(H):K.push(a)};var L=[];H.addShimListener=function(a){L.push(a)},F&&(H.shim=H.createMissingNativeApi=o,n(H,"createMissingNativeApi","shim")),p.prototype={init:function(){for(var a,b,c=this.dependencies||[],d=0,e=c.length;e>d;++d){if(b=c[d],a=E[b],!(a&&a instanceof p))throw new Error("required module '"+b+"' not found");if(a.init(),!a.supported)throw new Error("required module '"+b+"' not supported")}this.initializer(this)},fail:function(a){throw this.initialized=!0,this.supported=!1,new Error(a)},warn:function(a){H.warn("Module "+this.name+": "+a)},deprecationNotice:function(a,b){H.warn("DEPRECATED: "+a+" in module "+this.name+" is deprecated. Please use "+b+" instead")},createError:function(a){return new Error("Error in Rangy "+this.name+" module: "+a)}},H.createModule=function(a){var b,c;2==arguments.length?(b=arguments[1],c=[]):(b=arguments[2],c=arguments[1]);var d=q(a,c,b);H.initialized&&H.supported&&d.init()},H.createCoreModule=function(a,b,c){q(a,b,c)},H.RangePrototype=r,H.rangePrototype=new r,H.selectionPrototype=new s,H.createCoreModule("DomUtil",[],function(a,b){function c(a){var b;return typeof a.namespaceURI==F||null===(b=a.namespaceURI)||"http://www.w3.org/1999/xhtml"==b}function d(a){var b=a.parentNode;return 1==b.nodeType?b:null}function e(a){for(var b=0;a=a.previousSibling;)++b;return b}function f(a){switch(a.nodeType){case 7:case 10:return 0;case 3:case 8:return a.length;default:return a.childNodes.length}}function g(a,b){var c,d=[];for(c=a;c;c=c.parentNode)d.push(c);for(c=b;c;c=c.parentNode)if(K(d,c))return c;return null}function h(a,b,c){for(var d=c?b:b.parentNode;d;){if(d===a)return!0;d=d.parentNode}return!1}function i(a,b){return h(a,b,!0)}function j(a,b,c){for(var d,e=c?a:a.parentNode;e;){if(d=e.parentNode,d===b)return e;e=d}return null}function k(a){var b=a.nodeType;return 3==b||4==b||8==b}function l(a){if(!a)return!1;var b=a.nodeType;return 3==b||8==b}function m(a,b){var c=b.nextSibling,d=b.parentNode;return c?d.insertBefore(a,c):d.appendChild(a),a}function n(a,b,c){var d=a.cloneNode(!1);if(d.deleteData(0,b),a.deleteData(b,a.length-b),m(d,a),c)for(var f,g=0;f=c[g++];)f.node==a&&f.offset>b?(f.node=d,f.offset-=b):f.node==a.parentNode&&f.offset>e(a)&&++f.offset;return d}function o(a){if(9==a.nodeType)return a;if(typeof a.ownerDocument!=F)return a.ownerDocument;if(typeof a.document!=F)return a.document;if(a.parentNode)return o(a.parentNode);throw b.createError("getDocument: no document found for node")}function p(a){var c=o(a);if(typeof c.defaultView!=F)return c.defaultView;if(typeof c.parentWindow!=F)return c.parentWindow;throw b.createError("Cannot get a window object for node")}function q(a){if(typeof a.contentDocument!=F)return a.contentDocument;if(typeof a.contentWindow!=F)return a.contentWindow.document;throw b.createError("getIframeDocument: No Document object found for iframe element")}function r(a){if(typeof a.contentWindow!=F)return a.contentWindow;if(typeof a.contentDocument!=F)return a.contentDocument.defaultView;throw b.createError("getIframeWindow: No Window object found for iframe element")}function s(a){return a&&G.isHostMethod(a,"setTimeout")&&G.isHostObject(a,"document")}function t(a,b,c){var d;if(a?G.isHostProperty(a,"nodeType")?d=1==a.nodeType&&"iframe"==a.tagName.toLowerCase()?q(a):o(a):s(a)&&(d=a.document):d=document,!d)throw b.createError(c+"(): Parameter must be a Window object or DOM node");return d}function u(a){for(var b;b=a.parentNode;)a=b;return a}function v(a,c,d,f){var h,i,k,l,m;if(a==d)return c===f?0:f>c?-1:1;if(h=j(d,a,!0))return c<=e(h)?-1:1;if(h=j(a,d,!0))return e(h)<f?-1:1;if(i=g(a,d),!i)throw new Error("comparePoints error: nodes have no common ancestor");if(k=a===i?i:j(a,i,!0),l=d===i?i:j(d,i,!0),k===l)throw b.createError("comparePoints got to case 4 and childA and childB are the same!");for(m=i.firstChild;m;){if(m===k)return-1;if(m===l)return 1;m=m.nextSibling}}function w(a){var b;try{return b=a.parentNode,!1}catch(c){return!0}}function x(a){if(!a)return"[No node]";if(L&&w(a))return"[Broken node]";if(k(a))return'"'+a.data+'"';if(1==a.nodeType){var b=a.id?' id="'+a.id+'"':"";return"<"+a.nodeName+b+">[index:"+e(a)+",length:"+a.childNodes.length+"]["+(a.innerHTML||"[innerHTML not supported]").slice(0,25)+"]"}return a.nodeName}function y(a){for(var b,c=o(a).createDocumentFragment();b=a.firstChild;)c.appendChild(b);return c}function z(a,b,c){var d=H(a),e=a.createElement("div");e.contentEditable=""+!!c,b&&(e.innerHTML=b);var f=d.firstChild;return f?d.insertBefore(e,f):d.appendChild(e),e}function A(a){return a.parentNode.removeChild(a)}function B(a){this.root=a,this._next=a}function C(a){return new B(a)}function D(a,b){this.node=a,this.offset=b}function E(a){this.code=this[a],this.codeName=a,this.message="DOMException: "+this.codeName}var F="undefined",G=a.util,H=G.getBody;G.areHostMethods(document,["createDocumentFragment","createElement","createTextNode"])||b.fail("document missing a Node creation method"),G.isHostMethod(document,"getElementsByTagName")||b.fail("document missing getElementsByTagName method");var I=document.createElement("div");G.areHostMethods(I,["insertBefore","appendChild","cloneNode"]||!G.areHostObjects(I,["previousSibling","nextSibling","childNodes","parentNode"]))||b.fail("Incomplete Element implementation"),G.isHostProperty(I,"innerHTML")||b.fail("Element is missing innerHTML property");var J=document.createTextNode("test");G.areHostMethods(J,["splitText","deleteData","insertData","appendData","cloneNode"]||!G.areHostObjects(I,["previousSibling","nextSibling","childNodes","parentNode"])||!G.areHostProperties(J,["data"]))||b.fail("Incomplete Text Node implementation");var K=function(a,b){for(var c=a.length;c--;)if(a[c]===b)return!0;return!1},L=!1;!function(){var b=document.createElement("b");b.innerHTML="1";var c=b.firstChild;b.innerHTML="<br />",L=w(c),a.features.crashyTextNodes=L}();var M;typeof window.getComputedStyle!=F?M=function(a,b){return p(a).getComputedStyle(a,null)[b]}:typeof document.documentElement.currentStyle!=F?M=function(a,b){return a.currentStyle?a.currentStyle[b]:"";
+}:b.fail("No means of obtaining computed style properties found"),B.prototype={_current:null,hasNext:function(){return!!this._next},next:function(){var a,b,c=this._current=this._next;if(this._current)if(a=c.firstChild)this._next=a;else{for(b=null;c!==this.root&&!(b=c.nextSibling);)c=c.parentNode;this._next=b}return this._current},detach:function(){this._current=this._next=this.root=null}},D.prototype={equals:function(a){return!!a&&this.node===a.node&&this.offset==a.offset},inspect:function(){return"[DomPosition("+x(this.node)+":"+this.offset+")]"},toString:function(){return this.inspect()}},E.prototype={INDEX_SIZE_ERR:1,HIERARCHY_REQUEST_ERR:3,WRONG_DOCUMENT_ERR:4,NO_MODIFICATION_ALLOWED_ERR:7,NOT_FOUND_ERR:8,NOT_SUPPORTED_ERR:9,INVALID_STATE_ERR:11,INVALID_NODE_TYPE_ERR:24},E.prototype.toString=function(){return this.message},a.dom={arrayContains:K,isHtmlNamespace:c,parentElement:d,getNodeIndex:e,getNodeLength:f,getCommonAncestor:g,isAncestorOf:h,isOrIsAncestorOf:i,getClosestAncestorIn:j,isCharacterDataNode:k,isTextOrCommentNode:l,insertAfter:m,splitDataNode:n,getDocument:o,getWindow:p,getIframeWindow:r,getIframeDocument:q,getBody:H,isWindow:s,getContentDocument:t,getRootContainer:u,comparePoints:v,isBrokenNode:w,inspectNode:x,getComputedStyleProperty:M,createTestElement:z,removeNode:A,fragmentFromNodeChildren:y,createIterator:C,DomPosition:D},a.DOMException=E}),H.createCoreModule("DomRange",["DomUtil"],function(a,b){function c(a,b){return 3!=a.nodeType&&(P(a,b.startContainer)||P(a,b.endContainer))}function d(a){return a.document||Q(a.startContainer)}function e(a){return W(a.startContainer)}function f(a){return new L(a.parentNode,O(a))}function g(a){return new L(a.parentNode,O(a)+1)}function h(a,b,c){var d=11==a.nodeType?a.firstChild:a;return N(b)?c==b.length?J.insertAfter(a,b):b.parentNode.insertBefore(a,0==c?b:S(b,c)):c>=b.childNodes.length?b.appendChild(a):b.insertBefore(a,b.childNodes[c]),d}function i(a,b,c){if(z(a),z(b),d(b)!=d(a))throw new M("WRONG_DOCUMENT_ERR");var e=R(a.startContainer,a.startOffset,b.endContainer,b.endOffset),f=R(a.endContainer,a.endOffset,b.startContainer,b.startOffset);return c?0>=e&&f>=0:0>e&&f>0}function j(a){for(var b,c,e,f=d(a.range).createDocumentFragment();c=a.next();){if(b=a.isPartiallySelectedSubtree(),c=c.cloneNode(!b),b&&(e=a.getSubtreeIterator(),c.appendChild(j(e)),e.detach()),10==c.nodeType)throw new M("HIERARCHY_REQUEST_ERR");f.appendChild(c)}return f}function k(a,b,c){var d,e;c=c||{stop:!1};for(var f,g;f=a.next();)if(a.isPartiallySelectedSubtree()){if(b(f)===!1)return void(c.stop=!0);if(g=a.getSubtreeIterator(),k(g,b,c),g.detach(),c.stop)return}else for(d=J.createIterator(f);e=d.next();)if(b(e)===!1)return void(c.stop=!0)}function l(a){for(var b;a.next();)a.isPartiallySelectedSubtree()?(b=a.getSubtreeIterator(),l(b),b.detach()):a.remove()}function m(a){for(var b,c,e=d(a.range).createDocumentFragment();b=a.next();){if(a.isPartiallySelectedSubtree()?(b=b.cloneNode(!1),c=a.getSubtreeIterator(),b.appendChild(m(c)),c.detach()):a.remove(),10==b.nodeType)throw new M("HIERARCHY_REQUEST_ERR");e.appendChild(b)}return e}function n(a,b,c){var d,e=!(!b||!b.length),f=!!c;e&&(d=new RegExp("^("+b.join("|")+")$"));var g=[];return k(new p(a,!1),function(b){if((!e||d.test(b.nodeType))&&(!f||c(b))){var h=a.startContainer;if(b!=h||!N(h)||a.startOffset!=h.length){var i=a.endContainer;b==i&&N(i)&&0==a.endOffset||g.push(b)}}}),g}function o(a){var b="undefined"==typeof a.getName?"Range":a.getName();return"["+b+"("+J.inspectNode(a.startContainer)+":"+a.startOffset+", "+J.inspectNode(a.endContainer)+":"+a.endOffset+")]"}function p(a,b){if(this.range=a,this.clonePartiallySelectedTextNodes=b,!a.collapsed){this.sc=a.startContainer,this.so=a.startOffset,this.ec=a.endContainer,this.eo=a.endOffset;var c=a.commonAncestorContainer;this.sc===this.ec&&N(this.sc)?(this.isSingleCharacterDataNode=!0,this._first=this._last=this._next=this.sc):(this._first=this._next=this.sc!==c||N(this.sc)?T(this.sc,c,!0):this.sc.childNodes[this.so],this._last=this.ec!==c||N(this.ec)?T(this.ec,c,!0):this.ec.childNodes[this.eo-1])}}function q(a){return function(b,c){for(var d,e=c?b:b.parentNode;e;){if(d=e.nodeType,V(a,d))return e;e=e.parentNode}return null}}function r(a,b){if(ea(a,b))throw new M("INVALID_NODE_TYPE_ERR")}function s(a,b){if(!V(b,a.nodeType))throw new M("INVALID_NODE_TYPE_ERR")}function t(a,b){if(0>b||b>(N(a)?a.length:a.childNodes.length))throw new M("INDEX_SIZE_ERR")}function u(a,b){if(ca(a,!0)!==ca(b,!0))throw new M("WRONG_DOCUMENT_ERR")}function v(a){if(da(a,!0))throw new M("NO_MODIFICATION_ALLOWED_ERR")}function w(a,b){if(!a)throw new M(b)}function x(a,b){return b<=(N(a)?a.length:a.childNodes.length)}function y(a){return!!a.startContainer&&!!a.endContainer&&!(X&&(J.isBrokenNode(a.startContainer)||J.isBrokenNode(a.endContainer)))&&W(a.startContainer)==W(a.endContainer)&&x(a.startContainer,a.startOffset)&&x(a.endContainer,a.endOffset)}function z(a){if(!y(a))throw new Error("Range error: Range is not valid. This usually happens after DOM mutation. Range: ("+a.inspect()+")")}function A(a,b){z(a);var c=a.startContainer,d=a.startOffset,e=a.endContainer,f=a.endOffset,g=c===e;N(e)&&f>0&&f<e.length&&S(e,f,b),N(c)&&d>0&&d<c.length&&(c=S(c,d,b),g?(f-=d,e=c):e==c.parentNode&&f>=O(c)&&f++,d=0),a.setStartAndEnd(c,d,e,f)}function B(a){z(a);var b=a.commonAncestorContainer.parentNode.cloneNode(!1);return b.appendChild(a.cloneContents()),b.innerHTML}function C(a){a.START_TO_START=ka,a.START_TO_END=la,a.END_TO_END=ma,a.END_TO_START=na,a.NODE_BEFORE=oa,a.NODE_AFTER=pa,a.NODE_BEFORE_AND_AFTER=qa,a.NODE_INSIDE=ra}function D(a){C(a),C(a.prototype)}function E(a,b){return function(){z(this);var c,d,e=this.startContainer,f=this.startOffset,h=this.commonAncestorContainer,i=new p(this,!0);e!==h&&(c=T(e,h,!0),d=g(c),e=d.node,f=d.offset),k(i,v),i.reset();var j=a(i);return i.detach(),b(this,e,f,e,f),j}}function F(b,d){function e(a,b){return function(c){s(c,Z),s(W(c),$);var d=(a?f:g)(c);(b?h:i)(this,d.node,d.offset)}}function h(a,b,c){var e=a.endContainer,f=a.endOffset;(b!==a.startContainer||c!==a.startOffset)&&((W(b)!=W(e)||1==R(b,c,e,f))&&(e=b,f=c),d(a,b,c,e,f))}function i(a,b,c){var e=a.startContainer,f=a.startOffset;(b!==a.endContainer||c!==a.endOffset)&&((W(b)!=W(e)||-1==R(b,c,e,f))&&(e=b,f=c),d(a,e,f,b,c))}var j=function(){};j.prototype=a.rangePrototype,b.prototype=new j,K.extend(b.prototype,{setStart:function(a,b){r(a,!0),t(a,b),h(this,a,b)},setEnd:function(a,b){r(a,!0),t(a,b),i(this,a,b)},setStartAndEnd:function(){var a=arguments,b=a[0],c=a[1],e=b,f=c;switch(a.length){case 3:f=a[2];break;case 4:e=a[2],f=a[3]}d(this,b,c,e,f)},setBoundary:function(a,b,c){this["set"+(c?"Start":"End")](a,b)},setStartBefore:e(!0,!0),setStartAfter:e(!1,!0),setEndBefore:e(!0,!1),setEndAfter:e(!1,!1),collapse:function(a){z(this),a?d(this,this.startContainer,this.startOffset,this.startContainer,this.startOffset):d(this,this.endContainer,this.endOffset,this.endContainer,this.endOffset)},selectNodeContents:function(a){r(a,!0),d(this,a,0,a,U(a))},selectNode:function(a){r(a,!1),s(a,Z);var b=f(a),c=g(a);d(this,b.node,b.offset,c.node,c.offset)},extractContents:E(m,d),deleteContents:E(l,d),canSurroundContents:function(){z(this),v(this.startContainer),v(this.endContainer);var a=new p(this,!0),b=a._first&&c(a._first,this)||a._last&&c(a._last,this);return a.detach(),!b},splitBoundaries:function(){A(this)},splitBoundariesPreservingPositions:function(a){A(this,a)},normalizeBoundaries:function(){z(this);var a,b=this.startContainer,c=this.startOffset,e=this.endContainer,f=this.endOffset,g=function(a){var b=a.nextSibling;b&&b.nodeType==a.nodeType&&(e=a,f=a.length,a.appendData(b.data),Y(b))},h=function(a){var d=a.previousSibling;if(d&&d.nodeType==a.nodeType){b=a;var g=a.length;if(c=d.length,a.insertData(0,d.data),Y(d),b==e)f+=c,e=b;else if(e==a.parentNode){var h=O(a);f==h?(e=a,f=g):f>h&&f--}}},i=!0;if(N(e))f==e.length?g(e):0==f&&(a=e.previousSibling,a&&a.nodeType==e.nodeType&&(f=a.length,b==e&&(i=!1),a.appendData(e.data),Y(e),e=a));else{if(f>0){var j=e.childNodes[f-1];j&&N(j)&&g(j)}i=!this.collapsed}if(i){if(N(b))0==c?h(b):c==b.length&&(a=b.nextSibling,a&&a.nodeType==b.nodeType&&(e==a&&(e=b,f+=b.length),b.appendData(a.data),Y(a)));else if(c<b.childNodes.length){var k=b.childNodes[c];k&&N(k)&&h(k)}}else b=e,c=f;d(this,b,c,e,f)},collapseToPoint:function(a,b){r(a,!0),t(a,b),this.setStartAndEnd(a,b)}}),D(b)}function G(a){a.collapsed=a.startContainer===a.endContainer&&a.startOffset===a.endOffset,a.commonAncestorContainer=a.collapsed?a.startContainer:J.getCommonAncestor(a.startContainer,a.endContainer)}function H(a,b,c,d,e){a.startContainer=b,a.startOffset=c,a.endContainer=d,a.endOffset=e,a.document=J.getDocument(b),G(a)}function I(a){this.startContainer=a,this.startOffset=0,this.endContainer=a,this.endOffset=0,this.document=a,G(this)}var J=a.dom,K=a.util,L=J.DomPosition,M=a.DOMException,N=J.isCharacterDataNode,O=J.getNodeIndex,P=J.isOrIsAncestorOf,Q=J.getDocument,R=J.comparePoints,S=J.splitDataNode,T=J.getClosestAncestorIn,U=J.getNodeLength,V=J.arrayContains,W=J.getRootContainer,X=a.features.crashyTextNodes,Y=J.removeNode;p.prototype={_current:null,_next:null,_first:null,_last:null,isSingleCharacterDataNode:!1,reset:function(){this._current=null,this._next=this._first},hasNext:function(){return!!this._next},next:function(){var a=this._current=this._next;return a&&(this._next=a!==this._last?a.nextSibling:null,N(a)&&this.clonePartiallySelectedTextNodes&&(a===this.ec&&(a=a.cloneNode(!0)).deleteData(this.eo,a.length-this.eo),this._current===this.sc&&(a=a.cloneNode(!0)).deleteData(0,this.so))),a},remove:function(){var a,b,c=this._current;!N(c)||c!==this.sc&&c!==this.ec?c.parentNode&&Y(c):(a=c===this.sc?this.so:0,b=c===this.ec?this.eo:c.length,a!=b&&c.deleteData(a,b-a))},isPartiallySelectedSubtree:function(){var a=this._current;return c(a,this.range)},getSubtreeIterator:function(){var a;if(this.isSingleCharacterDataNode)a=this.range.cloneRange(),a.collapse(!1);else{a=new I(d(this.range));var b=this._current,c=b,e=0,f=b,g=U(b);P(b,this.sc)&&(c=this.sc,e=this.so),P(b,this.ec)&&(f=this.ec,g=this.eo),H(a,c,e,f,g)}return new p(a,this.clonePartiallySelectedTextNodes)},detach:function(){this.range=this._current=this._next=this._first=this._last=this.sc=this.so=this.ec=this.eo=null}};var Z=[1,3,4,5,7,8,10],$=[2,9,11],_=[5,6,10,12],aa=[1,3,4,5,7,8,10,11],ba=[1,3,4,5,7,8],ca=q([9,11]),da=q(_),ea=q([6,10,12]),fa=document.createElement("style"),ga=!1;try{fa.innerHTML="<b>x</b>",ga=3==fa.firstChild.nodeType}catch(ha){}a.features.htmlParsingConforms=ga;var ia=ga?function(a){var b=this.startContainer,c=Q(b);if(!b)throw new M("INVALID_STATE_ERR");var d=null;return 1==b.nodeType?d=b:N(b)&&(d=J.parentElement(b)),d=null===d||"HTML"==d.nodeName&&J.isHtmlNamespace(Q(d).documentElement)&&J.isHtmlNamespace(d)?c.createElement("body"):d.cloneNode(!1),d.innerHTML=a,J.fragmentFromNodeChildren(d)}:function(a){var b=d(this),c=b.createElement("body");return c.innerHTML=a,J.fragmentFromNodeChildren(c)},ja=["startContainer","startOffset","endContainer","endOffset","collapsed","commonAncestorContainer"],ka=0,la=1,ma=2,na=3,oa=0,pa=1,qa=2,ra=3;K.extend(a.rangePrototype,{compareBoundaryPoints:function(a,b){z(this),u(this.startContainer,b.startContainer);var c,d,e,f,g=a==na||a==ka?"start":"end",h=a==la||a==ka?"start":"end";return c=this[g+"Container"],d=this[g+"Offset"],e=b[h+"Container"],f=b[h+"Offset"],R(c,d,e,f)},insertNode:function(a){if(z(this),s(a,aa),v(this.startContainer),P(a,this.startContainer))throw new M("HIERARCHY_REQUEST_ERR");var b=h(a,this.startContainer,this.startOffset);this.setStartBefore(b)},cloneContents:function(){z(this);var a,b;if(this.collapsed)return d(this).createDocumentFragment();if(this.startContainer===this.endContainer&&N(this.startContainer))return a=this.startContainer.cloneNode(!0),a.data=a.data.slice(this.startOffset,this.endOffset),b=d(this).createDocumentFragment(),b.appendChild(a),b;var c=new p(this,!0);return a=j(c),c.detach(),a},canSurroundContents:function(){z(this),v(this.startContainer),v(this.endContainer);var a=new p(this,!0),b=a._first&&c(a._first,this)||a._last&&c(a._last,this);return a.detach(),!b},surroundContents:function(a){if(s(a,ba),!this.canSurroundContents())throw new M("INVALID_STATE_ERR");var b=this.extractContents();if(a.hasChildNodes())for(;a.lastChild;)a.removeChild(a.lastChild);h(a,this.startContainer,this.startOffset),a.appendChild(b),this.selectNode(a)},cloneRange:function(){z(this);for(var a,b=new I(d(this)),c=ja.length;c--;)a=ja[c],b[a]=this[a];return b},toString:function(){z(this);var a=this.startContainer;if(a===this.endContainer&&N(a))return 3==a.nodeType||4==a.nodeType?a.data.slice(this.startOffset,this.endOffset):"";var b=[],c=new p(this,!0);return k(c,function(a){(3==a.nodeType||4==a.nodeType)&&b.push(a.data)}),c.detach(),b.join("")},compareNode:function(a){z(this);var b=a.parentNode,c=O(a);if(!b)throw new M("NOT_FOUND_ERR");var d=this.comparePoint(b,c),e=this.comparePoint(b,c+1);return 0>d?e>0?qa:oa:e>0?pa:ra},comparePoint:function(a,b){return z(this),w(a,"HIERARCHY_REQUEST_ERR"),u(a,this.startContainer),R(a,b,this.startContainer,this.startOffset)<0?-1:R(a,b,this.endContainer,this.endOffset)>0?1:0},createContextualFragment:ia,toHtml:function(){return B(this)},intersectsNode:function(a,b){if(z(this),W(a)!=e(this))return!1;var c=a.parentNode,d=O(a);if(!c)return!0;var f=R(c,d,this.endContainer,this.endOffset),g=R(c,d+1,this.startContainer,this.startOffset);return b?0>=f&&g>=0:0>f&&g>0},isPointInRange:function(a,b){return z(this),w(a,"HIERARCHY_REQUEST_ERR"),u(a,this.startContainer),R(a,b,this.startContainer,this.startOffset)>=0&&R(a,b,this.endContainer,this.endOffset)<=0},intersectsRange:function(a){return i(this,a,!1)},intersectsOrTouchesRange:function(a){return i(this,a,!0)},intersection:function(a){if(this.intersectsRange(a)){var b=R(this.startContainer,this.startOffset,a.startContainer,a.startOffset),c=R(this.endContainer,this.endOffset,a.endContainer,a.endOffset),d=this.cloneRange();return-1==b&&d.setStart(a.startContainer,a.startOffset),1==c&&d.setEnd(a.endContainer,a.endOffset),d}return null},union:function(a){if(this.intersectsOrTouchesRange(a)){var b=this.cloneRange();return-1==R(a.startContainer,a.startOffset,this.startContainer,this.startOffset)&&b.setStart(a.startContainer,a.startOffset),1==R(a.endContainer,a.endOffset,this.endContainer,this.endOffset)&&b.setEnd(a.endContainer,a.endOffset),b}throw new M("Ranges do not intersect")},containsNode:function(a,b){return b?this.intersectsNode(a,!1):this.compareNode(a)==ra},containsNodeContents:function(a){return this.comparePoint(a,0)>=0&&this.comparePoint(a,U(a))<=0},containsRange:function(a){var b=this.intersection(a);return null!==b&&a.equals(b)},containsNodeText:function(a){var b=this.cloneRange();b.selectNode(a);var c=b.getNodes([3]);if(c.length>0){b.setStart(c[0],0);var d=c.pop();return b.setEnd(d,d.length),this.containsRange(b)}return this.containsNodeContents(a)},getNodes:function(a,b){return z(this),n(this,a,b)},getDocument:function(){return d(this)},collapseBefore:function(a){this.setEndBefore(a),this.collapse(!1)},collapseAfter:function(a){this.setStartAfter(a),this.collapse(!0)},getBookmark:function(b){var c=d(this),e=a.createRange(c);b=b||J.getBody(c),e.selectNodeContents(b);var f=this.intersection(e),g=0,h=0;return f&&(e.setEnd(f.startContainer,f.startOffset),g=e.toString().length,h=g+f.toString().length),{start:g,end:h,containerNode:b}},moveToBookmark:function(a){var b=a.containerNode,c=0;this.setStart(b,0),this.collapse(!0);for(var d,e,f,g,h=[b],i=!1,j=!1;!j&&(d=h.pop());)if(3==d.nodeType)e=c+d.length,!i&&a.start>=c&&a.start<=e&&(this.setStart(d,a.start-c),i=!0),i&&a.end>=c&&a.end<=e&&(this.setEnd(d,a.end-c),j=!0),c=e;else for(g=d.childNodes,f=g.length;f--;)h.push(g[f])},getName:function(){return"DomRange"},equals:function(a){return I.rangesEqual(this,a)},isValid:function(){return y(this)},inspect:function(){return o(this)},detach:function(){}}),F(I,H),K.extend(I,{rangeProperties:ja,RangeIterator:p,copyComparisonConstants:D,createPrototypeRange:F,inspect:o,toHtml:B,getRangeDocument:d,rangesEqual:function(a,b){return a.startContainer===b.startContainer&&a.startOffset===b.startOffset&&a.endContainer===b.endContainer&&a.endOffset===b.endOffset}}),a.DomRange=I}),H.createCoreModule("WrappedRange",["DomRange"],function(a,b){var c,d,e=a.dom,f=a.util,g=e.DomPosition,h=a.DomRange,i=e.getBody,j=e.getContentDocument,k=e.isCharacterDataNode;if(a.features.implementsDomRange&&!function(){function d(a){for(var b,c=m.length;c--;)b=m[c],a[b]=a.nativeRange[b];a.collapsed=a.startContainer===a.endContainer&&a.startOffset===a.endOffset}function g(a,b,c,d,e){var f=a.startContainer!==b||a.startOffset!=c,g=a.endContainer!==d||a.endOffset!=e,h=!a.equals(a.nativeRange);(f||g||h)&&(a.setEnd(d,e),a.setStart(b,c))}var k,l,m=h.rangeProperties;c=function(a){if(!a)throw b.createError("WrappedRange: Range must be specified");this.nativeRange=a,d(this)},h.createPrototypeRange(c,g),k=c.prototype,k.selectNode=function(a){this.nativeRange.selectNode(a),d(this)},k.cloneContents=function(){return this.nativeRange.cloneContents()},k.surroundContents=function(a){this.nativeRange.surroundContents(a),d(this)},k.collapse=function(a){this.nativeRange.collapse(a),d(this)},k.cloneRange=function(){return new c(this.nativeRange.cloneRange())},k.refresh=function(){d(this)},k.toString=function(){return this.nativeRange.toString()};var n=document.createTextNode("test");i(document).appendChild(n);var o=document.createRange();o.setStart(n,0),o.setEnd(n,0);try{o.setStart(n,1),k.setStart=function(a,b){this.nativeRange.setStart(a,b),d(this)},k.setEnd=function(a,b){this.nativeRange.setEnd(a,b),d(this)},l=function(a){return function(b){this.nativeRange[a](b),d(this)}}}catch(p){k.setStart=function(a,b){try{this.nativeRange.setStart(a,b)}catch(c){this.nativeRange.setEnd(a,b),this.nativeRange.setStart(a,b)}d(this)},k.setEnd=function(a,b){try{this.nativeRange.setEnd(a,b)}catch(c){this.nativeRange.setStart(a,b),this.nativeRange.setEnd(a,b)}d(this)},l=function(a,b){return function(c){try{this.nativeRange[a](c)}catch(e){this.nativeRange[b](c),this.nativeRange[a](c)}d(this)}}}k.setStartBefore=l("setStartBefore","setEndBefore"),k.setStartAfter=l("setStartAfter","setEndAfter"),k.setEndBefore=l("setEndBefore","setStartBefore"),k.setEndAfter=l("setEndAfter","setStartAfter"),k.selectNodeContents=function(a){this.setStartAndEnd(a,0,e.getNodeLength(a))},o.selectNodeContents(n),o.setEnd(n,3);var q=document.createRange();q.selectNodeContents(n),q.setEnd(n,4),q.setStart(n,2),-1==o.compareBoundaryPoints(o.START_TO_END,q)&&1==o.compareBoundaryPoints(o.END_TO_START,q)?k.compareBoundaryPoints=function(a,b){return b=b.nativeRange||b,a==b.START_TO_END?a=b.END_TO_START:a==b.END_TO_START&&(a=b.START_TO_END),this.nativeRange.compareBoundaryPoints(a,b)}:k.compareBoundaryPoints=function(a,b){return this.nativeRange.compareBoundaryPoints(a,b.nativeRange||b)};var r=document.createElement("div");r.innerHTML="123";var s=r.firstChild,t=i(document);t.appendChild(r),o.setStart(s,1),o.setEnd(s,2),o.deleteContents(),"13"==s.data&&(k.deleteContents=function(){this.nativeRange.deleteContents(),d(this)},k.extractContents=function(){var a=this.nativeRange.extractContents();return d(this),a}),t.removeChild(r),t=null,f.isHostMethod(o,"createContextualFragment")&&(k.createContextualFragment=function(a){return this.nativeRange.createContextualFragment(a)}),i(document).removeChild(n),k.getName=function(){return"WrappedRange"},a.WrappedRange=c,a.createNativeRange=function(a){return a=j(a,b,"createNativeRange"),a.createRange()}}(),a.features.implementsTextRange){var l=function(a){var b=a.parentElement(),c=a.duplicate();c.collapse(!0);var d=c.parentElement();c=a.duplicate(),c.collapse(!1);var f=c.parentElement(),g=d==f?d:e.getCommonAncestor(d,f);return g==b?g:e.getCommonAncestor(b,g)},m=function(a){return 0==a.compareEndPoints("StartToEnd",a)},n=function(a,b,c,d,f){var h=a.duplicate();h.collapse(c);var i=h.parentElement();if(e.isOrIsAncestorOf(b,i)||(i=b),!i.canHaveHTML){var j=new g(i.parentNode,e.getNodeIndex(i));return{boundaryPosition:j,nodeInfo:{nodeIndex:j.offset,containerElement:j.node}}}var l=e.getDocument(i).createElement("span");l.parentNode&&e.removeNode(l);for(var m,n,o,p,q,r=c?"StartToStart":"StartToEnd",s=f&&f.containerElement==i?f.nodeIndex:0,t=i.childNodes.length,u=t,v=u;;){if(v==t?i.appendChild(l):i.insertBefore(l,i.childNodes[v]),h.moveToElementText(l),m=h.compareEndPoints(r,a),0==m||s==u)break;if(-1==m){if(u==s+1)break;s=v}else u=u==s+1?s:v;v=Math.floor((s+u)/2),i.removeChild(l)}if(q=l.nextSibling,-1==m&&q&&k(q)){h.setEndPoint(c?"EndToStart":"EndToEnd",a);var w;if(/[\r\n]/.test(q.data)){var x=h.duplicate(),y=x.text.replace(/\r\n/g,"\r").length;for(w=x.moveStart("character",y);-1==(m=x.compareEndPoints("StartToEnd",x));)w++,x.moveStart("character",1)}else w=h.text.length;p=new g(q,w)}else n=(d||!c)&&l.previousSibling,o=(d||c)&&l.nextSibling,p=o&&k(o)?new g(o,0):n&&k(n)?new g(n,n.data.length):new g(i,e.getNodeIndex(l));return e.removeNode(l),{boundaryPosition:p,nodeInfo:{nodeIndex:v,containerElement:i}}},o=function(a,b){var c,d,f,g,h=a.offset,j=e.getDocument(a.node),l=i(j).createTextRange(),m=k(a.node);return m?(c=a.node,d=c.parentNode):(g=a.node.childNodes,c=h<g.length?g[h]:null,d=a.node),f=j.createElement("span"),f.innerHTML="&#feff;",c?d.insertBefore(f,c):d.appendChild(f),l.moveToElementText(f),l.collapse(!b),d.removeChild(f),m&&l[b?"moveStart":"moveEnd"]("character",h),l};d=function(a){this.textRange=a,this.refresh()},d.prototype=new h(document),d.prototype.refresh=function(){var a,b,c,d=l(this.textRange);m(this.textRange)?b=a=n(this.textRange,d,!0,!0).boundaryPosition:(c=n(this.textRange,d,!0,!1),a=c.boundaryPosition,b=n(this.textRange,d,!1,!1,c.nodeInfo).boundaryPosition),this.setStart(a.node,a.offset),this.setEnd(b.node,b.offset)},d.prototype.getName=function(){return"WrappedTextRange"},h.copyComparisonConstants(d);var p=function(a){if(a.collapsed)return o(new g(a.startContainer,a.startOffset),!0);var b=o(new g(a.startContainer,a.startOffset),!0),c=o(new g(a.endContainer,a.endOffset),!1),d=i(h.getRangeDocument(a)).createTextRange();return d.setEndPoint("StartToStart",b),d.setEndPoint("EndToEnd",c),d};if(d.rangeToTextRange=p,d.prototype.toTextRange=function(){return p(this)},a.WrappedTextRange=d,!a.features.implementsDomRange||a.config.preferTextRange){var q=function(a){return a("return this;")()}(Function);"undefined"==typeof q.Range&&(q.Range=d),a.createNativeRange=function(a){return a=j(a,b,"createNativeRange"),i(a).createTextRange()},a.WrappedRange=d}}a.createRange=function(c){return c=j(c,b,"createRange"),new a.WrappedRange(a.createNativeRange(c))},a.createRangyRange=function(a){return a=j(a,b,"createRangyRange"),new h(a)},f.createAliasForDeprecatedMethod(a,"createIframeRange","createRange"),f.createAliasForDeprecatedMethod(a,"createIframeRangyRange","createRangyRange"),a.addShimListener(function(b){var c=b.document;"undefined"==typeof c.createRange&&(c.createRange=function(){return a.createRange(c)}),c=b=null})}),H.createCoreModule("WrappedSelection",["DomRange","WrappedRange"],function(a,b){function c(a){return"string"==typeof a?/^backward(s)?$/i.test(a):!!a}function d(a,c){if(a){if(C.isWindow(a))return a;if(a instanceof r)return a.win;var d=C.getContentDocument(a,b,c);return C.getWindow(d)}return window}function e(a){return d(a,"getWinSelection").getSelection()}function f(a){return d(a,"getDocSelection").document.selection}function g(a){var b=!1;return a.anchorNode&&(b=1==C.comparePoints(a.anchorNode,a.anchorOffset,a.focusNode,a.focusOffset)),b}function h(a,b,c){var d=c?"end":"start",e=c?"start":"end";a.anchorNode=b[d+"Container"],a.anchorOffset=b[d+"Offset"],a.focusNode=b[e+"Container"],a.focusOffset=b[e+"Offset"]}function i(a){var b=a.nativeSelection;a.anchorNode=b.anchorNode,a.anchorOffset=b.anchorOffset,a.focusNode=b.focusNode,a.focusOffset=b.focusOffset}function j(a){a.anchorNode=a.focusNode=null,a.anchorOffset=a.focusOffset=0,a.rangeCount=0,a.isCollapsed=!0,a._ranges.length=0}function k(b){var c;return b instanceof F?(c=a.createNativeRange(b.getDocument()),c.setEnd(b.endContainer,b.endOffset),c.setStart(b.startContainer,b.startOffset)):b instanceof G?c=b.nativeRange:J.implementsDomRange&&b instanceof C.getWindow(b.startContainer).Range&&(c=b),c}function l(a){if(!a.length||1!=a[0].nodeType)return!1;for(var b=1,c=a.length;c>b;++b)if(!C.isAncestorOf(a[0],a[b]))return!1;return!0}function m(a){var c=a.getNodes();if(!l(c))throw b.createError("getSingleElementFromRange: range "+a.inspect()+" did not consist of a single element");return c[0]}function n(a){return!!a&&"undefined"!=typeof a.text}function o(a,b){var c=new G(b);a._ranges=[c],h(a,c,!1),a.rangeCount=1,a.isCollapsed=c.collapsed}function p(b){if(b._ranges.length=0,"None"==b.docSelection.type)j(b);else{var c=b.docSelection.createRange();if(n(c))o(b,c);else{b.rangeCount=c.length;for(var d,e=L(c.item(0)),f=0;f<b.rangeCount;++f)d=a.createRange(e),d.selectNode(c.item(f)),b._ranges.push(d);b.isCollapsed=1==b.rangeCount&&b._ranges[0].collapsed,h(b,b._ranges[b.rangeCount-1],!1)}}}function q(a,c){for(var d=a.docSelection.createRange(),e=m(c),f=L(d.item(0)),g=M(f).createControlRange(),h=0,i=d.length;i>h;++h)g.add(d.item(h));try{g.add(e)}catch(j){throw b.createError("addRange(): Element within the specified Range could not be added to control selection (does it have layout?)")}g.select(),p(a)}function r(a,b,c){this.nativeSelection=a,this.docSelection=b,this._ranges=[],this.win=c,this.refresh()}function s(a){a.win=a.anchorNode=a.focusNode=a._ranges=null,a.rangeCount=a.anchorOffset=a.focusOffset=0,a.detached=!0}function t(a,b){for(var c,d,e=ba.length;e--;)if(c=ba[e],d=c.selection,"deleteAll"==b)s(d);else if(c.win==a)return"delete"==b?(ba.splice(e,1),!0):d;return"deleteAll"==b&&(ba.length=0),null}function u(a,c){for(var d,e=L(c[0].startContainer),f=M(e).createControlRange(),g=0,h=c.length;h>g;++g){d=m(c[g]);try{f.add(d)}catch(i){throw b.createError("setRanges(): Element within one of the specified Ranges could not be added to control selection (does it have layout?)")}}f.select(),p(a)}function v(a,b){if(a.win.document!=L(b))throw new H("WRONG_DOCUMENT_ERR")}function w(b){return function(c,d){var e;this.rangeCount?(e=this.getRangeAt(0),e["set"+(b?"Start":"End")](c,d)):(e=a.createRange(this.win.document),e.setStartAndEnd(c,d)),this.setSingleRange(e,this.isBackward())}}function x(a){var b=[],c=new I(a.anchorNode,a.anchorOffset),d=new I(a.focusNode,a.focusOffset),e="function"==typeof a.getName?a.getName():"Selection";if("undefined"!=typeof a.rangeCount)for(var f=0,g=a.rangeCount;g>f;++f)b[f]=F.inspect(a.getRangeAt(f));return"["+e+"(Ranges: "+b.join(", ")+")(anchor: "+c.inspect()+", focus: "+d.inspect()+"]"}a.config.checkSelectionRanges=!0;var y,z,A="boolean",B="number",C=a.dom,D=a.util,E=D.isHostMethod,F=a.DomRange,G=a.WrappedRange,H=a.DOMException,I=C.DomPosition,J=a.features,K="Control",L=C.getDocument,M=C.getBody,N=F.rangesEqual,O=E(window,"getSelection"),P=D.isHostObject(document,"selection");J.implementsWinGetSelection=O,J.implementsDocSelection=P;var Q=P&&(!O||a.config.preferTextRange);if(Q)y=f,a.isSelectionValid=function(a){var b=d(a,"isSelectionValid").document,c=b.selection;return"None"!=c.type||L(c.createRange().parentElement())==b};else{if(!O)return b.fail("Neither document.selection or window.getSelection() detected."),!1;y=e,a.isSelectionValid=function(){return!0}}a.getNativeSelection=y;var R=y();if(!R)return b.fail("Native selection was null (possibly issue 138?)"),!1;var S=a.createNativeRange(document),T=M(document),U=D.areHostProperties(R,["anchorNode","focusNode","anchorOffset","focusOffset"]);J.selectionHasAnchorAndFocus=U;var V=E(R,"extend");J.selectionHasExtend=V;var W=typeof R.rangeCount==B;J.selectionHasRangeCount=W;var X=!1,Y=!0,Z=V?function(b,c){var d=F.getRangeDocument(c),e=a.createRange(d);e.collapseToPoint(c.endContainer,c.endOffset),b.addRange(k(e)),b.extend(c.startContainer,c.startOffset)}:null;D.areHostMethods(R,["addRange","getRangeAt","removeAllRanges"])&&typeof R.rangeCount==B&&J.implementsDomRange&&!function(){var b=window.getSelection();if(b){for(var c=b.rangeCount,d=c>1,e=[],f=g(b),h=0;c>h;++h)e[h]=b.getRangeAt(h);var i=C.createTestElement(document,"",!1),j=i.appendChild(document.createTextNode("   ")),k=document.createRange();if(k.setStart(j,1),k.collapse(!0),b.removeAllRanges(),b.addRange(k),Y=1==b.rangeCount,b.removeAllRanges(),!d){var l=window.navigator.appVersion.match(/Chrome\/(.*?) /);if(l&&parseInt(l[1])>=36)X=!1;else{var m=k.cloneRange();k.setStart(j,0),m.setEnd(j,3),m.setStart(j,2),b.addRange(k),b.addRange(m),X=2==b.rangeCount}}for(C.removeNode(i),b.removeAllRanges(),h=0;c>h;++h)0==h&&f?Z?Z(b,e[h]):(a.warn("Rangy initialization: original selection was backwards but selection has been restored forwards because the browser does not support Selection.extend"),b.addRange(e[h])):b.addRange(e[h])}}(),J.selectionSupportsMultipleRanges=X,J.collapsedNonEditableSelectionsSupported=Y;var $,_=!1;T&&E(T,"createControlRange")&&($=T.createControlRange(),D.areHostProperties($,["item","add"])&&(_=!0)),J.implementsControlRange=_,z=U?function(a){return a.anchorNode===a.focusNode&&a.anchorOffset===a.focusOffset}:function(a){return a.rangeCount?a.getRangeAt(a.rangeCount-1).collapsed:!1};var aa;E(R,"getRangeAt")?aa=function(a,b){try{return a.getRangeAt(b)}catch(c){return null}}:U&&(aa=function(b){var c=L(b.anchorNode),d=a.createRange(c);return d.setStartAndEnd(b.anchorNode,b.anchorOffset,b.focusNode,b.focusOffset),d.collapsed!==this.isCollapsed&&d.setStartAndEnd(b.focusNode,b.focusOffset,b.anchorNode,b.anchorOffset),d}),r.prototype=a.selectionPrototype;var ba=[],ca=function(a){if(a&&a instanceof r)return a.refresh(),a;a=d(a,"getNativeSelection");var b=t(a),c=y(a),e=P?f(a):null;return b?(b.nativeSelection=c,b.docSelection=e,b.refresh()):(b=new r(c,e,a),ba.push({win:a,selection:b})),b};a.getSelection=ca,D.createAliasForDeprecatedMethod(a,"getIframeSelection","getSelection");var da=r.prototype;if(!Q&&U&&D.areHostMethods(R,["removeAllRanges","addRange"])){da.removeAllRanges=function(){this.nativeSelection.removeAllRanges(),j(this)};var ea=function(a,b){Z(a.nativeSelection,b),a.refresh()};W?da.addRange=function(b,d){if(_&&P&&this.docSelection.type==K)q(this,b);else if(c(d)&&V)ea(this,b);else{var e;X?e=this.rangeCount:(this.removeAllRanges(),e=0);var f=k(b).cloneRange();try{this.nativeSelection.addRange(f)}catch(g){}if(this.rangeCount=this.nativeSelection.rangeCount,this.rangeCount==e+1){if(a.config.checkSelectionRanges){var i=aa(this.nativeSelection,this.rangeCount-1);i&&!N(i,b)&&(b=new G(i))}this._ranges[this.rangeCount-1]=b,h(this,b,ha(this.nativeSelection)),this.isCollapsed=z(this)}else this.refresh()}}:da.addRange=function(a,b){c(b)&&V?ea(this,a):(this.nativeSelection.addRange(k(a)),this.refresh())},da.setRanges=function(a){if(_&&P&&a.length>1)u(this,a);else{this.removeAllRanges();for(var b=0,c=a.length;c>b;++b)this.addRange(a[b])}}}else{if(!(E(R,"empty")&&E(S,"select")&&_&&Q))return b.fail("No means of selecting a Range or TextRange was found"),!1;da.removeAllRanges=function(){try{if(this.docSelection.empty(),"None"!=this.docSelection.type){var a;if(this.anchorNode)a=L(this.anchorNode);else if(this.docSelection.type==K){var b=this.docSelection.createRange();b.length&&(a=L(b.item(0)))}if(a){var c=M(a).createTextRange();c.select(),this.docSelection.empty()}}}catch(d){}j(this)},da.addRange=function(b){this.docSelection.type==K?q(this,b):(a.WrappedTextRange.rangeToTextRange(b).select(),this._ranges[0]=b,this.rangeCount=1,this.isCollapsed=this._ranges[0].collapsed,h(this,b,!1))},da.setRanges=function(a){this.removeAllRanges();var b=a.length;b>1?u(this,a):b&&this.addRange(a[0])}}da.getRangeAt=function(a){if(0>a||a>=this.rangeCount)throw new H("INDEX_SIZE_ERR");return this._ranges[a].cloneRange()};var fa;if(Q)fa=function(b){var c;a.isSelectionValid(b.win)?c=b.docSelection.createRange():(c=M(b.win.document).createTextRange(),
+c.collapse(!0)),b.docSelection.type==K?p(b):n(c)?o(b,c):j(b)};else if(E(R,"getRangeAt")&&typeof R.rangeCount==B)fa=function(b){if(_&&P&&b.docSelection.type==K)p(b);else if(b._ranges.length=b.rangeCount=b.nativeSelection.rangeCount,b.rangeCount){for(var c=0,d=b.rangeCount;d>c;++c)b._ranges[c]=new a.WrappedRange(b.nativeSelection.getRangeAt(c));h(b,b._ranges[b.rangeCount-1],ha(b.nativeSelection)),b.isCollapsed=z(b)}else j(b)};else{if(!U||typeof R.isCollapsed!=A||typeof S.collapsed!=A||!J.implementsDomRange)return b.fail("No means of obtaining a Range or TextRange from the user's selection was found"),!1;fa=function(a){var b,c=a.nativeSelection;c.anchorNode?(b=aa(c,0),a._ranges=[b],a.rangeCount=1,i(a),a.isCollapsed=z(a)):j(a)}}da.refresh=function(a){var b=a?this._ranges.slice(0):null,c=this.anchorNode,d=this.anchorOffset;if(fa(this),a){var e=b.length;if(e!=this._ranges.length)return!0;if(this.anchorNode!=c||this.anchorOffset!=d)return!0;for(;e--;)if(!N(b[e],this._ranges[e]))return!0;return!1}};var ga=function(a,b){var c=a.getAllRanges();a.removeAllRanges();for(var d=0,e=c.length;e>d;++d)N(b,c[d])||a.addRange(c[d]);a.rangeCount||j(a)};_&&P?da.removeRange=function(a){if(this.docSelection.type==K){for(var b,c=this.docSelection.createRange(),d=m(a),e=L(c.item(0)),f=M(e).createControlRange(),g=!1,h=0,i=c.length;i>h;++h)b=c.item(h),b!==d||g?f.add(c.item(h)):g=!0;f.select(),p(this)}else ga(this,a)}:da.removeRange=function(a){ga(this,a)};var ha;!Q&&U&&J.implementsDomRange?(ha=g,da.isBackward=function(){return ha(this)}):ha=da.isBackward=function(){return!1},da.isBackwards=da.isBackward,da.toString=function(){for(var a=[],b=0,c=this.rangeCount;c>b;++b)a[b]=""+this._ranges[b];return a.join("")},da.collapse=function(b,c){v(this,b);var d=a.createRange(b);d.collapseToPoint(b,c),this.setSingleRange(d),this.isCollapsed=!0},da.collapseToStart=function(){if(!this.rangeCount)throw new H("INVALID_STATE_ERR");var a=this._ranges[0];this.collapse(a.startContainer,a.startOffset)},da.collapseToEnd=function(){if(!this.rangeCount)throw new H("INVALID_STATE_ERR");var a=this._ranges[this.rangeCount-1];this.collapse(a.endContainer,a.endOffset)},da.selectAllChildren=function(b){v(this,b);var c=a.createRange(b);c.selectNodeContents(b),this.setSingleRange(c)},da.deleteFromDocument=function(){if(_&&P&&this.docSelection.type==K){for(var a,b=this.docSelection.createRange();b.length;)a=b.item(0),b.remove(a),C.removeNode(a);this.refresh()}else if(this.rangeCount){var c=this.getAllRanges();if(c.length){this.removeAllRanges();for(var d=0,e=c.length;e>d;++d)c[d].deleteContents();this.addRange(c[e-1])}}},da.eachRange=function(a,b){for(var c=0,d=this._ranges.length;d>c;++c)if(a(this.getRangeAt(c)))return b},da.getAllRanges=function(){var a=[];return this.eachRange(function(b){a.push(b)}),a},da.setSingleRange=function(a,b){this.removeAllRanges(),this.addRange(a,b)},da.callMethodOnEachRange=function(a,b){var c=[];return this.eachRange(function(d){c.push(d[a].apply(d,b||[]))}),c},da.setStart=w(!0),da.setEnd=w(!1),a.rangePrototype.select=function(a){ca(this.getDocument()).setSingleRange(this,a)},da.changeEachRange=function(a){var b=[],c=this.isBackward();this.eachRange(function(c){a(c),b.push(c)}),this.removeAllRanges(),c&&1==b.length?this.addRange(b[0],"backward"):this.setRanges(b)},da.containsNode=function(a,b){return this.eachRange(function(c){return c.containsNode(a,b)},!0)||!1},da.getBookmark=function(a){return{backward:this.isBackward(),rangeBookmarks:this.callMethodOnEachRange("getBookmark",[a])}},da.moveToBookmark=function(b){for(var c,d,e=[],f=0;c=b.rangeBookmarks[f++];)d=a.createRange(this.win),d.moveToBookmark(c),e.push(d);b.backward?this.setSingleRange(e[0],"backward"):this.setRanges(e)},da.saveRanges=function(){return{backward:this.isBackward(),ranges:this.callMethodOnEachRange("cloneRange")}},da.restoreRanges=function(a){this.removeAllRanges();for(var b,c=0;b=a.ranges[c];++c)this.addRange(b,a.backward&&0==c)},da.toHtml=function(){var a=[];return this.eachRange(function(b){a.push(F.toHtml(b))}),a.join("")},J.implementsTextRange&&(da.getNativeTextRange=function(){var c;if(c=this.docSelection){var d=c.createRange();if(n(d))return d;throw b.createError("getNativeTextRange: selection is a control selection")}if(this.rangeCount>0)return a.WrappedTextRange.rangeToTextRange(this.getRangeAt(0));throw b.createError("getNativeTextRange: selection contains no range")}),da.getName=function(){return"WrappedSelection"},da.inspect=function(){return x(this)},da.detach=function(){t(this.win,"delete"),s(this)},r.detachAll=function(){t(null,"deleteAll")},r.inspect=x,r.isDirectionBackward=c,a.Selection=r,a.selectionPrototype=da,a.addShimListener(function(a){"undefined"==typeof a.getSelection&&(a.getSelection=function(){return ca(a)}),a=null})});var M=!1,N=function(a){M||(M=!0,!H.initialized&&H.config.autoInitialize&&l())};return F&&("complete"==document.readyState?N():(a(document,"addEventListener")&&document.addEventListener("DOMContentLoaded",N,!1),J(window,"load",N))),H},this),function(a,b){"function"==typeof define&&define.amd?define(["./rangy-core"],a):"undefined"!=typeof module&&"object"==typeof exports?module.exports=a(require("rangy")):a(b.rangy)}(function(a){return a.createModule("ClassApplier",["WrappedSelection"],function(a,b){function c(a,b){for(var c in a)if(a.hasOwnProperty(c)&&b(c,a[c])===!1)return!1;return!0}function d(a){return a.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function e(a,b){return!!a&&new RegExp("(?:^|\\s)"+b+"(?:\\s|$)").test(a)}function f(a,b){if("object"==typeof a.classList)return a.classList.contains(b);var c="string"==typeof a.className,d=c?a.className:a.getAttribute("class");return e(d,b)}function g(a,b){if("object"==typeof a.classList)a.classList.add(b);else{var c="string"==typeof a.className,d=c?a.className:a.getAttribute("class");d?e(d,b)||(d+=" "+b):d=b,c?a.className=d:a.setAttribute("class",d)}}function h(a){var b="string"==typeof a.className;return b?a.className:a.getAttribute("class")}function j(a){return a&&a.split(/\s+/).sort().join(" ")}function k(a){return j(h(a))}function l(a,b){return k(a)==k(b)}function m(a,b){for(var c=b.split(/\s+/),e=0,g=c.length;g>e;++e)if(!f(a,d(c[e])))return!1;return!0}function n(a){var b=a.parentNode;return b&&1==b.nodeType&&!/^(textarea|style|script|select|iframe)$/i.test(b.nodeName)}function o(a,b,c,d,e){var f=a.node,g=a.offset,h=f,i=g;f==d&&g>e&&++i,f!=b||g!=c&&g!=c+1||(h=d,i+=e-c),f==b&&g>c+1&&--i,a.node=h,a.offset=i}function p(a,b,c){a.node==b&&a.offset>c&&--a.offset}function q(a,b,c,d){-1==c&&(c=b.childNodes.length);var e=a.parentNode,f=L.getNodeIndex(a);P(d,function(a){o(a,e,f,b,c)}),b.childNodes.length==c?b.appendChild(a):b.insertBefore(a,b.childNodes[c])}function r(a,b){var c=a.parentNode,d=L.getNodeIndex(a);P(b,function(a){p(a,c,d)}),L.removeNode(a)}function s(a,b,c,d,e){for(var f,g=[];f=a.firstChild;)q(f,b,c++,e),g.push(f);return d&&r(a,e),g}function t(a,b){return s(a,a.parentNode,L.getNodeIndex(a),!0,b)}function u(a,b){var c=a.cloneRange();c.selectNodeContents(b);var d=c.intersection(a),e=d?d.toString():"";return""!=e}function v(a){for(var b,c=a.getNodes([3]),d=0;(b=c[d])&&!u(a,b);)++d;for(var e=c.length-1;(b=c[e])&&!u(a,b);)--e;return c.slice(d,e+1)}function w(a,b){if(a.attributes.length!=b.attributes.length)return!1;for(var c,d,e,f=0,g=a.attributes.length;g>f;++f)if(c=a.attributes[f],e=c.name,"class"!=e){if(d=b.attributes.getNamedItem(e),null===c!=(null===d))return!1;if(c.specified!=d.specified)return!1;if(c.specified&&c.nodeValue!==d.nodeValue)return!1}return!0}function x(a,b){for(var c,d=0,e=a.attributes.length;e>d;++d)if(c=a.attributes[d].name,(!b||!N(b,c))&&a.attributes[d].specified&&"class"!=c)return!0;return!1}function y(a){var b;return a&&1==a.nodeType&&((b=a.parentNode)&&9==b.nodeType&&"on"==b.designMode||U(a)&&!U(a.parentNode))}function z(a){return(U(a)||1!=a.nodeType&&U(a.parentNode))&&!y(a)}function A(a){return a&&1==a.nodeType&&!V.test(T(a,"display"))}function B(a){if(0==a.data.length)return!0;if(W.test(a.data))return!1;var b=T(a.parentNode,"whiteSpace");switch(b){case"pre":case"pre-wrap":case"-moz-pre-wrap":return!1;case"pre-line":if(/[\r\n]/.test(a.data))return!1}return A(a.previousSibling)||A(a.nextSibling)}function C(a){var b,c,d=[];for(b=0;c=a[b++];)d.push(new M(c.startContainer,c.startOffset),new M(c.endContainer,c.endOffset));return d}function D(a,b){for(var c,d,e,f=0,g=a.length;g>f;++f)c=a[f],d=b[2*f],e=b[2*f+1],c.setStartAndEnd(d.node,d.offset,e.node,e.offset)}function E(a,b){return L.isCharacterDataNode(a)?0==b?!!a.previousSibling:b==a.length?!!a.nextSibling:!0:b>0&&b<a.childNodes.length}function F(a,c,d,e){var f,g,h=0==d;if(L.isAncestorOf(c,a))return a;if(L.isCharacterDataNode(c)){var i=L.getNodeIndex(c);if(0==d)d=i;else{if(d!=c.length)throw b.createError("splitNodeAt() should not be called with offset in the middle of a data node ("+d+" in "+c.data);d=i+1}c=c.parentNode}if(E(c,d)){f=c.cloneNode(!1),g=c.parentNode,f.id&&f.removeAttribute("id");for(var j,k=0;j=c.childNodes[d];)q(j,f,k++,e);return q(f,g,L.getNodeIndex(c)+1,e),c==a?f:F(a,g,L.getNodeIndex(f),e)}if(a!=c){f=c.parentNode;var l=L.getNodeIndex(c);return h||l++,F(a,f,l,e)}return a}function G(a,b){return a.namespaceURI==b.namespaceURI&&a.tagName.toLowerCase()==b.tagName.toLowerCase()&&l(a,b)&&w(a,b)&&"inline"==T(a,"display")&&"inline"==T(b,"display")}function H(a){var b=a?"nextSibling":"previousSibling";return function(c,d){var e=c.parentNode,f=c[b];if(f){if(f&&3==f.nodeType)return f}else if(d&&(f=e[b],f&&1==f.nodeType&&G(e,f))){var g=f[a?"firstChild":"lastChild"];if(g&&3==g.nodeType)return g}return null}}function I(a){this.isElementMerge=1==a.nodeType,this.textNodes=[];var b=this.isElementMerge?a.lastChild:a;b&&(this.textNodes[0]=b)}function J(a,b,e){var f,g,h,i,k=this;k.cssClass=k.className=a;var l=null,m={};if("object"==typeof b&&null!==b){for("undefined"!=typeof b.elementTagName&&(b.elementTagName=b.elementTagName.toLowerCase()),e=b.tagNames,l=b.elementProperties,m=b.elementAttributes,g=0;i=Z[g++];)b.hasOwnProperty(i)&&(k[i]=b[i]);f=b.normalize}else f=b;k.normalize="undefined"==typeof f?!0:f,k.attrExceptions=[];var n=document.createElement(k.elementTagName);k.elementProperties=k.copyPropertiesToElement(l,n,!0),c(m,function(a,b){k.attrExceptions.push(a),m[a]=""+b}),k.elementAttributes=m,k.elementSortedClassName=k.elementProperties.hasOwnProperty("className")?j(k.elementProperties.className+" "+a):a,k.applyToAnyTagName=!1;var o=typeof e;if("string"==o)"*"==e?k.applyToAnyTagName=!0:k.tagNames=d(e.toLowerCase()).split(/\s*,\s*/);else if("object"==o&&"number"==typeof e.length)for(k.tagNames=[],g=0,h=e.length;h>g;++g)"*"==e[g]?k.applyToAnyTagName=!0:k.tagNames.push(e[g].toLowerCase());else k.tagNames=[k.elementTagName]}function K(a,b,c){return new J(a,b,c)}var L=a.dom,M=L.DomPosition,N=L.arrayContains,O=a.util,P=O.forEach,Q="span",R=O.isHostMethod(document,"createElementNS"),S=function(){function a(a,b,c){return b&&c?" ":""}return function(b,c){if("object"==typeof b.classList)b.classList.remove(c);else{var d="string"==typeof b.className,e=d?b.className:b.getAttribute("class");e=e.replace(new RegExp("(^|\\s)"+c+"(\\s|$)"),a),d?b.className=e:b.setAttribute("class",e)}}}(),T=L.getComputedStyleProperty,U=function(){var a=document.createElement("div");return"boolean"==typeof a.isContentEditable?function(a){return a&&1==a.nodeType&&a.isContentEditable}:function(a){return a&&1==a.nodeType&&"false"!=a.contentEditable?"true"==a.contentEditable||U(a.parentNode):!1}}(),V=/^inline(-block|-table)?$/i,W=/[^\r\n\t\f \u200B]/,X=H(!1),Y=H(!0);I.prototype={doMerge:function(a){var b=this.textNodes,c=b[0];if(b.length>1){var d,e=L.getNodeIndex(c),f=[],g=0;P(b,function(b,h){d=b.parentNode,h>0&&(d.removeChild(b),d.hasChildNodes()||L.removeNode(d),a&&P(a,function(a){a.node==b&&(a.node=c,a.offset+=g),a.node==d&&a.offset>e&&(--a.offset,a.offset==e+1&&h<len-1&&(a.node=c,a.offset=g))})),f[h]=b.data,g+=b.data.length}),c.data=f.join("")}return c.data},getLength:function(){for(var a=this.textNodes.length,b=0;a--;)b+=this.textNodes[a].length;return b},toString:function(){var a=[];return P(this.textNodes,function(b,c){a[c]="'"+b.data+"'"}),"[Merge("+a.join(",")+")]"}};var Z=["elementTagName","ignoreWhiteSpace","applyToEditableOnly","useExistingElements","removeEmptyElements","onElementCreate"],$={};J.prototype={elementTagName:Q,elementProperties:{},elementAttributes:{},ignoreWhiteSpace:!0,applyToEditableOnly:!1,useExistingElements:!0,removeEmptyElements:!0,onElementCreate:null,copyPropertiesToElement:function(a,b,c){var d,e,f,h,i,k,l={};for(var m in a)if(a.hasOwnProperty(m))if(h=a[m],i=b[m],"className"==m)g(b,h),g(b,this.className),b[m]=j(b[m]),c&&(l[m]=h);else if("style"==m){e=i,c&&(l[m]=f={});for(d in a[m])a[m].hasOwnProperty(d)&&(e[d]=h[d],c&&(f[d]=e[d]));this.attrExceptions.push(m)}else b[m]=h,c&&(l[m]=b[m],k=$.hasOwnProperty(m)?$[m]:m,this.attrExceptions.push(k));return c?l:""},copyAttributesToElement:function(a,b){for(var c in a)a.hasOwnProperty(c)&&!/^class(?:Name)?$/i.test(c)&&b.setAttribute(c,a[c])},appliesToElement:function(a){return N(this.tagNames,a.tagName.toLowerCase())},getEmptyElements:function(a){var b=this;return a.getNodes([1],function(a){return b.appliesToElement(a)&&!a.hasChildNodes()})},hasClass:function(a){return 1==a.nodeType&&(this.applyToAnyTagName||this.appliesToElement(a))&&f(a,this.className)},getSelfOrAncestorWithClass:function(a){for(;a;){if(this.hasClass(a))return a;a=a.parentNode}return null},isModifiable:function(a){return!this.applyToEditableOnly||z(a)},isIgnorableWhiteSpaceNode:function(a){return this.ignoreWhiteSpace&&a&&3==a.nodeType&&B(a)},postApply:function(a,b,c,d){var e,f,g=a[0],h=a[a.length-1],j=[],k=g,l=h,m=0,n=h.length;P(a,function(a){f=X(a,!d),f?(e||(e=new I(f),j.push(e)),e.textNodes.push(a),a===g&&(k=e.textNodes[0],m=k.length),a===h&&(l=e.textNodes[0],n=e.getLength())):e=null});var o=Y(h,!d);if(o&&(e||(e=new I(h),j.push(e)),e.textNodes.push(o)),j.length){for(i=0,len=j.length;i<len;++i)j[i].doMerge(c);b.setStartAndEnd(k,m,l,n)}},createContainer:function(a){var b,c=L.getDocument(a),d=R&&!L.isHtmlNamespace(a)&&(b=a.namespaceURI)?c.createElementNS(a.namespaceURI,this.elementTagName):c.createElement(this.elementTagName);return this.copyPropertiesToElement(this.elementProperties,d,!1),this.copyAttributesToElement(this.elementAttributes,d),g(d,this.className),this.onElementCreate&&this.onElementCreate(d,this),d},elementHasProperties:function(a,b){var d=this;return c(b,function(b,c){if("className"==b)return m(a,c);if("object"==typeof c){if(!d.elementHasProperties(a[b],c))return!1}else if(a[b]!==c)return!1})},elementHasAttributes:function(a,b){return c(b,function(b,c){return a.getAttribute(b)!==c?!1:void 0})},applyToTextNode:function(a,b){if(n(a)){var c=a.parentNode;if(1==c.childNodes.length&&this.useExistingElements&&this.appliesToElement(c)&&this.elementHasProperties(c,this.elementProperties)&&this.elementHasAttributes(c,this.elementAttributes))g(c,this.className);else{var d=a.parentNode,e=this.createContainer(d);d.insertBefore(e,a),e.appendChild(a)}}},isRemovable:function(a){return a.tagName.toLowerCase()==this.elementTagName&&k(a)==this.elementSortedClassName&&this.elementHasProperties(a,this.elementProperties)&&!x(a,this.attrExceptions)&&this.elementHasAttributes(a,this.elementAttributes)&&this.isModifiable(a)},isEmptyContainer:function(a){var b=a.childNodes.length;return 1==a.nodeType&&this.isRemovable(a)&&(0==b||1==b&&this.isEmptyContainer(a.firstChild))},removeEmptyContainers:function(a){var b=this,c=a.getNodes([1],function(a){return b.isEmptyContainer(a)}),d=[a],e=C(d);P(c,function(a){r(a,e)}),D(d,e)},undoToTextNode:function(a,b,c,d){if(!b.containsNode(c)){var e=b.cloneRange();e.selectNode(c),e.isPointInRange(b.endContainer,b.endOffset)&&(F(c,b.endContainer,b.endOffset,d),b.setEndAfter(c)),e.isPointInRange(b.startContainer,b.startOffset)&&(c=F(c,b.startContainer,b.startOffset,d))}this.isRemovable(c)?t(c,d):S(c,this.className)},splitAncestorWithClass:function(a,b,c){var d=this.getSelfOrAncestorWithClass(a);d&&F(d,a,b,c)},undoToAncestor:function(a,b){this.isRemovable(a)?t(a,b):S(a,this.className)},applyToRange:function(a,b){var c=this;b=b||[];var d=C(b||[]);a.splitBoundariesPreservingPositions(d),c.removeEmptyElements&&c.removeEmptyContainers(a);var e=v(a);if(e.length){P(e,function(a){c.isIgnorableWhiteSpaceNode(a)||c.getSelfOrAncestorWithClass(a)||!c.isModifiable(a)||c.applyToTextNode(a,d)});var f=e[e.length-1];a.setStartAndEnd(e[0],0,f,f.length),c.normalize&&c.postApply(e,a,d,!1),D(b,d)}var h=c.getEmptyElements(a);P(h,function(a){g(a,c.className)})},applyToRanges:function(a){for(var b=a.length;b--;)this.applyToRange(a[b],a);return a},applyToSelection:function(b){var c=a.getSelection(b);c.setRanges(this.applyToRanges(c.getAllRanges()))},undoToRange:function(a,b){var c=this;b=b||[];var d=C(b);a.splitBoundariesPreservingPositions(d),c.removeEmptyElements&&c.removeEmptyContainers(a,d);var e,f,g=v(a),h=g[g.length-1];if(g.length){c.splitAncestorWithClass(a.endContainer,a.endOffset,d),c.splitAncestorWithClass(a.startContainer,a.startOffset,d);for(var i=0,j=g.length;j>i;++i)e=g[i],f=c.getSelfOrAncestorWithClass(e),f&&c.isModifiable(e)&&c.undoToAncestor(f,d);a.setStartAndEnd(g[0],0,h,h.length),c.normalize&&c.postApply(g,a,d,!0),D(b,d)}var k=c.getEmptyElements(a);P(k,function(a){S(a,c.className)})},undoToRanges:function(a){for(var b=a.length;b--;)this.undoToRange(a[b],a);return a},undoToSelection:function(b){var c=a.getSelection(b),d=a.getSelection(b).getAllRanges();this.undoToRanges(d),c.setRanges(d)},isAppliedToRange:function(a){if(a.collapsed||""==a.toString())return!!this.getSelfOrAncestorWithClass(a.commonAncestorContainer);var b=a.getNodes([3]);if(b.length)for(var c,d=0;c=b[d++];)if(!this.isIgnorableWhiteSpaceNode(c)&&u(a,c)&&this.isModifiable(c)&&!this.getSelfOrAncestorWithClass(c))return!1;return!0},isAppliedToRanges:function(a){var b=a.length;if(0==b)return!1;for(;b--;)if(!this.isAppliedToRange(a[b]))return!1;return!0},isAppliedToSelection:function(b){var c=a.getSelection(b);return this.isAppliedToRanges(c.getAllRanges())},toggleRange:function(a){this.isAppliedToRange(a)?this.undoToRange(a):this.applyToRange(a)},toggleSelection:function(a){this.isAppliedToSelection(a)?this.undoToSelection(a):this.applyToSelection(a)},getElementsWithClassIntersectingRange:function(a){var b=[],c=this;return a.getNodes([3],function(a){var d=c.getSelfOrAncestorWithClass(a);d&&!N(b,d)&&b.push(d)}),b},detach:function(){}},J.util={hasClass:f,addClass:g,removeClass:S,getClass:h,hasSameClasses:l,hasAllClasses:m,replaceWithOwnChildren:t,elementsHaveSameNonClassAttributes:w,elementHasNonClassAttributes:x,splitNodeAt:F,isEditableElement:U,isEditingHost:y,isEditable:z},a.CssClassApplier=a.ClassApplier=J,a.createClassApplier=K,O.createAliasForDeprecatedMethod(a,"createCssClassApplier","createClassApplier",b)}),a},this),function(a,b){"function"==typeof define&&define.amd?define(["./rangy-core"],a):"undefined"!=typeof module&&"object"==typeof exports?module.exports=a(require("rangy")):a(b.rangy)}(function(a){return a.createModule("Highlighter",["ClassApplier"],function(a,b){function c(a,b){return a.characterRange.start-b.characterRange.start}function d(a,b){return b?a.getElementById(b):m(a)}function e(a,b){this.type=a,this.converterCreator=b}function f(a,b){q[a]=new e(a,b)}function g(a){var b=q[a];if(b instanceof e)return b.create();throw new Error("Highlighter type '"+a+"' is not valid")}function h(a,b){this.start=a,this.end=b}function i(a,b,c,d,e,f){e?(this.id=e,p=Math.max(p,e+1)):this.id=p++,this.characterRange=b,this.doc=a,this.classApplier=c,this.converter=d,this.containerElementId=f||null,this.applied=!1}function j(a,b){b=b||"textContent",this.doc=a||document,this.classAppliers={},this.highlights=[],this.converter=g(b)}var k=a.dom,l=k.arrayContains,m=k.getBody,n=a.util.createOptions,o=a.util.forEach,p=1,q={};e.prototype.create=function(){var a=this.converterCreator();return a.type=this.type,a},a.registerHighlighterType=f,h.prototype={intersects:function(a){return this.start<a.end&&this.end>a.start},isContiguousWith:function(a){return this.start==a.end||this.end==a.start},union:function(a){return new h(Math.min(this.start,a.start),Math.max(this.end,a.end))},intersection:function(a){return new h(Math.max(this.start,a.start),Math.min(this.end,a.end))},getComplements:function(a){var b=[];if(this.start>=a.start){if(this.end<=a.end)return[];b.push(new h(a.end,this.end))}else b.push(new h(this.start,Math.min(this.end,a.start))),this.end>a.end&&b.push(new h(a.end,this.end));return b},toString:function(){return"[CharacterRange("+this.start+", "+this.end+")]"}},h.fromCharacterRange=function(a){return new h(a.start,a.end)};var r={rangeToCharacterRange:function(a,b){var c=a.getBookmark(b);return new h(c.start,c.end)},characterRangeToRange:function(b,c,d){var e=a.createRange(b);return e.moveToBookmark({start:c.start,end:c.end,containerNode:d}),e},serializeSelection:function(a,b){for(var c=a.getAllRanges(),d=c.length,e=[],f=1==d&&a.isBackward(),g=0,h=c.length;h>g;++g)e[g]={characterRange:this.rangeToCharacterRange(c[g],b),backward:f};return e},restoreSelection:function(a,b,c){a.removeAllRanges();for(var d,e,f,g=a.win.document,h=0,i=b.length;i>h;++h)e=b[h],f=e.characterRange,d=this.characterRangeToRange(g,e.characterRange,c),a.addRange(d,e.backward)}};f("textContent",function(){return r}),f("TextRange",function(){var b;return function(){if(!b){var c=a.modules.TextRange;if(!c)throw new Error("TextRange module is missing.");if(!c.supported)throw new Error("TextRange module is present but not supported.");b={rangeToCharacterRange:function(a,b){return h.fromCharacterRange(a.toCharacterRange(b))},characterRangeToRange:function(b,c,d){var e=a.createRange(b);return e.selectCharacters(d,c.start,c.end),e},serializeSelection:function(a,b){return a.saveCharacterRanges(b)},restoreSelection:function(a,b,c){a.restoreCharacterRanges(c,b)}}}return b}}()),i.prototype={getContainerElement:function(){return d(this.doc,this.containerElementId)},getRange:function(){return this.converter.characterRangeToRange(this.doc,this.characterRange,this.getContainerElement())},fromRange:function(a){this.characterRange=this.converter.rangeToCharacterRange(a,this.getContainerElement())},getText:function(){return this.getRange().toString()},containsElement:function(a){return this.getRange().containsNodeContents(a.firstChild)},unapply:function(){this.classApplier.undoToRange(this.getRange()),this.applied=!1},apply:function(){this.classApplier.applyToRange(this.getRange()),this.applied=!0},getHighlightElements:function(){return this.classApplier.getElementsWithClassIntersectingRange(this.getRange())},toString:function(){return"[Highlight(ID: "+this.id+", class: "+this.classApplier.className+", character range: "+this.characterRange.start+" - "+this.characterRange.end+")]"}},j.prototype={addClassApplier:function(a){this.classAppliers[a.className]=a},getHighlightForElement:function(a){for(var b=this.highlights,c=0,d=b.length;d>c;++c)if(b[c].containsElement(a))return b[c];return null},removeHighlights:function(a){for(var b,c=0,d=this.highlights.length;d>c;++c)b=this.highlights[c],l(a,b)&&(b.unapply(),this.highlights.splice(c--,1))},removeAllHighlights:function(){this.removeHighlights(this.highlights)},getIntersectingHighlights:function(a){var b=[],c=this.highlights;return o(a,function(a){o(c,function(c){a.intersectsRange(c.getRange())&&!l(b,c)&&b.push(c)})}),b},highlightCharacterRanges:function(b,c,d){var e,f,g,j=this.highlights,k=this.converter,l=this.doc,m=[],p=b?this.classAppliers[b]:null;d=n(d,{containerElementId:null,exclusive:!0});var q,r,s,t=d.containerElementId,u=d.exclusive;t&&(q=this.doc.getElementById(t),q&&(r=a.createRange(this.doc),r.selectNodeContents(q),s=new h(0,r.toString().length)));var v,w,x,y,z,A;for(e=0,f=c.length;f>e;++e)if(v=c[e],z=[],s&&(v=v.intersection(s)),v.start!=v.end){for(g=0;g<j.length;++g)x=!1,t==j[g].containerElementId&&(w=j[g].characterRange,y=p==j[g].classApplier,A=!y&&u,(w.intersects(v)||w.isContiguousWith(v))&&(y||A)&&(A&&o(w.getComplements(v),function(a){z.push(new i(l,a,j[g].classApplier,k,null,t))}),x=!0,y&&(v=w.union(v)))),x?(m.push(j[g]),j[g]=new i(l,w.union(v),p,k,null,t)):z.push(j[g]);p&&z.push(new i(l,v,p,k,null,t)),this.highlights=j=z}o(m,function(a){a.unapply()});var B=[];return o(j,function(a){a.applied||(a.apply(),B.push(a))}),B},highlightRanges:function(b,c,d){var e=[],f=this.converter;d=n(d,{containerElement:null,exclusive:!0});var g,h=d.containerElement,i=h?h.id:null;return h&&(g=a.createRange(h),g.selectNodeContents(h)),o(c,function(a){var b=h?g.intersection(a):a;e.push(f.rangeToCharacterRange(b,h||m(a.getDocument())))}),this.highlightCharacterRanges(b,e,{containerElementId:i,exclusive:d.exclusive})},highlightSelection:function(b,c){var e=this.converter,f=b?this.classAppliers[b]:!1;c=n(c,{containerElementId:null,selection:a.getSelection(this.doc),exclusive:!0});var g=c.containerElementId,i=c.exclusive,j=c.selection,k=j.win.document,l=d(k,g);if(!f&&b!==!1)throw new Error("No class applier found for class '"+b+"'");var m=e.serializeSelection(j,l),p=[];o(m,function(a){p.push(h.fromCharacterRange(a.characterRange))});var q=this.highlightCharacterRanges(b,p,{containerElementId:g,exclusive:i});return e.restoreSelection(j,m,l),q},unhighlightSelection:function(b){b=b||a.getSelection(this.doc);var c=this.getIntersectingHighlights(b.getAllRanges());return this.removeHighlights(c),b.removeAllRanges(),c},getHighlightsInSelection:function(b){return b=b||a.getSelection(this.doc),this.getIntersectingHighlights(b.getAllRanges())},selectionOverlapsHighlight:function(a){return this.getHighlightsInSelection(a).length>0},serialize:function(a){var b,d,e,f,h=this,i=h.highlights;return i.sort(c),a=n(a,{serializeHighlightText:!1,type:h.converter.type}),b=a.type,e=b!=h.converter.type,e&&(f=g(b)),d=["type:"+b],o(i,function(b){var c,g=b.characterRange;e&&(c=b.getContainerElement(),g=f.rangeToCharacterRange(h.converter.characterRangeToRange(h.doc,g,c),c));var i=[g.start,g.end,b.id,b.classApplier.className,b.containerElementId];a.serializeHighlightText&&i.push(b.getText()),d.push(i.join("$"))}),d.join("|")},deserialize:function(a){var b,c,e,f=a.split("|"),j=[],k=f[0],l=!1;if(!k||!(b=/^type:(\w+)$/.exec(k)))throw new Error("Serialized highlights are invalid.");c=b[1],c!=this.converter.type&&(e=g(c),l=!0),f.shift();for(var m,n,o,p,q,r,s=f.length;s-- >0;){if(r=f[s].split("$"),o=new h(+r[0],+r[1]),p=r[4]||null,l&&(q=d(this.doc,p),o=this.converter.rangeToCharacterRange(e.characterRangeToRange(this.doc,o,q),q)),m=this.classAppliers[r[3]],!m)throw new Error("No class applier found for class '"+r[3]+"'");n=new i(this.doc,o,m,this.converter,parseInt(r[2]),p),n.apply(),j.push(n)}this.highlights=j}},a.Highlighter=j,a.createHighlighter=function(a,b){return new j(a,b)}}),a},this),function(a,b){"function"==typeof define&&define.amd?define(["./rangy-core"],a):"undefined"!=typeof module&&"object"==typeof exports?module.exports=a(require("rangy")):a(b.rangy)}(function(a){return a.createModule("SaveRestore",["WrappedRange"],function(a,b){function c(a,b){return(b||document).getElementById(a)}function d(a,b){var c,d="selectionBoundary_"+ +new Date+"_"+(""+Math.random()).slice(2),e=o.getDocument(a.startContainer),f=a.cloneRange();return f.collapse(b),c=e.createElement("span"),c.id=d,c.style.lineHeight="0",c.style.display="none",c.className="rangySelectionBoundary",c.appendChild(e.createTextNode(r)),f.insertNode(c),c}function e(a,d,e,f){var g=c(e,a);g?(d[f?"setStartBefore":"setEndBefore"](g),p(g)):b.warn("Marker element has been removed. Cannot restore selection.")}function f(a,b){return b.compareBoundaryPoints(a.START_TO_START,a)}function g(b,c){var e,f,g=a.DomRange.getRangeDocument(b),h=b.toString(),i=q(c);return b.collapsed?(f=d(b,!1),{document:g,markerId:f.id,collapsed:!0}):(f=d(b,!1),e=d(b,!0),{document:g,startMarkerId:e.id,endMarkerId:f.id,collapsed:!1,backward:i,toString:function(){return"original text: '"+h+"', new text: '"+b.toString()+"'"}})}function h(d,f){var g=d.document;"undefined"==typeof f&&(f=!0);var h=a.createRange(g);if(d.collapsed){var i=c(d.markerId,g);if(i){i.style.display="inline";var j=i.previousSibling;j&&3==j.nodeType?(p(i),h.collapseToPoint(j,j.length)):(h.collapseBefore(i),p(i))}else b.warn("Marker element has been removed. Cannot restore selection.")}else e(g,h,d.startMarkerId,!0),e(g,h,d.endMarkerId,!1);return f&&h.normalizeBoundaries(),h}function i(b,d){var e,h,i=[],j=q(d);b=b.slice(0),b.sort(f);for(var k=0,l=b.length;l>k;++k)i[k]=g(b[k],j);for(k=l-1;k>=0;--k)e=b[k],h=a.DomRange.getRangeDocument(e),e.collapsed?e.collapseAfter(c(i[k].markerId,h)):(e.setEndBefore(c(i[k].endMarkerId,h)),e.setStartAfter(c(i[k].startMarkerId,h)));return i}function j(c){if(!a.isSelectionValid(c))return b.warn("Cannot save selection. This usually happens when the selection is collapsed and the selection document has lost focus."),null;var d=a.getSelection(c),e=d.getAllRanges(),f=1==e.length&&d.isBackward(),g=i(e,f);return f?d.setSingleRange(e[0],f):d.setRanges(e),{win:c,rangeInfos:g,restored:!1}}function k(a){for(var b=[],c=a.length,d=c-1;d>=0;d--)b[d]=h(a[d],!0);return b}function l(b,c){if(!b.restored){var d=b.rangeInfos,e=a.getSelection(b.win),f=k(d),g=d.length;1==g&&c&&a.features.selectionHasExtend&&d[0].backward?(e.removeAllRanges(),e.addRange(f[0],!0)):e.setRanges(f),b.restored=!0}}function m(a,b){var d=c(b,a);d&&p(d)}function n(a){for(var b,c=a.rangeInfos,d=0,e=c.length;e>d;++d)b=c[d],b.collapsed?m(a.doc,b.markerId):(m(a.doc,b.startMarkerId),m(a.doc,b.endMarkerId))}var o=a.dom,p=o.removeNode,q=a.Selection.isDirectionBackward,r="\ufeff";a.util.extend(a,{saveRange:g,restoreRange:h,saveRanges:i,restoreRanges:k,saveSelection:j,restoreSelection:l,removeMarkerElement:m,removeMarkers:n})}),a},this),function(a,b){"function"==typeof define&&define.amd?define(["./rangy-core"],a):"undefined"!=typeof module&&"object"==typeof exports?module.exports=a(require("rangy")):a(b.rangy)}(function(a){return a.createModule("Serializer",["WrappedSelection"],function(a,b){function c(a){return a.replace(/</g,"&lt;").replace(/>/g,"&gt;")}function d(a,b){b=b||[];var e=a.nodeType,f=a.childNodes,g=f.length,h=[e,a.nodeName,g].join(":"),i="",j="";switch(e){case 3:i=c(a.nodeValue);break;case 8:i="<!--"+c(a.nodeValue)+"-->";break;default:i="<"+h+">",j="</>"}i&&b.push(i);for(var k=0;g>k;++k)d(f[k],b);return j&&b.push(j),b}function e(a){var b=d(a).join("");return s(b).toString(16)}function f(a,b,c){var d=[],e=a;for(c=c||t.getDocument(a).documentElement;e&&e!=c;)d.push(t.getNodeIndex(e,!0)),e=e.parentNode;return d.join("/")+":"+b}function g(a,c,d){c||(c=(d||document).documentElement);for(var e,f=a.split(":"),g=c,h=f[0]?f[0].split("/"):[],i=h.length;i--;){if(e=parseInt(h[i],10),!(e<g.childNodes.length))throw b.createError("deserializePosition() failed: node "+t.inspectNode(g)+" has no child with index "+e+", "+i);g=g.childNodes[e]}return new t.DomPosition(g,parseInt(f[1],10))}function h(c,d,g){if(g=g||a.DomRange.getRangeDocument(c).documentElement,!t.isOrIsAncestorOf(g,c.commonAncestorContainer))throw b.createError("serializeRange(): range "+c.inspect()+" is not wholly contained within specified root node "+t.inspectNode(g));var h=f(c.startContainer,c.startOffset,g)+","+f(c.endContainer,c.endOffset,g);return d||(h+="{"+e(g)+"}"),h}function i(c,d,f){d?f=f||t.getDocument(d):(f=f||document,d=f.documentElement);var h=u.exec(c),i=h[4];if(i){var j=e(d);if(i!==j)throw b.createError("deserializeRange(): checksums of serialized range root node ("+i+") and target root node ("+j+") do not match")}var k=g(h[1],d,f),l=g(h[2],d,f),m=a.createRange(f);return m.setStartAndEnd(k.node,k.offset,l.node,l.offset),m}function j(a,b,c){b||(b=(c||document).documentElement);var d=u.exec(a),f=d[3];return!f||f===e(b)}function k(b,c,d){b=a.getSelection(b);for(var e=b.getAllRanges(),f=[],g=0,i=e.length;i>g;++g)f[g]=h(e[g],c,d);return f.join("|")}function l(b,c,d){c?d=d||t.getWindow(c):(d=d||window,
+c=d.document.documentElement);for(var e=b.split("|"),f=a.getSelection(d),g=[],h=0,j=e.length;j>h;++h)g[h]=i(e[h],c,d.document);return f.setRanges(g),f}function m(a,b,c){var d;b?d=c?c.document:t.getDocument(b):(c=c||window,b=c.document.documentElement);for(var e=a.split("|"),f=0,g=e.length;g>f;++f)if(!j(e[f],b,d))return!1;return!0}function n(a){for(var b,c,d=a.split(/[;,]/),e=0,f=d.length;f>e;++e)if(b=d[e].split("="),b[0].replace(/^\s+/,"")==v&&(c=b[1]))return decodeURIComponent(c.replace(/\s+$/,""));return null}function o(a){a=a||window;var b=n(a.document.cookie);b&&l(b,a.doc)}function p(b,c){b=b||window,c="object"==typeof c?c:{};var d=c.expires?";expires="+c.expires.toUTCString():"",e=c.path?";path="+c.path:"",f=c.domain?";domain="+c.domain:"",g=c.secure?";secure":"",h=k(a.getSelection(b));b.document.cookie=encodeURIComponent(v)+"="+encodeURIComponent(h)+d+e+f+g}var q="undefined",r=a.util;(typeof encodeURIComponent==q||typeof decodeURIComponent==q)&&b.fail("encodeURIComponent and/or decodeURIComponent method is missing");var s=function(){function a(a){for(var b,c=[],d=0,e=a.length;e>d;++d)b=a.charCodeAt(d),128>b?c.push(b):2048>b?c.push(b>>6|192,63&b|128):c.push(b>>12|224,b>>6&63|128,63&b|128);return c}function b(){for(var a,b,c=[],d=0;256>d;++d){for(b=d,a=8;a--;)1==(1&b)?b=b>>>1^3988292384:b>>>=1;c[d]=b>>>0}return c}function c(){return d||(d=b()),d}var d=null;return function(b){for(var d,e=a(b),f=-1,g=c(),h=0,i=e.length;i>h;++h)d=255&(f^e[h]),f=f>>>8^g[d];return(-1^f)>>>0}}(),t=a.dom,u=/^([^,]+),([^,\{]+)(\{([^}]+)\})?$/,v="rangySerializedSelection";r.extend(a,{serializePosition:f,deserializePosition:g,serializeRange:h,deserializeRange:i,canDeserializeRange:j,serializeSelection:k,deserializeSelection:l,canDeserializeSelection:m,restoreSelectionFromCookie:o,saveSelectionCookie:p,getElementChecksum:e,nodeToInfoString:d}),r.crc32=s}),a},this),function(a,b){"function"==typeof define&&define.amd?define(["./rangy-core"],a):"undefined"!=typeof module&&"object"==typeof exports?module.exports=a(require("rangy")):a(b.rangy)}(function(a){return a.createModule("TextRange",["WrappedSelection"],function(a,b){function c(a,b){function c(a,b,c){h.push({start:a,end:b,isWord:c})}for(var d,e,f,g=a.join(""),h=[],i=0;d=b.wordRegex.exec(g);){if(e=d.index,f=e+d[0].length,e>i&&c(i,e,!1),b.includeTrailingSpace)for(;$.test(a[f]);)++f;c(e,f,!0),i=f}return i<a.length&&c(i,a.length,!1),h}function d(a,b){for(var c=a.slice(b.start,b.end),d={isWord:b.isWord,chars:c,toString:function(){return c.join("")}},e=0,f=c.length;f>e;++e)c[e].token=d;return d}function e(a,b,c){for(var e,f=c(a,b),g=[],h=0;e=f[h++];)g.push(d(a,e));return g}function f(a){var b=a||"",c="string"==typeof b?b.split(""):b;return c.sort(function(a,b){return a.charCodeAt(0)-b.charCodeAt(0)}),c.join("").replace(/(.)\1+/g,"$1")}function g(a){var b,c;return a?(b=a.language||_,c={},U(c,ia[b]||ia[_]),U(c,a),c):ia[_]}function h(a,b){var c=V(a,b);return b.hasOwnProperty("wordOptions")&&(c.wordOptions=g(c.wordOptions)),b.hasOwnProperty("characterOptions")&&(c.characterOptions=V(c.characterOptions,ga)),c}function i(a,b){var c=na(a,"display",b),d=a.tagName.toLowerCase();return"block"==c&&fa&&oa.hasOwnProperty(d)?oa[d]:c}function j(a){for(var b=o(a),c=0,d=b.length;d>c;++c)if(1==b[c].nodeType&&"none"==i(b[c]))return!0;return!1}function k(a){var b;return 3==a.nodeType&&(b=a.parentNode)&&"hidden"==na(b,"visibility")}function l(a){return a&&(1==a.nodeType&&!/^(inline(-block|-table)?|none)$/.test(i(a))||9==a.nodeType||11==a.nodeType)}function m(a){return S.isCharacterDataNode(a)||!/^(area|base|basefont|br|col|frame|hr|img|input|isindex|link|meta|param)$/i.test(a.nodeName)}function n(a){for(var b=[];a.parentNode;)b.unshift(a.parentNode),a=a.parentNode;return b}function o(a){return n(a).concat([a])}function p(a){for(;a&&!a.nextSibling;)a=a.parentNode;return a?a.nextSibling:null}function q(a,b){return!b&&a.hasChildNodes()?a.firstChild:p(a)}function r(a){var b=a.previousSibling;if(b){for(a=b;a.hasChildNodes();)a=a.lastChild;return a}var c=a.parentNode;return c&&1==c.nodeType?c:null}function s(a){if(!a||3!=a.nodeType)return!1;var b=a.data;if(""===b)return!0;var c=a.parentNode;if(!c||1!=c.nodeType)return!1;var d=na(a.parentNode,"whiteSpace");return/^[\t\n\r ]+$/.test(b)&&/^(normal|nowrap)$/.test(d)||/^[\t\r ]+$/.test(b)&&"pre-line"==d}function t(a){if(""===a.data)return!0;if(!s(a))return!1;var b=a.parentNode;return b?j(a)?!0:!1:!0}function u(a){var b=a.nodeType;return 7==b||8==b||j(a)||/^(script|style)$/i.test(a.nodeName)||k(a)||t(a)}function v(a,b){var c=a.nodeType;return 7==c||8==c||1==c&&"none"==i(a,b)}function w(){this.store={}}function x(a,b,c){return function(d){var e=this.cache;if(e.hasOwnProperty(a))return pa++,e[a];qa++;var f=b.call(this,c?this[c]:this,d);return e[a]=f,f}}function y(a,b){this.node=a,this.session=b,this.cache=new w,this.positions=new w}function z(a,b){this.offset=b,this.nodeWrapper=a,this.node=a.node,this.session=a.session,this.cache=new w}function A(){return"[Position("+S.inspectNode(this.node)+":"+this.offset+")]"}function B(){return D(),Da=new Ea}function C(){return Da||B()}function D(){Da&&Da.detach(),Da=null}function E(a,c,d,e){function f(){var a=null;return c?(a=h,i||(h=h.previousVisible(),i=!h||d&&h.equals(d))):i||(a=h=h.nextVisible(),i=!h||d&&h.equals(d)),i&&(h=null),a}d&&(c?u(d.node)&&(d=a.previousVisible()):u(d.node)&&(d=d.nextVisible()));var g,h=a,i=!1,j=!1;return{next:function(){if(j)return j=!1,g;for(var a,b;a=f();)if(b=a.getCharacter(e))return g=a,a;return null},rewind:function(){if(!g)throw b.createError("createCharacterIterator: cannot rewind. Only one position can be rewound.");j=!0},dispose:function(){a=d=null}}}function F(a,b,c){function d(a){for(var b,c,d=[],e=a?f:g,h=!1,i=!1;b=e.next();){if(c=b.character,Z.test(c))i&&(i=!1,h=!0);else{if(h){e.rewind();break}i=!0}d.push(b)}return d}var f=E(a,!1,null,b),g=E(a,!0,null,b),h=c.tokenizer,i=d(!0),j=d(!1).reverse(),k=e(j.concat(i),c,h),l=i.length?k.slice(Fa(k,i[0].token)):[],m=j.length?k.slice(0,Fa(k,j.pop().token)+1):[];return{nextEndToken:function(){for(var a,b;1==l.length&&!(a=l[0]).isWord&&(b=d(!0)).length>0;)l=e(a.chars.concat(b),c,h);return l.shift()},previousStartToken:function(){for(var a,b;1==m.length&&!(a=m[0]).isWord&&(b=d(!1)).length>0;)m=e(b.reverse().concat(a.chars),c,h);return m.pop()},dispose:function(){f.dispose(),g.dispose(),l=m=null}}}function G(a,b,c,d,e){var f,g,h,i,j=0,k=a,l=Math.abs(c);if(0!==c){var m=0>c;switch(b){case Q:for(g=E(a,m,null,d);(f=g.next())&&l>j;)++j,k=f;h=f,g.dispose();break;case R:for(var n=F(a,d,e),o=m?n.previousStartToken:n.nextEndToken;(i=o())&&l>j;)i.isWord&&(++j,k=m?i.chars[0]:i.chars[i.chars.length-1]);break;default:throw new Error("movePositionBy: unit '"+b+"' not implemented")}m?(k=k.previousVisible(),j=-j):k&&k.isLeadingSpace&&!k.isTrailingSpace&&(b==R&&(g=E(a,!1,null,d),h=g.next(),g.dispose()),h&&(k=h.previousVisible()))}return{position:k,unitsMoved:j}}function H(a,b,c,d){var e=a.getRangeBoundaryPosition(b,!0),f=a.getRangeBoundaryPosition(b,!1),g=d?f:e,h=d?e:f;return E(g,!!d,h,c)}function I(a,b,c){for(var d,e=[],f=H(a,b,c);d=f.next();)e.push(d);return f.dispose(),e}function J(b,c,d){var e=a.createRange(b.node);return e.setStartAndEnd(b.node,b.offset,c.node,c.offset),!e.expand("word",{wordOptions:d})}function K(a,b,c,d,e){function f(a,b){var c=p[a].previousVisible(),d=p[b-1],f=!e.wholeWordsOnly||J(c,d,e.wordOptions);return{startPos:c,endPos:d,valid:f}}for(var g,h,i,j,k,l,m=aa(e.direction),n=E(a,m,a.session.getRangeBoundaryPosition(d,m),e.characterOptions),o="",p=[],q=null;g=n.next();)if(h=g.character,c||e.caseSensitive||(h=h.toLowerCase()),m?(p.unshift(g),o=h+o):(p.push(g),o+=h),c){if(k=b.exec(o))if(i=k.index,j=i+k[0].length,l){if(!m&&j<o.length||m&&i>0){q=f(i,j);break}}else l=!0}else if(-1!=(i=o.indexOf(b))){q=f(i,i+b.length);break}return l&&(q=f(i,j)),n.dispose(),q}function L(a){return function(){var b=!!Da,c=C(),d=[c].concat(T.toArray(arguments)),e=a.apply(this,d);return b||D(),e}}function M(a,b){return L(function(c,d,e,f){typeof e==P&&(e=d,d=Q),f=h(f,ka);var g=a;b&&(g=e>=0,this.collapse(!g));var i=G(c.getRangeBoundaryPosition(this,g),d,e,f.characterOptions,f.wordOptions),j=i.position;return this[g?"setStart":"setEnd"](j.node,j.offset),i.unitsMoved})}function N(a){return L(function(b,c){c=V(c,ga);for(var d,e=H(b,this,c,!a),f=0;(d=e.next())&&Z.test(d.character);)++f;e.dispose();var g=f>0;return g&&this[a?"moveStart":"moveEnd"]("character",a?f:-f,{characterOptions:c}),g})}function O(a){return L(function(b,c){var d=!1;return this.changeEachRange(function(b){d=b[a](c)||d}),d})}var P="undefined",Q="character",R="word",S=a.dom,T=a.util,U=T.extend,V=T.createOptions,W=S.getBody,X=/^[ \t\f\r\n]+$/,Y=/^[ \t\f\r]+$/,Z=/^[\t-\r \u0085\u00A0\u1680\u180E\u2000-\u200B\u2028\u2029\u202F\u205F\u3000]+$/,$=/^[\t \u00A0\u1680\u180E\u2000-\u200B\u202F\u205F\u3000]+$/,_="en",aa=a.Selection.isDirectionBackward,ba=!1,ca=!1,da=!1,ea=!0;!function(){var b=S.createTestElement(document,"<p>1 </p><p></p>",!0),c=b.firstChild,d=a.getSelection();d.collapse(c.lastChild,2),d.setStart(c.firstChild,0),ba=1==(""+d).length,b.innerHTML="1 <br />",d.collapse(b,2),d.setStart(b.firstChild,0),ca=1==(""+d).length,b.innerHTML="1 <p>1</p>",d.collapse(b,2),d.setStart(b.firstChild,0),da=1==(""+d).length,S.removeNode(b),d.removeAllRanges()}();var fa,ga={includeBlockContentTrailingSpace:!0,includeSpaceBeforeBr:!0,includeSpaceBeforeBlock:!0,includePreLineTrailingSpace:!0,ignoreCharacters:""},ha={includeBlockContentTrailingSpace:!ea,includeSpaceBeforeBr:!ca,includeSpaceBeforeBlock:!da,includePreLineTrailingSpace:!0},ia={en:{wordRegex:/[a-z0-9]+('[a-z0-9]+)*/gi,includeTrailingSpace:!1,tokenizer:c}},ja={caseSensitive:!1,withinRange:null,wholeWordsOnly:!1,wrap:!1,direction:"forward",wordOptions:null,characterOptions:null},ka={wordOptions:null,characterOptions:null},la={wordOptions:null,characterOptions:null,trim:!1,trimStart:!0,trimEnd:!0},ma={wordOptions:null,characterOptions:null,direction:"forward"},na=S.getComputedStyleProperty;!function(){var a=document.createElement("table"),b=W(document);b.appendChild(a),fa="block"==na(a,"display"),b.removeChild(a)}();var oa={table:"table",caption:"table-caption",colgroup:"table-column-group",col:"table-column",thead:"table-header-group",tbody:"table-row-group",tfoot:"table-footer-group",tr:"table-row",td:"table-cell",th:"table-cell"};w.prototype={get:function(a){return this.store.hasOwnProperty(a)?this.store[a]:null},set:function(a,b){return this.store[a]=b}};var pa=0,qa=0,ra={getPosition:function(a){var b=this.positions;return b.get(a)||b.set(a,new z(this,a))},toString:function(){return"[NodeWrapper("+S.inspectNode(this.node)+")]"}};y.prototype=ra;var sa="EMPTY",ta="NON_SPACE",ua="UNCOLLAPSIBLE_SPACE",va="COLLAPSIBLE_SPACE",wa="TRAILING_SPACE_BEFORE_BLOCK",xa="TRAILING_SPACE_IN_BLOCK",ya="TRAILING_SPACE_BEFORE_BR",za="PRE_LINE_TRAILING_SPACE_BEFORE_LINE_BREAK",Aa="TRAILING_LINE_BREAK_AFTER_BR",Ba="INCLUDED_TRAILING_LINE_BREAK_AFTER_BR";U(ra,{isCharacterDataNode:x("isCharacterDataNode",S.isCharacterDataNode,"node"),getNodeIndex:x("nodeIndex",S.getNodeIndex,"node"),getLength:x("nodeLength",S.getNodeLength,"node"),containsPositions:x("containsPositions",m,"node"),isWhitespace:x("isWhitespace",s,"node"),isCollapsedWhitespace:x("isCollapsedWhitespace",t,"node"),getComputedDisplay:x("computedDisplay",i,"node"),isCollapsed:x("collapsed",u,"node"),isIgnored:x("ignored",v,"node"),next:x("nextPos",q,"node"),previous:x("previous",r,"node"),getTextNodeInfo:x("textNodeInfo",function(a){var b=null,c=!1,d=na(a.parentNode,"whiteSpace"),e="pre-line"==d;return e?(b=Y,c=!0):("normal"==d||"nowrap"==d)&&(b=X,c=!0),{node:a,text:a.data,spaceRegex:b,collapseSpaces:c,preLine:e}},"node"),hasInnerText:x("hasInnerText",function(a,b){for(var c=this.session,d=c.getPosition(a.parentNode,this.getNodeIndex()+1),e=c.getPosition(a,0),f=b?d:e,g=b?e:d;f!==g;){if(f.prepopulateChar(),f.isDefinitelyNonEmpty())return!0;f=b?f.previousVisible():f.nextVisible()}return!1},"node"),isRenderedBlock:x("isRenderedBlock",function(a){for(var b=a.getElementsByTagName("br"),c=0,d=b.length;d>c;++c)if(!u(b[c]))return!0;return this.hasInnerText()},"node"),getTrailingSpace:x("trailingSpace",function(a){if("br"==a.tagName.toLowerCase())return"";switch(this.getComputedDisplay()){case"inline":for(var b=a.lastChild;b;){if(!v(b))return 1==b.nodeType?this.session.getNodeWrapper(b).getTrailingSpace():"";b=b.previousSibling}break;case"inline-block":case"inline-table":case"none":case"table-column":case"table-column-group":break;case"table-cell":return"     ";default:return this.isRenderedBlock(!0)?"\n":""}return""},"node"),getLeadingSpace:x("leadingSpace",function(a){switch(this.getComputedDisplay()){case"inline":case"inline-block":case"inline-table":case"none":case"table-column":case"table-column-group":case"table-cell":break;default:return this.isRenderedBlock(!1)?"\n":""}return""},"node")});var Ca={character:"",characterType:sa,isBr:!1,prepopulateChar:function(){var a=this;if(!a.prepopulatedChar){var b=a.node,c=a.offset,d="",e=sa,f=!1;if(c>0)if(3==b.nodeType){var g=b.data,h=g.charAt(c-1),i=a.nodeWrapper.getTextNodeInfo(),j=i.spaceRegex;i.collapseSpaces?j.test(h)?c>1&&j.test(g.charAt(c-2))||(i.preLine&&"\n"===g.charAt(c)?(d=" ",e=za):(d=" ",e=va)):(d=h,e=ta,f=!0):(d=h,e=ua,f=!0)}else{var k=b.childNodes[c-1];if(k&&1==k.nodeType&&!u(k)&&("br"==k.tagName.toLowerCase()?(d="\n",a.isBr=!0,e=va,f=!1):a.checkForTrailingSpace=!0),!d){var l=b.childNodes[c];l&&1==l.nodeType&&!u(l)&&(a.checkForLeadingSpace=!0)}}a.prepopulatedChar=!0,a.character=d,a.characterType=e,a.isCharInvariant=f}},isDefinitelyNonEmpty:function(){var a=this.characterType;return a==ta||a==ua},resolveLeadingAndTrailingSpaces:function(){if(this.prepopulatedChar||this.prepopulateChar(),this.checkForTrailingSpace){var a=this.session.getNodeWrapper(this.node.childNodes[this.offset-1]).getTrailingSpace();a&&(this.isTrailingSpace=!0,this.character=a,this.characterType=va),this.checkForTrailingSpace=!1}if(this.checkForLeadingSpace){var b=this.session.getNodeWrapper(this.node.childNodes[this.offset]).getLeadingSpace();b&&(this.isLeadingSpace=!0,this.character=b,this.characterType=va),this.checkForLeadingSpace=!1}},getPrecedingUncollapsedPosition:function(a){for(var b,c=this;c=c.previousVisible();)if(b=c.getCharacter(a),""!==b)return c;return null},getCharacter:function(a){function b(){return n||(k=o.getPrecedingUncollapsedPosition(a),n=!0),k}this.resolveLeadingAndTrailingSpaces();var c,d=this.character,e=f(a.ignoreCharacters),g=""!==d&&e.indexOf(d)>-1;if(this.isCharInvariant)return c=g?"":d;var h=["character",a.includeSpaceBeforeBr,a.includeBlockContentTrailingSpace,a.includePreLineTrailingSpace,e].join("_"),i=this.cache.get(h);if(null!==i)return i;var j,k,l="",m=this.characterType==va,n=!1,o=this;return m&&(this.type==Ba?l="\n":" "==d&&(!b()||k.isTrailingSpace||"\n"==k.character||" "==k.character&&k.characterType==va)||("\n"==d&&this.isLeadingSpace?b()&&"\n"!=k.character&&(l="\n"):(j=this.nextUncollapsed(),j&&(j.isBr?this.type=ya:j.isTrailingSpace&&"\n"==j.character?this.type=xa:j.isLeadingSpace&&"\n"==j.character&&(this.type=wa),"\n"==j.character?(this.type!=ya||a.includeSpaceBeforeBr)&&(this.type!=wa||a.includeSpaceBeforeBlock)&&(this.type==xa&&j.isTrailingSpace&&!a.includeBlockContentTrailingSpace||(this.type!=za||j.type!=ta||a.includePreLineTrailingSpace)&&("\n"==d?j.isTrailingSpace?this.isTrailingSpace||this.isBr&&(j.type=Aa,b()&&k.isLeadingSpace&&!k.isTrailingSpace&&"\n"==k.character?j.character="":j.type=Ba):l="\n":" "==d&&(l=" "))):l=d)))),e.indexOf(l)>-1&&(l=""),this.cache.set(h,l),l},equals:function(a){return!!a&&this.node===a.node&&this.offset===a.offset},inspect:A,toString:function(){return this.character}};z.prototype=Ca,U(Ca,{next:x("nextPos",function(a){var b=a.nodeWrapper,c=a.node,d=a.offset,e=b.session;if(!c)return null;var f,g,h;return d==b.getLength()?(f=c.parentNode,g=f?b.getNodeIndex()+1:0):b.isCharacterDataNode()?(f=c,g=d+1):(h=c.childNodes[d],e.getNodeWrapper(h).containsPositions()?(f=h,g=0):(f=c,g=d+1)),f?e.getPosition(f,g):null}),previous:x("previous",function(a){var b,c,d,e=a.nodeWrapper,f=a.node,g=a.offset,h=e.session;return 0==g?(b=f.parentNode,c=b?e.getNodeIndex():0):e.isCharacterDataNode()?(b=f,c=g-1):(d=f.childNodes[g-1],h.getNodeWrapper(d).containsPositions()?(b=d,c=S.getNodeLength(d)):(b=f,c=g-1)),b?h.getPosition(b,c):null}),nextVisible:x("nextVisible",function(a){var b=a.next();if(!b)return null;var c=b.nodeWrapper,d=b.node,e=b;return c.isCollapsed()&&(e=c.session.getPosition(d.parentNode,c.getNodeIndex()+1)),e}),nextUncollapsed:x("nextUncollapsed",function(a){for(var b=a;b=b.nextVisible();)if(b.resolveLeadingAndTrailingSpaces(),""!==b.character)return b;return null}),previousVisible:x("previousVisible",function(a){var b=a.previous();if(!b)return null;var c=b.nodeWrapper,d=b.node,e=b;return c.isCollapsed()&&(e=c.session.getPosition(d.parentNode,c.getNodeIndex())),e})});var Da=null,Ea=function(){function a(a){var b=new w;return{get:function(c){var d=b.get(c[a]);if(d)for(var e,f=0;e=d[f++];)if(e.node===c)return e;return null},set:function(c){var d=c.node[a],e=b.get(d)||b.set(d,[]);e.push(c)}}}function b(){this.initCaches()}var c=T.isHostProperty(document.documentElement,"uniqueID");return b.prototype={initCaches:function(){this.elementCache=c?function(){var a=new w;return{get:function(b){return a.get(b.uniqueID)},set:function(b){a.set(b.node.uniqueID,b)}}}():a("tagName"),this.textNodeCache=a("data"),this.otherNodeCache=a("nodeName")},getNodeWrapper:function(a){var b;switch(a.nodeType){case 1:b=this.elementCache;break;case 3:b=this.textNodeCache;break;default:b=this.otherNodeCache}var c=b.get(a);return c||(c=new y(a,this),b.set(c)),c},getPosition:function(a,b){return this.getNodeWrapper(a).getPosition(b)},getRangeBoundaryPosition:function(a,b){var c=b?"start":"end";return this.getPosition(a[c+"Container"],a[c+"Offset"])},detach:function(){this.elementCache=this.textNodeCache=this.otherNodeCache=null}},b}();U(S,{nextNode:q,previousNode:r});var Fa=Array.prototype.indexOf?function(a,b){return a.indexOf(b)}:function(a,b){for(var c=0,d=a.length;d>c;++c)if(a[c]===b)return c;return-1};U(a.rangePrototype,{moveStart:M(!0,!1),moveEnd:M(!1,!1),move:M(!0,!0),trimStart:N(!0),trimEnd:N(!1),trim:L(function(a,b){var c=this.trimStart(b),d=this.trimEnd(b);return c||d}),expand:L(function(a,b,c){var d=!1;c=h(c,la);var e=c.characterOptions;if(b||(b=Q),b==R){var f,g,i=c.wordOptions,j=a.getRangeBoundaryPosition(this,!0),k=a.getRangeBoundaryPosition(this,!1),l=F(j,e,i),m=l.nextEndToken(),n=m.chars[0].previousVisible();if(this.collapsed)f=m;else{var o=F(k,e,i);f=o.previousStartToken()}return g=f.chars[f.chars.length-1],n.equals(j)||(this.setStart(n.node,n.offset),d=!0),g&&!g.equals(k)&&(this.setEnd(g.node,g.offset),d=!0),c.trim&&(c.trimStart&&(d=this.trimStart(e)||d),c.trimEnd&&(d=this.trimEnd(e)||d)),d}return this.moveEnd(Q,1,c)}),text:L(function(a,b){return this.collapsed?"":I(a,this,V(b,ga)).join("")}),selectCharacters:L(function(a,b,c,d,e){var f={characterOptions:e};b||(b=W(this.getDocument())),this.selectNodeContents(b),this.collapse(!0),this.moveStart("character",c,f),this.collapse(!0),this.moveEnd("character",d-c,f)}),toCharacterRange:L(function(a,b,c){b||(b=W(this.getDocument()));var d,e,f=b.parentNode,g=S.getNodeIndex(b),h=-1==S.comparePoints(this.startContainer,this.endContainer,f,g),i=this.cloneRange();return h?(i.setStartAndEnd(this.startContainer,this.startOffset,f,g),d=-i.text(c).length):(i.setStartAndEnd(f,g,this.startContainer,this.startOffset),d=i.text(c).length),e=d+this.text(c).length,{start:d,end:e}}),findText:L(function(b,c,d){d=h(d,ja),d.wholeWordsOnly&&(d.wordOptions.includeTrailingSpace=!1);var e=aa(d.direction),f=d.withinRange;f||(f=a.createRange(),f.selectNodeContents(this.getDocument()));var g=c,i=!1;"string"==typeof g?d.caseSensitive||(g=g.toLowerCase()):i=!0;var j=b.getRangeBoundaryPosition(this,!e),k=f.comparePoint(j.node,j.offset);-1===k?j=b.getRangeBoundaryPosition(f,!0):1===k&&(j=b.getRangeBoundaryPosition(f,!1));for(var l,m=j,n=!1;;)if(l=K(m,g,i,f,d)){if(l.valid)return this.setStartAndEnd(l.startPos.node,l.startPos.offset,l.endPos.node,l.endPos.offset),!0;m=e?l.startPos:l.endPos}else{if(!d.wrap||n)return!1;f=f.cloneRange(),m=b.getRangeBoundaryPosition(f,!e),f.setBoundary(j.node,j.offset,e),n=!0}}),pasteHtml:function(a){if(this.deleteContents(),a){var b=this.createContextualFragment(a),c=b.lastChild;this.insertNode(b),this.collapseAfter(c)}}}),U(a.selectionPrototype,{expand:L(function(a,b,c){this.changeEachRange(function(a){a.expand(b,c)})}),move:L(function(a,b,c,d){var e=0;if(this.focusNode){this.collapse(this.focusNode,this.focusOffset);var f=this.getRangeAt(0);d||(d={}),d.characterOptions=V(d.characterOptions,ha),e=f.move(b,c,d),this.setSingleRange(f)}return e}),trimStart:O("trimStart"),trimEnd:O("trimEnd"),trim:O("trim"),selectCharacters:L(function(b,c,d,e,f,g){var h=a.createRange(c);h.selectCharacters(c,d,e,g),this.setSingleRange(h,f)}),saveCharacterRanges:L(function(a,b,c){for(var d=this.getAllRanges(),e=d.length,f=[],g=1==e&&this.isBackward(),h=0,i=d.length;i>h;++h)f[h]={characterRange:d[h].toCharacterRange(b,c),backward:g,characterOptions:c};return f}),restoreCharacterRanges:L(function(b,c,d){this.removeAllRanges();for(var e,f,g,h=0,i=d.length;i>h;++h)f=d[h],g=f.characterRange,e=a.createRange(c),e.selectCharacters(c,g.start,g.end,f.characterOptions),this.addRange(e,f.backward)}),text:L(function(a,b){for(var c=[],d=0,e=this.rangeCount;e>d;++d)c[d]=this.getRangeAt(d).text(b);return c.join("")})}),a.innerText=function(b,c){var d=a.createRange(b);d.selectNodeContents(b);var e=d.text(c);return e},a.createWordIterator=function(a,b,c){var d=C();c=h(c,ma);var e=d.getPosition(a,b),f=F(e,c.characterOptions,c.wordOptions),g=aa(c.direction);return{next:function(){return g?f.previousStartToken():f.nextEndToken()},dispose:function(){f.dispose(),this.next=function(){}}}},a.noMutation=function(a){var b=C();a(b),D()},a.noMutation.createEntryPointFunction=L,a.textRange={isBlockNode:l,isCollapsedWhitespaceNode:t,createPosition:L(function(a,b,c){return a.getPosition(b,c)})}}),a},this),"undefined"!=typeof module&&"undefined"!=typeof exports&&module.exports===exports&&(module.exports="textAngular"),function(){"use strict";var a={ie:function(){for(var a,b=3,c=document.createElement("div"),d=c.getElementsByTagName("i");c.innerHTML="<!--[if gt IE "+ ++b+"]><i></i><![endif]-->",d[0];);return b>4?b:a}(),webkit:/AppleWebKit\/([\d.]+)/i.test(navigator.userAgent)},b=!1;a.webkit&&(document.addEventListener("mousedown",function(a){var c=a||window.event,d=c.target;if(b&&null!==d){for(var e=!1,f=d;null!==f&&"html"!==f.tagName.toLowerCase()&&!e;)e="true"===f.contentEditable,f=f.parentNode;e||(document.getElementById("textAngular-editableFix-010203040506070809").setSelectionRange(0,0),d.focus(),d.select&&d.select())}b=!1},!1),angular.element(document).ready(function(){angular.element(document.body).append(angular.element('<input id="textAngular-editableFix-010203040506070809" class="ta-hidden-input" aria-hidden="true" unselectable="on" tabIndex="-1">'))}));var c=/^(address|article|aside|audio|blockquote|canvas|dd|div|dl|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hgroup|hr|noscript|ol|output|p|pre|section|table|tfoot|ul|video)$/i,d=/^(ul|li|ol)$/i,e=/^(address|article|aside|audio|blockquote|canvas|dd|div|dl|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hgroup|hr|noscript|ol|output|p|pre|section|table|tfoot|ul|video|li)$/i;String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")});var f,g,h,i,j,k;if(a.ie>8||void 0===a.ie){for(var l=document.styleSheets,m=0;m<l.length;m++)if((0===l[m].media.length||l[m].media.mediaText.match(/(all|screen)/gi))&&l[m].href&&l[m].href.match(/textangular\.(min\.|)css/gi)){f=l[m];break}f||(f=function(){var b=document.createElement("style");return a.webkit&&b.appendChild(document.createTextNode("")),document.getElementsByTagName("head")[0].appendChild(b),b.sheet}()),g=function(a,b){return i(f,a,b)},i=function(a,b,c){var d,e;return a.cssRules?d=Math.max(a.cssRules.length-1,0):a.rules&&(d=Math.max(a.rules.length-1,0)),a.insertRule?a.insertRule(b+"{"+c+"}",d):a.addRule(b,c,d),f.rules?e=f.rules[d]:f.cssRules&&(e=f.cssRules[d]),e},k=function(a,b){var c,d;for(c=0;c<b.length;c++)if(b[c].cssText===a.cssText){d=c;break}return d},h=function(a){j(f,a)},j=function(a,b){var c=a.cssRules||a.rules;if(c&&0!==c.length){var d=k(b,c);a.removeRule?a.removeRule(d):a.deleteRule(d)}}}angular.module("textAngular.factories",[]).factory("taBrowserTag",[function(){return function(b){return b?""===b?void 0===a.ie?"div":a.ie<=8?"P":"p":a.ie<=8?b.toUpperCase():b:a.ie<=8?"P":"p"}}]).factory("taApplyCustomRenderers",["taCustomRenderers","taDOM",function(a,b){return function(c){var d=angular.element("<div></div>");return d[0].innerHTML=c,angular.forEach(a,function(a){var c=[];a.selector&&""!==a.selector?c=d.find(a.selector):a.customAttribute&&""!==a.customAttribute&&(c=b.getByAttribute(d,a.customAttribute)),angular.forEach(c,function(b){b=angular.element(b),a.selector&&""!==a.selector&&a.customAttribute&&""!==a.customAttribute?void 0!==b.attr(a.customAttribute)&&a.renderLogic(b):a.renderLogic(b)})}),d[0].innerHTML}}]).factory("taFixChrome",function(){var a=function(a){if(!a||!angular.isString(a)||a.length<=0)return a;for(var b,c,d,e=/<([^>\/]+?)style=("([^"]+)"|'([^']+)')([^>]*)>/gi,f="",g=0;b=e.exec(a);)c=b[3]||b[4],c&&c.match(/line-height: 1.[0-9]{3,12};|color: inherit; line-height: 1.1;/i)&&(c=c.replace(/( |)font-family: inherit;|( |)line-height: 1.[0-9]{3,12};|( |)color: inherit;/gi,""),d="<"+b[1].trim(),c.trim().length>0&&(d+=" style="+b[2].substring(0,1)+c+b[2].substring(0,1)),d+=b[5].trim()+">",f+=a.substring(g,b.index)+d,g=b.index+b[0].length);return f+=a.substring(g),g>0?f.replace(/<span\s?>(.*?)<\/span>(<br(\/|)>|)/gi,"$1"):a};return a}).factory("taSanitize",["$sanitize",function(a){function b(a,b){for(var c,d=0,e=0,f=/<[^>]*>/gi;c=f.exec(a);)if(e=c.index,"/"===c[0].substr(1,1)){if(0===d)break;d--}else d++;return b+a.substring(0,e)+angular.element(b)[0].outerHTML.substring(b.length)+a.substring(e)}function c(a){if(!a||!angular.isString(a)||a.length<=0)return a;for(var d,f,g,h,i,k,l=/<([^>\/]+?)style=("([^"]+)"|'([^']+)')([^>]*)>/gi,m="",n="",o=0;f=l.exec(a);){h=f[3]||f[4];var p=new RegExp(j,"i");if(angular.isString(h)&&p.test(h)){i="";for(var q=new RegExp(j,"ig");g=q.exec(h);)for(d=0;d<e.length;d++)g[2*d+2]&&(i+="<"+e[d].tag+">");k=c(a.substring(o,f.index)),n+=m.length>0?b(k,m):k,h=h.replace(new RegExp(j,"ig"),""),n+="<"+f[1].trim(),h.length>0&&(n+=' style="'+h+'"'),n+=f[5]+">",o=f.index+f[0].length,m=i}}return n+=m.length>0?b(a.substring(o),m):a.substring(o)}function d(a){if(!a||!angular.isString(a)||a.length<=0)return a;for(var b,c=/<([^>\/]+?)align=("([^"]+)"|'([^']+)')([^>]*)>/gi,d="",e=0;b=c.exec(a);){d+=a.substring(e,b.index),e=b.index+b[0].length;var f="<"+b[1]+b[5];/style=("([^"]+)"|'([^']+)')/gi.test(f)?f=f.replace(/style=("([^"]+)"|'([^']+)')/i,'style="$2$3 text-align:'+(b[3]||b[4])+';"'):f+=' style="text-align:'+(b[3]||b[4])+';"',f+=">",d+=f}return d+a.substring(e)}for(var e=[{property:"font-weight",values:["bold"],tag:"b"},{property:"font-style",values:["italic"],tag:"i"}],f=[],g=0;g<e.length;g++){for(var h="("+e[g].property+":\\s*(",i=0;i<e[g].values.length;i++)i>0&&(h+="|"),h+=e[g].values[i];h+=");)",f.push(h)}var j="("+f.join("|")+")";return function(b,e,f){if(!f)try{b=c(b)}catch(g){}b=d(b);var h;try{h=a(b),f&&(h=b)}catch(g){h=e||""}var i,j=h.match(/(<pre[^>]*>.*?<\/pre[^>]*>)/gi),k=h.replace(/(&#(9|10);)*/gi,""),l=/<pre[^>]*>.*?<\/pre[^>]*>/gi,m=0,n=0;for(h="";null!==(i=l.exec(k))&&m<j.length;)h+=k.substring(n,i.index)+j[m],n=i.index+i[0].length,m++;return h+k.substring(n)}}]).factory("taToolExecuteAction",["$q","$log",function(a,b){return function(c){void 0!==c&&(this.$editor=function(){return c});var d,e=a.defer(),f=e.promise,g=this.$editor();try{d=this.action(e,g.startAction()),f["finally"](function(){g.endAction.call(g)})}catch(h){b.error(h)}(d||void 0===d)&&e.resolve()}}]),angular.module("textAngular.DOM",["textAngular.factories"]).factory("taExecCommand",["taSelection","taBrowserTag","$document",function(a,b,e){var f=function(b,c){var d,e,f=b.find("li");for(e=f.length-1;e>=0;e--)d=angular.element("<"+c+">"+f[e].innerHTML+"</"+c+">"),b.after(d);b.remove(),a.setSelectionToElementEnd(d[0])},g=function(b){/(<br(|\/)>)$/i.test(b.innerHTML.trim())?a.setSelectionBeforeElement(angular.element(b).find("br")[0]):a.setSelectionToElementEnd(b)},h=function(a,b){var c=angular.element("<"+b+">"+a[0].innerHTML+"</"+b+">");a.after(c),a.remove(),g(c.find("li")[0])},i=function(a,c,d){for(var e="",f=0;f<a.length;f++)e+="<"+b("li")+">"+a[f].innerHTML+"</"+b("li")+">";var h=angular.element("<"+d+">"+e+"</"+d+">");c.after(h),c.remove(),g(h.find("li")[0])};return function(g,j){return g=b(g),function(k,l,m,n){var o,p,q,r,s,t,u,v=angular.element("<"+g+">");try{u=a.getSelectionElement()}catch(w){}var x=angular.element(u);if(void 0!==u){var y=u.tagName.toLowerCase();if("insertorderedlist"===k.toLowerCase()||"insertunorderedlist"===k.toLowerCase()){var z=b("insertorderedlist"===k.toLowerCase()?"ol":"ul");if(y===z)return f(x,g);if("li"===y&&x.parent()[0].tagName.toLowerCase()===z&&1===x.parent().children().length)return f(x.parent(),g);if("li"===y&&x.parent()[0].tagName.toLowerCase()!==z&&1===x.parent().children().length)return h(x.parent(),z);if(y.match(c)&&!x.hasClass("ta-bind")){if("ol"===y||"ul"===y)return h(x,z);var A=!1;return angular.forEach(x.children(),function(a){a.tagName.match(c)&&(A=!0)}),A?i(x.children(),x,z):i([angular.element("<div>"+u.innerHTML+"</div>")[0]],x,z)}if(y.match(c)){if(r=a.getOnlySelectedElements(),0===r.length)p=angular.element("<"+z+"><li>"+u.innerHTML+"</li></"+z+">"),x.html(""),x.append(p);else{if(1===r.length&&("ol"===r[0].tagName.toLowerCase()||"ul"===r[0].tagName.toLowerCase()))return r[0].tagName.toLowerCase()===z?f(angular.element(r[0]),g):h(angular.element(r[0]),z);q="";var B=[];for(o=0;o<r.length;o++)if(3!==r[o].nodeType){var C=angular.element(r[o]);if("li"===r[o].tagName.toLowerCase())continue;q+="ol"===r[o].tagName.toLowerCase()||"ul"===r[o].tagName.toLowerCase()?C[0].innerHTML:"span"!==r[o].tagName.toLowerCase()||"ol"!==r[o].childNodes[0].tagName.toLowerCase()&&"ul"!==r[o].childNodes[0].tagName.toLowerCase()?"<"+b("li")+">"+C[0].innerHTML+"</"+b("li")+">":C[0].childNodes[0].innerHTML,B.unshift(C)}p=angular.element("<"+z+">"+q+"</"+z+">"),B.pop().replaceWith(p),angular.forEach(B,function(a){a.remove()})}return void a.setSelectionToElementEnd(p[0])}}else{if("formatblock"===k.toLowerCase()){for(t=m.toLowerCase().replace(/[<>]/gi,""),"default"===t.trim()&&(t=g,m="<"+g+">"),p="li"===y?x.parent():x;!p[0].tagName||!p[0].tagName.match(c)&&!p.parent().attr("contenteditable");)p=p.parent(),y=(p[0].tagName||"").toLowerCase();if(y===t){r=p.children();var D=!1;for(o=0;o<r.length;o++)D=D||r[o].tagName.match(c);D?(p.after(r),s=p.next(),p.remove(),p=s):(v.append(p[0].childNodes),p.after(v),p.remove(),p=v)}else if(p.parent()[0].tagName.toLowerCase()!==t||p.parent().hasClass("ta-bind"))if(y.match(d))p.wrap(m);else{for(r=a.getOnlySelectedElements(),0===r.length&&(r=[p[0]]),o=0;o<r.length;o++)if(3===r[o].nodeType||!r[o].tagName.match(c))for(;3===r[o].nodeType||!r[o].tagName||!r[o].tagName.match(c);)r[o]=r[o].parentNode;if(angular.element(r[0]).hasClass("ta-bind"))p=angular.element(m),p[0].innerHTML=r[0].innerHTML,r[0].innerHTML=p[0].outerHTML;else if("blockquote"===t){for(q="",o=0;o<r.length;o++)q+=r[o].outerHTML;for(p=angular.element(m),p[0].innerHTML=q,r[0].parentNode.insertBefore(p[0],r[0]),o=r.length-1;o>=0;o--)r[o].parentNode&&r[o].parentNode.removeChild(r[o])}else for(o=0;o<r.length;o++)p=angular.element(m),p[0].innerHTML=r[o].innerHTML,r[o].parentNode.insertBefore(p[0],r[o]),r[o].parentNode.removeChild(r[o])}else{var E=p.parent(),F=E.contents();for(o=0;o<F.length;o++)E.parent().hasClass("ta-bind")&&3===F[o].nodeType&&(v=angular.element("<"+g+">"),
+v[0].innerHTML=F[o].outerHTML,F[o]=v[0]),E.parent()[0].insertBefore(F[o],E[0]);E.remove()}return void a.setSelectionToElementEnd(p[0])}if("createlink"===k.toLowerCase()){var G='<a href="'+m+'" target="'+(n.a.target?n.a.target:"")+'">',H="</a>",I=a.getSelection();if(I.collapsed)a.insertHtml(G+m+H,j);else if(rangy.getSelection().getRangeAt(0).canSurroundContents()){var J=angular.element(G+H)[0];rangy.getSelection().getRangeAt(0).surroundContents(J)}return}if("inserthtml"===k.toLowerCase())return void a.insertHtml(m,j)}}try{e[0].execCommand(k,l,m)}catch(w){}}}}]).service("taSelection",["$window","$document","taDOM",function(a,b,d){var f=b[0],g=a.rangy,h=function(a,b){return a.tagName&&a.tagName.match(/^br$/i)&&0===b&&!a.previousSibling?{element:a.parentNode,offset:0}:{element:a,offset:b}},i={getSelection:function(){var a=g.getSelection().getRangeAt(0),b=a.commonAncestorContainer,c={start:h(a.startContainer,a.startOffset),end:h(a.endContainer,a.endOffset),collapsed:a.collapsed};return b=3===b.nodeType?b.parentNode:b,b.parentNode===c.start.element||b.parentNode===c.end.element?c.container=b.parentNode:c.container=b,c},getOnlySelectedElements:function(){var a=g.getSelection().getRangeAt(0),b=a.commonAncestorContainer;return b=3===b.nodeType?b.parentNode:b,a.getNodes([1],function(a){return a.parentNode===b})},getSelectionElement:function(){return i.getSelection().container},setSelection:function(a,b,c){var d=g.createRange();d.setStart(a,b),d.setEnd(a,c),g.getSelection().setSingleRange(d)},setSelectionBeforeElement:function(a){var b=g.createRange();b.selectNode(a),b.collapse(!0),g.getSelection().setSingleRange(b)},setSelectionAfterElement:function(a){var b=g.createRange();b.selectNode(a),b.collapse(!1),g.getSelection().setSingleRange(b)},setSelectionToElementStart:function(a){var b=g.createRange();b.selectNodeContents(a),b.collapse(!0),g.getSelection().setSingleRange(b)},setSelectionToElementEnd:function(a){var b=g.createRange();b.selectNodeContents(a),b.collapse(!1),a.childNodes&&a.childNodes[a.childNodes.length-1]&&"br"===a.childNodes[a.childNodes.length-1].nodeName&&(b.startOffset=b.endOffset=b.startOffset-1),g.getSelection().setSingleRange(b)},insertHtml:function(a,b){var h,j,k,l,m,n,o,p=angular.element("<div>"+a+"</div>"),q=g.getSelection().getRangeAt(0),r=f.createDocumentFragment(),s=p[0].childNodes,t=!0;if(s.length>0){for(l=[],k=0;k<s.length;k++)"p"===s[k].nodeName.toLowerCase()&&""===s[k].innerHTML.trim()||3===s[k].nodeType&&""===s[k].nodeValue.trim()||(t=t&&!c.test(s[k].nodeName),l.push(s[k]));for(var u=0;u<l.length;u++)n=r.appendChild(l[u]);!t&&q.collapsed&&/^(|<br(|\/)>)$/i.test(q.startContainer.innerHTML)&&q.selectNode(q.startContainer)}else t=!0,n=r=f.createTextNode(a);if(t)q.deleteContents();else if(q.collapsed&&q.startContainer!==b)if(q.startContainer.innerHTML&&q.startContainer.innerHTML.match(/^<[^>]*>$/i))h=q.startContainer,1===q.startOffset?(q.setStartAfter(h),q.setEndAfter(h)):(q.setStartBefore(h),q.setEndBefore(h));else{if(3===q.startContainer.nodeType&&q.startContainer.parentNode!==b)for(h=q.startContainer.parentNode,j=h.cloneNode(),d.splitNodes(h.childNodes,h,j,q.startContainer,q.startOffset);!e.test(h.nodeName);){angular.element(h).after(j),h=h.parentNode;var v=j;j=h.cloneNode(),d.splitNodes(h.childNodes,h,j,v)}else h=q.startContainer,j=h.cloneNode(),d.splitNodes(h.childNodes,h,j,void 0,void 0,q.startOffset);if(angular.element(h).after(j),q.setStartAfter(h),q.setEndAfter(h),/^(|<br(|\/)>)$/i.test(h.innerHTML.trim())&&(q.setStartBefore(h),q.setEndBefore(h),angular.element(h).remove()),/^(|<br(|\/)>)$/i.test(j.innerHTML.trim())&&angular.element(j).remove(),"li"===h.nodeName.toLowerCase()){for(o=f.createDocumentFragment(),m=0;m<r.childNodes.length;m++)p=angular.element("<li>"),d.transferChildNodes(r.childNodes[m],p[0]),d.transferNodeAttributes(r.childNodes[m],p[0]),o.appendChild(p[0]);r=o,n&&(n=r.childNodes[r.childNodes.length-1],n=n.childNodes[n.childNodes.length-1])}}else q.deleteContents();q.insertNode(r),n&&i.setSelectionToElementEnd(n)}};return i}]).service("taDOM",function(){var a={getByAttribute:function(b,c){var d=[],e=b.children();return e.length&&angular.forEach(e,function(b){d=d.concat(a.getByAttribute(angular.element(b),c))}),void 0!==b.attr(c)&&d.push(b),d},transferChildNodes:function(a,b){for(b.innerHTML="";a.childNodes.length>0;)b.appendChild(a.childNodes[0]);return b},splitNodes:function(b,c,d,e,f,g){if(!e&&isNaN(g))throw new Error("taDOM.splitNodes requires a splitNode or splitIndex");for(var h=document.createDocumentFragment(),i=document.createDocumentFragment(),j=0;b.length>0&&(isNaN(g)||g!==j)&&b[0]!==e;)h.appendChild(b[0]),j++;for(!isNaN(f)&&f>=0&&b[0]&&(h.appendChild(document.createTextNode(b[0].nodeValue.substring(0,f))),b[0].nodeValue=b[0].nodeValue.substring(f));b.length>0;)i.appendChild(b[0]);a.transferChildNodes(h,c),a.transferChildNodes(i,d)},transferNodeAttributes:function(a,b){for(var c=0;c<a.attributes.length;c++)b.setAttribute(a.attributes[c].name,a.attributes[c].value);return b}};return a}),angular.module("textAngular.validators",[]).directive("taMaxText",function(){return{restrict:"A",require:"ngModel",link:function(a,b,c,d){var e=parseInt(a.$eval(c.taMaxText));if(isNaN(e))throw"Max text must be an integer";c.$observe("taMaxText",function(a){if(e=parseInt(a),isNaN(e))throw"Max text must be an integer";d.$dirty&&d.$validate()}),d.$validators.taMaxText=function(a){var b=angular.element("<div/>");return b.html(a),b.text().length<=e}}}}).directive("taMinText",function(){return{restrict:"A",require:"ngModel",link:function(a,b,c,d){var e=parseInt(a.$eval(c.taMinText));if(isNaN(e))throw"Min text must be an integer";c.$observe("taMinText",function(a){if(e=parseInt(a),isNaN(e))throw"Min text must be an integer";d.$dirty&&d.$validate()}),d.$validators.taMinText=function(a){var b=angular.element("<div/>");return b.html(a),!b.text().length||b.text().length>=e}}}}),angular.module("textAngular.taBind",["textAngular.factories","textAngular.DOM"]).service("_taBlankTest",[function(){var a=/<(a|abbr|acronym|bdi|bdo|big|cite|code|del|dfn|img|ins|kbd|label|map|mark|q|ruby|rp|rt|s|samp|time|tt|var)[^>]*(>|$)/i;return function(b){return function(c){if(!c)return!0;var d,e=/(^[^<]|>)[^<]/i.exec(c);return e?d=e.index:(c=c.toString().replace(/="[^"]*"/i,"").replace(/="[^"]*"/i,"").replace(/="[^"]*"/i,"").replace(/="[^"]*"/i,""),d=c.indexOf(">")),c=c.trim().substring(d,d+100),/^[^<>]+$/i.test(c)?!1:0===c.length||c===b||/^>(\s|&nbsp;)*<\/[^>]+>$/gi.test(c)?!0:/>\s*[^\s<]/i.test(c)||a.test(c)?!1:!0}}}]).directive("taButton",[function(){return{link:function(a,b,c){b.attr("unselectable","on"),b.on("mousedown",function(a,b){return b&&angular.extend(a,b),a.preventDefault(),!1})}}}]).directive("taBind",["taSanitize","$timeout","$window","$document","taFixChrome","taBrowserTag","taSelection","taSelectableElements","taApplyCustomRenderers","taOptions","_taBlankTest","$parse","taDOM","textAngularManager",function(d,f,i,j,k,l,m,o,p,q,r,s,t,u){return{priority:2,require:["ngModel","?ngModelOptions"],link:function(l,v,w,x){function y(a){var b;return R.forEach(function(c){if(c.keyCode===a.keyCode){var d=(a.metaKey?O:0)+(a.ctrlKey?N:0)+(a.shiftKey?Q:0)+(a.altKey?P:0);if(c.forbiddenModifiers&d)return;c.mustHaveModifiers.every(function(a){return d&a})&&(b=c.specialKey)}}),b}var z,A,B,C,D=x[0],E=x[1]||{},F=void 0!==v.attr("contenteditable")&&v.attr("contenteditable"),G=F||"textarea"===v[0].tagName.toLowerCase()||"input"===v[0].tagName.toLowerCase(),H=!1,I=!1,J=!1,K=w.taUnsafeSanitizer||q.disableSanitizer,L=/^(9|19|20|27|33|34|35|36|37|38|39|40|45|112|113|114|115|116|117|118|119|120|121|122|123|144|145)$/i,M=/^(8|13|32|46|59|61|107|109|173|186|187|188|189|190|191|192|219|220|221|222)$/i,N=1,O=2,P=4,Q=8,R=[{specialKey:"UndoKey",forbiddenModifiers:P+Q,mustHaveModifiers:[O+N],keyCode:90},{specialKey:"RedoKey",forbiddenModifiers:P,mustHaveModifiers:[O+N,Q],keyCode:90},{specialKey:"RedoKey",forbiddenModifiers:P+Q,mustHaveModifiers:[O+N],keyCode:89},{specialKey:"TabKey",forbiddenModifiers:O+Q+P+N,mustHaveModifiers:[],keyCode:9},{specialKey:"ShiftTabKey",forbiddenModifiers:O+P+N,mustHaveModifiers:[Q],keyCode:9}];void 0===w.taDefaultWrap&&(w.taDefaultWrap="p"),""===w.taDefaultWrap?(B="",C=void 0===a.ie?"<div><br></div>":a.ie>=11?"<p><br></p>":a.ie<=8?"<P>&nbsp;</P>":"<p>&nbsp;</p>"):(B=void 0===a.ie||a.ie>=11?"<"+w.taDefaultWrap+"><br></"+w.taDefaultWrap+">":a.ie<=8?"<"+w.taDefaultWrap.toUpperCase()+"></"+w.taDefaultWrap.toUpperCase()+">":"<"+w.taDefaultWrap+"></"+w.taDefaultWrap+">",C=void 0===a.ie||a.ie>=11?"<"+w.taDefaultWrap+"><br></"+w.taDefaultWrap+">":a.ie<=8?"<"+w.taDefaultWrap.toUpperCase()+">&nbsp;</"+w.taDefaultWrap.toUpperCase()+">":"<"+w.taDefaultWrap+">&nbsp;</"+w.taDefaultWrap+">"),E.$options||(E.$options={});var S=r(C),T=function(a){if(S(a))return a;var b=angular.element("<div>"+a+"</div>");if(0===b.children().length)a="<"+w.taDefaultWrap+">"+a+"</"+w.taDefaultWrap+">";else{var d,e=b[0].childNodes,f=!1;for(d=0;d<e.length&&!(f=e[d].nodeName.toLowerCase().match(c));d++);if(f)for(a="",d=0;d<e.length;d++){var g=e[d],h=g.nodeName.toLowerCase();if("#comment"===h)a+="<!--"+g.nodeValue+"-->";else if("#text"===h){var i=g.textContent;a+=i.trim()?"<"+w.taDefaultWrap+">"+i+"</"+w.taDefaultWrap+">":i}else if(h.match(c))a+=g.outerHTML;else{var j=g.outerHTML||g.nodeValue;a+=""!==j.trim()?"<"+w.taDefaultWrap+">"+j+"</"+w.taDefaultWrap+">":j}}else a="<"+w.taDefaultWrap+">"+a+"</"+w.taDefaultWrap+">"}return a};w.taPaste&&(A=s(w.taPaste)),v.addClass("ta-bind");var U;l["$undoManager"+(w.id||"")]=D.$undoManager={_stack:[],_index:0,_max:1e3,push:function(a){return"undefined"==typeof a||null===a||"undefined"!=typeof this.current()&&null!==this.current()&&a===this.current()?a:(this._index<this._stack.length-1&&(this._stack=this._stack.slice(0,this._index+1)),this._stack.push(a),U&&f.cancel(U),this._stack.length>this._max&&this._stack.shift(),this._index=this._stack.length-1,a)},undo:function(){return this.setToIndex(this._index-1)},redo:function(){return this.setToIndex(this._index+1)},setToIndex:function(a){return 0>a||a>this._stack.length-1?void 0:(this._index=a,this.current())},current:function(){return this._stack[this._index]}};var V,W=l["$undoTaBind"+(w.id||"")]=function(){if(!H&&F){var a=D.$undoManager.undo();"undefined"!=typeof a&&null!==a&&(ka(a),Z(a,!1),V&&f.cancel(V),V=f(function(){v[0].focus(),m.setSelectionToElementEnd(v[0])},1))}},X=l["$redoTaBind"+(w.id||"")]=function(){if(!H&&F){var a=D.$undoManager.redo();"undefined"!=typeof a&&null!==a&&(ka(a),Z(a,!1),V&&f.cancel(V),V=f(function(){v[0].focus(),m.setSelectionToElementEnd(v[0])},1))}},Y=function(){if(F)return v[0].innerHTML;if(G)return v.val();throw"textAngular Error: attempting to update non-editable taBind"},Z=function(a,b,c){J=c||!1,("undefined"==typeof b||null===b)&&(b=F),("undefined"==typeof a||null===a)&&(a=Y()),S(a)?(""!==D.$viewValue&&D.$setViewValue(""),b&&""!==D.$undoManager.current()&&D.$undoManager.push("")):(ja(),D.$viewValue!==a&&(D.$setViewValue(a),b&&D.$undoManager.push(a))),D.$render()};l["updateTaBind"+(w.id||"")]=function(){H||Z(void 0,void 0,!0)};var $=function(a){return D.$oldViewValue=d(k(a),D.$oldViewValue,K)};if(v.attr("required")&&(D.$validators.required=function(a,b){return!S(a||b)}),D.$parsers.push($),D.$parsers.unshift(T),D.$formatters.push($),D.$formatters.unshift(T),D.$formatters.unshift(function(a){return D.$undoManager.push(a||"")}),G)if(l.events={},F){var _=!1,aa=function(a){if(a&&a.trim().length){if(a.match(/class=["']*Mso(Normal|List)/i)){var b=a.match(/<!--StartFragment-->([\s\S]*?)<!--EndFragment-->/i);b=b?b[1]:a,b=b.replace(/<o:p>[\s\S]*?<\/o:p>/gi,"").replace(/class=(["']|)MsoNormal(["']|)/gi,"");var c=angular.element("<div>"+b+"</div>"),e=angular.element("<div></div>"),g={element:null,lastIndent:[],lastLi:null,isUl:!1};g.lastIndent.peek=function(){var a=this.length;return a>0?this[a-1]:void 0};for(var h=function(a){g.isUl=a,g.element=angular.element(a?"<ul>":"<ol>"),g.lastIndent=[],g.lastIndent.peek=function(){var a=this.length;return a>0?this[a-1]:void 0},g.lastLevelMatch=null},i=0;i<=c[0].childNodes.length;i++)if(c[0].childNodes[i]&&"#text"!==c[0].childNodes[i].nodeName&&"p"===c[0].childNodes[i].tagName.toLowerCase()){var j=angular.element(c[0].childNodes[i]),k=(j.attr("class")||"").match(/MsoList(Bullet|Number|Paragraph)(CxSp(First|Middle|Last)|)/i);if(k){if(j[0].childNodes.length<2||j[0].childNodes[1].childNodes.length<1)continue;var n="bullet"===k[1].toLowerCase()||"number"!==k[1].toLowerCase()&&!(/^[^0-9a-z<]*[0-9a-z]+[^0-9a-z<>]</i.test(j[0].childNodes[1].innerHTML)||/^[^0-9a-z<]*[0-9a-z]+[^0-9a-z<>]</i.test(j[0].childNodes[1].childNodes[0].innerHTML)),o=(j.attr("style")||"").match(/margin-left:([\-\.0-9]*)/i),p=parseFloat(o?o[1]:0),q=(j.attr("style")||"").match(/mso-list:l([0-9]+) level([0-9]+) lfo[0-9+]($|;)/i);if(q&&q[2]&&(p=parseInt(q[2])),q&&(!g.lastLevelMatch||q[1]!==g.lastLevelMatch[1])||!k[3]||"first"===k[3].toLowerCase()||null===g.lastIndent.peek()||g.isUl!==n&&g.lastIndent.peek()===p)h(n),e.append(g.element);else if(null!=g.lastIndent.peek()&&g.lastIndent.peek()<p)g.element=angular.element(n?"<ul>":"<ol>"),g.lastLi.append(g.element);else if(null!=g.lastIndent.peek()&&g.lastIndent.peek()>p){for(;null!=g.lastIndent.peek()&&g.lastIndent.peek()>p;)if("li"!==g.element.parent()[0].tagName.toLowerCase()){if(!/[uo]l/i.test(g.element.parent()[0].tagName.toLowerCase()))break;g.element=g.element.parent(),g.lastIndent.pop()}else g.element=g.element.parent();g.isUl="ul"===g.element[0].tagName.toLowerCase(),n!==g.isUl&&(h(n),e.append(g.element))}g.lastLevelMatch=q,p!==g.lastIndent.peek()&&g.lastIndent.push(p),g.lastLi=angular.element("<li>"),g.element.append(g.lastLi),g.lastLi.html(j.html().replace(/<!(--|)\[if !supportLists\](--|)>[\s\S]*?<!(--|)\[endif\](--|)>/gi,"")),j.remove()}else h(!1),e.append(j)}var r=function(a){a=angular.element(a);for(var b=a[0].childNodes.length-1;b>=0;b--)a.after(a[0].childNodes[b]);a.remove()};angular.forEach(e.find("span"),function(a){a.removeAttribute("lang"),a.attributes.length<=0&&r(a)}),angular.forEach(e.find("font"),r),a=e.html()}else{if(a=a.replace(/<(|\/)meta[^>]*?>/gi,""),a.match(/<[^>]*?(ta-bind)[^>]*?>/)){if(a.match(/<[^>]*?(text-angular)[^>]*?>/)){var s=angular.element("<div>"+a+"</div>");s.find("textarea").remove();for(var u=t.getByAttribute(s,"ta-bind"),w=0;w<u.length;w++){for(var x=u[w][0].parentNode.parentNode,y=0;y<u[w][0].childNodes.length;y++)x.parentNode.insertBefore(u[w][0].childNodes[y],x);x.parentNode.removeChild(x)}a=s.html().replace('<br class="Apple-interchange-newline">',"")}}else a.match(/^<span/)&&(a.match(/<span class=(\"Apple-converted-space\"|\'Apple-converted-space\')>.<\/span>/gi)||(a=a.replace(/<(|\/)span[^>]*?>/gi,"")));a=a.replace(/<br class="Apple-interchange-newline"[^>]*?>/gi,"").replace(/<span class="Apple-converted-space">( |&nbsp;)<\/span>/gi,"&nbsp;")}/<li(\s.*)?>/i.test(a)&&/(<ul(\s.*)?>|<ol(\s.*)?>).*<li(\s.*)?>/i.test(a)===!1&&(a=a.replace(/<li(\s.*)?>.*<\/li(\s.*)?>/i,"<ul>$&</ul>")),a=a.replace(/^[ |\u00A0]+/gm,function(a){for(var b="",c=0;c<a.length;c++)b+="&nbsp;";return b}).replace(/\n|\r\n|\r/g,"<br />").replace(/\t/g,"&nbsp;&nbsp;&nbsp;&nbsp;"),A&&(a=A(l,{$html:a})||a),a=d(a,"",K),m.insertHtml(a,v[0]),f(function(){D.$setViewValue(Y()),_=!1,v.removeClass("processing-paste")},0)}else _=!1,v.removeClass("processing-paste")};v.on("paste",l.events.paste=function(a,b){if(b&&angular.extend(a,b),H||_)return a.stopPropagation(),a.preventDefault(),!1;_=!0,v.addClass("processing-paste");var c,d=(a.originalEvent||a).clipboardData;if(d&&d.getData&&d.types.length>0){for(var e="",g=0;g<d.types.length;g++)e+=" "+d.types[g];return/text\/html/i.test(e)?c=d.getData("text/html"):/text\/plain/i.test(e)&&(c=d.getData("text/plain")),aa(c),a.stopPropagation(),a.preventDefault(),!1}var h=i.rangy.saveSelection(),k=angular.element('<div class="ta-hidden-input" contenteditable="true"></div>');j.find("body").append(k),k[0].focus(),f(function(){i.rangy.restoreSelection(h),aa(k[0].innerHTML),v[0].focus(),k.remove()},0)}),v.on("cut",l.events.cut=function(a){H?a.preventDefault():f(function(){D.$setViewValue(Y())},0)}),v.on("keydown",l.events.keydown=function(a,b){b&&angular.extend(a,b),a.specialKey=y(a);var c;if(q.keyMappings.forEach(function(b){a.specialKey===b.commandKeyCode&&(a.specialKey=void 0),b.testForKey(a)&&(c=b.commandKeyCode),("UndoKey"===b.commandKeyCode||"RedoKey"===b.commandKeyCode)&&(b.enablePropagation||a.preventDefault())}),"undefined"!=typeof c&&(a.specialKey=c),"undefined"==typeof a.specialKey||"UndoKey"===a.specialKey&&"RedoKey"===a.specialKey||(a.preventDefault(),u.sendKeyCommand(l,a)),!H&&("UndoKey"===a.specialKey&&(W(),a.preventDefault()),"RedoKey"===a.specialKey&&(X(),a.preventDefault()),13===a.keyCode&&!a.shiftKey)){var d,f=m.getSelectionElement();if(!f.tagName.match(e))return;var g=angular.element(B);if(/^<br(|\/)>$/i.test(f.innerHTML.trim())&&"blockquote"===f.parentNode.tagName.toLowerCase()&&!f.nextSibling){d=angular.element(f);var h=d.parent();h.after(g),d.remove(),0===h.children().length&&h.remove(),m.setSelectionToElementStart(g[0]),a.preventDefault()}else/^<[^>]+><br(|\/)><\/[^>]+>$/i.test(f.innerHTML.trim())&&"blockquote"===f.tagName.toLowerCase()&&(d=angular.element(f),d.after(g),d.remove(),m.setSelectionToElementStart(g[0]),a.preventDefault())}});var ba;if(v.on("keyup",l.events.keyup=function(a,b){if(b&&angular.extend(a,b),9===a.keyCode){var c=m.getSelection();return void(c.start.element===v[0]&&v.children().length&&m.setSelectionToElementStart(v.children()[0]))}if(U&&f.cancel(U),!H&&!L.test(a.keyCode)){if(""!==B&&13===a.keyCode&&!a.shiftKey){for(var d=m.getSelectionElement();!d.tagName.match(e)&&d!==v[0];)d=d.parentNode;if(d.tagName.toLowerCase()!==w.taDefaultWrap&&"li"!==d.tagName.toLowerCase()&&(""===d.innerHTML.trim()||"<br>"===d.innerHTML.trim())){var g=angular.element(B);angular.element(d).replaceWith(g),m.setSelectionToElementStart(g[0])}}var h=Y();""!==B&&""===h.trim()?(ka(B),m.setSelectionToElementStart(v.children()[0])):"<"!==h.substring(0,1)&&""!==w.taDefaultWrap;var i=z!==a.keyCode&&M.test(a.keyCode);ba&&f.cancel(ba),ba=f(function(){Z(h,i,!0)},E.$options.debounce||400),i||(U=f(function(){D.$undoManager.push(h)},250)),z=a.keyCode}}),v.on("blur",l.events.blur=function(){I=!1,H?(J=!0,D.$render()):Z(void 0,void 0,!0)}),w.placeholder&&(a.ie>8||void 0===a.ie)){var ca;if(!w.id)throw"textAngular Error: An unique ID is required for placeholders to work";ca=g("#"+w.id+".placeholder-text:before",'content: "'+w.placeholder+'"'),l.$on("$destroy",function(){h(ca)})}v.on("focus",l.events.focus=function(){I=!0,v.removeClass("placeholder-text"),ja()}),v.on("mouseup",l.events.mouseup=function(){var a=m.getSelection();a.start.element===v[0]&&v.children().length&&m.setSelectionToElementStart(v.children()[0])}),v.on("mousedown",l.events.mousedown=function(a,b){b&&angular.extend(a,b),a.stopPropagation()})}else{v.on("change blur",l.events.change=l.events.blur=function(){H||D.$setViewValue(Y())}),v.on("keydown",l.events.keydown=function(a,b){if(b&&angular.extend(a,b),9===a.keyCode){var c=this.selectionStart,d=this.selectionEnd,e=v.val();if(a.shiftKey){var f=e.lastIndexOf("\n",c),g=e.lastIndexOf("     ",c);-1!==g&&g>=f&&(v.val(e.substring(0,g)+e.substring(g+1)),this.selectionStart=this.selectionEnd=c-1)}else v.val(e.substring(0,c)+"   "+e.substring(d)),this.selectionStart=this.selectionEnd=c+1;a.preventDefault()}});var da=function(a,b){for(var c="",d=0;b>d;d++)c+=a;return c},ea=function(a,b,c){for(var d=0;d<a.length;d++)b.call(c,d,a[d])},fa=function(a,b){var c="",d=a.childNodes;return b++,c+=da("      ",b-1)+a.outerHTML.substring(0,4),ea(d,function(a,d){var e=d.nodeName.toLowerCase();return"#comment"===e?void(c+="<!--"+d.nodeValue+"-->"):"#text"===e?void(c+=d.textContent):void(d.outerHTML&&(c+="ul"===e||"ol"===e?"\n"+fa(d,b):"\n"+da("   ",b)+d.outerHTML))}),c+="\n"+da("       ",b-1)+a.outerHTML.substring(a.outerHTML.lastIndexOf("<"))};D.$formatters.unshift(function(a){var b=angular.element("<div>"+a+"</div>")[0].childNodes;return b.length>0&&(a="",ea(b,function(b,c){var d=c.nodeName.toLowerCase();return"#comment"===d?void(a+="<!--"+c.nodeValue+"-->"):"#text"===d?void(a+=c.textContent):void(c.outerHTML&&(a.length>0&&(a+="\n"),a+="ul"===d||"ol"===d?""+fa(c,0):""+c.outerHTML))})),a})}var ga,ha=function(a){return l.$emit("ta-element-select",this),a.preventDefault(),!1},ia=function(a,b){if(b&&angular.extend(a,b),!n&&!H){n=!0;var c;c=a.originalEvent?a.originalEvent.dataTransfer:a.dataTransfer,l.$emit("ta-drop-event",this,a,c),f(function(){n=!1,Z(void 0,void 0,!0)},100)}},ja=l["reApplyOnSelectorHandlers"+(w.id||"")]=function(){H||angular.forEach(o,function(a){v.find(a).off("click",ha).on("click",ha)})},ka=function(a){v[0].innerHTML=a},la=!1;D.$render=function(){if(!la){la=!0;var a=D.$viewValue||"";J||(F&&I&&(v.removeClass("placeholder-text"),ga&&f.cancel(ga),ga=f(function(){I||(v[0].focus(),m.setSelectionToElementEnd(v.children()[v.children().length-1])),ga=void 0},1)),F?(ka(w.placeholder?""===a?B:a:""===a?B:a),H?v.off("drop",ia):(ja(),v.on("drop",ia))):"textarea"!==v[0].tagName.toLowerCase()&&"input"!==v[0].tagName.toLowerCase()?ka(p(a)):v.val(a)),F&&w.placeholder&&(""===a?I?v.removeClass("placeholder-text"):v.addClass("placeholder-text"):v.removeClass("placeholder-text")),la=J=!1}},w.taReadonly&&(H=l.$eval(w.taReadonly),H?(v.addClass("ta-readonly"),("textarea"===v[0].tagName.toLowerCase()||"input"===v[0].tagName.toLowerCase())&&v.attr("disabled","disabled"),void 0!==v.attr("contenteditable")&&v.attr("contenteditable")&&v.removeAttr("contenteditable")):(v.removeClass("ta-readonly"),"textarea"===v[0].tagName.toLowerCase()||"input"===v[0].tagName.toLowerCase()?v.removeAttr("disabled"):F&&v.attr("contenteditable","true")),l.$watch(w.taReadonly,function(a,b){b!==a&&(a?(v.addClass("ta-readonly"),("textarea"===v[0].tagName.toLowerCase()||"input"===v[0].tagName.toLowerCase())&&v.attr("disabled","disabled"),void 0!==v.attr("contenteditable")&&v.attr("contenteditable")&&v.removeAttr("contenteditable"),angular.forEach(o,function(a){v.find(a).on("click",ha)}),v.off("drop",ia)):(v.removeClass("ta-readonly"),"textarea"===v[0].tagName.toLowerCase()||"input"===v[0].tagName.toLowerCase()?v.removeAttr("disabled"):F&&v.attr("contenteditable","true"),angular.forEach(o,function(a){v.find(a).off("click",ha)}),v.on("drop",ia)),H=a)})),F&&!H&&(angular.forEach(o,function(a){v.find(a).on("click",ha)}),v.on("drop",ia),v.on("blur",function(){a.webkit&&(b=!0)}))}}}]);var n=!1,o=angular.module("textAngular",["ngSanitize","textAngularSetup","textAngular.factories","textAngular.DOM","textAngular.validators","textAngular.taBind"]);o.config([function(){angular.forEach(taTools,function(a,b){delete taTools[b]})}]),o.run([function(){if("function"==typeof define&&define.amd)define(function(a){window.rangy=a("rangy"),window.rangy.saveSelection=a("rangy/lib/rangy-selectionsaverestore")});else if("function"==typeof require&&"undefined"!=typeof module&&"object"==typeof exports)window.rangy=require("rangy"),window.rangy.saveSelection=require("rangy/lib/rangy-selectionsaverestore");else{if(!window.rangy)throw"rangy-core.js and rangy-selectionsaverestore.js are required for textAngular to work correctly, rangy-core is not yet loaded.";if(window.rangy.init(),!window.rangy.saveSelection)throw"rangy-selectionsaverestore.js is required for textAngular to work correctly."}}]),o.directive("textAngular",["$compile","$timeout","taOptions","taSelection","taExecCommand","textAngularManager","$window","$document","$animate","$log","$q","$parse",function(a,b,c,d,e,f,g,h,i,j,k,l){return{require:"?ngModel",scope:{},restrict:"EA",priority:2,link:function(m,n,o,p){var q,r,s,t,u,v,w,x,y,z,A,B=o.serial?o.serial:Math.floor(1e16*Math.random());m._name=o.name?o.name:"textAngularEditor"+B;var C=function(a,c,d){b(function(){var b=function(){a.off(c,b),d.apply(this,arguments)};a.on(c,b)},100)};if(y=e(o.taDefaultWrap),angular.extend(m,angular.copy(c),{wrapSelection:function(a,b,c){"undo"===a.toLowerCase()?m["$undoTaBindtaTextElement"+B]():"redo"===a.toLowerCase()?m["$redoTaBindtaTextElement"+B]():(y(a,!1,b,m.defaultTagAttributes),c&&m["reApplyOnSelectorHandlerstaTextElement"+B](),m.displayElements.text[0].focus())},showHtml:m.$eval(o.taShowHtml)||!1}),o.taFocussedClass&&(m.classes.focussed=o.taFocussedClass),o.taTextEditorClass&&(m.classes.textEditor=o.taTextEditorClass),o.taHtmlEditorClass&&(m.classes.htmlEditor=o.taHtmlEditorClass),o.taDefaultTagAttributes)try{angular.extend(m.defaultTagAttributes,angular.fromJson(o.taDefaultTagAttributes))}catch(D){j.error(D)}o.taTextEditorSetup&&(m.setup.textEditorSetup=m.$parent.$eval(o.taTextEditorSetup)),o.taHtmlEditorSetup&&(m.setup.htmlEditorSetup=m.$parent.$eval(o.taHtmlEditorSetup)),o.taFileDrop?m.fileDropHandler=m.$parent.$eval(o.taFileDrop):m.fileDropHandler=m.defaultFileDropHandler,w=n[0].innerHTML,n[0].innerHTML="",m.displayElements={forminput:angular.element("<input type='hidden' tabindex='-1' style='display: none;'>"),html:angular.element("<textarea></textarea>"),text:angular.element("<div></div>"),scrollWindow:angular.element("<div class='ta-scroll-window'></div>"),popover:angular.element('<div class="popover fade bottom" style="max-width: none; width: 305px;"></div>'),popoverArrow:angular.element('<div class="arrow"></div>'),popoverContainer:angular.element('<div class="popover-content"></div>'),resize:{overlay:angular.element('<div class="ta-resizer-handle-overlay"></div>'),background:angular.element('<div class="ta-resizer-handle-background"></div>'),anchors:[angular.element('<div class="ta-resizer-handle-corner ta-resizer-handle-corner-tl"></div>'),angular.element('<div class="ta-resizer-handle-corner ta-resizer-handle-corner-tr"></div>'),angular.element('<div class="ta-resizer-handle-corner ta-resizer-handle-corner-bl"></div>'),angular.element('<div class="ta-resizer-handle-corner ta-resizer-handle-corner-br"></div>')],info:angular.element('<div class="ta-resizer-handle-info"></div>')}},m.displayElements.popover.append(m.displayElements.popoverArrow),m.displayElements.popover.append(m.displayElements.popoverContainer),m.displayElements.scrollWindow.append(m.displayElements.popover),m.displayElements.popover.on("mousedown",function(a,b){return b&&angular.extend(a,b),a.preventDefault(),!1}),m.showPopover=function(a){m.displayElements.popover.css("display","block"),m.reflowPopover(a),i.addClass(m.displayElements.popover,"in"),C(h.find("body"),"click keyup",function(){m.hidePopover()})},m.reflowPopover=function(a){m.displayElements.text[0].offsetHeight-51>a[0].offsetTop?(m.displayElements.popover.css("top",a[0].offsetTop+a[0].offsetHeight+m.displayElements.scrollWindow[0].scrollTop+"px"),m.displayElements.popover.removeClass("top").addClass("bottom")):(m.displayElements.popover.css("top",a[0].offsetTop-54+m.displayElements.scrollWindow[0].scrollTop+"px"),m.displayElements.popover.removeClass("bottom").addClass("top"));var b=m.displayElements.text[0].offsetWidth-m.displayElements.popover[0].offsetWidth,c=a[0].offsetLeft+a[0].offsetWidth/2-m.displayElements.popover[0].offsetWidth/2;m.displayElements.popover.css("left",Math.max(0,Math.min(b,c))+"px"),m.displayElements.popoverArrow.css("margin-left",Math.min(c,Math.max(0,c-b))-11+"px")},m.hidePopover=function(){m.displayElements.popover.css("display",""),m.displayElements.popoverContainer.attr("style",""),m.displayElements.popoverContainer.attr("class","popover-content"),m.displayElements.popover.removeClass("in")},m.displayElements.resize.overlay.append(m.displayElements.resize.background),angular.forEach(m.displayElements.resize.anchors,function(a){m.displayElements.resize.overlay.append(a)}),m.displayElements.resize.overlay.append(m.displayElements.resize.info),m.displayElements.scrollWindow.append(m.displayElements.resize.overlay),m.reflowResizeOverlay=function(a){a=angular.element(a)[0],m.displayElements.resize.overlay.css({display:"block",left:a.offsetLeft-5+"px",top:a.offsetTop-5+"px",width:a.offsetWidth+10+"px",height:a.offsetHeight+10+"px"}),m.displayElements.resize.info.text(a.offsetWidth+" x "+a.offsetHeight)},m.showResizeOverlay=function(a){var b=h.find("body");z=function(c){var d={width:parseInt(a.attr("width")),height:parseInt(a.attr("height")),x:c.clientX,y:c.clientY};(void 0===d.width||isNaN(d.width))&&(d.width=a[0].offsetWidth),(void 0===d.height||isNaN(d.height))&&(d.height=a[0].offsetHeight),m.hidePopover();var e=d.height/d.width,f=function(b){function c(a){return Math.round(Math.max(0,a))}var f={x:Math.max(0,d.width+(b.clientX-d.x)),y:Math.max(0,d.height+(b.clientY-d.y))},g=void 0!==o.taResizeForceAspectRatio,h=o.taResizeMaintainAspectRatio,i=g||h&&!b.shiftKey;if(i){var j=f.y/f.x;f.x=e>j?f.x:f.y/e,f.y=e>j?f.x*e:f.y}var k=angular.element(a);k.css("height",c(f.y)+"px"),k.css("width",c(f.x)+"px"),m.reflowResizeOverlay(a)};b.on("mousemove",f),C(b,"mouseup",function(c){c.preventDefault(),c.stopPropagation(),b.off("mousemove",f),m.showPopover(a)}),c.stopPropagation(),c.preventDefault()},m.displayElements.resize.anchors[3].off("mousedown"),m.displayElements.resize.anchors[3].on("mousedown",z),m.reflowResizeOverlay(a),C(b,"click",function(){m.hideResizeOverlay()})},m.hideResizeOverlay=function(){m.displayElements.resize.anchors[3].off("mousedown",z),m.displayElements.resize.overlay.css("display","")},m.setup.htmlEditorSetup(m.displayElements.html),m.setup.textEditorSetup(m.displayElements.text),m.displayElements.html.attr({id:"taHtmlElement"+B,"ng-show":"showHtml","ta-bind":"ta-bind","ng-model":"html","ng-model-options":n.attr("ng-model-options")}),m.displayElements.text.attr({id:"taTextElement"+B,contentEditable:"true","ta-bind":"ta-bind","ng-model":"html","ng-model-options":n.attr("ng-model-options")}),m.displayElements.scrollWindow.attr({"ng-hide":"showHtml"}),o.taDefaultWrap&&m.displayElements.text.attr("ta-default-wrap",o.taDefaultWrap),o.taUnsafeSanitizer&&(m.displayElements.text.attr("ta-unsafe-sanitizer",o.taUnsafeSanitizer),m.displayElements.html.attr("ta-unsafe-sanitizer",o.taUnsafeSanitizer)),m.displayElements.scrollWindow.append(m.displayElements.text),n.append(m.displayElements.scrollWindow),n.append(m.displayElements.html),m.displayElements.forminput.attr("name",m._name),n.append(m.displayElements.forminput),o.tabindex&&(n.removeAttr("tabindex"),m.displayElements.text.attr("tabindex",o.tabindex),m.displayElements.html.attr("tabindex",o.tabindex)),o.placeholder&&(m.displayElements.text.attr("placeholder",o.placeholder),m.displayElements.html.attr("placeholder",o.placeholder)),o.taDisabled&&(m.displayElements.text.attr("ta-readonly","disabled"),m.displayElements.html.attr("ta-readonly","disabled"),m.disabled=m.$parent.$eval(o.taDisabled),m.$parent.$watch(o.taDisabled,function(a){m.disabled=a,m.disabled?n.addClass(m.classes.disabled):n.removeClass(m.classes.disabled)})),o.taPaste&&(m._pasteHandler=function(a){return l(o.taPaste)(m.$parent,{$html:a})},m.displayElements.text.attr("ta-paste","_pasteHandler($html)")),a(m.displayElements.scrollWindow)(m),a(m.displayElements.html)(m),m.updateTaBindtaTextElement=m["updateTaBindtaTextElement"+B],m.updateTaBindtaHtmlElement=m["updateTaBindtaHtmlElement"+B],n.addClass("ta-root"),m.displayElements.scrollWindow.addClass("ta-text ta-editor "+m.classes.textEditor),m.displayElements.html.addClass("ta-html ta-editor "+m.classes.htmlEditor),m._actionRunning=!1;var E=!1;if(m.startAction=function(){return m._actionRunning=!0,E=g.rangy.saveSelection(),function(){E&&g.rangy.restoreSelection(E)}},m.endAction=function(){m._actionRunning=!1,E&&(m.showHtml?m.displayElements.html[0].focus():m.displayElements.text[0].focus(),g.rangy.removeMarkers(E)),E=!1,m.updateSelectedStyles(),m.showHtml||m["updateTaBindtaTextElement"+B]()},u=function(){m.focussed=!0,n.addClass(m.classes.focussed),x.focus(),n.triggerHandler("focus")},m.displayElements.html.on("focus",u),m.displayElements.text.on("focus",u),v=function(a){return m._actionRunning||h[0].activeElement===m.displayElements.html[0]||h[0].activeElement===m.displayElements.text[0]||(n.removeClass(m.classes.focussed),
+x.unfocus(),b(function(){m._bUpdateSelectedStyles=!1,n.triggerHandler("blur"),m.focussed=!1},0)),a.preventDefault(),!1},m.displayElements.html.on("blur",v),m.displayElements.text.on("blur",v),m.displayElements.text.on("paste",function(a){n.triggerHandler("paste",a)}),m.queryFormatBlockState=function(a){return!m.showHtml&&a.toLowerCase()===h[0].queryCommandValue("formatBlock").toLowerCase()},m.queryCommandState=function(a){return m.showHtml?"":h[0].queryCommandState(a)},m.switchView=function(){m.showHtml=!m.showHtml,i.enabled(!1,m.displayElements.html),i.enabled(!1,m.displayElements.text),m.showHtml?b(function(){return i.enabled(!0,m.displayElements.html),i.enabled(!0,m.displayElements.text),m.displayElements.html[0].focus()},100):b(function(){return i.enabled(!0,m.displayElements.html),i.enabled(!0,m.displayElements.text),m.displayElements.text[0].focus()},100)},o.ngModel){var F=!0;p.$render=function(){if(F){F=!1;var a=m.$parent.$eval(o.ngModel);void 0!==a&&null!==a||!w||""===w||p.$setViewValue(w)}m.displayElements.forminput.val(p.$viewValue),m.html=p.$viewValue||""},n.attr("required")&&(p.$validators.required=function(a,b){var c=a||b;return!(!c||""===c.trim())})}else m.displayElements.forminput.val(w),m.html=w;if(m.$watch("html",function(a,b){a!==b&&(o.ngModel&&p.$viewValue!==a&&p.$setViewValue(a),m.displayElements.forminput.val(a))}),o.taTargetToolbars)x=f.registerEditor(m._name,m,o.taTargetToolbars.split(","));else{var G=angular.element('<div text-angular-toolbar name="textAngularToolbar'+B+'">');o.taToolbar&&G.attr("ta-toolbar",o.taToolbar),o.taToolbarClass&&G.attr("ta-toolbar-class",o.taToolbarClass),o.taToolbarGroupClass&&G.attr("ta-toolbar-group-class",o.taToolbarGroupClass),o.taToolbarButtonClass&&G.attr("ta-toolbar-button-class",o.taToolbarButtonClass),o.taToolbarActiveButtonClass&&G.attr("ta-toolbar-active-button-class",o.taToolbarActiveButtonClass),o.taFocussedClass&&G.attr("ta-focussed-class",o.taFocussedClass),n.prepend(G),a(G)(m.$parent),x=f.registerEditor(m._name,m,["textAngularToolbar"+B])}m.$on("$destroy",function(){f.unregisterEditor(m._name),angular.element(window).off("blur")}),m.$on("ta-element-select",function(a,b){x.triggerElementSelect(a,b)&&m["reApplyOnSelectorHandlerstaTextElement"+B]()}),m.$on("ta-drop-event",function(a,c,d,e){m.displayElements.text[0].focus(),e&&e.files&&e.files.length>0?(angular.forEach(e.files,function(a){try{k.when(m.fileDropHandler(a,m.wrapSelection)||m.fileDropHandler!==m.defaultFileDropHandler&&k.when(m.defaultFileDropHandler(a,m.wrapSelection))).then(function(){m["updateTaBindtaTextElement"+B]()})}catch(b){j.error(b)}}),d.preventDefault(),d.stopPropagation()):b(function(){m["updateTaBindtaTextElement"+B]()},0)}),m._bUpdateSelectedStyles=!1,angular.element(window).on("blur",function(){m._bUpdateSelectedStyles=!1,m.focussed=!1}),m.updateSelectedStyles=function(){var a;A&&b.cancel(A),void 0!==(a=d.getSelectionElement())&&a.parentNode!==m.displayElements.text[0]?x.updateSelectedStyles(angular.element(a)):x.updateSelectedStyles(),m._bUpdateSelectedStyles&&(A=b(m.updateSelectedStyles,200))},q=function(){return m.focussed?void(m._bUpdateSelectedStyles||(m._bUpdateSelectedStyles=!0,m.$apply(function(){m.updateSelectedStyles()}))):void(m._bUpdateSelectedStyles=!1)},m.displayElements.html.on("keydown",q),m.displayElements.text.on("keydown",q),r=function(){m._bUpdateSelectedStyles=!1},m.displayElements.html.on("keyup",r),m.displayElements.text.on("keyup",r),s=function(a,b){b&&angular.extend(a,b),m.$apply(function(){return x.sendKeyCommand(a)?(m._bUpdateSelectedStyles||m.updateSelectedStyles(),a.preventDefault(),!1):void 0})},m.displayElements.html.on("keypress",s),m.displayElements.text.on("keypress",s),t=function(){m._bUpdateSelectedStyles=!1,m.$apply(function(){m.updateSelectedStyles()})},m.displayElements.html.on("mouseup",t),m.displayElements.text.on("mouseup",t)}}}]),o.service("textAngularManager",["taToolExecuteAction","taTools","taRegisterTool",function(a,b,c){var d={},e={};return{registerEditor:function(c,f,g){if(!c||""===c)throw"textAngular Error: An editor requires a name";if(!f)throw"textAngular Error: An editor requires a scope";if(e[c])throw'textAngular Error: An Editor with name "'+c+'" already exists';var h=[];return angular.forEach(g,function(a){d[a]&&h.push(d[a])}),e[c]={scope:f,toolbars:g,_registerToolbar:function(a){this.toolbars.indexOf(a.name)>=0&&h.push(a)},editorFunctions:{disable:function(){angular.forEach(h,function(a){a.disabled=!0})},enable:function(){angular.forEach(h,function(a){a.disabled=!1})},focus:function(){angular.forEach(h,function(a){a._parent=f,a.disabled=!1,a.focussed=!0,f.focussed=!0})},unfocus:function(){angular.forEach(h,function(a){a.disabled=!0,a.focussed=!1}),f.focussed=!1},updateSelectedStyles:function(a){angular.forEach(h,function(b){angular.forEach(b.tools,function(c){c.activeState&&(b._parent=f,c.active=c.activeState(a))})})},sendKeyCommand:function(c){var d=!1;return(c.ctrlKey||c.metaKey||c.specialKey)&&angular.forEach(b,function(b,e){if(b.commandKeyCode&&(b.commandKeyCode===c.which||b.commandKeyCode===c.specialKey))for(var g=0;g<h.length;g++)if(void 0!==h[g].tools[e]){a.call(h[g].tools[e],f),d=!0;break}}),d},triggerElementSelect:function(a,c){var d=function(a,b){for(var c=!0,d=0;d<b.length;d++)c=c&&a.attr(b[d]);return c},e=[],g={},i=!1;c=angular.element(c);var j=!1;if(angular.forEach(b,function(a,b){a.onElementSelect&&a.onElementSelect.element&&a.onElementSelect.element.toLowerCase()===c[0].tagName.toLowerCase()&&(!a.onElementSelect.filter||a.onElementSelect.filter(c))&&(j=j||angular.isArray(a.onElementSelect.onlyWithAttrs)&&d(c,a.onElementSelect.onlyWithAttrs),(!a.onElementSelect.onlyWithAttrs||d(c,a.onElementSelect.onlyWithAttrs))&&(g[b]=a))}),j?(angular.forEach(g,function(a,b){a.onElementSelect.onlyWithAttrs&&d(c,a.onElementSelect.onlyWithAttrs)&&e.push({name:b,tool:a})}),e.sort(function(a,b){return b.tool.onElementSelect.onlyWithAttrs.length-a.tool.onElementSelect.onlyWithAttrs.length})):angular.forEach(g,function(a,b){e.push({name:b,tool:a})}),e.length>0)for(var k=0;k<e.length;k++){for(var l=e[k].tool,m=e[k].name,n=0;n<h.length;n++)if(void 0!==h[n].tools[m]){l.onElementSelect.action.call(h[n].tools[m],a,c,f),i=!0;break}if(i)break}return i}}},e[c].editorFunctions},retrieveEditor:function(a){return e[a]},unregisterEditor:function(a){delete e[a]},registerToolbar:function(a){if(!a)throw"textAngular Error: A toolbar requires a scope";if(!a.name||""===a.name)throw"textAngular Error: A toolbar requires a name";if(d[a.name])throw'textAngular Error: A toolbar with name "'+a.name+'" already exists';d[a.name]=a,angular.forEach(e,function(b){b._registerToolbar(a)})},retrieveToolbar:function(a){return d[a]},retrieveToolbarsViaEditor:function(a){var b=[],c=this;return angular.forEach(this.retrieveEditor(a).toolbars,function(a){b.push(c.retrieveToolbar(a))}),b},unregisterToolbar:function(a){delete d[a]},updateToolsDisplay:function(a){var b=this;angular.forEach(a,function(a,c){b.updateToolDisplay(c,a)})},resetToolsDisplay:function(){var a=this;angular.forEach(b,function(b,c){a.resetToolDisplay(c)})},updateToolDisplay:function(a,b){var c=this;angular.forEach(d,function(d,e){c.updateToolbarToolDisplay(e,a,b)})},resetToolDisplay:function(a){var b=this;angular.forEach(d,function(c,d){b.resetToolbarToolDisplay(d,a)})},updateToolbarToolDisplay:function(a,b,c){if(!d[a])throw'textAngular Error: No Toolbar with name "'+a+'" exists';d[a].updateToolDisplay(b,c)},resetToolbarToolDisplay:function(a,c){if(!d[a])throw'textAngular Error: No Toolbar with name "'+a+'" exists';d[a].updateToolDisplay(c,b[c],!0)},removeTool:function(a){delete b[a],angular.forEach(d,function(b){delete b.tools[a];for(var c=0;c<b.toolbar.length;c++){for(var d,e=0;e<b.toolbar[c].length;e++){if(b.toolbar[c][e]===a){d={group:c,index:e};break}if(void 0!==d)break}void 0!==d&&(b.toolbar[d.group].slice(d.index,1),b._$element.children().eq(d.group).children().eq(d.index).remove())}})},addTool:function(a,b,e,f){c(a,b),angular.forEach(d,function(c){c.addTool(a,b,e,f)})},addToolToToolbar:function(a,b,e,f,g){c(a,b),d[e].addTool(a,b,f,g)},refreshEditor:function(a){if(!e[a])throw'textAngular Error: No Editor with name "'+a+'" exists';e[a].scope.updateTaBindtaTextElement(),e[a].scope.$$phase||e[a].scope.$digest()},sendKeyCommand:function(a,b){angular.forEach(e,function(c){return c.editorFunctions.sendKeyCommand(b)?(a._bUpdateSelectedStyles||a.updateSelectedStyles(),b.preventDefault(),!1):void 0})}}}]),o.directive("textAngularToolbar",["$compile","textAngularManager","taOptions","taTools","taToolExecuteAction","$window",function(a,b,c,d,e,f){return{scope:{name:"@"},restrict:"EA",link:function(g,h,i){if(!g.name||""===g.name)throw"textAngular Error: A toolbar requires a name";angular.extend(g,angular.copy(c)),i.taToolbar&&(g.toolbar=g.$parent.$eval(i.taToolbar)),i.taToolbarClass&&(g.classes.toolbar=i.taToolbarClass),i.taToolbarGroupClass&&(g.classes.toolbarGroup=i.taToolbarGroupClass),i.taToolbarButtonClass&&(g.classes.toolbarButton=i.taToolbarButtonClass),i.taToolbarActiveButtonClass&&(g.classes.toolbarButtonActive=i.taToolbarActiveButtonClass),i.taFocussedClass&&(g.classes.focussed=i.taFocussedClass),g.disabled=!0,g.focussed=!1,g._$element=h,h[0].innerHTML="",h.addClass("ta-toolbar "+g.classes.toolbar),g.$watch("focussed",function(){g.focussed?h.addClass(g.classes.focussed):h.removeClass(g.classes.focussed)});var j=function(b,c){var d;if(d=b&&b.display?angular.element(b.display):angular.element("<button type='button'>"),b&&b["class"]?d.addClass(b["class"]):d.addClass(g.classes.toolbarButton),d.attr("name",c.name),d.attr("ta-button","ta-button"),d.attr("ng-disabled","isDisabled()"),d.attr("tabindex","-1"),d.attr("ng-click","executeAction()"),d.attr("ng-class","displayActiveToolClass(active)"),b&&b.tooltiptext&&d.attr("title",b.tooltiptext),b&&!b.display&&!c._display&&(d[0].innerHTML="",b.buttontext&&(d[0].innerHTML=b.buttontext),b.iconclass)){var e=angular.element("<i>"),f=d[0].innerHTML;e.addClass(b.iconclass),d[0].innerHTML="",d.append(e),f&&""!==f&&d.append("&nbsp;"+f)}return c._lastToolDefinition=angular.copy(b),a(d)(c)};g.tools={},g._parent={disabled:!0,showHtml:!1,queryFormatBlockState:function(){return!1},queryCommandState:function(){return!1}};var k={$window:f,$editor:function(){return g._parent},isDisabled:function(){return"function"!=typeof this.$eval("disabled")&&this.$eval("disabled")||this.$eval("disabled()")||"html"!==this.name&&this.$editor().showHtml||this.$parent.disabled||this.$editor().disabled},displayActiveToolClass:function(a){return a?g.classes.toolbarButtonActive:""},executeAction:e};angular.forEach(g.toolbar,function(a){var b=angular.element("<div>");b.addClass(g.classes.toolbarGroup),angular.forEach(a,function(a){g.tools[a]=angular.extend(g.$new(!0),d[a],k,{name:a}),g.tools[a].$element=j(d[a],g.tools[a]),b.append(g.tools[a].$element)}),h.append(b)}),g.updateToolDisplay=function(a,b,c){var d=g.tools[a];if(d){if(d._lastToolDefinition&&!c&&(b=angular.extend({},d._lastToolDefinition,b)),null===b.buttontext&&null===b.iconclass&&null===b.display)throw'textAngular Error: Tool Definition for updating "'+a+'" does not have a valid display/iconclass/buttontext value';null===b.buttontext&&delete b.buttontext,null===b.iconclass&&delete b.iconclass,null===b.display&&delete b.display;var e=j(b,d);d.$element.replaceWith(e),d.$element=e}},g.addTool=function(a,b,c,e){g.tools[a]=angular.extend(g.$new(!0),d[a],k,{name:a}),g.tools[a].$element=j(d[a],g.tools[a]);var f;void 0===c&&(c=g.toolbar.length-1),f=angular.element(h.children()[c]),void 0===e?(f.append(g.tools[a].$element),g.toolbar[c][g.toolbar[c].length-1]=a):(f.children().eq(e).after(g.tools[a].$element),g.toolbar[c][e]=a)},b.registerToolbar(g),g.$on("$destroy",function(){b.unregisterToolbar(g.name)})}}}])}(),function(a,b,c){"use strict";function d(){this.$get=["$$sanitizeUri",function(a){return function(b){"undefined"!=typeof arguments[1]&&(arguments[1].version="taSanitize");var c=[];return g(b,l(c,function(b,c){return!/^unsafe/.test(a(b,c))})),c.join("")}}]}function e(a){var c=[],d=l(c,b.noop);return d.chars(a),c.join("")}function f(a){var b,c={},d=a.split(",");for(b=0;b<d.length;b++)c[d[b]]=!0;return c}function g(a,c){function d(a,d,f,g){if(d=b.lowercase(d),D[d])for(;k.last()&&E[k.last()];)e("",k.last());C[d]&&k.last()==d&&e("",d),g=z[d]||!!g,g||k.push(d);var i={};f.replace(p,function(a,b,c,d,e){var f=c||d||e||"";i[b]=h(f)}),c.start&&c.start(d,i,g)}function e(a,d){var e,f=0;if(d=b.lowercase(d))for(f=k.length-1;f>=0&&k[f]!=d;f--);if(f>=0){for(e=k.length-1;e>=f;e--)c.end&&c.end(k[e]);k.length=f}}"string"!=typeof a&&(a=null===a||"undefined"==typeof a?"":""+a);var f,g,i,j,k=[],l=a;for(k.last=function(){return k[k.length-1]};a;){if(j="",g=!0,k.last()&&G[k.last()])a=a.replace(new RegExp("([^]*)<\\s*\\/\\s*"+k.last()+"[^>]*>","i"),function(a,b){return b=b.replace(s,"$1").replace(v,"$1"),c.chars&&c.chars(h(b)),""}),e("",k.last());else{if(y.test(a)){if(i=a.match(y)){i[0];c.whitespace&&c.whitespace(i[0]),a=a.replace(i[0],""),g=!1}}else t.test(a)?(i=a.match(t),i&&(c.comment&&c.comment(i[1]),a=a.replace(i[0],""),g=!1)):u.test(a)?(i=a.match(u),i&&(a=a.replace(i[0],""),g=!1)):r.test(a)?(i=a.match(o),i&&(a=a.substring(i[0].length),i[0].replace(o,e),g=!1)):q.test(a)&&(i=a.match(n),i?(i[4]&&(a=a.substring(i[0].length),i[0].replace(n,d)),g=!1):(j+="<",a=a.substring(1)));g&&(f=a.indexOf("<"),j+=0>f?a:a.substring(0,f),a=0>f?"":a.substring(f),c.chars&&c.chars(h(j)))}if(a==l)throw m("badparse","The sanitizer was unable to parse the following block of html: {0}",a);l=a}e()}function h(a){if(!a)return"";var b=N.exec(a),c=b[1],d=b[3],e=b[2];return e&&(M.innerHTML=e.replace(/</g,"&lt;"),e="textContent"in M?M.textContent:M.innerText),c+e+d}function i(a){return a.replace(/&/g,"&amp;").replace(w,function(a){var b=a.charCodeAt(0),c=a.charCodeAt(1);return"&#"+(1024*(b-55296)+(c-56320)+65536)+";"}).replace(x,function(a){var b=a.charCodeAt(0);return 159>=b||173==b||b>=1536&&1540>=b||1807==b||6068==b||6069==b||b>=8204&&8207>=b||b>=8232&&8239>=b||b>=8288&&8303>=b||65279==b||b>=65520&&65535>=b?"&#"+b+";":a}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}function j(a){var c="",d=a.split(";");return b.forEach(d,function(a){var d=a.split(":");if(2==d.length){var e=O(b.lowercase(d[0])),a=O(b.lowercase(d[1]));(("color"===e||"background-color"===e)&&(a.match(/^rgb\([0-9%,\. ]*\)$/i)||a.match(/^rgba\([0-9%,\. ]*\)$/i)||a.match(/^hsl\([0-9%,\. ]*\)$/i)||a.match(/^hsla\([0-9%,\. ]*\)$/i)||a.match(/^#[0-9a-f]{3,6}$/i)||a.match(/^[a-z]*$/i))||"text-align"===e&&("left"===a||"right"===a||"center"===a||"justify"===a)||"float"===e&&("left"===a||"right"===a||"none"===a)||("width"===e||"height"===e)&&a.match(/[0-9\.]*(px|em|rem|%)/)||"direction"===e&&a.match(/^ltr|rtl|initial|inherit$/))&&(c+=e+": "+a+";")}}),c}function k(a,b,c,d){return"img"===a&&b["ta-insert-video"]&&("ta-insert-video"===c||"allowfullscreen"===c||"frameborder"===c||"contenteditable"===c&&"false"===d)?!0:!1}function l(a,c){var d=!1,e=b.bind(a,a.push);return{start:function(a,f,g){a=b.lowercase(a),!d&&G[a]&&(d=a),d||H[a]!==!0||(e("<"),e(a),b.forEach(f,function(d,g){var h=b.lowercase(g),l="img"===a&&"src"===h||"background"===h;("style"===h&&""!==(d=j(d))||k(a,f,h,d)||L[h]===!0&&(I[h]!==!0||c(d,l)))&&(e(" "),e(g),e('="'),e(i(d)),e('"'))}),e(g?"/>":">"))},comment:function(a){e(a)},whitespace:function(a){e(i(a))},end:function(a){a=b.lowercase(a),d||H[a]!==!0||(e("</"),e(a),e(">")),a==d&&(d=!1)},chars:function(a){d||e(i(a))}}}var m=b.$$minErr("$sanitize"),n=/^<((?:[a-zA-Z])[\w:-]*)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*(>?)/,o=/^<\/\s*([\w:-]+)[^>]*>/,p=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,q=/^</,r=/^<\//,s=/<!--(.*?)-->/g,t=/(^<!--.*?-->)/,u=/<!DOCTYPE([^>]*?)>/i,v=/<!\[CDATA\[(.*?)]]>/g,w=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,x=/([^\#-~| |!])/g,y=/^(\s+)/,z=f("area,br,col,hr,img,wbr,input"),A=f("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),B=f("rp,rt"),C=b.extend({},B,A),D=b.extend({},A,f("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,script,section,table,ul")),E=b.extend({},B,f("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var")),F=f("animate,animateColor,animateMotion,animateTransform,circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph,hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline,radialGradient,rect,set,stop,svg,switch,text,title,tspan,use"),G=f("script,style"),H=b.extend({},z,D,E,C,F),I=f("background,cite,href,longdesc,src,usemap,xlink:href"),J=f("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,id,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,target,title,type,valign,value,vspace,width"),K=f("accent-height,accumulate,additive,alphabetic,arabic-form,ascent,attributeName,attributeType,baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,underline-thickness,unicode,unicode-range,units-per-em,values,version,viewBox,visibility,width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan"),L=b.extend({},I,K,J),M=document.createElement("pre"),N=/^(\s*)([\s\S]*?)(\s*)$/,O=function(){return String.prototype.trim?function(a){return b.isString(a)?a.trim():a}:function(a){return b.isString(a)?a.replace(/^\s\s*/,"").replace(/\s\s*$/,""):a}}();b.module("ngSanitize",[]).provider("$sanitize",d),b.module("ngSanitize").filter("linky",["$sanitize",function(a){var c=/((ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"”’]/,d=/^mailto:/;return function(f,g){function h(a){a&&n.push(e(a))}function i(a,c){n.push("<a "),b.isDefined(g)&&n.push('target="',g,'" '),n.push('href="',a.replace(/"/g,"&quot;"),'">'),h(c),n.push("</a>")}if(!f)return f;for(var j,k,l,m=f,n=[];j=m.match(c);)k=j[0],j[2]||j[4]||(k=(j[3]?"http://":"mailto:")+k),l=j.index,h(m.substr(0,l)),i(k,j[0].replace(d,"")),m=m.substring(l+j[0].length);return h(m),a(n.join(""))}}])}(window,window.angular);var taTools={};angular.module("textAngularSetup",[]).constant("taRegisterTool",registerTextAngularTool).value("taTools",taTools).value("taOptions",{forceTextAngularSanitize:!0,keyMappings:[],toolbar:[["h1","h2","h3","h4","h5","h6","p","pre","quote"],["bold","italics","underline","strikeThrough","ul","ol","redo","undo","clear"],["justifyLeft","justifyCenter","justifyRight","justifyFull","indent","outdent"],["html","insertImage","insertLink","insertVideo","wordcount","charcount"]],classes:{focussed:"focussed",toolbar:"btn-toolbar",toolbarGroup:"btn-group",toolbarButton:"btn btn-default",toolbarButtonActive:"active",disabled:"disabled",textEditor:"form-control",htmlEditor:"form-control"},defaultTagAttributes:{a:{target:""}},setup:{textEditorSetup:function(a){},htmlEditorSetup:function(a){}},defaultFileDropHandler:function(a,b){var c=new FileReader;return"image"===a.type.substring(0,5)?(c.onload=function(){""!==c.result&&b("insertImage",c.result,!0)},c.readAsDataURL(a),!0):!1}}).value("taSelectableElements",["a","img"]).value("taCustomRenderers",[{selector:"img",customAttribute:"ta-insert-video",renderLogic:function(a){var b=angular.element("<iframe></iframe>"),c=a.prop("attributes");angular.forEach(c,function(a){b.attr(a.name,a.value)}),b.attr("src",b.attr("ta-insert-video")),a.replaceWith(b)}}]).value("taTranslations",{html:{tooltip:"Toggle html / Rich Text"},heading:{tooltip:"Heading "},p:{tooltip:"Paragraph"},pre:{tooltip:"Preformatted text"},ul:{tooltip:"Unordered List"},ol:{tooltip:"Ordered List"},quote:{tooltip:"Quote/unquote selection or paragraph"},undo:{tooltip:"Undo"},redo:{tooltip:"Redo"},bold:{tooltip:"Bold"},italic:{tooltip:"Italic"},underline:{tooltip:"Underline"},strikeThrough:{tooltip:"Strikethrough"},justifyLeft:{tooltip:"Align text left"},justifyRight:{tooltip:"Align text right"},justifyFull:{tooltip:"Justify text"},justifyCenter:{tooltip:"Center"},indent:{tooltip:"Increase indent"},outdent:{tooltip:"Decrease indent"},clear:{tooltip:"Clear formatting"},insertImage:{dialogPrompt:"Please enter an image URL to insert",tooltip:"Insert image",hotkey:"the - possibly language dependent hotkey ... for some future implementation"},insertVideo:{tooltip:"Insert video",dialogPrompt:"Please enter a youtube URL to embed"},insertLink:{tooltip:"Insert / edit link",dialogPrompt:"Please enter a URL to insert"},editLink:{reLinkButton:{tooltip:"Relink"},unLinkButton:{tooltip:"Unlink"},targetToggle:{buttontext:"Open in New Window"}},wordcount:{tooltip:"Display words Count"},charcount:{tooltip:"Display characters Count"}}).factory("taToolFunctions",["$window","taTranslations",function(a,b){return{imgOnSelectAction:function(a,b,c){var d=function(){c.updateTaBindtaTextElement(),c.hidePopover()};a.preventDefault(),c.displayElements.popover.css("width","375px");var e=c.displayElements.popoverContainer;e.empty();var f=angular.element('<div class="btn-group" style="padding-right: 6px;">'),g=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" unselectable="on" tabindex="-1">100% </button>');g.on("click",function(a){a.preventDefault(),b.css({width:"100%",height:""}),d()});var h=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" unselectable="on" tabindex="-1">50% </button>');h.on("click",function(a){a.preventDefault(),b.css({width:"50%",height:""}),d()});var i=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" unselectable="on" tabindex="-1">25% </button>');i.on("click",function(a){a.preventDefault(),b.css({width:"25%",height:""}),d()});var j=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" unselectable="on" tabindex="-1">Reset</button>');j.on("click",function(a){a.preventDefault(),b.css({width:"",height:""}),d()}),f.append(g),f.append(h),f.append(i),f.append(j),e.append(f),f=angular.element('<div class="btn-group" style="padding-right: 6px;">');var k=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" unselectable="on" tabindex="-1"><i class="fa fa-align-left"></i></button>');k.on("click",function(a){a.preventDefault(),b.css("float","left"),b.css("cssFloat","left"),b.css("styleFloat","left"),d()});var l=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" unselectable="on" tabindex="-1"><i class="fa fa-align-right"></i></button>');l.on("click",function(a){a.preventDefault(),b.css("float","right"),b.css("cssFloat","right"),b.css("styleFloat","right"),d()});var m=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" unselectable="on" tabindex="-1"><i class="fa fa-align-justify"></i></button>');m.on("click",function(a){a.preventDefault(),b.css("float",""),b.css("cssFloat",""),b.css("styleFloat",""),d()}),f.append(k),f.append(m),f.append(l),e.append(f),f=angular.element('<div class="btn-group">');var n=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" unselectable="on" tabindex="-1"><i class="fa fa-trash-o"></i></button>');n.on("click",function(a){a.preventDefault(),b.remove(),d()}),f.append(n),e.append(f),c.showPopover(b),c.showResizeOverlay(b)},aOnSelectAction:function(c,d,e){c.preventDefault(),e.displayElements.popover.css("width","436px");var f=e.displayElements.popoverContainer;f.empty(),f.css("line-height","28px");var g=angular.element('<a href="'+d.attr("href")+'" target="_blank">'+d.attr("href")+"</a>");g.css({display:"inline-block","max-width":"200px",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap","vertical-align":"middle"}),f.append(g);var h=angular.element('<div class="btn-group pull-right">'),i=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" tabindex="-1" unselectable="on" title="'+b.editLink.reLinkButton.tooltip+'"><i class="fa fa-edit icon-edit"></i></button>');i.on("click",function(c){c.preventDefault();var f=a.prompt(b.insertLink.dialogPrompt,d.attr("href"));f&&""!==f&&"http://"!==f&&(d.attr("href",f),e.updateTaBindtaTextElement()),e.hidePopover()}),h.append(i);var j=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" tabindex="-1" unselectable="on" title="'+b.editLink.unLinkButton.tooltip+'"><i class="fa fa-unlink icon-unlink"></i></button>');j.on("click",function(a){a.preventDefault(),d.replaceWith(d.contents()),e.updateTaBindtaTextElement(),e.hidePopover()}),h.append(j);var k=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" tabindex="-1" unselectable="on">'+b.editLink.targetToggle.buttontext+"</button>");"_blank"===d.attr("target")&&k.addClass("active"),k.on("click",function(a){a.preventDefault(),d.attr("target","_blank"===d.attr("target")?"":"_blank"),k.toggleClass("active"),e.updateTaBindtaTextElement()}),h.append(k),f.append(h),e.showPopover(d)},extractYoutubeVideoId:function(a){var b=/(?:youtube(?:-nocookie)?\.com\/(?:[^\/\n\s]+\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[?&]v=)|youtu\.be\/)([a-zA-Z0-9_-]{11})/i,c=a.match(b);return c&&c[1]||null}}}]).run(["taRegisterTool","$window","taTranslations","taSelection","taToolFunctions","$sanitize","taOptions",function(a,b,c,d,e,f,g){var h={};if(f("",h),g.forceTextAngularSanitize===!0&&"taSanitize"!==h.version)throw angular.$$minErr("textAngular")("textAngularSetup","The textAngular-sanitize provider has been replaced by another -- have you included angular-sanitize by mistake?");a("html",{iconclass:"fa fa-code",tooltiptext:c.html.tooltip,action:function(){this.$editor().switchView()},activeState:function(){return this.$editor().showHtml}});var i=function(a){return function(){return this.$editor().queryFormatBlockState(a)}},j=function(){return this.$editor().wrapSelection("formatBlock","<"+this.name.toUpperCase()+">")};angular.forEach(["h1","h2","h3","h4","h5","h6"],function(b){a(b.toLowerCase(),{buttontext:b.toUpperCase(),tooltiptext:c.heading.tooltip+b.charAt(1),action:j,activeState:i(b.toLowerCase())})}),a("p",{buttontext:"P",tooltiptext:c.p.tooltip,action:function(){return this.$editor().wrapSelection("formatBlock","<P>")},activeState:function(){return this.$editor().queryFormatBlockState("p")}}),a("pre",{buttontext:"pre",tooltiptext:c.pre.tooltip,action:function(){return this.$editor().wrapSelection("formatBlock","<PRE>")},activeState:function(){return this.$editor().queryFormatBlockState("pre")}}),a("ul",{iconclass:"fa fa-list-ul",tooltiptext:c.ul.tooltip,action:function(){return this.$editor().wrapSelection("insertUnorderedList",null)},activeState:function(){return this.$editor().queryCommandState("insertUnorderedList")}}),a("ol",{iconclass:"fa fa-list-ol",tooltiptext:c.ol.tooltip,action:function(){return this.$editor().wrapSelection("insertOrderedList",null)},activeState:function(){return this.$editor().queryCommandState("insertOrderedList")}}),a("quote",{iconclass:"fa fa-quote-right",tooltiptext:c.quote.tooltip,action:function(){return this.$editor().wrapSelection("formatBlock","<BLOCKQUOTE>")},activeState:function(){return this.$editor().queryFormatBlockState("blockquote")}}),a("undo",{iconclass:"fa fa-undo",tooltiptext:c.undo.tooltip,action:function(){return this.$editor().wrapSelection("undo",null)}}),a("redo",{iconclass:"fa fa-repeat",tooltiptext:c.redo.tooltip,action:function(){return this.$editor().wrapSelection("redo",null)}}),a("bold",{iconclass:"fa fa-bold",tooltiptext:c.bold.tooltip,action:function(){return this.$editor().wrapSelection("bold",null)},activeState:function(){return this.$editor().queryCommandState("bold")},commandKeyCode:98}),a("justifyLeft",{iconclass:"fa fa-align-left",tooltiptext:c.justifyLeft.tooltip,action:function(){return this.$editor().wrapSelection("justifyLeft",null)},activeState:function(a){if(a&&"#document"===a.nodeName)return!1;var b=!1;return a&&(b="left"===a.css("text-align")||"left"===a.attr("align")||"right"!==a.css("text-align")&&"center"!==a.css("text-align")&&"justify"!==a.css("text-align")&&!this.$editor().queryCommandState("justifyRight")&&!this.$editor().queryCommandState("justifyCenter")&&!this.$editor().queryCommandState("justifyFull")),b=b||this.$editor().queryCommandState("justifyLeft")}}),a("justifyRight",{iconclass:"fa fa-align-right",tooltiptext:c.justifyRight.tooltip,action:function(){return this.$editor().wrapSelection("justifyRight",null)},activeState:function(a){if(a&&"#document"===a.nodeName)return!1;var b=!1;return a&&(b="right"===a.css("text-align")),b=b||this.$editor().queryCommandState("justifyRight")}}),a("justifyFull",{iconclass:"fa fa-align-justify",tooltiptext:c.justifyFull.tooltip,action:function(){return this.$editor().wrapSelection("justifyFull",null)},activeState:function(a){var b=!1;return a&&(b="justify"===a.css("text-align")),b=b||this.$editor().queryCommandState("justifyFull")}}),a("justifyCenter",{iconclass:"fa fa-align-center",tooltiptext:c.justifyCenter.tooltip,action:function(){return this.$editor().wrapSelection("justifyCenter",null)},activeState:function(a){if(a&&"#document"===a.nodeName)return!1;var b=!1;return a&&(b="center"===a.css("text-align")),b=b||this.$editor().queryCommandState("justifyCenter")}}),a("indent",{iconclass:"fa fa-indent",tooltiptext:c.indent.tooltip,action:function(){return this.$editor().wrapSelection("indent",null)},activeState:function(){return this.$editor().queryFormatBlockState("blockquote")},commandKeyCode:"TabKey"}),a("outdent",{iconclass:"fa fa-outdent",tooltiptext:c.outdent.tooltip,action:function(){return this.$editor().wrapSelection("outdent",null)},activeState:function(){return!1},commandKeyCode:"ShiftTabKey"}),a("italics",{iconclass:"fa fa-italic",tooltiptext:c.italic.tooltip,action:function(){return this.$editor().wrapSelection("italic",null)},activeState:function(){return this.$editor().queryCommandState("italic")},commandKeyCode:105}),a("underline",{iconclass:"fa fa-underline",tooltiptext:c.underline.tooltip,action:function(){return this.$editor().wrapSelection("underline",null)},activeState:function(){return this.$editor().queryCommandState("underline")},commandKeyCode:117}),a("strikeThrough",{iconclass:"fa fa-strikethrough",tooltiptext:c.strikeThrough.tooltip,action:function(){return this.$editor().wrapSelection("strikeThrough",null)},activeState:function(){return document.queryCommandState("strikeThrough")}}),a("clear",{iconclass:"fa fa-ban",tooltiptext:c.clear.tooltip,action:function(a,b){var c;this.$editor().wrapSelection("removeFormat",null);var e=angular.element(d.getSelectionElement()),f=function(a){a=angular.element(a);var b=a;angular.forEach(a.children(),function(a){var c=angular.element("<p></p>");c.html(angular.element(a).html()),b.after(c),b=c}),a.remove()};if(angular.forEach(e.find("ul"),f),angular.forEach(e.find("ol"),f),"li"===e[0].tagName.toLowerCase()){var g=e[0].parentNode.childNodes,h=[],i=[],j=!1;
+for(c=0;c<g.length;c++)g[c]===e[0]?j=!0:j?i.push(g[c]):h.push(g[c]);var k=angular.element(e[0].parentNode),l=angular.element("<p></p>");if(l.html(angular.element(e[0]).html()),0===h.length||0===i.length)0===i.length?k.after(l):k[0].parentNode.insertBefore(l[0],k[0]),0===h.length&&0===i.length?k.remove():angular.element(e[0]).remove();else{var m=angular.element("<"+k[0].tagName+"></"+k[0].tagName+">"),n=angular.element("<"+k[0].tagName+"></"+k[0].tagName+">");for(c=0;c<h.length;c++)m.append(angular.element(h[c]));for(c=0;c<i.length;c++)n.append(angular.element(i[c]));k.after(n),k.after(l),k.after(m),k.remove()}d.setSelectionToElementEnd(l[0])}var o=this.$editor(),p=function(a){a=angular.element(a),a[0]!==o.displayElements.text[0]&&a.removeAttr("class"),angular.forEach(a.children(),p)};angular.forEach(e,p),"li"!==e[0].tagName.toLowerCase()&&"ol"!==e[0].tagName.toLowerCase()&&"ul"!==e[0].tagName.toLowerCase()&&this.$editor().wrapSelection("formatBlock","default"),b()}}),a("insertImage",{iconclass:"fa fa-picture-o",tooltiptext:c.insertImage.tooltip,action:function(){var a;return a=b.prompt(c.insertImage.dialogPrompt,"http://"),a&&""!==a&&"http://"!==a?this.$editor().wrapSelection("insertImage",a,!0):void 0},onElementSelect:{element:"img",action:e.imgOnSelectAction}}),a("insertVideo",{iconclass:"fa fa-youtube-play",tooltiptext:c.insertVideo.tooltip,action:function(){var a;if(a=b.prompt(c.insertVideo.dialogPrompt,"https://"),a&&""!==a&&"https://"!==a&&(videoId=e.extractYoutubeVideoId(a),videoId)){var d="https://www.youtube.com/embed/"+videoId,f='<img class="ta-insert-video" src="https://img.youtube.com/vi/'+videoId+'/hqdefault.jpg" ta-insert-video="'+d+'" contenteditable="false" allowfullscreen="true" frameborder="0" />';return this.$editor().wrapSelection("insertHTML",f,!0)}},onElementSelect:{element:"img",onlyWithAttrs:["ta-insert-video"],action:e.imgOnSelectAction}}),a("insertLink",{tooltiptext:c.insertLink.tooltip,iconclass:"fa fa-link",action:function(){var a;return a=b.prompt(c.insertLink.dialogPrompt,"http://"),a&&""!==a&&"http://"!==a?this.$editor().wrapSelection("createLink",a,!0):void 0},activeState:function(a){return a?"A"===a[0].tagName:!1},onElementSelect:{element:"a",action:e.aOnSelectAction}}),a("wordcount",{display:'<div id="toolbarWC" style="display:block; min-width:100px;">Words: <span ng-bind="wordcount"></span></div>',disabled:!0,wordcount:0,activeState:function(){var a=this.$editor().displayElements.text,b=a[0].innerHTML||"",c=0;return""!==b.replace(/\s*<[^>]*?>\s*/g,"")&&(c=b.replace(/<\/?(b|i|em|strong|span|u|strikethrough|a|img|small|sub|sup|label)( [^>*?])?>/gi,"").replace(/(<[^>]*?>\s*<[^>]*?>)/gi," ").replace(/(<[^>]*?>)/gi,"").replace(/\s+/gi," ").match(/\S+/g).length),this.wordcount=c,this.$editor().wordcount=c,!1}}),a("charcount",{display:'<div id="toolbarCC" style="display:block; min-width:120px;">Characters: <span ng-bind="charcount"></span></div>',disabled:!0,charcount:0,activeState:function(){var a=this.$editor().displayElements.text,b=a[0].innerText||a[0].textContent,c=b.replace(/(\r\n|\n|\r)/gm,"").replace(/^\s+/g," ").replace(/\s+$/g," ").length;return this.charcount=c,this.$editor().charcount=c,!1}})}]),angular.module("ui.navbar",["ui.bootstrap","template/navbar-ul.html","template/navbar-li.html"]).directive("tree",function(){return{restrict:"E",replace:!0,scope:{tree:"="},templateUrl:"template/navbar-ul.html"}}).directive("leaf",["$compile",function(a){return{restrict:"E",replace:!0,scope:{leaf:"="},templateUrl:"template/navbar-li.html",link:function(b,c,d){if(angular.isArray(b.leaf.subtree)){c.append('<tree tree="leaf.subtree"></tree>');for(var e=c.parent(),f=!1;e.length>0&&!f;)e.hasClass("navbar-right")&&(f=!0),e=e.parent();f?c.addClass("dropdown-submenu-right"):c.addClass("dropdown-submenu"),a(c.contents())(b)}}}}]),angular.module("template/navbar-li.html",[]).run(["$templateCache",function(a){a.put("template/navbar-li.html",'<li ng-class="{divider: leaf.name == \'divider\'}">\n    <a ui-sref="{{leaf.link}}" ng-if="leaf.name !== \'divider\'">{{leaf.name}}</a>\n</li>')}]),angular.module("template/navbar-ul.html",[]).run(["$templateCache",function(a){a.put("template/navbar-ul.html","<ul class='dropdown-menu'>\n    <leaf ng-repeat='leaf in tree' leaf='leaf'></leaf>\n</ul>")}]),function(){"use strict";var a={TAB:9,ENTER:13,ESC:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,SHIFT:16,CTRL:17,ALT:18,PAGE_UP:33,PAGE_DOWN:34,HOME:36,END:35,BACKSPACE:8,DELETE:46,COMMAND:91,MAP:{91:"COMMAND",8:"BACKSPACE",9:"TAB",13:"ENTER",16:"SHIFT",17:"CTRL",18:"ALT",19:"PAUSEBREAK",20:"CAPSLOCK",27:"ESC",32:"SPACE",33:"PAGE_UP",34:"PAGE_DOWN",35:"END",36:"HOME",37:"LEFT",38:"UP",39:"RIGHT",40:"DOWN",43:"+",44:"PRINTSCREEN",45:"INSERT",46:"DELETE",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"A",66:"B",67:"C",68:"D",69:"E",70:"F",71:"G",72:"H",73:"I",74:"J",75:"K",76:"L",77:"M",78:"N",79:"O",80:"P",81:"Q",82:"R",83:"S",84:"T",85:"U",86:"V",87:"W",88:"X",89:"Y",90:"Z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NUMLOCK",145:"SCROLLLOCK",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},isControl:function(b){var c=b.which;switch(c){case a.COMMAND:case a.SHIFT:case a.CTRL:case a.ALT:return!0}return b.metaKey?!0:!1},isFunctionKey:function(a){return a=a.which?a.which:a,a>=112&&123>=a},isVerticalMovement:function(b){return~[a.UP,a.DOWN].indexOf(b)},isHorizontalMovement:function(b){return~[a.LEFT,a.RIGHT,a.BACKSPACE,a.DELETE].indexOf(b)}};void 0===angular.element.prototype.querySelectorAll&&(angular.element.prototype.querySelectorAll=function(a){return angular.element(this[0].querySelectorAll(a))}),void 0===angular.element.prototype.closest&&(angular.element.prototype.closest=function(a){for(var b=this[0],c=b.matches||b.webkitMatchesSelector||b.mozMatchesSelector||b.msMatchesSelector;b;){if(c.bind(b)(a))return b;b=b.parentElement}return!1});var b=0,c=angular.module("ui.select",[]).constant("uiSelectConfig",{theme:"bootstrap",searchEnabled:!0,sortable:!1,placeholder:"",refreshDelay:1e3,closeOnSelect:!0,dropdownPosition:"auto",generateId:function(){return b++},appendToBody:!1}).service("uiSelectMinErr",function(){var a=angular.$$minErr("ui.select");return function(){var b=a.apply(this,arguments),c=b.message.replace(new RegExp("\nhttp://errors.angularjs.org/.*"),"");return new Error(c)}}).directive("uisTranscludeAppend",function(){return{link:function(a,b,c,d,e){e(a,function(a){b.append(a)})}}}).filter("highlight",function(){function a(a){return a.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}return function(b,c){return c&&b?b.replace(new RegExp(a(c),"gi"),'<span class="ui-select-highlight">$&</span>'):b}}).factory("uisOffset",["$document","$window",function(a,b){return function(c){var d=c[0].getBoundingClientRect();return{width:d.width||c.prop("offsetWidth"),height:d.height||c.prop("offsetHeight"),top:d.top+(b.pageYOffset||a[0].documentElement.scrollTop),left:d.left+(b.pageXOffset||a[0].documentElement.scrollLeft)}}}]);c.directive("uiSelectChoices",["uiSelectConfig","uisRepeatParser","uiSelectMinErr","$compile",function(a,b,c,d){return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(b){var c=b.parent().attr("theme")||a.theme;return c+"/choices.tpl.html"},compile:function(e,f){if(!f.repeat)throw c("repeat","Expected 'repeat' expression.");return function(e,f,g,h,i){var j=g.groupBy,k=g.groupFilter;if(h.parseRepeatAttr(g.repeat,j,k),h.disableChoiceExpression=g.uiDisableChoice,h.onHighlightCallback=g.onHighlight,h.dropdownPosition=g.position?g.position.toLowerCase():a.dropdownPosition,j){var l=f.querySelectorAll(".ui-select-choices-group");if(1!==l.length)throw c("rows","Expected 1 .ui-select-choices-group but got '{0}'.",l.length);l.attr("ng-repeat",b.getGroupNgRepeatExpression())}var m=f.querySelectorAll(".ui-select-choices-row");if(1!==m.length)throw c("rows","Expected 1 .ui-select-choices-row but got '{0}'.",m.length);m.attr("ng-repeat",h.parserResult.repeatExpression(j)).attr("ng-if","$select.open").attr("ng-click","$select.select("+h.parserResult.itemName+",false,$event)");var n=f.querySelectorAll(".ui-select-choices-row-inner");if(1!==n.length)throw c("rows","Expected 1 .ui-select-choices-row-inner but got '{0}'.",n.length);n.attr("uis-transclude-append",""),d(f,i)(e),e.$watch("$select.search",function(a){a&&!h.open&&h.multiple&&h.activate(!1,!0),h.activeIndex=h.tagging.isActivated?-1:0,h.refresh(g.refresh)}),g.$observe("refreshDelay",function(){var b=e.$eval(g.refreshDelay);h.refreshDelay=void 0!==b?b:a.refreshDelay})}}}}]),c.controller("uiSelectCtrl",["$scope","$element","$timeout","$filter","uisRepeatParser","uiSelectMinErr","uiSelectConfig","$parse",function(b,c,d,e,f,g,h,i){function j(){(n.resetSearchInput||void 0===n.resetSearchInput&&h.resetSearchInput)&&(n.search=o,n.selected&&n.items.length&&!n.multiple&&(n.activeIndex=n.items.indexOf(n.selected)))}function k(a,b){var c,d,e=[];for(c=0;c<b.length;c++)for(d=0;d<a.length;d++)a[d].name==[b[c]]&&e.push(a[d]);return e}function l(b){var c=!0;switch(b){case a.DOWN:!n.open&&n.multiple?n.activate(!1,!0):n.activeIndex<n.items.length-1&&n.activeIndex++;break;case a.UP:!n.open&&n.multiple?n.activate(!1,!0):(n.activeIndex>0||0===n.search.length&&n.tagging.isActivated&&n.activeIndex>-1)&&n.activeIndex--;break;case a.TAB:(!n.multiple||n.open)&&n.select(n.items[n.activeIndex],!0);break;case a.ENTER:n.open&&(n.tagging.isActivated||n.activeIndex>=0)?n.select(n.items[n.activeIndex]):n.activate(!1,!0);break;case a.ESC:n.close();break;default:c=!1}return c}function m(){var a=c.querySelectorAll(".ui-select-choices-content"),b=a.querySelectorAll(".ui-select-choices-row");if(b.length<1)throw g("choices","Expected multiple .ui-select-choices-row but got '{0}'.",b.length);if(!(n.activeIndex<0)){var d=b[n.activeIndex],e=d.offsetTop+d.clientHeight-a[0].scrollTop,f=a[0].offsetHeight;e>f?a[0].scrollTop+=e-f:e<d.clientHeight&&(n.isGrouped&&0===n.activeIndex?a[0].scrollTop=0:a[0].scrollTop-=d.clientHeight-e)}}var n=this,o="";if(n.placeholder=h.placeholder,n.searchEnabled=h.searchEnabled,n.sortable=h.sortable,n.refreshDelay=h.refreshDelay,n.removeSelected=!1,n.closeOnSelect=!0,n.search=o,n.activeIndex=0,n.items=[],n.open=!1,n.focus=!1,n.disabled=!1,n.selected=void 0,n.dropdownPosition="auto",n.focusser=void 0,n.resetSearchInput=!0,n.multiple=void 0,n.disableChoiceExpression=void 0,n.tagging={isActivated:!1,fct:void 0},n.taggingTokens={isActivated:!1,tokens:void 0},n.lockChoiceExpression=void 0,n.clickTriggeredSelect=!1,n.$filter=e,n.searchInput=c.querySelectorAll("input.ui-select-search"),1!==n.searchInput.length)throw g("searchInput","Expected 1 input.ui-select-search but got '{0}'.",n.searchInput.length);n.isEmpty=function(){return angular.isUndefined(n.selected)||null===n.selected||""===n.selected},n.activate=function(a,c){n.disabled||n.open||(c||j(),b.$broadcast("uis:activate"),n.open=!0,n.activeIndex=n.activeIndex>=n.items.length?0:n.activeIndex,-1===n.activeIndex&&n.taggingLabel!==!1&&(n.activeIndex=0),d(function(){n.search=a||n.search,n.searchInput[0].focus(),!n.tagging.isActivated&&n.items.length>1&&m()}))},n.findGroupByName=function(a){return n.groups&&n.groups.filter(function(b){return b.name===a})[0]},n.parseRepeatAttr=function(a,c,d){function e(a){var e=b.$eval(c);if(n.groups=[],angular.forEach(a,function(a){var b=angular.isFunction(e)?e(a):a[e],c=n.findGroupByName(b);c?c.items.push(a):n.groups.push({name:b,items:[a]})}),d){var f=b.$eval(d);angular.isFunction(f)?n.groups=f(n.groups):angular.isArray(f)&&(n.groups=k(n.groups,f))}n.items=[],n.groups.forEach(function(a){n.items=n.items.concat(a.items)})}function h(a){n.items=a}n.setItemsFn=c?e:h,n.parserResult=f.parse(a),n.isGrouped=!!c,n.itemProperty=n.parserResult.itemName;var j=n.parserResult.source,l=function(){var a=j(b);b.$uisSource=Object.keys(a).map(function(b){var c={};return c[n.parserResult.keyName]=b,c.value=a[b],c})};n.parserResult.keyName&&(l(),n.parserResult.source=i("$uisSource"+n.parserResult.filters),b.$watch(j,function(a,b){a!==b&&l()},!0)),n.refreshItems=function(a){a=a||n.parserResult.source(b);var c=n.selected;if(n.isEmpty()||angular.isArray(c)&&!c.length||!n.removeSelected)n.setItemsFn(a);else if(void 0!==a){var d=a.filter(function(a){return c&&c.indexOf(a)<0});n.setItemsFn(d)}("auto"===n.dropdownPosition||"up"===n.dropdownPosition)&&b.calculateDropdownPos()},b.$watchCollection(n.parserResult.source,function(a){if(void 0===a||null===a)n.items=[];else{if(!angular.isArray(a))throw g("items","Expected an array but got '{0}'.",a);n.refreshItems(a),n.ngModel.$modelValue=null}})};var p;n.refresh=function(a){void 0!==a&&(p&&d.cancel(p),p=d(function(){b.$eval(a)},n.refreshDelay))},n.isActive=function(a){if(!n.open)return!1;var b=n.items.indexOf(a[n.itemProperty]),c=b===n.activeIndex;return!c||0>b&&n.taggingLabel!==!1||0>b&&n.taggingLabel===!1?!1:(c&&!angular.isUndefined(n.onHighlightCallback)&&a.$eval(n.onHighlightCallback),c)},n.isDisabled=function(a){if(n.open){var b,c=n.items.indexOf(a[n.itemProperty]),d=!1;return c>=0&&!angular.isUndefined(n.disableChoiceExpression)&&(b=n.items[c],d=!!a.$eval(n.disableChoiceExpression),b._uiSelectChoiceDisabled=d),d}},n.select=function(a,c,e){if(void 0===a||!a._uiSelectChoiceDisabled){if(!n.items&&!n.search)return;if(!a||!a._uiSelectChoiceDisabled){if(n.tagging.isActivated){if(n.taggingLabel===!1)if(n.activeIndex<0){if(a=void 0!==n.tagging.fct?n.tagging.fct(n.search):n.search,!a||angular.equals(n.items[0],a))return}else a=n.items[n.activeIndex];else if(0===n.activeIndex){if(void 0===a)return;if(void 0!==n.tagging.fct&&"string"==typeof a){if(a=n.tagging.fct(n.search),!a)return}else"string"==typeof a&&(a=a.replace(n.taggingLabel,"").trim())}if(n.selected&&angular.isArray(n.selected)&&n.selected.filter(function(b){return angular.equals(b,a)}).length>0)return void n.close(c)}b.$broadcast("uis:select",a);var f={};f[n.parserResult.itemName]=a,d(function(){n.onSelectCallback(b,{$item:a,$model:n.parserResult.modelMapper(b,f)})}),n.closeOnSelect&&n.close(c),e&&"click"===e.type&&(n.clickTriggeredSelect=!0)}}},n.close=function(a){n.open&&(n.ngModel&&n.ngModel.$setTouched&&n.ngModel.$setTouched(),j(),n.open=!1,b.$broadcast("uis:close",a))},n.setFocus=function(){n.focus||n.focusInput[0].focus()},n.clear=function(a){n.select(void 0),a.stopPropagation(),d(function(){n.focusser[0].focus()},0,!1)},n.toggle=function(a){n.open?(n.close(),a.preventDefault(),a.stopPropagation()):n.activate()},n.isLocked=function(a,b){var c,d=n.selected[b];return d&&!angular.isUndefined(n.lockChoiceExpression)&&(c=!!a.$eval(n.lockChoiceExpression),d._uiSelectChoiceLocked=c),c};var q=null;n.sizeSearchInput=function(){var a=n.searchInput[0],c=n.searchInput.parent().parent()[0],e=function(){return c.clientWidth*!!a.offsetParent},f=function(b){if(0===b)return!1;var c=b-a.offsetLeft-10;return 50>c&&(c=b),n.searchInput.css("width",c+"px"),!0};n.searchInput.css("width","10px"),d(function(){null!==q||f(e())||(q=b.$watch(e,function(a){f(a)&&(q(),q=null)}))})},n.searchInput.on("keydown",function(c){var e=c.which;b.$apply(function(){var b=!1;if((n.items.length>0||n.tagging.isActivated)&&(l(e),n.taggingTokens.isActivated)){for(var f=0;f<n.taggingTokens.tokens.length;f++)n.taggingTokens.tokens[f]===a.MAP[c.keyCode]&&n.search.length>0&&(b=!0);b&&d(function(){n.searchInput.triggerHandler("tagged");var b=n.search.replace(a.MAP[c.keyCode],"").trim();n.tagging.fct&&(b=n.tagging.fct(b)),b&&n.select(b,!0)})}}),a.isVerticalMovement(e)&&n.items.length>0&&m(),(e===a.ENTER||e===a.ESC)&&(c.preventDefault(),c.stopPropagation())}),n.searchInput.on("paste",function(a){var b=a.originalEvent.clipboardData.getData("text/plain");if(b&&b.length>0&&n.taggingTokens.isActivated&&n.tagging.fct){var c=b.split(n.taggingTokens.tokens[0]);c&&c.length>0&&(angular.forEach(c,function(a){var b=n.tagging.fct(a);b&&n.select(b,!0)}),a.preventDefault(),a.stopPropagation())}}),n.searchInput.on("tagged",function(){d(function(){j()})}),b.$on("$destroy",function(){n.searchInput.off("keyup keydown tagged blur paste")})}]),c.directive("uiSelect",["$document","uiSelectConfig","uiSelectMinErr","uisOffset","$compile","$parse","$timeout",function(a,b,c,d,e,f,g){return{restrict:"EA",templateUrl:function(a,c){var d=c.theme||b.theme;return d+(angular.isDefined(c.multiple)?"/select-multiple.tpl.html":"/select.tpl.html")},replace:!0,transclude:!0,require:["uiSelect","^ngModel"],scope:!0,controller:"uiSelectCtrl",controllerAs:"$select",compile:function(e,h){return angular.isDefined(h.multiple)?e.append("<ui-select-multiple/>").removeAttr("multiple"):e.append("<ui-select-single/>"),h.inputId&&(e.querySelectorAll("input.ui-select-search")[0].id=h.inputId),function(e,h,i,j,k){function l(a){if(o.open){var b=!1;if(b=window.jQuery?window.jQuery.contains(h[0],a.target):h[0].contains(a.target),!b&&!o.clickTriggeredSelect){var c=["input","button","textarea"],d=angular.element(a.target).controller("uiSelect"),f=d&&d!==o;f||(f=~c.indexOf(a.target.tagName.toLowerCase())),o.close(f),e.$digest()}o.clickTriggeredSelect=!1}}function m(){var b=d(h);r=angular.element('<div class="ui-select-placeholder"></div>'),r[0].style.width=b.width+"px",r[0].style.height=b.height+"px",h.after(r),s=h[0].style.width,a.find("body").append(h),h[0].style.position="absolute",h[0].style.left=b.left+"px",h[0].style.top=b.top+"px",h[0].style.width=b.width+"px"}function n(){null!==r&&(r.replaceWith(h),r=null,h[0].style.position="",h[0].style.left="",h[0].style.top="",h[0].style.width=s)}var o=j[0],p=j[1];o.generatedId=b.generateId(),o.baseTitle=i.title||"Select box",o.focusserTitle=o.baseTitle+" focus",o.focusserId="focusser-"+o.generatedId,o.closeOnSelect=function(){return angular.isDefined(i.closeOnSelect)?f(i.closeOnSelect)():b.closeOnSelect}(),o.onSelectCallback=f(i.onSelect),o.onRemoveCallback=f(i.onRemove),o.limit=angular.isDefined(i.limit)?parseInt(i.limit,10):void 0,o.ngModel=p,o.choiceGrouped=function(a){return o.isGrouped&&a&&a.name},i.tabindex&&i.$observe("tabindex",function(a){o.focusInput.attr("tabindex",a),h.removeAttr("tabindex")}),e.$watch("searchEnabled",function(){var a=e.$eval(i.searchEnabled);o.searchEnabled=void 0!==a?a:b.searchEnabled}),e.$watch("sortable",function(){var a=e.$eval(i.sortable);o.sortable=void 0!==a?a:b.sortable}),i.$observe("disabled",function(){o.disabled=void 0!==i.disabled?i.disabled:!1}),i.$observe("resetSearchInput",function(){var a=e.$eval(i.resetSearchInput);o.resetSearchInput=void 0!==a?a:!0}),i.$observe("tagging",function(){if(void 0!==i.tagging){var a=e.$eval(i.tagging);o.tagging={isActivated:!0,fct:a!==!0?a:void 0}}else o.tagging={isActivated:!1,fct:void 0}}),i.$observe("taggingLabel",function(){void 0!==i.tagging&&("false"===i.taggingLabel?o.taggingLabel=!1:o.taggingLabel=void 0!==i.taggingLabel?i.taggingLabel:"(new)")}),i.$observe("taggingTokens",function(){if(void 0!==i.tagging){var a=void 0!==i.taggingTokens?i.taggingTokens.split("|"):[",","ENTER"];o.taggingTokens={isActivated:!0,tokens:a}}}),angular.isDefined(i.autofocus)&&g(function(){o.setFocus()}),angular.isDefined(i.focusOn)&&e.$on(i.focusOn,function(){g(function(){o.setFocus()})}),a.on("click",l),e.$on("$destroy",function(){a.off("click",l)}),k(e,function(a){var b=angular.element("<div>").append(a),d=b.querySelectorAll(".ui-select-match");if(d.removeAttr("ui-select-match"),d.removeAttr("data-ui-select-match"),1!==d.length)throw c("transcluded","Expected 1 .ui-select-match but got '{0}'.",d.length);h.querySelectorAll(".ui-select-match").replaceWith(d);var e=b.querySelectorAll(".ui-select-choices");if(e.removeAttr("ui-select-choices"),e.removeAttr("data-ui-select-choices"),1!==e.length)throw c("transcluded","Expected 1 .ui-select-choices but got '{0}'.",e.length);h.querySelectorAll(".ui-select-choices").replaceWith(e)});var q=e.$eval(i.appendToBody);(void 0!==q?q:b.appendToBody)&&(e.$watch("$select.open",function(a){a?m():n()}),e.$on("$destroy",function(){n()}));var r=null,s="",t=null,u="direction-up";e.$watch("$select.open",function(){("auto"===o.dropdownPosition||"up"===o.dropdownPosition)&&e.calculateDropdownPos()});var v=function(a,b){a=a||d(h),b=b||d(t),t[0].style.position="absolute",t[0].style.top=-1*b.height+"px",h.addClass(u)},w=function(a,b){h.removeClass(u),a=a||d(h),b=b||d(t),t[0].style.position="",t[0].style.top=""};e.calculateDropdownPos=function(){if(o.open){if(t=angular.element(h).querySelectorAll(".ui-select-dropdown"),0===t.length)return;t[0].style.opacity=0,g(function(){if("up"===o.dropdownPosition)v(b,c);else{h.removeClass(u);var b=d(h),c=d(t),e=a[0].documentElement.scrollTop||a[0].body.scrollTop;b.top+b.height+c.height>e+a[0].documentElement.clientHeight?v(b,c):w(b,c)}t[0].style.opacity=1})}else{if(null===t||0===t.length)return;t[0].style.position="",t[0].style.top="",h.removeClass(u)}}}}}}]),c.directive("uiSelectMatch",["uiSelectConfig",function(a){return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(b){var c=b.parent().attr("theme")||a.theme,d=b.parent().attr("multiple");return c+(d?"/match-multiple.tpl.html":"/match.tpl.html")},link:function(b,c,d,e){function f(a){e.allowClear=angular.isDefined(a)?""===a?!0:"true"===a.toLowerCase():!1}e.lockChoiceExpression=d.uiLockChoice,d.$observe("placeholder",function(b){e.placeholder=void 0!==b?b:a.placeholder}),d.$observe("allowClear",f),f(d.allowClear),e.multiple&&e.sizeSearchInput()}}}]),c.directive("uiSelectMultiple",["uiSelectMinErr","$timeout",function(b,c){return{restrict:"EA",require:["^uiSelect","^ngModel"],controller:["$scope","$timeout",function(a,b){var c,d=this,e=a.$select;a.$evalAsync(function(){c=a.ngModel}),d.activeMatchIndex=-1,d.updateModel=function(){c.$setViewValue(Date.now()),d.refreshComponent()},d.refreshComponent=function(){e.refreshItems(),e.sizeSearchInput()},d.removeChoice=function(c){var f=e.selected[c];if(!f._uiSelectChoiceLocked){var g={};g[e.parserResult.itemName]=f,e.selected.splice(c,1),d.activeMatchIndex=-1,e.sizeSearchInput(),b(function(){e.onRemoveCallback(a,{$item:f,$model:e.parserResult.modelMapper(a,g)})}),d.updateModel()}},d.getPlaceholder=function(){return e.selected&&e.selected.length?void 0:e.placeholder}}],controllerAs:"$selectMultiple",link:function(d,e,f,g){function h(a){return angular.isNumber(a.selectionStart)?a.selectionStart:a.value.length}function i(b){function c(){switch(b){case a.LEFT:return~n.activeMatchIndex?k:g;case a.RIGHT:return~n.activeMatchIndex&&i!==g?j:(l.activate(),!1);case a.BACKSPACE:return~n.activeMatchIndex?(n.removeChoice(i),k):g;case a.DELETE:return~n.activeMatchIndex?(n.removeChoice(n.activeMatchIndex),i):!1}}var d=h(l.searchInput[0]),e=l.selected.length,f=0,g=e-1,i=n.activeMatchIndex,j=n.activeMatchIndex+1,k=n.activeMatchIndex-1,m=i;return d>0||l.search.length&&b==a.RIGHT?!1:(l.close(),m=c(),l.selected.length&&m!==!1?n.activeMatchIndex=Math.min(g,Math.max(f,m)):n.activeMatchIndex=-1,!0)}function j(a){if(void 0===a||void 0===l.search)return!1;var b=a.filter(function(a){return void 0===l.search.toUpperCase()||void 0===a?!1:a.toUpperCase()===l.search.toUpperCase()}).length>0;return b}function k(a,b){var c=-1;if(angular.isArray(a))for(var d=angular.copy(a),e=0;e<d.length;e++)if(void 0===l.tagging.fct)d[e]+" "+l.taggingLabel===b&&(c=e);else{var f=d[e];f.isTag=!0,angular.equals(f,b)&&(c=e)}return c}var l=g[0],m=d.ngModel=g[1],n=d.$selectMultiple;l.multiple=!0,l.removeSelected=!0,l.focusInput=l.searchInput,m.$parsers.unshift(function(){for(var a,b={},c=[],e=l.selected.length-1;e>=0;e--)b={},b[l.parserResult.itemName]=l.selected[e],a=l.parserResult.modelMapper(d,b),c.unshift(a);return c}),m.$formatters.unshift(function(a){var b,c=l.parserResult.source(d,{$select:{search:""}}),e={};if(!c)return a;var f=[],g=function(a,c){if(a&&a.length){for(var g=a.length-1;g>=0;g--){if(e[l.parserResult.itemName]=a[g],b=l.parserResult.modelMapper(d,e),l.parserResult.trackByExp){var h=/\.(.+)/.exec(l.parserResult.trackByExp);if(h.length>0&&b[h[1]]==c[h[1]])return f.unshift(a[g]),!0}if(angular.equals(b,c))return f.unshift(a[g]),!0}return!1}};if(!a)return f;for(var h=a.length-1;h>=0;h--)g(l.selected,a[h])||g(c,a[h])||f.unshift(a[h]);return f}),d.$watchCollection(function(){return m.$modelValue},function(a,b){b!=a&&(m.$modelValue=null,n.refreshComponent())}),m.$render=function(){if(!angular.isArray(m.$viewValue)){if(!angular.isUndefined(m.$viewValue)&&null!==m.$viewValue)throw b("multiarr","Expected model value to be array but got '{0}'",m.$viewValue);l.selected=[]}l.selected=m.$viewValue,d.$evalAsync()},d.$on("uis:select",function(a,b){l.selected.length>=l.limit||(l.selected.push(b),n.updateModel())}),d.$on("uis:activate",function(){n.activeMatchIndex=-1}),d.$watch("$select.disabled",function(a,b){b&&!a&&l.sizeSearchInput()}),l.searchInput.on("keydown",function(b){var c=b.which;d.$apply(function(){var d=!1;a.isHorizontalMovement(c)&&(d=i(c)),d&&c!=a.TAB&&(b.preventDefault(),b.stopPropagation())})}),l.searchInput.on("keyup",function(b){if(a.isVerticalMovement(b.which)||d.$evalAsync(function(){l.activeIndex=l.taggingLabel===!1?-1:0}),l.tagging.isActivated&&l.search.length>0){if(b.which===a.TAB||a.isControl(b)||a.isFunctionKey(b)||b.which===a.ESC||a.isVerticalMovement(b.which))return;if(l.activeIndex=l.taggingLabel===!1?-1:0,l.taggingLabel===!1)return;var c,e,f,g,h=angular.copy(l.items),i=angular.copy(l.items),m=!1,n=-1;if(void 0!==l.tagging.fct){if(f=l.$filter("filter")(h,{isTag:!0}),f.length>0&&(g=f[0]),h.length>0&&g&&(m=!0,h=h.slice(1,h.length),i=i.slice(1,i.length)),c=l.tagging.fct(l.search),c.isTag=!0,i.filter(function(a){return angular.equals(a,l.tagging.fct(l.search))}).length>0)return;c.isTag=!0}else{if(f=l.$filter("filter")(h,function(a){return a.match(l.taggingLabel)}),f.length>0&&(g=f[0]),e=h[0],void 0!==e&&h.length>0&&g&&(m=!0,h=h.slice(1,h.length),i=i.slice(1,i.length)),c=l.search+" "+l.taggingLabel,k(l.selected,l.search)>-1)return;if(j(i.concat(l.selected)))return void(m&&(h=i,d.$evalAsync(function(){l.activeIndex=0,l.items=h})));if(j(i))return void(m&&(l.items=i.slice(1,i.length)))}m&&(n=k(l.selected,c)),n>-1?h=h.slice(n+1,h.length-1):(h=[],h.push(c),h=h.concat(i)),d.$evalAsync(function(){l.activeIndex=0,l.items=h})}}),l.searchInput.on("blur",function(){c(function(){n.activeMatchIndex=-1})})}}}]),c.directive("uiSelectSingle",["$timeout","$compile",function(b,c){return{restrict:"EA",require:["^uiSelect","^ngModel"],link:function(d,e,f,g){var h=g[0],i=g[1];i.$parsers.unshift(function(a){var b,c={};return c[h.parserResult.itemName]=a,b=h.parserResult.modelMapper(d,c)}),i.$formatters.unshift(function(a){var b,c=h.parserResult.source(d,{$select:{search:""}}),e={};if(c){var f=function(c){return e[h.parserResult.itemName]=c,b=h.parserResult.modelMapper(d,e),b==a};if(h.selected&&f(h.selected))return h.selected;for(var g=c.length-1;g>=0;g--)if(f(c[g]))return c[g]}return a}),d.$watch("$select.selected",function(a){i.$viewValue!==a&&i.$setViewValue(a)}),i.$render=function(){h.selected=i.$viewValue},d.$on("uis:select",function(a,b){h.selected=b}),d.$on("uis:close",function(a,c){b(function(){h.focusser.prop("disabled",!1),c||h.focusser[0].focus()},0,!1)}),d.$on("uis:activate",function(){j.prop("disabled",!0)});var j=angular.element("<input ng-disabled='$select.disabled' class='ui-select-focusser ui-select-offscreen' type='text' id='{{ $select.focusserId }}' aria-label='{{ $select.focusserTitle }}' aria-haspopup='true' role='button' />");c(j)(d),h.focusser=j,h.focusInput=j,e.parent().append(j),j.bind("focus",function(){d.$evalAsync(function(){h.focus=!0})}),j.bind("blur",function(){d.$evalAsync(function(){h.focus=!1})}),j.bind("keydown",function(b){return b.which===a.BACKSPACE?(b.preventDefault(),b.stopPropagation(),h.select(void 0),void d.$apply()):void(b.which===a.TAB||a.isControl(b)||a.isFunctionKey(b)||b.which===a.ESC||((b.which==a.DOWN||b.which==a.UP||b.which==a.ENTER||b.which==a.SPACE)&&(b.preventDefault(),b.stopPropagation(),h.activate()),d.$digest()))}),j.bind("keyup input",function(b){b.which===a.TAB||a.isControl(b)||a.isFunctionKey(b)||b.which===a.ESC||b.which==a.ENTER||b.which===a.BACKSPACE||(h.activate(j.val()),j.val(""),d.$digest())})}}}]),c.directive("uiSelectSort",["$timeout","uiSelectConfig","uiSelectMinErr",function(a,b,c){return{require:"^uiSelect",link:function(b,d,e,f){if(null===b[e.uiSelectSort])throw c("sort","Expected a list to sort");var g=angular.extend({axis:"horizontal"},b.$eval(e.uiSelectSortOptions)),h=g.axis,i="dragging",j="dropping",k="dropping-before",l="dropping-after";b.$watch(function(){return f.sortable},function(a){a?d.attr("draggable",!0):d.removeAttr("draggable")}),d.on("dragstart",function(a){d.addClass(i),(a.dataTransfer||a.originalEvent.dataTransfer).setData("text/plain",b.$index)}),d.on("dragend",function(){d.removeClass(i)});var m,n=function(a,b){this.splice(b,0,this.splice(a,1)[0])},o=function(a){a.preventDefault();var b="vertical"===h?a.offsetY||a.layerY||(a.originalEvent?a.originalEvent.offsetY:0):a.offsetX||a.layerX||(a.originalEvent?a.originalEvent.offsetX:0);b<this["vertical"===h?"offsetHeight":"offsetWidth"]/2?(d.removeClass(l),d.addClass(k)):(d.removeClass(k),d.addClass(l))},p=function(b){b.preventDefault();var c=parseInt((b.dataTransfer||b.originalEvent.dataTransfer).getData("text/plain"),10);a.cancel(m),m=a(function(){q(c)},20)},q=function(a){var c=b.$eval(e.uiSelectSort),f=c[a],g=null;g=d.hasClass(k)?a<b.$index?b.$index-1:b.$index:a<b.$index?b.$index:b.$index+1,n.apply(c,[a,g]),b.$apply(function(){b.$emit("uiSelectSort:change",{array:c,item:f,from:a,to:g})}),d.removeClass(j),d.removeClass(k),d.removeClass(l),d.off("drop",p)};d.on("dragenter",function(){d.hasClass(i)||(d.addClass(j),d.on("dragover",o),d.on("drop",p))}),d.on("dragleave",function(a){a.target==d&&(d.removeClass(j),d.removeClass(k),d.removeClass(l),d.off("dragover",o),d.off("drop",p))})}}}]),c.service("uisRepeatParser",["uiSelectMinErr","$parse",function(a,b){var c=this;c.parse=function(c){var d,e=/\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)/.test(c);if(d=c.match(/^\s*(?:([\s\S]+?)\s+as\s+)?(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+(([\w\.]+)?\s*(|\s*[\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/),!d)throw a("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",c);if(!d[6]&&e)throw a("iexp","Expected expression in form of '_item_ as (_key_, _item_) in _ObjCollection_ [ track by _id_]' but got '{0}'.",c);return{itemName:d[4]||d[2],keyName:d[3],source:b(d[3]?d[6]:d[5]),sourceName:d[6],filters:d[7],trackByExp:d[8],modelMapper:b(d[1]||d[4]||d[2]),repeatExpression:function(a){var b=this.itemName+" in "+(a?"$group.items":"$select.items");return this.trackByExp&&(b+=" track by "+this.trackByExp),b}}},c.getGroupNgRepeatExpression=function(){return"$group in $select.groups"}}])}(),angular.module("ui.select").run(["$templateCache",function(a){a.put("bootstrap/choices.tpl.html",'<ul class="ui-select-choices ui-select-choices-content ui-select-dropdown dropdown-menu" role="listbox" ng-show="$select.items.length > 0"><li class="ui-select-choices-group" id="ui-select-choices-{{ $select.generatedId }}"><div class="divider" ng-show="$select.isGrouped && $index > 0"></div><div ng-show="$select.isGrouped" class="ui-select-choices-group-label dropdown-header" ng-bind="$group.name"></div><div id="ui-select-choices-row-{{ $select.generatedId }}-{{$index}}" class="ui-select-choices-row" ng-class="{active: $select.isActive(this), disabled: $select.isDisabled(this)}" role="option"><a href="javascript:void(0)" class="ui-select-choices-row-inner"></a></div></li></ul>'),a.put("bootstrap/match-multiple.tpl.html",'<span class="ui-select-match"><span ng-repeat="$item in $select.selected"><span class="ui-select-match-item btn btn-default btn-xs" tabindex="-1" type="button" ng-disabled="$select.disabled" ng-click="$selectMultiple.activeMatchIndex = $index;" ng-class="{\'btn-primary\':$selectMultiple.activeMatchIndex === $index, \'select-locked\':$select.isLocked(this, $index)}" ui-select-sort="$select.selected"><span class="close ui-select-match-close" ng-hide="$select.disabled" ng-click="$selectMultiple.removeChoice($index)">&nbsp;&times;</span> <span uis-transclude-append=""></span></span></span></span>'),
+a.put("bootstrap/match.tpl.html",'<div class="ui-select-match" ng-hide="$select.open" ng-disabled="$select.disabled" ng-class="{\'btn-default-focus\':$select.focus}"><span tabindex="-1" class="btn btn-default form-control ui-select-toggle" aria-label="{{ $select.baseTitle }} activate" ng-disabled="$select.disabled" ng-click="$select.activate()" style="outline: 0;"><span ng-show="$select.isEmpty()" class="ui-select-placeholder text-muted">{{$select.placeholder}}</span> <span ng-hide="$select.isEmpty()" class="ui-select-match-text pull-left" ng-class="{\'ui-select-allow-clear\': $select.allowClear && !$select.isEmpty()}" ng-transclude=""></span> <i class="caret pull-right" ng-click="$select.toggle($event)"></i> <a ng-show="$select.allowClear && !$select.isEmpty()" aria-label="{{ $select.baseTitle }} clear" style="margin-right: 10px" ng-click="$select.clear($event)" class="btn btn-xs btn-link pull-right"><i class="glyphicon glyphicon-remove" aria-hidden="true"></i></a></span></div>'),a.put("bootstrap/select-multiple.tpl.html",'<div class="ui-select-container ui-select-multiple ui-select-bootstrap dropdown form-control" ng-class="{open: $select.open}"><div><div class="ui-select-match"></div><input type="text" autocomplete="false" autocorrect="off" autocapitalize="off" spellcheck="false" class="ui-select-search input-xs" placeholder="{{$selectMultiple.getPlaceholder()}}" ng-disabled="$select.disabled" ng-hide="$select.disabled" ng-click="$select.activate()" ng-model="$select.search" role="combobox" aria-label="{{ $select.baseTitle }}" ondrop="return false;"></div><div class="ui-select-choices"></div></div>'),a.put("bootstrap/select.tpl.html",'<div class="ui-select-container ui-select-bootstrap dropdown" ng-class="{open: $select.open}"><div class="ui-select-match"></div><input type="text" autocomplete="false" tabindex="-1" aria-expanded="true" aria-label="{{ $select.baseTitle }}" aria-owns="ui-select-choices-{{ $select.generatedId }}" aria-activedescendant="ui-select-choices-row-{{ $select.generatedId }}-{{ $select.activeIndex }}" class="form-control ui-select-search" placeholder="{{$select.placeholder}}" ng-model="$select.search" ng-show="$select.searchEnabled && $select.open"><div class="ui-select-choices"></div></div>'),a.put("selectize/choices.tpl.html",'<div ng-show="$select.open" class="ui-select-choices ui-select-dropdown selectize-dropdown single"><div class="ui-select-choices-content selectize-dropdown-content"><div class="ui-select-choices-group optgroup" role="listbox"><div ng-show="$select.isGrouped" class="ui-select-choices-group-label optgroup-header" ng-bind="$group.name"></div><div role="option" class="ui-select-choices-row" ng-class="{active: $select.isActive(this), disabled: $select.isDisabled(this)}"><div class="option ui-select-choices-row-inner" data-selectable=""></div></div></div></div></div>'),a.put("selectize/match.tpl.html",'<div ng-hide="($select.open || $select.isEmpty())" class="ui-select-match" ng-transclude=""></div>'),a.put("selectize/select.tpl.html",'<div class="ui-select-container selectize-control single" ng-class="{\'open\': $select.open}"><div class="selectize-input" ng-class="{\'focus\': $select.open, \'disabled\': $select.disabled, \'selectize-focus\' : $select.focus}" ng-click="$select.activate()"><div class="ui-select-match"></div><input type="text" autocomplete="false" tabindex="-1" class="ui-select-search ui-select-toggle" ng-click="$select.toggle($event)" placeholder="{{$select.placeholder}}" ng-model="$select.search" ng-hide="!$select.searchEnabled || ($select.selected && !$select.open)" ng-disabled="$select.disabled" aria-label="{{ $select.baseTitle }}"></div><div class="ui-select-choices"></div></div>'),a.put("select2/choices.tpl.html",'<ul class="ui-select-choices ui-select-choices-content select2-results"><li class="ui-select-choices-group" ng-class="{\'select2-result-with-children\': $select.choiceGrouped($group) }"><div ng-show="$select.choiceGrouped($group)" class="ui-select-choices-group-label select2-result-label" ng-bind="$group.name"></div><ul role="listbox" id="ui-select-choices-{{ $select.generatedId }}" ng-class="{\'select2-result-sub\': $select.choiceGrouped($group), \'select2-result-single\': !$select.choiceGrouped($group) }"><li role="option" id="ui-select-choices-row-{{ $select.generatedId }}-{{$index}}" class="ui-select-choices-row" ng-class="{\'select2-highlighted\': $select.isActive(this), \'select2-disabled\': $select.isDisabled(this)}"><div class="select2-result-label ui-select-choices-row-inner"></div></li></ul></li></ul>'),a.put("select2/match-multiple.tpl.html",'<span class="ui-select-match"><li class="ui-select-match-item select2-search-choice" ng-repeat="$item in $select.selected" ng-class="{\'select2-search-choice-focus\':$selectMultiple.activeMatchIndex === $index, \'select2-locked\':$select.isLocked(this, $index)}" ui-select-sort="$select.selected"><span uis-transclude-append=""></span> <a href="javascript:;" class="ui-select-match-close select2-search-choice-close" ng-click="$selectMultiple.removeChoice($index)" tabindex="-1"></a></li></span>'),a.put("select2/match.tpl.html",'<a class="select2-choice ui-select-match" ng-class="{\'select2-default\': $select.isEmpty()}" ng-click="$select.toggle($event)" aria-label="{{ $select.baseTitle }} select"><span ng-show="$select.isEmpty()" class="select2-chosen">{{$select.placeholder}}</span> <span ng-hide="$select.isEmpty()" class="select2-chosen" ng-transclude=""></span> <abbr ng-if="$select.allowClear && !$select.isEmpty()" class="select2-search-choice-close" ng-click="$select.clear($event)"></abbr> <span class="select2-arrow ui-select-toggle"><b></b></span></a>'),a.put("select2/select-multiple.tpl.html",'<div class="ui-select-container ui-select-multiple select2 select2-container select2-container-multi" ng-class="{\'select2-container-active select2-dropdown-open open\': $select.open, \'select2-container-disabled\': $select.disabled}"><ul class="select2-choices"><span class="ui-select-match"></span><li class="select2-search-field"><input type="text" autocomplete="false" autocorrect="off" autocapitalize="off" spellcheck="false" role="combobox" aria-expanded="true" aria-owns="ui-select-choices-{{ $select.generatedId }}" aria-label="{{ $select.baseTitle }}" aria-activedescendant="ui-select-choices-row-{{ $select.generatedId }}-{{ $select.activeIndex }}" class="select2-input ui-select-search" placeholder="{{$selectMultiple.getPlaceholder()}}" ng-disabled="$select.disabled" ng-hide="$select.disabled" ng-model="$select.search" ng-click="$select.activate()" style="width: 34px;" ondrop="return false;"></li></ul><div class="ui-select-dropdown select2-drop select2-with-searchbox select2-drop-active" ng-class="{\'select2-display-none\': !$select.open}"><div class="ui-select-choices"></div></div></div>'),a.put("select2/select.tpl.html",'<div class="ui-select-container select2 select2-container" ng-class="{\'select2-container-active select2-dropdown-open open\': $select.open, \'select2-container-disabled\': $select.disabled, \'select2-container-active\': $select.focus, \'select2-allowclear\': $select.allowClear && !$select.isEmpty()}"><div class="ui-select-match"></div><div class="ui-select-dropdown select2-drop select2-with-searchbox select2-drop-active" ng-class="{\'select2-display-none\': !$select.open}"><div class="select2-search" ng-show="$select.searchEnabled"><input type="text" autocomplete="false" autocorrect="false" autocapitalize="off" spellcheck="false" role="combobox" aria-expanded="true" aria-owns="ui-select-choices-{{ $select.generatedId }}" aria-label="{{ $select.baseTitle }}" aria-activedescendant="ui-select-choices-row-{{ $select.generatedId }}-{{ $select.activeIndex }}" class="ui-select-search select2-input" ng-model="$select.search"></div><div class="ui-select-choices"></div></div></div>')}]),function(){window.WebComponents=window.WebComponents||{flags:{}};var a="webcomponents.js",b=document.querySelector('script[src*="'+a+'"]'),c={};if(!c.noOpts){if(location.search.slice(1).split("&").forEach(function(a){var b,d=a.split("=");d[0]&&(b=d[0].match(/wc-(.+)/))&&(c[b[1]]=d[1]||!0)}),b)for(var d,e=0;d=b.attributes[e];e++)"src"!==d.name&&(c[d.name]=d.value||!0);if(c.log&&c.log.split){var f=c.log.split(",");c.log={},f.forEach(function(a){c.log[a]=!0})}else c.log={}}c.shadow=c.shadow||c.shadowdom||c.polyfill,"native"===c.shadow?c.shadow=!1:c.shadow=c.shadow||!HTMLElement.prototype.createShadowRoot,c.register&&(window.CustomElements=window.CustomElements||{flags:{}},window.CustomElements.flags.register=c.register),WebComponents.flags=c}(),WebComponents.flags.shadow&&("undefined"==typeof WeakMap&&!function(){var a=Object.defineProperty,b=Date.now()%1e9,c=function(){this.name="__st"+(1e9*Math.random()>>>0)+(b++ +"__")};c.prototype={set:function(b,c){var d=b[this.name];return d&&d[0]===b?d[1]=c:a(b,this.name,{value:[b,c],writable:!0}),this},get:function(a){var b;return(b=a[this.name])&&b[0]===a?b[1]:void 0},"delete":function(a){var b=a[this.name];return b&&b[0]===a?(b[0]=b[1]=void 0,!0):!1},has:function(a){var b=a[this.name];return b?b[0]===a:!1}},window.WeakMap=c}(),window.ShadowDOMPolyfill={},function(a){"use strict";function b(){if("undefined"!=typeof chrome&&chrome.app&&chrome.app.runtime)return!1;if(navigator.getDeviceStorage)return!1;try{var a=new Function("return true;");return a()}catch(b){return!1}}function c(a){if(!a)throw new Error("Assertion failed")}function d(a,b){for(var c=N(b),d=0;d<c.length;d++){var e=c[d];M(a,e,O(b,e))}return a}function e(a,b){for(var c=N(b),d=0;d<c.length;d++){var e=c[d];switch(e){case"arguments":case"caller":case"length":case"name":case"prototype":case"toString":continue}M(a,e,O(b,e))}return a}function f(a,b){for(var c=0;c<b.length;c++)if(b[c]in a)return b[c]}function g(a,b,c){P.value=c,M(a,b,P)}function h(a,b){var c=a.__proto__||Object.getPrototypeOf(a);if(Q)try{N(c)}catch(d){c=c.__proto__}var e=I.get(c);if(e)return e;var f=h(c),g=v(f);return s(c,g,b),g}function i(a,b){q(a,b,!0)}function j(a,b){q(b,a,!1)}function k(a){return/^on[a-z]+$/.test(a)}function l(a){return/^[a-zA-Z_$][a-zA-Z_$0-9]*$/.test(a)}function m(a){return L&&l(a)?new Function("return this.__impl4cf1e782hg__."+a):function(){return this.__impl4cf1e782hg__[a]}}function n(a){return L&&l(a)?new Function("v","this.__impl4cf1e782hg__."+a+" = v"):function(b){this.__impl4cf1e782hg__[a]=b}}function o(a){return L&&l(a)?new Function("return this.__impl4cf1e782hg__."+a+".apply(this.__impl4cf1e782hg__, arguments)"):function(){return this.__impl4cf1e782hg__[a].apply(this.__impl4cf1e782hg__,arguments)}}function p(a,b){try{return Object.getOwnPropertyDescriptor(a,b)}catch(c){return R}}function q(b,c,d,e){for(var f=N(b),g=0;g<f.length;g++){var h=f[g];if("polymerBlackList_"!==h&&!(h in c||b.polymerBlackList_&&b.polymerBlackList_[h])){Q&&b.__lookupGetter__(h);var i,j,l=p(b,h);if("function"!=typeof l.value){var q=k(h);i=q?a.getEventHandlerGetter(h):m(h),(l.writable||l.set||S)&&(j=q?a.getEventHandlerSetter(h):n(h));var r=S||l.configurable;M(c,h,{get:i,set:j,configurable:r,enumerable:l.enumerable})}else d&&(c[h]=o(h))}}}function r(a,b,c){if(null!=a){var d=a.prototype;s(d,b,c),e(b,a)}}function s(a,b,d){var e=b.prototype;c(void 0===I.get(a)),I.set(a,b),J.set(e,a),i(a,e),d&&j(e,d),g(e,"constructor",b),b.prototype=e}function t(a,b){return I.get(b.prototype)===a}function u(a){var b=Object.getPrototypeOf(a),c=h(b),d=v(c);return s(b,d,a),d}function v(a){function b(b){a.call(this,b)}var c=Object.create(a.prototype);return c.constructor=b,b.prototype=c,b}function w(a){return a&&a.__impl4cf1e782hg__}function x(a){return!w(a)}function y(a){if(null===a)return null;c(x(a));var b=a.__wrapper8e3dd93a60__;return null!=b?b:a.__wrapper8e3dd93a60__=new(h(a,a))(a)}function z(a){return null===a?null:(c(w(a)),a.__impl4cf1e782hg__)}function A(a){return a.__impl4cf1e782hg__}function B(a,b){b.__impl4cf1e782hg__=a,a.__wrapper8e3dd93a60__=b}function C(a){return a&&w(a)?z(a):a}function D(a){return a&&!w(a)?y(a):a}function E(a,b){null!==b&&(c(x(a)),c(void 0===b||w(b)),a.__wrapper8e3dd93a60__=b)}function F(a,b,c){T.get=c,M(a.prototype,b,T)}function G(a,b){F(a,b,function(){return y(this.__impl4cf1e782hg__[b])})}function H(a,b){a.forEach(function(a){b.forEach(function(b){a.prototype[b]=function(){var a=D(this);return a[b].apply(a,arguments)}})})}var I=new WeakMap,J=new WeakMap,K=Object.create(null),L=b(),M=Object.defineProperty,N=Object.getOwnPropertyNames,O=Object.getOwnPropertyDescriptor,P={value:void 0,configurable:!0,enumerable:!1,writable:!0};N(window);var Q=/Firefox/.test(navigator.userAgent),R={get:function(){},set:function(a){},configurable:!0,enumerable:!0},S=function(){var a=Object.getOwnPropertyDescriptor(Node.prototype,"nodeType");return a&&!a.get&&!a.set}(),T={get:void 0,configurable:!0,enumerable:!0};a.assert=c,a.constructorTable=I,a.defineGetter=F,a.defineWrapGetter=G,a.forwardMethodsToWrapper=H,a.isIdentifierName=l,a.isWrapper=w,a.isWrapperFor=t,a.mixin=d,a.nativePrototypeTable=J,a.oneOf=f,a.registerObject=u,a.registerWrapper=r,a.rewrap=E,a.setWrapper=B,a.unsafeUnwrap=A,a.unwrap=z,a.unwrapIfNeeded=C,a.wrap=y,a.wrapIfNeeded=D,a.wrappers=K}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a,b,c){return{index:a,removed:b,addedCount:c}}function c(){}var d=0,e=1,f=2,g=3;c.prototype={calcEditDistances:function(a,b,c,d,e,f){for(var g=f-e+1,h=c-b+1,i=new Array(g),j=0;g>j;j++)i[j]=new Array(h),i[j][0]=j;for(var k=0;h>k;k++)i[0][k]=k;for(var j=1;g>j;j++)for(var k=1;h>k;k++)if(this.equals(a[b+k-1],d[e+j-1]))i[j][k]=i[j-1][k-1];else{var l=i[j-1][k]+1,m=i[j][k-1]+1;i[j][k]=m>l?l:m}return i},spliceOperationsFromEditDistances:function(a){for(var b=a.length-1,c=a[0].length-1,h=a[b][c],i=[];b>0||c>0;)if(0!=b)if(0!=c){var j,k=a[b-1][c-1],l=a[b-1][c],m=a[b][c-1];j=m>l?k>l?l:k:k>m?m:k,j==k?(k==h?i.push(d):(i.push(e),h=k),b--,c--):j==l?(i.push(g),b--,h=l):(i.push(f),c--,h=m)}else i.push(g),b--;else i.push(f),c--;return i.reverse(),i},calcSplices:function(a,c,h,i,j,k){var l=0,m=0,n=Math.min(h-c,k-j);if(0==c&&0==j&&(l=this.sharedPrefix(a,i,n)),h==a.length&&k==i.length&&(m=this.sharedSuffix(a,i,n-l)),c+=l,j+=l,h-=m,k-=m,h-c==0&&k-j==0)return[];if(c==h){for(var o=b(c,[],0);k>j;)o.removed.push(i[j++]);return[o]}if(j==k)return[b(c,[],h-c)];for(var p=this.spliceOperationsFromEditDistances(this.calcEditDistances(a,c,h,i,j,k)),o=void 0,q=[],r=c,s=j,t=0;t<p.length;t++)switch(p[t]){case d:o&&(q.push(o),o=void 0),r++,s++;break;case e:o||(o=b(r,[],0)),o.addedCount++,r++,o.removed.push(i[s]),s++;break;case f:o||(o=b(r,[],0)),o.addedCount++,r++;break;case g:o||(o=b(r,[],0)),o.removed.push(i[s]),s++}return o&&q.push(o),q},sharedPrefix:function(a,b,c){for(var d=0;c>d;d++)if(!this.equals(a[d],b[d]))return d;return c},sharedSuffix:function(a,b,c){for(var d=a.length,e=b.length,f=0;c>f&&this.equals(a[--d],b[--e]);)f++;return f},calculateSplices:function(a,b){return this.calcSplices(a,0,a.length,b,0,b.length)},equals:function(a,b){return a===b}},a.ArraySplice=c}(window.ShadowDOMPolyfill),function(a){"use strict";function b(){g=!1;var a=f.slice(0);f=[];for(var b=0;b<a.length;b++)(0,a[b])()}function c(a){f.push(a),g||(g=!0,d(b,0))}var d,e=window.MutationObserver,f=[],g=!1;if(e){var h=1,i=new e(b),j=document.createTextNode(h);i.observe(j,{characterData:!0}),d=function(){h=(h+1)%2,j.data=h}}else d=window.setTimeout;a.setEndOfMicrotask=c}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){a.scheduled_||(a.scheduled_=!0,o.push(a),p||(k(c),p=!0))}function c(){for(p=!1;o.length;){var a=o;o=[],a.sort(function(a,b){return a.uid_-b.uid_});for(var b=0;b<a.length;b++){var c=a[b];c.scheduled_=!1;var d=c.takeRecords();f(c),d.length&&c.callback_(d,c)}}}function d(a,b){this.type=a,this.target=b,this.addedNodes=new m.NodeList,this.removedNodes=new m.NodeList,this.previousSibling=null,this.nextSibling=null,this.attributeName=null,this.attributeNamespace=null,this.oldValue=null}function e(a,b){for(;a;a=a.parentNode){var c=n.get(a);if(c)for(var d=0;d<c.length;d++){var e=c[d];e.options.subtree&&e.addTransientObserver(b)}}}function f(a){for(var b=0;b<a.nodes_.length;b++){var c=a.nodes_[b],d=n.get(c);if(!d)return;for(var e=0;e<d.length;e++){var f=d[e];f.observer===a&&f.removeTransientObservers()}}}function g(a,c,e){for(var f=Object.create(null),g=Object.create(null),h=a;h;h=h.parentNode){var i=n.get(h);if(i)for(var j=0;j<i.length;j++){var k=i[j],l=k.options;if((h===a||l.subtree)&&("attributes"!==c||l.attributes)&&("attributes"!==c||!l.attributeFilter||null===e.namespace&&-1!==l.attributeFilter.indexOf(e.name))&&("characterData"!==c||l.characterData)&&("childList"!==c||l.childList)){var m=k.observer;f[m.uid_]=m,("attributes"===c&&l.attributeOldValue||"characterData"===c&&l.characterDataOldValue)&&(g[m.uid_]=e.oldValue)}}}for(var o in f){var m=f[o],p=new d(c,a);"name"in e&&"namespace"in e&&(p.attributeName=e.name,p.attributeNamespace=e.namespace),e.addedNodes&&(p.addedNodes=e.addedNodes),e.removedNodes&&(p.removedNodes=e.removedNodes),e.previousSibling&&(p.previousSibling=e.previousSibling),e.nextSibling&&(p.nextSibling=e.nextSibling),void 0!==g[o]&&(p.oldValue=g[o]),b(m),m.records_.push(p)}}function h(a){if(this.childList=!!a.childList,this.subtree=!!a.subtree,"attributes"in a||!("attributeOldValue"in a||"attributeFilter"in a)?this.attributes=!!a.attributes:this.attributes=!0,"characterDataOldValue"in a&&!("characterData"in a)?this.characterData=!0:this.characterData=!!a.characterData,!this.attributes&&(a.attributeOldValue||"attributeFilter"in a)||!this.characterData&&a.characterDataOldValue)throw new TypeError;if(this.characterData=!!a.characterData,this.attributeOldValue=!!a.attributeOldValue,this.characterDataOldValue=!!a.characterDataOldValue,"attributeFilter"in a){if(null==a.attributeFilter||"object"!=typeof a.attributeFilter)throw new TypeError;this.attributeFilter=q.call(a.attributeFilter)}else this.attributeFilter=null}function i(a){this.callback_=a,this.nodes_=[],this.records_=[],this.uid_=++r,this.scheduled_=!1}function j(a,b,c){this.observer=a,this.target=b,this.options=c,this.transientObservedNodes=[]}var k=a.setEndOfMicrotask,l=a.wrapIfNeeded,m=a.wrappers,n=new WeakMap,o=[],p=!1,q=Array.prototype.slice,r=0;i.prototype={constructor:i,observe:function(a,b){a=l(a);var c,d=new h(b),e=n.get(a);e||n.set(a,e=[]);for(var f=0;f<e.length;f++)e[f].observer===this&&(c=e[f],c.removeTransientObservers(),c.options=d);c||(c=new j(this,a,d),e.push(c),this.nodes_.push(a))},disconnect:function(){this.nodes_.forEach(function(a){for(var b=n.get(a),c=0;c<b.length;c++){var d=b[c];if(d.observer===this){b.splice(c,1);break}}},this),this.records_=[]},takeRecords:function(){var a=this.records_;return this.records_=[],a}},j.prototype={addTransientObserver:function(a){if(a!==this.target){b(this.observer),this.transientObservedNodes.push(a);var c=n.get(a);c||n.set(a,c=[]),c.push(this)}},removeTransientObservers:function(){var a=this.transientObservedNodes;this.transientObservedNodes=[];for(var b=0;b<a.length;b++)for(var c=a[b],d=n.get(c),e=0;e<d.length;e++)if(d[e]===this){d.splice(e,1);break}}},a.enqueueMutation=g,a.registerTransientObservers=e,a.wrappers.MutationObserver=i,a.wrappers.MutationRecord=d}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a,b){this.root=a,this.parent=b}function c(a,b){if(a.treeScope_!==b){a.treeScope_=b;for(var d=a.shadowRoot;d;d=d.olderShadowRoot)d.treeScope_.parent=b;for(var e=a.firstChild;e;e=e.nextSibling)c(e,b)}}function d(c){if(c instanceof a.wrappers.Window,c.treeScope_)return c.treeScope_;var e,f=c.parentNode;return e=f?d(f):new b(c,null),c.treeScope_=e}b.prototype={get renderer(){return this.root instanceof a.wrappers.ShadowRoot?a.getRendererForHost(this.root.host):null},contains:function(a){for(;a;a=a.parent)if(a===this)return!0;return!1}},a.TreeScope=b,a.getTreeScope=d,a.setTreeScope=c}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){return a instanceof T.ShadowRoot}function c(a){return M(a).root}function d(a,d){var h=[],i=a;for(h.push(i);i;){var j=g(i);if(j&&j.length>0){for(var k=0;k<j.length;k++){var m=j[k];if(f(m)){var n=c(m),o=n.olderShadowRoot;o&&h.push(o)}h.push(m)}i=j[j.length-1]}else if(b(i)){if(l(a,i)&&e(d))break;i=i.host,h.push(i)}else i=i.parentNode,i&&h.push(i)}return h}function e(a){if(!a)return!1;switch(a.type){case"abort":case"error":case"select":case"change":case"load":case"reset":case"resize":case"scroll":case"selectstart":return!0}return!1}function f(a){return a instanceof HTMLShadowElement}function g(b){return a.getDestinationInsertionPoints(b)}function h(a,b){if(0===a.length)return b;b instanceof T.Window&&(b=b.document);for(var c=M(b),d=a[0],e=M(d),f=j(c,e),g=0;g<a.length;g++){var h=a[g];if(M(h)===f)return h}return a[a.length-1]}function i(a){for(var b=[];a;a=a.parent)b.push(a);return b}function j(a,b){for(var c=i(a),d=i(b),e=null;c.length>0&&d.length>0;){var f=c.pop(),g=d.pop();if(f!==g)break;e=f}return e}function k(a,b,c){b instanceof T.Window&&(b=b.document);var e,f=M(b),g=M(c),h=d(c,a),e=j(f,g);e||(e=g.root);for(var i=e;i;i=i.parent)for(var k=0;k<h.length;k++){var l=h[k];if(M(l)===i)return l}return null}function l(a,b){return M(a)===M(b)}function m(a){if(!V.get(a)&&(V.set(a,!0),o(S(a),S(a.target)),K)){var b=K;throw K=null,b}}function n(a){switch(a.type){case"load":case"beforeunload":case"unload":return!0}return!1}function o(b,c){if(W.get(b))throw new Error("InvalidStateError");W.set(b,!0),a.renderAllPending();var e,f,g;if(n(b)&&!b.bubbles){var h=c;h instanceof T.Document&&(g=h.defaultView)&&(f=h,e=[])}if(!e)if(c instanceof T.Window)g=c,e=[];else if(e=d(c,b),!n(b)){var h=e[e.length-1];h instanceof T.Document&&(g=h.defaultView)}return ca.set(b,e),p(b,e,g,f)&&q(b,e,g,f)&&r(b,e,g,f),$.set(b,da),Y["delete"](b,null),W["delete"](b),b.defaultPrevented}function p(a,b,c,d){var e=ea;if(c&&!s(c,a,e,b,d))return!1;for(var f=b.length-1;f>0;f--)if(!s(b[f],a,e,b,d))return!1;return!0}function q(a,b,c,d){var e=fa,f=b[0]||c;return s(f,a,e,b,d)}function r(a,b,c,d){for(var e=ga,f=1;f<b.length;f++)if(!s(b[f],a,e,b,d))return;c&&b.length>0&&s(c,a,e,b,d)}function s(a,b,c,d,e){var f=U.get(a);if(!f)return!0;var g=e||h(d,a);if(g===a){if(c===ea)return!0;c===ga&&(c=fa)}else if(c===ga&&!b.bubbles)return!0;if("relatedTarget"in b){var i=R(b),j=i.relatedTarget;if(j){if(j instanceof Object&&j.addEventListener){var l=S(j),m=k(b,a,l);if(m===g)return!0}else m=null;Z.set(b,m)}}$.set(b,c);var n=b.type,o=!1;X.set(b,g),Y.set(b,a),f.depth++;for(var p=0,q=f.length;q>p;p++){var r=f[p];if(r.removed)o=!0;else if(!(r.type!==n||!r.capture&&c===ea||r.capture&&c===ga))try{if("function"==typeof r.handler?r.handler.call(a,b):r.handler.handleEvent(b),aa.get(b))return!1}catch(s){K||(K=s)}}if(f.depth--,o&&0===f.depth){var t=f.slice();f.length=0;for(var p=0;p<t.length;p++)t[p].removed||f.push(t[p])}return!_.get(b)}function t(a,b,c){this.type=a,this.handler=b,this.capture=Boolean(c)}function u(a,b){if(!(a instanceof ha))return S(y(ha,"Event",a,b));var c=a;return ta||"beforeunload"!==c.type||this instanceof z?void P(c,this):new z(c)}function v(a){return a&&a.relatedTarget?Object.create(a,{relatedTarget:{value:R(a.relatedTarget)}}):a}function w(a,b,c){var d=window[a],e=function(b,c){return b instanceof d?void P(b,this):S(y(d,a,b,c))};if(e.prototype=Object.create(b.prototype),c&&N(e.prototype,c),d)try{O(d,e,new d("temp"))}catch(f){O(d,e,document.createEvent(a))}return e}function x(a,b){return function(){arguments[b]=R(arguments[b]);var c=R(this);c[a].apply(c,arguments)}}function y(a,b,c,d){if(ra)return new a(c,v(d));var e=R(document.createEvent(b)),f=qa[b],g=[c];return Object.keys(f).forEach(function(a){var b=null!=d&&a in d?d[a]:f[a];"relatedTarget"===a&&(b=R(b)),g.push(b)}),e["init"+b].apply(e,g),e}function z(a){u.call(this,a)}function A(a){return"function"==typeof a?!0:a&&a.handleEvent}function B(a){switch(a){case"DOMAttrModified":case"DOMAttributeNameChanged":case"DOMCharacterDataModified":case"DOMElementNameChanged":case"DOMNodeInserted":case"DOMNodeInsertedIntoDocument":case"DOMNodeRemoved":case"DOMNodeRemovedFromDocument":case"DOMSubtreeModified":return!0}return!1}function C(a){P(a,this)}function D(a){return a instanceof T.ShadowRoot&&(a=a.host),R(a)}function E(a,b){var c=U.get(a);if(c)for(var d=0;d<c.length;d++)if(!c[d].removed&&c[d].type===b)return!0;return!1}function F(a,b){for(var c=R(a);c;c=c.parentNode)if(E(S(c),b))return!0;return!1}function G(a){L(a,va)}function H(b,c,e,f){a.renderAllPending();var g=S(wa.call(Q(c),e,f));if(!g)return null;var i=d(g,null),j=i.lastIndexOf(b);return-1==j?null:(i=i.slice(0,j),h(i,b))}function I(a){return function(){var b=ba.get(this);return b&&b[a]&&b[a].value||null}}function J(a){var b=a.slice(2);return function(c){var d=ba.get(this);d||(d=Object.create(null),ba.set(this,d));var e=d[a];if(e&&this.removeEventListener(b,e.wrapped,!1),"function"==typeof c){var f=function(b){var d=c.call(this,b);d===!1?b.preventDefault():"onbeforeunload"===a&&"string"==typeof d&&(b.returnValue=d)};this.addEventListener(b,f,!1),d[a]={value:c,wrapped:f}}}}var K,L=a.forwardMethodsToWrapper,M=a.getTreeScope,N=a.mixin,O=a.registerWrapper,P=a.setWrapper,Q=a.unsafeUnwrap,R=a.unwrap,S=a.wrap,T=a.wrappers,U=(new WeakMap,new WeakMap),V=new WeakMap,W=new WeakMap,X=new WeakMap,Y=new WeakMap,Z=new WeakMap,$=new WeakMap,_=new WeakMap,aa=new WeakMap,ba=new WeakMap,ca=new WeakMap,da=0,ea=1,fa=2,ga=3;t.prototype={equals:function(a){return this.handler===a.handler&&this.type===a.type&&this.capture===a.capture},get removed(){return null===this.handler},remove:function(){this.handler=null}};var ha=window.Event;ha.prototype.polymerBlackList_={returnValue:!0,keyLocation:!0},u.prototype={get target(){return X.get(this)},get currentTarget(){return Y.get(this)},get eventPhase(){return $.get(this)},get path(){var a=ca.get(this);return a?a.slice():[]},stopPropagation:function(){_.set(this,!0)},stopImmediatePropagation:function(){_.set(this,!0),aa.set(this,!0)}};var ia=function(){var a=document.createEvent("Event");return a.initEvent("test",!0,!0),a.preventDefault(),a.defaultPrevented}();ia||(u.prototype.preventDefault=function(){this.cancelable&&(Q(this).preventDefault(),Object.defineProperty(this,"defaultPrevented",{get:function(){return!0},configurable:!0}))}),O(ha,u,document.createEvent("Event"));var ja=w("UIEvent",u),ka=w("CustomEvent",u),la={get relatedTarget(){var a=Z.get(this);return void 0!==a?a:S(R(this).relatedTarget)}},ma=N({initMouseEvent:x("initMouseEvent",14)},la),na=N({initFocusEvent:x("initFocusEvent",5)},la),oa=w("MouseEvent",ja,ma),pa=w("FocusEvent",ja,na),qa=Object.create(null),ra=function(){try{new window.FocusEvent("focus")}catch(a){return!1}return!0}();if(!ra){var sa=function(a,b,c){if(c){var d=qa[c];b=N(N({},d),b)}qa[a]=b};sa("Event",{bubbles:!1,cancelable:!1}),sa("CustomEvent",{detail:null},"Event"),sa("UIEvent",{view:null,detail:0},"Event"),sa("MouseEvent",{screenX:0,screenY:0,clientX:0,clientY:0,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null},"UIEvent"),sa("FocusEvent",{relatedTarget:null},"UIEvent")}var ta=window.BeforeUnloadEvent;z.prototype=Object.create(u.prototype),N(z.prototype,{get returnValue(){return Q(this).returnValue},set returnValue(a){Q(this).returnValue=a}}),ta&&O(ta,z);var ua=window.EventTarget,va=["addEventListener","removeEventListener","dispatchEvent"];[Node,Window].forEach(function(a){var b=a.prototype;va.forEach(function(a){Object.defineProperty(b,a+"_",{value:b[a]})})}),C.prototype={addEventListener:function(a,b,c){if(A(b)&&!B(a)){var d=new t(a,b,c),e=U.get(this);if(e){for(var f=0;f<e.length;f++)if(d.equals(e[f]))return}else e=[],e.depth=0,U.set(this,e);e.push(d);var g=D(this);g.addEventListener_(a,m,!0)}},removeEventListener:function(a,b,c){c=Boolean(c);var d=U.get(this);if(d){for(var e=0,f=!1,g=0;g<d.length;g++)d[g].type===a&&d[g].capture===c&&(e++,d[g].handler===b&&(f=!0,d[g].remove()));if(f&&1===e){var h=D(this);h.removeEventListener_(a,m,!0)}}},dispatchEvent:function(b){var c=R(b),d=c.type;V.set(c,!1),a.renderAllPending();var e;F(this,d)||(e=function(){},this.addEventListener(d,e,!0));try{return R(this).dispatchEvent_(c)}finally{e&&this.removeEventListener(d,e,!0)}}},ua&&O(ua,C);var wa=document.elementFromPoint;a.elementFromPoint=H,a.getEventHandlerGetter=I,a.getEventHandlerSetter=J,a.wrapEventTargetMethods=G,a.wrappers.BeforeUnloadEvent=z,a.wrappers.CustomEvent=ka,a.wrappers.Event=u,a.wrappers.EventTarget=C,a.wrappers.FocusEvent=pa,a.wrappers.MouseEvent=oa,a.wrappers.UIEvent=ja}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a,b){Object.defineProperty(a,b,p)}function c(a){j(a,this)}function d(){this.length=0,b(this,"length")}function e(a){for(var b=new d,e=0;e<a.length;e++)b[e]=new c(a[e]);return b.length=e,b}function f(a){g.call(this,a)}var g=a.wrappers.UIEvent,h=a.mixin,i=a.registerWrapper,j=a.setWrapper,k=a.unsafeUnwrap,l=a.wrap,m=window.TouchEvent;if(m){var n;try{n=document.createEvent("TouchEvent")}catch(o){return}var p={enumerable:!1};c.prototype={get target(){return l(k(this).target)}};var q={configurable:!0,enumerable:!0,get:null};["clientX","clientY","screenX","screenY","pageX","pageY","identifier","webkitRadiusX","webkitRadiusY","webkitRotationAngle","webkitForce"].forEach(function(a){q.get=function(){return k(this)[a]},Object.defineProperty(c.prototype,a,q)}),d.prototype={item:function(a){return this[a]}},f.prototype=Object.create(g.prototype),h(f.prototype,{get touches(){return e(k(this).touches)},get targetTouches(){return e(k(this).targetTouches)},get changedTouches(){return e(k(this).changedTouches)},initTouchEvent:function(){throw new Error("Not implemented")}}),i(m,f,n),a.wrappers.Touch=c,a.wrappers.TouchEvent=f,a.wrappers.TouchList=d}}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a,b){Object.defineProperty(a,b,h)}function c(){this.length=0,b(this,"length")}function d(a){if(null==a)return a;for(var b=new c,d=0,e=a.length;e>d;d++)b[d]=g(a[d]);return b.length=e,b}function e(a,b){a.prototype[b]=function(){return d(f(this)[b].apply(f(this),arguments))}}var f=a.unsafeUnwrap,g=a.wrap,h={enumerable:!1};c.prototype={item:function(a){return this[a]}},b(c.prototype,"item"),a.wrappers.NodeList=c,a.addWrapNodeListMethod=e,a.wrapNodeList=d}(window.ShadowDOMPolyfill),function(a){"use strict";a.wrapHTMLCollection=a.wrapNodeList,a.wrappers.HTMLCollection=a.wrappers.NodeList}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){A(a instanceof w)}function c(a){var b=new y;return b[0]=a,b.length=1,b}function d(a,b,c){C(b,"childList",{removedNodes:c,previousSibling:a.previousSibling,nextSibling:a.nextSibling})}function e(a,b){C(a,"childList",{removedNodes:b})}function f(a,b,d,e){if(a instanceof DocumentFragment){var f=h(a);P=!0;for(var g=f.length-1;g>=0;g--)a.removeChild(f[g]),f[g].parentNode_=b;P=!1;for(var g=0;g<f.length;g++)f[g].previousSibling_=f[g-1]||d,f[g].nextSibling_=f[g+1]||e;return d&&(d.nextSibling_=f[0]),e&&(e.previousSibling_=f[f.length-1]),f}var f=c(a),i=a.parentNode;return i&&i.removeChild(a),a.parentNode_=b,a.previousSibling_=d,a.nextSibling_=e,d&&(d.nextSibling_=a),e&&(e.previousSibling_=a),f}function g(a){if(a instanceof DocumentFragment)return h(a);var b=c(a),e=a.parentNode;return e&&d(a,e,b),b}function h(a){for(var b=new y,c=0,d=a.firstChild;d;d=d.nextSibling)b[c++]=d;return b.length=c,e(a,b),b}function i(a){return a}function j(a,b){I(a,b),a.nodeIsInserted_()}function k(a,b){for(var c=D(b),d=0;d<a.length;d++)j(a[d],c)}function l(a){I(a,new z(a,null))}function m(a){for(var b=0;b<a.length;b++)l(a[b])}function n(a,b){var c=a.nodeType===w.DOCUMENT_NODE?a:a.ownerDocument;c!==b.ownerDocument&&c.adoptNode(b)}function o(b,c){if(c.length){var d=b.ownerDocument;if(d!==c[0].ownerDocument)for(var e=0;e<c.length;e++)a.adoptNodeNoRemove(c[e],d)}}function p(a,b){o(a,b);var c=b.length;if(1===c)return K(b[0]);for(var d=K(a.ownerDocument.createDocumentFragment()),e=0;c>e;e++)d.appendChild(K(b[e]));return d}function q(a){if(void 0!==a.firstChild_)for(var b=a.firstChild_;b;){var c=b;b=b.nextSibling_,c.parentNode_=c.previousSibling_=c.nextSibling_=void 0;
+}a.firstChild_=a.lastChild_=void 0}function r(a){if(a.invalidateShadowRenderer()){for(var b=a.firstChild;b;){A(b.parentNode===a);var c=b.nextSibling,d=K(b),e=d.parentNode;e&&X.call(e,d),b.previousSibling_=b.nextSibling_=b.parentNode_=null,b=c}a.firstChild_=a.lastChild_=null}else for(var c,f=K(a),g=f.firstChild;g;)c=g.nextSibling,X.call(f,g),g=c}function s(a){var b=a.parentNode;return b&&b.invalidateShadowRenderer()}function t(a){for(var b,c=0;c<a.length;c++)b=a[c],b.parentNode.removeChild(b)}function u(a,b,c){var d;if(d=M(c?Q.call(c,J(a),!1):R.call(J(a),!1)),b){for(var e=a.firstChild;e;e=e.nextSibling)d.appendChild(u(e,!0,c));if(a instanceof O.HTMLTemplateElement)for(var f=d.content,e=a.content.firstChild;e;e=e.nextSibling)f.appendChild(u(e,!0,c))}return d}function v(a,b){if(!b||D(a)!==D(b))return!1;for(var c=b;c;c=c.parentNode)if(c===a)return!0;return!1}function w(a){A(a instanceof S),x.call(this,a),this.parentNode_=void 0,this.firstChild_=void 0,this.lastChild_=void 0,this.nextSibling_=void 0,this.previousSibling_=void 0,this.treeScope_=void 0}var x=a.wrappers.EventTarget,y=a.wrappers.NodeList,z=a.TreeScope,A=a.assert,B=a.defineWrapGetter,C=a.enqueueMutation,D=a.getTreeScope,E=a.isWrapper,F=a.mixin,G=a.registerTransientObservers,H=a.registerWrapper,I=a.setTreeScope,J=a.unsafeUnwrap,K=a.unwrap,L=a.unwrapIfNeeded,M=a.wrap,N=a.wrapIfNeeded,O=a.wrappers,P=!1,Q=document.importNode,R=window.Node.prototype.cloneNode,S=window.Node,T=window.DocumentFragment,U=(S.prototype.appendChild,S.prototype.compareDocumentPosition),V=S.prototype.isEqualNode,W=S.prototype.insertBefore,X=S.prototype.removeChild,Y=S.prototype.replaceChild,Z=/Trident|Edge/.test(navigator.userAgent),$=Z?function(a,b){try{X.call(a,b)}catch(c){if(!(a instanceof T))throw c}}:function(a,b){X.call(a,b)};w.prototype=Object.create(x.prototype),F(w.prototype,{appendChild:function(a){return this.insertBefore(a,null)},insertBefore:function(a,c){b(a);var d;c?E(c)?d=K(c):(d=c,c=M(d)):(c=null,d=null),c&&A(c.parentNode===this);var e,h=c?c.previousSibling:this.lastChild,i=!this.invalidateShadowRenderer()&&!s(a);if(e=i?g(a):f(a,this,h,c),i)n(this,a),q(this),W.call(J(this),K(a),d);else{h||(this.firstChild_=e[0]),c||(this.lastChild_=e[e.length-1],void 0===this.firstChild_&&(this.firstChild_=this.firstChild));var j=d?d.parentNode:J(this);j?W.call(j,p(this,e),d):o(this,e)}return C(this,"childList",{addedNodes:e,nextSibling:c,previousSibling:h}),k(e,this),a},removeChild:function(a){if(b(a),a.parentNode!==this){for(var d=!1,e=(this.childNodes,this.firstChild);e;e=e.nextSibling)if(e===a){d=!0;break}if(!d)throw new Error("NotFoundError")}var f=K(a),g=a.nextSibling,h=a.previousSibling;if(this.invalidateShadowRenderer()){var i=this.firstChild,j=this.lastChild,k=f.parentNode;k&&$(k,f),i===a&&(this.firstChild_=g),j===a&&(this.lastChild_=h),h&&(h.nextSibling_=g),g&&(g.previousSibling_=h),a.previousSibling_=a.nextSibling_=a.parentNode_=void 0}else q(this),$(J(this),f);return P||C(this,"childList",{removedNodes:c(a),nextSibling:g,previousSibling:h}),G(this,a),a},replaceChild:function(a,d){b(a);var e;if(E(d)?e=K(d):(e=d,d=M(e)),d.parentNode!==this)throw new Error("NotFoundError");var h,i=d.nextSibling,j=d.previousSibling,m=!this.invalidateShadowRenderer()&&!s(a);return m?h=g(a):(i===a&&(i=a.nextSibling),h=f(a,this,j,i)),m?(n(this,a),q(this),Y.call(J(this),K(a),e)):(this.firstChild===d&&(this.firstChild_=h[0]),this.lastChild===d&&(this.lastChild_=h[h.length-1]),d.previousSibling_=d.nextSibling_=d.parentNode_=void 0,e.parentNode&&Y.call(e.parentNode,p(this,h),e)),C(this,"childList",{addedNodes:h,removedNodes:c(d),nextSibling:i,previousSibling:j}),l(d),k(h,this),d},nodeIsInserted_:function(){for(var a=this.firstChild;a;a=a.nextSibling)a.nodeIsInserted_()},hasChildNodes:function(){return null!==this.firstChild},get parentNode(){return void 0!==this.parentNode_?this.parentNode_:M(J(this).parentNode)},get firstChild(){return void 0!==this.firstChild_?this.firstChild_:M(J(this).firstChild)},get lastChild(){return void 0!==this.lastChild_?this.lastChild_:M(J(this).lastChild)},get nextSibling(){return void 0!==this.nextSibling_?this.nextSibling_:M(J(this).nextSibling)},get previousSibling(){return void 0!==this.previousSibling_?this.previousSibling_:M(J(this).previousSibling)},get parentElement(){for(var a=this.parentNode;a&&a.nodeType!==w.ELEMENT_NODE;)a=a.parentNode;return a},get textContent(){for(var a="",b=this.firstChild;b;b=b.nextSibling)b.nodeType!=w.COMMENT_NODE&&(a+=b.textContent);return a},set textContent(a){null==a&&(a="");var b=i(this.childNodes);if(this.invalidateShadowRenderer()){if(r(this),""!==a){var c=J(this).ownerDocument.createTextNode(a);this.appendChild(c)}}else q(this),J(this).textContent=a;var d=i(this.childNodes);C(this,"childList",{addedNodes:d,removedNodes:b}),m(b),k(d,this)},get childNodes(){for(var a=new y,b=0,c=this.firstChild;c;c=c.nextSibling)a[b++]=c;return a.length=b,a},cloneNode:function(a){return u(this,a)},contains:function(a){return v(this,N(a))},compareDocumentPosition:function(a){return U.call(J(this),L(a))},isEqualNode:function(a){return V.call(J(this),L(a))},normalize:function(){for(var a,b,c=i(this.childNodes),d=[],e="",f=0;f<c.length;f++)b=c[f],b.nodeType===w.TEXT_NODE?a||b.data.length?a?(e+=b.data,d.push(b)):a=b:this.removeChild(b):(a&&d.length&&(a.data+=e,t(d)),d=[],e="",a=null,b.childNodes.length&&b.normalize());a&&d.length&&(a.data+=e,t(d))}}),B(w,"ownerDocument"),H(S,w,document.createDocumentFragment()),delete w.prototype.querySelector,delete w.prototype.querySelectorAll,w.prototype=F(Object.create(x.prototype),w.prototype),a.cloneNode=u,a.nodeWasAdded=j,a.nodeWasRemoved=l,a.nodesWereAdded=k,a.nodesWereRemoved=m,a.originalInsertBefore=W,a.originalRemoveChild=X,a.snapshotNodeList=i,a.wrappers.Node=w}(window.ShadowDOMPolyfill),function(a){"use strict";function b(b,c,d,e){for(var f=null,g=null,h=0,i=b.length;i>h;h++)f=t(b[h]),!e&&(g=r(f).root)&&g instanceof a.wrappers.ShadowRoot||(d[c++]=f);return c}function c(a){return String(a).replace(/\/deep\/|::shadow|>>>/g," ")}function d(a){return String(a).replace(/:host\(([^\s]+)\)/g,"$1").replace(/([^\s]):host/g,"$1").replace(":host","*").replace(/\^|\/shadow\/|\/shadow-deep\/|::shadow|\/deep\/|::content|>>>/g," ")}function e(a,b){for(var c,d=a.firstElementChild;d;){if(d.matches(b))return d;if(c=e(d,b))return c;d=d.nextElementSibling}return null}function f(a,b){return a.matches(b)}function g(a,b,c){var d=a.localName;return d===b||d===c&&a.namespaceURI===E}function h(){return!0}function i(a,b,c){return a.localName===c}function j(a,b){return a.namespaceURI===b}function k(a,b,c){return a.namespaceURI===b&&a.localName===c}function l(a,b,c,d,e,f){for(var g=a.firstElementChild;g;)d(g,e,f)&&(c[b++]=g),b=l(g,b,c,d,e,f),g=g.nextElementSibling;return b}function m(c,d,e,f,g){var h,i=s(this),j=r(this).root;if(j instanceof a.wrappers.ShadowRoot)return l(this,d,e,c,f,null);if(i instanceof C)h=x.call(i,f);else{if(!(i instanceof D))return l(this,d,e,c,f,null);h=w.call(i,f)}return b(h,d,e,g)}function n(c,d,e,f,g){var h,i=s(this),j=r(this).root;if(j instanceof a.wrappers.ShadowRoot)return l(this,d,e,c,f,g);if(i instanceof C)h=z.call(i,f,g);else{if(!(i instanceof D))return l(this,d,e,c,f,g);h=y.call(i,f,g)}return b(h,d,e,!1)}function o(c,d,e,f,g){var h,i=s(this),j=r(this).root;if(j instanceof a.wrappers.ShadowRoot)return l(this,d,e,c,f,g);if(i instanceof C)h=B.call(i,f,g);else{if(!(i instanceof D))return l(this,d,e,c,f,g);h=A.call(i,f,g)}return b(h,d,e,!1)}var p=a.wrappers.HTMLCollection,q=a.wrappers.NodeList,r=a.getTreeScope,s=a.unsafeUnwrap,t=a.wrap,u=document.querySelector,v=document.documentElement.querySelector,w=document.querySelectorAll,x=document.documentElement.querySelectorAll,y=document.getElementsByTagName,z=document.documentElement.getElementsByTagName,A=document.getElementsByTagNameNS,B=document.documentElement.getElementsByTagNameNS,C=window.Element,D=window.HTMLDocument||window.Document,E="http://www.w3.org/1999/xhtml",F={querySelector:function(b){var d=c(b),f=d!==b;b=d;var g,h=s(this),i=r(this).root;if(i instanceof a.wrappers.ShadowRoot)return e(this,b);if(h instanceof C)g=t(v.call(h,b));else{if(!(h instanceof D))return e(this,b);g=t(u.call(h,b))}return g&&!f&&(i=r(g).root)&&i instanceof a.wrappers.ShadowRoot?e(this,b):g},querySelectorAll:function(a){var b=c(a),d=b!==a;a=b;var e=new q;return e.length=m.call(this,f,0,e,a,d),e}},G={matches:function(b){return b=d(b),a.originalMatches.call(s(this),b)}},H={getElementsByTagName:function(a){var b=new p,c="*"===a?h:g;return b.length=n.call(this,c,0,b,a,a.toLowerCase()),b},getElementsByClassName:function(a){return this.querySelectorAll("."+a)},getElementsByTagNameNS:function(a,b){var c=new p,d=null;return d="*"===a?"*"===b?h:i:"*"===b?j:k,c.length=o.call(this,d,0,c,a||null,b),c}};a.GetElementsByInterface=H,a.SelectorsInterface=F,a.MatchesInterface=G}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){for(;a&&a.nodeType!==Node.ELEMENT_NODE;)a=a.nextSibling;return a}function c(a){for(;a&&a.nodeType!==Node.ELEMENT_NODE;)a=a.previousSibling;return a}var d=a.wrappers.NodeList,e={get firstElementChild(){return b(this.firstChild)},get lastElementChild(){return c(this.lastChild)},get childElementCount(){for(var a=0,b=this.firstElementChild;b;b=b.nextElementSibling)a++;return a},get children(){for(var a=new d,b=0,c=this.firstElementChild;c;c=c.nextElementSibling)a[b++]=c;return a.length=b,a},remove:function(){var a=this.parentNode;a&&a.removeChild(this)}},f={get nextElementSibling(){return b(this.nextSibling)},get previousElementSibling(){return c(this.previousSibling)}},g={getElementById:function(a){return/[ \t\n\r\f]/.test(a)?null:this.querySelector('[id="'+a+'"]')}};a.ChildNodeInterface=f,a.NonElementParentNodeInterface=g,a.ParentNodeInterface=e}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){d.call(this,a)}var c=a.ChildNodeInterface,d=a.wrappers.Node,e=a.enqueueMutation,f=a.mixin,g=a.registerWrapper,h=a.unsafeUnwrap,i=window.CharacterData;b.prototype=Object.create(d.prototype),f(b.prototype,{get nodeValue(){return this.data},set nodeValue(a){this.data=a},get textContent(){return this.data},set textContent(a){this.data=a},get data(){return h(this).data},set data(a){var b=h(this).data;e(this,"characterData",{oldValue:b}),h(this).data=a}}),f(b.prototype,c),g(i,b,document.createTextNode("")),a.wrappers.CharacterData=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){return a>>>0}function c(a){d.call(this,a)}var d=a.wrappers.CharacterData,e=(a.enqueueMutation,a.mixin),f=a.registerWrapper,g=window.Text;c.prototype=Object.create(d.prototype),e(c.prototype,{splitText:function(a){a=b(a);var c=this.data;if(a>c.length)throw new Error("IndexSizeError");var d=c.slice(0,a),e=c.slice(a);this.data=d;var f=this.ownerDocument.createTextNode(e);return this.parentNode&&this.parentNode.insertBefore(f,this.nextSibling),f}}),f(g,c,document.createTextNode("")),a.wrappers.Text=c}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){return f(a).getAttribute("class")}function c(a,b){g(a,"attributes",{name:"class",namespace:null,oldValue:b})}function d(b){a.invalidateRendererBasedOnAttribute(b,"class")}function e(a,e,f){var g=a.ownerElement_;if(null==g)return e.apply(a,f);var h=b(g),i=e.apply(a,f);return b(g)!==h&&(c(g,h),d(g)),i}if(!window.DOMTokenList)return void console.warn("Missing DOMTokenList prototype, please include a compatible classList polyfill such as http://goo.gl/uTcepH.");var f=a.unsafeUnwrap,g=a.enqueueMutation,h=DOMTokenList.prototype.add;DOMTokenList.prototype.add=function(){e(this,h,arguments)};var i=DOMTokenList.prototype.remove;DOMTokenList.prototype.remove=function(){e(this,i,arguments)};var j=DOMTokenList.prototype.toggle;DOMTokenList.prototype.toggle=function(){return e(this,j,arguments)}}(window.ShadowDOMPolyfill),function(a){"use strict";function b(b,c){var d=b.parentNode;if(d&&d.shadowRoot){var e=a.getRendererForHost(d);e.dependsOnAttribute(c)&&e.invalidate()}}function c(a,b,c){k(a,"attributes",{name:b,namespace:null,oldValue:c})}function d(a){g.call(this,a)}var e=a.ChildNodeInterface,f=a.GetElementsByInterface,g=a.wrappers.Node,h=a.ParentNodeInterface,i=a.SelectorsInterface,j=a.MatchesInterface,k=(a.addWrapNodeListMethod,a.enqueueMutation),l=a.mixin,m=(a.oneOf,a.registerWrapper),n=a.unsafeUnwrap,o=a.wrappers,p=window.Element,q=["matches","mozMatchesSelector","msMatchesSelector","webkitMatchesSelector"].filter(function(a){return p.prototype[a]}),r=q[0],s=p.prototype[r],t=new WeakMap;d.prototype=Object.create(g.prototype),l(d.prototype,{createShadowRoot:function(){var b=new o.ShadowRoot(this);n(this).polymerShadowRoot_=b;var c=a.getRendererForHost(this);return c.invalidate(),b},get shadowRoot(){return n(this).polymerShadowRoot_||null},setAttribute:function(a,d){var e=n(this).getAttribute(a);n(this).setAttribute(a,d),c(this,a,e),b(this,a)},removeAttribute:function(a){var d=n(this).getAttribute(a);n(this).removeAttribute(a),c(this,a,d),b(this,a)},get classList(){var a=t.get(this);if(!a){if(a=n(this).classList,!a)return;a.ownerElement_=this,t.set(this,a)}return a},get className(){return n(this).className},set className(a){this.setAttribute("class",a)},get id(){return n(this).id},set id(a){this.setAttribute("id",a)}}),q.forEach(function(a){"matches"!==a&&(d.prototype[a]=function(a){return this.matches(a)})}),p.prototype.webkitCreateShadowRoot&&(d.prototype.webkitCreateShadowRoot=d.prototype.createShadowRoot),l(d.prototype,e),l(d.prototype,f),l(d.prototype,h),l(d.prototype,i),l(d.prototype,j),m(p,d,document.createElementNS(null,"x")),a.invalidateRendererBasedOnAttribute=b,a.matchesNames=q,a.originalMatches=s,a.wrappers.Element=d}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){switch(a){case"&":return"&amp;";case"<":return"&lt;";case">":return"&gt;";case'"':return"&quot;";case" ":return"&nbsp;"}}function c(a){return a.replace(B,b)}function d(a){return a.replace(C,b)}function e(a){for(var b={},c=0;c<a.length;c++)b[a[c]]=!0;return b}function f(a){if(a.namespaceURI!==F)return!0;var b=a.ownerDocument.doctype;return b&&b.publicId&&b.systemId}function g(a,b){switch(a.nodeType){case Node.ELEMENT_NODE:for(var e,g=a.tagName.toLowerCase(),i="<"+g,j=a.attributes,k=0;e=j[k];k++)i+=" "+e.name+'="'+c(e.value)+'"';return D[g]?(f(a)&&(i+="/"),i+">"):i+">"+h(a)+"</"+g+">";case Node.TEXT_NODE:var l=a.data;return b&&E[b.localName]?l:d(l);case Node.COMMENT_NODE:return"<!--"+a.data+"-->";default:throw console.error(a),new Error("not implemented")}}function h(a){a instanceof A.HTMLTemplateElement&&(a=a.content);for(var b="",c=a.firstChild;c;c=c.nextSibling)b+=g(c,a);return b}function i(a,b,c){var d=c||"div";a.textContent="";var e=y(a.ownerDocument.createElement(d));e.innerHTML=b;for(var f;f=e.firstChild;)a.appendChild(z(f))}function j(a){p.call(this,a)}function k(a,b){var c=y(a.cloneNode(!1));c.innerHTML=b;for(var d,e=y(document.createDocumentFragment());d=c.firstChild;)e.appendChild(d);return z(e)}function l(b){return function(){return a.renderAllPending(),x(this)[b]}}function m(a){q(j,a,l(a))}function n(b){Object.defineProperty(j.prototype,b,{get:l(b),set:function(c){a.renderAllPending(),x(this)[b]=c},configurable:!0,enumerable:!0})}function o(b){Object.defineProperty(j.prototype,b,{value:function(){return a.renderAllPending(),x(this)[b].apply(x(this),arguments)},configurable:!0,enumerable:!0})}var p=a.wrappers.Element,q=a.defineGetter,r=a.enqueueMutation,s=a.mixin,t=a.nodesWereAdded,u=a.nodesWereRemoved,v=a.registerWrapper,w=a.snapshotNodeList,x=a.unsafeUnwrap,y=a.unwrap,z=a.wrap,A=a.wrappers,B=/[&\u00A0"]/g,C=/[&\u00A0<>]/g,D=e(["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),E=e(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]),F="http://www.w3.org/1999/xhtml",G=/MSIE/.test(navigator.userAgent),H=window.HTMLElement,I=window.HTMLTemplateElement;j.prototype=Object.create(p.prototype),s(j.prototype,{get innerHTML(){return h(this)},set innerHTML(a){if(G&&E[this.localName])return void(this.textContent=a);var b=w(this.childNodes);this.invalidateShadowRenderer()?this instanceof A.HTMLTemplateElement?i(this.content,a):i(this,a,this.tagName):!I&&this instanceof A.HTMLTemplateElement?i(this.content,a):x(this).innerHTML=a;var c=w(this.childNodes);r(this,"childList",{addedNodes:c,removedNodes:b}),u(b),t(c,this)},get outerHTML(){return g(this,this.parentNode)},set outerHTML(a){var b=this.parentNode;if(b){b.invalidateShadowRenderer();var c=k(b,a);b.replaceChild(c,this)}},insertAdjacentHTML:function(a,b){var c,d;switch(String(a).toLowerCase()){case"beforebegin":c=this.parentNode,d=this;break;case"afterend":c=this.parentNode,d=this.nextSibling;break;case"afterbegin":c=this,d=this.firstChild;break;case"beforeend":c=this,d=null;break;default:return}var e=k(c,b);c.insertBefore(e,d)},get hidden(){return this.hasAttribute("hidden")},set hidden(a){a?this.setAttribute("hidden",""):this.removeAttribute("hidden")}}),["clientHeight","clientLeft","clientTop","clientWidth","offsetHeight","offsetLeft","offsetTop","offsetWidth","scrollHeight","scrollWidth"].forEach(m),["scrollLeft","scrollTop"].forEach(n),["getBoundingClientRect","getClientRects","scrollIntoView"].forEach(o),v(H,j,document.createElement("b")),a.wrappers.HTMLElement=j,a.getInnerHTML=h,a.setInnerHTML=i}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=a.unsafeUnwrap,g=a.wrap,h=window.HTMLCanvasElement;b.prototype=Object.create(c.prototype),d(b.prototype,{getContext:function(){var a=f(this).getContext.apply(f(this),arguments);return a&&g(a)}}),e(h,b,document.createElement("canvas")),a.wrappers.HTMLCanvasElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=window.HTMLContentElement;b.prototype=Object.create(c.prototype),d(b.prototype,{constructor:b,get select(){return this.getAttribute("select")},set select(a){this.setAttribute("select",a)},setAttribute:function(a,b){c.prototype.setAttribute.call(this,a,b),"select"===String(a).toLowerCase()&&this.invalidateShadowRenderer(!0)}}),f&&e(f,b),a.wrappers.HTMLContentElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=a.wrapHTMLCollection,g=a.unwrap,h=window.HTMLFormElement;b.prototype=Object.create(c.prototype),d(b.prototype,{get elements(){return f(g(this).elements)}}),e(h,b,document.createElement("form")),a.wrappers.HTMLFormElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){d.call(this,a)}function c(a,b){if(!(this instanceof c))throw new TypeError("DOM object constructor cannot be called as a function.");var e=f(document.createElement("img"));d.call(this,e),g(e,this),void 0!==a&&(e.width=a),void 0!==b&&(e.height=b)}var d=a.wrappers.HTMLElement,e=a.registerWrapper,f=a.unwrap,g=a.rewrap,h=window.HTMLImageElement;b.prototype=Object.create(d.prototype),e(h,b,document.createElement("img")),c.prototype=b.prototype,a.wrappers.HTMLImageElement=b,a.wrappers.Image=c}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=(a.mixin,a.wrappers.NodeList,a.registerWrapper),e=window.HTMLShadowElement;b.prototype=Object.create(c.prototype),b.prototype.constructor=b,e&&d(e,b),a.wrappers.HTMLShadowElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){if(!a.defaultView)return a;var b=l.get(a);if(!b){for(b=a.implementation.createHTMLDocument("");b.lastChild;)b.removeChild(b.lastChild);l.set(a,b)}return b}function c(a){for(var c,d=b(a.ownerDocument),e=i(d.createDocumentFragment());c=a.firstChild;)e.appendChild(c);return e}function d(a){if(e.call(this,a),!m){var b=c(a);k.set(this,j(b))}}var e=a.wrappers.HTMLElement,f=a.mixin,g=a.registerWrapper,h=a.unsafeUnwrap,i=a.unwrap,j=a.wrap,k=new WeakMap,l=new WeakMap,m=window.HTMLTemplateElement;d.prototype=Object.create(e.prototype),f(d.prototype,{constructor:d,get content(){return m?j(h(this).content):k.get(this)}}),m&&g(m,d),a.wrappers.HTMLTemplateElement=d}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.registerWrapper,e=window.HTMLMediaElement;e&&(b.prototype=Object.create(c.prototype),d(e,b,document.createElement("audio")),a.wrappers.HTMLMediaElement=b)}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){d.call(this,a)}function c(a){if(!(this instanceof c))throw new TypeError("DOM object constructor cannot be called as a function.");var b=f(document.createElement("audio"));d.call(this,b),g(b,this),b.setAttribute("preload","auto"),void 0!==a&&b.setAttribute("src",a)}var d=a.wrappers.HTMLMediaElement,e=a.registerWrapper,f=a.unwrap,g=a.rewrap,h=window.HTMLAudioElement;h&&(b.prototype=Object.create(d.prototype),e(h,b,document.createElement("audio")),c.prototype=b.prototype,a.wrappers.HTMLAudioElement=b,a.wrappers.Audio=c)}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){return a.replace(/\s+/g," ").trim()}function c(a){e.call(this,a)}function d(a,b,c,f){if(!(this instanceof d))throw new TypeError("DOM object constructor cannot be called as a function.");var g=i(document.createElement("option"));e.call(this,g),h(g,this),void 0!==a&&(g.text=a),void 0!==b&&g.setAttribute("value",b),c===!0&&g.setAttribute("selected",""),g.selected=f===!0}var e=a.wrappers.HTMLElement,f=a.mixin,g=a.registerWrapper,h=a.rewrap,i=a.unwrap,j=a.wrap,k=window.HTMLOptionElement;c.prototype=Object.create(e.prototype),f(c.prototype,{get text(){return b(this.textContent)},set text(a){this.textContent=b(String(a))},get form(){return j(i(this).form)}}),g(k,c,document.createElement("option")),d.prototype=c.prototype,a.wrappers.HTMLOptionElement=c,a.wrappers.Option=d}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=a.unwrap,g=a.wrap,h=window.HTMLSelectElement;b.prototype=Object.create(c.prototype),d(b.prototype,{add:function(a,b){"object"==typeof b&&(b=f(b)),f(this).add(f(a),b)},remove:function(a){return void 0===a?void c.prototype.remove.call(this):("object"==typeof a&&(a=f(a)),void f(this).remove(a))},get form(){return g(f(this).form)}}),e(h,b,document.createElement("select")),a.wrappers.HTMLSelectElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=a.unwrap,g=a.wrap,h=a.wrapHTMLCollection,i=window.HTMLTableElement;b.prototype=Object.create(c.prototype),d(b.prototype,{get caption(){return g(f(this).caption)},createCaption:function(){return g(f(this).createCaption())},get tHead(){return g(f(this).tHead)},createTHead:function(){return g(f(this).createTHead())},createTFoot:function(){return g(f(this).createTFoot())},get tFoot(){return g(f(this).tFoot)},get tBodies(){return h(f(this).tBodies)},createTBody:function(){return g(f(this).createTBody())},get rows(){return h(f(this).rows)},insertRow:function(a){return g(f(this).insertRow(a))}}),e(i,b,document.createElement("table")),a.wrappers.HTMLTableElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=a.wrapHTMLCollection,g=a.unwrap,h=a.wrap,i=window.HTMLTableSectionElement;b.prototype=Object.create(c.prototype),d(b.prototype,{constructor:b,get rows(){return f(g(this).rows)},insertRow:function(a){return h(g(this).insertRow(a))}}),e(i,b,document.createElement("thead")),a.wrappers.HTMLTableSectionElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=a.wrapHTMLCollection,g=a.unwrap,h=a.wrap,i=window.HTMLTableRowElement;b.prototype=Object.create(c.prototype),d(b.prototype,{get cells(){return f(g(this).cells)},insertCell:function(a){return h(g(this).insertCell(a))}}),e(i,b,document.createElement("tr")),a.wrappers.HTMLTableRowElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){switch(a.localName){case"content":return new c(a);case"shadow":return new e(a);case"template":return new f(a)}d.call(this,a)}var c=a.wrappers.HTMLContentElement,d=a.wrappers.HTMLElement,e=a.wrappers.HTMLShadowElement,f=a.wrappers.HTMLTemplateElement,g=(a.mixin,a.registerWrapper),h=window.HTMLUnknownElement;b.prototype=Object.create(d.prototype),g(h,b),a.wrappers.HTMLUnknownElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.Element,d=a.wrappers.HTMLElement,e=a.registerWrapper,f=(a.defineWrapGetter,a.unsafeUnwrap),g=a.wrap,h=a.mixin,i="http://www.w3.org/2000/svg",j=window.SVGElement,k=document.createElementNS(i,"title");if(!("classList"in k)){var l=Object.getOwnPropertyDescriptor(c.prototype,"classList");Object.defineProperty(d.prototype,"classList",l),delete c.prototype.classList}b.prototype=Object.create(c.prototype),h(b.prototype,{get ownerSVGElement(){return g(f(this).ownerSVGElement)}}),e(j,b,document.createElementNS(i,"title")),a.wrappers.SVGElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){m.call(this,a)}var c=a.mixin,d=a.registerWrapper,e=a.unwrap,f=a.wrap,g=window.SVGUseElement,h="http://www.w3.org/2000/svg",i=f(document.createElementNS(h,"g")),j=document.createElementNS(h,"use"),k=i.constructor,l=Object.getPrototypeOf(k.prototype),m=l.constructor;b.prototype=Object.create(l),"instanceRoot"in j&&c(b.prototype,{get instanceRoot(){return f(e(this).instanceRoot)},get animatedInstanceRoot(){return f(e(this).animatedInstanceRoot)}}),d(g,b,j),a.wrappers.SVGUseElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.EventTarget,d=a.mixin,e=a.registerWrapper,f=a.unsafeUnwrap,g=a.wrap,h=window.SVGElementInstance;h&&(b.prototype=Object.create(c.prototype),d(b.prototype,{get correspondingElement(){return g(f(this).correspondingElement)},get correspondingUseElement(){return g(f(this).correspondingUseElement)},get parentNode(){return g(f(this).parentNode)},get childNodes(){throw new Error("Not implemented")},get firstChild(){return g(f(this).firstChild)},get lastChild(){return g(f(this).lastChild)},get previousSibling(){return g(f(this).previousSibling)},get nextSibling(){return g(f(this).nextSibling)}}),e(h,b),a.wrappers.SVGElementInstance=b)}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){e(a,this)}var c=a.mixin,d=a.registerWrapper,e=a.setWrapper,f=a.unsafeUnwrap,g=a.unwrap,h=a.unwrapIfNeeded,i=a.wrap,j=window.CanvasRenderingContext2D;c(b.prototype,{get canvas(){return i(f(this).canvas)},drawImage:function(){arguments[0]=h(arguments[0]),f(this).drawImage.apply(f(this),arguments)},createPattern:function(){return arguments[0]=g(arguments[0]),f(this).createPattern.apply(f(this),arguments)}}),d(j,b,document.createElement("canvas").getContext("2d")),a.wrappers.CanvasRenderingContext2D=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){e(a,this)}var c=a.mixin,d=a.registerWrapper,e=a.setWrapper,f=a.unsafeUnwrap,g=a.unwrapIfNeeded,h=a.wrap,i=window.WebGLRenderingContext;if(i){c(b.prototype,{get canvas(){return h(f(this).canvas)},texImage2D:function(){arguments[5]=g(arguments[5]),f(this).texImage2D.apply(f(this),arguments)},texSubImage2D:function(){arguments[6]=g(arguments[6]),f(this).texSubImage2D.apply(f(this),arguments)}});var j=/WebKit/.test(navigator.userAgent)?{drawingBufferHeight:null,drawingBufferWidth:null}:{};d(i,b,j),a.wrappers.WebGLRenderingContext=b}}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.Node,d=a.GetElementsByInterface,e=a.NonElementParentNodeInterface,f=a.ParentNodeInterface,g=a.SelectorsInterface,h=a.mixin,i=a.registerObject,j=a.registerWrapper,k=window.DocumentFragment;b.prototype=Object.create(c.prototype),h(b.prototype,f),h(b.prototype,g),h(b.prototype,d),h(b.prototype,e),j(k,b,document.createDocumentFragment()),a.wrappers.DocumentFragment=b;var l=i(document.createComment(""));a.wrappers.Comment=l}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){var b=l(k(a).ownerDocument.createDocumentFragment());c.call(this,b),i(b,this);var e=a.shadowRoot;n.set(this,e),this.treeScope_=new d(this,g(e||a)),m.set(this,a)}var c=a.wrappers.DocumentFragment,d=a.TreeScope,e=a.elementFromPoint,f=a.getInnerHTML,g=a.getTreeScope,h=a.mixin,i=a.rewrap,j=a.setInnerHTML,k=a.unsafeUnwrap,l=a.unwrap,m=new WeakMap,n=new WeakMap;b.prototype=Object.create(c.prototype),h(b.prototype,{constructor:b,get innerHTML(){return f(this)},set innerHTML(a){j(this,a),this.invalidateShadowRenderer()},get olderShadowRoot(){return n.get(this)||null},get host(){return m.get(this)||null},invalidateShadowRenderer:function(){return m.get(this).invalidateShadowRenderer()},elementFromPoint:function(a,b){return e(this,this.ownerDocument,a,b)},getSelection:function(){return document.getSelection()}}),a.wrappers.ShadowRoot=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){var b=l(a).root;return b instanceof n?b.host:null}function c(b,c){if(b.shadowRoot){c=Math.min(b.childNodes.length-1,c);var d=b.childNodes[c];if(d){var e=a.getDestinationInsertionPoints(d);if(e.length>0){var f=e[0].parentNode;f.nodeType==Node.ELEMENT_NODE&&(b=f)}}}return b}function d(a){return a=k(a),b(a)||a}function e(a){g(a,this)}var f=a.registerWrapper,g=a.setWrapper,h=a.unsafeUnwrap,i=a.unwrap,j=a.unwrapIfNeeded,k=a.wrap,l=a.getTreeScope,m=window.Range,n=a.wrappers.ShadowRoot;e.prototype={get startContainer(){return d(h(this).startContainer)},get endContainer(){return d(h(this).endContainer)},get commonAncestorContainer(){return d(h(this).commonAncestorContainer)},setStart:function(a,b){a=c(a,b),h(this).setStart(j(a),b)},setEnd:function(a,b){a=c(a,b),h(this).setEnd(j(a),b)},setStartBefore:function(a){h(this).setStartBefore(j(a))},setStartAfter:function(a){h(this).setStartAfter(j(a))},setEndBefore:function(a){h(this).setEndBefore(j(a))},setEndAfter:function(a){h(this).setEndAfter(j(a))},selectNode:function(a){h(this).selectNode(j(a))},selectNodeContents:function(a){h(this).selectNodeContents(j(a))},compareBoundaryPoints:function(a,b){return h(this).compareBoundaryPoints(a,i(b))},extractContents:function(){return k(h(this).extractContents())},cloneContents:function(){return k(h(this).cloneContents())},insertNode:function(a){h(this).insertNode(j(a))},surroundContents:function(a){h(this).surroundContents(j(a))},cloneRange:function(){return k(h(this).cloneRange())},isPointInRange:function(a,b){return h(this).isPointInRange(j(a),b)},comparePoint:function(a,b){return h(this).comparePoint(j(a),b)},intersectsNode:function(a){return h(this).intersectsNode(j(a))},toString:function(){return h(this).toString()}},m.prototype.createContextualFragment&&(e.prototype.createContextualFragment=function(a){return k(h(this).createContextualFragment(a))}),f(window.Range,e,document.createRange()),a.wrappers.Range=e}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){a.previousSibling_=a.previousSibling,a.nextSibling_=a.nextSibling,a.parentNode_=a.parentNode}function c(c,e,f){var g=H(c),h=H(e),i=f?H(f):null;if(d(e),b(e),f)c.firstChild===f&&(c.firstChild_=f),f.previousSibling_=f.previousSibling;else{c.lastChild_=c.lastChild,c.lastChild===c.firstChild&&(c.firstChild_=c.firstChild);var j=I(g.lastChild);j&&(j.nextSibling_=j.nextSibling)}a.originalInsertBefore.call(g,h,i)}function d(c){var d=H(c),e=d.parentNode;if(e){var f=I(e);b(c),c.previousSibling&&(c.previousSibling.nextSibling_=c),c.nextSibling&&(c.nextSibling.previousSibling_=c),f.lastChild===c&&(f.lastChild_=c),f.firstChild===c&&(f.firstChild_=c),a.originalRemoveChild.call(e,d)}}function e(a){K.set(a,[])}function f(a){var b=K.get(a);return b||K.set(a,b=[]),b}function g(a){for(var b=[],c=0,d=a.firstChild;d;d=d.nextSibling)b[c++]=d;
+return b}function h(){for(var a=0;a<O.length;a++){var b=O[a],c=b.parentRenderer;c&&c.dirty||b.render()}O=[]}function i(){y=null,h()}function j(a){var b=M.get(a);return b||(b=new n(a),M.set(a,b)),b}function k(a){var b=E(a).root;return b instanceof D?b:null}function l(a){return j(a.host)}function m(a){this.skip=!1,this.node=a,this.childNodes=[]}function n(a){this.host=a,this.dirty=!1,this.invalidateAttributes(),this.associateNode(a)}function o(a){for(var b=[],c=a.firstChild;c;c=c.nextSibling)v(c)?b.push.apply(b,f(c)):b.push(c);return b}function p(a){if(a instanceof B)return a;if(a instanceof A)return null;for(var b=a.firstChild;b;b=b.nextSibling){var c=p(b);if(c)return c}return null}function q(a,b){f(b).push(a);var c=L.get(a);c?c.push(b):L.set(a,[b])}function r(a){return L.get(a)}function s(a){L.set(a,void 0)}function t(a,b){var c=b.getAttribute("select");if(!c)return!0;if(c=c.trim(),!c)return!0;if(!(a instanceof z))return!1;if(!Q.test(c))return!1;try{return a.matches(c)}catch(d){return!1}}function u(a,b){var c=r(b);return c&&c[c.length-1]===a}function v(a){return a instanceof A||a instanceof B}function w(a){return a.shadowRoot}function x(a){for(var b=[],c=a.shadowRoot;c;c=c.olderShadowRoot)b.push(c);return b}var y,z=a.wrappers.Element,A=a.wrappers.HTMLContentElement,B=a.wrappers.HTMLShadowElement,C=a.wrappers.Node,D=a.wrappers.ShadowRoot,E=(a.assert,a.getTreeScope),F=(a.mixin,a.oneOf),G=a.unsafeUnwrap,H=a.unwrap,I=a.wrap,J=a.ArraySplice,K=new WeakMap,L=new WeakMap,M=new WeakMap,N=F(window,["requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","setTimeout"]),O=[],P=new J;P.equals=function(a,b){return H(a.node)===b},m.prototype={append:function(a){var b=new m(a);return this.childNodes.push(b),b},sync:function(a){if(!this.skip){for(var b=this.node,e=this.childNodes,f=g(H(b)),h=a||new WeakMap,i=P.calculateSplices(e,f),j=0,k=0,l=0,m=0;m<i.length;m++){for(var n=i[m];l<n.index;l++)k++,e[j++].sync(h);for(var o=n.removed.length,p=0;o>p;p++){var q=I(f[k++]);h.get(q)||d(q)}for(var r=n.addedCount,s=f[k]&&I(f[k]),p=0;r>p;p++){var t=e[j++],u=t.node;c(b,u,s),h.set(u,!0),t.sync(h)}l+=r}for(var m=l;m<e.length;m++)e[m].sync(h)}}},n.prototype={render:function(a){if(this.dirty){this.invalidateAttributes();var b=this.host;this.distribution(b);var c=a||new m(b);this.buildRenderTree(c,b);var d=!a;d&&c.sync(),this.dirty=!1}},get parentRenderer(){return E(this.host).renderer},invalidate:function(){if(!this.dirty){this.dirty=!0;var a=this.parentRenderer;if(a&&a.invalidate(),O.push(this),y)return;y=window[N](i,0)}},distribution:function(a){this.resetAllSubtrees(a),this.distributionResolution(a)},resetAll:function(a){v(a)?e(a):s(a),this.resetAllSubtrees(a)},resetAllSubtrees:function(a){for(var b=a.firstChild;b;b=b.nextSibling)this.resetAll(b);a.shadowRoot&&this.resetAll(a.shadowRoot),a.olderShadowRoot&&this.resetAll(a.olderShadowRoot)},distributionResolution:function(a){if(w(a)){for(var b=a,c=o(b),d=x(b),e=0;e<d.length;e++)this.poolDistribution(d[e],c);for(var e=d.length-1;e>=0;e--){var f=d[e],g=p(f);if(g){var h=f.olderShadowRoot;h&&(c=o(h));for(var i=0;i<c.length;i++)q(c[i],g)}this.distributionResolution(f)}}for(var j=a.firstChild;j;j=j.nextSibling)this.distributionResolution(j)},poolDistribution:function(a,b){if(!(a instanceof B))if(a instanceof A){var c=a;this.updateDependentAttributes(c.getAttribute("select"));for(var d=!1,e=0;e<b.length;e++){var a=b[e];a&&t(a,c)&&(q(a,c),b[e]=void 0,d=!0)}if(!d)for(var f=c.firstChild;f;f=f.nextSibling)q(f,c)}else for(var f=a.firstChild;f;f=f.nextSibling)this.poolDistribution(f,b)},buildRenderTree:function(a,b){for(var c=this.compose(b),d=0;d<c.length;d++){var e=c[d],f=a.append(e);this.buildRenderTree(f,e)}if(w(b)){var g=j(b);g.dirty=!1}},compose:function(a){for(var b=[],c=a.shadowRoot||a,d=c.firstChild;d;d=d.nextSibling)if(v(d)){this.associateNode(c);for(var e=f(d),g=0;g<e.length;g++){var h=e[g];u(d,h)&&b.push(h)}}else b.push(d);return b},invalidateAttributes:function(){this.attributes=Object.create(null)},updateDependentAttributes:function(a){if(a){var b=this.attributes;/\.\w+/.test(a)&&(b["class"]=!0),/#\w+/.test(a)&&(b.id=!0),a.replace(/\[\s*([^\s=\|~\]]+)/g,function(a,c){b[c]=!0})}},dependsOnAttribute:function(a){return this.attributes[a]},associateNode:function(a){G(a).polymerShadowRenderer_=this}};var Q=/^(:not\()?[*.#[a-zA-Z_|]/;C.prototype.invalidateShadowRenderer=function(a){var b=G(this).polymerShadowRenderer_;return b?(b.invalidate(),!0):!1},A.prototype.getDistributedNodes=B.prototype.getDistributedNodes=function(){return h(),f(this)},z.prototype.getDestinationInsertionPoints=function(){return h(),r(this)||[]},A.prototype.nodeIsInserted_=B.prototype.nodeIsInserted_=function(){this.invalidateShadowRenderer();var a,b=k(this);b&&(a=l(b)),G(this).polymerShadowRenderer_=a,a&&a.invalidate()},a.getRendererForHost=j,a.getShadowTrees=x,a.renderAllPending=h,a.getDestinationInsertionPoints=r,a.visual={insertBefore:c,remove:d}}(window.ShadowDOMPolyfill),function(a){"use strict";function b(b){if(window[b]){d(!a.wrappers[b]);var i=function(a){c.call(this,a)};i.prototype=Object.create(c.prototype),e(i.prototype,{get form(){return h(g(this).form)}}),f(window[b],i,document.createElement(b.slice(4,-7))),a.wrappers[b]=i}}var c=a.wrappers.HTMLElement,d=a.assert,e=a.mixin,f=a.registerWrapper,g=a.unwrap,h=a.wrap,i=["HTMLButtonElement","HTMLFieldSetElement","HTMLInputElement","HTMLKeygenElement","HTMLLabelElement","HTMLLegendElement","HTMLObjectElement","HTMLOutputElement","HTMLTextAreaElement"];i.forEach(b)}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){d(a,this)}var c=a.registerWrapper,d=a.setWrapper,e=a.unsafeUnwrap,f=a.unwrap,g=a.unwrapIfNeeded,h=a.wrap,i=window.Selection;b.prototype={get anchorNode(){return h(e(this).anchorNode)},get focusNode(){return h(e(this).focusNode)},addRange:function(a){e(this).addRange(g(a))},collapse:function(a,b){e(this).collapse(g(a),b)},containsNode:function(a,b){return e(this).containsNode(g(a),b)},getRangeAt:function(a){return h(e(this).getRangeAt(a))},removeRange:function(a){e(this).removeRange(f(a))},selectAllChildren:function(a){e(this).selectAllChildren(a instanceof ShadowRoot?e(a.host):g(a))},toString:function(){return e(this).toString()}},i.prototype.extend&&(b.prototype.extend=function(a,b){e(this).extend(g(a),b)}),c(window.Selection,b,window.getSelection()),a.wrappers.Selection=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){d(a,this)}var c=a.registerWrapper,d=a.setWrapper,e=a.unsafeUnwrap,f=a.unwrapIfNeeded,g=a.wrap,h=window.TreeWalker;b.prototype={get root(){return g(e(this).root)},get currentNode(){return g(e(this).currentNode)},set currentNode(a){e(this).currentNode=f(a)},get filter(){return e(this).filter},parentNode:function(){return g(e(this).parentNode())},firstChild:function(){return g(e(this).firstChild())},lastChild:function(){return g(e(this).lastChild())},previousSibling:function(){return g(e(this).previousSibling())},previousNode:function(){return g(e(this).previousNode())},nextNode:function(){return g(e(this).nextNode())}},c(h,b),a.wrappers.TreeWalker=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){k.call(this,a),this.treeScope_=new q(this,null)}function c(a){var c=document[a];b.prototype[a]=function(){return D(c.apply(B(this),arguments))}}function d(a,b){G.call(B(b),C(a)),e(a,b)}function e(a,b){a.shadowRoot&&b.adoptNode(a.shadowRoot),a instanceof p&&f(a,b);for(var c=a.firstChild;c;c=c.nextSibling)e(c,b)}function f(a,b){var c=a.olderShadowRoot;c&&b.adoptNode(c)}function g(a){A(a,this)}function h(a,b){var c=document.implementation[b];a.prototype[b]=function(){return D(c.apply(B(this),arguments))}}function i(a,b){var c=document.implementation[b];a.prototype[b]=function(){return c.apply(B(this),arguments)}}var j=a.GetElementsByInterface,k=a.wrappers.Node,l=a.ParentNodeInterface,m=a.NonElementParentNodeInterface,n=a.wrappers.Selection,o=a.SelectorsInterface,p=a.wrappers.ShadowRoot,q=a.TreeScope,r=a.cloneNode,s=a.defineWrapGetter,t=a.elementFromPoint,u=a.forwardMethodsToWrapper,v=a.matchesNames,w=a.mixin,x=a.registerWrapper,y=a.renderAllPending,z=a.rewrap,A=a.setWrapper,B=a.unsafeUnwrap,C=a.unwrap,D=a.wrap,E=a.wrapEventTargetMethods,F=(a.wrapNodeList,new WeakMap);b.prototype=Object.create(k.prototype),s(b,"documentElement"),s(b,"body"),s(b,"head"),["createComment","createDocumentFragment","createElement","createElementNS","createEvent","createEventNS","createRange","createTextNode"].forEach(c);var G=document.adoptNode,H=document.getSelection;w(b.prototype,{adoptNode:function(a){return a.parentNode&&a.parentNode.removeChild(a),d(a,this),a},elementFromPoint:function(a,b){return t(this,this,a,b)},importNode:function(a,b){return r(a,b,B(this))},getSelection:function(){return y(),new n(H.call(C(this)))},getElementsByName:function(a){return o.querySelectorAll.call(this,"[name="+JSON.stringify(String(a))+"]")}});var I=document.createTreeWalker,J=a.wrappers.TreeWalker;if(b.prototype.createTreeWalker=function(a,b,c,d){var e=null;return c&&(c.acceptNode&&"function"==typeof c.acceptNode?e={acceptNode:function(a){return c.acceptNode(D(a))}}:"function"==typeof c&&(e=function(a){return c(D(a))})),new J(I.call(C(this),C(a),b,e,d))},document.registerElement){var K=document.registerElement;b.prototype.registerElement=function(b,c){function d(a){return a?void A(a,this):f?document.createElement(f,b):document.createElement(b)}var e,f;if(void 0!==c&&(e=c.prototype,f=c["extends"]),e||(e=Object.create(HTMLElement.prototype)),a.nativePrototypeTable.get(e))throw new Error("NotSupportedError");for(var g,h=Object.getPrototypeOf(e),i=[];h&&!(g=a.nativePrototypeTable.get(h));)i.push(h),h=Object.getPrototypeOf(h);if(!g)throw new Error("NotSupportedError");for(var j=Object.create(g),k=i.length-1;k>=0;k--)j=Object.create(j);["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"].forEach(function(a){var b=e[a];b&&(j[a]=function(){D(this)instanceof d||z(this),b.apply(D(this),arguments)})});var l={prototype:j};f&&(l["extends"]=f),d.prototype=e,d.prototype.constructor=d,a.constructorTable.set(j,d),a.nativePrototypeTable.set(e,j);K.call(C(this),b,l);return d},u([window.HTMLDocument||window.Document],["registerElement"])}u([window.HTMLBodyElement,window.HTMLDocument||window.Document,window.HTMLHeadElement,window.HTMLHtmlElement],["appendChild","compareDocumentPosition","contains","getElementsByClassName","getElementsByTagName","getElementsByTagNameNS","insertBefore","querySelector","querySelectorAll","removeChild","replaceChild"]),u([window.HTMLBodyElement,window.HTMLHeadElement,window.HTMLHtmlElement],v),u([window.HTMLDocument||window.Document],["adoptNode","importNode","contains","createComment","createDocumentFragment","createElement","createElementNS","createEvent","createEventNS","createRange","createTextNode","createTreeWalker","elementFromPoint","getElementById","getElementsByName","getSelection"]),w(b.prototype,j),w(b.prototype,l),w(b.prototype,o),w(b.prototype,m),w(b.prototype,{get implementation(){var a=F.get(this);return a?a:(a=new g(C(this).implementation),F.set(this,a),a)},get defaultView(){return D(C(this).defaultView)}}),x(window.Document,b,document.implementation.createHTMLDocument("")),window.HTMLDocument&&x(window.HTMLDocument,b),E([window.HTMLBodyElement,window.HTMLDocument||window.Document,window.HTMLHeadElement]);var L=document.implementation.createDocument;g.prototype.createDocument=function(){return arguments[2]=C(arguments[2]),D(L.apply(B(this),arguments))},h(g,"createDocumentType"),h(g,"createHTMLDocument"),i(g,"hasFeature"),x(window.DOMImplementation,g),u([window.DOMImplementation],["createDocument","createDocumentType","createHTMLDocument","hasFeature"]),a.adoptNodeNoRemove=d,a.wrappers.DOMImplementation=g,a.wrappers.Document=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.EventTarget,d=a.wrappers.Selection,e=a.mixin,f=a.registerWrapper,g=a.renderAllPending,h=a.unwrap,i=a.unwrapIfNeeded,j=a.wrap,k=window.Window,l=window.getComputedStyle,m=window.getDefaultComputedStyle,n=window.getSelection;b.prototype=Object.create(c.prototype),k.prototype.getComputedStyle=function(a,b){return j(this||window).getComputedStyle(i(a),b)},m&&(k.prototype.getDefaultComputedStyle=function(a,b){return j(this||window).getDefaultComputedStyle(i(a),b)}),k.prototype.getSelection=function(){return j(this||window).getSelection()},delete window.getComputedStyle,delete window.getDefaultComputedStyle,delete window.getSelection,["addEventListener","removeEventListener","dispatchEvent"].forEach(function(a){k.prototype[a]=function(){var b=j(this||window);return b[a].apply(b,arguments)},delete window[a]}),e(b.prototype,{getComputedStyle:function(a,b){return g(),l.call(h(this),i(a),b)},getSelection:function(){return g(),new d(n.call(h(this)))},get document(){return j(h(this).document)}}),m&&(b.prototype.getDefaultComputedStyle=function(a,b){return g(),m.call(h(this),i(a),b)}),f(k,b,window),a.wrappers.Window=b}(window.ShadowDOMPolyfill),function(a){"use strict";var b=a.unwrap,c=window.DataTransfer||window.Clipboard,d=c.prototype.setDragImage;d&&(c.prototype.setDragImage=function(a,c,e){d.call(this,b(a),c,e)})}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){var b;b=a instanceof f?a:new f(a&&e(a)),d(b,this)}var c=a.registerWrapper,d=a.setWrapper,e=a.unwrap,f=window.FormData;f&&(c(f,b,new f),a.wrappers.FormData=b)}(window.ShadowDOMPolyfill),function(a){"use strict";var b=a.unwrapIfNeeded,c=XMLHttpRequest.prototype.send;XMLHttpRequest.prototype.send=function(a){return c.call(this,b(a))}}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){var b=c[a],d=window[b];if(d){var e=document.createElement(a),f=e.constructor;window[b]=f}}var c=(a.isWrapperFor,{a:"HTMLAnchorElement",area:"HTMLAreaElement",audio:"HTMLAudioElement",base:"HTMLBaseElement",body:"HTMLBodyElement",br:"HTMLBRElement",button:"HTMLButtonElement",canvas:"HTMLCanvasElement",caption:"HTMLTableCaptionElement",col:"HTMLTableColElement",content:"HTMLContentElement",data:"HTMLDataElement",datalist:"HTMLDataListElement",del:"HTMLModElement",dir:"HTMLDirectoryElement",div:"HTMLDivElement",dl:"HTMLDListElement",embed:"HTMLEmbedElement",fieldset:"HTMLFieldSetElement",font:"HTMLFontElement",form:"HTMLFormElement",frame:"HTMLFrameElement",frameset:"HTMLFrameSetElement",h1:"HTMLHeadingElement",head:"HTMLHeadElement",hr:"HTMLHRElement",html:"HTMLHtmlElement",iframe:"HTMLIFrameElement",img:"HTMLImageElement",input:"HTMLInputElement",keygen:"HTMLKeygenElement",label:"HTMLLabelElement",legend:"HTMLLegendElement",li:"HTMLLIElement",link:"HTMLLinkElement",map:"HTMLMapElement",marquee:"HTMLMarqueeElement",menu:"HTMLMenuElement",menuitem:"HTMLMenuItemElement",meta:"HTMLMetaElement",meter:"HTMLMeterElement",object:"HTMLObjectElement",ol:"HTMLOListElement",optgroup:"HTMLOptGroupElement",option:"HTMLOptionElement",output:"HTMLOutputElement",p:"HTMLParagraphElement",param:"HTMLParamElement",pre:"HTMLPreElement",progress:"HTMLProgressElement",q:"HTMLQuoteElement",script:"HTMLScriptElement",select:"HTMLSelectElement",shadow:"HTMLShadowElement",source:"HTMLSourceElement",span:"HTMLSpanElement",style:"HTMLStyleElement",table:"HTMLTableElement",tbody:"HTMLTableSectionElement",template:"HTMLTemplateElement",textarea:"HTMLTextAreaElement",thead:"HTMLTableSectionElement",time:"HTMLTimeElement",title:"HTMLTitleElement",tr:"HTMLTableRowElement",track:"HTMLTrackElement",ul:"HTMLUListElement",video:"HTMLVideoElement"});Object.keys(c).forEach(b),Object.getOwnPropertyNames(a.wrappers).forEach(function(b){window[b]=a.wrappers[b]})}(window.ShadowDOMPolyfill),function(a){function b(a,b){var c="";return Array.prototype.forEach.call(a,function(a){c+=a.textContent+"\n\n"}),b||(c=c.replace(l,"")),c}function c(a){var b=document.createElement("style");return b.textContent=a,b}function d(a){var b=c(a);document.head.appendChild(b);var d=[];if(b.sheet)try{d=b.sheet.cssRules}catch(e){}else console.warn("sheet not found",b);return b.parentNode.removeChild(b),d}function e(){D.initialized=!0,document.body.appendChild(D);var a=D.contentDocument,b=a.createElement("base");b.href=document.baseURI,a.head.appendChild(b)}function f(a){D.initialized||e(),document.body.appendChild(D),a(D.contentDocument),document.body.removeChild(D)}function g(a,b){if(b){var e;if(a.match("@import")&&F){var g=c(a);f(function(a){a.head.appendChild(g.impl),e=Array.prototype.slice.call(g.sheet.cssRules,0),b(e)})}else e=d(a),b(e)}}function h(a){a&&j().appendChild(document.createTextNode(a))}function i(a,b){var d=c(a);d.setAttribute(b,""),d.setAttribute(H,""),document.head.appendChild(d)}function j(){return E||(E=document.createElement("style"),E.setAttribute(H,""),E[H]=!0),E}var k={strictStyling:!1,registry:{},shimStyling:function(a,c,d){var e=this.prepareRoot(a,c,d),f=this.isTypeExtension(d),g=this.makeScopeSelector(c,f),h=b(e,!0);h=this.scopeCssText(h,g),a&&(a.shimmedStyle=h),this.addCssToDocument(h,c)},shimStyle:function(a,b){return this.shimCssText(a.textContent,b)},shimCssText:function(a,b){return a=this.insertDirectives(a),this.scopeCssText(a,b)},makeScopeSelector:function(a,b){return a?b?"[is="+a+"]":a:""},isTypeExtension:function(a){return a&&a.indexOf("-")<0},prepareRoot:function(a,b,c){var d=this.registerRoot(a,b,c);return this.replaceTextInStyles(d.rootStyles,this.insertDirectives),this.removeStyles(a,d.rootStyles),this.strictStyling&&this.applyScopeToContent(a,b),d.scopeStyles},removeStyles:function(a,b){for(var c,d=0,e=b.length;e>d&&(c=b[d]);d++)c.parentNode.removeChild(c)},registerRoot:function(a,b,c){var d=this.registry[b]={root:a,name:b,extendsName:c},e=this.findStyles(a);d.rootStyles=e,d.scopeStyles=d.rootStyles;var f=this.registry[d.extendsName];return f&&(d.scopeStyles=f.scopeStyles.concat(d.scopeStyles)),d},findStyles:function(a){if(!a)return[];var b=a.querySelectorAll("style");return Array.prototype.filter.call(b,function(a){return!a.hasAttribute(I)})},applyScopeToContent:function(a,b){a&&(Array.prototype.forEach.call(a.querySelectorAll("*"),function(a){a.setAttribute(b,"")}),Array.prototype.forEach.call(a.querySelectorAll("template"),function(a){this.applyScopeToContent(a.content,b)},this))},insertDirectives:function(a){return a=this.insertPolyfillDirectivesInCssText(a),this.insertPolyfillRulesInCssText(a)},insertPolyfillDirectivesInCssText:function(a){return a=a.replace(m,function(a,b){return b.slice(0,-2)+"{"}),a.replace(n,function(a,b){return b+" {"})},insertPolyfillRulesInCssText:function(a){return a=a.replace(o,function(a,b){return b.slice(0,-1)}),a.replace(p,function(a,b,c,d){var e=a.replace(b,"").replace(c,"");return d+e})},scopeCssText:function(a,b){var c=this.extractUnscopedRulesFromCssText(a);if(a=this.insertPolyfillHostInCssText(a),a=this.convertColonHost(a),a=this.convertColonHostContext(a),a=this.convertShadowDOMSelectors(a),b){var a,d=this;g(a,function(c){a=d.scopeRules(c,b)})}return a=a+"\n"+c,a.trim()},extractUnscopedRulesFromCssText:function(a){for(var b,c="";b=q.exec(a);)c+=b[1].slice(0,-1)+"\n\n";for(;b=r.exec(a);)c+=b[0].replace(b[2],"").replace(b[1],b[3])+"\n\n";return c},convertColonHost:function(a){return this.convertColonRule(a,v,this.colonHostPartReplacer)},convertColonHostContext:function(a){return this.convertColonRule(a,w,this.colonHostContextPartReplacer)},convertColonRule:function(a,b,c){return a.replace(b,function(a,b,d,e){if(b=A,d){for(var f,g=d.split(","),h=[],i=0,j=g.length;j>i&&(f=g[i]);i++)f=f.trim(),h.push(c(b,f,e));return h.join(",")}return b+e})},colonHostContextPartReplacer:function(a,b,c){return b.match(s)?this.colonHostPartReplacer(a,b,c):a+b+c+", "+b+" "+a+c},colonHostPartReplacer:function(a,b,c){return a+b.replace(s,"")+c},convertShadowDOMSelectors:function(a){for(var b=0;b<C.length;b++)a=a.replace(C[b]," ");return a},scopeRules:function(a,b){var c="";return a&&Array.prototype.forEach.call(a,function(a){if(a.selectorText&&a.style&&void 0!==a.style.cssText)c+=this.scopeSelector(a.selectorText,b,this.strictStyling)+" {\n    ",c+=this.propertiesFromRule(a)+"\n}\n\n";else if(a.type===CSSRule.MEDIA_RULE)c+="@media "+a.media.mediaText+" {\n",c+=this.scopeRules(a.cssRules,b),c+="\n}\n\n";else try{a.cssText&&(c+=a.cssText+"\n\n")}catch(d){a.type===CSSRule.KEYFRAMES_RULE&&a.cssRules&&(c+=this.ieSafeCssTextFromKeyFrameRule(a))}},this),c},ieSafeCssTextFromKeyFrameRule:function(a){var b="@keyframes "+a.name+" {";return Array.prototype.forEach.call(a.cssRules,function(a){b+=" "+a.keyText+" {"+a.style.cssText+"}"}),b+=" }"},scopeSelector:function(a,b,c){var d=[],e=a.split(",");return e.forEach(function(a){a=a.trim(),this.selectorNeedsScoping(a,b)&&(a=c&&!a.match(A)?this.applyStrictSelectorScope(a,b):this.applySelectorScope(a,b)),d.push(a)},this),d.join(", ")},selectorNeedsScoping:function(a,b){if(Array.isArray(b))return!0;var c=this.makeScopeMatcher(b);return!a.match(c)},makeScopeMatcher:function(a){return a=a.replace(/\[/g,"\\[").replace(/\]/g,"\\]"),new RegExp("^("+a+")"+x,"m")},applySelectorScope:function(a,b){return Array.isArray(b)?this.applySelectorScopeList(a,b):this.applySimpleSelectorScope(a,b)},applySelectorScopeList:function(a,b){for(var c,d=[],e=0;c=b[e];e++)d.push(this.applySimpleSelectorScope(a,c));return d.join(", ")},applySimpleSelectorScope:function(a,b){return a.match(B)?(a=a.replace(A,b),a.replace(B,b+" ")):b+" "+a},applyStrictSelectorScope:function(a,b){b=b.replace(/\[is=([^\]]*)\]/g,"$1");var c=[" ",">","+","~"],d=a,e="["+b+"]";return c.forEach(function(a){var b=d.split(a);d=b.map(function(a){var b=a.trim().replace(B,"");return b&&c.indexOf(b)<0&&b.indexOf(e)<0&&(a=b.replace(/([^:]*)(:*)(.*)/,"$1"+e+"$2$3")),a}).join(a)}),d},insertPolyfillHostInCssText:function(a){return a.replace(z,t).replace(y,s)},propertiesFromRule:function(a){var b=a.style.cssText;a.style.content&&!a.style.content.match(/['"]+|attr/)&&(b=b.replace(/content:[^;]*;/g,"content: '"+a.style.content+"';"));var c=a.style;for(var d in c)"initial"===c[d]&&(b+=d+": initial; ");return b},replaceTextInStyles:function(a,b){a&&b&&(a instanceof Array||(a=[a]),Array.prototype.forEach.call(a,function(a){a.textContent=b.call(this,a.textContent)},this))},addCssToDocument:function(a,b){a.match("@import")?i(a,b):h(a)}},l=/\/\*[^*]*\*+([^\/*][^*]*\*+)*\//gim,m=/\/\*\s*@polyfill ([^*]*\*+([^\/*][^*]*\*+)*\/)([^{]*?){/gim,n=/polyfill-next-selector[^}]*content\:[\s]*?['"](.*?)['"][;\s]*}([^{]*?){/gim,o=/\/\*\s@polyfill-rule([^*]*\*+([^\/*][^*]*\*+)*)\//gim,p=/(polyfill-rule)[^}]*(content\:[\s]*['"](.*?)['"])[;\s]*[^}]*}/gim,q=/\/\*\s@polyfill-unscoped-rule([^*]*\*+([^\/*][^*]*\*+)*)\//gim,r=/(polyfill-unscoped-rule)[^}]*(content\:[\s]*['"](.*?)['"])[;\s]*[^}]*}/gim,s="-shadowcsshost",t="-shadowcsscontext",u=")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)",v=new RegExp("("+s+u,"gim"),w=new RegExp("("+t+u,"gim"),x="([>\\s~+[.,{:][\\s\\S]*)?$",y=/\:host/gim,z=/\:host-context/gim,A=s+"-no-combinator",B=new RegExp(s,"gim"),C=(new RegExp(t,"gim"),[/>>>/g,/::shadow/g,/::content/g,/\/deep\//g,/\/shadow\//g,/\/shadow-deep\//g,/\^\^/g,/\^/g]),D=document.createElement("iframe");D.style.display="none";var E,F=navigator.userAgent.match("Chrome"),G="shim-shadowdom",H="shim-shadowdom-css",I="no-shim";if(window.ShadowDOMPolyfill){h("style { display: none !important; }\n");var J=ShadowDOMPolyfill.wrap(document),K=J.querySelector("head");K.insertBefore(j(),K.childNodes[0]),document.addEventListener("DOMContentLoaded",function(){a.urlResolver;if(window.HTMLImports&&!HTMLImports.useNative){var b="link[rel=stylesheet]["+G+"]",c="style["+G+"]";HTMLImports.importer.documentPreloadSelectors+=","+b,HTMLImports.importer.importsPreloadSelectors+=","+b,HTMLImports.parser.documentSelectors=[HTMLImports.parser.documentSelectors,b,c].join(",");var d=HTMLImports.parser.parseGeneric;HTMLImports.parser.parseGeneric=function(a){if(!a[H]){var b=a.__importElement||a;if(!b.hasAttribute(G))return void d.call(this,a);a.__resource&&(b=a.ownerDocument.createElement("style"),b.textContent=a.__resource),HTMLImports.path.resolveUrlsInStyle(b,a.href),b.textContent=k.shimStyle(b),b.removeAttribute(G,""),b.setAttribute(H,""),b[H]=!0,b.parentNode!==K&&(a.parentNode===K?K.replaceChild(b,a):this.addElementToDocument(b)),b.__importParsed=!0,this.markParsingComplete(a),this.parseNext()}};var e=HTMLImports.parser.hasResource;HTMLImports.parser.hasResource=function(a){return"link"===a.localName&&"stylesheet"===a.rel&&a.hasAttribute(G)?a.__resource:e.call(this,a)}}})}a.ShadowCSS=k}(window.WebComponents)),function(a){window.ShadowDOMPolyfill?(window.wrap=ShadowDOMPolyfill.wrapIfNeeded,window.unwrap=ShadowDOMPolyfill.unwrapIfNeeded):window.wrap=window.unwrap=function(a){return a}}(window.WebComponents),function(a){"use strict";function b(a){return void 0!==m[a]}function c(){h.call(this),this._isInvalid=!0}function d(a){return""==a&&c.call(this),a.toLowerCase()}function e(a){var b=a.charCodeAt(0);return b>32&&127>b&&-1==[34,35,60,62,63,96].indexOf(b)?a:encodeURIComponent(a)}function f(a){var b=a.charCodeAt(0);return b>32&&127>b&&-1==[34,35,60,62,96].indexOf(b)?a:encodeURIComponent(a)}function g(a,g,h){function i(a){t.push(a)}var j=g||"scheme start",k=0,l="",r=!1,s=!1,t=[];a:for(;(a[k-1]!=o||0==k)&&!this._isInvalid;){var u=a[k];switch(j){case"scheme start":if(!u||!p.test(u)){if(g){i("Invalid scheme.");break a}l="",j="no scheme";continue}l+=u.toLowerCase(),j="scheme";break;case"scheme":if(u&&q.test(u))l+=u.toLowerCase();else{if(":"!=u){if(g){if(o==u)break a;i("Code point not allowed in scheme: "+u);break a}l="",k=0,j="no scheme";continue}if(this._scheme=l,l="",g)break a;b(this._scheme)&&(this._isRelative=!0),j="file"==this._scheme?"relative":this._isRelative&&h&&h._scheme==this._scheme?"relative or authority":this._isRelative?"authority first slash":"scheme data"}break;case"scheme data":"?"==u?(this._query="?",j="query"):"#"==u?(this._fragment="#",j="fragment"):o!=u&&" "!=u&&"\n"!=u&&"\r"!=u&&(this._schemeData+=e(u));break;case"no scheme":if(h&&b(h._scheme)){j="relative";continue}i("Missing scheme."),c.call(this);break;case"relative or authority":if("/"!=u||"/"!=a[k+1]){i("Expected /, got: "+u),j="relative";continue}j="authority ignore slashes";break;case"relative":if(this._isRelative=!0,"file"!=this._scheme&&(this._scheme=h._scheme),o==u){this._host=h._host,this._port=h._port,this._path=h._path.slice(),this._query=h._query,this._username=h._username,this._password=h._password;break a}if("/"==u||"\\"==u)"\\"==u&&i("\\ is an invalid code point."),j="relative slash";else if("?"==u)this._host=h._host,this._port=h._port,this._path=h._path.slice(),this._query="?",this._username=h._username,this._password=h._password,j="query";else{if("#"!=u){var v=a[k+1],w=a[k+2];("file"!=this._scheme||!p.test(u)||":"!=v&&"|"!=v||o!=w&&"/"!=w&&"\\"!=w&&"?"!=w&&"#"!=w)&&(this._host=h._host,this._port=h._port,this._username=h._username,this._password=h._password,this._path=h._path.slice(),this._path.pop()),j="relative path";continue}this._host=h._host,this._port=h._port,this._path=h._path.slice(),this._query=h._query,this._fragment="#",this._username=h._username,this._password=h._password,j="fragment"}break;case"relative slash":if("/"!=u&&"\\"!=u){"file"!=this._scheme&&(this._host=h._host,this._port=h._port,this._username=h._username,this._password=h._password),j="relative path";continue}"\\"==u&&i("\\ is an invalid code point."),j="file"==this._scheme?"file host":"authority ignore slashes";break;case"authority first slash":if("/"!=u){i("Expected '/', got: "+u),j="authority ignore slashes";continue}j="authority second slash";break;case"authority second slash":if(j="authority ignore slashes","/"!=u){i("Expected '/', got: "+u);continue}break;case"authority ignore slashes":if("/"!=u&&"\\"!=u){j="authority";continue}i("Expected authority, got: "+u);break;case"authority":if("@"==u){r&&(i("@ already seen."),l+="%40"),r=!0;for(var x=0;x<l.length;x++){var y=l[x];if("   "!=y&&"\n"!=y&&"\r"!=y)if(":"!=y||null!==this._password){var z=e(y);null!==this._password?this._password+=z:this._username+=z}else this._password="";else i("Invalid whitespace in authority.")}l=""}else{if(o==u||"/"==u||"\\"==u||"?"==u||"#"==u){k-=l.length,l="",j="host";continue}l+=u}break;case"file host":if(o==u||"/"==u||"\\"==u||"?"==u||"#"==u){2!=l.length||!p.test(l[0])||":"!=l[1]&&"|"!=l[1]?0==l.length?j="relative path start":(this._host=d.call(this,l),l="",j="relative path start"):j="relative path";continue}"  "==u||"\n"==u||"\r"==u?i("Invalid whitespace in file host."):l+=u;break;case"host":case"hostname":if(":"!=u||s){if(o==u||"/"==u||"\\"==u||"?"==u||"#"==u){if(this._host=d.call(this,l),l="",j="relative path start",g)break a;continue}"        "!=u&&"\n"!=u&&"\r"!=u?("["==u?s=!0:"]"==u&&(s=!1),l+=u):i("Invalid code point in host/hostname: "+u)}else if(this._host=d.call(this,l),l="",j="port","hostname"==g)break a;break;case"port":if(/[0-9]/.test(u))l+=u;else{if(o==u||"/"==u||"\\"==u||"?"==u||"#"==u||g){if(""!=l){var A=parseInt(l,10);A!=m[this._scheme]&&(this._port=A+""),l=""}if(g)break a;j="relative path start";continue}"        "==u||"\n"==u||"\r"==u?i("Invalid code point in port: "+u):c.call(this)}break;case"relative path start":if("\\"==u&&i("'\\' not allowed in path."),j="relative path","/"!=u&&"\\"!=u)continue;break;case"relative path":if(o!=u&&"/"!=u&&"\\"!=u&&(g||"?"!=u&&"#"!=u))" "!=u&&"\n"!=u&&"\r"!=u&&(l+=e(u));else{"\\"==u&&i("\\ not allowed in relative path.");var B;(B=n[l.toLowerCase()])&&(l=B),".."==l?(this._path.pop(),"/"!=u&&"\\"!=u&&this._path.push("")):"."==l&&"/"!=u&&"\\"!=u?this._path.push(""):"."!=l&&("file"==this._scheme&&0==this._path.length&&2==l.length&&p.test(l[0])&&"|"==l[1]&&(l=l[0]+":"),this._path.push(l)),l="","?"==u?(this._query="?",j="query"):"#"==u&&(this._fragment="#",j="fragment")}break;case"query":g||"#"!=u?o!=u&&" "!=u&&"\n"!=u&&"\r"!=u&&(this._query+=f(u)):(this._fragment="#",j="fragment");break;case"fragment":o!=u&&"      "!=u&&"\n"!=u&&"\r"!=u&&(this._fragment+=u)}k++}}function h(){this._scheme="",this._schemeData="",this._username="",this._password=null,this._host="",this._port="",this._path=[],this._query="",this._fragment="",this._isInvalid=!1,this._isRelative=!1}function i(a,b){void 0===b||b instanceof i||(b=new i(String(b))),this._url=a,h.call(this);var c=a.replace(/^[ \t\r\n\f]+|[ \t\r\n\f]+$/g,"");g.call(this,c,null,b)}var j=!1;if(!a.forceJURL)try{var k=new URL("b","http://a");k.pathname="c%20d",j="http://a/c%20d"===k.href}catch(l){}if(!j){var m=Object.create(null);m.ftp=21,m.file=0,m.gopher=70,m.http=80,m.https=443,m.ws=80,m.wss=443;var n=Object.create(null);n["%2e"]=".",n[".%2e"]="..",n["%2e."]="..",n["%2e%2e"]="..";var o=void 0,p=/[a-zA-Z]/,q=/[a-zA-Z0-9\+\-\.]/;i.prototype={toString:function(){return this.href},get href(){if(this._isInvalid)return this._url;var a="";return(""!=this._username||null!=this._password)&&(a=this._username+(null!=this._password?":"+this._password:"")+"@"),this.protocol+(this._isRelative?"//"+a+this.host:"")+this.pathname+this._query+this._fragment},set href(a){h.call(this),g.call(this,a)},get protocol(){return this._scheme+":"},set protocol(a){this._isInvalid||g.call(this,a+":","scheme start")},get host(){return this._isInvalid?"":this._port?this._host+":"+this._port:this._host},set host(a){!this._isInvalid&&this._isRelative&&g.call(this,a,"host")},get hostname(){return this._host},set hostname(a){!this._isInvalid&&this._isRelative&&g.call(this,a,"hostname")},get port(){return this._port},set port(a){!this._isInvalid&&this._isRelative&&g.call(this,a,"port")},get pathname(){return this._isInvalid?"":this._isRelative?"/"+this._path.join("/"):this._schemeData},set pathname(a){!this._isInvalid&&this._isRelative&&(this._path=[],g.call(this,a,"relative path start"))},get search(){return this._isInvalid||!this._query||"?"==this._query?"":this._query},set search(a){!this._isInvalid&&this._isRelative&&(this._query="?","?"==a[0]&&(a=a.slice(1)),g.call(this,a,"query"))},get hash(){return this._isInvalid||!this._fragment||"#"==this._fragment?"":this._fragment},set hash(a){
+this._isInvalid||(this._fragment="#","#"==a[0]&&(a=a.slice(1)),g.call(this,a,"fragment"))},get origin(){var a;if(this._isInvalid||!this._scheme)return"";switch(this._scheme){case"data":case"file":case"javascript":case"mailto":return"null"}return a=this.host,a?this._scheme+"://"+a:""}};var r=a.URL;r&&(i.createObjectURL=function(a){return r.createObjectURL.apply(r,arguments)},i.revokeObjectURL=function(a){r.revokeObjectURL(a)}),a.URL=i}}(self),function(a){function b(a){u.push(a),t||(t=!0,p(d))}function c(a){return window.ShadowDOMPolyfill&&window.ShadowDOMPolyfill.wrapIfNeeded(a)||a}function d(){t=!1;var a=u;u=[],a.sort(function(a,b){return a.uid_-b.uid_});var b=!1;a.forEach(function(a){var c=a.takeRecords();e(a),c.length&&(a.callback_(c,a),b=!0)}),b&&d()}function e(a){a.nodes_.forEach(function(b){var c=q.get(b);c&&c.forEach(function(b){b.observer===a&&b.removeTransientObservers()})})}function f(a,b){for(var c=a;c;c=c.parentNode){var d=q.get(c);if(d)for(var e=0;e<d.length;e++){var f=d[e],g=f.options;if(c===a||g.subtree){var h=b(g);h&&f.enqueue(h)}}}}function g(a){this.callback_=a,this.nodes_=[],this.records_=[],this.uid_=++v}function h(a,b){this.type=a,this.target=b,this.addedNodes=[],this.removedNodes=[],this.previousSibling=null,this.nextSibling=null,this.attributeName=null,this.attributeNamespace=null,this.oldValue=null}function i(a){var b=new h(a.type,a.target);return b.addedNodes=a.addedNodes.slice(),b.removedNodes=a.removedNodes.slice(),b.previousSibling=a.previousSibling,b.nextSibling=a.nextSibling,b.attributeName=a.attributeName,b.attributeNamespace=a.attributeNamespace,b.oldValue=a.oldValue,b}function j(a,b){return w=new h(a,b)}function k(a){return x?x:(x=i(w),x.oldValue=a,x)}function l(){w=x=void 0}function m(a){return a===x||a===w}function n(a,b){return a===b?a:x&&m(a)?x:null}function o(a,b,c){this.observer=a,this.target=b,this.options=c,this.transientObservedNodes=[]}if(!a.JsMutationObserver){var p,q=new WeakMap;if(/Trident|Edge/.test(navigator.userAgent))p=setTimeout;else if(window.setImmediate)p=window.setImmediate;else{var r=[],s=String(Math.random());window.addEventListener("message",function(a){if(a.data===s){var b=r;r=[],b.forEach(function(a){a()})}}),p=function(a){r.push(a),window.postMessage(s,"*")}}var t=!1,u=[],v=0;g.prototype={observe:function(a,b){if(a=c(a),!b.childList&&!b.attributes&&!b.characterData||b.attributeOldValue&&!b.attributes||b.attributeFilter&&b.attributeFilter.length&&!b.attributes||b.characterDataOldValue&&!b.characterData)throw new SyntaxError;var d=q.get(a);d||q.set(a,d=[]);for(var e,f=0;f<d.length;f++)if(d[f].observer===this){e=d[f],e.removeListeners(),e.options=b;break}e||(e=new o(this,a,b),d.push(e),this.nodes_.push(a)),e.addListeners()},disconnect:function(){this.nodes_.forEach(function(a){for(var b=q.get(a),c=0;c<b.length;c++){var d=b[c];if(d.observer===this){d.removeListeners(),b.splice(c,1);break}}},this),this.records_=[]},takeRecords:function(){var a=this.records_;return this.records_=[],a}};var w,x;o.prototype={enqueue:function(a){var c=this.observer.records_,d=c.length;if(c.length>0){var e=c[d-1],f=n(e,a);if(f)return void(c[d-1]=f)}else b(this.observer);c[d]=a},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(a){var b=this.options;b.attributes&&a.addEventListener("DOMAttrModified",this,!0),b.characterData&&a.addEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.addEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.addEventListener("DOMNodeRemoved",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(a){var b=this.options;b.attributes&&a.removeEventListener("DOMAttrModified",this,!0),b.characterData&&a.removeEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.removeEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.removeEventListener("DOMNodeRemoved",this,!0)},addTransientObserver:function(a){if(a!==this.target){this.addListeners_(a),this.transientObservedNodes.push(a);var b=q.get(a);b||q.set(a,b=[]),b.push(this)}},removeTransientObservers:function(){var a=this.transientObservedNodes;this.transientObservedNodes=[],a.forEach(function(a){this.removeListeners_(a);for(var b=q.get(a),c=0;c<b.length;c++)if(b[c]===this){b.splice(c,1);break}},this)},handleEvent:function(a){switch(a.stopImmediatePropagation(),a.type){case"DOMAttrModified":var b=a.attrName,c=a.relatedNode.namespaceURI,d=a.target,e=new j("attributes",d);e.attributeName=b,e.attributeNamespace=c;var g=a.attrChange===MutationEvent.ADDITION?null:a.prevValue;f(d,function(a){return!a.attributes||a.attributeFilter&&a.attributeFilter.length&&-1===a.attributeFilter.indexOf(b)&&-1===a.attributeFilter.indexOf(c)?void 0:a.attributeOldValue?k(g):e});break;case"DOMCharacterDataModified":var d=a.target,e=j("characterData",d),g=a.prevValue;f(d,function(a){return a.characterData?a.characterDataOldValue?k(g):e:void 0});break;case"DOMNodeRemoved":this.addTransientObserver(a.target);case"DOMNodeInserted":var h,i,m=a.target;"DOMNodeInserted"===a.type?(h=[m],i=[]):(h=[],i=[m]);var n=m.previousSibling,o=m.nextSibling,e=j("childList",a.target.parentNode);e.addedNodes=h,e.removedNodes=i,e.previousSibling=n,e.nextSibling=o,f(a.relatedNode,function(a){return a.childList?e:void 0})}l()}},a.JsMutationObserver=g,a.MutationObserver||(a.MutationObserver=g,g._isPolyfilled=!0)}}(self),function(a){"use strict";if(!window.performance){var b=Date.now();window.performance={now:function(){return Date.now()-b}}}window.requestAnimationFrame||(window.requestAnimationFrame=function(){var a=window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame;return a?function(b){return a(function(){b(performance.now())})}:function(a){return window.setTimeout(a,1e3/60)}}()),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(){return window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||function(a){clearTimeout(a)}}());var c=function(){var a=document.createEvent("Event");return a.initEvent("foo",!0,!0),a.preventDefault(),a.defaultPrevented}();if(!c){var d=Event.prototype.preventDefault;Event.prototype.preventDefault=function(){this.cancelable&&(d.call(this),Object.defineProperty(this,"defaultPrevented",{get:function(){return!0},configurable:!0}))}}var e=/Trident/.test(navigator.userAgent);if((!window.CustomEvent||e&&"function"!=typeof window.CustomEvent)&&(window.CustomEvent=function(a,b){b=b||{};var c=document.createEvent("CustomEvent");return c.initCustomEvent(a,Boolean(b.bubbles),Boolean(b.cancelable),b.detail),c},window.CustomEvent.prototype=window.Event.prototype),!window.Event||e&&"function"!=typeof window.Event){var f=window.Event;window.Event=function(a,b){b=b||{};var c=document.createEvent("Event");return c.initEvent(a,Boolean(b.bubbles),Boolean(b.cancelable)),c},window.Event.prototype=f.prototype}}(window.WebComponents),window.HTMLImports=window.HTMLImports||{flags:{}},function(a){function b(a,b){b=b||o,d(function(){f(a,b)},b)}function c(a){return"complete"===a.readyState||a.readyState===r}function d(a,b){if(c(b))a&&a();else{var e=function(){("complete"===b.readyState||b.readyState===r)&&(b.removeEventListener(s,e),d(a,b))};b.addEventListener(s,e)}}function e(a){a.target.__loaded=!0}function f(a,b){function c(){i==j&&a&&a({allImports:h,loadedImports:k,errorImports:l})}function d(a){e(a),k.push(this),i++,c()}function f(a){l.push(this),i++,c()}var h=b.querySelectorAll("link[rel=import]"),i=0,j=h.length,k=[],l=[];if(j)for(var m,n=0;j>n&&(m=h[n]);n++)g(m)?(i++,c()):(m.addEventListener("load",d),m.addEventListener("error",f));else c()}function g(a){return l?a.__loaded||a["import"]&&"loading"!==a["import"].readyState:a.__importParsed}function h(a){for(var b,c=0,d=a.length;d>c&&(b=a[c]);c++)i(b)&&j(b)}function i(a){return"link"===a.localName&&"import"===a.rel}function j(a){var b=a["import"];b?e({target:a}):(a.addEventListener("load",e),a.addEventListener("error",e))}var k="import",l=Boolean(k in document.createElement("link")),m=Boolean(window.ShadowDOMPolyfill),n=function(a){return m?window.ShadowDOMPolyfill.wrapIfNeeded(a):a},o=n(document),p={get:function(){var a=window.HTMLImports.currentScript||document.currentScript||("complete"!==document.readyState?document.scripts[document.scripts.length-1]:null);return n(a)},configurable:!0};Object.defineProperty(document,"_currentScript",p),Object.defineProperty(o,"_currentScript",p);var q=/Trident/.test(navigator.userAgent),r=q?"complete":"interactive",s="readystatechange";l&&(new MutationObserver(function(a){for(var b,c=0,d=a.length;d>c&&(b=a[c]);c++)b.addedNodes&&h(b.addedNodes)}).observe(document.head,{childList:!0}),function(){if("loading"===document.readyState)for(var a,b=document.querySelectorAll("link[rel=import]"),c=0,d=b.length;d>c&&(a=b[c]);c++)j(a)}()),b(function(a){window.HTMLImports.ready=!0,window.HTMLImports.readyTime=(new Date).getTime();var b=o.createEvent("CustomEvent");b.initCustomEvent("HTMLImportsLoaded",!0,!0,a),o.dispatchEvent(b)}),a.IMPORT_LINK_TYPE=k,a.useNative=l,a.rootDocument=o,a.whenReady=b,a.isIE=q}(window.HTMLImports),function(a){var b=[],c=function(a){b.push(a)},d=function(){b.forEach(function(b){b(a)})};a.addModule=c,a.initializeModules=d}(window.HTMLImports),window.HTMLImports.addModule(function(a){var b=/(url\()([^)]*)(\))/g,c=/(@import[\s]+(?!url\())([^;]*)(;)/g,d={resolveUrlsInStyle:function(a,b){var c=a.ownerDocument,d=c.createElement("a");return a.textContent=this.resolveUrlsInCssText(a.textContent,b,d),a},resolveUrlsInCssText:function(a,d,e){var f=this.replaceUrls(a,e,d,b);return f=this.replaceUrls(f,e,d,c)},replaceUrls:function(a,b,c,d){return a.replace(d,function(a,d,e,f){var g=e.replace(/["']/g,"");return c&&(g=new URL(g,c).href),b.href=g,g=b.href,d+"'"+g+"'"+f})}};a.path=d}),window.HTMLImports.addModule(function(a){var b={async:!0,ok:function(a){return a.status>=200&&a.status<300||304===a.status||0===a.status},load:function(c,d,e){var f=new XMLHttpRequest;return(a.flags.debug||a.flags.bust)&&(c+="?"+Math.random()),f.open("GET",c,b.async),f.addEventListener("readystatechange",function(a){if(4===f.readyState){var c=null;try{var g=f.getResponseHeader("Location");g&&(c="/"===g.substr(0,1)?location.origin+g:g)}catch(a){console.error(a.message)}d.call(e,!b.ok(f)&&f,f.response||f.responseText,c)}}),f.send(),f},loadDocument:function(a,b,c){this.load(a,b,c).responseType="document"}};a.xhr=b}),window.HTMLImports.addModule(function(a){var b=a.xhr,c=a.flags,d=function(a,b){this.cache={},this.onload=a,this.oncomplete=b,this.inflight=0,this.pending={}};d.prototype={addNodes:function(a){this.inflight+=a.length;for(var b,c=0,d=a.length;d>c&&(b=a[c]);c++)this.require(b);this.checkDone()},addNode:function(a){this.inflight++,this.require(a),this.checkDone()},require:function(a){var b=a.src||a.href;a.__nodeUrl=b,this.dedupe(b,a)||this.fetch(b,a)},dedupe:function(a,b){if(this.pending[a])return this.pending[a].push(b),!0;return this.cache[a]?(this.onload(a,b,this.cache[a]),this.tail(),!0):(this.pending[a]=[b],!1)},fetch:function(a,d){if(c.load&&console.log("fetch",a,d),a)if(a.match(/^data:/)){var e=a.split(","),f=e[0],g=e[1];g=f.indexOf(";base64")>-1?atob(g):decodeURIComponent(g),setTimeout(function(){this.receive(a,d,null,g)}.bind(this),0)}else{var h=function(b,c,e){this.receive(a,d,b,c,e)}.bind(this);b.load(a,h)}else setTimeout(function(){this.receive(a,d,{error:"href must be specified"},null)}.bind(this),0)},receive:function(a,b,c,d,e){this.cache[a]=d;for(var f,g=this.pending[a],h=0,i=g.length;i>h&&(f=g[h]);h++)this.onload(a,f,d,c,e),this.tail();this.pending[a]=null},tail:function(){--this.inflight,this.checkDone()},checkDone:function(){this.inflight||this.oncomplete()}},a.Loader=d}),window.HTMLImports.addModule(function(a){var b=function(a){this.addCallback=a,this.mo=new MutationObserver(this.handler.bind(this))};b.prototype={handler:function(a){for(var b,c=0,d=a.length;d>c&&(b=a[c]);c++)"childList"===b.type&&b.addedNodes.length&&this.addedNodes(b.addedNodes)},addedNodes:function(a){this.addCallback&&this.addCallback(a);for(var b,c=0,d=a.length;d>c&&(b=a[c]);c++)b.children&&b.children.length&&this.addedNodes(b.children)},observe:function(a){this.mo.observe(a,{childList:!0,subtree:!0})}},a.Observer=b}),window.HTMLImports.addModule(function(a){function b(a){return"link"===a.localName&&a.rel===k}function c(a){var b=d(a);return"data:text/javascript;charset=utf-8,"+encodeURIComponent(b)}function d(a){return a.textContent+e(a)}function e(a){var b=a.ownerDocument;b.__importedScripts=b.__importedScripts||0;var c=a.ownerDocument.baseURI,d=b.__importedScripts?"-"+b.__importedScripts:"";return b.__importedScripts++,"\n//# sourceURL="+c+d+".js\n"}function f(a){var b=a.ownerDocument.createElement("style");return b.textContent=a.textContent,g.resolveUrlsInStyle(b),b}var g=a.path,h=a.rootDocument,i=a.flags,j=a.isIE,k=a.IMPORT_LINK_TYPE,l="link[rel="+k+"]",m={documentSelectors:l,importsSelectors:[l,"link[rel=stylesheet]:not([type])","style:not([type])","script:not([type])",'script[type="application/javascript"]','script[type="text/javascript"]'].join(","),map:{link:"parseLink",script:"parseScript",style:"parseStyle"},dynamicElements:[],parseNext:function(){var a=this.nextToParse();a&&this.parse(a)},parse:function(a){if(this.isParsed(a))return void(i.parse&&console.log("[%s] is already parsed",a.localName));var b=this[this.map[a.localName]];b&&(this.markParsing(a),b.call(this,a))},parseDynamic:function(a,b){this.dynamicElements.push(a),b||this.parseNext()},markParsing:function(a){i.parse&&console.log("parsing",a),this.parsingElement=a},markParsingComplete:function(a){a.__importParsed=!0,this.markDynamicParsingComplete(a),a.__importElement&&(a.__importElement.__importParsed=!0,this.markDynamicParsingComplete(a.__importElement)),this.parsingElement=null,i.parse&&console.log("completed",a)},markDynamicParsingComplete:function(a){var b=this.dynamicElements.indexOf(a);b>=0&&this.dynamicElements.splice(b,1)},parseImport:function(a){if(a["import"]=a.__doc,window.HTMLImports.__importsParsingHook&&window.HTMLImports.__importsParsingHook(a),a["import"]&&(a["import"].__importParsed=!0),this.markParsingComplete(a),a.__resource&&!a.__error?a.dispatchEvent(new CustomEvent("load",{bubbles:!1})):a.dispatchEvent(new CustomEvent("error",{bubbles:!1})),a.__pending)for(var b;a.__pending.length;)b=a.__pending.shift(),b&&b({target:a});this.parseNext()},parseLink:function(a){b(a)?this.parseImport(a):(a.href=a.href,this.parseGeneric(a))},parseStyle:function(a){var b=a;a=f(a),b.__appliedElement=a,a.__importElement=b,this.parseGeneric(a)},parseGeneric:function(a){this.trackElement(a),this.addElementToDocument(a)},rootImportForElement:function(a){for(var b=a;b.ownerDocument.__importLink;)b=b.ownerDocument.__importLink;return b},addElementToDocument:function(a){var b=this.rootImportForElement(a.__importElement||a);b.parentNode.insertBefore(a,b)},trackElement:function(a,b){var c=this,d=function(e){a.removeEventListener("load",d),a.removeEventListener("error",d),b&&b(e),c.markParsingComplete(a),c.parseNext()};if(a.addEventListener("load",d),a.addEventListener("error",d),j&&"style"===a.localName){var e=!1;if(-1==a.textContent.indexOf("@import"))e=!0;else if(a.sheet){e=!0;for(var f,g=a.sheet.cssRules,h=g?g.length:0,i=0;h>i&&(f=g[i]);i++)f.type===CSSRule.IMPORT_RULE&&(e=e&&Boolean(f.styleSheet))}e&&setTimeout(function(){a.dispatchEvent(new CustomEvent("load",{bubbles:!1}))})}},parseScript:function(b){var d=document.createElement("script");d.__importElement=b,d.src=b.src?b.src:c(b),a.currentScript=b,this.trackElement(d,function(b){d.parentNode&&d.parentNode.removeChild(d),a.currentScript=null}),this.addElementToDocument(d)},nextToParse:function(){return this._mayParse=[],!this.parsingElement&&(this.nextToParseInDoc(h)||this.nextToParseDynamic())},nextToParseInDoc:function(a,c){if(a&&this._mayParse.indexOf(a)<0){this._mayParse.push(a);for(var d,e=a.querySelectorAll(this.parseSelectorsForNode(a)),f=0,g=e.length;g>f&&(d=e[f]);f++)if(!this.isParsed(d))return this.hasResource(d)?b(d)?this.nextToParseInDoc(d.__doc,d):d:void 0}return c},nextToParseDynamic:function(){return this.dynamicElements[0]},parseSelectorsForNode:function(a){var b=a.ownerDocument||a;return b===h?this.documentSelectors:this.importsSelectors},isParsed:function(a){return a.__importParsed},needsDynamicParsing:function(a){return this.dynamicElements.indexOf(a)>=0},hasResource:function(a){return b(a)&&void 0===a.__doc?!1:!0}};a.parser=m,a.IMPORT_SELECTOR=l}),window.HTMLImports.addModule(function(a){function b(a){return c(a,g)}function c(a,b){return"link"===a.localName&&a.getAttribute("rel")===b}function d(a){return!!Object.getOwnPropertyDescriptor(a,"baseURI")}function e(a,b){var c=document.implementation.createHTMLDocument(g);c._URL=b;var e=c.createElement("base");e.setAttribute("href",b),c.baseURI||d(c)||Object.defineProperty(c,"baseURI",{value:b});var f=c.createElement("meta");return f.setAttribute("charset","utf-8"),c.head.appendChild(f),c.head.appendChild(e),c.body.innerHTML=a,window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(c),c}var f=a.flags,g=a.IMPORT_LINK_TYPE,h=a.IMPORT_SELECTOR,i=a.rootDocument,j=a.Loader,k=a.Observer,l=a.parser,m={documents:{},documentPreloadSelectors:h,importsPreloadSelectors:[h].join(","),loadNode:function(a){n.addNode(a)},loadSubtree:function(a){var b=this.marshalNodes(a);n.addNodes(b)},marshalNodes:function(a){return a.querySelectorAll(this.loadSelectorsForNode(a))},loadSelectorsForNode:function(a){var b=a.ownerDocument||a;return b===i?this.documentPreloadSelectors:this.importsPreloadSelectors},loaded:function(a,c,d,g,h){if(f.load&&console.log("loaded",a,c),c.__resource=d,c.__error=g,b(c)){var i=this.documents[a];void 0===i&&(i=g?null:e(d,h||a),i&&(i.__importLink=c,this.bootDocument(i)),this.documents[a]=i),c.__doc=i}l.parseNext()},bootDocument:function(a){this.loadSubtree(a),this.observer.observe(a),l.parseNext()},loadedAll:function(){l.parseNext()}},n=new j(m.loaded.bind(m),m.loadedAll.bind(m));if(m.observer=new k,!document.baseURI){var o={get:function(){var a=document.querySelector("base");return a?a.href:window.location.href},configurable:!0};Object.defineProperty(document,"baseURI",o),Object.defineProperty(i,"baseURI",o)}a.importer=m,a.importLoader=n}),window.HTMLImports.addModule(function(a){var b=a.parser,c=a.importer,d={added:function(a){for(var d,e,f,g,h=0,i=a.length;i>h&&(g=a[h]);h++)d||(d=g.ownerDocument,e=b.isParsed(d)),f=this.shouldLoadNode(g),f&&c.loadNode(g),this.shouldParseNode(g)&&e&&b.parseDynamic(g,f)},shouldLoadNode:function(a){return 1===a.nodeType&&e.call(a,c.loadSelectorsForNode(a))},shouldParseNode:function(a){return 1===a.nodeType&&e.call(a,b.parseSelectorsForNode(a))}};c.observer.addCallback=d.added.bind(d);var e=HTMLElement.prototype.matches||HTMLElement.prototype.matchesSelector||HTMLElement.prototype.webkitMatchesSelector||HTMLElement.prototype.mozMatchesSelector||HTMLElement.prototype.msMatchesSelector}),function(a){function b(){window.HTMLImports.importer.bootDocument(d)}var c=a.initializeModules;a.isIE;if(!a.useNative){c();var d=a.rootDocument;"complete"===document.readyState||"interactive"===document.readyState&&!window.attachEvent?b():document.addEventListener("DOMContentLoaded",b)}}(window.HTMLImports),window.CustomElements=window.CustomElements||{flags:{}},function(a){var b=a.flags,c=[],d=function(a){c.push(a)},e=function(){c.forEach(function(b){b(a)})};a.addModule=d,a.initializeModules=e,a.hasNative=Boolean(document.registerElement),a.isIE=/Trident/.test(navigator.userAgent),a.useNative=!b.register&&a.hasNative&&!window.ShadowDOMPolyfill&&(!window.HTMLImports||window.HTMLImports.useNative)}(window.CustomElements),window.CustomElements.addModule(function(a){function b(a,b){c(a,function(a){return b(a)?!0:void d(a,b)}),d(a,b)}function c(a,b,d){var e=a.firstElementChild;if(!e)for(e=a.firstChild;e&&e.nodeType!==Node.ELEMENT_NODE;)e=e.nextSibling;for(;e;)b(e,d)!==!0&&c(e,b,d),e=e.nextElementSibling;return null}function d(a,c){for(var d=a.shadowRoot;d;)b(d,c),d=d.olderShadowRoot}function e(a,b){f(a,b,[])}function f(a,b,c){if(a=window.wrap(a),!(c.indexOf(a)>=0)){c.push(a);for(var d,e=a.querySelectorAll("link[rel="+g+"]"),h=0,i=e.length;i>h&&(d=e[h]);h++)d["import"]&&f(d["import"],b,c);b(a)}}var g=window.HTMLImports?window.HTMLImports.IMPORT_LINK_TYPE:"none";a.forDocumentTree=e,a.forSubtree=b}),window.CustomElements.addModule(function(a){function b(a,b){return c(a,b)||d(a,b)}function c(b,c){return a.upgrade(b,c)?!0:void(c&&g(b))}function d(a,b){t(a,function(a){return c(a,b)?!0:void 0})}function e(a){x.push(a),w||(w=!0,setTimeout(f))}function f(){w=!1;for(var a,b=x,c=0,d=b.length;d>c&&(a=b[c]);c++)a();x=[]}function g(a){v?e(function(){h(a)}):h(a)}function h(a){a.__upgraded__&&!a.__attached&&(a.__attached=!0,a.attachedCallback&&a.attachedCallback())}function i(a){j(a),t(a,function(a){j(a)})}function j(a){v?e(function(){k(a)}):k(a)}function k(a){a.__upgraded__&&a.__attached&&(a.__attached=!1,a.detachedCallback&&a.detachedCallback())}function l(a){for(var b=a,c=window.wrap(document);b;){if(b==c)return!0;b=b.parentNode||b.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&b.host}}function m(a){if(a.shadowRoot&&!a.shadowRoot.__watched){s.dom&&console.log("watching shadow-root for: ",a.localName);for(var b=a.shadowRoot;b;)p(b),b=b.olderShadowRoot}}function n(a,c){if(s.dom){var d=c[0];if(d&&"childList"===d.type&&d.addedNodes&&d.addedNodes){for(var e=d.addedNodes[0];e&&e!==document&&!e.host;)e=e.parentNode;var f=e&&(e.URL||e._URL||e.host&&e.host.localName)||"";f=f.split("/?").shift().split("/").pop()}console.group("mutations (%d) [%s]",c.length,f||"")}var g=l(a);c.forEach(function(a){"childList"===a.type&&(y(a.addedNodes,function(a){a.localName&&b(a,g)}),y(a.removedNodes,function(a){a.localName&&i(a)}))}),s.dom&&console.groupEnd()}function o(a){for(a=window.wrap(a),a||(a=window.wrap(document));a.parentNode;)a=a.parentNode;var b=a.__observer;b&&(n(a,b.takeRecords()),f())}function p(a){if(!a.__observer){var b=new MutationObserver(n.bind(this,a));b.observe(a,{childList:!0,subtree:!0}),a.__observer=b}}function q(a){a=window.wrap(a),s.dom&&console.group("upgradeDocument: ",a.baseURI.split("/").pop());var c=a===window.wrap(document);b(a,c),p(a),s.dom&&console.groupEnd()}function r(a){u(a,q)}var s=a.flags,t=a.forSubtree,u=a.forDocumentTree,v=window.MutationObserver._isPolyfilled&&s["throttle-attached"];a.hasPolyfillMutations=v,a.hasThrottledAttached=v;var w=!1,x=[],y=Array.prototype.forEach.call.bind(Array.prototype.forEach),z=Element.prototype.createShadowRoot;z&&(Element.prototype.createShadowRoot=function(){var a=z.call(this);return window.CustomElements.watchShadow(this),a}),a.watchShadow=m,a.upgradeDocumentTree=r,a.upgradeDocument=q,a.upgradeSubtree=d,a.upgradeAll=b,a.attached=g,a.takeRecords=o}),window.CustomElements.addModule(function(a){function b(b,d){if("template"===b.localName&&window.HTMLTemplateElement&&HTMLTemplateElement.decorate&&HTMLTemplateElement.decorate(b),!b.__upgraded__&&b.nodeType===Node.ELEMENT_NODE){var e=b.getAttribute("is"),f=a.getRegisteredDefinition(b.localName)||a.getRegisteredDefinition(e);if(f&&(e&&f.tag==b.localName||!e&&!f["extends"]))return c(b,f,d)}}function c(b,c,e){return g.upgrade&&console.group("upgrade:",b.localName),c.is&&b.setAttribute("is",c.is),d(b,c),b.__upgraded__=!0,f(b),e&&a.attached(b),a.upgradeSubtree(b,e),g.upgrade&&console.groupEnd(),b}function d(a,b){Object.__proto__?a.__proto__=b.prototype:(e(a,b.prototype,b["native"]),a.__proto__=b.prototype)}function e(a,b,c){for(var d={},e=b;e!==c&&e!==HTMLElement.prototype;){for(var f,g=Object.getOwnPropertyNames(e),h=0;f=g[h];h++)d[f]||(Object.defineProperty(a,f,Object.getOwnPropertyDescriptor(e,f)),d[f]=1);e=Object.getPrototypeOf(e)}}function f(a){a.createdCallback&&a.createdCallback()}var g=a.flags;a.upgrade=b,a.upgradeWithDefinition=c,a.implementPrototype=d}),window.CustomElements.addModule(function(a){function b(b,d){var i=d||{};if(!b)throw new Error("document.registerElement: first argument `name` must not be empty");if(b.indexOf("-")<0)throw new Error("document.registerElement: first argument ('name') must contain a dash ('-'). Argument provided was '"+String(b)+"'.");if(e(b))throw new Error("Failed to execute 'registerElement' on 'Document': Registration failed for type '"+String(b)+"'. The type name is invalid.");if(j(b))throw new Error("DuplicateDefinitionError: a type with name '"+String(b)+"' is already registered");return i.prototype||(i.prototype=Object.create(HTMLElement.prototype)),i.__name=b.toLowerCase(),i.lifecycle=i.lifecycle||{},i.ancestry=f(i["extends"]),g(i),h(i),c(i.prototype),k(i.__name,i),i.ctor=l(i),i.ctor.prototype=i.prototype,i.prototype.constructor=i.ctor,a.ready&&r(document),i.ctor}function c(a){if(!a.setAttribute._polyfilled){var b=a.setAttribute;a.setAttribute=function(a,c){d.call(this,a,c,b)};var c=a.removeAttribute;a.removeAttribute=function(a){d.call(this,a,null,c)},a.setAttribute._polyfilled=!0}}function d(a,b,c){a=a.toLowerCase();var d=this.getAttribute(a);c.apply(this,arguments);var e=this.getAttribute(a);this.attributeChangedCallback&&e!==d&&this.attributeChangedCallback(a,d,e)}function e(a){for(var b=0;b<w.length;b++)if(a===w[b])return!0}function f(a){var b=j(a);return b?f(b["extends"]).concat([b]):[]}function g(a){for(var b,c=a["extends"],d=0;b=a.ancestry[d];d++)c=b.is&&b.tag;a.tag=c||a.__name,c&&(a.is=a.__name)}function h(a){if(!Object.__proto__){var b=HTMLElement.prototype;if(a.is){var c=document.createElement(a.tag);b=Object.getPrototypeOf(c)}for(var d,e=a.prototype,f=!1;e;)e==b&&(f=!0),d=Object.getPrototypeOf(e),d&&(e.__proto__=d),e=d;f||console.warn(a.tag+" prototype not found in prototype chain for "+a.is),a["native"]=b}}function i(a){return t(z(a.tag),a)}function j(a){return a?x[a.toLowerCase()]:void 0}function k(a,b){x[a]=b}function l(a){return function(){return i(a)}}function m(a,b,c){return a===y?n(b,c):A(a,b)}function n(a,b){a&&(a=a.toLowerCase()),b&&(b=b.toLowerCase());var c=j(b||a);if(c){if(a==c.tag&&b==c.is)return new c.ctor;if(!b&&!c.is)return new c.ctor}var d;return b?(d=n(a),d.setAttribute("is",b),d):(d=z(a),a.indexOf("-")>=0&&u(d,HTMLElement),d)}function o(a,b){var c=a[b];a[b]=function(){var a=c.apply(this,arguments);return s(a),a}}var p,q=a.isIE,r=a.upgradeDocumentTree,s=a.upgradeAll,t=a.upgradeWithDefinition,u=a.implementPrototype,v=a.useNative,w=["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"],x={},y="http://www.w3.org/1999/xhtml",z=document.createElement.bind(document),A=document.createElementNS.bind(document);p=Object.__proto__||v?function(a,b){return a instanceof b}:function(a,b){if(a instanceof b)return!0;for(var c=a;c;){if(c===b.prototype)return!0;c=c.__proto__}return!1},o(Node.prototype,"cloneNode"),o(document,"importNode"),q&&!function(){var a=document.importNode;document.importNode=function(){var b=a.apply(document,arguments);if(b.nodeType==b.DOCUMENT_FRAGMENT_NODE){var c=document.createDocumentFragment();return c.appendChild(b),c}return b}}(),document.registerElement=b,document.createElement=n,document.createElementNS=m,a.registry=x,a["instanceof"]=p,a.reservedTagList=w,a.getRegisteredDefinition=j,document.register=document.registerElement}),function(a){function b(){f(window.wrap(document)),window.CustomElements.ready=!0;var a=window.requestAnimationFrame||function(a){setTimeout(a,16)};a(function(){setTimeout(function(){window.CustomElements.readyTime=Date.now(),window.HTMLImports&&(window.CustomElements.elapsed=window.CustomElements.readyTime-window.HTMLImports.readyTime),document.dispatchEvent(new CustomEvent("WebComponentsReady",{bubbles:!0}))})})}var c=a.useNative,d=a.initializeModules;a.isIE;if(c){var e=function(){};a.watchShadow=e,a.upgrade=e,a.upgradeAll=e,a.upgradeDocumentTree=e,a.upgradeSubtree=e,a.takeRecords=e,a["instanceof"]=function(a,b){return a instanceof b}}else d();var f=a.upgradeDocumentTree,g=a.upgradeDocument;if(window.wrap||(window.ShadowDOMPolyfill?(window.wrap=window.ShadowDOMPolyfill.wrapIfNeeded,window.unwrap=window.ShadowDOMPolyfill.unwrapIfNeeded):window.wrap=window.unwrap=function(a){return a}),window.HTMLImports&&(window.HTMLImports.__importsParsingHook=function(a){a["import"]&&g(wrap(a["import"]))}),"complete"===document.readyState||a.flags.eager)b();else if("interactive"!==document.readyState||window.attachEvent||window.HTMLImports&&!window.HTMLImports.ready){var h=window.HTMLImports&&!window.HTMLImports.ready?"HTMLImportsLoaded":"DOMContentLoaded";window.addEventListener(h,b)}else b()}(window.CustomElements),function(a){Function.prototype.bind||(Function.prototype.bind=function(a){var b=this,c=Array.prototype.slice.call(arguments,1);return function(){var d=c.slice();return d.push.apply(d,arguments),b.apply(a,d)}})}(window.WebComponents),function(a){var b=document.createElement("style");b.textContent="body {transition: opacity ease-in 0.2s; } \nbody[unresolved] {opacity: 0; display: block; overflow: hidden; position: relative; } \n";var c=document.querySelector("head");c.insertBefore(b,c.firstChild)}(window.WebComponents),function(a){window.Platform=a}(window.WebComponents),angular.module("ngAudio",[]).directive("ngAudio",["$compile","$q","ngAudio",function(a,b,c){return{restrict:"AEC",scope:{volume:"=",start:"=",currentTime:"=",loop:"=",clickPlay:"=",disablePreload:"="},controller:["$scope","$attrs","$element","$timeout",function(a,b,d,e){function f(){g=c.load(b.ngAudio,a),a.$audio=g,g.unbind()}var g;a.disablePreload||f(),d.on("click",function(){a.clickPlay!==!1&&(a.disablePreload&&f(),g.audio.play(),g.volume=a.volume||g.volume,g.loop=a.loop,g.currentTime=a.start||0,e(function(){g.play()},5))}),d.on("$destroy",function(){g.destroy()})}]}}]).directive("ngAudioHover",["$compile","$q","ngAudio",function(a,b,c){return{restrict:"AEC",controller:["$scope","$attrs","$element","$timeout",function(a,b,d,e){var f=c.load(b.ngAudioHover,a);d.on("mouseover rollover hover",function(){f.audio.play(),f.volume=b.volumeHover||f.volume,f.loop=b.loop,f.currentTime=b.startHover||0}),d.on("$destroy",function(){f.destroy()})}]}}]).service("localAudioFindingService",["$q",function(a){this.find=function(b){var c=a.defer(),d=document.getElementById(b);return d?c.resolve(d):c.reject(b),c.promise}}]).service("remoteAudioFindingService",["$q",function(a){this.find=function(b){var c=a.defer(),d=new Audio;return d.addEventListener("error",function(){c.reject()}),d.addEventListener("loadstart",function(){c.resolve(d)}),setTimeout(function(){d.src=b},1),c.promise}}]).service("cleverAudioFindingService",["$q","localAudioFindingService","remoteAudioFindingService",function(a,b,c){this.find=function(d){var e=a.defer();return d=d.replace("|","/"),b.find(d).then(e.resolve,function(){return c.find(d)}).then(e.resolve,e.reject),e.promise}}]).value("ngAudioGlobals",{muting:!1,songmuting:!1,performance:25,unlock:!0}).factory("NgAudioObject",["cleverAudioFindingService","$rootScope","$interval","$timeout","ngAudioGlobals",function(a,b,c,d,e){return function(d,f){function g(){o.play(),o.pause(),window.removeEventListener("click",g)}function h(){w||(A&&c.cancel(A),l&&l(),k&&k(),w=!0)}function i(){w||(k=x.$watch(function(){return{volume:y.volume,currentTime:y.currentTime,progress:y.progress,muting:y.muting,loop:y.loop,playbackRate:y.playbackRate}},function(a,b){a.currentTime!==b.currentTime&&y.setCurrentTime(a.currentTime),a.progress!==b.progress&&y.setProgress(a.progress),a.volume!==b.volume&&y.setVolume(a.volume),a.playbackRate!==b.playbackRate&&y.setPlaybackRate(a.playbackRate),n=a.loop,a.muting!==b.muting&&y.setMuting(a.muting)},!0))}function j(){k&&k(),o&&(u||e.isMuting?o.volume=0:o.volume=void 0!==y.volume?y.volume:1,p&&(o.play(),p=!1),r&&(o.pause(),o.currentTime=0,r=!1),q&&(o.pause(),q=!1),s&&(o.playbackRate=t,s=!1),m&&(o.volume=m,m=void 0),v&&(y.currentTime=o.currentTime,y.duration=o.duration,y.remaining=o.duration-o.currentTime,y.progress=o.currentTime/o.duration,
+y.paused=o.paused,y.src=o.src,y.currentTime>=y.duration&&z.forEach(function(a){a(y)}),n&&y.currentTime>=y.duration&&(n!==!0&&(n--,y.loop--),y.setCurrentTime(0),y.play())),u||e.isMuting||(y.volume=o.volume),y.audio=o),i()}var k,l,m,n,o,p=!1,q=!1,r=!1,s=!1,t=!1,u=!1,v=!0,w=!1,x=f||b,y=this;this.id=d,this.safeId=d.replace("/","|"),this.loop=0,this.unbind=function(){v=!1},this.play=function(){return p=!0,this};var z=[];this.complete=function(a){z.push(a)},this.pause=function(){q=!0},this.restart=function(){r=!0},this.stop=function(){this.restart()},this.setVolume=function(a){m=a},this.setPlaybackRate=function(a){t=a,s=!0},this.setMuting=function(a){u=a},this.setProgress=function(a){o&&o.duration&&isFinite(a)&&(o.currentTime=o.duration*a)},this.setCurrentTime=function(a){o&&o.duration&&(o.currentTime=a)},this.destroy=h,x.$on("$destroy",function(){h()}),a.find(d).then(function(a){o=a,e.unlock&&(window.addEventListener("click",g),o.addEventListener("playing",function(){window.removeEventListener("click",g)})),o.addEventListener("canplay",function(){y.canPlay=!0})},function(a){y.error=!0,console.warn(a)});var A=c(j,e.performance);l=x.$watch(function(){return e.performance},function(){c.cancel(A),A=c(j,e.performance)})}}]).service("ngAudio",["NgAudioObject","ngAudioGlobals",function(a,b){this.play=function(b,c){var d=new a(b,c);return d.play(),d},this.load=function(b,c){return new a(b,c)},this.mute=function(){b.muting=!0},this.unmute=function(){b.muting=!1},this.toggleMute=function(){b.muting=!b.muting},this.setUnlock=function(a){b.unlock=a}}]).filter("trackTime",function(){return function(a){var b=Math.floor(0|a),c="",d=0,e=0,f=0;return b>3599?(d=Math.floor(b/3600),e=Math.floor((b-3600*d)/60),f=b-(60*e+3600*d),1==d.toString().length&&(d="0"+Math.floor(b/3600).toString()),1==e.toString().length&&(e="0"+Math.floor((b-3600*d)/60).toString()),1==f.toString().length&&(f="0"+(b-(60*e+3600*d)).toString()),c=d+":"+e+":"+f):b>59?(e=Math.floor(b/60),f=b-60*e,1==e.toString().length&&(e="0"+Math.floor(b/60).toString()),1==f.toString().length&&(f="0"+(b-60*e).toString()),c=e+":"+f):(f=b,1==f.toString().length&&(f="0"+b.toString()),c=b+"s"),"function"==typeof Number.isNaN&&Number.isNaN(c),c}}),function(){"use strict";angular.module("ngEmoticons",["ngSanitize"]).filter("emoticons",["$sce",function(a){var b=[{text:":)","class":"smiley",code:"e60a"},{text:":D","class":"happy",code:"e608"},{text:":d","class":"happy",code:"e608"},{text:":(","class":"sad",code:"e60e"},{text:":/","class":"wondering",code:"e620"},{text:":P","class":"tongue",code:"e60c"},{text:":p","class":"tongue",code:"e60c"},{text:"3:)","class":"evil",code:"e618"},{text:"(^)","class":"thumbsup2",code:"e607"},{text:";)","class":"wink",code:"e610"},{text:":o","class":"shocked",code:"e61a"},{text:"-_-","class":"neutral",code:"e61e"},{text:"(y)","class":"thumbs-up",code:"e606"},{text:":*","class":"heart",code:"e604"},{text:"&lt;3","class":"heart",code:"e604"},{text:"<3","class":"heart",code:"e604"},{text:"&lt;/3","class":"heart-broken",code:"e605"},{text:"</3","class":"heart-broken",code:"e605"},{text:"^_^","class":"grin",code:"e612"},{text:"8-)","class":"cool",code:"e614"},{text:"8|","class":"cool",code:"e614"},{text:":S","class":"confused",code:"e61c"},{text:":s","class":"confused",code:"e61c"}],c=["bowtie","smile","laughing","blush","smiley","relaxed","smirk","heart_eyes","kissing_heart","kissing_closed_eyes","flushed","relieved","satisfied","grin","wink","stuck_out_tongue_winking_eye","stuck_out_tongue_closed_eyes","grinning","kissing","winky_face","kissing_smiling_eyes","stuck_out_tongue","sleeping","worried","frowning","anguished","open_mouth","grimacing","confused","hushed","expressionless","unamused","sweat_smile","sweat","wow","disappointed_relieved","weary","pensive","disappointed","confounded","fearful","cold_sweat","persevere","cry","sob","joy","astonished","scream","neckbeard","tired_face","angry","rage","triumph","sleepy","yum","mask","sunglasses","dizzy_face","imp","smiling_imp","neutral_face","no_mouth","innocent","alien","yellow_heart","blue_heart","purple_heart","heart","green_heart","broken_heart","heartbeat","heartpulse","two_hearts","revolving_hearts","cupid","sparkling_heart","sparkles","star","star2","dizzy","boom","collision","anger","exclamation","question","grey_exclamation","grey_question","zzz","dash","sweat_drops","notes","musical_note","fire","hankey","poop","shit","\\+1","thumbsup","-1","thumbsdown","ok_hand","punch","facepunch","fist","v","wave","hand","raised_hand","open_hands","point_up","point_down","point_left","point_right","raised_hands","pray","point_up_2","clap","muscle","metal","fu","walking","runner","running","couple","family","two_men_holding_hands","two_women_holding_hands","dancer","dancers","ok_woman","no_good","information_desk_person","raising_hand","bride_with_veil","person_with_pouting_face","person_frowning","bow","couplekiss","couple_with_heart","massage","haircut","nail_care","boy","girl","woman","man","baby","older_woman","older_man","person_with_blond_hair","man_with_gua_pi_mao","man_with_turban","construction_worker","cop","angel","princess","smiley_cat","smile_cat","heart_eyes_cat","kissing_cat","smirk_cat","scream_cat","crying_cat_face","joy_cat","pouting_cat","japanese_ogre","japanese_goblin","see_no_evil","hear_no_evil","speak_no_evil","guardsman","skull","feet","lips","kiss","droplet","ear","eyes","nose","tongue","love_letter","bust_in_silhouette","busts_in_silhouette","speech_balloon","thought_balloon","feelsgood","finnadie","goberserk","godmode","hurtrealbad","rage1","rage2","rage3","rage4","suspect","trollface","sunny","umbrella","cloud","snowflake","snowman","zap","cyclone","foggy","ocean","cat","dog","mouse","hamster","rabbit","wolf","frog","tiger","koala","bear","pig","pig_nose","cow","boar","monkey_face","monkey","horse","racehorse","camel","sheep","elephant","panda_face","snake","bird","baby_chick","hatched_chick","hatching_chick","chicken","penguin","turtle","bug","honeybee","ant","beetle","snail","octopus","tropical_fish","fish","whale","whale2","dolphin","cow2","ram","rat","water_buffalo","tiger2","rabbit2","dragon","goat","rooster","dog2","pig2","mouse2","ox","dragon_face","blowfish","crocodile","dromedary_camel","leopard","cat2","poodle","paw_prints","bouquet","cherry_blossom","tulip","four_leaf_clover","rose","sunflower","hibiscus","maple_leaf","leaves","fallen_leaf","herb","mushroom","cactus","palm_tree","evergreen_tree","deciduous_tree","chestnut","seedling","blossom","ear_of_rice","shell","globe_with_meridians","sun_with_face","full_moon_with_face","new_moon_with_face","new_moon","waxing_crescent_moon","first_quarter_moon","waxing_gibbous_moon","full_moon","waning_gibbous_moon","last_quarter_moon","waning_crescent_moon","last_quarter_moon_with_face","first_quarter_moon_with_face","moon","earth_africa","earth_americas","earth_asia","volcano","milky_way","partly_sunny","octocat","squirrel","bamboo","gift_heart","dolls","school_satchel","mortar_board","flags","fireworks","sparkler","wind_chime","rice_scene","jack_o_lantern","ghost","santa","christmas_tree","gift","bell","no_bell","tanabata_tree","tada","confetti_ball","balloon","crystal_ball","cd","dvd","floppy_disk","camera","video_camera","movie_camera","computer","tv","iphone","phone","telephone","telephone_receiver","pager","fax","minidisc","vhs","sound","speaker","mute","loudspeaker","mega","hourglass","hourglass_flowing_sand","alarm_clock","watch","radio","satellite","loop","mag","mag_right","unlock","lock","lock_with_ink_pen","closed_lock_with_key","key","bulb","flashlight","high_brightness","low_brightness","electric_plug","battery","calling","email","mailbox","postbox","bath","bathtub","shower","toilet","wrench","nut_and_bolt","hammer","seat","moneybag","yen","dollar","pound","euro","credit_card","money_with_wings","e-mail","inbox_tray","outbox_tray","envelope","incoming_envelope","postal_horn","mailbox_closed","mailbox_with_mail","mailbox_with_no_mail","door","smoking","bomb","gun","hocho","pill","syringe","page_facing_up","page_with_curl","bookmark_tabs","bar_chart","chart_with_upwards_trend","chart_with_downwards_trend","scroll","clipboard","calendar","date","card_index","file_folder","open_file_folder","scissors","pushpin","paperclip","black_nib","pencil2","straight_ruler","triangular_ruler","closed_book","green_book","blue_book","orange_book","notebook","notebook_with_decorative_cover","ledger","books","bookmark","name_badge","microscope","telescope","newspaper","football","basketball","soccer","baseball","tennis","8ball","rugby_football","bowling","golf","mountain_bicyclist","bicyclist","horse_racing","snowboarder","swimmer","surfer","ski","spades","hearts","clubs","diamonds","gem","ring","trophy","musical_score","musical_keyboard","violin","space_invader","video_game","black_joker","flower_playing_cards","game_die","dart","mahjong","clapper","memo","pencil","book","art","microphone","headphones","trumpet","saxophone","guitar","shoe","sandal","high_heel","lipstick","boot","shirt","tshirt","necktie","womans_clothes","dress","running_shirt_with_sash","jeans","kimono","bikini","ribbon","tophat","crown","womans_hat","mans_shoe","closed_umbrella","briefcase","handbag","pouch","purse","eyeglasses","fishing_pole_and_fish","coffee","tea","sake","baby_bottle","beer","beers","cocktail","tropical_drink","wine_glass","fork_and_knife","pizza","hamburger","fries","poultry_leg","meat_on_bone","spaghetti","curry","fried_shrimp","bento","sushi","fish_cake","rice_ball","rice_cracker","rice","ramen","stew","oden","dango","egg","bread","doughnut","custard","icecream","ice_cream","shaved_ice","birthday","cake","cookie","chocolate_bar","candy","lollipop","honey_pot","apple","green_apple","tangerine","lemon","cherries","grapes","watermelon","strawberry","peach","melon","banana","pear","pineapple","sweet_potato","eggplant","tomato","corn","house","house_with_garden","school","office","post_office","hospital","bank","convenience_store","love_hotel","hotel","wedding","church","department_store","european_post_office","city_sunrise","city_sunset","japanese_castle","european_castle","tent","factory","tokyo_tower","japan","mount_fuji","sunrise_over_mountains","sunrise","stars","themoreyouknow","tmyk","statue_of_liberty","bridge_at_night","carousel_horse","rainbow","ferris_wheel","fountain","roller_coaster","ship","speedboat","boat","sailboat","rowboat","anchor","rocket","airplane","helicopter","steam_locomotive","tram","mountain_railway","bike","aerial_tramway","suspension_railway","mountain_cableway","tractor","blue_car","oncoming_automobile","car","red_car","taxi","oncoming_taxi","articulated_lorry","bus","oncoming_bus","rotating_light","police_car","oncoming_police_car","fire_engine","ambulance","minibus","truck","train","station","train2","bullettrain_front","bullettrain_side","light_rail","monorail","railway_car","trolleybus","ticket","fuelpump","vertical_traffic_light","traffic_light","warning","construction","beginner","atm","slot_machine","busstop","barber","hotsprings","checkered_flag","crossed_flags","izakaya_lantern","moyai","circus_tent","performing_arts","round_pushpin","triangular_flag_on_post","jp","kr","cn","us","fr","es","it","ru","gb","uk","de","one","two","three","four","five","six","seven","eight","nine","keycap_ten","1234","zero","hash","symbols","arrow_backward","arrow_down","arrow_forward","arrow_left","capital_abcd","abcd","abc","arrow_lower_left","arrow_lower_right","arrow_right","arrow_up","arrow_upper_left","arrow_upper_right","arrow_double_down","arrow_double_up","arrow_down_small","arrow_heading_down","arrow_heading_up","leftwards_arrow_with_hook","arrow_right_hook","left_right_arrow","arrow_up_down","arrow_up_small","arrows_clockwise","arrows_counterclockwise","rewind","fast_forward","information_source","ok","twisted_rightwards_arrows","repeat","repeat_one","new","top","up","cool","free","ng","cinema","koko","signal_strength","u5272","u5408","u55b6","u6307","u6708","u6709","u6e80","u7121","u7533","u7a7a","u7981","sa","restroom","mens","womens","baby_symbol","no_smoking","parking","wheelchair","metro","baggage_claim","accept","wc","potable_water","put_litter_in_its_place","secret","congratulations","m","passport_control","left_luggage","customs","ideograph_advantage","cl","sos","id","no_entry_sign","underage","no_mobile_phones","do_not_litter","non-potable_water","no_bicycles","no_pedestrians","children_crossing","no_entry","eight_spoked_asterisk","eight_pointed_black_star","heart_decoration","vs","vibration_mode","mobile_phone_off","chart","currency_exchange","aries","taurus","gemini","cancer","leo","virgo","libra","scorpius","sagittarius","capricorn","aquarius","pisces","ophiuchus","six_pointed_star","negative_squared_cross_mark","a","b","ab","o2","diamond_shape_with_a_dot_inside","recycle","end","on","soon","clock1","clock130","clock10","clock1030","clock11","clock1130","clock12","clock1230","clock2","clock230","clock3","clock330","clock4","clock430","clock5","clock530","clock6","clock630","clock7","clock730","clock8","clock830","clock9","clock930","heavy_dollar_sign","copyright","registered","tm","x","heavy_exclamation_mark","bangbang","interrobang","o","heavy_multiplication_x","heavy_plus_sign","heavy_minus_sign","heavy_division_sign","white_flower","100","heavy_check_mark","ballot_box_with_check","radio_button","link","curly_loop","wavy_dash","part_alternation_mark","trident","black_square","white_square","white_check_mark","black_square_button","white_square_button","black_circle","white_circle","red_circle","large_blue_circle","large_blue_diamond","large_orange_diamond","small_blue_diamond","small_orange_diamond","small_red_triangle","small_red_triangle_down","shipit"];return function(d,e){function f(a){return angular.forEach(arguments,function(b){b!==a&&angular.forEach(b,function(b,c){a[c]&&a[c].constructor&&a[c].constructor===Object?f(a[c],b):a[c]=b})}),a}function g(a){var c=a.split(" ");return angular.forEach(b,function(a){for(var b=0;b<c.length;b++)c[b]===a.text&&(c[b]='<i class="icon-emoticon" title="'+a.text+'">&#x'+a.code+"</i>")}),c.join(" ")}function h(a){var b=/((href|src)=["']|)(\b(https?|ftp|file):\/\/[-A-Z0-9+()&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gi,c=a.replace(b,function(a){return'<a href="'+a+'" target="'+j.linkTarget+'">'+a+"</a>"});return c}function i(a){var b=new RegExp(":("+c.join("|")+"):","g");return a.replace(b,function(a,b){return"<i class='emoticon emoticon-"+b+"' title=':"+b+":'></i>"})}var j={link:!0,linkTarget:"_self"};return f(j,e),void 0!==d&&null!==d?"object"==typeof d?d:(d=g(d),d=i(d),j.link&&(d=h(d)),a.trustAsHtml(d)):void 0}}]).directive("ngEmoticons",["$filter","$sce","$http","$timeout","$templateCache",function(a,b,c,d,e){var f="",g='<div ng-bind-html="neText" ne-hljs></div><div class="ne-video" ng-if="video.host" class="fade">    <div class="ne-video-preview" ng-hide="nePlayVideo || !(options.video.details)">        <div class="ne-video-thumb" ng-click="nePlayVideo=!nePlayVideo">            <img ng-src="{{video.thumbnail}}" alt=""/>            <i class="fa fa-play-circle-o"></i>        </div>        <div class="ne-video-detail">            <div class="ne-video-title">                <a ng-href="{{video.url}}">{{video.title}}</a>            </div>            <div class="ne-video-desc">                {{video.description}}            </div>            <div class="ne-video-stats">                <span><i class="fa fa-eye"></i> {{video.views}}</span>                <span><i class="fa fa-heart"></i> {{video.likes}}</span>            </div>        </div>    </div>    <div class="ne-video-player" ng-if="nePlayVideo || !(options.video.details)">        <iframe ng-src="{{video.embedSrc}}" frameBorder="0" width="{{video.width}}" height="{{video.height}}" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>    </div></div><div class="ne-video" ng-if="video.basic">    <div class="ne-video-player">        <div class="player">            <video ng-src="{{video.basic}}" controls></video>        </div>    </div></div><div ng-init="neImageLong=false" ng-class="{false:\'ne-image\', true:\'ne-image ne-image-long\'}[neImageLong]"     ng-if="image.url">    <div class="ne-image-wrapper">        <img ng-src="{{image.url}}" ng-click="neImageLong=!neImageLong" alt=""/>    </div></div><div class="ne-pdf" ng-if="pdf.url">    <div class="ne-pdf-preview" ng-hide="neShowPdf">        <div class="ne-pdf-icon">            <i class="fa fa-file-pdf-o"></i>        </div>        <div class="ne-pdf-detail" >            <div class="ne-pdf-title">                <a href="">{{pdf.url}}</a>            </div>            <div class="ne-pdf-view">                <button><i class="fa fa-download"></i> <a ng-href="{{pdf.url}}" target="_blank">Download</a></button>                <button ng-click="neShowPdf=!neShowPdf"><i class="fa fa-eye"></i> View PDF</button>            </div>        </div>    </div>    <div class="ne-pdf-viewer" ng-if="neShowPdf" ng-show="neShowPdf">        <iframe ng-src="{{pdf.url}}" frameBorder="0"></iframe>    </div></div><div class="ne-audio" ng-if="audio.url">    <audio ng-src="{{audio.url}}" controls></audio></div>';return e.put(f,g),{restrict:"AE",scope:!0,templateUrl:function(a,b){return b.emoticonsTemplateUrl||f},link:function(e,f,g){function h(a){return angular.forEach(arguments,function(b){b!==a&&angular.forEach(b,function(b,c){a[c]&&a[c].constructor&&a[c].constructor===Object?h(a[c],b):a[c]=b})}),a}var i=e.$eval(g.emoticonsData),j=e.$eval(g.emoticonsOptions);e.video={},e.image={},e.pdf={},e.audio={};var k={link:!0,linkTarget:"_self",pdf:{embed:!0},image:{embed:!1},audio:{embed:!0},code:{highlight:!0,lineNumbers:!1},basicVideo:!1,video:{embed:!1,width:null,height:null,ytTheme:"dark",details:!1,thumbnailQuality:"medium",ytAuthKey:null}};h(k,j),String.prototype.trunc=function(a,b){var c=this.length>a,d=c?this.substr(0,a-1):this;return d=b&&c?d.substr(0,d.lastIndexOf(" ")):d,c?d+"...":d};var l={calcDimensions:function(a){var b={width:null,height:null};return b.width=a.video.width,b.height=a.video.height,a.video.height&&a.video.width?b:a.video.height?(b.width=a.video.height/390*640,b):a.video.width?(b.height=b.width/640*390,b):(b.width=640,b.height=390,b)},embed:function(a,d){var f=/https?:\/\/(?:[0-9A-Z-]+\.)?(?:youtu\.be\/|youtube\.com(?:\/embed\/|\/v\/|\/watch\?v=|\/ytscreeningroom\?v=|\/feeds\/api\/videos\/|\/user\S*[^\w\-\s]|\S*[^\w\-\s]))([\w\-]{11})[?=&+%\w-]*/gi;if(a.match(f)){var g=this.calcDimensions(d);return e.video.id=RegExp.$1,d.video.details?c.get("https://www.googleapis.com/youtube/v3/videos?id="+RegExp.$1+"&key="+d.video.ytAuthKey+"&part=snippet,statistics").success(function(a){var c=a.items[0];e.video.host="youtube",e.video.title=c.snippet.title,e.video.thumbnail=c.snippet.thumbnails.medium.url,e.video.description=c.snippet.description.trunc(250,!0).replace(/\n/g," ").replace(/&#10;/g," "),e.video.rawDescription=c.snippet.description,e.video.views=c.statistics.viewCount,e.video.likes=c.statistics.likeCount,e.video.uploader=c.snippet.channelTitle,e.video.uploaderPage="https://www.youtube.com/channel/"+c.snippet.channelId,e.video.uploadDate=c.snippet.publishedAt,e.video.url=b.trustAsResourceUrl("https://www.youtube.com/watch?v="+c.id),e.video.embedSrc=b.trustAsResourceUrl("https://www.youtube.com/embed/"+e.video.id+"?autoplay=1"),e.video.width=g.width,e.video.height=g.height}):(e.video.width=g.width,e.video.height=g.height,e.video.host="youtube",e.video.embedSrc=b.trustAsResourceUrl("https://www.youtube.com/embed/"+RegExp.$1+"?autoplay=0")),a}var h=/https?:\/\/(?:www\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^\/]*)\/videos\/|album\/(\d+)\/video\/|)(\d+)(?:$|\/|\?)*/gi;if(a.match(h)){var i=this.calcDimensions(d);e.video.id=RegExp.$3,d.video.details?c.get("https://vimeo.com/api/v2/video/"+RegExp.$3+".json").success(function(a){e.video.host="vimeo",e.video.title=a[0].title,e.video.rawDescription=a[0].description.replace(/\n/g,"<br/>").replace(/&#10;/g,"<br/>"),e.video.description=a[0].description.replace(/((<|&lt;)br\s*\/*(>|&gt;)\r\n)/g," ").trunc(250,!0),e.video.thumbnail=a[0].thumbnail_medium,e.video.views=a[0].stats_number_of_plays,e.video.likes=a[0].stats_number_of_likes,e.video.uploader=a[0].user_name,e.video.uploaderPage=a[0].user_url,e.video.uploadDate=a[0].uploadDate,e.video.url=a[0].url,e.video.embedSrc=b.trustAsResourceUrl("//player.vimeo.com/video/"+a[0].id+"?title=0&byline=0&portrait=0&autoplay=1"),e.video.width=i.width,e.video.height=i.height}):(e.video.width=i.width,e.video.height=i.height,e.video.host="vimeo",e.video.embedSrc=b.trustAsResourceUrl("//player.vimeo.com/video/"+RegExp.$3+"?title=0&byline=0&portrait=0&autoplay=0"))}return a},embedBasic:function(a){var c=/((?:https?):\/\/\S*\.(?:ogv|webm|mp4))/gi;return a.match(c)&&(e.video.basic=b.trustAsResourceUrl(RegExp.$1)),a}},m={embed:function(a){var c=/((?:https?):\/\/\S*\.(?:wav|mp3|ogg))/gi;return a.match(c)&&(e.audio.url=b.trustAsResourceUrl(RegExp.$1)),a}},n={embed:function(a){var b=/((?:https?):\/\/\S*\.(?:gif|jpg|jpeg|tiff|png|svg|webp))/gi;return a.match(b)&&(e.image.url=RegExp.$1),a}},o={encodeCode:function(a){return a=a.replace(/\&/gm,"&amp;"),a=a.replace(/</gm,"&lt;"),a=a.replace(/>/gm,"&gt;")},getCode:function(a){var b=this;return a=a.replace(/(`+)(\s|[a-z]+)\s*([\s\S]*?[^`])\s*\1(?!`)/gm,function(a,c,d,e){var f=e;return f=f.replace(/^([ \t]*)/g,""),f=f.replace(/[ \t]*$/g,""),f=b.encodeCode(f),f=f.replace(/:\/\//g,"~P"),'<pre><code class="ne-code '+d+'">'+f+"</code></pre>"})}},p={embed:function(a){var c=/((?:https?):\/\/\S*\.(?:pdf|PDF))/gi;return a.match(c)&&(e.pdf.url=b.trustAsResourceUrl(RegExp.$1)),a}};if(k.code.highlight){if(!window.hljs)throw"hlsj (Highlight JS is not defined.";i=o.getCode(i),d(function(){hljs.initHighlighting(),k.code.lineNumbers&&angular.element(".ne-code").each(function(){var a=1,b=$(this).text().split("\n").length,c=$("<ul/>").addClass("pre-numbering");for(angular.element(this).addClass("has-numbering").parent().append(c),a;b>=a;a++)c.append(angular.element("<li/>").text(a))})},0)}var q=a("emoticons")(i,k).$$unwrapTrustedValue();if(k.video.embed){if(!k.video.ytAuthKey)throw"Youtube authentication key is required to get data from youtube.";q=l.embed(q,k)}k.basicVideo&&(q=l.embedBasic(q)),k.audio.embed&&(q=m.embed(q)),k.image.embed&&(q=n.embed(q)),k.pdf.embed&&(q=p.embed(q)),e.neText=b.trustAsHtml(q)}}}]).directive("neHljs",["$timeout",function(a){return{restrict:"AE",link:function(b,c){a(function(){c.find(".ne-code").each(function(){hljs.highlightBlock(this)})},0)}}}])}(),function(a){"undefined"!=typeof exports?a(exports):(window.hljs=a({}),"function"==typeof define&&define.amd&&define("hljs",[],function(){return window.hljs}))}(function(a){function b(a){return a.replace(/&/gm,"&amp;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;")}function c(a){return a.nodeName.toLowerCase()}function d(a,b){var c=a&&a.exec(b);return c&&0==c.index}function e(a){return/^(no-?highlight|plain|text)$/i.test(a)}function f(a){var b,c,d,f=a.className+" ";if(f+=a.parentNode?a.parentNode.className:"",c=/\blang(?:uage)?-([\w-]+)\b/i.exec(f))return u(c[1])?c[1]:"no-highlight";for(f=f.split(/\s+/),b=0,d=f.length;d>b;b++)if(u(f[b])||e(f[b]))return f[b]}function g(a,b){var c,d={};for(c in a)d[c]=a[c];if(b)for(c in b)d[c]=b[c];return d}function h(a){var b=[];return function d(a,e){for(var f=a.firstChild;f;f=f.nextSibling)3==f.nodeType?e+=f.nodeValue.length:1==f.nodeType&&(b.push({event:"start",offset:e,node:f}),e=d(f,e),c(f).match(/br|hr|img|input/)||b.push({event:"stop",offset:e,node:f}));return e}(a,0),b}function i(a,d,e){function f(){return a.length&&d.length?a[0].offset!=d[0].offset?a[0].offset<d[0].offset?a:d:"start"==d[0].event?a:d:a.length?a:d}function g(a){function d(a){return" "+a.nodeName+'="'+b(a.value)+'"'}k+="<"+c(a)+Array.prototype.map.call(a.attributes,d).join("")+">"}function h(a){k+="</"+c(a)+">"}function i(a){("start"==a.event?g:h)(a.node)}for(var j=0,k="",l=[];a.length||d.length;){var m=f();if(k+=b(e.substr(j,m[0].offset-j)),j=m[0].offset,m==a){l.reverse().forEach(h);do i(m.splice(0,1)[0]),m=f();while(m==a&&m.length&&m[0].offset==j);l.reverse().forEach(g)}else"start"==m[0].event?l.push(m[0].node):l.pop(),i(m.splice(0,1)[0])}return k+b(e.substr(j))}function j(a){function b(a){return a&&a.source||a}function c(c,d){return new RegExp(b(c),"m"+(a.case_insensitive?"i":"")+(d?"g":""))}function d(e,f){if(!e.compiled){if(e.compiled=!0,e.keywords=e.keywords||e.beginKeywords,e.keywords){var h={},i=function(b,c){a.case_insensitive&&(c=c.toLowerCase()),c.split(" ").forEach(function(a){var c=a.split("|");h[c[0]]=[b,c[1]?Number(c[1]):1]})};"string"==typeof e.keywords?i("keyword",e.keywords):Object.keys(e.keywords).forEach(function(a){i(a,e.keywords[a])}),e.keywords=h}e.lexemesRe=c(e.lexemes||/\b\w+\b/,!0),f&&(e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")\\b"),e.begin||(e.begin=/\B|\b/),e.beginRe=c(e.begin),e.end||e.endsWithParent||(e.end=/\B|\b/),e.end&&(e.endRe=c(e.end)),e.terminator_end=b(e.end)||"",e.endsWithParent&&f.terminator_end&&(e.terminator_end+=(e.end?"|":"")+f.terminator_end)),e.illegal&&(e.illegalRe=c(e.illegal)),void 0===e.relevance&&(e.relevance=1),e.contains||(e.contains=[]);var j=[];e.contains.forEach(function(a){a.variants?a.variants.forEach(function(b){j.push(g(a,b))}):j.push("self"==a?e:a)}),e.contains=j,e.contains.forEach(function(a){d(a,e)}),e.starts&&d(e.starts,f);var k=e.contains.map(function(a){return a.beginKeywords?"\\.?("+a.begin+")\\.?":a.begin}).concat([e.terminator_end,e.illegal]).map(b).filter(Boolean);e.terminators=k.length?c(k.join("|"),!0):{exec:function(){return null}}}}d(a)}function k(a,c,e,f){function g(a,b){for(var c=0;c<b.contains.length;c++)if(d(b.contains[c].beginRe,a))return b.contains[c]}function h(a,b){if(d(a.endRe,b)){for(;a.endsParent&&a.parent;)a=a.parent;return a}return a.endsWithParent?h(a.parent,b):void 0}function i(a,b){return!e&&d(b.illegalRe,a)}function m(a,b){var c=t.case_insensitive?b[0].toLowerCase():b[0];return a.keywords.hasOwnProperty(c)&&a.keywords[c]}function n(a,b,c,d){var e=d?"":v.classPrefix,f='<span class="'+e,g=c?"":"</span>";return f+=a+'">',f+b+g}function o(){if(!y.keywords)return b(B);var a="",c=0;y.lexemesRe.lastIndex=0;for(var d=y.lexemesRe.exec(B);d;){a+=b(B.substr(c,d.index-c));var e=m(y,d);e?(C+=e[1],a+=n(e[0],b(d[0]))):a+=b(d[0]),c=y.lexemesRe.lastIndex,d=y.lexemesRe.exec(B)}return a+b(B.substr(c))}function p(){var a="string"==typeof y.subLanguage;if(a&&!w[y.subLanguage])return b(B);var c=a?k(y.subLanguage,B,!0,z[y.subLanguage]):l(B,y.subLanguage.length?y.subLanguage:void 0);return y.relevance>0&&(C+=c.relevance),a&&(z[y.subLanguage]=c.top),n(c.language,c.value,!1,!0)}function q(){return void 0!==y.subLanguage?p():o()}function r(a,c){var d=a.className?n(a.className,"",!0):"";a.returnBegin?(A+=d,B=""):a.excludeBegin?(A+=b(c)+d,B=""):(A+=d,B=c),y=Object.create(a,{parent:{value:y}})}function s(a,c){if(B+=a,void 0===c)return A+=q(),0;var d=g(c,y);if(d)return A+=q(),r(d,c),d.returnBegin?0:c.length;var e=h(y,c);if(e){var f=y;f.returnEnd||f.excludeEnd||(B+=c),A+=q();do y.className&&(A+="</span>"),C+=y.relevance,y=y.parent;while(y!=e.parent);return f.excludeEnd&&(A+=b(c)),B="",e.starts&&r(e.starts,""),f.returnEnd?0:c.length}if(i(c,y))throw new Error('Illegal lexeme "'+c+'" for mode "'+(y.className||"<unnamed>")+'"');return B+=c,c.length||1}var t=u(a);if(!t)throw new Error('Unknown language: "'+a+'"');j(t);var x,y=f||t,z={},A="";for(x=y;x!=t;x=x.parent)x.className&&(A=n(x.className,"",!0)+A);var B="",C=0;try{for(var D,E,F=0;;){if(y.terminators.lastIndex=F,D=y.terminators.exec(c),!D)break;E=s(c.substr(F,D.index-F),D[0]),F=D.index+E}for(s(c.substr(F)),x=y;x.parent;x=x.parent)x.className&&(A+="</span>");return{relevance:C,value:A,language:a,top:y}}catch(G){if(-1!=G.message.indexOf("Illegal"))return{relevance:0,value:b(c)};throw G}}function l(a,c){c=c||v.languages||Object.keys(w);var d={relevance:0,value:b(a)},e=d;return c.forEach(function(b){if(u(b)){var c=k(b,a,!1);c.language=b,c.relevance>e.relevance&&(e=c),c.relevance>d.relevance&&(e=d,d=c)}}),e.language&&(d.second_best=e),d}function m(a){return v.tabReplace&&(a=a.replace(/^((<[^>]+>|\t)+)/gm,function(a,b){return b.replace(/\t/g,v.tabReplace)})),v.useBR&&(a=a.replace(/\n/g,"<br>")),a}function n(a,b,c){var d=b?x[b]:c,e=[a.trim()];return a.match(/\bhljs\b/)||e.push("hljs"),-1===a.indexOf(d)&&e.push(d),e.join(" ").trim()}function o(a){var b=f(a);if(!e(b)){var c;v.useBR?(c=document.createElementNS("http://www.w3.org/1999/xhtml","div"),c.innerHTML=a.innerHTML.replace(/\n/g,"").replace(/<br[ \/]*>/g,"\n")):c=a;var d=c.textContent,g=b?k(b,d,!0):l(d),j=h(c);if(j.length){var o=document.createElementNS("http://www.w3.org/1999/xhtml","div");o.innerHTML=g.value,g.value=i(j,h(o),d)}g.value=m(g.value),a.innerHTML=g.value,a.className=n(a.className,b,g.language),a.result={language:g.language,re:g.relevance},g.second_best&&(a.second_best={language:g.second_best.language,re:g.second_best.relevance})}}function p(a){v=g(v,a)}function q(){if(!q.called){q.called=!0;var a=document.querySelectorAll("pre code");Array.prototype.forEach.call(a,o)}}function r(){addEventListener("DOMContentLoaded",q,!1),addEventListener("load",q,!1)}function s(b,c){var d=w[b]=c(a);d.aliases&&d.aliases.forEach(function(a){x[a]=b})}function t(){return Object.keys(w)}function u(a){return a=(a||"").toLowerCase(),w[a]||w[x[a]]}var v={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0},w={},x={};return a.highlight=k,a.highlightAuto=l,a.fixMarkup=m,a.highlightBlock=o,a.configure=p,a.initHighlighting=q,a.initHighlightingOnLoad=r,a.registerLanguage=s,a.listLanguages=t,a.getLanguage=u,a.inherit=g,a.IDENT_RE="[a-zA-Z]\\w*",a.UNDERSCORE_IDENT_RE="[a-zA-Z_]\\w*",a.NUMBER_RE="\\b\\d+(\\.\\d+)?",a.C_NUMBER_RE="(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",a.BINARY_NUMBER_RE="\\b(0b[01]+)",a.RE_STARTERS_RE="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",a.BACKSLASH_ESCAPE={begin:"\\\\[\\s\\S]",relevance:0},a.APOS_STRING_MODE={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[a.BACKSLASH_ESCAPE]},a.QUOTE_STRING_MODE={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[a.BACKSLASH_ESCAPE]},a.PHRASAL_WORDS_MODE={begin:/\b(a|an|the|are|I|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|like)\b/},a.COMMENT=function(b,c,d){var e=a.inherit({className:"comment",begin:b,end:c,contains:[]},d||{});return e.contains.push(a.PHRASAL_WORDS_MODE),e.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|XXX):",relevance:0}),e},a.C_LINE_COMMENT_MODE=a.COMMENT("//","$"),a.C_BLOCK_COMMENT_MODE=a.COMMENT("/\\*","\\*/"),a.HASH_COMMENT_MODE=a.COMMENT("#","$"),a.NUMBER_MODE={className:"number",begin:a.NUMBER_RE,relevance:0},a.C_NUMBER_MODE={className:"number",begin:a.C_NUMBER_RE,relevance:0},a.BINARY_NUMBER_MODE={className:"number",begin:a.BINARY_NUMBER_RE,relevance:0},a.CSS_NUMBER_MODE={className:"number",begin:a.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},a.REGEXP_MODE={className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[a.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[a.BACKSLASH_ESCAPE]}]},a.TITLE_MODE={className:"title",begin:a.IDENT_RE,relevance:0},a.UNDERSCORE_TITLE_MODE={className:"title",begin:a.UNDERSCORE_IDENT_RE,relevance:0},a.registerLanguage("1c",function(a){var b="[a-zA-Zа-яА-Я][a-zA-Z0-9_а-яА-Я]*",c="возврат дата для если и или иначе иначеесли исключение конецесли конецпопытки конецпроцедуры конецфункции конеццикла константа не перейти перем перечисление по пока попытка прервать продолжить процедура строка тогда фс функция цикл число экспорт",d="ansitooem oemtoansi ввестивидсубконто ввестидату ввестизначение ввестиперечисление ввестипериод ввестиплансчетов ввестистроку ввестичисло вопрос восстановитьзначение врег выбранныйплансчетов вызватьисключение датагод датамесяц датачисло добавитьмесяц завершитьработусистемы заголовоксистемы записьжурналарегистрации запуститьприложение зафиксироватьтранзакцию значениевстроку значениевстрокувнутр значениевфайл значениеизстроки значениеизстрокивнутр значениеизфайла имякомпьютера имяпользователя каталогвременныхфайлов каталогиб каталогпользователя каталогпрограммы кодсимв командасистемы конгода конецпериодаби конецрассчитанногопериодаби конецстандартногоинтервала конквартала конмесяца коннедели лев лог лог10 макс максимальноеколичествосубконто мин монопольныйрежим названиеинтерфейса названиенабораправ назначитьвид назначитьсчет найти найтипомеченныенаудаление найтиссылки началопериодаби началостандартногоинтервала начатьтранзакцию начгода начквартала начмесяца начнедели номерднягода номерднянедели номернеделигода нрег обработкаожидания окр описаниеошибки основнойжурналрасчетов основнойплансчетов основнойязык открытьформу открытьформумодально отменитьтранзакцию очиститьокносообщений периодстр полноеимяпользователя получитьвремята получитьдатута получитьдокументта получитьзначенияотбора получитьпозициюта получитьпустоезначение получитьта прав праводоступа предупреждение префиксавтонумерации пустаястрока пустоезначение рабочаядаттьпустоезначение рабочаядата разделительстраниц разделительстрок разм разобратьпозициюдокумента рассчитатьрегистрына рассчитатьрегистрыпо сигнал симв символтабуляции создатьобъект сокрл сокрлп сокрп сообщить состояние сохранитьзначение сред статусвозврата стрдлина стрзаменить стрколичествострок стрполучитьстроку  стрчисловхождений сформироватьпозициюдокумента счетпокоду текущаядата текущеевремя типзначения типзначениястр удалитьобъекты установитьтана установитьтапо фиксшаблон формат цел шаблон",e={
+className:"dquote",begin:'""'},f={className:"string",begin:'"',end:'"|$',contains:[e]},g={className:"string",begin:"\\|",end:'"|$',contains:[e]};return{case_insensitive:!0,lexemes:b,keywords:{keyword:c,built_in:d},contains:[a.C_LINE_COMMENT_MODE,a.NUMBER_MODE,f,g,{className:"function",begin:"(процедура|функция)",end:"$",lexemes:b,keywords:"процедура функция",contains:[a.inherit(a.TITLE_MODE,{begin:b}),{className:"tail",endsWithParent:!0,contains:[{className:"params",begin:"\\(",end:"\\)",lexemes:b,keywords:"знач",contains:[f,g]},{className:"export",begin:"экспорт",endsWithParent:!0,lexemes:b,keywords:"экспорт",contains:[a.C_LINE_COMMENT_MODE]}]},a.C_LINE_COMMENT_MODE]},{className:"preprocessor",begin:"#",end:"$"},{className:"date",begin:"'\\d{2}\\.\\d{2}\\.(\\d{2}|\\d{4})'"}]}}),a.registerLanguage("accesslog",function(a){return{contains:[{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+\\b",relevance:0},{className:"string",begin:'"(GET|POST|HEAD|PUT|DELETE|CONNECT|OPTIONS|PATCH|TRACE)',end:'"',keywords:"GET POST HEAD PUT DELETE CONNECT OPTIONS PATCH TRACE",illegal:"\\n",relevance:10},{className:"string",begin:/\[/,end:/\]/,illegal:"\\n"},{className:"string",begin:'"',end:'"',illegal:"\\n"}]}}),a.registerLanguage("actionscript",function(a){var b="[a-zA-Z_$][a-zA-Z0-9_$]*",c="([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)",d={className:"rest_arg",begin:"[.]{3}",end:b,relevance:10};return{aliases:["as"],keywords:{keyword:"as break case catch class const continue default delete do dynamic each else extends final finally for function get if implements import in include instanceof interface internal is namespace native new override package private protected public return set static super switch this throw try typeof use var void while with",literal:"true false null undefined"},contains:[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.C_NUMBER_MODE,{className:"package",beginKeywords:"package",end:"{",contains:[a.TITLE_MODE]},{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,contains:[{beginKeywords:"extends implements"},a.TITLE_MODE]},{className:"preprocessor",beginKeywords:"import include",end:";"},{className:"function",beginKeywords:"function",end:"[{;]",excludeEnd:!0,illegal:"\\S",contains:[a.TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",contains:[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,d]},{className:"type",begin:":",end:c,relevance:10}]}],illegal:/#/}}),a.registerLanguage("apache",function(a){var b={className:"number",begin:"[\\$%]\\d+"};return{aliases:["apacheconf"],case_insensitive:!0,contains:[a.HASH_COMMENT_MODE,{className:"tag",begin:"</?",end:">"},{className:"keyword",begin:/\w+/,relevance:0,keywords:{common:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{end:/$/,relevance:0,keywords:{literal:"on off all"},contains:[{className:"sqbracket",begin:"\\s\\[",end:"\\]$"},{className:"cbracket",begin:"[\\$%]\\{",end:"\\}",contains:["self",b]},b,a.QUOTE_STRING_MODE]}}],illegal:/\S/}}),a.registerLanguage("applescript",function(a){var b=a.inherit(a.QUOTE_STRING_MODE,{illegal:""}),c={className:"params",begin:"\\(",end:"\\)",contains:["self",a.C_NUMBER_MODE,b]},d=a.COMMENT("--","$"),e=a.COMMENT("\\(\\*","\\*\\)",{contains:["self",d]}),f=[d,e,a.HASH_COMMENT_MODE];return{aliases:["osascript"],keywords:{keyword:"about above after against and around as at back before beginning behind below beneath beside between but by considering contain contains continue copy div does eighth else end equal equals error every exit fifth first for fourth from front get given global if ignoring in into is it its last local me middle mod my ninth not of on onto or over prop property put ref reference repeat returning script second set seventh since sixth some tell tenth that the|0 then third through thru timeout times to transaction try until where while whose with without",constant:"AppleScript false linefeed return pi quote result space tab true",type:"alias application boolean class constant date file integer list number real record string text",command:"activate beep count delay launch log offset read round run say summarize write",property:"character characters contents day frontmost id item length month name paragraph paragraphs rest reverse running time version weekday word words year"},contains:[b,a.C_NUMBER_MODE,{className:"type",begin:"\\bPOSIX file\\b"},{className:"command",begin:"\\b(clipboard info|the clipboard|info for|list (disks|folder)|mount volume|path to|(close|open for) access|(get|set) eof|current date|do shell script|get volume settings|random number|set volume|system attribute|system info|time to GMT|(load|run|store) script|scripting components|ASCII (character|number)|localized string|choose (application|color|file|file name|folder|from list|remote application|URL)|display (alert|dialog))\\b|^\\s*return\\b"},{className:"constant",begin:"\\b(text item delimiters|current application|missing value)\\b"},{className:"keyword",begin:"\\b(apart from|aside from|instead of|out of|greater than|isn't|(doesn't|does not) (equal|come before|come after|contain)|(greater|less) than( or equal)?|(starts?|ends|begins?) with|contained by|comes (before|after)|a (ref|reference))\\b"},{className:"property",begin:"\\b(POSIX path|(date|time) string|quoted form)\\b"},{className:"function_start",beginKeywords:"on",illegal:"[${=;\\n]",contains:[a.UNDERSCORE_TITLE_MODE,c]}].concat(f),illegal:"//|->|=>|\\[\\["}}),a.registerLanguage("armasm",function(a){return{case_insensitive:!0,aliases:["arm"],lexemes:"\\.?"+a.IDENT_RE,keywords:{literal:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 ",preprocessor:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",built_in:"{PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @ "},contains:[{className:"keyword",begin:"\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?",end:"\\s"},a.COMMENT("[;@]","$",{relevance:0}),a.C_BLOCK_COMMENT_MODE,a.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",relevance:0},{className:"title",begin:"\\|",end:"\\|",illegal:"\\n",relevance:0},{className:"number",variants:[{begin:"[#$=]?0x[0-9a-f]+"},{begin:"[#$=]?0b[01]+"},{begin:"[#$=]\\d+"},{begin:"\\b\\d+"}],relevance:0},{className:"label",variants:[{begin:"^[a-z_\\.\\$][a-z0-9_\\.\\$]+"},{begin:"^\\s*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{begin:"[=#]\\w+"}],relevance:0}]}}),a.registerLanguage("xml",function(a){var b="[A-Za-z0-9\\._:-]+",c={begin:/<\?(php)?(?!\w)/,end:/\?>/,subLanguage:"php"},d={endsWithParent:!0,illegal:/</,relevance:0,contains:[c,{className:"attribute",begin:b,relevance:0},{begin:"=",relevance:0,contains:[{className:"value",contains:[c],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/},{begin:/[^\s\/>]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xsl","plist"],case_insensitive:!0,contains:[{className:"doctype",begin:"<!DOCTYPE",end:">",relevance:10,contains:[{begin:"\\[",end:"\\]"}]},a.COMMENT("<!--","-->",{relevance:10}),{className:"cdata",begin:"<\\!\\[CDATA\\[",end:"\\]\\]>",relevance:10},{className:"tag",begin:"<style(?=\\s|>|$)",end:">",keywords:{title:"style"},contains:[d],starts:{end:"</style>",returnEnd:!0,subLanguage:"css"}},{className:"tag",begin:"<script(?=\\s|>|$)",end:">",keywords:{title:"script"},contains:[d],starts:{end:"</script>",returnEnd:!0,subLanguage:["actionscript","javascript","handlebars"]}},c,{className:"pi",begin:/<\?\w+/,end:/\?>/,relevance:10},{className:"tag",begin:"</?",end:"/?>",contains:[{className:"title",begin:/[^ \/><\n\t]+/,relevance:0},d]}]}}),a.registerLanguage("asciidoc",function(a){return{aliases:["adoc"],contains:[a.COMMENT("^/{4,}\\n","\\n/{4,}$",{relevance:10}),a.COMMENT("^//","$",{relevance:0}),{className:"title",begin:"^\\.\\w.*$"},{begin:"^[=\\*]{4,}\\n",end:"\\n^[=\\*]{4,}$",relevance:10},{className:"header",begin:"^(={1,5}) .+?( \\1)?$",relevance:10},{className:"header",begin:"^[^\\[\\]\\n]+?\\n[=\\-~\\^\\+]{2,}$",relevance:10},{className:"attribute",begin:"^:.+?:",end:"\\s",excludeEnd:!0,relevance:10},{className:"attribute",begin:"^\\[.+?\\]$",relevance:0},{className:"blockquote",begin:"^_{4,}\\n",end:"\\n_{4,}$",relevance:10},{className:"code",begin:"^[\\-\\.]{4,}\\n",end:"\\n[\\-\\.]{4,}$",relevance:10},{begin:"^\\+{4,}\\n",end:"\\n\\+{4,}$",contains:[{begin:"<",end:">",subLanguage:"xml",relevance:0}],relevance:10},{className:"bullet",begin:"^(\\*+|\\-+|\\.+|[^\\n]+?::)\\s+"},{className:"label",begin:"^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\s+",relevance:10},{className:"strong",begin:"\\B\\*(?![\\*\\s])",end:"(\\n{2}|\\*)",contains:[{begin:"\\\\*\\w",relevance:0}]},{className:"emphasis",begin:"\\B'(?!['\\s])",end:"(\\n{2}|')",contains:[{begin:"\\\\'\\w",relevance:0}],relevance:0},{className:"emphasis",begin:"_(?![_\\s])",end:"(\\n{2}|_)",relevance:0},{className:"smartquote",variants:[{begin:"``.+?''"},{begin:"`.+?'"}]},{className:"code",begin:"(`.+?`|\\+.+?\\+)",relevance:0},{className:"code",begin:"^[ \\t]",end:"$",relevance:0},{className:"horizontal_rule",begin:"^'{3,}[ \\t]*$",relevance:10},{begin:"(link:)?(http|https|ftp|file|irc|image:?):\\S+\\[.*?\\]",returnBegin:!0,contains:[{begin:"(link|image:?):",relevance:0},{className:"link_url",begin:"\\w",end:"[^\\[]+",relevance:0},{className:"link_label",begin:"\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0,relevance:0}],relevance:10}]}}),a.registerLanguage("aspectj",function(a){var b="false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else extends implements break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws privileged aspectOf adviceexecution proceed cflowbelow cflow initialization preinitialization staticinitialization withincode target within execution getWithinTypeName handler thisJoinPoint thisJoinPointStaticPart thisEnclosingJoinPointStaticPart declare parents warning error soft precedence thisAspectInstance",c="get set args call";return{keywords:b,illegal:/<\/|#/,contains:[a.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,{className:"aspect",beginKeywords:"aspect",end:/[{;=]/,excludeEnd:!0,illegal:/[:;"\[\]]/,contains:[{beginKeywords:"extends implements pertypewithin perthis pertarget percflowbelow percflow issingleton"},a.UNDERSCORE_TITLE_MODE,{begin:/\([^\)]*/,end:/[)]+/,keywords:b+" "+c,excludeEnd:!1}]},{className:"class",beginKeywords:"class interface",end:/[{;=]/,excludeEnd:!0,relevance:0,keywords:"class interface",illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends implements"},a.UNDERSCORE_TITLE_MODE]},{beginKeywords:"pointcut after before around throwing returning",end:/[)]/,excludeEnd:!1,illegal:/["\[\]]/,contains:[{begin:a.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,contains:[a.UNDERSCORE_TITLE_MODE]}]},{begin:/[:]/,returnBegin:!0,end:/[{;]/,relevance:0,excludeEnd:!1,keywords:b,illegal:/["\[\]]/,contains:[{begin:a.UNDERSCORE_IDENT_RE+"\\s*\\(",keywords:b+" "+c},a.QUOTE_STRING_MODE]},{beginKeywords:"new throw",relevance:0},{className:"function",begin:/\w+ +\w+(\.)?\w+\s*\([^\)]*\)\s*((throws)[\w\s,]+)?[\{;]/,returnBegin:!0,end:/[{;=]/,keywords:b,excludeEnd:!0,contains:[{begin:a.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[a.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/,relevance:0,keywords:b,contains:[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_NUMBER_MODE,a.C_BLOCK_COMMENT_MODE]},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},a.C_NUMBER_MODE,{className:"annotation",begin:"@[A-Za-z]+"}]}}),a.registerLanguage("autohotkey",function(a){var b={className:"escape",begin:"`[\\s\\S]"},c=a.COMMENT(";","$",{relevance:0}),d=[{className:"built_in",begin:"A_[a-zA-Z0-9]+"},{className:"built_in",beginKeywords:"ComSpec Clipboard ClipboardAll ErrorLevel"}];return{case_insensitive:!0,keywords:{keyword:"Break Continue Else Gosub If Loop Return While",literal:"A true false NOT AND OR"},contains:d.concat([b,a.inherit(a.QUOTE_STRING_MODE,{contains:[b]}),c,{className:"number",begin:a.NUMBER_RE,relevance:0},{className:"var_expand",begin:"%",end:"%",illegal:"\\n",contains:[b]},{className:"label",contains:[b],variants:[{begin:'^[^\\n";]+::(?!=)'},{begin:'^[^\\n";]+:(?!=)',relevance:0}]},{begin:",\\s*,",relevance:10}])}}),a.registerLanguage("autoit",function(a){var b="ByRef Case Const ContinueCase ContinueLoop Default Dim Do Else ElseIf EndFunc EndIf EndSelect EndSwitch EndWith Enum Exit ExitLoop For Func Global If In Local Next ReDim Return Select Static Step Switch Then To Until Volatile WEnd While With",c="True False And Null Not Or",d="Abs ACos AdlibRegister AdlibUnRegister Asc AscW ASin Assign ATan AutoItSetOption AutoItWinGetTitle AutoItWinSetTitle Beep Binary BinaryLen BinaryMid BinaryToString BitAND BitNOT BitOR BitRotate BitShift BitXOR BlockInput Break Call CDTray Ceiling Chr ChrW ClipGet ClipPut ConsoleRead ConsoleWrite ConsoleWriteError ControlClick ControlCommand ControlDisable ControlEnable ControlFocus ControlGetFocus ControlGetHandle ControlGetPos ControlGetText ControlHide ControlListView ControlMove ControlSend ControlSetText ControlShow ControlTreeView Cos Dec DirCopy DirCreate DirGetSize DirMove DirRemove DllCall DllCallAddress DllCallbackFree DllCallbackGetPtr DllCallbackRegister DllClose DllOpen DllStructCreate DllStructGetData DllStructGetPtr DllStructGetSize DllStructSetData DriveGetDrive DriveGetFileSystem DriveGetLabel DriveGetSerial DriveGetType DriveMapAdd DriveMapDel DriveMapGet DriveSetLabel DriveSpaceFree DriveSpaceTotal DriveStatus EnvGet EnvSet EnvUpdate Eval Execute Exp FileChangeDir FileClose FileCopy FileCreateNTFSLink FileCreateShortcut FileDelete FileExists FileFindFirstFile FileFindNextFile FileFlush FileGetAttrib FileGetEncoding FileGetLongName FileGetPos FileGetShortcut FileGetShortName FileGetSize FileGetTime FileGetVersion FileInstall FileMove FileOpen FileOpenDialog FileRead FileReadLine FileReadToArray FileRecycle FileRecycleEmpty FileSaveDialog FileSelectFolder FileSetAttrib FileSetEnd FileSetPos FileSetTime FileWrite FileWriteLine Floor FtpSetProxy FuncName GUICreate GUICtrlCreateAvi GUICtrlCreateButton GUICtrlCreateCheckbox GUICtrlCreateCombo GUICtrlCreateContextMenu GUICtrlCreateDate GUICtrlCreateDummy GUICtrlCreateEdit GUICtrlCreateGraphic GUICtrlCreateGroup GUICtrlCreateIcon GUICtrlCreateInput GUICtrlCreateLabel GUICtrlCreateList GUICtrlCreateListView GUICtrlCreateListViewItem GUICtrlCreateMenu GUICtrlCreateMenuItem GUICtrlCreateMonthCal GUICtrlCreateObj GUICtrlCreatePic GUICtrlCreateProgress GUICtrlCreateRadio GUICtrlCreateSlider GUICtrlCreateTab GUICtrlCreateTabItem GUICtrlCreateTreeView GUICtrlCreateTreeViewItem GUICtrlCreateUpdown GUICtrlDelete GUICtrlGetHandle GUICtrlGetState GUICtrlRead GUICtrlRecvMsg GUICtrlRegisterListViewSort GUICtrlSendMsg GUICtrlSendToDummy GUICtrlSetBkColor GUICtrlSetColor GUICtrlSetCursor GUICtrlSetData GUICtrlSetDefBkColor GUICtrlSetDefColor GUICtrlSetFont GUICtrlSetGraphic GUICtrlSetImage GUICtrlSetLimit GUICtrlSetOnEvent GUICtrlSetPos GUICtrlSetResizing GUICtrlSetState GUICtrlSetStyle GUICtrlSetTip GUIDelete GUIGetCursorInfo GUIGetMsg GUIGetStyle GUIRegisterMsg GUISetAccelerators GUISetBkColor GUISetCoord GUISetCursor GUISetFont GUISetHelp GUISetIcon GUISetOnEvent GUISetState GUISetStyle GUIStartGroup GUISwitch Hex HotKeySet HttpSetProxy HttpSetUserAgent HWnd InetClose InetGet InetGetInfo InetGetSize InetRead IniDelete IniRead IniReadSection IniReadSectionNames IniRenameSection IniWrite IniWriteSection InputBox Int IsAdmin IsArray IsBinary IsBool IsDeclared IsDllStruct IsFloat IsFunc IsHWnd IsInt IsKeyword IsNumber IsObj IsPtr IsString Log MemGetStats Mod MouseClick MouseClickDrag MouseDown MouseGetCursor MouseGetPos MouseMove MouseUp MouseWheel MsgBox Number ObjCreate ObjCreateInterface ObjEvent ObjGet ObjName OnAutoItExitRegister OnAutoItExitUnRegister Opt Ping PixelChecksum PixelGetColor PixelSearch ProcessClose ProcessExists ProcessGetStats ProcessList ProcessSetPriority ProcessWait ProcessWaitClose ProgressOff ProgressOn ProgressSet Ptr Random RegDelete RegEnumKey RegEnumVal RegRead RegWrite Round Run RunAs RunAsWait RunWait Send SendKeepActive SetError SetExtended ShellExecute ShellExecuteWait Shutdown Sin Sleep SoundPlay SoundSetWaveVolume SplashImageOn SplashOff SplashTextOn Sqrt SRandom StatusbarGetText StderrRead StdinWrite StdioClose StdoutRead String StringAddCR StringCompare StringFormat StringFromASCIIArray StringInStr StringIsAlNum StringIsAlpha StringIsASCII StringIsDigit StringIsFloat StringIsInt StringIsLower StringIsSpace StringIsUpper StringIsXDigit StringLeft StringLen StringLower StringMid StringRegExp StringRegExpReplace StringReplace StringReverse StringRight StringSplit StringStripCR StringStripWS StringToASCIIArray StringToBinary StringTrimLeft StringTrimRight StringUpper Tan TCPAccept TCPCloseSocket TCPConnect TCPListen TCPNameToIP TCPRecv TCPSend TCPShutdown TCPStartup TimerDiff TimerInit ToolTip TrayCreateItem TrayCreateMenu TrayGetMsg TrayItemDelete TrayItemGetHandle TrayItemGetState TrayItemGetText TrayItemSetOnEvent TrayItemSetState TrayItemSetText TraySetClick TraySetIcon TraySetOnEvent TraySetPauseIcon TraySetState TraySetToolTip TrayTip UBound UDPBind UDPCloseSocket UDPOpen UDPRecv UDPSend UDPShutdown UDPStartup VarGetType WinActivate WinActive WinClose WinExists WinFlash WinGetCaretPos WinGetClassList WinGetClientSize WinGetHandle WinGetPos WinGetProcess WinGetState WinGetText WinGetTitle WinKill WinList WinMenuSelectItem WinMinimizeAll WinMinimizeAllUndo WinMove WinSetOnTop WinSetState WinSetTitle WinSetTrans WinWait WinWaitActive WinWaitClose WinWaitNotActive Array1DToHistogram ArrayAdd ArrayBinarySearch ArrayColDelete ArrayColInsert ArrayCombinations ArrayConcatenate ArrayDelete ArrayDisplay ArrayExtract ArrayFindAll ArrayInsert ArrayMax ArrayMaxIndex ArrayMin ArrayMinIndex ArrayPermute ArrayPop ArrayPush ArrayReverse ArraySearch ArrayShuffle ArraySort ArraySwap ArrayToClip ArrayToString ArrayTranspose ArrayTrim ArrayUnique Assert ChooseColor ChooseFont ClipBoard_ChangeChain ClipBoard_Close ClipBoard_CountFormats ClipBoard_Empty ClipBoard_EnumFormats ClipBoard_FormatStr ClipBoard_GetData ClipBoard_GetDataEx ClipBoard_GetFormatName ClipBoard_GetOpenWindow ClipBoard_GetOwner ClipBoard_GetPriorityFormat ClipBoard_GetSequenceNumber ClipBoard_GetViewer ClipBoard_IsFormatAvailable ClipBoard_Open ClipBoard_RegisterFormat ClipBoard_SetData ClipBoard_SetDataEx ClipBoard_SetViewer ClipPutFile ColorConvertHSLtoRGB ColorConvertRGBtoHSL ColorGetBlue ColorGetCOLORREF ColorGetGreen ColorGetRed ColorGetRGB ColorSetCOLORREF ColorSetRGB Crypt_DecryptData Crypt_DecryptFile Crypt_DeriveKey Crypt_DestroyKey Crypt_EncryptData Crypt_EncryptFile Crypt_GenRandom Crypt_HashData Crypt_HashFile Crypt_Shutdown Crypt_Startup DateAdd DateDayOfWeek DateDaysInMonth DateDiff DateIsLeapYear DateIsValid DateTimeFormat DateTimeSplit DateToDayOfWeek DateToDayOfWeekISO DateToDayValue DateToMonth Date_Time_CompareFileTime Date_Time_DOSDateTimeToArray Date_Time_DOSDateTimeToFileTime Date_Time_DOSDateTimeToStr Date_Time_DOSDateToArray Date_Time_DOSDateToStr Date_Time_DOSTimeToArray Date_Time_DOSTimeToStr Date_Time_EncodeFileTime Date_Time_EncodeSystemTime Date_Time_FileTimeToArray Date_Time_FileTimeToDOSDateTime Date_Time_FileTimeToLocalFileTime Date_Time_FileTimeToStr Date_Time_FileTimeToSystemTime Date_Time_GetFileTime Date_Time_GetLocalTime Date_Time_GetSystemTime Date_Time_GetSystemTimeAdjustment Date_Time_GetSystemTimeAsFileTime Date_Time_GetSystemTimes Date_Time_GetTickCount Date_Time_GetTimeZoneInformation Date_Time_LocalFileTimeToFileTime Date_Time_SetFileTime Date_Time_SetLocalTime Date_Time_SetSystemTime Date_Time_SetSystemTimeAdjustment Date_Time_SetTimeZoneInformation Date_Time_SystemTimeToArray Date_Time_SystemTimeToDateStr Date_Time_SystemTimeToDateTimeStr Date_Time_SystemTimeToFileTime Date_Time_SystemTimeToTimeStr Date_Time_SystemTimeToTzSpecificLocalTime Date_Time_TzSpecificLocalTimeToSystemTime DayValueToDate DebugBugReportEnv DebugCOMError DebugOut DebugReport DebugReportEx DebugReportVar DebugSetup Degree EventLog__Backup EventLog__Clear EventLog__Close EventLog__Count EventLog__DeregisterSource EventLog__Full EventLog__Notify EventLog__Oldest EventLog__Open EventLog__OpenBackup EventLog__Read EventLog__RegisterSource EventLog__Report Excel_BookAttach Excel_BookClose Excel_BookList Excel_BookNew Excel_BookOpen Excel_BookOpenText Excel_BookSave Excel_BookSaveAs Excel_Close Excel_ColumnToLetter Excel_ColumnToNumber Excel_ConvertFormula Excel_Export Excel_FilterGet Excel_FilterSet Excel_Open Excel_PictureAdd Excel_Print Excel_RangeCopyPaste Excel_RangeDelete Excel_RangeFind Excel_RangeInsert Excel_RangeLinkAddRemove Excel_RangeRead Excel_RangeReplace Excel_RangeSort Excel_RangeValidate Excel_RangeWrite Excel_SheetAdd Excel_SheetCopyMove Excel_SheetDelete Excel_SheetList FileCountLines FileCreate FileListToArray FileListToArrayRec FilePrint FileReadToArray FileWriteFromArray FileWriteLog FileWriteToLine FTP_Close FTP_Command FTP_Connect FTP_DecodeInternetStatus FTP_DirCreate FTP_DirDelete FTP_DirGetCurrent FTP_DirPutContents FTP_DirSetCurrent FTP_FileClose FTP_FileDelete FTP_FileGet FTP_FileGetSize FTP_FileOpen FTP_FilePut FTP_FileRead FTP_FileRename FTP_FileTimeLoHiToStr FTP_FindFileClose FTP_FindFileFirst FTP_FindFileNext FTP_GetLastResponseInfo FTP_ListToArray FTP_ListToArray2D FTP_ListToArrayEx FTP_Open FTP_ProgressDownload FTP_ProgressUpload FTP_SetStatusCallback GDIPlus_ArrowCapCreate GDIPlus_ArrowCapDispose GDIPlus_ArrowCapGetFillState GDIPlus_ArrowCapGetHeight GDIPlus_ArrowCapGetMiddleInset GDIPlus_ArrowCapGetWidth GDIPlus_ArrowCapSetFillState GDIPlus_ArrowCapSetHeight GDIPlus_ArrowCapSetMiddleInset GDIPlus_ArrowCapSetWidth GDIPlus_BitmapApplyEffect GDIPlus_BitmapApplyEffectEx GDIPlus_BitmapCloneArea GDIPlus_BitmapConvertFormat GDIPlus_BitmapCreateApplyEffect GDIPlus_BitmapCreateApplyEffectEx GDIPlus_BitmapCreateDIBFromBitmap GDIPlus_BitmapCreateFromFile GDIPlus_BitmapCreateFromGraphics GDIPlus_BitmapCreateFromHBITMAP GDIPlus_BitmapCreateFromHICON GDIPlus_BitmapCreateFromHICON32 GDIPlus_BitmapCreateFromMemory GDIPlus_BitmapCreateFromResource GDIPlus_BitmapCreateFromScan0 GDIPlus_BitmapCreateFromStream GDIPlus_BitmapCreateHBITMAPFromBitmap GDIPlus_BitmapDispose GDIPlus_BitmapGetHistogram GDIPlus_BitmapGetHistogramEx GDIPlus_BitmapGetHistogramSize GDIPlus_BitmapGetPixel GDIPlus_BitmapLockBits GDIPlus_BitmapSetPixel GDIPlus_BitmapUnlockBits GDIPlus_BrushClone GDIPlus_BrushCreateSolid GDIPlus_BrushDispose GDIPlus_BrushGetSolidColor GDIPlus_BrushGetType GDIPlus_BrushSetSolidColor GDIPlus_ColorMatrixCreate GDIPlus_ColorMatrixCreateGrayScale GDIPlus_ColorMatrixCreateNegative GDIPlus_ColorMatrixCreateSaturation GDIPlus_ColorMatrixCreateScale GDIPlus_ColorMatrixCreateTranslate GDIPlus_CustomLineCapClone GDIPlus_CustomLineCapCreate GDIPlus_CustomLineCapDispose GDIPlus_CustomLineCapGetStrokeCaps GDIPlus_CustomLineCapSetStrokeCaps GDIPlus_Decoders GDIPlus_DecodersGetCount GDIPlus_DecodersGetSize GDIPlus_DrawImageFX GDIPlus_DrawImageFXEx GDIPlus_DrawImagePoints GDIPlus_EffectCreate GDIPlus_EffectCreateBlur GDIPlus_EffectCreateBrightnessContrast GDIPlus_EffectCreateColorBalance GDIPlus_EffectCreateColorCurve GDIPlus_EffectCreateColorLUT GDIPlus_EffectCreateColorMatrix GDIPlus_EffectCreateHueSaturationLightness GDIPlus_EffectCreateLevels GDIPlus_EffectCreateRedEyeCorrection GDIPlus_EffectCreateSharpen GDIPlus_EffectCreateTint GDIPlus_EffectDispose GDIPlus_EffectGetParameters GDIPlus_EffectSetParameters GDIPlus_Encoders GDIPlus_EncodersGetCLSID GDIPlus_EncodersGetCount GDIPlus_EncodersGetParamList GDIPlus_EncodersGetParamListSize GDIPlus_EncodersGetSize GDIPlus_FontCreate GDIPlus_FontDispose GDIPlus_FontFamilyCreate GDIPlus_FontFamilyCreateFromCollection GDIPlus_FontFamilyDispose GDIPlus_FontFamilyGetCellAscent GDIPlus_FontFamilyGetCellDescent GDIPlus_FontFamilyGetEmHeight GDIPlus_FontFamilyGetLineSpacing GDIPlus_FontGetHeight GDIPlus_FontPrivateAddFont GDIPlus_FontPrivateAddMemoryFont GDIPlus_FontPrivateCollectionDispose GDIPlus_FontPrivateCreateCollection GDIPlus_GraphicsClear GDIPlus_GraphicsCreateFromHDC GDIPlus_GraphicsCreateFromHWND GDIPlus_GraphicsDispose GDIPlus_GraphicsDrawArc GDIPlus_GraphicsDrawBezier GDIPlus_GraphicsDrawClosedCurve GDIPlus_GraphicsDrawClosedCurve2 GDIPlus_GraphicsDrawCurve GDIPlus_GraphicsDrawCurve2 GDIPlus_GraphicsDrawEllipse GDIPlus_GraphicsDrawImage GDIPlus_GraphicsDrawImagePointsRect GDIPlus_GraphicsDrawImageRect GDIPlus_GraphicsDrawImageRectRect GDIPlus_GraphicsDrawLine GDIPlus_GraphicsDrawPath GDIPlus_GraphicsDrawPie GDIPlus_GraphicsDrawPolygon GDIPlus_GraphicsDrawRect GDIPlus_GraphicsDrawString GDIPlus_GraphicsDrawStringEx GDIPlus_GraphicsFillClosedCurve GDIPlus_GraphicsFillClosedCurve2 GDIPlus_GraphicsFillEllipse GDIPlus_GraphicsFillPath GDIPlus_GraphicsFillPie GDIPlus_GraphicsFillPolygon GDIPlus_GraphicsFillRect GDIPlus_GraphicsFillRegion GDIPlus_GraphicsGetCompositingMode GDIPlus_GraphicsGetCompositingQuality GDIPlus_GraphicsGetDC GDIPlus_GraphicsGetInterpolationMode GDIPlus_GraphicsGetSmoothingMode GDIPlus_GraphicsGetTransform GDIPlus_GraphicsMeasureCharacterRanges GDIPlus_GraphicsMeasureString GDIPlus_GraphicsReleaseDC GDIPlus_GraphicsResetClip GDIPlus_GraphicsResetTransform GDIPlus_GraphicsRestore GDIPlus_GraphicsRotateTransform GDIPlus_GraphicsSave GDIPlus_GraphicsScaleTransform GDIPlus_GraphicsSetClipPath GDIPlus_GraphicsSetClipRect GDIPlus_GraphicsSetClipRegion GDIPlus_GraphicsSetCompositingMode GDIPlus_GraphicsSetCompositingQuality GDIPlus_GraphicsSetInterpolationMode GDIPlus_GraphicsSetPixelOffsetMode GDIPlus_GraphicsSetSmoothingMode GDIPlus_GraphicsSetTextRenderingHint GDIPlus_GraphicsSetTransform GDIPlus_GraphicsTransformPoints GDIPlus_GraphicsTranslateTransform GDIPlus_HatchBrushCreate GDIPlus_HICONCreateFromBitmap GDIPlus_ImageAttributesCreate GDIPlus_ImageAttributesDispose GDIPlus_ImageAttributesSetColorKeys GDIPlus_ImageAttributesSetColorMatrix GDIPlus_ImageDispose GDIPlus_ImageGetDimension GDIPlus_ImageGetFlags GDIPlus_ImageGetGraphicsContext GDIPlus_ImageGetHeight GDIPlus_ImageGetHorizontalResolution GDIPlus_ImageGetPixelFormat GDIPlus_ImageGetRawFormat GDIPlus_ImageGetThumbnail GDIPlus_ImageGetType GDIPlus_ImageGetVerticalResolution GDIPlus_ImageGetWidth GDIPlus_ImageLoadFromFile GDIPlus_ImageLoadFromStream GDIPlus_ImageResize GDIPlus_ImageRotateFlip GDIPlus_ImageSaveToFile GDIPlus_ImageSaveToFileEx GDIPlus_ImageSaveToStream GDIPlus_ImageScale GDIPlus_LineBrushCreate GDIPlus_LineBrushCreateFromRect GDIPlus_LineBrushCreateFromRectWithAngle GDIPlus_LineBrushGetColors GDIPlus_LineBrushGetRect GDIPlus_LineBrushMultiplyTransform GDIPlus_LineBrushResetTransform GDIPlus_LineBrushSetBlend GDIPlus_LineBrushSetColors GDIPlus_LineBrushSetGammaCorrection GDIPlus_LineBrushSetLinearBlend GDIPlus_LineBrushSetPresetBlend GDIPlus_LineBrushSetSigmaBlend GDIPlus_LineBrushSetTransform GDIPlus_MatrixClone GDIPlus_MatrixCreate GDIPlus_MatrixDispose GDIPlus_MatrixGetElements GDIPlus_MatrixInvert GDIPlus_MatrixMultiply GDIPlus_MatrixRotate GDIPlus_MatrixScale GDIPlus_MatrixSetElements GDIPlus_MatrixShear GDIPlus_MatrixTransformPoints GDIPlus_MatrixTranslate GDIPlus_PaletteInitialize GDIPlus_ParamAdd GDIPlus_ParamInit GDIPlus_ParamSize GDIPlus_PathAddArc GDIPlus_PathAddBezier GDIPlus_PathAddClosedCurve GDIPlus_PathAddClosedCurve2 GDIPlus_PathAddCurve GDIPlus_PathAddCurve2 GDIPlus_PathAddCurve3 GDIPlus_PathAddEllipse GDIPlus_PathAddLine GDIPlus_PathAddLine2 GDIPlus_PathAddPath GDIPlus_PathAddPie GDIPlus_PathAddPolygon GDIPlus_PathAddRectangle GDIPlus_PathAddString GDIPlus_PathBrushCreate GDIPlus_PathBrushCreateFromPath GDIPlus_PathBrushGetCenterPoint GDIPlus_PathBrushGetFocusScales GDIPlus_PathBrushGetPointCount GDIPlus_PathBrushGetRect GDIPlus_PathBrushGetWrapMode GDIPlus_PathBrushMultiplyTransform GDIPlus_PathBrushResetTransform GDIPlus_PathBrushSetBlend GDIPlus_PathBrushSetCenterColor GDIPlus_PathBrushSetCenterPoint GDIPlus_PathBrushSetFocusScales GDIPlus_PathBrushSetGammaCorrection GDIPlus_PathBrushSetLinearBlend GDIPlus_PathBrushSetPresetBlend GDIPlus_PathBrushSetSigmaBlend GDIPlus_PathBrushSetSurroundColor GDIPlus_PathBrushSetSurroundColorsWithCount GDIPlus_PathBrushSetTransform GDIPlus_PathBrushSetWrapMode GDIPlus_PathClone GDIPlus_PathCloseFigure GDIPlus_PathCreate GDIPlus_PathCreate2 GDIPlus_PathDispose GDIPlus_PathFlatten GDIPlus_PathGetData GDIPlus_PathGetFillMode GDIPlus_PathGetLastPoint GDIPlus_PathGetPointCount GDIPlus_PathGetPoints GDIPlus_PathGetWorldBounds GDIPlus_PathIsOutlineVisiblePoint GDIPlus_PathIsVisiblePoint GDIPlus_PathIterCreate GDIPlus_PathIterDispose GDIPlus_PathIterGetSubpathCount GDIPlus_PathIterNextMarkerPath GDIPlus_PathIterNextSubpathPath GDIPlus_PathIterRewind GDIPlus_PathReset GDIPlus_PathReverse GDIPlus_PathSetFillMode GDIPlus_PathSetMarker GDIPlus_PathStartFigure GDIPlus_PathTransform GDIPlus_PathWarp GDIPlus_PathWiden GDIPlus_PathWindingModeOutline GDIPlus_PenCreate GDIPlus_PenCreate2 GDIPlus_PenDispose GDIPlus_PenGetAlignment GDIPlus_PenGetColor GDIPlus_PenGetCustomEndCap GDIPlus_PenGetDashCap GDIPlus_PenGetDashStyle GDIPlus_PenGetEndCap GDIPlus_PenGetMiterLimit GDIPlus_PenGetWidth GDIPlus_PenSetAlignment GDIPlus_PenSetColor GDIPlus_PenSetCustomEndCap GDIPlus_PenSetDashCap GDIPlus_PenSetDashStyle GDIPlus_PenSetEndCap GDIPlus_PenSetLineCap GDIPlus_PenSetLineJoin GDIPlus_PenSetMiterLimit GDIPlus_PenSetStartCap GDIPlus_PenSetWidth GDIPlus_RectFCreate GDIPlus_RegionClone GDIPlus_RegionCombinePath GDIPlus_RegionCombineRect GDIPlus_RegionCombineRegion GDIPlus_RegionCreate GDIPlus_RegionCreateFromPath GDIPlus_RegionCreateFromRect GDIPlus_RegionDispose GDIPlus_RegionGetBounds GDIPlus_RegionGetHRgn GDIPlus_RegionTransform GDIPlus_RegionTranslate GDIPlus_Shutdown GDIPlus_Startup GDIPlus_StringFormatCreate GDIPlus_StringFormatDispose GDIPlus_StringFormatGetMeasurableCharacterRangeCount GDIPlus_StringFormatSetAlign GDIPlus_StringFormatSetLineAlign GDIPlus_StringFormatSetMeasurableCharacterRanges GDIPlus_TextureCreate GDIPlus_TextureCreate2 GDIPlus_TextureCreateIA GetIP GUICtrlAVI_Close GUICtrlAVI_Create GUICtrlAVI_Destroy GUICtrlAVI_IsPlaying GUICtrlAVI_Open GUICtrlAVI_OpenEx GUICtrlAVI_Play GUICtrlAVI_Seek GUICtrlAVI_Show GUICtrlAVI_Stop GUICtrlButton_Click GUICtrlButton_Create GUICtrlButton_Destroy GUICtrlButton_Enable GUICtrlButton_GetCheck GUICtrlButton_GetFocus GUICtrlButton_GetIdealSize GUICtrlButton_GetImage GUICtrlButton_GetImageList GUICtrlButton_GetNote GUICtrlButton_GetNoteLength GUICtrlButton_GetSplitInfo GUICtrlButton_GetState GUICtrlButton_GetText GUICtrlButton_GetTextMargin GUICtrlButton_SetCheck GUICtrlButton_SetDontClick GUICtrlButton_SetFocus GUICtrlButton_SetImage GUICtrlButton_SetImageList GUICtrlButton_SetNote GUICtrlButton_SetShield GUICtrlButton_SetSize GUICtrlButton_SetSplitInfo GUICtrlButton_SetState GUICtrlButton_SetStyle GUICtrlButton_SetText GUICtrlButton_SetTextMargin GUICtrlButton_Show GUICtrlComboBoxEx_AddDir GUICtrlComboBoxEx_AddString GUICtrlComboBoxEx_BeginUpdate GUICtrlComboBoxEx_Create GUICtrlComboBoxEx_CreateSolidBitMap GUICtrlComboBoxEx_DeleteString GUICtrlComboBoxEx_Destroy GUICtrlComboBoxEx_EndUpdate GUICtrlComboBoxEx_FindStringExact GUICtrlComboBoxEx_GetComboBoxInfo GUICtrlComboBoxEx_GetComboControl GUICtrlComboBoxEx_GetCount GUICtrlComboBoxEx_GetCurSel GUICtrlComboBoxEx_GetDroppedControlRect GUICtrlComboBoxEx_GetDroppedControlRectEx GUICtrlComboBoxEx_GetDroppedState GUICtrlComboBoxEx_GetDroppedWidth GUICtrlComboBoxEx_GetEditControl GUICtrlComboBoxEx_GetEditSel GUICtrlComboBoxEx_GetEditText GUICtrlComboBoxEx_GetExtendedStyle GUICtrlComboBoxEx_GetExtendedUI GUICtrlComboBoxEx_GetImageList GUICtrlComboBoxEx_GetItem GUICtrlComboBoxEx_GetItemEx GUICtrlComboBoxEx_GetItemHeight GUICtrlComboBoxEx_GetItemImage GUICtrlComboBoxEx_GetItemIndent GUICtrlComboBoxEx_GetItemOverlayImage GUICtrlComboBoxEx_GetItemParam GUICtrlComboBoxEx_GetItemSelectedImage GUICtrlComboBoxEx_GetItemText GUICtrlComboBoxEx_GetItemTextLen GUICtrlComboBoxEx_GetList GUICtrlComboBoxEx_GetListArray GUICtrlComboBoxEx_GetLocale GUICtrlComboBoxEx_GetLocaleCountry GUICtrlComboBoxEx_GetLocaleLang GUICtrlComboBoxEx_GetLocalePrimLang GUICtrlComboBoxEx_GetLocaleSubLang GUICtrlComboBoxEx_GetMinVisible GUICtrlComboBoxEx_GetTopIndex GUICtrlComboBoxEx_GetUnicode GUICtrlComboBoxEx_InitStorage GUICtrlComboBoxEx_InsertString GUICtrlComboBoxEx_LimitText GUICtrlComboBoxEx_ReplaceEditSel GUICtrlComboBoxEx_ResetContent GUICtrlComboBoxEx_SetCurSel GUICtrlComboBoxEx_SetDroppedWidth GUICtrlComboBoxEx_SetEditSel GUICtrlComboBoxEx_SetEditText GUICtrlComboBoxEx_SetExtendedStyle GUICtrlComboBoxEx_SetExtendedUI GUICtrlComboBoxEx_SetImageList GUICtrlComboBoxEx_SetItem GUICtrlComboBoxEx_SetItemEx GUICtrlComboBoxEx_SetItemHeight GUICtrlComboBoxEx_SetItemImage GUICtrlComboBoxEx_SetItemIndent GUICtrlComboBoxEx_SetItemOverlayImage GUICtrlComboBoxEx_SetItemParam GUICtrlComboBoxEx_SetItemSelectedImage GUICtrlComboBoxEx_SetMinVisible GUICtrlComboBoxEx_SetTopIndex GUICtrlComboBoxEx_SetUnicode GUICtrlComboBoxEx_ShowDropDown GUICtrlComboBox_AddDir GUICtrlComboBox_AddString GUICtrlComboBox_AutoComplete GUICtrlComboBox_BeginUpdate GUICtrlComboBox_Create GUICtrlComboBox_DeleteString GUICtrlComboBox_Destroy GUICtrlComboBox_EndUpdate GUICtrlComboBox_FindString GUICtrlComboBox_FindStringExact GUICtrlComboBox_GetComboBoxInfo GUICtrlComboBox_GetCount GUICtrlComboBox_GetCueBanner GUICtrlComboBox_GetCurSel GUICtrlComboBox_GetDroppedControlRect GUICtrlComboBox_GetDroppedControlRectEx GUICtrlComboBox_GetDroppedState GUICtrlComboBox_GetDroppedWidth GUICtrlComboBox_GetEditSel GUICtrlComboBox_GetEditText GUICtrlComboBox_GetExtendedUI GUICtrlComboBox_GetHorizontalExtent GUICtrlComboBox_GetItemHeight GUICtrlComboBox_GetLBText GUICtrlComboBox_GetLBTextLen GUICtrlComboBox_GetList GUICtrlComboBox_GetListArray GUICtrlComboBox_GetLocale GUICtrlComboBox_GetLocaleCountry GUICtrlComboBox_GetLocaleLang GUICtrlComboBox_GetLocalePrimLang GUICtrlComboBox_GetLocaleSubLang GUICtrlComboBox_GetMinVisible GUICtrlComboBox_GetTopIndex GUICtrlComboBox_InitStorage GUICtrlComboBox_InsertString GUICtrlComboBox_LimitText GUICtrlComboBox_ReplaceEditSel GUICtrlComboBox_ResetContent GUICtrlComboBox_SelectString GUICtrlComboBox_SetCueBanner GUICtrlComboBox_SetCurSel GUICtrlComboBox_SetDroppedWidth GUICtrlComboBox_SetEditSel GUICtrlComboBox_SetEditText GUICtrlComboBox_SetExtendedUI GUICtrlComboBox_SetHorizontalExtent GUICtrlComboBox_SetItemHeight GUICtrlComboBox_SetMinVisible GUICtrlComboBox_SetTopIndex GUICtrlComboBox_ShowDropDown GUICtrlDTP_Create GUICtrlDTP_Destroy GUICtrlDTP_GetMCColor GUICtrlDTP_GetMCFont GUICtrlDTP_GetMonthCal GUICtrlDTP_GetRange GUICtrlDTP_GetRangeEx GUICtrlDTP_GetSystemTime GUICtrlDTP_GetSystemTimeEx GUICtrlDTP_SetFormat GUICtrlDTP_SetMCColor GUICtrlDTP_SetMCFont GUICtrlDTP_SetRange GUICtrlDTP_SetRangeEx GUICtrlDTP_SetSystemTime GUICtrlDTP_SetSystemTimeEx GUICtrlEdit_AppendText GUICtrlEdit_BeginUpdate GUICtrlEdit_CanUndo GUICtrlEdit_CharFromPos GUICtrlEdit_Create GUICtrlEdit_Destroy GUICtrlEdit_EmptyUndoBuffer GUICtrlEdit_EndUpdate GUICtrlEdit_Find GUICtrlEdit_FmtLines GUICtrlEdit_GetCueBanner GUICtrlEdit_GetFirstVisibleLine GUICtrlEdit_GetLimitText GUICtrlEdit_GetLine GUICtrlEdit_GetLineCount GUICtrlEdit_GetMargins GUICtrlEdit_GetModify GUICtrlEdit_GetPasswordChar GUICtrlEdit_GetRECT GUICtrlEdit_GetRECTEx GUICtrlEdit_GetSel GUICtrlEdit_GetText GUICtrlEdit_GetTextLen GUICtrlEdit_HideBalloonTip GUICtrlEdit_InsertText GUICtrlEdit_LineFromChar GUICtrlEdit_LineIndex GUICtrlEdit_LineLength GUICtrlEdit_LineScroll GUICtrlEdit_PosFromChar GUICtrlEdit_ReplaceSel GUICtrlEdit_Scroll GUICtrlEdit_SetCueBanner GUICtrlEdit_SetLimitText GUICtrlEdit_SetMargins GUICtrlEdit_SetModify GUICtrlEdit_SetPasswordChar GUICtrlEdit_SetReadOnly GUICtrlEdit_SetRECT GUICtrlEdit_SetRECTEx GUICtrlEdit_SetRECTNP GUICtrlEdit_SetRectNPEx GUICtrlEdit_SetSel GUICtrlEdit_SetTabStops GUICtrlEdit_SetText GUICtrlEdit_ShowBalloonTip GUICtrlEdit_Undo GUICtrlHeader_AddItem GUICtrlHeader_ClearFilter GUICtrlHeader_ClearFilterAll GUICtrlHeader_Create GUICtrlHeader_CreateDragImage GUICtrlHeader_DeleteItem GUICtrlHeader_Destroy GUICtrlHeader_EditFilter GUICtrlHeader_GetBitmapMargin GUICtrlHeader_GetImageList GUICtrlHeader_GetItem GUICtrlHeader_GetItemAlign GUICtrlHeader_GetItemBitmap GUICtrlHeader_GetItemCount GUICtrlHeader_GetItemDisplay GUICtrlHeader_GetItemFlags GUICtrlHeader_GetItemFormat GUICtrlHeader_GetItemImage GUICtrlHeader_GetItemOrder GUICtrlHeader_GetItemParam GUICtrlHeader_GetItemRect GUICtrlHeader_GetItemRectEx GUICtrlHeader_GetItemText GUICtrlHeader_GetItemWidth GUICtrlHeader_GetOrderArray GUICtrlHeader_GetUnicodeFormat GUICtrlHeader_HitTest GUICtrlHeader_InsertItem GUICtrlHeader_Layout GUICtrlHeader_OrderToIndex GUICtrlHeader_SetBitmapMargin GUICtrlHeader_SetFilterChangeTimeout GUICtrlHeader_SetHotDivider GUICtrlHeader_SetImageList GUICtrlHeader_SetItem GUICtrlHeader_SetItemAlign GUICtrlHeader_SetItemBitmap GUICtrlHeader_SetItemDisplay GUICtrlHeader_SetItemFlags GUICtrlHeader_SetItemFormat GUICtrlHeader_SetItemImage GUICtrlHeader_SetItemOrder GUICtrlHeader_SetItemParam GUICtrlHeader_SetItemText GUICtrlHeader_SetItemWidth GUICtrlHeader_SetOrderArray GUICtrlHeader_SetUnicodeFormat GUICtrlIpAddress_ClearAddress GUICtrlIpAddress_Create GUICtrlIpAddress_Destroy GUICtrlIpAddress_Get GUICtrlIpAddress_GetArray GUICtrlIpAddress_GetEx GUICtrlIpAddress_IsBlank GUICtrlIpAddress_Set GUICtrlIpAddress_SetArray GUICtrlIpAddress_SetEx GUICtrlIpAddress_SetFocus GUICtrlIpAddress_SetFont GUICtrlIpAddress_SetRange GUICtrlIpAddress_ShowHide GUICtrlListBox_AddFile GUICtrlListBox_AddString GUICtrlListBox_BeginUpdate GUICtrlListBox_ClickItem GUICtrlListBox_Create GUICtrlListBox_DeleteString GUICtrlListBox_Destroy GUICtrlListBox_Dir GUICtrlListBox_EndUpdate GUICtrlListBox_FindInText GUICtrlListBox_FindString GUICtrlListBox_GetAnchorIndex GUICtrlListBox_GetCaretIndex GUICtrlListBox_GetCount GUICtrlListBox_GetCurSel GUICtrlListBox_GetHorizontalExtent GUICtrlListBox_GetItemData GUICtrlListBox_GetItemHeight GUICtrlListBox_GetItemRect GUICtrlListBox_GetItemRectEx GUICtrlListBox_GetListBoxInfo GUICtrlListBox_GetLocale GUICtrlListBox_GetLocaleCountry GUICtrlListBox_GetLocaleLang GUICtrlListBox_GetLocalePrimLang GUICtrlListBox_GetLocaleSubLang GUICtrlListBox_GetSel GUICtrlListBox_GetSelCount GUICtrlListBox_GetSelItems GUICtrlListBox_GetSelItemsText GUICtrlListBox_GetText GUICtrlListBox_GetTextLen GUICtrlListBox_GetTopIndex GUICtrlListBox_InitStorage GUICtrlListBox_InsertString GUICtrlListBox_ItemFromPoint GUICtrlListBox_ReplaceString GUICtrlListBox_ResetContent GUICtrlListBox_SelectString GUICtrlListBox_SelItemRange GUICtrlListBox_SelItemRangeEx GUICtrlListBox_SetAnchorIndex GUICtrlListBox_SetCaretIndex GUICtrlListBox_SetColumnWidth GUICtrlListBox_SetCurSel GUICtrlListBox_SetHorizontalExtent GUICtrlListBox_SetItemData GUICtrlListBox_SetItemHeight GUICtrlListBox_SetLocale GUICtrlListBox_SetSel GUICtrlListBox_SetTabStops GUICtrlListBox_SetTopIndex GUICtrlListBox_Sort GUICtrlListBox_SwapString GUICtrlListBox_UpdateHScroll GUICtrlListView_AddArray GUICtrlListView_AddColumn GUICtrlListView_AddItem GUICtrlListView_AddSubItem GUICtrlListView_ApproximateViewHeight GUICtrlListView_ApproximateViewRect GUICtrlListView_ApproximateViewWidth GUICtrlListView_Arrange GUICtrlListView_BeginUpdate GUICtrlListView_CancelEditLabel GUICtrlListView_ClickItem GUICtrlListView_CopyItems GUICtrlListView_Create GUICtrlListView_CreateDragImage GUICtrlListView_CreateSolidBitMap GUICtrlListView_DeleteAllItems GUICtrlListView_DeleteColumn GUICtrlListView_DeleteItem GUICtrlListView_DeleteItemsSelected GUICtrlListView_Destroy GUICtrlListView_DrawDragImage GUICtrlListView_EditLabel GUICtrlListView_EnableGroupView GUICtrlListView_EndUpdate GUICtrlListView_EnsureVisible GUICtrlListView_FindInText GUICtrlListView_FindItem GUICtrlListView_FindNearest GUICtrlListView_FindParam GUICtrlListView_FindText GUICtrlListView_GetBkColor GUICtrlListView_GetBkImage GUICtrlListView_GetCallbackMask GUICtrlListView_GetColumn GUICtrlListView_GetColumnCount GUICtrlListView_GetColumnOrder GUICtrlListView_GetColumnOrderArray GUICtrlListView_GetColumnWidth GUICtrlListView_GetCounterPage GUICtrlListView_GetEditControl GUICtrlListView_GetExtendedListViewStyle GUICtrlListView_GetFocusedGroup GUICtrlListView_GetGroupCount GUICtrlListView_GetGroupInfo GUICtrlListView_GetGroupInfoByIndex GUICtrlListView_GetGroupRect GUICtrlListView_GetGroupViewEnabled GUICtrlListView_GetHeader GUICtrlListView_GetHotCursor GUICtrlListView_GetHotItem GUICtrlListView_GetHoverTime GUICtrlListView_GetImageList GUICtrlListView_GetISearchString GUICtrlListView_GetItem GUICtrlListView_GetItemChecked GUICtrlListView_GetItemCount GUICtrlListView_GetItemCut GUICtrlListView_GetItemDropHilited GUICtrlListView_GetItemEx GUICtrlListView_GetItemFocused GUICtrlListView_GetItemGroupID GUICtrlListView_GetItemImage GUICtrlListView_GetItemIndent GUICtrlListView_GetItemParam GUICtrlListView_GetItemPosition GUICtrlListView_GetItemPositionX GUICtrlListView_GetItemPositionY GUICtrlListView_GetItemRect GUICtrlListView_GetItemRectEx GUICtrlListView_GetItemSelected GUICtrlListView_GetItemSpacing GUICtrlListView_GetItemSpacingX GUICtrlListView_GetItemSpacingY GUICtrlListView_GetItemState GUICtrlListView_GetItemStateImage GUICtrlListView_GetItemText GUICtrlListView_GetItemTextArray GUICtrlListView_GetItemTextString GUICtrlListView_GetNextItem GUICtrlListView_GetNumberOfWorkAreas GUICtrlListView_GetOrigin GUICtrlListView_GetOriginX GUICtrlListView_GetOriginY GUICtrlListView_GetOutlineColor GUICtrlListView_GetSelectedColumn GUICtrlListView_GetSelectedCount GUICtrlListView_GetSelectedIndices GUICtrlListView_GetSelectionMark GUICtrlListView_GetStringWidth GUICtrlListView_GetSubItemRect GUICtrlListView_GetTextBkColor GUICtrlListView_GetTextColor GUICtrlListView_GetToolTips GUICtrlListView_GetTopIndex GUICtrlListView_GetUnicodeFormat GUICtrlListView_GetView GUICtrlListView_GetViewDetails GUICtrlListView_GetViewLarge GUICtrlListView_GetViewList GUICtrlListView_GetViewRect GUICtrlListView_GetViewSmall GUICtrlListView_GetViewTile GUICtrlListView_HideColumn GUICtrlListView_HitTest GUICtrlListView_InsertColumn GUICtrlListView_InsertGroup GUICtrlListView_InsertItem GUICtrlListView_JustifyColumn GUICtrlListView_MapIDToIndex GUICtrlListView_MapIndexToID GUICtrlListView_RedrawItems GUICtrlListView_RegisterSortCallBack GUICtrlListView_RemoveAllGroups GUICtrlListView_RemoveGroup GUICtrlListView_Scroll GUICtrlListView_SetBkColor GUICtrlListView_SetBkImage GUICtrlListView_SetCallBackMask GUICtrlListView_SetColumn GUICtrlListView_SetColumnOrder GUICtrlListView_SetColumnOrderArray GUICtrlListView_SetColumnWidth GUICtrlListView_SetExtendedListViewStyle GUICtrlListView_SetGroupInfo GUICtrlListView_SetHotItem GUICtrlListView_SetHoverTime GUICtrlListView_SetIconSpacing GUICtrlListView_SetImageList GUICtrlListView_SetItem GUICtrlListView_SetItemChecked GUICtrlListView_SetItemCount GUICtrlListView_SetItemCut GUICtrlListView_SetItemDropHilited GUICtrlListView_SetItemEx GUICtrlListView_SetItemFocused GUICtrlListView_SetItemGroupID GUICtrlListView_SetItemImage GUICtrlListView_SetItemIndent GUICtrlListView_SetItemParam GUICtrlListView_SetItemPosition GUICtrlListView_SetItemPosition32 GUICtrlListView_SetItemSelected GUICtrlListView_SetItemState GUICtrlListView_SetItemStateImage GUICtrlListView_SetItemText GUICtrlListView_SetOutlineColor GUICtrlListView_SetSelectedColumn GUICtrlListView_SetSelectionMark GUICtrlListView_SetTextBkColor GUICtrlListView_SetTextColor GUICtrlListView_SetToolTips GUICtrlListView_SetUnicodeFormat GUICtrlListView_SetView GUICtrlListView_SetWorkAreas GUICtrlListView_SimpleSort GUICtrlListView_SortItems GUICtrlListView_SubItemHitTest GUICtrlListView_UnRegisterSortCallBack GUICtrlMenu_AddMenuItem GUICtrlMenu_AppendMenu GUICtrlMenu_CalculatePopupWindowPosition GUICtrlMenu_CheckMenuItem GUICtrlMenu_CheckRadioItem GUICtrlMenu_CreateMenu GUICtrlMenu_CreatePopup GUICtrlMenu_DeleteMenu GUICtrlMenu_DestroyMenu GUICtrlMenu_DrawMenuBar GUICtrlMenu_EnableMenuItem GUICtrlMenu_FindItem GUICtrlMenu_FindParent GUICtrlMenu_GetItemBmp GUICtrlMenu_GetItemBmpChecked GUICtrlMenu_GetItemBmpUnchecked GUICtrlMenu_GetItemChecked GUICtrlMenu_GetItemCount GUICtrlMenu_GetItemData GUICtrlMenu_GetItemDefault GUICtrlMenu_GetItemDisabled GUICtrlMenu_GetItemEnabled GUICtrlMenu_GetItemGrayed GUICtrlMenu_GetItemHighlighted GUICtrlMenu_GetItemID GUICtrlMenu_GetItemInfo GUICtrlMenu_GetItemRect GUICtrlMenu_GetItemRectEx GUICtrlMenu_GetItemState GUICtrlMenu_GetItemStateEx GUICtrlMenu_GetItemSubMenu GUICtrlMenu_GetItemText GUICtrlMenu_GetItemType GUICtrlMenu_GetMenu GUICtrlMenu_GetMenuBackground GUICtrlMenu_GetMenuBarInfo GUICtrlMenu_GetMenuContextHelpID GUICtrlMenu_GetMenuData GUICtrlMenu_GetMenuDefaultItem GUICtrlMenu_GetMenuHeight GUICtrlMenu_GetMenuInfo GUICtrlMenu_GetMenuStyle GUICtrlMenu_GetSystemMenu GUICtrlMenu_InsertMenuItem GUICtrlMenu_InsertMenuItemEx GUICtrlMenu_IsMenu GUICtrlMenu_LoadMenu GUICtrlMenu_MapAccelerator GUICtrlMenu_MenuItemFromPoint GUICtrlMenu_RemoveMenu GUICtrlMenu_SetItemBitmaps GUICtrlMenu_SetItemBmp GUICtrlMenu_SetItemBmpChecked GUICtrlMenu_SetItemBmpUnchecked GUICtrlMenu_SetItemChecked GUICtrlMenu_SetItemData GUICtrlMenu_SetItemDefault GUICtrlMenu_SetItemDisabled GUICtrlMenu_SetItemEnabled GUICtrlMenu_SetItemGrayed GUICtrlMenu_SetItemHighlighted GUICtrlMenu_SetItemID GUICtrlMenu_SetItemInfo GUICtrlMenu_SetItemState GUICtrlMenu_SetItemSubMenu GUICtrlMenu_SetItemText GUICtrlMenu_SetItemType GUICtrlMenu_SetMenu GUICtrlMenu_SetMenuBackground GUICtrlMenu_SetMenuContextHelpID GUICtrlMenu_SetMenuData GUICtrlMenu_SetMenuDefaultItem GUICtrlMenu_SetMenuHeight GUICtrlMenu_SetMenuInfo GUICtrlMenu_SetMenuStyle GUICtrlMenu_TrackPopupMenu GUICtrlMonthCal_Create GUICtrlMonthCal_Destroy GUICtrlMonthCal_GetCalendarBorder GUICtrlMonthCal_GetCalendarCount GUICtrlMonthCal_GetColor GUICtrlMonthCal_GetColorArray GUICtrlMonthCal_GetCurSel GUICtrlMonthCal_GetCurSelStr GUICtrlMonthCal_GetFirstDOW GUICtrlMonthCal_GetFirstDOWStr GUICtrlMonthCal_GetMaxSelCount GUICtrlMonthCal_GetMaxTodayWidth GUICtrlMonthCal_GetMinReqHeight GUICtrlMonthCal_GetMinReqRect GUICtrlMonthCal_GetMinReqRectArray GUICtrlMonthCal_GetMinReqWidth GUICtrlMonthCal_GetMonthDelta GUICtrlMonthCal_GetMonthRange GUICtrlMonthCal_GetMonthRangeMax GUICtrlMonthCal_GetMonthRangeMaxStr GUICtrlMonthCal_GetMonthRangeMin GUICtrlMonthCal_GetMonthRangeMinStr GUICtrlMonthCal_GetMonthRangeSpan GUICtrlMonthCal_GetRange GUICtrlMonthCal_GetRangeMax GUICtrlMonthCal_GetRangeMaxStr GUICtrlMonthCal_GetRangeMin GUICtrlMonthCal_GetRangeMinStr GUICtrlMonthCal_GetSelRange GUICtrlMonthCal_GetSelRangeMax GUICtrlMonthCal_GetSelRangeMaxStr GUICtrlMonthCal_GetSelRangeMin GUICtrlMonthCal_GetSelRangeMinStr GUICtrlMonthCal_GetToday GUICtrlMonthCal_GetTodayStr GUICtrlMonthCal_GetUnicodeFormat GUICtrlMonthCal_HitTest GUICtrlMonthCal_SetCalendarBorder GUICtrlMonthCal_SetColor GUICtrlMonthCal_SetCurSel GUICtrlMonthCal_SetDayState GUICtrlMonthCal_SetFirstDOW GUICtrlMonthCal_SetMaxSelCount GUICtrlMonthCal_SetMonthDelta GUICtrlMonthCal_SetRange GUICtrlMonthCal_SetSelRange GUICtrlMonthCal_SetToday GUICtrlMonthCal_SetUnicodeFormat GUICtrlRebar_AddBand GUICtrlRebar_AddToolBarBand GUICtrlRebar_BeginDrag GUICtrlRebar_Create GUICtrlRebar_DeleteBand GUICtrlRebar_Destroy GUICtrlRebar_DragMove GUICtrlRebar_EndDrag GUICtrlRebar_GetBandBackColor GUICtrlRebar_GetBandBorders GUICtrlRebar_GetBandBordersEx GUICtrlRebar_GetBandChildHandle GUICtrlRebar_GetBandChildSize GUICtrlRebar_GetBandCount GUICtrlRebar_GetBandForeColor GUICtrlRebar_GetBandHeaderSize GUICtrlRebar_GetBandID GUICtrlRebar_GetBandIdealSize GUICtrlRebar_GetBandLength GUICtrlRebar_GetBandLParam GUICtrlRebar_GetBandMargins GUICtrlRebar_GetBandMarginsEx GUICtrlRebar_GetBandRect GUICtrlRebar_GetBandRectEx GUICtrlRebar_GetBandStyle GUICtrlRebar_GetBandStyleBreak GUICtrlRebar_GetBandStyleChildEdge GUICtrlRebar_GetBandStyleFixedBMP GUICtrlRebar_GetBandStyleFixedSize GUICtrlRebar_GetBandStyleGripperAlways GUICtrlRebar_GetBandStyleHidden GUICtrlRebar_GetBandStyleHideTitle GUICtrlRebar_GetBandStyleNoGripper GUICtrlRebar_GetBandStyleTopAlign GUICtrlRebar_GetBandStyleUseChevron GUICtrlRebar_GetBandStyleVariableHeight GUICtrlRebar_GetBandText GUICtrlRebar_GetBarHeight GUICtrlRebar_GetBarInfo GUICtrlRebar_GetBKColor GUICtrlRebar_GetColorScheme GUICtrlRebar_GetRowCount GUICtrlRebar_GetRowHeight GUICtrlRebar_GetTextColor GUICtrlRebar_GetToolTips GUICtrlRebar_GetUnicodeFormat GUICtrlRebar_HitTest GUICtrlRebar_IDToIndex GUICtrlRebar_MaximizeBand GUICtrlRebar_MinimizeBand GUICtrlRebar_MoveBand GUICtrlRebar_SetBandBackColor GUICtrlRebar_SetBandForeColor GUICtrlRebar_SetBandHeaderSize GUICtrlRebar_SetBandID GUICtrlRebar_SetBandIdealSize GUICtrlRebar_SetBandLength GUICtrlRebar_SetBandLParam GUICtrlRebar_SetBandStyle GUICtrlRebar_SetBandStyleBreak GUICtrlRebar_SetBandStyleChildEdge GUICtrlRebar_SetBandStyleFixedBMP GUICtrlRebar_SetBandStyleFixedSize GUICtrlRebar_SetBandStyleGripperAlways GUICtrlRebar_SetBandStyleHidden GUICtrlRebar_SetBandStyleHideTitle GUICtrlRebar_SetBandStyleNoGripper GUICtrlRebar_SetBandStyleTopAlign GUICtrlRebar_SetBandStyleUseChevron GUICtrlRebar_SetBandStyleVariableHeight GUICtrlRebar_SetBandText GUICtrlRebar_SetBarInfo GUICtrlRebar_SetBKColor GUICtrlRebar_SetColorScheme GUICtrlRebar_SetTextColor GUICtrlRebar_SetToolTips GUICtrlRebar_SetUnicodeFormat GUICtrlRebar_ShowBand GUICtrlRichEdit_AppendText GUICtrlRichEdit_AutoDetectURL GUICtrlRichEdit_CanPaste GUICtrlRichEdit_CanPasteSpecial GUICtrlRichEdit_CanRedo GUICtrlRichEdit_CanUndo GUICtrlRichEdit_ChangeFontSize GUICtrlRichEdit_Copy GUICtrlRichEdit_Create GUICtrlRichEdit_Cut GUICtrlRichEdit_Deselect GUICtrlRichEdit_Destroy GUICtrlRichEdit_EmptyUndoBuffer GUICtrlRichEdit_FindText GUICtrlRichEdit_FindTextInRange GUICtrlRichEdit_GetBkColor GUICtrlRichEdit_GetCharAttributes GUICtrlRichEdit_GetCharBkColor GUICtrlRichEdit_GetCharColor GUICtrlRichEdit_GetCharPosFromXY GUICtrlRichEdit_GetCharPosOfNextWord GUICtrlRichEdit_GetCharPosOfPreviousWord GUICtrlRichEdit_GetCharWordBreakInfo GUICtrlRichEdit_GetFirstCharPosOnLine GUICtrlRichEdit_GetFont GUICtrlRichEdit_GetLineCount GUICtrlRichEdit_GetLineLength GUICtrlRichEdit_GetLineNumberFromCharPos GUICtrlRichEdit_GetNextRedo GUICtrlRichEdit_GetNextUndo GUICtrlRichEdit_GetNumberOfFirstVisibleLine GUICtrlRichEdit_GetParaAlignment GUICtrlRichEdit_GetParaAttributes GUICtrlRichEdit_GetParaBorder GUICtrlRichEdit_GetParaIndents GUICtrlRichEdit_GetParaNumbering GUICtrlRichEdit_GetParaShading GUICtrlRichEdit_GetParaSpacing GUICtrlRichEdit_GetParaTabStops GUICtrlRichEdit_GetPasswordChar GUICtrlRichEdit_GetRECT GUICtrlRichEdit_GetScrollPos GUICtrlRichEdit_GetSel GUICtrlRichEdit_GetSelAA GUICtrlRichEdit_GetSelText GUICtrlRichEdit_GetSpaceUnit GUICtrlRichEdit_GetText GUICtrlRichEdit_GetTextInLine GUICtrlRichEdit_GetTextInRange GUICtrlRichEdit_GetTextLength GUICtrlRichEdit_GetVersion GUICtrlRichEdit_GetXYFromCharPos GUICtrlRichEdit_GetZoom GUICtrlRichEdit_GotoCharPos GUICtrlRichEdit_HideSelection GUICtrlRichEdit_InsertText GUICtrlRichEdit_IsModified GUICtrlRichEdit_IsTextSelected GUICtrlRichEdit_Paste GUICtrlRichEdit_PasteSpecial GUICtrlRichEdit_PauseRedraw GUICtrlRichEdit_Redo GUICtrlRichEdit_ReplaceText GUICtrlRichEdit_ResumeRedraw GUICtrlRichEdit_ScrollLineOrPage GUICtrlRichEdit_ScrollLines GUICtrlRichEdit_ScrollToCaret GUICtrlRichEdit_SetBkColor GUICtrlRichEdit_SetCharAttributes GUICtrlRichEdit_SetCharBkColor GUICtrlRichEdit_SetCharColor GUICtrlRichEdit_SetEventMask GUICtrlRichEdit_SetFont GUICtrlRichEdit_SetLimitOnText GUICtrlRichEdit_SetModified GUICtrlRichEdit_SetParaAlignment GUICtrlRichEdit_SetParaAttributes GUICtrlRichEdit_SetParaBorder GUICtrlRichEdit_SetParaIndents GUICtrlRichEdit_SetParaNumbering GUICtrlRichEdit_SetParaShading GUICtrlRichEdit_SetParaSpacing GUICtrlRichEdit_SetParaTabStops GUICtrlRichEdit_SetPasswordChar GUICtrlRichEdit_SetReadOnly GUICtrlRichEdit_SetRECT GUICtrlRichEdit_SetScrollPos GUICtrlRichEdit_SetSel GUICtrlRichEdit_SetSpaceUnit GUICtrlRichEdit_SetTabStops GUICtrlRichEdit_SetText GUICtrlRichEdit_SetUndoLimit GUICtrlRichEdit_SetZoom GUICtrlRichEdit_StreamFromFile GUICtrlRichEdit_StreamFromVar GUICtrlRichEdit_StreamToFile GUICtrlRichEdit_StreamToVar GUICtrlRichEdit_Undo GUICtrlSlider_ClearSel GUICtrlSlider_ClearTics GUICtrlSlider_Create GUICtrlSlider_Destroy GUICtrlSlider_GetBuddy GUICtrlSlider_GetChannelRect GUICtrlSlider_GetChannelRectEx GUICtrlSlider_GetLineSize GUICtrlSlider_GetLogicalTics GUICtrlSlider_GetNumTics GUICtrlSlider_GetPageSize GUICtrlSlider_GetPos GUICtrlSlider_GetRange GUICtrlSlider_GetRangeMax GUICtrlSlider_GetRangeMin GUICtrlSlider_GetSel GUICtrlSlider_GetSelEnd GUICtrlSlider_GetSelStart GUICtrlSlider_GetThumbLength GUICtrlSlider_GetThumbRect GUICtrlSlider_GetThumbRectEx GUICtrlSlider_GetTic GUICtrlSlider_GetTicPos GUICtrlSlider_GetToolTips GUICtrlSlider_GetUnicodeFormat GUICtrlSlider_SetBuddy GUICtrlSlider_SetLineSize GUICtrlSlider_SetPageSize GUICtrlSlider_SetPos GUICtrlSlider_SetRange GUICtrlSlider_SetRangeMax GUICtrlSlider_SetRangeMin GUICtrlSlider_SetSel GUICtrlSlider_SetSelEnd GUICtrlSlider_SetSelStart GUICtrlSlider_SetThumbLength GUICtrlSlider_SetTic GUICtrlSlider_SetTicFreq GUICtrlSlider_SetTipSide GUICtrlSlider_SetToolTips GUICtrlSlider_SetUnicodeFormat GUICtrlStatusBar_Create GUICtrlStatusBar_Destroy GUICtrlStatusBar_EmbedControl GUICtrlStatusBar_GetBorders GUICtrlStatusBar_GetBordersHorz GUICtrlStatusBar_GetBordersRect GUICtrlStatusBar_GetBordersVert GUICtrlStatusBar_GetCount GUICtrlStatusBar_GetHeight GUICtrlStatusBar_GetIcon GUICtrlStatusBar_GetParts GUICtrlStatusBar_GetRect GUICtrlStatusBar_GetRectEx GUICtrlStatusBar_GetText GUICtrlStatusBar_GetTextFlags GUICtrlStatusBar_GetTextLength GUICtrlStatusBar_GetTextLengthEx GUICtrlStatusBar_GetTipText GUICtrlStatusBar_GetUnicodeFormat GUICtrlStatusBar_GetWidth GUICtrlStatusBar_IsSimple GUICtrlStatusBar_Resize GUICtrlStatusBar_SetBkColor GUICtrlStatusBar_SetIcon GUICtrlStatusBar_SetMinHeight GUICtrlStatusBar_SetParts GUICtrlStatusBar_SetSimple GUICtrlStatusBar_SetText GUICtrlStatusBar_SetTipText GUICtrlStatusBar_SetUnicodeFormat GUICtrlStatusBar_ShowHide GUICtrlTab_ActivateTab GUICtrlTab_ClickTab GUICtrlTab_Create GUICtrlTab_DeleteAllItems GUICtrlTab_DeleteItem GUICtrlTab_DeselectAll GUICtrlTab_Destroy GUICtrlTab_FindTab GUICtrlTab_GetCurFocus GUICtrlTab_GetCurSel GUICtrlTab_GetDisplayRect GUICtrlTab_GetDisplayRectEx GUICtrlTab_GetExtendedStyle GUICtrlTab_GetImageList GUICtrlTab_GetItem GUICtrlTab_GetItemCount GUICtrlTab_GetItemImage GUICtrlTab_GetItemParam GUICtrlTab_GetItemRect GUICtrlTab_GetItemRectEx GUICtrlTab_GetItemState GUICtrlTab_GetItemText GUICtrlTab_GetRowCount GUICtrlTab_GetToolTips GUICtrlTab_GetUnicodeFormat GUICtrlTab_HighlightItem GUICtrlTab_HitTest GUICtrlTab_InsertItem GUICtrlTab_RemoveImage GUICtrlTab_SetCurFocus GUICtrlTab_SetCurSel GUICtrlTab_SetExtendedStyle GUICtrlTab_SetImageList GUICtrlTab_SetItem GUICtrlTab_SetItemImage GUICtrlTab_SetItemParam GUICtrlTab_SetItemSize GUICtrlTab_SetItemState GUICtrlTab_SetItemText GUICtrlTab_SetMinTabWidth GUICtrlTab_SetPadding GUICtrlTab_SetToolTips GUICtrlTab_SetUnicodeFormat GUICtrlToolbar_AddBitmap GUICtrlToolbar_AddButton GUICtrlToolbar_AddButtonSep GUICtrlToolbar_AddString GUICtrlToolbar_ButtonCount GUICtrlToolbar_CheckButton GUICtrlToolbar_ClickAccel GUICtrlToolbar_ClickButton GUICtrlToolbar_ClickIndex GUICtrlToolbar_CommandToIndex GUICtrlToolbar_Create GUICtrlToolbar_Customize GUICtrlToolbar_DeleteButton GUICtrlToolbar_Destroy GUICtrlToolbar_EnableButton GUICtrlToolbar_FindToolbar GUICtrlToolbar_GetAnchorHighlight GUICtrlToolbar_GetBitmapFlags GUICtrlToolbar_GetButtonBitmap GUICtrlToolbar_GetButtonInfo GUICtrlToolbar_GetButtonInfoEx GUICtrlToolbar_GetButtonParam GUICtrlToolbar_GetButtonRect GUICtrlToolbar_GetButtonRectEx GUICtrlToolbar_GetButtonSize GUICtrlToolbar_GetButtonState GUICtrlToolbar_GetButtonStyle GUICtrlToolbar_GetButtonText GUICtrlToolbar_GetColorScheme GUICtrlToolbar_GetDisabledImageList GUICtrlToolbar_GetExtendedStyle GUICtrlToolbar_GetHotImageList GUICtrlToolbar_GetHotItem GUICtrlToolbar_GetImageList GUICtrlToolbar_GetInsertMark GUICtrlToolbar_GetInsertMarkColor GUICtrlToolbar_GetMaxSize GUICtrlToolbar_GetMetrics GUICtrlToolbar_GetPadding GUICtrlToolbar_GetRows GUICtrlToolbar_GetString GUICtrlToolbar_GetStyle GUICtrlToolbar_GetStyleAltDrag GUICtrlToolbar_GetStyleCustomErase GUICtrlToolbar_GetStyleFlat GUICtrlToolbar_GetStyleList GUICtrlToolbar_GetStyleRegisterDrop GUICtrlToolbar_GetStyleToolTips GUICtrlToolbar_GetStyleTransparent GUICtrlToolbar_GetStyleWrapable GUICtrlToolbar_GetTextRows GUICtrlToolbar_GetToolTips GUICtrlToolbar_GetUnicodeFormat GUICtrlToolbar_HideButton GUICtrlToolbar_HighlightButton GUICtrlToolbar_HitTest GUICtrlToolbar_IndexToCommand GUICtrlToolbar_InsertButton GUICtrlToolbar_InsertMarkHitTest GUICtrlToolbar_IsButtonChecked GUICtrlToolbar_IsButtonEnabled GUICtrlToolbar_IsButtonHidden GUICtrlToolbar_IsButtonHighlighted GUICtrlToolbar_IsButtonIndeterminate GUICtrlToolbar_IsButtonPressed GUICtrlToolbar_LoadBitmap GUICtrlToolbar_LoadImages GUICtrlToolbar_MapAccelerator GUICtrlToolbar_MoveButton GUICtrlToolbar_PressButton GUICtrlToolbar_SetAnchorHighlight GUICtrlToolbar_SetBitmapSize GUICtrlToolbar_SetButtonBitMap GUICtrlToolbar_SetButtonInfo GUICtrlToolbar_SetButtonInfoEx GUICtrlToolbar_SetButtonParam GUICtrlToolbar_SetButtonSize GUICtrlToolbar_SetButtonState GUICtrlToolbar_SetButtonStyle GUICtrlToolbar_SetButtonText GUICtrlToolbar_SetButtonWidth GUICtrlToolbar_SetCmdID GUICtrlToolbar_SetColorScheme GUICtrlToolbar_SetDisabledImageList GUICtrlToolbar_SetDrawTextFlags GUICtrlToolbar_SetExtendedStyle GUICtrlToolbar_SetHotImageList GUICtrlToolbar_SetHotItem GUICtrlToolbar_SetImageList GUICtrlToolbar_SetIndent GUICtrlToolbar_SetIndeterminate GUICtrlToolbar_SetInsertMark GUICtrlToolbar_SetInsertMarkColor GUICtrlToolbar_SetMaxTextRows GUICtrlToolbar_SetMetrics GUICtrlToolbar_SetPadding GUICtrlToolbar_SetParent GUICtrlToolbar_SetRows GUICtrlToolbar_SetStyle GUICtrlToolbar_SetStyleAltDrag GUICtrlToolbar_SetStyleCustomErase GUICtrlToolbar_SetStyleFlat GUICtrlToolbar_SetStyleList GUICtrlToolbar_SetStyleRegisterDrop GUICtrlToolbar_SetStyleToolTips GUICtrlToolbar_SetStyleTransparent GUICtrlToolbar_SetStyleWrapable GUICtrlToolbar_SetToolTips GUICtrlToolbar_SetUnicodeFormat GUICtrlToolbar_SetWindowTheme GUICtrlTreeView_Add GUICtrlTreeView_AddChild GUICtrlTreeView_AddChildFirst GUICtrlTreeView_AddFirst GUICtrlTreeView_BeginUpdate GUICtrlTreeView_ClickItem GUICtrlTreeView_Create GUICtrlTreeView_CreateDragImage GUICtrlTreeView_CreateSolidBitMap GUICtrlTreeView_Delete GUICtrlTreeView_DeleteAll GUICtrlTreeView_DeleteChildren GUICtrlTreeView_Destroy GUICtrlTreeView_DisplayRect GUICtrlTreeView_DisplayRectEx GUICtrlTreeView_EditText GUICtrlTreeView_EndEdit GUICtrlTreeView_EndUpdate GUICtrlTreeView_EnsureVisible GUICtrlTreeView_Expand GUICtrlTreeView_ExpandedOnce GUICtrlTreeView_FindItem GUICtrlTreeView_FindItemEx GUICtrlTreeView_GetBkColor GUICtrlTreeView_GetBold GUICtrlTreeView_GetChecked GUICtrlTreeView_GetChildCount GUICtrlTreeView_GetChildren GUICtrlTreeView_GetCount GUICtrlTreeView_GetCut GUICtrlTreeView_GetDropTarget GUICtrlTreeView_GetEditControl GUICtrlTreeView_GetExpanded GUICtrlTreeView_GetFirstChild GUICtrlTreeView_GetFirstItem GUICtrlTreeView_GetFirstVisible GUICtrlTreeView_GetFocused GUICtrlTreeView_GetHeight GUICtrlTreeView_GetImageIndex GUICtrlTreeView_GetImageListIconHandle GUICtrlTreeView_GetIndent GUICtrlTreeView_GetInsertMarkColor GUICtrlTreeView_GetISearchString GUICtrlTreeView_GetItemByIndex GUICtrlTreeView_GetItemHandle GUICtrlTreeView_GetItemParam GUICtrlTreeView_GetLastChild GUICtrlTreeView_GetLineColor GUICtrlTreeView_GetNext GUICtrlTreeView_GetNextChild GUICtrlTreeView_GetNextSibling GUICtrlTreeView_GetNextVisible GUICtrlTreeView_GetNormalImageList GUICtrlTreeView_GetParentHandle GUICtrlTreeView_GetParentParam GUICtrlTreeView_GetPrev GUICtrlTreeView_GetPrevChild GUICtrlTreeView_GetPrevSibling GUICtrlTreeView_GetPrevVisible GUICtrlTreeView_GetScrollTime GUICtrlTreeView_GetSelected GUICtrlTreeView_GetSelectedImageIndex GUICtrlTreeView_GetSelection GUICtrlTreeView_GetSiblingCount GUICtrlTreeView_GetState GUICtrlTreeView_GetStateImageIndex GUICtrlTreeView_GetStateImageList GUICtrlTreeView_GetText GUICtrlTreeView_GetTextColor GUICtrlTreeView_GetToolTips GUICtrlTreeView_GetTree GUICtrlTreeView_GetUnicodeFormat GUICtrlTreeView_GetVisible GUICtrlTreeView_GetVisibleCount GUICtrlTreeView_HitTest GUICtrlTreeView_HitTestEx GUICtrlTreeView_HitTestItem GUICtrlTreeView_Index GUICtrlTreeView_InsertItem GUICtrlTreeView_IsFirstItem GUICtrlTreeView_IsParent GUICtrlTreeView_Level GUICtrlTreeView_SelectItem GUICtrlTreeView_SelectItemByIndex GUICtrlTreeView_SetBkColor GUICtrlTreeView_SetBold GUICtrlTreeView_SetChecked GUICtrlTreeView_SetCheckedByIndex GUICtrlTreeView_SetChildren GUICtrlTreeView_SetCut GUICtrlTreeView_SetDropTarget GUICtrlTreeView_SetFocused GUICtrlTreeView_SetHeight GUICtrlTreeView_SetIcon GUICtrlTreeView_SetImageIndex GUICtrlTreeView_SetIndent GUICtrlTreeView_SetInsertMark GUICtrlTreeView_SetInsertMarkColor GUICtrlTreeView_SetItemHeight GUICtrlTreeView_SetItemParam GUICtrlTreeView_SetLineColor GUICtrlTreeView_SetNormalImageList GUICtrlTreeView_SetScrollTime GUICtrlTreeView_SetSelected GUICtrlTreeView_SetSelectedImageIndex GUICtrlTreeView_SetState GUICtrlTreeView_SetStateImageIndex GUICtrlTreeView_SetStateImageList GUICtrlTreeView_SetText GUICtrlTreeView_SetTextColor GUICtrlTreeView_SetToolTips GUICtrlTreeView_SetUnicodeFormat GUICtrlTreeView_Sort GUIImageList_Add GUIImageList_AddBitmap GUIImageList_AddIcon GUIImageList_AddMasked GUIImageList_BeginDrag GUIImageList_Copy GUIImageList_Create GUIImageList_Destroy GUIImageList_DestroyIcon GUIImageList_DragEnter GUIImageList_DragLeave GUIImageList_DragMove GUIImageList_Draw GUIImageList_DrawEx GUIImageList_Duplicate GUIImageList_EndDrag GUIImageList_GetBkColor GUIImageList_GetIcon GUIImageList_GetIconHeight GUIImageList_GetIconSize GUIImageList_GetIconSizeEx GUIImageList_GetIconWidth GUIImageList_GetImageCount GUIImageList_GetImageInfoEx GUIImageList_Remove GUIImageList_ReplaceIcon GUIImageList_SetBkColor GUIImageList_SetIconSize GUIImageList_SetImageCount GUIImageList_Swap GUIScrollBars_EnableScrollBar GUIScrollBars_GetScrollBarInfoEx GUIScrollBars_GetScrollBarRect GUIScrollBars_GetScrollBarRGState GUIScrollBars_GetScrollBarXYLineButton GUIScrollBars_GetScrollBarXYThumbBottom GUIScrollBars_GetScrollBarXYThumbTop GUIScrollBars_GetScrollInfo GUIScrollBars_GetScrollInfoEx GUIScrollBars_GetScrollInfoMax GUIScrollBars_GetScrollInfoMin GUIScrollBars_GetScrollInfoPage GUIScrollBars_GetScrollInfoPos GUIScrollBars_GetScrollInfoTrackPos GUIScrollBars_GetScrollPos GUIScrollBars_GetScrollRange GUIScrollBars_Init GUIScrollBars_ScrollWindow GUIScrollBars_SetScrollInfo GUIScrollBars_SetScrollInfoMax GUIScrollBars_SetScrollInfoMin GUIScrollBars_SetScrollInfoPage GUIScrollBars_SetScrollInfoPos GUIScrollBars_SetScrollRange GUIScrollBars_ShowScrollBar GUIToolTip_Activate GUIToolTip_AddTool GUIToolTip_AdjustRect GUIToolTip_BitsToTTF GUIToolTip_Create GUIToolTip_Deactivate GUIToolTip_DelTool GUIToolTip_Destroy GUIToolTip_EnumTools GUIToolTip_GetBubbleHeight GUIToolTip_GetBubbleSize GUIToolTip_GetBubbleWidth GUIToolTip_GetCurrentTool GUIToolTip_GetDelayTime GUIToolTip_GetMargin GUIToolTip_GetMarginEx GUIToolTip_GetMaxTipWidth GUIToolTip_GetText GUIToolTip_GetTipBkColor GUIToolTip_GetTipTextColor GUIToolTip_GetTitleBitMap GUIToolTip_GetTitleText GUIToolTip_GetToolCount GUIToolTip_GetToolInfo GUIToolTip_HitTest GUIToolTip_NewToolRect GUIToolTip_Pop GUIToolTip_PopUp GUIToolTip_SetDelayTime GUIToolTip_SetMargin GUIToolTip_SetMaxTipWidth GUIToolTip_SetTipBkColor GUIToolTip_SetTipTextColor GUIToolTip_SetTitle GUIToolTip_SetToolInfo GUIToolTip_SetWindowTheme GUIToolTip_ToolExists GUIToolTip_ToolToArray GUIToolTip_TrackActivate GUIToolTip_TrackPosition GUIToolTip_Update GUIToolTip_UpdateTipText HexToString IEAction IEAttach IEBodyReadHTML IEBodyReadText IEBodyWriteHTML IECreate IECreateEmbedded IEDocGetObj IEDocInsertHTML IEDocInsertText IEDocReadHTML IEDocWriteHTML IEErrorNotify IEFormElementCheckBoxSelect IEFormElementGetCollection IEFormElementGetObjByName IEFormElementGetValue IEFormElementOptionSelect IEFormElementRadioSelect IEFormElementSetValue IEFormGetCollection IEFormGetObjByName IEFormImageClick IEFormReset IEFormSubmit IEFrameGetCollection IEFrameGetObjByName IEGetObjById IEGetObjByName IEHeadInsertEventScript IEImgClick IEImgGetCollection IEIsFrameSet IELinkClickByIndex IELinkClickByText IELinkGetCollection IELoadWait IELoadWaitTimeout IENavigate IEPropertyGet IEPropertySet IEQuit IETableGetCollection IETableWriteToArray IETagNameAllGetCollection IETagNameGetCollection IE_Example IE_Introduction IE_VersionInfo INetExplorerCapable INetGetSource INetMail INetSmtpMail IsPressed MathCheckDiv Max MemGlobalAlloc MemGlobalFree MemGlobalLock MemGlobalSize MemGlobalUnlock MemMoveMemory MemVirtualAlloc MemVirtualAllocEx MemVirtualFree MemVirtualFreeEx Min MouseTrap NamedPipes_CallNamedPipe NamedPipes_ConnectNamedPipe NamedPipes_CreateNamedPipe NamedPipes_CreatePipe NamedPipes_DisconnectNamedPipe NamedPipes_GetNamedPipeHandleState NamedPipes_GetNamedPipeInfo NamedPipes_PeekNamedPipe NamedPipes_SetNamedPipeHandleState NamedPipes_TransactNamedPipe NamedPipes_WaitNamedPipe Net_Share_ConnectionEnum Net_Share_FileClose Net_Share_FileEnum Net_Share_FileGetInfo Net_Share_PermStr Net_Share_ResourceStr Net_Share_SessionDel Net_Share_SessionEnum Net_Share_SessionGetInfo Net_Share_ShareAdd Net_Share_ShareCheck Net_Share_ShareDel Net_Share_ShareEnum Net_Share_ShareGetInfo Net_Share_ShareSetInfo Net_Share_StatisticsGetSvr Net_Share_StatisticsGetWrk Now NowCalc NowCalcDate NowDate NowTime PathFull PathGetRelative PathMake PathSplit ProcessGetName ProcessGetPriority Radian ReplaceStringInFile RunDos ScreenCapture_Capture ScreenCapture_CaptureWnd ScreenCapture_SaveImage ScreenCapture_SetBMPFormat ScreenCapture_SetJPGQuality ScreenCapture_SetTIFColorDepth ScreenCapture_SetTIFCompression Security__AdjustTokenPrivileges Security__CreateProcessWithToken Security__DuplicateTokenEx Security__GetAccountSid Security__GetLengthSid Security__GetTokenInformation Security__ImpersonateSelf Security__IsValidSid Security__LookupAccountName Security__LookupAccountSid Security__LookupPrivilegeValue Security__OpenProcessToken Security__OpenThreadToken Security__OpenThreadTokenEx Security__SetPrivilege Security__SetTokenInformation Security__SidToStringSid Security__SidTypeStr Security__StringSidToSid SendMessage SendMessageA SetDate SetTime Singleton SoundClose SoundLength SoundOpen SoundPause SoundPlay SoundPos SoundResume SoundSeek SoundStatus SoundStop SQLite_Changes SQLite_Close SQLite_Display2DResult SQLite_Encode SQLite_ErrCode SQLite_ErrMsg SQLite_Escape SQLite_Exec SQLite_FastEncode SQLite_FastEscape SQLite_FetchData SQLite_FetchNames SQLite_GetTable SQLite_GetTable2d SQLite_LastInsertRowID SQLite_LibVersion SQLite_Open SQLite_Query SQLite_QueryFinalize SQLite_QueryReset SQLite_QuerySingleRow SQLite_SafeMode SQLite_SetTimeout SQLite_Shutdown SQLite_SQLiteExe SQLite_Startup SQLite_TotalChanges StringBetween StringExplode StringInsert StringProper StringRepeat StringTitleCase StringToHex TCPIpToName TempFile TicksToTime Timer_Diff Timer_GetIdleTime Timer_GetTimerID Timer_Init Timer_KillAllTimers Timer_KillTimer Timer_SetTimer TimeToTicks VersionCompare viClose viExecCommand viFindGpib viGpibBusReset viGTL viInteractiveControl viOpen viSetAttribute viSetTimeout WeekNumberISO WinAPI_AbortPath WinAPI_ActivateKeyboardLayout WinAPI_AddClipboardFormatListener WinAPI_AddFontMemResourceEx WinAPI_AddFontResourceEx WinAPI_AddIconOverlay WinAPI_AddIconTransparency WinAPI_AddMRUString WinAPI_AdjustBitmap WinAPI_AdjustTokenPrivileges WinAPI_AdjustWindowRectEx WinAPI_AlphaBlend WinAPI_AngleArc WinAPI_AnimateWindow WinAPI_Arc WinAPI_ArcTo WinAPI_ArrayToStruct WinAPI_AssignProcessToJobObject WinAPI_AssocGetPerceivedType WinAPI_AssocQueryString WinAPI_AttachConsole WinAPI_AttachThreadInput WinAPI_BackupRead WinAPI_BackupReadAbort WinAPI_BackupSeek WinAPI_BackupWrite WinAPI_BackupWriteAbort WinAPI_Beep WinAPI_BeginBufferedPaint WinAPI_BeginDeferWindowPos WinAPI_BeginPaint WinAPI_BeginPath WinAPI_BeginUpdateResource WinAPI_BitBlt WinAPI_BringWindowToTop WinAPI_BroadcastSystemMessage WinAPI_BrowseForFolderDlg WinAPI_BufferedPaintClear WinAPI_BufferedPaintInit WinAPI_BufferedPaintSetAlpha WinAPI_BufferedPaintUnInit WinAPI_CallNextHookEx WinAPI_CallWindowProc WinAPI_CallWindowProcW WinAPI_CascadeWindows WinAPI_ChangeWindowMessageFilterEx WinAPI_CharToOem WinAPI_ChildWindowFromPointEx WinAPI_ClientToScreen WinAPI_ClipCursor WinAPI_CloseDesktop WinAPI_CloseEnhMetaFile WinAPI_CloseFigure WinAPI_CloseHandle WinAPI_CloseThemeData WinAPI_CloseWindow WinAPI_CloseWindowStation WinAPI_CLSIDFromProgID WinAPI_CoInitialize WinAPI_ColorAdjustLuma WinAPI_ColorHLSToRGB WinAPI_ColorRGBToHLS WinAPI_CombineRgn WinAPI_CombineTransform WinAPI_CommandLineToArgv WinAPI_CommDlgExtendedError WinAPI_CommDlgExtendedErrorEx WinAPI_CompareString WinAPI_CompressBitmapBits WinAPI_CompressBuffer WinAPI_ComputeCrc32 WinAPI_ConfirmCredentials WinAPI_CopyBitmap WinAPI_CopyCursor WinAPI_CopyEnhMetaFile WinAPI_CopyFileEx WinAPI_CopyIcon WinAPI_CopyImage WinAPI_CopyRect WinAPI_CopyStruct WinAPI_CoTaskMemAlloc WinAPI_CoTaskMemFree WinAPI_CoTaskMemRealloc WinAPI_CoUninitialize WinAPI_Create32BitHBITMAP WinAPI_Create32BitHICON WinAPI_CreateANDBitmap WinAPI_CreateBitmap WinAPI_CreateBitmapIndirect WinAPI_CreateBrushIndirect WinAPI_CreateBuffer WinAPI_CreateBufferFromStruct WinAPI_CreateCaret WinAPI_CreateColorAdjustment WinAPI_CreateCompatibleBitmap WinAPI_CreateCompatibleBitmapEx WinAPI_CreateCompatibleDC WinAPI_CreateDesktop WinAPI_CreateDIB WinAPI_CreateDIBColorTable WinAPI_CreateDIBitmap WinAPI_CreateDIBSection WinAPI_CreateDirectory WinAPI_CreateDirectoryEx WinAPI_CreateEllipticRgn WinAPI_CreateEmptyIcon WinAPI_CreateEnhMetaFile WinAPI_CreateEvent WinAPI_CreateFile WinAPI_CreateFileEx WinAPI_CreateFileMapping WinAPI_CreateFont WinAPI_CreateFontEx WinAPI_CreateFontIndirect WinAPI_CreateGUID WinAPI_CreateHardLink WinAPI_CreateIcon WinAPI_CreateIconFromResourceEx WinAPI_CreateIconIndirect WinAPI_CreateJobObject WinAPI_CreateMargins WinAPI_CreateMRUList WinAPI_CreateMutex WinAPI_CreateNullRgn WinAPI_CreateNumberFormatInfo WinAPI_CreateObjectID WinAPI_CreatePen WinAPI_CreatePoint WinAPI_CreatePolygonRgn WinAPI_CreateProcess WinAPI_CreateProcessWithToken WinAPI_CreateRect WinAPI_CreateRectEx WinAPI_CreateRectRgn WinAPI_CreateRectRgnIndirect WinAPI_CreateRoundRectRgn WinAPI_CreateSemaphore WinAPI_CreateSize WinAPI_CreateSolidBitmap WinAPI_CreateSolidBrush WinAPI_CreateStreamOnHGlobal WinAPI_CreateString WinAPI_CreateSymbolicLink WinAPI_CreateTransform WinAPI_CreateWindowEx WinAPI_CreateWindowStation WinAPI_DecompressBuffer WinAPI_DecryptFile WinAPI_DeferWindowPos WinAPI_DefineDosDevice WinAPI_DefRawInputProc WinAPI_DefSubclassProc WinAPI_DefWindowProc WinAPI_DefWindowProcW WinAPI_DeleteDC WinAPI_DeleteEnhMetaFile WinAPI_DeleteFile WinAPI_DeleteObject WinAPI_DeleteObjectID WinAPI_DeleteVolumeMountPoint WinAPI_DeregisterShellHookWindow WinAPI_DestroyCaret WinAPI_DestroyCursor WinAPI_DestroyIcon WinAPI_DestroyWindow WinAPI_DeviceIoControl WinAPI_DisplayStruct WinAPI_DllGetVersion WinAPI_DllInstall WinAPI_DllUninstall WinAPI_DPtoLP WinAPI_DragAcceptFiles WinAPI_DragFinish WinAPI_DragQueryFileEx WinAPI_DragQueryPoint WinAPI_DrawAnimatedRects WinAPI_DrawBitmap WinAPI_DrawEdge WinAPI_DrawFocusRect WinAPI_DrawFrameControl WinAPI_DrawIcon WinAPI_DrawIconEx WinAPI_DrawLine WinAPI_DrawShadowText WinAPI_DrawText WinAPI_DrawThemeBackground WinAPI_DrawThemeEdge WinAPI_DrawThemeIcon WinAPI_DrawThemeParentBackground WinAPI_DrawThemeText WinAPI_DrawThemeTextEx WinAPI_DuplicateEncryptionInfoFile WinAPI_DuplicateHandle WinAPI_DuplicateTokenEx WinAPI_DwmDefWindowProc WinAPI_DwmEnableBlurBehindWindow WinAPI_DwmEnableComposition WinAPI_DwmExtendFrameIntoClientArea WinAPI_DwmGetColorizationColor WinAPI_DwmGetColorizationParameters WinAPI_DwmGetWindowAttribute WinAPI_DwmInvalidateIconicBitmaps WinAPI_DwmIsCompositionEnabled WinAPI_DwmQueryThumbnailSourceSize WinAPI_DwmRegisterThumbnail WinAPI_DwmSetColorizationParameters WinAPI_DwmSetIconicLivePreviewBitmap WinAPI_DwmSetIconicThumbnail WinAPI_DwmSetWindowAttribute WinAPI_DwmUnregisterThumbnail WinAPI_DwmUpdateThumbnailProperties WinAPI_DWordToFloat WinAPI_DWordToInt WinAPI_EjectMedia WinAPI_Ellipse WinAPI_EmptyWorkingSet WinAPI_EnableWindow WinAPI_EncryptFile WinAPI_EncryptionDisable WinAPI_EndBufferedPaint WinAPI_EndDeferWindowPos WinAPI_EndPaint WinAPI_EndPath WinAPI_EndUpdateResource WinAPI_EnumChildProcess WinAPI_EnumChildWindows WinAPI_EnumDesktops WinAPI_EnumDesktopWindows WinAPI_EnumDeviceDrivers WinAPI_EnumDisplayDevices WinAPI_EnumDisplayMonitors WinAPI_EnumDisplaySettings WinAPI_EnumDllProc WinAPI_EnumFiles WinAPI_EnumFileStreams WinAPI_EnumFontFamilies WinAPI_EnumHardLinks WinAPI_EnumMRUList WinAPI_EnumPageFiles WinAPI_EnumProcessHandles WinAPI_EnumProcessModules WinAPI_EnumProcessThreads WinAPI_EnumProcessWindows WinAPI_EnumRawInputDevices WinAPI_EnumResourceLanguages WinAPI_EnumResourceNames WinAPI_EnumResourceTypes WinAPI_EnumSystemGeoID WinAPI_EnumSystemLocales WinAPI_EnumUILanguages WinAPI_EnumWindows WinAPI_EnumWindowsPopup WinAPI_EnumWindowStations WinAPI_EnumWindowsTop WinAPI_EqualMemory WinAPI_EqualRect WinAPI_EqualRgn WinAPI_ExcludeClipRect WinAPI_ExpandEnvironmentStrings WinAPI_ExtCreatePen WinAPI_ExtCreateRegion WinAPI_ExtFloodFill WinAPI_ExtractIcon WinAPI_ExtractIconEx WinAPI_ExtSelectClipRgn WinAPI_FatalAppExit WinAPI_FatalExit WinAPI_FileEncryptionStatus WinAPI_FileExists WinAPI_FileIconInit WinAPI_FileInUse WinAPI_FillMemory WinAPI_FillPath WinAPI_FillRect WinAPI_FillRgn WinAPI_FindClose WinAPI_FindCloseChangeNotification WinAPI_FindExecutable WinAPI_FindFirstChangeNotification WinAPI_FindFirstFile WinAPI_FindFirstFileName WinAPI_FindFirstStream WinAPI_FindNextChangeNotification WinAPI_FindNextFile WinAPI_FindNextFileName WinAPI_FindNextStream WinAPI_FindResource WinAPI_FindResourceEx WinAPI_FindTextDlg WinAPI_FindWindow WinAPI_FlashWindow WinAPI_FlashWindowEx WinAPI_FlattenPath WinAPI_FloatToDWord WinAPI_FloatToInt WinAPI_FlushFileBuffers WinAPI_FlushFRBuffer WinAPI_FlushViewOfFile WinAPI_FormatDriveDlg WinAPI_FormatMessage WinAPI_FrameRect WinAPI_FrameRgn WinAPI_FreeLibrary WinAPI_FreeMemory WinAPI_FreeMRUList WinAPI_FreeResource WinAPI_GdiComment WinAPI_GetActiveWindow WinAPI_GetAllUsersProfileDirectory WinAPI_GetAncestor WinAPI_GetApplicationRestartSettings WinAPI_GetArcDirection WinAPI_GetAsyncKeyState WinAPI_GetBinaryType WinAPI_GetBitmapBits WinAPI_GetBitmapDimension WinAPI_GetBitmapDimensionEx WinAPI_GetBkColor WinAPI_GetBkMode WinAPI_GetBoundsRect WinAPI_GetBrushOrg WinAPI_GetBufferedPaintBits WinAPI_GetBufferedPaintDC WinAPI_GetBufferedPaintTargetDC WinAPI_GetBufferedPaintTargetRect WinAPI_GetBValue WinAPI_GetCaretBlinkTime WinAPI_GetCaretPos WinAPI_GetCDType WinAPI_GetClassInfoEx WinAPI_GetClassLongEx WinAPI_GetClassName WinAPI_GetClientHeight WinAPI_GetClientRect WinAPI_GetClientWidth WinAPI_GetClipboardSequenceNumber WinAPI_GetClipBox WinAPI_GetClipCursor WinAPI_GetClipRgn WinAPI_GetColorAdjustment WinAPI_GetCompressedFileSize WinAPI_GetCompression WinAPI_GetConnectedDlg WinAPI_GetCurrentDirectory WinAPI_GetCurrentHwProfile WinAPI_GetCurrentObject WinAPI_GetCurrentPosition WinAPI_GetCurrentProcess WinAPI_GetCurrentProcessExplicitAppUserModelID WinAPI_GetCurrentProcessID WinAPI_GetCurrentThemeName WinAPI_GetCurrentThread WinAPI_GetCurrentThreadId WinAPI_GetCursor WinAPI_GetCursorInfo WinAPI_GetDateFormat WinAPI_GetDC WinAPI_GetDCEx WinAPI_GetDefaultPrinter WinAPI_GetDefaultUserProfileDirectory WinAPI_GetDesktopWindow WinAPI_GetDeviceCaps WinAPI_GetDeviceDriverBaseName WinAPI_GetDeviceDriverFileName WinAPI_GetDeviceGammaRamp WinAPI_GetDIBColorTable WinAPI_GetDIBits WinAPI_GetDiskFreeSpaceEx WinAPI_GetDlgCtrlID WinAPI_GetDlgItem WinAPI_GetDllDirectory WinAPI_GetDriveBusType WinAPI_GetDriveGeometryEx WinAPI_GetDriveNumber WinAPI_GetDriveType WinAPI_GetDurationFormat WinAPI_GetEffectiveClientRect WinAPI_GetEnhMetaFile WinAPI_GetEnhMetaFileBits WinAPI_GetEnhMetaFileDescription WinAPI_GetEnhMetaFileDimension WinAPI_GetEnhMetaFileHeader WinAPI_GetErrorMessage WinAPI_GetErrorMode WinAPI_GetExitCodeProcess WinAPI_GetExtended WinAPI_GetFileAttributes WinAPI_GetFileID WinAPI_GetFileInformationByHandle WinAPI_GetFileInformationByHandleEx WinAPI_GetFilePointerEx WinAPI_GetFileSizeEx WinAPI_GetFileSizeOnDisk WinAPI_GetFileTitle WinAPI_GetFileType WinAPI_GetFileVersionInfo WinAPI_GetFinalPathNameByHandle WinAPI_GetFinalPathNameByHandleEx WinAPI_GetFocus WinAPI_GetFontMemoryResourceInfo WinAPI_GetFontName WinAPI_GetFontResourceInfo WinAPI_GetForegroundWindow WinAPI_GetFRBuffer WinAPI_GetFullPathName WinAPI_GetGeoInfo WinAPI_GetGlyphOutline WinAPI_GetGraphicsMode WinAPI_GetGuiResources WinAPI_GetGUIThreadInfo WinAPI_GetGValue WinAPI_GetHandleInformation WinAPI_GetHGlobalFromStream WinAPI_GetIconDimension WinAPI_GetIconInfo WinAPI_GetIconInfoEx WinAPI_GetIdleTime WinAPI_GetKeyboardLayout WinAPI_GetKeyboardLayoutList WinAPI_GetKeyboardState WinAPI_GetKeyboardType WinAPI_GetKeyNameText WinAPI_GetKeyState WinAPI_GetLastActivePopup WinAPI_GetLastError WinAPI_GetLastErrorMessage WinAPI_GetLayeredWindowAttributes WinAPI_GetLocaleInfo WinAPI_GetLogicalDrives WinAPI_GetMapMode WinAPI_GetMemorySize WinAPI_GetMessageExtraInfo WinAPI_GetModuleFileNameEx WinAPI_GetModuleHandle WinAPI_GetModuleHandleEx WinAPI_GetModuleInformation WinAPI_GetMonitorInfo WinAPI_GetMousePos WinAPI_GetMousePosX WinAPI_GetMousePosY WinAPI_GetMUILanguage WinAPI_GetNumberFormat WinAPI_GetObject WinAPI_GetObjectID WinAPI_GetObjectInfoByHandle WinAPI_GetObjectNameByHandle WinAPI_GetObjectType WinAPI_GetOpenFileName WinAPI_GetOutlineTextMetrics WinAPI_GetOverlappedResult WinAPI_GetParent WinAPI_GetParentProcess WinAPI_GetPerformanceInfo WinAPI_GetPEType WinAPI_GetPhysicallyInstalledSystemMemory WinAPI_GetPixel WinAPI_GetPolyFillMode WinAPI_GetPosFromRect WinAPI_GetPriorityClass WinAPI_GetProcAddress WinAPI_GetProcessAffinityMask WinAPI_GetProcessCommandLine WinAPI_GetProcessFileName WinAPI_GetProcessHandleCount WinAPI_GetProcessID WinAPI_GetProcessIoCounters WinAPI_GetProcessMemoryInfo WinAPI_GetProcessName WinAPI_GetProcessShutdownParameters WinAPI_GetProcessTimes WinAPI_GetProcessUser WinAPI_GetProcessWindowStation WinAPI_GetProcessWorkingDirectory WinAPI_GetProfilesDirectory WinAPI_GetPwrCapabilities WinAPI_GetRawInputBuffer WinAPI_GetRawInputBufferLength WinAPI_GetRawInputData WinAPI_GetRawInputDeviceInfo WinAPI_GetRegionData WinAPI_GetRegisteredRawInputDevices WinAPI_GetRegKeyNameByHandle WinAPI_GetRgnBox WinAPI_GetROP2 WinAPI_GetRValue WinAPI_GetSaveFileName WinAPI_GetShellWindow WinAPI_GetStartupInfo WinAPI_GetStdHandle WinAPI_GetStockObject WinAPI_GetStretchBltMode WinAPI_GetString WinAPI_GetSysColor WinAPI_GetSysColorBrush WinAPI_GetSystemDefaultLangID WinAPI_GetSystemDefaultLCID WinAPI_GetSystemDefaultUILanguage WinAPI_GetSystemDEPPolicy WinAPI_GetSystemInfo WinAPI_GetSystemMetrics WinAPI_GetSystemPowerStatus WinAPI_GetSystemTimes WinAPI_GetSystemWow64Directory WinAPI_GetTabbedTextExtent WinAPI_GetTempFileName WinAPI_GetTextAlign WinAPI_GetTextCharacterExtra WinAPI_GetTextColor WinAPI_GetTextExtentPoint32 WinAPI_GetTextFace WinAPI_GetTextMetrics WinAPI_GetThemeAppProperties WinAPI_GetThemeBackgroundContentRect WinAPI_GetThemeBackgroundExtent WinAPI_GetThemeBackgroundRegion WinAPI_GetThemeBitmap WinAPI_GetThemeBool WinAPI_GetThemeColor WinAPI_GetThemeDocumentationProperty WinAPI_GetThemeEnumValue WinAPI_GetThemeFilename WinAPI_GetThemeFont WinAPI_GetThemeInt WinAPI_GetThemeMargins WinAPI_GetThemeMetric WinAPI_GetThemePartSize WinAPI_GetThemePosition WinAPI_GetThemePropertyOrigin WinAPI_GetThemeRect WinAPI_GetThemeString WinAPI_GetThemeSysBool WinAPI_GetThemeSysColor WinAPI_GetThemeSysColorBrush WinAPI_GetThemeSysFont WinAPI_GetThemeSysInt WinAPI_GetThemeSysSize WinAPI_GetThemeSysString WinAPI_GetThemeTextExtent WinAPI_GetThemeTextMetrics WinAPI_GetThemeTransitionDuration WinAPI_GetThreadDesktop WinAPI_GetThreadErrorMode WinAPI_GetThreadLocale WinAPI_GetThreadUILanguage WinAPI_GetTickCount WinAPI_GetTickCount64 WinAPI_GetTimeFormat WinAPI_GetTopWindow WinAPI_GetUDFColorMode WinAPI_GetUpdateRect WinAPI_GetUpdateRgn WinAPI_GetUserDefaultLangID WinAPI_GetUserDefaultLCID WinAPI_GetUserDefaultUILanguage WinAPI_GetUserGeoID WinAPI_GetUserObjectInformation WinAPI_GetVersion WinAPI_GetVersionEx WinAPI_GetVolumeInformation WinAPI_GetVolumeInformationByHandle WinAPI_GetVolumeNameForVolumeMountPoint WinAPI_GetWindow WinAPI_GetWindowDC WinAPI_GetWindowDisplayAffinity WinAPI_GetWindowExt WinAPI_GetWindowFileName WinAPI_GetWindowHeight WinAPI_GetWindowInfo WinAPI_GetWindowLong WinAPI_GetWindowOrg WinAPI_GetWindowPlacement WinAPI_GetWindowRect WinAPI_GetWindowRgn WinAPI_GetWindowRgnBox WinAPI_GetWindowSubclass WinAPI_GetWindowText WinAPI_GetWindowTheme WinAPI_GetWindowThreadProcessId WinAPI_GetWindowWidth WinAPI_GetWorkArea WinAPI_GetWorldTransform WinAPI_GetXYFromPoint WinAPI_GlobalMemoryStatus WinAPI_GradientFill WinAPI_GUIDFromString WinAPI_GUIDFromStringEx WinAPI_HashData WinAPI_HashString WinAPI_HiByte WinAPI_HideCaret WinAPI_HiDWord WinAPI_HiWord WinAPI_InflateRect WinAPI_InitMUILanguage WinAPI_InProcess WinAPI_IntersectClipRect WinAPI_IntersectRect WinAPI_IntToDWord WinAPI_IntToFloat WinAPI_InvalidateRect WinAPI_InvalidateRgn WinAPI_InvertANDBitmap WinAPI_InvertColor WinAPI_InvertRect WinAPI_InvertRgn WinAPI_IOCTL WinAPI_IsAlphaBitmap WinAPI_IsBadCodePtr WinAPI_IsBadReadPtr WinAPI_IsBadStringPtr WinAPI_IsBadWritePtr WinAPI_IsChild WinAPI_IsClassName WinAPI_IsDoorOpen WinAPI_IsElevated WinAPI_IsHungAppWindow WinAPI_IsIconic WinAPI_IsInternetConnected WinAPI_IsLoadKBLayout WinAPI_IsMemory WinAPI_IsNameInExpression WinAPI_IsNetworkAlive WinAPI_IsPathShared WinAPI_IsProcessInJob WinAPI_IsProcessorFeaturePresent WinAPI_IsRectEmpty WinAPI_IsThemeActive WinAPI_IsThemeBackgroundPartiallyTransparent WinAPI_IsThemePartDefined WinAPI_IsValidLocale WinAPI_IsWindow WinAPI_IsWindowEnabled WinAPI_IsWindowUnicode WinAPI_IsWindowVisible WinAPI_IsWow64Process WinAPI_IsWritable WinAPI_IsZoomed WinAPI_Keybd_Event WinAPI_KillTimer WinAPI_LineDDA WinAPI_LineTo WinAPI_LoadBitmap WinAPI_LoadCursor WinAPI_LoadCursorFromFile WinAPI_LoadIcon WinAPI_LoadIconMetric WinAPI_LoadIconWithScaleDown WinAPI_LoadImage WinAPI_LoadIndirectString WinAPI_LoadKeyboardLayout WinAPI_LoadLibrary WinAPI_LoadLibraryEx WinAPI_LoadMedia WinAPI_LoadResource WinAPI_LoadShell32Icon WinAPI_LoadString WinAPI_LoadStringEx WinAPI_LoByte WinAPI_LocalFree WinAPI_LockDevice WinAPI_LockFile WinAPI_LockResource WinAPI_LockWindowUpdate WinAPI_LockWorkStation WinAPI_LoDWord WinAPI_LongMid WinAPI_LookupIconIdFromDirectoryEx WinAPI_LoWord WinAPI_LPtoDP WinAPI_MAKELANGID WinAPI_MAKELCID WinAPI_MakeLong WinAPI_MakeQWord WinAPI_MakeWord WinAPI_MapViewOfFile WinAPI_MapVirtualKey WinAPI_MaskBlt WinAPI_MessageBeep WinAPI_MessageBoxCheck WinAPI_MessageBoxIndirect WinAPI_MirrorIcon WinAPI_ModifyWorldTransform WinAPI_MonitorFromPoint WinAPI_MonitorFromRect WinAPI_MonitorFromWindow WinAPI_Mouse_Event WinAPI_MoveFileEx WinAPI_MoveMemory WinAPI_MoveTo WinAPI_MoveToEx WinAPI_MoveWindow WinAPI_MsgBox WinAPI_MulDiv WinAPI_MultiByteToWideChar WinAPI_MultiByteToWideCharEx WinAPI_NtStatusToDosError WinAPI_OemToChar WinAPI_OffsetClipRgn WinAPI_OffsetPoints WinAPI_OffsetRect WinAPI_OffsetRgn WinAPI_OffsetWindowOrg WinAPI_OpenDesktop WinAPI_OpenFileById WinAPI_OpenFileDlg WinAPI_OpenFileMapping WinAPI_OpenIcon WinAPI_OpenInputDesktop WinAPI_OpenJobObject WinAPI_OpenMutex WinAPI_OpenProcess WinAPI_OpenProcessToken WinAPI_OpenSemaphore WinAPI_OpenThemeData WinAPI_OpenWindowStation WinAPI_PageSetupDlg WinAPI_PaintDesktop WinAPI_PaintRgn WinAPI_ParseURL WinAPI_ParseUserName WinAPI_PatBlt WinAPI_PathAddBackslash WinAPI_PathAddExtension WinAPI_PathAppend WinAPI_PathBuildRoot WinAPI_PathCanonicalize WinAPI_PathCommonPrefix WinAPI_PathCompactPath WinAPI_PathCompactPathEx WinAPI_PathCreateFromUrl WinAPI_PathFindExtension WinAPI_PathFindFileName WinAPI_PathFindNextComponent WinAPI_PathFindOnPath WinAPI_PathGetArgs WinAPI_PathGetCharType WinAPI_PathGetDriveNumber WinAPI_PathIsContentType WinAPI_PathIsDirectory WinAPI_PathIsDirectoryEmpty WinAPI_PathIsExe WinAPI_PathIsFileSpec WinAPI_PathIsLFNFileSpec WinAPI_PathIsRelative WinAPI_PathIsRoot WinAPI_PathIsSameRoot WinAPI_PathIsSystemFolder WinAPI_PathIsUNC WinAPI_PathIsUNCServer WinAPI_PathIsUNCServerShare WinAPI_PathMakeSystemFolder WinAPI_PathMatchSpec WinAPI_PathParseIconLocation WinAPI_PathRelativePathTo WinAPI_PathRemoveArgs WinAPI_PathRemoveBackslash WinAPI_PathRemoveExtension WinAPI_PathRemoveFileSpec WinAPI_PathRenameExtension WinAPI_PathSearchAndQualify WinAPI_PathSkipRoot WinAPI_PathStripPath WinAPI_PathStripToRoot WinAPI_PathToRegion WinAPI_PathUndecorate WinAPI_PathUnExpandEnvStrings WinAPI_PathUnmakeSystemFolder WinAPI_PathUnquoteSpaces WinAPI_PathYetAnotherMakeUniqueName WinAPI_PickIconDlg WinAPI_PlayEnhMetaFile WinAPI_PlaySound WinAPI_PlgBlt WinAPI_PointFromRect WinAPI_PolyBezier WinAPI_PolyBezierTo WinAPI_PolyDraw WinAPI_Polygon WinAPI_PostMessage WinAPI_PrimaryLangId WinAPI_PrintDlg WinAPI_PrintDlgEx WinAPI_PrintWindow WinAPI_ProgIDFromCLSID WinAPI_PtInRect WinAPI_PtInRectEx WinAPI_PtInRegion WinAPI_PtVisible WinAPI_QueryDosDevice WinAPI_QueryInformationJobObject WinAPI_QueryPerformanceCounter WinAPI_QueryPerformanceFrequency WinAPI_RadialGradientFill WinAPI_ReadDirectoryChanges WinAPI_ReadFile WinAPI_ReadProcessMemory WinAPI_Rectangle WinAPI_RectInRegion WinAPI_RectIsEmpty WinAPI_RectVisible WinAPI_RedrawWindow WinAPI_RegCloseKey WinAPI_RegConnectRegistry WinAPI_RegCopyTree WinAPI_RegCopyTreeEx WinAPI_RegCreateKey WinAPI_RegDeleteEmptyKey WinAPI_RegDeleteKey WinAPI_RegDeleteKeyValue WinAPI_RegDeleteTree WinAPI_RegDeleteTreeEx WinAPI_RegDeleteValue WinAPI_RegDisableReflectionKey WinAPI_RegDuplicateHKey WinAPI_RegEnableReflectionKey WinAPI_RegEnumKey WinAPI_RegEnumValue WinAPI_RegFlushKey WinAPI_RegisterApplicationRestart WinAPI_RegisterClass WinAPI_RegisterClassEx WinAPI_RegisterHotKey WinAPI_RegisterPowerSettingNotification WinAPI_RegisterRawInputDevices WinAPI_RegisterShellHookWindow WinAPI_RegisterWindowMessage WinAPI_RegLoadMUIString WinAPI_RegNotifyChangeKeyValue WinAPI_RegOpenKey WinAPI_RegQueryInfoKey WinAPI_RegQueryLastWriteTime WinAPI_RegQueryMultipleValues WinAPI_RegQueryReflectionKey WinAPI_RegQueryValue WinAPI_RegRestoreKey WinAPI_RegSaveKey WinAPI_RegSetValue WinAPI_ReleaseCapture WinAPI_ReleaseDC WinAPI_ReleaseMutex WinAPI_ReleaseSemaphore WinAPI_ReleaseStream WinAPI_RemoveClipboardFormatListener WinAPI_RemoveDirectory WinAPI_RemoveFontMemResourceEx WinAPI_RemoveFontResourceEx WinAPI_RemoveWindowSubclass WinAPI_ReOpenFile WinAPI_ReplaceFile WinAPI_ReplaceTextDlg WinAPI_ResetEvent WinAPI_RestartDlg WinAPI_RestoreDC WinAPI_RGB WinAPI_RotatePoints WinAPI_RoundRect WinAPI_SaveDC WinAPI_SaveFileDlg WinAPI_SaveHBITMAPToFile WinAPI_SaveHICONToFile WinAPI_ScaleWindowExt WinAPI_ScreenToClient WinAPI_SearchPath WinAPI_SelectClipPath WinAPI_SelectClipRgn WinAPI_SelectObject WinAPI_SendMessageTimeout WinAPI_SetActiveWindow WinAPI_SetArcDirection WinAPI_SetBitmapBits WinAPI_SetBitmapDimensionEx WinAPI_SetBkColor WinAPI_SetBkMode WinAPI_SetBoundsRect WinAPI_SetBrushOrg WinAPI_SetCapture WinAPI_SetCaretBlinkTime WinAPI_SetCaretPos WinAPI_SetClassLongEx WinAPI_SetColorAdjustment WinAPI_SetCompression WinAPI_SetCurrentDirectory WinAPI_SetCurrentProcessExplicitAppUserModelID WinAPI_SetCursor WinAPI_SetDCBrushColor WinAPI_SetDCPenColor WinAPI_SetDefaultPrinter WinAPI_SetDeviceGammaRamp WinAPI_SetDIBColorTable WinAPI_SetDIBits WinAPI_SetDIBitsToDevice WinAPI_SetDllDirectory WinAPI_SetEndOfFile WinAPI_SetEnhMetaFileBits WinAPI_SetErrorMode WinAPI_SetEvent WinAPI_SetFileAttributes WinAPI_SetFileInformationByHandleEx WinAPI_SetFilePointer WinAPI_SetFilePointerEx WinAPI_SetFileShortName WinAPI_SetFileValidData WinAPI_SetFocus WinAPI_SetFont WinAPI_SetForegroundWindow WinAPI_SetFRBuffer WinAPI_SetGraphicsMode WinAPI_SetHandleInformation WinAPI_SetInformationJobObject WinAPI_SetKeyboardLayout WinAPI_SetKeyboardState WinAPI_SetLastError WinAPI_SetLayeredWindowAttributes WinAPI_SetLocaleInfo WinAPI_SetMapMode WinAPI_SetMessageExtraInfo WinAPI_SetParent WinAPI_SetPixel WinAPI_SetPolyFillMode WinAPI_SetPriorityClass WinAPI_SetProcessAffinityMask WinAPI_SetProcessShutdownParameters WinAPI_SetProcessWindowStation WinAPI_SetRectRgn WinAPI_SetROP2 WinAPI_SetSearchPathMode WinAPI_SetStretchBltMode WinAPI_SetSysColors WinAPI_SetSystemCursor WinAPI_SetTextAlign WinAPI_SetTextCharacterExtra WinAPI_SetTextColor WinAPI_SetTextJustification WinAPI_SetThemeAppProperties WinAPI_SetThreadDesktop WinAPI_SetThreadErrorMode WinAPI_SetThreadExecutionState WinAPI_SetThreadLocale WinAPI_SetThreadUILanguage WinAPI_SetTimer WinAPI_SetUDFColorMode WinAPI_SetUserGeoID WinAPI_SetUserObjectInformation WinAPI_SetVolumeMountPoint WinAPI_SetWindowDisplayAffinity WinAPI_SetWindowExt WinAPI_SetWindowLong WinAPI_SetWindowOrg WinAPI_SetWindowPlacement WinAPI_SetWindowPos WinAPI_SetWindowRgn WinAPI_SetWindowsHookEx WinAPI_SetWindowSubclass WinAPI_SetWindowText WinAPI_SetWindowTheme WinAPI_SetWinEventHook WinAPI_SetWorldTransform WinAPI_SfcIsFileProtected WinAPI_SfcIsKeyProtected WinAPI_ShellAboutDlg WinAPI_ShellAddToRecentDocs WinAPI_ShellChangeNotify WinAPI_ShellChangeNotifyDeregister WinAPI_ShellChangeNotifyRegister WinAPI_ShellCreateDirectory WinAPI_ShellEmptyRecycleBin WinAPI_ShellExecute WinAPI_ShellExecuteEx WinAPI_ShellExtractAssociatedIcon WinAPI_ShellExtractIcon WinAPI_ShellFileOperation WinAPI_ShellFlushSFCache WinAPI_ShellGetFileInfo WinAPI_ShellGetIconOverlayIndex WinAPI_ShellGetImageList WinAPI_ShellGetKnownFolderIDList WinAPI_ShellGetKnownFolderPath WinAPI_ShellGetLocalizedName WinAPI_ShellGetPathFromIDList WinAPI_ShellGetSetFolderCustomSettings WinAPI_ShellGetSettings WinAPI_ShellGetSpecialFolderLocation WinAPI_ShellGetSpecialFolderPath WinAPI_ShellGetStockIconInfo WinAPI_ShellILCreateFromPath WinAPI_ShellNotifyIcon WinAPI_ShellNotifyIconGetRect WinAPI_ShellObjectProperties WinAPI_ShellOpenFolderAndSelectItems WinAPI_ShellOpenWithDlg WinAPI_ShellQueryRecycleBin WinAPI_ShellQueryUserNotificationState WinAPI_ShellRemoveLocalizedName WinAPI_ShellRestricted WinAPI_ShellSetKnownFolderPath WinAPI_ShellSetLocalizedName WinAPI_ShellSetSettings WinAPI_ShellStartNetConnectionDlg WinAPI_ShellUpdateImage WinAPI_ShellUserAuthenticationDlg WinAPI_ShellUserAuthenticationDlgEx WinAPI_ShortToWord WinAPI_ShowCaret WinAPI_ShowCursor WinAPI_ShowError WinAPI_ShowLastError WinAPI_ShowMsg WinAPI_ShowOwnedPopups WinAPI_ShowWindow WinAPI_ShutdownBlockReasonCreate WinAPI_ShutdownBlockReasonDestroy WinAPI_ShutdownBlockReasonQuery WinAPI_SizeOfResource WinAPI_StretchBlt WinAPI_StretchDIBits WinAPI_StrFormatByteSize WinAPI_StrFormatByteSizeEx WinAPI_StrFormatKBSize WinAPI_StrFromTimeInterval WinAPI_StringFromGUID WinAPI_StringLenA WinAPI_StringLenW WinAPI_StrLen WinAPI_StrokeAndFillPath WinAPI_StrokePath WinAPI_StructToArray WinAPI_SubLangId WinAPI_SubtractRect WinAPI_SwapDWord WinAPI_SwapQWord WinAPI_SwapWord WinAPI_SwitchColor WinAPI_SwitchDesktop WinAPI_SwitchToThisWindow WinAPI_SystemParametersInfo WinAPI_TabbedTextOut WinAPI_TerminateJobObject WinAPI_TerminateProcess WinAPI_TextOut WinAPI_TileWindows WinAPI_TrackMouseEvent WinAPI_TransparentBlt WinAPI_TwipsPerPixelX WinAPI_TwipsPerPixelY WinAPI_UnhookWindowsHookEx WinAPI_UnhookWinEvent WinAPI_UnionRect WinAPI_UnionStruct WinAPI_UniqueHardwareID WinAPI_UnloadKeyboardLayout WinAPI_UnlockFile WinAPI_UnmapViewOfFile WinAPI_UnregisterApplicationRestart WinAPI_UnregisterClass WinAPI_UnregisterHotKey WinAPI_UnregisterPowerSettingNotification WinAPI_UpdateLayeredWindow WinAPI_UpdateLayeredWindowEx WinAPI_UpdateLayeredWindowIndirect WinAPI_UpdateResource WinAPI_UpdateWindow WinAPI_UrlApplyScheme WinAPI_UrlCanonicalize WinAPI_UrlCombine WinAPI_UrlCompare WinAPI_UrlCreateFromPath WinAPI_UrlFixup WinAPI_UrlGetPart WinAPI_UrlHash WinAPI_UrlIs WinAPI_UserHandleGrantAccess WinAPI_ValidateRect WinAPI_ValidateRgn WinAPI_VerQueryRoot WinAPI_VerQueryValue WinAPI_VerQueryValueEx WinAPI_WaitForInputIdle WinAPI_WaitForMultipleObjects WinAPI_WaitForSingleObject WinAPI_WideCharToMultiByte WinAPI_WidenPath WinAPI_WindowFromDC WinAPI_WindowFromPoint WinAPI_WordToShort WinAPI_Wow64EnableWow64FsRedirection WinAPI_WriteConsole WinAPI_WriteFile WinAPI_WriteProcessMemory WinAPI_ZeroMemory WinNet_AddConnection WinNet_AddConnection2 WinNet_AddConnection3 WinNet_CancelConnection WinNet_CancelConnection2 WinNet_CloseEnum WinNet_ConnectionDialog WinNet_ConnectionDialog1 WinNet_DisconnectDialog WinNet_DisconnectDialog1 WinNet_EnumResource WinNet_GetConnection WinNet_GetConnectionPerformance WinNet_GetLastError WinNet_GetNetworkInformation WinNet_GetProviderName WinNet_GetResourceInformation WinNet_GetResourceParent WinNet_GetUniversalName WinNet_GetUser WinNet_OpenEnum WinNet_RestoreConnection WinNet_UseConnection Word_Create Word_DocAdd Word_DocAttach Word_DocClose Word_DocExport Word_DocFind Word_DocFindReplace Word_DocGet Word_DocLinkAdd Word_DocLinkGet Word_DocOpen Word_DocPictureAdd Word_DocPrint Word_DocRangeSet Word_DocSave Word_DocSaveAs Word_DocTableRead Word_DocTableWrite Word_Quit",e={
+variants:[a.COMMENT(";","$",{relevance:0}),a.COMMENT("#cs","#ce"),a.COMMENT("#comments-start","#comments-end")]},f={className:"variable",begin:"\\$[A-z0-9_]+"},g={className:"string",variants:[{begin:/"/,end:/"/,contains:[{begin:/""/,relevance:0}]},{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]}]},h={variants:[a.BINARY_NUMBER_MODE,a.C_NUMBER_MODE]},i={className:"preprocessor",begin:"#",end:"$",keywords:"include include-once NoTrayIcon OnAutoItStartRegister RequireAdmin pragma Au3Stripper_Ignore_Funcs Au3Stripper_Ignore_Variables Au3Stripper_Off Au3Stripper_On Au3Stripper_Parameters AutoIt3Wrapper_Add_Constants AutoIt3Wrapper_Au3Check_Parameters AutoIt3Wrapper_Au3Check_Stop_OnWarning AutoIt3Wrapper_Aut2Exe AutoIt3Wrapper_AutoIt3 AutoIt3Wrapper_AutoIt3Dir AutoIt3Wrapper_Change2CUI AutoIt3Wrapper_Compile_Both AutoIt3Wrapper_Compression AutoIt3Wrapper_EndIf AutoIt3Wrapper_Icon AutoIt3Wrapper_If_Compile AutoIt3Wrapper_If_Run AutoIt3Wrapper_Jump_To_First_Error AutoIt3Wrapper_OutFile AutoIt3Wrapper_OutFile_Type AutoIt3Wrapper_OutFile_X64 AutoIt3Wrapper_PlugIn_Funcs AutoIt3Wrapper_Res_Comment Autoit3Wrapper_Res_Compatibility AutoIt3Wrapper_Res_Description AutoIt3Wrapper_Res_Field AutoIt3Wrapper_Res_File_Add AutoIt3Wrapper_Res_FileVersion AutoIt3Wrapper_Res_FileVersion_AutoIncrement AutoIt3Wrapper_Res_Icon_Add AutoIt3Wrapper_Res_Language AutoIt3Wrapper_Res_LegalCopyright AutoIt3Wrapper_Res_ProductVersion AutoIt3Wrapper_Res_requestedExecutionLevel AutoIt3Wrapper_Res_SaveSource AutoIt3Wrapper_Run_After AutoIt3Wrapper_Run_Au3Check AutoIt3Wrapper_Run_Au3Stripper AutoIt3Wrapper_Run_Before AutoIt3Wrapper_Run_Debug_Mode AutoIt3Wrapper_Run_SciTE_Minimized AutoIt3Wrapper_Run_SciTE_OutputPane_Minimized AutoIt3Wrapper_Run_Tidy AutoIt3Wrapper_ShowProgress AutoIt3Wrapper_Testing AutoIt3Wrapper_Tidy_Stop_OnError AutoIt3Wrapper_UPX_Parameters AutoIt3Wrapper_UseUPX AutoIt3Wrapper_UseX64 AutoIt3Wrapper_Version AutoIt3Wrapper_Versioning AutoIt3Wrapper_Versioning_Parameters Tidy_Off Tidy_On Tidy_Parameters EndRegion Region",contains:[{begin:/\\\n/,relevance:0},{beginKeywords:"include",end:"$",contains:[g,{className:"string",variants:[{begin:"<",end:">"},{begin:/"/,end:/"/,contains:[{begin:/""/,relevance:0}]},{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]}]}]},g,e]},j={className:"constant",begin:"@[A-z0-9_]+"},k={className:"function",beginKeywords:"Func",end:"$",excludeEnd:!0,illegal:"\\$|\\[|%",contains:[a.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",contains:[f,g,h]}]};return{case_insensitive:!0,illegal:/\/\*/,keywords:{keyword:b,built_in:d,literal:c},contains:[e,f,g,h,i,j,k]}}),a.registerLanguage("avrasm",function(a){return{case_insensitive:!0,lexemes:"\\.?"+a.IDENT_RE,keywords:{keyword:"adc add adiw and andi asr bclr bld brbc brbs brcc brcs break breq brge brhc brhs brid brie brlo brlt brmi brne brpl brsh brtc brts brvc brvs bset bst call cbi cbr clc clh cli cln clr cls clt clv clz com cp cpc cpi cpse dec eicall eijmp elpm eor fmul fmuls fmulsu icall ijmp in inc jmp ld ldd ldi lds lpm lsl lsr mov movw mul muls mulsu neg nop or ori out pop push rcall ret reti rjmp rol ror sbc sbr sbrc sbrs sec seh sbi sbci sbic sbis sbiw sei sen ser ses set sev sez sleep spm st std sts sub subi swap tst wdr",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 r30 r31 x|0 xh xl y|0 yh yl z|0 zh zl ucsr1c udr1 ucsr1a ucsr1b ubrr1l ubrr1h ucsr0c ubrr0h tccr3c tccr3a tccr3b tcnt3h tcnt3l ocr3ah ocr3al ocr3bh ocr3bl ocr3ch ocr3cl icr3h icr3l etimsk etifr tccr1c ocr1ch ocr1cl twcr twdr twar twsr twbr osccal xmcra xmcrb eicra spmcsr spmcr portg ddrg ping portf ddrf sreg sph spl xdiv rampz eicrb eimsk gimsk gicr eifr gifr timsk tifr mcucr mcucsr tccr0 tcnt0 ocr0 assr tccr1a tccr1b tcnt1h tcnt1l ocr1ah ocr1al ocr1bh ocr1bl icr1h icr1l tccr2 tcnt2 ocr2 ocdr wdtcr sfior eearh eearl eedr eecr porta ddra pina portb ddrb pinb portc ddrc pinc portd ddrd pind spdr spsr spcr udr0 ucsr0a ucsr0b ubrr0l acsr admux adcsr adch adcl porte ddre pine pinf",preprocessor:".byte .cseg .db .def .device .dseg .dw .endmacro .equ .eseg .exit .include .list .listmac .macro .nolist .org .set"},contains:[a.C_BLOCK_COMMENT_MODE,a.COMMENT(";","$",{relevance:0}),a.C_NUMBER_MODE,a.BINARY_NUMBER_MODE,{className:"number",begin:"\\b(\\$[a-zA-Z0-9]+|0o[0-7]+)"},a.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",illegal:"[^\\\\][^']"},{className:"label",begin:"^[A-Za-z0-9_.$]+:"},{className:"preprocessor",begin:"#",end:"$"},{className:"localvars",begin:"@[0-9]+"}]}}),a.registerLanguage("axapta",function(a){return{keywords:"false int abstract private char boolean static null if for true while long throw finally protected final return void enum else break new catch byte super case short default double public try this switch continue reverse firstfast firstonly forupdate nofetch sum avg minof maxof count order group by asc desc index hint like dispaly edit client server ttsbegin ttscommit str real date container anytype common div mod",contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_NUMBER_MODE,{className:"preprocessor",begin:"#",end:"$"},{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,illegal:":",contains:[{beginKeywords:"extends implements"},a.UNDERSCORE_TITLE_MODE]}]}}),a.registerLanguage("bash",function(a){var b={className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{(.*?)}/}]},c={className:"string",begin:/"/,end:/"/,contains:[a.BACKSLASH_ESCAPE,b,{className:"variable",begin:/\$\(/,end:/\)/,contains:[a.BACKSLASH_ESCAPE]}]},d={className:"string",begin:/'/,end:/'/};return{aliases:["sh","zsh"],lexemes:/-?[a-z\.]+/,keywords:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",operator:"-ne -eq -lt -gt -f -d -e -s -l -a"},contains:[{className:"shebang",begin:/^#![^\n]+sh\s*$/,relevance:10},{className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[a.inherit(a.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},a.HASH_COMMENT_MODE,a.NUMBER_MODE,c,d,b]}}),a.registerLanguage("brainfuck",function(a){var b={className:"literal",begin:"[\\+\\-]",relevance:0};return{aliases:["bf"],contains:[a.COMMENT("[^\\[\\]\\.,\\+\\-<> \r\n]","[\\[\\]\\.,\\+\\-<> \r\n]",{returnEnd:!0,relevance:0}),{className:"title",begin:"[\\[\\]]",relevance:0},{className:"string",begin:"[\\.,]",relevance:0},{begin:/\+\+|\-\-/,returnBegin:!0,contains:[b]},b]}}),a.registerLanguage("cal",function(a){var b="div mod in and or not xor asserterror begin case do downto else end exit for if of repeat then to until while with var",c="false true",d=[a.C_LINE_COMMENT_MODE,a.COMMENT(/\{/,/\}/,{relevance:0}),a.COMMENT(/\(\*/,/\*\)/,{relevance:10})],e={className:"string",begin:/'/,end:/'/,contains:[{begin:/''/}]},f={className:"string",begin:/(#\d+)+/},g={className:"date",begin:"\\b\\d+(\\.\\d+)?(DT|D|T)",relevance:0},h={className:"variable",begin:'"',end:'"'},i={className:"function",beginKeywords:"procedure",end:/[:;]/,keywords:"procedure|10",contains:[a.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,keywords:b,contains:[e,f]}].concat(d)},j={className:"class",begin:"OBJECT (Table|Form|Report|Dataport|Codeunit|XMLport|MenuSuite|Page|Query) (\\d+) ([^\\r\\n]+)",returnBegin:!0,contains:[a.TITLE_MODE,i]};return{case_insensitive:!0,keywords:{keyword:b,literal:c},illegal:/\/\*/,contains:[e,f,g,h,a.NUMBER_MODE,j,i]}}),a.registerLanguage("capnproto",function(a){return{aliases:["capnp"],keywords:{keyword:"struct enum interface union group import using const annotation extends in of on as with from fixed",built_in:"Void Bool Int8 Int16 Int32 Int64 UInt8 UInt16 UInt32 UInt64 Float32 Float64 Text Data AnyPointer AnyStruct Capability List",literal:"true false"},contains:[a.QUOTE_STRING_MODE,a.NUMBER_MODE,a.HASH_COMMENT_MODE,{className:"shebang",begin:/@0x[\w\d]{16};/,illegal:/\n/},{className:"number",begin:/@\d+\b/},{className:"class",beginKeywords:"struct enum",end:/\{/,illegal:/\n/,contains:[a.inherit(a.TITLE_MODE,{starts:{endsWithParent:!0,excludeEnd:!0}})]},{className:"class",beginKeywords:"interface",end:/\{/,illegal:/\n/,contains:[a.inherit(a.TITLE_MODE,{starts:{endsWithParent:!0,excludeEnd:!0}})]}]}}),a.registerLanguage("ceylon",function(a){var b="assembly module package import alias class interface object given value assign void function new of extends satisfies abstracts in out return break continue throw assert dynamic if else switch case for while try catch finally then let this outer super is exists nonempty",c="shared abstract formal default actual variable late native deprecatedfinal sealed annotation suppressWarnings small",d="doc by license see throws tagged",e=c+" "+d,f={className:"subst",excludeBegin:!0,excludeEnd:!0,begin:/``/,end:/``/,keywords:b,relevance:10},g=[{className:"string",begin:'"""',end:'"""',relevance:10},{className:"string",begin:'"',end:'"',contains:[f]},{className:"string",begin:"'",end:"'"},{className:"number",begin:"#[0-9a-fA-F_]+|\\$[01_]+|[0-9_]+(?:\\.[0-9_](?:[eE][+-]?\\d+)?)?[kMGTPmunpf]?",relevance:0}];return f.contains=g,{keywords:{keyword:b,annotation:e},illegal:"\\$[^01]|#[^0-9a-fA-F]",contains:[a.C_LINE_COMMENT_MODE,a.COMMENT("/\\*","\\*/",{contains:["self"]}),{className:"annotation",begin:'@[a-z]\\w*(?:\\:"[^"]*")?'}].concat(g)}}),a.registerLanguage("clojure",function(a){var b={built_in:"def defonce cond apply if-not if-let if not not= = < > <= >= == + / * - rem quot neg? pos? delay? symbol? keyword? true? false? integer? empty? coll? list? set? ifn? fn? associative? sequential? sorted? counted? reversible? number? decimal? class? distinct? isa? float? rational? reduced? ratio? odd? even? char? seq? vector? string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . inc compare do dotimes mapcat take remove take-while drop letfn drop-last take-last drop-while while intern condp case reduced cycle split-at split-with repeat replicate iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext nthrest partition eval doseq await await-for let agent atom send send-off release-pending-sends add-watch mapv filterv remove-watch agent-error restart-agent set-error-handler error-handler set-error-mode! error-mode shutdown-agents quote var fn loop recur throw try monitor-enter monitor-exit defmacro defn defn- macroexpand macroexpand-1 for dosync and or when when-not when-let comp juxt partial sequence memoize constantly complement identity assert peek pop doto proxy defstruct first rest cons defprotocol cast coll deftype defrecord last butlast sigs reify second ffirst fnext nfirst nnext defmulti defmethod meta with-meta ns in-ns create-ns import refer keys select-keys vals key val rseq name namespace promise into transient persistent! conj! assoc! dissoc! pop! disj! use class type num float double short byte boolean bigint biginteger bigdec print-method print-dup throw-if printf format load compile get-in update-in pr pr-on newline flush read slurp read-line subvec with-open memfn time re-find re-groups rand-int rand mod locking assert-valid-fdecl alias resolve ref deref refset swap! reset! set-validator! compare-and-set! alter-meta! reset-meta! commute get-validator alter ref-set ref-history-count ref-min-history ref-max-history ensure sync io! new next conj set! to-array future future-call into-array aset gen-class reduce map filter find empty hash-map hash-set sorted-map sorted-map-by sorted-set sorted-set-by vec vector seq flatten reverse assoc dissoc list disj get union difference intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer chunk-append chunk-first chunk-rest max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec unchecked-negate unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next chunk-cons chunked-seq? prn vary-meta lazy-seq spread list* str find-keyword keyword symbol gensym force rationalize"},c="a-zA-Z_\\-!.?+*=<>&#'",d="["+c+"]["+c+"0-9/;:]*",e="[-+]?\\d+(\\.\\d+)?",f={begin:d,relevance:0},g={className:"number",begin:e,relevance:0},h=a.inherit(a.QUOTE_STRING_MODE,{illegal:null}),i=a.COMMENT(";","$",{relevance:0}),j={className:"literal",begin:/\b(true|false|nil)\b/},k={className:"collection",begin:"[\\[\\{]",end:"[\\]\\}]"},l={className:"comment",begin:"\\^"+d},m=a.COMMENT("\\^\\{","\\}"),n={className:"attribute",begin:"[:]"+d},o={className:"list",begin:"\\(",end:"\\)"},p={endsWithParent:!0,relevance:0},q={keywords:b,lexemes:d,className:"keyword",begin:d,starts:p},r=[o,h,l,m,i,n,k,g,j,f];return o.contains=[a.COMMENT("comment",""),q,p],p.contains=r,k.contains=r,{aliases:["clj"],illegal:/\S/,contains:[o,h,l,m,i,n,k,g,j]}}),a.registerLanguage("clojure-repl",function(a){return{contains:[{className:"prompt",begin:/^([\w.-]+|\s*#_)=>/,starts:{end:/$/,subLanguage:"clojure"}}]}}),a.registerLanguage("cmake",function(a){return{aliases:["cmake.in"],case_insensitive:!0,keywords:{keyword:"add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_subdirectory add_test aux_source_directory break build_command cmake_minimum_required cmake_policy configure_file create_test_sourcelist define_property else elseif enable_language enable_testing endforeach endfunction endif endmacro endwhile execute_process export find_file find_library find_package find_path find_program fltk_wrap_ui foreach function get_cmake_property get_directory_property get_filename_component get_property get_source_file_property get_target_property get_test_property if include include_directories include_external_msproject include_regular_expression install link_directories load_cache load_command macro mark_as_advanced message option output_required_files project qt_wrap_cpp qt_wrap_ui remove_definitions return separate_arguments set set_directory_properties set_property set_source_files_properties set_target_properties set_tests_properties site_name source_group string target_link_libraries try_compile try_run unset variable_watch while build_name exec_program export_library_dependencies install_files install_programs install_targets link_libraries make_directory remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file qt5_use_modules qt5_use_package qt5_wrap_cpp on off true false and or",operator:"equal less greater strless strgreater strequal matches"},contains:[{className:"envvar",begin:"\\${",end:"}"},a.HASH_COMMENT_MODE,a.QUOTE_STRING_MODE,a.NUMBER_MODE]}}),a.registerLanguage("coffeescript",function(a){var b={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",built_in:"npm require console print module global window document"},c="[A-Za-z$_][0-9A-Za-z$_]*",d={className:"subst",begin:/#\{/,end:/}/,keywords:b},e=[a.BINARY_NUMBER_MODE,a.inherit(a.C_NUMBER_MODE,{starts:{end:"(\\s*/)?",relevance:0}}),{className:"string",variants:[{begin:/'''/,end:/'''/,contains:[a.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[a.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,contains:[a.BACKSLASH_ESCAPE,d]},{begin:/"/,end:/"/,contains:[a.BACKSLASH_ESCAPE,d]}]},{className:"regexp",variants:[{begin:"///",end:"///",contains:[d,a.HASH_COMMENT_MODE]},{begin:"//[gim]*",relevance:0},{begin:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{className:"property",begin:"@"+c},{begin:"`",end:"`",excludeBegin:!0,excludeEnd:!0,subLanguage:"javascript"}];d.contains=e;var f=a.inherit(a.TITLE_MODE,{begin:c}),g="(\\(.*\\))?\\s*\\B[-=]>",h={className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:b,contains:["self"].concat(e)}]};return{aliases:["coffee","cson","iced"],keywords:b,illegal:/\/\*/,contains:e.concat([a.COMMENT("###","###"),a.HASH_COMMENT_MODE,{className:"function",begin:"^\\s*"+c+"\\s*=\\s*"+g,end:"[-=]>",returnBegin:!0,contains:[f,h]},{begin:/[:\(,=]\s*/,relevance:0,contains:[{className:"function",begin:g,end:"[-=]>",returnBegin:!0,contains:[h]}]},{className:"class",beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[f]},f]},{className:"attribute",begin:c+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}),a.registerLanguage("cpp",function(a){var b={className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"},c={className:"string",variants:[a.inherit(a.QUOTE_STRING_MODE,{begin:'((u8?|U)|L)?"'}),{begin:'(u8?|U)?R"',end:'"',contains:[a.BACKSLASH_ESCAPE]},{begin:"'\\\\?.",end:"'",illegal:"."}]},d={className:"number",variants:[{begin:"\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"},{begin:a.C_NUMBER_RE}]},e={className:"preprocessor",begin:"#",end:"$",keywords:"if else elif endif define undef warning error line pragma ifdef ifndef",contains:[{begin:/\\\n/,relevance:0},{beginKeywords:"include",end:"$",contains:[c,{className:"string",begin:"<",end:">",illegal:"\\n"}]},c,d,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},f=a.IDENT_RE+"\\s*\\(",g={keyword:"int float while private char catch export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const struct for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using class asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignof constexpr decltype noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong",built_in:"std string cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf",literal:"true false nullptr NULL"};return{aliases:["c","cc","h","c++","h++","hpp"],keywords:g,illegal:"</",contains:[b,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,d,c,e,{begin:"\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",end:">",keywords:g,contains:["self",b]},{begin:a.IDENT_RE+"::",keywords:g},{beginKeywords:"new throw return else",relevance:0},{className:"function",begin:"("+a.IDENT_RE+"[\\*&\\s]+)+"+f,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:g,illegal:/[^\w\s\*&]/,contains:[{begin:f,returnBegin:!0,contains:[a.TITLE_MODE],relevance:0},{className:"params",begin:/\(/,end:/\)/,keywords:g,relevance:0,contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,c,d]},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,e]}]}}),a.registerLanguage("crmsh",function(a){var b="primitive rsc_template",c="group clone ms master location colocation order fencing_topology rsc_ticket acl_target acl_group user role tag xml",d="property rsc_defaults op_defaults",e="params meta operations op rule attributes utilization",f="read write deny defined not_defined in_range date spec in ref reference attribute type xpath version and or lt gt tag lte gte eq ne \\",g="number string",h="Master Started Slave Stopped start promote demote stop monitor true false";return{aliases:["crm","pcmk"],case_insensitive:!0,keywords:{keyword:e,operator:f,type:g,literal:h},contains:[a.HASH_COMMENT_MODE,{beginKeywords:"node",starts:{className:"identifier",end:"\\s*([\\w_-]+:)?",starts:{className:"title",end:"\\s*[\\$\\w_][\\w_-]*"}}},{beginKeywords:b,starts:{className:"title",end:"\\s*[\\$\\w_][\\w_-]*",starts:{className:"pragma",end:"\\s*@?[\\w_][\\w_\\.:-]*"}}},{begin:"\\b("+c.split(" ").join("|")+")\\s+",keywords:c,starts:{className:"title",end:"[\\$\\w_][\\w_-]*"}},{beginKeywords:d,starts:{className:"title",end:"\\s*([\\w_-]+:)?"}},a.QUOTE_STRING_MODE,{className:"pragma",begin:"(ocf|systemd|service|lsb):[\\w_:-]+",relevance:0},{className:"number",begin:"\\b\\d+(\\.\\d+)?(ms|s|h|m)?",relevance:0},{className:"number",begin:"[-]?(infinity|inf)",relevance:0},{className:"variable",begin:/([A-Za-z\$_\#][\w_-]+)=/,relevance:0},{className:"tag",begin:"</?",end:"/?>",relevance:0}]}}),a.registerLanguage("crystal",function(a){function b(a,b){var c=[{begin:a,end:b}];return c[0].contains=c,c}var c="(_[uif](8|16|32|64))?",d="[a-zA-Z_]\\w*[!?=]?",e="!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",f="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\][=?]?",g={keyword:"abstract alias as asm begin break case class def do else elsif end ensure enum extend for fun if ifdef include instance_sizeof is_a? lib macro module next of out pointerof private protected rescue responds_to? return require self sizeof struct super then type typeof union unless until when while with yield __DIR__ __FILE__ __LINE__",literal:"false nil true"},h={className:"subst",begin:"#{",end:"}",keywords:g},i={className:"expansion",variants:[{begin:"\\{\\{",end:"\\}\\}"},{begin:"\\{%",end:"%\\}"}],keywords:g,relevance:10},j={className:"string",contains:[a.BACKSLASH_ESCAPE,h],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:"%w?\\(",end:"\\)",contains:b("\\(","\\)")},{begin:"%w?\\[",end:"\\]",contains:b("\\[","\\]")},{begin:"%w?{",end:"}",contains:b("{","}")},{begin:"%w?<",end:">",contains:b("<",">")},{begin:"%w?/",end:"/"},{begin:"%w?%",end:"%"},{begin:"%w?-",end:"-"},{begin:"%w?\\|",end:"\\|"}],relevance:0},k={begin:"("+e+")\\s*",contains:[{className:"regexp",contains:[a.BACKSLASH_ESCAPE,h],variants:[{begin:"/",end:"/[a-z]*"},{begin:"%r\\(",end:"\\)",contains:b("\\(","\\)")},{begin:"%r\\[",end:"\\]",contains:b("\\[","\\]")},{begin:"%r{",end:"}",contains:b("{","}")},{begin:"%r<",end:">",contains:b("<",">")},{begin:"%r/",end:"/"},{begin:"%r%",end:"%"},{begin:"%r-",end:"-"},{begin:"%r\\|",end:"\\|"}]}],relevance:0},l={className:"regexp",contains:[a.BACKSLASH_ESCAPE,h],variants:[{begin:"%r\\(",end:"\\)",contains:b("\\(","\\)")},{begin:"%r\\[",end:"\\]",contains:b("\\[","\\]")},{begin:"%r{",end:"}",contains:b("{","}")},{begin:"%r<",end:">",contains:b("<",">")},{begin:"%r/",end:"/"},{begin:"%r%",end:"%"},{begin:"%r-",end:"-"},{begin:"%r\\|",end:"\\|"}],relevance:0},m={className:"annotation",begin:"@\\[",end:"\\]",relevance:5},n=[i,j,k,l,m,a.HASH_COMMENT_MODE,{className:"class",beginKeywords:"class module struct",end:"$|;",illegal:/=/,contains:[a.HASH_COMMENT_MODE,a.inherit(a.TITLE_MODE,{begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{className:"inheritance",begin:"<\\s*",contains:[{className:"parent",begin:"("+a.IDENT_RE+"::)?"+a.IDENT_RE}]}]},{className:"class",beginKeywords:"lib enum union",end:"$|;",illegal:/=/,contains:[a.HASH_COMMENT_MODE,a.inherit(a.TITLE_MODE,{begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"})],relevance:10},{className:"function",beginKeywords:"def",end:/\B\b/,contains:[a.inherit(a.TITLE_MODE,{begin:f,endsParent:!0})]},{className:"function",beginKeywords:"fun macro",end:/\B\b/,contains:[a.inherit(a.TITLE_MODE,{begin:f,endsParent:!0})],relevance:5},{className:"constant",begin:"(::)?(\\b[A-Z]\\w*(::)?)+",relevance:0},{className:"symbol",begin:a.UNDERSCORE_IDENT_RE+"(\\!|\\?)?:",relevance:0},{className:"symbol",begin:":",contains:[j,{begin:f}],relevance:0},{className:"number",variants:[{begin:"\\b0b([01_]*[01])"+c},{begin:"\\b0o([0-7_]*[0-7])"+c},{begin:"\\b0x([A-Fa-f0-9_]*[A-Fa-f0-9])"+c},{begin:"\\b(([0-9][0-9_]*[0-9]|[0-9])(\\.[0-9_]*[0-9])?([eE][+-]?[0-9_]*[0-9])?)"+c}],relevance:0},{className:"variable",begin:"(\\$\\W)|((\\$|\\@\\@?|%)(\\w+))"}];return h.contains=n,m.contains=n,i.contains=n.slice(1),{aliases:["cr"],lexemes:d,keywords:g,contains:n}}),a.registerLanguage("cs",function(a){var b="abstract as base bool break byte case catch char checked const continue decimal dynamic default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long null when object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this true try typeof uint ulong unchecked unsafe ushort using virtual volatile void while async protected public private internal ascending descending from get group into join let orderby partial select set value var where yield",c=a.IDENT_RE+"(<"+a.IDENT_RE+">)?";return{aliases:["csharp"],keywords:b,illegal:/::/,contains:[a.COMMENT("///","$",{returnBegin:!0,contains:[{className:"xmlDocTag",variants:[{begin:"///",relevance:0},{begin:"<!--|-->"},{begin:"</?",end:">"}]}]}),a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{className:"preprocessor",begin:"#",end:"$",keywords:"if else elif endif define undef warning error line region endregion pragma checksum"},{className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_NUMBER_MODE,{beginKeywords:"class interface",end:/[{;=]/,illegal:/[^\s:]/,contains:[a.TITLE_MODE,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",end:/[{;=]/,illegal:/[^\s:]/,contains:[{className:"title",begin:"[a-zA-Z](\\.?\\w)*",relevance:0},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new return throw await",relevance:0},{className:"function",begin:"("+c+"\\s+)+"+a.IDENT_RE+"\\s*\\(",returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:b,contains:[{begin:a.IDENT_RE+"\\s*\\(",returnBegin:!0,contains:[a.TITLE_MODE],relevance:0},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:b,relevance:0,contains:[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_NUMBER_MODE,a.C_BLOCK_COMMENT_MODE]},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]}]}}),a.registerLanguage("css",function(a){var b="[a-zA-Z-][a-zA-Z0-9_-]*",c={className:"function",begin:b+"\\(",returnBegin:!0,excludeEnd:!0,end:"\\("},d={className:"rule",begin:/[A-Z\_\.\-]+\s*:/,returnBegin:!0,end:";",endsWithParent:!0,contains:[{className:"attribute",begin:/\S/,end:":",excludeEnd:!0,starts:{className:"value",endsWithParent:!0,excludeEnd:!0,contains:[c,a.CSS_NUMBER_MODE,a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,a.C_BLOCK_COMMENT_MODE,{className:"hexcolor",begin:"#[0-9A-Fa-f]+"},{className:"important",begin:"!important"}]}}]};return{case_insensitive:!0,illegal:/[=\/|'\$]/,contains:[a.C_BLOCK_COMMENT_MODE,{className:"id",begin:/\#[A-Za-z0-9_-]+/},{className:"class",begin:/\.[A-Za-z0-9_-]+/},{className:"attr_selector",begin:/\[/,end:/\]/,illegal:"$"},{className:"pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"']+/},{className:"at_rule",begin:"@(font-face|page)",lexemes:"[a-z-]+",keywords:"font-face page"},{className:"at_rule",begin:"@",end:"[{;]",contains:[{className:"keyword",begin:/\S+/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,contains:[c,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.CSS_NUMBER_MODE]}]},{className:"tag",begin:b,relevance:0},{className:"rules",begin:"{",end:"}",illegal:/\S/,contains:[a.C_BLOCK_COMMENT_MODE,d]}]}}),a.registerLanguage("d",function(a){var b={keyword:"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",literal:"false null true"},c="(0|[1-9][\\d_]*)",d="(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)",e="0[bB][01_]+",f="([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)",g="0[xX]"+f,h="([eE][+-]?"+d+")",i="("+d+"(\\.\\d*|"+h+")|\\d+\\."+d+d+"|\\."+c+h+"?)",j="(0[xX]("+f+"\\."+f+"|\\.?"+f+")[pP][+-]?"+d+")",k="("+c+"|"+e+"|"+g+")",l="("+j+"|"+i+")",m="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",n={className:"number",begin:"\\b"+k+"(L|u|U|Lu|LU|uL|UL)?",relevance:0},o={className:"number",begin:"\\b("+l+"([fF]|L|i|[fF]i|Li)?|"+k+"(i|[fF]i|Li))",relevance:0},p={className:"string",begin:"'("+m+"|.)",end:"'",illegal:"."},q={begin:m,relevance:0},r={className:"string",begin:'"',contains:[q],end:'"[cwd]?'},s={className:"string",begin:'[rq]"',end:'"[cwd]?',relevance:5},t={className:"string",begin:"`",end:"`[cwd]?"},u={className:"string",begin:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',relevance:10},v={className:"string",begin:'q"\\{',end:'\\}"'},w={className:"shebang",begin:"^#!",end:"$",relevance:5},x={className:"preprocessor",begin:"#(line)",end:"$",relevance:5},y={className:"keyword",begin:"@[a-zA-Z_][a-zA-Z_\\d]*"},z=a.COMMENT("\\/\\+","\\+\\/",{contains:["self"],relevance:10});return{lexemes:a.UNDERSCORE_IDENT_RE,keywords:b,contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,z,u,r,s,t,v,o,n,p,w,x,y]}}),a.registerLanguage("markdown",function(a){return{aliases:["md","mkdown","mkd"],contains:[{className:"header",variants:[{begin:"^#{1,6}",end:"$"},{begin:"^.+?\\n[=-]{2,}$"}]},{begin:"<",end:">",subLanguage:"xml",relevance:0},{className:"bullet",begin:"^([*+-]|(\\d+\\.))\\s+"},{className:"strong",begin:"[*_]{2}.+?[*_]{2}"},{className:"emphasis",variants:[{begin:"\\*.+?\\*"},{begin:"_.+?_",relevance:0}]},{className:"blockquote",begin:"^>\\s+",end:"$"},{className:"code",variants:[{begin:"`.+?`"},{begin:"^( {4}|       )",end:"$",relevance:0}]},{className:"horizontal_rule",begin:"^[-\\*]{3,}",end:"$"},{begin:"\\[.+?\\][\\(\\[].*?[\\)\\]]",returnBegin:!0,contains:[{className:"link_label",begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0,relevance:0},{className:"link_url",begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"link_reference",begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}],relevance:10},{begin:"^\\[.+\\]:",returnBegin:!0,contains:[{className:"link_reference",begin:"\\[",end:"\\]:",excludeBegin:!0,excludeEnd:!0,starts:{className:"link_url",end:"$"}}]}]}}),a.registerLanguage("dart",function(a){var b={className:"subst",begin:"\\$\\{",end:"}",keywords:"true false null this is new super"},c={className:"string",variants:[{begin:"r'''",end:"'''"},{begin:'r"""',end:'"""'},{begin:"r'",end:"'",illegal:"\\n"},{
+begin:'r"',end:'"',illegal:"\\n"},{begin:"'''",end:"'''",contains:[a.BACKSLASH_ESCAPE,b]},{begin:'"""',end:'"""',contains:[a.BACKSLASH_ESCAPE,b]},{begin:"'",end:"'",illegal:"\\n",contains:[a.BACKSLASH_ESCAPE,b]},{begin:'"',end:'"',illegal:"\\n",contains:[a.BACKSLASH_ESCAPE,b]}]};b.contains=[a.C_NUMBER_MODE,c];var d={keyword:"assert break case catch class const continue default do else enum extends false final finally for if in is new null rethrow return super switch this throw true try var void while with",literal:"abstract as dynamic export external factory get implements import library operator part set static typedef",built_in:"print Comparable DateTime Duration Function Iterable Iterator List Map Match Null Object Pattern RegExp Set Stopwatch String StringBuffer StringSink Symbol Type Uri bool double int num document window querySelector querySelectorAll Element ElementList"};return{keywords:d,contains:[c,a.COMMENT("/\\*\\*","\\*/",{subLanguage:"markdown"}),a.COMMENT("///","$",{subLanguage:"markdown"}),a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,contains:[{beginKeywords:"extends implements"},a.UNDERSCORE_TITLE_MODE]},a.C_NUMBER_MODE,{className:"annotation",begin:"@[A-Za-z]+"},{begin:"=>"}]}}),a.registerLanguage("delphi",function(a){var b="exports register file shl array record property for mod while set ally label uses raise not stored class safecall var interface or private static exit index inherited to else stdcall override shr asm far resourcestring finalization packed virtual out and protected library do xorwrite goto near function end div overload object unit begin string on inline repeat until destructor write message program with read initialization except default nil if case cdecl in downto threadvar of try pascal const external constructor type public then implementation finally published procedure",c=[a.C_LINE_COMMENT_MODE,a.COMMENT(/\{/,/\}/,{relevance:0}),a.COMMENT(/\(\*/,/\*\)/,{relevance:10})],d={className:"string",begin:/'/,end:/'/,contains:[{begin:/''/}]},e={className:"string",begin:/(#\d+)+/},f={begin:a.IDENT_RE+"\\s*=\\s*class\\s*\\(",returnBegin:!0,contains:[a.TITLE_MODE]},g={className:"function",beginKeywords:"function constructor destructor procedure",end:/[:;]/,keywords:"function constructor|10 destructor|10 procedure|10",contains:[a.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,keywords:b,contains:[d,e]}].concat(c)};return{case_insensitive:!0,keywords:b,illegal:/"|\$[G-Zg-z]|\/\*|<\/|\|/,contains:[d,e,a.NUMBER_MODE,f,g].concat(c)}}),a.registerLanguage("diff",function(a){return{aliases:["patch"],contains:[{className:"chunk",relevance:10,variants:[{begin:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{begin:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{begin:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{className:"header",variants:[{begin:/Index: /,end:/$/},{begin:/=====/,end:/=====$/},{begin:/^\-\-\-/,end:/$/},{begin:/^\*{3} /,end:/$/},{begin:/^\+\+\+/,end:/$/},{begin:/\*{5}/,end:/\*{5}$/}]},{className:"addition",begin:"^\\+",end:"$"},{className:"deletion",begin:"^\\-",end:"$"},{className:"change",begin:"^\\!",end:"$"}]}}),a.registerLanguage("django",function(a){var b={className:"filter",begin:/\|[A-Za-z]+:?/,keywords:"truncatewords removetags linebreaksbr yesno get_digit timesince random striptags filesizeformat escape linebreaks length_is ljust rjust cut urlize fix_ampersands title floatformat capfirst pprint divisibleby add make_list unordered_list urlencode timeuntil urlizetrunc wordcount stringformat linenumbers slice date dictsort dictsortreversed default_if_none pluralize lower join center default truncatewords_html upper length phone2numeric wordwrap time addslashes slugify first escapejs force_escape iriencode last safe safeseq truncatechars localize unlocalize localtime utc timezone",contains:[{className:"argument",begin:/"/,end:/"/},{className:"argument",begin:/'/,end:/'/}]};return{aliases:["jinja"],case_insensitive:!0,subLanguage:"xml",contains:[a.COMMENT(/\{%\s*comment\s*%}/,/\{%\s*endcomment\s*%}/),a.COMMENT(/\{#/,/#}/),{className:"template_tag",begin:/\{%/,end:/%}/,keywords:"comment endcomment load templatetag ifchanged endifchanged if endif firstof for endfor in ifnotequal endifnotequal widthratio extends include spaceless endspaceless regroup by as ifequal endifequal ssi now with cycle url filter endfilter debug block endblock else autoescape endautoescape csrf_token empty elif endwith static trans blocktrans endblocktrans get_static_prefix get_media_prefix plural get_current_language language get_available_languages get_current_language_bidi get_language_info get_language_info_list localize endlocalize localtime endlocaltime timezone endtimezone get_current_timezone verbatim",contains:[b]},{className:"variable",begin:/\{\{/,end:/}}/,contains:[b]}]}}),a.registerLanguage("dns",function(a){return{aliases:["bind","zone"],keywords:{keyword:"IN A AAAA AFSDB APL CAA CDNSKEY CDS CERT CNAME DHCID DLV DNAME DNSKEY DS HIP IPSECKEY KEY KX LOC MX NAPTR NS NSEC NSEC3 NSEC3PARAM PTR RRSIG RP SIG SOA SRV SSHFP TA TKEY TLSA TSIG TXT"},contains:[a.COMMENT(";","$"),{className:"operator",beginKeywords:"$TTL $GENERATE $INCLUDE $ORIGIN"},{className:"number",begin:"((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))"},{className:"number",begin:"((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])"}]}}),a.registerLanguage("dockerfile",function(a){return{aliases:["docker"],case_insensitive:!0,keywords:{built_ins:"from maintainer cmd expose add copy entrypoint volume user workdir onbuild run env label"},contains:[a.HASH_COMMENT_MODE,{keywords:{built_in:"run cmd entrypoint volume add copy workdir onbuild label"},begin:/^ *(onbuild +)?(run|cmd|entrypoint|volume|add|copy|workdir|label) +/,starts:{end:/[^\\]\n/,subLanguage:"bash"}},{keywords:{built_in:"from maintainer expose env user onbuild"},begin:/^ *(onbuild +)?(from|maintainer|expose|env|user|onbuild) +/,end:/[^\\]\n/,contains:[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.NUMBER_MODE,a.HASH_COMMENT_MODE]}]}}),a.registerLanguage("dos",function(a){var b=a.COMMENT(/@?rem\b/,/$/,{relevance:10}),c={className:"label",begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)",relevance:0};return{aliases:["bat","cmd"],case_insensitive:!0,illegal:/\/\*/,keywords:{flow:"if else goto for in do call exit not exist errorlevel defined",operator:"equ neq lss leq gtr geq",keyword:"shift cd dir echo setlocal endlocal set pause copy",stream:"prn nul lpt3 lpt2 lpt1 con com4 com3 com2 com1 aux",winutils:"ping net ipconfig taskkill xcopy ren del",built_in:"append assoc at attrib break cacls cd chcp chdir chkdsk chkntfs cls cmd color comp compact convert date dir diskcomp diskcopy doskey erase fs find findstr format ftype graftabl help keyb label md mkdir mode more move path pause print popd pushd promt rd recover rem rename replace restore rmdir shiftsort start subst time title tree type ver verify vol"},contains:[{className:"envvar",begin:/%%[^ ]|%[^ ]+?%|![^ ]+?!/},{className:"function",begin:c.begin,end:"goto:eof",contains:[a.inherit(a.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),b]},{className:"number",begin:"\\b\\d+",relevance:0},b]}}),a.registerLanguage("dust",function(a){var b="if eq ne lt lte gt gte select default math sep";return{aliases:["dst"],case_insensitive:!0,subLanguage:"xml",contains:[{className:"expression",begin:"{",end:"}",relevance:0,contains:[{className:"begin-block",begin:"#[a-zA-Z- .]+",keywords:b},{className:"string",begin:'"',end:'"'},{className:"end-block",begin:"\\/[a-zA-Z- .]+",keywords:b},{className:"variable",begin:"[a-zA-Z-.]+",keywords:b,relevance:0}]}]}}),a.registerLanguage("elixir",function(a){var b="[a-zA-Z_][a-zA-Z0-9_]*(\\!|\\?)?",c="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",d="and false then defined module in return redo retry end for true self when next until do begin unless nil break not case cond alias while ensure or include use alias fn quote",e={className:"subst",begin:"#\\{",end:"}",lexemes:b,keywords:d},f={className:"string",contains:[a.BACKSLASH_ESCAPE,e],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/}]},g={className:"function",beginKeywords:"def defp defmacro",end:/\B\b/,contains:[a.inherit(a.TITLE_MODE,{begin:b,endsParent:!0})]},h=a.inherit(g,{className:"class",beginKeywords:"defmodule defrecord",end:/\bdo\b|$|;/}),i=[f,a.HASH_COMMENT_MODE,h,g,{className:"constant",begin:"(\\b[A-Z_]\\w*(.)?)+",relevance:0},{className:"symbol",begin:":",contains:[f,{begin:c}],relevance:0},{className:"symbol",begin:b+":",relevance:0},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{className:"variable",begin:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{begin:"->"},{begin:"("+a.RE_STARTERS_RE+")\\s*",contains:[a.HASH_COMMENT_MODE,{className:"regexp",illegal:"\\n",contains:[a.BACKSLASH_ESCAPE,e],variants:[{begin:"/",end:"/[a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}],relevance:0}];return e.contains=i,{lexemes:b,keywords:d,contains:i}}),a.registerLanguage("elm",function(a){var b=[a.COMMENT("--","$"),a.COMMENT("{-","-}",{contains:["self"]})],c={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},d={className:"container",begin:"\\(",end:"\\)",illegal:'"',contains:[{className:"type",begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"}].concat(b)},e={className:"container",begin:"{",end:"}",contains:d.contains};return{keywords:"let in if then else case of where module import exposing type alias as infix infixl infixr port",contains:[{className:"module",begin:"\\bmodule\\b",end:"where",keywords:"module where",contains:[d].concat(b),illegal:"\\W\\.|;"},{className:"import",begin:"\\bimport\\b",end:"$",keywords:"import|0 as exposing",contains:[d].concat(b),illegal:"\\W\\.|;"},{className:"typedef",begin:"\\btype\\b",end:"$",keywords:"type alias",contains:[c,d,e].concat(b)},{className:"infix",beginKeywords:"infix infixl infixr",end:"$",contains:[a.C_NUMBER_MODE].concat(b)},{className:"foreign",begin:"\\bport\\b",end:"$",keywords:"port",contains:b},a.QUOTE_STRING_MODE,a.C_NUMBER_MODE,c,a.inherit(a.TITLE_MODE,{begin:"^[_a-z][\\w']*"}),{begin:"->|<-"}].concat(b)}}),a.registerLanguage("ruby",function(a){var b="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",c="and false then defined module in return redo if BEGIN retry end for true self when next until do begin unless END rescue nil else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",d={className:"doctag",begin:"@[A-Za-z]+"},e={className:"value",begin:"#<",end:">"},f=[a.COMMENT("#","$",{contains:[d]}),a.COMMENT("^\\=begin","^\\=end",{contains:[d],relevance:10}),a.COMMENT("^__END__","\\n$")],g={className:"subst",begin:"#\\{",end:"}",keywords:c},h={className:"string",contains:[a.BACKSLASH_ESCAPE,g],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:"%[qQwWx]?\\(",end:"\\)"},{begin:"%[qQwWx]?\\[",end:"\\]"},{begin:"%[qQwWx]?{",end:"}"},{begin:"%[qQwWx]?<",end:">"},{begin:"%[qQwWx]?/",end:"/"},{begin:"%[qQwWx]?%",end:"%"},{begin:"%[qQwWx]?-",end:"-"},{begin:"%[qQwWx]?\\|",end:"\\|"},{begin:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/}]},i={className:"params",begin:"\\(",end:"\\)",keywords:c},j=[h,e,{className:"class",beginKeywords:"class module",end:"$|;",illegal:/=/,contains:[a.inherit(a.TITLE_MODE,{begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{className:"inheritance",begin:"<\\s*",contains:[{className:"parent",begin:"("+a.IDENT_RE+"::)?"+a.IDENT_RE}]}].concat(f)},{className:"function",beginKeywords:"def",end:"$|;",contains:[a.inherit(a.TITLE_MODE,{begin:b}),i].concat(f)},{className:"constant",begin:"(::)?(\\b[A-Z]\\w*(::)?)+",relevance:0},{className:"symbol",begin:a.UNDERSCORE_IDENT_RE+"(\\!|\\?)?:",relevance:0},{className:"symbol",begin:":",contains:[h,{begin:b}],relevance:0},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{className:"variable",begin:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{begin:"("+a.RE_STARTERS_RE+")\\s*",contains:[e,{className:"regexp",contains:[a.BACKSLASH_ESCAPE,g],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:"%r{",end:"}[a-z]*"},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(f),relevance:0}].concat(f);g.contains=j,i.contains=j;var k="[>?]>",l="[\\w#]+\\(\\w+\\):\\d+:\\d+>",m="(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>",n=[{begin:/^\s*=>/,className:"status",starts:{end:"$",contains:j}},{className:"prompt",begin:"^("+k+"|"+l+"|"+m+")",starts:{end:"$",contains:j}}];return{aliases:["rb","gemspec","podspec","thor","irb"],keywords:c,illegal:/\/\*/,contains:f.concat(n).concat(j)}}),a.registerLanguage("erb",function(a){return{subLanguage:"xml",contains:[a.COMMENT("<%#","%>"),{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0}]}}),a.registerLanguage("erlang-repl",function(a){return{keywords:{special_functions:"spawn spawn_link self",reserved:"after and andalso|10 band begin bnot bor bsl bsr bxor case catch cond div end fun if let not of or orelse|10 query receive rem try when xor"},contains:[{className:"prompt",begin:"^[0-9]+> ",relevance:10},a.COMMENT("%","$"),{className:"number",begin:"\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)",relevance:0},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,{className:"constant",begin:"\\?(::)?([A-Z]\\w*(::)?)+"},{className:"arrow",begin:"->"},{className:"ok",begin:"ok"},{className:"exclamation_mark",begin:"!"},{className:"function_or_atom",begin:"(\\b[a-z'][a-zA-Z0-9_']*:[a-z'][a-zA-Z0-9_']*)|(\\b[a-z'][a-zA-Z0-9_']*)",relevance:0},{className:"variable",begin:"[A-Z][a-zA-Z0-9_']*",relevance:0}]}}),a.registerLanguage("erlang",function(a){var b="[a-z'][a-zA-Z0-9_']*",c="("+b+":"+b+"|"+b+")",d={keyword:"after and andalso|10 band begin bnot bor bsl bzr bxor case catch cond div end fun if let not of orelse|10 query receive rem try when xor",literal:"false true"},e=a.COMMENT("%","$"),f={className:"number",begin:"\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)",relevance:0},g={begin:"fun\\s+"+b+"/\\d+"},h={begin:c+"\\(",end:"\\)",returnBegin:!0,relevance:0,contains:[{className:"function_name",begin:c,relevance:0},{begin:"\\(",end:"\\)",endsWithParent:!0,returnEnd:!0,relevance:0}]},i={className:"tuple",begin:"{",end:"}",relevance:0},j={className:"variable",begin:"\\b_([A-Z][A-Za-z0-9_]*)?",relevance:0},k={className:"variable",begin:"[A-Z][a-zA-Z0-9_]*",relevance:0},l={begin:"#"+a.UNDERSCORE_IDENT_RE,relevance:0,returnBegin:!0,contains:[{className:"record_name",begin:"#"+a.UNDERSCORE_IDENT_RE,relevance:0},{begin:"{",end:"}",relevance:0}]},m={beginKeywords:"fun receive if try case",end:"end",keywords:d};m.contains=[e,g,a.inherit(a.APOS_STRING_MODE,{className:""}),m,h,a.QUOTE_STRING_MODE,f,i,j,k,l];var n=[e,g,m,h,a.QUOTE_STRING_MODE,f,i,j,k,l];h.contains[1].contains=n,i.contains=n,l.contains[1].contains=n;var o={className:"params",begin:"\\(",end:"\\)",contains:n};return{aliases:["erl"],keywords:d,illegal:"(</|\\*=|\\+=|-=|/\\*|\\*/|\\(\\*|\\*\\))",contains:[{className:"function",begin:"^"+b+"\\s*\\(",end:"->",returnBegin:!0,illegal:"\\(|#|//|/\\*|\\\\|:|;",contains:[o,a.inherit(a.TITLE_MODE,{begin:b})],starts:{end:";|\\.",keywords:d,contains:n}},e,{className:"pp",begin:"^-",end:"\\.",relevance:0,excludeEnd:!0,returnBegin:!0,lexemes:"-"+a.IDENT_RE,keywords:"-module -record -undef -export -ifdef -ifndef -author -copyright -doc -vsn -import -include -include_lib -compile -define -else -endif -file -behaviour -behavior -spec",contains:[o]},f,a.QUOTE_STRING_MODE,l,j,k,i,{begin:/\.$/}]}}),a.registerLanguage("fix",function(a){return{contains:[{begin:/[^\u2401\u0001]+/,end:/[\u2401\u0001]/,excludeEnd:!0,returnBegin:!0,returnEnd:!1,contains:[{begin:/([^\u2401\u0001=]+)/,end:/=([^\u2401\u0001=]+)/,returnEnd:!0,returnBegin:!1,className:"attribute"},{begin:/=/,end:/([\u2401\u0001])/,excludeEnd:!0,excludeBegin:!0,className:"string"}]}],case_insensitive:!0}}),a.registerLanguage("fortran",function(a){var b={className:"params",begin:"\\(",end:"\\)"},c={constant:".False. .True.",type:"integer real character complex logical dimension allocatable|10 parameter external implicit|10 none double precision assign intent optional pointer target in out common equivalence data",keyword:"kind do while private call intrinsic where elsewhere type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. goto save else use module select case access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit continue format pause cycle exit c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg synchronous nopass non_overridable pass protected volatile abstract extends import non_intrinsic value deferred generic final enumerator class associate bind enum c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated  c_f_pointer c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure",built_in:"alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_ofacosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image"};return{case_insensitive:!0,aliases:["f90","f95"],keywords:c,illegal:/\/\*/,contains:[a.inherit(a.APOS_STRING_MODE,{className:"string",relevance:0}),a.inherit(a.QUOTE_STRING_MODE,{className:"string",relevance:0}),{className:"function",beginKeywords:"subroutine function program",illegal:"[${=\\n]",contains:[a.UNDERSCORE_TITLE_MODE,b]},a.COMMENT("!","$",{relevance:0}),{className:"number",begin:"(?=\\b|\\+|\\-|\\.)(?=\\.\\d|\\d)(?:\\d+)?(?:\\.?\\d*)(?:[de][+-]?\\d+)?\\b\\.?",relevance:0}]}}),a.registerLanguage("fsharp",function(a){var b={begin:"<",end:">",contains:[a.inherit(a.TITLE_MODE,{begin:/'[a-zA-Z0-9_]+/})]};return{aliases:["fs"],keywords:"abstract and as assert base begin class default delegate do done downcast downto elif else end exception extern false finally for fun function global if in inherit inline interface internal lazy let match member module mutable namespace new null of open or override private public rec return sig static struct then to true try type upcast use val void when while with yield",illegal:/\/\*/,contains:[{className:"keyword",begin:/\b(yield|return|let|do)!/},{className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},{className:"string",begin:'"""',end:'"""'},a.COMMENT("\\(\\*","\\*\\)"),{className:"class",beginKeywords:"type",end:"\\(|=|$",excludeEnd:!0,contains:[a.UNDERSCORE_TITLE_MODE,b]},{className:"annotation",begin:"\\[<",end:">\\]",relevance:10},{className:"attribute",begin:"\\B('[A-Za-z])\\b",contains:[a.BACKSLASH_ESCAPE]},a.C_LINE_COMMENT_MODE,a.inherit(a.QUOTE_STRING_MODE,{illegal:null}),a.C_NUMBER_MODE]}}),a.registerLanguage("gams",function(a){var b="abort acronym acronyms alias all and assign binary card diag display else1 eps eq equation equations file files for1 free ge gt if inf integer le loop lt maximizing minimizing model models na ne negative no not option options or ord parameter parameters positive prod putpage puttl repeat sameas scalar scalars semicont semiint set1 sets smax smin solve sos1 sos2 sum system table then until using variable variables while1 xor yes";return{aliases:["gms"],case_insensitive:!0,keywords:b,contains:[{className:"section",beginKeywords:"sets parameters variables equations",end:";",contains:[{begin:"/",end:"/",contains:[a.NUMBER_MODE]}]},{className:"string",begin:"\\*{3}",end:"\\*{3}"},a.NUMBER_MODE,{className:"number",begin:"\\$[a-zA-Z0-9]+"}]}}),a.registerLanguage("gcode",function(a){var b="[A-Z_][A-Z0-9_.]*",c="\\%",d={literal:"",built_in:"",keyword:"IF DO WHILE ENDWHILE CALL ENDIF SUB ENDSUB GOTO REPEAT ENDREPEAT EQ LT GT NE GE LE OR XOR"},e={className:"preprocessor",begin:"([O])([0-9]+)"},f=[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.COMMENT(/\(/,/\)/),a.inherit(a.C_NUMBER_MODE,{begin:"([-+]?([0-9]*\\.?[0-9]+\\.?))|"+a.C_NUMBER_RE}),a.inherit(a.APOS_STRING_MODE,{illegal:null}),a.inherit(a.QUOTE_STRING_MODE,{illegal:null}),{className:"keyword",begin:"([G])([0-9]+\\.?[0-9]?)"},{className:"title",begin:"([M])([0-9]+\\.?[0-9]?)"},{className:"title",begin:"(VC|VS|#)",end:"(\\d+)"},{className:"title",begin:"(VZOFX|VZOFY|VZOFZ)"},{className:"built_in",begin:"(ATAN|ABS|ACOS|ASIN|SIN|COS|EXP|FIX|FUP|ROUND|LN|TAN)(\\[)",end:"([-+]?([0-9]*\\.?[0-9]+\\.?))(\\])"},{className:"label",variants:[{begin:"N",end:"\\d+",illegal:"\\W"}]}];return{aliases:["nc"],case_insensitive:!0,lexemes:b,keywords:d,contains:[{className:"preprocessor",begin:c},e].concat(f)}}),a.registerLanguage("gherkin",function(a){return{aliases:["feature"],keywords:"Feature Background Ability Business Need Scenario Scenarios Scenario Outline Scenario Template Examples Given And Then But When",contains:[{className:"keyword",begin:"\\*"},a.COMMENT("@[^@\r\n    ]+","$"),{begin:"\\|",end:"\\|\\w*$",contains:[{className:"string",begin:"[^|]+"}]},{className:"variable",begin:"<",end:">"},a.HASH_COMMENT_MODE,{className:"string",begin:'"""',end:'"""'},a.QUOTE_STRING_MODE]}}),a.registerLanguage("glsl",function(a){return{keywords:{keyword:"atomic_uint attribute bool break bvec2 bvec3 bvec4 case centroid coherent const continue default discard dmat2 dmat2x2 dmat2x3 dmat2x4 dmat3 dmat3x2 dmat3x3 dmat3x4 dmat4 dmat4x2 dmat4x3 dmat4x4 do double dvec2 dvec3 dvec4 else flat float for highp if iimage1D iimage1DArray iimage2D iimage2DArray iimage2DMS iimage2DMSArray iimage2DRect iimage3D iimageBuffer iimageCube iimageCubeArray image1D image1DArray image2D image2DArray image2DMS image2DMSArray image2DRect image3D imageBuffer imageCube imageCubeArray in inout int invariant isampler1D isampler1DArray isampler2D isampler2DArray isampler2DMS isampler2DMSArray isampler2DRect isampler3D isamplerBuffer isamplerCube isamplerCubeArray ivec2 ivec3 ivec4 layout lowp mat2 mat2x2 mat2x3 mat2x4 mat3 mat3x2 mat3x3 mat3x4 mat4 mat4x2 mat4x3 mat4x4 mediump noperspective out patch precision readonly restrict return sample sampler1D sampler1DArray sampler1DArrayShadow sampler1DShadow sampler2D sampler2DArray sampler2DArrayShadow sampler2DMS sampler2DMSArray sampler2DRect sampler2DRectShadow sampler2DShadow sampler3D samplerBuffer samplerCube samplerCubeArray samplerCubeArrayShadow samplerCubeShadow smooth struct subroutine switch uimage1D uimage1DArray uimage2D uimage2DArray uimage2DMS uimage2DMSArray uimage2DRect uimage3D uimageBuffer uimageCube uimageCubeArray uint uniform usampler1D usampler1DArray usampler2D usampler2DArray usampler2DMS usampler2DMSArray usampler2DRect usampler3D usamplerBuffer usamplerCube usamplerCubeArray uvec2 uvec3 uvec4 varying vec2 vec3 vec4 void volatile while writeonly",built_in:"gl_BackColor gl_BackLightModelProduct gl_BackLightProduct gl_BackMaterial gl_BackSecondaryColor gl_ClipDistance gl_ClipPlane gl_ClipVertex gl_Color gl_DepthRange gl_EyePlaneQ gl_EyePlaneR gl_EyePlaneS gl_EyePlaneT gl_Fog gl_FogCoord gl_FogFragCoord gl_FragColor gl_FragCoord gl_FragData gl_FragDepth gl_FrontColor gl_FrontFacing gl_FrontLightModelProduct gl_FrontLightProduct gl_FrontMaterial gl_FrontSecondaryColor gl_InstanceID gl_InvocationID gl_Layer gl_LightModel gl_LightSource gl_MaxAtomicCounterBindings gl_MaxAtomicCounterBufferSize gl_MaxClipDistances gl_MaxClipPlanes gl_MaxCombinedAtomicCounterBuffers gl_MaxCombinedAtomicCounters gl_MaxCombinedImageUniforms gl_MaxCombinedImageUnitsAndFragmentOutputs gl_MaxCombinedTextureImageUnits gl_MaxDrawBuffers gl_MaxFragmentAtomicCounterBuffers gl_MaxFragmentAtomicCounters gl_MaxFragmentImageUniforms gl_MaxFragmentInputComponents gl_MaxFragmentUniformComponents gl_MaxFragmentUniformVectors gl_MaxGeometryAtomicCounterBuffers gl_MaxGeometryAtomicCounters gl_MaxGeometryImageUniforms gl_MaxGeometryInputComponents gl_MaxGeometryOutputComponents gl_MaxGeometryOutputVertices gl_MaxGeometryTextureImageUnits gl_MaxGeometryTotalOutputComponents gl_MaxGeometryUniformComponents gl_MaxGeometryVaryingComponents gl_MaxImageSamples gl_MaxImageUnits gl_MaxLights gl_MaxPatchVertices gl_MaxProgramTexelOffset gl_MaxTessControlAtomicCounterBuffers gl_MaxTessControlAtomicCounters gl_MaxTessControlImageUniforms gl_MaxTessControlInputComponents gl_MaxTessControlOutputComponents gl_MaxTessControlTextureImageUnits gl_MaxTessControlTotalOutputComponents gl_MaxTessControlUniformComponents gl_MaxTessEvaluationAtomicCounterBuffers gl_MaxTessEvaluationAtomicCounters gl_MaxTessEvaluationImageUniforms gl_MaxTessEvaluationInputComponents gl_MaxTessEvaluationOutputComponents gl_MaxTessEvaluationTextureImageUnits gl_MaxTessEvaluationUniformComponents gl_MaxTessGenLevel gl_MaxTessPatchComponents gl_MaxTextureCoords gl_MaxTextureImageUnits gl_MaxTextureUnits gl_MaxVaryingComponents gl_MaxVaryingFloats gl_MaxVaryingVectors gl_MaxVertexAtomicCounterBuffers gl_MaxVertexAtomicCounters gl_MaxVertexAttribs gl_MaxVertexImageUniforms gl_MaxVertexOutputComponents gl_MaxVertexTextureImageUnits gl_MaxVertexUniformComponents gl_MaxVertexUniformVectors gl_MaxViewports gl_MinProgramTexelOffsetgl_ModelViewMatrix gl_ModelViewMatrixInverse gl_ModelViewMatrixInverseTranspose gl_ModelViewMatrixTranspose gl_ModelViewProjectionMatrix gl_ModelViewProjectionMatrixInverse gl_ModelViewProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixTranspose gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_Normal gl_NormalMatrix gl_NormalScale gl_ObjectPlaneQ gl_ObjectPlaneR gl_ObjectPlaneS gl_ObjectPlaneT gl_PatchVerticesIn gl_PerVertex gl_Point gl_PointCoord gl_PointSize gl_Position gl_PrimitiveID gl_PrimitiveIDIn gl_ProjectionMatrix gl_ProjectionMatrixInverse gl_ProjectionMatrixInverseTranspose gl_ProjectionMatrixTranspose gl_SampleID gl_SampleMask gl_SampleMaskIn gl_SamplePosition gl_SecondaryColor gl_TessCoord gl_TessLevelInner gl_TessLevelOuter gl_TexCoord gl_TextureEnvColor gl_TextureMatrixInverseTranspose gl_TextureMatrixTranspose gl_Vertex gl_VertexID gl_ViewportIndex gl_in gl_out EmitStreamVertex EmitVertex EndPrimitive EndStreamPrimitive abs acos acosh all any asin asinh atan atanh atomicCounter atomicCounterDecrement atomicCounterIncrement barrier bitCount bitfieldExtract bitfieldInsert bitfieldReverse ceil clamp cos cosh cross dFdx dFdy degrees determinant distance dot equal exp exp2 faceforward findLSB findMSB floatBitsToInt floatBitsToUint floor fma fract frexp ftransform fwidth greaterThan greaterThanEqual imageAtomicAdd imageAtomicAnd imageAtomicCompSwap imageAtomicExchange imageAtomicMax imageAtomicMin imageAtomicOr imageAtomicXor imageLoad imageStore imulExtended intBitsToFloat interpolateAtCentroid interpolateAtOffset interpolateAtSample inverse inversesqrt isinf isnan ldexp length lessThan lessThanEqual log log2 matrixCompMult max memoryBarrier min mix mod modf noise1 noise2 noise3 noise4 normalize not notEqual outerProduct packDouble2x32 packHalf2x16 packSnorm2x16 packSnorm4x8 packUnorm2x16 packUnorm4x8 pow radians reflect refract round roundEven shadow1D shadow1DLod shadow1DProj shadow1DProjLod shadow2D shadow2DLod shadow2DProj shadow2DProjLod sign sin sinh smoothstep sqrt step tan tanh texelFetch texelFetchOffset texture texture1D texture1DLod texture1DProj texture1DProjLod texture2D texture2DLod texture2DProj texture2DProjLod texture3D texture3DLod texture3DProj texture3DProjLod textureCube textureCubeLod textureGather textureGatherOffset textureGatherOffsets textureGrad textureGradOffset textureLod textureLodOffset textureOffset textureProj textureProjGrad textureProjGradOffset textureProjLod textureProjLodOffset textureProjOffset textureQueryLod textureSize transpose trunc uaddCarry uintBitsToFloat umulExtended unpackDouble2x32 unpackHalf2x16 unpackSnorm2x16 unpackSnorm4x8 unpackUnorm2x16 unpackUnorm4x8 usubBorrow gl_TextureMatrix gl_TextureMatrixInverse",literal:"true false"},illegal:'"',contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.C_NUMBER_MODE,{className:"preprocessor",begin:"#",end:"$"}]}}),a.registerLanguage("go",function(a){var b={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer",
+constant:"true false iota nil",typename:"bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{aliases:["golang"],keywords:b,illegal:"</",contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'"},{className:"string",begin:"`",end:"`"},{className:"number",begin:a.C_NUMBER_RE+"[dflsi]?",relevance:0},a.C_NUMBER_MODE]}}),a.registerLanguage("golo",function(a){return{keywords:{keyword:"println readln print import module function local return let var while for foreach times in case when match with break continue augment augmentation each find filter reduce if then else otherwise try catch finally raise throw orIfNull",typename:"DynamicObject|10 DynamicVariable struct Observable map set vector list array",literal:"true false null"},contains:[a.HASH_COMMENT_MODE,a.QUOTE_STRING_MODE,a.C_NUMBER_MODE,{className:"annotation",begin:"@[A-Za-z]+"}]}}),a.registerLanguage("gradle",function(a){return{case_insensitive:!0,keywords:{keyword:"task project allprojects subprojects artifacts buildscript configurations dependencies repositories sourceSets description delete from into include exclude source classpath destinationDir includes options sourceCompatibility targetCompatibility group flatDir doLast doFirst flatten todir fromdir ant def abstract break case catch continue default do else extends final finally for if implements instanceof native new private protected public return static switch synchronized throw throws transient try volatile while strictfp package import false null super this true antlrtask checkstyle codenarc copy boolean byte char class double float int interface long short void compile runTime file fileTree abs any append asList asWritable call collect compareTo count div dump each eachByte eachFile eachLine every find findAll flatten getAt getErr getIn getOut getText grep immutable inject inspect intersect invokeMethods isCase join leftShift minus multiply newInputStream newOutputStream newPrintWriter newReader newWriter next plus pop power previous print println push putAt read readBytes readLines reverse reverseEach round size sort splitEachLine step subMap times toInteger toList tokenize upto waitForOrKill withPrintWriter withReader withStream withWriter withWriterAppend write writeLine"},contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.NUMBER_MODE,a.REGEXP_MODE]}}),a.registerLanguage("groovy",function(a){return{keywords:{typename:"byte short char int long boolean float double void",literal:"true false null",keyword:"def as in assert trait super this abstract static volatile transient public private protected synchronized final class interface enum if else for while switch case break default continue throw throws try catch finally implements extends new import package return instanceof"},contains:[a.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{className:"string",begin:'"""',end:'"""'},{className:"string",begin:"'''",end:"'''"},{className:"string",begin:"\\$/",end:"/\\$",relevance:10},a.APOS_STRING_MODE,{className:"regexp",begin:/~?\/[^\/\n]+\//,contains:[a.BACKSLASH_ESCAPE]},a.QUOTE_STRING_MODE,{className:"shebang",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},a.BINARY_NUMBER_MODE,{className:"class",beginKeywords:"class interface trait enum",end:"{",illegal:":",contains:[{beginKeywords:"extends implements"},a.UNDERSCORE_TITLE_MODE]},a.C_NUMBER_MODE,{className:"annotation",begin:"@[A-Za-z]+"},{className:"string",begin:/[^\?]{0}[A-Za-z0-9_$]+ *:/},{begin:/\?/,end:/\:/},{className:"label",begin:"^\\s*[A-Za-z0-9_$]+:",relevance:0}],illegal:/#/}}),a.registerLanguage("haml",function(a){return{case_insensitive:!0,contains:[{className:"doctype",begin:"^!!!( (5|1\\.1|Strict|Frameset|Basic|Mobile|RDFa|XML\\b.*))?$",relevance:10},a.COMMENT("^\\s*(!=#|=#|-#|/).*$",!1,{relevance:0}),{begin:"^\\s*(-|=|!=)(?!#)",starts:{end:"\\n",subLanguage:"ruby"}},{className:"tag",begin:"^\\s*%",contains:[{className:"title",begin:"\\w+"},{className:"value",begin:"[#\\.][\\w-]+"},{begin:"{\\s*",end:"\\s*}",excludeEnd:!0,contains:[{begin:":\\w+\\s*=>",end:",\\s+",returnBegin:!0,endsWithParent:!0,contains:[{className:"symbol",begin:":\\w+"},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,{begin:"\\w+",relevance:0}]}]},{begin:"\\(\\s*",end:"\\s*\\)",excludeEnd:!0,contains:[{begin:"\\w+\\s*=",end:"\\s+",returnBegin:!0,endsWithParent:!0,contains:[{className:"attribute",begin:"\\w+",relevance:0},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,{begin:"\\w+",relevance:0}]}]}]},{className:"bullet",begin:"^\\s*[=~]\\s*",relevance:0},{begin:"#{",starts:{end:"}",subLanguage:"ruby"}}]}}),a.registerLanguage("handlebars",function(a){var b="each in with if else unless bindattr action collection debugger log outlet template unbound view yield";return{aliases:["hbs","html.hbs","html.handlebars"],case_insensitive:!0,subLanguage:"xml",contains:[{className:"expression",begin:"{{",end:"}}",contains:[{className:"begin-block",begin:"#[a-zA-Z- .]+",keywords:b},{className:"string",begin:'"',end:'"'},{className:"end-block",begin:"\\/[a-zA-Z- .]+",keywords:b},{className:"variable",begin:"[a-zA-Z-.]+",keywords:b}]}]}}),a.registerLanguage("haskell",function(a){var b=[a.COMMENT("--","$"),a.COMMENT("{-","-}",{contains:["self"]})],c={className:"pragma",begin:"{-#",end:"#-}"},d={className:"preprocessor",begin:"^#",end:"$"},e={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},f={className:"container",begin:"\\(",end:"\\)",illegal:'"',contains:[c,d,{className:"type",begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},a.inherit(a.TITLE_MODE,{begin:"[_a-z][\\w']*"})].concat(b)},g={className:"container",begin:"{",end:"}",contains:f.contains};return{aliases:["hs"],keywords:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",contains:[{className:"module",begin:"\\bmodule\\b",end:"where",keywords:"module where",contains:[f].concat(b),illegal:"\\W\\.|;"},{className:"import",begin:"\\bimport\\b",end:"$",keywords:"import|0 qualified as hiding",contains:[f].concat(b),illegal:"\\W\\.|;"},{className:"class",begin:"^(\\s*)?(class|instance)\\b",end:"where",keywords:"class family instance where",contains:[e,f].concat(b)},{className:"typedef",begin:"\\b(data|(new)?type)\\b",end:"$",keywords:"data family type newtype deriving",contains:[c,e,f,g].concat(b)},{className:"default",beginKeywords:"default",end:"$",contains:[e,f].concat(b)},{className:"infix",beginKeywords:"infix infixl infixr",end:"$",contains:[a.C_NUMBER_MODE].concat(b)},{className:"foreign",begin:"\\bforeign\\b",end:"$",keywords:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",contains:[e,a.QUOTE_STRING_MODE].concat(b)},{className:"shebang",begin:"#!\\/usr\\/bin\\/env runhaskell",end:"$"},c,d,a.QUOTE_STRING_MODE,a.C_NUMBER_MODE,e,a.inherit(a.TITLE_MODE,{begin:"^[_a-z][\\w']*"}),{begin:"->|<-"}].concat(b)}}),a.registerLanguage("haxe",function(a){var b="([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)";return{aliases:["hx"],keywords:{keyword:"break callback case cast catch class continue default do dynamic else enum extends extern for function here if implements import in inline interface never new override package private public return static super switch this throw trace try typedef untyped using var while",literal:"true false null"},contains:[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.C_NUMBER_MODE,{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,contains:[{beginKeywords:"extends implements"},a.TITLE_MODE]},{className:"preprocessor",begin:"#",end:"$",keywords:"if else elseif end error"},{className:"function",beginKeywords:"function",end:"[{;]",excludeEnd:!0,illegal:"\\S",contains:[a.TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",contains:[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},{className:"type",begin:":",end:b,relevance:10}]}]}}),a.registerLanguage("http",function(a){return{aliases:["https"],illegal:"\\S",contains:[{className:"status",begin:"^HTTP/[0-9\\.]+",end:"$",contains:[{className:"number",begin:"\\b\\d{3}\\b"}]},{className:"request",begin:"^[A-Z]+ (.*?) HTTP/[0-9\\.]+$",returnBegin:!0,end:"$",contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0}]},{className:"attribute",begin:"^\\w",end:": ",excludeEnd:!0,illegal:"\\n|\\s|=",starts:{className:"string",end:"$"}},{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}]}}),a.registerLanguage("inform7",function(a){var b="\\[",c="\\]";return{aliases:["i7"],case_insensitive:!0,keywords:{keyword:"thing room person man woman animal container supporter backdrop door scenery open closed locked inside gender is are say understand kind of rule"},contains:[{className:"string",begin:'"',end:'"',relevance:0,contains:[{className:"subst",begin:b,end:c}]},{className:"title",begin:/^(Volume|Book|Part|Chapter|Section|Table)\b/,end:"$"},{begin:/^(Check|Carry out|Report|Instead of|To|Rule|When|Before|After)\b/,end:":",contains:[{begin:"\\b\\(This",end:"\\)"}]},{className:"comment",begin:b,end:c,contains:["self"]}]}}),a.registerLanguage("ini",function(a){var b={className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]};return{aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[a.COMMENT(";","$"),a.HASH_COMMENT_MODE,{className:"title",begin:/^\s*\[+/,end:/\]+/},{className:"setting",begin:/^[a-z0-9\[\]_-]+\s*=\s*/,end:"$",contains:[{className:"value",endsWithParent:!0,keywords:"on off true false yes no",contains:[{className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)}/}]},b,{className:"number",begin:/([\+\-]+)?[\d]+_[\d_]+/},a.NUMBER_MODE],relevance:0}]}]}}),a.registerLanguage("irpf90",function(a){var b={className:"params",begin:"\\(",end:"\\)"},c={constant:".False. .True.",type:"integer real character complex logical dimension allocatable|10 parameter external implicit|10 none double precision assign intent optional pointer target in out common equivalence data",keyword:"kind do while private call intrinsic where elsewhere type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. goto save else use module select case access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit continue format pause cycle exit c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg synchronous nopass non_overridable pass protected volatile abstract extends import non_intrinsic value deferred generic final enumerator class associate bind enum c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated  c_f_pointer c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure begin_provider &begin_provider end_provider begin_shell end_shell begin_template end_template subst assert touch soft_touch provide no_dep free irp_if irp_else irp_endif irp_write irp_read",built_in:"alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_ofacosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image IRP_ALIGN irp_here"};return{case_insensitive:!0,keywords:c,illegal:/\/\*/,contains:[a.inherit(a.APOS_STRING_MODE,{className:"string",relevance:0}),a.inherit(a.QUOTE_STRING_MODE,{className:"string",relevance:0}),{className:"function",beginKeywords:"subroutine function program",illegal:"[${=\\n]",contains:[a.UNDERSCORE_TITLE_MODE,b]},a.COMMENT("!","$",{relevance:0}),a.COMMENT("begin_doc","end_doc",{relevance:10}),{className:"number",begin:"(?=\\b|\\+|\\-|\\.)(?=\\.\\d|\\d)(?:\\d+)?(?:\\.?\\d*)(?:[de][+-]?\\d+)?\\b\\.?",relevance:0}]}}),a.registerLanguage("java",function(a){var b=a.UNDERSCORE_IDENT_RE+"(<"+a.UNDERSCORE_IDENT_RE+">)?",c="false synchronized int abstract float private char boolean static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private",d="\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",e={className:"number",begin:d,relevance:0};return{aliases:["jsp"],keywords:c,illegal:/<\/|#/,contains:[a.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,{className:"class",beginKeywords:"class interface",end:/[{;=]/,excludeEnd:!0,keywords:"class interface",illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends implements"},a.UNDERSCORE_TITLE_MODE]},{beginKeywords:"new throw return else",relevance:0},{className:"function",begin:"("+b+"\\s+)+"+a.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:c,contains:[{begin:a.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[a.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_NUMBER_MODE,a.C_BLOCK_COMMENT_MODE]},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},e,{className:"annotation",begin:"@[A-Za-z]+"}]}}),a.registerLanguage("javascript",function(a){return{aliases:["js"],keywords:{keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},contains:[{className:"pi",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,{className:"string",begin:"`",end:"`",contains:[a.BACKSLASH_ESCAPE,{className:"subst",begin:"\\$\\{",end:"\\}"}]},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{className:"number",variants:[{begin:"\\b(0[bB][01]+)"},{begin:"\\b(0[oO][0-7]+)"},{begin:a.C_NUMBER_RE}],relevance:0},{begin:"("+a.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.REGEXP_MODE,{begin:/</,end:/>\s*[);\]]/,relevance:0,subLanguage:"xml"}],relevance:0},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[a.inherit(a.TITLE_MODE,{begin:/[A-Za-z$_][0-9A-Za-z$_]*/}),{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]}],illegal:/\[|%/},{begin:/\$[(.]/},{begin:"\\."+a.IDENT_RE,relevance:0},{beginKeywords:"import",end:"[;$]",keywords:"import from as",contains:[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE]},{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends"},a.UNDERSCORE_TITLE_MODE]}],illegal:/#/}}),a.registerLanguage("json",function(a){var b={literal:"true false null"},c=[a.QUOTE_STRING_MODE,a.C_NUMBER_MODE],d={className:"value",end:",",endsWithParent:!0,excludeEnd:!0,contains:c,keywords:b},e={begin:"{",end:"}",contains:[{className:"attribute",begin:'\\s*"',end:'"\\s*:\\s*',excludeBegin:!0,excludeEnd:!0,contains:[a.BACKSLASH_ESCAPE],illegal:"\\n",starts:d}],illegal:"\\S"},f={begin:"\\[",end:"\\]",contains:[a.inherit(d,{className:null})],illegal:"\\S"};return c.splice(c.length,0,e,f),{contains:c,keywords:b,illegal:"\\S"}}),a.registerLanguage("julia",function(a){var b={keyword:"in abstract baremodule begin bitstype break catch ccall const continue do else elseif end export finally for function global if immutable import importall let local macro module quote return try type typealias using while",literal:"true false ANY ARGS CPU_CORES C_NULL DL_LOAD_PATH DevNull ENDIAN_BOM ENV I|0 Inf Inf16 Inf32 InsertionSort JULIA_HOME LOAD_PATH MS_ASYNC MS_INVALIDATE MS_SYNC MergeSort NaN NaN16 NaN32 OS_NAME QuickSort RTLD_DEEPBIND RTLD_FIRST RTLD_GLOBAL RTLD_LAZY RTLD_LOCAL RTLD_NODELETE RTLD_NOLOAD RTLD_NOW RoundDown RoundFromZero RoundNearest RoundToZero RoundUp STDERR STDIN STDOUT VERSION WORD_SIZE catalan cglobal e|0 eu|0 eulergamma golden im nothing pi γ π φ",built_in:"ASCIIString AbstractArray AbstractRNG AbstractSparseArray Any ArgumentError Array Associative Base64Pipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError Box CFILE Cchar Cdouble Cfloat Char CharString Cint Clong Clonglong ClusterManager Cmd Coff_t Colon Complex Complex128 Complex32 Complex64 Condition Cptrdiff_t Cshort Csize_t Cssize_t Cuchar Cuint Culong Culonglong Cushort Cwchar_t DArray DataType DenseArray Diagonal Dict DimensionMismatch DirectIndexString Display DivideError DomainError EOFError EachLine Enumerate ErrorException Exception Expr Factorization FileMonitor FileOffset Filter Float16 Float32 Float64 FloatRange FloatingPoint Function GetfieldNode GotoNode Hermitian IO IOBuffer IOStream IPv4 IPv6 InexactError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException IntrinsicFunction KeyError LabelNode LambdaStaticData LineNumberNode LoadError LocalProcess MIME MathConst MemoryError MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode Nothing Number ObjectIdDict OrdinalRange OverflowError ParseError PollingFileWatcher ProcessExitedException ProcessGroup Ptr QuoteNode Range Range1 Ranges Rational RawFD Real Regex RegexMatch RemoteRef RepString RevString RopeString RoundingMode Set SharedArray Signed SparseMatrixCSC StackOverflowError Stat StatStruct StepRange String SubArray SubString SymTridiagonal Symbol SymbolNode Symmetric SystemError Task TextDisplay Timer TmStruct TopNode Triangular Tridiagonal Type TypeConstructor TypeError TypeName TypeVar UTF16String UTF32String UTF8String UdpSocket Uint Uint128 Uint16 Uint32 Uint64 Uint8 UndefRefError UndefVarError UniformScaling UnionType UnitRange Unsigned Vararg VersionNumber WString WeakKeyDict WeakRef Woodbury Zip"},c="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",d={lexemes:c,keywords:b},e={className:"type-annotation",begin:/::/},f={className:"subtype",begin:/<:/},g={className:"number",begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,relevance:0},h={className:"char",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},i={className:"subst",begin:/\$\(/,end:/\)/,keywords:b},j={className:"variable",begin:"\\$"+c},k={className:"string",contains:[a.BACKSLASH_ESCAPE,i,j],variants:[{begin:/\w*"/,end:/"\w*/},{begin:/\w*"""/,end:/"""\w*/}]},l={className:"string",contains:[a.BACKSLASH_ESCAPE,i,j],begin:"`",end:"`"},m={className:"macrocall",begin:"@"+c},n={className:"comment",variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#",end:"$"}]};return d.contains=[g,h,e,f,k,l,m,n,a.HASH_COMMENT_MODE],i.contains=d.contains,d}),a.registerLanguage("kotlin",function(a){var b="val var get set class trait object public open private protected final enum if else do while for when break continue throw try catch finally import package is as in return fun override default companion reified inline volatile transient native";return{keywords:{typename:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null",keyword:b},contains:[a.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{className:"type",begin:/</,end:/>/,returnBegin:!0,excludeEnd:!1,relevance:0},{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:b,illegal:/fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/,relevance:5,contains:[{begin:a.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[a.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,keywords:b,relevance:0,illegal:/\([^\(,\s:]+,/,contains:[{className:"typename",begin:/:\s*/,end:/\s*[=\)]/,excludeBegin:!0,returnEnd:!0,relevance:0}]},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},{className:"class",beginKeywords:"class trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[a.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"typename",begin:/[,:]\s*/,end:/[<\(,]|$/,excludeBegin:!0,returnEnd:!0}]},{className:"variable",beginKeywords:"var val",end:/\s*[=:$]/,excludeEnd:!0},a.QUOTE_STRING_MODE,{className:"shebang",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},a.C_NUMBER_MODE]}}),a.registerLanguage("lasso",function(a){var b="[a-zA-Z_][a-zA-Z0-9_.]*",c="<\\?(lasso(script)?|=)",d="\\]|\\?>",e={literal:"true false none minimal full all void bw nbw ew new cn ncn lt lte gt gte eq neq rx nrx ft",built_in:"array date decimal duration integer map pair string tag xml null boolean bytes keyword list locale queue set stack staticarray local var variable global data self inherited currentcapture givenblock",keyword:"error_code error_msg error_pop error_push error_reset cache database_names database_schemanames database_tablenames define_tag define_type email_batch encode_set html_comment handle handle_error header if inline iterate ljax_target link link_currentaction link_currentgroup link_currentrecord link_detail link_firstgroup link_firstrecord link_lastgroup link_lastrecord link_nextgroup link_nextrecord link_prevgroup link_prevrecord log loop namespace_using output_none portal private protect records referer referrer repeating resultset rows search_args search_arguments select sort_args sort_arguments thread_atomic value_list while abort case else if_empty if_false if_null if_true loop_abort loop_continue loop_count params params_up return return_value run_children soap_definetag soap_lastrequest soap_lastresponse tag_name ascending average by define descending do equals frozen group handle_failure import in into join let match max min on order parent protected provide public require returnhome skip split_thread sum take thread to trait type where with yield yieldhome"},f=a.COMMENT("<!--","-->",{relevance:0}),g={className:"preprocessor",begin:"\\[noprocess\\]",starts:{className:"markup",end:"\\[/noprocess\\]",returnEnd:!0,contains:[f]}},h={className:"preprocessor",begin:"\\[/noprocess|"+c},i={className:"variable",begin:"'"+b+"'"},j=[a.COMMENT("/\\*\\*!","\\*/"),a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.inherit(a.C_NUMBER_MODE,{begin:a.C_NUMBER_RE+"|(infinity|nan)\\b"}),a.inherit(a.APOS_STRING_MODE,{illegal:null}),a.inherit(a.QUOTE_STRING_MODE,{illegal:null}),{className:"string",begin:"`",end:"`"},{className:"variable",variants:[{begin:"[#$]"+b},{begin:"#",end:"\\d+",illegal:"\\W"}]},{className:"tag",begin:"::\\s*",end:b,illegal:"\\W"},{className:"attribute",variants:[{begin:"-(?!infinity)"+a.UNDERSCORE_IDENT_RE,relevance:0},{begin:"(\\.\\.\\.)"}]},{className:"subst",variants:[{begin:"->\\s*",contains:[i]},{begin:"->|\\\\|&&?|\\|\\||!(?!=|>)|(and|or|not)\\b",relevance:0}]},{className:"built_in",begin:"\\.\\.?\\s*",relevance:0,contains:[i]},{className:"class",beginKeywords:"define",returnEnd:!0,end:"\\(|=>",contains:[a.inherit(a.TITLE_MODE,{begin:a.UNDERSCORE_IDENT_RE+"(=(?!>))?"})]}];return{aliases:["ls","lassoscript"],case_insensitive:!0,lexemes:b+"|&[lg]t;",keywords:e,contains:[{className:"preprocessor",begin:d,relevance:0,starts:{className:"markup",end:"\\[|"+c,returnEnd:!0,relevance:0,contains:[f]}},g,h,{className:"preprocessor",begin:"\\[no_square_brackets",starts:{end:"\\[/no_square_brackets\\]",lexemes:b+"|&[lg]t;",keywords:e,contains:[{className:"preprocessor",begin:d,relevance:0,starts:{className:"markup",end:"\\[noprocess\\]|"+c,returnEnd:!0,contains:[f]}},g,h].concat(j)}},{className:"preprocessor",begin:"\\[",relevance:0},{className:"shebang",begin:"^#!.+lasso9\\b",relevance:10}].concat(j)}}),a.registerLanguage("less",function(a){var b="[\\w-]+",c="("+b+"|@{"+b+"})",d=[],e=[],f=function(a){return{className:"string",begin:"~?"+a+".*?"+a}},g=function(a,b,c){return{className:a,begin:b,relevance:c}},h=function(b,c,d){return a.inherit({className:b,begin:c+"\\(",end:"\\(",returnBegin:!0,excludeEnd:!0,relevance:0},d)},i={begin:"\\(",end:"\\)",contains:e,relevance:0};e.push(a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,f("'"),f('"'),a.CSS_NUMBER_MODE,g("hexcolor","#[0-9A-Fa-f]+\\b"),h("function","(url|data-uri)",{starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}}),h("function",b),i,g("variable","@@?"+b,10),g("variable","@{"+b+"}"),g("built_in","~?`[^`]*?`"),{className:"attribute",begin:b+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0});var j=e.concat({begin:"{",end:"}",contains:d}),k={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(e)},l={className:"attribute",begin:c,end:":",excludeEnd:!0,contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE],illegal:/\S/,starts:{end:"[;}]",returnEnd:!0,contains:e,illegal:"[<=$]"}},m={className:"at_rule",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",returnEnd:!0,contains:e,relevance:0}},n={className:"variable",variants:[{begin:"@"+b+"\\s*:",relevance:15},{begin:"@"+b}],starts:{end:"[;}]",returnEnd:!0,contains:j}},o={variants:[{begin:"[\\.#:&\\[]",end:"[;{}]"},{begin:c+"[^;]*{",end:"{"}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,k,g("keyword","all\\b"),g("variable","@{"+b+"}"),g("tag",c+"%?",0),g("id","#"+c),g("class","\\."+c,0),g("keyword","&",0),h("pseudo",":not"),h("keyword",":extend"),g("pseudo","::?"+c),{className:"attr_selector",begin:"\\[",end:"\\]"},{begin:"\\(",end:"\\)",contains:j},{begin:"!important"}]};return d.push(a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,m,n,o,l),{case_insensitive:!0,illegal:"[=>'/<($\"]",contains:d}}),a.registerLanguage("lisp",function(a){var b="[a-zA-Z_\\-\\+\\*\\/\\<\\=\\>\\&\\#][a-zA-Z0-9_\\-\\+\\*\\/\\<\\=\\>\\&\\#!]*",c="\\|[^]*?\\|",d="(\\-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s|D|E|F|L|S)(\\+|\\-)?\\d+)?",e={className:"shebang",begin:"^#!",end:"$"},f={className:"literal",begin:"\\b(t{1}|nil)\\b"},g={className:"number",variants:[{begin:d,relevance:0},{begin:"#(b|B)[0-1]+(/[0-1]+)?"},{begin:"#(o|O)[0-7]+(/[0-7]+)?"},{begin:"#(x|X)[0-9a-fA-F]+(/[0-9a-fA-F]+)?"},{begin:"#(c|C)\\("+d+" +"+d,end:"\\)"}]},h=a.inherit(a.QUOTE_STRING_MODE,{illegal:null}),i=a.COMMENT(";","$",{relevance:0}),j={className:"variable",begin:"\\*",end:"\\*"},k={className:"keyword",begin:"[:&]"+b},l={begin:b,relevance:0},m={begin:c},n={begin:"\\(",end:"\\)",contains:["self",f,h,g,l]},o={className:"quoted",contains:[g,h,j,k,n,l],variants:[{begin:"['`]\\(",end:"\\)"},{begin:"\\(quote ",end:"\\)",keywords:"quote"},{begin:"'"+c}]},p={className:"quoted",variants:[{begin:"'"+b},{begin:"#'"+b+"(::"+b+")*"}]},q={className:"list",begin:"\\(\\s*",end:"\\)"},r={endsWithParent:!0,relevance:0};return q.contains=[{className:"keyword",variants:[{begin:b},{begin:c}]},r],r.contains=[o,p,q,f,g,h,i,j,k,m,l],{illegal:/\S/,contains:[g,e,f,h,i,o,p,q,l]}}),a.registerLanguage("livecodeserver",function(a){var b={className:"variable",begin:"\\b[gtps][A-Z]+[A-Za-z0-9_\\-]*\\b|\\$_[A-Z]+",relevance:0},c=[a.C_BLOCK_COMMENT_MODE,a.HASH_COMMENT_MODE,a.COMMENT("--","$"),a.COMMENT("[^:]//","$")],d=a.inherit(a.TITLE_MODE,{variants:[{begin:"\\b_*rig[A-Z]+[A-Za-z0-9_\\-]*"},{begin:"\\b_[a-z0-9\\-]+"}]}),e=a.inherit(a.TITLE_MODE,{begin:"\\b([A-Za-z0-9_\\-]+)\\b"});return{case_insensitive:!1,keywords:{keyword:"$_COOKIE $_FILES $_GET $_GET_BINARY $_GET_RAW $_POST $_POST_BINARY $_POST_RAW $_SESSION $_SERVER codepoint codepoints segment segments codeunit codeunits sentence sentences trueWord trueWords paragraph after byte bytes english the until http forever descending using line real8 with seventh for stdout finally element word words fourth before black ninth sixth characters chars stderr uInt1 uInt1s uInt2 uInt2s stdin string lines relative rel any fifth items from middle mid at else of catch then third it file milliseconds seconds second secs sec int1 int1s int4 int4s internet int2 int2s normal text item last long detailed effective uInt4 uInt4s repeat end repeat URL in try into switch to words https token binfile each tenth as ticks tick system real4 by dateItems without char character ascending eighth whole dateTime numeric short first ftp integer abbreviated abbr abbrev private case while if",
+constant:"SIX TEN FORMFEED NINE ZERO NONE SPACE FOUR FALSE COLON CRLF PI COMMA ENDOFFILE EOF EIGHT FIVE QUOTE EMPTY ONE TRUE RETURN CR LINEFEED RIGHT BACKSLASH NULL SEVEN TAB THREE TWO six ten formfeed nine zero none space four false colon crlf pi comma endoffile eof eight five quote empty one true return cr linefeed right backslash null seven tab three two RIVERSION RISTATE FILE_READ_MODE FILE_WRITE_MODE FILE_WRITE_MODE DIR_WRITE_MODE FILE_READ_UMASK FILE_WRITE_UMASK DIR_READ_UMASK DIR_WRITE_UMASK",operator:"div mod wrap and or bitAnd bitNot bitOr bitXor among not in a an within contains ends with begins the keys of keys",built_in:"put abs acos aliasReference annuity arrayDecode arrayEncode asin atan atan2 average avg avgDev base64Decode base64Encode baseConvert binaryDecode binaryEncode byteOffset byteToNum cachedURL cachedURLs charToNum cipherNames codepointOffset codepointProperty codepointToNum codeunitOffset commandNames compound compress constantNames cos date dateFormat decompress directories diskSpace DNSServers exp exp1 exp2 exp10 extents files flushEvents folders format functionNames geometricMean global globals hasMemory harmonicMean hostAddress hostAddressToName hostName hostNameToAddress isNumber ISOToMac itemOffset keys len length libURLErrorData libUrlFormData libURLftpCommand libURLLastHTTPHeaders libURLLastRHHeaders libUrlMultipartFormAddPart libUrlMultipartFormData libURLVersion lineOffset ln ln1 localNames log log2 log10 longFilePath lower macToISO matchChunk matchText matrixMultiply max md5Digest median merge millisec millisecs millisecond milliseconds min monthNames nativeCharToNum normalizeText num number numToByte numToChar numToCodepoint numToNativeChar offset open openfiles openProcesses openProcessIDs openSockets paragraphOffset paramCount param params peerAddress pendingMessages platform popStdDev populationStandardDeviation populationVariance popVariance processID random randomBytes replaceText result revCreateXMLTree revCreateXMLTreeFromFile revCurrentRecord revCurrentRecordIsFirst revCurrentRecordIsLast revDatabaseColumnCount revDatabaseColumnIsNull revDatabaseColumnLengths revDatabaseColumnNames revDatabaseColumnNamed revDatabaseColumnNumbered revDatabaseColumnTypes revDatabaseConnectResult revDatabaseCursors revDatabaseID revDatabaseTableNames revDatabaseType revDataFromQuery revdb_closeCursor revdb_columnbynumber revdb_columncount revdb_columnisnull revdb_columnlengths revdb_columnnames revdb_columntypes revdb_commit revdb_connect revdb_connections revdb_connectionerr revdb_currentrecord revdb_cursorconnection revdb_cursorerr revdb_cursors revdb_dbtype revdb_disconnect revdb_execute revdb_iseof revdb_isbof revdb_movefirst revdb_movelast revdb_movenext revdb_moveprev revdb_query revdb_querylist revdb_recordcount revdb_rollback revdb_tablenames revGetDatabaseDriverPath revNumberOfRecords revOpenDatabase revOpenDatabases revQueryDatabase revQueryDatabaseBlob revQueryResult revQueryIsAtStart revQueryIsAtEnd revUnixFromMacPath revXMLAttribute revXMLAttributes revXMLAttributeValues revXMLChildContents revXMLChildNames revXMLCreateTreeFromFileWithNamespaces revXMLCreateTreeWithNamespaces revXMLDataFromXPathQuery revXMLEvaluateXPath revXMLFirstChild revXMLMatchingNode revXMLNextSibling revXMLNodeContents revXMLNumberOfChildren revXMLParent revXMLPreviousSibling revXMLRootNode revXMLRPC_CreateRequest revXMLRPC_Documents revXMLRPC_Error revXMLRPC_GetHost revXMLRPC_GetMethod revXMLRPC_GetParam revXMLText revXMLRPC_Execute revXMLRPC_GetParamCount revXMLRPC_GetParamNode revXMLRPC_GetParamType revXMLRPC_GetPath revXMLRPC_GetPort revXMLRPC_GetProtocol revXMLRPC_GetRequest revXMLRPC_GetResponse revXMLRPC_GetSocket revXMLTree revXMLTrees revXMLValidateDTD revZipDescribeItem revZipEnumerateItems revZipOpenArchives round sampVariance sec secs seconds sentenceOffset sha1Digest shell shortFilePath sin specialFolderPath sqrt standardDeviation statRound stdDev sum sysError systemVersion tan tempName textDecode textEncode tick ticks time to tokenOffset toLower toUpper transpose truewordOffset trunc uniDecode uniEncode upper URLDecode URLEncode URLStatus uuid value variableNames variance version waitDepth weekdayNames wordOffset xsltApplyStylesheet xsltApplyStylesheetFromFile xsltLoadStylesheet xsltLoadStylesheetFromFile add breakpoint cancel clear local variable file word line folder directory URL close socket process combine constant convert create new alias folder directory decrypt delete variable word line folder directory URL dispatch divide do encrypt filter get include intersect kill libURLDownloadToFile libURLFollowHttpRedirects libURLftpUpload libURLftpUploadFile libURLresetAll libUrlSetAuthCallback libURLSetCustomHTTPHeaders libUrlSetExpect100 libURLSetFTPListCommand libURLSetFTPMode libURLSetFTPStopTime libURLSetStatusCallback load multiply socket prepare process post seek rel relative read from process rename replace require resetAll resolve revAddXMLNode revAppendXML revCloseCursor revCloseDatabase revCommitDatabase revCopyFile revCopyFolder revCopyXMLNode revDeleteFolder revDeleteXMLNode revDeleteAllXMLTrees revDeleteXMLTree revExecuteSQL revGoURL revInsertXMLNode revMoveFolder revMoveToFirstRecord revMoveToLastRecord revMoveToNextRecord revMoveToPreviousRecord revMoveToRecord revMoveXMLNode revPutIntoXMLNode revRollBackDatabase revSetDatabaseDriverPath revSetXMLAttribute revXMLRPC_AddParam revXMLRPC_DeleteAllDocuments revXMLAddDTD revXMLRPC_Free revXMLRPC_FreeAll revXMLRPC_DeleteDocument revXMLRPC_DeleteParam revXMLRPC_SetHost revXMLRPC_SetMethod revXMLRPC_SetPort revXMLRPC_SetProtocol revXMLRPC_SetSocket revZipAddItemWithData revZipAddItemWithFile revZipAddUncompressedItemWithData revZipAddUncompressedItemWithFile revZipCancel revZipCloseArchive revZipDeleteItem revZipExtractItemToFile revZipExtractItemToVariable revZipSetProgressCallback revZipRenameItem revZipReplaceItemWithData revZipReplaceItemWithFile revZipOpenArchive send set sort split start stop subtract union unload wait write"},contains:[b,{className:"keyword",begin:"\\bend\\sif\\b"},{className:"function",beginKeywords:"function",end:"$",contains:[b,e,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.BINARY_NUMBER_MODE,a.C_NUMBER_MODE,d]},{className:"function",begin:"\\bend\\s+",end:"$",keywords:"end",contains:[e,d]},{className:"command",beginKeywords:"command on",end:"$",contains:[b,e,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.BINARY_NUMBER_MODE,a.C_NUMBER_MODE,d]},{className:"preprocessor",variants:[{begin:"<\\?(rev|lc|livecode)",relevance:10},{begin:"<\\?"},{begin:"\\?>"}]},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.BINARY_NUMBER_MODE,a.C_NUMBER_MODE,d].concat(c),illegal:";$|^\\[|^="}}),a.registerLanguage("livescript",function(a){var b={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger case default function var with then unless until loop of by when and or is isnt not it that otherwise from to til fallthrough super case default function var void const let enum export import native __hasProp __extends __slice __bind __indexOf",literal:"true false null undefined yes no on off it that void",built_in:"npm require console print module global window document"},c="[A-Za-z$_](?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*",d=a.inherit(a.TITLE_MODE,{begin:c}),e={className:"subst",begin:/#\{/,end:/}/,keywords:b},f={className:"subst",begin:/#[A-Za-z$_]/,end:/(?:\-[0-9A-Za-z$_]|[0-9A-Za-z$_])*/,keywords:b},g=[a.BINARY_NUMBER_MODE,{className:"number",begin:"(\\b0[xX][a-fA-F0-9_]+)|(\\b\\d(\\d|_\\d)*(\\.(\\d(\\d|_\\d)*)?)?(_*[eE]([-+]\\d(_\\d|\\d)*)?)?[_a-z]*)",relevance:0,starts:{end:"(\\s*/)?",relevance:0}},{className:"string",variants:[{begin:/'''/,end:/'''/,contains:[a.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[a.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,contains:[a.BACKSLASH_ESCAPE,e,f]},{begin:/"/,end:/"/,contains:[a.BACKSLASH_ESCAPE,e,f]},{begin:/\\/,end:/(\s|$)/,excludeEnd:!0}]},{className:"pi",variants:[{begin:"//",end:"//[gim]*",contains:[e,a.HASH_COMMENT_MODE]},{begin:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{className:"property",begin:"@"+c},{begin:"``",end:"``",excludeBegin:!0,excludeEnd:!0,subLanguage:"javascript"}];e.contains=g;var h={className:"params",begin:"\\(",returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:b,contains:["self"].concat(g)}]};return{aliases:["ls"],keywords:b,illegal:/\/\*/,contains:g.concat([a.COMMENT("\\/\\*","\\*\\/"),a.HASH_COMMENT_MODE,{className:"function",contains:[d,h],returnBegin:!0,variants:[{begin:"("+c+"\\s*(?:=|:=)\\s*)?(\\(.*\\))?\\s*\\B\\->\\*?",end:"\\->\\*?"},{begin:"("+c+"\\s*(?:=|:=)\\s*)?!?(\\(.*\\))?\\s*\\B[-~]{1,2}>\\*?",end:"[-~]{1,2}>\\*?"},{begin:"("+c+"\\s*(?:=|:=)\\s*)?(\\(.*\\))?\\s*\\B!?[-~]{1,2}>\\*?",end:"!?[-~]{1,2}>\\*?"}]},{className:"class",beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[d]},d]},{className:"attribute",begin:c+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}),a.registerLanguage("lua",function(a){var b="\\[=*\\[",c="\\]=*\\]",d={begin:b,end:c,contains:["self"]},e=[a.COMMENT("--(?!"+b+")","$"),a.COMMENT("--"+b,c,{contains:[d],relevance:10})];return{lexemes:a.UNDERSCORE_IDENT_RE,keywords:{keyword:"and break do else elseif end false for if in local nil not or repeat return then true until while",built_in:"_G _VERSION assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall coroutine debug io math os package string table"},contains:e.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[a.inherit(a.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:e}].concat(e)},a.C_NUMBER_MODE,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,{className:"string",begin:b,end:c,contains:[d],relevance:5}])}}),a.registerLanguage("makefile",function(a){var b={className:"variable",begin:/\$\(/,end:/\)/,contains:[a.BACKSLASH_ESCAPE]};return{aliases:["mk","mak"],contains:[a.HASH_COMMENT_MODE,{begin:/^\w+\s*\W*=/,returnBegin:!0,relevance:0,starts:{className:"constant",end:/\s*\W*=/,excludeEnd:!0,starts:{end:/$/,relevance:0,contains:[b]}}},{className:"title",begin:/^[\w]+:\s*$/},{className:"phony",begin:/^\.PHONY:/,end:/$/,keywords:".PHONY",lexemes:/[\.\w]+/},{begin:/^\t+/,end:/$/,relevance:0,contains:[a.QUOTE_STRING_MODE,b]}]}}),a.registerLanguage("mathematica",function(a){return{aliases:["mma"],lexemes:"(\\$|\\b)"+a.IDENT_RE+"\\b",keywords:"AbelianGroup Abort AbortKernels AbortProtect Above Abs Absolute AbsoluteCorrelation AbsoluteCorrelationFunction AbsoluteCurrentValue AbsoluteDashing AbsoluteFileName AbsoluteOptions AbsolutePointSize AbsoluteThickness AbsoluteTime AbsoluteTiming AccountingForm Accumulate Accuracy AccuracyGoal ActionDelay ActionMenu ActionMenuBox ActionMenuBoxOptions Active ActiveItem ActiveStyle AcyclicGraphQ AddOnHelpPath AddTo AdjacencyGraph AdjacencyList AdjacencyMatrix AdjustmentBox AdjustmentBoxOptions AdjustTimeSeriesForecast AffineTransform After AiryAi AiryAiPrime AiryAiZero AiryBi AiryBiPrime AiryBiZero AlgebraicIntegerQ AlgebraicNumber AlgebraicNumberDenominator AlgebraicNumberNorm AlgebraicNumberPolynomial AlgebraicNumberTrace AlgebraicRules AlgebraicRulesData Algebraics AlgebraicUnitQ Alignment AlignmentMarker AlignmentPoint All AllowedDimensions AllowGroupClose AllowInlineCells AllowKernelInitialization AllowReverseGroupClose AllowScriptLevelChange AlphaChannel AlternatingGroup AlternativeHypothesis Alternatives AmbientLight Analytic AnchoredSearch And AndersonDarlingTest AngerJ AngleBracket AngularGauge Animate AnimationCycleOffset AnimationCycleRepetitions AnimationDirection AnimationDisplayTime AnimationRate AnimationRepetitions AnimationRunning Animator AnimatorBox AnimatorBoxOptions AnimatorElements Annotation Annuity AnnuityDue Antialiasing Antisymmetric Apart ApartSquareFree Appearance AppearanceElements AppellF1 Append AppendTo Apply ArcCos ArcCosh ArcCot ArcCoth ArcCsc ArcCsch ArcSec ArcSech ArcSin ArcSinDistribution ArcSinh ArcTan ArcTanh Arg ArgMax ArgMin ArgumentCountQ ARIMAProcess ArithmeticGeometricMean ARMAProcess ARProcess Array ArrayComponents ArrayDepth ArrayFlatten ArrayPad ArrayPlot ArrayQ ArrayReshape ArrayRules Arrays Arrow Arrow3DBox ArrowBox Arrowheads AspectRatio AspectRatioFixed Assert Assuming Assumptions AstronomicalData Asynchronous AsynchronousTaskObject AsynchronousTasks AtomQ Attributes AugmentedSymmetricPolynomial AutoAction AutoDelete AutoEvaluateEvents AutoGeneratedPackage AutoIndent AutoIndentSpacings AutoItalicWords AutoloadPath AutoMatch Automatic AutomaticImageSize AutoMultiplicationSymbol AutoNumberFormatting AutoOpenNotebooks AutoOpenPalettes AutorunSequencing AutoScaling AutoScroll AutoSpacing AutoStyleOptions AutoStyleWords Axes AxesEdge AxesLabel AxesOrigin AxesStyle Axis BabyMonsterGroupB Back Background BackgroundTasksSettings Backslash Backsubstitution Backward Band BandpassFilter BandstopFilter BarabasiAlbertGraphDistribution BarChart BarChart3D BarLegend BarlowProschanImportance BarnesG BarOrigin BarSpacing BartlettHannWindow BartlettWindow BaseForm Baseline BaselinePosition BaseStyle BatesDistribution BattleLemarieWavelet Because BeckmannDistribution Beep Before Begin BeginDialogPacket BeginFrontEndInteractionPacket BeginPackage BellB BellY Below BenfordDistribution BeniniDistribution BenktanderGibratDistribution BenktanderWeibullDistribution BernoulliB BernoulliDistribution BernoulliGraphDistribution BernoulliProcess BernsteinBasis BesselFilterModel BesselI BesselJ BesselJZero BesselK BesselY BesselYZero Beta BetaBinomialDistribution BetaDistribution BetaNegativeBinomialDistribution BetaPrimeDistribution BetaRegularized BetweennessCentrality BezierCurve BezierCurve3DBox BezierCurve3DBoxOptions BezierCurveBox BezierCurveBoxOptions BezierFunction BilateralFilter Binarize BinaryFormat BinaryImageQ BinaryRead BinaryReadList BinaryWrite BinCounts BinLists Binomial BinomialDistribution BinomialProcess BinormalDistribution BiorthogonalSplineWavelet BipartiteGraphQ BirnbaumImportance BirnbaumSaundersDistribution BitAnd BitClear BitGet BitLength BitNot BitOr BitSet BitShiftLeft BitShiftRight BitXor Black BlackmanHarrisWindow BlackmanNuttallWindow BlackmanWindow Blank BlankForm BlankNullSequence BlankSequence Blend Block BlockRandom BlomqvistBeta BlomqvistBetaTest Blue Blur BodePlot BohmanWindow Bold Bookmarks Boole BooleanConsecutiveFunction BooleanConvert BooleanCountingFunction BooleanFunction BooleanGraph BooleanMaxterms BooleanMinimize BooleanMinterms Booleans BooleanTable BooleanVariables BorderDimensions BorelTannerDistribution Bottom BottomHatTransform BoundaryStyle Bounds Box BoxBaselineShift BoxData BoxDimensions Boxed Boxes BoxForm BoxFormFormatTypes BoxFrame BoxID BoxMargins BoxMatrix BoxRatios BoxRotation BoxRotationPoint BoxStyle BoxWhiskerChart Bra BracketingBar BraKet BrayCurtisDistance BreadthFirstScan Break Brown BrownForsytheTest BrownianBridgeProcess BrowserCategory BSplineBasis BSplineCurve BSplineCurve3DBox BSplineCurveBox BSplineCurveBoxOptions BSplineFunction BSplineSurface BSplineSurface3DBox BubbleChart BubbleChart3D BubbleScale BubbleSizes BulletGauge BusinessDayQ ButterflyGraph ButterworthFilterModel Button ButtonBar ButtonBox ButtonBoxOptions ButtonCell ButtonContents ButtonData ButtonEvaluator ButtonExpandable ButtonFrame ButtonFunction ButtonMargins ButtonMinHeight ButtonNote ButtonNotebook ButtonSource ButtonStyle ButtonStyleMenuListing Byte ByteCount ByteOrdering C CachedValue CacheGraphics CalendarData CalendarType CallPacket CanberraDistance Cancel CancelButton CandlestickChart Cap CapForm CapitalDifferentialD CardinalBSplineBasis CarmichaelLambda Cases Cashflow Casoratian Catalan CatalanNumber Catch CauchyDistribution CauchyWindow CayleyGraph CDF CDFDeploy CDFInformation CDFWavelet Ceiling Cell CellAutoOverwrite CellBaseline CellBoundingBox CellBracketOptions CellChangeTimes CellContents CellContext CellDingbat CellDynamicExpression CellEditDuplicate CellElementsBoundingBox CellElementSpacings CellEpilog CellEvaluationDuplicate CellEvaluationFunction CellEventActions CellFrame CellFrameColor CellFrameLabelMargins CellFrameLabels CellFrameMargins CellGroup CellGroupData CellGrouping CellGroupingRules CellHorizontalScrolling CellID CellLabel CellLabelAutoDelete CellLabelMargins CellLabelPositioning CellMargins CellObject CellOpen CellPrint CellProlog Cells CellSize CellStyle CellTags CellularAutomaton CensoredDistribution Censoring Center CenterDot CentralMoment CentralMomentGeneratingFunction CForm ChampernowneNumber ChanVeseBinarize Character CharacterEncoding CharacterEncodingsPath CharacteristicFunction CharacteristicPolynomial CharacterRange Characters ChartBaseStyle ChartElementData ChartElementDataFunction ChartElementFunction ChartElements ChartLabels ChartLayout ChartLegends ChartStyle Chebyshev1FilterModel Chebyshev2FilterModel ChebyshevDistance ChebyshevT ChebyshevU Check CheckAbort CheckAll Checkbox CheckboxBar CheckboxBox CheckboxBoxOptions ChemicalData ChessboardDistance ChiDistribution ChineseRemainder ChiSquareDistribution ChoiceButtons ChoiceDialog CholeskyDecomposition Chop Circle CircleBox CircleDot CircleMinus CirclePlus CircleTimes CirculantGraph CityData Clear ClearAll ClearAttributes ClearSystemCache ClebschGordan ClickPane Clip ClipboardNotebook ClipFill ClippingStyle ClipPlanes ClipRange Clock ClockGauge ClockwiseContourIntegral Close Closed CloseKernels ClosenessCentrality Closing ClosingAutoSave ClosingEvent ClusteringComponents CMYKColor Coarse Coefficient CoefficientArrays CoefficientDomain CoefficientList CoefficientRules CoifletWavelet Collect Colon ColonForm ColorCombine ColorConvert ColorData ColorDataFunction ColorFunction ColorFunctionScaling Colorize ColorNegate ColorOutput ColorProfileData ColorQuantize ColorReplace ColorRules ColorSelectorSettings ColorSeparate ColorSetter ColorSetterBox ColorSetterBoxOptions ColorSlider ColorSpace Column ColumnAlignments ColumnBackgrounds ColumnForm ColumnLines ColumnsEqual ColumnSpacings ColumnWidths CommonDefaultFormatTypes Commonest CommonestFilter CommonUnits CommunityBoundaryStyle CommunityGraphPlot CommunityLabels CommunityRegionStyle CompatibleUnitQ CompilationOptions CompilationTarget Compile Compiled CompiledFunction Complement CompleteGraph CompleteGraphQ CompleteKaryTree CompletionsListPacket Complex Complexes ComplexExpand ComplexInfinity ComplexityFunction ComponentMeasurements ComponentwiseContextMenu Compose ComposeList ComposeSeries Composition CompoundExpression CompoundPoissonDistribution CompoundPoissonProcess CompoundRenewalProcess Compress CompressedData Condition ConditionalExpression Conditioned Cone ConeBox ConfidenceLevel ConfidenceRange ConfidenceTransform ConfigurationPath Congruent Conjugate ConjugateTranspose Conjunction Connect ConnectedComponents ConnectedGraphQ ConnesWindow ConoverTest ConsoleMessage ConsoleMessagePacket ConsolePrint Constant ConstantArray Constants ConstrainedMax ConstrainedMin ContentPadding ContentsBoundingBox ContentSelectable ContentSize Context ContextMenu Contexts ContextToFilename ContextToFileName Continuation Continue ContinuedFraction ContinuedFractionK ContinuousAction ContinuousMarkovProcess ContinuousTimeModelQ ContinuousWaveletData ContinuousWaveletTransform ContourDetect ContourGraphics ContourIntegral ContourLabels ContourLines ContourPlot ContourPlot3D Contours ContourShading ContourSmoothing ContourStyle ContraharmonicMean Control ControlActive ControlAlignment ControllabilityGramian ControllabilityMatrix ControllableDecomposition ControllableModelQ ControllerDuration ControllerInformation ControllerInformationData ControllerLinking ControllerManipulate ControllerMethod ControllerPath ControllerState ControlPlacement ControlsRendering ControlType Convergents ConversionOptions ConversionRules ConvertToBitmapPacket ConvertToPostScript ConvertToPostScriptPacket Convolve ConwayGroupCo1 ConwayGroupCo2 ConwayGroupCo3 CoordinateChartData CoordinatesToolOptions CoordinateTransform CoordinateTransformData CoprimeQ Coproduct CopulaDistribution Copyable CopyDirectory CopyFile CopyTag CopyToClipboard CornerFilter CornerNeighbors Correlation CorrelationDistance CorrelationFunction CorrelationTest Cos Cosh CoshIntegral CosineDistance CosineWindow CosIntegral Cot Coth Count CounterAssignments CounterBox CounterBoxOptions CounterClockwiseContourIntegral CounterEvaluator CounterFunction CounterIncrements CounterStyle CounterStyleMenuListing CountRoots CountryData Covariance CovarianceEstimatorFunction CovarianceFunction CoxianDistribution CoxIngersollRossProcess CoxModel CoxModelFit CramerVonMisesTest CreateArchive CreateDialog CreateDirectory CreateDocument CreateIntermediateDirectories CreatePalette CreatePalettePacket CreateScheduledTask CreateTemporary CreateWindow CriticalityFailureImportance CriticalitySuccessImportance CriticalSection Cross CrossingDetect CrossMatrix Csc Csch CubeRoot Cubics Cuboid CuboidBox Cumulant CumulantGeneratingFunction Cup CupCap Curl CurlyDoubleQuote CurlyQuote CurrentImage CurrentlySpeakingPacket CurrentValue CurvatureFlowFilter CurveClosed Cyan CycleGraph CycleIndexPolynomial Cycles CyclicGroup Cyclotomic Cylinder CylinderBox CylindricalDecomposition D DagumDistribution DamerauLevenshteinDistance DampingFactor Darker Dashed Dashing DataCompression DataDistribution DataRange DataReversed Date DateDelimiters DateDifference DateFunction DateList DateListLogPlot DateListPlot DatePattern DatePlus DateRange DateString DateTicksFormat DaubechiesWavelet DavisDistribution DawsonF DayCount DayCountConvention DayMatchQ DayName DayPlus DayRange DayRound DeBruijnGraph Debug DebugTag Decimal DeclareKnownSymbols DeclarePackage Decompose Decrement DedekindEta Default DefaultAxesStyle DefaultBaseStyle DefaultBoxStyle DefaultButton DefaultColor DefaultControlPlacement DefaultDuplicateCellStyle DefaultDuration DefaultElement DefaultFaceGridsStyle DefaultFieldHintStyle DefaultFont DefaultFontProperties DefaultFormatType DefaultFormatTypeForStyle DefaultFrameStyle DefaultFrameTicksStyle DefaultGridLinesStyle DefaultInlineFormatType DefaultInputFormatType DefaultLabelStyle DefaultMenuStyle DefaultNaturalLanguage DefaultNewCellStyle DefaultNewInlineCellStyle DefaultNotebook DefaultOptions DefaultOutputFormatType DefaultStyle DefaultStyleDefinitions DefaultTextFormatType DefaultTextInlineFormatType DefaultTicksStyle DefaultTooltipStyle DefaultValues Defer DefineExternal DefineInputStreamMethod DefineOutputStreamMethod Definition Degree DegreeCentrality DegreeGraphDistribution DegreeLexicographic DegreeReverseLexicographic Deinitialization Del Deletable Delete DeleteBorderComponents DeleteCases DeleteContents DeleteDirectory DeleteDuplicates DeleteFile DeleteSmallComponents DeleteWithContents DeletionWarning Delimiter DelimiterFlashTime DelimiterMatching Delimiters Denominator DensityGraphics DensityHistogram DensityPlot DependentVariables Deploy Deployed Depth DepthFirstScan Derivative DerivativeFilter DescriptorStateSpace DesignMatrix Det DGaussianWavelet DiacriticalPositioning Diagonal DiagonalMatrix Dialog DialogIndent DialogInput DialogLevel DialogNotebook DialogProlog DialogReturn DialogSymbols Diamond DiamondMatrix DiceDissimilarity DictionaryLookup DifferenceDelta DifferenceOrder DifferenceRoot DifferenceRootReduce Differences DifferentialD DifferentialRoot DifferentialRootReduce DifferentiatorFilter DigitBlock DigitBlockMinimum DigitCharacter DigitCount DigitQ DihedralGroup Dilation Dimensions DiracComb DiracDelta DirectedEdge DirectedEdges DirectedGraph DirectedGraphQ DirectedInfinity Direction Directive Directory DirectoryName DirectoryQ DirectoryStack DirichletCharacter DirichletConvolve DirichletDistribution DirichletL DirichletTransform DirichletWindow DisableConsolePrintPacket DiscreteChirpZTransform DiscreteConvolve DiscreteDelta DiscreteHadamardTransform DiscreteIndicator DiscreteLQEstimatorGains DiscreteLQRegulatorGains DiscreteLyapunovSolve DiscreteMarkovProcess DiscretePlot DiscretePlot3D DiscreteRatio DiscreteRiccatiSolve DiscreteShift DiscreteTimeModelQ DiscreteUniformDistribution DiscreteVariables DiscreteWaveletData DiscreteWaveletPacketTransform DiscreteWaveletTransform Discriminant Disjunction Disk DiskBox DiskMatrix Dispatch DispersionEstimatorFunction Display DisplayAllSteps DisplayEndPacket DisplayFlushImagePacket DisplayForm DisplayFunction DisplayPacket DisplayRules DisplaySetSizePacket DisplayString DisplayTemporary DisplayWith DisplayWithRef DisplayWithVariable DistanceFunction DistanceTransform Distribute Distributed DistributedContexts DistributeDefinitions DistributionChart DistributionDomain DistributionFitTest DistributionParameterAssumptions DistributionParameterQ Dithering Div Divergence Divide DivideBy Dividers Divisible Divisors DivisorSigma DivisorSum DMSList DMSString Do DockedCells DocumentNotebook DominantColors DOSTextFormat Dot DotDashed DotEqual Dotted DoubleBracketingBar DoubleContourIntegral DoubleDownArrow DoubleLeftArrow DoubleLeftRightArrow DoubleLeftTee DoubleLongLeftArrow DoubleLongLeftRightArrow DoubleLongRightArrow DoubleRightArrow DoubleRightTee DoubleUpArrow DoubleUpDownArrow DoubleVerticalBar DoublyInfinite Down DownArrow DownArrowBar DownArrowUpArrow DownLeftRightVector DownLeftTeeVector DownLeftVector DownLeftVectorBar DownRightTeeVector DownRightVector DownRightVectorBar Downsample DownTee DownTeeArrow DownValues DragAndDrop DrawEdges DrawFrontFaces DrawHighlighted Drop DSolve Dt DualLinearProgramming DualSystemsModel DumpGet DumpSave DuplicateFreeQ Dynamic DynamicBox DynamicBoxOptions DynamicEvaluationTimeout DynamicLocation DynamicModule DynamicModuleBox DynamicModuleBoxOptions DynamicModuleParent DynamicModuleValues DynamicName DynamicNamespace DynamicReference DynamicSetting DynamicUpdating DynamicWrapper DynamicWrapperBox DynamicWrapperBoxOptions E EccentricityCentrality EdgeAdd EdgeBetweennessCentrality EdgeCapacity EdgeCapForm EdgeColor EdgeConnectivity EdgeCost EdgeCount EdgeCoverQ EdgeDashing EdgeDelete EdgeDetect EdgeForm EdgeIndex EdgeJoinForm EdgeLabeling EdgeLabels EdgeLabelStyle EdgeList EdgeOpacity EdgeQ EdgeRenderingFunction EdgeRules EdgeShapeFunction EdgeStyle EdgeThickness EdgeWeight Editable EditButtonSettings EditCellTagsSettings EditDistance EffectiveInterest Eigensystem Eigenvalues EigenvectorCentrality Eigenvectors Element ElementData Eliminate EliminationOrder EllipticE EllipticExp EllipticExpPrime EllipticF EllipticFilterModel EllipticK EllipticLog EllipticNomeQ EllipticPi EllipticReducedHalfPeriods EllipticTheta EllipticThetaPrime EmitSound EmphasizeSyntaxErrors EmpiricalDistribution Empty EmptyGraphQ EnableConsolePrintPacket Enabled Encode End EndAdd EndDialogPacket EndFrontEndInteractionPacket EndOfFile EndOfLine EndOfString EndPackage EngineeringForm Enter EnterExpressionPacket EnterTextPacket Entropy EntropyFilter Environment Epilog Equal EqualColumns EqualRows EqualTilde EquatedTo Equilibrium EquirippleFilterKernel Equivalent Erf Erfc Erfi ErlangB ErlangC ErlangDistribution Erosion ErrorBox ErrorBoxOptions ErrorNorm ErrorPacket ErrorsDialogSettings EstimatedDistribution EstimatedProcess EstimatorGains EstimatorRegulator EuclideanDistance EulerE EulerGamma EulerianGraphQ EulerPhi Evaluatable Evaluate Evaluated EvaluatePacket EvaluationCell EvaluationCompletionAction EvaluationElements EvaluationMode EvaluationMonitor EvaluationNotebook EvaluationObject EvaluationOrder Evaluator EvaluatorNames EvenQ EventData EventEvaluator EventHandler EventHandlerTag EventLabels ExactBlackmanWindow ExactNumberQ ExactRootIsolation ExampleData Except ExcludedForms ExcludePods Exclusions ExclusionsStyle Exists Exit ExitDialog Exp Expand ExpandAll ExpandDenominator ExpandFileName ExpandNumerator Expectation ExpectationE ExpectedValue ExpGammaDistribution ExpIntegralE ExpIntegralEi Exponent ExponentFunction ExponentialDistribution ExponentialFamily ExponentialGeneratingFunction ExponentialMovingAverage ExponentialPowerDistribution ExponentPosition ExponentStep Export ExportAutoReplacements ExportPacket ExportString Expression ExpressionCell ExpressionPacket ExpToTrig ExtendedGCD Extension ExtentElementFunction ExtentMarkers ExtentSize ExternalCall ExternalDataCharacterEncoding Extract ExtractArchive ExtremeValueDistribution FaceForm FaceGrids FaceGridsStyle Factor FactorComplete Factorial Factorial2 FactorialMoment FactorialMomentGeneratingFunction FactorialPower FactorInteger FactorList FactorSquareFree FactorSquareFreeList FactorTerms FactorTermsList Fail FailureDistribution False FARIMAProcess FEDisableConsolePrintPacket FeedbackSector FeedbackSectorStyle FeedbackType FEEnableConsolePrintPacket Fibonacci FieldHint FieldHintStyle FieldMasked FieldSize File FileBaseName FileByteCount FileDate FileExistsQ FileExtension FileFormat FileHash FileInformation FileName FileNameDepth FileNameDialogSettings FileNameDrop FileNameJoin FileNames FileNameSetter FileNameSplit FileNameTake FilePrint FileType FilledCurve FilledCurveBox Filling FillingStyle FillingTransform FilterRules FinancialBond FinancialData FinancialDerivative FinancialIndicator Find FindArgMax FindArgMin FindClique FindClusters FindCurvePath FindDistributionParameters FindDivisions FindEdgeCover FindEdgeCut FindEulerianCycle FindFaces FindFile FindFit FindGeneratingFunction FindGeoLocation FindGeometricTransform FindGraphCommunities FindGraphIsomorphism FindGraphPartition FindHamiltonianCycle FindIndependentEdgeSet FindIndependentVertexSet FindInstance FindIntegerNullVector FindKClan FindKClique FindKClub FindKPlex FindLibrary FindLinearRecurrence FindList FindMaximum FindMaximumFlow FindMaxValue FindMinimum FindMinimumCostFlow FindMinimumCut FindMinValue FindPermutation FindPostmanTour FindProcessParameters FindRoot FindSequenceFunction FindSettings FindShortestPath FindShortestTour FindThreshold FindVertexCover FindVertexCut Fine FinishDynamic FiniteAbelianGroupCount FiniteGroupCount FiniteGroupData First FirstPassageTimeDistribution FischerGroupFi22 FischerGroupFi23 FischerGroupFi24Prime FisherHypergeometricDistribution FisherRatioTest FisherZDistribution Fit FitAll FittedModel FixedPoint FixedPointList FlashSelection Flat Flatten FlattenAt FlatTopWindow FlipView Floor FlushPrintOutputPacket Fold FoldList Font FontColor FontFamily FontForm FontName FontOpacity FontPostScriptName FontProperties FontReencoding FontSize FontSlant FontSubstitutions FontTracking FontVariations FontWeight For ForAll Format FormatRules FormatType FormatTypeAutoConvert FormatValues FormBox FormBoxOptions FortranForm Forward ForwardBackward Fourier FourierCoefficient FourierCosCoefficient FourierCosSeries FourierCosTransform FourierDCT FourierDCTFilter FourierDCTMatrix FourierDST FourierDSTMatrix FourierMatrix FourierParameters FourierSequenceTransform FourierSeries FourierSinCoefficient FourierSinSeries FourierSinTransform FourierTransform FourierTrigSeries FractionalBrownianMotionProcess FractionalPart FractionBox FractionBoxOptions FractionLine Frame FrameBox FrameBoxOptions Framed FrameInset FrameLabel Frameless FrameMargins FrameStyle FrameTicks FrameTicksStyle FRatioDistribution FrechetDistribution FreeQ FrequencySamplingFilterKernel FresnelC FresnelS Friday FrobeniusNumber FrobeniusSolve FromCharacterCode FromCoefficientRules FromContinuedFraction FromDate FromDigits FromDMS Front FrontEndDynamicExpression FrontEndEventActions FrontEndExecute FrontEndObject FrontEndResource FrontEndResourceString FrontEndStackSize FrontEndToken FrontEndTokenExecute FrontEndValueCache FrontEndVersion FrontFaceColor FrontFaceOpacity Full FullAxes FullDefinition FullForm FullGraphics FullOptions FullSimplify Function FunctionExpand FunctionInterpolation FunctionSpace FussellVeselyImportance GaborFilter GaborMatrix GaborWavelet GainMargins GainPhaseMargins Gamma GammaDistribution GammaRegularized GapPenalty Gather GatherBy GaugeFaceElementFunction GaugeFaceStyle GaugeFrameElementFunction GaugeFrameSize GaugeFrameStyle GaugeLabels GaugeMarkers GaugeStyle GaussianFilter GaussianIntegers GaussianMatrix GaussianWindow GCD GegenbauerC General GeneralizedLinearModelFit GenerateConditions GeneratedCell GeneratedParameters GeneratingFunction Generic GenericCylindricalDecomposition GenomeData GenomeLookup GeodesicClosing GeodesicDilation GeodesicErosion GeodesicOpening GeoDestination GeodesyData GeoDirection GeoDistance GeoGridPosition GeometricBrownianMotionProcess GeometricDistribution GeometricMean GeometricMeanFilter GeometricTransformation GeometricTransformation3DBox GeometricTransformation3DBoxOptions GeometricTransformationBox GeometricTransformationBoxOptions GeoPosition GeoPositionENU GeoPositionXYZ GeoProjectionData GestureHandler GestureHandlerTag Get GetBoundingBoxSizePacket GetContext GetEnvironment GetFileName GetFrontEndOptionsDataPacket GetLinebreakInformationPacket GetMenusPacket GetPageBreakInformationPacket Glaisher GlobalClusteringCoefficient GlobalPreferences GlobalSession Glow GoldenRatio GompertzMakehamDistribution GoodmanKruskalGamma GoodmanKruskalGammaTest Goto Grad Gradient GradientFilter GradientOrientationFilter Graph GraphAssortativity GraphCenter GraphComplement GraphData GraphDensity GraphDiameter GraphDifference GraphDisjointUnion GraphDistance GraphDistanceMatrix GraphElementData GraphEmbedding GraphHighlight GraphHighlightStyle GraphHub Graphics Graphics3D Graphics3DBox Graphics3DBoxOptions GraphicsArray GraphicsBaseline GraphicsBox GraphicsBoxOptions GraphicsColor GraphicsColumn GraphicsComplex GraphicsComplex3DBox GraphicsComplex3DBoxOptions GraphicsComplexBox GraphicsComplexBoxOptions GraphicsContents GraphicsData GraphicsGrid GraphicsGridBox GraphicsGroup GraphicsGroup3DBox GraphicsGroup3DBoxOptions GraphicsGroupBox GraphicsGroupBoxOptions GraphicsGrouping GraphicsHighlightColor GraphicsRow GraphicsSpacing GraphicsStyle GraphIntersection GraphLayout GraphLinkEfficiency GraphPeriphery GraphPlot GraphPlot3D GraphPower GraphPropertyDistribution GraphQ GraphRadius GraphReciprocity GraphRoot GraphStyle GraphUnion Gray GrayLevel GreatCircleDistance Greater GreaterEqual GreaterEqualLess GreaterFullEqual GreaterGreater GreaterLess GreaterSlantEqual GreaterTilde Green Grid GridBaseline GridBox GridBoxAlignment GridBoxBackground GridBoxDividers GridBoxFrame GridBoxItemSize GridBoxItemStyle GridBoxOptions GridBoxSpacings GridCreationSettings GridDefaultElement GridElementStyleOptions GridFrame GridFrameMargins GridGraph GridLines GridLinesStyle GroebnerBasis GroupActionBase GroupCentralizer GroupElementFromWord GroupElementPosition GroupElementQ GroupElements GroupElementToWord GroupGenerators GroupMultiplicationTable GroupOrbits GroupOrder GroupPageBreakWithin GroupSetwiseStabilizer GroupStabilizer GroupStabilizerChain Gudermannian GumbelDistribution HaarWavelet HadamardMatrix HalfNormalDistribution HamiltonianGraphQ HammingDistance HammingWindow HankelH1 HankelH2 HankelMatrix HannPoissonWindow HannWindow HaradaNortonGroupHN HararyGraph HarmonicMean HarmonicMeanFilter HarmonicNumber Hash HashTable Haversine HazardFunction Head HeadCompose Heads HeavisideLambda HeavisidePi HeavisideTheta HeldGroupHe HeldPart HelpBrowserLookup HelpBrowserNotebook HelpBrowserSettings HermiteDecomposition HermiteH HermitianMatrixQ HessenbergDecomposition Hessian HexadecimalCharacter Hexahedron HexahedronBox HexahedronBoxOptions HiddenSurface HighlightGraph HighlightImage HighpassFilter HigmanSimsGroupHS HilbertFilter HilbertMatrix Histogram Histogram3D HistogramDistribution HistogramList HistogramTransform HistogramTransformInterpolation HitMissTransform HITSCentrality HodgeDual HoeffdingD HoeffdingDTest Hold HoldAll HoldAllComplete HoldComplete HoldFirst HoldForm HoldPattern HoldRest HolidayCalendar HomeDirectory HomePage Horizontal HorizontalForm HorizontalGauge HorizontalScrollPosition HornerForm HotellingTSquareDistribution HoytDistribution HTMLSave Hue HumpDownHump HumpEqual HurwitzLerchPhi HurwitzZeta HyperbolicDistribution HypercubeGraph HyperexponentialDistribution Hyperfactorial Hypergeometric0F1 Hypergeometric0F1Regularized Hypergeometric1F1 Hypergeometric1F1Regularized Hypergeometric2F1 Hypergeometric2F1Regularized HypergeometricDistribution HypergeometricPFQ HypergeometricPFQRegularized HypergeometricU Hyperlink HyperlinkCreationSettings Hyphenation HyphenationOptions HypoexponentialDistribution HypothesisTestData I Identity IdentityMatrix If IgnoreCase Im Image Image3D Image3DSlices ImageAccumulate ImageAdd ImageAdjust ImageAlign ImageApply ImageAspectRatio ImageAssemble ImageCache ImageCacheValid ImageCapture ImageChannels ImageClip ImageColorSpace ImageCompose ImageConvolve ImageCooccurrence ImageCorners ImageCorrelate ImageCorrespondingPoints ImageCrop ImageData ImageDataPacket ImageDeconvolve ImageDemosaic ImageDifference ImageDimensions ImageDistance ImageEffect ImageFeatureTrack ImageFileApply ImageFileFilter ImageFileScan ImageFilter ImageForestingComponents ImageForwardTransformation ImageHistogram ImageKeypoints ImageLevels ImageLines ImageMargins ImageMarkers ImageMeasurements ImageMultiply ImageOffset ImagePad ImagePadding ImagePartition ImagePeriodogram ImagePerspectiveTransformation ImageQ ImageRangeCache ImageReflect ImageRegion ImageResize ImageResolution ImageRotate ImageRotated ImageScaled ImageScan ImageSize ImageSizeAction ImageSizeCache ImageSizeMultipliers ImageSizeRaw ImageSubtract ImageTake ImageTransformation ImageTrim ImageType ImageValue ImageValuePositions Implies Import ImportAutoReplacements ImportString ImprovementImportance In IncidenceGraph IncidenceList IncidenceMatrix IncludeConstantBasis IncludeFileExtension IncludePods IncludeSingularTerm Increment Indent IndentingNewlineSpacings IndentMaxFraction IndependenceTest IndependentEdgeSetQ IndependentUnit IndependentVertexSetQ Indeterminate IndexCreationOptions Indexed IndexGraph IndexTag Inequality InexactNumberQ InexactNumbers Infinity Infix Information Inherited InheritScope Initialization InitializationCell InitializationCellEvaluation InitializationCellWarning InlineCounterAssignments InlineCounterIncrements InlineRules Inner Inpaint Input InputAliases InputAssumptions InputAutoReplacements InputField InputFieldBox InputFieldBoxOptions InputForm InputGrouping InputNamePacket InputNotebook InputPacket InputSettings InputStream InputString InputStringPacket InputToBoxFormPacket Insert InsertionPointObject InsertResults Inset Inset3DBox Inset3DBoxOptions InsetBox InsetBoxOptions Install InstallService InString Integer IntegerDigits IntegerExponent IntegerLength IntegerPart IntegerPartitions IntegerQ Integers IntegerString Integral Integrate Interactive InteractiveTradingChart Interlaced Interleaving InternallyBalancedDecomposition InterpolatingFunction InterpolatingPolynomial Interpolation InterpolationOrder InterpolationPoints InterpolationPrecision Interpretation InterpretationBox InterpretationBoxOptions InterpretationFunction InterpretTemplate InterquartileRange Interrupt InterruptSettings Intersection Interval IntervalIntersection IntervalMemberQ IntervalUnion Inverse InverseBetaRegularized InverseCDF InverseChiSquareDistribution InverseContinuousWaveletTransform InverseDistanceTransform InverseEllipticNomeQ InverseErf InverseErfc InverseFourier InverseFourierCosTransform InverseFourierSequenceTransform InverseFourierSinTransform InverseFourierTransform InverseFunction InverseFunctions InverseGammaDistribution InverseGammaRegularized InverseGaussianDistribution InverseGudermannian InverseHaversine InverseJacobiCD InverseJacobiCN InverseJacobiCS InverseJacobiDC InverseJacobiDN InverseJacobiDS InverseJacobiNC InverseJacobiND InverseJacobiNS InverseJacobiSC InverseJacobiSD InverseJacobiSN InverseLaplaceTransform InversePermutation InverseRadon InverseSeries InverseSurvivalFunction InverseWaveletTransform InverseWeierstrassP InverseZTransform Invisible InvisibleApplication InvisibleTimes IrreduciblePolynomialQ IsolatingInterval IsomorphicGraphQ IsotopeData Italic Item ItemBox ItemBoxOptions ItemSize ItemStyle ItoProcess JaccardDissimilarity JacobiAmplitude Jacobian JacobiCD JacobiCN JacobiCS JacobiDC JacobiDN JacobiDS JacobiNC JacobiND JacobiNS JacobiP JacobiSC JacobiSD JacobiSN JacobiSymbol JacobiZeta JankoGroupJ1 JankoGroupJ2 JankoGroupJ3 JankoGroupJ4 JarqueBeraALMTest JohnsonDistribution Join Joined JoinedCurve JoinedCurveBox JoinForm JordanDecomposition JordanModelDecomposition K KagiChart KaiserBesselWindow KaiserWindow KalmanEstimator KalmanFilter KarhunenLoeveDecomposition KaryTree KatzCentrality KCoreComponents KDistribution KelvinBei KelvinBer KelvinKei KelvinKer KendallTau KendallTauTest KernelExecute KernelMixtureDistribution KernelObject Kernels Ket Khinchin KirchhoffGraph KirchhoffMatrix KleinInvariantJ KnightTourGraph KnotData KnownUnitQ KolmogorovSmirnovTest KroneckerDelta KroneckerModelDecomposition KroneckerProduct KroneckerSymbol KuiperTest KumaraswamyDistribution Kurtosis KuwaharaFilter Label Labeled LabeledSlider LabelingFunction LabelStyle LaguerreL LambdaComponents LambertW LanczosWindow LandauDistribution Language LanguageCategory LaplaceDistribution LaplaceTransform Laplacian LaplacianFilter LaplacianGaussianFilter Large Larger Last Latitude LatitudeLongitude LatticeData LatticeReduce Launch LaunchKernels LayeredGraphPlot LayerSizeFunction LayoutInformation LCM LeafCount LeapYearQ LeastSquares LeastSquaresFilterKernel Left LeftArrow LeftArrowBar LeftArrowRightArrow LeftDownTeeVector LeftDownVector LeftDownVectorBar LeftRightArrow LeftRightVector LeftTee LeftTeeArrow LeftTeeVector LeftTriangle LeftTriangleBar LeftTriangleEqual LeftUpDownVector LeftUpTeeVector LeftUpVector LeftUpVectorBar LeftVector LeftVectorBar LegendAppearance Legended LegendFunction LegendLabel LegendLayout LegendMargins LegendMarkers LegendMarkerSize LegendreP LegendreQ LegendreType Length LengthWhile LerchPhi Less LessEqual LessEqualGreater LessFullEqual LessGreater LessLess LessSlantEqual LessTilde LetterCharacter LetterQ Level LeveneTest LeviCivitaTensor LevyDistribution Lexicographic LibraryFunction LibraryFunctionError LibraryFunctionInformation LibraryFunctionLoad LibraryFunctionUnload LibraryLoad LibraryUnload LicenseID LiftingFilterData LiftingWaveletTransform LightBlue LightBrown LightCyan Lighter LightGray LightGreen Lighting LightingAngle LightMagenta LightOrange LightPink LightPurple LightRed LightSources LightYellow Likelihood Limit LimitsPositioning LimitsPositioningTokens LindleyDistribution Line Line3DBox LinearFilter LinearFractionalTransform LinearModelFit LinearOffsetFunction LinearProgramming LinearRecurrence LinearSolve LinearSolveFunction LineBox LineBreak LinebreakAdjustments LineBreakChart LineBreakWithin LineColor LineForm LineGraph LineIndent LineIndentMaxFraction LineIntegralConvolutionPlot LineIntegralConvolutionScale LineLegend LineOpacity LineSpacing LineWrapParts LinkActivate LinkClose LinkConnect LinkConnectedQ LinkCreate LinkError LinkFlush LinkFunction LinkHost LinkInterrupt LinkLaunch LinkMode LinkObject LinkOpen LinkOptions LinkPatterns LinkProtocol LinkRead LinkReadHeld LinkReadyQ Links LinkWrite LinkWriteHeld LiouvilleLambda List Listable ListAnimate ListContourPlot ListContourPlot3D ListConvolve ListCorrelate ListCurvePathPlot ListDeconvolve ListDensityPlot Listen ListFourierSequenceTransform ListInterpolation ListLineIntegralConvolutionPlot ListLinePlot ListLogLinearPlot ListLogLogPlot ListLogPlot ListPicker ListPickerBox ListPickerBoxBackground ListPickerBoxOptions ListPlay ListPlot ListPlot3D ListPointPlot3D ListPolarPlot ListQ ListStreamDensityPlot ListStreamPlot ListSurfacePlot3D ListVectorDensityPlot ListVectorPlot ListVectorPlot3D ListZTransform Literal LiteralSearch LocalClusteringCoefficient LocalizeVariables LocationEquivalenceTest LocationTest Locator LocatorAutoCreate LocatorBox LocatorBoxOptions LocatorCentering LocatorPane LocatorPaneBox LocatorPaneBoxOptions LocatorRegion Locked Log Log10 Log2 LogBarnesG LogGamma LogGammaDistribution LogicalExpand LogIntegral LogisticDistribution LogitModelFit LogLikelihood LogLinearPlot LogLogisticDistribution LogLogPlot LogMultinormalDistribution LogNormalDistribution LogPlot LogRankTest LogSeriesDistribution LongEqual Longest LongestAscendingSequence LongestCommonSequence LongestCommonSequencePositions LongestCommonSubsequence LongestCommonSubsequencePositions LongestMatch LongForm Longitude LongLeftArrow LongLeftRightArrow LongRightArrow Loopback LoopFreeGraphQ LowerCaseQ LowerLeftArrow LowerRightArrow LowerTriangularize LowpassFilter LQEstimatorGains LQGRegulator LQOutputRegulatorGains LQRegulatorGains LUBackSubstitution LucasL LuccioSamiComponents LUDecomposition LyapunovSolve LyonsGroupLy MachineID MachineName MachineNumberQ MachinePrecision MacintoshSystemPageSetup Magenta Magnification Magnify MainSolve MaintainDynamicCaches Majority MakeBoxes MakeExpression MakeRules MangoldtLambda ManhattanDistance Manipulate Manipulator MannWhitneyTest MantissaExponent Manual Map MapAll MapAt MapIndexed MAProcess MapThread MarcumQ MardiaCombinedTest MardiaKurtosisTest MardiaSkewnessTest MarginalDistribution MarkovProcessProperties Masking MatchingDissimilarity MatchLocalNameQ MatchLocalNames MatchQ Material MathematicaNotation MathieuC MathieuCharacteristicA MathieuCharacteristicB MathieuCharacteristicExponent MathieuCPrime MathieuGroupM11 MathieuGroupM12 MathieuGroupM22 MathieuGroupM23 MathieuGroupM24 MathieuS MathieuSPrime MathMLForm MathMLText Matrices MatrixExp MatrixForm MatrixFunction MatrixLog MatrixPlot MatrixPower MatrixQ MatrixRank Max MaxBend MaxDetect MaxExtraBandwidths MaxExtraConditions MaxFeatures MaxFilter Maximize MaxIterations MaxMemoryUsed MaxMixtureKernels MaxPlotPoints MaxPoints MaxRecursion MaxStableDistribution MaxStepFraction MaxSteps MaxStepSize MaxValue MaxwellDistribution McLaughlinGroupMcL Mean MeanClusteringCoefficient MeanDegreeConnectivity MeanDeviation MeanFilter MeanGraphDistance MeanNeighborDegree MeanShift MeanShiftFilter Median MedianDeviation MedianFilter Medium MeijerG MeixnerDistribution MemberQ MemoryConstrained MemoryInUse Menu MenuAppearance MenuCommandKey MenuEvaluator MenuItem MenuPacket MenuSortingValue MenuStyle MenuView MergeDifferences Mesh MeshFunctions MeshRange MeshShading MeshStyle Message MessageDialog MessageList MessageName MessageOptions MessagePacket Messages MessagesNotebook MetaCharacters MetaInformation Method MethodOptions MexicanHatWavelet MeyerWavelet Min MinDetect MinFilter MinimalPolynomial MinimalStateSpaceModel Minimize Minors MinRecursion MinSize MinStableDistribution Minus MinusPlus MinValue Missing MissingDataMethod MittagLefflerE MixedRadix MixedRadixQuantity MixtureDistribution Mod Modal Mode Modular ModularLambda Module Modulus MoebiusMu Moment Momentary MomentConvert MomentEvaluate MomentGeneratingFunction Monday Monitor MonomialList MonomialOrder MonsterGroupM MorletWavelet MorphologicalBinarize MorphologicalBranchPoints MorphologicalComponents MorphologicalEulerNumber MorphologicalGraph MorphologicalPerimeter MorphologicalTransform Most MouseAnnotation MouseAppearance MouseAppearanceTag MouseButtons Mouseover MousePointerNote MousePosition MovingAverage MovingMedian MoyalDistribution MultiedgeStyle MultilaunchWarning MultiLetterItalics MultiLetterStyle MultilineFunction Multinomial MultinomialDistribution MultinormalDistribution MultiplicativeOrder Multiplicity Multiselection MultivariateHypergeometricDistribution MultivariatePoissonDistribution MultivariateTDistribution N NakagamiDistribution NameQ Names NamespaceBox Nand NArgMax NArgMin NBernoulliB NCache NDSolve NDSolveValue Nearest NearestFunction NeedCurrentFrontEndPackagePacket NeedCurrentFrontEndSymbolsPacket NeedlemanWunschSimilarity Needs Negative NegativeBinomialDistribution NegativeMultinomialDistribution NeighborhoodGraph Nest NestedGreaterGreater NestedLessLess NestedScriptRules NestList NestWhile NestWhileList NevilleThetaC NevilleThetaD NevilleThetaN NevilleThetaS NewPrimitiveStyle NExpectation Next NextPrime NHoldAll NHoldFirst NHoldRest NicholsGridLines NicholsPlot NIntegrate NMaximize NMaxValue NMinimize NMinValue NominalVariables NonAssociative NoncentralBetaDistribution NoncentralChiSquareDistribution NoncentralFRatioDistribution NoncentralStudentTDistribution NonCommutativeMultiply NonConstants None NonlinearModelFit NonlocalMeansFilter NonNegative NonPositive Nor NorlundB Norm Normal NormalDistribution NormalGrouping Normalize NormalizedSquaredEuclideanDistance NormalsFunction NormFunction Not NotCongruent NotCupCap NotDoubleVerticalBar Notebook NotebookApply NotebookAutoSave NotebookClose NotebookConvertSettings NotebookCreate NotebookCreateReturnObject NotebookDefault NotebookDelete NotebookDirectory NotebookDynamicExpression NotebookEvaluate NotebookEventActions NotebookFileName NotebookFind NotebookFindReturnObject NotebookGet NotebookGetLayoutInformationPacket NotebookGetMisspellingsPacket NotebookInformation NotebookInterfaceObject NotebookLocate NotebookObject NotebookOpen NotebookOpenReturnObject NotebookPath NotebookPrint NotebookPut NotebookPutReturnObject NotebookRead NotebookResetGeneratedCells Notebooks NotebookSave NotebookSaveAs NotebookSelection NotebookSetupLayoutInformationPacket NotebooksMenu NotebookWrite NotElement NotEqualTilde NotExists NotGreater NotGreaterEqual NotGreaterFullEqual NotGreaterGreater NotGreaterLess NotGreaterSlantEqual NotGreaterTilde NotHumpDownHump NotHumpEqual NotLeftTriangle NotLeftTriangleBar NotLeftTriangleEqual NotLess NotLessEqual NotLessFullEqual NotLessGreater NotLessLess NotLessSlantEqual NotLessTilde NotNestedGreaterGreater NotNestedLessLess NotPrecedes NotPrecedesEqual NotPrecedesSlantEqual NotPrecedesTilde NotReverseElement NotRightTriangle NotRightTriangleBar NotRightTriangleEqual NotSquareSubset NotSquareSubsetEqual NotSquareSuperset NotSquareSupersetEqual NotSubset NotSubsetEqual NotSucceeds NotSucceedsEqual NotSucceedsSlantEqual NotSucceedsTilde NotSuperset NotSupersetEqual NotTilde NotTildeEqual NotTildeFullEqual NotTildeTilde NotVerticalBar NProbability NProduct NProductFactors NRoots NSolve NSum NSumTerms Null NullRecords NullSpace NullWords Number NumberFieldClassNumber NumberFieldDiscriminant NumberFieldFundamentalUnits NumberFieldIntegralBasis NumberFieldNormRepresentatives NumberFieldRegulator NumberFieldRootsOfUnity NumberFieldSignature NumberForm NumberFormat NumberMarks NumberMultiplier NumberPadding NumberPoint NumberQ NumberSeparator NumberSigns NumberString Numerator NumericFunction NumericQ NuttallWindow NValues NyquistGridLines NyquistPlot O ObservabilityGramian ObservabilityMatrix ObservableDecomposition ObservableModelQ OddQ Off Offset OLEData On ONanGroupON OneIdentity Opacity Open OpenAppend Opener OpenerBox OpenerBoxOptions OpenerView OpenFunctionInspectorPacket Opening OpenRead OpenSpecialOptions OpenTemporary OpenWrite Operate OperatingSystem OptimumFlowData Optional OptionInspectorSettings OptionQ Options OptionsPacket OptionsPattern OptionValue OptionValueBox OptionValueBoxOptions Or Orange Order OrderDistribution OrderedQ Ordering Orderless OrnsteinUhlenbeckProcess Orthogonalize Out Outer OutputAutoOverwrite OutputControllabilityMatrix OutputControllableModelQ OutputForm OutputFormData OutputGrouping OutputMathEditExpression OutputNamePacket OutputResponse OutputSizeLimit OutputStream Over OverBar OverDot Overflow OverHat Overlaps Overlay OverlayBox OverlayBoxOptions Overscript OverscriptBox OverscriptBoxOptions OverTilde OverVector OwenT OwnValues PackingMethod PaddedForm Padding PadeApproximant PadLeft PadRight PageBreakAbove PageBreakBelow PageBreakWithin PageFooterLines PageFooters PageHeaderLines PageHeaders PageHeight PageRankCentrality PageWidth PairedBarChart PairedHistogram PairedSmoothHistogram PairedTTest PairedZTest PaletteNotebook PalettePath Pane PaneBox PaneBoxOptions Panel PanelBox PanelBoxOptions Paneled PaneSelector PaneSelectorBox PaneSelectorBoxOptions PaperWidth ParabolicCylinderD ParagraphIndent ParagraphSpacing ParallelArray ParallelCombine ParallelDo ParallelEvaluate Parallelization Parallelize ParallelMap ParallelNeeds ParallelProduct ParallelSubmit ParallelSum ParallelTable ParallelTry Parameter ParameterEstimator ParameterMixtureDistribution ParameterVariables ParametricFunction ParametricNDSolve ParametricNDSolveValue ParametricPlot ParametricPlot3D ParentConnect ParentDirectory ParentForm Parenthesize ParentList ParetoDistribution Part PartialCorrelationFunction PartialD ParticleData Partition PartitionsP PartitionsQ ParzenWindow PascalDistribution PassEventsDown PassEventsUp Paste PasteBoxFormInlineCells PasteButton Path PathGraph PathGraphQ Pattern PatternSequence PatternTest PauliMatrix PaulWavelet Pause PausedTime PDF PearsonChiSquareTest PearsonCorrelationTest PearsonDistribution PerformanceGoal PeriodicInterpolation Periodogram PeriodogramArray PermutationCycles PermutationCyclesQ PermutationGroup PermutationLength PermutationList PermutationListQ PermutationMax PermutationMin PermutationOrder PermutationPower PermutationProduct PermutationReplace Permutations PermutationSupport Permute PeronaMalikFilter Perpendicular PERTDistribution PetersenGraph PhaseMargins Pi Pick PIDData PIDDerivativeFilter PIDFeedforward PIDTune Piecewise PiecewiseExpand PieChart PieChart3D PillaiTrace PillaiTraceTest Pink Pivoting PixelConstrained PixelValue PixelValuePositions Placed Placeholder PlaceholderReplace Plain PlanarGraphQ Play PlayRange Plot Plot3D Plot3Matrix PlotDivision PlotJoined PlotLabel PlotLayout PlotLegends PlotMarkers PlotPoints PlotRange PlotRangeClipping PlotRangePadding PlotRegion PlotStyle Plus PlusMinus Pochhammer PodStates PodWidth Point Point3DBox PointBox PointFigureChart PointForm PointLegend PointSize PoissonConsulDistribution PoissonDistribution PoissonProcess PoissonWindow PolarAxes PolarAxesOrigin PolarGridLines PolarPlot PolarTicks PoleZeroMarkers PolyaAeppliDistribution PolyGamma Polygon Polygon3DBox Polygon3DBoxOptions PolygonBox PolygonBoxOptions PolygonHoleScale PolygonIntersections PolygonScale PolyhedronData PolyLog PolynomialExtendedGCD PolynomialForm PolynomialGCD PolynomialLCM PolynomialMod PolynomialQ PolynomialQuotient PolynomialQuotientRemainder PolynomialReduce PolynomialRemainder Polynomials PopupMenu PopupMenuBox PopupMenuBoxOptions PopupView PopupWindow Position Positive PositiveDefiniteMatrixQ PossibleZeroQ Postfix PostScript Power PowerDistribution PowerExpand PowerMod PowerModList PowerSpectralDensity PowersRepresentations PowerSymmetricPolynomial Precedence PrecedenceForm Precedes PrecedesEqual PrecedesSlantEqual PrecedesTilde Precision PrecisionGoal PreDecrement PredictionRoot PreemptProtect PreferencesPath Prefix PreIncrement Prepend PrependTo PreserveImageOptions Previous PriceGraphDistribution PrimaryPlaceholder Prime PrimeNu PrimeOmega PrimePi PrimePowerQ PrimeQ Primes PrimeZetaP PrimitiveRoot PrincipalComponents PrincipalValue Print PrintAction PrintForm PrintingCopies PrintingOptions PrintingPageRange PrintingStartingPageNumber PrintingStyleEnvironment PrintPrecision PrintTemporary Prism PrismBox PrismBoxOptions PrivateCellOptions PrivateEvaluationOptions PrivateFontOptions PrivateFrontEndOptions PrivateNotebookOptions PrivatePaths Probability ProbabilityDistribution ProbabilityPlot ProbabilityPr ProbabilityScalePlot ProbitModelFit ProcessEstimator ProcessParameterAssumptions ProcessParameterQ ProcessStateDomain ProcessTimeDomain Product ProductDistribution ProductLog ProgressIndicator ProgressIndicatorBox ProgressIndicatorBoxOptions Projection Prolog PromptForm Properties Property PropertyList PropertyValue Proportion Proportional Protect Protected ProteinData Pruning PseudoInverse Purple Put PutAppend Pyramid PyramidBox PyramidBoxOptions QBinomial QFactorial QGamma QHypergeometricPFQ QPochhammer QPolyGamma QRDecomposition QuadraticIrrationalQ Quantile QuantilePlot Quantity QuantityForm QuantityMagnitude QuantityQ QuantityUnit Quartics QuartileDeviation Quartiles QuartileSkewness QueueingNetworkProcess QueueingProcess QueueProperties Quiet Quit Quotient QuotientRemainder RadialityCentrality RadicalBox RadicalBoxOptions RadioButton RadioButtonBar RadioButtonBox RadioButtonBoxOptions Radon RamanujanTau RamanujanTauL RamanujanTauTheta RamanujanTauZ Random RandomChoice RandomComplex RandomFunction RandomGraph RandomImage RandomInteger RandomPermutation RandomPrime RandomReal RandomSample RandomSeed RandomVariate RandomWalkProcess Range RangeFilter RangeSpecification RankedMax RankedMin Raster Raster3D Raster3DBox Raster3DBoxOptions RasterArray RasterBox RasterBoxOptions Rasterize RasterSize Rational RationalFunctions Rationalize Rationals Ratios Raw RawArray RawBoxes RawData RawMedium RayleighDistribution Re Read ReadList ReadProtected Real RealBlockDiagonalForm RealDigits RealExponent Reals Reap Record RecordLists RecordSeparators Rectangle RectangleBox RectangleBoxOptions RectangleChart RectangleChart3D RecurrenceFilter RecurrenceTable RecurringDigitsForm Red Reduce RefBox ReferenceLineStyle ReferenceMarkers ReferenceMarkerStyle Refine ReflectionMatrix ReflectionTransform Refresh RefreshRate RegionBinarize RegionFunction RegionPlot RegionPlot3D RegularExpression Regularization Reinstall Release ReleaseHold ReliabilityDistribution ReliefImage ReliefPlot Remove RemoveAlphaChannel RemoveAsynchronousTask Removed RemoveInputStreamMethod RemoveOutputStreamMethod RemoveProperty RemoveScheduledTask RenameDirectory RenameFile RenderAll RenderingOptions RenewalProcess RenkoChart Repeated RepeatedNull RepeatedString Replace ReplaceAll ReplaceHeldPart ReplaceImageValue ReplaceList ReplacePart ReplacePixelValue ReplaceRepeated Resampling Rescale RescalingTransform ResetDirectory ResetMenusPacket ResetScheduledTask Residue Resolve Rest Resultant ResumePacket Return ReturnExpressionPacket ReturnInputFormPacket ReturnPacket ReturnTextPacket Reverse ReverseBiorthogonalSplineWavelet ReverseElement ReverseEquilibrium ReverseGraph ReverseUpEquilibrium RevolutionAxis RevolutionPlot3D RGBColor RiccatiSolve RiceDistribution RidgeFilter RiemannR RiemannSiegelTheta RiemannSiegelZ Riffle Right RightArrow RightArrowBar RightArrowLeftArrow RightCosetRepresentative RightDownTeeVector RightDownVector RightDownVectorBar RightTee RightTeeArrow RightTeeVector RightTriangle RightTriangleBar RightTriangleEqual RightUpDownVector RightUpTeeVector RightUpVector RightUpVectorBar RightVector RightVectorBar RiskAchievementImportance RiskReductionImportance RogersTanimotoDissimilarity Root RootApproximant RootIntervals RootLocusPlot RootMeanSquare RootOfUnityQ RootReduce Roots RootSum Rotate RotateLabel RotateLeft RotateRight RotationAction RotationBox RotationBoxOptions RotationMatrix RotationTransform Round RoundImplies RoundingRadius Row RowAlignments RowBackgrounds RowBox RowHeights RowLines RowMinHeight RowReduce RowsEqual RowSpacings RSolve RudvalisGroupRu Rule RuleCondition RuleDelayed RuleForm RulerUnits Run RunScheduledTask RunThrough RuntimeAttributes RuntimeOptions RussellRaoDissimilarity SameQ SameTest SampleDepth SampledSoundFunction SampledSoundList SampleRate SamplingPeriod SARIMAProcess SARMAProcess SatisfiabilityCount SatisfiabilityInstances SatisfiableQ Saturday Save Saveable SaveAutoDelete SaveDefinitions SawtoothWave Scale Scaled ScaleDivisions ScaledMousePosition ScaleOrigin ScalePadding ScaleRanges ScaleRangeStyle ScalingFunctions ScalingMatrix ScalingTransform Scan ScheduledTaskActiveQ ScheduledTaskData ScheduledTaskObject ScheduledTasks SchurDecomposition ScientificForm ScreenRectangle ScreenStyleEnvironment ScriptBaselineShifts ScriptLevel ScriptMinSize ScriptRules ScriptSizeMultipliers Scrollbars ScrollingOptions ScrollPosition Sec Sech SechDistribution SectionGrouping SectorChart SectorChart3D SectorOrigin SectorSpacing SeedRandom Select Selectable SelectComponents SelectedCells SelectedNotebook Selection SelectionAnimate SelectionCell SelectionCellCreateCell SelectionCellDefaultStyle SelectionCellParentStyle SelectionCreateCell SelectionDebuggerTag SelectionDuplicateCell SelectionEvaluate SelectionEvaluateCreateCell SelectionMove SelectionPlaceholder SelectionSetStyle SelectWithContents SelfLoops SelfLoopStyle SemialgebraicComponentInstances SendMail Sequence SequenceAlignment SequenceForm SequenceHold SequenceLimit Series SeriesCoefficient SeriesData SessionTime Set SetAccuracy SetAlphaChannel SetAttributes Setbacks SetBoxFormNamesPacket SetDelayed SetDirectory SetEnvironment SetEvaluationNotebook SetFileDate SetFileLoadingContext SetNotebookStatusLine SetOptions SetOptionsPacket SetPrecision SetProperty SetSelectedNotebook SetSharedFunction SetSharedVariable SetSpeechParametersPacket SetStreamPosition SetSystemOptions Setter SetterBar SetterBox SetterBoxOptions Setting SetValue Shading Shallow ShannonWavelet ShapiroWilkTest Share Sharpen ShearingMatrix ShearingTransform ShenCastanMatrix Short ShortDownArrow Shortest ShortestMatch ShortestPathFunction ShortLeftArrow ShortRightArrow ShortUpArrow Show ShowAutoStyles ShowCellBracket ShowCellLabel ShowCellTags ShowClosedCellArea ShowContents ShowControls ShowCursorTracker ShowGroupOpenCloseIcon ShowGroupOpener ShowInvisibleCharacters ShowPageBreaks ShowPredictiveInterface ShowSelection ShowShortBoxForm ShowSpecialCharacters ShowStringCharacters ShowSyntaxStyles ShrinkingDelay ShrinkWrapBoundingBox SiegelTheta SiegelTukeyTest Sign Signature SignedRankTest SignificanceLevel SignPadding SignTest SimilarityRules SimpleGraph SimpleGraphQ Simplify Sin Sinc SinghMaddalaDistribution SingleEvaluation SingleLetterItalics SingleLetterStyle SingularValueDecomposition SingularValueList SingularValuePlot SingularValues Sinh SinhIntegral SinIntegral SixJSymbol Skeleton SkeletonTransform SkellamDistribution Skewness SkewNormalDistribution Skip SliceDistribution Slider Slider2D Slider2DBox Slider2DBoxOptions SliderBox SliderBoxOptions SlideView Slot SlotSequence Small SmallCircle Smaller SmithDelayCompensator SmithWatermanSimilarity SmoothDensityHistogram SmoothHistogram SmoothHistogram3D SmoothKernelDistribution SocialMediaData Socket SokalSneathDissimilarity Solve SolveAlways SolveDelayed Sort SortBy Sound SoundAndGraphics SoundNote SoundVolume Sow Space SpaceForm Spacer Spacings Span SpanAdjustments SpanCharacterRounding SpanFromAbove SpanFromBoth SpanFromLeft SpanLineThickness SpanMaxSize SpanMinSize SpanningCharacters SpanSymmetric SparseArray SpatialGraphDistribution Speak SpeakTextPacket SpearmanRankTest SpearmanRho Spectrogram SpectrogramArray Specularity SpellingCorrection SpellingDictionaries SpellingDictionariesPath SpellingOptions SpellingSuggestionsPacket Sphere SphereBox SphericalBesselJ SphericalBesselY SphericalHankelH1 SphericalHankelH2 SphericalHarmonicY SphericalPlot3D SphericalRegion SpheroidalEigenvalue SpheroidalJoiningFactor SpheroidalPS SpheroidalPSPrime SpheroidalQS SpheroidalQSPrime SpheroidalRadialFactor SpheroidalS1 SpheroidalS1Prime SpheroidalS2 SpheroidalS2Prime Splice SplicedDistribution SplineClosed SplineDegree SplineKnots SplineWeights Split SplitBy SpokenString Sqrt SqrtBox SqrtBoxOptions Square SquaredEuclideanDistance SquareFreeQ SquareIntersection SquaresR SquareSubset SquareSubsetEqual SquareSuperset SquareSupersetEqual SquareUnion SquareWave StabilityMargins StabilityMarginsStyle StableDistribution Stack StackBegin StackComplete StackInhibit StandardDeviation StandardDeviationFilter StandardForm Standardize StandbyDistribution Star StarGraph StartAsynchronousTask StartingStepSize StartOfLine StartOfString StartScheduledTask StartupSound StateDimensions StateFeedbackGains StateOutputEstimator StateResponse StateSpaceModel StateSpaceRealization StateSpaceTransform StationaryDistribution StationaryWaveletPacketTransform StationaryWaveletTransform StatusArea StatusCentrality StepMonitor StieltjesGamma StirlingS1 StirlingS2 StopAsynchronousTask StopScheduledTask StrataVariables StratonovichProcess StreamColorFunction StreamColorFunctionScaling StreamDensityPlot StreamPlot StreamPoints StreamPosition Streams StreamScale StreamStyle String StringBreak StringByteCount StringCases StringCount StringDrop StringExpression StringForm StringFormat StringFreeQ StringInsert StringJoin StringLength StringMatchQ StringPosition StringQ StringReplace StringReplaceList StringReplacePart StringReverse StringRotateLeft StringRotateRight StringSkeleton StringSplit StringTake StringToStream StringTrim StripBoxes StripOnInput StripWrapperBoxes StrokeForm StructuralImportance StructuredArray StructuredSelection StruveH StruveL Stub StudentTDistribution Style StyleBox StyleBoxAutoDelete StyleBoxOptions StyleData StyleDefinitions StyleForm StyleKeyMapping StyleMenuListing StyleNameDialogSettings StyleNames StylePrint StyleSheetPath Subfactorial Subgraph SubMinus SubPlus SubresultantPolynomialRemainders SubresultantPolynomials Subresultants Subscript SubscriptBox SubscriptBoxOptions Subscripted Subset SubsetEqual Subsets SubStar Subsuperscript SubsuperscriptBox SubsuperscriptBoxOptions Subtract SubtractFrom SubValues Succeeds SucceedsEqual SucceedsSlantEqual SucceedsTilde SuchThat Sum SumConvergence Sunday SuperDagger SuperMinus SuperPlus Superscript SuperscriptBox SuperscriptBoxOptions Superset SupersetEqual SuperStar Surd SurdForm SurfaceColor SurfaceGraphics SurvivalDistribution SurvivalFunction SurvivalModel SurvivalModelFit SuspendPacket SuzukiDistribution SuzukiGroupSuz SwatchLegend Switch Symbol SymbolName SymletWavelet Symmetric SymmetricGroup SymmetricMatrixQ SymmetricPolynomial SymmetricReduction Symmetrize SymmetrizedArray SymmetrizedArrayRules SymmetrizedDependentComponents SymmetrizedIndependentComponents SymmetrizedReplacePart SynchronousInitialization SynchronousUpdating Syntax SyntaxForm SyntaxInformation SyntaxLength SyntaxPacket SyntaxQ SystemDialogInput SystemException SystemHelpPath SystemInformation SystemInformationData SystemOpen SystemOptions SystemsModelDelay SystemsModelDelayApproximate SystemsModelDelete SystemsModelDimensions SystemsModelExtract SystemsModelFeedbackConnect SystemsModelLabels SystemsModelOrder SystemsModelParallelConnect SystemsModelSeriesConnect SystemsModelStateFeedbackConnect SystemStub Tab TabFilling Table TableAlignments TableDepth TableDirections TableForm TableHeadings TableSpacing TableView TableViewBox TabSpacings TabView TabViewBox TabViewBoxOptions TagBox TagBoxNote TagBoxOptions TaggingRules TagSet TagSetDelayed TagStyle TagUnset Take TakeWhile Tally Tan Tanh TargetFunctions TargetUnits TautologyQ TelegraphProcess TemplateBox TemplateBoxOptions TemplateSlotSequence TemporalData Temporary TemporaryVariable TensorContract TensorDimensions TensorExpand TensorProduct TensorQ TensorRank TensorReduce TensorSymmetry TensorTranspose TensorWedge Tetrahedron TetrahedronBox TetrahedronBoxOptions TeXForm TeXSave Text Text3DBox Text3DBoxOptions TextAlignment TextBand TextBoundingBox TextBox TextCell TextClipboardType TextData TextForm TextJustification TextLine TextPacket TextParagraph TextRecognize TextRendering TextStyle Texture TextureCoordinateFunction TextureCoordinateScaling Therefore ThermometerGauge Thick Thickness Thin Thinning ThisLink ThompsonGroupTh Thread ThreeJSymbol Threshold Through Throw Thumbnail Thursday Ticks TicksStyle Tilde TildeEqual TildeFullEqual TildeTilde TimeConstrained TimeConstraint Times TimesBy TimeSeriesForecast TimeSeriesInvertibility TimeUsed TimeValue TimeZone Timing Tiny TitleGrouping TitsGroupT ToBoxes ToCharacterCode ToColor ToContinuousTimeModel ToDate ToDiscreteTimeModel ToeplitzMatrix ToExpression ToFileName Together Toggle ToggleFalse Toggler TogglerBar TogglerBox TogglerBoxOptions ToHeldExpression ToInvertibleTimeSeries TokenWords Tolerance ToLowerCase ToNumberField TooBig Tooltip TooltipBox TooltipBoxOptions TooltipDelay TooltipStyle Top TopHatTransform TopologicalSort ToRadicals ToRules ToString Total TotalHeight TotalVariationFilter TotalWidth TouchscreenAutoZoom TouchscreenControlPlacement ToUpperCase Tr Trace TraceAbove TraceAction TraceBackward TraceDepth TraceDialog TraceForward TraceInternal TraceLevel TraceOff TraceOn TraceOriginal TracePrint TraceScan TrackedSymbols TradingChart TraditionalForm TraditionalFunctionNotation TraditionalNotation TraditionalOrder TransferFunctionCancel TransferFunctionExpand TransferFunctionFactor TransferFunctionModel TransferFunctionPoles TransferFunctionTransform TransferFunctionZeros TransformationFunction TransformationFunctions TransformationMatrix TransformedDistribution TransformedField Translate TranslationTransform TransparentColor Transpose TreeForm TreeGraph TreeGraphQ TreePlot TrendStyle TriangleWave TriangularDistribution Trig TrigExpand TrigFactor TrigFactorList Trigger TrigReduce TrigToExp TrimmedMean True TrueQ TruncatedDistribution TsallisQExponentialDistribution TsallisQGaussianDistribution TTest Tube TubeBezierCurveBox TubeBezierCurveBoxOptions TubeBox TubeBSplineCurveBox TubeBSplineCurveBoxOptions Tuesday TukeyLambdaDistribution TukeyWindow Tuples TuranGraph TuringMachine Transparent UnateQ Uncompress Undefined UnderBar Underflow Underlined Underoverscript UnderoverscriptBox UnderoverscriptBoxOptions Underscript UnderscriptBox UnderscriptBoxOptions UndirectedEdge UndirectedGraph UndirectedGraphQ UndocumentedTestFEParserPacket UndocumentedTestGetSelectionPacket Unequal Unevaluated UniformDistribution UniformGraphDistribution UniformSumDistribution Uninstall Union UnionPlus Unique UnitBox UnitConvert UnitDimensions Unitize UnitRootTest UnitSimplify UnitStep UnitTriangle UnitVector Unprotect UnsameQ UnsavedVariables Unset UnsetShared UntrackedVariables Up UpArrow UpArrowBar UpArrowDownArrow Update UpdateDynamicObjects UpdateDynamicObjectsSynchronous UpdateInterval UpDownArrow UpEquilibrium UpperCaseQ UpperLeftArrow UpperRightArrow UpperTriangularize Upsample UpSet UpSetDelayed UpTee UpTeeArrow UpValues URL URLFetch URLFetchAsynchronous URLSave URLSaveAsynchronous UseGraphicsRange Using UsingFrontEnd V2Get ValidationLength Value ValueBox ValueBoxOptions ValueForm ValueQ ValuesData Variables Variance VarianceEquivalenceTest VarianceEstimatorFunction VarianceGammaDistribution VarianceTest VectorAngle VectorColorFunction VectorColorFunctionScaling VectorDensityPlot VectorGlyphData VectorPlot VectorPlot3D VectorPoints VectorQ Vectors VectorScale VectorStyle Vee Verbatim Verbose VerboseConvertToPostScriptPacket VerifyConvergence VerifySolutions VerifyTestAssumptions Version VersionNumber VertexAdd VertexCapacity VertexColors VertexComponent VertexConnectivity VertexCoordinateRules VertexCoordinates VertexCorrelationSimilarity VertexCosineSimilarity VertexCount VertexCoverQ VertexDataCoordinates VertexDegree VertexDelete VertexDiceSimilarity VertexEccentricity VertexInComponent VertexInDegree VertexIndex VertexJaccardSimilarity VertexLabeling VertexLabels VertexLabelStyle VertexList VertexNormals VertexOutComponent VertexOutDegree VertexQ VertexRenderingFunction VertexReplace VertexShape VertexShapeFunction VertexSize VertexStyle VertexTextureCoordinates VertexWeight Vertical VerticalBar VerticalForm VerticalGauge VerticalSeparator VerticalSlider VerticalTilde ViewAngle ViewCenter ViewMatrix ViewPoint ViewPointSelectorSettings ViewPort ViewRange ViewVector ViewVertical VirtualGroupData Visible VisibleCell VoigtDistribution VonMisesDistribution WaitAll WaitAsynchronousTask WaitNext WaitUntil WakebyDistribution WalleniusHypergeometricDistribution WaringYuleDistribution WatershedComponents WatsonUSquareTest WattsStrogatzGraphDistribution WaveletBestBasis WaveletFilterCoefficients WaveletImagePlot WaveletListPlot WaveletMapIndexed WaveletMatrixPlot WaveletPhi WaveletPsi WaveletScale WaveletScalogram WaveletThreshold WeaklyConnectedComponents WeaklyConnectedGraphQ WeakStationarity WeatherData WeberE Wedge Wednesday WeibullDistribution WeierstrassHalfPeriods WeierstrassInvariants WeierstrassP WeierstrassPPrime WeierstrassSigma WeierstrassZeta WeightedAdjacencyGraph WeightedAdjacencyMatrix WeightedData WeightedGraphQ Weights WelchWindow WheelGraph WhenEvent Which While White Whitespace WhitespaceCharacter WhittakerM WhittakerW WienerFilter WienerProcess WignerD WignerSemicircleDistribution WilksW WilksWTest WindowClickSelect WindowElements WindowFloating WindowFrame WindowFrameElements WindowMargins WindowMovable WindowOpacity WindowSelected WindowSize WindowStatusArea WindowTitle WindowToolbars WindowWidth With WolframAlpha WolframAlphaDate WolframAlphaQuantity WolframAlphaResult Word WordBoundary WordCharacter WordData WordSearch WordSeparators WorkingPrecision Write WriteString Wronskian XMLElement XMLObject Xnor Xor Yellow YuleDissimilarity ZernikeR ZeroSymmetric ZeroTest ZeroWidthTimes Zeta ZetaZero ZipfDistribution ZTest ZTransform $Aborted $ActivationGroupID $ActivationKey $ActivationUserRegistered $AddOnsDirectory $AssertFunction $Assumptions $AsynchronousTask $BaseDirectory $BatchInput $BatchOutput $BoxForms $ByteOrdering $Canceled $CharacterEncoding $CharacterEncodings $CommandLine $CompilationTarget $ConditionHold $ConfiguredKernels $Context $ContextPath $ControlActiveSetting $CreationDate $CurrentLink $DateStringFormat $DefaultFont $DefaultFrontEnd $DefaultImagingDevice $DefaultPath $Display $DisplayFunction $DistributedContexts $DynamicEvaluation $Echo $Epilog $ExportFormats $Failed $FinancialDataSource $FormatType $FrontEnd $FrontEndSession $GeoLocation $HistoryLength $HomeDirectory $HTTPCookies $IgnoreEOF $ImagingDevices $ImportFormats $InitialDirectory $Input $InputFileName $InputStreamMethods $Inspector $InstallationDate $InstallationDirectory $InterfaceEnvironment $IterationLimit $KernelCount $KernelID $Language $LaunchDirectory $LibraryPath $LicenseExpirationDate $LicenseID $LicenseProcesses $LicenseServer $LicenseSubprocesses $LicenseType $Line $Linked $LinkSupported $LoadedFiles $MachineAddresses $MachineDomain $MachineDomains $MachineEpsilon $MachineID $MachineName $MachinePrecision $MachineType $MaxExtraPrecision $MaxLicenseProcesses $MaxLicenseSubprocesses $MaxMachineNumber $MaxNumber $MaxPiecewiseCases $MaxPrecision $MaxRootDegree $MessageGroups $MessageList $MessagePrePrint $Messages $MinMachineNumber $MinNumber $MinorReleaseNumber $MinPrecision $ModuleNumber $NetworkLicense $NewMessage $NewSymbol $Notebooks $NumberMarks $Off $OperatingSystem $Output $OutputForms $OutputSizeLimit $OutputStreamMethods $Packages $ParentLink $ParentProcessID $PasswordFile $PatchLevelID $Path $PathnameSeparator $PerformanceGoal $PipeSupported $Post $Pre $PreferencesDirectory $PrePrint $PreRead $PrintForms $PrintLiteral $ProcessID $ProcessorCount $ProcessorType $ProductInformation $ProgramName $RandomState $RecursionLimit $ReleaseNumber $RootDirectory $ScheduledTask $ScriptCommandLine $SessionID $SetParentLink $SharedFunctions $SharedVariables $SoundDisplay $SoundDisplayFunction $SuppressInputFormHeads $SynchronousEvaluation $SyntaxHandler $System $SystemCharacterEncoding $SystemID $SystemWordLength $TemporaryDirectory $TemporaryPrefix $TextStyle $TimedOut $TimeUnit $TimeZone $TopDirectory $TraceOff $TraceOn $TracePattern $TracePostAction $TracePreAction $Urgent $UserAddOnsDirectory $UserBaseDirectory $UserDocumentsDirectory $UserName $Version $VersionNumber",
+contains:[{className:"comment",begin:/\(\*/,end:/\*\)/},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_NUMBER_MODE,{className:"list",begin:/\{/,end:/\}/,illegal:/:/}]}}),a.registerLanguage("matlab",function(a){var b=[a.C_NUMBER_MODE,{className:"string",begin:"'",end:"'",contains:[a.BACKSLASH_ESCAPE,{begin:"''"}]}],c={relevance:0,contains:[{className:"operator",begin:/'['\.]*/}]};return{keywords:{keyword:"break case catch classdef continue else elseif end enumerated events for function global if methods otherwise parfor persistent properties return spmd switch try while",built_in:"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i inf nan isnan isinf isfinite j why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson"},illegal:'(//|"|#|/\\*|\\s+/\\w+)',contains:[{className:"function",beginKeywords:"function",end:"$",contains:[a.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)"},{className:"params",begin:"\\[",end:"\\]"}]},{begin:/[a-zA-Z_][a-zA-Z_0-9]*'['\.]*/,returnBegin:!0,relevance:0,contains:[{begin:/[a-zA-Z_][a-zA-Z_0-9]*/,relevance:0},c.contains[0]]},{className:"matrix",begin:"\\[",end:"\\]",contains:b,relevance:0,starts:c},{className:"cell",begin:"\\{",end:/}/,contains:b,relevance:0,starts:c},{begin:/\)/,relevance:0,starts:c},a.COMMENT("^\\s*\\%\\{\\s*$","^\\s*\\%\\}\\s*$"),a.COMMENT("\\%","$")].concat(b)}}),a.registerLanguage("mel",function(a){return{keywords:"int float string vector matrix if else switch case default while do for in break continue global proc return about abs addAttr addAttributeEditorNodeHelp addDynamic addNewShelfTab addPP addPanelCategory addPrefixToName advanceToNextDrivenKey affectedNet affects aimConstraint air alias aliasAttr align alignCtx alignCurve alignSurface allViewFit ambientLight angle angleBetween animCone animCurveEditor animDisplay animView annotate appendStringArray applicationName applyAttrPreset applyTake arcLenDimContext arcLengthDimension arclen arrayMapper art3dPaintCtx artAttrCtx artAttrPaintVertexCtx artAttrSkinPaintCtx artAttrTool artBuildPaintMenu artFluidAttrCtx artPuttyCtx artSelectCtx artSetPaintCtx artUserPaintCtx assignCommand assignInputDevice assignViewportFactories attachCurve attachDeviceAttr attachSurface attrColorSliderGrp attrCompatibility attrControlGrp attrEnumOptionMenu attrEnumOptionMenuGrp attrFieldGrp attrFieldSliderGrp attrNavigationControlGrp attrPresetEditWin attributeExists attributeInfo attributeMenu attributeQuery autoKeyframe autoPlace bakeClip bakeFluidShading bakePartialHistory bakeResults bakeSimulation basename basenameEx batchRender bessel bevel bevelPlus binMembership bindSkin blend2 blendShape blendShapeEditor blendShapePanel blendTwoAttr blindDataType boneLattice boundary boxDollyCtx boxZoomCtx bufferCurve buildBookmarkMenu buildKeyframeMenu button buttonManip CBG cacheFile cacheFileCombine cacheFileMerge cacheFileTrack camera cameraView canCreateManip canvas capitalizeString catch catchQuiet ceil changeSubdivComponentDisplayLevel changeSubdivRegion channelBox character characterMap characterOutlineEditor characterize chdir checkBox checkBoxGrp checkDefaultRenderGlobals choice circle circularFillet clamp clear clearCache clip clipEditor clipEditorCurrentTimeCtx clipSchedule clipSchedulerOutliner clipTrimBefore closeCurve closeSurface cluster cmdFileOutput cmdScrollFieldExecuter cmdScrollFieldReporter cmdShell coarsenSubdivSelectionList collision color colorAtPoint colorEditor colorIndex colorIndexSliderGrp colorSliderButtonGrp colorSliderGrp columnLayout commandEcho commandLine commandPort compactHairSystem componentEditor compositingInterop computePolysetVolume condition cone confirmDialog connectAttr connectControl connectDynamic connectJoint connectionInfo constrain constrainValue constructionHistory container containsMultibyte contextInfo control convertFromOldLayers convertIffToPsd convertLightmap convertSolidTx convertTessellation convertUnit copyArray copyFlexor copyKey copySkinWeights cos cpButton cpCache cpClothSet cpCollision cpConstraint cpConvClothToMesh cpForces cpGetSolverAttr cpPanel cpProperty cpRigidCollisionFilter cpSeam cpSetEdit cpSetSolverAttr cpSolver cpSolverTypes cpTool cpUpdateClothUVs createDisplayLayer createDrawCtx createEditor createLayeredPsdFile createMotionField createNewShelf createNode createRenderLayer createSubdivRegion cross crossProduct ctxAbort ctxCompletion ctxEditMode ctxTraverse currentCtx currentTime currentTimeCtx currentUnit curve curveAddPtCtx curveCVCtx curveEPCtx curveEditorCtx curveIntersect curveMoveEPCtx curveOnSurface curveSketchCtx cutKey cycleCheck cylinder dagPose date defaultLightListCheckBox defaultNavigation defineDataServer defineVirtualDevice deformer deg_to_rad delete deleteAttr deleteShadingGroupsAndMaterials deleteShelfTab deleteUI deleteUnusedBrushes delrandstr detachCurve detachDeviceAttr detachSurface deviceEditor devicePanel dgInfo dgdirty dgeval dgtimer dimWhen directKeyCtx directionalLight dirmap dirname disable disconnectAttr disconnectJoint diskCache displacementToPoly displayAffected displayColor displayCull displayLevelOfDetail displayPref displayRGBColor displaySmoothness displayStats displayString displaySurface distanceDimContext distanceDimension doBlur dolly dollyCtx dopeSheetEditor dot dotProduct doubleProfileBirailSurface drag dragAttrContext draggerContext dropoffLocator duplicate duplicateCurve duplicateSurface dynCache dynControl dynExport dynExpression dynGlobals dynPaintEditor dynParticleCtx dynPref dynRelEdPanel dynRelEditor dynamicLoad editAttrLimits editDisplayLayerGlobals editDisplayLayerMembers editRenderLayerAdjustment editRenderLayerGlobals editRenderLayerMembers editor editorTemplate effector emit emitter enableDevice encodeString endString endsWith env equivalent equivalentTol erf error eval evalDeferred evalEcho event exactWorldBoundingBox exclusiveLightCheckBox exec executeForEachObject exists exp expression expressionEditorListen extendCurve extendSurface extrude fcheck fclose feof fflush fgetline fgetword file fileBrowserDialog fileDialog fileExtension fileInfo filetest filletCurve filter filterCurve filterExpand filterStudioImport findAllIntersections findAnimCurves findKeyframe findMenuItem findRelatedSkinCluster finder firstParentOf fitBspline flexor floatEq floatField floatFieldGrp floatScrollBar floatSlider floatSlider2 floatSliderButtonGrp floatSliderGrp floor flow fluidCacheInfo fluidEmitter fluidVoxelInfo flushUndo fmod fontDialog fopen formLayout format fprint frameLayout fread freeFormFillet frewind fromNativePath fwrite gamma gauss geometryConstraint getApplicationVersionAsFloat getAttr getClassification getDefaultBrush getFileList getFluidAttr getInputDeviceRange getMayaPanelTypes getModifiers getPanel getParticleAttr getPluginResource getenv getpid glRender glRenderEditor globalStitch gmatch goal gotoBindPose grabColor gradientControl gradientControlNoAttr graphDollyCtx graphSelectContext graphTrackCtx gravity grid gridLayout group groupObjectsByName HfAddAttractorToAS HfAssignAS HfBuildEqualMap HfBuildFurFiles HfBuildFurImages HfCancelAFR HfConnectASToHF HfCreateAttractor HfDeleteAS HfEditAS HfPerformCreateAS HfRemoveAttractorFromAS HfSelectAttached HfSelectAttractors HfUnAssignAS hardenPointCurve hardware hardwareRenderPanel headsUpDisplay headsUpMessage help helpLine hermite hide hilite hitTest hotBox hotkey hotkeyCheck hsv_to_rgb hudButton hudSlider hudSliderButton hwReflectionMap hwRender hwRenderLoad hyperGraph hyperPanel hyperShade hypot iconTextButton iconTextCheckBox iconTextRadioButton iconTextRadioCollection iconTextScrollList iconTextStaticLabel ikHandle ikHandleCtx ikHandleDisplayScale ikSolver ikSplineHandleCtx ikSystem ikSystemInfo ikfkDisplayMethod illustratorCurves image imfPlugins inheritTransform insertJoint insertJointCtx insertKeyCtx insertKnotCurve insertKnotSurface instance instanceable instancer intField intFieldGrp intScrollBar intSlider intSliderGrp interToUI internalVar intersect iprEngine isAnimCurve isConnected isDirty isParentOf isSameObject isTrue isValidObjectName isValidString isValidUiName isolateSelect itemFilter itemFilterAttr itemFilterRender itemFilterType joint jointCluster jointCtx jointDisplayScale jointLattice keyTangent keyframe keyframeOutliner keyframeRegionCurrentTimeCtx keyframeRegionDirectKeyCtx keyframeRegionDollyCtx keyframeRegionInsertKeyCtx keyframeRegionMoveKeyCtx keyframeRegionScaleKeyCtx keyframeRegionSelectKeyCtx keyframeRegionSetKeyCtx keyframeRegionTrackCtx keyframeStats lassoContext lattice latticeDeformKeyCtx launch launchImageEditor layerButton layeredShaderPort layeredTexturePort layout layoutDialog lightList lightListEditor lightListPanel lightlink lineIntersection linearPrecision linstep listAnimatable listAttr listCameras listConnections listDeviceAttachments listHistory listInputDeviceAxes listInputDeviceButtons listInputDevices listMenuAnnotation listNodeTypes listPanelCategories listRelatives listSets listTransforms listUnselected listerEditor loadFluid loadNewShelf loadPlugin loadPluginLanguageResources loadPrefObjects localizedPanelLabel lockNode loft log longNameOf lookThru ls lsThroughFilter lsType lsUI Mayatomr mag makeIdentity makeLive makePaintable makeRoll makeSingleSurface makeTubeOn makebot manipMoveContext manipMoveLimitsCtx manipOptions manipRotateContext manipRotateLimitsCtx manipScaleContext manipScaleLimitsCtx marker match max memory menu menuBarLayout menuEditor menuItem menuItemToShelf menuSet menuSetPref messageLine min minimizeApp mirrorJoint modelCurrentTimeCtx modelEditor modelPanel mouse movIn movOut move moveIKtoFK moveKeyCtx moveVertexAlongDirection multiProfileBirailSurface mute nParticle nameCommand nameField namespace namespaceInfo newPanelItems newton nodeCast nodeIconButton nodeOutliner nodePreset nodeType noise nonLinear normalConstraint normalize nurbsBoolean nurbsCopyUVSet nurbsCube nurbsEditUV nurbsPlane nurbsSelect nurbsSquare nurbsToPoly nurbsToPolygonsPref nurbsToSubdiv nurbsToSubdivPref nurbsUVSet nurbsViewDirectionVector objExists objectCenter objectLayer objectType objectTypeUI obsoleteProc oceanNurbsPreviewPlane offsetCurve offsetCurveOnSurface offsetSurface openGLExtension openMayaPref optionMenu optionMenuGrp optionVar orbit orbitCtx orientConstraint outlinerEditor outlinerPanel overrideModifier paintEffectsDisplay pairBlend palettePort paneLayout panel panelConfiguration panelHistory paramDimContext paramDimension paramLocator parent parentConstraint particle particleExists particleInstancer particleRenderInfo partition pasteKey pathAnimation pause pclose percent performanceOptions pfxstrokes pickWalk picture pixelMove planarSrf plane play playbackOptions playblast plugAttr plugNode pluginInfo pluginResourceUtil pointConstraint pointCurveConstraint pointLight pointMatrixMult pointOnCurve pointOnSurface pointPosition poleVectorConstraint polyAppend polyAppendFacetCtx polyAppendVertex polyAutoProjection polyAverageNormal polyAverageVertex polyBevel polyBlendColor polyBlindData polyBoolOp polyBridgeEdge polyCacheMonitor polyCheck polyChipOff polyClipboard polyCloseBorder polyCollapseEdge polyCollapseFacet polyColorBlindData polyColorDel polyColorPerVertex polyColorSet polyCompare polyCone polyCopyUV polyCrease polyCreaseCtx polyCreateFacet polyCreateFacetCtx polyCube polyCut polyCutCtx polyCylinder polyCylindricalProjection polyDelEdge polyDelFacet polyDelVertex polyDuplicateAndConnect polyDuplicateEdge polyEditUV polyEditUVShell polyEvaluate polyExtrudeEdge polyExtrudeFacet polyExtrudeVertex polyFlipEdge polyFlipUV polyForceUV polyGeoSampler polyHelix polyInfo polyInstallAction polyLayoutUV polyListComponentConversion polyMapCut polyMapDel polyMapSew polyMapSewMove polyMergeEdge polyMergeEdgeCtx polyMergeFacet polyMergeFacetCtx polyMergeUV polyMergeVertex polyMirrorFace polyMoveEdge polyMoveFacet polyMoveFacetUV polyMoveUV polyMoveVertex polyNormal polyNormalPerVertex polyNormalizeUV polyOptUvs polyOptions polyOutput polyPipe polyPlanarProjection polyPlane polyPlatonicSolid polyPoke polyPrimitive polyPrism polyProjection polyPyramid polyQuad polyQueryBlindData polyReduce polySelect polySelectConstraint polySelectConstraintMonitor polySelectCtx polySelectEditCtx polySeparate polySetToFaceNormal polySewEdge polyShortestPathCtx polySmooth polySoftEdge polySphere polySphericalProjection polySplit polySplitCtx polySplitEdge polySplitRing polySplitVertex polyStraightenUVBorder polySubdivideEdge polySubdivideFacet polyToSubdiv polyTorus polyTransfer polyTriangulate polyUVSet polyUnite polyWedgeFace popen popupMenu pose pow preloadRefEd print progressBar progressWindow projFileViewer projectCurve projectTangent projectionContext projectionManip promptDialog propModCtx propMove psdChannelOutliner psdEditTextureFile psdExport psdTextureFile putenv pwd python querySubdiv quit rad_to_deg radial radioButton radioButtonGrp radioCollection radioMenuItemCollection rampColorPort rand randomizeFollicles randstate rangeControl readTake rebuildCurve rebuildSurface recordAttr recordDevice redo reference referenceEdit referenceQuery refineSubdivSelectionList refresh refreshAE registerPluginResource rehash reloadImage removeJoint removeMultiInstance removePanelCategory rename renameAttr renameSelectionList renameUI render renderGlobalsNode renderInfo renderLayerButton renderLayerParent renderLayerPostProcess renderLayerUnparent renderManip renderPartition renderQualityNode renderSettings renderThumbnailUpdate renderWindowEditor renderWindowSelectContext renderer reorder reorderDeformers requires reroot resampleFluid resetAE resetPfxToPolyCamera resetTool resolutionNode retarget reverseCurve reverseSurface revolve rgb_to_hsv rigidBody rigidSolver roll rollCtx rootOf rot rotate rotationInterpolation roundConstantRadius rowColumnLayout rowLayout runTimeCommand runup sampleImage saveAllShelves saveAttrPreset saveFluid saveImage saveInitialState saveMenu savePrefObjects savePrefs saveShelf saveToolSettings scale scaleBrushBrightness scaleComponents scaleConstraint scaleKey scaleKeyCtx sceneEditor sceneUIReplacement scmh scriptCtx scriptEditorInfo scriptJob scriptNode scriptTable scriptToShelf scriptedPanel scriptedPanelType scrollField scrollLayout sculpt searchPathArray seed selLoadSettings select selectContext selectCurveCV selectKey selectKeyCtx selectKeyframeRegionCtx selectMode selectPref selectPriority selectType selectedNodes selectionConnection separator setAttr setAttrEnumResource setAttrMapping setAttrNiceNameResource setConstraintRestPosition setDefaultShadingGroup setDrivenKeyframe setDynamic setEditCtx setEditor setFluidAttr setFocus setInfinity setInputDeviceMapping setKeyCtx setKeyPath setKeyframe setKeyframeBlendshapeTargetWts setMenuMode setNodeNiceNameResource setNodeTypeFlag setParent setParticleAttr setPfxToPolyCamera setPluginResource setProject setStampDensity setStartupMessage setState setToolTo setUITemplate setXformManip sets shadingConnection shadingGeometryRelCtx shadingLightRelCtx shadingNetworkCompare shadingNode shapeCompare shelfButton shelfLayout shelfTabLayout shellField shortNameOf showHelp showHidden showManipCtx showSelectionInTitle showShadingGroupAttrEditor showWindow sign simplify sin singleProfileBirailSurface size sizeBytes skinCluster skinPercent smoothCurve smoothTangentSurface smoothstep snap2to2 snapKey snapMode snapTogetherCtx snapshot soft softMod softModCtx sort sound soundControl source spaceLocator sphere sphrand spotLight spotLightPreviewPort spreadSheetEditor spring sqrt squareSurface srtContext stackTrace startString startsWith stitchAndExplodeShell stitchSurface stitchSurfacePoints strcmp stringArrayCatenate stringArrayContains stringArrayCount stringArrayInsertAtIndex stringArrayIntersector stringArrayRemove stringArrayRemoveAtIndex stringArrayRemoveDuplicates stringArrayRemoveExact stringArrayToString stringToStringArray strip stripPrefixFromName stroke subdAutoProjection subdCleanTopology subdCollapse subdDuplicateAndConnect subdEditUV subdListComponentConversion subdMapCut subdMapSewMove subdMatchTopology subdMirror subdToBlind subdToPoly subdTransferUVsToCache subdiv subdivCrease subdivDisplaySmoothness substitute substituteAllString substituteGeometry substring surface surfaceSampler surfaceShaderList swatchDisplayPort switchTable symbolButton symbolCheckBox sysFile system tabLayout tan tangentConstraint texLatticeDeformContext texManipContext texMoveContext texMoveUVShellContext texRotateContext texScaleContext texSelectContext texSelectShortestPathCtx texSmudgeUVContext texWinToolCtx text textCurves textField textFieldButtonGrp textFieldGrp textManip textScrollList textToShelf textureDisplacePlane textureHairColor texturePlacementContext textureWindow threadCount threePointArcCtx timeControl timePort timerX toNativePath toggle toggleAxis toggleWindowVisibility tokenize tokenizeList tolerance tolower toolButton toolCollection toolDropped toolHasOptions toolPropertyWindow torus toupper trace track trackCtx transferAttributes transformCompare transformLimits translator trim trunc truncateFluidCache truncateHairCache tumble tumbleCtx turbulence twoPointArcCtx uiRes uiTemplate unassignInputDevice undo undoInfo ungroup uniform unit unloadPlugin untangleUV untitledFileName untrim upAxis updateAE userCtx uvLink uvSnapshot validateShelfName vectorize view2dToolCtx viewCamera viewClipPlane viewFit viewHeadOn viewLookAt viewManip viewPlace viewSet visor volumeAxis vortex waitCursor warning webBrowser webBrowserPrefs whatIs window windowPref wire wireContext workspace wrinkle wrinkleContext writeTake xbmLangPathList xform",illegal:"</",contains:[a.C_NUMBER_MODE,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,{className:"string",begin:"`",end:"`",contains:[a.BACKSLASH_ESCAPE]},{className:"variable",variants:[{begin:"\\$\\d"},{begin:"[\\$\\%\\@](\\^\\w\\b|#\\w+|[^\\s\\w{]|{\\w+}|\\w+)"},{begin:"\\*(\\^\\w\\b|#\\w+|[^\\s\\w{]|{\\w+}|\\w+)",relevance:0}]},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]}}),a.registerLanguage("mercury",function(a){var b={keyword:"module use_module import_module include_module end_module initialise mutable initialize finalize finalise interface implementation pred mode func type inst solver any_pred any_func is semidet det nondet multi erroneous failure cc_nondet cc_multi typeclass instance where pragma promise external trace atomic or_else require_complete_switch require_det require_semidet require_multi require_nondet require_cc_multi require_cc_nondet require_erroneous require_failure",pragma:"inline no_inline type_spec source_file fact_table obsolete memo loop_check minimal_model terminates does_not_terminate check_termination promise_equivalent_clauses",preprocessor:"foreign_proc foreign_decl foreign_code foreign_type foreign_import_module foreign_export_enum foreign_export foreign_enum may_call_mercury will_not_call_mercury thread_safe not_thread_safe maybe_thread_safe promise_pure promise_semipure tabled_for_io local untrailed trailed attach_to_io_state can_pass_as_mercury_type stable will_not_throw_exception may_modify_trail will_not_modify_trail may_duplicate may_not_duplicate affects_liveness does_not_affect_liveness doesnt_affect_liveness no_sharing unknown_sharing sharing",built_in:"some all not if then else true fail false try catch catch_any semidet_true semidet_false semidet_fail impure_true impure semipure"},c={className:"label",begin:"XXX",end:"$",endsWithParent:!0,relevance:0},d=a.inherit(a.C_LINE_COMMENT_MODE,{begin:"%"}),e=a.inherit(a.C_BLOCK_COMMENT_MODE,{relevance:0});d.contains.push(c),e.contains.push(c);var f={className:"number",begin:"0'.\\|0[box][0-9a-fA-F]*"},g=a.inherit(a.APOS_STRING_MODE,{relevance:0}),h=a.inherit(a.QUOTE_STRING_MODE,{relevance:0}),i={className:"constant",begin:"\\\\[abfnrtv]\\|\\\\x[0-9a-fA-F]*\\\\\\|%[-+# *.0-9]*[dioxXucsfeEgGp]",relevance:0};h.contains.push(i);var j={className:"built_in",variants:[{begin:"<=>"},{begin:"<=",relevance:0},{begin:"=>",relevance:0},{begin:"/\\\\"},{begin:"\\\\/"}]},k={className:"built_in",variants:[{begin:":-\\|-->"},{begin:"=",relevance:0}]};return{aliases:["m","moo"],keywords:b,contains:[j,k,d,e,f,a.NUMBER_MODE,g,h,{begin:/:-/}]}}),a.registerLanguage("mizar",function(a){return{keywords:"environ vocabularies notations constructors definitions registrations theorems schemes requirements begin end definition registration cluster existence pred func defpred deffunc theorem proof let take assume then thus hence ex for st holds consider reconsider such that and in provided of as from be being by means equals implies iff redefine define now not or attr is mode suppose per cases set thesis contradiction scheme reserve struct correctness compatibility coherence symmetry assymetry reflexivity irreflexivity connectedness uniqueness commutativity idempotence involutiveness projectivity",contains:[a.COMMENT("::","$")]}}),a.registerLanguage("perl",function(a){var b="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",c={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:b},d={begin:"->{",end:"}"},e={className:"variable",variants:[{begin:/\$\d/},{begin:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{begin:/[\$%@][^\s\w{]/,relevance:0}]},f=[a.BACKSLASH_ESCAPE,c,e],g=[e,a.HASH_COMMENT_MODE,a.COMMENT("^\\=\\w","\\=cut",{endsWithParent:!0}),d,{className:"string",contains:f,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*\\<",end:"\\>",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[a.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[a.BACKSLASH_ESCAPE]},{begin:"{\\w+}",contains:[],relevance:0},{begin:"-?\\w+\\s*\\=\\>",contains:[],relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+a.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[a.HASH_COMMENT_MODE,{className:"regexp",begin:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",relevance:10},{className:"regexp",begin:"(m|qr)?/",end:"/[a-z]*",contains:[a.BACKSLASH_ESCAPE],relevance:0}]},{className:"sub",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",relevance:5},{className:"operator",begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return c.contains=g,d.contains=g,{aliases:["pl"],keywords:b,contains:g}}),a.registerLanguage("mojolicious",function(a){return{subLanguage:"xml",contains:[{className:"preprocessor",begin:"^__(END|DATA)__$"},{begin:"^\\s*%{1,2}={0,2}",end:"$",subLanguage:"perl"},{begin:"<%{1,2}={0,2}",end:"={0,1}%>",subLanguage:"perl",excludeBegin:!0,excludeEnd:!0}]}}),a.registerLanguage("monkey",function(a){var b={className:"number",relevance:0,variants:[{begin:"[$][a-fA-F0-9]+"},a.NUMBER_MODE]};return{case_insensitive:!0,keywords:{keyword:"public private property continue exit extern new try catch eachin not abstract final select case default const local global field end if then else elseif endif while wend repeat until forever for to step next return module inline throw",built_in:"DebugLog DebugStop Error Print ACos ACosr ASin ASinr ATan ATan2 ATan2r ATanr Abs Abs Ceil Clamp Clamp Cos Cosr Exp Floor Log Max Max Min Min Pow Sgn Sgn Sin Sinr Sqrt Tan Tanr Seed PI HALFPI TWOPI",literal:"true false null and or shl shr mod"},illegal:/\/\*/,contains:[a.COMMENT("#rem","#end"),a.COMMENT("'","$",{relevance:0}),{className:"function",beginKeywords:"function method",end:"[(=:]|$",illegal:/\n/,contains:[a.UNDERSCORE_TITLE_MODE]},{className:"class",beginKeywords:"class interface",end:"$",contains:[{beginKeywords:"extends implements"},a.UNDERSCORE_TITLE_MODE]},{className:"variable",begin:"\\b(self|super)\\b"},{className:"preprocessor",beginKeywords:"import",end:"$"},{className:"preprocessor",begin:"\\s*#",end:"$",keywords:"if else elseif endif end then"},{className:"pi",begin:"^\\s*strict\\b"},{beginKeywords:"alias",end:"=",contains:[a.UNDERSCORE_TITLE_MODE]},a.QUOTE_STRING_MODE,b]}}),a.registerLanguage("nginx",function(a){var b={className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{/,end:/}/},{begin:"[\\$\\@]"+a.UNDERSCORE_IDENT_RE}]},c={endsWithParent:!0,lexemes:"[a-z/_]+",keywords:{built_in:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},relevance:0,illegal:"=>",contains:[a.HASH_COMMENT_MODE,{className:"string",contains:[a.BACKSLASH_ESCAPE,b],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/}]},{className:"url",begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[b]},{className:"regexp",contains:[a.BACKSLASH_ESCAPE,b],variants:[{begin:"\\s\\^",end:"\\s|{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|{|;",returnEnd:!0},{begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+[kKmMgGdshdwy]*\\b",relevance:0},b]};return{aliases:["nginxconf"],contains:[a.HASH_COMMENT_MODE,{begin:a.UNDERSCORE_IDENT_RE+"\\s",end:";|{",returnBegin:!0,contains:[{className:"title",begin:a.UNDERSCORE_IDENT_RE,starts:c}],relevance:0}],illegal:"[^\\s\\}]"}}),a.registerLanguage("nimrod",function(a){return{aliases:["nim"],keywords:{keyword:"addr and as asm bind block break|0 case|0 cast const|0 continue|0 converter discard distinct|10 div do elif else|0 end|0 enum|0 except export finally for from generic if|0 import|0 in include|0 interface is isnot|10 iterator|10 let|0 macro method|10 mixin mod nil not notin|10 object|0 of or out proc|10 ptr raise ref|10 return shl shr static template try|0 tuple type|0 using|0 var|0 when while|0 with without xor yield",literal:"shared guarded stdin stdout stderr result|10 true false"},contains:[{className:"decorator",begin:/{\./,end:/\.}/,relevance:10},{className:"string",begin:/[a-zA-Z]\w*"/,end:/"/,contains:[{begin:/""/}]},{className:"string",begin:/([a-zA-Z]\w*)?"""/,end:/"""/},a.QUOTE_STRING_MODE,{className:"type",begin:/\b[A-Z]\w+\b/,relevance:0},{className:"type",begin:/\b(int|int8|int16|int32|int64|uint|uint8|uint16|uint32|uint64|float|float32|float64|bool|char|string|cstring|pointer|expr|stmt|void|auto|any|range|array|openarray|varargs|seq|set|clong|culong|cchar|cschar|cshort|cint|csize|clonglong|cfloat|cdouble|clongdouble|cuchar|cushort|cuint|culonglong|cstringarray|semistatic)\b/},{className:"number",begin:/\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/,relevance:0},{className:"number",begin:/\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/,relevance:0},{className:"number",begin:/\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/,relevance:0},{className:"number",begin:/\b(\d[_\d]*)('?[iIuUfF](8|16|32|64))?/,relevance:0},a.HASH_COMMENT_MODE]}}),a.registerLanguage("nix",function(a){var b={keyword:"rec with let in inherit assert if else then",constant:"true false or and null",built_in:"import abort baseNameOf dirOf isNull builtins map removeAttrs throw toString derivation"},c={className:"subst",begin:/\$\{/,end:/}/,keywords:b},d={className:"variable",begin:/[a-zA-Z0-9-_]+(\s*=)/,relevance:0},e={className:"string",begin:"''",end:"''",contains:[c]},f={className:"string",begin:'"',end:'"',contains:[c]},g=[a.NUMBER_MODE,a.HASH_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,e,f,d];return c.contains=g,{aliases:["nixos"],keywords:b,contains:g}}),a.registerLanguage("nsis",function(a){var b={className:"symbol",begin:"\\$(ADMINTOOLS|APPDATA|CDBURN_AREA|CMDLINE|COMMONFILES32|COMMONFILES64|COMMONFILES|COOKIES|DESKTOP|DOCUMENTS|EXEDIR|EXEFILE|EXEPATH|FAVORITES|FONTS|HISTORY|HWNDPARENT|INSTDIR|INTERNET_CACHE|LANGUAGE|LOCALAPPDATA|MUSIC|NETHOOD|OUTDIR|PICTURES|PLUGINSDIR|PRINTHOOD|PROFILE|PROGRAMFILES32|PROGRAMFILES64|PROGRAMFILES|QUICKLAUNCH|RECENT|RESOURCES_LOCALIZED|RESOURCES|SENDTO|SMPROGRAMS|SMSTARTUP|STARTMENU|SYSDIR|TEMP|TEMPLATES|VIDEOS|WINDIR)"},c={className:"constant",begin:"\\$+{[a-zA-Z0-9_]+}"},d={className:"variable",begin:"\\$+[a-zA-Z0-9_]+",illegal:"\\(\\){}"},e={className:"constant",begin:"\\$+\\([a-zA-Z0-9_]+\\)"},f={className:"params",begin:"(ARCHIVE|FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_OFFLINE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY|HKCR|HKCU|HKDD|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_DYN_DATA|HKEY_LOCAL_MACHINE|HKEY_PERFORMANCE_DATA|HKEY_USERS|HKLM|HKPD|HKU|IDABORT|IDCANCEL|IDIGNORE|IDNO|IDOK|IDRETRY|IDYES|MB_ABORTRETRYIGNORE|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_TOPMOST|MB_USERICON|MB_YESNO|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)"},g={className:"constant",begin:"\\!(addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversionsystem|ifdef|ifmacrodef|ifmacrondef|ifndef|if|include|insertmacro|macroend|macro|makensis|packhdr|searchparse|searchreplace|tempfile|undef|verbose|warning)"};return{case_insensitive:!1,keywords:{keyword:"Abort AddBrandingImage AddSize AllowRootDirInstall AllowSkipFiles AutoCloseWindow BGFont BGGradient BrandingText BringToFront Call CallInstDLL Caption ChangeUI CheckBitmap ClearErrors CompletedText ComponentText CopyFiles CRCCheck CreateDirectory CreateFont CreateShortCut Delete DeleteINISec DeleteINIStr DeleteRegKey DeleteRegValue DetailPrint DetailsButtonText DirText DirVar DirVerify EnableWindow EnumRegKey EnumRegValue Exch Exec ExecShell ExecWait ExpandEnvStrings File FileBufSize FileClose FileErrorText FileOpen FileRead FileReadByte FileReadUTF16LE FileReadWord FileSeek FileWrite FileWriteByte FileWriteUTF16LE FileWriteWord FindClose FindFirst FindNext FindWindow FlushINI FunctionEnd GetCurInstType GetCurrentAddress GetDlgItem GetDLLVersion GetDLLVersionLocal GetErrorLevel GetFileTime GetFileTimeLocal GetFullPathName GetFunctionAddress GetInstDirError GetLabelAddress GetTempFileName Goto HideWindow Icon IfAbort IfErrors IfFileExists IfRebootFlag IfSilent InitPluginsDir InstallButtonText InstallColors InstallDir InstallDirRegKey InstProgressFlags InstType InstTypeGetText InstTypeSetText IntCmp IntCmpU IntFmt IntOp IsWindow LangString LicenseBkColor LicenseData LicenseForceSelection LicenseLangString LicenseText LoadLanguageFile LockWindow LogSet LogText ManifestDPIAware ManifestSupportedOS MessageBox MiscButtonText Name Nop OutFile Page PageCallbacks PageExEnd Pop Push Quit ReadEnvStr ReadINIStr ReadRegDWORD ReadRegStr Reboot RegDLL Rename RequestExecutionLevel ReserveFile Return RMDir SearchPath SectionEnd SectionGetFlags SectionGetInstTypes SectionGetSize SectionGetText SectionGroupEnd SectionIn SectionSetFlags SectionSetInstTypes SectionSetSize SectionSetText SendMessage SetAutoClose SetBrandingImage SetCompress SetCompressor SetCompressorDictSize SetCtlColors SetCurInstType SetDatablockOptimize SetDateSave SetDetailsPrint SetDetailsView SetErrorLevel SetErrors SetFileAttributes SetFont SetOutPath SetOverwrite SetPluginUnload SetRebootFlag SetRegView SetShellVarContext SetSilent ShowInstDetails ShowUninstDetails ShowWindow SilentInstall SilentUnInstall Sleep SpaceTexts StrCmp StrCmpS StrCpy StrLen SubCaption SubSectionEnd Unicode UninstallButtonText UninstallCaption UninstallIcon UninstallSubCaption UninstallText UninstPage UnRegDLL Var VIAddVersionKey VIFileVersion VIProductVersion WindowIcon WriteINIStr WriteRegBin WriteRegDWORD WriteRegExpandStr WriteRegStr WriteUninstaller XPStyle",
+literal:"admin all auto both colored current false force hide highest lastused leave listonly none normal notset off on open print show silent silentlog smooth textonly true user "},contains:[a.HASH_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{className:"string",begin:'"',end:'"',illegal:"\\n",contains:[{className:"symbol",begin:"\\$(\\\\(n|r|t)|\\$)"},b,c,d,e]},a.COMMENT(";","$",{relevance:0}),{className:"function",beginKeywords:"Function PageEx Section SectionGroup SubSection",end:"$"},g,c,d,e,f,a.NUMBER_MODE,{className:"literal",begin:a.IDENT_RE+"::"+a.IDENT_RE}]}}),a.registerLanguage("objectivec",function(a){var b={className:"built_in",begin:"(AV|CA|CF|CG|CI|MK|MP|NS|UI)\\w+"},c={keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},d=/[a-zA-Z@][a-zA-Z0-9_]*/,e="@interface @class @protocol @implementation";return{aliases:["mm","objc","obj-c"],keywords:c,lexemes:d,illegal:"</",contains:[b,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.C_NUMBER_MODE,a.QUOTE_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[a.BACKSLASH_ESCAPE]},{begin:"'",end:"[^\\\\]'",illegal:"[^\\\\][^']"}]},{className:"preprocessor",begin:"#",end:"$",contains:[{className:"title",variants:[{begin:'"',end:'"'},{begin:"<",end:">"}]}]},{className:"class",begin:"("+e.split(" ").join("|")+")\\b",end:"({|$)",excludeEnd:!0,keywords:e,lexemes:d,contains:[a.UNDERSCORE_TITLE_MODE]},{className:"variable",begin:"\\."+a.UNDERSCORE_IDENT_RE,relevance:0}]}}),a.registerLanguage("ocaml",function(a){return{aliases:["ml"],keywords:{keyword:"and as assert asr begin class constraint do done downto else end exception external for fun function functor if in include inherit! inherit initializer land lazy let lor lsl lsr lxor match method!|10 method mod module mutable new object of open! open or private rec sig struct then to try type val! val virtual when while with parser value",built_in:"array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 string unit in_channel out_channel ref",literal:"true false"},illegal:/\/\/|>>/,lexemes:"[a-z_]\\w*!?",contains:[{className:"literal",begin:"\\[(\\|\\|)?\\]|\\(\\)",relevance:0},a.COMMENT("\\(\\*","\\*\\)",{contains:["self"]}),{className:"symbol",begin:"'[A-Za-z_](?!')[\\w']*"},{className:"tag",begin:"`[A-Z][\\w']*"},{className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},{begin:"[a-z_]\\w*'[\\w']*"},a.inherit(a.APOS_STRING_MODE,{className:"char",relevance:0}),a.inherit(a.QUOTE_STRING_MODE,{illegal:null}),{className:"number",begin:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",relevance:0},{begin:/[-=]>/}]}}),a.registerLanguage("openscad",function(a){var b={className:"keyword",begin:"\\$(f[asn]|t|vp[rtd]|children)"},c={className:"literal",begin:"false|true|PI|undef"},d={className:"number",begin:"\\b\\d+(\\.\\d+)?(e-?\\d+)?",relevance:0},e=a.inherit(a.QUOTE_STRING_MODE,{illegal:null}),f={className:"preprocessor",keywords:"include use",begin:"include|use <",end:">"},g={className:"params",begin:"\\(",end:"\\)",contains:["self",d,e,b,c]},h={className:"built_in",begin:"[*!#%]",relevance:0},i={className:"function",beginKeywords:"module function",end:"\\=|\\{",contains:[g,a.UNDERSCORE_TITLE_MODE]};return{aliases:["scad"],keywords:{keyword:"function module include use for intersection_for if else \\%",literal:"false true PI undef",built_in:"circle square polygon text sphere cube cylinder polyhedron translate rotate scale resize mirror multmatrix color offset hull minkowski union difference intersection abs sign sin cos tan acos asin atan atan2 floor round ceil ln log pow sqrt exp rands min max concat lookup str chr search version version_num norm cross parent_module echo import import_dxf dxf_linear_extrude linear_extrude rotate_extrude surface projection render children dxf_cross dxf_dim let assign"},contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,d,f,e,b,h,i]}}),a.registerLanguage("oxygene",function(a){var b="abstract add and array as asc aspect assembly async begin break block by case class concat const copy constructor continue create default delegate desc distinct div do downto dynamic each else empty end ensure enum equals event except exit extension external false final finalize finalizer finally flags for forward from function future global group has if implementation implements implies in index inherited inline interface into invariants is iterator join locked locking loop matching method mod module namespace nested new nil not notify nullable of old on operator or order out override parallel params partial pinned private procedure property protected public queryable raise read readonly record reintroduce remove repeat require result reverse sealed select self sequence set shl shr skip static step soft take then to true try tuple type union unit unsafe until uses using var virtual raises volatile where while with write xor yield await mapped deprecated stdcall cdecl pascal register safecall overload library platform reference packed strict published autoreleasepool selector strong weak unretained",c=a.COMMENT("{","}",{relevance:0}),d=a.COMMENT("\\(\\*","\\*\\)",{relevance:10}),e={className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},f={className:"string",begin:"(#\\d+)+"},g={className:"function",beginKeywords:"function constructor destructor procedure method",end:"[:;]",keywords:"function constructor|10 destructor|10 procedure|10 method|10",contains:[a.TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",keywords:b,contains:[e,f]},c,d]};return{case_insensitive:!0,keywords:b,illegal:'("|\\$[G-Zg-z]|\\/\\*|</|=>|->)',contains:[c,d,a.C_LINE_COMMENT_MODE,e,f,a.NUMBER_MODE,g,{className:"class",begin:"=\\bclass\\b",end:"end;",keywords:b,contains:[e,f,c,d,a.C_LINE_COMMENT_MODE,g]}]}}),a.registerLanguage("parser3",function(a){var b=a.COMMENT("{","}",{contains:["self"]});return{subLanguage:"xml",relevance:0,contains:[a.COMMENT("^#","$"),a.COMMENT("\\^rem{","}",{relevance:10,contains:[b]}),{className:"preprocessor",begin:"^@(?:BASE|USE|CLASS|OPTIONS)$",relevance:10},{className:"title",begin:"@[\\w\\-]+\\[[\\w^;\\-]*\\](?:\\[[\\w^;\\-]*\\])?(?:.*)$"},{className:"variable",begin:"\\$\\{?[\\w\\-\\.\\:]+\\}?"},{className:"keyword",begin:"\\^[\\w\\-\\.\\:]+"},{className:"number",begin:"\\^#[0-9a-fA-F]+"},a.C_NUMBER_MODE]}}),a.registerLanguage("pf",function(a){var b={className:"variable",begin:/\$[\w\d#@][\w\d_]*/},c={className:"variable",begin:/</,end:/>/};return{aliases:["pf.conf"],lexemes:/[a-z0-9_<>-]+/,keywords:{built_in:"block match pass load anchor|5 antispoof|10 set table",keyword:"in out log quick on rdomain inet inet6 proto from port os to routeallow-opts divert-packet divert-reply divert-to flags group icmp-typeicmp6-type label once probability recieved-on rtable prio queuetos tag tagged user keep fragment for os dropaf-to|10 binat-to|10 nat-to|10 rdr-to|10 bitmask least-stats random round-robinsource-hash static-portdup-to reply-to route-toparent bandwidth default min max qlimitblock-policy debug fingerprints hostid limit loginterface optimizationreassemble ruleset-optimization basic none profile skip state-defaultsstate-policy timeoutconst counters persistno modulate synproxy state|5 floating if-bound no-sync pflow|10 sloppysource-track global rule max-src-nodes max-src-states max-src-connmax-src-conn-rate overload flushscrub|5 max-mss min-ttl no-df|10 random-id",literal:"all any no-route self urpf-failed egress|5 unknown"},contains:[a.HASH_COMMENT_MODE,a.NUMBER_MODE,a.QUOTE_STRING_MODE,b,c]}}),a.registerLanguage("php",function(a){var b={className:"variable",begin:"\\$+[a-zA-Z_\7f-ÿ][a-zA-Z0-9_\7f-ÿ]*"},c={className:"preprocessor",begin:/<\?(php)?|\?>/},d={className:"string",contains:[a.BACKSLASH_ESCAPE,c],variants:[{begin:'b"',end:'"'},{begin:"b'",end:"'"},a.inherit(a.APOS_STRING_MODE,{illegal:null}),a.inherit(a.QUOTE_STRING_MODE,{illegal:null})]},e={variants:[a.BINARY_NUMBER_MODE,a.C_NUMBER_MODE]};return{aliases:["php3","php4","php5","php6"],case_insensitive:!0,keywords:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",contains:[a.C_LINE_COMMENT_MODE,a.HASH_COMMENT_MODE,a.COMMENT("/\\*","\\*/",{contains:[{className:"doctag",begin:"@[A-Za-z]+"},c]}),a.COMMENT("__halt_compiler.+?;",!1,{endsWithParent:!0,keywords:"__halt_compiler",lexemes:a.UNDERSCORE_IDENT_RE}),{className:"string",begin:/<<<['"]?\w+['"]?$/,end:/^\w+;?$/,contains:[a.BACKSLASH_ESCAPE,{className:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]}]},c,b,{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",beginKeywords:"function",end:/[;{]/,excludeEnd:!0,illegal:"\\$|\\[|%",contains:[a.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",contains:["self",b,a.C_BLOCK_COMMENT_MODE,d,e]}]},{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,illegal:/[:\(\$"]/,contains:[{beginKeywords:"extends implements"},a.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",end:";",illegal:/[\.']/,contains:[a.UNDERSCORE_TITLE_MODE]},{beginKeywords:"use",end:";",contains:[a.UNDERSCORE_TITLE_MODE]},{begin:"=>"},d,e]}}),a.registerLanguage("powershell",function(a){var b={begin:"`[\\s\\S]",relevance:0},c={className:"variable",variants:[{begin:/\$[\w\d][\w\d_:]*/}]},d={className:"string",begin:/"/,end:/"/,contains:[b,c,{className:"variable",begin:/\$[A-z]/,end:/[^A-z]/}]},e={className:"string",begin:/'/,end:/'/};return{aliases:["ps"],lexemes:/-?[A-z\.\-]+/,case_insensitive:!0,keywords:{keyword:"if else foreach return function do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch",literal:"$null $true $false",built_in:"Add-Content Add-History Add-Member Add-PSSnapin Clear-Content Clear-Item Clear-Item Property Clear-Variable Compare-Object ConvertFrom-SecureString Convert-Path ConvertTo-Html ConvertTo-SecureString Copy-Item Copy-ItemProperty Export-Alias Export-Clixml Export-Console Export-Csv ForEach-Object Format-Custom Format-List Format-Table Format-Wide Get-Acl Get-Alias Get-AuthenticodeSignature Get-ChildItem Get-Command Get-Content Get-Credential Get-Culture Get-Date Get-EventLog Get-ExecutionPolicy Get-Help Get-History Get-Host Get-Item Get-ItemProperty Get-Location Get-Member Get-PfxCertificate Get-Process Get-PSDrive Get-PSProvider Get-PSSnapin Get-Service Get-TraceSource Get-UICulture Get-Unique Get-Variable Get-WmiObject Group-Object Import-Alias Import-Clixml Import-Csv Invoke-Expression Invoke-History Invoke-Item Join-Path Measure-Command Measure-Object Move-Item Move-ItemProperty New-Alias New-Item New-ItemProperty New-Object New-PSDrive New-Service New-TimeSpan New-Variable Out-Default Out-File Out-Host Out-Null Out-Printer Out-String Pop-Location Push-Location Read-Host Remove-Item Remove-ItemProperty Remove-PSDrive Remove-PSSnapin Remove-Variable Rename-Item Rename-ItemProperty Resolve-Path Restart-Service Resume-Service Select-Object Select-String Set-Acl Set-Alias Set-AuthenticodeSignature Set-Content Set-Date Set-ExecutionPolicy Set-Item Set-ItemProperty Set-Location Set-PSDebug Set-Service Set-TraceSource Set-Variable Sort-Object Split-Path Start-Service Start-Sleep Start-Transcript Stop-Process Stop-Service Stop-Transcript Suspend-Service Tee-Object Test-Path Trace-Command Update-FormatData Update-TypeData Where-Object Write-Debug Write-Error Write-Host Write-Output Write-Progress Write-Verbose Write-Warning",operator:"-ne -eq -lt -gt -ge -le -not -like -notlike -match -notmatch -contains -notcontains -in -notin -replace"},contains:[a.HASH_COMMENT_MODE,a.NUMBER_MODE,d,e,c]}}),a.registerLanguage("processing",function(a){return{keywords:{keyword:"BufferedReader PVector PFont PImage PGraphics HashMap boolean byte char color double float int long String Array FloatDict FloatList IntDict IntList JSONArray JSONObject Object StringDict StringList Table TableRow XML false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private",constant:"P2D P3D HALF_PI PI QUARTER_PI TAU TWO_PI",variable:"displayHeight displayWidth mouseY mouseX mousePressed pmouseX pmouseY key keyCode pixels focused frameCount frameRate height width",title:"setup draw",built_in:"size createGraphics beginDraw createShape loadShape PShape arc ellipse line point quad rect triangle bezier bezierDetail bezierPoint bezierTangent curve curveDetail curvePoint curveTangent curveTightness shape shapeMode beginContour beginShape bezierVertex curveVertex endContour endShape quadraticVertex vertex ellipseMode noSmooth rectMode smooth strokeCap strokeJoin strokeWeight mouseClicked mouseDragged mouseMoved mousePressed mouseReleased mouseWheel keyPressed keyPressedkeyReleased keyTyped print println save saveFrame day hour millis minute month second year background clear colorMode fill noFill noStroke stroke alpha blue brightness color green hue lerpColor red saturation modelX modelY modelZ screenX screenY screenZ ambient emissive shininess specular add createImage beginCamera camera endCamera frustum ortho perspective printCamera printProjection cursor frameRate noCursor exit loop noLoop popStyle pushStyle redraw binary boolean byte char float hex int str unbinary unhex join match matchAll nf nfc nfp nfs split splitTokens trim append arrayCopy concat expand reverse shorten sort splice subset box sphere sphereDetail createInput createReader loadBytes loadJSONArray loadJSONObject loadStrings loadTable loadXML open parseXML saveTable selectFolder selectInput beginRaw beginRecord createOutput createWriter endRaw endRecord PrintWritersaveBytes saveJSONArray saveJSONObject saveStream saveStrings saveXML selectOutput popMatrix printMatrix pushMatrix resetMatrix rotate rotateX rotateY rotateZ scale shearX shearY translate ambientLight directionalLight lightFalloff lights lightSpecular noLights normal pointLight spotLight image imageMode loadImage noTint requestImage tint texture textureMode textureWrap blend copy filter get loadPixels set updatePixels blendMode loadShader PShaderresetShader shader createFont loadFont text textFont textAlign textLeading textMode textSize textWidth textAscent textDescent abs ceil constrain dist exp floor lerp log mag map max min norm pow round sq sqrt acos asin atan atan2 cos degrees radians sin tan noise noiseDetail noiseSeed random randomGaussian randomSeed"},contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_NUMBER_MODE]}}),a.registerLanguage("profile",function(a){return{contains:[a.C_NUMBER_MODE,{className:"built_in",begin:"{",end:"}$",excludeBegin:!0,excludeEnd:!0,contains:[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE],relevance:0},{className:"filename",begin:"[a-zA-Z_][\\da-zA-Z_]+\\.[\\da-zA-Z_]{1,3}",end:":",excludeEnd:!0},{className:"header",begin:"(ncalls|tottime|cumtime)",end:"$",keywords:"ncalls tottime|10 cumtime|10 filename",relevance:10},{className:"summary",begin:"function calls",end:"$",contains:[a.C_NUMBER_MODE],relevance:10},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,{className:"function",begin:"\\(",end:"\\)$",contains:[a.UNDERSCORE_TITLE_MODE],relevance:0}]}}),a.registerLanguage("prolog",function(a){var b={className:"atom",begin:/[a-z][A-Za-z0-9_]*/,relevance:0},c={className:"name",variants:[{begin:/[A-Z][a-zA-Z0-9_]*/},{begin:/_[A-Za-z0-9_]*/}],relevance:0},d={begin:/\(/,end:/\)/,relevance:0},e={begin:/\[/,end:/\]/},f={className:"comment",begin:/%/,end:/$/,contains:[a.PHRASAL_WORDS_MODE]},g={className:"string",begin:/`/,end:/`/,contains:[a.BACKSLASH_ESCAPE]},h={className:"string",begin:/0\'(\\\'|.)/},i={className:"string",begin:/0\'\\s/},j={begin:/:-/},k=[b,c,d,j,e,f,a.C_BLOCK_COMMENT_MODE,a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,g,h,i,a.C_NUMBER_MODE];return d.contains=k,e.contains=k,{contains:k.concat([{begin:/\.$/}])}}),a.registerLanguage("protobuf",function(a){return{keywords:{keyword:"package import option optional required repeated group",built_in:"double float int32 int64 uint32 uint64 sint32 sint64 fixed32 fixed64 sfixed32 sfixed64 bool string bytes",literal:"true false"},contains:[a.QUOTE_STRING_MODE,a.NUMBER_MODE,a.C_LINE_COMMENT_MODE,{className:"class",beginKeywords:"message enum service",end:/\{/,illegal:/\n/,contains:[a.inherit(a.TITLE_MODE,{starts:{endsWithParent:!0,excludeEnd:!0}})]},{className:"function",beginKeywords:"rpc",end:/;/,excludeEnd:!0,keywords:"rpc returns"},{className:"constant",begin:/^\s*[A-Z_]+/,end:/\s*=/,excludeEnd:!0}]}}),a.registerLanguage("puppet",function(a){var b={keyword:"and case default else elsif false if in import enherits node or true undef unless main settings $string ",literal:"alias audit before loglevel noop require subscribe tag owner ensure group mode name|0 changes context force incl lens load_path onlyif provider returns root show_diff type_check en_address ip_address realname command environment hour monute month monthday special target weekday creates cwd ogoutput refresh refreshonly tries try_sleep umask backup checksum content ctime force ignore links mtime purge recurse recurselimit replace selinux_ignore_defaults selrange selrole seltype seluser source souirce_permissions sourceselect validate_cmd validate_replacement allowdupe attribute_membership auth_membership forcelocal gid ia_load_module members system host_aliases ip allowed_trunk_vlans description device_url duplex encapsulation etherchannel native_vlan speed principals allow_root auth_class auth_type authenticate_user k_of_n mechanisms rule session_owner shared options device fstype enable hasrestart directory present absent link atboot blockdevice device dump pass remounts poller_tag use message withpath adminfile allow_virtual allowcdrom category configfiles flavor install_options instance package_settings platform responsefile status uninstall_options vendor unless_system_user unless_uid binary control flags hasstatus manifest pattern restart running start stop allowdupe auths expiry gid groups home iterations key_membership keys managehome membership password password_max_age password_min_age profile_membership profiles project purge_ssh_keys role_membership roles salt shell uid baseurl cost descr enabled enablegroups exclude failovermethod gpgcheck gpgkey http_caching include includepkgs keepalive metadata_expire metalink mirrorlist priority protect proxy proxy_password proxy_username repo_gpgcheck s3_enabled skip_if_unavailable sslcacert sslclientcert sslclientkey sslverify mounted",built_in:"architecture augeasversion blockdevices boardmanufacturer boardproductname boardserialnumber cfkey dhcp_servers domain ec2_ ec2_userdata facterversion filesystems ldom fqdn gid hardwareisa hardwaremodel hostname id|0 interfaces ipaddress ipaddress_ ipaddress6 ipaddress6_ iphostnumber is_virtual kernel kernelmajversion kernelrelease kernelversion kernelrelease kernelversion lsbdistcodename lsbdistdescription lsbdistid lsbdistrelease lsbmajdistrelease lsbminordistrelease lsbrelease macaddress macaddress_ macosx_buildversion macosx_productname macosx_productversion macosx_productverson_major macosx_productversion_minor manufacturer memoryfree memorysize netmask metmask_ network_ operatingsystem operatingsystemmajrelease operatingsystemrelease osfamily partitions path physicalprocessorcount processor processorcount productname ps puppetversion rubysitedir rubyversion selinux selinux_config_mode selinux_config_policy selinux_current_mode selinux_current_mode selinux_enforced selinux_policyversion serialnumber sp_ sshdsakey sshecdsakey sshrsakey swapencrypted swapfree swapsize timezone type uniqueid uptime uptime_days uptime_hours uptime_seconds uuid virtual vlans xendomains zfs_version zonenae zones zpool_version"},c=a.COMMENT("#","$"),d="([A-Za-z_]|::)(\\w|::)*",e=a.inherit(a.TITLE_MODE,{begin:d}),f={className:"variable",begin:"\\$"+d},g={className:"string",contains:[a.BACKSLASH_ESCAPE,f],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/}]};return{aliases:["pp"],contains:[c,f,g,{beginKeywords:"class",end:"\\{|;",illegal:/=/,contains:[e,c]},{beginKeywords:"define",end:/\{/,contains:[{className:"title",begin:a.IDENT_RE,endsParent:!0}]},{begin:a.IDENT_RE+"\\s+\\{",returnBegin:!0,end:/\S/,contains:[{className:"name",begin:a.IDENT_RE},{begin:/\{/,end:/\}/,keywords:b,relevance:0,contains:[g,c,{begin:"[a-zA-Z_]+\\s*=>"},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},f]}],relevance:0}]}}),a.registerLanguage("python",function(a){var b={className:"prompt",begin:/^(>>>|\.\.\.) /},c={className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:/(u|b)?r?'''/,end:/'''/,contains:[b],relevance:10},{begin:/(u|b)?r?"""/,end:/"""/,contains:[b],relevance:10},{begin:/(u|r|ur)'/,end:/'/,relevance:10},{begin:/(u|r|ur)"/,end:/"/,relevance:10},{begin:/(b|br)'/,end:/'/},{begin:/(b|br)"/,end:/"/},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE]},d={className:"number",relevance:0,variants:[{begin:a.BINARY_NUMBER_RE+"[lLjJ]?"},{begin:"\\b(0o[0-7]+)[lLjJ]?"},{begin:a.C_NUMBER_RE+"[lLjJ]?"}]},e={className:"params",begin:/\(/,end:/\)/,contains:["self",b,d,c]};return{aliases:["py","gyp"],keywords:{keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10 None True False",built_in:"Ellipsis NotImplemented"},illegal:/(<\/|->|\?)/,contains:[b,d,c,a.HASH_COMMENT_MODE,{variants:[{className:"function",beginKeywords:"def",relevance:10},{className:"class",beginKeywords:"class"}],end:/:/,illegal:/[${=;\n,]/,contains:[a.UNDERSCORE_TITLE_MODE,e]},{className:"decorator",begin:/^[\t ]*@/,end:/$/},{begin:/\b(print|exec)\(/}]}}),a.registerLanguage("q",function(a){var b={keyword:"do while select delete by update from",constant:"0b 1b",built_in:"neg not null string reciprocal floor ceiling signum mod xbar xlog and or each scan over prior mmu lsq inv md5 ltime gtime count first var dev med cov cor all any rand sums prds mins maxs fills deltas ratios avgs differ prev next rank reverse iasc idesc asc desc msum mcount mavg mdev xrank mmin mmax xprev rotate distinct group where flip type key til get value attr cut set upsert raze union inter except cross sv vs sublist enlist read0 read1 hopen hclose hdel hsym hcount peach system ltrim rtrim trim lower upper ssr view tables views cols xcols keys xkey xcol xasc xdesc fkeys meta lj aj aj0 ij pj asof uj ww wj wj1 fby xgroup ungroup ej save load rsave rload show csv parse eval min max avg wavg wsum sin cos tan sum",typename:"`float `double int `timestamp `timespan `datetime `time `boolean `symbol `char `byte `short `long `real `month `date `minute `second `guid"};return{aliases:["k","kdb"],keywords:b,lexemes:/\b(`?)[A-Za-z0-9_]+\b/,contains:[a.C_LINE_COMMENT_MODE,a.QUOTE_STRING_MODE,a.C_NUMBER_MODE]}}),a.registerLanguage("r",function(a){var b="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{contains:[a.HASH_COMMENT_MODE,{begin:b,lexemes:b,keywords:{keyword:"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},relevance:0},{className:"number",begin:"0[xX][0-9a-fA-F]+[Li]?\\b",relevance:0},{className:"number",begin:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",relevance:0},{className:"number",begin:"\\d+\\.(?!\\d)(?:i\\b)?",relevance:0},{className:"number",begin:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{className:"number",begin:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{begin:"`",end:"`",relevance:0},{className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:'"',end:'"'},{begin:"'",end:"'"}]}]}}),a.registerLanguage("rib",function(a){return{keywords:"ArchiveRecord AreaLightSource Atmosphere Attribute AttributeBegin AttributeEnd Basis Begin Blobby Bound Clipping ClippingPlane Color ColorSamples ConcatTransform Cone CoordinateSystem CoordSysTransform CropWindow Curves Cylinder DepthOfField Detail DetailRange Disk Displacement Display End ErrorHandler Exposure Exterior Format FrameAspectRatio FrameBegin FrameEnd GeneralPolygon GeometricApproximation Geometry Hider Hyperboloid Identity Illuminate Imager Interior LightSource MakeCubeFaceEnvironment MakeLatLongEnvironment MakeShadow MakeTexture Matte MotionBegin MotionEnd NuPatch ObjectBegin ObjectEnd ObjectInstance Opacity Option Orientation Paraboloid Patch PatchMesh Perspective PixelFilter PixelSamples PixelVariance Points PointsGeneralPolygons PointsPolygons Polygon Procedural Projection Quantize ReadArchive RelativeDetail ReverseOrientation Rotate Scale ScreenWindow ShadingInterpolation ShadingRate Shutter Sides Skew SolidBegin SolidEnd Sphere SubdivisionMesh Surface TextureCoordinates Torus Transform TransformBegin TransformEnd TransformPoints Translate TrimCurve WorldBegin WorldEnd",illegal:"</",contains:[a.HASH_COMMENT_MODE,a.C_NUMBER_MODE,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE]}}),a.registerLanguage("roboconf",function(a){var b="[a-zA-Z-_][^\n{\r\n]+\\{";return{aliases:["graph","instances"],case_insensitive:!0,keywords:"import",contains:[{className:"facet",begin:"^facet "+b,end:"}",keywords:"facet installer exports children extends",contains:[a.HASH_COMMENT_MODE]},{className:"instance-of",begin:"^instance of "+b,end:"}",keywords:"name count channels instance-data instance-state instance of",contains:[{className:"keyword",begin:"[a-zA-Z-_]+( |  )*:"},a.HASH_COMMENT_MODE]},{className:"component",begin:"^"+b,end:"}",lexemes:"\\(?[a-zA-Z]+\\)?",keywords:"installer exports children extends imports facets alias (optional)",contains:[{className:"string",begin:"\\.[a-zA-Z-_]+",end:"\\s|,|;",excludeEnd:!0},a.HASH_COMMENT_MODE]},a.HASH_COMMENT_MODE]}}),a.registerLanguage("rsl",function(a){return{keywords:{keyword:"float color point normal vector matrix while for if do return else break extern continue",built_in:"abs acos ambient area asin atan atmosphere attribute calculatenormal ceil cellnoise clamp comp concat cos degrees depth Deriv diffuse distance Du Dv environment exp faceforward filterstep floor format fresnel incident length lightsource log match max min mod noise normalize ntransform opposite option phong pnoise pow printf ptlined radians random reflect refract renderinfo round setcomp setxcomp setycomp setzcomp shadow sign sin smoothstep specular specularbrdf spline sqrt step tan texture textureinfo trace transform vtransform xcomp ycomp zcomp"},illegal:"</",contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,a.C_NUMBER_MODE,{className:"preprocessor",begin:"#",end:"$"},{className:"shader",beginKeywords:"surface displacement light volume imager",end:"\\("},{className:"shading",beginKeywords:"illuminate illuminance gather",end:"\\("}]}}),a.registerLanguage("ruleslanguage",function(a){return{keywords:{keyword:"BILL_PERIOD BILL_START BILL_STOP RS_EFFECTIVE_START RS_EFFECTIVE_STOP RS_JURIS_CODE RS_OPCO_CODE INTDADDATTRIBUTE|5 INTDADDVMSG|5 INTDBLOCKOP|5 INTDBLOCKOPNA|5 INTDCLOSE|5 INTDCOUNT|5 INTDCOUNTSTATUSCODE|5 INTDCREATEMASK|5 INTDCREATEDAYMASK|5 INTDCREATEFACTORMASK|5 INTDCREATEHANDLE|5 INTDCREATEOVERRIDEDAYMASK|5 INTDCREATEOVERRIDEMASK|5 INTDCREATESTATUSCODEMASK|5 INTDCREATETOUPERIOD|5 INTDDELETE|5 INTDDIPTEST|5 INTDEXPORT|5 INTDGETERRORCODE|5 INTDGETERRORMESSAGE|5 INTDISEQUAL|5 INTDJOIN|5 INTDLOAD|5 INTDLOADACTUALCUT|5 INTDLOADDATES|5 INTDLOADHIST|5 INTDLOADLIST|5 INTDLOADLISTDATES|5 INTDLOADLISTENERGY|5 INTDLOADLISTHIST|5 INTDLOADRELATEDCHANNEL|5 INTDLOADSP|5 INTDLOADSTAGING|5 INTDLOADUOM|5 INTDLOADUOMDATES|5 INTDLOADUOMHIST|5 INTDLOADVERSION|5 INTDOPEN|5 INTDREADFIRST|5 INTDREADNEXT|5 INTDRECCOUNT|5 INTDRELEASE|5 INTDREPLACE|5 INTDROLLAVG|5 INTDROLLPEAK|5 INTDSCALAROP|5 INTDSCALE|5 INTDSETATTRIBUTE|5 INTDSETDSTPARTICIPANT|5 INTDSETSTRING|5 INTDSETVALUE|5 INTDSETVALUESTATUS|5 INTDSHIFTSTARTTIME|5 INTDSMOOTH|5 INTDSORT|5 INTDSPIKETEST|5 INTDSUBSET|5 INTDTOU|5 INTDTOURELEASE|5 INTDTOUVALUE|5 INTDUPDATESTATS|5 INTDVALUE|5 STDEV INTDDELETEEX|5 INTDLOADEXACTUAL|5 INTDLOADEXCUT|5 INTDLOADEXDATES|5 INTDLOADEX|5 INTDLOADEXRELATEDCHANNEL|5 INTDSAVEEX|5 MVLOAD|5 MVLOADACCT|5 MVLOADACCTDATES|5 MVLOADACCTHIST|5 MVLOADDATES|5 MVLOADHIST|5 MVLOADLIST|5 MVLOADLISTDATES|5 MVLOADLISTHIST|5 IF FOR NEXT DONE SELECT END CALL ABORT CLEAR CHANNEL FACTOR LIST NUMBER OVERRIDE SET WEEK DISTRIBUTIONNODE ELSE WHEN THEN OTHERWISE IENUM CSV INCLUDE LEAVE RIDER SAVE DELETE NOVALUE SECTION WARN SAVE_UPDATE DETERMINANT LABEL REPORT REVENUE EACH IN FROM TOTAL CHARGE BLOCK AND OR CSV_FILE RATE_CODE AUXILIARY_DEMAND UIDACCOUNT RS BILL_PERIOD_SELECT HOURS_PER_MONTH INTD_ERROR_STOP SEASON_SCHEDULE_NAME ACCOUNTFACTOR ARRAYUPPERBOUND CALLSTOREDPROC GETADOCONNECTION GETCONNECT GETDATASOURCE GETQUALIFIER GETUSERID HASVALUE LISTCOUNT LISTOP LISTUPDATE LISTVALUE PRORATEFACTOR RSPRORATE SETBINPATH SETDBMONITOR WQ_OPEN BILLINGHOURS DATE DATEFROMFLOAT DATETIMEFROMSTRING DATETIMETOSTRING DATETOFLOAT DAY DAYDIFF DAYNAME DBDATETIME HOUR MINUTE MONTH MONTHDIFF MONTHHOURS MONTHNAME ROUNDDATE SAMEWEEKDAYLASTYEAR SECOND WEEKDAY WEEKDIFF YEAR YEARDAY YEARSTR COMPSUM HISTCOUNT HISTMAX HISTMIN HISTMINNZ HISTVALUE MAXNRANGE MAXRANGE MINRANGE COMPIKVA COMPKVA COMPKVARFROMKQKW COMPLF IDATTR FLAG LF2KW LF2KWH MAXKW POWERFACTOR READING2USAGE AVGSEASON MAXSEASON MONTHLYMERGE SEASONVALUE SUMSEASON ACCTREADDATES ACCTTABLELOAD CONFIGADD CONFIGGET CREATEOBJECT CREATEREPORT EMAILCLIENT EXPBLKMDMUSAGE EXPMDMUSAGE EXPORT_USAGE FACTORINEFFECT GETUSERSPECIFIEDSTOP INEFFECT ISHOLIDAY RUNRATE SAVE_PROFILE SETREPORTTITLE USEREXIT WATFORRUNRATE TO TABLE ACOS ASIN ATAN ATAN2 BITAND CEIL COS COSECANT COSH COTANGENT DIVQUOT DIVREM EXP FABS FLOOR FMOD FREPM FREXPN LOG LOG10 MAX MAXN MIN MINNZ MODF POW ROUND ROUND2VALUE ROUNDINT SECANT SIN SINH SQROOT TAN TANH FLOAT2STRING FLOAT2STRINGNC INSTR LEFT LEN LTRIM MID RIGHT RTRIM STRING STRINGNC TOLOWER TOUPPER TRIM NUMDAYS READ_DATE STAGING",built_in:"IDENTIFIER OPTIONS XML_ELEMENT XML_OP XML_ELEMENT_OF DOMDOCCREATE DOMDOCLOADFILE DOMDOCLOADXML DOMDOCSAVEFILE DOMDOCGETROOT DOMDOCADDPI DOMNODEGETNAME DOMNODEGETTYPE DOMNODEGETVALUE DOMNODEGETCHILDCT DOMNODEGETFIRSTCHILD DOMNODEGETSIBLING DOMNODECREATECHILDELEMENT DOMNODESETATTRIBUTE DOMNODEGETCHILDELEMENTCT DOMNODEGETFIRSTCHILDELEMENT DOMNODEGETSIBLINGELEMENT DOMNODEGETATTRIBUTECT DOMNODEGETATTRIBUTEI DOMNODEGETATTRIBUTEBYNAME DOMNODEGETBYNAME"},contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_NUMBER_MODE,{className:"array",variants:[{begin:"#\\s+[a-zA-Z\\ \\.]*",
+relevance:0},{begin:"#[a-zA-Z\\ \\.]+"}]}]}}),a.registerLanguage("rust",function(a){var b="([uif](8|16|32|64|size))?",c=a.inherit(a.C_BLOCK_COMMENT_MODE);return c.contains.push("self"),{aliases:["rs"],keywords:{keyword:"alignof as be box break const continue crate do else enum extern false fn for if impl in let loop match mod mut offsetof once priv proc pub pure ref return self Self sizeof static struct super trait true type typeof unsafe unsized use virtual while where yield int i8 i16 i32 i64 uint u8 u32 u64 float f32 f64 str char bool",built_in:"Copy Send Sized Sync Drop Fn FnMut FnOnce drop Box ToOwned Clone PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator Option Some None Result Ok Err SliceConcatExt String ToString Vec assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln!"},lexemes:a.IDENT_RE+"!?",illegal:"</",contains:[a.C_LINE_COMMENT_MODE,c,a.inherit(a.QUOTE_STRING_MODE,{illegal:null}),{className:"string",variants:[{begin:/r(#*)".*?"\1(?!#)/},{begin:/'\\?(x\w{2}|u\w{4}|U\w{8}|.)'/},{begin:/'[a-zA-Z_][a-zA-Z0-9_]*/}]},{className:"number",variants:[{begin:"\\b0b([01_]+)"+b},{begin:"\\b0o([0-7_]+)"+b},{begin:"\\b0x([A-Fa-f0-9_]+)"+b},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+b}],relevance:0},{className:"function",beginKeywords:"fn",end:"(\\(|<)",excludeEnd:!0,contains:[a.UNDERSCORE_TITLE_MODE]},{className:"preprocessor",begin:"#\\!?\\[",end:"\\]"},{beginKeywords:"type",end:"(=|<)",contains:[a.UNDERSCORE_TITLE_MODE],illegal:"\\S"},{beginKeywords:"trait enum",end:"{",contains:[a.inherit(a.UNDERSCORE_TITLE_MODE,{endsParent:!0})],illegal:"[\\w\\d]"},{begin:a.IDENT_RE+"::"},{begin:"->"}]}}),a.registerLanguage("scala",function(a){var b={className:"annotation",begin:"@[A-Za-z]+"},c={className:"string",begin:'u?r?"""',end:'"""',relevance:10},d={className:"symbol",begin:"'\\w[\\w\\d_]*(?!')"},e={className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},f={className:"title",begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,relevance:0},g={className:"class",beginKeywords:"class object trait type",end:/[:={\[(\n;]/,contains:[{className:"keyword",beginKeywords:"extends with",relevance:10},f]},h={className:"function",beginKeywords:"def",end:/[:={\[(\n;]/,contains:[f]};return{keywords:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"},contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,c,a.QUOTE_STRING_MODE,d,e,h,g,a.C_NUMBER_MODE,b]}}),a.registerLanguage("scheme",function(a){var b="[^\\(\\)\\[\\]\\{\\}\",'`;#|\\\\\\s]+",c="(\\-|\\+)?\\d+([./]\\d+)?",d=c+"[+\\-]"+c+"i",e={built_in:"case-lambda call/cc class define-class exit-handler field import inherit init-field interface let*-values let-values let/ec mixin opt-lambda override protect provide public rename require require-for-syntax syntax syntax-case syntax-error unit/sig unless when with-syntax and begin call-with-current-continuation call-with-input-file call-with-output-file case cond define define-syntax delay do dynamic-wind else for-each if lambda let let* let-syntax letrec letrec-syntax map or syntax-rules ' * + , ,@ - ... / ; < <= = => > >= ` abs acos angle append apply asin assoc assq assv atan boolean? caar cadr call-with-input-file call-with-output-file call-with-values car cdddar cddddr cdr ceiling char->integer char-alphabetic? char-ci<=? char-ci<? char-ci=? char-ci>=? char-ci>? char-downcase char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char<? char=? char>=? char>? char? close-input-port close-output-port complex? cons cos current-input-port current-output-port denominator display eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt floor force gcd imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment lcm length list list->string list->vector list-ref list-tail list? load log magnitude make-polar make-rectangular make-string make-vector max member memq memv min modulo negative? newline not null-environment null? number->string number? numerator odd? open-input-file open-output-file output-port? pair? peek-char port? positive? procedure? quasiquote quote quotient rational? rationalize read read-char real-part real? remainder reverse round scheme-report-environment set! set-car! set-cdr! sin sqrt string string->list string->number string->symbol string-append string-ci<=? string-ci<? string-ci=? string-ci>=? string-ci>? string-copy string-fill! string-length string-ref string-set! string<=? string<? string=? string>=? string>? string? substring symbol->string symbol? tan transcript-off transcript-on truncate values vector vector->list vector-fill! vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char zero?"},f={className:"shebang",begin:"^#!",end:"$"},g={className:"literal",begin:"(#t|#f|#\\\\"+b+"|#\\\\.)"},h={className:"number",variants:[{begin:c,relevance:0},{begin:d,relevance:0},{begin:"#b[0-1]+(/[0-1]+)?"},{begin:"#o[0-7]+(/[0-7]+)?"},{begin:"#x[0-9a-f]+(/[0-9a-f]+)?"}]},i=a.QUOTE_STRING_MODE,j=[a.COMMENT(";","$",{relevance:0}),a.COMMENT("#\\|","\\|#")],k={begin:b,relevance:0},l={className:"variable",begin:"'"+b},m={endsWithParent:!0,relevance:0},n={className:"list",variants:[{begin:"\\(",end:"\\)"},{begin:"\\[",end:"\\]"}],contains:[{className:"keyword",begin:b,lexemes:b,keywords:e},m]};return m.contains=[g,h,i,k,l,n].concat(j),{illegal:/\S/,contains:[f,h,i,l,n].concat(j)}}),a.registerLanguage("scilab",function(a){var b=[a.C_NUMBER_MODE,{className:"string",begin:"'|\"",end:"'|\"",contains:[a.BACKSLASH_ESCAPE,{begin:"''"}]}];return{aliases:["sci"],keywords:{keyword:"abort break case clear catch continue do elseif else endfunction end for functionglobal if pause return resume select try then while%f %F %t %T %pi %eps %inf %nan %e %i %z %s",built_in:"abs and acos asin atan ceil cd chdir clearglobal cosh cos cumprod deff disp errorexec execstr exists exp eye gettext floor fprintf fread fsolve imag isdef isemptyisinfisnan isvector lasterror length load linspace list listfiles log10 log2 logmax min msprintf mclose mopen ones or pathconvert poly printf prod pwd rand realround sinh sin size gsort sprintf sqrt strcat strcmps tring sum system tanh tantype typename warning zeros matrix"},illegal:'("|#|/\\*|\\s+/\\w+)',contains:[{className:"function",beginKeywords:"function endfunction",end:"$",keywords:"function endfunction|10",contains:[a.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)"}]},{className:"transposed_variable",begin:"[a-zA-Z_][a-zA-Z_0-9]*('+[\\.']*|[\\.']+)",end:"",relevance:0},{className:"matrix",begin:"\\[",end:"\\]'*[\\.']*",relevance:0,contains:b},a.COMMENT("//","$")].concat(b)}}),a.registerLanguage("scss",function(a){var b="[a-zA-Z-][a-zA-Z0-9_-]*",c={className:"variable",begin:"(\\$"+b+")\\b"},d={className:"function",begin:b+"\\(",returnBegin:!0,excludeEnd:!0,end:"\\("},e={className:"hexcolor",begin:"#[0-9A-Fa-f]+"};({className:"attribute",begin:"[A-Z\\_\\.\\-]+",end:":",excludeEnd:!0,illegal:"[^\\s]",starts:{className:"value",endsWithParent:!0,excludeEnd:!0,contains:[d,e,a.CSS_NUMBER_MODE,a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,a.C_BLOCK_COMMENT_MODE,{className:"important",begin:"!important"}]}});return{case_insensitive:!0,illegal:"[=/|']",contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,d,{className:"id",begin:"\\#[A-Za-z0-9_-]+",relevance:0},{className:"class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},{className:"attr_selector",begin:"\\[",end:"\\]",illegal:"$"},{className:"tag",begin:"\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",relevance:0},{className:"pseudo",begin:":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"},{className:"pseudo",begin:"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"},c,{className:"attribute",begin:"\\b(z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",illegal:"[^\\s]"},{className:"value",begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{className:"value",begin:":",end:";",contains:[d,c,e,a.CSS_NUMBER_MODE,a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,{className:"important",begin:"!important"}]},{className:"at_rule",begin:"@",end:"[{;]",keywords:"mixin include extend for if else each while charset import debug media page content font-face namespace warn",contains:[d,c,a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,e,a.CSS_NUMBER_MODE,{className:"preprocessor",begin:"\\s[A-Za-z0-9_.-]+",relevance:0}]}]}}),a.registerLanguage("smali",function(a){var b=["add","and","cmp","cmpg","cmpl","const","div","double","float","goto","if","int","long","move","mul","neg","new","nop","not","or","rem","return","shl","shr","sput","sub","throw","ushr","xor"],c=["aget","aput","array","check","execute","fill","filled","goto/16","goto/32","iget","instance","invoke","iput","monitor","packed","sget","sparse"],d=["transient","constructor","abstract","final","synthetic","public","private","protected","static","bridge","system"];return{aliases:["smali"],contains:[{className:"string",begin:'"',end:'"',relevance:0},a.COMMENT("#","$",{relevance:0}),{className:"keyword",begin:"\\s*\\.end\\s[a-zA-Z0-9]*",relevance:1},{className:"keyword",begin:"^[ ]*\\.[a-zA-Z]*",relevance:0},{className:"keyword",begin:"\\s:[a-zA-Z_0-9]*",relevance:0},{className:"keyword",begin:"\\s("+d.join("|")+")",relevance:1},{className:"keyword",begin:"\\[",relevance:0},{className:"instruction",begin:"\\s("+b.join("|")+")\\s",relevance:1},{className:"instruction",begin:"\\s("+b.join("|")+")((\\-|/)[a-zA-Z0-9]+)+\\s",relevance:10},{className:"instruction",begin:"\\s("+c.join("|")+")((\\-|/)[a-zA-Z0-9]+)*\\s",relevance:10},{className:"class",begin:"L[^(;:\n]*;",relevance:0},{className:"function",begin:'( |->)[^(\n ;"]*\\(',relevance:0},{className:"function",begin:"\\)",relevance:0},{className:"variable",begin:"[vp][0-9]+",relevance:0}]}}),a.registerLanguage("smalltalk",function(a){var b="[a-z][a-zA-Z0-9_]*",c={className:"char",begin:"\\$.{1}"},d={className:"symbol",begin:"#"+a.UNDERSCORE_IDENT_RE};return{aliases:["st"],keywords:"self super nil true false thisContext",contains:[a.COMMENT('"','"'),a.APOS_STRING_MODE,{className:"class",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},{className:"method",begin:b+":",relevance:0},a.C_NUMBER_MODE,d,c,{className:"localvars",begin:"\\|[ ]*"+b+"([ ]+"+b+")*[ ]*\\|",returnBegin:!0,end:/\|/,illegal:/\S/,contains:[{begin:"(\\|[ ]*)?"+b}]},{className:"array",begin:"\\#\\(",end:"\\)",contains:[a.APOS_STRING_MODE,c,a.C_NUMBER_MODE,d]}]}}),a.registerLanguage("sml",function(a){return{aliases:["ml"],keywords:{keyword:"abstype and andalso as case datatype do else end eqtype exception fn fun functor handle if in include infix infixr let local nonfix of op open orelse raise rec sharing sig signature struct structure then type val with withtype where while",built_in:"array bool char exn int list option order real ref string substring vector unit word",literal:"true false NONE SOME LESS EQUAL GREATER nil"},illegal:/\/\/|>>/,lexemes:"[a-z_]\\w*!?",contains:[{className:"literal",begin:"\\[(\\|\\|)?\\]|\\(\\)"},a.COMMENT("\\(\\*","\\*\\)",{contains:["self"]}),{className:"symbol",begin:"'[A-Za-z_](?!')[\\w']*"},{className:"tag",begin:"`[A-Z][\\w']*"},{className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},{begin:"[a-z_]\\w*'[\\w']*"},a.inherit(a.APOS_STRING_MODE,{className:"char",relevance:0}),a.inherit(a.QUOTE_STRING_MODE,{illegal:null}),{className:"number",begin:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",relevance:0},{begin:/[-=]>/}]}}),a.registerLanguage("sqf",function(a){var b=["!","-","+","!=","%","&&","*","/","=","==",">",">=","<","<=","or","plus","^",":",">>","abs","accTime","acos","action","actionKeys","actionKeysImages","actionKeysNames","actionKeysNamesArray","actionName","activateAddons","activatedAddons","activateKey","addAction","addBackpack","addBackpackCargo","addBackpackCargoGlobal","addBackpackGlobal","addCamShake","addCuratorAddons","addCuratorCameraArea","addCuratorEditableObjects","addCuratorEditingArea","addCuratorPoints","addEditorObject","addEventHandler","addGoggles","addGroupIcon","addHandgunItem","addHeadgear","addItem","addItemCargo","addItemCargoGlobal","addItemPool","addItemToBackpack","addItemToUniform","addItemToVest","addLiveStats","addMagazine","addMagazine array","addMagazineAmmoCargo","addMagazineCargo","addMagazineCargoGlobal","addMagazineGlobal","addMagazinePool","addMagazines","addMagazineTurret","addMenu","addMenuItem","addMissionEventHandler","addMPEventHandler","addMusicEventHandler","addPrimaryWeaponItem","addPublicVariableEventHandler","addRating","addResources","addScore","addScoreSide","addSecondaryWeaponItem","addSwitchableUnit","addTeamMember","addToRemainsCollector","addUniform","addVehicle","addVest","addWaypoint","addWeapon","addWeaponCargo","addWeaponCargoGlobal","addWeaponGlobal","addWeaponPool","addWeaponTurret","agent","agents","AGLToASL","aimedAtTarget","aimPos","airDensityRTD","airportSide","AISFinishHeal","alive","allControls","allCurators","allDead","allDeadMen","allDisplays","allGroups","allMapMarkers","allMines","allMissionObjects","allow3DMode","allowCrewInImmobile","allowCuratorLogicIgnoreAreas","allowDamage","allowDammage","allowFileOperations","allowFleeing","allowGetIn","allPlayers","allSites","allTurrets","allUnits","allUnitsUAV","allVariables","ammo","and","animate","animateDoor","animationPhase","animationState","append","armoryPoints","arrayIntersect","asin","ASLToAGL","ASLToATL","assert","assignAsCargo","assignAsCargoIndex","assignAsCommander","assignAsDriver","assignAsGunner","assignAsTurret","assignCurator","assignedCargo","assignedCommander","assignedDriver","assignedGunner","assignedItems","assignedTarget","assignedTeam","assignedVehicle","assignedVehicleRole","assignItem","assignTeam","assignToAirport","atan","atan2","atg","ATLToASL","attachedObject","attachedObjects","attachedTo","attachObject","attachTo","attackEnabled","backpack","backpackCargo","backpackContainer","backpackItems","backpackMagazines","backpackSpaceFor","behaviour","benchmark","binocular","blufor","boundingBox","boundingBoxReal","boundingCenter","breakOut","breakTo","briefingName","buildingExit","buildingPos","buttonAction","buttonSetAction","cadetMode","call","callExtension","camCommand","camCommit","camCommitPrepared","camCommitted","camConstuctionSetParams","camCreate","camDestroy","cameraEffect","cameraEffectEnableHUD","cameraInterest","cameraOn","cameraView","campaignConfigFile","camPreload","camPreloaded","camPrepareBank","camPrepareDir","camPrepareDive","camPrepareFocus","camPrepareFov","camPrepareFovRange","camPreparePos","camPrepareRelPos","camPrepareTarget","camSetBank","camSetDir","camSetDive","camSetFocus","camSetFov","camSetFovRange","camSetPos","camSetRelPos","camSetTarget","camTarget","camUseNVG","canAdd","canAddItemToBackpack","canAddItemToUniform","canAddItemToVest","cancelSimpleTaskDestination","canFire","canMove","canSlingLoad","canStand","canUnloadInCombat","captive","captiveNum","case","catch","cbChecked","cbSetChecked","ceil","cheatsEnabled","checkAIFeature","civilian","className","clearAllItemsFromBackpack","clearBackpackCargo","clearBackpackCargoGlobal","clearGroupIcons","clearItemCargo","clearItemCargoGlobal","clearItemPool","clearMagazineCargo","clearMagazineCargoGlobal","clearMagazinePool","clearOverlay","clearRadio","clearWeaponCargo","clearWeaponCargoGlobal","clearWeaponPool","closeDialog","closeDisplay","closeOverlay","collapseObjectTree","combatMode","commandArtilleryFire","commandChat","commander","commandFire","commandFollow","commandFSM","commandGetOut","commandingMenu","commandMove","commandRadio","commandStop","commandTarget","commandWatch","comment","commitOverlay","compile","compileFinal","completedFSM","composeText","configClasses","configFile","configHierarchy","configName","configProperties","configSourceMod","configSourceModList","connectTerminalToUAV","controlNull","controlsGroupCtrl","copyFromClipboard","copyToClipboard","copyWaypoints","cos","count","countEnemy","countFriendly","countSide","countType","countUnknown","createAgent","createCenter","createDialog","createDiaryLink","createDiaryRecord","createDiarySubject","createDisplay","createGearDialog","createGroup","createGuardedPoint","createLocation","createMarker","createMarkerLocal","createMenu","createMine","createMissionDisplay","createSimpleTask","createSite","createSoundSource","createTask","createTeam","createTrigger","createUnit","createUnit array","createVehicle","createVehicle array","createVehicleCrew","createVehicleLocal","crew","ctrlActivate","ctrlAddEventHandler","ctrlAutoScrollDelay","ctrlAutoScrollRewind","ctrlAutoScrollSpeed","ctrlChecked","ctrlClassName","ctrlCommit","ctrlCommitted","ctrlCreate","ctrlDelete","ctrlEnable","ctrlEnabled","ctrlFade","ctrlHTMLLoaded","ctrlIDC","ctrlIDD","ctrlMapAnimAdd","ctrlMapAnimClear","ctrlMapAnimCommit","ctrlMapAnimDone","ctrlMapCursor","ctrlMapMouseOver","ctrlMapScale","ctrlMapScreenToWorld","ctrlMapWorldToScreen","ctrlModel","ctrlModelDirAndUp","ctrlModelScale","ctrlParent","ctrlPosition","ctrlRemoveAllEventHandlers","ctrlRemoveEventHandler","ctrlScale","ctrlSetActiveColor","ctrlSetAutoScrollDelay","ctrlSetAutoScrollRewind","ctrlSetAutoScrollSpeed","ctrlSetBackgroundColor","ctrlSetChecked","ctrlSetEventHandler","ctrlSetFade","ctrlSetFocus","ctrlSetFont","ctrlSetFontH1","ctrlSetFontH1B","ctrlSetFontH2","ctrlSetFontH2B","ctrlSetFontH3","ctrlSetFontH3B","ctrlSetFontH4","ctrlSetFontH4B","ctrlSetFontH5","ctrlSetFontH5B","ctrlSetFontH6","ctrlSetFontH6B","ctrlSetFontHeight","ctrlSetFontHeightH1","ctrlSetFontHeightH2","ctrlSetFontHeightH3","ctrlSetFontHeightH4","ctrlSetFontHeightH5","ctrlSetFontHeightH6","ctrlSetFontP","ctrlSetFontPB","ctrlSetForegroundColor","ctrlSetModel","ctrlSetModelDirAndUp","ctrlSetModelScale","ctrlSetPosition","ctrlSetScale","ctrlSetStructuredText","ctrlSetText","ctrlSetTextColor","ctrlSetTooltip","ctrlSetTooltipColorBox","ctrlSetTooltipColorShade","ctrlSetTooltipColorText","ctrlShow","ctrlShown","ctrlText","ctrlTextHeight","ctrlType","ctrlVisible","curatorAddons","curatorCamera","curatorCameraArea","curatorCameraAreaCeiling","curatorCoef","curatorEditableObjects","curatorEditingArea","curatorEditingAreaType","curatorMouseOver","curatorPoints","curatorRegisteredObjects","curatorSelected","curatorWaypointCost","currentChannel","currentCommand","currentMagazine","currentMagazineDetail","currentMagazineDetailTurret","currentMagazineTurret","currentMuzzle","currentNamespace","currentTask","currentTasks","currentThrowable","currentVisionMode","currentWaypoint","currentWeapon","currentWeaponMode","currentWeaponTurret","currentZeroing","cursorTarget","customChat","customRadio","cutFadeOut","cutObj","cutRsc","cutText","damage","date","dateToNumber","daytime","deActivateKey","debriefingText","debugFSM","debugLog","default","deg","deleteAt","deleteCenter","deleteCollection","deleteEditorObject","deleteGroup","deleteIdentity","deleteLocation","deleteMarker","deleteMarkerLocal","deleteRange","deleteResources","deleteSite","deleteStatus","deleteTeam","deleteVehicle","deleteVehicleCrew","deleteWaypoint","detach","detectedMines","diag activeMissionFSMs","diag activeSQFScripts","diag activeSQSScripts","diag captureFrame","diag captureSlowFrame","diag fps","diag fpsMin","diag frameNo","diag log","diag logSlowFrame","diag tickTime","dialog","diarySubjectExists","didJIP","didJIPOwner","difficulty","difficultyEnabled","difficultyEnabledRTD","direction","directSay","disableAI","disableCollisionWith","disableConversation","disableDebriefingStats","disableSerialization","disableTIEquipment","disableUAVConnectability","disableUserInput","displayAddEventHandler","displayCtrl","displayNull","displayRemoveAllEventHandlers","displayRemoveEventHandler","displaySetEventHandler","dissolveTeam","distance","distance2D","distanceSqr","distributionRegion","do","doArtilleryFire","doFire","doFollow","doFSM","doGetOut","doMove","doorPhase","doStop","doTarget","doWatch","drawArrow","drawEllipse","drawIcon","drawIcon3D","drawLine","drawLine3D","drawLink","drawLocation","drawRectangle","driver","drop","east","echo","editObject","editorSetEventHandler","effectiveCommander","else","emptyPositions","enableAI","enableAIFeature","enableAttack","enableCamShake","enableCaustics","enableCollisionWith","enableCopilot","enableDebriefingStats","enableDiagLegend","enableEndDialog","enableEngineArtillery","enableEnvironment","enableFatigue","enableGunLights","enableIRLasers","enableMimics","enablePersonTurret","enableRadio","enableReload","enableRopeAttach","enableSatNormalOnDetail","enableSaving","enableSentences","enableSimulation","enableSimulationGlobal","enableTeamSwitch","enableUAVConnectability","enableUAVWaypoints","endLoadingScreen","endMission","engineOn","enginesIsOnRTD","enginesRpmRTD","enginesTorqueRTD","entities","estimatedEndServerTime","estimatedTimeLeft","evalObjectArgument","everyBackpack","everyContainer","exec","execEditorScript","execFSM","execVM","exit","exitWith","exp","expectedDestination","eyeDirection","eyePos","face","faction","fadeMusic","fadeRadio","fadeSound","fadeSpeech","failMission","false","fillWeaponsFromPool","find","findCover","findDisplay","findEditorObject","findEmptyPosition","findEmptyPositionReady","findNearestEnemy","finishMissionInit","finite","fire","fireAtTarget","firstBackpack","flag","flagOwner","fleeing","floor","flyInHeight","fog","fogForecast","fogParams","for","forceAddUniform","forceEnd","forceMap","forceRespawn","forceSpeed","forceWalk","forceWeaponFire","forceWeatherChange","forEach","forEachMember","forEachMemberAgent","forEachMemberTeam","format","formation","formationDirection","formationLeader","formationMembers","formationPosition","formationTask","formatText","formLeader","freeLook","from","fromEditor","fuel","fullCrew","gearSlotAmmoCount","gearSlotData","getAllHitPointsDamage","getAmmoCargo","getArray","getArtilleryAmmo","getArtilleryComputerSettings","getArtilleryETA","getAssignedCuratorLogic","getAssignedCuratorUnit","getBackpackCargo","getBleedingRemaining","getBurningValue","getCargoIndex","getCenterOfMass","getClientState","getConnectedUAV","getDammage","getDescription","getDir","getDirVisual","getDLCs","getEditorCamera","getEditorMode","getEditorObjectScope","getElevationOffset","getFatigue","getFriend","getFSMVariable","getFuelCargo","getGroupIcon","getGroupIconParams","getGroupIcons","getHideFrom","getHit","getHitIndex","getHitPointDamage","getItemCargo","getMagazineCargo","getMarkerColor","getMarkerPos","getMarkerSize","getMarkerType","getMass","getModelInfo","getNumber","getObjectArgument","getObjectChildren","getObjectDLC","getObjectMaterials","getObjectProxy","getObjectTextures","getObjectType","getObjectViewDistance","getOxygenRemaining","getPersonUsedDLCs","getPlayerChannel","getPlayerUID","getPos","getPosASL","getPosASLVisual","getPosASLW","getPosATL","getPosATLVisual","getPosVisual","getPosWorld","getRepairCargo","getResolution","getShadowDistance","getSlingLoad","getSpeed","getSuppression","getTerrainHeightASL","getText","getVariable","getWeaponCargo","getWPPos","glanceAt","globalChat","globalRadio","goggles","goto","group","groupChat","groupFromNetId","groupIconSelectable","groupIconsVisible","groupId","groupOwner","groupRadio","groupSelectedUnits","groupSelectUnit","grpNull","gunner","gusts","halt","handgunItems","handgunMagazine","handgunWeapon","handsHit","hasInterface","hasWeapon","hcAllGroups","hcGroupParams","hcLeader","hcRemoveAllGroups","hcRemoveGroup","hcSelected","hcSelectGroup","hcSetGroup","hcShowBar","hcShownBar","headgear","hideBody","hideObject","hideObjectGlobal","hint","hintC","hintCadet","hintSilent","hmd","hostMission","htmlLoad","HUDMovementLevels","humidity","if","image","importAllGroups","importance","in","incapacitatedState","independent","inflame","inflamed","inGameUISetEventHandler","inheritsFrom","initAmbientLife","inputAction","inRangeOfArtillery","insertEditorObject","intersect","isAbleToBreathe","isAgent","isArray","isAutoHoverOn","isAutonomous","isAutotest","isBleeding","isBurning","isClass","isCollisionLightOn","isCopilotEnabled","isDedicated","isDLCAvailable","isEngineOn","isEqualTo","isFlashlightOn","isFlatEmpty","isForcedWalk","isFormationLeader","isHidden","isInRemainsCollector","isInstructorFigureEnabled","isIRLaserOn","isKeyActive","isKindOf","isLightOn","isLocalized","isManualFire","isMarkedForCollection","isMultiplayer","isNil","isNull","isNumber","isObjectHidden","isObjectRTD","isOnRoad","isPipEnabled","isPlayer","isRealTime","isServer","isShowing3DIcons","isSteamMission","isStreamFriendlyUIEnabled","isText","isTouchingGround","isTurnedOut","isTutHintsEnabled","isUAVConnectable","isUAVConnected","isUniformAllowed","isWalking","isWeaponDeployed","isWeaponRested","itemCargo","items","itemsWithMagazines","join","joinAs","joinAsSilent","joinSilent","joinString","kbAddDatabase","kbAddDatabaseTargets","kbAddTopic","kbHasTopic","kbReact","kbRemoveTopic","kbTell","kbWasSaid","keyImage","keyName","knowsAbout","land","landAt","landResult","language","laserTarget","lbAdd","lbClear","lbColor","lbCurSel","lbData","lbDelete","lbIsSelected","lbPicture","lbSelection","lbSetColor","lbSetCurSel","lbSetData","lbSetPicture","lbSetPictureColor","lbSetPictureColorDisabled","lbSetPictureColorSelected","lbSetSelectColor","lbSetSelectColorRight","lbSetSelected","lbSetTooltip","lbSetValue","lbSize","lbSort","lbSortByValue","lbText","lbValue","leader","leaderboardDeInit","leaderboardGetRows","leaderboardInit","leaveVehicle","libraryCredits","libraryDisclaimers","lifeState","lightAttachObject","lightDetachObject","lightIsOn","lightnings","limitSpeed","linearConversion","lineBreak","lineIntersects","lineIntersectsObjs","lineIntersectsSurfaces","lineIntersectsWith","linkItem","list","listObjects","ln","lnbAddArray","lnbAddColumn","lnbAddRow","lnbClear","lnbColor","lnbCurSelRow","lnbData","lnbDeleteColumn","lnbDeleteRow","lnbGetColumnsPosition","lnbPicture","lnbSetColor","lnbSetColumnsPos","lnbSetCurSelRow","lnbSetData","lnbSetPicture","lnbSetText","lnbSetValue","lnbSize","lnbText","lnbValue","load","loadAbs","loadBackpack","loadFile","loadGame","loadIdentity","loadMagazine","loadOverlay","loadStatus","loadUniform","loadVest","local","localize","locationNull","locationPosition","lock","lockCameraTo","lockCargo","lockDriver","locked","lockedCargo","lockedDriver","lockedTurret","lockTurret","lockWP","log","logEntities","lookAt","lookAtPos","magazineCargo","magazines","magazinesAllTurrets","magazinesAmmo","magazinesAmmoCargo","magazinesAmmoFull","magazinesDetail","magazinesDetailBackpack","magazinesDetailUniform","magazinesDetailVest","magazinesTurret","magazineTurretAmmo","mapAnimAdd","mapAnimClear","mapAnimCommit","mapAnimDone","mapCenterOnCamera","mapGridPosition","markAsFinishedOnSteam","markerAlpha","markerBrush","markerColor","markerDir","markerPos","markerShape","markerSize","markerText","markerType","max","members","min","mineActive","mineDetectedBy","missionConfigFile","missionName","missionNamespace","missionStart","mod","modelToWorld","modelToWorldVisual","moonIntensity","morale","move","moveInAny","moveInCargo","moveInCommander","moveInDriver","moveInGunner","moveInTurret","moveObjectToEnd","moveOut","moveTime","moveTo","moveToCompleted","moveToFailed","musicVolume","name","name location","nameSound","nearEntities","nearestBuilding","nearestLocation","nearestLocations","nearestLocationWithDubbing","nearestObject","nearestObjects","nearObjects","nearObjectsReady","nearRoads","nearSupplies","nearTargets","needReload","netId","netObjNull","newOverlay","nextMenuItemIndex","nextWeatherChange","nil","nMenuItems","not","numberToDate","objectCurators","objectFromNetId","objectParent","objNull","objStatus","onBriefingGroup","onBriefingNotes","onBriefingPlan","onBriefingTeamSwitch","onCommandModeChanged","onDoubleClick","onEachFrame","onGroupIconClick","onGroupIconOverEnter","onGroupIconOverLeave","onHCGroupSelectionChanged","onMapSingleClick","onPlayerConnected","onPlayerDisconnected","onPreloadFinished","onPreloadStarted","onShowNewObject","onTeamSwitch","openCuratorInterface","openMap","openYoutubeVideo","opfor","or","orderGetIn","overcast","overcastForecast","owner","param","params","parseNumber","parseText","parsingNamespace","particlesQuality","pi","pickWeaponPool","pitch","playableSlotsNumber","playableUnits","playAction","playActionNow","player","playerRespawnTime","playerSide","playersNumber","playGesture","playMission","playMove","playMoveNow","playMusic","playScriptedMission","playSound","playSound3D","position","positionCameraToWorld","posScreenToWorld","posWorldToScreen","ppEffectAdjust","ppEffectCommit","ppEffectCommitted","ppEffectCreate","ppEffectDestroy","ppEffectEnable","ppEffectForceInNVG","precision","preloadCamera","preloadObject","preloadSound","preloadTitleObj","preloadTitleRsc","preprocessFile","preprocessFileLineNumbers","primaryWeapon","primaryWeaponItems","primaryWeaponMagazine","priority","private","processDiaryLink","productVersion","profileName","profileNamespace","profileNameSteam","progressLoadingScreen","progressPosition","progressSetPosition","publicVariable","publicVariableClient","publicVariableServer","pushBack","putWeaponPool","queryItemsPool","queryMagazinePool","queryWeaponPool","rad","radioChannelAdd","radioChannelCreate","radioChannelRemove","radioChannelSetCallSign","radioChannelSetLabel","radioVolume","rain","rainbow","random","rank","rankId","rating","rectangular","registeredTasks","registerTask","reload","reloadEnabled","remoteControl","remoteExec","remoteExecCall","removeAction","removeAllActions","removeAllAssignedItems","removeAllContainers","removeAllCuratorAddons","removeAllCuratorCameraAreas","removeAllCuratorEditingAreas","removeAllEventHandlers","removeAllHandgunItems","removeAllItems","removeAllItemsWithMagazines","removeAllMissionEventHandlers","removeAllMPEventHandlers","removeAllMusicEventHandlers","removeAllPrimaryWeaponItems","removeAllWeapons","removeBackpack","removeBackpackGlobal","removeCuratorAddons","removeCuratorCameraArea","removeCuratorEditableObjects","removeCuratorEditingArea","removeDrawIcon","removeDrawLinks","removeEventHandler","removeFromRemainsCollector","removeGoggles","removeGroupIcon","removeHandgunItem","removeHeadgear","removeItem","removeItemFromBackpack","removeItemFromUniform","removeItemFromVest","removeItems","removeMagazine","removeMagazineGlobal","removeMagazines","removeMagazinesTurret","removeMagazineTurret","removeMenuItem","removeMissionEventHandler","removeMPEventHandler","removeMusicEventHandler","removePrimaryWeaponItem","removeSecondaryWeaponItem","removeSimpleTask","removeSwitchableUnit","removeTeamMember","removeUniform","removeVest","removeWeapon","removeWeaponGlobal","removeWeaponTurret","requiredVersion","resetCamShake","resetSubgroupDirection","resistance","resize","resources","respawnVehicle","restartEditorCamera","reveal","revealMine","reverse","reversedMouseY","roadsConnectedTo","roleDescription","ropeAttachedObjects","ropeAttachedTo","ropeAttachEnabled","ropeAttachTo","ropeCreate","ropeCut","ropeEndPosition","ropeLength","ropes","ropeUnwind","ropeUnwound","rotorsForcesRTD","rotorsRpmRTD","round","runInitScript","safeZoneH","safeZoneW","safeZoneWAbs","safeZoneX","safeZoneXAbs","safeZoneY","saveGame","saveIdentity","saveJoysticks","saveOverlay","saveProfileNamespace","saveStatus","saveVar","savingEnabled","say","say2D","say3D","scopeName","score","scoreSide","screenToWorld","scriptDone","scriptName","scriptNull","scudState","secondaryWeapon","secondaryWeaponItems","secondaryWeaponMagazine","select","selectBestPlaces","selectDiarySubject","selectedEditorObjects","selectEditorObject","selectionPosition","selectLeader","selectNoPlayer","selectPlayer","selectWeapon","selectWeaponTurret","sendAUMessage","sendSimpleCommand","sendTask","sendTaskResult","sendUDPMessage","serverCommand","serverCommandAvailable","serverCommandExecutable","serverName","serverTime","set","setAccTime","setAirportSide","setAmmo","setAmmoCargo","setAperture","setApertureNew","setArmoryPoints","setAttributes","setAutonomous","setBehaviour","setBleedingRemaining","setCameraInterest","setCamShakeDefParams","setCamShakeParams","setCamUseTi","setCaptive","setCenterOfMass","setCollisionLight","setCombatMode","setCompassOscillation","setCuratorCameraAreaCeiling","setCuratorCoef","setCuratorEditingAreaType","setCuratorWaypointCost","setCurrentChannel","setCurrentTask","setCurrentWaypoint","setDamage","setDammage","setDate","setDebriefingText","setDefaultCamera","setDestination","setDetailMapBlendPars","setDir","setDirection","setDrawIcon","setDropInterval","setEditorMode","setEditorObjectScope","setEffectCondition","setFace","setFaceAnimation","setFatigue","setFlagOwner","setFlagSide","setFlagTexture","setFog","setFog array","setFormation","setFormationTask","setFormDir","setFriend","setFromEditor","setFSMVariable","setFuel","setFuelCargo","setGroupIcon","setGroupIconParams","setGroupIconsSelectable","setGroupIconsVisible","setGroupId","setGroupIdGlobal","setGroupOwner","setGusts","setHideBehind","setHit","setHitIndex","setHitPointDamage","setHorizonParallaxCoef","setHUDMovementLevels","setIdentity","setImportance","setLeader","setLightAmbient","setLightAttenuation","setLightBrightness","setLightColor","setLightDayLight","setLightFlareMaxDistance","setLightFlareSize","setLightIntensity","setLightnings","setLightUseFlare","setLocalWindParams","setMagazineTurretAmmo","setMarkerAlpha","setMarkerAlphaLocal","setMarkerBrush","setMarkerBrushLocal","setMarkerColor","setMarkerColorLocal","setMarkerDir","setMarkerDirLocal","setMarkerPos","setMarkerPosLocal","setMarkerShape","setMarkerShapeLocal","setMarkerSize","setMarkerSizeLocal","setMarkerText","setMarkerTextLocal","setMarkerType","setMarkerTypeLocal","setMass","setMimic","setMousePosition","setMusicEffect","setMusicEventHandler","setName","setNameSound","setObjectArguments","setObjectMaterial","setObjectProxy","setObjectTexture","setObjectTextureGlobal","setObjectViewDistance","setOvercast","setOwner","setOxygenRemaining","setParticleCircle","setParticleClass","setParticleFire","setParticleParams","setParticleRandom","setPilotLight","setPiPEffect","setPitch","setPlayable","setPlayerRespawnTime","setPos","setPosASL","setPosASL2","setPosASLW","setPosATL","setPosition","setPosWorld","setRadioMsg","setRain","setRainbow","setRandomLip","setRank","setRectangular","setRepairCargo","setShadowDistance","setSide","setSimpleTaskDescription","setSimpleTaskDestination","setSimpleTaskTarget","setSimulWeatherLayers","setSize","setSkill","setSkill array","setSlingLoad","setSoundEffect","setSpeaker","setSpeech","setSpeedMode","setStatValue","setSuppression","setSystemOfUnits","setTargetAge","setTaskResult","setTaskState","setTerrainGrid","setText","setTimeMultiplier","setTitleEffect","setTriggerActivation","setTriggerArea","setTriggerStatements","setTriggerText","setTriggerTimeout","setTriggerType","setType","setUnconscious","setUnitAbility","setUnitPos","setUnitPosWeak","setUnitRank","setUnitRecoilCoefficient","setUnloadInCombat","setUserActionText","setVariable","setVectorDir","setVectorDirAndUp","setVectorUp","setVehicleAmmo","setVehicleAmmoDef","setVehicleArmor","setVehicleId","setVehicleLock","setVehiclePosition","setVehicleTiPars","setVehicleVarName","setVelocity","setVelocityTransformation","setViewDistance","setVisibleIfTreeCollapsed","setWaves","setWaypointBehaviour","setWaypointCombatMode","setWaypointCompletionRadius","setWaypointDescription","setWaypointFormation","setWaypointHousePosition","setWaypointLoiterRadius","setWaypointLoiterType","setWaypointName","setWaypointPosition","setWaypointScript","setWaypointSpeed","setWaypointStatements","setWaypointTimeout","setWaypointType","setWaypointVisible","setWeaponReloadingTime","setWind","setWindDir","setWindForce","setWindStr","setWPPos","show3DIcons","showChat","showCinemaBorder","showCommandingMenu","showCompass","showCuratorCompass","showGPS","showHUD","showLegend","showMap","shownArtilleryComputer","shownChat","shownCompass","shownCuratorCompass","showNewEditorObject","shownGPS","shownHUD","shownMap","shownPad","shownRadio","shownUAVFeed","shownWarrant","shownWatch","showPad","showRadio","showSubtitles","showUAVFeed","showWarrant","showWatch","showWaypoint","side","sideChat","sideEnemy","sideFriendly","sideLogic","sideRadio","sideUnknown","simpleTasks","simulationEnabled","simulCloudDensity","simulCloudOcclusion","simulInClouds","simulWeatherSync","sin","size","sizeOf","skill","skillFinal","skipTime","sleep","sliderPosition","sliderRange","sliderSetPosition","sliderSetRange","sliderSetSpeed","sliderSpeed","slingLoadAssistantShown","soldierMagazines","someAmmo","sort","soundVolume","spawn","speaker","speed","speedMode","splitString","sqrt","squadParams","stance","startLoadingScreen","step","stop","stopped","str","sunOrMoon","supportInfo","suppressFor","surfaceIsWater","surfaceNormal","surfaceType","swimInDepth","switch","switchableUnits","switchAction","switchCamera","switchGesture","switchLight","switchMove","synchronizedObjects","synchronizedTriggers","synchronizedWaypoints","synchronizeObjectsAdd","synchronizeObjectsRemove","synchronizeTrigger","synchronizeWaypoint","synchronizeWaypoint trigger","systemChat","systemOfUnits","tan","targetKnowledge","targetsAggregate","targetsQuery","taskChildren","taskCompleted","taskDescription","taskDestination","taskHint","taskNull","taskParent","taskResult","taskState","teamMember","teamMemberNull","teamName","teams","teamSwitch","teamSwitchEnabled","teamType","terminate","terrainIntersect","terrainIntersectASL","text","text location","textLog","textLogFormat","tg","then","throw","time","timeMultiplier","titleCut","titleFadeOut","titleObj","titleRsc","titleText","to","toArray","toLower","toString","toUpper","triggerActivated","triggerActivation","triggerArea","triggerAttachedVehicle","triggerAttachObject","triggerAttachVehicle","triggerStatements","triggerText","triggerTimeout","triggerTimeoutCurrent","triggerType","true","try","turretLocal","turretOwner","turretUnit","tvAdd","tvClear","tvCollapse","tvCount","tvCurSel","tvData","tvDelete","tvExpand","tvPicture","tvSetCurSel","tvSetData","tvSetPicture","tvSetPictureColor","tvSetTooltip","tvSetValue","tvSort","tvSortByValue","tvText","tvValue","type","typeName","typeOf","UAVControl","uiNamespace","uiSleep","unassignCurator","unassignItem","unassignTeam","unassignVehicle","underwater","uniform","uniformContainer","uniformItems","uniformMagazines","unitAddons","unitBackpack","unitPos","unitReady","unitRecoilCoefficient","units","unitsBelowHeight","unlinkItem","unlockAchievement","unregisterTask","updateDrawIcon","updateMenuItem","updateObjectTree","useAudioTimeForMoves","vectorAdd","vectorCos","vectorCrossProduct","vectorDiff","vectorDir","vectorDirVisual","vectorDistance","vectorDistanceSqr","vectorDotProduct","vectorFromTo","vectorMagnitude","vectorMagnitudeSqr","vectorMultiply","vectorNormalized","vectorUp","vectorUpVisual","vehicle","vehicleChat","vehicleRadio","vehicles","vehicleVarName","velocity","velocityModelSpace","verifySignature","vest","vestContainer","vestItems","vestMagazines","viewDistance","visibleCompass","visibleGPS","visibleMap","visiblePosition","visiblePositionASL","visibleWatch","waitUntil","waves","waypointAttachedObject","waypointAttachedVehicle","waypointAttachObject","waypointAttachVehicle","waypointBehaviour","waypointCombatMode","waypointCompletionRadius","waypointDescription","waypointFormation","waypointHousePosition","waypointLoiterRadius","waypointLoiterType","waypointName","waypointPosition","waypoints","waypointScript","waypointsEnabledUAV","waypointShow","waypointSpeed","waypointStatements","waypointTimeout","waypointTimeoutCurrent","waypointType","waypointVisible","weaponAccessories","weaponCargo","weaponDirection","weaponLowered","weapons","weaponsItems","weaponsItemsCargo","weaponState","weaponsTurret","weightRTD","west","WFSideText","while","wind","windDir","windStr","wingsForcesRTD","with","worldName","worldSize","worldToModel","worldToModelVisual","worldToScreen"],c=["case","catch","default","do","else","exit","exitWith|5","for","forEach","from","if","switch","then","throw","to","try","while","with"],d=["!","-","+","!=","%","&&","*","/","=","==",">",">=","<","<=","^",":",">>"],e=["_forEachIndex|10","_this|10","_x|10"],f=["true","false","nil"],g=b.filter(function(a){
+return-1==c.indexOf(a)&&-1==f.indexOf(a)&&-1==d.indexOf(a)});g=g.concat(e);var h={className:"string",relevance:0,variants:[{begin:'"',end:'"',contains:[{begin:'""'}]},{begin:"'",end:"'",contains:[{begin:"''"}]}]},i={className:"number",begin:a.NUMBER_RE,relevance:0},j={className:"string",variants:[a.QUOTE_STRING_MODE,{begin:"'\\\\?.",end:"'",illegal:"."}]},k={className:"preprocessor",begin:"#",end:"$",keywords:"if else elif endif define undef warning error line pragma ifdef ifndef",contains:[{begin:/\\\n/,relevance:0},{beginKeywords:"include",end:"$",contains:[j,{className:"string",begin:"<",end:">",illegal:"\\n"}]},j,i,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]};return{aliases:["sqf"],case_insensitive:!0,keywords:{keyword:c.join(" "),built_in:g.join(" "),literal:f.join(" ")},contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,i,h,k]}}),a.registerLanguage("sql",function(a){var b=a.COMMENT("--","$");return{case_insensitive:!0,illegal:/[<>{}*]/,contains:[{className:"operator",beginKeywords:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke",end:/;/,endsWithParent:!0,keywords:{keyword:"abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias allocate allow alter always analyze ancillary and any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound buffer_cache buffer_pool build bulk by byte byteordermark bytes c cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle d data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration e each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain export export_set extended extent external external_1 external_2 externally extract f failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function g general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour http i id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists k keep keep_duplicates key keys kill l language large last last_day last_insert_id last_value lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim m main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex n name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding p package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second section securefile security seed segment select self sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime t table tables tablespace tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null",built_in:"array bigint binary bit blob boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text varchar varying void"},contains:[{className:"string",begin:"'",end:"'",contains:[a.BACKSLASH_ESCAPE,{begin:"''"}]},{className:"string",begin:'"',end:'"',contains:[a.BACKSLASH_ESCAPE,{begin:'""'}]},{className:"string",begin:"`",end:"`",contains:[a.BACKSLASH_ESCAPE]},a.C_NUMBER_MODE,a.C_BLOCK_COMMENT_MODE,b]},a.C_BLOCK_COMMENT_MODE,b]}}),a.registerLanguage("stata",function(a){return{aliases:["do","ado"],case_insensitive:!0,keywords:"if else in foreach for forv forva forval forvalu forvalue forvalues by bys bysort xi quietly qui capture about ac ac_7 acprplot acprplot_7 adjust ado adopath adoupdate alpha ameans an ano anov anova anova_estat anova_terms anovadef aorder ap app appe appen append arch arch_dr arch_estat arch_p archlm areg areg_p args arima arima_dr arima_estat arima_p as asmprobit asmprobit_estat asmprobit_lf asmprobit_mfx__dlg asmprobit_p ass asse asser assert avplot avplot_7 avplots avplots_7 bcskew0 bgodfrey binreg bip0_lf biplot bipp_lf bipr_lf bipr_p biprobit bitest bitesti bitowt blogit bmemsize boot bootsamp bootstrap bootstrap_8 boxco_l boxco_p boxcox boxcox_6 boxcox_p bprobit br break brier bro brow brows browse brr brrstat bs bs_7 bsampl_w bsample bsample_7 bsqreg bstat bstat_7 bstat_8 bstrap bstrap_7 ca ca_estat ca_p cabiplot camat canon canon_8 canon_8_p canon_estat canon_p cap caprojection capt captu captur capture cat cc cchart cchart_7 cci cd censobs_table centile cf char chdir checkdlgfiles checkestimationsample checkhlpfiles checksum chelp ci cii cl class classutil clear cli clis clist clo clog clog_lf clog_p clogi clogi_sw clogit clogit_lf clogit_p clogitp clogl_sw cloglog clonevar clslistarray cluster cluster_measures cluster_stop cluster_tree cluster_tree_8 clustermat cmdlog cnr cnre cnreg cnreg_p cnreg_sw cnsreg codebook collaps4 collapse colormult_nb colormult_nw compare compress conf confi confir confirm conren cons const constr constra constrai constrain constraint continue contract copy copyright copysource cor corc corr corr2data corr_anti corr_kmo corr_smc corre correl correla correlat correlate corrgram cou coun count cox cox_p cox_sw coxbase coxhaz coxvar cprplot cprplot_7 crc cret cretu cretur creturn cross cs cscript cscript_log csi ct ct_is ctset ctst_5 ctst_st cttost cumsp cumsp_7 cumul cusum cusum_7 cutil d datasig datasign datasigna datasignat datasignatu datasignatur datasignature datetof db dbeta de dec deco decod decode deff des desc descr descri describ describe destring dfbeta dfgls dfuller di di_g dir dirstats dis discard disp disp_res disp_s displ displa display distinct do doe doed doedi doedit dotplot dotplot_7 dprobit drawnorm drop ds ds_util dstdize duplicates durbina dwstat dydx e ed edi edit egen eivreg emdef en enc enco encod encode eq erase ereg ereg_lf ereg_p ereg_sw ereghet ereghet_glf ereghet_glf_sh ereghet_gp ereghet_ilf ereghet_ilf_sh ereghet_ip eret eretu eretur ereturn err erro error est est_cfexist est_cfname est_clickable est_expand est_hold est_table est_unhold est_unholdok estat estat_default estat_summ estat_vce_only esti estimates etodow etof etomdy ex exi exit expand expandcl fac fact facto factor factor_estat factor_p factor_pca_rotated factor_rotate factormat fcast fcast_compute fcast_graph fdades fdadesc fdadescr fdadescri fdadescrib fdadescribe fdasav fdasave fdause fh_st file open file read file close file filefilter fillin find_hlp_file findfile findit findit_7 fit fl fli flis flist for5_0 form forma format fpredict frac_154 frac_adj frac_chk frac_cox frac_ddp frac_dis frac_dv frac_in frac_mun frac_pp frac_pq frac_pv frac_wgt frac_xo fracgen fracplot fracplot_7 fracpoly fracpred fron_ex fron_hn fron_p fron_tn fron_tn2 frontier ftodate ftoe ftomdy ftowdate g gamhet_glf gamhet_gp gamhet_ilf gamhet_ip gamma gamma_d2 gamma_p gamma_sw gammahet gdi_hexagon gdi_spokes ge gen gene gener genera generat generate genrank genstd genvmean gettoken gl gladder gladder_7 glim_l01 glim_l02 glim_l03 glim_l04 glim_l05 glim_l06 glim_l07 glim_l08 glim_l09 glim_l10 glim_l11 glim_l12 glim_lf glim_mu glim_nw1 glim_nw2 glim_nw3 glim_p glim_v1 glim_v2 glim_v3 glim_v4 glim_v5 glim_v6 glim_v7 glm glm_6 glm_p glm_sw glmpred glo glob globa global glogit glogit_8 glogit_p gmeans gnbre_lf gnbreg gnbreg_5 gnbreg_p gomp_lf gompe_sw gomper_p gompertz gompertzhet gomphet_glf gomphet_glf_sh gomphet_gp gomphet_ilf gomphet_ilf_sh gomphet_ip gphdot gphpen gphprint gprefs gprobi_p gprobit gprobit_8 gr gr7 gr_copy gr_current gr_db gr_describe gr_dir gr_draw gr_draw_replay gr_drop gr_edit gr_editviewopts gr_example gr_example2 gr_export gr_print gr_qscheme gr_query gr_read gr_rename gr_replay gr_save gr_set gr_setscheme gr_table gr_undo gr_use graph graph7 grebar greigen greigen_7 greigen_8 grmeanby grmeanby_7 gs_fileinfo gs_filetype gs_graphinfo gs_stat gsort gwood h hadimvo hareg hausman haver he heck_d2 heckma_p heckman heckp_lf heckpr_p heckprob hel help hereg hetpr_lf hetpr_p hetprob hettest hexdump hilite hist hist_7 histogram hlogit hlu hmeans hotel hotelling hprobit hreg hsearch icd9 icd9_ff icd9p iis impute imtest inbase include inf infi infil infile infix inp inpu input ins insheet insp inspe inspec inspect integ inten intreg intreg_7 intreg_p intrg2_ll intrg_ll intrg_ll2 ipolate iqreg ir irf irf_create irfm iri is_svy is_svysum isid istdize ivprob_1_lf ivprob_lf ivprobit ivprobit_p ivreg ivreg_footnote ivtob_1_lf ivtob_lf ivtobit ivtobit_p jackknife jacknife jknife jknife_6 jknife_8 jkstat joinby kalarma1 kap kap_3 kapmeier kappa kapwgt kdensity kdensity_7 keep ksm ksmirnov ktau kwallis l la lab labe label labelbook ladder levels levelsof leverage lfit lfit_p li lincom line linktest lis list lloghet_glf lloghet_glf_sh lloghet_gp lloghet_ilf lloghet_ilf_sh lloghet_ip llogi_sw llogis_p llogist llogistic llogistichet lnorm_lf lnorm_sw lnorma_p lnormal lnormalhet lnormhet_glf lnormhet_glf_sh lnormhet_gp lnormhet_ilf lnormhet_ilf_sh lnormhet_ip lnskew0 loadingplot loc loca local log logi logis_lf logistic logistic_p logit logit_estat logit_p loglogs logrank loneway lookfor lookup lowess lowess_7 lpredict lrecomp lroc lroc_7 lrtest ls lsens lsens_7 lsens_x lstat ltable ltable_7 ltriang lv lvr2plot lvr2plot_7 m ma mac macr macro makecns man manova manova_estat manova_p manovatest mantel mark markin markout marksample mat mat_capp mat_order mat_put_rr mat_rapp mata mata_clear mata_describe mata_drop mata_matdescribe mata_matsave mata_matuse mata_memory mata_mlib mata_mosave mata_rename mata_which matalabel matcproc matlist matname matr matri matrix matrix_input__dlg matstrik mcc mcci md0_ md1_ md1debug_ md2_ md2debug_ mds mds_estat mds_p mdsconfig mdslong mdsmat mdsshepard mdytoe mdytof me_derd mean means median memory memsize meqparse mer merg merge mfp mfx mhelp mhodds minbound mixed_ll mixed_ll_reparm mkassert mkdir mkmat mkspline ml ml_5 ml_adjs ml_bhhhs ml_c_d ml_check ml_clear ml_cnt ml_debug ml_defd ml_e0 ml_e0_bfgs ml_e0_cycle ml_e0_dfp ml_e0i ml_e1 ml_e1_bfgs ml_e1_bhhh ml_e1_cycle ml_e1_dfp ml_e2 ml_e2_cycle ml_ebfg0 ml_ebfr0 ml_ebfr1 ml_ebh0q ml_ebhh0 ml_ebhr0 ml_ebr0i ml_ecr0i ml_edfp0 ml_edfr0 ml_edfr1 ml_edr0i ml_eds ml_eer0i ml_egr0i ml_elf ml_elf_bfgs ml_elf_bhhh ml_elf_cycle ml_elf_dfp ml_elfi ml_elfs ml_enr0i ml_enrr0 ml_erdu0 ml_erdu0_bfgs ml_erdu0_bhhh ml_erdu0_bhhhq ml_erdu0_cycle ml_erdu0_dfp ml_erdu0_nrbfgs ml_exde ml_footnote ml_geqnr ml_grad0 ml_graph ml_hbhhh ml_hd0 ml_hold ml_init ml_inv ml_log ml_max ml_mlout ml_mlout_8 ml_model ml_nb0 ml_opt ml_p ml_plot ml_query ml_rdgrd ml_repor ml_s_e ml_score ml_searc ml_technique ml_unhold mleval mlf_ mlmatbysum mlmatsum mlog mlogi mlogit mlogit_footnote mlogit_p mlopts mlsum mlvecsum mnl0_ mor more mov move mprobit mprobit_lf mprobit_p mrdu0_ mrdu1_ mvdecode mvencode mvreg mvreg_estat n nbreg nbreg_al nbreg_lf nbreg_p nbreg_sw nestreg net newey newey_7 newey_p news nl nl_7 nl_9 nl_9_p nl_p nl_p_7 nlcom nlcom_p nlexp2 nlexp2_7 nlexp2a nlexp2a_7 nlexp3 nlexp3_7 nlgom3 nlgom3_7 nlgom4 nlgom4_7 nlinit nllog3 nllog3_7 nllog4 nllog4_7 nlog_rd nlogit nlogit_p nlogitgen nlogittree nlpred no nobreak noi nois noisi noisil noisily note notes notes_dlg nptrend numlabel numlist odbc old_ver olo olog ologi ologi_sw ologit ologit_p ologitp on one onew onewa oneway op_colnm op_comp op_diff op_inv op_str opr opro oprob oprob_sw oprobi oprobi_p oprobit oprobitp opts_exclusive order orthog orthpoly ou out outf outfi outfil outfile outs outsh outshe outshee outsheet ovtest pac pac_7 palette parse parse_dissim pause pca pca_8 pca_display pca_estat pca_p pca_rotate pcamat pchart pchart_7 pchi pchi_7 pcorr pctile pentium pergram pergram_7 permute permute_8 personal peto_st pkcollapse pkcross pkequiv pkexamine pkexamine_7 pkshape pksumm pksumm_7 pl plo plot plugin pnorm pnorm_7 poisgof poiss_lf poiss_sw poisso_p poisson poisson_estat post postclose postfile postutil pperron pr prais prais_e prais_e2 prais_p predict predictnl preserve print pro prob probi probit probit_estat probit_p proc_time procoverlay procrustes procrustes_estat procrustes_p profiler prog progr progra program prop proportion prtest prtesti pwcorr pwd q\\s qby qbys qchi qchi_7 qladder qladder_7 qnorm qnorm_7 qqplot qqplot_7 qreg qreg_c qreg_p qreg_sw qu quadchk quantile quantile_7 que quer query range ranksum ratio rchart rchart_7 rcof recast reclink recode reg reg3 reg3_p regdw regr regre regre_p2 regres regres_p regress regress_estat regriv_p remap ren rena renam rename renpfix repeat replace report reshape restore ret retu retur return rm rmdir robvar roccomp roccomp_7 roccomp_8 rocf_lf rocfit rocfit_8 rocgold rocplot rocplot_7 roctab roctab_7 rolling rologit rologit_p rot rota rotat rotate rotatemat rreg rreg_p ru run runtest rvfplot rvfplot_7 rvpplot rvpplot_7 sa safesum sample sampsi sav save savedresults saveold sc sca scal scala scalar scatter scm_mine sco scob_lf scob_p scobi_sw scobit scor score scoreplot scoreplot_help scree screeplot screeplot_help sdtest sdtesti se search separate seperate serrbar serrbar_7 serset set set_defaults sfrancia sh she shel shell shewhart shewhart_7 signestimationsample signrank signtest simul simul_7 simulate simulate_8 sktest sleep slogit slogit_d2 slogit_p smooth snapspan so sor sort spearman spikeplot spikeplot_7 spikeplt spline_x split sqreg sqreg_p sret sretu sretur sreturn ssc st st_ct st_hc st_hcd st_hcd_sh st_is st_issys st_note st_promo st_set st_show st_smpl st_subid stack statsby statsby_8 stbase stci stci_7 stcox stcox_estat stcox_fr stcox_fr_ll stcox_p stcox_sw stcoxkm stcoxkm_7 stcstat stcurv stcurve stcurve_7 stdes stem stepwise stereg stfill stgen stir stjoin stmc stmh stphplot stphplot_7 stphtest stphtest_7 stptime strate strate_7 streg streg_sw streset sts sts_7 stset stsplit stsum sttocc sttoct stvary stweib su suest suest_8 sum summ summa summar summari summariz summarize sunflower sureg survcurv survsum svar svar_p svmat svy svy_disp svy_dreg svy_est svy_est_7 svy_estat svy_get svy_gnbreg_p svy_head svy_header svy_heckman_p svy_heckprob_p svy_intreg_p svy_ivreg_p svy_logistic_p svy_logit_p svy_mlogit_p svy_nbreg_p svy_ologit_p svy_oprobit_p svy_poisson_p svy_probit_p svy_regress_p svy_sub svy_sub_7 svy_x svy_x_7 svy_x_p svydes svydes_8 svygen svygnbreg svyheckman svyheckprob svyintreg svyintreg_7 svyintrg svyivreg svylc svylog_p svylogit svymarkout svymarkout_8 svymean svymlog svymlogit svynbreg svyolog svyologit svyoprob svyoprobit svyopts svypois svypois_7 svypoisson svyprobit svyprobt svyprop svyprop_7 svyratio svyreg svyreg_p svyregress svyset svyset_7 svyset_8 svytab svytab_7 svytest svytotal sw sw_8 swcnreg swcox swereg swilk swlogis swlogit swologit swoprbt swpois swprobit swqreg swtobit swweib symmetry symmi symplot symplot_7 syntax sysdescribe sysdir sysuse szroeter ta tab tab1 tab2 tab_or tabd tabdi tabdis tabdisp tabi table tabodds tabodds_7 tabstat tabu tabul tabula tabulat tabulate te tempfile tempname tempvar tes test testnl testparm teststd tetrachoric time_it timer tis tob tobi tobit tobit_p tobit_sw token tokeni tokeniz tokenize tostring total translate translator transmap treat_ll treatr_p treatreg trim trnb_cons trnb_mean trpoiss_d2 trunc_ll truncr_p truncreg tsappend tset tsfill tsline tsline_ex tsreport tsrevar tsrline tsset tssmooth tsunab ttest ttesti tut_chk tut_wait tutorial tw tware_st two twoway twoway__fpfit_serset twoway__function_gen twoway__histogram_gen twoway__ipoint_serset twoway__ipoints_serset twoway__kdensity_gen twoway__lfit_serset twoway__normgen_gen twoway__pci_serset twoway__qfit_serset twoway__scatteri_serset twoway__sunflower_gen twoway_ksm_serset ty typ type typeof u unab unabbrev unabcmd update us use uselabel var var_mkcompanion var_p varbasic varfcast vargranger varirf varirf_add varirf_cgraph varirf_create varirf_ctable varirf_describe varirf_dir varirf_drop varirf_erase varirf_graph varirf_ograph varirf_rename varirf_set varirf_table varlist varlmar varnorm varsoc varstable varstable_w varstable_w2 varwle vce vec vec_fevd vec_mkphi vec_p vec_p_w vecirf_create veclmar veclmar_w vecnorm vecnorm_w vecrank vecstable verinst vers versi versio version view viewsource vif vwls wdatetof webdescribe webseek webuse weib1_lf weib2_lf weib_lf weib_lf0 weibhet_glf weibhet_glf_sh weibhet_glfa weibhet_glfa_sh weibhet_gp weibhet_ilf weibhet_ilf_sh weibhet_ilfa weibhet_ilfa_sh weibhet_ip weibu_sw weibul_p weibull weibull_c weibull_s weibullhet wh whelp whi which whil while wilc_st wilcoxon win wind windo window winexec wntestb wntestb_7 wntestq xchart xchart_7 xcorr xcorr_7 xi xi_6 xmlsav xmlsave xmluse xpose xsh xshe xshel xshell xt_iis xt_tis xtab_p xtabond xtbin_p xtclog xtcloglog xtcloglog_8 xtcloglog_d2 xtcloglog_pa_p xtcloglog_re_p xtcnt_p xtcorr xtdata xtdes xtfront_p xtfrontier xtgee xtgee_elink xtgee_estat xtgee_makeivar xtgee_p xtgee_plink xtgls xtgls_p xthaus xthausman xtht_p xthtaylor xtile xtint_p xtintreg xtintreg_8 xtintreg_d2 xtintreg_p xtivp_1 xtivp_2 xtivreg xtline xtline_ex xtlogit xtlogit_8 xtlogit_d2 xtlogit_fe_p xtlogit_pa_p xtlogit_re_p xtmixed xtmixed_estat xtmixed_p xtnb_fe xtnb_lf xtnbreg xtnbreg_pa_p xtnbreg_refe_p xtpcse xtpcse_p xtpois xtpoisson xtpoisson_d2 xtpoisson_pa_p xtpoisson_refe_p xtpred xtprobit xtprobit_8 xtprobit_d2 xtprobit_re_p xtps_fe xtps_lf xtps_ren xtps_ren_8 xtrar_p xtrc xtrc_p xtrchh xtrefe_p xtreg xtreg_be xtreg_fe xtreg_ml xtreg_pa_p xtreg_re xtregar xtrere_p xtset xtsf_ll xtsf_llti xtsum xttab xttest0 xttobit xttobit_8 xttobit_p xttrans yx yxview__barlike_draw yxview_area_draw yxview_bar_draw yxview_dot_draw yxview_dropline_draw yxview_function_draw yxview_iarrow_draw yxview_ilabels_draw yxview_normal_draw yxview_pcarrow_draw yxview_pcbarrow_draw yxview_pccapsym_draw yxview_pcscatter_draw yxview_pcspike_draw yxview_rarea_draw yxview_rbar_draw yxview_rbarm_draw yxview_rcap_draw yxview_rcapsym_draw yxview_rconnected_draw yxview_rline_draw yxview_rscatter_draw yxview_rspike_draw yxview_spike_draw yxview_sunflower_draw zap_s zinb zinb_llf zinb_plf zip zip_llf zip_p zip_plf zt_ct_5 zt_hc_5 zt_hcd_5 zt_is_5 zt_iss_5 zt_sho_5 zt_smp_5 ztbase_5 ztcox_5 ztdes_5 ztereg_5 ztfill_5 ztgen_5 ztir_5 ztjoin_5 ztnb ztnb_p ztp ztp_p zts_5 ztset_5 ztspli_5 ztsum_5 zttoct_5 ztvary_5 ztweib_5",contains:[{className:"label",variants:[{begin:"\\$\\{?[a-zA-Z0-9_]+\\}?"},{begin:"`[a-zA-Z0-9_]+'"}]},{className:"string",variants:[{begin:'`"[^\r\n]*?"\''},{begin:'"[^\r\n"]*"'}]},{className:"literal",variants:[{begin:"\\b(abs|acos|asin|atan|atan2|atanh|ceil|cloglog|comb|cos|digamma|exp|floor|invcloglog|invlogit|ln|lnfact|lnfactorial|lngamma|log|log10|max|min|mod|reldif|round|sign|sin|sqrt|sum|tan|tanh|trigamma|trunc|betaden|Binomial|binorm|binormal|chi2|chi2tail|dgammapda|dgammapdada|dgammapdadx|dgammapdx|dgammapdxdx|F|Fden|Ftail|gammaden|gammap|ibeta|invbinomial|invchi2|invchi2tail|invF|invFtail|invgammap|invibeta|invnchi2|invnFtail|invnibeta|invnorm|invnormal|invttail|nbetaden|nchi2|nFden|nFtail|nibeta|norm|normal|normalden|normd|npnchi2|tden|ttail|uniform|abbrev|char|index|indexnot|length|lower|ltrim|match|plural|proper|real|regexm|regexr|regexs|reverse|rtrim|string|strlen|strlower|strltrim|strmatch|strofreal|strpos|strproper|strreverse|strrtrim|strtrim|strupper|subinstr|subinword|substr|trim|upper|word|wordcount|_caller|autocode|byteorder|chop|clip|cond|e|epsdouble|epsfloat|group|inlist|inrange|irecode|matrix|maxbyte|maxdouble|maxfloat|maxint|maxlong|mi|minbyte|mindouble|minfloat|minint|minlong|missing|r|recode|replay|return|s|scalar|d|date|day|dow|doy|halfyear|mdy|month|quarter|week|year|d|daily|dofd|dofh|dofm|dofq|dofw|dofy|h|halfyearly|hofd|m|mofd|monthly|q|qofd|quarterly|tin|twithin|w|weekly|wofd|y|yearly|yh|ym|yofd|yq|yw|cholesky|colnumb|colsof|corr|det|diag|diag0cnt|el|get|hadamard|I|inv|invsym|issym|issymmetric|J|matmissing|matuniform|mreldif|nullmat|rownumb|rowsof|sweep|syminv|trace|vec|vecdiag)(?=\\(|$)"}]},a.COMMENT("^[      ]*\\*.*$",!1),a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]}}),a.registerLanguage("step21",function(a){var b="[A-Z_][A-Z0-9_.]*",c="END-ISO-10303-21;",d={literal:"",built_in:"",keyword:"HEADER ENDSEC DATA"},e={className:"preprocessor",begin:"ISO-10303-21;",relevance:10},f=[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.COMMENT("/\\*\\*!","\\*/"),a.C_NUMBER_MODE,a.inherit(a.APOS_STRING_MODE,{illegal:null}),a.inherit(a.QUOTE_STRING_MODE,{illegal:null}),{className:"string",begin:"'",end:"'"},{className:"label",variants:[{begin:"#",end:"\\d+",illegal:"\\W"}]}];return{aliases:["p21","step","stp"],case_insensitive:!0,lexemes:b,keywords:d,contains:[{className:"preprocessor",begin:c,relevance:10},e].concat(f)}}),a.registerLanguage("stylus",function(a){var b={className:"variable",begin:"\\$"+a.IDENT_RE},c={className:"hexcolor",begin:"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})",relevance:10},d=["charset","css","debug","extend","font-face","for","import","include","media","mixin","page","warn","while"],e=["after","before","first-letter","first-line","active","first-child","focus","hover","lang","link","visited"],f=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],g="[\\.\\s\\n\\[\\:,]",h=["align-content","align-items","align-self","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","auto","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","clip-path","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","font","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-variant-ligatures","font-weight","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inherit","initial","justify-content","left","letter-spacing","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","max-height","max-width","min-height","min-width","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","perspective","perspective-origin","pointer-events","position","quotes","resize","right","tab-size","table-layout","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"],i=["\\{","\\}","\\?","(\\bReturn\\b)","(\\bEnd\\b)","(\\bend\\b)",";","#\\s","\\*\\s","===\\s","\\|","%"];
+return{aliases:["styl"],case_insensitive:!1,illegal:"("+i.join("|")+")",keywords:"if else for in",contains:[a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,c,{begin:"\\.[a-zA-Z][a-zA-Z0-9_-]*"+g,returnBegin:!0,contains:[{className:"class",begin:"\\.[a-zA-Z][a-zA-Z0-9_-]*"}]},{begin:"\\#[a-zA-Z][a-zA-Z0-9_-]*"+g,returnBegin:!0,contains:[{className:"id",begin:"\\#[a-zA-Z][a-zA-Z0-9_-]*"}]},{begin:"\\b("+f.join("|")+")"+g,returnBegin:!0,contains:[{className:"tag",begin:"\\b[a-zA-Z][a-zA-Z0-9_-]*"}]},{className:"pseudo",begin:"&?:?:\\b("+e.join("|")+")"+g},{className:"at_rule",begin:"@("+d.join("|")+")\\b"},b,a.CSS_NUMBER_MODE,a.NUMBER_MODE,{className:"function",begin:"\\b[a-zA-Z][a-zA-Z0-9_-]*\\(.*\\)",illegal:"[\\n]",returnBegin:!0,contains:[{className:"title",begin:"\\b[a-zA-Z][a-zA-Z0-9_-]*"},{className:"params",begin:/\(/,end:/\)/,contains:[c,b,a.APOS_STRING_MODE,a.CSS_NUMBER_MODE,a.NUMBER_MODE,a.QUOTE_STRING_MODE]}]},{className:"attribute",begin:"\\b("+h.reverse().join("|")+")\\b"}]}}),a.registerLanguage("swift",function(a){var b={keyword:"__COLUMN__ __FILE__ __FUNCTION__ __LINE__ as as! as? associativity break case catch class continue convenience default defer deinit didSet do dynamic dynamicType else enum extension fallthrough false final for func get guard if import in indirect infix init inout internal is lazy left let mutating nil none nonmutating operator optional override postfix precedence prefix private protocol Protocol public repeat required rethrows return right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet",literal:"true false nil",built_in:"abs advance alignof alignofValue anyGenerator assert assertionFailure bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal fatalError filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare map max maxElement min minElement numericCast overlaps partition posix precondition preconditionFailure print println quickSort readLine reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith stride strideof strideofValue swap toString transcode underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers withUnsafePointer withUnsafePointers withVaList zip"},c={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},d=a.COMMENT("/\\*","\\*/",{contains:["self"]}),e={className:"subst",begin:/\\\(/,end:"\\)",keywords:b,contains:[]},f={className:"number",begin:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",relevance:0},g=a.inherit(a.QUOTE_STRING_MODE,{contains:[e,a.BACKSLASH_ESCAPE]});return e.contains=[f],{keywords:b,contains:[g,a.C_LINE_COMMENT_MODE,d,c,f,{className:"func",beginKeywords:"func",end:"{",excludeEnd:!0,contains:[a.inherit(a.TITLE_MODE,{begin:/[A-Za-z$_][0-9A-Za-z$_]*/,illegal:/\(/}),{className:"generics",begin:/</,end:/>/,illegal:/>/},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:b,contains:["self",f,g,a.C_BLOCK_COMMENT_MODE,{begin:":"}],illegal:/["']/}],illegal:/\[|%/},{className:"class",beginKeywords:"struct protocol class extension enum",keywords:b,end:"\\{",excludeEnd:!0,contains:[a.inherit(a.TITLE_MODE,{begin:/[A-Za-z$_][0-9A-Za-z$_]*/})]},{className:"preprocessor",begin:"(@warn_unused_result|@exported|@lazy|@noescape|@NSCopying|@NSManaged|@objc|@convention|@required|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix|@autoclosure|@testable|@available|@nonobjc|@NSApplicationMain|@UIApplicationMain)"},{beginKeywords:"import",end:/$/,contains:[a.C_LINE_COMMENT_MODE,d]}]}}),a.registerLanguage("tcl",function(a){return{aliases:["tk"],keywords:"after append apply array auto_execok auto_import auto_load auto_mkindex auto_mkindex_old auto_qualify auto_reset bgerror binary break catch cd chan clock close concat continue dde dict encoding eof error eval exec exit expr fblocked fconfigure fcopy file fileevent filename flush for foreach format gets glob global history http if incr info interp join lappend|10 lassign|10 lindex|10 linsert|10 list llength|10 load lrange|10 lrepeat|10 lreplace|10 lreverse|10 lsearch|10 lset|10 lsort|10 mathfunc mathop memory msgcat namespace open package parray pid pkg::create pkg_mkIndex platform platform::shell proc puts pwd read refchan regexp registry regsub|10 rename return safe scan seek set socket source split string subst switch tcl_endOfWord tcl_findLibrary tcl_startOfNextWord tcl_startOfPreviousWord tcl_wordBreakAfter tcl_wordBreakBefore tcltest tclvars tell time tm trace unknown unload unset update uplevel upvar variable vwait while",contains:[a.COMMENT(";[ \\t]*#","$"),a.COMMENT("^[ \\t]*#","$"),{beginKeywords:"proc",end:"[\\{]",excludeEnd:!0,contains:[{className:"symbol",begin:"[ \\t\\n\\r]+(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",end:"[ \\t\\n\\r]",endsWithParent:!0,excludeEnd:!0}]},{className:"variable",excludeEnd:!0,variants:[{begin:"\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*\\(([a-zA-Z0-9_])*\\)",end:"[^a-zA-Z0-9_\\}\\$]"},{begin:"\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",end:"(\\))?[^a-zA-Z0-9_\\}\\$]"}]},{className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[a.inherit(a.APOS_STRING_MODE,{illegal:null}),a.inherit(a.QUOTE_STRING_MODE,{illegal:null})]},{className:"number",variants:[a.BINARY_NUMBER_MODE,a.C_NUMBER_MODE]}]}}),a.registerLanguage("tex",function(a){var b={className:"command",begin:"\\\\[a-zA-Zа-яА-я]+[\\*]?"},c={className:"command",begin:"\\\\[^a-zA-Zа-яА-я0-9]"},d={className:"special",begin:"[{}\\[\\]\\&#~]",relevance:0};return{contains:[{begin:"\\\\[a-zA-Zа-яА-я]+[\\*]? *= *-?\\d*\\.?\\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?",returnBegin:!0,contains:[b,c,{className:"number",begin:" *=",end:"-?\\d*\\.?\\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?",excludeBegin:!0}],relevance:10},b,c,d,{className:"formula",begin:"\\$\\$",end:"\\$\\$",contains:[b,c,d],relevance:0},{className:"formula",begin:"\\$",end:"\\$",contains:[b,c,d],relevance:0},a.COMMENT("%","$",{relevance:0})]}}),a.registerLanguage("thrift",function(a){var b="bool byte i16 i32 i64 double string binary";return{keywords:{keyword:"namespace const typedef struct enum service exception void oneway set list map required optional",built_in:b,literal:"true false"},contains:[a.QUOTE_STRING_MODE,a.NUMBER_MODE,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{className:"class",beginKeywords:"struct enum service exception",end:/\{/,illegal:/\n/,contains:[a.inherit(a.TITLE_MODE,{starts:{endsWithParent:!0,excludeEnd:!0}})]},{begin:"\\b(set|list|map)\\s*<",end:">",keywords:b,contains:["self"]}]}}),a.registerLanguage("tp",function(a){var b={className:"number",begin:"[1-9][0-9]*",relevance:0},c={className:"comment",begin:":[^\\]]+"},d={className:"built_in",begin:"(AR|P|PAYLOAD|PR|R|SR|RSR|LBL|VR|UALM|MESSAGE|UTOOL|UFRAME|TIMER|    TIMER_OVERFLOW|JOINT_MAX_SPEED|RESUME_PROG|DIAG_REC)\\[",end:"\\]",contains:["self",b,c]},e={className:"built_in",begin:"(AI|AO|DI|DO|F|RI|RO|UI|UO|GI|GO|SI|SO)\\[",end:"\\]",contains:["self",b,a.QUOTE_STRING_MODE,c]};return{keywords:{keyword:"ABORT ACC ADJUST AND AP_LD BREAK CALL CNT COL CONDITION CONFIG DA DB DIV DETECT ELSE END ENDFOR ERR_NUM ERROR_PROG FINE FOR GP GUARD INC IF JMP LINEAR_MAX_SPEED LOCK MOD MONITOR OFFSET Offset OR OVERRIDE PAUSE PREG PTH RT_LD RUN SELECT SKIP Skip TA TB TO TOOL_OFFSET Tool_Offset UF UT UFRAME_NUM UTOOL_NUM UNLOCK WAIT X Y Z W P R STRLEN SUBSTR FINDSTR VOFFSET",constant:"ON OFF max_speed LPOS JPOS ENABLE DISABLE START STOP RESET"},contains:[d,e,{className:"keyword",begin:"/(PROG|ATTR|MN|POS|END)\\b"},{className:"keyword",begin:"(CALL|RUN|POINT_LOGIC|LBL)\\b"},{className:"keyword",begin:"\\b(ACC|CNT|Skip|Offset|PSPD|RT_LD|AP_LD|Tool_Offset)"},{className:"number",begin:"\\d+(sec|msec|mm/sec|cm/min|inch/min|deg/sec|mm|in|cm)?\\b",relevance:0},a.COMMENT("//","[;$]"),a.COMMENT("!","[;$]"),a.COMMENT("--eg:","$"),a.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"'"},a.C_NUMBER_MODE,{className:"variable",begin:"\\$[A-Za-z0-9_]+"}]}}),a.registerLanguage("twig",function(a){var b={className:"params",begin:"\\(",end:"\\)"},c="attribute block constant cycle date dump include max min parent random range source template_from_string",d={className:"function",beginKeywords:c,relevance:0,contains:[b]},e={className:"filter",begin:/\|[A-Za-z_]+:?/,keywords:"abs batch capitalize convert_encoding date date_modify default escape first format join json_encode keys last length lower merge nl2br number_format raw replace reverse round slice sort split striptags title trim upper url_encode",contains:[d]},f="autoescape block do embed extends filter flush for if import include macro sandbox set spaceless use verbatim";return f=f+" "+f.split(" ").map(function(a){return"end"+a}).join(" "),{aliases:["craftcms"],case_insensitive:!0,subLanguage:"xml",contains:[a.COMMENT(/\{#/,/#}/),{className:"template_tag",begin:/\{%/,end:/%}/,keywords:f,contains:[e,d]},{className:"variable",begin:/\{\{/,end:/}}/,contains:[e,d]}]}}),a.registerLanguage("typescript",function(a){var b={keyword:"in if for while finally var new function|0 do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class public private protected get set super static implements enum export import declare type namespace abstract",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document any number boolean string void"};return{aliases:["ts"],keywords:b,contains:[{className:"pi",begin:/^\s*['"]use strict['"]/,relevance:0},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{className:"number",variants:[{begin:"\\b(0[bB][01]+)"},{begin:"\\b(0[oO][0-7]+)"},{begin:a.C_NUMBER_RE}],relevance:0},{begin:"("+a.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.REGEXP_MODE],relevance:0},{className:"function",begin:"function",end:/[\{;]/,excludeEnd:!0,keywords:b,contains:["self",a.inherit(a.TITLE_MODE,{begin:/[A-Za-z$_][0-9A-Za-z$_]*/}),{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:b,contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE],illegal:/["'\(]/}],illegal:/\[|%/,relevance:0},{className:"constructor",beginKeywords:"constructor",end:/\{/,excludeEnd:!0,relevance:10},{className:"module",beginKeywords:"module",end:/\{/,excludeEnd:!0},{className:"interface",beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:"interface extends"},{begin:/\$[(.]/},{begin:"\\."+a.IDENT_RE,relevance:0}]}}),a.registerLanguage("vala",function(a){return{keywords:{keyword:"char uchar unichar int uint long ulong short ushort int8 int16 int32 int64 uint8 uint16 uint32 uint64 float double bool struct enum string void weak unowned owned async signal static abstract interface override while do for foreach else switch case break default return try catch public private protected internal using new this get set const stdout stdin stderr var",built_in:"DBus GLib CCode Gee Object",literal:"false true null"},contains:[{className:"class",beginKeywords:"class interface delegate namespace",end:"{",excludeEnd:!0,illegal:"[^,:\\n\\s\\.]",contains:[a.UNDERSCORE_TITLE_MODE]},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{className:"string",begin:'"""',end:'"""',relevance:5},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_NUMBER_MODE,{className:"preprocessor",begin:"^#",end:"$",relevance:2},{className:"constant",begin:" [A-Z_]+ ",relevance:0}]}}),a.registerLanguage("vbnet",function(a){return{aliases:["vb"],case_insensitive:!0,keywords:{keyword:"addhandler addressof alias and andalso aggregate ansi as assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into is isfalse isnot istrue join key let lib like loop me mid mod module mustinherit mustoverride mybase myclass namespace narrowing new next not notinheritable notoverridable of off on operator option optional or order orelse overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim rem removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly xor",built_in:"boolean byte cbool cbyte cchar cdate cdec cdbl char cint clng cobj csbyte cshort csng cstr ctype date decimal directcast double gettype getxmlnamespace iif integer long object sbyte short single string trycast typeof uinteger ulong ushort",literal:"true false nothing"},illegal:"//|{|}|endif|gosub|variant|wend",contains:[a.inherit(a.QUOTE_STRING_MODE,{contains:[{begin:'""'}]}),a.COMMENT("'","$",{returnBegin:!0,contains:[{className:"xmlDocTag",begin:"'''|<!--|-->",contains:[a.PHRASAL_WORDS_MODE]},{className:"xmlDocTag",begin:"</?",end:">",contains:[a.PHRASAL_WORDS_MODE]}]}),a.C_NUMBER_MODE,{className:"preprocessor",begin:"#",end:"$",keywords:"if else elseif end region externalsource"}]}}),a.registerLanguage("vbscript",function(a){return{aliases:["vbs"],case_insensitive:!0,keywords:{keyword:"call class const dim do loop erase execute executeglobal exit for each next function if then else on error option explicit new private property let get public randomize redim rem select case set stop sub while wend with end to elseif is or xor and not class_initialize class_terminate default preserve in me byval byref step resume goto",built_in:"lcase month vartype instrrev ubound setlocale getobject rgb getref string weekdayname rnd dateadd monthname now day minute isarray cbool round formatcurrency conversions csng timevalue second year space abs clng timeserial fixs len asc isempty maths dateserial atn timer isobject filter weekday datevalue ccur isdate instr datediff formatdatetime replace isnull right sgn array snumeric log cdbl hex chr lbound msgbox ucase getlocale cos cdate cbyte rtrim join hour oct typename trim strcomp int createobject loadpicture tan formatnumber mid scriptenginebuildversion scriptengine split scriptengineminorversion cint sin datepart ltrim sqr scriptenginemajorversion time derived eval date formatpercent exp inputbox left ascw chrw regexp server response request cstr err",literal:"true false null nothing empty"},illegal:"//",contains:[a.inherit(a.QUOTE_STRING_MODE,{contains:[{begin:'""'}]}),a.COMMENT(/'/,/$/,{relevance:0}),a.C_NUMBER_MODE]}}),a.registerLanguage("vbscript-html",function(a){return{subLanguage:"xml",contains:[{begin:"<%",end:"%>",subLanguage:"vbscript"}]}}),a.registerLanguage("verilog",function(a){return{aliases:["v"],case_insensitive:!0,keywords:{keyword:"always and assign begin buf bufif0 bufif1 case casex casez cmos deassign default defparam disable edge else end endcase endfunction endmodule endprimitive endspecify endtable endtask event for force forever fork function if ifnone initial inout input join macromodule module nand negedge nmos nor not notif0 notif1 or output parameter pmos posedge primitive pulldown pullup rcmos release repeat rnmos rpmos rtran rtranif0 rtranif1 specify specparam table task timescale tran tranif0 tranif1 wait while xnor xor",typename:"highz0 highz1 integer large medium pull0 pull1 real realtime reg scalared signed small strong0 strong1 supply0 supply0 supply1 supply1 time tri tri0 tri1 triand trior trireg vectored wand weak0 weak1 wire wor"},contains:[a.C_BLOCK_COMMENT_MODE,a.C_LINE_COMMENT_MODE,a.QUOTE_STRING_MODE,{className:"number",begin:"\\b(\\d+'(b|h|o|d|B|H|O|D))?[0-9xzXZ]+",contains:[a.BACKSLASH_ESCAPE],relevance:0},{className:"typename",begin:"\\.\\w+",relevance:0},{className:"value",begin:"#\\((?!parameter).+\\)"},{className:"keyword",begin:"\\+|-|\\*|/|%|<|>|=|#|`|\\!|&|\\||@|:|\\^|~|\\{|\\}",relevance:0}]}}),a.registerLanguage("vhdl",function(a){var b="\\d(_|\\d)*",c="[eE][-+]?"+b,d=b+"(\\."+b+")?("+c+")?",e="\\w+",f=b+"#"+e+"(\\."+e+")?#("+c+")?",g="\\b("+f+"|"+d+")";return{case_insensitive:!0,keywords:{keyword:"abs access after alias all and architecture array assert attribute begin block body buffer bus case component configuration constant context cover disconnect downto default else elsif end entity exit fairness file for force function generate generic group guarded if impure in inertial inout is label library linkage literal loop map mod nand new next nor not null of on open or others out package port postponed procedure process property protected pure range record register reject release rem report restrict restrict_guarantee return rol ror select sequence severity shared signal sla sll sra srl strong subtype then to transport type unaffected units until use variable vmode vprop vunit wait when while with xnor xor",typename:"boolean bit character severity_level integer time delay_length natural positive string bit_vector file_open_kind file_open_status std_ulogic std_ulogic_vector std_logic std_logic_vector unsigned signed boolean_vector integer_vector real_vector time_vector"},illegal:"{",contains:[a.C_BLOCK_COMMENT_MODE,a.COMMENT("--","$"),a.QUOTE_STRING_MODE,{className:"number",begin:g,relevance:0},{className:"literal",begin:"'(U|X|0|1|Z|W|L|H|-)'",contains:[a.BACKSLASH_ESCAPE]},{className:"attribute",begin:"'[A-Za-z](_?[A-Za-z0-9])*",contains:[a.BACKSLASH_ESCAPE]}]}}),a.registerLanguage("vim",function(a){return{lexemes:/[!#@\w]+/,keywords:{keyword:"N|0 P|0 X|0 a|0 ab abc abo al am an|0 ar arga argd arge argdo argg argl argu as au aug aun b|0 bN ba bad bd be bel bf bl bm bn bo bp br brea breaka breakd breakl bro bufdo buffers bun bw c|0 cN cNf ca cabc caddb cad caddf cal cat cb cc ccl cd ce cex cf cfir cgetb cgete cg changes chd che checkt cl cla clo cm cmapc cme cn cnew cnf cno cnorea cnoreme co col colo com comc comp con conf cope cp cpf cq cr cs cst cu cuna cunme cw d|0 delm deb debugg delc delf dif diffg diffo diffp diffpu diffs diffthis dig di dl dell dj dli do doautoa dp dr ds dsp e|0 ea ec echoe echoh echom echon el elsei em en endfo endf endt endw ene ex exe exi exu f|0 files filet fin fina fini fir fix fo foldc foldd folddoc foldo for fu g|0 go gr grepa gu gv ha h|0 helpf helpg helpt hi hid his i|0 ia iabc if ij il im imapc ime ino inorea inoreme int is isp iu iuna iunme j|0 ju k|0 keepa kee keepj lN lNf l|0 lad laddb laddf la lan lat lb lc lch lcl lcs le lefta let lex lf lfir lgetb lgete lg lgr lgrepa lh ll lla lli lmak lm lmapc lne lnew lnf ln loadk lo loc lockv lol lope lp lpf lr ls lt lu lua luad luaf lv lvimgrepa lw m|0 ma mak map mapc marks mat me menut mes mk mks mksp mkv mkvie mod mz mzf nbc nb nbs n|0 new nm nmapc nme nn nnoreme noa no noh norea noreme norm nu nun nunme ol o|0 om omapc ome on ono onoreme opt ou ounme ow p|0 profd prof pro promptr pc ped pe perld po popu pp pre prev ps pt ptN ptf ptj ptl ptn ptp ptr pts pu pw py3 python3 py3d py3f py pyd pyf q|0 quita qa r|0 rec red redi redr redraws reg res ret retu rew ri rightb rub rubyd rubyf rund ru rv s|0 sN san sa sal sav sb sbN sba sbf sbl sbm sbn sbp sbr scrip scripte scs se setf setg setl sf sfir sh sim sig sil sl sla sm smap smapc sme sn sni sno snor snoreme sor so spelld spe spelli spellr spellu spellw sp spr sre st sta startg startr star stopi stj sts sun sunm sunme sus sv sw sy synti sync t|0 tN tabN tabc tabdo tabe tabf tabfir tabl tabm tabnew tabn tabo tabp tabr tabs tab ta tags tc tcld tclf te tf th tj tl tm tn to tp tr try ts tu u|0 undoj undol una unh unl unlo unm unme uns up v|0 ve verb vert vim vimgrepa vi viu vie vm vmapc vme vne vn vnoreme vs vu vunme windo w|0 wN wa wh wi winc winp wn wp wq wqa ws wu wv x|0 xa xmapc xm xme xn xnoreme xu xunme y|0 z|0 ~ Next Print append abbreviate abclear aboveleft all amenu anoremenu args argadd argdelete argedit argglobal arglocal argument ascii autocmd augroup aunmenu buffer bNext ball badd bdelete behave belowright bfirst blast bmodified bnext botright bprevious brewind break breakadd breakdel breaklist browse bunload bwipeout change cNext cNfile cabbrev cabclear caddbuffer caddexpr caddfile call catch cbuffer cclose center cexpr cfile cfirst cgetbuffer cgetexpr cgetfile chdir checkpath checktime clist clast close cmap cmapclear cmenu cnext cnewer cnfile cnoremap cnoreabbrev cnoremenu copy colder colorscheme command comclear compiler continue confirm copen cprevious cpfile cquit crewind cscope cstag cunmap cunabbrev cunmenu cwindow delete delmarks debug debuggreedy delcommand delfunction diffupdate diffget diffoff diffpatch diffput diffsplit digraphs display deletel djump dlist doautocmd doautoall deletep drop dsearch dsplit edit earlier echo echoerr echohl echomsg else elseif emenu endif endfor endfunction endtry endwhile enew execute exit exusage file filetype find finally finish first fixdel fold foldclose folddoopen folddoclosed foldopen function global goto grep grepadd gui gvim hardcopy help helpfind helpgrep helptags highlight hide history insert iabbrev iabclear ijump ilist imap imapclear imenu inoremap inoreabbrev inoremenu intro isearch isplit iunmap iunabbrev iunmenu join jumps keepalt keepmarks keepjumps lNext lNfile list laddexpr laddbuffer laddfile last language later lbuffer lcd lchdir lclose lcscope left leftabove lexpr lfile lfirst lgetbuffer lgetexpr lgetfile lgrep lgrepadd lhelpgrep llast llist lmake lmap lmapclear lnext lnewer lnfile lnoremap loadkeymap loadview lockmarks lockvar lolder lopen lprevious lpfile lrewind ltag lunmap luado luafile lvimgrep lvimgrepadd lwindow move mark make mapclear match menu menutranslate messages mkexrc mksession mkspell mkvimrc mkview mode mzscheme mzfile nbclose nbkey nbsart next nmap nmapclear nmenu nnoremap nnoremenu noautocmd noremap nohlsearch noreabbrev noremenu normal number nunmap nunmenu oldfiles open omap omapclear omenu only onoremap onoremenu options ounmap ounmenu ownsyntax print profdel profile promptfind promptrepl pclose pedit perl perldo pop popup ppop preserve previous psearch ptag ptNext ptfirst ptjump ptlast ptnext ptprevious ptrewind ptselect put pwd py3do py3file python pydo pyfile quit quitall qall read recover redo redir redraw redrawstatus registers resize retab return rewind right rightbelow ruby rubydo rubyfile rundo runtime rviminfo substitute sNext sandbox sargument sall saveas sbuffer sbNext sball sbfirst sblast sbmodified sbnext sbprevious sbrewind scriptnames scriptencoding scscope set setfiletype setglobal setlocal sfind sfirst shell simalt sign silent sleep slast smagic smapclear smenu snext sniff snomagic snoremap snoremenu sort source spelldump spellgood spellinfo spellrepall spellundo spellwrong split sprevious srewind stop stag startgreplace startreplace startinsert stopinsert stjump stselect sunhide sunmap sunmenu suspend sview swapname syntax syntime syncbind tNext tabNext tabclose tabedit tabfind tabfirst tablast tabmove tabnext tabonly tabprevious tabrewind tag tcl tcldo tclfile tearoff tfirst throw tjump tlast tmenu tnext topleft tprevious trewind tselect tunmenu undo undojoin undolist unabbreviate unhide unlet unlockvar unmap unmenu unsilent update vglobal version verbose vertical vimgrep vimgrepadd visual viusage view vmap vmapclear vmenu vnew vnoremap vnoremenu vsplit vunmap vunmenu write wNext wall while winsize wincmd winpos wnext wprevious wqall wsverb wundo wviminfo xit xall xmapclear xmap xmenu xnoremap xnoremenu xunmap xunmenu yank",built_in:"abs acos add and append argc argidx argv asin atan atan2 browse browsedir bufexists buflisted bufloaded bufname bufnr bufwinnr byte2line byteidx call ceil changenr char2nr cindent clearmatches col complete complete_add complete_check confirm copy cos cosh count cscope_connection cursor deepcopy delete did_filetype diff_filler diff_hlID empty escape eval eventhandler executable exists exp expand extend feedkeys filereadable filewritable filter finddir findfile float2nr floor fmod fnameescape fnamemodify foldclosed foldclosedend foldlevel foldtext foldtextresult foreground function garbagecollect get getbufline getbufvar getchar getcharmod getcmdline getcmdpos getcmdtype getcwd getfontname getfperm getfsize getftime getftype getline getloclist getmatches getpid getpos getqflist getreg getregtype gettabvar gettabwinvar getwinposx getwinposy getwinvar glob globpath has has_key haslocaldir hasmapto histadd histdel histget histnr hlexists hlID hostname iconv indent index input inputdialog inputlist inputrestore inputsave inputsecret insert invert isdirectory islocked items join keys len libcall libcallnr line line2byte lispindent localtime log log10 luaeval map maparg mapcheck match matchadd matcharg matchdelete matchend matchlist matchstr max min mkdir mode mzeval nextnonblank nr2char or pathshorten pow prevnonblank printf pumvisible py3eval pyeval range readfile reltime reltimestr remote_expr remote_foreground remote_peek remote_read remote_send remove rename repeat resolve reverse round screenattr screenchar screencol screenrow search searchdecl searchpair searchpairpos searchpos server2client serverlist setbufvar setcmdpos setline setloclist setmatches setpos setqflist setreg settabvar settabwinvar setwinvar sha256 shellescape shiftwidth simplify sin sinh sort soundfold spellbadword spellsuggest split sqrt str2float str2nr strchars strdisplaywidth strftime stridx string strlen strpart strridx strtrans strwidth submatch substitute synconcealed synID synIDattr synIDtrans synstack system tabpagebuflist tabpagenr tabpagewinnr tagfiles taglist tan tanh tempname tolower toupper tr trunc type undofile undotree values virtcol visualmode wildmenumode winbufnr wincol winheight winline winnr winrestcmd winrestview winsaveview winwidth writefile xor"},illegal:/[{:]/,contains:[a.NUMBER_MODE,a.APOS_STRING_MODE,{className:"string",begin:/"((\\")|[^"\n])*("|\n)/},{className:"variable",begin:/[bwtglsav]:[\w\d_]*/},{className:"function",beginKeywords:"function function!",end:"$",relevance:0,contains:[a.TITLE_MODE,{className:"params",begin:"\\(",end:"\\)"}]}]}}),a.registerLanguage("x86asm",function(a){return{case_insensitive:!0,lexemes:"\\.?"+a.IDENT_RE,keywords:{keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",
+literal:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0  xmm1  xmm2  xmm3  xmm4  xmm5  xmm6  xmm7  xmm8  xmm9 xmm10  xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0  ymm1  ymm2  ymm3  ymm4  ymm5  ymm6  ymm7  ymm8  ymm9 ymm10  ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0  zmm1  zmm2  zmm3  zmm4  zmm5  zmm6  zmm7  zmm8  zmm9 zmm10  zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l",pseudo:"db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times",preprocessor:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr __FILE__ __LINE__ __SECT__  __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__  __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public ",built_in:"bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},contains:[a.COMMENT(";","$",{relevance:0}),{className:"number",variants:[{begin:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",relevance:0},{begin:"\\$[0-9][0-9A-Fa-f]*",relevance:0},{begin:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{begin:"\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"}]},a.QUOTE_STRING_MODE,{className:"string",variants:[{begin:"'",end:"[^\\\\]'"},{begin:"`",end:"[^\\\\]`"},{begin:"\\.[A-Za-z0-9]+"}],relevance:0},{className:"label",variants:[{begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)"},{begin:"^\\s*%%[A-Za-z0-9_$#@~.?]*:"}],relevance:0},{className:"argument",begin:"%[0-9]+",relevance:0},{className:"built_in",begin:"%!S+",relevance:0}]}}),a.registerLanguage("xl",function(a){var b="ObjectLoader Animate MovieCredits Slides Filters Shading Materials LensFlare Mapping VLCAudioVideo StereoDecoder PointCloud NetworkAccess RemoteControl RegExp ChromaKey Snowfall NodeJS Speech Charts",c={keyword:"if then else do while until for loop import with is as where when by data constant",literal:"true false nil",type:"integer real text name boolean symbol infix prefix postfix block tree",built_in:"in mod rem and or xor not abs sign floor ceil sqrt sin cos tan asin acos atan exp expm1 log log2 log10 log1p pi at",module:b,id:"text_length text_range text_find text_replace contains page slide basic_slide title_slide title subtitle fade_in fade_out fade_at clear_color color line_color line_width texture_wrap texture_transform texture scale_?x scale_?y scale_?z? translate_?x translate_?y translate_?z? rotate_?x rotate_?y rotate_?z? rectangle circle ellipse sphere path line_to move_to quad_to curve_to theme background contents locally time mouse_?x mouse_?y mouse_buttons"},d={className:"constant",begin:"[A-Z][A-Z_0-9]+",relevance:0},e={className:"variable",begin:"([A-Z][a-z_0-9]+)+",relevance:0},f={className:"id",begin:"[a-z][a-z_0-9]+",relevance:0},g={className:"string",begin:'"',end:'"',illegal:"\\n"},h={className:"string",begin:"'",end:"'",illegal:"\\n"},i={className:"string",begin:"<<",end:">>"},j={className:"number",begin:"[0-9]+#[0-9A-Z_]+(\\.[0-9-A-Z_]+)?#?([Ee][+-]?[0-9]+)?",relevance:10},k={className:"import",beginKeywords:"import",end:"$",keywords:{keyword:"import",module:b},relevance:0,contains:[g]},l={className:"function",begin:"[a-z].*->"};return{aliases:["tao"],lexemes:/[a-zA-Z][a-zA-Z0-9_?]*/,keywords:c,contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,g,h,i,l,k,d,e,f,j,a.NUMBER_MODE]}}),a.registerLanguage("xquery",function(a){var b="for let if while then else return where group by xquery encoding versionmodule namespace boundary-space preserve strip default collation base-uri orderingcopy-namespaces order declare import schema namespace function option in allowing emptyat tumbling window sliding window start when only end when previous next stable ascendingdescending empty greatest least some every satisfies switch case typeswitch try catch andor to union intersect instance of treat as castable cast map array delete insert intoreplace value rename copy modify update",c="false true xs:string xs:integer element item xs:date xs:datetime xs:float xs:double xs:decimal QName xs:anyURI xs:long xs:int xs:short xs:byte attribute",d={className:"variable",begin:/\$[a-zA-Z0-9\-]+/,relevance:5},e={className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},f={className:"string",variants:[{begin:/"/,end:/"/,contains:[{begin:/""/,relevance:0}]},{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]}]},g={className:"decorator",begin:"%\\w+"},h={className:"comment",begin:"\\(:",end:":\\)",relevance:10,contains:[{className:"doc",begin:"@\\w+"}]},i={begin:"{",end:"}"},j=[d,f,e,h,g,i];return i.contains=j,{aliases:["xpath","xq"],case_insensitive:!1,lexemes:/[a-zA-Z\$][a-zA-Z0-9_:\-]*/,illegal:/(proc)|(abstract)|(extends)|(until)|(#)/,keywords:{keyword:b,literal:c},contains:j}}),a.registerLanguage("zephir",function(a){var b={className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:'b"',end:'"'},{begin:"b'",end:"'"},a.inherit(a.APOS_STRING_MODE,{illegal:null}),a.inherit(a.QUOTE_STRING_MODE,{illegal:null})]},c={variants:[a.BINARY_NUMBER_MODE,a.C_NUMBER_MODE]};return{aliases:["zep"],case_insensitive:!0,keywords:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var let while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally int uint long ulong char uchar double float bool boolean stringlikely unlikely",contains:[a.C_LINE_COMMENT_MODE,a.HASH_COMMENT_MODE,a.COMMENT("/\\*","\\*/",{contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),a.COMMENT("__halt_compiler.+?;",!1,{endsWithParent:!0,keywords:"__halt_compiler",lexemes:a.UNDERSCORE_IDENT_RE}),{className:"string",begin:"<<<['\"]?\\w+['\"]?$",end:"^\\w+;",contains:[a.BACKSLASH_ESCAPE]},{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",beginKeywords:"function",end:/[;{]/,excludeEnd:!0,illegal:"\\$|\\[|%",contains:[a.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",contains:["self",a.C_BLOCK_COMMENT_MODE,b,c]}]},{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,illegal:/[:\(\$"]/,contains:[{beginKeywords:"extends implements"},a.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",end:";",illegal:/[\.']/,contains:[a.UNDERSCORE_TITLE_MODE]},{beginKeywords:"use",end:";",contains:[a.UNDERSCORE_TITLE_MODE]},{begin:"=>"},b,c]}}),a}),function(){"use strict";angular.module("ui.grid.i18n",[]),angular.module("ui.grid",["ui.grid.i18n"])}(),function(){"use strict";angular.module("ui.grid").constant("uiGridConstants",{LOG_DEBUG_MESSAGES:!0,LOG_WARN_MESSAGES:!0,LOG_ERROR_MESSAGES:!0,CUSTOM_FILTERS:/CUSTOM_FILTERS/g,COL_FIELD:/COL_FIELD/g,MODEL_COL_FIELD:/MODEL_COL_FIELD/g,TOOLTIP:/title=\"TOOLTIP\"/g,DISPLAY_CELL_TEMPLATE:/DISPLAY_CELL_TEMPLATE/g,TEMPLATE_REGEXP:/<.+>/,FUNC_REGEXP:/(\([^)]*\))?$/,DOT_REGEXP:/\./g,APOS_REGEXP:/'/g,BRACKET_REGEXP:/^(.*)((?:\s*\[\s*\d+\s*\]\s*)|(?:\s*\[\s*"(?:[^"\\]|\\.)*"\s*\]\s*)|(?:\s*\[\s*'(?:[^'\\]|\\.)*'\s*\]\s*))(.*)$/,COL_CLASS_PREFIX:"ui-grid-col",events:{GRID_SCROLL:"uiGridScroll",COLUMN_MENU_SHOWN:"uiGridColMenuShown",ITEM_DRAGGING:"uiGridItemDragStart",COLUMN_HEADER_CLICK:"uiGridColumnHeaderClick"},keymap:{TAB:9,STRG:17,CAPSLOCK:20,CTRL:17,CTRLRIGHT:18,CTRLR:18,SHIFT:16,RETURN:13,ENTER:13,BACKSPACE:8,BCKSP:8,ALT:18,ALTR:17,ALTRIGHT:17,SPACE:32,WIN:91,MAC:91,FN:null,PG_UP:33,PG_DOWN:34,UP:38,DOWN:40,LEFT:37,RIGHT:39,ESC:27,DEL:46,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123},ASC:"asc",DESC:"desc",filter:{STARTS_WITH:2,ENDS_WITH:4,EXACT:8,CONTAINS:16,GREATER_THAN:32,GREATER_THAN_OR_EQUAL:64,LESS_THAN:128,LESS_THAN_OR_EQUAL:256,NOT_EQUAL:512,SELECT:"select",INPUT:"input"},aggregationTypes:{sum:2,count:4,avg:8,min:16,max:32},CURRENCY_SYMBOLS:["ƒ","$","£","$","¤","¥","៛","₩","₱","฿","₫"],scrollDirection:{UP:"up",DOWN:"down",LEFT:"left",RIGHT:"right",NONE:"none"},dataChange:{ALL:"all",EDIT:"edit",ROW:"row",COLUMN:"column",OPTIONS:"options"},scrollbars:{NEVER:0,ALWAYS:1}})}(),angular.module("ui.grid").directive("uiGridCell",["$compile","$parse","gridUtil","uiGridConstants",function(a,b,c,d){var e={priority:0,scope:!1,require:"?^uiGrid",compile:function(){return{pre:function(b,e,f,g){function h(){var a=b.col.compiledElementFn;a(b,function(a,b){e.append(a)})}if(g&&b.col.compiledElementFn)h();else if(g&&!b.col.compiledElementFn)b.col.getCompiledElementFn().then(function(a){a(b,function(a,b){e.append(a)})});else{var i=b.col.cellTemplate.replace(d.MODEL_COL_FIELD,"row.entity."+c.preEval(b.col.field)).replace(d.COL_FIELD,"grid.getCellValue(row, col)"),j=a(i)(b);e.append(j)}},post:function(a,b,c,e){var f=a.col.getColClass(!1);b.addClass(f);var g,h=function(c){var d=b;g&&(d.removeClass(g),g=null),g=angular.isFunction(a.col.cellClass)?a.col.cellClass(a.grid,a.row,a.col,a.rowRenderIndex,a.colRenderIndex):a.col.cellClass,d.addClass(g)};a.col.cellClass&&h();var i=a.grid.registerDataChangeCallback(h,[d.dataChange.COLUMN,d.dataChange.EDIT]),j=function(c,d){if(c!==d){(g||a.col.cellClass)&&h();var e=a.col.getColClass(!1);e!==f&&(b.removeClass(f),b.addClass(e),f=e)}},k=a.$watch("row",j),l=function(){i(),k()};a.$on("$destroy",l),b.on("$destroy",l)}}}};return e}]),function(){angular.module("ui.grid").service("uiGridColumnMenuService",["i18nService","uiGridConstants","gridUtil",function(a,b,c){var d={initialize:function(a,b){a.grid=b.grid,b.columnMenuScope=a,a.menuShown=!1},setColMenuItemWatch:function(a){var b=a.$watch("col.menuItems",function(b,c){"undefined"!=typeof b&&b&&angular.isArray(b)?(b.forEach(function(b){"undefined"!=typeof b.context&&b.context||(b.context={}),b.context.col=a.col}),a.menuItems=a.defaultMenuItems.concat(b)):a.menuItems=a.defaultMenuItems});a.$on("$destroy",b)},sortable:function(a){return a.grid.options.enableSorting&&"undefined"!=typeof a.col&&a.col&&a.col.enableSorting?!0:!1},isActiveSort:function(a,b){return"undefined"!=typeof a.col&&"undefined"!=typeof a.col.sort&&"undefined"!=typeof a.col.sort.direction&&a.col.sort.direction===b},suppressRemoveSort:function(a){return a.col&&a.col.suppressRemoveSort?!0:!1},hideable:function(a){return"undefined"!=typeof a.col&&a.col&&a.col.colDef&&a.col.colDef.enableHiding===!1?!1:!0},getDefaultMenuItems:function(c){return[{title:a.getSafeText("sort.ascending"),icon:"ui-grid-icon-sort-alt-up",action:function(a){a.stopPropagation(),c.sortColumn(a,b.ASC)},shown:function(){return d.sortable(c)},active:function(){return d.isActiveSort(c,b.ASC)}},{title:a.getSafeText("sort.descending"),icon:"ui-grid-icon-sort-alt-down",action:function(a){a.stopPropagation(),c.sortColumn(a,b.DESC)},shown:function(){return d.sortable(c)},active:function(){return d.isActiveSort(c,b.DESC)}},{title:a.getSafeText("sort.remove"),icon:"ui-grid-icon-cancel",action:function(a){a.stopPropagation(),c.unsortColumn()},shown:function(){return d.sortable(c)&&"undefined"!=typeof c.col&&"undefined"!=typeof c.col.sort&&"undefined"!=typeof c.col.sort.direction&&null!==c.col.sort.direction&&!d.suppressRemoveSort(c)}},{title:a.getSafeText("column.hide"),icon:"ui-grid-icon-cancel",shown:function(){return d.hideable(c)},action:function(a){a.stopPropagation(),c.hideColumn()}},{title:a.getSafeText("columnMenu.close"),screenReaderOnly:!0,shown:function(){return!0},action:function(a){a.stopPropagation()}}]},getColumnElementPosition:function(a,b,d){var e={};return e.left=d[0].offsetLeft,e.top=d[0].offsetTop,e.parentLeft=d[0].offsetParent.offsetLeft,e.offset=0,b.grid.options.offsetLeft&&(e.offset=b.grid.options.offsetLeft),e.height=c.elementHeight(d,!0),e.width=c.elementWidth(d,!0),e},repositionMenu:function(a,b,d,e,f){var g=e[0].querySelectorAll(".ui-grid-menu"),h=b.renderContainer?b.renderContainer:"body",i=(b.grid.renderContainers[h],c.closestElm(f,".ui-grid-render-container")),j=i.getBoundingClientRect().left-a.grid.element[0].getBoundingClientRect().left,k=i.querySelectorAll(".ui-grid-viewport")[0].scrollLeft,l=b.lastMenuWidth?b.lastMenuWidth:a.lastMenuWidth?a.lastMenuWidth:170,m=b.lastMenuPaddingRight?b.lastMenuPaddingRight:a.lastMenuPaddingRight?a.lastMenuPaddingRight:10;if(0!==g.length){var n=g[0].querySelectorAll(".ui-grid-menu-mid");0===n.length||angular.element(n).hasClass("ng-hide")||(l=c.elementWidth(g,!0),a.lastMenuWidth=l,b.lastMenuWidth=l,m=parseInt(c.getStyles(angular.element(g)[0]).paddingRight,10),a.lastMenuPaddingRight=m,b.lastMenuPaddingRight=m)}var o=d.left+j-k+d.parentLeft+d.width-l+m;o<d.offset&&(o=d.offset),e.css("left",o+"px"),e.css("top",d.top+d.height+"px")}};return d}]).directive("uiGridColumnMenu",["$timeout","gridUtil","uiGridConstants","uiGridColumnMenuService","$document",function(a,b,c,d,e){var f={priority:0,scope:!0,require:"^uiGrid",templateUrl:"ui-grid/uiGridColumnMenu",replace:!0,link:function(f,g,h,i){var j=this;d.initialize(f,i),f.defaultMenuItems=d.getDefaultMenuItems(f),f.menuItems=f.defaultMenuItems,d.setColMenuItemWatch(f),f.showMenu=function(a,b,c){f.col=a;var e=d.getColumnElementPosition(f,a,b);f.menuShown?(f.colElement=b,f.colElementPosition=e,f.hideThenShow=!0,f.$broadcast("hide-menu",{originalEvent:c})):(j.shown=f.menuShown=!0,d.repositionMenu(f,a,e,g,b),f.colElement=b,f.colElementPosition=e,f.$broadcast("show-menu",{originalEvent:c}))},f.hideMenu=function(a){f.menuShown=!1,a||f.$broadcast("hide-menu")},f.$on("menu-hidden",function(){f.hideThenShow?(delete f.hideThenShow,d.repositionMenu(f,f.col,f.colElementPosition,g,f.colElement),f.$broadcast("show-menu"),f.menuShown=!0):(f.hideMenu(!0),f.col&&b.focus.bySelector(e,".ui-grid-header-cell."+f.col.getColClass()+" .ui-grid-column-menu-button",f.col.grid,!1))}),f.$on("menu-shown",function(){a(function(){d.repositionMenu(f,f.col,f.colElementPosition,g,f.colElement),delete f.colElementPosition,delete f.columnElement},200)}),f.sortColumn=function(a,b){a.stopPropagation(),f.grid.sortColumn(f.col,b,!0).then(function(){f.grid.refresh(),f.hideMenu()})},f.unsortColumn=function(){f.col.unsort(),f.grid.refresh(),f.hideMenu()};var k=function(){a(function(){var a,c=function(){return b.focus.byId("grid-menu",f.grid)};f.grid.columns.some(function(b,c){return angular.equals(b,f.col)?(a=c,!0):void 0});var d;if(f.grid.columns.some(function(b,c){if(!b.visible)return!1;if(a>c)d=b;else{if(c>a&&!d)return d=b,!0;if(c>a&&d)return!0}}),d){var g=d.getColClass();b.focus.bySelector(e,".ui-grid-header-cell."+g+" .ui-grid-header-cell-primary-focus",!0).then(angular.noop,function(a){return"canceled"!==a?c():void 0})}else c()})};f.hideColumn=function(){f.col.colDef.visible=!1,f.col.visible=!1,f.grid.queueGridRefresh(),f.hideMenu(),f.grid.api.core.notifyDataChange(c.dataChange.COLUMN),f.grid.api.core.raise.columnVisibilityChanged(f.col),k()}},controller:["$scope",function(a){var b=this;a.$watch("menuItems",function(a,c){b.menuItems=a})}]};return f}])}(),function(){"use strict";angular.module("ui.grid").directive("uiGridFilter",["$compile","$templateCache","i18nService","gridUtil",function(a,b,c,d){return{compile:function(){return{pre:function(b,c,d,e){b.col.updateFilters=function(d){if(c.children().remove(),d){var e=b.col.filterHeaderTemplate;c.append(a(e)(b))}},b.$on("$destroy",function(){delete b.col.updateFilters})},post:function(a,b,e,f){a.aria=c.getSafeText("headerCell.aria"),a.removeFilter=function(a,c){a.term=null,d.focus.bySelector(b,".ui-grid-filter-input-"+c)}}}}}}])}(),function(){"use strict";angular.module("ui.grid").directive("uiGridFooterCell",["$timeout","gridUtil","uiGridConstants","$compile",function(a,b,c,d){var e={priority:0,scope:{col:"=",row:"=",renderIndex:"="},replace:!0,require:"^uiGrid",compile:function(a,b,e){return{pre:function(a,b,c,e){var f=d(a.col.footerCellTemplate)(a);b.append(f)},post:function(a,b,d,e){a.grid=e.grid;var f=a.col.getColClass(!1);b.addClass(f);var g,h=function(c){var d=b;g&&(d.removeClass(g),g=null),g=angular.isFunction(a.col.footerCellClass)?a.col.footerCellClass(a.grid,a.row,a.col,a.rowRenderIndex,a.colRenderIndex):a.col.footerCellClass,d.addClass(g)};a.col.footerCellClass&&h(),a.col.updateAggregationValue();var i=a.grid.registerDataChangeCallback(h,[c.dataChange.COLUMN]);a.grid.api.core.on.rowsRendered(a,a.col.updateAggregationValue),a.grid.api.core.on.rowsRendered(a,h),a.$on("$destroy",i)}}}};return e}])}(),function(){"use strict";angular.module("ui.grid").directive("uiGridFooter",["$templateCache","$compile","uiGridConstants","gridUtil","$timeout",function(a,b,c,d,e){return{restrict:"EA",replace:!0,require:["^uiGrid","^uiGridRenderContainer"],scope:!0,compile:function(a,c){return{pre:function(a,c,e,f){var g=f[0],h=f[1];a.grid=g.grid,a.colContainer=h.colContainer,h.footer=c;var i=a.grid.options.footerTemplate;d.getTemplate(i).then(function(d){var e=angular.element(d),f=b(e)(a);if(c.append(f),h){var g=c[0].getElementsByClassName("ui-grid-footer-viewport")[0];g&&(h.footerViewport=g)}})},post:function(a,b,c,e){var f=e[0],g=e[1];f.grid;d.disableAnimations(b),g.footer=b;var h=b[0].getElementsByClassName("ui-grid-footer-viewport")[0];h&&(g.footerViewport=h)}}}}}])}(),function(){"use strict";angular.module("ui.grid").directive("uiGridGridFooter",["$templateCache","$compile","uiGridConstants","gridUtil","$timeout",function(a,b,c,d,e){return{restrict:"EA",replace:!0,require:"^uiGrid",scope:!0,compile:function(a,c){return{pre:function(a,c,e,f){a.grid=f.grid;var g=a.grid.options.gridFooterTemplate;d.getTemplate(g).then(function(d){var e=angular.element(d),f=b(e)(a);c.append(f)})},post:function(a,b,c,d){}}}}}])}(),function(){"use strict";angular.module("ui.grid").directive("uiGridGroupPanel",["$compile","uiGridConstants","gridUtil",function(a,b,c){var d="ui-grid/ui-grid-group-panel";return{restrict:"EA",replace:!0,require:"?^uiGrid",scope:!1,compile:function(b,e){return{pre:function(b,e,f,g){var h=b.grid.options.groupPanelTemplate||d;c.getTemplate(h).then(function(c){var d=angular.element(c),f=a(d)(b);e.append(f)})},post:function(a,b,c,d){b.bind("$destroy",function(){})}}}}}])}(),function(){"use strict";angular.module("ui.grid").directive("uiGridHeaderCell",["$compile","$timeout","$window","$document","gridUtil","uiGridConstants","ScrollEvent","i18nService",function(a,b,c,d,e,f,g,h){var i=500,j=500,k={priority:0,scope:{col:"=",row:"=",renderIndex:"="},require:["^uiGrid","^uiGridRenderContainer"],replace:!0,compile:function(){return{pre:function(b,c,d){var e=a(b.col.headerCellTemplate)(b);c.append(e)},post:function(a,c,e,g){var k=g[0],l=g[1];a.i18n={headerCell:h.getSafeText("headerCell"),sort:h.getSafeText("sort")},a.getSortDirectionAriaLabel=function(){var b=a.col,c=b.sort.direction===f.ASC?a.i18n.sort.ascending:b.sort.direction===f.DESC?a.i18n.sort.descending:a.i18n.sort.none,d=c;return b.sort.priority&&(d=d+". "+a.i18n.headerCell.priority+" "+b.sort.priority),d},a.grid=k.grid,a.renderContainer=k.grid.renderContainers[l.containerId];var m=a.col.getColClass(!1);c.addClass(m),a.menuShown=!1,a.asc=f.ASC,a.desc=f.DESC;var n,o,p=(angular.element(c[0].querySelectorAll(".ui-grid-header-cell-menu")),angular.element(c[0].querySelectorAll(".ui-grid-cell-contents"))),q=[];a.downFn=function(e){e.stopPropagation(),"undefined"!=typeof e.originalEvent&&void 0!==e.originalEvent&&(e=e.originalEvent),e.button&&0!==e.button||(o=e.pageX,a.mousedownStartTime=(new Date).getTime(),a.mousedownTimeout=b(function(){},i),a.mousedownTimeout.then(function(){a.colMenu&&k.columnMenuScope.showMenu(a.col,c,e)}),k.fireEvent(f.events.COLUMN_HEADER_CLICK,{event:e,columnName:a.col.colDef.name}),a.offAllEvents(),"touchstart"===e.type?(d.on("touchend",a.upFn),d.on("touchmove",a.moveFn)):"mousedown"===e.type&&(d.on("mouseup",a.upFn),d.on("mousemove",a.moveFn)))},a.upFn=function(c){c.stopPropagation(),b.cancel(a.mousedownTimeout),a.offAllEvents(),a.onDownEvents(c.type);var d=(new Date).getTime(),e=d-a.mousedownStartTime;e>i||a.sortable&&a.handleClick(c)},a.moveFn=function(c){var d=c.pageX-o;0!==d&&(b.cancel(a.mousedownTimeout),a.offAllEvents(),a.onDownEvents(c.type))},a.clickFn=function(b){b.stopPropagation(),p.off("click",a.clickFn)},a.offAllEvents=function(){p.off("touchstart",a.downFn),p.off("mousedown",a.downFn),d.off("touchend",a.upFn),d.off("mouseup",a.upFn),d.off("touchmove",a.moveFn),d.off("mousemove",a.moveFn),p.off("click",a.clickFn)},a.onDownEvents=function(c){switch(c){case"touchmove":case"touchend":p.on("click",a.clickFn),p.on("touchstart",a.downFn),b(function(){p.on("mousedown",a.downFn)},j);break;case"mousemove":case"mouseup":p.on("click",a.clickFn),p.on("mousedown",a.downFn),b(function(){p.on("touchstart",a.downFn)},j);break;default:p.on("click",a.clickFn),p.on("touchstart",a.downFn),p.on("mousedown",a.downFn)}};var r=function(b){var d=c;n&&(d.removeClass(n),n=null),n=angular.isFunction(a.col.headerCellClass)?a.col.headerCellClass(a.grid,a.row,a.col,a.rowRenderIndex,a.colRenderIndex):a.col.headerCellClass,d.addClass(n);var e=a.grid.renderContainers.right?a.grid.renderContainers.right:a.grid.renderContainers.body;a.isLastCol=a.col===e.visibleColumnCache[e.visibleColumnCache.length-1],k.grid.options.enableSorting&&a.col.enableSorting?a.sortable=!0:a.sortable=!1;var g=a.filterable;k.grid.options.enableFiltering&&a.col.enableFiltering?a.filterable=!0:a.filterable=!1,g!==a.filterable&&("undefined"!=typeof a.col.updateFilters&&a.col.updateFilters(a.filterable),a.filterable?(a.col.filters.forEach(function(b,c){q.push(a.$watch("col.filters["+c+"].term",function(a,b){a!==b&&(k.grid.api.core.raise.filterChanged(),k.grid.api.core.notifyDataChange(f.dataChange.COLUMN),k.grid.queueGridRefresh())}))}),a.$on("$destroy",function(){q.forEach(function(a){a()})})):q.forEach(function(a){a()})),a.col.grid.options&&a.col.grid.options.enableColumnMenus!==!1&&a.col.colDef&&a.col.colDef.enableColumnMenu!==!1?a.colMenu=!0:a.colMenu=!1,a.offAllEvents(),(a.sortable||a.colMenu)&&(a.onDownEvents(),a.$on("$destroy",function(){a.offAllEvents()}))};r();var s=a.grid.registerDataChangeCallback(r,[f.dataChange.COLUMN]);a.$on("$destroy",s),a.handleClick=function(b){var c=!1;b.shiftKey&&(c=!0),k.grid.sortColumn(a.col,c).then(function(){k.columnMenuScope&&k.columnMenuScope.hideMenu(),k.grid.refresh()})},a.toggleMenu=function(b){b.stopPropagation(),k.columnMenuScope.menuShown&&k.columnMenuScope.col===a.col?k.columnMenuScope.hideMenu():k.columnMenuScope.showMenu(a.col,c)}}}}};return k}])}(),function(){"use strict";angular.module("ui.grid").directive("uiGridHeader",["$templateCache","$compile","uiGridConstants","gridUtil","$timeout","ScrollEvent",function(a,b,c,d,e,f){var g="ui-grid/ui-grid-header",h="ui-grid/ui-grid-no-header";return{restrict:"EA",replace:!0,require:["^uiGrid","^uiGridRenderContainer"],scope:!0,compile:function(a,c){return{pre:function(a,c,e,i){function j(){m.header=m.colContainer.header=c;var a=c[0].getElementsByClassName("ui-grid-header-canvas");a.length>0?m.headerCanvas=m.colContainer.headerCanvas=a[0]:m.headerCanvas=null}function k(a){if(!l.grid.isScrollingHorizontally){var b=d.normalizeScrollLeft(m.headerViewport,l.grid),c=m.colContainer.scrollHorizontal(b),e=new f(l.grid,null,m.colContainer,f.Sources.ViewPortScroll);e.newScrollLeft=b,c>-1&&(e.x={percentage:c}),l.grid.scrollContainers(null,e)}}var l=i[0],m=i[1];a.grid=l.grid,a.colContainer=m.colContainer,j();var n;n=a.grid.options.showHeader?a.grid.options.headerTemplate?a.grid.options.headerTemplate:g:h,d.getTemplate(n).then(function(d){var e=angular.element(d),f=b(e)(a);if(c.replaceWith(f),c=f,j(),m){var g=c[0].getElementsByClassName("ui-grid-header-viewport")[0];g&&(m.headerViewport=g,angular.element(g).on("scroll",k),a.$on("$destroy",function(){angular.element(g).off("scroll",k)}))}a.grid.queueRefresh()})},post:function(a,b,c,e){function f(){var a=h.colContainer.visibleColumnCache,b="",c=0;return a.forEach(function(a){b+=a.getColClassDefinition(),c+=a.drawnWidth}),h.colContainer.canvasWidth=c,b}var g=e[0],h=e[1];g.grid;d.disableAnimations(b),h.header=b;var i=b[0].getElementsByClassName("ui-grid-header-viewport")[0];i&&(h.headerViewport=i),g&&g.grid.registerStyleComputation({priority:15,func:f})}}}}}])}(),function(){angular.module("ui.grid").service("uiGridGridMenuService",["gridUtil","i18nService","uiGridConstants",function(a,b,c){var d={initialize:function(a,b){b.gridMenuScope=a,a.grid=b,a.registeredMenuItems=[],a.$on("$destroy",function(){a.grid&&a.grid.gridMenuScope&&(a.grid.gridMenuScope=null),a.grid&&(a.grid=null),a.registeredMenuItems&&(a.registeredMenuItems=null)}),a.registeredMenuItems=[],b.api.registerMethod("core","addToGridMenu",d.addToGridMenu),b.api.registerMethod("core","removeFromGridMenu",d.removeFromGridMenu)},addToGridMenu:function(b,c){angular.isArray(c)?b.gridMenuScope?(b.gridMenuScope.registeredMenuItems=b.gridMenuScope.registeredMenuItems?b.gridMenuScope.registeredMenuItems:[],b.gridMenuScope.registeredMenuItems=b.gridMenuScope.registeredMenuItems.concat(c)):a.logError("Asked to addToGridMenu, but gridMenuScope not present.  Timing issue?  Please log issue with ui-grid"):a.logError("addToGridMenu: menuItems must be an array, and is not, not adding any items")},removeFromGridMenu:function(b,c){var d=-1;b&&b.gridMenuScope&&b.gridMenuScope.registeredMenuItems.forEach(function(b,e){b.id===c&&(d>-1?a.logError("removeFromGridMenu: found multiple items with the same id, removing only the last"):d=e)}),d>-1&&b.gridMenuScope.registeredMenuItems.splice(d,1)},getMenuItems:function(c){var e=[];c.grid.options.gridMenuCustomItems&&(angular.isArray(c.grid.options.gridMenuCustomItems)?e=e.concat(c.grid.options.gridMenuCustomItems):a.logError("gridOptions.gridMenuCustomItems must be an array, and is not"));var f=[{title:b.getSafeText("gridMenu.clearAllFilters"),action:function(a){c.grid.clearAllFilters(void 0,!0,void 0)},shown:function(){return c.grid.options.enableFiltering},order:100}];return e=e.concat(f),e=e.concat(c.registeredMenuItems),c.grid.options.gridMenuShowHideColumns!==!1&&(e=e.concat(d.showHideColumns(c))),e.sort(function(a,b){return a.order-b.order}),e},showHideColumns:function(a){var c=[];return a.grid.options.columnDefs&&0!==a.grid.options.columnDefs.length&&0!==a.grid.columns.length?(c.push({title:b.getSafeText("gridMenu.columns"),order:300}),a.grid.options.gridMenuTitleFilter=a.grid.options.gridMenuTitleFilter?a.grid.options.gridMenuTitleFilter:function(a){return a},a.grid.options.columnDefs.forEach(function(b,e){if(b.enableHiding!==!1){var f={icon:"ui-grid-icon-ok",action:function(a){a.stopPropagation(),d.toggleColumnVisibility(this.context.gridCol)},shown:function(){return this.context.gridCol.colDef.visible===!0||void 0===this.context.gridCol.colDef.visible},context:{gridCol:a.grid.getColumn(b.name||b.field)},leaveOpen:!0,order:301+2*e};d.setMenuItemTitle(f,b,a.grid),c.push(f),f={icon:"ui-grid-icon-cancel",action:function(a){a.stopPropagation(),d.toggleColumnVisibility(this.context.gridCol)},shown:function(){return!(this.context.gridCol.colDef.visible===!0||void 0===this.context.gridCol.colDef.visible)},context:{gridCol:a.grid.getColumn(b.name||b.field)},leaveOpen:!0,order:301+2*e+1},d.setMenuItemTitle(f,b,a.grid),c.push(f)}}),c):c},setMenuItemTitle:function(b,c,d){var e=d.options.gridMenuTitleFilter(c.displayName||a.readableColumnName(c.name)||c.field);"string"==typeof e?b.title=e:e.then?(b.title="",e.then(function(a){b.title=a},function(a){b.title=a})):(a.logError("Expected gridMenuTitleFilter to return a string or a promise, it has returned neither, bad config"),b.title="badconfig")},toggleColumnVisibility:function(a){a.colDef.visible=!(a.colDef.visible===!0||void 0===a.colDef.visible),a.grid.refresh(),a.grid.api.core.notifyDataChange(c.dataChange.COLUMN),a.grid.api.core.raise.columnVisibilityChanged(a)}};return d}]).directive("uiGridMenuButton",["gridUtil","uiGridConstants","uiGridGridMenuService","i18nService",function(a,b,c,d){return{priority:0,scope:!0,require:["^uiGrid"],templateUrl:"ui-grid/ui-grid-menu-button",replace:!0,link:function(b,e,f,g){var h=g[0];b.i18n={aria:d.getSafeText("gridMenu.aria")},c.initialize(b,h.grid),b.shown=!1,b.toggleMenu=function(){b.shown?(b.$broadcast("hide-menu"),b.shown=!1):(b.menuItems=c.getMenuItems(b),b.$broadcast("show-menu"),b.shown=!0)},b.$on("menu-hidden",function(){b.shown=!1,a.focus.bySelector(e,".ui-grid-icon-container")})}}}])}(),function(){angular.module("ui.grid").directive("uiGridMenu",["$compile","$timeout","$window","$document","gridUtil","uiGridConstants","i18nService",function(a,b,c,d,e,f,g){var h={priority:0,scope:{menuItems:"=",autoHide:"=?"},require:"?^uiGrid",templateUrl:"ui-grid/uiGridMenu",replace:!1,link:function(a,d,h,i){var j=this;a.i18n={close:g.getSafeText("columnMenu.close")},j.showMenu=a.showMenu=function(c,f){a.shown?a.shownMid||(a.shownMid=!0,a.$emit("menu-shown")):(a.shown=!0,b(function(){a.shownMid=!0,a.$emit("menu-shown")}));var g="click";f&&f.originalEvent&&f.originalEvent.type&&"touchstart"===f.originalEvent.type&&(g=f.originalEvent.type),angular.element(document).off("click touchstart",k),b(function(){angular.element(document).on(g,k)}),e.focus.bySelector(d,"button[type=button]",!0)},j.hideMenu=a.hideMenu=function(c,d){a.shown&&(a.shownMid=!1,b(function(){a.shownMid||(a.shown=!1,a.$emit("menu-hidden"))},200)),angular.element(document).off("click touchstart",k)},a.$on("hide-menu",function(b,c){a.hideMenu(b,c)}),a.$on("show-menu",function(b,c){a.showMenu(b,c)});var k=function(){a.shown&&a.$apply(function(){a.hideMenu()})};("undefined"==typeof a.autoHide||void 0===a.autoHide)&&(a.autoHide=!0),a.autoHide&&angular.element(c).on("resize",k),a.$on("$destroy",function(){angular.element(document).off("click touchstart",k)}),a.$on("$destroy",function(){angular.element(c).off("resize",k)}),i&&a.$on("$destroy",i.grid.api.core.on.scrollBegin(a,k)),a.$on("$destroy",a.$on(f.events.ITEM_DRAGGING,k))},controller:["$scope","$element","$attrs",function(a,b,c){}]};return h}]).directive("uiGridMenuItem",["gridUtil","$compile","i18nService",function(a,b,c){var d={priority:0,scope:{name:"=",active:"=",action:"=",icon:"=",shown:"=",context:"=",templateUrl:"=",leaveOpen:"=",screenReaderOnly:"="
+},require:["?^uiGrid","^uiGridMenu"],templateUrl:"ui-grid/uiGridMenuItem",replace:!1,compile:function(d,e){return{pre:function(c,d,e,f){f[0],f[1];c.templateUrl&&a.getTemplate(c.templateUrl).then(function(a){var e=angular.element(a),f=b(e)(c);d.replaceWith(f)})},post:function(b,d,e,f){var g=f[0];f[1];("undefined"==typeof b.shown||null===b.shown)&&(b.shown=function(){return!0}),b.itemShown=function(){var a={};return b.context&&(a.context=b.context),"undefined"!=typeof g&&g&&(a.grid=g.grid),b.shown.call(a)},b.itemAction=function(c,e){if(a.logDebug("itemAction"),c.stopPropagation(),"function"==typeof b.action){var f={};b.context&&(f.context=b.context),"undefined"!=typeof g&&g&&(f.grid=g.grid),b.action.call(f,c,e),b.leaveOpen?a.focus.bySelector(angular.element(a.closestElm(d,".ui-grid-menu-items")),"button[type=button]",!0):b.$emit("hide-menu")}},b.i18n=c.get()}}}};return d}])}(),function(){"use strict";var a=angular.module("ui.grid");angular.forEach([{tag:"Src",method:"attr"},{tag:"Text",method:"text"},{tag:"Href",method:"attr"},{tag:"Class",method:"addClass"},{tag:"Html",method:"html"},{tag:"Alt",method:"attr"},{tag:"Style",method:"css"},{tag:"Value",method:"attr"},{tag:"Id",method:"attr"},{tag:"Id",directiveName:"IdGrid",method:"attr",appendGridId:!0},{tag:"Title",method:"attr"},{tag:"Label",method:"attr",aria:!0},{tag:"Labelledby",method:"attr",aria:!0},{tag:"Labelledby",directiveName:"LabelledbyGrid",appendGridId:!0,method:"attr",aria:!0},{tag:"Describedby",method:"attr",aria:!0},{tag:"Describedby",directiveName:"DescribedbyGrid",appendGridId:!0,method:"attr",aria:!0}],function(b){var c="uiGridOneBind",d=(b.aria?c+"Aria":c)+(b.directiveName?b.directiveName:b.tag);a.directive(d,["gridUtil",function(a){return{restrict:"A",require:["?uiGrid","?^uiGrid"],link:function(c,e,f,g){var h=function(b){var e;if(c.grid)e=c.grid;else if(c.col&&c.col.grid)e=c.col.grid;else if(!g.some(function(a){return a&&a.grid?(e=a.grid,!0):void 0}))throw a.logError("["+d+"] A valid grid could not be found to bind id. Are you using this directive within the correct scope? Trying to generate id: [gridID]-"+b),new Error("No valid grid could be found");if(e){var f=new RegExp(e.id.toString());f.test(b)||(b=e.id.toString()+"-"+b)}return b},i=c.$watch(f[d],function(a){if(a){if(b.appendGridId){var c=null;angular.forEach(a.split(" "),function(a){c=(c?c+" ":"")+h(a)}),a=c}switch(b.method){case"attr":b.aria?e[b.method]("aria-"+b.tag.toLowerCase(),a):e[b.method](b.tag.toLowerCase(),a);break;case"addClass":if(angular.isObject(a)&&!angular.isArray(a)){var d=[],f=!1;if(angular.forEach(a,function(a,b){null!==a&&"undefined"!=typeof a&&(f=!0,a&&d.push(b))}),!f)return;a=d}if(!a)return;e.addClass(angular.isArray(a)?a.join(" "):a);break;default:e[b.method](a)}i()}},!0)}}}])})}(),function(){"use strict";var a=angular.module("ui.grid");a.directive("uiGridRenderContainer",["$timeout","$document","uiGridConstants","gridUtil","ScrollEvent",function(a,b,c,d,e){return{replace:!0,transclude:!0,templateUrl:"ui-grid/uiGridRenderContainer",require:["^uiGrid","uiGridRenderContainer"],scope:{containerId:"=",rowContainerName:"=",colContainerName:"=",bindScrollHorizontal:"=",bindScrollVertical:"=",enableVerticalScrollbar:"=",enableHorizontalScrollbar:"="},controller:"uiGridRenderContainer as RenderContainer",compile:function(){return{pre:function(a,b,c,d){var e=d[0],f=d[1],g=a.grid=e.grid;if(!a.rowContainerName)throw"No row render container name specified";if(!a.colContainerName)throw"No column render container name specified";if(!g.renderContainers[a.rowContainerName])throw"Row render container '"+a.rowContainerName+"' is not registered.";if(!g.renderContainers[a.colContainerName])throw"Column render container '"+a.colContainerName+"' is not registered.";var h=a.rowContainer=g.renderContainers[a.rowContainerName],i=a.colContainer=g.renderContainers[a.colContainerName];f.containerId=a.containerId,f.rowContainer=h,f.colContainer=i},post:function(a,b,c,f){function g(){var b="",c=l.canvasWidth,d=l.getViewportWidth(),e=k.getCanvasHeight(),f=k.getViewportHeight();l.needsHScrollbarPlaceholder()&&(f-=j.scrollbarHeight);var g,i;return g=i=l.getHeaderViewportWidth(),b+="\n .grid"+h.grid.id+" .ui-grid-render-container-"+a.containerId+" .ui-grid-canvas { width: "+c+"px; height: "+e+"px; }",b+="\n .grid"+h.grid.id+" .ui-grid-render-container-"+a.containerId+" .ui-grid-header-canvas { width: "+(c+j.scrollbarWidth)+"px; }",b+=o.explicitHeaderCanvasHeight?"\n .grid"+h.grid.id+" .ui-grid-render-container-"+a.containerId+" .ui-grid-header-canvas { height: "+o.explicitHeaderCanvasHeight+"px; }":"\n .grid"+h.grid.id+" .ui-grid-render-container-"+a.containerId+" .ui-grid-header-canvas { height: inherit; }",b+="\n .grid"+h.grid.id+" .ui-grid-render-container-"+a.containerId+" .ui-grid-viewport { width: "+d+"px; height: "+f+"px; }",b+="\n .grid"+h.grid.id+" .ui-grid-render-container-"+a.containerId+" .ui-grid-header-viewport { width: "+g+"px; }",b+="\n .grid"+h.grid.id+" .ui-grid-render-container-"+a.containerId+" .ui-grid-footer-canvas { width: "+(c+j.scrollbarWidth)+"px; }",b+="\n .grid"+h.grid.id+" .ui-grid-render-container-"+a.containerId+" .ui-grid-footer-viewport { width: "+i+"px; }"}var h=f[0],i=f[1],j=h.grid,k=i.rowContainer,l=i.colContainer,m=null,n=null,o=j.renderContainers[a.containerId];b.addClass("ui-grid-render-container-"+a.containerId),d.on.mousewheel(b,function(a){var b=new e(j,k,l,e.Sources.RenderContainerMouseWheel);if(0!==a.deltaY){var c=-1*a.deltaY*a.deltaFactor;m=i.viewport[0].scrollTop,b.verticalScrollLength=k.getVerticalScrollLength();var f=(m+c)/b.verticalScrollLength;f>=1&&m<b.verticalScrollLength&&(i.viewport[0].scrollTop=b.verticalScrollLength),0>f?f=0:f>1&&(f=1),b.y={percentage:f,pixels:c}}if(0!==a.deltaX){var g=a.deltaX*a.deltaFactor;n=d.normalizeScrollLeft(i.viewport,j),b.horizontalScrollLength=l.getCanvasWidth()-l.getViewportWidth();var h=(n+g)/b.horizontalScrollLength;0>h?h=0:h>1&&(h=1),b.x={percentage:h,pixels:g}}0!==a.deltaY&&(b.atTop(m)||b.atBottom(m))||0!==a.deltaX&&(b.atLeft(n)||b.atRight(n))||(a.preventDefault(),a.stopPropagation(),b.fireThrottledScrollingEvent("",b))}),b.bind("$destroy",function(){b.unbind("keydown"),["touchstart","touchmove","touchend","keydown","wheel","mousewheel","DomMouseScroll","MozMousePixelScroll"].forEach(function(a){b.unbind(a)})}),h.grid.registerStyleComputation({priority:6,func:g})}}}}}]),a.controller("uiGridRenderContainer",["$scope","gridUtil",function(a,b){}])}(),function(){"use strict";angular.module("ui.grid").directive("uiGridRow",["gridUtil",function(a){return{replace:!0,require:["^uiGrid","^uiGridRenderContainer"],scope:{row:"=uiGridRow",rowRenderIndex:"="},compile:function(){return{pre:function(a,b,c,d){function e(){a.row.getRowTemplateFn.then(function(c){var d=a.$new();c(d,function(a,c){h&&(h.remove(),i.$destroy()),b.empty().append(a),h=a,i=d})})}var f=d[0],g=d[1];f.grid;a.grid=f.grid,a.colContainer=g.colContainer;var h,i;e(),a.$watch("row.getRowTemplateFn",function(a,b){a!==b&&e()})},post:function(a,b,c,d){}}}}}])}(),function(){angular.module("ui.grid").directive("uiGridStyle",["gridUtil","$interpolate",function(a,b){return{link:function(a,c,d,e){var f=b(c.text(),!0);f&&a.$watch(f,function(a){c.text(a)})}}}])}(),function(){"use strict";angular.module("ui.grid").directive("uiGridViewport",["gridUtil","ScrollEvent","uiGridConstants","$log",function(a,b,c,d){return{replace:!0,scope:{},controllerAs:"Viewport",templateUrl:"ui-grid/uiGridViewport",require:["^uiGrid","^uiGridRenderContainer"],link:function(c,d,e,f){function g(e){var f=d[0].scrollTop,g=a.normalizeScrollLeft(d,p),h=n.scrollVertical(f),i=o.scrollHorizontal(g),j=new b(p,n,o,b.Sources.ViewPortScroll);j.newScrollLeft=g,j.newScrollTop=f,i>-1&&(j.x={percentage:i}),h>-1&&(j.y={percentage:h}),p.scrollContainers(c.$parent.containerId,j)}function h(a){m.prevScrollArgs=a;var b=a.getNewScrollTop(n,m.viewport);d[0].scrollTop=b}function i(b){m.prevScrollArgs=b;var c=b.getNewScrollLeft(o,m.viewport);d[0].scrollLeft=a.denormalizeScrollLeft(m.viewport,c,p)}function j(b){var c=b.getNewScrollLeft(o,m.viewport);m.headerViewport&&(m.headerViewport.scrollLeft=a.denormalizeScrollLeft(m.viewport,c,p))}function k(b){var c=b.getNewScrollLeft(o,m.viewport);m.footerViewport&&(m.footerViewport.scrollLeft=a.denormalizeScrollLeft(m.viewport,c,p))}var l=f[0],m=f[1];c.containerCtrl=m;var n=m.rowContainer,o=m.colContainer,p=l.grid;c.grid=l.grid,c.rowContainer=m.rowContainer,c.colContainer=m.colContainer,m.viewport=d,d.on("scroll",g);c.$parent.bindScrollVertical&&p.addVerticalScrollSync(c.$parent.containerId,h),c.$parent.bindScrollHorizontal&&(p.addHorizontalScrollSync(c.$parent.containerId,i),p.addHorizontalScrollSync(c.$parent.containerId+"header",j),p.addHorizontalScrollSync(c.$parent.containerId+"footer",k))},controller:["$scope",function(a){this.rowStyle=function(b){var c=a.rowContainer,d=a.colContainer,e={};if(0===b&&0!==c.currentTopRow){var f=c.currentTopRow*c.grid.options.rowHeight;e["margin-top"]=f+"px"}return 0!==d.currentFirstColumn&&(d.grid.isRTL()?e["margin-right"]=d.columnOffset+"px":e["margin-left"]=d.columnOffset+"px"),e}}]}}])}(),function(){angular.module("ui.grid").directive("uiGridVisible",function(){return function(a,b,c){a.$watch(c.uiGridVisible,function(a){b[a?"removeClass":"addClass"]("ui-grid-invisible")})}})}(),function(){"use strict";function a(a,b,c,d,e,f){return{templateUrl:"ui-grid/ui-grid",scope:{uiGrid:"="},replace:!0,transclude:!0,controller:"uiGridController",compile:function(){return{post:function(a,b,g,h){function i(){b[0].offsetWidth<=0&&p>q?(setTimeout(i,o),q++):c(k)}function j(){angular.element(d).on("resize",m),b.on("$destroy",function(){angular.element(d).off("resize",m)}),a.$watch(function(){return n.hasLeftContainer()},function(a,b){a!==b&&n.refreshCanvas(!0)}),a.$watch(function(){return n.hasRightContainer()},function(a,b){a!==b&&n.refreshCanvas(!0)})}function k(){n.gridWidth=a.gridWidth=e.elementWidth(b),n.canvasWidth=h.grid.gridWidth,n.gridHeight=a.gridHeight=e.elementHeight(b),n.gridHeight<n.options.rowHeight&&n.options.enableMinHeightCheck&&l(),n.refreshCanvas(!0)}function l(){var c=n.options.minRowsToShow*n.options.rowHeight,d=n.options.showHeader?n.options.headerRowHeight:0,g=n.calcFooterHeight(),h=0;n.options.enableHorizontalScrollbar===f.scrollbars.ALWAYS&&(h=e.getScrollbarWidth());var i=0;if(angular.forEach(n.options.columnDefs,function(a){a.hasOwnProperty("filter")?1>i&&(i=1):a.hasOwnProperty("filters")&&i<a.filters.length&&(i=a.filters.length)}),n.options.enableFiltering){var j=n.options.columnDefs.every(function(a){return a.enableFiltering===!1});j||i++}var k=i*d,l=d+c+g+h+k;b.css("height",l+"px"),n.gridHeight=a.gridHeight=e.elementHeight(b)}function m(c){n.gridWidth=a.gridWidth=e.elementWidth(b),n.gridHeight=a.gridHeight=e.elementHeight(b),n.refreshCanvas(!0)}var n=h.grid;h.scrollbars=[],n.element=b;var o=100,p=20,q=0;j(),k(),n.renderingComplete(),i()}}}}}angular.module("ui.grid").controller("uiGridController",["$scope","$element","$attrs","gridUtil","$q","uiGridConstants","$templateCache","gridClassFactory","$timeout","$parse","$compile",function(a,b,c,d,e,f,g,h,i,j,k){function l(a,b){a&&a!==b&&(n.grid.options.columnDefs=a,n.grid.buildColumns({orderByColumnDefs:!0}).then(function(){n.grid.preCompileCellTemplates(),n.grid.callDataChangeCallbacks(f.dataChange.COLUMN)}))}function m(b){var d=[];if(n.grid.options.fastWatch&&(b=angular.isString(a.uiGrid.data)?n.grid.appScope[a.uiGrid.data]:a.uiGrid.data),b){var g=n.grid.columns.length>(n.grid.rowHeaderColumns?n.grid.rowHeaderColumns.length:0);!g&&!c.uiGridColumns&&0===n.grid.options.columnDefs.length&&b.length>0&&n.grid.buildColumnDefsFromData(b),!g&&(n.grid.options.columnDefs.length>0||b.length>0)&&d.push(n.grid.buildColumns().then(function(){n.grid.preCompileCellTemplates()})),e.all(d).then(function(){n.grid.modifyRows(b).then(function(){n.grid.redrawInPlace(!0),a.$evalAsync(function(){n.grid.refreshCanvas(!0),n.grid.callDataChangeCallbacks(f.dataChange.ROW)})})})}}var n=this;n.grid=h.createGrid(a.uiGrid),n.grid.appScope=n.grid.appScope||a.$parent,b.addClass("grid"+n.grid.id),n.grid.rtl="rtl"===d.getStyles(b[0]).direction,a.grid=n.grid,c.uiGridColumns&&c.$observe("uiGridColumns",function(a){n.grid.options.columnDefs=a,n.grid.buildColumns().then(function(){n.grid.preCompileCellTemplates(),n.grid.refreshCanvas(!0)})});var o=[];n.grid.options.fastWatch?(n.uiGrid=a.uiGrid,angular.isString(a.uiGrid.data)?(o.push(a.$parent.$watch(a.uiGrid.data,m)),o.push(a.$parent.$watch(function(){return n.grid.appScope[a.uiGrid.data]?n.grid.appScope[a.uiGrid.data].length:void 0},m))):(o.push(a.$parent.$watch(function(){return a.uiGrid.data},m)),o.push(a.$parent.$watch(function(){return a.uiGrid.data.length},m))),o.push(a.$parent.$watch(function(){return a.uiGrid.columnDefs},l)),o.push(a.$parent.$watch(function(){return a.uiGrid.columnDefs.length},l))):(angular.isString(a.uiGrid.data)?o.push(a.$parent.$watchCollection(a.uiGrid.data,m)):o.push(a.$parent.$watchCollection(function(){return a.uiGrid.data},m)),o.push(a.$parent.$watchCollection(function(){return a.uiGrid.columnDefs},l)));var p=a.$watch(function(){return n.grid.styleComputations},function(){n.grid.refreshCanvas(!0)});a.$on("$destroy",function(){o.forEach(function(a){a()}),p()}),n.fireEvent=function(b,c){("undefined"==typeof c||void 0===c)&&(c={}),("undefined"==typeof c.grid||void 0===c.grid)&&(c.grid=n.grid),a.$broadcast(b,c)},n.innerCompile=function(b){k(b)(a)}}]),angular.module("ui.grid").directive("uiGrid",a),a.$inject=["$compile","$templateCache","$timeout","$window","gridUtil","uiGridConstants"]}(),function(){"use strict";angular.module("ui.grid").directive("uiGridPinnedContainer",["gridUtil",function(a){return{restrict:"EA",replace:!0,template:'<div class="ui-grid-pinned-container"><div ui-grid-render-container container-id="side" row-container-name="\'body\'" col-container-name="side" bind-scroll-vertical="true" class="{{ side }} ui-grid-render-container-{{ side }}"></div></div>',scope:{side:"=uiGridPinnedContainer"},require:"^uiGrid",compile:function(){return{post:function(a,b,c,d){function e(){var a=this,b=0;a.visibleColumnCache.forEach(function(a){b+=a.drawnWidth});var c=a.getViewportAdjustment();return b+=c.width}function f(){if("left"===a.side||"right"===a.side){for(var b=h.renderContainers[a.side].visibleColumnCache,c=0,d=0;d<b.length;d++){var e=b[d];c+=e.drawnWidth||e.width||0}return c}}function g(){var c="";return("left"===a.side||"right"===a.side)&&(i=f(),b.attr("style",null),c+=".grid"+h.id+" .ui-grid-pinned-container-"+a.side+", .grid"+h.id+" .ui-grid-pinned-container-"+a.side+" .ui-grid-render-container-"+a.side+" .ui-grid-viewport { width: "+i+"px; } "),c}var h=d.grid,i=0;b.addClass("ui-grid-pinned-container-"+a.side),("left"===a.side||"right"===a.side)&&(h.renderContainers[a.side].getViewportWidth=e),h.renderContainers.body.registerViewportAdjuster(function(b){return i=f(),b.width-=i,b.side=a.side,b}),h.registerStyleComputation({priority:15,func:g})}}}}}])}(),function(){angular.module("ui.grid").factory("Grid",["$q","$compile","$parse","gridUtil","uiGridConstants","GridOptions","GridColumn","GridRow","GridApi","rowSorter","rowSearcher","GridRenderContainer","$timeout","ScrollEvent",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){function o(){}var p=function(a){function b(a){g.isScrollingVertically=!1,g.api.core.raise.scrollEnd(a),g.scrollDirection=e.scrollDirection.NONE}function c(a){g.isScrollingHorizontally=!1,g.api.core.raise.scrollEnd(a),g.scrollDirection=e.scrollDirection.NONE}var g=this;if(void 0===a||"undefined"==typeof a.id||!a.id)throw new Error("No ID provided. An ID must be given when creating a grid.");if(!/^[_a-zA-Z0-9-]+$/.test(a.id))throw new Error("Grid id '"+a.id+'" is invalid. It must follow CSS selector syntax rules.');g.id=a.id,delete a.id,g.options=f.initialize(a),g.appScope=g.options.appScopeProvider,g.headerHeight=g.options.headerRowHeight,g.footerHeight=g.calcFooterHeight(),g.columnFooterHeight=g.calcColumnFooterHeight(),g.rtl=!1,g.gridHeight=0,g.gridWidth=0,g.columnBuilders=[],g.rowBuilders=[],g.rowsProcessors=[],g.columnsProcessors=[],g.styleComputations=[],g.viewportAdjusters=[],g.rowHeaderColumns=[],g.dataChangeCallbacks={},g.verticalScrollSyncCallBackFns={},g.horizontalScrollSyncCallBackFns={},g.renderContainers={},g.renderContainers.body=new l("body",g),g.cellValueGetterCache={},g.getRowTemplateFn=null,g.rows=[],g.columns=[],g.isScrollingVertically=!1,g.isScrollingHorizontally=!1,g.scrollDirection=e.scrollDirection.NONE,g.disableScrolling=!1;var h=d.debounce(b,g.options.scrollDebounce),k=d.debounce(b,0),m=d.debounce(c,g.options.scrollDebounce),n=d.debounce(c,0);g.flagScrollingVertically=function(a){g.isScrollingVertically||g.isScrollingHorizontally||g.api.core.raise.scrollBegin(a),g.isScrollingVertically=!0,0!==g.options.scrollDebounce&&a.withDelay?h(a):k(a)},g.flagScrollingHorizontally=function(a){g.isScrollingVertically||g.isScrollingHorizontally||g.api.core.raise.scrollBegin(a),g.isScrollingHorizontally=!0,0!==g.options.scrollDebounce&&a.withDelay?m(a):n(a)},g.scrollbarHeight=0,g.scrollbarWidth=0,g.options.enableHorizontalScrollbar===e.scrollbars.ALWAYS&&(g.scrollbarHeight=d.getScrollbarWidth()),g.options.enableVerticalScrollbar===e.scrollbars.ALWAYS&&(g.scrollbarWidth=d.getScrollbarWidth()),g.api=new i(g),g.api.registerMethod("core","refresh",this.refresh),g.api.registerMethod("core","queueGridRefresh",this.queueGridRefresh),g.api.registerMethod("core","refreshRows",this.refreshRows),g.api.registerMethod("core","queueRefresh",this.queueRefresh),g.api.registerMethod("core","handleWindowResize",this.handleWindowResize),g.api.registerMethod("core","addRowHeaderColumn",this.addRowHeaderColumn),g.api.registerMethod("core","scrollToIfNecessary",function(a,b){return g.scrollToIfNecessary(a,b)}),g.api.registerMethod("core","scrollTo",function(a,b){return g.scrollTo(a,b)}),g.api.registerMethod("core","registerRowsProcessor",this.registerRowsProcessor),g.api.registerMethod("core","registerColumnsProcessor",this.registerColumnsProcessor),g.api.registerMethod("core","sortHandleNulls",j.handleNulls),g.api.registerEvent("core","sortChanged"),g.api.registerEvent("core","columnVisibilityChanged"),g.api.registerMethod("core","notifyDataChange",this.notifyDataChange),g.api.registerMethod("core","clearAllFilters",this.clearAllFilters),g.registerDataChangeCallback(g.columnRefreshCallback,[e.dataChange.COLUMN]),g.registerDataChangeCallback(g.processRowsCallback,[e.dataChange.EDIT]),g.registerDataChangeCallback(g.updateFooterHeightCallback,[e.dataChange.OPTIONS]),g.registerStyleComputation({priority:10,func:g.getFooterStyles})};return p.prototype.calcFooterHeight=function(){if(!this.hasFooter())return 0;var a=0;return this.options.showGridFooter&&(a+=this.options.gridFooterHeight),a+=this.calcColumnFooterHeight()},p.prototype.calcColumnFooterHeight=function(){var a=0;return this.options.showColumnFooter&&(a+=this.options.columnFooterHeight),a},p.prototype.getFooterStyles=function(){var a=".grid"+this.id+" .ui-grid-footer-aggregates-row { height: "+this.options.columnFooterHeight+"px; }";return a+=" .grid"+this.id+" .ui-grid-footer-info { height: "+this.options.gridFooterHeight+"px; }"},p.prototype.hasFooter=function(){return this.options.showGridFooter||this.options.showColumnFooter},p.prototype.isRTL=function(){return this.rtl},p.prototype.registerColumnBuilder=function(a){this.columnBuilders.push(a)},p.prototype.buildColumnDefsFromData=function(a){this.options.columnDefs=d.getColumnsFromData(a,this.options.excludeProperties)},p.prototype.registerRowBuilder=function(a){this.rowBuilders.push(a)},p.prototype.registerDataChangeCallback=function(a,b,c){var f=d.nextUid();b||(b=[e.dataChange.ALL]),Array.isArray(b)||d.logError("Expected types to be an array or null in registerDataChangeCallback, value passed was: "+b),this.dataChangeCallbacks[f]={callback:a,types:b,_this:c};var g=this,h=function(){delete g.dataChangeCallbacks[f]};return h},p.prototype.callDataChangeCallbacks=function(a,b){angular.forEach(this.dataChangeCallbacks,function(b,c){(-1!==b.types.indexOf(e.dataChange.ALL)||-1!==b.types.indexOf(a)||a===e.dataChange.ALL)&&(b._this?b.callback.apply(b._this,this):b.callback(this))},this)},p.prototype.notifyDataChange=function(a){var b=e.dataChange;a===b.ALL||a===b.COLUMN||a===b.EDIT||a===b.ROW||a===b.OPTIONS?this.callDataChangeCallbacks(a):d.logError("Notified of a data change, but the type was not recognised, so no action taken, type was: "+a)},p.prototype.columnRefreshCallback=function(a){a.buildColumns(),a.queueGridRefresh()},p.prototype.processRowsCallback=function(a){a.queueGridRefresh()},p.prototype.updateFooterHeightCallback=function(a){a.footerHeight=a.calcFooterHeight(),a.columnFooterHeight=a.calcColumnFooterHeight()},p.prototype.getColumn=function(a){var b=this.columns.filter(function(b){return b.colDef.name===a});return b.length>0?b[0]:null},p.prototype.getColDef=function(a){var b=this.options.columnDefs.filter(function(b){return b.name===a});return b.length>0?b[0]:null},p.prototype.assignTypes=function(){var a=this;a.options.columnDefs.forEach(function(b,c){if(!b.type){var e=new g(b,c,a),f=a.rows.length>0?a.rows[0]:null;f?b.type=d.guessType(a.getCellValue(f,e)):b.type="string"}})},p.prototype.isRowHeaderColumn=function(a){return-1!==this.rowHeaderColumns.indexOf(a)},p.prototype.addRowHeaderColumn=function(a){var b=this,c=new g(a,d.nextUid(),b);c.isRowHeader=!0,b.isRTL()?(b.createRightContainer(),c.renderContainer="right"):(b.createLeftContainer(),c.renderContainer="left"),b.columnBuilders[0](a,c,b.options).then(function(){c.enableFiltering=!1,c.enableSorting=!1,c.enableHiding=!1,b.rowHeaderColumns.push(c),b.buildColumns().then(function(){b.preCompileCellTemplates(),b.queueGridRefresh()})})},p.prototype.getOnlyDataColumns=function(){var a=this,b=[];return a.columns.forEach(function(c){-1===a.rowHeaderColumns.indexOf(c)&&b.push(c)}),b},p.prototype.buildColumns=function(b){var c={orderByColumnDefs:!1};angular.extend(c,b);var e,f=this,h=[],i=f.rowHeaderColumns.length;for(e=0;e<f.columns.length;e++)f.getColDef(f.columns[e].name)||(f.columns.splice(e,1),e--);if(f.rowHeaderColumns.forEach(function(a){f.columns.unshift(a)}),f.options.columnDefs.forEach(function(a,b){f.preprocessColDef(a);var c=f.getColumn(a.name);c?c.updateColumnDef(a,!1):(c=new g(a,d.nextUid(),f),f.columns.splice(b+i,0,c)),f.columnBuilders.forEach(function(b){h.push(b.call(f,a,c,f.options))})}),c.orderByColumnDefs){var j=f.columns.slice(0),k=Math.min(f.options.columnDefs.length,f.columns.length);for(e=0;k>e;e++)f.columns[e+i].name!==f.options.columnDefs[e].name?j[e+i]=f.getColumn(f.options.columnDefs[e].name):j[e+i]=f.columns[e+i];f.columns.length=0,Array.prototype.splice.apply(f.columns,[0,0].concat(j))}return a.all(h).then(function(){f.rows.length>0&&f.assignTypes()})},p.prototype.preCompileCellTemplates=function(){var a=this,c=function(c){var d=c.cellTemplate.replace(e.MODEL_COL_FIELD,a.getQualifiedColField(c));d=d.replace(e.COL_FIELD,"grid.getCellValue(row, col)");var f=b(d);c.compiledElementFn=f,c.compiledElementFnDefer&&c.compiledElementFnDefer.resolve(c.compiledElementFn)};this.columns.forEach(function(a){a.cellTemplate?c(a):a.cellTemplatePromise&&a.cellTemplatePromise.then(function(){c(a)})})},p.prototype.getQualifiedColField=function(a){return"row.entity."+d.preEval(a.field)},p.prototype.createLeftContainer=function(){this.hasLeftContainer()||(this.renderContainers.left=new l("left",this,{disableColumnOffset:!0}))},p.prototype.createRightContainer=function(){this.hasRightContainer()||(this.renderContainers.right=new l("right",this,{disableColumnOffset:!0}))},p.prototype.hasLeftContainer=function(){return void 0!==this.renderContainers.left},p.prototype.hasRightContainer=function(){return void 0!==this.renderContainers.right},p.prototype.preprocessColDef=function(a){var b=this;if(!a.field&&!a.name)throw new Error("colDef.name or colDef.field property is required");if(void 0===a.name&&void 0!==a.field){for(var c=a.field,d=2;b.getColumn(c);)c=a.field+d.toString(),d++;a.name=c}},p.prototype.newInN=function(a,b,c,d){for(var e=this,f=[],g=0;g<b.length;g++){for(var h=d?b[g][d]:b[g],i=!1,j=0;j<a.length;j++){var k=c?a[j][c]:a[j];if(e.options.rowEquality(h,k)){i=!0;break}}i||f.push(h)}return f},p.prototype.getRow=function(a,b){var c=this;b="undefined"==typeof b?c.rows:b;var d=b.filter(function(b){return c.options.rowEquality(b.entity,a)});return d.length>0?d[0]:null},p.prototype.modifyRows=function(b){var c=this,d=c.rows.slice(0),e=c.rowHashMap||c.createRowHashMap();c.rowHashMap=c.createRowHashMap(),c.rows.length=0,b.forEach(function(a,b){var f;f=c.options.enableRowHashing?e.get(a):c.getRow(a,d),f||(f=c.processRowBuilders(new h(a,b,c))),c.rows.push(f),c.rowHashMap.put(a,f)}),c.assignTypes();var f=a.when(c.processRowsProcessors(c.rows)).then(function(a){return c.setVisibleRows(a)}),g=a.when(c.processColumnsProcessors(c.columns)).then(function(a){return c.setVisibleColumns(a)});return a.all([f,g])},p.prototype.addRows=function(a){for(var b=this,c=b.rows.length,d=0;d<a.length;d++){var e=b.processRowBuilders(new h(a[d],d+c,b));if(b.options.enableRowHashing){var f=b.rowHashMap.get(e.entity);f&&(f.row=e)}b.rows.push(e)}},p.prototype.processRowBuilders=function(a){var b=this;return b.rowBuilders.forEach(function(c){c.call(b,a,b.options)}),a},p.prototype.registerStyleComputation=function(a){this.styleComputations.push(a)},p.prototype.registerRowsProcessor=function(a,b){if(!angular.isFunction(a))throw"Attempt to register non-function rows processor: "+a;this.rowsProcessors.push({processor:a,priority:b}),this.rowsProcessors.sort(function(a,b){return a.priority-b.priority})},p.prototype.removeRowsProcessor=function(a){var b=-1;this.rowsProcessors.forEach(function(c,d){c.processor===a&&(b=d)}),-1!==b&&this.rowsProcessors.splice(b,1)},p.prototype.processRowsProcessors=function(b){function c(b,e){var g=d.rowsProcessors[b].processor;return a.when(g.call(d,e,d.columns)).then(function(a){if(!a)throw"Processor at index "+b+" did not return a set of renderable rows";if(!angular.isArray(a))throw"Processor at index "+b+" did not return an array";return b++,b<=d.rowsProcessors.length-1?c(b,a):void f.resolve(a)})}var d=this,e=b.slice(0);if(0===d.rowsProcessors.length)return a.when(e);var f=a.defer();return c(0,e),f.promise},p.prototype.setVisibleRows=function(a){var b=this;for(var c in b.renderContainers){var d=b.renderContainers[c];d.canvasHeightShouldUpdate=!0,"undefined"==typeof d.visibleRowCache?d.visibleRowCache=[]:d.visibleRowCache.length=0}for(var e=0;e<a.length;e++){var f=a[e],g="undefined"!=typeof f.renderContainer&&f.renderContainer?f.renderContainer:"body";f.visible&&b.renderContainers[g].visibleRowCache.push(f)}b.api.core.raise.rowsRendered(this.api)},p.prototype.registerColumnsProcessor=function(a,b){if(!angular.isFunction(a))throw"Attempt to register non-function rows processor: "+a;this.columnsProcessors.push({processor:a,priority:b}),this.columnsProcessors.sort(function(a,b){return a.priority-b.priority})},p.prototype.removeColumnsProcessor=function(a){var b=this.columnsProcessors.indexOf(a);"undefined"!=typeof b&&void 0!==b&&this.columnsProcessors.splice(b,1)},p.prototype.processColumnsProcessors=function(b){function c(b,g){var h=d.columnsProcessors[b].processor;return a.when(h.call(d,g,d.rows)).then(function(a){if(!a)throw"Processor at index "+b+" did not return a set of renderable rows";if(!angular.isArray(a))throw"Processor at index "+b+" did not return an array";return b++,b<=d.columnsProcessors.length-1?c(b,e):void f.resolve(e)})}var d=this,e=b.slice(0);if(0===d.columnsProcessors.length)return a.when(e);var f=a.defer();return c(0,e),f.promise},p.prototype.setVisibleColumns=function(a){var b=this;for(var c in b.renderContainers){var d=b.renderContainers[c];d.visibleColumnCache.length=0}for(var e=0;e<a.length;e++){var f=a[e];f.visible&&("undefined"!=typeof f.renderContainer&&f.renderContainer?b.renderContainers[f.renderContainer].visibleColumnCache.push(f):b.renderContainers.body.visibleColumnCache.push(f))}},p.prototype.handleWindowResize=function(a){var b=this;b.gridWidth=d.elementWidth(b.element),b.gridHeight=d.elementHeight(b.element),b.queueRefresh()},p.prototype.queueRefresh=function(){var a=this;return a.refreshCanceller&&m.cancel(a.refreshCanceller),a.refreshCanceller=m(function(){a.refreshCanvas(!0)}),a.refreshCanceller.then(function(){a.refreshCanceller=null}),a.refreshCanceller},p.prototype.queueGridRefresh=function(){var a=this;return a.gridRefreshCanceller&&m.cancel(a.gridRefreshCanceller),a.gridRefreshCanceller=m(function(){a.refresh(!0)}),a.gridRefreshCanceller.then(function(){a.gridRefreshCanceller=null}),a.gridRefreshCanceller},p.prototype.updateCanvasHeight=function(){var a=this;for(var b in a.renderContainers)if(a.renderContainers.hasOwnProperty(b)){var c=a.renderContainers[b];c.canvasHeightShouldUpdate=!0}},p.prototype.buildStyles=function(){var a=this;a.customStyles="",a.styleComputations.sort(function(a,b){return null===a.priority?1:null===b.priority?-1:null===a.priority&&null===b.priority?0:a.priority-b.priority}).forEach(function(b){var c=b.func.call(a);angular.isString(c)&&(a.customStyles+="\n"+c)})},p.prototype.minColumnsToRender=function(){var a=this,b=this.getViewportWidth(),c=0,d=0;return a.columns.forEach(function(e,f){if(b>d)d+=e.drawnWidth,c++;else{for(var g=0,h=f;h>=f-c;h--)g+=a.columns[h].drawnWidth;b>g&&c++}}),c},p.prototype.getBodyHeight=function(){var a=this.getViewportHeight();return a},p.prototype.getViewportHeight=function(){var a=this,b=this.gridHeight-this.headerHeight-this.footerHeight,c=a.getViewportAdjustment();return b+=c.height},p.prototype.getViewportWidth=function(){var a=this,b=this.gridWidth,c=a.getViewportAdjustment();return b+=c.width},p.prototype.getHeaderViewportWidth=function(){var a=this.getViewportWidth();return a},p.prototype.addVerticalScrollSync=function(a,b){this.verticalScrollSyncCallBackFns[a]=b},p.prototype.addHorizontalScrollSync=function(a,b){this.horizontalScrollSyncCallBackFns[a]=b},p.prototype.scrollContainers=function(a,b){if(b.y){var c=["body","left","right"];this.flagScrollingVertically(b),"body"===a?c=["left","right"]:"left"===a?c=["body","right"]:"right"===a&&(c=["body","left"]);for(var d=0;d<c.length;d++){var e=c[d];this.verticalScrollSyncCallBackFns[e]&&this.verticalScrollSyncCallBackFns[e](b)}}if(b.x){var f=["body","bodyheader","bodyfooter"];this.flagScrollingHorizontally(b),"body"===a&&(f=["bodyheader","bodyfooter"]);for(var g=0;g<f.length;g++){var h=f[g];this.horizontalScrollSyncCallBackFns[h]&&this.horizontalScrollSyncCallBackFns[h](b)}}},p.prototype.registerViewportAdjuster=function(a){this.viewportAdjusters.push(a)},p.prototype.removeViewportAdjuster=function(a){var b=this.viewportAdjusters.indexOf(a);"undefined"!=typeof b&&void 0!==b&&this.viewportAdjusters.splice(b,1)},p.prototype.getViewportAdjustment=function(){var a=this,b={height:0,width:0};return a.viewportAdjusters.forEach(function(a){b=a.call(this,b)}),b},p.prototype.getVisibleRowCount=function(){return this.renderContainers.body.visibleRowCache.length},p.prototype.getVisibleRows=function(){return this.renderContainers.body.visibleRowCache},p.prototype.getVisibleColumnCount=function(){return this.renderContainers.body.visibleColumnCache.length},p.prototype.searchRows=function(a){return k.search(this,a,this.columns)},p.prototype.sortByColumn=function(a){return j.sort(this,a,this.columns)},p.prototype.getCellValue=function(a,b){return"undefined"!=typeof a.entity["$$"+b.uid]?a.entity["$$"+b.uid].rendered:this.options.flatEntityAccess&&"undefined"!=typeof b.field?a.entity[b.field]:(b.cellValueGetterCache||(b.cellValueGetterCache=c(a.getEntityQualifiedColField(b))),b.cellValueGetterCache(a))},p.prototype.getCellDisplayValue=function(a,b){if(!b.cellDisplayGetterCache){var d=b.cellFilter?" | "+b.cellFilter:"";"undefined"!=typeof a.entity["$$"+b.uid]?b.cellDisplayGetterCache=c(a.entity["$$"+b.uid].rendered+d):this.options.flatEntityAccess&&"undefined"!=typeof b.field?b.cellDisplayGetterCache=c(a.entity[b.field]+d):b.cellDisplayGetterCache=c(a.getEntityQualifiedColField(b)+d);
+}return b.cellDisplayGetterCache(a)},p.prototype.getNextColumnSortPriority=function(){var a=this,b=0;return a.columns.forEach(function(a){a.sort&&a.sort.priority&&a.sort.priority>b&&(b=a.sort.priority)}),b+1},p.prototype.resetColumnSorting=function(a){var b=this;b.columns.forEach(function(b){b===a||b.suppressRemoveSort||(b.sort={})})},p.prototype.getColumnSorting=function(){var a,b=this,c=[];return a=b.columns.slice(0),a.sort(j.prioritySort).forEach(function(a){a.sort&&"undefined"!=typeof a.sort.direction&&a.sort.direction&&(a.sort.direction===e.ASC||a.sort.direction===e.DESC)&&c.push(a)}),c},p.prototype.sortColumn=function(b,c,d){var e=this,f=null;if("undefined"==typeof b||!b)throw new Error("No column parameter provided");if("boolean"==typeof c?d=c:f=c,d?b.sort.priority||(b.sort.priority=e.getNextColumnSortPriority()):(e.resetColumnSorting(b),b.sort.priority=0,b.sort.priority=e.getNextColumnSortPriority()),f)b.sort.direction=f;else{var g=b.sortDirectionCycle.indexOf(b.sort.direction?b.sort.direction:null);g=(g+1)%b.sortDirectionCycle.length,b.colDef&&b.suppressRemoveSort&&!b.sortDirectionCycle[g]&&(g=(g+1)%b.sortDirectionCycle.length),b.sortDirectionCycle[g]?b.sort.direction=b.sortDirectionCycle[g]:b.sort={}}return e.api.core.raise.sortChanged(e,e.getColumnSorting()),a.when(b)},p.prototype.renderingComplete=function(){angular.isFunction(this.options.onRegisterApi)&&this.options.onRegisterApi(this.api),this.api.core.raise.renderingComplete(this.api)},p.prototype.createRowHashMap=function(){var a=this,b=new o;return b.grid=a,b},p.prototype.refresh=function(b){var c=this,d=c.processRowsProcessors(c.rows).then(function(a){c.setVisibleRows(a)}),e=c.processColumnsProcessors(c.columns).then(function(a){c.setVisibleColumns(a)});return a.all([d,e]).then(function(){c.redrawInPlace(b),c.refreshCanvas(!0)})},p.prototype.refreshRows=function(){var a=this;return a.processRowsProcessors(a.rows).then(function(b){a.setVisibleRows(b),a.redrawInPlace(),a.refreshCanvas(!0)})},p.prototype.refreshCanvas=function(b){var c=this;b&&c.buildStyles();var e=a.defer(),f=[];for(var g in c.renderContainers)if(c.renderContainers.hasOwnProperty(g)){var h=c.renderContainers[g];if(null===h.canvasWidth||isNaN(h.canvasWidth))continue;(h.header||h.headerCanvas)&&(h.explicitHeaderHeight=h.explicitHeaderHeight||null,h.explicitHeaderCanvasHeight=h.explicitHeaderCanvasHeight||null,f.push(h))}return f.length>0?(b&&c.buildStyles(),m(function(){var a,g,h=!1,i=0,j=0,k=function(a,b){return a!==b&&(h=!0),b};for(a=0;a<f.length;a++)if(g=f[a],null!==g.canvasWidth&&!isNaN(g.canvasWidth)){if(g.header){var l=g.headerHeight=k(g.headerHeight,parseInt(d.outerElementHeight(g.header),10)),m=d.getBorderSize(g.header,"top"),n=d.getBorderSize(g.header,"bottom"),o=parseInt(l-m-n,10);o=0>o?0:o,g.innerHeaderHeight=o,!g.explicitHeaderHeight&&o>i&&(i=o)}if(g.headerCanvas){var p=g.headerCanvasHeight=k(g.headerCanvasHeight,parseInt(d.outerElementHeight(g.headerCanvas),10));!g.explicitHeaderCanvasHeight&&p>j&&(j=p)}}for(a=0;a<f.length;a++)g=f[a],i>0&&"undefined"!=typeof g.headerHeight&&null!==g.headerHeight&&(g.explicitHeaderHeight||g.headerHeight<i)&&(g.explicitHeaderHeight=k(g.explicitHeaderHeight,i)),j>0&&"undefined"!=typeof g.headerCanvasHeight&&null!==g.headerCanvasHeight&&(g.explicitHeaderCanvasHeight||g.headerCanvasHeight<j)&&(g.explicitHeaderCanvasHeight=k(g.explicitHeaderCanvasHeight,j));b&&h&&c.buildStyles(),e.resolve()})):m(function(){e.resolve()}),e.promise},p.prototype.redrawInPlace=function(a){var b=this;for(var c in b.renderContainers){var d=b.renderContainers[c];a?(d.adjustRows(d.prevScrollTop,null),d.adjustColumns(d.prevScrollLeft,null)):(d.adjustRows(null,d.prevScrolltopPercentage),d.adjustColumns(null,d.prevScrollleftPercentage))}},p.prototype.hasLeftContainerColumns=function(){return this.hasLeftContainer()&&this.renderContainers.left.renderedColumns.length>0},p.prototype.hasRightContainerColumns=function(){return this.hasRightContainer()&&this.renderContainers.right.renderedColumns.length>0},p.prototype.scrollToIfNecessary=function(b,c){var d=this,e=new n(d,"uiGrid.scrollToIfNecessary"),f=d.renderContainers.body.visibleRowCache,g=d.renderContainers.body.visibleColumnCache,h=d.renderContainers.body.prevScrollTop+d.headerHeight;h=0>h?0:h;var i=d.renderContainers.body.prevScrollLeft,j=d.renderContainers.body.prevScrollTop+d.gridHeight-d.renderContainers.body.headerHeight-d.footerHeight-d.scrollbarWidth,k=d.renderContainers.body.prevScrollLeft+Math.ceil(d.renderContainers.body.getViewportWidth());if(null!==b){var l=f.indexOf(b),m=d.renderContainers.body.getCanvasHeight()-d.renderContainers.body.getViewportHeight(),o=(l+1)*d.options.rowHeight;o=0>o?0:o;var p,q;h>o?(p=d.renderContainers.body.prevScrollTop-(h-o),q=p/m,e.y={percentage:q}):o>j&&(p=o-j+d.renderContainers.body.prevScrollTop,q=p/m,e.y={percentage:q})}if(null!==c){for(var r=g.indexOf(c),s=d.renderContainers.body.getCanvasWidth()-d.renderContainers.body.getViewportWidth(),t=0,u=0;r>u;u++){var v=g[u];t+=v.drawnWidth}t=0>t?0:t;var w=t+c.drawnWidth;w=0>w?0:w;var x,y;i>t?(x=d.renderContainers.body.prevScrollLeft-(i-t),y=x/s,y=y>1?1:y,e.x={percentage:y}):w>k&&(x=w-k+d.renderContainers.body.prevScrollLeft,y=x/s,y=y>1?1:y,e.x={percentage:y})}var z=a.defer();if(e.y||e.x){e.withDelay=!1,d.scrollContainers("",e);var A=d.api.core.on.scrollEnd(null,function(){z.resolve(e),A()})}else z.resolve();return z.promise},p.prototype.scrollTo=function(a,b){var c=null,d=null;return null!==a&&"undefined"!=typeof a&&(c=this.getRow(a)),null!==b&&"undefined"!=typeof b&&(d=this.getColumn(b.name?b.name:b.field)),this.scrollToIfNecessary(c,d)},p.prototype.clearAllFilters=function(a,b,c){return void 0===a&&(a=!0),void 0===b&&(b=!1),void 0===c&&(c=!1),this.columns.forEach(function(a){a.filters.forEach(function(a){a.term=void 0,b&&(a.condition=void 0),c&&(a.flags=void 0)})}),a?this.refreshRows():void 0},o.prototype={put:function(a,b){this[this.grid.options.rowIdentity(a)]=b},get:function(a){return this[this.grid.options.rowIdentity(a)]},remove:function(a){var b=this[a=this.grid.options.rowIdentity(a)];return delete this[a],b}},p}])}(),function(){angular.module("ui.grid").factory("GridApi",["$q","$rootScope","gridUtil","uiGridConstants","GridRow","uiGridGridMenuService",function(a,b,c,d,e,f){function g(a,c,d,e){return b.$on(a,function(a){var b=Array.prototype.slice.call(arguments);b.splice(0,1),c.apply(e?e:d.api,b)})}var h=function(a){this.grid=a,this.listeners=[],this.registerEvent("core","renderingComplete"),this.registerEvent("core","filterChanged"),this.registerMethod("core","setRowInvisible",e.prototype.setRowInvisible),this.registerMethod("core","clearRowInvisible",e.prototype.clearRowInvisible),this.registerMethod("core","getVisibleRows",this.grid.getVisibleRows),this.registerEvent("core","rowsVisibleChanged"),this.registerEvent("core","rowsRendered"),this.registerEvent("core","scrollBegin"),this.registerEvent("core","scrollEnd"),this.registerEvent("core","canvasHeightChanged")};return h.prototype.suppressEvents=function(a,b){var c=this,d=angular.isArray(a)?a:[a],e=c.listeners.filter(function(a){return d.some(function(b){return a.handler===b})});e.forEach(function(a){a.dereg()}),b(),e.forEach(function(a){a.dereg=g(a.eventId,a.handler,c.grid,a._this)})},h.prototype.registerEvent=function(a,d){var e=this;e[a]||(e[a]={});var f=e[a];f.on||(f.on={},f.raise={});var h=e.grid.id+a+d;f.raise[d]=function(){b.$emit.apply(b,[h].concat(Array.prototype.slice.call(arguments)))},f.on[d]=function(b,f,i){if(null!==b&&"undefined"==typeof b.$on)return void c.logError("asked to listen on "+a+".on."+d+" but scope wasn't passed in the input parameters.  It is legitimate to pass null, but you've passed something else, so you probably forgot to provide scope rather than did it deliberately, not registering");var j=g(h,f,e.grid,i),k={handler:f,dereg:j,eventId:h,scope:b,_this:i};e.listeners.push(k);var l=function(){k.dereg();var a=e.listeners.indexOf(k);e.listeners.splice(a,1)};return b&&b.$on("$destroy",function(){l()}),l}},h.prototype.registerEventsFromObject=function(a){var b=this,c=[];angular.forEach(a,function(a,b){var d={name:b,events:[]};angular.forEach(a,function(a,b){d.events.push(b)}),c.push(d)}),c.forEach(function(a){a.events.forEach(function(c){b.registerEvent(a.name,c)})})},h.prototype.registerMethod=function(a,b,d,e){this[a]||(this[a]={});var f=this[a];f[b]=c.createBoundedWrapper(e||this.grid,d)},h.prototype.registerMethodsFromObject=function(a,b){var c=this,d=[];angular.forEach(a,function(a,b){var c={name:b,methods:[]};angular.forEach(a,function(a,b){c.methods.push({name:b,fn:a})}),d.push(c)}),d.forEach(function(a){a.methods.forEach(function(d){c.registerMethod(a.name,d.name,d.fn,b)})})},h}])}(),function(){angular.module("ui.grid").factory("GridColumn",["gridUtil","uiGridConstants","i18nService",function(a,b,c){function d(a,c,e){var f=this;f.grid=e,f.uid=c,f.updateColumnDef(a,!0),d.prototype.hideColumn=function(){this.colDef.visible=!1},f.aggregationValue=void 0,f.updateAggregationValue=function(){if(!f.aggregationType)return void(f.aggregationValue=void 0);var a=0,c=f.grid.getVisibleRows(),d=function(){var a=[];return c.forEach(function(b){var c=f.grid.getCellValue(b,f),d=Number(c);isNaN(d)||a.push(d)}),a};angular.isFunction(f.aggregationType)?f.aggregationValue=f.aggregationType(c,f):f.aggregationType===b.aggregationTypes.count?f.aggregationValue=f.grid.getVisibleRowCount():f.aggregationType===b.aggregationTypes.sum?(d().forEach(function(b){a+=b}),f.aggregationValue=a):f.aggregationType===b.aggregationTypes.avg?(d().forEach(function(b){a+=b}),a/=d().length,f.aggregationValue=a):f.aggregationType===b.aggregationTypes.min?f.aggregationValue=Math.min.apply(null,d()):f.aggregationType===b.aggregationTypes.max?f.aggregationValue=Math.max.apply(null,d()):f.aggregationValue=" "},this.getAggregationValue=function(){return f.aggregationValue}}return d.prototype.setPropertyOrDefault=function(a,b,c){var d=this;"undefined"!=typeof a[b]&&a[b]?d[b]=a[b]:"undefined"!=typeof d[b]?d[b]=d[b]:d[b]=c?c:{}},d.prototype.updateColumnDef=function(c,e){var f=this;if(f.colDef=c,void 0===c.name)throw new Error("colDef.name is required for column at index "+f.grid.options.columnDefs.indexOf(c));if(f.displayName=void 0===c.displayName?a.readableColumnName(c.name):c.displayName,!angular.isNumber(f.width)||!f.hasCustomWidth||c.allowCustomWidthOverride){var g=c.width,h="Cannot parse column width '"+g+"' for column named '"+c.name+"'";if(f.hasCustomWidth=!1,angular.isString(g)||angular.isNumber(g))if(angular.isString(g))if(a.endsWith(g,"%")){var i=g.replace(/%/g,""),j=parseInt(i,10);if(isNaN(j))throw new Error(h);f.width=g}else if(g.match(/^(\d+)$/))f.width=parseInt(g.match(/^(\d+)$/)[1],10);else{if(!g.match(/^\*+$/))throw new Error(h);f.width=g}else f.width=g;else f.width="*"}["minWidth","maxWidth"].forEach(function(a){var b=c[a],d="Cannot parse column "+a+" '"+b+"' for column named '"+c.name+"'";if(angular.isString(b)||angular.isNumber(b))if(angular.isString(b)){if(!b.match(/^(\d+)$/))throw new Error(d);f[a]=parseInt(b.match(/^(\d+)$/)[1],10)}else f[a]=b;else f[a]="minWidth"===a?30:9e3}),f.field=void 0===c.field?c.name:c.field,"string"!=typeof f.field&&a.logError("Field is not a string, this is likely to break the code, Field is: "+f.field),f.name=c.name,f.displayName=void 0===c.displayName?a.readableColumnName(c.name):c.displayName,f.aggregationType=angular.isDefined(c.aggregationType)?c.aggregationType:null,f.footerCellTemplate=angular.isDefined(c.footerCellTemplate)?c.footerCellTemplate:null,"undefined"==typeof c.cellTooltip||c.cellTooltip===!1?f.cellTooltip=!1:c.cellTooltip===!0?f.cellTooltip=function(a,b){return f.grid.getCellValue(a,b)}:"function"==typeof c.cellTooltip?f.cellTooltip=c.cellTooltip:f.cellTooltip=function(a,b){return b.colDef.cellTooltip},"undefined"==typeof c.headerTooltip||c.headerTooltip===!1?f.headerTooltip=!1:c.headerTooltip===!0?f.headerTooltip=function(a){return a.displayName}:"function"==typeof c.headerTooltip?f.headerTooltip=c.headerTooltip:f.headerTooltip=function(a){return a.colDef.headerTooltip},f.footerCellClass=c.footerCellClass,f.cellClass=c.cellClass,f.headerCellClass=c.headerCellClass,f.cellFilter=c.cellFilter?c.cellFilter:"",f.sortCellFiltered=c.sortCellFiltered?!0:!1,f.filterCellFiltered=c.filterCellFiltered?!0:!1,f.headerCellFilter=c.headerCellFilter?c.headerCellFilter:"",f.footerCellFilter=c.footerCellFilter?c.footerCellFilter:"",f.visible=a.isNullOrUndefined(c.visible)||c.visible,f.headerClass=c.headerClass,f.enableSorting="undefined"!=typeof c.enableSorting?c.enableSorting:!0,f.sortingAlgorithm=c.sortingAlgorithm,f.sortDirectionCycle="undefined"!=typeof c.sortDirectionCycle?c.sortDirectionCycle:[null,b.ASC,b.DESC],"undefined"==typeof f.suppressRemoveSort&&(f.suppressRemoveSort="undefined"!=typeof c.suppressRemoveSort?c.suppressRemoveSort:!1),f.enableFiltering="undefined"!=typeof c.enableFiltering?c.enableFiltering:!0,f.setPropertyOrDefault(c,"menuItems",[]),e&&f.setPropertyOrDefault(c,"sort");var k=[];c.filter?k.push(c.filter):c.filters?k=c.filters:k.push({}),e?(f.setPropertyOrDefault(c,"filter"),f.setPropertyOrDefault(c,"filters",k)):f.filters.length===k.length&&f.filters.forEach(function(a,b){"undefined"!=typeof k[b].placeholder&&(a.placeholder=k[b].placeholder),"undefined"!=typeof k[b].ariaLabel&&(a.ariaLabel=k[b].ariaLabel),"undefined"!=typeof k[b].flags&&(a.flags=k[b].flags),"undefined"!=typeof k[b].type&&(a.type=k[b].type),"undefined"!=typeof k[b].selectOptions&&(a.selectOptions=k[b].selectOptions)}),d.prototype.unsort=function(){this.sort={},f.grid.api.core.raise.sortChanged(f.grid,f.grid.getColumnSorting())}},d.prototype.getColClass=function(a){var c=b.COL_CLASS_PREFIX+this.uid;return a?"."+c:c},d.prototype.isPinnedLeft=function(){return"left"===this.renderContainer},d.prototype.isPinnedRight=function(){return"right"===this.renderContainer},d.prototype.getColClassDefinition=function(){return" .grid"+this.grid.id+" "+this.getColClass(!0)+" { min-width: "+this.drawnWidth+"px; max-width: "+this.drawnWidth+"px; }"},d.prototype.getRenderContainer=function(){var a=this,b=a.renderContainer;return(null===b||""===b||void 0===b)&&(b="body"),a.grid.renderContainers[b]},d.prototype.showColumn=function(){this.colDef.visible=!0},d.prototype.getAggregationText=function(){var a=this;if(a.colDef.aggregationHideLabel)return"";if(a.colDef.aggregationLabel)return a.colDef.aggregationLabel;switch(a.colDef.aggregationType){case b.aggregationTypes.count:return c.getSafeText("aggregation.count");case b.aggregationTypes.sum:return c.getSafeText("aggregation.sum");case b.aggregationTypes.avg:return c.getSafeText("aggregation.avg");case b.aggregationTypes.min:return c.getSafeText("aggregation.min");case b.aggregationTypes.max:return c.getSafeText("aggregation.max");default:return""}},d.prototype.getCellTemplate=function(){var a=this;return a.cellTemplatePromise},d.prototype.getCompiledElementFn=function(){var a=this;return a.compiledElementFnDefer.promise},d}])}(),function(){angular.module("ui.grid").factory("GridOptions",["gridUtil","uiGridConstants",function(a,b){return{initialize:function(c){return c.onRegisterApi=c.onRegisterApi||angular.noop(),c.data=c.data||[],c.columnDefs=c.columnDefs||[],c.excludeProperties=c.excludeProperties||["$$hashKey"],c.enableRowHashing=c.enableRowHashing!==!1,c.rowIdentity=c.rowIdentity||function(b){return a.hashKey(b)},c.getRowIdentity=c.getRowIdentity||function(a){return a.$$hashKey},c.flatEntityAccess=c.flatEntityAccess===!0,c.showHeader="undefined"!=typeof c.showHeader?c.showHeader:!0,c.showHeader?c.headerRowHeight="undefined"!=typeof c.headerRowHeight?c.headerRowHeight:30:c.headerRowHeight=0,c.rowHeight=c.rowHeight||30,c.minRowsToShow="undefined"!=typeof c.minRowsToShow?c.minRowsToShow:10,c.showGridFooter=c.showGridFooter===!0,c.showColumnFooter=c.showColumnFooter===!0,c.columnFooterHeight="undefined"!=typeof c.columnFooterHeight?c.columnFooterHeight:30,c.gridFooterHeight="undefined"!=typeof c.gridFooterHeight?c.gridFooterHeight:30,c.columnWidth="undefined"!=typeof c.columnWidth?c.columnWidth:50,c.maxVisibleColumnCount="undefined"!=typeof c.maxVisibleColumnCount?c.maxVisibleColumnCount:200,c.virtualizationThreshold="undefined"!=typeof c.virtualizationThreshold?c.virtualizationThreshold:20,c.columnVirtualizationThreshold="undefined"!=typeof c.columnVirtualizationThreshold?c.columnVirtualizationThreshold:10,c.excessRows="undefined"!=typeof c.excessRows?c.excessRows:4,c.scrollThreshold="undefined"!=typeof c.scrollThreshold?c.scrollThreshold:4,c.excessColumns="undefined"!=typeof c.excessColumns?c.excessColumns:4,c.horizontalScrollThreshold="undefined"!=typeof c.horizontalScrollThreshold?c.horizontalScrollThreshold:2,c.aggregationCalcThrottle="undefined"!=typeof c.aggregationCalcThrottle?c.aggregationCalcThrottle:500,c.wheelScrollThrottle="undefined"!=typeof c.wheelScrollThrottle?c.wheelScrollThrottle:70,c.scrollDebounce="undefined"!=typeof c.scrollDebounce?c.scrollDebounce:300,c.enableSorting=c.enableSorting!==!1,c.enableFiltering=c.enableFiltering===!0,c.enableColumnMenus=c.enableColumnMenus!==!1,c.enableVerticalScrollbar="undefined"!=typeof c.enableVerticalScrollbar?c.enableVerticalScrollbar:b.scrollbars.ALWAYS,c.enableHorizontalScrollbar="undefined"!=typeof c.enableHorizontalScrollbar?c.enableHorizontalScrollbar:b.scrollbars.ALWAYS,c.enableMinHeightCheck=c.enableMinHeightCheck!==!1,c.minimumColumnSize="undefined"!=typeof c.minimumColumnSize?c.minimumColumnSize:10,c.rowEquality=c.rowEquality||function(a,b){return a===b},c.headerTemplate=c.headerTemplate||null,c.footerTemplate=c.footerTemplate||"ui-grid/ui-grid-footer",c.gridFooterTemplate=c.gridFooterTemplate||"ui-grid/ui-grid-grid-footer",c.rowTemplate=c.rowTemplate||"ui-grid/ui-grid-row",c.appScopeProvider=c.appScopeProvider||null,c}}}])}(),function(){angular.module("ui.grid").factory("GridRenderContainer",["gridUtil","uiGridConstants",function(a,b){function c(a,b,c){var d=this;d.name=a,d.grid=b,d.visibleRowCache=[],d.visibleColumnCache=[],d.renderedRows=[],d.renderedColumns=[],d.prevScrollTop=0,d.prevScrolltopPercentage=0,d.prevRowScrollIndex=0,d.prevScrollLeft=0,d.prevScrollleftPercentage=0,d.prevColumnScrollIndex=0,d.columnStyles="",d.viewportAdjusters=[],d.hasHScrollbar=!1,d.hasVScrollbar=!1,d.canvasHeightShouldUpdate=!0,d.$$canvasHeight=0,c&&angular.isObject(c)&&angular.extend(d,c),b.registerStyleComputation({priority:5,func:function(){return d.updateColumnWidths(),d.columnStyles}})}return c.prototype.reset=function(){this.visibleColumnCache.length=0,this.visibleRowCache.length=0,this.renderedRows.length=0,this.renderedColumns.length=0},c.prototype.containsColumn=function(a){return-1!==this.visibleColumnCache.indexOf(a)},c.prototype.minRowsToRender=function(){for(var a=this,b=0,c=0,d=a.getViewportHeight(),e=a.visibleRowCache.length-1;d>c&&e>=0;e--)c+=a.visibleRowCache[e].height,b++;return b},c.prototype.minColumnsToRender=function(){for(var a=this,b=this.getViewportWidth(),c=0,d=0,e=0;e<a.visibleColumnCache.length;e++){var f=a.visibleColumnCache[e];if(b>d)d+=f.drawnWidth?f.drawnWidth:0,c++;else{for(var g=0,h=e;h>=e-c;h--)g+=a.visibleColumnCache[h].drawnWidth?a.visibleColumnCache[h].drawnWidth:0;b>g&&c++}}return c},c.prototype.getVisibleRowCount=function(){return this.visibleRowCache.length},c.prototype.registerViewportAdjuster=function(a){this.viewportAdjusters.push(a)},c.prototype.removeViewportAdjuster=function(a){var b=this.viewportAdjusters.indexOf(a);b>-1&&this.viewportAdjusters.splice(b,1)},c.prototype.getViewportAdjustment=function(){var a=this,b={height:0,width:0};return a.viewportAdjusters.forEach(function(a){b=a.call(this,b)}),b},c.prototype.getMargin=function(a){var b=this,c=0;return b.viewportAdjusters.forEach(function(b){var d=b.call(this,{height:0,width:0});d.side&&d.side===a&&(c+=-1*d.width)}),c},c.prototype.getViewportHeight=function(){var a=this,b=a.headerHeight?a.headerHeight:a.grid.headerHeight,c=a.grid.gridHeight-b-a.grid.footerHeight,d=a.getViewportAdjustment();return c+=d.height},c.prototype.getViewportWidth=function(){var a=this,b=a.grid.gridWidth,c=a.getViewportAdjustment();return b+=c.width},c.prototype.getHeaderViewportWidth=function(){var a=this.getViewportWidth();return a},c.prototype.getCanvasHeight=function(){var a=this;if(!a.canvasHeightShouldUpdate)return a.$$canvasHeight;var b=a.$$canvasHeight;return a.$$canvasHeight=0,a.visibleRowCache.forEach(function(b){a.$$canvasHeight+=b.height}),a.canvasHeightShouldUpdate=!1,a.grid.api.core.raise.canvasHeightChanged(b,a.$$canvasHeight),a.$$canvasHeight},c.prototype.getVerticalScrollLength=function(){return this.getCanvasHeight()-this.getViewportHeight()+this.grid.scrollbarHeight},c.prototype.getCanvasWidth=function(){var a=this,b=a.canvasWidth;return b},c.prototype.setRenderedRows=function(a){this.renderedRows.length=a.length;for(var b=0;b<a.length;b++)this.renderedRows[b]=a[b]},c.prototype.setRenderedColumns=function(a){this.renderedColumns.length=a.length;for(var b=0;b<a.length;b++)this.renderedColumns[b]=a[b];this.updateColumnOffset()},c.prototype.updateColumnOffset=function(){for(var a=0,b=0;b<this.currentFirstColumn;b++)a+=this.visibleColumnCache[b].drawnWidth;this.columnOffset=a},c.prototype.scrollVertical=function(a){var c=-1;if(a!==this.prevScrollTop){var d=a-this.prevScrollTop;d>0&&(this.grid.scrollDirection=b.scrollDirection.DOWN),0>d&&(this.grid.scrollDirection=b.scrollDirection.UP);var e=this.getVerticalScrollLength();return c=a/e,c>1&&(c=1),0>c&&(c=0),this.adjustScrollVertical(a,c),c}},c.prototype.scrollHorizontal=function(a){var c=-1;if(a!==this.prevScrollLeft){var d=a-this.prevScrollLeft;d>0&&(this.grid.scrollDirection=b.scrollDirection.RIGHT),0>d&&(this.grid.scrollDirection=b.scrollDirection.LEFT);var e=this.canvasWidth-this.getViewportWidth();return c=0!==e?a/e:0,this.adjustScrollHorizontal(a,c),c}},c.prototype.adjustScrollVertical=function(a,b,c){(this.prevScrollTop!==a||c)&&(("undefined"==typeof a||void 0===a||null===a)&&(a=(this.getCanvasHeight()-this.getViewportHeight())*b),this.adjustRows(a,b,!1),this.prevScrollTop=a,this.prevScrolltopPercentage=b,this.grid.queueRefresh())},c.prototype.adjustScrollHorizontal=function(a,b,c){(this.prevScrollLeft!==a||c)&&(("undefined"==typeof a||void 0===a||null===a)&&(a=(this.getCanvasWidth()-this.getViewportWidth())*b),this.adjustColumns(a,b),this.prevScrollLeft=a,this.prevScrollleftPercentage=b,this.grid.queueRefresh())},c.prototype.adjustRows=function(a,b,c){var d=this,e=d.minRowsToRender(),f=d.visibleRowCache,g=f.length-e;"undefined"!=typeof b&&null!==b||!a||(b=a/d.getVerticalScrollLength());var h=Math.ceil(Math.min(g,g*b));h>g&&(h=g);var i=[];if(f.length>d.grid.options.virtualizationThreshold){if("undefined"!=typeof a&&null!==a){if(!d.grid.suppressParentScrollDown&&d.prevScrollTop<a&&h<d.prevRowScrollIndex+d.grid.options.scrollThreshold&&g>h)return;if(!d.grid.suppressParentScrollUp&&d.prevScrollTop>a&&h>d.prevRowScrollIndex-d.grid.options.scrollThreshold&&g>h)return}var j={},k={};j=Math.max(0,h-d.grid.options.excessRows),k=Math.min(f.length,h+e+d.grid.options.excessRows),i=[j,k]}else{var l=d.visibleRowCache.length;i=[0,Math.max(l,e+d.grid.options.excessRows)]}d.updateViewableRowRange(i),d.prevRowScrollIndex=h},c.prototype.adjustColumns=function(a,b){var c=this,d=c.minColumnsToRender(),e=c.visibleColumnCache,f=e.length-d;if(("undefined"==typeof b||null===b)&&a){var g=c.getCanvasWidth()-c.getViewportWidth();b=a/g}var h=Math.ceil(Math.min(f,f*b));h>f&&(h=f);var i=[];if(e.length>c.grid.options.columnVirtualizationThreshold&&c.getCanvasWidth()>c.getViewportWidth()){var j=Math.max(0,h-c.grid.options.excessColumns),k=Math.min(e.length,h+d+c.grid.options.excessColumns);i=[j,k]}else{var l=c.visibleColumnCache.length;i=[0,Math.max(l,d+c.grid.options.excessColumns)]}c.updateViewableColumnRange(i),c.prevColumnScrollIndex=h},c.prototype.updateViewableRowRange=function(a){var b=this.visibleRowCache.slice(a[0],a[1]);this.currentTopRow=a[0],this.setRenderedRows(b)},c.prototype.updateViewableColumnRange=function(a){var b=this.visibleColumnCache.slice(a[0],a[1]);this.currentFirstColumn=a[0],this.setRenderedColumns(b)},c.prototype.headerCellWrapperStyle=function(){var a=this;if(0!==a.currentFirstColumn){var b=a.columnOffset;return a.grid.isRTL()?{"margin-right":b+"px"}:{"margin-left":b+"px"}}return null},c.prototype.updateColumnWidths=function(){var b=this,c=[],d=0,e=0,f="",g=b.grid.getViewportWidth()-b.grid.scrollbarWidth,h=[];angular.forEach(b.grid.renderContainers,function(a,b){h=h.concat(a.visibleColumnCache)}),h.forEach(function(b,f){var h=0;b.visible&&(angular.isNumber(b.width)?(h=parseInt(b.width,10),e+=h,b.drawnWidth=h):a.endsWith(b.width,"%")?(h=parseInt(parseInt(b.width.replace(/%/g,""),10)/100*g),h>b.maxWidth&&(h=b.maxWidth),h<b.minWidth&&(h=b.minWidth),e+=h,b.drawnWidth=h):angular.isString(b.width)&&-1!==b.width.indexOf("*")&&(d+=b.width.length,c.push(b)))});var i=g-e;if(c.length>0){var j=i/d;c.forEach(function(a){var b=parseInt(a.width.length*j,10);b>a.maxWidth&&(b=a.maxWidth),b<a.minWidth&&(b=a.minWidth),e+=b,a.drawnWidth=b})}for(var k=function(a){a.drawnWidth<a.maxWidth&&l>0&&(a.drawnWidth++,e++,l--,m=!0)},l=g-e,m=!0;l>0&&m;)m=!1,c.forEach(k);var n=function(a){a.drawnWidth>a.minWidth&&o>0&&(a.drawnWidth--,e--,o--,m=!0)},o=e-g;for(m=!0;o>0&&m;)m=!1,c.forEach(n);var p=0;b.visibleColumnCache.forEach(function(a){a.visible&&(p+=a.drawnWidth)}),h.forEach(function(a){f+=a.getColClassDefinition()}),b.canvasWidth=p,this.columnStyles=f},c.prototype.needsHScrollbarPlaceholder=function(){return this.grid.options.enableHorizontalScrollbar&&!this.hasHScrollbar&&!this.grid.disableScrolling},c.prototype.getViewportStyle=function(){var a=this,c={};return a.hasHScrollbar=!1,a.hasVScrollbar=!1,a.grid.disableScrolling?(c["overflow-x"]="hidden",c["overflow-y"]="hidden",c):("body"===a.name?(a.hasHScrollbar=a.grid.options.enableHorizontalScrollbar!==b.scrollbars.NEVER,a.grid.isRTL()?a.grid.hasLeftContainerColumns()||(a.hasVScrollbar=a.grid.options.enableVerticalScrollbar!==b.scrollbars.NEVER):a.grid.hasRightContainerColumns()||(a.hasVScrollbar=a.grid.options.enableVerticalScrollbar!==b.scrollbars.NEVER)):"left"===a.name?a.hasVScrollbar=a.grid.isRTL()?a.grid.options.enableVerticalScrollbar!==b.scrollbars.NEVER:!1:a.hasVScrollbar=a.grid.isRTL()?!1:a.grid.options.enableVerticalScrollbar!==b.scrollbars.NEVER,c["overflow-x"]=a.hasHScrollbar?"scroll":"hidden",c["overflow-y"]=a.hasVScrollbar?"scroll":"hidden",c)},c}])}(),function(){angular.module("ui.grid").factory("GridRow",["gridUtil",function(a){function b(b,c,d){this.grid=d,this.entity=b,this.uid=a.nextUid(),this.visible=!0,this.$$height=d.options.rowHeight}return Object.defineProperty(b.prototype,"height",{get:function(){return this.$$height},set:function(a){a!==this.$$height&&(this.grid.updateCanvasHeight(),this.$$height=a)}}),b.prototype.getQualifiedColField=function(a){return"row."+this.getEntityQualifiedColField(a)},b.prototype.getEntityQualifiedColField=function(b){return a.preEval("entity."+b.field)},b.prototype.setRowInvisible=function(a){a&&a.setThisRowInvisible&&a.setThisRowInvisible("user")},b.prototype.clearRowInvisible=function(a){a&&a.clearThisRowInvisible&&a.clearThisRowInvisible("user")},b.prototype.setThisRowInvisible=function(a,b){this.invisibleReason||(this.invisibleReason={}),this.invisibleReason[a]=!0,this.evaluateRowVisibility(b)},b.prototype.clearThisRowInvisible=function(a,b){"undefined"!=typeof this.invisibleReason&&delete this.invisibleReason[a],this.evaluateRowVisibility(b)},b.prototype.evaluateRowVisibility=function(a){var b=!0;"undefined"!=typeof this.invisibleReason&&angular.forEach(this.invisibleReason,function(a,c){a&&(b=!1)}),("undefined"==typeof this.visible||this.visible!==b)&&(this.visible=b,a||(this.grid.queueGridRefresh(),this.grid.api.core.raise.rowsVisibleChanged(this)))},b}])}(),function(){"use strict";angular.module("ui.grid").factory("GridRowColumn",["$parse","$filter",function(a,b){var c=function d(a,b){if(!(this instanceof d))throw"Using GridRowColumn as a function insead of as a constructor. Must be called with `new` keyword";this.row=a,this.col=b};return c.prototype.getIntersectionValueRaw=function(){var b=a(this.row.getEntityQualifiedColField(this.col)),c=this.row;return b(c)},c.prototype.getIntersectionValueFiltered=function(){var a=this.getIntersectionValueRaw();if(this.col.cellFilter&&""!==this.col.cellFilter){var c=function(a){try{return b(a)}catch(c){return null}},d=c(this.col.cellFilter);if(d)a=d(a);else{var e,f=/([^:]*):([^:]*):?([\s\S]+)?/;null!==(e=f.exec(this.col.cellFilter))&&(a=b(e[1])(a,e[2],e[3]))}}return a},c}])}(),function(){angular.module("ui.grid").factory("ScrollEvent",["gridUtil",function(a){function b(b,c,d,e){var f=this;if(!b)throw new Error("grid argument is required");f.grid=b,f.source=e,f.withDelay=!0,f.sourceRowContainer=c,f.sourceColContainer=d,f.newScrollLeft=null,f.newScrollTop=null,f.x=null,f.y=null,f.verticalScrollLength=-9999999,f.horizontalScrollLength=-999999,f.fireThrottledScrollingEvent=a.throttle(function(a){f.grid.scrollContainers(a,f)},f.grid.options.wheelScrollThrottle,{trailing:!0})}return b.prototype.getNewScrollLeft=function(b,c){var d=this;if(!d.newScrollLeft){var e,f=b.getCanvasWidth()-b.getViewportWidth(),g=a.normalizeScrollLeft(c,d.grid);if("undefined"!=typeof d.x.percentage&&void 0!==d.x.percentage)e=d.x.percentage;else{if("undefined"==typeof d.x.pixels||void 0===d.x.pixels)throw new Error("No percentage or pixel value provided for scroll event X axis");e=d.x.percentage=(g+d.x.pixels)/f}return Math.max(0,e*f)}return d.newScrollLeft},b.prototype.getNewScrollTop=function(a,b){var c=this;if(!c.newScrollTop){var d,e=a.getVerticalScrollLength(),f=b[0].scrollTop;if("undefined"!=typeof c.y.percentage&&void 0!==c.y.percentage)d=c.y.percentage;else{if("undefined"==typeof c.y.pixels||void 0===c.y.pixels)throw new Error("No percentage or pixel value provided for scroll event Y axis");d=c.y.percentage=(f+c.y.pixels)/e}return Math.max(0,d*e)}return c.newScrollTop},b.prototype.atTop=function(a){return this.y&&(0===this.y.percentage||this.verticalScrollLength<0)&&0===a},b.prototype.atBottom=function(a){return this.y&&(1===this.y.percentage||0===this.verticalScrollLength)&&a>0},b.prototype.atLeft=function(a){return this.x&&(0===this.x.percentage||this.horizontalScrollLength<0)&&0===a},b.prototype.atRight=function(a){return this.x&&(1===this.x.percentage||0===this.horizontalScrollLength)&&a>0},b.Sources={ViewPortScroll:"ViewPortScroll",RenderContainerMouseWheel:"RenderContainerMouseWheel",RenderContainerTouchMove:"RenderContainerTouchMove",Other:99},b}])}(),function(){"use strict";angular.module("ui.grid").service("gridClassFactory",["gridUtil","$q","$compile","$templateCache","uiGridConstants","Grid","GridColumn","GridRow",function(a,b,c,d,e,f,g,h){var i={createGrid:function(d){d="undefined"!=typeof d?d:{},d.id=a.newId();var e=new f(d);if(e.options.rowTemplate){var g=b.defer();e.getRowTemplateFn=g.promise,a.getTemplate(e.options.rowTemplate).then(function(a){var b=c(a);g.resolve(b)},function(a){throw new Error("Couldn't fetch/use row template '"+e.options.rowTemplate+"'")})}return e.registerColumnBuilder(i.defaultColumnBuilder),e.registerRowBuilder(i.rowTemplateAssigner),e.registerRowsProcessor(function(a){return a.forEach(function(a){a.evaluateRowVisibility(!0)},50),a}),e.registerColumnsProcessor(function(a){return a.forEach(function(a){a.visible=!0}),a},50),e.registerColumnsProcessor(function(a){return a.forEach(function(a){a.colDef.visible===!1&&(a.visible=!1)}),a},50),e.registerRowsProcessor(e.searchRows,100),e.options.externalSort&&angular.isFunction(e.options.externalSort)?e.registerRowsProcessor(e.options.externalSort,200):e.registerRowsProcessor(e.sortByColumn,200),e},defaultColumnBuilder:function(c,d,f){var g=[],h=function(b,f,h,i,j){c[b]?d[f]=c[b]:d[f]=h,g.push(a.getTemplate(d[f]).then(function(a){angular.isFunction(a)&&(a=a());var c="cellTooltip"===j?"col.cellTooltip(row,col)":"col.headerTooltip(col)";
+j&&d[j]===!1?a=a.replace(e.TOOLTIP,""):j&&d[j]&&(a=a.replace(e.TOOLTIP,'title="{{'+c+' CUSTOM_FILTERS }}"')),i?d[b]=a.replace(e.CUSTOM_FILTERS,function(){return d[i]?"|"+d[i]:""}):d[b]=a},function(a){throw new Error("Couldn't fetch/use colDef."+b+" '"+c[b]+"'")}))};return h("cellTemplate","providedCellTemplate","ui-grid/uiGridCell","cellFilter","cellTooltip"),d.cellTemplatePromise=g[0],h("headerCellTemplate","providedHeaderCellTemplate","ui-grid/uiGridHeaderCell","headerCellFilter","headerTooltip"),h("footerCellTemplate","providedFooterCellTemplate","ui-grid/uiGridFooterCell","footerCellFilter"),h("filterHeaderTemplate","providedFilterHeaderTemplate","ui-grid/ui-grid-filter"),d.compiledElementFnDefer=b.defer(),b.all(g)},rowTemplateAssigner:function(d){var e=this;if(d.rowTemplate){var f=b.defer();d.getRowTemplateFn=f.promise,a.getTemplate(d.rowTemplate).then(function(a){var b=c(a);f.resolve(b)},function(a){throw new Error("Couldn't fetch/use row template '"+d.rowTemplate+"'")})}else d.rowTemplate=e.options.rowTemplate,d.getRowTemplateFn=e.getRowTemplateFn;return d.getRowTemplateFn}};return i}])}(),function(){function a(a){return a.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var b=angular.module("ui.grid");b.service("rowSearcher",["gridUtil","uiGridConstants",function(b,c){var d=c.filter.CONTAINS,e={};return e.getTerm=function(a){if("undefined"==typeof a.term)return a.term;var b=a.term;return"string"==typeof b&&(b=b.trim()),b},e.stripTerm=function(b){var c=e.getTerm(b);return"string"==typeof c?a(c.replace(/(^\*|\*$)/g,"")):c},e.guessCondition=function(a){if("undefined"==typeof a.term||!a.term)return d;var b=e.getTerm(a);if(/\*/.test(b)){var c="";a.flags&&a.flags.caseSensitive||(c+="i");var f=b.replace(/(\\)?\*/g,function(a,b){return b?a:"[\\s\\S]*?"});return new RegExp("^"+f+"$",c)}return d},e.setupFilters=function(a){for(var d=[],f=a.length,g=0;f>g;g++){var h=a[g];if(h.noTerm||!b.isNullOrUndefined(h.term)){var i={},j="";h.flags&&h.flags.caseSensitive||(j+="i"),b.isNullOrUndefined(h.term)||(i.term=e.stripTerm(h)),h.condition?i.condition=h.condition:i.condition=e.guessCondition(h),i.flags=angular.extend({caseSensitive:!1,date:!1},h.flags),i.condition===c.filter.STARTS_WITH&&(i.startswithRE=new RegExp("^"+i.term,j)),i.condition===c.filter.ENDS_WITH&&(i.endswithRE=new RegExp(i.term+"$",j)),i.condition===c.filter.CONTAINS&&(i.containsRE=new RegExp(i.term,j)),i.condition===c.filter.EXACT&&(i.exactRE=new RegExp("^"+i.term+"$",j)),d.push(i)}}return d},e.runColumnFilter=function(a,b,d,e){var f,g=typeof e.condition,h=e.term;if(f=d.filterCellFiltered?a.getCellDisplayValue(b,d):a.getCellValue(b,d),e.condition instanceof RegExp)return e.condition.test(f);if("function"===g)return e.condition(h,f,b,d);if(e.startswithRE)return e.startswithRE.test(f);if(e.endswithRE)return e.endswithRE.test(f);if(e.containsRE)return e.containsRE.test(f);if(e.exactRE)return e.exactRE.test(f);if(e.condition===c.filter.NOT_EQUAL){var i=new RegExp("^"+h+"$");return!i.exec(f)}if("number"==typeof f&&"string"==typeof h){var j=parseFloat(h.replace(/\\\./,".").replace(/\\\-/,"-"));isNaN(j)||(h=j)}return e.flags.date===!0&&(f=new Date(f),h=new Date(h.replace(/\\/g,""))),e.condition===c.filter.GREATER_THAN?f>h:e.condition===c.filter.GREATER_THAN_OR_EQUAL?f>=h:e.condition===c.filter.LESS_THAN?h>f:e.condition===c.filter.LESS_THAN_OR_EQUAL?h>=f:!0},e.searchColumn=function(a,b,c,d){if(a.options.useExternalFiltering)return!0;for(var f=d.length,g=0;f>g;g++){var h=d[g],i=e.runColumnFilter(a,b,c,h);if(!i)return!1}return!0},e.search=function(a,c,d){if(c){if(!a.options.enableFiltering)return c;for(var f=[],g=d.length,h=function(a){var c=!1;return a.forEach(function(a){(!b.isNullOrUndefined(a.term)&&""!==a.term||a.noTerm)&&(c=!0)}),c},i=0;g>i;i++){var j=d[i];"undefined"!=typeof j.filters&&h(j.filters)&&f.push({col:j,filters:e.setupFilters(j.filters)})}if(f.length>0){for(var k=function(a,b,c,d){b.visible&&!e.searchColumn(a,b,c,d)&&(b.visible=!1)},l=function(a,b){for(var d=c.length,e=0;d>e;e++)k(a,c[e],b.col,b.filters)},m=f.length,n=0;m>n;n++)l(a,f[n]);a.api.core.raise.rowsVisibleChanged&&a.api.core.raise.rowsVisibleChanged()}return c}},e}])}(),function(){var a=angular.module("ui.grid");a.service("rowSorter",["$parse","uiGridConstants",function(a,b){var c="("+b.CURRENCY_SYMBOLS.map(function(a){return"\\"+a}).join("|")+")?",d=(new RegExp("^[-+]?"+c+"[\\d,.]+"+c+"%?$"),{colSortFnCache:{}});return d.guessSortFn=function(a){switch(a){case"number":return d.sortNumber;case"numberStr":return d.sortNumberStr;case"boolean":return d.sortBool;case"string":return d.sortAlpha;case"date":return d.sortDate;case"object":return d.basicSort;default:throw new Error("No sorting function found for type:"+a)}},d.handleNulls=function(a,b){if(!a&&0!==a&&a!==!1||!b&&0!==b&&b!==!1){if(!a&&0!==a&&a!==!1&&!b&&0!==b&&b!==!1)return 0;if(!a&&0!==a&&a!==!1)return 1;if(!b&&0!==b&&b!==!1)return-1}return null},d.basicSort=function(a,b){var c=d.handleNulls(a,b);return null!==c?c:a===b?0:b>a?-1:1},d.sortNumber=function(a,b){var c=d.handleNulls(a,b);return null!==c?c:a-b},d.sortNumberStr=function(a,b){var c=d.handleNulls(a,b);if(null!==c)return c;var e,f,g=!1,h=!1;return e=parseFloat(a.replace(/[^0-9.-]/g,"")),isNaN(e)&&(g=!0),f=parseFloat(b.replace(/[^0-9.-]/g,"")),isNaN(f)&&(h=!0),g&&h?0:g?1:h?-1:e-f},d.sortAlpha=function(a,b){var c=d.handleNulls(a,b);if(null!==c)return c;var e=a.toString().toLowerCase(),f=b.toString().toLowerCase();return e===f?0:f>e?-1:1},d.sortDate=function(a,b){var c=d.handleNulls(a,b);if(null!==c)return c;a instanceof Date||(a=new Date(a)),b instanceof Date||(b=new Date(b));var e=a.getTime(),f=b.getTime();return e===f?0:f>e?-1:1},d.sortBool=function(a,b){var c=d.handleNulls(a,b);return null!==c?c:a&&b?0:a||b?a?1:-1:0},d.getSortFn=function(a,b,c){var e;return d.colSortFnCache[b.colDef.name]?e=d.colSortFnCache[b.colDef.name]:void 0!==b.sortingAlgorithm?(e=b.sortingAlgorithm,d.colSortFnCache[b.colDef.name]=b.sortingAlgorithm):b.sortCellFiltered&&b.cellFilter?(e=d.sortAlpha,d.colSortFnCache[b.colDef.name]=e):(e=d.guessSortFn(b.colDef.type),e?d.colSortFnCache[b.colDef.name]=e:e=d.sortAlpha),e},d.prioritySort=function(a,b){return void 0!==a.sort.priority&&void 0!==b.sort.priority?a.sort.priority<b.sort.priority?-1:a.sort.priority===b.sort.priority?0:1:a.sort.priority||0===a.sort.priority?-1:b.sort.priority||0===b.sort.priority?1:0},d.sort=function(a,c,e){if(c){if(a.options.useExternalSorting)return c;var f=[];if(e.forEach(function(a){!a.sort||a.sort.ignoreSort||!a.sort.direction||a.sort.direction!==b.ASC&&a.sort.direction!==b.DESC||f.push(a)}),f=f.sort(d.prioritySort),0===f.length)return c;var g,h,i=function(a,b){a.entity.$$uiGridIndex=b};c.forEach(i);var j=c.slice(0),k=function(c,e){for(var i,k=0,l=0;0===k&&l<f.length;){g=f[l],h=f[l].sort.direction,i=d.getSortFn(a,g,j);var m,n;g.sortCellFiltered?(m=a.getCellDisplayValue(c,g),n=a.getCellDisplayValue(e,g)):(m=a.getCellValue(c,g),n=a.getCellValue(e,g)),k=i(m,n,c,e,h),l++}return 0===k?c.entity.$$uiGridIndex-e.entity.$$uiGridIndex:h===b.ASC?k:0-k},l=c.sort(k),m=function(a,b){delete a.entity.$$uiGridIndex};return c.forEach(m),l}},d}])}(),function(){function a(a){var b=a;return"undefined"!=typeof b.length&&b.length&&(b=a[0]),b.ownerDocument.defaultView.getComputedStyle(b,null)}function b(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0,h=["Top","Right","Bottom","Left"];4>f;f+=2){var i=h[f];if("margin"===c){var j=parseFloat(e[c+i]);isNaN(j)||(g+=j)}if(d){if("content"===c){var k=parseFloat(e["padding"+i]);isNaN(k)||(g-=k)}if("margin"!==c){var l=parseFloat(e["border"+i+"Width"]);isNaN(l)||(g-=l)}}else{var m=parseFloat(e["padding"+i]);if(isNaN(m)||(g+=m),"padding"!==c){var n=parseFloat(e["border"+i+"Width"]);isNaN(n)||(g+=n)}}}return g}function c(c,d,e){var f,h=!0,i=a(c),j="border-box"===i.boxSizing;if(0>=f||null==f){if(f=i[d],(0>f||null==f)&&(f=c.style[d]),g.test(f))return f;h=j&&!0,f=parseFloat(f)||0}var k=f+b(c,d,e||(j?"border":"content"),h,i);return k}function d(b){b=angular.element(b)[0];var c=b.parentElement;return c||(c=document.getElementsByTagName("body")[0]),parseInt(a(c).fontSize)||parseInt(a(b).fontSize)||16}var e,f=angular.module("ui.grid");"function"!=typeof Function.prototype.bind&&(e=function(){var a=Array.prototype.slice;return function(b){var c=this,d=a.call(arguments,1);return d.length?function(){return arguments.length?c.apply(b,d.concat(a.call(arguments))):c.apply(b,d)}:function(){return arguments.length?c.apply(b,arguments):c.call(b)}}});var g=new RegExp("^("+/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source+")(?!px)[a-z%]+$","i"),h=/^(block|none|table(?!-c[ea]).+)/,i={position:"absolute",visibility:"hidden",display:"block"},j=["0","0","0","0"],k="uiGrid-";f.service("gridUtil",["$log","$window","$document","$http","$templateCache","$timeout","$interval","$injector","$q","$interpolate","uiGridConstants",function(f,g,l,m,n,o,p,q,r,s,t){function u(a,b){var c=angular.element(this),d=0,e=0,f=0,g=0;if(b.originalEvent&&(b=b.originalEvent),"detail"in b&&(f=-1*b.detail),"wheelDelta"in b&&(f=b.wheelDelta),"wheelDeltaY"in b&&(f=b.wheelDeltaY),"wheelDeltaX"in b&&(e=-1*b.wheelDeltaX),"axis"in b&&b.axis===b.HORIZONTAL_AXIS&&(e=-1*f,f=0),d=0===f?e:f,"deltaY"in b&&(f=-1*b.deltaY,d=f),"deltaX"in b&&(e=b.deltaX,0===f&&(d=-1*e)),0!==f||0!==e){if(1===b.deltaMode){var h=c.data("mousewheel-line-height");d*=h,f*=h,e*=h}else if(2===b.deltaMode){var i=c.data("mousewheel-page-height");d*=i,f*=i,e*=i}g=Math.max(Math.abs(f),Math.abs(e)),(!z||z>g)&&(z=g,w(b,g)&&(z/=40)),d=Math[d>=1?"floor":"ceil"](d/z),e=Math[e>=1?"floor":"ceil"](e/z),f=Math[f>=1?"floor":"ceil"](f/z),b.deltaMode=0;var j={originalEvent:b,deltaX:e,deltaY:f,deltaFactor:z,preventDefault:function(){b.preventDefault()},stopPropagation:function(){b.stopPropagation()}};y&&clearTimeout(y),y=setTimeout(v,200),a.call(c[0],j)}}function v(){z=null}function w(a,b){return"mousewheel"===a.type&&b%120===0}var x={augmentWidthOrHeight:b,getStyles:a,createBoundedWrapper:function(a,b){return function(){return b.apply(a,arguments)}},readableColumnName:function(a){return"undefined"==typeof a||void 0===a||null===a?a:("string"!=typeof a&&(a=String(a)),a.replace(/_+/g," ").replace(/^[A-Z]+$/,function(a){return angular.lowercase(angular.uppercase(a.charAt(0))+a.slice(1))}).replace(/([\w\u00C0-\u017F]+)/g,function(a){return angular.uppercase(a.charAt(0))+a.slice(1)}).replace(/(\w+?(?=[A-Z]))/g,"$1 "))},getColumnsFromData:function(a,b){var c=[];if(!a||"undefined"==typeof a[0]||void 0===a[0])return[];angular.isUndefined(b)&&(b=[]);var d=a[0];return angular.forEach(d,function(a,d){-1===b.indexOf(d)&&c.push({name:d})}),c},newId:function(){var a=(new Date).getTime();return function(){return a+=1}}(),getTemplate:function(a){if(n.get(a))return x.postProcessTemplate(n.get(a));if(a.hasOwnProperty("then"))return a.then(x.postProcessTemplate);try{if(angular.element(a).length>0)return r.when(a).then(x.postProcessTemplate)}catch(b){}return x.logDebug("fetching url",a),m({method:"GET",url:a}).then(function(b){var c=b.data.trim();return n.put(a,c),c},function(b){throw new Error("Could not get template "+a+": "+b)}).then(x.postProcessTemplate)},postProcessTemplate:function(a){var b=s.startSymbol(),c=s.endSymbol();return("{{"!==b||"}}"!==c)&&(a=a.replace(/\{\{/g,b),a=a.replace(/\}\}/g,c)),r.when(a)},guessType:function(a){var b=typeof a;switch(b){case"number":case"boolean":case"string":return b;default:return angular.isDate(a)?"date":"object"}},elementWidth:function(a){},elementHeight:function(a){},getScrollbarWidth:function(){var a=document.createElement("div");a.style.visibility="hidden",a.style.width="100px",a.style.msOverflowStyle="scrollbar",document.body.appendChild(a);var b=a.offsetWidth;a.style.overflow="scroll";var c=document.createElement("div");c.style.width="100%",a.appendChild(c);var d=c.offsetWidth;return a.parentNode.removeChild(a),b-d},swap:function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},fakeElement:function(a,b,c,d){var e,f,g=angular.element(a).clone()[0];for(f in b)g.style[f]=b[f];return angular.element(document.body).append(g),e=c.call(g,g),angular.element(g).remove(),e},normalizeWheelEvent:function(a){var b,c,d,e=a||window.event,f=([].slice.call(arguments,1),0),g=0,h=0,i=0,j=0;return e.originalEvent&&(e=e.originalEvent),e.wheelDelta&&(f=e.wheelDelta),e.detail&&(f=-1*e.detail),h=f,void 0!==e.axis&&e.axis===e.HORIZONTAL_AXIS&&(h=0,g=-1*f),e.deltaY&&(h=-1*e.deltaY,f=h),e.deltaX&&(g=e.deltaX,f=-1*g),void 0!==e.wheelDeltaY&&(h=e.wheelDeltaY),void 0!==e.wheelDeltaX&&(g=e.wheelDeltaX),i=Math.abs(f),(!b||b>i)&&(b=i),j=Math.max(Math.abs(h),Math.abs(g)),(!c||c>j)&&(c=j),d=f>0?"floor":"ceil",f=Math[d](f/b),g=Math[d](g/c),h=Math[d](h/c),{delta:f,deltaX:g,deltaY:h}},isTouchEnabled:function(){var a;return("ontouchstart"in g||g.DocumentTouch&&l instanceof DocumentTouch)&&(a=!0),a},isNullOrUndefined:function(a){return void 0===a||null===a?!0:!1},endsWith:function(a,b){return a&&b&&"string"==typeof a?-1!==a.indexOf(b,a.length-b.length):!1},arrayContainsObjectWithProperty:function(a,b,c){var d=!1;return angular.forEach(a,function(a){a[b]===c&&(d=!0)}),d},numericAndNullSort:function(a,b){return null===a?1:null===b?-1:null===a&&null===b?0:a-b},disableAnimations:function(a){var b;try{b=q.get("$animate"),angular.version.major>1||1===angular.version.major&&angular.version.minor>=4?b.enabled(a,!1):b.enabled(!1,a)}catch(c){}},enableAnimations:function(a){var b;try{return b=q.get("$animate"),angular.version.major>1||1===angular.version.major&&angular.version.minor>=4?b.enabled(a,!0):b.enabled(!0,a),b}catch(c){}},nextUid:function(){for(var a,b=j.length;b;){if(b--,a=j[b].charCodeAt(0),57===a)return j[b]="A",k+j.join("");if(90!==a)return j[b]=String.fromCharCode(a+1),k+j.join("");j[b]="0"}return j.unshift("0"),k+j.join("")},hashKey:function(a){var b,c=typeof a;return"object"===c&&null!==a?"function"==typeof(b=a.$$hashKey)?b=a.$$hashKey():"undefined"!=typeof a.$$hashKey&&a.$$hashKey?b=a.$$hashKey:void 0===b&&(b=a.$$hashKey=x.nextUid()):b=a,c+":"+b},resetUids:function(){j=["0","0","0"]},logError:function(a){t.LOG_ERROR_MESSAGES&&f.error(a)},logWarn:function(a){t.LOG_WARN_MESSAGES&&f.warn(a)},logDebug:function(){t.LOG_DEBUG_MESSAGES&&f.debug.apply(f,arguments)}};x.focus={queue:[],byId:function(a,b){this._purgeQueue();var c=o(function(){var c=(b&&b.id?b.id+"-":"")+a,d=g.document.getElementById(c);d?d.focus():x.logWarn("[focus.byId] Element id "+c+" was not found.")});return this.queue.push(c),c},byElement:function(a){if(!angular.isElement(a))return x.logWarn("Trying to focus on an element that isn't an element."),r.reject("not-element");a=angular.element(a),this._purgeQueue();var b=o(function(){a&&a[0].focus()});return this.queue.push(b),b},bySelector:function(a,b,c){var d=this;if(!angular.isElement(a))throw new Error("The parent element is not an element.");a=angular.element(a);var e=function(){var c=a[0].querySelector(b);return d.byElement(c)};if(this._purgeQueue(),c){var f=o(e);return this.queue.push(o(e)),f}return e()},_purgeQueue:function(){this.queue.forEach(function(a){o.cancel(a)}),this.queue=[]}},["width","height"].forEach(function(b){var d=angular.uppercase(b.charAt(0))+b.substr(1);x["element"+d]=function(d,e){var f=d;if(f&&"undefined"!=typeof f.length&&f.length&&(f=d[0]),f){var g=a(f);return 0===f.offsetWidth&&h.test(g.display)?x.swap(f,i,function(){return c(f,b,e)}):c(f,b,e)}return null},x["outerElement"+d]=function(a,b){return a?x["element"+d].call(this,a,b?"margin":"border"):null}}),x.closestElm=function(a,b){"undefined"!=typeof a.length&&a.length&&(a=a[0]);var c;["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"].some(function(a){return"function"==typeof document.body[a]?(c=a,!0):!1});for(var d;null!==a;){if(d=a.parentElement,null!==d&&d[c](b))return d;a=d}return null},x.type=function(a){var b=Function.prototype.toString.call(a.constructor);return b.match(/function (.*?)\(/)[1]},x.getBorderSize=function(b,c){"undefined"!=typeof b.length&&b.length&&(b=b[0]);var d=a(b);c=c?"border"+c.charAt(0).toUpperCase()+c.slice(1):"border",c+="Width";var e=parseInt(d[c],10);return isNaN(e)?0:e},x.detectBrowser=function(){var a=g.navigator.userAgent,b={chrome:/chrome/i,safari:/safari/i,firefox:/firefox/i,ie:/internet explorer|trident\//i};for(var c in b)if(b[c].test(a))return c;return"unknown"},x.rtlScrollType=function B(){if(B.type)return B.type;var a=angular.element('<div dir="rtl" style="font-size: 14px; width: 1px; height: 1px; position: absolute; top: -1000px; overflow: scroll">A</div>')[0],b="reverse";return document.body.appendChild(a),a.scrollLeft>0?b="default":(a.scrollLeft=1,0===a.scrollLeft&&(b="negative")),angular.element(a).remove(),B.type=b,b},x.normalizeScrollLeft=function(a,b){"undefined"!=typeof a.length&&a.length&&(a=a[0]);var c=a.scrollLeft;if(b.isRTL())switch(x.rtlScrollType()){case"default":return a.scrollWidth-c-a.clientWidth;case"negative":return Math.abs(c);case"reverse":return c}return c},x.denormalizeScrollLeft=function(a,b,c){if("undefined"!=typeof a.length&&a.length&&(a=a[0]),c.isRTL())switch(x.rtlScrollType()){case"default":var d=a.scrollWidth-a.clientWidth;return d-b;case"negative":return-1*b;case"reverse":return b}return b},x.preEval=function(a){var b=t.BRACKET_REGEXP.exec(a);if(b)return(b[1]?x.preEval(b[1]):b[1])+b[2]+(b[3]?x.preEval(b[3]):b[3]);a=a.replace(t.APOS_REGEXP,"\\'");var c=a.split(t.DOT_REGEXP),d=[c.shift()];return angular.forEach(c,function(a){d.push(a.replace(t.FUNC_REGEXP,"']$1"))}),d.join("['")},x.debounce=function(a,b,c){function d(){g=this,f=arguments;var d=function(){e=null,c||(h=a.apply(g,f))},i=c&&!e;return e&&o.cancel(e),e=o(d,b),i&&(h=a.apply(g,f)),h}var e,f,g,h;return d.cancel=function(){o.cancel(e),e=null},d},x.throttle=function(a,b,c){function d(b){g=+new Date,a.apply(e,f),p(function(){h=null},0,1)}c=c||{};var e,f,g=0,h=null;return function(){if(e=this,f=arguments,null===h){var a=+new Date-g;a>b?d():c.trailing&&(h=p(d,b-a,1))}}},x.on={},x.off={},x._events={},x.addOff=function(a){x.off[a]=function(b,c){var d=x._events[a].indexOf(c);d>0&&x._events[a].removeAt(d)}};var y,z,A="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"];return x.on.mousewheel=function(a,b){if(a&&b){var c=angular.element(a);c.data("mousewheel-line-height",d(c)),c.data("mousewheel-page-height",x.elementHeight(c)),c.data("mousewheel-callbacks")||c.data("mousewheel-callbacks",{});var f=c.data("mousewheel-callbacks");f[b]=(Function.prototype.bind||e).call(u,c[0],b);for(var g=A.length;g;)c.on(A[--g],f[b])}},x.off.mousewheel=function(a,b){var c=angular.element(a),d=c.data("mousewheel-callbacks"),e=d[b];if(e)for(var f=A.length;f;)c.off(A[--f],e);delete d[b],0===Object.keys(d).length&&(c.removeData("mousewheel-line-height"),c.removeData("mousewheel-page-height"),c.removeData("mousewheel-callbacks"))},x}]),f.filter("px",function(){return function(a){return a.match(/^[\d\.]+$/)?a+"px":a}})}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){var b={aggregate:{label:"položky"},groupPanel:{description:"Přesuňte záhlaví zde pro vytvoření skupiny dle sloupce."},search:{placeholder:"Hledat...",showingItems:"Zobrazuji položky:",selectedItems:"Vybrané položky:",totalItems:"Celkem položek:",size:"Velikost strany:",first:"První strana",next:"Další strana",previous:"Předchozí strana",last:"Poslední strana"},menu:{text:"Vyberte sloupec:"},sort:{ascending:"Seřadit od A-Z",descending:"Seřadit od Z-A",remove:"Odebrat seřazení"},column:{hide:"Schovat sloupec"},aggregation:{count:"celkem řádků: ",sum:"celkem: ",avg:"avg: ",min:"min.: ",max:"max.: "},pinning:{pinLeft:"Zamknout vlevo",pinRight:"Zamknout vpravo",unpin:"Odemknout"},gridMenu:{columns:"Sloupce:",importerTitle:"Importovat soubor",exporterAllAsCsv:"Exportovat všechna data do csv",exporterVisibleAsCsv:"Exportovat viditelná data do csv",exporterSelectedAsCsv:"Exportovat vybraná data do csv",exporterAllAsPdf:"Exportovat všechna data do pdf",exporterVisibleAsPdf:"Exportovat viditelná data do pdf",exporterSelectedAsPdf:"Exportovat vybraná data do pdf",clearAllFilters:"Odstranit všechny filtry"},importer:{noHeaders:"Názvy sloupců se nepodařilo získat, obsahuje soubor záhlaví?",noObjects:"Data se nepodařilo zpracovat, obsahuje soubor řádky mimo záhlaví?",invalidCsv:"Soubor nelze zpracovat, jedná se o CSV?",invalidJson:"Soubor nelze zpracovat, je to JSON?",jsonNotArray:"Soubor musí obsahovat json. Ukončuji.."},pagination:{sizes:"položek na stránku",totalItems:"položek"},grouping:{group:"Seskupit",ungroup:"Odebrat seskupení",aggregate_count:"Agregace: Count",aggregate_sum:"Agregace: Sum",aggregate_max:"Agregace: Max",aggregate_min:"Agregace: Min",aggregate_avg:"Agregace: Avg",aggregate_remove:"Agregace: Odebrat"}};return a.add("cs",b),a.add("cz",b),a.add("cs-cz",b),a.add("cs-CZ",b),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("da",{aggregate:{label:"artikler"},groupPanel:{description:"Grupér rækker udfra en kolonne ved at trække dens overskift hertil."},search:{placeholder:"Søg...",showingItems:"Viste rækker:",selectedItems:"Valgte rækker:",totalItems:"Rækker totalt:",size:"Side størrelse:",first:"Første side",next:"Næste side",previous:"Forrige side",last:"Sidste side"},menu:{text:"Vælg kolonner:"},column:{hide:"Skjul kolonne"},aggregation:{count:"samlede rækker: ",sum:"smalede: ",avg:"gns: ",min:"min: ",max:"max: "},gridMenu:{columns:"Columns:",importerTitle:"Import file",exporterAllAsCsv:"Export all data as csv",exporterVisibleAsCsv:"Export visible data as csv",exporterSelectedAsCsv:"Export selected data as csv",exporterAllAsPdf:"Export all data as pdf",exporterVisibleAsPdf:"Export visible data as pdf",exporterSelectedAsPdf:"Export selected data as pdf",clearAllFilters:"Clear all filters"},importer:{noHeaders:"Column names were unable to be derived, does the file have a header?",noObjects:"Objects were not able to be derived, was there data in the file other than headers?",invalidCsv:"File was unable to be processed, is it valid CSV?",invalidJson:"File was unable to be processed, is it valid Json?",jsonNotArray:"Imported json file must contain an array, aborting."}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("de",{aggregate:{label:"Eintrag"},groupPanel:{description:"Ziehen Sie eine Spaltenüberschrift hierhin, um nach dieser Spalte zu gruppieren."},search:{placeholder:"Suche...",showingItems:"Zeige Einträge:",selectedItems:"Ausgewählte Einträge:",totalItems:"Einträge gesamt:",size:"Einträge pro Seite:",first:"Erste Seite",next:"Nächste Seite",previous:"Vorherige Seite",last:"Letzte Seite"},menu:{text:"Spalten auswählen:"},sort:{ascending:"aufsteigend sortieren",descending:"absteigend sortieren",remove:"Sortierung zurücksetzen"},column:{hide:"Spalte ausblenden"},aggregation:{count:"Zeilen insgesamt: ",sum:"gesamt: ",avg:"Durchschnitt: ",min:"min: ",max:"max: "},pinning:{pinLeft:"Links anheften",pinRight:"Rechts anheften",unpin:"Lösen"},gridMenu:{columns:"Spalten:",importerTitle:"Datei importieren",exporterAllAsCsv:"Alle Daten als CSV exportieren",exporterVisibleAsCsv:"sichtbare Daten als CSV exportieren",exporterSelectedAsCsv:"markierte Daten als CSV exportieren",exporterAllAsPdf:"Alle Daten als PDF exportieren",exporterVisibleAsPdf:"sichtbare Daten als PDF exportieren",exporterSelectedAsPdf:"markierte Daten als CSV exportieren",clearAllFilters:"Alle filter reinigen"},importer:{noHeaders:"Es konnten keine Spaltennamen ermittelt werden. Sind in der Datei Spaltendefinitionen enthalten?",noObjects:"Es konnten keine Zeileninformationen gelesen werden, Sind in der Datei außer den Spaltendefinitionen auch Daten enthalten?",invalidCsv:"Die Datei konnte nicht eingelesen werden, ist es eine gültige CSV-Datei?",invalidJson:"Die Datei konnte nicht eingelesen werden. Enthält sie gültiges JSON?",jsonNotArray:"Die importierte JSON-Datei muß ein Array enthalten. Breche Import ab."},pagination:{sizes:"Einträge pro Seite",totalItems:"Einträge"},grouping:{group:"Gruppieren",ungroup:"Gruppierung aufheben",aggregate_count:"Agg: Anzahl",aggregate_sum:"Agg: Summe",aggregate_max:"Agg: Maximum",aggregate_min:"Agg: Minimum",aggregate_avg:"Agg: Mittelwert",aggregate_remove:"Aggregation entfernen"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("en",{headerCell:{aria:{defaultFilterLabel:"Filter for column",removeFilter:"Remove Filter",columnMenuButtonLabel:"Column Menu"},priority:"Priority:",filterLabel:"Filter for column: "},aggregate:{label:"items"},groupPanel:{description:"Drag a column header here and drop it to group by that column."},search:{placeholder:"Search...",showingItems:"Showing Items:",selectedItems:"Selected Items:",totalItems:"Total Items:",size:"Page Size:",first:"First Page",next:"Next Page",previous:"Previous Page",last:"Last Page"},menu:{text:"Choose Columns:"},sort:{ascending:"Sort Ascending",descending:"Sort Descending",none:"Sort None",remove:"Remove Sort"},column:{hide:"Hide Column"},aggregation:{count:"total rows: ",sum:"total: ",avg:"avg: ",min:"min: ",max:"max: "},pinning:{pinLeft:"Pin Left",pinRight:"Pin Right",unpin:"Unpin"},columnMenu:{close:"Close"},gridMenu:{aria:{buttonLabel:"Grid Menu"},columns:"Columns:",importerTitle:"Import file",exporterAllAsCsv:"Export all data as csv",exporterVisibleAsCsv:"Export visible data as csv",exporterSelectedAsCsv:"Export selected data as csv",exporterAllAsPdf:"Export all data as pdf",exporterVisibleAsPdf:"Export visible data as pdf",exporterSelectedAsPdf:"Export selected data as pdf",clearAllFilters:"Clear all filters"},importer:{noHeaders:"Column names were unable to be derived, does the file have a header?",noObjects:"Objects were not able to be derived, was there data in the file other than headers?",invalidCsv:"File was unable to be processed, is it valid CSV?",invalidJson:"File was unable to be processed, is it valid Json?",jsonNotArray:"Imported json file must contain an array, aborting."},pagination:{aria:{pageToFirst:"Page to first",pageBack:"Page back",pageSelected:"Selected page",pageForward:"Page forward",pageToLast:"Page to last"},sizes:"items per page",totalItems:"items",through:"through",of:"of"},grouping:{group:"Group",ungroup:"Ungroup",aggregate_count:"Agg: Count",aggregate_sum:"Agg: Sum",aggregate_max:"Agg: Max",aggregate_min:"Agg: Min",aggregate_avg:"Agg: Avg",aggregate_remove:"Agg: Remove"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("es",{aggregate:{label:"Artículos"},groupPanel:{description:"Arrastre un encabezado de columna aquí y suéltelo para agrupar por esa columna."},search:{placeholder:"Buscar...",showingItems:"Artículos Mostrados:",selectedItems:"Artículos Seleccionados:",totalItems:"Artículos Totales:",size:"Tamaño de Página:",first:"Primera Página",next:"Página Siguiente",previous:"Página Anterior",last:"Última Página"},menu:{text:"Elegir columnas:"},sort:{ascending:"Orden Ascendente",descending:"Orden Descendente",remove:"Sin Ordenar"},column:{hide:"Ocultar la columna"},aggregation:{count:"filas totales: ",sum:"total: ",avg:"media: ",min:"min: ",max:"max: "},pinning:{pinLeft:"Fijar a la Izquierda",pinRight:"Fijar a la Derecha",unpin:"Quitar Fijación"},gridMenu:{columns:"Columnas:",importerTitle:"Importar archivo",exporterAllAsCsv:"Exportar todo como csv",exporterVisibleAsCsv:"Exportar vista como csv",exporterSelectedAsCsv:"Exportar selección como csv",exporterAllAsPdf:"Exportar todo como pdf",exporterVisibleAsPdf:"Exportar vista como pdf",exporterSelectedAsPdf:"Exportar selección como pdf",clearAllFilters:"Limpiar todos los filtros"},importer:{noHeaders:"No fue posible derivar los nombres de las columnas, ¿tiene encabezados el archivo?",noObjects:"No fue posible obtener registros, ¿contiene datos el archivo, aparte de los encabezados?",invalidCsv:"No fue posible procesar el archivo, ¿es un CSV válido?",invalidJson:"No fue posible procesar el archivo, ¿es un Json válido?",jsonNotArray:"El archivo json importado debe contener un array, abortando."},pagination:{sizes:"registros por página",totalItems:"registros",of:"de"},grouping:{group:"Agrupar",ungroup:"Desagrupar",aggregate_count:"Agr: Cont",aggregate_sum:"Agr: Sum",aggregate_max:"Agr: Máx",aggregate_min:"Agr: Min",aggregate_avg:"Agr: Prom",aggregate_remove:"Agr: Quitar"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("fa",{aggregate:{label:"قلم"},groupPanel:{description:"عنوان یک ستون را بگیر و به گروهی از آن ستون رها کن."},search:{placeholder:"جستجو...",showingItems:"نمایش اقلام:",selectedItems:"قلم\200cهای انتخاب شده:",totalItems:"مجموع اقلام:",size:"اندازه\200cی صفحه:",first:"اولین صفحه",next:"صفحه\200cی\200cبعدی",previous:"صفحه\200cی\200c قبلی",last:"آخرین صفحه"},menu:{text:"ستون\200cهای انتخابی:"},sort:{ascending:"ترتیب صعودی",descending:"ترتیب نزولی",remove:"حذف مرتب کردن"},column:{hide:"پنهان\200cکردن ستون"},aggregation:{count:"تعداد: ",sum:"مجموع: ",avg:"میانگین: ",min:"کمترین: ",max:"بیشترین: "},pinning:{pinLeft:"پین کردن سمت چپ",pinRight:"پین کردن سمت راست",unpin:"حذف پین"},gridMenu:{columns:"ستون\200cها:",importerTitle:"وارد کردن فایل",exporterAllAsCsv:"خروجی تمام داده\200cها در فایل csv",exporterVisibleAsCsv:"خروجی داده\200cهای قابل مشاهده در فایل csv",exporterSelectedAsCsv:"خروجی داده\200cهای انتخاب\200cشده در فایل csv",exporterAllAsPdf:"خروجی تمام داده\200cها در فایل pdf",exporterVisibleAsPdf:"خروجی داده\200cهای قابل مشاهده در فایل pdf",exporterSelectedAsPdf:"خروجی داده\200cهای انتخاب\200cشده در فایل pdf",clearAllFilters:"پاک کردن تمام فیلتر"},importer:{noHeaders:"نام ستون قابل استخراج نیست. آیا فایل عنوان دارد؟",noObjects:"اشیا قابل استخراج نیستند. آیا به جز عنوان\200cها در فایل داده وجود دارد؟",invalidCsv:"فایل قابل پردازش نیست. آیا فرمت  csv  معتبر است؟",invalidJson:"فایل قابل پردازش نیست. آیا فرمت json   معتبر است؟",jsonNotArray:"فایل json وارد شده باید حاوی آرایه باشد. عملیات ساقط شد."},pagination:{sizes:"اقلام در هر صفحه",totalItems:"اقلام",of:"از"},grouping:{group:"گروه\200cبندی",ungroup:"حذف گروه\200cبندی",aggregate_count:"Agg: تعداد",aggregate_sum:"Agg: جمع",aggregate_max:"Agg: بیشینه",aggregate_min:"Agg: کمینه",aggregate_avg:"Agg: میانگین",aggregate_remove:"Agg: حذف"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("fi",{aggregate:{label:"rivit"},groupPanel:{description:"Raahaa ja pudota otsikko tähän ryhmittääksesi sarakkeen mukaan."},search:{placeholder:"Hae...",showingItems:"Näytetään rivejä:",selectedItems:"Valitut rivit:",totalItems:"Rivejä yht.:",size:"Näytä:",first:"Ensimmäinen sivu",next:"Seuraava sivu",previous:"Edellinen sivu",last:"Viimeinen sivu"},menu:{text:"Valitse sarakkeet:"},sort:{ascending:"Järjestä nouseva",descending:"Järjestä laskeva",remove:"Poista järjestys"},column:{hide:"Piilota sarake"},aggregation:{count:"Rivejä yht.: ",sum:"Summa: ",avg:"K.a.: ",min:"Min: ",max:"Max: "},pinning:{pinLeft:"Lukitse vasemmalle",pinRight:"Lukitse oikealle",unpin:"Poista lukitus"},gridMenu:{columns:"Sarakkeet:",importerTitle:"Tuo tiedosto",exporterAllAsCsv:"Vie tiedot csv-muodossa",exporterVisibleAsCsv:"Vie näkyvä tieto csv-muodossa",exporterSelectedAsCsv:"Vie valittu tieto csv-muodossa",exporterAllAsPdf:"Vie tiedot pdf-muodossa",exporterVisibleAsPdf:"Vie näkyvä tieto pdf-muodossa",exporterSelectedAsPdf:"Vie valittu tieto pdf-muodossa",clearAllFilters:"Puhdista kaikki suodattimet"},importer:{noHeaders:"Sarakkeen nimiä ei voitu päätellä, onko tiedostossa otsikkoriviä?",noObjects:"Tietoja ei voitu lukea, onko tiedostossa muuta kuin otsikkot?",
+invalidCsv:"Tiedostoa ei voitu käsitellä, oliko se CSV-muodossa?",invalidJson:"Tiedostoa ei voitu käsitellä, oliko se JSON-muodossa?",jsonNotArray:"Tiedosto ei sisältänyt taulukkoa, lopetetaan."}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("fr",{aggregate:{label:"éléments"},groupPanel:{description:"Faites glisser une en-tête de colonne ici pour créer un groupe de colonnes."},search:{placeholder:"Recherche...",showingItems:"Affichage des éléments :",selectedItems:"Éléments sélectionnés :",totalItems:"Nombre total d'éléments:",size:"Taille de page:",first:"Première page",next:"Page Suivante",previous:"Page précédente",last:"Dernière page"},menu:{text:"Choisir des colonnes :"},sort:{ascending:"Trier par ordre croissant",descending:"Trier par ordre décroissant",remove:"Enlever le tri"},column:{hide:"Cacher la colonne"},aggregation:{count:"lignes totales: ",sum:"total: ",avg:"moy: ",min:"min: ",max:"max: "},pinning:{pinLeft:"Épingler à gauche",pinRight:"Épingler à droite",unpin:"Détacher"},gridMenu:{columns:"Colonnes:",importerTitle:"Importer un fichier",exporterAllAsCsv:"Exporter toutes les données en CSV",exporterVisibleAsCsv:"Exporter les données visibles en CSV",exporterSelectedAsCsv:"Exporter les données sélectionnées en CSV",exporterAllAsPdf:"Exporter toutes les données en PDF",exporterVisibleAsPdf:"Exporter les données visibles en PDF",exporterSelectedAsPdf:"Exporter les données sélectionnées en PDF",clearAllFilters:"Nettoyez tous les filtres"},importer:{noHeaders:"Impossible de déterminer le nom des colonnes, le fichier possède-t-il une en-tête ?",noObjects:"Aucun objet trouvé, le fichier possède-t-il des données autres que l'en-tête ?",invalidCsv:"Le fichier n'a pas pu être traité, le CSV est-il valide ?",invalidJson:"Le fichier n'a pas pu être traité, le JSON est-il valide ?",jsonNotArray:"Le fichier JSON importé doit contenir un tableau, abandon."},pagination:{sizes:"éléments par page",totalItems:"éléments",of:"sur"},grouping:{group:"Grouper",ungroup:"Dégrouper",aggregate_count:"Agg: Compte",aggregate_sum:"Agg: Somme",aggregate_max:"Agg: Max",aggregate_min:"Agg: Min",aggregate_avg:"Agg: Moy",aggregate_remove:"Agg: Retirer"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("he",{aggregate:{label:"items"},groupPanel:{description:"גרור עמודה לכאן ושחרר בכדי לקבץ עמודה זו."},search:{placeholder:"חפש...",showingItems:"מציג:",selectedItems:'סה"כ נבחרו:',totalItems:'סה"כ רשומות:',size:"תוצאות בדף:",first:"דף ראשון",next:"דף הבא",previous:"דף קודם",last:"דף אחרון"},menu:{text:"בחר עמודות:"},sort:{ascending:"סדר עולה",descending:"סדר יורד",remove:"בטל"},column:{hide:"טור הסתר"},aggregation:{count:"total rows: ",sum:"total: ",avg:"avg: ",min:"min: ",max:"max: "},gridMenu:{columns:"Columns:",importerTitle:"Import file",exporterAllAsCsv:"Export all data as csv",exporterVisibleAsCsv:"Export visible data as csv",exporterSelectedAsCsv:"Export selected data as csv",exporterAllAsPdf:"Export all data as pdf",exporterVisibleAsPdf:"Export visible data as pdf",exporterSelectedAsPdf:"Export selected data as pdf",clearAllFilters:"Clean all filters"},importer:{noHeaders:"Column names were unable to be derived, does the file have a header?",noObjects:"Objects were not able to be derived, was there data in the file other than headers?",invalidCsv:"File was unable to be processed, is it valid CSV?",invalidJson:"File was unable to be processed, is it valid Json?",jsonNotArray:"Imported json file must contain an array, aborting."}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("hy",{aggregate:{label:"տվյալներ"},groupPanel:{description:"Ըստ սյան խմբավորելու համար քաշեք և գցեք վերնագիրն այստեղ։"},search:{placeholder:"Փնտրում...",showingItems:"Ցուցադրված տվյալներ՝",selectedItems:"Ընտրված:",totalItems:"Ընդամենը՝",size:"Տողերի քանակը էջում՝",first:"Առաջին էջ",next:"Հաջորդ էջ",previous:"Նախորդ էջ",last:"Վերջին էջ"},menu:{text:"Ընտրել սյուները:"},sort:{ascending:"Աճման կարգով",descending:"Նվազման կարգով",remove:"Հանել "},column:{hide:"Թաքցնել սյունը"},aggregation:{count:"ընդամենը տող՝ ",sum:"ընդամենը՝ ",avg:"միջին՝ ",min:"մին՝ ",max:"մաքս՝ "},pinning:{pinLeft:"Կպցնել ձախ կողմում",pinRight:"Կպցնել աջ կողմում",unpin:"Արձակել"},gridMenu:{columns:"Սյուներ:",importerTitle:"Ներմուծել ֆայլ",exporterAllAsCsv:"Արտահանել ամբողջը CSV",exporterVisibleAsCsv:"Արտահանել երևացող տվյալները CSV",exporterSelectedAsCsv:"Արտահանել ընտրված տվյալները CSV",exporterAllAsPdf:"Արտահանել PDF",exporterVisibleAsPdf:"Արտահանել երևացող տվյալները PDF",exporterSelectedAsPdf:"Արտահանել ընտրված տվյալները PDF",clearAllFilters:"Մաքրել բոլոր ֆիլտրերը"},importer:{noHeaders:"Հնարավոր չեղավ որոշել սյան վերնագրերը։ Արդյո՞ք ֆայլը ունի վերնագրեր։",noObjects:"Հնարավոր չեղավ կարդալ տվյալները։ Արդյո՞ք ֆայլում կան տվյալներ։",invalidCsv:"Հնարավոր չեղավ մշակել ֆայլը։ Արդյո՞ք այն վավեր CSV է։",invalidJson:"Հնարավոր չեղավ մշակել ֆայլը։ Արդյո՞ք այն վավեր Json է։",jsonNotArray:"Ներմուծված json ֆայլը պետք է պարունակի զանգված, կասեցվում է։"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("it",{aggregate:{label:"elementi"},groupPanel:{description:"Trascina un'intestazione all'interno del gruppo della colonna."},search:{placeholder:"Ricerca...",showingItems:"Mostra:",selectedItems:"Selezionati:",totalItems:"Totali:",size:"Tot Pagine:",first:"Prima",next:"Prossima",previous:"Precedente",last:"Ultima"},menu:{text:"Scegli le colonne:"},sort:{ascending:"Asc.",descending:"Desc.",remove:"Annulla ordinamento"},column:{hide:"Nascondi"},aggregation:{count:"righe totali: ",sum:"tot: ",avg:"media: ",min:"minimo: ",max:"massimo: "},pinning:{pinLeft:"Blocca a sx",pinRight:"Blocca a dx",unpin:"Blocca in alto"},gridMenu:{columns:"Colonne:",importerTitle:"Importa",exporterAllAsCsv:"Esporta tutti i dati in CSV",exporterVisibleAsCsv:"Esporta i dati visibili in CSV",exporterSelectedAsCsv:"Esporta i dati selezionati in CSV",exporterAllAsPdf:"Esporta tutti i dati in PDF",exporterVisibleAsPdf:"Esporta i dati visibili in PDF",exporterSelectedAsPdf:"Esporta i dati selezionati in PDF",clearAllFilters:"Pulire tutti i filtri"},importer:{noHeaders:"Impossibile reperire i nomi delle colonne, sicuro che siano indicati all'interno del file?",noObjects:"Impossibile reperire gli oggetti, sicuro che siano indicati all'interno del file?",invalidCsv:"Impossibile elaborare il file, sicuro che sia un CSV?",invalidJson:"Impossibile elaborare il file, sicuro che sia un JSON valido?",jsonNotArray:"Errore! Il file JSON da importare deve contenere un array."},grouping:{group:"Raggruppa",ungroup:"Separa",aggregate_count:"Agg: N. Elem.",aggregate_sum:"Agg: Somma",aggregate_max:"Agg: Massimo",aggregate_min:"Agg: Minimo",aggregate_avg:"Agg: Media",aggregate_remove:"Agg: Rimuovi"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("ja",{aggregate:{label:"項目"},groupPanel:{description:"ここに列ヘッダをドラッグアンドドロップして、その列でグループ化します。"},search:{placeholder:"検索...",showingItems:"表示中の項目:",selectedItems:"選択した項目:",totalItems:"項目の総数:",size:"ページサイズ:",first:"最初のページ",next:"次のページ",previous:"前のページ",last:"前のページ"},menu:{text:"列の選択:"},sort:{ascending:"昇順に並べ替え",descending:"降順に並べ替え",remove:"並べ替えの解除"},column:{hide:"列の非表示"},aggregation:{count:"合計行数: ",sum:"合計: ",avg:"平均: ",min:"最小: ",max:"最大: "},pinning:{pinLeft:"左に固定",pinRight:"右に固定",unpin:"固定解除"},gridMenu:{columns:"列:",importerTitle:"ファイルのインポート",exporterAllAsCsv:"すべてのデータをCSV形式でエクスポート",exporterVisibleAsCsv:"表示中のデータをCSV形式でエクスポート",exporterSelectedAsCsv:"選択したデータをCSV形式でエクスポート",exporterAllAsPdf:"すべてのデータをPDF形式でエクスポート",exporterVisibleAsPdf:"表示中のデータをPDF形式でエクスポート",exporterSelectedAsPdf:"選択したデータをPDF形式でエクスポート",clearAllFilters:"すべてのフィルタを清掃してください"},importer:{noHeaders:"列名を取得できません。ファイルにヘッダが含まれていることを確認してください。",noObjects:"オブジェクトを取得できません。ファイルにヘッダ以外のデータが含まれていることを確認してください。",invalidCsv:"ファイルを処理できません。ファイルが有効なCSV形式であることを確認してください。",invalidJson:"ファイルを処理できません。ファイルが有効なJSON形式であることを確認してください。",jsonNotArray:"インポートしたJSONファイルには配列が含まれている必要があります。処理を中止します。"},pagination:{sizes:"項目/ページ",totalItems:"項目"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("ko",{aggregate:{label:"아이템"},groupPanel:{description:"컬럼으로 그룹핑하기 위해서는 컬럼 헤더를 끌어 떨어뜨려 주세요."},search:{placeholder:"검색...",showingItems:"항목 보여주기:",selectedItems:"선택 항목:",totalItems:"전체 항목:",size:"페이지 크기:",first:"첫번째 페이지",next:"다음 페이지",previous:"이전 페이지",last:"마지막 페이지"},menu:{text:"컬럼을 선택하세요:"},sort:{ascending:"오름차순 정렬",descending:"내림차순 정렬",remove:"소팅 제거"},column:{hide:"컬럼 제거"},aggregation:{count:"전체 갯수: ",sum:"전체: ",avg:"평균: ",min:"최소: ",max:"최대: "},pinning:{pinLeft:"왼쪽 핀",pinRight:"오른쪽 핀",unpin:"핀 제거"},gridMenu:{columns:"컬럼:",importerTitle:"파일 가져오기",exporterAllAsCsv:"csv로 모든 데이터 내보내기",exporterVisibleAsCsv:"csv로 보이는 데이터 내보내기",exporterSelectedAsCsv:"csv로 선택된 데이터 내보내기",exporterAllAsPdf:"pdf로 모든 데이터 내보내기",exporterVisibleAsPdf:"pdf로 보이는 데이터 내보내기",exporterSelectedAsPdf:"pdf로 선택 데이터 내보내기",clearAllFilters:"모든 필터를 청소"},importer:{noHeaders:"컬럼명이 지정되어 있지 않습니다. 파일에 헤더가 명시되어 있는지 확인해 주세요.",noObjects:"데이터가 지정되어 있지 않습니다. 데이터가 파일에 있는지 확인해 주세요.",invalidCsv:"파일을 처리할 수 없습니다. 올바른 csv인지 확인해 주세요.",invalidJson:"파일을 처리할 수 없습니다. 올바른 json인지 확인해 주세요.",jsonNotArray:"json 파일은 배열을 포함해야 합니다."},pagination:{sizes:"페이지당 항목",totalItems:"전체 항목"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("nl",{aggregate:{label:"items"},groupPanel:{description:"Sleep hier een kolomnaam heen om op te groeperen."},search:{placeholder:"Zoeken...",showingItems:"Getoonde items:",selectedItems:"Geselecteerde items:",totalItems:"Totaal aantal items:",size:"Items per pagina:",first:"Eerste pagina",next:"Volgende pagina",previous:"Vorige pagina",last:"Laatste pagina"},menu:{text:"Kies kolommen:"},sort:{ascending:"Sorteer oplopend",descending:"Sorteer aflopend",remove:"Verwijder sortering"},column:{hide:"Verberg kolom"},aggregation:{count:"Aantal rijen: ",sum:"Som: ",avg:"Gemiddelde: ",min:"Min: ",max:"Max: "},pinning:{pinLeft:"Zet links vast",pinRight:"Zet rechts vast",unpin:"Maak los"},gridMenu:{columns:"Kolommen:",importerTitle:"Importeer bestand",exporterAllAsCsv:"Exporteer alle data als csv",exporterVisibleAsCsv:"Exporteer zichtbare data als csv",exporterSelectedAsCsv:"Exporteer geselecteerde data als csv",exporterAllAsPdf:"Exporteer alle data als pdf",exporterVisibleAsPdf:"Exporteer zichtbare data als pdf",exporterSelectedAsPdf:"Exporteer geselecteerde data als pdf",clearAllFilters:"Reinig alle filters"},importer:{noHeaders:"Kolomnamen kunnen niet worden afgeleid. Heeft het bestand een header?",noObjects:"Objecten kunnen niet worden afgeleid. Bevat het bestand data naast de headers?",invalidCsv:"Het bestand kan niet verwerkt worden. Is het een valide csv bestand?",invalidJson:"Het bestand kan niet verwerkt worden. Is het valide json?",jsonNotArray:"Het json bestand moet een array bevatten. De actie wordt geannuleerd."},pagination:{sizes:"items per pagina",totalItems:"items",of:"van de"},grouping:{group:"Groepeer",ungroup:"Groepering opheffen",aggregate_count:"Agg: Aantal",aggregate_sum:"Agg: Som",aggregate_max:"Agg: Max",aggregate_min:"Agg: Min",aggregate_avg:"Agg: Gem",aggregate_remove:"Agg: Verwijder"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("pt-br",{aggregate:{label:"itens"},groupPanel:{description:"Arraste e solte uma coluna aqui para agrupar por essa coluna"},search:{placeholder:"Procurar...",showingItems:"Mostrando os Itens:",selectedItems:"Items Selecionados:",totalItems:"Total de Itens:",size:"Tamanho da Página:",first:"Primeira Página",next:"Próxima Página",previous:"Página Anterior",last:"Última Página"},menu:{text:"Selecione as colunas:"},sort:{ascending:"Ordenar Ascendente",descending:"Ordenar Descendente",remove:"Remover Ordenação"},column:{hide:"Esconder coluna"},aggregation:{count:"total de linhas: ",sum:"total: ",avg:"med: ",min:"min: ",max:"max: "},pinning:{pinLeft:"Fixar Esquerda",pinRight:"Fixar Direita",unpin:"Desprender"},gridMenu:{columns:"Colunas:",importerTitle:"Importar arquivo",exporterAllAsCsv:"Exportar todos os dados como csv",exporterVisibleAsCsv:"Exportar dados visíveis como csv",exporterSelectedAsCsv:"Exportar dados selecionados como csv",exporterAllAsPdf:"Exportar todos os dados como pdf",exporterVisibleAsPdf:"Exportar dados visíveis como pdf",exporterSelectedAsPdf:"Exportar dados selecionados como pdf",clearAllFilters:"Limpar todos os filtros"},importer:{noHeaders:"Nomes de colunas não puderam ser derivados. O arquivo tem um cabeçalho?",noObjects:"Objetos não puderam ser derivados. Havia dados no arquivo, além dos cabeçalhos?",invalidCsv:"Arquivo não pode ser processado. É um CSV válido?",invalidJson:"Arquivo não pode ser processado. É um Json válido?",jsonNotArray:"Arquivo json importado tem que conter um array. Abortando."},pagination:{sizes:"itens por página",totalItems:"itens"},grouping:{group:"Agrupar",ungroup:"Desagrupar",aggregate_count:"Agr: Contar",aggregate_sum:"Agr: Soma",aggregate_max:"Agr: Max",aggregate_min:"Agr: Min",aggregate_avg:"Agr: Med",aggregate_remove:"Agr: Remover"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("pt",{aggregate:{label:"itens"},groupPanel:{description:"Arraste e solte uma coluna aqui para agrupar por essa coluna"},search:{placeholder:"Procurar...",showingItems:"Mostrando os Itens:",selectedItems:"Itens Selecionados:",totalItems:"Total de Itens:",size:"Tamanho da Página:",first:"Primeira Página",next:"Próxima Página",previous:"Página Anterior",last:"Última Página"},menu:{text:"Selecione as colunas:"},sort:{ascending:"Ordenar Ascendente",descending:"Ordenar Descendente",remove:"Remover Ordenação"},column:{hide:"Esconder coluna"},aggregation:{count:"total de linhas: ",sum:"total: ",avg:"med: ",min:"min: ",max:"max: "},pinning:{pinLeft:"Fixar Esquerda",pinRight:"Fixar Direita",unpin:"Desprender"},gridMenu:{columns:"Colunas:",importerTitle:"Importar ficheiro",exporterAllAsCsv:"Exportar todos os dados como csv",exporterVisibleAsCsv:"Exportar dados visíveis como csv",exporterSelectedAsCsv:"Exportar dados selecionados como csv",exporterAllAsPdf:"Exportar todos os dados como pdf",exporterVisibleAsPdf:"Exportar dados visíveis como pdf",exporterSelectedAsPdf:"Exportar dados selecionados como pdf",clearAllFilters:"Limpar todos os filtros"},importer:{noHeaders:"Nomes de colunas não puderam ser derivados. O ficheiro tem um cabeçalho?",noObjects:"Objetos não puderam ser derivados. Havia dados no ficheiro, além dos cabeçalhos?",invalidCsv:"Ficheiro não pode ser processado. É um CSV válido?",invalidJson:"Ficheiro não pode ser processado. É um Json válido?",jsonNotArray:"Ficheiro json importado tem que conter um array. Interrompendo."},pagination:{sizes:"itens por página",totalItems:"itens",of:"de"},grouping:{group:"Agrupar",ungroup:"Desagrupar",aggregate_count:"Agr: Contar",aggregate_sum:"Agr: Soma",aggregate_max:"Agr: Max",aggregate_min:"Agr: Min",aggregate_avg:"Agr: Med",aggregate_remove:"Agr: Remover"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("ru",{aggregate:{label:"элементы"},groupPanel:{description:"Для группировки по столбцу перетащите сюда его название."},search:{placeholder:"Поиск...",showingItems:"Показать элементы:",selectedItems:"Выбранные элементы:",totalItems:"Всего элементов:",size:"Размер страницы:",first:"Первая страница",next:"Следующая страница",previous:"Предыдущая страница",last:"Последняя страница"},menu:{text:"Выбрать столбцы:"},sort:{ascending:"По возрастанию",descending:"По убыванию",remove:"Убрать сортировку"},column:{hide:"Спрятать столбец"},aggregation:{count:"всего строк: ",sum:"итого: ",avg:"среднее: ",min:"мин: ",max:"макс: "},pinning:{pinLeft:"Закрепить слева",pinRight:"Закрепить справа",unpin:"Открепить"},gridMenu:{columns:"Столбцы:",importerTitle:"Import file",exporterAllAsCsv:"Экспортировать всё в CSV",exporterVisibleAsCsv:"Экспортировать видимые данные в CSV",exporterSelectedAsCsv:"Экспортировать выбранные данные в CSV",exporterAllAsPdf:"Экспортировать всё в PDF",exporterVisibleAsPdf:"Экспортировать видимые данные в PDF",exporterSelectedAsPdf:"Экспортировать выбранные данные в PDF",clearAllFilters:"Очистите все фильтры"},importer:{noHeaders:"Column names were unable to be derived, does the file have a header?",noObjects:"Objects were not able to be derived, was there data in the file other than headers?",invalidCsv:"File was unable to be processed, is it valid CSV?",invalidJson:"File was unable to be processed, is it valid Json?",jsonNotArray:"Imported json file must contain an array, aborting."}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("sk",{aggregate:{label:"items"},groupPanel:{description:"Pretiahni sem názov stĺpca pre zoskupenie podľa toho stĺpca."},search:{placeholder:"Hľadaj...",showingItems:"Zobrazujem položky:",selectedItems:"Vybraté položky:",totalItems:"Počet položiek:",size:"Počet:",first:"Prvá strana",next:"Ďalšia strana",previous:"Predchádzajúca strana",last:"Posledná strana"},menu:{text:"Vyberte stĺpce:"},sort:{ascending:"Zotriediť vzostupne",descending:"Zotriediť zostupne",remove:"Vymazať triedenie"},aggregation:{count:"total rows: ",sum:"total: ",avg:"avg: ",min:"min: ",max:"max: "},gridMenu:{columns:"Columns:",importerTitle:"Import file",exporterAllAsCsv:"Export all data as csv",exporterVisibleAsCsv:"Export visible data as csv",exporterSelectedAsCsv:"Export selected data as csv",exporterAllAsPdf:"Export all data as pdf",exporterVisibleAsPdf:"Export visible data as pdf",exporterSelectedAsPdf:"Export selected data as pdf",clearAllFilters:"Clear all filters"},importer:{noHeaders:"Column names were unable to be derived, does the file have a header?",noObjects:"Objects were not able to be derived, was there data in the file other than headers?",invalidCsv:"File was unable to be processed, is it valid CSV?",invalidJson:"File was unable to be processed, is it valid Json?",jsonNotArray:"Imported json file must contain an array, aborting."}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("sv",{aggregate:{label:"Artiklar"},groupPanel:{description:"Dra en kolumnrubrik hit och släpp den för att gruppera efter den kolumnen."},search:{placeholder:"Sök...",showingItems:"Visar artiklar:",selectedItems:"Valda artiklar:",totalItems:"Antal artiklar:",size:"Sidstorlek:",first:"Första sidan",next:"Nästa sida",previous:"Föregående sida",last:"Sista sidan"},menu:{text:"Välj kolumner:"},sort:{ascending:"Sortera stigande",descending:"Sortera fallande",remove:"Inaktivera sortering"},column:{hide:"Göm kolumn"},aggregation:{count:"Antal rader: ",sum:"Summa: ",avg:"Genomsnitt: ",min:"Min: ",max:"Max: "},pinning:{pinLeft:"Fäst vänster",pinRight:"Fäst höger",unpin:"Lösgör"},gridMenu:{columns:"Kolumner:",importerTitle:"Importera fil",exporterAllAsCsv:"Exportera all data som CSV",exporterVisibleAsCsv:"Exportera synlig data som CSV",exporterSelectedAsCsv:"Exportera markerad data som CSV",exporterAllAsPdf:"Exportera all data som PDF",exporterVisibleAsPdf:"Exportera synlig data som PDF",exporterSelectedAsPdf:"Exportera markerad data som PDF",clearAllFilters:"Rengör alla filter"},importer:{noHeaders:"Kolumnnamn kunde inte härledas. Har filen ett sidhuvud?",noObjects:"Objekt kunde inte härledas. Har filen data undantaget sidhuvud?",invalidCsv:"Filen kunde inte behandlas, är den en giltig CSV?",invalidJson:"Filen kunde inte behandlas, är den en giltig JSON?",jsonNotArray:"Importerad JSON-fil måste innehålla ett fält. Import avbruten."},pagination:{sizes:"Artiklar per sida",totalItems:"Artiklar"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("ta",{aggregate:{label:"உருப்படிகள்"},groupPanel:{description:"ஒரு பத்தியை குழுவாக அமைக்க அப்பத்தியின் தலைப்பை இங்கே  இழுத்து வரவும் "},search:{placeholder:"தேடல் ...",showingItems:"உருப்படிகளை காண்பித்தல்:",selectedItems:"தேர்ந்தெடுக்கப்பட்ட  உருப்படிகள்:",totalItems:"மொத்த உருப்படிகள்:",size:"பக்க அளவு: ",first:"முதல் பக்கம்",next:"அடுத்த பக்கம்",previous:"முந்தைய பக்கம் ",last:"இறுதி பக்கம்"},menu:{text:"பத்திகளை தேர்ந்தெடு:"},sort:{ascending:"மேலிருந்து கீழாக",descending:"கீழிருந்து மேலாக",remove:"வரிசையை நீக்கு"},column:{hide:"பத்தியை மறைத்து வை "},aggregation:{count:"மொத்த வரிகள்:",sum:"மொத்தம்: ",avg:"சராசரி: ",min:"குறைந்தபட்ச: ",max:"அதிகபட்ச: "},pinning:{pinLeft:"இடதுபுறமாக தைக்க ",pinRight:"வலதுபுறமாக தைக்க",unpin:"பிரி"},gridMenu:{columns:"பத்திகள்:",importerTitle:"கோப்பு : படித்தல்",exporterAllAsCsv:"எல்லா தரவுகளையும் கோப்பாக்கு: csv",exporterVisibleAsCsv:"இருக்கும் தரவுகளை கோப்பாக்கு: csv",exporterSelectedAsCsv:"தேர்ந்தெடுத்த தரவுகளை கோப்பாக்கு: csv",exporterAllAsPdf:"எல்லா தரவுகளையும் கோப்பாக்கு: pdf",exporterVisibleAsPdf:"இருக்கும் தரவுகளை கோப்பாக்கு: pdf",exporterSelectedAsPdf:"தேர்ந்தெடுத்த தரவுகளை கோப்பாக்கு: pdf",clearAllFilters:"Clear all filters"},importer:{noHeaders:"பத்தியின் தலைப்புகளை பெற இயலவில்லை, கோப்பிற்கு தலைப்பு உள்ளதா?",noObjects:"இலக்குகளை உருவாக்க முடியவில்லை, கோப்பில் தலைப்புகளை தவிர தரவு ஏதேனும் உள்ளதா? ",invalidCsv:"சரிவர நடைமுறை படுத்த இயலவில்லை, கோப்பு சரிதானா? - csv",invalidJson:"சரிவர நடைமுறை படுத்த இயலவில்லை, கோப்பு சரிதானா? - json",jsonNotArray:"படித்த கோப்பில் வரிசைகள் உள்ளது, நடைமுறை ரத்து செய் : json"},pagination:{sizes:"உருப்படிகள் / பக்கம்",totalItems:"உருப்படிகள் "},grouping:{group:"குழு",ungroup:"பிரி",aggregate_count:"மதிப்பீட்டு : எண்ணு",aggregate_sum:"மதிப்பீட்டு : கூட்டல்",aggregate_max:"மதிப்பீட்டு : அதிகபட்சம்",aggregate_min:"மதிப்பீட்டு : குறைந்தபட்சம்",aggregate_avg:"மதிப்பீட்டு : சராசரி",aggregate_remove:"மதிப்பீட்டு : நீக்கு"}}),a}])}])}(),function(){var a=["uiT","uiTranslate"],b=["t","uiTranslate"],c=angular.module("ui.grid.i18n");c.constant("i18nConstants",{MISSING:"[MISSING]",UPDATE_EVENT:"$uiI18n",LOCALE_DIRECTIVE_ALIAS:"uiI18n",DEFAULT_LANG:"en"}),c.service("i18nService",["$log","i18nConstants","$rootScope",function(a,b,c){var d={_langs:{},current:null,get:function(a){return this._langs[a.toLowerCase()]},add:function(a,b){var c=a.toLowerCase();this._langs[c]||(this._langs[c]={}),angular.extend(this._langs[c],b)},getAllLangs:function(){var a=[];if(!this._langs)return a;for(var b in this._langs)a.push(b);return a},setCurrent:function(a){this.current=a.toLowerCase()},getCurrentLang:function(){return this.current}},e={add:function(a,b){"object"==typeof a?angular.forEach(a,function(a){a&&d.add(a,b)}):d.add(a,b)},getAllLangs:function(){return d.getAllLangs()},get:function(a){var b=a?a:e.getCurrentLang();return d.get(b)},getSafeText:function(a,c){var f=c?c:e.getCurrentLang(),g=d.get(f);if(!g)return b.MISSING;for(var h=a.split("."),i=g,j=0;j<h.length;++j){if(void 0===i[h[j]]||null===i[h[j]])return b.MISSING;i=i[h[j]]}return i},setCurrentLang:function(a){a&&(d.setCurrent(a),c.$broadcast(b.UPDATE_EVENT))},getCurrentLang:function(){var a=d.getCurrentLang();return a||(a=b.DEFAULT_LANG,d.setCurrent(a)),a}};return e}]);var d=function(a,b){return{compile:function(){return{pre:function(c,d,e){var f=b.LOCALE_DIRECTIVE_ALIAS,g=c.$eval(e[f]);g?c.$watch(e[f],function(){a.setCurrentLang(g)}):e.$$observers&&e.$observe(f,function(){a.setCurrentLang(e[f]||b.DEFAULT_LANG)})}}}}};c.directive("uiI18n",["i18nService","i18nConstants",d]);var e=function(b,c,d){return{restrict:"EA",compile:function(){return{pre:function(e,f,g){var h,i=a[0],j=a[1],k=g[i]||g[j]||f.html(),l=d.MISSING+k;if(g.$$observers){var m=g[i]?i:j;h=g.$observe(m,function(a){a&&f.html(b(a)(c.getCurrentLang())||l)})}var n=b(k),o=e.$on(d.UPDATE_EVENT,function(a){h?h(g[i]||g[j]):f.html(n(c.get())||l)});e.$on("$destroy",o),f.html(n(c.get())||l)}}}}};angular.forEach(a,function(a){c.directive(a,["$parse","i18nService","i18nConstants",e])});var f=function(a,b,c){return function(d){var e=a(d);return e(b.get())||c.MISSING+d}};angular.forEach(b,function(a){c.filter(a,["$parse","i18nService","i18nConstants",f])})}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("zh-cn",{headerCell:{aria:{defaultFilterLabel:"列过滤器",removeFilter:"移除过滤器",columnMenuButtonLabel:"列菜单"},priority:"优先级:",filterLabel:"列过滤器: "},aggregate:{label:"行"},groupPanel:{description:"拖曳表头到此处进行分组"},search:{placeholder:"查找",showingItems:"已显示行数:",selectedItems:"已选择行数:",totalItems:"总行数:",size:"每页显示行数:",first:"首页",next:"下一页",previous:"上一页",last:"末页"},menu:{text:"选择列:"},sort:{ascending:"升序",descending:"降序",none:"无序",remove:"取消排序"},column:{hide:"隐藏列"},aggregation:{count:"计数:",sum:"求和:",avg:"均值:",min:"最小值:",max:"最大值:"},pinning:{pinLeft:"左侧固定",pinRight:"右侧固定",unpin:"取消固定"},columnMenu:{close:"关闭"},gridMenu:{aria:{buttonLabel:"表格菜单"},columns:"列:",importerTitle:"导入文件",exporterAllAsCsv:"导出全部数据到CSV",exporterVisibleAsCsv:"导出可见数据到CSV",exporterSelectedAsCsv:"导出已选数据到CSV",exporterAllAsPdf:"导出全部数据到PDF",exporterVisibleAsPdf:"导出可见数据到PDF",exporterSelectedAsPdf:"导出已选数据到PDF",clearAllFilters:"清除所有过滤器"},importer:{noHeaders:"无法获取列名,确定文件包含表头?",noObjects:"无法获取数据,确定文件包含数据?",invalidCsv:"无法处理文件,确定是合法的CSV文件?",invalidJson:"无法处理文件,确定是合法的JSON文件?",jsonNotArray:"导入的文件不是JSON数组!"},pagination:{aria:{pageToFirst:"第一页",pageBack:"上一页",pageSelected:"当前页",pageForward:"下一页",pageToLast:"最后一页"},sizes:"行每页",totalItems:"行",through:"至",of:"共"},grouping:{group:"分组",ungroup:"取消分组",aggregate_count:"合计: 计数",aggregate_sum:"合计: 求和",aggregate_max:"合计: 最大",aggregate_min:"合计: 最小",aggregate_avg:"合计: 平均",aggregate_remove:"合计: 移除"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("zh-tw",{aggregate:{label:"行"},groupPanel:{description:"拖曳表頭到此處進行分組"},search:{placeholder:"查找",showingItems:"已顯示行數:",selectedItems:"已選擇行數:",totalItems:"總行數:",size:"每頁顯示行數:",first:"首頁",next:"下壹頁",previous:"上壹頁",last:"末頁"},menu:{text:"選擇列:"},sort:{ascending:"升序",descending:"降序",remove:"取消排序"},column:{hide:"隱藏列"},aggregation:{count:"計數:",sum:"求和:",avg:"均值:",min:"最小值:",max:"最大值:"},pinning:{pinLeft:"左側固定",pinRight:"右側固定",unpin:"取消固定"},gridMenu:{columns:"列:",importerTitle:"導入文件",exporterAllAsCsv:"導出全部數據到CSV",exporterVisibleAsCsv:"導出可見數據到CSV",exporterSelectedAsCsv:"導出已選數據到CSV",exporterAllAsPdf:"導出全部數據到PDF",exporterVisibleAsPdf:"導出可見數據到PDF",exporterSelectedAsPdf:"導出已選數據到PDF",clearAllFilters:"清除所有过滤器"},importer:{noHeaders:"無法獲取列名,確定文件包含表頭?",noObjects:"無法獲取數據,確定文件包含數據?",invalidCsv:"無法處理文件,確定是合法的CSV文件?",invalidJson:"無法處理文件,確定是合法的JSON文件?",jsonNotArray:"導入的文件不是JSON數組!"},pagination:{sizes:"行每頁",totalItems:"行"}}),a}])}])}(),function(){"use strict";var a=angular.module("ui.grid.autoResize",["ui.grid"]);a.directive("uiGridAutoResize",["$timeout","gridUtil",function(a,b){return{require:"uiGrid",scope:!1,link:function(a,c,d,e){function f(){i=b.elementHeight(c),h=b.elementWidth(c)}function g(){clearTimeout(j),j=setTimeout(function(){var d=b.elementHeight(c),j=b.elementWidth(c);d!==i||j!==h?(e.grid.gridHeight=d,e.grid.gridWidth=j,a.$apply(function(){e.grid.refresh().then(function(){f(),g()})})):g()},250)}var h,i;f();var j;g(),a.$on("$destroy",function(){clearTimeout(j)})}}}])}(),function(){"use strict";var a=angular.module("ui.grid.cellNav",["ui.grid"]);a.constant("uiGridCellNavConstants",{FEATURE_NAME:"gridCellNav",CELL_NAV_EVENT:"cellNav",direction:{LEFT:0,RIGHT:1,UP:2,DOWN:3,PG_UP:4,PG_DOWN:5},EVENT_TYPE:{KEYDOWN:0,CLICK:1,CLEAR:2}}),a.factory("uiGridCellNavFactory",["gridUtil","uiGridConstants","uiGridCellNavConstants","GridRowColumn","$q",function(a,b,c,d,e){var f=function(a,b,c,d){this.rows=a.visibleRowCache,this.columns=b.visibleColumnCache,this.leftColumns=c?c.visibleColumnCache:[],this.rightColumns=d?d.visibleColumnCache:[],this.bodyContainer=a};return f.prototype.getFocusableCols=function(){var a=this.leftColumns.concat(this.columns,this.rightColumns);return a.filter(function(a){return a.colDef.allowCellFocus})},f.prototype.getFocusableRows=function(){return this.rows.filter(function(a){return a.allowCellFocus!==!1})},f.prototype.getNextRowCol=function(a,b,d){switch(a){case c.direction.LEFT:return this.getRowColLeft(b,d);case c.direction.RIGHT:return this.getRowColRight(b,d);case c.direction.UP:return this.getRowColUp(b,d);case c.direction.DOWN:return this.getRowColDown(b,d);case c.direction.PG_UP:return this.getRowColPageUp(b,d);case c.direction.PG_DOWN:return this.getRowColPageDown(b,d)}},f.prototype.initializeSelection=function(){var a=this.getFocusableCols(),b=this.getFocusableRows();if(0===a.length||0===b.length)return null;return new d(b[0],a[0])},f.prototype.getRowColLeft=function(a,b){var c=this.getFocusableCols(),e=this.getFocusableRows(),f=c.indexOf(b),g=e.indexOf(a);-1===f&&(f=1);var h=0===f?c.length-1:f-1;return h>f?0===g?new d(a,c[h]):new d(e[g-1],c[h]):new d(a,c[h])},f.prototype.getRowColRight=function(a,b){var c=this.getFocusableCols(),e=this.getFocusableRows(),f=c.indexOf(b),g=e.indexOf(a);-1===f&&(f=0);var h=f===c.length-1?0:f+1;return f>h?g===e.length-1?new d(a,c[h]):new d(e[g+1],c[h]):new d(a,c[h])},f.prototype.getRowColDown=function(a,b){var c=this.getFocusableCols(),e=this.getFocusableRows(),f=c.indexOf(b),g=e.indexOf(a);return-1===f&&(f=0),g===e.length-1?new d(a,c[f]):new d(e[g+1],c[f])},f.prototype.getRowColPageDown=function(a,b){var c=this.getFocusableCols(),e=this.getFocusableRows(),f=c.indexOf(b),g=e.indexOf(a);-1===f&&(f=0);var h=this.bodyContainer.minRowsToRender();return g>=e.length-h?new d(e[e.length-1],c[f]):new d(e[g+h],c[f])},f.prototype.getRowColUp=function(a,b){var c=this.getFocusableCols(),e=this.getFocusableRows(),f=c.indexOf(b),g=e.indexOf(a);return-1===f&&(f=0),0===g?new d(a,c[f]):new d(e[g-1],c[f])},f.prototype.getRowColPageUp=function(a,b){var c=this.getFocusableCols(),e=this.getFocusableRows(),f=c.indexOf(b),g=e.indexOf(a);-1===f&&(f=0);var h=this.bodyContainer.minRowsToRender();return 0>g-h?new d(e[0],c[f]):new d(e[g-h],c[f])},f}]),a.service("uiGridCellNavService",["gridUtil","uiGridConstants","uiGridCellNavConstants","$q","uiGridCellNavFactory","GridRowColumn","ScrollEvent",function(a,b,c,d,e,f,g){var h={initializeGrid:function(a){a.registerColumnBuilder(h.cellNavColumnBuilder),a.cellNav={},a.cellNav.lastRowCol=null,a.cellNav.focusedCells=[],h.defaultGridOptions(a.options);var b={events:{cellNav:{navigate:function(a,b){},viewPortKeyDown:function(a,b){},viewPortKeyPress:function(a,b){}}},methods:{cellNav:{scrollToFocus:function(b,c){return h.scrollToFocus(a,b,c)},getFocusedCell:function(){return a.cellNav.lastRowCol},getCurrentSelection:function(){return a.cellNav.focusedCells},rowColSelectIndex:function(b){for(var c=-1,d=0;d<a.cellNav.focusedCells.length;d++)if(a.cellNav.focusedCells[d].col.uid===b.col.uid&&a.cellNav.focusedCells[d].row.uid===b.row.uid){c=d;break}return c}}}};a.api.registerEventsFromObject(b.events),a.api.registerMethodsFromObject(b.methods)},defaultGridOptions:function(a){a.modifierKeysToMultiSelectCells=a.modifierKeysToMultiSelectCells===!0},decorateRenderContainers:function(a){var b=a.hasRightContainer()?a.renderContainers.right:null,c=a.hasLeftContainer()?a.renderContainers.left:null;null!==c&&(a.renderContainers.left.cellNav=new e(a.renderContainers.body,c,b,a.renderContainers.body)),null!==b&&(a.renderContainers.right.cellNav=new e(a.renderContainers.body,b,a.renderContainers.body,c)),
+a.renderContainers.body.cellNav=new e(a.renderContainers.body,a.renderContainers.body,c,b)},getDirection:function(a){return a.keyCode===b.keymap.LEFT||a.keyCode===b.keymap.TAB&&a.shiftKey?c.direction.LEFT:a.keyCode===b.keymap.RIGHT||a.keyCode===b.keymap.TAB?c.direction.RIGHT:a.keyCode===b.keymap.UP||a.keyCode===b.keymap.ENTER&&a.shiftKey?c.direction.UP:a.keyCode===b.keymap.PG_UP?c.direction.PG_UP:a.keyCode===b.keymap.DOWN||a.keyCode===b.keymap.ENTER&&!a.ctrlKey&&!a.altKey?c.direction.DOWN:a.keyCode===b.keymap.PG_DOWN?c.direction.PG_DOWN:null},cellNavColumnBuilder:function(a,b,c){var e=[];return a.allowCellFocus=void 0===a.allowCellFocus?!0:a.allowCellFocus,d.all(e)},scrollToFocus:function(a,b,c){var d=null,e=null;return"undefined"!=typeof b&&null!==b&&(d=a.getRow(b)),"undefined"!=typeof c&&null!==c&&(e=a.getColumn(c.name?c.name:c.field)),a.api.core.scrollToIfNecessary(d,e).then(function(){var b={row:d,col:e};null!==d&&null!==e&&a.cellNav.broadcastCellNav(b)})},getLeftWidth:function(a,b){var c=0;if(!b)return c;var d=a.renderContainers.body.visibleColumnCache.indexOf(b);a.renderContainers.body.visibleColumnCache.forEach(function(a,b){d>b&&(c+=a.drawnWidth)});var e=0===d?0:(d+1)/a.renderContainers.body.visibleColumnCache.length;return c+=b.drawnWidth*e}};return h}]),a.directive("uiGridCellnav",["gridUtil","uiGridCellNavService","uiGridCellNavConstants","uiGridConstants","GridRowColumn","$timeout","$compile",function(a,b,c,d,e,f,g){return{replace:!0,priority:-150,require:"^uiGrid",scope:!1,controller:function(){},compile:function(){return{pre:function(a,f,g,h){var i=a,j=h.grid;b.initializeGrid(j),h.cellNav={},h.cellNav.makeRowCol=function(a){return a instanceof e||(a=new e(a.row,a.col)),a},h.cellNav.getActiveCell=function(){var a=f[0].getElementsByClassName("ui-grid-cell-focus");return a.length>0?a[0]:void 0},h.cellNav.broadcastCellNav=j.cellNav.broadcastCellNav=function(a,b,d){b=!(void 0===b||!b),a=h.cellNav.makeRowCol(a),h.cellNav.broadcastFocus(a,b,d),i.$broadcast(c.CELL_NAV_EVENT,a,b,d)},h.cellNav.clearFocus=j.cellNav.clearFocus=function(){j.cellNav.focusedCells=[],i.$broadcast(c.CELL_NAV_EVENT)},h.cellNav.broadcastFocus=function(a,b,c){b=!(void 0===b||!b),a=h.cellNav.makeRowCol(a);var d=a.row,f=a.col,g=h.grid.api.cellNav.rowColSelectIndex(a);if(null===j.cellNav.lastRowCol||-1===g){var i=new e(d,f);j.api.cellNav.raise.navigate(i,j.cellNav.lastRowCol),j.cellNav.lastRowCol=i,h.grid.options.modifierKeysToMultiSelectCells&&b?j.cellNav.focusedCells.push(a):j.cellNav.focusedCells=[a]}else j.options.modifierKeysToMultiSelectCells&&b&&g>=0&&j.cellNav.focusedCells.splice(g,1)},h.cellNav.handleKeyDown=function(a){var e=b.getDirection(a);if(null===e)return null;var f="body";a.uiGridTargetRenderContainerId&&(f=a.uiGridTargetRenderContainerId);var g=h.grid.api.cellNav.getFocusedCell();if(g){var i=h.grid.renderContainers[f].cellNav.getNextRowCol(e,g.row,g.col),k=h.grid.renderContainers[f].cellNav.getFocusableCols(),l=h.grid.api.cellNav.rowColSelectIndex(i);return e===c.direction.LEFT&&i.col===k[k.length-1]&&i.row===g.row&&a.keyCode===d.keymap.TAB&&a.shiftKey?(j.cellNav.focusedCells.splice(l,1),h.cellNav.clearFocus(),!0):e!==c.direction.RIGHT||i.col!==k[0]||i.row!==g.row||a.keyCode!==d.keymap.TAB||a.shiftKey?(j.scrollToIfNecessary(i.row,i.col).then(function(){h.cellNav.broadcastCellNav(i)}),a.stopPropagation(),a.preventDefault(),!1):(j.cellNav.focusedCells.splice(l,1),h.cellNav.clearFocus(),!0)}}},post:function(a,b,d,e){function f(){var d='<div id="'+h.id+'-aria-speakable" class="ui-grid-a11y-ariascreenreader-speakable ui-grid-offscreen" aria-live="assertive" role="region" aria-atomic="true" aria-hidden="false" aria-relevant="additions" >&nbsp;</div>',e=g(d)(a);b.prepend(e),a.$on(c.CELL_NAV_EVENT,function(a,b,c,d){function f(a){a!==e.text()&&(e[0].style.clip="rect(0px,0px,0px,0px)",e[0].innerHTML="",e[0].style.visibility="hidden",e[0].style.visibility="visible",""!==a&&(e[0].style.clip="auto",e[0].appendChild(document.createTextNode(a+" ")),e[0].style.visibility="hidden",e[0].style.visibility="visible"))}if(!d||"focus"!==d.type){for(var g=[],i=h.api.cellNav.getCurrentSelection(),j=0;j<i.length;j++)g.push(i[j].getIntersectionValueFiltered());var k=g.toString();f(k)}})}var h=e.grid;f()}}}}}]),a.directive("uiGridRenderContainer",["$timeout","$document","gridUtil","uiGridConstants","uiGridCellNavService","$compile","uiGridCellNavConstants",function(a,b,c,d,e,f,g){return{replace:!0,priority:-99999,require:["^uiGrid","uiGridRenderContainer","?^uiGridCellnav"],scope:!1,compile:function(){return{post:function(b,d,h,i){var j=i[0],k=i[1],l=i[2];if(j.grid.api.cellNav){var m=k.containerId,n=j.grid;if(e.decorateRenderContainers(n),"body"===m){j.grid.options.modifierKeysToMultiSelectCells?d.attr("aria-multiselectable",!0):d.attr("aria-multiselectable",!1);var o=f('<div class="ui-grid-focuser" role="region" aria-live="assertive" aria-atomic="false" tabindex="0" aria-controls="'+n.id+"-aria-speakable "+n.id+'-grid-container" aria-owns="'+n.id+'-grid-container"></div>')(b);d.append(o),o.on("focus",function(a){a.uiGridTargetRenderContainerId=m;var b=j.grid.api.cellNav.getFocusedCell();null===b&&(b=j.grid.renderContainers[m].cellNav.getNextRowCol(g.direction.DOWN,null,null),b.row&&b.col&&j.cellNav.broadcastCellNav(b))}),l.setAriaActivedescendant=function(a){d.attr("aria-activedescendant",a)},l.removeAriaActivedescendant=function(a){d.attr("aria-activedescendant")===a&&d.attr("aria-activedescendant","")},j.focus=function(){c.focus.byElement(o[0])};var p=null;o.on("keydown",function(a){a.uiGridTargetRenderContainerId=m;var b=j.grid.api.cellNav.getFocusedCell(),c=j.cellNav.handleKeyDown(a);null===c&&(j.grid.api.cellNav.raise.viewPortKeyDown(a,b),p=b)}),o.on("keypress",function(b){p&&(a(function(){j.grid.api.cellNav.raise.viewPortKeyPress(b,p)},4),p=null)}),b.$on("$destroy",function(){o.off()})}}}}}}}]),a.directive("uiGridViewport",["$timeout","$document","gridUtil","uiGridConstants","uiGridCellNavService","uiGridCellNavConstants","$log","$compile",function(a,b,c,d,e,f,g,h){return{replace:!0,priority:-99999,require:["^uiGrid","^uiGridRenderContainer","?^uiGridCellnav"],scope:!1,compile:function(){return{pre:function(a,b,c,d){},post:function(a,b,c,d){var e=d[0],f=d[1];if(e.grid.api.cellNav){var g=f.containerId;if("body"===g){var h=e.grid;h.api.core.on.scrollBegin(a,function(a){var b=e.grid.api.cellNav.getFocusedCell();null!==b&&f.colContainer.containsColumn(b.col)&&e.cellNav.clearFocus()}),h.api.core.on.scrollEnd(a,function(a){var b=e.grid.api.cellNav.getFocusedCell();null!==b&&f.colContainer.containsColumn(b.col)&&e.cellNav.broadcastCellNav(b)}),h.api.cellNav.on.navigate(a,function(){e.focus()})}}}}}}}]),a.directive("uiGridCell",["$timeout","$document","uiGridCellNavService","gridUtil","uiGridCellNavConstants","uiGridConstants","GridRowColumn",function(a,b,c,d,e,f,g){return{priority:-150,restrict:"A",require:["^uiGrid","?^uiGridCellnav"],scope:!1,link:function(a,b,c,d){function f(a){a.preventDefault()}function h(){if(!a.focused){var c=b.find("div");c.addClass("ui-grid-cell-focus"),b.attr("aria-selected",!0),k.setAriaActivedescendant(b.attr("id")),a.focused=!0}}function i(){if(a.focused){var c=b.find("div");c.removeClass("ui-grid-cell-focus"),b.attr("aria-selected",!1),k.removeAriaActivedescendant(b.attr("id")),a.focused=!1}}var j=d[0],k=d[1];if(j.grid.api.cellNav&&a.col.colDef.allowCellFocus){var l=j.grid;a.focused=!1,b.attr("tabindex",-1),b.find("div").on("click",function(b){j.cellNav.broadcastCellNav(new g(a.row,a.col),b.ctrlKey||b.metaKey,b),b.stopPropagation(),a.$apply()}),b.on("mousedown",f),j.grid.api.edit&&(j.grid.api.edit.on.beginCellEdit(a,function(){b.off("mousedown",f)}),j.grid.api.edit.on.afterCellEdit(a,function(){b.on("mousedown",f)}),j.grid.api.edit.on.cancelCellEdit(a,function(){b.on("mousedown",f)})),b.on("focus",function(b){j.cellNav.broadcastCellNav(new g(a.row,a.col),!1,b),b.stopPropagation(),a.$apply()}),a.$on(e.CELL_NAV_EVENT,function(b,c,d){var e=l.cellNav.focusedCells.some(function(b,c){return b.row===a.row&&b.col===a.col});e?h():i()}),a.$on("$destroy",function(){b.find("div").off(),b.off()})}}}}])}(),function(){"use strict";var a=angular.module("ui.grid.edit",["ui.grid"]);a.constant("uiGridEditConstants",{EDITABLE_CELL_TEMPLATE:/EDITABLE_CELL_TEMPLATE/g,EDITABLE_CELL_DIRECTIVE:/editable_cell_directive/g,events:{BEGIN_CELL_EDIT:"uiGridEventBeginCellEdit",END_CELL_EDIT:"uiGridEventEndCellEdit",CANCEL_CELL_EDIT:"uiGridEventCancelCellEdit"}}),a.service("uiGridEditService",["$q","uiGridConstants","gridUtil",function(a,b,c){var d={initializeGrid:function(a){d.defaultGridOptions(a.options),a.registerColumnBuilder(d.editColumnBuilder),a.edit={};var b={events:{edit:{afterCellEdit:function(a,b,c,d){},beginCellEdit:function(a,b,c){},cancelCellEdit:function(a,b){}}},methods:{edit:{}}};a.api.registerEventsFromObject(b.events)},defaultGridOptions:function(a){a.cellEditableCondition=void 0===a.cellEditableCondition?!0:a.cellEditableCondition,a.enableCellEditOnFocus=void 0===a.enableCellEditOnFocus?!1:a.enableCellEditOnFocus},editColumnBuilder:function(b,d,e){var f=[];return b.enableCellEdit=void 0===b.enableCellEdit?void 0===e.enableCellEdit?"object"!==b.type:e.enableCellEdit:b.enableCellEdit,b.cellEditableCondition=void 0===b.cellEditableCondition?e.cellEditableCondition:b.cellEditableCondition,b.enableCellEdit&&(b.editableCellTemplate=b.editableCellTemplate||e.editableCellTemplate||"ui-grid/cellEditor",f.push(c.getTemplate(b.editableCellTemplate).then(function(a){d.editableCellTemplate=a},function(a){throw new Error("Couldn't fetch/use colDef.editableCellTemplate '"+b.editableCellTemplate+"'")}))),b.enableCellEditOnFocus=void 0===b.enableCellEditOnFocus?e.enableCellEditOnFocus:b.enableCellEditOnFocus,a.all(f)},isStartEditKey:function(a){return a.metaKey||a.keyCode===b.keymap.ESC||a.keyCode===b.keymap.SHIFT||a.keyCode===b.keymap.CTRL||a.keyCode===b.keymap.ALT||a.keyCode===b.keymap.WIN||a.keyCode===b.keymap.CAPSLOCK||a.keyCode===b.keymap.LEFT||a.keyCode===b.keymap.TAB&&a.shiftKey||a.keyCode===b.keymap.RIGHT||a.keyCode===b.keymap.TAB||a.keyCode===b.keymap.UP||a.keyCode===b.keymap.ENTER&&a.shiftKey||a.keyCode===b.keymap.DOWN||a.keyCode===b.keymap.ENTER?!1:!0}};return d}]),a.directive("uiGridEdit",["gridUtil","uiGridEditService",function(a,b){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(a,c,d,e){b.initializeGrid(e.grid)},post:function(a,b,c,d){}}}}}]),a.directive("uiGridViewport",["uiGridEditConstants",function(a){return{replace:!0,priority:-99998,require:["^uiGrid","^uiGridRenderContainer"],scope:!1,compile:function(){return{post:function(b,c,d,e){var f=e[0];if(f.grid.api.edit&&f.grid.api.cellNav){var g=e[1].containerId;"body"===g&&(b.$on(a.events.CANCEL_CELL_EDIT,function(){f.focus()}),b.$on(a.events.END_CELL_EDIT,function(){f.focus()}))}}}}}}]),a.directive("uiGridCell",["$compile","$injector","$timeout","uiGridConstants","uiGridEditConstants","gridUtil","$parse","uiGridEditService","$rootScope",function(a,b,c,d,e,f,g,h,i){var j=500;if(b.has("uiGridCellNavService")){b.get("uiGridCellNavService")}return{priority:-100,restrict:"A",scope:!1,require:"?^uiGrid",link:function(b,k,l,m){function n(){k.on("dblclick",t),k.on("touchstart",o),m&&m.grid.api.cellNav&&(F=m.grid.api.cellNav.on.viewPortKeyDown(b,function(a,c){null!==c&&(c.row!==b.row||c.col!==b.col||b.col.colDef.enableCellEditOnFocus||r(a))}),E=m.grid.api.cellNav.on.navigate(b,function(a,d){b.col.colDef.enableCellEditOnFocus&&(d&&a.row===d.row&&a.col===d.col||a.row!==b.row||a.col!==b.col||c(function(){t()}))})),b.beginEditEventsWired=!0}function o(a){"undefined"!=typeof a.originalEvent&&void 0!==a.originalEvent&&(a=a.originalEvent),k.on("touchend",p),B=c(function(){},j),B.then(function(){setTimeout(t,0),k.off("touchend",p)})}function p(a){c.cancel(B),k.off("touchend",p)}function q(){k.off("dblclick",t),k.off("keydown",r),k.off("touchstart",o),E(),F(),b.beginEditEventsWired=!1}function r(a){h.isStartEditKey(a)&&t(a)}function s(a,c){return!c.isSaving&&(angular.isFunction(a.colDef.cellEditableCondition)?a.colDef.cellEditableCondition(b):a.colDef.cellEditableCondition)}function t(a){b.grid.api.core.scrollToIfNecessary(b.row,b.col).then(function(){u(a)})}function u(h){if(!D&&s(b.col,b.row)){A=g(b.row.getQualifiedColField(b.col)),z=A(b),y=b.col.editableCellTemplate,y=b.col.colDef.editModelField?y.replace(d.MODEL_COL_FIELD,f.preEval("row.entity."+b.col.colDef.editModelField)):y.replace(d.MODEL_COL_FIELD,b.row.getQualifiedColField(b.col)),y=y.replace(d.COL_FIELD,"grid.getCellValue(row, col)");var j=b.col.colDef.editDropdownFilter?"|"+b.col.colDef.editDropdownFilter:"";y=y.replace(d.CUSTOM_FILTERS,j);var l="text";switch(b.col.colDef.type){case"boolean":l="checkbox";break;case"number":l="number";break;case"date":l="date"}y=y.replace("INPUT_TYPE",l);var m=b.col.colDef.editDropdownRowEntityOptionsArrayPath;m?b.editDropdownOptionsArray=x(b.row.entity,m):b.editDropdownOptionsArray=b.col.colDef.editDropdownOptionsArray,b.editDropdownIdLabel=b.col.colDef.editDropdownIdLabel?b.col.colDef.editDropdownIdLabel:"id",b.editDropdownValueLabel=b.col.colDef.editDropdownValueLabel?b.col.colDef.editDropdownValueLabel:"value";var n=function(){D=!0,q();var c=angular.element(y);k.append(c),C=b.$new(),a(c)(C);var d=angular.element(k.children()[0]);d.addClass("ui-grid-cell-contents-hidden")};i.$$phase?n():b.$apply(n);var o=b.col.grid.api.core.on.scrollBegin(b,function(){b.grid.disableScrolling||(v(),b.grid.api.edit.raise.afterCellEdit(b.row.entity,b.col.colDef,A(b),z),o(),p(),r())}),p=b.$on(e.events.END_CELL_EDIT,function(){v(),b.grid.api.edit.raise.afterCellEdit(b.row.entity,b.col.colDef,A(b),z),p(),o(),r()}),r=b.$on(e.events.CANCEL_CELL_EDIT,function(){w(),r(),o(),p()});b.$broadcast(e.events.BEGIN_CELL_EDIT,h),c(function(){b.grid.api.edit.raise.beginCellEdit(b.row.entity,b.col.colDef,h)})}}function v(){if(b.grid.disableScrolling=!1,D){m&&m.grid.api.cellNav&&m.focus();var a=angular.element(k.children()[0]);C.$destroy(),angular.element(k.children()[1]).remove(),a.removeClass("ui-grid-cell-contents-hidden"),D=!1,n(),b.grid.api.core.notifyDataChange(d.dataChange.EDIT)}}function w(){b.grid.disableScrolling=!1,D&&(A.assign(b,z),b.$apply(),b.grid.api.edit.raise.cancelCellEdit(b.row.entity,b.col.colDef),v())}function x(a,b){b=b.replace(/\[(\w+)\]/g,".$1"),b=b.replace(/^\./,"");for(var c=b.split(".");c.length;){var d=c.shift();if(!(d in a))return;a=a[d]}return a}var y,z,A,B,C,D=!1;if(b.col.colDef.enableCellEdit){var E=function(){},F=function(){},G=function(){b.col.colDef.enableCellEdit&&b.row.enableCellEdit!==!1?b.beginEditEventsWired||n():b.beginEditEventsWired&&q()};G();var H=b.$watch("row",function(a,b){a!==b&&G()});b.$on("$destroy",H)}}}}]),a.directive("uiGridEditor",["gridUtil","uiGridConstants","uiGridEditConstants","$timeout","uiGridEditService",function(a,b,c,d,e){return{scope:!0,require:["?^uiGrid","?^uiGridRenderContainer","ngModel"],compile:function(){return{pre:function(a,b,c){},post:function(a,f,g,h){var i,j,k;h[0]&&(i=h[0]),h[1]&&(j=h[1]),h[2]&&(k=h[2]),a.$on(c.events.BEGIN_CELL_EDIT,function(b,c){if(d(function(){if(f[0].focus(),!a.col.colDef.enableCellEditOnFocus&&i&&i.grid.api.cellNav)try{f[0].setSelectionRange(f[0].value.length,f[0].value.length)}catch(b){}else f[0].select()}),i&&i.grid.api.cellNav)var g=i.grid.api.cellNav.on.viewPortKeyPress(a,function(a,b){e.isStartEditKey(a)&&(k.$setViewValue(String.fromCharCode(a.keyCode),a),k.$render()),g()});f.on("blur",function(b){a.stopEdit(b)})}),a.deepEdit=!1,a.stopEdit=function(b){a.inputForm&&!a.inputForm.$valid?(b.stopPropagation(),a.$emit(c.events.CANCEL_CELL_EDIT)):a.$emit(c.events.END_CELL_EDIT),a.deepEdit=!1},f.on("click",function(b){"checkbox"!==f[0].type&&(a.deepEdit=!0,d(function(){a.grid.disableScrolling=!0}))}),f.on("keydown",function(d){switch(d.keyCode){case b.keymap.ESC:d.stopPropagation(),a.$emit(c.events.CANCEL_CELL_EDIT)}if(!a.deepEdit||d.keyCode!==b.keymap.LEFT&&d.keyCode!==b.keymap.RIGHT&&d.keyCode!==b.keymap.UP&&d.keyCode!==b.keymap.DOWN)if(i&&i.grid.api.cellNav)d.uiGridTargetRenderContainerId=j.containerId,null!==i.cellNav.handleKeyDown(d)&&a.stopEdit(d);else switch(d.keyCode){case b.keymap.ENTER:case b.keymap.TAB:d.stopPropagation(),d.preventDefault(),a.stopEdit(d)}else d.stopPropagation();return!0})}}}}}]),a.directive("uiGridEditor",["$filter",function(a){function b(a){if("undefined"==typeof a||""===a)return null;var b=a.split("-");if(3!==b.length)return null;var c=parseInt(b[0],10),d=parseInt(b[1],10),e=parseInt(b[2],10);return 1>d||1>c||1>e?null:new Date(c,d-1,e)}return{priority:-100,require:"?ngModel",link:function(c,d,e,f){2===angular.version.minor&&e.type&&"date"===e.type&&f&&(f.$formatters.push(function(b){return f.$setValidity(null,!b||!isNaN(b.getTime())),a("date")(b,"yyyy-MM-dd")}),f.$parsers.push(function(a){if(a&&a.length>0){var c=b(a);return f.$setValidity(null,c&&!isNaN(c.getTime())),c}return f.$setValidity(null,!0),null}))}}}]),a.directive("uiGridEditDropdown",["uiGridConstants","uiGridEditConstants",function(a,b){return{require:["?^uiGrid","?^uiGridRenderContainer"],scope:!0,compile:function(){return{pre:function(a,b,c){},post:function(c,d,e,f){var g=f[0],h=f[1];c.$on(b.events.BEGIN_CELL_EDIT,function(){d[0].focus(),d[0].style.width=d[0].parentElement.offsetWidth-1+"px",d.on("blur",function(a){c.stopEdit(a)})}),c.stopEdit=function(a){c.$emit(b.events.END_CELL_EDIT)},d.on("keydown",function(d){switch(d.keyCode){case a.keymap.ESC:d.stopPropagation(),c.$emit(b.events.CANCEL_CELL_EDIT)}if(g&&g.grid.api.cellNav)d.uiGridTargetRenderContainerId=h.containerId,null!==g.cellNav.handleKeyDown(d)&&c.stopEdit(d);else switch(d.keyCode){case a.keymap.ENTER:case a.keymap.TAB:d.stopPropagation(),d.preventDefault(),c.stopEdit(d)}return!0})}}}}}]),a.directive("uiGridEditFileChooser",["gridUtil","uiGridConstants","uiGridEditConstants","$timeout",function(a,b,c,d){return{scope:!0,require:["?^uiGrid","?^uiGridRenderContainer"],compile:function(){return{pre:function(a,b,c){},post:function(b,d,e,f){var g,h;f[0]&&(g=f[0]),f[1]&&(h=f[1]);var i=(g.grid,function(d){var e=d.srcElement||d.target;e&&e.files&&e.files.length>0?("function"==typeof b.col.colDef.editFileChooserCallback?b.col.colDef.editFileChooserCallback(b.row,b.col,e.files):a.logError("You need to set colDef.editFileChooserCallback to use the file chooser"),e.form.reset(),b.$emit(c.events.END_CELL_EDIT)):b.$emit(c.events.CANCEL_CELL_EDIT)});d[0].addEventListener("change",i,!1),b.$on(c.events.BEGIN_CELL_EDIT,function(){d[0].focus(),d[0].select(),d.on("blur",function(a){b.$emit(c.events.END_CELL_EDIT)})})}}}}}])}(),function(){"use strict";var a=angular.module("ui.grid.expandable",["ui.grid"]);a.service("uiGridExpandableService",["gridUtil","$compile",function(a,b){var c={initializeGrid:function(b){b.expandable={},b.expandable.expandedAll=!1,b.options.enableExpandable=b.options.enableExpandable!==!1,b.options.expandableRowHeight=b.options.expandableRowHeight||150,b.options.expandableRowHeaderWidth=b.options.expandableRowHeaderWidth||40,b.options.enableExpandable&&!b.options.expandableRowTemplate&&(a.logError("You have not set the expandableRowTemplate, disabling expandable module"),b.options.enableExpandable=!1);var d={events:{expandable:{rowExpandedBeforeStateChanged:function(a,b){},rowExpandedStateChanged:function(a,b){}}},methods:{expandable:{toggleRowExpansion:function(a){var d=b.getRow(a);null!==d&&c.toggleRowExpansion(b,d)},expandAllRows:function(){c.expandAllRows(b)},collapseAllRows:function(){c.collapseAllRows(b)},toggleAllRows:function(){c.toggleAllRows(b)}}}};b.api.registerEventsFromObject(d.events),b.api.registerMethodsFromObject(d.methods)},toggleRowExpansion:function(a,b){a.api.expandable.raise.rowExpandedBeforeStateChanged(b),b.isExpanded=!b.isExpanded,angular.isUndefined(b.expandedRowHeight)&&(b.expandedRowHeight=a.options.expandableRowHeight),b.isExpanded?b.height=b.grid.options.rowHeight+b.expandedRowHeight:(b.height=b.grid.options.rowHeight,a.expandable.expandedAll=!1),a.api.expandable.raise.rowExpandedStateChanged(b)},expandAllRows:function(a,b){a.renderContainers.body.visibleRowCache.forEach(function(b){b.isExpanded||c.toggleRowExpansion(a,b)}),a.expandable.expandedAll=!0,a.queueGridRefresh()},collapseAllRows:function(a){a.renderContainers.body.visibleRowCache.forEach(function(b){b.isExpanded&&c.toggleRowExpansion(a,b)}),a.expandable.expandedAll=!1,a.queueGridRefresh()},toggleAllRows:function(a){a.expandable.expandedAll?c.collapseAllRows(a):c.expandAllRows(a)}};return c}]),a.directive("uiGridExpandable",["uiGridExpandableService","$templateCache",function(a,b){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(c,d,e,f){if(f.grid.options.enableExpandableRowHeader!==!1){var g={name:"expandableButtons",displayName:"",exporterSuppressExport:!0,enableColumnResizing:!1,enableColumnMenu:!1,width:f.grid.options.expandableRowHeaderWidth||40};g.cellTemplate=b.get("ui-grid/expandableRowHeader"),g.headerCellTemplate=b.get("ui-grid/expandableTopRowHeader"),f.grid.addRowHeaderColumn(g)}a.initializeGrid(f.grid)},post:function(a,b,c,d){}}}}}]),a.directive("uiGrid",["uiGridExpandableService","$templateCache",function(a,b){return{replace:!0,priority:599,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(a,b,c,d){d.grid.api.core.on.renderingComplete(a,function(){a.row&&a.row.grid&&a.row.grid.options&&a.row.grid.options.enableExpandable&&(d.grid.parentRow=a.row)})},post:function(a,b,c,d){}}}}}]),a.directive("uiGridExpandableRow",["uiGridExpandableService","$timeout","$compile","uiGridConstants","gridUtil","$interval","$log",function(a,b,c,d,e,f,g){return{replace:!1,priority:0,scope:!1,compile:function(){return{pre:function(a,b,d,f){e.getTemplate(a.grid.options.expandableRowTemplate).then(function(d){if(a.grid.options.expandableRowScope){var e=a.grid.options.expandableRowScope;for(var f in e)e.hasOwnProperty(f)&&(a[f]=e[f])}var g=c(d)(a);b.append(g),a.row.expandedRendered=!0})},post:function(a,b,c,d){a.$on("$destroy",function(){a.row.expandedRendered=!1})}}}}}]),a.directive("uiGridRow",["$compile","gridUtil","$templateCache",function(a,b,c){return{priority:-200,scope:!1,compile:function(a,b){return{pre:function(a,b,c,d){a.expandableRow={},a.expandableRow.shouldRenderExpand=function(){var b="body"===a.colContainer.name&&a.grid.options.enableExpandable!==!1&&a.row.isExpanded&&(!a.grid.isScrollingVertically||a.row.expandedRendered);return b},a.expandableRow.shouldRenderFiller=function(){var b=a.row.isExpanded&&("body"!==a.colContainer.name||a.grid.isScrollingVertically&&!a.row.expandedRendered);return b}},post:function(a,b,c,d){}}}}}]),a.directive("uiGridViewport",["$compile","gridUtil","$templateCache",function(a,b,c){return{priority:-200,scope:!1,compile:function(a,b){var d=angular.element(a.children().children()[0]),e=c.get("ui-grid/expandableScrollFiller"),f=c.get("ui-grid/expandableRow");return d.append(f),d.append(e),{pre:function(a,b,c,d){},post:function(a,b,c,d){}}}}}])}(),function(){"use strict";var a=angular.module("ui.grid.exporter",["ui.grid"]);a.constant("uiGridExporterConstants",{featureName:"exporter",ALL:"all",VISIBLE:"visible",SELECTED:"selected",CSV_CONTENT:"CSV_CONTENT",BUTTON_LABEL:"BUTTON_LABEL",FILE_NAME:"FILE_NAME"}),a.service("uiGridExporterService",["$q","uiGridExporterConstants","gridUtil","$compile","$interval","i18nService",function(a,b,c,d,e,f){var g={delay:100,initializeGrid:function(a){a.exporter={},this.defaultGridOptions(a.options);var b={events:{exporter:{}},methods:{exporter:{csvExport:function(b,c){g.csvExport(a,b,c)},pdfExport:function(b,c){g.pdfExport(a,b,c)}}}};a.api.registerEventsFromObject(b.events),a.api.registerMethodsFromObject(b.methods),a.api.core.addToGridMenu?g.addToMenu(a):e(function(){a.api.core.addToGridMenu&&g.addToMenu(a)},this.delay,1)},defaultGridOptions:function(a){a.exporterSuppressMenu=a.exporterSuppressMenu===!0,a.exporterMenuLabel=a.exporterMenuLabel?a.exporterMenuLabel:"Export",a.exporterSuppressColumns=a.exporterSuppressColumns?a.exporterSuppressColumns:[],a.exporterCsvColumnSeparator=a.exporterCsvColumnSeparator?a.exporterCsvColumnSeparator:",",a.exporterCsvFilename=a.exporterCsvFilename?a.exporterCsvFilename:"download.csv",a.exporterPdfFilename=a.exporterPdfFilename?a.exporterPdfFilename:"download.pdf",a.exporterOlderExcelCompatibility=a.exporterOlderExcelCompatibility===!0,a.exporterPdfDefaultStyle=a.exporterPdfDefaultStyle?a.exporterPdfDefaultStyle:{fontSize:11},a.exporterPdfTableStyle=a.exporterPdfTableStyle?a.exporterPdfTableStyle:{margin:[0,5,0,15]},a.exporterPdfTableHeaderStyle=a.exporterPdfTableHeaderStyle?a.exporterPdfTableHeaderStyle:{bold:!0,fontSize:12,color:"black"},a.exporterPdfHeader=a.exporterPdfHeader?a.exporterPdfHeader:null,a.exporterPdfFooter=a.exporterPdfFooter?a.exporterPdfFooter:null,a.exporterPdfOrientation=a.exporterPdfOrientation?a.exporterPdfOrientation:"landscape",a.exporterPdfPageSize=a.exporterPdfPageSize?a.exporterPdfPageSize:"A4",a.exporterPdfMaxGridWidth=a.exporterPdfMaxGridWidth?a.exporterPdfMaxGridWidth:720,a.exporterMenuAllData=void 0!==a.exporterMenuAllData?a.exporterMenuAllData:!0,a.exporterMenuCsv=void 0!==a.exporterMenuCsv?a.exporterMenuCsv:!0,a.exporterMenuPdf=void 0!==a.exporterMenuPdf?a.exporterMenuPdf:!0,a.exporterPdfCustomFormatter=a.exporterPdfCustomFormatter&&"function"==typeof a.exporterPdfCustomFormatter?a.exporterPdfCustomFormatter:function(a){return a},a.exporterHeaderFilterUseName=a.exporterHeaderFilterUseName===!0,a.exporterFieldCallback=a.exporterFieldCallback?a.exporterFieldCallback:function(a,b,c,d){return d},a.exporterAllDataFn=a.exporterAllDataFn?a.exporterAllDataFn:null,null==a.exporterAllDataFn&&a.exporterAllDataPromise&&(a.exporterAllDataFn=a.exporterAllDataPromise)},addToMenu:function(a){a.api.core.addToGridMenu(a,[{title:f.getSafeText("gridMenu.exporterAllAsCsv"),action:function(a){this.grid.api.exporter.csvExport(b.ALL,b.ALL)},shown:function(){return this.grid.options.exporterMenuCsv&&this.grid.options.exporterMenuAllData},order:200},{title:f.getSafeText("gridMenu.exporterVisibleAsCsv"),action:function(a){this.grid.api.exporter.csvExport(b.VISIBLE,b.VISIBLE)},shown:function(){return this.grid.options.exporterMenuCsv},order:201},{title:f.getSafeText("gridMenu.exporterSelectedAsCsv"),action:function(a){this.grid.api.exporter.csvExport(b.SELECTED,b.VISIBLE)},shown:function(){return this.grid.options.exporterMenuCsv&&this.grid.api.selection&&this.grid.api.selection.getSelectedRows().length>0},order:202},{title:f.getSafeText("gridMenu.exporterAllAsPdf"),action:function(a){this.grid.api.exporter.pdfExport(b.ALL,b.ALL)},shown:function(){return this.grid.options.exporterMenuPdf&&this.grid.options.exporterMenuAllData},order:203},{title:f.getSafeText("gridMenu.exporterVisibleAsPdf"),action:function(a){this.grid.api.exporter.pdfExport(b.VISIBLE,b.VISIBLE)},shown:function(){return this.grid.options.exporterMenuPdf},order:204},{title:f.getSafeText("gridMenu.exporterSelectedAsPdf"),action:function(a){this.grid.api.exporter.pdfExport(b.SELECTED,b.VISIBLE)},shown:function(){return this.grid.options.exporterMenuPdf&&this.grid.api.selection&&this.grid.api.selection.getSelectedRows().length>0},order:205}])},csvExport:function(a,b,c){var d=this;this.loadAllDataIfNeeded(a,b,c).then(function(){var e=a.options.showHeader?d.getColumnHeaders(a,c):[],f=d.getData(a,b,c),g=d.formatAsCsv(e,f,a.options.exporterCsvColumnSeparator);d.downloadFile(a.options.exporterCsvFilename,g,a.options.exporterOlderExcelCompatibility)})},loadAllDataIfNeeded:function(c,d,e){if(d===b.ALL&&c.rows.length!==c.options.totalItems&&c.options.exporterAllDataFn)return c.options.exporterAllDataFn().then(function(){c.modifyRows(c.options.data)});var f=a.defer();return f.resolve(),f.promise},getColumnHeaders:function(a,c){var d,e=[];if(c===b.ALL)d=a.columns;else{var f=a.renderContainers.left?a.renderContainers.left.visibleColumnCache.filter(function(a){return a.visible}):[],g=a.renderContainers.body?a.renderContainers.body.visibleColumnCache.filter(function(a){return a.visible}):[],h=a.renderContainers.right?a.renderContainers.right.visibleColumnCache.filter(function(a){return a.visible}):[];d=f.concat(g,h)}return d.forEach(function(b,c){b.colDef.exporterSuppressExport!==!0&&-1===a.options.exporterSuppressColumns.indexOf(b.name)&&e.push({name:b.field,displayName:a.options.exporterHeaderFilter?a.options.exporterHeaderFilterUseName?a.options.exporterHeaderFilter(b.name):a.options.exporterHeaderFilter(b.displayName):b.displayName,width:b.drawnWidth?b.drawnWidth:b.width,align:"number"===b.colDef.type?"right":"left"})}),e},getData:function(a,d,e){var f,g,h=[];switch(d){case b.ALL:f=a.rows;break;case b.VISIBLE:f=a.getVisibleRows();break;case b.SELECTED:a.api.selection?f=a.api.selection.getSelectedGridRows():c.logError("selection feature must be enabled to allow selected rows to be exported")}if(e===b.ALL)g=a.columns;else{var i=a.renderContainers.left?a.renderContainers.left.visibleColumnCache.filter(function(a){return a.visible}):[],j=a.renderContainers.body?a.renderContainers.body.visibleColumnCache.filter(function(a){return a.visible}):[],k=a.renderContainers.right?a.renderContainers.right.visibleColumnCache.filter(function(a){return a.visible}):[];g=i.concat(j,k)}return f.forEach(function(c,d){if(c.exporterEnableExporting!==!1){var f=[];g.forEach(function(d,g){if((d.visible||e===b.ALL)&&d.colDef.exporterSuppressExport!==!0&&-1===a.options.exporterSuppressColumns.indexOf(d.name)){var h={value:a.options.exporterFieldCallback(a,c,d,a.getCellValue(c,d))};d.colDef.exporterPdfAlign&&(h.alignment=d.colDef.exporterPdfAlign),f.push(h)}}),h.push(f)}}),h},formatAsCsv:function(a,b,c){var d=this,e=a.map(function(a){return{value:a.displayName}}),f=e.length>0?d.formatRowAsCsv(this,c)(e)+"\n":"";return f+=b.map(this.formatRowAsCsv(this,c)).join("\n")},formatRowAsCsv:function(a,b){return function(c){return c.map(a.formatFieldAsCsv).join(b)}},formatFieldAsCsv:function(a){return null==a.value?"":"number"==typeof a.value?a.value:"boolean"==typeof a.value?a.value?"TRUE":"FALSE":"string"==typeof a.value?'"'+a.value.replace(/"/g,'""')+'"':JSON.stringify(a.value)},isIE:function(){var a=navigator.userAgent.match(/(?:MSIE |Trident\/.*; rv:)(\d+)/);return a?parseInt(a[1]):!1},downloadFile:function(a,b,c){var d,e,f=document,g=f.createElement("a"),h="application/octet-stream;charset=utf-8";if(e=this.isIE(),e&&10>e){var i=f.createElement("iframe");return document.body.appendChild(i),i.contentWindow.document.open("text/html","replace"),i.contentWindow.document.write("sep=,\r\n"+b),i.contentWindow.document.close(),i.contentWindow.focus(),i.contentWindow.document.execCommand("SaveAs",!0,a),document.body.removeChild(i),!0}if(navigator.msSaveBlob)return navigator.msSaveOrOpenBlob(new Blob([c?"\ufeff":"",b],{type:h}),a);if("download"in g){var j=new Blob([c?"\ufeff":"",b],{type:h});d=URL.createObjectURL(j),g.setAttribute("download",a)}else d="data:"+h+","+encodeURIComponent(b),g.setAttribute("target","_blank");g.href=d,g.setAttribute("style","display:none;"),f.body.appendChild(g),setTimeout(function(){if(g.click)g.click();else if(document.createEvent){var a=document.createEvent("MouseEvents");a.initEvent("click",!0,!0),g.dispatchEvent(a)}f.body.removeChild(g)},this.delay)},pdfExport:function(a,b,c){var d=this;this.loadAllDataIfNeeded(a,b,c).then(function(){var e=d.getColumnHeaders(a,c),f=d.getData(a,b,c),g=d.prepareAsPdf(a,e,f);d.isIE()?d.downloadPDF(a.options.exporterPdfFilename,g):pdfMake.createPdf(g).open()})},downloadPDF:function(a,b){var c,d=document;d.createElement("a");c=this.isIE();var e,f=pdfMake.createPdf(b);f.getBuffer(function(b){if(e=new Blob([b]),c&&10>c){var f=d.createElement("iframe");return document.body.appendChild(f),f.contentWindow.document.open("text/html","replace"),f.contentWindow.document.write(e),f.contentWindow.document.close(),f.contentWindow.focus(),f.contentWindow.document.execCommand("SaveAs",!0,a),document.body.removeChild(f),
+!0}return navigator.msSaveBlob?navigator.msSaveBlob(e,a):void 0})},prepareAsPdf:function(a,b,c){var d=this.calculatePdfHeaderWidths(a,b),e=b.map(function(a){return{text:a.displayName,style:"tableHeader"}}),f=c.map(this.formatRowAsPdf(this)),g=[e].concat(f),h={pageOrientation:a.options.exporterPdfOrientation,pageSize:a.options.exporterPdfPageSize,content:[{style:"tableStyle",table:{headerRows:1,widths:d,body:g}}],styles:{tableStyle:a.options.exporterPdfTableStyle,tableHeader:a.options.exporterPdfTableHeaderStyle},defaultStyle:a.options.exporterPdfDefaultStyle};return a.options.exporterPdfLayout&&(h.layout=a.options.exporterPdfLayout),a.options.exporterPdfHeader&&(h.header=a.options.exporterPdfHeader),a.options.exporterPdfFooter&&(h.footer=a.options.exporterPdfFooter),a.options.exporterPdfCustomFormatter&&(h=a.options.exporterPdfCustomFormatter(h)),h},calculatePdfHeaderWidths:function(a,b){var c=0;b.forEach(function(a){"number"==typeof a.width&&(c+=a.width)});var d=0;b.forEach(function(a){if("*"===a.width&&(d+=100),"string"==typeof a.width&&a.width.match(/(\d)*%/)){var b=parseInt(a.width.match(/(\d)*%/)[0]);a.width=c*b/100,d+=a.width}});var e=c+d;return b.map(function(b){return"*"===b.width?b.width:b.width*a.options.exporterPdfMaxGridWidth/e})},formatRowAsPdf:function(a){return function(b){return b.map(a.formatFieldAsPdfString)}},formatFieldAsPdfString:function(a){var b;return b=null==a.value?"":"number"==typeof a.value?a.value.toString():"boolean"==typeof a.value?a.value?"TRUE":"FALSE":"string"==typeof a.value?a.value.replace(/"/g,'""'):JSON.stringify(a.value).replace(/^"/,"").replace(/"$/,""),a.alignment&&"string"==typeof a.alignment&&(b={text:b,alignment:a.alignment}),b}};return g}]),a.directive("uiGridExporter",["uiGridExporterConstants","uiGridExporterService","gridUtil","$compile",function(a,b,c,d){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,link:function(a,c,d,e){b.initializeGrid(e.grid),e.grid.exporter.$scope=a}}}])}(),function(){"use strict";var a=angular.module("ui.grid.grouping",["ui.grid","ui.grid.treeBase"]);a.constant("uiGridGroupingConstants",{featureName:"grouping",rowHeaderColName:"treeBaseRowHeaderCol",EXPANDED:"expanded",COLLAPSED:"collapsed",aggregation:{COUNT:"count",SUM:"sum",MAX:"max",MIN:"min",AVG:"avg"}}),a.service("uiGridGroupingService",["$q","uiGridGroupingConstants","gridUtil","rowSorter","GridRow","gridClassFactory","i18nService","uiGridConstants","uiGridTreeBaseService",function(a,b,c,d,e,f,g,h,i){var j={initializeGrid:function(a,b){i.initializeGrid(a,b),a.grouping={},a.grouping.groupHeaderCache={},j.defaultGridOptions(a.options),a.registerRowsProcessor(j.groupRows,400),a.registerColumnBuilder(j.groupingColumnBuilder),a.registerColumnsProcessor(j.groupingColumnProcessor,400);var c={events:{grouping:{aggregationChanged:{},groupingChanged:{}}},methods:{grouping:{getGrouping:function(b){var c=j.getGrouping(a);return c.grouping.forEach(function(a){a.colName=a.col.name,delete a.col}),c.aggregations.forEach(function(a){a.colName=a.col.name,delete a.col}),c.aggregations=c.aggregations.filter(function(a){return!a.aggregation.source||"grouping"!==a.aggregation.source}),b&&(c.rowExpandedStates=j.getRowExpandedStates(a.grouping.groupingHeaderCache)),c},setGrouping:function(b){j.setGrouping(a,b)},groupColumn:function(b){var c=a.getColumn(b);j.groupColumn(a,c)},ungroupColumn:function(b){var c=a.getColumn(b);j.ungroupColumn(a,c)},clearGrouping:function(){j.clearGrouping(a)},aggregateColumn:function(b,c,d){var e=a.getColumn(b);j.aggregateColumn(a,e,c,d)}}}};a.api.registerEventsFromObject(c.events),a.api.registerMethodsFromObject(c.methods),a.api.core.on.sortChanged(b,j.tidyPriorities)},defaultGridOptions:function(a){a.enableGrouping=a.enableGrouping!==!1,a.groupingShowCounts=a.groupingShowCounts!==!1,a.groupingNullLabel="undefined"==typeof a.groupingNullLabel?"Null":a.groupingNullLabel,a.enableGroupHeaderSelection=a.enableGroupHeaderSelection===!0},groupingColumnBuilder:function(a,d,e){if(a.enableGrouping!==!1){"undefined"==typeof d.grouping&&"undefined"!=typeof a.grouping?(d.grouping=angular.copy(a.grouping),"undefined"!=typeof d.grouping.groupPriority&&d.grouping.groupPriority>-1&&(d.treeAggregationFn=i.nativeAggregations()[b.aggregation.COUNT].aggregationFn,d.treeAggregationFinalizerFn=j.groupedFinalizerFn)):"undefined"==typeof d.grouping&&(d.grouping={}),"undefined"!=typeof d.grouping&&"undefined"!=typeof d.grouping.groupPriority&&d.grouping.groupPriority>=0&&(d.suppressRemoveSort=!0);var f={name:"ui.grid.grouping.group",title:g.get().grouping.group,icon:"ui-grid-icon-indent-right",shown:function(){return"undefined"==typeof this.context.col.grouping||"undefined"==typeof this.context.col.grouping.groupPriority||this.context.col.grouping.groupPriority<0},action:function(){j.groupColumn(this.context.col.grid,this.context.col)}},h={name:"ui.grid.grouping.ungroup",title:g.get().grouping.ungroup,icon:"ui-grid-icon-indent-left",shown:function(){return"undefined"!=typeof this.context.col.grouping&&"undefined"!=typeof this.context.col.grouping.groupPriority&&this.context.col.grouping.groupPriority>=0},action:function(){j.ungroupColumn(this.context.col.grid,this.context.col)}},k={name:"ui.grid.grouping.aggregateRemove",title:g.get().grouping.aggregate_remove,shown:function(){return"undefined"!=typeof this.context.col.treeAggregationFn},action:function(){j.aggregateColumn(this.context.col.grid,this.context.col,null)}},l=function(a,b){b=b||g.get().grouping["aggregate_"+a]||a;var e={name:"ui.grid.grouping.aggregate"+a,title:b,shown:function(){return"undefined"==typeof this.context.col.treeAggregation||"undefined"==typeof this.context.col.treeAggregation.type||this.context.col.treeAggregation.type!==a},action:function(){j.aggregateColumn(this.context.col.grid,this.context.col,a)}};c.arrayContainsObjectWithProperty(d.menuItems,"name","ui.grid.grouping.aggregate"+a)||d.menuItems.push(e)};d.colDef.groupingShowGroupingMenu!==!1&&(c.arrayContainsObjectWithProperty(d.menuItems,"name","ui.grid.grouping.group")||d.menuItems.push(f),c.arrayContainsObjectWithProperty(d.menuItems,"name","ui.grid.grouping.ungroup")||d.menuItems.push(h)),d.colDef.groupingShowAggregationMenu!==!1&&(angular.forEach(i.nativeAggregations(),function(a,b){l(b)}),angular.forEach(e.treeCustomAggregations,function(a,b){l(b,a.menuTitle)}),c.arrayContainsObjectWithProperty(d.menuItems,"name","ui.grid.grouping.aggregateRemove")||d.menuItems.push(k))}},groupingColumnProcessor:function(a,b){return a=j.moveGroupColumns(this,a,b)},groupedFinalizerFn:function(a){var b=this;"undefined"!=typeof a.groupVal?(a.rendered=a.groupVal,b.grid.options.groupingShowCounts&&"date"!==b.colDef.type&&(a.rendered+=" ("+a.value+")")):a.rendered=null},moveGroupColumns:function(a,b,c){return a.options.moveGroupColumns===!1?b:(b.forEach(function(a,b){a.groupingPosition=b}),b.sort(function(a,b){var c,d;return c=a.isRowHeader?-1e3:"undefined"==typeof a.grouping||"undefined"==typeof a.grouping.groupPriority||a.grouping.groupPriority<0?null:a.grouping.groupPriority,d=b.isRowHeader?-1e3:"undefined"==typeof b.grouping||"undefined"==typeof b.grouping.groupPriority||b.grouping.groupPriority<0?null:b.grouping.groupPriority,null!==c&&null===d?-1:null!==d&&null===c?1:null!==c&&null!==d?c-d:a.groupingPosition-b.groupingPosition}),b.forEach(function(a,b){delete a.groupingPosition}),b)},groupColumn:function(a,c){"undefined"==typeof c.grouping&&(c.grouping={});var d=j.getGrouping(a);c.grouping.groupPriority=d.grouping.length,c.sort?("undefined"==typeof c.sort.direction||null===c.sort.direction)&&(c.sort.direction=h.ASC):c.sort={direction:h.ASC},c.treeAggregation={type:b.aggregation.COUNT,source:"grouping"},c.treeAggregationFn=i.nativeAggregations()[b.aggregation.COUNT].aggregationFn,c.treeAggregationFinalizerFn=j.groupedFinalizerFn,a.api.grouping.raise.groupingChanged(c),a.api.core.raise.sortChanged(a,a.getColumnSorting()),a.queueGridRefresh()},ungroupColumn:function(a,b){"undefined"!=typeof b.grouping&&(delete b.grouping.groupPriority,delete b.treeAggregation,delete b.customTreeAggregationFinalizer,j.tidyPriorities(a),a.api.grouping.raise.groupingChanged(b),a.queueGridRefresh())},aggregateColumn:function(a,b,c){"undefined"!=typeof b.grouping&&"undefined"!=typeof b.grouping.groupPriority&&b.grouping.groupPriority>=0&&j.ungroupColumn(a,b);var d={};"undefined"!=typeof a.options.treeCustomAggregations[c]?d=a.options.treeCustomAggregations[c]:"undefined"!=typeof i.nativeAggregations()[c]&&(d=i.nativeAggregations()[c]),b.treeAggregation={type:c,label:g.get().aggregation[d.label]||d.label},b.treeAggregationFn=d.aggregationFn,b.treeAggregationFinalizerFn=d.finalizerFn,a.api.grouping.raise.aggregationChanged(b),a.queueGridRefresh()},setGrouping:function(a,b){"undefined"!=typeof b&&(j.clearGrouping(a),b.grouping&&b.grouping.length&&b.grouping.length>0&&b.grouping.forEach(function(b){var c=a.getColumn(b.colName);c&&j.groupColumn(a,c)}),b.aggregations&&b.aggregations.length&&b.aggregations.forEach(function(b){var c=a.getColumn(b.colName);c&&j.aggregateColumn(a,c,b.aggregation.type)}),b.rowExpandedStates&&j.applyRowExpandedStates(a.grouping.groupingHeaderCache,b.rowExpandedStates))},clearGrouping:function(a){var b=j.getGrouping(a);b.grouping.length>0&&b.grouping.forEach(function(b){b.col||(b.col=a.getColumn(b.colName)),j.ungroupColumn(a,b.col)}),b.aggregations.length>0&&b.aggregations.forEach(function(b){b.col||(b.col=a.getColumn(b.colName)),j.aggregateColumn(a,b.col,null)})},tidyPriorities:function(a){"undefined"!=typeof a&&"undefined"==typeof a.grid||"undefined"==typeof this.grid||(a=this.grid);var b=[],c=[];a.columns.forEach(function(a,d){"undefined"!=typeof a.grouping&&"undefined"!=typeof a.grouping.groupPriority&&a.grouping.groupPriority>=0?b.push(a):"undefined"!=typeof a.sort&&"undefined"!=typeof a.sort.priority&&a.sort.priority>=0&&c.push(a)}),b.sort(function(a,b){return a.grouping.groupPriority-b.grouping.groupPriority}),b.forEach(function(a,b){a.grouping.groupPriority=b,a.suppressRemoveSort=!0,"undefined"==typeof a.sort&&(a.sort={}),a.sort.priority=b});var d=b.length;c.sort(function(a,b){return a.sort.priority-b.sort.priority}),c.forEach(function(a,b){a.sort.priority=d,a.suppressRemoveSort=a.colDef.suppressRemoveSort,d++})},groupRows:function(a){if(0===a.length)return a;var b=this;b.grouping.oldGroupingHeaderCache=b.grouping.groupingHeaderCache||{},b.grouping.groupingHeaderCache={};for(var c=j.initialiseProcessingState(b),e=function(e,h){var i=b.getCellValue(g,e.col);e.initialised&&0===d.getSortFn(b,e.col,a)(i,e.currentValue)||(j.insertGroupHeader(b,a,f,c,h),f++)},f=0;f<a.length;f++){var g=a[f];g.visible&&c.forEach(e)}return delete b.grouping.oldGroupingHeaderCache,a},initialiseProcessingState:function(a){var b=[],c=j.getGrouping(a);return c.grouping.forEach(function(a,c){b.push({fieldName:a.field,col:a.col,initialised:!1,currentValue:null,currentRow:null})}),b},getGrouping:function(a){var b=[],c=[];return a.columns.forEach(function(a,d){a.grouping&&"undefined"!=typeof a.grouping.groupPriority&&a.grouping.groupPriority>=0&&b.push({field:a.field,col:a,groupPriority:a.grouping.groupPriority,grouping:a.grouping}),a.treeAggregation&&a.treeAggregation.type&&c.push({field:a.field,col:a,aggregation:a.treeAggregation})}),b.sort(function(a,b){return a.groupPriority-b.groupPriority}),b.forEach(function(a,b){a.grouping.groupPriority=b,a.groupPriority=b,delete a.grouping}),{grouping:b,aggregations:c}},insertGroupHeader:function(a,b,c,d,g){var h=(d[g].fieldName,d[g].col),i=a.getCellValue(b[c],h),k=i;("undefined"==typeof i||null===i)&&(k=a.options.groupingNullLabel);for(var l=a.grouping.oldGroupingHeaderCache,m=0;g>m;m++)l&&l[d[m].currentValue]&&(l=l[d[m].currentValue].children);var n;for(l&&l[i]?(n=l[i].row,n.entity={}):(n=new e({},null,a),f.rowTemplateAssigner.call(a,n)),n.entity["$$"+d[g].col.uid]={groupVal:k},n.treeLevel=g,n.groupHeader=!0,n.internalRow=!0,n.enableCellEdit=!1,n.enableSelection=a.options.enableGroupHeaderSelection,d[g].initialised=!0,d[g].currentValue=i,d[g].currentRow=n,j.finaliseProcessingState(d,g+1),b.splice(c,0,n),l=a.grouping.groupingHeaderCache,m=0;g>m;m++)l=l[d[m].currentValue].children;l[i]={row:n,children:{}}},finaliseProcessingState:function(a,b){for(var c=b;c<a.length;c++)a[c].initialised=!1,a[c].currentRow=null,a[c].currentValue=null},getRowExpandedStates:function(a){if("undefined"==typeof a)return{};var b={};return angular.forEach(a,function(a,c){b[c]={state:a.row.treeNode.state},a.children?b[c].children=j.getRowExpandedStates(a.children):b[c].children={}}),b},applyRowExpandedStates:function(a,b){"undefined"!=typeof b&&angular.forEach(b,function(b,c){a[c]&&(a[c].row.treeNode.state=b.state,b.children&&a[c].children&&j.applyRowExpandedStates(a[c].children,b.children))})}};return j}]),a.directive("uiGridGrouping",["uiGridGroupingConstants","uiGridGroupingService","$templateCache",function(a,b,c){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(a,c,d,e){e.grid.options.enableGrouping!==!1&&b.initializeGrid(e.grid,a)},post:function(a,b,c,d){}}}}}])}(),function(){"use strict";var a=angular.module("ui.grid.importer",["ui.grid"]);a.constant("uiGridImporterConstants",{featureName:"importer"}),a.service("uiGridImporterService",["$q","uiGridConstants","uiGridImporterConstants","gridUtil","$compile","$interval","i18nService","$window",function(a,b,c,d,e,f,g,h){var i={initializeGrid:function(a,b){b.importer={$scope:a},this.defaultGridOptions(b.options);var c={events:{importer:{}},methods:{importer:{importFile:function(a){i.importThisFile(b,a)}}}};b.api.registerEventsFromObject(c.events),b.api.registerMethodsFromObject(c.methods),b.options.enableImporter&&b.options.importerShowMenu&&(b.api.core.addToGridMenu?i.addToMenu(b):f(function(){b.api.core.addToGridMenu&&i.addToMenu(b)},100,1))},defaultGridOptions:function(a){a.enableImporter||void 0===a.enableImporter?h.hasOwnProperty("File")&&h.hasOwnProperty("FileReader")&&h.hasOwnProperty("FileList")&&h.hasOwnProperty("Blob")?a.enableImporter=!0:(d.logError("The File APIs are not fully supported in this browser, grid importer cannot be used."),a.enableImporter=!1):a.enableImporter=!1,a.importerProcessHeaders=a.importerProcessHeaders||i.processHeaders,a.importerHeaderFilter=a.importerHeaderFilter||function(a){return a},a.importerErrorCallback&&"function"==typeof a.importerErrorCallback||delete a.importerErrorCallback,a.enableImporter!==!0||a.importerDataAddCallback||(d.logError("You have not set an importerDataAddCallback, importer is disabled"),a.enableImporter=!1),a.importerShowMenu=a.importerShowMenu!==!1,a.importerObjectCallback=a.importerObjectCallback||function(a,b){return b}},addToMenu:function(a){a.api.core.addToGridMenu(a,[{title:g.getSafeText("gridMenu.importerTitle"),order:150},{templateUrl:"ui-grid/importerMenuItemContainer",action:function(b){this.grid.api.importer.importAFile(a)},order:151}])},importThisFile:function(a,b){if(!b)return void d.logError("No file object provided to importThisFile, should be impossible, aborting");var c=new FileReader;switch(b.type){case"application/json":c.onload=i.importJsonClosure(a);break;default:c.onload=i.importCsvClosure(a)}c.readAsText(b)},importJsonClosure:function(a){return function(b){var c,d=[],e=i.parseJson(a,b);null!==e&&(e.forEach(function(b,e){c=i.newObject(a),angular.extend(c,b),c=a.options.importerObjectCallback(a,c),d.push(c)}),i.addObjects(a,d))}},parseJson:function(a,b){var c;try{c=JSON.parse(b.target.result)}catch(d){return void i.alertError(a,"importer.invalidJson","File could not be processed, is it valid json? Content was: ",b.target.result)}return Array.isArray(c)?c:(i.alertError(a,"importer.jsonNotarray","Import failed, file is not an array, file was: ",b.target.result),[])},importCsvClosure:function(a){return function(b){var c=i.parseCsv(b);if(!c||c.length<1)return void i.alertError(a,"importer.invalidCsv","File could not be processed, is it valid csv? Content was: ",b.target.result);var d=i.createCsvObjects(a,c);return d&&0!==d.length?void i.addObjects(a,d):void i.alertError(a,"importer.noObjects","Objects were not able to be derived, content was: ",b.target.result)}},parseCsv:function(a){var b=a.target.result;return CSV.parse(b)},createCsvObjects:function(a,b){var c=a.options.importerProcessHeaders(a,b.shift());if(!c||0===c.length)return i.alertError(a,"importer.noHeaders","Column names could not be derived, content was: ",b),[];var d,e=[];return b.forEach(function(b,f){d=i.newObject(a),null!==b&&b.forEach(function(a,b){null!==c[b]&&(d[c[b]]=a)}),d=a.options.importerObjectCallback(a,d),e.push(d)}),e},processHeaders:function(a,b){var c=[];if(a.options.columnDefs&&0!==a.options.columnDefs.length){var d=i.flattenColumnDefs(a,a.options.columnDefs);return b.forEach(function(a,b){d[a]?c.push(d[a]):d[a.toLowerCase()]?c.push(d[a.toLowerCase()]):c.push(null)}),c}return b.forEach(function(a,b){c.push(a.replace(/[^0-9a-zA-Z\-_]/g,"_"))}),c},flattenColumnDefs:function(a,b){var c={};return b.forEach(function(b,d){b.name&&(c[b.name]=b.field||b.name,c[b.name.toLowerCase()]=b.field||b.name),b.field&&(c[b.field]=b.field||b.name,c[b.field.toLowerCase()]=b.field||b.name),b.displayName&&(c[b.displayName]=b.field||b.name,c[b.displayName.toLowerCase()]=b.field||b.name),b.displayName&&a.options.importerHeaderFilter&&(c[a.options.importerHeaderFilter(b.displayName)]=b.field||b.name,c[a.options.importerHeaderFilter(b.displayName).toLowerCase()]=b.field||b.name)}),c},addObjects:function(a,c,d){if(a.api.rowEdit){var e=a.registerDataChangeCallback(function(){a.api.rowEdit.setRowsDirty(c),e()},[b.dataChange.ROW]);a.importer.$scope.$on("$destroy",e)}a.importer.$scope.$apply(a.options.importerDataAddCallback(a,c))},newObject:function(a){return"undefined"!=typeof a.options&&"undefined"!=typeof a.options.importerNewObject?new a.options.importerNewObject:{}},alertError:function(a,b,c,e){a.options.importerErrorCallback?a.options.importerErrorCallback(a,b,c,e):(h.alert(g.getSafeText(b)),d.logError(c+e))}};return i}]),a.directive("uiGridImporter",["uiGridImporterConstants","uiGridImporterService","gridUtil","$compile",function(a,b,c,d){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,link:function(a,c,d,e){b.initializeGrid(a,e.grid)}}}]),a.directive("uiGridImporterMenuItem",["uiGridImporterConstants","uiGridImporterService","gridUtil","$compile",function(a,b,c,d){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,templateUrl:"ui-grid/importerMenuItem",link:function(a,d,e,f){var g=function(a){var c=a.srcElement||a.target;if(c&&c.files&&1===c.files.length){var d=c.files[0];b.importThisFile(i,d),c.form.reset()}},h=d[0].querySelectorAll(".ui-grid-importer-file-chooser"),i=f.grid;1!==h.length?c.logError("Found > 1 or < 1 file choosers within the menu item, error, cannot continue"):h[0].addEventListener("change",g,!1)}}}])}(),function(){"use strict";var a=angular.module("ui.grid.infiniteScroll",["ui.grid"]);a.service("uiGridInfiniteScrollService",["gridUtil","$compile","$timeout","uiGridConstants","ScrollEvent","$q",function(a,b,c,d,e,f){var g={initializeGrid:function(a,b){if(g.defaultGridOptions(a.options),a.options.enableInfiniteScroll){a.infiniteScroll={dataLoading:!1},g.setScrollDirections(a,a.options.infiniteScrollUp,a.options.infiniteScrollDown),a.api.core.on.scrollEnd(b,g.handleScroll);var c={events:{infiniteScroll:{needLoadMoreData:function(a,b){},needLoadMoreDataTop:function(a,b){}}},methods:{infiniteScroll:{dataLoaded:function(b,c){g.setScrollDirections(a,b,c);var d=g.adjustScroll(a).then(function(){a.infiniteScroll.dataLoading=!1});return d},resetScroll:function(b,c){return g.setScrollDirections(a,b,c),g.adjustInfiniteScrollPosition(a,0)},saveScrollPercentage:function(){a.infiniteScroll.prevScrollTop=a.renderContainers.body.prevScrollTop,a.infiniteScroll.previousVisibleRows=a.getVisibleRowCount()},dataRemovedTop:function(b,c){g.dataRemovedTop(a,b,c)},dataRemovedBottom:function(b,c){g.dataRemovedBottom(a,b,c)},setScrollDirections:function(b,c){g.setScrollDirections(a,b,c)}}}};a.api.registerEventsFromObject(c.events),a.api.registerMethodsFromObject(c.methods)}},defaultGridOptions:function(a){a.enableInfiniteScroll=a.enableInfiniteScroll!==!1,a.infiniteScrollRowsFromEnd=a.infiniteScrollRowsFromEnd||20,a.infiniteScrollUp=a.infiniteScrollUp===!0,a.infiniteScrollDown=a.infiniteScrollDown!==!1},setScrollDirections:function(a,b,c){a.infiniteScroll.scrollUp=b===!0,a.suppressParentScrollUp=b===!0,a.infiniteScroll.scrollDown=c!==!1,a.suppressParentScrollDown=c!==!1},handleScroll:function(a){if(!(a.grid.infiniteScroll&&a.grid.infiniteScroll.dataLoading||"ui.grid.adjustInfiniteScrollPosition"===a.source)&&a.y){var b,c=a.grid.options.infiniteScrollRowsFromEnd/a.grid.renderContainers.body.visibleRowCache.length;a.grid.scrollDirection===d.scrollDirection.UP?(b=a.y.percentage,c>=b&&g.loadData(a.grid)):a.grid.scrollDirection===d.scrollDirection.DOWN&&(b=1-a.y.percentage,c>=b&&g.loadData(a.grid))}},loadData:function(a){a.infiniteScroll.previousVisibleRows=a.renderContainers.body.visibleRowCache.length,a.infiniteScroll.direction=a.scrollDirection,delete a.infiniteScroll.prevScrollTop,a.scrollDirection===d.scrollDirection.UP&&a.infiniteScroll.scrollUp?(a.infiniteScroll.dataLoading=!0,a.api.infiniteScroll.raise.needLoadMoreDataTop()):a.scrollDirection===d.scrollDirection.DOWN&&a.infiniteScroll.scrollDown&&(a.infiniteScroll.dataLoading=!0,a.api.infiniteScroll.raise.needLoadMoreData())},adjustScroll:function(a){var b=f.defer();return c(function(){var e,f,h,i,j;e=a.getViewportHeight()+a.headerHeight-a.renderContainers.body.headerHeight-a.scrollbarHeight,f=a.options.rowHeight,void 0===a.infiniteScroll.direction&&g.adjustInfiniteScrollPosition(a,0),h=a.getVisibleRowCount();var k=f*h;a.infiniteScroll.scrollDown&&e>k&&a.api.infiniteScroll.raise.needLoadMoreData(),a.infiniteScroll.direction===d.scrollDirection.UP&&(i=a.infiniteScroll.prevScrollTop||0,j=i+(h-a.infiniteScroll.previousVisibleRows)*f,g.adjustInfiniteScrollPosition(a,j),c(function(){b.resolve()})),a.infiniteScroll.direction===d.scrollDirection.DOWN&&(j=a.infiniteScroll.prevScrollTop||a.infiniteScroll.previousVisibleRows*f-e,g.adjustInfiniteScrollPosition(a,j),c(function(){b.resolve()}))},0),b.promise},adjustInfiniteScrollPosition:function(a,b){var c=new e(a,null,null,"ui.grid.adjustInfiniteScrollPosition"),d=a.getVisibleRowCount(),f=a.getViewportHeight()+a.headerHeight-a.renderContainers.body.headerHeight-a.scrollbarHeight,g=a.options.rowHeight,h=d*g-f;0===b&&a.infiniteScroll.scrollUp?c.y={percentage:1/h}:c.y={percentage:b/h},a.scrollContainers("",c)},dataRemovedTop:function(a,b,c){var d,e,f,h;return g.setScrollDirections(a,b,c),d=a.renderContainers.body.visibleRowCache.length,e=a.infiniteScroll.prevScrollTop,h=a.options.rowHeight,f=e-(a.infiniteScroll.previousVisibleRows-d)*h,g.adjustInfiniteScrollPosition(a,f)},dataRemovedBottom:function(a,b,c){var d;return g.setScrollDirections(a,b,c),d=a.infiniteScroll.prevScrollTop,g.adjustInfiniteScrollPosition(a,d)}};return g}]),a.directive("uiGridInfiniteScroll",["uiGridInfiniteScrollService",function(a){return{priority:-200,scope:!1,require:"^uiGrid",compile:function(b,c,d){return{pre:function(b,c,d,e){a.initializeGrid(e.grid,b)},post:function(a,b,c){}}}}}])}(),function(){"use strict";var a=angular.module("ui.grid.moveColumns",["ui.grid"]);a.service("uiGridMoveColumnService",["$q","$timeout","$log","ScrollEvent","uiGridConstants","gridUtil",function(a,b,c,d,e,f){var g={initializeGrid:function(a){var b=this;this.registerPublicApi(a),this.defaultGridOptions(a.options),a.moveColumns={orderCache:[]},a.registerColumnBuilder(b.movableColumnBuilder),a.registerDataChangeCallback(b.verifyColumnOrder,[e.dataChange.COLUMN])},registerPublicApi:function(a){var b=this,c={events:{colMovable:{columnPositionChanged:function(a,b,c){}}},methods:{colMovable:{moveColumn:function(c,d){var e=a.columns;if(!angular.isNumber(c)||!angular.isNumber(d))return void f.logError("MoveColumn: Please provide valid values for originalPosition and finalPosition");for(var g=0,h=0;h<e.length;h++)(angular.isDefined(e[h].colDef.visible)&&e[h].colDef.visible===!1||e[h].isRowHeader===!0)&&g++;if(c>=e.length-g||d>=e.length-g)return void f.logError("MoveColumn: Invalid values for originalPosition, finalPosition");var i=function(a){for(var b=a,c=0;b>=c;c++)angular.isDefined(e[c])&&(angular.isDefined(e[c].colDef.visible)&&e[c].colDef.visible===!1||e[c].isRowHeader===!0)&&b++;return b};b.redrawColumnAtPosition(a,i(c),i(d))}}}};a.api.registerEventsFromObject(c.events),a.api.registerMethodsFromObject(c.methods)},defaultGridOptions:function(a){a.enableColumnMoving=a.enableColumnMoving!==!1},movableColumnBuilder:function(b,c,d){var e=[];return b.enableColumnMoving=void 0===b.enableColumnMoving?d.enableColumnMoving:b.enableColumnMoving,a.all(e)},updateColumnCache:function(a){a.moveColumns.orderCache=a.getOnlyDataColumns()},verifyColumnOrder:function(a){var b,c=a.rowHeaderColumns.length;angular.forEach(a.moveColumns.orderCache,function(d,e){if(b=a.columns.indexOf(d),-1!==b&&b-c!==e){var f=a.columns.splice(b,1)[0];a.columns.splice(e+c,0,f)}})},redrawColumnAtPosition:function(a,c,d){var f=a.columns,h=f[c];if(h.colDef.enableColumnMoving){if(c>d)for(var i=c;i>d;i--)f[i]=f[i-1];else if(d>c)for(var j=c;d>j;j++)f[j]=f[j+1];f[d]=h,g.updateColumnCache(a),a.queueGridRefresh(),b(function(){a.api.core.notifyDataChange(e.dataChange.COLUMN),a.api.colMovable.raise.columnPositionChanged(h.colDef,c,d)})}}};return g}]),a.directive("uiGridMoveColumns",["uiGridMoveColumnService",function(a){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(b,c,d,e){a.initializeGrid(e.grid)},post:function(a,b,c,d){}}}}}]),a.directive("uiGridHeaderCell",["$q","gridUtil","uiGridMoveColumnService","$document","$log","uiGridConstants","ScrollEvent",function(a,b,c,d,e,f,g){return{priority:-10,require:"^uiGrid",compile:function(){return{post:function(a,e,f,h){if(a.col.colDef.enableColumnMoving){var i,j,k,l,m,n,o=angular.element(e[0].querySelectorAll(".ui-grid-cell-contents")),p=!1,q=!1,r=function(b){i=a.grid.element[0].getBoundingClientRect().left,a.grid.hasLeftContainer()&&(i+=a.grid.renderContainers.left.header[0].getBoundingClientRect().width),j=b.pageX,k=0,l=i+a.grid.getViewportWidth(),"mousedown"===b.type?(d.on("mousemove",s),d.on("mouseup",t)):"touchstart"===b.type&&(d.on("touchmove",s),d.on("touchend",t))},s=function(a){var b=a.pageX-j;0!==b&&(document.onselectstart=function(){return!1},q=!0,p?p&&(x(b),j=a.pageX):w())},t=function(b){if(document.onselectstart=null,m&&(m.remove(),p=!1),v(),u(),q){for(var d=a.grid.columns,e=0,f=0;f<d.length&&d[f].colDef.name!==a.col.colDef.name;f++)e++;if(0>k){for(var g=0,h=e-1;h>=0;h--)if((angular.isUndefined(d[h].colDef.visible)||d[h].colDef.visible===!0)&&(g+=d[h].drawnWidth||d[h].width||d[h].colDef.width,g>Math.abs(k))){c.redrawColumnAtPosition(a.grid,e,h+1);break}g<Math.abs(k)&&c.redrawColumnAtPosition(a.grid,e,0)}else if(k>0){for(var i=0,j=e+1;j<d.length;j++)if((angular.isUndefined(d[j].colDef.visible)||d[j].colDef.visible===!0)&&(i+=d[j].drawnWidth||d[j].width||d[j].colDef.width,i>k)){c.redrawColumnAtPosition(a.grid,e,j-1);break}k>i&&c.redrawColumnAtPosition(a.grid,e,d.length-1)}}},u=function(){o.on("touchstart",r),o.on("mousedown",r)},v=function(){o.off("touchstart",r),o.off("mousedown",r),d.off("mousemove",s),d.off("touchmove",s),d.off("mouseup",t),d.off("touchend",t)};u();var w=function(){p=!0,m=e.clone(),e.parent().append(m),m.addClass("movingColumn");var c,d={};c="safari"===b.detectBrowser()?e[0].offsetLeft+e[0].offsetWidth-e[0].getBoundingClientRect().width:e[0].getBoundingClientRect().left,d.left=c-i+"px";var f=a.grid.element[0].getBoundingClientRect().right,g=e[0].getBoundingClientRect().right;g>f&&(n=a.col.drawnWidth+(f-g),d.width=n+"px"),m.css(d)},x=function(b){for(var c=a.grid.columns,d=0,e=0;e<c.length;e++)(angular.isUndefined(c[e].colDef.visible)||c[e].colDef.visible===!0)&&(d+=c[e].drawnWidth||c[e].width||c[e].colDef.width);var f,j=m[0].getBoundingClientRect().left-1,o=m[0].getBoundingClientRect().right;if(f=j-i+b,f=l>f?f:l,(j>=i||b>0)&&(l>=o||0>b))m.css({visibility:"visible",left:f+"px"});else if(d>Math.ceil(h.grid.gridWidth)){b*=8;var p=new g(a.col.grid,null,null,"uiGridHeaderCell.moveElement");p.x={pixels:b},p.grid.scrollContainers("",p)}for(var q=0,r=0;r<c.length;r++)if(angular.isUndefined(c[r].colDef.visible)||c[r].colDef.visible===!0){if(c[r].colDef.name===a.col.colDef.name)break;q+=c[r].drawnWidth||c[r].width||c[r].colDef.width}void 0===a.newScrollLeft?k+=b:k=a.newScrollLeft+f-q,n<a.col.drawnWidth&&(n+=Math.abs(b),m.css({width:n+"px"}))}}}}}}}])}(),function(){"use strict";var a=angular.module("ui.grid.pagination",["ng","ui.grid"]);a.service("uiGridPaginationService",["gridUtil",function(a){var b={initializeGrid:function(a){b.defaultGridOptions(a.options);var c={events:{pagination:{paginationChanged:function(a,b){}}},methods:{pagination:{getPage:function(){return a.options.enablePagination?a.options.paginationCurrentPage:null},getTotalPages:function(){return a.options.enablePagination?0===a.options.totalItems?1:Math.ceil(a.options.totalItems/a.options.paginationPageSize):null},nextPage:function(){a.options.enablePagination&&(a.options.totalItems>0?a.options.paginationCurrentPage=Math.min(a.options.paginationCurrentPage+1,c.methods.pagination.getTotalPages()):a.options.paginationCurrentPage++)},previousPage:function(){a.options.enablePagination&&(a.options.paginationCurrentPage=Math.max(a.options.paginationCurrentPage-1,1))},seek:function(b){if(a.options.enablePagination){if(!angular.isNumber(b)||1>b)throw"Invalid page number: "+b;a.options.paginationCurrentPage=Math.min(b,c.methods.pagination.getTotalPages())}}}}};a.api.registerEventsFromObject(c.events),a.api.registerMethodsFromObject(c.methods);var d=function(b){if(a.options.useExternalPagination||!a.options.enablePagination)return b;var c=parseInt(a.options.paginationPageSize,10),d=parseInt(a.options.paginationCurrentPage,10),e=b.filter(function(a){return a.visible});a.options.totalItems=e.length;var f=(d-1)*c;return f>e.length&&(d=a.options.paginationCurrentPage=1,f=(d-1)*c),e.slice(f,f+c)};a.registerRowsProcessor(d,900)},defaultGridOptions:function(b){b.enablePagination=b.enablePagination!==!1,b.enablePaginationControls=b.enablePaginationControls!==!1,b.useExternalPagination=b.useExternalPagination===!0,a.isNullOrUndefined(b.totalItems)&&(b.totalItems=0),a.isNullOrUndefined(b.paginationPageSizes)&&(b.paginationPageSizes=[250,500,1e3]),a.isNullOrUndefined(b.paginationPageSize)&&(b.paginationPageSizes.length>0?b.paginationPageSize=b.paginationPageSizes[0]:b.paginationPageSize=0),a.isNullOrUndefined(b.paginationCurrentPage)&&(b.paginationCurrentPage=1),a.isNullOrUndefined(b.paginationTemplate)&&(b.paginationTemplate="ui-grid/pagination")},onPaginationChanged:function(a,b,c){a.api.pagination.raise.paginationChanged(b,c),a.options.useExternalPagination||a.queueGridRefresh()}};return b}]),a.directive("uiGridPagination",["gridUtil","uiGridPaginationService",function(a,b){return{priority:-200,scope:!1,require:"uiGrid",link:{pre:function(c,d,e,f){b.initializeGrid(f.grid),a.getTemplate(f.grid.options.paginationTemplate).then(function(a){var b=angular.element(a);d.append(b),f.innerCompile(b)})}}}}]),a.directive("uiGridPager",["uiGridPaginationService","uiGridConstants","gridUtil","i18nService",function(a,b,c,d){return{priority:-200,scope:!0,require:"^uiGrid",link:function(e,f,g,h){var i=".ui-grid-pager-control-input";e.aria=d.getSafeText("pagination.aria"),e.paginationApi=h.grid.api.pagination,e.sizesLabel=d.getSafeText("pagination.sizes"),e.totalItemsLabel=d.getSafeText("pagination.totalItems"),e.paginationOf=d.getSafeText("pagination.of"),e.paginationThrough=d.getSafeText("pagination.through");var j=h.grid.options;h.grid.renderContainers.body.registerViewportAdjuster(function(a){return a.height=a.height-c.elementHeight(f),a});var k=h.grid.registerDataChangeCallback(function(a){
+a.options.useExternalPagination||(a.options.totalItems=a.rows.length)},[b.dataChange.ROW]);e.$on("$destroy",k);var l=function(){e.showingLow=(j.paginationCurrentPage-1)*j.paginationPageSize+1,e.showingHigh=Math.min(j.paginationCurrentPage*j.paginationPageSize,j.totalItems)},m=e.$watch("grid.options.totalItems + grid.options.paginationPageSize",l),n=e.$watch("grid.options.paginationCurrentPage + grid.options.paginationPageSize",function(b,c){if(b!==c&&void 0!==c){if(!angular.isNumber(j.paginationCurrentPage)||j.paginationCurrentPage<1)return void(j.paginationCurrentPage=1);if(j.totalItems>0&&j.paginationCurrentPage>e.paginationApi.getTotalPages())return void(j.paginationCurrentPage=e.paginationApi.getTotalPages());l(),a.onPaginationChanged(e.grid,j.paginationCurrentPage,j.paginationPageSize)}});e.$on("$destroy",function(){m(),n()}),e.cantPageForward=function(){return j.totalItems>0?j.paginationCurrentPage>=e.paginationApi.getTotalPages():j.data.length<1},e.cantPageToLast=function(){return j.totalItems>0?e.cantPageForward():!0},e.cantPageBackward=function(){return j.paginationCurrentPage<=1};var o=function(a){a&&c.focus.bySelector(f,i)};e.pageFirstPageClick=function(){e.paginationApi.seek(1),o(e.cantPageBackward())},e.pagePreviousPageClick=function(){e.paginationApi.previousPage(),o(e.cantPageBackward())},e.pageNextPageClick=function(){e.paginationApi.nextPage(),o(e.cantPageForward())},e.pageLastPageClick=function(){e.paginationApi.seek(e.paginationApi.getTotalPages()),o(e.cantPageToLast())}}}}])}(),function(){"use strict";var a=angular.module("ui.grid.pinning",["ui.grid"]);a.constant("uiGridPinningConstants",{container:{LEFT:"left",RIGHT:"right",NONE:""}}),a.service("uiGridPinningService",["gridUtil","GridRenderContainer","i18nService","uiGridPinningConstants",function(a,b,c,d){var e={initializeGrid:function(a){e.defaultGridOptions(a.options),a.registerColumnBuilder(e.pinningColumnBuilder);var b={events:{pinning:{columnPinned:function(a,b){}}},methods:{pinning:{pinColumn:function(b,c){e.pinColumn(a,b,c)}}}};a.api.registerEventsFromObject(b.events),a.api.registerMethodsFromObject(b.methods)},defaultGridOptions:function(a){a.enablePinning=a.enablePinning!==!1},pinningColumnBuilder:function(b,f,g){if(b.enablePinning=void 0===b.enablePinning?g.enablePinning:b.enablePinning,b.pinnedLeft?(f.renderContainer="left",f.grid.createLeftContainer()):b.pinnedRight&&(f.renderContainer="right",f.grid.createRightContainer()),b.enablePinning){var h={name:"ui.grid.pinning.pinLeft",title:c.get().pinning.pinLeft,icon:"ui-grid-icon-left-open",shown:function(){return"undefined"==typeof this.context.col.renderContainer||!this.context.col.renderContainer||"left"!==this.context.col.renderContainer},action:function(){e.pinColumn(this.context.col.grid,this.context.col,d.container.LEFT)}},i={name:"ui.grid.pinning.pinRight",title:c.get().pinning.pinRight,icon:"ui-grid-icon-right-open",shown:function(){return"undefined"==typeof this.context.col.renderContainer||!this.context.col.renderContainer||"right"!==this.context.col.renderContainer},action:function(){e.pinColumn(this.context.col.grid,this.context.col,d.container.RIGHT)}},j={name:"ui.grid.pinning.unpin",title:c.get().pinning.unpin,icon:"ui-grid-icon-cancel",shown:function(){return"undefined"!=typeof this.context.col.renderContainer&&null!==this.context.col.renderContainer&&"body"!==this.context.col.renderContainer},action:function(){e.pinColumn(this.context.col.grid,this.context.col,d.container.UNPIN)}};a.arrayContainsObjectWithProperty(f.menuItems,"name","ui.grid.pinning.pinLeft")||f.menuItems.push(h),a.arrayContainsObjectWithProperty(f.menuItems,"name","ui.grid.pinning.pinRight")||f.menuItems.push(i),a.arrayContainsObjectWithProperty(f.menuItems,"name","ui.grid.pinning.unpin")||f.menuItems.push(j)}},pinColumn:function(a,b,c){c===d.container.NONE?b.renderContainer=null:(b.renderContainer=c,c===d.container.LEFT?a.createLeftContainer():c===d.container.RIGHT&&a.createRightContainer()),a.refresh().then(function(){a.api.pinning.raise.columnPinned(b.colDef,c)})}};return e}]),a.directive("uiGridPinning",["gridUtil","uiGridPinningService",function(a,b){return{require:"uiGrid",scope:!1,compile:function(){return{pre:function(a,c,d,e){b.initializeGrid(e.grid)},post:function(a,b,c,d){}}}}}])}(),function(){"use strict";var a=angular.module("ui.grid.resizeColumns",["ui.grid"]);a.service("uiGridResizeColumnsService",["gridUtil","$q","$timeout",function(a,b,c){var d={defaultGridOptions:function(a){a.enableColumnResizing=a.enableColumnResizing!==!1,a.enableColumnResize===!1&&(a.enableColumnResizing=!1)},colResizerColumnBuilder:function(a,c,d){var e=[];return a.enableColumnResizing=void 0===a.enableColumnResizing?d.enableColumnResizing:a.enableColumnResizing,a.enableColumnResize===!1&&(a.enableColumnResizing=!1),b.all(e)},registerPublicApi:function(a){var b={events:{colResizable:{columnSizeChanged:function(a,b){}}}};a.api.registerEventsFromObject(b.events)},fireColumnSizeChanged:function(b,d,e){c(function(){b.api.colResizable?b.api.colResizable.raise.columnSizeChanged(d,e):a.logError("The resizeable api is not registered, this may indicate that you've included the module but not added the 'ui-grid-resize-columns' directive to your grid definition.  Cannot raise any events.")})},findTargetCol:function(a,b,c){var d=a.getRenderContainer();if("left"===b){var e=d.visibleColumnCache.indexOf(a);return d.visibleColumnCache[e-1*c]}return a}};return d}]),a.directive("uiGridResizeColumns",["gridUtil","uiGridResizeColumnsService",function(a,b){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(a,c,d,e){b.defaultGridOptions(e.grid.options),e.grid.registerColumnBuilder(b.colResizerColumnBuilder),b.registerPublicApi(e.grid)},post:function(a,b,c,d){}}}}}]),a.directive("uiGridHeaderCell",["gridUtil","$templateCache","$compile","$q","uiGridResizeColumnsService","uiGridConstants","$timeout",function(a,b,c,d,e,f,g){return{priority:-10,require:"^uiGrid",compile:function(){return{post:function(a,d,h,i){var j=i.grid;if(j.options.enableColumnResizing){var k=b.get("ui-grid/columnResizer"),l=1;j.isRTL()&&(a.position="left",l=-1);var m=function(){for(var b=d[0].getElementsByClassName("ui-grid-column-resizer"),f=0;f<b.length;f++)angular.element(b[f]).remove();var g=e.findTargetCol(a.col,"left",l),h=a.col.getRenderContainer();if(g&&0!==h.visibleColumnCache.indexOf(a.col)&&g.colDef.enableColumnResizing!==!1){var i=angular.element(k).clone();i.attr("position","left"),d.prepend(i),c(i)(a)}if(a.col.colDef.enableColumnResizing!==!1){var j=angular.element(k).clone();j.attr("position","right"),d.append(j),c(j)(a)}};m();var n=function(){g(m)},o=j.registerDataChangeCallback(n,[f.dataChange.COLUMN]);a.$on("$destroy",o)}}}}}}]),a.directive("uiGridColumnResizer",["$document","gridUtil","uiGridConstants","uiGridResizeColumnsService",function(a,b,c,d){var e=angular.element('<div class="ui-grid-resize-overlay"></div>'),f={priority:0,scope:{col:"=",position:"@",renderIndex:"="},require:"?^uiGrid",link:function(f,g,h,i){function j(a){i.grid.refreshCanvas(!0).then(function(){i.grid.queueGridRefresh()})}function k(a,b){var c=b;return a.minWidth&&c<a.minWidth?c=a.minWidth:a.maxWidth&&c>a.maxWidth&&(c=a.maxWidth),c}function l(a,b){a.originalEvent&&(a=a.originalEvent),a.preventDefault(),o=(a.targetTouches?a.targetTouches[0]:a).clientX-p,0>o?o=0:o>i.grid.gridWidth&&(o=i.grid.gridWidth);var g=d.findTargetCol(f.col,f.position,q);if(g.colDef.enableColumnResizing!==!1){i.grid.element.hasClass("column-resizing")||i.grid.element.addClass("column-resizing");var h=o-n,j=parseInt(g.drawnWidth+h*q,10);o+=(k(g,j)-j)*q,e.css({left:o+"px"}),i.fireEvent(c.events.ITEM_DRAGGING)}}function m(a,b){a.originalEvent&&(a=a.originalEvent),a.preventDefault(),i.grid.element.removeClass("column-resizing"),e.remove(),o=(a.changedTouches?a.changedTouches[0]:a).clientX-p;var c=o-n;if(0===c)return t(),void s();var g=d.findTargetCol(f.col,f.position,q);if(g.colDef.enableColumnResizing!==!1){var h=parseInt(g.drawnWidth+c*q,10);g.width=k(g,h),g.hasCustomWidth=!0,j(c),d.fireColumnSizeChanged(i.grid,g.colDef,c),t(),s()}}var n=0,o=0,p=0,q=1;i.grid.isRTL()&&(f.position="left",q=-1),"left"===f.position?g.addClass("left"):"right"===f.position&&g.addClass("right");var r=function(b,c){b.originalEvent&&(b=b.originalEvent),b.stopPropagation(),p=i.grid.element[0].getBoundingClientRect().left,n=(b.targetTouches?b.targetTouches[0]:b).clientX-p,i.grid.element.append(e),e.css({left:n}),"touchstart"===b.type?(a.on("touchend",m),a.on("touchmove",l),g.off("mousedown",r)):(a.on("mouseup",m),a.on("mousemove",l),g.off("touchstart",r))},s=function(){g.on("mousedown",r),g.on("touchstart",r)},t=function(){a.off("mouseup",m),a.off("touchend",m),a.off("mousemove",l),a.off("touchmove",l),g.off("mousedown",r),g.off("touchstart",r)};s();var u=function(a,e){a.stopPropagation();var h=d.findTargetCol(f.col,f.position,q);if(h.colDef.enableColumnResizing!==!1){var l=0,m=0,n=b.closestElm(g,".ui-grid-render-container"),o=n.querySelectorAll("."+c.COL_CLASS_PREFIX+h.uid+" .ui-grid-cell-contents");Array.prototype.forEach.call(o,function(a){var c;angular.element(a).parent().hasClass("ui-grid-header-cell")&&(c=angular.element(a).parent()[0].querySelectorAll(".ui-grid-column-menu-button")),b.fakeElement(a,{},function(a){var d=angular.element(a);d.attr("style","float: left");var e=b.elementWidth(d);if(c){var f=b.elementWidth(c);e+=f}e>l&&(l=e,m=l-e)})}),h.width=k(h,l),h.hasCustomWidth=!0,j(m),d.fireColumnSizeChanged(i.grid,h.colDef,m)}};g.on("dblclick",u),g.on("$destroy",function(){g.off("dblclick",u),t()})}};return f}])}(),function(){"use strict";var a=angular.module("ui.grid.rowEdit",["ui.grid","ui.grid.edit","ui.grid.cellNav"]);a.constant("uiGridRowEditConstants",{}),a.service("uiGridRowEditService",["$interval","$q","uiGridConstants","uiGridRowEditConstants","gridUtil",function(a,b,c,d,e){var f={initializeGrid:function(a,b){b.rowEdit={};var c={events:{rowEdit:{saveRow:function(a){}}},methods:{rowEdit:{setSavePromise:function(a,c){f.setSavePromise(b,a,c)},getDirtyRows:function(){return b.rowEdit.dirtyRows?b.rowEdit.dirtyRows:[]},getErrorRows:function(){return b.rowEdit.errorRows?b.rowEdit.errorRows:[]},flushDirtyRows:function(){return f.flushDirtyRows(b)},setRowsDirty:function(a){f.setRowsDirty(b,a)},setRowsClean:function(a){f.setRowsClean(b,a)}}}};b.api.registerEventsFromObject(c.events),b.api.registerMethodsFromObject(c.methods),b.api.core.on.renderingComplete(a,function(c){b.api.edit.on.afterCellEdit(a,f.endEditCell),b.api.edit.on.beginCellEdit(a,f.beginEditCell),b.api.edit.on.cancelCellEdit(a,f.cancelEditCell),b.api.cellNav&&b.api.cellNav.on.navigate(a,f.navigate)})},defaultGridOptions:function(a){},saveRow:function(a,b){var c=this;return function(){if(b.isSaving=!0,b.rowEditSavePromise)return b.rowEditSavePromise;var d=a.api.rowEdit.raise.saveRow(b.entity);return b.rowEditSavePromise?b.rowEditSavePromise.then(c.processSuccessPromise(a,b),c.processErrorPromise(a,b)):e.logError("A promise was not returned when saveRow event was raised, either nobody is listening to event, or event handler did not return a promise"),d}},setSavePromise:function(a,b,c){var d=a.getRow(b);d.rowEditSavePromise=c},processSuccessPromise:function(a,b){var c=this;return function(){delete b.isSaving,delete b.isDirty,delete b.isError,delete b.rowEditSaveTimer,delete b.rowEditSavePromise,c.removeRow(a.rowEdit.errorRows,b),c.removeRow(a.rowEdit.dirtyRows,b)}},processErrorPromise:function(a,b){return function(){delete b.isSaving,delete b.rowEditSaveTimer,delete b.rowEditSavePromise,b.isError=!0,a.rowEdit.errorRows||(a.rowEdit.errorRows=[]),f.isRowPresent(a.rowEdit.errorRows,b)||a.rowEdit.errorRows.push(b)}},removeRow:function(a,b){"undefined"!=typeof a&&null!==a&&a.forEach(function(c,d){c.uid===b.uid&&a.splice(d,1)})},isRowPresent:function(a,b){var c=!1;return a.forEach(function(a,d){a.uid===b.uid&&(c=!0)}),c},flushDirtyRows:function(a){var c=[];return a.api.rowEdit.getDirtyRows().forEach(function(b){f.saveRow(a,b)(),c.push(b.rowEditSavePromise)}),b.all(c)},endEditCell:function(a,b,c,d){var g=this.grid,h=g.getRow(a);return h?void((c!==d||h.isDirty)&&(g.rowEdit.dirtyRows||(g.rowEdit.dirtyRows=[]),h.isDirty||(h.isDirty=!0,g.rowEdit.dirtyRows.push(h)),delete h.isError,f.considerSetTimer(g,h))):void e.logError("Unable to find rowEntity in grid data, dirty flag cannot be set")},beginEditCell:function(a,b){var c=this.grid,d=c.getRow(a);return d?void f.cancelTimer(c,d):void e.logError("Unable to find rowEntity in grid data, timer cannot be cancelled")},cancelEditCell:function(a,b){var c=this.grid,d=c.getRow(a);return d?void f.considerSetTimer(c,d):void e.logError("Unable to find rowEntity in grid data, timer cannot be set")},navigate:function(a,b){var c=this.grid;a.row.rowEditSaveTimer&&f.cancelTimer(c,a.row),b&&b.row&&b.row!==a.row&&f.considerSetTimer(c,b.row)},considerSetTimer:function(b,c){if(f.cancelTimer(b,c),c.isDirty&&!c.isSaving&&-1!==b.options.rowEditWaitInterval){var d=b.options.rowEditWaitInterval?b.options.rowEditWaitInterval:2e3;c.rowEditSaveTimer=a(f.saveRow(b,c),d,1)}},cancelTimer:function(b,c){c.rowEditSaveTimer&&!c.isSaving&&(a.cancel(c.rowEditSaveTimer),delete c.rowEditSaveTimer)},setRowsDirty:function(a,b){var c;b.forEach(function(b,d){c=a.getRow(b),c?(a.rowEdit.dirtyRows||(a.rowEdit.dirtyRows=[]),c.isDirty||(c.isDirty=!0,a.rowEdit.dirtyRows.push(c)),delete c.isError,f.considerSetTimer(a,c)):e.logError("requested row not found in rowEdit.setRowsDirty, row was: "+b)})},setRowsClean:function(a,b){var c;b.forEach(function(b,d){c=a.getRow(b),c?(delete c.isDirty,f.removeRow(a.rowEdit.dirtyRows,c),f.cancelTimer(a,c),delete c.isError,f.removeRow(a.rowEdit.errorRows,c)):e.logError("requested row not found in rowEdit.setRowsClean, row was: "+b)})}};return f}]),a.directive("uiGridRowEdit",["gridUtil","uiGridRowEditService","uiGridEditConstants",function(a,b,c){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(a,c,d,e){b.initializeGrid(a,e.grid)},post:function(a,b,c,d){}}}}}]),a.directive("uiGridViewport",["$compile","uiGridConstants","gridUtil","$parse",function(a,b,c,d){return{priority:-200,scope:!1,compile:function(a,b){var c=angular.element(a.children().children()[0]),d=c.attr("ng-class"),e="";return e=d?d.slice(0,-1)+", 'ui-grid-row-dirty': row.isDirty, 'ui-grid-row-saving': row.isSaving, 'ui-grid-row-error': row.isError}":"{'ui-grid-row-dirty': row.isDirty, 'ui-grid-row-saving': row.isSaving, 'ui-grid-row-error': row.isError}",c.attr("ng-class",e),{pre:function(a,b,c,d){},post:function(a,b,c,d){}}}}}])}(),function(){"use strict";var a=angular.module("ui.grid.saveState",["ui.grid","ui.grid.selection","ui.grid.cellNav","ui.grid.grouping","ui.grid.pinning","ui.grid.treeView"]);a.constant("uiGridSaveStateConstants",{featureName:"saveState"}),a.service("uiGridSaveStateService",["$q","uiGridSaveStateConstants","gridUtil","$compile","$interval","uiGridConstants",function(a,b,c,d,e,f){var g={initializeGrid:function(a){a.saveState={},this.defaultGridOptions(a.options);var b={events:{saveState:{}},methods:{saveState:{save:function(){return g.save(a)},restore:function(b,c){g.restore(a,b,c)}}}};a.api.registerEventsFromObject(b.events),a.api.registerMethodsFromObject(b.methods)},defaultGridOptions:function(a){a.saveWidths=a.saveWidths!==!1,a.saveOrder=a.saveOrder!==!1,a.saveScroll=a.saveScroll===!0,a.saveFocus=a.saveScroll!==!0&&a.saveFocus!==!1,a.saveVisible=a.saveVisible!==!1,a.saveSort=a.saveSort!==!1,a.saveFilter=a.saveFilter!==!1,a.saveSelection=a.saveSelection!==!1,a.saveGrouping=a.saveGrouping!==!1,a.saveGroupingExpandedStates=a.saveGroupingExpandedStates===!0,a.savePinning=a.savePinning!==!1,a.saveTreeView=a.saveTreeView!==!1},save:function(a){var b={};return b.columns=g.saveColumns(a),b.scrollFocus=g.saveScrollFocus(a),b.selection=g.saveSelection(a),b.grouping=g.saveGrouping(a),b.treeView=g.saveTreeView(a),b},restore:function(a,b,c){c.columns&&g.restoreColumns(a,c.columns),c.scrollFocus&&g.restoreScrollFocus(a,b,c.scrollFocus),c.selection&&g.restoreSelection(a,c.selection),c.grouping&&g.restoreGrouping(a,c.grouping),c.treeView&&g.restoreTreeView(a,c.treeView),a.refresh()},saveColumns:function(a){var b=[];return a.getOnlyDataColumns().forEach(function(c){var d={};d.name=c.name,a.options.saveVisible&&(d.visible=c.visible),a.options.saveWidths&&(d.width=c.width),a.options.saveSort&&(d.sort=angular.copy(c.sort)),a.options.saveFilter&&(d.filters=[],c.filters.forEach(function(a){var b={};angular.forEach(a,function(a,c){"condition"!==c&&"$$hashKey"!==c&&"placeholder"!==c&&(b[c]=a)}),d.filters.push(b)})),a.api.pinning&&a.options.savePinning&&(d.pinned=c.renderContainer?c.renderContainer:""),b.push(d)}),b},saveScrollFocus:function(a){if(!a.api.cellNav)return{};var b={};if(a.options.saveFocus){b.focus=!0;var c=a.api.cellNav.getFocusedCell();null!==c&&(null!==c.col&&(b.colName=c.col.colDef.name),null!==c.row&&(b.rowVal=g.getRowVal(a,c.row)))}return(a.options.saveScroll||a.options.saveFocus&&!b.colName&&!b.rowVal)&&(b.focus=!1,a.renderContainers.body.prevRowScrollIndex&&(b.rowVal=g.getRowVal(a,a.renderContainers.body.visibleRowCache[a.renderContainers.body.prevRowScrollIndex])),a.renderContainers.body.prevColScrollIndex&&(b.colName=a.renderContainers.body.visibleColumnCache[a.renderContainers.body.prevColScrollIndex].name)),b},saveSelection:function(a){if(!a.api.selection||!a.options.saveSelection)return[];var b=a.api.selection.getSelectedGridRows().map(function(b){return g.getRowVal(a,b)});return b},saveGrouping:function(a){return a.api.grouping&&a.options.saveGrouping?a.api.grouping.getGrouping(a.options.saveGroupingExpandedStates):{}},saveTreeView:function(a){return a.api.treeView&&a.options.saveTreeView?a.api.treeView.getTreeView():{}},getRowVal:function(a,b){if(!b)return null;var c={};return a.options.saveRowIdentity?(c.identity=!0,c.row=a.options.saveRowIdentity(b.entity)):(c.identity=!1,c.row=a.renderContainers.body.visibleRowCache.indexOf(b)),c},restoreColumns:function(a,b){var c=!1;b.forEach(function(b,d){var e=a.getColumn(b.name);if(e&&!a.isRowHeaderColumn(e)){!a.options.saveVisible||e.visible===b.visible&&e.colDef.visible===b.visible||(e.visible=b.visible,e.colDef.visible=b.visible,a.api.core.raise.columnVisibilityChanged(e)),a.options.saveWidths&&(e.width=b.width),!a.options.saveSort||angular.equals(e.sort,b.sort)||void 0===e.sort&&angular.isEmpty(b.sort)||(e.sort=angular.copy(b.sort),c=!0),a.options.saveFilter&&!angular.equals(e.filters,b.filters)&&(b.filters.forEach(function(a,b){angular.extend(e.filters[b],a),("undefined"==typeof a.term||null===a.term)&&delete e.filters[b].term}),a.api.core.raise.filterChanged()),a.api.pinning&&a.options.savePinning&&e.renderContainer!==b.pinned&&a.api.pinning.pinColumn(e,b.pinned);var f=a.getOnlyDataColumns().indexOf(e);if(-1!==f&&a.options.saveOrder&&f!==d){var g=a.columns.splice(f+a.rowHeaderColumns.length,1)[0];a.columns.splice(d+a.rowHeaderColumns.length,0,g)}}}),c&&a.api.core.raise.sortChanged(a,a.getColumnSorting())},restoreScrollFocus:function(a,b,c){if(a.api.cellNav){var d,e;if(c.colName){var f=a.options.columnDefs.filter(function(a){return a.name===c.colName});f.length>0&&(d=f[0])}c.rowVal&&c.rowVal.row&&(e=c.rowVal.identity?g.findRowByIdentity(a,c.rowVal):a.renderContainers.body.visibleRowCache[c.rowVal.row]);var h=e&&e.entity?e.entity:null;(d||h)&&(c.focus?a.api.cellNav.scrollToFocus(h,d):a.scrollTo(h,d))}},restoreSelection:function(a,b){a.api.selection&&(a.api.selection.clearSelectedRows(),b.forEach(function(b){if(b.identity){var c=g.findRowByIdentity(a,b);c&&a.api.selection.selectRow(c.entity)}else a.api.selection.selectRowByVisibleIndex(b.row)}))},restoreGrouping:function(a,b){a.api.grouping&&"undefined"!=typeof b&&null!==b&&!angular.equals(b,{})&&a.api.grouping.setGrouping(b)},restoreTreeView:function(a,b){a.api.treeView&&"undefined"!=typeof b&&null!==b&&!angular.equals(b,{})&&a.api.treeView.setTreeView(b)},findRowByIdentity:function(a,b){if(!a.options.saveRowIdentity)return null;var c=a.rows.filter(function(c){return a.options.saveRowIdentity(c.entity)===b.row?!0:!1});return c.length>0?c[0]:null}};return g}]),a.directive("uiGridSaveState",["uiGridSaveStateConstants","uiGridSaveStateService","gridUtil","$compile",function(a,b,c,d){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,link:function(a,c,d,e){b.initializeGrid(e.grid)}}}])}(),function(){"use strict";var a=angular.module("ui.grid.selection",["ui.grid"]);a.constant("uiGridSelectionConstants",{featureName:"selection",selectionRowHeaderColName:"selectionRowHeaderCol"}),angular.module("ui.grid").config(["$provide",function(a){a.decorator("GridRow",["$delegate",function(a){return a.prototype.setSelected=function(a){this.isSelected=a,a?this.grid.selection.selectedCount++:this.grid.selection.selectedCount--},a}])}]),a.service("uiGridSelectionService",["$q","$templateCache","uiGridSelectionConstants","gridUtil",function(a,b,c,d){var e={initializeGrid:function(a){a.selection={},a.selection.lastSelectedRow=null,a.selection.selectAll=!1,a.selection.selectedCount=0,e.defaultGridOptions(a.options);var b={events:{selection:{rowSelectionChanged:function(a,b,c){},rowSelectionChangedBatch:function(a,b,c){}}},methods:{selection:{toggleRowSelection:function(b,c){var d=a.getRow(b);null!==d&&e.toggleRowSelection(a,d,c,a.options.multiSelect,a.options.noUnselect)},selectRow:function(b,c){var d=a.getRow(b);null===d||d.isSelected||e.toggleRowSelection(a,d,c,a.options.multiSelect,a.options.noUnselect)},selectRowByVisibleIndex:function(b,c){var d=a.renderContainers.body.visibleRowCache[b];null===d||"undefined"==typeof d||d.isSelected||e.toggleRowSelection(a,d,c,a.options.multiSelect,a.options.noUnselect)},unSelectRow:function(b,c){var d=a.getRow(b);null!==d&&d.isSelected&&e.toggleRowSelection(a,d,c,a.options.multiSelect,a.options.noUnselect)},selectAllRows:function(b){if(a.options.multiSelect!==!1){var c=[];a.rows.forEach(function(d){d.isSelected||d.enableSelection===!1||(d.setSelected(!0),e.decideRaiseSelectionEvent(a,d,c,b))}),e.decideRaiseSelectionBatchEvent(a,c,b),a.selection.selectAll=!0}},selectAllVisibleRows:function(b){if(a.options.multiSelect!==!1){var c=[];a.rows.forEach(function(d){d.visible?d.isSelected||d.enableSelection===!1||(d.setSelected(!0),e.decideRaiseSelectionEvent(a,d,c,b)):d.isSelected&&(d.setSelected(!1),e.decideRaiseSelectionEvent(a,d,c,b))}),e.decideRaiseSelectionBatchEvent(a,c,b),a.selection.selectAll=!0}},clearSelectedRows:function(b){e.clearSelectedRows(a,b)},getSelectedRows:function(){return e.getSelectedRows(a).map(function(a){return a.entity})},getSelectedGridRows:function(){return e.getSelectedRows(a)},setMultiSelect:function(b){a.options.multiSelect=b},setModifierKeysToMultiSelect:function(b){a.options.modifierKeysToMultiSelect=b},getSelectAllState:function(){return a.selection.selectAll}}}};a.api.registerEventsFromObject(b.events),a.api.registerMethodsFromObject(b.methods)},defaultGridOptions:function(a){a.enableRowSelection=a.enableRowSelection!==!1,a.multiSelect=a.multiSelect!==!1,a.noUnselect=a.noUnselect===!0,a.modifierKeysToMultiSelect=a.modifierKeysToMultiSelect===!0,a.enableRowHeaderSelection=a.enableRowHeaderSelection!==!1,"undefined"==typeof a.enableFullRowSelection&&(a.enableFullRowSelection=!a.enableRowHeaderSelection),a.enableSelectAll=a.enableSelectAll!==!1,a.enableSelectionBatchEvent=a.enableSelectionBatchEvent!==!1,a.selectionRowHeaderWidth=angular.isDefined(a.selectionRowHeaderWidth)?a.selectionRowHeaderWidth:30,a.enableFooterTotalSelected=a.enableFooterTotalSelected!==!1,a.isRowSelectable=angular.isDefined(a.isRowSelectable)?a.isRowSelectable:angular.noop},toggleRowSelection:function(a,b,c,d,f){var g=b.isSelected;if(b.enableSelection!==!1||g){var h;d||g?!d&&g&&(h=e.getSelectedRows(a),h.length>1&&(g=!1,e.clearSelectedRows(a,c))):e.clearSelectedRows(a,c),g&&f||(b.setSelected(!g),b.isSelected===!0&&(a.selection.lastSelectedRow=b),h=e.getSelectedRows(a),a.selection.selectAll=a.rows.length===h.length,a.api.selection.raise.rowSelectionChanged(b,c))}},shiftSelect:function(a,b,c,d){if(d){var f=e.getSelectedRows(a),g=f.length>0?a.renderContainers.body.visibleRowCache.indexOf(a.selection.lastSelectedRow):0,h=a.renderContainers.body.visibleRowCache.indexOf(b);if(g>h){var i=g;g=h,h=i}for(var j=[],k=g;h>=k;k++){var l=a.renderContainers.body.visibleRowCache[k];l&&(l.isSelected||l.enableSelection===!1||(l.setSelected(!0),a.selection.lastSelectedRow=l,e.decideRaiseSelectionEvent(a,l,j,c)))}e.decideRaiseSelectionBatchEvent(a,j,c)}},getSelectedRows:function(a){return a.rows.filter(function(a){return a.isSelected})},clearSelectedRows:function(a,b){var c=[];e.getSelectedRows(a).forEach(function(d){d.isSelected&&(d.setSelected(!1),e.decideRaiseSelectionEvent(a,d,c,b))}),e.decideRaiseSelectionBatchEvent(a,c,b),a.selection.selectAll=!1,a.selection.selectedCount=0},decideRaiseSelectionEvent:function(a,b,c,d){a.options.enableSelectionBatchEvent?c.push(b):a.api.selection.raise.rowSelectionChanged(b,d)},decideRaiseSelectionBatchEvent:function(a,b,c){b.length>0&&a.api.selection.raise.rowSelectionChangedBatch(b,c)}};return e}]),a.directive("uiGridSelection",["uiGridSelectionConstants","uiGridSelectionService","$templateCache","uiGridConstants",function(a,b,c,d){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(c,e,f,g){if(b.initializeGrid(g.grid),g.grid.options.enableRowHeaderSelection){var h={name:a.selectionRowHeaderColName,displayName:"",width:g.grid.options.selectionRowHeaderWidth,minWidth:10,cellTemplate:"ui-grid/selectionRowHeader",headerCellTemplate:"ui-grid/selectionHeaderCell",enableColumnResizing:!1,enableColumnMenu:!1,exporterSuppressExport:!0,allowCellFocus:!0};g.grid.addRowHeaderColumn(h)}var i=!1,j=function(a){return a.forEach(function(a){a.enableSelection=g.grid.options.isRowSelectable(a)}),a},k=function(){g.grid.options.isRowSelectable!==angular.noop&&i!==!0&&(g.grid.registerRowsProcessor(j,500),i=!0)};k();var l=g.grid.registerDataChangeCallback(k,[d.dataChange.OPTIONS]);c.$on("$destroy",l)},post:function(a,b,c,d){}}}}}]),a.directive("uiGridSelectionRowHeaderButtons",["$templateCache","uiGridSelectionService","gridUtil",function(a,b,c){return{replace:!0,restrict:"E",template:a.get("ui-grid/selectionRowHeaderButtons"),scope:!0,require:"^uiGrid",link:function(a,d,e,f){function g(a,c){c.stopPropagation(),c.shiftKey?b.shiftSelect(i,a,c,i.options.multiSelect):c.ctrlKey||c.metaKey?b.toggleRowSelection(i,a,c,i.options.multiSelect,i.options.noUnselect):b.toggleRowSelection(i,a,c,i.options.multiSelect&&!i.options.modifierKeysToMultiSelect,i.options.noUnselect)}function h(a){(a.ctrlKey||a.shiftKey)&&(a.target.onselectstart=function(){return!1},window.setTimeout(function(){a.target.onselectstart=null},0))}var i=f.grid;a.selectButtonClick=g,"ie"===c.detectBrowser()&&d.on("mousedown",h)}}}]),a.directive("uiGridSelectionSelectAllButtons",["$templateCache","uiGridSelectionService",function(a,b){return{replace:!0,restrict:"E",template:a.get("ui-grid/selectionSelectAllButtons"),scope:!1,link:function(a,c,d,e){var f=a.col.grid;a.headerButtonClick=function(a,c){f.selection.selectAll?(b.clearSelectedRows(f,c),f.options.noUnselect&&f.api.selection.selectRowByVisibleIndex(0,c),f.selection.selectAll=!1):f.options.multiSelect&&(f.api.selection.selectAllVisibleRows(c),f.selection.selectAll=!0)}}}}]),a.directive("uiGridViewport",["$compile","uiGridConstants","uiGridSelectionConstants","gridUtil","$parse","uiGridSelectionService",function(a,b,c,d,e,f){return{priority:-200,scope:!1,compile:function(a,b){var c=angular.element(a.children().children()[0]),d=c.attr("ng-class"),e="";return e=d?d.slice(0,-1)+",'ui-grid-row-selected': row.isSelected}":"{'ui-grid-row-selected': row.isSelected}",c.attr("ng-class",e),{pre:function(a,b,c,d){},post:function(a,b,c,d){}}}}}]),a.directive("uiGridCell",["$compile","uiGridConstants","uiGridSelectionConstants","gridUtil","$parse","uiGridSelectionService","$timeout",function(a,b,c,d,e,f,g){return{priority:-200,restrict:"A",require:"?^uiGrid",scope:!1,link:function(a,c,d,e){function h(){a.grid.options.enableRowSelection&&a.grid.options.enableFullRowSelection&&(c.addClass("ui-grid-disable-selection"),c.on("touchstart",m),c.on("touchend",n),c.on("click",l),a.registered=!0)}function i(){a.registered&&(c.removeClass("ui-grid-disable-selection"),c.off("touchstart",m),c.off("touchend",n),c.off("click",l),a.registered=!1)}var j=0,k=300;e.grid.api.cellNav&&e.grid.api.cellNav.on.viewPortKeyDown(a,function(b,c){null!==c&&c.row===a.row&&c.col===a.col&&32===b.keyCode&&"selectionRowHeaderCol"===a.col.colDef.name&&(f.toggleRowSelection(a.grid,a.row,b,a.grid.options.multiSelect&&!a.grid.options.modifierKeysToMultiSelect,a.grid.options.noUnselect),a.$apply())});var l=function(b){c.off("touchend",n),b.shiftKey?f.shiftSelect(a.grid,a.row,b,a.grid.options.multiSelect):b.ctrlKey||b.metaKey?f.toggleRowSelection(a.grid,a.row,b,a.grid.options.multiSelect,a.grid.options.noUnselect):f.toggleRowSelection(a.grid,a.row,b,a.grid.options.multiSelect&&!a.grid.options.modifierKeysToMultiSelect,a.grid.options.noUnselect),a.$apply(),g(function(){c.on("touchend",n)},k)},m=function(a){j=(new Date).getTime(),c.off("click",l)},n=function(a){var b=(new Date).getTime(),d=b-j;k>d&&l(a),g(function(){c.on("click",l)},k)};h();var o=a.grid.registerDataChangeCallback(function(){a.grid.options.enableRowSelection&&a.grid.options.enableFullRowSelection&&!a.registered?h():a.grid.options.enableRowSelection&&a.grid.options.enableFullRowSelection||!a.registered||i()},[b.dataChange.OPTIONS]);c.on("$destroy",o)}}}]),a.directive("uiGridGridFooter",["$compile","uiGridConstants","gridUtil",function(a,b,c){return{restrict:"EA",replace:!0,priority:-1e3,require:"^uiGrid",scope:!0,compile:function(b,d){return{pre:function(b,d,e,f){f.grid.options.showGridFooter&&c.getTemplate("ui-grid/gridFooterSelectedItems").then(function(c){var e=angular.element(c),f=a(e)(b);angular.element(d[0].getElementsByClassName("ui-grid-grid-footer")[0]).append(f)})},post:function(a,b,c,d){}}}}}])}(),function(){"use strict";var a=angular.module("ui.grid.treeBase",["ui.grid"]);a.constant("uiGridTreeBaseConstants",{featureName:"treeBase",rowHeaderColName:"treeBaseRowHeaderCol",EXPANDED:"expanded",COLLAPSED:"collapsed",aggregation:{COUNT:"count",SUM:"sum",MAX:"max",MIN:"min",AVG:"avg"}}),a.service("uiGridTreeBaseService",["$q","uiGridTreeBaseConstants","gridUtil","GridRow","gridClassFactory","i18nService","uiGridConstants","rowSorter",function(a,b,c,d,e,f,g,h){var i={initializeGrid:function(a,b){a.treeBase={},a.treeBase.numberLevels=0,a.treeBase.expandAll=!1,a.treeBase.tree={},i.defaultGridOptions(a.options),a.registerRowsProcessor(i.treeRows,410),a.registerColumnBuilder(i.treeBaseColumnBuilder),i.createRowHeader(a);var c={events:{treeBase:{rowExpanded:{},rowCollapsed:{}}},methods:{treeBase:{expandAllRows:function(){i.expandAllRows(a)},collapseAllRows:function(){i.collapseAllRows(a)},toggleRowTreeState:function(b){i.toggleRowTreeState(a,b)},expandRow:function(b){i.expandRow(a,b)},expandRowChildren:function(b){i.expandRowChildren(a,b)},collapseRow:function(b){i.collapseRow(a,b)},collapseRowChildren:function(b){i.collapseRowChildren(a,b)},getTreeExpandedState:function(){return{expandedState:i.getTreeState(a)}},setTreeState:function(b){i.setTreeState(a,b)},getRowChildren:function(a){return a.treeNode.children.map(function(a){return a.row})}}}};a.api.registerEventsFromObject(c.events),a.api.registerMethodsFromObject(c.methods)},defaultGridOptions:function(a){a.treeRowHeaderBaseWidth=a.treeRowHeaderBaseWidth||30,a.treeIndent=a.treeIndent||10,a.showTreeRowHeader=a.showTreeRowHeader!==!1,a.showTreeExpandNoChildren=a.showTreeExpandNoChildren!==!1,a.treeRowHeaderAlwaysVisible=a.treeRowHeaderAlwaysVisible!==!1,a.treeCustomAggregations=a.treeCustomAggregations||{}},treeBaseColumnBuilder:function(a,b,c){"undefined"!=typeof a.customTreeAggregationFn&&(b.treeAggregationFn=a.customTreeAggregationFn),
+"undefined"!=typeof a.treeAggregationType&&(b.treeAggregation={type:a.treeAggregationType},"undefined"!=typeof c.treeCustomAggregations[a.treeAggregationType]?(b.treeAggregationFn=c.treeCustomAggregations[a.treeAggregationType].aggregationFn,b.treeAggregationFinalizerFn=c.treeCustomAggregations[a.treeAggregationType].finalizerFn,b.treeAggregation.label=c.treeCustomAggregations[a.treeAggregationType].label):"undefined"!=typeof i.nativeAggregations()[a.treeAggregationType]&&(b.treeAggregationFn=i.nativeAggregations()[a.treeAggregationType].aggregationFn,b.treeAggregation.label=i.nativeAggregations()[a.treeAggregationType].label)),"undefined"!=typeof a.treeAggregationLabel&&("undefined"==typeof b.treeAggregation&&(b.treeAggregation={}),b.treeAggregation.label=a.treeAggregationLabel),b.treeAggregationUpdateEntity=a.treeAggregationUpdateEntity!==!1,"undefined"==typeof b.customTreeAggregationFinalizerFn&&(b.customTreeAggregationFinalizerFn=a.customTreeAggregationFinalizerFn)},createRowHeader:function(a){var c={name:b.rowHeaderColName,displayName:"",width:a.options.treeRowHeaderBaseWidth,minWidth:10,cellTemplate:"ui-grid/treeBaseRowHeader",headerCellTemplate:"ui-grid/treeBaseHeaderCell",enableColumnResizing:!1,enableColumnMenu:!1,exporterSuppressExport:!0,allowCellFocus:!0};c.visible=a.options.treeRowHeaderAlwaysVisible,a.addRowHeaderColumn(c)},expandAllRows:function(a){a.treeBase.tree.forEach(function(c){i.setAllNodes(a,c,b.EXPANDED)}),a.treeBase.expandAll=!0,a.queueGridRefresh()},collapseAllRows:function(a){a.treeBase.tree.forEach(function(c){i.setAllNodes(a,c,b.COLLAPSED)}),a.treeBase.expandAll=!1,a.queueGridRefresh()},setAllNodes:function(a,c,d){"undefined"!=typeof c.state&&c.state!==d&&(c.state=d,d===b.EXPANDED?a.api.treeBase.raise.rowExpanded(c.row):a.api.treeBase.raise.rowCollapsed(c.row)),c.children&&c.children.forEach(function(b){i.setAllNodes(a,b,d)})},toggleRowTreeState:function(a,c){"undefined"==typeof c.treeLevel||null===c.treeLevel||c.treeLevel<0||(c.treeNode.state===b.EXPANDED?i.collapseRow(a,c):i.expandRow(a,c),a.queueGridRefresh())},expandRow:function(a,c){"undefined"==typeof c.treeLevel||null===c.treeLevel||c.treeLevel<0||c.treeNode.state!==b.EXPANDED&&(c.treeNode.state=b.EXPANDED,a.api.treeBase.raise.rowExpanded(c),a.treeBase.expandAll=i.allExpanded(a.treeBase.tree),a.queueGridRefresh())},expandRowChildren:function(a,c){"undefined"==typeof c.treeLevel||null===c.treeLevel||c.treeLevel<0||(i.setAllNodes(a,c.treeNode,b.EXPANDED),a.treeBase.expandAll=i.allExpanded(a.treeBase.tree),a.queueGridRefresh())},collapseRow:function(a,c){"undefined"==typeof c.treeLevel||null===c.treeLevel||c.treeLevel<0||c.treeNode.state!==b.COLLAPSED&&(c.treeNode.state=b.COLLAPSED,a.treeBase.expandAll=!1,a.api.treeBase.raise.rowCollapsed(c),a.queueGridRefresh())},collapseRowChildren:function(a,c){"undefined"==typeof c.treeLevel||null===c.treeLevel||c.treeLevel<0||(i.setAllNodes(a,c.treeNode,b.COLLAPSED),a.treeBase.expandAll=!1,a.queueGridRefresh())},allExpanded:function(a){var b=!0;return a.forEach(function(a){i.allExpandedInternal(a)||(b=!1)}),b},allExpandedInternal:function(a){if(a.children&&a.children.length>0){if(a.state===b.COLLAPSED)return!1;var c=!0;return a.children.forEach(function(a){i.allExpandedInternal(a)||(c=!1)}),c}return!0},treeRows:function(a){if(0===a.length)return a;var c=this;b.EXPANDED;return c.treeBase.tree=i.createTree(c,a),i.updateRowHeaderWidth(c),i.sortTree(c),i.fixFilter(c),i.renderTree(c.treeBase.tree)},updateRowHeaderWidth:function(a){var c=a.getColumn(b.rowHeaderColName),d=a.options.treeRowHeaderBaseWidth+a.options.treeIndent*Math.max(a.treeBase.numberLevels-1,0);c&&d!==c.width&&(c.width=d,a.queueRefresh());var e=!0;a.options.showTreeRowHeader===!1&&(e=!1),a.options.treeRowHeaderAlwaysVisible===!1&&a.treeBase.numberLevels<=0&&(e=!1),c.visible!==e&&(c.visible=e,c.colDef.visible=e,a.queueGridRefresh())},renderTree:function(a){var c=[];return a.forEach(function(a){a.row.visible&&c.push(a.row),a.state===b.EXPANDED&&a.children&&a.children.length>0&&(c=c.concat(i.renderTree(a.children)))}),c},createTree:function(a,c){var d,e=-1,f=[];a.treeBase.tree=[],a.treeBase.numberLevels=0;var g=i.getAggregations(a),h=function(c){if("undefined"!=typeof c.entity.$$treeLevel&&c.treeLevel!==c.entity.$$treeLevel&&(c.treeLevel=c.entity.$$treeLevel),c.treeLevel<=e){for(;c.treeLevel<=e;){var h=f.pop();i.finaliseAggregations(h),e--}d=f.length>0?i.setCurrentState(f):b.EXPANDED}("undefined"==typeof c.treeLevel||null===c.treeLevel||c.treeLevel<0)&&c.visible&&i.aggregate(a,c,f),i.addOrUseNode(a,c,f,g),"undefined"!=typeof c.treeLevel&&null!==c.treeLevel&&c.treeLevel>=0&&(f.push(c),e++,d=i.setCurrentState(f)),a.treeBase.numberLevels<c.treeLevel+1&&(a.treeBase.numberLevels=c.treeLevel+1)};for(c.forEach(h);f.length>0;){var j=f.pop();i.finaliseAggregations(j)}return a.treeBase.tree},addOrUseNode:function(a,c,d,e){var f=[];e.forEach(function(a){f.push(i.buildAggregationObject(a.col))});var g={state:b.COLLAPSED,row:c,parentRow:null,aggregations:f,children:[]};c.treeNode&&(g.state=c.treeNode.state),d.length>0&&(g.parentRow=d[d.length-1]),c.treeNode=g,0===d.length?a.treeBase.tree.push(g):d[d.length-1].treeNode.children.push(g)},setCurrentState:function(a){var c=b.EXPANDED;return a.forEach(function(a){a.treeNode.state===b.COLLAPSED&&(c=b.COLLAPSED)}),c},sortTree:function(a){a.columns.forEach(function(a){a.sort&&a.sort.ignoreSort&&delete a.sort.ignoreSort}),a.treeBase.tree=i.sortInternal(a,a.treeBase.tree)},sortInternal:function(a,c){var d=c.map(function(a){return a.row});d=h.sort(a,d,a.columns);var e=d.map(function(a){return a.treeNode});return e.forEach(function(c){c.state===b.EXPANDED&&c.children&&c.children.length>0&&(c.children=i.sortInternal(a,c.children))}),e},fixFilter:function(a){var b;a.treeBase.tree.forEach(function(a){a.children&&a.children.length>0&&(b=a.row.visible,i.fixFilterInternal(a.children,b))})},fixFilterInternal:function(a,b){return a.forEach(function(a){a.row.visible&&!b&&(i.setParentsVisible(a),b=!0),a.children&&a.children.length>0&&i.fixFilterInternal(a.children,b&&a.row.visible)&&(b=!0)}),b},setParentsVisible:function(a){for(;a.parentRow;)a.parentRow.visible=!0,a=a.parentRow.treeNode},buildAggregationObject:function(a){var b={col:a};return a.treeAggregation&&a.treeAggregation.type&&(b.type=a.treeAggregation.type),a.treeAggregation&&a.treeAggregation.label&&(b.label=a.treeAggregation.label),b},getAggregations:function(a){var b=[];return a.columns.forEach(function(c){"undefined"!=typeof c.treeAggregationFn&&(b.push(i.buildAggregationObject(c)),a.options.showColumnFooter&&"undefined"==typeof c.colDef.aggregationType&&c.treeAggregation&&(c.treeFooterAggregation=i.buildAggregationObject(c),c.aggregationType=i.treeFooterAggregationType))}),b},aggregate:function(a,b,c){0===c.length&&b.treeNode&&b.treeNode.aggregations&&b.treeNode.aggregations.forEach(function(c){if("undefined"!=typeof c.col.treeFooterAggregation){var d=a.getCellValue(b,c.col),e=Number(d);c.col.treeAggregationFn(c.col.treeFooterAggregation,d,e,b)}}),c.forEach(function(c,d){c.treeNode.aggregations&&c.treeNode.aggregations.forEach(function(c){var e=a.getCellValue(b,c.col),f=Number(e);c.col.treeAggregationFn(c,e,f,b),0===d&&"undefined"!=typeof c.col.treeFooterAggregation&&c.col.treeAggregationFn(c.col.treeFooterAggregation,e,f,b)})})},nativeAggregations:function(){var a={count:{label:f.get().aggregation.count,menuTitle:f.get().grouping.aggregate_count,aggregationFn:function(a,b,c){"undefined"==typeof a.value?a.value=1:a.value++}},sum:{label:f.get().aggregation.sum,menuTitle:f.get().grouping.aggregate_sum,aggregationFn:function(a,b,c){isNaN(c)||("undefined"==typeof a.value?a.value=c:a.value+=c)}},min:{label:f.get().aggregation.min,menuTitle:f.get().grouping.aggregate_min,aggregationFn:function(a,b,c){"undefined"==typeof a.value?a.value=b:"undefined"!=typeof b&&null!==b&&(b<a.value||null===a.value)&&(a.value=b)}},max:{label:f.get().aggregation.max,menuTitle:f.get().grouping.aggregate_max,aggregationFn:function(a,b,c){"undefined"==typeof a.value?a.value=b:"undefined"!=typeof b&&null!==b&&(b>a.value||null===a.value)&&(a.value=b)}},avg:{label:f.get().aggregation.avg,menuTitle:f.get().grouping.aggregate_avg,aggregationFn:function(a,b,c){"undefined"==typeof a.count?a.count=1:a.count++,isNaN(c)||("undefined"==typeof a.value||"undefined"==typeof a.sum?(a.value=c,a.sum=c):(a.sum+=c,a.value=a.sum/a.count))}}};return a},finaliseAggregation:function(a,b){b.col.treeAggregationUpdateEntity&&"undefined"!=typeof a&&"undefined"!=typeof a.entity["$$"+b.col.uid]&&angular.extend(b,a.entity["$$"+b.col.uid]),"function"==typeof b.col.treeAggregationFinalizerFn&&b.col.treeAggregationFinalizerFn(b),"function"==typeof b.col.customTreeAggregationFinalizerFn&&b.col.customTreeAggregationFinalizerFn(b),"undefined"==typeof b.rendered&&(b.rendered=b.label?b.label+b.value:b.value)},finaliseAggregations:function(a){"undefined"!=typeof a.treeNode.aggregations&&a.treeNode.aggregations.forEach(function(b){if(i.finaliseAggregation(a,b),b.col.treeAggregationUpdateEntity){var c={};angular.forEach(b,function(a,d){b.hasOwnProperty(d)&&"col"!==d&&(c[d]=a)}),a.entity["$$"+b.col.uid]=c}})},treeFooterAggregationType:function(a,b){return i.finaliseAggregation(void 0,b.treeFooterAggregation),"undefined"==typeof b.treeFooterAggregation.value||null===b.treeFooterAggregation.rendered?"":b.treeFooterAggregation.rendered}};return i}]),a.directive("uiGridTreeBaseRowHeaderButtons",["$templateCache","uiGridTreeBaseService",function(a,b){return{replace:!0,restrict:"E",template:a.get("ui-grid/treeBaseRowHeaderButtons"),scope:!0,require:"^uiGrid",link:function(a,c,d,e){var f=e.grid;a.treeButtonClick=function(a,c){b.toggleRowTreeState(f,a,c)}}}}]),a.directive("uiGridTreeBaseExpandAllButtons",["$templateCache","uiGridTreeBaseService",function(a,b){return{replace:!0,restrict:"E",template:a.get("ui-grid/treeBaseExpandAllButtons"),scope:!1,link:function(a,c,d,e){var f=a.col.grid;a.headerButtonClick=function(a,c){f.treeBase.expandAll?b.collapseAllRows(f,c):b.expandAllRows(f,c)}}}}]),a.directive("uiGridViewport",["$compile","uiGridConstants","gridUtil","$parse",function(a,b,c,d){return{priority:-200,scope:!1,compile:function(a,b){var c=angular.element(a.children().children()[0]),d=c.attr("ng-class"),e="";return e=d?d.slice(0,-1)+",'ui-grid-tree-header-row': row.treeLevel > -1}":"{'ui-grid-tree-header-row': row.treeLevel > -1}",c.attr("ng-class",e),{pre:function(a,b,c,d){},post:function(a,b,c,d){}}}}}])}(),function(){"use strict";var a=angular.module("ui.grid.treeView",["ui.grid","ui.grid.treeBase"]);a.constant("uiGridTreeViewConstants",{featureName:"treeView",rowHeaderColName:"treeBaseRowHeaderCol",EXPANDED:"expanded",COLLAPSED:"collapsed",aggregation:{COUNT:"count",SUM:"sum",MAX:"max",MIN:"min",AVG:"avg"}}),a.service("uiGridTreeViewService",["$q","uiGridTreeViewConstants","uiGridTreeBaseConstants","uiGridTreeBaseService","gridUtil","GridRow","gridClassFactory","i18nService","uiGridConstants",function(a,b,c,d,e,f,g,h,i){var j={initializeGrid:function(a,b){d.initializeGrid(a,b),a.treeView={},a.registerRowsProcessor(j.adjustSorting,60);var c={events:{treeView:{}},methods:{treeView:{}}};a.api.registerEventsFromObject(c.events),a.api.registerMethodsFromObject(c.methods)},defaultGridOptions:function(a){a.enableTreeView=a.enableTreeView!==!1},adjustSorting:function(a){var b=this;return b.columns.forEach(function(a){a.sort&&(a.sort.ignoreSort=!0)}),a}};return j}]),a.directive("uiGridTreeView",["uiGridTreeViewConstants","uiGridTreeViewService","$templateCache",function(a,b,c){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(a,c,d,e){e.grid.options.enableTreeView!==!1&&b.initializeGrid(e.grid,a)},post:function(a,b,c,d){}}}}}])}(),angular.module("ui.grid").run(["$templateCache",function(a){"use strict";a.put("ui-grid/ui-grid-filter",'<div class="ui-grid-filter-container" ng-repeat="colFilter in col.filters" ng-class="{\'ui-grid-filter-cancel-button-hidden\' : colFilter.disableCancelFilterButton === true }"><div ng-if="colFilter.type !== \'select\'"><input type="text" class="ui-grid-filter-input ui-grid-filter-input-{{$index}}" ng-model="colFilter.term" ng-attr-placeholder="{{colFilter.placeholder || \'\'}}" aria-label="{{colFilter.ariaLabel || aria.defaultFilterLabel}}"><div role="button" class="ui-grid-filter-button" ng-click="removeFilter(colFilter, $index)" ng-if="!colFilter.disableCancelFilterButton" ng-disabled="colFilter.term === undefined || colFilter.term === null || colFilter.term === \'\'" ng-show="colFilter.term !== undefined && colFilter.term !== null && colFilter.term !== \'\'"><i class="ui-grid-icon-cancel" ui-grid-one-bind-aria-label="aria.removeFilter">&nbsp;</i></div></div><div ng-if="colFilter.type === \'select\'"><select class="ui-grid-filter-select ui-grid-filter-input-{{$index}}" ng-model="colFilter.term" ng-attr-placeholder="{{colFilter.placeholder || aria.defaultFilterLabel}}" aria-label="{{colFilter.ariaLabel || \'\'}}" ng-options="option.value as option.label for option in colFilter.selectOptions"><option value=""></option></select><div role="button" class="ui-grid-filter-button-select" ng-click="removeFilter(colFilter, $index)" ng-if="!colFilter.disableCancelFilterButton" ng-disabled="colFilter.term === undefined || colFilter.term === null || colFilter.term === \'\'" ng-show="colFilter.term !== undefined && colFilter.term != null"><i class="ui-grid-icon-cancel" ui-grid-one-bind-aria-label="aria.removeFilter">&nbsp;</i></div></div></div>'),a.put("ui-grid/ui-grid-footer",'<div class="ui-grid-footer-panel ui-grid-footer-aggregates-row"><!-- tfooter --><div class="ui-grid-footer ui-grid-footer-viewport"><div class="ui-grid-footer-canvas"><div class="ui-grid-footer-cell-wrapper" ng-style="colContainer.headerCellWrapperStyle()"><div role="row" class="ui-grid-footer-cell-row"><div ui-grid-footer-cell role="gridcell" ng-repeat="col in colContainer.renderedColumns track by col.uid" col="col" render-index="$index" class="ui-grid-footer-cell ui-grid-clearfix"></div></div></div></div></div></div>'),a.put("ui-grid/ui-grid-grid-footer",'<div class="ui-grid-footer-info ui-grid-grid-footer"><span>{{\'search.totalItems\' | t}} {{grid.rows.length}}</span> <span ng-if="grid.renderContainers.body.visibleRowCache.length !== grid.rows.length" class="ngLabel">({{"search.showingItems" | t}} {{grid.renderContainers.body.visibleRowCache.length}})</span></div>'),a.put("ui-grid/ui-grid-group-panel",'<div class="ui-grid-group-panel"><div ui-t="groupPanel.description" class="description" ng-show="groupings.length == 0"></div><ul ng-show="groupings.length > 0" class="ngGroupList"><li class="ngGroupItem" ng-repeat="group in configGroups"><span class="ngGroupElement"><span class="ngGroupName">{{group.displayName}} <span ng-click="removeGroup($index)" class="ngRemoveGroup">x</span></span> <span ng-hide="$last" class="ngGroupArrow"></span></span></li></ul></div>'),a.put("ui-grid/ui-grid-header",'<div role="rowgroup" class="ui-grid-header"><!-- theader --><div class="ui-grid-top-panel"><div class="ui-grid-header-viewport"><div class="ui-grid-header-canvas"><div class="ui-grid-header-cell-wrapper" ng-style="colContainer.headerCellWrapperStyle()"><div role="row" class="ui-grid-header-cell-row"><div class="ui-grid-header-cell ui-grid-clearfix" ng-repeat="col in colContainer.renderedColumns track by col.uid" ui-grid-header-cell col="col" render-index="$index"></div></div></div></div></div></div></div>'),a.put("ui-grid/ui-grid-menu-button",'<div class="ui-grid-menu-button"><div role="button" ui-grid-one-bind-id-grid="\'grid-menu\'" class="ui-grid-icon-container" ng-click="toggleMenu()" aria-haspopup="true"><i class="ui-grid-icon-menu" ui-grid-one-bind-aria-label="i18n.aria.buttonLabel">&nbsp;</i></div><div ui-grid-menu menu-items="menuItems"></div></div>'),a.put("ui-grid/ui-grid-no-header",'<div class="ui-grid-top-panel"></div>'),a.put("ui-grid/ui-grid-row","<div ng-repeat=\"(colRenderIndex, col) in colContainer.renderedColumns track by col.uid\" ui-grid-one-bind-id-grid=\"rowRenderIndex + '-' + col.uid + '-cell'\" class=\"ui-grid-cell\" ng-class=\"{ 'ui-grid-row-header-cell': col.isRowHeader }\" role=\"{{col.isRowHeader ? 'rowheader' : 'gridcell'}}\" ui-grid-cell></div>"),a.put("ui-grid/ui-grid",'<div ui-i18n="en" class="ui-grid"><!-- TODO (c0bra): add "scoped" attr here, eventually? --><style ui-grid-style>.grid{{ grid.id }} {\n      /* Styles for the grid */\n    }\n\n    .grid{{ grid.id }} .ui-grid-row, .grid{{ grid.id }} .ui-grid-cell, .grid{{ grid.id }} .ui-grid-cell .ui-grid-vertical-bar {\n      height: {{ grid.options.rowHeight }}px;\n    }\n\n    .grid{{ grid.id }} .ui-grid-row:last-child .ui-grid-cell {\n      border-bottom-width: {{ ((grid.getTotalRowHeight() < grid.getViewportHeight()) && \'1\') || \'0\' }}px;\n    }\n\n    {{ grid.verticalScrollbarStyles }}\n    {{ grid.horizontalScrollbarStyles }}\n\n    /*\n    .ui-grid[dir=rtl] .ui-grid-viewport {\n      padding-left: {{ grid.verticalScrollbarWidth }}px;\n    }\n    */\n\n    {{ grid.customStyles }}</style><div class="ui-grid-contents-wrapper"><div ui-grid-menu-button ng-if="grid.options.enableGridMenu"></div><div ng-if="grid.hasLeftContainer()" style="width: 0" ui-grid-pinned-container="\'left\'"></div><div ui-grid-render-container container-id="\'body\'" col-container-name="\'body\'" row-container-name="\'body\'" bind-scroll-horizontal="true" bind-scroll-vertical="true" enable-horizontal-scrollbar="grid.options.enableHorizontalScrollbar" enable-vertical-scrollbar="grid.options.enableVerticalScrollbar"></div><div ng-if="grid.hasRightContainer()" style="width: 0" ui-grid-pinned-container="\'right\'"></div><div ui-grid-grid-footer ng-if="grid.options.showGridFooter"></div><div ui-grid-column-menu ng-if="grid.options.enableColumnMenus"></div><div ng-transclude></div></div></div>'),a.put("ui-grid/uiGridCell",'<div class="ui-grid-cell-contents" title="TOOLTIP">{{COL_FIELD CUSTOM_FILTERS}}</div>'),a.put("ui-grid/uiGridColumnMenu",'<div class="ui-grid-column-menu"><div ui-grid-menu menu-items="menuItems"><!-- <div class="ui-grid-column-menu">\n    <div class="inner" ng-show="menuShown">\n      <ul>\n        <div ng-show="grid.options.enableSorting">\n          <li ng-click="sortColumn($event, asc)" ng-class="{ \'selected\' : col.sort.direction == asc }"><i class="ui-grid-icon-sort-alt-up"></i> Sort Ascending</li>\n          <li ng-click="sortColumn($event, desc)" ng-class="{ \'selected\' : col.sort.direction == desc }"><i class="ui-grid-icon-sort-alt-down"></i> Sort Descending</li>\n          <li ng-show="col.sort.direction" ng-click="unsortColumn()"><i class="ui-grid-icon-cancel"></i> Remove Sort</li>\n        </div>\n      </ul>\n    </div>\n  </div> --></div></div>'),a.put("ui-grid/uiGridFooterCell",'<div class="ui-grid-cell-contents" col-index="renderIndex"><div>{{ col.getAggregationText() + ( col.getAggregationValue() CUSTOM_FILTERS ) }}</div></div>'),a.put("ui-grid/uiGridHeaderCell",'<div role="columnheader" ng-class="{ \'sortable\': sortable }" ui-grid-one-bind-aria-labelledby-grid="col.uid + \'-header-text \' + col.uid + \'-sortdir-text\'" aria-sort="{{col.sort.direction == asc ? \'ascending\' : ( col.sort.direction == desc ? \'descending\' : (!col.sort.direction ? \'none\' : \'other\'))}}"><div role="button" tabindex="0" class="ui-grid-cell-contents ui-grid-header-cell-primary-focus" col-index="renderIndex" title="TOOLTIP"><span class="ui-grid-header-cell-label" ui-grid-one-bind-id-grid="col.uid + \'-header-text\'">{{ col.displayName CUSTOM_FILTERS }}</span> <span ui-grid-one-bind-id-grid="col.uid + \'-sortdir-text\'" ui-grid-visible="col.sort.direction" aria-label="{{getSortDirectionAriaLabel()}}"><i ng-class="{ \'ui-grid-icon-up-dir\': col.sort.direction == asc, \'ui-grid-icon-down-dir\': col.sort.direction == desc, \'ui-grid-icon-blank\': !col.sort.direction }" title="{{col.sort.priority ? i18n.headerCell.priority + \' \' + col.sort.priority : null}}" aria-hidden="true"></i> <sub class="ui-grid-sort-priority-number">{{col.sort.priority}}</sub></span></div><div role="button" tabindex="0" ui-grid-one-bind-id-grid="col.uid + \'-menu-button\'" class="ui-grid-column-menu-button" ng-if="grid.options.enableColumnMenus && !col.isRowHeader  && col.colDef.enableColumnMenu !== false" ng-click="toggleMenu($event)" ng-class="{\'ui-grid-column-menu-button-last-col\': isLastCol}" ui-grid-one-bind-aria-label="i18n.headerCell.aria.columnMenuButtonLabel" aria-haspopup="true"><i class="ui-grid-icon-angle-down" aria-hidden="true">&nbsp;</i></div><div ui-grid-filter></div></div>'),a.put("ui-grid/uiGridMenu",'<div class="ui-grid-menu" ng-if="shown"><div class="ui-grid-menu-mid" ng-show="shownMid"><div class="ui-grid-menu-inner"><button type="button" ng-focus="focus=true" ng-blur="focus=false" class="ui-grid-menu-close-button" ng-class="{\'ui-grid-sr-only\': (!focus)}"><i class="ui-grid-icon-cancel" ui-grid-one-bind-aria-label="i18n.close"></i></button><ul role="menu" class="ui-grid-menu-items"><li ng-repeat="item in menuItems" role="menuitem" ui-grid-menu-item ui-grid-one-bind-id="\'menuitem-\'+$index" action="item.action" name="item.title" active="item.active" icon="item.icon" shown="item.shown" context="item.context" template-url="item.templateUrl" leave-open="item.leaveOpen" screen-reader-only="item.screenReaderOnly"></li></ul></div></div></div>'),a.put("ui-grid/uiGridMenuItem",'<button type="button" class="ui-grid-menu-item" ng-click="itemAction($event, title)" ng-show="itemShown()" ng-class="{ \'ui-grid-menu-item-active\': active(), \'ui-grid-sr-only\': (!focus && screenReaderOnly) }" aria-pressed="{{active()}}" tabindex="0" ng-focus="focus=true" ng-blur="focus=false"><i ng-class="icon" aria-hidden="true">&nbsp;</i> {{ name }}</button>'),a.put("ui-grid/uiGridRenderContainer","<div role=\"grid\" ui-grid-one-bind-id-grid=\"'grid-container'\" class=\"ui-grid-render-container\" ng-style=\"{ 'margin-left': colContainer.getMargin('left') + 'px', 'margin-right': colContainer.getMargin('right') + 'px' }\"><!-- All of these dom elements are replaced in place --><div ui-grid-header></div><div ui-grid-viewport></div><div ng-if=\"colContainer.needsHScrollbarPlaceholder()\" class=\"ui-grid-scrollbar-placeholder\" ng-style=\"{height:colContainer.grid.scrollbarHeight + 'px'}\"></div><ui-grid-footer ng-if=\"grid.options.showColumnFooter\"></ui-grid-footer></div>"),a.put("ui-grid/uiGridViewport",'<div role="rowgroup" class="ui-grid-viewport" ng-style="colContainer.getViewportStyle()"><!-- tbody --><div class="ui-grid-canvas"><div ng-repeat="(rowRenderIndex, row) in rowContainer.renderedRows track by $index" class="ui-grid-row" ng-style="Viewport.rowStyle(rowRenderIndex)"><div role="row" ui-grid-row="row" row-render-index="rowRenderIndex"></div></div></div></div>'),a.put("ui-grid/cellEditor",'<div><form name="inputForm"><input type="INPUT_TYPE" ng-class="\'colt\' + col.uid" ui-grid-editor ng-model="MODEL_COL_FIELD"></form></div>'),a.put("ui-grid/dropdownEditor",'<div><form name="inputForm"><select ng-class="\'colt\' + col.uid" ui-grid-edit-dropdown ng-model="MODEL_COL_FIELD" ng-options="field[editDropdownIdLabel] as field[editDropdownValueLabel] CUSTOM_FILTERS for field in editDropdownOptionsArray"></select></form></div>'),a.put("ui-grid/fileChooserEditor",'<div><form name="inputForm"><input ng-class="\'colt\' + col.uid" ui-grid-edit-file-chooser type="file" id="files" name="files[]" ng-model="MODEL_COL_FIELD"></form></div>'),a.put("ui-grid/expandableRow",'<div ui-grid-expandable-row ng-if="expandableRow.shouldRenderExpand()" class="expandableRow" style="float:left; margin-top: 1px; margin-bottom: 1px" ng-style="{width: (grid.renderContainers.body.getCanvasWidth()) + \'px\', height: row.expandedRowHeight + \'px\'}"></div>'),a.put("ui-grid/expandableRowHeader",'<div class="ui-grid-row-header-cell ui-grid-expandable-buttons-cell"><div class="ui-grid-cell-contents"><i ng-class="{ \'ui-grid-icon-plus-squared\' : !row.isExpanded, \'ui-grid-icon-minus-squared\' : row.isExpanded }" ng-click="grid.api.expandable.toggleRowExpansion(row.entity)"></i></div></div>'),a.put("ui-grid/expandableScrollFiller","<div ng-if=\"expandableRow.shouldRenderFiller()\" ng-class=\"{scrollFiller:true, scrollFillerClass:(colContainer.name === 'body')}\" ng-style=\"{ width: (grid.getViewportWidth()) + 'px', height: row.expandedRowHeight + 2 + 'px', 'margin-left': grid.options.rowHeader.rowHeaderWidth + 'px' }\"><i class=\"ui-grid-icon-spin5 ui-grid-animate-spin\" ng-style=\"{'margin-top': ( row.expandedRowHeight/2 - 5) + 'px', 'margin-left' : ((grid.getViewportWidth() - grid.options.rowHeader.rowHeaderWidth)/2 - 5) + 'px'}\"></i></div>"),a.put("ui-grid/expandableTopRowHeader",'<div class="ui-grid-row-header-cell ui-grid-expandable-buttons-cell"><div class="ui-grid-cell-contents"><i ng-class="{ \'ui-grid-icon-plus-squared\' : !grid.expandable.expandedAll, \'ui-grid-icon-minus-squared\' : grid.expandable.expandedAll }" ng-click="grid.api.expandable.toggleAllRows()"></i></div></div>'),a.put("ui-grid/csvLink",'<span class="ui-grid-exporter-csv-link-span"><a href="data:text/csv;charset=UTF-8,CSV_CONTENT" download="FILE_NAME">LINK_LABEL</a></span>'),a.put("ui-grid/importerMenuItem",'<li class="ui-grid-menu-item"><form><input class="ui-grid-importer-file-chooser" type="file" id="files" name="files[]"></form></li>'),a.put("ui-grid/importerMenuItemContainer","<div ui-grid-importer-menu-item></div>"),a.put("ui-grid/pagination",'<div role="contentinfo" class="ui-grid-pager-panel" ui-grid-pager ng-show="grid.options.enablePaginationControls"><div role="navigation" class="ui-grid-pager-container"><div role="menubar" class="ui-grid-pager-control"><button type="button" role="menuitem" class="ui-grid-pager-first" ui-grid-one-bind-title="aria.pageToFirst" ui-grid-one-bind-aria-label="aria.pageToFirst" ng-click="pageFirstPageClick()" ng-disabled="cantPageBackward()"><div class="first-triangle"><div class="first-bar"></div></div></button> <button type="button" role="menuitem" class="ui-grid-pager-previous" ui-grid-one-bind-title="aria.pageBack" ui-grid-one-bind-aria-label="aria.pageBack" ng-click="pagePreviousPageClick()" ng-disabled="cantPageBackward()"><div class="first-triangle prev-triangle"></div></button> <input type="number" ui-grid-one-bind-title="aria.pageSelected" ui-grid-one-bind-aria-label="aria.pageSelected" class="ui-grid-pager-control-input" ng-model="grid.options.paginationCurrentPage" min="1" max="{{ paginationApi.getTotalPages() }}" required> <span class="ui-grid-pager-max-pages-number" ng-show="paginationApi.getTotalPages() > 0"><abbr ui-grid-one-bind-title="paginationOf">/</abbr> {{ paginationApi.getTotalPages() }}</span> <button type="button" role="menuitem" class="ui-grid-pager-next" ui-grid-one-bind-title="aria.pageForward" ui-grid-one-bind-aria-label="aria.pageForward" ng-click="pageNextPageClick()" ng-disabled="cantPageForward()"><div class="last-triangle next-triangle"></div></button> <button type="button" role="menuitem" class="ui-grid-pager-last" ui-grid-one-bind-title="aria.pageToLast" ui-grid-one-bind-aria-label="aria.pageToLast" ng-click="pageLastPageClick()" ng-disabled="cantPageToLast()"><div class="last-triangle"><div class="last-bar"></div></div></button></div><div class="ui-grid-pager-row-count-picker" ng-if="grid.options.paginationPageSizes.length > 1"><select ui-grid-one-bind-aria-labelledby-grid="\'items-per-page-label\'" ng-model="grid.options.paginationPageSize" ng-options="o as o for o in grid.options.paginationPageSizes"></select><span ui-grid-one-bind-id-grid="\'items-per-page-label\'" class="ui-grid-pager-row-count-label">&nbsp;{{sizesLabel}}</span></div><span ng-if="grid.options.paginationPageSizes.length <= 1" class="ui-grid-pager-row-count-label">{{grid.options.paginationPageSize}}&nbsp;{{sizesLabel}}</span></div><div class="ui-grid-pager-count-container"><div class="ui-grid-pager-count"><span ng-show="grid.options.totalItems > 0">{{showingLow}} <abbr ui-grid-one-bind-title="paginationThrough">-</abbr> {{showingHigh}} {{paginationOf}} {{grid.options.totalItems}} {{totalItemsLabel}}</span></div></div></div>'),a.put("ui-grid/columnResizer",'<div ui-grid-column-resizer ng-if="grid.options.enableColumnResizing" class="ui-grid-column-resizer" col="col" position="right" render-index="renderIndex" unselectable="on"></div>'),a.put("ui-grid/gridFooterSelectedItems",'<span ng-if="grid.selection.selectedCount !== 0 && grid.options.enableFooterTotalSelected">({{"search.selectedItems" | t}} {{grid.selection.selectedCount}})</span>'),a.put("ui-grid/selectionHeaderCell",'<div><!-- <div class="ui-grid-vertical-bar">&nbsp;</div> --><div class="ui-grid-cell-contents" col-index="renderIndex"><ui-grid-selection-select-all-buttons ng-if="grid.options.enableSelectAll"></ui-grid-selection-select-all-buttons></div></div>'),a.put("ui-grid/selectionRowHeader",'<div class="ui-grid-disable-selection"><div class="ui-grid-cell-contents"><ui-grid-selection-row-header-buttons></ui-grid-selection-row-header-buttons></div></div>'),a.put("ui-grid/selectionRowHeaderButtons",'<div class="ui-grid-selection-row-header-buttons ui-grid-icon-ok" ng-class="{\'ui-grid-row-selected\': row.isSelected}" ng-click="selectButtonClick(row, $event)">&nbsp;</div>'),a.put("ui-grid/selectionSelectAllButtons",'<div class="ui-grid-selection-row-header-buttons ui-grid-icon-ok" ng-class="{\'ui-grid-all-selected\': grid.selection.selectAll}" ng-click="headerButtonClick($event)"></div>'),a.put("ui-grid/treeBaseExpandAllButtons",'<div class="ui-grid-tree-base-row-header-buttons" ng-class="{\'ui-grid-icon-minus-squared\': grid.treeBase.numberLevels > 0 && grid.treeBase.expandAll, \'ui-grid-icon-plus-squared\': grid.treeBase.numberLevels > 0 && !grid.treeBase.expandAll}" ng-click="headerButtonClick($event)"></div>'),a.put("ui-grid/treeBaseHeaderCell",'<div><div class="ui-grid-cell-contents" col-index="renderIndex"><ui-grid-tree-base-expand-all-buttons></ui-grid-tree-base-expand-all-buttons></div></div>'),a.put("ui-grid/treeBaseRowHeader",'<div class="ui-grid-cell-contents"><ui-grid-tree-base-row-header-buttons></ui-grid-tree-base-row-header-buttons></div>'),a.put("ui-grid/treeBaseRowHeaderButtons","<div class=\"ui-grid-tree-base-row-header-buttons\" ng-class=\"{'ui-grid-tree-base-header': row.treeLevel > -1 }\" ng-click=\"treeButtonClick(row, $event)\"><i ng-class=\"{'ui-grid-icon-minus-squared': ( ( grid.options.showTreeExpandNoChildren && row.treeLevel > -1 ) || ( row.treeNode.children && row.treeNode.children.length > 0 ) ) && row.treeNode.state === 'expanded', 'ui-grid-icon-plus-squared': ( ( grid.options.showTreeExpandNoChildren && row.treeLevel > -1 ) || ( row.treeNode.children && row.treeNode.children.length > 0 ) ) && row.treeNode.state === 'collapsed'}\" ng-style=\"{'padding-left': grid.options.treeIndent * row.treeLevel + 'px'}\"></i> &nbsp;</div>")}]),function(){"use strict";function a(a){return("0"+a).slice(-2)}function b(c,d){var e=c.getDay(),f=c.getDate(),g=c.getMonth(),h=c.getFullYear(),i=c.getHours(),l=c.getMinutes(),m=c.getSeconds();return d.replace(/%([%aAbBcdeHIlmMpPSwyYZz])/g,function(d){var n,o=d[1];switch(o){case"%":return"%";case"a":return j[e].slice(0,3);case"A":return j[e];case"b":return k[g].slice(0,3);case"B":return k[g];case"c":return c.toString();case"d":return a(f);case"e":return f;case"H":return a(i);case"I":return a(b(c,"%l"));case"l":return 0===i||12===i?12:(i+12)%12;case"m":return a(g+1);case"M":return a(l);case"p":return i>11?"PM":"AM";case"P":return i>11?"pm":"am";case"S":return a(m);case"w":return e;case"y":return a(h%100);case"Y":return h;case"Z":return n=c.toString().match(/\((\w+)\)$/),n?n[1]:"";case"z":return n=c.toString().match(/\w([+-]\d\d\d\d) /),n?n[1]:""}})}function c(a){this.date=a}function d(){if(null!==l)return l;if(!("Intl"in window))return!1;var a={day:"numeric",month:"short"},b=new window.Intl.DateTimeFormat(void 0,a),c=b.format(new Date(0));return l=!!c.match(/^\d/);
+}function e(){if(null!==m)return m;if(!("Intl"in window))return!0;var a={day:"numeric",month:"short",year:"numeric"},b=new window.Intl.DateTimeFormat(void 0,a),c=b.format(new Date(0));return m=!!c.match(/\d,/)}function f(a){var b=new Date;return b.getUTCFullYear()===a.getUTCFullYear()}function g(){var a,b,c;for(b=0,c=p.length;c>b;b++)a=p[b],a.textContent=a.getFormattedDate()}function h(a){var c={weekday:{"short":"%a","long":"%A"},day:{numeric:"%e","2-digit":"%d"},month:{"short":"%b","long":"%B"},year:{numeric:"%Y","2-digit":"%y"}},e=d()?"weekday day month year":"weekday month day, year";for(var f in c){var g=c[f][a.getAttribute(f)];e=e.replace(f,g||"")}return e=e.replace(/(\s,)|(,\s$)/,""),b(a._date,e).replace(/\s+/," ").trim()}function i(a){var c={hour:a.getAttribute("hour"),minute:a.getAttribute("minute"),second:a.getAttribute("second")};for(var d in c)c[d]||delete c[d];if(0!==Object.keys(c).length){if("Intl"in window){var e=new window.Intl.DateTimeFormat(void 0,c);return e.format(a._date)}var f=c.second?"%H:%M:%S":"%H:%M";return b(a._date,f)}}var j=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],k=["January","February","March","April","May","June","July","August","September","October","November","December"];c.prototype.toString=function(){var a=this.timeElapsed();return a?a:"on "+this.formatDate()},c.prototype.timeElapsed=function(){var a=(new Date).getTime()-this.date.getTime(),b=Math.round(a/1e3),c=Math.round(b/60),d=Math.round(c/60),e=Math.round(d/24);return 0>a?"just now":10>b?"just now":45>b?b+" seconds ago":90>b?"a minute ago":45>c?c+" minutes ago":90>c?"an hour ago":24>d?d+" hours ago":36>d?"a day ago":30>e?e+" days ago":null},c.prototype.timeAgo=function(){var a=(new Date).getTime()-this.date.getTime(),b=Math.round(a/1e3),c=Math.round(b/60),d=Math.round(c/60),e=Math.round(d/24),f=Math.round(e/30),g=Math.round(f/12);return 0>a?"just now":10>b?"just now":45>b?b+" seconds ago":90>b?"a minute ago":45>c?c+" minutes ago":90>c?"an hour ago":24>d?d+" hours ago":36>d?"a day ago":30>e?e+" days ago":45>e?"a month ago":12>f?f+" months ago":18>f?"a year ago":g+" years ago"},c.prototype.microTimeAgo=function(){var a=(new Date).getTime()-this.date.getTime(),b=a/1e3,c=b/60,d=c/60,e=d/24,f=e/30,g=f/12;return 1>c?"1m":60>c?Math.round(c)+"m":24>d?Math.round(d)+"h":365>e?Math.round(e)+"d":Math.round(g)+"y"};var l=null,m=null;c.prototype.formatDate=function(){var a=d()?"%e %b":"%b %e";return f(this.date)||(a+=e()?", %Y":" %Y"),b(this.date,a)},c.prototype.formatTime=function(){if("Intl"in window){var a=new window.Intl.DateTimeFormat(void 0,{hour:"numeric",minute:"2-digit"});return a.format(this.date)}return b(this.date,"%l:%M%P")};var n,o,p=[];o="HTMLTimeElement"in window?Object.create(window.HTMLTimeElement.prototype):Object.create(window.HTMLElement.prototype),o.attributeChangedCallback=function(a,b,c){if("datetime"===a){var d=Date.parse(c);this._date=isNaN(d)?null:new Date(d)}var e=this.getFormattedTitle();e&&this.setAttribute("title",e);var f=this.getFormattedDate();f&&(this.textContent=f)},o.getFormattedTitle=function(){if(this._date){if(this.hasAttribute("title"))return this.getAttribute("title");if("Intl"in window){var a={day:"numeric",month:"short",year:"numeric",hour:"numeric",minute:"2-digit",timeZoneName:"short"},b=new window.Intl.DateTimeFormat(void 0,a);return b.format(this._date)}return this._date.toLocaleString()}};var q=Object.create(o);q.createdCallback=function(){var a=this.getAttribute("datetime");a&&this.attributeChangedCallback("datetime",null,a)},q.getFormattedDate=function(){return this._date?new c(this._date).toString():void 0},q.attachedCallback=function(){p.push(this),n||(g(),n=setInterval(g,6e4))},q.detachedCallback=function(){var a=p.indexOf(this);-1!==a&&p.splice(a,1),p.length||n&&(clearInterval(n),n=null)};var r=Object.create(q);r.getFormattedDate=function(){if(this._date){var a=this.getAttribute("format");return"micro"===a?new c(this._date).microTimeAgo():new c(this._date).timeAgo()}};var s=Object.create(o);s.createdCallback=function(){var a;(a=this.getAttribute("datetime"))&&this.attributeChangedCallback("datetime",null,a),(a=this.getAttribute("format"))&&this.attributeChangedCallback("format",null,a)},s.getFormattedDate=function(){if(this._date){var a=h(this)||"",b=i(this)||"";return(a+" "+b).trim()}},window.RelativeTimeElement=document.registerElement("relative-time",{prototype:q,"extends":"time"}),window.TimeAgoElement=document.registerElement("time-ago",{prototype:r,"extends":"time"}),window.LocalTimeElement=document.registerElement("local-time",{prototype:s,"extends":"time"})}(),function(a){"use strict";function b(b,c){if(c=c||{},c.worker&&y.WORKERS_SUPPORTED){var d=k();return d.userStep=c.step,d.userChunk=c.chunk,d.userComplete=c.complete,d.userError=c.error,c.step=r(c.step),c.chunk=r(c.chunk),c.complete=r(c.complete),c.error=r(c.error),delete c.worker,void d.postMessage({input:b,config:c,workerId:d.id})}var h=null;return"string"==typeof b?h=c.download?new e(c):new g(c):(a.File&&b instanceof File||b instanceof Object)&&(h=new f(c)),h.stream(b)}function c(a,b){function c(){"object"==typeof b&&("string"==typeof b.delimiter&&1==b.delimiter.length&&-1==y.BAD_DELIMITERS.indexOf(b.delimiter)&&(i=b.delimiter),("boolean"==typeof b.quotes||b.quotes instanceof Array)&&(h=b.quotes),"string"==typeof b.newline&&(j=b.newline))}function d(a){if("object"!=typeof a)return[];var b=[];for(var c in a)b.push(c);return b}function e(a,b){var c="";"string"==typeof a&&(a=JSON.parse(a)),"string"==typeof b&&(b=JSON.parse(b));var d=a instanceof Array&&a.length>0,e=!(b[0]instanceof Array);if(d){for(var g=0;g<a.length;g++)g>0&&(c+=i),c+=f(a[g],g);b.length>0&&(c+=j)}for(var h=0;h<b.length;h++){for(var k=d?a.length:b[h].length,l=0;k>l;l++){l>0&&(c+=i);var m=d&&e?a[l]:l;c+=f(b[h][m],l)}h<b.length-1&&(c+=j)}return c}function f(a,b){if("undefined"==typeof a||null===a)return"";a=a.toString().replace(/"/g,'""');var c="boolean"==typeof h&&h||h instanceof Array&&h[b]||g(a,y.BAD_DELIMITERS)||a.indexOf(i)>-1||" "==a.charAt(0)||" "==a.charAt(a.length-1);return c?'"'+a+'"':a}function g(a,b){for(var c=0;c<b.length;c++)if(a.indexOf(b[c])>-1)return!0;return!1}var h=!1,i=",",j="\r\n";if(c(),"string"==typeof a&&(a=JSON.parse(a)),a instanceof Array){if(!a.length||a[0]instanceof Array)return e(null,a);if("object"==typeof a[0])return e(d(a[0]),a)}else if("object"==typeof a)return"string"==typeof a.data&&(a.data=JSON.parse(a.data)),a.data instanceof Array&&(a.fields||(a.fields=a.data[0]instanceof Array?a.fields:d(a.data[0])),a.data[0]instanceof Array||"object"==typeof a.data[0]||(a.data=[a.data])),e(a.fields||[],a.data||[]);throw"exception: Unable to serialize unrecognized input"}function d(b){function c(a){var b=p(a);b.chunkSize=parseInt(b.chunkSize),a.step||a.chunk||(b.chunkSize=null),this._handle=new h(b),this._handle.streamer=this,this._config=b}this._handle=null,this._paused=!1,this._finished=!1,this._input=null,this._baseIndex=0,this._partialLine="",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},c.call(this,b),this.parseChunk=function(b){if(this.isFirstChunk&&r(this._config.beforeFirstChunk)){var c=this._config.beforeFirstChunk(b);void 0!==c&&(b=c)}this.isFirstChunk=!1;var d=this._partialLine+b;this._partialLine="";var e=this._handle.parse(d,this._baseIndex,!this._finished);if(!this._handle.paused()&&!this._handle.aborted()){var f=e.meta.cursor;this._finished||(this._partialLine=d.substring(f-this._baseIndex),this._baseIndex=f),e&&e.data&&(this._rowCount+=e.data.length);var g=this._finished||this._config.preview&&this._rowCount>=this._config.preview;if(u)a.postMessage({results:e,workerId:y.WORKER_ID,finished:g});else if(r(this._config.chunk)){if(this._config.chunk(e,this._handle),this._paused)return;e=void 0,this._completeResults=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(e.data),this._completeResults.errors=this._completeResults.errors.concat(e.errors),this._completeResults.meta=e.meta),!g||!r(this._config.complete)||e&&e.meta.aborted||this._config.complete(this._completeResults),g||e&&e.meta.paused||this._nextChunk(),e}},this._sendError=function(b){r(this._config.error)?this._config.error(b):u&&this._config.error&&a.postMessage({workerId:y.WORKER_ID,error:b,finished:!1})}}function e(a){function b(a){var b=a.getResponseHeader("Content-Range");return parseInt(b.substr(b.lastIndexOf("/")+1))}a=a||{},a.chunkSize||(a.chunkSize=y.RemoteChunkSize),d.call(this,a);var c;t?this._nextChunk=function(){this._readChunk(),this._chunkLoaded()}:this._nextChunk=function(){this._readChunk()},this.stream=function(a){this._input=a,this._nextChunk()},this._readChunk=function(){if(this._finished)return void this._chunkLoaded();if(c=new XMLHttpRequest,t||(c.onload=q(this._chunkLoaded,this),c.onerror=q(this._chunkError,this)),c.open("GET",this._input,!t),this._config.chunkSize){var a=this._start+this._config.chunkSize-1;c.setRequestHeader("Range","bytes="+this._start+"-"+a),c.setRequestHeader("If-None-Match","webkit-no-cache")}try{c.send()}catch(b){this._chunkError(b.message)}t&&0==c.status?this._chunkError():this._start+=this._config.chunkSize},this._chunkLoaded=function(){if(4==c.readyState){if(c.status<200||c.status>=400)return void this._chunkError();this._finished=!this._config.chunkSize||this._start>b(c),this.parseChunk(c.responseText)}},this._chunkError=function(a){var b=c.statusText||a;this._sendError(b)}}function f(a){a=a||{},a.chunkSize||(a.chunkSize=y.LocalChunkSize),d.call(this,a);var b,c,e="undefined"!=typeof FileReader;this.stream=function(a){this._input=a,c=a.slice||a.webkitSlice||a.mozSlice,e?(b=new FileReader,b.onload=q(this._chunkLoaded,this),b.onerror=q(this._chunkError,this)):b=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount<this._config.preview)||this._readChunk()},this._readChunk=function(){var a=this._input;if(this._config.chunkSize){var d=Math.min(this._start+this._config.chunkSize,this._input.size);a=c.call(a,this._start,d)}var f=b.readAsText(a,this._config.encoding);e||this._chunkLoaded({target:{result:f}})},this._chunkLoaded=function(a){this._start+=this._config.chunkSize,this._finished=!this._config.chunkSize||this._start>=this._input.size,this.parseChunk(a.target.result)},this._chunkError=function(){this._sendError(b.error)}}function g(a){a=a||{},d.call(this,a);var b,c;this.stream=function(a){return b=a,c=a,this._nextChunk()},this._nextChunk=function(){if(!this._finished){var a=this._config.chunkSize,b=a?c.substr(0,a):c;return c=a?c.substr(a):"",this._finished=!c,this.parseChunk(b)}}}function h(a){function b(){if(v&&m&&(j("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+y.DefaultDelimiter+"'"),m=!1),a.skipEmptyLines)for(var b=0;b<v.data.length;b++)1==v.data[b].length&&""==v.data[b][0]&&v.data.splice(b--,1);return c()&&d(),e()}function c(){return a.header&&0==u.length}function d(){if(v){for(var a=0;c()&&a<v.data.length;a++)for(var b=0;b<v.data[a].length;b++)u.push(v.data[a][b]);v.data.splice(0,1)}}function e(){if(!v||!a.header&&!a.dynamicTyping)return v;for(var b=0;b<v.data.length;b++){for(var c={},d=0;d<v.data[b].length;d++){if(a.dynamicTyping){var e=v.data[b][d];"true"==e||"TRUE"==e?v.data[b][d]=!0:"false"==e||"FALSE"==e?v.data[b][d]=!1:v.data[b][d]=h(e)}a.header&&(d>=u.length?(c.__parsed_extra||(c.__parsed_extra=[]),c.__parsed_extra.push(v.data[b][d])):c[u[d]]=v.data[b][d])}a.header&&(v.data[b]=c,d>u.length?j("FieldMismatch","TooManyFields","Too many fields: expected "+u.length+" fields but parsed "+d,b):d<u.length&&j("FieldMismatch","TooFewFields","Too few fields: expected "+u.length+" fields but parsed "+d,b))}return a.header&&v.meta&&(v.meta.fields=u),v}function f(b){for(var c,d,e,f=[",","      ","|",";",y.RECORD_SEP,y.UNIT_SEP],g=0;g<f.length;g++){var h=f[g],j=0,k=0;e=void 0;for(var l=new i({delimiter:h,preview:10}).parse(b),m=0;m<l.data.length;m++){var n=l.data[m].length;k+=n,"undefined"!=typeof e?n>1&&(j+=Math.abs(n-e),e=n):e=n}l.data.length>0&&(k/=l.data.length),("undefined"==typeof d||d>j)&&k>1.99&&(d=j,c=h)}return a.delimiter=c,{successful:!!c,bestDelimiter:c}}function g(a){a=a.substr(0,1048576);var b=a.split("\r");if(1==b.length)return"\n";for(var c=0,d=0;d<b.length;d++)"\n"==b[d][0]&&c++;return c>=b.length/2?"\r\n":"\r"}function h(a){var b=n.test(a);return b?parseFloat(a):a}function j(a,b,c,d){v.errors.push({type:a,code:b,message:c,row:d})}var k,l,m,n=/^\s*-?(\d*\.?\d+|\d+\.?\d*)(e[-+]?\d+)?\s*$/i,o=this,q=0,s=!1,t=!1,u=[],v={data:[],errors:[],meta:{}};if(r(a.step)){var w=a.step;a.step=function(d){if(v=d,c())b();else{if(b(),0==v.data.length)return;q+=d.data.length,a.preview&&q>a.preview?l.abort():w(v,o)}}}this.parse=function(c,d,e){if(a.newline||(a.newline=g(c)),m=!1,!a.delimiter){var h=f(c);h.successful?a.delimiter=h.bestDelimiter:(m=!0,a.delimiter=y.DefaultDelimiter),v.meta.delimiter=a.delimiter}var j=p(a);return a.preview&&a.header&&j.preview++,k=c,l=new i(j),v=l.parse(k,d,e),b(),s?{meta:{paused:!0}}:v||{meta:{paused:!1}}},this.paused=function(){return s},this.pause=function(){s=!0,l.abort(),k=k.substr(l.getCharIndex())},this.resume=function(){s=!1,o.streamer.parseChunk(k)},this.aborted=function(){return t},this.abort=function(){t=!0,l.abort(),v.meta.aborted=!0,r(a.complete)&&a.complete(v),k=""}}function i(a){a=a||{};var b=a.delimiter,c=a.newline,d=a.comments,e=a.step,f=a.preview,g=a.fastMode;if(("string"!=typeof b||y.BAD_DELIMITERS.indexOf(b)>-1)&&(b=","),d===b)throw"Comment character same as delimiter";d===!0?d="#":("string"!=typeof d||y.BAD_DELIMITERS.indexOf(d)>-1)&&(d=!1),"\n"!=c&&"\r"!=c&&"\r\n"!=c&&(c="\n");var h=0,i=!1;this.parse=function(a,j,k){function l(a){v.push(a),y=h}function m(b){return k?o():("undefined"==typeof b&&(b=a.substr(h)),x.push(b),h=q,l(x),u&&p(),o())}function n(b){h=b,l(x),x=[],C=a.indexOf(c,h)}function o(a){return{data:v,errors:w,meta:{delimiter:b,linebreak:c,aborted:i,truncated:!!a,cursor:y+(j||0)}}}function p(){e(o()),v=[],w=[]}if("string"!=typeof a)throw"Input must be a string";var q=a.length,r=b.length,s=c.length,t=d.length,u="function"==typeof e;h=0;var v=[],w=[],x=[],y=0;if(!a)return o();if(g||g!==!1&&-1===a.indexOf('"')){for(var z=a.split(c),A=0;A<z.length;A++){var x=z[A];if(h+=x.length,A!==z.length-1)h+=c.length;else if(k)return o();if(!d||x.substr(0,t)!=d){if(u){if(v=[],l(x.split(b)),p(),i)return o()}else l(x.split(b));if(f&&A>=f)return v=v.slice(0,f),o(!0)}}return o()}for(var B=a.indexOf(b,h),C=a.indexOf(c,h);;)if('"'!=a[h])if(d&&0===x.length&&a.substr(h,t)===d){if(-1==C)return o();h=C+s,C=a.indexOf(c,h),B=a.indexOf(b,h)}else if(-1!==B&&(C>B||-1===C))x.push(a.substring(h,B)),h=B+r,B=a.indexOf(b,h);else{if(-1===C)break;if(x.push(a.substring(h,C)),n(C+s),u&&(p(),i))return o();if(f&&v.length>=f)return o(!0)}else{var D=h;for(h++;;){var D=a.indexOf('"',D+1);if(-1===D)return k||w.push({type:"Quotes",code:"MissingQuotes",message:"Quoted field unterminated",row:v.length,index:h}),m();if(D===q-1){var E=a.substring(h,D).replace(/""/g,'"');return m(E)}if('"'!=a[D+1]){if(a[D+1]==b){x.push(a.substring(h,D).replace(/""/g,'"')),h=D+1+r,B=a.indexOf(b,h),C=a.indexOf(c,h);break}if(a.substr(D+1,s)===c){if(x.push(a.substring(h,D).replace(/""/g,'"')),n(D+1+s),B=a.indexOf(b,h),u&&(p(),i))return o();if(f&&v.length>=f)return o(!0);break}}else D++}}return m()},this.abort=function(){i=!0},this.getCharIndex=function(){return h}}function j(){var a=document.getElementsByTagName("script");return a.length?a[a.length-1].src:""}function k(){if(!y.WORKERS_SUPPORTED)return!1;if(!v&&null===y.SCRIPT_PATH)throw new Error("Script path cannot be determined automatically when Papa Parse is loaded asynchronously. You need to set Papa.SCRIPT_PATH manually.");var b=y.SCRIPT_PATH||s;b+=(-1!==b.indexOf("?")?"&":"?")+"papaworker";var c=new a.Worker(b);return c.onmessage=l,c.id=x++,w[c.id]=c,c}function l(a){var b=a.data,c=w[b.workerId],d=!1;if(b.error)c.userError(b.error,b.file);else if(b.results&&b.results.data){var e=function(){d=!0,m(b.workerId,{data:[],errors:[],meta:{aborted:!0}})},f={abort:e,pause:n,resume:n};if(r(c.userStep)){for(var g=0;g<b.results.data.length&&(c.userStep({data:[b.results.data[g]],errors:b.results.errors,meta:b.results.meta},f),!d);g++);delete b.results}else r(c.userChunk)&&(c.userChunk(b.results,f,b.file),delete b.results)}b.finished&&!d&&m(b.workerId,b.results)}function m(a,b){var c=w[a];r(c.userComplete)&&c.userComplete(b),c.terminate(),delete w[a]}function n(){throw"Not implemented."}function o(b){var c=b.data;if("undefined"==typeof y.WORKER_ID&&c&&(y.WORKER_ID=c.workerId),"string"==typeof c.input)a.postMessage({workerId:y.WORKER_ID,results:y.parse(c.input,c.config),finished:!0});else if(a.File&&c.input instanceof File||c.input instanceof Object){var d=y.parse(c.input,c.config);d&&a.postMessage({workerId:y.WORKER_ID,results:d,finished:!0})}}function p(a){if("object"!=typeof a)return a;var b=a instanceof Array?[]:{};for(var c in a)b[c]=p(a[c]);return b}function q(a,b){return function(){a.apply(b,arguments)}}function r(a){return"function"==typeof a}var s,t=!a.document&&!!a.postMessage,u=t&&/(\?|&)papaworker(=|&|$)/.test(a.location.search),v=!1,w={},x=0,y={};if(y.parse=b,y.unparse=c,y.RECORD_SEP=String.fromCharCode(30),y.UNIT_SEP=String.fromCharCode(31),y.BYTE_ORDER_MARK="\ufeff",y.BAD_DELIMITERS=["\r","\n",'"',y.BYTE_ORDER_MARK],y.WORKERS_SUPPORTED=!t&&!!a.Worker,y.SCRIPT_PATH=null,y.LocalChunkSize=10485760,y.RemoteChunkSize=5242880,y.DefaultDelimiter=",",y.Parser=i,y.ParserHandle=h,y.NetworkStreamer=e,y.FileStreamer=f,y.StringStreamer=g,"undefined"!=typeof module&&module.exports?module.exports=y:r(a.define)&&a.define.amd?define(function(){return y}):a.Papa=y,a.jQuery){var z=a.jQuery;z.fn.parse=function(b){function c(){if(0==g.length)return void(r(b.complete)&&b.complete());var a=g[0];if(r(b.before)){var c=b.before(a.file,a.inputElem);if("object"==typeof c){if("abort"==c.action)return void d("AbortError",a.file,a.inputElem,c.reason);if("skip"==c.action)return void e();"object"==typeof c.config&&(a.instanceConfig=z.extend(a.instanceConfig,c.config))}else if("skip"==c)return void e()}var f=a.instanceConfig.complete;a.instanceConfig.complete=function(b){r(f)&&f(b,a.file,a.inputElem),e()},y.parse(a.file,a.instanceConfig)}function d(a,c,d,e){r(b.error)&&b.error({name:a},c,d,e)}function e(){g.splice(0,1),c()}var f=b.config||{},g=[];return this.each(function(b){var c="INPUT"==z(this).prop("tagName").toUpperCase()&&"file"==z(this).attr("type").toLowerCase()&&a.FileReader;if(!c||!this.files||0==this.files.length)return!0;for(var d=0;d<this.files.length;d++)g.push({file:this.files[d],inputElem:this,instanceConfig:z.extend({},f)})}),c(),this}}u?a.onmessage=o:y.WORKERS_SUPPORTED&&(s=j(),document.body?document.addEventListener("DOMContentLoaded",function(){v=!0},!0):v=!0),e.prototype=Object.create(d.prototype),e.prototype.constructor=e,f.prototype=Object.create(d.prototype),f.prototype.constructor=f,g.prototype=Object.create(g.prototype),g.prototype.constructor=g}("undefined"!=typeof window?window:this),angular.module("ngPapaParse",[]),function(){"use strict";angular.module("ngPapaParse").factory("Papa",function(){if("undefined"==typeof Papa)throw new Error("angular-PapaParse's JavaScript requires PapaParse");return Papa})}.call(this),function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):"undefined"!=typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a,b){"use strict";if(!a.jstree){var c,d,e=0,f=!1,g=!1,h=!1,i=[],j=a("script:last").attr("src"),k=window.document,l=k.createElement("LI");l.setAttribute("role","treeitem"),c=k.createElement("I"),c.className="jstree-icon jstree-ocl",c.setAttribute("role","presentation"),l.appendChild(c),c=k.createElement("A"),c.className="jstree-anchor",c.setAttribute("href","#"),c.setAttribute("tabindex","-1"),d=k.createElement("I"),d.className="jstree-icon jstree-themeicon",d.setAttribute("role","presentation"),c.appendChild(d),l.appendChild(c),c=d=null,a.jstree={version:"3.2.1",defaults:{plugins:[]},plugins:{},path:j&&-1!==j.indexOf("/")?j.replace(/\/[^\/]+$/,""):"",idregex:/[\\:&!^|()\[\]<>@*'+~#";.,=\- \/${}%?`]/g,root:"#"},a.jstree.create=function(b,c){var d=new a.jstree.core(++e),f=c;return c=a.extend(!0,{},a.jstree.defaults,c),f&&f.plugins&&(c.plugins=f.plugins),a.each(c.plugins,function(a,b){"core"!==a&&(d=d.plugin(b,c[b]))}),a(b).data("jstree",d),d.init(b,c),d},a.jstree.destroy=function(){a(".jstree:jstree").jstree("destroy"),a(k).off(".jstree")},a.jstree.core=function(a){this._id=a,this._cnt=0,this._wrk=null,this._data={core:{themes:{name:!1,dots:!1,icons:!1},selected:[],last_error:{},working:!1,worker_queue:[],focused:null}}},a.jstree.reference=function(b){var c=null,d=null;if(!b||!b.id||b.tagName&&b.nodeType||(b=b.id),!d||!d.length)try{d=a(b)}catch(e){}if(!d||!d.length)try{d=a("#"+b.replace(a.jstree.idregex,"\\$&"))}catch(e){}return d&&d.length&&(d=d.closest(".jstree")).length&&(d=d.data("jstree"))?c=d:a(".jstree").each(function(){var d=a(this).data("jstree");return d&&d._model.data[b]?(c=d,!1):void 0}),c},a.fn.jstree=function(c){var d="string"==typeof c,e=Array.prototype.slice.call(arguments,1),f=null;return c!==!0||this.length?(this.each(function(){var g=a.jstree.reference(this),h=d&&g?g[c]:null;return f=d&&h?h.apply(g,e):null,g||d||c!==b&&!a.isPlainObject(c)||a.jstree.create(this,c),(g&&!d||c===!0)&&(f=g||!1),null!==f&&f!==b?!1:void 0}),null!==f&&f!==b?f:this):!1},a.expr[":"].jstree=a.expr.createPseudo(function(c){return function(c){return a(c).hasClass("jstree")&&a(c).data("jstree")!==b}}),a.jstree.defaults.core={data:!1,strings:!1,check_callback:!1,error:a.noop,animation:200,multiple:!0,themes:{name:!1,url:!1,dir:!1,dots:!0,icons:!0,stripes:!1,variant:!1,responsive:!1},expand_selected_onload:!0,worker:!0,force_text:!1,dblclick_toggle:!0},a.jstree.core.prototype={plugin:function(b,c){var d=a.jstree.plugins[b];return d?(this._data[b]={},d.prototype=this,new d(c,this)):this},init:function(b,c){this._model={data:{},changed:[],force_full_redraw:!1,redraw_timeout:!1,default_state:{loaded:!0,opened:!1,selected:!1,disabled:!1}},this._model.data[a.jstree.root]={id:a.jstree.root,parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}},this.element=a(b).addClass("jstree jstree-"+this._id),this.settings=c,this._data.core.ready=!1,this._data.core.loaded=!1,this._data.core.rtl="rtl"===this.element.css("direction"),this.element[this._data.core.rtl?"addClass":"removeClass"]("jstree-rtl"),this.element.attr("role","tree"),this.settings.core.multiple&&this.element.attr("aria-multiselectable",!0),this.element.attr("tabindex")||this.element.attr("tabindex","0"),this.bind(),this.trigger("init"),this._data.core.original_container_html=this.element.find(" > ul > li").clone(!0),this._data.core.original_container_html.find("li").addBack().contents().filter(function(){return 3===this.nodeType&&(!this.nodeValue||/^\s+$/.test(this.nodeValue))}).remove(),this.element.html("<ul class='jstree-container-ul jstree-children' role='group'><li id='j"+this._id+"_loading' class='jstree-initial-node jstree-loading jstree-leaf jstree-last' role='tree-item'><i class='jstree-icon jstree-ocl'></i><a class='jstree-anchor' href='#'><i class='jstree-icon jstree-themeicon-hidden'></i>"+this.get_string("Loading ...")+"</a></li></ul>"),this.element.attr("aria-activedescendant","j"+this._id+"_loading"),this._data.core.li_height=this.get_container_ul().children("li").first().height()||24,this.trigger("loading"),this.load_node(a.jstree.root)},destroy:function(a){if(this._wrk)try{window.URL.revokeObjectURL(this._wrk),this._wrk=null}catch(b){}a||this.element.empty(),this.teardown()},teardown:function(){this.unbind(),this.element.removeClass("jstree").removeData("jstree").find("[class^='jstree']").addBack().attr("class",function(){return this.className.replace(/jstree[^ ]*|$/gi,"")}),this.element=null},bind:function(){var b="",c=null,d=0;this.element.on("dblclick.jstree",function(a){if(a.target.tagName&&"input"===a.target.tagName.toLowerCase())return!0;if(k.selection&&k.selection.empty)k.selection.empty();else if(window.getSelection){var b=window.getSelection();try{b.removeAllRanges(),b.collapse()}catch(c){}}}).on("mousedown.jstree",a.proxy(function(a){a.target===this.element[0]&&(a.preventDefault(),d=+new Date)},this)).on("mousedown.jstree",".jstree-ocl",function(a){a.preventDefault()}).on("click.jstree",".jstree-ocl",a.proxy(function(a){this.toggle_node(a.target)},this)).on("dblclick.jstree",".jstree-anchor",a.proxy(function(a){return a.target.tagName&&"input"===a.target.tagName.toLowerCase()?!0:void(this.settings.core.dblclick_toggle&&this.toggle_node(a.target))},this)).on("click.jstree",".jstree-anchor",a.proxy(function(b){b.preventDefault(),b.currentTarget!==k.activeElement&&a(b.currentTarget).focus(),this.activate_node(b.currentTarget,b)},this)).on("keydown.jstree",".jstree-anchor",a.proxy(function(b){if(b.target.tagName&&"input"===b.target.tagName.toLowerCase())return!0;if(32!==b.which&&13!==b.which&&(b.shiftKey||b.ctrlKey||b.altKey||b.metaKey))return!0;var c=null;switch(this._data.core.rtl&&(37===b.which?b.which=39:39===b.which&&(b.which=37)),b.which){case 32:b.ctrlKey&&(b.type="click",a(b.currentTarget).trigger(b));break;case 13:b.type="click",a(b.currentTarget).trigger(b);break;case 37:b.preventDefault(),this.is_open(b.currentTarget)?this.close_node(b.currentTarget):(c=this.get_parent(b.currentTarget),c&&c.id!==a.jstree.root&&this.get_node(c,!0).children(".jstree-anchor").focus());break;case 38:b.preventDefault(),c=this.get_prev_dom(b.currentTarget),c&&c.length&&c.children(".jstree-anchor").focus();break;case 39:b.preventDefault(),this.is_closed(b.currentTarget)?this.open_node(b.currentTarget,function(a){this.get_node(a,!0).children(".jstree-anchor").focus()}):this.is_open(b.currentTarget)&&(c=this.get_node(b.currentTarget,!0).children(".jstree-children")[0],c&&a(this._firstChild(c)).children(".jstree-anchor").focus());break;case 40:b.preventDefault(),c=this.get_next_dom(b.currentTarget),c&&c.length&&c.children(".jstree-anchor").focus();break;case 106:this.open_all();break;case 36:b.preventDefault(),c=this._firstChild(this.get_container_ul()[0]),c&&a(c).children(".jstree-anchor").filter(":visible").focus();break;case 35:b.preventDefault(),this.element.find(".jstree-anchor").filter(":visible").last().focus()}},this)).on("load_node.jstree",a.proxy(function(b,c){c.status&&(c.node.id!==a.jstree.root||this._data.core.loaded||(this._data.core.loaded=!0,this._firstChild(this.get_container_ul()[0])&&this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.trigger("loaded")),this._data.core.ready||setTimeout(a.proxy(function(){if(this.element&&!this.get_container_ul().find(".jstree-loading").length){if(this._data.core.ready=!0,this._data.core.selected.length){if(this.settings.core.expand_selected_onload){var b,c,d=[];for(b=0,c=this._data.core.selected.length;c>b;b++)d=d.concat(this._model.data[this._data.core.selected[b]].parents);for(d=a.vakata.array_unique(d),b=0,c=d.length;c>b;b++)this.open_node(d[b],!1,0)}this.trigger("changed",{action:"ready",selected:this._data.core.selected})}this.trigger("ready")}},this),0))},this)).on("keypress.jstree",a.proxy(function(d){if(d.target.tagName&&"input"===d.target.tagName.toLowerCase())return!0;c&&clearTimeout(c),c=setTimeout(function(){b=""},500);var e=String.fromCharCode(d.which).toLowerCase(),f=this.element.find(".jstree-anchor").filter(":visible"),g=f.index(k.activeElement)||0,h=!1;if(b+=e,b.length>1){if(f.slice(g).each(a.proxy(function(c,d){return 0===a(d).text().toLowerCase().indexOf(b)?(a(d).focus(),h=!0,!1):void 0},this)),h)return;if(f.slice(0,g).each(a.proxy(function(c,d){return 0===a(d).text().toLowerCase().indexOf(b)?(a(d).focus(),h=!0,!1):void 0},this)),h)return}if(new RegExp("^"+e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")+"+$").test(b)){if(f.slice(g+1).each(a.proxy(function(b,c){return a(c).text().toLowerCase().charAt(0)===e?(a(c).focus(),h=!0,!1):void 0},this)),h)return;if(f.slice(0,g+1).each(a.proxy(function(b,c){return a(c).text().toLowerCase().charAt(0)===e?(a(c).focus(),h=!0,!1):void 0},this)),h)return}},this)).on("init.jstree",a.proxy(function(){var a=this.settings.core.themes;this._data.core.themes.dots=a.dots,this._data.core.themes.stripes=a.stripes,this._data.core.themes.icons=a.icons,this.set_theme(a.name||"default",a.url),this.set_theme_variant(a.variant)},this)).on("loading.jstree",a.proxy(function(){this[this._data.core.themes.dots?"show_dots":"hide_dots"](),this[this._data.core.themes.icons?"show_icons":"hide_icons"](),this[this._data.core.themes.stripes?"show_stripes":"hide_stripes"]()},this)).on("blur.jstree",".jstree-anchor",a.proxy(function(b){this._data.core.focused=null,a(b.currentTarget).filter(".jstree-hovered").mouseleave(),this.element.attr("tabindex","0")},this)).on("focus.jstree",".jstree-anchor",a.proxy(function(b){var c=this.get_node(b.currentTarget);c&&c.id&&(this._data.core.focused=c.id),this.element.find(".jstree-hovered").not(b.currentTarget).mouseleave(),a(b.currentTarget).mouseenter(),this.element.attr("tabindex","-1")},this)).on("focus.jstree",a.proxy(function(){if(+new Date-d>500&&!this._data.core.focused){d=0;var a=this.get_node(this.element.attr("aria-activedescendant"),!0);a&&a.find("> .jstree-anchor").focus()}},this)).on("mouseenter.jstree",".jstree-anchor",a.proxy(function(a){this.hover_node(a.currentTarget)},this)).on("mouseleave.jstree",".jstree-anchor",a.proxy(function(a){this.dehover_node(a.currentTarget)},this))},unbind:function(){this.element.off(".jstree"),a(k).off(".jstree-"+this._id)},trigger:function(a,b){b||(b={}),b.instance=this,this.element.triggerHandler(a.replace(".jstree","")+".jstree",b)},get_container:function(){return this.element},get_container_ul:function(){return this.element.children(".jstree-children").first()},get_string:function(b){var c=this.settings.core.strings;return a.isFunction(c)?c.call(this,b):c&&c[b]?c[b]:b},_firstChild:function(a){for(a=a?a.firstChild:null;null!==a&&1!==a.nodeType;)a=a.nextSibling;return a},_nextSibling:function(a){for(a=a?a.nextSibling:null;null!==a&&1!==a.nodeType;)a=a.nextSibling;return a},_previousSibling:function(a){for(a=a?a.previousSibling:null;null!==a&&1!==a.nodeType;)a=a.previousSibling;return a},get_node:function(b,c){b&&b.id&&(b=b.id);var d;try{if(this._model.data[b])b=this._model.data[b];else if("string"==typeof b&&this._model.data[b.replace(/^#/,"")])b=this._model.data[b.replace(/^#/,"")];else if("string"==typeof b&&(d=a("#"+b.replace(a.jstree.idregex,"\\$&"),this.element)).length&&this._model.data[d.closest(".jstree-node").attr("id")])b=this._model.data[d.closest(".jstree-node").attr("id")];else if((d=a(b,this.element)).length&&this._model.data[d.closest(".jstree-node").attr("id")])b=this._model.data[d.closest(".jstree-node").attr("id")];else{if(!(d=a(b,this.element)).length||!d.hasClass("jstree"))return!1;b=this._model.data[a.jstree.root]}return c&&(b=b.id===a.jstree.root?this.element:a("#"+b.id.replace(a.jstree.idregex,"\\$&"),this.element)),b}catch(e){return!1}},get_path:function(b,c,d){if(b=b.parents?b:this.get_node(b),!b||b.id===a.jstree.root||!b.parents)return!1;var e,f,g=[];for(g.push(d?b.id:b.text),e=0,f=b.parents.length;f>e;e++)g.push(d?b.parents[e]:this.get_text(b.parents[e]));return g=g.reverse().slice(1),c?g.join(c):g},get_next_dom:function(b,c){var d;if(b=this.get_node(b,!0),b[0]===this.element[0]){for(d=this._firstChild(this.get_container_ul()[0]);d&&0===d.offsetHeight;)d=this._nextSibling(d);return d?a(d):!1}if(!b||!b.length)return!1;if(c){d=b[0];do d=this._nextSibling(d);while(d&&0===d.offsetHeight);return d?a(d):!1}if(b.hasClass("jstree-open")){for(d=this._firstChild(b.children(".jstree-children")[0]);d&&0===d.offsetHeight;)d=this._nextSibling(d);if(null!==d)return a(d)}d=b[0];do d=this._nextSibling(d);while(d&&0===d.offsetHeight);
+return null!==d?a(d):b.parentsUntil(".jstree",".jstree-node").nextAll(".jstree-node:visible").first()},get_prev_dom:function(b,c){var d;if(b=this.get_node(b,!0),b[0]===this.element[0]){for(d=this.get_container_ul()[0].lastChild;d&&0===d.offsetHeight;)d=this._previousSibling(d);return d?a(d):!1}if(!b||!b.length)return!1;if(c){d=b[0];do d=this._previousSibling(d);while(d&&0===d.offsetHeight);return d?a(d):!1}d=b[0];do d=this._previousSibling(d);while(d&&0===d.offsetHeight);if(null!==d){for(b=a(d);b.hasClass("jstree-open");)b=b.children(".jstree-children").first().children(".jstree-node:visible:last");return b}return d=b[0].parentNode.parentNode,d&&d.className&&-1!==d.className.indexOf("jstree-node")?a(d):!1},get_parent:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.parent:!1},get_children_dom:function(a){return a=this.get_node(a,!0),a[0]===this.element[0]?this.get_container_ul().children(".jstree-node"):a&&a.length?a.children(".jstree-children").children(".jstree-node"):!1},is_parent:function(a){return a=this.get_node(a),a&&(a.state.loaded===!1||a.children.length>0)},is_loaded:function(a){return a=this.get_node(a),a&&a.state.loaded},is_loading:function(a){return a=this.get_node(a),a&&a.state&&a.state.loading},is_open:function(a){return a=this.get_node(a),a&&a.state.opened},is_closed:function(a){return a=this.get_node(a),a&&this.is_parent(a)&&!a.state.opened},is_leaf:function(a){return!this.is_parent(a)},load_node:function(b,c){var d,e,f,g,h;if(a.isArray(b))return this._load_nodes(b.slice(),c),!0;if(b=this.get_node(b),!b)return c&&c.call(this,b,!1),!1;if(b.state.loaded){for(b.state.loaded=!1,d=0,e=b.children_d.length;e>d;d++){for(f=0,g=b.parents.length;g>f;f++)this._model.data[b.parents[f]].children_d=a.vakata.array_remove_item(this._model.data[b.parents[f]].children_d,b.children_d[d]);this._model.data[b.children_d[d]].state.selected&&(h=!0,this._data.core.selected=a.vakata.array_remove_item(this._data.core.selected,b.children_d[d])),delete this._model.data[b.children_d[d]]}b.children=[],b.children_d=[],h&&this.trigger("changed",{action:"load_node",node:b,selected:this._data.core.selected})}return b.state.failed=!1,b.state.loading=!0,this.get_node(b,!0).addClass("jstree-loading").attr("aria-busy",!0),this._load_node(b,a.proxy(function(a){b=this._model.data[b.id],b.state.loading=!1,b.state.loaded=a,b.state.failed=!b.state.loaded;var d=this.get_node(b,!0),e=0,f=0,g=this._model.data,h=!1;for(e=0,f=b.children.length;f>e;e++)if(g[b.children[e]]&&!g[b.children[e]].state.hidden){h=!0;break}b.state.loaded&&!h&&d&&d.length&&!d.hasClass("jstree-leaf")&&d.removeClass("jstree-closed jstree-open").addClass("jstree-leaf"),d.removeClass("jstree-loading").attr("aria-busy",!1),this.trigger("load_node",{node:b,status:a}),c&&c.call(this,b,a)},this)),!0},_load_nodes:function(a,b,c){var d,e,f=!0,g=function(){this._load_nodes(a,b,!0)},h=this._model.data,i=[];for(d=0,e=a.length;e>d;d++)!h[a[d]]||(h[a[d]].state.loaded||h[a[d]].state.failed)&&c||(this.is_loading(a[d])||this.load_node(a[d],g),f=!1);if(f){for(d=0,e=a.length;e>d;d++)h[a[d]]&&h[a[d]].state.loaded&&i.push(a[d]);b&&!b.done&&(b.call(this,i),b.done=!0)}},load_all:function(b,c){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var d,e,f=[],g=this._model.data,h=g[b.id].children_d;for(b.state&&!b.state.loaded&&f.push(b.id),d=0,e=h.length;e>d;d++)g[h[d]]&&g[h[d]].state&&!g[h[d]].state.loaded&&f.push(h[d]);f.length?this._load_nodes(f,function(){this.load_all(b,c)}):(c&&c.call(this,b),this.trigger("load_all",{node:b}))},_load_node:function(b,c){var d,e=this.settings.core.data;return e?a.isFunction(e)?e.call(this,b,a.proxy(function(d){d===!1&&c.call(this,!1),this["string"==typeof d?"_append_html_data":"_append_json_data"](b,"string"==typeof d?a(a.parseHTML(d)).filter(function(){return 3!==this.nodeType}):d,function(a){c.call(this,a)})},this)):"object"==typeof e?e.url?(e=a.extend(!0,{},e),a.isFunction(e.url)&&(e.url=e.url.call(this,b)),a.isFunction(e.data)&&(e.data=e.data.call(this,b)),a.ajax(e).done(a.proxy(function(d,e,f){var g=f.getResponseHeader("Content-Type");return g&&-1!==g.indexOf("json")||"object"==typeof d?this._append_json_data(b,d,function(a){c.call(this,a)}):g&&-1!==g.indexOf("html")||"string"==typeof d?this._append_html_data(b,a(a.parseHTML(d)).filter(function(){return 3!==this.nodeType}),function(a){c.call(this,a)}):(this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:b.id,xhr:f})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1))},this)).fail(a.proxy(function(a){c.call(this,!1),this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:b.id,xhr:a})},this.settings.core.error.call(this,this._data.core.last_error)},this))):(d=a.isArray(e)||a.isPlainObject(e)?JSON.parse(JSON.stringify(e)):e,b.id===a.jstree.root?this._append_json_data(b,d,function(a){c.call(this,a)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_05",reason:"Could not load node",data:JSON.stringify({id:b.id})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1))):"string"==typeof e?b.id===a.jstree.root?this._append_html_data(b,a(a.parseHTML(e)).filter(function(){return 3!==this.nodeType}),function(a){c.call(this,a)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_06",reason:"Could not load node",data:JSON.stringify({id:b.id})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1)):c.call(this,!1):b.id===a.jstree.root?this._append_html_data(b,this._data.core.original_container_html.clone(!0),function(a){c.call(this,a)}):c.call(this,!1)},_node_changed:function(a){a=this.get_node(a),a&&this._model.changed.push(a.id)},_append_html_data:function(b,c,d){b=this.get_node(b),b.children=[],b.children_d=[];var e,f,g,h=c.is("ul")?c.children():c,i=b.id,j=[],k=[],l=this._model.data,m=l[i],n=this._data.core.selected.length;for(h.each(a.proxy(function(b,c){e=this._parse_model_from_html(a(c),i,m.parents.concat()),e&&(j.push(e),k.push(e),l[e].children_d.length&&(k=k.concat(l[e].children_d)))},this)),m.children=j,m.children_d=k,f=0,g=m.parents.length;g>f;f++)l[m.parents[f]].children_d=l[m.parents[f]].children_d.concat(k);this.trigger("model",{nodes:k,parent:i}),i!==a.jstree.root?(this._node_changed(i),this.redraw()):(this.get_container_ul().children(".jstree-initial-node").remove(),this.redraw(!0)),this._data.core.selected.length!==n&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),d.call(this,!0)},_append_json_data:function(b,c,d,e){if(null!==this.element){b=this.get_node(b),b.children=[],b.children_d=[],c.d&&(c=c.d,"string"==typeof c&&(c=JSON.parse(c))),a.isArray(c)||(c=[c]);var f=null,g={df:this._model.default_state,dat:c,par:b.id,m:this._model.data,t_id:this._id,t_cnt:this._cnt,sel:this._data.core.selected},h=function(a,b){a.data&&(a=a.data);var c,d,e,f,g=a.dat,h=a.par,i=[],j=[],k=[],l=a.df,m=a.t_id,n=a.t_cnt,o=a.m,p=o[h],q=a.sel,r=function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e,f,g,h,i=a.id.toString(),j={id:i,text:a.text||"",icon:a.icon!==b?a.icon:!0,parent:c,parents:d,children:a.children||[],children_d:a.children_d||[],data:a.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(e in l)l.hasOwnProperty(e)&&(j.state[e]=l[e]);if(a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(j.icon=a.data.jstree.icon),(j.icon===b||null===j.icon||""===j.icon)&&(j.icon=!0),a&&a.data&&(j.data=a.data,a.data.jstree))for(e in a.data.jstree)a.data.jstree.hasOwnProperty(e)&&(j.state[e]=a.data.jstree[e]);if(a&&"object"==typeof a.state)for(e in a.state)a.state.hasOwnProperty(e)&&(j.state[e]=a.state[e]);if(a&&"object"==typeof a.li_attr)for(e in a.li_attr)a.li_attr.hasOwnProperty(e)&&(j.li_attr[e]=a.li_attr[e]);if(j.li_attr.id||(j.li_attr.id=i),a&&"object"==typeof a.a_attr)for(e in a.a_attr)a.a_attr.hasOwnProperty(e)&&(j.a_attr[e]=a.a_attr[e]);for(a&&a.children&&a.children===!0&&(j.state.loaded=!1,j.children=[],j.children_d=[]),o[j.id]=j,e=0,f=j.children.length;f>e;e++)g=r(o[j.children[e]],j.id,d),h=o[g],j.children_d.push(g),h.children_d.length&&(j.children_d=j.children_d.concat(h.children_d));return delete a.data,delete a.children,o[j.id].original=a,j.state.selected&&k.push(j.id),j.id},s=function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e,f,g,h,i,j=!1;do j="j"+m+"_"+ ++n;while(o[j]);i={id:!1,text:"string"==typeof a?a:"",icon:"object"==typeof a&&a.icon!==b?a.icon:!0,parent:c,parents:d,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(e in l)l.hasOwnProperty(e)&&(i.state[e]=l[e]);if(a&&a.id&&(i.id=a.id.toString()),a&&a.text&&(i.text=a.text),a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(i.icon=a.data.jstree.icon),(i.icon===b||null===i.icon||""===i.icon)&&(i.icon=!0),a&&a.data&&(i.data=a.data,a.data.jstree))for(e in a.data.jstree)a.data.jstree.hasOwnProperty(e)&&(i.state[e]=a.data.jstree[e]);if(a&&"object"==typeof a.state)for(e in a.state)a.state.hasOwnProperty(e)&&(i.state[e]=a.state[e]);if(a&&"object"==typeof a.li_attr)for(e in a.li_attr)a.li_attr.hasOwnProperty(e)&&(i.li_attr[e]=a.li_attr[e]);if(i.li_attr.id&&!i.id&&(i.id=i.li_attr.id.toString()),i.id||(i.id=j),i.li_attr.id||(i.li_attr.id=i.id),a&&"object"==typeof a.a_attr)for(e in a.a_attr)a.a_attr.hasOwnProperty(e)&&(i.a_attr[e]=a.a_attr[e]);if(a&&a.children&&a.children.length){for(e=0,f=a.children.length;f>e;e++)g=s(a.children[e],i.id,d),h=o[g],i.children.push(g),h.children_d.length&&(i.children_d=i.children_d.concat(h.children_d));i.children_d=i.children_d.concat(i.children)}return a&&a.children&&a.children===!0&&(i.state.loaded=!1,i.children=[],i.children_d=[]),delete a.data,delete a.children,i.original=a,o[i.id]=i,i.state.selected&&k.push(i.id),i.id};if(g.length&&g[0].id!==b&&g[0].parent!==b){for(d=0,e=g.length;e>d;d++)g[d].children||(g[d].children=[]),o[g[d].id.toString()]=g[d];for(d=0,e=g.length;e>d;d++)o[g[d].parent.toString()].children.push(g[d].id.toString()),p.children_d.push(g[d].id.toString());for(d=0,e=p.children.length;e>d;d++)c=r(o[p.children[d]],h,p.parents.concat()),j.push(c),o[c].children_d.length&&(j=j.concat(o[c].children_d));for(d=0,e=p.parents.length;e>d;d++)o[p.parents[d]].children_d=o[p.parents[d]].children_d.concat(j);f={cnt:n,mod:o,sel:q,par:h,dpc:j,add:k}}else{for(d=0,e=g.length;e>d;d++)c=s(g[d],h,p.parents.concat()),c&&(i.push(c),j.push(c),o[c].children_d.length&&(j=j.concat(o[c].children_d)));for(p.children=i,p.children_d=j,d=0,e=p.parents.length;e>d;d++)o[p.parents[d]].children_d=o[p.parents[d]].children_d.concat(j);f={cnt:n,mod:o,sel:q,par:h,dpc:j,add:k}}return"undefined"!=typeof window&&"undefined"!=typeof window.document?f:void postMessage(f)},i=function(b,c){if(null!==this.element){if(this._cnt=b.cnt,this._model.data=b.mod,c){var e,f,g=b.add,h=b.sel,i=this._data.core.selected.slice(),j=this._model.data;if(h.length!==i.length||a.vakata.array_unique(h.concat(i)).length!==h.length){for(e=0,f=h.length;f>e;e++)-1===a.inArray(h[e],g)&&-1===a.inArray(h[e],i)&&(j[h[e]].state.selected=!1);for(e=0,f=i.length;f>e;e++)-1===a.inArray(i[e],h)&&(j[i[e]].state.selected=!0)}}b.add.length&&(this._data.core.selected=this._data.core.selected.concat(b.add)),this.trigger("model",{nodes:b.dpc,parent:b.par}),b.par!==a.jstree.root?(this._node_changed(b.par),this.redraw()):this.redraw(!0),b.add.length&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),d.call(this,!0)}};if(this.settings.core.worker&&window.Blob&&window.URL&&window.Worker)try{null===this._wrk&&(this._wrk=window.URL.createObjectURL(new window.Blob(["self.onmessage = "+h.toString()],{type:"text/javascript"}))),!this._data.core.working||e?(this._data.core.working=!0,f=new window.Worker(this._wrk),f.onmessage=a.proxy(function(a){i.call(this,a.data,!0);try{f.terminate(),f=null}catch(b){}this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1},this),g.par?f.postMessage(g):this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1):this._data.core.worker_queue.push([b,c,d,!0])}catch(j){i.call(this,h(g),!1),this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1}else i.call(this,h(g),!1)}},_parse_model_from_html:function(c,d,e){e=e?[].concat(e):[],d&&e.unshift(d);var f,g,h,i,j,k=this._model.data,l={id:!1,text:!1,icon:!0,parent:d,parents:e,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(h in this._model.default_state)this._model.default_state.hasOwnProperty(h)&&(l.state[h]=this._model.default_state[h]);if(i=a.vakata.attributes(c,!0),a.each(i,function(b,c){return c=a.trim(c),c.length?(l.li_attr[b]=c,void("id"===b&&(l.id=c.toString()))):!0}),i=c.children("a").first(),i.length&&(i=a.vakata.attributes(i,!0),a.each(i,function(b,c){c=a.trim(c),c.length&&(l.a_attr[b]=c)})),i=c.children("a").first().length?c.children("a").first().clone():c.clone(),i.children("ins, i, ul").remove(),i=i.html(),i=a("<div />").html(i),l.text=this.settings.core.force_text?i.text():i.html(),i=c.data(),l.data=i?a.extend(!0,{},i):null,l.state.opened=c.hasClass("jstree-open"),l.state.selected=c.children("a").hasClass("jstree-clicked"),l.state.disabled=c.children("a").hasClass("jstree-disabled"),l.data&&l.data.jstree)for(h in l.data.jstree)l.data.jstree.hasOwnProperty(h)&&(l.state[h]=l.data.jstree[h]);i=c.children("a").children(".jstree-themeicon"),i.length&&(l.icon=i.hasClass("jstree-themeicon-hidden")?!1:i.attr("rel")),l.state.icon!==b&&(l.icon=l.state.icon),(l.icon===b||null===l.icon||""===l.icon)&&(l.icon=!0),i=c.children("ul").children("li");do j="j"+this._id+"_"+ ++this._cnt;while(k[j]);return l.id=l.li_attr.id?l.li_attr.id.toString():j,i.length?(i.each(a.proxy(function(b,c){f=this._parse_model_from_html(a(c),l.id,e),g=this._model.data[f],l.children.push(f),g.children_d.length&&(l.children_d=l.children_d.concat(g.children_d))},this)),l.children_d=l.children_d.concat(l.children)):c.hasClass("jstree-closed")&&(l.state.loaded=!1),l.li_attr["class"]&&(l.li_attr["class"]=l.li_attr["class"].replace("jstree-closed","").replace("jstree-open","")),l.a_attr["class"]&&(l.a_attr["class"]=l.a_attr["class"].replace("jstree-clicked","").replace("jstree-disabled","")),k[l.id]=l,l.state.selected&&this._data.core.selected.push(l.id),l.id},_parse_model_from_flat_json:function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e,f,g,h,i=a.id.toString(),j=this._model.data,k=this._model.default_state,l={id:i,text:a.text||"",icon:a.icon!==b?a.icon:!0,parent:c,parents:d,children:a.children||[],children_d:a.children_d||[],data:a.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(e in k)k.hasOwnProperty(e)&&(l.state[e]=k[e]);if(a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(l.icon=a.data.jstree.icon),(l.icon===b||null===l.icon||""===l.icon)&&(l.icon=!0),a&&a.data&&(l.data=a.data,a.data.jstree))for(e in a.data.jstree)a.data.jstree.hasOwnProperty(e)&&(l.state[e]=a.data.jstree[e]);if(a&&"object"==typeof a.state)for(e in a.state)a.state.hasOwnProperty(e)&&(l.state[e]=a.state[e]);if(a&&"object"==typeof a.li_attr)for(e in a.li_attr)a.li_attr.hasOwnProperty(e)&&(l.li_attr[e]=a.li_attr[e]);if(l.li_attr.id||(l.li_attr.id=i),a&&"object"==typeof a.a_attr)for(e in a.a_attr)a.a_attr.hasOwnProperty(e)&&(l.a_attr[e]=a.a_attr[e]);for(a&&a.children&&a.children===!0&&(l.state.loaded=!1,l.children=[],l.children_d=[]),j[l.id]=l,e=0,f=l.children.length;f>e;e++)g=this._parse_model_from_flat_json(j[l.children[e]],l.id,d),h=j[g],l.children_d.push(g),h.children_d.length&&(l.children_d=l.children_d.concat(h.children_d));return delete a.data,delete a.children,j[l.id].original=a,l.state.selected&&this._data.core.selected.push(l.id),l.id},_parse_model_from_json:function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e,f,g,h,i,j=!1,k=this._model.data,l=this._model.default_state;do j="j"+this._id+"_"+ ++this._cnt;while(k[j]);i={id:!1,text:"string"==typeof a?a:"",icon:"object"==typeof a&&a.icon!==b?a.icon:!0,parent:c,parents:d,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(e in l)l.hasOwnProperty(e)&&(i.state[e]=l[e]);if(a&&a.id&&(i.id=a.id.toString()),a&&a.text&&(i.text=a.text),a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(i.icon=a.data.jstree.icon),(i.icon===b||null===i.icon||""===i.icon)&&(i.icon=!0),a&&a.data&&(i.data=a.data,a.data.jstree))for(e in a.data.jstree)a.data.jstree.hasOwnProperty(e)&&(i.state[e]=a.data.jstree[e]);if(a&&"object"==typeof a.state)for(e in a.state)a.state.hasOwnProperty(e)&&(i.state[e]=a.state[e]);if(a&&"object"==typeof a.li_attr)for(e in a.li_attr)a.li_attr.hasOwnProperty(e)&&(i.li_attr[e]=a.li_attr[e]);if(i.li_attr.id&&!i.id&&(i.id=i.li_attr.id.toString()),i.id||(i.id=j),i.li_attr.id||(i.li_attr.id=i.id),a&&"object"==typeof a.a_attr)for(e in a.a_attr)a.a_attr.hasOwnProperty(e)&&(i.a_attr[e]=a.a_attr[e]);if(a&&a.children&&a.children.length){for(e=0,f=a.children.length;f>e;e++)g=this._parse_model_from_json(a.children[e],i.id,d),h=k[g],i.children.push(g),h.children_d.length&&(i.children_d=i.children_d.concat(h.children_d));i.children_d=i.children_d.concat(i.children)}return a&&a.children&&a.children===!0&&(i.state.loaded=!1,i.children=[],i.children_d=[]),delete a.data,delete a.children,i.original=a,k[i.id]=i,i.state.selected&&this._data.core.selected.push(i.id),i.id},_redraw:function(){var b,c,d,e=this._model.force_full_redraw?this._model.data[a.jstree.root].children.concat([]):this._model.changed.concat([]),f=k.createElement("UL"),g=this._data.core.focused;for(c=0,d=e.length;d>c;c++)b=this.redraw_node(e[c],!0,this._model.force_full_redraw),b&&this._model.force_full_redraw&&f.appendChild(b);this._model.force_full_redraw&&(f.className=this.get_container_ul()[0].className,f.setAttribute("role","group"),this.element.empty().append(f)),null!==g&&(b=this.get_node(g,!0),b&&b.length&&b.children(".jstree-anchor")[0]!==k.activeElement?b.children(".jstree-anchor").focus():this._data.core.focused=null),this._model.force_full_redraw=!1,this._model.changed=[],this.trigger("redraw",{nodes:e})},redraw:function(a){a&&(this._model.force_full_redraw=!0),this._redraw()},draw_children:function(b){var c=this.get_node(b),d=!1,e=!1,f=!1,g=k;if(!c)return!1;if(c.id===a.jstree.root)return this.redraw(!0);if(b=this.get_node(b,!0),!b||!b.length)return!1;if(b.children(".jstree-children").remove(),b=b[0],c.children.length&&c.state.loaded){for(f=g.createElement("UL"),f.setAttribute("role","group"),f.className="jstree-children",d=0,e=c.children.length;e>d;d++)f.appendChild(this.redraw_node(c.children[d],!0,!0));b.appendChild(f)}},redraw_node:function(b,c,d,e){var f=this.get_node(b),g=!1,h=!1,i=!1,j=!1,m=!1,n=!1,o="",p=k,q=this._model.data,r=!1,s=null,t=0,u=0,v=!1,w=!1;if(!f)return!1;if(f.id===a.jstree.root)return this.redraw(!0);if(c=c||0===f.children.length,b=k.querySelector?this.element[0].querySelector("#"+(-1!=="0123456789".indexOf(f.id[0])?"\\3"+f.id[0]+" "+f.id.substr(1).replace(a.jstree.idregex,"\\$&"):f.id.replace(a.jstree.idregex,"\\$&"))):k.getElementById(f.id))b=a(b),d||(g=b.parent().parent()[0],g===this.element[0]&&(g=null),h=b.index()),c||!f.children.length||b.children(".jstree-children").length||(c=!0),c||(i=b.children(".jstree-children")[0]),r=b.children(".jstree-anchor")[0]===k.activeElement,b.remove();else if(c=!0,!d){if(g=f.parent!==a.jstree.root?a("#"+f.parent.replace(a.jstree.idregex,"\\$&"),this.element)[0]:null,!(null===g||g&&q[f.parent].state.opened))return!1;h=a.inArray(f.id,null===g?q[a.jstree.root].children:q[f.parent].children)}b=l.cloneNode(!0),o="jstree-node ";for(j in f.li_attr)if(f.li_attr.hasOwnProperty(j)){if("id"===j)continue;"class"!==j?b.setAttribute(j,f.li_attr[j]):o+=f.li_attr[j]}for(f.a_attr.id||(f.a_attr.id=f.id+"_anchor"),b.setAttribute("aria-selected",!!f.state.selected),b.setAttribute("aria-level",f.parents.length),b.setAttribute("aria-labelledby",f.a_attr.id),f.state.disabled&&b.setAttribute("aria-disabled",!0),j=0,m=f.children.length;m>j;j++)if(!q[f.children[j]].state.hidden){v=!0;break}if(null!==f.parent&&q[f.parent]&&!f.state.hidden&&(j=a.inArray(f.id,q[f.parent].children),w=f.id,-1!==j))for(j++,m=q[f.parent].children.length;m>j&&(q[q[f.parent].children[j]].state.hidden||(w=q[f.parent].children[j]),w===f.id);j++);f.state.hidden&&(o+=" jstree-hidden"),f.state.loaded&&!v?o+=" jstree-leaf":(o+=f.state.opened&&f.state.loaded?" jstree-open":" jstree-closed",b.setAttribute("aria-expanded",f.state.opened&&f.state.loaded)),w===f.id&&(o+=" jstree-last"),b.id=f.id,b.className=o,o=(f.state.selected?" jstree-clicked":"")+(f.state.disabled?" jstree-disabled":"");for(m in f.a_attr)if(f.a_attr.hasOwnProperty(m)){if("href"===m&&"#"===f.a_attr[m])continue;"class"!==m?b.childNodes[1].setAttribute(m,f.a_attr[m]):o+=" "+f.a_attr[m]}if(o.length&&(b.childNodes[1].className="jstree-anchor "+o),(f.icon&&f.icon!==!0||f.icon===!1)&&(f.icon===!1?b.childNodes[1].childNodes[0].className+=" jstree-themeicon-hidden":-1===f.icon.indexOf("/")&&-1===f.icon.indexOf(".")?b.childNodes[1].childNodes[0].className+=" "+f.icon+" jstree-themeicon-custom":(b.childNodes[1].childNodes[0].style.backgroundImage="url("+f.icon+")",b.childNodes[1].childNodes[0].style.backgroundPosition="center center",b.childNodes[1].childNodes[0].style.backgroundSize="auto",b.childNodes[1].childNodes[0].className+=" jstree-themeicon-custom")),this.settings.core.force_text?b.childNodes[1].appendChild(p.createTextNode(f.text)):b.childNodes[1].innerHTML+=f.text,c&&f.children.length&&(f.state.opened||e)&&f.state.loaded){for(n=p.createElement("UL"),n.setAttribute("role","group"),n.className="jstree-children",j=0,m=f.children.length;m>j;j++)n.appendChild(this.redraw_node(f.children[j],c,!0));b.appendChild(n)}if(i&&b.appendChild(i),!d){for(g||(g=this.element[0]),j=0,m=g.childNodes.length;m>j;j++)if(g.childNodes[j]&&g.childNodes[j].className&&-1!==g.childNodes[j].className.indexOf("jstree-children")){s=g.childNodes[j];break}s||(s=p.createElement("UL"),s.setAttribute("role","group"),s.className="jstree-children",g.appendChild(s)),g=s,h<g.childNodes.length?g.insertBefore(b,g.childNodes[h]):g.appendChild(b),r&&(t=this.element[0].scrollTop,u=this.element[0].scrollLeft,b.childNodes[1].focus(),this.element[0].scrollTop=t,this.element[0].scrollLeft=u)}return f.state.opened&&!f.state.loaded&&(f.state.opened=!1,setTimeout(a.proxy(function(){this.open_node(f.id,!1,0)},this),0)),b},open_node:function(c,d,e){var f,g,h,i;if(a.isArray(c)){for(c=c.slice(),f=0,g=c.length;g>f;f++)this.open_node(c[f],d,e);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?(e=e===b?this.settings.core.animation:e,this.is_closed(c)?this.is_loaded(c)?(h=this.get_node(c,!0),i=this,h.length&&(e&&h.children(".jstree-children").length&&h.children(".jstree-children").stop(!0,!0),c.children.length&&!this._firstChild(h.children(".jstree-children")[0])&&this.draw_children(c),e?(this.trigger("before_open",{node:c}),h.children(".jstree-children").css("display","none").end().removeClass("jstree-closed").addClass("jstree-open").attr("aria-expanded",!0).children(".jstree-children").stop(!0,!0).slideDown(e,function(){this.style.display="",i.trigger("after_open",{node:c})})):(this.trigger("before_open",{node:c}),h[0].className=h[0].className.replace("jstree-closed","jstree-open"),h[0].setAttribute("aria-expanded",!0))),c.state.opened=!0,d&&d.call(this,c,!0),h.length||this.trigger("before_open",{node:c}),this.trigger("open_node",{node:c}),e&&h.length||this.trigger("after_open",{node:c}),!0):this.is_loading(c)?setTimeout(a.proxy(function(){this.open_node(c,d,e)},this),500):void this.load_node(c,function(a,b){return b?this.open_node(a,d,e):d?d.call(this,a,!1):!1}):(d&&d.call(this,c,!1),!1)):!1},_open_to:function(b){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var c,d,e=b.parents;for(c=0,d=e.length;d>c;c+=1)c!==a.jstree.root&&this.open_node(e[c],!1,0);return a("#"+b.id.replace(a.jstree.idregex,"\\$&"),this.element)},close_node:function(c,d){var e,f,g,h;if(a.isArray(c)){for(c=c.slice(),e=0,f=c.length;f>e;e++)this.close_node(c[e],d);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?this.is_closed(c)?!1:(d=d===b?this.settings.core.animation:d,g=this,h=this.get_node(c,!0),h.length&&(d?h.children(".jstree-children").attr("style","display:block !important").end().removeClass("jstree-open").addClass("jstree-closed").attr("aria-expanded",!1).children(".jstree-children").stop(!0,!0).slideUp(d,function(){this.style.display="",h.children(".jstree-children").remove(),g.trigger("after_close",{node:c})}):(h[0].className=h[0].className.replace("jstree-open","jstree-closed"),h.attr("aria-expanded",!1).children(".jstree-children").remove())),c.state.opened=!1,this.trigger("close_node",{node:c}),void(d&&h.length||this.trigger("after_close",{node:c}))):!1},toggle_node:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.toggle_node(b[c]);return!0}return this.is_closed(b)?this.open_node(b):this.is_open(b)?this.close_node(b):void 0},open_all:function(b,c,d){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var e,f,g,h=b.id===a.jstree.root?this.get_container_ul():this.get_node(b,!0);if(!h.length){for(e=0,f=b.children_d.length;f>e;e++)this.is_closed(this._model.data[b.children_d[e]])&&(this._model.data[b.children_d[e]].state.opened=!0);return this.trigger("open_all",{node:b})}d=d||h,g=this,h=this.is_closed(b)?h.find(".jstree-closed").addBack():h.find(".jstree-closed"),h.each(function(){g.open_node(this,function(a,b){b&&this.is_parent(a)&&this.open_all(a,c,d)},c||0)}),0===d.find(".jstree-closed").length&&this.trigger("open_all",{node:this.get_node(d)})},close_all:function(b,c){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var d,e,f=b.id===a.jstree.root?this.get_container_ul():this.get_node(b,!0),g=this;for(f.length&&(f=this.is_open(b)?f.find(".jstree-open").addBack():f.find(".jstree-open"),a(f.get().reverse()).each(function(){g.close_node(this,c||0)})),d=0,e=b.children_d.length;e>d;d++)this._model.data[b.children_d[d]].state.opened=!1;this.trigger("close_all",{node:b})},is_disabled:function(a){return a=this.get_node(a),a&&a.state&&a.state.disabled},enable_node:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.enable_node(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.state.disabled=!1,this.get_node(b,!0).children(".jstree-anchor").removeClass("jstree-disabled").attr("aria-disabled",!1),void this.trigger("enable_node",{node:b})):!1},disable_node:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.disable_node(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.state.disabled=!0,this.get_node(b,!0).children(".jstree-anchor").addClass("jstree-disabled").attr("aria-disabled",!0),void this.trigger("disable_node",{node:b})):!1},hide_node:function(b,c){var d,e;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.hide_node(b[d],!0);return this.redraw(),!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?void(b.state.hidden||(b.state.hidden=!0,this._node_changed(b.parent),c||this.redraw(),this.trigger("hide_node",{node:b}))):!1},show_node:function(b,c){var d,e;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.show_node(b[d],!0);return this.redraw(),!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?void(b.state.hidden&&(b.state.hidden=!1,this._node_changed(b.parent),c||this.redraw(),this.trigger("show_node",{node:b}))):!1},hide_all:function(b){var c,d=this._model.data,e=[];for(c in d)d.hasOwnProperty(c)&&c!==a.jstree.root&&!d[c].state.hidden&&(d[c].state.hidden=!0,e.push(c));return this._model.force_full_redraw=!0,b||this.redraw(),this.trigger("hide_all",{nodes:e}),e},show_all:function(b){var c,d=this._model.data,e=[];for(c in d)d.hasOwnProperty(c)&&c!==a.jstree.root&&d[c].state.hidden&&(d[c].state.hidden=!1,e.push(c));return this._model.force_full_redraw=!0,b||this.redraw(),this.trigger("show_all",{nodes:e}),e},activate_node:function(a,c){if(this.is_disabled(a))return!1;if(c&&"object"==typeof c||(c={}),this._data.core.last_clicked=this._data.core.last_clicked&&this._data.core.last_clicked.id!==b?this.get_node(this._data.core.last_clicked.id):null,this._data.core.last_clicked&&!this._data.core.last_clicked.state.selected&&(this._data.core.last_clicked=null),!this._data.core.last_clicked&&this._data.core.selected.length&&(this._data.core.last_clicked=this.get_node(this._data.core.selected[this._data.core.selected.length-1])),this.settings.core.multiple&&(c.metaKey||c.ctrlKey||c.shiftKey)&&(!c.shiftKey||this._data.core.last_clicked&&this.get_parent(a)&&this.get_parent(a)===this._data.core.last_clicked.parent))if(c.shiftKey){var d,e,f=this.get_node(a).id,g=this._data.core.last_clicked.id,h=this.get_node(this._data.core.last_clicked.parent).children,i=!1;for(d=0,e=h.length;e>d;d+=1)h[d]===f&&(i=!i),h[d]===g&&(i=!i),this.is_disabled(h[d])||!i&&h[d]!==f&&h[d]!==g?this.deselect_node(h[d],!0,c):this.select_node(h[d],!0,!1,c);this.trigger("changed",{action:"select_node",node:this.get_node(a),selected:this._data.core.selected,event:c})}else this.is_selected(a)?this.deselect_node(a,!1,c):this.select_node(a,!1,!1,c);else!this.settings.core.multiple&&(c.metaKey||c.ctrlKey||c.shiftKey)&&this.is_selected(a)?this.deselect_node(a,!1,c):(this.deselect_all(!0),this.select_node(a,!1,!1,c),this._data.core.last_clicked=this.get_node(a));this.trigger("activate_node",{node:this.get_node(a),event:c})},hover_node:function(a){if(a=this.get_node(a,!0),!a||!a.length||a.children(".jstree-hovered").length)return!1;var b=this.element.find(".jstree-hovered"),c=this.element;b&&b.length&&this.dehover_node(b),a.children(".jstree-anchor").addClass("jstree-hovered"),this.trigger("hover_node",{node:this.get_node(a)}),setTimeout(function(){c.attr("aria-activedescendant",a[0].id)},0)},dehover_node:function(a){return a=this.get_node(a,!0),a&&a.length&&a.children(".jstree-hovered").length?(a.children(".jstree-anchor").removeClass("jstree-hovered"),void this.trigger("dehover_node",{node:this.get_node(a)})):!1},select_node:function(b,c,d,e){var f,g,h;if(a.isArray(b)){for(b=b.slice(),g=0,h=b.length;h>g;g++)this.select_node(b[g],c,d,e);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=this.get_node(b,!0),void(b.state.selected||(b.state.selected=!0,this._data.core.selected.push(b.id),d||(f=this._open_to(b)),f&&f.length&&f.attr("aria-selected",!0).children(".jstree-anchor").addClass("jstree-clicked"),this.trigger("select_node",{node:b,selected:this._data.core.selected,event:e}),c||this.trigger("changed",{action:"select_node",node:b,selected:this._data.core.selected,event:e})))):!1},deselect_node:function(b,c,d){var e,f,g;if(a.isArray(b)){for(b=b.slice(),e=0,f=b.length;f>e;e++)this.deselect_node(b[e],c,d);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(g=this.get_node(b,!0),void(b.state.selected&&(b.state.selected=!1,this._data.core.selected=a.vakata.array_remove_item(this._data.core.selected,b.id),g.length&&g.attr("aria-selected",!1).children(".jstree-anchor").removeClass("jstree-clicked"),this.trigger("deselect_node",{node:b,selected:this._data.core.selected,event:d}),c||this.trigger("changed",{action:"deselect_node",node:b,selected:this._data.core.selected,event:d})))):!1},select_all:function(b){var c,d,e=this._data.core.selected.concat([]);for(this._data.core.selected=this._model.data[a.jstree.root].children_d.concat(),c=0,d=this._data.core.selected.length;d>c;c++)this._model.data[this._data.core.selected[c]]&&(this._model.data[this._data.core.selected[c]].state.selected=!0);this.redraw(!0),this.trigger("select_all",{selected:this._data.core.selected}),b||this.trigger("changed",{action:"select_all",selected:this._data.core.selected,old_selection:e})},deselect_all:function(a){var b,c,d=this._data.core.selected.concat([]);for(b=0,
+c=this._data.core.selected.length;c>b;b++)this._model.data[this._data.core.selected[b]]&&(this._model.data[this._data.core.selected[b]].state.selected=!1);this._data.core.selected=[],this.element.find(".jstree-clicked").removeClass("jstree-clicked").parent().attr("aria-selected",!1),this.trigger("deselect_all",{selected:this._data.core.selected,node:d}),a||this.trigger("changed",{action:"deselect_all",selected:this._data.core.selected,old_selection:d})},is_selected:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.state.selected:!1},get_selected:function(b){return b?a.map(this._data.core.selected,a.proxy(function(a){return this.get_node(a)},this)):this._data.core.selected.slice()},get_top_selected:function(b){var c,d,e,f,g=this.get_selected(!0),h={};for(c=0,d=g.length;d>c;c++)h[g[c].id]=g[c];for(c=0,d=g.length;d>c;c++)for(e=0,f=g[c].children_d.length;f>e;e++)h[g[c].children_d[e]]&&delete h[g[c].children_d[e]];g=[];for(c in h)h.hasOwnProperty(c)&&g.push(c);return b?a.map(g,a.proxy(function(a){return this.get_node(a)},this)):g},get_bottom_selected:function(b){var c,d,e=this.get_selected(!0),f=[];for(c=0,d=e.length;d>c;c++)e[c].children.length||f.push(e[c].id);return b?a.map(f,a.proxy(function(a){return this.get_node(a)},this)):f},get_state:function(){var b,c={core:{open:[],scroll:{left:this.element.scrollLeft(),top:this.element.scrollTop()},selected:[]}};for(b in this._model.data)this._model.data.hasOwnProperty(b)&&b!==a.jstree.root&&(this._model.data[b].state.opened&&c.core.open.push(b),this._model.data[b].state.selected&&c.core.selected.push(b));return c},set_state:function(c,d){if(c){if(c.core){var e,f;if(c.core.open)return a.isArray(c.core.open)&&c.core.open.length?this._load_nodes(c.core.open,function(a){this.open_node(a,!1,0),delete c.core.open,this.set_state(c,d)},!0):(delete c.core.open,this.set_state(c,d)),!1;if(c.core.scroll)return c.core.scroll&&c.core.scroll.left!==b&&this.element.scrollLeft(c.core.scroll.left),c.core.scroll&&c.core.scroll.top!==b&&this.element.scrollTop(c.core.scroll.top),delete c.core.scroll,this.set_state(c,d),!1;if(c.core.selected)return e=this,this.deselect_all(),a.each(c.core.selected,function(a,b){e.select_node(b,!1,!0)}),delete c.core.selected,this.set_state(c,d),!1;for(f in c)c.hasOwnProperty(f)&&"core"!==f&&-1===a.inArray(f,this.settings.plugins)&&delete c[f];if(a.isEmptyObject(c.core))return delete c.core,this.set_state(c,d),!1}return a.isEmptyObject(c)?(c=null,d&&d.call(this),this.trigger("set_state"),!1):!0}return!1},refresh:function(b,c){this._data.core.state=c===!0?{}:this.get_state(),c&&a.isFunction(c)&&(this._data.core.state=c.call(this,this._data.core.state)),this._cnt=0,this._model.data={},this._model.data[a.jstree.root]={id:a.jstree.root,parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}},this._data.core.selected=[],this._data.core.last_clicked=null,this._data.core.focused=null;var d=this.get_container_ul()[0].className;b||(this.element.html("<ul class='"+d+"' role='group'><li class='jstree-initial-node jstree-loading jstree-leaf jstree-last' role='treeitem' id='j"+this._id+"_loading'><i class='jstree-icon jstree-ocl'></i><a class='jstree-anchor' href='#'><i class='jstree-icon jstree-themeicon-hidden'></i>"+this.get_string("Loading ...")+"</a></li></ul>"),this.element.attr("aria-activedescendant","j"+this._id+"_loading")),this.load_node(a.jstree.root,function(b,c){c&&(this.get_container_ul()[0].className=d,this._firstChild(this.get_container_ul()[0])&&this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.set_state(a.extend(!0,{},this._data.core.state),function(){this.trigger("refresh")})),this._data.core.state=null})},refresh_node:function(b){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var c=[],d=[];this._data.core.selected.concat([]);d.push(b.id),b.state.opened===!0&&c.push(b.id),this.get_node(b,!0).find(".jstree-open").each(function(){c.push(this.id)}),this._load_nodes(d,a.proxy(function(a){this.open_node(c,!1,0),this.select_node(this._data.core.selected),this.trigger("refresh_node",{node:b,nodes:a})},this))},set_id:function(b,c){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var d,e,f=this._model.data;for(c=c.toString(),f[b.parent].children[a.inArray(b.id,f[b.parent].children)]=c,d=0,e=b.parents.length;e>d;d++)f[b.parents[d]].children_d[a.inArray(b.id,f[b.parents[d]].children_d)]=c;for(d=0,e=b.children.length;e>d;d++)f[b.children[d]].parent=c;for(d=0,e=b.children_d.length;e>d;d++)f[b.children_d[d]].parents[a.inArray(b.id,f[b.children_d[d]].parents)]=c;return d=a.inArray(b.id,this._data.core.selected),-1!==d&&(this._data.core.selected[d]=c),d=this.get_node(b.id,!0),d&&(d.attr("id",c).children(".jstree-anchor").attr("id",c+"_anchor").end().attr("aria-labelledby",c+"_anchor"),this.element.attr("aria-activedescendant")===b.id&&this.element.attr("aria-activedescendant",c)),delete f[b.id],b.id=c,b.li_attr.id=c,f[c]=b,!0},get_text:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.text:!1},set_text:function(b,c){var d,e;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.set_text(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.text=c,this.get_node(b,!0).length&&this.redraw_node(b.id),this.trigger("set_text",{obj:b,text:c}),!0):!1},get_json:function(b,c,d){if(b=this.get_node(b||a.jstree.root),!b)return!1;c&&c.flat&&!d&&(d=[]);var e,f,g={id:b.id,text:b.text,icon:this.get_icon(b),li_attr:a.extend(!0,{},b.li_attr),a_attr:a.extend(!0,{},b.a_attr),state:{},data:c&&c.no_data?!1:a.extend(!0,{},b.data)};if(c&&c.flat?g.parent=b.parent:g.children=[],!c||!c.no_state)for(e in b.state)b.state.hasOwnProperty(e)&&(g.state[e]=b.state[e]);if(c&&c.no_id&&(delete g.id,g.li_attr&&g.li_attr.id&&delete g.li_attr.id,g.a_attr&&g.a_attr.id&&delete g.a_attr.id),c&&c.flat&&b.id!==a.jstree.root&&d.push(g),!c||!c.no_children)for(e=0,f=b.children.length;f>e;e++)c&&c.flat?this.get_json(b.children[e],c,d):g.children.push(this.get_json(b.children[e],c));return c&&c.flat?d:b.id===a.jstree.root?g.children:g},create_node:function(c,d,e,f,g){if(null===c&&(c=a.jstree.root),c=this.get_node(c),!c)return!1;if(e=e===b?"last":e,!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(c))return this.load_node(c,function(){this.create_node(c,d,e,f,!0)});d||(d={text:this.get_string("New node")}),"string"==typeof d&&(d={text:d}),d.text===b&&(d.text=this.get_string("New node"));var h,i,j,k;switch(c.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":h=this.get_node(c.parent),e=a.inArray(c.id,h.children),c=h;break;case"after":h=this.get_node(c.parent),e=a.inArray(c.id,h.children)+1,c=h;break;case"inside":case"first":e=0;break;case"last":e=c.children.length;break;default:e||(e=0)}if(e>c.children.length&&(e=c.children.length),d.id||(d.id=!0),!this.check("create_node",d,c,e))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(d.id===!0&&delete d.id,d=this._parse_model_from_json(d,c.id,c.parents.concat()),!d)return!1;for(h=this.get_node(d),i=[],i.push(d),i=i.concat(h.children_d),this.trigger("model",{nodes:i,parent:c.id}),c.children_d=c.children_d.concat(i),j=0,k=c.parents.length;k>j;j++)this._model.data[c.parents[j]].children_d=this._model.data[c.parents[j]].children_d.concat(i);for(d=h,h=[],j=0,k=c.children.length;k>j;j++)h[j>=e?j+1:j]=c.children[j];return h[e]=d.id,c.children=h,this.redraw_node(c,!0),f&&f.call(this,this.get_node(d)),this.trigger("create_node",{node:this.get_node(d),parent:c.id,position:e}),d.id},rename_node:function(b,c){var d,e,f;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.rename_node(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=b.text,this.check("rename_node",b,this.get_parent(b),c)?(this.set_text(b,c),this.trigger("rename_node",{node:b,text:c,old:f}),!0):(this.settings.core.error.call(this,this._data.core.last_error),!1)):!1},delete_node:function(b){var c,d,e,f,g,h,i,j,k,l,m,n;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.delete_node(b[c]);return!0}if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;if(e=this.get_node(b.parent),f=a.inArray(b.id,e.children),l=!1,!this.check("delete_node",b,e,f))return this.settings.core.error.call(this,this._data.core.last_error),!1;for(-1!==f&&(e.children=a.vakata.array_remove(e.children,f)),g=b.children_d.concat([]),g.push(b.id),j=0,k=g.length;k>j;j++){for(h=0,i=b.parents.length;i>h;h++)f=a.inArray(g[j],this._model.data[b.parents[h]].children_d),-1!==f&&(this._model.data[b.parents[h]].children_d=a.vakata.array_remove(this._model.data[b.parents[h]].children_d,f));this._model.data[g[j]].state.selected&&(l=!0,f=a.inArray(g[j],this._data.core.selected),-1!==f&&(this._data.core.selected=a.vakata.array_remove(this._data.core.selected,f)))}for(this.trigger("delete_node",{node:b,parent:e.id}),l&&this.trigger("changed",{action:"delete_node",node:b,selected:this._data.core.selected,parent:e.id}),j=0,k=g.length;k>j;j++)delete this._model.data[g[j]];return-1!==a.inArray(this._data.core.focused,g)&&(this._data.core.focused=null,m=this.element[0].scrollTop,n=this.element[0].scrollLeft,e.id===a.jstree.root?this.get_node(this._model.data[a.jstree.root].children[0],!0).children(".jstree-anchor").focus():this.get_node(e,!0).children(".jstree-anchor").focus(),this.element[0].scrollTop=m,this.element[0].scrollLeft=n),this.redraw_node(e,!0),!0},check:function(b,c,d,e,f){c=c&&c.id?c:this.get_node(c),d=d&&d.id?d:this.get_node(d);var g=b.match(/^move_node|copy_node|create_node$/i)?d:c,h=this.settings.core.check_callback;return"move_node"!==b&&"copy_node"!==b||f&&f.is_multi||c.id!==d.id&&a.inArray(c.id,d.children)!==e&&-1===a.inArray(d.id,c.children_d)?(g&&g.data&&(g=g.data),g&&g.functions&&(g.functions[b]===!1||g.functions[b]===!0)?(g.functions[b]===!1&&(this._data.core.last_error={error:"check",plugin:"core",id:"core_02",reason:"Node data prevents function: "+b,data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})}),g.functions[b]):h===!1||a.isFunction(h)&&h.call(this,b,c,d,e,f)===!1||h&&h[b]===!1?(this._data.core.last_error={error:"check",plugin:"core",id:"core_03",reason:"User config for core.check_callback prevents function: "+b,data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})},!1):!0):(this._data.core.last_error={error:"check",plugin:"core",id:"core_01",reason:"Moving parent inside child",data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})},!1)},last_error:function(){return this._data.core.last_error},move_node:function(c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s,t,u,v,w;if(d=this.get_node(d),e=e===b?0:e,!d)return!1;if(!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(d))return this.load_node(d,function(){this.move_node(c,d,e,f,!0,!1,i)});if(a.isArray(c)){if(1!==c.length){for(j=0,k=c.length;k>j;j++)(r=this.move_node(c[j],d,e,f,g,!1,i))&&(d=r,e="after");return this.redraw(),!0}c=c[0]}if(c=c&&c.id?c:this.get_node(c),!c||c.id===a.jstree.root)return!1;if(l=(c.parent||a.jstree.root).toString(),n=e.toString().match(/^(before|after)$/)&&d.id!==a.jstree.root?this.get_node(d.parent):d,o=i?i:this._model.data[c.id]?this:a.jstree.reference(c.id),p=!o||!o._id||this._id!==o._id,m=o&&o._id&&l&&o._model.data[l]&&o._model.data[l].children?a.inArray(c.id,o._model.data[l].children):-1,o&&o._id&&(c=o._model.data[c.id]),p)return(r=this.copy_node(c,d,e,f,g,!1,i))?(o&&o.delete_node(c),r):!1;switch(d.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":e=a.inArray(d.id,n.children);break;case"after":e=a.inArray(d.id,n.children)+1;break;case"inside":case"first":e=0;break;case"last":e=n.children.length;break;default:e||(e=0)}if(e>n.children.length&&(e=n.children.length),!this.check("move_node",c,n,e,{core:!0,origin:i,is_multi:o&&o._id&&o._id!==this._id,is_foreign:!o||!o._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(c.parent===n.id){for(q=n.children.concat(),r=a.inArray(c.id,q),-1!==r&&(q=a.vakata.array_remove(q,r),e>r&&e--),r=[],s=0,t=q.length;t>s;s++)r[s>=e?s+1:s]=q[s];r[e]=c.id,n.children=r,this._node_changed(n.id),this.redraw(n.id===a.jstree.root)}else{for(r=c.children_d.concat(),r.push(c.id),s=0,t=c.parents.length;t>s;s++){for(q=[],w=o._model.data[c.parents[s]].children_d,u=0,v=w.length;v>u;u++)-1===a.inArray(w[u],r)&&q.push(w[u]);o._model.data[c.parents[s]].children_d=q}for(o._model.data[l].children=a.vakata.array_remove_item(o._model.data[l].children,c.id),s=0,t=n.parents.length;t>s;s++)this._model.data[n.parents[s]].children_d=this._model.data[n.parents[s]].children_d.concat(r);for(q=[],s=0,t=n.children.length;t>s;s++)q[s>=e?s+1:s]=n.children[s];for(q[e]=c.id,n.children=q,n.children_d.push(c.id),n.children_d=n.children_d.concat(c.children_d),c.parent=n.id,r=n.parents.concat(),r.unshift(n.id),w=c.parents.length,c.parents=r,r=r.concat(),s=0,t=c.children_d.length;t>s;s++)this._model.data[c.children_d[s]].parents=this._model.data[c.children_d[s]].parents.slice(0,-1*w),Array.prototype.push.apply(this._model.data[c.children_d[s]].parents,r);(l===a.jstree.root||n.id===a.jstree.root)&&(this._model.force_full_redraw=!0),this._model.force_full_redraw||(this._node_changed(l),this._node_changed(n.id)),h||this.redraw()}return f&&f.call(this,c,n,e),this.trigger("move_node",{node:c,parent:n.id,position:e,old_parent:l,old_position:m,is_multi:o&&o._id&&o._id!==this._id,is_foreign:!o||!o._id,old_instance:o,new_instance:this}),c.id},copy_node:function(c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s,t;if(d=this.get_node(d),e=e===b?0:e,!d)return!1;if(!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(d))return this.load_node(d,function(){this.copy_node(c,d,e,f,!0,!1,i)});if(a.isArray(c)){if(1!==c.length){for(j=0,k=c.length;k>j;j++)(m=this.copy_node(c[j],d,e,f,g,!0,i))&&(d=m,e="after");return this.redraw(),!0}c=c[0]}if(c=c&&c.id?c:this.get_node(c),!c||c.id===a.jstree.root)return!1;switch(q=(c.parent||a.jstree.root).toString(),r=e.toString().match(/^(before|after)$/)&&d.id!==a.jstree.root?this.get_node(d.parent):d,s=i?i:this._model.data[c.id]?this:a.jstree.reference(c.id),t=!s||!s._id||this._id!==s._id,s&&s._id&&(c=s._model.data[c.id]),d.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":e=a.inArray(d.id,r.children);break;case"after":e=a.inArray(d.id,r.children)+1;break;case"inside":case"first":e=0;break;case"last":e=r.children.length;break;default:e||(e=0)}if(e>r.children.length&&(e=r.children.length),!this.check("copy_node",c,r,e,{core:!0,origin:i,is_multi:s&&s._id&&s._id!==this._id,is_foreign:!s||!s._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(p=s?s.get_json(c,{no_id:!0,no_data:!0,no_state:!0}):c,!p)return!1;if(p.id===!0&&delete p.id,p=this._parse_model_from_json(p,r.id,r.parents.concat()),!p)return!1;for(m=this.get_node(p),c&&c.state&&c.state.loaded===!1&&(m.state.loaded=!1),l=[],l.push(p),l=l.concat(m.children_d),this.trigger("model",{nodes:l,parent:r.id}),n=0,o=r.parents.length;o>n;n++)this._model.data[r.parents[n]].children_d=this._model.data[r.parents[n]].children_d.concat(l);for(l=[],n=0,o=r.children.length;o>n;n++)l[n>=e?n+1:n]=r.children[n];return l[e]=m.id,r.children=l,r.children_d.push(m.id),r.children_d=r.children_d.concat(m.children_d),r.id===a.jstree.root&&(this._model.force_full_redraw=!0),this._model.force_full_redraw||this._node_changed(r.id),h||this.redraw(r.id===a.jstree.root),f&&f.call(this,m,r,e),this.trigger("copy_node",{node:m,original:c,parent:r.id,position:e,old_parent:q,old_position:s&&s._id&&q&&s._model.data[q]&&s._model.data[q].children?a.inArray(c.id,s._model.data[q].children):-1,is_multi:s&&s._id&&s._id!==this._id,is_foreign:!s||!s._id,old_instance:s,new_instance:this}),m.id},cut:function(b){if(b||(b=this._data.core.selected.concat()),a.isArray(b)||(b=[b]),!b.length)return!1;var c,d,e,i=[];for(d=0,e=b.length;e>d;d++)c=this.get_node(b[d]),c&&c.id&&c.id!==a.jstree.root&&i.push(c);return i.length?(f=i,h=this,g="move_node",void this.trigger("cut",{node:b})):!1},copy:function(b){if(b||(b=this._data.core.selected.concat()),a.isArray(b)||(b=[b]),!b.length)return!1;var c,d,e,i=[];for(d=0,e=b.length;e>d;d++)c=this.get_node(b[d]),c&&c.id&&c.id!==a.jstree.root&&i.push(c);return i.length?(f=i,h=this,g="copy_node",void this.trigger("copy",{node:b})):!1},get_buffer:function(){return{mode:g,node:f,inst:h}},can_paste:function(){return g!==!1&&f!==!1},paste:function(a,b){return a=this.get_node(a),a&&g&&g.match(/^(copy_node|move_node)$/)&&f?(this[g](f,a,b,!1,!1,!1,h)&&this.trigger("paste",{parent:a.id,node:f,mode:g}),f=!1,g=!1,void(h=!1)):!1},clear_buffer:function(){f=!1,g=!1,h=!1,this.trigger("clear_buffer")},edit:function(b,c,d){var e,f,g,h,i,j,k,l,m,n=!1;return(b=this.get_node(b))?this.settings.core.check_callback===!1?(this._data.core.last_error={error:"check",plugin:"core",id:"core_07",reason:"Could not edit node because of check_callback"},this.settings.core.error.call(this,this._data.core.last_error),!1):(m=b,c="string"==typeof c?c:b.text,this.set_text(b,""),b=this._open_to(b),m.text=c,e=this._data.core.rtl,f=this.element.width(),this._data.core.focused=m.id,g=b.children(".jstree-anchor").focus(),h=a("<span>"),i=c,j=a("<div />",{css:{position:"absolute",top:"-200px",left:e?"0px":"-1000px",visibility:"hidden"}}).appendTo("body"),k=a("<input />",{value:i,"class":"jstree-rename-input",css:{padding:"0",border:"1px solid silver","box-sizing":"border-box",display:"inline-block",height:this._data.core.li_height+"px",lineHeight:this._data.core.li_height+"px",width:"150px"},blur:a.proxy(function(c){c.stopImmediatePropagation(),c.preventDefault();var e,f=h.children(".jstree-rename-input"),k=f.val(),l=this.settings.core.force_text;""===k&&(k=i),j.remove(),h.replaceWith(g),h.remove(),i=l?i:a("<div></div>").append(a.parseHTML(i)).html(),this.set_text(b,i),e=!!this.rename_node(b,l?a("<div></div>").text(k).text():a("<div></div>").append(a.parseHTML(k)).html()),e||this.set_text(b,i),this._data.core.focused=m.id,setTimeout(a.proxy(function(){var a=this.get_node(m.id,!0);a.length&&(this._data.core.focused=m.id,a.children(".jstree-anchor").focus())},this),0),d&&d.call(this,m,e,n)},this),keydown:function(a){var b=a.which;27===b&&(n=!0,this.value=i),(27===b||13===b||37===b||38===b||39===b||40===b||32===b)&&a.stopImmediatePropagation(),(27===b||13===b)&&(a.preventDefault(),this.blur())},click:function(a){a.stopImmediatePropagation()},mousedown:function(a){a.stopImmediatePropagation()},keyup:function(a){k.width(Math.min(j.text("pW"+this.value).width(),f))},keypress:function(a){return 13===a.which?!1:void 0}}),l={fontFamily:g.css("fontFamily")||"",fontSize:g.css("fontSize")||"",fontWeight:g.css("fontWeight")||"",fontStyle:g.css("fontStyle")||"",fontStretch:g.css("fontStretch")||"",fontVariant:g.css("fontVariant")||"",letterSpacing:g.css("letterSpacing")||"",wordSpacing:g.css("wordSpacing")||""},h.attr("class",g.attr("class")).append(g.contents().clone()).append(k),g.replaceWith(h),j.css(l),void k.css(l).width(Math.min(j.text("pW"+k[0].value).width(),f))[0].select()):!1},set_theme:function(b,c){if(!b)return!1;if(c===!0){var d=this.settings.core.themes.dir;d||(d=a.jstree.path+"/themes"),c=d+"/"+b+"/style.css"}c&&-1===a.inArray(c,i)&&(a("head").append('<link rel="stylesheet" href="'+c+'" type="text/css" />'),i.push(c)),this._data.core.themes.name&&this.element.removeClass("jstree-"+this._data.core.themes.name),this._data.core.themes.name=b,this.element.addClass("jstree-"+b),this.element[this.settings.core.themes.responsive?"addClass":"removeClass"]("jstree-"+b+"-responsive"),this.trigger("set_theme",{theme:b})},get_theme:function(){return this._data.core.themes.name},set_theme_variant:function(a){this._data.core.themes.variant&&this.element.removeClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant),this._data.core.themes.variant=a,a&&this.element.addClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant)},get_theme_variant:function(){return this._data.core.themes.variant},show_stripes:function(){this._data.core.themes.stripes=!0,this.get_container_ul().addClass("jstree-striped")},hide_stripes:function(){this._data.core.themes.stripes=!1,this.get_container_ul().removeClass("jstree-striped")},toggle_stripes:function(){this._data.core.themes.stripes?this.hide_stripes():this.show_stripes()},show_dots:function(){this._data.core.themes.dots=!0,this.get_container_ul().removeClass("jstree-no-dots")},hide_dots:function(){this._data.core.themes.dots=!1,this.get_container_ul().addClass("jstree-no-dots")},toggle_dots:function(){this._data.core.themes.dots?this.hide_dots():this.show_dots()},show_icons:function(){this._data.core.themes.icons=!0,this.get_container_ul().removeClass("jstree-no-icons")},hide_icons:function(){this._data.core.themes.icons=!1,this.get_container_ul().addClass("jstree-no-icons")},toggle_icons:function(){this._data.core.themes.icons?this.hide_icons():this.show_icons()},set_icon:function(c,d){var e,f,g,h;if(a.isArray(c)){for(c=c.slice(),e=0,f=c.length;f>e;e++)this.set_icon(c[e],d);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?(h=c.icon,c.icon=d===!0||null===d||d===b||""===d?!0:d,g=this.get_node(c,!0).children(".jstree-anchor").children(".jstree-themeicon"),d===!1?this.hide_icon(c):d===!0||null===d||d===b||""===d?(g.removeClass("jstree-themeicon-custom "+h).css("background","").removeAttr("rel"),h===!1&&this.show_icon(c)):-1===d.indexOf("/")&&-1===d.indexOf(".")?(g.removeClass(h).css("background",""),g.addClass(d+" jstree-themeicon-custom").attr("rel",d),h===!1&&this.show_icon(c)):(g.removeClass(h).css("background",""),g.addClass("jstree-themeicon-custom").css("background","url('"+d+"') center center no-repeat").attr("rel",d),h===!1&&this.show_icon(c)),!0):!1},get_icon:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.icon:!1},hide_icon:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.hide_icon(b[c]);return!0}return b=this.get_node(b),b&&b!==a.jstree.root?(b.icon=!1,this.get_node(b,!0).children(".jstree-anchor").children(".jstree-themeicon").addClass("jstree-themeicon-hidden"),!0):!1},show_icon:function(b){var c,d,e;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.show_icon(b[c]);return!0}return b=this.get_node(b),b&&b!==a.jstree.root?(e=this.get_node(b,!0),b.icon=e.length?e.children(".jstree-anchor").children(".jstree-themeicon").attr("rel"):!0,b.icon||(b.icon=!0),e.children(".jstree-anchor").children(".jstree-themeicon").removeClass("jstree-themeicon-hidden"),!0):!1}},a.vakata={},a.vakata.attributes=function(b,c){b=a(b)[0];var d=c?{}:[];return b&&b.attributes&&a.each(b.attributes,function(b,e){-1===a.inArray(e.name.toLowerCase(),["style","contenteditable","hasfocus","tabindex"])&&null!==e.value&&""!==a.trim(e.value)&&(c?d[e.name]=e.value:d.push(e.name))}),d},a.vakata.array_unique=function(a){var c,d,e=[],f={};for(c=0,d=a.length;d>c;c++)f[a[c]]===b&&(e.push(a[c]),f[a[c]]=!0);return e},a.vakata.array_remove=function(a,b,c){var d=a.slice((c||b)+1||a.length);return a.length=0>b?a.length+b:b,a.push.apply(a,d),a},a.vakata.array_remove_item=function(b,c){var d=a.inArray(c,b);return-1!==d?a.vakata.array_remove(b,d):b},a.jstree.plugins.changed=function(a,b){var c=[];this.trigger=function(a,d){var e,f;if(d||(d={}),"changed"===a.replace(".jstree","")){d.changed={selected:[],deselected:[]};var g={};for(e=0,f=c.length;f>e;e++)g[c[e]]=1;for(e=0,f=d.selected.length;f>e;e++)g[d.selected[e]]?g[d.selected[e]]=2:d.changed.selected.push(d.selected[e]);for(e=0,f=c.length;f>e;e++)1===g[c[e]]&&d.changed.deselected.push(c[e]);c=d.selected.slice()}b.trigger.call(this,a,d)},this.refresh=function(a,d){return c=[],b.refresh.apply(this,arguments)}};var m=k.createElement("I");m.className="jstree-icon jstree-checkbox",m.setAttribute("role","presentation"),a.jstree.defaults.checkbox={visible:!0,three_state:!0,whole_node:!0,keep_selected_style:!0,cascade:"",tie_selection:!0},a.jstree.plugins.checkbox=function(c,d){this.bind=function(){d.bind.call(this),this._data.checkbox.uto=!1,this._data.checkbox.selected=[],this.settings.checkbox.three_state&&(this.settings.checkbox.cascade="up+down+undetermined"),this.element.on("init.jstree",a.proxy(function(){this._data.checkbox.visible=this.settings.checkbox.visible,this.settings.checkbox.keep_selected_style||this.element.addClass("jstree-checkbox-no-clicked"),this.settings.checkbox.tie_selection&&this.element.addClass("jstree-checkbox-selection")},this)).on("loading.jstree",a.proxy(function(){this[this._data.checkbox.visible?"show_checkboxes":"hide_checkboxes"]()},this)),-1!==this.settings.checkbox.cascade.indexOf("undetermined")&&this.element.on("changed.jstree uncheck_node.jstree check_node.jstree uncheck_all.jstree check_all.jstree move_node.jstree copy_node.jstree redraw.jstree open_node.jstree",a.proxy(function(){this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(a.proxy(this._undetermined,this),50)},this)),this.settings.checkbox.tie_selection||this.element.on("model.jstree",a.proxy(function(a,b){var c,d,e=this._model.data,f=(e[b.parent],b.nodes);for(c=0,d=f.length;d>c;c++)e[f[c]].state.checked=e[f[c]].state.checked||e[f[c]].original&&e[f[c]].original.state&&e[f[c]].original.state.checked,e[f[c]].state.checked&&this._data.checkbox.selected.push(f[c])},this)),(-1!==this.settings.checkbox.cascade.indexOf("up")||-1!==this.settings.checkbox.cascade.indexOf("down"))&&this.element.on("model.jstree",a.proxy(function(b,c){var d,e,f,g,h,i,j=this._model.data,k=j[c.parent],l=c.nodes,m=[],n=this.settings.checkbox.cascade,o=this.settings.checkbox.tie_selection;if(-1!==n.indexOf("down"))if(k.state[o?"selected":"checked"]){for(e=0,f=l.length;f>e;e++)j[l[e]].state[o?"selected":"checked"]=!0;this._data[o?"core":"checkbox"].selected=this._data[o?"core":"checkbox"].selected.concat(l)}else for(e=0,f=l.length;f>e;e++)if(j[l[e]].state[o?"selected":"checked"]){for(g=0,h=j[l[e]].children_d.length;h>g;g++)j[j[l[e]].children_d[g]].state[o?"selected":"checked"]=!0;this._data[o?"core":"checkbox"].selected=this._data[o?"core":"checkbox"].selected.concat(j[l[e]].children_d)}if(-1!==n.indexOf("up")){for(e=0,f=k.children_d.length;f>e;e++)j[k.children_d[e]].children.length||m.push(j[k.children_d[e]].parent);for(m=a.vakata.array_unique(m),g=0,h=m.length;h>g;g++)for(k=j[m[g]];k&&k.id!==a.jstree.root;){for(d=0,e=0,f=k.children.length;f>e;e++)d+=j[k.children[e]].state[o?"selected":"checked"];if(d!==f)break;k.state[o?"selected":"checked"]=!0,this._data[o?"core":"checkbox"].selected.push(k.id),i=this.get_node(k,!0),i&&i.length&&i.attr("aria-selected",!0).children(".jstree-anchor").addClass(o?"jstree-clicked":"jstree-checked"),k=this.get_node(k.parent)}}this._data[o?"core":"checkbox"].selected=a.vakata.array_unique(this._data[o?"core":"checkbox"].selected)},this)).on(this.settings.checkbox.tie_selection?"select_node.jstree":"check_node.jstree",a.proxy(function(b,c){var d,e,f,g,h=c.node,i=this._model.data,j=this.get_node(h.parent),k=this.get_node(h,!0),l=this.settings.checkbox.cascade,m=this.settings.checkbox.tie_selection;if(-1!==l.indexOf("down"))for(this._data[m?"core":"checkbox"].selected=a.vakata.array_unique(this._data[m?"core":"checkbox"].selected.concat(h.children_d)),d=0,e=h.children_d.length;e>d;d++)g=i[h.children_d[d]],g.state[m?"selected":"checked"]=!0,g&&g.original&&g.original.state&&g.original.state.undetermined&&(g.original.state.undetermined=!1);if(-1!==l.indexOf("up"))for(;j&&j.id!==a.jstree.root;){for(f=0,d=0,e=j.children.length;e>d;d++)f+=i[j.children[d]].state[m?"selected":"checked"];if(f!==e)break;j.state[m?"selected":"checked"]=!0,this._data[m?"core":"checkbox"].selected.push(j.id),g=this.get_node(j,!0),g&&g.length&&g.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"),j=this.get_node(j.parent)}-1!==l.indexOf("down")&&k.length&&k.find(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked").parent().attr("aria-selected",!0)},this)).on(this.settings.checkbox.tie_selection?"deselect_all.jstree":"uncheck_all.jstree",a.proxy(function(b,c){var d,e,f,g=this.get_node(a.jstree.root),h=this._model.data;for(d=0,e=g.children_d.length;e>d;d++)f=h[g.children_d[d]],f&&f.original&&f.original.state&&f.original.state.undetermined&&(f.original.state.undetermined=!1)},this)).on(this.settings.checkbox.tie_selection?"deselect_node.jstree":"uncheck_node.jstree",a.proxy(function(b,c){var d,e,f,g=c.node,h=this.get_node(g,!0),i=this.settings.checkbox.cascade,j=this.settings.checkbox.tie_selection;if(g&&g.original&&g.original.state&&g.original.state.undetermined&&(g.original.state.undetermined=!1),-1!==i.indexOf("down"))for(d=0,e=g.children_d.length;e>d;d++)f=this._model.data[g.children_d[d]],f.state[j?"selected":"checked"]=!1,f&&f.original&&f.original.state&&f.original.state.undetermined&&(f.original.state.undetermined=!1);if(-1!==i.indexOf("up"))for(d=0,e=g.parents.length;e>d;d++)f=this._model.data[g.parents[d]],f.state[j?"selected":"checked"]=!1,f&&f.original&&f.original.state&&f.original.state.undetermined&&(f.original.state.undetermined=!1),f=this.get_node(g.parents[d],!0),f&&f.length&&f.attr("aria-selected",!1).children(".jstree-anchor").removeClass(j?"jstree-clicked":"jstree-checked");for(f=[],d=0,e=this._data[j?"core":"checkbox"].selected.length;e>d;d++)-1!==i.indexOf("down")&&-1!==a.inArray(this._data[j?"core":"checkbox"].selected[d],g.children_d)||-1!==i.indexOf("up")&&-1!==a.inArray(this._data[j?"core":"checkbox"].selected[d],g.parents)||f.push(this._data[j?"core":"checkbox"].selected[d]);this._data[j?"core":"checkbox"].selected=a.vakata.array_unique(f),-1!==i.indexOf("down")&&h.length&&h.find(".jstree-anchor").removeClass(j?"jstree-clicked":"jstree-checked").parent().attr("aria-selected",!1)},this)),-1!==this.settings.checkbox.cascade.indexOf("up")&&this.element.on("delete_node.jstree",a.proxy(function(b,c){for(var d,e,f,g,h=this.get_node(c.parent),i=this._model.data,j=this.settings.checkbox.tie_selection;h&&h.id!==a.jstree.root&&!h.state[j?"selected":"checked"];){for(f=0,d=0,e=h.children.length;e>d;d++)f+=i[h.children[d]].state[j?"selected":"checked"];if(!(e>0&&f===e))break;h.state[j?"selected":"checked"]=!0,this._data[j?"core":"checkbox"].selected.push(h.id),g=this.get_node(h,!0),g&&g.length&&g.attr("aria-selected",!0).children(".jstree-anchor").addClass(j?"jstree-clicked":"jstree-checked"),h=this.get_node(h.parent)}},this)).on("move_node.jstree",a.proxy(function(b,c){var d,e,f,g,h,i=c.is_multi,j=c.old_parent,k=this.get_node(c.parent),l=this._model.data,m=this.settings.checkbox.tie_selection;if(!i)for(d=this.get_node(j);d&&d.id!==a.jstree.root&&!d.state[m?"selected":"checked"];){for(e=0,f=0,g=d.children.length;g>f;f++)e+=l[d.children[f]].state[m?"selected":"checked"];if(!(g>0&&e===g))break;d.state[m?"selected":"checked"]=!0,this._data[m?"core":"checkbox"].selected.push(d.id),h=this.get_node(d,!0),h&&h.length&&h.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"),d=this.get_node(d.parent)}for(d=k;d&&d.id!==a.jstree.root;){for(e=0,f=0,g=d.children.length;g>f;f++)e+=l[d.children[f]].state[m?"selected":"checked"];if(e===g)d.state[m?"selected":"checked"]||(d.state[m?"selected":"checked"]=!0,this._data[m?"core":"checkbox"].selected.push(d.id),h=this.get_node(d,!0),h&&h.length&&h.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"));else{if(!d.state[m?"selected":"checked"])break;d.state[m?"selected":"checked"]=!1,this._data[m?"core":"checkbox"].selected=a.vakata.array_remove_item(this._data[m?"core":"checkbox"].selected,d.id),h=this.get_node(d,!0),h&&h.length&&h.attr("aria-selected",!1).children(".jstree-anchor").removeClass(m?"jstree-clicked":"jstree-checked")}d=this.get_node(d.parent)}},this))},this._undetermined=function(){if(null!==this.element){var c,d,e,f,g={},h=this._model.data,i=this.settings.checkbox.tie_selection,j=this._data[i?"core":"checkbox"].selected,k=[],l=this;
+for(c=0,d=j.length;d>c;c++)if(h[j[c]]&&h[j[c]].parents)for(e=0,f=h[j[c]].parents.length;f>e;e++)g[h[j[c]].parents[e]]===b&&h[j[c]].parents[e]!==a.jstree.root&&(g[h[j[c]].parents[e]]=!0,k.push(h[j[c]].parents[e]));for(this.element.find(".jstree-closed").not(":has(.jstree-children)").each(function(){var i,j=l.get_node(this);if(j.state.loaded){for(c=0,d=j.children_d.length;d>c;c++)if(i=h[j.children_d[c]],!i.state.loaded&&i.original&&i.original.state&&i.original.state.undetermined&&i.original.state.undetermined===!0)for(g[i.id]===b&&i.id!==a.jstree.root&&(g[i.id]=!0,k.push(i.id)),e=0,f=i.parents.length;f>e;e++)g[i.parents[e]]===b&&i.parents[e]!==a.jstree.root&&(g[i.parents[e]]=!0,k.push(i.parents[e]))}else if(j.original&&j.original.state&&j.original.state.undetermined&&j.original.state.undetermined===!0)for(g[j.id]===b&&j.id!==a.jstree.root&&(g[j.id]=!0,k.push(j.id)),e=0,f=j.parents.length;f>e;e++)g[j.parents[e]]===b&&j.parents[e]!==a.jstree.root&&(g[j.parents[e]]=!0,k.push(j.parents[e]))}),this.element.find(".jstree-undetermined").removeClass("jstree-undetermined"),c=0,d=k.length;d>c;c++)h[k[c]].state[i?"selected":"checked"]||(j=this.get_node(k[c],!0),j&&j.length&&j.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-undetermined"))}},this.redraw_node=function(b,c,e,f){if(b=d.redraw_node.apply(this,arguments)){var g,h,i=null,j=null;for(g=0,h=b.childNodes.length;h>g;g++)if(b.childNodes[g]&&b.childNodes[g].className&&-1!==b.childNodes[g].className.indexOf("jstree-anchor")){i=b.childNodes[g];break}i&&(!this.settings.checkbox.tie_selection&&this._model.data[b.id].state.checked&&(i.className+=" jstree-checked"),j=m.cloneNode(!1),this._model.data[b.id].state.checkbox_disabled&&(j.className+=" jstree-checkbox-disabled"),i.insertBefore(j,i.childNodes[0]))}return e||-1===this.settings.checkbox.cascade.indexOf("undetermined")||(this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(a.proxy(this._undetermined,this),50)),b},this.show_checkboxes=function(){this._data.core.themes.checkboxes=!0,this.get_container_ul().removeClass("jstree-no-checkboxes")},this.hide_checkboxes=function(){this._data.core.themes.checkboxes=!1,this.get_container_ul().addClass("jstree-no-checkboxes")},this.toggle_checkboxes=function(){this._data.core.themes.checkboxes?this.hide_checkboxes():this.show_checkboxes()},this.is_undetermined=function(b){b=this.get_node(b);var c,d,e=this.settings.checkbox.cascade,f=this.settings.checkbox.tie_selection,g=this._data[f?"core":"checkbox"].selected,h=this._model.data;if(!b||b.state[f?"selected":"checked"]===!0||-1===e.indexOf("undetermined")||-1===e.indexOf("down")&&-1===e.indexOf("up"))return!1;if(!b.state.loaded&&b.original.state.undetermined===!0)return!0;for(c=0,d=b.children_d.length;d>c;c++)if(-1!==a.inArray(b.children_d[c],g)||!h[b.children_d[c]].state.loaded&&h[b.children_d[c]].original.state.undetermined)return!0;return!1},this.disable_checkbox=function(b){var c,d,e;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.disable_checkbox(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(e=this.get_node(b,!0),void(b.state.checkbox_disabled||(b.state.checkbox_disabled=!0,e&&e.length&&e.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-checkbox-disabled"),this.trigger("disable_checkbox",{node:b})))):!1},this.enable_checkbox=function(b){var c,d,e;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.enable_checkbox(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(e=this.get_node(b,!0),void(b.state.checkbox_disabled&&(b.state.checkbox_disabled=!1,e&&e.length&&e.children(".jstree-anchor").children(".jstree-checkbox").removeClass("jstree-checkbox-disabled"),this.trigger("enable_checkbox",{node:b})))):!1},this.activate_node=function(b,c){return a(c.target).hasClass("jstree-checkbox-disabled")?!1:(this.settings.checkbox.tie_selection&&(this.settings.checkbox.whole_node||a(c.target).hasClass("jstree-checkbox"))&&(c.ctrlKey=!0),this.settings.checkbox.tie_selection||!this.settings.checkbox.whole_node&&!a(c.target).hasClass("jstree-checkbox")?d.activate_node.call(this,b,c):this.is_disabled(b)?!1:(this.is_checked(b)?this.uncheck_node(b,c):this.check_node(b,c),void this.trigger("activate_node",{node:this.get_node(b)})))},this.check_node=function(b,c){if(this.settings.checkbox.tie_selection)return this.select_node(b,!1,!0,c);var d,e,f;if(a.isArray(b)){for(b=b.slice(),e=0,f=b.length;f>e;e++)this.check_node(b[e],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(d=this.get_node(b,!0),void(b.state.checked||(b.state.checked=!0,this._data.checkbox.selected.push(b.id),d&&d.length&&d.children(".jstree-anchor").addClass("jstree-checked"),this.trigger("check_node",{node:b,selected:this._data.checkbox.selected,event:c})))):!1},this.uncheck_node=function(b,c){if(this.settings.checkbox.tie_selection)return this.deselect_node(b,!1,c);var d,e,f;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.uncheck_node(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=this.get_node(b,!0),void(b.state.checked&&(b.state.checked=!1,this._data.checkbox.selected=a.vakata.array_remove_item(this._data.checkbox.selected,b.id),f.length&&f.children(".jstree-anchor").removeClass("jstree-checked"),this.trigger("uncheck_node",{node:b,selected:this._data.checkbox.selected,event:c})))):!1},this.check_all=function(){if(this.settings.checkbox.tie_selection)return this.select_all();var b,c;this._data.checkbox.selected.concat([]);for(this._data.checkbox.selected=this._model.data[a.jstree.root].children_d.concat(),b=0,c=this._data.checkbox.selected.length;c>b;b++)this._model.data[this._data.checkbox.selected[b]]&&(this._model.data[this._data.checkbox.selected[b]].state.checked=!0);this.redraw(!0),this.trigger("check_all",{selected:this._data.checkbox.selected})},this.uncheck_all=function(){if(this.settings.checkbox.tie_selection)return this.deselect_all();var a,b,c=this._data.checkbox.selected.concat([]);for(a=0,b=this._data.checkbox.selected.length;b>a;a++)this._model.data[this._data.checkbox.selected[a]]&&(this._model.data[this._data.checkbox.selected[a]].state.checked=!1);this._data.checkbox.selected=[],this.element.find(".jstree-checked").removeClass("jstree-checked"),this.trigger("uncheck_all",{selected:this._data.checkbox.selected,node:c})},this.is_checked=function(b){return this.settings.checkbox.tie_selection?this.is_selected(b):(b=this.get_node(b),b&&b.id!==a.jstree.root?b.state.checked:!1)},this.get_checked=function(b){return this.settings.checkbox.tie_selection?this.get_selected(b):b?a.map(this._data.checkbox.selected,a.proxy(function(a){return this.get_node(a)},this)):this._data.checkbox.selected},this.get_top_checked=function(b){if(this.settings.checkbox.tie_selection)return this.get_top_selected(b);var c,d,e,f,g=this.get_checked(!0),h={};for(c=0,d=g.length;d>c;c++)h[g[c].id]=g[c];for(c=0,d=g.length;d>c;c++)for(e=0,f=g[c].children_d.length;f>e;e++)h[g[c].children_d[e]]&&delete h[g[c].children_d[e]];g=[];for(c in h)h.hasOwnProperty(c)&&g.push(c);return b?a.map(g,a.proxy(function(a){return this.get_node(a)},this)):g},this.get_bottom_checked=function(b){if(this.settings.checkbox.tie_selection)return this.get_bottom_selected(b);var c,d,e=this.get_checked(!0),f=[];for(c=0,d=e.length;d>c;c++)e[c].children.length||f.push(e[c].id);return b?a.map(f,a.proxy(function(a){return this.get_node(a)},this)):f},this.load_node=function(b,c){var e,f,g,h;if(!a.isArray(b)&&!this.settings.checkbox.tie_selection&&(h=this.get_node(b),h&&h.state.loaded))for(e=0,f=h.children_d.length;f>e;e++)this._model.data[h.children_d[e]].state.checked&&(g=!0,this._data.checkbox.selected=a.vakata.array_remove_item(this._data.checkbox.selected,h.children_d[e]));return d.load_node.apply(this,arguments)},this.get_state=function(){var a=d.get_state.apply(this,arguments);return this.settings.checkbox.tie_selection?a:(a.checkbox=this._data.checkbox.selected.slice(),a)},this.set_state=function(b,c){var e=d.set_state.apply(this,arguments);if(e&&b.checkbox){if(!this.settings.checkbox.tie_selection){this.uncheck_all();var f=this;a.each(b.checkbox,function(a,b){f.check_node(b)})}return delete b.checkbox,this.set_state(b,c),!1}return e},this.refresh=function(a,b){return this.settings.checkbox.tie_selection||(this._data.checkbox.selected=[]),d.refresh.apply(this,arguments)}},a.jstree.defaults.conditionalselect=function(){return!0},a.jstree.plugins.conditionalselect=function(a,b){this.activate_node=function(a,c){this.settings.conditionalselect.call(this,this.get_node(a),c)&&b.activate_node.call(this,a,c)}},a.jstree.defaults.contextmenu={select_node:!0,show_at_node:!0,items:function(b,c){return{create:{separator_before:!1,separator_after:!0,_disabled:!1,label:"Create",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.create_node(d,{},"last",function(a){setTimeout(function(){c.edit(a)},0)})}},rename:{separator_before:!1,separator_after:!1,_disabled:!1,label:"Rename",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.edit(d)}},remove:{separator_before:!1,icon:!1,separator_after:!1,_disabled:!1,label:"Delete",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.delete_node(c.get_selected()):c.delete_node(d)}},ccp:{separator_before:!0,icon:!1,separator_after:!1,label:"Edit",action:!1,submenu:{cut:{separator_before:!1,separator_after:!1,label:"Cut",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.cut(c.get_top_selected()):c.cut(d)}},copy:{separator_before:!1,icon:!1,separator_after:!1,label:"Copy",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.copy(c.get_top_selected()):c.copy(d)}},paste:{separator_before:!1,icon:!1,_disabled:function(b){return!a.jstree.reference(b.reference).can_paste()},separator_after:!1,label:"Paste",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.paste(d)}}}}}}},a.jstree.plugins.contextmenu=function(c,d){this.bind=function(){d.bind.call(this);var b,c,e=0,f=null;this.element.on("contextmenu.jstree",".jstree-anchor",a.proxy(function(a,b){a.preventDefault(),e=a.ctrlKey?+new Date:0,(b||f)&&(e=+new Date+1e4),f&&clearTimeout(f),this.is_loading(a.currentTarget)||this.show_contextmenu(a.currentTarget,a.pageX,a.pageY,a)},this)).on("click.jstree",".jstree-anchor",a.proxy(function(b){this._data.contextmenu.visible&&(!e||+new Date-e>250)&&a.vakata.context.hide(),e=0},this)).on("touchstart.jstree",".jstree-anchor",function(d){d.originalEvent&&d.originalEvent.changedTouches&&d.originalEvent.changedTouches[0]&&(b=d.pageX,c=d.pageY,f=setTimeout(function(){a(d.currentTarget).trigger("contextmenu",!0)},750))}).on("touchmove.vakata.jstree",function(a){f&&a.originalEvent&&a.originalEvent.changedTouches&&a.originalEvent.changedTouches[0]&&(Math.abs(b-a.pageX)>50||Math.abs(c-a.pageY)>50)&&clearTimeout(f)}).on("touchend.vakata.jstree",function(a){f&&clearTimeout(f)}),a(k).on("context_hide.vakata.jstree",a.proxy(function(){this._data.contextmenu.visible=!1},this))},this.teardown=function(){this._data.contextmenu.visible&&a.vakata.context.hide(),d.teardown.call(this)},this.show_contextmenu=function(c,d,e,f){if(c=this.get_node(c),!c||c.id===a.jstree.root)return!1;var g=this.settings.contextmenu,h=this.get_node(c,!0),i=h.children(".jstree-anchor"),j=!1,k=!1;(g.show_at_node||d===b||e===b)&&(j=i.offset(),d=j.left,e=j.top+this._data.core.li_height),this.settings.contextmenu.select_node&&!this.is_selected(c)&&this.activate_node(c,f),k=g.items,a.isFunction(k)&&(k=k.call(this,c,a.proxy(function(a){this._show_contextmenu(c,d,e,a)},this))),a.isPlainObject(k)&&this._show_contextmenu(c,d,e,k)},this._show_contextmenu=function(b,c,d,e){var f=this.get_node(b,!0),g=f.children(".jstree-anchor");a(k).one("context_show.vakata.jstree",a.proxy(function(b,c){var d="jstree-contextmenu jstree-"+this.get_theme()+"-contextmenu";a(c.element).addClass(d)},this)),this._data.contextmenu.visible=!0,a.vakata.context.show(g,{x:c,y:d},e),this.trigger("show_contextmenu",{node:b,x:c,y:d})}},function(a){var b=!1,c={element:!1,reference:!1,position_x:0,position_y:0,items:[],html:"",is_visible:!1};a.vakata.context={settings:{hide_onmouseleave:0,icons:!0},_trigger:function(b){a(k).triggerHandler("context_"+b+".vakata",{reference:c.reference,element:c.element,position:{x:c.position_x,y:c.position_y}})},_execute:function(b){return b=c.items[b],b&&(!b._disabled||a.isFunction(b._disabled)&&!b._disabled({item:b,reference:c.reference,element:c.element}))&&b.action?b.action.call(null,{item:b,reference:c.reference,element:c.element,position:{x:c.position_x,y:c.position_y}}):!1},_parse:function(b,d){if(!b)return!1;d||(c.html="",c.items=[]);var e,f="",g=!1;return d&&(f+="<ul>"),a.each(b,function(b,d){return d?(c.items.push(d),!g&&d.separator_before&&(f+="<li class='vakata-context-separator'><a href='#' "+(a.vakata.context.settings.icons?"":'style="margin-left:0px;"')+">&#160;</a></li>"),g=!1,f+="<li class='"+(d._class||"")+(d._disabled===!0||a.isFunction(d._disabled)&&d._disabled({item:d,reference:c.reference,element:c.element})?" vakata-contextmenu-disabled ":"")+"' "+(d.shortcut?" data-shortcut='"+d.shortcut+"' ":"")+">",f+="<a href='#' rel='"+(c.items.length-1)+"'>",a.vakata.context.settings.icons&&(f+="<i ",d.icon&&(f+=-1!==d.icon.indexOf("/")||-1!==d.icon.indexOf(".")?" style='background:url(\""+d.icon+"\") center center no-repeat' ":" class='"+d.icon+"' "),f+="></i><span class='vakata-contextmenu-sep'>&#160;</span>"),f+=(a.isFunction(d.label)?d.label({item:b,reference:c.reference,element:c.element}):d.label)+(d.shortcut?' <span class="vakata-contextmenu-shortcut vakata-contextmenu-shortcut-'+d.shortcut+'">'+(d.shortcut_label||"")+"</span>":"")+"</a>",d.submenu&&(e=a.vakata.context._parse(d.submenu,!0),e&&(f+=e)),f+="</li>",void(d.separator_after&&(f+="<li class='vakata-context-separator'><a href='#' "+(a.vakata.context.settings.icons?"":'style="margin-left:0px;"')+">&#160;</a></li>",g=!0))):!0}),f=f.replace(/<li class\='vakata-context-separator'\><\/li\>$/,""),d&&(f+="</ul>"),d||(c.html=f,a.vakata.context._trigger("parse")),f.length>10?f:!1},_show_submenu:function(c){if(c=a(c),c.length&&c.children("ul").length){var d=c.children("ul"),e=c.offset().left+c.outerWidth(),f=c.offset().top,g=d.width(),h=d.height(),i=a(window).width()+a(window).scrollLeft(),j=a(window).height()+a(window).scrollTop();b?c[e-(g+10+c.outerWidth())<0?"addClass":"removeClass"]("vakata-context-left"):c[e+g+10>i?"addClass":"removeClass"]("vakata-context-right"),f+h+10>j&&d.css("bottom","-1px"),d.show()}},show:function(d,e,f){var g,h,i,j,k,l,m,n,o=!0;switch(c.element&&c.element.length&&c.element.width(""),o){case!e&&!d:return!1;case!!e&&!!d:c.reference=d,c.position_x=e.x,c.position_y=e.y;break;case!e&&!!d:c.reference=d,g=d.offset(),c.position_x=g.left+d.outerHeight(),c.position_y=g.top;break;case!!e&&!d:c.position_x=e.x,c.position_y=e.y}d&&!f&&a(d).data("vakata_contextmenu")&&(f=a(d).data("vakata_contextmenu")),a.vakata.context._parse(f)&&c.element.html(c.html),c.items.length&&(c.element.appendTo("body"),h=c.element,i=c.position_x,j=c.position_y,k=h.width(),l=h.height(),m=a(window).width()+a(window).scrollLeft(),n=a(window).height()+a(window).scrollTop(),b&&(i-=h.outerWidth()-a(d).outerWidth(),i<a(window).scrollLeft()+20&&(i=a(window).scrollLeft()+20)),i+k+20>m&&(i=m-(k+20)),j+l+20>n&&(j=n-(l+20)),c.element.css({left:i,top:j}).show().find("a").first().focus().parent().addClass("vakata-context-hover"),c.is_visible=!0,a.vakata.context._trigger("show"))},hide:function(){c.is_visible&&(c.element.hide().find("ul").hide().end().find(":focus").blur().end().detach(),c.is_visible=!1,a.vakata.context._trigger("hide"))}},a(function(){b="rtl"===a("body").css("direction");var d=!1;c.element=a("<ul class='vakata-context'></ul>"),c.element.on("mouseenter","li",function(b){b.stopImmediatePropagation(),a.contains(this,b.relatedTarget)||(d&&clearTimeout(d),c.element.find(".vakata-context-hover").removeClass("vakata-context-hover").end(),a(this).siblings().find("ul").hide().end().end().parentsUntil(".vakata-context","li").addBack().addClass("vakata-context-hover"),a.vakata.context._show_submenu(this))}).on("mouseleave","li",function(b){a.contains(this,b.relatedTarget)||a(this).find(".vakata-context-hover").addBack().removeClass("vakata-context-hover")}).on("mouseleave",function(b){a(this).find(".vakata-context-hover").removeClass("vakata-context-hover"),a.vakata.context.settings.hide_onmouseleave&&(d=setTimeout(function(b){return function(){a.vakata.context.hide()}}(this),a.vakata.context.settings.hide_onmouseleave))}).on("click","a",function(b){b.preventDefault(),a(this).blur().parent().hasClass("vakata-context-disabled")||a.vakata.context._execute(a(this).attr("rel"))===!1||a.vakata.context.hide()}).on("keydown","a",function(b){var d=null;switch(b.which){case 13:case 32:b.type="mouseup",b.preventDefault(),a(b.currentTarget).trigger(b);break;case 37:c.is_visible&&(c.element.find(".vakata-context-hover").last().closest("li").first().find("ul").hide().find(".vakata-context-hover").removeClass("vakata-context-hover").end().end().children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 38:c.is_visible&&(d=c.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").prevAll("li:not(.vakata-context-separator)").first(),d.length||(d=c.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").last()),d.addClass("vakata-context-hover").children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 39:c.is_visible&&(c.element.find(".vakata-context-hover").last().children("ul").show().children("li:not(.vakata-context-separator)").removeClass("vakata-context-hover").first().addClass("vakata-context-hover").children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 40:c.is_visible&&(d=c.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").nextAll("li:not(.vakata-context-separator)").first(),d.length||(d=c.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").first()),d.addClass("vakata-context-hover").children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 27:a.vakata.context.hide(),b.preventDefault()}}).on("keydown",function(a){a.preventDefault();var b=c.element.find(".vakata-contextmenu-shortcut-"+a.which).parent();b.parent().not(".vakata-context-disabled")&&b.click()}),a(k).on("mousedown.vakata.jstree",function(b){c.is_visible&&!a.contains(c.element[0],b.target)&&a.vakata.context.hide()}).on("context_show.vakata.jstree",function(a,d){c.element.find("li:has(ul)").children("a").addClass("vakata-context-parent"),b&&c.element.addClass("vakata-context-rtl").css("direction","rtl"),c.element.find("ul").hide().end()})})}(a),a.jstree.defaults.dnd={copy:!0,open_timeout:500,is_draggable:!0,check_while_dragging:!0,always_copy:!1,inside_pos:0,drag_selection:!0,touch:!0,large_drop_target:!1,large_drag_target:!1},a.jstree.plugins.dnd=function(b,c){this.bind=function(){c.bind.call(this),this.element.on("mousedown.jstree touchstart.jstree",this.settings.dnd.large_drag_target?".jstree-node":".jstree-anchor",a.proxy(function(b){if(this.settings.dnd.large_drag_target&&a(b.target).closest(".jstree-node")[0]!==b.currentTarget)return!0;if("touchstart"===b.type&&(!this.settings.dnd.touch||"selected"===this.settings.dnd.touch&&!a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").hasClass("jstree-clicked")))return!0;var c=this.get_node(b.target),d=this.is_selected(c)&&this.settings.dnd.drag_selection?this.get_top_selected().length:1,e=d>1?d+" "+this.get_string("nodes"):this.get_text(b.currentTarget);return this.settings.core.force_text&&(e=a.vakata.html.escape(e)),c&&c.id&&c.id!==a.jstree.root&&(1===b.which||"touchstart"===b.type)&&(this.settings.dnd.is_draggable===!0||a.isFunction(this.settings.dnd.is_draggable)&&this.settings.dnd.is_draggable.call(this,d>1?this.get_top_selected(!0):[c],b))?(this.element.trigger("mousedown.jstree"),a.vakata.dnd.start(b,{jstree:!0,origin:this,obj:this.get_node(c,!0),nodes:d>1?this.get_top_selected():[c.id]},'<div id="jstree-dnd" class="jstree-'+this.get_theme()+" jstree-"+this.get_theme()+"-"+this.get_theme_variant()+" "+(this.settings.core.themes.responsive?" jstree-dnd-responsive":"")+'"><i class="jstree-icon jstree-er"></i>'+e+'<ins class="jstree-copy" style="display:none;">+</ins></div>')):void 0},this))}},a(function(){var b=!1,c=!1,d=!1,e=!1,f=a('<div id="jstree-marker">&#160;</div>').hide();a(k).on("dnd_start.vakata.jstree",function(a,c){b=!1,d=!1,c&&c.data&&c.data.jstree&&f.appendTo("body")}).on("dnd_move.vakata.jstree",function(g,h){if(e&&clearTimeout(e),h&&h.data&&h.data.jstree&&(!h.event.target.id||"jstree-marker"!==h.event.target.id)){d=h.event;var i,j,k,l,m,n,o,p,q,r,s,t,u,v,w=a.jstree.reference(h.event.target),x=!1,y=!1,z=!1;if(w&&w._data&&w._data.dnd)if(f.attr("class","jstree-"+w.get_theme()+(w.settings.core.themes.responsive?" jstree-dnd-responsive":"")),h.helper.children().attr("class","jstree-"+w.get_theme()+" jstree-"+w.get_theme()+"-"+w.get_theme_variant()+" "+(w.settings.core.themes.responsive?" jstree-dnd-responsive":"")).find(".jstree-copy").first()[h.data.origin&&(h.data.origin.settings.dnd.always_copy||h.data.origin.settings.dnd.copy&&(h.event.metaKey||h.event.ctrlKey))?"show":"hide"](),h.event.target!==w.element[0]&&h.event.target!==w.get_container_ul()[0]||0!==w.get_container_ul().children().length){if(x=w.settings.dnd.large_drop_target?a(h.event.target).closest(".jstree-node").children(".jstree-anchor"):a(h.event.target).closest(".jstree-anchor"),x&&x.length&&x.parent().is(".jstree-closed, .jstree-open, .jstree-leaf")&&(y=x.offset(),z=h.event.pageY-y.top,k=x.outerHeight(),n=k/3>z?["b","i","a"]:z>k-k/3?["a","i","b"]:z>k/2?["i","a","b"]:["i","b","a"],a.each(n,function(d,g){switch(g){case"b":i=y.left-6,j=y.top,l=w.get_parent(x),m=x.parent().index();break;case"i":u=w.settings.dnd.inside_pos,v=w.get_node(x.parent()),i=y.left-2,j=y.top+k/2+1,l=v.id,m="first"===u?0:"last"===u?v.children.length:Math.min(u,v.children.length);break;case"a":i=y.left-6,j=y.top+k,l=w.get_parent(x),m=x.parent().index()+1}for(o=!0,p=0,q=h.data.nodes.length;q>p;p++)if(r=h.data.origin&&(h.data.origin.settings.dnd.always_copy||h.data.origin.settings.dnd.copy&&(h.event.metaKey||h.event.ctrlKey))?"copy_node":"move_node",s=m,"move_node"===r&&"a"===g&&h.data.origin&&h.data.origin===w&&l===w.get_parent(h.data.nodes[p])&&(t=w.get_node(l),s>a.inArray(h.data.nodes[p],t.children)&&(s-=1)),o=o&&(w&&w.settings&&w.settings.dnd&&w.settings.dnd.check_while_dragging===!1||w.check(r,h.data.origin&&h.data.origin!==w?h.data.origin.get_node(h.data.nodes[p]):h.data.nodes[p],l,s,{dnd:!0,ref:w.get_node(x.parent()),pos:g,origin:h.data.origin,is_multi:h.data.origin&&h.data.origin!==w,is_foreign:!h.data.origin})),!o){w&&w.last_error&&(c=w.last_error());break}return"i"===g&&x.parent().is(".jstree-closed")&&w.settings.dnd.open_timeout&&(e=setTimeout(function(a,b){return function(){a.open_node(b)}}(w,x),w.settings.dnd.open_timeout)),o?(b={ins:w,par:l,pos:"i"!==g||"last"!==u||0!==m||w.is_loaded(v)?m:"last"},f.css({left:i+"px",top:j+"px"}).show(),h.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok"),c={},n=!0,!1):void 0}),n===!0))return}else{for(o=!0,p=0,q=h.data.nodes.length;q>p&&(o=o&&w.check(h.data.origin&&(h.data.origin.settings.dnd.always_copy||h.data.origin.settings.dnd.copy&&(h.event.metaKey||h.event.ctrlKey))?"copy_node":"move_node",h.data.origin&&h.data.origin!==w?h.data.origin.get_node(h.data.nodes[p]):h.data.nodes[p],a.jstree.root,"last",{dnd:!0,ref:w.get_node(a.jstree.root),pos:"i",origin:h.data.origin,is_multi:h.data.origin&&h.data.origin!==w,is_foreign:!h.data.origin}),o);p++);if(o)return b={ins:w,par:a.jstree.root,pos:"last"},f.hide(),void h.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok")}b=!1,h.helper.find(".jstree-icon").removeClass("jstree-ok").addClass("jstree-er"),f.hide()}}).on("dnd_scroll.vakata.jstree",function(a,c){c&&c.data&&c.data.jstree&&(f.hide(),b=!1,d=!1,c.helper.find(".jstree-icon").first().removeClass("jstree-ok").addClass("jstree-er"))}).on("dnd_stop.vakata.jstree",function(g,h){if(e&&clearTimeout(e),h&&h.data&&h.data.jstree){f.hide().detach();var i,j,k=[];if(b){for(i=0,j=h.data.nodes.length;j>i;i++)k[i]=h.data.origin?h.data.origin.get_node(h.data.nodes[i]):h.data.nodes[i];b.ins[h.data.origin&&(h.data.origin.settings.dnd.always_copy||h.data.origin.settings.dnd.copy&&(h.event.metaKey||h.event.ctrlKey))?"copy_node":"move_node"](k,b.par,b.pos,!1,!1,!1,h.data.origin)}else i=a(h.event.target).closest(".jstree"),i.length&&c&&c.error&&"check"===c.error&&(i=i.jstree(!0),i&&i.settings.core.error.call(this,c));d=!1,b=!1}}).on("keyup.jstree keydown.jstree",function(b,c){c=a.vakata.dnd._get(),c&&c.data&&c.data.jstree&&(c.helper.find(".jstree-copy").first()[c.data.origin&&(c.data.origin.settings.dnd.always_copy||c.data.origin.settings.dnd.copy&&(b.metaKey||b.ctrlKey))?"show":"hide"](),d&&(d.metaKey=b.metaKey,d.ctrlKey=b.ctrlKey,a.vakata.dnd._trigger("move",d)))})}),function(a){a.vakata.html={div:a("<div />"),escape:function(b){return a.vakata.html.div.text(b).html()},strip:function(b){return a.vakata.html.div.empty().append(a.parseHTML(b)).text()}};var b={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1};a.vakata.dnd={settings:{scroll_speed:10,scroll_proximity:20,helper_left:5,helper_top:10,threshold:5,threshold_touch:50},_trigger:function(b,c){var d=a.vakata.dnd._get();d.event=c,a(k).triggerHandler("dnd_"+b+".vakata",d)},_get:function(){return{data:b.data,element:b.element,helper:b.helper}},_clean:function(){b.helper&&b.helper.remove(),b.scroll_i&&(clearInterval(b.scroll_i),b.scroll_i=!1),b={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1},a(k).off("mousemove.vakata.jstree touchmove.vakata.jstree",a.vakata.dnd.drag),a(k).off("mouseup.vakata.jstree touchend.vakata.jstree",a.vakata.dnd.stop)},_scroll:function(c){if(!b.scroll_e||!b.scroll_l&&!b.scroll_t)return b.scroll_i&&(clearInterval(b.scroll_i),b.scroll_i=!1),!1;if(!b.scroll_i)return b.scroll_i=setInterval(a.vakata.dnd._scroll,100),!1;if(c===!0)return!1;var d=b.scroll_e.scrollTop(),e=b.scroll_e.scrollLeft();b.scroll_e.scrollTop(d+b.scroll_t*a.vakata.dnd.settings.scroll_speed),b.scroll_e.scrollLeft(e+b.scroll_l*a.vakata.dnd.settings.scroll_speed),(d!==b.scroll_e.scrollTop()||e!==b.scroll_e.scrollLeft())&&a.vakata.dnd._trigger("scroll",b.scroll_e)},start:function(c,d,e){"touchstart"===c.type&&c.originalEvent&&c.originalEvent.changedTouches&&c.originalEvent.changedTouches[0]&&(c.pageX=c.originalEvent.changedTouches[0].pageX,c.pageY=c.originalEvent.changedTouches[0].pageY,c.target=k.elementFromPoint(c.originalEvent.changedTouches[0].pageX-window.pageXOffset,c.originalEvent.changedTouches[0].pageY-window.pageYOffset)),b.is_drag&&a.vakata.dnd.stop({});try{c.currentTarget.unselectable="on",c.currentTarget.onselectstart=function(){return!1},c.currentTarget.style&&(c.currentTarget.style.MozUserSelect="none")}catch(f){}return b.init_x=c.pageX,b.init_y=c.pageY,b.data=d,b.is_down=!0,b.element=c.currentTarget,b.target=c.target,b.is_touch="touchstart"===c.type,e!==!1&&(b.helper=a("<div id='vakata-dnd'></div>").html(e).css({display:"block",margin:"0",padding:"0",position:"absolute",top:"-2000px",lineHeight:"16px",zIndex:"10000"})),a(k).on("mousemove.vakata.jstree touchmove.vakata.jstree",a.vakata.dnd.drag),a(k).on("mouseup.vakata.jstree touchend.vakata.jstree",a.vakata.dnd.stop),!1},drag:function(c){if("touchmove"===c.type&&c.originalEvent&&c.originalEvent.changedTouches&&c.originalEvent.changedTouches[0]&&(c.pageX=c.originalEvent.changedTouches[0].pageX,c.pageY=c.originalEvent.changedTouches[0].pageY,c.target=k.elementFromPoint(c.originalEvent.changedTouches[0].pageX-window.pageXOffset,c.originalEvent.changedTouches[0].pageY-window.pageYOffset)),b.is_down){if(!b.is_drag){if(!(Math.abs(c.pageX-b.init_x)>(b.is_touch?a.vakata.dnd.settings.threshold_touch:a.vakata.dnd.settings.threshold)||Math.abs(c.pageY-b.init_y)>(b.is_touch?a.vakata.dnd.settings.threshold_touch:a.vakata.dnd.settings.threshold)))return;b.helper&&(b.helper.appendTo("body"),b.helper_w=b.helper.outerWidth()),b.is_drag=!0,a.vakata.dnd._trigger("start",c)}var d=!1,e=!1,f=!1,g=!1,h=!1,i=!1,j=!1,l=!1,m=!1,n=!1;return b.scroll_t=0,b.scroll_l=0,b.scroll_e=!1,a(a(c.target).parentsUntil("body").addBack().get().reverse()).filter(function(){return/^auto|scroll$/.test(a(this).css("overflow"))&&(this.scrollHeight>this.offsetHeight||this.scrollWidth>this.offsetWidth)}).each(function(){var d=a(this),e=d.offset();return this.scrollHeight>this.offsetHeight&&(e.top+d.height()-c.pageY<a.vakata.dnd.settings.scroll_proximity&&(b.scroll_t=1),c.pageY-e.top<a.vakata.dnd.settings.scroll_proximity&&(b.scroll_t=-1)),this.scrollWidth>this.offsetWidth&&(e.left+d.width()-c.pageX<a.vakata.dnd.settings.scroll_proximity&&(b.scroll_l=1),c.pageX-e.left<a.vakata.dnd.settings.scroll_proximity&&(b.scroll_l=-1)),b.scroll_t||b.scroll_l?(b.scroll_e=a(this),!1):void 0}),b.scroll_e||(d=a(k),e=a(window),f=d.height(),g=e.height(),h=d.width(),i=e.width(),j=d.scrollTop(),l=d.scrollLeft(),f>g&&c.pageY-j<a.vakata.dnd.settings.scroll_proximity&&(b.scroll_t=-1),f>g&&g-(c.pageY-j)<a.vakata.dnd.settings.scroll_proximity&&(b.scroll_t=1),h>i&&c.pageX-l<a.vakata.dnd.settings.scroll_proximity&&(b.scroll_l=-1),h>i&&i-(c.pageX-l)<a.vakata.dnd.settings.scroll_proximity&&(b.scroll_l=1),(b.scroll_t||b.scroll_l)&&(b.scroll_e=d)),b.scroll_e&&a.vakata.dnd._scroll(!0),b.helper&&(m=parseInt(c.pageY+a.vakata.dnd.settings.helper_top,10),n=parseInt(c.pageX+a.vakata.dnd.settings.helper_left,10),f&&m+25>f&&(m=f-50),h&&n+b.helper_w>h&&(n=h-(b.helper_w+2)),b.helper.css({left:n+"px",top:m+"px"})),a.vakata.dnd._trigger("move",c),!1}},stop:function(c){if("touchend"===c.type&&c.originalEvent&&c.originalEvent.changedTouches&&c.originalEvent.changedTouches[0]&&(c.pageX=c.originalEvent.changedTouches[0].pageX,c.pageY=c.originalEvent.changedTouches[0].pageY,c.target=k.elementFromPoint(c.originalEvent.changedTouches[0].pageX-window.pageXOffset,c.originalEvent.changedTouches[0].pageY-window.pageYOffset)),b.is_drag)a.vakata.dnd._trigger("stop",c);else if("touchend"===c.type&&c.target===b.target){var d=setTimeout(function(){a(c.target).click()},100);a(c.target).one("click",function(){d&&clearTimeout(d)})}return a.vakata.dnd._clean(),!1}}}(a),a.jstree.defaults.massload=null,a.jstree.plugins.massload=function(b,c){this.init=function(a,b){c.init.call(this,a,b),this._data.massload={}},this._load_nodes=function(b,d,e){var f=this.settings.massload;return e&&!a.isEmptyObject(this._data.massload)?c._load_nodes.call(this,b,d,e):a.isFunction(f)?f.call(this,b,a.proxy(function(a){if(a)for(var f in a)a.hasOwnProperty(f)&&(this._data.massload[f]=a[f]);c._load_nodes.call(this,b,d,e)},this)):"object"==typeof f&&f&&f.url?(f=a.extend(!0,{},f),a.isFunction(f.url)&&(f.url=f.url.call(this,b)),a.isFunction(f.data)&&(f.data=f.data.call(this,b)),a.ajax(f).done(a.proxy(function(a,f,g){if(a)for(var h in a)a.hasOwnProperty(h)&&(this._data.massload[h]=a[h]);c._load_nodes.call(this,b,d,e)},this)).fail(a.proxy(function(a){c._load_nodes.call(this,b,d,e)},this))):c._load_nodes.call(this,b,d,e)},this._load_node=function(b,d){var e=this._data.massload[b.id];return e?this["string"==typeof e?"_append_html_data":"_append_json_data"](b,"string"==typeof e?a(a.parseHTML(e)).filter(function(){return 3!==this.nodeType}):e,function(a){d.call(this,a),
+delete this._data.massload[b.id]}):c._load_node.call(this,b,d)}},a.jstree.defaults.search={ajax:!1,fuzzy:!1,case_sensitive:!1,show_only_matches:!1,show_only_matches_children:!1,close_opened_onclear:!0,search_leaves_only:!1,search_callback:!1},a.jstree.plugins.search=function(c,d){this.bind=function(){d.bind.call(this),this._data.search.str="",this._data.search.dom=a(),this._data.search.res=[],this._data.search.opn=[],this._data.search.som=!1,this._data.search.smc=!1,this._data.search.hdn=[],this.element.on("search.jstree",a.proxy(function(b,c){if(this._data.search.som&&c.res.length){var d,e,f=this._model.data,g=[];for(d=0,e=c.res.length;e>d;d++)f[c.res[d]]&&!f[c.res[d]].state.hidden&&(g.push(c.res[d]),g=g.concat(f[c.res[d]].parents),this._data.search.smc&&(g=g.concat(f[c.res[d]].children_d)));g=a.vakata.array_remove_item(a.vakata.array_unique(g),a.jstree.root),this._data.search.hdn=this.hide_all(!0),this.show_node(g)}},this)).on("clear_search.jstree",a.proxy(function(a,b){this._data.search.som&&b.res.length&&this.show_node(this._data.search.hdn)},this))},this.search=function(c,d,e,f,g,h){if(c===!1||""===a.trim(c.toString()))return this.clear_search();f=this.get_node(f),f=f&&f.id?f.id:null,c=c.toString();var i,j,k=this.settings.search,l=k.ajax?k.ajax:!1,m=this._model.data,n=null,o=[],p=[];if(this._data.search.res.length&&!g&&this.clear_search(),e===b&&(e=k.show_only_matches),h===b&&(h=k.show_only_matches_children),!d&&l!==!1)return a.isFunction(l)?l.call(this,c,a.proxy(function(b){b&&b.d&&(b=b.d),this._load_nodes(a.isArray(b)?a.vakata.array_unique(b):[],function(){this.search(c,!0,e,f,g)},!0)},this),f):(l=a.extend({},l),l.data||(l.data={}),l.data.str=c,f&&(l.data.inside=f),a.ajax(l).fail(a.proxy(function(){this._data.core.last_error={error:"ajax",plugin:"search",id:"search_01",reason:"Could not load search parents",data:JSON.stringify(l)},this.settings.core.error.call(this,this._data.core.last_error)},this)).done(a.proxy(function(b){b&&b.d&&(b=b.d),this._load_nodes(a.isArray(b)?a.vakata.array_unique(b):[],function(){this.search(c,!0,e,f,g)},!0)},this)));if(g||(this._data.search.str=c,this._data.search.dom=a(),this._data.search.res=[],this._data.search.opn=[],this._data.search.som=e,this._data.search.smc=h),n=new a.vakata.search(c,!0,{caseSensitive:k.case_sensitive,fuzzy:k.fuzzy}),a.each(m[f?f:a.jstree.root].children_d,function(a,b){var d=m[b];d.text&&(!k.search_leaves_only||d.state.loaded&&0===d.children.length)&&(k.search_callback&&k.search_callback.call(this,c,d)||!k.search_callback&&n.search(d.text).isMatch)&&(o.push(b),p=p.concat(d.parents))}),o.length){for(p=a.vakata.array_unique(p),i=0,j=p.length;j>i;i++)p[i]!==a.jstree.root&&m[p[i]]&&this.open_node(p[i],null,0)===!0&&this._data.search.opn.push(p[i]);g?(this._data.search.dom=this._data.search.dom.add(a(this.element[0].querySelectorAll("#"+a.map(o,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #")))),this._data.search.res=a.vakata.array_unique(this._data.search.res.concat(o))):(this._data.search.dom=a(this.element[0].querySelectorAll("#"+a.map(o,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.res=o),this._data.search.dom.children(".jstree-anchor").addClass("jstree-search")}this.trigger("search",{nodes:this._data.search.dom,str:c,res:this._data.search.res,show_only_matches:e})},this.clear_search=function(){this.settings.search.close_opened_onclear&&this.close_node(this._data.search.opn,0),this.trigger("clear_search",{nodes:this._data.search.dom,str:this._data.search.str,res:this._data.search.res}),this._data.search.res.length&&(this._data.search.dom=a(this.element[0].querySelectorAll("#"+a.map(this._data.search.res,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.dom.children(".jstree-anchor").removeClass("jstree-search")),this._data.search.str="",this._data.search.res=[],this._data.search.opn=[],this._data.search.dom=a()},this.redraw_node=function(b,c,e,f){if(b=d.redraw_node.apply(this,arguments),b&&-1!==a.inArray(b.id,this._data.search.res)){var g,h,i=null;for(g=0,h=b.childNodes.length;h>g;g++)if(b.childNodes[g]&&b.childNodes[g].className&&-1!==b.childNodes[g].className.indexOf("jstree-anchor")){i=b.childNodes[g];break}i&&(i.className+=" jstree-search")}return b}},function(a){a.vakata.search=function(b,c,d){d=d||{},d=a.extend({},a.vakata.search.defaults,d),d.fuzzy!==!1&&(d.fuzzy=!0),b=d.caseSensitive?b:b.toLowerCase();var e,f,g,h,i=d.location,j=d.distance,k=d.threshold,l=b.length;return l>32&&(d.fuzzy=!1),d.fuzzy&&(e=1<<l-1,f=function(){var a={},c=0;for(c=0;l>c;c++)a[b.charAt(c)]=0;for(c=0;l>c;c++)a[b.charAt(c)]|=1<<l-c-1;return a}(),g=function(a,b){var c=a/l,d=Math.abs(i-b);return j?c+d/j:d?1:c}),h=function(a){if(a=d.caseSensitive?a:a.toLowerCase(),b===a||-1!==a.indexOf(b))return{isMatch:!0,score:0};if(!d.fuzzy)return{isMatch:!1,score:1};var c,h,j,m,n,o,p,q,r,s=a.length,t=k,u=a.indexOf(b,i),v=l+s,w=1,x=[];for(-1!==u&&(t=Math.min(g(0,u),t),u=a.lastIndexOf(b,i+l),-1!==u&&(t=Math.min(g(0,u),t))),u=-1,c=0;l>c;c++){for(j=0,m=v;m>j;)g(c,i+m)<=t?j=m:v=m,m=Math.floor((v-j)/2+j);for(v=m,o=Math.max(1,i-m+1),p=Math.min(i+m,s)+l,q=new Array(p+2),q[p+1]=(1<<c)-1,h=p;h>=o;h--)if(r=f[a.charAt(h-1)],0===c?q[h]=(q[h+1]<<1|1)&r:q[h]=(q[h+1]<<1|1)&r|((n[h+1]|n[h])<<1|1)|n[h+1],q[h]&e&&(w=g(c,h-1),t>=w)){if(t=w,u=h-1,x.push(u),!(u>i))break;o=Math.max(1,2*i-u)}if(g(c+1,i)>t)break;n=q}return{isMatch:u>=0,score:w}},c===!0?{search:h}:h(c)},a.vakata.search.defaults={location:0,distance:100,threshold:.6,fuzzy:!1,caseSensitive:!1}}(a),a.jstree.defaults.sort=function(a,b){return this.get_text(a)>this.get_text(b)?1:-1},a.jstree.plugins.sort=function(b,c){this.bind=function(){c.bind.call(this),this.element.on("model.jstree",a.proxy(function(a,b){this.sort(b.parent,!0)},this)).on("rename_node.jstree create_node.jstree",a.proxy(function(a,b){this.sort(b.parent||b.node.parent,!1),this.redraw_node(b.parent||b.node.parent,!0)},this)).on("move_node.jstree copy_node.jstree",a.proxy(function(a,b){this.sort(b.parent,!1),this.redraw_node(b.parent,!0)},this))},this.sort=function(b,c){var d,e;if(b=this.get_node(b),b&&b.children&&b.children.length&&(b.children.sort(a.proxy(this.settings.sort,this)),c))for(d=0,e=b.children_d.length;e>d;d++)this.sort(b.children_d[d],!1)}};var n=!1;a.jstree.defaults.state={key:"jstree",events:"changed.jstree open_node.jstree close_node.jstree check_node.jstree uncheck_node.jstree",ttl:!1,filter:!1},a.jstree.plugins.state=function(b,c){this.bind=function(){c.bind.call(this);var b=a.proxy(function(){this.element.on(this.settings.state.events,a.proxy(function(){n&&clearTimeout(n),n=setTimeout(a.proxy(function(){this.save_state()},this),100)},this)),this.trigger("state_ready")},this);this.element.on("ready.jstree",a.proxy(function(a,c){this.element.one("restore_state.jstree",b),this.restore_state()||b()},this))},this.save_state=function(){var b={state:this.get_state(),ttl:this.settings.state.ttl,sec:+new Date};a.vakata.storage.set(this.settings.state.key,JSON.stringify(b))},this.restore_state=function(){var b=a.vakata.storage.get(this.settings.state.key);if(b)try{b=JSON.parse(b)}catch(c){return!1}return b&&b.ttl&&b.sec&&+new Date-b.sec>b.ttl?!1:(b&&b.state&&(b=b.state),b&&a.isFunction(this.settings.state.filter)&&(b=this.settings.state.filter.call(this,b)),b?(this.element.one("set_state.jstree",function(c,d){d.instance.trigger("restore_state",{state:a.extend(!0,{},b)})}),this.set_state(b),!0):!1)},this.clear_state=function(){return a.vakata.storage.del(this.settings.state.key)}},function(a,b){a.vakata.storage={set:function(a,b){return window.localStorage.setItem(a,b)},get:function(a){return window.localStorage.getItem(a)},del:function(a){return window.localStorage.removeItem(a)}}}(a),a.jstree.defaults.types={"default":{}},a.jstree.defaults.types[a.jstree.root]={},a.jstree.plugins.types=function(c,d){this.init=function(c,e){var f,g;if(e&&e.types&&e.types["default"])for(f in e.types)if("default"!==f&&f!==a.jstree.root&&e.types.hasOwnProperty(f))for(g in e.types["default"])e.types["default"].hasOwnProperty(g)&&e.types[f][g]===b&&(e.types[f][g]=e.types["default"][g]);d.init.call(this,c,e),this._model.data[a.jstree.root].type=a.jstree.root},this.refresh=function(b,c){d.refresh.call(this,b,c),this._model.data[a.jstree.root].type=a.jstree.root},this.bind=function(){this.element.on("model.jstree",a.proxy(function(c,d){var e,f,g=this._model.data,h=d.nodes,i=this.settings.types,j="default";for(e=0,f=h.length;f>e;e++)j="default",g[h[e]].original&&g[h[e]].original.type&&i[g[h[e]].original.type]&&(j=g[h[e]].original.type),g[h[e]].data&&g[h[e]].data.jstree&&g[h[e]].data.jstree.type&&i[g[h[e]].data.jstree.type]&&(j=g[h[e]].data.jstree.type),g[h[e]].type=j,g[h[e]].icon===!0&&i[j].icon!==b&&(g[h[e]].icon=i[j].icon);g[a.jstree.root].type=a.jstree.root},this)),d.bind.call(this)},this.get_json=function(b,c,e){var f,g,h=this._model.data,i=c?a.extend(!0,{},c,{no_id:!1}):{},j=d.get_json.call(this,b,i,e);if(j===!1)return!1;if(a.isArray(j))for(f=0,g=j.length;g>f;f++)j[f].type=j[f].id&&h[j[f].id]&&h[j[f].id].type?h[j[f].id].type:"default",c&&c.no_id&&(delete j[f].id,j[f].li_attr&&j[f].li_attr.id&&delete j[f].li_attr.id,j[f].a_attr&&j[f].a_attr.id&&delete j[f].a_attr.id);else j.type=j.id&&h[j.id]&&h[j.id].type?h[j.id].type:"default",c&&c.no_id&&(j=this._delete_ids(j));return j},this._delete_ids=function(b){if(a.isArray(b)){for(var c=0,d=b.length;d>c;c++)b[c]=this._delete_ids(b[c]);return b}return delete b.id,b.li_attr&&b.li_attr.id&&delete b.li_attr.id,b.a_attr&&b.a_attr.id&&delete b.a_attr.id,b.children&&a.isArray(b.children)&&(b.children=this._delete_ids(b.children)),b},this.check=function(c,e,f,g,h){if(d.check.call(this,c,e,f,g,h)===!1)return!1;e=e&&e.id?e:this.get_node(e),f=f&&f.id?f:this.get_node(f);var i,j,k,l,m=e&&e.id?h&&h.origin?h.origin:a.jstree.reference(e.id):null;switch(m=m&&m._model&&m._model.data?m._model.data:null,c){case"create_node":case"move_node":case"copy_node":if("move_node"!==c||-1===a.inArray(e.id,f.children)){if(i=this.get_rules(f),i.max_children!==b&&-1!==i.max_children&&i.max_children===f.children.length)return this._data.core.last_error={error:"check",plugin:"types",id:"types_01",reason:"max_children prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:e&&e.id?e.id:!1,par:f&&f.id?f.id:!1})},!1;if(i.valid_children!==b&&-1!==i.valid_children&&-1===a.inArray(e.type||"default",i.valid_children))return this._data.core.last_error={error:"check",plugin:"types",id:"types_02",reason:"valid_children prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:e&&e.id?e.id:!1,par:f&&f.id?f.id:!1})},!1;if(m&&e.children_d&&e.parents){for(j=0,k=0,l=e.children_d.length;l>k;k++)j=Math.max(j,m[e.children_d[k]].parents.length);j=j-e.parents.length+1}(0>=j||j===b)&&(j=1);do{if(i.max_depth!==b&&-1!==i.max_depth&&i.max_depth<j)return this._data.core.last_error={error:"check",plugin:"types",id:"types_03",reason:"max_depth prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:e&&e.id?e.id:!1,par:f&&f.id?f.id:!1})},!1;f=this.get_node(f.parent),i=this.get_rules(f),j++}while(f)}}return!0},this.get_rules=function(a){if(a=this.get_node(a),!a)return!1;var c=this.get_type(a,!0);return c.max_depth===b&&(c.max_depth=-1),c.max_children===b&&(c.max_children=-1),c.valid_children===b&&(c.valid_children=-1),c},this.get_type=function(b,c){return b=this.get_node(b),b?c?a.extend({type:b.type},this.settings.types[b.type]):b.type:!1},this.set_type=function(c,d){var e,f,g,h,i;if(a.isArray(c)){for(c=c.slice(),f=0,g=c.length;g>f;f++)this.set_type(c[f],d);return!0}return e=this.settings.types,c=this.get_node(c),e[d]&&c?(h=c.type,i=this.get_icon(c),c.type=d,(i===!0||e[h]&&e[h].icon!==b&&i===e[h].icon)&&this.set_icon(c,e[d].icon!==b?e[d].icon:!0),!0):!1}},a.jstree.defaults.unique={case_sensitive:!1,duplicate:function(a,b){return a+" ("+b+")"}},a.jstree.plugins.unique=function(c,d){this.check=function(b,c,e,f,g){if(d.check.call(this,b,c,e,f,g)===!1)return!1;if(c=c&&c.id?c:this.get_node(c),e=e&&e.id?e:this.get_node(e),!e||!e.children)return!0;var h,i,j="rename_node"===b?f:c.text,k=[],l=this.settings.unique.case_sensitive,m=this._model.data;for(h=0,i=e.children.length;i>h;h++)k.push(l?m[e.children[h]].text:m[e.children[h]].text.toLowerCase());switch(l||(j=j.toLowerCase()),b){case"delete_node":return!0;case"rename_node":return h=-1===a.inArray(j,k)||c.text&&c.text[l?"toString":"toLowerCase"]()===j,h||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_01",reason:"Child with name "+j+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),h;case"create_node":return h=-1===a.inArray(j,k),h||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_04",reason:"Child with name "+j+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),h;case"copy_node":return h=-1===a.inArray(j,k),h||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_02",reason:"Child with name "+j+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),h;case"move_node":return h=c.parent===e.id&&(!g||!g.is_multi)||-1===a.inArray(j,k),h||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_03",reason:"Child with name "+j+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),h}return!0},this.create_node=function(c,e,f,g,h){if(!e||e.text===b){if(null===c&&(c=a.jstree.root),c=this.get_node(c),!c)return d.create_node.call(this,c,e,f,g,h);if(f=f===b?"last":f,!f.toString().match(/^(before|after)$/)&&!h&&!this.is_loaded(c))return d.create_node.call(this,c,e,f,g,h);e||(e={});var i,j,k,l,m,n=this._model.data,o=this.settings.unique.case_sensitive,p=this.settings.unique.duplicate;for(j=i=this.get_string("New node"),k=[],l=0,m=c.children.length;m>l;l++)k.push(o?n[c.children[l]].text:n[c.children[l]].text.toLowerCase());for(l=1;-1!==a.inArray(o?j:j.toLowerCase(),k);)j=p.call(this,i,++l).toString();e.text=j}return d.create_node.call(this,c,e,f,g,h)}};var o=k.createElement("DIV");if(o.setAttribute("unselectable","on"),o.setAttribute("role","presentation"),o.className="jstree-wholerow",o.innerHTML="&#160;",a.jstree.plugins.wholerow=function(b,c){this.bind=function(){c.bind.call(this),this.element.on("ready.jstree set_state.jstree",a.proxy(function(){this.hide_dots()},this)).on("init.jstree loading.jstree ready.jstree",a.proxy(function(){this.get_container_ul().addClass("jstree-wholerow-ul")},this)).on("deselect_all.jstree",a.proxy(function(a,b){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked")},this)).on("changed.jstree",a.proxy(function(a,b){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked");var c,d,e=!1;for(c=0,d=b.selected.length;d>c;c++)e=this.get_node(b.selected[c],!0),e&&e.length&&e.children(".jstree-wholerow").addClass("jstree-wholerow-clicked")},this)).on("open_node.jstree",a.proxy(function(a,b){this.get_node(b.node,!0).find(".jstree-clicked").parent().children(".jstree-wholerow").addClass("jstree-wholerow-clicked")},this)).on("hover_node.jstree dehover_node.jstree",a.proxy(function(a,b){"hover_node"===a.type&&this.is_disabled(b.node)||this.get_node(b.node,!0).children(".jstree-wholerow")["hover_node"===a.type?"addClass":"removeClass"]("jstree-wholerow-hovered")},this)).on("contextmenu.jstree",".jstree-wholerow",a.proxy(function(b){b.preventDefault();var c=a.Event("contextmenu",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey,pageX:b.pageX,pageY:b.pageY});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c)},this)).on("click.jstree",".jstree-wholerow",function(b){b.stopImmediatePropagation();var c=a.Event("click",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).focus()}).on("click.jstree",".jstree-leaf > .jstree-ocl",a.proxy(function(b){b.stopImmediatePropagation();var c=a.Event("click",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).focus()},this)).on("mouseover.jstree",".jstree-wholerow, .jstree-icon",a.proxy(function(a){return a.stopImmediatePropagation(),this.is_disabled(a.currentTarget)||this.hover_node(a.currentTarget),!1},this)).on("mouseleave.jstree",".jstree-node",a.proxy(function(a){this.dehover_node(a.currentTarget)},this))},this.teardown=function(){this.settings.wholerow&&this.element.find(".jstree-wholerow").remove(),c.teardown.call(this)},this.redraw_node=function(b,d,e,f){if(b=c.redraw_node.apply(this,arguments)){var g=o.cloneNode(!0);-1!==a.inArray(b.id,this._data.core.selected)&&(g.className+=" jstree-wholerow-clicked"),this._data.core.focused&&this._data.core.focused===b.id&&(g.className+=" jstree-wholerow-hovered"),b.insertBefore(g,b.childNodes[0])}return b}},k.registerElement&&Object&&Object.create){var p=Object.create(HTMLElement.prototype);p.createdCallback=function(){var b,c={core:{},plugins:[]};for(b in a.jstree.plugins)a.jstree.plugins.hasOwnProperty(b)&&this.attributes[b]&&(c.plugins.push(b),this.getAttribute(b)&&JSON.parse(this.getAttribute(b))&&(c[b]=JSON.parse(this.getAttribute(b))));for(b in a.jstree.defaults.core)a.jstree.defaults.core.hasOwnProperty(b)&&this.attributes[b]&&(c.core[b]=JSON.parse(this.getAttribute(b))||this.getAttribute(b));a(this).jstree(c)};try{k.registerElement("vakata-jstree",{prototype:p})}catch(q){}}}}),function(a){"use strict";function b(){var b=1;this.nodesFingerprint=function(a){return a.__uiNodeId||(a.__uiNodeId=b++),""+a.__uiNodeId+(a.id||"")+(a.text||"")+(a.type||"")},this.changeWatcher=function(b,c){var d,e=function(){var d,e,f=[];if(b)for(var h=a.isFunction(b)?b():b,i=0,j=h.length;j>i;i++)e=h[i],d=c(e),g[d]=e,f.push(d);return f},f=function(a,b){var c,d,e=[],f={};for(c=0,d=b.length;d>c;c++)f[b[c]]=!0;for(c=0,d=a.length;d>c;c++)f[a[c]]||e.push(a[c]);return e},g={},h=function(a,b){var e,h,i,j,k={},l=f(b,a);for(e=0,h=l.length;h>e;e++){var m=l[e];i=g[m],delete g[m];var n=c(i);n===m?d.onRemoved(i):(k[n]=m,d.onChanged(i))}var o=f(a,b);for(e=0,h=o.length;h>e;e++)j=o[e],i=g[j],k[j]||d.onAdded(i)};return d={subscribe:function(a,b){a.$watch(e,function(a,c){b&&b(a,c)===!1||h(a,c)},!0)},onAdded:a.noop,onChanged:a.noop,onRemoved:a.noop}}}function c(){return{restrict:"A",scope:{treeData:"=ngModel",shouldApply:"&"},controller:"jsTreeCtrl",link:function(b,c,d,e){function f(a,b,c){if(c.treeEvents)for(var d=c.treeEvents.split(";"),e=0;e<d.length;e++)if(d[e].length>0){var f=d[e].split(":")[0],g=f+".jstree",h=d[e].split(":")[1];a.tree.on(g,a.$parent.$eval(h))}}function g(){var c=d.jsTree?b.$parent.$eval(d.jsTree):{};h={},a.copy(c,h);var e=JSON.stringify(h);return h.core?h.core.data=b.treeData:h.core={data:b.treeData},e}var h=null,i=e.changeWatcher(b.treeData,e.nodesFingerprint),j=!1;b.destroy=function(){if(d.tree)if(-1!==d.tree.indexOf(".")){var a=d.tree.split(".");b.tree=b.$parent[a[0]][a[1]]=c}else b.tree=b.$parent[d.tree]=c;else b.tree=c;b.tree.jstree("destroy")},b.init=function(){b.tree.jstree(h),f(b,c,d)},i.onChanged=function(c){a.isDefined(b.tree.jstree(!0).set_type)&&b.tree.jstree(!0).set_type(c.id,c.type),b.tree.jstree(!0).rename_node(c.id,c.text)},i.onAdded=function(a){for(;j;);j=!0;var c=b.tree.jstree(!0).get_node(a.parent),d=b.tree.jstree(!0).create_node(c,a,"inside",function(){j=!1});d||(j=!1)},i.onRemoved=function(a){b.tree.jstree(!0).delete_node(a.id)},i.subscribe(b,function(){return b.shouldApply?b.shouldApply():!0}),b.$watch(g,function(){b.destroy(),b.init()})}}}var d=a.module("ngJsTree",[]);d.controller("jsTreeCtrl",b),d.directive("jsTree",c)}(angular),function(a){"use strict";if(a.URL=a.URL||a.webkitURL,a.Blob&&a.URL)try{return void new Blob}catch(b){}var c=a.BlobBuilder||a.WebKitBlobBuilder||a.MozBlobBuilder||function(a){var b=function(a){return Object.prototype.toString.call(a).match(/^\[object\s(.*)\]$/)[1]},c=function(){this.data=[]},d=function(a,b,c){this.data=a,this.size=a.length,this.type=b,this.encoding=c},e=c.prototype,f=d.prototype,g=a.FileReaderSync,h=function(a){this.code=this[this.name=a]},i="NOT_FOUND_ERR SECURITY_ERR ABORT_ERR NOT_READABLE_ERR ENCODING_ERR NO_MODIFICATION_ALLOWED_ERR INVALID_STATE_ERR SYNTAX_ERR".split(" "),j=i.length,k=a.URL||a.webkitURL||a,l=k.createObjectURL,m=k.revokeObjectURL,n=k,o=a.btoa,p=a.atob,q=a.ArrayBuffer,r=a.Uint8Array,s=/^[\w-]+:\/*\[?[\w\.:-]+\]?(?::[0-9]+)?/;for(d.fake=f.fake=!0;j--;)h.prototype[i[j]]=j+1;return k.createObjectURL||(n=a.URL=function(a){var b,c=document.createElementNS("http://www.w3.org/1999/xhtml","a");return c.href=a,"origin"in c||("data:"===c.protocol.toLowerCase()?c.origin=null:(b=a.match(s),c.origin=b&&b[1])),c}),n.createObjectURL=function(a){var b,c=a.type;return null===c&&(c="application/octet-stream"),a instanceof d?(b="data:"+c,"base64"===a.encoding?b+";base64,"+a.data:"URI"===a.encoding?b+","+decodeURIComponent(a.data):o?b+";base64,"+o(a.data):b+","+encodeURIComponent(a.data)):l?l.call(k,a):void 0},n.revokeObjectURL=function(a){"data:"!==a.substring(0,5)&&m&&m.call(k,a)},e.append=function(a){var c=this.data;if(r&&(a instanceof q||a instanceof r)){for(var e="",f=new r(a),i=0,j=f.length;j>i;i++)e+=String.fromCharCode(f[i]);c.push(e)}else if("Blob"===b(a)||"File"===b(a)){if(!g)throw new h("NOT_READABLE_ERR");var k=new g;c.push(k.readAsBinaryString(a))}else a instanceof d?"base64"===a.encoding&&p?c.push(p(a.data)):"URI"===a.encoding?c.push(decodeURIComponent(a.data)):"raw"===a.encoding&&c.push(a.data):("string"!=typeof a&&(a+=""),c.push(unescape(encodeURIComponent(a))))},e.getBlob=function(a){return arguments.length||(a=null),new d(this.data.join(""),a,"raw")},e.toString=function(){return"[object BlobBuilder]"},f.slice=function(a,b,c){var e=arguments.length;return 3>e&&(c=null),new d(this.data.slice(a,e>1?b:this.data.length),c,this.encoding)},f.toString=function(){return"[object Blob]"},f.close=function(){this.size=0,delete this.data},c}(a);a.Blob=function(a,b){var d=b?b.type||"":"",e=new c;if(a)for(var f=0,g=a.length;g>f;f++)Uint8Array&&a[f]instanceof Uint8Array?e.append(a[f].buffer):e.append(a[f]);var h=e.getBlob(d);return!h.slice&&h.webkitSlice&&(h.slice=h.webkitSlice),h};var d=Object.getPrototypeOf||function(a){return a.__proto__};a.Blob.prototype=d(new a.Blob)}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content||this);var saveAs=saveAs||function(a){"use strict";if("undefined"==typeof navigator||!/MSIE [1-9]\./.test(navigator.userAgent)){var b=a.document,c=function(){return a.URL||a.webkitURL||a},d=b.createElementNS("http://www.w3.org/1999/xhtml","a"),e="download"in d,f=function(c){var d=b.createEvent("MouseEvents");d.initMouseEvent("click",!0,!1,a,0,0,0,0,0,!1,!1,!1,!1,0,null),c.dispatchEvent(d)},g=a.webkitRequestFileSystem,h=a.requestFileSystem||g||a.mozRequestFileSystem,i=function(b){(a.setImmediate||a.setTimeout)(function(){throw b},0)},j="application/octet-stream",k=0,l=500,m=function(b){var d=function(){"string"==typeof b?c().revokeObjectURL(b):b.remove()};a.chrome?d():setTimeout(d,l)},n=function(a,b,c){b=[].concat(b);for(var d=b.length;d--;){var e=a["on"+b[d]];if("function"==typeof e)try{e.call(a,c||a)}catch(f){i(f)}}},o=function(a){return/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a.type)?new Blob(["\ufeff",a],{type:a.type}):a},p=function(b,i){b=o(b);var l,p,q,r=this,s=b.type,t=!1,u=function(){n(r,"writestart progress write writeend".split(" "))},v=function(){if((t||!l)&&(l=c().createObjectURL(b)),p)p.location.href=l;else{var d=a.open(l,"_blank");void 0==d&&"undefined"!=typeof safari&&(a.location.href=l)}r.readyState=r.DONE,u(),m(l)},w=function(a){return function(){return r.readyState!==r.DONE?a.apply(this,arguments):void 0}},x={create:!0,exclusive:!1};return r.readyState=r.INIT,i||(i="download"),e?(l=c().createObjectURL(b),d.href=l,d.download=i,f(d),r.readyState=r.DONE,u(),void m(l)):(a.chrome&&s&&s!==j&&(q=b.slice||b.webkitSlice,b=q.call(b,0,b.size,j),t=!0),g&&"download"!==i&&(i+=".download"),(s===j||g)&&(p=a),h?(k+=b.size,void h(a.TEMPORARY,k,w(function(a){a.root.getDirectory("saved",x,w(function(a){var c=function(){a.getFile(i,x,w(function(a){a.createWriter(w(function(c){c.onwriteend=function(b){p.location.href=a.toURL(),r.readyState=r.DONE,n(r,"writeend",b),m(a)},c.onerror=function(){var a=c.error;a.code!==a.ABORT_ERR&&v()},"writestart progress write abort".split(" ").forEach(function(a){c["on"+a]=r["on"+a]}),c.write(b),r.abort=function(){c.abort(),r.readyState=r.DONE},r.readyState=r.WRITING}),v)}),v)};a.getFile(i,{create:!1},w(function(a){a.remove(),c()}),w(function(a){a.code===a.NOT_FOUND_ERR?c():v()}))}),v)}),v)):void v())},q=p.prototype,r=function(a,b){return new p(a,b)};return"undefined"!=typeof navigator&&navigator.msSaveOrOpenBlob?function(a,b){return navigator.msSaveOrOpenBlob(o(a),b)}:(q.abort=function(){var a=this;a.readyState=a.DONE,n(a,"abort")},q.readyState=q.INIT=0,q.WRITING=1,q.DONE=2,q.error=q.onwritestart=q.onprogress=q.onwrite=q.onabort=q.onerror=q.onwriteend=null,r)}}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content);"undefined"!=typeof module&&module.exports?module.exports.saveAs=saveAs:"undefined"!=typeof define&&null!==define&&null!=define.amd&&define([],function(){return saveAs}),function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){!function(a){"use strict";if(a.URL=a.URL||a.webkitURL,a.Blob&&a.URL)try{return void new Blob}catch(b){}var c=a.BlobBuilder||a.WebKitBlobBuilder||a.MozBlobBuilder||function(a){var b=function(a){return Object.prototype.toString.call(a).match(/^\[object\s(.*)\]$/)[1]},c=function(){this.data=[]},d=function(a,b,c){this.data=a,this.size=a.length,this.type=b,this.encoding=c},e=c.prototype,f=d.prototype,g=a.FileReaderSync,h=function(a){this.code=this[this.name=a]},i="NOT_FOUND_ERR SECURITY_ERR ABORT_ERR NOT_READABLE_ERR ENCODING_ERR NO_MODIFICATION_ALLOWED_ERR INVALID_STATE_ERR SYNTAX_ERR".split(" "),j=i.length,k=a.URL||a.webkitURL||a,l=k.createObjectURL,m=k.revokeObjectURL,n=k,o=a.btoa,p=a.atob,q=a.ArrayBuffer,r=a.Uint8Array,s=/^[\w-]+:\/*\[?[\w\.:-]+\]?(?::[0-9]+)?/;for(d.fake=f.fake=!0;j--;)h.prototype[i[j]]=j+1;return k.createObjectURL||(n=a.URL=function(a){var b,c=document.createElementNS("http://www.w3.org/1999/xhtml","a");return c.href=a,"origin"in c||("data:"===c.protocol.toLowerCase()?c.origin=null:(b=a.match(s),c.origin=b&&b[1])),c}),n.createObjectURL=function(a){var b,c=a.type;return null===c&&(c="application/octet-stream"),a instanceof d?(b="data:"+c,"base64"===a.encoding?b+";base64,"+a.data:"URI"===a.encoding?b+","+decodeURIComponent(a.data):o?b+";base64,"+o(a.data):b+","+encodeURIComponent(a.data)):l?l.call(k,a):void 0},n.revokeObjectURL=function(a){"data:"!==a.substring(0,5)&&m&&m.call(k,a)},e.append=function(a){var c=this.data;if(r&&(a instanceof q||a instanceof r)){for(var e="",f=new r(a),i=0,j=f.length;j>i;i++)e+=String.fromCharCode(f[i]);c.push(e)}else if("Blob"===b(a)||"File"===b(a)){if(!g)throw new h("NOT_READABLE_ERR");var k=new g;c.push(k.readAsBinaryString(a))}else a instanceof d?"base64"===a.encoding&&p?c.push(p(a.data)):"URI"===a.encoding?c.push(decodeURIComponent(a.data)):"raw"===a.encoding&&c.push(a.data):("string"!=typeof a&&(a+=""),c.push(unescape(encodeURIComponent(a))))},e.getBlob=function(a){return arguments.length||(a=null),new d(this.data.join(""),a,"raw")},e.toString=function(){return"[object BlobBuilder]"},f.slice=function(a,b,c){var e=arguments.length;return 3>e&&(c=null),new d(this.data.slice(a,e>1?b:this.data.length),c,this.encoding)},f.toString=function(){return"[object Blob]"},f.close=function(){this.size=0,delete this.data},c}(a);a.Blob=function(a,b){var d=b?b.type||"":"",e=new c;if(a)for(var f=0,g=a.length;g>f;f++)Uint8Array&&a[f]instanceof Uint8Array?e.append(a[f].buffer):e.append(a[f]);var h=e.getBlob(d);return!h.slice&&h.webkitSlice&&(h.slice=h.webkitSlice),h};var d=Object.getPrototypeOf||function(a){return a.__proto__};a.Blob.prototype=d(new a.Blob)}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content||this)},{}],2:[function(a,b,c){var d=d||function(a){"use strict";if("undefined"==typeof navigator||!/MSIE [1-9]\./.test(navigator.userAgent)){var b=a.document,c=function(){return a.URL||a.webkitURL||a},d=b.createElementNS("http://www.w3.org/1999/xhtml","a"),e="download"in d,f=function(a){var b=new MouseEvent("click");a.dispatchEvent(b)},g=/Version\/[\d\.]+.*Safari/.test(navigator.userAgent),h=a.webkitRequestFileSystem,i=a.requestFileSystem||h||a.mozRequestFileSystem,j=function(b){(a.setImmediate||a.setTimeout)(function(){throw b},0)},k="application/octet-stream",l=0,m=500,n=function(b){var d=function(){"string"==typeof b?c().revokeObjectURL(b):b.remove()};a.chrome?d():setTimeout(d,m)},o=function(a,b,c){b=[].concat(b);for(var d=b.length;d--;){var e=a["on"+b[d]];if("function"==typeof e)try{e.call(a,c||a)}catch(f){j(f)}}},p=function(a){return/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a.type)?new Blob(["\ufeff",a],{type:a.type}):a},q=function(b,j,m){m||(b=p(b));var q,r,s,t=this,u=b.type,v=!1,w=function(){o(t,"writestart progress write writeend".split(" "))},x=function(){if(r&&g&&"undefined"!=typeof FileReader){var d=new FileReader;return d.onloadend=function(){var a=d.result;r.location.href="data:attachment/file"+a.slice(a.search(/[,;]/)),t.readyState=t.DONE,w()},d.readAsDataURL(b),void(t.readyState=t.INIT)}if((v||!q)&&(q=c().createObjectURL(b)),r)r.location.href=q;else{var e=a.open(q,"_blank");void 0==e&&g&&(a.location.href=q)}t.readyState=t.DONE,w(),n(q)},y=function(a){return function(){return t.readyState!==t.DONE?a.apply(this,arguments):void 0}},z={create:!0,exclusive:!1};return t.readyState=t.INIT,j||(j="download"),e?(q=c().createObjectURL(b),void setTimeout(function(){d.href=q,d.download=j,f(d),w(),n(q),t.readyState=t.DONE})):(a.chrome&&u&&u!==k&&(s=b.slice||b.webkitSlice,b=s.call(b,0,b.size,k),v=!0),h&&"download"!==j&&(j+=".download"),(u===k||h)&&(r=a),i?(l+=b.size,void i(a.TEMPORARY,l,y(function(a){a.root.getDirectory("saved",z,y(function(a){var c=function(){a.getFile(j,z,y(function(a){a.createWriter(y(function(c){c.onwriteend=function(b){r.location.href=a.toURL(),t.readyState=t.DONE,o(t,"writeend",b),n(a)},c.onerror=function(){var a=c.error;a.code!==a.ABORT_ERR&&x()},"writestart progress write abort".split(" ").forEach(function(a){c["on"+a]=t["on"+a]}),c.write(b),t.abort=function(){c.abort(),t.readyState=t.DONE},t.readyState=t.WRITING}),x)}),x)};a.getFile(j,{create:!1},y(function(a){a.remove(),c()}),y(function(a){a.code===a.NOT_FOUND_ERR?c():x()}))}),x)}),x)):void x())},r=q.prototype,s=function(a,b,c){return new q(a,b,c)};return"undefined"!=typeof navigator&&navigator.msSaveOrOpenBlob?function(a,b,c){return c||(a=p(a)),navigator.msSaveOrOpenBlob(a,b||"download")}:(r.abort=function(){var a=this;a.readyState=a.DONE,o(a,"abort")},r.readyState=r.INIT=0,r.WRITING=1,r.DONE=2,r.error=r.onwritestart=r.onprogress=r.onwrite=r.onabort=r.onerror=r.onwriteend=null,s)}}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content);
+"undefined"!=typeof b&&b.exports?b.exports.saveAs=d:"undefined"!=typeof define&&null!==define&&null!=define.amd&&define([],function(){return d})},{}],3:[function(a,b,c){"use strict";angular.module("ngFileSaver",[]).factory("FileSaver",["Blob","SaveAs","FileSaverUtils",a("./angular-file-saver.service")]).factory("FileSaverUtils",[a("./utils/utils.service.js")]).factory("Blob",["$window",a("./dependencies/blob-bundle.service.js")]).factory("SaveAs",[a("./dependencies/file-saver-bundle.service.js")])},{"./angular-file-saver.service":4,"./dependencies/blob-bundle.service.js":5,"./dependencies/file-saver-bundle.service.js":6,"./utils/utils.service.js":7}],4:[function(a,b,c){"use strict";b.exports=function(a,b,c){function d(a,d,e){try{b(a,d,e)}catch(f){c.handleErrors(f.message)}}return{saveAs:function(a,b,e){return c.isBlobInstance(a)||c.handleErrors("Data argument should be a blob instance"),c.isString(b)||c.handleErrors("Filename argument should be a string"),d(a,b,e)}}}},{}],5:[function(a,b,c){"use strict";a("Blob.js"),b.exports=function(a){return a.Blob}},{"Blob.js":1}],6:[function(a,b,c){"use strict";b.exports=function(){return a("FileSaver.js").saveAs||function(){}}},{"FileSaver.js":2}],7:[function(a,b,c){"use strict";b.exports=function(){return{handleErrors:function(a){throw new Error(a)},isString:function(a){return"string"==typeof a||a instanceof String},isUndefined:function(a){return"undefined"==typeof a},isBlobInstance:function(a){return a instanceof Blob}}}},{}]},{},[3]),function(a){function b(a,b,c){switch(arguments.length){case 2:return null!=a?a:b;case 3:return null!=a?a:null!=b?b:c;default:throw new Error("Implement me")}}function c(a,b){return za.call(a,b)}function d(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function e(a){ta.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+a)}function f(a,b){var c=!0;return m(function(){return c&&(e(a),c=!1),b.apply(this,arguments)},b)}function g(a,b){qb[a]||(e(b),qb[a]=!0)}function h(a,b){return function(c){return p(a.call(this,c),b)}}function i(a,b){return function(c){return this.localeData().ordinal(a.call(this,c),b)}}function j(){}function k(a,b){b!==!1&&F(a),n(this,a),this._d=new Date(+a._d)}function l(a){var b=y(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.week||0,g=b.day||0,h=b.hour||0,i=b.minute||0,j=b.second||0,k=b.millisecond||0;this._milliseconds=+k+1e3*j+6e4*i+36e5*h,this._days=+g+7*f,this._months=+e+3*d+12*c,this._data={},this._locale=ta.localeData(),this._bubble()}function m(a,b){for(var d in b)c(b,d)&&(a[d]=b[d]);return c(b,"toString")&&(a.toString=b.toString),c(b,"valueOf")&&(a.valueOf=b.valueOf),a}function n(a,b){var c,d,e;if("undefined"!=typeof b._isAMomentObject&&(a._isAMomentObject=b._isAMomentObject),"undefined"!=typeof b._i&&(a._i=b._i),"undefined"!=typeof b._f&&(a._f=b._f),"undefined"!=typeof b._l&&(a._l=b._l),"undefined"!=typeof b._strict&&(a._strict=b._strict),"undefined"!=typeof b._tzm&&(a._tzm=b._tzm),"undefined"!=typeof b._isUTC&&(a._isUTC=b._isUTC),"undefined"!=typeof b._offset&&(a._offset=b._offset),"undefined"!=typeof b._pf&&(a._pf=b._pf),"undefined"!=typeof b._locale&&(a._locale=b._locale),Ia.length>0)for(c in Ia)d=Ia[c],e=b[d],"undefined"!=typeof e&&(a[d]=e);return a}function o(a){return 0>a?Math.ceil(a):Math.floor(a)}function p(a,b,c){for(var d=""+Math.abs(a),e=a>=0;d.length<b;)d="0"+d;return(e?c?"+":"":"-")+d}function q(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function r(a,b){var c;return b=K(b,a),a.isBefore(b)?c=q(a,b):(c=q(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c}function s(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||(g(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period)."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=ta.duration(c,d),t(this,e,a),this}}function t(a,b,c,d){var e=b._milliseconds,f=b._days,g=b._months;d=null==d?!0:d,e&&a._d.setTime(+a._d+e*c),f&&na(a,"Date",ma(a,"Date")+f*c),g&&la(a,ma(a,"Month")+g*c),d&&ta.updateOffset(a,f||g)}function u(a){return"[object Array]"===Object.prototype.toString.call(a)}function v(a){return"[object Date]"===Object.prototype.toString.call(a)||a instanceof Date}function w(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;e>d;d++)(c&&a[d]!==b[d]||!c&&A(a[d])!==A(b[d]))&&g++;return g+f}function x(a){if(a){var b=a.toLowerCase().replace(/(.)s$/,"$1");a=jb[a]||kb[b]||b}return a}function y(a){var b,d,e={};for(d in a)c(a,d)&&(b=x(d),b&&(e[b]=a[d]));return e}function z(b){var c,d;if(0===b.indexOf("week"))c=7,d="day";else{if(0!==b.indexOf("month"))return;c=12,d="month"}ta[b]=function(e,f){var g,h,i=ta._locale[b],j=[];if("number"==typeof e&&(f=e,e=a),h=function(a){var b=ta().utc().set(d,a);return i.call(ta._locale,b,e||"")},null!=f)return h(f);for(g=0;c>g;g++)j.push(h(g));return j}}function A(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=b>=0?Math.floor(b):Math.ceil(b)),c}function B(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function C(a,b,c){return ha(ta([a,11,31+b-c]),b,c).week}function D(a){return E(a)?366:365}function E(a){return a%4===0&&a%100!==0||a%400===0}function F(a){var b;a._a&&-2===a._pf.overflow&&(b=a._a[Ba]<0||a._a[Ba]>11?Ba:a._a[Ca]<1||a._a[Ca]>B(a._a[Aa],a._a[Ba])?Ca:a._a[Da]<0||a._a[Da]>24||24===a._a[Da]&&(0!==a._a[Ea]||0!==a._a[Fa]||0!==a._a[Ga])?Da:a._a[Ea]<0||a._a[Ea]>59?Ea:a._a[Fa]<0||a._a[Fa]>59?Fa:a._a[Ga]<0||a._a[Ga]>999?Ga:-1,a._pf._overflowDayOfYear&&(Aa>b||b>Ca)&&(b=Ca),a._pf.overflow=b)}function G(b){return null==b._isValid&&(b._isValid=!isNaN(b._d.getTime())&&b._pf.overflow<0&&!b._pf.empty&&!b._pf.invalidMonth&&!b._pf.nullInput&&!b._pf.invalidFormat&&!b._pf.userInvalidated,b._strict&&(b._isValid=b._isValid&&0===b._pf.charsLeftOver&&0===b._pf.unusedTokens.length&&b._pf.bigHour===a)),b._isValid}function H(a){return a?a.toLowerCase().replace("_","-"):a}function I(a){for(var b,c,d,e,f=0;f<a.length;){for(e=H(a[f]).split("-"),b=e.length,c=H(a[f+1]),c=c?c.split("-"):null;b>0;){if(d=J(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&w(e,c,!0)>=b-1)break;b--}f++}return null}function J(a){var b=null;if(!Ha[a]&&Ja)try{b=ta.locale(),require("./locale/"+a),ta.locale(b)}catch(c){}return Ha[a]}function K(a,b){var c,d;return b._isUTC?(c=b.clone(),d=(ta.isMoment(a)||v(a)?+a:+ta(a))-+c,c._d.setTime(+c._d+d),ta.updateOffset(c,!1),c):ta(a).local()}function L(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function M(a){var b,c,d=a.match(Na);for(b=0,c=d.length;c>b;b++)pb[d[b]]?d[b]=pb[d[b]]:d[b]=L(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function N(a,b){return a.isValid()?(b=O(b,a.localeData()),lb[b]||(lb[b]=M(b)),lb[b](a)):a.localeData().invalidDate()}function O(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Oa.lastIndex=0;d>=0&&Oa.test(a);)a=a.replace(Oa,c),Oa.lastIndex=0,d-=1;return a}function P(a,b){var c,d=b._strict;switch(a){case"Q":return Za;case"DDDD":return _a;case"YYYY":case"GGGG":case"gggg":return d?ab:Ra;case"Y":case"G":case"g":return cb;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return d?bb:Sa;case"S":if(d)return Za;case"SS":if(d)return $a;case"SSS":if(d)return _a;case"DDD":return Qa;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Ua;case"a":case"A":return b._locale._meridiemParse;case"x":return Xa;case"X":return Ya;case"Z":case"ZZ":return Va;case"T":return Wa;case"SSSS":return Ta;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return d?$a:Pa;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return Pa;case"Do":return d?b._locale._ordinalParse:b._locale._ordinalParseLenient;default:return c=new RegExp(Y(X(a.replace("\\","")),"i"))}}function Q(a){a=a||"";var b=a.match(Va)||[],c=b[b.length-1]||[],d=(c+"").match(hb)||["-",0,0],e=+(60*d[1])+A(d[2]);return"+"===d[0]?-e:e}function R(a,b,c){var d,e=c._a;switch(a){case"Q":null!=b&&(e[Ba]=3*(A(b)-1));break;case"M":case"MM":null!=b&&(e[Ba]=A(b)-1);break;case"MMM":case"MMMM":d=c._locale.monthsParse(b,a,c._strict),null!=d?e[Ba]=d:c._pf.invalidMonth=b;break;case"D":case"DD":null!=b&&(e[Ca]=A(b));break;case"Do":null!=b&&(e[Ca]=A(parseInt(b.match(/\d{1,2}/)[0],10)));break;case"DDD":case"DDDD":null!=b&&(c._dayOfYear=A(b));break;case"YY":e[Aa]=ta.parseTwoDigitYear(b);break;case"YYYY":case"YYYYY":case"YYYYYY":e[Aa]=A(b);break;case"a":case"A":c._isPm=c._locale.isPM(b);break;case"h":case"hh":c._pf.bigHour=!0;case"H":case"HH":e[Da]=A(b);break;case"m":case"mm":e[Ea]=A(b);break;case"s":case"ss":e[Fa]=A(b);break;case"S":case"SS":case"SSS":case"SSSS":e[Ga]=A(1e3*("0."+b));break;case"x":c._d=new Date(A(b));break;case"X":c._d=new Date(1e3*parseFloat(b));break;case"Z":case"ZZ":c._useUTC=!0,c._tzm=Q(b);break;case"dd":case"ddd":case"dddd":d=c._locale.weekdaysParse(b),null!=d?(c._w=c._w||{},c._w.d=d):c._pf.invalidWeekday=b;break;case"w":case"ww":case"W":case"WW":case"d":case"e":case"E":a=a.substr(0,1);case"gggg":case"GGGG":case"GGGGG":a=a.substr(0,2),b&&(c._w=c._w||{},c._w[a]=A(b));break;case"gg":case"GG":c._w=c._w||{},c._w[a]=ta.parseTwoDigitYear(b)}}function S(a){var c,d,e,f,g,h,i;c=a._w,null!=c.GG||null!=c.W||null!=c.E?(g=1,h=4,d=b(c.GG,a._a[Aa],ha(ta(),1,4).year),e=b(c.W,1),f=b(c.E,1)):(g=a._locale._week.dow,h=a._locale._week.doy,d=b(c.gg,a._a[Aa],ha(ta(),g,h).year),e=b(c.w,1),null!=c.d?(f=c.d,g>f&&++e):f=null!=c.e?c.e+g:g),i=ia(d,e,f,h,g),a._a[Aa]=i.year,a._dayOfYear=i.dayOfYear}function T(a){var c,d,e,f,g=[];if(!a._d){for(e=V(a),a._w&&null==a._a[Ca]&&null==a._a[Ba]&&S(a),a._dayOfYear&&(f=b(a._a[Aa],e[Aa]),a._dayOfYear>D(f)&&(a._pf._overflowDayOfYear=!0),d=da(f,0,a._dayOfYear),a._a[Ba]=d.getUTCMonth(),a._a[Ca]=d.getUTCDate()),c=0;3>c&&null==a._a[c];++c)a._a[c]=g[c]=e[c];for(;7>c;c++)a._a[c]=g[c]=null==a._a[c]?2===c?1:0:a._a[c];24===a._a[Da]&&0===a._a[Ea]&&0===a._a[Fa]&&0===a._a[Ga]&&(a._nextDay=!0,a._a[Da]=0),a._d=(a._useUTC?da:ca).apply(null,g),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()+a._tzm),a._nextDay&&(a._a[Da]=24)}}function U(a){var b;a._d||(b=y(a._i),a._a=[b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],T(a))}function V(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function W(b){if(b._f===ta.ISO_8601)return void $(b);b._a=[],b._pf.empty=!0;var c,d,e,f,g,h=""+b._i,i=h.length,j=0;for(e=O(b._f,b._locale).match(Na)||[],c=0;c<e.length;c++)f=e[c],d=(h.match(P(f,b))||[])[0],d&&(g=h.substr(0,h.indexOf(d)),g.length>0&&b._pf.unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),pb[f]?(d?b._pf.empty=!1:b._pf.unusedTokens.push(f),R(f,d,b)):b._strict&&!d&&b._pf.unusedTokens.push(f);b._pf.charsLeftOver=i-j,h.length>0&&b._pf.unusedInput.push(h),b._pf.bigHour===!0&&b._a[Da]<=12&&(b._pf.bigHour=a),b._isPm&&b._a[Da]<12&&(b._a[Da]+=12),b._isPm===!1&&12===b._a[Da]&&(b._a[Da]=0),T(b),F(b)}function X(a){return a.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e})}function Y(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Z(a){var b,c,e,f,g;if(0===a._f.length)return a._pf.invalidFormat=!0,void(a._d=new Date(NaN));for(f=0;f<a._f.length;f++)g=0,b=n({},a),null!=a._useUTC&&(b._useUTC=a._useUTC),b._pf=d(),b._f=a._f[f],W(b),G(b)&&(g+=b._pf.charsLeftOver,g+=10*b._pf.unusedTokens.length,b._pf.score=g,(null==e||e>g)&&(e=g,c=b));m(a,c||b)}function $(a){var b,c,d=a._i,e=db.exec(d);if(e){for(a._pf.iso=!0,b=0,c=fb.length;c>b;b++)if(fb[b][1].exec(d)){a._f=fb[b][0]+(e[6]||" ");break}for(b=0,c=gb.length;c>b;b++)if(gb[b][1].exec(d)){a._f+=gb[b][0];break}d.match(Va)&&(a._f+="Z"),W(a)}else a._isValid=!1}function _(a){$(a),a._isValid===!1&&(delete a._isValid,ta.createFromInputFallback(a))}function aa(a,b){var c,d=[];for(c=0;c<a.length;++c)d.push(b(a[c],c));return d}function ba(b){var c,d=b._i;d===a?b._d=new Date:v(d)?b._d=new Date(+d):null!==(c=Ka.exec(d))?b._d=new Date(+c[1]):"string"==typeof d?_(b):u(d)?(b._a=aa(d.slice(0),function(a){return parseInt(a,10)}),T(b)):"object"==typeof d?U(b):"number"==typeof d?b._d=new Date(d):ta.createFromInputFallback(b)}function ca(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 1970>a&&h.setFullYear(a),h}function da(a){var b=new Date(Date.UTC.apply(null,arguments));return 1970>a&&b.setUTCFullYear(a),b}function ea(a,b){if("string"==typeof a)if(isNaN(a)){if(a=b.weekdaysParse(a),"number"!=typeof a)return null}else a=parseInt(a,10);return a}function fa(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function ga(a,b,c){var d=ta.duration(a).abs(),e=ya(d.as("s")),f=ya(d.as("m")),g=ya(d.as("h")),h=ya(d.as("d")),i=ya(d.as("M")),j=ya(d.as("y")),k=e<mb.s&&["s",e]||1===f&&["m"]||f<mb.m&&["mm",f]||1===g&&["h"]||g<mb.h&&["hh",g]||1===h&&["d"]||h<mb.d&&["dd",h]||1===i&&["M"]||i<mb.M&&["MM",i]||1===j&&["y"]||["yy",j];return k[2]=b,k[3]=+a>0,k[4]=c,fa.apply({},k)}function ha(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),e-7>f&&(f+=7),d=ta(a).add(f,"d"),{week:Math.ceil(d.dayOfYear()/7),year:d.year()}}function ia(a,b,c,d,e){var f,g,h=da(a,0,1).getUTCDay();return h=0===h?7:h,c=null!=c?c:e,f=e-h+(h>d?7:0)-(e>h?7:0),g=7*(b-1)+(c-e)+f+1,{year:g>0?a:a-1,dayOfYear:g>0?g:D(a-1)+g}}function ja(b){var c,d=b._i,e=b._f;return b._locale=b._locale||ta.localeData(b._l),null===d||e===a&&""===d?ta.invalid({nullInput:!0}):("string"==typeof d&&(b._i=d=b._locale.preparse(d)),ta.isMoment(d)?new k(d,!0):(e?u(e)?Z(b):W(b):ba(b),c=new k(b),c._nextDay&&(c.add(1,"d"),c._nextDay=a),c))}function ka(a,b){var c,d;if(1===b.length&&u(b[0])&&(b=b[0]),!b.length)return ta();for(c=b[0],d=1;d<b.length;++d)b[d][a](c)&&(c=b[d]);return c}function la(a,b){var c;return"string"==typeof b&&(b=a.localeData().monthsParse(b),"number"!=typeof b)?a:(c=Math.min(a.date(),B(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a)}function ma(a,b){return a._d["get"+(a._isUTC?"UTC":"")+b]()}function na(a,b,c){return"Month"===b?la(a,c):a._d["set"+(a._isUTC?"UTC":"")+b](c)}function oa(a,b){return function(c){return null!=c?(na(this,a,c),ta.updateOffset(this,b),this):ma(this,a)}}function pa(a){return 400*a/146097}function qa(a){return 146097*a/400}function ra(a){ta.duration.fn[a]=function(){return this._data[a]}}function sa(a){"undefined"==typeof ender&&(ua=xa.moment,a?xa.moment=f("Accessing Moment through the global scope is deprecated, and will be removed in an upcoming release.",ta):xa.moment=ta)}for(var ta,ua,va,wa="2.8.4",xa="undefined"!=typeof global?global:this,ya=Math.round,za=Object.prototype.hasOwnProperty,Aa=0,Ba=1,Ca=2,Da=3,Ea=4,Fa=5,Ga=6,Ha={},Ia=[],Ja="undefined"!=typeof module&&module&&module.exports,Ka=/^\/?Date\((\-?\d+)/i,La=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Ma=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,Na=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g,Oa=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Pa=/\d\d?/,Qa=/\d{1,3}/,Ra=/\d{1,4}/,Sa=/[+\-]?\d{1,6}/,Ta=/\d+/,Ua=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Va=/Z|[\+\-]\d\d:?\d\d/gi,Wa=/T/i,Xa=/[\+\-]?\d+/,Ya=/[\+\-]?\d+(\.\d{1,3})?/,Za=/\d/,$a=/\d\d/,_a=/\d{3}/,ab=/\d{4}/,bb=/[+-]?\d{6}/,cb=/[+-]?\d+/,db=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,eb="YYYY-MM-DDTHH:mm:ssZ",fb=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],gb=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],hb=/([\+\-]|\d\d)/gi,ib=("Date|Hours|Minutes|Seconds|Milliseconds".split("|"),{Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6}),jb={ms:"millisecond",s:"second",m:"minute",h:"hour",d:"day",D:"date",w:"week",W:"isoWeek",M:"month",Q:"quarter",y:"year",DDD:"dayOfYear",e:"weekday",E:"isoWeekday",gg:"weekYear",GG:"isoWeekYear"},kb={dayofyear:"dayOfYear",isoweekday:"isoWeekday",isoweek:"isoWeek",weekyear:"weekYear",isoweekyear:"isoWeekYear"},lb={},mb={s:45,m:45,h:22,d:26,M:11},nb="DDD w W M D d".split(" "),ob="M D H h m s w W".split(" "),pb={M:function(){return this.month()+1},MMM:function(a){return this.localeData().monthsShort(this,a)},MMMM:function(a){return this.localeData().months(this,a)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(a){return this.localeData().weekdaysMin(this,a)},ddd:function(a){return this.localeData().weekdaysShort(this,a)},dddd:function(a){return this.localeData().weekdays(this,a)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return p(this.year()%100,2)},YYYY:function(){return p(this.year(),4)},YYYYY:function(){return p(this.year(),5)},YYYYYY:function(){var a=this.year(),b=a>=0?"+":"-";return b+p(Math.abs(a),6)},gg:function(){return p(this.weekYear()%100,2)},gggg:function(){return p(this.weekYear(),4)},ggggg:function(){return p(this.weekYear(),5)},GG:function(){return p(this.isoWeekYear()%100,2)},GGGG:function(){return p(this.isoWeekYear(),4)},GGGGG:function(){return p(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return A(this.milliseconds()/100)},SS:function(){return p(A(this.milliseconds()/10),2)},SSS:function(){return p(this.milliseconds(),3)},SSSS:function(){return p(this.milliseconds(),3)},Z:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+p(A(a/60),2)+":"+p(A(a)%60,2)},ZZ:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+p(A(a/60),2)+p(A(a)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},x:function(){return this.valueOf()},X:function(){return this.unix()},Q:function(){return this.quarter()}},qb={},rb=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];nb.length;)va=nb.pop(),pb[va+"o"]=i(pb[va],va);for(;ob.length;)va=ob.pop(),pb[va+va]=h(pb[va],2);pb.DDDD=h(pb.DDD,3),m(j.prototype,{set:function(a){var b,c;for(c in a)b=a[c],"function"==typeof b?this[c]=b:this["_"+c]=b;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(a){return this._months[a.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(a){return this._monthsShort[a.month()]},monthsParse:function(a,b,c){var d,e,f;for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),d=0;12>d;d++){if(e=ta.utc([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp("^"+this.months(e,"").replace(".","")+"$","i"),this._shortMonthsParse[d]=new RegExp("^"+this.monthsShort(e,"").replace(".","")+"$","i")),c||this._monthsParse[d]||(f="^"+this.months(e,"")+"|^"+this.monthsShort(e,""),this._monthsParse[d]=new RegExp(f.replace(".",""),"i")),c&&"MMMM"===b&&this._longMonthsParse[d].test(a))return d;if(c&&"MMM"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d}},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(a){return this._weekdays[a.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(a){return this._weekdaysShort[a.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(a){return this._weekdaysMin[a.day()]},weekdaysParse:function(a){var b,c,d;for(this._weekdaysParse||(this._weekdaysParse=[]),b=0;7>b;b++)if(this._weekdaysParse[b]||(c=ta([2e3,1]).day(b),d="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[b]=new RegExp(d.replace(".",""),"i")),this._weekdaysParse[b].test(a))return b},_longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},longDateFormat:function(a){var b=this._longDateFormat[a];return!b&&this._longDateFormat[a.toUpperCase()]&&(b=this._longDateFormat[a.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a]=b),b},isPM:function(a){return"p"===(a+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(a,b,c){var d=this._calendar[a];return"function"==typeof d?d.apply(b,[c]):d},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(a,b,c,d){var e=this._relativeTime[c];return"function"==typeof e?e(a,b,c,d):e.replace(/%d/i,a)},pastFuture:function(a,b){var c=this._relativeTime[a>0?"future":"past"];return"function"==typeof c?c(b):c.replace(/%s/i,b)},ordinal:function(a){return this._ordinal.replace("%d",a)},_ordinal:"%d",_ordinalParse:/\d{1,2}/,preparse:function(a){return a},postformat:function(a){return a},week:function(a){return ha(a,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),ta=function(b,c,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._i=b,g._f=c,g._l=e,g._strict=f,g._isUTC=!1,g._pf=d(),ja(g)},ta.suppressDeprecationWarnings=!1,ta.createFromInputFallback=f("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),ta.min=function(){var a=[].slice.call(arguments,0);return ka("isBefore",a)},ta.max=function(){var a=[].slice.call(arguments,0);return ka("isAfter",a)},ta.utc=function(b,c,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._useUTC=!0,g._isUTC=!0,g._l=e,g._i=b,g._f=c,g._strict=f,g._pf=d(),ja(g).utc()},ta.unix=function(a){return ta(1e3*a)},ta.duration=function(a,b){var d,e,f,g,h=a,i=null;return ta.isDuration(a)?h={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(h={},b?h[b]=a:h.milliseconds=a):(i=La.exec(a))?(d="-"===i[1]?-1:1,h={y:0,d:A(i[Ca])*d,h:A(i[Da])*d,m:A(i[Ea])*d,s:A(i[Fa])*d,ms:A(i[Ga])*d}):(i=Ma.exec(a))?(d="-"===i[1]?-1:1,f=function(a){var b=a&&parseFloat(a.replace(",","."));return(isNaN(b)?0:b)*d},h={y:f(i[2]),M:f(i[3]),d:f(i[4]),h:f(i[5]),m:f(i[6]),s:f(i[7]),w:f(i[8])}):"object"==typeof h&&("from"in h||"to"in h)&&(g=r(ta(h.from),ta(h.to)),h={},h.ms=g.milliseconds,h.M=g.months),e=new l(h),ta.isDuration(a)&&c(a,"_locale")&&(e._locale=a._locale),e},ta.version=wa,ta.defaultFormat=eb,ta.ISO_8601=function(){},ta.momentProperties=Ia,ta.updateOffset=function(){},ta.relativeTimeThreshold=function(b,c){return mb[b]===a?!1:c===a?mb[b]:(mb[b]=c,!0)},ta.lang=f("moment.lang is deprecated. Use moment.locale instead.",function(a,b){return ta.locale(a,b)}),ta.locale=function(a,b){var c;return a&&(c="undefined"!=typeof b?ta.defineLocale(a,b):ta.localeData(a),c&&(ta.duration._locale=ta._locale=c)),ta._locale._abbr},ta.defineLocale=function(a,b){return null!==b?(b.abbr=a,Ha[a]||(Ha[a]=new j),Ha[a].set(b),ta.locale(a),Ha[a]):(delete Ha[a],null)},ta.langData=f("moment.langData is deprecated. Use moment.localeData instead.",function(a){return ta.localeData(a)}),ta.localeData=function(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return ta._locale;if(!u(a)){if(b=J(a))return b;a=[a]}return I(a)},ta.isMoment=function(a){return a instanceof k||null!=a&&c(a,"_isAMomentObject")},ta.isDuration=function(a){return a instanceof l};for(va=rb.length-1;va>=0;--va)z(rb[va]);ta.normalizeUnits=function(a){return x(a)},ta.invalid=function(a){var b=ta.utc(NaN);return null!=a?m(b._pf,a):b._pf.userInvalidated=!0,b},ta.parseZone=function(){return ta.apply(null,arguments).parseZone()},ta.parseTwoDigitYear=function(a){return A(a)+(A(a)>68?1900:2e3)},m(ta.fn=k.prototype,{clone:function(){return ta(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var a=ta(this).utc();return 0<a.year()&&a.year()<=9999?"function"==typeof Date.prototype.toISOString?this.toDate().toISOString():N(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):N(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")},toArray:function(){var a=this;return[a.year(),a.month(),a.date(),a.hours(),a.minutes(),a.seconds(),a.milliseconds()]},isValid:function(){return G(this)},isDSTShifted:function(){return this._a?this.isValid()&&w(this._a,(this._isUTC?ta.utc(this._a):ta(this._a)).toArray())>0:!1},parsingFlags:function(){return m({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(a){return this.zone(0,a)},local:function(a){return this._isUTC&&(this.zone(0,a),this._isUTC=!1,a&&this.add(this._dateTzOffset(),"m")),this},format:function(a){var b=N(this,a||ta.defaultFormat);return this.localeData().postformat(b)},add:s(1,"add"),subtract:s(-1,"subtract"),diff:function(a,b,c){var d,e,f,g=K(a,this),h=6e4*(this.zone()-g.zone());return b=x(b),"year"===b||"month"===b?(d=432e5*(this.daysInMonth()+g.daysInMonth()),e=12*(this.year()-g.year())+(this.month()-g.month()),f=this-ta(this).startOf("month")-(g-ta(g).startOf("month")),f-=6e4*(this.zone()-ta(this).startOf("month").zone()-(g.zone()-ta(g).startOf("month").zone())),e+=f/d,"year"===b&&(e/=12)):(d=this-g,e="second"===b?d/1e3:"minute"===b?d/6e4:"hour"===b?d/36e5:"day"===b?(d-h)/864e5:"week"===b?(d-h)/6048e5:d),c?e:o(e)},from:function(a,b){return ta.duration({to:this,from:a}).locale(this.locale()).humanize(!b)},fromNow:function(a){return this.from(ta(),a)},calendar:function(a){var b=a||ta(),c=K(b,this).startOf("day"),d=this.diff(c,"days",!0),e=-6>d?"sameElse":-1>d?"lastWeek":0>d?"lastDay":1>d?"sameDay":2>d?"nextDay":7>d?"nextWeek":"sameElse";return this.format(this.localeData().calendar(e,this,ta(b)))},isLeapYear:function(){return E(this.year())},isDST:function(){return this.zone()<this.clone().month(0).zone()||this.zone()<this.clone().month(5).zone()},day:function(a){var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=ea(a,this.localeData()),this.add(a-b,"d")):b},month:oa("Month",!0),startOf:function(a){switch(a=x(a)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===a?this.weekday(0):"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this},endOf:function(b){return b=x(b),b===a||"millisecond"===b?this:this.startOf(b).add(1,"isoWeek"===b?"week":b).subtract(1,"ms")},isAfter:function(a,b){var c;return b=x("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=ta.isMoment(a)?a:ta(a),+this>+a):(c=ta.isMoment(a)?+a:+ta(a),c<+this.clone().startOf(b))},isBefore:function(a,b){var c;return b=x("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=ta.isMoment(a)?a:ta(a),+a>+this):(c=ta.isMoment(a)?+a:+ta(a),+this.clone().endOf(b)<c)},isSame:function(a,b){var c;return b=x(b||"millisecond"),"millisecond"===b?(a=ta.isMoment(a)?a:ta(a),+this===+a):(c=+ta(a),+this.clone().startOf(b)<=c&&c<=+this.clone().endOf(b))},min:f("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(a){return a=ta.apply(null,arguments),this>a?this:a}),max:f("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(a){return a=ta.apply(null,arguments),a>this?this:a}),zone:function(a,b){var c,d=this._offset||0;return null==a?this._isUTC?d:this._dateTzOffset():("string"==typeof a&&(a=Q(a)),Math.abs(a)<16&&(a=60*a),!this._isUTC&&b&&(c=this._dateTzOffset()),this._offset=a,this._isUTC=!0,null!=c&&this.subtract(c,"m"),d!==a&&(!b||this._changeInProgress?t(this,ta.duration(d-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,ta.updateOffset(this,!0),this._changeInProgress=null)),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(a){return a=a?ta(a).zone():0,(this.zone()-a)%60===0},daysInMonth:function(){return B(this.year(),this.month())},dayOfYear:function(a){var b=ya((ta(this).startOf("day")-ta(this).startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")},quarter:function(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)},weekYear:function(a){var b=ha(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==a?b:this.add(a-b,"y")},isoWeekYear:function(a){var b=ha(this,1,4).year;return null==a?b:this.add(a-b,"y")},week:function(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")},isoWeek:function(a){var b=ha(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")},weekday:function(a){var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")},isoWeekday:function(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)},isoWeeksInYear:function(){return C(this.year(),1,4)},weeksInYear:function(){var a=this.localeData()._week;return C(this.year(),a.dow,a.doy)},get:function(a){return a=x(a),this[a]()},set:function(a,b){return a=x(a),"function"==typeof this[a]&&this[a](b),this},locale:function(b){var c;return b===a?this._locale._abbr:(c=ta.localeData(b),null!=c&&(this._locale=c),this)},lang:f("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(b){return b===a?this.localeData():this.locale(b)}),localeData:function(){return this._locale},_dateTzOffset:function(){return 15*Math.round(this._d.getTimezoneOffset()/15)}}),ta.fn.millisecond=ta.fn.milliseconds=oa("Milliseconds",!1),ta.fn.second=ta.fn.seconds=oa("Seconds",!1),ta.fn.minute=ta.fn.minutes=oa("Minutes",!1),ta.fn.hour=ta.fn.hours=oa("Hours",!0),ta.fn.date=oa("Date",!0),ta.fn.dates=f("dates accessor is deprecated. Use date instead.",oa("Date",!0)),ta.fn.year=oa("FullYear",!0),ta.fn.years=f("years accessor is deprecated. Use year instead.",oa("FullYear",!0)),ta.fn.days=ta.fn.day,ta.fn.months=ta.fn.month,ta.fn.weeks=ta.fn.week,ta.fn.isoWeeks=ta.fn.isoWeek,ta.fn.quarters=ta.fn.quarter,ta.fn.toJSON=ta.fn.toISOString,m(ta.duration.fn=l.prototype,{_bubble:function(){var a,b,c,d=this._milliseconds,e=this._days,f=this._months,g=this._data,h=0;g.milliseconds=d%1e3,a=o(d/1e3),g.seconds=a%60,b=o(a/60),g.minutes=b%60,c=o(b/60),g.hours=c%24,e+=o(c/24),h=o(pa(e)),e-=o(qa(h)),f+=o(e/30),e%=30,h+=o(f/12),f%=12,g.days=e,
+g.months=f,g.years=h},abs:function(){return this._milliseconds=Math.abs(this._milliseconds),this._days=Math.abs(this._days),this._months=Math.abs(this._months),this._data.milliseconds=Math.abs(this._data.milliseconds),this._data.seconds=Math.abs(this._data.seconds),this._data.minutes=Math.abs(this._data.minutes),this._data.hours=Math.abs(this._data.hours),this._data.months=Math.abs(this._data.months),this._data.years=Math.abs(this._data.years),this},weeks:function(){return o(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*A(this._months/12)},humanize:function(a){var b=ga(this,!a,this.localeData());return a&&(b=this.localeData().pastFuture(+this,b)),this.localeData().postformat(b)},add:function(a,b){var c=ta.duration(a,b);return this._milliseconds+=c._milliseconds,this._days+=c._days,this._months+=c._months,this._bubble(),this},subtract:function(a,b){var c=ta.duration(a,b);return this._milliseconds-=c._milliseconds,this._days-=c._days,this._months-=c._months,this._bubble(),this},get:function(a){return a=x(a),this[a.toLowerCase()+"s"]()},as:function(a){var b,c;if(a=x(a),"month"===a||"year"===a)return b=this._days+this._milliseconds/864e5,c=this._months+12*pa(b),"month"===a?c:c/12;switch(b=this._days+Math.round(qa(this._months/12)),a){case"week":return b/7+this._milliseconds/6048e5;case"day":return b+this._milliseconds/864e5;case"hour":return 24*b+this._milliseconds/36e5;case"minute":return 24*b*60+this._milliseconds/6e4;case"second":return 24*b*60*60+this._milliseconds/1e3;case"millisecond":return Math.floor(24*b*60*60*1e3)+this._milliseconds;default:throw new Error("Unknown unit "+a)}},lang:ta.fn.lang,locale:ta.fn.locale,toIsoString:f("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",function(){return this.toISOString()}),toISOString:function(){var a=Math.abs(this.years()),b=Math.abs(this.months()),c=Math.abs(this.days()),d=Math.abs(this.hours()),e=Math.abs(this.minutes()),f=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(a?a+"Y":"")+(b?b+"M":"")+(c?c+"D":"")+(d||e||f?"T":"")+(d?d+"H":"")+(e?e+"M":"")+(f?f+"S":""):"P0D"},localeData:function(){return this._locale}}),ta.duration.fn.toString=ta.duration.fn.toISOString;for(va in ib)c(ib,va)&&ra(va.toLowerCase());ta.duration.fn.asMilliseconds=function(){return this.as("ms")},ta.duration.fn.asSeconds=function(){return this.as("s")},ta.duration.fn.asMinutes=function(){return this.as("m")},ta.duration.fn.asHours=function(){return this.as("h")},ta.duration.fn.asDays=function(){return this.as("d")},ta.duration.fn.asWeeks=function(){return this.as("weeks")},ta.duration.fn.asMonths=function(){return this.as("M")},ta.duration.fn.asYears=function(){return this.as("y")},ta.locale("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===A(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),Ja?module.exports=ta:"function"==typeof define&&define.amd?(define("moment",function(a,b,c){return c.config&&c.config()&&c.config().noGlobal===!0&&(xa.moment=ua),ta}),sa(!0)):sa()}.call(this),function(a,b){if("function"==typeof define&&define.amd)define(["moment","jquery","exports"],function(c,d,e){a.daterangepicker=b(a,e,c,d)});else if("undefined"!=typeof exports){var c,d=require("moment");try{c=require("jquery")}catch(e){if(c=window.jQuery,!c)throw new Error("jQuery dependency not found")}b(a,exports,d,c)}else a.daterangepicker=b(a,{},a.moment,a.jQuery||a.Zepto||a.ender||a.$)}(this,function(a,b,c,d){var e=function(a,b,c){this.parentEl="body",this.element=d(a),this.isShowing=!1;var e='<div class="daterangepicker dropdown-menu"><div class="calendar first left"></div><div class="calendar second right"></div><div class="ranges"><div class="range_inputs"><div class="daterangepicker_start_input"><label for="daterangepicker_start"></label><input class="input-mini" type="text" name="daterangepicker_start" value="" /></div><div class="daterangepicker_end_input"><label for="daterangepicker_end"></label><input class="input-mini" type="text" name="daterangepicker_end" value="" /></div><button class="applyBtn" disabled="disabled"></button>&nbsp;<button class="cancelBtn"></button></div></div></div>';("object"!=typeof b||null===b)&&(b={}),this.parentEl=d("object"==typeof b&&b.parentEl&&d(b.parentEl).length?b.parentEl:this.parentEl),this.container=d(e).appendTo(this.parentEl),this.setOptions(b,c);var f=this.container;d.each(this.buttonClasses,function(a,b){f.find("button").addClass(b)}),this.container.find(".daterangepicker_start_input label").html(this.locale.fromLabel),this.container.find(".daterangepicker_end_input label").html(this.locale.toLabel),this.applyClass.length&&this.container.find(".applyBtn").addClass(this.applyClass),this.cancelClass.length&&this.container.find(".cancelBtn").addClass(this.cancelClass),this.container.find(".applyBtn").html(this.locale.applyLabel),this.container.find(".cancelBtn").html(this.locale.cancelLabel),this.container.find(".calendar").on("click.daterangepicker",".prev",d.proxy(this.clickPrev,this)).on("click.daterangepicker",".next",d.proxy(this.clickNext,this)).on("click.daterangepicker","td.available",d.proxy(this.clickDate,this)).on("mouseenter.daterangepicker","td.available",d.proxy(this.hoverDate,this)).on("mouseleave.daterangepicker","td.available",d.proxy(this.updateFormInputs,this)).on("change.daterangepicker","select.yearselect",d.proxy(this.updateMonthYear,this)).on("change.daterangepicker","select.monthselect",d.proxy(this.updateMonthYear,this)).on("change.daterangepicker","select.hourselect,select.minuteselect,select.secondselect,select.ampmselect",d.proxy(this.updateTime,this)),this.container.find(".ranges").on("click.daterangepicker","button.applyBtn",d.proxy(this.clickApply,this)).on("click.daterangepicker","button.cancelBtn",d.proxy(this.clickCancel,this)).on("click.daterangepicker",".daterangepicker_start_input,.daterangepicker_end_input",d.proxy(this.showCalendars,this)).on("change.daterangepicker",".daterangepicker_start_input,.daterangepicker_end_input",d.proxy(this.inputsChanged,this)).on("keydown.daterangepicker",".daterangepicker_start_input,.daterangepicker_end_input",d.proxy(this.inputsKeydown,this)).on("click.daterangepicker","li",d.proxy(this.clickRange,this)).on("mouseenter.daterangepicker","li",d.proxy(this.enterRange,this)).on("mouseleave.daterangepicker","li",d.proxy(this.updateFormInputs,this)),this.element.is("input")?this.element.on({"click.daterangepicker":d.proxy(this.show,this),"focus.daterangepicker":d.proxy(this.show,this),"keyup.daterangepicker":d.proxy(this.updateFromControl,this)}):this.element.on("click.daterangepicker",d.proxy(this.toggle,this))};e.prototype={constructor:e,setOptions:function(a,b){if(this.startDate=c().startOf("day"),this.endDate=c().endOf("day"),this.timeZone=c().zone(),this.minDate=!1,this.maxDate=!1,this.dateLimit=!1,this.showDropdowns=!1,this.showWeekNumbers=!1,this.timePicker=!1,this.timePickerSeconds=!1,this.timePickerIncrement=30,this.timePicker12Hour=!0,this.singleDatePicker=!1,this.ranges={},this.opens="right",this.element.hasClass("pull-right")&&(this.opens="left"),this.buttonClasses=["btn","btn-small btn-sm"],this.applyClass="btn-success",this.cancelClass="btn-default",this.format="MM/DD/YYYY",this.separator=" - ",this.locale={applyLabel:"Apply",cancelLabel:"Cancel",fromLabel:"From",toLabel:"To",weekLabel:"W",customRangeLabel:"Custom Range",daysOfWeek:c.weekdaysMin(),monthNames:c.monthsShort(),firstDay:c.localeData()._week.dow},this.cb=function(){},"string"==typeof a.format&&(this.format=a.format),"string"==typeof a.separator&&(this.separator=a.separator),"string"==typeof a.startDate&&(this.startDate=c(a.startDate,this.format)),"string"==typeof a.endDate&&(this.endDate=c(a.endDate,this.format)),"string"==typeof a.minDate&&(this.minDate=c(a.minDate,this.format)),"string"==typeof a.maxDate&&(this.maxDate=c(a.maxDate,this.format)),"object"==typeof a.startDate&&(this.startDate=c(a.startDate)),"object"==typeof a.endDate&&(this.endDate=c(a.endDate)),"object"==typeof a.minDate&&(this.minDate=c(a.minDate)),"object"==typeof a.maxDate&&(this.maxDate=c(a.maxDate)),"string"==typeof a.applyClass&&(this.applyClass=a.applyClass),"string"==typeof a.cancelClass&&(this.cancelClass=a.cancelClass),"object"==typeof a.dateLimit&&(this.dateLimit=a.dateLimit),"object"==typeof a.locale&&("object"==typeof a.locale.daysOfWeek&&(this.locale.daysOfWeek=a.locale.daysOfWeek.slice()),"object"==typeof a.locale.monthNames&&(this.locale.monthNames=a.locale.monthNames.slice()),"number"==typeof a.locale.firstDay&&(this.locale.firstDay=a.locale.firstDay),"string"==typeof a.locale.applyLabel&&(this.locale.applyLabel=a.locale.applyLabel),"string"==typeof a.locale.cancelLabel&&(this.locale.cancelLabel=a.locale.cancelLabel),"string"==typeof a.locale.fromLabel&&(this.locale.fromLabel=a.locale.fromLabel),"string"==typeof a.locale.toLabel&&(this.locale.toLabel=a.locale.toLabel),"string"==typeof a.locale.weekLabel&&(this.locale.weekLabel=a.locale.weekLabel),"string"==typeof a.locale.customRangeLabel&&(this.locale.customRangeLabel=a.locale.customRangeLabel)),"string"==typeof a.opens&&(this.opens=a.opens),"boolean"==typeof a.showWeekNumbers&&(this.showWeekNumbers=a.showWeekNumbers),"string"==typeof a.buttonClasses&&(this.buttonClasses=[a.buttonClasses]),"object"==typeof a.buttonClasses&&(this.buttonClasses=a.buttonClasses),"boolean"==typeof a.showDropdowns&&(this.showDropdowns=a.showDropdowns),"boolean"==typeof a.singleDatePicker&&(this.singleDatePicker=a.singleDatePicker,this.singleDatePicker&&(this.endDate=this.startDate.clone())),"boolean"==typeof a.timePicker&&(this.timePicker=a.timePicker),"boolean"==typeof a.timePickerSeconds&&(this.timePickerSeconds=a.timePickerSeconds),"number"==typeof a.timePickerIncrement&&(this.timePickerIncrement=a.timePickerIncrement),"boolean"==typeof a.timePicker12Hour&&(this.timePicker12Hour=a.timePicker12Hour),0!=this.locale.firstDay)for(var e=this.locale.firstDay;e>0;)this.locale.daysOfWeek.push(this.locale.daysOfWeek.shift()),e--;var f,g,h;if("undefined"==typeof a.startDate&&"undefined"==typeof a.endDate&&d(this.element).is("input[type=text]")){var i=d(this.element).val(),j=i.split(this.separator);f=g=null,2==j.length?(f=c(j[0],this.format),g=c(j[1],this.format)):this.singleDatePicker&&""!==i&&(f=c(i,this.format),g=c(i,this.format)),null!==f&&null!==g&&(this.startDate=f,this.endDate=g)}if("string"==typeof a.timeZone||"number"==typeof a.timeZone?(this.timeZone=a.timeZone,this.startDate.zone(this.timeZone),this.endDate.zone(this.timeZone)):this.timeZone=c(this.startDate).zone(),"object"==typeof a.ranges){for(h in a.ranges)f="string"==typeof a.ranges[h][0]?c(a.ranges[h][0],this.format):c(a.ranges[h][0]),g="string"==typeof a.ranges[h][1]?c(a.ranges[h][1],this.format):c(a.ranges[h][1]),this.minDate&&f.isBefore(this.minDate)&&(f=c(this.minDate)),this.maxDate&&g.isAfter(this.maxDate)&&(g=c(this.maxDate)),this.minDate&&g.isBefore(this.minDate)||this.maxDate&&f.isAfter(this.maxDate)||(this.ranges[h]=[f,g]);var k="<ul>";for(h in this.ranges)k+="<li>"+h+"</li>";k+="<li>"+this.locale.customRangeLabel+"</li>",k+="</ul>",this.container.find(".ranges ul").remove(),this.container.find(".ranges").prepend(k)}if("function"==typeof b&&(this.cb=b),this.timePicker||(this.startDate=this.startDate.startOf("day"),this.endDate=this.endDate.endOf("day")),this.singleDatePicker?(this.opens="right",this.container.addClass("single"),this.container.find(".calendar.right").show(),this.container.find(".calendar.left").hide(),this.timePicker?this.container.find(".ranges .daterangepicker_start_input, .ranges .daterangepicker_end_input").hide():this.container.find(".ranges").hide(),this.container.find(".calendar.right").hasClass("single")||this.container.find(".calendar.right").addClass("single")):(this.container.removeClass("single"),this.container.find(".calendar.right").removeClass("single"),this.container.find(".ranges").show()),this.oldStartDate=this.startDate.clone(),this.oldEndDate=this.endDate.clone(),this.oldChosenLabel=this.chosenLabel,this.leftCalendar={month:c([this.startDate.year(),this.startDate.month(),1,this.startDate.hour(),this.startDate.minute(),this.startDate.second()]),calendar:[]},this.rightCalendar={month:c([this.endDate.year(),this.endDate.month(),1,this.endDate.hour(),this.endDate.minute(),this.endDate.second()]),calendar:[]},"right"==this.opens||"center"==this.opens){var l=this.container.find(".calendar.first"),m=this.container.find(".calendar.second");m.hasClass("single")&&(m.removeClass("single"),l.addClass("single")),l.removeClass("left").addClass("right"),m.removeClass("right").addClass("left"),this.singleDatePicker&&(l.show(),m.hide())}"undefined"!=typeof a.ranges||this.singleDatePicker||this.container.addClass("show-calendar"),this.container.addClass("opens"+this.opens),this.updateView(),this.updateCalendars()},setStartDate:function(a){"string"==typeof a&&(this.startDate=c(a,this.format).zone(this.timeZone)),"object"==typeof a&&(this.startDate=c(a)),this.timePicker||(this.startDate=this.startDate.startOf("day")),this.oldStartDate=this.startDate.clone(),this.updateView(),this.updateCalendars(),this.updateInputText()},setEndDate:function(a){"string"==typeof a&&(this.endDate=c(a,this.format).zone(this.timeZone)),"object"==typeof a&&(this.endDate=c(a)),this.timePicker||(this.endDate=this.endDate.endOf("day")),this.oldEndDate=this.endDate.clone(),this.updateView(),this.updateCalendars(),this.updateInputText()},updateView:function(){this.leftCalendar.month.month(this.startDate.month()).year(this.startDate.year()).hour(this.startDate.hour()).minute(this.startDate.minute()),this.rightCalendar.month.month(this.endDate.month()).year(this.endDate.year()).hour(this.endDate.hour()).minute(this.endDate.minute()),this.updateFormInputs()},updateFormInputs:function(){this.container.find("input[name=daterangepicker_start]").val(this.startDate.format(this.format)),this.container.find("input[name=daterangepicker_end]").val(this.endDate.format(this.format)),this.startDate.isSame(this.endDate)||this.startDate.isBefore(this.endDate)?this.container.find("button.applyBtn").removeAttr("disabled"):this.container.find("button.applyBtn").attr("disabled","disabled")},updateFromControl:function(){if(this.element.is("input")&&this.element.val().length){var a=this.element.val().split(this.separator),b=null,d=null;2===a.length&&(b=c(a[0],this.format).zone(this.timeZone),d=c(a[1],this.format).zone(this.timeZone)),(this.singleDatePicker||null===b||null===d)&&(b=c(this.element.val(),this.format).zone(this.timeZone),d=b),d.isBefore(b)||(this.oldStartDate=this.startDate.clone(),this.oldEndDate=this.endDate.clone(),this.startDate=b,this.endDate=d,this.startDate.isSame(this.oldStartDate)&&this.endDate.isSame(this.oldEndDate)||this.notify(),this.updateCalendars())}},notify:function(){this.updateView(),this.cb(this.startDate,this.endDate,this.chosenLabel)},move:function(){var a={top:0,left:0},b=d(window).width();this.parentEl.is("body")||(a={top:this.parentEl.offset().top-this.parentEl.scrollTop(),left:this.parentEl.offset().left-this.parentEl.scrollLeft()},b=this.parentEl[0].clientWidth+this.parentEl.offset().left),"left"==this.opens?(this.container.css({top:this.element.offset().top+this.element.outerHeight()-a.top,right:b-this.element.offset().left-this.element.outerWidth(),left:"auto"}),this.container.offset().left<0&&this.container.css({right:"auto",left:9})):"center"==this.opens?(this.container.css({top:this.element.offset().top+this.element.outerHeight()-a.top,left:this.element.offset().left-a.left+this.element.outerWidth()/2-this.container.outerWidth()/2,right:"auto"}),this.container.offset().left<0&&this.container.css({right:"auto",left:9})):(this.container.css({top:this.element.offset().top+this.element.outerHeight()-a.top,left:this.element.offset().left-a.left,right:"auto"}),this.container.offset().left+this.container.outerWidth()>d(window).width()&&this.container.css({left:"auto",right:0}))},toggle:function(a){this.element.hasClass("active")?this.hide():this.show()},show:function(a){this.isShowing||(this.element.addClass("active"),this.container.show(),this.move(),this._outsideClickProxy=d.proxy(function(a){this.outsideClick(a)},this),d(document).on("mousedown.daterangepicker",this._outsideClickProxy).on("touchend.daterangepicker",this._outsideClickProxy).on("click.daterangepicker","[data-toggle=dropdown]",this._outsideClickProxy).on("focusin.daterangepicker",this._outsideClickProxy),this.isShowing=!0,this.element.trigger("show.daterangepicker",this))},outsideClick:function(a){var b=d(a.target);"focusin"==a.type||b.closest(this.element).length||b.closest(this.container).length||b.closest(".calendar-date").length||this.hide()},hide:function(a){this.isShowing&&(d(document).off(".daterangepicker"),this.element.removeClass("active"),this.container.hide(),this.startDate.isSame(this.oldStartDate)&&this.endDate.isSame(this.oldEndDate)||this.notify(),this.oldStartDate=this.startDate.clone(),this.oldEndDate=this.endDate.clone(),this.isShowing=!1,this.element.trigger("hide.daterangepicker",this))},enterRange:function(a){var b=a.target.innerHTML;if(b==this.locale.customRangeLabel)this.updateView();else{var c=this.ranges[b];this.container.find("input[name=daterangepicker_start]").val(c[0].format(this.format)),this.container.find("input[name=daterangepicker_end]").val(c[1].format(this.format))}},showCalendars:function(){this.container.addClass("show-calendar"),this.move(),this.element.trigger("showCalendar.daterangepicker",this)},hideCalendars:function(){this.container.removeClass("show-calendar"),this.element.trigger("hideCalendar.daterangepicker",this)},inputsChanged:function(a){var b=d(a.target),e=c(b.val(),this.format);if(e.isValid()){var f,g;"daterangepicker_start"===b.attr("name")?(f=e,g=this.endDate):(f=this.startDate,g=e),this.setCustomDates(f,g)}},inputsKeydown:function(a){13===a.keyCode&&(this.inputsChanged(a),this.notify())},updateInputText:function(){this.element.is("input")&&!this.singleDatePicker?this.element.val(this.startDate.format(this.format)+this.separator+this.endDate.format(this.format)):this.element.is("input")&&this.element.val(this.endDate.format(this.format))},clickRange:function(a){var b=a.target.innerHTML;if(this.chosenLabel=b,b==this.locale.customRangeLabel)this.showCalendars();else{var c=this.ranges[b];this.startDate=c[0],this.endDate=c[1],this.timePicker||(this.startDate.startOf("day"),this.endDate.endOf("day")),this.leftCalendar.month.month(this.startDate.month()).year(this.startDate.year()).hour(this.startDate.hour()).minute(this.startDate.minute()),this.rightCalendar.month.month(this.endDate.month()).year(this.endDate.year()).hour(this.endDate.hour()).minute(this.endDate.minute()),this.updateCalendars(),this.updateInputText(),this.hideCalendars(),this.hide(),this.element.trigger("apply.daterangepicker",this)}},clickPrev:function(a){var b=d(a.target).parents(".calendar");b.hasClass("left")?this.leftCalendar.month.subtract(1,"month"):this.rightCalendar.month.subtract(1,"month"),this.updateCalendars()},clickNext:function(a){var b=d(a.target).parents(".calendar");b.hasClass("left")?this.leftCalendar.month.add(1,"month"):this.rightCalendar.month.add(1,"month"),this.updateCalendars()},hoverDate:function(a){var b=d(a.target).attr("data-title"),c=b.substr(1,1),e=b.substr(3,1),f=d(a.target).parents(".calendar");f.hasClass("left")?this.container.find("input[name=daterangepicker_start]").val(this.leftCalendar.calendar[c][e].format(this.format)):this.container.find("input[name=daterangepicker_end]").val(this.rightCalendar.calendar[c][e].format(this.format))},setCustomDates:function(a,b){if(this.chosenLabel=this.locale.customRangeLabel,a.isAfter(b)){var d=this.endDate.diff(this.startDate);b=c(a).add(d,"ms")}this.startDate=a,this.endDate=b,this.updateView(),this.updateCalendars()},clickDate:function(a){var b,e,f=d(a.target).attr("data-title"),g=f.substr(1,1),h=f.substr(3,1),i=d(a.target).parents(".calendar");if(i.hasClass("left")){if(b=this.leftCalendar.calendar[g][h],e=this.endDate,"object"==typeof this.dateLimit){var j=c(b).add(this.dateLimit).startOf("day");e.isAfter(j)&&(e=j)}}else if(b=this.startDate,e=this.rightCalendar.calendar[g][h],"object"==typeof this.dateLimit){var k=c(e).subtract(this.dateLimit).startOf("day");b.isBefore(k)&&(b=k)}this.singleDatePicker&&i.hasClass("left")?e=b.clone():this.singleDatePicker&&i.hasClass("right")&&(b=e.clone()),i.find("td").removeClass("active"),d(a.target).addClass("active"),this.setCustomDates(b,e),this.timePicker||e.endOf("day"),this.singleDatePicker&&!this.timePicker&&this.clickApply()},clickApply:function(a){this.updateInputText(),this.hide(),this.element.trigger("apply.daterangepicker",this)},clickCancel:function(a){this.startDate=this.oldStartDate,this.endDate=this.oldEndDate,this.chosenLabel=this.oldChosenLabel,this.updateView(),this.updateCalendars(),this.hide(),this.element.trigger("cancel.daterangepicker",this)},updateMonthYear:function(a){var b=d(a.target).closest(".calendar").hasClass("left"),c=b?"left":"right",e=this.container.find(".calendar."+c),f=parseInt(e.find(".monthselect").val(),10),g=e.find(".yearselect").val();this[c+"Calendar"].month.month(f).year(g),this.updateCalendars()},updateTime:function(a){var b=d(a.target).closest(".calendar"),c=b.hasClass("left"),e=parseInt(b.find(".hourselect").val(),10),f=parseInt(b.find(".minuteselect").val(),10),g=0;if(this.timePickerSeconds&&(g=parseInt(b.find(".secondselect").val(),10)),this.timePicker12Hour){var h=b.find(".ampmselect").val();"PM"===h&&12>e&&(e+=12),"AM"===h&&12===e&&(e=0)}if(c){var i=this.startDate.clone();i.hour(e),i.minute(f),i.second(g),this.startDate=i,this.leftCalendar.month.hour(e).minute(f).second(g),this.singleDatePicker&&(this.endDate=i.clone())}else{var j=this.endDate.clone();j.hour(e),j.minute(f),j.second(g),this.endDate=j,this.singleDatePicker&&(this.startDate=j.clone()),this.rightCalendar.month.hour(e).minute(f).second(g)}this.updateView(),this.updateCalendars()},updateCalendars:function(){this.leftCalendar.calendar=this.buildCalendar(this.leftCalendar.month.month(),this.leftCalendar.month.year(),this.leftCalendar.month.hour(),this.leftCalendar.month.minute(),this.leftCalendar.month.second(),"left"),this.rightCalendar.calendar=this.buildCalendar(this.rightCalendar.month.month(),this.rightCalendar.month.year(),this.rightCalendar.month.hour(),this.rightCalendar.month.minute(),this.rightCalendar.month.second(),"right"),this.container.find(".calendar.left").empty().html(this.renderCalendar(this.leftCalendar.calendar,this.startDate,this.minDate,this.maxDate,"left")),this.container.find(".calendar.right").empty().html(this.renderCalendar(this.rightCalendar.calendar,this.endDate,this.singleDatePicker?this.minDate:this.startDate,this.maxDate,"right")),this.container.find(".ranges li").removeClass("active");var a=!0,b=0;for(var c in this.ranges)this.timePicker?this.startDate.isSame(this.ranges[c][0])&&this.endDate.isSame(this.ranges[c][1])&&(a=!1,this.chosenLabel=this.container.find(".ranges li:eq("+b+")").addClass("active").html()):this.startDate.format("YYYY-MM-DD")==this.ranges[c][0].format("YYYY-MM-DD")&&this.endDate.format("YYYY-MM-DD")==this.ranges[c][1].format("YYYY-MM-DD")&&(a=!1,this.chosenLabel=this.container.find(".ranges li:eq("+b+")").addClass("active").html()),b++;a&&(this.chosenLabel=this.container.find(".ranges li:last").addClass("active").html(),this.showCalendars())},buildCalendar:function(a,b,d,e,f,g){var h,i=c([b,a]).daysInMonth(),j=c([b,a,1]),k=c([b,a,i]),l=c(j).subtract(1,"month").month(),m=c(j).subtract(1,"month").year(),n=c([m,l]).daysInMonth(),o=j.day(),p=[];for(p.firstDay=j,p.lastDay=k,h=0;6>h;h++)p[h]=[];var q=n-o+this.locale.firstDay+1;q>n&&(q-=7),o==this.locale.firstDay&&(q=n-6);var r,s,t=c([m,l,q,12,e,f]).zone(this.timeZone);for(h=0,r=0,s=0;42>h;h++,r++,t=c(t).add(24,"hour"))h>0&&r%7===0&&(r=0,s++),p[s][r]=t.clone().hour(d),t.hour(12),this.minDate&&p[s][r].format("YYYY-MM-DD")==this.minDate.format("YYYY-MM-DD")&&p[s][r].isBefore(this.minDate)&&"left"==g&&(p[s][r]=this.minDate.clone()),this.maxDate&&p[s][r].format("YYYY-MM-DD")==this.maxDate.format("YYYY-MM-DD")&&p[s][r].isAfter(this.maxDate)&&"right"==g&&(p[s][r]=this.maxDate.clone());return p},renderDropdowns:function(a,b,c){for(var d=a.month(),e=a.year(),f=c&&c.year()||e+5,g=b&&b.year()||e-50,h='<select class="monthselect">',i=e==g,j=e==f,k=0;12>k;k++)(!i||k>=b.month())&&(!j||k<=c.month())&&(h+="<option value='"+k+"'"+(k===d?" selected='selected'":"")+">"+this.locale.monthNames[k]+"</option>");h+="</select>";for(var l='<select class="yearselect">',m=g;f>=m;m++)l+='<option value="'+m+'"'+(m===e?' selected="selected"':"")+">"+m+"</option>";return l+="</select>",h+l},renderCalendar:function(a,b,c,e,f){var g='<div class="calendar-date">';g+='<table class="table-condensed">',g+="<thead>",g+="<tr>",this.showWeekNumbers&&(g+="<th></th>"),g+=!c||c.isBefore(a.firstDay)?'<th class="prev available"><i class="fa fa-arrow-left icon-arrow-left glyphicon glyphicon-arrow-left"></i></th>':"<th></th>";var h=this.locale.monthNames[a[1][1].month()]+a[1][1].format(" YYYY");this.showDropdowns&&(h=this.renderDropdowns(a[1][1],c,e)),g+='<th colspan="5" class="month">'+h+"</th>",g+=!e||e.isAfter(a.lastDay)?'<th class="next available"><i class="fa fa-arrow-right icon-arrow-right glyphicon glyphicon-arrow-right"></i></th>':"<th></th>",g+="</tr>",g+="<tr>",this.showWeekNumbers&&(g+='<th class="week">'+this.locale.weekLabel+"</th>"),d.each(this.locale.daysOfWeek,function(a,b){g+="<th>"+b+"</th>"}),g+="</tr>",g+="</thead>",g+="<tbody>";for(var i=0;6>i;i++){g+="<tr>",this.showWeekNumbers&&(g+='<td class="week">'+a[i][0].week()+"</td>");for(var j=0;7>j;j++){var k="available ";k+=a[i][j].month()==a[1][1].month()?"":"off",c&&a[i][j].isBefore(c,"day")||e&&a[i][j].isAfter(e,"day")?k=" off disabled ":a[i][j].format("YYYY-MM-DD")==b.format("YYYY-MM-DD")?(k+=" active ",a[i][j].format("YYYY-MM-DD")==this.startDate.format("YYYY-MM-DD")&&(k+=" start-date "),a[i][j].format("YYYY-MM-DD")==this.endDate.format("YYYY-MM-DD")&&(k+=" end-date ")):a[i][j]>=this.startDate&&a[i][j]<=this.endDate&&(k+=" in-range ",a[i][j].isSame(this.startDate)&&(k+=" start-date "),a[i][j].isSame(this.endDate)&&(k+=" end-date "));var l="r"+i+"c"+j;g+='<td class="'+k.replace(/\s+/g," ").replace(/^\s?(.*?)\s?$/,"$1")+'" data-title="'+l+'">'+a[i][j].date()+"</td>"}g+="</tr>"}g+="</tbody>",g+="</table>",g+="</div>";var m;if(this.timePicker){g+='<div class="calendar-time">',g+='<select class="hourselect">';var n=0,o=23;c&&("left"==f||this.singleDatePicker)&&b.format("YYYY-MM-DD")==c.format("YYYY-MM-DD")&&(n=c.hour(),b.hour()<n&&b.hour(n),this.timePicker12Hour&&n>=12&&b.hour()>=12&&(n-=12),this.timePicker12Hour&&12==n&&(n=1)),e&&("right"==f||this.singleDatePicker)&&b.format("YYYY-MM-DD")==e.format("YYYY-MM-DD")&&(o=e.hour(),b.hour()>o&&b.hour(o),this.timePicker12Hour&&o>=12&&b.hour()>=12&&(o-=12));var p=0,q=23,r=b.hour();for(this.timePicker12Hour&&(p=1,q=12,r>=12&&(r-=12),0===r&&(r=12)),m=p;q>=m;m++)g+=m==r?'<option value="'+m+'" selected="selected">'+m+"</option>":n>m||m>o?'<option value="'+m+'" disabled="disabled" class="disabled">'+m+"</option>":'<option value="'+m+'">'+m+"</option>";g+="</select> : ",g+='<select class="minuteselect">';var s=0,t=59;for(c&&("left"==f||this.singleDatePicker)&&b.format("YYYY-MM-DD h A")==c.format("YYYY-MM-DD h A")&&(s=c.minute(),b.minute()<s&&b.minute(s)),e&&("right"==f||this.singleDatePicker)&&b.format("YYYY-MM-DD h A")==e.format("YYYY-MM-DD h A")&&(t=e.minute(),b.minute()>t&&b.minute(t)),m=0;60>m;m+=this.timePickerIncrement){var u=m;10>u&&(u="0"+u),g+=m==b.minute()?'<option value="'+m+'" selected="selected">'+u+"</option>":s>m||m>t?'<option value="'+m+'" disabled="disabled" class="disabled">'+u+"</option>":'<option value="'+m+'">'+u+"</option>"}if(g+="</select> ",this.timePickerSeconds){for(g+=': <select class="secondselect">',m=0;60>m;m+=this.timePickerIncrement){var u=m;10>u&&(u="0"+u),g+=m==b.second()?'<option value="'+m+'" selected="selected">'+u+"</option>":'<option value="'+m+'">'+u+"</option>"}g+="</select>"}if(this.timePicker12Hour){g+='<select class="ampmselect">';var v="",w="";c&&("left"==f||this.singleDatePicker)&&b.format("YYYY-MM-DD")==c.format("YYYY-MM-DD")&&c.hour()>=12&&(v=' disabled="disabled" class="disabled"'),e&&("right"==f||this.singleDatePicker)&&b.format("YYYY-MM-DD")==e.format("YYYY-MM-DD")&&e.hour()<12&&(w=' disabled="disabled" class="disabled"'),g+=b.hour()>=12?'<option value="AM"'+v+'>AM</option><option value="PM" selected="selected"'+w+">PM</option>":'<option value="AM" selected="selected"'+v+'>AM</option><option value="PM"'+w+">PM</option>",g+="</select>"}g+="</div>"}return g},remove:function(){this.container.remove(),this.element.off(".daterangepicker"),this.element.removeData("daterangepicker")}},d.fn.daterangepicker=function(a,b){return this.each(function(){var c=d(this);c.data("daterangepicker")&&c.data("daterangepicker").remove(),c.data("daterangepicker",new e(c,a,b))}),this}}),function(a){"use strict";a.module("ngBootstrap",[]).directive("input",["$compile","$parse","$filter",function(b,c,d){return{restrict:"E",require:"?ngModel",link:function(b,e,f,g){function h(a){return moment.isMoment(a)?a.toDate():a}function i(a){return moment.isMoment(a)?a:moment(a)}function j(a){return d("date")(h(a),l.format.replace(/Y/g,"y").replace(/D/g,"d"))}function k(a){return[j(a.startDate),j(a.endDate)].join(l.separator)}if("daterange"===f.type&&null!==g){var l={};l.format=f.format||"YYYY-MM-DD",l.separator=f.separator||" - ",l.minDate=f.minDate&&moment(f.minDate),l.maxDate=f.maxDate&&moment(f.maxDate),l.dateLimit=f.limit&&moment.duration.apply(this,f.limit.split(" ").map(function(a,b){return 0===b&&parseInt(a,10)||a})),l.ranges=f.ranges&&c(f.ranges)(b),l.locale=f.locale&&c(f.locale)(b),l.opens=f.opens||c(f.opens)(b),f.enabletimepicker&&(l.timePicker=!0,a.extend(l,c(f.enabletimepicker)(b))),g.$render=function(){g.$viewValue&&g.$viewValue.startDate&&e.val(k(g.$viewValue))},b.$watch(function(){return f.ngModel},function(a,c){return b[a]&&b[a].startDate?void(c===a&&(e.data("daterangepicker").startDate=i(b[a].startDate),e.data("daterangepicker").endDate=i(b[a].endDate),e.data("daterangepicker").updateView(),e.data("daterangepicker").updateCalendars(),e.data("daterangepicker").updateInputText())):void g.$setViewValue({startDate:moment().startOf("day"),endDate:moment().startOf("day")})}),e.daterangepicker(l,function(c,d,e){var f=g.$viewValue;a.equals(c,f.startDate)&&a.equals(d,f.endDate)||b.$apply(function(){g.$setViewValue({startDate:moment.isMoment(f.startDate)?c:c.toDate(),endDate:moment.isMoment(f.endDate)?d:d.toDate()}),g.$render()})})}}}}])}(angular),function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={exports:{},id:d,loaded:!1};return a[d].call(e.exports,e,e.exports,b),e.loaded=!0,e.exports}var c={};return b.m=a,b.c=c,b.p="",b(0)}([function(a,b,c){(function(b){a.exports=b.pdfMake=c(1)}).call(b,function(){return this}())},function(a,b,c){(function(b){"use strict";function d(a,b,c){this.docDefinition=a,this.fonts=b||h,this.vfs=c}var e=c(6),f=c(105),g=f.saveAs,h={Roboto:{normal:"Roboto-Regular.ttf",bold:"Roboto-Medium.ttf",italics:"Roboto-Italic.ttf",bolditalics:"Roboto-Italic.ttf"}};d.prototype._createDoc=function(a,c){var d=new e(this.fonts);d.fs.bindFS(this.vfs);var f,g=d.createPdfKitDocument(this.docDefinition,a),h=[];g.on("data",function(a){h.push(a)}),g.on("end",function(){f=b.concat(h),c(f,g._pdfMakePages)}),g.end()},d.prototype._getPages=function(a,b){if(!b)throw"getBuffer is an async method and needs a callback argument";this._createDoc(a,function(a,c){b(c)})},d.prototype.open=function(a){var b=window.open("","_blank");try{this.getDataUrl(function(a){b.location.href=a})}catch(c){throw b.close(),c}},d.prototype.print=function(){this.getDataUrl(function(a){var b=document.createElement("iframe");b.style.position="absolute",
+b.style.left="-99999px",b.src=a,b.onload=function(){function a(){document.body.removeChild(b),document.removeEventListener("click",a)}document.addEventListener("click",a,!1)},document.body.appendChild(b)},{autoPrint:!0})},d.prototype.download=function(a,b){"function"==typeof a&&(b=a,a=null),a=a||"file.pdf",this.getBuffer(function(c){var d;try{d=new Blob([c],{type:"application/pdf"})}catch(e){if("InvalidStateError"==e.name){var f=new Uint8Array(c);d=new Blob([f.buffer],{type:"application/pdf"})}}if(!d)throw"Could not generate blob";g(d,a),"function"==typeof b&&b()})},d.prototype.getBase64=function(a,b){if(!a)throw"getBase64 is an async method and needs a callback argument";this._createDoc(b,function(b){a(b.toString("base64"))})},d.prototype.getDataUrl=function(a,b){if(!a)throw"getDataUrl is an async method and needs a callback argument";this._createDoc(b,function(b){a("data:application/pdf;base64,"+b.toString("base64"))})},d.prototype.getBuffer=function(a,b){if(!a)throw"getBuffer is an async method and needs a callback argument";this._createDoc(b,function(b){a(b)})},a.exports={createPdf:function(a){return new d(a,window.pdfMake.fonts,window.pdfMake.vfs)}}}).call(b,c(2).Buffer)},function(a,b,c){(function(a,d){function e(){function a(){}try{var b=new Uint8Array(1);return b.foo=function(){return 42},b.constructor=a,42===b.foo()&&b.constructor===a&&"function"==typeof b.subarray&&0===b.subarray(1,1).byteLength}catch(c){return!1}}function f(){return a.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(b){return this instanceof a?(this.length=0,this.parent=void 0,"number"==typeof b?g(this,b):"string"==typeof b?h(this,b,arguments.length>1?arguments[1]:"utf8"):i(this,b)):arguments.length>1?new a(b,arguments[1]):new a(b)}function g(b,c){if(b=p(b,0>c?0:0|q(c)),!a.TYPED_ARRAY_SUPPORT)for(var d=0;c>d;d++)b[d]=0;return b}function h(a,b,c){("string"!=typeof c||""===c)&&(c="utf8");var d=0|s(b,c);return a=p(a,d),a.write(b,c),a}function i(b,c){if(a.isBuffer(c))return j(b,c);if(Y(c))return k(b,c);if(null==c)throw new TypeError("must start with number, buffer, array or string");if("undefined"!=typeof ArrayBuffer){if(c.buffer instanceof ArrayBuffer)return l(b,c);if(c instanceof ArrayBuffer)return m(b,c)}return c.length?n(b,c):o(b,c)}function j(a,b){var c=0|q(b.length);return a=p(a,c),b.copy(a,0,0,c),a}function k(a,b){var c=0|q(b.length);a=p(a,c);for(var d=0;c>d;d+=1)a[d]=255&b[d];return a}function l(a,b){var c=0|q(b.length);a=p(a,c);for(var d=0;c>d;d+=1)a[d]=255&b[d];return a}function m(b,c){return a.TYPED_ARRAY_SUPPORT?(c.byteLength,b=a._augment(new Uint8Array(c))):b=l(b,new Uint8Array(c)),b}function n(a,b){var c=0|q(b.length);a=p(a,c);for(var d=0;c>d;d+=1)a[d]=255&b[d];return a}function o(a,b){var c,d=0;"Buffer"===b.type&&Y(b.data)&&(c=b.data,d=0|q(c.length)),a=p(a,d);for(var e=0;d>e;e+=1)a[e]=255&c[e];return a}function p(b,c){a.TYPED_ARRAY_SUPPORT?(b=a._augment(new Uint8Array(c)),b.__proto__=a.prototype):(b.length=c,b._isBuffer=!0);var d=0!==c&&c<=a.poolSize>>>1;return d&&(b.parent=Z),b}function q(a){if(a>=f())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+f().toString(16)+" bytes");return 0|a}function r(b,c){if(!(this instanceof r))return new r(b,c);var d=new a(b,c);return delete d.parent,d}function s(a,b){"string"!=typeof a&&(a=""+a);var c=a.length;if(0===c)return 0;for(var d=!1;;)switch(b){case"ascii":case"binary":case"raw":case"raws":return c;case"utf8":case"utf-8":return R(a).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*c;case"hex":return c>>>1;case"base64":return U(a).length;default:if(d)return R(a).length;b=(""+b).toLowerCase(),d=!0}}function t(a,b,c){var d=!1;if(b=0|b,c=void 0===c||c===1/0?this.length:0|c,a||(a="utf8"),0>b&&(b=0),c>this.length&&(c=this.length),b>=c)return"";for(;;)switch(a){case"hex":return F(this,b,c);case"utf8":case"utf-8":return B(this,b,c);case"ascii":return D(this,b,c);case"binary":return E(this,b,c);case"base64":return A(this,b,c);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return G(this,b,c);default:if(d)throw new TypeError("Unknown encoding: "+a);a=(a+"").toLowerCase(),d=!0}}function u(a,b,c,d){c=Number(c)||0;var e=a.length-c;d?(d=Number(d),d>e&&(d=e)):d=e;var f=b.length;if(f%2!==0)throw new Error("Invalid hex string");d>f/2&&(d=f/2);for(var g=0;d>g;g++){var h=parseInt(b.substr(2*g,2),16);if(isNaN(h))throw new Error("Invalid hex string");a[c+g]=h}return g}function v(a,b,c,d){return V(R(b,a.length-c),a,c,d)}function w(a,b,c,d){return V(S(b),a,c,d)}function x(a,b,c,d){return w(a,b,c,d)}function y(a,b,c,d){return V(U(b),a,c,d)}function z(a,b,c,d){return V(T(b,a.length-c),a,c,d)}function A(a,b,c){return 0===b&&c===a.length?W.fromByteArray(a):W.fromByteArray(a.slice(b,c))}function B(a,b,c){c=Math.min(a.length,c);for(var d=[],e=b;c>e;){var f=a[e],g=null,h=f>239?4:f>223?3:f>191?2:1;if(c>=e+h){var i,j,k,l;switch(h){case 1:128>f&&(g=f);break;case 2:i=a[e+1],128===(192&i)&&(l=(31&f)<<6|63&i,l>127&&(g=l));break;case 3:i=a[e+1],j=a[e+2],128===(192&i)&&128===(192&j)&&(l=(15&f)<<12|(63&i)<<6|63&j,l>2047&&(55296>l||l>57343)&&(g=l));break;case 4:i=a[e+1],j=a[e+2],k=a[e+3],128===(192&i)&&128===(192&j)&&128===(192&k)&&(l=(15&f)<<18|(63&i)<<12|(63&j)<<6|63&k,l>65535&&1114112>l&&(g=l))}}null===g?(g=65533,h=1):g>65535&&(g-=65536,d.push(g>>>10&1023|55296),g=56320|1023&g),d.push(g),e+=h}return C(d)}function C(a){var b=a.length;if($>=b)return String.fromCharCode.apply(String,a);for(var c="",d=0;b>d;)c+=String.fromCharCode.apply(String,a.slice(d,d+=$));return c}function D(a,b,c){var d="";c=Math.min(a.length,c);for(var e=b;c>e;e++)d+=String.fromCharCode(127&a[e]);return d}function E(a,b,c){var d="";c=Math.min(a.length,c);for(var e=b;c>e;e++)d+=String.fromCharCode(a[e]);return d}function F(a,b,c){var d=a.length;(!b||0>b)&&(b=0),(!c||0>c||c>d)&&(c=d);for(var e="",f=b;c>f;f++)e+=Q(a[f]);return e}function G(a,b,c){for(var d=a.slice(b,c),e="",f=0;f<d.length;f+=2)e+=String.fromCharCode(d[f]+256*d[f+1]);return e}function H(a,b,c){if(a%1!==0||0>a)throw new RangeError("offset is not uint");if(a+b>c)throw new RangeError("Trying to access beyond buffer length")}function I(b,c,d,e,f,g){if(!a.isBuffer(b))throw new TypeError("buffer must be a Buffer instance");if(c>f||g>c)throw new RangeError("value is out of bounds");if(d+e>b.length)throw new RangeError("index out of range")}function J(a,b,c,d){0>b&&(b=65535+b+1);for(var e=0,f=Math.min(a.length-c,2);f>e;e++)a[c+e]=(b&255<<8*(d?e:1-e))>>>8*(d?e:1-e)}function K(a,b,c,d){0>b&&(b=4294967295+b+1);for(var e=0,f=Math.min(a.length-c,4);f>e;e++)a[c+e]=b>>>8*(d?e:3-e)&255}function L(a,b,c,d,e,f){if(b>e||f>b)throw new RangeError("value is out of bounds");if(c+d>a.length)throw new RangeError("index out of range");if(0>c)throw new RangeError("index out of range")}function M(a,b,c,d,e){return e||L(a,b,c,4,3.4028234663852886e38,-3.4028234663852886e38),X.write(a,b,c,d,23,4),c+4}function N(a,b,c,d,e){return e||L(a,b,c,8,1.7976931348623157e308,-1.7976931348623157e308),X.write(a,b,c,d,52,8),c+8}function O(a){if(a=P(a).replace(aa,""),a.length<2)return"";for(;a.length%4!==0;)a+="=";return a}function P(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function Q(a){return 16>a?"0"+a.toString(16):a.toString(16)}function R(a,b){b=b||1/0;for(var c,d=a.length,e=null,f=[],g=0;d>g;g++){if(c=a.charCodeAt(g),c>55295&&57344>c){if(!e){if(c>56319){(b-=3)>-1&&f.push(239,191,189);continue}if(g+1===d){(b-=3)>-1&&f.push(239,191,189);continue}e=c;continue}if(56320>c){(b-=3)>-1&&f.push(239,191,189),e=c;continue}c=e-55296<<10|c-56320|65536}else e&&(b-=3)>-1&&f.push(239,191,189);if(e=null,128>c){if((b-=1)<0)break;f.push(c)}else if(2048>c){if((b-=2)<0)break;f.push(c>>6|192,63&c|128)}else if(65536>c){if((b-=3)<0)break;f.push(c>>12|224,c>>6&63|128,63&c|128)}else{if(!(1114112>c))throw new Error("Invalid code point");if((b-=4)<0)break;f.push(c>>18|240,c>>12&63|128,c>>6&63|128,63&c|128)}}return f}function S(a){for(var b=[],c=0;c<a.length;c++)b.push(255&a.charCodeAt(c));return b}function T(a,b){for(var c,d,e,f=[],g=0;g<a.length&&!((b-=2)<0);g++)c=a.charCodeAt(g),d=c>>8,e=c%256,f.push(e),f.push(d);return f}function U(a){return W.toByteArray(O(a))}function V(a,b,c,d){for(var e=0;d>e&&!(e+c>=b.length||e>=a.length);e++)b[e+c]=a[e];return e}var W=c(3),X=c(4),Y=c(5);b.Buffer=a,b.SlowBuffer=r,b.INSPECT_MAX_BYTES=50,a.poolSize=8192;var Z={};a.TYPED_ARRAY_SUPPORT=void 0!==d.TYPED_ARRAY_SUPPORT?d.TYPED_ARRAY_SUPPORT:e(),a.TYPED_ARRAY_SUPPORT&&(a.prototype.__proto__=Uint8Array.prototype,a.__proto__=Uint8Array),a.isBuffer=function(a){return!(null==a||!a._isBuffer)},a.compare=function(b,c){if(!a.isBuffer(b)||!a.isBuffer(c))throw new TypeError("Arguments must be Buffers");if(b===c)return 0;for(var d=b.length,e=c.length,f=0,g=Math.min(d,e);g>f&&b[f]===c[f];)++f;return f!==g&&(d=b[f],e=c[f]),e>d?-1:d>e?1:0},a.isEncoding=function(a){switch(String(a).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"raw":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.concat=function(b,c){if(!Y(b))throw new TypeError("list argument must be an Array of Buffers.");if(0===b.length)return new a(0);var d;if(void 0===c)for(c=0,d=0;d<b.length;d++)c+=b[d].length;var e=new a(c),f=0;for(d=0;d<b.length;d++){var g=b[d];g.copy(e,f),f+=g.length}return e},a.byteLength=s,a.prototype.length=void 0,a.prototype.parent=void 0,a.prototype.toString=function(){var a=0|this.length;return 0===a?"":0===arguments.length?B(this,0,a):t.apply(this,arguments)},a.prototype.equals=function(b){if(!a.isBuffer(b))throw new TypeError("Argument must be a Buffer");return this===b?!0:0===a.compare(this,b)},a.prototype.inspect=function(){var a="",c=b.INSPECT_MAX_BYTES;return this.length>0&&(a=this.toString("hex",0,c).match(/.{2}/g).join(" "),this.length>c&&(a+=" ... ")),"<Buffer "+a+">"},a.prototype.compare=function(b){if(!a.isBuffer(b))throw new TypeError("Argument must be a Buffer");return this===b?0:a.compare(this,b)},a.prototype.indexOf=function(b,c){function d(a,b,c){for(var d=-1,e=0;c+e<a.length;e++)if(a[c+e]===b[-1===d?0:e-d]){if(-1===d&&(d=e),e-d+1===b.length)return c+d}else d=-1;return-1}if(c>2147483647?c=2147483647:-2147483648>c&&(c=-2147483648),c>>=0,0===this.length)return-1;if(c>=this.length)return-1;if(0>c&&(c=Math.max(this.length+c,0)),"string"==typeof b)return 0===b.length?-1:String.prototype.indexOf.call(this,b,c);if(a.isBuffer(b))return d(this,b,c);if("number"==typeof b)return a.TYPED_ARRAY_SUPPORT&&"function"===Uint8Array.prototype.indexOf?Uint8Array.prototype.indexOf.call(this,b,c):d(this,[b],c);throw new TypeError("val must be string, number or Buffer")},a.prototype.get=function(a){return console.log(".get() is deprecated. Access using array indexes instead."),this.readUInt8(a)},a.prototype.set=function(a,b){return console.log(".set() is deprecated. Access using array indexes instead."),this.writeUInt8(a,b)},a.prototype.write=function(a,b,c,d){if(void 0===b)d="utf8",c=this.length,b=0;else if(void 0===c&&"string"==typeof b)d=b,c=this.length,b=0;else if(isFinite(b))b=0|b,isFinite(c)?(c=0|c,void 0===d&&(d="utf8")):(d=c,c=void 0);else{var e=d;d=b,b=0|c,c=e}var f=this.length-b;if((void 0===c||c>f)&&(c=f),a.length>0&&(0>c||0>b)||b>this.length)throw new RangeError("attempt to write outside buffer bounds");d||(d="utf8");for(var g=!1;;)switch(d){case"hex":return u(this,a,b,c);case"utf8":case"utf-8":return v(this,a,b,c);case"ascii":return w(this,a,b,c);case"binary":return x(this,a,b,c);case"base64":return y(this,a,b,c);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return z(this,a,b,c);default:if(g)throw new TypeError("Unknown encoding: "+d);d=(""+d).toLowerCase(),g=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var $=4096;a.prototype.slice=function(b,c){var d=this.length;b=~~b,c=void 0===c?d:~~c,0>b?(b+=d,0>b&&(b=0)):b>d&&(b=d),0>c?(c+=d,0>c&&(c=0)):c>d&&(c=d),b>c&&(c=b);var e;if(a.TYPED_ARRAY_SUPPORT)e=a._augment(this.subarray(b,c));else{var f=c-b;e=new a(f,void 0);for(var g=0;f>g;g++)e[g]=this[g+b]}return e.length&&(e.parent=this.parent||this),e},a.prototype.readUIntLE=function(a,b,c){a=0|a,b=0|b,c||H(a,b,this.length);for(var d=this[a],e=1,f=0;++f<b&&(e*=256);)d+=this[a+f]*e;return d},a.prototype.readUIntBE=function(a,b,c){a=0|a,b=0|b,c||H(a,b,this.length);for(var d=this[a+--b],e=1;b>0&&(e*=256);)d+=this[a+--b]*e;return d},a.prototype.readUInt8=function(a,b){return b||H(a,1,this.length),this[a]},a.prototype.readUInt16LE=function(a,b){return b||H(a,2,this.length),this[a]|this[a+1]<<8},a.prototype.readUInt16BE=function(a,b){return b||H(a,2,this.length),this[a]<<8|this[a+1]},a.prototype.readUInt32LE=function(a,b){return b||H(a,4,this.length),(this[a]|this[a+1]<<8|this[a+2]<<16)+16777216*this[a+3]},a.prototype.readUInt32BE=function(a,b){return b||H(a,4,this.length),16777216*this[a]+(this[a+1]<<16|this[a+2]<<8|this[a+3])},a.prototype.readIntLE=function(a,b,c){a=0|a,b=0|b,c||H(a,b,this.length);for(var d=this[a],e=1,f=0;++f<b&&(e*=256);)d+=this[a+f]*e;return e*=128,d>=e&&(d-=Math.pow(2,8*b)),d},a.prototype.readIntBE=function(a,b,c){a=0|a,b=0|b,c||H(a,b,this.length);for(var d=b,e=1,f=this[a+--d];d>0&&(e*=256);)f+=this[a+--d]*e;return e*=128,f>=e&&(f-=Math.pow(2,8*b)),f},a.prototype.readInt8=function(a,b){return b||H(a,1,this.length),128&this[a]?-1*(255-this[a]+1):this[a]},a.prototype.readInt16LE=function(a,b){b||H(a,2,this.length);var c=this[a]|this[a+1]<<8;return 32768&c?4294901760|c:c},a.prototype.readInt16BE=function(a,b){b||H(a,2,this.length);var c=this[a+1]|this[a]<<8;return 32768&c?4294901760|c:c},a.prototype.readInt32LE=function(a,b){return b||H(a,4,this.length),this[a]|this[a+1]<<8|this[a+2]<<16|this[a+3]<<24},a.prototype.readInt32BE=function(a,b){return b||H(a,4,this.length),this[a]<<24|this[a+1]<<16|this[a+2]<<8|this[a+3]},a.prototype.readFloatLE=function(a,b){return b||H(a,4,this.length),X.read(this,a,!0,23,4)},a.prototype.readFloatBE=function(a,b){return b||H(a,4,this.length),X.read(this,a,!1,23,4)},a.prototype.readDoubleLE=function(a,b){return b||H(a,8,this.length),X.read(this,a,!0,52,8)},a.prototype.readDoubleBE=function(a,b){return b||H(a,8,this.length),X.read(this,a,!1,52,8)},a.prototype.writeUIntLE=function(a,b,c,d){a=+a,b=0|b,c=0|c,d||I(this,a,b,c,Math.pow(2,8*c),0);var e=1,f=0;for(this[b]=255&a;++f<c&&(e*=256);)this[b+f]=a/e&255;return b+c},a.prototype.writeUIntBE=function(a,b,c,d){a=+a,b=0|b,c=0|c,d||I(this,a,b,c,Math.pow(2,8*c),0);var e=c-1,f=1;for(this[b+e]=255&a;--e>=0&&(f*=256);)this[b+e]=a/f&255;return b+c},a.prototype.writeUInt8=function(b,c,d){return b=+b,c=0|c,d||I(this,b,c,1,255,0),a.TYPED_ARRAY_SUPPORT||(b=Math.floor(b)),this[c]=255&b,c+1},a.prototype.writeUInt16LE=function(b,c,d){return b=+b,c=0|c,d||I(this,b,c,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[c]=255&b,this[c+1]=b>>>8):J(this,b,c,!0),c+2},a.prototype.writeUInt16BE=function(b,c,d){return b=+b,c=0|c,d||I(this,b,c,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[c]=b>>>8,this[c+1]=255&b):J(this,b,c,!1),c+2},a.prototype.writeUInt32LE=function(b,c,d){return b=+b,c=0|c,d||I(this,b,c,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[c+3]=b>>>24,this[c+2]=b>>>16,this[c+1]=b>>>8,this[c]=255&b):K(this,b,c,!0),c+4},a.prototype.writeUInt32BE=function(b,c,d){return b=+b,c=0|c,d||I(this,b,c,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[c]=b>>>24,this[c+1]=b>>>16,this[c+2]=b>>>8,this[c+3]=255&b):K(this,b,c,!1),c+4},a.prototype.writeIntLE=function(a,b,c,d){if(a=+a,b=0|b,!d){var e=Math.pow(2,8*c-1);I(this,a,b,c,e-1,-e)}var f=0,g=1,h=0>a?1:0;for(this[b]=255&a;++f<c&&(g*=256);)this[b+f]=(a/g>>0)-h&255;return b+c},a.prototype.writeIntBE=function(a,b,c,d){if(a=+a,b=0|b,!d){var e=Math.pow(2,8*c-1);I(this,a,b,c,e-1,-e)}var f=c-1,g=1,h=0>a?1:0;for(this[b+f]=255&a;--f>=0&&(g*=256);)this[b+f]=(a/g>>0)-h&255;return b+c},a.prototype.writeInt8=function(b,c,d){return b=+b,c=0|c,d||I(this,b,c,1,127,-128),a.TYPED_ARRAY_SUPPORT||(b=Math.floor(b)),0>b&&(b=255+b+1),this[c]=255&b,c+1},a.prototype.writeInt16LE=function(b,c,d){return b=+b,c=0|c,d||I(this,b,c,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[c]=255&b,this[c+1]=b>>>8):J(this,b,c,!0),c+2},a.prototype.writeInt16BE=function(b,c,d){return b=+b,c=0|c,d||I(this,b,c,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[c]=b>>>8,this[c+1]=255&b):J(this,b,c,!1),c+2},a.prototype.writeInt32LE=function(b,c,d){return b=+b,c=0|c,d||I(this,b,c,4,2147483647,-2147483648),a.TYPED_ARRAY_SUPPORT?(this[c]=255&b,this[c+1]=b>>>8,this[c+2]=b>>>16,this[c+3]=b>>>24):K(this,b,c,!0),c+4},a.prototype.writeInt32BE=function(b,c,d){return b=+b,c=0|c,d||I(this,b,c,4,2147483647,-2147483648),0>b&&(b=4294967295+b+1),a.TYPED_ARRAY_SUPPORT?(this[c]=b>>>24,this[c+1]=b>>>16,this[c+2]=b>>>8,this[c+3]=255&b):K(this,b,c,!1),c+4},a.prototype.writeFloatLE=function(a,b,c){return M(this,a,b,!0,c)},a.prototype.writeFloatBE=function(a,b,c){return M(this,a,b,!1,c)},a.prototype.writeDoubleLE=function(a,b,c){return N(this,a,b,!0,c)},a.prototype.writeDoubleBE=function(a,b,c){return N(this,a,b,!1,c)},a.prototype.copy=function(b,c,d,e){if(d||(d=0),e||0===e||(e=this.length),c>=b.length&&(c=b.length),c||(c=0),e>0&&d>e&&(e=d),e===d)return 0;if(0===b.length||0===this.length)return 0;if(0>c)throw new RangeError("targetStart out of bounds");if(0>d||d>=this.length)throw new RangeError("sourceStart out of bounds");if(0>e)throw new RangeError("sourceEnd out of bounds");e>this.length&&(e=this.length),b.length-c<e-d&&(e=b.length-c+d);var f,g=e-d;if(this===b&&c>d&&e>c)for(f=g-1;f>=0;f--)b[f+c]=this[f+d];else if(1e3>g||!a.TYPED_ARRAY_SUPPORT)for(f=0;g>f;f++)b[f+c]=this[f+d];else b._set(this.subarray(d,d+g),c);return g},a.prototype.fill=function(a,b,c){if(a||(a=0),b||(b=0),c||(c=this.length),b>c)throw new RangeError("end < start");if(c!==b&&0!==this.length){if(0>b||b>=this.length)throw new RangeError("start out of bounds");if(0>c||c>this.length)throw new RangeError("end out of bounds");var d;if("number"==typeof a)for(d=b;c>d;d++)this[d]=a;else{var e=R(a.toString()),f=e.length;for(d=b;c>d;d++)this[d]=e[d%f]}return this}},a.prototype.toArrayBuffer=function(){if("undefined"!=typeof Uint8Array){if(a.TYPED_ARRAY_SUPPORT)return new a(this).buffer;for(var b=new Uint8Array(this.length),c=0,d=b.length;d>c;c+=1)b[c]=this[c];return b.buffer}throw new TypeError("Buffer.toArrayBuffer not supported in this browser")};var _=a.prototype;a._augment=function(b){return b.constructor=a,b._isBuffer=!0,b._set=b.set,b.get=_.get,b.set=_.set,b.write=_.write,b.toString=_.toString,b.toLocaleString=_.toString,b.toJSON=_.toJSON,b.equals=_.equals,b.compare=_.compare,b.indexOf=_.indexOf,b.copy=_.copy,b.slice=_.slice,b.readUIntLE=_.readUIntLE,b.readUIntBE=_.readUIntBE,b.readUInt8=_.readUInt8,b.readUInt16LE=_.readUInt16LE,b.readUInt16BE=_.readUInt16BE,b.readUInt32LE=_.readUInt32LE,b.readUInt32BE=_.readUInt32BE,b.readIntLE=_.readIntLE,b.readIntBE=_.readIntBE,b.readInt8=_.readInt8,b.readInt16LE=_.readInt16LE,b.readInt16BE=_.readInt16BE,b.readInt32LE=_.readInt32LE,b.readInt32BE=_.readInt32BE,b.readFloatLE=_.readFloatLE,b.readFloatBE=_.readFloatBE,b.readDoubleLE=_.readDoubleLE,b.readDoubleBE=_.readDoubleBE,b.writeUInt8=_.writeUInt8,b.writeUIntLE=_.writeUIntLE,b.writeUIntBE=_.writeUIntBE,b.writeUInt16LE=_.writeUInt16LE,b.writeUInt16BE=_.writeUInt16BE,b.writeUInt32LE=_.writeUInt32LE,b.writeUInt32BE=_.writeUInt32BE,b.writeIntLE=_.writeIntLE,b.writeIntBE=_.writeIntBE,b.writeInt8=_.writeInt8,b.writeInt16LE=_.writeInt16LE,b.writeInt16BE=_.writeInt16BE,b.writeInt32LE=_.writeInt32LE,b.writeInt32BE=_.writeInt32BE,b.writeFloatLE=_.writeFloatLE,b.writeFloatBE=_.writeFloatBE,b.writeDoubleLE=_.writeDoubleLE,b.writeDoubleBE=_.writeDoubleBE,b.fill=_.fill,b.inspect=_.inspect,b.toArrayBuffer=_.toArrayBuffer,b};var aa=/[^+\/0-9A-Za-z-_]/g}).call(b,c(2).Buffer,function(){return this}())},function(a,b,c){var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";!function(a){"use strict";function b(a){var b=a.charCodeAt(0);return b===g||b===l?62:b===h||b===m?63:i>b?-1:i+10>b?b-i+26+26:k+26>b?b-k:j+26>b?b-j+26:void 0}function c(a){function c(a){j[l++]=a}var d,e,g,h,i,j;if(a.length%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var k=a.length;i="="===a.charAt(k-2)?2:"="===a.charAt(k-1)?1:0,j=new f(3*a.length/4-i),g=i>0?a.length-4:a.length;var l=0;for(d=0,e=0;g>d;d+=4,e+=3)h=b(a.charAt(d))<<18|b(a.charAt(d+1))<<12|b(a.charAt(d+2))<<6|b(a.charAt(d+3)),c((16711680&h)>>16),c((65280&h)>>8),c(255&h);return 2===i?(h=b(a.charAt(d))<<2|b(a.charAt(d+1))>>4,c(255&h)):1===i&&(h=b(a.charAt(d))<<10|b(a.charAt(d+1))<<4|b(a.charAt(d+2))>>2,c(h>>8&255),c(255&h)),j}function e(a){function b(a){return d.charAt(a)}function c(a){return b(a>>18&63)+b(a>>12&63)+b(a>>6&63)+b(63&a)}var e,f,g,h=a.length%3,i="";for(e=0,g=a.length-h;g>e;e+=3)f=(a[e]<<16)+(a[e+1]<<8)+a[e+2],i+=c(f);switch(h){case 1:f=a[a.length-1],i+=b(f>>2),i+=b(f<<4&63),i+="==";break;case 2:f=(a[a.length-2]<<8)+a[a.length-1],i+=b(f>>10),i+=b(f>>4&63),i+=b(f<<2&63),i+="="}return i}var f="undefined"!=typeof Uint8Array?Uint8Array:Array,g="+".charCodeAt(0),h="/".charCodeAt(0),i="0".charCodeAt(0),j="a".charCodeAt(0),k="A".charCodeAt(0),l="-".charCodeAt(0),m="_".charCodeAt(0);a.toByteArray=c,a.fromByteArray=e}(b)},function(a,b){b.read=function(a,b,c,d,e){var f,g,h=8*e-d-1,i=(1<<h)-1,j=i>>1,k=-7,l=c?e-1:0,m=c?-1:1,n=a[b+l];for(l+=m,f=n&(1<<-k)-1,n>>=-k,k+=h;k>0;f=256*f+a[b+l],l+=m,k-=8);for(g=f&(1<<-k)-1,f>>=-k,k+=d;k>0;g=256*g+a[b+l],l+=m,k-=8);if(0===f)f=1-j;else{if(f===i)return g?NaN:(n?-1:1)*(1/0);g+=Math.pow(2,d),f-=j}return(n?-1:1)*g*Math.pow(2,f-d)},b.write=function(a,b,c,d,e,f){var g,h,i,j=8*f-e-1,k=(1<<j)-1,l=k>>1,m=23===e?Math.pow(2,-24)-Math.pow(2,-77):0,n=d?0:f-1,o=d?1:-1,p=0>b||0===b&&0>1/b?1:0;for(b=Math.abs(b),isNaN(b)||b===1/0?(h=isNaN(b)?1:0,g=k):(g=Math.floor(Math.log(b)/Math.LN2),b*(i=Math.pow(2,-g))<1&&(g--,i*=2),b+=g+l>=1?m/i:m*Math.pow(2,1-l),b*i>=2&&(g++,i/=2),g+l>=k?(h=0,g=k):g+l>=1?(h=(b*i-1)*Math.pow(2,e),g+=l):(h=b*Math.pow(2,l-1)*Math.pow(2,e),g=0));e>=8;a[c+n]=255&h,n+=o,h/=256,e-=8);for(g=g<<e|h,j+=e;j>0;a[c+n]=255&g,n+=o,g/=256,j-=8);a[c+n-o]|=128*p}},function(a,b){var c=Array.isArray,d=Object.prototype.toString;a.exports=c||function(a){return!!a&&"[object Array]"==d.call(a)}},function(a,b,c){"use strict";function d(a){this.fontDescriptors=a}function e(a){if(!a)return null;if("number"==typeof a||a instanceof Number)a={left:a,right:a,top:a,bottom:a};else if(a instanceof Array)if(2===a.length)a={left:a[0],top:a[1],right:a[0],bottom:a[1]};else{if(4!==a.length)throw"Invalid pageMargins definition";a={left:a[0],top:a[1],right:a[2],bottom:a[3]}}return a}function f(a){a.registerTableLayouts({noBorders:{hLineWidth:function(a){return 0},vLineWidth:function(a){return 0},paddingLeft:function(a){return a&&4||0},paddingRight:function(a,b){return a<b.table.widths.length-1?4:0}},headerLineOnly:{hLineWidth:function(a,b){return 0===a||a===b.table.body.length?0:a===b.table.headerRows?2:0},vLineWidth:function(a){return 0},paddingLeft:function(a){return 0===a?0:8},paddingRight:function(a,b){return a===b.table.widths.length-1?0:8}},lightHorizontalLines:{hLineWidth:function(a,b){return 0===a||a===b.table.body.length?0:a===b.table.headerRows?2:1},vLineWidth:function(a){return 0},hLineColor:function(a){return 1===a?"black":"#aaa"},paddingLeft:function(a){return 0===a?0:8},paddingRight:function(a,b){return a===b.table.widths.length-1?0:8}}})}function g(a){if("string"==typeof a||a instanceof String){var b=q[a.toUpperCase()];if(!b)throw"Page size "+a+" not recognized";return{width:b[0],height:b[1]}}return a}function h(a,b){var c=b.options.size[0]>b.options.size[1]?"landscape":"portrait";if(a.pageSize.orientation!==c){var d=b.options.size[0],e=b.options.size[1];b.options.size=[e,d]}}function i(a,b,c){c._pdfMakePages=a;for(var d=0;d<a.length;d++){d>0&&(h(a[d],c),c.addPage(c.options));for(var e=a[d],f=0,g=e.items.length;g>f;f++){var i=e.items[f];switch(i.type){case"vector":l(i.item,c);break;case"line":j(i.item,i.item.x,i.item.y,c);break;case"image":m(i.item,i.item.x,i.item.y,c)}}e.watermark&&k(e,c),b.setFontRefsToPdfDoc()}}function j(a,b,c,d){b=b||0,c=c||0;var e=a.getHeight(),f=a.getAscenderHeight();s.drawBackground(a,b,c,d);for(var g=0,h=a.inlines.length;h>g;g++){var i=a.inlines[g];d.fill(i.color||"black"),d.save(),d.transform(1,0,0,-1,0,d.page.height);var j=i.font.encode(i.text);d.addContent("BT"),d.addContent(""+(b+i.x)+" "+(d.page.height-c-f)+" Td"),d.addContent("/"+j.fontId+" "+i.fontSize+" Tf"),d.addContent("<"+j.encodedText+"> Tj"),d.addContent("ET"),i.link&&d.link(b+i.x,d.page.height-c-e,i.width,e,i.link),d.restore()}s.drawDecorations(a,b,c,d)}function k(a,b){var c=a.watermark;b.fill("black"),b.opacity(.6),b.save(),b.transform(1,0,0,-1,0,b.page.height);var d=180*Math.atan2(b.page.height,b.page.width)/Math.PI;b.rotate(d,{origin:[b.page.width/2,b.page.height/2]});var e=c.font.encode(c.text);b.addContent("BT"),b.addContent(""+(b.page.width/2-c.size.size.width/2)+" "+(b.page.height/2-c.size.size.height/4)+" Td"),b.addContent("/"+e.fontId+" "+c.size.fontSize+" Tf"),b.addContent("<"+e.encodedText+"> Tj"),b.addContent("ET"),b.restore()}function l(a,b){switch(b.lineWidth(a.lineWidth||1),a.dash?b.dash(a.dash.length,{space:a.dash.space||a.dash.length}):b.undash(),b.fillOpacity(a.fillOpacity||1),b.strokeOpacity(a.strokeOpacity||1),b.lineJoin(a.lineJoin||"miter"),a.type){case"ellipse":b.ellipse(a.x,a.y,a.r1,a.r2);break;case"rect":a.r?b.roundedRect(a.x,a.y,a.w,a.h,a.r):b.rect(a.x,a.y,a.w,a.h);break;case"line":b.moveTo(a.x1,a.y1),b.lineTo(a.x2,a.y2);break;case"polyline":if(0===a.points.length)break;b.moveTo(a.points[0].x,a.points[0].y);for(var c=1,d=a.points.length;d>c;c++)b.lineTo(a.points[c].x,a.points[c].y);if(a.points.length>1){var e=a.points[0],f=a.points[a.points.length-1];(a.closePath||e.x===f.x&&e.y===f.y)&&b.closePath()}}a.color&&a.lineColor?b.fillAndStroke(a.color,a.lineColor):a.color?b.fill(a.color):b.stroke(a.lineColor||"black")}function m(a,b,c,d){d.image(a.image,a.x,a.y,{width:a._width,height:a._height})}var n=(c(7),c(9)),o=c(11),p=c(24),q=(c(46),c(102)),r=c(103),s=c(104),n=c(9);d.prototype.createPdfKitDocument=function(a,b){b=b||{};var c=g(a.pageSize||"a4");if("landscape"===a.pageOrientation&&(c={width:c.height,height:c.width}),c.orientation="landscape"===a.pageOrientation?a.pageOrientation:"portrait",this.pdfKitDoc=new p({size:[c.width,c.height],compress:!1}),this.pdfKitDoc.info.Producer="pdfmake",this.pdfKitDoc.info.Creator="pdfmake",a.info){a.info;this.pdfKitDoc.info.Title=a.info.title?a.info.title:null,this.pdfKitDoc.info.Author=a.info.author?a.info.author:null,this.pdfKitDoc.info.Subject=a.info.subject?a.info.subject:null,this.pdfKitDoc.info.Keywords=a.info.keywords?a.info.keywords:null}this.fontProvider=new n(this.fontDescriptors,this.pdfKitDoc),a.images=a.images||{};var d=new o(c,e(a.pageMargins||40),new r(this.pdfKitDoc,a.images));f(d),b.tableLayouts&&d.registerTableLayouts(b.tableLayouts);var h=d.layoutDocument(a.content,this.fontProvider,a.styles||{},a.defaultStyle||{fontSize:12,font:"Roboto"},a.background,a.header,a.footer,a.images,a.watermark,a.pageBreakBefore);if(i(h,this.fontProvider,this.pdfKitDoc),b.autoPrint){var j=this.pdfKitDoc.ref({Type:"Action",S:"Named",N:"Print"});this.pdfKitDoc._root.data.OpenAction=j,j.end()}return this.pdfKitDoc};a.exports=d,d.prototype.fs=c(44)},function(a,b,c){var d;(function(a,e){(function(){function f(a,b){if(a!==b){var c=null===a,d=a===B,e=a===a,f=null===b,g=b===B,h=b===b;if(a>b&&!f||!e||c&&!g&&h||d&&h)return 1;if(b>a&&!c||!h||f&&!d&&e||g&&e)return-1}return 0}function g(a,b,c){for(var d=a.length,e=c?d:-1;c?e--:++e<d;)if(b(a[e],e,a))return e;return-1}function h(a,b,c){if(b!==b)return s(a,c);for(var d=c-1,e=a.length;++d<e;)if(a[d]===b)return d;return-1}function i(a){return"function"==typeof a||!1}function j(a){return null==a?"":a+""}function k(a,b){for(var c=-1,d=a.length;++c<d&&b.indexOf(a.charAt(c))>-1;);return c}function l(a,b){for(var c=a.length;c--&&b.indexOf(a.charAt(c))>-1;);return c}function m(a,b){return f(a.criteria,b.criteria)||a.index-b.index}function n(a,b,c){for(var d=-1,e=a.criteria,g=b.criteria,h=e.length,i=c.length;++d<h;){var j=f(e[d],g[d]);if(j){if(d>=i)return j;var k=c[d];return j*("asc"===k||k===!0?1:-1)}}return a.index-b.index}function o(a){return Ua[a]}function p(a){return Va[a]}function q(a,b,c){return b?a=Ya[a]:c&&(a=Za[a]),"\\"+a}function r(a){return"\\"+Za[a]}function s(a,b,c){for(var d=a.length,e=b+(c?0:-1);c?e--:++e<d;){var f=a[e];if(f!==f)return e}return-1}function t(a){return!!a&&"object"==typeof a}function u(a){return 160>=a&&a>=9&&13>=a||32==a||160==a||5760==a||6158==a||a>=8192&&(8202>=a||8232==a||8233==a||8239==a||8287==a||12288==a||65279==a)}function v(a,b){for(var c=-1,d=a.length,e=-1,f=[];++c<d;)a[c]===b&&(a[c]=U,f[++e]=c);return f}function w(a,b){for(var c,d=-1,e=a.length,f=-1,g=[];++d<e;){var h=a[d],i=b?b(h,d,a):h;d&&c===i||(c=i,g[++f]=h)}return g}function x(a){for(var b=-1,c=a.length;++b<c&&u(a.charCodeAt(b)););return b}function y(a){for(var b=a.length;b--&&u(a.charCodeAt(b)););return b}function z(a){return Wa[a]}function A(a){function b(a){if(t(a)&&!Ch(a)&&!(a instanceof e)){if(a instanceof d)return a;if(ag.call(a,"__chain__")&&ag.call(a,"__wrapped__"))return md(a)}return new d(a)}function c(){}function d(a,b,c){this.__wrapped__=a,this.__actions__=c||[],this.__chain__=!!b}function e(a){this.__wrapped__=a,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Bg,this.__views__=[]}function u(){var a=new e(this.__wrapped__);return a.__actions__=ab(this.__actions__),a.__dir__=this.__dir__,a.__filtered__=this.__filtered__,a.__iteratees__=ab(this.__iteratees__),a.__takeCount__=this.__takeCount__,a.__views__=ab(this.__views__),a}function _(){if(this.__filtered__){var a=new e(this);a.__dir__=-1,a.__filtered__=!0}else a=this.clone(),a.__dir__*=-1;return a}function da(){var a=this.__wrapped__.value(),b=this.__dir__,c=Ch(a),d=0>b,e=c?a.length:0,f=Tc(0,e,this.__views__),g=f.start,h=f.end,i=h-g,j=d?h:g-1,k=this.__iteratees__,l=k.length,m=0,n=wg(i,this.__takeCount__);if(!c||Q>e||e==i&&n==i)return cc(d&&c?a.reverse():a,this.__actions__);var o=[];a:for(;i--&&n>m;){j+=b;for(var p=-1,q=a[j];++p<l;){var r=k[p],s=r.iteratee,t=r.type,u=s(q);if(t==S)q=u;else if(!u){if(t==R)continue a;break a}}o[m++]=q}return o}function fa(){this.__data__={}}function Ua(a){return this.has(a)&&delete this.__data__[a]}function Va(a){return"__proto__"==a?B:this.__data__[a]}function Wa(a){return"__proto__"!=a&&ag.call(this.__data__,a)}function Xa(a,b){return"__proto__"!=a&&(this.__data__[a]=b),this}function Ya(a){var b=a?a.length:0;for(this.data={hash:qg(null),set:new kg};b--;)this.push(a[b])}function Za(a,b){var c=a.data,d="string"==typeof b||He(b)?c.set.has(b):c.hash[b];return d?0:-1}function $a(a){var b=this.data;"string"==typeof a||He(a)?b.set.add(a):b.hash[a]=!0}function _a(a,b){for(var c=-1,d=a.length,e=-1,f=b.length,g=Of(d+f);++c<d;)g[c]=a[c];for(;++e<f;)g[c++]=b[e];return g}function ab(a,b){var c=-1,d=a.length;for(b||(b=Of(d));++c<d;)b[c]=a[c];return b}function bb(a,b){for(var c=-1,d=a.length;++c<d&&b(a[c],c,a)!==!1;);return a}function cb(a,b){for(var c=a.length;c--&&b(a[c],c,a)!==!1;);return a}function fb(a,b){for(var c=-1,d=a.length;++c<d;)if(!b(a[c],c,a))return!1;return!0}function gb(a,b,c,d){for(var e=-1,f=a.length,g=d,h=g;++e<f;){var i=a[e],j=+b(i);c(j,g)&&(g=j,h=i)}return h}function hb(a,b){for(var c=-1,d=a.length,e=-1,f=[];++c<d;){var g=a[c];b(g,c,a)&&(f[++e]=g)}return f}function ib(a,b){for(var c=-1,d=a.length,e=Of(d);++c<d;)e[c]=b(a[c],c,a);return e}function jb(a,b){for(var c=-1,d=b.length,e=a.length;++c<d;)a[e+c]=b[c];return a}function kb(a,b,c,d){var e=-1,f=a.length;for(d&&f&&(c=a[++e]);++e<f;)c=b(c,a[e],e,a);return c}function lb(a,b,c,d){var e=a.length;for(d&&e&&(c=a[--e]);e--;)c=b(c,a[e],e,a);return c}function mb(a,b){for(var c=-1,d=a.length;++c<d;)if(b(a[c],c,a))return!0;return!1}function nb(a,b){for(var c=a.length,d=0;c--;)d+=+b(a[c])||0;return d}function ob(a,b){return a===B?b:a}function pb(a,b,c,d){return a!==B&&ag.call(d,c)?a:b;
+}function qb(a,b,c){for(var d=-1,e=Nh(b),f=e.length;++d<f;){var g=e[d],h=a[g],i=c(h,b[g],g,a,b);(i===i?i===h:h!==h)&&(h!==B||g in a)||(a[g]=i)}return a}function rb(a,b){return null==b?a:tb(b,Nh(b),a)}function sb(a,b){for(var c=-1,d=null==a,e=!d&&Yc(a),f=e?a.length:0,g=b.length,h=Of(g);++c<g;){var i=b[c];e?h[c]=Zc(i,f)?a[i]:B:h[c]=d?B:a[i]}return h}function tb(a,b,c){c||(c={});for(var d=-1,e=b.length;++d<e;){var f=b[d];c[f]=a[f]}return c}function ub(a,b,c){var d=typeof a;return"function"==d?b===B?a:fc(a,b,c):null==a?Bf:"object"==d?Nb(a):b===B?Hf(a):Ob(a,b)}function vb(a,b,c,d,e,f,g){var h;if(c&&(h=e?c(a,d,e):c(a)),h!==B)return h;if(!He(a))return a;var i=Ch(a);if(i){if(h=Uc(a),!b)return ab(a,h)}else{var j=cg.call(a),k=j==$;if(j!=ba&&j!=V&&(!k||e))return Ta[j]?Wc(a,j,b):e?a:{};if(h=Vc(k?{}:a),!b)return rb(h,a)}f||(f=[]),g||(g=[]);for(var l=f.length;l--;)if(f[l]==a)return g[l];return f.push(a),g.push(h),(i?bb:Fb)(a,function(d,e){h[e]=vb(d,b,c,e,a,f,g)}),h}function wb(a,b,c){if("function"!=typeof a)throw new Xf(T);return lg(function(){a.apply(B,c)},b)}function xb(a,b){var c=a?a.length:0,d=[];if(!c)return d;var e=-1,f=Qc(),g=f==h,i=g&&b.length>=Q?oc(b):null,j=b.length;i&&(f=Za,g=!1,b=i);a:for(;++e<c;){var k=a[e];if(g&&k===k){for(var l=j;l--;)if(b[l]===k)continue a;d.push(k)}else f(b,k,0)<0&&d.push(k)}return d}function yb(a,b){var c=!0;return Jg(a,function(a,d,e){return c=!!b(a,d,e)}),c}function zb(a,b,c,d){var e=d,f=e;return Jg(a,function(a,g,h){var i=+b(a,g,h);(c(i,e)||i===d&&i===f)&&(e=i,f=a)}),f}function Ab(a,b,c,d){var e=a.length;for(c=null==c?0:+c||0,0>c&&(c=-c>e?0:e+c),d=d===B||d>e?e:+d||0,0>d&&(d+=e),e=c>d?0:d>>>0,c>>>=0;e>c;)a[c++]=b;return a}function Bb(a,b){var c=[];return Jg(a,function(a,d,e){b(a,d,e)&&c.push(a)}),c}function Cb(a,b,c,d){var e;return c(a,function(a,c,f){return b(a,c,f)?(e=d?c:a,!1):void 0}),e}function Db(a,b,c,d){d||(d=[]);for(var e=-1,f=a.length;++e<f;){var g=a[e];t(g)&&Yc(g)&&(c||Ch(g)||ye(g))?b?Db(g,b,c,d):jb(d,g):c||(d[d.length]=g)}return d}function Eb(a,b){return Lg(a,b,_e)}function Fb(a,b){return Lg(a,b,Nh)}function Gb(a,b){return Mg(a,b,Nh)}function Hb(a,b){for(var c=-1,d=b.length,e=-1,f=[];++c<d;){var g=b[c];Ge(a[g])&&(f[++e]=g)}return f}function Ib(a,b,c){if(null!=a){c!==B&&c in kd(a)&&(b=[c]);for(var d=0,e=b.length;null!=a&&e>d;)a=a[b[d++]];return d&&d==e?a:B}}function Jb(a,b,c,d,e,f){return a===b?!0:null==a||null==b||!He(a)&&!t(b)?a!==a&&b!==b:Kb(a,b,Jb,c,d,e,f)}function Kb(a,b,c,d,e,f,g){var h=Ch(a),i=Ch(b),j=W,k=W;h||(j=cg.call(a),j==V?j=ba:j!=ba&&(h=Qe(a))),i||(k=cg.call(b),k==V?k=ba:k!=ba&&(i=Qe(b)));var l=j==ba,m=k==ba,n=j==k;if(n&&!h&&!l)return Mc(a,b,j);if(!e){var o=l&&ag.call(a,"__wrapped__"),p=m&&ag.call(b,"__wrapped__");if(o||p)return c(o?a.value():a,p?b.value():b,d,e,f,g)}if(!n)return!1;f||(f=[]),g||(g=[]);for(var q=f.length;q--;)if(f[q]==a)return g[q]==b;f.push(a),g.push(b);var r=(h?Lc:Nc)(a,b,c,d,e,f,g);return f.pop(),g.pop(),r}function Lb(a,b,c){var d=b.length,e=d,f=!c;if(null==a)return!e;for(a=kd(a);d--;){var g=b[d];if(f&&g[2]?g[1]!==a[g[0]]:!(g[0]in a))return!1}for(;++d<e;){g=b[d];var h=g[0],i=a[h],j=g[1];if(f&&g[2]){if(i===B&&!(h in a))return!1}else{var k=c?c(i,j,h):B;if(!(k===B?Jb(j,i,c,!0):k))return!1}}return!0}function Mb(a,b){var c=-1,d=Yc(a)?Of(a.length):[];return Jg(a,function(a,e,f){d[++c]=b(a,e,f)}),d}function Nb(a){var b=Rc(a);if(1==b.length&&b[0][2]){var c=b[0][0],d=b[0][1];return function(a){return null==a?!1:a[c]===d&&(d!==B||c in kd(a))}}return function(a){return Lb(a,b)}}function Ob(a,b){var c=Ch(a),d=_c(a)&&cd(b),e=a+"";return a=ld(a),function(f){if(null==f)return!1;var g=e;if(f=kd(f),(c||!d)&&!(g in f)){if(f=1==a.length?f:Ib(f,Wb(a,0,-1)),null==f)return!1;g=zd(a),f=kd(f)}return f[g]===b?b!==B||g in f:Jb(b,f[g],B,!0)}}function Pb(a,b,c,d,e){if(!He(a))return a;var f=Yc(b)&&(Ch(b)||Qe(b)),g=f?B:Nh(b);return bb(g||b,function(h,i){if(g&&(i=h,h=b[i]),t(h))d||(d=[]),e||(e=[]),Qb(a,b,i,Pb,c,d,e);else{var j=a[i],k=c?c(j,h,i,a,b):B,l=k===B;l&&(k=h),k===B&&(!f||i in a)||!l&&(k===k?k===j:j!==j)||(a[i]=k)}}),a}function Qb(a,b,c,d,e,f,g){for(var h=f.length,i=b[c];h--;)if(f[h]==i)return void(a[c]=g[h]);var j=a[c],k=e?e(j,i,c,a,b):B,l=k===B;l&&(k=i,Yc(i)&&(Ch(i)||Qe(i))?k=Ch(j)?j:Yc(j)?ab(j):[]:Ne(i)||ye(i)?k=ye(j)?Ve(j):Ne(j)?j:{}:l=!1),f.push(i),g.push(k),l?a[c]=d(k,i,e,f,g):(k===k?k!==j:j===j)&&(a[c]=k)}function Rb(a){return function(b){return null==b?B:b[a]}}function Sb(a){var b=a+"";return a=ld(a),function(c){return Ib(c,a,b)}}function Tb(a,b){for(var c=a?b.length:0;c--;){var d=b[c];if(d!=e&&Zc(d)){var e=d;mg.call(a,d,1)}}return a}function Ub(a,b){return a+rg(zg()*(b-a+1))}function Vb(a,b,c,d,e){return e(a,function(a,e,f){c=d?(d=!1,a):b(c,a,e,f)}),c}function Wb(a,b,c){var d=-1,e=a.length;b=null==b?0:+b||0,0>b&&(b=-b>e?0:e+b),c=c===B||c>e?e:+c||0,0>c&&(c+=e),e=b>c?0:c-b>>>0,b>>>=0;for(var f=Of(e);++d<e;)f[d]=a[d+b];return f}function Xb(a,b){var c;return Jg(a,function(a,d,e){return c=b(a,d,e),!c}),!!c}function Yb(a,b){var c=a.length;for(a.sort(b);c--;)a[c]=a[c].value;return a}function Zb(a,b,c){var d=Oc(),e=-1;b=ib(b,function(a){return d(a)});var f=Mb(a,function(a){var c=ib(b,function(b){return b(a)});return{criteria:c,index:++e,value:a}});return Yb(f,function(a,b){return n(a,b,c)})}function $b(a,b){var c=0;return Jg(a,function(a,d,e){c+=+b(a,d,e)||0}),c}function _b(a,b){var c=-1,d=Qc(),e=a.length,f=d==h,g=f&&e>=Q,i=g?oc():null,j=[];i?(d=Za,f=!1):(g=!1,i=b?[]:j);a:for(;++c<e;){var k=a[c],l=b?b(k,c,a):k;if(f&&k===k){for(var m=i.length;m--;)if(i[m]===l)continue a;b&&i.push(l),j.push(k)}else d(i,l,0)<0&&((b||g)&&i.push(l),j.push(k))}return j}function ac(a,b){for(var c=-1,d=b.length,e=Of(d);++c<d;)e[c]=a[b[c]];return e}function bc(a,b,c,d){for(var e=a.length,f=d?e:-1;(d?f--:++f<e)&&b(a[f],f,a););return c?Wb(a,d?0:f,d?f+1:e):Wb(a,d?f+1:0,d?e:f)}function cc(a,b){var c=a;c instanceof e&&(c=c.value());for(var d=-1,f=b.length;++d<f;){var g=b[d];c=g.func.apply(g.thisArg,jb([c],g.args))}return c}function dc(a,b,c){var d=0,e=a?a.length:d;if("number"==typeof b&&b===b&&Eg>=e){for(;e>d;){var f=d+e>>>1,g=a[f];(c?b>=g:b>g)&&null!==g?d=f+1:e=f}return e}return ec(a,b,Bf,c)}function ec(a,b,c,d){b=c(b);for(var e=0,f=a?a.length:0,g=b!==b,h=null===b,i=b===B;f>e;){var j=rg((e+f)/2),k=c(a[j]),l=k!==B,m=k===k;if(g)var n=m||d;else n=h?m&&l&&(d||null!=k):i?m&&(d||l):null==k?!1:d?b>=k:b>k;n?e=j+1:f=j}return wg(f,Dg)}function fc(a,b,c){if("function"!=typeof a)return Bf;if(b===B)return a;switch(c){case 1:return function(c){return a.call(b,c)};case 3:return function(c,d,e){return a.call(b,c,d,e)};case 4:return function(c,d,e,f){return a.call(b,c,d,e,f)};case 5:return function(c,d,e,f,g){return a.call(b,c,d,e,f,g)}}return function(){return a.apply(b,arguments)}}function gc(a){var b=new fg(a.byteLength),c=new ng(b);return c.set(new ng(a)),b}function hc(a,b,c){for(var d=c.length,e=-1,f=vg(a.length-d,0),g=-1,h=b.length,i=Of(h+f);++g<h;)i[g]=b[g];for(;++e<d;)i[c[e]]=a[e];for(;f--;)i[g++]=a[e++];return i}function ic(a,b,c){for(var d=-1,e=c.length,f=-1,g=vg(a.length-e,0),h=-1,i=b.length,j=Of(g+i);++f<g;)j[f]=a[f];for(var k=f;++h<i;)j[k+h]=b[h];for(;++d<e;)j[k+c[d]]=a[f++];return j}function jc(a,b){return function(c,d,e){var f=b?b():{};if(d=Oc(d,e,3),Ch(c))for(var g=-1,h=c.length;++g<h;){var i=c[g];a(f,i,d(i,g,c),c)}else Jg(c,function(b,c,e){a(f,b,d(b,c,e),e)});return f}}function kc(a){return qe(function(b,c){var d=-1,e=null==b?0:c.length,f=e>2?c[e-2]:B,g=e>2?c[2]:B,h=e>1?c[e-1]:B;for("function"==typeof f?(f=fc(f,h,5),e-=2):(f="function"==typeof h?h:B,e-=f?1:0),g&&$c(c[0],c[1],g)&&(f=3>e?B:f,e=1);++d<e;){var i=c[d];i&&a(b,i,f)}return b})}function lc(a,b){return function(c,d){var e=c?Pg(c):0;if(!bd(e))return a(c,d);for(var f=b?e:-1,g=kd(c);(b?f--:++f<e)&&d(g[f],f,g)!==!1;);return c}}function mc(a){return function(b,c,d){for(var e=kd(b),f=d(b),g=f.length,h=a?g:-1;a?h--:++h<g;){var i=f[h];if(c(e[i],i,e)===!1)break}return b}}function nc(a,b){function c(){var e=this&&this!==db&&this instanceof c?d:a;return e.apply(b,arguments)}var d=qc(a);return c}function oc(a){return qg&&kg?new Ya(a):null}function pc(a){return function(b){for(var c=-1,d=yf(kf(b)),e=d.length,f="";++c<e;)f=a(f,d[c],c);return f}}function qc(a){return function(){var b=arguments;switch(b.length){case 0:return new a;case 1:return new a(b[0]);case 2:return new a(b[0],b[1]);case 3:return new a(b[0],b[1],b[2]);case 4:return new a(b[0],b[1],b[2],b[3]);case 5:return new a(b[0],b[1],b[2],b[3],b[4]);case 6:return new a(b[0],b[1],b[2],b[3],b[4],b[5]);case 7:return new a(b[0],b[1],b[2],b[3],b[4],b[5],b[6])}var c=Ig(a.prototype),d=a.apply(c,b);return He(d)?d:c}}function rc(a){function b(c,d,e){e&&$c(c,d,e)&&(d=B);var f=Kc(c,a,B,B,B,B,B,d);return f.placeholder=b.placeholder,f}return b}function sc(a,b){return qe(function(c){var d=c[0];return null==d?d:(c.push(b),a.apply(B,c))})}function tc(a,b){return function(c,d,e){if(e&&$c(c,d,e)&&(d=B),d=Oc(d,e,3),1==d.length){c=Ch(c)?c:jd(c);var f=gb(c,d,a,b);if(!c.length||f!==b)return f}return zb(c,d,a,b)}}function uc(a,b){return function(c,d,e){if(d=Oc(d,e,3),Ch(c)){var f=g(c,d,b);return f>-1?c[f]:B}return Cb(c,d,a)}}function vc(a){return function(b,c,d){return b&&b.length?(c=Oc(c,d,3),g(b,c,a)):-1}}function wc(a){return function(b,c,d){return c=Oc(c,d,3),Cb(b,c,a,!0)}}function xc(a){return function(){for(var b,c=arguments.length,e=a?c:-1,f=0,g=Of(c);a?e--:++e<c;){var h=g[f++]=arguments[e];if("function"!=typeof h)throw new Xf(T);!b&&d.prototype.thru&&"wrapper"==Pc(h)&&(b=new d([],!0))}for(e=b?-1:c;++e<c;){h=g[e];var i=Pc(h),j="wrapper"==i?Og(h):B;b=j&&ad(j[0])&&j[1]==(K|G|I|L)&&!j[4].length&&1==j[9]?b[Pc(j[0])].apply(b,j[3]):1==h.length&&ad(h)?b[i]():b.thru(h)}return function(){var a=arguments,d=a[0];if(b&&1==a.length&&Ch(d)&&d.length>=Q)return b.plant(d).value();for(var e=0,f=c?g[e].apply(this,a):d;++e<c;)f=g[e].call(this,f);return f}}}function yc(a,b){return function(c,d,e){return"function"==typeof d&&e===B&&Ch(c)?a(c,d):b(c,fc(d,e,3))}}function zc(a){return function(b,c,d){return("function"!=typeof c||d!==B)&&(c=fc(c,d,3)),a(b,c,_e)}}function Ac(a){return function(b,c,d){return("function"!=typeof c||d!==B)&&(c=fc(c,d,3)),a(b,c)}}function Bc(a){return function(b,c,d){var e={};return c=Oc(c,d,3),Fb(b,function(b,d,f){var g=c(b,d,f);d=a?g:d,b=a?b:g,e[d]=b}),e}}function Cc(a){return function(b,c,d){return b=j(b),(a?b:"")+Gc(b,c,d)+(a?"":b)}}function Dc(a){var b=qe(function(c,d){var e=v(d,b.placeholder);return Kc(c,a,B,d,e)});return b}function Ec(a,b){return function(c,d,e,f){var g=arguments.length<3;return"function"==typeof d&&f===B&&Ch(c)?a(c,d,e,g):Vb(c,Oc(d,f,4),e,g,b)}}function Fc(a,b,c,d,e,f,g,h,i,j){function k(){for(var s=arguments.length,t=s,u=Of(s);t--;)u[t]=arguments[t];if(d&&(u=hc(u,d,e)),f&&(u=ic(u,f,g)),o||q){var w=k.placeholder,x=v(u,w);if(s-=x.length,j>s){var y=h?ab(h):B,z=vg(j-s,0),A=o?x:B,C=o?B:x,F=o?u:B,G=o?B:u;b|=o?I:J,b&=~(o?J:I),p||(b&=~(D|E));var H=[a,b,c,F,A,G,C,y,i,z],K=Fc.apply(B,H);return ad(a)&&Qg(K,H),K.placeholder=w,K}}var L=m?c:this,M=n?L[a]:a;return h&&(u=hd(u,h)),l&&i<u.length&&(u.length=i),this&&this!==db&&this instanceof k&&(M=r||qc(a)),M.apply(L,u)}var l=b&K,m=b&D,n=b&E,o=b&G,p=b&F,q=b&H,r=n?B:qc(a);return k}function Gc(a,b,c){var d=a.length;if(b=+b,d>=b||!tg(b))return"";var e=b-d;return c=null==c?" ":c+"",qf(c,pg(e/c.length)).slice(0,e)}function Hc(a,b,c,d){function e(){for(var b=-1,h=arguments.length,i=-1,j=d.length,k=Of(j+h);++i<j;)k[i]=d[i];for(;h--;)k[i++]=arguments[++b];var l=this&&this!==db&&this instanceof e?g:a;return l.apply(f?c:this,k)}var f=b&D,g=qc(a);return e}function Ic(a){var b=Sf[a];return function(a,c){return c=c===B?0:+c||0,c?(c=ig(10,c),b(a*c)/c):b(a)}}function Jc(a){return function(b,c,d,e){var f=Oc(d);return null==d&&f===ub?dc(b,c,a):ec(b,c,f(d,e,1),a)}}function Kc(a,b,c,d,e,f,g,h){var i=b&E;if(!i&&"function"!=typeof a)throw new Xf(T);var j=d?d.length:0;if(j||(b&=~(I|J),d=e=B),j-=e?e.length:0,b&J){var k=d,l=e;d=e=B}var m=i?B:Og(a),n=[a,b,c,d,e,k,l,f,g,h];if(m&&(dd(n,m),b=n[1],h=n[9]),n[9]=null==h?i?0:a.length:vg(h-j,0)||0,b==D)var o=nc(n[0],n[2]);else o=b!=I&&b!=(D|I)||n[4].length?Fc.apply(B,n):Hc.apply(B,n);var p=m?Ng:Qg;return p(o,n)}function Lc(a,b,c,d,e,f,g){var h=-1,i=a.length,j=b.length;if(i!=j&&!(e&&j>i))return!1;for(;++h<i;){var k=a[h],l=b[h],m=d?d(e?l:k,e?k:l,h):B;if(m!==B){if(m)continue;return!1}if(e){if(!mb(b,function(a){return k===a||c(k,a,d,e,f,g)}))return!1}else if(k!==l&&!c(k,l,d,e,f,g))return!1}return!0}function Mc(a,b,c){switch(c){case X:case Y:return+a==+b;case Z:return a.name==b.name&&a.message==b.message;case aa:return a!=+a?b!=+b:a==+b;case ca:case ea:return a==b+""}return!1}function Nc(a,b,c,d,e,f,g){var h=Nh(a),i=h.length,j=Nh(b),k=j.length;if(i!=k&&!e)return!1;for(var l=i;l--;){var m=h[l];if(!(e?m in b:ag.call(b,m)))return!1}for(var n=e;++l<i;){m=h[l];var o=a[m],p=b[m],q=d?d(e?p:o,e?o:p,m):B;if(!(q===B?c(o,p,d,e,f,g):q))return!1;n||(n="constructor"==m)}if(!n){var r=a.constructor,s=b.constructor;if(r!=s&&"constructor"in a&&"constructor"in b&&!("function"==typeof r&&r instanceof r&&"function"==typeof s&&s instanceof s))return!1}return!0}function Oc(a,c,d){var e=b.callback||zf;return e=e===zf?ub:e,d?e(a,c,d):e}function Pc(a){for(var b=a.name,c=Hg[b],d=c?c.length:0;d--;){var e=c[d],f=e.func;if(null==f||f==a)return e.name}return b}function Qc(a,c,d){var e=b.indexOf||xd;return e=e===xd?h:e,a?e(a,c,d):e}function Rc(a){for(var b=af(a),c=b.length;c--;)b[c][2]=cd(b[c][1]);return b}function Sc(a,b){var c=null==a?B:a[b];return Ke(c)?c:B}function Tc(a,b,c){for(var d=-1,e=c.length;++d<e;){var f=c[d],g=f.size;switch(f.type){case"drop":a+=g;break;case"dropRight":b-=g;break;case"take":b=wg(b,a+g);break;case"takeRight":a=vg(a,b-g)}}return{start:a,end:b}}function Uc(a){var b=a.length,c=new a.constructor(b);return b&&"string"==typeof a[0]&&ag.call(a,"index")&&(c.index=a.index,c.input=a.input),c}function Vc(a){var b=a.constructor;return"function"==typeof b&&b instanceof b||(b=Uf),new b}function Wc(a,b,c){var d=a.constructor;switch(b){case ga:return gc(a);case X:case Y:return new d(+a);case ha:case ia:case ja:case ka:case la:case ma:case na:case oa:case pa:var e=a.buffer;return new d(c?gc(e):e,a.byteOffset,a.length);case aa:case ea:return new d(a);case ca:var f=new d(a.source,Ia.exec(a));f.lastIndex=a.lastIndex}return f}function Xc(a,b,c){null==a||_c(b,a)||(b=ld(b),a=1==b.length?a:Ib(a,Wb(b,0,-1)),b=zd(b));var d=null==a?a:a[b];return null==d?B:d.apply(a,c)}function Yc(a){return null!=a&&bd(Pg(a))}function Zc(a,b){return a="number"==typeof a||La.test(a)?+a:-1,b=null==b?Fg:b,a>-1&&a%1==0&&b>a}function $c(a,b,c){if(!He(c))return!1;var d=typeof b;if("number"==d?Yc(c)&&Zc(b,c.length):"string"==d&&b in c){var e=c[b];return a===a?a===e:e!==e}return!1}function _c(a,b){var c=typeof a;if("string"==c&&Ba.test(a)||"number"==c)return!0;if(Ch(a))return!1;var d=!Aa.test(a);return d||null!=b&&a in kd(b)}function ad(a){var c=Pc(a);if(!(c in e.prototype))return!1;var d=b[c];if(a===d)return!0;var f=Og(d);return!!f&&a===f[0]}function bd(a){return"number"==typeof a&&a>-1&&a%1==0&&Fg>=a}function cd(a){return a===a&&!He(a)}function dd(a,b){var c=a[1],d=b[1],e=c|d,f=K>e,g=d==K&&c==G||d==K&&c==L&&a[7].length<=b[8]||d==(K|L)&&c==G;if(!f&&!g)return a;d&D&&(a[2]=b[2],e|=c&D?0:F);var h=b[3];if(h){var i=a[3];a[3]=i?hc(i,h,b[4]):ab(h),a[4]=i?v(a[3],U):ab(b[4])}return h=b[5],h&&(i=a[5],a[5]=i?ic(i,h,b[6]):ab(h),a[6]=i?v(a[5],U):ab(b[6])),h=b[7],h&&(a[7]=ab(h)),d&K&&(a[8]=null==a[8]?b[8]:wg(a[8],b[8])),null==a[9]&&(a[9]=b[9]),a[0]=b[0],a[1]=e,a}function ed(a,b){return a===B?b:Dh(a,b,ed)}function fd(a,b){a=kd(a);for(var c=-1,d=b.length,e={};++c<d;){var f=b[c];f in a&&(e[f]=a[f])}return e}function gd(a,b){var c={};return Eb(a,function(a,d,e){b(a,d,e)&&(c[d]=a)}),c}function hd(a,b){for(var c=a.length,d=wg(b.length,c),e=ab(a);d--;){var f=b[d];a[d]=Zc(f,c)?e[f]:B}return a}function id(a){for(var b=_e(a),c=b.length,d=c&&a.length,e=!!d&&bd(d)&&(Ch(a)||ye(a)),f=-1,g=[];++f<c;){var h=b[f];(e&&Zc(h,d)||ag.call(a,h))&&g.push(h)}return g}function jd(a){return null==a?[]:Yc(a)?He(a)?a:Uf(a):ef(a)}function kd(a){return He(a)?a:Uf(a)}function ld(a){if(Ch(a))return a;var b=[];return j(a).replace(Ca,function(a,c,d,e){b.push(d?e.replace(Ga,"$1"):c||a)}),b}function md(a){return a instanceof e?a.clone():new d(a.__wrapped__,a.__chain__,ab(a.__actions__))}function nd(a,b,c){b=(c?$c(a,b,c):null==b)?1:vg(rg(b)||1,1);for(var d=0,e=a?a.length:0,f=-1,g=Of(pg(e/b));e>d;)g[++f]=Wb(a,d,d+=b);return g}function od(a){for(var b=-1,c=a?a.length:0,d=-1,e=[];++b<c;){var f=a[b];f&&(e[++d]=f)}return e}function pd(a,b,c){var d=a?a.length:0;return d?((c?$c(a,b,c):null==b)&&(b=1),Wb(a,0>b?0:b)):[]}function qd(a,b,c){var d=a?a.length:0;return d?((c?$c(a,b,c):null==b)&&(b=1),b=d-(+b||0),Wb(a,0,0>b?0:b)):[]}function rd(a,b,c){return a&&a.length?bc(a,Oc(b,c,3),!0,!0):[]}function sd(a,b,c){return a&&a.length?bc(a,Oc(b,c,3),!0):[]}function td(a,b,c,d){var e=a?a.length:0;return e?(c&&"number"!=typeof c&&$c(a,b,c)&&(c=0,d=e),Ab(a,b,c,d)):[]}function ud(a){return a?a[0]:B}function vd(a,b,c){var d=a?a.length:0;return c&&$c(a,b,c)&&(b=!1),d?Db(a,b):[]}function wd(a){var b=a?a.length:0;return b?Db(a,!0):[]}function xd(a,b,c){var d=a?a.length:0;if(!d)return-1;if("number"==typeof c)c=0>c?vg(d+c,0):c;else if(c){var e=dc(a,b);return d>e&&(b===b?b===a[e]:a[e]!==a[e])?e:-1}return h(a,b,c||0)}function yd(a){return qd(a,1)}function zd(a){var b=a?a.length:0;return b?a[b-1]:B}function Ad(a,b,c){var d=a?a.length:0;if(!d)return-1;var e=d;if("number"==typeof c)e=(0>c?vg(d+c,0):wg(c||0,d-1))+1;else if(c){e=dc(a,b,!0)-1;var f=a[e];return(b===b?b===f:f!==f)?e:-1}if(b!==b)return s(a,e,!0);for(;e--;)if(a[e]===b)return e;return-1}function Bd(){var a=arguments,b=a[0];if(!b||!b.length)return b;for(var c=0,d=Qc(),e=a.length;++c<e;)for(var f=0,g=a[c];(f=d(b,g,f))>-1;)mg.call(b,f,1);return b}function Cd(a,b,c){var d=[];if(!a||!a.length)return d;var e=-1,f=[],g=a.length;for(b=Oc(b,c,3);++e<g;){var h=a[e];b(h,e,a)&&(d.push(h),f.push(e))}return Tb(a,f),d}function Dd(a){return pd(a,1)}function Ed(a,b,c){var d=a?a.length:0;return d?(c&&"number"!=typeof c&&$c(a,b,c)&&(b=0,c=d),Wb(a,b,c)):[]}function Fd(a,b,c){var d=a?a.length:0;return d?((c?$c(a,b,c):null==b)&&(b=1),Wb(a,0,0>b?0:b)):[]}function Gd(a,b,c){var d=a?a.length:0;return d?((c?$c(a,b,c):null==b)&&(b=1),b=d-(+b||0),Wb(a,0>b?0:b)):[]}function Hd(a,b,c){return a&&a.length?bc(a,Oc(b,c,3),!1,!0):[]}function Id(a,b,c){return a&&a.length?bc(a,Oc(b,c,3)):[]}function Jd(a,b,c,d){var e=a?a.length:0;if(!e)return[];null!=b&&"boolean"!=typeof b&&(d=c,c=$c(a,b,d)?B:b,b=!1);var f=Oc();return(null!=c||f!==ub)&&(c=f(c,d,3)),b&&Qc()==h?w(a,c):_b(a,c)}function Kd(a){if(!a||!a.length)return[];var b=-1,c=0;a=hb(a,function(a){return Yc(a)?(c=vg(a.length,c),!0):void 0});for(var d=Of(c);++b<c;)d[b]=ib(a,Rb(b));return d}function Ld(a,b,c){var d=a?a.length:0;if(!d)return[];var e=Kd(a);return null==b?e:(b=fc(b,c,4),ib(e,function(a){return kb(a,b,B,!0)}))}function Md(){for(var a=-1,b=arguments.length;++a<b;){var c=arguments[a];if(Yc(c))var d=d?jb(xb(d,c),xb(c,d)):c}return d?_b(d):[]}function Nd(a,b){var c=-1,d=a?a.length:0,e={};for(!d||b||Ch(a[0])||(b=[]);++c<d;){var f=a[c];b?e[f]=b[c]:f&&(e[f[0]]=f[1])}return e}function Od(a){var c=b(a);return c.__chain__=!0,c}function Pd(a,b,c){return b.call(c,a),a}function Qd(a,b,c){return b.call(c,a)}function Rd(){return Od(this)}function Sd(){return new d(this.value(),this.__chain__)}function Td(a){for(var b,d=this;d instanceof c;){var e=md(d);b?f.__wrapped__=e:b=e;var f=e;d=d.__wrapped__}return f.__wrapped__=a,b}function Ud(){var a=this.__wrapped__,b=function(a){return c&&c.__dir__<0?a:a.reverse()};if(a instanceof e){var c=a;return this.__actions__.length&&(c=new e(this)),c=c.reverse(),c.__actions__.push({func:Qd,args:[b],thisArg:B}),new d(c,this.__chain__)}return this.thru(b)}function Vd(){return this.value()+""}function Wd(){return cc(this.__wrapped__,this.__actions__)}function Xd(a,b,c){var d=Ch(a)?fb:yb;return c&&$c(a,b,c)&&(b=B),("function"!=typeof b||c!==B)&&(b=Oc(b,c,3)),d(a,b)}function Yd(a,b,c){var d=Ch(a)?hb:Bb;return b=Oc(b,c,3),d(a,b)}function Zd(a,b){return dh(a,Nb(b))}function $d(a,b,c,d){var e=a?Pg(a):0;return bd(e)||(a=ef(a),e=a.length),c="number"!=typeof c||d&&$c(b,c,d)?0:0>c?vg(e+c,0):c||0,"string"==typeof a||!Ch(a)&&Pe(a)?e>=c&&a.indexOf(b,c)>-1:!!e&&Qc(a,b,c)>-1}function _d(a,b,c){var d=Ch(a)?ib:Mb;return b=Oc(b,c,3),d(a,b)}function ae(a,b){return _d(a,Hf(b))}function be(a,b,c){var d=Ch(a)?hb:Bb;return b=Oc(b,c,3),d(a,function(a,c,d){return!b(a,c,d)})}function ce(a,b,c){if(c?$c(a,b,c):null==b){a=jd(a);var d=a.length;return d>0?a[Ub(0,d-1)]:B}var e=-1,f=Ue(a),d=f.length,g=d-1;for(b=wg(0>b?0:+b||0,d);++e<b;){var h=Ub(e,g),i=f[h];f[h]=f[e],f[e]=i}return f.length=b,f}function de(a){return ce(a,Bg)}function ee(a){var b=a?Pg(a):0;return bd(b)?b:Nh(a).length}function fe(a,b,c){var d=Ch(a)?mb:Xb;return c&&$c(a,b,c)&&(b=B),("function"!=typeof b||c!==B)&&(b=Oc(b,c,3)),d(a,b)}function ge(a,b,c){if(null==a)return[];c&&$c(a,b,c)&&(b=B);var d=-1;b=Oc(b,c,3);var e=Mb(a,function(a,c,e){return{criteria:b(a,c,e),index:++d,value:a}});return Yb(e,m)}function he(a,b,c,d){return null==a?[]:(d&&$c(b,c,d)&&(c=B),Ch(b)||(b=null==b?[]:[b]),Ch(c)||(c=null==c?[]:[c]),Zb(a,b,c))}function ie(a,b){return Yd(a,Nb(b))}function je(a,b){if("function"!=typeof b){if("function"!=typeof a)throw new Xf(T);var c=a;a=b,b=c}return a=tg(a=+a)?a:0,function(){return--a<1?b.apply(this,arguments):void 0}}function ke(a,b,c){return c&&$c(a,b,c)&&(b=B),b=a&&null==b?a.length:vg(+b||0,0),Kc(a,K,B,B,B,B,b)}function le(a,b){var c;if("function"!=typeof b){if("function"!=typeof a)throw new Xf(T);var d=a;a=b,b=d}return function(){return--a>0&&(c=b.apply(this,arguments)),1>=a&&(b=B),c}}function me(a,b,c){function d(){n&&gg(n),j&&gg(j),p=0,j=n=o=B}function e(b,c){c&&gg(c),j=n=o=B,b&&(p=oh(),k=a.apply(m,i),n||j||(i=m=B))}function f(){var a=b-(oh()-l);0>=a||a>b?e(o,j):n=lg(f,a)}function g(){e(r,n)}function h(){if(i=arguments,l=oh(),m=this,o=r&&(n||!s),q===!1)var c=s&&!n;else{j||s||(p=l);var d=q-(l-p),e=0>=d||d>q;e?(j&&(j=gg(j)),p=l,k=a.apply(m,i)):j||(j=lg(g,d))}return e&&n?n=gg(n):n||b===q||(n=lg(f,b)),c&&(e=!0,k=a.apply(m,i)),!e||n||j||(i=m=B),k}var i,j,k,l,m,n,o,p=0,q=!1,r=!0;if("function"!=typeof a)throw new Xf(T);if(b=0>b?0:+b||0,c===!0){var s=!0;r=!1}else He(c)&&(s=!!c.leading,q="maxWait"in c&&vg(+c.maxWait||0,b),r="trailing"in c?!!c.trailing:r);return h.cancel=d,h}function ne(a,b){if("function"!=typeof a||b&&"function"!=typeof b)throw new Xf(T);var c=function(){var d=arguments,e=b?b.apply(this,d):d[0],f=c.cache;if(f.has(e))return f.get(e);var g=a.apply(this,d);return c.cache=f.set(e,g),g};return c.cache=new ne.Cache,c}function oe(a){if("function"!=typeof a)throw new Xf(T);return function(){return!a.apply(this,arguments)}}function pe(a){return le(2,a)}function qe(a,b){if("function"!=typeof a)throw new Xf(T);return b=vg(b===B?a.length-1:+b||0,0),function(){for(var c=arguments,d=-1,e=vg(c.length-b,0),f=Of(e);++d<e;)f[d]=c[b+d];switch(b){case 0:return a.call(this,f);case 1:return a.call(this,c[0],f);case 2:return a.call(this,c[0],c[1],f)}var g=Of(b+1);for(d=-1;++d<b;)g[d]=c[d];return g[b]=f,a.apply(this,g)}}function re(a){if("function"!=typeof a)throw new Xf(T);return function(b){return a.apply(this,b)}}function se(a,b,c){var d=!0,e=!0;if("function"!=typeof a)throw new Xf(T);return c===!1?d=!1:He(c)&&(d="leading"in c?!!c.leading:d,e="trailing"in c?!!c.trailing:e),me(a,b,{leading:d,maxWait:+b,trailing:e})}function te(a,b){return b=null==b?Bf:b,Kc(b,I,B,[a],[])}function ue(a,b,c,d){return b&&"boolean"!=typeof b&&$c(a,b,c)?b=!1:"function"==typeof b&&(d=c,c=b,b=!1),"function"==typeof c?vb(a,b,fc(c,d,1)):vb(a,b)}function ve(a,b,c){return"function"==typeof b?vb(a,!0,fc(b,c,1)):vb(a,!0)}function we(a,b){return a>b}function xe(a,b){return a>=b}function ye(a){return t(a)&&Yc(a)&&ag.call(a,"callee")&&!jg.call(a,"callee")}function ze(a){return a===!0||a===!1||t(a)&&cg.call(a)==X}function Ae(a){return t(a)&&cg.call(a)==Y}function Be(a){return!!a&&1===a.nodeType&&t(a)&&!Ne(a)}function Ce(a){return null==a?!0:Yc(a)&&(Ch(a)||Pe(a)||ye(a)||t(a)&&Ge(a.splice))?!a.length:!Nh(a).length}function De(a,b,c,d){c="function"==typeof c?fc(c,d,3):B;var e=c?c(a,b):B;return e===B?Jb(a,b,c):!!e}function Ee(a){return t(a)&&"string"==typeof a.message&&cg.call(a)==Z}function Fe(a){return"number"==typeof a&&tg(a)}function Ge(a){return He(a)&&cg.call(a)==$}function He(a){var b=typeof a;return!!a&&("object"==b||"function"==b)}function Ie(a,b,c,d){return c="function"==typeof c?fc(c,d,3):B,Lb(a,Rc(b),c)}function Je(a){return Me(a)&&a!=+a}function Ke(a){return null==a?!1:Ge(a)?eg.test(_f.call(a)):t(a)&&Ka.test(a)}function Le(a){return null===a}function Me(a){return"number"==typeof a||t(a)&&cg.call(a)==aa}function Ne(a){var b;if(!t(a)||cg.call(a)!=ba||ye(a)||!ag.call(a,"constructor")&&(b=a.constructor,"function"==typeof b&&!(b instanceof b)))return!1;var c;return Eb(a,function(a,b){c=b}),c===B||ag.call(a,c)}function Oe(a){return He(a)&&cg.call(a)==ca}function Pe(a){return"string"==typeof a||t(a)&&cg.call(a)==ea}function Qe(a){return t(a)&&bd(a.length)&&!!Sa[cg.call(a)]}function Re(a){return a===B}function Se(a,b){return b>a}function Te(a,b){return b>=a}function Ue(a){var b=a?Pg(a):0;return bd(b)?b?ab(a):[]:ef(a)}function Ve(a){return tb(a,_e(a))}function We(a,b,c){var d=Ig(a);return c&&$c(a,b,c)&&(b=B),b?rb(d,b):d}function Xe(a){return Hb(a,_e(a))}function Ye(a,b,c){var d=null==a?B:Ib(a,ld(b),b+"");return d===B?c:d}function Ze(a,b){if(null==a)return!1;var c=ag.call(a,b);if(!c&&!_c(b)){if(b=ld(b),a=1==b.length?a:Ib(a,Wb(b,0,-1)),null==a)return!1;b=zd(b),c=ag.call(a,b)}return c||bd(a.length)&&Zc(b,a.length)&&(Ch(a)||ye(a))}function $e(a,b,c){c&&$c(a,b,c)&&(b=B);for(var d=-1,e=Nh(a),f=e.length,g={};++d<f;){var h=e[d],i=a[h];b?ag.call(g,i)?g[i].push(h):g[i]=[h]:g[i]=h}return g}function _e(a){if(null==a)return[];He(a)||(a=Uf(a));var b=a.length;b=b&&bd(b)&&(Ch(a)||ye(a))&&b||0;for(var c=a.constructor,d=-1,e="function"==typeof c&&c.prototype===a,f=Of(b),g=b>0;++d<b;)f[d]=d+"";for(var h in a)g&&Zc(h,b)||"constructor"==h&&(e||!ag.call(a,h))||f.push(h);return f}function af(a){a=kd(a);for(var b=-1,c=Nh(a),d=c.length,e=Of(d);++b<d;){var f=c[b];e[b]=[f,a[f]]}return e}function bf(a,b,c){var d=null==a?B:a[b];return d===B&&(null==a||_c(b,a)||(b=ld(b),a=1==b.length?a:Ib(a,Wb(b,0,-1)),d=null==a?B:a[zd(b)]),d=d===B?c:d),Ge(d)?d.call(a):d}function cf(a,b,c){if(null==a)return a;var d=b+"";b=null!=a[d]||_c(b,a)?[d]:ld(b);for(var e=-1,f=b.length,g=f-1,h=a;null!=h&&++e<f;){var i=b[e];He(h)&&(e==g?h[i]=c:null==h[i]&&(h[i]=Zc(b[e+1])?[]:{})),h=h[i]}return a}function df(a,b,c,d){var e=Ch(a)||Qe(a);if(b=Oc(b,d,4),null==c)if(e||He(a)){var f=a.constructor;c=e?Ch(a)?new f:[]:Ig(Ge(f)?f.prototype:B)}else c={};return(e?bb:Fb)(a,function(a,d,e){return b(c,a,d,e)}),c}function ef(a){return ac(a,Nh(a))}function ff(a){return ac(a,_e(a))}function gf(a,b,c){return b=+b||0,c===B?(c=b,b=0):c=+c||0,a>=wg(b,c)&&a<vg(b,c)}function hf(a,b,c){c&&$c(a,b,c)&&(b=c=B);var d=null==a,e=null==b;if(null==c&&(e&&"boolean"==typeof a?(c=a,a=1):"boolean"==typeof b&&(c=b,e=!0)),d&&e&&(b=1,e=!1),a=+a||0,e?(b=a,a=0):b=+b||0,c||a%1||b%1){var f=zg();return wg(a+f*(b-a+hg("1e-"+((f+"").length-1))),b)}return Ub(a,b)}function jf(a){return a=j(a),a&&a.charAt(0).toUpperCase()+a.slice(1)}function kf(a){return a=j(a),a&&a.replace(Ma,o).replace(Fa,"")}function lf(a,b,c){a=j(a),b+="";var d=a.length;return c=c===B?d:wg(0>c?0:+c||0,d),c-=b.length,c>=0&&a.indexOf(b,c)==c}function mf(a){return a=j(a),a&&wa.test(a)?a.replace(ua,p):a}function nf(a){return a=j(a),a&&Ea.test(a)?a.replace(Da,q):a||"(?:)"}function of(a,b,c){a=j(a),b=+b;var d=a.length;if(d>=b||!tg(b))return a;var e=(b-d)/2,f=rg(e),g=pg(e);return c=Gc("",g,c),c.slice(0,f)+a+c}function pf(a,b,c){return(c?$c(a,b,c):null==b)?b=0:b&&(b=+b),a=tf(a),yg(a,b||(Ja.test(a)?16:10))}function qf(a,b){var c="";if(a=j(a),b=+b,1>b||!a||!tg(b))return c;do b%2&&(c+=a),b=rg(b/2),a+=a;while(b);return c}function rf(a,b,c){return a=j(a),c=null==c?0:wg(0>c?0:+c||0,a.length),a.lastIndexOf(b,c)==c}function sf(a,c,d){var e=b.templateSettings;d&&$c(a,c,d)&&(c=d=B),a=j(a),c=qb(rb({},d||c),e,pb);var f,g,h=qb(rb({},c.imports),e.imports,pb),i=Nh(h),k=ac(h,i),l=0,m=c.interpolate||Na,n="__p += '",o=Vf((c.escape||Na).source+"|"+m.source+"|"+(m===za?Ha:Na).source+"|"+(c.evaluate||Na).source+"|$","g"),p="//# sourceURL="+("sourceURL"in c?c.sourceURL:"lodash.templateSources["+ ++Ra+"]")+"\n";a.replace(o,function(b,c,d,e,h,i){return d||(d=e),n+=a.slice(l,i).replace(Oa,r),c&&(f=!0,n+="' +\n__e("+c+") +\n'"),h&&(g=!0,n+="';\n"+h+";\n__p += '"),d&&(n+="' +\n((__t = ("+d+")) == null ? '' : __t) +\n'"),l=i+b.length,b}),n+="';\n";var q=c.variable;q||(n="with (obj) {\n"+n+"\n}\n"),n=(g?n.replace(qa,""):n).replace(ra,"$1").replace(sa,"$1;"),n="function("+(q||"obj")+") {\n"+(q?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(f?", __e = _.escape":"")+(g?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+n+"return __p\n}";var s=Yh(function(){return Rf(i,p+"return "+n).apply(B,k)});if(s.source=n,Ee(s))throw s;return s}function tf(a,b,c){var d=a;return(a=j(a))?(c?$c(d,b,c):null==b)?a.slice(x(a),y(a)+1):(b+="",a.slice(k(a,b),l(a,b)+1)):a}function uf(a,b,c){var d=a;return a=j(a),a?(c?$c(d,b,c):null==b)?a.slice(x(a)):a.slice(k(a,b+"")):a}function vf(a,b,c){var d=a;return a=j(a),a?(c?$c(d,b,c):null==b)?a.slice(0,y(a)+1):a.slice(0,l(a,b+"")+1):a}function wf(a,b,c){c&&$c(a,b,c)&&(b=B);var d=M,e=N;if(null!=b)if(He(b)){var f="separator"in b?b.separator:f;d="length"in b?+b.length||0:d,e="omission"in b?j(b.omission):e}else d=+b||0;if(a=j(a),d>=a.length)return a;var g=d-e.length;if(1>g)return e;var h=a.slice(0,g);if(null==f)return h+e;if(Oe(f)){if(a.slice(g).search(f)){var i,k,l=a.slice(0,g);for(f.global||(f=Vf(f.source,(Ia.exec(f)||"")+"g")),f.lastIndex=0;i=f.exec(l);)k=i.index;h=h.slice(0,null==k?g:k)}}else if(a.indexOf(f,g)!=g){var m=h.lastIndexOf(f);m>-1&&(h=h.slice(0,m))}return h+e}function xf(a){return a=j(a),a&&va.test(a)?a.replace(ta,z):a}function yf(a,b,c){return c&&$c(a,b,c)&&(b=B),a=j(a),a.match(b||Pa)||[]}function zf(a,b,c){return c&&$c(a,b,c)&&(b=B),t(a)?Cf(a):ub(a,b)}function Af(a){return function(){return a}}function Bf(a){return a}function Cf(a){return Nb(vb(a,!0))}function Df(a,b){return Ob(a,vb(b,!0))}function Ef(a,b,c){if(null==c){var d=He(b),e=d?Nh(b):B,f=e&&e.length?Hb(b,e):B;(f?f.length:d)||(f=!1,c=b,b=a,a=this)}f||(f=Hb(b,Nh(b)));var g=!0,h=-1,i=Ge(a),j=f.length;c===!1?g=!1:He(c)&&"chain"in c&&(g=c.chain);for(;++h<j;){var k=f[h],l=b[k];a[k]=l,i&&(a.prototype[k]=function(b){return function(){var c=this.__chain__;if(g||c){var d=a(this.__wrapped__),e=d.__actions__=ab(this.__actions__);return e.push({func:b,args:arguments,thisArg:a}),d.__chain__=c,d}return b.apply(a,jb([this.value()],arguments))}}(l))}return a}function Ff(){return db._=dg,this}function Gf(){}function Hf(a){return _c(a)?Rb(a):Sb(a)}function If(a){return function(b){return Ib(a,ld(b),b+"")}}function Jf(a,b,c){c&&$c(a,b,c)&&(b=c=B),a=+a||0,c=null==c?1:+c||0,null==b?(b=a,a=0):b=+b||0;for(var d=-1,e=vg(pg((b-a)/(c||1)),0),f=Of(e);++d<e;)f[d]=a,a+=c;return f}function Kf(a,b,c){if(a=rg(a),1>a||!tg(a))return[];var d=-1,e=Of(wg(a,Cg));for(b=fc(b,c,1);++d<a;)Cg>d?e[d]=b(d):b(d);return e}function Lf(a){var b=++bg;return j(a)+b}function Mf(a,b){return(+a||0)+(+b||0)}function Nf(a,b,c){return c&&$c(a,b,c)&&(b=B),b=Oc(b,c,3),1==b.length?nb(Ch(a)?a:jd(a),b):$b(a,b)}a=a?eb.defaults(db.Object(),a,eb.pick(db,Qa)):db;var Of=a.Array,Pf=a.Date,Qf=a.Error,Rf=a.Function,Sf=a.Math,Tf=a.Number,Uf=a.Object,Vf=a.RegExp,Wf=a.String,Xf=a.TypeError,Yf=Of.prototype,Zf=Uf.prototype,$f=Wf.prototype,_f=Rf.prototype.toString,ag=Zf.hasOwnProperty,bg=0,cg=Zf.toString,dg=db._,eg=Vf("^"+_f.call(ag).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),fg=a.ArrayBuffer,gg=a.clearTimeout,hg=a.parseFloat,ig=Sf.pow,jg=Zf.propertyIsEnumerable,kg=Sc(a,"Set"),lg=a.setTimeout,mg=Yf.splice,ng=a.Uint8Array,og=Sc(a,"WeakMap"),pg=Sf.ceil,qg=Sc(Uf,"create"),rg=Sf.floor,sg=Sc(Of,"isArray"),tg=a.isFinite,ug=Sc(Uf,"keys"),vg=Sf.max,wg=Sf.min,xg=Sc(Pf,"now"),yg=a.parseInt,zg=Sf.random,Ag=Tf.NEGATIVE_INFINITY,Bg=Tf.POSITIVE_INFINITY,Cg=4294967295,Dg=Cg-1,Eg=Cg>>>1,Fg=9007199254740991,Gg=og&&new og,Hg={};
+b.support={};b.templateSettings={escape:xa,evaluate:ya,interpolate:za,variable:"",imports:{_:b}};var Ig=function(){function a(){}return function(b){if(He(b)){a.prototype=b;var c=new a;a.prototype=B}return c||{}}}(),Jg=lc(Fb),Kg=lc(Gb,!0),Lg=mc(),Mg=mc(!0),Ng=Gg?function(a,b){return Gg.set(a,b),a}:Bf,Og=Gg?function(a){return Gg.get(a)}:Gf,Pg=Rb("length"),Qg=function(){var a=0,b=0;return function(c,d){var e=oh(),f=P-(e-b);if(b=e,f>0){if(++a>=O)return c}else a=0;return Ng(c,d)}}(),Rg=qe(function(a,b){return t(a)&&Yc(a)?xb(a,Db(b,!1,!0)):[]}),Sg=vc(),Tg=vc(!0),Ug=qe(function(a){for(var b=a.length,c=b,d=Of(l),e=Qc(),f=e==h,g=[];c--;){var i=a[c]=Yc(i=a[c])?i:[];d[c]=f&&i.length>=120?oc(c&&i):null}var j=a[0],k=-1,l=j?j.length:0,m=d[0];a:for(;++k<l;)if(i=j[k],(m?Za(m,i):e(g,i,0))<0){for(var c=b;--c;){var n=d[c];if((n?Za(n,i):e(a[c],i,0))<0)continue a}m&&m.push(i),g.push(i)}return g}),Vg=qe(function(a,b){b=Db(b);var c=sb(a,b);return Tb(a,b.sort(f)),c}),Wg=Jc(),Xg=Jc(!0),Yg=qe(function(a){return _b(Db(a,!1,!0))}),Zg=qe(function(a,b){return Yc(a)?xb(a,b):[]}),$g=qe(Kd),_g=qe(function(a){var b=a.length,c=b>2?a[b-2]:B,d=b>1?a[b-1]:B;return b>2&&"function"==typeof c?b-=2:(c=b>1&&"function"==typeof d?(--b,d):B,d=B),a.length=b,Ld(a,c,d)}),ah=qe(function(a){return a=Db(a),this.thru(function(b){return _a(Ch(b)?b:[kd(b)],a)})}),bh=qe(function(a,b){return sb(a,Db(b))}),ch=jc(function(a,b,c){ag.call(a,c)?++a[c]:a[c]=1}),dh=uc(Jg),eh=uc(Kg,!0),fh=yc(bb,Jg),gh=yc(cb,Kg),hh=jc(function(a,b,c){ag.call(a,c)?a[c].push(b):a[c]=[b]}),ih=jc(function(a,b,c){a[c]=b}),jh=qe(function(a,b,c){var d=-1,e="function"==typeof b,f=_c(b),g=Yc(a)?Of(a.length):[];return Jg(a,function(a){var h=e?b:f&&null!=a?a[b]:B;g[++d]=h?h.apply(a,c):Xc(a,b,c)}),g}),kh=jc(function(a,b,c){a[c?0:1].push(b)},function(){return[[],[]]}),lh=Ec(kb,Jg),mh=Ec(lb,Kg),nh=qe(function(a,b){if(null==a)return[];var c=b[2];return c&&$c(b[0],b[1],c)&&(b.length=1),Zb(a,Db(b),[])}),oh=xg||function(){return(new Pf).getTime()},ph=qe(function(a,b,c){var d=D;if(c.length){var e=v(c,ph.placeholder);d|=I}return Kc(a,d,b,c,e)}),qh=qe(function(a,b){b=b.length?Db(b):Xe(a);for(var c=-1,d=b.length;++c<d;){var e=b[c];a[e]=Kc(a[e],D,a)}return a}),rh=qe(function(a,b,c){var d=D|E;if(c.length){var e=v(c,rh.placeholder);d|=I}return Kc(b,d,a,c,e)}),sh=rc(G),th=rc(H),uh=qe(function(a,b){return wb(a,1,b)}),vh=qe(function(a,b,c){return wb(a,b,c)}),wh=xc(),xh=xc(!0),yh=qe(function(a,b){if(b=Db(b),"function"!=typeof a||!fb(b,i))throw new Xf(T);var c=b.length;return qe(function(d){for(var e=wg(d.length,c);e--;)d[e]=b[e](d[e]);return a.apply(this,d)})}),zh=Dc(I),Ah=Dc(J),Bh=qe(function(a,b){return Kc(a,L,B,B,B,Db(b))}),Ch=sg||function(a){return t(a)&&bd(a.length)&&cg.call(a)==W},Dh=kc(Pb),Eh=kc(function(a,b,c){return c?qb(a,b,c):rb(a,b)}),Fh=sc(Eh,ob),Gh=sc(Dh,ed),Hh=wc(Fb),Ih=wc(Gb),Jh=zc(Lg),Kh=zc(Mg),Lh=Ac(Fb),Mh=Ac(Gb),Nh=ug?function(a){var b=null==a?B:a.constructor;return"function"==typeof b&&b.prototype===a||"function"!=typeof a&&Yc(a)?id(a):He(a)?ug(a):[]}:id,Oh=Bc(!0),Ph=Bc(),Qh=qe(function(a,b){if(null==a)return{};if("function"!=typeof b[0]){var b=ib(Db(b),Wf);return fd(a,xb(_e(a),b))}var c=fc(b[0],b[1],3);return gd(a,function(a,b,d){return!c(a,b,d)})}),Rh=qe(function(a,b){return null==a?{}:"function"==typeof b[0]?gd(a,fc(b[0],b[1],3)):fd(a,Db(b))}),Sh=pc(function(a,b,c){return b=b.toLowerCase(),a+(c?b.charAt(0).toUpperCase()+b.slice(1):b)}),Th=pc(function(a,b,c){return a+(c?"-":"")+b.toLowerCase()}),Uh=Cc(),Vh=Cc(!0),Wh=pc(function(a,b,c){return a+(c?"_":"")+b.toLowerCase()}),Xh=pc(function(a,b,c){return a+(c?" ":"")+(b.charAt(0).toUpperCase()+b.slice(1))}),Yh=qe(function(a,b){try{return a.apply(B,b)}catch(c){return Ee(c)?c:new Qf(c)}}),Zh=qe(function(a,b){return function(c){return Xc(c,a,b)}}),$h=qe(function(a,b){return function(c){return Xc(a,c,b)}}),_h=Ic("ceil"),ai=Ic("floor"),bi=tc(we,Ag),ci=tc(Se,Bg),di=Ic("round");return b.prototype=c.prototype,d.prototype=Ig(c.prototype),d.prototype.constructor=d,e.prototype=Ig(c.prototype),e.prototype.constructor=e,fa.prototype["delete"]=Ua,fa.prototype.get=Va,fa.prototype.has=Wa,fa.prototype.set=Xa,Ya.prototype.push=$a,ne.Cache=fa,b.after=je,b.ary=ke,b.assign=Eh,b.at=bh,b.before=le,b.bind=ph,b.bindAll=qh,b.bindKey=rh,b.callback=zf,b.chain=Od,b.chunk=nd,b.compact=od,b.constant=Af,b.countBy=ch,b.create=We,b.curry=sh,b.curryRight=th,b.debounce=me,b.defaults=Fh,b.defaultsDeep=Gh,b.defer=uh,b.delay=vh,b.difference=Rg,b.drop=pd,b.dropRight=qd,b.dropRightWhile=rd,b.dropWhile=sd,b.fill=td,b.filter=Yd,b.flatten=vd,b.flattenDeep=wd,b.flow=wh,b.flowRight=xh,b.forEach=fh,b.forEachRight=gh,b.forIn=Jh,b.forInRight=Kh,b.forOwn=Lh,b.forOwnRight=Mh,b.functions=Xe,b.groupBy=hh,b.indexBy=ih,b.initial=yd,b.intersection=Ug,b.invert=$e,b.invoke=jh,b.keys=Nh,b.keysIn=_e,b.map=_d,b.mapKeys=Oh,b.mapValues=Ph,b.matches=Cf,b.matchesProperty=Df,b.memoize=ne,b.merge=Dh,b.method=Zh,b.methodOf=$h,b.mixin=Ef,b.modArgs=yh,b.negate=oe,b.omit=Qh,b.once=pe,b.pairs=af,b.partial=zh,b.partialRight=Ah,b.partition=kh,b.pick=Rh,b.pluck=ae,b.property=Hf,b.propertyOf=If,b.pull=Bd,b.pullAt=Vg,b.range=Jf,b.rearg=Bh,b.reject=be,b.remove=Cd,b.rest=Dd,b.restParam=qe,b.set=cf,b.shuffle=de,b.slice=Ed,b.sortBy=ge,b.sortByAll=nh,b.sortByOrder=he,b.spread=re,b.take=Fd,b.takeRight=Gd,b.takeRightWhile=Hd,b.takeWhile=Id,b.tap=Pd,b.throttle=se,b.thru=Qd,b.times=Kf,b.toArray=Ue,b.toPlainObject=Ve,b.transform=df,b.union=Yg,b.uniq=Jd,b.unzip=Kd,b.unzipWith=Ld,b.values=ef,b.valuesIn=ff,b.where=ie,b.without=Zg,b.wrap=te,b.xor=Md,b.zip=$g,b.zipObject=Nd,b.zipWith=_g,b.backflow=xh,b.collect=_d,b.compose=xh,b.each=fh,b.eachRight=gh,b.extend=Eh,b.iteratee=zf,b.methods=Xe,b.object=Nd,b.select=Yd,b.tail=Dd,b.unique=Jd,Ef(b,b),b.add=Mf,b.attempt=Yh,b.camelCase=Sh,b.capitalize=jf,b.ceil=_h,b.clone=ue,b.cloneDeep=ve,b.deburr=kf,b.endsWith=lf,b.escape=mf,b.escapeRegExp=nf,b.every=Xd,b.find=dh,b.findIndex=Sg,b.findKey=Hh,b.findLast=eh,b.findLastIndex=Tg,b.findLastKey=Ih,b.findWhere=Zd,b.first=ud,b.floor=ai,b.get=Ye,b.gt=we,b.gte=xe,b.has=Ze,b.identity=Bf,b.includes=$d,b.indexOf=xd,b.inRange=gf,b.isArguments=ye,b.isArray=Ch,b.isBoolean=ze,b.isDate=Ae,b.isElement=Be,b.isEmpty=Ce,b.isEqual=De,b.isError=Ee,b.isFinite=Fe,b.isFunction=Ge,b.isMatch=Ie,b.isNaN=Je,b.isNative=Ke,b.isNull=Le,b.isNumber=Me,b.isObject=He,b.isPlainObject=Ne,b.isRegExp=Oe,b.isString=Pe,b.isTypedArray=Qe,b.isUndefined=Re,b.kebabCase=Th,b.last=zd,b.lastIndexOf=Ad,b.lt=Se,b.lte=Te,b.max=bi,b.min=ci,b.noConflict=Ff,b.noop=Gf,b.now=oh,b.pad=of,b.padLeft=Uh,b.padRight=Vh,b.parseInt=pf,b.random=hf,b.reduce=lh,b.reduceRight=mh,b.repeat=qf,b.result=bf,b.round=di,b.runInContext=A,b.size=ee,b.snakeCase=Wh,b.some=fe,b.sortedIndex=Wg,b.sortedLastIndex=Xg,b.startCase=Xh,b.startsWith=rf,b.sum=Nf,b.template=sf,b.trim=tf,b.trimLeft=uf,b.trimRight=vf,b.trunc=wf,b.unescape=xf,b.uniqueId=Lf,b.words=yf,b.all=Xd,b.any=fe,b.contains=$d,b.eq=De,b.detect=dh,b.foldl=lh,b.foldr=mh,b.head=ud,b.include=$d,b.inject=lh,Ef(b,function(){var a={};return Fb(b,function(c,d){b.prototype[d]||(a[d]=c)}),a}(),!1),b.sample=ce,b.prototype.sample=function(a){return this.__chain__||null!=a?this.thru(function(b){return ce(b,a)}):ce(this.value())},b.VERSION=C,bb(["bind","bindKey","curry","curryRight","partial","partialRight"],function(a){b[a].placeholder=b}),bb(["drop","take"],function(a,b){e.prototype[a]=function(c){var d=this.__filtered__;if(d&&!b)return new e(this);c=null==c?1:vg(rg(c)||0,0);var f=this.clone();return d?f.__takeCount__=wg(f.__takeCount__,c):f.__views__.push({size:c,type:a+(f.__dir__<0?"Right":"")}),f},e.prototype[a+"Right"]=function(b){return this.reverse()[a](b).reverse()}}),bb(["filter","map","takeWhile"],function(a,b){var c=b+1,d=c!=S;e.prototype[a]=function(a,b){var e=this.clone();return e.__iteratees__.push({iteratee:Oc(a,b,1),type:c}),e.__filtered__=e.__filtered__||d,e}}),bb(["first","last"],function(a,b){var c="take"+(b?"Right":"");e.prototype[a]=function(){return this[c](1).value()[0]}}),bb(["initial","rest"],function(a,b){var c="drop"+(b?"":"Right");e.prototype[a]=function(){return this.__filtered__?new e(this):this[c](1)}}),bb(["pluck","where"],function(a,b){var c=b?"filter":"map",d=b?Nb:Hf;e.prototype[a]=function(a){return this[c](d(a))}}),e.prototype.compact=function(){return this.filter(Bf)},e.prototype.reject=function(a,b){return a=Oc(a,b,1),this.filter(function(b){return!a(b)})},e.prototype.slice=function(a,b){a=null==a?0:+a||0;var c=this;return c.__filtered__&&(a>0||0>b)?new e(c):(0>a?c=c.takeRight(-a):a&&(c=c.drop(a)),b!==B&&(b=+b||0,c=0>b?c.dropRight(-b):c.take(b-a)),c)},e.prototype.takeRightWhile=function(a,b){return this.reverse().takeWhile(a,b).reverse()},e.prototype.toArray=function(){return this.take(Bg)},Fb(e.prototype,function(a,c){var f=/^(?:filter|map|reject)|While$/.test(c),g=/^(?:first|last)$/.test(c),h=b[g?"take"+("last"==c?"Right":""):c];h&&(b.prototype[c]=function(){var b=g?[1]:arguments,c=this.__chain__,i=this.__wrapped__,j=!!this.__actions__.length,k=i instanceof e,l=b[0],m=k||Ch(i);m&&f&&"function"==typeof l&&1!=l.length&&(k=m=!1);var n=function(a){return g&&c?h(a,1)[0]:h.apply(B,jb([a],b))},o={func:Qd,args:[n],thisArg:B},p=k&&!j;if(g&&!c)return p?(i=i.clone(),i.__actions__.push(o),a.call(i)):h.call(B,this.value())[0];if(!g&&m){i=p?i:new e(this);var q=a.apply(i,b);return q.__actions__.push(o),new d(q,c)}return this.thru(n)})}),bb(["join","pop","push","replace","shift","sort","splice","split","unshift"],function(a){var c=(/^(?:replace|split)$/.test(a)?$f:Yf)[a],d=/^(?:push|sort|unshift)$/.test(a)?"tap":"thru",e=/^(?:join|pop|replace|shift)$/.test(a);b.prototype[a]=function(){var a=arguments;return e&&!this.__chain__?c.apply(this.value(),a):this[d](function(b){return c.apply(b,a)})}}),Fb(e.prototype,function(a,c){var d=b[c];if(d){var e=d.name,f=Hg[e]||(Hg[e]=[]);f.push({name:c,func:d})}}),Hg[Fc(B,E).name]=[{name:"wrapper",func:B}],e.prototype.clone=u,e.prototype.reverse=_,e.prototype.value=da,b.prototype.chain=Rd,b.prototype.commit=Sd,b.prototype.concat=ah,b.prototype.plant=Td,b.prototype.reverse=Ud,b.prototype.toString=Vd,b.prototype.run=b.prototype.toJSON=b.prototype.valueOf=b.prototype.value=Wd,b.prototype.collect=b.prototype.map,b.prototype.head=b.prototype.first,b.prototype.select=b.prototype.filter,b.prototype.tail=b.prototype.rest,b}var B,C="3.10.1",D=1,E=2,F=4,G=8,H=16,I=32,J=64,K=128,L=256,M=30,N="...",O=150,P=16,Q=200,R=1,S=2,T="Expected a function",U="__lodash_placeholder__",V="[object Arguments]",W="[object Array]",X="[object Boolean]",Y="[object Date]",Z="[object Error]",$="[object Function]",_="[object Map]",aa="[object Number]",ba="[object Object]",ca="[object RegExp]",da="[object Set]",ea="[object String]",fa="[object WeakMap]",ga="[object ArrayBuffer]",ha="[object Float32Array]",ia="[object Float64Array]",ja="[object Int8Array]",ka="[object Int16Array]",la="[object Int32Array]",ma="[object Uint8Array]",na="[object Uint8ClampedArray]",oa="[object Uint16Array]",pa="[object Uint32Array]",qa=/\b__p \+= '';/g,ra=/\b(__p \+=) '' \+/g,sa=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ta=/&(?:amp|lt|gt|quot|#39|#96);/g,ua=/[&<>"'`]/g,va=RegExp(ta.source),wa=RegExp(ua.source),xa=/<%-([\s\S]+?)%>/g,ya=/<%([\s\S]+?)%>/g,za=/<%=([\s\S]+?)%>/g,Aa=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,Ba=/^\w*$/,Ca=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g,Da=/^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g,Ea=RegExp(Da.source),Fa=/[\u0300-\u036f\ufe20-\ufe23]/g,Ga=/\\(\\)?/g,Ha=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Ia=/\w*$/,Ja=/^0[xX]/,Ka=/^\[object .+?Constructor\]$/,La=/^\d+$/,Ma=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,Na=/($^)/,Oa=/['\n\r\u2028\u2029\\]/g,Pa=function(){var a="[A-Z\\xc0-\\xd6\\xd8-\\xde]",b="[a-z\\xdf-\\xf6\\xf8-\\xff]+";return RegExp(a+"+(?="+a+b+")|"+a+"?"+b+"|"+a+"+|[0-9]+","g")}(),Qa=["Array","ArrayBuffer","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Math","Number","Object","RegExp","Set","String","_","clearTimeout","isFinite","parseFloat","parseInt","setTimeout","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap"],Ra=-1,Sa={};Sa[ha]=Sa[ia]=Sa[ja]=Sa[ka]=Sa[la]=Sa[ma]=Sa[na]=Sa[oa]=Sa[pa]=!0,Sa[V]=Sa[W]=Sa[ga]=Sa[X]=Sa[Y]=Sa[Z]=Sa[$]=Sa[_]=Sa[aa]=Sa[ba]=Sa[ca]=Sa[da]=Sa[ea]=Sa[fa]=!1;var Ta={};Ta[V]=Ta[W]=Ta[ga]=Ta[X]=Ta[Y]=Ta[ha]=Ta[ia]=Ta[ja]=Ta[ka]=Ta[la]=Ta[aa]=Ta[ba]=Ta[ca]=Ta[ea]=Ta[ma]=Ta[na]=Ta[oa]=Ta[pa]=!0,Ta[Z]=Ta[$]=Ta[_]=Ta[da]=Ta[fa]=!1;var Ua={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss"},Va={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"},Wa={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&#96;":"`"},Xa={"function":!0,object:!0},Ya={0:"x30",1:"x31",2:"x32",3:"x33",4:"x34",5:"x35",6:"x36",7:"x37",8:"x38",9:"x39",A:"x41",B:"x42",C:"x43",D:"x44",E:"x45",F:"x46",a:"x61",b:"x62",c:"x63",d:"x64",e:"x65",f:"x66",n:"x6e",r:"x72",t:"x74",u:"x75",v:"x76",x:"x78"},Za={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},$a=Xa[typeof b]&&b&&!b.nodeType&&b,_a=Xa[typeof a]&&a&&!a.nodeType&&a,ab=$a&&_a&&"object"==typeof e&&e&&e.Object&&e,bb=Xa[typeof self]&&self&&self.Object&&self,cb=Xa[typeof window]&&window&&window.Object&&window,db=(_a&&_a.exports===$a&&$a,ab||cb!==(this&&this.window)&&cb||bb||this),eb=A();db._=eb,d=function(){return eb}.call(b,c,b,a),!(d!==B&&(a.exports=d))}).call(this)}).call(b,c(8)(a),function(){return this}())},function(a,b){a.exports=function(a){return a.webpackPolyfill||(a.deprecate=function(){},a.paths=[],a.children=[],a.webpackPolyfill=1),a}},function(a,b,c){"use strict";function d(a,b){var c="normal";return a&&b?c="bolditalics":a?c="bold":b&&(c="italics"),c}function e(a,b){this.fonts={},this.pdfDoc=b,this.fontWrappers={};for(var c in a)if(a.hasOwnProperty(c)){var d=a[c];this.fonts[c]={normal:d.normal,bold:d.bold,italics:d.italics,bolditalics:d.bolditalics}}}var f=c(7),g=c(10);e.prototype.provideFont=function(a,b,c){var e=d(b,c);if(!this.fonts[a]||!this.fonts[a][e])throw new Error("Font '"+a+"' in style '"+e+"' is not defined in the font section of the document definition.");return this.fontWrappers[a]=this.fontWrappers[a]||{},this.fontWrappers[a][e]||(this.fontWrappers[a][e]=new g(this.pdfDoc,this.fonts[a][e],a+"("+e+")")),this.fontWrappers[a][e]},e.prototype.setFontRefsToPdfDoc=function(){var a=this;f.each(a.fontWrappers,function(b){f.each(b,function(b){f.each(b.pdfFonts,function(b){a.pdfDoc.page.fonts[b.id]||(a.pdfDoc.page.fonts[b.id]=b.ref())})})})},a.exports=e},function(a,b,c){"use strict";function d(a,b,c){this.MAX_CHAR_TYPES=92,this.pdfkitDoc=a,this.path=b,this.pdfFonts=[],this.charCatalogue=[],this.name=c,Object.defineProperty(this,"ascender",{get:function(){var a=this.getFont(0);return a.ascender}}),Object.defineProperty(this,"decender",{get:function(){var a=this.getFont(0);return a.decender}})}var e=c(7);d.prototype.getFont=function(a){if(!this.pdfFonts[a]){var b=this.name+a;this.postscriptName&&delete this.pdfkitDoc._fontFamilies[this.postscriptName],this.pdfFonts[a]=this.pdfkitDoc.font(this.path,b)._font,this.postscriptName||(this.postscriptName=this.pdfFonts[a].name)}return this.pdfFonts[a]},d.prototype.widthOfString=function(){var a=this.getFont(0);return a.widthOfString.apply(a,arguments)},d.prototype.lineHeight=function(){var a=this.getFont(0);return a.lineHeight.apply(a,arguments)},d.prototype.ref=function(){var a=this.getFont(0);return a.ref.apply(a,arguments)};var f=function(a){return a.charCodeAt(0)};d.prototype.encode=function(a){var b=this,c=e.chain(a.split("")).map(f).uniq().value();if(c.length>b.MAX_CHAR_TYPES)throw new Error("Inline has more than "+b.MAX_CHAR_TYPES+": "+a+" different character types and therefore cannot be properly embedded into pdf.");var d=function(a){return e.uniq(a.concat(c)).length<=b.MAX_CHAR_TYPES},g=e.findIndex(b.charCatalogue,d);0>g&&(g=b.charCatalogue.length,b.charCatalogue[g]=[]);var h=b.getFont(g);h.use(a),e.each(c,function(a){e.includes(b.charCatalogue[g],a)||b.charCatalogue[g].push(a)});var i=e.map(h.encode(a),function(a){return a.charCodeAt(0).toString(16)}).join("");return{encodedText:i,fontId:h.id}},a.exports=d},function(a,b,c){"use strict";function d(a,b){g.each(b,function(b){a.push(b)})}function e(a,b,c){this.pageSize=a,this.pageMargins=b,this.tracker=new h,this.imageMeasure=c,this.tableLayouts={}}function f(a){var b=a.x,c=a.y;a.positions=[],g.each(a.canvas,function(a){var b=a.x,c=a.y,d=a.x1,e=a.y1,f=a.x2,g=a.y2;a.resetXY=function(){a.x=b,a.y=c,a.x1=d,a.y1=e,a.x2=f,a.y2=g}}),a.resetXY=function(){a.x=b,a.y=c,g.each(a.canvas,function(a){a.resetXY()})}}var g=c(7),h=c(12),i=c(13),j=c(19),k=c(20),l=c(16),m=c(23),n=c(22),o=c(17).pack,p=c(17).offsetVector,q=c(17).fontStringify,r=c(17).isFunction,s=c(14),t=c(15);e.prototype.registerTableLayouts=function(a){this.tableLayouts=o(this.tableLayouts,a)},e.prototype.layoutDocument=function(a,b,c,d,e,f,h,j,k,l){function m(a,b){return r(l)?(a=g.reject(a,function(a){return g.isEmpty(a.positions)}),g.each(a,function(a){var c=g.pick(a,["id","text","ul","ol","table","image","qr","canvas","columns","headlineLevel","style","pageBreak","pageOrientation","width","height"]);c.startPosition=g.first(a.positions),c.pageNumbers=g.chain(a.positions).map("pageNumber").uniq().value(),c.pages=b.length,c.stack=g.isArray(a.stack),a.nodeInfo=c}),g.any(a,function(a,b,c){if("before"!==a.pageBreak&&!a.pageBreakCalculated){a.pageBreakCalculated=!0;var d=g.first(a.nodeInfo.pageNumbers),e=g.chain(c).drop(b+1).filter(function(a){return g.contains(a.nodeInfo.pageNumbers,d)}).value(),f=g.chain(c).drop(b+1).filter(function(a){return g.contains(a.nodeInfo.pageNumbers,d+1)}).value(),h=g.chain(c).take(b).filter(function(a){return g.contains(a.nodeInfo.pageNumbers,d)}).value();if(l(a.nodeInfo,g.map(e,"nodeInfo"),g.map(f,"nodeInfo"),g.map(h,"nodeInfo")))return a.pageBreak="before",!0}})):!1}function n(a){g.each(a.linearNodeList,function(a){a.resetXY()})}this.docMeasure=new i(b,c,d,this.imageMeasure,this.tableLayouts,j);for(var o=this.tryLayoutDocument(a,b,c,d,e,f,h,j,k);m(o.linearNodeList,o.pages);)n(o),o=this.tryLayoutDocument(a,b,c,d,e,f,h,j,k);return o.pages},e.prototype.tryLayoutDocument=function(a,b,c,d,e,f,g,h,i,l){this.linearNodeList=[],a=this.docMeasure.measureDocument(a),this.writer=new k(new j(this.pageSize,this.pageMargins),this.tracker);var m=this;return this.writer.context().tracker.startTracking("pageAdded",function(){m.addBackground(e)}),this.addBackground(e),this.processNode(a),this.addHeadersAndFooters(f,g),null!=i&&this.addWatermark(i,b),{pages:this.writer.context().pages,linearNodeList:this.linearNodeList}},e.prototype.addBackground=function(a){var b=r(a)?a:function(){return a},c=b(this.writer.context().page+1);if(c){var d=this.writer.context().getCurrentPage().pageSize;this.writer.beginUnbreakableBlock(d.width,d.height),this.processNode(this.docMeasure.measureDocument(c)),this.writer.commitUnbreakableBlock(0,0)}},e.prototype.addStaticRepeatable=function(a,b){this.addDynamicRepeatable(function(){return a},b)},e.prototype.addDynamicRepeatable=function(a,b){for(var c=this.writer.context().pages,d=0,e=c.length;e>d;d++){this.writer.context().page=d;var f=a(d+1,e);if(f){var g=b(this.writer.context().getCurrentPage().pageSize,this.pageMargins);this.writer.beginUnbreakableBlock(g.width,g.height),this.processNode(this.docMeasure.measureDocument(f)),this.writer.commitUnbreakableBlock(g.x,g.y)}}},e.prototype.addHeadersAndFooters=function(a,b){var c=function(a,b){return{x:0,y:0,width:a.width,height:b.top}},d=function(a,b){return{x:0,y:a.height-b.bottom,width:a.width,height:b.bottom}};r(a)?this.addDynamicRepeatable(a,c):a&&this.addStaticRepeatable(a,c),r(b)?this.addDynamicRepeatable(b,d):b&&this.addStaticRepeatable(b,d)},e.prototype.addWatermark=function(a,b){function c(a,b,c){for(var d,e=a.width,f=a.height,g=.8*Math.sqrt(e*e+f*f),h=new s(c),i=new t,j=0,k=1e3,l=(j+k)/2;Math.abs(j-k)>1;)i.push({fontSize:l}),d=h.sizeOfString(b,i),d.width>g?(k=l,l=(j+k)/2):d.width<g&&(j=l,l=(j+k)/2),i.pop();return{size:d,fontSize:l}}for(var d=Object.getOwnPropertyNames(b.fonts)[0],e={text:a,font:b.provideFont(b[d],!1,!1),size:c(this.pageSize,a,b)},f=this.writer.context().pages,g=0,h=f.length;h>g;g++)f[g].watermark=e},e.prototype.processNode=function(a){function b(b){var d=a._margin;"before"===a.pageBreak&&c.writer.moveToNextPage(a.pageOrientation),d&&(c.writer.context().moveDown(d[1]),c.writer.context().addMargin(d[0],d[2])),b(),d&&(c.writer.context().addMargin(-d[0],-d[2]),c.writer.context().moveDown(d[3])),"after"===a.pageBreak&&c.writer.moveToNextPage(a.pageOrientation)}var c=this;this.linearNodeList.push(a),f(a),b(function(){var b=a.absolutePosition;if(b&&(c.writer.context().beginDetachedBlock(),c.writer.context().moveTo(b.x||0,b.y||0)),a.stack)c.processVerticalContainer(a);else if(a.columns)c.processColumns(a);else if(a.ul)c.processList(!1,a);else if(a.ol)c.processList(!0,a);else if(a.table)c.processTable(a);else if(void 0!==a.text)c.processLeaf(a);else if(a.image)c.processImage(a);else if(a.canvas)c.processCanvas(a);else if(a.qr)c.processQr(a);else if(!a._span)throw"Unrecognized document structure: "+JSON.stringify(a,q);b&&c.writer.context().endDetachedBlock()})},e.prototype.processVerticalContainer=function(a){var b=this;a.stack.forEach(function(c){b.processNode(c),d(a.positions,c.positions)})},e.prototype.processColumns=function(a){function b(a){if(!a)return null;var b=[];b.push(0);for(var d=c.length-1;d>0;d--)b.push(a);return b}var c=a.columns,e=this.writer.context().availableWidth,f=b(a._gap);f&&(e-=(f.length-1)*a._gap),l.buildColumnWidths(c,e);var g=this.processRow(c,c,f);d(a.positions,g.positions)},e.prototype.processRow=function(a,b,c,e,f){function g(a){for(var b,c=0,d=k.length;d>c;c++){var e=k[c];if(e.prevPage===a.prevPage){b=e;break}}b||(b=a,k.push(b)),b.prevY=Math.max(b.prevY,a.prevY),b.y=Math.min(b.y,a.y)}function h(a){return c&&c.length>a?c[a]:0}function i(a,b){if(a.rowSpan&&a.rowSpan>1){var c=f+a.rowSpan-1;if(c>=e.length)throw"Row span for column "+b+" (with indexes starting from 0) exceeded row count";return e[c][b]}return null}var j=this,k=[],l=[];return this.tracker.auto("pageChanged",g,function(){b=b||a,j.writer.context().beginColumnGroup();for(var e=0,f=a.length;f>e;e++){var g=a[e],k=b[e]._calcWidth,m=h(e);if(g.colSpan&&g.colSpan>1)for(var n=1;n<g.colSpan;n++)k+=b[++e]._calcWidth+c[e];j.writer.context().beginColumn(k,m,i(g,e)),g._span?g._columnEndingContext&&j.writer.context().markEnding(g):(j.processNode(g),d(l,g.positions))}j.writer.context().completeColumnGroup()}),{pageBreaks:k,positions:l}},e.prototype.processList=function(a,b){function c(a){if(h){var b=h;if(h=null,b.canvas){var c=b.canvas[0];p(c,-b._minWidth,0),e.writer.addVector(c)}else{var d=new n(e.pageSize.width);d.addInline(b._inlines[0]),d.x=-b._minWidth,d.y=a.getAscenderHeight()-d.getAscenderHeight(),e.writer.addLine(d,!0)}}}var e=this,f=a?b.ol:b.ul,g=b._gapSize;this.writer.context().addMargin(g.width);var h;this.tracker.auto("lineAdded",c,function(){f.forEach(function(a){h=a.listMarker,e.processNode(a),d(b.positions,a.positions)})}),this.writer.context().addMargin(-g.width)},e.prototype.processTable=function(a){var b=new m(a);b.beginTable(this.writer);for(var c=0,e=a.table.body.length;e>c;c++){b.beginRow(c,this.writer);var f=this.processRow(a.table.body[c],a.table.widths,a._offsets.offsets,a.table.body,c);d(a.positions,f.positions),b.endRow(c,this.writer,f.pageBreaks)}b.endTable(this.writer)},e.prototype.processLeaf=function(a){for(var b=this.buildNextLine(a),c=b?b.getHeight():0,d=a.maxHeight||-1;b&&(-1===d||d>c);){var e=this.writer.addLine(b);a.positions.push(e),b=this.buildNextLine(a),b&&(c+=b.getHeight())}},e.prototype.buildNextLine=function(a){if(!a._inlines||0===a._inlines.length)return null;for(var b=new n(this.writer.context().availableWidth);a._inlines&&a._inlines.length>0&&b.hasEnoughSpaceForInline(a._inlines[0]);)b.addInline(a._inlines.shift());return b.lastLineInParagraph=0===a._inlines.length,b},e.prototype.processImage=function(a){var b=this.writer.addImage(a);a.positions.push(b)},e.prototype.processCanvas=function(a){var b=a._minHeight;this.writer.context().availableHeight<b&&this.writer.moveToNextPage(),a.canvas.forEach(function(b){var c=this.writer.addVector(b);a.positions.push(c)},this),this.writer.context().moveDown(b)},e.prototype.processQr=function(a){var b=this.writer.addQr(a);a.positions.push(b)},a.exports=e},function(a,b){"use strict";function c(){this.events={}}c.prototype.startTracking=function(a,b){var c=this.events[a]||(this.events[a]=[]);c.indexOf(b)<0&&c.push(b)},c.prototype.stopTracking=function(a,b){var c=this.events[a];if(c){var d=c.indexOf(b);d>=0&&c.splice(d,1)}},c.prototype.emit=function(a){var b=Array.prototype.slice.call(arguments,1),c=this.events[a];c&&c.forEach(function(a){a.apply(this,b)})},c.prototype.auto=function(a,b,c){this.startTracking(a,b),c(),this.stopTracking(a,b)},a.exports=c},function(a,b,c){"use strict";function d(a,b,c,d,g,h){this.textTools=new e(a),this.styleStack=new f(b,c),this.imageMeasure=d,this.tableLayouts=g,this.images=h,this.autoImageIndex=1}var e=c(14),f=c(15),g=c(16),h=c(17).fontStringify,i=c(17).pack,j=c(18);d.prototype.measureDocument=function(a){return this.measureNode(a)},d.prototype.measureNode=function(a){function b(a){var b=a._margin;return b&&(a._minWidth+=b[0]+b[2],a._maxWidth+=b[0]+b[2]),a}function c(){function b(a,b){return a.marginLeft||a.marginTop||a.marginRight||a.marginBottom?[a.marginLeft||b[0]||0,a.marginTop||b[1]||0,a.marginRight||b[2]||0,a.marginBottom||b[3]||0]:b}function c(a){for(var b={},c=a.length-1;c>=0;c--){var e=a[c],f=d.styleStack.styleDictionary[e];for(var g in f)f.hasOwnProperty(g)&&(b[g]=f[g])}return b}function e(a){return"number"==typeof a||a instanceof Number?a=[a,a,a,a]:a instanceof Array&&2===a.length&&(a=[a[0],a[1],a[0],a[1]]),a}var f=[void 0,void 0,void 0,void 0];if(a.style){var g=a.style instanceof Array?a.style:[a.style],h=c(g);h&&(f=b(h,f)),h.margin&&(f=e(h.margin))}return f=b(a,f),a.margin&&(f=e(a.margin)),void 0===f[0]&&void 0===f[1]&&void 0===f[2]&&void 0===f[3]?null:f}a instanceof Array?a={stack:a}:("string"==typeof a||a instanceof String)&&(a={text:a}),0===Object.keys(a).length&&(a={text:""});var d=this;return this.styleStack.auto(a,function(){if(a._margin=c(a),a.columns)return b(d.measureColumns(a));if(a.stack)return b(d.measureVerticalContainer(a));if(a.ul)return b(d.measureList(!1,a));if(a.ol)return b(d.measureList(!0,a));if(a.table)return b(d.measureTable(a));if(void 0!==a.text)return b(d.measureLeaf(a));if(a.image)return b(d.measureImage(a));if(a.canvas)return b(d.measureCanvas(a));if(a.qr)return b(d.measureQr(a));throw"Unrecognized document structure: "+JSON.stringify(a,h)})},d.prototype.convertIfBase64Image=function(a){if(/^data:image\/(jpeg|jpg|png);base64,/.test(a.image)){var b="$$pdfmake$$"+this.autoImageIndex++;this.images[b]=a.image,a.image=b}},d.prototype.measureImage=function(a){this.images&&this.convertIfBase64Image(a);var b=this.imageMeasure.measureImage(a.image);if(a.fit){var c=b.width/b.height>a.fit[0]/a.fit[1]?a.fit[0]/b.width:a.fit[1]/b.height;a._width=a._minWidth=a._maxWidth=b.width*c,a._height=b.height*c}else a._width=a._minWidth=a._maxWidth=a.width||b.width,a._height=a.height||b.height*a._width/b.width;return a._alignment=this.styleStack.getProperty("alignment"),a},d.prototype.measureLeaf=function(a){var b=this.styleStack.clone();b.push(a);var c=this.textTools.buildInlines(a.text,b);return a._inlines=c.items,a._minWidth=c.minWidth,a._maxWidth=c.maxWidth,a},d.prototype.measureVerticalContainer=function(a){var b=a.stack;a._minWidth=0,a._maxWidth=0;for(var c=0,d=b.length;d>c;c++)b[c]=this.measureNode(b[c]),a._minWidth=Math.max(a._minWidth,b[c]._minWidth),a._maxWidth=Math.max(a._maxWidth,b[c]._maxWidth);return a},d.prototype.gapSizeForList=function(a,b){if(a){var c=b.length.toString().replace(/./g,"9");return this.textTools.sizeOfString(c+". ",this.styleStack)}return this.textTools.sizeOfString("9. ",this.styleStack)},d.prototype.buildMarker=function(a,b,c,d){var e;if(a)e={_inlines:this.textTools.buildInlines(b,c).items};else{var f=d.fontSize/6;e={canvas:[{x:f,y:d.height/d.lineHeight+d.decender-d.fontSize/3,r1:f,r2:f,type:"ellipse",color:"black"}]}}return e._minWidth=e._maxWidth=d.width,e._minHeight=e._maxHeight=d.height,e},d.prototype.measureList=function(a,b){var c=this.styleStack.clone(),d=a?b.ol:b.ul;b._gapSize=this.gapSizeForList(a,d),b._minWidth=0,b._maxWidth=0;for(var e=1,f=0,g=d.length;g>f;f++){var h=d[f]=this.measureNode(d[f]),i=e++ +". ";h.ol||h.ul||(h.listMarker=this.buildMarker(a,h.counter||i,c,b._gapSize)),b._minWidth=Math.max(b._minWidth,d[f]._minWidth+b._gapSize.width),b._maxWidth=Math.max(b._maxWidth,d[f]._maxWidth+b._gapSize.width)}return b},d.prototype.measureColumns=function(a){var b=a.columns;a._gap=this.styleStack.getProperty("columnGap")||0;for(var c=0,d=b.length;d>c;c++)b[c]=this.measureNode(b[c]);var e=g.measureMinMax(b);return a._minWidth=e.min+a._gap*(b.length-1),a._maxWidth=e.max+a._gap*(b.length-1),a},d.prototype.measureTable=function(a){function b(a,b){return function(){return null!==b&&"object"==typeof b&&(b.fillColor=a.styleStack.getProperty("fillColor")),a.measureNode(b)}}function c(b){var c=a.layout;("string"==typeof a.layout||a instanceof String)&&(c=b[c]);var d={hLineWidth:function(a,b){return 1},vLineWidth:function(a,b){return 1},hLineColor:function(a,b){return"black"},vLineColor:function(a,b){return"black"},paddingLeft:function(a,b){return 4},paddingRight:function(a,b){return 4},paddingTop:function(a,b){return 2},paddingBottom:function(a,b){return 2}};return i(d,c)}function d(b){for(var c=[],d=0,e=0,f=0,g=a.table.widths.length;g>f;f++){var h=e+b.vLineWidth(f,a)+b.paddingLeft(f,a);c.push(h),d+=h,e=b.paddingRight(f,a)}return d+=e+b.vLineWidth(a.table.widths.length,a),{total:d,offsets:c}}function e(){for(var b,c,d=0,e=p.length;e>d;d++){var g=p[d],h=f(g.col,g.span,a._offsets),i=g.minWidth-h.minWidth,j=g.maxWidth-h.maxWidth;if(i>0)for(b=i/g.span,c=0;c<g.span;c++)a.table.widths[g.col+c]._minWidth+=b;if(j>0)for(b=j/g.span,c=0;c<g.span;c++)a.table.widths[g.col+c]._maxWidth+=b}}function f(b,c,d){for(var e={minWidth:0,maxWidth:0},f=0;c>f;f++)e.minWidth+=a.table.widths[b+f]._minWidth+(f?d.offsets[b+f]:0),e.maxWidth+=a.table.widths[b+f]._maxWidth+(f?d.offsets[b+f]:0);return e}function h(a,b,c){for(var d=1;c>d;d++)a[b+d]={_span:!0,_minWidth:0,_maxWidth:0,rowSpan:a[b].rowSpan}}function j(a,b,c,d){for(var e=1;d>e;e++)a.body[b+e][c]={_span:!0,_minWidth:0,_maxWidth:0,fillColor:a.body[b][c].fillColor}}function k(a){if(a.table.widths||(a.table.widths="auto"),"string"==typeof a.table.widths||a.table.widths instanceof String)for(a.table.widths=[a.table.widths];a.table.widths.length<a.table.body[0].length;)a.table.widths.push(a.table.widths[a.table.widths.length-1]);for(var b=0,c=a.table.widths.length;c>b;b++){var d=a.table.widths[b];("number"==typeof d||d instanceof Number||"string"==typeof d||d instanceof String)&&(a.table.widths[b]={width:d})}}k(a),a._layout=c(this.tableLayouts),a._offsets=d(a._layout);var l,m,n,o,p=[];for(l=0,n=a.table.body[0].length;n>l;l++){var q=a.table.widths[l];for(q._minWidth=0,q._maxWidth=0,m=0,o=a.table.body.length;o>m;m++){var r=a.table.body[m],s=r[l];if(!s._span){s=r[l]=this.styleStack.auto(s,b(this,s)),s.colSpan&&s.colSpan>1?(h(r,l,s.colSpan),p.push({col:l,span:s.colSpan,minWidth:s._minWidth,maxWidth:s._maxWidth})):(q._minWidth=Math.max(q._minWidth,s._minWidth),q._maxWidth=Math.max(q._maxWidth,s._maxWidth))}s.rowSpan&&s.rowSpan>1&&j(a.table,m,l,s.rowSpan);
+}}e();var t=g.measureMinMax(a.table.widths);return a._minWidth=t.min+a._offsets.total,a._maxWidth=t.max+a._offsets.total,a},d.prototype.measureCanvas=function(a){for(var b=0,c=0,d=0,e=a.canvas.length;e>d;d++){var f=a.canvas[d];switch(f.type){case"ellipse":b=Math.max(b,f.x+f.r1),c=Math.max(c,f.y+f.r2);break;case"rect":b=Math.max(b,f.x+f.w),c=Math.max(c,f.y+f.h);break;case"line":b=Math.max(b,f.x1,f.x2),c=Math.max(c,f.y1,f.y2);break;case"polyline":for(var g=0,h=f.points.length;h>g;g++)b=Math.max(b,f.points[g].x),c=Math.max(c,f.points[g].y)}}return a._minWidth=a._maxWidth=b,a._minHeight=a._maxHeight=c,a},d.prototype.measureQr=function(a){return a=j.measure(a),a._alignment=this.styleStack.getProperty("alignment"),a},a.exports=d},function(a,b){"use strict";function c(a){this.fontProvider=a}function d(a,b){var c=[];a=a.replace("      ","    ");var d;d=b?[a,""]:a.match(j);for(var e=0,f=d.length;f-1>e;e++){var g=d[e],h=0===g.length;if(h){var i=0===c.length||c[c.length-1].lineEnd;i?c.push({text:"",lineEnd:!0}):c[c.length-1].lineEnd=!0}else c.push({text:g})}return c}function e(a,b){b=b||{},a=a||{};for(var c in a)"text"!=c&&a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function f(a){var b=[];("string"==typeof a||a instanceof String)&&(a=[a]);for(var c=0,f=a.length;f>c;c++){var g,h=a[c],i=null;"string"==typeof h||h instanceof String?g=d(h):(g=d(h.text,h.noWrap),i=e(h));for(var j=0,k=g.length;k>j;j++){var l={text:g[j].text};g[j].lineEnd&&(l.lineEnd=!0),e(i,l),b.push(l)}}return b}function g(a){return a.replace(/[^A-Za-z0-9\[\] ]/g,function(a){return m[a]||a})}function h(a,b,c,d){var e;return void 0!==a[c]&&null!==a[c]?a[c]:b?(b.auto(a,function(){e=b.getProperty(c)}),null!==e&&void 0!==e?e:d):d}function i(a,b,c){var d=f(b);return d.forEach(function(b){var d=h(b,c,"font","Roboto"),e=h(b,c,"fontSize",12),f=h(b,c,"bold",!1),i=h(b,c,"italics",!1),j=h(b,c,"color","black"),m=h(b,c,"decoration",null),n=h(b,c,"decorationColor",null),o=h(b,c,"decorationStyle",null),p=h(b,c,"background",null),q=h(b,c,"lineHeight",1),r=a.provideFont(d,f,i);b.width=r.widthOfString(g(b.text),e),b.height=r.lineHeight(e)*q;var s=b.text.match(k),t=b.text.match(l);s?b.leadingCut=r.widthOfString(s[0],e):b.leadingCut=0,t?b.trailingCut=r.widthOfString(t[0],e):b.trailingCut=0,b.alignment=h(b,c,"alignment","left"),b.font=r,b.fontSize=e,b.color=j,b.decoration=m,b.decorationColor=n,b.decorationStyle=o,b.background=p}),d}var j=/([^ ,\/!.?:;\-\n]*[ ,\/!.?:;\-]*)|\n/g,k=/^(\s)+/g,l=/(\s)+$/g;c.prototype.buildInlines=function(a,b){function c(a){return Math.max(0,a.width-a.leadingCut-a.trailingCut)}var d,e=i(this.fontProvider,a,b),f=0,g=0;return e.forEach(function(a){f=Math.max(f,a.width-a.leadingCut-a.trailingCut),d||(d={width:0,leadingCut:a.leadingCut,trailingCut:0}),d.width+=a.width,d.trailingCut=a.trailingCut,g=Math.max(g,c(d)),a.lineEnd&&(d=null)}),h({},b,"noWrap",!1)&&(f=g),{items:e,minWidth:f,maxWidth:g}},c.prototype.sizeOfString=function(a,b){a=a.replace("       ","    ");var c=h({},b,"font","Roboto"),d=h({},b,"fontSize",12),e=h({},b,"bold",!1),f=h({},b,"italics",!1),i=h({},b,"lineHeight",1),j=this.fontProvider.provideFont(c,e,f);return{width:j.widthOfString(g(a),d),height:j.lineHeight(d)*i,fontSize:d,lineHeight:i,ascender:j.ascender/1e3*d,decender:j.decender/1e3*d}};var m={"Ą":"A","Ć":"C","Ę":"E","Ł":"L","Ń":"N","Ó":"O","Ś":"S","Ź":"Z","Ż":"Z","ą":"a","ć":"c","ę":"e","ł":"l","ń":"n","ó":"o","ś":"s","ź":"z","ż":"z"};a.exports=c},function(a,b){"use strict";function c(a,b){this.defaultStyle=b||{},this.styleDictionary=a,this.styleOverrides=[]}c.prototype.clone=function(){var a=new c(this.styleDictionary,this.defaultStyle);return this.styleOverrides.forEach(function(b){a.styleOverrides.push(b)}),a},c.prototype.push=function(a){this.styleOverrides.push(a)},c.prototype.pop=function(a){for(a=a||1;a-- >0;)this.styleOverrides.pop()},c.prototype.autopush=function(a){if("string"==typeof a||a instanceof String)return 0;var b=[];a.style&&(b=a.style instanceof Array?a.style:[a.style]);for(var c=0,d=b.length;d>c;c++)this.push(b[c]);var e={},f=!1;return["font","fontSize","bold","italics","alignment","color","columnGap","fillColor","decoration","decorationStyle","decorationColor","background","lineHeight","noWrap"].forEach(function(b){void 0!==a[b]&&null!==a[b]&&(e[b]=a[b],f=!0)}),f&&this.push(e),b.length+(f?1:0)},c.prototype.auto=function(a,b){var c=this.autopush(a),d=b();return c>0&&this.pop(c),d},c.prototype.getProperty=function(a){if(this.styleOverrides)for(var b=this.styleOverrides.length-1;b>=0;b--){var c=this.styleOverrides[b];if("string"==typeof c||c instanceof String){var d=this.styleDictionary[c];if(d&&null!==d[a]&&void 0!==d[a])return d[a]}else if(void 0!==c[a]&&null!==c[a])return c[a]}return this.defaultStyle&&this.defaultStyle[a]},a.exports=c},function(a,b){"use strict";function c(a,b){var c=[],f=0,g=0,h=[],i=0,j=0,k=[],l=b;a.forEach(function(a){d(a)?(c.push(a),f+=a._minWidth,g+=a._maxWidth):e(a)?(h.push(a),i=Math.max(i,a._minWidth),j=Math.max(j,a._maxWidth)):k.push(a)}),k.forEach(function(a){"string"==typeof a.width&&/\d+%/.test(a.width)&&(a.width=parseFloat(a.width)*l/100),a.width<a._minWidth&&a.elasticWidth?a._calcWidth=a._minWidth:a._calcWidth=a.width,b-=a._calcWidth});var m=f+i*h.length,n=g+j*h.length;if(m>=b)c.forEach(function(a){a._calcWidth=a._minWidth}),h.forEach(function(a){a._calcWidth=i});else{if(b>n)c.forEach(function(a){a._calcWidth=a._maxWidth,b-=a._calcWidth});else{var o=b-m,p=n-m;c.forEach(function(a){var c=a._maxWidth-a._minWidth;a._calcWidth=a._minWidth+c*o/p,b-=a._calcWidth})}if(h.length>0){var q=b/h.length;h.forEach(function(a){a._calcWidth=q})}}}function d(a){return"auto"===a.width}function e(a){return null===a.width||void 0===a.width||"*"===a.width||"star"===a.width}function f(a){for(var b={min:0,max:0},c={min:0,max:0},f=0,g=0,h=a.length;h>g;g++){var i=a[g];e(i)?(c.min=Math.max(c.min,i._minWidth),c.max=Math.max(c.max,i._maxWidth),f++):d(i)?(b.min+=i._minWidth,b.max+=i._maxWidth):(b.min+=void 0!==i.width&&i.width||i._minWidth,b.max+=void 0!==i.width&&i.width||i._maxWidth)}return f&&(b.min+=f*c.min,b.max+=f*c.max),b}a.exports={buildColumnWidths:c,measureMinMax:f,isAutoColumn:d,isStarColumn:e}},function(a,b){"use strict";function c(){for(var a={},b=0,c=arguments.length;c>b;b++){var d=arguments[b];if(d)for(var e in d)d.hasOwnProperty(e)&&(a[e]=d[e])}return a}function d(a,b,c){switch(a.type){case"ellipse":case"rect":a.x+=b,a.y+=c;break;case"line":a.x1+=b,a.x2+=b,a.y1+=c,a.y2+=c;break;case"polyline":for(var d=0,e=a.points.length;e>d;d++)a.points[d].x+=b,a.points[d].y+=c}}function e(a,b){return"font"===a?"font":b}function f(a){var b={};return a&&"[object Function]"===b.toString.call(a)}a.exports={pack:c,fontStringify:e,offsetVector:d,isFunction:f}},function(a,b){"use strict";function c(a,b){var c={numeric:h,alphanumeric:i,octet:j},d={L:o,M:p,Q:q,H:r};b=b||{};var e=b.version||-1,f=d[(b.eccLevel||"L").toUpperCase()],g=b.mode?c[b.mode.toLowerCase()]:-1,k="mask"in b?b.mask:-1;if(0>g)g="string"==typeof a?a.match(l)?h:a.match(n)?i:j:j;else if(g!=h&&g!=i&&g!=j)throw"invalid or unsupported mode";if(a=K(g,a),null===a)throw"invalid data format";if(0>f||f>3)throw"invalid ECC level";if(0>e){for(e=1;40>=e&&!(a.length<=J(e,g,f));++e);if(e>40)throw"too large data for the Qr format"}else if(1>e||e>40)throw"invalid Qr version! should be between 1 and 40";if(-1!=k&&(0>k||k>8))throw"invalid mask";return U(a,e,g,f,k)}function d(a,b){var d=[],e=a.background||"#fff",f=a.foreground||"#000",g=c(a,b),h=g.length,i=Math.floor(b.fit?b.fit/h:5),j=h*i;d.push({type:"rect",x:0,y:0,w:j,h:j,lineWidth:0,color:e});for(var k=0;h>k;++k)for(var l=0;h>l;++l)g[k][l]&&d.push({type:"rect",x:i*k,y:i*l,w:i,h:i,lineWidth:0,color:f});return{canvas:d,size:j}}function e(a){var b=d(a.qr,a);return a._canvas=b.canvas,a._width=a._height=a._minWidth=a._maxWidth=a._minHeight=a._maxHeight=b.size,a}for(var f=[null,[[10,7,17,13],[1,1,1,1],[]],[[16,10,28,22],[1,1,1,1],[4,16]],[[26,15,22,18],[1,1,2,2],[4,20]],[[18,20,16,26],[2,1,4,2],[4,24]],[[24,26,22,18],[2,1,4,4],[4,28]],[[16,18,28,24],[4,2,4,4],[4,32]],[[18,20,26,18],[4,2,5,6],[4,20,36]],[[22,24,26,22],[4,2,6,6],[4,22,40]],[[22,30,24,20],[5,2,8,8],[4,24,44]],[[26,18,28,24],[5,4,8,8],[4,26,48]],[[30,20,24,28],[5,4,11,8],[4,28,52]],[[22,24,28,26],[8,4,11,10],[4,30,56]],[[22,26,22,24],[9,4,16,12],[4,32,60]],[[24,30,24,20],[9,4,16,16],[4,24,44,64]],[[24,22,24,30],[10,6,18,12],[4,24,46,68]],[[28,24,30,24],[10,6,16,17],[4,24,48,72]],[[28,28,28,28],[11,6,19,16],[4,28,52,76]],[[26,30,28,28],[13,6,21,18],[4,28,54,80]],[[26,28,26,26],[14,7,25,21],[4,28,56,84]],[[26,28,28,30],[16,8,25,20],[4,32,60,88]],[[26,28,30,28],[17,8,25,23],[4,26,48,70,92]],[[28,28,24,30],[17,9,34,23],[4,24,48,72,96]],[[28,30,30,30],[18,9,30,25],[4,28,52,76,100]],[[28,30,30,30],[20,10,32,27],[4,26,52,78,104]],[[28,26,30,30],[21,12,35,29],[4,30,56,82,108]],[[28,28,30,28],[23,12,37,34],[4,28,56,84,112]],[[28,30,30,30],[25,12,40,34],[4,32,60,88,116]],[[28,30,30,30],[26,13,42,35],[4,24,48,72,96,120]],[[28,30,30,30],[28,14,45,38],[4,28,52,76,100,124]],[[28,30,30,30],[29,15,48,40],[4,24,50,76,102,128]],[[28,30,30,30],[31,16,51,43],[4,28,54,80,106,132]],[[28,30,30,30],[33,17,54,45],[4,32,58,84,110,136]],[[28,30,30,30],[35,18,57,48],[4,28,56,84,112,140]],[[28,30,30,30],[37,19,60,51],[4,32,60,88,116,144]],[[28,30,30,30],[38,19,63,53],[4,28,52,76,100,124,148]],[[28,30,30,30],[40,20,66,56],[4,22,48,74,100,126,152]],[[28,30,30,30],[43,21,70,59],[4,26,52,78,104,130,156]],[[28,30,30,30],[45,22,74,62],[4,30,56,82,108,134,160]],[[28,30,30,30],[47,24,77,65],[4,24,52,80,108,136,164]],[[28,30,30,30],[49,25,81,68],[4,28,56,84,112,140,168]]],g=0,h=1,i=2,j=4,k=8,l=/^\d*$/,m=/^[A-Za-z0-9 $%*+\-.\/:]*$/,n=/^[A-Z0-9 $%*+\-.\/:]*$/,o=1,p=0,q=3,r=2,s=[],t=[-1],u=0,v=1;255>u;++u)s.push(v),t[v]=u,v=2*v^(v>=128?285:0);for(var w=[[]],u=0;30>u;++u){for(var x=w[u],y=[],z=0;u>=z;++z){var A=u>z?s[x[z]]:0,B=s[(u+(x[z-1]||0))%255];y.push(t[A^B])}w.push(y)}for(var C={},u=0;45>u;++u)C["0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:".charAt(u)]=u;var D=[function(a,b){return(a+b)%2===0},function(a,b){return a%2===0},function(a,b){return b%3===0},function(a,b){return(a+b)%3===0},function(a,b){return((a/2|0)+(b/3|0))%2===0},function(a,b){return a*b%2+a*b%3===0},function(a,b){return(a*b%2+a*b%3)%2===0},function(a,b){return((a+b)%2+a*b%3)%2===0}],E=function(a){return a>6},F=function(a){return 4*a+17},G=function(a){var b=f[a],c=16*a*a+128*a+64;return E(a)&&(c-=36),b[2].length&&(c-=25*b[2].length*b[2].length-10*b[2].length-55),c},H=function(a,b){var c=-8&G(a),d=f[a];return c-=8*d[0][b]*d[1][b]},I=function(a,b){switch(b){case h:return 10>a?10:27>a?12:14;case i:return 10>a?9:27>a?11:13;case j:return 10>a?8:16;case k:return 10>a?8:27>a?10:12}},J=function(a,b,c){var d=H(a,c)-4-I(a,b);switch(b){case h:return 3*(d/10|0)+(4>d%10?0:7>d%10?1:2);case i:return 2*(d/11|0)+(6>d%11?0:1);case j:return d/8|0;case k:return d/13|0}},K=function(a,b){switch(a){case h:return b.match(l)?b:null;case i:return b.match(m)?b.toUpperCase():null;case j:if("string"==typeof b){for(var c=[],d=0;d<b.length;++d){var e=b.charCodeAt(d);128>e?c.push(e):2048>e?c.push(192|e>>6,128|63&e):65536>e?c.push(224|e>>12,128|e>>6&63,128|63&e):c.push(240|e>>18,128|e>>12&63,128|e>>6&63,128|63&e)}return c}return b}},L=function(a,b,c,d){var e=[],f=0,k=8,l=c.length,m=function(a,b){if(b>=k){for(e.push(f|a>>(b-=k));b>=8;)e.push(a>>(b-=8)&255);f=0,k=8}b>0&&(f|=(a&(1<<b)-1)<<(k-=b))},n=I(a,b);switch(m(b,4),m(l,n),b){case h:for(var o=2;l>o;o+=3)m(parseInt(c.substring(o-2,o+1),10),10);m(parseInt(c.substring(o-2),10),[0,4,7][l%3]);break;case i:for(var o=1;l>o;o+=2)m(45*C[c.charAt(o-1)]+C[c.charAt(o)],11);l%2==1&&m(C[c.charAt(o-1)],6);break;case j:for(var o=0;l>o;++o)m(c[o],8)}for(m(g,4),8>k&&e.push(f);e.length+1<d;)e.push(236,17);return e.length<d&&e.push(236),e},M=function(a,b){for(var c=a.slice(0),d=a.length,e=b.length,f=0;e>f;++f)c.push(0);for(var f=0;d>f;){var g=t[c[f++]];if(g>=0)for(var h=0;e>h;++h)c[f+h]^=s[(g+b[h])%255]}return c.slice(d)},N=function(a,b,c){for(var d=[],e=a.length/b|0,f=0,g=b-a.length%b,h=0;g>h;++h)d.push(f),f+=e;for(var h=g;b>h;++h)d.push(f),f+=e+1;d.push(f);for(var i=[],h=0;b>h;++h)i.push(M(a.slice(d[h],d[h+1]),c));for(var j=[],k=a.length/b|0,h=0;k>h;++h)for(var l=0;b>l;++l)j.push(a[d[l]+h]);for(var l=g;b>l;++l)j.push(a[d[l+1]-1]);for(var h=0;h<c.length;++h)for(var l=0;b>l;++l)j.push(i[l][h]);return j},O=function(a,b,c,d){for(var e=a<<d,f=b-1;f>=0;--f)e>>d+f&1&&(e^=c<<f);return a<<d|e},P=function(a){for(var b=f[a],c=F(a),d=[],e=[],g=0;c>g;++g)d.push([]),e.push([]);var h=function(a,b,c,f,g){for(var h=0;c>h;++h)for(var i=0;f>i;++i)d[a+h][b+i]=g[h]>>i&1,e[a+h][b+i]=1};h(0,0,9,9,[127,65,93,93,93,65,383,0,64]),h(c-8,0,8,9,[256,127,65,93,93,93,65,127]),h(0,c-8,9,8,[254,130,186,186,186,130,254,0,0]);for(var g=9;c-8>g;++g)d[6][g]=d[g][6]=1&~g,e[6][g]=e[g][6]=1;for(var i=b[2],j=i.length,g=0;j>g;++g)for(var k=0===g||g===j-1?1:0,l=0===g?j-1:j,m=k;l>m;++m)h(i[g],i[m],5,5,[31,17,21,17,31]);if(E(a))for(var n=O(a,6,7973,12),o=0,g=0;6>g;++g)for(var m=0;3>m;++m)d[g][c-11+m]=d[c-11+m][g]=n>>o++&1,e[g][c-11+m]=e[c-11+m][g]=1;return{matrix:d,reserved:e}},Q=function(a,b,c){for(var d=a.length,e=0,f=-1,g=d-1;g>=0;g-=2){6==g&&--g;for(var h=0>f?d-1:0,i=0;d>i;++i){for(var j=g;j>g-2;--j)b[h][j]||(a[h][j]=c[e>>3]>>(7&~e)&1,++e);h+=f}f=-f}return a},R=function(a,b,c){for(var d=D[c],e=a.length,f=0;e>f;++f)for(var g=0;e>g;++g)b[f][g]||(a[f][g]^=d(f,g));return a},S=function(a,b,c,d){for(var e=a.length,f=21522^O(c<<3|d,5,1335,10),g=0;15>g;++g){var h=[0,1,2,3,4,5,7,8,e-7,e-6,e-5,e-4,e-3,e-2,e-1][g],i=[e-1,e-2,e-3,e-4,e-5,e-6,e-7,e-8,7,5,4,3,2,1,0][g];a[h][8]=a[8][i]=f>>g&1}return a},T=function(a){for(var b=3,c=3,d=40,e=10,f=function(a){for(var c=0,e=0;e<a.length;++e)a[e]>=5&&(c+=b+(a[e]-5));for(var e=5;e<a.length;e+=2){var f=a[e];a[e-1]==f&&a[e-2]==3*f&&a[e-3]==f&&a[e-4]==f&&(a[e-5]>=4*f||a[e+1]>=4*f)&&(c+=d)}return c},g=a.length,h=0,i=0,j=0;g>j;++j){var k,l=a[j];k=[0];for(var m=0;g>m;){var n;for(n=0;g>m&&l[m];++n)++m;for(k.push(n),n=0;g>m&&!l[m];++n)++m;k.push(n)}h+=f(k),k=[0];for(var m=0;g>m;){var n;for(n=0;g>m&&a[m][j];++n)++m;for(k.push(n),n=0;g>m&&!a[m][j];++n)++m;k.push(n)}h+=f(k);var o=a[j+1]||[];i+=l[0];for(var m=1;g>m;++m){var p=l[m];i+=p,l[m-1]==p&&o[m]===p&&o[m-1]===p&&(h+=c)}}return h+=e*(Math.abs(i/g/g-.5)/.05|0)},U=function(a,b,c,d,e){var g=f[b],h=L(b,c,a,H(b,d)>>3);h=N(h,g[1][d],w[g[0][d]]);var i=P(b),j=i.matrix,k=i.reserved;if(Q(j,k,h),0>e){R(j,k,0),S(j,k,d,0);var l=0,m=T(j);for(R(j,k,0),e=1;8>e;++e){R(j,k,e),S(j,k,d,e);var n=T(j);m>n&&(m=n,l=e),R(j,k,e)}e=l}return R(j,k,e),S(j,k,d,e),j};a.exports={measure:e}},function(a,b,c){"use strict";function d(a,b){this.pages=[],this.pageMargins=b,this.x=b.left,this.availableWidth=a.width-b.left-b.right,this.availableHeight=0,this.page=-1,this.snapshots=[],this.endingCell=null,this.tracker=new g,this.addPage(a)}function e(a,b){return void 0===a?b:"landscape"===a?"landscape":"portrait"}function f(a,b){var c;return c=a.page>b.page?a:b.page>a.page?b:a.y>b.y?a:b,{page:c.page,x:c.x,y:c.y,availableHeight:c.availableHeight,availableWidth:c.availableWidth}}var g=c(12);d.prototype.beginColumnGroup=function(){this.snapshots.push({x:this.x,y:this.y,availableHeight:this.availableHeight,availableWidth:this.availableWidth,page:this.page,bottomMost:{y:this.y,page:this.page},endingCell:this.endingCell,lastColumnWidth:this.lastColumnWidth}),this.lastColumnWidth=0},d.prototype.beginColumn=function(a,b,c){var d=this.snapshots[this.snapshots.length-1];this.calculateBottomMost(d),this.endingCell=c,this.page=d.page,this.x=this.x+this.lastColumnWidth+(b||0),this.y=d.y,this.availableWidth=a,this.availableHeight=d.availableHeight,this.lastColumnWidth=a},d.prototype.calculateBottomMost=function(a){this.endingCell?(this.saveContextInEndingCell(this.endingCell),this.endingCell=null):a.bottomMost=f(this,a.bottomMost)},d.prototype.markEnding=function(a){this.page=a._columnEndingContext.page,this.x=a._columnEndingContext.x,this.y=a._columnEndingContext.y,this.availableWidth=a._columnEndingContext.availableWidth,this.availableHeight=a._columnEndingContext.availableHeight,this.lastColumnWidth=a._columnEndingContext.lastColumnWidth},d.prototype.saveContextInEndingCell=function(a){a._columnEndingContext={page:this.page,x:this.x,y:this.y,availableHeight:this.availableHeight,availableWidth:this.availableWidth,lastColumnWidth:this.lastColumnWidth}},d.prototype.completeColumnGroup=function(){var a=this.snapshots.pop();this.calculateBottomMost(a),this.endingCell=null,this.x=a.x,this.y=a.bottomMost.y,this.page=a.bottomMost.page,this.availableWidth=a.availableWidth,this.availableHeight=a.bottomMost.availableHeight,this.lastColumnWidth=a.lastColumnWidth},d.prototype.addMargin=function(a,b){this.x+=a,this.availableWidth-=a+(b||0)},d.prototype.moveDown=function(a){return this.y+=a,this.availableHeight-=a,this.availableHeight>0},d.prototype.initializePage=function(){this.y=this.pageMargins.top,this.availableHeight=this.getCurrentPage().pageSize.height-this.pageMargins.top-this.pageMargins.bottom,this.pageSnapshot().availableWidth=this.getCurrentPage().pageSize.width-this.pageMargins.left-this.pageMargins.right},d.prototype.pageSnapshot=function(){return this.snapshots[0]?this.snapshots[0]:this},d.prototype.moveTo=function(a,b){void 0!==a&&null!==a&&(this.x=a,this.availableWidth=this.getCurrentPage().pageSize.width-this.x-this.pageMargins.right),void 0!==b&&null!==b&&(this.y=b,this.availableHeight=this.getCurrentPage().pageSize.height-this.y-this.pageMargins.bottom)},d.prototype.beginDetachedBlock=function(){this.snapshots.push({x:this.x,y:this.y,availableHeight:this.availableHeight,availableWidth:this.availableWidth,page:this.page,endingCell:this.endingCell,lastColumnWidth:this.lastColumnWidth})},d.prototype.endDetachedBlock=function(){var a=this.snapshots.pop();this.x=a.x,this.y=a.y,this.availableWidth=a.availableWidth,this.availableHeight=a.availableHeight,this.page=a.page,this.endingCell=a.endingCell,this.lastColumnWidth=a.lastColumnWidth};var h=function(a,b){return b=e(b,a.pageSize.orientation),b!==a.pageSize.orientation?{orientation:b,width:a.pageSize.height,height:a.pageSize.width}:{orientation:a.pageSize.orientation,width:a.pageSize.width,height:a.pageSize.height}};d.prototype.moveToNextPage=function(a){var b=this.page+1,c=this.page,d=this.y,e=b>=this.pages.length;return e?this.addPage(h(this.getCurrentPage(),a)):(this.page=b,this.initializePage()),{newPageCreated:e,prevPage:c,prevY:d,y:this.y}},d.prototype.addPage=function(a){var b={items:[],pageSize:a};return this.pages.push(b),this.page=this.pages.length-1,this.initializePage(),this.tracker.emit("pageAdded"),b},d.prototype.getCurrentPage=function(){return this.page<0||this.page>=this.pages.length?null:this.pages[this.page]},d.prototype.getCurrentPosition=function(){var a=this.getCurrentPage().pageSize,b=a.height-this.pageMargins.top-this.pageMargins.bottom,c=a.width-this.pageMargins.left-this.pageMargins.right;return{pageNumber:this.page+1,pageOrientation:a.orientation,pageInnerHeight:b,pageInnerWidth:c,left:this.x,top:this.y,verticalRatio:(this.y-this.pageMargins.top)/b,horizontalRatio:(this.x-this.pageMargins.left)/c}},a.exports=d},function(a,b,c){"use strict";function d(a,b){this.transactionLevel=0,this.repeatables=[],this.tracker=b,this.writer=new f(a,b)}function e(a,b){var c=b(a);return c||(a.moveToNextPage(),c=b(a)),c}var f=c(21);d.prototype.addLine=function(a,b,c){return e(this,function(d){return d.writer.addLine(a,b,c)})},d.prototype.addImage=function(a,b){return e(this,function(c){return c.writer.addImage(a,b)})},d.prototype.addQr=function(a,b){return e(this,function(c){return c.writer.addQr(a,b)})},d.prototype.addVector=function(a,b,c,d){return this.writer.addVector(a,b,c,d)},d.prototype.addFragment=function(a,b,c,d){this.writer.addFragment(a,b,c,d)||(this.moveToNextPage(),this.writer.addFragment(a,b,c,d))},d.prototype.moveToNextPage=function(a){var b=this.writer.context.moveToNextPage(a);b.newPageCreated?this.repeatables.forEach(function(a){this.writer.addFragment(a,!0)},this):this.repeatables.forEach(function(a){this.writer.context.moveDown(a.height)},this),this.writer.tracker.emit("pageChanged",{prevPage:b.prevPage,prevY:b.prevY,y:b.y})},d.prototype.beginUnbreakableBlock=function(a,b){0===this.transactionLevel++&&(this.originalX=this.writer.context.x,this.writer.pushContext(a,b))},d.prototype.commitUnbreakableBlock=function(a,b){if(0===--this.transactionLevel){var c=this.writer.context;this.writer.popContext();var d=c.pages.length;if(d>0){var e=c.pages[0];if(e.xOffset=a,e.yOffset=b,d>1)if(void 0!==a||void 0!==b)e.height=c.getCurrentPage().pageSize.height-c.pageMargins.top-c.pageMargins.bottom;else{e.height=this.writer.context.getCurrentPage().pageSize.height-this.writer.context.pageMargins.top-this.writer.context.pageMargins.bottom;for(var f=0,g=this.repeatables.length;g>f;f++)e.height-=this.repeatables[f].height}else e.height=c.y;void 0!==a||void 0!==b?this.writer.addFragment(e,!0,!0,!0):this.addFragment(e)}}},d.prototype.currentBlockToRepeatable=function(){var a=this.writer.context,b={items:[]};return a.pages[0].items.forEach(function(a){b.items.push(a)}),b.xOffset=this.originalX,b.height=a.y,b},d.prototype.pushToRepeatables=function(a){this.repeatables.push(a)},d.prototype.popFromRepeatables=function(){this.repeatables.pop()},d.prototype.context=function(){return this.writer.context},a.exports=d},function(a,b,c){"use strict";function d(a,b){this.context=a,this.contextStack=[],this.tracker=b}function e(a,b,c){null===c||void 0===c||0>c||c>a.items.length?a.items.push(b):a.items.splice(c,0,b)}function f(a){var b=new g(a.maxWidth);for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}var g=c(22),h=c(17).pack,i=c(17).offsetVector,j=c(19);d.prototype.addLine=function(a,b,c){var d=a.getHeight(),f=this.context,g=f.getCurrentPage(),h=this.getCurrentPositionOnPage();return f.availableHeight<d||!g?!1:(a.x=f.x+(a.x||0),a.y=f.y+(a.y||0),this.alignLine(a),e(g,{type:"line",item:a},c),this.tracker.emit("lineAdded",a),b||f.moveDown(d),h)},d.prototype.alignLine=function(a){var b=this.context.availableWidth,c=a.getWidth(),d=a.inlines&&a.inlines.length>0&&a.inlines[0].alignment,e=0;switch(d){case"right":e=b-c;break;case"center":e=(b-c)/2}if(e&&(a.x=(a.x||0)+e),"justify"===d&&!a.newLineForced&&!a.lastLineInParagraph&&a.inlines.length>1)for(var f=(b-c)/(a.inlines.length-1),g=1,h=a.inlines.length;h>g;g++)e=g*f,a.inlines[g].x+=e},d.prototype.addImage=function(a,b){var c=this.context,d=c.getCurrentPage(),f=this.getCurrentPositionOnPage();return c.availableHeight<a._height||!d?!1:(a.x=c.x+(a.x||0),a.y=c.y,this.alignImage(a),e(d,{type:"image",item:a},b),c.moveDown(a._height),f)},d.prototype.addQr=function(a,b){var c=this.context,d=c.getCurrentPage(),e=this.getCurrentPositionOnPage();if(c.availableHeight<a._height||!d)return!1;a.x=c.x+(a.x||0),a.y=c.y,this.alignImage(a);for(var f=0,g=a._canvas.length;g>f;f++){var h=a._canvas[f];h.x+=a.x,h.y+=a.y,this.addVector(h,!0,!0,b)}return c.moveDown(a._height),e},d.prototype.alignImage=function(a){var b=this.context.availableWidth,c=a._minWidth,d=0;switch(a._alignment){case"right":d=b-c;break;case"center":d=(b-c)/2}d&&(a.x=(a.x||0)+d)},d.prototype.addVector=function(a,b,c,d){var f=this.context,g=f.getCurrentPage(),h=this.getCurrentPositionOnPage();return g?(i(a,b?0:f.x,c?0:f.y),e(g,{type:"vector",item:a},d),h):void 0},d.prototype.addFragment=function(a,b,c,d){var e=this.context,g=e.getCurrentPage();return!b&&a.height>e.availableHeight?!1:(a.items.forEach(function(d){switch(d.type){case"line":var j=f(d.item);j.x=(j.x||0)+(b?a.xOffset||0:e.x),j.y=(j.y||0)+(c?a.yOffset||0:e.y),g.items.push({type:"line",item:j});break;case"vector":var k=h(d.item);i(k,b?a.xOffset||0:e.x,c?a.yOffset||0:e.y),g.items.push({type:"vector",item:k});break;case"image":var l=h(d.item);l.x=(l.x||0)+(b?a.xOffset||0:e.x),l.y=(l.y||0)+(c?a.yOffset||0:e.y),g.items.push({type:"image",item:l})}}),d||e.moveDown(a.height),!0)},d.prototype.pushContext=function(a,b){void 0===a&&(b=this.context.getCurrentPage().height-this.context.pageMargins.top-this.context.pageMargins.bottom,a=this.context.availableWidth),("number"==typeof a||a instanceof Number)&&(a=new j({width:a,height:b},{left:0,right:0,top:0,bottom:0})),this.contextStack.push(this.context),this.context=a},d.prototype.popContext=function(){this.context=this.contextStack.pop()},d.prototype.getCurrentPositionOnPage=function(){return(this.contextStack[0]||this.context).getCurrentPosition()},a.exports=d},function(a,b){"use strict";function c(a){this.maxWidth=a,this.leadingCut=0,this.trailingCut=0,this.inlineWidths=0,this.inlines=[]}c.prototype.getAscenderHeight=function(){var a=0;return this.inlines.forEach(function(b){a=Math.max(a,b.font.ascender/1e3*b.fontSize)}),a},c.prototype.hasEnoughSpaceForInline=function(a){return 0===this.inlines.length?!0:this.newLineForced?!1:this.inlineWidths+a.width-this.leadingCut-(a.trailingCut||0)<=this.maxWidth},c.prototype.addInline=function(a){0===this.inlines.length&&(this.leadingCut=a.leadingCut||0),this.trailingCut=a.trailingCut||0,a.x=this.inlineWidths-this.leadingCut,this.inlines.push(a),this.inlineWidths+=a.width,a.lineEnd&&(this.newLineForced=!0)},c.prototype.getWidth=function(){return this.inlineWidths-this.leadingCut-this.trailingCut},c.prototype.getHeight=function(){var a=0;return this.inlines.forEach(function(b){a=Math.max(a,b.height||0)}),a},a.exports=c},function(a,b,c){"use strict";function d(a){this.tableNode=a}var e=c(16);d.prototype.beginTable=function(a){function b(){var a=0;return d.table.widths.forEach(function(b){a+=b._calcWidth}),a}function c(){var a=[],b=0,c=0;a.push({left:0,rowSpan:0});for(var d=0,e=g.tableNode.table.body[0].length;e>d;d++){var f=g.layout.paddingLeft(d,g.tableNode)+g.layout.paddingRight(d,g.tableNode),h=g.layout.vLineWidth(d,g.tableNode);c=f+h+g.tableNode.table.widths[d]._calcWidth,a[a.length-1].width=c,b+=c,a.push({left:b,rowSpan:0,width:0})}return a}var d,f,g=this;d=this.tableNode,this.offsets=d._offsets,this.layout=d._layout,f=a.context().availableWidth-this.offsets.total,e.buildColumnWidths(d.table.widths,f),this.tableWidth=d._offsets.total+b(),this.rowSpanData=c(),this.cleanUpRepeatables=!1,this.headerRows=d.table.headerRows||0,this.rowsWithoutPageBreak=this.headerRows+(d.table.keepWithHeaderRows||0),this.dontBreakRows=d.table.dontBreakRows||!1,this.rowsWithoutPageBreak&&a.beginUnbreakableBlock(),this.drawHorizontalLine(0,a)},d.prototype.onRowBreak=function(a,b){var c=this;return function(){var a=c.rowPaddingTop+(c.headerRows?0:c.topLineWidth);b.context().moveDown(a)}},d.prototype.beginRow=function(a,b){this.topLineWidth=this.layout.hLineWidth(a,this.tableNode),this.rowPaddingTop=this.layout.paddingTop(a,this.tableNode),this.bottomLineWidth=this.layout.hLineWidth(a+1,this.tableNode),this.rowPaddingBottom=this.layout.paddingBottom(a,this.tableNode),this.rowCallback=this.onRowBreak(a,b),b.tracker.startTracking("pageChanged",this.rowCallback),this.dontBreakRows&&b.beginUnbreakableBlock(),this.rowTopY=b.context().y,this.reservedAtBottom=this.bottomLineWidth+this.rowPaddingBottom,b.context().availableHeight-=this.reservedAtBottom,b.context().moveDown(this.rowPaddingTop)},d.prototype.drawHorizontalLine=function(a,b,c){var d=this.layout.hLineWidth(a,this.tableNode);if(d){for(var e=d/2,f=null,g=0,h=this.rowSpanData.length;h>g;g++){var i=this.rowSpanData[g],j=!i.rowSpan;!f&&j&&(f={left:i.left,width:0}),j&&(f.width+=i.width||0);var k=(c||0)+e;j&&g!==h-1||f&&(b.addVector({type:"line",x1:f.left,x2:f.left+f.width,y1:k,y2:k,lineWidth:d,lineColor:"function"==typeof this.layout.hLineColor?this.layout.hLineColor(a,this.tableNode):this.layout.hLineColor},!1,c),f=null)}b.context().moveDown(d)}},d.prototype.drawVerticalLine=function(a,b,c,d,e){var f=this.layout.vLineWidth(d,this.tableNode);0!==f&&e.addVector({type:"line",x1:a+f/2,x2:a+f/2,y1:b,y2:c,lineWidth:f,lineColor:"function"==typeof this.layout.vLineColor?this.layout.vLineColor(d,this.tableNode):this.layout.vLineColor},!1,!0)},d.prototype.endTable=function(a){this.cleanUpRepeatables&&a.popFromRepeatables()},d.prototype.endRow=function(a,b,c){function d(){for(var b=[],c=0,d=0,e=g.tableNode.table.body[a].length;e>d;d++){if(!c){b.push({x:g.rowSpanData[d].left,index:d});var f=g.tableNode.table.body[a][d];c=f._colSpan||f.colSpan||0}c>0&&c--}return b.push({x:g.rowSpanData[g.rowSpanData.length-1].left,index:g.rowSpanData.length-1}),b}var e,f,g=this;b.tracker.stopTracking("pageChanged",this.rowCallback),b.context().moveDown(this.layout.paddingBottom(a,this.tableNode)),b.context().availableHeight+=this.reservedAtBottom;var h=b.context().page,i=b.context().y,j=d(),k=[],l=c&&c.length>0;if(k.push({y0:this.rowTopY,page:l?c[0].prevPage:h}),l)for(f=0,e=c.length;e>f;f++){var m=c[f];k[k.length-1].y1=m.prevY,k.push({y0:m.y,page:m.prevPage+1})}k[k.length-1].y1=i;for(var n=k[0].y1-k[0].y0===this.rowPaddingTop,o=n?1:0,p=k.length;p>o;o++){var q=o<k.length-1,r=o>0&&!this.headerRows,s=r?0:this.topLineWidth,t=k[o].y0,u=k[o].y1;for(q&&(u+=this.rowPaddingBottom),b.context().page!=k[o].page&&(b.context().page=k[o].page,this.reservedAtBottom=0),f=0,e=j.length;e>f;f++)if(this.drawVerticalLine(j[f].x,t-s,u+this.bottomLineWidth,j[f].index,b),e-1>f){var v=j[f].index,w=this.tableNode.table.body[a][v].fillColor;if(w){var x=this.layout.vLineWidth(v,this.tableNode),y=j[f].x+x,z=t-s;b.addVector({type:"rect",x:y,y:z,w:j[f+1].x-y,h:u+this.bottomLineWidth-z,lineWidth:0,color:w},!1,!0,0)}}q&&this.layout.hLineWhenBroken!==!1&&this.drawHorizontalLine(a+1,b,u),r&&this.layout.hLineWhenBroken!==!1&&this.drawHorizontalLine(a,b,t)}b.context().page=h,b.context().y=i;var A=this.tableNode.table.body[a];for(f=0,e=A.length;e>f;f++){if(A[f].rowSpan&&(this.rowSpanData[f].rowSpan=A[f].rowSpan,A[f].colSpan&&A[f].colSpan>1))for(var B=1;B<A[f].rowSpan;B++)this.tableNode.table.body[a+B][f]._colSpan=A[f].colSpan;this.rowSpanData[f].rowSpan>0&&this.rowSpanData[f].rowSpan--}this.drawHorizontalLine(a+1,b),this.headerRows&&a===this.headerRows-1&&(this.headerRepeatable=b.currentBlockToRepeatable()),this.dontBreakRows&&b.tracker.auto("pageChanged",function(){g.drawHorizontalLine(a,b)},function(){b.commitUnbreakableBlock(),g.drawHorizontalLine(a,b)}),!this.headerRepeatable||a!==this.rowsWithoutPageBreak-1&&a!==this.tableNode.table.body.length-1||(b.commitUnbreakableBlock(),b.pushToRepeatables(this.headerRepeatable),this.cleanUpRepeatables=!0,this.headerRepeatable=null)},a.exports=d},function(a,b,c){(function(b){(function(){var d,e,f,g,h,i,j={}.hasOwnProperty,k=function(a,b){function c(){this.constructor=a}for(var d in b)j.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a};i=c(25),h=c(44),e=c(45),g=c(46),f=c(64),d=function(a){function d(a){var b,c,e,f;if(this.options=null!=a?a:{},d.__super__.constructor.apply(this,arguments),this.version=1.3,this.compress=null!=(e=this.options.compress)?e:!0,this._pageBuffer=[],this._pageBufferStart=0,this._offsets=[],this._waiting=0,this._ended=!1,this._offset=0,this._root=this.ref({Type:"Catalog",Pages:this.ref({Type:"Pages",Count:0,Kids:[]})}),this.page=null,this.initColor(),this.initVector(),this.initFonts(),this.initText(),this.initImages(),this.info={Producer:"PDFKit",Creator:"PDFKit",CreationDate:new Date},this.options.info){f=this.options.info;for(b in f)c=f[b],this.info[b]=c}this._write("%PDF-"+this.version),this._write("%ÿÿÿÿ"),this.addPage()}var i;return k(d,a),i=function(a){var b,c,e;e=[];for(c in a)b=a[c],e.push(d.prototype[c]=b);return e},i(c(65)),i(c(67)),i(c(69)),i(c(89)),i(c(96)),i(c(101)),d.prototype.addPage=function(a){var b;return null==a&&(a=this.options),this.options.bufferPages||this.flushPages(),this.page=new f(this,a),this._pageBuffer.push(this.page),b=this._root.data.Pages.data,b.Kids.push(this.page.dictionary),b.Count++,this.x=this.page.margins.left,this.y=this.page.margins.top,this._ctm=[1,0,0,1,0,0],this.transform(1,0,0,-1,0,this.page.height),this},d.prototype.bufferedPageRange=function(){return{start:this._pageBufferStart,count:this._pageBuffer.length
+}},d.prototype.switchToPage=function(a){var b;if(!(b=this._pageBuffer[a-this._pageBufferStart]))throw new Error("switchToPage("+a+") out of bounds, current buffer covers pages "+this._pageBufferStart+" to "+(this._pageBufferStart+this._pageBuffer.length-1));return this.page=b},d.prototype.flushPages=function(){var a,b,c,d;for(b=this._pageBuffer,this._pageBuffer=[],this._pageBufferStart+=b.length,c=0,d=b.length;d>c;c++)a=b[c],a.end()},d.prototype.ref=function(a){var b;return b=new g(this,this._offsets.length+1,a),this._offsets.push(null),this._waiting++,b},d.prototype._read=function(){},d.prototype._write=function(a){return b.isBuffer(a)||(a=new b(a+"\n","binary")),this.push(a),this._offset+=a.length},d.prototype.addContent=function(a){return this.page.write(a),this},d.prototype._refEnd=function(a){return this._offsets[a.id-1]=a.offset,0===--this._waiting&&this._ended?(this._finalize(),this._ended=!1):void 0},d.prototype.write=function(a,b){var c;return c=new Error("PDFDocument#write is deprecated, and will be removed in a future version of PDFKit. Please pipe the document into a Node stream."),console.warn(c.stack),this.pipe(h.createWriteStream(a)),this.end(),this.once("end",b)},d.prototype.output=function(a){throw new Error("PDFDocument#output is deprecated, and has been removed from PDFKit. Please pipe the document into a Node stream.")},d.prototype.end=function(){var a,b,c,d,e,f;this.flushPages(),this._info=this.ref(),e=this.info;for(b in e)d=e[b],"string"==typeof d&&(d=new String(d)),this._info.data[b]=d;this._info.end(),f=this._fontFamilies;for(c in f)a=f[c],a.embed();return this._root.end(),this._root.data.Pages.end(),0===this._waiting?this._finalize():this._ended=!0},d.prototype._finalize=function(a){var b,c,d,f,g;for(c=this._offset,this._write("xref"),this._write("0 "+(this._offsets.length+1)),this._write("0000000000 65535 f "),g=this._offsets,d=0,f=g.length;f>d;d++)b=g[d],b=("0000000000"+b).slice(-10),this._write(b+" 00000 n ");return this._write("trailer"),this._write(e.convert({Size:this._offsets.length+1,Root:this._root,Info:this._info})),this._write("startxref"),this._write(""+c),this._write("%%EOF"),this.push(null)},d.prototype.toString=function(){return"[object PDFDocument]"},d}(i.Readable),a.exports=d}).call(this)}).call(b,c(2).Buffer)},function(a,b,c){function d(){e.call(this)}a.exports=d;var e=c(26).EventEmitter,f=c(27);f(d,e),d.Readable=c(28),d.Writable=c(40),d.Duplex=c(41),d.Transform=c(42),d.PassThrough=c(43),d.Stream=d,d.prototype.pipe=function(a,b){function c(b){a.writable&&!1===a.write(b)&&j.pause&&j.pause()}function d(){j.readable&&j.resume&&j.resume()}function f(){k||(k=!0,a.end())}function g(){k||(k=!0,"function"==typeof a.destroy&&a.destroy())}function h(a){if(i(),0===e.listenerCount(this,"error"))throw a}function i(){j.removeListener("data",c),a.removeListener("drain",d),j.removeListener("end",f),j.removeListener("close",g),j.removeListener("error",h),a.removeListener("error",h),j.removeListener("end",i),j.removeListener("close",i),a.removeListener("close",i)}var j=this;j.on("data",c),a.on("drain",d),a._isStdio||b&&b.end===!1||(j.on("end",f),j.on("close",g));var k=!1;return j.on("error",h),a.on("error",h),j.on("end",i),j.on("close",i),a.on("close",i),a.emit("pipe",j),a}},function(a,b){function c(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function d(a){return"function"==typeof a}function e(a){return"number"==typeof a}function f(a){return"object"==typeof a&&null!==a}function g(a){return void 0===a}a.exports=c,c.EventEmitter=c,c.prototype._events=void 0,c.prototype._maxListeners=void 0,c.defaultMaxListeners=10,c.prototype.setMaxListeners=function(a){if(!e(a)||0>a||isNaN(a))throw TypeError("n must be a positive number");return this._maxListeners=a,this},c.prototype.emit=function(a){var b,c,e,h,i,j;if(this._events||(this._events={}),"error"===a&&(!this._events.error||f(this._events.error)&&!this._events.error.length)){if(b=arguments[1],b instanceof Error)throw b;throw TypeError('Uncaught, unspecified "error" event.')}if(c=this._events[a],g(c))return!1;if(d(c))switch(arguments.length){case 1:c.call(this);break;case 2:c.call(this,arguments[1]);break;case 3:c.call(this,arguments[1],arguments[2]);break;default:h=Array.prototype.slice.call(arguments,1),c.apply(this,h)}else if(f(c))for(h=Array.prototype.slice.call(arguments,1),j=c.slice(),e=j.length,i=0;e>i;i++)j[i].apply(this,h);return!0},c.prototype.addListener=function(a,b){var e;if(!d(b))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",a,d(b.listener)?b.listener:b),this._events[a]?f(this._events[a])?this._events[a].push(b):this._events[a]=[this._events[a],b]:this._events[a]=b,f(this._events[a])&&!this._events[a].warned&&(e=g(this._maxListeners)?c.defaultMaxListeners:this._maxListeners,e&&e>0&&this._events[a].length>e&&(this._events[a].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[a].length),"function"==typeof console.trace&&console.trace())),this},c.prototype.on=c.prototype.addListener,c.prototype.once=function(a,b){function c(){this.removeListener(a,c),e||(e=!0,b.apply(this,arguments))}if(!d(b))throw TypeError("listener must be a function");var e=!1;return c.listener=b,this.on(a,c),this},c.prototype.removeListener=function(a,b){var c,e,g,h;if(!d(b))throw TypeError("listener must be a function");if(!this._events||!this._events[a])return this;if(c=this._events[a],g=c.length,e=-1,c===b||d(c.listener)&&c.listener===b)delete this._events[a],this._events.removeListener&&this.emit("removeListener",a,b);else if(f(c)){for(h=g;h-- >0;)if(c[h]===b||c[h].listener&&c[h].listener===b){e=h;break}if(0>e)return this;1===c.length?(c.length=0,delete this._events[a]):c.splice(e,1),this._events.removeListener&&this.emit("removeListener",a,b)}return this},c.prototype.removeAllListeners=function(a){var b,c;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[a]&&delete this._events[a],this;if(0===arguments.length){for(b in this._events)"removeListener"!==b&&this.removeAllListeners(b);return this.removeAllListeners("removeListener"),this._events={},this}if(c=this._events[a],d(c))this.removeListener(a,c);else if(c)for(;c.length;)this.removeListener(a,c[c.length-1]);return delete this._events[a],this},c.prototype.listeners=function(a){var b;return b=this._events&&this._events[a]?d(this._events[a])?[this._events[a]]:this._events[a].slice():[]},c.prototype.listenerCount=function(a){if(this._events){var b=this._events[a];if(d(b))return 1;if(b)return b.length}return 0},c.listenerCount=function(a,b){return a.listenerCount(b)}},function(a,b){"function"==typeof Object.create?a.exports=function(a,b){a.super_=b,a.prototype=Object.create(b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}})}:a.exports=function(a,b){a.super_=b;var c=function(){};c.prototype=b.prototype,a.prototype=new c,a.prototype.constructor=a}},function(a,b,c){b=a.exports=c(29),b.Stream=c(25),b.Readable=b,b.Writable=c(36),b.Duplex=c(35),b.Transform=c(38),b.PassThrough=c(39)},function(a,b,c){(function(b){function d(a,b){var d=c(35);a=a||{};var e=a.highWaterMark,f=a.objectMode?16:16384;this.highWaterMark=e||0===e?e:f,this.highWaterMark=~~this.highWaterMark,this.buffer=[],this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.objectMode=!!a.objectMode,b instanceof d&&(this.objectMode=this.objectMode||!!a.readableObjectMode),this.defaultEncoding=a.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,a.encoding&&(C||(C=c(37).StringDecoder),this.decoder=new C(a.encoding),this.encoding=a.encoding)}function e(a){c(35);return this instanceof e?(this._readableState=new d(a,this),this.readable=!0,void A.call(this)):new e(a)}function f(a,b,c,d,e){var f=j(b,c);if(f)a.emit("error",f);else if(B.isNullOrUndefined(c))b.reading=!1,b.ended||k(a,b);else if(b.objectMode||c&&c.length>0)if(b.ended&&!e){var h=new Error("stream.push() after EOF");a.emit("error",h)}else if(b.endEmitted&&e){var h=new Error("stream.unshift() after end event");a.emit("error",h)}else!b.decoder||e||d||(c=b.decoder.write(c)),e||(b.reading=!1),b.flowing&&0===b.length&&!b.sync?(a.emit("data",c),a.read(0)):(b.length+=b.objectMode?1:c.length,e?b.buffer.unshift(c):b.buffer.push(c),b.needReadable&&l(a)),n(a,b);else e||(b.reading=!1);return g(b)}function g(a){return!a.ended&&(a.needReadable||a.length<a.highWaterMark||0===a.length)}function h(a){if(a>=E)a=E;else{a--;for(var b=1;32>b;b<<=1)a|=a>>b;a++}return a}function i(a,b){return 0===b.length&&b.ended?0:b.objectMode?0===a?0:1:isNaN(a)||B.isNull(a)?b.flowing&&b.buffer.length?b.buffer[0].length:b.length:0>=a?0:(a>b.highWaterMark&&(b.highWaterMark=h(a)),a>b.length?b.ended?b.length:(b.needReadable=!0,0):a)}function j(a,b){var c=null;return B.isBuffer(b)||B.isString(b)||B.isNullOrUndefined(b)||a.objectMode||(c=new TypeError("Invalid non-string/buffer chunk")),c}function k(a,b){if(b.decoder&&!b.ended){var c=b.decoder.end();c&&c.length&&(b.buffer.push(c),b.length+=b.objectMode?1:c.length)}b.ended=!0,l(a)}function l(a){var c=a._readableState;c.needReadable=!1,c.emittedReadable||(D("emitReadable",c.flowing),c.emittedReadable=!0,c.sync?b.nextTick(function(){m(a)}):m(a))}function m(a){D("emit readable"),a.emit("readable"),s(a)}function n(a,c){c.readingMore||(c.readingMore=!0,b.nextTick(function(){o(a,c)}))}function o(a,b){for(var c=b.length;!b.reading&&!b.flowing&&!b.ended&&b.length<b.highWaterMark&&(D("maybeReadMore read 0"),a.read(0),c!==b.length);)c=b.length;b.readingMore=!1}function p(a){return function(){var b=a._readableState;D("pipeOnDrain",b.awaitDrain),b.awaitDrain&&b.awaitDrain--,0===b.awaitDrain&&z.listenerCount(a,"data")&&(b.flowing=!0,s(a))}}function q(a,c){c.resumeScheduled||(c.resumeScheduled=!0,b.nextTick(function(){r(a,c)}))}function r(a,b){b.resumeScheduled=!1,a.emit("resume"),s(a),b.flowing&&!b.reading&&a.read(0)}function s(a){var b=a._readableState;if(D("flow",b.flowing),b.flowing)do var c=a.read();while(null!==c&&b.flowing)}function t(a,b){var c,d=b.buffer,e=b.length,f=!!b.decoder,g=!!b.objectMode;if(0===d.length)return null;if(0===e)c=null;else if(g)c=d.shift();else if(!a||a>=e)c=f?d.join(""):y.concat(d,e),d.length=0;else if(a<d[0].length){var h=d[0];c=h.slice(0,a),d[0]=h.slice(a)}else if(a===d[0].length)c=d.shift();else{c=f?"":new y(a);for(var i=0,j=0,k=d.length;k>j&&a>i;j++){var h=d[0],l=Math.min(a-i,h.length);f?c+=h.slice(0,l):h.copy(c,i,0,l),l<h.length?d[0]=h.slice(l):d.shift(),i+=l}}return c}function u(a){var c=a._readableState;if(c.length>0)throw new Error("endReadable called on non-empty stream");c.endEmitted||(c.ended=!0,b.nextTick(function(){c.endEmitted||0!==c.length||(c.endEmitted=!0,a.readable=!1,a.emit("end"))}))}function v(a,b){for(var c=0,d=a.length;d>c;c++)b(a[c],c)}function w(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1}a.exports=e;var x=c(31),y=c(2).Buffer;e.ReadableState=d;var z=c(26).EventEmitter;z.listenerCount||(z.listenerCount=function(a,b){return a.listeners(b).length});var A=c(25),B=c(32);B.inherits=c(33);var C,D=c(34);D=D&&D.debuglog?D.debuglog("stream"):function(){},B.inherits(e,A),e.prototype.push=function(a,b){var c=this._readableState;return B.isString(a)&&!c.objectMode&&(b=b||c.defaultEncoding,b!==c.encoding&&(a=new y(a,b),b="")),f(this,c,a,b,!1)},e.prototype.unshift=function(a){var b=this._readableState;return f(this,b,a,"",!0)},e.prototype.setEncoding=function(a){return C||(C=c(37).StringDecoder),this._readableState.decoder=new C(a),this._readableState.encoding=a,this};var E=8388608;e.prototype.read=function(a){D("read",a);var b=this._readableState,c=a;if((!B.isNumber(a)||a>0)&&(b.emittedReadable=!1),0===a&&b.needReadable&&(b.length>=b.highWaterMark||b.ended))return D("read: emitReadable",b.length,b.ended),0===b.length&&b.ended?u(this):l(this),null;if(a=i(a,b),0===a&&b.ended)return 0===b.length&&u(this),null;var d=b.needReadable;D("need readable",d),(0===b.length||b.length-a<b.highWaterMark)&&(d=!0,D("length less than watermark",d)),(b.ended||b.reading)&&(d=!1,D("reading or ended",d)),d&&(D("do read"),b.reading=!0,b.sync=!0,0===b.length&&(b.needReadable=!0),this._read(b.highWaterMark),b.sync=!1),d&&!b.reading&&(a=i(c,b));var e;return e=a>0?t(a,b):null,B.isNull(e)&&(b.needReadable=!0,a=0),b.length-=a,0!==b.length||b.ended||(b.needReadable=!0),c!==a&&b.ended&&0===b.length&&u(this),B.isNull(e)||this.emit("data",e),e},e.prototype._read=function(a){this.emit("error",new Error("not implemented"))},e.prototype.pipe=function(a,c){function d(a){D("onunpipe"),a===l&&f()}function e(){D("onend"),a.end()}function f(){D("cleanup"),a.removeListener("close",i),a.removeListener("finish",j),a.removeListener("drain",q),a.removeListener("error",h),a.removeListener("unpipe",d),l.removeListener("end",e),l.removeListener("end",f),l.removeListener("data",g),!m.awaitDrain||a._writableState&&!a._writableState.needDrain||q()}function g(b){D("ondata");var c=a.write(b);!1===c&&(D("false write response, pause",l._readableState.awaitDrain),l._readableState.awaitDrain++,l.pause())}function h(b){D("onerror",b),k(),a.removeListener("error",h),0===z.listenerCount(a,"error")&&a.emit("error",b)}function i(){a.removeListener("finish",j),k()}function j(){D("onfinish"),a.removeListener("close",i),k()}function k(){D("unpipe"),l.unpipe(a)}var l=this,m=this._readableState;switch(m.pipesCount){case 0:m.pipes=a;break;case 1:m.pipes=[m.pipes,a];break;default:m.pipes.push(a)}m.pipesCount+=1,D("pipe count=%d opts=%j",m.pipesCount,c);var n=(!c||c.end!==!1)&&a!==b.stdout&&a!==b.stderr,o=n?e:f;m.endEmitted?b.nextTick(o):l.once("end",o),a.on("unpipe",d);var q=p(l);return a.on("drain",q),l.on("data",g),a._events&&a._events.error?x(a._events.error)?a._events.error.unshift(h):a._events.error=[h,a._events.error]:a.on("error",h),a.once("close",i),a.once("finish",j),a.emit("pipe",l),m.flowing||(D("pipe resume"),l.resume()),a},e.prototype.unpipe=function(a){var b=this._readableState;if(0===b.pipesCount)return this;if(1===b.pipesCount)return a&&a!==b.pipes?this:(a||(a=b.pipes),b.pipes=null,b.pipesCount=0,b.flowing=!1,a&&a.emit("unpipe",this),this);if(!a){var c=b.pipes,d=b.pipesCount;b.pipes=null,b.pipesCount=0,b.flowing=!1;for(var e=0;d>e;e++)c[e].emit("unpipe",this);return this}var e=w(b.pipes,a);return-1===e?this:(b.pipes.splice(e,1),b.pipesCount-=1,1===b.pipesCount&&(b.pipes=b.pipes[0]),a.emit("unpipe",this),this)},e.prototype.on=function(a,c){var d=A.prototype.on.call(this,a,c);if("data"===a&&!1!==this._readableState.flowing&&this.resume(),"readable"===a&&this.readable){var e=this._readableState;if(!e.readableListening)if(e.readableListening=!0,e.emittedReadable=!1,e.needReadable=!0,e.reading)e.length&&l(this,e);else{var f=this;b.nextTick(function(){D("readable nexttick read 0"),f.read(0)})}}return d},e.prototype.addListener=e.prototype.on,e.prototype.resume=function(){var a=this._readableState;return a.flowing||(D("resume"),a.flowing=!0,a.reading||(D("resume read 0"),this.read(0)),q(this,a)),this},e.prototype.pause=function(){return D("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(D("pause"),this._readableState.flowing=!1,this.emit("pause")),this},e.prototype.wrap=function(a){var b=this._readableState,c=!1,d=this;a.on("end",function(){if(D("wrapped end"),b.decoder&&!b.ended){var a=b.decoder.end();a&&a.length&&d.push(a)}d.push(null)}),a.on("data",function(e){if(D("wrapped data"),b.decoder&&(e=b.decoder.write(e)),e&&(b.objectMode||e.length)){var f=d.push(e);f||(c=!0,a.pause())}});for(var e in a)B.isFunction(a[e])&&B.isUndefined(this[e])&&(this[e]=function(b){return function(){return a[b].apply(a,arguments)}}(e));var f=["error","close","destroy","pause","resume"];return v(f,function(b){a.on(b,d.emit.bind(d,b))}),d._read=function(b){D("wrapped _read",b),c&&(c=!1,a.resume())},d},e._fromList=t}).call(b,c(30))},function(a,b){function c(){j=!1,g.length?i=g.concat(i):k=-1,i.length&&d()}function d(){if(!j){var a=setTimeout(c);j=!0;for(var b=i.length;b;){for(g=i,i=[];++k<b;)g&&g[k].run();k=-1,b=i.length}g=null,j=!1,clearTimeout(a)}}function e(a,b){this.fun=a,this.array=b}function f(){}var g,h=a.exports={},i=[],j=!1,k=-1;h.nextTick=function(a){var b=new Array(arguments.length-1);if(arguments.length>1)for(var c=1;c<arguments.length;c++)b[c-1]=arguments[c];i.push(new e(a,b)),1!==i.length||j||setTimeout(d,0)},e.prototype.run=function(){this.fun.apply(null,this.array)},h.title="browser",h.browser=!0,h.env={},h.argv=[],h.version="",h.versions={},h.on=f,h.addListener=f,h.once=f,h.off=f,h.removeListener=f,h.removeAllListeners=f,h.emit=f,h.binding=function(a){throw new Error("process.binding is not supported")},h.cwd=function(){return"/"},h.chdir=function(a){throw new Error("process.chdir is not supported")},h.umask=function(){return 0}},function(a,b){a.exports=Array.isArray||function(a){return"[object Array]"==Object.prototype.toString.call(a)}},function(a,b,c){(function(a){function c(a){return Array.isArray(a)}function d(a){return"boolean"==typeof a}function e(a){return null===a}function f(a){return null==a}function g(a){return"number"==typeof a}function h(a){return"string"==typeof a}function i(a){return"symbol"==typeof a}function j(a){return void 0===a}function k(a){return l(a)&&"[object RegExp]"===r(a)}function l(a){return"object"==typeof a&&null!==a}function m(a){return l(a)&&"[object Date]"===r(a)}function n(a){return l(a)&&("[object Error]"===r(a)||a instanceof Error)}function o(a){return"function"==typeof a}function p(a){return null===a||"boolean"==typeof a||"number"==typeof a||"string"==typeof a||"symbol"==typeof a||"undefined"==typeof a}function q(b){return a.isBuffer(b)}function r(a){return Object.prototype.toString.call(a)}b.isArray=c,b.isBoolean=d,b.isNull=e,b.isNullOrUndefined=f,b.isNumber=g,b.isString=h,b.isSymbol=i,b.isUndefined=j,b.isRegExp=k,b.isObject=l,b.isDate=m,b.isError=n,b.isFunction=o,b.isPrimitive=p,b.isBuffer=q}).call(b,c(2).Buffer)},function(a,b){"function"==typeof Object.create?a.exports=function(a,b){a.super_=b,a.prototype=Object.create(b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}})}:a.exports=function(a,b){a.super_=b;var c=function(){};c.prototype=b.prototype,a.prototype=new c,a.prototype.constructor=a}},function(a,b){},function(a,b,c){(function(b){function d(a){return this instanceof d?(i.call(this,a),j.call(this,a),a&&a.readable===!1&&(this.readable=!1),a&&a.writable===!1&&(this.writable=!1),this.allowHalfOpen=!0,a&&a.allowHalfOpen===!1&&(this.allowHalfOpen=!1),void this.once("end",e)):new d(a)}function e(){this.allowHalfOpen||this._writableState.ended||b.nextTick(this.end.bind(this))}function f(a,b){for(var c=0,d=a.length;d>c;c++)b(a[c],c)}a.exports=d;var g=Object.keys||function(a){var b=[];for(var c in a)b.push(c);return b},h=c(32);h.inherits=c(33);var i=c(29),j=c(36);h.inherits(d,i),f(g(j.prototype),function(a){d.prototype[a]||(d.prototype[a]=j.prototype[a])})}).call(b,c(30))},function(a,b,c){(function(b){function d(a,b,c){this.chunk=a,this.encoding=b,this.callback=c}function e(a,b){var d=c(35);a=a||{};var e=a.highWaterMark,f=a.objectMode?16:16384;this.highWaterMark=e||0===e?e:f,this.objectMode=!!a.objectMode,b instanceof d&&(this.objectMode=this.objectMode||!!a.writableObjectMode),this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var g=a.decodeStrings===!1;this.decodeStrings=!g,this.defaultEncoding=a.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(a){n(b,a)},this.writecb=null,this.writelen=0,this.buffer=[],this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1}function f(a){var b=c(35);return this instanceof f||this instanceof b?(this._writableState=new e(a,this),this.writable=!0,void x.call(this)):new f(a)}function g(a,c,d){var e=new Error("write after end");a.emit("error",e),b.nextTick(function(){d(e)})}function h(a,c,d,e){var f=!0;if(!(w.isBuffer(d)||w.isString(d)||w.isNullOrUndefined(d)||c.objectMode)){var g=new TypeError("Invalid non-string/buffer chunk");a.emit("error",g),b.nextTick(function(){e(g)}),f=!1}return f}function i(a,b,c){return!a.objectMode&&a.decodeStrings!==!1&&w.isString(b)&&(b=new v(b,c)),b}function j(a,b,c,e,f){c=i(b,c,e),w.isBuffer(c)&&(e="buffer");var g=b.objectMode?1:c.length;b.length+=g;var h=b.length<b.highWaterMark;return h||(b.needDrain=!0),b.writing||b.corked?b.buffer.push(new d(c,e,f)):k(a,b,!1,g,c,e,f),h}function k(a,b,c,d,e,f,g){b.writelen=d,b.writecb=g,b.writing=!0,b.sync=!0,c?a._writev(e,b.onwrite):a._write(e,f,b.onwrite),b.sync=!1}function l(a,c,d,e,f){d?b.nextTick(function(){c.pendingcb--,f(e)}):(c.pendingcb--,f(e)),a._writableState.errorEmitted=!0,a.emit("error",e)}function m(a){a.writing=!1,a.writecb=null,a.length-=a.writelen,a.writelen=0}function n(a,c){var d=a._writableState,e=d.sync,f=d.writecb;if(m(d),c)l(a,d,e,c,f);else{var g=r(a,d);g||d.corked||d.bufferProcessing||!d.buffer.length||q(a,d),e?b.nextTick(function(){o(a,d,g,f)}):o(a,d,g,f)}}function o(a,b,c,d){c||p(a,b),b.pendingcb--,d(),t(a,b)}function p(a,b){0===b.length&&b.needDrain&&(b.needDrain=!1,a.emit("drain"))}function q(a,b){if(b.bufferProcessing=!0,a._writev&&b.buffer.length>1){for(var c=[],d=0;d<b.buffer.length;d++)c.push(b.buffer[d].callback);b.pendingcb++,k(a,b,!0,b.length,b.buffer,"",function(a){for(var d=0;d<c.length;d++)b.pendingcb--,c[d](a)}),b.buffer=[]}else{for(var d=0;d<b.buffer.length;d++){var e=b.buffer[d],f=e.chunk,g=e.encoding,h=e.callback,i=b.objectMode?1:f.length;if(k(a,b,!1,i,f,g,h),b.writing){d++;break}}d<b.buffer.length?b.buffer=b.buffer.slice(d):b.buffer.length=0}b.bufferProcessing=!1}function r(a,b){return b.ending&&0===b.length&&!b.finished&&!b.writing}function s(a,b){b.prefinished||(b.prefinished=!0,a.emit("prefinish"))}function t(a,b){var c=r(a,b);return c&&(0===b.pendingcb?(s(a,b),b.finished=!0,a.emit("finish")):s(a,b)),c}function u(a,c,d){c.ending=!0,t(a,c),d&&(c.finished?b.nextTick(d):a.once("finish",d)),c.ended=!0}a.exports=f;var v=c(2).Buffer;f.WritableState=e;var w=c(32);w.inherits=c(33);var x=c(25);w.inherits(f,x),f.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe. Not readable."))},f.prototype.write=function(a,b,c){var d=this._writableState,e=!1;return w.isFunction(b)&&(c=b,b=null),w.isBuffer(a)?b="buffer":b||(b=d.defaultEncoding),w.isFunction(c)||(c=function(){}),d.ended?g(this,d,c):h(this,d,a,c)&&(d.pendingcb++,e=j(this,d,a,b,c)),e},f.prototype.cork=function(){var a=this._writableState;a.corked++},f.prototype.uncork=function(){var a=this._writableState;a.corked&&(a.corked--,a.writing||a.corked||a.finished||a.bufferProcessing||!a.buffer.length||q(this,a))},f.prototype._write=function(a,b,c){c(new Error("not implemented"))},f.prototype._writev=null,f.prototype.end=function(a,b,c){var d=this._writableState;w.isFunction(a)?(c=a,a=null,b=null):w.isFunction(b)&&(c=b,b=null),w.isNullOrUndefined(a)||this.write(a,b),d.corked&&(d.corked=1,this.uncork()),d.ending||d.finished||u(this,d,c)}}).call(b,c(30))},function(a,b,c){function d(a){if(a&&!i(a))throw new Error("Unknown encoding: "+a)}function e(a){return a.toString(this.encoding)}function f(a){this.charReceived=a.length%2,this.charLength=this.charReceived?2:0}function g(a){this.charReceived=a.length%3,this.charLength=this.charReceived?3:0}var h=c(2).Buffer,i=h.isEncoding||function(a){switch(a&&a.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}},j=b.StringDecoder=function(a){switch(this.encoding=(a||"utf8").toLowerCase().replace(/[-_]/,""),d(a),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=f;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=g;break;default:return void(this.write=e)}this.charBuffer=new h(6),this.charReceived=0,this.charLength=0};j.prototype.write=function(a){for(var b="";this.charLength;){var c=a.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:a.length;if(a.copy(this.charBuffer,this.charReceived,0,c),this.charReceived+=c,this.charReceived<this.charLength)return"";a=a.slice(c,a.length),b=this.charBuffer.slice(0,this.charLength).toString(this.encoding);var d=b.charCodeAt(b.length-1);if(!(d>=55296&&56319>=d)){if(this.charReceived=this.charLength=0,0===a.length)return b;break}this.charLength+=this.surrogateSize,b=""}this.detectIncompleteChar(a);var e=a.length;this.charLength&&(a.copy(this.charBuffer,0,a.length-this.charReceived,e),e-=this.charReceived),b+=a.toString(this.encoding,0,e);var e=b.length-1,d=b.charCodeAt(e);if(d>=55296&&56319>=d){var f=this.surrogateSize;return this.charLength+=f,this.charReceived+=f,this.charBuffer.copy(this.charBuffer,f,0,f),a.copy(this.charBuffer,0,0,f),b.substring(0,e)}return b},j.prototype.detectIncompleteChar=function(a){for(var b=a.length>=3?3:a.length;b>0;b--){var c=a[a.length-b];if(1==b&&c>>5==6){this.charLength=2;break}if(2>=b&&c>>4==14){this.charLength=3;break}if(3>=b&&c>>3==30){this.charLength=4;break}}this.charReceived=b},j.prototype.end=function(a){var b="";if(a&&a.length&&(b=this.write(a)),this.charReceived){var c=this.charReceived,d=this.charBuffer,e=this.encoding;b+=d.slice(0,c).toString(e)}return b}},function(a,b,c){function d(a,b){this.afterTransform=function(a,c){return e(b,a,c)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null}function e(a,b,c){var d=a._transformState;d.transforming=!1;var e=d.writecb;if(!e)return a.emit("error",new Error("no writecb in Transform class"));d.writechunk=null,d.writecb=null,i.isNullOrUndefined(c)||a.push(c),e&&e(b);var f=a._readableState;f.reading=!1,(f.needReadable||f.length<f.highWaterMark)&&a._read(f.highWaterMark)}function f(a){if(!(this instanceof f))return new f(a);h.call(this,a),this._transformState=new d(a,this);var b=this;this._readableState.needReadable=!0,this._readableState.sync=!1,this.once("prefinish",function(){i.isFunction(this._flush)?this._flush(function(a){g(b,a)}):g(b)})}function g(a,b){if(b)return a.emit("error",b);var c=a._writableState,d=a._transformState;if(c.length)throw new Error("calling transform done when ws.length != 0");if(d.transforming)throw new Error("calling transform done when still transforming");return a.push(null)}a.exports=f;var h=c(35),i=c(32);i.inherits=c(33),i.inherits(f,h),f.prototype.push=function(a,b){return this._transformState.needTransform=!1,h.prototype.push.call(this,a,b)},f.prototype._transform=function(a,b,c){throw new Error("not implemented")},f.prototype._write=function(a,b,c){var d=this._transformState;if(d.writecb=c,d.writechunk=a,d.writeencoding=b,!d.transforming){var e=this._readableState;(d.needTransform||e.needReadable||e.length<e.highWaterMark)&&this._read(e.highWaterMark)}},f.prototype._read=function(a){var b=this._transformState;i.isNull(b.writechunk)||!b.writecb||b.transforming?b.needTransform=!0:(b.transforming=!0,this._transform(b.writechunk,b.writeencoding,b.afterTransform))}},function(a,b,c){function d(a){return this instanceof d?void e.call(this,a):new d(a)}a.exports=d;var e=c(38),f=c(32);f.inherits=c(33),f.inherits(d,e),d.prototype._transform=function(a,b,c){c(null,a)}},function(a,b,c){a.exports=c(36)},function(a,b,c){a.exports=c(35)},function(a,b,c){a.exports=c(38)},function(a,b,c){a.exports=c(39)},function(a,b,c){(function(b,c){"use strict";function d(){this.fileSystem={},this.baseSystem={}}function e(a){return 0===a.indexOf(c)&&(a=a.substring(c.length)),0===a.indexOf("/")&&(a=a.substring(1)),a}d.prototype.readFileSync=function(a){a=e(a);var c=this.baseSystem[a];return c?new b(c,"base64"):this.fileSystem[a]},d.prototype.writeFileSync=function(a,b){this.fileSystem[e(a)]=b},d.prototype.bindFS=function(a){this.baseSystem=a},a.exports=new d}).call(b,c(2).Buffer,"/")},function(a,b,c){(function(b){(function(){var d,e;d=function(){function a(){}var c,d,f,g;return f=function(a,b){return(Array(b+1).join("0")+a).slice(-b)},d=/[\n\r\t\b\f\(\)\\]/g,c={"\n":"\\n","\r":"\\r"," ":"\\t","\b":"\\b","\f":"\\f","\\":"\\\\","(":"\\(",")":"\\)"},g=function(a){var b,c,d,e,f;if(d=a.length,1&d)throw new Error("Buffer length must be even");for(c=e=0,f=d-1;f>e;c=e+=2)b=a[c],a[c]=a[c+1],a[c+1]=b;return a},a.convert=function(h){var i,j,k,l,m,n,o,p,q,r;if("string"==typeof h)return"/"+h;if(h instanceof String){for(o=h.replace(d,function(a){return c[a]}),k=!1,j=q=0,r=o.length;r>q;j=q+=1)if(o.charCodeAt(j)>127){k=!0;break}return k&&(o=g(new b("\ufeff"+o,"utf16le")).toString("binary")),"("+o+")"}if(b.isBuffer(h))return"<"+h.toString("hex")+">";if(h instanceof e)return h.toString();if(h instanceof Date)return"(D:"+f(h.getUTCFullYear(),4)+f(h.getUTCMonth(),2)+f(h.getUTCDate(),2)+f(h.getUTCHours(),2)+f(h.getUTCMinutes(),2)+f(h.getUTCSeconds(),2)+"Z)";if(Array.isArray(h))return l=function(){var b,c,d;for(d=[],b=0,c=h.length;c>b;b++)i=h[b],d.push(a.convert(i));return d}().join(" "),"["+l+"]";if("[object Object]"==={}.toString.call(h)){n=["<<"];for(m in h)p=h[m],n.push("/"+m+" "+a.convert(p));return n.push(">>"),n.join("\n")}return""+h},a}(),a.exports=d,e=c(46)}).call(this)}).call(b,c(2).Buffer)},function(a,b,c){(function(b){(function(){var d,e,f,g=function(a,b){return function(){return a.apply(b,arguments)}};f=c(47),e=function(){function a(a,b,c){this.document=a,this.id=b,this.data=null!=c?c:{},this.finalize=g(this.finalize,this),this.gen=0,this.deflate=null,this.compress=this.document.compress&&!this.data.Filter,this.uncompressedLength=0,this.chunks=[]}return a.prototype.initDeflate=function(){return this.data.Filter="FlateDecode",this.deflate=f.createDeflate(),this.deflate.on("data",function(a){return function(b){return a.chunks.push(b),a.data.Length+=b.length}}(this)),this.deflate.on("end",this.finalize)},a.prototype.write=function(a){var c;return b.isBuffer(a)||(a=new b(a+"\n","binary")),this.uncompressedLength+=a.length,null==(c=this.data).Length&&(c.Length=0),this.compress?(this.deflate||this.initDeflate(),this.deflate.write(a)):(this.chunks.push(a),this.data.Length+=a.length)},a.prototype.end=function(a){return("string"==typeof a||b.isBuffer(a))&&this.write(a),this.deflate?this.deflate.end():this.finalize()},a.prototype.finalize=function(){var a,b,c,e;if(this.offset=this.document._offset,this.document._write(""+this.id+" "+this.gen+" obj"),this.document._write(d.convert(this.data)),this.chunks.length){for(this.document._write("stream"),e=this.chunks,b=0,c=e.length;c>b;b++)a=e[b],this.document._write(a);this.chunks.length=0,this.document._write("\nendstream")}return this.document._write("endobj"),this.document._refEnd(this)},a.prototype.toString=function(){return""+this.id+" "+this.gen+" R"},a}(),a.exports=e,d=c(45)}).call(this)}).call(b,c(2).Buffer)},function(a,b,c){(function(a,d){function e(b,c,d){function e(){for(var a;null!==(a=b.read());)h.push(a),i+=a.length;b.once("readable",e)}function f(a){b.removeListener("end",g),b.removeListener("readable",e),d(a)}function g(){var c=a.concat(h,i);h=[],d(null,c),b.close()}var h=[],i=0;b.on("error",f),b.on("end",g),b.end(c),e()}function f(b,c){if("string"==typeof c&&(c=new a(c)),!a.isBuffer(c))throw new TypeError("Not a string or buffer");var d=p.Z_FINISH;return b._processChunk(c,d)}function g(a){return this instanceof g?void n.call(this,a,p.DEFLATE):new g(a)}function h(a){return this instanceof h?void n.call(this,a,p.INFLATE):new h(a)}function i(a){return this instanceof i?void n.call(this,a,p.GZIP):new i(a)}function j(a){return this instanceof j?void n.call(this,a,p.GUNZIP):new j(a)}function k(a){return this instanceof k?void n.call(this,a,p.DEFLATERAW):new k(a)}function l(a){
+return this instanceof l?void n.call(this,a,p.INFLATERAW):new l(a)}function m(a){return this instanceof m?void n.call(this,a,p.UNZIP):new m(a)}function n(c,d){if(this._opts=c=c||{},this._chunkSize=c.chunkSize||b.Z_DEFAULT_CHUNK,o.call(this,c),c.flush&&c.flush!==p.Z_NO_FLUSH&&c.flush!==p.Z_PARTIAL_FLUSH&&c.flush!==p.Z_SYNC_FLUSH&&c.flush!==p.Z_FULL_FLUSH&&c.flush!==p.Z_FINISH&&c.flush!==p.Z_BLOCK)throw new Error("Invalid flush flag: "+c.flush);if(this._flushFlag=c.flush||p.Z_NO_FLUSH,c.chunkSize&&(c.chunkSize<b.Z_MIN_CHUNK||c.chunkSize>b.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+c.chunkSize);if(c.windowBits&&(c.windowBits<b.Z_MIN_WINDOWBITS||c.windowBits>b.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+c.windowBits);if(c.level&&(c.level<b.Z_MIN_LEVEL||c.level>b.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+c.level);if(c.memLevel&&(c.memLevel<b.Z_MIN_MEMLEVEL||c.memLevel>b.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+c.memLevel);if(c.strategy&&c.strategy!=b.Z_FILTERED&&c.strategy!=b.Z_HUFFMAN_ONLY&&c.strategy!=b.Z_RLE&&c.strategy!=b.Z_FIXED&&c.strategy!=b.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+c.strategy);if(c.dictionary&&!a.isBuffer(c.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._binding=new p.Zlib(d);var e=this;this._hadError=!1,this._binding.onerror=function(a,c){e._binding=null,e._hadError=!0;var d=new Error(a);d.errno=c,d.code=b.codes[c],e.emit("error",d)};var f=b.Z_DEFAULT_COMPRESSION;"number"==typeof c.level&&(f=c.level);var g=b.Z_DEFAULT_STRATEGY;"number"==typeof c.strategy&&(g=c.strategy),this._binding.init(c.windowBits||b.Z_DEFAULT_WINDOWBITS,f,c.memLevel||b.Z_DEFAULT_MEMLEVEL,g,c.dictionary),this._buffer=new a(this._chunkSize),this._offset=0,this._closed=!1,this._level=f,this._strategy=g,this.once("end",this.close)}var o=c(42),p=c(48),q=c(60),r=c(63).ok;p.Z_MIN_WINDOWBITS=8,p.Z_MAX_WINDOWBITS=15,p.Z_DEFAULT_WINDOWBITS=15,p.Z_MIN_CHUNK=64,p.Z_MAX_CHUNK=1/0,p.Z_DEFAULT_CHUNK=16384,p.Z_MIN_MEMLEVEL=1,p.Z_MAX_MEMLEVEL=9,p.Z_DEFAULT_MEMLEVEL=8,p.Z_MIN_LEVEL=-1,p.Z_MAX_LEVEL=9,p.Z_DEFAULT_LEVEL=p.Z_DEFAULT_COMPRESSION,Object.keys(p).forEach(function(a){a.match(/^Z/)&&(b[a]=p[a])}),b.codes={Z_OK:p.Z_OK,Z_STREAM_END:p.Z_STREAM_END,Z_NEED_DICT:p.Z_NEED_DICT,Z_ERRNO:p.Z_ERRNO,Z_STREAM_ERROR:p.Z_STREAM_ERROR,Z_DATA_ERROR:p.Z_DATA_ERROR,Z_MEM_ERROR:p.Z_MEM_ERROR,Z_BUF_ERROR:p.Z_BUF_ERROR,Z_VERSION_ERROR:p.Z_VERSION_ERROR},Object.keys(b.codes).forEach(function(a){b.codes[b.codes[a]]=a}),b.Deflate=g,b.Inflate=h,b.Gzip=i,b.Gunzip=j,b.DeflateRaw=k,b.InflateRaw=l,b.Unzip=m,b.createDeflate=function(a){return new g(a)},b.createInflate=function(a){return new h(a)},b.createDeflateRaw=function(a){return new k(a)},b.createInflateRaw=function(a){return new l(a)},b.createGzip=function(a){return new i(a)},b.createGunzip=function(a){return new j(a)},b.createUnzip=function(a){return new m(a)},b.deflate=function(a,b,c){return"function"==typeof b&&(c=b,b={}),e(new g(b),a,c)},b.deflateSync=function(a,b){return f(new g(b),a)},b.gzip=function(a,b,c){return"function"==typeof b&&(c=b,b={}),e(new i(b),a,c)},b.gzipSync=function(a,b){return f(new i(b),a)},b.deflateRaw=function(a,b,c){return"function"==typeof b&&(c=b,b={}),e(new k(b),a,c)},b.deflateRawSync=function(a,b){return f(new k(b),a)},b.unzip=function(a,b,c){return"function"==typeof b&&(c=b,b={}),e(new m(b),a,c)},b.unzipSync=function(a,b){return f(new m(b),a)},b.inflate=function(a,b,c){return"function"==typeof b&&(c=b,b={}),e(new h(b),a,c)},b.inflateSync=function(a,b){return f(new h(b),a)},b.gunzip=function(a,b,c){return"function"==typeof b&&(c=b,b={}),e(new j(b),a,c)},b.gunzipSync=function(a,b){return f(new j(b),a)},b.inflateRaw=function(a,b,c){return"function"==typeof b&&(c=b,b={}),e(new l(b),a,c)},b.inflateRawSync=function(a,b){return f(new l(b),a)},q.inherits(n,o),n.prototype.params=function(a,c,e){if(a<b.Z_MIN_LEVEL||a>b.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+a);if(c!=b.Z_FILTERED&&c!=b.Z_HUFFMAN_ONLY&&c!=b.Z_RLE&&c!=b.Z_FIXED&&c!=b.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+c);if(this._level!==a||this._strategy!==c){var f=this;this.flush(p.Z_SYNC_FLUSH,function(){f._binding.params(a,c),f._hadError||(f._level=a,f._strategy=c,e&&e())})}else d.nextTick(e)},n.prototype.reset=function(){return this._binding.reset()},n.prototype._flush=function(b){this._transform(new a(0),"",b)},n.prototype.flush=function(b,c){var e=this._writableState;if(("function"==typeof b||void 0===b&&!c)&&(c=b,b=p.Z_FULL_FLUSH),e.ended)c&&d.nextTick(c);else if(e.ending)c&&this.once("end",c);else if(e.needDrain){var f=this;this.once("drain",function(){f.flush(c)})}else this._flushFlag=b,this.write(new a(0),"",c)},n.prototype.close=function(a){if(a&&d.nextTick(a),!this._closed){this._closed=!0,this._binding.close();var b=this;d.nextTick(function(){b.emit("close")})}},n.prototype._transform=function(b,c,d){var e,f=this._writableState,g=f.ending||f.ended,h=g&&(!b||f.length===b.length);if(null===!b&&!a.isBuffer(b))return d(new Error("invalid input"));h?e=p.Z_FINISH:(e=this._flushFlag,b.length>=f.length&&(this._flushFlag=this._opts.flush||p.Z_NO_FLUSH));this._processChunk(b,e,d)},n.prototype._processChunk=function(b,c,d){function e(k,n){if(!i._hadError){var o=g-n;if(r(o>=0,"have should not go down"),o>0){var p=i._buffer.slice(i._offset,i._offset+o);i._offset+=o,j?i.push(p):(l.push(p),m+=p.length)}if((0===n||i._offset>=i._chunkSize)&&(g=i._chunkSize,i._offset=0,i._buffer=new a(i._chunkSize)),0===n){if(h+=f-k,f=k,!j)return!0;var q=i._binding.write(c,b,h,f,i._buffer,i._offset,i._chunkSize);return q.callback=e,void(q.buffer=b)}return j?void d():!1}}var f=b&&b.length,g=this._chunkSize-this._offset,h=0,i=this,j="function"==typeof d;if(!j){var k,l=[],m=0;this.on("error",function(a){k=a});do var n=this._binding.writeSync(c,b,h,f,this._buffer,this._offset,g);while(!this._hadError&&e(n[0],n[1]));if(this._hadError)throw k;var o=a.concat(l,m);return this.close(),o}var p=this._binding.write(c,b,h,f,this._buffer,this._offset,g);p.buffer=b,p.callback=e},q.inherits(g,n),q.inherits(h,n),q.inherits(i,n),q.inherits(j,n),q.inherits(k,n),q.inherits(l,n),q.inherits(m,n)}).call(b,c(2).Buffer,c(30))},function(a,b,c){(function(a,d){function e(a){if(a<b.DEFLATE||a>b.UNZIP)throw new TypeError("Bad argument");this.mode=a,this.init_done=!1,this.write_in_progress=!1,this.pending_close=!1,this.windowBits=0,this.level=0,this.memLevel=0,this.strategy=0,this.dictionary=null}function f(a,b){for(var c=0;c<a.length;c++)this[b+c]=a[c]}var g=c(49),h=c(50),i=c(51),j=c(56),k=c(59);for(var l in k)b[l]=k[l];b.NONE=0,b.DEFLATE=1,b.INFLATE=2,b.GZIP=3,b.GUNZIP=4,b.DEFLATERAW=5,b.INFLATERAW=6,b.UNZIP=7,e.prototype.init=function(a,c,d,e,f){switch(this.windowBits=a,this.level=c,this.memLevel=d,this.strategy=e,(this.mode===b.GZIP||this.mode===b.GUNZIP)&&(this.windowBits+=16),this.mode===b.UNZIP&&(this.windowBits+=32),(this.mode===b.DEFLATERAW||this.mode===b.INFLATERAW)&&(this.windowBits=-this.windowBits),this.strm=new h,this.mode){case b.DEFLATE:case b.GZIP:case b.DEFLATERAW:var g=i.deflateInit2(this.strm,this.level,b.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case b.INFLATE:case b.GUNZIP:case b.INFLATERAW:case b.UNZIP:var g=j.inflateInit2(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}return g!==b.Z_OK?void this._error(g):(this.write_in_progress=!1,void(this.init_done=!0))},e.prototype.params=function(){throw new Error("deflateParams Not supported")},e.prototype._writeCheck=function(){if(!this.init_done)throw new Error("write before init");if(this.mode===b.NONE)throw new Error("already finalized");if(this.write_in_progress)throw new Error("write already in progress");if(this.pending_close)throw new Error("close is pending")},e.prototype.write=function(b,c,d,e,f,g,h){this._writeCheck(),this.write_in_progress=!0;var i=this;return a.nextTick(function(){i.write_in_progress=!1;var a=i._write(b,c,d,e,f,g,h);i.callback(a[0],a[1]),i.pending_close&&i.close()}),this},e.prototype.writeSync=function(a,b,c,d,e,f,g){return this._writeCheck(),this._write(a,b,c,d,e,f,g)},e.prototype._write=function(a,c,e,g,h,k,l){if(this.write_in_progress=!0,a!==b.Z_NO_FLUSH&&a!==b.Z_PARTIAL_FLUSH&&a!==b.Z_SYNC_FLUSH&&a!==b.Z_FULL_FLUSH&&a!==b.Z_FINISH&&a!==b.Z_BLOCK)throw new Error("Invalid flush value");null==c&&(c=new d(0),g=0,e=0),h._set?h.set=h._set:h.set=f;var m=this.strm;switch(m.avail_in=g,m.input=c,m.next_in=e,m.avail_out=l,m.output=h,m.next_out=k,this.mode){case b.DEFLATE:case b.GZIP:case b.DEFLATERAW:var n=i.deflate(m,a);break;case b.UNZIP:case b.INFLATE:case b.GUNZIP:case b.INFLATERAW:var n=j.inflate(m,a);break;default:throw new Error("Unknown mode "+this.mode)}return n!==b.Z_STREAM_END&&n!==b.Z_OK&&this._error(n),this.write_in_progress=!1,[m.avail_in,m.avail_out]},e.prototype.close=function(){return this.write_in_progress?void(this.pending_close=!0):(this.pending_close=!1,this.mode===b.DEFLATE||this.mode===b.GZIP||this.mode===b.DEFLATERAW?i.deflateEnd(this.strm):j.inflateEnd(this.strm),void(this.mode=b.NONE))},e.prototype.reset=function(){switch(this.mode){case b.DEFLATE:case b.DEFLATERAW:var a=i.deflateReset(this.strm);break;case b.INFLATE:case b.INFLATERAW:var a=j.inflateReset(this.strm)}a!==b.Z_OK&&this._error(a)},e.prototype._error=function(a){this.onerror(g[a]+": "+this.strm.msg,a),this.write_in_progress=!1,this.pending_close&&this.close()},b.Zlib=e}).call(b,c(30),c(2).Buffer)},function(a,b){"use strict";a.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},function(a,b){"use strict";function c(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}a.exports=c},function(a,b,c){"use strict";function d(a,b){return a.msg=G[b],b}function e(a){return(a<<1)-(a>4?9:0)}function f(a){for(var b=a.length;--b>=0;)a[b]=0}function g(a){var b=a.state,c=b.pending;c>a.avail_out&&(c=a.avail_out),0!==c&&(C.arraySet(a.output,b.pending_buf,b.pending_out,c,a.next_out),a.next_out+=c,b.pending_out+=c,a.total_out+=c,a.avail_out-=c,b.pending-=c,0===b.pending&&(b.pending_out=0))}function h(a,b){D._tr_flush_block(a,a.block_start>=0?a.block_start:-1,a.strstart-a.block_start,b),a.block_start=a.strstart,g(a.strm)}function i(a,b){a.pending_buf[a.pending++]=b}function j(a,b){a.pending_buf[a.pending++]=b>>>8&255,a.pending_buf[a.pending++]=255&b}function k(a,b,c,d){var e=a.avail_in;return e>d&&(e=d),0===e?0:(a.avail_in-=e,C.arraySet(b,a.input,a.next_in,e,c),1===a.state.wrap?a.adler=E(a.adler,b,e,c):2===a.state.wrap&&(a.adler=F(a.adler,b,e,c)),a.next_in+=e,a.total_in+=e,e)}function l(a,b){var c,d,e=a.max_chain_length,f=a.strstart,g=a.prev_length,h=a.nice_match,i=a.strstart>a.w_size-ja?a.strstart-(a.w_size-ja):0,j=a.window,k=a.w_mask,l=a.prev,m=a.strstart+ia,n=j[f+g-1],o=j[f+g];a.prev_length>=a.good_match&&(e>>=2),h>a.lookahead&&(h=a.lookahead);do if(c=b,j[c+g]===o&&j[c+g-1]===n&&j[c]===j[f]&&j[++c]===j[f+1]){f+=2,c++;do;while(j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&m>f);if(d=ia-(m-f),f=m-ia,d>g){if(a.match_start=b,g=d,d>=h)break;n=j[f+g-1],o=j[f+g]}}while((b=l[b&k])>i&&0!==--e);return g<=a.lookahead?g:a.lookahead}function m(a){var b,c,d,e,f,g=a.w_size;do{if(e=a.window_size-a.lookahead-a.strstart,a.strstart>=g+(g-ja)){C.arraySet(a.window,a.window,g,g,0),a.match_start-=g,a.strstart-=g,a.block_start-=g,c=a.hash_size,b=c;do d=a.head[--b],a.head[b]=d>=g?d-g:0;while(--c);c=g,b=c;do d=a.prev[--b],a.prev[b]=d>=g?d-g:0;while(--c);e+=g}if(0===a.strm.avail_in)break;if(c=k(a.strm,a.window,a.strstart+a.lookahead,e),a.lookahead+=c,a.lookahead+a.insert>=ha)for(f=a.strstart-a.insert,a.ins_h=a.window[f],a.ins_h=(a.ins_h<<a.hash_shift^a.window[f+1])&a.hash_mask;a.insert&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[f+ha-1])&a.hash_mask,a.prev[f&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=f,f++,a.insert--,!(a.lookahead+a.insert<ha)););}while(a.lookahead<ja&&0!==a.strm.avail_in)}function n(a,b){var c=65535;for(c>a.pending_buf_size-5&&(c=a.pending_buf_size-5);;){if(a.lookahead<=1){if(m(a),0===a.lookahead&&b===H)return sa;if(0===a.lookahead)break}a.strstart+=a.lookahead,a.lookahead=0;var d=a.block_start+c;if((0===a.strstart||a.strstart>=d)&&(a.lookahead=a.strstart-d,a.strstart=d,h(a,!1),0===a.strm.avail_out))return sa;if(a.strstart-a.block_start>=a.w_size-ja&&(h(a,!1),0===a.strm.avail_out))return sa}return a.insert=0,b===K?(h(a,!0),0===a.strm.avail_out?ua:va):a.strstart>a.block_start&&(h(a,!1),0===a.strm.avail_out)?sa:sa}function o(a,b){for(var c,d;;){if(a.lookahead<ja){if(m(a),a.lookahead<ja&&b===H)return sa;if(0===a.lookahead)break}if(c=0,a.lookahead>=ha&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+ha-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart),0!==c&&a.strstart-c<=a.w_size-ja&&(a.match_length=l(a,c)),a.match_length>=ha)if(d=D._tr_tally(a,a.strstart-a.match_start,a.match_length-ha),a.lookahead-=a.match_length,a.match_length<=a.max_lazy_match&&a.lookahead>=ha){a.match_length--;do a.strstart++,a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+ha-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart;while(0!==--a.match_length);a.strstart++}else a.strstart+=a.match_length,a.match_length=0,a.ins_h=a.window[a.strstart],a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+1])&a.hash_mask;else d=D._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++;if(d&&(h(a,!1),0===a.strm.avail_out))return sa}return a.insert=a.strstart<ha-1?a.strstart:ha-1,b===K?(h(a,!0),0===a.strm.avail_out?ua:va):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sa:ta}function p(a,b){for(var c,d,e;;){if(a.lookahead<ja){if(m(a),a.lookahead<ja&&b===H)return sa;if(0===a.lookahead)break}if(c=0,a.lookahead>=ha&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+ha-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart),a.prev_length=a.match_length,a.prev_match=a.match_start,a.match_length=ha-1,0!==c&&a.prev_length<a.max_lazy_match&&a.strstart-c<=a.w_size-ja&&(a.match_length=l(a,c),a.match_length<=5&&(a.strategy===S||a.match_length===ha&&a.strstart-a.match_start>4096)&&(a.match_length=ha-1)),a.prev_length>=ha&&a.match_length<=a.prev_length){e=a.strstart+a.lookahead-ha,d=D._tr_tally(a,a.strstart-1-a.prev_match,a.prev_length-ha),a.lookahead-=a.prev_length-1,a.prev_length-=2;do++a.strstart<=e&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+ha-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart);while(0!==--a.prev_length);if(a.match_available=0,a.match_length=ha-1,a.strstart++,d&&(h(a,!1),0===a.strm.avail_out))return sa}else if(a.match_available){if(d=D._tr_tally(a,0,a.window[a.strstart-1]),d&&h(a,!1),a.strstart++,a.lookahead--,0===a.strm.avail_out)return sa}else a.match_available=1,a.strstart++,a.lookahead--}return a.match_available&&(d=D._tr_tally(a,0,a.window[a.strstart-1]),a.match_available=0),a.insert=a.strstart<ha-1?a.strstart:ha-1,b===K?(h(a,!0),0===a.strm.avail_out?ua:va):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sa:ta}function q(a,b){for(var c,d,e,f,g=a.window;;){if(a.lookahead<=ia){if(m(a),a.lookahead<=ia&&b===H)return sa;if(0===a.lookahead)break}if(a.match_length=0,a.lookahead>=ha&&a.strstart>0&&(e=a.strstart-1,d=g[e],d===g[++e]&&d===g[++e]&&d===g[++e])){f=a.strstart+ia;do;while(d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&f>e);a.match_length=ia-(f-e),a.match_length>a.lookahead&&(a.match_length=a.lookahead)}if(a.match_length>=ha?(c=D._tr_tally(a,1,a.match_length-ha),a.lookahead-=a.match_length,a.strstart+=a.match_length,a.match_length=0):(c=D._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++),c&&(h(a,!1),0===a.strm.avail_out))return sa}return a.insert=0,b===K?(h(a,!0),0===a.strm.avail_out?ua:va):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sa:ta}function r(a,b){for(var c;;){if(0===a.lookahead&&(m(a),0===a.lookahead)){if(b===H)return sa;break}if(a.match_length=0,c=D._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++,c&&(h(a,!1),0===a.strm.avail_out))return sa}return a.insert=0,b===K?(h(a,!0),0===a.strm.avail_out?ua:va):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sa:ta}function s(a){a.window_size=2*a.w_size,f(a.head),a.max_lazy_match=B[a.level].max_lazy,a.good_match=B[a.level].good_length,a.nice_match=B[a.level].nice_length,a.max_chain_length=B[a.level].max_chain,a.strstart=0,a.block_start=0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=ha-1,a.match_available=0,a.ins_h=0}function t(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Y,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new C.Buf16(2*fa),this.dyn_dtree=new C.Buf16(2*(2*da+1)),this.bl_tree=new C.Buf16(2*(2*ea+1)),f(this.dyn_ltree),f(this.dyn_dtree),f(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new C.Buf16(ga+1),this.heap=new C.Buf16(2*ca+1),f(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new C.Buf16(2*ca+1),f(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function u(a){var b;return a&&a.state?(a.total_in=a.total_out=0,a.data_type=X,b=a.state,b.pending=0,b.pending_out=0,b.wrap<0&&(b.wrap=-b.wrap),b.status=b.wrap?la:qa,a.adler=2===b.wrap?0:1,b.last_flush=H,D._tr_init(b),M):d(a,O)}function v(a){var b=u(a);return b===M&&s(a.state),b}function w(a,b){return a&&a.state?2!==a.state.wrap?O:(a.state.gzhead=b,M):O}function x(a,b,c,e,f,g){if(!a)return O;var h=1;if(b===R&&(b=6),0>e?(h=0,e=-e):e>15&&(h=2,e-=16),1>f||f>Z||c!==Y||8>e||e>15||0>b||b>9||0>g||g>V)return d(a,O);8===e&&(e=9);var i=new t;return a.state=i,i.strm=a,i.wrap=h,i.gzhead=null,i.w_bits=e,i.w_size=1<<i.w_bits,i.w_mask=i.w_size-1,i.hash_bits=f+7,i.hash_size=1<<i.hash_bits,i.hash_mask=i.hash_size-1,i.hash_shift=~~((i.hash_bits+ha-1)/ha),i.window=new C.Buf8(2*i.w_size),i.head=new C.Buf16(i.hash_size),i.prev=new C.Buf16(i.w_size),i.lit_bufsize=1<<f+6,i.pending_buf_size=4*i.lit_bufsize,i.pending_buf=new C.Buf8(i.pending_buf_size),i.d_buf=i.lit_bufsize>>1,i.l_buf=3*i.lit_bufsize,i.level=b,i.strategy=g,i.method=c,v(a)}function y(a,b){return x(a,b,Y,$,_,W)}function z(a,b){var c,h,k,l;if(!a||!a.state||b>L||0>b)return a?d(a,O):O;if(h=a.state,!a.output||!a.input&&0!==a.avail_in||h.status===ra&&b!==K)return d(a,0===a.avail_out?Q:O);if(h.strm=a,c=h.last_flush,h.last_flush=b,h.status===la)if(2===h.wrap)a.adler=0,i(h,31),i(h,139),i(h,8),h.gzhead?(i(h,(h.gzhead.text?1:0)+(h.gzhead.hcrc?2:0)+(h.gzhead.extra?4:0)+(h.gzhead.name?8:0)+(h.gzhead.comment?16:0)),i(h,255&h.gzhead.time),i(h,h.gzhead.time>>8&255),i(h,h.gzhead.time>>16&255),i(h,h.gzhead.time>>24&255),i(h,9===h.level?2:h.strategy>=T||h.level<2?4:0),i(h,255&h.gzhead.os),h.gzhead.extra&&h.gzhead.extra.length&&(i(h,255&h.gzhead.extra.length),i(h,h.gzhead.extra.length>>8&255)),h.gzhead.hcrc&&(a.adler=F(a.adler,h.pending_buf,h.pending,0)),h.gzindex=0,h.status=ma):(i(h,0),i(h,0),i(h,0),i(h,0),i(h,0),i(h,9===h.level?2:h.strategy>=T||h.level<2?4:0),i(h,wa),h.status=qa);else{var m=Y+(h.w_bits-8<<4)<<8,n=-1;n=h.strategy>=T||h.level<2?0:h.level<6?1:6===h.level?2:3,m|=n<<6,0!==h.strstart&&(m|=ka),m+=31-m%31,h.status=qa,j(h,m),0!==h.strstart&&(j(h,a.adler>>>16),j(h,65535&a.adler)),a.adler=1}if(h.status===ma)if(h.gzhead.extra){for(k=h.pending;h.gzindex<(65535&h.gzhead.extra.length)&&(h.pending!==h.pending_buf_size||(h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending!==h.pending_buf_size));)i(h,255&h.gzhead.extra[h.gzindex]),h.gzindex++;h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),h.gzindex===h.gzhead.extra.length&&(h.gzindex=0,h.status=na)}else h.status=na;if(h.status===na)if(h.gzhead.name){k=h.pending;do{if(h.pending===h.pending_buf_size&&(h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending===h.pending_buf_size)){l=1;break}l=h.gzindex<h.gzhead.name.length?255&h.gzhead.name.charCodeAt(h.gzindex++):0,i(h,l)}while(0!==l);h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),0===l&&(h.gzindex=0,h.status=oa)}else h.status=oa;if(h.status===oa)if(h.gzhead.comment){k=h.pending;do{if(h.pending===h.pending_buf_size&&(h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending===h.pending_buf_size)){l=1;break}l=h.gzindex<h.gzhead.comment.length?255&h.gzhead.comment.charCodeAt(h.gzindex++):0,i(h,l)}while(0!==l);h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),0===l&&(h.status=pa)}else h.status=pa;if(h.status===pa&&(h.gzhead.hcrc?(h.pending+2>h.pending_buf_size&&g(a),h.pending+2<=h.pending_buf_size&&(i(h,255&a.adler),i(h,a.adler>>8&255),a.adler=0,h.status=qa)):h.status=qa),0!==h.pending){if(g(a),0===a.avail_out)return h.last_flush=-1,M}else if(0===a.avail_in&&e(b)<=e(c)&&b!==K)return d(a,Q);if(h.status===ra&&0!==a.avail_in)return d(a,Q);if(0!==a.avail_in||0!==h.lookahead||b!==H&&h.status!==ra){var o=h.strategy===T?r(h,b):h.strategy===U?q(h,b):B[h.level].func(h,b);if((o===ua||o===va)&&(h.status=ra),o===sa||o===ua)return 0===a.avail_out&&(h.last_flush=-1),M;if(o===ta&&(b===I?D._tr_align(h):b!==L&&(D._tr_stored_block(h,0,0,!1),b===J&&(f(h.head),0===h.lookahead&&(h.strstart=0,h.block_start=0,h.insert=0))),g(a),0===a.avail_out))return h.last_flush=-1,M}return b!==K?M:h.wrap<=0?N:(2===h.wrap?(i(h,255&a.adler),i(h,a.adler>>8&255),i(h,a.adler>>16&255),i(h,a.adler>>24&255),i(h,255&a.total_in),i(h,a.total_in>>8&255),i(h,a.total_in>>16&255),i(h,a.total_in>>24&255)):(j(h,a.adler>>>16),j(h,65535&a.adler)),g(a),h.wrap>0&&(h.wrap=-h.wrap),0!==h.pending?M:N)}function A(a){var b;return a&&a.state?(b=a.state.status,b!==la&&b!==ma&&b!==na&&b!==oa&&b!==pa&&b!==qa&&b!==ra?d(a,O):(a.state=null,b===qa?d(a,P):M)):O}var B,C=c(52),D=c(53),E=c(54),F=c(55),G=c(49),H=0,I=1,J=3,K=4,L=5,M=0,N=1,O=-2,P=-3,Q=-5,R=-1,S=1,T=2,U=3,V=4,W=0,X=2,Y=8,Z=9,$=15,_=8,aa=29,ba=256,ca=ba+1+aa,da=30,ea=19,fa=2*ca+1,ga=15,ha=3,ia=258,ja=ia+ha+1,ka=32,la=42,ma=69,na=73,oa=91,pa=103,qa=113,ra=666,sa=1,ta=2,ua=3,va=4,wa=3,xa=function(a,b,c,d,e){this.good_length=a,this.max_lazy=b,this.nice_length=c,this.max_chain=d,this.func=e};B=[new xa(0,0,0,0,n),new xa(4,4,8,4,o),new xa(4,5,16,8,o),new xa(4,6,32,32,o),new xa(4,4,16,16,p),new xa(8,16,32,32,p),new xa(8,16,128,128,p),new xa(8,32,128,256,p),new xa(32,128,258,1024,p),new xa(32,258,258,4096,p)],b.deflateInit=y,b.deflateInit2=x,b.deflateReset=v,b.deflateResetKeep=u,b.deflateSetHeader=w,b.deflate=z,b.deflateEnd=A,b.deflateInfo="pako deflate (from Nodeca project)"},function(a,b){"use strict";var c="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;b.assign=function(a){for(var b=Array.prototype.slice.call(arguments,1);b.length;){var c=b.shift();if(c){if("object"!=typeof c)throw new TypeError(c+"must be non-object");for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])}}return a},b.shrinkBuf=function(a,b){return a.length===b?a:a.subarray?a.subarray(0,b):(a.length=b,a)};var d={arraySet:function(a,b,c,d,e){if(b.subarray&&a.subarray)return void a.set(b.subarray(c,c+d),e);for(var f=0;d>f;f++)a[e+f]=b[c+f]},flattenChunks:function(a){var b,c,d,e,f,g;for(d=0,b=0,c=a.length;c>b;b++)d+=a[b].length;for(g=new Uint8Array(d),e=0,b=0,c=a.length;c>b;b++)f=a[b],g.set(f,e),e+=f.length;return g}},e={arraySet:function(a,b,c,d,e){for(var f=0;d>f;f++)a[e+f]=b[c+f]},flattenChunks:function(a){return[].concat.apply([],a)}};b.setTyped=function(a){a?(b.Buf8=Uint8Array,b.Buf16=Uint16Array,b.Buf32=Int32Array,b.assign(b,d)):(b.Buf8=Array,b.Buf16=Array,b.Buf32=Array,b.assign(b,e))},b.setTyped(c)},function(a,b,c){"use strict";function d(a){for(var b=a.length;--b>=0;)a[b]=0}function e(a){return 256>a?ga[a]:ga[256+(a>>>7)]}function f(a,b){a.pending_buf[a.pending++]=255&b,a.pending_buf[a.pending++]=b>>>8&255}function g(a,b,c){a.bi_valid>V-c?(a.bi_buf|=b<<a.bi_valid&65535,f(a,a.bi_buf),a.bi_buf=b>>V-a.bi_valid,a.bi_valid+=c-V):(a.bi_buf|=b<<a.bi_valid&65535,a.bi_valid+=c)}function h(a,b,c){g(a,c[2*b],c[2*b+1])}function i(a,b){var c=0;do c|=1&a,a>>>=1,c<<=1;while(--b>0);return c>>>1}function j(a){16===a.bi_valid?(f(a,a.bi_buf),a.bi_buf=0,a.bi_valid=0):a.bi_valid>=8&&(a.pending_buf[a.pending++]=255&a.bi_buf,a.bi_buf>>=8,a.bi_valid-=8)}function k(a,b){var c,d,e,f,g,h,i=b.dyn_tree,j=b.max_code,k=b.stat_desc.static_tree,l=b.stat_desc.has_stree,m=b.stat_desc.extra_bits,n=b.stat_desc.extra_base,o=b.stat_desc.max_length,p=0;for(f=0;U>=f;f++)a.bl_count[f]=0;for(i[2*a.heap[a.heap_max]+1]=0,c=a.heap_max+1;T>c;c++)d=a.heap[c],f=i[2*i[2*d+1]+1]+1,f>o&&(f=o,p++),i[2*d+1]=f,d>j||(a.bl_count[f]++,g=0,d>=n&&(g=m[d-n]),h=i[2*d],a.opt_len+=h*(f+g),l&&(a.static_len+=h*(k[2*d+1]+g)));if(0!==p){do{for(f=o-1;0===a.bl_count[f];)f--;a.bl_count[f]--,a.bl_count[f+1]+=2,a.bl_count[o]--,p-=2}while(p>0);for(f=o;0!==f;f--)for(d=a.bl_count[f];0!==d;)e=a.heap[--c],e>j||(i[2*e+1]!==f&&(a.opt_len+=(f-i[2*e+1])*i[2*e],i[2*e+1]=f),d--)}}function l(a,b,c){var d,e,f=new Array(U+1),g=0;for(d=1;U>=d;d++)f[d]=g=g+c[d-1]<<1;for(e=0;b>=e;e++){var h=a[2*e+1];0!==h&&(a[2*e]=i(f[h]++,h))}}function m(){var a,b,c,d,e,f=new Array(U+1);for(c=0,d=0;O-1>d;d++)for(ia[d]=c,a=0;a<1<<_[d];a++)ha[c++]=d;for(ha[c-1]=d,e=0,d=0;16>d;d++)for(ja[d]=e,a=0;a<1<<aa[d];a++)ga[e++]=d;for(e>>=7;R>d;d++)for(ja[d]=e<<7,a=0;a<1<<aa[d]-7;a++)ga[256+e++]=d;for(b=0;U>=b;b++)f[b]=0;for(a=0;143>=a;)ea[2*a+1]=8,a++,f[8]++;for(;255>=a;)ea[2*a+1]=9,a++,f[9]++;for(;279>=a;)ea[2*a+1]=7,a++,f[7]++;for(;287>=a;)ea[2*a+1]=8,a++,f[8]++;for(l(ea,Q+1,f),a=0;R>a;a++)fa[2*a+1]=5,fa[2*a]=i(a,5);ka=new na(ea,_,P+1,Q,U),la=new na(fa,aa,0,R,U),ma=new na(new Array(0),ba,0,S,W)}function n(a){var b;for(b=0;Q>b;b++)a.dyn_ltree[2*b]=0;for(b=0;R>b;b++)a.dyn_dtree[2*b]=0;for(b=0;S>b;b++)a.bl_tree[2*b]=0;a.dyn_ltree[2*X]=1,a.opt_len=a.static_len=0,a.last_lit=a.matches=0}function o(a){a.bi_valid>8?f(a,a.bi_buf):a.bi_valid>0&&(a.pending_buf[a.pending++]=a.bi_buf),a.bi_buf=0,a.bi_valid=0}function p(a,b,c,d){o(a),d&&(f(a,c),f(a,~c)),E.arraySet(a.pending_buf,a.window,b,c,a.pending),a.pending+=c}function q(a,b,c,d){var e=2*b,f=2*c;return a[e]<a[f]||a[e]===a[f]&&d[b]<=d[c]}function r(a,b,c){for(var d=a.heap[c],e=c<<1;e<=a.heap_len&&(e<a.heap_len&&q(b,a.heap[e+1],a.heap[e],a.depth)&&e++,!q(b,d,a.heap[e],a.depth));)a.heap[c]=a.heap[e],c=e,e<<=1;a.heap[c]=d}function s(a,b,c){var d,f,i,j,k=0;if(0!==a.last_lit)do d=a.pending_buf[a.d_buf+2*k]<<8|a.pending_buf[a.d_buf+2*k+1],f=a.pending_buf[a.l_buf+k],k++,0===d?h(a,f,b):(i=ha[f],h(a,i+P+1,b),j=_[i],0!==j&&(f-=ia[i],g(a,f,j)),d--,i=e(d),h(a,i,c),j=aa[i],0!==j&&(d-=ja[i],g(a,d,j)));while(k<a.last_lit);h(a,X,b)}function t(a,b){var c,d,e,f=b.dyn_tree,g=b.stat_desc.static_tree,h=b.stat_desc.has_stree,i=b.stat_desc.elems,j=-1;for(a.heap_len=0,a.heap_max=T,c=0;i>c;c++)0!==f[2*c]?(a.heap[++a.heap_len]=j=c,a.depth[c]=0):f[2*c+1]=0;for(;a.heap_len<2;)e=a.heap[++a.heap_len]=2>j?++j:0,f[2*e]=1,a.depth[e]=0,a.opt_len--,h&&(a.static_len-=g[2*e+1]);for(b.max_code=j,c=a.heap_len>>1;c>=1;c--)r(a,f,c);e=i;do c=a.heap[1],a.heap[1]=a.heap[a.heap_len--],r(a,f,1),d=a.heap[1],a.heap[--a.heap_max]=c,a.heap[--a.heap_max]=d,f[2*e]=f[2*c]+f[2*d],a.depth[e]=(a.depth[c]>=a.depth[d]?a.depth[c]:a.depth[d])+1,f[2*c+1]=f[2*d+1]=e,a.heap[1]=e++,r(a,f,1);while(a.heap_len>=2);a.heap[--a.heap_max]=a.heap[1],k(a,b),l(f,j,a.bl_count)}function u(a,b,c){var d,e,f=-1,g=b[1],h=0,i=7,j=4;for(0===g&&(i=138,j=3),b[2*(c+1)+1]=65535,d=0;c>=d;d++)e=g,g=b[2*(d+1)+1],++h<i&&e===g||(j>h?a.bl_tree[2*e]+=h:0!==e?(e!==f&&a.bl_tree[2*e]++,a.bl_tree[2*Y]++):10>=h?a.bl_tree[2*Z]++:a.bl_tree[2*$]++,h=0,f=e,0===g?(i=138,j=3):e===g?(i=6,j=3):(i=7,j=4))}function v(a,b,c){var d,e,f=-1,i=b[1],j=0,k=7,l=4;for(0===i&&(k=138,l=3),d=0;c>=d;d++)if(e=i,i=b[2*(d+1)+1],!(++j<k&&e===i)){if(l>j){do h(a,e,a.bl_tree);while(0!==--j)}else 0!==e?(e!==f&&(h(a,e,a.bl_tree),j--),h(a,Y,a.bl_tree),g(a,j-3,2)):10>=j?(h(a,Z,a.bl_tree),g(a,j-3,3)):(h(a,$,a.bl_tree),g(a,j-11,7));j=0,f=e,0===i?(k=138,l=3):e===i?(k=6,l=3):(k=7,l=4)}}function w(a){var b;for(u(a,a.dyn_ltree,a.l_desc.max_code),u(a,a.dyn_dtree,a.d_desc.max_code),t(a,a.bl_desc),b=S-1;b>=3&&0===a.bl_tree[2*ca[b]+1];b--);return a.opt_len+=3*(b+1)+5+5+4,b}function x(a,b,c,d){var e;for(g(a,b-257,5),g(a,c-1,5),g(a,d-4,4),e=0;d>e;e++)g(a,a.bl_tree[2*ca[e]+1],3);v(a,a.dyn_ltree,b-1),v(a,a.dyn_dtree,c-1)}function y(a){var b,c=4093624447;for(b=0;31>=b;b++,c>>>=1)if(1&c&&0!==a.dyn_ltree[2*b])return G;if(0!==a.dyn_ltree[18]||0!==a.dyn_ltree[20]||0!==a.dyn_ltree[26])return H;for(b=32;P>b;b++)if(0!==a.dyn_ltree[2*b])return H;return G}function z(a){pa||(m(),pa=!0),a.l_desc=new oa(a.dyn_ltree,ka),a.d_desc=new oa(a.dyn_dtree,la),a.bl_desc=new oa(a.bl_tree,ma),a.bi_buf=0,a.bi_valid=0,n(a)}function A(a,b,c,d){g(a,(J<<1)+(d?1:0),3),p(a,b,c,!0)}function B(a){g(a,K<<1,3),h(a,X,ea),j(a)}function C(a,b,c,d){var e,f,h=0;a.level>0?(a.strm.data_type===I&&(a.strm.data_type=y(a)),t(a,a.l_desc),t(a,a.d_desc),h=w(a),e=a.opt_len+3+7>>>3,f=a.static_len+3+7>>>3,e>=f&&(e=f)):e=f=c+5,e>=c+4&&-1!==b?A(a,b,c,d):a.strategy===F||f===e?(g(a,(K<<1)+(d?1:0),3),s(a,ea,fa)):(g(a,(L<<1)+(d?1:0),3),x(a,a.l_desc.max_code+1,a.d_desc.max_code+1,h+1),s(a,a.dyn_ltree,a.dyn_dtree)),n(a),d&&o(a)}function D(a,b,c){return a.pending_buf[a.d_buf+2*a.last_lit]=b>>>8&255,a.pending_buf[a.d_buf+2*a.last_lit+1]=255&b,a.pending_buf[a.l_buf+a.last_lit]=255&c,a.last_lit++,0===b?a.dyn_ltree[2*c]++:(a.matches++,b--,a.dyn_ltree[2*(ha[c]+P+1)]++,a.dyn_dtree[2*e(b)]++),a.last_lit===a.lit_bufsize-1}var E=c(52),F=4,G=0,H=1,I=2,J=0,K=1,L=2,M=3,N=258,O=29,P=256,Q=P+1+O,R=30,S=19,T=2*Q+1,U=15,V=16,W=7,X=256,Y=16,Z=17,$=18,_=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],aa=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],ba=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],ca=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],da=512,ea=new Array(2*(Q+2));d(ea);var fa=new Array(2*R);d(fa);var ga=new Array(da);d(ga);var ha=new Array(N-M+1);d(ha);var ia=new Array(O);d(ia);var ja=new Array(R);d(ja);var ka,la,ma,na=function(a,b,c,d,e){this.static_tree=a,this.extra_bits=b,this.extra_base=c,this.elems=d,this.max_length=e,this.has_stree=a&&a.length},oa=function(a,b){this.dyn_tree=a,this.max_code=0,this.stat_desc=b},pa=!1;b._tr_init=z,b._tr_stored_block=A,b._tr_flush_block=C,b._tr_tally=D,b._tr_align=B},function(a,b){"use strict";function c(a,b,c,d){for(var e=65535&a|0,f=a>>>16&65535|0,g=0;0!==c;){g=c>2e3?2e3:c,c-=g;do e=e+b[d++]|0,f=f+e|0;while(--g);e%=65521,f%=65521}return e|f<<16|0}a.exports=c},function(a,b){"use strict";function c(){for(var a,b=[],c=0;256>c;c++){a=c;for(var d=0;8>d;d++)a=1&a?3988292384^a>>>1:a>>>1;b[c]=a}return b}function d(a,b,c,d){var f=e,g=d+c;a=-1^a;for(var h=d;g>h;h++)a=a>>>8^f[255&(a^b[h])];return-1^a}var e=c();a.exports=d},function(a,b,c){"use strict";function d(a){return(a>>>24&255)+(a>>>8&65280)+((65280&a)<<8)+((255&a)<<24)}function e(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,
+this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function f(a){var b;return a&&a.state?(b=a.state,a.total_in=a.total_out=b.total=0,a.msg="",b.wrap&&(a.adler=1&b.wrap),b.mode=K,b.last=0,b.havedict=0,b.dmax=32768,b.head=null,b.hold=0,b.bits=0,b.lencode=b.lendyn=new r.Buf32(oa),b.distcode=b.distdyn=new r.Buf32(pa),b.sane=1,b.back=-1,C):F}function g(a){var b;return a&&a.state?(b=a.state,b.wsize=0,b.whave=0,b.wnext=0,f(a)):F}function h(a,b){var c,d;return a&&a.state?(d=a.state,0>b?(c=0,b=-b):(c=(b>>4)+1,48>b&&(b&=15)),b&&(8>b||b>15)?F:(null!==d.window&&d.wbits!==b&&(d.window=null),d.wrap=c,d.wbits=b,g(a))):F}function i(a,b){var c,d;return a?(d=new e,a.state=d,d.window=null,c=h(a,b),c!==C&&(a.state=null),c):F}function j(a){return i(a,ra)}function k(a){if(sa){var b;for(p=new r.Buf32(512),q=new r.Buf32(32),b=0;144>b;)a.lens[b++]=8;for(;256>b;)a.lens[b++]=9;for(;280>b;)a.lens[b++]=7;for(;288>b;)a.lens[b++]=8;for(v(x,a.lens,0,288,p,0,a.work,{bits:9}),b=0;32>b;)a.lens[b++]=5;v(y,a.lens,0,32,q,0,a.work,{bits:5}),sa=!1}a.lencode=p,a.lenbits=9,a.distcode=q,a.distbits=5}function l(a,b,c,d){var e,f=a.state;return null===f.window&&(f.wsize=1<<f.wbits,f.wnext=0,f.whave=0,f.window=new r.Buf8(f.wsize)),d>=f.wsize?(r.arraySet(f.window,b,c-f.wsize,f.wsize,0),f.wnext=0,f.whave=f.wsize):(e=f.wsize-f.wnext,e>d&&(e=d),r.arraySet(f.window,b,c-d,e,f.wnext),d-=e,d?(r.arraySet(f.window,b,c-d,d,0),f.wnext=d,f.whave=f.wsize):(f.wnext+=e,f.wnext===f.wsize&&(f.wnext=0),f.whave<f.wsize&&(f.whave+=e))),0}function m(a,b){var c,e,f,g,h,i,j,m,n,o,p,q,oa,pa,qa,ra,sa,ta,ua,va,wa,xa,ya,za,Aa=0,Ba=new r.Buf8(4),Ca=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!a||!a.state||!a.output||!a.input&&0!==a.avail_in)return F;c=a.state,c.mode===V&&(c.mode=W),h=a.next_out,f=a.output,j=a.avail_out,g=a.next_in,e=a.input,i=a.avail_in,m=c.hold,n=c.bits,o=i,p=j,xa=C;a:for(;;)switch(c.mode){case K:if(0===c.wrap){c.mode=W;break}for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(2&c.wrap&&35615===m){c.check=0,Ba[0]=255&m,Ba[1]=m>>>8&255,c.check=t(c.check,Ba,2,0),m=0,n=0,c.mode=L;break}if(c.flags=0,c.head&&(c.head.done=!1),!(1&c.wrap)||(((255&m)<<8)+(m>>8))%31){a.msg="incorrect header check",c.mode=la;break}if((15&m)!==J){a.msg="unknown compression method",c.mode=la;break}if(m>>>=4,n-=4,wa=(15&m)+8,0===c.wbits)c.wbits=wa;else if(wa>c.wbits){a.msg="invalid window size",c.mode=la;break}c.dmax=1<<wa,a.adler=c.check=1,c.mode=512&m?T:V,m=0,n=0;break;case L:for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(c.flags=m,(255&c.flags)!==J){a.msg="unknown compression method",c.mode=la;break}if(57344&c.flags){a.msg="unknown header flags set",c.mode=la;break}c.head&&(c.head.text=m>>8&1),512&c.flags&&(Ba[0]=255&m,Ba[1]=m>>>8&255,c.check=t(c.check,Ba,2,0)),m=0,n=0,c.mode=M;case M:for(;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.head&&(c.head.time=m),512&c.flags&&(Ba[0]=255&m,Ba[1]=m>>>8&255,Ba[2]=m>>>16&255,Ba[3]=m>>>24&255,c.check=t(c.check,Ba,4,0)),m=0,n=0,c.mode=N;case N:for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.head&&(c.head.xflags=255&m,c.head.os=m>>8),512&c.flags&&(Ba[0]=255&m,Ba[1]=m>>>8&255,c.check=t(c.check,Ba,2,0)),m=0,n=0,c.mode=O;case O:if(1024&c.flags){for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.length=m,c.head&&(c.head.extra_len=m),512&c.flags&&(Ba[0]=255&m,Ba[1]=m>>>8&255,c.check=t(c.check,Ba,2,0)),m=0,n=0}else c.head&&(c.head.extra=null);c.mode=P;case P:if(1024&c.flags&&(q=c.length,q>i&&(q=i),q&&(c.head&&(wa=c.head.extra_len-c.length,c.head.extra||(c.head.extra=new Array(c.head.extra_len)),r.arraySet(c.head.extra,e,g,q,wa)),512&c.flags&&(c.check=t(c.check,e,q,g)),i-=q,g+=q,c.length-=q),c.length))break a;c.length=0,c.mode=Q;case Q:if(2048&c.flags){if(0===i)break a;q=0;do wa=e[g+q++],c.head&&wa&&c.length<65536&&(c.head.name+=String.fromCharCode(wa));while(wa&&i>q);if(512&c.flags&&(c.check=t(c.check,e,q,g)),i-=q,g+=q,wa)break a}else c.head&&(c.head.name=null);c.length=0,c.mode=R;case R:if(4096&c.flags){if(0===i)break a;q=0;do wa=e[g+q++],c.head&&wa&&c.length<65536&&(c.head.comment+=String.fromCharCode(wa));while(wa&&i>q);if(512&c.flags&&(c.check=t(c.check,e,q,g)),i-=q,g+=q,wa)break a}else c.head&&(c.head.comment=null);c.mode=S;case S:if(512&c.flags){for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m!==(65535&c.check)){a.msg="header crc mismatch",c.mode=la;break}m=0,n=0}c.head&&(c.head.hcrc=c.flags>>9&1,c.head.done=!0),a.adler=c.check=0,c.mode=V;break;case T:for(;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}a.adler=c.check=d(m),m=0,n=0,c.mode=U;case U:if(0===c.havedict)return a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,E;a.adler=c.check=1,c.mode=V;case V:if(b===A||b===B)break a;case W:if(c.last){m>>>=7&n,n-=7&n,c.mode=ia;break}for(;3>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}switch(c.last=1&m,m>>>=1,n-=1,3&m){case 0:c.mode=X;break;case 1:if(k(c),c.mode=ba,b===B){m>>>=2,n-=2;break a}break;case 2:c.mode=$;break;case 3:a.msg="invalid block type",c.mode=la}m>>>=2,n-=2;break;case X:for(m>>>=7&n,n-=7&n;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if((65535&m)!==(m>>>16^65535)){a.msg="invalid stored block lengths",c.mode=la;break}if(c.length=65535&m,m=0,n=0,c.mode=Y,b===B)break a;case Y:c.mode=Z;case Z:if(q=c.length){if(q>i&&(q=i),q>j&&(q=j),0===q)break a;r.arraySet(f,e,g,q,h),i-=q,g+=q,j-=q,h+=q,c.length-=q;break}c.mode=V;break;case $:for(;14>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(c.nlen=(31&m)+257,m>>>=5,n-=5,c.ndist=(31&m)+1,m>>>=5,n-=5,c.ncode=(15&m)+4,m>>>=4,n-=4,c.nlen>286||c.ndist>30){a.msg="too many length or distance symbols",c.mode=la;break}c.have=0,c.mode=_;case _:for(;c.have<c.ncode;){for(;3>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.lens[Ca[c.have++]]=7&m,m>>>=3,n-=3}for(;c.have<19;)c.lens[Ca[c.have++]]=0;if(c.lencode=c.lendyn,c.lenbits=7,ya={bits:c.lenbits},xa=v(w,c.lens,0,19,c.lencode,0,c.work,ya),c.lenbits=ya.bits,xa){a.msg="invalid code lengths set",c.mode=la;break}c.have=0,c.mode=aa;case aa:for(;c.have<c.nlen+c.ndist;){for(;Aa=c.lencode[m&(1<<c.lenbits)-1],qa=Aa>>>24,ra=Aa>>>16&255,sa=65535&Aa,!(n>=qa);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(16>sa)m>>>=qa,n-=qa,c.lens[c.have++]=sa;else{if(16===sa){for(za=qa+2;za>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m>>>=qa,n-=qa,0===c.have){a.msg="invalid bit length repeat",c.mode=la;break}wa=c.lens[c.have-1],q=3+(3&m),m>>>=2,n-=2}else if(17===sa){for(za=qa+3;za>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=qa,n-=qa,wa=0,q=3+(7&m),m>>>=3,n-=3}else{for(za=qa+7;za>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=qa,n-=qa,wa=0,q=11+(127&m),m>>>=7,n-=7}if(c.have+q>c.nlen+c.ndist){a.msg="invalid bit length repeat",c.mode=la;break}for(;q--;)c.lens[c.have++]=wa}}if(c.mode===la)break;if(0===c.lens[256]){a.msg="invalid code -- missing end-of-block",c.mode=la;break}if(c.lenbits=9,ya={bits:c.lenbits},xa=v(x,c.lens,0,c.nlen,c.lencode,0,c.work,ya),c.lenbits=ya.bits,xa){a.msg="invalid literal/lengths set",c.mode=la;break}if(c.distbits=6,c.distcode=c.distdyn,ya={bits:c.distbits},xa=v(y,c.lens,c.nlen,c.ndist,c.distcode,0,c.work,ya),c.distbits=ya.bits,xa){a.msg="invalid distances set",c.mode=la;break}if(c.mode=ba,b===B)break a;case ba:c.mode=ca;case ca:if(i>=6&&j>=258){a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,u(a,p),h=a.next_out,f=a.output,j=a.avail_out,g=a.next_in,e=a.input,i=a.avail_in,m=c.hold,n=c.bits,c.mode===V&&(c.back=-1);break}for(c.back=0;Aa=c.lencode[m&(1<<c.lenbits)-1],qa=Aa>>>24,ra=Aa>>>16&255,sa=65535&Aa,!(n>=qa);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(ra&&0===(240&ra)){for(ta=qa,ua=ra,va=sa;Aa=c.lencode[va+((m&(1<<ta+ua)-1)>>ta)],qa=Aa>>>24,ra=Aa>>>16&255,sa=65535&Aa,!(n>=ta+qa);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=ta,n-=ta,c.back+=ta}if(m>>>=qa,n-=qa,c.back+=qa,c.length=sa,0===ra){c.mode=ha;break}if(32&ra){c.back=-1,c.mode=V;break}if(64&ra){a.msg="invalid literal/length code",c.mode=la;break}c.extra=15&ra,c.mode=da;case da:if(c.extra){for(za=c.extra;za>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.length+=m&(1<<c.extra)-1,m>>>=c.extra,n-=c.extra,c.back+=c.extra}c.was=c.length,c.mode=ea;case ea:for(;Aa=c.distcode[m&(1<<c.distbits)-1],qa=Aa>>>24,ra=Aa>>>16&255,sa=65535&Aa,!(n>=qa);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(0===(240&ra)){for(ta=qa,ua=ra,va=sa;Aa=c.distcode[va+((m&(1<<ta+ua)-1)>>ta)],qa=Aa>>>24,ra=Aa>>>16&255,sa=65535&Aa,!(n>=ta+qa);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=ta,n-=ta,c.back+=ta}if(m>>>=qa,n-=qa,c.back+=qa,64&ra){a.msg="invalid distance code",c.mode=la;break}c.offset=sa,c.extra=15&ra,c.mode=fa;case fa:if(c.extra){for(za=c.extra;za>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.offset+=m&(1<<c.extra)-1,m>>>=c.extra,n-=c.extra,c.back+=c.extra}if(c.offset>c.dmax){a.msg="invalid distance too far back",c.mode=la;break}c.mode=ga;case ga:if(0===j)break a;if(q=p-j,c.offset>q){if(q=c.offset-q,q>c.whave&&c.sane){a.msg="invalid distance too far back",c.mode=la;break}q>c.wnext?(q-=c.wnext,oa=c.wsize-q):oa=c.wnext-q,q>c.length&&(q=c.length),pa=c.window}else pa=f,oa=h-c.offset,q=c.length;q>j&&(q=j),j-=q,c.length-=q;do f[h++]=pa[oa++];while(--q);0===c.length&&(c.mode=ca);break;case ha:if(0===j)break a;f[h++]=c.length,j--,c.mode=ca;break;case ia:if(c.wrap){for(;32>n;){if(0===i)break a;i--,m|=e[g++]<<n,n+=8}if(p-=j,a.total_out+=p,c.total+=p,p&&(a.adler=c.check=c.flags?t(c.check,f,p,h-p):s(c.check,f,p,h-p)),p=j,(c.flags?m:d(m))!==c.check){a.msg="incorrect data check",c.mode=la;break}m=0,n=0}c.mode=ja;case ja:if(c.wrap&&c.flags){for(;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m!==(4294967295&c.total)){a.msg="incorrect length check",c.mode=la;break}m=0,n=0}c.mode=ka;case ka:xa=D;break a;case la:xa=G;break a;case ma:return H;case na:default:return F}return a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,(c.wsize||p!==a.avail_out&&c.mode<la&&(c.mode<ia||b!==z))&&l(a,a.output,a.next_out,p-a.avail_out)?(c.mode=ma,H):(o-=a.avail_in,p-=a.avail_out,a.total_in+=o,a.total_out+=p,c.total+=p,c.wrap&&p&&(a.adler=c.check=c.flags?t(c.check,f,p,a.next_out-p):s(c.check,f,p,a.next_out-p)),a.data_type=c.bits+(c.last?64:0)+(c.mode===V?128:0)+(c.mode===ba||c.mode===Y?256:0),(0===o&&0===p||b===z)&&xa===C&&(xa=I),xa)}function n(a){if(!a||!a.state)return F;var b=a.state;return b.window&&(b.window=null),a.state=null,C}function o(a,b){var c;return a&&a.state?(c=a.state,0===(2&c.wrap)?F:(c.head=b,b.done=!1,C)):F}var p,q,r=c(52),s=c(54),t=c(55),u=c(57),v=c(58),w=0,x=1,y=2,z=4,A=5,B=6,C=0,D=1,E=2,F=-2,G=-3,H=-4,I=-5,J=8,K=1,L=2,M=3,N=4,O=5,P=6,Q=7,R=8,S=9,T=10,U=11,V=12,W=13,X=14,Y=15,Z=16,$=17,_=18,aa=19,ba=20,ca=21,da=22,ea=23,fa=24,ga=25,ha=26,ia=27,ja=28,ka=29,la=30,ma=31,na=32,oa=852,pa=592,qa=15,ra=qa,sa=!0;b.inflateReset=g,b.inflateReset2=h,b.inflateResetKeep=f,b.inflateInit=j,b.inflateInit2=i,b.inflate=m,b.inflateEnd=n,b.inflateGetHeader=o,b.inflateInfo="pako inflate (from Nodeca project)"},function(a,b){"use strict";var c=30,d=12;a.exports=function(a,b){var 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;e=a.state,f=a.next_in,B=a.input,g=f+(a.avail_in-5),h=a.next_out,C=a.output,i=h-(b-a.avail_out),j=h+(a.avail_out-257),k=e.dmax,l=e.wsize,m=e.whave,n=e.wnext,o=e.window,p=e.hold,q=e.bits,r=e.lencode,s=e.distcode,t=(1<<e.lenbits)-1,u=(1<<e.distbits)-1;a:do{15>q&&(p+=B[f++]<<q,q+=8,p+=B[f++]<<q,q+=8),v=r[p&t];b:for(;;){if(w=v>>>24,p>>>=w,q-=w,w=v>>>16&255,0===w)C[h++]=65535&v;else{if(!(16&w)){if(0===(64&w)){v=r[(65535&v)+(p&(1<<w)-1)];continue b}if(32&w){e.mode=d;break a}a.msg="invalid literal/length code",e.mode=c;break a}x=65535&v,w&=15,w&&(w>q&&(p+=B[f++]<<q,q+=8),x+=p&(1<<w)-1,p>>>=w,q-=w),15>q&&(p+=B[f++]<<q,q+=8,p+=B[f++]<<q,q+=8),v=s[p&u];c:for(;;){if(w=v>>>24,p>>>=w,q-=w,w=v>>>16&255,!(16&w)){if(0===(64&w)){v=s[(65535&v)+(p&(1<<w)-1)];continue c}a.msg="invalid distance code",e.mode=c;break a}if(y=65535&v,w&=15,w>q&&(p+=B[f++]<<q,q+=8,w>q&&(p+=B[f++]<<q,q+=8)),y+=p&(1<<w)-1,y>k){a.msg="invalid distance too far back",e.mode=c;break a}if(p>>>=w,q-=w,w=h-i,y>w){if(w=y-w,w>m&&e.sane){a.msg="invalid distance too far back",e.mode=c;break a}if(z=0,A=o,0===n){if(z+=l-w,x>w){x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}}else if(w>n){if(z+=l+n-w,w-=n,x>w){x-=w;do C[h++]=o[z++];while(--w);if(z=0,x>n){w=n,x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}}}else if(z+=n-w,x>w){x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}for(;x>2;)C[h++]=A[z++],C[h++]=A[z++],C[h++]=A[z++],x-=3;x&&(C[h++]=A[z++],x>1&&(C[h++]=A[z++]))}else{z=h-y;do C[h++]=C[z++],C[h++]=C[z++],C[h++]=C[z++],x-=3;while(x>2);x&&(C[h++]=C[z++],x>1&&(C[h++]=C[z++]))}break}}break}}while(g>f&&j>h);x=q>>3,f-=x,q-=x<<3,p&=(1<<q)-1,a.next_in=f,a.next_out=h,a.avail_in=g>f?5+(g-f):5-(f-g),a.avail_out=j>h?257+(j-h):257-(h-j),e.hold=p,e.bits=q}},function(a,b,c){"use strict";var d=c(52),e=15,f=852,g=592,h=0,i=1,j=2,k=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],l=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],m=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],n=[16,16,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,64,64];a.exports=function(a,b,c,o,p,q,r,s){var t,u,v,w,x,y,z,A,B,C=s.bits,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=null,O=0,P=new d.Buf16(e+1),Q=new d.Buf16(e+1),R=null,S=0;for(D=0;e>=D;D++)P[D]=0;for(E=0;o>E;E++)P[b[c+E]]++;for(H=C,G=e;G>=1&&0===P[G];G--);if(H>G&&(H=G),0===G)return p[q++]=20971520,p[q++]=20971520,s.bits=1,0;for(F=1;G>F&&0===P[F];F++);for(F>H&&(H=F),K=1,D=1;e>=D;D++)if(K<<=1,K-=P[D],0>K)return-1;if(K>0&&(a===h||1!==G))return-1;for(Q[1]=0,D=1;e>D;D++)Q[D+1]=Q[D]+P[D];for(E=0;o>E;E++)0!==b[c+E]&&(r[Q[b[c+E]]++]=E);if(a===h?(N=R=r,y=19):a===i?(N=k,O-=257,R=l,S-=257,y=256):(N=m,R=n,y=-1),M=0,E=0,D=F,x=q,I=H,J=0,v=-1,L=1<<H,w=L-1,a===i&&L>f||a===j&&L>g)return 1;for(var T=0;;){T++,z=D-J,r[E]<y?(A=0,B=r[E]):r[E]>y?(A=R[S+r[E]],B=N[O+r[E]]):(A=96,B=0),t=1<<D-J,u=1<<I,F=u;do u-=t,p[x+(M>>J)+u]=z<<24|A<<16|B|0;while(0!==u);for(t=1<<D-1;M&t;)t>>=1;if(0!==t?(M&=t-1,M+=t):M=0,E++,0===--P[D]){if(D===G)break;D=b[c+r[E]]}if(D>H&&(M&w)!==v){for(0===J&&(J=H),x+=F,I=D-J,K=1<<I;G>I+J&&(K-=P[I+J],!(0>=K));)I++,K<<=1;if(L+=1<<I,a===i&&L>f||a===j&&L>g)return 1;v=M&w,p[v]=H<<24|I<<16|x-q|0}}return 0!==M&&(p[x+M]=D-J<<24|64<<16|0),s.bits=H,0}},function(a,b){a.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},function(a,b,c){(function(a,d){function e(a,c){var d={seen:[],stylize:g};return arguments.length>=3&&(d.depth=arguments[2]),arguments.length>=4&&(d.colors=arguments[3]),p(c)?d.showHidden=c:c&&b._extend(d,c),v(d.showHidden)&&(d.showHidden=!1),v(d.depth)&&(d.depth=2),v(d.colors)&&(d.colors=!1),v(d.customInspect)&&(d.customInspect=!0),d.colors&&(d.stylize=f),i(d,a,d.depth)}function f(a,b){var c=e.styles[b];return c?"\e["+e.colors[c][0]+"m"+a+"\e["+e.colors[c][1]+"m":a}function g(a,b){return a}function h(a){var b={};return a.forEach(function(a,c){b[a]=!0}),b}function i(a,c,d){if(a.customInspect&&c&&A(c.inspect)&&c.inspect!==b.inspect&&(!c.constructor||c.constructor.prototype!==c)){var e=c.inspect(d,a);return t(e)||(e=i(a,e,d)),e}var f=j(a,c);if(f)return f;var g=Object.keys(c),p=h(g);if(a.showHidden&&(g=Object.getOwnPropertyNames(c)),z(c)&&(g.indexOf("message")>=0||g.indexOf("description")>=0))return k(c);if(0===g.length){if(A(c)){var q=c.name?": "+c.name:"";return a.stylize("[Function"+q+"]","special")}if(w(c))return a.stylize(RegExp.prototype.toString.call(c),"regexp");if(y(c))return a.stylize(Date.prototype.toString.call(c),"date");if(z(c))return k(c)}var r="",s=!1,u=["{","}"];if(o(c)&&(s=!0,u=["[","]"]),A(c)){var v=c.name?": "+c.name:"";r=" [Function"+v+"]"}if(w(c)&&(r=" "+RegExp.prototype.toString.call(c)),y(c)&&(r=" "+Date.prototype.toUTCString.call(c)),z(c)&&(r=" "+k(c)),0===g.length&&(!s||0==c.length))return u[0]+r+u[1];if(0>d)return w(c)?a.stylize(RegExp.prototype.toString.call(c),"regexp"):a.stylize("[Object]","special");a.seen.push(c);var x;return x=s?l(a,c,d,p,g):g.map(function(b){return m(a,c,d,p,b,s)}),a.seen.pop(),n(x,r,u)}function j(a,b){if(v(b))return a.stylize("undefined","undefined");if(t(b)){var c="'"+JSON.stringify(b).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return a.stylize(c,"string")}return s(b)?a.stylize(""+b,"number"):p(b)?a.stylize(""+b,"boolean"):q(b)?a.stylize("null","null"):void 0}function k(a){return"["+Error.prototype.toString.call(a)+"]"}function l(a,b,c,d,e){for(var f=[],g=0,h=b.length;h>g;++g)F(b,String(g))?f.push(m(a,b,c,d,String(g),!0)):f.push("");return e.forEach(function(e){e.match(/^\d+$/)||f.push(m(a,b,c,d,e,!0))}),f}function m(a,b,c,d,e,f){var g,h,j;if(j=Object.getOwnPropertyDescriptor(b,e)||{value:b[e]},j.get?h=j.set?a.stylize("[Getter/Setter]","special"):a.stylize("[Getter]","special"):j.set&&(h=a.stylize("[Setter]","special")),F(d,e)||(g="["+e+"]"),h||(a.seen.indexOf(j.value)<0?(h=q(c)?i(a,j.value,null):i(a,j.value,c-1),h.indexOf("\n")>-1&&(h=f?h.split("\n").map(function(a){return"  "+a}).join("\n").substr(2):"\n"+h.split("\n").map(function(a){return"   "+a}).join("\n"))):h=a.stylize("[Circular]","special")),v(g)){if(f&&e.match(/^\d+$/))return h;g=JSON.stringify(""+e),g.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(g=g.substr(1,g.length-2),g=a.stylize(g,"name")):(g=g.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),g=a.stylize(g,"string"))}return g+": "+h}function n(a,b,c){var d=0,e=a.reduce(function(a,b){return d++,b.indexOf("\n")>=0&&d++,a+b.replace(/\u001b\[\d\d?m/g,"").length+1},0);return e>60?c[0]+(""===b?"":b+"\n ")+" "+a.join(",\n  ")+" "+c[1]:c[0]+b+" "+a.join(", ")+" "+c[1]}function o(a){return Array.isArray(a)}function p(a){return"boolean"==typeof a}function q(a){return null===a}function r(a){return null==a}function s(a){return"number"==typeof a}function t(a){return"string"==typeof a}function u(a){return"symbol"==typeof a}function v(a){return void 0===a}function w(a){return x(a)&&"[object RegExp]"===C(a)}function x(a){return"object"==typeof a&&null!==a}function y(a){return x(a)&&"[object Date]"===C(a)}function z(a){return x(a)&&("[object Error]"===C(a)||a instanceof Error)}function A(a){return"function"==typeof a}function B(a){return null===a||"boolean"==typeof a||"number"==typeof a||"string"==typeof a||"symbol"==typeof a||"undefined"==typeof a}function C(a){return Object.prototype.toString.call(a)}function D(a){return 10>a?"0"+a.toString(10):a.toString(10)}function E(){var a=new Date,b=[D(a.getHours()),D(a.getMinutes()),D(a.getSeconds())].join(":");return[a.getDate(),J[a.getMonth()],b].join(" ")}function F(a,b){return Object.prototype.hasOwnProperty.call(a,b)}var G=/%[sdj%]/g;b.format=function(a){if(!t(a)){for(var b=[],c=0;c<arguments.length;c++)b.push(e(arguments[c]));return b.join(" ")}for(var c=1,d=arguments,f=d.length,g=String(a).replace(G,function(a){if("%%"===a)return"%";if(c>=f)return a;switch(a){case"%s":return String(d[c++]);case"%d":return Number(d[c++]);case"%j":try{return JSON.stringify(d[c++])}catch(b){return"[Circular]"}default:return a}}),h=d[c];f>c;h=d[++c])g+=q(h)||!x(h)?" "+h:" "+e(h);return g},b.deprecate=function(c,e){function f(){if(!g){if(d.throwDeprecation)throw new Error(e);d.traceDeprecation?console.trace(e):console.error(e),g=!0}return c.apply(this,arguments)}if(v(a.process))return function(){return b.deprecate(c,e).apply(this,arguments)};if(d.noDeprecation===!0)return c;var g=!1;return f};var H,I={};b.debuglog=function(a){if(v(H)&&(H=d.env.NODE_DEBUG||""),a=a.toUpperCase(),!I[a])if(new RegExp("\\b"+a+"\\b","i").test(H)){var c=d.pid;I[a]=function(){var d=b.format.apply(b,arguments);console.error("%s %d: %s",a,c,d)}}else I[a]=function(){};return I[a]},b.inspect=e,e.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},e.styles={special:"cyan",number:"yellow","boolean":"yellow",undefined:"grey","null":"bold",string:"green",date:"magenta",regexp:"red"},b.isArray=o,b.isBoolean=p,b.isNull=q,b.isNullOrUndefined=r,b.isNumber=s,b.isString=t,b.isSymbol=u,b.isUndefined=v,b.isRegExp=w,b.isObject=x,b.isDate=y,b.isError=z,b.isFunction=A,b.isPrimitive=B,b.isBuffer=c(61);var J=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];b.log=function(){console.log("%s - %s",E(),b.format.apply(b,arguments))},b.inherits=c(62),b._extend=function(a,b){if(!b||!x(b))return a;for(var c=Object.keys(b),d=c.length;d--;)a[c[d]]=b[c[d]];return a}}).call(b,function(){return this}(),c(30))},function(a,b){a.exports=function(a){return a&&"object"==typeof a&&"function"==typeof a.copy&&"function"==typeof a.fill&&"function"==typeof a.readUInt8}},function(a,b){"function"==typeof Object.create?a.exports=function(a,b){a.super_=b,a.prototype=Object.create(b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}})}:a.exports=function(a,b){a.super_=b;var c=function(){};c.prototype=b.prototype,a.prototype=new c,a.prototype.constructor=a}},function(a,b,c){function d(a,b){return n.isUndefined(b)?""+b:n.isNumber(b)&&!isFinite(b)?b.toString():n.isFunction(b)||n.isRegExp(b)?b.toString():b}function e(a,b){return n.isString(a)?a.length<b?a:a.slice(0,b):a}function f(a){return e(JSON.stringify(a.actual,d),128)+" "+a.operator+" "+e(JSON.stringify(a.expected,d),128)}function g(a,b,c,d,e){throw new q.AssertionError({message:c,actual:a,expected:b,operator:d,stackStartFunction:e})}function h(a,b){a||g(a,!0,b,"==",q.ok)}function i(a,b){if(a===b)return!0;if(n.isBuffer(a)&&n.isBuffer(b)){if(a.length!=b.length)return!1;for(var c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}return n.isDate(a)&&n.isDate(b)?a.getTime()===b.getTime():n.isRegExp(a)&&n.isRegExp(b)?a.source===b.source&&a.global===b.global&&a.multiline===b.multiline&&a.lastIndex===b.lastIndex&&a.ignoreCase===b.ignoreCase:n.isObject(a)||n.isObject(b)?k(a,b):a==b}function j(a){return"[object Arguments]"==Object.prototype.toString.call(a)}function k(a,b){if(n.isNullOrUndefined(a)||n.isNullOrUndefined(b))return!1;if(a.prototype!==b.prototype)return!1;if(n.isPrimitive(a)||n.isPrimitive(b))return a===b;var c=j(a),d=j(b);if(c&&!d||!c&&d)return!1;if(c)return a=o.call(a),b=o.call(b),i(a,b);var e,f,g=r(a),h=r(b);if(g.length!=h.length)return!1;for(g.sort(),h.sort(),f=g.length-1;f>=0;f--)if(g[f]!=h[f])return!1;for(f=g.length-1;f>=0;f--)if(e=g[f],!i(a[e],b[e]))return!1;return!0}function l(a,b){return a&&b?"[object RegExp]"==Object.prototype.toString.call(b)?b.test(a):a instanceof b?!0:b.call({},a)===!0?!0:!1:!1}function m(a,b,c,d){var e;n.isString(c)&&(d=c,c=null);try{b()}catch(f){e=f}if(d=(c&&c.name?" ("+c.name+").":".")+(d?" "+d:"."),a&&!e&&g(e,c,"Missing expected exception"+d),!a&&l(e,c)&&g(e,c,"Got unwanted exception"+d),a&&e&&c&&!l(e,c)||!a&&e)throw e}var n=c(60),o=Array.prototype.slice,p=Object.prototype.hasOwnProperty,q=a.exports=h;q.AssertionError=function(a){this.name="AssertionError",this.actual=a.actual,this.expected=a.expected,this.operator=a.operator,a.message?(this.message=a.message,this.generatedMessage=!1):(this.message=f(this),this.generatedMessage=!0);var b=a.stackStartFunction||g;if(Error.captureStackTrace)Error.captureStackTrace(this,b);else{var c=new Error;if(c.stack){var d=c.stack,e=b.name,h=d.indexOf("\n"+e);if(h>=0){var i=d.indexOf("\n",h+1);d=d.substring(i+1)}this.stack=d}}},n.inherits(q.AssertionError,Error),q.fail=g,q.ok=h,q.equal=function(a,b,c){a!=b&&g(a,b,c,"==",q.equal)},q.notEqual=function(a,b,c){a==b&&g(a,b,c,"!=",q.notEqual)},q.deepEqual=function(a,b,c){i(a,b)||g(a,b,c,"deepEqual",q.deepEqual)},q.notDeepEqual=function(a,b,c){i(a,b)&&g(a,b,c,"notDeepEqual",q.notDeepEqual)},q.strictEqual=function(a,b,c){a!==b&&g(a,b,c,"===",q.strictEqual)},q.notStrictEqual=function(a,b,c){a===b&&g(a,b,c,"!==",q.notStrictEqual)},q["throws"]=function(a,b,c){m.apply(this,[!0].concat(o.call(arguments)))},q.doesNotThrow=function(a,b){m.apply(this,[!1].concat(o.call(arguments)))},q.ifError=function(a){if(a)throw a};var r=Object.keys||function(a){var b=[];for(var c in a)p.call(a,c)&&b.push(c);return b}},function(a,b){(function(){var b;b=function(){function a(a,d){var e;this.document=a,null==d&&(d={}),this.size=d.size||"letter",this.layout=d.layout||"portrait","number"==typeof d.margin?this.margins={top:d.margin,left:d.margin,bottom:d.margin,right:d.margin}:this.margins=d.margins||b,e=Array.isArray(this.size)?this.size:c[this.size.toUpperCase()],this.width=e["portrait"===this.layout?0:1],this.height=e["portrait"===this.layout?1:0],this.content=this.document.ref(),this.resources=this.document.ref({ProcSet:["PDF","Text","ImageB","ImageC","ImageI"]}),Object.defineProperties(this,{fonts:{get:function(a){return function(){var b;return null!=(b=a.resources.data).Font?b.Font:b.Font={}}}(this)},xobjects:{get:function(a){return function(){var b;return null!=(b=a.resources.data).XObject?b.XObject:b.XObject={}}}(this)},ext_gstates:{get:function(a){return function(){var b;return null!=(b=a.resources.data).ExtGState?b.ExtGState:b.ExtGState={}}}(this)},patterns:{get:function(a){return function(){var b;return null!=(b=a.resources.data).Pattern?b.Pattern:b.Pattern={}}}(this)},annotations:{get:function(a){return function(){var b;return null!=(b=a.dictionary.data).Annots?b.Annots:b.Annots=[]}}(this)}}),this.dictionary=this.document.ref({Type:"Page",Parent:this.document._root.data.Pages,MediaBox:[0,0,this.width,this.height],Contents:this.content,Resources:this.resources})}var b,c;return a.prototype.maxY=function(){return this.height-this.margins.bottom},a.prototype.write=function(a){return this.content.write(a)},a.prototype.end=function(){return this.dictionary.end(),this.resources.end(),this.content.end()},b={top:72,left:72,bottom:72,right:72},c={"4A0":[4767.87,6740.79],"2A0":[3370.39,4767.87],A0:[2383.94,3370.39],A1:[1683.78,2383.94],A2:[1190.55,1683.78],A3:[841.89,1190.55],A4:[595.28,841.89],A5:[419.53,595.28],A6:[297.64,419.53],A7:[209.76,297.64],A8:[147.4,209.76],A9:[104.88,147.4],A10:[73.7,104.88],B0:[2834.65,4008.19],B1:[2004.09,2834.65],B2:[1417.32,2004.09],B3:[1000.63,1417.32],B4:[708.66,1000.63],B5:[498.9,708.66],B6:[354.33,498.9],B7:[249.45,354.33],B8:[175.75,249.45],B9:[124.72,175.75],B10:[87.87,124.72],C0:[2599.37,3676.54],C1:[1836.85,2599.37],C2:[1298.27,1836.85],C3:[918.43,1298.27],C4:[649.13,918.43],C5:[459.21,649.13],C6:[323.15,459.21],C7:[229.61,323.15],C8:[161.57,229.61],C9:[113.39,161.57],C10:[79.37,113.39],RA0:[2437.8,3458.27],RA1:[1729.13,2437.8],RA2:[1218.9,1729.13],RA3:[864.57,1218.9],RA4:[609.45,864.57],SRA0:[2551.18,3628.35],SRA1:[1814.17,2551.18],SRA2:[1275.59,1814.17],SRA3:[907.09,1275.59],SRA4:[637.8,907.09],EXECUTIVE:[521.86,756],FOLIO:[612,936],LEGAL:[612,1008],LETTER:[612,792],TABLOID:[792,1224]},a}(),a.exports=b}).call(this)},function(a,b,c){(function(){var b,d,e,f,g;g=c(66),b=g.PDFGradient,d=g.PDFLinearGradient,e=g.PDFRadialGradient,a.exports={initColor:function(){return this._opacityRegistry={},this._opacityCount=0,this._gradCount=0},_normalizeColor:function(a){var c,d;return a instanceof b?a:("string"==typeof a&&("#"===a.charAt(0)?(4===a.length&&(a=a.replace(/#([0-9A-F])([0-9A-F])([0-9A-F])/i,"#$1$1$2$2$3$3")),c=parseInt(a.slice(1),16),a=[c>>16,c>>8&255,255&c]):f[a]&&(a=f[a])),Array.isArray(a)?(3===a.length?a=function(){var b,c,e;for(e=[],b=0,c=a.length;c>b;b++)d=a[b],e.push(d/255);return e}():4===a.length&&(a=function(){var b,c,e;for(e=[],b=0,c=a.length;c>b;b++)d=a[b],e.push(d/100);return e}()),a):null)},_setColor:function(a,c){var d,e,f,g;return(a=this._normalizeColor(a))?(this._sMasked&&(d=this.ref({Type:"ExtGState",SMask:"None"}),d.end(),e="Gs"+ ++this._opacityCount,this.page.ext_gstates[e]=d,this.addContent("/"+e+" gs"),this._sMasked=!1),f=c?"SCN":"scn",a instanceof b?(this._setColorSpace("Pattern",c),a.apply(f)):(g=4===a.length?"DeviceCMYK":"DeviceRGB",this._setColorSpace(g,c),a=a.join(" "),this.addContent(""+a+" "+f)),!0):!1},_setColorSpace:function(a,b){var c;return c=b?"CS":"cs",this.addContent("/"+a+" "+c)},fillColor:function(a,b){var c;return null==b&&(b=1),c=this._setColor(a,!1),c&&this.fillOpacity(b),this._fillColor=[a,b],this},strokeColor:function(a,b){var c;return null==b&&(b=1),c=this._setColor(a,!0),c&&this.strokeOpacity(b),this},opacity:function(a){return this._doOpacity(a,a),this},fillOpacity:function(a){return this._doOpacity(a,null),this},strokeOpacity:function(a){return this._doOpacity(null,a),this},_doOpacity:function(a,b){var c,d,e,f,g;if(null!=a||null!=b)return null!=a&&(a=Math.max(0,Math.min(1,a))),null!=b&&(b=Math.max(0,Math.min(1,b))),e=""+a+"_"+b,this._opacityRegistry[e]?(g=this._opacityRegistry[e],c=g[0],f=g[1]):(c={Type:"ExtGState"},null!=a&&(c.ca=a),null!=b&&(c.CA=b),c=this.ref(c),c.end(),d=++this._opacityCount,f="Gs"+d,this._opacityRegistry[e]=[c,f]),this.page.ext_gstates[f]=c,this.addContent("/"+f+" gs")},linearGradient:function(a,b,c,e){return new d(this,a,b,c,e)},radialGradient:function(a,b,c,d,f,g){return new e(this,a,b,c,d,f,g)}},f={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],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],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],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]}}).call(this)},function(a,b){(function(){var b,c,d,e={}.hasOwnProperty,f=function(a,b){function c(){this.constructor=a}for(var d in b)e.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a};b=function(){function a(a){this.doc=a,this.stops=[],this.embedded=!1,this.transform=[1,0,0,1,0,0],this._colorSpace="DeviceRGB"}return a.prototype.stop=function(a,b,c){return null==c&&(c=1),c=Math.max(0,Math.min(1,c)),this.stops.push([a,this.doc._normalizeColor(b),c]),this},a.prototype.embed=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;if(!this.embedded&&0!==this.stops.length){for(this.embedded=!0,k=this.stops[this.stops.length-1],k[0]<1&&this.stops.push([1,k[1],k[2]]),a=[],d=[],C=[],j=E=0,H=this.stops.length-1;H>=0?H>E:E>H;j=H>=0?++E:--E)d.push(0,1),j+2!==this.stops.length&&a.push(this.stops[j+1][0]),e=this.doc.ref({FunctionType:2,Domain:[0,1],C0:this.stops[j+0][1],C1:this.stops[j+1][1],N:1}),C.push(e),e.end();if(1===C.length?e=C[0]:(e=this.doc.ref({FunctionType:3,Domain:[0,1],Functions:C,Bounds:a,Encode:d}),e.end()),this.id="Sh"+ ++this.doc._gradCount,l=this.doc._ctm.slice(),m=l[0],n=l[1],q=l[2],t=l[3],u=l[4],v=l[5],I=this.transform,o=I[0],p=I[1],r=I[2],s=I[3],b=I[4],c=I[5],l[0]=m*o+q*p,l[1]=n*o+t*p,l[2]=m*r+q*s,l[3]=n*r+t*s,l[4]=m*b+q*c+u,l[5]=n*b+t*c+v,A=this.shader(e),A.end(),x=this.doc.ref({Type:"Pattern",PatternType:2,Shading:A,Matrix:function(){var a,b,c;for(c=[],a=0,b=l.length;b>a;a++)D=l[a],c.push(+D.toFixed(5));return c}()}),this.doc.page.patterns[this.id]=x,x.end(),this.stops.some(function(a){return a[2]<1})){for(g=this.opacityGradient(),g._colorSpace="DeviceGray",J=this.stops,F=0,G=J.length;G>F;F++)B=J[F],g.stop(B[0],[B[2]]);g=g.embed(),h=this.doc.ref({Type:"Group",S:"Transparency",CS:"DeviceGray"}),h.end(),y=this.doc.ref({ProcSet:["PDF","Text","ImageB","ImageC","ImageI"],Shading:{Sh1:g.data.Shading}}),y.end(),f=this.doc.ref({Type:"XObject",Subtype:"Form",FormType:1,BBox:[0,0,this.doc.page.width,this.doc.page.height],Group:h,Resources:y}),f.end("/Sh1 sh"),z=this.doc.ref({Type:"Mask",S:"Luminosity",G:f}),z.end(),i=this.doc.ref({Type:"ExtGState",SMask:z}),this.opacity_id=++this.doc._opacityCount,w="Gs"+this.opacity_id,this.doc.page.ext_gstates[w]=i,i.end()}return x}},a.prototype.apply=function(a){return this.embedded||this.embed(),this.doc.addContent("/"+this.id+" "+a),this.opacity_id?(this.doc.addContent("/Gs"+this.opacity_id+" gs"),this.doc._sMasked=!0):void 0},a}(),c=function(a){function b(a,c,d,e,f){this.doc=a,this.x1=c,this.y1=d,this.x2=e,this.y2=f,b.__super__.constructor.apply(this,arguments)}return f(b,a),b.prototype.shader=function(a){return this.doc.ref({ShadingType:2,ColorSpace:this._colorSpace,Coords:[this.x1,this.y1,this.x2,this.y2],Function:a,Extend:[!0,!0]})},b.prototype.opacityGradient=function(){return new b(this.doc,this.x1,this.y1,this.x2,this.y2)},b}(b),d=function(a){function b(a,c,d,e,f,g,h){this.doc=a,this.x1=c,this.y1=d,this.r1=e,this.x2=f,this.y2=g,this.r2=h,b.__super__.constructor.apply(this,arguments)}return f(b,a),b.prototype.shader=function(a){return this.doc.ref({ShadingType:3,ColorSpace:this._colorSpace,Coords:[this.x1,this.y1,this.r1,this.x2,this.y2,this.r2],Function:a,Extend:[!0,!0]})},b.prototype.opacityGradient=function(){return new b(this.doc,this.x1,this.y1,this.r1,this.x2,this.y2,this.r2)},b}(b),a.exports={PDFGradient:b,PDFLinearGradient:c,PDFRadialGradient:d}}).call(this)},function(a,b,c){(function(){var b,d,e=[].slice;d=c(68),b=4*((Math.sqrt(2)-1)/3),a.exports={initVector:function(){return this._ctm=[1,0,0,1,0,0],this._ctmStack=[]},save:function(){return this._ctmStack.push(this._ctm.slice()),this.addContent("q")},restore:function(){return this._ctm=this._ctmStack.pop()||[1,0,0,1,0,0],this.addContent("Q")},closePath:function(){return this.addContent("h")},lineWidth:function(a){return this.addContent(""+a+" w")},_CAP_STYLES:{BUTT:0,ROUND:1,SQUARE:2},lineCap:function(a){return"string"==typeof a&&(a=this._CAP_STYLES[a.toUpperCase()]),this.addContent(""+a+" J")},_JOIN_STYLES:{MITER:0,ROUND:1,BEVEL:2},lineJoin:function(a){return"string"==typeof a&&(a=this._JOIN_STYLES[a.toUpperCase()]),this.addContent(""+a+" j")},miterLimit:function(a){return this.addContent(""+a+" M")},dash:function(a,b){var c,d,e;return null==b&&(b={}),null==a?this:(d=null!=(e=b.space)?e:a,c=b.phase||0,this.addContent("["+a+" "+d+"] "+c+" d"))},undash:function(){return this.addContent("[] 0 d")},moveTo:function(a,b){return this.addContent(""+a+" "+b+" m")},lineTo:function(a,b){return this.addContent(""+a+" "+b+" l")},bezierCurveTo:function(a,b,c,d,e,f){return this.addContent(""+a+" "+b+" "+c+" "+d+" "+e+" "+f+" c")},quadraticCurveTo:function(a,b,c,d){return this.addContent(""+a+" "+b+" "+c+" "+d+" v")},rect:function(a,b,c,d){return this.addContent(""+a+" "+b+" "+c+" "+d+" re")},roundedRect:function(a,b,c,d,e){return null==e&&(e=0),this.moveTo(a+e,b),this.lineTo(a+c-e,b),this.quadraticCurveTo(a+c,b,a+c,b+e),this.lineTo(a+c,b+d-e),this.quadraticCurveTo(a+c,b+d,a+c-e,b+d),this.lineTo(a+e,b+d),this.quadraticCurveTo(a,b+d,a,b+d-e),this.lineTo(a,b+e),this.quadraticCurveTo(a,b,a+e,b)},ellipse:function(a,c,d,e){var f,g,h,i,j,k;return null==e&&(e=d),a-=d,c-=e,f=d*b,g=e*b,h=a+2*d,j=c+2*e,i=a+d,k=c+e,this.moveTo(a,k),this.bezierCurveTo(a,k-g,i-f,c,i,c),this.bezierCurveTo(i+f,c,h,k-g,h,k),this.bezierCurveTo(h,k+g,i+f,j,i,j),this.bezierCurveTo(i-f,j,a,k+g,a,k),this.closePath()},circle:function(a,b,c){return this.ellipse(a,b,c)},polygon:function(){var a,b,c,d;for(b=1<=arguments.length?e.call(arguments,0):[],this.moveTo.apply(this,b.shift()),c=0,d=b.length;d>c;c++)a=b[c],this.lineTo.apply(this,a);return this.closePath()},path:function(a){return d.apply(this,a),this},_windingRule:function(a){return/even-?odd/.test(a)?"*":""},fill:function(a,b){return/(even-?odd)|(non-?zero)/.test(a)&&(b=a,a=null),a&&this.fillColor(a),this.addContent("f"+this._windingRule(b))},stroke:function(a){return a&&this.strokeColor(a),this.addContent("S")},fillAndStroke:function(a,b,c){var d;return null==b&&(b=a),d=/(even-?odd)|(non-?zero)/,d.test(a)&&(c=a,a=null),d.test(b)&&(c=b,b=a),a&&(this.fillColor(a),this.strokeColor(b)),this.addContent("B"+this._windingRule(c))},clip:function(a){return this.addContent("W"+this._windingRule(a)+" n")},transform:function(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o;return g=this._ctm,h=g[0],i=g[1],j=g[2],k=g[3],l=g[4],m=g[5],g[0]=h*a+j*b,g[1]=i*a+k*b,g[2]=h*c+j*d,g[3]=i*c+k*d,g[4]=h*e+j*f+l,g[5]=i*e+k*f+m,o=function(){var g,h,i,j;for(i=[a,b,c,d,e,f],j=[],g=0,h=i.length;h>g;g++)n=i[g],j.push(+n.toFixed(5));return j}().join(" "),this.addContent(""+o+" cm")},translate:function(a,b){return this.transform(1,0,0,1,a,b)},rotate:function(a,b){var c,d,e,f,g,h,i,j;return null==b&&(b={}),d=a*Math.PI/180,c=Math.cos(d),e=Math.sin(d),f=h=0,null!=b.origin&&(j=b.origin,f=j[0],h=j[1],g=f*c-h*e,i=f*e+h*c,f-=g,h-=i),this.transform(c,e,-e,c,f,h)},scale:function(a,b,c){var d,e,f;return null==b&&(b=a),null==c&&(c={}),2===arguments.length&&(b=a,c=b),d=e=0,null!=c.origin&&(f=c.origin,d=f[0],e=f[1],d-=a*d,e-=b*e),this.transform(a,0,0,b,d,e)}}}).call(this)},function(a,b){(function(){var b;b=function(){function a(){}var b,c,d,e,f,g,h,i,j,k,l,m,n;return a.apply=function(a,c){var d;return d=g(c),b(d,a)},f={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0},g=function(a){var b,c,d,e,g,h,i,j,k;for(i=[],b=[],e="",g=!1,h=0,j=0,k=a.length;k>j;j++)if(c=a[j],null!=f[c])h=f[c],d&&(e.length>0&&(b[b.length]=+e),i[i.length]={cmd:d,args:b},b=[],e="",g=!1),d=c;else if(" "===c||","===c||"-"===c&&e.length>0&&"e"!==e[e.length-1]||"."===c&&g){if(0===e.length)continue;b.length===h?(i[i.length]={cmd:d,args:b},b=[+e],"M"===d&&(d="L"),"m"===d&&(d="l")):b[b.length]=+e,g="."===c,e="-"===c||"."===c?c:""}else e+=c,"."===c&&(g=!0);return e.length>0&&(b.length===h?(i[i.length]={cmd:d,args:b},b=[+e],"M"===d&&(d="L"),"m"===d&&(d="l")):b[b.length]=+e),i[i.length]={cmd:d,args:b},i},d=e=h=i=m=n=0,b=function(a,b){var c,f,g,k,l;for(d=e=h=i=m=n=0,f=g=0,k=a.length;k>g;f=++g)c=a[f],"function"==typeof j[l=c.cmd]&&j[l](b,c.args);return d=e=h=i=0},j={M:function(a,b){return d=b[0],e=b[1],h=i=null,m=d,n=e,a.moveTo(d,e)},m:function(a,b){return d+=b[0],e+=b[1],h=i=null,m=d,n=e,a.moveTo(d,e)},C:function(a,b){return d=b[4],e=b[5],h=b[2],i=b[3],a.bezierCurveTo.apply(a,b)},c:function(a,b){return a.bezierCurveTo(b[0]+d,b[1]+e,b[2]+d,b[3]+e,b[4]+d,b[5]+e),h=d+b[2],i=e+b[3],d+=b[4],e+=b[5]},S:function(a,b){return null===h&&(h=d,i=e),a.bezierCurveTo(d-(h-d),e-(i-e),b[0],b[1],b[2],b[3]),h=b[0],i=b[1],d=b[2],e=b[3]},s:function(a,b){return null===h&&(h=d,i=e),a.bezierCurveTo(d-(h-d),e-(i-e),d+b[0],e+b[1],d+b[2],e+b[3]),h=d+b[0],i=e+b[1],d+=b[2],e+=b[3]},Q:function(a,b){return h=b[0],i=b[1],d=b[2],e=b[3],a.quadraticCurveTo(b[0],b[1],d,e)},q:function(a,b){return a.quadraticCurveTo(b[0]+d,b[1]+e,b[2]+d,b[3]+e),h=d+b[0],i=e+b[1],d+=b[2],e+=b[3]},T:function(a,b){return null===h?(h=d,i=e):(h=d-(h-d),i=e-(i-e)),a.quadraticCurveTo(h,i,b[0],b[1]),h=d-(h-d),i=e-(i-e),d=b[0],e=b[1]},t:function(a,b){return null===h?(h=d,i=e):(h=d-(h-d),i=e-(i-e)),a.quadraticCurveTo(h,i,d+b[0],e+b[1]),d+=b[0],e+=b[1]},A:function(a,b){return l(a,d,e,b),d=b[5],e=b[6]},a:function(a,b){return b[5]+=d,b[6]+=e,l(a,d,e,b),d=b[5],e=b[6]},L:function(a,b){return d=b[0],e=b[1],h=i=null,a.lineTo(d,e)},l:function(a,b){return d+=b[0],e+=b[1],h=i=null,a.lineTo(d,e)},H:function(a,b){return d=b[0],h=i=null,a.lineTo(d,e)},h:function(a,b){return d+=b[0],h=i=null,a.lineTo(d,e)},V:function(a,b){return e=b[0],h=i=null,a.lineTo(d,e)},v:function(a,b){return e+=b[0],h=i=null,a.lineTo(d,e)},Z:function(a){return a.closePath(),d=m,e=n},z:function(a){return a.closePath(),d=m,e=n}},l=function(a,b,d,e){var f,g,h,i,j,l,m,n,o,p,q,r,s;for(l=e[0],m=e[1],j=e[2],i=e[3],p=e[4],g=e[5],h=e[6],o=c(g,h,l,m,i,p,j,b,d),s=[],q=0,r=o.length;r>q;q++)n=o[q],f=k.apply(null,n),s.push(a.bezierCurveTo.apply(a,f));return s},c=function(a,b,c,d,e,f,g,j,k){var 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;for(y=g*(Math.PI/180),x=Math.sin(y),p=Math.cos(y),c=Math.abs(c),d=Math.abs(d),h=p*(j-a)*.5+x*(k-b)*.5,i=p*(k-b)*.5-x*(j-a)*.5,s=h*h/(c*c)+i*i/(d*d),s>1&&(s=Math.sqrt(s),c*=s,d*=s),l=p/c,m=x/c,n=-x/d,o=p/d,E=l*j+m*k,H=n*j+o*k,F=l*a+m*b,I=n*a+o*b,q=(F-E)*(F-E)+(I-H)*(I-H),w=1/q-.25,0>w&&(w=0),v=Math.sqrt(w),f===e&&(v=-v),G=.5*(E+F)-v*(I-H),J=.5*(H+I)+v*(F-E),z=Math.atan2(H-J,E-G),A=Math.atan2(I-J,F-G),D=A-z,0>D&&1===f?D+=2*Math.PI:D>0&&0===f&&(D-=2*Math.PI),u=Math.ceil(Math.abs(D/(.5*Math.PI+.001))),t=[],r=K=0;u>=0?u>K:K>u;r=u>=0?++K:--K)B=z+r*D/u,C=z+(r+1)*D/u,t[r]=[G,J,B,C,c,d,x,p];return t},k=function(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,p,q,r,s,t;return i=h*e,j=-g*f,k=g*e,l=h*f,n=.5*(d-c),m=8/3*Math.sin(.5*n)*Math.sin(.5*n)/Math.sin(n),o=a+Math.cos(c)-m*Math.sin(c),r=b+Math.sin(c)+m*Math.cos(c),q=a+Math.cos(d),t=b+Math.sin(d),p=q+m*Math.sin(d),s=t-m*Math.cos(d),[i*o+j*r,k*o+l*r,i*p+j*s,k*p+l*s,i*q+j*t,k*q+l*t]},a}(),a.exports=b}).call(this)},function(a,b,c){(function(){var b;b=c(70),a.exports={initFonts:function(){this._fontFamilies={},this._fontCount=0,this._fontSize=12,this._font=null,this._registeredFonts={}},font:function(a,c,d){var e,f,g,h;return"number"==typeof c&&(d=c,c=null),"string"==typeof a&&this._registeredFonts[a]?(e=a,h=this._registeredFonts[a],a=h.src,c=h.family):(e=c||a,"string"!=typeof e&&(e=null)),null!=d&&this.fontSize(d),(f=this._fontFamilies[e])?(this._font=f,this):(g="F"+ ++this._fontCount,this._font=new b(this,a,c,g),(f=this._fontFamilies[this._font.name])?(this._font=f,this):(e&&(this._fontFamilies[e]=this._font),this._fontFamilies[this._font.name]=this._font,this))},fontSize:function(a){return this._fontSize=a,this},currentLineHeight:function(a){return null==a&&(a=!1),this._font.lineHeight(this._fontSize,a)},registerFont:function(a,b,c){return this._registeredFonts[a]={src:b,family:c},this}}}).call(this)},function(a,b,c){(function(b,d){(function(){var e,f,g,h,i;h=c(71),e=c(87),g=c(88),i=c(44),f=function(){function a(a,d,f,i){if(this.document=a,this.id=i,"string"==typeof d){if(d in c)return this.isAFM=!0,this.font=new e(c[d]()),void this.registerAFM(d);if(/\.(ttf|ttc)$/i.test(d))this.font=h.open(d,f);else{if(!/\.dfont$/i.test(d))throw new Error("Not a supported font format or standard PDF font.");this.font=h.fromDFont(d,f)}}else if(b.isBuffer(d))this.font=h.fromBuffer(d,f);else if(d instanceof Uint8Array)this.font=h.fromBuffer(new b(d),f);else{if(!(d instanceof ArrayBuffer))throw new Error("Not a supported font format or standard PDF font.");this.font=h.fromBuffer(new b(new Uint8Array(d)),f)}this.subset=new g(this.font),this.registerTTF()}var c,f;return c={Courier:function(){return i.readFileSync(d+"/font/data/Courier.afm","utf8")},"Courier-Bold":function(){return i.readFileSync(d+"/font/data/Courier-Bold.afm","utf8")},"Courier-Oblique":function(){return i.readFileSync(d+"/font/data/Courier-Oblique.afm","utf8")},"Courier-BoldOblique":function(){return i.readFileSync(d+"/font/data/Courier-BoldOblique.afm","utf8")},Helvetica:function(){return i.readFileSync(d+"/font/data/Helvetica.afm","utf8")},"Helvetica-Bold":function(){return i.readFileSync(d+"/font/data/Helvetica-Bold.afm","utf8")},"Helvetica-Oblique":function(){return i.readFileSync(d+"/font/data/Helvetica-Oblique.afm","utf8")},"Helvetica-BoldOblique":function(){return i.readFileSync(d+"/font/data/Helvetica-BoldOblique.afm","utf8")},"Times-Roman":function(){return i.readFileSync(d+"/font/data/Times-Roman.afm","utf8")},"Times-Bold":function(){return i.readFileSync(d+"/font/data/Times-Bold.afm","utf8")},"Times-Italic":function(){return i.readFileSync(d+"/font/data/Times-Italic.afm","utf8")},"Times-BoldItalic":function(){return i.readFileSync(d+"/font/data/Times-BoldItalic.afm","utf8")},Symbol:function(){return i.readFileSync(d+"/font/data/Symbol.afm","utf8")},ZapfDingbats:function(){return i.readFileSync(d+"/font/data/ZapfDingbats.afm","utf8")}},a.prototype.use=function(a){var b;return null!=(b=this.subset)?b.use(a):void 0},a.prototype.embed=function(){return this.embedded||null==this.dictionary?void 0:(this.isAFM?this.embedAFM():this.embedTTF(),this.embedded=!0)},a.prototype.encode=function(a){var b;return this.isAFM?this.font.encodeText(a):(null!=(b=this.subset)?b.encodeText(a):void 0)||a},a.prototype.ref=function(){return null!=this.dictionary?this.dictionary:this.dictionary=this.document.ref()},a.prototype.registerTTF=function(){var a,b,c,d,e;if(this.name=this.font.name.postscriptName,this.scaleFactor=1e3/this.font.head.unitsPerEm,this.bbox=function(){var b,c,d,e;for(d=this.font.bbox,e=[],b=0,c=d.length;c>b;b++)a=d[b],e.push(Math.round(a*this.scaleFactor));return e}.call(this),this.stemV=0,this.font.post.exists?(d=this.font.post.italic_angle,b=d>>16,c=255&d,b&!0&&(b=-((65535^b)+1)),this.italicAngle=+(""+b+"."+c)):this.italicAngle=0,this.ascender=Math.round(this.font.ascender*this.scaleFactor),this.decender=Math.round(this.font.decender*this.scaleFactor),this.lineGap=Math.round(this.font.lineGap*this.scaleFactor),this.capHeight=this.font.os2.exists&&this.font.os2.capHeight||this.ascender,this.xHeight=this.font.os2.exists&&this.font.os2.xHeight||0,this.familyClass=(this.font.os2.exists&&this.font.os2.familyClass||0)>>8,this.isSerif=1===(e=this.familyClass)||2===e||3===e||4===e||5===e||7===e,this.isScript=10===this.familyClass,this.flags=0,this.font.post.isFixedPitch&&(this.flags|=1),this.isSerif&&(this.flags|=2),this.isScript&&(this.flags|=8),0!==this.italicAngle&&(this.flags|=64),this.flags|=32,!this.font.cmap.unicode)throw new Error("No unicode cmap for font")},a.prototype.embedTTF=function(){var a,b,c,d,e,g,h,i;return d=this.subset.encode(),h=this.document.ref(),h.write(d),h.data.Length1=h.uncompressedLength,h.end(),e=this.document.ref({Type:"FontDescriptor",FontName:this.subset.postscriptName,FontFile2:h,FontBBox:this.bbox,Flags:this.flags,StemV:this.stemV,ItalicAngle:this.italicAngle,Ascent:this.ascender,Descent:this.decender,CapHeight:this.capHeight,XHeight:this.xHeight}),e.end(),g=+Object.keys(this.subset.cmap)[0],a=function(){var a,b;a=this.subset.cmap,b=[];for(c in a)i=a[c],b.push(Math.round(this.font.widthOfGlyph(i)));return b}.call(this),b=this.document.ref(),b.end(f(this.subset.subset)),this.dictionary.data={Type:"Font",BaseFont:this.subset.postscriptName,Subtype:"TrueType",FontDescriptor:e,FirstChar:g,LastChar:g+a.length-1,Widths:a,Encoding:"MacRomanEncoding",ToUnicode:b},this.dictionary.end()},f=function(a){var b,c,d,e,f,g,h;for(f="/CIDInit /ProcSet findresource begin\n12 dict begin\nbegincmap\n/CIDSystemInfo <<\n  /Registry (Adobe)\n  /Ordering (UCS)\n  /Supplement 0\n>> def\n/CMapName /Adobe-Identity-UCS def\n/CMapType 2 def\n1 begincodespacerange\n<00><ff>\nendcodespacerange",c=Object.keys(a).sort(function(a,b){return a-b}),d=[],g=0,h=c.length;h>g;g++)b=c[g],d.length>=100&&(f+="\n"+d.length+" beginbfchar\n"+d.join("\n")+"\nendbfchar",d=[]),e=("0000"+a[b].toString(16)).slice(-4),b=(+b).toString(16),d.push("<"+b+"><"+e+">");return d.length&&(f+="\n"+d.length+" beginbfchar\n"+d.join("\n")+"\nendbfchar\n"),f+="endcmap\nCMapName currentdict /CMap defineresource pop\nend\nend"},a.prototype.registerAFM=function(a){var b;return this.name=a,b=this.font,this.ascender=b.ascender,this.decender=b.decender,this.bbox=b.bbox,this.lineGap=b.lineGap,b},a.prototype.embedAFM=function(){return this.dictionary.data={Type:"Font",BaseFont:this.name,Subtype:"Type1",Encoding:"WinAnsiEncoding"},this.dictionary.end()},a.prototype.widthOfString=function(a,b){var c,d,e,f,g,h;for(a=""+a,f=0,d=g=0,h=a.length;h>=0?h>g:g>h;d=h>=0?++g:--g)c=a.charCodeAt(d),f+=this.font.widthOfGlyph(this.font.characterToGlyph(c))||0;return e=b/1e3,f*e},a.prototype.lineHeight=function(a,b){var c;return null==b&&(b=!1),c=b?this.lineGap:0,(this.ascender+c-this.decender)/1e3*a},a}(),a.exports=f}).call(this)}).call(b,c(2).Buffer,"/")},function(a,b,c){(function(){var b,d,e,f,g,h,i,j,k,l,m,n,o,p,q;q=c(44),e=c(72),d=c(73),f=c(74),m=c(75),h=c(78),b=c(79),j=c(80),i=c(81),l=c(82),o=c(83),n=c(84),k=c(85),g=c(86),p=function(){function a(a,b){var c,d,f,g,h,i,j,k,l;if(this.rawData=a,c=this.contents=new e(this.rawData),"ttcf"===c.readString(4)){if(!b)throw new Error("Must specify a font name for TTC files.");for(i=c.readInt(),f=c.readInt(),h=[],d=j=0;f>=0?f>j:j>f;d=f>=0?++j:--j)h[d]=c.readInt();for(d=k=0,l=h.length;l>k;d=++k)if(g=h[d],c.pos=g,this.parse(),this.name.postscriptName===b)return;throw new Error("Font "+b+" not found in TTC file.")}c.pos=0,this.parse()}return a.open=function(b,c){var d;return d=q.readFileSync(b),new a(d,c)},a.fromDFont=function(b,c){var e;return e=d.open(b),new a(e.getNamedFont(c))},a.fromBuffer=function(b,c){var e,f,g;try{if(g=new a(b,c),!(g.head.exists&&g.name.exists&&g.cmap.exists||(e=new d(b),g=new a(e.getNamedFont(c)),g.head.exists&&g.name.exists&&g.cmap.exists)))throw new Error("Invalid TTF file in DFont");return g}catch(h){throw f=h,new Error("Unknown font format in buffer: "+f.message)}},a.prototype.parse=function(){return this.directory=new f(this.contents),this.head=new h(this),this.name=new m(this),this.cmap=new b(this),this.hhea=new i(this),this.maxp=new l(this),this.hmtx=new j(this),this.post=new o(this),this.os2=new n(this),this.loca=new k(this),this.glyf=new g(this),this.ascender=this.os2.exists&&this.os2.ascender||this.hhea.ascender,this.decender=this.os2.exists&&this.os2.decender||this.hhea.decender,this.lineGap=this.os2.exists&&this.os2.lineGap||this.hhea.lineGap,this.bbox=[this.head.xMin,this.head.yMin,this.head.xMax,this.head.yMax]},a.prototype.characterToGlyph=function(a){var b;return(null!=(b=this.cmap.unicode)?b.codeMap[a]:void 0)||0},a.prototype.widthOfGlyph=function(a){var b;return b=1e3/this.head.unitsPerEm,this.hmtx.forGlyph(a).advance*b},a}(),a.exports=p}).call(this)},function(a,b){(function(){var b;b=function(){function a(a){this.data=null!=a?a:[],this.pos=0,this.length=this.data.length}return a.prototype.readByte=function(){return this.data[this.pos++]},a.prototype.writeByte=function(a){return this.data[this.pos++]=a},a.prototype.byteAt=function(a){return this.data[a]},a.prototype.readBool=function(){return!!this.readByte()},a.prototype.writeBool=function(a){return this.writeByte(a?1:0)},a.prototype.readUInt32=function(){var a,b,c,d;return a=16777216*this.readByte(),b=this.readByte()<<16,c=this.readByte()<<8,d=this.readByte(),a+b+c+d},a.prototype.writeUInt32=function(a){return this.writeByte(a>>>24&255),this.writeByte(a>>16&255),this.writeByte(a>>8&255),this.writeByte(255&a)},a.prototype.readInt32=function(){var a;return a=this.readUInt32(),a>=2147483648?a-4294967296:a},a.prototype.writeInt32=function(a){return 0>a&&(a+=4294967296),this.writeUInt32(a)},a.prototype.readUInt16=function(){var a,b;return a=this.readByte()<<8,b=this.readByte(),a|b},a.prototype.writeUInt16=function(a){return this.writeByte(a>>8&255),this.writeByte(255&a)},a.prototype.readInt16=function(){var a;return a=this.readUInt16(),a>=32768?a-65536:a},a.prototype.writeInt16=function(a){return 0>a&&(a+=65536),this.writeUInt16(a)},a.prototype.readString=function(a){var b,c,d;for(c=[],b=d=0;a>=0?a>d:d>a;b=a>=0?++d:--d)c[b]=String.fromCharCode(this.readByte());return c.join("")},a.prototype.writeString=function(a){var b,c,d,e;for(e=[],b=c=0,d=a.length;d>=0?d>c:c>d;b=d>=0?++c:--c)e.push(this.writeByte(a.charCodeAt(b)));return e},a.prototype.stringAt=function(a,b){return this.pos=a,this.readString(b)},a.prototype.readShort=function(){return this.readInt16()},a.prototype.writeShort=function(a){return this.writeInt16(a)},a.prototype.readLongLong=function(){var a,b,c,d,e,f,g,h;return a=this.readByte(),b=this.readByte(),c=this.readByte(),d=this.readByte(),e=this.readByte(),f=this.readByte(),g=this.readByte(),h=this.readByte(),128&a?-1*(72057594037927940*(255^a)+281474976710656*(255^b)+1099511627776*(255^c)+4294967296*(255^d)+16777216*(255^e)+65536*(255^f)+256*(255^g)+(255^h)+1):72057594037927940*a+281474976710656*b+1099511627776*c+4294967296*d+16777216*e+65536*f+256*g+h},a.prototype.writeLongLong=function(a){var b,c;return b=Math.floor(a/4294967296),c=4294967295&a,this.writeByte(b>>24&255),this.writeByte(b>>16&255),this.writeByte(b>>8&255),this.writeByte(255&b),this.writeByte(c>>24&255),this.writeByte(c>>16&255),this.writeByte(c>>8&255),this.writeByte(255&c)},a.prototype.readInt=function(){return this.readInt32()},a.prototype.writeInt=function(a){return this.writeInt32(a)},a.prototype.slice=function(a,b){return this.data.slice(a,b)},a.prototype.read=function(a){var b,c,d;for(b=[],c=d=0;a>=0?a>d:d>a;c=a>=0?++d:--d)b.push(this.readByte());return b},a.prototype.write=function(a){var b,c,d,e;for(e=[],c=0,d=a.length;d>c;c++)b=a[c],e.push(this.writeByte(b));return e},a}(),a.exports=b}).call(this)},function(a,b,c){(function(){var b,d,e,f,g;g=c(44),d=c(72),e=c(74),f=c(75),b=function(){function a(a){this.contents=new d(a),this.parse(this.contents)}return a.open=function(b){var c;return c=g.readFileSync(b),new a(c)},a.prototype.parse=function(a){var b,c,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;for(j=a.readInt(),u=a.readInt(),i=a.readInt(),t=a.readInt(),this.map={},a.pos=u+24,E=a.readShort()+u,y=a.readShort()+u,a.pos=E,v=a.readShort(),o=F=0;v>=F;o=F+=1){for(D=a.readString(4),w=a.readShort(),C=a.readShort(),this.map[D]={list:[],named:{}},B=a.pos,a.pos=E+C,q=G=0;w>=G;q=G+=1)p=a.readShort(),z=a.readShort(),b=a.readByte(),c=a.readByte()<<16,g=a.readByte()<<8,h=a.readByte(),k=j+(0|c|g|h),n=a.readUInt32(),l={id:p,attributes:b,offset:k,handle:n},A=a.pos,-1!==z&&u+t>y+z?(a.pos=y+z,r=a.readByte(),l.name=a.readString(r)):"sfnt"===D&&(a.pos=l.offset,s=a.readUInt32(),m={},m.contents=new d(a.slice(a.pos,a.pos+s)),m.directory=new e(m.contents),x=new f(m),l.name=x.fontName[0].raw),a.pos=A,this.map[D].list.push(l),l.name&&(this.map[D].named[l.name]=l);a.pos=B}},a.prototype.getNamedFont=function(a){var b,c,d,e,f,g;if(b=this.contents,e=b.pos,c=null!=(g=this.map.sfnt)?g.named[a]:void 0,!c)throw new Error("Font "+a+" not found in DFont file.");return b.pos=c.offset,d=b.readUInt32(),f=b.slice(b.pos,b.pos+d),b.pos=e,f},a}(),a.exports=b}).call(this)},function(a,b,c){(function(b){(function(){var d,e,f=[].slice;d=c(72),e=function(){function a(a){var b,c,d,e;for(this.scalarType=a.readInt(),this.tableCount=a.readShort(),this.searchRange=a.readShort(),this.entrySelector=a.readShort(),this.rangeShift=a.readShort(),this.tables={},c=d=0,e=this.tableCount;e>=0?e>d:d>e;c=e>=0?++d:--d)b={tag:a.readString(4),checksum:a.readInt(),offset:a.readInt(),length:a.readInt()},this.tables[b.tag]=b}var c;return a.prototype.encode=function(a){var e,f,g,h,i,j,k,l,m,n,o,p,q,r;p=Object.keys(a).length,j=Math.log(2),m=16*Math.floor(Math.log(p)/j),h=Math.floor(m/j),l=16*p-m,f=new d,f.writeInt(this.scalarType),f.writeShort(p),f.writeShort(m),f.writeShort(h),f.writeShort(l),g=16*p,k=f.pos+g,i=null,q=[];for(r in a)for(o=a[r],f.writeString(r),f.writeInt(c(o)),f.writeInt(k),f.writeInt(o.length),q=q.concat(o),"head"===r&&(i=k),k+=o.length;k%4;)q.push(0),k++;return f.write(q),n=c(f.data),e=2981146554-n,f.pos=i+8,f.writeUInt32(e),new b(f.data)},c=function(a){var b,c,e,g,h;for(a=f.call(a);a.length%4;)a.push(0);for(e=new d(a),c=0,b=g=0,h=a.length;h>g;b=g+=4)c+=e.readUInt32();return 4294967295&c},a}(),a.exports=e}).call(this)}).call(b,c(2).Buffer)},function(a,b,c){(function(){var b,d,e,f,g,h={}.hasOwnProperty,i=function(a,b){function c(){this.constructor=a}for(var d in b)h.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a};f=c(76),b=c(72),g=c(77),e=function(a){function c(){return c.__super__.constructor.apply(this,arguments)}var e;return i(c,a),c.prototype.tag="name",c.prototype.parse=function(a){var b,c,e,f,g,h,i,j,k,l,m,n,o;for(a.pos=this.offset,f=a.readShort(),b=a.readShort(),i=a.readShort(),c=[],g=l=0;b>=0?b>l:l>b;g=b>=0?++l:--l)c.push({platformID:a.readShort(),encodingID:a.readShort(),languageID:a.readShort(),nameID:a.readShort(),length:a.readShort(),offset:this.offset+i+a.readShort()});for(j={},g=m=0,n=c.length;n>m;g=++m)e=c[g],a.pos=e.offset,k=a.readString(e.length),h=new d(k,e),null==j[o=e.nameID]&&(j[o]=[]),j[e.nameID].push(h);return this.strings=j,this.copyright=j[0],this.fontFamily=j[1],this.fontSubfamily=j[2],this.uniqueSubfamily=j[3],this.fontName=j[4],this.version=j[5],this.postscriptName=j[6][0].raw.replace(/[\x00-\x19\x80-\xff]/g,""),this.trademark=j[7],this.manufacturer=j[8],this.designer=j[9],this.description=j[10],this.vendorUrl=j[11],this.designerUrl=j[12],this.license=j[13],this.licenseUrl=j[14],this.preferredFamily=j[15],this.preferredSubfamily=j[17],this.compatibleFull=j[18],this.sampleText=j[19]},e="AAAAAA",c.prototype.encode=function(){var a,c,f,h,i,j,k,l,m,n,o,p,q,r;m={},r=this.strings;for(a in r)o=r[a],m[a]=o;i=new d(""+e+"+"+this.postscriptName,{platformID:1,encodingID:0,languageID:0}),m[6]=[i],e=g.successorOf(e),j=0;for(a in m)c=m[a],null!=c&&(j+=c.length);n=new b,k=new b,n.writeShort(0),n.writeShort(j),n.writeShort(6+12*j);for(f in m)if(c=m[f],null!=c)for(p=0,q=c.length;q>p;p++)l=c[p],n.writeShort(l.platformID),n.writeShort(l.encodingID),n.writeShort(l.languageID),n.writeShort(f),n.writeShort(l.length),n.writeShort(k.pos),k.writeString(l.raw);return h={postscriptName:i.raw,table:n.data.concat(k.data)}},c}(f),a.exports=e,d=function(){function a(a,b){this.raw=a,this.length=this.raw.length,this.platformID=b.platformID,this.encodingID=b.encodingID,this.languageID=b.languageID}return a}()}).call(this)},function(a,b){(function(){var b;b=function(){function a(a){var b;this.file=a,b=this.file.directory.tables[this.tag],this.exists=!!b,b&&(this.offset=b.offset,this.length=b.length,this.parse(this.file.contents))}return a.prototype.parse=function(){},a.prototype.encode=function(){},a.prototype.raw=function(){return this.exists?(this.file.contents.pos=this.offset,this.file.contents.read(this.length)):null},a}(),a.exports=b}).call(this)},function(a,b){(function(){b.successorOf=function(a){var b,c,d,e,f,g,h,i,j,k;for(c="abcdefghijklmnopqrstuvwxyz",i=c.length,k=a,e=a.length;e>=0;){if(h=a.charAt(--e),isNaN(h)){if(f=c.indexOf(h.toLowerCase()),-1===f)j=h,d=!0;else if(j=c.charAt((f+1)%i),g=h===h.toUpperCase(),g&&(j=j.toUpperCase()),d=f+1>=i,d&&0===e){b=g?"A":"a",k=b+j+k.slice(1);break}}else if(j=+h+1,d=j>9,d&&(j=0),d&&0===e){k="1"+j+k.slice(1);break}if(k=k.slice(0,e)+j+k.slice(e+1),!d)break}return k},b.invert=function(a){var b,c,d;c={};for(b in a)d=a[b],c[d]=b;return c}}).call(this)},function(a,b,c){(function(){var b,d,e,f={}.hasOwnProperty,g=function(a,b){function c(){this.constructor=a}for(var d in b)f.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a};e=c(76),b=c(72),d=function(a){function c(){return c.__super__.constructor.apply(this,arguments)}return g(c,a),c.prototype.tag="head",c.prototype.parse=function(a){return a.pos=this.offset,this.version=a.readInt(),this.revision=a.readInt(),this.checkSumAdjustment=a.readInt(),this.magicNumber=a.readInt(),this.flags=a.readShort(),this.unitsPerEm=a.readShort(),this.created=a.readLongLong(),this.modified=a.readLongLong(),this.xMin=a.readShort(),this.yMin=a.readShort(),this.xMax=a.readShort(),this.yMax=a.readShort(),this.macStyle=a.readShort(),this.lowestRecPPEM=a.readShort(),this.fontDirectionHint=a.readShort(),this.indexToLocFormat=a.readShort(),this.glyphDataFormat=a.readShort()},c.prototype.encode=function(a){var c;return c=new b,c.writeInt(this.version),c.writeInt(this.revision),c.writeInt(this.checkSumAdjustment),c.writeInt(this.magicNumber),c.writeShort(this.flags),c.writeShort(this.unitsPerEm),c.writeLongLong(this.created),c.writeLongLong(this.modified),c.writeShort(this.xMin),c.writeShort(this.yMin),c.writeShort(this.xMax),c.writeShort(this.yMax),c.writeShort(this.macStyle),c.writeShort(this.lowestRecPPEM),c.writeShort(this.fontDirectionHint),c.writeShort(a.type),c.writeShort(this.glyphDataFormat),c.data},c}(e),a.exports=d}).call(this)},function(a,b,c){(function(){var b,d,e,f,g={}.hasOwnProperty,h=function(a,b){function c(){this.constructor=a}for(var d in b)g.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a};f=c(76),e=c(72),d=function(a){function c(){return c.__super__.constructor.apply(this,arguments)}return h(c,a),c.prototype.tag="cmap",c.prototype.parse=function(a){var c,d,e,f;for(a.pos=this.offset,this.version=a.readUInt16(),e=a.readUInt16(),this.tables=[],this.unicode=null,d=f=0;e>=0?e>f:f>e;d=e>=0?++f:--f)c=new b(a,this.offset),this.tables.push(c),c.isUnicode&&null==this.unicode&&(this.unicode=c);return!0},c.encode=function(a,c){var d,f;return null==c&&(c="macroman"),d=b.encode(a,c),f=new e,f.writeUInt16(0),f.writeUInt16(1),d.table=f.data.concat(d.subtable),d},c}(f),b=function(){function a(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;switch(this.platformID=a.readUInt16(),this.encodingID=a.readShort(),this.offset=b+a.readInt(),l=a.pos,a.pos=this.offset,this.format=a.readUInt16(),this.length=a.readUInt16(),this.language=a.readUInt16(),this.isUnicode=3===this.platformID&&1===this.encodingID&&4===this.format||0===this.platformID&&4===this.format,this.codeMap={},this.format){case 0:for(h=r=0;256>r;h=++r)this.codeMap[h]=a.readByte();break;case 4:
+for(n=a.readUInt16(),m=n/2,a.pos+=6,e=function(){var b,c;for(c=[],h=b=0;m>=0?m>b:b>m;h=m>=0?++b:--b)c.push(a.readUInt16());return c}(),a.pos+=2,p=function(){var b,c;for(c=[],h=b=0;m>=0?m>b:b>m;h=m>=0?++b:--b)c.push(a.readUInt16());return c}(),i=function(){var b,c;for(c=[],h=b=0;m>=0?m>b:b>m;h=m>=0?++b:--b)c.push(a.readUInt16());return c}(),j=function(){var b,c;for(c=[],h=b=0;m>=0?m>b:b>m;h=m>=0?++b:--b)c.push(a.readUInt16());return c}(),d=(this.length-a.pos+this.offset)/2,g=function(){var b,c;for(c=[],h=b=0;d>=0?d>b:b>d;h=d>=0?++b:--b)c.push(a.readUInt16());return c}(),h=s=0,u=e.length;u>s;h=++s)for(q=e[h],o=p[h],c=t=o;q>=o?q>=t:t>=q;c=q>=o?++t:--t)0===j[h]?f=c+i[h]:(k=j[h]/2+(c-o)-(m-h),f=g[k]||0,0!==f&&(f+=i[h])),this.codeMap[c]=65535&f}a.pos=l}return a.encode=function(a,b){var c,d,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;switch(F=new e,g=Object.keys(a).sort(function(a,b){return a-b}),b){case"macroman":for(p=0,q=function(){var a,b;for(b=[],o=a=0;256>a;o=++a)b.push(0);return b}(),s={0:0},f={},G=0,K=g.length;K>G;G++)d=g[G],null==s[U=a[d]]&&(s[U]=++p),f[d]={old:a[d],"new":s[a[d]]},q[d]=s[a[d]];return F.writeUInt16(1),F.writeUInt16(0),F.writeUInt32(12),F.writeUInt16(0),F.writeUInt16(262),F.writeUInt16(0),F.write(q),y={charMap:f,subtable:F.data,maxGlyphID:p+1};case"unicode":for(D=[],l=[],t=0,s={},c={},r=j=null,H=0,L=g.length;L>H;H++)d=g[H],v=a[d],null==s[v]&&(s[v]=++t),c[d]={old:v,"new":s[v]},h=s[v]-d,(null==r||h!==j)&&(r&&l.push(r),D.push(d),j=h),r=d;for(r&&l.push(r),l.push(65535),D.push(65535),A=D.length,B=2*A,z=2*Math.pow(Math.log(A)/Math.LN2,2),m=Math.log(z/2)/Math.LN2,x=2*A-z,i=[],w=[],n=[],o=I=0,M=D.length;M>I;o=++I){if(C=D[o],k=l[o],65535===C){i.push(0),w.push(0);break}if(E=c[C]["new"],C-E>=32768)for(i.push(0),w.push(2*(n.length+A-o)),d=J=C;k>=C?k>=J:J>=k;d=k>=C?++J:--J)n.push(c[d]["new"]);else i.push(E-C),w.push(0)}for(F.writeUInt16(3),F.writeUInt16(1),F.writeUInt32(12),F.writeUInt16(4),F.writeUInt16(16+8*A+2*n.length),F.writeUInt16(0),F.writeUInt16(B),F.writeUInt16(z),F.writeUInt16(m),F.writeUInt16(x),S=0,N=l.length;N>S;S++)d=l[S],F.writeUInt16(d);for(F.writeUInt16(0),T=0,O=D.length;O>T;T++)d=D[T],F.writeUInt16(d);for(V=0,P=i.length;P>V;V++)h=i[V],F.writeUInt16(h);for(W=0,Q=w.length;Q>W;W++)u=w[W],F.writeUInt16(u);for(X=0,R=n.length;R>X;X++)p=n[X],F.writeUInt16(p);return y={charMap:c,subtable:F.data,maxGlyphID:t+1}}},a}(),a.exports=d}).call(this)},function(a,b,c){(function(){var b,d,e,f={}.hasOwnProperty,g=function(a,b){function c(){this.constructor=a}for(var d in b)f.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a};e=c(76),b=c(72),d=function(a){function c(){return c.__super__.constructor.apply(this,arguments)}return g(c,a),c.prototype.tag="hmtx",c.prototype.parse=function(a){var b,c,d,e,f,g,h,i;for(a.pos=this.offset,this.metrics=[],b=f=0,h=this.file.hhea.numberOfMetrics;h>=0?h>f:f>h;b=h>=0?++f:--f)this.metrics.push({advance:a.readUInt16(),lsb:a.readInt16()});for(d=this.file.maxp.numGlyphs-this.file.hhea.numberOfMetrics,this.leftSideBearings=function(){var c,e;for(e=[],b=c=0;d>=0?d>c:c>d;b=d>=0?++c:--c)e.push(a.readInt16());return e}(),this.widths=function(){var a,b,c,d;for(c=this.metrics,d=[],a=0,b=c.length;b>a;a++)e=c[a],d.push(e.advance);return d}.call(this),c=this.widths[this.widths.length-1],i=[],b=g=0;d>=0?d>g:g>d;b=d>=0?++g:--g)i.push(this.widths.push(c));return i},c.prototype.forGlyph=function(a){var b;return a in this.metrics?this.metrics[a]:b={advance:this.metrics[this.metrics.length-1].advance,lsb:this.leftSideBearings[a-this.metrics.length]}},c.prototype.encode=function(a){var c,d,e,f,g;for(e=new b,f=0,g=a.length;g>f;f++)c=a[f],d=this.forGlyph(c),e.writeUInt16(d.advance),e.writeUInt16(d.lsb);return e.data},c}(e),a.exports=d}).call(this)},function(a,b,c){(function(){var b,d,e,f={}.hasOwnProperty,g=function(a,b){function c(){this.constructor=a}for(var d in b)f.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a};e=c(76),b=c(72),d=function(a){function c(){return c.__super__.constructor.apply(this,arguments)}return g(c,a),c.prototype.tag="hhea",c.prototype.parse=function(a){return a.pos=this.offset,this.version=a.readInt(),this.ascender=a.readShort(),this.decender=a.readShort(),this.lineGap=a.readShort(),this.advanceWidthMax=a.readShort(),this.minLeftSideBearing=a.readShort(),this.minRightSideBearing=a.readShort(),this.xMaxExtent=a.readShort(),this.caretSlopeRise=a.readShort(),this.caretSlopeRun=a.readShort(),this.caretOffset=a.readShort(),a.pos+=8,this.metricDataFormat=a.readShort(),this.numberOfMetrics=a.readUInt16()},c.prototype.encode=function(a){var c,d,e,f;for(d=new b,d.writeInt(this.version),d.writeShort(this.ascender),d.writeShort(this.decender),d.writeShort(this.lineGap),d.writeShort(this.advanceWidthMax),d.writeShort(this.minLeftSideBearing),d.writeShort(this.minRightSideBearing),d.writeShort(this.xMaxExtent),d.writeShort(this.caretSlopeRise),d.writeShort(this.caretSlopeRun),d.writeShort(this.caretOffset),c=e=0,f=8;f>=0?f>e:e>f;c=f>=0?++e:--e)d.writeByte(0);return d.writeShort(this.metricDataFormat),d.writeUInt16(a.length),d.data},c}(e),a.exports=d}).call(this)},function(a,b,c){(function(){var b,d,e,f={}.hasOwnProperty,g=function(a,b){function c(){this.constructor=a}for(var d in b)f.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a};e=c(76),b=c(72),d=function(a){function c(){return c.__super__.constructor.apply(this,arguments)}return g(c,a),c.prototype.tag="maxp",c.prototype.parse=function(a){return a.pos=this.offset,this.version=a.readInt(),this.numGlyphs=a.readUInt16(),this.maxPoints=a.readUInt16(),this.maxContours=a.readUInt16(),this.maxCompositePoints=a.readUInt16(),this.maxComponentContours=a.readUInt16(),this.maxZones=a.readUInt16(),this.maxTwilightPoints=a.readUInt16(),this.maxStorage=a.readUInt16(),this.maxFunctionDefs=a.readUInt16(),this.maxInstructionDefs=a.readUInt16(),this.maxStackElements=a.readUInt16(),this.maxSizeOfInstructions=a.readUInt16(),this.maxComponentElements=a.readUInt16(),this.maxComponentDepth=a.readUInt16()},c.prototype.encode=function(a){var c;return c=new b,c.writeInt(this.version),c.writeUInt16(a.length),c.writeUInt16(this.maxPoints),c.writeUInt16(this.maxContours),c.writeUInt16(this.maxCompositePoints),c.writeUInt16(this.maxComponentContours),c.writeUInt16(this.maxZones),c.writeUInt16(this.maxTwilightPoints),c.writeUInt16(this.maxStorage),c.writeUInt16(this.maxFunctionDefs),c.writeUInt16(this.maxInstructionDefs),c.writeUInt16(this.maxStackElements),c.writeUInt16(this.maxSizeOfInstructions),c.writeUInt16(this.maxComponentElements),c.writeUInt16(this.maxComponentDepth),c.data},c}(e),a.exports=d}).call(this)},function(a,b,c){(function(){var b,d,e,f={}.hasOwnProperty,g=function(a,b){function c(){this.constructor=a}for(var d in b)f.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a};e=c(76),b=c(72),d=function(a){function c(){return c.__super__.constructor.apply(this,arguments)}var d;return g(c,a),c.prototype.tag="post",c.prototype.parse=function(a){var b,c,d,e,f;switch(a.pos=this.offset,this.format=a.readInt(),this.italicAngle=a.readInt(),this.underlinePosition=a.readShort(),this.underlineThickness=a.readShort(),this.isFixedPitch=a.readInt(),this.minMemType42=a.readInt(),this.maxMemType42=a.readInt(),this.minMemType1=a.readInt(),this.maxMemType1=a.readInt(),this.format){case 65536:break;case 131072:for(d=a.readUInt16(),this.glyphNameIndex=[],b=e=0;d>=0?d>e:e>d;b=d>=0?++e:--e)this.glyphNameIndex.push(a.readUInt16());for(this.names=[],f=[];a.pos<this.offset+this.length;)c=a.readByte(),f.push(this.names.push(a.readString(c)));return f;case 151552:return d=a.readUInt16(),this.offsets=a.read(d);case 196608:break;case 262144:return this.map=function(){var c,d,e;for(e=[],b=c=0,d=this.file.maxp.numGlyphs;d>=0?d>c:c>d;b=d>=0?++c:--c)e.push(a.readUInt32());return e}.call(this)}},c.prototype.glyphFor=function(a){var b;switch(this.format){case 65536:return d[a]||".notdef";case 131072:return b=this.glyphNameIndex[a],257>=b?d[b]:this.names[b-258]||".notdef";case 151552:return d[a+this.offsets[a]]||".notdef";case 196608:return".notdef";case 262144:return this.map[a]||65535}},c.prototype.encode=function(a){var c,e,f,g,h,i,j,k,l,m,n,o,p,q,r;if(!this.exists)return null;if(i=this.raw(),196608===this.format)return i;for(l=new b(i.slice(0,32)),l.writeUInt32(131072),l.pos=32,f=[],k=[],m=0,p=a.length;p>m;m++)c=a[m],h=this.glyphFor(c),g=d.indexOf(h),-1!==g?f.push(g):(f.push(257+k.length),k.push(h));for(l.writeUInt16(Object.keys(a).length),n=0,q=f.length;q>n;n++)e=f[n],l.writeUInt16(e);for(o=0,r=k.length;r>o;o++)j=k[o],l.writeByte(j.length),l.writeString(j);return l.data},d=".notdef .null nonmarkingreturn space exclam quotedbl numbersign dollar percent\nampersand quotesingle parenleft parenright asterisk plus comma hyphen period slash\nzero one two three four five six seven eight nine colon semicolon less equal greater\nquestion at 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\nbracketleft backslash bracketright asciicircum underscore grave\na 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\nbraceleft bar braceright asciitilde Adieresis Aring Ccedilla Eacute Ntilde Odieresis\nUdieresis aacute agrave acircumflex adieresis atilde aring ccedilla eacute egrave\necircumflex edieresis iacute igrave icircumflex idieresis ntilde oacute ograve\nocircumflex odieresis otilde uacute ugrave ucircumflex udieresis dagger degree cent\nsterling section bullet paragraph germandbls registered copyright trademark acute\ndieresis notequal AE Oslash infinity plusminus lessequal greaterequal yen mu\npartialdiff summation product pi integral ordfeminine ordmasculine Omega ae oslash\nquestiondown exclamdown logicalnot radical florin approxequal Delta guillemotleft\nguillemotright ellipsis nonbreakingspace Agrave Atilde Otilde OE oe endash emdash\nquotedblleft quotedblright quoteleft quoteright divide lozenge ydieresis Ydieresis\nfraction currency guilsinglleft guilsinglright fi fl daggerdbl periodcentered\nquotesinglbase quotedblbase perthousand Acircumflex Ecircumflex Aacute Edieresis\nEgrave Iacute Icircumflex Idieresis Igrave Oacute Ocircumflex apple Ograve Uacute\nUcircumflex Ugrave dotlessi circumflex tilde macron breve dotaccent ring cedilla\nhungarumlaut ogonek caron Lslash lslash Scaron scaron Zcaron zcaron brokenbar Eth\neth Yacute yacute Thorn thorn minus multiply onesuperior twosuperior threesuperior\nonehalf onequarter threequarters franc Gbreve gbreve Idotaccent Scedilla scedilla\nCacute cacute Ccaron ccaron dcroat".split(/\s+/g),c}(e),a.exports=d}).call(this)},function(a,b,c){(function(){var b,d,e={}.hasOwnProperty,f=function(a,b){function c(){this.constructor=a}for(var d in b)e.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a};d=c(76),b=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}return f(b,a),b.prototype.tag="OS/2",b.prototype.parse=function(a){var b;return a.pos=this.offset,this.version=a.readUInt16(),this.averageCharWidth=a.readShort(),this.weightClass=a.readUInt16(),this.widthClass=a.readUInt16(),this.type=a.readShort(),this.ySubscriptXSize=a.readShort(),this.ySubscriptYSize=a.readShort(),this.ySubscriptXOffset=a.readShort(),this.ySubscriptYOffset=a.readShort(),this.ySuperscriptXSize=a.readShort(),this.ySuperscriptYSize=a.readShort(),this.ySuperscriptXOffset=a.readShort(),this.ySuperscriptYOffset=a.readShort(),this.yStrikeoutSize=a.readShort(),this.yStrikeoutPosition=a.readShort(),this.familyClass=a.readShort(),this.panose=function(){var c,d;for(d=[],b=c=0;10>c;b=++c)d.push(a.readByte());return d}(),this.charRange=function(){var c,d;for(d=[],b=c=0;4>c;b=++c)d.push(a.readInt());return d}(),this.vendorID=a.readString(4),this.selection=a.readShort(),this.firstCharIndex=a.readShort(),this.lastCharIndex=a.readShort(),this.version>0&&(this.ascent=a.readShort(),this.descent=a.readShort(),this.lineGap=a.readShort(),this.winAscent=a.readShort(),this.winDescent=a.readShort(),this.codePageRange=function(){var c,d;for(d=[],b=c=0;2>c;b=++c)d.push(a.readInt());return d}(),this.version>1)?(this.xHeight=a.readShort(),this.capHeight=a.readShort(),this.defaultChar=a.readShort(),this.breakChar=a.readShort(),this.maxContext=a.readShort()):void 0},b.prototype.encode=function(){return this.raw()},b}(d),a.exports=b}).call(this)},function(a,b,c){(function(){var b,d,e,f={}.hasOwnProperty,g=function(a,b){function c(){this.constructor=a}for(var d in b)f.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a};e=c(76),b=c(72),d=function(a){function c(){return c.__super__.constructor.apply(this,arguments)}return g(c,a),c.prototype.tag="loca",c.prototype.parse=function(a){var b,c;return a.pos=this.offset,b=this.file.head.indexToLocFormat,0===b?this.offsets=function(){var b,d,e;for(e=[],c=b=0,d=this.length;d>b;c=b+=2)e.push(2*a.readUInt16());return e}.call(this):this.offsets=function(){var b,d,e;for(e=[],c=b=0,d=this.length;d>b;c=b+=4)e.push(a.readUInt32());return e}.call(this)},c.prototype.indexOf=function(a){return this.offsets[a]},c.prototype.lengthOf=function(a){return this.offsets[a+1]-this.offsets[a]},c.prototype.encode=function(a){var c,d,e,f,g,h,i,j,k,l,m;for(f=new b,g=0,j=a.length;j>g;g++)if(d=a[g],d>65535){for(m=this.offsets,h=0,k=m.length;k>h;h++)c=m[h],f.writeUInt32(c);return e={format:1,table:f.data}}for(i=0,l=a.length;l>i;i++)c=a[i],f.writeUInt16(c/2);return e={format:0,table:f.data}},c}(e),a.exports=d}).call(this)},function(a,b,c){(function(){var b,d,e,f,g,h={}.hasOwnProperty,i=function(a,b){function c(){this.constructor=a}for(var d in b)h.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},j=[].slice;g=c(76),d=c(72),e=function(a){function c(){return c.__super__.constructor.apply(this,arguments)}return i(c,a),c.prototype.tag="glyf",c.prototype.parse=function(a){return this.cache={}},c.prototype.glyphFor=function(a){var c,e,g,h,i,j,k,l,m,n;return a in this.cache?this.cache[a]:(h=this.file.loca,c=this.file.contents,e=h.indexOf(a),g=h.lengthOf(a),0===g?this.cache[a]=null:(c.pos=this.offset+e,j=new d(c.read(g)),i=j.readShort(),l=j.readShort(),n=j.readShort(),k=j.readShort(),m=j.readShort(),-1===i?this.cache[a]=new b(j,l,n,k,m):this.cache[a]=new f(j,i,l,n,k,m),this.cache[a]))},c.prototype.encode=function(a,b,c){var d,e,f,g,h,i;for(g=[],f=[],h=0,i=b.length;i>h;h++)e=b[h],d=a[e],f.push(g.length),d&&(g=g.concat(d.encode(c)));return f.push(g.length),{table:g,offsets:f}},c}(g),f=function(){function a(a,b,c,d,e,f){this.raw=a,this.numberOfContours=b,this.xMin=c,this.yMin=d,this.xMax=e,this.yMax=f,this.compound=!1}return a.prototype.encode=function(){return this.raw.data},a}(),b=function(){function a(a,d,h,i,j){var k,l;for(this.raw=a,this.xMin=d,this.yMin=h,this.xMax=i,this.yMax=j,this.compound=!0,this.glyphIDs=[],this.glyphOffsets=[],k=this.raw;;){if(l=k.readShort(),this.glyphOffsets.push(k.pos),this.glyphIDs.push(k.readShort()),!(l&c))break;l&b?k.pos+=4:k.pos+=2,l&g?k.pos+=8:l&e?k.pos+=4:l&f&&(k.pos+=2)}}var b,c,e,f,g,h;return b=1,f=8,c=32,e=64,g=128,h=256,a.prototype.encode=function(a){var b,c,e,f,g,h;for(e=new d(j.call(this.raw.data)),h=this.glyphIDs,b=f=0,g=h.length;g>f;b=++f)c=h[b],e.pos=this.glyphOffsets[b],e.writeShort(a[c]);return e.data},a}(),a.exports=e}).call(this)},function(a,b,c){(function(){var b,d;d=c(44),b=function(){function a(a){var b,d;this.contents=a,this.attributes={},this.glyphWidths={},this.boundingBoxes={},this.parse(),this.charWidths=function(){var a,b;for(b=[],d=a=0;255>=a;d=++a)b.push(this.glyphWidths[c[d]]);return b}.call(this),this.bbox=function(){var a,c,d,e;for(d=this.attributes.FontBBox.split(/\s+/),e=[],a=0,c=d.length;c>a;a++)b=d[a],e.push(+b);return e}.call(this),this.ascender=+(this.attributes.Ascender||0),this.decender=+(this.attributes.Descender||0),this.lineGap=this.bbox[3]-this.bbox[1]-(this.ascender-this.decender)}var b,c;return a.open=function(b){return new a(d.readFileSync(b,"utf8"))},a.prototype.parse=function(){var a,b,c,d,e,f,g,h,i,j;for(f="",j=this.contents.split("\n"),h=0,i=j.length;i>h;h++)if(c=j[h],d=c.match(/^Start(\w+)/))f=d[1];else if(d=c.match(/^End(\w+)/))f="";else switch(f){case"FontMetrics":d=c.match(/(^\w+)\s+(.*)/),b=d[1],g=d[2],(a=this.attributes[b])?(Array.isArray(a)||(a=this.attributes[b]=[a]),a.push(g)):this.attributes[b]=g;break;case"CharMetrics":if(!/^CH?\s/.test(c))continue;e=c.match(/\bN\s+(\.?\w+)\s*;/)[1],this.glyphWidths[e]=+c.match(/\bWX\s+(\d+)\s*;/)[1]}},b={402:131,8211:150,8212:151,8216:145,8217:146,8218:130,8220:147,8221:148,8222:132,8224:134,8225:135,8226:149,8230:133,8364:128,8240:137,8249:139,8250:155,710:136,8482:153,338:140,339:156,732:152,352:138,353:154,376:159,381:142,382:158},a.prototype.encodeText=function(a){var c,d,e,f,g;for(e="",d=f=0,g=a.length;g>=0?g>f:f>g;d=g>=0?++f:--f)c=a.charCodeAt(d),c=b[c]||c,e+=String.fromCharCode(c);return e},a.prototype.characterToGlyph=function(a){return c[b[a]||a]},a.prototype.widthOfGlyph=function(a){return this.glyphWidths[a]},c=".notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n\nspace         exclam         quotedbl       numbersign\ndollar        percent        ampersand      quotesingle\nparenleft     parenright     asterisk       plus\ncomma         hyphen         period         slash\nzero          one            two            three\nfour          five           six            seven\neight         nine           colon          semicolon\nless          equal          greater        question\n\nat            A              B              C\nD             E              F              G\nH             I              J              K\nL             M              N              O\nP             Q              R              S\nT             U              V              W\nX             Y              Z              bracketleft\nbackslash     bracketright   asciicircum    underscore\n\ngrave         a              b              c\nd             e              f              g\nh             i              j              k\nl             m              n              o\np             q              r              s\nt             u              v              w\nx             y              z              braceleft\nbar           braceright     asciitilde     .notdef\n\nEuro          .notdef        quotesinglbase florin\nquotedblbase  ellipsis       dagger         daggerdbl\ncircumflex    perthousand    Scaron         guilsinglleft\nOE            .notdef        Zcaron         .notdef\n.notdef       quoteleft      quoteright     quotedblleft\nquotedblright bullet         endash         emdash\ntilde         trademark      scaron         guilsinglright\noe            .notdef        zcaron         ydieresis\n\nspace         exclamdown     cent           sterling\ncurrency      yen            brokenbar      section\ndieresis      copyright      ordfeminine    guillemotleft\nlogicalnot    hyphen         registered     macron\ndegree        plusminus      twosuperior    threesuperior\nacute         mu             paragraph      periodcentered\ncedilla       onesuperior    ordmasculine   guillemotright\nonequarter    onehalf        threequarters  questiondown\n\nAgrave        Aacute         Acircumflex    Atilde\nAdieresis     Aring          AE             Ccedilla\nEgrave        Eacute         Ecircumflex    Edieresis\nIgrave        Iacute         Icircumflex    Idieresis\nEth           Ntilde         Ograve         Oacute\nOcircumflex   Otilde         Odieresis      multiply\nOslash        Ugrave         Uacute         Ucircumflex\nUdieresis     Yacute         Thorn          germandbls\n\nagrave        aacute         acircumflex    atilde\nadieresis     aring          ae             ccedilla\negrave        eacute         ecircumflex    edieresis\nigrave        iacute         icircumflex    idieresis\neth           ntilde         ograve         oacute\nocircumflex   otilde         odieresis      divide\noslash        ugrave         uacute         ucircumflex\nudieresis     yacute         thorn          ydieresis".split(/\s+/),a}(),a.exports=b}).call(this)},function(a,b,c){(function(){var b,d,e,f=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};b=c(79),e=c(77),d=function(){function a(a){this.font=a,this.subset={},this.unicodes={},this.next=33}return a.prototype.use=function(a){var b,c,d;{if("string"!=typeof a)return this.unicodes[a]?void 0:(this.subset[this.next]=a,this.unicodes[a]=this.next++);for(b=c=0,d=a.length;d>=0?d>c:c>d;b=d>=0?++c:--c)this.use(a.charCodeAt(b))}},a.prototype.encodeText=function(a){var b,c,d,e,f;for(d="",c=e=0,f=a.length;f>=0?f>e:e>f;c=f>=0?++e:--e)b=this.unicodes[a.charCodeAt(c)],d+=String.fromCharCode(b);return d},a.prototype.generateCmap=function(){var a,b,c,d,e;d=this.font.cmap.tables[0].codeMap,a={},e=this.subset;for(b in e)c=e[b],a[b]=d[c];return a},a.prototype.glyphIDs=function(){var a,b,c,d,e,g;d=this.font.cmap.tables[0].codeMap,a=[0],g=this.subset;for(b in g)c=g[b],e=d[c],null!=e&&f.call(a,e)<0&&a.push(e);return a.sort()},a.prototype.glyphsFor=function(a){var b,c,d,e,f,g,h;for(d={},f=0,g=a.length;g>f;f++)e=a[f],d[e]=this.font.glyf.glyphFor(e);b=[];for(e in d)c=d[e],(null!=c?c.compound:void 0)&&b.push.apply(b,c.glyphIDs);if(b.length>0){h=this.glyphsFor(b);for(e in h)c=h[e],d[e]=c}return d},a.prototype.encode=function(){var a,c,d,f,g,h,i,j,k,l,m,n,o,p,q,r,s;a=b.encode(this.generateCmap(),"unicode"),f=this.glyphsFor(this.glyphIDs()),n={0:0},r=a.charMap;for(c in r)h=r[c],n[h.old]=h["new"];m=a.maxGlyphID;for(o in f)o in n||(n[o]=m++);k=e.invert(n),l=Object.keys(k).sort(function(a,b){return a-b}),p=function(){var a,b,c;for(c=[],a=0,b=l.length;b>a;a++)g=l[a],c.push(k[g]);return c}(),d=this.font.glyf.encode(f,p,n),i=this.font.loca.encode(d.offsets),j=this.font.name.encode(),this.postscriptName=j.postscriptName,this.cmap={},s=a.charMap;for(c in s)h=s[c],this.cmap[c]=h.old;return q={cmap:a.table,glyf:d.table,loca:i.table,hmtx:this.font.hmtx.encode(p),hhea:this.font.hhea.encode(p),maxp:this.font.maxp.encode(p),post:this.font.post.encode(p),name:j.table,head:this.font.head.encode(i)},this.font.os2.exists&&(q["OS/2"]=this.font.os2.raw()),this.font.directory.encode(q)},a}(),a.exports=d}).call(this)},function(a,b,c){(function(){var b;b=c(90),a.exports={initText:function(){return this.x=0,this.y=0,this._lineGap=0},lineGap:function(a){return this._lineGap=a,this},moveDown:function(a){return null==a&&(a=1),this.y+=this.currentLineHeight(!0)*a+this._lineGap,this},moveUp:function(a){return null==a&&(a=1),this.y-=this.currentLineHeight(!0)*a+this._lineGap,this},_text:function(a,c,d,e,f){var g,h,i,j,k;if(e=this._initOptions(c,d,e),a=""+a,e.wordSpacing&&(a=a.replace(/\s{2,}/g," ")),e.width)h=this._wrapper,h||(h=new b(this,e),h.on("line",f)),this._wrapper=e.continued?h:null,this._textOptions=e.continued?e:null,h.wrap(a,e);else for(k=a.split("\n"),i=0,j=k.length;j>i;i++)g=k[i],f(g,e);return this},text:function(a,b,c,d){return this._text(a,b,c,d,this._line.bind(this))},widthOfString:function(a,b){return null==b&&(b={}),this._font.widthOfString(a,this._fontSize)+(b.characterSpacing||0)*(a.length-1)},heightOfString:function(a,b){var c,d,e,f;return null==b&&(b={}),e=this.x,f=this.y,b=this._initOptions(b),b.height=1/0,d=b.lineGap||this._lineGap||0,this._text(a,this.x,this.y,b,function(a){return function(b,c){return a.y+=a.currentLineHeight(!0)+d}}(this)),c=this.y-f,this.x=e,this.y=f,c},list:function(a,c,d,e,f){var g,h,i,j,k,l,m,n;return e=this._initOptions(c,d,e),n=Math.round(this._font.ascender/1e3*this._fontSize/3),i=e.textIndent||5*n,j=e.bulletIndent||8*n,l=1,k=[],m=[],g=function(a){var b,c,d,e,f;for(f=[],b=d=0,e=a.length;e>d;b=++d)c=a[b],Array.isArray(c)?(l++,g(c),f.push(l--)):(k.push(c),f.push(m.push(l)));return f},g(a),f=new b(this,e),f.on("line",this._line.bind(this)),l=1,h=0,f.on("firstLine",function(a){return function(){var b,c;return(c=m[h++])!==l&&(b=j*(c-l),a.x+=b,f.lineWidth-=b,l=c),a.circle(a.x-i+n,a.y+n+n/2,n),a.fill()}}(this)),f.on("sectionStart",function(a){return function(){var b;return b=i+j*(l-1),a.x+=b,f.lineWidth-=b}}(this)),f.on("sectionEnd",function(a){return function(){var b;return b=i+j*(l-1),a.x-=b,f.lineWidth+=b}}(this)),f.wrap(k.join("\n"),e),this},_initOptions:function(a,b,c){var d,e,f,g;if(null==a&&(a={}),null==c&&(c={}),"object"==typeof a&&(c=a,a=null),c=function(){var a,b,d;b={};for(a in c)d=c[a],b[a]=d;return b}(),this._textOptions){g=this._textOptions;for(d in g)f=g[d],"continued"!==d&&null==c[d]&&(c[d]=f)}return null!=a&&(this.x=a),null!=b&&(this.y=b),c.lineBreak!==!1&&(e=this.page.margins,null==c.width&&(c.width=this.page.width-this.x-e.right)),c.columns||(c.columns=0),null==c.columnGap&&(c.columnGap=18),c},_line:function(a,b,c){var d;return null==b&&(b={}),this._fragment(a,this.x,this.y,b),d=b.lineGap||this._lineGap||0,c?this.y+=this.currentLineHeight(!0)+d:this.x+=this.widthOfString(a)},_fragment:function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;if(a=""+a,0!==a.length){if(e=d.align||"left",r=d.wordSpacing||0,f=d.characterSpacing||0,d.width)switch(e){case"right":p=this.widthOfString(a.replace(/\s+$/,""),d),b+=d.lineWidth-p;break;case"center":b+=d.lineWidth/2-d.textWidth/2;break;case"justify":s=a.trim().split(/\s+/),p=this.widthOfString(a.replace(/\s+/g,""),d),o=this.widthOfString(" ")+f,r=Math.max(0,(d.lineWidth-p)/Math.max(1,s.length-1)-o)}if(n=d.textWidth+r*(d.wordCount-1)+f*(a.length-1),d.link&&this.link(b,c,n,this.currentLineHeight(),d.link),(d.underline||d.strike)&&(this.save(),d.stroke||this.strokeColor.apply(this,this._fillColor),k=this._fontSize<10?.5:Math.floor(this._fontSize/10),this.lineWidth(k),h=d.underline?1:2,l=c+this.currentLineHeight()/h,d.underline&&(l-=k),this.moveTo(b,l),this.lineTo(b+n,l),this.stroke(),this.restore()),this.save(),this.transform(1,0,0,-1,0,this.page.height),c=this.page.height-c-this._font.ascender/1e3*this._fontSize,null==(t=this.page.fonts)[w=this._font.id]&&(t[w]=this._font.ref()),this._font.use(a),this.addContent("BT"),this.addContent(""+b+" "+c+" Td"),this.addContent("/"+this._font.id+" "+this._fontSize+" Tf"),m=d.fill&&d.stroke?2:d.stroke?1:0,m&&this.addContent(""+m+" Tr"),f&&this.addContent(""+f+" Tc"),r){for(s=a.trim().split(/\s+/),r+=this.widthOfString(" ")+f,r*=1e3/this._fontSize,g=[],u=0,v=s.length;v>u;u++)q=s[u],i=this._font.encode(q),i=function(){var a,b,c;for(c=[],j=a=0,b=i.length;b>a;j=a+=1)c.push(i.charCodeAt(j).toString(16));return c}().join(""),g.push("<"+i+"> "+-r);this.addContent("["+g.join(" ")+"] TJ")}else i=this._font.encode(a),i=function(){var a,b,c;for(c=[],j=a=0,b=i.length;b>a;j=a+=1)c.push(i.charCodeAt(j).toString(16));return c}().join(""),this.addContent("<"+i+"> Tj");return this.addContent("ET"),this.restore()}}}}).call(this)},function(a,b,c){(function(){var b,d,e,f={}.hasOwnProperty,g=function(a,b){function c(){this.constructor=a}for(var d in b)f.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a};b=c(26).EventEmitter,d=c(91),e=function(a){function b(a,b){var c;this.document=a,this.indent=b.indent||0,this.characterSpacing=b.characterSpacing||0,this.wordSpacing=0===b.wordSpacing,this.columns=b.columns||1,this.columnGap=null!=(c=b.columnGap)?c:18,this.lineWidth=(b.width-this.columnGap*(this.columns-1))/this.columns,this.spaceLeft=this.lineWidth,this.startX=this.document.x,this.startY=this.document.y,this.column=1,this.ellipsis=b.ellipsis,this.continuedX=0,null!=b.height?(this.height=b.height,this.maxY=this.startY+b.height):this.maxY=this.document.page.maxY(),this.on("firstLine",function(a){return function(b){var c;return c=a.continuedX||a.indent,a.document.x+=c,a.lineWidth-=c,a.once("line",function(){return a.document.x-=c,a.lineWidth+=c,b.continued&&!a.continuedX&&(a.continuedX=a.indent),b.continued?void 0:a.continuedX=0})}}(this)),this.on("lastLine",function(a){return function(b){var c;return c=b.align,"justify"===c&&(b.align="left"),a.lastLine=!0,a.once("line",function(){return a.document.y+=b.paragraphGap||0,b.align=c,a.lastLine=!1})}}(this))}return g(b,a),b.prototype.wordWidth=function(a){return this.document.widthOfString(a,this)+this.characterSpacing+this.wordSpacing},b.prototype.eachWord=function(a,b){var c,e,f,g,h,i,j,k,l,m;for(e=new d(a),h=null,m={};c=e.nextBreak();){if(l=a.slice((null!=h?h.position:void 0)||0,c.position),k=null!=m[l]?m[l]:m[l]=this.wordWidth(l),k>this.lineWidth+this.continuedX)for(i=h,f={};l.length;){for(g=l.length;k>this.spaceLeft;)k=this.wordWidth(l.slice(0,--g));if(f.required=g<l.length,j=b(l.slice(0,g),k,f,i),i={required:!1},l=l.slice(g),k=this.wordWidth(l),j===!1)break}else j=b(l,k,c,h);if(j===!1)break;h=c}},b.prototype.wrap=function(a,b){var c,d,e,f,g,h,i;return null!=b.indent&&(this.indent=b.indent),null!=b.characterSpacing&&(this.characterSpacing=b.characterSpacing),null!=b.wordSpacing&&(this.wordSpacing=b.wordSpacing),null!=b.ellipsis&&(this.ellipsis=b.ellipsis),f=this.document.y+this.document.currentLineHeight(!0),(this.document.y>this.maxY||f>this.maxY)&&this.nextSection(),c="",g=0,h=0,e=0,i=this.document.y,d=function(a){return function(){return b.textWidth=g+a.wordSpacing*(h-1),b.wordCount=h,b.lineWidth=a.lineWidth,i=a.document.y,a.emit("line",c,b,a),e++}}(this),this.emit("sectionStart",b,this),this.eachWord(a,function(a){return function(e,f,i,j){var k,l;if((null==j||j.required)&&(a.emit("firstLine",b,a),a.spaceLeft=a.lineWidth),f<=a.spaceLeft&&(c+=e,g+=f,h++),i.required||f>a.spaceLeft){if(i.required&&a.emit("lastLine",b,a),k=a.document.currentLineHeight(!0),null!=a.height&&a.ellipsis&&a.document.y+2*k>a.maxY&&a.column>=a.columns){for(a.ellipsis===!0&&(a.ellipsis="…"),c=c.replace(/\s+$/,""),g=a.wordWidth(c+a.ellipsis);g>a.lineWidth;)c=c.slice(0,-1).replace(/\s+$/,""),g=a.wordWidth(c+a.ellipsis);c+=a.ellipsis}return d(),a.document.y+k>a.maxY&&(l=a.nextSection(),!l)?(h=0,c="",!1):i.required?(f>a.spaceLeft&&(c=e,g=f,h=1,d()),a.spaceLeft=a.lineWidth,c="",g=0,h=0):(a.spaceLeft=a.lineWidth-f,c=e,g=f,h=1)}return a.spaceLeft-=f}}(this)),h>0&&(this.emit("lastLine",b,this),d()),this.emit("sectionEnd",b,this),b.continued===!0?(e>1&&(this.continuedX=0),this.continuedX+=b.textWidth,this.document.y=i):this.document.x=this.startX},b.prototype.nextSection=function(a){var b;if(this.emit("sectionEnd",a,this),++this.column>this.columns){if(null!=this.height)return!1;this.document.addPage(),this.column=1,this.startY=this.document.page.margins.top,this.maxY=this.document.page.maxY(),this.document.x=this.startX,this.document._fillColor&&(b=this.document).fillColor.apply(b,this.document._fillColor),this.emit("pageBreak",a,this)}else this.document.x+=this.lineWidth+this.columnGap,this.document.y=this.startY,this.emit("columnBreak",a,this);return this.emit("sectionStart",a,this),!0},b}(b),a.exports=e}).call(this)},function(a,b,c){(function(){var b,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;w=c(92),A=new w(c(93)),C=c(94),f=C.BK,k=C.CR,o=C.LF,q=C.NL,g=C.CB,e=C.BA,v=C.SP,x=C.WJ,v=C.SP,f=C.BK,o=C.LF,q=C.NL,b=C.AI,d=C.AL,t=C.SA,u=C.SG,y=C.XX,i=C.CJ,m=C.ID,r=C.NS,z=C.characterClasses,D=c(95),l=D.DI_BRK,n=D.IN_BRK,h=D.CI_BRK,j=D.CP_BRK,s=D.PR_BRK,B=D.pairTable,p=function(){function a(a){this.string=a,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null}var c,m,p;return a.prototype.nextCodePoint=function(){var a,b;return a=this.string.charCodeAt(this.pos++),b=this.string.charCodeAt(this.pos),a>=55296&&56319>=a&&b>=56320&&57343>=b?(this.pos++,1024*(a-55296)+(b-56320)+65536):a;
+},m=function(a){switch(a){case b:return d;case t:case u:case y:return d;case i:return r;default:return a}},p=function(a){switch(a){case o:case q:return f;case g:return e;case v:return x;default:return a}},a.prototype.nextCharClass=function(a){return null==a&&(a=!1),m(A.get(this.nextCodePoint()))},c=function(){function a(a,b){this.position=a,this.required=null!=b?b:!1}return a}(),a.prototype.nextBreak=function(){var a,b,d;for(null==this.curClass&&(this.curClass=p(this.nextCharClass()));this.pos<this.string.length;){if(this.lastPos=this.pos,b=this.nextClass,this.nextClass=this.nextCharClass(),this.curClass===f||this.curClass===k&&this.nextClass!==o)return this.curClass=p(m(this.nextClass)),new c(this.lastPos,!0);if(a=function(){switch(this.nextClass){case v:return this.curClass;case f:case o:case q:return f;case k:return k;case g:return e}}.call(this),null==a){switch(d=!1,B[this.curClass][this.nextClass]){case l:d=!0;break;case n:d=b===v;break;case h:if(d=b===v,!d)continue;break;case j:if(b!==v)continue}if(this.curClass=this.nextClass,d)return new c(this.lastPos)}else if(this.curClass=a,this.nextClass===g)return new c(this.lastPos)}return this.pos>=this.string.length?this.lastPos<this.string.length?(this.lastPos=this.string.length,new c(this.string.length)):null:void 0},a}(),a.exports=p}).call(this)},function(a,b){var c,d=[].slice;c=function(){function a(a){var b,c;null==a&&(a={}),this.data=a.data||[],this.highStart=null!=(b=a.highStart)?b:0,this.errorValue=null!=(c=a.errorValue)?c:-1}var b,c,e,f,g,h,i,j,k,l,m,n,o,p,q,r;return n=11,p=5,o=n-p,m=65536>>n,g=1<<o,i=g-1,j=2,b=1<<p,e=b-1,l=65536>>p,k=1024>>p,h=l+k,r=h,q=32,f=r+q,c=1<<j,a.prototype.get=function(a){var b;return 0>a||a>1114111?this.errorValue:55296>a||a>56319&&65535>=a?(b=(this.data[a>>p]<<j)+(a&e),this.data[b]):65535>=a?(b=(this.data[l+(a-55296>>p)]<<j)+(a&e),this.data[b]):a<this.highStart?(b=this.data[f-m+(a>>n)],b=this.data[b+(a>>p&i)],b=(b<<j)+(a&e),this.data[b]):this.data[this.data.length-c]},a.prototype.toJSON=function(){var a;return a={data:d.call(this.data),highStart:this.highStart,errorValue:this.errorValue}},a}(),a.exports=c},function(a,b){a.exports={data:[1961,1969,1977,1985,2025,2033,2041,2049,2057,2065,2073,2081,2089,2097,2105,2113,2121,2129,2137,2145,2153,2161,2169,2177,2185,2193,2201,2209,2217,2225,2233,2241,2249,2257,2265,2273,2281,2289,2297,2305,2313,2321,2329,2337,2345,2353,2361,2369,2377,2385,2393,2401,2409,2417,2425,2433,2441,2449,2457,2465,2473,2481,2489,2497,2505,2513,2521,2529,2529,2537,2009,2545,2553,2561,2569,2577,2585,2593,2601,2609,2617,2625,2633,2641,2649,2657,2665,2673,2681,2689,2697,2705,2713,2721,2729,2737,2745,2753,2761,2769,2777,2785,2793,2801,2809,2817,2825,2833,2841,2849,2857,2865,2873,2881,2889,2009,2897,2905,2913,2009,2921,2929,2937,2945,2953,2961,2969,2009,2977,2977,2985,2993,3001,3009,3009,3009,3017,3017,3017,3025,3025,3033,3041,3041,3049,3049,3049,3049,3049,3049,3049,3049,3049,3049,3057,3065,3073,3073,3073,3081,3089,3097,3097,3097,3097,3097,3097,3097,3097,3097,3097,3097,3097,3097,3097,3097,3097,3097,3097,3097,3105,3113,3113,3121,3129,3137,3145,3153,3161,3161,3169,3177,3185,3193,3193,3193,3193,3201,3209,3209,3217,3225,3233,3241,3241,3241,3249,3257,3265,3273,3273,3281,3289,3297,2009,2009,3305,3313,3321,3329,3337,3345,3353,3361,3369,3377,3385,3393,2009,2009,3401,3409,3417,3417,3417,3417,3417,3417,3425,3425,3433,3433,3433,3433,3433,3433,3433,3433,3433,3433,3433,3433,3433,3433,3433,3441,3449,3457,3465,3473,3481,3489,3497,3505,3513,3521,3529,3537,3545,3553,3561,3569,3577,3585,3593,3601,3609,3617,3625,3625,3633,3641,3649,3649,3649,3649,3649,3657,3665,3665,3673,3681,3681,3681,3681,3689,3697,3697,3705,3713,3721,3729,3737,3745,3753,3761,3769,3777,3785,3793,3801,3809,3817,3825,3833,3841,3849,3857,3865,3873,3881,3881,3881,3881,3881,3881,3881,3881,3881,3881,3881,3881,3889,3897,3905,3913,3921,3921,3921,3921,3921,3921,3921,3921,3921,3921,3929,2009,2009,2009,2009,2009,3937,3937,3937,3937,3937,3937,3937,3945,3953,3953,3953,3961,3969,3969,3977,3985,3993,4001,2009,2009,4009,4009,4009,4009,4009,4009,4009,4009,4009,4009,4009,4009,4017,4025,4033,4041,4049,4057,4065,4073,4081,4081,4081,4081,4081,4081,4081,4089,4097,4097,4105,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4113,4121,4121,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4129,4137,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4145,4153,4161,4169,4169,4169,4169,4169,4169,4169,4169,4177,4185,4193,4201,4209,4217,4217,4225,4233,4233,4233,4233,4233,4233,4233,4233,4241,4249,4257,4265,4273,4281,4289,4297,4305,4313,4321,4329,4337,4345,4353,4361,4361,4369,4377,4385,4385,4385,4385,4393,4401,4409,4409,4409,4409,4409,4409,4417,4425,4433,4441,4449,4457,4465,4473,4481,4489,4497,4505,4513,4521,4529,4537,4545,4553,4561,4569,4577,4585,4593,4601,4609,4617,4625,4633,4641,4649,4657,4665,4673,4681,4689,4697,4705,4713,4721,4729,4737,4745,4753,4761,4769,4777,4785,4793,4801,4809,4817,4825,4833,4841,4849,4857,4865,4873,4881,4889,4897,4905,4913,4921,4929,4937,4945,4953,4961,4969,4977,4985,4993,5001,5009,5017,5025,5033,5041,5049,5057,5065,5073,5081,5089,5097,5105,5113,5121,5129,5137,5145,5153,5161,5169,5177,5185,5193,5201,5209,5217,5225,5233,5241,5249,5257,5265,5273,5281,5289,5297,5305,5313,5321,5329,5337,5345,5353,5361,5369,5377,5385,5393,5401,5409,5417,5425,5433,5441,5449,5457,5465,5473,5481,5489,5497,5505,5513,5521,5529,5537,5545,5553,5561,5569,5577,5585,5593,5601,5609,5617,5625,5633,5641,5649,5657,5665,5673,5681,5689,5697,5705,5713,5721,5729,5737,5745,5753,5761,5769,5777,5785,5793,5801,5809,5817,5825,5833,5841,5849,5857,5865,5873,5881,5889,5897,5905,5913,5921,5929,5937,5945,5953,5961,5969,5977,5985,5993,6001,6009,6017,6025,6033,6041,6049,6057,6065,6073,6081,6089,6097,6105,6113,6121,6129,6137,6145,6153,6161,6169,6177,6185,6193,6201,6209,6217,6225,6233,6241,6249,6257,6265,6273,6281,6289,6297,6305,6313,6321,6329,6337,6345,6353,6361,6369,6377,6385,6393,6401,6409,6417,6425,6433,6441,6449,6457,6465,6473,6481,6489,6497,6505,6513,6521,6529,6537,6545,6553,6561,6569,6577,6585,6593,6601,6609,6617,6625,6633,6641,6649,6657,6665,6673,6681,6689,6697,6705,6713,6721,6729,6737,6745,6753,6761,6769,6777,6785,6793,6801,6809,6817,6825,6833,6841,6849,6857,6865,6873,6881,6889,6897,6905,6913,6921,6929,6937,6945,6953,6961,6969,6977,6985,6993,7001,7009,7017,7025,7033,7041,7049,7057,7065,7073,7081,7089,7097,7105,7113,7121,7129,7137,7145,7153,7161,7169,7177,7185,7193,7201,7209,7217,7225,7233,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,7249,7249,7249,7249,7249,7249,7249,7249,7249,7249,7249,7249,7249,7249,7249,7249,7257,7265,7273,7281,7281,7281,7281,7281,7281,7281,7281,7281,7281,7281,7281,7281,7281,7289,7297,7305,7305,7305,7305,7313,7321,7329,7337,7345,7353,7353,7353,7361,7369,7377,7385,7393,7401,7409,7417,7425,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7241,7972,7972,8100,8164,8228,8292,8356,8420,8484,8548,8612,8676,8740,8804,8868,8932,8996,9060,9124,9188,9252,9316,9380,9444,9508,9572,9636,9700,9764,9828,9892,9956,2593,2657,2721,2529,2785,2529,2849,2913,2977,3041,3105,3169,3233,3297,2529,2529,2529,2529,2529,2529,2529,2529,3361,2529,2529,2529,3425,2529,2529,3489,3553,2529,3617,3681,3745,3809,3873,3937,4001,4065,4129,4193,4257,4321,4385,4449,4513,4577,4641,4705,4769,4833,4897,4961,5025,5089,5153,5217,5281,5345,5409,5473,5537,5601,5665,5729,5793,5857,5921,5985,6049,6113,6177,6241,6305,6369,6433,6497,6561,6625,6689,6753,6817,6881,6945,7009,7073,7137,7201,7265,7329,7393,7457,7521,7585,7649,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,2529,7713,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,7433,7433,7433,7433,7433,7433,7433,7441,7449,7457,7457,7457,7457,7457,7457,7465,2009,2009,2009,2009,7473,7473,7473,7473,7473,7473,7473,7473,7481,7489,7497,7505,7505,7505,7505,7505,7513,7521,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,7529,7529,7537,7545,7545,7545,7545,7545,7553,7561,7561,7561,7561,7561,7561,7561,7569,7577,7585,7593,7593,7593,7593,7593,7593,7601,7609,7609,7609,7609,7609,7609,7609,7609,7609,7609,7609,7609,7609,7609,7609,7609,7609,7609,7609,7609,7609,7609,7609,7609,7609,7617,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,7625,7633,7641,7649,7657,7665,7673,7681,7689,7697,7705,2009,7713,7721,7729,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,7737,7745,7753,2009,2009,2009,2009,2009,2009,2009,2009,2009,7761,7761,7761,7761,7761,7761,7761,7761,7761,7761,7761,7761,7761,7761,7761,7761,7761,7761,7761,7761,7761,7761,7761,7761,7761,7761,7761,7761,7761,7761,7761,7761,7761,7761,7761,7769,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,7777,7777,7777,7777,7777,7777,7777,7777,7777,7777,7777,7777,7777,7777,7777,7777,7777,7777,7785,7793,7801,7809,7809,7809,7809,7809,7809,7817,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7825,7833,7841,7849,2009,2009,2009,7857,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,7865,7865,7865,7865,7865,7865,7865,7865,7865,7865,7865,7873,7881,7889,7897,7897,7897,7897,7905,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7913,7921,7929,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,7937,7937,7937,7937,7937,7937,7937,7945,2009,2009,2009,2009,2009,2009,2009,2009,7953,7953,7953,7953,7953,7953,7953,2009,7961,7969,7977,7985,7993,2009,2009,8001,8009,8009,8009,8009,8009,8009,8009,8009,8009,8009,8009,8009,8009,8017,8025,8025,8025,8025,8025,8025,8025,8033,8041,8049,8057,8065,8073,8081,8081,8081,8081,8081,8081,8081,8081,8081,8081,8081,8089,2009,8097,8097,8097,8105,2009,2009,2009,2009,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8113,8121,8129,8137,8137,8137,8137,8137,8137,8137,8137,8137,8137,8137,8137,8137,8137,8145,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,2009,67496,67496,67496,21,21,21,21,21,21,21,21,21,17,34,30,30,33,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,38,6,3,12,9,10,12,3,0,2,12,9,8,16,8,7,11,11,11,11,11,11,11,11,11,11,8,8,12,12,12,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,9,2,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,17,1,12,21,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,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,0,0,0,0,0,0,0,0,0,0,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,21,21,21,21,21,35,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,4,0,10,9,9,9,12,29,29,12,29,3,12,17,12,12,10,9,29,29,18,12,29,29,29,29,29,3,29,29,29,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,29,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,29,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,29,18,29,29,29,18,29,12,12,29,12,12,12,12,12,12,12,29,29,29,29,12,29,12,18,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,4,21,21,21,21,21,21,21,21,21,21,21,21,4,4,4,4,4,4,4,21,21,21,21,21,21,21,21,21,21,21,21,21,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,39,39,39,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,21,21,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,8,17,39,39,39,39,9,39,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,17,21,12,21,21,12,21,21,6,21,39,39,39,39,39,39,39,39,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,10,10,8,8,12,12,21,21,21,21,21,21,21,21,21,21,21,6,6,6,6,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,11,11,11,11,11,11,11,11,11,11,10,11,11,12,12,12,21,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,6,12,21,21,21,21,21,21,21,12,12,21,21,21,21,21,21,12,12,21,21,12,21,21,21,21,12,12,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,21,21,21,21,21,21,12,39,39,39,39,39,39,39,39,39,39,39,39,39,39,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,21,21,21,21,12,12,12,12,8,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,12,21,21,21,21,21,21,21,21,21,12,21,21,21,12,21,21,21,21,21,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,12,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,12,21,21,21,21,21,21,21,12,12,12,12,12,12,12,12,12,12,21,21,17,17,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,21,21,21,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,21,12,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,12,39,39,39,39,39,39,39,39,21,39,39,39,39,12,12,12,12,12,12,21,21,39,39,11,11,11,11,11,11,11,11,11,11,12,12,10,10,12,12,12,12,12,10,12,9,39,39,39,39,39,21,21,21,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,39,39,39,39,39,39,39,12,12,12,12,12,12,39,39,39,39,39,39,39,11,11,11,11,11,11,11,11,11,11,21,21,12,12,12,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,21,12,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,39,39,11,11,11,11,11,11,11,11,11,11,12,9,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,21,21,21,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,21,12,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,39,39,39,39,12,12,12,12,12,12,21,21,39,39,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,39,39,39,39,39,39,39,39,39,39,21,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,39,39,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,39,39,12,39,39,39,39,39,39,21,39,39,39,39,39,39,39,39,39,39,39,39,39,39,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,9,12,39,39,39,39,39,39,21,21,21,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,39,12,12,12,12,12,12,12,12,12,12,21,21,39,39,11,11,11,11,11,11,11,11,11,11,39,39,39,39,39,39,39,39,12,12,12,12,12,12,12,12,39,39,21,21,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,21,12,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,39,39,39,39,39,39,39,12,12,12,12,21,21,39,39,11,11,11,11,11,11,11,11,11,11,39,12,12,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,21,21,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,12,39,39,39,39,39,39,39,39,21,39,39,39,39,39,39,39,39,12,12,21,21,39,39,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,39,39,39,10,12,12,12,12,12,12,39,39,21,21,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,39,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,12,39,39,39,39,39,39,39,39,39,39,39,39,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,39,39,39,39,9,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,12,11,11,11,11,11,11,11,11,11,11,17,17,39,39,39,39,39,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,39,39,11,11,11,11,11,11,11,11,11,11,39,39,36,36,36,36,12,18,18,18,18,12,18,18,4,18,18,17,4,6,6,6,6,6,4,12,6,12,12,12,21,21,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,17,21,12,21,12,21,0,1,0,1,21,21,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,39,39,21,21,21,21,21,21,21,21,21,21,21,21,21,21,17,21,21,21,21,21,17,21,21,12,12,12,12,12,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,39,17,17,12,12,12,12,12,12,21,12,12,12,12,12,12,12,12,12,18,18,17,18,12,12,12,12,12,4,4,39,39,39,39,39,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,11,11,11,11,11,11,11,11,11,11,17,17,12,12,12,12,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,11,11,11,11,11,11,11,11,11,11,36,36,36,36,36,36,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,21,21,21,12,17,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,39,39,39,39,39,39,39,39,39,17,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,17,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,1,39,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,17,17,17,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,39,39,39,39,39,39,39,39,39,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,17,17,39,39,39,39,39,39,39,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,39,39,39,39,39,39,39,39,39,39,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,21,21,39,39,39,39,39,39,39,39,39,39,39,39,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,17,17,5,36,17,12,17,9,36,36,39,39,11,11,11,11,11,11,11,11,11,11,39,39,39,39,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,6,6,17,17,18,12,6,6,12,21,21,21,4,39,11,11,11,11,11,11,11,11,11,11,39,39,39,39,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,39,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,39,39,39,39,12,39,39,39,6,6,11,11,11,11,11,11,11,11,11,11,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,39,39,39,39,39,39,11,11,11,11,11,11,11,11,11,11,36,36,36,36,36,36,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,39,39,12,12,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,39,39,21,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,39,39,39,39,39,39,36,36,36,36,36,36,36,36,36,36,36,36,36,36,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,21,21,21,21,21,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,12,12,12,12,12,12,12,39,39,39,39,11,11,11,11,11,11,11,11,11,11,17,17,12,17,17,17,17,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,21,21,21,21,12,12,12,12,12,12,12,12,12,39,39,39,21,21,21,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,21,21,21,21,21,21,21,21,12,12,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,21,21,21,21,21,21,21,21,21,39,39,39,39,39,39,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,39,39,39,17,17,17,17,17,11,11,11,11,11,11,11,11,11,11,39,39,39,12,12,12,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,17,17,12,12,12,12,12,12,12,12,39,39,39,39,39,39,39,39,21,21,21,12,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,12,12,12,12,21,12,12,12,12,21,21,21,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,18,12,39,17,17,17,17,17,17,17,4,17,17,17,20,21,21,21,21,17,4,17,17,19,29,29,12,3,3,0,3,3,3,0,3,29,29,12,12,15,15,15,17,30,30,21,21,21,21,21,4,10,10,10,10,10,10,10,10,12,3,3,29,5,5,12,12,12,12,12,12,8,0,1,5,5,5,12,12,12,12,12,12,12,12,12,12,12,12,17,12,17,17,17,17,12,17,17,17,22,12,12,12,12,39,39,39,39,39,21,21,21,21,21,21,12,12,39,39,29,12,12,12,12,12,12,12,12,0,1,29,12,29,29,29,29,12,12,12,12,12,12,12,12,0,1,39,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,39,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,9,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,12,12,12,10,12,29,12,12,12,10,12,12,12,12,12,12,12,12,12,29,12,12,9,12,12,12,12,12,12,12,12,12,12,29,29,12,12,12,12,12,12,12,12,29,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,29,29,12,12,12,12,12,29,12,12,29,12,29,29,29,29,29,29,29,29,29,29,29,29,12,12,12,12,29,29,29,29,29,29,29,29,29,29,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,29,12,29,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,29,12,29,29,12,12,12,29,29,12,12,29,12,12,12,29,12,29,9,9,12,29,12,12,12,12,29,12,12,29,29,29,29,12,12,29,12,29,12,29,29,29,29,29,29,12,29,12,12,12,12,12,29,29,29,29,12,12,12,12,29,29,12,12,12,12,12,12,12,12,12,12,29,12,12,12,29,12,12,12,12,12,29,12,12,12,12,12,12,12,12,12,12,12,12,12,29,29,12,12,29,29,29,29,12,12,29,29,12,12,29,29,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,29,29,12,12,29,29,12,12,12,12,12,12,12,12,12,12,12,12,12,29,12,12,12,29,12,12,12,12,12,12,12,12,12,12,12,29,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,29,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,29,12,12,12,12,12,12,12,14,14,12,12,12,12,12,12,12,12,12,12,12,12,12,0,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,14,14,14,14,39,39,39,39,39,39,39,39,39,39,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,12,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,12,12,12,12,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,12,12,12,12,12,12,12,12,12,12,12,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,12,12,29,29,29,29,12,12,12,12,12,12,12,12,12,12,29,29,12,29,29,29,29,29,29,29,12,12,12,12,12,12,12,12,29,29,12,12,29,29,12,12,12,12,29,29,12,12,29,29,12,12,12,12,29,29,29,12,12,29,12,12,29,29,29,29,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,29,29,29,29,12,12,12,12,12,12,12,12,12,29,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,14,14,14,14,12,29,29,12,12,29,12,12,12,12,29,29,12,12,12,12,14,14,29,29,14,12,14,14,14,14,14,14,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,14,14,14,12,12,12,12,29,12,29,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,29,29,12,29,29,29,12,29,14,29,29,12,29,29,12,29,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,14,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,29,29,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,14,14,14,14,14,14,14,14,14,14,14,14,29,29,29,29,14,12,14,14,14,29,14,14,29,29,29,14,14,29,29,14,29,29,14,14,14,12,29,12,12,12,12,29,29,14,29,29,29,29,29,29,14,14,14,14,14,29,14,14,14,14,29,29,14,14,14,14,14,14,14,14,12,12,12,14,14,14,14,14,14,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,29,12,12,12,3,3,3,3,12,12,12,6,6,12,12,12,12,0,1,0,1,0,1,0,1,0,1,0,1,0,1,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,1,0,1,0,1,0,1,0,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,1,0,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,29,29,29,29,29,39,39,39,39,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,12,12,39,39,39,39,39,6,17,17,17,12,6,17,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,17,39,39,39,39,39,39,39,39,39,39,39,39,39,39,21,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,3,3,3,3,3,3,3,3,3,3,3,3,3,3,17,17,17,17,17,17,17,17,12,17,0,17,12,12,3,3,12,12,3,3,0,1,0,1,0,1,0,1,17,17,17,17,6,12,17,17,12,17,17,12,12,12,12,12,19,19,39,39,39,39,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,1,1,14,14,5,14,14,0,1,0,1,0,1,0,1,0,1,14,14,0,1,0,1,0,1,0,1,5,0,1,1,14,14,14,14,14,14,14,14,14,14,21,21,21,21,21,21,14,14,14,14,14,14,14,14,14,14,14,5,5,14,14,14,39,32,14,32,14,32,14,32,14,32,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,32,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,32,14,32,14,32,14,14,14,14,14,14,32,14,14,14,14,14,14,32,32,39,39,21,21,5,5,5,5,14,5,32,14,32,14,32,14,32,14,32,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,32,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,32,14,32,14,32,14,14,14,14,14,14,32,14,14,14,14,14,14,32,32,14,14,14,14,5,32,5,5,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,39,39,39,39,39,39,39,39,39,39,39,39,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,29,29,29,29,29,29,29,29,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,5,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,39,39,39,39,39,39,39,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,17,17,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,17,6,17,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,12,21,21,21,21,21,21,21,21,21,21,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,39,39,39,39,39,21,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,12,17,17,17,17,17,39,39,39,39,39,39,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,12,12,12,21,12,12,12,12,21,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,18,18,6,6,39,39,39,39,39,39,39,39,21,21,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,39,39,39,39,39,39,39,39,39,17,17,11,11,11,11,11,11,11,11,11,11,39,39,39,39,39,39,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,12,12,12,12,12,12,12,12,12,12,39,39,39,39,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,21,21,21,17,17,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,21,21,21,21,21,21,21,21,39,39,39,39,39,39,39,39,39,39,39,12,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,39,39,39,21,21,21,21,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,21,21,21,21,21,21,21,21,21,12,12,12,12,12,12,17,17,17,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,39,39,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,21,21,21,21,21,21,21,21,21,39,39,39,39,39,39,39,39,39,12,12,12,21,12,12,12,12,12,12,12,12,21,21,39,39,11,11,11,11,11,11,11,11,11,11,39,39,12,17,17,17,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,17,17,12,12,12,21,21,39,39,39,39,39,39,39,39,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,21,21,21,17,21,21,39,39,11,11,11,11,11,11,11,11,11,11,39,39,39,39,39,39,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,39,39,39,39,39,39,39,39,39,39,39,39,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,39,39,39,39,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,39,39,39,39,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,39,39,39,13,21,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,1,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,12,39,39,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,8,1,1,8,8,6,6,0,1,15,39,39,39,39,39,39,21,21,21,21,21,21,21,39,39,39,39,39,39,39,39,39,14,14,14,14,14,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,14,14,0,1,14,14,14,14,14,14,14,1,14,1,39,5,5,6,6,14,0,1,0,1,0,1,14,14,14,14,14,14,14,14,14,14,9,10,14,39,39,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,22,39,6,14,14,9,10,14,14,0,1,14,14,1,14,1,14,14,14,14,14,14,14,14,14,14,14,5,5,14,14,14,6,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,14,1,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,14,1,14,0,1,1,0,1,1,5,12,32,32,32,32,32,32,32,32,32,32,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,5,5,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,39,10,9,14,14,14,9,9,39,12,12,12,12,12,12,12,39,39,39,39,39,39,39,39,39,39,21,21,21,31,29,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,39,39,39,17,17,17,39,39,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,17,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,17,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,11,11,11,11,11,11,11,11,11,11,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,17,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,39,17,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,39,39,21,21,21,21,21,21,21,21,12,12,12,12,12,12,12,12,39,39,39,39,39,39,39,39,17,17,17,17,17,17,17,17,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,39,17,17,17,17,17,17,17,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,21,21,21,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,17,17,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,21,21,21,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,21,21,21,21,21,21,12,12,12,17,17,17,17,39,39,39,39,39,39,39,39,39,39,39,39,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,39,39,39,39,39,11,11,11,11,11,11,11,11,11,11,39,39,39,39,39,39,21,21,21,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,21,21,21,21,21,21,21,21,21,39,11,11,11,11,11,11,11,11,11,11,17,17,17,17,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,21,21,21,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,21,21,21,21,21,21,21,21,21,12,12,12,12,17,17,12,17,39,39,39,39,39,39,39,11,11,11,11,11,11,11,11,11,11,39,39,39,39,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,21,21,21,21,21,21,21,21,39,39,39,39,39,39,39,39,11,11,11,11,11,11,11,11,11,11,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,39,39,39,39,39,39,39,39,39,39,39,17,17,17,17,39,39,39,39,39,39,39,39,39,39,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,1,1,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,1,12,12,12,0,1,0,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,1,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,12,12,12,12,12,12,12,12,12,12,12,12,12,14,14,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,21,12,12,12,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,12,12,21,21,21,21,21,21,21,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,21,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,21,21,21,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,39,39,39,39,39,39,39,39,39,39,39,39,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,12,39,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,12,12,39,39,39,39,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,39,39,39,39,39,39,39,39,39,39,39,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,12,12,14,14,14,14,14,12,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,12,14,12,14,12,14,14,14,14,14,14,14,14,14,14,12,14,12,12,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,39,39,39,12,12,12,12,12,12,12,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,12,12,12,12,12,12,12,12,12,12,12,12,12,12,14,14,14,14,14,14,14,14,14,14,14,14,14,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,39,39,39,39,39,39,39,39,39,39,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,39,39,39,39,39,39,39,39,39,39,39,39,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,39,39,39,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39],
+highStart:919552,errorValue:0}},function(a,b){(function(){var a,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;b.OP=D=0,b.CL=j=1,b.CP=l=2,b.QU=G=3,b.GL=o=4,b.NS=B=5,b.EX=n=6,b.SY=L=7,b.IS=v=8,b.PR=F=9,b.PO=E=10,b.NU=C=11,b.AL=c=12,b.HL=r=13,b.ID=t=14,b.IN=u=15,b.HY=s=16,b.BA=e=17,b.BB=f=18,b.B2=d=19,b.ZW=O=20,b.CM=k=21,b.WJ=M=22,b.H2=p=23,b.H3=q=24,b.JL=w=25,b.JV=y=26,b.JT=x=27,b.RI=H=28,b.AI=a=29,b.BK=g=30,b.CB=h=31,b.CJ=i=32,b.CR=m=33,b.LF=z=34,b.NL=A=35,b.SA=I=36,b.SG=J=37,b.SP=K=38,b.XX=N=39}).call(this)},function(a,b){(function(){var a,c,d,e,f;b.DI_BRK=d=0,b.IN_BRK=e=1,b.CI_BRK=a=2,b.CP_BRK=c=3,b.PR_BRK=f=4,b.pairTable=[[f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,c,f,f,f,f,f,f,f],[d,f,f,e,e,f,f,f,f,e,e,d,d,d,d,d,e,e,d,d,f,a,f,d,d,d,d,d,d],[d,f,f,e,e,f,f,f,f,e,e,e,e,e,d,d,e,e,d,d,f,a,f,d,d,d,d,d,d],[f,f,f,e,e,e,f,f,f,e,e,e,e,e,e,e,e,e,e,e,f,a,f,e,e,e,e,e,e],[e,f,f,e,e,e,f,f,f,e,e,e,e,e,e,e,e,e,e,e,f,a,f,e,e,e,e,e,e],[d,f,f,e,e,e,f,f,f,d,d,d,d,d,d,d,e,e,d,d,f,a,f,d,d,d,d,d,d],[d,f,f,e,e,e,f,f,f,d,d,d,d,d,d,d,e,e,d,d,f,a,f,d,d,d,d,d,d],[d,f,f,e,e,e,f,f,f,d,d,e,d,d,d,d,e,e,d,d,f,a,f,d,d,d,d,d,d],[d,f,f,e,e,e,f,f,f,d,d,e,e,e,d,d,e,e,d,d,f,a,f,d,d,d,d,d,d],[e,f,f,e,e,e,f,f,f,d,d,e,e,e,e,d,e,e,d,d,f,a,f,e,e,e,e,e,d],[e,f,f,e,e,e,f,f,f,d,d,e,e,e,d,d,e,e,d,d,f,a,f,d,d,d,d,d,d],[e,f,f,e,e,e,f,f,f,e,e,e,e,e,d,e,e,e,d,d,f,a,f,d,d,d,d,d,d],[e,f,f,e,e,e,f,f,f,d,d,e,e,e,d,e,e,e,d,d,f,a,f,d,d,d,d,d,d],[e,f,f,e,e,e,f,f,f,d,d,e,e,e,d,e,e,e,d,d,f,a,f,d,d,d,d,d,d],[d,f,f,e,e,e,f,f,f,d,e,d,d,d,d,e,e,e,d,d,f,a,f,d,d,d,d,d,d],[d,f,f,e,e,e,f,f,f,d,d,d,d,d,d,e,e,e,d,d,f,a,f,d,d,d,d,d,d],[d,f,f,e,d,e,f,f,f,d,d,e,d,d,d,d,e,e,d,d,f,a,f,d,d,d,d,d,d],[d,f,f,e,d,e,f,f,f,d,d,d,d,d,d,d,e,e,d,d,f,a,f,d,d,d,d,d,d],[e,f,f,e,e,e,f,f,f,e,e,e,e,e,e,e,e,e,e,e,f,a,f,e,e,e,e,e,e],[d,f,f,e,e,e,f,f,f,d,d,d,d,d,d,d,e,e,d,f,f,a,f,d,d,d,d,d,d],[d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,f,d,d,d,d,d,d,d,d],[e,f,f,e,e,e,f,f,f,d,d,e,e,e,d,e,e,e,d,d,f,a,f,d,d,d,d,d,d],[e,f,f,e,e,e,f,f,f,e,e,e,e,e,e,e,e,e,e,e,f,a,f,e,e,e,e,e,e],[d,f,f,e,e,e,f,f,f,d,e,d,d,d,d,e,e,e,d,d,f,a,f,d,d,d,e,e,d],[d,f,f,e,e,e,f,f,f,d,e,d,d,d,d,e,e,e,d,d,f,a,f,d,d,d,d,e,d],[d,f,f,e,e,e,f,f,f,d,e,d,d,d,d,e,e,e,d,d,f,a,f,e,e,e,e,d,d],[d,f,f,e,e,e,f,f,f,d,e,d,d,d,d,e,e,e,d,d,f,a,f,d,d,d,e,e,d],[d,f,f,e,e,e,f,f,f,d,e,d,d,d,d,e,e,e,d,d,f,a,f,d,d,d,d,e,d],[d,f,f,e,e,e,f,f,f,d,d,d,d,d,d,d,e,e,d,d,f,a,f,d,d,d,d,d,e]]}).call(this)},function(a,b,c){(function(b){(function(){var d;d=c(97),a.exports={initImages:function(){return this._imageRegistry={},this._imageCount=0},image:function(a,c,e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t;return null==f&&(f={}),"object"==typeof c&&(f=c,c=null),c=null!=(r=null!=c?c:f.x)?r:this.x,e=null!=(s=null!=e?e:f.y)?s:this.y,b.isBuffer(a)||(l=this._imageRegistry[a]),l||(l=d.open(a,"I"+ ++this._imageCount),l.embed(this),b.isBuffer(a)||(this._imageRegistry[a]=l)),null==(p=this.page.xobjects)[q=l.label]&&(p[q]=l.obj),n=f.width||l.width,j=f.height||l.height,f.width&&!f.height?(o=n/l.width,n=l.width*o,j=l.height*o):f.height&&!f.width?(k=j/l.height,n=l.width*k,j=l.height*k):f.scale?(n=l.width*f.scale,j=l.height*f.scale):f.fit&&(t=f.fit,i=t[0],g=t[1],h=i/g,m=l.width/l.height,m>h?(n=i,j=i/m):(j=g,n=g*m),"center"===f.align?c=c+i/2-n/2:"right"===f.align&&(c=c+i-n),"center"===f.valign?e=e+g/2-j/2:"bottom"===f.valign&&(e=e+g-j)),this.y===e&&(this.y+=j),this.save(),this.transform(n,0,0,-j,c,e+j),this.addContent("/"+l.label+" Do"),this.restore(),this}}}).call(this)}).call(b,c(2).Buffer)},function(a,b,c){(function(b){(function(){var d,e,f,g,h;h=c(44),d=c(72),e=c(98),g=c(99),f=function(){function a(){}return a.open=function(a,c){var d,f;if(b.isBuffer(a))d=a;else if(f=/^data:.+;base64,(.*)$/.exec(a))d=new b(f[1],"base64");else if(d=h.readFileSync(a),!d)return;if(255===d[0]&&216===d[1])return new e(d,c);if(137===d[0]&&"PNG"===d.toString("ascii",1,4))return new g(d,c);throw new Error("Unknown image format.")},a}(),a.exports=f}).call(this)}).call(b,c(2).Buffer)},function(a,b,c){(function(){var b,d,e=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};d=c(44),b=function(){function a(a,c){var d,f,g;if(this.data=a,this.label=c,65496!==this.data.readUInt16BE(0))throw"SOI not found in JPEG";for(g=2;g<this.data.length&&(f=this.data.readUInt16BE(g),g+=2,!(e.call(b,f)>=0));)g+=this.data.readUInt16BE(g);if(e.call(b,f)<0)throw"Invalid JPEG.";g+=2,this.bits=this.data[g++],this.height=this.data.readUInt16BE(g),g+=2,this.width=this.data.readUInt16BE(g),g+=2,d=this.data[g++],this.colorSpace=function(){switch(d){case 1:return"DeviceGray";case 3:return"DeviceRGB";case 4:return"DeviceCMYK"}}(),this.obj=null}var b;return b=[65472,65473,65474,65475,65477,65478,65479,65480,65481,65482,65483,65484,65485,65486,65487],a.prototype.embed=function(a){return this.obj?void 0:(this.obj=a.ref({Type:"XObject",Subtype:"Image",BitsPerComponent:this.bits,Width:this.width,Height:this.height,ColorSpace:this.colorSpace,Filter:"DCTDecode"}),"DeviceCMYK"===this.colorSpace&&(this.obj.data.Decode=[1,0,1,0,1,0,1,0]),this.obj.end(this.data),this.data=null)},a}(),a.exports=b}).call(this)},function(a,b,c){(function(b){(function(){var d,e,f;f=c(47),d=c(100),e=function(){function a(a,b){this.label=b,this.image=new d(a),this.width=this.image.width,this.height=this.image.height,this.imgData=this.image.imgData,this.obj=null}return a.prototype.embed=function(a){var c,d,e,f,g,h,i,j;if(this.document=a,!this.obj){if(this.obj=a.ref({Type:"XObject",Subtype:"Image",BitsPerComponent:this.image.bits,Width:this.width,Height:this.height,Filter:"FlateDecode"}),this.image.hasAlphaChannel||(e=a.ref({Predictor:15,Colors:this.image.colors,BitsPerComponent:this.image.bits,Columns:this.width}),this.obj.data.DecodeParms=e,e.end()),0===this.image.palette.length?this.obj.data.ColorSpace=this.image.colorSpace:(d=a.ref(),d.end(new b(this.image.palette)),this.obj.data.ColorSpace=["Indexed","DeviceRGB",this.image.palette.length/3-1,d]),this.image.transparency.grayscale)return g=this.image.transparency.greyscale,this.obj.data.Mask=[g,g];if(this.image.transparency.rgb){for(f=this.image.transparency.rgb,c=[],i=0,j=f.length;j>i;i++)h=f[i],c.push(h,h);return this.obj.data.Mask=c}return this.image.transparency.indexed?this.loadIndexedAlphaChannel():this.image.hasAlphaChannel?this.splitAlphaChannel():this.finalize()}},a.prototype.finalize=function(){var a;return this.alphaChannel&&(a=this.document.ref({Type:"XObject",Subtype:"Image",Height:this.height,Width:this.width,BitsPerComponent:8,Filter:"FlateDecode",ColorSpace:"DeviceGray",Decode:[0,1]}),a.end(this.alphaChannel),this.obj.data.SMask=a),this.obj.end(this.imgData),this.image=null,this.imgData=null},a.prototype.splitAlphaChannel=function(){return this.image.decodePixels(function(a){return function(c){var d,e,g,h,i,j,k,l,m;for(g=a.image.colors*a.image.bits/8,m=a.width*a.height,j=new b(m*g),e=new b(m),i=l=d=0,k=c.length;k>i;)j[l++]=c[i++],j[l++]=c[i++],j[l++]=c[i++],e[d++]=c[i++];return h=0,f.deflate(j,function(b,c){if(a.imgData=c,b)throw b;return 2===++h?a.finalize():void 0}),f.deflate(e,function(b,c){if(a.alphaChannel=c,b)throw b;return 2===++h?a.finalize():void 0})}}(this))},a.prototype.loadIndexedAlphaChannel=function(a){var c;return c=this.image.transparency.indexed,this.image.decodePixels(function(a){return function(d){var e,g,h,i,j;for(e=new b(a.width*a.height),g=0,h=i=0,j=d.length;j>i;h=i+=1)e[g++]=c[d[h]];return f.deflate(e,function(b,c){if(a.alphaChannel=c,b)throw b;return a.finalize()})}}(this))},a}(),a.exports=e}).call(this)}).call(b,c(2).Buffer)},function(a,b,c){(function(b){(function(){var d,e,f;e=c(44),f=c(47),a.exports=d=function(){function a(a){var c,d,e,f,g,h,i,j,k,l,m;for(this.data=a,this.pos=8,this.palette=[],this.imgData=[],this.transparency={},this.text={};;){switch(c=this.readUInt32(),h=function(){var a,b;for(b=[],e=a=0;4>a;e=++a)b.push(String.fromCharCode(this.data[this.pos++]));return b}.call(this).join("")){case"IHDR":this.width=this.readUInt32(),this.height=this.readUInt32(),this.bits=this.data[this.pos++],this.colorType=this.data[this.pos++],this.compressionMethod=this.data[this.pos++],this.filterMethod=this.data[this.pos++],this.interlaceMethod=this.data[this.pos++];break;case"PLTE":this.palette=this.read(c);break;case"IDAT":for(e=k=0;c>k;e=k+=1)this.imgData.push(this.data[this.pos++]);break;case"tRNS":switch(this.transparency={},this.colorType){case 3:if(this.transparency.indexed=this.read(c),i=255-this.transparency.indexed.length,i>0)for(e=l=0;i>=0?i>l:l>i;e=i>=0?++l:--l)this.transparency.indexed.push(255);break;case 0:this.transparency.grayscale=this.read(c)[0];break;case 2:this.transparency.rgb=this.read(c)}break;case"tEXt":j=this.read(c),f=j.indexOf(0),g=String.fromCharCode.apply(String,j.slice(0,f)),this.text[g]=String.fromCharCode.apply(String,j.slice(f+1));break;case"IEND":return this.colors=function(){switch(this.colorType){case 0:case 3:case 4:return 1;case 2:case 6:return 3}}.call(this),this.hasAlphaChannel=4===(m=this.colorType)||6===m,d=this.colors+(this.hasAlphaChannel?1:0),this.pixelBitlength=this.bits*d,this.colorSpace=function(){switch(this.colors){case 1:return"DeviceGray";case 3:return"DeviceRGB"}}.call(this),void(this.imgData=new b(this.imgData));default:this.pos+=c}if(this.pos+=4,this.pos>this.data.length)throw new Error("Incomplete or corrupt PNG file")}}return a.decode=function(b,c){return e.readFile(b,function(b,d){var e;return e=new a(d),e.decode(function(a){return c(a)})})},a.load=function(b){var c;return c=e.readFileSync(b),new a(c)},a.prototype.read=function(a){var b,c,d;for(d=[],b=c=0;a>=0?a>c:c>a;b=a>=0?++c:--c)d.push(this.data[this.pos++]);return d},a.prototype.readUInt32=function(){var a,b,c,d;return a=this.data[this.pos++]<<24,b=this.data[this.pos++]<<16,c=this.data[this.pos++]<<8,d=this.data[this.pos++],a|b|c|d},a.prototype.readUInt16=function(){var a,b;return a=this.data[this.pos++]<<8,b=this.data[this.pos++],a|b},a.prototype.decodePixels=function(a){var c=this;return f.inflate(this.imgData,function(d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B;if(d)throw d;for(q=c.pixelBitlength/8,u=q*c.width,r=new b(u*c.height),k=e.length,t=0,s=0,g=0;k>s;){switch(e[s++]){case 0:for(i=x=0;u>x;i=x+=1)r[g++]=e[s++];break;case 1:for(i=y=0;u>y;i=y+=1)f=e[s++],j=q>i?0:r[g-q],r[g++]=(f+j)%256;break;case 2:for(i=z=0;u>z;i=z+=1)f=e[s++],h=(i-i%q)/q,v=t&&r[(t-1)*u+h*q+i%q],r[g++]=(v+f)%256;break;case 3:for(i=A=0;u>A;i=A+=1)f=e[s++],h=(i-i%q)/q,j=q>i?0:r[g-q],v=t&&r[(t-1)*u+h*q+i%q],r[g++]=(f+Math.floor((j+v)/2))%256;break;case 4:for(i=B=0;u>B;i=B+=1)f=e[s++],h=(i-i%q)/q,j=q>i?0:r[g-q],0===t?v=w=0:(v=r[(t-1)*u+h*q+i%q],w=h&&r[(t-1)*u+(h-1)*q+i%q]),l=j+v-w,m=Math.abs(l-j),o=Math.abs(l-v),p=Math.abs(l-w),n=o>=m&&p>=m?j:p>=o?v:w,r[g++]=(f+n)%256;break;default:throw new Error("Invalid filter algorithm: "+e[s-1])}t++}return a(r)})},a.prototype.decodePalette=function(){var a,c,d,e,f,g,h,i,j,k;for(e=this.palette,h=this.transparency.indexed||[],g=new b(h.length+e.length),f=0,d=e.length,a=0,c=i=0,j=e.length;j>i;c=i+=3)g[f++]=e[c],g[f++]=e[c+1],g[f++]=e[c+2],g[f++]=null!=(k=h[a++])?k:255;return g},a.prototype.copyToImageData=function(a,b){var c,d,e,f,g,h,i,j,k,l,m;if(d=this.colors,k=null,c=this.hasAlphaChannel,this.palette.length&&(k=null!=(m=this._decodedPalette)?m:this._decodedPalette=this.decodePalette(),d=4,c=!0),e=(null!=a?a.data:void 0)||a,j=e.length,g=k||b,f=h=0,1===d)for(;j>f;)i=k?4*b[f/4]:h,l=g[i++],e[f++]=l,e[f++]=l,e[f++]=l,e[f++]=c?g[i++]:255,h=i;else for(;j>f;)i=k?4*b[f/4]:h,e[f++]=g[i++],e[f++]=g[i++],e[f++]=g[i++],e[f++]=c?g[i++]:255,h=i},a.prototype.decode=function(a){var c,d=this;return c=new b(this.width*this.height*4),this.decodePixels(function(b){return d.copyToImageData(c,b),a(c)})},a}()}).call(this)}).call(b,c(2).Buffer)},function(a,b){(function(){a.exports={annotate:function(a,b,c,d,e){var f,g,h;e.Type="Annot",e.Rect=this._convertRect(a,b,c,d),e.Border=[0,0,0],"Link"!==e.Subtype&&null==e.C&&(e.C=this._normalizeColor(e.color||[0,0,0])),delete e.color,"string"==typeof e.Dest&&(e.Dest=new String(e.Dest));for(f in e)h=e[f],e[f[0].toUpperCase()+f.slice(1)]=h;return g=this.ref(e),this.page.annotations.push(g),g.end(),this},note:function(a,b,c,d,e,f){return null==f&&(f={}),f.Subtype="Text",f.Contents=new String(e),f.Name="Comment",null==f.color&&(f.color=[243,223,92]),this.annotate(a,b,c,d,f)},link:function(a,b,c,d,e,f){return null==f&&(f={}),f.Subtype="Link",f.A=this.ref({S:"URI",URI:new String(e)}),f.A.end(),this.annotate(a,b,c,d,f)},_markup:function(a,b,c,d,e){var f,g,h,i,j;return null==e&&(e={}),j=this._convertRect(a,b,c,d),f=j[0],h=j[1],g=j[2],i=j[3],e.QuadPoints=[f,i,g,i,f,h,g,h],e.Contents=new String,this.annotate(a,b,c,d,e)},highlight:function(a,b,c,d,e){return null==e&&(e={}),e.Subtype="Highlight",null==e.color&&(e.color=[241,238,148]),this._markup(a,b,c,d,e)},underline:function(a,b,c,d,e){return null==e&&(e={}),e.Subtype="Underline",this._markup(a,b,c,d,e)},strike:function(a,b,c,d,e){return null==e&&(e={}),e.Subtype="StrikeOut",this._markup(a,b,c,d,e)},lineAnnotation:function(a,b,c,d,e){return null==e&&(e={}),e.Subtype="Line",e.Contents=new String,e.L=[a,this.page.height-b,c,this.page.height-d],this.annotate(a,b,c,d,e)},rectAnnotation:function(a,b,c,d,e){return null==e&&(e={}),e.Subtype="Square",e.Contents=new String,this.annotate(a,b,c,d,e)},ellipseAnnotation:function(a,b,c,d,e){return null==e&&(e={}),e.Subtype="Circle",e.Contents=new String,this.annotate(a,b,c,d,e)},textAnnotation:function(a,b,c,d,e,f){return null==f&&(f={}),f.Subtype="FreeText",f.Contents=new String(e),f.DA=new String,this.annotate(a,b,c,d,f)},_convertRect:function(a,b,c,d){var e,f,g,h,i,j,k,l,m;return l=b,b+=d,k=a+c,m=this._ctm,e=m[0],f=m[1],g=m[2],h=m[3],i=m[4],j=m[5],a=e*a+g*b+i,b=f*a+h*b+j,k=e*k+g*l+i,l=f*k+h*l+j,[a,b,k,l]}}}).call(this)},function(a,b){a.exports={"4A0":[4767.87,6740.79],"2A0":[3370.39,4767.87],A0:[2383.94,3370.39],A1:[1683.78,2383.94],A2:[1190.55,1683.78],A3:[841.89,1190.55],A4:[595.28,841.89],A5:[419.53,595.28],A6:[297.64,419.53],A7:[209.76,297.64],A8:[147.4,209.76],A9:[104.88,147.4],A10:[73.7,104.88],B0:[2834.65,4008.19],B1:[2004.09,2834.65],B2:[1417.32,2004.09],B3:[1000.63,1417.32],B4:[708.66,1000.63],B5:[498.9,708.66],B6:[354.33,498.9],B7:[249.45,354.33],B8:[175.75,249.45],B9:[124.72,175.75],B10:[87.87,124.72],C0:[2599.37,3676.54],C1:[1836.85,2599.37],C2:[1298.27,1836.85],C3:[918.43,1298.27],C4:[649.13,918.43],C5:[459.21,649.13],C6:[323.15,459.21],C7:[229.61,323.15],C8:[161.57,229.61],C9:[113.39,161.57],C10:[79.37,113.39],RA0:[2437.8,3458.27],RA1:[1729.13,2437.8],RA2:[1218.9,1729.13],RA3:[864.57,1218.9],RA4:[609.45,864.57],SRA0:[2551.18,3628.35],SRA1:[1814.17,2551.18],SRA2:[1275.59,1814.17],SRA3:[907.09,1275.59],SRA4:[637.8,907.09],EXECUTIVE:[521.86,756],FOLIO:[612,936],LEGAL:[612,1008],LETTER:[612,792],TABLOID:[792,1224]}},function(a,b,c){(function(b){"use strict";function d(a,b){this.pdfDoc=a,this.imageDictionary=b||{}}var e=(c(24),c(97));d.prototype.measureImage=function(a){function c(a){var c=g.imageDictionary[a];if(!c)return a;var d=c.indexOf("base64,");if(0>d)throw"invalid image format, images dictionary should contain dataURL entries";return new b(c.substring(d+7),"base64")}var d,f,g=this;return this.pdfDoc._imageRegistry[a]?d=this.pdfDoc._imageRegistry[a]:(f="I"+ ++this.pdfDoc._imageCount,d=e.open(c(a),f),d.embed(this.pdfDoc),this.pdfDoc._imageRegistry[a]=d),{width:d.width,height:d.height}},a.exports=d}).call(b,c(2).Buffer)},function(a,b){"use strict";function c(a){for(var b=[],c=null,d=0,e=a.inlines.length;e>d;d++){var f=a.inlines[d],g=f.decoration;if(g){var h=f.decorationColor||f.color||"black",i=f.decorationStyle||"solid";g=Array.isArray(g)?g:[g];for(var j=0,k=g.length;k>j;j++){var l=g[j];c&&l===c.decoration&&i===c.decorationStyle&&h===c.decorationColor&&"lineThrough"!==l?c.inlines.push(f):(c={line:a,decoration:l,decorationColor:h,decorationStyle:i,inlines:[f]},b.push(c))}}else c=null}return b}function d(a,b,c,d){function e(){for(var b=0,c=0,d=a.inlines.length;d>c;c++){var e=a.inlines[c];b=e.fontSize>b?c:b}return a.inlines[b]}function f(){for(var b=0,c=0,d=a.inlines.length;d>c;c++)b+=a.inlines[c].width;return b}var g=a.inlines[0],h=e(),i=f(),j=a.line.getAscenderHeight(),k=h.font.ascender/1e3*h.fontSize,l=h.height,m=l-k,n=.5+.12*Math.floor(Math.max(h.fontSize-8,0)/2);switch(a.decoration){case"underline":c+=j+.45*m;break;case"overline":c+=j-.85*k;break;case"lineThrough":c+=j-.25*k;break;default:throw"Unkown decoration : "+a.decoration}if(d.save(),"double"===a.decorationStyle){var o=Math.max(.5,2*n);d.fillColor(a.decorationColor).rect(b+g.x,c-n/2,i,n/2).fill().rect(b+g.x,c+o-n/2,i,n/2).fill()}else if("dashed"===a.decorationStyle){var p=Math.ceil(i/6.8),q=b+g.x;d.rect(q,c,i,n).clip(),d.fillColor(a.decorationColor);for(var r=0;p>r;r++)d.rect(q,c-n/2,3.96,n).fill(),q+=6.8}else if("dotted"===a.decorationStyle){var s=Math.ceil(i/(3*n)),t=b+g.x;d.rect(t,c,i,n).clip(),d.fillColor(a.decorationColor);for(var u=0;s>u;u++)d.rect(t,c-n/2,n,n).fill(),t+=3*n}else if("wavy"===a.decorationStyle){var v=.7,w=1,x=Math.ceil(i/(2*v))+1,y=b+g.x-1;d.rect(b+g.x,c-w,i,c+w).clip(),d.lineWidth(.24),d.moveTo(y,c);for(var z=0;x>z;z++)d.bezierCurveTo(y+v,c-w,y+2*v,c-w,y+3*v,c).bezierCurveTo(y+4*v,c+w,y+5*v,c+w,y+6*v,c),y+=6*v;d.stroke(a.decorationColor)}else d.fillColor(a.decorationColor).rect(b+g.x,c-n/2,i,n).fill();d.restore()}function e(a,b,e,f){for(var g=c(a),h=0,i=g.length;i>h;h++)d(g[h],b,e,f)}function f(a,b,c,d){for(var e=a.getHeight(),f=0,g=a.inlines.length;g>f;f++){var h=a.inlines[f];h.background&&d.fillColor(h.background).rect(b+h.x,c,h.width,e).fill()}}a.exports={drawBackground:f,drawDecorations:e}},function(a,b,c){var d,e,f=f||function(a){"use strict";if("undefined"==typeof navigator||!/MSIE [1-9]\./.test(navigator.userAgent)){var b=a.document,c=function(){return a.URL||a.webkitURL||a},d=b.createElementNS("http://www.w3.org/1999/xhtml","a"),e="download"in d,f=function(a){var b=new MouseEvent("click");a.dispatchEvent(b)},g=a.webkitRequestFileSystem,h=a.requestFileSystem||g||a.mozRequestFileSystem,i=function(b){(a.setImmediate||a.setTimeout)(function(){throw b},0)},j="application/octet-stream",k=0,l=500,m=function(b){var d=function(){"string"==typeof b?c().revokeObjectURL(b):b.remove()};a.chrome?d():setTimeout(d,l)},n=function(a,b,c){b=[].concat(b);for(var d=b.length;d--;){var e=a["on"+b[d]];if("function"==typeof e)try{e.call(a,c||a)}catch(f){i(f)}}},o=function(a){return/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a.type)?new Blob(["\ufeff",a],{type:a.type}):a},p=function(b,i,l){l||(b=o(b));var p,q,r,s=this,t=b.type,u=!1,v=function(){n(s,"writestart progress write writeend".split(" "))},w=function(){if((u||!p)&&(p=c().createObjectURL(b)),q)q.location.href=p;else{var d=a.open(p,"_blank");void 0==d&&"undefined"!=typeof safari&&(a.location.href=p)}s.readyState=s.DONE,v(),m(p)},x=function(a){return function(){return s.readyState!==s.DONE?a.apply(this,arguments):void 0}},y={create:!0,exclusive:!1};return s.readyState=s.INIT,i||(i="download"),e?(p=c().createObjectURL(b),d.href=p,d.download=i,void setTimeout(function(){f(d),v(),m(p),s.readyState=s.DONE})):(a.chrome&&t&&t!==j&&(r=b.slice||b.webkitSlice,b=r.call(b,0,b.size,j),u=!0),g&&"download"!==i&&(i+=".download"),(t===j||g)&&(q=a),h?(k+=b.size,void h(a.TEMPORARY,k,x(function(a){a.root.getDirectory("saved",y,x(function(a){var c=function(){a.getFile(i,y,x(function(a){a.createWriter(x(function(c){c.onwriteend=function(b){q.location.href=a.toURL(),s.readyState=s.DONE,n(s,"writeend",b),m(a)},c.onerror=function(){var a=c.error;a.code!==a.ABORT_ERR&&w()},"writestart progress write abort".split(" ").forEach(function(a){c["on"+a]=s["on"+a]}),c.write(b),s.abort=function(){c.abort(),s.readyState=s.DONE},s.readyState=s.WRITING}),w)}),w)};a.getFile(i,{create:!1},x(function(a){a.remove(),c()}),x(function(a){a.code===a.NOT_FOUND_ERR?c():w()}))}),w)}),w)):void w())},q=p.prototype,r=function(a,b,c){return new p(a,b,c)};return"undefined"!=typeof navigator&&navigator.msSaveOrOpenBlob?function(a,b,c){return c||(a=o(a)),navigator.msSaveOrOpenBlob(a,b||"download")}:(q.abort=function(){var a=this;a.readyState=a.DONE,n(a,"abort")},q.readyState=q.INIT=0,q.WRITING=1,q.DONE=2,q.error=q.onwritestart=q.onprogress=q.onwrite=q.onabort=q.onerror=q.onwriteend=null,r)}}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content);"undefined"!=typeof a&&a.exports?a.exports.saveAs=f:null!==c(106)&&null!=c(107)&&(d=[],e=function(){return f}.apply(b,d),!(void 0!==e&&(a.exports=e)))},function(a,b){a.exports=function(){throw new Error("define cannot be used indirect")}},function(a,b){(function(b){a.exports=b}).call(b,{})}]),window.pdfMake=window.pdfMake||{},window.pdfMake.vfs={"LICENSE.txt":"DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcGFjaGUgTGljZW5zZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbiAyLjAsIEphbnVhcnkgMjAwNA0KICAgICAgICAgICAgICAgICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzLw0KDQogICBURVJNUyBBTkQgQ09ORElUSU9OUyBGT1IgVVNFLCBSRVBST0RVQ1RJT04sIEFORCBESVNUUklCVVRJT04NCg0KICAgMS4gRGVmaW5pdGlvbnMuDQoNCiAgICAgICJMaWNlbnNlIiBzaGFsbCBtZWFuIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgdXNlLCByZXByb2R1Y3Rpb24sDQogICAgICBhbmQgZGlzdHJpYnV0aW9uIGFzIGRlZmluZWQgYnkgU2VjdGlvbnMgMSB0aHJvdWdoIDkgb2YgdGhpcyBkb2N1bWVudC4NCg0KICAgICAgIkxpY2Vuc29yIiBzaGFsbCBtZWFuIHRoZSBjb3B5cmlnaHQgb3duZXIgb3IgZW50aXR5IGF1dGhvcml6ZWQgYnkNCiAgICAgIHRoZSBjb3B5cmlnaHQgb3duZXIgdGhhdCBpcyBncmFudGluZyB0aGUgTGljZW5zZS4NCg0KICAgICAgIkxlZ2FsIEVudGl0eSIgc2hhbGwgbWVhbiB0aGUgdW5pb24gb2YgdGhlIGFjdGluZyBlbnRpdHkgYW5kIGFsbA0KICAgICAgb3RoZXIgZW50aXRpZXMgdGhhdCBjb250cm9sLCBhcmUgY29udHJvbGxlZCBieSwgb3IgYXJlIHVuZGVyIGNvbW1vbg0KICAgICAgY29udHJvbCB3aXRoIHRoYXQgZW50aXR5LiBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwNCiAgICAgICJjb250cm9sIiBtZWFucyAoaSkgdGhlIHBvd2VyLCBkaXJlY3Qgb3IgaW5kaXJlY3QsIHRvIGNhdXNlIHRoZQ0KICAgICAgZGlyZWN0aW9uIG9yIG1hbmFnZW1lbnQgb2Ygc3VjaCBlbnRpdHksIHdoZXRoZXIgYnkgY29udHJhY3Qgb3INCiAgICAgIG90aGVyd2lzZSwgb3IgKGlpKSBvd25lcnNoaXAgb2YgZmlmdHkgcGVyY2VudCAoNTAlKSBvciBtb3JlIG9mIHRoZQ0KICAgICAgb3V0c3RhbmRpbmcgc2hhcmVzLCBvciAoaWlpKSBiZW5lZmljaWFsIG93bmVyc2hpcCBvZiBzdWNoIGVudGl0eS4NCg0KICAgICAgIllvdSIgKG9yICJZb3VyIikgc2hhbGwgbWVhbiBhbiBpbmRpdmlkdWFsIG9yIExlZ2FsIEVudGl0eQ0KICAgICAgZXhlcmNpc2luZyBwZXJtaXNzaW9ucyBncmFudGVkIGJ5IHRoaXMgTGljZW5zZS4NCg0KICAgICAgIlNvdXJjZSIgZm9ybSBzaGFsbCBtZWFuIHRoZSBwcmVmZXJyZWQgZm9ybSBmb3IgbWFraW5nIG1vZGlmaWNhdGlvbnMsDQogICAgICBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIHNvZnR3YXJlIHNvdXJjZSBjb2RlLCBkb2N1bWVudGF0aW9uDQogICAgICBzb3VyY2UsIGFuZCBjb25maWd1cmF0aW9uIGZpbGVzLg0KDQogICAgICAiT2JqZWN0IiBmb3JtIHNoYWxsIG1lYW4gYW55IGZvcm0gcmVzdWx0aW5nIGZyb20gbWVjaGFuaWNhbA0KICAgICAgdHJhbnNmb3JtYXRpb24gb3IgdHJhbnNsYXRpb24gb2YgYSBTb3VyY2UgZm9ybSwgaW5jbHVkaW5nIGJ1dA0KICAgICAgbm90IGxpbWl0ZWQgdG8gY29tcGlsZWQgb2JqZWN0IGNvZGUsIGdlbmVyYXRlZCBkb2N1bWVudGF0aW9uLA0KICAgICAgYW5kIGNvbnZlcnNpb25zIHRvIG90aGVyIG1lZGlhIHR5cGVzLg0KDQogICAgICAiV29yayIgc2hhbGwgbWVhbiB0aGUgd29yayBvZiBhdXRob3JzaGlwLCB3aGV0aGVyIGluIFNvdXJjZSBvcg0KICAgICAgT2JqZWN0IGZvcm0sIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSBMaWNlbnNlLCBhcyBpbmRpY2F0ZWQgYnkgYQ0KICAgICAgY29weXJpZ2h0IG5vdGljZSB0aGF0IGlzIGluY2x1ZGVkIGluIG9yIGF0dGFjaGVkIHRvIHRoZSB3b3JrDQogICAgICAoYW4gZXhhbXBsZSBpcyBwcm92aWRlZCBpbiB0aGUgQXBwZW5kaXggYmVsb3cpLg0KDQogICAgICAiRGVyaXZhdGl2ZSBXb3JrcyIgc2hhbGwgbWVhbiBhbnkgd29yaywgd2hldGhlciBpbiBTb3VyY2Ugb3IgT2JqZWN0DQogICAgICBmb3JtLCB0aGF0IGlzIGJhc2VkIG9uIChvciBkZXJpdmVkIGZyb20pIHRoZSBXb3JrIGFuZCBmb3Igd2hpY2ggdGhlDQogICAgICBlZGl0b3JpYWwgcmV2aXNpb25zLCBhbm5vdGF0aW9ucywgZWxhYm9yYXRpb25zLCBvciBvdGhlciBtb2RpZmljYXRpb25zDQogICAgICByZXByZXNlbnQsIGFzIGEgd2hvbGUsIGFuIG9yaWdpbmFsIHdvcmsgb2YgYXV0aG9yc2hpcC4gRm9yIHRoZSBwdXJwb3Nlcw0KICAgICAgb2YgdGhpcyBMaWNlbnNlLCBEZXJpdmF0aXZlIFdvcmtzIHNoYWxsIG5vdCBpbmNsdWRlIHdvcmtzIHRoYXQgcmVtYWluDQogICAgICBzZXBhcmFibGUgZnJvbSwgb3IgbWVyZWx5IGxpbmsgKG9yIGJpbmQgYnkgbmFtZSkgdG8gdGhlIGludGVyZmFjZXMgb2YsDQogICAgICB0aGUgV29yayBhbmQgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mLg0KDQogICAgICAiQ29udHJpYnV0aW9uIiBzaGFsbCBtZWFuIGFueSB3b3JrIG9mIGF1dGhvcnNoaXAsIGluY2x1ZGluZw0KICAgICAgdGhlIG9yaWdpbmFsIHZlcnNpb24gb2YgdGhlIFdvcmsgYW5kIGFueSBtb2RpZmljYXRpb25zIG9yIGFkZGl0aW9ucw0KICAgICAgdG8gdGhhdCBXb3JrIG9yIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZiwgdGhhdCBpcyBpbnRlbnRpb25hbGx5DQogICAgICBzdWJtaXR0ZWQgdG8gTGljZW5zb3IgZm9yIGluY2x1c2lvbiBpbiB0aGUgV29yayBieSB0aGUgY29weXJpZ2h0IG93bmVyDQogICAgICBvciBieSBhbiBpbmRpdmlkdWFsIG9yIExlZ2FsIEVudGl0eSBhdXRob3JpemVkIHRvIHN1Ym1pdCBvbiBiZWhhbGYgb2YNCiAgICAgIHRoZSBjb3B5cmlnaHQgb3duZXIuIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBkZWZpbml0aW9uLCAic3VibWl0dGVkIg0KICAgICAgbWVhbnMgYW55IGZvcm0gb2YgZWxlY3Ryb25pYywgdmVyYmFsLCBvciB3cml0dGVuIGNvbW11bmljYXRpb24gc2VudA0KICAgICAgdG8gdGhlIExpY2Vuc29yIG9yIGl0cyByZXByZXNlbnRhdGl2ZXMsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8NCiAgICAgIGNvbW11bmljYXRpb24gb24gZWxlY3Ryb25pYyBtYWlsaW5nIGxpc3RzLCBzb3VyY2UgY29kZSBjb250cm9sIHN5c3RlbXMsDQogICAgICBhbmQgaXNzdWUgdHJhY2tpbmcgc3lzdGVtcyB0aGF0IGFyZSBtYW5hZ2VkIGJ5LCBvciBvbiBiZWhhbGYgb2YsIHRoZQ0KICAgICAgTGljZW5zb3IgZm9yIHRoZSBwdXJwb3NlIG9mIGRpc2N1c3NpbmcgYW5kIGltcHJvdmluZyB0aGUgV29yaywgYnV0DQogICAgICBleGNsdWRpbmcgY29tbXVuaWNhdGlvbiB0aGF0IGlzIGNvbnNwaWN1b3VzbHkgbWFya2VkIG9yIG90aGVyd2lzZQ0KICAgICAgZGVzaWduYXRlZCBpbiB3cml0aW5nIGJ5IHRoZSBjb3B5cmlnaHQgb3duZXIgYXMgIk5vdCBhIENvbnRyaWJ1dGlvbi4iDQoNCiAgICAgICJDb250cmlidXRvciIgc2hhbGwgbWVhbiBMaWNlbnNvciBhbmQgYW55IGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5DQogICAgICBvbiBiZWhhbGYgb2Ygd2hvbSBhIENvbnRyaWJ1dGlvbiBoYXMgYmVlbiByZWNlaXZlZCBieSBMaWNlbnNvciBhbmQNCiAgICAgIHN1YnNlcXVlbnRseSBpbmNvcnBvcmF0ZWQgd2l0aGluIHRoZSBXb3JrLg0KDQogICAyLiBHcmFudCBvZiBDb3B5cmlnaHQgTGljZW5zZS4gU3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YNCiAgICAgIHRoaXMgTGljZW5zZSwgZWFjaCBDb250cmlidXRvciBoZXJlYnkgZ3JhbnRzIHRvIFlvdSBhIHBlcnBldHVhbCwNCiAgICAgIHdvcmxkd2lkZSwgbm9uLWV4Y2x1c2l2ZSwgbm8tY2hhcmdlLCByb3lhbHR5LWZyZWUsIGlycmV2b2NhYmxlDQogICAgICBjb3B5cmlnaHQgbGljZW5zZSB0byByZXByb2R1Y2UsIHByZXBhcmUgRGVyaXZhdGl2ZSBXb3JrcyBvZiwNCiAgICAgIHB1YmxpY2x5IGRpc3BsYXksIHB1YmxpY2x5IHBlcmZvcm0sIHN1YmxpY2Vuc2UsIGFuZCBkaXN0cmlidXRlIHRoZQ0KICAgICAgV29yayBhbmQgc3VjaCBEZXJpdmF0aXZlIFdvcmtzIGluIFNvdXJjZSBvciBPYmplY3QgZm9ybS4NCg0KICAgMy4gR3JhbnQgb2YgUGF0ZW50IExpY2Vuc2UuIFN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mDQogICAgICB0aGlzIExpY2Vuc2UsIGVhY2ggQ29udHJpYnV0b3IgaGVyZWJ5IGdyYW50cyB0byBZb3UgYSBwZXJwZXR1YWwsDQogICAgICB3b3JsZHdpZGUsIG5vbi1leGNsdXNpdmUsIG5vLWNoYXJnZSwgcm95YWx0eS1mcmVlLCBpcnJldm9jYWJsZQ0KICAgICAgKGV4Y2VwdCBhcyBzdGF0ZWQgaW4gdGhpcyBzZWN0aW9uKSBwYXRlbnQgbGljZW5zZSB0byBtYWtlLCBoYXZlIG1hZGUsDQogICAgICB1c2UsIG9mZmVyIHRvIHNlbGwsIHNlbGwsIGltcG9ydCwgYW5kIG90aGVyd2lzZSB0cmFuc2ZlciB0aGUgV29yaywNCiAgICAgIHdoZXJlIHN1Y2ggbGljZW5zZSBhcHBsaWVzIG9ubHkgdG8gdGhvc2UgcGF0ZW50IGNsYWltcyBsaWNlbnNhYmxlDQogICAgICBieSBzdWNoIENvbnRyaWJ1dG9yIHRoYXQgYXJlIG5lY2Vzc2FyaWx5IGluZnJpbmdlZCBieSB0aGVpcg0KICAgICAgQ29udHJpYnV0aW9uKHMpIGFsb25lIG9yIGJ5IGNvbWJpbmF0aW9uIG9mIHRoZWlyIENvbnRyaWJ1dGlvbihzKQ0KICAgICAgd2l0aCB0aGUgV29yayB0byB3aGljaCBzdWNoIENvbnRyaWJ1dGlvbihzKSB3YXMgc3VibWl0dGVkLiBJZiBZb3UNCiAgICAgIGluc3RpdHV0ZSBwYXRlbnQgbGl0aWdhdGlvbiBhZ2FpbnN0IGFueSBlbnRpdHkgKGluY2x1ZGluZyBhDQogICAgICBjcm9zcy1jbGFpbSBvciBjb3VudGVyY2xhaW0gaW4gYSBsYXdzdWl0KSBhbGxlZ2luZyB0aGF0IHRoZSBXb3JrDQogICAgICBvciBhIENvbnRyaWJ1dGlvbiBpbmNvcnBvcmF0ZWQgd2l0aGluIHRoZSBXb3JrIGNvbnN0aXR1dGVzIGRpcmVjdA0KICAgICAgb3IgY29udHJpYnV0b3J5IHBhdGVudCBpbmZyaW5nZW1lbnQsIHRoZW4gYW55IHBhdGVudCBsaWNlbnNlcw0KICAgICAgZ3JhbnRlZCB0byBZb3UgdW5kZXIgdGhpcyBMaWNlbnNlIGZvciB0aGF0IFdvcmsgc2hhbGwgdGVybWluYXRlDQogICAgICBhcyBvZiB0aGUgZGF0ZSBzdWNoIGxpdGlnYXRpb24gaXMgZmlsZWQuDQoNCiAgIDQuIFJlZGlzdHJpYnV0aW9uLiBZb3UgbWF5IHJlcHJvZHVjZSBhbmQgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlDQogICAgICBXb3JrIG9yIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZiBpbiBhbnkgbWVkaXVtLCB3aXRoIG9yIHdpdGhvdXQNCiAgICAgIG1vZGlmaWNhdGlvbnMsIGFuZCBpbiBTb3VyY2Ugb3IgT2JqZWN0IGZvcm0sIHByb3ZpZGVkIHRoYXQgWW91DQogICAgICBtZWV0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoNCg0KICAgICAgKGEpIFlvdSBtdXN0IGdpdmUgYW55IG90aGVyIHJlY2lwaWVudHMgb2YgdGhlIFdvcmsgb3INCiAgICAgICAgICBEZXJpdmF0aXZlIFdvcmtzIGEgY29weSBvZiB0aGlzIExpY2Vuc2U7IGFuZA0KDQogICAgICAoYikgWW91IG11c3QgY2F1c2UgYW55IG1vZGlmaWVkIGZpbGVzIHRvIGNhcnJ5IHByb21pbmVudCBub3RpY2VzDQogICAgICAgICAgc3RhdGluZyB0aGF0IFlvdSBjaGFuZ2VkIHRoZSBmaWxlczsgYW5kDQoNCiAgICAgIChjKSBZb3UgbXVzdCByZXRhaW4sIGluIHRoZSBTb3VyY2UgZm9ybSBvZiBhbnkgRGVyaXZhdGl2ZSBXb3Jrcw0KICAgICAgICAgIHRoYXQgWW91IGRpc3RyaWJ1dGUsIGFsbCBjb3B5cmlnaHQsIHBhdGVudCwgdHJhZGVtYXJrLCBhbmQNCiAgICAgICAgICBhdHRyaWJ1dGlvbiBub3RpY2VzIGZyb20gdGhlIFNvdXJjZSBmb3JtIG9mIHRoZSBXb3JrLA0KICAgICAgICAgIGV4Y2x1ZGluZyB0aG9zZSBub3RpY2VzIHRoYXQgZG8gbm90IHBlcnRhaW4gdG8gYW55IHBhcnQgb2YNCiAgICAgICAgICB0aGUgRGVyaXZhdGl2ZSBXb3JrczsgYW5kDQoNCiAgICAgIChkKSBJZiB0aGUgV29yayBpbmNsdWRlcyBhICJOT1RJQ0UiIHRleHQgZmlsZSBhcyBwYXJ0IG9mIGl0cw0KICAgICAgICAgIGRpc3RyaWJ1dGlvbiwgdGhlbiBhbnkgRGVyaXZhdGl2ZSBXb3JrcyB0aGF0IFlvdSBkaXN0cmlidXRlIG11c3QNCiAgICAgICAgICBpbmNsdWRlIGEgcmVhZGFibGUgY29weSBvZiB0aGUgYXR0cmlidXRpb24gbm90aWNlcyBjb250YWluZWQNCiAgICAgICAgICB3aXRoaW4gc3VjaCBOT1RJQ0UgZmlsZSwgZXhjbHVkaW5nIHRob3NlIG5vdGljZXMgdGhhdCBkbyBub3QNCiAgICAgICAgICBwZXJ0YWluIHRvIGFueSBwYXJ0IG9mIHRoZSBEZXJpdmF0aXZlIFdvcmtzLCBpbiBhdCBsZWFzdCBvbmUNCiAgICAgICAgICBvZiB0aGUgZm9sbG93aW5nIHBsYWNlczogd2l0aGluIGEgTk9USUNFIHRleHQgZmlsZSBkaXN0cmlidXRlZA0KICAgICAgICAgIGFzIHBhcnQgb2YgdGhlIERlcml2YXRpdmUgV29ya3M7IHdpdGhpbiB0aGUgU291cmNlIGZvcm0gb3INCiAgICAgICAgICBkb2N1bWVudGF0aW9uLCBpZiBwcm92aWRlZCBhbG9uZyB3aXRoIHRoZSBEZXJpdmF0aXZlIFdvcmtzOyBvciwNCiAgICAgICAgICB3aXRoaW4gYSBkaXNwbGF5IGdlbmVyYXRlZCBieSB0aGUgRGVyaXZhdGl2ZSBXb3JrcywgaWYgYW5kDQogICAgICAgICAgd2hlcmV2ZXIgc3VjaCB0aGlyZC1wYXJ0eSBub3RpY2VzIG5vcm1hbGx5IGFwcGVhci4gVGhlIGNvbnRlbnRzDQogICAgICAgICAgb2YgdGhlIE5PVElDRSBmaWxlIGFyZSBmb3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5IGFuZA0KICAgICAgICAgIGRvIG5vdCBtb2RpZnkgdGhlIExpY2Vuc2UuIFlvdSBtYXkgYWRkIFlvdXIgb3duIGF0dHJpYnV0aW9uDQogICAgICAgICAgbm90aWNlcyB3aXRoaW4gRGVyaXZhdGl2ZSBXb3JrcyB0aGF0IFlvdSBkaXN0cmlidXRlLCBhbG9uZ3NpZGUNCiAgICAgICAgICBvciBhcyBhbiBhZGRlbmR1bSB0byB0aGUgTk9USUNFIHRleHQgZnJvbSB0aGUgV29yaywgcHJvdmlkZWQNCiAgICAgICAgICB0aGF0IHN1Y2ggYWRkaXRpb25hbCBhdHRyaWJ1dGlvbiBub3RpY2VzIGNhbm5vdCBiZSBjb25zdHJ1ZWQNCiAgICAgICAgICBhcyBtb2RpZnlpbmcgdGhlIExpY2Vuc2UuDQoNCiAgICAgIFlvdSBtYXkgYWRkIFlvdXIgb3duIGNvcHlyaWdodCBzdGF0ZW1lbnQgdG8gWW91ciBtb2RpZmljYXRpb25zIGFuZA0KICAgICAgbWF5IHByb3ZpZGUgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQgbGljZW5zZSB0ZXJtcyBhbmQgY29uZGl0aW9ucw0KICAgICAgZm9yIHVzZSwgcmVwcm9kdWN0aW9uLCBvciBkaXN0cmlidXRpb24gb2YgWW91ciBtb2RpZmljYXRpb25zLCBvcg0KICAgICAgZm9yIGFueSBzdWNoIERlcml2YXRpdmUgV29ya3MgYXMgYSB3aG9sZSwgcHJvdmlkZWQgWW91ciB1c2UsDQogICAgICByZXByb2R1Y3Rpb24sIGFuZCBkaXN0cmlidXRpb24gb2YgdGhlIFdvcmsgb3RoZXJ3aXNlIGNvbXBsaWVzIHdpdGgNCiAgICAgIHRoZSBjb25kaXRpb25zIHN0YXRlZCBpbiB0aGlzIExpY2Vuc2UuDQoNCiAgIDUuIFN1Ym1pc3Npb24gb2YgQ29udHJpYnV0aW9ucy4gVW5sZXNzIFlvdSBleHBsaWNpdGx5IHN0YXRlIG90aGVyd2lzZSwNCiAgICAgIGFueSBDb250cmlidXRpb24gaW50ZW50aW9uYWxseSBzdWJtaXR0ZWQgZm9yIGluY2x1c2lvbiBpbiB0aGUgV29yaw0KICAgICAgYnkgWW91IHRvIHRoZSBMaWNlbnNvciBzaGFsbCBiZSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YNCiAgICAgIHRoaXMgTGljZW5zZSwgd2l0aG91dCBhbnkgYWRkaXRpb25hbCB0ZXJtcyBvciBjb25kaXRpb25zLg0KICAgICAgTm90d2l0aHN0YW5kaW5nIHRoZSBhYm92ZSwgbm90aGluZyBoZXJlaW4gc2hhbGwgc3VwZXJzZWRlIG9yIG1vZGlmeQ0KICAgICAgdGhlIHRlcm1zIG9mIGFueSBzZXBhcmF0ZSBsaWNlbnNlIGFncmVlbWVudCB5b3UgbWF5IGhhdmUgZXhlY3V0ZWQNCiAgICAgIHdpdGggTGljZW5zb3IgcmVnYXJkaW5nIHN1Y2ggQ29udHJpYnV0aW9ucy4NCg0KICAgNi4gVHJhZGVtYXJrcy4gVGhpcyBMaWNlbnNlIGRvZXMgbm90IGdyYW50IHBlcm1pc3Npb24gdG8gdXNlIHRoZSB0cmFkZQ0KICAgICAgbmFtZXMsIHRyYWRlbWFya3MsIHNlcnZpY2UgbWFya3MsIG9yIHByb2R1Y3QgbmFtZXMgb2YgdGhlIExpY2Vuc29yLA0KICAgICAgZXhjZXB0IGFzIHJlcXVpcmVkIGZvciByZWFzb25hYmxlIGFuZCBjdXN0b21hcnkgdXNlIGluIGRlc2NyaWJpbmcgdGhlDQogICAgICBvcmlnaW4gb2YgdGhlIFdvcmsgYW5kIHJlcHJvZHVjaW5nIHRoZSBjb250ZW50IG9mIHRoZSBOT1RJQ0UgZmlsZS4NCg0KICAgNy4gRGlzY2xhaW1lciBvZiBXYXJyYW50eS4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yDQogICAgICBhZ3JlZWQgdG8gaW4gd3JpdGluZywgTGljZW5zb3IgcHJvdmlkZXMgdGhlIFdvcmsgKGFuZCBlYWNoDQogICAgICBDb250cmlidXRvciBwcm92aWRlcyBpdHMgQ29udHJpYnV0aW9ucykgb24gYW4gIkFTIElTIiBCQVNJUywNCiAgICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvcg0KICAgICAgaW1wbGllZCwgaW5jbHVkaW5nLCB3aXRob3V0IGxpbWl0YXRpb24sIGFueSB3YXJyYW50aWVzIG9yIGNvbmRpdGlvbnMNCiAgICAgIG9mIFRJVExFLCBOT04tSU5GUklOR0VNRU5ULCBNRVJDSEFOVEFCSUxJVFksIG9yIEZJVE5FU1MgRk9SIEENCiAgICAgIFBBUlRJQ1VMQVIgUFVSUE9TRS4gWW91IGFyZSBzb2xlbHkgcmVzcG9uc2libGUgZm9yIGRldGVybWluaW5nIHRoZQ0KICAgICAgYXBwcm9wcmlhdGVuZXNzIG9mIHVzaW5nIG9yIHJlZGlzdHJpYnV0aW5nIHRoZSBXb3JrIGFuZCBhc3N1bWUgYW55DQogICAgICByaXNrcyBhc3NvY2lhdGVkIHdpdGggWW91ciBleGVyY2lzZSBvZiBwZXJtaXNzaW9ucyB1bmRlciB0aGlzIExpY2Vuc2UuDQoNCiAgIDguIExpbWl0YXRpb24gb2YgTGlhYmlsaXR5LiBJbiBubyBldmVudCBhbmQgdW5kZXIgbm8gbGVnYWwgdGhlb3J5LA0KICAgICAgd2hldGhlciBpbiB0b3J0IChpbmNsdWRpbmcgbmVnbGlnZW5jZSksIGNvbnRyYWN0LCBvciBvdGhlcndpc2UsDQogICAgICB1bmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgKHN1Y2ggYXMgZGVsaWJlcmF0ZSBhbmQgZ3Jvc3NseQ0KICAgICAgbmVnbGlnZW50IGFjdHMpIG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzaGFsbCBhbnkgQ29udHJpYnV0b3IgYmUNCiAgICAgIGxpYWJsZSB0byBZb3UgZm9yIGRhbWFnZXMsIGluY2x1ZGluZyBhbnkgZGlyZWN0LCBpbmRpcmVjdCwgc3BlY2lhbCwNCiAgICAgIGluY2lkZW50YWwsIG9yIGNvbnNlcXVlbnRpYWwgZGFtYWdlcyBvZiBhbnkgY2hhcmFjdGVyIGFyaXNpbmcgYXMgYQ0KICAgICAgcmVzdWx0IG9mIHRoaXMgTGljZW5zZSBvciBvdXQgb2YgdGhlIHVzZSBvciBpbmFiaWxpdHkgdG8gdXNlIHRoZQ0KICAgICAgV29yayAoaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBkYW1hZ2VzIGZvciBsb3NzIG9mIGdvb2R3aWxsLA0KICAgICAgd29yayBzdG9wcGFnZSwgY29tcHV0ZXIgZmFpbHVyZSBvciBtYWxmdW5jdGlvbiwgb3IgYW55IGFuZCBhbGwNCiAgICAgIG90aGVyIGNvbW1lcmNpYWwgZGFtYWdlcyBvciBsb3NzZXMpLCBldmVuIGlmIHN1Y2ggQ29udHJpYnV0b3INCiAgICAgIGhhcyBiZWVuIGFkdmlzZWQgb2YgdGhlIHBvc3NpYmlsaXR5IG9mIHN1Y2ggZGFtYWdlcy4NCg0KICAgOS4gQWNjZXB0aW5nIFdhcnJhbnR5IG9yIEFkZGl0aW9uYWwgTGlhYmlsaXR5LiBXaGlsZSByZWRpc3RyaWJ1dGluZw0KICAgICAgdGhlIFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mLCBZb3UgbWF5IGNob29zZSB0byBvZmZlciwNCiAgICAgIGFuZCBjaGFyZ2UgYSBmZWUgZm9yLCBhY2NlcHRhbmNlIG9mIHN1cHBvcnQsIHdhcnJhbnR5LCBpbmRlbW5pdHksDQogICAgICBvciBvdGhlciBsaWFiaWxpdHkgb2JsaWdhdGlvbnMgYW5kL29yIHJpZ2h0cyBjb25zaXN0ZW50IHdpdGggdGhpcw0KICAgICAgTGljZW5zZS4gSG93ZXZlciwgaW4gYWNjZXB0aW5nIHN1Y2ggb2JsaWdhdGlvbnMsIFlvdSBtYXkgYWN0IG9ubHkNCiAgICAgIG9uIFlvdXIgb3duIGJlaGFsZiBhbmQgb24gWW91ciBzb2xlIHJlc3BvbnNpYmlsaXR5LCBub3Qgb24gYmVoYWxmDQogICAgICBvZiBhbnkgb3RoZXIgQ29udHJpYnV0b3IsIGFuZCBvbmx5IGlmIFlvdSBhZ3JlZSB0byBpbmRlbW5pZnksDQogICAgICBkZWZlbmQsIGFuZCBob2xkIGVhY2ggQ29udHJpYnV0b3IgaGFybWxlc3MgZm9yIGFueSBsaWFiaWxpdHkNCiAgICAgIGluY3VycmVkIGJ5LCBvciBjbGFpbXMgYXNzZXJ0ZWQgYWdhaW5zdCwgc3VjaCBDb250cmlidXRvciBieSByZWFzb24NCiAgICAgIG9mIHlvdXIgYWNjZXB0aW5nIGFueSBzdWNoIHdhcnJhbnR5IG9yIGFkZGl0aW9uYWwgbGlhYmlsaXR5Lg0KDQogICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMNCg0KICAgQVBQRU5ESVg6IEhvdyB0byBhcHBseSB0aGUgQXBhY2hlIExpY2Vuc2UgdG8geW91ciB3b3JrLg0KDQogICAgICBUbyBhcHBseSB0aGUgQXBhY2hlIExpY2Vuc2UgdG8geW91ciB3b3JrLCBhdHRhY2ggdGhlIGZvbGxvd2luZw0KICAgICAgYm9pbGVycGxhdGUgbm90aWNlLCB3aXRoIHRoZSBmaWVsZHMgZW5jbG9zZWQgYnkgYnJhY2tldHMgIltdIg0KICAgICAgcmVwbGFjZWQgd2l0aCB5b3VyIG93biBpZGVudGlmeWluZyBpbmZvcm1hdGlvbi4gKERvbid0IGluY2x1ZGUNCiAgICAgIHRoZSBicmFja2V0cyEpICBUaGUgdGV4dCBzaG91bGQgYmUgZW5jbG9zZWQgaW4gdGhlIGFwcHJvcHJpYXRlDQogICAgICBjb21tZW50IHN5bnRheCBmb3IgdGhlIGZpbGUgZm9ybWF0LiBXZSBhbHNvIHJlY29tbWVuZCB0aGF0IGENCiAgICAgIGZpbGUgb3IgY2xhc3MgbmFtZSBhbmQgZGVzY3JpcHRpb24gb2YgcHVycG9zZSBiZSBpbmNsdWRlZCBvbiB0aGUNCiAgICAgIHNhbWUgInByaW50ZWQgcGFnZSIgYXMgdGhlIGNvcHlyaWdodCBub3RpY2UgZm9yIGVhc2llcg0KICAgICAgaWRlbnRpZmljYXRpb24gd2l0aGluIHRoaXJkLXBhcnR5IGFyY2hpdmVzLg0KDQogICBDb3B5cmlnaHQgW3l5eXldIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0NCg0KICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7DQogICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuDQogICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQNCg0KICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KDQogICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlDQogICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQogICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQogICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCg==",
+"Roboto-Italic.ttf":"AAEAAAAOAIAAAwBgR0RFRgsuCy8AATmYAAAASEdQT1OC3T4oAAE54AAAkPhHU1VCeolvLwABytgAAANsT1MvMrivKS4AAAFoAAAAYFZETVhu6nZPAAASPAAABeBjbWFwg/CFnwAAGBwAAA7yZ2x5ZqugYnAAACcQAADhjGhlYWQVl+THAAAA7AAAADZoaGVhK3TmIgAAASQAAAAkaG10eH7tDo8AAAHIAAAQdGxvY2H/CzayAAEInAAACDxtYXhwBDwA9gAAAUgAAAAgbmFtZW3ArcAAARDYAAAEb3Bvc3QJy9dbAAEVSAAAJE0AAQAAAAEAAERFNtJfDzz1AAkIAAAAAADE8BEuAAAAAM2Cslz6t9PdKU8IYgACAAkAAgAAAAAAAAABAAAHbP4MAAAJA/q32vUpTwABAAAAAAAAAAAAAAAAAAAEHQABAAAEHQCWABYAXgAFAAEAAAAAAAAAAAAAAAAAAwABAAMEQQGQAAUAAAWaBTMAAAEfBZoFMwAAA9EAZgIAAAAAAAAAAAAAAAAA4AAC/1AAIFsAAAAgAAAAAHB5cnMAAQAA//0GAP4AAGYHmgIAIAABn08BAAAEOgWwAAAAIAACAeMAAAAAAAAB4wAAAeMAAAJ1AMUErABDBDoARwV7ANMErAAbAVcAxgKBAFcCiP+MA0AAoQRCAHIBgf+YAhUAPgIGAEYDH/+mBDoAUAQ6AXAEOgAtBDoANQQ6ACcEOgBoBDoAZwQ6ANgEOgA1BDoAfwHpAEYB8f/GA9EAZQQ6AI4D7gBWA5IAwga0ABME/v/VBMsAWATBAGIE8ABYBGIAWARfAFgFJgBoBVgAWAIkAGIEJQAPBH4APgQgAFgGkgBYBVkAWAUcAF4EzQBYBTsAXgT4AFcEjQBDBHoA7AUSAGcE3QDNBpUA7AS9//wEpgDuBDIAIAIKABIDHAD3Agr/lwMnAHwDa/+WAl0A8wQgADoERAA1A/wARwREAEQD+QBHApsAigRDADcERAA1AegARAH2/x0D2QA2AegARAaLADUERAA1BEQARgRE/+IERABEAqQANQPuADsCaQBvBEQAWgPIAJcFrACyA8j/6QPI/7wDyAAIApEAUQHhADYCkf+pBRgAggHh/+sEHQBXBGAALQVVACYEjgBxAdkAAQSc/8gDvwEnBd4AUgNeAMIDjABwBCsApgXfAFIDewEDAtABBQQGAE4DMQCnAzgAqgJoAPsERP/rA7EAhwH/AMMB4//OAg8BBANtAM8DiwA1BdUBDgY7ARsGgQC6A7f/8wcF/54EBABIBR0AJgRvAEgEeQAwBlIABARnACYESgBqBEUATARY/+sFRABVAegAPgQxAD4D8wBJAhEARwUwAEYERAA1BygATwbHAEQB6ABEApb/ZgUjAFkETgBGBToAZwSuAFoB7/8bA/kAPAOWAUgDYgFeAzgBCwINAUECkQEiAhP/twOXAQgCzwEHAnoAHQAK/fIACv5BAAr9WAAK/kYACv1LAAr83AHzAWQD1AFBAgAAwwQuAFcFS//MBR0ATwTs/94ETQAiBVoAWARN//EFXwBXBS8AigUAAB0EPwBABHL/9QPIALMERABBBAsAKQPsAIsERAA1BEYAVgJ5AH4EKv/RA7AAOgR6AHAERP/iBAsASQREAEMD7gC3BBwAWgVNAD8FRABDBisAXQSiAFoD/wCzBeEAZAWfANsFEgBmCAj/3ggTAFcGGgDyBVoAVwS7AEgFqv+WBtP/ygR0ACAFWQBYBU//3gS3AKMF0QBbBX8AVwUnANEHDgBXB0cAVwWrAMkGggBXBLkASAURAIcGrABiBM4ADAQnAEQETgBAAygAPgSQ/5oFvP/DA9IAHgRaAEAEFQBABFv/1QWSAEAEWQBABFoAQAOfAJAFbwBABHkAQAQYAH8GEgBABjoANQSlAIYF2ABABBYAQAQLADMGHgBABCH/1QRFADUEDABRBlj/1QZzAEAERQA1BFoAQAaRAGgFtwBFBBQAPga2AGMFmQA8BIb/2AQF/7wGmAB0BaoAXQZrADoFigA6CHsAYgddAD4D5f/HA5//xgUdAF0ERQBGBL4A6APIALMFHQBPBEUARgaLAGwFtwBIBpIAaAW4AEUE5ABkBAgASgSyAFUACv09AAr9ZAAK/m8ACv6QAAr6twAK+tYEFAA+BMsAVwRD/+IEHwBIA1wANQSXAFcDyQA1BL0ASAQ+AD4GJADzBTQApQdEAFcFVQA1B6kAVwaGADUFjQBlBIkATga/AOgFCwCIBR0A0QQmAJcFHQDQBc8ArgR0ACUEvQBIBBsAPgVYAFcERAA1BSsARgRgADYEYP/tBHIACgMY//sEtQA2BjQANgZzAEAF7wDoBNkAiAQIAM8DywC8B0H/8QYM/+wHfQBOBjUANQSoAGAD3gBGBVIA1wTPAKwFEQBqA9UAAAehAAAD1QAAB6EAAAKSAAAB7wAAAU4AAAQ4AAACEwAAAY8AAADMAAAACgAABS8A6QYSAQADb/9oAY0A1gGNALEBjP+kAY7/YQK7ANYCwgC9Aqn/pAQkAJUESQAQApAArwOPAEcFDABHByYArgJGAIACRgAhA24ACQN0AIsDLgCjBGAALQYmAEkD/gBgBYkA4wOXAGcIOABOBLQBIwTGAHwGUAD+BtwArAcIAKoGbQEeBFkAJgU/ADkEZ/+7BEoAzwSIAGgHqABJAfL/OwQ7AFAD7wCOA/YASAP9AEcDyQBnAjYAjwJ1AJQB7f/mBC0AaAAKAAAHq/+1B6wAhwPfAB8DXAAnBDoAUQLg/+AB6P8dAhH/egF+/8IDbQE3A2wBNwNsATcDyAEPA9ABCwPIAF8DxwEXA20BDQHrAS8Eb//UBDIAPgRJAE0EYAA+BAQAPgPfAD4EhgBKBKsAPgHoAD4DzwALBBwAPgOEAD4FlwA+BMoAPgR/AE0ElQBNBGMAPgQrACMD7gC9BLMAWARwAL4FoQDUBEH/4wQcALUD/v/5BDMASgJNAKwDqQAPA9YAIAQjACUEJQAeA+8ATgOEAL0D7gAjA+cAbQIPAH8DKAAiAzgAJQLTAO0DRwArA0gAQALjAI8DTwAuAzgAZANtAD4DZwC5ApEBKwMbAPUEOgAuBDoAJwQ6AGEESwBkA/n/kQQBAOsEMP/OBDoANQR7AEAERABBBPAAWAQgADcE3gBXBNMAWAPZADYE7ABYA9gANgQ6AH0EMgA+AzgBCwHjAAACFQA+BTMAXgUzAF4EYgBTBHoA7AJpAAcE/v/VBP7/1QT+/9UE/v/VBP7/1QT+/9UE/v/VBMsAYgRiAFgEYgBYBGIAWARiAFgCJABiAiQAYgIkAGICJABiBVkAWAU7AF4FOwBeBTsAXgU7AF4FOwBeBRIAZwUSAGcFEgBnBRIAZwSmAO4EIAA6BCAAOgQgADoEIAA6BCAAOgQgADoEIAA6A/wARwP5AEcD+QBHA/kARwP5AEcB6AA+AegAPgHoAD4B6AA+BEQANQREAEYERABGBEQARgREAEYERABGBEQAWgREAFoERABaBEQAWgPI/7wDyP+8BP7/1QQgADoE/v/VBCAAOgT+/9UEIAA6BMsAYgP8AEcEywBiA/wARwTLAGID/ABHBMsAYgP8AEcFFQBYBNoARARiAFgD+QBHBGIAWAP5AEcEYgBYA/kARwRiAFgD+QBHBGIAWAP5AEcFJgBoBEMANwUmAGgEQwA3BSYAaARDADcFJgBoBEMANwVYAFgERAA1AiQAYgHoAD4CJABiAegAPgIkAGIB6AA+AiT/mgHo/3sCJABiBkkAYgPeAEQEJQAPAe//GwTTAD4D2QA2BCAAWAHoAEQEIABYAej/qAQgAFgCfgBEBCAAWALEAEQFWQBYBEQANQVZAFgERAA1BVkAWAREADUERAA1BTsAXgREAEYFOwBeBEQARgU7AF4ERABGBPgAVwKkADUE+ABXAqT/pgT4AFcCpAA1BJgAQwPuADsEmABDA+4AOwSYAEMD7gA7BJgAQwPuADsEmABDA+4AOwR6AOwCaQBFBHoA7AJpAG8EegDsApEAbwUSAGcERABaBRIAZwREAFoFEgBnBEQAWgUSAGcERABaBRIAZwREAFoFEgBnBEQAWgaVAOwFrACyBKYA7gPI/7wEpgDuBH0AIAPIAAgEfQAgA8gACAR9ACADyAAIBwX/ngZSAAQFHQAmBEUATARgAAsEYAALA+4AvQRv/9QEb//UBG//1ARv/9QEb//UBG//1ARv/9QESQBNBAQAPgQEAD4EBAA+BAQAPgHoAD4B6AA+AegAPgHoAD4EygA+BH8ATQR/AE0EfwBNBH8ATQR/AE0EswBYBLMAWASzAFgEswBYBBwAtQRv/9QEb//UBG//1ARJAE0ESQBNBEkATQRJAE0EYAA+BAQAPgQEAD4EBAA+BAQAPgQEAD4EhgBKBIYASgSGAEoEhgBKBKsAPgHoAD4B6AA+AegAPgHo/3MB6AA+A88ACwQcAD4DhAA+A4QAPgOEAD4DhAA+BMoAPgTKAD4EygA+BH8ATQR/AE0EfwBNBGMAPgRjAD4EYwA+BCsAIwQrACMEKwAjBCsAIwPuAJcD7gC9BLMAWASzAFgEswBYBLMAWASzAFgEswBYBaEA1AQcALUEHAC1A/7/+QP+//kD/v/5CFYAIwT+/9UExgCbBbwAvAKIAMYFTwByBQoASQUUADECeQBsBP7/1QTLAFgEYgBYBH0AIAVYAFgCJABiBNMAPgaSAFgFWQBYBTsAXgTNAFgEegDsBKYA7gS9//wCJABiBKYA7gQ/AEAECwApBEQANQJ5AH4EHABaBDEAPgREAEYERP/rA8gAlwPI/+kCeQB+BBwAWgREAEYEHABaBisAXQRiAFgELgBXBJgAQwIkAGICJABiBCUADwTTAD4E0wA+BLcAowT+/9UEywBYBC4AVwRiAFgFWQBYBpIAWAVYAFgFOwBeBVoAWATNAFgEywBiBHoA7AS9//wEIAA6A/kARwRaAEAERABGBET/4gP8AEcDyP+8A8j/6QP5AEcDKAA+A+4AOwHoAEQB6AA+Afb/HQQVAEADyP+8BpUA7AWsALIGlQDsBawAsgaVAOwFrACyBKYA7gPI/7wBVwDGAnUAxQP6AE8EgwCKAe//GwGNALEGkgBYBosANQT+/9UEIAA6BTsAAQbIAIoHHgCKBGIAWAVZAFgD+QBHBFoAQAUvAIoFRABDBL4A6APIALMIDABGCQMAXgR0ACAD0gAeBMsAYgP8AEcEpgDuA8gAswIkAGIG0//KBbz/wwIkAGIE/v/VBCAAOgT+/9UEIAA6BwX/ngZSAAQEYgBYA/kARwUrAEYD+QA8A/kAPAbT/8oFvP/DBHQAIAPSAB4FWQBYBFoAQAVZAFgEWgBABTsAXgREAEYFHQBdBEUARgUdAF0ERQBGBREAhwQLADMEtwCjA8j/vAS3AKMDyP+8BLcAowPI/7wFJwDRBBgAfwaCAFcF2ABABL3//API/+kERABEBU//3gRb/9UE/v/VBCAAOgT+/9UEIAA6BP7/1QQgADoE/v/VBCAAOgT+/9UEIAA6BP7/1QQgADoE/v/VBCAAOgT+/9UEIAA6BP7/1QQgADoE/v/VBCAAOgT+/9UEIAA6BP7/1QQgADoEYgBYA/kARwRiAFgD+QBHBGIAWAP5AEcEYgBYA/kARwRiAFgD+QBHBGIAWAP5AEcEYgBYA/kARwRiAFgD+QBHAiQAYgHoAD4CJAAXAej/+gU7AF4ERABGBTsAXgREAEYFOwBeBEQARgU7AF4ERABGBTsAXgREAEYFOwBeBEQARgU7AF4ERABGBSMAWQROAEYFIwBZBE4ARgUjAFkETgBGBSMAWQROAEYFIwBZBE4ARgUSAGcERABaBRIAZwREAFoFOgBnBK4AWgU6AGcErgBaBToAZwSuAFoFOgBnBK4AWgU6AGcErgBaBKYA7gPI/7wEpgDuA8j/vASmAO4DyP+8BGIARARiABME0wA+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////1QAABH8HiAImACMAAAAHAJ4BkgGo////1QAABMYHnwImACMAAAAHAdQBiQEs//8AYv5EBPgFxQAmACUAAAAHAHcBt//3//8AWAAABPIHIgImACcAAAAHAEIBNwFd//8AWAAABPIHHwImACcAAAAHAHMB4wFZ//8AWAAABPIHRgImACcAAAAHAJoA0gFd//8AWAAABPIHDAImACcAAAAHAGgA0wFc//8AYgAAAkQHIgImACsAAAAHAEL//AFd//8AYgAAA1MHHwImACsAAAAHAHMApwFZ//8AYgAAAx4HRgImACsAAAAHAJr/lwFd//8AYgAAA10HDAImACsAAAAHAGj/mAFc//8AWAAABXoHUQImADAAAAAHAKABTgFg//8AXv/rBTYHNwAmADEAAAAHAEIBjAFy//8AXv/rBTYHNAAmADEAAAAHAHMCOAFu//8AXv/rBTYHWwAmADEAAAAHAJoBJwFy//8AXv/rBTYHZgAmADEAAAAHAKABRgF1//8AXv/rBTYHIQAmADEAAAAHAGgBKAFx//8AZ//rBVcHIgImADcAAAAHAEIBdwFd//8AZ//rBVcHHwImADcAAAAHAHMCIwFZ//8AZ//rBVcHRgImADcAAAAHAJoBEgFd//8AZ//rBVcHDAImADcAAAAHAGgBEwFc//8A7gAABVMHHQImADsAAAAHAHMB6QFX//8AOv/sA/cF4AImAEMAAAAHAEIAswAb//8AOv/sBAsF3QImAEMAAAAHAHMBXwAX//8AOv/sA/cGBAImAEMAAAAGAJpOGwAA//8AOv/sBBwGDwImAEMAAAAGAKBtHgAA//8AOv/sBBQFygImAEMAAAAGAGhPGgAA//8AOv/sA/cGRgImAEMAAAAHAJ4A2gBm//8AOv/sBA4GXgImAEMAAAAHAdQA0f/r//8AR/5EA/sETgImAEUAAAAHAHcBOf/3//8AR//sA+sF4QImAEcAAAAHAEIAkQAc//8AR//sA+sF3gImAEcAAAAHAHMBPQAY//8AR//sA+sGBQImAEcAAAAGAJosHAAA//8AR//sA/IFywImAEcAAAAGAGgtGwAA//8APgAAAd0FywImAIoAAAAGAEKVBgAA//8APgAAAuwFyAImAIoAAAAGAHNAAgAA//8APgAAArcF7wImAIoAAAAHAJr/MAAG//8APgAAAvYFtQImAIoAAAAHAGj/MQAF//8ANQAABDIGDwImAFAAAAAHAKAAgwAe//8ARv/sBBwF4AImAFEAAAAHAEIApwAb//8ARv/sBBwF3QImAFEAAAAHAHMBUwAX//8ARv/sBBwGBAImAFEAAAAGAJpCGwAA//8ARv/sBBwGDwImAFEAAAAGAKBhHgAA//8ARv/sBBwFygImAFEAAAAGAGhDGgAA//8AWv/sBDsFywImAFcAAAAHAEIAxgAG//8AWv/sBDsFyAImAFcAAAAHAHMBcgAC//8AWv/sBDsF7wImAFcAAAAGAJphBgAA//8AWv/sBDsFtQImAFcAAAAGAGhiBQAA////vP5LBCoFyAImAFsAAAAHAHMBNQAC////vP5LBCoFtQImAFsAAAAGAGglBQAA////1QAABN4G+gImACMAAAAHAG4BJgFK//8AOv/sBCYFuAImAEMAAAAGAG5uCAAA////1QAABLAHTAImACMAAAAHAJwBYQGc//8AOv/sA/gGCgImAEMAAAAHAJwAqQBaAAL/1f5QBH8FsAAaAB4AAAEzEyMOAQcGFjMyNjcHDgEjIiY3PgE3AyEDIwEhAycDBJvgJVdiCQYbKBkwFwcgTDJPWA8LY180/c7SuAHbAc1cAwWw+lA+ZDwlJRELeBMZY1pJfTYBe/58AhkCoAEAAAACADr+UAP3BE4ANAA/AAAhNDY3Jw4BIyImNzYkOwE3NiYjIgYHIzYkMzIWBwMOARcjDgEHBhYzMjY3Bw4BIyImNz4BNyUyNj8BIyIGBwYWAqAEBQNCrl2WiR4iAQHQvhYVV2dYjg61GwEAtqS1ImgNCQQTV2IJBhsoGTAXByBMMk9YDwtbWP7wV60vKMNrpBARQTM+HwFIXayWqKJuaWlkRoW7u6/99j1mNz5kPCUlEQt4ExljWkZ5NItgRMl7U1BPAAD//wBi/+sE+Ac0ACYAJQAAAAcAcwIhAW7//wBH/+wD+wXdAiYARQAAAAcAcwEqABf//wBi/+sE+AdbACYAJQAAAAcAmgEQAXL//wBH/+wD+wYEAiYARQAAAAYAmhkbAAD//wBi/+sE+AciACYAJQAAAAcAnQHRAXL//wBH/+wD+wXLAiYARQAAAAcAnQDaABv//wBi/+sE+AdcACYAJQAAAAcAmwEmAXP//wBH/+wD+wYFAiYARQAAAAYAmy8cAAD//wBYAAAFHQdHACYAJgAAAAcAmwDgAV7//wBE/+sFwwYYACYARgAAAAcBkQSgBSz//wBYAAAE8gb6AiYAJwAAAAcAbgDyAUr//wBH/+wEBAW5AiYARwAAAAYAbkwJAAD//wBYAAAE8gdMAiYAJwAAAAcAnAEtAZz//wBH/+wD6wYLAiYARwAAAAcAnACHAFv//wBYAAAE8gcNAiYAJwAAAAcAnQGTAV3//wBH/+wD6wXMAiYARwAAAAcAnQDtABwAAQBY/lAE8gWwACAAAAEhAyEHIw4BBwYWMzI2NwcOASMiJjc+ATcnIQEhByEDIQQC/ZJpAsweNFdiCQYbKBkwFwcgTDJPWA8LWlQB/V0BIwN3Hv0+YAJuAqb975U+ZDwlJRELeBMZY1pGeDIDBbCW/iIAAAACAEf+ZAPrBE4AKQAxAAAlDgEHDgEHBhYzMjY3Bw4BIyImNz4BNycmAj8BNgAzMhIPASEGFjMyNjcDIgYHITc2JgNbIVM0U14IBhsoGTAXByBMMk9YDwg/OQHIyicHJwEptMerIxP9bBhrh1qXPMdaoCkB2gQTWXEeMxI7YjslJRELeBMZY1o5YywDAwEp7y31ASX++915rcU5MgLMqoYafZkA//8AWAAABPIHRwImACcAAAAHAJsA6AFe//8AR//sA+sGBgImAEcAAAAGAJtCHQAA//8AaP/rBQ8HWwImACkAAAAHAJoBBgFy//8AN/5LBD0GBAImAEkAAAAGAJpWGwAA//8AaP/rBQ8HYQImACkAAAAHAJwBYQGx//8AN/5LBD0GCgImAEkAAAAHAJwAsQBa//8AaP/rBQ8HIgImACkAAAAHAJ0BxwFy//8AN/5LBD0FywImAEkAAAAHAJ0BFwAb//8AaP3lBQ8FxQImACkAAAAHAZEBRv62//8AN/5LBD0GbQImAEkAAAAHAaUBKABW//8AWAAABXkHRgImACoAAAAHAJoBKQFd//8ANQAABBkHRQImAEoAAAAHAJoAYwFc//8AYgAAA2UHUQImACsAAAAHAKD/tgFg//8APgAAAv4F+gImAIoAAAAHAKD/TwAJ//8AYgAAA28G+gImACsAAAAHAG7/twFK//8APgAAAwgFpAImAIoAAAAHAG7/UP/0//8AYgAAA0EHTAImACsAAAAHAJz/8gGc//8APgAAAtoF9QImAIoAAAAGAJyLRQAA////mv5YAjoFsAImACsAAAAGAJ/jCAAA////e/5QAjEGGAImAEsAAAAGAJ/EAAAA//8AYgAAAogHDQImACsAAAAHAJ0AVwFd//8AYv/rBnYFsAAmACsAAAAHACwCJAAA//8ARP5LBCEGGAAmAEsAAAAHAEwB6AAA//8AD//rBSwHOQImACwAAAAHAJoBpQFQ////G/5LAsQF3AImAJgAAAAHAJr/Pf/z//8APv31BTUFsAAmAC0AAAAHAZEBIP7G//8ANv33BCgGGAImAE0AAAAHAZEAxP7I//8AWAAAA60G4AImAC4AAAAHAHMAjwEa//8ARAAAA0MHXAImAE4AAAAHAHMAlwGW//8AWP33A60FsAImAC4AAAAHAZEBGv7I////qP33AjEGGAImAE4AAAAHAZH/wv7I//8AWAAAA9UFsQImAC4AAAAHAZECsgTF//8ARAAAA3IGGAAmAE4AAAAHAZECTwUs//8AWAAAA60FsAImAC4AAAAHAJ0BNP3F//8ARAAAAukGGAAmAE4AAAAHAJ0AuP23//8AWAAABXoHHwImADAAAAAHAHMCQAFZ//8ANQAABCEF3QImAFAAAAAHAHMBdQAX//8AWP33BXoFsAImADAAAAAHAZEBd/7I//8ANf33BBgETgImAFAAAAAHAZEA7P7I//8AWAAABXoHRwImADAAAAAHAJsBRQFe//8ANQAABCMGBQImAFAAAAAGAJt6HAAA//8ANQAABBgGGAImAFAAAAAHAZEAiwUs//8AXv/rBTYHDwAmADEAAAAHAG4BRwFf//8ARv/sBBwFuAImAFEAAAAGAG5iCAAA//8AXv/rBTYHYQAmADEAAAAHAJwBggGx//8ARv/sBBwGCgImAFEAAAAHAJwAnQBa//8AXv/rBZkHYAAmADEAAAAHAKEBqgFy//8ARv/sBLQGCQImAFEAAAAHAKEAxQAb//8AVwAABQIHHwImADQAAAAHAHMB3AFZ//8ANQAAA4cF3QImAFQAAAAHAHMA2wAX//8AV/33BQIFrwImADQAAAAHAZEBE/7I////pv33Aw0ETgImAFQAAAAHAZH/wP7I//8AVwAABQIHRwImADQAAAAHAJsA4QFe//8ANQAAA4oGBQImAFQAAAAGAJvhHAAA//8AQ//rBMAHNAAmADUAAAAHAHMB1gFu//8AO//sA9MF3QImAFUAAAAHAHMBJwAX//8AQ//rBMAHWwAmADUAAAAHAJoAxQFy//8AO//sA8kGBAImAFUAAAAGAJoWGwAA//8AQ/5EBMAFxQAmADUAAAAHAHcBbP/3//8AO/5FA8kETgImAFUAAAAHAHcBN//4//8AQ/3jBMAFxQAmADUAAAAHAZEBBP60//8AO/3kA8kETgImAFUAAAAHAZEAz/61//8AQ//rBMAHXAAmADUAAAAHAJsA2wFz//8AO//sA9UGBQImAFUAAAAGAJssHAAA//8A7P31BQsFsAImADYAAAAHAZEBDP7G//8ARf3tAqQFQQImAFYAAAAHAZEAX/6+//8A7P5VBQsFsAImADYAAAAHAHcBdAAI//8Ab/5NAqQFQQImAFYAAAAHAHcAxwAA//8A7AAABQsHRgImADYAAAAHAJsA2gFd//8Ab//sA7QGMQAmAFYAAAAHAZECkQVF//8AZ//rBVcHUQImADcAAAAHAKABMQFg//8AWv/sBDsF+gImAFcAAAAHAKAAgAAJ//8AZ//rBVcG+gImADcAAAAHAG4BMgFK//8AWv/sBDsFpAImAFcAAAAHAG4Agf/0//8AZ//rBVcHTAImADcAAAAHAJwBbQGc//8AWv/sBDsF9QImAFcAAAAHAJwAvABF//8AZ//rBVcHiAImADcAAAAHAJ4BngGo//8AWv/sBDsGMQImAFcAAAAHAJ4A7QBR//8AZ//rBYQHSwImADcAAAAHAKEBlQFd//8AWv/sBNMF9AImAFcAAAAHAKEA5AAGAAEAZ/5uBVcFsAAoAAABAw4BBw4BBwYWMzI2NwcOASMiJjc+ATcnIgYjIiY3EzMDBhYzMjY3EwVXxSW4jE5cCQYbKBkwFwcgTDJPWA8IOTQBBBYG1u0wxbbFJYqWkeIixQWw/CW22jI3YzklJRELeBMZY1o2XioDAfzuA9v8JbafragD2wAAAAABAFr+UAQ7BDoAJwAAIQ4BBwYWMzI2NwcOASMiJjc+AT8BJw4BIyImNxMzAwYWMzI2NxMzAwNiV2IJBhsoGTAXByBMMk9YDwpeWRIDP6JlnZMwf7Z/JkNpX5Mzm7XYPmQ8JSURC3gTGWNaRno1jwFSVOHwAn39gb53W1MDBvvG//8A7AAABuwHRgImADkAAAAHAJoBnAFd//8AsgAABfoF7wImAFkAAAAHAJoBFQAG//8A7gAABVMHRAImADsAAAAHAJoA2AFb////vP5LBCoF7wImAFsAAAAGAJokBgAA//8A7gAABVMHCgImADsAAAAHAGgA2QFa//8AIAAABH0HHwAmADwAAAAHAHMB0QFZ//8ACAAAA+oFyAImAFwAAAAHAHMBPgAC//8AIAAABFsHDQAmADwAAAAHAJ0BgQFd//8ACAAAA98FtgImAFwAAAAHAJ0A7gAG//8AIAAABH8HRwAmADwAAAAHAJsA1gFe//8ACAAAA+wF8AImAFwAAAAGAJtDBwAA////ngAAB3UHHwImAH8AAAAHAHMDAQFZ//8ABP/rBmAF3gImAIQAAAAHAHMCegAY//8AJv+jBWsHXQImAIEAAAAHAHMCMQGX//8ATP95BDgF3AImAIcAAAAHAHMBUAAW//8ACwAABEkEjQImAakAAAAHAdP/Uv97//8ACwAABEkEjQImAakAAAAHAdP/Uv97//8AvQAABCUEjQImAbgAAAAGAdMo9wAA////1AAAA+gF3wImAaYAAAAHAEIA2QAa////1AAABDEF3AImAaYAAAAHAHMBhQAW////1AAAA/sGAwImAaYAAAAGAJp0GgAA////1AAABEIGDgImAaYAAAAHAKAAkwAd////1AAABDoFyQImAaYAAAAGAGh1GQAA////1AAAA+gGRQImAaYAAAAHAJ4BAABl////1AAABDQGXQImAaYAAAAHAdQA9//q//8ATf5HBEIEnQImAagAAAAHAHcBU//6//8APgAABB0F3wImAaoAAAAHAEIAqgAa//8APgAABB0F3AImAaoAAAAHAHMBVgAW//8APgAABB0GAwImAaoAAAAGAJpFGgAA//8APgAABB0FyQImAaoAAAAGAGhGGQAA//8APgAAAd8F3wImAa4AAAAGAEKXGgAA//8APgAAAu4F3AImAa4AAAAGAHNCFgAA//8APgAAArkGAwImAa4AAAAHAJr/MgAa//8APgAAAvgFyQImAa4AAAAHAGj/MwAZ//8APgAABL4GDgImAbMAAAAHAKAAsQAd//8ATf/vBG8F7wImAbQAAAAHAEIA3QAq//8ATf/vBG8F7AImAbQAAAAHAHMBiQAm//8ATf/vBG8GEwImAbQAAAAGAJp4KgAA//8ATf/vBG8GHgImAbQAAAAHAKAAlwAt//8ATf/vBG8F2QIm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u9uwJyX+9czZ/uMwtSO4mmqrAUx3hEJIy8axsuzWi6F0V393R0/Hw7ir1uurgXIA//8AYgAAAjoFsAIGACsAAP//AGIAAANdBwwCJgArAAAABwBo/5gBXP//AA//6wRSBbACBgAsAAD//wA+AAAFNQWwAAYALQAA//8APgAABTUGxwAmAC0AAAAHAHMBxQEB//8Ao//rBUUHTAImANkAAAAHAJwBPgGc////1QAABH8FsAIGACMAAP//AFgAAATQBbACBgAkAAD//wBXAAAEuQWwAgYArAAA//8AWAAABPIFsAIGACcAAP//AFgAAAV6B0wCJgDXAAAABwCcAY4BnP//AFgAAAazBbACBgAvAAD//wBYAAAFeQWwAgYAKgAA//8AXv/rBTYFxQAGADEAAP//AFgAAAV7BbACBgCxAAD//wBYAAAFGAWwAgYAMgAA//8AYv/rBPgFxQAGACUAAP//AOwAAAULBbACBgA2AAD////8AAAFHQWwAgYAOgAA//8AOv/sA/cETgIGAEMAAP//AEf/7APrBE4CBgBHAAD//wBAAAAERwX1AiYA6wAAAAcAnADIAEX//wBG/+wEHAROAgYAUQAA////4v5gBCYETgIGAFIAAAABAEf/7AP7BE4AGwAAJTI2NzMGBCMiAj8BNgAzMhYHIzYmIyIGDwEGFgHxWqAPrBn+8qbXuyUHJwER4a7BGqwQameNpBoHHFWBeFyazwEy6ir1ASfeqmyG4qQqsdYAAP///7z+SwQqBDoCBgBbAAD////pAAAD8QQ6AgYAWgAA//8AR//sA/IFywImAEcAAAAGAGgtGwAA//8APgAAA5UFyAImAOcAAAAHAHMA5wAC//8AO//sA8kETgIGAFUAAP//AEQAAAIxBhgCBgBLAAD//wA+AAAC9gW1AiYAigAAAAcAaP8xAAX///8d/ksCOQYYAgYATAAA//8AQAAABGEFxwImAOwAAAAHAHMBTQAB////vP5LBCoF9QImAFsAAAAGAJx/RQAA//8A7AAABuwHIgImADkAAAAHAEICAQFd//8AsgAABfoFywImAFkAAAAHAEIBegAG//8A7AAABuwHHwImADkAAAAHAHMCrQFZ//8AsgAABfoFyAImAFkAAAAHAHMCJgAC//8A7AAABuwHDAImADkAAAAHAGgBnQFc//8AsgAABfoFtQIm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AEMAAAAHAKgEBQAA////1QAABH8HxgImACMAAAAHAKYE5QFT//8AOv/sA/cGhAImAEMAAAAHAKYELQAR////1QAABg4HqAImACMAAAAHAaMA8AEW//8AOv/sBVYGZwImAEMAAAAGAaM41QAA////1QAABLcHpQImACMAAAAHAaIA+gEl//8AOv/sA/8GZAImAEMAAAAGAaJC5AAA////1QAABZ4H2wImACMAAAAHAaEA9QEN//8AOv/sBOYGmgImAEMAAAAGAaE9zAAA////1QAABLYH5QImACMAAAAHAaAA9gET//8AOv/sA/4GpAImAEMAAAAGAaA+0gAA////1f6xBI0HRgImACMAAAAnAJoBBgFdAAcAqASsAAD//wA6/rED9wYEAiYAQwAAACYAmk4bAAcAqAQFAAAAAP///9UAAASqB90CJgAjAAAABwGfASkBVP//ADr/7AP3BpsCJgBDAAAABgGfcRIAAP///9UAAATOB+ACJgAjAAAABwGkAS8BZ///ADr/7AQWBp4CJgBDAAAABgGkdyUAAP///9UAAASVCEsCJgAjAAAABwGeASkBSf//ADr/7AP3BwkCJgBDAAAABgGecQcAAP///9UAAATMCB8CJgAjAAAABwGdASsBUf//ADr/7AQUBt0CJgBDAAAABgGdcw8AAP///9X+sQSwB0wCJgAjAAAAJwCcAWEBnAAHAKgErAAA//8AOv6xA/gGCgImAEMAAAAnAJwAqQBaAAcAqAQFAAD//wBY/rsE8gWwAiYAJwAAAAcAqAR3AAr//wBH/rED6wROAiYARwAAAAcAqARRAAD//wBYAAAE8gfGAiYAJwAAAAcApgSxAVP//wBH/+wD6waFAiYARwAAAAcApgQLABL//wBYAAAE8gdRAiYAJwAAAAcAoADxAWD//wBH/+wD+gYQAiYARwAAAAYAoEsfAAD//wBYAAAF2geoAiYAJwAAAAcBowC8ARb//wBH/+wFNAZoAiYARwAAAAYBoxbWAAD//wBYAAAE8gelAiYAJwAAAAcBogDGASX//wBH/+wD6wZlAiYARwAAAAYBoiDlAAD//wBYAAAFagfbAiYAJwAAAAcBoQDBAQ3//wBH/+wExAabAiYARwAAAAYBoRvNAAD//wBYAAAE8gflAiYAJwAAAAcBoADCARP//wBH/+wD6walAiYARwAAAAYBoBzTAAD//wBY/rsE8gdGAiYAJwAAACcAmgDSAV0ABwCoBHcACv//AEf+sQPrBgUCJgBHAAAAJgCaLBwABwCoBFEAAAAA//8AYgAAAwoHxgImACsAAAAHAKYDdQFT//8APgAAAqMGcAImAIoAAAAHAKYDDv/9//8AF/65AjoFsAImACsAAAAHAKgDOwAI////+v67AjEGGAImAEsAAAAHAKgDHgAK//8AXv6pBTYFxQAmADEAAAAHAKgEw//4//8ARv6oBBwETgImAFEAAAAHAKgEV//3//8AXv/rBTYH2wAmADEAAAAHAKYFBgFo//8ARv/sBBwGhAImAFEAAAAHAKYEIQAR//8AXv/rBi8HvQAmADEAAAAHAaMBEQEr//8ARv/sBUoGZwImAFEAAAAGAaMs1QAA//8AXv/rBTYHugAmADEAAAAHAaIBGwE6//8ARv/sBBwGZAImAFEAAAAGAaI25AAA//8AXv/rBb8H8AAmADEAAAAHAaEBFgEi//8ARv/sBNoGmgImAFEAAAAGAaExzAAA//8AXv/rBTYH+gAmADEAAAAHAaABFwEo//8ARv/sBBwGpAImAFEAAAAGAaAy0gAA//8AXv6pBTYHWwAmADEAAAAnAJoBJwFyAAcAqATD//j//wBG/qgEHAYEAiYAUQAAACYAmkIbAAcAqARX//cAAP//AFn/6wYlBw8CJgCUAAAABwBzAiQBSf//AEb/7AUJBd0CJgCVAAAABwBzAXgAF///AFn/6wYlBxICJgCUAAAABwBCAXgBTf//AEb/7AUJBeACJgCVAAAABwBCAMwAG///AFn/6wYlB7YCJgCUAAAABwCmBPIBQ///AEb/7AUJBoQCJgCVAAAABwCmBEYAEf//AFn/6wYlB0ECJgCUAAAABwCgATIBUP//AEb/7AUJBg8CJgCVAAAABwCgAIYAHv//AFn+sQYlBjYCJgCUAAAABwCoBLEAAP//AEb+qAUJBLACJgCVAAAABwCoBEj/9///AGf+qgVXBbACJgA3AAAABwCoBLL/+f//AFr+sQQ7BDoCJgBXAAAABwCoBAsAAP//AGf/6wVXB8YCJgA3AAAABwCmBPEBU///AFr/7AQ7BnACJgBXAAAABwCmBED//f//AGf/6walBx8CJgCWAAAABwBzAiIBWf//AFr/7AVXBcgCJgCXAAAABwBzAXIAAv//AGf/6walByICJgCWAAAABwBCAXYBXf//AFr/7AVXBcsCJgCXAAAABwBCAMYABv//AGf/6walB8YCJgCWAAAABwCmBPABU///AFr/7AVXBnACJgCXAAAABwCmBED//f//AGf/6walB1ECJgCWAAAABwCgATABYP//AFr/7AVXBfoCJgCXAAAABwCgAIAACf//AGf+qQalBg0CJgCWAAAABwCoBLH/+P//AFr+sQVXBJECJgCXAAAABwCoBAsAAP//AO7+uwVTBbACJgA7AAAABwCoBH0ACv///7z+FAQqBDoCJgBbAAAABwCoBKj/Y///AO4AAAVTB8QCJgA7AAAABwCmBLcBUf///7z+SwQqBnACJgBbAAAABwCmBAP//f//AO4AAAVTB08CJgA7AAAABwCgAPcBXv///7z+SwQqBfoCJgBbAAAABgCgQwkAAAACAET/6wUmBhgAGgAoAAABIwMjNycOASMiAj8BGgEzMhYXEyM3MzczBzMBBhYzMjY3Ey4BIyIGBwUItPedCQM8kFiwri8EOO7BWIcrN+oe6SS1JLX8AyRhiUx1M2Uba1R8nyYE0vsuaAI/QAE06hUBHAEUSEUBEZWxsfyis9FTTwH6RE/ZvQD//wAT/u4FJgYYACYARgAAACcB0wH8AkYABgBBfYMAAP//AD7+mQU1BbAAJgAtAAAABwGcA/QAAP//AED+mQRhBDoCJgDsAAAABwGcAxMAAP//AFj+mQV5BbACJgAqAAAABwGcBBwAAP//AED+mQRGBDoCJgDvAAAABwGcAzQAAP//AOz+mQULBbACJgA2AAAABwGcAggAAP//AJD+mQP3BDoCJgDxAAAABwGcAZgAAP////z+mQUdBbACJgA6AAAABwGcA5YAAP///+n+mQPxBDoCJgBaAAAABwGcAq4AAP//ANH+mQVIBbACJgDcAAAABwGcA+sAAP//AH/+mQQGBDsCJgD0AAAABwGcAvMAAP//ANH+mQVIBbACJgDcAAAABwGcAt8AAP//AH/+mQQGBDsCJgD0AAAABwGcAeYAAP//AFf+mQS5BbACJgCsAAAABwGcANMAAP//AD7+mQOVBDoCJgDnAAAABwGcAJsAAP///8r+mQddBbACJgDVAAAABwGcBeEAAP///8P+mQYBBDoCJgDpAAAABwGcBKoAAP//AK7+VAXu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ACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQCjAIQAhQC9AJYA6ACGAI4AiwCdAKkApACKAQMAgwCTAPIA8wCNAJcAiAEEAN4A8QCeAKoA9QD0APYAogCQAPAAkQDtAIkAoADqALgAoQDuAQUA1wEGAOIA4wEHAQgAsACxAQkApgEKAQsBDAENAQ4BDwDYAOEA2wDcAN0A4ADZAN8BEAERARIBEwEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgCfASMBJAElASYBJwEoASkBKgErASwBLQCbAS4BLwEwATEBMgEzATQBNQE2ATcBOAE5AToBOwE8AT0BPgE/AUABQQFCAUMBRAFFAUYBRwFIAUkBSgFLAUwBTQFOAU8BUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BbgFvAXABcQFyAXMBdAF1AXYBdwF4AXkBegF7AXwBfQF+AX8BgAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcoBywHMAc0AsgCzAc4AtgC3AMQBzwC0ALUAxQCCAMIAhwHQAKsAxgC+AL8AvAHRAdIB0wHUAdUB1gHXAdgAjAHZAdoB2wHcAd0AmACaAJkA7wClAJIAnACnAI8AlACVALkB3gHfAeAAwAHhAeIB4wHkAeUB5gHnAegB6QHqAesB7AHtAe4B7wHwAfEB8gHzAfQB9QH2AfcB+AH5AfoB+wH8Af0B/gH/AgACAQICAgMCBAIFAgYCBwIIAgkCCgILAgwCDQIOAg8CEAIRAhICEwIUAhUCFgIXAhgCGQIaAhsCHAIdAh4CHwIgAiECIgIjAiQCJQImAicCKAIpAioCKwIsAi0CLgIvAjACMQIyAjMCNAI1AjYCNwCsAjgCOQDpAjoCOwI8AK0AyQDHAK4AYgBjAj0AZADLAGUAyADKAM8AzADNAM4AZgDTANAA0QCvAGcA1gDUANUAaADrAGoAaQBrAG0AbABuAj4AbwBxAHAAcgBzAHUAdAB2AHcAeAB6AHkAewB9AHwAfwB+AIAAgQDsALoCPwJAAkECQgJDAkQA/QD+AkUCRgJHAkgA/wEAAkkCSgJLAkwCTQJOAk8CUAJRAlICUwJUAlUCVgD4APkCVwJYAlkCWgJbAlwCXQJeAl8CYAJhAmICYwJkAmUCZgJnAmgCaQJqAmsCbAJtAm4CbwJwAnECcgJzAnQCdQJ2AncCeAJ5AnoCewJ8An0CfgJ/AoACgQKCAoMChAKFAoYChwKIAokCigD7APwCiwKMAOQA5QKNAo4CjwKQApECkgKTApQClQKWApcCmAKZApoCmwKcAp0CngKfAqACoQKiALsCowKkAqUCpgDmAOcCpwKoAqkCqgKrAqwCrQKuAq8CsAKxArICswK0ArUCtgK3ArgCuQK6ArsCvAK9Ar4CvwLAAsECwgLDAsQCxQLGAscCyALJAsoCywLMAs0CzgLPAtAC0QLSAtMC1ALVAtYC1wLYAtkC2gLbAtwC3QLeAt8C4ALhAuIC4wLkAuUC5gLnAugC6QLqAusC7ALtAu4C7wLwAvEC8gLzAvQC9QL2AvcC+AL5AvoC+wL8Av0C/gL/AwADAQMCAwMDBAMFAwYDBwMIAwkDCgMLAwwDDQMOAw8DEAMRAxIDEwMUAxUDFgMXAxgDGQMaAxsDHAMdAx4DHwMgAyEDIgMjAyQDJQMmAycDKAMpAyoDKwMsAy0DLgMvAzADMQMyAzMDNAM1AzYDNwM4AzkDOgM7AzwDPQM+Az8DQANBA0IDQwNEA0UDRgNHA0gDSQNKA0sDTANNA04DTwNQA1EDUgNTA1QDVQNWA1cDWANZA1oDWwNcA10DXgNfA2ADYQNiA2MDZANlA2YDZwNoA2kDagNrA2wDbQNuA28DcANxA3IDcwN0A3UDdgN3A3gDeQN6A3sDfAN9A34DfwOAA4EDggODA4QDhQOGA4cDiAOJA4oDiwOMA40DjgOPA5ADkQOSA5MDlAOVA5YDlwOYA5kDmgObA5wDnQOeA58DoAOhA6IDowOkA6UDpgOnA6gDqQOqA6sDrAOtA64DrwOwA7EDsgOzA7QDtQO2A7cDuAO5A7oDuwO8A70DvgO/A8ADwQPCA8MDxAPFA8YDxwPIA8kDygPLA8wDzQPOA88D0APRA9ID0wPUA9UD1gPXA9gD2QPaA9sD3APdA94D3wPgA+ED4gPjA+QD5QPmA+cD6APpA+oD6wPsA+0D7gPvA/AD8QPyA/MD9AP1A/YD9wP4A/kD+gP7A/wD/QP+A/8EAAQBBAIEAwQEBAUEBgQHBAgECQQKBAsEDAQNBA4EDwQQBBEEEgQTBBQEFQQWBBcEGAQZBBoEGwQcBB0EHgQfBCAEIQD3BCIEIwQkAAQETlVMTAZtYWNyb24OcGVyaW9kY2VudGVyZWQESGJhcgxrZ3JlZW5sYW5kaWMDRW5nA2VuZwVsb25ncwVPaG9ybgVvaG9ybgVVaG9ybgV1aG9ybgd1bmkwMjM3BXNjaHdhB3VuaTAyRjMJZ3JhdmVjb21iCWFjdXRlY29tYgl0aWxkZWNvbWIEaG9vawd1bmkwMzBGCGRvdGJlbG93BXRvbm9zDWRpZXJlc2lzdG9ub3MJYW5vdGVsZWlhBUdhbW1hBURlbHRhBVRoZXRhBkxhbWJkYQJYaQJQaQVTaWdtYQNQaGkDUHNpBWFscGhhBGJldGEFZ2FtbWEFZGVsdGEHZXBzaWxvbgR6ZXRhA2V0YQV0aGV0YQRpb3RhBmxhbWJkYQJ4aQNyaG8Gc2lnbWExBXNpZ21hA3RhdQd1cHNpbG9uA3BoaQNwc2kFb21lZ2EHdW5pMDNEMQd1bmkwM0QyB3VuaTAzRDYHdW5pMDQwMgd1bmkwNDA0B3VuaTA0MDkHdW5pMDQwQQd1bmkwNDBCB3VuaTA0MEYHdW5pMDQxMQd1bmkwNDE0B3VuaTA0MTYHdW5pMDQxNwd1bmkwNDE4B3VuaTA0MUIHdW5pMDQyMwd1bmkwNDI0B3VuaTA0MjYHdW5pMDQyNwd1bmkwNDI4B3VuaTA0MjkHdW5pMDQyQQd1bmkwNDJCB3VuaTA0MkMHdW5pMDQyRAd1bmkwNDJFB3VuaTA0MkYHdW5pMDQzMQd1bmkwNDMyB3VuaTA0MzMHdW5pMDQzNAd1bmkwNDM2B3VuaTA0MzcHdW5pMDQzOAd1bmkwNDNBB3VuaTA0M0IHdW5pMDQzQwd1bmkwNDNEB3VuaTA0M0YHdW5pMDQ0Mgd1bmkwNDQ0B3VuaTA0NDYHdW5pMDQ0Nwd1bmkwNDQ4B3VuaTA0NDkHdW5pMDQ0QQd1bmkwNDRCB3VuaTA0NEMHdW5pMDQ0RAd1bmkwNDRFB3VuaTA0NEYHdW5pMDQ1Mgd1bmkwNDU0B3VuaTA0NTkHdW5pMDQ1QQd1bmkwNDVCB3VuaTA0NUYHdW5pMDQ2MAd1bmkwNDYxB3VuaTA0NjMHdW5pMDQ2NAd1bmkwNDY1B3VuaTA0NjYHdW5pMDQ2Nwd1bmkwNDY4B3VuaTA0NjkHdW5pMDQ2QQd1bmkwNDZCB3VuaTA0NkMHdW5pMDQ2RAd1bmkwNDZFB3VuaTA0NkYHdW5pMDQ3Mgd1bmkwNDczB3VuaTA0NzQHdW5pMDQ3NQd1bmkwNDdBB3VuaTA0N0IHdW5pMDQ3Qwd1bmkwNDdEB3VuaTA0N0UHdW5pMDQ3Rgd1bmkwNDgwB3VuaTA0ODEHdW5pMDQ4Mgd1bmkwNDgzB3VuaTA0ODQHdW5pMDQ4NQd1bmkwNDg2B3VuaTA0ODgHdW5pMDQ4OQd1bmkwNDhEB3VuaTA0OEUHdW5pMDQ4Rgd1bmkwNDkwB3VuaTA0OTEHdW5pMDQ5NAd1bmkwNDk1B3VuaTA0OUMHdW5pMDQ5RAd1bmkwNEEwB3VuaTA0QTEHdW5pMDRBNAd1bmkwNEE1B3VuaTA0QTYHdW5pMDRBNwd1bmkwNEE4B3VuaTA0QTkHdW5pMDRCNAd1bmkwNEI1B3VuaTA0QjgHdW5pMDRCOQd1bmkwNEJBB3VuaTA0QkMHdW5pMDRCRAd1bmkwNEMzB3VuaTA0QzQHdW5pMDRDNwd1bmkwNEM4B3VuaTA0RDgHdW5pMDRFMAd1bmkwNEUxB3VuaTA0RkEHdW5pMDRGQgd1bmkwNTAwB3VuaTA1MDIHdW5pMDUwMwd1bmkwNTA0B3VuaTA1MDUHdW5pMDUwNgd1bmkwNTA3B3VuaTA1MDgHdW5pMDUwOQd1bmkwNTBBB3VuaTA1MEIHdW5pMDUwQwd1bmkwNTBEB3VuaTA1MEUHdW5pMDUwRgd1bmkwNTEwB3VuaTIwMDAHdW5pMjAwMQd1bmkyMDAyB3VuaTIwMDMHdW5pMjAwNAd1bmkyMDA1B3VuaTIwMDYHdW5pMjAwNwd1bmkyMDA4B3VuaTIwMDkHdW5pMjAwQQd1bmkyMDBCDXVuZGVyc2NvcmVkYmwNcXVvdGVyZXZlcnNlZAd1bmkyMDI1B3VuaTIwNzQJbnN1cGVyaW9yBGxpcmEGcGVzZXRhBEV1cm8HdW5pMjEwNQd1bmkyMTEzB3VuaTIxMTYJZXN0aW1hdGVkCW9uZWVpZ2h0aAx0aHJlZWVpZ2h0aHMLZml2ZWVpZ2h0aHMMc2V2ZW5laWdodGhzCmNvbG9uLmxudW0JcXVvdGVkYmx4C2NvbW1hYWNjZW50B3VuaUZFRkYHdW5pRkZGQwd1bmlGRkZECWZpdmUuc21jcAhmb3VyLnN1cAl6ZXJvLmxudW0ObGFyZ2VyaWdodGhvb2sMY3lyaWxsaWNob29rEGN5cmlsbGljaG9va2xlZnQLY3lyaWxsaWN0aWMOYnJldmV0aWxkZWNvbWINYnJldmVob29rY29tYg5icmV2ZWFjdXRlY29tYhNjaXJjdW1mbGV4dGlsZGVjb21iEmNpcmN1bWZsZXhob29rY29tYhNjaXJjdW1mbGV4Z3JhdmVjb21iE2NpcmN1bWZsZXhhY3V0ZWNvbWIOYnJldmVncmF2ZWNvbWIRY29tbWFhY2NlbnRyb3RhdGUGQS5zbWNwBkIuc21jcAZDLnNtY3AGRC5zbWNwBkUuc21jcAZGLnNtY3AGRy5zbWNwBkguc21jcAZJLnNtY3AGSi5zbWNwBksuc21jcAZMLnNtY3AGTS5zbWNwBk4uc21jcAZPLnNtY3AGUS5zbWNwBlIuc21jcAZTLnNtY3AGVC5zbWNwBlUuc21jcAZWLnNtY3AGVy5zbWNwBlguc21jcAZZLnNtY3AGWi5zbWNwCXplcm8uc21jcAhvbmUuc21jcAh0d28uc21jcAp0aHJlZS5zbWNwCWZvdXIuc21jcAh0d28ubG51bQhzaXguc21jcApzZXZlbi5zbWNwCmVpZ2h0LnNtY3AJbmluZS5zbWNwB29uZS5zdXAHdHdvLnN1cAl0aHJlZS5zdXAIb25lLmxudW0IZml2ZS5zdXAHc2l4LnN1cAlzZXZlbi5zdXAJZWlnaHQuc3VwCG5pbmUuc3VwCHplcm8uc3VwCGNyb3NzYmFyCXJpbmdhY3V0ZQlkYXNpYW94aWEKdGhyZWUubG51bQlmb3VyLmxudW0JZml2ZS5sbnVtCHNpeC5sbnVtBWcuYWx0CnNldmVuLmxudW0HY2hpLmFsdAplaWdodC5sbnVtCWFscGhhLmFsdAlkZWx0YS5hbHQERC5jbgRhLmNuBVIuYWx0BUsuYWx0BWsuYWx0BksuYWx0MgZrLmFsdDIJbmluZS5sbnVtBlAuc21jcA1jeXJpbGxpY2JyZXZlB3VuaTAwQUQGRGNyb2F0BGhiYXIEVGJhcgR0YmFyCkFyaW5nYWN1dGUKYXJpbmdhY3V0ZQdBbWFjcm9uB2FtYWNyb24GQWJyZXZlBmFicmV2ZQdBb2dvbmVrB2FvZ29uZWsLQ2NpcmN1bWZsZXgLY2NpcmN1bWZsZXgHdW5pMDEwQQd1bmkwMTBCBkRjYXJvbgZkY2Fyb24HRW1hY3JvbgdlbWFjcm9uBkVicmV2ZQZlYnJldmUKRWRvdGFjY2VudAplZG90YWNjZW50B0VvZ29uZWsHZW9nb25lawZFY2Fyb24GZWNhcm9uC0djaXJjdW1mbGV4C2djaXJjdW1mbGV4B3VuaTAxMjAHdW5pMDEyMQxHY29tbWFhY2NlbnQMZ2NvbW1hYWNjZW50C0hjaXJjdW1mbGV4C2hjaXJjdW1mbGV4Bkl0aWxkZQZpdGlsZGUHSW1hY3JvbgdpbWFjcm9uBklicmV2ZQZpYnJldmUHSW9nb25lawdpb2dvbmVrCklkb3RhY2NlbnQCSUoCaWoLSmNpcmN1bWZsZXgLamNpcmN1bWZsZXgMS2NvbW1hYWNjZW50DGtjb21tYWFjY2VudAZMYWN1dGUGbGFjdXRlDExjb21tYWFjY2VudAxsY29tbWFhY2NlbnQGTGNhcm9uBmxjYXJvbgRMZG90BGxkb3QGTmFjdXRlBm5hY3V0ZQxOY29tbWFhY2NlbnQMbmNvbW1hYWNjZW50Bk5jYXJvbgZuY2Fyb24LbmFwb3N0cm9waGUHT21hY3JvbgdvbWFjcm9uBk9icmV2ZQZvYnJldmUNT2h1bmdhcnVtbGF1dA1vaHVuZ2FydW1sYXV0BlJhY3V0ZQZyYWN1dGUMUmNvbW1hYWNjZW50DHJjb21tYWFjY2VudAZSY2Fyb24GcmNhcm9uBlNhY3V0ZQZzYWN1dGULU2NpcmN1bWZsZXgLc2NpcmN1bWZsZXgHdW5pMDIxOAd1bmkwMjE5B3VuaTAyMUEHdW5pMDIxQgd1bmkwMTYyB3VuaTAxNjMGVGNhcm9uBnRjYXJvbgZVdGlsZGUGdXRpbGRlB1VtYWNyb24HdW1hY3JvbgZVYnJldmUGdWJyZXZlBVVyaW5nBXVyaW5nDVVodW5nYXJ1bWxhdXQNdWh1bmdhcnVtbGF1dAdVb2dvbmVrB3VvZ29uZWsLV2NpcmN1bWZsZXgLd2NpcmN1bWZsZXgLWWNpcmN1bWZsZXgLeWNpcmN1bWZsZXgGWmFjdXRlBnphY3V0ZQpaZG90YWNjZW50Cnpkb3RhY2NlbnQHQUVhY3V0ZQdhZWFjdXRlC09zbGFzaGFjdXRlC29zbGFzaGFjdXRlC0Rjcm9hdC5zbWNwCEV0aC5zbWNwCVRiYXIuc21jcAtBZ3JhdmUuc21jcAtBYWN1dGUuc21jcBBBY2lyY3VtZmxleC5zbWNwC0F0aWxkZS5zbWNwDkFkaWVyZXNpcy5zbWNwCkFyaW5nLnNtY3APQXJpbmdhY3V0ZS5zbWNwDUNjZWRpbGxhLnNtY3ALRWdyYXZlLnNtY3ALRWFjdXRlLnNtY3AQRWNpcmN1bWZsZXguc21jcA5FZGllcmVzaXMuc21jcAtJZ3JhdmUuc21jcAtJYWN1dGUuc21jcBBJY2lyY3VtZmxleC5zbWNwDklkaWVyZXNpcy5zbWNwC050aWxkZS5zbWNwC09ncmF2ZS5zbWNwC09hY3V0ZS5zbWNwEE9jaXJjdW1mbGV4LnNtY3ALT3RpbGRlLnNtY3AOT2RpZXJlc2lzLnNtY3ALVWdyYXZlLnNtY3ALVWFjdXRlLnNtY3AQVWNpcmN1bWZsZXguc21jcA5VZGllcmVzaXMuc21jcAtZYWN1dGUuc21jcAxBbWFjcm9uLnNtY3ALQWJyZXZlLnNtY3AMQW9nb25lay5zbWNwC0NhY3V0ZS5zbWNwEENjaXJjdW1mbGV4LnNtY3AMdW5pMDEwQS5zbWNwC0NjYXJvbi5zbWNwC0RjYXJvbi5zbWNwDEVtYWNyb24uc21jcAtFYnJldmUuc21jcA9FZG90YWNjZW50LnNtY3AMRW9nb25lay5zbWNwC0VjYXJvbi5zbWNwEEdjaXJjdW1mbGV4LnNtY3ALR2JyZXZlLnNtY3AMdW5pMDEyMC5zbWNwEUdjb21tYWFjY2VudC5zbWNwEEhjaXJjdW1mbGV4LnNtY3ALSXRpbGRlLnNtY3AMSW1hY3Jvbi5zbWNwC0licmV2ZS5zbWNwDElvZ29uZWsuc21jcA9JZG90YWNjZW50LnNtY3AQSmNpcmN1bWZsZXguc21jcBFLY29tbWFhY2NlbnQuc21jcAtMYWN1dGUuc21jcBFMY29tbWFhY2NlbnQuc21jcAtMY2Fyb24uc21jcAlMZG90LnNtY3ALTmFjdXRlLnNtY3ARTmNvbW1hYWNjZW50LnNtY3ALTmNhcm9uLnNtY3AMT21hY3Jvbi5zbWNwC09icmV2ZS5zbWNwEk9odW5nYXJ1bWxhdXQuc21jcAtSYWN1dGUuc21jcBFSY29tbWFhY2NlbnQuc21jcAtSY2Fyb24uc21jcAtTYWN1dGUuc21jcBBTY2lyY3VtZmxleC5zbWNwDVNjZWRpbGxhLnNtY3ALU2Nhcm9uLnNtY3ARVGNvbW1hYWNjZW50LnNtY3ALVGNhcm9uLnNtY3ALVXRpbGRlLnNtY3AMVW1hY3Jvbi5zbWNwC1VicmV2ZS5zbWNwClVyaW5nLnNtY3ASVWh1bmdhcnVtbGF1dC5zbWNwDFVvZ29uZWsuc21jcBBXY2lyY3VtZmxleC5zbWNwEFljaXJjdW1mbGV4LnNtY3AOWWRpZXJlc2lzLnNtY3ALWmFjdXRlLnNtY3APWmRvdGFjY2VudC5zbWNwC1pjYXJvbi5zbWNwD2dlcm1hbmRibHMuc21jcApBbHBoYXRvbm9zDEVwc2lsb250b25vcwhFdGF0b25vcwlJb3RhdG9ub3MMT21pY3JvbnRvbm9zDFVwc2lsb250b25vcwpPbWVnYXRvbm9zEWlvdGFkaWVyZXNpc3Rvbm9zBUFscGhhBEJldGEHRXBzaWxvbgRaZXRhA0V0YQRJb3RhBUthcHBhAk11Ak51B09taWNyb24DUmhvA1RhdQdVcHNpbG9uA0NoaQxJb3RhZGllcmVzaXMPVXBzaWxvbmRpZXJlc2lzCmFscGhhdG9ub3MMZXBzaWxvbnRvbm9zCGV0YXRvbm9zCWlvdGF0b25vcxR1cHNpbG9uZGllcmVzaXN0b25vcwVrYXBwYQdvbWljcm9uB3VuaTAzQkMCbnUDY2hpDGlvdGFkaWVyZXNpcw91cHNpbG9uZGllcmVzaXMMb21pY3JvbnRvbm9zDHVwc2lsb250b25vcwpvbWVnYXRvbm9zB3VuaTA0MDEHdW5pMDQwMwd1bmkwNDA1B3VuaTA0MDYHdW5pMDQwNwd1bmkwNDA4B3VuaTA0MUEHdW5pMDQwQwd1bmkwNDBFB3VuaTA0MTAHdW5pMDQxMgd1bmkwNDEzB3VuaTA0MTUHdW5pMDQxOQd1bmkwNDFDB3VuaTA0MUQHdW5pMDQxRQd1bmkwNDFGB3VuaTA0MjAHdW5pMDQyMQd1bmkwNDIyB3VuaTA0MjUHdW5pMDQzMAd1bmkwNDM1B3VuaTA0MzkHdW5pMDQzRQd1bmkwNDQwB3VuaTA0NDEHdW5pMDQ0Mwd1bmkwNDQ1B3VuaTA0NTEHdW5pMDQ1Mwd1bmkwNDU1B3VuaTA0NTYHdW5pMDQ1Nwd1bmkwNDU4B3VuaTA0NUMHdW5pMDQ1RQZXZ3JhdmUGd2dyYXZlBldhY3V0ZQZ3YWN1dGUJV2RpZXJlc2lzCXdkaWVyZXNpcwZZZ3JhdmUGeWdyYXZlBm1pbnV0ZQZzZWNvbmQJZXhjbGFtZGJsB3VuaUZCMDIHdW5pMDFGMAd1bmkwMkJDB3VuaTFFM0UHdW5pMUUzRgd1bmkxRTAwB3VuaTFFMDEHdW5pMUY0RAd1bmlGQjAzB3VuaUZCMDQHdW5pMDQwMAd1bmkwNDBEB3VuaTA0NTAHdW5pMDQ1RAd1bmkwNDcwB3VuaTA0NzEHdW5pMDQ3Ngd1bmkwNDc3B3VuaTA0NzkHdW5pMDQ3OAd1bmkwNDk4B3VuaTA0OTkHdW5pMDRBQQd1bmkwNEFCB3VuaTA0QUUHdW5pMDRBRgd1bmkwNEMwB3VuaTA0QzEHdW5pMDRDMgd1bmkwNENGB3VuaTA0RDAHdW5pMDREMQd1bmkwNEQyB3VuaTA0RDMHdW5pMDRENAd1bmkwNEQ1B3VuaTA0RDYHdW5pMDRENwd1bmkwNERBB3VuaTA0RDkHdW5pMDREQgd1bmkwNERDB3VuaTA0REQHdW5pMDRERQd1bmkwNERGB3VuaTA0RTIHdW5pMDRFMwd1bmkwNEU0B3VuaTA0RTUHdW5pMDRFNgd1bmkwNEU3B3VuaTA0RTgHdW5pMDRFOQd1bmkwNEVBB3VuaTA0RUIHdW5pMDRFQwd1bmkwNEVEB3VuaTA0RUUHdW5pMDRFRgd1bmkwNEYwB3VuaTA0RjEHdW5pMDRGMgd1bmkwNEYzB3VuaTA0RjQHdW5pMDRGNQd1bmkwNEY4B3VuaTA0RjkHdW5pMDRGQwd1bmkwNEZEB3VuaTA1MDEHdW5pMDUxMgd1bmkwNTEzB3VuaTFFQTAHdW5pMUVBMQd1bmkxRUEyB3VuaTFFQTMHdW5pMUVBNAd1bmkxRUE1B3VuaTFFQTYHdW5pMUVBNwd1bmkxRUE4B3VuaTFFQTkHdW5pMUVBQQd1bmkxRUFCB3VuaTFFQUMHdW5pMUVBRAd1bmkxRUFFB3VuaTFFQUYHdW5pMUVCMAd1bmkxRUIxB3VuaTFFQjIHdW5pMUVCMwd1bmkxRUI0B3VuaTFFQjUHdW5pMUVCNgd1bmkxRUI3B3VuaTFFQjgHdW5pMUVCOQd1bmkxRUJBB3VuaTFFQkIHdW5pMUVCQwd1bmkxRUJEB3VuaTFFQkUHdW5pMUVCRgd1bmkxRUMwB3VuaTFFQzEHdW5pMUVDMgd1bmkxRUMzB3VuaTFFQzQHdW5pMUVDNQd1bmkxRUM2B3VuaTFFQzcHdW5pMUVDOAd1bmkxRUM5B3VuaTFFQ0EHdW5pMUVDQgd1bmkxRUNDB3VuaTFFQ0QHdW5pMUVDRQd1bmkxRUNGB3VuaTFFRDAHdW5pMUVEMQd1bmkxRUQyB3VuaTFFRDMHdW5pMUVENAd1bmkxRUQ1B3VuaTFFRDYHdW5pMUVENwd1bmkxRUQ4B3VuaTFFRDkHdW5pMUVEQQd1bmkxRURCB3VuaTFFREMHdW5pMUVERAd1bmkxRURFB3VuaTFFREYHdW5pMUVFMAd1bmkxRUUxB3VuaTFFRTIHdW5pMUVFMwd1bmkxRUU0B3VuaTFFRTUHdW5pMUVFNgd1bmkxRUU3B3VuaTFFRTgHdW5pMUVFOQd1bmkxRUVBB3VuaTFFRUIHdW5pMUVFQwd1bmkxRUVEB3VuaTFFRUUHdW5pMUVFRgd1bmkxRUYwB3VuaTFFRjEHdW5pMUVGNAd1bmkxRUY1B3VuaTFFRjYHdW5pMUVGNwd1bmkxRUY4B3VuaTFFRjkGZGNyb2F0B3VuaTIwQUIHdW5pMDQ5QQd1bmkwNDlCB3VuaTA0QTIHdW5pMDRBMwd1bmkwNEFDB3VuaTA0QUQHdW5pMDRCMgd1bmkwNEIzB3VuaTA0QjYHdW5pMDRCNwd1bmkwNENCB3VuaTA0Q0MHdW5pMDRGNgd1bmkwNEY3B3VuaTA0OTYHdW5pMDQ5Nwd1bmkwNEJFB3VuaTA0QkYHdW5pMDRCQgd1bmkwNDhDB3VuaTA0NjIHdW5pMDQ5Mgd1bmkwNDkzB3VuaTA0OUUHdW5pMDQ5Rgd1bmkwNDhBB3VuaTA0OEIHdW5pMDRDOQd1bmkwNENBB3VuaTA0Q0QHdW5pMDRDRQd1bmkwNEM1B3VuaTA0QzYHdW5pMDRCMAd1bmkwNEIxB3VuaTA0RkUHdW5pMDRGRgd1bmkwNTExB3VuaTIwMTUHdW5pMDAwMgd1bmkwMDA5AAAAAAEAAAAMAAAAAAAAAAIACADKAMoAAQEeASQAAQFWAWEAAQF2AXYAAQF7AXwAAQF+AX4AAQGTAZUAAQHVAdUAAQAAAAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAA//8AAQAAAAFrZXJuAAgAAAABAAAAAQAEAAIAAAAEAA5NaFUGc1wAAXrYAAQAAAGtA2QDagNwA3YD6APyBAQEKgRABEoEbASOBJQE4gUQBTIFVAV6BaAFpgaMBpIGuAbeB0AH0gf0CBIILAgyCEAIRghMCFIIeAiSCKAIvgjECOII/AkCCcQKNgpcCs4K1AreCuQK6grwCw4LHAtGC0wLYgt8C4ILnAuiC6gL3gvkC+4MHAxCDGgMigysDM4M/A1eDXQNlg24DgIOJA5GDngOng7EDs4O2A7yDwQPDg8oDy4PRA+SD6wPxg/cD/4QIBA6EEAQYhCEEKYRGBE+EWQRghGcEl4SaBK2EwQTDhMUExoTIBMmEywTUhNcE2ITdBOeE7QTxhPYE/4UBBQaFCQUNhRcFHIUeBR+FJgUnhTEFOoV0BZCFrQXJheYGAoYfBjuGQAZFhksGUIZWBl6GZwZvhngGgIaKBpOGnQamhrAGsYazBrSGtgbahuIG6YbxBviHAAcHhw8HEIcSBxOHFQcWhyAHKYczBzyHRgdNh1UHcYd5B5WHnQe5h8EHxYfKB86H0wfch+IH44fpB+qH8Afxh/cH+If+B/+ICAgJiBIIGogjCCuINAg1iEkIVIhgCGuIdwh/iIEIiYiLCJOIlQiWiKAIqYizCLyIxgjPiNMI1ojaCROJTQmGiYgJiYmLCYyJjgmPiZkJvYnFCemJ8gn6igMKH4olCi2KNgo/imQKgIqDCoiKkQqZiqIKtYq+CsaK0ArZixMLN4tQC1iLfQt+i4gLj4uZC56LzwvXi+AL4Yv1DAiMGww3jDoMaoxwDHiMgQyKjJQMmIzSDOqM8gzzjP0NA40LDQyNDg0QjRgNIY0rDTSNWQ1gjWINY41lDW2Nbw2LjZMNnI2iDaONrQ20jbkN3Y3lDe2OBg4HjhAOLI40DlCOWA5djl8OYI5iDnqOfA6Fjo8OmI6fDrGOuQ7LjtMO5Y7tDwWPBw8jjysPR49PD2uPcw+Pj5cPs4+7D9eP3w/7kAMQH5AnEEOQSxBnkG8Qi5CTEK+QtxC8kL4Qw5DFEMqQzBDRkNMQ2JDaEN+Q4RDmkOgQ7ZDvEPeRABEJkRMRHJEmES+RORFCkUwRVZFfEWiRchF7kYURjpGQEZGRthG9keIR6ZIOEhWSKRIxkmsSg5KFErWSuBLQktIS05LdEw2TIRMpkzIAAEAWQALAAEAWQALAAEAEf8gABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAIBDAALAVP/5gAEAAv/5gA///QAX//vATz/7QAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGn/+0Bvf/1AAUASP/uAFn/6gG7//ABvP/tAb7/8AACAFT/5gGn/8AACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AABAaf/6wATAFn/wQCz/8UAxf+0AOX/1wDx/7kBBP+yARf/0gEb/8gBL/+gATn/xQFB/+QBSv/MAUz/zAFU/8sBVf/vAan/6AGt/+YBtf/nAbb/5wALAFn/pAGnABMBqf/zAa3/8QG1//IBtv/xAbn/OwG6/9oBu/9UAbz/kQG+/z8ACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGn/+0Bvf/1AAkAVgAOAH//nwC//94Awv/lANT/qADo/8oBRv/jAaf/xgHf//UAAQGnAA4AOQBU/7UAWf/HAGv+uAB6/ygAf/9NAIT/jgCH/6EAs/+uALr/fgC+/2cAwf+HAML/ZQDF/54Ax/9qAMj/cwDJ/14A1P+lAOEADwDl/+QA5v+gAOj/dADq/4AA8f+yAPj/fQD6/4AA/P95AQL/fQEE/38BF/+YARv/2gEn/4EBKf+YAS3/fQEv/7MBM/+gATn/fAE7/5oBPP9sAUH/5gFG/2sBSv+SAUz/rQFQ/3sBUwAPAVT/kQFV//IBp/+vAan/uQGt/7kBtf+5Abb/uQG4/7wBuf/xAbz/8QG9/+0B3P+pAd//yQABAaf/6wAJAAsAFAA/ABEAVP/iAF8AEwGn/7QBqf/ZAa3/2QG1/9kBtv/ZAAkACwAPAD8ADABU/+sAXwAOAaf/ywGp/+kBrf/nAbX/5wG2/+cAGACz/9QAvf/tAL8AEQDF/+AAx//nAMj/5QDJ/+4A1AASAOX/6QDx/9cBL//XATn/0wE7/9YBPP/FAUH/5wFJAA0BSwAMAVT/1gFV//IBqf/pAa3/5wG1/+cBtv/pAd//8AAkAAj/4gALABQADP/PAD8AEgBI/+oAVP/YAFb/6gBfABMAa/+uAHr/zQB//6AAhP/BAIf/wACz/9AAt//qALr/xgC7AA0Avf/pAL7/1gDB/+gAwv+6AMX/6QDH/8sAyP/aAMn/xwFu/9MBp/+rAan/zQGt/8sBtf/LAbb/ywG5//MBvP/zAb3/7wHc/+gB3//uAAgAWf/lALP/ywDI/+QBpwANAan/7QGt/+sBtf/sAbb/7AAHAPH/8AEE//EBG//zAS//8QFK//MBTP/pAVT/0wAGAMX/6gDo/+4A8f+wAS//7AFU/+wB3P/oAAEA8f/1AAMACwAUAD8AEgBfABMAAQDx/8AAAQDx/8AAAQDx/8AACQDF/+oA6P+4APH/6gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAGAMX/6gDo/+4A8f+wAS//7AFU/+wB3P/oAAMASAAPAFYAIABZABEABwBIAA0AwQALAML/6gDFAAwA6P/IARf/8QHf//UAAQEX//EABwBIAA0AwQALAML/6gDFAAwA6P/IARf/8QHf//UABgDF/+oA6P/uAPH/sAEv/+wBVP/sAdz/6AABAPH/9QAwAFT/bQBZ/4wAa/2/AHr+fQB//rwAhP8rAIf/SwCz/2EAuv8PAL7+6ADB/x8Awv7lAMX/RgDH/u0AyP79AMn+2QDU/1IA4QAFAOX/vQDm/0kA6P7+AOr/EwDx/2gA+P8OAPr/EwD8/wcBAv8OAQT/EQEX/zwBG/+sASf/FQEp/zwBLf8OAS//agEz/0kBOf8MATv/PwE8/vEBQf/AAUb+7wFK/zEBTP9fAVD/CgFTAAUBVP8wAVX/1QHc/1kB3/+PABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAaf/7QG9//UAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QAAQC/AA0AAgCz/8IAvwAQAAEAv//iAAEAwv/yAAEAvwAOAAcASAANAMEACwDC/+oAxQAMAOj/yAEX//EB3//1AAMAxf/tAPH/wAHc/+wACgC6/+YAvf/rAL7/6QDA//AAwf/nAMX/4wDH/84AyP/UAMn/2wHf/+4AAQDx/8AABQC9/+wAvwAPAMH/6gDF/8QAx//nAAYASP/pAL3/7gC/ABAAwf/sAMX/IAHc/9oAAQC/AA8ABgDF/+oA6P/uAPH/qwEv/+wBVP/sAdz/6AABAPH/1QABAMUACwANAEgADADBAAsAxQAMAaf/vwGp/+4Brf/sAbX/7QG2/+wBuP/1AbkADgG7AA0BvgANAd//7QABAPH/2AACAPH/qgHc/+EACwDh/9QA8f/JAQT/5QEb/+MBL//EATj/4QFJ/9QBSv/1AUv/5wFT/9IBVP/JAAkA4f/DAPH/zwEv/84BOP/nATv/3wFJ/9EBS//sAVP/oAFU/9EACQDh/8MA8f/PAS//zgE4/+cBO//fAUn/0QFL/+wBU/+gAVT/0QAIAOH/yQDx/98BBP/tARv/6wEv/98BO//pAUr/9QFU/+AACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA4f/mAPH/0AEv/84BOP/oAUn/5wFL/+0BU//mAVT/0AALANQAFADh/+AA6AATATj/4QE5/+ABPP/hAUH/6QFJ/98BS//eAVP/3wFV//IAGACz/9QAvf/tAL8AEQDF/+AAx//nAMj/5QDJ/+4A1AASAOX/6QDx/9cBL//XATn/0wE7/9YBPP/FAUH/5wFJAA0BSwAMAVT/1gFV//IBqf/pAa3/5wG1/+cBtv/pAd//8AAFABn/8gDh//EBSf/yAUv/8gFT//IACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AASANT/rgDhABIA5v/gAOj/rQDq/9YA+P/fAPz/0gEC/+ABF//OASf/3QEp/+IBLf/gATP/4AE5/+kBPP/aAUb/vQFQ/98BUwARAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QADADUABMA4f/mAOL/9ADoABIA8f/nAS//5wE4/+UBOf/oAUn/5gFL/+YBU//mAVT/5wAJAOH/wwDx/88BL//OATj/5wE7/98BSf/RAUv/7AFT/6ABVP/RAAkA4f/DAPH/zwEv/84BOP/nATv/3wFJ/9EBS//sAVP/oAFU/9EAAgDU/+IBU//kAAIA1P/hAOj/5AAGAOj/7gDx/+4BBP/0ARv/8QEv/+8BVP/vAAQA8f/0AQT/9QEv//UBVP/1AAIA6P/JARf/7gAGAOgAFADx/+0A9//iAS//7QE5/+0BVP/tAAEBF//xAAUBF//rAan/6wGt/+kBtf/rAbb/6wATAEgADQDC/6sAw//AAMf/1QDo/6oBF//iARsADAFKAAsBTAALAaf/vwGp/+4Brf/sAbX/7QG2/+wBuP/1AbkADgG7AA0BvgANAd//sAAGAMX/6gDo/+4A8f+wAS//7AFU/+wB3P/oAAYA6AAUAPH/8AD8AAwBL//wATn/5gFU//AABQDoADoA8f/jAS//4gE5/+MBVP/jAAgA8f+6AQT/zwEb/9sBL/9QATn/nQFK//ABTP/yAVT/TAAIAPH/ugEE/88BG//bAS//UAE5/50BSv/wAUz/8gFU/0wABgDF/+oA6P/uAPH/sAEv/+wBVP/sAdz/6AABAOj/7wAIAPH/ugEE/88BG//bAS//UAE5/50BSv/w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/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAQAC//mAD//9ABf/+8BPP/tAAUASP/uAFn/6gG7//ABvP/tAb7/8AAFAEj/7gBZ/+oBu//wAbz/7QG+//AABQBI/+4AWf/qAbv/8AG8/+0Bvv/wAAUASP/uAFn/6gG7//ABvP/tAb7/8AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAaf/7QG9//UACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABp//tAb3/9QAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGn/+0Bvf/1AAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAaf/7QG9//UACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABp//tAb3/9QABAaf/6wABAaf/6wABAaf/6wABAaf/6wAkAAj/4gALABQADP/PAD8AEgBI/+oAVP/YAFb/6gBfABMAa/+uAHr/zQB//6AAhP/BAIf/wACz/9AAt//qALr/xgC7AA0Avf/pAL7/1gDB/+gAwv+6AMX/6QDH/8sAyP/aAMn/xwFu/9MBp/+rAan/zQGt/8sBtf/LAbb/ywG5//MBvP/zAb3/7wHc/+gB3//uAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TAAEA8f/1AAEA8f/1AAEA8f/1AAEA8f/1AAEA8f/AAAkAxf/qAOj/uADx/+oBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oACQDF/+oA6P+4APH/6gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAMX/6gDo/7gA8f/qAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAkAxf/qAOj/uADx/+oBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oACQDF/+oA6P+4APH/6gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAHAEgADQDBAAsAwv/qAMUADADo/8gBF//xAd//9QAHAEgADQDBAAsAwv/qAMUADADo/8gBF//xAd//9QAcACH/wwBW/+8AWf/fAJb/7gCz/+UAtP/RAL8AEQDF/8gA1AATAOH/xQDx/8oBL/+fATj/UQE5/3sBO//KATz/3QFB//IBSf91AUv/ygFT/08BVP+MAa3/9QG1//UBuf/HAbr/8QG7/80BvP/dAb7/xAAHAPH/8AEE//EBG//zAS//8QFK//MBTP/pAVT/0wAcACH/wwBW/+8AWf/fAJb/7gCz/+UAtP/RAL8AEQDF/8gA1AATAOH/xQDx/8oBL/+fATj/UQE5/3sBO//KATz/3QFB//IBSf91AUv/ygFT/08BVP+MAa3/9QG1//UBuf/HAbr/8QG7/80BvP/dAb7/xAAHAPH/8AEE//EBG//zAS//8QFK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AUH/5wFJAA0BSwAMAVT/1gFV//IBqf/pAa3/5wG1/+cBtv/pAd//8AAHAPH/8AEE//EBG//zAS//8QFK//MBTP/pAVT/0wABAPH/9QAJAMX/6gDo/7gA8f/qAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAYAxf/qAOj/7gDx/7ABL//sAVT/7AHc/+gABwBIAA0AwQALAML/6gDFAAwA6P/IARf/8QHf//UAAQEX//EAAQDx//UAAgDo/8kBF//uAAcASAANAMEACwDC/+oAxQAMAOj/yAEX//EB3//1AAkACwAPAD8ADABU/+sAXwAOAaf/ywGp/+kBrf/nAbX/5wG2/+cACQALAA8APwAMAFT/6wBfAA4Bp//LAan/6QGt/+cBtf/nAbb/5wAJAAsADwA/AAwAVP/rAF8ADgGn/8sBqf/pAa3/5wG1/+cBtv/nACQACP/iAAsAFAAM/88APwASAEj/6gBU/9gAVv/qAF8AEwBr/64Aev/NAH//oACE/8EAh//AALP/0AC3/+oAuv/GALsADQC9/+kAvv/WAMH/6ADC/7oAxf/pAMf/ywDI/9oAyf/HAW7/0wGn/6sBqf/NAa3/ywG1/8sBtv/LAbn/8wG8//MBvf/vAdz/6AHf/+4ABwBIAA0AwQALAML/6gDFAAwA6P/IARf/8QHf//UAAQBZAAsAAQBZAAsAAQBZAAsACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAEA8f/AABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAaf/7QG9//UABQBI/+4AWf/qAbv/8AG8/+0Bvv/wAAEA8f/1AAkACwAUAD8AEQBU/+IAXwATAaf/tAGp/9kBrf/ZAbX/2QG2/9kABwBIAA0AwQALAML/6gDFAAwA6P/IARf/8QHf//UABAAL/+YAP//0AF//7wE8/+0AJAAI/+IACwAUAAz/zwA/ABIASP/qAFT/2ABW/+oAXwATAGv/rgB6/80Af/+gAIT/wQCH/8AAs//QALf/6gC6/8YAuwANAL3/6QC+/9YAwf/oAML/ugDF/+kAx//LAMj/2gDJ/8cBbv/TAaf/qwGp/80Brf/LAbX/ywG2/8sBuf/zAbz/8wG9/+8B3P/oAd//7gAHAEgADQDBAAsAwv/qAMUADADo/8gBF//xAd//9QAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QAGACz/9QAvf/tAL8AEQDF/+AAx//nAMj/5QDJ/+4A1AASAOX/6QDx/9cBL//XATn/0wE7/9YBPP/FAUH/5wFJAA0BSwAMAVT/1gFV//IBqf/pAa3/5wG1/+cBtv/pAd//8AABARf/8QAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MABQBI/+4AWf/qAbv/8AG8/+0Bvv/wAAEA8f/1AAEA8f/1AAEA8f/1ABgAs//UAL3/7QC/ABEAxf/gAMf/5wDI/+UAyf/uANQAEgDl/+kA8f/XAS//1wE5/9MBO//WATz/xQFB/+cBSQANAUsADAFU/9YBVf/yAan/6QGt/+cBtf/nAbb/6QHf//AAAQEX//EACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABp//tAb3/9QAJAMX/6gDo/7gA8f/qAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAkAxf/qAOj/uADx/+oBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oABgDF/+oA6P/uAPH/sAEv/+wBVP/sAdz/6AASANT/rgDhABIA5v/gAOj/rQDq/9YA+P/fAPz/0gEC/+ABF//OASf/3QEp/+IBLf/gATP/4AE5/+kBPP/aAUb/vQFQ/98BUwARAAcASAANAMEACwDC/+oAxQAMAOj/yAEX//EB3//1ABIA1P+uAOEAEgDm/+AA6P+tAOr/1gD4/98A/P/SAQL/4AEX/84BJ//dASn/4gEt/+ABM//gATn/6QE8/9oBRv+9AVD/3wFTABEABwBIAA0AwQALAML/6gDFAAwA6P/IARf/8QHf//UAEgDU/64A4QASAOb/4ADo/60A6v/WAPj/3wD8/9IBAv/gARf/zgEn/90BKf/iAS3/4AEz/+ABOf/pATz/2gFG/70BUP/fAVMAEQAHAEgADQDBAAsAwv/qAMUADADo/8gBF//xAd//9QAYALP/1AC9/+0AvwARAMX/4ADH/+cAyP/lAMn/7gDUABIA5f/pAPH/1wEv/9cBOf/TATv/1gE8/8UBQf/nAUkADQFLAAwBVP/WAVX/8gGp/+kBrf/nAbX/5wG2/+kB3//wAAEBF//xABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TAAUASP/uAFn/6gG7//ABvP/tAb7/8AABAPH/9QAFAEj/7gBZ/+oBu//wAbz/7QG+//AAAQDx//UABQBI/+4AWf/qAbv/8AG8/+0Bvv/wAAEA8f/1AAUASP/uAFn/6gG7//ABvP/tAb7/8AABAPH/9QAFAEj/7gBZ/+oBu//wAbz/7QG+//AAAQDx//UABQBI/+4AWf/qAbv/8AG8/+0Bvv/wAAEA8f/1AAUASP/uAFn/6gG7//ABvP/tAb7/8AABAPH/9QAFAEj/7gBZ/+oBu//wAbz/7QG+//AAAQDx//UACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGn/+0Bvf/1AAkAxf/qAOj/uADx/+oBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABp//tAb3/9QAJAMX/6gDo/7gA8f/qAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAaf/7QG9//UACQDF/+oA6P+4APH/6gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGn/+0Bvf/1AAkAxf/qAOj/uADx/+oBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABp//tAb3/9QAJAMX/6gDo/7gA8f/qAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAaf/7QG9//UACQDF/+oA6P+4APH/6gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGn/+0Bvf/1AAkAxf/qAOj/uADx/+oBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oACQDF/+oA6P+4APH/6gEE//ABG//xAS//6wFK//UBVP/sAdz/6gABAaf/6wABAaf/6wAkAAj/4gALABQADP/PAD8AEgBI/+oAVP/YAFb/6gBfABMAa/+uAHr/zQB//6AAhP/BAIf/wACz/9AAt//qALr/xgC7AA0Avf/pAL7/1gDB/+gAwv+6AMX/6QDH/8sAyP/aAMn/xwFu/9MBp/+rAan/zQGt/8sBtf/LAbb/ywG5//MBvP/zAb3/7wHc/+gB3//uAAcASAANAMEACwDC/+oAxQAMAOj/yAEX//EB3//1ACQACP/iAAsAFAAM/88APwASAEj/6gBU/9gAVv/qAF8AEwBr/64Aev/NAH//oACE/8EAh//AALP/0AC3/+oAuv/GALsADQC9/+kAvv/WAMH/6ADC/7oAxf/pAMf/ywDI/9oAyf/HAW7/0wGn/6sBqf/NAa3/ywG1/8sBtv/LAbn/8wG8//MBvf/vAdz/6AHf/+4ABwBIAA0AwQALAML/6gDFAAwA6P/IARf/8QHf//UAJAAI/+IACwAUAAz/zwA/ABIASP/qAFT/2ABW/+oAXwATAGv/rgB6/80Af/+gAIT/wQCH/8AAs//QALf/6gC6/8YAuwANAL3/6QC+/9YAwf/oAML/ugDF/+kAx//LAMj/2gDJ/8cBbv/TAaf/qwGp/80Brf/LAbX/ywG2/8sBuf/zAbz/8wG9/+8B3P/oAd//7gAHAEgADQDBAAsAwv/qAMUADADo/8gBF//xAd//9QATAFn/wQCz/8UAxf+0AOX/1wDx/7kBBP+yARf/0gEb/8gBL/+gATn/xQFB/+QBSv/MAUz/zAFU/8sBVf/vAan/6AGt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/+oDJP74Ayj/VgMzABQDNf/eAzb/6wM4/+sDOv/rAzv/6AM9/+sDRP/oA0z/6ANV/1YDVv/eA1z/6wNh/+gDYv/rA2f/6wNp/+gDbv9WA2//3gNw/1YDcf/eA3X/6wN3/+sDeP/rA4L/6wOE/+sDhv/rA4r/6AOM/+gDjv/oA5X/6wOY/1YDmf/eA5r/VgOb/94DnP9WA53/3gOe/1YDn//eA6D/VgOh/94Dov9WA6P/3gOk/1YDpf/eA6b/VgOn/94DqP9WA6n/3gOq/1YDq//eA6z/VgOt/94Drv9WA6//3gOx/+sDs//rA7X/6wO3/+sDuf/rA7v/6wO9/+sDv//rA8X/6wPH/+sDyf/rA8v/6wPN/+sDz//rA9H/6wPT/+sD1f/rA9f/6wPZ/+sD2//rA93/6gPf/+oD4f/qA+P/6gPl/+oD5//qA+n/6gPr/+gD7f/oA+//6AP2ABQAHwA2/9UAOP/kADn/7AA7/90Azf/VANH/1QEU/+QBLv/VATb/1QIL/90CgP/VAoL/1QKE/9UCkv/sApT/3QKW/90C/f/dAwz/3QMP/90DM//VA0X/7ANH/+wDSf/sA0v/3QNg/+QDaP/dA+r/3QPs/90D7v/dA/b/1QQT/90AGgA2/7AAOP/tADv/0ADN/7AA0f+wART/7QEu/7ABNv+wAgv/0AKA/7ACgv+wAoT/sAKU/9AClv/QAv3/0AMM/9ADD//QAzP/sANL/9ADYP/tA2j/0APq/9AD7P/QA+7/0AP2/7AEE//QABAALP/uADf/7gIH/+4CCP/uAgn/7gIK/+4CV//uAob/7gKI/+4Civ/uAoz/7gKO/+4CkP/uAyT/7gPc/+4D3v/uAEcABAAQAAkAEABF/+gARv/oAEf/6ABJ/+gAU//oAJH/6ACV/+gAtv/oAMP/6ADE/+gA8v/oAP7/6AEZ/+gBHf/oATX/6AFH/+gBSP/oAVL/6AFlABABZgAQAWgAEAFpABABagAQAhP/6AIU/+gCFf/oAhb/6AIX/+gCL//oAjH/6AIz/+gCNf/oAjf/6AI5/+gCO//oAj3/6AI//+gCQf/oAkP/6AJF/+gCR//oAkn/6AMQ/+gDNv/oAzr/6AM9/+gDTQAQA04AEANSABADXP/oA2L/6ANn/+gDdf/oA3f/6AN4/+gDhP/oA5X/6AOx/+gDs//oA7X/6AO3/+gDuf/oA7v/6AO9/+gDv//oA9P/6APV/+gD1//oA9v/6AA9AEX/7ABG/+wAR//sAEn/7ABT/+wAkf/sAJX/7AC2/+wAw//sAMT/7ADy/+wA/v/sARn/7AEd/+wBNf/sAUf/7AFI/+wBUv/sAhP/7AIU/+wCFf/sAhb/7AIX/+wCL//sAjH/7AIz/+wCNf/sAjf/7AI5/+wCO//sAj3/7AI//+wCQf/sAkP/7AJF/+wCR//sAkn/7AMQ/+wDNv/sAzr/7AM9/+wDXP/sA2L/7ANn/+wDdf/sA3f/7AN4/+wDhP/sA5X/7AOx/+wDs//sA7X/7AO3/+wDuf/sA7v/7AO9/+wDv//sA9P/7APV/+wD1//sA9v/7AAXAFH/7AET/+wCHf/sAh7/7AIf/+wCIP/sAiH/7AJr/+wCbf/sAm//7AMW/+wDHP/sAzj/7AOC/+wDhv/sA8X/7APH/+wDyf/sA8v/7APN/+wDz//sA9H/7APZ/+wABgAO/4QAEP+EAWf/hAFr/4QBb/+EAXD/hAAQACz/7AA3/+wCB//sAgj/7AIJ/+wCCv/sAlf/7AKG/+wCiP/sAor/7AKM/+wCjv/sApD/7AMk/+wD3P/sA97/7AABKSwABAAAACIATgDEAaoCkANqBAQGnghkCTYKLAvyDCQMVgzUDroPMBACEhQSyhQwFOoVcBXOFpAXBhcYF0IYlBrSGvQcChyIHLIc3AAdAAT/8gAJ//IAWP/zAFv/8wC4//MBFf/zAWX/8gFm//IBaP/yAWn/8gFq//ICJv/zAif/8wKV//MDGP/zAzv/8wNE//MDTP/zA03/8gNO//IDUv/yA2H/8wNp//MDiv/zA4z/8wOO//MD6//zA+3/8wPv//MAOQAl//MAKf/zADH/8wAz//MAgf/zAJD/8wCU//MArv/zAM7/8wED//MBEv/zARb/8wEY//MBGv/zARz/8wE0//MBUf/zAfj/8wIC//MCA//zAgT/8wIF//MCBv/zAi7/8wIw//MCMv/zAjT/8wJC//MCRP/zAkb/8wJI//MCav/zAmz/8wJu//MCn//zAvz/8wMJ//MDL//zAzL/8wNX//MDY//zA2b/8wOB//MDg//zA4X/8wPE//MDxv/zA8j/8wPK//MDzP/zA87/8wPQ//MD0v/zA9T/8wPW//MD2P/zA9r/8wA5ACX/5gAp/+YAMf/mADP/5gCB/+YAkP/mAJT/5gCu/+YAzv/mAQP/5gES/+YBFv/mARj/5gEa/+YBHP/mATT/5gFR/+YB+P/mAgL/5gID/+YCBP/mAgX/5gIG/+YCLv/mAjD/5gIy/+YCNP/mAkL/5gJE/+YCRv/mAkj/5gJq/+YCbP/mAm7/5gKf/+YC/P/mAwn/5gMv/+YDMv/mA1f/5gNj/+YDZv/mA4H/5gOD/+YDhf/mA8T/5gPG/+YDyP/mA8r/5gPM/+YDzv/mA9D/5gPS/+YD1P/mA9b/5gPY/+YD2v/mADYAI//kADr/0gA7/9MArf/kAK//5ADV/9IBCP/kAfH/5AHy/+QB8//kAfT/5AH1/+QB9v/kAff/5AIL/9MCKP/kAir/5AIs/+QClP/TApb/0wL4/+QC/f/TAwD/5AMM/9MDDf/SAw//0wMo/+QDNP/SA0v/0wNV/+QDaP/TA2v/0gNu/+QDcP/kA3n/0gOT/9IDmP/kA5r/5AOc/+QDnv/kA6D/5AOi/+QDpP/kA6b/5AOo/+QDqv/kA6z/5AOu/+QD6v/TA+z/0wPu/9MD+P/SBAD/0gQT/9MAJgAO/x4AEP8eACP/zQCt/80Ar//NAQj/zQFn/x4Ba/8eAW//HgFw/x4B8f/NAfL/zQHz/80B9P/NAfX/zQH2/80B9//NAij/zQIq/80CLP/NAvj/zQMA/80DKP/NA1X/zQNu/80DcP/NA5j/zQOa/80DnP/NA57/zQOg/80Dov/NA6T/zQOm/80DqP/NA6r/zQOs/80Drv/NAKYARf/cAEb/3ABH/9wASf/cAE//8wBQ//MAUf/WAFL/8wBT/9wAV//dAFj/4QBb/+EAkf/cAJX/3ACX/90Atv/cALj/4QC8//MAw//cAMT/3ADG/90A5//zAOv/8wDs//MA7v/zAO//8wDw//MA8v/cAPP/8wD1//MA9v/zAPn/8wD7//MA/v/cAQD/8wET/9YBFf/hARn/3AEd/9wBMf/zATX/3AFA//MBRf/zAUf/3AFI/9wBUv/cAhP/3AIU/9wCFf/cAhb/3AIX/9wCHP/zAh3/1gIe/9YCH//WAiD/1gIh/9YCIv/dAiP/3QIk/90CJf/dAib/4QIn/+ECL//cAjH/3AIz/9wCNf/cAjf/3AI5/9wCO//cAj3/3AI//9wCQf/cAkP/3AJF/9wCR//cAkn/3AJk//MCZv/zAmj/8wJp//MCa//WAm3/1gJv/9YCh//dAon/3QKL/90Cjf/dAo//3QKR/90Clf/hAxD/3AMS//MDFP/dAxb/1gMY/+EDG//dAxz/1gMd/90DNv/cAzf/8wM4/9YDOf/zAzr/3AM7/+EDPf/cAz7/8wND//MDRP/hA0z/4QNU//MDXP/cA13/8wNh/+EDYv/cA2f/3ANp/+EDdf/cA3f/3AN4/9wDfv/zA4D/8wOC/9YDhP/cA4b/1gOK/+EDjP/hA47/4QOS//MDlf/cA7H/3AOz/9wDtf/cA7f/3AO5/9wDu//cA73/3AO//9wDxf/WA8f/1gPJ/9YDy//WA83/1gPP/9YD0f/WA9P/3APV/9wD1//cA9n/1gPb/9wD3f/dA9//3QPh/90D4//dA+X/3QPn/90D6f/dA+v/4QPt/+ED7//hA/P/8wP1//MD///zBAz/8wQO//MEEP/zAHEABP/aAAn/2gBF//AARv/wAEf/8ABJ//AAU//wAFf/7wBY/9wAW//cAJH/8ACV//AAl//vALb/8AC4/9wAw//wAMT/8ADG/+8A8v/wAP7/8AEV/9wBGf/wAR3/8AE1//ABR//wAUj/8AFS//ABZf/aAWb/2gFo/9oBaf/aAWr/2gIT//ACFP/wAhX/8AIW//ACF//wAiL/7wIj/+8CJP/vAiX/7wIm/9wCJ//cAi//8AIx//ACM//wAjX/8AI3//ACOf/wAjv/8AI9//ACP//wAkH/8AJD//ACRf/wAkf/8AJJ//ACh//vAon/7wKL/+8Cjf/vAo//7wKR/+8Clf/cAxD/8AMU/+8DGP/cAxv/7wMd/+8DNv/wAzr/8AM7/9wDPf/wA0T/3ANM/9wDTf/aA07/2gNS/9oDXP/wA2H/3ANi//ADZ//wA2n/3AN1//ADd//wA3j/8AOE//ADiv/cA4z/3AOO/9wDlf/wA7H/8AOz//ADtf/wA7f/8AO5//ADu//wA73/8AO///AD0//wA9X/8APX//AD2//wA93/7wPf/+8D4f/vA+P/7wPl/+8D5//vA+n/7wPr/9wD7f/cA+//3AA0AAT/oAAJ/6AAV//xAFj/xQBb/8UAl//xALj/xQDG//EBFf/FAWX/oAFm/6ABaP+gAWn/oAFq/6ACIv/xAiP/8QIk//ECJf/xAib/xQIn/8UCh//xAon/8QKL//ECjf/xAo//8QKR//EClf/FAxT/8QMY/8UDG//xAx3/8QM7/8UDRP/FA0z/xQNN/6ADTv+gA1L/oANh/8UDaf/FA4r/xQOM/8UDjv/FA93/8QPf//ED4f/xA+P/8QPl//ED5//xA+n/8QPr/8UD7f/FA+//xQA9AEX/5wBG/+cAR//nAEn/5wBT/+cAkf/nAJX/5wC2/+cAw//nAMT/5wDy/+cA/v/nARn/5wEd/+cBNf/nAUf/5wFI/+cBUv/nAhP/5wIU/+cCFf/nAhb/5wIX/+cCL//nAjH/5wIz/+cCNf/nAjf/5wI5/+cCO//nAj3/5wI//+cCQf/nAkP/5wJF/+cCR//nAkn/5wMQ/+cDNv/nAzr/5wM9/+cDXP/nA2L/5wNn/+cDdf/nA3f/5wN4/+cDhP/nA5X/5wOx/+cDs//nA7X/5wO3/+cDuf/nA7v/5wO9/+cDv//nA9P/5wPV/+cD1//nA9v/5wBxAAQADAAJAAwARf/oAEb/6ABH/+gASf/oAFH/6gBT/+gAWAALAFsACwCR/+gAlf/oALb/6AC4AAsAw//oAMT/6ADy/+gA/v/oARP/6gEVAAsBGf/oAR3/6AE1/+gBR//oAUj/6AFS/+gBZQAMAWYADAFoAAwBaQAMAWoADAIT/+gCFP/oAhX/6AIW/+gCF//oAh3/6gIe/+oCH//qAiD/6gIh/+oCJgALAicACwIv/+gCMf/oAjP/6AI1/+gCN//oAjn/6AI7/+gCPf/oAj//6AJB/+gCQ//oAkX/6AJH/+gCSf/oAmv/6gJt/+oCb//qApUACwMQ/+gDFv/qAxgACwMc/+oDNv/oAzj/6gM6/+gDOwALAz3/6ANEAAsDTAALA00ADANOAAwDUgAMA1z/6ANhAAsDYv/oA2f/6ANpAAsDdf/oA3f/6AN4/+gDgv/qA4T/6AOG/+oDigALA4wACwOOAAsDlf/oA7H/6AOz/+gDtf/oA7f/6AO5/+gDu//oA73/6AO//+gDxf/qA8f/6gPJ/+oDy//qA83/6gPP/+oD0f/qA9P/6APV/+gD1//oA9n/6gPb/+gD6wALA+0ACwPvAAsADABa/+0AXP/tAOn/7QKY/+0Cmv/tApz/7QM8/+0DbP/tA3r/7QOU/+0D+f/tBAH/7QAMAFr/8gBc//IA6f/yApj/8gKa//ICnP/yAzz/8gNs//IDev/yA5T/8gP5//IEAf/yAB8AWP/0AFr/8gBb//QAXP/zALj/9ADp//IBFf/0Aib/9AIn//QClf/0Apj/8wKa//MCnP/zAxj/9AM7//QDPP/yA0T/9ANM//QDYf/0A2n/9ANs//IDev/yA4r/9AOM//QDjv/0A5T/8gPr//QD7f/0A+//9AP5//IEAf/yAHkABP/KAAn/ygA2/9IAOP/UADr/9AA7/9MAT//RAFD/0QBS/9EAWP/mAFr/7wBb/+YAuP/mALz/0QDN/9IA0f/SANX/9ADZ/+0A3P/hAOf/0QDp/+8A6//RAOz/0QDu/9EA7//RAPD/0QDz/9EA9f/RAPb/0QD5/9EA+//RAQD/0QEU/9QBFf/mAS7/0gEx/9EBNv/SAUD/0QFF/9EBZf/KAWb/ygFo/8oBaf/KAWr/ygIL/9MCHP/RAib/5gIn/+YCZP/RAmb/0QJo/9ECaf/RAoD/0gKC/9IChP/SApT/0wKV/+YClv/TAv3/0wMM/9MDDf/0Aw//0wMS/9EDGP/mAyf/7QMz/9IDNP/0Azf/0QM5/9EDO//mAzz/7wM+/9EDQ//RA0T/5gNL/9MDTP/mA03/ygNO/8oDUv/KA1T/0QNd/9EDYP/UA2H/5gNo/9MDaf/mA2v/9ANs/+8Def/0A3r/7wN+/9EDgP/RA4n/7QOK/+YDi//tA4z/5gON/+0Djv/mA4//4QOS/9EDk//0A5T/7wPq/9MD6//mA+z/0wPt/+YD7v/TA+//5gPz/9ED9f/RA/b/0gP4//QD+f/vA/r/4QP8/+ED///RBAD/9AQB/+8EDP/RBA7/0QQQ/9EEE//TAB0ANv++AFj/7wBb/+8AuP/vAM3/vgDR/74BFf/vAS7/vgE2/74CJv/vAif/7wKA/74Cgv++AoT/vgKV/+8DGP/vAzP/vgM7/+8DRP/vA0z/7wNh/+8Daf/vA4r/7wOM/+8Djv/vA+v/7wPt/+8D7//vA/b/vgA0ADb/5gA4/+cAOv/yADv/5wBa//EAzf/mANH/5gDV//IA2f/uANz/6ADp//EBFP/nAS7/5gE2/+YCC//nAoD/5gKC/+YChP/mApT/5wKW/+cC/f/nAwz/5wMN//IDD//nAyf/7gMz/+YDNP/yAzz/8QNL/+cDYP/nA2j/5wNr//IDbP/xA3n/8gN6//EDif/uA4v/7gON/+4Dj//oA5P/8gOU//ED6v/nA+z/5wPu/+cD9v/mA/j/8gP5//ED+v/oA/z/6AQA//IEAf/xBBP/5wCEACMAEAAl/+gAKf/oADH/6AAz/+gANv/gADj/4AA7/98Agf/oAJD/6ACU/+gArQAQAK7/6ACvABAAzf/gAM7/6ADPABAA0f/gANgAEADc/+EA7QAQAPT/4AD/ABABA//oAQgAEAES/+gBFP/gARb/6AEY/+gBGv/oARz/6AEu/+ABNP/oATb/4AFNABABUf/oAfEAEAHyABAB8wAQAfQAEAH1ABAB9gAQAfcAEAH4/+gCAv/oAgP/6AIE/+gCBf/oAgb/6AIL/98CKAAQAioAEAIsABACLv/oAjD/6AIy/+gCNP/oAkL/6AJE/+gCRv/oAkj/6AJq/+gCbP/oAm7/6AKA/+ACgv/gAoT/4AKU/98Clv/fAp//6AL4ABAC/P/oAv3/3wMAABADCf/oAwz/3wMP/98DKAAQAy//6AMy/+gDM//gA0v/3wNVABADV//oA2D/4ANj/+gDZv/oA2j/3wNuABADcAAQA4H/6AOD/+gDhf/oA4//4QOQ/+ADlgAQA5cAEAOYABADmgAQA5wAEAOeABADoAAQA6IAEAOkABADpgAQA6gAEAOqABADrAAQA64AEAPE/+gDxv/oA8j/6APK/+gDzP/oA87/6APQ/+gD0v/oA9T/6APW/+gD2P/oA9r/6APq/98D7P/fA+7/3wP2/+AD+v/hA/v/4AP8/+ED/f/gBBEAEAQSABAEE//fAC0ANv/xADj/9AA6//QAO//wAM3/8QDP//UA0f/xANX/9ADY//UA2f/zART/9AEu//EBNv/xAU3/9QIL//ACgP/xAoL/8QKE//EClP/wApb/8AL9//ADDP/wAw3/9AMP//ADJ//zAzP/8QM0//QDS//wA2D/9ANo//ADa//0A3n/9AOJ//MDi//zA43/8wOT//QDlv/1A+r/8APs//AD7v/wA/b/8QP4//QEAP/0BBH/9QQT//AAWQAjAA8ANv/mADj/5gA6AA4AO//mAK0ADwCvAA8Azf/mAM8ADgDR/+YA1QAOANgADgDZAAsA3P/lAO0ADwD0/+gA/wAPAQgADwEU/+YBLv/mATb/5gFNAA4B8QAPAfIADwHzAA8B9AAPAfUADwH2AA8B9wAPAgv/5gIoAA8CKgAPAiwADwKA/+YCgv/mAoT/5gKU/+YClv/mAvgADwL9/+YDAAAPAwz/5gMNAA4DD//mAycACwMoAA8DM//mAzQADgNL/+YDVQAPA2D/5gNo/+YDawAOA24ADwNwAA8DeQAOA4kACwOLAAsDjQALA4//5QOQ/+gDkwAOA5YADgOXAA8DmAAPA5oADwOcAA8DngAPA6AADwOiAA8DpAAPA6YADwOoAA8DqgAPA6wADwOuAA8D6v/mA+z/5gPu/+YD9v/mA/gADgP6/+UD+//oA/z/5QP9/+gEAAAOBBEADgQSAA8EE//mAC4ANv/jADr/5QA7/+QAzf/jAM//5QDR/+MA1f/lANj/5QDZ/+kA7f/qAP//6gEu/+MBNv/jAU3/5QIL/+QCgP/jAoL/4wKE/+MClP/kApb/5AL9/+QDDP/kAw3/5QMP/+QDJ//pAzP/4wM0/+UDS//kA2j/5ANr/+UDef/lA4n/6QOL/+kDjf/pA5P/5QOW/+UDl//qA+r/5APs/+QD7v/kA/b/4wP4/+UEAP/lBBH/5QQS/+oEE//kACEANv/iADr/5ADN/+IAz//kANH/4gDV/+QA2P/kANn/6QDt/+sA///rAS7/4gE2/+IBTf/kAoD/4gKC/+IChP/iAw3/5AMn/+kDM//iAzT/5ANr/+QDef/kA4n/6QOL/+kDjf/pA5P/5AOW/+QDl//rA/b/4gP4/+QEAP/kBBH/5AQS/+sAFwA2/+sAO//zAM3/6wDR/+sBLv/rATb/6wIL//MCgP/rAoL/6wKE/+sClP/zApb/8wL9//MDDP/zAw//8wMz/+sDS//zA2j/8wPq//MD7P/zA+7/8wP2/+sEE//zADAAT//vAFD/7wBS/+8AWv/wALz/7wDn/+8A6f/wAOv/7wDs/+8A7v/vAO//7wDw/+8A8//vAPX/7wD2/+8A+f/vAPv/7wEA/+8BMf/vAUD/7wFF/+8CHP/vAmT/7wJm/+8CaP/vAmn/7wMS/+8DN//vAzn/7wM8//ADPv/vA0P/7wNU/+8DXf/vA2z/8AN6//ADfv/vA4D/7wOS/+8DlP/wA/P/7wP1/+8D+f/wA///7wQB//AEDP/vBA7/7wQQ/+8AHQAE//IACf/yAFj/9QBb//UAuP/1ARX/9QFl//IBZv/yAWj/8gFp//IBav/yAib/9QIn//UClf/1Axj/9QM7//UDRP/1A0z/9QNN//IDTv/yA1L/8gNh//UDaf/1A4r/9QOM//UDjv/1A+v/9QPt//UD7//1AAQA9P/tA5D/7QP7/+0D/f/tAAoABP/1AAn/9QFl//UBZv/1AWj/9QFp//UBav/1A03/9QNO//UDUv/1AFQARf/wAEb/8ABH//AASf/wAFH/6wBT//AAkf/wAJX/8AC2//AAw//wAMT/8ADy//AA/v/wARP/6wEZ//ABHf/wATX/8AFH//ABSP/wAVL/8AIT//ACFP/wAhX/8AIW//ACF//wAh3/6wIe/+sCH//rAiD/6wIh/+sCL//wAjH/8AIz//ACNf/wAjf/8AI5//ACO//wAj3/8AI///ACQf/wAkP/8AJF//ACR//wAkn/8AJr/+sCbf/rAm//6wMQ//ADFv/rAxz/6wM2//ADOP/rAzr/8AM9//ADXP/wA2L/8ANn//ADdf/wA3f/8AN4//ADgv/rA4T/8AOG/+sDlf/wA7H/8AOz//ADtf/wA7f/8AO5//ADu//wA73/8AO///ADxf/rA8f/6wPJ/+sDy//rA83/6wPP/+sD0f/rA9P/8APV//AD1//wA9n/6wPb//AAjwAEAA0ACQANAEP/8ABF/7AARv+wAEf/sABJ/7AAUf/WAFP/sABYAAsAWwALAJH/sACV/7AAtv+wALgACwDE/7AA7f+vAPL/sAD+/7AA//+vARP/1gEVAAsBGf+wAR3/sAE1/7ABR/+wAUj/sAFS/7ABZQANAWYADQFoAA0BaQANAWoADQIM//ACDf/wAg7/8AIP//ACEP/wAhH/8AIS//ACE/+wAhT/sAIV/7ACFv+wAhf/sAId/9YCHv/WAh//1gIg/9YCIf/WAiYACwInAAsCKf/wAiv/8AIt//ACL/+wAjH/sAIz/7ACNf+wAjf/sAI5/7ACO/+wAj3/sAI//7ACQf+wAkP/sAJF/7ACR/+wAkn/sAJr/9YCbf/WAm//1gKVAAsDEP+wAxb/1gMYAAsDHP/WAzX/8AM2/7ADOP/WAzr/sAM7AAsDPf+wA0QACwNMAAsDTQANA04ADQNSAA0DVv/wA1z/sANhAAsDYv+wA2f/sANpAAsDb//wA3H/8AN1/7ADd/+wA3j/sAOC/9YDhP+wA4b/1gOKAAsDjAALA44ACwOV/7ADl/+vA5n/8AOb//ADnf/wA5//8AOh//ADo//wA6X/8AOn//ADqf/wA6v/8AOt//ADr//wA7H/sAOz/7ADtf+wA7f/sAO5/7ADu/+wA73/sAO//7ADxf/WA8f/1gPJ/9YDy//WA83/1gPP/9YD0f/WA9P/sAPV/7AD1/+wA9n/1gPb/7AD6wALA+0ACwPvAAsEEv+vAAgA7QAQAPT/8AD/ABADkP/wA5cAEAP7//AD/f/wBBIAEABFAEUADABGAAwARwAMAEkADABTAAwAkQAMAJUADAC2AAwAwwAMAMQADADtABgA8gAMAPT/9wD+AAwA/wAYARkADAEdAAwBNQAMAUcADAFIAAwBUgAMAhMADAIUAAwCFQAMAhYADAIXAAwCLwAMAjEADAIzAAwCNQAMAjcADAI5AAwCOwAMAj0ADAI/AAwCQQAMAkMADAJFAAwCRwAMAkkADAMQAAwDNgAMAzoADAM9AAwDXAAMA2IADANnAAwDdQAMA3cADAN4AAwDhAAMA5D/9wOVAAwDlwAYA7EADAOzAAwDtQAMA7cADAO5AAwDuwAMA70ADAO/AAwD0wAMA9UADAPXAAwD2wAMA/v/9wP9//cEEgAYAB8AWP/0AFr/8ABb//QAuP/0AOn/8ADt//MA///zARX/9AIm//QCJ//0ApX/9AMY//QDO//0Azz/8ANE//QDTP/0A2H/9ANp//QDbP/wA3r/8AOK//QDjP/0A47/9AOU//ADl//zA+v/9APt//QD7//0A/n/8AQB//AEEv/zAAoABP/WAAn/1gFl/9YBZv/WAWj/1gFp/9YBav/WA03/1gNO/9YDUv/WAAoABP/1AAn/9QFl//UBZv/1AWj/9QFp//UBav/1A03/9QNO//UDUv/1AF4ABAALAAkACwBF/+sARv/rAEf/6wBJ/+sAUf/pAFP/6wCR/+sAlf/rALb/6wDD/+sAxP/rAPL/6wD+/+sBE//pARn/6wEd/+sBNf/rAUf/6wFI/+sBUv/rAWUACwFmAAsBaAALAWkACwFqAAsCE//rAhT/6wIV/+sCFv/rAhf/6wId/+kCHv/pAh//6QIg/+kCIf/pAi//6wIx/+sCM//rAjX/6wI3/+sCOf/rAjv/6wI9/+sCP//rAkH/6wJD/+sCRf/rAkf/6wJJ/+sCa//pAm3/6QJv/+kDEP/rAxb/6QMc/+kDNv/rAzj/6QM6/+sDPf/r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ATEDUgNXATUDWgNaATsDXANcATwDYANhAT0DZgNmAT8DaANxAUADdAN1AUoDdwN6AUwDgQOCAVADhgOGAVIDiAOOAVMDkwOUAVoDmAPAAVwDwgPCAYUDxAPRAYYD2QPZAZQD3APcAZUD3gPeAZYD6gPvAZcD8gPyAZ0D9AP0AZ4D9gP2AZ8D+AP5AaAD/gQBAaIEBAQEAaYEBgQHAacECQQJAakEDQQNAaoEDwQPAasEEwQTAawAAQAKAAoAKAAzADQAPQBIAE0AVgBZAF0AAQAiAJkAsACyALMAtAC7AL4AvwDAAMUAxwDIAMkAzQDRANMA1ADWAN4A4gDjAOQA5QDmAOgA6gDsAPEA8wD2APsA/gEdAdwAAgB2AAQABAAAAAkACQABAA4ADgACABAAEAADACMAJwAEACoAMgAJADYAPAASAEMARQAZAEcARwAcAEoASgAdAE8AUgAeAFQAVAAiAFgAWAAjAFoAXAAkAIgAiAAnAKwArwAoALgAuAAsALwAvAAtAMIAwgAuAM8A0AAvANIA0gAxANUA1QAyANcA2QAzANsA2wA2AN0A3QA3AN8A3wA4AOEA4QA5AOcA5wA6AOkA6QA7APIA8gA8APcA9wA9APkA+gA+AP8BAABAAQUBBQBCAQgBCABDARMBFQBEAScBKQBHASwBLABKAS4BLgBLAUUBRQBMAWUBawBNAW8BcABUAewB7QBWAe8B7wBYAfECFwBZAhwCIQCAAiYCNgCGAjgCQQCXAkoCTAChAk4CTgCkAlACUAClAlICUgCmAlQCVACnAlcCVwCoAlkCWQCpAlsCWwCqAl0CXQCrAl8CXwCsAmECYQCtAmMCbwCuAnECcQC7AnMCcwC8AnUCdQC9AoACgAC+AoICggC/AoQChADAAoYChgDBAogCiADCAooCigDDAowCjADEAo4CjgDFApACkADGApICkgDHApQCnADIAvgC/QDRAwADDwDXAxIDEgDnAxYDFgDoAxgDGADpAxwDHADqAx8DIADrAyIDKwDtAy0DLwD3AzEDNgD6AzgDPgEAA0QDRQEHA0cDRwEJA0kDSQEKA0sDTgELA1IDVwEPA1oDWgEVA1wDXAEWA2ADYQEXA2YDcQEZA3QDdQElA3cDegEnA4EDggErA4YDhgEtA4gDjgEuA5MDlAE1A5gDwAE3A8IDwgFgA8QD0QFh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ABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAABEAEQARABEAEQARABEABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABgAGAAYABgAOABoAGgAaABoAGgAaABoAFQAVABUAFQAVAAAAAAAAAAAAGAAIAAgACAAIAAgACwALAAsACwACAAIAEQAaABEAGgARABoABQAVAAUAFQAFABUABQAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAUAFQAFABUABQAVAAUAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAABgAAAAYABgABQAIAAUACAAFAAgAAAAAAAAAAAAAAAAAGQAbABkAGwAZABsAGQAbABkAGwAKAAAACgAAAAoAAAAGAAsABgALAAYACwAGAAsABgALAAYACwAJAAAADgACAA4AFAAMABQADAAUAAwAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAUADgAAAAAAEQAAAAAAFAAAAAAAAAAAAAAABQAAAAAADgASAAAADgAVAAAAGAAAAAsAAAAIAAAAAgAAAAAACwAIAAsAAAAAAAAAAAAAAAAAHAAAAAAAEAARAAAAAAAAAAAAAAAAAAUAAAAAAAUACgASABoAFQAYAAgAGAAVAAIAFgAVABgAGwAAAAAAAAAYAAIACQAAAAkAAAAJAAAADgACAAcABwAAAAAAAAAHAAAAGAARABoABQAAAAAAAAAAABUAGAAAAAAADQACABUABQAAAAAABQAVAA4AAgAAABIAFgAAABEAGgARABoAAAAAAAAAFQAAABUAFQASABYAAAAAAAAAGAAAABgABQAIAAUAFQAFAAgAAAAAABAAAgAQAAIAEAACAA8AAwAAABgAEgAWABUAAQAEABEAGgARABoAEQAaABEAGgARABoAEQAaABEAGgARABoAEQAaABEAGgARABoAEQAaAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAAAAAAAAAFAAgABQAIAAUACAAFAAgABQAIAAUACAAFAAgABQAVAAUAFQAFABUABQAIAAUAFQAGAAsABgALAAAACwAAAAsAAAALAAAACwAAAAsADgACAA4AAgAOAAIAAAAAAAAAGAAAABgACgAAABIAFgAPAAMADwADAAAAGAASABYAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAGAAAABgAAQAEAA4AAAAAAAAAAAAAABcAAQAAAAoALACOAAFERkxUAAgABAAAAAD//wAIAAAAAQACAAMABAAFAAYABwAIbGlnYQAybG51bQA4c21jcAA+c3MwMQBEc3MwMgBKc3MwMwBQc3MwNABWc3MwNQBcAAAAAQABAAAAAQACAAAAAQAAAAAAAQADAAAAAQAEAAAAAQAFAAAAAQAGAAAAAQAHAAgAEgAaACIAKgAyADoAQgBKAAEAAAABAEAABAAAAAEB9gABAAAAAQIAAAEAAAABAhIAAQAAAAECEAABAAAAAQIOAAEAAAABAgwAAQAAAAECDgACAhAA3AGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAHoAbUBtgG3AbgBuQG6AbsBvAG9Ab4BpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQB6AG1AbYBtwG4AbkBugG7AbwBvQG+AvcCogKhAqICowKjAqQCpQKmAqcCqAKpAqoCqwKsAq0CrgKvArACsQKyArMCtAK1ArYCtwK4ArkCugK7ArwCvQK+AqQCpQKmAqcCqAKpAqoCqwKsAq0CrgKvArACsQKyArMCtAK1ArYCtwK4ArkCugK7ArwCvQK+AvMCvwK/AsACwALBAsECwgLCAsMCwwLFAsUCxgLGAscCxwLIAsgCyQLJAsoCygLLAssCzALMAs0CzQLPAs8C0ALQAtEC0QLSAtIC0wLTAtQC1ALVAtYC1gLXAtcC2ALYAtkC2QLaAtoC2wLbAtwC3ALdAt0C3gLeAt8C3wLgAuAC4QLhAuIC4gLjAuMC5ALkAuUC5QLmAuYC5wLnAugC6P////8C6gLqAusC6wLsAuwC7QLtAu4C7gLvAu8C8ALwAvEC8QLyAvIC8wL0AvQC9QL1AvYC9gKhAAEApAABAAgAAQAEAZIAAgBLAAIAmAAKAZgBzAHEAdYB1wHYAdkB2wHdAecAAQCIAZEAAQCIASgAAQCIAa4AAgCIAAIB4wHkAAIAfgACAeUB5gACAA0AIwA8AAAAQwBcABoAgwCDADQAhQCFADUB7AHtADYB7wIxADgCNAJFAHsCSAJUAI0CVwJoAJoCagJ7AKwCfgJ/AL4CggKcAMAD8APwANsAAQABAEgAAgABABIAGwAAAAEAAQBJAAEAAQC2AAEAAQA0AAEAAgAtAE0=",
+"Roboto-Medium.ttf":"AAEAAAAOAIAAAwBgR0RFRgsuCy8AASxgAAAASEdQT1OQeyOPAAEsqAAAl/pHU1VCeolvLwABxKQAAANsT1MvMrkTKcoAAAFoAAAAYFZETVhu6nZPAAASOAAABeBjbWFwf76BZgAAGBgAAA7iZ2x5Zm8zqQ4AACb8AADUQGhlYWT1Pw7VAAAA7AAAADZoaGVhCx4JIwAAASQAAAAkaG10eLpNNCcAAAHIAAAQcGxvY2EEms7QAAD7PAAACDptYXhwBDsA9gAAAUgAAAAgbmFtZb10XwMAAQN4AAAEn3Bvc3Tfb5xiAAEIGAAAJEYAAQAAAAEAAF5SMstfDzz1AAkIAAAAAADE8BEuAAAAAM2CsnL6JP3VCYsIYgAAAAkAAgAAAAAAAAABAAAHbP4MAAAJnfok/V0JiwABAAAAAAAAAAAAAAAAAAAEHAABAAAEHACXABYAXQAFAAEAAAAAAAAAAAAAAAAAAwABAAME3gH0AAUAAAWaBTMAAAEfBZoFMwAAA9EAZgIAAAAAAAAAAAAAAAAA4AAC/1AAIFsAAAAgAAAAAHB5cnMAAAAA//0GAP4AAGYHmgIAIAABn08BAAAEOgWwAAAAIAACAf4AAAAAAAAB/gAAAf4AAAKYAFIE4gA8BIwAZAXgAGQFHQA+AVoAUgK3AIACvAARA38AGwR1AEQBwgAnAqAARwI8AJkDKgACBIwAaASMAMoEjABRBIwATwSMADgEjACBBIwAdASMAEUEjABhBIwAUgIlAJkCIABRBBEAPwSOAJEEKgCAA+QAKQchAEoFQgAaBSAAnwUgAHQFYgCfBKMAnwShAJ8FbQB0BbAAnwJNAK0EfAA6BSgAnwRkAJ8HAgCfBbAAnwWPAHQFKwCfBZAAdAVFAJ8E8wBTBOoANQV0AIYFKwAaBwIARAUUAC8FAwATBMAAWAIxAIQDVwAVAjEADANrADUDnAADApQASgRaAF4EiACABDMAUQSIAFMEPABZAs8AMQSIAFQEiAB9AhMAkAIZ/7AEMACBAhMAkAb1AIAEiAB+BIgAUwSIAIAEiABTAtoAgAQpAFECnQAZBIgAewQOACAF+gAlBA4AIQQOABAEDgBVAq8AOAICAK4CrwAbBVEAdQIeAI8EfQBoBLUAUQWdAF0E4AAaAfwAiAT4AFoEHgCkBkQAVwORAHQD4gBUBG0AfwZEAFcD2wCHAwoAfwRLAF8DYQBtA2MAYQKxAHgEuwCSBBAAPgJCAKACEABtAjUAZAOnAHcD4gBcBgwAmwZmAJMG0wBmBAEAYAeF//YERABNBXoAaQTKAJQE5wCIBsEANAS6ADwEkQBDBIkAUwSXAIcFogAYAhoAjwSYAI4EJAAbAj8AGwWSAJMEiAB+B7QAZQc6AFsCDACLAtD/3QWJAGYEnwBSBaUAhgTyAHsCJv+1BDwAWQPmAJsDsAB5A3wAdQJPAJoCsgCCAk0AKQPYAIADLwB6ApwAqwAA/NsAAP02AAD8eQAA/T4AAPwMAAD9IgJdANcEPACdAkIAoAR1AJ8FvQAaBXsAZgU5ACMEkQBwBbEAnwSRAEcF6wBLBacASAVbAGwEhABWBMYAlgQOACAEiABUBGAAYAQaAGEEiAB+BKIAcwKmAKkEagAWBBMAZAT3AE8EiACABDcAUgSQAFIELgBABGAAgAXQAEQFyQBPBpQAZgUuAHUEdf/uBnEAMwX/ACQFPgByCIoALgiRAJ8GXwA1BasAmQUIAJQGBwAmB5oAGATTAEoFqgCaBakALgUKAD8GYABPBfYAmQWIAI8HmgCeB/oAngYaABgG+QCfBQcAlAU8AIgHVACqBPsALQR9AFsEjwCPA1oAhQT2ACcGdgAXBBYATQSYAIYEbgCPBJoAHwYDAI8ElwCGBJgAhgP1ACMF0wBUBNMAhgRmAF8GjgCGBuwAfgUYAB8GbwCPBGgAjwQ8AFEGhACQBHAAJwSJ/+EEPQBYBtEAHwbkAIYEif/1BJgAhgdDAI0GTwBwBGf/4AcpAKIGAQCGBQcAIARgAAoHQgC2BjYAnQbtAIQF5gCCCTIArQf5AI8EIQApA/AAMwV7AGoEiQBSBRkAEQQOACAFewBqBIkAUwc+AI0GRAB0B0MAjQZQAHAFHQBqBEoAXAT/AG0AAPxmAAD8cwAA/XsAAP2lAAD6JP7p+k0EZ//gBRQAnwSHAIAEagCUA6IAfgS3AJ8EIAB+BSoAlASrAI4GlgA0BaQAPgfRAJ8FqwB+CEcAnwb1AH4GJQBpBP8AYQcyAC4FcQAmBXUAggRzAHQFhwCKBiYAIATE/84FHwCUBHgAjgWwAJ8EiAB+BYgAUwSmAF0EpgBdBMcAOwNTADQFBwBUBusAZgbdAF4GUwA7BSgALwR7AEkEPwB1B74AQwadAD8H/gCYBp4AdwUDAGIELABVBaoAIgUdAEQFVwCHBBQAAAgpAAAEFAAACCkAAAK5AAACCgAAAVwAAAR/AAACMAAAAaIAAADRAAAAAAAABYcArQaBALIDnQAEAcAAYAG8ADMBzgAyAagARwMUAGIDGwBAAwgAMgRdAEAEmQBcAssAiAP6AJwFpgCcB6gASwJyAGwCaQBUA5wALQOpAD8DXABpBLUATwa4AJkETQBLBeUAcQPiAEUIyACYBQkAZAUUAJYGyQBpB2EAageRAGoG7wBqBLsAQwWWAKYE2QBABIMAngSyADsIRQBkAiH/sgSOAGUETACYBEYAqgRLAKAEGgAkAlsAswKYAGMB8QBFBKgAGAAAAAAIMABZCDUAXAQyAE0DiwBNBJMAbAMn/58CEP+wAk0AGAGzAFwDoQB1A6EAdQOhAHUECwB5BAsAdQQL/0wECwB6A6EAWwIFAJAEyAAcBIwAjgSUAGgErwCOBEcAjgQqAI4E2wBoBRIAjgIVAI4EFwAuBHcAjgO9AI4GBgCOBSEAjgTKAGYE3QBoBKgAjgRwAE8EMgA8BQAAfgSxABwGDgA0BIwALARVABMETQBKBIYAbQKFAD4D/wBSBCIATQRlADkEfABRBD0AbQOvADwEQwBSBCoAPwIzAFcDVQBrA2YAYAL9ADgDdgBoA3YAcAMAAFIDgwBoA2YAYAOfAHADuQCXArIAlgNCAGwEjABPBIwAOASMAIEEmAB0BDsACgQ0ADIEYgA+BIwAYQS7AFYEiABTBUkAnwRaAGAFMgCfBSgAnwQwAIEFOgCfBC0AgQSNAFIEjACOA3wAdQH+AAACoABHBYAAJAWAACQEpv/9BOoANQKd/+cFQgAaBUIAGgVCABoFQgAaBUIAGgVCABoFQgAaBSAAdASjAJ8EowCfBKMAnwSjAJ8CTf/MAk0ArQJN/9gCTf+9BbAAnwWPAHQFjwB0BY8AdAWPAHQFjwB0BXQAhgV0AIYFdACGBXQAhgUDABMEWgBeBFoAXgRaAF4EWgBeBFoAXgRaAF4EWgBeBDMAUQQ8AFkEPABZBDwAWQQ8AFkCGv+vAhoAjwIa/7sCGv+gBIgAfgSIAFMEiABTBIgAUwSIAFMEiABTBIgAewSIAHsEiAB7BIgAewQOABAEDgAQBUIAGgRaAF4FQgAaBFoAXgVCABoEWgBeBSAAdAQzAFEFIAB0BDMAUQUgAHQEMwBRBSAAdAQzAFEFYgCfBR4AUwSjAJ8EPABZBKMAnwQ8AFkEowCfBDwAWQSjAJ8EPABZBKMAnwQ8AFkFbQB0BIgAVAVtAHQEiABUBW0AdASIAFQFbQB0BIgAVAWwAJ8EiAB9Ak3/vwIa/6ICTf+/Ahr/ogJN/+UCGv/IAk0AHAIT//4CTQCjBskArQQsAJAEfAA6Aib/tQUoAJ8EMACBBGQAnwITAJAEZACfAhMAWARkAJ8CqQCQBGQAnwLvAJAFsACfBIgAfgWwAJ8EiAB+BbAAnwSIAH4EiP/VBY8AdASIAFMFjwB0BIgAUwWPAHQEiABTBUUAnwLaAIAFRQCfAtoAVgVFAJ8C2gBDBPMAUwQpAFEE8wBTBCkAUQTzAFMEKQBRBPMAUwQpAFEE8wBTBCkAUQTqADUCnQAZBOoANQKdABkE6gA1AsUAGQV0AIYEiAB7BXQAhgSIAHsFdACGBIgAewV0AIYEiAB7BXQAhgSIAHsFdACGBIgAewcCAEQF+gAlBQMAEwQOABAFAwATBMAAWAQOAFUEwABYBA4AVQTAAFgEDgBVB4X/9gbBADQFegBpBIkAUwSv/+oEr//qBDIAPATIABwEyAAcBMgAHATIABwEyAAcBMgAHATIABwElABoBEcAjgRHAI4ERwCOBEcAjgIV/6wCFQCOAhX/uAIV/50FIQCOBMoAZgTKAGYEygBmBMoAZgTKAGYFAAB+BQAAfgUAAH4FAAB+BFUAEwTIABwEyAAcBMgAHASUAGgElABoBJQAaASUAGgErwCOBEcAjgRHAI4ERwCOBEcAjgRHAI4E2wBoBNsAaATbAGgE2wBoBRIAjgIV/58CFf+fAhX/xQIV//kCFQCEBBcALgR3AI4DvQCOA70AjgO9AI4DvQCOBSEAjgUhAI4FIQCOBMoAZgTKAGYEygBmBKgAjgSoAI4EqACOBHAATwRwAE8EcABPBHAATwQyADwEMgA8BQAAfgUAAH4FAAB+BQAAfgUAAH4FAAB+Bg4ANARVABMEVQATBE0ASgRNAEoETQBKCOAATwVCABoFB/+vBhT/3AKx/+MFowAqBWf/ZwVvABMCpv+wBUIAGgUgAJ8EowCfBMAAWAWwAJ8CTQCtBSgAnwcCAJ8FsACfBY8AdAUrAJ8E6gA1BQMAEwUUAC8CTf+9BQMAEwSEAFYEYABgBIgAfgKmAKkEYACABJgAjgSIAFMEuwCSBA4AIAQOACECpv/EBGAAgASIAFMEYACABpQAZgSjAJ8EdQCfBPMAUwJNAK0CTf+9BHwAOgUoAJ8FKACfBQoAPwVCABoFIACfBHUAnwSjAJ8FqgCaBwIAnwWwAJ8FjwB0BbEAnwUrAJ8FIAB0BOoANQUUAC8EWgBeBDwAWQSYAIYEiABTBIgAgAQzAFEEDgAQBA4AIQQ8AFkDWgCFBCkAUQITAJACGv+gAhn/sARuAI8EDgAQBwIARAX6ACUHAgBEBfoAJQcCAEQF+gAlBQMAEwQOABABWgBSApgAUgRKAJoE4gAxAib/tQG8ADMHAgCfBvUAgAVCABoEWgBeBY//PQd3ADEHsQAxBKMAnwWqAJoEPABZBJgAhgWnAEgFyQBPBRkAEQQO/+MIlgBTCZ0AdATTAEoEFgBNBSAAdAQzAFEFAwATBA4AIAJNAK0HmgAYBnYAFwJNAK0FQgAaBFoAXgVCABoEWgBeB4X/9gbBADQEowCfBDwAWQWIAFMEPABZBDwAWQeaABgGdgAXBNMASgQWAE0FqgCaBJgAhgWqAJoEmACGBY8AdASIAFMFewBqBIkAUgV7AGoEiQBSBTwAiAQ8AFEFCgA/BA4AEAUKAD8EDgAQBQoAPwQOABAFiACPBGYAXwb5AJ8GbwCPBRQALwQOACEEiABTBakALgSaAB8FQgAaBFoAXgVCABoEWgBeBUIAGgRaAF4FQgAEBFr/iQVCABoEWgBeBUIAGgRaAF4FQgAaBFoAXgVCABoEWgBeBUIAGgRaAF4FQgAaBFoAXgVCABoEWgBeBUIAGgRaAF4EowCfBDwAWQSjAJ8EPABZBKMAnwQ8AFkEowCfBDwAWQSj/8wEPP+LBKMAnwQ8AFkEowCfBDwAWQSjAJ8EPABZAk0ArQIaAI8CTQCfAhMAggWPAHQEiABTBY8AdASIAFMFjwB0BIgAUwWPACsEiP+mBY8AdASIAFMFjwB0BIgAUwWPAHQEiABTBYkAZgSfAFIFiQBmBJ8AUgWJAGYEnwBSBYkAZgSfAFIFiQBmBJ8AUgV0AIYEiAB7BXQAhgSIAHsFpQCGBPIAewWlAIYE8gB7BaUAhgTyAHsFpQCGBPIAewWlAIYE8gB7BQMAEwQOABAFAwATBA4AEAUDABMEDgAQBKYAUwSmAFMFKACfBG4AjwWwAJ8ElwCGBOoANQP1ACMFFAAvBA4AIQWIAI8EZgBfBYgAjwRmAF8EdQCfA1oAhQeaABgGdgAXBiYAIATE/84EiAB9BQf/1wUH/9cEdf/3A1r/6QU8/90ERP/MBaoAmgSYAIYFsACfBJcAhgcCAJ8GAwCPBakALgSaAB8FAwATBA4AIAUUAC8EDgAhBGAAYAShABYGgQCyAAAAAAIlAJoAAAABAAEBAQEBAAwA+Aj/AAgACP/+AAkACf/9AAoACv/9AAsAC//9AAwADP/9AA0ADf/8AA4ADv/8AA8AD//8ABAAEP/8ABEAEf/7ABIAEv/7ABMAE//7ABQAFP/7ABUAFP/6ABYAFf/6ABcAFv/6ABgAF//6ABkAGP/5ABoAGf/5ABsAGv/5ABwAG//5AB0AHP/4AB4AHf/4AB8AHv/4ACAAH//4ACEAIP/3ACIAIf/3ACMAIv/3ACQAI//3ACUAJP/2ACYAJf/2ACcAJv/2ACgAJ//2ACkAJ//1ACoAKP/1ACsAKf/1ACwAKv/1AC0AK//0AC4ALP/0AC8ALf/0ADAALv/0ADEAL//zADIAMP/zADMAMf/zADQAMv/zADUAM//yADYANP/yADcANf/yADgANv/yADkAN//xADoAOP/xADsAOf/xADwAOv/xAD0AOv/wAD4AO//wAD8APP/wAEAAPf/wAEEAPv/vAEIAP//vAEMAQP/vAEQAQf/vAEUAQv/uAEYAQ//uAEcARP/uAEgARf/uAEkARv/tAEoAR//tAEsASP/tAEwASf/tAE0ASv/sAE4AS//sAE8ATP/sAFAATf/sAFEATf/rAFIATv/rAFMAT//rAFQAUP/rAFUAUf/qAFYAUv/qAFcAU//qAFgAVP/qAFkAVf/pAFoAVv/pAFsAV//pAFwAWP/pAF0AWf/oAF4AWv/oAF8AW//oAGAAXP/oAGEAXf/nAGIAXv/nAGMAX//nAGQAYP/nAGUAYP/mAGYAYf/mAGcAYv/mAGgAY//mAGkAZP/lAGoAZf/lAGsAZv/lAGwAZ//lAG0AaP/kAG4Aaf/kAG8Aav/kAHAAa//kAHEAbP/jAHIAbf/jAHMAbv/jAHQAb//jAHUAcP/iAHYAcf/iAHcAcv/iAHgAc//iAHkAc//hAHoAdP/hAHsAdf/hAHwAdv/hAH0Ad//gAH4AeP/gAH8Aef/gAIAAev/gAIEAe//fAIIAfP/fAIMAff/fAIQAfv/fAIUAf//eAIYAgP/eAIcAgf/eAIgAgv/eAIkAg//dAIoAhP/dAIsAhf/dAIwAhv/dAI0Ahv/cAI4Ah//cAI8AiP/cAJAAif/cAJEAiv/bAJIAi//bAJMAjP/bAJQAjf/bAJUAjv/aAJYAj//aAJcAkP/aAJgAkf/aAJkAkv/ZAJoAk//ZAJsAlP/ZAJwAlf/ZAJ0Alv/YAJ4Al//YAJ8AmP/YAKAAmf/YAKEAmf/XAKIAmv/XAKMAm//XAKQAnP/XAKUAnf/WAKYAnv/WAKcAn//WAKgAoP/WAKkAof/VAKoAov/VAKsAo//VAKwApP/VAK0Apf/UAK4Apv/UAK8Ap//UALAAqP/UALEAqf/TALIAqv/TALMAq//TALQArP/TALUArP/SALYArf/SALcArv/SALgAr//SALkAsP/RALoAsf/RALsAsv/RALwAs//RAL0AtP/QAL4Atf/QAL8Atv/QAMAAt//QAMEAuP/PAMIAuf/PAMMAuv/PAMQAu//PAMUAvP/OAMYAvf/OAMcAvv/OAMgAv//OAMkAv//NAMoAwP/NAMsAwf/NAMwAwv/NAM0Aw//MAM4AxP/MAM8Axf/MANAAxv/MANEAx//LANIAyP/LANMAyf/LANQAyv/LANUAy//KANYAzP/KANcAzf/KANgAzv/KANkAz//JANoA0P/JANsA0f/JANwA0v/JAN0A0v/IAN4A0//IAN8A1P/IAOAA1f/IAOEA1v/HAOIA1//HAOMA2P/HAOQA2f/HAOUA2v/GAOYA2//GAOcA3P/GAOgA3f/GAOkA3v/FAOoA3//FAOsA4P/FAOwA4f/FAO0A4v/EAO4A4//EAO8A5P/EAPAA5f/EAPEA5f/DAPIA5v/DAPMA5//DAPQA6P/DAPUA6f/CAPYA6v/CAPcA6//CAPgA7P/CAPkA7f/BAPoA7v/BAPsA7//BAPwA8P/BAP0A8f/AAP4A8v/AAP8A8//AAAAAAwAAAAMAAAiEAAEAAAAAABwAAwABAAACJgAGAgoAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAEAAgAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAMEGwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYAAAAfUB9gH4AfoCAQIGAgoCDQIMAg4CEAIPAhECEwIVAhQCFgIXAhkCGAIaAhsCHAIeAh0CHwIhAiACIwIiAiQCJQFsAG8AYgBjAGcBbgB1AIMAbQBpAX0AcwBoAYsAfwCBAYgAcAGMAY0AZQB0AYMBhQGEAMEBiQBqAHkAtQCEAIcAfgBhAGwBhwCTAYoArQBrAHoBcAADAfEB9AIFAJAAkQFiAWMBaQFqAWUBZgCGAY4CJwKWAXQBeQFyAXMBkgNQAW0AdgFnAWsBcQHzAfsB8gH8AfkB/gH/AgAB/QIDAgQAAAICAggCCQIHAIoAmgCgAG4AnACdAJ4AdwChAJ8AmwAEBl4AAADqAIAABgBqAAAAAgANACEAfgCgAKwArQC/AMYAzwDmAO8A/gEPAREBJQEnATABOAFAAVMBXwFnAX4BfwGSAaEBsAHwAfsB/wIZAhsCNwJZArwCxwLJAt0C8wMBAwMDCQMPAyMDigOMA5IDoQOwA7kDyQPOA9ID1gQlBC8ERQRPBGIEbwR5BIYEzgTXBOEE9QUBBRAFEx4BHj8ehR7xHvMe+R9NIAsgFSAeICIgJiAwIDMgOiA8IEQgdCB/IKQgpyCsIQUhEyEWISIhJiEuIV4iAiIGIg8iEiIaIh4iKyJIImAiZSXK7gL2w/sE/v///f//AAAAAAACAA0AIAAiAKAAoQCtAK4AwADHANAA5wDwAP8BEAESASYBKAExATkBQQFUAWABaAF/AZIBoAGvAfAB+gH8AhgCGgI3AlkCvALGAskC2ALzAwADAwMJAw8DIwOEA4wDjgOTA6MDsQO6A8oD0QPWBAAEJgQwBEYEUARjBHAEegSIBM8E2ATiBPYFAgURHgAePh6AHqAe8h70H00gACATIBcgICAlIDAgMiA5IDwgRCB0IH8goyCnIKshBSETIRYhIiEmIS4hWyICIgYiDyIRIhoiHiIrIkgiYCJkJcruAfbD+wH+///8//8AAQQY//UAAP/iAAD/wAAA/78AAAExAAABLAAAASgAAAEmAAABJAAAASIAAAEcAAABHgAA/wH+9P7nAWEAAAChAGQAZv5h/kAAlv3U/aX9xP2v/aP9ov2d/Zj9hQAA/3D/bwAAAAD9BQAA/1D8+fz2AAD8tQAA/K0AAPyiAAD8nAAA/p4AAP6bAAD8RQAA5VXlFeTF5PjkWeT25ArhVgAA4U3hTOFK4UHjG+E54xPhMOEB4PcAAODRAADgdeBo4GbgW9+P4FDgJN+B3qffdd90323fat9e30LfK98o28QTjgrOAAAClAGYAAEAAAAAAAAA5AAAAOQAAADiAAAA4AAAAOoAAAEUAAABLgAAAS4AAAEuAAABOgAAAVwAAAFoAAAAAAAAAAABYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFEAAAAAAFMAWgAAAGAAAAAAAAAAZgAAAHgAAACCAAAAioAAAI6AAACxAAAAtQAAALoAAAAAAAAAAAAAAAAAAAAAALcAAAAAAAAAAAAAAAAAAAAAAAAAAACzAAAAswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqYAAAAAAAAAAwQbAeoB6wHxAfIB8wH0AfUB9gB/Ae0CAQICAgMCBAIFAgYAgACBAgcCCAIJAgoCCwCCAIMCDAINAg4CDwIQAhEAhACFAhwCHQIeAh8CIAIhAIYAhwIiAiMCJAIlAiYAiAHsA/AAiQHuAIoCVQJWAlcCWAJZAloAiwCMAI0CYwJkAmUCZgJnAmgCaQCOAI8CagJrAmwCbQJuAm8AkACRAn4CfwKCAoMChAKFAe8B8ACSAfcCEgCpAKoC+ACrAvkC+gL7AKwArQMCAwMDBACuAwUDBgCvAwcDCACwAwkAsQMKALIDCwMMALMDDQC0ALUDDgMPAxADEQMSAxMDFAMVAL8DFwMYAMADFgDBAMIAwwDEAMUAxgDHAxkAyADJA1oDHwDNAyAAzgMhAyIDIwMkAM8A0ADRAyYDWwMnANIDKADTAykDKgDUAysA1QDWANcDLAMlANgDLQMuAy8DMAMxAzIDMwDZANoDNAM1AOUA5gDnAOgDNgDpAOoA6wM3AOwA7QDuAO8DOADwAzkDOgDxAzsA8gM8A1wDPQD9Az4A/gM/A0ADQQNCAP8BAAEBA0MDXQNEAQIBAwEEBAYDXgNfARIBEwEUARUDYANhA2MDYgEjASQECwQMBAUBJQEmAScBKAEpBAcECAEqASsEAAQBA2QDZQPyA/MBLAEtBAkECgEuAS8D9AP1ATABMQEyATMBNAE1A2YDZwP2A/cDaANpBBMEFAP4A/kBNgE3A/oD+wE4ATkBOgQEATsBPAQCBAMDagNrA2wBPQE+BBEEEgE/AUAEDQQOA/wD/QQPBBABQQN3A3YDeAN5A3oDewN8AUIBQwP+A/8DkQOSAUQBRQOTA5QEFQQWAUYDlQQXA5YDlwFiAWMEGQQYAXcD8QF5AZIDUANYA1kABAZeAAAA6gCAAAYAagAAAAIADQAhAH4AoACsAK0AvwDGAM8A5gDvAP4BDwERASUBJwEwATgBQAFTAV8BZwF+AX8BkgGhAbAB8AH7Af8CGQIbAjcCWQK8AscCyQLdAvMDAQMDAwkDDwMjA4oDjAOSA6EDsAO5A8kDzgPSA9YEJQQvBEUETwRiBG8EeQSGBM4E1wThBPUFAQUQBRMeAR4/HoUe8R7zHvkfTSALIBUgHiAiICYgMCAzIDogPCBEIHQgfyCkIKcgrCEFIRMhFiEiISYhLiFeIgIiBiIPIhIiGiIeIisiSCJgImUlyu4C9sP7BP7///3//wAAAAAAAgANACAAIgCgAKEArQCuAMAAxwDQAOcA8AD/ARABEgEmASgBMQE5AUEBVAFgAWgBfwGSAaABrwHwAfoB/AIYAhoCNwJZArwCxgLJAtgC8wMAAwMDCQMPAyMDhAOMA44DkwOjA7EDugPKA9ED1gQABCYEMARGBFAEYwRwBHoEiATPBNgE4gT2BQIFER4AHj4egB6gHvIe9B9NIAAgEyAXICAgJSAwIDIgOSA8IEQgdCB/IKMgpyCrIQUhEyEWISIhJiEuIVsiAiIGIg8iESIaIh4iKyJIImAiZCXK7gH2w/sB/v///P//AAEEGP/1AAD/4gAA/8AAAP+/AAABMQAAASwAAAEoAAABJgAAASQAAAEiAAABHAAAAR4AAP8B/vT+5wFhAAAAoQBkAGb+Yf5AAJb91P2l/cT9r/2j/aL9nf2Y/YUAAP9w/28AAAAA/QUAAP9Q/Pn89gAA/LUAAPytAAD8ogAA/JwAAP6eAAD+mwAA/EUAAOVV5RXkxeT45Fnk9uQK4VYAAOFN4UzhSuFB4xvhOeMT4TDhAeD3AADg0QAA4HXgaOBm4Fvfj+BQ4CTfgd6n33XfdN9t32rfXt9C3yvfKNvEE44KzgAAApQBmAABAAAAAAAAAOQAAADkAAAA4gAAAOAAAADqAAABFAAAAS4AAAEuAAABLgAAAToAAAFcAAABaAAAAAAAAAAAAWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABRAAAAAABTAFoAAABgAAAAAAAAAGYAAAB4AAAAggAAAIqAAACOgAAAsQAAALUAAAC6AAAAAAAAAAAAAAAAAAAAAAC3AAAAAAAAAAAAAAAAAAAAAAAAAAAAswAAALMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKmAAAAAAAAAAMEGwHqAesB8QHyAfMB9AH1AfYAfwHtAgECAgIDAgQCBQIGAIAAgQIHAggCCQIKAgsAggCDAgwCDQIOAg8CEAIRAIQAhQIcAh0CHgIfAiACIQCGAIcCIgIjAiQCJQImAIgB7APwAIkB7gCKAlUCVgJXAlgCWQJaAIsAjACNAmMCZAJlAmYCZwJoAmkAjgCPAmoCawJsAm0CbgJvAJAAkQJ+An8CggKDAoQChQHvAfAAkgH3AhIAqQCqAvgAqwL5AvoC+wCsAK0DAgMDAwQArgMFAwYArwMHAwgAsAMJALEDCgCyAwsDDACzAw0AtAC1Aw4DDwMQAxEDEgMTAxQDFQC/AxcDGADAAxYAwQDCAMMAxADFAMYAxwMZAMgAyQNaAx8AzQMgAM4DIQMiAyMDJADPANAA0QMmA1sDJwDSAygA0wMpAyoA1AMrANUA1gDXAywDJQDYAy0DLgMvAzADMQMyAzMA2QDaAzQDNQDlAOYA5wDoAzYA6QDqAOsDNwDsAO0A7gDvAzgA8AM5AzoA8QM7APIDPANcAz0A/QM+AP4DPwNAA0EDQgD/AQABAQNDA10DRAECAQMBBAQGA14DXwESARMBFAEVA2ADYQNjA2IBIwEkBAsEDAQFASUBJgEnASgBKQQHBAgBKgErBAAEAQNkA2UD8gPzASwBLQQJBAoBLgEvA/QD9QEwATEBMgEzATQBNQNmA2cD9gP3A2gDaQQTBBQD+AP5ATYBNwP6A/sBOAE5AToEBAE7ATwEAgQDA2oDawNsAT0BPgQRBBIBPwFABA0EDgP8A/0EDwQQAUEDdwN2A3gDeQN6A3sDfAFCAUMD/gP/A5EDkgFEAUUDkwOUBBUEFgFGA5UEFwOWA5cBYgFjBBkEGAF3A/EBeQGSA1ADWANZAAAAAgBSA/wCPwYYAAQACQAAAQMjETMFAyMRMwEBOHevAT44d68Fj/5tAhyJ/m0CHAAAAgA8AAAEmAWwABsAHwAAASMDIxMjNSETIzUhEzMDMxMzAzMVIwMzFSMDIwMzEyMCq+FMp0znAQU68wERTqdO4E6oTtDuOt37TKd34TrhAZr+ZgGangE5nwGg/mABoP5gn/7Hnv5mAjgBOQAAAQBk/y0EJgabACsAAAE0JicuATU0Njc1MxUeARUjNCYjIgYVFBYXHgEVFAYHFSM1LgE1MxQWMzI2AzNshdfPx7Cgr73ybmRoZGiO18rPuZ+25fOJanF4AXxXbS9JxrOq0RXa3Brty4CPa15YaTJNw7KwyxPDwhPb3pF3agAAAAAFAGT/6wWJBcUADQAbACkANwA7AAATNDYzMhYdARQGIyImNTMUFjMyNj0BNCYjIgYVATQ2MzIWHQEUBiMiJjUzFBYzMjY9ATQmIyIGFQUnARdkopKToqKRk6OpSEVDRkdEREcCE6ORkqOikZKkqUpDR0NIRERH/gV9Asd9BJiDqqqDTYOoqYJCV1dCTUJZWUL8zYKqqoJOg6mpg0FZVUVOQVlZQfhIBHJIAAAAAwA+/+sE+AXFACAAKwA4AAATNDY3LgE1NDYzMhYVFAYPAQE+ATUzFAYHFyEnDgEjIiYFMjY3AQcOARUUFgMUFhc3PgE1NCYjIgY+hYtLRsqzosRlYGQBMSksxUhLyf7nUVO4at79AeJAdzj+uB5KLnwMMDFyOiZURktOAYl6rVxhl1GvwbyKZJZGSP6WQJNWi+Jc7V87OeIgIyQBgxY5ZjFmfgOrMWQ/TCZPMjdUYQABAFIEBAELBhgABAAAAQMjETMBC0J3uQWb/mkCFAAAAAEAgP4xAqIGXwAPAAATEAA3FwYCERUQEhcHJgARgAE1vTCJvLuKML3+ywJQAZECIV2OaP5H/qIU/qL+R2+HXgIfAZIAAQAR/jECOwZfAA8AAAEQAAcnNhIRNRACJzcWABECO/7EvTGHvsKDMb0BPAJA/nP93F6HaAG/AV8UAVoBwWqIXf3Z/nUAAAAAAQAbAk8DYgWwAA4AAAElNwUDMwMlFwUTBwsBJwFF/tY1ASgNrg8BIzX+0cONsa6PA8xZqXUBV/6ic6tY/vZpAR/+6WYAAAAAAQBEAJIEKgS2AAsAAAEhFSERIxEhNSERMwKuAXz+hOz+ggF+7AMh3v5PAbHeAZUAAQAn/qsBZADrAAkAACUUBgcnPgE9ATMBY2hVfyws5Tdn3ElOSJNbvAAAAAABAEcCCQJUAs0AAwAAASE1IQJU/fMCDQIJxAAAAQCZAAABiwDpAAMAACEjNTMBi/Ly6QAAAQAC/4MC/gWwAAMAABcjATPBvwI9v30GLQAAAAIAaP/rBCMFxQANABsAAAEQAiMiAhkBEBIzMhIRJzQmIyIGFREUFjMyNjUEI/vh4f784eH983Z1dXV3dXV0AjH+3v7cASUBIQFNASEBJv7a/t8ltqmptv5ruKmouQAAAAEAygAAAt4FsAAFAAAhIxEhNSUC3vP+3wIUBKCfcQAAAQBRAAAENAXFABgAACkBNQE+ATU0JiMiBhUjNAAzMhYVFAYHASEENPw5Adp2VnBjgnrzAQXq1vCKl/63ApinAgWCn09kgo2BygEH5L+A3qb+pAAAAQBP/+sEFgXFACgAAAEzMjY1NCYjIgYVIzQkMzIWFRQGBx4BFRQEIyIkNTMUFjMyNjU0JisBAYapeWVub2V78wECztn6b2x/cv7x2s7+8POAbnOAdX+pA0ZzbWtxb16v4dTLX6sxLbB2zOHUx2N2eHJ+cgACADgAAARZBbAACgAPAAABMxUjESMRIScBMwEhEScHA6G4uPL9jwYCb/r9hwGHAxcCB8T+vQFDlQPY/FcCVgExAAAAAAEAgf/rBCYFsAAeAAAbASEVIQM+ATc2EhUUAiMiJDU3FBYzMjY1NCYjIgYHnFQDAf3JLCxvSNHk8OvE/vrremVzdXhzZl4XAosDJdL+kyApAgP+/Ora/vTRyQhsdJ2FhqM/PwACAHT/6wRGBcUAGgAnAAABMhYXBy4BIyIGHQE+ATMyEhUUAiMiABkBEAATIgYHFRQWMzI2NTQmAqhQjTouOWdIlK89nWDH3//Y4v7nATy0XX4jkndtd34FxSAcvBgb3cMHODv+89fk/ucBMgEeARYBIgFS/UpAOWi9xLOIhaIAAAEARQAABDMFsAAMAAABAAIDByM3GgE3ITUhBDP/AKsoD/MPJ+bO/P0D7gTt/tP+Mv6ompoBUAIP9MMAAAMAYf/rBCoFxQAXACMALwAAARQGBx4BFRQEIyIkNTQ2Ny4BNTQ2MzIWAzQmIyIGFRQWMzI2AzQmIyIGFRQWMzI2BAV1anqK/vnc3/75iHxqdPHNy/XNh2xug4JxbYQmcF1fbG1gXW4EMHGmLi+1es/T0897tDAtpnHGz8/8o22Eg25wfH0C/WJ5dWZldXUAAAIAUv/rBBcFxQAbACgAACUyNj0BJw4BIyICNTQAMzIAGQEQACMiJic3HgETMjY3NTQmIyIGFRQWAgOFnQMwilXV7AEKy+cBCf7c8EyeRCBAfXhdfSGAemSCdq29vSMBQUIBBPHmASL+3P7k/qv+5v7VHh64GxcB2EY7nLGvt46SpgAA//8AmQAAAYsEOgAmABAAAAAHABAAAANR//8AUf6rAY4EOgAnABD//QNRAAYADioAAAEAPwCkA4QETgAJAAABBxUXBRUBNQEVAUIREQJC/LsDRQJ9BAQE2vMBdcEBdPMAAAIAkQFkA+8D1gADAAcAAAEhNSERITUhA+/8ogNe/KIDXgMMyv2OyQABAIAApQPgBE4ACQAAEzUBFQE1JT8BJ4ADYPygAl0QAREDX+/+jMH+jO/iBAMFAAACACkAAAOgBcUAGQAdAAABPgE3PgE1NCYjIgYVIz4BMzIWFRQGBw4BFRMjNTMBVAE+cFBaZ2NVcvMC8sbW55FyOhwE+PgBnJJ2X06HVmNpWVu5xtPBgdVcM1hY/mTpAAACAEr+OwbTBZAAMwBDAAABBgIjIiYnDgEjIiY3GgEzMhYXBzMDBhYzMjY3EgAhIAADAgAhMjY3Fw4BIyAAExIAISAAAQYWMzI2NzwBNxMuASMiBgbDCeHqTGsZMIdeh44TGeSqcINSAwUzCDMseYwJEf7N/rL+yP6XDxIBRQE8WbFBJkTMZf51/mIREwHLAYMBhgGR+/4KOkc9YSgCLRgzHHl5Afvc/sxST1JN68gBBgEwMzcE/b1nStqtAXcBkv5N/o3+jP5jKCGCKy4B6gG5AbECAf4c/fSIhzBACA8NAgMJC8kAAAAAAgAaAAAFKAWwAAcACwAAASEDIwEzASMBIQMjA7r9z3j3AhfnAhD3/ZsBrNQDAVz+pAWw+lACHwJrAAAAAwCfAAAEvAWwAA8AGAAhAAAzESEyBBUUBgcVHgEVFAQjAREhMjY1NCYjJSEyNjU0JisBnwHo9QEJb2OBiP798f7KATZ+hHB6/rIBD3N+hIf1BbDDymSZJgMcvoHR0QKW/ix0bHZ+tWhlbmcAAQB0/+sE2AXFABsAAAEGACMgABkBEAAhIAAXIy4BIyIGFREUFjMyNjcE1xb+5f3+/f7OATUBAAECARUY8xOPmpirqZqXkRMB2Ob++QFRAREBFQEPAVT+/fCYmOi2/um555SXAAIAnwAABO4FsAAJABMAADMRISAAERUQACEDETMyNj0BNCYjnwHKASoBW/6i/szKw9nNys8FsP6m/uLB/uD+qQTt+9Xqy8PN5gAAAAABAJ8AAAR1BbAACwAAASERIRUhESEVIREhBA/9gwLj/CoDz/0kAn0Cj/4zwgWww/5lAAAAAQCfAAAEcgWwAAkAAAEhESMRIRUhESEEDP2G8wPT/SACegJt/ZMFsMP+QwABAHT/6wTiBcUAHwAAJQYEIyAAGQEQACEgBBcjLgEjIgYVERQWMzI2NxEhNSEE4jz+/NP+8/6yATwBAgEGAQsf7xiPlpq2xaR0iiL+3gIVvlKBAUgBDQEwAQ0BSPTagIvesv7OtN80JQEktgABAJ8AAAUQBbAACwAAISMRIREjETMRIREzBRDy/XTz8wKM8gJt/ZMFsP2AAoAAAAABAK0AAAGgBbAAAwAAISMRMwGg8/MFsAABADr/6wPmBbAADwAAATMRFAQjIiY1MxQWMzI2NQLz8/8A0N/983V0ZncFsPv10OrX239xgnYAAAEAnwAABS8FsAAMAAABIxEjETMRMwEhCQEhAjqo8/OLAckBIP30AjX+1wJ2/YoFsP2XAmn9Sf0HAAAAAAEAnwAABC8FsAAFAAAlIRUhETMBkgKd/HDzwsIFsAAAAQCfAAAGYgWwABAAAAkCIREjERMjASMBIxMRIxEB2gGmAacBO/MZA/5Mo/5OAxnzBbD7mARo+lAB8AKA+5AEbf2D/hAFsAAAAQCfAAAFEAWwAAsAACEjAQcRIxEzATcRMwUQ8v13A/PzAokD8gQrAfvWBbD71gEEKQAAAAIAdP/rBRsFxQANABsAAAEQACEgABkBEAAhIAARJzQmIyIGFREUFjMyNjUFG/61/vH+9v69AUIBCgEPAUzzwKijt7ijqb4CVf7z/qMBXgEMAQYBCwFf/qH+9QK16+q2/vi46+u4AAAAAgCfAAAE2gWwAAoAEwAAAREjESEyBBUUBCMlITI2NTQmIyEBkvMCOfYBDP709v66AUaKhYWK/roCKP3YBbD1z9Hzw45xcZIAAgB0/wkFJwXFABMAIQAAARQGBxcHJQ4BIyAAGQEQACEgABEnNCYjIgYVERQWMzI2NQUbdGvroP7tLFgv/vb+vQFCAQoBDwFM88Coo7e4o6m+AlWZ+1fSj/oLDQFeAQwBBgELAV/+of71ArXr6rb++Ljr67gAAAAAAgCfAAAE8AWwABoAIwAAAREjESEyFhUUBgceAR0BFBYXFSMuAT0BNCYjJSEyNjU0JiMhAZLzAiX3/Ht5fmkfJ/kpFntx/sYBGpWDfon+1QJc/aQFsNXQdp4yKayGeUF0Ihoii0Z1c4HDbnVxegAAAAEAU//rBKAFxQAlAAABNCYnJiQ1NCQzMgAVIzQmIyIGFRQWFx4BFRQEIyIkNTMUFjMyNgOtg676/v4BH+r0ASLzlo+HjZe47+/+4fHp/qzztJaJlAF2XHMuQs6us+H/AL1yiXNdVWsyQdiwudTu24eBawAAAQA1AAAEtQWwAAcAAAEhESMRITUhBLX+OfP+OgSABO37EwTtwwAAAAEAhv/rBPEFsAARAAABERQEISIkNREzERQWMzI2NREE8f7J/vz//s/zqZSZrwWw/DD3/v/2A9D8MJyXl5wD0AABABoAAAUQBbAACQAAARczNwEhASMBIQJ4HAMbAVsBA/355/34AQQBfW1rBDX6UAWwAAAAAQBEAAAGuwWwABMAAAE1MzUBMwEVPwETMwEjASMBIwEzAgMDARnAARwDAc7u/r7c/uQD/uTc/r7uAYQCAQQp+9QDAQUEKfpQBBz75AWwAAABAC8AAATqBbAACwAACQEhCQEhCQEhCQEhAoYBNAEf/kEB0P7d/sP+xP7hAcn+QQEdA5YCGv0u/SICI/3dAt4C0gAAAAEAEwAABO8FsAAIAAAJASEBESMRASECgAFgAQ/+B/L+DwEPAuwCxPxN/gMCDAOkAAEAWAAABHEFsAAJAAAlIRUhNQEhNSEVAXkC+PvnAtv9KwP6wsKYBFXDkgAAAQCE/rwCHAaOAAcAAAEjETMVIREhAhylpf5oAZgF0PmpvQfSAAAAAAEAFf+DA2EFsAADAAATMwEjFewCYOwFsPnTAAABAAz+vAGmBo4ABwAAEyERITUzESMMAZr+ZqenBo74Lr0GVwABADUC2QM1BbAACQAAASMBMwEjAycjBwEDzgErqwEqzaUNBA0C2QLX/SkBnTw8AAABAAP/QQOYAAAAAwAABSE1IQOY/GsDlb+/AAAAAQBKBLwCFwXGAAMAAAEjASECF8T+9wEUBLwBCgAAAAACAF7/7AQBBE4AHwAqAAAhLgEnDgEjIiY1NDY7ATU0JiMiBhUjNDYzMhYVERQWFyUyNjc1IyIGFRQWAwsLDwQ3nGKns/TlsWRgWGTz9cnB5xEV/exUhSK1bXVOIkQkRlirmqCsX1ZfT0CIxL23/h9FeDyvSDa4Z0k/RwAAAgCA/+wENgYYABIAIAAAARQCIyImJwcjETMRFz4BMzISESM0JiMiBgcRHgEzMjY1BDbZzWaRMxTS8wMxiV7P2fNxgVJsICFtUoFvAfny/uVPT4oGGP2sAURH/sn+963MR0H+N0BErZoAAAAAAQBR/+wD9wROABsAACUyNjUzFAQjIgI9ATQSMzIWFSM0JiMiBh0BFBYCO1t85f7/uPT5+fPH8+V1Yotsaq5nUaDaAS7xI/ABMOG3W3rDmiOdwAAAAgBT/+wEAwYYABIAIAAAExASMzIWFzcRMxEjJw4BIyICNTMUFjMyNjcRLgEjIgYVU9rNWocyA/PSFDWPYcva83F/TmkjI2lMf3MCDgEIAThEQQECTvnohExMARzxma5APgHYPULOqwACAFn/7AP4BE8AFQAdAAAFIgA9ATQAFzISHQEhHgEzMjY3Fw4BAyIGByE1NCYCUOr+8wEL0ODk/VYKiX5kiUJHPcKiW3QSAbRnFAEo8CjxATIB/vvjj4eiLy2mNUMDn411GWmAAAAAAAEAMQAAAuAGLQAXAAAzESM1MzU0NjMyFhcHLgEjIgYdATMVIxHWpaW/syRHLRgWLx1RTNzcA4a0fra/Cwq8BAZYVn60/HoAAAIAVP5MBAgETgAeACwAABMQEjMyFhc3MxEUBCMiJic3HgEzMjY9AScOASMiAjUzFBYzMjY3ES4BIyIGFVTezWKPNBTQ/wDsVbdPNEOPTIR+AzKIW8ve83SAUGkhImlNgHYCDgEHATlQTYn73djzLSqwISaNf1MBQEABHfCYrz8+Ado9Qc+qAAABAH0AAAQMBhgAFAAAARc+ATMyFhURIxE0JiMiBgcRIxEzAXADNZdgsL3zZGhJbibz8wOzAUtR1Of9bQKVgnA6NfzoBhgAAAACAJAAAAGDBhgAAwAHAAAhIxEzESM1MwGD8/Pz8wQ6AQnVAAAC/7D+SwGOBhgADwATAAABERQGIyImJzceATMyNjUREyM1MwGOt6klOCEOEjEVP0bt8/MEOvuHt78ICcIFB1NcBHkBDNIAAAABAIEAAAQ1BhgADAAAASMRIxEzETMBIQkBIQHib/LyaQEPARz+nwGP/uYB2f4nBhj8hAGe/hH9tQAAAAABAJAAAAGDBhgAAwAAISMRMwGD8/MGGAABAIAAAAZ1BE4AJgAAARczPgEzMhYXPgEzMhYVESMRNCYjIgYHFBYVESMRNCYjIgYHESMRAV4NAjSda2yVJzOhcKe5815gUGkZAvNgX0tmHvMEOolMUV5iW2Xb5/10Ao2NbVJJDxYK/UMCjYdzODX85gQ6AAEAfgAABAsETgAUAAABHwE+ATMyFhURIxE0JiMiBgcRIxEBXA4CNZ5mrbnzY2lJbSXzBDqXAVJayd39WAKmfWQ+OPzvBDoAAAIAU//sBDQETgANABsAABM0ADMyAB0BFAAjIgA1MxQWMzI2PQE0JiMiBhVTAQTr7QEF/vzs7f7883qEgnx8hIJ6Aif2ATH+0PcV+P7SAS74osLDoRWexsaeAAAAAgCA/mAENAROABIAIAAAARQCIyImJwcRIxEzFz4BMzISESM0JiMiBgcRHgEzMjY1BDTayl6KMgPz2RA0j2HM2/J6f01pICBoUH94Afnx/uQ/PwH99wXagkpM/sj++KnQQDv+Fzo7s5gAAAAAAgBT/mAD/AROABIAIAAAExASMzIWFzczESMRJw4BIyICNTMUFjMyNjcRLgEjIgYVU9rNXos0E9LzAzGEWcva83F/S2YiI2VJf3MCDgEIAThJSH36JgIDATw8ARzxmbI6OAH4NzzRrAABAIAAAALDBE4AEAAAASciBgcRIxEzFzM+ATMyFhcCpnNIXhrz3g8DKX5VGDAPA1wEOjf9EQQ6mFFbBwUAAAAAAQBR/+wDzwROACUAAAE0JicuATU0NjMyFhUjNCYjIgYVFBYXHgEVFAYjIiY1Mx4BMzI2AuBdhsbD47/K5/JkW1paVIjQwe3J1/HrBH5eYGQBJjlIHSqUhIu9wZhEX046OkEbK5WHlbLWk2BTRgAAAAEAGf/sAnAFQQAXAAABETMVIxEUFjMyNjcXDgEjIiY1ESM1MxEBocPDMSsZLBQaIV4xg4+VlQVB/vm0/apFNgcGshAUmasCVrQBBwABAHv/7AQKBDoAFAAAJScOASMiJjURMxEUFjMyNjcRMxEjAyICNJhnssDyWl9ZdSPz2JABUVTY7wKH/XeRbj48Aw77xgAAAAABACAAAAP1BDoACQAAARczNxMzASMBMwH4FAMU1/v+gNP+fvsBbl9fAsz7xgQ6AAABACUAAAXQBDoAFQAAARczNxMzExczNxMzASMDJyMHAyMBMwGzCgMN1bHWDgMPnun+2MfPFwMWzsf+2OkBdkhGAsb9OlNaAr/7xgKbaGf9ZAQ6AAABACEAAAPtBDoACwAAARMhCQEhCwEhCQEhAgTIARf+rAFe/uzR0f7qAV7+rAEUAscBc/3p/d0BfP6EAiMCFwAAAQAQ/ksD/AQ6ABUAAAEXMxMhAQ4BIyImJzceATMyNj8BASEB5xkD7wEK/kAqmpIeRSAbDi4NRUAlKP53AQkBsnEC+fsicaAMCLwBBEBVYgQtAAAAAQBVAAADxAQ6AAkAACUhFSE1ASE1IRUBggJC/JECIv3pA0rCwp8C18SaAAABADj+mAKRBj0AHgAAAS4BPQE0JiM1MjY9ATQ2NxcOAR0BFAYHHgEdARQWFwJhx6FdZGRdoccwZE9UWVlUT2T+mDjsrstqcrJybMuu6ziMIqR/y2qeLjCeaMt/pCIAAAABAK7+8gFVBbAAAwAAASMRMwFVp6f+8ga+AAAAAQAb/pgCdQY9AB4AABc+AT0BNDY3LgE9ATQmJzceAR0BFBYzFSIGHQEUBgcbY1FXX19XUWMwxqJcZmZcosbbIqR/y2udLSyebct/pCKMOOqvy2xysnJqy6/rOAABAHUBgwTcAy8AGQAAARQGIyImJy4BIyIGFSc0NjMyFhceATMyNjUE3K2IWY1VOVUvPVOqqolXlFI3VDA8VQLumtE/SS4sZUoWmcpCRTAqa0wAAAACAI/+igGCBDoAAwAHAAABIxEzESM1MwGC8/Pz8/6KA8QBAesAAAAAAQBo/wsEDgUmACEAACUyNjUzFAYHFSM1JgI9ATQSNzUzFR4BFSM0JiMiBh0BFBYCUlt85caZyL/AwL/Ior3ldWKLbGquZ1GLzBvp6yMBH9Mj0QEhJOLfG9efW3rDmiOdwAAAAAEAUQAABGsFxQAhAAABFxQGByEHITUzPgE1JyM1Myc0NjMyFhUjNCYjIgYVFyEVAecFLCsC1gH8JgowLgWimwnkx9Pi82tXV2EJAYUCV3FTljvCwg2vYHnE7tPp17prY4F47sQAAAAAAgBd/+UFTwTxACMALwAAJQ4BIyImJwcnNy4BNTQ2Nyc3Fz4BMzIWFzcXBx4BFRQGBxcHARQWMzI2NTQmIyIGBD1OtmZntE2BjYcyMjc2kI2OTKxjYq5NkY6UNDcyMIuO/Hjsrq3s7K2v62s/QEA+hJCJTq9kZ7ZQk5CRODs8OZSRl0+0ZmOtTY2RAnu9/v69u/39AAEAGgAABL4FsAAWAAAJASEBIRUhFSEVIREjESE1ITUhNSEBIQJsAUMBD/5zART+nQFj/p3z/psBZf6bAR/+cQEQAzACgP02k4+S/s4BMpKPkwLKAAIAiP7yAW0FsAADAAcAABMRMxkBIxEziOXl5f7yAxv85QPIAvYAAAACAFr+JASMBcUAMQBDAAABFAYHHgEVFAQjIiQ1NxQWMzI2NTQmJy4BNTQ2Ny4BNTQkMzIEFSM0JiMiBhUUFhceASUuAScOARUUFhceARc+ATU0JgSMV1REQ/707Of+0fKofH2Jgr/34FZTREEBDuvzAQnzin+FgXbI+eD9zSpOJTg0eMY2RCE4O4UBx1+HKzOHY7PCx+MBfGxhT09XOUG1slyJLTOIY63K3dFnhGNPWFM1RLQpCxgOFVQ7Wlk4EBULFlQ6UV8AAAIApATkA3kFsAADAAcAAAEjNTMFIzUzA3ny8v4c8fEE5MzMzAAAAAADAFf/6wXiBcQAGwAnADMAAAEUBiMiJj0BNDYzMhYVIzQmIyIGHQEUFjMyNjUlEAAzMgAREAAjIgADEAAhIAAREAAhIAAEXq6hpLm6o6CwnFhcYGNjYFxX/Q8BUvr5AVL+rvn7/q96AZgBLgEsAZn+Z/7U/tL+aAJUnpzRsnew056cX1SIc3h2hlFihf7z/pwBZAENAQwBYv6e/vQBQQGq/lb+v/6+/lQBqwAAAgB0ArQDEQXFAB8AKgAAAS4BJw4BIyImNTQ2OwE1NCYjIgYVJzQ2MzIWFREUFhclMjY3NSMiBhUUFgJgCAoDIm1PeYCmpYk5O0NHraiPiZoLD/6HNGkTiExROQLCFS8aMDx4bHF2Mz9AMzAOaIGMiP7GNFYrgjkkaT8vLCwAAP//AFQAdAOFA5MAJgFy6N0ABwFyAVL/3QABAH8BdgPCAyUABQAAASMRITUhA8LI/YUDQwF2AQSrAAQAV//rBeIFxAALABcAMgA7AAATEAAhIAAREAAhIAATEAAzMgAREAAjIgABESMRITIWFRQGBx4BHQEUFhcVIy4BPQE0JiMnMzI2NTQmKwFXAZgBLgEsAZn+Z/7U/tL+aHoBUvr5AVL+rvn7/q8BvJcBGZqrPDw/NgcKmwkEQU6ej0VdTGOCAtkBQQGq/lb+v/6+/lQBqwFD/vP+nAFkAQ0BDAFi/p7+qP6vA1KDgTxZHx1qTDgqQBUQFk8rNklChjw4SjgAAAAAAQCHBRIDXgWwAAMAAAEhNSEDXv0pAtcFEp4AAAIAfwOwAosFxQALABcAABM0NjMyFhUUBiMiJjcUFjMyNjU0JiMiBn+Zb22Xl21vmYtINTRGRjQ1SAS4cJ2dcHGXmHA2RkU3N0lJAAACAF8AAAPzBQoACwAPAAABIRUhESMRITUhETMBITUhApwBV/6p1/6aAWbXASj8vQNDA4rH/nUBi8cBgPr2xAAAAQBtApsC1wXHABgAAAEhNQE+ATU0JiMiBhUjNDYzMhYVFAYPASEC1/2hATFCJjI3Pj++qpSOmF96iAFnApuRAQA3RCotNzsxbZGAd1Nya3QAAAAAAQBhAo8C7AXGACgAAAEyNjU0JiMiBhUjNDYzMhYVFAYHHgEVFAYjIiY1MxQWMzI2NTQmKwE1AaJCPEA/Nj6/q4WYqUY+R0qxmIq4v0Q+QkpFR3sEczQxKDQsImh4dXA4WRoYXkVyenh3LDIzLjk2gwAAAAABAHgEvAJMBcYAAwAAASEBIwE3ARX+6b0Fxv72AAAAAAEAkv5gBB8EOgAVAAABERQWMzI2NxEzESMnDgEjIiYnESMRAYRiY1lsHvPfBy50TT9gJ/IEOv2UqnU8PQMS+8ZWNjUaHf4+BdoAAAABAD4AAANwBbAACgAAIREjIiY1NBIzIRECfVPu/v/tAUYCCP/V0wEB+lAAAAEAoAJSAZIDQgADAAABIzUzAZLy8gJS8AAAAAABAG3+QQHJAAMADwAAJQceARUUBiMnMjY1NCYnNwE+C0FVpqEHP0pDVCADNgtRUWh3iSwtLSMFiwAAAAABAGQCmQGjBcUABQAAASMRIzUlAaPAfwE/ApkCf5YXAAIAdwKzAywFxQANABsAABM0NjMyFh0BFAYjIiY1MxQWMzI2PQE0JiMiBhV3uaGiubmgorqvVldUVldVVVYEdpe4uJd1mLa2mFdlZVd1VGdnVAAA//8AXACXA5kDtgAmAXMIAAAHAXMBfgAA//8AmwAABccFxAAnAckARAKYACcBdAD8AAgABwGXAqIAAAAA//8AkwAABdkFxAAnAXQBAQAIACcByQA8ApgABwHKAwQAAAAA//8AZgAABoMFxwAnAXQBwgAIACcBlwNeAAAABwHLAAYCmwAAAAIAYP52A9gEOgAZAB0AAAEOAQcOARUUFjMyNjczDgEjIiY1NDY3PgE1AzMVIwKsAj1wUlhmZVNyAvMD88TY5pBzOR4E+PgCnZN1XlGFVWNpWlu6xdLAgdZbMlhZAZ3pAAL/9gAAB1cFsAAPABMAACkBAyEDIQEhFSETIRUhEyEBIQMnB1f8fg/+Crj+3gNDA+D9ehECJP3kFAKX+u0BeRsDAVT+rAWwxf5oxf42AWcCggEAAAEATQDWA+wEhgALAAATCQE3CQEXCQEHCQFNATz+xJQBOwE8lP7EATyU/sT+xQFsAUIBQpb+vgFClv6+/r6WAUH+vwAAAwBp/6EFEAXuABkAJAAvAAABEAAhIiYnByM3LgE1ERAAITIWFzczBx4BFQEUFhcBLgEjIgYVITQmJwEeATMyNjUFEP61/vFVkkFYlIVdYQFCAQphpklRlIJSVvxLISIB+i9wRKO3AsIZGf4NKF44qb4CVf7z/qMmJpbiV+2OAQYBCwFfMS+J3Ffegv76TYM2A1woKuq2PnAy/K8dHeu4AAIAlAAABH4FsAAMABUAAAERMzIEFRQEKwERIxETETMyNjU0JiMBh/b3AQr+9vf28/P2ioSEigWw/ujvx8ju/tQFsP4l/hqJaGqLAAABAIj/7ASbBh8AJwAAISMRNDYzMhYVFAYVFAAVFAYjIiYnNx4BMzI2NTQANTQ2NTQmIyIGFQF68vLOrdh2AUTWyVGoKDEsdkBfXP67fl5AXW0EReX1tLB0yz9F/uiNt7AjG8QaJlFITQERlFbPTVFgkocAAAMANP/rBoQETgAsADcAPwAABSImJw4BIyImNTQ2OwE1NCYjIgYVJzQ2MzIWFz4BMzISHQEhHgEzMjY3Fw4BJTI2NzUjIgYVFBYBIgYHITU0JgTmh8hEPdGYuMHt685bWF5q8u/Nbqc5QKVm2uj9UAiKjmR6U0k6xvxuRZApzG94WQNCanMOAb1kFVdVS2GwnaGpR11lWUITk7hBQUBC/v7ojYufLS+lLku5SDK9YEdCTgLnjnsebH8AAAAAAgA8/+sETgXtACEAMQAAARYSHQEQACMiADU0ADMyFhc3LgEnByc3LgEnNx4BFzM3FwM0JjUuASMiBhUUFjMyNjUDcWty/tjl6P7jAQ3iUIs4AxdQOfxO2CNIJ0tRj0IB2k7YASSOaICRlIJ/lwUDef7ExVf++v6/ARXU5wESNS4CWY86jm16FCENxBVFMXtt/RsDDwQxP7KLe6zYrQAAAAMAQwCqBDcEtgADAAcACwAAASE1ISUjNTMRIzUzBDf8DAP0/oHz8/PzAkbUv9379N0AAAADAFP/dgQ0BLwAGQAkAC8AABM0ADMyFhc3MwceAR0BFAAjIiYnByM3LgE1MxQWFwEuASMiBhUhNCYnAR4BMzI2NVMBBOs2YS5IkGhdYP787DFZKkiQZmVm8x0gASoYNR6CegH8Ghr+2xMtG4J8Aif2ATETEZLTS+WSFfj+0g8Ok89J65lPgDACYAsNxp5Gdy/9qwkHw6EAAAIAh/5gBDsGGAATACEAAAEUAiMiJicHESMRMxEXPgEzMhIRIzQmIyIGBxEeATMyNjUEO9rKXooyA/PzAzGKXMzb8np/TWkgIGhQf3gB+fH+5D8/Af33B7j9sgFBRP7I/vip0EA7/hc6O7OYAAIAGAAABZYFsAATABcAAAEzFSMRIxEhESMRIzUzETMRIREzASE1IQUPh4fy/XTzhobzAozy/IICjP10BKSi+/4Cbf2TBAKiAQz+9AEM/YDSAAAAAAEAjwAAAYIEOgADAAAhIxEzAYLz8wQ6AAEAjgAABGsEOgAMAAABIxEjETMRMwEhCQEhAe9v8vJVAVABLP5cAb7+ywGs/lQEOv5QAbD9+v3MAAAAAAEAGwAABCAFsAANAAABJRUFESEVIREHNTcRMwGDAQL+/gKd/HB1dfMDYU64Tv4ZwgJfI7gjApkAAQAbAAACKAYYAAsAAAE3FQcRIxEHNTcRMwGXkZHziYnzA3s0uDT9PQJtMbgxAvMAAQCT/ksFBAWwABgAAAERFAYjIiYnNx4BMzI2PQEBBxEjETMBNxEFBLipJTkhDhE8FjxA/XgD8/MCiAMFsPoRtsAICb8FCF1WPwQdAfvkBbD74wEEHAAAAAEAfv5LBAYETgAgAAABHwE+ATMyFhURFAYjIiYnNx4BMzI2NRE0JiMiBgcRIxEBXA0DNZtkrbm4qSQ6IQ4SOxY8QGBmTGwk8wQ6kQFPV8vi/SC2wAgJxgUHVlUC3oBoNTL84AQ6AAAAAgBl/+sHVgXFABcAJQAAKQEOASMgABkBEAAhMhYXIRUhESEVIREhBTI2NxEuASMiBhURFBYHVvx1XX9E/vf+wwE7AQlGjFADhP0kAn39gwLj+1U3aTU7ZzWjr7EKCwFGAQ8BMAEOAUcMCcP+ZcP+MxQICAQ0BwnJx/7OyMoAAAADAFv/6wbyBE4AIQAvADcAABM0ADMyFhc+ATMyEh0BIR4BMzI2NxcOASMiJicOASMiADUzFBYzMjY9ATQmIyIGFQEiBgchNTQmWwED7H6/QkK1buDk/VYKiX5kikFPQMSIfsFEQr587f788nuEgnt8g4J7A+FbdBIBtWgCJ/cBMFtWVlv+++OPh6MvLp84SFlVVVkBL/iiw8ShFZ7Gxp4BZI50GWiBAAABAIsAAAKVBi0ADwAAMxE0NjMyFhcHLgEjIgYVEYu/syRHLRkXKRxRUgS4tr8LCrkFBlxW+0gAAAH/3f5LAtMGLQAjAAABIxEUBiMiJic3HgEzMjY1ESM1MzU0NjMyFhcHLgEjIgYdATMChMm3qSU5IA8ROhY7QKWlwLMkRi4ZFDEcUU3JA4b8O7e/CAm/BQhdVgPFtH62vwsKvAQGWFZ+AAAAAAIAZv/rBa8GLgAXACUAAAEQACEgABkBEAAhMhYXPgE1MxQGBx4BFSc0JiMiBhURFBYzMjY1BQ3+tf7x/vb+vQFCAQqB1FNTRrx2eiYo88Coo7e4o6m+AlX+8/6jAV4BDAEGAQsBX1dRDYZ+p8slSJ1XArXr6rb++Ljr67gAAAAAAgBS/+wEvASpABcAJQAAEzQAMzIWFz4BNTMUBgceAR0BFAAjIgA1MxQWMzI2PQE0JiMiBhVSAQTrc7NCQCuoXmkeIP787O3+/PN6hIJ8fISCegIn9gExTUgTcmuQriJCj1EV+P7SAS74osLDoRWexsaeAAABAIb/6wZLBhAAGQAAARU+ATUzFAYHERQEISIkNREzERQWMzI2NREE8V1BvKC6/sn+/P/+z/OplJmvBbDNFo6J0eAV/Zb3/v/2A9D8MJyXl5wD0AABAHv/7AUpBJQAHAAAARQGBxEjLwEOASMiJjURMxEUFjMyNjcRMxU+ATUFKX6h2BACNJhnssDyWl9ZdSPzVDAElKunDvzMkAFRVNjvAof9d5FuPjwDDosNZXMAAAH/tf5LAZMEOgAPAAABERQGIyImJzceATMyNjURAZO3qSQ5IQ8SORY7QQQ6+4e3vwgJvwUIXVYEeQAAAAIAWf/sA/gEUAAVAB0AAAEyAB0BFAAnIgI9ASEuASMiBgcnPgETMjY3IRUUFgIA6gEO/vTP4eMCqgyJfGWJQU8/xaVZdBT+S2cEUP7W8Cjy/tABAQPkj4akMC2fN0r8X4x2GWmAAAAAAQCbBOQDPAXuAAgAAAEVIycHIzUlMwM8vJaVugEIjwT8GJKSGvAAAAEAeQTkAy0F8QAIAAABNzMVBSMlNTMB0ovQ/vSd/vXOBWKPEfz6EwABAHUElQL7BbAADQAAARQGIyImNTMUFjMyNjUC+62Wl6y2Q0pJQwWwgpmZgj9MTD8AAAAAAQCaBNcBnQW2AAMAAAEhNSEBnf79AQME198AAAIAggRUAiYF3AALABcAABM0NjMyFhUUBiMiJjcUFjMyNjU0JiMiBoJ6Wlh4d1lbeW46LCs3NyssOgUWVnBwVldra1csOTgtLjo7AAABACn+UgGhADwAEwAAIQ4BFRQWMzI2NxcOASMiJjU0NjcBjFBRICcaKhYVIU03XnV6hjNcOCEjDQqOExlpYFWROwAAAAEAgATWA1EF9wATAAABFAYjIiYjIgYVJzQ2MzIWMzI2NQNRdlxJojQoNYN1XDqwNSc3BdBhhFlALiNgiVk/LwACAHoE5AObBe4AAwAHAAABIQEjAzMDIwKbAQD+1cpu8vW7Be7+9gEK/vYAAAIAq/5+Afr/uAALABcAABc0NjMyFhUUBiMiJjcUFjMyNjU0JiMiBqthSUZfXkdKYGUnHhsmJhseJ+dGWVlGRVZWRR0mJxwfJycAAAAB/NsEs/4qBf0AAwAAASMDM/4qmbbQBLMBSgAAAf02BLb+hgYBAAMAAAEzAyP9uM6+kgYB/rUA///8eQTW/0oF9wAHAKD7+QAAAAAAAf0+BOb+mQZ/AA8AAAEnPgE1NCYjNzIWFRQGBxX9UQdNPU5IB6mrVUEE5pIEHSMnIXtlW0VHCEUAAAAAAvwMBOT/NAXuAAMABwAAASMBIQEjAzP+B9D+1QEGAiLD9foE5AEK/vYBCgAB/SL+pf4w/4QAAwAAASE1If4w/vIBDv6l3wAAAQDXBPYCDQZwAAMAAAEzAyMBG/LAdgZw/oYAAAMAnQTkA44GpAADAAcACwAAASM1MwUjNTM3MwMjA47a2v3p2tp4+JWSBOTMzMz0/tcAAP//AKACUgGSA0ICBgB2AAAAAQCfAAAENwWwAAUAAAEhESMRIQQ3/VvzA5gE7fsTBbAAAAAAAgAaAAAFmAWwAAMABgAAATMBISUhAQJz5wI++oIBSALy/pAFsPpQwgPOAAADAGb/6wUNBcUAAwARAB8AAAEhNSEFEAAhIAAZARAAISAAESc0JiMiBhURFBYzMjY1A6P+QAHAAWr+tf7x/vb+vQFCAQoBDwFM88Coo7e4o6m+AnnD5/7z/qMBXgEMAQYBCwFf/qH+9QK16+q2/vi46+u4AAEAIwAABREFsAAHAAABIwEjATMBIwKbA/6G+wID5wIE/AR0+4wFsPpQAAAAAwBwAAAELQWwAAMABwALAAA3IRUhEyEVIQMhFSFwA738Q2AC9/0JVgOa/GbCwgNMvwMjwwAAAAABAJ8AAAURBbAABwAAISMRIREjESEFEfL9c/MEcgTt+xMFsAABAEcAAARMBbAADAAACQEhFSE1CQE1IRUhAQMW/m0Cyfv7Ac7+MgPf/V4BkgLP/fTDmAJBAj+Yw/32AAADAEsAAAWjBbAAEQAYAB8AAAEWABUUAAcVIzUmADU0ADc1MwEUFhcRDgEFNCYnET4BA3H5ATn+x/ny/P7IATj88v3JqJ2dqAN5p5uaqAT+BP7S+vr+1AKqqgEBK/r7ATADsv0gprQBAr4CuKeotgP9QgG2AAEASAAABVEFsAAXAAABPgE1ETMREAAHESMRJgAZATMRFBYXETMDQoqS8/7m9fLz/uvykYXyAjgXwakB9/4J/v7+1Rn+jQFyGAErAQQB9/4JpsEZA3cAAAABAGwAAATaBcUAJAAAJTYSPQE0JiMiBh0BFBIXFSE1MzcmAj0BEAAhIAARFRQCBzMVIQLfeYGilZWghHz+DOcBcoMBNQEBAQEBN4Vy8f4LyB0BDPhp1tjY1mn5/vQcyMQDXgEho2cBHAFZ/qf+5Gek/uBhxAAAAAACAFb/6wR5BE4AHAArAAABERQWMzI2NxcOASMiJicOASMiAj0BEBIzMhYXNwEUFjMyNjc1ES4BIyIGFQP9JSQHDgYYHzomUmsaM5Bky9vbzV6KNBP+HHF/TGQiImRKf3MEOf0KTzsCArQRDU1UUVABHfEVAQgBOE1Lg/3AmbNGQw0BukVJ0awAAgCW/ncEagXEABQAKgAAATIWFRQGBx4BFRQGIyImJxEjETQkEzI2NTQmIyIGFREeATMyNjU0JisBNQJp0fBhWnqB8tFQkj3yAQ3CbmRrY2N+KnxPdoR3bHkFxNK4YJoxLbqD1eQoK/44Bai37v2ZbWdXeX5k/OEoKodvbpK5AAABACD+XwP1BDoACwAAATMBESMRATMTFzM3Avr7/o/z/o/73RQDFAQ6+/D+NQHQBAv9NF9fAAAAAAIAVP/sBDgGIAAhAC8AABM0NjMyFhcHLgEjIgYVFBYXFhIdARQAIyIAPQE0Nj8BLgETFBYzMjY9ATQmJyIGFdDRwEyYUiw6h0ZQWFBv5Nn++uru/vqyiQReZXZ/g39/jHKBgQTqk6MsKKMWIj00KlAmUf7s0xTw/tgBJO4UqvMjCymI/X2cwsKcFHjKGMOXAAEAYP/sBAwETQAoAAATNDY3LgE1NDYzMhYVIzQmIyIGFRQWOwEVIyIGFRQWMzI2NTMUBCMiJGBmZVlf9NbA/vJ4W2hoYmfHx25ud2xofPL+8cDW/vkBMlx9IiR3SpmisJY9TlI6QEetSE5AVlpBqqusAAAAAQBh/n4DygWwACAAAAEVAQ4BFRQWHwEeARUOAQcnPgE1NCYvAS4BNTQSNxMhNQPK/qN6ZURRbJt5AX5NfTAtPUlSs5CGkOv9xAWwkf5bjsqLXlkTIC5RcU61PGU2UyQjMBIVL6iejQEoqwEOwwAAAAEAfv5hBAYETgAUAAABHwE+ATMyFhURIxE0JiMiBgcRIxEBXA0DNZtkr7fzYWVMbCTzBDqRAU9Xxej7wAQ+gWs3M/zfBDoAAAMAc//rBC4FxQANABYAHwAAARACIyICGQEQEjMyEhEDIRUUFjMyNjUBITU0JiMiBhUELvvh4f784eH98/4rd3V1dP4rAdV2dXV1AjH+3v7cASUBIQFNASEBJv7a/t/+/Gy4qai5ASprtqmptgAAAAABAKn/6wJ+BDkADwAAAREUFjMyNjcXDgEjIiY1EQGcMC4bKRomL1Y3i44EOfzvRDILC7EZE5qqAwoAAAABABb/7gRKBfQAIQAAKQEBJy4BIyIGByc+ATMyFhcBHgEzOgE3Fw4BIyImJwMjBwEf/vcBgVYWOCsRGAsDGFUhZ2sfAbAULCMMEAcEFDAab3YtzwMXBA7IMSoBAbUGCk5V+8QxLQHABAZYfAIkZwAAAQBk/nYD1AXEADEAAAEuASMiBhUUFjsBFSMiBhUUFh8BHgEVDgEHJz4BNTQmLwEuATU0Njc1LgE1NCQzMhYXA4NKYDeDf4OQko+wr4tyapSCAn9MfTQpO0su7uGck293AQHkUoc9BNsTEVpIWGDGjJFvgBgYIlpzTrY6ZDpJLSkqEQszvtaRwS8DJ41hrb4XFAAAAAEAT//rBOoEOgAXAAABIxEUFjMyNjcXDgEjIiY1ESERIxEjNSEEj4cwLhspGiYvVjeLjv628ooEQAN9/atEMgsLsRkTmqoCTvyDA329AAAAAgCA/mAEMQROAA8AHQAAARQCIyImJxEjETQAMzISESM0JiMiBhURHgEzMjY1BDHYyV2LNfMBAtTp8vNxfXBtIGhQfnUB+fL+5Ts8/f0D3/YBGf7K/vat0MuN/vA6O7KZAAAAAAEAUv6KA+kETgAhAAABMhYVIzQmIyIGHQEUFhceARcOAQcnPgE1NCYnLgE9ATQSAjjG6+RnZn91j5+lfgMBfU1/NCk8RvLl/QRO1sJed8mUI4WZLDBVc062O2U6Si0oKw8699gj7QEzAAAAAAIAUv/sBH0EOgARAB8AAAEhBx4BHQEUACMiAD0BNAAzIQEUFjMyNj0BNCYjIgYVBH3++wFVYf785e3++wEE7AI7/Mh6hX54eX+DegN2A0S/chXb/t4BLvgV7gEl/diiwsOhFZW6upUAAQBA/+sD7QQ6ABMAAAEhERQWMzI2NxcOASMiJjURITUhA+3+lTAuGykaJi9WN4uO/rEDrQN5/a9EMgsLsRkTmqoCSsEAAAAAAQCA/+sECAQ6ABUAAAERFBYzMjY1LgEnMx4BFRACIyImNREBclVMeIoDOjTxND/098nUBDr9bYZ07J1/+4pq/pz+/P651+cCkQAAAAIARP4iBYUEQQAZACMAAAUkADU0EjcXDgEHFBYXETQ2MzIAFRQABREjEz4BNS4BIyIGFQJl/uD+/3t2mExHA4yim3/qARz++P7b8/OmlAOGeh4ZDh8BQvGkAQNVkkm7ZpjUIAKEdZD+x+Hl/ssc/jEClB3IjJTCIhcAAAABAE/+IgV+BDoAGwAAARE+ATUuASczHgEVFAAFESMRJAAZATMRFBYXEQNSpZUDPTXuN0L++/7Z8/7+/vLzlYgEOvx9H9aYfPSGaPeX9f69HP4yAdAeASUBHAHp/hW6wRwDggAAAQBm/+sGLQQ6ACgAAAEOAQcUFjMyNjURMxEUFjMyNjUuASczHgEVEAIjIiYnDgEjIgIRNDY3AeVCSANXYldk+2RXYlcESEDxQE3C3nSiLi+gc+DBTEEEOof8gbDZkKMBRf67o5DYsYD9h2r+nP70/sFvb29vAT8BDJz+agAAAAACAHX/7AThBcQAGQAkAAAlMjY3LgE9ATQ2MzIWFREQACEgABkBNxEUFhMUFhcRNCYjIgYVAqmVpgTJ9rubp7v+zP78/wD+zPqm8nVsODk0PLbHtgzvuVu0zs28/gT+7f7AAU0BBgKlAv1ZsdgDL2WECwFZVlJUVAAB/+4AAASFBcIAIwAAAT4BMzIWFwcuASMiBgcBESMRAS4BIyIGByc+ATMyFhcTFzM3AvI5hWogMxgYBBsNIzcR/tvy/twSNiIPGgMXFzEiaoQ5pRMEEwTEjnAJDMACAysn/W398wISAo4nKwMCwAwJbY7+d1VVAAACADP/6wZUBDoAFgAsAAABIx4BFRACIyImJw4BIyICETQ2NyM1IQEuASchDgEHFBYzMjY9ATMVFBYzMjYGVIAaHbbQeKUtLqV30LUbG28GIf7FAyAe/MYeIAJKVFpp+mdbU0sDg02jXf70/sFxcnJxAT8BDF2kTLf9/FOjV1ekUrDZkKPi4qOQ2AAAAAEAJP/xBbsFsAAbAAABIRE+ATMyBBUUBiEnMjY1LgEjIgYHESMRITUhBJH+D06EOPwBFf/+9QGgeAGPjkKFQ/P+dwRtBO3+ZhMY6d/U8bqIfH2HEBD9bQTtwwAAAQBy/+wE1gXGAB8AAAEGACMgABkBEAAhIAAXIy4BIyIGHQEhFSEVFBYzMjY3BNUW/uX9/v3+zgE1AQABAgEVGPMTj5qYqwIB/f+pmpeREwHZ5v75AVEBEQEVAQ8BVP798JiY6LYmwy6555SXAAAAAAIALgAACEMFsAAWAB8AAAERITIEFRQEIyERIREQAiEjNTMyEhkBAREhMjY1NCYjBQoBNPUBEP7w9f3Z/kDs/vMwKJh3A6UBNImKiYoFsP3r/dHR/ATt/iD+Xf6WwgEDAUgCo/0o/eqac3GYAAIAnwAACEoFsAASABsAAAEhETMRITIEFRQEIyERIREjETMBESEyNjU0JiMBkgKM8wE09gEP/vH2/dn9dPPzA38BNIqJiYoDRAJs/cnwycz0AoH9fwWw/Qb+FIttaooAAAEANQAABcsFsAAXAAABIRE+ATMgBBURIxE0JiMiBgcRIxEhNSEEmP4LQ4xPAQEBCfKClkeQR/P+hQRjBO3+jw4P2vX+NgHKmnEQDv1JBO3DAAAAAAEAmf6YBQsFsAALAAATMxEhETMRIREjESGZ8wKM8/5K8/43BbD7EgTu+lD+mAFoAAIAlAAABMEFsAAMABUAAAEhESEyBBUUBCMhESEBESEyNjU0JiMELP1bATT4AQ7+8ff92QOY/VsBNIqJiIsE7f6Q7M7Q8wWw/Qr+CJFybocAAgAm/pkF2wWwAA4AFQAAASMRIREjAzM2EhsBIREzAQYCByERIQXR6fwx7Ad3T3gIJQOPu/yGCVtLAnv+S/6aAWb+mQIpTgEtAR8CVPsSApro/r5wBCsAAAEAGAAAB4kFsAAVAAABIxEjESMBIQkBIQEzETMRMwEhCQEhBPCi8qn+k/7SAdf+SgEkAWGe8pgBXgEk/k0B1P7SAnv9hQJ7/YUDBwKp/ZwCZP2cAmT9WPz4AAAAAQBK/+sEewXFACgAAAEyNjU0JiMiBhUjNCQzMgQVFAYHHgEVFAQjIiQ1MxQWMzI2NTQmKwE1AmiKgI2NcpTzASDZ+AEVeG58gP7V+Nr+zPOcf5CgjpKqA0dza2F8d1673dTMZqMwLKl/zeDU1WSDgWl9csEAAAAAAQCaAAAFCwWwAAsAAAEzESMRIwEjETMRMwQY8/MD/Xjz8wMFsPpQBBj76AWw++kAAQAuAAAFCgWwAA8AAAERIxEhAwoBKwE1Mz4BGwEFCvP+OREPzvY+KIliDBgFsPpQBO3+IP5W/p3CBfYBUAKjAAEAP//rBNkFsAAVAAABFzMBIQEOASMiJic3HgEzMjY/AQEhAmgzAwEvAQz+Cj6WnxlCDAIKPBFMRCAf/g4BCgMekgMk+1KMiwQCwAICRkpFBC4AAAMAT//EBhkF7AAVAB4AJwAAATMgABEQACEjFSM1IyAAERAAITM1MwEiBhUUFjsBETMRMzI2NTQmIwOvDwELAVD+r/72D/MT/vX+sQFPAQsT8/76r7u6sBPzEa28u64FJv66/vL+9P69v78BQQEMAQ8BR8b+cM6+u8gDD/zxyru9zQAAAAEAmf6hBbYFsAALAAATMxEhETMRMwMjESGZ8wKM86sU3fvUBbD7EgTu+xX93AFfAAEAjwAABOkFsAATAAABESMRDgEjICQ1ETMRFBYzMjY3EQTp81CrYf7+/vfzgZdVs1QFsPpQAkEWFdr1Acv+NZtwFhYCqgAAAAEAngAABvwFsAALAAABESERMxEhETMRIREBkQHF8gHB8/miBbD7EgTu+xIE7vpQBbAAAAABAJ7+oQetBbAADwAAAREhETMRIREzETMDIxEhEQGRAcXyAcHzsRTd+eIFsPsSBO77EgTu+xP93gFfBbAAAAAAAgAYAAAF0wWwAAwAFQAAEyERITIEFRQEIyERIQERITI2NTQmIxgCgQE0+AEO/vH3/dn+cgKBATSKiYiLBbD9zezO0PME7f3N/giRcm6HAAADAJ8AAAZZBbAACgAOABcAAAEhMgQVFAQjIREzASMRMwERITI2NTQmIwGSATT4AQ7+8ff92fMEx/Pz+zkBNIqJiIsDfezO0PMFsPpQBbD9Cv4IkXJuhwAAAgCUAAAEwQWwAAoAEwAAASEyBBUUBCMhETMZASEyNjU0JiMBhwE0+AEO/vH3/dnzATSKiYiLA33sztDzBbD9Cv4IkXJuhwAAAQCI/+wE1wXGAB8AABM0ADMyABkBEAAjIAA1MxQWMzI2PQEhNSE1NCYjIgYViAEj//4BL/7R/v79/uHyl5mVpP3zAg2klZiXA9TkAQ7+rf7w/uv+7/6vAQHulZjmuCnDK7jompUAAAACAKr/6wcABcUAFQAjAAABEAAhIAARNSMRIxEzETM1EAAhIAARJzQmIyIGFREUFjMyNjUHAP61/vH+9v69vPPzvAFCAQoBDwFM88Coo7e4o6m+AlX+8/6jAV4BDAj9owWw/XE6AQsBX/6h/vUCtevqtv74uOvruAACAC0AAARiBbAADQAWAAApAQEuATU0JDMhESMRIQEjIgYVFBY7AQEx/vwBSIOBARL7AeTz/t4BIvGPjI2O8QJsOsGO2eL6UAIlAsiFfICKAAIAW//rBDwGEwAbACkAAAEyEh0BFAAjIgA9ARAANz4BNTMUBgcOAQcXPgEXIgYdARQWMzI2PQE0JgJz2fD+/Ozt/vwBBuN6ZsS0znOfIwNFnzKCenqEgnx9A/7+7d8V7f7hASTvZwFlAY0sFzZDxXojFI+GAjhAw6mGFZW1tZUVhqkAAAMAjwAABDoEOgAPABgAIQAAMxEhMhYVFAYHFR4BFRQGIwERITI2NTQmIyUzMjY1NCYrAY8Bt9vrXFduc9zS/vYBCmBbWmH+9shqZWhrxAQ6lJhNdB8DGIRam5oBzf7zQ0NBRq48PkRAAAAAAAEAhQAAA00EOgAFAAABIREjESEDTf4q8gLIA3b8igQ6AAAAAAIAJ/6+BMUEOgAOABUAADc+ATcTIREzESMRIREjEwEOAQchESGBXE0LCwLvlvL9SvYBAgAJRjwBoP7ww2bHyQGB/Ij9/AFC/r4CBQH2rPNYAqcAAAEAFwAABl8EOgAVAAABIxEjESMDIQkBIRMzETMRMxMhCQEhBDSA84D2/swBb/6rASzycvNz8gEt/qoBb/7LAbP+TQGz/k0CQQH5/lcBqf5XAan+B/2/AAABAE3/7APEBE0AKAAAARQGBx4BFRQGIyIkNTMUFjMyNjU0JisBNTMyNjU0JiMiBhUjNDYzMhYDsFZQXF7yy7j+/vJwYGBiWmKurltOVFxUavLxuMveAxJKdyQhfV2bq6uqQVpVQU9Gr0RCPFBOPZawoQAAAAEAhgAABBIEOgALAAABMxEjEScBIxEzERcDIPLyA/5b8vIDBDr7xgLUAf0rBDr9LgEAAAABAI8AAARlBDoADAAAASMRIxEzETMBIQkBIQH9e/PzawErASz+eQGo/sQBrP5UBDr+UAGw/fr9zAAAAAABAB8AAAQUBDoADwAAAREjESEDCgErATczMjY3EwQU8/7QCw+m3jQBJGY+CxQEOvvGA3b+9/6y/uHNqfcBzQAAAQCPAAAFbwQ6AA4AAAkBIREjEScBIwEHESMRIQL/AUABMPMD/tml/tgD8wEyASsDD/vGAsQB/TsCyQH9OAQ6AAEAhgAABBEEOgALAAAhIxEhESMRMxEhETMEEfP+W/PzAaXzAbX+SwQ6/j0BwwAAAAEAhgAABBIEOgAHAAAhIxEhESMRIQQS8/5a8wOMA3b8igQ6AAEAIwAAA9AEOgAHAAABIREjESE1IQPQ/qHz/qUDrQN5/IcDecEAAAADAFT+YAV/BhgAHwAtADsAABMQEjMyFhcRMxE+ATMyEhEVFAIjIiYnESMRDgEjIgI1JTQmIyIGBxEeATMyNjUhFBYzMjY3ES4BIyIGFVTKwidDIPIgSS3Cy8vALUoh8h9FKMDKBDhqdBgoEhEpGnNp/LpidBclEhIlFXRkAg4BCQE3Dg4B5v4WEBD+yf73FfL+5BAO/lcBpQ0NARzyFazRBwb9OQYEs5mbsQQGAsoEBs+uAAABAIb+vwSlBDoACwAAEzMRIREzETMDIxEhhvMBpvOTFN380gQ6/IgDePyI/f0BQQABAF8AAAPgBDsAEwAAISMRDgEjIiY1ETMRFBYzMjY3ETMD4PMxYjPd6/NlcDVfMvMBaQsLytIBTP60dmILDAIMAAAAAAEAhgAABgMEOgALAAABESERMxEhETMRIREBeQFS8wFT8vqDBDr8iAN4/IgDePvGBDoAAAABAH7+vwa1BDoADwAAAREhETMRIREzETMDIxEhEQFxAVLzAVPyuhTd+roEOvyIA3j8iAN4/Ij9/QFBBDoAAAAAAgAfAAAE6gQ6AAwAFQAAATMyFhUUBiMhESE1IRkBMzI2NTQmIwJK7dDj5M/+IP7IAivtZFxcZALiyKimzAN3w/3l/qNgS0xmAAAAAAMAjwAABckEOgAKAA4AFwAAATMyFhUUBiMhETMBIxEzAREzMjY1NCYjAYLt0OPkz/4g8wRH8/P7ue1kXFxkAuLIqKbMBDr7xgQ6/eX+o2BLTGYAAAIAjwAABCIEOgAKABMAAAEzMhYVFAYjIREzGQEzMjY1NCYjAYLt0OPkz/4g8+1kXFxkAuLIqKbMBDr95f6jYEtMZgAAAQBR/+sD6AROAB0AAAEiBhUjNDYzMhIdARQCIyImNTMUFjMyNjchNSEuAQIBV3Tl/LTo///nw+7lcFxwdQv+rAFTD3MDi2hQn9z+ze0j7v7O4LdbeqKBqHyXAAACAJD/7AYvBE4AEwAhAAABMz4BMzIAHQEUACMiJicjESMRMwEUFjMyNj0BNCYjIgYVAYPRGv3S7QEF/vzs2f8Vz/PzAb56hIJ8fISCegKI0Pb+0PcV+P7S/9n+PAQ6/diiwsOhFZ7Gxp4AAAACACcAAAPfBDoADQAWAAABESMRIwMjEy4BNTQ2MwMUFjsBESMiBgPf8uPn/P9maefPw1tb7eBiYQQ6+8YBjf5zAbUqmmebv/6gQFkBOF4AAAH/4f5LBAwGGAAoAAABIRUXPgEzMhYVERQGIyImJzceATMyNjURNCYjIgYHESMRIzUzNTMVIQJw/wADNZdgsL22qSU6IQ8ROxY7QGRoSW4m85yc8wEABK77AUtR1Of9Lre/CAm/BQhcVwLUgnA6NfzoBK6qwMAAAAEAWP/sA/4ETgAdAAAlMjY1MxQEIyICPQE0EjMyFhUjNCYjIgYHIRUhHgECQlt85f7/uPT5+fPH8+V1YnxwCQFW/qsLbq5nUaDaAS7xI/ABMOG3W3qegqiAlQAAAgAfAAAGmgQ6ABYAHwAAAREzMhYVFAYjIREhERACKwE/ATI2NREBETMyNjU0JiMD+u3Q4+PQ/iD+7b7jNAEkZFkC+e1jXVxkBDr+h7+foMMDdv73/r3+1sUByN8Bzf3F/sFeR0NXAAACAIYAAAaxBDoAEgAbAAABIREzETMyFhUUBiMhESERIxEzAREzMjY1NCYjAXkBpfPt0OPj0P4g/lvz8wKY7WNdXWMCnwGb/oe/n6DDAd3+IwQ6/cX+wV9GQ1cAAAH/9QAABAwGGAAcAAABIREXPgEzMhYVESMRNCYjIgYHESMRIzUzNTMVIQKE/uwDNZdgsL3zZGhJbibziIjzARQEtf7+AUtR1Of9bQKVgnA6NfzoBLWqubkAAAAAAQCG/poEEgQ6AAsAAAERIREzESERIxEhEQF5Aabz/rXz/rIEOvyIA3j7xv6aAWYEOgAAAAEAjf/rBrIFsAAgAAABERQGIyImJw4BIyImNREzERQWMzI2NREzERQWMzI2NREGsvbOcKo2OLBxye/zaVxod/dwY2JvBbD79drgUlRUUuDaBAv79X17en4EC/v1fXt6fgQLAAABAHD/6wXtBDoAIAAAAREUBiMiJicOASMiJjURMxEUFjMyNjURMxEUFjMyNjURBe3du2KVMDSaY7fW81BKV2L0WFNOVwQ6/VHN00ZISEbSzgKv/VFybG1xAq/9UXJsbXECrwAAAv/gAAAEIQYYABIAGwAAASERMzIWFRQGIyERIzUzETMRIQERMzI2NTQmIwKj/t7t0OPj0P4grq7zASL+3u1kXF1jBDn+ytGur9UEOasBNP7M/Vz+gmpUUW8AAAABAKL/7Aa2BcYAJwAAATM1EAAhIAAXIy4BIyIGHQEhFSEVFBYzMjY3MwYAIyAAETUjESMRMwGVvQE1AQABAgEVGPMTj5qYqwHs/hSpmpeRE/MW/uX9/v3+zr3z8wNQEwEPAVT+/fCYmOi2FcQ+ueeUl+b++QFRARE+/XQFsAAAAAEAhv/sBb4ETgAjAAABMzYSMzIWFSM0JiMiBgchFSEeATMyNjUzFAQjIgInIxEjETMBeaES9+HH8+V1YnpwCgF4/ocKb3xbfOX+/7ji9xKh8/MCctcBBeG3W3qaf6uCl2dRoNoBBNf+OQQ6AAIAIAAABQ4FsAALAA8AAAEjESMRIwMjATMBIwEhAyMDhITdd5H7AgfnAgD7/dgBW6sDAaz+VAGs/lQFsPpQAmcB/wAAAgAKAAAERQQ6AAsAEQAAASMRIxEjAyMBMwEjATMDJyMHAuRdw1to9wGp5wGr9/5c+GQXBBcBF/7pARf+6QQ6+8YBxAEGXl4AAgC2AAAHJwWwABMAFwAAASEBMwEjAyMRIxEjAyMTIREjETMBIQMjAakBawEs5wIA+4+E3XeR+5j+2PPzAlsBW6sDAmcDSfpQAaz+VAGs/lQBrP5UBbD8twH/AAACAJ0AAAYYBDoAEwAZAAABMxMzASMDIxEjESMDIxMjESMRMwEzAycjBwGQ/vjnAav3al3DW2j3bbrz8wHt+GQXBBcBxAJ2+8YBF/7pARf+6QEX/ukEOv2KAQZeXgAAAAACAIQAAAZpBbAAHAAfAAABHgEVESMRNCYrAQcRIxEnIyIGFREjETQ2ITMBIQETIQR0+vvzfZBpCfICgJB88/8BAAz+hQTc/ZLy/hwDKwPS8v6cAWSVbRH9qwJjA22V/pwBZPXSAoX9hgG1AAACAIIAAAVkBDoAGgAdAAAzNTQ2NwEhAR4BHQEjNTQmKwEHESMRIyIGHQEBEyGCycr+6wP0/urCxPNmdiQB8i13ZQGFlf7Wqd3MDQHb/iQQzNmpqZBrA/5fAaRrkKkCaQEiAAAAAgCtAAAIrgWwACQAJwAAIRE0NjchESMRMxEhOwEBIQEeARURIxE0JisBBxEjEScjIgYVEQETIQLJGx7+nvPzAxAYDP6FBNz+hPr7832QaQnyAoCQfAIL8v4cAWRRfjT9mQWw/XsChf17A9Ly/pwBZJVtEf2rAmMDbZX+nAM2AbUAAAAAAgCPAAAHdwQ6ACEAJAAAITU0NjchESMRMxEhASEBHgEdASM1NCYrAQcRIxEjIgYdAQETIQKVGhz+t/PzAqT+7QP0/urCxPNmdiQB8i13ZQGFlf7WqVB8M/5YBDr+KAHY/iQQzNmpqZBrA/5fAaRrkKkCaQEiAAAAAgAp/kADqgd4AC0ANgAAATI2NTQmIyE1ITIEFRQGBxUeARUUBCsBIgYVFBYXBy4BJzQ2OwEyNjU0JisBNQE3MxUFIyU1MwGQiH5/gP7lARvmAQx5b4KH/vfgNUU9VkJRhqEBtKkzeIaWlY8BBYvQ/vSd/vXOA05vZFtuxse9caAsAyqqgM7fNjFCSx6ZKbOBjYh8Znp5xwObjxH8+hMAAAIAM/5HA4gGCwAtADYAAAEyNjU0JiMhNSEyFhUUBgcVHgEVFAYrASIGFRQWFwcuASc0NjsBMjY1NCYrATUTNzMVBSMlNTMBl3Rqb2/+5QEb1vpeV2lt880xSUBTPlJ6nwGuoTBreIGAl9eL0P70nf71zgJvS0Q8R7mdlFB2IwMhd1WbqjYxQkseki+ueYWBT0FKSakDDY8R/PoTAAMAav/rBREFxQANABYAHwAAARAAISAAGQEQACEgABEFITU0JiMiBhUFIRUUFjMyNjUFEf61/vH+9v69AUIBCgEPAUz8SwLCwKijtwLC/T64o6m+AlX+8/6jAV4BDAEGAQsBX/6h/vUxM7Xr6rbeKrjr67gAAwBS/+wEMwROAA0AFAAbAAATNAAzMgAdARQAIyIANQEyNjchHgETIgYHIS4BUgEE6+0BBf787O3+/AHxcnoO/gsNenJxeQ4B8w97Aif2ATH+0PcV+P7SAS74/pyXhISXAt2XgICXAAABABEAAATvBcMAEQAAARczNxM+ATMXByMiBgcBIwEhAlwbAxvpNJJ9LgEULzsW/pLn/gwBBAGLcG4C/aiVAdA9RPuPBbAAAAABACAAAAQYBE4AFQAAARczNxM+ATMyFhcHLgEjIgYHASMBMwHjEgQSei6SaSExGBcEGw0jOg3+9tP+kvsBblpaAb6UjgkNwAIENir84gQ6AAQAav92BREGLgADAAcAFQAjAAABIxEzEyMRMwEQACEgABkBEAAhIAARJzQmIyIGFREUFjMyNjUDIMbGAcXFAfD+tf7x/vb+vQFCAQoBDwFM88Coo7e4o6m+BIQBqvlIAbQBK/7z/qMBXgEMAQYBCwFf/qH+9QK16+q2/vi46+u4AAAAAAQAU/+IBDQEtAADAAcAFQAjAAABIxEzAyMRMyU0ADMyAB0BFAAjIgA1MxQWMzI2PQE0JiMiBhUCori4A7e3/bQBBOvtAQX+/Ozt/vzzeoSCfHyEgnoDGwGZ+tQBoP/2ATH+0PcV+P7SAS74osLDoRWexsaeAAAAAAMAjf/rBqcHRAAsAD4ARAAAATIWFREUBiMiJicOASMiJjURNDYzFSIGFREUFjMyNjURMxEUFjMyNjURNCYjExUjIiQjIgYdASM1NDYzMgQzASc3JzMVBO7J8PDJcK03Oa1vye/vyVxpaVxod+x1aVxqalxqJIT+0CoyN4Z4c0gBKnL+N1E6AboFsO/m/eTm7k9RUU/u5gIc5fDDiIr95IuHen4Bi/51fnqHiwIciogB34Z4MjQSJW9qeP5LPXCPfQAAAAADAHT/6wXRBeMALAA+AEQAAAEyFh0BFAYjIiYnDgEjIiY9ATQ2MxUiBh0BFBYzMjY9ATMVFBYzMjY9ATQmIxMVIyIkIyIGHQEjNTQ2MzIEMwUHJzcnMwQ6ud7Ws2GUMTKUX7XU3LtOVk9HUV7sXVNGUFdNvSSF/tAqMjaHeHNJASly/tmiUToBugRH3tb119xHSklI3Nf11t7Dd3r1e3ZtccbGcW13evV6dwHnhngyNBIlb2p48L49b4kAAAIAjf/rBrIHBwAHACgAAAE1IRchFSM1BREUBiMiJjURIxEUBiMiJjURIxEUFjMyNjceATMyNjURAesDVQH+prUCjW9iY3D3d2hcafPvyXGwODaqcM72BpdwcH9/5/v1fnp7fQQL+/V+ent9BAv79drgUlRUUuDaBAsAAAACAHD/6wXtBbEABwAoAAABNSEXIRUjNQERFAYjIiY1ESMRFAYjIiY1ESMRFBYzMjY3HgEzMjY1EQGXAzgF/rG1AipXTlNY9GJXSlDz1rdjmjQwlWK73QVBcHB/f/75/VFxbWxyAq/9UXFtbHICr/1RztJGSEhG080CrwAAAQBq/ooEuAXFABgAAAEjESYCNREQACEgABUjNCYjIgYVERQWOwEDMPLa+gEwAQABAQEd85OYl6enl5b+igFoIAFF9gEVARABU/797ZWY57f+6bnnAAAAAAEAXP6JA/METgAYAAABIxEmAj0BNBIzMhYVIzQmIyIGHQEUFjsBAtXzvcn+6MLv5XBcf3RzgZL+iQFqIQEk0yPtATPitlt6yZQjmMYAAAAAAQBtAAAEkwU+ABMAAAEFByUDIxMlNwUTJTcFEzMDBQclAlsBIUj+3bWv4f7fRwElyv7eSQEjuazkASVM/uABwayAqv7BAY6rgKsBaKuCqwFG/murf6oAAAH8ZgSi/zkF/QAHAAABFSc3IScXFf0XsQECIgGxBSB+Ae5sAdwAAAAB/HMFF/9tBhUAEQAAATIkMzIWHQEjNTQmIyIEKwE1/JV0AS1JdXmIODIr/s2GJAWdeGpvJRI0MniGAAAB/XsFFv5yBmAABQAAATUzBxcH/Xu9ATtSBdyElnBEAAH9pQUW/pwGYAAFAAABJzcnMxX991I7Ab0FFkRwloQACPok/sQBvwWvAA0AGwApADcARQBTAGEAbwAAATQ2MzIWFSM0JiMiBhUBNDYzMhYVIzQmIyIGFRM0NjMyFhUjNCYjIgYVATQ2MzIWFSM0JiMiBhUBNDYzMhYVIzQmIyIGFQE0NjMyFhUjNCYjIgYVATQ2MzIWFSM0JiMiBhUTNDYzMhYVIzQmIyIGFf0RcGJjcHAvNDIvAd5xYGJycS80MS5IcGJicXAvNDMu/stxYGJxcC80MS/9T3BiY3BwLzQyL/1NcWJjcHAvNDIv/t5xYWNwcC41Mi81cWFjcXEuNTIuBPNVZ2dVLDk5LP7rVWdnVSw5OSz+CVVnZ1UsOTks/flVZ2dVLDk5LP7kVmZmVi04OC0FGlVnZ1UsOTks/glVZ2dVLDk5LP35VWdnVSw5OSwAAAAI+k3+YwGMBcYABAAJAA4AEwAZAB4AIwAoAAAFFwMjEwMnEzMDATcFFSUFByU1BQE3JRcGBQEHBSclAycDNxMBFxMHA/5QC3pgRjoMemBGAh0NAU3+pvt1Df6zAVoDnAIBQEQl/wD88wL+wEUBJisRlEHGA2ARlELEPA7+rQFhBKIOAVL+oP4RDHxiRzsMfGJHAa4QmUQXsfyOEZlFyALkAgFGRf7V/OMC/rtHASsAAAL/4AAABCEGYgASABsAAAEhETMyFhUUBiMhESM1MzUzFSEBETMyNjU0JiMCo/7e7dDj49D+IK6u8wEi/t7tZFxdYwUF/f7Rrq/VBQWrsrL8kP6CalRRbwADAJ8AAATaBbAAAwAOABcAAAEHATcBESMRITIEFRQEIyUhMjY1NCYjIQTabv5sbv5M8wI59gEM/vT2/roBRoqFhYr+ugIjZAG/ZP5G/dgFsPXP0fPDjnFxkgAAAAMAgP5gBDQETgADABYAJAAAJQcBNyUUAiMiJicHESMRMxc+ATMyEhEjNCYjIgYHER4BMzI2NQQtb/6XbwFw2speijID89kQNI9hzNvyen9NaSAgaFB/eA1jAaFkSvH+5D8/Af33BdqCSkz+yP74qdBAO/4XOjuzmAAAAAABAJQAAAQ0BxAABwAAASERIxEhETMENP1T8wKt8wTt+xMFsAFgAAAAAQB+AAADXAV0AAcAAAEhESMRIREzA1z+FPIB6/MDdvyKBDoBOgAAAAEAn/7GBJ0FsAAVAAABIREzIAAREAIhJzI2NS4BKwERIxEhBDf9W7EBIAE6+f78AZhzAbC2sfMDmATt/lb+1f7k/vv+z7rKq8PB/YcFsAAAAQB+/uID2wQ6ABUAAAEhFTMyBBUUAgcnPgE1NCYrAREjESEDRv4qU/UBI76+VHVonIlT8gLIA3bl+umL/vAxrSiLbImQ/jkEOgAAAAEAlAAABSwFsAAUAAAJAiEBIxUjNSMRIxEzETM1MxUzAQUE/nsBrf7O/s1Do1rz81qjOwEhBbD9Wfz3AnTq6v2MBbD9lf7+AmsAAAABAI4AAASuBDoAFAAACQIhAyMVIzUjESMRMxEzNTMVMxMElP7EAVb+y9gvm1fy8lebJ88EOv3+/cgBrLKy/lQEOv5Qx8cBsAABADQAAAahBbAADgAAASMRIxEhNSERMwEhCQEhA6yo8/4jAtCLAckBIP30AjX+1wJ2/YoE7cP9lwJp/Un9BwAAAQA+AAAFqQQ6AA4AAAEjESMRITUhETMBIQkBIQNBe/P+awKIawErASz+eQGo/sQBrP5UA3bE/lABsP36/cwAAAEAnwAAB4QFsAANAAABIREhFSERIxEhESMRMwGSAowDZv2M8v108/MDMAKAw/sTAm39kwWwAAAAAQB+AAAFZwQ6AA0AAAEhESEVIREjESERIxEzAXEBpQJR/qLz/lvz8wJ3AcPE/IoBtf5LBDoAAAABAJ/+xAfvBbAAFwAAATMgABEQAiEnMjY1LgErAREjESERIxEhBRGEASABOvn+/AGYcwGwtoTy/XPzBHIDQf7V/uT++/7Pusqrw8H9iQTt+xMFsAABAH7+5Qa7BDoAFwAAATMyBBUUAgcnPgE1LgErAREjESERIxEhBAqE/wEuvr5VdGoBppOE8/5a8wOMApX66Yz+8DGuJ4xsiY/+NgN2/IoEOgAAAAACAGn/6AXMBcUAKQA3AAAFIiYnDgEjIAARNRAAMxUiBh0BFBIzMjY3JgI9ATQSMzISERUUBgceATMBFBYXPgE9ATQmIyIGFQXMcsZaS6Fa/tn+nAEI22181bwYLhhxdOW+xexhXi5kOP2NZmdSVmFdWF8YIyUjIgGEAS+2AREBYMzpurjb/vMEBGMBB6LU8QE0/sb+/9SX/GELCgIdi9VJRs6B5a6ytqMAAAAAAgBh/+sEyQROACkAOAAABSImJw4BIyIAPQE0EjMVDgEdARQWMzI2Ny4BPQE0NjMyFh0BFAYHHgEzATU0JiMiBh0BFBYXPgE1BMlhpEg9g0rv/t7VsEJJlIMIEQxIR7GZm7hCPyZRLv7pOjQ1ODw8MTISGhwdHAFB/EvRAQrKBJN4TabMAQFKum5/vOn+x35rtEgJCAGAgGqIemWEVos1MIRTAAABAC7+oQaxBbAADwAAASE1IRUhESERMxEzAyMRIQGU/poDvf6cAozzqxTd+9QE7cPD+9UE7vsV/dwBXwABACb+vwU6BDsADwAAASM1IRUjESERMxEzAyMRIQEb9QLE3AGm85MU3fzSA3fExP1LA3j8iP39AUEAAAACAIIAAATcBbAAAwAXAAABIxEzAREjEQ4BIyAkNREzERQWMzI2NxEDLqOjAa7zUKth/v7+9/OBl1WzVAEsAtsBqfpQAkEWFdr1Acv+NZtwFhYCqgACAHQAAAP1BDsAAwAXAAAlIxEzASMRDgEjIiY1ETMRFBYzMjY3ETMCjaSkAWjzMWIz3evzZXA1XzLzzAJf/NUBaQsLytIBTP60dmILDAIMAAEAigAABOQFsAATAAAzETMRPgEzIAQVESMRNCYjIgYHEYrzUKthAQEBCvOCllezUgWw/b4VF9v0/jUBy5pxGBT9VgAAAgAg/+kFwAXEAB0AJgAABSAAETUuATUzFBYXEAAXIAARFSEVFBYzMjY3Fw4BASE1NCYjIgYVA+L+yf63oKKyRUsBQfUBEQEX/JW90G6eTzE1xf3hAniPppuoFwFUASJKF86sWnIVARMBWAH+nf6/hDzD6CghvCA4A2kftdHptwAC/87/7AR2BE8AGwAjAAAFIgAnLgE1MxQWFz4BFzISHQEhHgEzMjY3Fw4BAyIGByE1NCYCzub+9AWEhaoyNiH8teDk/VYKiX5kiUJHPcKiW3QSAbRnFAEd6R68l0pjGMXsAf7744+Hoi8tpjVDA5+NdRlpgAAAAAABAJT+xATnBbAAGAAAASMRIxEzETMBIQEWEhUQAiEnMjY1LgErAQGYEfPzcwHCAST+Gu7/+f78AZh0AbG29QJ4/YgFsP2hAl/9ix7+3P7++/7Ousqsw8AAAQCO/uoEQwQ6ABYAAAEeARUUAgcnPgE1LgEnIxEjETMRMwEhAs2tvr2+VXVpAZGGrvLyVQFBAS0CYSnbtYj++S+tJoRnfn4I/lQEOv5QAbAAAAAAAQCf/ksFEAWwABcAAAERIREzERQGIyImJzceATMyNjURIREjEQGSAozyt6klOiAOETsWPEH9dPMFsP2AAoD6EbbACAm/BQhdVgKs/ZMFsAABAH7+SwQJBDoAFwAAAREhETMRFAYjIiYnNx4BMzI2NREhESMRAXEBpfO4qSQ6IQ8ROxY7Qf5b8wQ6/j0Bw/uHtsAICb8FCF1WAfT+SwQ6AAIAU//qBRsFxQAWAB4AAAEgABEVEAAlIAARNSE1NCYjIgYHJz4BEzI2NyEVFBYCcwFKAV7+q/7+/sn+xgPW0uR2p1IxN8/robgL/R6wBcX+lv7Mov7X/o4BAWEBQoQV0/8pILwfOvrx6L0fttAAAAABAF3/6wRGBbAAGgAAARcBHgEVFAQjIiQ1MxQWMzI2NTQmKwE1ASE1BBsB/n/Q2/7o6cz+5POGb3+PlJmOAWr9kAWwm/5FGOPHzeDU1WSDgWmVhasBkcMAAQBd/nUERgQ6ABoAAAEhNSEXAR4BFRQEIyIkNTMUFjMyNjU0JisBNQL0/ZsDjAH+iMzW/ujpzP7k84Zvf4+UmY8DdsSb/kMZ48XL4dTUYoOCZ5WEqwAA//8AO/5LBIkFsAAmAKxSAAAmAdOkKQAHAZoBNQAAAAD//wA0/kkDogQ6ACYA51UAACcB0/+d/3oABwGaAQv//gACAFQAAASABbAACgATAAABETMRISIkNTQkMwERISIGFRQWMwOO8v3Z9v7xAQ73ATX+y4uHiIoDlAIc+lD80dD3/S4CD5Jwc5oAAAAAAgBmAAAGpQWwABgAIQAAISIkNTQkMyERMxE3PgE3NiYnMx4BBwYEIyURISIGFRQWMwJr9v7xAQ73ATXyTGVpBAEfHuwiIwIE/wDB/sL+y4uHiIr80dD3Ahz7EgEBdm9OolBlkknR2MICD5Jwc5oAAAIAXv/pBn4GGAAiADMAABMQEjMyFhcRMxEGFjM+ATc2JiczHgEHAgAjBiYnDgEjIgI1AS4BIyIGHQEUFjMyNjcuATVe2s1UgTPzAk1Ed38EAR4f7CIjAgT+6tOAqiw1l2rL2gKvI2NEf3Nxf0lmIwMDAg4BCAE4PTsCQvtPU2UBuahjyGiBtV3+8f7pAlVgWVoBHfEBJjI2zqsVma86OA8iEwAAAQA7/+gF4QWwAC0AAAE0JisBNTMyNjU0JiMhNSEyBBUUBgcXHgEdAQYWMz4BNzYmJzMeAQcCACMGJicCpntr1JuehYCP/qABYP4BBHx6AYJvAT42anIEAR4f7CMiAgT+9cunsAgBeG2BxW55aXDF0c90ojADJaiARD1KAbipY8hoiK9c/vD+6gOdsQABAC//4gT/BDoALgAAJQYWMz4BNzYmJzMeAQcOASMGJic1NCYrASczMjY1NCYjISchMhYVFAYHFx4BHQEDAQEhLFpfBAEfH+wjIwIF77WjmwhRTukCt2ddXmb++gYBDNbhVlYBZFbrKy0BjYJNoVFoj0jb4wNwhEs8QL1EQ0ZQw6ecUW8jAxp1WT4AAAIASf6sBCQFsAAhACsAABMnMzI2NTQmIyEnITIEFRQGBx4BHQEUFhcVIy4BPQE0JiMBFAYHJz4BPQEzlwHIlYSBiv7gAwEj9wEGc3N+aiAm+ikWfXICmmhVfyws5QJcw291b3vD2M9zoDMorYR4QXgiFyKLR3Rzgf3cZ9xJTkiTW7wAAAIAdf6cBAsEOgAhACsAABM1MzI2NTQmIyEnITIWFRQGBx4BHQEUFhcVIy4BPQE0JiMBFAYHJz4BPQEzs+VpZGZn/uEEASPW61dXYVMXHfsdDmJfAl5oVX8sLOUBnLNJRUdVwa+gUnMoIYJhVSdZFBEUYTFTT1T+jGfcSU5Ik1u8AAAAAAEAQ//oB34FsAAhAAABIREQAiEjNTMyEhkBIREGFjM+ATc2JiczHgEHAgAjBiYnBA3+VN3+9DUpjHcDkQFNRHd+BAEeH+wiIwIE/uvTuMIJBOv+Ff5q/pbEAQUBNwKw+7dUZAG5qGPIaIG1Xf7x/ukDtMsAAQA//+gGWQQ6ACEAAAERBhYzPgE3NiYnMx4BBwYCIwYmJxEhERACKwE/ATI2NREECgFRR11iBAEeH+wiIwIE97u7xgn+/7jfQAQpZFMEOv0tVGQBopZevWJ6q1j7/v4DtMsCDf76/rz+1tMBu98BzAAAAAABAJj/6AeFBbAAHQAAAREGFjM+ATc2JiczHgEHAgAjBiYnESERIxEzESERBQYBTUR4fgQBHx/sIiQCBf7r07fCCf138/MCiQWw+7dTZQG4qWPHaX+2Xv7x/ukDtMsBBv2TBbD9gAKAAAEAd//oBlwEOgAdAAABIREjETMRIREzEQYWMz4BNzYmJzMeAQcGAiMGJicDGv5Q8/MBsPMCUEheYwQBHx7rIyICBPe8usYJAbr+RgQ6/kMBvf0tU2UBopZdvWOBpVf7/v4DtMsAAAAAAQBi/+sEtgXFACEAAAUgABkBEAAhMhYXBy4BIyIGFREUFjM+ATc2JiczHgEHBgQCu/7w/rcBSQEQdK1GP0SOVqe/v6d/hQQBGhnrJhQBBP7jFQFYARIBBgERAVksLbAiIu61/vi57QGFe1OtYqpqTuDlAAABAFX/6wPlBE4AIQAAJT4BNzQmJzMeARUOASMiAD0BNAAzMhYXBy4BIyIGHQEUFgJaU0IDCgnrDQ4E1bL1/vABBupgizAuMHhFgH2GrwFERzdxNkZnMamnATXoKucBNSIgvRwey4wqj8oAAAABACL/6AVYBbAAGQAAASE1IRUhEQYWMz4BNzYmJzMeAQcCACMGJicB5/47BID+OAFNRHd/BAEfH+wjIgIE/uvTt8MJBOvFxfx8U2UBuKljx2l/t13+8f7pA7TLAAEARP/oBMwEOgAZAAABITUhFSERBhYzPgE3NiYnMx4BBw4BIwYmJwGJ/rsDi/6tAVFHXWMEAR8e6yMjAgT4u7rGCgN3w8P98FRkAYF4SptMY4lF2+MDtMsAAAAAAQCH/+sFAQXFACkAAAEiBhUUFjMyNjUzFAQjICQ1NDY3NS4BNTQkITIEFSM0JiMiBhUUFjsBFQLCp6G0pI2v8/656P70/sGGhHSAASoBC+YBNfOpf6KgkqC+AoZyfWmBg2TV1ODNf6krAy6jZszU3bted3xha3PBAAAA//8ArQJtBOoDMQBGAYbgAFMzQAD//wCyAm0F6gMxAEYBhrYAZmZAAP//AAT+PwOZAAAAJwBBAAH+/gAGAEEBAAABAGAD8wGWBjIACQAAEzQ2NxcOAR0BI2BkUoAuK90ErGbYSE1Ik1y7AAAAAAEAMwPWAWkGGAAJAAABFAYHJz4BPQEzAWllUn8tLN0FXGfYR01Hk12+AAAAAQAy/sIBaAENAAkAACUUBgcnPgE9ATMBZ2RSfyws3kdl2EhOSJNbxwAAAP//AEcD1gF9BhgARwFmAbAAAMABQAAAAP//AGID8wLlBjIAJgFlAgAABwFlAU8AAP//AEAD1gLABhgAJgFmDQAABwFmAVcAAAACADL+wgKqAQ0ACQATAAAlFAYHJz4BPQEzBRQGByc+AT0BMwFnZFJ/LCzeAUJlUn8sLN5HZdhITkiTW8fGZdhITkiTW8cAAAABAEAAAAQeBbAACwAAASERIxEhNSERMxEhBB7+iPP+jQFz8wF4A3L8jgNyyAF2/ooAAAAAAQBc/mAEOQWwABMAACkBESMRITUhESE1IREzESEVIREhBDn+iPP+jgFy/o4BcvMBeP6IAXj+YAGgwgK0xAF2/orE/UwAAAAAAQCIAf8CRAP4AA0AABM0NjMyFh0BFAYjIiY1iHZnaHd2aGh2AyFgd3ZhTWF0dGH//wCcAAADWADpACYAEAMAAAcAEAHNAAD//wCcAAAFEQDpACYAEAMAACcAEAHNAAAABwAQA4YAAAAGAEv/6wdgBcUAGQAnADUAQwBRAFUAAAE0NjMyFhc+ATMyFh0BFAYjIiYnDgEjIiY1ATQ2MzIWHQEUBiMiJjUBFBYzMjY9ATQmIyIGFQUUFjMyNj0BNCYjIgYVARQWMzI2PQE0JiMiBhUTJwEXAzClj0tyJiZyTI+mpY5NdCUmcUqRpf0boYyQpaWOjaIDjklER0JHREVGAcdKQ0ZDR0RFRvtNR0ZDR0hERUbqfQLHfQFlgas6NTU6q4FOgqo5NTU5qoIDgYKrq4JNgqmpgvzMQlhVRU5BWVlBTkFZVkROQVlZQQLmQldXQk1CWVlC+9VIBHJIAAAAAAEAbACXAjMDtgAGAAABEyMBNQEzATz3p/7gASCnAib+cQGGEwGGAAABAFQAlwIbA7YABgAAEwEVASMTA/sBIP7gp/f3A7b+ehP+egGPAZAAAQAtAG0DcQUnAAMAADcnAReqfQLHfW1IBHJIAAIAPwIwA1YFxQAKAA4AAAEzFSMVIzUhJwEzAxEnAwLUgoLE/jMEAczJxAP3A3iYsLBwAnX9swFOAf6xAAEAaQKMAv8FugATAAABFz4BMzIWFREjETQmIyIGBxEjEQEBICRuSX6FxUFBNEMTxQWseUFGk6D+BQHJZ1cvKv3SAyAAAQBPAAAEawXFACcAAAEOAQchByE1Mz4BNyM1MycjNTMnNDYzMhYVIzQmIyIGFRchFSEXIRUB6wIgHwLBAfwmCi8tAqehBZ6YBOTH0+Lza1dXYQQBiP5+BQF/AcBNfzLCwg2VXKaAp3zT6de6a2OBeHyngKYAAAAAAwCZ/+wGSQWwAAoAEwArAAABESMRITIEFRQEIyczMjY1NCYrASURMxUjERQWMzI2NxcOASMiJjURIzUzEQGT+gF49wEL/vX3fn6GgoKGfgPnw8MxKxksFBohXjGDj5WVAhz95AWw+c3T+8ySbmyQXf75tP2qRTYHBrIQFJmrAla0AQcAAQBL/+sD4AXFACsAAAEhFRQWMzI2NxcOASMiAD0BIzUzNSM1MzU0ADMyFhcHLgEjIgYdASEVIRUhA5z+NJeIO201FDp4P/L+4JKSkpIBH/E9ckQUN246h5YBzP40AcwB8AKapxERxQ8QARLxAo6cjgz2ARsQD8cQE7CcDo6cAAAEAHH/6wWJBcUAGwApADcAOwAAARQGIyImPQE0NjMyFhUjNCYjIgYdARQWMzI2NQEUFjMyNj0BNCYjIgYVMzQ2MzIWHQEUBiMiJjUTJwEXArGXh4mZmIiImKk9Ojs8PTw5PAEYpJKRoqOSkaOpR0RESENHQ0rBff05fQQlcZSpgk2DqpZxMURZQk1CV0Qv/PKDqamDToKqqoJBWVlBTkVVWUEDyEj7jkgAAAAAAgBF/+sDkAXFABoAJgAABSImPQEOASM1MjY3ETQ2MzIWHQEUAgcVFBYzAzU0JiMiBhURPgE1Atvq5DFiNTdhMLCfi6nPul13MCkiLSxSUhXs2AcLCbsLCwGyxtqxmiqY/sBnRYeBA4osPUJdYf6zR7ZjAAAEAJgAAAhPBcAAAwARAB8AKwAAASE1IQE0NjMyFh0BFAYjIiY1MxQWMzI2PQE0JiMiBhUBIwEHESMRMwE3ETMIEP3GAjr9irmhorm5oKK6r1ZXVFZXVVVW/sDy/XcD8/MCiQPyAXyVAmCXuLiXdZi2tphXZWVXdVRnZ1T7jwQrAfvWBbD71gEEKQAAAAIAZAOUBGIFsAAOABYAAAEnAyMDBxEjETMbATMRIwEjESMRIzUhA/QDhD2JA2+JkJGDbv33inWIAYcE2QH+ugFSAf6vAhz+gwF9/eQBvf5FAbtfAAIAlv/sBJEETgAVAB4AACUOASMiADU0ADMyAB0BIREeATMyNjcBIgYHESERLgEEFFm4Yd7+0gE/zdMBHP0AOYlPYbZZ/pBLizsCHDeIXjg6AUTt5gFL/s7rL/64Njg7PwMqQDr+6wEeNjsA//8Aaf/1Bl8FsgAnAckAEgKGACcBdAEMAAAABwHQA1EAAAAA//8Aav/1BvYFwAAnAcsACgKUACcBdAHFAAAABwHQA+gAAAAA//8Aav/1ByYFrwAnAc0AAgKOACcBdAH9AAAABwHQBBgAAAAA//8Aav/1BoUFrwAnAc8AGAKOACcBdAFCAAAABwHQA3cAAAAAAAIAQ//rBE4F7QAUACIAAAEEABEVFAAjIgA1NBIzMhYXNy4BJwEuASMiBhUUFjMyNj0BAegBGQFN/tjl5f7n+OJSkTkDL9mXAb4llW+AfJB/e5sF7Ub+Nv6kZP3+ywEV1OoBDy8rAqnNMf1rPE6tkHqtz6FmAAAAAAEApv8bBPQFsAAHAAAFIxEhESMRIQT01/1f1gRO5QXU+iwGlQAAAAABAED+8wTBBbAADAAACQEhFSE1CQE1IRUhAQOP/e4DRPt/Ak/9sQRH/PYCEgJD/XPDlwLIAsaYw/1zAAABAJ4CbQPhAzEAAwAAASE1IQPh/L0DQwJtxAAAAQA7AAAEiwWwAAsAAAEXMzcBMwEjAyM1IQIiHQMcAVvS/he+2NEBYwF8hYUENPpQAkHFAAMAZP/rB9kETgAZACcANQAAARQAIyImJw4BIyIAPQE0ADMyFhc+ATMyABUjNCYjIgYHFR4BMzI2NSEUFjMyNjc1LgEjIgYVB9n++uGi409P5KHi/vwBA+Gi5U9O5aPgAQXzeniHuhgVvIZ5e/pxeHuFvBYXu4d5eAH/6/7XwJaWwAEp6zrqASu+k5O+/tXqmrj4YSRi/7WdnbX/YiRg+bebAAAAAf+y/ksCqAYtABwAAAUUBiMiJic3HgEzMjY1ETQ2MzIWFwcuASMiBhURAZC3qSU4IQ8SORY7Qb+zJEctGRcpHFFSP7e/CAm/BQhdVgT3tr8LCrkFBlxW+wkAAAACAGUA/QQiBAEAGwA3AAATPgEzNhYXHgEzMjY3HwEOASMiJicuAQciBgcnBz4BMzYWFx4BMzI2Nx8BDgEjIiYnLgEHIgYHJ28weUNHSl9RTERBeS8DCjF5QkRMUV9KR0J5LgMUMHlDR0pfUUxEQXkvAwoxeUJETFFfSkdCeS4DA21GTAIcLyobSkQBwUdLGyovHAJLQwHtRkwCHC8qG0pEAcFHSxsqLxwCS0MBAAAAAAEAmACBA/YEwgATAAABMxUhByEVIQcnNyM1ITchNSE3FwM6vP7TfAGp/eh+ZFq+AS18/lcCGoNkA9bK38njQaLJ38rsQQAA//8AqgAVBBYErwBnAB4AkgDQQAA5mgAHAYYADP2oAAD//wCgABMEAATDAGcAIAAgAORAADmaAAcBhgAI/aYAAAACACQAAAP5BbAABQAPAAABMwkBIwEhAycjBwMTFzM3AaTSAYP+gNP+fgLZ3BQDFNfdEwMUBbD9J/0pAtcB30FB/iH+IkBAAP//ALMAtgGlBPAAJwAQABoAtgAHABAAGgQHAAAAAgBjAn8CPgQ5AAMABwAAASMRMwEjETMBAJ2dAT6dnQJ/Abr+RgG6AAEARf83AVoBBgAJAAAlFAYHJz4BPQEzAVpQRYAmJsmbYMNBTj9/UHMAAAAAAgAYAAAEFwYtABcAGwAAMxEjNTM1NDYzMhYXBy4BIyIGHQEzFSMRISMRM72lpeLTSopeJT92R3Bj1dUCZ/PzA4a0XMfQHh7JFhpfY1y0/HoEOgAAFgBZ/nIH7AWuAA0AHQArADsAQQBHAE0AUwBdAGEAZQBpAG0AcQB1AH4AggCGAIoAjgCSAJYAAAE0JiMiBh0BFBYzMjY1BTI2NTQmJzU+ATU0JisBEScUBiMiJj0BNDYzMhYVBRQGIyImNSMUFjMyNjURIwERMxUzFSE1MzUzEQERIRUjFSU1IREjNQEzHgEVFAYrATUBNSEVITUhFSE1IRUBNSEVITUhFSE1IRUTMzIWFRQGKwEFIzUzNSM1MxEjNTMlIzUzNSM1MxEjNTMDN39oaH5+amh9ASBeZzQtJSptZ7yfSEFDSUhCQUoDujYpMzVdaF1TaFz5xHHEBSjHb/htATXEBewBNm/82gUwMjQzfgFOARb9WwEV/VwBFAIKARb9WwEV/VwBFLxdPjg6PF388XFxcXFxcQcib29vb29vAkRieXlicGR3d2TYTk0uRA0DDjwoTEr929hHTExHcEVOTkWbLDYsL1NRW1ABevtPATvKcXHK/sUGHwEddKmpdP7jqfy2Ai0nKSqpA0p0dHR0dHT5OHFxcXFxcQRbHygpJ5b8fvr8Ffl+/H76/BX5AAAAAAUAXP3VB9cIYgADAB0AIQAlACkAAAkDBTQ2Nz4BNTQmIyIGBzM+ATMyFhUUBgcOARUXIxUzAzMVIwMzFSMEGAO//EH8RAQPGSlJXaaWi6UCywE6LDc6MitQOsrKyksEBAIEBAZS/DH8MQPP8TY7GyiAUIOUgYk0Mz42Mk0cOVZaW6r9TAQKjQQAAAAAAQBN/+8DygSNAB4AABsBIRUhAz4BNzYWFRQGIyImNTcUFjMyNjU0JiMiBgd8RwLJ/gwdJmo7usrY58L88m9daWNlXFlYFAH4ApXG/vMWIAIDx7u1z6KnEEZTamBday4oAAAAAAIATQAAAyUDIQAKAA8AAAEzFSMVIzUhJwEzATMRIwcCs3Jyv/5jCgGmwP5g4QMPASKRkZF0Ahz+AQEbGAAAAAACAGz/6wQnBcUADQAbAAABEAIjIgIZARASMzISESc0JiMiBhURFBYzMjY1BCf74eH+/OHh/fN2dXV1dnZ1dAIx/t7+3AElASEBTQEhASb+2v7fJbapqbb+a7ipqLkAAAAB/5/+xQLtA0IADwAAAzMgABEQAiEnMjY1LgErAWH0ASABOvn+/AGYcwGwtvQDQv7V/uT++/7Pusqrw8EAAAAAAf+w/ksBjgDNAA8AACURFAYjIiYnNx4BMzI2NREBjrepJTghDhE5FzxAzf70t78ICcYFB1ZVAQwAAAAAAQAY/l8B0wBCABMAACUeARUUBiMiJic3HgEzMjY1NCYnAQ9lX4lsQ1wnIx0vITouOjhCNYtNZ28ZE44KDS0jME0xAAABAFz+mgFPALYAAwAAASMRMwFP8/P+mgIcAAAAAgB1BNAC9wbcAA0AIQAAARQGIyImNTMUFjMyNjUTFAYjIiYjIgYVJzQ2MzIWMzI2NQL3rJWWq69ETkxGkF5IOYEpICloXUktiyseLAWwZ3l6ZjI9PTIBD01pRzIlG0tuRzElAAIAdQTVAvYHCAANAB0AAAEUBiMiJjUjFBYzMjY1JSc+ATU0JiM3MhYVFAYPAQJIR0tNR62ql5Wr/nMIST5NRQecoVJAAQWwMTw8MWV2dmUZdgIWGx0ZYE5GNTUHOgAAAAIAdQTTAwAGfgANABEAAAEUBiMiJjUzFBYzMjY1JzMHIwMAr5aZrbFGT0xHZbapgAWwZXh4ZTI+PjLOwAAAAAACAHkE5wNYBtEACAAcAAABByMnByMnJTM3FAYjIiYjIgYVJzQ2MzIWMzI2NQNYAbyzsrwBASaTulc/M3glHChaVEEogiUbKwTqA46OA+rfP15CLBsYP2FBLRwAAAIAdQTnBAoGywAGABYAAAEjBTM3FzMvAT4BNTQmIzcyFhUUBg8BAka7/urBsrPBXQdBNkQ9B4iNSTgBBeH6oqKGfQQZHSEdaVdNOz0HOwAAAv9MBNoDXAaDAAYACgAAASMnByMlMwUjAzMDXNWfn9QBI6H+h53X3QTajo76XAELAAAAAAIAegTnBIsGkAAGAAoAAAEzBSMnByMBMwMjAZ2hASPUn5/VAzPe2J0F4fqOjgGp/vUAAAACAFsElQMVBpgADQARAAABFAYjIiY1MxQWMzI2NScjJzMDFbuio7q1UFhWUDq/0vsFsIKZmYI7SUk7FdMAAAAAAQCQBGkBhQYMAAUAABM3MwMVI5B3fhvaBQ3//veaAAACABwAAASsBI0ABwAKAAAlIQcjATMBIwEhAwNX/hlW/gHM+AHM/v4KAVes6ekEjftzAasBzQAAAAMAjgAABC4EjQAPABgAIQAAMxEhMhYVFAYHFR4BFRQGIwERITI2NTQmIyUzMjY1NCYrAY4BrdvrYFpxdtzS/wABAGJZWmH/ALtqaWVuuwSNnqNUgCADGo5jpqQB+v7GS01PU6hISE4+AAAAAAEAaP/vBDIEnQAbAAABDgEjIgA9ATQAMzIWFyMuASMiBh0BFBYzMjY3BDEP+NXb/u4BEtvZ9BDzEG1tc4iJcnFoEAGU1NEBFOS+4wEV0dJ3a62Jv4quaXwAAAAAAgCOAAAEQgSNAAkAEwAAMxEhMgAdARQAIwMRMzI2PQE0JiOOAbfeAR/+4d7FxXSWlnQEjf741tLX/voDzPz0oH3Te6EAAAAAAQCOAAADzgSNAAsAAAEhESEVIREhFSERIQN4/ggCTvzAA0D9sgH4Afz+xMAEjcH+8gAAAAEAjgAAA9oEjQAJAAABIREjESEVIREhA4P9/fIDTP2mAgMB3v4iBI3B/tQAAQBo/+8EXwSdAB8AACUOASMiAD0BNAAzMhYXIy4BIyIGHQEUFjMyNjc1IzUhBF8577/v/t8BH+nh7hPyDnNvf5eYhmJ0H+8B4Z9IaAEF2fPXAQbCtF1Ynn30gJ4fF9SxAAAAAAEAjgAABHoEjQALAAAhIxEhESMRMxEhETMEevT9+vLyAgb0Adj+KASN/g0B8wAAAAEAjgAAAYAEjQADAAAhIxEzAYDy8gSNAAEALv/uA4wEjQAPAAABMxEUBiMiJjUzFBYzMjY1Apry6b3P6fNpXE9lBI385bXPubpbWGpaAAAAAQCOAAAEXQSNAAwAAAEjESMRMxEzASEJASEB62vy8lUBQQEt/mQBtv7LAdX+KwSN/iAB4P3V/Z4AAAAAAQCOAAADeQSNAAUAACUhFSERMwGAAfn9FfLAwASNAAABAI4AAAVuBI0ADgAACQEhESMRIwEjASMRIxEhAv4BQAEw8wP+2KX+2APyATIBKwNi+3MC/v0CAwH8/wSNAAAAAQCOAAAEhQSNAAsAACEjAQcRIxEzATcRMwSF8v3wA/LyAhAD8gMeAfzjBI385AEDGwAAAAIAZv/uBGQEnQANABsAAAEUACMiAD0BNAAzMgAVJzQmIyIGHQEUFjMyNjUEZP7p6Of+6AEW6OcBGfOOf4CLjX9/jQHn5f7sARTlvuQBFP7s5AGPp6ePv5GoqJEAAgBo/38ElASdABMAIQAAARQGBxcHJw4BIyIAPQE0ADMyABUnNCYjIgYdARQWMzI2NQRmODacoaE3c0Hn/ugBFujnARnzjn+AjI2Af40B52OlQZ2CoBkYARTlvuQBFP7s5AGPp6aQv5GoqJEAAgCOAAAESQSNABsAJAAAAREjESEyFhUUBgcVHgEdARQWFxUjLgE9ATQmIyczMjY1NCYrAQGA8gHO1uphYGxcERX6FQpgYPDcaWRlaNwBvf5DBI22pl6CKQMejWtWLGYXEBZsOFRWWcJUT05cAAAAAAEAT//uBBkEnQAlAAABNCYnLgE1NDYzMhYVIzQmIyIGFRQWFx4BFRQEIyIkNTMeATMyNgMnbJPlyfLV2u/yam1uZ2Sj28v/AN/d/vLyAYlvd3YBOz5NITSWoJa2v69RXEw+QUgkM5uanrG4uV9STQABADwAAAPpBI0ABwAAASERIxEhNSED6f6g8/6mA60DzPw0A8zBAAAAAQB+/+4EewSNABEAAAERFAQjIiQ1ETMRFBYzMjY1EQR7/uvp6f7q8o5/f40Ejf0KzN3dzAL2/Qpyd3dyAvYAAAEAHAAABIsEjQAJAAABFzM3ASEBIwEhAkARAxEBJQEB/kP3/kUBAQE1R0QDW/tzBI0AAAABADQAAAXXBI0ADwAAATMTIQEjAyMDIwEhEzMTMwQ4A5sBAf7j580DzOf+5AEAnAPK0gFZAzT7cwMM/PQEjfzJAzcAAAEALAAABFEEjQALAAABEyEJASELASEJASECPPEBG/6KAX/+5/n4/uUBgP6JARkC+AGV/b/9tAGd/mMCTAJBAAABABMAAAQ8BI0ACAAACQEhAREjEQEhAigBCQEL/mLz/mgBCwJvAh79Cv5pAaIC6wABAEoAAAPrBI0ACQAAJSEVITUBITUhFQF+Am38XwJZ/cgDcMDAegNSwXUAAAIAbf/vBBMEnQANABsAAAEUBiMiJjURNDYzMhYVJzQmIyIGFREUFjMyNjUEE/3V1v781tX/83dqaXZ3aml2AZvI5OTIAVfH5OTHAWx9fmv+qG5+fW8AAAABAD4AAAHzBJ0ABQAAISMRIzUlAfPzwgG1A6e6PAAAAAEAUgAAA5IEnQAYAAApATUBPgE1NCYjIgYVIzQ2MzIWFRQGDwEhA5L80QGeVkNMTlph8+bIvc6DntMB+8ABg1FrOEZfZE6j0LmteKuNxwAAAQBN/+8DuwSdACgAAAEyNjU0JiMiBhUjNDYzMhYVFAYHHgEVFAYjIiY1MxQWMzI2NTQmKwE1AgZcVFxaTmLy6LPL5F5WYmX2zLP58WpYXWtfY7kCq09LQFdMPpmyqaNSgicjh2Wls6ytQVhdRVpPsQAAAAACADkAAAQYBI0ACgAPAAABMxUjFSM1IScBMwEhEScHA3Gnp/L9xQsCQ/X9yQFFAwIBm8PY2J8DFv0OAboBBAAAAQBRAAAENAXFABgAACkBNQE+ATU0JiMiBhUjNAAzMhYVFAYHASEENPw5Adp2VnBjgnrzAQXq1vCKl/63ApinAgWCn09kgo2BygEH5L+A3qb+pAAAAgBt/+8D8ASdABoAJwAAATIWFwcuASMiBh0BPgEzMhYVFAYjIiY1ETQkEyIGBxUUFjMyNjU0JgJcSotDJzltSHKNModVvcX1zMX9ARexT2sbeV5ba2AEnRoYuhcUi3VWMTTCsrLW+MoBKc71/ZIyLh5wkm5UW2MAAQA8AAADZgSNAAwAAAEGAhEVIzUQEjchNSEDZriW8+OE/bADKgPM5f7e/vS5uQEHAYqCwQAAAAADAFL/7wPnBJ0AFwAjAC8AAAEUBgceARUUBiMiJDU0NjcuATU0NjMyFgM0JiMiBhUUFjMyNgM0JiMiBhUUFjMyNgPEZFlpd/3Fzf76em1eZvC/t+nQeVdgf39hWHcjZElSa21RSWMDXFeCJymMX6W0tKVfjCkngVicpaX9XUlcXElLW1sCREBOTEJBUVEAAAACAD//7wO1BJ0AGgAnAAAlMjY9AQ4BIyImNTQ2MzIWFREUBCMiJic3HgETMjY3NTQmIyIGFRQWAeFify1xQsjb98nA9v79ykiaRyY+c2JKZRt0WllqZa9/YVoqKs20qd75yv62u+YaGLgXEwGUNCpAbY57UFtzAAABAFcAAAGWAywABQAAISMRIzUlAZbAfwE/An+WFwAAAAEAawAAAtUDLAAYAAApATUBPgE1NCYjIgYVIzQ2MzIWFRQGDwEhAtX9oQExQiYyNz4/vqqUjphfeogBZ5EBADdEKi03OzFtkYB3U3JrdAAAAQBg//UC6wMsACgAAAEyNjU0JiMiBhUjNDYzMhYVFAYHHgEVFAYjIiY1MxQWMzI2NTQmKwE1AaFCPEA/Nj6/q4WYqUY+R0qxmIq4v0Q+QkpFR3sB2TQxKDQsImh4dXA4WRoYXkVyenh3LDIzLjk2gwAAAAABADgAAAJGBbAABQAAISMRITUlAkbz/uUCDgSgpmoAAAEAaP/1AwEDIQAeAAAbASEVIQc+ATc2FhUUBiMiJjU3FBYzMjY1NCYjIgYHiTQCFP6VFRxMLIeVoayRu75NQUpERj0+Pw8BWgHHkqoRFgECi4CAj290DC0xPjw/SR4ZAAIAcP/1AwoDLAAaACcAAAEyFhcHLgEjIgYdAT4BMzIWFRQGIyImPQE0NhMiBgcVFBYzMjY1NCYB4DdnLiApTzJRYiViP4iNtpeTus6DNkoSUkBCSUQDLBIRjQ8PWE0zICKHeXuUqo3Ij6n+Sx8cEEtbQTc6PwAAAAEAUgAAAqQDIQAMAAABDgEdASM1NBI3ITUhAqSHaL+aWf5pAlICj6C7tX9/tAELUZIAAAADAGj/9QMOAywAFwAjAC8AAAEUBgceARUUBiMiJjU0NjcuATU0NjMyFgM0JiMiBhUUFjMyNgM0JiMiBhUUFjMyNgL2SUBLVrqSmMJYT0RLs46IraZTPENYWEQ9URpDMjlISjgxQwJQO1obHWFAcnt7ckBhHRtaO2txcf4wMDs7MC82NgGIKC4tKSoyMgAAAAACAGD/9QLwAywAGgAnAAAlMjY9AQ4BIyImNTQ2MzIWHQEUBiMiJic3HgETMjY3NTQmIyIGFRQWAZVEWCBRLZOgs5KRusOYNW40ICtTSzVGD1E+PUdFhk5AOyAfkH91mK2M3oKeERGOEQ4BESUeGUpdSzU7SAAAAAACAHD/9QMkAywADQAbAAABFAYjIiY9ATQ2MzIWFSc0JiMiBh0BFBYzMjY1AyS7n5+7up+evb9SSkpQUEtJUgEnkKKikNGPpaWPAktVVUvTTlNTTgABAJcChwMmAzEAAwAAASE1IQMm/XECjwKHqgAAAwCWBEgCngaVAAQAEAAcAAABMxcHIwc0NjMyFhUUBiMiJjcUFjMyNjU0JiMiBgG84QHxlYJrUU5qaU9Ra2MzJiQwMCQmMwaVA7/eTWVkTk1gYE0mMDAmJzMzAAACAGwEbwLMBdcABQAPAAABEzMVAyMlNDY3Fw4BHQEjAYpv0+Zc/uJbVVAqJbEEhQFAFf7BVlqKLEgpYURSAAAAAQBP/+sEFgXFACgAAAEzMjY1NCYjIgYVIzQkMzIWFRQGBx4BFRQEIyIkNTMUFjMyNjU0JisBAYapeWVub2V78wECztn6b2x/cv7x2s7+8POAbnOAdX+pA0ZzbWtxb16v4dTLX6sxLbB2zOHUx2N2eHJ+cgACADgAAARZBbAACgAPAAABMxUjESMRIScBMwEhEScHA6G4uPL9jwYCb/r9hwGHAxcCB8T+vQFDlQPY/FcCVgExAAAAAAEAgf/rBCYFsAAeAAAbASEVIQM+ATc2EhUUAiMiJDU3FBYzMjY1NCYjIgYHnFQDAf3JLCxvSNHk8OvE/vrremVzdXhzZl4XAosDJdL+kyApAgP+/Ora/vTRyQhsdJ2FhqM/PwACAHT/6wRGBcUAGgAnAAABMhYXBy4BIyIGHQE+ATMyEhUUAiMiABkBEAATIgYHFRQWMzI2NTQmAqhQjTouOWdIlK89nWDH3//Y4v7nATy0XX4jkndtd34FxSAcvBgb3cMHODv+89fk/ucBMgEeARYBIgFS/UpAOWi9xLOIhaIAAAMACv5KBBsETgAvAD8ATQAAASMeAR0BFAYjIiYnDgEVFBY7ATIWFRQEIyImNTQ2Ny4BNTQ2Ny4BPQE0NjMyFhchASImJw4BFRQWMzI2NTQmIwEUFjMyNj0BNCYjIgYVBBuKHB73yipJIxITQj2xxc3+1vno/GNTGRk/Nlxi9s0rTicBcf2GGCoUJy59fZCiUGX+zHNgXXJzXl9yA6AqXzUWnc8IChEoGSsilJWF2552WXwpFzwnQ18mMZxhFqPJCgr73gMEFUYwPlFiPDo7ArRJaGhJFktlZUsAAAABADIAAAP3BbAADAAAAQoBAwcjNxoBNyE1IQP3+KQnD/MPJ9zH/ScDxQTt/tP+NP6mmpoBUgIO88MAAAABAD7+TQREBEoAIwAAEzIWHwETMwETHgEXOgE3Bw4BJy4BLwEDIwEDLgEjIgYHJz4BwYxzPVvh9f6fxRo9KxARDwcTNhdxeT9l+PgBfKccWTwMKA8CH0IESoqGzgHO/Sj+QT1EBQLGBgYBBZST5v4AAwwBgEVRBAG6CAsAAwBh/+sEKgXFABcAIwAvAAABFAYHHgEVFAQjIiQ1NDY3LgE1NDYzMhYDNCYjIgYVFBYzMjYDNCYjIgYVFBYzMjYEBXVqeor++dzf/vmIfGp08c3L9c2HbG6DgnFthCZwXV9sbWBdbgQwcaYuL7V6z9PTz3u0MC2mccbPz/yjbYSDbnB8fQL9Ynl1ZmV1dQAAAgBW/+sEXwROABQAIgAAJScOASMiAj0BEBIzMhYXPwEzAxMjARQWMzI2NzUuASMiBhUDZAM2qn7O397Reqc3AxvdbHPd/cdxf21vFxFzbX9zvwFpbAEd8RUBCAE4bGcBvv3i/eQB+Zmzt5ovm8PRrAAAAAACAFP/6wQ0BbAAGgArAAABFSEeARcWEh0BFAAjIgA9ATQSNzI2My4BJzUTFBYzMjY9ATQmJy4BIyIGFQPD/lQaZzqvs/787Oz+++bHCQwMgZI3b3qEgnxgSBMjFYmABbDBG1gul/77nxXw/t0BHegVwwEHHAF0iD+J/E6ZuLmYFW6pMAQEupUAAgCfAAAEyAWwAAkAEwAAMxEhIAARFRAAIQMRMzI2PQE0JiOfAZ4BUwE4/sj+rauk57i45wWw/tH+z/H+z/7SBO371cXY89XGAAAAAAIAYP/rA/4ETgAfACoAACEuAScOASMiJjU0NjsBNTQmIyIGFSM0NjMyFhURFBYXJTI2NzUjIgYVFBYDCAkMAzefYqys8+qrX2VjWfPd4dHXDxT98lSDIa96bUcdNRw6SaKiqqR6VEZMQ5S4oLn+BEZ4O647K9FdVUJDAAACAJ8AAAT+BbAADgAXAAABFAYHARUhASERIxEhMgQBITI2NTQmIyEEqn93AUr+9f7d/sLzAg34AQb86AEbhoSCif7mBAaGwDX9iBMCS/21BbDa/jh7dXB/AAAAAAEAnwAABS8FsAAMAAABBxEjETMRNwEhCQEhAieV8/OSAasBIP3eAmL+zAKApf4lBbD9X6sB9v2J/McAAAEAgQAABDwGGAANAAABBxEjETMRFzcBIQkBIQHgbfLyA1ABLQEe/m0Bvv7mAc9z/qQGGPxxAWEBUf5A/YYAAAABAJ8AAAURBbAACwAAAREjETMRMwEhCQEhAZLz8wcCJgEt/ZsCiv7TAp/9YQWw/X8Cgf02/RoAAAEAgQAABCIGGAAMAAABBxEjETMRFwEhCQEhAXYD8vIDAVYBKv5QAdz+2wHnAf4aBhj8iAEBm/4M/boAAAIAUv/rBBcFxQAbACgAACUyNj0BJw4BIyICNTQAMzIAGQEQACMiJic3HgETMjY3NTQmIyIGFRQWAgOFnQMwilXV7AEKy+cBCf7c8EyeRCBAfXhdfSGAemSCdq29vSMBQUIBBPHmASL+3P7k/qv+5v7VHh64GxcB2EY7nLGvt46SpgAAAAIAjgAABEAEjQAKABMAAAERIxEhMhYVFAYjJzMyNjU0JisBAYDyAePY9/fY8fFscHBs8QGG/noEjdaur9TCblFTcgD//wB1BJUC+wWwAgYAnAAA//8AAAAAAAAAAAIGAAMAAP//AEcCCQJUAs0CBgAPAAAAAgAkAAAFDAWwAA0AGwAAMxEjNTMRISAAERUQACETIREzMjY9ATQmKwERIb2ZmQHKASoBW/6i/sw5/v3D2c3Kz9ABAwKRqgJ1/qb+4sH+4P6pApH+MerLw83m/k4AAAAAAgAkAAAFDAWwAA0AGwAAMxEjNTMRISAAERUQACETIREzMjY9ATQmKwERIb2ZmQHKASoBW/6i/sw5/v3D2c3Kz9ABAwKRqgJ1/qb+4sH+4P6pApH+MerLw83m/k4AAAAAAf/9AAAEKgYYABwAAAEjERc+ATMyFhURIxE0JiMiBgcRIxEjNTM1MxUzAoz+AzWXYLC982RoSW4m856e8/4Ex/7sAUtR1Of9bQKVgnA6NfzoBMeqp6cAAAEANQAABLUFsAAPAAABIxEjESM1MxEhNSEVIREzA73P883N/joEgP45zwMS/O4DEqoBMcPD/s8AAf/n/+wCdgVBAB8AAAERMxUjFTMVIxEUFjMyNjcXDgEjIiY1ESM1MzUjNTMRAaHDw9XVMSsZLBQaIV4xg4/Hx5WVBUH++bSlqv75RTYHBrIQFJmrAQeqpbQBB///ABoAAAUoByICJgAjAAAABwBCAPwBXP//ABoAAAUoByECJgAjAAAABwBzAbMBW///ABoAAAUoB0cCJgAjAAAABwCaALcBWf//ABoAAAUoB2MCJgAjAAAABwCgALkBbP//ABoAAAUoBw0CJgAjAAAABwBoAJMBXf//ABoAAAUoB48CJgAjAAAABwCeAUwBs///ABoAAAUoB70CJgAjAAAABwHUAVIBKP//AHT+PATYBcUCJgAlAAAABwB3Acb/+///AJ8AAAR1ByICJgAnAAAABwBCAMQBXP//AJ8AAAR1ByECJgAnAAAABwBzAXsBW///AJ8AAAR1B0cCJgAnAAAABwCaAH8BWf//AJ8AAAR1Bw0CJgAnAAAABwBoAFsBXf///8wAAAGgByICJgArAAAABwBC/4IBXP//AK0AAAKEByECJgArAAAABwBzADgBW////9gAAAJ5B0cCJgArAAAABwCa/z0BWf///70AAAKSBw0CJgArAAAABwBo/xkBXf//AJ8AAAUQB2MCJgAwAAAABwCgAO4BbP//AHT/6wUbBzcCJgAxAAAABwBCASMBcf//AHT/6wUbBzYCJgAxAAAABwBzAdoBcP//AHT/6wUbB1wCJgAxAAAABwCaAN4Bbv//AHT/6wUbB3gCJgAxAAAABwCgAOABgf//AHT/6wUbByICJgAxAAAABwBoALoBcv//AIb/6wTxByICJgA3AAAABwBCARcBXP//AIb/6wTxByECJgA3AAAABwBzAc4BW///AIb/6wTxB0cCJgA3AAAABwCaANIBWf//AIb/6wTxBw0CJgA3AAAABwBoAK4BXf//ABMAAATvByECJgA7AAAABwBzAZYBW///AF7/7AQB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AAcAnADtAcH//wBU/kwECAYaAiYASQAAAAYAnHlqAAD//wB0/+sE4gc2AiYAKQAAAAcAnQGHAYD//wBU/kwECAXfAiYASQAAAAcAnQETACn//wB0/eIE4gXFAiYAKQAAAAcBkQG2/qv//wBU/kwECAaKAiYASQAAAAcBpQEtAH7//wCfAAAFEAdHAiYAKgAAAAcAmgDoAVn//wB9AAAEDAdiAiYASgAAAAcAmgAbAXT///+/AAACkAdjAiYAKwAAAAcAoP8/AWz///+iAAACcwYMAiYAigAAAAcAoP8iABX///+/AAAClgb2AiYAKwAAAAcAbv84AUb///+iAAACeQWgAiYAigAAAAcAbv8b//D////lAAACawdcAiYAKwAAAAcAnP9wAaz////IAAACTgYFAiYAigAAAAcAnP9TAFX//wAc/lwBoAWwAiYAKwAAAAYAn/MKAAD////+/lIBgwYYAiYASwAAAAYAn9UAAAD//wCjAAABpgchAiYAKwAAAAcAnQAJAWv//wCt/+sGMwWwACYAKwAAAAcALAJNAAD//wCQ/ksDoQYYACYASwAAAAcATAITAAD//wA6/+sEsgc/AiYALAAAAAcAmgF2AVH///+1/ksCZAXjAiYAmAAAAAcAmv8o//X//wCf/fAFLwWwAiYALQAAAAcBkQGK/rn//wCB/fIENQYYAiYATQAAAAcBkQEv/rv//wCfAAAELwb4AiYALgAAAAcAcwAqATL//wCQAAACZwdfAiYATgAAAAcAcwAbAZn//wCf/fIELwWwAiYALgAAAAcBkQF1/rv//wBY/fIBgwYYAiYATgAAAAcBkQAT/rv//wCfAAAELwWyAiYALgAAAAcBkQIEBKz//wCQAAAC6AYYACYATgAAAAcBkQGOBRL//wCfAAAELwWwAiYALgAAAAcAnQG7/dT//wCQAAAC9wYYACYATgAAAAcAnQFa/a///wCfAAAFEAchAiYAMAAAAAcAcwHoAVv//wB+AAAECwXfAiYAUAAAAAcAcwFTABn//wCf/fIFEAWwAiYAMAAAAAcBkQHg/rv//wB+/fIECwROAiYAUAAAAAcBkQFL/rv//wCfAAAFEAdOAiYAMAAAAAcAmwEDAV3//wB+AAAECwYMAiYAUAAAAAYAm24bAAD////VAAAECwYYAiYAUAAAAAcBkf+QBRL//wB0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aAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAcABhAGMAaABlAC4AbwByAGcALwBsAGkAYwBlAG4AcwBlAHMALwBMAEkAQwBFAE4AUwBFAC0AMgAuADAAUgBvAGIAbwB0AG8ATQBlAGQAaQB1AG0AAAIAAAAAAAD/agBkAAAAAAAAAAAAAAAAAAAAAAAAAAAEHAAAAQIAAgADAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAKMAhACFAL0AlgDoAIYAjgCLAJ0AqQCkAIoBAwCDAJMA8gDzAI0AlwCIAQQA3gDxAJ4AqgD1APQA9gCiAJAA8ACRAO0AiQCgAOoAuAChAO4BBQDXAQYA4gDjAQcBCACwALEBCQCmAQoBCwEMAQ0BDgEPANgA4QDbANwA3QDgANkA3wEQAREBEgETARQBFQEWARcBGAEZARoBGwEcAR0BHgEfASABIQEiAJ8BIwEkASUBJgEnASgBKQEqASsBLAEtAJsBLgEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE+AT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwF0AXUBdgF3AXgBeQF6AXsBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQCyALMBzgC2ALcAxAHPALQAtQDFAIIAwgCHAdAAqwDGAL4AvwC8AdEB0gHTAdQB1QHWAdcB2ACMAdkB2gHbAdwB3QCYAJoAmQDvAKUAkgCcAKcAjwCUAJUAuQHeAd8B4ADAAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMB9AH1AfYB9wH4AfkB+gH7AfwB/QH+Af8CAAIBAgICAwIEAgUCBgIHAggCCQIKAgsCDAINAg4CDwIQAhECEgITAhQCFQIWAhcCGAIZAhoCGwIcAh0CHgIfAiACIQIiAiMCJAIlAiYCJwIoAikCKgIrAiwCLQIuAi8CMAIxAjICMwI0AjUCNgI3AKwCOAI5AOkCOgI7AjwArQDJAMcArgBiAGMCPQBkAMsAZQDIAMoAzwDMAM0AzgBmANMA0ADRAK8AZwDWANQA1QBoAOsAagBpAGsAbQBsAG4CPgBvAHEAcAByAHMAdQB0AHYAdwB4AHoAeQB7AH0AfAB/AH4AgACBAOwAugI/AkACQQJCAkMCRAD9AP4CRQJGAkcCSAD/AQACSQJKAksCTAJNAk4CTwJQAlECUgJTAlQCVQJWAPgA+QJXAlgCWQJaAlsCXAJdAl4CXwJgAmECYgJjAmQCZQJmAmcCaAJpAmoCawJsAm0CbgJvAnACcQJyAnMCdAJ1AnYCdwJ4AnkCegJ7AnwCfQJ+An8CgAKBAoICgwKEAoUChgKHAogCiQKKAPsA/AKLAowA5ADlAo0CjgKPApACkQKSApMClAKVApYClwKYApkCmgKbApwCnQKeAp8CoAKhAqIAuwKjAqQCpQKmAOYA5wKnAqgCqQKqAqsCrAKtAq4CrwKwArECsgKzArQCtQK2ArcCuAK5AroCuwK8Ar0CvgK/AsACwQLCAsMCxALFAsYCxwLIAskCygLLAswCzQLOAs8C0ALRAtIC0wLUAtUC1gLXAtgC2QLaAtsC3ALdAt4C3wLgAuEC4gLjAuQC5QLmAucC6ALpAuoC6wLsAu0C7gLvAvAC8QLyAvMC9AL1AvYC9wL4AvkC+gL7AvwC/QL+Av8DAAMBAwIDAwMEAwUDBgMHAwgDCQMKAwsDDAMNAw4DDwMQAxEDEgMTAxQDFQMWAxcDGAMZAxoDGwMcAx0DHgMfAyADIQMiAyMDJAMlAyYDJwMoAykDKgMrAywDLQMuAy8DMAMxAzIDMwM0AzUDNgM3AzgDOQM6AzsDPAM9Az4DPwNAA0EDQgNDA0QDRQNGA0cDSANJA0oDSwNMA00DTgNPA1ADUQNSA1MDVANVA1YDVwNYA1kDWgNbA1wDXQNeA18DYANhA2IDYwNkA2UDZgNnA2gDaQNqA2sDbANtA24DbwNwA3EDcgNzA3QDdQN2A3cDeAN5A3oDewN8A30DfgN/A4ADgQOCA4MDhAOFA4YDhwOIA4kDigOLA4wDjQOOA48DkAORA5IDkwOUA5UDlgOXA5gDmQOaA5sDnAOdA54DnwOgA6EDogOjA6QDpQOmA6cDqAOpA6oDqwOsA60DrgOvA7ADsQOyA7MDtAO1A7YDtwO4A7kDugO7A7wDvQO+A78DwAPBA8IDwwPEA8UDxgPHA8gDyQPKA8sDzAPNA84DzwPQA9ED0gPTA9QD1QPWA9cD2APZA9oD2wPcA90D3gPfA+AD4QPiA+MD5APlA+YD5wPoA+kD6gPrA+wD7QPuA+8D8APxA/ID8wP0A/UD9gP3A/gD+QP6A/sD/AP9A/4D/wQABAEEAgQDBAQEBQQGBAcECAQJBAoECwQMBA0EDgQPBBAEEQQSBBMEFAQVBBYEFwQYBBkEGgQbBBwEHQQeBB8EIAQhAPcEIgQjAAQHdW5pMDAwOQZtYWNyb24OcGVyaW9kY2VudGVyZWQESGJhcgxrZ3JlZW5sYW5kaWMDRW5nA2VuZwVsb25ncwVPaG9ybgVvaG9ybgVVaG9ybgV1aG9ybgd1bmkwMjM3BXNjaHdhB3VuaTAyRjMJZ3JhdmVjb21iCWFjdXRlY29tYgl0aWxkZWNvbWIEaG9vawd1bmkwMzBGCGRvdGJlbG93BXRvbm9zDWRpZXJlc2lzdG9ub3MJYW5vdGVsZWlhBUdhbW1hBURlbHRhBVRoZXRhBkxhbWJkYQJYaQJQaQVTaWdtYQNQaGkDUHNpBWFscGhhBGJldGEFZ2FtbWEFZGVsdGEHZXBzaWxvbgR6ZXRhA2V0YQV0aGV0YQRpb3RhBmxhbWJkYQJ4aQNyaG8Gc2lnbWExBXNpZ21hA3RhdQd1cHNpbG9uA3BoaQNwc2kFb21lZ2EHdW5pMDNEMQd1bmkwM0QyB3VuaTAzRDYHdW5pMDQwMgd1bmkwNDA0B3VuaTA0MDkHdW5pMDQwQQd1bmkwNDBCB3VuaTA0MEYHdW5pMDQxMQd1bmkwNDE0B3VuaTA0MTYHdW5pMDQxNwd1bmkwNDE4B3VuaTA0MUIHdW5pMDQyMwd1bmkwNDI0B3VuaTA0MjYHdW5pMDQyNwd1bmkwNDI4B3VuaTA0MjkHdW5pMDQyQQd1bmkwNDJCB3VuaTA0MkMHdW5pMDQyRAd1bmkwNDJFB3VuaTA0MkYHdW5pMDQzMQd1bmkwNDMyB3VuaTA0MzMHdW5pMDQzNAd1bmkwNDM2B3VuaTA0MzcHdW5pMDQzOAd1bmkwNDNBB3VuaTA0M0IHdW5pMDQzQwd1bmkwNDNEB3VuaTA0M0YHdW5pMDQ0Mgd1bmkwNDQ0B3VuaTA0NDYHdW5pMDQ0Nwd1bmkwNDQ4B3VuaTA0NDkHdW5pMDQ0QQd1bmkwNDRCB3VuaTA0NEMHdW5pMDQ0RAd1bmkwNDRFB3VuaTA0NEYHdW5pMDQ1Mgd1bmkwNDU0B3VuaTA0NTkHdW5pMDQ1QQd1bmkwNDVCB3VuaTA0NUYHdW5pMDQ2MAd1bmkwNDYxB3VuaTA0NjMHdW5pMDQ2NAd1bmkwNDY1B3VuaTA0NjYHdW5pMDQ2Nwd1bmkwNDY4B3VuaTA0NjkHdW5pMDQ2QQd1bmkwNDZCB3VuaTA0NkMHdW5pMDQ2RAd1bmkwNDZFB3VuaTA0NkYHdW5pMDQ3Mgd1bmkwNDczB3VuaTA0NzQHdW5pMDQ3NQd1bmkwNDdBB3VuaTA0N0IHdW5pMDQ3Qwd1bmkwNDdEB3VuaTA0N0UHdW5pMDQ3Rgd1bmkwNDgwB3VuaTA0ODEHdW5pMDQ4Mgd1bmkwNDgzB3VuaTA0ODQHdW5pMDQ4NQd1bmkwNDg2B3VuaTA0ODgHdW5pMDQ4OQd1bmkwNDhEB3VuaTA0OEUHdW5pMDQ4Rgd1bmkwNDkwB3VuaTA0OTEHdW5pMDQ5NAd1bmkwNDk1B3VuaTA0OUMHdW5pMDQ5RAd1bmkwNEEwB3VuaTA0QTEHdW5pMDRBNAd1bmkwNEE1B3VuaTA0QTYHdW5pMDRBNwd1bmkwNEE4B3VuaTA0QTkHdW5pMDRCNAd1bmkwNEI1B3VuaTA0QjgHdW5pMDRCOQd1bmkwNEJBB3VuaTA0QkMHdW5pMDRCRAd1bmkwNEMzB3VuaTA0QzQHdW5pMDRDNwd1bmkwNEM4B3VuaTA0RDgHdW5pMDRFMAd1bmkwNEUxB3VuaTA0RkEHdW5pMDRGQgd1bmkwNTAwB3VuaTA1MDIHdW5pMDUwMwd1bmkwNTA0B3VuaTA1MDUHdW5pMDUwNgd1bmkwNTA3B3VuaTA1MDgHdW5pMDUwOQd1bmkwNTBBB3VuaTA1MEIHdW5pMDUwQwd1bmkwNTBEB3VuaTA1MEUHdW5pMDUwRgd1bmkwNTEwB3VuaTIwMDAHdW5pMjAwMQd1bmkyMDAyB3VuaTIwMDMHdW5pMjAwNAd1bmkyMDA1B3VuaTIwMDYHdW5pMjAwNwd1bmkyMDA4B3VuaTIwMDkHdW5pMjAwQQd1bmkyMDBCDXVuZGVyc2NvcmVkYmwNcXVvdGVyZXZlcnNlZAd1bmkyMDI1B3VuaTIwNzQJbnN1cGVyaW9yBGxpcmEGcGVzZXRhBEV1cm8HdW5pMjEwNQd1bmkyMTEzB3VuaTIxMTYJZXN0aW1hdGVkCW9uZWVpZ2h0aAx0aHJlZWVpZ2h0aHMLZml2ZWVpZ2h0aHMMc2V2ZW5laWdodGhzCmNvbG9uLmxudW0JcXVvdGVkYmx4C2NvbW1hYWNjZW50B3VuaUZFRkYHdW5pRkZGQwd1bmlGRkZECWZpdmUuc21jcAhmb3VyLnN1cAl6ZXJvLmxudW0ObGFyZ2VyaWdodGhvb2sMY3lyaWxsaWNob29rEGN5cmlsbGljaG9va2xlZnQLY3lyaWxsaWN0aWMOYnJldmV0aWxkZWNvbWINYnJldmVob29rY29tYg5icmV2ZWFjdXRlY29tYhNjaXJjdW1mbGV4dGlsZGVjb21iEmNpcmN1bWZsZXhob29rY29tYhNjaXJjdW1mbGV4Z3JhdmVjb21iE2NpcmN1bWZsZXhhY3V0ZWNvbWIOYnJldmVncmF2ZWNvbWIRY29tbWFhY2NlbnRyb3RhdGUGQS5zbWNwBkIuc21jcAZDLnNtY3AGRC5zbWNwBkUuc21jcAZGLnNtY3AGRy5zbWNwBkguc21jcAZJLnNtY3AGSi5zbWNwBksuc21jcAZMLnNtY3AGTS5zbWNwBk4uc21jcAZPLnNtY3AGUS5zbWNwBlIuc21jcAZTLnNtY3AGVC5zbWNwBlUuc21jcAZWLnNtY3AGVy5zbWNwBlguc21jcAZZLnNtY3AGWi5zbWNwCXplcm8uc21jcAhvbmUuc21jcAh0d28uc21jcAp0aHJlZS5zbWNwCWZvdXIuc21jcAh0d28ubG51bQhzaXguc21jcApzZXZlbi5zbWNwCmVpZ2h0LnNtY3AJbmluZS5zbWNwB29uZS5zdXAHdHdvLnN1cAl0aHJlZS5zdXAIb25lLmxudW0IZml2ZS5zdXAHc2l4LnN1cAlzZXZlbi5zdXAJZWlnaHQuc3VwCG5pbmUuc3VwCHplcm8uc3VwCGNyb3NzYmFyCXJpbmdhY3V0ZQlkYXNpYW94aWEKdGhyZWUubG51bQlmb3VyLmxudW0JZml2ZS5sbnVtCHNpeC5sbnVtBWcuYWx0CnNldmVuLmxudW0HY2hpLmFsdAplaWdodC5sbnVtCWFscGhhLmFsdAlkZWx0YS5hbHQERC5jbgRhLmNuBVIuYWx0BUsuYWx0BWsuYWx0BksuYWx0MgZrLmFsdDIJbmluZS5sbnVtBlAuc21jcA1jeXJpbGxpY2JyZXZlB3VuaTAwQUQGRGNyb2F0BGhiYXIEVGJhcgR0YmFyCkFyaW5nYWN1dGUKYXJpbmdhY3V0ZQdBbWFjcm9uB2FtYWNyb24GQWJyZXZlBmFicmV2ZQdBb2dvbmVrB2FvZ29uZWsLQ2NpcmN1bWZsZXgLY2NpcmN1bWZsZXgHdW5pMDEwQQd1bmkwMTBCBkRjYXJvbgZkY2Fyb24HRW1hY3JvbgdlbWFjcm9uBkVicmV2ZQZlYnJldmUKRWRvdGFjY2VudAplZG90YWNjZW50B0VvZ29uZWsHZW9nb25lawZFY2Fyb24GZWNhcm9uC0djaXJjdW1mbGV4C2djaXJjdW1mbGV4B3VuaTAxMjAHdW5pMDEyMQxHY29tbWFhY2NlbnQMZ2NvbW1hYWNjZW50C0hjaXJjdW1mbGV4C2hjaXJjdW1mbGV4Bkl0aWxkZQZpdGlsZGUHSW1hY3JvbgdpbWFjcm9uBklicmV2ZQZpYnJldmUHSW9nb25lawdpb2dvbmVrCklkb3RhY2NlbnQCSUoCaWoLSmNpcmN1bWZsZXgLamNpcmN1bWZsZXgMS2NvbW1hYWNjZW50DGtjb21tYWFjY2VudAZMYWN1dGUGbGFjdXRlDExjb21tYWFjY2VudAxsY29tbWFhY2NlbnQGTGNhcm9uBmxjYXJvbgRMZG90BGxkb3QGTmFjdXRlBm5hY3V0ZQxOY29tbWFhY2NlbnQMbmNvbW1hYWNjZW50Bk5jYXJvbgZuY2Fyb24LbmFwb3N0cm9waGUHT21hY3JvbgdvbWFjcm9uBk9icmV2ZQZvYnJldmUNT2h1bmdhcnVtbGF1dA1vaHVuZ2FydW1sYXV0BlJhY3V0ZQZyYWN1dGUMUmNvbW1hYWNjZW50DHJjb21tYWFjY2VudAZSY2Fyb24GcmNhcm9uBlNhY3V0ZQZzYWN1dGULU2NpcmN1bWZsZXgLc2NpcmN1bWZsZXgHdW5pMDIxOAd1bmkwMjE5B3VuaTAyMUEHdW5pMDIxQgd1bmkwMTYyB3VuaTAxNjMGVGNhcm9uBnRjYXJvbgZVdGlsZGUGdXRpbGRlB1VtYWNyb24HdW1hY3JvbgZVYnJldmUGdWJyZXZlBVVyaW5nBXVyaW5nDVVodW5nYXJ1bWxhdXQNdWh1bmdhcnVtbGF1dAdVb2dvbmVrB3VvZ29uZWsLV2NpcmN1bWZsZXgLd2NpcmN1bWZsZXgLWWNpcmN1bWZsZXgLeWNpcmN1bWZsZXgGWmFjdXRlBnphY3V0ZQpaZG90YWNjZW50Cnpkb3RhY2NlbnQHQUVhY3V0ZQdhZWFjdXRlC09zbGFzaGFjdXRlC29zbGFzaGFjdXRlC0Rjcm9hdC5zbWNwCEV0aC5zbWNwCVRiYXIuc21jcAtBZ3JhdmUuc21jcAtBYWN1dGUuc21jcBBBY2lyY3VtZmxleC5zbWNwC0F0aWxkZS5zbWNwDkFkaWVyZXNpcy5zbWNwCkFyaW5nLnNtY3APQXJpbmdhY3V0ZS5zbWNwDUNjZWRpbGxhLnNtY3ALRWdyYXZlLnNtY3ALRWFjdXRlLnNtY3AQRWNpcmN1bWZsZXguc21jcA5FZGllcmVzaXMuc21jcAtJZ3JhdmUuc21jcAtJYWN1dGUuc21jcBBJY2lyY3VtZmxleC5zbWNwDklkaWVyZXNpcy5zbWNwC050aWxkZS5zbWNwC09ncmF2ZS5zbWNwC09hY3V0ZS5zbWNwEE9jaXJjdW1mbGV4LnNtY3ALT3RpbGRlLnNtY3AOT2RpZXJlc2lzLnNtY3ALVWdyYXZlLnNtY3ALVWFjdXRlLnNtY3AQVWNpcmN1bWZsZXguc21jcA5VZGllcmVzaXMuc21jcAtZYWN1dGUuc21jcAxBbWFjcm9uLnNtY3ALQWJyZXZlLnNtY3AMQW9nb25lay5zbWNwC0NhY3V0ZS5zbWNwEENjaXJjdW1mbGV4LnNtY3AMdW5pMDEwQS5zbWNwC0NjYXJvbi5zbWNwC0RjYXJvbi5zbWNwDEVtYWNyb24uc21jcAtFYnJldmUuc21jcA9FZG90YWNjZW50LnNtY3AMRW9nb25lay5zbWNwC0VjYXJvbi5zbWNwEEdjaXJjdW1mbGV4LnNtY3ALR2JyZXZlLnNtY3AMdW5pMDEyMC5zbWNwEUdjb21tYWFjY2VudC5zbWNwEEhjaXJjdW1mbGV4LnNtY3ALSXRpbGRlLnNtY3AMSW1hY3Jvbi5zbWNwC0licmV2ZS5zbWNwDElvZ29uZWsuc21jcA9JZG90YWNjZW50LnNtY3AQSmNpcmN1bWZsZXguc21jcBFLY29tbWFhY2NlbnQuc21jcAtMYWN1dGUuc21jcBFMY29tbWFhY2NlbnQuc21jcAtMY2Fyb24uc21jcAlMZG90LnNtY3ALTmFjdXRlLnNtY3ARTmNvbW1hYWNjZW50LnNtY3ALTmNhcm9uLnNtY3AMT21hY3Jvbi5zbWNwC09icmV2ZS5zbWNwEk9odW5nYXJ1bWxhdXQuc21jcAtSYWN1dGUuc21jcBFSY29tbWFhY2NlbnQuc21jcAtSY2Fyb24uc21jcAtTYWN1dGUuc21jcBBTY2lyY3VtZmxleC5zbWNwDVNjZWRpbGxhLnNtY3ALU2Nhcm9uLnNtY3ARVGNvbW1hYWNjZW50LnNtY3ALVGNhcm9uLnNtY3ALVXRpbGRlLnNtY3AMVW1hY3Jvbi5zbWNwC1VicmV2ZS5zbWNwClVyaW5nLnNtY3ASVWh1bmdhcnVtbGF1dC5zbWNwDFVvZ29uZWsuc21jcBBXY2lyY3VtZmxleC5zbWNwEFljaXJjdW1mbGV4LnNtY3AOWWRpZXJlc2lzLnNtY3ALWmFjdXRlLnNtY3APWmRvdGFjY2VudC5zbWNwC1pjYXJvbi5zbWNwD2dlcm1hbmRibHMuc21jcApBbHBoYXRvbm9zDEVwc2lsb250b25vcwhFdGF0b25vcwlJb3RhdG9ub3MMT21pY3JvbnRvbm9zDFVwc2lsb250b25vcwpPbWVnYXRvbm9zEWlvdGFkaWVyZXNpc3Rvbm9zBUFscGhhBEJldGEHRXBzaWxvbgRaZXRhA0V0YQRJb3RhBUthcHBhAk11Ak51B09taWNyb24DUmhvA1RhdQdVcHNpbG9uA0NoaQxJb3RhZGllcmVzaXMPVXBzaWxvbmRpZXJlc2lzCmFscGhhdG9ub3MMZXBzaWxvbnRvbm9zCGV0YXRvbm9zCWlvdGF0b25vcxR1cHNpbG9uZGllcmVzaXN0b25vcwVrYXBwYQdvbWljcm9uB3VuaTAzQkMCbnUDY2hpDGlvdGFkaWVyZXNpcw91cHNpbG9uZGllcmVzaXMMb21pY3JvbnRvbm9zDHVwc2lsb250b25vcwpvbWVnYXRvbm9zB3VuaTA0MDEHdW5pMDQwMwd1bmkwNDA1B3VuaTA0MDYHdW5pMDQwNwd1bmkwNDA4B3VuaTA0MUEHdW5pMDQwQwd1bmkwNDBFB3VuaTA0MTAHdW5pMDQxMgd1bmkwNDEzB3VuaTA0MTUHdW5pMDQxOQd1bmkwNDFDB3VuaTA0MUQHdW5pMDQxRQd1bmkwNDFGB3VuaTA0MjAHdW5pMDQyMQd1bmkwNDIyB3VuaTA0MjUHdW5pMDQzMAd1bmkwNDM1B3VuaTA0MzkHdW5pMDQzRQd1bmkwNDQwB3VuaTA0NDEHdW5pMDQ0Mwd1bmkwNDQ1B3VuaTA0NTEHdW5pMDQ1Mwd1bmkwNDU1B3VuaTA0NTYHdW5pMDQ1Nwd1bmkwNDU4B3VuaTA0NUMHdW5pMDQ1RQZXZ3JhdmUGd2dyYXZlBldhY3V0ZQZ3YWN1dGUJV2RpZXJlc2lzCXdkaWVyZXNpcwZZZ3JhdmUGeWdyYXZlBm1pbnV0ZQZzZWNvbmQJZXhjbGFtZGJsB3VuaUZCMDIHdW5pMDFGMAd1bmkwMkJDB3VuaTFFM0UHdW5pMUUzRgd1bmkxRTAwB3VuaTFFMDEHdW5pMUY0RAd1bmlGQjAzB3VuaUZCMDQHdW5pMDQwMAd1bmkwNDBEB3VuaTA0NTAHdW5pMDQ1RAd1bmkwNDcwB3VuaTA0NzEHdW5pMDQ3Ngd1bmkwNDc3B3VuaTA0NzkHdW5pMDQ3OAd1bmkwNDk4B3VuaTA0OTkHdW5pMDRBQQd1bmkwNEFCB3VuaTA0QUUHdW5pMDRBRgd1bmkwNEMwB3VuaTA0QzEHdW5pMDRDMgd1bmkwNENGB3VuaTA0RDAHdW5pMDREMQd1bmkwNEQyB3VuaTA0RDMHdW5pMDRENAd1bmkwNEQ1B3VuaTA0RDYHdW5pMDRENwd1bmkwNERBB3VuaTA0RDkHdW5pMDREQgd1bmkwNERDB3VuaTA0REQHdW5pMDRERQd1bmkwNERGB3VuaTA0RTIHdW5pMDRFMwd1bmkwNEU0B3VuaTA0RTUHdW5pMDRFNgd1bmkwNEU3B3VuaTA0RTgHdW5pMDRFOQd1bmkwNEVBB3VuaTA0RUIHdW5pMDRFQwd1bmkwNEVEB3VuaTA0RUUHdW5pMDRFRgd1bmkwNEYwB3VuaTA0RjEHdW5pMDRGMgd1bmkwNEYzB3VuaTA0RjQHdW5pMDRGNQd1bmkwNEY4B3VuaTA0RjkHdW5pMDRGQwd1bmkwNEZEB3VuaTA1MDEHdW5pMDUxMgd1bmkwNTEzB3VuaTFFQTAHdW5pMUVBMQd1bmkxRUEyB3VuaTFFQTMHdW5pMUVBNAd1bmkxRUE1B3VuaTFFQTYHdW5pMUVBNwd1bmkxRUE4B3VuaTFFQTkHdW5pMUVBQQd1bmkxRUFCB3VuaTFFQUMHdW5pMUVBRAd1bmkxRUFFB3VuaTFFQUYHdW5pMUVCMAd1bmkxRUIxB3VuaTFFQjIHdW5pMUVCMwd1bmkxRUI0B3VuaTFFQjUHdW5pMUVCNgd1bmkxRUI3B3VuaTFFQjgHdW5pMUVCOQd1bmkxRUJBB3VuaTFFQkIHdW5pMUVCQwd1bmkxRUJEB3VuaTFFQkUHdW5pMUVCRgd1bmkxRUMwB3VuaTFFQzEHdW5pMUVDMgd1bmkxRUMzB3VuaTFFQzQHdW5pMUVDNQd1bmkxRUM2B3VuaTFFQzcHdW5pMUVDOAd1bmkxRUM5B3VuaTFFQ0EHdW5pMUVDQgd1bmkxRUNDB3VuaTFFQ0QHdW5pMUVDRQd1bmkxRUNGB3VuaTFFRDAHdW5pMUVEMQd1bmkxRUQyB3VuaTFFRDMHdW5pMUVENAd1bmkxRUQ1B3VuaTFFRDYHdW5pMUVENwd1bmkxRUQ4B3VuaTFFRDkHdW5pMUVEQQd1bmkxRURCB3VuaTFFREMHdW5pMUVERAd1bmkxRURFB3VuaTFFREYHdW5pMUVFMAd1bmkxRUUxB3VuaTFFRTIHdW5pMUVFMwd1bmkxRUU0B3VuaTFFRTUHdW5pMUVFNgd1bmkxRUU3B3VuaTFFRTgHdW5pMUVFOQd1bmkxRUVBB3VuaTFFRUIHdW5pMUVFQwd1bmkxRUVEB3VuaTFFRUUHdW5pMUVFRgd1bmkx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AAwA4f/UAPH/yQD5/9EBBP/lARv/4wEv/8QBOP/hAUn/1AFK//UBS//nAVP/ZAFU/8kACgDh/8EA8f/NAPn/0gEv/8wBOP/lATv/3wFJ/84BS//qAVP/ngFU/84ACgDh/8IA8f/GAPn/zwEv/8ABOP/hATv/3wFJ/80BS//oAVP/nwFU/8YACQDh/8kA8f/fAPn/4QEE/+0BG//rAS//3wE7/+kBSv/1AVT/4AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACQDh/+YA8f/QAPn/1gEv/84BOP/oAUn/5wFL/+0BU//mAVT/0AALANQAFADh/+AA6AATATj/4QE5/+ABPP/hAUH/6QFJ/98BS//eAVP/3wFV//IAGACz/9QAvf/tAL8AEQDF/+AAx//nAMj/5QDJ/+4A1AASAOX/6QDx/9cBL//XATn/0wE7/9YBPP/FAUH/5wFJAA0BSwAMAVT/1gFV//IBqP/pAaz/5wG0/+cBtf/pAd//8AAFABn/8gDh//EBSf/yAUv/8gFT//IACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AASANT/rgDhABIA5v/gAOj/rQDq/9YA+P/fAPz/0gEC/+ABF//OASf/3QEp/+IBLf/gATP/4AE5/+kBPP/aAUb/vQFQ/98BUwARAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QADQDUABMA4f/mAOL/9ADoABIA8f/nAPn/5wEv/+cBOP/lATn/6AFJ/+YBS//mAVP/5gFU/+cACgDh/8QA8f/NAPn/1QEv/8wBOP/mATv/3wFJ/9EBS//sAVP/oQFU/88ACgDh/8MA8f/PAPn/1AEv/84BOP/nATv/3wFJ/9EBS//sAVP/oAFU/9EAAgDU/+IBU//kAAIA1P/hAOj/5AAHAOj/7gDx/+4A+f/vAQT/9AEb//EBL//vAVT/7wAFAPH/9AD5//QBBP/1AS//9QFU//UAAgDo/2gBF//uAAcA6AAUAPH/7QD3/9AA+f/uAS//7QE5/+0BVP/tAAEBF//xAAUBF//rAaj/6wGs/+kBtP/rAbX/6wAT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//AACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGm/+0BvP/1AAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAab/7QG8//UACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABpv/tAbz/9QAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGm/+0BvP/1AAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAab/7QG8//UAAQGm/+sAAQGm/+sAAQGm/+sAAQGm/+sAJAAI/+IACwAUAAz/zwA/ABIASP/qAFT/2ABW/+oAXwATAGv/rgB6/80Af/+gAIT/wQCH/8AAs//QALf/6gC6/8YAuwANAL3/6QC+/9YAwf/oAML/ugDF/+kAx//LAMj/2gDJ/8cBbv/TAab/qwGo/80BrP/LAbT/ywG1/8sBuP/zAbv/8wG8/+8B3P/AAd//7gAIAPH/8AD5//ABBP/xARv/8wEv//EBSv/zAUz/8wFU//EACADx//AA+f/wAQT/8QEb//MBL//xAUr/8wFM//MBVP/xAAgA8f/wAPn/8AEE//EBG//zAS//8QFK//MBTP/zAVT/8QAIAPH/8AD5//ABBP/xARv/8wEv//EBSv/zAUz/8wFU//EACADx//AA+f/wAQT/8QEb//MBL//xAUr/8wFM//MBVP/xAAgA8f/wAPn/8AEE//EBG//zAS//8QFK//MBTP/zAVT/8QAIAPH/8AD5//ABBP/xARv/8wEv//EBSv/zAUz/8wFU//EAAQDx//UAAQDx//UAAQDx//UAAQDx//UAAQDx/9YACQDF/+oA6P+4APH/4gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAMX/6gDo/7gA8f/iAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAkAxf/qAOj/uADx/+IBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oACQDF/+oA6P+4APH/4gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAMX/6gDo/7gA8f/iAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAcASAANAMEACwDC/+oAxQAMAOj/yAEX//EB3//1AAcASAANAMEACwDC/+oAxQAMAOj/yAEX//EB3//1AB0AIf+vAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygD5/9ABL/+BATj/ZQE5/4UBO/9mATz/3QFB//IBSf+xAUv/ygFT/6kBVP/IAaz/9QG0//UBuP/HAbn/8QG6/80Bu//dAb3/xAAIAPH/8AD5//ABBP/xARv/8wEv//EBSv/zAUz/8wFU//EAHQAh/68AVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAPn/0AEv/4EBOP9lATn/hQE7/2YBPP/dAUH/8gFJ/7EBS//KAVP/qQFU/8gBrP/1AbT/9QG4/8cBuf/xAbr/zQG7/90Bvf/EAAgA8f/wAPn/8AEE//EBG//zAS//8QFK//MBTP/zAVT/8QAdACH/rwBW/+8AWf/fAJb/7gCz/+UAtP/RAL8AEQDF/8gA1AATAOH/xQDx/8oA+f/QAS//gQE4/2UBOf+FATv/ZgE8/90BQf/yAUn/sQFL/8oBU/+pAVT/yAGs//UBtP/1Abj/xwG5//EBuv/NAbv/3QG9/8QACADx//AA+f/wAQT/8QEb//MBL//xAUr/8wFM//MBVP/xAAQAC//mAD//9ABf/+8BPP/tAAQAC//mAD//9ABf/+8BPP/tAAQAC//mAD//9ABf/+8BPP/tAAQAC//mAD//9ABf/+8BPP/tAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAab/7QG8//UABQBI/+4AWf/qAbr/8AG7/+0Bvf/wAAEA8f/1AAUASP/uAFn/6gG6//ABu//tAb3/8AABAPH/9QAFAEj/7gBZ/+oBuv/wAbv/7QG9//AAAQDx//UABQBI/+4AWf/qAbr/8AG7/+0Bvf/wAAEA8f/1AAUASP/uAFn/6gG6//ABu//tAb3/8AABAPH/9QAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QAAQDx/9YACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AABAab/6wAUAFn/wQCz/8UAxf+0AOX/1wDx/7kA+f/pAQT/sgEX/9IBG//IAS//oAE5/8UBQf/kAUr/zAFM/8wBVP/LAVX/7wGo/+gBrP/mAbT/5wG1/+cACwBZ/8wBpgATAaj/8wGs//EBtP/yAbX/8gG4/70Buf/uAbr/uAG7/9cBvf+3AAsAWf/MAaYAEwGo//MBrP/xAbT/8gG1//IBuP+9Abn/7gG6/7gBu//XAb3/twALAFn/zAGmABMBqP/zAaz/8QG0//IBtf/yAbj/vQG5/+4Buv+4Abv/1wG9/7cACwBZ/8wBpgATAaj/8wGs//EBtP/yAbX/8gG4/70Buf/uAbr/uAG7/9cBvf+3AAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AABAPH/1gAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QAAQDx/9YACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAEA8f/WAAEA8f/WAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAab/7QG8//UACQDF/+oA6P+4APH/4gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGm/+0BvP/1AAkAxf/qAOj/uADx/+IBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABpv/tAbz/9QAJAMX/6gDo/7gA8f/iAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAMASAAUAFYAGABZABEAAwBIABQAVgAYAFkAEQADAEgAFABWABgAWQARADsAVP+/AFn/0QBr/2wAev9uAH//QwCE/6wAh/+hALP/uAC6/34Avv97AMH/mwDC/3kAxf+yAMf/fgDI/30Ayf98ANT/rwDhAA8A5f/kAOb/oADo/3QA6v+AAPH/sgD4/30A+f+yAPr/gAD8/3kA/QAoAQL/fQEE/38BF/9mARv/2gEn/4EBKf+YAS3/fQEv/7MBM/+gATn/fAE7/5oBPP9sAUH/5gFG/2sBSv+SAUz/rQFQ/3sBUwAPAVT/kQFV//IBpv+vAaj/uQGs/7kBtP+5AbX/uQG3/7wBuP/xAbv/8QG8/+0B3P+zAd//8QA7AFT/vwBZ/9EAa/9sAHr/bgB//0MAhP+sAIf/oQCz/7gAuv9+AL7/ewDB/5sAwv95AMX/sgDH/34AyP99AMn/fADU/68A4QAPAOX/5ADm/6AA6P90AOr/gADx/7IA+P99APn/sgD6/4AA/P95AP0AKAEC/30BBP9/ARf/ZgEb/9oBJ/+BASn/mAEt/30BL/+zATP/oAE5/3wBO/+aATz/bAFB/+YBRv9rAUr/kgFM/60BUP97AVMADwFU/5EBVf/yAab/rwGo/7kBrP+5AbT/uQG1/7kBt/+8Abj/8QG7//EBvP/tAdz/swHf//EAOwBU/78AWf/RAGv/bAB6/24Af/9DAIT/rACH/6EAs/+4ALr/fgC+/3sAwf+bAML/eQDF/7IAx/9+AMj/fQDJ/3wA1P+vAOEADwDl/+QA5v+gAOj/dADq/4AA8f+yAPj/fQD5/7IA+v+AAPz/eQD9ACgBAv99AQT/fwEX/2YBG//aASf/gQEp/5gBLf99AS//swEz/6ABOf98ATv/mgE8/2wBQf/mAUb/awFK/5IBTP+tAVD/ewFTAA8BVP+RAVX/8gGm/68BqP+5Aaz/uQG0/7kBtf+5Abf/vAG4//EBu//xAbz/7QHc/7MB3//xAAEBpv/rAAEBpv/rAAEBpv/rAAEBpv/rAAEBpv/rAAEBpv/rAAkACwAPAD8ADABU/+sAXwAOAab/ywGo/+kBrP/nAbT/5wG1/+cAJAAI/+IACwAUAAz/zwA/ABIASP/qAFT/2ABW/+oAXwATAGv/rgB6/80Af/+gAIT/wQCH/8AAs//QALf/6gC6/8YAuwANAL3/6QC+/9YAwf/oAML/ugDF/+kAx//LAMj/2gDJ/8cBbv/TAab/qwGo/80BrP/LAbT/ywG1/8sBuP/zAbv/8wG8/+8B3P/AAd//7gAHAEgADQDBAAsAwv/qAMUADADo/8gBF//xAd//9QAkAAj/4gALABQADP/PAD8AEgBI/+oAVP/YAFb/6gBfABMAa/+uAHr/zQB//6AAhP/BAIf/wACz/9AAt//qALr/xgC7AA0Avf/pAL7/1gDB/+gAwv+6AMX/6QDH/8sAyP/aAMn/xwFu/9MBpv+rAaj/zQGs/8sBtP/LAbX/ywG4//MBu//zAbz/7wHc/8AB3//uAAgAWf/lALP/ywDI/+QBpgANAaj/7QGs/+sBtP/sAbX/7AAIAFn/5QCz/8sAyP/kAaYADQGo/+0BrP/rAbT/7AG1/+wACABZ/+UAs//LAMj/5AGmAA0BqP/tAaz/6wG0/+wBtf/sAB0AIf+vAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygD5/9ABL/+BATj/ZQE5/4UBO/9mATz/3QFB//IBSf+xAUv/ygFT/6kBVP/IAaz/9QG0//UBuP/HAbn/8QG6/80Bu//dAb3/xAAFAEj/7gBZ/+oBuv/wAbv/7QG9//AACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGm/+0BvP/1ACQACP/iAAsAFAAM/88APwASAEj/6gBU/9gAVv/qAF8AEwBr/64Aev/NAH//oACE/8EAh//AALP/0AC3/+oAuv/GALsADQC9/+kAvv/WAMH/6ADC/7oAxf/pAMf/ywDI/9oAyf/HAW7/0wGm/6sBqP/NAaz/ywG0/8sBtf/LAbj/8wG7//MBvP/vAdz/wAHf/+4AHQAh/68AVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAPn/0AEv/4EBOP9lATn/hQE7/2YBPP/dAUH/8gFJ/7EBS//KAVP/qQFU/8gBrP/1AbT/9QG4/8cBuf/xAbr/zQG7/90Bvf/EAAIBDAALAVP/5gAFAEj/7gBZ/+oBuv/wAbv/7QG9//AACABZ/+UAs//LAMj/5AGmAA0BqP/tAaz/6wG0/+wBtf/sAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QAFABZ/8EAs//FAMX/tADl/9cA8f+5APn/6QEE/7IBF//SARv/yAEv/6ABOf/FAUH/5AFK/8wBTP/MAVT/ywFV/+8BqP/oAaz/5gG0/+cBtf/nAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABpv/tAbz/9QAJAFYADgB//tcAv/+YAML/xwDU/xIA6P9SAUb/zwGm/4AB3//XADsAVP+/AFn/0QBr/2wAev9uAH//QwCE/6wAh/+hALP/uAC6/34Avv97AMH/mwDC/3kAxf+yAMf/fgDI/30Ayf98ANT/rwDhAA8A5f/kAOb/oADo/3QA6v+AAPH/sgD4/30A+f+yAPr/gAD8/3kA/QAoAQL/fQEE/38BF/9mARv/2gEn/4EBKf+YAS3/fQEv/7MBM/+gATn/fAE7/5oBPP9sAUH/5gFG/2sBSv+SAUz/rQFQ/3sBUwAPAVT/kQFV//IBpv+vAaj/uQGs/7kBtP+5AbX/uQG3/7wBuP/xAbv/8QG8/+0B3P+zAd//8QAkAAj/4gALABQADP/PAD8AEgBI/+oAVP/YAFb/6gBfABMAa/+uAHr/zQB//6AAhP/BAIf/wACz/9AAt//qALr/xgC7AA0Avf/pAL7/1gDB/+gAwv+6AMX/6QDH/8sAyP/aAMn/xwFu/9MBpv+rAaj/zQGs/8sBtP/LAbX/ywG4//MBu//zAbz/7wHc/8AB3//uABgAs//UAL3/7QC/ABEAxf/gAMf/5wDI/+UAyf/uANQAEgDl/+kA8f/XAS//1wE5/9MBO//WATz/xQFB/+cBSQANAUsADAFU/9YBVf/yAaj/6QGs/+cBtP/nAbX/6QHf//AACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kACQACP/iAAsAFAAM/88APwASAEj/6gBU/9gAVv/qAF8AEwBr/64Aev/NAH//oACE/8EAh//AALP/0AC3/+oAuv/GALsADQC9/+kAvv/WAMH/6ADC/7oAxf/pAMf/ywDI/9oAyf/HAW7/0wGm/6sBqP/NAaz/ywG0/8sBtf/LAbj/8wG7//MBvP/vAdz/wAHf/+4AAQDx/9YACQDF/+oA6P+4APH/4gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAHAEgADQDBAAsAwv/qAMUADADo/8gBF//xAd//9QAJAMX/6gDo/7gA8f/iAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAUASP/uAFn/6gG6//ABu//tAb3/8AAyAFT/fgBZ/50Aa/7xAHr+9AB//qsAhP9eAIf/SwCz/3IAuv8PAL7/CgDB/0EAwv8HAMX/aADH/w8AyP8OAMn/DADU/2MA4QAFAOX/vQDm/0kA6P7+AOr/EwDx/2gA+P8OAPn/aAD6/xMA/P8HAP0AMAEC/w4BBP8RARf+5wEb/6wBJ/8VASn/PAEt/w4BL/9qATP/SQE5/wwBO/8/ATz+8QFB/8ABRv7vAUr/MQFM/18BUP8KAVMABQFU/zABVf/VAdz/agHf/9MACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AABAab/6wAUAFn/wQCz/8UAxf+0AOX/1wDx/7kA+f/pAQT/sgEX/9IBG//IAS//oAE5/8UBQf/kAUr/zAFM/8wBVP/LAVX/7wGo/+gBrP/mAbT/5wG1/+cAFABZ/8EAs//FAMX/tADl/9cA8f+5APn/6QEE/7IBF//SARv/yAEv/6ABOf/FAUH/5AFK/8wBTP/MAVT/ywFV/+8BqP/oAaz/5gG0/+cBtf/nABIA1P+uAOEAEgDm/+AA6P+tAOr/1gD4/98A/P/SAQL/4AEX/84BJ//dASn/4gEt/+ABM//gATn/6QE8/9oBRv+9AVD/3wFTABEAHQAh/68AVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAPn/0AEv/4EBOP9lATn/hQE7/2YBPP/dAUH/8gFJ/7EBS//KAVP/qQFU/8gBrP/1AbT/9QG4/8cBuf/xAbr/zQG7/90Bvf/EAAIBDAALAVP/5gAyAFT/fgBZ/50Aa/7xAHr+9AB//qsAhP9eAIf/SwCz/3IAuv8PAL7/CgDB/0EAwv8HAMX/aADH/w8AyP8OAMn/DADU/2MA4QAFAOX/vQDm/0kA6P7+AOr/EwDx/2gA+P8OAPn/aAD6/xMA/P8HAP0AMAEC/w4BBP8RARf+5wEb/6wBJ/8VASn/PAEt/w4BL/9qATP/SQE5/wwBO/8/ATz+8QFB/8ABRv7vAUr/MQFM/18BUP8KAVMABQFU/zABVf/VAdz/agHf/9MABQBI/+4AWf/qAbr/8AG7/+0Bvf/wAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABpv/tAbz/9QAJAFYADgB//tcAv/+YAML/xwDU/xIA6P9SAUb/zwGm/4AB3//XAAQAC//mAD//9ABf/+8BPP/tADsAVP+/AFn/0QBr/2wAev9uAH//QwCE/6wAh/+hALP/uAC6/34Avv97AMH/mwDC/3kAxf+yAMf/fgDI/30Ayf98ANT/rwDhAA8A5f/kAOb/oADo/3QA6v+AAPH/sgD4/30A+f+yAPr/gAD8/3kA/QAoAQL/fQEE/38BF/9mARv/2gEn/4EBKf+YAS3/fQEv/7MBM/+gATn/fAE7/5oBPP9sAUH/5gFG/2sBSv+SAUz/rQFQ/3sBUwAPAVT/kQFV//IBpv+vAaj/uQGs/7kBtP+5AbX/uQG3/7wBuP/xAbv/8QG8/+0B3P+zAd//8QAYALP/1AC9/+0AvwARAMX/4ADH/+cAyP/lAMn/7gDUABIA5f/pAPH/1wEv/9cBOf/TATv/1gE8/8UBQf/nAUkADQFLAAwBVP/WAVX/8gGo/+kBrP/nAbT/5wG1/+kB3//wAAgA8f/wAPn/8AEE//EBG//zAS//8QFK//MBTP/zAVT/8QABAPH/9QAJAMX/6gDo/7gA8f/iAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAcAxf/qAOj/7gDx/9YA+f/tAS//7AFU/+wB3P/oAAcASAANAMEACwDC/+oAxQAMAOj/yAEX//EB3//1AAEBF//xAAEA8f/1AAIA6P9oARf/7gAHAEgADQDBAAsAwv/qAMUADADo/8gBF//xAd//9QAJAAsADwA/AAwAVP/rAF8ADgGm/8sBqP/pAaz/5wG0/+cBtf/nAAkACwAPAD8ADABU/+sAXwAOAab/ywGo/+kBrP/nAbT/5wG1/+cACQALAA8APwAMAFT/6wBfAA4Bpv/LAaj/6QGs/+cBtP/nAbX/5wAkAAj/4gALABQADP/PAD8AEgBI/+oAVP/YAFb/6gBfABMAa/+uAHr/zQB//6AAhP/BAIf/wACz/9AAt//qALr/xgC7AA0Avf/pAL7/1gDB/+gAwv+6AMX/6QDH/8sAyP/aAMn/xwFu/9MBpv+rAaj/zQGs/8sBtP/LAbX/ywG4//MBu//zAbz/7wHc/8AB3//uAAcASAANAMEACwDC/+oAxQAMAOj/yAEX//EB3//1AAEAWQALAAEAWQALAAEAWQALAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AABAPH/1gAdACH/rwBW/+8AWf/fAJb/7gCz/+UAtP/RAL8AEQDF/8gA1AATAOH/xQDx/8oA+f/QAS//gQE4/2UBOf+FATv/ZgE8/90BQf/yAUn/sQFL/8oBU/+pAVT/yAGs//UBtP/1Abj/xwG5//EBuv/NAbv/3QG9/8QACADx//AA+f/wAQT/8QEb//MBL//xAUr/8wFM//MBVP/xAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAab/7QG8//UABQBI/+4AWf/qAbr/8AG7/+0Bvf/wAAEA8f/1AAkACwAUAD8AEQBU/+IAXwATAab/tAGo/9kBrP/ZAbT/2QG1/9kABwBIAA0AwQALAML/6gDFAAwA6P/IARf/8QHf//UABAAL/+YAP//0AF//7wE8/+0AJAAI/+IACwAUAAz/zwA/ABIASP/qAFT/2ABW/+oAXwATAGv/rgB6/80Af/+gAIT/wQCH/8AAs//QALf/6gC6/8YAuwANAL3/6QC+/9YAwf/oAML/ugDF/+kAx//LAMj/2gDJ/8cBbv/TAab/qwGo/80BrP/LAbT/ywG1/8sBuP/zAbv/8wG8/+8B3P/AAd//7gAHAEgADQDBAAsAwv/qAMUADADo/8gBF//xAd//9QAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QAGACz/9QAvf/tAL8AEQDF/+AAx//nAMj/5QDJ/+4A1AASAOX/6QDx/9cBL//XATn/0wE7/9YBPP/FAUH/5wFJAA0BSwAMAVT/1gFV//IBqP/pAaz/5wG0/+cBtf/pAd//8AABARf/8QAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QAHQAh/68AVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAPn/0AEv/4EBOP9lATn/hQE7/2YBPP/dAUH/8gFJ/7EBS//KAVP/qQFU/8gBrP/1AbT/9QG4/8cBuf/xAbr/zQG7/90Bvf/EAAgA8f/wAPn/8AEE//EBG//zAS//8QFK//MBTP/zAVT/8QAdACH/rwBW/+8AWf/fAJb/7gCz/+UAtP/RAL8AEQDF/8gA1AATAOH/xQDx/8oA+f/QAS//gQE4/2UBOf+FATv/ZgE8/90BQf/yAUn/sQFL/8oBU/+pAVT/yAGs//UBtP/1Abj/xwG5//EBuv/NAbv/3QG9/8QACADx//AA+f/wAQT/8QEb//MBL//xAUr/8wFM//MBVP/xAAUASP/uAFn/6gG6//ABu//tAb3/8AABAPH/9QABAPH/9QABAPH/9QAYALP/1AC9/+0AvwARAMX/4ADH/+cAyP/lAMn/7gDUABIA5f/pAPH/1wEv/9cBOf/TATv/1gE8/8UBQf/nAUkADQFLAAwBVP/WAVX/8gGo/+kBrP/nAbT/5wG1/+kB3//wAAEBF//xAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAab/7QG8//UACQDF/+oA6P+4APH/4gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAMX/6gDo/7gA8f/iAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAcAxf/qAOj/7gDx/9YA+f/tAS//7AFU/+wB3P/oABIA1P+uAOEAEgDm/+AA6P+tAOr/1gD4/98A/P/SAQL/4AEX/84BJ//dASn/4gEt/+ABM//gATn/6QE8/9oBRv+9AVD/3wFTABEABwBIAA0AwQALAML/6gDFAAwA6P/IARf/8QHf//UAEgDU/64A4QASAOb/4ADo/60A6v/WAPj/3wD8/9IBAv/gARf/zgEn/90BKf/iAS3/4AEz/+ABOf/pATz/2gFG/70BUP/fAVMAEQAHAEgADQDBAAsAwv/qAMUADADo/8gBF//xAd//9QASANT/rgDhABIA5v/gAOj/rQDq/9YA+P/fAPz/0gEC/+ABF//OASf/3QEp/+IBLf/gATP/4AE5/+kBPP/aAUb/vQFQ/98BUwARAAcASAANAMEACwDC/+oAxQAMAOj/yAEX//EB3//1ABgAs//UAL3/7QC/ABEAxf/gAMf/5wDI/+UAyf/uANQAEgDl/+kA8f/XAS//1wE5/9MBO//WATz/xQFB/+cBSQANAUsADAFU/9YBVf/yAaj/6QGs/+cBtP/nAbX/6QHf//AAAQEX//EAHQAh/68AVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAPn/0AEv/4EBOP9lATn/hQE7/2YBPP/dAUH/8gFJ/7EBS//KAVP/qQFU/8gBrP/1AbT/9QG4/8cBuf/xAbr/zQG7/90Bvf/EAAgA8f/wAPn/8AEE//EBG//zAS//8QFK//MBTP/zAVT/8QAdACH/rwBW/+8AWf/fAJb/7gCz/+UAtP/RAL8AEQDF/8gA1AATAOH/xQDx/8oA+f/QAS//gQE4/2UBOf+FATv/ZgE8/90BQf/yAUn/sQFL/8oBU/+pAVT/yAGs//UBtP/1Abj/xwG5//EBuv/NAbv/3QG9/8QACADx//AA+f/wAQT/8QEb//MBL//xAUr/8wFM//MBVP/xAB0AIf+vAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygD5/9ABL/+BATj/ZQE5/4UBO/9mATz/3QFB//IBSf+xAUv/ygFT/6kBVP/IAaz/9QG0//UBuP/HAbn/8QG6/80Bu//dAb3/xAAIAPH/8AD5//ABBP/xARv/8wEv//EBSv/zAUz/8wFU//EAHQAh/68AVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAPn/0AEv/4EBOP9lATn/hQE7/2YBPP/dAUH/8gFJ/7EBS//KAVP/qQFU/8gBrP/1AbT/9QG4/8cBuf/xAbr/zQG7/90Bvf/EAAgA8f/wAPn/8AEE//EBG//zAS//8QFK//MBTP/zAVT/8QAdACH/rwBW/+8AWf/fAJb/7gCz/+UAtP/RAL8AEQDF/8gA1AATAOH/xQDx/8oA+f/QAS//gQE4/2UBOf+FATv/ZgE8/90BQf/yAUn/sQFL/8oBU/+pAVT/yAGs//UBtP/1Abj/xwG5//EBuv/NAbv/3QG9/8QACADx//AA+f/wAQT/8QEb//MBL//xAUr/8wFM//MBVP/xAB0AIf+vAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygD5/9ABL/+BATj/ZQE5/4UBO/9mATz/3QFB//IBSf+xAUv/ygFT/6kBVP/IAaz/9QG0//UBuP/HAbn/8QG6/80Bu//dAb3/xAAIAPH/8AD5//ABBP/xARv/8wEv//EBSv/zAUz/8wFU//EAHQAh/68AVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAPn/0AEv/4EBOP9lATn/hQE7/2YBPP/dAUH/8gFJ/7EBS//KAVP/qQFU/8gBrP/1AbT/9QG4/8cBuf/xAbr/zQG7/90Bvf/EAAgA8f/wAPn/8AEE//EBG//zAS//8QFK//MBTP/zAVT/8QAdACH/rwBW/+8AWf/fAJb/7gCz/+UAtP/RAL8AEQDF/8gA1AATAOH/xQDx/8oA+f/QAS//gQE4/2UBOf+FATv/ZgE8/90BQf/yAUn/sQFL/8oBU/+pAVT/yAGs//UBtP/1Abj/xwG5//EBuv/NAbv/3QG9/8QACADx//AA+f/wAQT/8QEb//MBL//xAUr/8wFM//MBVP/xAB0AIf+vAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygD5/9ABL/+BATj/ZQE5/4UBO/9mATz/3QFB//IBSf+xAUv/ygFT/6kBVP/IAaz/9QG0//UBuP/HAbn/8QG6/80Bu//dAb3/xAAIAPH/8AD5//ABBP/xARv/8wEv//EBSv/zAUz/8wFU//EAHQAh/68AVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAPn/0AEv/4EBOP9lATn/hQE7/2YBPP/dAUH/8gFJ/7EBS//KAVP/qQFU/8gBrP/1AbT/9QG4/8cBuf/xAbr/zQG7/90Bvf/EAAgA8f/wAPn/8AEE//EBG//zAS//8QFK//MBTP/zAVT/8QAdACH/rwBW/+8AWf/fAJb/7gCz/+UAtP/RAL8AEQDF/8gA1AATAOH/xQDx/8oA+f/QAS//gQE4/2UBOf+FATv/ZgE8/90BQf/yAUn/sQFL/8oBU/+pAVT/yAGs//UBtP/1Abj/xwG5//EBuv/NAbv/3QG9/8QACADx//AA+f/wAQT/8QEb//MBL//xAUr/8wFM//MBVP/xAB0AIf+vAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygD5/9ABL/+BATj/ZQE5/4UBO/9mATz/3QFB//IBSf+xAUv/ygFT/6kBVP/IAaz/9QG0//UBuP/HAbn/8QG6/80Bu//dAb3/xAAIAPH/8AD5//ABBP/xARv/8wEv//EBSv/zAUz/8wFU//EABQBI/+4AWf/qAbr/8AG7/+0Bvf/wAAEA8f/1AAUASP/uAFn/6gG6//ABu//tAb3/8AABAPH/9QAFAEj/7gBZ/+oBuv/wAbv/7QG9//AAAQDx//UABQBI/+4AWf/qAbr/8AG7/+0Bvf/wAAEA8f/1AAUASP/uAFn/6gG6//ABu//tAb3/8AABAPH/9QAFAEj/7gBZ/+oBuv/wAbv/7QG9//AAAQDx//UABQBI/+4AWf/qAbr/8AG7/+0Bvf/wAAEA8f/1AAUASP/uAFn/6gG6//ABu//tAb3/8AABAPH/9QAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAab/7QG8//UACQDF/+oA6P+4APH/4gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGm/+0BvP/1AAkAxf/qAOj/uADx/+IBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABpv/tAbz/9QAJAMX/6gDo/7gA8f/iAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAab/7QG8//UACQDF/+oA6P+4APH/4gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGm/+0BvP/1AAkAxf/qAOj/uADx/+IBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABpv/tAbz/9QAJAMX/6gDo/7gA8f/iAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAab/7QG8//UACQDF/+oA6P+4APH/4gEE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AFb/6gBfABMAa/+uAHr/zQB//6AAhP/BAIf/wACz/9AAt//qALr/xgC7AA0Avf/pAL7/1gDB/+gAwv+6AMX/6QDH/8sAyP/aAMn/xwFu/9MBpv+rAaj/zQGs/8sBtP/LAbX/ywG4//MBu//zAbz/7wHc/8AB3//uAAE1wAAEAAAABgAWAGwDngQcBIYEyAAVADgAFAA5ACYAOwAWARQAFAILABYCkgAmApQAFgKWABYC/QAWAwwAFgMPABYDRQAmA0cAJgNJACYDSwAWA2AAFANoABYD6gAWA+wAFgPuABYEEwAWAMwADv7uABD+7gAj/0AALP8wADYAFABD/94ARf/rAEb/6wBH/+sASf/rAFH/6wBT/+sAV//qAFj/6ABb/+gAkf/rAJX/6wCX/+oArf9AAK//QAC2/+sAuP/oAMP/6wDE/+sAxv/qAM0AFADRABQA8v/rAP7/6wEI/0ABE//rARX/6AEZ/+sBHf/rAS4AFAE1/+sBNgAUAUf/6wFI/+sBUv/rAWf+7gFr/u4Bb/7uAXD+7gHx/0AB8v9AAfP/QAH0/0AB9f9AAfb/QAH3/0ACDP/eAg3/3gIO/94CD//eAhD/3gIR/94CEv/eAhP/6wIU/+sCFf/rAhb/6wIX/+sCHf/rAh7/6wIf/+sCIP/rAiH/6wIi/+oCI//qAiT/6gIl/+oCJv/oAif/6AIo/0ACKf/eAir/QAIr/94CLP9AAi3/3gIv/+sCMf/rAjP/6wI1/+sCN//rAjn/6wI7/+sCPf/rAj//6wJB/+sCQ//rAkX/6wJH/+sCSf/rAlf/MAJr/+sCbf/rAm//6wKAABQCggAUAoQAFAKH/+oCif/qAov/6gKN/+oCj//qApH/6gKV/+gC+P9AAwD/QAMQ/+sDFP/qAxb/6wMY/+gDG//qAxz/6wMd/+oDJP8wAyj/QAMzABQDNf/eAzb/6wM4/+sDOv/rAzv/6AM9/+sDRP/oA0z/6ANV/0ADVv/eA1z/6wNh/+gDYv/rA2f/6wNp/+gDbv9AA2//3gNw/0ADcf/eA3X/6wN3/+sDeP/rA4L/6wOE/+sDhv/rA4r/6AOM/+gDjv/oA5X/6wOY/0ADmf/eA5r/QAOb/94DnP9AA53/3gOe/0ADn//eA6D/QAOh/94Dov9AA6P/3gOk/0ADpf/eA6b/QAOn/94DqP9AA6n/3gOq/0ADq//eA6z/QAOt/94Drv9AA6//3gOx/+sDs//rA7X/6wO3/+sDuf/rA7v/6wO9/+sDv//rA8X/6wPH/+sDyf/rA8v/6wPN/+sDz//rA9H/6wPT/+sD1f/rA9f/6wPZ/+sD2//rA93/6gPf/+oD4f/qA+P/6gPl/+oD5//qA+n/6gPr/+gD7f/oA+//6AP2ABQAHwA2/98AOP/kADn/7AA7/90Azf/fANH/3wEU/+QBLv/fATb/3wIL/90CgP/fAoL/3wKE/98Ckv/sApT/3QKW/90C/f/dAwz/3QMP/90DM//fA0X/7ANH/+wDSf/sA0v/3QNg/+QDaP/dA+r/3QPs/90D7v/dA/b/3wQT/90AGgA2/84AOP/tADv/0ADN/84A0f/OART/7QEu/84BNv/OAgv/0AKA/84Cgv/OAoT/zgKU/9AClv/QAv3/0AMM/9ADD//QAzP/zgNL/9ADYP/tA2j/0APq/9AD7P/QA+7/0AP2/84EE//QABAALP/uADf/7gIH/+4CCP/uAgn/7gIK/+4CV//uAob/7gKI/+4Civ/uAoz/7gKO/+4CkP/uAyT/7gPc/+4D3v/uAD0ARf/oAEb/6ABH/+gASf/oAFP/6ACR/+gAlf/oALb/6ADD/+gAxP/oAPL/6AD+/+gBGf/oAR3/6AE1/+gBR//oAUj/6AFS/+gCE//oAhT/6AIV/+gCFv/oAhf/6AIv/+gCMf/oAjP/6AI1/+gCN//oAjn/6AI7/+gCPf/oAj//6AJB/+gCQ//oAkX/6AJH/+gCSf/oAxD/6AM2/+gDOv/oAz3/6ANc/+gDYv/oA2f/6AN1/+gDd//oA3j/6AOE/+gDlf/oA7H/6AOz/+gDtf/oA7f/6AO5/+gDu//oA73/6AO//+gD0//oA9X/6APX/+gD2//oAAEwEgAEAAAALABiAIwBggHgAfoCPAKyA5gEfgVYBfIIjApSC2ANJg1YDYoOCA9OENgSbhOAFO4XABe2GRwZ0hqMGxIbcBwuHKQdUh18Hs4hDCEuIkQioiMgI0ojfCOOI7gACgAEABAACQAQAWUAEAFmABABaAAQAWkAEAFqABADTQAQA04AEANSABAAPQBF/+wARv/sAEf/7ABJ/+wAU//sAJH/7ACV/+wAtv/sAMP/7ADE/+wA8v/sAP7/7AEZ/+wBHf/sATX/7AFH/+wBSP/sAVL/7AIT/+wCFP/sAhX/7AIW/+wCF//sAi//7AIx/+wCM//sAjX/7AI3/+wCOf/sAjv/7AI9/+wCP//sAkH/7AJD/+wCRf/sAkf/7AJJ/+wDEP/sAzb/7AM6/+wDPf/sA1z/7ANi/+wDZ//sA3X/7AN3/+wDeP/sA4T/7AOV/+wDsf/sA7P/7AO1/+wDt//sA7n/7AO7/+wDvf/sA7//7APT/+wD1f/sA9f/7APb/+wAFwBR/+IBE//iAh3/4gIe/+ICH//iAiD/4gIh/+ICa//iAm3/4gJv/+IDFv/iAxz/4gM4/+IDgv/iA4b/4gPF/+IDx//iA8n/4gPL/+IDzf/iA8//4gPR/+ID2f/iAAYADv+EABD/hAFn/4QBa/+EAW//hAFw/4QAEAAs/+wAN//sAgf/7AII/+wCCf/sAgr/7AJX/+wChv/sAoj/7AKK/+wCjP/sAo7/7AKQ/+wDJP/sA9z/7APe/+wAHQAE//IACf/yAFj/8wBb//MAuP/zARX/8wFl//IBZv/yAWj/8gFp//IBav/yAib/8wIn//MClf/zAxj/8wM7//MDRP/zA0z/8wNN//IDTv/yA1L/8gNh//MDaf/zA4r/8wOM//MDjv/zA+v/8wPt//MD7//zADkAJf/zACn/8wAx//MAM//zAIH/8wCQ//MAlP/zAK7/8wDO//MBA//zARL/8wEW//MBGP/zARr/8wEc//MBNP/zAVH/8wH4//MCAv/zAgP/8wIE//MCBf/zAgb/8wIu//MCMP/zAjL/8wI0//MCQv/zAkT/8wJG//MCSP/zAmr/8wJs//MCbv/zAp//8wL8//MDCf/zAy//8wMy//MDV//zA2P/8wNm//MDgf/zA4P/8wOF//MDxP/zA8b/8wPI//MDyv/zA8z/8wPO//MD0P/zA9L/8wPU//MD1v/zA9j/8wPa//MAOQAl/+YAKf/mADH/5gAz/+YAgf/mAJD/5gCU/+YArv/mAM7/5gED/+YBEv/mARb/5gEY/+YBGv/mARz/5gE0/+YBUf/mAfj/5gIC/+YCA//mAgT/5gIF/+YCBv/mAi7/5gIw/+YCMv/mAjT/5gJC/+YCRP/mAkb/5gJI/+YCav/mAmz/5gJu/+YCn//mAvz/5gMJ/+YDL//mAzL/5gNX/+YDY//mA2b/5gOB/+YDg//mA4X/5gPE/+YDxv/mA8j/5gPK/+YDzP/mA87/5gPQ/+YD0v/mA9T/5gPW/+YD2P/mA9r/5gA2ACP/5AA6/9IAO//TAK3/5ACv/+QA1f/SAQj/5AHx/+QB8v/kAfP/5AH0/+QB9f/kAfb/5AH3/+QCC//TAij/5AIq/+QCLP/kApT/0wKW/9MC+P/kAv3/0wMA/+QDDP/TAw3/0gMP/9MDKP/kAzT/0gNL/9MDVf/kA2j/0wNr/9IDbv/kA3D/5AN5/9IDk//SA5j/5AOa/+QDnP/kA57/5AOg/+QDov/kA6T/5AOm/+QDqP/kA6r/5AOs/+QDrv/kA+r/0wPs/9MD7v/TA/j/0gQA/9IEE//TACYADv9GABD/RgAj/80Arf/NAK//zQEI/80BZ/9GAWv/RgFv/0YBcP9GAfH/zQHy/80B8//NAfT/zQH1/80B9v/NAff/zQIo/80CKv/NAiz/zQL4/80DAP/NAyj/zQNV/80Dbv/NA3D/zQOY/80Dmv/NA5z/zQOe/80DoP/NA6L/zQOk/80Dpv/NA6j/zQOq/80DrP/NA67/zQCmAEX/3ABG/9wAR//cAEn/3ABP/8EAUP/BAFH/1gBS/8EAU//cAFf/3QBY/+EAW//hAJH/3ACV/9wAl//dALb/3AC4/+EAvP/BAMP/3ADE/9wAxv/dAOf/wQDr/8EA7P/BAO7/wQDv/8EA8P/BAPL/3ADz/8EA9f/BAPb/wQD5/8EA+//BAP7/3AEA/8EBE//WARX/4QEZ/9wBHf/cATH/wQE1/9wBQP/BAUX/wQFH/9wBSP/cAVL/3AIT/9wCFP/cAhX/3AIW/9wCF//cAhz/wQId/9YCHv/WAh//1gIg/9YCIf/WAiL/3QIj/90CJP/dAiX/3QIm/+ECJ//hAi//3AIx/9wCM//cAjX/3AI3/9wCOf/cAjv/3AI9/9wCP//cAkH/3AJD/9wCRf/cAkf/3AJJ/9wCZP/BAmb/wQJo/8ECaf/BAmv/1gJt/9YCb//WAof/3QKJ/90Ci//dAo3/3QKP/90Ckf/dApX/4QMQ/9wDEv/BAxT/3QMW/9YDGP/hAxv/3QMc/9YDHf/dAzb/3AM3/8EDOP/WAzn/wQM6/9wDO//hAz3/3AM+/8EDQ//BA0T/4QNM/+EDVP/BA1z/3ANd/8EDYf/hA2L/3ANn/9wDaf/hA3X/3AN3/9wDeP/cA37/wQOA/8EDgv/WA4T/3AOG/9YDiv/hA4z/4QOO/+EDkv/BA5X/3AOx/9wDs//cA7X/3AO3/9wDuf/cA7v/3AO9/9wDv//cA8X/1gPH/9YDyf/WA8v/1gPN/9YDz//WA9H/1gPT/9wD1f/cA9f/3APZ/9YD2//cA93/3QPf/90D4f/dA+P/3QPl/90D5//dA+n/3QPr/+ED7f/hA+//4QPz/8ED9f/BA///wQQM/8EEDv/BBBD/wQBxAAT/2gAJ/9oARf/wAEb/8ABH//AASf/wAFP/8ABX/+8AWP/cAFv/3ACR//AAlf/wAJf/7wC2//AAuP/cAMP/8ADE//AAxv/vAPL/8AD+//ABFf/cARn/8AEd//ABNf/wAUf/8AFI//ABUv/wAWX/2gFm/9oBaP/aAWn/2gFq/9oCE//wAhT/8AIV//ACFv/wAhf/8AIi/+8CI//vAiT/7wIl/+8CJv/cAif/3AIv//ACMf/wAjP/8AI1//ACN//wAjn/8AI7//ACPf/wAj//8AJB//ACQ//wAkX/8AJH//ACSf/wAof/7wKJ/+8Ci//vAo3/7wKP/+8Ckf/vApX/3AMQ//ADFP/vAxj/3AMb/+8DHf/vAzb/8AM6//ADO//cAz3/8ANE/9wDTP/cA03/2gNO/9oDUv/aA1z/8ANh/9wDYv/wA2f/8ANp/9wDdf/wA3f/8AN4//ADhP/wA4r/3AOM/9wDjv/cA5X/8AOx//ADs//wA7X/8AO3//ADuf/wA7v/8AO9//ADv//wA9P/8APV//AD1//wA9v/8APd/+8D3//vA+H/7wPj/+8D5f/vA+f/7wPp/+8D6//cA+3/3APv/9wAQwAOAAwAEAAMAEX/5wBG/+cAR//nAEn/5wBT/+cAkf/nAJX/5wC2/+cAw//nAMT/5wDy/+cA/v/nARn/5wEd/+cBNf/nAUf/5wFI/+cBUv/nAWcADAFrAAwBbwAMAXAADAIT/+cCFP/nAhX/5wIW/+cCF//nAi//5wIx/+cCM//nAjX/5wI3/+cCOf/nAjv/5wI9/+cCP//nAkH/5wJD/+cCRf/nAkf/5wJJ/+cDEP/nAzb/5wM6/+cDPf/nA1z/5wNi/+cDZ//nA3X/5wN3/+cDeP/nA4T/5wOV/+cDsf/nA7P/5wO1/+cDt//nA7n/5wO7/+cDvf/nA7//5wPT/+cD1f/nA9f/5wPb/+cAcQAEAAwACQAMAEX/6ABG/+gAR//oAEn/6ABR/+oAU//oAFgACwBbAAsAkf/oAJX/6AC2/+gAuAALAMP/6ADE/+gA8v/oAP7/6AET/+oBFQALARn/6AEd/+gBNf/oAUf/6AFI/+gBUv/oAWUADAFmAAwBaAAMAWkADAFqAAwCE//oAhT/6AIV/+gCFv/oAhf/6AId/+oCHv/qAh//6gIg/+oCIf/qAiYACwInAAsCL//oAjH/6AIz/+gCNf/oAjf/6AI5/+gCO//oAj3/6AI//+gCQf/oAkP/6AJF/+gCR//oAkn/6AJr/+oCbf/qAm//6gKVAAsDEP/oAxb/6gMYAAsDHP/qAzb/6AM4/+oDOv/oAzsACwM9/+gDRAALA0wACwNNAAwDTgAMA1IADANc/+gDYQALA2L/6ANn/+gDaQALA3X/6AN3/+gDeP/oA4L/6gOE/+gDhv/qA4oACwOMAAsDjgALA5X/6AOx/+gDs//oA7X/6AO3/+gDuf/oA7v/6AO9/+gDv//oA8X/6gPH/+oDyf/qA8v/6gPN/+oDz//qA9H/6gPT/+gD1f/oA9f/6APZ/+oD2//oA+sACwPtAAsD7wALAAwAWv/tAFz/7QDp/+0CmP/tApr/7QKc/+0DPP/tA2z/7QN6/+0DlP/tA/n/7QQB/+0ADABa//IAXP/yAOn/8gKY//ICmv/yApz/8gM8//IDbP/yA3r/8gOU//ID+f/yBAH/8gAfAFj/9ABa//IAW//0AFz/8wC4//QA6f/yARX/9AIm//QCJ//0ApX/9AKY//MCmv/zApz/8wMY//QDO//0Azz/8gNE//QDTP/0A2H/9ANp//QDbP/yA3r/8gOK//QDjP/0A47/9AOU//ID6//0A+3/9APv//QD+f/yBAH/8gBRAAT/ygAJ/8oANv/SADj/1AA6//QAO//TAFj/5gBa/+8AW//mALj/5gDN/9IA0f/SANX/9ADZ/+0A3P/hAOn/7wEU/9QBFf/mAS7/0gE2/9IBZf/KAWb/ygFo/8oBaf/KAWr/ygIL/9MCJv/mAif/5gKA/9ICgv/SAoT/0gKU/9MClf/mApb/0wL9/9MDDP/TAw3/9AMP/9MDGP/mAyf/7QMz/9IDNP/0Azv/5gM8/+8DRP/mA0v/0wNM/+YDTf/KA07/ygNS/8oDYP/UA2H/5gNo/9MDaf/mA2v/9ANs/+8Def/0A3r/7wOJ/+0Div/mA4v/7QOM/+YDjf/tA47/5gOP/+EDk//0A5T/7wPq/9MD6//mA+z/0wPt/+YD7v/TA+//5gP2/9ID+P/0A/n/7wP6/+ED/P/hBAD/9AQB/+8EE//TAGIABP/AAAn/wAA2/50AOP/HADr/8AA7/6sAT//SAFD/0gBS/9IAvP/SAM3/nQDP//UA0f+dANX/8ADY//UA2f/qANz/5QDn/9IA6//SAOz/0gDu/9IA7//SAPD/0gDz/9IA9f/SAPb/0gD7/9IBAP/SART/xwEu/50BMf/SATb/nQFA/9IBRf/SAU3/9QFl/8ABZv/AAWj/wAFp/8ABav/AAgv/qwIc/9ICZP/SAmb/0gJo/9ICaf/SAoD/nQKC/50ChP+dApT/qwKW/6sC/f+rAwz/qwMN//ADD/+rAxL/0gMn/+oDM/+dAzT/8AM3/9IDOf/SAz7/0gND/9IDS/+rA03/wANO/8ADUv/AA1T/0gNd/9IDYP/HA2j/qwNr//ADef/wA37/0gOA/9IDif/qA4v/6gON/+oDj//lA5L/0gOT//ADlv/1A+r/qwPs/6sD7v+rA/P/0gP1/9ID9v+dA/j/8AP6/+UD/P/lA///0gQA//AEDP/SBA7/0gQQ/9IEEf/1BBP/qwBlAAT/sQAJ/7EANv+eADj/xQA6//IAO/+oAE//zwBQ/88AUv/PAFr/7wC8/88Azf+eANH/ngDV//IA2f/sANz/4QDn/88A6f/vAOv/zwDs/88A7v/PAO//zwDw/88A8//PAPX/zwD2/88A+//PAQD/zwEU/8UBLv+eATH/zwE2/54BQP/PAUX/zwFl/7EBZv+xAWj/sQFp/7EBav+xAgv/qAIc/88CZP/PAmb/zwJo/88Caf/PAoD/ngKC/54ChP+eApT/qAKW/6gC/f+oAwz/qAMN//IDD/+oAxL/zwMn/+wDM/+eAzT/8gM3/88DOf/PAzz/7wM+/88DQ//PA0v/qANN/7EDTv+xA1L/sQNU/88DXf/PA2D/xQNo/6gDa//yA2z/7wN5//IDev/vA37/zwOA/88Dif/sA4v/7AON/+wDj//hA5L/zwOT//IDlP/vA+r/qAPs/6gD7v+oA/P/zwP1/88D9v+eA/j/8gP5/+8D+v/hA/z/4QP//88EAP/yBAH/7wQM/88EDv/PBBD/zwQT/6gARAA2/74AT//hAFD/4QBS/+EAWP/vAFv/7wC4/+8AvP/hAM3/vgDR/74A5//hAOv/4QDs/+EA7v/hAO//4QDw/+EA8//hAPX/4QD2/+EA+//hAQD/4QEV/+8BLv++ATH/4QE2/74BQP/hAUX/4QIc/+ECJv/vAif/7wJk/+ECZv/hAmj/4QJp/+ECgP++AoL/vgKE/74Clf/vAxL/4QMY/+8DM/++Azf/4QM5/+EDO//vAz7/4QND/+EDRP/vA0z/7wNU/+EDXf/hA2H/7wNp/+8Dfv/hA4D/4QOK/+8DjP/vA47/7wOS/+ED6//vA+3/7wPv/+8D8//hA/X/4QP2/74D///hBAz/4QQO/+EEEP/hAFsANv/mADj/5wA6//IAO//nAE//1gBQ/9YAUv/WAFr/8QC8/9YAzf/mANH/5gDV//IA2f/uANz/6ADn/9YA6f/xAOv/1gDs/9YA7v/WAO//1gDw/9YA8//WAPX/1gD2/9YA+//WAQD/1gEU/+cBLv/mATH/1gE2/+YBQP/WAUX/1gIL/+cCHP/WAmT/1gJm/9YCaP/WAmn/1gKA/+YCgv/mAoT/5gKU/+cClv/nAv3/5wMM/+cDDf/yAw//5wMS/9YDJ//uAzP/5gM0//IDN//WAzn/1gM8//EDPv/WA0P/1gNL/+cDVP/WA13/1gNg/+cDaP/nA2v/8gNs//EDef/yA3r/8QN+/9YDgP/WA4n/7gOL/+4Djf/uA4//6AOS/9YDk//yA5T/8QPq/+cD7P/nA+7/5wPz/9YD9f/WA/b/5gP4//ID+f/xA/r/6AP8/+gD///WBAD/8gQB//EEDP/WBA7/1gQQ/9YEE//nAIQAIwAQACX/6AAp/+gAMf/oADP/6AA2/+AAOP/gADv/3wCB/+gAkP/oAJT/6ACtABAArv/oAK8AEADN/+AAzv/oAM8AEADR/+AA2AAQANz/4QDtABAA9P/gAP8AEAED/+gBCAAQARL/6AEU/+ABFv/oARj/6AEa/+gBHP/oAS7/4AE0/+gBNv/gAU0AEAFR/+gB8QAQAfIAEAHzABAB9AAQAfUAEAH2ABAB9wAQAfj/6AIC/+gCA//oAgT/6AIF/+gCBv/oAgv/3wIoABACKgAQAiwAEAIu/+gCMP/oAjL/6AI0/+gCQv/oAkT/6AJG/+gCSP/oAmr/6AJs/+gCbv/oAoD/4AKC/+AChP/gApT/3wKW/98Cn//oAvgAEAL8/+gC/f/fAwAAEAMJ/+gDDP/fAw//3wMoABADL//oAzL/6AMz/+ADS//fA1UAEANX/+gDYP/gA2P/6ANm/+gDaP/fA24AEANwABADgf/oA4P/6AOF/+gDj//hA5D/4AOWABADlwAQA5gAEAOaABADnAAQA54AEAOgABADogAQA6QAEAOmABADqAAQA6oAEAOsABADrgAQA8T/6APG/+gDyP/oA8r/6APM/+gDzv/oA9D/6APS/+gD1P/oA9b/6APY/+gD2v/oA+r/3wPs/98D7v/fA/b/4AP6/+ED+//gA/z/4QP9/+AEEQAQBBIAEAQT/98ALQA2//EAOP/0ADr/9AA7//AAzf/xAM//9QDR//EA1f/0ANj/9QDZ//MBFP/0AS7/8QE2//EBTf/1Agv/8AKA//ECgv/xAoT/8QKU//AClv/wAv3/8AMM//ADDf/0Aw//8AMn//MDM//xAzT/9ANL//ADYP/0A2j/8ANr//QDef/0A4n/8wOL//MDjf/zA5P/9AOW//UD6v/wA+z/8APu//AD9v/xA/j/9AQA//QEEf/1BBP/8ABZACMADwA2/+YAOP/mADoADgA7/+YArQAPAK8ADwDN/+YAzwAOANH/5gDVAA4A2AAOANkACwDc/+UA7QAPAPT/6AD/AA8BCAAPART/5gEu/+YBNv/mAU0ADgHxAA8B8gAPAfMADwH0AA8B9QAPAfYADwH3AA8CC//mAigADwIqAA8CLAAPAoD/5gKC/+YChP/mApT/5gKW/+YC+AAPAv3/5gMAAA8DDP/mAw0ADgMP/+YDJwALAygADwMz/+YDNAAOA0v/5gNVAA8DYP/mA2j/5gNrAA4DbgAPA3AADwN5AA4DiQALA4sACwONAAsDj//lA5D/6AOTAA4DlgAOA5cADwOYAA8DmgAPA5wADwOeAA8DoAAPA6IADwOkAA8DpgAPA6gADwOqAA8DrAAPA64ADwPq/+YD7P/mA+7/5gP2/+YD+AAOA/r/5QP7/+gD/P/lA/3/6AQAAA4EEQAOBBIADwQT/+YALQAE/78ACf+/ADb/nwA4/8kAO/+tAM3/nwDR/58A2f/sANz/5gEU/8kBLv+fATb/nwFl/78BZv+/AWj/vwFp/78Bav+/Agv/rQKA/58Cgv+fAoT/nwKU/60Clv+tAv3/rQMM/60DD/+tAyf/7AMz/58DS/+tA03/vwNO/78DUv+/A2D/yQNo/60Dif/sA4v/7AON/+wDj//mA+r/rQPs/60D7v+tA/b/nwP6/+YD/P/mBBP/rQAuADb/4wA6/+UAO//kAM3/4wDP/+UA0f/jANX/5QDY/+UA2f/pAO3/6gD//+oBLv/jATb/4wFN/+UCC//kAoD/4wKC/+MChP/jApT/5AKW/+QC/f/kAwz/5AMN/+UDD//kAyf/6QMz/+MDNP/lA0v/5ANo/+QDa//lA3n/5QOJ/+kDi//pA43/6QOT/+UDlv/lA5f/6gPq/+QD7P/kA+7/5AP2/+MD+P/lBAD/5QQR/+UEEv/qBBP/5AAhADb/4gA6/+QAzf/iAM//5ADR/+IA1f/kANj/5ADZ/+kA7f/rAP//6wEu/+IBNv/iAU3/5AKA/+ICgv/iAoT/4gMN/+QDJ//pAzP/4gM0/+QDa//kA3n/5AOJ/+kDi//pA43/6QOT/+QDlv/kA5f/6wP2/+ID+P/kBAD/5AQR/+QEEv/rABcANv/rADv/8wDN/+sA0f/rAS7/6wE2/+sCC//zAoD/6wKC/+sChP/rApT/8wKW//MC/f/zAwz/8wMP//MDM//rA0v/8wNo//MD6v/zA+z/8wPu//MD9v/rBBP/8wAvAE//7wBQ/+8AUv/vAFr/8AC8/+8A5//vAOn/8ADr/+8A7P/vAO7/7wDv/+8A8P/vAPP/7wD1/+8A9v/vAPv/7wEA/+8BMf/vAUD/7wFF/+8CHP/vAmT/7wJm/+8CaP/vAmn/7wMS/+8DN//vAzn/7wM8//ADPv/vA0P/7wNU/+8DXf/vA2z/8AN6//ADfv/vA4D/7wOS/+8DlP/wA/P/7wP1/+8D+f/wA///7wQB//AEDP/vBA7/7wQQ/+8AHQAE//IACf/yAFj/9QBb//UAuP/1ARX/9QFl//IBZv/yAWj/8gFp//IBav/yAib/9QIn//UClf/1Axj/9QM7//UDRP/1A0z/9QNN//IDTv/yA1L/8gNh//UDaf/1A4r/9QOM//UDjv/1A+v/9QPt//UD7//1ACsAT//uAFD/7gBS/+4AvP/uAOf/7gDr/+4A7P/uAO7/7gDv/+4A8P/uAPP/7gD0/+0A9f/uAPb/7gD7/+4BAP/uATH/7gFA/+4BRf/uAhz/7gJk/+4CZv/uAmj/7gJp/+4DEv/uAzf/7gM5/+4DPv/uA0P/7gNU/+4DXf/uA37/7gOA/+4DkP/tA5L/7gPz/+4D9f/uA/v/7QP9/+0D///uBAz/7gQO/+4EEP/uAAoABP/1AAn/9QFl//UBZv/1AWj/9QFp//UBav/1A03/9QNO//UDUv/1AFQARf/wAEb/8ABH//AASf/wAFH/xwBT//AAkf/wAJX/8AC2//AAw//wAMT/8ADy//AA/v/wARP/xwEZ//ABHf/wATX/8AFH//ABSP/wAVL/8AIT//ACFP/wAhX/8AIW//ACF//wAh3/xwIe/8cCH//HAiD/xwIh/8cCL//wAjH/8AIz//ACNf/wAjf/8AI5//ACO//wAj3/8AI///ACQf/wAkP/8AJF//ACR//wAkn/8AJr/8cCbf/HAm//xwMQ//ADFv/HAxz/xwM2//ADOP/HAzr/8AM9//ADXP/wA2L/8ANn//ADdf/wA3f/8AN4//ADgv/HA4T/8AOG/8cDlf/wA7H/8AOz//ADtf/wA7f/8AO5//ADu//wA73/8AO///ADxf/HA8f/xwPJ/8cDy//HA83/xwPP/8cD0f/HA9P/8APV//AD1//wA9n/xwPb//AAjwAEAA0ACQANAEP/8ABF/8AARv/AAEf/wABJ/8AAUf/iAFP/wABYAAsAWwALAJH/wACV/8AAtv/AALgACwDE/8AA7f/XAPL/wAD+/8AA///XARP/4gEVAAsBGf/AAR3/wAE1/8ABR//AAUj/wAFS/8ABZQANAWYADQFoAA0BaQANAWoADQIM//ACDf/wAg7/8AIP//ACEP/wAhH/8AIS//ACE//AAhT/wAIV/8ACFv/AAhf/wAId/+ICHv/iAh//4gIg/+ICIf/iAiYACwInAAsCKf/wAiv/8AIt//ACL//AAjH/wAIz/8ACNf/AAjf/wAI5/8ACO//AAj3/wAI//8ACQf/AAkP/wAJF/8ACR//AAkn/wAJr/+ICbf/iAm//4gKVAAsDEP/AAxb/4gMYAAsDHP/iAzX/8AM2/8ADOP/iAzr/wAM7AAsDPf/AA0QACwNMAAsDTQANA04ADQNSAA0DVv/wA1z/wANhAAsDYv/AA2f/wANpAAsDb//wA3H/8AN1/8ADd//AA3j/wAOC/+IDhP/AA4b/4gOKAAsDjAALA44ACwOV/8ADl//XA5n/8AOb//ADnf/wA5//8AOh//ADo//wA6X/8AOn//ADqf/wA6v/8AOt//ADr//wA7H/wAOz/8ADtf/AA7f/wAO5/8ADu//AA73/wAO//8ADxf/iA8f/4gPJ/+IDy//iA83/4gPP/+ID0f/iA9P/wAPV/8AD1//AA9n/4gPb/8AD6wALA+0ACwPvAAsEEv/XAAgA7QAQAPT/8AD/ABADkP/wA5cAEAP7//AD/f/wBBIAEABFAEX/7gBG/+4AR//uAEn/7gBT/+4Akf/uAJX/7gC2/+4Aw//uAMT/7gDtAA4A8v/uAPT/4wD+/+4A/wAOARn/7gEd/+4BNf/uAUf/7gFI/+4BUv/uAhP/7gIU/+4CFf/uAhb/7gIX/+4CL//uAjH/7gIz/+4CNf/uAjf/7gI5/+4CO//uAj3/7gI//+4CQf/uAkP/7gJF/+4CR//uAkn/7gMQ/+4DNv/uAzr/7gM9/+4DXP/uA2L/7gNn/+4Ddf/uA3f/7gN4/+4DhP/uA5D/4wOV/+4DlwAOA7H/7gOz/+4Dtf/uA7f/7gO5/+4Du//uA73/7gO//+4D0//uA9X/7gPX/+4D2//uA/v/4wP9/+MEEgAOABcAWP/AAFv/wAC4/8AA9P/uARX/wAIm/8ACJ//AApX/wAMY/8ADO//AA0T/wANM/8ADYf/AA2n/wAOK/8ADjP/AA47/wAOQ/+4D6//AA+3/wAPv/8AD+//uA/3/7gAfAFj/9ABa//AAW//0ALj/9ADp//AA7f/zAP//8wEV//QCJv/0Aif/9AKV//QDGP/0Azv/9AM8//ADRP/0A0z/9ANh//QDaf/0A2z/8AN6//ADiv/0A4z/9AOO//QDlP/wA5f/8wPr//QD7f/0A+//9AP5//AEAf/wBBL/8wAKAAT/1gAJ/9YBZf/WAWb/1gFo/9YBaf/WAWr/1gNN/9YDTv/WA1L/1gAMAFr/4ADp/+AA9P/CAzz/4ANs/+ADev/gA5D/wgOU/+AD+f/gA/v/wgP9/8IEAf/gAAQA9P/SA5D/0gP7/9ID/f/SAAoABP/XAAn/1wFl/9cBZv/XAWj/1wFp/9cBav/XA03/1wNO/9cDUv/XAF4ABAALAAkACwBF/+sARv/rAEf/6wBJ/+sAUf/pAFP/6wCR/+sAlf/rALb/6wDD/+sAxP/rAPL/6wD+/+sBE//p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ANcCYwJvANgCcQJxAOUCcwJzAOYCdQJ1AOcCgAKAAOgCggKCAOkChAKEAOoChgKGAOsCiAKIAOwCigKKAO0CjAKMAO4CjgKOAO8CkAKQAPACkgKSAPEClAKXAPICmQKZAPYCmwKbAPcC+AL9APgDAAMPAP4DEgMSAQ4DFgMWAQ8DGAMYARADHAMcAREDHwMgARIDIgMrARQDLQMvAR4DMQM2ASEDOAM5AScDOwM+ASkDRANFAS0DRwNHAS8DSQNJATADSwNOATEDUgNXATUDWgNaATsDXANcATwDYANhAT0DZgNmAT8DaANxAUADdAN1AUoDdwN6AUwDgQOCAVADhgOGAVIDiAOOAVMDkwOUAVoDmAPAAVwDwgPCAYUDxAPRAYYD2QPZAZQD3APcAZUD3gPeAZYD6gPvAZcD8gPyAZ0D9AP0AZ4D9gP2AZ8D+AP5AaAD/gQBAaIEBAQEAaYEBgQHAacECQQJAakEDQQNAaoEDwQPAasEEwQTAawAAQAGAAoAKAAzADQAPQBIAAEALABIAE0AVgBZAF0AmQCwALIAswC0ALsAvgDAAMUAxwDIAMkAzQDPANAA0QDTANQA1gDeAN8A4gDjAOQA5QDmAOgA6gDsAPEA8wD2APcA+wD+AP8BAAEdAdwAAgB2AAQABAAAAAkACQABAA4ADgACABAAEAADACMAJwAEACoAMgAJADYAPAASAEMARQAZAEcARwAcAEoASgAdAE8AUgAeAFQAVAAiAFgAWAAjAFoAXAAkAIgAiAAnAKwArwAoALgAuAAsALwAvAAtAMIAwgAuAM8A0AAvANIA0gAxANUA1QAyANcA2QAzANsA2wA2AN0A3QA3AN8A3wA4AOEA4QA5AOcA5wA6AOkA6QA7APIA8gA8APcA9wA9APkA+gA+AP8BAABAAQUBBQBCAQgBCABDARMBFQBEAScBKQBHASwBLABKAS4BLgBLAUUBRQBMAWUBawBNAW8BcABUAewB7QBWAe8B7wBYAfECFwBZAhwCIQCAAiYCNgCGAjgCQQCXAkoCTAChAk4CTgCkAlACUAClAlICUgCmAlQCVACnAlcCVwCoAlkCWQCpAlsCWwCqAl0CXQCrAl8CXwCsAmECYQCtAmMCbwCuAnECcQC7AnMCcwC8AnUCdQC9AoACgAC+AoICggC/AoQChADAAoYChgDBAogCiADCAooCigDDAowCjADEAo4CjgDFApACkADGApICkgDHApQCnADIAvgC/QDRAwADDwDXAxIDEgDnAxYDFgDoAxgDGADpAxwDHADqAx8DIADrAyIDKwDtAy0DLwD3AzEDNgD6AzgDPgEAA0QDRQEHA0cDRwEJA0kDSQEKA0sDTgELA1IDVwEPA1oDWgEVA1wDXAEWA2ADYQEXA2YDcQEZA3QDdQElA3cDegEnA4EDggErA4YDhgEtA4gDjgEuA5MDlAE1A5gDwAE3A8IDwgFgA8QD0QFhA9kD2QFvA9wD3AFwA94D3gFxA+oD7wFyA/ID8gF4A/QD9AF5A/YD9gF6A/gD+QF7A/4EAQF9BAQEBAGBBAYEBwGCBAkECQGEBA0EDQGFBA8EDwGGBBMEEwGHAAIBOAAEAAQAHQAJAAkAHQAOAA4AHgAQABAAHgAkACQAAQAlACUABAAmACYAAwAnACcABQAqACsAAgAsACwADAAtAC0ACQAuAC4ACgAvADAAAgAxADEAAwAyADIACwA2ADYABgA3ADcADAA4ADgADQA5ADkAEAA6ADoADgA7ADsADwA8ADwAEQBDAEMAEwBEAEQAFQBFAEUAFABHAEcAFgBKAEoAFwBPAFAAFwBRAFEAGABSAFIAFQBUAFQAGgBYAFgAGQBaAFoAGwBbAFsAGQBcAFwAHACIAIgAFQCsAKwABwCuAK4AAwC4ALgAGQC8ALwAFwDCAMIAFQDPANAAHwDSANIAAgDVANUADgDXANgAAgDZANkAEgDbANsAAgDdAN0AAgDfAN8AHwDhAOEAHwDnAOcACADpAOkAGwDyAPIAFQD3APcAIAD5APkAIAD6APoAFQD/AQAAIAEFAQUAIAETARMAGAEUARQADQEVARUAGQEnAScAFQEoASgABwEpASkACAEsASwACQEuAS4ACQFFAUUACAFlAWYAHQFnAWcAHgFoAWoAHQFrAWsAHgFvAXAAHgHsAe0AAwHvAe8ABgH4AfgABAH5AfwABQH9AgEAAgICAgYAAwIHAgoADAILAgsADwIMAhIAEwITAhMAFAIUAhcAFgIcAhwAFwIdAiEAGAImAicAGQIpAikAEwIrAisAEwItAi0AEwIuAi4ABAIvAi8AFAIwAjAABAIxAjEAFAIyAjIABAIzAjMAFAI0AjQABAI1AjUAFAI2AjYAAwI4AjgABQI5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AAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAGAAQABwAFAAYAAAAGABYABgAAAAYAFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAkAAAAAAAYAFgAMAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAJAAAAFgAWAAAAAAAAAAAAAgAAAAAAAAAGABYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAZAAAACwALABUACwALAAsAFQAAAAAAAAAVABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAAAAAAAAAAABIAEgASABIAEgASABIABgAAAAAAAAAAAAAAAAAAAAAAAAAGAAYABgAGAAYACAAIAAgACAAKABsAGwAbABsAGwAbABsAFgAWABYAFgAWAAAAAAAAAAAACQAEAAQABAAEAAQADQANAA0ADQAFAAUAEgAbABIAGwASABsABgAWAAYAFgAGABYABgAWAAAAFgAAABYAAAAWAAAAFgAAABYAAAAWAAYAFgAGABYABgAWAAYAFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAkAAAAJAAkABgAEAAYABAAGAAQAAAAAAAAAAAAAAAAAGgAYABoAGAAaABgAGgAYABoAGAAMAAAADAAAAAwAAAAIAA0ACAANAAgADQAIAA0ACAANAAgADQAPAAAACgAFAAoAFAABABQAAQAUAAEAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAYACgAAAAAAEgAAAAAAFAAAAAAAAAAAAAAABgAAAAAACgATAAAACgAWAAAACQAAAA0AAAAEAAAABQAAAAAADQAEAA0AAAAAAAAAAAAAAAAAHAAAAAAAEQASAAAAAAAAAAAAAAAAAAYAAAAAAAYADAATABsAFgAJAAQACQAWAAUAFwAWAAkAGAAAAAAAAAAJAAUADwAAAA8AAAAPAAAACgAFAAsACwAAAAAAAAALAAAACQASABsABgAAAAAAAAAAABYACQAAAAAABwAFABYABgAAAAAABgAWAAoABQAAABMAFwAAABIAGwASABsAAAAAAAAAFgAAABYAFgATABcAAAAAAAAACQAAAAkABgAEAAYAFgAGAAQAAAAAABEABQARAAUAEQAFAA4AAwAAAAkAEwAXABYAAgAQABIAGwASABsAEgAbABIAGwASABsAEgAbABIAGwASABsAEgAbABIAGwASABsAEgAbAAAAFgAAABYAAAAWAAAAFgAAABYAAAAWAAAAFgAAABYAAAAAAAAAAAAGAAQABgAEAAYABAAGAAQABgAEAAYABAAGAAQABgAWAAYAFgAGABYABgAEAAYAFgAIAA0ACAANAAAADQAAAA0AAAANAAAADQAAAA0ACgAFAAoABQAKAAUAAAAAAAAACQAAAAkADAAAABMAFwAOAAMADgADAAAACQATABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAACQAAAAkAAgAQAAoAAAAAAAAAAAAAABkAAAABAAAACgAsAI4AAURGTFQACAAEAAAAAP//AAgAAAABAAIAAwAEAAUABgAHAAhsaWdhADJsbnVtADhzbWNwAD5zczAxAERzczAyAEpzczAzAFBzczA0AFZzczA1AFwAAAABAAEAAAABAAIAAAABAAAAAAABAAMAAAABAAQAAAABAAUAAAABAAYAAAABAAcACAASABoAIgAqADIAOgBCAEoAAQAAAAEAQAAEAAAAAQH2AAEAAAABAgAAAQAAAAECEgABAAAAAQIQAAEAAAABAg4AAQAAAAECDAABAAAAAQIOAAICEADcAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AegBtQG2AbcBuAG5AboBuwG8Ab0BvgGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAHoAbUBtgG3AbgBuQG6AbsBvAG9Ab4C9wKiAqECogKjAqMCpAKlAqYCpwKoAqkCqgKrAqwCrQKuAq8CsAKxArICswK0ArUCtgK3ArgCuQK6ArsCvAK9Ar4CpAKlAqYCpwKoAqkCqgKrAqwCrQKuAq8CsAKxArICswK0ArUCtgK3ArgCuQK6ArsCvAK9Ar4C8wK/Ar8CwALAAsECwQLCAsICwwLDAsUCxQLGAsYCxwLHAsgCyALJAskCygLKAssCywLMAswCzQLNAs8CzwLQAtAC0QLRAtIC0gLTAtMC1ALUAtUC1gLWAtcC1wLYAtgC2QLZAtoC2gLbAtsC3ALcAt0C3QLeAt4C3wLfAuAC4ALhAuEC4gLiAuMC4wLkAuQC5QLlAuYC5gLnAucC6ALo/////wLqAuoC6wLrAuwC7ALtAu0C7gLuAu8C7wLwAvAC8QLxAvIC8gLzAvQC9AL1AvUC9gL2AqEAAQCkAAEACAABAAQBkgACAEsAAgCYAAoBmAHMAcQB1gHXAdgB2QHbAd0B5wABAIgBkQABAIgBKAABAIgBrgACAIgAAgHjAeQAAgB+AAIB5QHmAAIADQAjADwAAABDAFwAGgCDAIMANACFAIUANQHsAe0ANgHvAjEAOAI0AkUAewJIAlQAjQJXAmgAmgJqAnsArAJ+An8AvgKCApwAwAPwA/AA2wABAAEASAACAAEAEgAbAAAAAQABAEkAAQABALYAAQABADQAAQACAC0ATQ==",
+"Roboto-Regular.ttf":"AAEAAAAOAIAAAwBgR0RFRgsuCy8AASx0AAAASEdQT1OC3T4oAAEsvAAAkPhHU1VCeolvLwABvbQAAANsT1MvMrivKcMAAAFoAAAAYFZETVhu6nZPAAASOAAABeBjbWFwf76BZgAAGBgAAA7iZ2x5ZusE9WMAACb8AADUeGhlYWT1kQ7EAAAA7AAAADZoaGVhC3AJkwAAASQAAAAkaG10eJaDaacAAAHIAAAQcGxvY2EvrvnGAAD7dAAACDptYXhwBDsA9gAAAUgAAAAgbmFtZbs83bQAAQOwAAAEeXBvc3Tfb5xiAAEILAAAJEYAAQAAAAEAAHdFsyVfDzz1AAkIAAAAAADE8BEuAAAAAM2CsmH6jf3VCXQIYgAAAAkAAgAAAAAAAAABAAAHbP4MAAAJkvqN/dgJdAABAAAAAAAAAAAAAAAAAAAEHAABAAAEHACXABYAXQAFAAEAAAAAAAAAAAAAAAAAAwABAAMElwGQAAUAAAWaBTMAAAEfBZoFMwAAA9EAZgIAAAAAAAAAAAAAAAAA4AAC/1AAIFsAAAAgAAAAAHB5cnMAQAAA//0GAP4AAGYHmgIAIAABn08BAAAEOgWwAAAAIAACAfsAAAAAAAAB+wAAAfsAAAKPAGkE+wBGBH4AbgXcAGkE+QBEAWUAZwKhAIUCqgAIA3IAHASJAE4BkgAdAjUAJQIbAKIDTAASBH4AcgR+ANcEfgBdBH4AXgR+ADkEfgCaBH4AhwR+AE0EfgBmBH4AVAH4AKACAABKBBEASASAAJgELgCGA8cAOgcvAGEFSgAnBRcAtgUeAIMFaQC2BKoAtgSnALYFfgCFBbMAtgI/AMMEagA/BSQAtgRgALYHAwC2BbQAtgWQAIIFGQC2BZAAggVMALUE4wBaBMYAOwVoAJYFKQAnBw0ASAUJAEEE8gAeBMkAYQIfAJIDSAAoAh8ACQNYAEADnAAEAnkATwRiAHIEiACRBDsAYQSIAGQENwBiAr4AQgSIAGYEiACRAfwAoQIL/7YEEwCSAfwAoQcCAJAEiACRBIgAYASIAJEEiABkAsoAkQQrAGYCjAAdBIgAjQQCAC4GDgAwBAIALgQCABsEAgBeArUAQAHzAK8CtQATBXEAggHzAJAEYQBuBKYARgW0AGkE2AAgAesAkwToAFoD9ACpBkkAWwOTAHoDwQBmBG4AfwZKAFoDqgB4Av0AggRHAGEDXwBxA2gAaQKCAIEEiACaA+kAQgIWAKIB+wB0AiYAXgOjAHoDwABvBjYAtAaWALQG6wB7A+0AcQd6//IERABZBXIAcwS6AKYEwgCLBsEAPQSwAEwEkQBHBIkAYAScAJoFmwAeAfoAmwRzAJoEMwAmAioAIwWLAKQEiACRB6EAaQdEAGEB/ACgArn/5AV/AHEEkwBgBZAAlgTzAI0CA/+0BDcAYgPEAKkDjQCMA2oAgQIhAKACtQCLAioAMgPGAIIC/ABoAp0AtgAA/NoAAP13AAD8kwAA/V4AAPwnAAD9QwINAMMECwChAhcAogRzALUFpAAgBXIAcwU+ADQEkQB6BbUAtgSRAEUFuwBOBYkAXQVSAHIEhQBkBL0AoAQCAC4EiABgBFAAYwQlAG0EiACRBI8AegKXAMMEbgAlA+wAZQTFAE8EiACRBE0AZQSIAGAELABRBF0AjwWjAFcFmgBfBpcAegTwAHQEQv/nBkgASgX/ACsFZQCHCJkAMgikALUGggBABbQAtQULAKYGBAA0B0MAGwS/AFEFtAC2BakAMAUHAFEGLQBTBdkAtAV6AJcHhwC0B8AAtAYSABEG6wC1BQUApgVkALEHJwDDBRgAYwRsAGEEkgCdA1sAmgTUAC4GIAAVBBAAWASeAJwEUgCcBKAAKAXvAJ0EnQCcBJ4AnAPYACgFzQBkBL0AnARZAGcGeACcBp8AkQT3AB4GNgCdBFgAnQRNAGQGiACdBGQALwSJ/+cETgBsBskAJwbkAJwEif/9BJ4AnAcIAJ8GKwCBBFb/3AcsAMQF+QCZBNIAKgRGAA8HDADWBgwAvAbRAJYF4QCWCQUAwwfRAJsEJABQA9sATAVyAHMEjABgBQoAFwQDAC4FcgBzBIkAYAcBAJ8GJAB+BwkAnwYsAIEFMgB4BEcAZAT9AHQAAPxnAAD8cQAA/WYAAP2kAAD6jQAA+qQEVv/cBRsAtQSKAJEEZACmA5AAkQTbALUEBgCRBQkApgR+AJoGjABFBYQAPgfPALUFtACRCDEAtAb0AJEF7gBzBNMAbQctADQFXAAfBXAAlwRrAIMFcACOBi8ARwS+/+MFCQCmBFoAmgWyALUEiACRBYcAXwSoAGkEqABpBLcAOgNJADsE9gBZBpQAWQbkAGQGVgA2BSsAMQRKAFMECAB5B8EARQZ1AD8H+wCtBqEAkAT2AHkEHQBlBa0AJAUgAEYFZACbBBQAAAgpAAAEFAAACCkAAAK5AAACCgAAAVwAAAR/AAACMAAAAaIAAADRAAAAAAAABYgAswZ9ALsDpgANAZkAYAGZADABlwAkAZoAUALUAGAC2wA8AsEAJARpAEYEjwBXArIAigPEAKYFWgCmB6oARAJmAGwCZgBZA6MAOwOrAEgDYAB6BKYARgaRAKcEPgBPBegAewPOAGgIywCrBQEAZgUXAJgGuwBvB1AAawd/AGwG2wBrBKIATAWOAKkErwBFBJIAqATFAD8IOgBrAgz/tASCAGUELQCYBDYAngQ8AJkECAArAkwAxwKPAG4CAwBcBG4AHwAAAAAIMwBbCDUAXAQcAFwDjQBXBIAAcwML/6IB/P+2AiUAGwGRAGcDpACDA54AgQOfAIED9ABtBA4AaQPz/14D7wBuA6QAWwH9AJ8EtQApBHUAmwSPAHIEpgCbBEMAmwQdAJsEzwByBPYAmwH6AJsECwBBBF0AmwO5AJsF9ACbBRkAmwTLAHIE4QByBKkAmwRvAF0ELABHBQIAjAS4ACoGBQBBBIQAOAReACAEPgBOBHcAewJpAEID4QBaBBIAWQRkAEcEaQBdBC0AegO5AEcELQBcBCcASwInAF4DVQBxA2gAaQL8AEoDeQByA3oAewMMAF4DggByA2sAaQOkAHwDlgCPArUAngNHAG8EfgBeBH4AOQR+AJoEjwCHBDoAHgRCADsEbwBaBH4AZgTDAGQEiABgBUQAtgRiAHIFLwC1BSQAtgQTAJIFPQC2BA8AkgR+AFQEdQCbA2oAgQH7AAACNQAlBYcALgWHAC4EpgAGBMYAOwKM/+MFSgAnBUoAJwVKACcFSgAnBUoAJwVKACcFSgAnBR4AgwSqALYEqgC2BKoAtgSqALYCP//cAj8AwwI///ICP//MBbQAtgWQAIIFkACCBZAAggWQAIIFkACCBWgAlgVoAJYFaACWBWgAlgTyAB4EYgByBGIAcgRiAHIEYgByBGIAcgRiAHIEYgByBDsAYQQ3AGIENwBiBDcAYgQ3AGIB+v+1AfoAmwH6/8sB+v+lBIgAkQSIAGAEiABgBIgAYASIAGAEiABgBIgAjQSIAI0EiACNBIgAjQQCABsEAgAbBUoAJwRiAHIFSgAnBGIAcgVKACcEYgByBR4AgwQ7AGEFHgCDBDsAYQUeAIMEOwBhBR4AgwQ7AGEFaQC2BR4AZASqALYENwBiBKoAtgQ3AGIEqgC2BDcAYgSqALYENwBiBKoAtgQ3AGIFfgCFBIgAZgV+AIUEiABmBX4AhQSIAGYFfgCFBIgAZgWzALYEiACRAj//xQH6/54CP/+/Afr/mAI///UB+v/OAj8AIQH8AAACPwC3BqkAwwQHAKEEagA/AgP/tAUkALYEEwCSBGAAtgH8AKEEYAC2AfwAWwRgALYCkgChBGAAtgLYAKEFtAC2BIgAkQW0ALYEiACRBbQAtgSIAJEEiP/SBZAAggSIAGAFkACCBIgAYAWQAIIEiABgBUwAtQLKAJEFTAC1AsoAWAVMALUCygBpBOMAWgQrAGYE4wBaBCsAZgTjAFoEKwBmBOMAWgQrAGYE4wBaBCsAZgTGADsCjAAdBMYAOwKMAB0ExgA7ArQAHQVoAJYEiACNBWgAlgSIAI0FaACWBIgAjQVoAJYEiACNBWgAlgSIAI0FaACWBIgAjQcNAEgGDgAwBPIAHgQCABsE8gAeBMkAYQQCAF4EyQBhBAIAXgTJAGEEAgBeB3r/8gbBAD0FcgBzBIkAYASm//MEpv/zBCwARwS1ACkEtQApBLUAKQS1ACkEtQApBLUAKQS1ACkEjwByBEMAmwRDAJsEQwCbBEMAmwH6/7MB+gCbAfr/yQH6/6MFGQCbBMsAcgTLAHIEywByBMsAcgTLAHIFAgCMBQIAjAUCAIwFAgCMBF4AIAS1ACkEtQApBLUAKQSPAHIEjwByBI8AcgSPAHIEpgCbBEMAmwRDAJsEQwCbBEMAmwRDAJsEzwByBM8AcgTPAHIEzwByBPYAmwH6/5wB+v+WAfr/zAH6//cB+gCPBAsAQQRdAJsDuQCbA7kAmwO5AJsDuQCbBRkAmwUZAJsFGQCbBMsAcgTLAHIEywByBKkAmwSpAJsEqQCbBG8AXQRvAF0EbwBdBG8AXQQsAEcELABHBQIAjAUCAIwFAgCMBQIAjAUCAIwFAgCMBgUAQQReACAEXgAgBD4ATgQ+AE4EPgBOCN4AXQVKACcFDv/mBhcAEwKjABkFpABSBVb/jQVmAD8Cl//IBUoAJwUXALYEqgC2BMkAYQWzALYCPwDDBSQAtgcDALYFtAC2BZAAggUZALYExgA7BPIAHgUJAEECP//MBPIAHgSFAGQEUABjBIgAkQKXAMMEXQCPBHMAmgSIAGAEiACaBAIALgQCAC4Cl//TBF0AjwSIAGAEXQCPBpcAegSqALYEcwC1BOMAWgI/AMMCP//MBGoAPwUkALYFJAC2BQcAUQVKACcFFwC2BHMAtQSqALYFtAC2BwMAtgWzALYFkACCBbUAtgUZALYFHgCDBMYAOwUJAEEEYgByBDcAYgSeAJwEiABgBIgAkQQ7AGEEAgAbBAIALgQ3AGIDWwCaBCsAZgH8AKEB+v+lAgv/tgRSAJwEAgAbBw0ASAYOADAHDQBIBg4AMAcNAEgGDgAwBPIAHgQCABsBZQBnAo8AaQQeAKkEugBCAgP/tAGZADAHAwC2BwIAkAVKACcEYgByBZD/PgcsAEIHeABCBKoAtgW0ALYENwBiBJ4AnAWJAF0FmgBfBQoAFwQD//kIigBgCZIAggS/AFEEEABYBR4AgwQ7AGEE8gAeBAIALgI/AMMHQwAbBiAAFQI/AMMFSgAnBGIAcgVKACcEYgByB3r/8gbBAD0EqgC2BDcAYgWHAF8ENwBiBDcAYgdDABsGIAAVBL8AUQQQAFgFtAC2BJ4AnAW0ALYEngCcBZAAggSIAGAFcgBzBIwAYAVyAHMEjABgBWQAsQRNAGQFBwBRBAIAGwUHAFEEAgAbBQcAUQQCABsFegCXBFkAZwbrALUGNgCdBQkAQQQCAC4EiABkBakAMASgACgFSgAnBGIAcgVKACcEYgByBUoAJwRiAHIFSgAnBGL/rgVKACcEYgByBUoAJwRiAHIFSgAnBGIAcgVKACcEYgByBUoAJwRiAHIFSgAnBGIAcgVKACcEYgByBUoAJwRiAHIEqgC2BDcAYgSqALYENwBiBKoAtgQ3AGIEqgC2BDcAYgSq//gEN/+zBKoAtgQ3AGIEqgC2BDcAYgSqALYENwBiAj8AwwH6AJsCPwC3AfwAlgWQAIIEiABgBZAAggSIAGAFkACCBIgAYAWQAEwEiP/LBZAAggSIAGAFkACCBIgAYAWQAIIEiABgBX8AcQSTAGAFfwBxBJMAYAV/AHEEkwBgBX8AcQSTAGAFfwBxBJMAYAVoAJYEiACNBWgAlgSIAI0FkACWBPMAjQWQAJYE8wCNBZAAlgTzAI0FkACWBPMAjQWQAJYE8wCNBPIAHgQCABsE8gAeBAIAGwTyAB4EAgAbBKYAZASmAGQFJAC2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ABEQACEzNTMDIgYVFBY7AREzETMyNjU0JiMDeBsBAgFO/rL+/hu5Hf79/rQBTAEDHbnWxtHRxh25HcTS0sQFHv69/vv++f67xsYBQwEHAQUBRc7+nenMzucDavyW6c7L6AAAAAABALT+oQWSBbAACwAAEzMRIREzETMDIxEhtLkC17mVEqX72QWw+uUFG/rp/ggBXwABAJcAAATEBbAAEwAAAREjEQ4BIyImNREzERQWMzI2NxEExLlhsHv187qMomm8ZwWw+lACYR0azvIBxv46q38cHAK4AAEAtAAABtIFsAALAAABESERMxEhETMRIREBbgH6uQH4ufniBbD65QUb+uUFG/pQBbAAAAABALT+oQdrBbAADwAAAREhETMRIREzETMDIxEhEQFuAfq5Afi5mRKm+gEFsPrlBRv65QUb+uX+DAFfBbAAAAAAAgARAAAFuAWwAAwAFQAAEyERITIWFRQGIyERIQERITI2NTQmIxECVQFo7vz97f3f/mQCVQFonJSUnAWw/ajhx8joBRv9qP3Sn355mAAAAAADALUAAAY1BbAACgATABcAAAEhMhYVFAYjIREzGQEhMjY1NCYjASMRMwFuAWju/P3t/d+5AWiclJScA1+5uQNY4cfI6AWw/RP90p9+eZj9PQWwAAACAKYAAASxBbAACgATAAABITIWFRQGIyERMxkBITI2NTQmIwFfAWju/P3t/d+5AWiclJScA1jhx8joBbD9E/3Sn355mAAAAAABALH/7AT2BcYAHwAAEzQAMzIAGQEQACMiADUzFBYzMhI9ASE1ITU0AiMiBhWxAST2+wEw/tD7+/7hubWsq8f9uwJFx6ustQPf1QES/qb+7f7//uz+qAEB46CvAQjNOJU2zgEJsKEAAAIAw//rBt4FxQAVACMAAAEQACEgABE1IxEjETMRMzUQACEgABEnNAIjIgIVERQSMzISNQbe/rv+9v7+/sbXubnXAToBAgEKAUW52ry0z8+0vdkCV/70/qABYAEMKP2BBbD9ZEQBCwFi/p7+9QLJAQb++sn+/cv++gEFzAACAGMAAARnBbAADQAWAAAhIwEuATU0JDMhESMRIQEhIgYVFBYzIQEoxQFVkJABC/UBz7r+qwFV/uujpKSdARsCbzbDktTi+lACPALeloiHowAAAAACAGH/6wQoBhEAGwApAAABMhId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ACkAAAAHAJoA0QFy//8AZv5MA/cGBAImAEkAAAAGAJpdGwAA//8Ahf/rBNsHYQImACkAAAAHAJwA/AGx//8AZv5MA/cGCgImAEkAAAAHAJwAiABa//8Ahf/rBNsHIgImACkAAAAHAJ0BoAFy//8AZv5MA/cFywImAEkAAAAHAJ0BLAAb//8Ahf3lBNsFxQImACkAAAAHAZEBq/62//8AZv5MA/cGbQImAEkAAAAHAaUBMwBW//8AtgAABP0HRgImACoAAAAHAJoA+gFd//8AkQAAA/oHRQImAEoAAAAHAJoAIwFc////xQAAAncHUQImACsAAAAHAKD/QwFg////ngAAAlAF+gImAIoAAAAHAKD/HAAJ////vwAAAokG+gImACsAAAAHAG7/RwFK////mAAAAmIFpAImAIoAAAAHAG7/IP/0////9QAAAkwHTAImACsAAAAHAJz/dAGc////zgAAAiUF9QImAIoAAAAHAJz/TQBF//8AIf5YAYEFsAImACsAAAAGAJ/vCAAA//8AAP5QAWAGGAImAEsAAAAGAJ/OAAAA//8AtwAAAYYHDQImACsAAAAHAJ0AFwFd//8Aw//rBf8FsAAmACsAAAAHACwCPwAA//8Aof5LA2MGGAAmAEsAAAAHAEwB/AAA//8AP//rBIsHOQImACwAAAAHAJoBhQFQ////tP5LAjkF3AImAJgAAAAHAJr/M//z//8Atv31BRwFsAImAC0AAAAHAZEBev7G//8Akv33BBQGGAImAE0AAAAHAZEBGP7I//8AtgAABCUG4AImAC4AAAAHAHMANwEa//8AoQAAAkMHXAImAE4AAAAHAHMAJQGW//8Atv33BCUFsAImAC4AAAAHAZEBdP7I//8AW/33AVoGGAImAE4AAAAHAZH///7I//8AtgAABCUFsQImAC4AAAAHAZEB2QTF//8AoQAAAq0GGAAmAE4AAAAHAZEBVgUs//8AtgAABCUFsAImAC4AAAAHAJ0Bxf3F//8AoQAAAq0GGAAmAE4AAAAHAJ0BPv23//8AtgAABP4HHwImADAAAAAHAHMB/wFZ//8AkQAAA/gF3QImAFAAAAAHAHMBaQAX//8Atv33BP4FsAImADAAAAAHAZEB2P7I//8Akf33A/gETgImAFAAAAAHAZEBQv7I//8AtgAABP4HRwImADAAAAAHAJsBFwFe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//8AWP5SA6wETAImAOoAAAAHAZwBQ/+5//8Ag/5RBMkFxQImACUAAAAHAZwB7v+4//8AYf5RA/IETgImAEUAAAAHAZwBWP+4//8AHgAABNMFsAIGADsAAP//AC7+YAPfBDoCBgC4AAD//wDDAAABfAWwAgYAKwAA//8AGwAABygHTAImANUAAAAHAJwB+AGc//8AFQAABgQF9QImAOkAAAAHAJwBjQBF//8AwwAAAXwFsAIGACsAAP//ACcAAAUiB0wCJgAjAAAABwCcAPsBnP//AHL/7APsBgoCJgBDAAAABgCcfVoAAP//ACcAAAUiBwwCJgAjAAAABwBoAKoBXP//AHL/7APsBcoCJgBDAAAABgBoLBoAAP////IAAAdXBbACBgB/AAD//wA9/+sGfAROAgYAhAAA//8AtgAABHUHTAImACcAAAAHAJwAxwGc//8AYv/sA+kGCwImAEcAAAAHAJwAggBb//8AX//rBRAG3gImAUEAAAAHAGgAfQEu//8AYv/sA+kETwIGAJkAAP//AGL/7APpBcsCJgCZAAAABgBoMRsAAP//ABsAAAcoBwwCJgDVAAAABwBoAacBXP//ABUAAAYEBbUCJgDpAAAABwBoATwABf//AFH/6wRnByECJgDWAAAABwBoAGEBcf//AFj/7QOsBckCJgDqAAAABgBoCBkAAP//ALYAAAT+BvoCJgDXAAAABwBuAQQBSv//AJwAAAQBBaQCJgDrAAAABgBudfQAAP//ALYAAAT+BwwCJgDXAAAABwBoAOABXP//AJwAAAQBBbUCJgDrAAAABgBoUQUAAP//AIL/6wUNByECJgAxAAAABwBoAMoBcf//AGD/7AQnBcoCJgBRAAAABgBoSRoAAP//AHP/6wT+BcUCBgESAAD//wBg/+wEJwROAgYBEwAA//8Ac//rBP4HBwImARIAAAAHAGgA0gFX//8AYP/sBCcF5gImARMAAAAGAGgyNgAA//8Asf/sBPYHIgImAOIAAAAHAGgAtwFy//8AZP/rA+AFygImAPoAAAAGAGgmGgAA//8AUf/rBMgG+gImANkAAAAHAG4ArQFK//8AG/5LA+QFpAImAFsAAAAGAG4p9AAA//8AUf/rBMgHDAImANkAAAAHAGgAiQFc//8AG/5LA+QFtQImAFsAAAAGAGgFBQAA//8AUf/rBMgHSwIm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IABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMgAuADAAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAcABhAGMAaABlAC4AbwByAGcALwBsAGkAYwBlAG4AcwBlAHMALwBMAEkAQwBFAE4AUwBFAC0AMgAuADAAAAAAAgAAAAAAAP9qAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAQcAAABAgACAAMABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAowCEAIUAvQCWAOgAhgCOAIsAnQCpAKQAigEDAIMAkwDyAPMAjQCXAIgBBADeAPEAngCqAPUA9AD2AKIAkADwAJEA7QCJAKAA6gC4AKEA7gEFANcBBgDiAOMBBwEIALAAsQEJAKYBCgELAQwBDQEOAQ8A2ADhANsA3ADdAOAA2QDfARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAR8BIAEhASIAnwEjASQBJQEmAScBKAEpASoBKwEsAS0AmwEuAS8BMAExATIBMwE0ATUBNgE3ATgBOQE6ATsBPAE9AT4BPwFAAUEBQgFDAUQBRQFGAUcBSAFJAUoBSwFMAU0BTgFPAVABUQFSAVMBVAFVAVYBVwFYAVkBWgFbAVwBXQFeAV8BYAFhAWIBYwFkAWUBZgFnAWgBaQFqAWsBbAFtAW4BbwFwAXEBcgFzAXQBdQF2AXcBeAF5AXoBewF8AX0BfgF/AYABgQGCAYMBhAGFAYYBhwGIAYkBigGLAYwBjQGOAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNALIAswHOALYAtwDEAc8AtAC1AMUAggDCAIcB0ACrAMYAvgC/ALwB0QHSAdMB1AHVAdYB1wHYAIwB2QHaAdsB3AHdAJgAmgCZAO8ApQCSAJwApwCPAJQAlQC5Ad4B3wHgAMAB4QHiAeMB5AHlAeYB5wHoAekB6gHrAewB7QHuAe8B8AHxAfIB8wH0AfUB9gH3AfgB+QH6AfsB/AH9Af4B/wIAAgECAgIDAgQCBQIGAgcCCAIJAgoCCwIMAg0CDgIPAhACEQISAhMCFAIVAhYCFwIYAhkCGgIbAhwCHQIeAh8CIAIhAiICIwIkAiUCJgInAigCKQIqAisCLAItAi4CLwIwAjECMgIzAjQCNQI2AjcArAI4AjkA6QI6AjsCPACtAMkAxwCuAGIAYwI9AGQAywBlAMgAygDPAMwAzQDOAGYA0wDQANEArwBnANYA1ADVAGgA6wBqAGkAawBtAGwAbgI+AG8AcQBwAHIAcwB1AHQAdgB3AHgAegB5AHsAfQB8AH8AfgCAAIEA7AC6Aj8CQAJBAkICQwJEAP0A/gJFAkYCRwJIAP8BAAJJAkoCSwJMAk0CTgJPAlACUQJSAlMCVAJVAlYA+AD5AlcCWAJZAloCWwJcAl0CXgJfAmACYQJiAmMCZAJlAmYCZwJoAmkCagJrAmwCbQJuAm8CcAJxAnICcwJ0AnUCdgJ3AngCeQJ6AnsCfAJ9An4CfwKAAoECggKDAoQChQKGAocCiAKJAooA+wD8AosCjADkAOUCjQKOAo8CkAKRApICkwKUApUClgKXApgCmQKaApsCnAKdAp4CnwKgAqECogC7AqMCpAKlAqYA5gDnAqcCqAKpAqoCqwKsAq0CrgKvArACsQKyArMCtAK1ArYCtwK4ArkCugK7ArwCvQK+Ar8CwALBAsICwwLEAsUCxgLHAsgCyQLKAssCzALNAs4CzwLQAtEC0gLTAtQC1QLWAtcC2ALZAtoC2wLcAt0C3gLfAuAC4QLiAuMC5ALlAuYC5wLoAukC6gLrAuwC7QLuAu8C8ALxAvIC8wL0AvUC9gL3AvgC+QL6AvsC/AL9Av4C/wMAAwEDAgMDAwQDBQMGAwcDCAMJAwoDCwMMAw0DDgMPAxADEQMSAxMDFAMVAxYDFwMYAxkDGgMbAxwDHQMeAx8DIAMhAyIDIwMkAyUDJgMnAygDKQMqAysDLAMtAy4DLwMwAzEDMgMzAzQDNQM2AzcDOAM5AzoDOwM8Az0DPgM/A0ADQQNCA0MDRANFA0YDRwNIA0kDSgNLA0wDTQNOA08DUANRA1IDUwNUA1UDVgNXA1gDWQNaA1sDXANdA14DXwNgA2EDYgNjA2QDZQNmA2cDaANpA2oDawNsA20DbgNvA3ADcQNyA3MDdAN1A3YDdwN4A3kDegN7A3wDfQN+A38DgAOBA4IDgwOEA4UDhgOHA4gDiQOKA4sDjAONA44DjwOQA5EDkgOTA5QDlQOWA5cDmAOZA5oDmwOcA50DngOfA6ADoQOiA6MDpAOlA6YDpwOoA6kDqgOrA6wDrQOuA68DsAOxA7IDswO0A7UDtgO3A7gDuQO6A7sDvAO9A74DvwPAA8EDwgPDA8QDxQPGA8cDyAPJA8oDywPMA80DzgPPA9AD0QPSA9MD1APVA9YD1wPYA9kD2gPbA9wD3QPeA98D4APhA+ID4wPkA+UD5gPnA+gD6QPqA+sD7APtA+4D7wPwA/ED8gPzA/QD9QP2A/cD+AP5A/oD+wP8A/0D/gP/BAAEAQQCBAMEBAQFBAYEBwQIBAkECgQLBAwEDQQOBA8EEAQRBBIEEwQUBBUEFgQXBBgEGQQaBBsEHAQdBB4EHwQgBCEA9wQiBCMABAd1bmkwMDA5Bm1hY3Jvbg5wZXJpb2RjZW50ZXJlZARIYmFyDGtncmVlbmxhbmRpYwNFbmcDZW5nBWxvbmdzBU9ob3JuBW9ob3JuBVVob3JuBXVob3JuB3VuaTAyMzcFc2Nod2EHdW5pMDJGMwlncmF2ZWNvbWIJYWN1dGVjb21iCXRpbGRlY29tYgRob29rB3VuaTAzMEYIZG90YmVsb3cFdG9ub3MNZGllcmVzaXN0b25vcwlhbm90ZWxlaWEFR2FtbWEFRGVsdGEFVGhldGEGTGFtYmRhAlhpAlBpBVNpZ21hA1BoaQNQc2kFYWxwaGEEYmV0YQVnYW1tYQVkZWx0YQdlcHNpbG9uBHpldGEDZXRhBXRoZXRhBGlvdGEGbGFtYmRhAnhpA3JobwZzaWdtYTEFc2lnbWEDdGF1B3Vwc2lsb24DcGhpA3BzaQVvbWVnYQd1bmkwM0QxB3VuaTAzRDIHdW5pMDNENgd1bmkwNDAyB3VuaTA0MDQHdW5pMDQwOQd1bmkwNDBBB3VuaTA0MEIHdW5pMDQwRgd1bmkwNDExB3VuaTA0MTQHdW5pMDQxNgd1bmkwNDE3B3VuaTA0MTgHdW5pMDQxQgd1bmkwNDIzB3VuaTA0MjQHdW5pMDQyNgd1bmkwNDI3B3VuaTA0MjgHdW5pMDQyOQd1bmkwNDJBB3VuaTA0MkIHdW5pMDQyQwd1bmkwNDJEB3VuaTA0MkUHdW5pMDQyRgd1bmkwNDMxB3VuaTA0MzIHdW5pMDQzMwd1bmkwNDM0B3VuaTA0MzYHdW5pMDQzNwd1bmkwNDM4B3VuaTA0M0EHdW5pMDQzQgd1bmkwNDNDB3VuaTA0M0QHdW5pMDQzRgd1bmkwNDQyB3VuaTA0NDQHdW5pMDQ0Ngd1bmkwNDQ3B3VuaTA0NDgHdW5pMDQ0OQd1bmkwNDRBB3VuaTA0NEIHdW5pMDQ0Qwd1bmkwNDREB3VuaTA0NEUHdW5pMDQ0Rgd1bmkwNDUyB3VuaTA0NTQHdW5pMDQ1OQd1bmkwNDVBB3VuaTA0NUIHdW5pMDQ1Rgd1bmkwNDYwB3VuaTA0NjEHdW5pMDQ2Mwd1bmkwNDY0B3VuaTA0NjUHdW5pMDQ2Ngd1bmkwNDY3B3VuaTA0NjgHdW5pMDQ2OQd1bmkwNDZBB3VuaTA0NkIHdW5pMDQ2Qwd1bmkwNDZEB3VuaTA0NkUHdW5pMDQ2Rgd1bmkwNDcyB3VuaTA0NzMHdW5pMDQ3NAd1bmkwNDc1B3VuaTA0N0EHdW5pMDQ3Qgd1bmkwNDdDB3VuaTA0N0QHdW5pMDQ3RQd1bmkwNDdGB3VuaTA0ODAHdW5pMDQ4MQd1bmkwNDgyB3VuaTA0ODMHdW5pMDQ4NAd1bmkwNDg1B3VuaTA0ODYHdW5pMDQ4OAd1bmkwNDg5B3VuaTA0OEQHdW5pMDQ4RQd1bmkwNDhGB3VuaTA0OTAHdW5pMDQ5MQd1bmkwNDk0B3VuaTA0OTUHdW5pMDQ5Qwd1bmkwNDlEB3VuaTA0QTAHdW5pMDRBMQd1bmkwNEE0B3VuaTA0QTUHdW5pMDRBNgd1bmkwNEE3B3VuaTA0QTgHdW5pMDRBOQd1bmkwNEI0B3VuaTA0QjUHdW5pMDRCOAd1bmkwNEI5B3VuaTA0QkEHdW5pMDRCQwd1bmkwNEJEB3VuaTA0QzMHdW5pMDRDNAd1bmkwNEM3B3VuaTA0QzgHdW5pMDREOAd1bmkwNEUwB3VuaTA0RTEHdW5pMDRGQQd1bmkwNEZCB3VuaTA1MDAHdW5pMDUwMgd1bmkwNTAzB3VuaTA1MDQHdW5pMDUwNQd1bmkwNTA2B3VuaTA1MDcHdW5pMDUwOAd1bmkwNTA5B3VuaTA1MEEHdW5pMDUwQgd1bmkwNTBDB3VuaTA1MEQHdW5pMDUwRQd1bmkwNTBGB3VuaTA1MTAHdW5pMjAwMAd1bmkyMDAxB3VuaTIwMDIHdW5pMjAwMwd1bmkyMDA0B3VuaTIwMDUHdW5pMjAwNgd1bmkyMDA3B3VuaTIwMDgHdW5pMjAwOQd1bmkyMDBBB3VuaTIwMEINdW5kZXJzY29yZWRibA1xdW90ZXJldmVyc2VkB3VuaTIwMjUHdW5pMjA3NAluc3VwZXJpb3IEbGlyYQZwZXNldGEERXVybwd1bmkyMTA1B3VuaTIxMTMHdW5pMjExNgllc3RpbWF0ZWQJb25lZWlnaHRoDHRocmVlZWlnaHRocwtmaXZlZWlnaHRocwxzZXZlbmVpZ2h0aHMKY29sb24ubG51bQlxdW90ZWRibHgLY29tbWFhY2NlbnQHdW5pRkVGRgd1bmlGRkZDB3VuaUZGRkQJZml2ZS5zbWNwCGZvdXIuc3VwCXplcm8ubG51bQ5sYXJnZXJpZ2h0aG9vawxjeXJpbGxpY2hvb2sQY3lyaWxsaWNob29rbGVmdAtjeXJpbGxpY3RpYw5icmV2ZXRpbGRlY29tYg1icmV2ZWhvb2tjb21iDmJyZXZlYWN1dGVjb21iE2NpcmN1bWZsZXh0aWxkZWNvbWISY2lyY3VtZmxleGhvb2tjb21iE2NpcmN1bWZsZXhncmF2ZWNvbWITY2lyY3VtZmxleGFjdXRlY29tYg5icmV2ZWdyYXZlY29tYhFjb21tYWFjY2VudHJvdGF0ZQZBLnNtY3AGQi5zbWNwBkMuc21jcAZELnNtY3AGRS5zbWNwBkYuc21jcAZHLnNtY3AGSC5zbWNwBkkuc21jcAZKLnNtY3AGSy5zbWNwBkwuc21jcAZNLnNtY3AGTi5zbWNwBk8uc21jcAZRLnNtY3AGUi5zbWNwBlMuc21jcAZULnNtY3AGVS5zbWNwBlYuc21jcAZXLnNtY3AGWC5zbWNwBlkuc21jcAZaLnNtY3AJemVyby5zbWNwCG9uZS5zbWNwCHR3by5zbWNwCnRocmVlLnNtY3AJZm91ci5zbWNwCHR3by5sbnVtCHNpeC5zbWNwCnNldmVuLnNtY3AKZWlnaHQuc21jcAluaW5lLnNtY3AHb25lLnN1cAd0d28uc3VwCXRocmVlLnN1cAhvbmUubG51bQhmaXZlLnN1cAdzaXguc3VwCXNldmVuLnN1cAllaWdodC5zdXAIbmluZS5zdXAIemVyby5zdXAIY3Jvc3NiYXIJcmluZ2FjdXRlCWRhc2lhb3hpYQp0aHJlZS5sbnVtCWZvdXIubG51bQlmaXZlLmxudW0Ic2l4LmxudW0FZy5hbHQKc2V2ZW4ubG51bQdjaGkuYWx0CmVpZ2h0LmxudW0JYWxwaGEuYWx0CWRlbHRhLmFsdARELmNuBGEuY24FUi5hbHQFSy5hbHQFay5hbHQGSy5hbHQyBmsuYWx0MgluaW5lLmxudW0GUC5zbWNwDWN5cmlsbGljYnJldmUHdW5pMDBBRAZEY3JvYXQEaGJhcgRUYmFyBHRiYXIKQXJpbmdhY3V0ZQphcmluZ2FjdXRlB0FtYWNyb24HYW1hY3JvbgZBYnJldmUGYWJyZXZlB0FvZ29uZWsHYW9nb25lawtDY2lyY3VtZmxleAtjY2lyY3VtZmxleAd1bmkwMTBBB3VuaTAxMEIGRGNhcm9uBmRjYXJvbgdFbWFjcm9uB2VtYWNyb24GRWJyZXZlBmVicmV2ZQpFZG90YWNjZW50CmVkb3RhY2NlbnQHRW9nb25lawdlb2dvbmVrBkVjYXJvbgZlY2Fyb24LR2NpcmN1bWZsZXgLZ2NpcmN1bWZsZXgHdW5pMDEyMAd1bmkwMTIxDEdjb21tYWFjY2VudAxnY29tbWFhY2NlbnQLSGNpcmN1bWZsZXgLaGNpcmN1bWZsZXgGSXRpbGRlBml0aWxkZQdJbWFjcm9uB2ltYWNyb24GSWJyZXZlBmlicmV2ZQdJb2dvbmVrB2lvZ29uZWsKSWRvdGFjY2VudAJJSgJpagtKY2lyY3VtZmxleAtqY2lyY3VtZmxleAxLY29tbWFhY2NlbnQMa2NvbW1hYWNjZW50BkxhY3V0ZQZsYWN1dGUMTGNvbW1hYWNjZW50DGxjb21tYWFjY2VudAZMY2Fyb24GbGNhcm9uBExkb3QEbGRvdAZOYWN1dGUGbmFjdXRlDE5jb21tYWFjY2VudAxuY29tbWFhY2NlbnQGTmNhcm9uBm5jYXJvbgtuYXBvc3Ryb3BoZQdPbWFjcm9uB29tYWNyb24GT2JyZXZlBm9icmV2ZQ1PaHVuZ2FydW1sYXV0DW9odW5nYXJ1bWxhdXQGUmFjdXRlBnJhY3V0ZQxSY29tbWFhY2NlbnQMcmNvbW1hYWNjZW50BlJjYXJvbgZyY2Fyb24GU2FjdXRlBnNhY3V0ZQtTY2lyY3VtZmxleAtzY2lyY3VtZmxleAd1bmkwMjE4B3VuaTAyMTkHdW5pMDIxQQd1bmkwMjFCB3VuaTAxNjIHdW5pMDE2MwZUY2Fyb24GdGNhcm9uBlV0aWxkZQZ1dGlsZGUHVW1hY3Jvbgd1bWFjcm9uBlVicmV2ZQZ1YnJldmUFVXJpbmcFdXJpbmcNVWh1bmdhcnVtbGF1dA11aHVuZ2FydW1sYXV0B1VvZ29uZWsHdW9nb25lawtXY2lyY3VtZmxleAt3Y2lyY3VtZmxleAtZY2lyY3VtZmxleAt5Y2lyY3VtZmxleAZaYWN1dGUGemFjdXRlClpkb3RhY2NlbnQKemRvdGFjY2VudAdBRWFjdXRlB2FlYWN1dGULT3NsYXNoYWN1dGULb3NsYXNoYWN1dGULRGNyb2F0LnNtY3AIRXRoLnNtY3AJVGJhci5zbWNwC0FncmF2ZS5zbWNwC0FhY3V0ZS5zbWNwEEFjaXJjdW1mbGV4LnNtY3ALQXRpbGRlLnNtY3AOQWRpZXJlc2lzLnNtY3AKQXJpbmcuc21jcA9BcmluZ2FjdXRlLnNtY3ANQ2NlZGlsbGEuc21jcAtFZ3JhdmUuc21jcAtFYWN1dGUuc21jcBBFY2lyY3VtZmxleC5zbWNwDkVkaWVyZXNpcy5zbWNwC0lncmF2ZS5zbWNwC0lhY3V0ZS5zbWNwEEljaXJjdW1mbGV4LnNtY3AOSWRpZXJlc2lzLnNtY3ALTnRpbGRlLnNtY3ALT2dyYXZlLnNtY3ALT2FjdXRlLnNtY3AQT2NpcmN1bWZsZXguc21jcAtPdGlsZGUuc21jcA5PZGllcmVzaXMuc21jcAtVZ3JhdmUuc21jcAtVYWN1dGUuc21jcBBVY2lyY3VtZmxleC5zbWNwDlVkaWVyZXNpcy5zbWNwC1lhY3V0ZS5zbWNwDEFtYWNyb24uc21jcAtBYnJldmUuc21jcAxBb2dvbmVrLnNtY3ALQ2FjdXRlLnNtY3AQQ2NpcmN1bWZsZXguc21jcAx1bmkwMTBBLnNtY3ALQ2Nhcm9uLnNtY3ALRGNhcm9uLnNtY3AMRW1hY3Jvbi5zbWNwC0VicmV2ZS5zbWNwD0Vkb3RhY2NlbnQuc21jcAxFb2dvbmVrLnNtY3ALRWNhcm9uLnNtY3AQR2NpcmN1bWZsZXguc21jcAtHYnJldmUuc21jcAx1bmkwMTIwLnNtY3ARR2NvbW1hYWNjZW50LnNtY3AQSGNpcmN1bWZsZXguc21jcAtJdGlsZGUuc21jcAxJbWFjcm9uLnNtY3ALSWJyZXZlLnNtY3AMSW9nb25lay5zbWNwD0lkb3RhY2NlbnQuc21jcBBKY2lyY3VtZmxleC5zbWNwEUtjb21tYWFjY2VudC5zbWNwC0xhY3V0ZS5zbWNwEUxjb21tYWFjY2VudC5zbWNwC0xjYXJvbi5zbWNwCUxkb3Quc21jcAtOYWN1dGUuc21jcBFOY29tbWFhY2NlbnQuc21jcAtOY2Fyb24uc21jcAxPbWFjcm9uLnNtY3ALT2JyZXZlLnNtY3AST2h1bmdhcnVtbGF1dC5zbWNwC1JhY3V0ZS5zbWNwEVJjb21tYWFjY2VudC5zbWNwC1JjYXJvbi5zbWNwC1NhY3V0ZS5zbWNwEFNjaXJjdW1mbGV4LnNtY3ANU2NlZGlsbGEuc21jcAtTY2Fyb24uc21jcBFUY29tbWFhY2NlbnQuc21jcAtUY2Fyb24uc21jcAtVdGlsZGUuc21jcAxVbWFjcm9uLnNtY3ALVWJyZXZlLnNtY3AKVXJpbmcuc21jcBJVaHVuZ2FydW1sYXV0LnNtY3AMVW9nb25lay5zbWNwEFdjaXJjdW1mbGV4LnNtY3AQWWNpcmN1bWZsZXguc21jcA5ZZGllcmVzaXMuc21jcAtaYWN1dGUuc21jcA9aZG90YWNjZW50LnNtY3ALWmNhcm9uLnNtY3APZ2VybWFuZGJscy5zbWNwCkFscGhhdG9ub3MMRXBzaWxvbnRvbm9zCEV0YXRvbm9zCUlvdGF0b25vcwxPbWljcm9udG9ub3MMVXBzaWxvbnRvbm9zCk9tZWdhdG9ub3MRaW90YWRpZXJlc2lzdG9ub3MFQWxwaGEEQmV0YQdFcHNpbG9uBFpldGEDRXRhBElvdGEFS2FwcGECTXUCTnUHT21pY3JvbgNSaG8DVGF1B1Vwc2lsb24DQ2hpDElvdGFkaWVyZXNpcw9VcHNpbG9uZGllcmVzaXMKYWxwaGF0b25vcwxlcHNpbG9udG9ub3MIZXRhdG9ub3MJaW90YXRvbm9zFHVwc2lsb25kaWVyZXNpc3Rvbm9zBWthcHBhB29taWNyb24HdW5pMDNCQwJudQNjaGkMaW90YWRpZXJlc2lzD3Vwc2lsb25kaWVyZXNpcwxvbWljcm9udG9ub3MMdXBzaWxvbnRvbm9zCm9tZWdhdG9ub3MHdW5pMDQwMQd1bmkwNDAzB3VuaTA0MDUHdW5pMDQwNgd1bmkwNDA3B3VuaTA0MDgHdW5pMDQxQQd1bmkwNDBDB3VuaTA0MEUHdW5pMDQxMAd1bmkwNDEyB3VuaTA0MTMHdW5pMDQxNQd1bmkwNDE5B3VuaTA0MUMHdW5pMDQxRAd1bmkwNDFFB3VuaTA0MUYHdW5pMDQyMAd1bmkwNDIxB3VuaTA0MjIHdW5pMDQyNQd1bmkwNDMwB3VuaTA0MzUHdW5pMDQzOQd1bmkwNDNFB3VuaTA0NDAHdW5pMDQ0MQd1bmkwNDQzB3VuaTA0NDUHdW5pMDQ1MQd1bmkwNDUzB3VuaTA0NTUHdW5pMDQ1Ngd1bmkwNDU3B3VuaTA0NTgHdW5pMDQ1Qwd1bmkwNDVFBldncmF2ZQZ3Z3JhdmUGV2FjdXRlBndhY3V0ZQlXZGllcmVzaXMJd2RpZXJlc2lzBllncmF2ZQZ5Z3JhdmUGbWludXRlBnNlY29uZAlleGNsYW1kYmwHdW5pRkIwMgd1bmkwMUYwB3VuaTAyQkMHdW5pMUUzRQd1bmkxRTNGB3VuaTFFMDAHdW5pMUUwMQd1bmkxRjREB3VuaUZCMDMHdW5pRkIwNAd1bmkwNDAwB3VuaTA0MEQHdW5pMDQ1MAd1bmkwNDVEB3VuaTA0NzAHdW5pMDQ3MQd1bmkwNDc2B3VuaTA0NzcHdW5pMDQ3OQd1bmkwNDc4B3VuaTA0OTgHdW5pMDQ5OQd1bmkwNEFBB3VuaTA0QUIHdW5pMDRBRQd1bmkwNEFGB3VuaTA0QzAHdW5pMDRDMQd1bmkwNEMyB3VuaTA0Q0YHdW5pMDREMAd1bmkwNEQxB3VuaTA0RDIHdW5pMDREMwd1bmkwNEQ0B3VuaTA0RDUHdW5pMDRENgd1bmkwNEQ3B3VuaTA0REEHdW5pMDREOQd1bmkwNERCB3VuaTA0REMHdW5pMDRERAd1bmkwNERFB3VuaTA0REYHdW5pMDRFMgd1bmkwNEUzB3VuaTA0RTQHdW5pMDRFNQd1bmkwNEU2B3VuaTA0RTcHdW5pMDRFOAd1bmkwNEU5B3VuaTA0RUEHdW5pMDRFQgd1bmkwNEVDB3VuaTA0RUQHdW5pMDRFRQd1bmkwNEVGB3VuaTA0RjAHdW5pMDRGMQd1bmkwNEYyB3VuaTA0RjMHdW5pMDRGNAd1bmkwNEY1B3VuaTA0RjgHdW5pMDRGOQd1bmkwNEZDB3VuaTA0RkQHdW5pMDUwMQd1bmkwNTEyB3VuaTA1MTMHdW5pMUVBMAd1bmkxRUExB3VuaTFFQTIHdW5pMUVBMwd1bmkxRUE0B3VuaTFFQTUHdW5pMUVBNgd1bmkxRUE3B3VuaTFFQTgHdW5pMUVBOQd1bmkxRUFBB3VuaTFFQUIHdW5pMUVBQwd1bmkxRUFEB3VuaTFFQUUHdW5pMUVBRgd1bmkxRUIwB3VuaTFFQjEHdW5pMUVCMgd1bmkxRUIzB3VuaTFFQjQHdW5pMUVCNQd1bmkxRUI2B3VuaTFFQjcHdW5pMUVCOAd1bmkxRUI5B3VuaTFFQkEHdW5pMUVCQgd1bmkxRUJDB3VuaTFFQkQHdW5pMUVCRQd1bmkxRUJGB3VuaTFFQzAHdW5pMUVDMQd1bmkxRUMyB3VuaTFFQzMHdW5pMUVDNAd1bmkxRUM1B3VuaTFFQzYHdW5pMUVDNwd1bmkxRUM4B3VuaTFFQzkHdW5pMUVDQQd1bmkxRUNCB3VuaTFFQ0MHdW5pMUVDRAd1bmkxRUNFB3VuaTFFQ0YHdW5pMUVEMAd1bmkxRUQxB3VuaTFFRDIHdW5pMUVEMwd1bmkxRUQ0B3VuaTFFRDUHdW5pMUVENgd1bmkxRUQ3B3VuaTFFRDgHdW5pMUVEOQd1bmkxRURBB3VuaTFFREIHdW5pMUVEQwd1bmkxRUREB3VuaTFFREUHdW5pMUVERgd1bmkxRUUwB3VuaTFFRTEHdW5pMUVFMgd1bmkxRUUzB3VuaTFFRTQHdW5pMUVFNQd1bmkxRUU2B3VuaTFFRTcHdW5pMUVFOAd1bmkxRUU5B3VuaTFFRUEHdW5pMUVFQgd1bmkxRUVDB3VuaTFFRUQH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Adz/4QALAOH/1ADx/8kBBP/lARv/4wEv/8QBOP/hAUn/1AFK//UBS//nAVP/0gFU/8kACQDh/8MA8f/PAS//zgE4/+cBO//fAUn/0QFL/+wBU/+gAVT/0QAJAOH/wwDx/88BL//OATj/5wE7/98BSf/RAUv/7AFT/6ABVP/RAAgA4f/JAPH/3wEE/+0BG//rAS//3wE7/+kBSv/1AVT/4AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACADh/+YA8f/QAS//zgE4/+gBSf/nAUv/7QFT/+YBVP/QAAsA1AAUAOH/4ADoABMBOP/hATn/4AE8/+EBQf/pAUn/3wFL/94BU//fAVX/8gAYALP/1AC9/+0AvwARAMX/4ADH/+cAyP/lAMn/7gDUABIA5f/pAPH/1wEv/9cBOf/TATv/1gE8/8UBQf/nAUkADQFLAAwBVP/WAVX/8gGp/+kBrf/nAbX/5wG2/+kB3//wAAUAGf/yAOH/8QFJ//IBS//yAVP/8gAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kABIA1P+uAOEAEgDm/+AA6P+tAOr/1gD4/98A/P/SAQL/4AEX/84BJ//dASn/4gEt/+ABM//gATn/6QE8/9oBRv+9AVD/3wFTABEACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAMANQAEwDh/+YA4v/0AOgAEgDx/+cBL//nATj/5QE5/+gBSf/mAUv/5gFT/+YBVP/nAAkA4f/DAPH/zwEv/84BOP/nATv/3wFJ/9EBS//sAVP/oAFU/9EACQDh/8MA8f/PAS//zgE4/+cBO//fAUn/0QFL/+wBU/+gAVT/0QACANT/4gFT/+QAAgDU/+EA6P/kAAYA6P/uAPH/7gEE//QBG//xAS//7wFU/+8ABADx//QBBP/1AS//9QFU//UAAgDo/8kBF//uAAYA6AAUAPH/7QD3/+IBL//tATn/7QFU/+0AAQEX//EABQEX/+sBqf/rAa3/6QG1/+sBtv/rABMASAANAML/qwDD/8AAx//VAOj/qgEX/+IBGwAMAUoACwFMAAsBp/+/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/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABAAL/+YAP//0AF//7wE8/+0ABQBI/+4AWf/qAbv/8AG8/+0Bvv/wAAUASP/uAFn/6gG7//ABvP/tAb7/8AAFAEj/7gBZ/+oBu//wAbz/7QG+//AABQBI/+4AWf/qAbv/8AG8/+0Bvv/wAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABp//tAb3/9QAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGn/+0Bvf/1AAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAaf/7QG9//UACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABp//tAb3/9QAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGn/+0Bvf/1AAEBp//rAAEBp//rAAEBp//rAAEBp//rACQACP/iAAsAFAAM/88APwASAEj/6gBU/9gAVv/qAF8AEwBr/64Aev/NAH//oACE/8EAh//AALP/0AC3/+oAuv/GALsADQC9/+kAvv/WAMH/6ADC/7oAxf/pAMf/ywDI/9oAyf/HAW7/0wGn/6sBqf/NAa3/ywG1/8sBtv/LAbn/8wG8//MBvf/vAdz/6AHf/+4ABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MAAQDx//UAAQDx//UAAQDx//UAAQDx//UAAQDx/8AACQDF/+oA6P+4APH/6gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAMX/6gDo/7gA8f/qAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAkAxf/qAOj/uADx/+oBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oACQDF/+oA6P+4APH/6gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAMX/6gDo/7gA8f/qAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAcASAANAMEACwDC/+oAxQAMAOj/yAEX//EB3//1AAcASAANAMEACwDC/+oAxQAMAOj/yAEX//EB3//1ABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TAAQAC//mAD//9ABf/+8BPP/tAAQAC//mAD//9ABf/+8BPP/tAAQAC//mAD//9ABf/+8BPP/tAAQAC//mAD//9ABf/+8BPP/tAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAaf/7QG9//UABQBI/+4AWf/qAbv/8AG8/+0Bvv/wAAEA8f/1AAUASP/uAFn/6gG7//ABvP/tAb7/8AABAPH/9QAFAEj/7gBZ/+oBu//wAbz/7QG+//AAAQDx//UABQBI/+4AWf/qAbv/8AG8/+0Bvv/wAAEA8f/1AAUASP/uAFn/6gG7//ABvP/tAb7/8AABAPH/9QAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QAAQDx/8AACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AABAaf/6wATAFn/wQCz/8UAxf+0AOX/1wDx/7kBBP+yARf/0gEb/8gBL/+gATn/xQFB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/+wAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABQBI/+4AWf/qAbv/8AG8/+0Bvv/wAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABp//tAb3/9QAkAAj/4gALABQADP/PAD8AEgBI/+oAVP/YAFb/6gBfABMAa/+uAHr/zQB//6AAhP/BAIf/wACz/9AAt//qALr/xgC7AA0Avf/pAL7/1gDB/+gAwv+6AMX/6QDH/8sAyP/aAMn/xwFu/9MBp/+rAan/zQGt/8sBtf/LAbb/ywG5//MBvP/zAb3/7wHc/+gB3//uABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAIBDAALAVP/5gAFAEj/7gBZ/+oBu//wAbz/7QG+//AACABZ/+UAs//LAMj/5AGnAA0Bqf/tAa3/6wG1/+wBtv/sAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QAEwBZ/8EAs//FAMX/tADl/9cA8f+5AQT/sgEX/9IBG//IAS//oAE5/8UBQf/kAUr/zAFM/8wBVP/LAVX/7wGp/+gBrf/mAbX/5wG2/+cACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGn/+0Bvf/1AAkAVgAOAH//nwC//94Awv/lANT/qADo/8oBRv/jAaf/xgHf//UAOQBU/7UAWf/HAGv+uAB6/ygAf/9NAIT/jgCH/6EAs/+uALr/fgC+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Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABp//tAb3/9QAFAEj/7gBZ/+oBu//wAbz/7QG+//AAAQDx//UACQALABQAPwARAFT/4gBfABMBp/+0Aan/2QGt/9kBtf/ZAbb/2QAHAEgADQDBAAsAwv/qAMUADADo/8gBF//xAd//9QAEAAv/5gA///QAX//vATz/7QAkAAj/4gALABQADP/PAD8AEgBI/+oAVP/YAFb/6gBfABMAa/+uAHr/zQB//6AAhP/BAIf/wACz/9AAt//qALr/xgC7AA0Avf/pAL7/1gDB/+gAwv+6AMX/6QDH/8sAyP/aAMn/xwFu/9MBp/+rAan/zQGt/8sBtf/LAbb/ywG5//MBvP/zAb3/7wHc/+gB3//uAAcASAANAMEACwDC/+oAxQAMAOj/yAEX//EB3//1AAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAYALP/1AC9/+0AvwARAMX/4ADH/+cAyP/lAMn/7gDUABIA5f/pAPH/1wEv/9cBOf/TATv/1gE8/8UBQf/nAUkADQFLAAwBVP/WAVX/8gGp/+kBrf/nAbX/5wG2/+kB3//wAAEBF//xAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAcACH/wwBW/+8AWf/fAJb/7gCz/+UAtP/RAL8AEQDF/8gA1AATAOH/xQDx/8oBL/+fATj/UQE5/3sBO//KATz/3QFB//IBSf91AUv/ygFT/08BVP+MAa3/9QG1//UBuf/HAbr/8QG7/80BvP/dAb7/xAAHAPH/8AEE//EBG//zAS//8QFK//MBTP/pAVT/0wAcACH/wwBW/+8AWf/fAJb/7gCz/+UAtP/RAL8AEQDF/8gA1AATAOH/xQDx/8oBL/+fATj/UQE5/3sBO//KATz/3QFB//IBSf91AUv/ygFT/08BVP+MAa3/9QG1//UBuf/HAbr/8QG7/80BvP/dAb7/xAAHAPH/8AEE//EBG//zAS//8QFK//MBTP/pAVT/0wAFAEj/7gBZ/+oBu//wAbz/7QG+//AAAQDx//UAAQDx//UAAQDx//UAGACz/9QAvf/tAL8AEQDF/+AAx//nAMj/5QDJ/+4A1AASAOX/6QDx/9cBL//XATn/0wE7/9YBPP/FAUH/5wFJAA0BSwAMAVT/1gFV//IBqf/pAa3/5wG1/+cBtv/pAd//8AABARf/8QAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGn/+0Bvf/1AAkAxf/qAOj/uADx/+oBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oACQDF/+oA6P+4APH/6gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAGAMX/6gDo/+4A8f+wAS//7AFU/+wB3P/oABIA1P+uAOEAEgDm/+AA6P+tAOr/1gD4/98A/P/SAQL/4AEX/84BJ//dASn/4gEt/+ABM//gATn/6QE8/9oBRv+9AVD/3wFTABEABwBIAA0AwQALAML/6gDFAAwA6P/IARf/8QHf//UAEgDU/64A4QASAOb/4ADo/60A6v/WAPj/3wD8/9IBAv/gARf/zgEn/90BKf/iAS3/4AEz/+ABOf/pATz/2gFG/70BUP/fAVMAEQAHAEgADQDBAAsAwv/qAMUADADo/8gBF//xAd//9QASANT/rgDhABIA5v/gAOj/rQDq/9YA+P/fAPz/0gEC/+ABF//OASf/3QEp/+IBLf/gATP/4AE5/+kBPP/aAUb/vQFQ/98BUwARAAcASAANAMEACwDC/+oAxQAMAOj/yAEX//EB3//1ABgAs//UAL3/7QC/ABEAxf/gAMf/5wDI/+UAyf/uANQAEgDl/+kA8f/XAS//1wE5/9MBO//WATz/xQFB/+cBSQANAUsADAFU/9YBVf/yAan/6QGt/+cBtf/nAbb/6QHf//AAAQEX//EAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MABQBI/+4AWf/qAbv/8AG8/+0Bvv/wAAEA8f/1AAUASP/uAFn/6gG7//ABvP/tAb7/8AABAPH/9QAFAEj/7gBZ/+oBu//wAbz/7QG+//AAAQDx//UABQBI/+4AWf/qAbv/8AG8/+0Bvv/wAAEA8f/1AAUASP/uAFn/6gG7//ABvP/tAb7/8AABAPH/9QAFAEj/7gBZ/+oBu//wAbz/7QG+//AAAQDx//UABQBI/+4AWf/qAbv/8AG8/+0Bvv/wAAEA8f/1AAUASP/uAFn/6gG7//ABvP/tAb7/8AABAPH/9QAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAaf/7QG9//UACQDF/+oA6P+4APH/6gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGn/+0Bvf/1AAkAxf/qAOj/uADx/+oBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABp//tAb3/9QAJAMX/6gDo/7gA8f/qAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAaf/7QG9//UACQDF/+oA6P+4APH/6gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGn/+0Bvf/1AAkAxf/qAOj/uADx/+oBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABp//tAb3/9QAJAMX/6gDo/7gA8f/qAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAaf/7QG9//UACQDF/+oA6P+4APH/6gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAMX/6gDo/7gA8f/qAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAEBp//rAAEBp//rACQACP/iAAsAFAAM/88APwASAEj/6gBU/9gAVv/qAF8AEwBr/64Aev/NAH//oACE/8EAh//AALP/0AC3/+oAuv/GALsADQC9/+kAvv/WAMH/6ADC/7oAxf/pAMf/ywDI/9oAyf/HAW7/0wGn/6sBqf/NAa3/ywG1/8sBtv/LAbn/8wG8//MBvf/vAdz/6AHf/+4ABwBIAA0AwQALAML/6gDFAAwA6P/IARf/8QHf//UAJAAI/+IACwAUAAz/zwA/ABIASP/qAFT/2ABW/+oAXwATAGv/rgB6/80Af/+gAIT/wQCH/8AAs//QALf/6gC6/8YAuwANAL3/6QC+/9YAwf/oAML/ugDF/+kAx//LAMj/2gDJ/8cBbv/TAaf/qwGp/80Brf/LAbX/ywG2/8sBuf/zAbz/8wG9/+8B3P/oAd//7gAHAEgADQDBAAsAwv/qAMUADADo/8gBF//xAd//9QAkAAj/4gAL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/94CE//rAhT/6wIV/+sCFv/rAhf/6wId/+sCHv/rAh//6wIg/+sCIf/rAiL/6gIj/+oCJP/qAiX/6gIm/+gCJ//oAij/VgIp/94CKv9WAiv/3gIs/1YCLf/eAi//6wIx/+sCM//rAjX/6wI3/+sCOf/rAjv/6wI9/+sCP//rAkH/6wJD/+sCRf/rAkf/6wJJ/+sCV/74Amv/6wJt/+sCb//rAoAAFAKCABQChAAUAof/6gKJ/+oCi//qAo3/6gKP/+oCkf/qApX/6AL4/1YDAP9WAxD/6wMU/+oDFv/rAxj/6AMb/+oDHP/rAx3/6gMk/vgDKP9WAzMAFAM1/94DNv/rAzj/6wM6/+sDO//oAz3/6wNE/+gDTP/oA1X/VgNW/94DXP/rA2H/6ANi/+sDZ//rA2n/6ANu/1YDb//eA3D/VgNx/94Ddf/rA3f/6wN4/+sDgv/rA4T/6wOG/+sDiv/oA4z/6AOO/+gDlf/rA5j/VgOZ/94Dmv9WA5v/3gOc/1YDnf/eA57/VgOf/94DoP9WA6H/3gOi/1YDo//eA6T/VgOl/94Dpv9WA6f/3gOo/1YDqf/eA6r/VgOr/94DrP9WA63/3gOu/1YDr//eA7H/6wOz/+sDtf/rA7f/6wO5/+sDu//rA73/6wO//+sDxf/rA8f/6wPJ/+sDy//rA83/6wPP/+sD0f/rA9P/6wPV/+sD1//rA9n/6wPb/+sD3f/qA9//6gPh/+oD4//qA+X/6gPn/+oD6f/qA+v/6APt/+gD7//oA/YAFAAfADb/1QA4/+QAOf/sADv/3QDN/9UA0f/VART/5AEu/9UBNv/VAgv/3QKA/9UCgv/VAoT/1QKS/+wClP/dApb/3QL9/90DDP/dAw//3QMz/9UDRf/sA0f/7ANJ/+wDS//dA2D/5ANo/90D6v/dA+z/3QPu/90D9v/VBBP/3QAaADb/sAA4/+0AO//QAM3/sADR/7ABFP/tAS7/sAE2/7ACC//QAoD/sAKC/7AChP+wApT/0AKW/9AC/f/QAwz/0AMP/9ADM/+wA0v/0ANg/+0DaP/QA+r/0APs/9AD7v/QA/b/sAQT/9AAEAAs/+4AN//uAgf/7gII/+4CCf/uAgr/7gJX/+4Chv/uAoj/7gKK/+4CjP/uAo7/7gKQ/+4DJP/uA9z/7gPe/+4ARwAEABAACQAQAEX/6ABG/+gAR//oAEn/6ABT/+gAkf/oAJX/6AC2/+gAw//oAMT/6ADy/+gA/v/oARn/6AEd/+gBNf/oAUf/6AFI/+gBUv/oAWUAEAFmABABaAAQAWkAEAFqABACE//oAhT/6AIV/+gCFv/oAhf/6AIv/+gCMf/oAjP/6AI1/+gCN//oAjn/6AI7/+gCPf/oAj//6AJB/+gCQ//oAkX/6AJH/+gCSf/oAxD/6AM2/+gDOv/oAz3/6ANNABADTgAQA1IAEANc/+gDYv/oA2f/6AN1/+gDd//oA3j/6AOE/+gDlf/oA7H/6AOz/+gDtf/oA7f/6AO5/+gDu//oA73/6AO//+gD0//oA9X/6APX/+gD2//oAD0ARf/sAEb/7ABH/+wASf/sAFP/7ACR/+wAlf/sALb/7ADD/+wAxP/sAPL/7AD+/+wBGf/sAR3/7AE1/+wBR//sAUj/7AFS/+wCE//sAhT/7AIV/+wCFv/sAhf/7AIv/+wCMf/sAjP/7AI1/+wCN//sAjn/7AI7/+wCPf/sAj//7AJB/+wCQ//sAkX/7AJH/+wCSf/sAxD/7AM2/+wDOv/sAz3/7ANc/+wDYv/sA2f/7AN1/+wDd//sA3j/7AOE/+wDlf/sA7H/7AOz/+wDtf/sA7f/7AO5/+wDu//sA73/7AO//+wD0//sA9X/7APX/+wD2//sABcAUf/sARP/7AId/+wCHv/sAh//7AIg/+wCIf/sAmv/7AJt/+wCb//sAxb/7AMc/+wDOP/sA4L/7AOG/+wDxf/sA8f/7APJ/+wDy//sA83/7APP/+wD0f/sA9n/7AAGAA7/hAAQ/4QBZ/+EAWv/hAFv/4QBcP+EABAALP/sADf/7AIH/+wCCP/sAgn/7AIK/+wCV//sAob/7AKI/+wCiv/sAoz/7AKO/+wCkP/sAyT/7APc/+wD3v/sAAEpLAAEAAAAIgBOAMQBqgKQA2oEBAaeCGQJNgosC/IMJAxWDNQOug8wEAISFBLKFDAU6hVwFc4WkBcGFxgXQhiUGtIa9BwKHIgcshzcAB0ABP/yAAn/8gBY//MAW//zALj/8wEV//MBZf/yAWb/8gFo//IBaf/yAWr/8gIm//MCJ//zApX/8wMY//MDO//zA0T/8wNM//MDTf/yA07/8gNS//IDYf/zA2n/8wOK//MDjP/zA47/8wPr//MD7f/zA+//8wA5ACX/8wAp//MAMf/zADP/8wCB//MAkP/zAJT/8wCu//MAzv/zAQP/8wES//MBFv/zARj/8wEa//MBHP/zATT/8wFR//MB+P/zAgL/8wID//MCBP/zAgX/8wIG//MCLv/zAjD/8wIy//MCNP/zAkL/8wJE//MCRv/zAkj/8wJq//MCbP/zAm7/8wKf//MC/P/zAwn/8wMv//MDMv/zA1f/8wNj//MDZv/zA4H/8wOD//MDhf/zA8T/8wPG//MDyP/zA8r/8wPM//MDzv/zA9D/8wPS//MD1P/zA9b/8wPY//MD2v/zADkAJf/mACn/5gAx/+YAM//mAIH/5gCQ/+YAlP/mAK7/5gDO/+YBA//mARL/5gEW/+YBGP/mARr/5gEc/+YBNP/mAVH/5gH4/+YCAv/mAgP/5gIE/+YCBf/mAgb/5gIu/+YCMP/mAjL/5gI0/+YCQv/mAkT/5gJG/+YCSP/mAmr/5gJs/+YCbv/mAp//5gL8/+YDCf/mAy//5gMy/+YDV//mA2P/5gNm/+YDgf/mA4P/5gOF/+YDxP/mA8b/5gPI/+YDyv/mA8z/5gPO/+YD0P/mA9L/5gPU/+YD1v/mA9j/5gPa/+YANgAj/+QAOv/SADv/0wCt/+QAr//kANX/0gEI/+QB8f/kAfL/5AHz/+QB9P/kAfX/5AH2/+QB9//kAgv/0wIo/+QCKv/kAiz/5AKU/9MClv/TAvj/5AL9/9MDAP/kAwz/0wMN/9IDD//TAyj/5AM0/9IDS//TA1X/5ANo/9MDa//SA27/5ANw/+QDef/SA5P/0gOY/+QDmv/kA5z/5AOe/+QDoP/kA6L/5AOk/+QDpv/kA6j/5AOq/+QDrP/kA67/5APq/9MD7P/TA+7/0wP4/9IEAP/SBBP/0wAmAA7/HgAQ/x4AI//NAK3/zQCv/80BCP/NAWf/HgFr/x4Bb/8eAXD/HgHx/80B8v/NAfP/zQH0/80B9f/NAfb/zQH3/80CKP/NAir/zQIs/80C+P/NAwD/zQMo/80DVf/NA27/zQNw/80DmP/NA5r/zQOc/80Dnv/NA6D/zQOi/80DpP/NA6b/zQOo/80Dqv/NA6z/zQOu/80ApgBF/9wARv/cAEf/3ABJ/9wAT//zAFD/8wBR/9YAUv/zAFP/3ABX/90AWP/hAFv/4QCR/9wAlf/cAJf/3QC2/9wAuP/hALz/8wDD/9wAxP/cAMb/3QDn//MA6//zAOz/8wDu//MA7//zAPD/8wDy/9wA8//zAPX/8wD2//MA+f/zAPv/8wD+/9wBAP/zARP/1gEV/+EBGf/cAR3/3AEx//MBNf/cAUD/8wFF//MBR//cAUj/3AFS/9wCE//cAhT/3AIV/9wCFv/cAhf/3AIc//MCHf/WAh7/1gIf/9YCIP/WAiH/1gIi/90CI//dAiT/3QIl/90CJv/hAif/4QIv/9wCMf/cAjP/3AI1/9wCN//cAjn/3AI7/9wCPf/cAj//3AJB/9wCQ//cAkX/3AJH/9wCSf/cAmT/8wJm//MCaP/zAmn/8wJr/9YCbf/WAm//1gKH/90Cif/dAov/3QKN/90Cj//dApH/3QKV/+EDEP/cAxL/8wMU/90DFv/WAxj/4QMb/90DHP/WAx3/3QM2/9wDN//zAzj/1gM5//MDOv/cAzv/4QM9/9wDPv/zA0P/8wNE/+EDTP/hA1T/8wNc/9wDXf/zA2H/4QNi/9wDZ//cA2n/4QN1/9wDd//cA3j/3AN+//MDgP/zA4L/1gOE/9wDhv/WA4r/4QOM/+EDjv/hA5L/8wOV/9wDsf/cA7P/3AO1/9wDt//cA7n/3AO7/9wDvf/cA7//3APF/9YDx//WA8n/1gPL/9YDzf/WA8//1gPR/9YD0//cA9X/3APX/9wD2f/WA9v/3APd/90D3//dA+H/3QPj/90D5f/dA+f/3QPp/90D6//hA+3/4QPv/+ED8//zA/X/8wP///MEDP/zBA7/8wQQ//MAcQAE/9oACf/aAEX/8ABG//AAR//wAEn/8ABT//AAV//vAFj/3ABb/9wAkf/wAJX/8ACX/+8Atv/wALj/3ADD//AAxP/wAMb/7wDy//AA/v/wARX/3AEZ//ABHf/wATX/8AFH//ABSP/wAVL/8AFl/9oBZv/aAWj/2gFp/9oBav/aAhP/8AIU//ACFf/wAhb/8AIX//ACIv/vAiP/7wIk/+8CJf/vAib/3AIn/9wCL//wAjH/8AIz//ACNf/wAjf/8AI5//ACO//wAj3/8AI///ACQf/wAkP/8AJF//ACR//wAkn/8AKH/+8Cif/vAov/7wKN/+8Cj//vApH/7wKV/9wDEP/wAxT/7wMY/9wDG//vAx3/7wM2//ADOv/wAzv/3AM9//ADRP/cA0z/3ANN/9oDTv/aA1L/2gNc//ADYf/cA2L/8ANn//ADaf/cA3X/8AN3//ADeP/wA4T/8AOK/9wDjP/cA47/3AOV//ADsf/wA7P/8AO1//ADt//wA7n/8AO7//ADvf/wA7//8APT//AD1f/wA9f/8APb//AD3f/vA9//7wPh/+8D4//vA+X/7wPn/+8D6f/vA+v/3APt/9wD7//cADQABP+gAAn/oABX//EAWP/FAFv/xQCX//EAuP/FAMb/8QEV/8UBZf+gAWb/oAFo/6ABaf+gAWr/oAIi//ECI//xAiT/8QIl//ECJv/FAif/xQKH//ECif/xAov/8QKN//ECj//xApH/8QKV/8UDFP/xAxj/xQMb//EDHf/xAzv/xQNE/8UDTP/FA03/oANO/6ADUv+gA2H/xQNp/8UDiv/FA4z/xQOO/8UD3f/xA9//8QPh//ED4//xA+X/8QPn//ED6f/xA+v/xQPt/8UD7//FAD0ARf/nAEb/5wBH/+cASf/nAFP/5wCR/+cAlf/nALb/5wDD/+cAxP/nAPL/5wD+/+cBGf/nAR3/5wE1/+cBR//nAUj/5wFS/+cCE//nAhT/5wIV/+cCFv/nAhf/5wIv/+cCMf/nAjP/5wI1/+cCN//nAjn/5wI7/+cCPf/nAj//5wJB/+cCQ//nAkX/5wJH/+cCSf/nAxD/5wM2/+cDOv/nAz3/5wNc/+cDYv/nA2f/5wN1/+cDd//nA3j/5wOE/+cDlf/nA7H/5wOz/+cDtf/nA7f/5wO5/+cDu//nA73/5wO//+cD0//nA9X/5wPX/+cD2//nAHEABAAMAAkADABF/+gARv/oAEf/6ABJ/+gAUf/qAFP/6ABYAAsAWwALAJH/6ACV/+gAtv/oALgACwDD/+gAxP/oAPL/6AD+/+gBE//qARUACwEZ/+gBHf/oATX/6AFH/+gBSP/oAVL/6AFlAAwBZgAMAWgADAFpAAwBagAMAhP/6AIU/+gCFf/oAhb/6AIX/+gCHf/qAh7/6gIf/+oCIP/qAiH/6gImAAsCJwALAi//6AIx/+gCM//oAjX/6AI3/+gCOf/oAjv/6AI9/+gCP//oAkH/6AJD/+gCRf/oAkf/6AJJ/+gCa//qAm3/6gJv/+oClQALAxD/6AMW/+oDGAALAxz/6gM2/+gDOP/qAzr/6AM7AAsDPf/oA0QACwNMAAsDTQAMA04ADANSAAwDXP/oA2EACwNi/+gDZ//oA2kACwN1/+gDd//oA3j/6AOC/+oDhP/oA4b/6gOKAAsDjAALA44ACwOV/+gDsf/oA7P/6AO1/+gDt//oA7n/6AO7/+gDvf/oA7//6APF/+oDx//qA8n/6gPL/+oDzf/qA8//6gPR/+oD0//oA9X/6APX/+gD2f/qA9v/6APrAAsD7QALA+8ACwAMAFr/7QBc/+0A6f/tApj/7QKa/+0CnP/tAzz/7QNs/+0Dev/tA5T/7QP5/+0EAf/tAAwAWv/yAFz/8gDp//ICmP/yApr/8gKc//IDPP/yA2z/8gN6//IDlP/yA/n/8gQB//IAHwBY//QAWv/yAFv/9ABc//MAuP/0AOn/8gEV//QCJv/0Aif/9AKV//QCmP/zApr/8wKc//MDGP/0Azv/9AM8//IDRP/0A0z/9ANh//QDaf/0A2z/8gN6//IDiv/0A4z/9AOO//QDlP/yA+v/9APt//QD7//0A/n/8gQB//IAeQAE/8oACf/KADb/0gA4/9QAOv/0ADv/0wBP/9EAUP/RAFL/0QBY/+YAWv/vAFv/5gC4/+YAvP/RAM3/0gDR/9IA1f/0ANn/7QDc/+EA5//RAOn/7wDr/9EA7P/RAO7/0QDv/9EA8P/RAPP/0QD1/9EA9v/RAPn/0QD7/9EBAP/RART/1AEV/+YBLv/SATH/0QE2/9IBQP/RAUX/0QFl/8oBZv/KAWj/ygFp/8oBav/KAgv/0wIc/9ECJv/mAif/5gJk/9ECZv/RAmj/0QJp/9ECgP/SAoL/0gKE/9IClP/TApX/5gKW/9MC/f/TAwz/0wMN//QDD//TAxL/0QMY/+YDJ//tAzP/0gM0//QDN//RAzn/0QM7/+YDPP/vAz7/0QND/9EDRP/mA0v/0wNM/+YDTf/KA07/ygNS/8oDVP/RA13/0QNg/9QDYf/mA2j/0wNp/+YDa//0A2z/7wN5//QDev/vA37/0QOA/9EDif/tA4r/5gOL/+0DjP/mA43/7QOO/+YDj//hA5L/0QOT//QDlP/vA+r/0wPr/+YD7P/TA+3/5gPu/9MD7//mA/P/0QP1/9ED9v/SA/j/9AP5/+8D+v/hA/z/4QP//9EEAP/0BAH/7wQM/9EEDv/RBBD/0QQT/9MAHQA2/74AWP/vAFv/7wC4/+8Azf++ANH/vgEV/+8BLv++ATb/vgIm/+8CJ//vAoD/vgKC/74ChP++ApX/7wMY/+8DM/++Azv/7wNE/+8DTP/vA2H/7wNp/+8Div/vA4z/7wOO/+8D6//vA+3/7wPv/+8D9v++ADQANv/mADj/5wA6//IAO//nAFr/8QDN/+YA0f/mANX/8gDZ/+4A3P/oAOn/8QEU/+cBLv/mATb/5gIL/+cCgP/mAoL/5gKE/+YClP/nApb/5wL9/+cDDP/nAw3/8gMP/+cDJ//uAzP/5gM0//IDPP/xA0v/5wNg/+cDaP/nA2v/8gNs//EDef/yA3r/8QOJ/+4Di//uA43/7gOP/+gDk//yA5T/8QPq/+cD7P/nA+7/5wP2/+YD+P/yA/n/8QP6/+gD/P/oBAD/8gQB//EEE//nAIQAIwAQACX/6AAp/+gAMf/oADP/6AA2/+AAOP/gADv/3wCB/+gAkP/oAJT/6ACtABAArv/oAK8AEADN/+AAzv/oAM8AEADR/+AA2AAQANz/4QDtABAA9P/gAP8AEAED/+gBCAAQARL/6AEU/+ABFv/oARj/6AEa/+gBHP/oAS7/4AE0/+gBNv/gAU0AEAFR/+gB8QAQAfIAEAHzABAB9AAQAfUAEAH2ABAB9wAQAfj/6AIC/+gCA//oAgT/6AIF/+gCBv/oAgv/3wIoABACKgAQAiwAEAIu/+gCMP/oAjL/6AI0/+gCQv/oAkT/6AJG/+gCSP/oAmr/6AJs/+gCbv/oAoD/4AKC/+AChP/gApT/3wKW/98Cn//oAvgAEAL8/+gC/f/fAwAAEAMJ/+gDDP/fAw//3wMoABADL//oAzL/6AMz/+ADS//fA1UAEANX/+gDYP/gA2P/6ANm/+gDaP/fA24AEANwABADgf/oA4P/6AOF/+gDj//hA5D/4AOWABADlwAQA5gAEAOaABADnAAQA54AEAOgABADogAQA6QAEAOmABADqAAQA6oAEAOsABADrgAQA8T/6APG/+gDyP/oA8r/6APM/+gDzv/oA9D/6APS/+gD1P/oA9b/6APY/+gD2v/oA+r/3wPs/98D7v/fA/b/4AP6/+ED+//gA/z/4QP9/+AEEQAQBBIAEAQT/98ALQA2//EAOP/0ADr/9AA7//AAzf/xAM//9QDR//EA1f/0ANj/9QDZ//MBFP/0AS7/8QE2//EBTf/1Agv/8AKA//ECgv/xAoT/8QKU//AClv/wAv3/8AMM//ADDf/0Aw//8AMn//MDM//xAzT/9ANL//ADYP/0A2j/8ANr//QDef/0A4n/8wOL//MDjf/zA5P/9AOW//UD6v/wA+z/8APu//AD9v/xA/j/9AQA//QEEf/1BBP/8ABZACMADwA2/+YAOP/mADoADgA7/+YArQAPAK8ADwDN/+YAzwAOANH/5gDVAA4A2AAOANkACwDc/+UA7QAPAPT/6AD/AA8BCAAPART/5gEu/+YBNv/mAU0ADgHxAA8B8gAPAfMADwH0AA8B9QAPAfYADwH3AA8CC//mAigADwIqAA8CLAAPAoD/5gKC/+YChP/mApT/5gKW/+YC+AAPAv3/5gMAAA8DDP/mAw0ADgMP/+YDJwALAygADwMz/+YDNAAOA0v/5gNVAA8DYP/mA2j/5gNrAA4DbgAPA3AADwN5AA4DiQALA4sACwONAAsDj//lA5D/6AOTAA4DlgAOA5cADwOYAA8DmgAPA5wADwOeAA8DoAAPA6IADwOkAA8DpgAPA6gADwOqAA8DrAAPA64ADwPq/+YD7P/mA+7/5gP2/+YD+AAOA/r/5QP7/+gD/P/lA/3/6AQAAA4EEQAOBBIADwQT/+YALgA2/+MAOv/lADv/5ADN/+MAz//lANH/4wDV/+UA2P/lANn/6QDt/+oA///qAS7/4wE2/+MBTf/lAgv/5AKA/+MCgv/jAoT/4wKU/+QClv/kAv3/5AMM/+QDDf/lAw//5AMn/+kDM//jAzT/5QNL/+QDaP/kA2v/5QN5/+UDif/pA4v/6QON/+kDk//lA5b/5QOX/+oD6v/kA+z/5APu/+QD9v/jA/j/5QQA/+UEEf/lBBL/6gQT/+QAIQA2/+IAOv/kAM3/4gDP/+QA0f/iANX/5ADY/+QA2f/pAO3/6wD//+sBLv/iATb/4gFN/+QCgP/iAoL/4gKE/+IDDf/kAyf/6QMz/+IDNP/kA2v/5AN5/+QDif/pA4v/6QON/+kDk//kA5b/5AOX/+sD9v/iA/j/5AQA/+QEEf/kBBL/6wAXADb/6wA7//MAzf/rANH/6wEu/+sBNv/rAgv/8wKA/+sCgv/rAoT/6wKU//MClv/zAv3/8wMM//MDD//zAzP/6wNL//MDaP/zA+r/8wPs//MD7v/zA/b/6wQT//MAMABP/+8AUP/vAFL/7wBa//AAvP/vAOf/7wDp//AA6//vAOz/7wDu/+8A7//vAPD/7wDz/+8A9f/vAPb/7wD5/+8A+//vAQD/7wEx/+8BQP/vAUX/7wIc/+8CZP/vAmb/7wJo/+8Caf/vAxL/7wM3/+8DOf/vAzz/8AM+/+8DQ//vA1T/7wNd/+8DbP/wA3r/8AN+/+8DgP/vA5L/7wOU//AD8//vA/X/7wP5//AD///vBAH/8AQM/+8EDv/vBBD/7wAdAAT/8gAJ//IAWP/1AFv/9QC4//UBFf/1AWX/8gFm//IBaP/yAWn/8gFq//ICJv/1Aif/9QKV//UDGP/1Azv/9QNE//UDTP/1A03/8gNO//IDUv/yA2H/9QNp//UDiv/1A4z/9QOO//UD6//1A+3/9QPv//UABAD0/+0DkP/tA/v/7QP9/+0ACgAE//UACf/1AWX/9QFm//UBaP/1AWn/9QFq//UDTf/1A07/9QNS//UAVABF//AARv/wAEf/8ABJ//AAUf/rAFP/8ACR//AAlf/wALb/8ADD//AAxP/wAPL/8AD+//ABE//rARn/8AEd//ABNf/wAUf/8AFI//ABUv/wAhP/8AIU//ACFf/wAhb/8AIX//ACHf/rAh7/6wIf/+sCIP/rAiH/6wIv//ACMf/wAjP/8AI1//ACN//wAjn/8AI7//ACPf/wAj//8AJB//ACQ//wAkX/8AJH//ACSf/wAmv/6wJt/+sCb//rAxD/8AMW/+sDHP/rAzb/8AM4/+sDOv/wAz3/8ANc//ADYv/wA2f/8AN1//ADd//wA3j/8AOC/+sDhP/wA4b/6wOV//ADsf/wA7P/8AO1//ADt//wA7n/8AO7//ADvf/wA7//8APF/+sDx//rA8n/6wPL/+sDzf/rA8//6wPR/+sD0//wA9X/8APX//AD2f/rA9v/8ACPAAQADQAJAA0AQ//wAEX/sABG/7AAR/+wAEn/sABR/9YAU/+wAFgACwBbAAsAkf+wAJX/sAC2/7AAuAALAMT/sADt/68A8v+wAP7/sAD//68BE//WARUACwEZ/7ABHf+wATX/sAFH/7ABSP+wAVL/sAFlAA0BZgANAWgADQFpAA0BagANAgz/8AIN//ACDv/wAg//8AIQ//ACEf/wAhL/8AIT/7ACFP+wAhX/sAIW/7ACF/+wAh3/1gIe/9YCH//WAiD/1gIh/9YCJgAL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AlQA0QJXAlcA0gJZAlkA0wJbAlsA1AJdAl0A1QJfAl8A1gJhAmEA1wJjAm8A2AJxAnEA5QJzAnMA5gJ1AnUA5wKAAoAA6AKCAoIA6QKEAoQA6gKGAoYA6wKIAogA7AKKAooA7QKMAowA7gKOAo4A7wKQApAA8AKSApIA8QKUApcA8gKZApkA9gKbApsA9wL4Av0A+AMAAw8A/gMSAxIBDgMWAxYBDwMYAxgBEAMcAxwBEQMfAyABEgMiAysBFAMtAy8BHgMxAzYBIQM4AzkBJwM7Az4BKQNEA0UBLQNHA0cBLwNJA0kBMANLA04BMQNSA1cBNQNaA1oBOwNcA1wBPANgA2EBPQNmA2YBPwNoA3EBQAN0A3UBSgN3A3oBTAOBA4IBUAOGA4YBUgOIA44BUwOTA5QBWgOYA8ABXAPCA8IBhQPEA9EBhgPZA9kBlAPcA9wBlQPeA94BlgPqA+8BlwPyA/IBnQP0A/QBngP2A/YBnwP4A/kBoAP+BAEBogQEBAQBpgQGBAcBpwQJBAkBqQQNBA0BqgQPBA8BqwQTBBMBrAABAAoACgAoADMANAA9AEgATQBWAFkAXQABACIAmQCwALIAswC0ALsAvgC/AMAAxQDHAMgAyQDNANEA0wDUANYA3gDiAOMA5ADlAOYA6ADqAOwA8QDzAPYA+wD+AR0B3AACAHYABAAEAAAACQAJAAEADgAOAAIAEAAQAAMAIwAnAAQAKgAyAAkANgA8ABIAQwBFABkARwBHABwASgBKAB0ATwBSAB4AVABUACIAWABYACMAWgBcACQAiACIACcArACvACgAuAC4ACwAvAC8AC0AwgDCAC4AzwDQAC8A0gDSADEA1QDVADIA1wDZADMA2wDbADYA3QDdADcA3wDfADgA4QDhADkA5wDnADoA6QDpADsA8gDyADwA9wD3AD0A+QD6AD4A/wEAAEABBQEFAEIBCAEIAEMBEwEVAEQBJwEpAEcBLAEsAEoBLgEuAEsBRQFFAEwBZQFrAE0BbwFwAFQB7AHtAFYB7wHvAFgB8QIXAFkCHAIhAIACJgI2AIYCOAJBAJcCSgJMAKECTgJOAKQCUAJQAKUCUgJSAKYCVAJUAKcCVwJXAKgCWQJZAKkCWwJbAKoCXQJdAKsCXwJfAKwCYQJhAK0CYwJvAK4CcQJxALsCcwJzALwCdQJ1AL0CgAKAAL4CggKCAL8ChAKEAMAChgKGAMECiAKIAMICigKKAMMCjAKMAMQCjgKOAMUCkAKQAMYCkgKSAMcClAKcAMgC+AL9ANEDAAMPANcDEgMSAOcDFgMWAOgDGAMYAOkDHAMcAOoDHwMgAOsDIgMrAO0DLQMvAPcDMQM2APoDOAM+AQADRANFAQcDRwNHAQkDSQNJAQoDSwNOAQsDUgNXAQ8DWgNaARUDXANcARYDYANhARcDZgNxARkDdAN1ASUDdwN6AScDgQOCASsDhgOGAS0DiAOOAS4DkwOUATUDmAPAATcDwgPCAWADxAPRAWED2QPZAW8D3APcAXAD3gPeAXED6gPvAXID8gPyAXgD9AP0AXkD9gP2AXoD+AP5AXsD/gQBAX0EBAQEAYEEBgQHAYIECQQJAYQEDQQNAYUEDwQPAYYEEwQTAYcAAgE4AAQABAAdAAkACQAdAA4ADgAeABAAEAAeACQAJAABACUAJQAEACYAJgADACcAJwAFACoAKwACACwALAAMAC0ALQAJAC4ALgAKAC8AMAACADEAMQADADIAMgALADYANgAGADcANwAMADgAOAANADkAOQAQADoAOgAOADsAOwAPADwAPAARAEMAQwATAEQARAAVAEUARQAUAEcARwAWAEoASgAXAE8AUAAXAFEAUQAYAFIAUgAVAFQAVAAaAFgAWAAZAFoAWgAbAFsAWwAZAFwAXAAcAIgAiAAVAKwArAAHAK4ArgADALgAuAAZALwAvAAXAMIAwgAVAM8A0AAfANIA0gACANUA1QAOANcA2AACANkA2QASANsA2wACAN0A3QACAN8A3wAfAOEA4QAfAOcA5wAIAOkA6QAbAPIA8gAVAPcA9wAgAPkA+QAgAPoA+gAVAP8BAAAgAQUBBQAgARMBEwAYARQBFAANARUBFQAZAScBJwAVASgBKAAHASkBKQAIASwBLAAJAS4BLgAJAUUBRQAIAWUBZgAdAWcBZwAeAWgBagAdAWsBawAeAW8BcAAeAewB7QADAe8B7wAGAfgB+AAEAfkB/AAFAf0CAQACAgICBgADAgcCCgAMAgsCCwAPAgwCEgATAhMCEwAUAhQCFwAWAhwCHAAXAh0CIQAYAiYCJwAZAikCKQATAisCKwATAi0CLQATAi4CLgAEAi8CLwAUAjACMAAEAjECMQAUAjICMgAEAjMCMwAU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AAAAGAAAAAAAFQAEABgAAAAAAAUAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAUACAANAAIABQAAAAUAFQAFAAAABQAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAGAAAAAAABQAVAAoAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAABgAAAAVABUAAAAAAAAAAAABAAAAAAAAAAUAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXABcAAAAHAAcAEwAHAAcABwATAAAAAAAAABMAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAEQARABEAEQARABEAEQAFAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAGAAYABgAGAA4AGgAaABoAGgAaABoAGgAVABUAFQAVABUAAAAAAAAAAAAYAAgACAAIAAgACAALAAsACwALAAIAAgARABoAEQAaABEAGgAFABUABQAVAAUAFQAFABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUABQAVAAUAFQAFABUABQAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAGAAAABgAGAAFAAgABQAIAAUACAAAAAAAAAAAAAAAAAAZABsAGQAbABkAGwAZABsAGQAbAAoAAAAKAAAACgAAAAYACwAGAAsABgALAAYACwAGAAsABgALAAkAAAAOAAIADgAUAAwAFAAMABQADAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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",
+"sampleImage.jpg":"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AAGyAAAAEAAAAAEAAAAAABJwcmludE91dHB1dE9wdGlvbnMAAAASAAAAAENwdG5ib29sAAAAAABDbGJyYm9vbAAAAAAAUmdzTWJvb2wAAAAAAENybkNib29sAAAAAABDbnRDYm9vbAAAAAAATGJsc2Jvb2wAAAAAAE5ndHZib29sAAAAAABFbWxEYm9vbAAAAAAASW50cmJvb2wAAAAAAEJja2dPYmpjAAAAAQAAAAAAAFJHQkMAAAADAAAAAFJkICBkb3ViQG/gAAAAAAAAAAAAR3JuIGRvdWJAb+AAAAAAAAAAAABCbCAgZG91YkBv4AAAAAAAAAAAAEJyZFRVbnRGI1JsdAAAAAAAAAAAAAAAAEJsZCBVbnRGI1JsdAAAAAAAAAAAAAAAAFJzbHRVbnRGI1B4bEBSAAAAAAAAAAAACnZlY3RvckRhdGFib29sAQAAAABQZ1BzZW51bQAAAABQZ1BzAAAAAFBnUEMAAAAATGVmdFVudEYjUmx0AAAAAAAAAAAAAAAAVG9wIFVudEYjUmx0AAAAAAAAAAAAAAAAU2NsIFVudEYjUHJjQFkAAAAAAAA4QklNA+0AAAAAABAASAAAAAEAAgBIAAAAAQACOEJJTQQmAAAAAAAOAAAAAAAAAAAAAD+AAAA4QklNBA0AAAAAAAQAAAB4OEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAAAAAAAAAAAQA4QklNJxAAAAAAAAoAAQAAAAAAAAACOEJJTQP1AAAAAABIAC9mZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAABADUAAAABAC0AAAAGAAAAAAABOEJJTQP4AAAAAABwAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAADhCSU0EAAAAAAAAAgABOEJJTQQCAAAAAAAEAAAAADhCSU0EMAAAAAAAAgEBOEJJTQQtAAAAAAAGAAEAAAACOEJJTQQIAAAAAAAQAAAAAQAAAkAAAAJAAAAAADhCSU0EHgAAAAAABAAAAAA4QklNBBoAAAAAA0sAAAAGAAAA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aHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxNC0wMy0xOVQwMzowMjoyNiswMTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxNC0wMy0xOVQwMzowMjoyNiswMTowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTQtMDMtMTlUMDM6MDI6MjYrMDE6MDAiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDI4MDExNzQwNzIwNjgxMTg3MUY4MTMxRkI2RTY4OTgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDE4MDExNzQwNzIwNjgxMTg3MUY4MTMxRkI2RTY4OTgiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMTgwMTE3NDA3MjA2ODExODcxRjgxMzFGQjZFNjg5OCIgZGM6Zm9ybWF0PSJpbWFnZS9qcGVnIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjAxODAxMTc0MDcyMDY4MTE4NzFGODEzMUZCNkU2ODk4IiBzdEV2dDp3aGVuPSIyMDE0LTAzLTE5VDAzOjAyOjI2KzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDowMjgwMTE3NDA3MjA2ODExODcxRjgxMzFGQjZFNjg5OCIgc3RFdnQ6d2hlbj0iMjAxNC0wMy0xOVQwMzowMjoyNiswMTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFja2V0IGVuZD0idyI/Pv/iDFhJQ0NfUFJPRklMRQABAQAADEhMaW5vAhAAAG1udHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAABAAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MAAAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIEAAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAAFGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRtZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcAAAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQMAAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAIDGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRleHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhld2xldHQtUGFja2FyZCBDb21wYW55AABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAA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"
+},angular.module("ui.bootstrap",["ui.bootstrap.tpls","ui.bootstrap.collapse","ui.bootstrap.accordion","ui.bootstrap.alert","ui.bootstrap.buttons","ui.bootstrap.carousel","ui.bootstrap.dateparser","ui.bootstrap.isClass","ui.bootstrap.position","ui.bootstrap.datepicker","ui.bootstrap.debounce","ui.bootstrap.dropdown","ui.bootstrap.stackedMap","ui.bootstrap.modal","ui.bootstrap.paging","ui.bootstrap.pager","ui.bootstrap.pagination","ui.bootstrap.tooltip","ui.bootstrap.popover","ui.bootstrap.progressbar","ui.bootstrap.rating","ui.bootstrap.tabs","ui.bootstrap.timepicker","ui.bootstrap.typeahead"]),angular.module("ui.bootstrap.tpls",["uib/template/accordion/accordion-group.html","uib/template/accordion/accordion.html","uib/template/alert/alert.html","uib/template/carousel/carousel.html","uib/template/carousel/slide.html","uib/template/datepicker/datepicker.html","uib/template/datepicker/day.html","uib/template/datepicker/month.html","uib/template/datepicker/popup.html","uib/template/datepicker/year.html","uib/template/modal/backdrop.html","uib/template/modal/window.html","uib/template/pager/pager.html","uib/template/pagination/pagination.html","uib/template/tooltip/tooltip-html-popup.html","uib/template/tooltip/tooltip-popup.html","uib/template/tooltip/tooltip-template-popup.html","uib/template/popover/popover-html.html","uib/template/popover/popover-template.html","uib/template/popover/popover.html","uib/template/progressbar/bar.html","uib/template/progressbar/progress.html","uib/template/progressbar/progressbar.html","uib/template/rating/rating.html","uib/template/tabs/tab.html","uib/template/tabs/tabset.html","uib/template/timepicker/timepicker.html","uib/template/typeahead/typeahead-match.html","uib/template/typeahead/typeahead-popup.html"]),angular.module("ui.bootstrap.collapse",[]).directive("uibCollapse",["$animate","$injector",function(a,b){var c=b.has("$animateCss")?b.get("$animateCss"):null;return{link:function(b,d,e){function f(){d.removeClass("collapse").addClass("collapsing").attr("aria-expanded",!0).attr("aria-hidden",!1),c?c(d,{addClass:"in",easing:"ease",to:{height:d[0].scrollHeight+"px"}}).start()["finally"](g):a.addClass(d,"in",{to:{height:d[0].scrollHeight+"px"}}).then(g)}function g(){d.removeClass("collapsing").addClass("collapse").css({height:"auto"})}function h(){return d.hasClass("collapse")||d.hasClass("in")?(d.css({height:d[0].scrollHeight+"px"}).removeClass("collapse").addClass("collapsing").attr("aria-expanded",!1).attr("aria-hidden",!0),void(c?c(d,{removeClass:"in",to:{height:"0"}}).start()["finally"](i):a.removeClass(d,"in",{to:{height:"0"}}).then(i))):i()}function i(){d.css({height:"0"}),d.removeClass("collapsing").addClass("collapse")}b.$eval(e.uibCollapse)||d.addClass("in").addClass("collapse").css({height:"auto"}),b.$watch(e.uibCollapse,function(a){a?h():f()})}}}]),angular.module("ui.bootstrap.accordion",["ui.bootstrap.collapse"]).constant("uibAccordionConfig",{closeOthers:!0}).controller("UibAccordionController",["$scope","$attrs","uibAccordionConfig",function(a,b,c){this.groups=[],this.closeOthers=function(d){var e=angular.isDefined(b.closeOthers)?a.$eval(b.closeOthers):c.closeOthers;e&&angular.forEach(this.groups,function(a){a!==d&&(a.isOpen=!1)})},this.addGroup=function(a){var b=this;this.groups.push(a),a.$on("$destroy",function(c){b.removeGroup(a)})},this.removeGroup=function(a){var b=this.groups.indexOf(a);-1!==b&&this.groups.splice(b,1)}}]).directive("uibAccordion",function(){return{controller:"UibAccordionController",controllerAs:"accordion",transclude:!0,templateUrl:function(a,b){return b.templateUrl||"uib/template/accordion/accordion.html"}}}).directive("uibAccordionGroup",function(){return{require:"^uibAccordion",transclude:!0,replace:!0,templateUrl:function(a,b){return b.templateUrl||"uib/template/accordion/accordion-group.html"},scope:{heading:"@",isOpen:"=?",isDisabled:"=?"},controller:function(){this.setHeading=function(a){this.heading=a}},link:function(a,b,c,d){d.addGroup(a),a.openClass=c.openClass||"panel-open",a.panelClass=c.panelClass||"panel-default",a.$watch("isOpen",function(c){b.toggleClass(a.openClass,!!c),c&&d.closeOthers(a)}),a.toggleOpen=function(b){a.isDisabled||b&&32!==b.which||(a.isOpen=!a.isOpen)}}}}).directive("uibAccordionHeading",function(){return{transclude:!0,template:"",replace:!0,require:"^uibAccordionGroup",link:function(a,b,c,d,e){d.setHeading(e(a,angular.noop))}}}).directive("uibAccordionTransclude",function(){return{require:"^uibAccordionGroup",link:function(a,b,c,d){a.$watch(function(){return d[c.uibAccordionTransclude]},function(a){a&&(b.find("span").html(""),b.find("span").append(a))})}}}),angular.module("ui.bootstrap.alert",[]).controller("UibAlertController",["$scope","$attrs","$interpolate","$timeout",function(a,b,c,d){a.closeable=!!b.close;var e=angular.isDefined(b.dismissOnTimeout)?c(b.dismissOnTimeout)(a.$parent):null;e&&d(function(){a.close()},parseInt(e,10))}]).directive("uibAlert",function(){return{controller:"UibAlertController",controllerAs:"alert",templateUrl:function(a,b){return b.templateUrl||"uib/template/alert/alert.html"},transclude:!0,replace:!0,scope:{type:"@",close:"&"}}}),angular.module("ui.bootstrap.buttons",[]).constant("uibButtonConfig",{activeClass:"active",toggleEvent:"click"}).controller("UibButtonsController",["uibButtonConfig",function(a){this.activeClass=a.activeClass||"active",this.toggleEvent=a.toggleEvent||"click"}]).directive("uibBtnRadio",["$parse",function(a){return{require:["uibBtnRadio","ngModel"],controller:"UibButtonsController",controllerAs:"buttons",link:function(b,c,d,e){var f=e[0],g=e[1],h=a(d.uibUncheckable);c.find("input").css({display:"none"}),g.$render=function(){c.toggleClass(f.activeClass,angular.equals(g.$modelValue,b.$eval(d.uibBtnRadio)))},c.on(f.toggleEvent,function(){if(!d.disabled){var a=c.hasClass(f.activeClass);(!a||angular.isDefined(d.uncheckable))&&b.$apply(function(){g.$setViewValue(a?null:b.$eval(d.uibBtnRadio)),g.$render()})}}),d.uibUncheckable&&b.$watch(h,function(a){d.$set("uncheckable",a?"":null)})}}}]).directive("uibBtnCheckbox",function(){return{require:["uibBtnCheckbox","ngModel"],controller:"UibButtonsController",controllerAs:"button",link:function(a,b,c,d){function e(){return g(c.btnCheckboxTrue,!0)}function f(){return g(c.btnCheckboxFalse,!1)}function g(b,c){return angular.isDefined(b)?a.$eval(b):c}var h=d[0],i=d[1];b.find("input").css({display:"none"}),i.$render=function(){b.toggleClass(h.activeClass,angular.equals(i.$modelValue,e()))},b.on(h.toggleEvent,function(){c.disabled||a.$apply(function(){i.$setViewValue(b.hasClass(h.activeClass)?f():e()),i.$render()})})}}}),angular.module("ui.bootstrap.carousel",[]).controller("UibCarouselController",["$scope","$element","$interval","$timeout","$animate",function(a,b,c,d,e){function f(){for(;s.length;)s.shift()}function g(a){if(angular.isUndefined(p[a].index))return p[a];for(var b=0,c=p.length;c>b;++b)if(p[b].index===a)return p[b]}function h(c,d,g){t||(angular.extend(c,{direction:g,active:!0}),angular.extend(o.currentSlide||{},{direction:g,active:!1}),e.enabled(b)&&!a.$currentTransition&&c.$element&&o.slides.length>1&&(c.$element.data(q,c.direction),o.currentSlide&&o.currentSlide.$element&&o.currentSlide.$element.data(q,c.direction),a.$currentTransition=!0,e.on("addClass",c.$element,function(b,c){if("close"===c&&(a.$currentTransition=null,e.off("addClass",b),s.length)){var d=s.pop(),g=a.indexOfSlide(d),i=g>o.getCurrentIndex()?"next":"prev";f(),h(d,g,i)}})),o.currentSlide=c,r=d,k())}function i(){m&&(c.cancel(m),m=null)}function j(b){b.length||(a.$currentTransition=null,f())}function k(){i();var b=+a.interval;!isNaN(b)&&b>0&&(m=c(l,b))}function l(){var b=+a.interval;n&&!isNaN(b)&&b>0&&p.length?a.next():a.pause()}var m,n,o=this,p=o.slides=a.slides=[],q="uib-slideDirection",r=-1,s=[];o.currentSlide=null;var t=!1;o.addSlide=function(b,c){b.$element=c,p.push(b),1===p.length||b.active?(a.$currentTransition&&(a.$currentTransition=null),o.select(p[p.length-1]),1===p.length&&a.play()):b.active=!1},o.getCurrentIndex=function(){return o.currentSlide&&angular.isDefined(o.currentSlide.index)?+o.currentSlide.index:r},o.next=a.next=function(){var b=(o.getCurrentIndex()+1)%p.length;return 0===b&&a.noWrap()?void a.pause():o.select(g(b),"next")},o.prev=a.prev=function(){var b=o.getCurrentIndex()-1<0?p.length-1:o.getCurrentIndex()-1;return a.noWrap()&&b===p.length-1?void a.pause():o.select(g(b),"prev")},o.removeSlide=function(a){angular.isDefined(a.index)&&p.sort(function(a,b){return+a.index>+b.index});var b=s.indexOf(a);-1!==b&&s.splice(b,1);var c=p.indexOf(a);p.splice(c,1),d(function(){p.length>0&&a.active?c>=p.length?o.select(p[c-1]):o.select(p[c]):r>c&&r--}),0===p.length&&(o.currentSlide=null,f())},o.select=a.select=function(b,c){var d=a.indexOfSlide(b);void 0===c&&(c=d>o.getCurrentIndex()?"next":"prev"),b&&b!==o.currentSlide&&!a.$currentTransition?h(b,d,c):b&&b!==o.currentSlide&&a.$currentTransition&&(s.push(b),b.active=!1)},a.indexOfSlide=function(a){return angular.isDefined(a.index)?+a.index:p.indexOf(a)},a.isActive=function(a){return o.currentSlide===a},a.pause=function(){a.noPause||(n=!1,i())},a.play=function(){n||(n=!0,k())},a.$on("$destroy",function(){t=!0,i()}),a.$watch("noTransition",function(a){e.enabled(b,!a)}),a.$watch("interval",k),a.$watchCollection("slides",j)}]).directive("uibCarousel",function(){return{transclude:!0,replace:!0,controller:"UibCarouselController",controllerAs:"carousel",templateUrl:function(a,b){return b.templateUrl||"uib/template/carousel/carousel.html"},scope:{interval:"=",noTransition:"=",noPause:"=",noWrap:"&"}}}).directive("uibSlide",function(){return{require:"^uibCarousel",transclude:!0,replace:!0,templateUrl:function(a,b){return b.templateUrl||"uib/template/carousel/slide.html"},scope:{active:"=?",actual:"=?",index:"=?"},link:function(a,b,c,d){d.addSlide(a,b),a.$on("$destroy",function(){d.removeSlide(a)}),a.$watch("active",function(b){b&&d.select(a)})}}}).animation(".item",["$animateCss",function(a){function b(a,b,c){a.removeClass(b),c&&c()}var c="uib-slideDirection";return{beforeAddClass:function(d,e,f){if("active"===e){var g=!1,h=d.data(c),i="next"===h?"left":"right",j=b.bind(this,d,i+" "+h,f);return d.addClass(h),a(d,{addClass:i}).start().done(j),function(){g=!0}}f()},beforeRemoveClass:function(d,e,f){if("active"===e){var g=!1,h=d.data(c),i="next"===h?"left":"right",j=b.bind(this,d,i,f);return a(d,{addClass:i}).start().done(j),function(){g=!0}}f()}}}]),angular.module("ui.bootstrap.dateparser",[]).service("uibDateParser",["$log","$locale","orderByFilter",function(a,b,c){function d(a){var b=[],d=a.split(""),e=a.indexOf("'");if(e>-1){var f=!1;a=a.split("");for(var g=e;g<a.length;g++)f?("'"===a[g]&&(g+1<a.length&&"'"===a[g+1]?(a[g+1]="$",d[g+1]=""):(d[g]="",f=!1)),a[g]="$"):"'"===a[g]&&(a[g]="$",d[g]="",f=!0);a=a.join("")}return angular.forEach(m,function(c){var e=a.indexOf(c.key);if(e>-1){a=a.split(""),d[e]="("+c.regex+")",a[e]="$";for(var f=e+1,g=e+c.key.length;g>f;f++)d[f]="",a[f]="$";a=a.join(""),b.push({index:e,apply:c.apply,matcher:c.regex})}}),{regex:new RegExp("^"+d.join("")+"$"),map:c(b,"index")}}function e(a,b,c){return 1>c?!1:1===b&&c>28?29===c&&(a%4===0&&a%100!==0||a%400===0):3===b||5===b||8===b||10===b?31>c:!0}function f(a){return parseInt(a,10)}function g(a,b){return a&&b?k(a,b):a}function h(a,b){return a&&b?k(a,b,!0):a}function i(a,b){var c=Date.parse("Jan 01, 1970 00:00:00 "+a)/6e4;return isNaN(c)?b:c}function j(a,b){return a=new Date(a.getTime()),a.setMinutes(a.getMinutes()+b),a}function k(a,b,c){c=c?-1:1;var d=i(b,a.getTimezoneOffset());return j(a,c*(d-a.getTimezoneOffset()))}var l,m,n=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;this.init=function(){l=b.id,this.parsers={},m=[{key:"yyyy",regex:"\\d{4}",apply:function(a){this.year=+a}},{key:"yy",regex:"\\d{2}",apply:function(a){this.year=+a+2e3}},{key:"y",regex:"\\d{1,4}",apply:function(a){this.year=+a}},{key:"M!",regex:"0?[1-9]|1[0-2]",apply:function(a){this.month=a-1}},{key:"MMMM",regex:b.DATETIME_FORMATS.MONTH.join("|"),apply:function(a){this.month=b.DATETIME_FORMATS.MONTH.indexOf(a)}},{key:"MMM",regex:b.DATETIME_FORMATS.SHORTMONTH.join("|"),apply:function(a){this.month=b.DATETIME_FORMATS.SHORTMONTH.indexOf(a)}},{key:"MM",regex:"0[1-9]|1[0-2]",apply:function(a){this.month=a-1}},{key:"M",regex:"[1-9]|1[0-2]",apply:function(a){this.month=a-1}},{key:"d!",regex:"[0-2]?[0-9]{1}|3[0-1]{1}",apply:function(a){this.date=+a}},{key:"dd",regex:"[0-2][0-9]{1}|3[0-1]{1}",apply:function(a){this.date=+a}},{key:"d",regex:"[1-2]?[0-9]{1}|3[0-1]{1}",apply:function(a){this.date=+a}},{key:"EEEE",regex:b.DATETIME_FORMATS.DAY.join("|")},{key:"EEE",regex:b.DATETIME_FORMATS.SHORTDAY.join("|")},{key:"HH",regex:"(?:0|1)[0-9]|2[0-3]",apply:function(a){this.hours=+a}},{key:"hh",regex:"0[0-9]|1[0-2]",apply:function(a){this.hours=+a}},{key:"H",regex:"1?[0-9]|2[0-3]",apply:function(a){this.hours=+a}},{key:"h",regex:"[0-9]|1[0-2]",apply:function(a){this.hours=+a}},{key:"mm",regex:"[0-5][0-9]",apply:function(a){this.minutes=+a}},{key:"m",regex:"[0-9]|[1-5][0-9]",apply:function(a){this.minutes=+a}},{key:"sss",regex:"[0-9][0-9][0-9]",apply:function(a){this.milliseconds=+a}},{key:"ss",regex:"[0-5][0-9]",apply:function(a){this.seconds=+a}},{key:"s",regex:"[0-9]|[1-5][0-9]",apply:function(a){this.seconds=+a}},{key:"a",regex:b.DATETIME_FORMATS.AMPMS.join("|"),apply:function(a){12===this.hours&&(this.hours=0),"PM"===a&&(this.hours+=12)}},{key:"Z",regex:"[+-]\\d{4}",apply:function(a){var b=a.match(/([+-])(\d{2})(\d{2})/),c=b[1],d=b[2],e=b[3];this.hours+=f(c+d),this.minutes+=f(c+e)}},{key:"ww",regex:"[0-4][0-9]|5[0-3]"},{key:"w",regex:"[0-9]|[1-4][0-9]|5[0-3]"},{key:"GGGG",regex:b.DATETIME_FORMATS.ERANAMES.join("|").replace(/\s/g,"\\s")},{key:"GGG",regex:b.DATETIME_FORMATS.ERAS.join("|")},{key:"GG",regex:b.DATETIME_FORMATS.ERAS.join("|")},{key:"G",regex:b.DATETIME_FORMATS.ERAS.join("|")}]},this.init(),this.parse=function(c,f,g){if(!angular.isString(c)||!f)return c;f=b.DATETIME_FORMATS[f]||f,f=f.replace(n,"\\$&"),b.id!==l&&this.init(),this.parsers[f]||(this.parsers[f]=d(f));var h=this.parsers[f],i=h.regex,j=h.map,k=c.match(i),m=!1;if(k&&k.length){var o,p;angular.isDate(g)&&!isNaN(g.getTime())?o={year:g.getFullYear(),month:g.getMonth(),date:g.getDate(),hours:g.getHours(),minutes:g.getMinutes(),seconds:g.getSeconds(),milliseconds:g.getMilliseconds()}:(g&&a.warn("dateparser:","baseDate is not a valid date"),o={year:1900,month:0,date:1,hours:0,minutes:0,seconds:0,milliseconds:0});for(var q=1,r=k.length;r>q;q++){var s=j[q-1];"Z"===s.matcher&&(m=!0),s.apply&&s.apply.call(o,k[q])}var t=m?Date.prototype.setUTCFullYear:Date.prototype.setFullYear,u=m?Date.prototype.setUTCHours:Date.prototype.setHours;return e(o.year,o.month,o.date)&&(!angular.isDate(g)||isNaN(g.getTime())||m?(p=new Date(0),t.call(p,o.year,o.month,o.date),u.call(p,o.hours||0,o.minutes||0,o.seconds||0,o.milliseconds||0)):(p=new Date(g),t.call(p,o.year,o.month,o.date),u.call(p,o.hours,o.minutes,o.seconds,o.milliseconds))),p}},this.toTimezone=g,this.fromTimezone=h,this.timezoneToOffset=i,this.addDateMinutes=j,this.convertTimezoneToLocal=k}]),angular.module("ui.bootstrap.isClass",[]).directive("uibIsClass",["$animate",function(a){var b=/^\s*([\s\S]+?)\s+on\s+([\s\S]+?)\s*$/,c=/^\s*([\s\S]+?)\s+for\s+([\s\S]+?)\s*$/;return{restrict:"A",compile:function(d,e){function f(a,b,c){i.push(a),j.push({scope:a,element:b}),o.forEach(function(b,c){g(b,a)}),a.$on("$destroy",h)}function g(b,d){var e=b.match(c),f=d.$eval(e[1]),g=e[2],h=k[b];if(!h){var i=function(b){var c=null;j.some(function(a){var d=a.scope.$eval(m);return d===b?(c=a,!0):void 0}),h.lastActivated!==c&&(h.lastActivated&&a.removeClass(h.lastActivated.element,f),c&&a.addClass(c.element,f),h.lastActivated=c)};k[b]=h={lastActivated:null,scope:d,watchFn:i,compareWithExp:g,watcher:d.$watch(g,i)}}h.watchFn(d.$eval(g))}function h(a){var b=a.targetScope,c=i.indexOf(b);if(i.splice(c,1),j.splice(c,1),i.length){var d=i[0];angular.forEach(k,function(a){a.scope===b&&(a.watcher=d.$watch(a.compareWithExp,a.watchFn),a.scope=d)})}else k={}}var i=[],j=[],k={},l=e.uibIsClass.match(b),m=l[2],n=l[1],o=n.split(",");return f}}}]),angular.module("ui.bootstrap.position",[]).factory("$uibPosition",["$document","$window",function(a,b){var c,d={normal:/(auto|scroll)/,hidden:/(auto|scroll|hidden)/},e={auto:/\s?auto?\s?/i,primary:/^(top|bottom|left|right)$/,secondary:/^(top|bottom|left|right|center)$/,vertical:/^(top|bottom)$/};return{getRawNode:function(a){return a[0]||a},parseStyle:function(a){return a=parseFloat(a),isFinite(a)?a:0},offsetParent:function(c){function d(a){return"static"===(b.getComputedStyle(a).position||"static")}c=this.getRawNode(c);for(var e=c.offsetParent||a[0].documentElement;e&&e!==a[0].documentElement&&d(e);)e=e.offsetParent;return e||a[0].documentElement},scrollbarWidth:function(){if(angular.isUndefined(c)){var b=angular.element('<div style="position: absolute; top: -9999px; width: 50px; height: 50px; overflow: scroll;"></div>');a.find("body").append(b),c=b[0].offsetWidth-b[0].clientWidth,c=isFinite(c)?c:0,b.remove()}return c},scrollParent:function(c,e){c=this.getRawNode(c);var f=e?d.hidden:d.normal,g=a[0].documentElement,h=b.getComputedStyle(c),i="absolute"===h.position,j=c.parentElement||g;if(j===g||"fixed"===h.position)return g;for(;j.parentElement&&j!==g;){var k=b.getComputedStyle(j);if(i&&"static"!==k.position&&(i=!1),!i&&f.test(k.overflow+k.overflowY+k.overflowX))break;j=j.parentElement}return j},position:function(c,d){c=this.getRawNode(c);var e=this.offset(c);if(d){var f=b.getComputedStyle(c);e.top-=this.parseStyle(f.marginTop),e.left-=this.parseStyle(f.marginLeft)}var g=this.offsetParent(c),h={top:0,left:0};return g!==a[0].documentElement&&(h=this.offset(g),h.top+=g.clientTop-g.scrollTop,h.left+=g.clientLeft-g.scrollLeft),{width:Math.round(angular.isNumber(e.width)?e.width:c.offsetWidth),height:Math.round(angular.isNumber(e.height)?e.height:c.offsetHeight),top:Math.round(e.top-h.top),left:Math.round(e.left-h.left)}},offset:function(c){c=this.getRawNode(c);var d=c.getBoundingClientRect();return{width:Math.round(angular.isNumber(d.width)?d.width:c.offsetWidth),height:Math.round(angular.isNumber(d.height)?d.height:c.offsetHeight),top:Math.round(d.top+(b.pageYOffset||a[0].documentElement.scrollTop)),left:Math.round(d.left+(b.pageXOffset||a[0].documentElement.scrollLeft))}},viewportOffset:function(c,d,e){c=this.getRawNode(c),e=e!==!1?!0:!1;var f=c.getBoundingClientRect(),g={top:0,left:0,bottom:0,right:0},h=d?a[0].documentElement:this.scrollParent(c),i=h.getBoundingClientRect();if(g.top=i.top+h.clientTop,g.left=i.left+h.clientLeft,h===a[0].documentElement&&(g.top+=b.pageYOffset,g.left+=b.pageXOffset),g.bottom=g.top+h.clientHeight,g.right=g.left+h.clientWidth,e){var j=b.getComputedStyle(h);g.top+=this.parseStyle(j.paddingTop),g.bottom-=this.parseStyle(j.paddingBottom),g.left+=this.parseStyle(j.paddingLeft),g.right-=this.parseStyle(j.paddingRight)}return{top:Math.round(f.top-g.top),bottom:Math.round(g.bottom-f.bottom),left:Math.round(f.left-g.left),right:Math.round(g.right-f.right)}},parsePlacement:function(a){var b=e.auto.test(a);return b&&(a=a.replace(e.auto,"")),a=a.split("-"),a[0]=a[0]||"top",e.primary.test(a[0])||(a[0]="top"),a[1]=a[1]||"center",e.secondary.test(a[1])||(a[1]="center"),b?a[2]=!0:a[2]=!1,a},positionElements:function(a,c,d,f){a=this.getRawNode(a),c=this.getRawNode(c);var g=angular.isDefined(c.offsetWidth)?c.offsetWidth:c.prop("offsetWidth"),h=angular.isDefined(c.offsetHeight)?c.offsetHeight:c.prop("offsetHeight");d=this.parsePlacement(d);var i=f?this.offset(a):this.position(a),j={top:0,left:0,placement:""};if(d[2]){var k=this.viewportOffset(a),l=b.getComputedStyle(c),m={width:g+Math.round(Math.abs(this.parseStyle(l.marginLeft)+this.parseStyle(l.marginRight))),height:h+Math.round(Math.abs(this.parseStyle(l.marginTop)+this.parseStyle(l.marginBottom)))};if(d[0]="top"===d[0]&&m.height>k.top&&m.height<=k.bottom?"bottom":"bottom"===d[0]&&m.height>k.bottom&&m.height<=k.top?"top":"left"===d[0]&&m.width>k.left&&m.width<=k.right?"right":"right"===d[0]&&m.width>k.right&&m.width<=k.left?"left":d[0],d[1]="top"===d[1]&&m.height-i.height>k.bottom&&m.height-i.height<=k.top?"bottom":"bottom"===d[1]&&m.height-i.height>k.top&&m.height-i.height<=k.bottom?"top":"left"===d[1]&&m.width-i.width>k.right&&m.width-i.width<=k.left?"right":"right"===d[1]&&m.width-i.width>k.left&&m.width-i.width<=k.right?"left":d[1],"center"===d[1])if(e.vertical.test(d[0])){var n=i.width/2-g/2;k.left+n<0&&m.width-i.width<=k.right?d[1]="left":k.right+n<0&&m.width-i.width<=k.left&&(d[1]="right")}else{var o=i.height/2-m.height/2;k.top+o<0&&m.height-i.height<=k.bottom?d[1]="top":k.bottom+o<0&&m.height-i.height<=k.top&&(d[1]="bottom")}}switch(d[0]){case"top":j.top=i.top-h;break;case"bottom":j.top=i.top+i.height;break;case"left":j.left=i.left-g;break;case"right":j.left=i.left+i.width}switch(d[1]){case"top":j.top=i.top;break;case"bottom":j.top=i.top+i.height-h;break;case"left":j.left=i.left;break;case"right":j.left=i.left+i.width-g;break;case"center":e.vertical.test(d[0])?j.left=i.left+i.width/2-g/2:j.top=i.top+i.height/2-h/2}return j.top=Math.round(j.top),j.left=Math.round(j.left),j.placement="center"===d[1]?d[0]:d[0]+"-"+d[1],j},positionArrow:function(a,c){a=this.getRawNode(a);var d=!0,f=a.querySelector(".tooltip-inner");if(f||(d=!1,f=a.querySelector(".popover-inner")),f){var g=d?a.querySelector(".tooltip-arrow"):a.querySelector(".arrow");if(g){if(c=this.parsePlacement(c),"center"===c[1])return void angular.element(g).css({top:"",bottom:"",right:"",left:"",margin:""});var h="border-"+c[0]+"-width",i=b.getComputedStyle(g)[h],j="border-";j+=e.vertical.test(c[0])?c[0]+"-"+c[1]:c[1]+"-"+c[0],j+="-radius";var k=b.getComputedStyle(d?f:a)[j],l={top:"auto",bottom:"auto",left:"auto",right:"auto",margin:0};switch(c[0]){case"top":l.bottom=d?"0":"-"+i;break;case"bottom":l.top=d?"0":"-"+i;break;case"left":l.right=d?"0":"-"+i;break;case"right":l.left=d?"0":"-"+i}l[c[1]]=k,angular.element(g).css(l)}}}}}]),angular.module("ui.bootstrap.datepicker",["ui.bootstrap.dateparser","ui.bootstrap.isClass","ui.bootstrap.position"]).value("$datepickerSuppressError",!1).constant("uibDatepickerConfig",{formatDay:"dd",formatMonth:"MMMM",formatYear:"yyyy",formatDayHeader:"EEE",formatDayTitle:"MMMM yyyy",formatMonthTitle:"yyyy",datepickerMode:"day",minMode:"day",maxMode:"year",showWeeks:!0,startingDay:0,yearRows:4,yearColumns:5,minDate:null,maxDate:null,shortcutPropagation:!1,ngModelOptions:{}}).controller("UibDatepickerController",["$scope","$attrs","$parse","$interpolate","$log","dateFilter","uibDatepickerConfig","$datepickerSuppressError","uibDateParser",function(a,b,c,d,e,f,g,h,i){var j=this,k={$setViewValue:angular.noop},l={};this.modes=["day","month","year"],angular.forEach(["formatDay","formatMonth","formatYear","formatDayHeader","formatDayTitle","formatMonthTitle"],function(c){j[c]=angular.isDefined(b[c])?d(b[c])(a.$parent):g[c]}),angular.forEach(["showWeeks","startingDay","yearRows","yearColumns","shortcutPropagation"],function(c){j[c]=angular.isDefined(b[c])?a.$parent.$eval(b[c]):g[c]}),angular.forEach(["minDate","maxDate"],function(c){b[c]?a.$parent.$watch(b[c],function(a){j[c]=a?angular.isDate(a)?i.fromTimezone(new Date(a),l.timezone):new Date(f(a,"medium")):null,j.refreshView()}):j[c]=g[c]?i.fromTimezone(new Date(g[c]),l.timezone):null}),angular.forEach(["minMode","maxMode"],function(c){b[c]?a.$parent.$watch(b[c],function(d){j[c]=a[c]=angular.isDefined(d)?d:b[c],("minMode"===c&&j.modes.indexOf(a.datepickerMode)<j.modes.indexOf(j[c])||"maxMode"===c&&j.modes.indexOf(a.datepickerMode)>j.modes.indexOf(j[c]))&&(a.datepickerMode=j[c])}):j[c]=a[c]=g[c]||null}),a.datepickerMode=a.datepickerMode||g.datepickerMode,a.uniqueId="datepicker-"+a.$id+"-"+Math.floor(1e4*Math.random()),angular.isDefined(b.initDate)?(this.activeDate=i.fromTimezone(a.$parent.$eval(b.initDate),l.timezone)||new Date,a.$parent.$watch(b.initDate,function(a){a&&(k.$isEmpty(k.$modelValue)||k.$invalid)&&(j.activeDate=i.fromTimezone(a,l.timezone),j.refreshView())})):this.activeDate=new Date,a.disabled=angular.isDefined(b.disabled)||!1,angular.isDefined(b.ngDisabled)&&a.$parent.$watch(b.ngDisabled,function(b){a.disabled=b,j.refreshView()}),a.isActive=function(b){return 0===j.compare(b.date,j.activeDate)?(a.activeDateId=b.uid,!0):!1},this.init=function(a){k=a,l=a.$options||g.ngModelOptions,k.$modelValue&&(this.activeDate=k.$modelValue),k.$render=function(){j.render()}},this.render=function(){if(k.$viewValue){var a=new Date(k.$viewValue),b=!isNaN(a);b?this.activeDate=i.fromTimezone(a,l.timezone):h||e.error('Datepicker directive: "ng-model" value must be a Date object')}this.refreshView()},this.refreshView=function(){if(this.element){a.selectedDt=null,this._refreshView(),a.activeDt&&(a.activeDateId=a.activeDt.uid);var b=k.$viewValue?new Date(k.$viewValue):null;b=i.fromTimezone(b,l.timezone),k.$setValidity("dateDisabled",!b||this.element&&!this.isDisabled(b))}},this.createDateObject=function(b,c){var d=k.$viewValue?new Date(k.$viewValue):null;d=i.fromTimezone(d,l.timezone);var e={date:b,label:f(b,c.replace(/d!/,"dd")).replace(/M!/,"MM"),selected:d&&0===this.compare(b,d),disabled:this.isDisabled(b),current:0===this.compare(b,new Date),customClass:this.customClass(b)||null};return d&&0===this.compare(b,d)&&(a.selectedDt=e),j.activeDate&&0===this.compare(e.date,j.activeDate)&&(a.activeDt=e),e},this.isDisabled=function(c){return a.disabled||this.minDate&&this.compare(c,this.minDate)<0||this.maxDate&&this.compare(c,this.maxDate)>0||b.dateDisabled&&a.dateDisabled({date:c,mode:a.datepickerMode})},this.customClass=function(b){return a.customClass({date:b,mode:a.datepickerMode})},this.split=function(a,b){for(var c=[];a.length>0;)c.push(a.splice(0,b));return c},a.select=function(b){if(a.datepickerMode===j.minMode){var c=k.$viewValue?i.fromTimezone(new Date(k.$viewValue),l.timezone):new Date(0,0,0,0,0,0,0);c.setFullYear(b.getFullYear(),b.getMonth(),b.getDate()),c=i.toTimezone(c,l.timezone),k.$setViewValue(c),k.$render()}else j.activeDate=b,a.datepickerMode=j.modes[j.modes.indexOf(a.datepickerMode)-1]},a.move=function(a){var b=j.activeDate.getFullYear()+a*(j.step.years||0),c=j.activeDate.getMonth()+a*(j.step.months||0);j.activeDate.setFullYear(b,c,1),j.refreshView()},a.toggleMode=function(b){b=b||1,a.datepickerMode===j.maxMode&&1===b||a.datepickerMode===j.minMode&&-1===b||(a.datepickerMode=j.modes[j.modes.indexOf(a.datepickerMode)+b])},a.keys={13:"enter",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down"};var m=function(){j.element[0].focus()};a.$on("uib:datepicker.focus",m),a.keydown=function(b){var c=a.keys[b.which];if(c&&!b.shiftKey&&!b.altKey&&!a.disabled)if(b.preventDefault(),j.shortcutPropagation||b.stopPropagation(),"enter"===c||"space"===c){if(j.isDisabled(j.activeDate))return;a.select(j.activeDate)}else!b.ctrlKey||"up"!==c&&"down"!==c?(j.handleKeyDown(c,b),j.refreshView()):a.toggleMode("up"===c?1:-1)}}]).controller("UibDaypickerController",["$scope","$element","dateFilter",function(a,b,c){function d(a,b){return 1!==b||a%4!==0||a%100===0&&a%400!==0?f[b]:29}function e(a){var b=new Date(a);b.setDate(b.getDate()+4-(b.getDay()||7));var c=b.getTime();return b.setMonth(0),b.setDate(1),Math.floor(Math.round((c-b)/864e5)/7)+1}var f=[31,28,31,30,31,30,31,31,30,31,30,31];this.step={months:1},this.element=b,this.init=function(b){angular.extend(b,this),a.showWeeks=b.showWeeks,b.refreshView()},this.getDates=function(a,b){for(var c,d=new Array(b),e=new Date(a),f=0;b>f;)c=new Date(e),d[f++]=c,e.setDate(e.getDate()+1);return d},this._refreshView=function(){var b=this.activeDate.getFullYear(),d=this.activeDate.getMonth(),f=new Date(this.activeDate);f.setFullYear(b,d,1);var g=this.startingDay-f.getDay(),h=g>0?7-g:-g,i=new Date(f);h>0&&i.setDate(-h+1);for(var j=this.getDates(i,42),k=0;42>k;k++)j[k]=angular.extend(this.createDateObject(j[k],this.formatDay),{secondary:j[k].getMonth()!==d,uid:a.uniqueId+"-"+k});a.labels=new Array(7);for(var l=0;7>l;l++)a.labels[l]={abbr:c(j[l].date,this.formatDayHeader),full:c(j[l].date,"EEEE")};if(a.title=c(this.activeDate,this.formatDayTitle),a.rows=this.split(j,7),a.showWeeks){a.weekNumbers=[];for(var m=(11-this.startingDay)%7,n=a.rows.length,o=0;n>o;o++)a.weekNumbers.push(e(a.rows[o][m].date))}},this.compare=function(a,b){var c=new Date(a.getFullYear(),a.getMonth(),a.getDate()),d=new Date(b.getFullYear(),b.getMonth(),b.getDate());return c.setFullYear(a.getFullYear()),d.setFullYear(b.getFullYear()),c-d},this.handleKeyDown=function(a,b){var c=this.activeDate.getDate();if("left"===a)c-=1;else if("up"===a)c-=7;else if("right"===a)c+=1;else if("down"===a)c+=7;else if("pageup"===a||"pagedown"===a){var e=this.activeDate.getMonth()+("pageup"===a?-1:1);this.activeDate.setMonth(e,1),c=Math.min(d(this.activeDate.getFullYear(),this.activeDate.getMonth()),c)}else"home"===a?c=1:"end"===a&&(c=d(this.activeDate.getFullYear(),this.activeDate.getMonth()));this.activeDate.setDate(c)}}]).controller("UibMonthpickerController",["$scope","$element","dateFilter",function(a,b,c){this.step={years:1},this.element=b,this.init=function(a){angular.extend(a,this),a.refreshView()},this._refreshView=function(){for(var b,d=new Array(12),e=this.activeDate.getFullYear(),f=0;12>f;f++)b=new Date(this.activeDate),b.setFullYear(e,f,1),d[f]=angular.extend(this.createDateObject(b,this.formatMonth),{uid:a.uniqueId+"-"+f});a.title=c(this.activeDate,this.formatMonthTitle),a.rows=this.split(d,3)},this.compare=function(a,b){var c=new Date(a.getFullYear(),a.getMonth()),d=new Date(b.getFullYear(),b.getMonth());return c.setFullYear(a.getFullYear()),d.setFullYear(b.getFullYear()),c-d},this.handleKeyDown=function(a,b){var c=this.activeDate.getMonth();if("left"===a)c-=1;else if("up"===a)c-=3;else if("right"===a)c+=1;else if("down"===a)c+=3;else if("pageup"===a||"pagedown"===a){var d=this.activeDate.getFullYear()+("pageup"===a?-1:1);this.activeDate.setFullYear(d)}else"home"===a?c=0:"end"===a&&(c=11);this.activeDate.setMonth(c)}}]).controller("UibYearpickerController",["$scope","$element","dateFilter",function(a,b,c){function d(a){return parseInt((a-1)/f,10)*f+1}var e,f;this.element=b,this.yearpickerInit=function(){e=this.yearColumns,f=this.yearRows*e,this.step={years:f}},this._refreshView=function(){for(var b,c=new Array(f),g=0,h=d(this.activeDate.getFullYear());f>g;g++)b=new Date(this.activeDate),b.setFullYear(h+g,0,1),c[g]=angular.extend(this.createDateObject(b,this.formatYear),{uid:a.uniqueId+"-"+g});a.title=[c[0].label,c[f-1].label].join(" - "),a.rows=this.split(c,e),a.columns=e},this.compare=function(a,b){return a.getFullYear()-b.getFullYear()},this.handleKeyDown=function(a,b){var c=this.activeDate.getFullYear();"left"===a?c-=1:"up"===a?c-=e:"right"===a?c+=1:"down"===a?c+=e:"pageup"===a||"pagedown"===a?c+=("pageup"===a?-1:1)*f:"home"===a?c=d(this.activeDate.getFullYear()):"end"===a&&(c=d(this.activeDate.getFullYear())+f-1),this.activeDate.setFullYear(c)}}]).directive("uibDatepicker",function(){return{replace:!0,templateUrl:function(a,b){return b.templateUrl||"uib/template/datepicker/datepicker.html"},scope:{datepickerMode:"=?",dateDisabled:"&",customClass:"&",shortcutPropagation:"&?"},require:["uibDatepicker","^ngModel"],controller:"UibDatepickerController",controllerAs:"datepicker",link:function(a,b,c,d){var e=d[0],f=d[1];e.init(f)}}}).directive("uibDaypicker",function(){return{replace:!0,templateUrl:function(a,b){return b.templateUrl||"uib/template/datepicker/day.html"},require:["^uibDatepicker","uibDaypicker"],controller:"UibDaypickerController",link:function(a,b,c,d){var e=d[0],f=d[1];f.init(e)}}}).directive("uibMonthpicker",function(){return{replace:!0,templateUrl:function(a,b){return b.templateUrl||"uib/template/datepicker/month.html"},require:["^uibDatepicker","uibMonthpicker"],controller:"UibMonthpickerController",link:function(a,b,c,d){var e=d[0],f=d[1];f.init(e)}}}).directive("uibYearpicker",function(){return{replace:!0,templateUrl:function(a,b){
+return b.templateUrl||"uib/template/datepicker/year.html"},require:["^uibDatepicker","uibYearpicker"],controller:"UibYearpickerController",link:function(a,b,c,d){var e=d[0];angular.extend(e,d[1]),e.yearpickerInit(),e.refreshView()}}}).constant("uibDatepickerPopupConfig",{datepickerPopup:"yyyy-MM-dd",datepickerPopupTemplateUrl:"uib/template/datepicker/popup.html",datepickerTemplateUrl:"uib/template/datepicker/datepicker.html",html5Types:{date:"yyyy-MM-dd","datetime-local":"yyyy-MM-ddTHH:mm:ss.sss",month:"yyyy-MM"},currentText:"Today",clearText:"Clear",closeText:"Done",closeOnDateSelection:!0,appendToBody:!1,showButtonBar:!0,onOpenFocus:!0,altInputFormats:[]}).controller("UibDatepickerPopupController",["$scope","$element","$attrs","$compile","$parse","$document","$rootScope","$uibPosition","dateFilter","uibDateParser","uibDatepickerPopupConfig","$timeout","uibDatepickerConfig",function(a,b,c,d,e,f,g,h,i,j,k,l,m){function n(a){return a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()})}function o(b){var c=j.parse(b,t,a.date);if(isNaN(c))for(var d=0;d<E.length;d++)if(c=j.parse(b,E[d],a.date),!isNaN(c))return c;return c}function p(a){if(angular.isNumber(a)&&(a=new Date(a)),!a)return null;if(angular.isDate(a)&&!isNaN(a))return a;if(angular.isString(a)){var b=o(a);if(!isNaN(b))return j.toTimezone(b,C.timezone)}return B.$options&&B.$options.allowInvalid?a:void 0}function q(a,b){var d=a||b;return c.ngRequired||d?(angular.isNumber(d)&&(d=new Date(d)),d?angular.isDate(d)&&!isNaN(d)?!0:angular.isString(d)?!isNaN(o(b)):!1:!0):!0}function r(c){if(a.isOpen||!a.disabled){var d=D[0],e=b[0].contains(c.target),f=void 0!==d.contains&&d.contains(c.target);!a.isOpen||e||f||a.$apply(function(){a.isOpen=!1})}}function s(c){27===c.which&&a.isOpen?(c.preventDefault(),c.stopPropagation(),a.$apply(function(){a.isOpen=!1}),b[0].focus()):40!==c.which||a.isOpen||(c.preventDefault(),c.stopPropagation(),a.$apply(function(){a.isOpen=!0}))}var t,u,v,w,x,y,z,A,B,C,D,E,F={},G=!1;a.watchData={},this.init=function(h){if(B=h,C=h.$options||m.ngModelOptions,u=angular.isDefined(c.closeOnDateSelection)?a.$parent.$eval(c.closeOnDateSelection):k.closeOnDateSelection,v=angular.isDefined(c.datepickerAppendToBody)?a.$parent.$eval(c.datepickerAppendToBody):k.appendToBody,w=angular.isDefined(c.onOpenFocus)?a.$parent.$eval(c.onOpenFocus):k.onOpenFocus,x=angular.isDefined(c.datepickerPopupTemplateUrl)?c.datepickerPopupTemplateUrl:k.datepickerPopupTemplateUrl,y=angular.isDefined(c.datepickerTemplateUrl)?c.datepickerTemplateUrl:k.datepickerTemplateUrl,E=angular.isDefined(c.altInputFormats)?a.$parent.$eval(c.altInputFormats):k.altInputFormats,a.showButtonBar=angular.isDefined(c.showButtonBar)?a.$parent.$eval(c.showButtonBar):k.showButtonBar,k.html5Types[c.type]?(t=k.html5Types[c.type],G=!0):(t=c.uibDatepickerPopup||k.datepickerPopup,c.$observe("uibDatepickerPopup",function(a,b){var c=a||k.datepickerPopup;if(c!==t&&(t=c,B.$modelValue=null,!t))throw new Error("uibDatepickerPopup must have a date format specified.")})),!t)throw new Error("uibDatepickerPopup must have a date format specified.");if(G&&c.uibDatepickerPopup)throw new Error("HTML5 date input types do not support custom formats.");if(z=angular.element("<div uib-datepicker-popup-wrap><div uib-datepicker></div></div>"),a.ngModelOptions=angular.copy(C),a.ngModelOptions.timezone=null,z.attr({"ng-model":"date","ng-model-options":"ngModelOptions","ng-change":"dateSelection(date)","template-url":x}),A=angular.element(z.children()[0]),A.attr("template-url",y),G&&"month"===c.type&&(A.attr("datepicker-mode",'"month"'),A.attr("min-mode","month")),c.datepickerOptions){var l=a.$parent.$eval(c.datepickerOptions);l&&l.initDate&&(a.initDate=j.fromTimezone(l.initDate,C.timezone),A.attr("init-date","initDate"),delete l.initDate),angular.forEach(l,function(a,b){A.attr(n(b),a)})}angular.forEach(["minMode","maxMode"],function(b){c[b]&&(a.$parent.$watch(function(){return c[b]},function(c){a.watchData[b]=c}),A.attr(n(b),"watchData."+b))}),angular.forEach(["datepickerMode","shortcutPropagation"],function(b){if(c[b]){var d=e(c[b]),f={get:function(){return d(a.$parent)}};if(A.attr(n(b),"watchData."+b),"datepickerMode"===b){var g=d.assign;f.set=function(b){g(a.$parent,b)}}Object.defineProperty(a.watchData,b,f)}}),angular.forEach(["minDate","maxDate","initDate"],function(b){if(c[b]){var d=e(c[b]);a.$parent.$watch(d,function(c){("minDate"===b||"maxDate"===b)&&(F[b]=angular.isDate(c)?j.fromTimezone(new Date(c),C.timezone):new Date(i(c,"medium"))),a.watchData[b]=F[b]||j.fromTimezone(new Date(c),C.timezone)}),A.attr(n(b),"watchData."+b)}}),c.dateDisabled&&A.attr("date-disabled","dateDisabled({ date: date, mode: mode })"),angular.forEach(["formatDay","formatMonth","formatYear","formatDayHeader","formatDayTitle","formatMonthTitle","showWeeks","startingDay","yearRows","yearColumns"],function(a){angular.isDefined(c[a])&&A.attr(n(a),c[a])}),c.customClass&&A.attr("custom-class","customClass({ date: date, mode: mode })"),G?B.$formatters.push(function(b){return a.date=j.fromTimezone(b,C.timezone),b}):(B.$$parserName="date",B.$validators.date=q,B.$parsers.unshift(p),B.$formatters.push(function(b){return B.$isEmpty(b)?(a.date=b,b):(a.date=j.fromTimezone(b,C.timezone),t=t.replace(/M!/,"MM").replace(/d!/,"dd"),i(a.date,t))})),B.$viewChangeListeners.push(function(){a.date=o(B.$viewValue)}),b.bind("keydown",s),D=d(z)(a),z.remove(),v?f.find("body").append(D):b.after(D),a.$on("$destroy",function(){a.isOpen===!0&&(g.$$phase||a.$apply(function(){a.isOpen=!1})),D.remove(),b.unbind("keydown",s),f.unbind("click",r)})},a.getText=function(b){return a[b+"Text"]||k[b+"Text"]},a.isDisabled=function(b){return"today"===b&&(b=new Date),a.watchData.minDate&&a.compare(b,F.minDate)<0||a.watchData.maxDate&&a.compare(b,F.maxDate)>0},a.compare=function(a,b){return new Date(a.getFullYear(),a.getMonth(),a.getDate())-new Date(b.getFullYear(),b.getMonth(),b.getDate())},a.dateSelection=function(c){angular.isDefined(c)&&(a.date=c);var d=a.date?i(a.date,t):null;b.val(d),B.$setViewValue(d),u&&(a.isOpen=!1,b[0].focus())},a.keydown=function(c){27===c.which&&(c.stopPropagation(),a.isOpen=!1,b[0].focus())},a.select=function(b){if("today"===b){var c=new Date;angular.isDate(a.date)?(b=new Date(a.date),b.setFullYear(c.getFullYear(),c.getMonth(),c.getDate())):b=new Date(c.setHours(0,0,0,0))}a.dateSelection(b)},a.close=function(){a.isOpen=!1,b[0].focus()},a.disabled=angular.isDefined(c.disabled)||!1,c.ngDisabled&&a.$parent.$watch(e(c.ngDisabled),function(b){a.disabled=b}),a.$watch("isOpen",function(c){c?a.disabled?a.isOpen=!1:(a.position=v?h.offset(b):h.position(b),a.position.top=a.position.top+b.prop("offsetHeight"),l(function(){w&&a.$broadcast("uib:datepicker.focus"),f.bind("click",r)},0,!1)):f.unbind("click",r)})}]).directive("uibDatepickerPopup",function(){return{require:["ngModel","uibDatepickerPopup"],controller:"UibDatepickerPopupController",scope:{isOpen:"=?",currentText:"@",clearText:"@",closeText:"@",dateDisabled:"&",customClass:"&"},link:function(a,b,c,d){var e=d[0],f=d[1];f.init(e)}}}).directive("uibDatepickerPopupWrap",function(){return{replace:!0,transclude:!0,templateUrl:function(a,b){return b.templateUrl||"uib/template/datepicker/popup.html"}}}),angular.module("ui.bootstrap.debounce",[]).factory("$$debounce",["$timeout",function(a){return function(b,c){var d;return function(){var e=this,f=Array.prototype.slice.call(arguments);d&&a.cancel(d),d=a(function(){b.apply(e,f)},c)}}}]),angular.module("ui.bootstrap.dropdown",["ui.bootstrap.position"]).constant("uibDropdownConfig",{appendToOpenClass:"uib-dropdown-open",openClass:"open"}).service("uibDropdownService",["$document","$rootScope",function(a,b){var c=null;this.open=function(b){c||(a.on("click",d),a.on("keydown",e)),c&&c!==b&&(c.isOpen=!1),c=b},this.close=function(b){c===b&&(c=null,a.off("click",d),a.off("keydown",e))};var d=function(a){if(c&&!(a&&"disabled"===c.getAutoClose()||a&&3===a.which)){var d=c.getToggleElement();if(!(a&&d&&d[0].contains(a.target))){var e=c.getDropdownElement();a&&"outsideClick"===c.getAutoClose()&&e&&e[0].contains(a.target)||(c.isOpen=!1,b.$$phase||c.$apply())}}},e=function(a){27===a.which?(c.focusToggleElement(),d()):c.isKeynavEnabled()&&-1!==[38,40].indexOf(a.which)&&c.isOpen&&(a.preventDefault(),a.stopPropagation(),c.focusDropdownEntry(a.which))}}]).controller("UibDropdownController",["$scope","$element","$attrs","$parse","uibDropdownConfig","uibDropdownService","$animate","$uibPosition","$document","$compile","$templateRequest",function(a,b,c,d,e,f,g,h,i,j,k){var l,m,n=this,o=a.$new(),p=e.appendToOpenClass,q=e.openClass,r=angular.noop,s=c.onToggle?d(c.onToggle):angular.noop,t=!1,u=null,v=!1,w=i.find("body");b.addClass("dropdown"),this.init=function(){if(c.isOpen&&(m=d(c.isOpen),r=m.assign,a.$watch(m,function(a){o.isOpen=!!a})),angular.isDefined(c.dropdownAppendTo)){var e=d(c.dropdownAppendTo)(o);e&&(u=angular.element(e))}t=angular.isDefined(c.dropdownAppendToBody),v=angular.isDefined(c.keyboardNav),t&&!u&&(u=w),u&&n.dropdownMenu&&(u.append(n.dropdownMenu),b.on("$destroy",function(){n.dropdownMenu.remove()}))},this.toggle=function(a){return o.isOpen=arguments.length?!!a:!o.isOpen},this.isOpen=function(){return o.isOpen},o.getToggleElement=function(){return n.toggleElement},o.getAutoClose=function(){return c.autoClose||"always"},o.getElement=function(){return b},o.isKeynavEnabled=function(){return v},o.focusDropdownEntry=function(a){var c=n.dropdownMenu?angular.element(n.dropdownMenu).find("a"):b.find("ul").eq(0).find("a");switch(a){case 40:angular.isNumber(n.selectedOption)?n.selectedOption=n.selectedOption===c.length-1?n.selectedOption:n.selectedOption+1:n.selectedOption=0;break;case 38:angular.isNumber(n.selectedOption)?n.selectedOption=0===n.selectedOption?0:n.selectedOption-1:n.selectedOption=c.length-1}c[n.selectedOption].focus()},o.getDropdownElement=function(){return n.dropdownMenu},o.focusToggleElement=function(){n.toggleElement&&n.toggleElement[0].focus()},o.$watch("isOpen",function(c,d){if(u&&n.dropdownMenu){var e,i,m=h.positionElements(b,n.dropdownMenu,"bottom-left",!0);if(e={top:m.top+"px",display:c?"block":"none"},i=n.dropdownMenu.hasClass("dropdown-menu-right"),i?(e.left="auto",e.right=window.innerWidth-(m.left+b.prop("offsetWidth"))+"px"):(e.left=m.left+"px",e.right="auto"),!t){var v=h.offset(u);e.top=m.top-v.top+"px",i?e.right=window.innerWidth-(m.left-v.left+b.prop("offsetWidth"))+"px":e.left=m.left-v.left+"px"}n.dropdownMenu.css(e)}var w=u?u:b;if(g[c?"addClass":"removeClass"](w,u?p:q).then(function(){angular.isDefined(c)&&c!==d&&s(a,{open:!!c})}),c)n.dropdownMenuTemplateUrl&&k(n.dropdownMenuTemplateUrl).then(function(a){l=o.$new(),j(a.trim())(l,function(a){var b=a;n.dropdownMenu.replaceWith(b),n.dropdownMenu=b})}),o.focusToggleElement(),f.open(o);else{if(n.dropdownMenuTemplateUrl){l&&l.$destroy();var x=angular.element('<ul class="dropdown-menu"></ul>');n.dropdownMenu.replaceWith(x),n.dropdownMenu=x}f.close(o),n.selectedOption=null}angular.isFunction(r)&&r(a,c)}),a.$on("$locationChangeSuccess",function(){"disabled"!==o.getAutoClose()&&(o.isOpen=!1)})}]).directive("uibDropdown",function(){return{controller:"UibDropdownController",link:function(a,b,c,d){d.init()}}}).directive("uibDropdownMenu",function(){return{restrict:"A",require:"?^uibDropdown",link:function(a,b,c,d){if(d&&!angular.isDefined(c.dropdownNested)){b.addClass("dropdown-menu");var e=c.templateUrl;e&&(d.dropdownMenuTemplateUrl=e),d.dropdownMenu||(d.dropdownMenu=b)}}}}).directive("uibDropdownToggle",function(){return{require:"?^uibDropdown",link:function(a,b,c,d){if(d){b.addClass("dropdown-toggle"),d.toggleElement=b;var e=function(e){e.preventDefault(),b.hasClass("disabled")||c.disabled||a.$apply(function(){d.toggle()})};b.bind("click",e),b.attr({"aria-haspopup":!0,"aria-expanded":!1}),a.$watch(d.isOpen,function(a){b.attr("aria-expanded",!!a)}),a.$on("$destroy",function(){b.unbind("click",e)})}}}}),angular.module("ui.bootstrap.stackedMap",[]).factory("$$stackedMap",function(){return{createNew:function(){var a=[];return{add:function(b,c){a.push({key:b,value:c})},get:function(b){for(var c=0;c<a.length;c++)if(b===a[c].key)return a[c]},keys:function(){for(var b=[],c=0;c<a.length;c++)b.push(a[c].key);return b},top:function(){return a[a.length-1]},remove:function(b){for(var c=-1,d=0;d<a.length;d++)if(b===a[d].key){c=d;break}return a.splice(c,1)[0]},removeTop:function(){return a.splice(a.length-1,1)[0]},length:function(){return a.length}}}}}),angular.module("ui.bootstrap.modal",["ui.bootstrap.stackedMap"]).factory("$$multiMap",function(){return{createNew:function(){var a={};return{entries:function(){return Object.keys(a).map(function(b){return{key:b,value:a[b]}})},get:function(b){return a[b]},hasKey:function(b){return!!a[b]},keys:function(){return Object.keys(a)},put:function(b,c){a[b]||(a[b]=[]),a[b].push(c)},remove:function(b,c){var d=a[b];if(d){var e=d.indexOf(c);-1!==e&&d.splice(e,1),d.length||delete a[b]}}}}}}).provider("$uibResolve",function(){var a=this;this.resolver=null,this.setResolver=function(a){this.resolver=a},this.$get=["$injector","$q",function(b,c){var d=a.resolver?b.get(a.resolver):null;return{resolve:function(a,e,f,g){if(d)return d.resolve(a,e,f,g);var h=[];return angular.forEach(a,function(a){angular.isFunction(a)||angular.isArray(a)?h.push(c.resolve(b.invoke(a))):angular.isString(a)?h.push(c.resolve(b.get(a))):h.push(c.resolve(a))}),c.all(h).then(function(b){var c={},d=0;return angular.forEach(a,function(a,e){c[e]=b[d++]}),c})}}}]}).directive("uibModalBackdrop",["$animateCss","$injector","$uibModalStack",function(a,b,c){function d(b,d,e){e.modalInClass&&(a(d,{addClass:e.modalInClass}).start(),b.$on(c.NOW_CLOSING_EVENT,function(c,f){var g=f();b.modalOptions.animation?a(d,{removeClass:e.modalInClass}).start().then(g):g()}))}return{replace:!0,templateUrl:"uib/template/modal/backdrop.html",compile:function(a,b){return a.addClass(b.backdropClass),d}}}]).directive("uibModalWindow",["$uibModalStack","$q","$animate","$animateCss","$document",function(a,b,c,d,e){return{scope:{index:"@"},replace:!0,transclude:!0,templateUrl:function(a,b){return b.templateUrl||"uib/template/modal/window.html"},link:function(f,g,h){g.addClass(h.windowClass||""),g.addClass(h.windowTopClass||""),f.size=h.size,f.close=function(b){var c=a.getTop();c&&c.value.backdrop&&"static"!==c.value.backdrop&&b.target===b.currentTarget&&(b.preventDefault(),b.stopPropagation(),a.dismiss(c.key,"backdrop click"))},g.on("click",f.close),f.$isRendered=!0;var i=b.defer();h.$observe("modalRender",function(a){"true"===a&&i.resolve()}),i.promise.then(function(){var i=null;h.modalInClass&&(i=d(g,{addClass:h.modalInClass}).start(),f.$on(a.NOW_CLOSING_EVENT,function(a,b){var e=b();d?d(g,{removeClass:h.modalInClass}).start().then(e):c.removeClass(g,h.modalInClass).then(e)})),b.when(i).then(function(){if(!e[0].activeElement||!g[0].contains(e[0].activeElement)){var a=g[0].querySelector("[autofocus]");a?a.focus():g[0].focus()}});var j=a.getTop();j&&a.modalRendered(j.key)})}}}]).directive("uibModalAnimationClass",function(){return{compile:function(a,b){b.modalAnimation&&a.addClass(b.uibModalAnimationClass)}}}).directive("uibModalTransclude",function(){return{link:function(a,b,c,d,e){e(a.$parent,function(a){b.empty(),b.append(a)})}}}).factory("$uibModalStack",["$animate","$animateCss","$document","$compile","$rootScope","$q","$$multiMap","$$stackedMap",function(a,b,c,d,e,f,g,h){function i(){for(var a=-1,b=t.keys(),c=0;c<b.length;c++)t.get(b[c]).value.backdrop&&(a=c);return a}function j(a,b){var c=t.get(a).value,d=c.appendTo;t.remove(a),m(c.modalDomEl,c.modalScope,function(){var b=c.openedClass||s;u.remove(b,a),d.toggleClass(b,u.hasKey(b)),k(!0)}),l(),b&&b.focus?b.focus():d.focus&&d.focus()}function k(a){var b;t.length()>0&&(b=t.top().value,b.modalDomEl.toggleClass(b.windowTopClass||"",a))}function l(){if(p&&-1===i()){var a=q;m(p,q,function(){a=null}),p=void 0,q=void 0}}function m(a,c,d,e){function g(){g.done||(g.done=!0,b(a,{event:"leave"}).start().then(function(){a.remove(),e&&e.resolve()}),c.$destroy(),d&&d())}var h,i=null,j=function(){return h||(h=f.defer(),i=h.promise),function(){h.resolve()}};return c.$broadcast(v.NOW_CLOSING_EVENT,j),f.when(i).then(g)}function n(a){if(a.isDefaultPrevented())return a;var b=t.top();if(b)switch(a.which){case 27:b.value.keyboard&&(a.preventDefault(),e.$apply(function(){v.dismiss(b.key,"escape key press")}));break;case 9:v.loadFocusElementList(b);var c=!1;a.shiftKey?v.isFocusInFirstItem(a)&&(c=v.focusLastFocusableElement()):v.isFocusInLastItem(a)&&(c=v.focusFirstFocusableElement()),c&&(a.preventDefault(),a.stopPropagation())}}function o(a,b,c){return!a.value.modalScope.$broadcast("modal.closing",b,c).defaultPrevented}var p,q,r,s="modal-open",t=h.createNew(),u=g.createNew(),v={NOW_CLOSING_EVENT:"modal.stack.now-closing"},w=0,x="a[href], area[href], input:not([disabled]), button:not([disabled]),select:not([disabled]), textarea:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable=true]";return e.$watch(i,function(a){q&&(q.index=a)}),c.on("keydown",n),e.$on("$destroy",function(){c.off("keydown",n)}),v.open=function(b,f){var g=c[0].activeElement,h=f.openedClass||s;k(!1),t.add(b,{deferred:f.deferred,renderDeferred:f.renderDeferred,closedDeferred:f.closedDeferred,modalScope:f.scope,backdrop:f.backdrop,keyboard:f.keyboard,openedClass:f.openedClass,windowTopClass:f.windowTopClass,animation:f.animation,appendTo:f.appendTo}),u.put(h,b);var j=f.appendTo,l=i();if(!j.length)throw new Error("appendTo element not found. Make sure that the element passed is in DOM.");l>=0&&!p&&(q=e.$new(!0),q.modalOptions=f,q.index=l,p=angular.element('<div uib-modal-backdrop="modal-backdrop"></div>'),p.attr("backdrop-class",f.backdropClass),f.animation&&p.attr("modal-animation","true"),d(p)(q),a.enter(p,j));var m=angular.element('<div uib-modal-window="modal-window"></div>');m.attr({"template-url":f.windowTemplateUrl,"window-class":f.windowClass,"window-top-class":f.windowTopClass,size:f.size,index:t.length()-1,animate:"animate"}).html(f.content),f.animation&&m.attr("modal-animation","true"),a.enter(m,j).then(function(){d(m)(f.scope),a.addClass(j,h)}),t.top().value.modalDomEl=m,t.top().value.modalOpener=g,v.clearFocusListCache()},v.close=function(a,b){var c=t.get(a);return c&&o(c,b,!0)?(c.value.modalScope.$$uibDestructionScheduled=!0,c.value.deferred.resolve(b),j(a,c.value.modalOpener),!0):!c},v.dismiss=function(a,b){var c=t.get(a);return c&&o(c,b,!1)?(c.value.modalScope.$$uibDestructionScheduled=!0,c.value.deferred.reject(b),j(a,c.value.modalOpener),!0):!c},v.dismissAll=function(a){for(var b=this.getTop();b&&this.dismiss(b.key,a);)b=this.getTop()},v.getTop=function(){return t.top()},v.modalRendered=function(a){var b=t.get(a);b&&b.value.renderDeferred.resolve()},v.focusFirstFocusableElement=function(){return r.length>0?(r[0].focus(),!0):!1},v.focusLastFocusableElement=function(){return r.length>0?(r[r.length-1].focus(),!0):!1},v.isFocusInFirstItem=function(a){return r.length>0?(a.target||a.srcElement)===r[0]:!1},v.isFocusInLastItem=function(a){return r.length>0?(a.target||a.srcElement)===r[r.length-1]:!1},v.clearFocusListCache=function(){r=[],w=0},v.loadFocusElementList=function(a){if((void 0===r||!r.length)&&a){var b=a.value.modalDomEl;b&&b.length&&(r=b[0].querySelectorAll(x))}},v}]).provider("$uibModal",function(){var a={options:{animation:!0,backdrop:!0,keyboard:!0},$get:["$rootScope","$q","$document","$templateRequest","$controller","$uibResolve","$uibModalStack",function(b,c,d,e,f,g,h){function i(a){return a.template?c.when(a.template):e(angular.isFunction(a.templateUrl)?a.templateUrl():a.templateUrl)}var j={},k=null;return j.getPromiseChain=function(){return k},j.open=function(e){function j(){return r}var l=c.defer(),m=c.defer(),n=c.defer(),o=c.defer(),p={result:l.promise,opened:m.promise,closed:n.promise,rendered:o.promise,close:function(a){return h.close(p,a)},dismiss:function(a){return h.dismiss(p,a)}};if(e=angular.extend({},a.options,e),e.resolve=e.resolve||{},e.appendTo=e.appendTo||d.find("body").eq(0),!e.template&&!e.templateUrl)throw new Error("One of template or templateUrl options is required.");var q,r=c.all([i(e),g.resolve(e.resolve,{},null,null)]);return q=k=c.all([k]).then(j,j).then(function(a){var c=e.scope||b,d=c.$new();d.$close=p.close,d.$dismiss=p.dismiss,d.$on("$destroy",function(){d.$$uibDestructionScheduled||d.$dismiss("$uibUnscheduledDestruction")});var g,i={};e.controller&&(i.$scope=d,i.$uibModalInstance=p,angular.forEach(a[1],function(a,b){i[b]=a}),g=f(e.controller,i),e.controllerAs&&(e.bindToController&&(g.$close=d.$close,g.$dismiss=d.$dismiss,angular.extend(g,c)),d[e.controllerAs]=g)),h.open(p,{scope:d,deferred:l,renderDeferred:o,closedDeferred:n,content:a[0],animation:e.animation,backdrop:e.backdrop,keyboard:e.keyboard,backdropClass:e.backdropClass,windowTopClass:e.windowTopClass,windowClass:e.windowClass,windowTemplateUrl:e.windowTemplateUrl,size:e.size,openedClass:e.openedClass,appendTo:e.appendTo}),m.resolve(!0)},function(a){m.reject(a),l.reject(a)})["finally"](function(){k===q&&(k=null)}),p},j}]};return a}),angular.module("ui.bootstrap.paging",[]).factory("uibPaging",["$parse",function(a){return{create:function(b,c,d){b.setNumPages=d.numPages?a(d.numPages).assign:angular.noop,b.ngModelCtrl={$setViewValue:angular.noop},b.init=function(e,f){b.ngModelCtrl=e,b.config=f,e.$render=function(){b.render()},d.itemsPerPage?c.$parent.$watch(a(d.itemsPerPage),function(a){b.itemsPerPage=parseInt(a,10),c.totalPages=b.calculateTotalPages(),b.updatePage()}):b.itemsPerPage=f.itemsPerPage,c.$watch("totalItems",function(a,d){(angular.isDefined(a)||a!==d)&&(c.totalPages=b.calculateTotalPages(),b.updatePage())})},b.calculateTotalPages=function(){var a=b.itemsPerPage<1?1:Math.ceil(c.totalItems/b.itemsPerPage);return Math.max(a||0,1)},b.render=function(){c.page=parseInt(b.ngModelCtrl.$viewValue,10)||1},c.selectPage=function(a,d){d&&d.preventDefault();var e=!c.ngDisabled||!d;e&&c.page!==a&&a>0&&a<=c.totalPages&&(d&&d.target&&d.target.blur(),b.ngModelCtrl.$setViewValue(a),b.ngModelCtrl.$render())},c.getText=function(a){return c[a+"Text"]||b.config[a+"Text"]},c.noPrevious=function(){return 1===c.page},c.noNext=function(){return c.page===c.totalPages},b.updatePage=function(){b.setNumPages(c.$parent,c.totalPages),c.page>c.totalPages?c.selectPage(c.totalPages):b.ngModelCtrl.$render()}}}}]),angular.module("ui.bootstrap.pager",["ui.bootstrap.paging"]).controller("UibPagerController",["$scope","$attrs","uibPaging","uibPagerConfig",function(a,b,c,d){a.align=angular.isDefined(b.align)?a.$parent.$eval(b.align):d.align,c.create(this,a,b)}]).constant("uibPagerConfig",{itemsPerPage:10,previousText:"« Previous",nextText:"Next »",align:!0}).directive("uibPager",["uibPagerConfig",function(a){return{scope:{totalItems:"=",previousText:"@",nextText:"@",ngDisabled:"="},require:["uibPager","?ngModel"],controller:"UibPagerController",controllerAs:"pager",templateUrl:function(a,b){return b.templateUrl||"uib/template/pager/pager.html"},replace:!0,link:function(b,c,d,e){var f=e[0],g=e[1];g&&f.init(g,a)}}}]),angular.module("ui.bootstrap.pagination",["ui.bootstrap.paging"]).controller("UibPaginationController",["$scope","$attrs","$parse","uibPaging","uibPaginationConfig",function(a,b,c,d,e){function f(a,b,c){return{number:a,text:b,active:c}}function g(a,b){var c=[],d=1,e=b,g=angular.isDefined(i)&&b>i;g&&(j?(d=Math.max(a-Math.floor(i/2),1),e=d+i-1,e>b&&(e=b,d=e-i+1)):(d=(Math.ceil(a/i)-1)*i+1,e=Math.min(d+i-1,b)));for(var h=d;e>=h;h++){var m=f(h,h,h===a);c.push(m)}if(g&&i>0&&(!j||k||l)){if(d>1){if(!l||d>3){var n=f(d-1,"...",!1);c.unshift(n)}if(l){if(3===d){var o=f(2,"2",!1);c.unshift(o)}var p=f(1,"1",!1);c.unshift(p)}}if(b>e){if(!l||b-2>e){var q=f(e+1,"...",!1);c.push(q)}if(l){if(e===b-2){var r=f(b-1,b-1,!1);c.push(r)}var s=f(b,b,!1);c.push(s)}}}return c}var h=this,i=angular.isDefined(b.maxSize)?a.$parent.$eval(b.maxSize):e.maxSize,j=angular.isDefined(b.rotate)?a.$parent.$eval(b.rotate):e.rotate,k=angular.isDefined(b.forceEllipses)?a.$parent.$eval(b.forceEllipses):e.forceEllipses,l=angular.isDefined(b.boundaryLinkNumbers)?a.$parent.$eval(b.boundaryLinkNumbers):e.boundaryLinkNumbers;a.boundaryLinks=angular.isDefined(b.boundaryLinks)?a.$parent.$eval(b.boundaryLinks):e.boundaryLinks,a.directionLinks=angular.isDefined(b.directionLinks)?a.$parent.$eval(b.directionLinks):e.directionLinks,d.create(this,a,b),b.maxSize&&a.$parent.$watch(c(b.maxSize),function(a){i=parseInt(a,10),h.render()});var m=this.render;this.render=function(){m(),a.page>0&&a.page<=a.totalPages&&(a.pages=g(a.page,a.totalPages))}}]).constant("uibPaginationConfig",{itemsPerPage:10,boundaryLinks:!1,boundaryLinkNumbers:!1,directionLinks:!0,firstText:"First",previousText:"Previous",nextText:"Next",lastText:"Last",rotate:!0,forceEllipses:!1}).directive("uibPagination",["$parse","uibPaginationConfig",function(a,b){return{scope:{totalItems:"=",firstText:"@",previousText:"@",nextText:"@",lastText:"@",ngDisabled:"="},require:["uibPagination","?ngModel"],controller:"UibPaginationController",controllerAs:"pagination",templateUrl:function(a,b){return b.templateUrl||"uib/template/pagination/pagination.html"},replace:!0,link:function(a,c,d,e){var f=e[0],g=e[1];g&&f.init(g,b)}}}]),angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.stackedMap"]).provider("$uibTooltip",function(){function a(a){var b=/[A-Z]/g,c="-";return a.replace(b,function(a,b){return(b?c:"")+a.toLowerCase()})}var b={placement:"top",placementClassPrefix:"",animation:!0,popupDelay:0,popupCloseDelay:0,useContentExp:!1},c={mouseenter:"mouseleave",click:"click",outsideClick:"outsideClick",focus:"blur",none:""},d={};this.options=function(a){angular.extend(d,a)},this.setTriggers=function(a){angular.extend(c,a)},this.$get=["$window","$compile","$timeout","$document","$uibPosition","$interpolate","$rootScope","$parse","$$stackedMap",function(e,f,g,h,i,j,k,l,m){function n(a){if(27===a.which){var b=o.top();b&&(b.value.close(),o.removeTop(),b=null)}}var o=m.createNew();return h.on("keypress",n),k.$on("$destroy",function(){h.off("keypress",n)}),function(e,k,m,n){function p(a){var b=(a||n.trigger||m).split(" "),d=b.map(function(a){return c[a]||a});return{show:b,hide:d}}n=angular.extend({},b,d,n);var q=a(e),r=j.startSymbol(),s=j.endSymbol(),t="<div "+q+'-popup title="'+r+"title"+s+'" '+(n.useContentExp?'content-exp="contentExp()" ':'content="'+r+"content"+s+'" ')+'placement="'+r+"placement"+s+'" popup-class="'+r+"popupClass"+s+'" animation="animation" is-open="isOpen"origin-scope="origScope" style="visibility: hidden; display: block; top: -9999px; left: -9999px;"></div>';return{compile:function(a,b){var c=f(t);return function(a,b,d,f){function j(){M.isOpen?q():m()}function m(){(!L||a.$eval(d[k+"Enable"]))&&(u(),x(),M.popupDelay?G||(G=g(r,M.popupDelay,!1)):r())}function q(){s(),M.popupCloseDelay?H||(H=g(t,M.popupCloseDelay,!1)):t()}function r(){return s(),u(),M.content?(v(),void M.$evalAsync(function(){M.isOpen=!0,y(!0),R()})):angular.noop}function s(){G&&(g.cancel(G),G=null),I&&(g.cancel(I),I=null)}function t(){M&&M.$evalAsync(function(){M.isOpen=!1,y(!1),M.animation?F||(F=g(w,150,!1)):w()})}function u(){H&&(g.cancel(H),H=null),F&&(g.cancel(F),F=null)}function v(){D||(E=M.$new(),D=c(E,function(a){J?h.find("body").append(a):b.after(a)}),z())}function w(){s(),u(),A(),D&&(D.remove(),D=null),E&&(E.$destroy(),E=null)}function x(){M.title=d[k+"Title"],P?M.content=P(a):M.content=d[e],M.popupClass=d[k+"Class"],M.placement=angular.isDefined(d[k+"Placement"])?d[k+"Placement"]:n.placement;var b=parseInt(d[k+"PopupDelay"],10),c=parseInt(d[k+"PopupCloseDelay"],10);M.popupDelay=isNaN(b)?n.popupDelay:b,M.popupCloseDelay=isNaN(c)?n.popupCloseDelay:c}function y(b){O&&angular.isFunction(O.assign)&&O.assign(a,b)}function z(){Q.length=0,P?(Q.push(a.$watch(P,function(a){M.content=a,!a&&M.isOpen&&t()})),Q.push(E.$watch(function(){N||(N=!0,E.$$postDigest(function(){N=!1,M&&M.isOpen&&R()}))}))):Q.push(d.$observe(e,function(a){M.content=a,!a&&M.isOpen?t():R()})),Q.push(d.$observe(k+"Title",function(a){M.title=a,M.isOpen&&R()})),Q.push(d.$observe(k+"Placement",function(a){M.placement=a?a:n.placement,M.isOpen&&R()}))}function A(){Q.length&&(angular.forEach(Q,function(a){a()}),Q.length=0)}function B(a){M&&M.isOpen&&D&&(b[0].contains(a.target)||D[0].contains(a.target)||q())}function C(){var a=d[k+"Trigger"];S(),K=p(a),"none"!==K.show&&K.show.forEach(function(a,c){"outsideClick"===a?(b.on("click",j),h.on("click",B)):a===K.hide[c]?b.on(a,j):a&&(b.on(a,m),b.on(K.hide[c],q)),b.on("keypress",function(a){27===a.which&&q()})})}var D,E,F,G,H,I,J=angular.isDefined(n.appendToBody)?n.appendToBody:!1,K=p(void 0),L=angular.isDefined(d[k+"Enable"]),M=a.$new(!0),N=!1,O=angular.isDefined(d[k+"IsOpen"])?l(d[k+"IsOpen"]):!1,P=n.useContentExp?l(d[e]):!1,Q=[],R=function(){D&&D.html()&&(I||(I=g(function(){D.css({top:0,left:0});var a=i.positionElements(b,D,M.placement,J);D.css({top:a.top+"px",left:a.left+"px",visibility:"visible"}),n.placementClassPrefix&&D.removeClass("top bottom left right"),D.removeClass(n.placementClassPrefix+"top "+n.placementClassPrefix+"top-left "+n.placementClassPrefix+"top-right "+n.placementClassPrefix+"bottom "+n.placementClassPrefix+"bottom-left "+n.placementClassPrefix+"bottom-right "+n.placementClassPrefix+"left "+n.placementClassPrefix+"left-top "+n.placementClassPrefix+"left-bottom "+n.placementClassPrefix+"right "+n.placementClassPrefix+"right-top "+n.placementClassPrefix+"right-bottom");var c=a.placement.split("-");D.addClass(c[0],n.placementClassPrefix+a.placement),i.positionArrow(D,a.placement),I=null},0,!1)))};M.origScope=a,M.isOpen=!1,o.add(M,{close:t}),M.contentExp=function(){return M.content},d.$observe("disabled",function(a){a&&s(),a&&M.isOpen&&t()}),O&&a.$watch(O,function(a){M&&!a===M.isOpen&&j()});var S=function(){K.show.forEach(function(a){"outsideClick"===a?b.off("click",j):(b.off(a,m),b.off(a,j))}),K.hide.forEach(function(a){"outsideClick"===a?h.off("click",B):b.off(a,q)})};C();var T=a.$eval(d[k+"Animation"]);M.animation=angular.isDefined(T)?!!T:n.animation;var U,V=k+"AppendToBody";U=V in d&&void 0===d[V]?!0:a.$eval(d[V]),J=angular.isDefined(U)?U:J,J&&a.$on("$locationChangeSuccess",function(){M.isOpen&&t()}),a.$on("$destroy",function(){S(),w(),o.remove(M),M=null})}}}}}]}).directive("uibTooltipTemplateTransclude",["$animate","$sce","$compile","$templateRequest",function(a,b,c,d){return{link:function(e,f,g){var h,i,j,k=e.$eval(g.tooltipTemplateTranscludeScope),l=0,m=function(){i&&(i.remove(),i=null),h&&(h.$destroy(),h=null),j&&(a.leave(j).then(function(){i=null}),i=j,j=null)};e.$watch(b.parseAsResourceUrl(g.uibTooltipTemplateTransclude),function(b){var g=++l;b?(d(b,!0).then(function(d){if(g===l){var e=k.$new(),i=d,n=c(i)(e,function(b){m(),a.enter(b,f)});h=e,j=n,h.$emit("$includeContentLoaded",b)}},function(){g===l&&(m(),e.$emit("$includeContentError",b))}),e.$emit("$includeContentRequested",b)):m()}),e.$on("$destroy",m)}}}]).directive("uibTooltipClasses",["$uibPosition",function(a){return{restrict:"A",link:function(b,c,d){if(b.placement){var e=a.parsePlacement(b.placement);c.addClass(e[0])}else c.addClass("top");b.popupClass&&c.addClass(b.popupClass),b.animation()&&c.addClass(d.tooltipAnimationClass)}}}]).directive("uibTooltipPopup",function(){return{replace:!0,scope:{content:"@",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"uib/template/tooltip/tooltip-popup.html"}}).directive("uibTooltip",["$uibTooltip",function(a){return a("uibTooltip","tooltip","mouseenter")}]).directive("uibTooltipTemplatePopup",function(){return{replace:!0,scope:{contentExp:"&",placement:"@",popupClass:"@",animation:"&",isOpen:"&",originScope:"&"},templateUrl:"uib/template/tooltip/tooltip-template-popup.html"}}).directive("uibTooltipTemplate",["$uibTooltip",function(a){return a("uibTooltipTemplate","tooltip","mouseenter",{useContentExp:!0})}]).directive("uibTooltipHtmlPopup",function(){return{replace:!0,scope:{contentExp:"&",
+placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"uib/template/tooltip/tooltip-html-popup.html"}}).directive("uibTooltipHtml",["$uibTooltip",function(a){return a("uibTooltipHtml","tooltip","mouseenter",{useContentExp:!0})}]),angular.module("ui.bootstrap.popover",["ui.bootstrap.tooltip"]).directive("uibPopoverTemplatePopup",function(){return{replace:!0,scope:{title:"@",contentExp:"&",placement:"@",popupClass:"@",animation:"&",isOpen:"&",originScope:"&"},templateUrl:"uib/template/popover/popover-template.html"}}).directive("uibPopoverTemplate",["$uibTooltip",function(a){return a("uibPopoverTemplate","popover","click",{useContentExp:!0})}]).directive("uibPopoverHtmlPopup",function(){return{replace:!0,scope:{contentExp:"&",title:"@",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"uib/template/popover/popover-html.html"}}).directive("uibPopoverHtml",["$uibTooltip",function(a){return a("uibPopoverHtml","popover","click",{useContentExp:!0})}]).directive("uibPopoverPopup",function(){return{replace:!0,scope:{title:"@",content:"@",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"uib/template/popover/popover.html"}}).directive("uibPopover",["$uibTooltip",function(a){return a("uibPopover","popover","click")}]),angular.module("ui.bootstrap.progressbar",[]).constant("uibProgressConfig",{animate:!0,max:100}).controller("UibProgressController",["$scope","$attrs","uibProgressConfig",function(a,b,c){var d=this,e=angular.isDefined(b.animate)?a.$parent.$eval(b.animate):c.animate;this.bars=[],a.max=angular.isDefined(a.max)?a.max:c.max,this.addBar=function(b,c,f){e||c.css({transition:"none"}),this.bars.push(b),b.max=a.max,b.title=f&&angular.isDefined(f.title)?f.title:"progressbar",b.$watch("value",function(a){b.recalculatePercentage()}),b.recalculatePercentage=function(){var a=d.bars.reduce(function(a,b){return b.percent=+(100*b.value/b.max).toFixed(2),a+b.percent},0);a>100&&(b.percent-=a-100)},b.$on("$destroy",function(){c=null,d.removeBar(b)})},this.removeBar=function(a){this.bars.splice(this.bars.indexOf(a),1),this.bars.forEach(function(a){a.recalculatePercentage()})},a.$watch("max",function(b){d.bars.forEach(function(b){b.max=a.max,b.recalculatePercentage()})})}]).directive("uibProgress",function(){return{replace:!0,transclude:!0,controller:"UibProgressController",require:"uibProgress",scope:{max:"=?"},templateUrl:"uib/template/progressbar/progress.html"}}).directive("uibBar",function(){return{replace:!0,transclude:!0,require:"^uibProgress",scope:{value:"=",type:"@"},templateUrl:"uib/template/progressbar/bar.html",link:function(a,b,c,d){d.addBar(a,b,c)}}}).directive("uibProgressbar",function(){return{replace:!0,transclude:!0,controller:"UibProgressController",scope:{value:"=",max:"=?",type:"@"},templateUrl:"uib/template/progressbar/progressbar.html",link:function(a,b,c,d){d.addBar(a,angular.element(b.children()[0]),{title:c.title})}}}),angular.module("ui.bootstrap.rating",[]).constant("uibRatingConfig",{max:5,stateOn:null,stateOff:null,titles:["one","two","three","four","five"]}).controller("UibRatingController",["$scope","$attrs","uibRatingConfig",function(a,b,c){var d={$setViewValue:angular.noop};this.init=function(e){d=e,d.$render=this.render,d.$formatters.push(function(a){return angular.isNumber(a)&&a<<0!==a&&(a=Math.round(a)),a}),this.stateOn=angular.isDefined(b.stateOn)?a.$parent.$eval(b.stateOn):c.stateOn,this.stateOff=angular.isDefined(b.stateOff)?a.$parent.$eval(b.stateOff):c.stateOff;var f=angular.isDefined(b.titles)?a.$parent.$eval(b.titles):c.titles;this.titles=angular.isArray(f)&&f.length>0?f:c.titles;var g=angular.isDefined(b.ratingStates)?a.$parent.$eval(b.ratingStates):new Array(angular.isDefined(b.max)?a.$parent.$eval(b.max):c.max);a.range=this.buildTemplateObjects(g)},this.buildTemplateObjects=function(a){for(var b=0,c=a.length;c>b;b++)a[b]=angular.extend({index:b},{stateOn:this.stateOn,stateOff:this.stateOff,title:this.getTitle(b)},a[b]);return a},this.getTitle=function(a){return a>=this.titles.length?a+1:this.titles[a]},a.rate=function(b){!a.readonly&&b>=0&&b<=a.range.length&&(d.$setViewValue(d.$viewValue===b?0:b),d.$render())},a.enter=function(b){a.readonly||(a.value=b),a.onHover({value:b})},a.reset=function(){a.value=d.$viewValue,a.onLeave()},a.onKeydown=function(b){/(37|38|39|40)/.test(b.which)&&(b.preventDefault(),b.stopPropagation(),a.rate(a.value+(38===b.which||39===b.which?1:-1)))},this.render=function(){a.value=d.$viewValue}}]).directive("uibRating",function(){return{require:["uibRating","ngModel"],scope:{readonly:"=?",onHover:"&",onLeave:"&"},controller:"UibRatingController",templateUrl:"uib/template/rating/rating.html",replace:!0,link:function(a,b,c,d){var e=d[0],f=d[1];e.init(f)}}}),angular.module("ui.bootstrap.tabs",[]).controller("UibTabsetController",["$scope",function(a){var b=this,c=b.tabs=a.tabs=[];b.select=function(a){angular.forEach(c,function(b){b.active&&b!==a&&(b.active=!1,b.onDeselect(),a.selectCalled=!1)}),a.active=!0,a.selectCalled||(a.onSelect(),a.selectCalled=!0)},b.addTab=function(a){c.push(a),1===c.length&&a.active!==!1?a.active=!0:a.active?b.select(a):a.active=!1},b.removeTab=function(a){var e=c.indexOf(a);if(a.active&&c.length>1&&!d){var f=e===c.length-1?e-1:e+1;b.select(c[f])}c.splice(e,1)};var d;a.$on("$destroy",function(){d=!0})}]).directive("uibTabset",function(){return{transclude:!0,replace:!0,scope:{type:"@"},controller:"UibTabsetController",templateUrl:"uib/template/tabs/tabset.html",link:function(a,b,c){a.vertical=angular.isDefined(c.vertical)?a.$parent.$eval(c.vertical):!1,a.justified=angular.isDefined(c.justified)?a.$parent.$eval(c.justified):!1}}}).directive("uibTab",["$parse",function(a){return{require:"^uibTabset",replace:!0,templateUrl:"uib/template/tabs/tab.html",transclude:!0,scope:{active:"=?",heading:"@",onSelect:"&select",onDeselect:"&deselect"},controller:function(){},controllerAs:"tab",link:function(b,c,d,e,f){b.$watch("active",function(a){a&&e.select(b)}),b.disabled=!1,d.disable&&b.$parent.$watch(a(d.disable),function(a){b.disabled=!!a}),b.select=function(){b.disabled||(b.active=!0)},e.addTab(b),b.$on("$destroy",function(){e.removeTab(b)}),b.$transcludeFn=f}}}]).directive("uibTabHeadingTransclude",function(){return{restrict:"A",require:"^uibTab",link:function(a,b){a.$watch("headingElement",function(a){a&&(b.html(""),b.append(a))})}}}).directive("uibTabContentTransclude",function(){function a(a){return a.tagName&&(a.hasAttribute("uib-tab-heading")||a.hasAttribute("data-uib-tab-heading")||a.hasAttribute("x-uib-tab-heading")||"uib-tab-heading"===a.tagName.toLowerCase()||"data-uib-tab-heading"===a.tagName.toLowerCase()||"x-uib-tab-heading"===a.tagName.toLowerCase())}return{restrict:"A",require:"^uibTabset",link:function(b,c,d){var e=b.$eval(d.uibTabContentTransclude);e.$transcludeFn(e.$parent,function(b){angular.forEach(b,function(b){a(b)?e.headingElement=b:c.append(b)})})}}}),angular.module("ui.bootstrap.timepicker",[]).constant("uibTimepickerConfig",{hourStep:1,minuteStep:1,secondStep:1,showMeridian:!0,showSeconds:!1,meridians:null,readonlyInput:!1,mousewheel:!0,arrowkeys:!0,showSpinners:!0,templateUrl:"uib/template/timepicker/timepicker.html"}).controller("UibTimepickerController",["$scope","$element","$attrs","$parse","$log","$locale","uibTimepickerConfig",function(a,b,c,d,e,f,g){function h(){var b=+a.hours,c=a.showMeridian?b>0&&13>b:b>=0&&24>b;return c?(a.showMeridian&&(12===b&&(b=0),a.meridian===t[1]&&(b+=12)),b):void 0}function i(){var b=+a.minutes;return b>=0&&60>b?b:void 0}function j(){var b=+a.seconds;return b>=0&&60>b?b:void 0}function k(a){return null===a?"":angular.isDefined(a)&&a.toString().length<2?"0"+a:a.toString()}function l(a){m(),s.$setViewValue(new Date(r)),n(a)}function m(){s.$setValidity("time",!0),a.invalidHours=!1,a.invalidMinutes=!1,a.invalidSeconds=!1}function n(b){if(s.$modelValue){var c=r.getHours(),d=r.getMinutes(),e=r.getSeconds();a.showMeridian&&(c=0===c||12===c?12:c%12),a.hours="h"===b?c:k(c),"m"!==b&&(a.minutes=k(d)),a.meridian=r.getHours()<12?t[0]:t[1],"s"!==b&&(a.seconds=k(e)),a.meridian=r.getHours()<12?t[0]:t[1]}else a.hours=null,a.minutes=null,a.seconds=null,a.meridian=t[0]}function o(a){r=q(r,a),l()}function p(a,b){return q(a,60*b)}function q(a,b){var c=new Date(a.getTime()+1e3*b),d=new Date(a);return d.setHours(c.getHours(),c.getMinutes(),c.getSeconds()),d}var r=new Date,s={$setViewValue:angular.noop},t=angular.isDefined(c.meridians)?a.$parent.$eval(c.meridians):g.meridians||f.DATETIME_FORMATS.AMPMS;a.tabindex=angular.isDefined(c.tabindex)?c.tabindex:0,b.removeAttr("tabindex"),this.init=function(b,d){s=b,s.$render=this.render,s.$formatters.unshift(function(a){return a?new Date(a):null});var e=d.eq(0),f=d.eq(1),h=d.eq(2),i=angular.isDefined(c.mousewheel)?a.$parent.$eval(c.mousewheel):g.mousewheel;i&&this.setupMousewheelEvents(e,f,h);var j=angular.isDefined(c.arrowkeys)?a.$parent.$eval(c.arrowkeys):g.arrowkeys;j&&this.setupArrowkeyEvents(e,f,h),a.readonlyInput=angular.isDefined(c.readonlyInput)?a.$parent.$eval(c.readonlyInput):g.readonlyInput,this.setupInputEvents(e,f,h)};var u=g.hourStep;c.hourStep&&a.$parent.$watch(d(c.hourStep),function(a){u=+a});var v=g.minuteStep;c.minuteStep&&a.$parent.$watch(d(c.minuteStep),function(a){v=+a});var w;a.$parent.$watch(d(c.min),function(a){var b=new Date(a);w=isNaN(b)?void 0:b});var x;a.$parent.$watch(d(c.max),function(a){var b=new Date(a);x=isNaN(b)?void 0:b});var y=!1;c.ngDisabled&&a.$parent.$watch(d(c.ngDisabled),function(a){y=a}),a.noIncrementHours=function(){var a=p(r,60*u);return y||a>x||r>a&&w>a},a.noDecrementHours=function(){var a=p(r,60*-u);return y||w>a||a>r&&a>x},a.noIncrementMinutes=function(){var a=p(r,v);return y||a>x||r>a&&w>a},a.noDecrementMinutes=function(){var a=p(r,-v);return y||w>a||a>r&&a>x},a.noIncrementSeconds=function(){var a=q(r,z);return y||a>x||r>a&&w>a},a.noDecrementSeconds=function(){var a=q(r,-z);return y||w>a||a>r&&a>x},a.noToggleMeridian=function(){return r.getHours()<12?y||p(r,720)>x:y||p(r,-720)<w};var z=g.secondStep;c.secondStep&&a.$parent.$watch(d(c.secondStep),function(a){z=+a}),a.showSeconds=g.showSeconds,c.showSeconds&&a.$parent.$watch(d(c.showSeconds),function(b){a.showSeconds=!!b}),a.showMeridian=g.showMeridian,c.showMeridian&&a.$parent.$watch(d(c.showMeridian),function(b){if(a.showMeridian=!!b,s.$error.time){var c=h(),d=i();angular.isDefined(c)&&angular.isDefined(d)&&(r.setHours(c),l())}else n()}),this.setupMousewheelEvents=function(b,c,d){var e=function(a){a.originalEvent&&(a=a.originalEvent);var b=a.wheelDelta?a.wheelDelta:-a.deltaY;return a.detail||b>0};b.bind("mousewheel wheel",function(b){y||a.$apply(e(b)?a.incrementHours():a.decrementHours()),b.preventDefault()}),c.bind("mousewheel wheel",function(b){y||a.$apply(e(b)?a.incrementMinutes():a.decrementMinutes()),b.preventDefault()}),d.bind("mousewheel wheel",function(b){y||a.$apply(e(b)?a.incrementSeconds():a.decrementSeconds()),b.preventDefault()})},this.setupArrowkeyEvents=function(b,c,d){b.bind("keydown",function(b){y||(38===b.which?(b.preventDefault(),a.incrementHours(),a.$apply()):40===b.which&&(b.preventDefault(),a.decrementHours(),a.$apply()))}),c.bind("keydown",function(b){y||(38===b.which?(b.preventDefault(),a.incrementMinutes(),a.$apply()):40===b.which&&(b.preventDefault(),a.decrementMinutes(),a.$apply()))}),d.bind("keydown",function(b){y||(38===b.which?(b.preventDefault(),a.incrementSeconds(),a.$apply()):40===b.which&&(b.preventDefault(),a.decrementSeconds(),a.$apply()))})},this.setupInputEvents=function(b,c,d){if(a.readonlyInput)return a.updateHours=angular.noop,a.updateMinutes=angular.noop,void(a.updateSeconds=angular.noop);var e=function(b,c,d){s.$setViewValue(null),s.$setValidity("time",!1),angular.isDefined(b)&&(a.invalidHours=b),angular.isDefined(c)&&(a.invalidMinutes=c),angular.isDefined(d)&&(a.invalidSeconds=d)};a.updateHours=function(){var a=h(),b=i();s.$setDirty(),angular.isDefined(a)&&angular.isDefined(b)?(r.setHours(a),r.setMinutes(b),w>r||r>x?e(!0):l("h")):e(!0)},b.bind("blur",function(b){s.$setTouched(),null===a.hours||""===a.hours?e(!0):!a.invalidHours&&a.hours<10&&a.$apply(function(){a.hours=k(a.hours)})}),a.updateMinutes=function(){var a=i(),b=h();s.$setDirty(),angular.isDefined(a)&&angular.isDefined(b)?(r.setHours(b),r.setMinutes(a),w>r||r>x?e(void 0,!0):l("m")):e(void 0,!0)},c.bind("blur",function(b){s.$setTouched(),null===a.minutes?e(void 0,!0):!a.invalidMinutes&&a.minutes<10&&a.$apply(function(){a.minutes=k(a.minutes)})}),a.updateSeconds=function(){var a=j();s.$setDirty(),angular.isDefined(a)?(r.setSeconds(a),l("s")):e(void 0,void 0,!0)},d.bind("blur",function(b){!a.invalidSeconds&&a.seconds<10&&a.$apply(function(){a.seconds=k(a.seconds)})})},this.render=function(){var b=s.$viewValue;isNaN(b)?(s.$setValidity("time",!1),e.error('Timepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')):(b&&(r=b),w>r||r>x?(s.$setValidity("time",!1),a.invalidHours=!0,a.invalidMinutes=!0):m(),n())},a.showSpinners=angular.isDefined(c.showSpinners)?a.$parent.$eval(c.showSpinners):g.showSpinners,a.incrementHours=function(){a.noIncrementHours()||o(60*u*60)},a.decrementHours=function(){a.noDecrementHours()||o(60*-u*60)},a.incrementMinutes=function(){a.noIncrementMinutes()||o(60*v)},a.decrementMinutes=function(){a.noDecrementMinutes()||o(60*-v)},a.incrementSeconds=function(){a.noIncrementSeconds()||o(z)},a.decrementSeconds=function(){a.noDecrementSeconds()||o(-z)},a.toggleMeridian=function(){var b=i(),c=h();a.noToggleMeridian()||(angular.isDefined(b)&&angular.isDefined(c)?o(720*(r.getHours()<12?60:-60)):a.meridian=a.meridian===t[0]?t[1]:t[0])},a.blur=function(){s.$setTouched()}}]).directive("uibTimepicker",["uibTimepickerConfig",function(a){return{require:["uibTimepicker","?^ngModel"],controller:"UibTimepickerController",controllerAs:"timepicker",replace:!0,scope:{},templateUrl:function(b,c){return c.templateUrl||a.templateUrl},link:function(a,b,c,d){var e=d[0],f=d[1];f&&e.init(f,b.find("input"))}}}]),angular.module("ui.bootstrap.typeahead",["ui.bootstrap.debounce","ui.bootstrap.position"]).factory("uibTypeaheadParser",["$parse",function(a){var b=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+([\s\S]+?)$/;return{parse:function(c){var d=c.match(b);if(!d)throw new Error('Expected typeahead specification in form of "_modelValue_ (as _label_)? for _item_ in _collection_" but got "'+c+'".');return{itemName:d[3],source:a(d[4]),viewMapper:a(d[2]||d[1]),modelMapper:a(d[1])}}}}]).controller("UibTypeaheadController",["$scope","$element","$attrs","$compile","$parse","$q","$timeout","$document","$window","$rootScope","$$debounce","$uibPosition","uibTypeaheadParser",function(a,b,c,d,e,f,g,h,i,j,k,l,m){function n(){N.moveInProgress||(N.moveInProgress=!0,N.$digest()),Y()}function o(){N.position=D?l.offset(b):l.position(b),N.position.top+=b.prop("offsetHeight")}var p,q,r=[9,13,27,38,40],s=200,t=a.$eval(c.typeaheadMinLength);t||0===t||(t=1);var u=a.$eval(c.typeaheadWaitMs)||0,v=a.$eval(c.typeaheadEditable)!==!1;a.$watch(c.typeaheadEditable,function(a){v=a!==!1});var w,x,y=e(c.typeaheadLoading).assign||angular.noop,z=e(c.typeaheadOnSelect),A=angular.isDefined(c.typeaheadSelectOnBlur)?a.$eval(c.typeaheadSelectOnBlur):!1,B=e(c.typeaheadNoResults).assign||angular.noop,C=c.typeaheadInputFormatter?e(c.typeaheadInputFormatter):void 0,D=c.typeaheadAppendToBody?a.$eval(c.typeaheadAppendToBody):!1,E=c.typeaheadAppendTo?a.$eval(c.typeaheadAppendTo):null,F=a.$eval(c.typeaheadFocusFirst)!==!1,G=c.typeaheadSelectOnExact?a.$eval(c.typeaheadSelectOnExact):!1,H=e(c.typeaheadIsOpen).assign||angular.noop,I=a.$eval(c.typeaheadShowHint)||!1,J=e(c.ngModel),K=e(c.ngModel+"($$$p)"),L=function(b,c){return angular.isFunction(J(a))&&q&&q.$options&&q.$options.getterSetter?K(b,{$$$p:c}):J.assign(b,c)},M=m.parse(c.uibTypeahead),N=a.$new(),O=a.$on("$destroy",function(){N.$destroy()});N.$on("$destroy",O);var P="typeahead-"+N.$id+"-"+Math.floor(1e4*Math.random());b.attr({"aria-autocomplete":"list","aria-expanded":!1,"aria-owns":P});var Q,R;I&&(Q=angular.element("<div></div>"),Q.css("position","relative"),b.after(Q),R=b.clone(),R.attr("placeholder",""),R.val(""),R.css({position:"absolute",top:"0px",left:"0px","border-color":"transparent","box-shadow":"none",opacity:1,background:"none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255)",color:"#999"}),b.css({position:"relative","vertical-align":"top","background-color":"transparent"}),Q.append(R),R.after(b));var S=angular.element("<div uib-typeahead-popup></div>");S.attr({id:P,matches:"matches",active:"activeIdx",select:"select(activeIdx, evt)","move-in-progress":"moveInProgress",query:"query",position:"position","assign-is-open":"assignIsOpen(isOpen)",debounce:"debounceUpdate"}),angular.isDefined(c.typeaheadTemplateUrl)&&S.attr("template-url",c.typeaheadTemplateUrl),angular.isDefined(c.typeaheadPopupTemplateUrl)&&S.attr("popup-template-url",c.typeaheadPopupTemplateUrl);var T=function(){I&&R.val("")},U=function(){N.matches=[],N.activeIdx=-1,b.attr("aria-expanded",!1),T()},V=function(a){return P+"-option-"+a};N.$watch("activeIdx",function(a){0>a?b.removeAttr("aria-activedescendant"):b.attr("aria-activedescendant",V(a))});var W=function(a,b){return N.matches.length>b&&a?a.toUpperCase()===N.matches[b].label.toUpperCase():!1},X=function(c,d){var e={$viewValue:c};y(a,!0),B(a,!1),f.when(M.source(a,e)).then(function(f){var g=c===p.$viewValue;if(g&&w)if(f&&f.length>0){N.activeIdx=F?0:-1,B(a,!1),N.matches.length=0;for(var h=0;h<f.length;h++)e[M.itemName]=f[h],N.matches.push({id:V(h),label:M.viewMapper(N,e),model:f[h]});if(N.query=c,o(),b.attr("aria-expanded",!0),G&&1===N.matches.length&&W(c,0)&&(angular.isNumber(N.debounceUpdate)||angular.isObject(N.debounceUpdate)?k(function(){N.select(0,d)},angular.isNumber(N.debounceUpdate)?N.debounceUpdate:N.debounceUpdate["default"]):N.select(0,d)),I){var i=N.matches[0].label;c.length>0&&i.slice(0,c.length).toUpperCase()===c.toUpperCase()?R.val(c+i.slice(c.length)):R.val("")}}else U(),B(a,!0);g&&y(a,!1)},function(){U(),y(a,!1),B(a,!0)})};D&&(angular.element(i).on("resize",n),h.find("body").on("scroll",n));var Y=k(function(){N.matches.length&&o(),N.moveInProgress=!1},s);N.moveInProgress=!1,N.query=void 0;var Z,$=function(a){Z=g(function(){X(a)},u)},_=function(){Z&&g.cancel(Z)};U(),N.assignIsOpen=function(b){H(a,b)},N.select=function(d,e){var f,h,i={};x=!0,i[M.itemName]=h=N.matches[d].model,f=M.modelMapper(a,i),L(a,f),p.$setValidity("editable",!0),p.$setValidity("parse",!0),z(a,{$item:h,$model:f,$label:M.viewMapper(a,i),$event:e}),U(),N.$eval(c.typeaheadFocusOnSelect)!==!1&&g(function(){b[0].focus()},0,!1)},b.on("keydown",function(a){if(0!==N.matches.length&&-1!==r.indexOf(a.which)){if(-1===N.activeIdx&&(9===a.which||13===a.which))return U(),void N.$digest();a.preventDefault();var b;switch(a.which){case 9:case 13:N.$apply(function(){angular.isNumber(N.debounceUpdate)||angular.isObject(N.debounceUpdate)?k(function(){N.select(N.activeIdx,a)},angular.isNumber(N.debounceUpdate)?N.debounceUpdate:N.debounceUpdate["default"]):N.select(N.activeIdx,a)});break;case 27:a.stopPropagation(),U(),N.$digest();break;case 38:N.activeIdx=(N.activeIdx>0?N.activeIdx:N.matches.length)-1,N.$digest(),b=S.find("li")[N.activeIdx],b.parentNode.scrollTop=b.offsetTop;break;case 40:N.activeIdx=(N.activeIdx+1)%N.matches.length,N.$digest(),b=S.find("li")[N.activeIdx],b.parentNode.scrollTop=b.offsetTop}}}),b.bind("focus",function(a){w=!0,0!==t||p.$viewValue||g(function(){X(p.$viewValue,a)},0)}),b.bind("blur",function(a){A&&N.matches.length&&-1!==N.activeIdx&&!x&&(x=!0,N.$apply(function(){angular.isObject(N.debounceUpdate)&&angular.isNumber(N.debounceUpdate.blur)?k(function(){N.select(N.activeIdx,a)},N.debounceUpdate.blur):N.select(N.activeIdx,a)})),!v&&p.$error.editable&&(p.$viewValue="",b.val("")),w=!1,x=!1});var aa=function(a){b[0]!==a.target&&3!==a.which&&0!==N.matches.length&&(U(),j.$$phase||N.$digest())};h.on("click",aa),a.$on("$destroy",function(){h.off("click",aa),(D||E)&&ba.remove(),D&&(angular.element(i).off("resize",n),h.find("body").off("scroll",n)),S.remove(),I&&Q.remove()});var ba=d(S)(N);D?h.find("body").append(ba):E?angular.element(E).eq(0).append(ba):b.after(ba),this.init=function(b,c){p=b,q=c,N.debounceUpdate=p.$options&&e(p.$options.debounce)(a),p.$parsers.unshift(function(b){return w=!0,0===t||b&&b.length>=t?u>0?(_(),$(b)):X(b):(y(a,!1),_(),U()),v?b:b?void p.$setValidity("editable",!1):(p.$setValidity("editable",!0),null)}),p.$formatters.push(function(b){var c,d,e={};return v||p.$setValidity("editable",!0),C?(e.$model=b,C(a,e)):(e[M.itemName]=b,c=M.viewMapper(a,e),e[M.itemName]=void 0,d=M.viewMapper(a,e),c!==d?c:b)})}}]).directive("uibTypeahead",function(){return{controller:"UibTypeaheadController",require:["ngModel","^?ngModelOptions","uibTypeahead"],link:function(a,b,c,d){d[2].init(d[0],d[1])}}}).directive("uibTypeaheadPopup",["$$debounce",function(a){return{scope:{matches:"=",query:"=",active:"=",position:"&",moveInProgress:"=",select:"&",assignIsOpen:"&",debounce:"&"},replace:!0,templateUrl:function(a,b){return b.popupTemplateUrl||"uib/template/typeahead/typeahead-popup.html"},link:function(b,c,d){b.templateUrl=d.templateUrl,b.isOpen=function(){var a=b.matches.length>0;return b.assignIsOpen({isOpen:a}),a},b.isActive=function(a){return b.active===a},b.selectActive=function(a){b.active=a},b.selectMatch=function(c,d){var e=b.debounce();angular.isNumber(e)||angular.isObject(e)?a(function(){b.select({activeIdx:c,evt:d})},angular.isNumber(e)?e:e["default"]):b.select({activeIdx:c,evt:d})}}}}]).directive("uibTypeaheadMatch",["$templateRequest","$compile","$parse",function(a,b,c){return{scope:{index:"=",match:"=",query:"="},link:function(d,e,f){var g=c(f.templateUrl)(d.$parent)||"uib/template/typeahead/typeahead-match.html";a(g).then(function(a){var c=angular.element(a.trim());e.replaceWith(c),b(c)(d)})}}}]).filter("uibTypeaheadHighlight",["$sce","$injector","$log",function(a,b,c){function d(a){return a.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}function e(a){return/<.*>/g.test(a)}var f;return f=b.has("$sanitize"),function(b,g){return!f&&e(b)&&c.warn("Unsafe use of typeahead please use ngSanitize"),b=g?(""+b).replace(new RegExp(d(g),"gi"),"<strong>$&</strong>"):b,f||(b=a.trustAsHtml(b)),b}}]),angular.module("uib/template/accordion/accordion-group.html",[]).run(["$templateCache",function(a){a.put("uib/template/accordion/accordion-group.html",'<div class="panel" ng-class="panelClass || \'panel-default\'">\n  <div class="panel-heading" ng-keypress="toggleOpen($event)">\n    <h4 class="panel-title">\n      <div tabindex="0" class="accordion-toggle" ng-click="toggleOpen()" uib-accordion-transclude="heading"><span ng-class="{\'text-muted\': isDisabled}">{{heading}}</span></div>\n    </h4>\n  </div>\n  <div class="panel-collapse collapse" uib-collapse="!isOpen">\n     <div class="panel-body" ng-transclude></div>\n  </div>\n</div>\n')}]),angular.module("uib/template/accordion/accordion.html",[]).run(["$templateCache",function(a){a.put("uib/template/accordion/accordion.html",'<div class="panel-group" ng-transclude></div>')}]),angular.module("uib/template/alert/alert.html",[]).run(["$templateCache",function(a){a.put("uib/template/alert/alert.html",'<div class="alert" ng-class="[\'alert-\' + (type || \'warning\'), closeable ? \'alert-dismissible\' : null]" role="alert">\n    <button ng-show="closeable" type="button" class="close" ng-click="close({$event: $event})">\n        <span aria-hidden="true">&times;</span>\n        <span class="sr-only">Close</span>\n    </button>\n    <div ng-transclude></div>\n</div>\n')}]),angular.module("uib/template/carousel/carousel.html",[]).run(["$templateCache",function(a){a.put("uib/template/carousel/carousel.html",'<div ng-mouseenter="pause()" ng-mouseleave="play()" class="carousel" ng-swipe-right="prev()" ng-swipe-left="next()">\n  <div class="carousel-inner" ng-transclude></div>\n  <a role="button" href class="left carousel-control" ng-click="prev()" ng-show="slides.length > 1">\n    <span aria-hidden="true" class="glyphicon glyphicon-chevron-left"></span>\n    <span class="sr-only">previous</span>\n  </a>\n  <a role="button" href class="right carousel-control" ng-click="next()" ng-show="slides.length > 1">\n    <span aria-hidden="true" class="glyphicon glyphicon-chevron-right"></span>\n    <span class="sr-only">next</span>\n  </a>\n  <ol class="carousel-indicators" ng-show="slides.length > 1">\n    <li ng-repeat="slide in slides | orderBy:indexOfSlide track by $index" ng-class="{ active: isActive(slide) }" ng-click="select(slide)">\n      <span class="sr-only">slide {{ $index + 1 }} of {{ slides.length }}<span ng-if="isActive(slide)">, currently active</span></span>\n    </li>\n  </ol>\n</div>')}]),angular.module("uib/template/carousel/slide.html",[]).run(["$templateCache",function(a){a.put("uib/template/carousel/slide.html",'<div ng-class="{\n    \'active\': active\n  }" class="item text-center" ng-transclude></div>\n')}]),angular.module("uib/template/datepicker/datepicker.html",[]).run(["$templateCache",function(a){a.put("uib/template/datepicker/datepicker.html",'<div class="uib-datepicker" ng-switch="datepickerMode" role="application" ng-keydown="keydown($event)">\n  <uib-daypicker ng-switch-when="day" tabindex="0"></uib-daypicker>\n  <uib-monthpicker ng-switch-when="month" tabindex="0"></uib-monthpicker>\n  <uib-yearpicker ng-switch-when="year" tabindex="0"></uib-yearpicker>\n</div>')}]),angular.module("uib/template/datepicker/day.html",[]).run(["$templateCache",function(a){a.put("uib/template/datepicker/day.html",'<table class="uib-daypicker" role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n    <tr>\n      <th><button type="button" class="btn btn-default btn-sm pull-left uib-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"></i></button></th>\n      <th colspan="{{::5 + showWeeks}}"><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm uib-title" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1" style="width:100%;"><strong>{{title}}</strong></button></th>\n      <th><button type="button" class="btn btn-default btn-sm pull-right uib-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"></i></button></th>\n    </tr>\n    <tr>\n      <th ng-if="showWeeks" class="text-center"></th>\n      <th ng-repeat="label in ::labels track by $index" class="text-center"><small aria-label="{{::label.full}}">{{::label.abbr}}</small></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr class="uib-weeks" ng-repeat="row in rows track by $index">\n      <td ng-if="showWeeks" class="text-center h6"><em>{{ weekNumbers[$index] }}</em></td>\n      <td ng-repeat="dt in row" class="uib-day text-center" role="gridcell"\n        id="{{::dt.uid}}"\n        ng-class="::dt.customClass">\n        <button type="button" style="min-width:100%;" class="btn btn-default btn-sm"\n          uib-is-class="\n            \'btn-info\' for selectedDt,\n            \'active\' for activeDt\n            on dt"\n          ng-click="select(dt.date)"\n          ng-disabled="::dt.disabled"\n          tabindex="-1"><span ng-class="::{\'text-muted\': dt.secondary, \'text-info\': dt.current}">{{::dt.label}}</span></button>\n      </td>\n    </tr>\n  </tbody>\n</table>\n')}]),angular.module("uib/template/datepicker/month.html",[]).run(["$templateCache",function(a){a.put("uib/template/datepicker/month.html",'<table class="uib-monthpicker" role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n    <tr>\n      <th><button type="button" class="btn btn-default btn-sm pull-left uib-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"></i></button></th>\n      <th><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm uib-title" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1" style="width:100%;"><strong>{{title}}</strong></button></th>\n      <th><button type="button" class="btn btn-default btn-sm pull-right uib-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"></i></button></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr class="uib-months" ng-repeat="row in rows track by $index">\n      <td ng-repeat="dt in row" class="uib-month text-center" role="gridcell"\n        id="{{::dt.uid}}"\n        ng-class="::dt.customClass">\n        <button type="button" style="min-width:100%;" class="btn btn-default"\n          uib-is-class="\n            \'btn-info\' for selectedDt,\n            \'active\' for activeDt\n            on dt"\n          ng-click="select(dt.date)"\n          ng-disabled="::dt.disabled"\n          tabindex="-1"><span ng-class="::{\'text-info\': dt.current}">{{::dt.label}}</span></button>\n      </td>\n    </tr>\n  </tbody>\n</table>\n')}]),angular.module("uib/template/datepicker/popup.html",[]).run(["$templateCache",function(a){a.put("uib/template/datepicker/popup.html",'<ul class="uib-datepicker-popup dropdown-menu" dropdown-nested ng-if="isOpen" style="display: block" ng-style="{top: position.top+\'px\', left: position.left+\'px\'}" ng-keydown="keydown($event)" ng-click="$event.stopPropagation()">\n  <li ng-transclude></li>\n       <li ng-if="showButtonBar" style="padding:10px 9px 2px" class="uib-button-bar">\n                <span class="btn-group pull-left">\n                    <button type="button" class="btn btn-sm btn-info uib-datepicker-current" ng-click="select(\'today\')" ng-disabled="isDisabled(\'today\')">{{ getText(\'current\') }}</button>\n                 <button type="button" class="btn btn-sm btn-danger uib-clear" ng-click="select(null)">{{ getText(\'clear\') }}</button>\n               </span>\n               <button type="button" class="btn btn-sm btn-success pull-right uib-close" ng-click="close()">{{ getText(\'close\') }}</button>\n        </li>\n</ul>\n')}]),angular.module("uib/template/datepicker/year.html",[]).run(["$templateCache",function(a){a.put("uib/template/datepicker/year.html",'<table class="uib-yearpicker" role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n    <tr>\n      <th><button type="button" class="btn btn-default btn-sm pull-left uib-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"></i></button></th>\n      <th colspan="{{::columns - 2}}"><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm uib-title" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1" style="width:100%;"><strong>{{title}}</strong></button></th>\n      <th><button type="button" class="btn btn-default btn-sm pull-right uib-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"></i></button></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr class="uib-years" ng-repeat="row in rows track by $index">\n      <td ng-repeat="dt in row" class="uib-year text-center" role="gridcell"\n        id="{{::dt.uid}}"\n        ng-class="::dt.customClass">\n        <button type="button" style="min-width:100%;" class="btn btn-default"\n          uib-is-class="\n            \'btn-info\' for selectedDt,\n            \'active\' for activeDt\n            on dt"\n          ng-click="select(dt.date)"\n          ng-disabled="::dt.disabled"\n          tabindex="-1"><span ng-class="::{\'text-info\': dt.current}">{{::dt.label}}</span></button>\n      </td>\n    </tr>\n  </tbody>\n</table>\n')}]),angular.module("uib/template/modal/backdrop.html",[]).run(["$templateCache",function(a){a.put("uib/template/modal/backdrop.html",'<div class="modal-backdrop"\n     uib-modal-animation-class="fade"\n     modal-in-class="in"\n     ng-style="{\'z-index\': 1040 + (index && 1 || 0) + index*10}"\n></div>\n');
+}]),angular.module("uib/template/modal/window.html",[]).run(["$templateCache",function(a){a.put("uib/template/modal/window.html",'<div modal-render="{{$isRendered}}" tabindex="-1" role="dialog" class="modal"\n    uib-modal-animation-class="fade"\n    modal-in-class="in"\n    ng-style="{\'z-index\': 1050 + index*10, display: \'block\'}">\n    <div class="modal-dialog" ng-class="size ? \'modal-\' + size : \'\'"><div class="modal-content" uib-modal-transclude></div></div>\n</div>\n')}]),angular.module("uib/template/pager/pager.html",[]).run(["$templateCache",function(a){a.put("uib/template/pager/pager.html",'<ul class="pager">\n  <li ng-class="{disabled: noPrevious()||ngDisabled, previous: align}"><a href ng-click="selectPage(page - 1, $event)">{{::getText(\'previous\')}}</a></li>\n  <li ng-class="{disabled: noNext()||ngDisabled, next: align}"><a href ng-click="selectPage(page + 1, $event)">{{::getText(\'next\')}}</a></li>\n</ul>\n')}]),angular.module("uib/template/pagination/pagination.html",[]).run(["$templateCache",function(a){a.put("uib/template/pagination/pagination.html",'<ul class="pagination">\n  <li ng-if="::boundaryLinks" ng-class="{disabled: noPrevious()||ngDisabled}" class="pagination-first"><a href ng-click="selectPage(1, $event)">{{::getText(\'first\')}}</a></li>\n  <li ng-if="::directionLinks" ng-class="{disabled: noPrevious()||ngDisabled}" class="pagination-prev"><a href ng-click="selectPage(page - 1, $event)">{{::getText(\'previous\')}}</a></li>\n  <li ng-repeat="page in pages track by $index" ng-class="{active: page.active,disabled: ngDisabled&&!page.active}" class="pagination-page"><a href ng-click="selectPage(page.number, $event)">{{page.text}}</a></li>\n  <li ng-if="::directionLinks" ng-class="{disabled: noNext()||ngDisabled}" class="pagination-next"><a href ng-click="selectPage(page + 1, $event)">{{::getText(\'next\')}}</a></li>\n  <li ng-if="::boundaryLinks" ng-class="{disabled: noNext()||ngDisabled}" class="pagination-last"><a href ng-click="selectPage(totalPages, $event)">{{::getText(\'last\')}}</a></li>\n</ul>\n')}]),angular.module("uib/template/tooltip/tooltip-html-popup.html",[]).run(["$templateCache",function(a){a.put("uib/template/tooltip/tooltip-html-popup.html",'<div class="tooltip"\n  tooltip-animation-class="fade"\n  uib-tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="tooltip-arrow"></div>\n  <div class="tooltip-inner" ng-bind-html="contentExp()"></div>\n</div>\n')}]),angular.module("template/tooltip/tooltip-html-unsafe-popup.html",[]).run(["$templateCache",function(a){a.put("template/tooltip/tooltip-html-unsafe-popup.html",'<div class="tooltip"\n  tooltip-animation-class="fade"\n  tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="tooltip-arrow"></div>\n  <div class="tooltip-inner" bind-html-unsafe="content"></div>\n</div>\n')}]),angular.module("uib/template/tooltip/tooltip-popup.html",[]).run(["$templateCache",function(a){a.put("uib/template/tooltip/tooltip-popup.html",'<div class="tooltip"\n  tooltip-animation-class="fade"\n  uib-tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="tooltip-arrow"></div>\n  <div class="tooltip-inner" ng-bind="content"></div>\n</div>\n')}]),angular.module("uib/template/tooltip/tooltip-template-popup.html",[]).run(["$templateCache",function(a){a.put("uib/template/tooltip/tooltip-template-popup.html",'<div class="tooltip"\n  tooltip-animation-class="fade"\n  uib-tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="tooltip-arrow"></div>\n  <div class="tooltip-inner"\n    uib-tooltip-template-transclude="contentExp()"\n    tooltip-template-transclude-scope="originScope()"></div>\n</div>\n')}]),angular.module("uib/template/popover/popover-html.html",[]).run(["$templateCache",function(a){a.put("uib/template/popover/popover-html.html",'<div class="popover"\n  tooltip-animation-class="fade"\n  uib-tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="arrow"></div>\n\n  <div class="popover-inner">\n      <h3 class="popover-title" ng-bind="title" ng-if="title"></h3>\n      <div class="popover-content" ng-bind-html="contentExp()"></div>\n  </div>\n</div>\n')}]),angular.module("uib/template/popover/popover-template.html",[]).run(["$templateCache",function(a){a.put("uib/template/popover/popover-template.html",'<div class="popover"\n  tooltip-animation-class="fade"\n  uib-tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="arrow"></div>\n\n  <div class="popover-inner">\n      <h3 class="popover-title" ng-bind="title" ng-if="title"></h3>\n      <div class="popover-content"\n        uib-tooltip-template-transclude="contentExp()"\n        tooltip-template-transclude-scope="originScope()"></div>\n  </div>\n</div>\n')}]),angular.module("uib/template/popover/popover.html",[]).run(["$templateCache",function(a){a.put("uib/template/popover/popover.html",'<div class="popover"\n  tooltip-animation-class="fade"\n  uib-tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="arrow"></div>\n\n  <div class="popover-inner">\n      <h3 class="popover-title" ng-bind="title" ng-if="title"></h3>\n      <div class="popover-content" ng-bind="content"></div>\n  </div>\n</div>\n')}]),angular.module("uib/template/progressbar/bar.html",[]).run(["$templateCache",function(a){a.put("uib/template/progressbar/bar.html",'<div class="progress-bar" ng-class="type && \'progress-bar-\' + type" role="progressbar" aria-valuenow="{{value}}" aria-valuemin="0" aria-valuemax="{{max}}" ng-style="{width: (percent < 100 ? percent : 100) + \'%\'}" aria-valuetext="{{percent | number:0}}%" aria-labelledby="{{::title}}" ng-transclude></div>\n')}]),angular.module("uib/template/progressbar/progress.html",[]).run(["$templateCache",function(a){a.put("uib/template/progressbar/progress.html",'<div class="progress" ng-transclude aria-labelledby="{{::title}}"></div>')}]),angular.module("uib/template/progressbar/progressbar.html",[]).run(["$templateCache",function(a){a.put("uib/template/progressbar/progressbar.html",'<div class="progress">\n  <div class="progress-bar" ng-class="type && \'progress-bar-\' + type" role="progressbar" aria-valuenow="{{value}}" aria-valuemin="0" aria-valuemax="{{max}}" ng-style="{width: (percent < 100 ? percent : 100) + \'%\'}" aria-valuetext="{{percent | number:0}}%" aria-labelledby="{{::title}}" ng-transclude></div>\n</div>\n')}]),angular.module("uib/template/rating/rating.html",[]).run(["$templateCache",function(a){a.put("uib/template/rating/rating.html",'<span ng-mouseleave="reset()" ng-keydown="onKeydown($event)" tabindex="0" role="slider" aria-valuemin="0" aria-valuemax="{{range.length}}" aria-valuenow="{{value}}">\n    <span ng-repeat-start="r in range track by $index" class="sr-only">({{ $index < value ? \'*\' : \' \' }})</span>\n    <i ng-repeat-end ng-mouseenter="enter($index + 1)" ng-click="rate($index + 1)" class="glyphicon" ng-class="$index < value && (r.stateOn || \'glyphicon-star\') || (r.stateOff || \'glyphicon-star-empty\')" ng-attr-title="{{r.title}}" aria-valuetext="{{r.title}}"></i>\n</span>\n')}]),angular.module("uib/template/tabs/tab.html",[]).run(["$templateCache",function(a){a.put("uib/template/tabs/tab.html",'<li ng-class="{active: active, disabled: disabled}" class="uib-tab">\n  <div ng-click="select()" uib-tab-heading-transclude>{{heading}}</div>\n</li>\n')}]),angular.module("uib/template/tabs/tabset.html",[]).run(["$templateCache",function(a){a.put("uib/template/tabs/tabset.html",'<div>\n  <ul class="nav nav-{{type || \'tabs\'}}" ng-class="{\'nav-stacked\': vertical, \'nav-justified\': justified}" ng-transclude></ul>\n  <div class="tab-content">\n    <div class="tab-pane" \n         ng-repeat="tab in tabs" \n         ng-class="{active: tab.active}"\n         uib-tab-content-transclude="tab">\n    </div>\n  </div>\n</div>\n')}]),angular.module("uib/template/timepicker/timepicker.html",[]).run(["$templateCache",function(a){a.put("uib/template/timepicker/timepicker.html",'<table class="uib-timepicker">\n  <tbody>\n    <tr class="text-center" ng-show="::showSpinners">\n      <td class="uib-increment hours"><a ng-click="incrementHours()" ng-class="{disabled: noIncrementHours()}" class="btn btn-link" ng-disabled="noIncrementHours()" tabindex="{{::tabindex}}"><span class="glyphicon glyphicon-chevron-up"></span></a></td>\n      <td>&nbsp;</td>\n      <td class="uib-increment minutes"><a ng-click="incrementMinutes()" ng-class="{disabled: noIncrementMinutes()}" class="btn btn-link" ng-disabled="noIncrementMinutes()" tabindex="{{::tabindex}}"><span class="glyphicon glyphicon-chevron-up"></span></a></td>\n      <td ng-show="showSeconds">&nbsp;</td>\n      <td ng-show="showSeconds" class="uib-increment seconds"><a ng-click="incrementSeconds()" ng-class="{disabled: noIncrementSeconds()}" class="btn btn-link" ng-disabled="noIncrementSeconds()" tabindex="{{::tabindex}}"><span class="glyphicon glyphicon-chevron-up"></span></a></td>\n      <td ng-show="showMeridian"></td>\n    </tr>\n    <tr>\n      <td class="form-group uib-time hours" ng-class="{\'has-error\': invalidHours}">\n        <input style="width:50px;" type="text" placeholder="HH" ng-model="hours" ng-change="updateHours()" class="form-control text-center" ng-readonly="::readonlyInput" maxlength="2" tabindex="{{::tabindex}}" ng-disabled="noIncrementHours()" ng-blur="blur()">\n      </td>\n      <td class="uib-separator">:</td>\n      <td class="form-group uib-time minutes" ng-class="{\'has-error\': invalidMinutes}">\n        <input style="width:50px;" type="text" placeholder="MM" ng-model="minutes" ng-change="updateMinutes()" class="form-control text-center" ng-readonly="::readonlyInput" maxlength="2" tabindex="{{::tabindex}}" ng-disabled="noIncrementMinutes()" ng-blur="blur()">\n      </td>\n      <td ng-show="showSeconds" class="uib-separator">:</td>\n      <td class="form-group uib-time seconds" ng-class="{\'has-error\': invalidSeconds}" ng-show="showSeconds">\n        <input style="width:50px;" type="text" ng-model="seconds" ng-change="updateSeconds()" class="form-control text-center" ng-readonly="readonlyInput" maxlength="2" tabindex="{{::tabindex}}" ng-disabled="noIncrementSeconds()" ng-blur="blur()">\n      </td>\n      <td ng-show="showMeridian" class="uib-time am-pm"><button type="button" ng-class="{disabled: noToggleMeridian()}" class="btn btn-default text-center" ng-click="toggleMeridian()" ng-disabled="noToggleMeridian()" tabindex="{{::tabindex}}">{{meridian}}</button></td>\n    </tr>\n    <tr class="text-center" ng-show="::showSpinners">\n      <td class="uib-decrement hours"><a ng-click="decrementHours()" ng-class="{disabled: noDecrementHours()}" class="btn btn-link" ng-disabled="noDecrementHours()" tabindex="{{::tabindex}}"><span class="glyphicon glyphicon-chevron-down"></span></a></td>\n      <td>&nbsp;</td>\n      <td class="uib-decrement minutes"><a ng-click="decrementMinutes()" ng-class="{disabled: noDecrementMinutes()}" class="btn btn-link" ng-disabled="noDecrementMinutes()" tabindex="{{::tabindex}}"><span class="glyphicon glyphicon-chevron-down"></span></a></td>\n      <td ng-show="showSeconds">&nbsp;</td>\n      <td ng-show="showSeconds" class="uib-decrement seconds"><a ng-click="decrementSeconds()" ng-class="{disabled: noDecrementSeconds()}" class="btn btn-link" ng-disabled="noDecrementSeconds()" tabindex="{{::tabindex}}"><span class="glyphicon glyphicon-chevron-down"></span></a></td>\n      <td ng-show="showMeridian"></td>\n    </tr>\n  </tbody>\n</table>\n')}]),angular.module("uib/template/typeahead/typeahead-match.html",[]).run(["$templateCache",function(a){a.put("uib/template/typeahead/typeahead-match.html",'<a href tabindex="-1" ng-bind-html="match.label | uibTypeaheadHighlight:query"></a>\n')}]),angular.module("uib/template/typeahead/typeahead-popup.html",[]).run(["$templateCache",function(a){a.put("uib/template/typeahead/typeahead-popup.html",'<ul class="dropdown-menu" ng-show="isOpen() && !moveInProgress" ng-style="{top: position().top+\'px\', left: position().left+\'px\'}" style="display: block;" role="listbox" aria-hidden="{{!isOpen()}}">\n    <li ng-repeat="match in matches track by $index" ng-class="{active: isActive($index) }" ng-mouseenter="selectActive($index)" ng-click="selectMatch($index, $event)" role="option" id="{{::match.id}}">\n        <div uib-typeahead-match index="$index" match="match" query="query" template-url="templateUrl"></div>\n    </li>\n</ul>\n')}]),angular.module("ui.bootstrap.carousel").run(function(){!angular.$$csp().noInlineStyle&&angular.element(document).find("head").prepend('<style type="text/css">.ng-animate.item:not(.left):not(.right){-webkit-transition:0s ease-in-out left;transition:0s ease-in-out left}</style>')}),angular.module("ui.bootstrap.tabs").run(function(){!angular.$$csp().noInlineStyle&&angular.element(document).find("head").prepend('<style type="text/css">.uib-tab > div{position:relative;display:block;padding:10px 15px;outline:0;color:#337ab7;}.uib-tab > div:focus,.uib-tab > div:hover{background-color:#eee;color:#23527c;}.uib-tab.disabled > div{color:#777;}.uib-tab.disabled > div:focus,.uib-tab.disabled > div:hover{color:#777;cursor:not-allowed;background-color:transparent;}.nav-tabs > .uib-tab > div{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0;}.nav-tabs > .uib-tab > div:hover{border-color:#eee #eee #ddd;}.nav-tabs > .uib-tab.active > div,.nav-tabs > .uib-tab.active > div:focus,.nav-tabs > .uib-tab.active > div:hover{color:#555;cursor:default;background-color:#fff;border-color:#ddd #ddd transparent #ddd;}.nav-pills > .uib-tab > div{border-radius:4px;}.nav-pills > .uib-tab.active > div,.nav-pills > .uib-tab.active > div:focus,.nav-pills > .uib-tab.active > div:hover{color:#fff;background-color:#337ab7;}</style>')}),function(a){"use strict";"function"==typeof define&&define.amd?define(a):"undefined"!=typeof module&&"undefined"!=typeof module.exports?module.exports=a():"undefined"!=typeof Package?Sortable=a():window.Sortable=a()}(function(){"use strict";function a(a,b){this.el=a,this.options=b=s({},b),a[J]=this;var d={group:Math.random(),sort:!0,disabled:!1,store:null,handle:null,scroll:!0,scrollSensitivity:30,scrollSpeed:10,draggable:/[uo]l/i.test(a.nodeName)?"li":">*",ghostClass:"sortable-ghost",ignore:"a, img",filter:null,animation:0,setData:function(a,b){a.setData("Text",b.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0};for(var e in d)!(e in b)&&(b[e]=d[e]);var g=b.group;g&&"object"==typeof g||(g=b.group={name:g}),["pull","put"].forEach(function(a){a in g||(g[a]=!0)}),b.groups=" "+g.name+(g.put.join?" "+g.put.join(" "):"")+" ";for(var h in this)"_"===h.charAt(0)&&(this[h]=c(this,this[h]));f(a,"mousedown",this._onTapStart),f(a,"touchstart",this._onTapStart),f(a,"dragover",this),f(a,"dragenter",this),R.push(this._onDragOver),b.store&&this.sort(b.store.get(this))}function b(a){v&&v.state!==a&&(i(v,"display",a?"none":""),!a&&v.state&&w.insertBefore(v,t),v.state=a)}function c(a,b){var c=Q.call(arguments,2);return b.bind?b.bind.apply(b,[a].concat(c)):function(){return b.apply(a,c.concat(Q.call(arguments)))}}function d(a,b,c){if(a){c=c||L,b=b.split(".");var d=b.shift().toUpperCase(),e=new RegExp("\\s("+b.join("|")+")(?=\\s)","g");do if(">*"===d&&a.parentNode===c||(""===d||a.nodeName.toUpperCase()==d)&&(!b.length||((" "+a.className+" ").match(e)||[]).length==b.length))return a;while(a!==c&&(a=a.parentNode))}return null}function e(a){a.dataTransfer.dropEffect="move",a.preventDefault()}function f(a,b,c){a.addEventListener(b,c,!1)}function g(a,b,c){a.removeEventListener(b,c,!1)}function h(a,b,c){if(a)if(a.classList)a.classList[c?"add":"remove"](b);else{var d=(" "+a.className+" ").replace(I," ").replace(" "+b+" "," ");a.className=(d+(c?" "+b:"")).replace(I," ")}}function i(a,b,c){var d=a&&a.style;if(d){if(void 0===c)return L.defaultView&&L.defaultView.getComputedStyle?c=L.defaultView.getComputedStyle(a,""):a.currentStyle&&(c=a.currentStyle),void 0===b?c:c[b];b in d||(b="-webkit-"+b),d[b]=c+("string"==typeof c?"":"px")}}function j(a,b,c){if(a){var d=a.getElementsByTagName(b),e=0,f=d.length;if(c)for(;f>e;e++)c(d[e],e);return d}return[]}function k(a,b,c,d,e,f,g){var h=L.createEvent("Event"),i=(a||b[J]).options,j="on"+c.charAt(0).toUpperCase()+c.substr(1);h.initEvent(c,!0,!0),h.to=b,h.from=e||b,h.item=d||b,h.clone=v,h.oldIndex=f,h.newIndex=g,b.dispatchEvent(h),i[j]&&i[j].call(a,h)}function l(a,b,c,d,e,f){var g,h,i=a[J],j=i.options.onMove;return j&&(g=L.createEvent("Event"),g.initEvent("move",!0,!0),g.to=b,g.from=a,g.dragged=c,g.draggedRect=d,g.related=e||b,g.relatedRect=f||b.getBoundingClientRect(),h=j.call(i,g)),h}function m(a){a.draggable=!1}function n(){O=!1}function o(a,b){var c=a.lastElementChild,d=c.getBoundingClientRect();return b.clientY-(d.top+d.height)>5&&c}function p(a){for(var b=a.tagName+a.className+a.src+a.href+a.textContent,c=b.length,d=0;c--;)d+=b.charCodeAt(c);return d.toString(36)}function q(a){for(var b=0;a&&(a=a.previousElementSibling);)"TEMPLATE"!==a.nodeName.toUpperCase()&&b++;return b}function r(a,b){var c,d;return function(){void 0===c&&(c=arguments,d=this,setTimeout(function(){1===c.length?a.call(d,c[0]):a.apply(d,c),c=void 0},b))}}function s(a,b){if(a&&b)for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return a}var t,u,v,w,x,y,z,A,B,C,D,E,F,G,H={},I=/\s+/g,J="Sortable"+(new Date).getTime(),K=window,L=K.document,M=K.parseInt,N=!!("draggable"in L.createElement("div")),O=!1,P=Math.abs,Q=[].slice,R=[],S=r(function(a,b,c){if(c&&b.scroll){var d,e,f,g,h=b.scrollSensitivity,i=b.scrollSpeed,j=a.clientX,k=a.clientY,l=window.innerWidth,m=window.innerHeight;if(z!==c&&(y=b.scroll,z=c,y===!0)){y=c;do if(y.offsetWidth<y.scrollWidth||y.offsetHeight<y.scrollHeight)break;while(y=y.parentNode)}y&&(d=y,e=y.getBoundingClientRect(),f=(P(e.right-j)<=h)-(P(e.left-j)<=h),g=(P(e.bottom-k)<=h)-(P(e.top-k)<=h)),f||g||(f=(h>=l-j)-(h>=j),g=(h>=m-k)-(h>=k),(f||g)&&(d=K)),(H.vx!==f||H.vy!==g||H.el!==d)&&(H.el=d,H.vx=f,H.vy=g,clearInterval(H.pid),d&&(H.pid=setInterval(function(){d===K?K.scrollTo(K.pageXOffset+f*i,K.pageYOffset+g*i):(g&&(d.scrollTop+=g*i),f&&(d.scrollLeft+=f*i))},24)))}},30);return a.prototype={constructor:a,_onTapStart:function(a){var b=this,c=this.el,e=this.options,f=a.type,g=a.touches&&a.touches[0],h=(g||a).target,i=h,j=e.filter;if(!("mousedown"===f&&0!==a.button||e.disabled)&&(h=d(h,e.draggable,c))){if(C=q(h),"function"==typeof j){if(j.call(this,a,h,this))return k(b,i,"filter",h,c,C),void a.preventDefault()}else if(j&&(j=j.split(",").some(function(a){return a=d(i,a.trim(),c),a?(k(b,a,"filter",h,c,C),!0):void 0})))return void a.preventDefault();(!e.handle||d(i,e.handle,c))&&this._prepareDragStart(a,g,h)}},_prepareDragStart:function(a,b,c){var d,e=this,g=e.el,h=e.options,i=g.ownerDocument;c&&!t&&c.parentNode===g&&(F=a,w=g,t=c,x=t.nextSibling,E=h.group,d=function(){e._disableDelayedDrag(),t.draggable=!0,h.ignore.split(",").forEach(function(a){j(t,a.trim(),m)}),e._triggerDragStart(b)},f(i,"mouseup",e._onDrop),f(i,"touchend",e._onDrop),f(i,"touchcancel",e._onDrop),h.delay?(f(i,"mousemove",e._disableDelayedDrag),f(i,"touchmove",e._disableDelayedDrag),e._dragStartTimer=setTimeout(d,h.delay)):d())},_disableDelayedDrag:function(){var a=this.el.ownerDocument;clearTimeout(this._dragStartTimer),g(a,"mousemove",this._disableDelayedDrag),g(a,"touchmove",this._disableDelayedDrag)},_triggerDragStart:function(a){a?(F={target:t,clientX:a.clientX,clientY:a.clientY},this._onDragStart(F,"touch")):N?(f(t,"dragend",this),f(w,"dragstart",this._onDragStart)):this._onDragStart(F,!0);try{L.selection?L.selection.empty():window.getSelection().removeAllRanges()}catch(b){}},_dragStarted:function(){w&&t&&(h(t,this.options.ghostClass,!0),a.active=this,k(this,w,"start",t,w,C))},_emulateDragOver:function(){if(G){i(u,"display","none");var a=L.elementFromPoint(G.clientX,G.clientY),b=a,c=" "+this.options.group.name,d=R.length;if(b)do{if(b[J]&&b[J].options.groups.indexOf(c)>-1){for(;d--;)R[d]({clientX:G.clientX,clientY:G.clientY,target:a,rootEl:b});break}a=b}while(b=b.parentNode);i(u,"display","")}},_onTouchMove:function(a){if(F){var b=a.touches?a.touches[0]:a,c=b.clientX-F.clientX,d=b.clientY-F.clientY,e=a.touches?"translate3d("+c+"px,"+d+"px,0)":"translate("+c+"px,"+d+"px)";G=b,i(u,"webkitTransform",e),i(u,"mozTransform",e),i(u,"msTransform",e),i(u,"transform",e),a.preventDefault()}},_onDragStart:function(a,b){var c=a.dataTransfer,d=this.options;if(this._offUpEvents(),"clone"==E.pull&&(v=t.cloneNode(!0),i(v,"display","none"),w.insertBefore(v,t)),b){var e,g=t.getBoundingClientRect(),h=i(t);u=t.cloneNode(!0),i(u,"top",g.top-M(h.marginTop,10)),i(u,"left",g.left-M(h.marginLeft,10)),i(u,"width",g.width),i(u,"height",g.height),i(u,"opacity","0.8"),i(u,"position","fixed"),i(u,"zIndex","100000"),w.appendChild(u),e=u.getBoundingClientRect(),i(u,"width",2*g.width-e.width),i(u,"height",2*g.height-e.height),"touch"===b?(f(L,"touchmove",this._onTouchMove),f(L,"touchend",this._onDrop),f(L,"touchcancel",this._onDrop)):(f(L,"mousemove",this._onTouchMove),f(L,"mouseup",this._onDrop)),this._loopId=setInterval(this._emulateDragOver,150)}else c&&(c.effectAllowed="move",d.setData&&d.setData.call(this,c,t)),f(L,"drop",this);setTimeout(this._dragStarted,0)},_onDragOver:function(a){var c,e,f,g=this.el,h=this.options,j=h.group,k=j.put,m=E===j,p=h.sort;if(void 0!==a.preventDefault&&(a.preventDefault(),!h.dragoverBubble&&a.stopPropagation()),E&&!h.disabled&&(m?p||(f=!w.contains(t)):E.pull&&k&&(E.name===j.name||k.indexOf&&~k.indexOf(E.name)))&&(void 0===a.rootEl||a.rootEl===this.el)){if(S(a,h,this.el),O)return;if(c=d(a.target,h.draggable,g),e=t.getBoundingClientRect(),f)return b(!0),void(v||x?w.insertBefore(t,v||x):p||w.appendChild(t));if(0===g.children.length||g.children[0]===u||g===a.target&&(c=o(g,a))){if(c){if(c.animated)return;r=c.getBoundingClientRect()}b(m),l(w,g,t,e,c,r)!==!1&&(g.appendChild(t),this._animate(e,t),c&&this._animate(r,c))}else if(c&&!c.animated&&c!==t&&void 0!==c.parentNode[J]){A!==c&&(A=c,B=i(c));var q,r=c.getBoundingClientRect(),s=r.right-r.left,y=r.bottom-r.top,z=/left|right|inline/.test(B.cssFloat+B.display),C=c.offsetWidth>t.offsetWidth,D=c.offsetHeight>t.offsetHeight,F=(z?(a.clientX-r.left)/s:(a.clientY-r.top)/y)>.5,G=c.nextElementSibling,H=l(w,g,t,e,c,r);H!==!1&&(O=!0,setTimeout(n,30),b(m),q=1===H||-1===H?1===H:z?c.previousElementSibling===t&&!C||F&&C:G!==t&&!D||F&&D,q&&!G?g.appendChild(t):c.parentNode.insertBefore(t,q?G:c),this._animate(e,t),this._animate(r,c))}}},_animate:function(a,b){var c=this.options.animation;if(c){var d=b.getBoundingClientRect();i(b,"transition","none"),i(b,"transform","translate3d("+(a.left-d.left)+"px,"+(a.top-d.top)+"px,0)"),b.offsetWidth,i(b,"transition","all "+c+"ms"),i(b,"transform","translate3d(0,0,0)"),clearTimeout(b.animated),b.animated=setTimeout(function(){i(b,"transition",""),i(b,"transform",""),b.animated=!1},c)}},_offUpEvents:function(){var a=this.el.ownerDocument;g(L,"touchmove",this._onTouchMove),g(a,"mouseup",this._onDrop),g(a,"touchend",this._onDrop),g(a,"touchcancel",this._onDrop)},_onDrop:function(b){var c=this.el,d=this.options;clearInterval(this._loopId),clearInterval(H.pid),clearTimeout(this._dragStartTimer),g(L,"drop",this),g(L,"mousemove",this._onTouchMove),g(c,"dragstart",this._onDragStart),this._offUpEvents(),b&&(b.preventDefault(),!d.dropBubble&&b.stopPropagation(),u&&u.parentNode.removeChild(u),t&&(g(t,"dragend",this),m(t),h(t,this.options.ghostClass,!1),w!==t.parentNode?(D=q(t),k(null,t.parentNode,"sort",t,w,C,D),k(this,w,"sort",t,w,C,D),k(null,t.parentNode,"add",t,w,C,D),k(this,w,"remove",t,w,C,D)):(v&&v.parentNode.removeChild(v),t.nextSibling!==x&&(D=q(t),k(this,w,"update",t,w,C,D),k(this,w,"sort",t,w,C,D))),a.active&&(k(this,w,"end",t,w,C,D),this.save())),w=t=u=x=v=y=z=F=G=A=B=E=a.active=null)},handleEvent:function(a){var b=a.type;"dragover"===b||"dragenter"===b?t&&(this._onDragOver(a),e(a)):("drop"===b||"dragend"===b)&&this._onDrop(a)},toArray:function(){for(var a,b=[],c=this.el.children,e=0,f=c.length,g=this.options;f>e;e++)a=c[e],d(a,g.draggable,this.el)&&b.push(a.getAttribute(g.dataIdAttr)||p(a));return b},sort:function(a){var b={},c=this.el;this.toArray().forEach(function(a,e){var f=c.children[e];d(f,this.options.draggable,c)&&(b[a]=f)},this),a.forEach(function(a){b[a]&&(c.removeChild(b[a]),c.appendChild(b[a]))})},save:function(){var a=this.options.store;a&&a.set(this)},closest:function(a,b){return d(a,b||this.options.draggable,this.el)},option:function(a,b){var c=this.options;return void 0===b?c[a]:void(c[a]=b)},destroy:function(){var a=this.el;a[J]=null,g(a,"mousedown",this._onTapStart),g(a,"touchstart",this._onTapStart),g(a,"dragover",this),g(a,"dragenter",this),Array.prototype.forEach.call(a.querySelectorAll("[draggable]"),function(a){a.removeAttribute("draggable")}),R.splice(R.indexOf(this._onDragOver),1),this._onDrop(),this.el=a=null}},a.utils={on:f,off:g,css:i,find:j,bind:c,is:function(a,b){return!!d(a,b,a)},extend:s,throttle:r,closest:d,toggleClass:h,index:q},a.version="1.2.1",a.create=function(b,c){return new a(b,c)},a}),function(a){"use strict";window.angular&&window.Sortable?a(angular,Sortable):"function"==typeof define&&define.amd&&define(["angular","./Sortable"],a)}(function(a,b){"use strict";a.module("ng-sortable",[]).constant("ngSortableVersion","0.3.7").constant("ngSortableConfig",{}).directive("ngSortable",["$parse","ngSortableConfig",function(c,d){function e(b){var d=a.element(b).scope(),e=[].filter.call(b.childNodes,function(a){return 8===a.nodeType&&-1!==a.nodeValue.indexOf("ngRepeat:")})[0];if(!e)return null;e=e.nodeValue.match(/ngRepeat:\s*(?:\(.*?,\s*)?([^\s)]+)[\s)]+in\s+([^\s|]+)/);var f=c(e[1]),g=c(e[2]);return{item:function(b){return f(a.element(b).scope())},items:function(){return g(d)}}}var f,g;return{restrict:"AC",scope:{ngSortable:"=?"},link:function(c,h,i){function j(a,b){var c="on"+a.type.charAt(0).toUpperCase()+a.type.substr(1);n[c]&&n[c]({model:b||o&&o.item(a.item),models:o&&o.items(),oldIndex:a.oldIndex,newIndex:a.newIndex})}function k(b){if(o){var d=b.oldIndex,h=b.newIndex,i=o.items();if(m!==b.from){var j=e(b.from),k=j.items();d=k.indexOf(j.item(b.item)),f=k[d],b.clone?(b.from.removeChild(b.clone),f=a.copy(f)):k.splice(d,1),i.splice(h,0,f),b.from.insertBefore(b.item,g)}else i.splice(h,0,i.splice(d,1)[0]);c.$apply()}}var l,m=h[0],n=a.extend(c.ngSortable||{},d),o=e(m),p=[];l=b.create(m,Object.keys(n).reduce(function(a,b){return a[b]=a[b]||n[b],a},{onStart:function(a){g=a.item.nextSibling,j(a),c.$apply()},onEnd:function(a){j(a,f),c.$apply()},onAdd:function(a){k(a),j(a,f),c.$apply()},onUpdate:function(a){k(a),j(a)},onRemove:function(a){j(a,f)},onSort:function(a){j(a)}})),h.on("$destroy",function(){a.forEach(p,function(a){a()}),l.destroy(),p=null,l=null,g=null}),a.forEach(["sort","disabled","draggable","handle","animation","onStart","onEnd","onAdd","onUpdate","onRemove","onSort"],function(a){p.push(c.$watch("ngSortable."+a,function(b){void 0!==b&&(n[a]=b,/^on[A-Z]/.test(a)||l.option(a,b))}))})}}}])}),function(a){"use strict";"undefined"!=typeof module&&"undefined"!=typeof module.exports?module.exports=a(require("./Sortable")):"function"==typeof define&&define.amd?define(["./Sortable"],a):window.SortableMixin=a(Sortable)}(function(a){"use strict";function b(a){return a.sortableOptions&&a.sortableOptions.model||g.model}function c(a){var c=b(a),d=a.state&&a.state[c]||a.props[c];return d.slice()}function d(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return a}var e,f,g={ref:"list",model:"items",animation:100,onStart:"handleStart",onEnd:"handleEnd",onAdd:"handleAdd",onUpdate:"handleUpdate",onRemove:"handleRemove",onSort:"handleSort",onFilter:"handleFilter"},h={sortableMixinVersion:"0.1.0",_sortableInstance:null,componentDidMount:function(){var h=d(d({},g),this.sortableOptions||{}),i=d({},h),j=function(a,b){var c=this[h[a]];c&&c.call(this,b,this._sortableInstance)}.bind(this);"onStart onEnd onAdd onSort onUpdate onRemove onFilter".split(" ").forEach(function(a){i[a]=function(d){if("onStart"===a)e=d.item.nextElementSibling,f=this;else if("onAdd"===a||"onUpdate"===a){d.from.insertBefore(d.item,e);var g,h,i={},k={},l=d.oldIndex,m=d.newIndex,n=c(this);"onAdd"===a?(g=c(f),h=g.splice(l,1)[0],n.splice(m,0,h),k[b(f)]=g):n.splice(m,0,n.splice(l,1)[0]),i[b(this)]=n,this.setState(i),this!==f&&f.setState(k)}setTimeout(function(){j(a,d)},0)}.bind(this)},this),this._sortableInstance=a.create((this.refs[h.ref]||this).getDOMNode(),i)},componentWillReceiveProps:function(a){var c={},d=b(this),e=a[d];e&&(c[d]=e,this.setState(c))},componentWillUnmount:function(){this._sortableInstance.destroy(),this._sortableInstance=null}};return h}),function(a,b){"use strict";angular.module("adf",["adf.provider","ui.bootstrap"]).value("adfTemplatePath","../src/templates/").value("rowTemplate",'<adf-dashboard-row row="row" adf-model="adfModel" options="options" edit-mode="editMode" ng-repeat="row in column.rows" />').value("columnTemplate",'<adf-dashboard-column column="column" adf-model="adfModel" options="options" edit-mode="editMode" ng-repeat="column in row.columns" />').value("adfVersion","0.11.0"),angular.module("adf").directive("adfDashboardColumn",["$log","$compile","$rootScope","adfTemplatePath","rowTemplate","dashboard",function(a,b,c,d,e,f){function g(a,b,d){var e=b.widgets;a.$apply(function(){e.splice(d.newIndex,0,e.splice(d.oldIndex,1)[0]),c.$broadcast("adfWidgetMovedInColumn")})}function h(a,b){for(var c=null,d=0;d<a.widgets.length;d++){var e=a.widgets[d];if(f.idEquals(e.wid,b)){c=e;break}}return c}function i(a,b){for(var c=null,d=0;d<a.rows.length;d++){for(var e=a.rows[d],g=0;g<e.columns.length;g++){var h=e.columns[g];if(f.idEquals(h.cid,b)){c=h;break}h.rows&&(c=i(h,b))}if(c)break}return c}function j(a){var b=a.getAttribute("adf-id");return b?b:"-1"}function k(b,d,e,f){var g=j(f.from),k=i(d,g);if(k){var l=j(f.item),m=h(k,l);m?b.$apply(function(){e.widgets||(e.widgets=[]),e.widgets.splice(f.newIndex,0,m),c.$broadcast("adfWidgetAddedToColumn")}):a.warn("could not find widget with id "+l)}else a.warn("could not find column with id "+g)}function l(a,b,d){a.$apply(function(){b.widgets.splice(d.oldIndex,1),c.$broadcast("adfWidgetRemovedFromColumn")})}function m(a,b,c,d){var e=b[0],f=Sortable.create(e,{group:"widgets",handle:".adf-move",ghostClass:"placeholder",animation:150,onAdd:function(b){k(a,c,d,b)},onRemove:function(b){l(a,d,b)},onUpdate:function(b){g(a,d,b)}});b.on("$destroy",function(){f.el&&f.destroy()})}return{restrict:"E",replace:!0,scope:{column:"=",editMode:"=",continuousEditMode:"=",adfModel:"=",options:"="},templateUrl:d+"dashboard-column.html",link:function(a,c){var d=a.column;d.cid||(d.cid=f.id()),angular.isDefined(d.rows)&&angular.isArray(d.rows)?b(e)(a,function(a){c.append(a)}):m(a,c,a.adfModel,d)}}}]),angular.module("adf").directive("adfDashboard",["$rootScope","$log","$timeout","$uibModal","dashboard","adfTemplatePath",function(a,b,c,d,e,f){function g(a){switch(angular.isDefined(a)?a.toLowerCase():null){case"true":case"yes":case"1":return!0;case"false":case"no":case"0":case null:return!1;default:return Boolean(a)}}function h(a,b){if(a.widgets&&a.widgets.length>0)for(var c=a.widgets.shift();c;)b.widgets.push(c),c=a.widgets.shift()}function i(a,b,c){return c=c||0,angular.isDefined(a.rows)&&angular.forEach(a.rows,function(a){angular.forEach(a.columns,function(a){a.widgets||(a.widgets=[]),angular.isDefined(b[c])&&(angular.isDefined(a.rows)||(h(b[c],a),c++)),c=i(a,b,c)})}),c}function j(a,b){return b=b||[],angular.isDefined(a.rows)&&angular.forEach(a.rows,function(a){angular.forEach(a.columns,function(a){b.push(a),j(a,b)})}),b}function k(a,b){var c=j(a),d=0;for(a.rows=angular.copy(b.rows);d<c.length;)d=i(a,c,d)}function l(a){var b={},c=e.widgets[a].config;return c&&(b=angular.copy(c)),b}function m(a){var c=null;if(!angular.isArray(a.rows))return b.error("model does not have any rows"),null;for(var d=0;d<a.rows.length;d++){var e=a.rows[d];if(angular.isArray(e.columns))for(var f=0;f<e.columns.length;f++){var g=e.columns[f];
+if(!g.rows){c=g;break}}if(c)break}return c}function n(c,d,e){if(c){var f=m(c);f?(f.widgets||(f.widgets=[]),f.widgets.unshift(d),a.$broadcast("adfWidgetAdded",e,c,d)):b.error("could not find first widget column")}else b.error("model is undefined")}function o(a){var b=e.widgets[a];return b&&b.edit&&b.edit.immediate}function p(a,b){c(function(){a.$broadcast("adfWidgetEnterEditMode",b)},200)}return{replace:!0,restrict:"EA",transclude:!1,scope:{structure:"@",name:"@",collapsible:"@",editable:"@",editMode:"@",continuousEditMode:"=",maximizable:"@",adfModel:"=",adfWidgetFilter:"="},controller:["$scope",function(c){var g={},h={},i=null,j={},m=c.name;c.$watch("adfModel",function(a,d){(null!==d||null===a&&null===d)&&(g=c.adfModel,i=c.adfWidgetFilter,g&&g.rows||(j=c.structure,h=e.structures[j],h?(g?g.rows=angular.copy(h).rows:g=angular.copy(h),g.structure=j):b.error("could not find structure "+j)),g?(g.title||(g.title="Dashboard"),g.titleTemplateUrl||(g.titleTemplateUrl=f+"dashboard-title.html"),c.model=g):b.error("could not find or create model"))},!0),c.editMode=!1,c.editClass="",c.toggleEditMode=function(){c.editMode=!c.editMode,c.editMode&&(c.continuousEditMode||(c.modelCopy=angular.copy(c.adfModel,{}),a.$broadcast("adfIsEditMode"))),c.editMode||a.$broadcast("adfDashboardChanged",m,g)},c.$on("adfToggleEditMode",function(){c.toggleEditMode()}),c.collapseAll=function(b){a.$broadcast("adfDashboardCollapseExpand",{collapseExpandStatus:b})},c.cancelEditMode=function(){c.editMode=!1,c.continuousEditMode||(c.modelCopy=angular.copy(c.modelCopy,c.adfModel)),a.$broadcast("adfDashboardEditsCancelled")},c.editDashboardDialog=function(){var a=c.$new();a.copy={title:g.title},a.structures=e.structures;var h=f+"dashboard-edit.html";g.editTemplateUrl&&(h=g.editTemplateUrl);var i=d.open({scope:a,templateUrl:h,backdrop:"static"});a.changeStructure=function(a,c){b.info("change structure to "+a),k(g,c)},a.closeDialog=function(){g.title=a.copy.title,i.close(),a.$destroy()}},c.addWidgetDialog=function(){var a,b=c.$new(),g=c.model;angular.isFunction(i)?(a={},angular.forEach(e.widgets,function(b,c){i(b,c,g)&&(a[c]=b)})):a=e.widgets,b.widgets=a;var h=f+"widget-add.html";g.addTemplateUrl&&(h=g.addTemplateUrl);var j={scope:b,templateUrl:h,backdrop:"static"},k=d.open(j);b.addWidget=function(a){var d={type:a,config:l(a)};n(g,d,m),k.close(),b.$destroy(),o(a)&&p(c,d)},b.closeDialog=function(){k.close(),b.$destroy()}},c.addNewWidgetToModel=n}],link:function(a,b,c){var d={name:c.name,editable:!0,enableConfirmDelete:g(c.enableconfirmdelete),maximizable:g(c.maximizable),collapsible:g(c.collapsible)};angular.isDefined(c.editable)&&(d.editable=g(c.editable)),a.options=d},templateUrl:f+"dashboard.html"}}]),angular.module("adf.provider",[]).provider("dashboard",function(){var a={},b="",c={},d='<div class="alert alert-danger">{}</div>',e='      <div class="progress progress-striped active">\n        <div class="progress-bar" role="progressbar" style="width: 100%">\n          <span class="sr-only">loading ...</span>\n        </div>\n      </div>',f=function(){return!0};this.widget=function(b,c){var d=angular.extend({reload:!1,frameless:!1},c);if(d.edit){var e={reload:!0,immediate:!1,apply:f};angular.extend(e,d.edit),d.edit=e}return a[b]=d,this},this.widgetsPath=function(a){return b=a,this},this.structure=function(a,b){return c[a]=b,this},this.messageTemplate=function(a){return d=a,this},this.loadingTemplate=function(a){return e=a,this},this.$get=function(){var f=0;return{widgets:a,widgetsPath:b,structures:c,messageTemplate:d,loadingTemplate:e,id:function(){return(new Date).getTime()+"-"+ ++f},idEquals:function(a,b){return a&&b&&a.toString()===b.toString()}}}}),angular.module("adf").directive("adfDashboardRow",["$compile","adfTemplatePath","columnTemplate",function(a,b,c){return{restrict:"E",replace:!0,scope:{row:"=",adfModel:"=",editMode:"=",continuousEditMode:"=",options:"="},templateUrl:b+"dashboard-row.html",link:function(b,d){angular.isDefined(b.row.columns)&&angular.isArray(b.row.columns)&&a(c)(b,function(a){d.append(a)})}}}]),angular.module("adf").directive("adfWidgetContent",["$log","$q","$sce","$http","$templateCache","$compile","$controller","$injector","dashboard",function(a,b,c,d,e,f,g,h,i){function j(a){var b=a;return a.indexOf("{widgetsPath}")>=0&&(b=a.replace("{widgetsPath}",i.widgetsPath).replace("//","/"),0===b.indexOf("/")&&(b=b.substring(1))),b}function k(a){var f=b.defer();if(a.template)f.resolve(a.template);else if(a.templateUrl){var g=e.get(a.templateUrl);if(g)f.resolve(g);else{var h=c.getTrustedResourceUrl(j(a.templateUrl));d.get(h).success(function(b){e.put(a.templateUrl,b),f.resolve(b)}).error(function(){f.reject("could not load template")})}}return f.promise}function l(c,d,e){var j=c.model,l=c.content;d.html(i.loadingTemplate);var m=c.$new();j.config||(j.config={}),m.config=j.config;var n={$scope:m,widget:j,config:j.config},o={};return o.$tpl=k(l),l.resolve&&angular.forEach(l.resolve,function(a,b){angular.isString(a)?o[b]=h.get(a):o[b]=h.invoke(a,a,n)}),b.all(o).then(function(a){angular.extend(a,n);var b=a.$tpl;if(d.html(b),l.controller){var c=g(l.controller,a);l.controllerAs&&(m[l.controllerAs]=c),d.children().data("$ngControllerController",c)}f(d.contents())(m)},function(b){var c="Could not resolve all promises";b&&(c+=": "+b),a.warn(c),d.html(i.messageTemplate.replace(/{}/g,c))}),e&&e.$destroy(),m}return{replace:!0,restrict:"EA",transclude:!1,scope:{model:"=",content:"="},link:function(a,b){var c=l(a,b,null);a.$on("widgetConfigChanged",function(){c=l(a,b,c)}),a.$on("widgetReload",function(){c=l(a,b,c)})}}}]),angular.module("adf").directive("adfWidget",["$injector","$q","$log","$uibModal","$rootScope","dashboard","adfTemplatePath",function(a,b,c,d,e,f,g){function h(a){var b=a.definition;if(b){var d=f.widgets[b.type];if(d){b.title||(b.title=d.title),b.titleTemplateUrl||(b.titleTemplateUrl=g+"widget-title.html",d.titleTemplateUrl&&(b.titleTemplateUrl=d.titleTemplateUrl)),b.titleTemplateUrl||(b.frameless=d.frameless),b.styleClass||(b.styleClass=d.styleClass),b.wid||(b.wid=f.id()),a.widget=angular.copy(d);var e=b.config;e?angular.isString(e)&&(e=angular.fromJson(e)):e={},a.config=e,a.widgetState||(a.widgetState={},a.widgetState.isCollapsed=d.collapsed===!0?d.collapsed:!1)}else c.warn("could not find widget "+b.type)}else c.debug("definition not specified, widget was probably removed")}function i(f,h){var i=f.definition;if(i){var j=function(){var a=f.col;if(a){var b=a.widgets.indexOf(i);b>=0&&a.widgets.splice(b,1)}h.remove(),e.$broadcast("adfWidgetRemovedFromColumn")};f.remove=function(){if(f.options.enableConfirmDelete){var a=f.$new(),b=g+"widget-delete.html";i.deleteTemplateUrl&&(b=i.deleteTemplateUrl);var c={scope:a,templateUrl:b,backdrop:"static"},e=d.open(c);a.closeDialog=function(){e.close(),a.$destroy()},a.deleteDialog=function(){j(),a.closeDialog()}}else j()},f.reload=function(){f.$broadcast("widgetReload")},f.edit=function(){function c(a){var c;if("boolean"==typeof a){var d=b.defer();a?d.resolve():d.reject(),c=d.promise}else c=b.when(a);return c}var e=f.$new();e.definition=angular.copy(i);var h=g+"widget-edit.html";i.editTemplateUrl&&(h=i.editTemplateUrl);var j={scope:e,templateUrl:h,backdrop:"static"},k=d.open(j);e.closeDialog=function(){k.close(),e.$destroy()},e.saveDialog=function(){e.validationError=null;var b=f.widget,d=b.edit.apply,g={widget:b,definition:e.definition,config:e.definition.config},h=a.invoke(d,d,g);c(h).then(function(){i.title=e.definition.title,angular.extend(i.config,e.definition.config),b.edit&&b.edit.reload&&f.$broadcast("widgetConfigChanged"),e.closeDialog()},function(a){a?e.validationError=a:e.validationError="Validation durring apply failed"})}}}else c.debug("widget not found")}return{replace:!0,restrict:"EA",transclude:!1,templateUrl:g+"widget.html",scope:{definition:"=",col:"=column",editMode:"=",options:"=",widgetState:"="},controller:["$scope",function(a){a.$on("adfDashboardCollapseExpand",function(b,c){a.widgetState.isCollapsed=c.collapseExpandStatus}),a.$on("adfWidgetEnterEditMode",function(b,c){f.idEquals(a.definition.wid,c.wid)&&a.edit()}),a.widgetClasses=function(b,c){var d=c.styleClass||"";return(!b.frameless||a.editMode)&&(d+=" panel panel-default"),d},a.openFullScreen=function(){var b=a.definition,c=a.$new(),e={scope:c,templateUrl:g+"widget-fullscreen.html",size:b.modalSize||"lg",backdrop:"static",windowClass:b.fullScreen?"dashboard-modal widget-fullscreen":"dashboard-modal"},f=d.open(e);c.closeDialog=function(){f.close(),c.$destroy()}}}],compile:function(){return{pre:h,post:i}}}}]),angular.module("adf").run(["$templateCache",function(a){a.put("../src/templates/dashboard-column.html",'<div adf-id={{column.cid}} class=column ng-class=column.styleClass ng-model=column.widgets> <adf-widget ng-repeat="definition in column.widgets" definition=definition column=column edit-mode=editMode options=options widget-state=widgetState>  </adf-widget></div> '),a.put("../src/templates/dashboard-edit.html",'<div class=modal-header> <button type=button class=close ng-click=closeDialog() aria-hidden=true>&times;</button> <h4 class=modal-title>Edit Dashboard</h4> </div> <div class=modal-body> <form role=form> <div class=form-group> <label for=dashboardTitle>Title</label> <input type=text class=form-control id=dashboardTitle ng-model=copy.title required> </div> <div class=form-group> <label>Structure</label> <div class=radio ng-repeat="(key, structure) in structures"> <label> <input type=radio value={{key}} ng-model=model.structure ng-change="changeStructure(key, structure)"> {{key}} </label> </div> </div> </form> </div> <div class=modal-footer> <button type=button class="btn btn-primary" ng-click=closeDialog()>Close</button> </div> '),a.put("../src/templates/dashboard-row.html","<div class=row ng-class=row.styleClass>  </div> "),a.put("../src/templates/dashboard-title.html",'<h1> {{model.title}} <span style="font-size: 16px" class=pull-right> <a href ng-if=editMode title="add new widget" ng-click=addWidgetDialog()> <i class="glyphicon glyphicon-plus-sign"></i> </a> <a href ng-if=editMode title="edit dashboard" ng-click=editDashboardDialog()> <i class="glyphicon glyphicon-cog"></i> </a> <a href ng-if=options.editable title="{{editMode ? \'save changes\' : \'enable edit mode\'}}" ng-click=toggleEditMode()> <i class=glyphicon x-ng-class="{\'glyphicon-edit\' : !editMode, \'glyphicon-save\' : editMode}"></i> </a> <a href ng-if=editMode title="undo changes" ng-click=cancelEditMode()> <i class="glyphicon glyphicon-repeat adf-flip"></i> </a> </span> </h1> '),a.put("../src/templates/dashboard.html",'<div class=dashboard-container> <div ng-include src=model.titleTemplateUrl></div> <div class=dashboard x-ng-class="{\'edit\' : editMode}"> <adf-dashboard-row row=row adf-model=model options=options ng-repeat="row in model.rows" edit-mode=editMode continuous-edit-mode=continuousEditMode> </adf-dashboard-row></div> </div> '),a.put("../src/templates/widget-add.html",'<div class=modal-header> <button type=button class=close ng-click=closeDialog() aria-hidden=true>&times;</button> <h4 class=modal-title>Add new widget</h4> </div> <div class=modal-body> <div style="display: inline-block;"> <dl class=dl-horizontal> <dt ng-repeat-start="(key, widget) in widgets"> <a href ng-click=addWidget(key)> {{widget.title}} </a> </dt> <dd ng-repeat-end ng-if=widget.description> {{widget.description}} </dd> </dl> </div> </div> <div class=modal-footer> <button type=button class="btn btn-primary" ng-click=closeDialog()>Close</button> </div>'),a.put("../src/templates/widget-delete.html",'<div class=modal-header> <h4 class=modal-title>Delete {{widget.title}}</h4> </div> <div class=modal-body> <form role=form> <div class=form-group> <label for=widgetTitle>Are you sure you want to delete this widget ?</label> </div> </form> </div> <div class=modal-footer> <button type=button class="btn btn-default" ng-click=closeDialog()>Close</button> <button type=button class="btn btn-primary" ng-click=deleteDialog()>Delete</button> </div> '),a.put("../src/templates/widget-edit.html",'<form name=widgetEditForm novalidate role=form ng-submit=saveDialog()> <div class=modal-header> <button type=button class=close ng-click=closeDialog() aria-hidden=true>&times;</button> <h4 class=modal-title>{{widget.title}}</h4> </div> <div class=modal-body> <div class="alert alert-danger" role=alert ng-show=validationError> <strong>Apply error:</strong> {{validationError}} </div> <div class=form-group> <label for=widgetTitle>Title</label> <input type=text class=form-control id=widgetTitle ng-model=definition.title placeholder="Enter title" required> </div> <div ng-if=widget.edit> <adf-widget-content model=definition content=widget.edit> </adf-widget-content></div> </div> <div class=modal-footer> <button type=button class="btn btn-default" ng-click=closeDialog()>Cancel</button> <input type=submit class="btn btn-primary" ng-disabled=widgetEditForm.$invalid value=Apply> </div> </form> '),a.put("../src/templates/widget-fullscreen.html",'<div class=modal-header> <div class="pull-right widget-icons"> <a href title="Reload Widget Content" ng-if=widget.reload ng-click=reload()> <i class="glyphicon glyphicon-refresh"></i> </a> <a href title=close ng-click=closeDialog()> <i class="glyphicon glyphicon-remove"></i> </a> </div> <h4 class=modal-title>{{definition.title}}</h4> </div> <div class=modal-body> <adf-widget-content model=definition content=widget> </adf-widget-content></div> <div class=modal-footer> <button type=button class="btn btn-primary" ng-click=closeDialog()>Close</button> </div> '),a.put("../src/templates/widget-title.html",'<h3 class=panel-title> {{definition.title}} <span class=pull-right> <a href title="reload widget content" ng-if=widget.reload ng-click=reload()> <i class="glyphicon glyphicon-refresh"></i> </a>  <a href title="change widget location" class=adf-move ng-if=editMode> <i class="glyphicon glyphicon-move"></i> </a>  <a href title="collapse widget" ng-show="options.collapsible && !widgetState.isCollapsed" ng-click="widgetState.isCollapsed = !widgetState.isCollapsed"> <i class="glyphicon glyphicon-minus"></i> </a>  <a href title="expand widget" ng-show="options.collapsible && widgetState.isCollapsed" ng-click="widgetState.isCollapsed = !widgetState.isCollapsed"> <i class="glyphicon glyphicon-plus"></i> </a>  <a href title="edit widget configuration" ng-click=edit() ng-if=editMode> <i class="glyphicon glyphicon-cog"></i> </a> <a href title="fullscreen widget" ng-click=openFullScreen() ng-show=options.maximizable> <i class="glyphicon glyphicon-fullscreen"></i> </a>  <a href title="remove widget" ng-click=remove() ng-if=editMode> <i class="glyphicon glyphicon-remove"></i> </a> </span> </h3> '),a.put("../src/templates/widget.html",'<div adf-id={{definition.wid}} adf-widget-type={{definition.type}} ng-class="widgetClasses(widget, definition)" class=widget> <div class="panel-heading clearfix" ng-if="!widget.frameless || editMode"> <div ng-include src=definition.titleTemplateUrl></div> </div> <div ng-class="{\'panel-body\':!widget.frameless || editMode}" uib-collapse=widgetState.isCollapsed> <adf-widget-content model=definition content=widget> </adf-widget-content></div> </div> ')}])}(window),angular.module("adf.structures.base",["adf"]).config(["dashboardProvider",function(a){a.structure("6-6",{rows:[{columns:[{styleClass:"col-md-6"},{styleClass:"col-md-6"}]}]}).structure("4-8",{rows:[{columns:[{styleClass:"col-md-4",widgets:[]},{styleClass:"col-md-8",widgets:[]}]}]}).structure("12/4-4-4",{rows:[{columns:[{styleClass:"col-md-12"}]},{columns:[{styleClass:"col-md-4"},{styleClass:"col-md-4"},{styleClass:"col-md-4"}]}]}).structure("12/6-6",{rows:[{columns:[{styleClass:"col-md-12"}]},{columns:[{styleClass:"col-md-6"},{styleClass:"col-md-6"}]}]}).structure("12/6-6/12",{rows:[{columns:[{styleClass:"col-md-12"}]},{columns:[{styleClass:"col-md-6"},{styleClass:"col-md-6"}]},{columns:[{styleClass:"col-md-12"}]}]}).structure("3-9 (12/6-6)",{rows:[{columns:[{styleClass:"col-md-3"},{styleClass:"col-md-9",rows:[{columns:[{styleClass:"col-md-12"}]},{columns:[{styleClass:"col-md-6"},{styleClass:"col-md-6"}]}]}]}]})}]),function(a,b){"use strict";angular.module("adf.widget.clock",["adf.provider"]).config(["dashboardProvider",function(a){a.widget("clock",{title:"Clock",description:"Displays date and time",templateUrl:"{widgetsPath}/clock/src/view.html",controller:"clockController",controllerAs:"clock",config:{timePattern:"HH:mm:ss",datePattern:"YYYY-MM-DD"},edit:{templateUrl:"{widgetsPath}/clock/src/edit.html"}})}]).controller("clockController",["$scope","$interval","config",function(a,b,c){function d(){var a=new moment;e.time=a.format(c.timePattern),e.date=a.format(c.datePattern)}var e=this;d();var f=b(d,1e3);a.$on("$destroy",function(){b.cancel(f)})}]),angular.module("adf.widget.clock").run(["$templateCache",function(a){a.put("{widgetsPath}/clock/src/edit.html",'<form role=form><div class=form-group><label for=time>Time pattern</label> <input type=text class=form-control id=time ng-model=config.timePattern></div><div class=form-group><label for=date>Date pattern</label> <input type=text class=form-control id=date ng-model=config.datePattern></div><p class=text-info>For the list of possible patterns, please have a look at <a target=_blank href="http://momentjs.com/docs/#/displaying/">moment.js documentation</a></p></form>'),a.put("{widgetsPath}/clock/src/view.html","<div class=clock><div class=clock-time>{{clock.time}}</div><div class=clock-date>{{clock.date}}</div></div>")}])}(window),function(a,b){"use strict";angular.module("adf.widget.iframe",["adf.provider"]).config(["dashboardProvider",function(a){a.widget("iframe",{title:"iframe",description:"Embed an external page into the dashboard",templateUrl:"{widgetsPath}/iframe/src/view.html",controller:"iframeController",controllerAs:"iframe",edit:{templateUrl:"{widgetsPath}/iframe/src/edit.html"},config:{height:"420px"}})}]).controller("iframeController",["$sce","config",function(a,b){b.url&&(this.url=a.trustAsResourceUrl(b.url))}]),angular.module("adf.widget.iframe").run(["$templateCache",function(a){a.put("{widgetsPath}/iframe/src/edit.html","<form role=form><div class=form-group><label for=url>URL</label> <input type=url class=form-control id=url ng-model=config.url placeholder=http://www.example.com></div><div class=form-group><label for=url>Height</label> <input type=text class=form-control id=url ng-model=config.height></div></form>"),a.put("{widgetsPath}/iframe/src/view.html",'<div><div class="alert alert-info" ng-if=!config.url>Please insert a url in the widget configuration</div><iframe ng-if=iframe.url class=adf-iframe style="height: {{config.height}}" src={{iframe.url}}></iframe></div>')}])}(window),!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;"undefined"!=typeof window?b=window:"undefined"!=typeof global?b=global:"undefined"!=typeof self&&(b=self),b.io=a()}}(function(){var a;return function b(a,c,d){function e(g,h){if(!c[g]){if(!a[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);throw new Error("Cannot find module '"+g+"'")}var j=c[g]={exports:{}};a[g][0].call(j.exports,function(b){var c=a[g][1][b];return e(c?c:b)},j,j.exports,b,a,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){b.exports=a("./lib/")},{"./lib/":2}],2:[function(a,b,c){function d(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d=e(a),f=d.source,j=d.id;return b.forceNew||b["force new connection"]||!1===b.multiplex?(h("ignoring socket cache for %s",f),c=g(f,b)):(i[j]||(h("new io instance for %s",f),i[j]=g(f,b)),c=i[j]),c.socket(d.path)}var e=a("./url"),f=a("socket.io-parser"),g=a("./manager"),h=a("debug")("socket.io-client");b.exports=c=d;var i=c.managers={};c.protocol=f.protocol,c.connect=d,c.Manager=a("./manager"),c.Socket=a("./socket")},{"./manager":3,"./socket":5,"./url":6,debug:10,"socket.io-parser":44}],3:[function(a,b,c){function d(a,b){return this instanceof d?(a&&"object"==typeof a&&(b=a,a=void 0),b=b||{},b.path=b.path||"/socket.io",this.nsps={},this.subs=[],this.opts=b,this.reconnection(b.reconnection!==!1),this.reconnectionAttempts(b.reconnectionAttempts||1/0),this.reconnectionDelay(b.reconnectionDelay||1e3),this.reconnectionDelayMax(b.reconnectionDelayMax||5e3),this.randomizationFactor(b.randomizationFactor||.5),this.backoff=new m({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(null==b.timeout?2e4:b.timeout),this.readyState="closed",this.uri=a,this.connected=[],this.encoding=!1,this.packetBuffer=[],this.encoder=new h.Encoder,this.decoder=new h.Decoder,this.autoConnect=b.autoConnect!==!1,void(this.autoConnect&&this.open())):new d(a,b)}var e=(a("./url"),a("engine.io-client")),f=a("./socket"),g=a("component-emitter"),h=a("socket.io-parser"),i=a("./on"),j=a("component-bind"),k=(a("object-component"),a("debug")("socket.io-client:manager")),l=a("indexof"),m=a("backo2");b.exports=d,d.prototype.emitAll=function(){this.emit.apply(this,arguments);for(var a in this.nsps)this.nsps[a].emit.apply(this.nsps[a],arguments)},d.prototype.updateSocketIds=function(){for(var a in this.nsps)this.nsps[a].id=this.engine.id},g(d.prototype),d.prototype.reconnection=function(a){return arguments.length?(this._reconnection=!!a,this):this._reconnection},d.prototype.reconnectionAttempts=function(a){return arguments.length?(this._reconnectionAttempts=a,this):this._reconnectionAttempts},d.prototype.reconnectionDelay=function(a){return arguments.length?(this._reconnectionDelay=a,this.backoff&&this.backoff.setMin(a),this):this._reconnectionDelay},d.prototype.randomizationFactor=function(a){return arguments.length?(this._randomizationFactor=a,this.backoff&&this.backoff.setJitter(a),this):this._randomizationFactor},d.prototype.reconnectionDelayMax=function(a){return arguments.length?(this._reconnectionDelayMax=a,this.backoff&&this.backoff.setMax(a),this):this._reconnectionDelayMax},d.prototype.timeout=function(a){return arguments.length?(this._timeout=a,this):this._timeout},d.prototype.maybeReconnectOnOpen=function(){!this.reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()},d.prototype.open=d.prototype.connect=function(a){if(k("readyState %s",this.readyState),~this.readyState.indexOf("open"))return this;k("opening %s",this.uri),this.engine=e(this.uri,this.opts);var b=this.engine,c=this;this.readyState="opening",this.skipReconnect=!1;var d=i(b,"open",function(){c.onopen(),a&&a()}),f=i(b,"error",function(b){if(k("connect_error"),c.cleanup(),c.readyState="closed",c.emitAll("connect_error",b),a){var d=new Error("Connection error");d.data=b,a(d)}else c.maybeReconnectOnOpen()});if(!1!==this._timeout){var g=this._timeout;k("connect attempt will timeout after %d",g);var h=setTimeout(function(){k("connect attempt timed out after %d",g),d.destroy(),b.close(),b.emit("error","timeout"),c.emitAll("connect_timeout",g)},g);this.subs.push({destroy:function(){clearTimeout(h)}})}return this.subs.push(d),this.subs.push(f),this},d.prototype.onopen=function(){k("open"),this.cleanup(),this.readyState="open",this.emit("open");var a=this.engine;this.subs.push(i(a,"data",j(this,"ondata"))),this.subs.push(i(this.decoder,"decoded",j(this,"ondecoded"))),this.subs.push(i(a,"error",j(this,"onerror"))),this.subs.push(i(a,"close",j(this,"onclose")))},d.prototype.ondata=function(a){this.decoder.add(a)},d.prototype.ondecoded=function(a){this.emit("packet",a)},d.prototype.onerror=function(a){k("error",a),this.emitAll("error",a)},d.prototype.socket=function(a){var b=this.nsps[a];if(!b){b=new f(this,a),this.nsps[a]=b;var c=this;b.on("connect",function(){b.id=c.engine.id,~l(c.connected,b)||c.connected.push(b)})}return b},d.prototype.destroy=function(a){var b=l(this.connected,a);~b&&this.connected.splice(b,1),this.connected.length||this.close()},d.prototype.packet=function(a){k("writing packet %j",a);var b=this;b.encoding?b.packetBuffer.push(a):(b.encoding=!0,this.encoder.encode(a,function(a){for(var c=0;c<a.length;c++)b.engine.write(a[c]);b.encoding=!1,b.processPacketQueue()}))},d.prototype.processPacketQueue=function(){if(this.packetBuffer.length>0&&!this.encoding){var a=this.packetBuffer.shift();this.packet(a)}},d.prototype.cleanup=function(){for(var a;a=this.subs.shift();)a.destroy();this.packetBuffer=[],this.encoding=!1,this.decoder.destroy()},d.prototype.close=d.prototype.disconnect=function(){this.skipReconnect=!0,this.backoff.reset(),this.readyState="closed",this.engine&&this.engine.close()},d.prototype.onclose=function(a){k("close"),this.cleanup(),this.backoff.reset(),this.readyState="closed",this.emit("close",a),this._reconnection&&!this.skipReconnect&&this.reconnect()},d.prototype.reconnect=function(){if(this.reconnecting||this.skipReconnect)return this;var a=this;if(this.backoff.attempts>=this._reconnectionAttempts)k("reconnect failed"),this.backoff.reset(),this.emitAll("reconnect_failed"),this.reconnecting=!1;else{var b=this.backoff.duration();k("will wait %dms before reconnect attempt",b),this.reconnecting=!0;var c=setTimeout(function(){a.skipReconnect||(k("attempting reconnect"),a.emitAll("reconnect_attempt",a.backoff.attempts),a.emitAll("reconnecting",a.backoff.attempts),a.skipReconnect||a.open(function(b){b?(k("reconnect attempt error"),a.reconnecting=!1,a.reconnect(),a.emitAll("reconnect_error",b.data)):(k("reconnect success"),a.onreconnect())}))},b);this.subs.push({destroy:function(){clearTimeout(c)}})}},d.prototype.onreconnect=function(){var a=this.backoff.attempts;this.reconnecting=!1,this.backoff.reset(),this.updateSocketIds(),this.emitAll("reconnect",a)}},{"./on":4,"./socket":5,"./url":6,backo2:7,"component-bind":8,"component-emitter":9,debug:10,"engine.io-client":11,indexof:40,"object-component":41,"socket.io-parser":44}],4:[function(a,b,c){function d(a,b,c){return a.on(b,c),{destroy:function(){a.removeListener(b,c)}}}b.exports=d},{}],5:[function(a,b,c){function d(a,b){this.io=a,this.nsp=b,this.json=this,this.ids=0,this.acks={},this.io.autoConnect&&this.open(),this.receiveBuffer=[],this.sendBuffer=[],this.connected=!1,this.disconnected=!0}var e=a("socket.io-parser"),f=a("component-emitter"),g=a("to-array"),h=a("./on"),i=a("component-bind"),j=a("debug")("socket.io-client:socket"),k=a("has-binary");b.exports=c=d;var l={connect:1,connect_error:1,connect_timeout:1,disconnect:1,error:1,reconnect:1,reconnect_attempt:1,reconnect_failed:1,reconnect_error:1,reconnecting:1},m=f.prototype.emit;f(d.prototype),d.prototype.subEvents=function(){if(!this.subs){var a=this.io;this.subs=[h(a,"open",i(this,"onopen")),h(a,"packet",i(this,"onpacket")),h(a,"close",i(this,"onclose"))]}},d.prototype.open=d.prototype.connect=function(){return this.connected?this:(this.subEvents(),this.io.open(),"open"==this.io.readyState&&this.onopen(),this)},d.prototype.send=function(){var a=g(arguments);return a.unshift("message"),this.emit.apply(this,a),this},d.prototype.emit=function(a){if(l.hasOwnProperty(a))return m.apply(this,arguments),this;var b=g(arguments),c=e.EVENT;k(b)&&(c=e.BINARY_EVENT);var d={type:c,data:b};return"function"==typeof b[b.length-1]&&(j("emitting packet with ack id %d",this.ids),this.acks[this.ids]=b.pop(),d.id=this.ids++),this.connected?this.packet(d):this.sendBuffer.push(d),this},d.prototype.packet=function(a){a.nsp=this.nsp,this.io.packet(a)},d.prototype.onopen=function(){j("transport is open - connecting"),"/"!=this.nsp&&this.packet({type:e.CONNECT})},d.prototype.onclose=function(a){j("close (%s)",a),this.connected=!1,this.disconnected=!0,delete this.id,this.emit("disconnect",a)},d.prototype.onpacket=function(a){if(a.nsp==this.nsp)switch(a.type){case e.CONNECT:this.onconnect();break;case e.EVENT:this.onevent(a);break;case e.BINARY_EVENT:this.onevent(a);break;case e.ACK:this.onack(a);break;case e.BINARY_ACK:this.onack(a);break;case e.DISCONNECT:this.ondisconnect();break;case e.ERROR:this.emit("error",a.data)}},d.prototype.onevent=function(a){var b=a.data||[];j("emitting event %j",b),null!=a.id&&(j("attaching ack callback to event"),b.push(this.ack(a.id))),this.connected?m.apply(this,b):this.receiveBuffer.push(b)},d.prototype.ack=function(a){var b=this,c=!1;return function(){if(!c){c=!0;var d=g(arguments);j("sending ack %j",d);var f=k(d)?e.BINARY_ACK:e.ACK;b.packet({type:f,id:a,data:d})}}},d.prototype.onack=function(a){j("calling ack %s with %j",a.id,a.data);var b=this.acks[a.id];b.apply(this,a.data),delete this.acks[a.id]},d.prototype.onconnect=function(){this.connected=!0,this.disconnected=!1,this.emit("connect"),this.emitBuffered()},d.prototype.emitBuffered=function(){var a;for(a=0;a<this.receiveBuffer.length;a++)m.apply(this,this.receiveBuffer[a]);for(this.receiveBuffer=[],a=0;a<this.sendBuffer.length;a++)this.packet(this.sendBuffer[a]);this.sendBuffer=[]},d.prototype.ondisconnect=function(){j("server disconnect (%s)",this.nsp),this.destroy(),this.onclose("io server disconnect")},d.prototype.destroy=function(){if(this.subs){for(var a=0;a<this.subs.length;a++)this.subs[a].destroy();this.subs=null}this.io.destroy(this)},d.prototype.close=d.prototype.disconnect=function(){return this.connected&&(j("performing disconnect (%s)",this.nsp),this.packet({type:e.DISCONNECT})),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}},{"./on":4,"component-bind":8,"component-emitter":9,debug:10,"has-binary":36,"socket.io-parser":44,"to-array":48}],6:[function(a,b,c){(function(c){function d(a,b){var d=a,b=b||c.location;return null==a&&(a=b.protocol+"//"+b.host),"string"==typeof a&&("/"==a.charAt(0)&&(a="/"==a.charAt(1)?b.protocol+a:b.hostname+a),/^(https?|wss?):\/\//.test(a)||(f("protocol-less url %s",a),a="undefined"!=typeof b?b.protocol+"//"+a:"https://"+a),f("parse %s",a),d=e(a)),d.port||(/^(http|ws)$/.test(d.protocol)?d.port="80":/^(http|ws)s$/.test(d.protocol)&&(d.port="443")),d.path=d.path||"/",d.id=d.protocol+"://"+d.host+":"+d.port,d.href=d.protocol+"://"+d.host+(b&&b.port==d.port?"":":"+d.port),d}var e=a("parseuri"),f=a("debug")("socket.io-client:url");b.exports=d}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{debug:10,parseuri:42}],7:[function(a,b,c){function d(a){a=a||{},this.ms=a.min||100,this.max=a.max||1e4,this.factor=a.factor||2,this.jitter=a.jitter>0&&a.jitter<=1?a.jitter:0,this.attempts=0}b.exports=d,d.prototype.duration=function(){var a=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var b=Math.random(),c=Math.floor(b*this.jitter*a);a=0==(1&Math.floor(10*b))?a-c:a+c}return 0|Math.min(a,this.max)},d.prototype.reset=function(){this.attempts=0},d.prototype.setMin=function(a){this.ms=a},d.prototype.setMax=function(a){this.max=a},d.prototype.setJitter=function(a){this.jitter=a}},{}],8:[function(a,b,c){var d=[].slice;b.exports=function(a,b){if("string"==typeof b&&(b=a[b]),"function"!=typeof b)throw new Error("bind() requires a function");var c=d.call(arguments,2);return function(){return b.apply(a,c.concat(d.call(arguments)))}}},{}],9:[function(a,b,c){function d(a){return a?e(a):void 0}function e(a){for(var b in d.prototype)a[b]=d.prototype[b];return a}b.exports=d,d.prototype.on=d.prototype.addEventListener=function(a,b){return this._callbacks=this._callbacks||{},(this._callbacks[a]=this._callbacks[a]||[]).push(b),this},d.prototype.once=function(a,b){function c(){d.off(a,c),b.apply(this,arguments)}var d=this;return this._callbacks=this._callbacks||{},c.fn=b,this.on(a,c),this},d.prototype.off=d.prototype.removeListener=d.prototype.removeAllListeners=d.prototype.removeEventListener=function(a,b){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var c=this._callbacks[a];if(!c)return this;if(1==arguments.length)return delete this._callbacks[a],this;for(var d,e=0;e<c.length;e++)if(d=c[e],d===b||d.fn===b){c.splice(e,1);break}return this},d.prototype.emit=function(a){
+this._callbacks=this._callbacks||{};var b=[].slice.call(arguments,1),c=this._callbacks[a];if(c){c=c.slice(0);for(var d=0,e=c.length;e>d;++d)c[d].apply(this,b)}return this},d.prototype.listeners=function(a){return this._callbacks=this._callbacks||{},this._callbacks[a]||[]},d.prototype.hasListeners=function(a){return!!this.listeners(a).length}},{}],10:[function(a,b,c){function d(a){return d.enabled(a)?function(b){b=e(b);var c=new Date,f=c-(d[a]||c);d[a]=c,b=a+" "+b+" +"+d.humanize(f),window.console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}:function(){}}function e(a){return a instanceof Error?a.stack||a.message:a}b.exports=d,d.names=[],d.skips=[],d.enable=function(a){try{localStorage.debug=a}catch(b){}for(var c=(a||"").split(/[\s,]+/),e=c.length,f=0;e>f;f++)a=c[f].replace("*",".*?"),"-"===a[0]?d.skips.push(new RegExp("^"+a.substr(1)+"$")):d.names.push(new RegExp("^"+a+"$"))},d.disable=function(){d.enable("")},d.humanize=function(a){var b=1e3,c=6e4,d=60*c;return a>=d?(a/d).toFixed(1)+"h":a>=c?(a/c).toFixed(1)+"m":a>=b?(a/b|0)+"s":a+"ms"},d.enabled=function(a){for(var b=0,c=d.skips.length;c>b;b++)if(d.skips[b].test(a))return!1;for(var b=0,c=d.names.length;c>b;b++)if(d.names[b].test(a))return!0;return!1};try{window.localStorage&&d.enable(localStorage.debug)}catch(f){}},{}],11:[function(a,b,c){b.exports=a("./lib/")},{"./lib/":12}],12:[function(a,b,c){b.exports=a("./socket"),b.exports.parser=a("engine.io-parser")},{"./socket":13,"engine.io-parser":25}],13:[function(a,b,c){(function(c){function d(a,b){if(!(this instanceof d))return new d(a,b);if(b=b||{},a&&"object"==typeof a&&(b=a,a=null),a&&(a=k(a),b.host=a.host,b.secure="https"==a.protocol||"wss"==a.protocol,b.port=a.port,a.query&&(b.query=a.query)),this.secure=null!=b.secure?b.secure:c.location&&"https:"==location.protocol,b.host){var e=b.host.split(":");b.hostname=e.shift(),e.length?b.port=e.pop():b.port||(b.port=this.secure?"443":"80")}this.agent=b.agent||!1,this.hostname=b.hostname||(c.location?location.hostname:"localhost"),this.port=b.port||(c.location&&location.port?location.port:this.secure?443:80),this.query=b.query||{},"string"==typeof this.query&&(this.query=m.decode(this.query)),this.upgrade=!1!==b.upgrade,this.path=(b.path||"/engine.io").replace(/\/$/,"")+"/",this.forceJSONP=!!b.forceJSONP,this.jsonp=!1!==b.jsonp,this.forceBase64=!!b.forceBase64,this.enablesXDR=!!b.enablesXDR,this.timestampParam=b.timestampParam||"t",this.timestampRequests=b.timestampRequests,this.transports=b.transports||["polling","websocket"],this.readyState="",this.writeBuffer=[],this.callbackBuffer=[],this.policyPort=b.policyPort||843,this.rememberUpgrade=b.rememberUpgrade||!1,this.binaryType=null,this.onlyBinaryUpgrades=b.onlyBinaryUpgrades,this.pfx=b.pfx||null,this.key=b.key||null,this.passphrase=b.passphrase||null,this.cert=b.cert||null,this.ca=b.ca||null,this.ciphers=b.ciphers||null,this.rejectUnauthorized=b.rejectUnauthorized||null,this.open()}function e(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}var f=a("./transports"),g=a("component-emitter"),h=a("debug")("engine.io-client:socket"),i=a("indexof"),j=a("engine.io-parser"),k=a("parseuri"),l=a("parsejson"),m=a("parseqs");b.exports=d,d.priorWebsocketSuccess=!1,g(d.prototype),d.protocol=j.protocol,d.Socket=d,d.Transport=a("./transport"),d.transports=a("./transports"),d.parser=a("engine.io-parser"),d.prototype.createTransport=function(a){h('creating transport "%s"',a);var b=e(this.query);b.EIO=j.protocol,b.transport=a,this.id&&(b.sid=this.id);var c=new f[a]({agent:this.agent,hostname:this.hostname,port:this.port,secure:this.secure,path:this.path,query:b,forceJSONP:this.forceJSONP,jsonp:this.jsonp,forceBase64:this.forceBase64,enablesXDR:this.enablesXDR,timestampRequests:this.timestampRequests,timestampParam:this.timestampParam,policyPort:this.policyPort,socket:this,pfx:this.pfx,key:this.key,passphrase:this.passphrase,cert:this.cert,ca:this.ca,ciphers:this.ciphers,rejectUnauthorized:this.rejectUnauthorized});return c},d.prototype.open=function(){var a;if(this.rememberUpgrade&&d.priorWebsocketSuccess&&-1!=this.transports.indexOf("websocket"))a="websocket";else{if(0==this.transports.length){var b=this;return void setTimeout(function(){b.emit("error","No transports available")},0)}a=this.transports[0]}this.readyState="opening";var a;try{a=this.createTransport(a)}catch(c){return this.transports.shift(),void this.open()}a.open(),this.setTransport(a)},d.prototype.setTransport=function(a){h("setting transport %s",a.name);var b=this;this.transport&&(h("clearing existing transport %s",this.transport.name),this.transport.removeAllListeners()),this.transport=a,a.on("drain",function(){b.onDrain()}).on("packet",function(a){b.onPacket(a)}).on("error",function(a){b.onError(a)}).on("close",function(){b.onClose("transport close")})},d.prototype.probe=function(a){function b(){if(m.onlyBinaryUpgrades){var b=!this.supportsBinary&&m.transport.supportsBinary;l=l||b}l||(h('probe transport "%s" opened',a),k.send([{type:"ping",data:"probe"}]),k.once("packet",function(b){if(!l)if("pong"==b.type&&"probe"==b.data){if(h('probe transport "%s" pong',a),m.upgrading=!0,m.emit("upgrading",k),!k)return;d.priorWebsocketSuccess="websocket"==k.name,h('pausing current transport "%s"',m.transport.name),m.transport.pause(function(){l||"closed"!=m.readyState&&(h("changing transport and sending upgrade packet"),j(),m.setTransport(k),k.send([{type:"upgrade"}]),m.emit("upgrade",k),k=null,m.upgrading=!1,m.flush())})}else{h('probe transport "%s" failed',a);var c=new Error("probe error");c.transport=k.name,m.emit("upgradeError",c)}}))}function c(){l||(l=!0,j(),k.close(),k=null)}function e(b){var d=new Error("probe error: "+b);d.transport=k.name,c(),h('probe transport "%s" failed because of error: %s',a,b),m.emit("upgradeError",d)}function f(){e("transport closed")}function g(){e("socket closed")}function i(a){k&&a.name!=k.name&&(h('"%s" works - aborting "%s"',a.name,k.name),c())}function j(){k.removeListener("open",b),k.removeListener("error",e),k.removeListener("close",f),m.removeListener("close",g),m.removeListener("upgrading",i)}h('probing transport "%s"',a);var k=this.createTransport(a,{probe:1}),l=!1,m=this;d.priorWebsocketSuccess=!1,k.once("open",b),k.once("error",e),k.once("close",f),this.once("close",g),this.once("upgrading",i),k.open()},d.prototype.onOpen=function(){if(h("socket open"),this.readyState="open",d.priorWebsocketSuccess="websocket"==this.transport.name,this.emit("open"),this.flush(),"open"==this.readyState&&this.upgrade&&this.transport.pause){h("starting upgrade probes");for(var a=0,b=this.upgrades.length;b>a;a++)this.probe(this.upgrades[a])}},d.prototype.onPacket=function(a){if("opening"==this.readyState||"open"==this.readyState)switch(h('socket receive: type "%s", data "%s"',a.type,a.data),this.emit("packet",a),this.emit("heartbeat"),a.type){case"open":this.onHandshake(l(a.data));break;case"pong":this.setPing();break;case"error":var b=new Error("server error");b.code=a.data,this.emit("error",b);break;case"message":this.emit("data",a.data),this.emit("message",a.data)}else h('packet received with socket readyState "%s"',this.readyState)},d.prototype.onHandshake=function(a){this.emit("handshake",a),this.id=a.sid,this.transport.query.sid=a.sid,this.upgrades=this.filterUpgrades(a.upgrades),this.pingInterval=a.pingInterval,this.pingTimeout=a.pingTimeout,this.onOpen(),"closed"!=this.readyState&&(this.setPing(),this.removeListener("heartbeat",this.onHeartbeat),this.on("heartbeat",this.onHeartbeat))},d.prototype.onHeartbeat=function(a){clearTimeout(this.pingTimeoutTimer);var b=this;b.pingTimeoutTimer=setTimeout(function(){"closed"!=b.readyState&&b.onClose("ping timeout")},a||b.pingInterval+b.pingTimeout)},d.prototype.setPing=function(){var a=this;clearTimeout(a.pingIntervalTimer),a.pingIntervalTimer=setTimeout(function(){h("writing ping packet - expecting pong within %sms",a.pingTimeout),a.ping(),a.onHeartbeat(a.pingTimeout)},a.pingInterval)},d.prototype.ping=function(){this.sendPacket("ping")},d.prototype.onDrain=function(){for(var a=0;a<this.prevBufferLen;a++)this.callbackBuffer[a]&&this.callbackBuffer[a]();this.writeBuffer.splice(0,this.prevBufferLen),this.callbackBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0==this.writeBuffer.length?this.emit("drain"):this.flush()},d.prototype.flush=function(){"closed"!=this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length&&(h("flushing %d packets in socket",this.writeBuffer.length),this.transport.send(this.writeBuffer),this.prevBufferLen=this.writeBuffer.length,this.emit("flush"))},d.prototype.write=d.prototype.send=function(a,b){return this.sendPacket("message",a,b),this},d.prototype.sendPacket=function(a,b,c){if("closing"!=this.readyState&&"closed"!=this.readyState){var d={type:a,data:b};this.emit("packetCreate",d),this.writeBuffer.push(d),this.callbackBuffer.push(c),this.flush()}},d.prototype.close=function(){function a(){d.onClose("forced close"),h("socket closing - telling transport to close"),d.transport.close()}function b(){d.removeListener("upgrade",b),d.removeListener("upgradeError",b),a()}function c(){d.once("upgrade",b),d.once("upgradeError",b)}if("opening"==this.readyState||"open"==this.readyState){this.readyState="closing";var d=this;this.writeBuffer.length?this.once("drain",function(){this.upgrading?c():a()}):this.upgrading?c():a()}return this},d.prototype.onError=function(a){h("socket error %j",a),d.priorWebsocketSuccess=!1,this.emit("error",a),this.onClose("transport error",a)},d.prototype.onClose=function(a,b){if("opening"==this.readyState||"open"==this.readyState||"closing"==this.readyState){h('socket close with reason: "%s"',a);var c=this;clearTimeout(this.pingIntervalTimer),clearTimeout(this.pingTimeoutTimer),setTimeout(function(){c.writeBuffer=[],c.callbackBuffer=[],c.prevBufferLen=0},0),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),this.readyState="closed",this.id=null,this.emit("close",a,b)}},d.prototype.filterUpgrades=function(a){for(var b=[],c=0,d=a.length;d>c;c++)~i(this.transports,a[c])&&b.push(a[c]);return b}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./transport":14,"./transports":15,"component-emitter":9,debug:22,"engine.io-parser":25,indexof:40,parsejson:32,parseqs:33,parseuri:34}],14:[function(a,b,c){function d(a){this.path=a.path,this.hostname=a.hostname,this.port=a.port,this.secure=a.secure,this.query=a.query,this.timestampParam=a.timestampParam,this.timestampRequests=a.timestampRequests,this.readyState="",this.agent=a.agent||!1,this.socket=a.socket,this.enablesXDR=a.enablesXDR,this.pfx=a.pfx,this.key=a.key,this.passphrase=a.passphrase,this.cert=a.cert,this.ca=a.ca,this.ciphers=a.ciphers,this.rejectUnauthorized=a.rejectUnauthorized}var e=a("engine.io-parser"),f=a("component-emitter");b.exports=d,f(d.prototype),d.timestamps=0,d.prototype.onError=function(a,b){var c=new Error(a);return c.type="TransportError",c.description=b,this.emit("error",c),this},d.prototype.open=function(){return("closed"==this.readyState||""==this.readyState)&&(this.readyState="opening",this.doOpen()),this},d.prototype.close=function(){return("opening"==this.readyState||"open"==this.readyState)&&(this.doClose(),this.onClose()),this},d.prototype.send=function(a){if("open"!=this.readyState)throw new Error("Transport not open");this.write(a)},d.prototype.onOpen=function(){this.readyState="open",this.writable=!0,this.emit("open")},d.prototype.onData=function(a){var b=e.decodePacket(a,this.socket.binaryType);this.onPacket(b)},d.prototype.onPacket=function(a){this.emit("packet",a)},d.prototype.onClose=function(){this.readyState="closed",this.emit("close")}},{"component-emitter":9,"engine.io-parser":25}],15:[function(a,b,c){(function(b){function d(a){var c,d=!1,h=!1,i=!1!==a.jsonp;if(b.location){var j="https:"==location.protocol,k=location.port;k||(k=j?443:80),d=a.hostname!=location.hostname||k!=a.port,h=a.secure!=j}if(a.xdomain=d,a.xscheme=h,c=new e(a),"open"in c&&!a.forceJSONP)return new f(a);if(!i)throw new Error("JSONP disabled");return new g(a)}var e=a("xmlhttprequest"),f=a("./polling-xhr"),g=a("./polling-jsonp"),h=a("./websocket");c.polling=d,c.websocket=h}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./polling-jsonp":16,"./polling-xhr":17,"./websocket":19,xmlhttprequest:20}],16:[function(a,b,c){(function(c){function d(){}function e(a){f.call(this,a),this.query=this.query||{},h||(c.___eio||(c.___eio=[]),h=c.___eio),this.index=h.length;var b=this;h.push(function(a){b.onData(a)}),this.query.j=this.index,c.document&&c.addEventListener&&c.addEventListener("beforeunload",function(){b.script&&(b.script.onerror=d)},!1)}var f=a("./polling"),g=a("component-inherit");b.exports=e;var h,i=/\n/g,j=/\\n/g;g(e,f),e.prototype.supportsBinary=!1,e.prototype.doClose=function(){this.script&&(this.script.parentNode.removeChild(this.script),this.script=null),this.form&&(this.form.parentNode.removeChild(this.form),this.form=null,this.iframe=null),f.prototype.doClose.call(this)},e.prototype.doPoll=function(){var a=this,b=document.createElement("script");this.script&&(this.script.parentNode.removeChild(this.script),this.script=null),b.async=!0,b.src=this.uri(),b.onerror=function(b){a.onError("jsonp poll error",b)};var c=document.getElementsByTagName("script")[0];c.parentNode.insertBefore(b,c),this.script=b;var d="undefined"!=typeof navigator&&/gecko/i.test(navigator.userAgent);d&&setTimeout(function(){var a=document.createElement("iframe");document.body.appendChild(a),document.body.removeChild(a)},100)},e.prototype.doWrite=function(a,b){function c(){d(),b()}function d(){if(e.iframe)try{e.form.removeChild(e.iframe)}catch(a){e.onError("jsonp polling iframe removal error",a)}try{var b='<iframe src="javascript:0" name="'+e.iframeId+'">';f=document.createElement(b)}catch(a){f=document.createElement("iframe"),f.name=e.iframeId,f.src="javascript:0"}f.id=e.iframeId,e.form.appendChild(f),e.iframe=f}var e=this;if(!this.form){var f,g=document.createElement("form"),h=document.createElement("textarea"),k=this.iframeId="eio_iframe_"+this.index;g.className="socketio",g.style.position="absolute",g.style.top="-1000px",g.style.left="-1000px",g.target=k,g.method="POST",g.setAttribute("accept-charset","utf-8"),h.name="d",g.appendChild(h),document.body.appendChild(g),this.form=g,this.area=h}this.form.action=this.uri(),d(),a=a.replace(j,"\\\n"),this.area.value=a.replace(i,"\\n");try{this.form.submit()}catch(l){}this.iframe.attachEvent?this.iframe.onreadystatechange=function(){"complete"==e.iframe.readyState&&c()}:this.iframe.onload=c}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./polling":18,"component-inherit":21}],17:[function(a,b,c){(function(c){function d(){}function e(a){if(i.call(this,a),c.location){var b="https:"==location.protocol,d=location.port;d||(d=b?443:80),this.xd=a.hostname!=c.location.hostname||d!=a.port,this.xs=a.secure!=b}}function f(a){this.method=a.method||"GET",this.uri=a.uri,this.xd=!!a.xd,this.xs=!!a.xs,this.async=!1!==a.async,this.data=void 0!=a.data?a.data:null,this.agent=a.agent,this.isBinary=a.isBinary,this.supportsBinary=a.supportsBinary,this.enablesXDR=a.enablesXDR,this.pfx=a.pfx,this.key=a.key,this.passphrase=a.passphrase,this.cert=a.cert,this.ca=a.ca,this.ciphers=a.ciphers,this.rejectUnauthorized=a.rejectUnauthorized,this.create()}function g(){for(var a in f.requests)f.requests.hasOwnProperty(a)&&f.requests[a].abort()}var h=a("xmlhttprequest"),i=a("./polling"),j=a("component-emitter"),k=a("component-inherit"),l=a("debug")("engine.io-client:polling-xhr");b.exports=e,b.exports.Request=f,k(e,i),e.prototype.supportsBinary=!0,e.prototype.request=function(a){return a=a||{},a.uri=this.uri(),a.xd=this.xd,a.xs=this.xs,a.agent=this.agent||!1,a.supportsBinary=this.supportsBinary,a.enablesXDR=this.enablesXDR,a.pfx=this.pfx,a.key=this.key,a.passphrase=this.passphrase,a.cert=this.cert,a.ca=this.ca,a.ciphers=this.ciphers,a.rejectUnauthorized=this.rejectUnauthorized,new f(a)},e.prototype.doWrite=function(a,b){var c="string"!=typeof a&&void 0!==a,d=this.request({method:"POST",data:a,isBinary:c}),e=this;d.on("success",b),d.on("error",function(a){e.onError("xhr post error",a)}),this.sendXhr=d},e.prototype.doPoll=function(){l("xhr poll");var a=this.request(),b=this;a.on("data",function(a){b.onData(a)}),a.on("error",function(a){b.onError("xhr poll error",a)}),this.pollXhr=a},j(f.prototype),f.prototype.create=function(){var a={agent:this.agent,xdomain:this.xd,xscheme:this.xs,enablesXDR:this.enablesXDR};a.pfx=this.pfx,a.key=this.key,a.passphrase=this.passphrase,a.cert=this.cert,a.ca=this.ca,a.ciphers=this.ciphers,a.rejectUnauthorized=this.rejectUnauthorized;var b=this.xhr=new h(a),d=this;try{if(l("xhr open %s: %s",this.method,this.uri),b.open(this.method,this.uri,this.async),this.supportsBinary&&(b.responseType="arraybuffer"),"POST"==this.method)try{this.isBinary?b.setRequestHeader("Content-type","application/octet-stream"):b.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(e){}"withCredentials"in b&&(b.withCredentials=!0),this.hasXDR()?(b.onload=function(){d.onLoad()},b.onerror=function(){d.onError(b.responseText)}):b.onreadystatechange=function(){4==b.readyState&&(200==b.status||1223==b.status?d.onLoad():setTimeout(function(){d.onError(b.status)},0))},l("xhr data %s",this.data),b.send(this.data)}catch(e){return void setTimeout(function(){d.onError(e)},0)}c.document&&(this.index=f.requestsCount++,f.requests[this.index]=this)},f.prototype.onSuccess=function(){this.emit("success"),this.cleanup()},f.prototype.onData=function(a){this.emit("data",a),this.onSuccess()},f.prototype.onError=function(a){this.emit("error",a),this.cleanup(!0)},f.prototype.cleanup=function(a){if("undefined"!=typeof this.xhr&&null!==this.xhr){if(this.hasXDR()?this.xhr.onload=this.xhr.onerror=d:this.xhr.onreadystatechange=d,a)try{this.xhr.abort()}catch(b){}c.document&&delete f.requests[this.index],this.xhr=null}},f.prototype.onLoad=function(){var a;try{var b;try{b=this.xhr.getResponseHeader("Content-Type").split(";")[0]}catch(c){}a="application/octet-stream"===b?this.xhr.response:this.supportsBinary?"ok":this.xhr.responseText}catch(c){this.onError(c)}null!=a&&this.onData(a)},f.prototype.hasXDR=function(){return"undefined"!=typeof c.XDomainRequest&&!this.xs&&this.enablesXDR},f.prototype.abort=function(){this.cleanup()},c.document&&(f.requestsCount=0,f.requests={},c.attachEvent?c.attachEvent("onunload",g):c.addEventListener&&c.addEventListener("beforeunload",g,!1))}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./polling":18,"component-emitter":9,"component-inherit":21,debug:22,xmlhttprequest:20}],18:[function(a,b,c){function d(a){var b=a&&a.forceBase64;(!j||b)&&(this.supportsBinary=!1),e.call(this,a)}var e=a("../transport"),f=a("parseqs"),g=a("engine.io-parser"),h=a("component-inherit"),i=a("debug")("engine.io-client:polling");b.exports=d;var j=function(){var b=a("xmlhttprequest"),c=new b({xdomain:!1});return null!=c.responseType}();h(d,e),d.prototype.name="polling",d.prototype.doOpen=function(){this.poll()},d.prototype.pause=function(a){function b(){i("paused"),c.readyState="paused",a()}var c=this;if(this.readyState="pausing",this.polling||!this.writable){var d=0;this.polling&&(i("we are currently polling - waiting to pause"),d++,this.once("pollComplete",function(){i("pre-pause polling complete"),--d||b()})),this.writable||(i("we are currently writing - waiting to pause"),d++,this.once("drain",function(){i("pre-pause writing complete"),--d||b()}))}else b()},d.prototype.poll=function(){i("polling"),this.polling=!0,this.doPoll(),this.emit("poll")},d.prototype.onData=function(a){var b=this;i("polling got data %s",a);var c=function(a,c,d){return"opening"==b.readyState&&b.onOpen(),"close"==a.type?(b.onClose(),!1):void b.onPacket(a)};g.decodePayload(a,this.socket.binaryType,c),"closed"!=this.readyState&&(this.polling=!1,this.emit("pollComplete"),"open"==this.readyState?this.poll():i('ignoring poll - transport state "%s"',this.readyState))},d.prototype.doClose=function(){function a(){i("writing close packet"),b.write([{type:"close"}])}var b=this;"open"==this.readyState?(i("transport open - closing"),a()):(i("transport not open - deferring close"),this.once("open",a))},d.prototype.write=function(a){var b=this;this.writable=!1;var c=function(){b.writable=!0,b.emit("drain")},b=this;g.encodePayload(a,this.supportsBinary,function(a){b.doWrite(a,c)})},d.prototype.uri=function(){var a=this.query||{},b=this.secure?"https":"http",c="";return!1!==this.timestampRequests&&(a[this.timestampParam]=+new Date+"-"+e.timestamps++),this.supportsBinary||a.sid||(a.b64=1),a=f.encode(a),this.port&&("https"==b&&443!=this.port||"http"==b&&80!=this.port)&&(c=":"+this.port),a.length&&(a="?"+a),b+"://"+this.hostname+c+this.path+a}},{"../transport":14,"component-inherit":21,debug:22,"engine.io-parser":25,parseqs:33,xmlhttprequest:20}],19:[function(a,b,c){function d(a){var b=a&&a.forceBase64;b&&(this.supportsBinary=!1),e.call(this,a)}var e=a("../transport"),f=a("engine.io-parser"),g=a("parseqs"),h=a("component-inherit"),i=a("debug")("engine.io-client:websocket"),j=a("ws");b.exports=d,h(d,e),d.prototype.name="websocket",d.prototype.supportsBinary=!0,d.prototype.doOpen=function(){if(this.check()){var a=this.uri(),b=void 0,c={agent:this.agent};c.pfx=this.pfx,c.key=this.key,c.passphrase=this.passphrase,c.cert=this.cert,c.ca=this.ca,c.ciphers=this.ciphers,c.rejectUnauthorized=this.rejectUnauthorized,this.ws=new j(a,b,c),void 0===this.ws.binaryType&&(this.supportsBinary=!1),this.ws.binaryType="arraybuffer",this.addEventListeners()}},d.prototype.addEventListeners=function(){var a=this;this.ws.onopen=function(){a.onOpen()},this.ws.onclose=function(){a.onClose()},this.ws.onmessage=function(b){a.onData(b.data)},this.ws.onerror=function(b){a.onError("websocket error",b)}},"undefined"!=typeof navigator&&/iPad|iPhone|iPod/i.test(navigator.userAgent)&&(d.prototype.onData=function(a){var b=this;setTimeout(function(){e.prototype.onData.call(b,a)},0)}),d.prototype.write=function(a){function b(){c.writable=!0,c.emit("drain")}var c=this;this.writable=!1;for(var d=0,e=a.length;e>d;d++)f.encodePacket(a[d],this.supportsBinary,function(a){try{c.ws.send(a)}catch(b){i("websocket closed before onclose event")}});setTimeout(b,0)},d.prototype.onClose=function(){e.prototype.onClose.call(this)},d.prototype.doClose=function(){"undefined"!=typeof this.ws&&this.ws.close()},d.prototype.uri=function(){var a=this.query||{},b=this.secure?"wss":"ws",c="";return this.port&&("wss"==b&&443!=this.port||"ws"==b&&80!=this.port)&&(c=":"+this.port),this.timestampRequests&&(a[this.timestampParam]=+new Date),this.supportsBinary||(a.b64=1),a=g.encode(a),a.length&&(a="?"+a),b+"://"+this.hostname+c+this.path+a},d.prototype.check=function(){return!(!j||"__initialize"in j&&this.name===d.prototype.name)}},{"../transport":14,"component-inherit":21,debug:22,"engine.io-parser":25,parseqs:33,ws:35}],20:[function(a,b,c){var d=a("has-cors");b.exports=function(a){var b=a.xdomain,c=a.xscheme,e=a.enablesXDR;try{if("undefined"!=typeof XMLHttpRequest&&(!b||d))return new XMLHttpRequest}catch(f){}try{if("undefined"!=typeof XDomainRequest&&!c&&e)return new XDomainRequest}catch(f){}if(!b)try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(f){}}},{"has-cors":38}],21:[function(a,b,c){b.exports=function(a,b){var c=function(){};c.prototype=b.prototype,a.prototype=new c,a.prototype.constructor=a}},{}],22:[function(a,b,c){function d(){return"WebkitAppearance"in document.documentElement.style||window.console&&(console.firebug||console.exception&&console.table)||navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31}function e(){var a=arguments,b=this.useColors;if(a[0]=(b?"%c":"")+this.namespace+(b?" %c":" ")+a[0]+(b?"%c ":" ")+"+"+c.humanize(this.diff),!b)return a;var d="color: "+this.color;a=[a[0],d,"color: inherit"].concat(Array.prototype.slice.call(a,1));var e=0,f=0;return a[0].replace(/%[a-z%]/g,function(a){"%%"!==a&&(e++,"%c"===a&&(f=e))}),a.splice(f,0,d),a}function f(){return"object"==typeof console&&"function"==typeof console.log&&Function.prototype.apply.call(console.log,console,arguments)}function g(a){try{null==a?localStorage.removeItem("debug"):localStorage.debug=a}catch(b){}}function h(){var a;try{a=localStorage.debug}catch(b){}return a}c=b.exports=a("./debug"),c.log=f,c.formatArgs=e,c.save=g,c.load=h,c.useColors=d,c.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],c.formatters.j=function(a){return JSON.stringify(a)},c.enable(h())},{"./debug":23}],23:[function(a,b,c){function d(){return c.colors[k++%c.colors.length]}function e(a){function b(){}function e(){var a=e,b=+new Date,f=b-(j||b);a.diff=f,a.prev=j,a.curr=b,j=b,null==a.useColors&&(a.useColors=c.useColors()),null==a.color&&a.useColors&&(a.color=d());var g=Array.prototype.slice.call(arguments);g[0]=c.coerce(g[0]),"string"!=typeof g[0]&&(g=["%o"].concat(g));var h=0;g[0]=g[0].replace(/%([a-z%])/g,function(b,d){if("%%"===b)return b;h++;var e=c.formatters[d];if("function"==typeof e){var f=g[h];b=e.call(a,f),g.splice(h,1),h--}return b}),"function"==typeof c.formatArgs&&(g=c.formatArgs.apply(a,g));var i=e.log||c.log||console.log.bind(console);i.apply(a,g)}b.enabled=!1,e.enabled=!0;var f=c.enabled(a)?e:b;return f.namespace=a,f}function f(a){c.save(a);for(var b=(a||"").split(/[\s,]+/),d=b.length,e=0;d>e;e++)b[e]&&(a=b[e].replace(/\*/g,".*?"),"-"===a[0]?c.skips.push(new RegExp("^"+a.substr(1)+"$")):c.names.push(new RegExp("^"+a+"$")))}function g(){c.enable("")}function h(a){var b,d;for(b=0,d=c.skips.length;d>b;b++)if(c.skips[b].test(a))return!1;for(b=0,d=c.names.length;d>b;b++)if(c.names[b].test(a))return!0;return!1}function i(a){return a instanceof Error?a.stack||a.message:a}c=b.exports=e,c.coerce=i,c.disable=g,c.enable=f,c.enabled=h,c.humanize=a("ms"),c.names=[],c.skips=[],c.formatters={};var j,k=0},{ms:24}],24:[function(a,b,c){function d(a){var b=/^((?:\d+)?\.?\d+) *(ms|seconds?|s|minutes?|m|hours?|h|days?|d|years?|y)?$/i.exec(a);if(b){var c=parseFloat(b[1]),d=(b[2]||"ms").toLowerCase();switch(d){case"years":case"year":case"y":return c*l;case"days":case"day":case"d":return c*k;case"hours":case"hour":case"h":return c*j;case"minutes":case"minute":case"m":return c*i;case"seconds":case"second":case"s":return c*h;case"ms":return c}}}function e(a){return a>=k?Math.round(a/k)+"d":a>=j?Math.round(a/j)+"h":a>=i?Math.round(a/i)+"m":a>=h?Math.round(a/h)+"s":a+"ms"}function f(a){return g(a,k,"day")||g(a,j,"hour")||g(a,i,"minute")||g(a,h,"second")||a+" ms"}function g(a,b,c){return b>a?void 0:1.5*b>a?Math.floor(a/b)+" "+c:Math.ceil(a/b)+" "+c+"s"}var h=1e3,i=60*h,j=60*i,k=24*j,l=365.25*k;b.exports=function(a,b){return b=b||{},"string"==typeof a?d(a):b["long"]?f(a):e(a)}},{}],25:[function(a,b,c){(function(b){function d(a,b){var d="b"+c.packets[a.type]+a.data.data;return b(d)}function e(a,b,d){if(!b)return c.encodeBase64Packet(a,d);var e=a.data,f=new Uint8Array(e),g=new Uint8Array(1+e.byteLength);g[0]=r[a.type];for(var h=0;h<f.length;h++)g[h+1]=f[h];return d(g.buffer)}function f(a,b,d){if(!b)return c.encodeBase64Packet(a,d);var e=new FileReader;return e.onload=function(){a.data=e.result,c.encodePacket(a,b,!0,d)},e.readAsArrayBuffer(a.data)}function g(a,b,d){if(!b)return c.encodeBase64Packet(a,d);if(q)return f(a,b,d);var e=new Uint8Array(1);e[0]=r[a.type];var g=new u([e.buffer,a.data]);return d(g)}function h(a,b,c){for(var d=new Array(a.length),e=m(a.length,c),f=function(a,c,e){b(c,function(b,c){d[a]=c,e(b,d)})},g=0;g<a.length;g++)f(g,a[g],e)}var i=a("./keys"),j=a("has-binary"),k=a("arraybuffer.slice"),l=a("base64-arraybuffer"),m=a("after"),n=a("utf8"),o=navigator.userAgent.match(/Android/i),p=/PhantomJS/i.test(navigator.userAgent),q=o||p;c.protocol=3;var r=c.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6},s=i(r),t={type:"error",data:"parser error"},u=a("blob");c.encodePacket=function(a,c,f,h){"function"==typeof c&&(h=c,c=!1),"function"==typeof f&&(h=f,f=null);var i=void 0===a.data?void 0:a.data.buffer||a.data;if(b.ArrayBuffer&&i instanceof ArrayBuffer)return e(a,c,h);if(u&&i instanceof b.Blob)return g(a,c,h);if(i&&i.base64)return d(a,h);var j=r[a.type];return void 0!==a.data&&(j+=f?n.encode(String(a.data)):String(a.data)),h(""+j)},c.encodeBase64Packet=function(a,d){var e="b"+c.packets[a.type];if(u&&a.data instanceof u){var f=new FileReader;return f.onload=function(){var a=f.result.split(",")[1];d(e+a)},f.readAsDataURL(a.data)}var g;try{g=String.fromCharCode.apply(null,new Uint8Array(a.data))}catch(h){for(var i=new Uint8Array(a.data),j=new Array(i.length),k=0;k<i.length;k++)j[k]=i[k];g=String.fromCharCode.apply(null,j)}return e+=b.btoa(g),d(e)},c.decodePacket=function(a,b,d){if("string"==typeof a||void 0===a){if("b"==a.charAt(0))return c.decodeBase64Packet(a.substr(1),b);if(d)try{a=n.decode(a)}catch(e){return t}var f=a.charAt(0);return Number(f)==f&&s[f]?a.length>1?{type:s[f],data:a.substring(1)}:{type:s[f]}:t}var g=new Uint8Array(a),f=g[0],h=k(a,1);return u&&"blob"===b&&(h=new u([h])),{type:s[f],data:h}},c.decodeBase64Packet=function(a,c){var d=s[a.charAt(0)];if(!b.ArrayBuffer)return{type:d,data:{base64:!0,data:a.substr(1)}};var e=l.decode(a.substr(1));return"blob"===c&&u&&(e=new u([e])),{type:d,data:e}},c.encodePayload=function(a,b,d){function e(a){return a.length+":"+a}function f(a,d){c.encodePacket(a,g?b:!1,!0,function(a){d(null,e(a))})}"function"==typeof b&&(d=b,b=null);var g=j(a);return b&&g?u&&!q?c.encodePayloadAsBlob(a,d):c.encodePayloadAsArrayBuffer(a,d):a.length?void h(a,f,function(a,b){return d(b.join(""))}):d("0:")},c.decodePayload=function(a,b,d){if("string"!=typeof a)return c.decodePayloadAsBinary(a,b,d);"function"==typeof b&&(d=b,b=null);var e;if(""==a)return d(t,0,1);for(var f,g,h="",i=0,j=a.length;j>i;i++){var k=a.charAt(i);if(":"!=k)h+=k;else{if(""==h||h!=(f=Number(h)))return d(t,0,1);if(g=a.substr(i+1,f),h!=g.length)return d(t,0,1);if(g.length){if(e=c.decodePacket(g,b,!0),t.type==e.type&&t.data==e.data)return d(t,0,1);var l=d(e,i+f,j);if(!1===l)return}i+=f,h=""}}return""!=h?d(t,0,1):void 0},c.encodePayloadAsArrayBuffer=function(a,b){function d(a,b){c.encodePacket(a,!0,!0,function(a){return b(null,a)})}return a.length?void h(a,d,function(a,c){var d=c.reduce(function(a,b){var c;return c="string"==typeof b?b.length:b.byteLength,a+c.toString().length+c+2},0),e=new Uint8Array(d),f=0;return c.forEach(function(a){var b="string"==typeof a,c=a;if(b){for(var d=new Uint8Array(a.length),g=0;g<a.length;g++)d[g]=a.charCodeAt(g);c=d.buffer}b?e[f++]=0:e[f++]=1;for(var h=c.byteLength.toString(),g=0;g<h.length;g++)e[f++]=parseInt(h[g]);e[f++]=255;for(var d=new Uint8Array(c),g=0;g<d.length;g++)e[f++]=d[g]}),b(e.buffer)}):b(new ArrayBuffer(0))},c.encodePayloadAsBlob=function(a,b){function d(a,b){c.encodePacket(a,!0,!0,function(a){var c=new Uint8Array(1);if(c[0]=1,"string"==typeof a){for(var d=new Uint8Array(a.length),e=0;e<a.length;e++)d[e]=a.charCodeAt(e);a=d.buffer,c[0]=0}for(var f=a instanceof ArrayBuffer?a.byteLength:a.size,g=f.toString(),h=new Uint8Array(g.length+1),e=0;e<g.length;e++)h[e]=parseInt(g[e]);if(h[g.length]=255,u){var i=new u([c.buffer,h.buffer,a]);b(null,i)}})}h(a,d,function(a,c){return b(new u(c))})},c.decodePayloadAsBinary=function(a,b,d){"function"==typeof b&&(d=b,b=null);for(var e=a,f=[],g=!1;e.byteLength>0;){for(var h=new Uint8Array(e),i=0===h[0],j="",l=1;255!=h[l];l++){if(j.length>310){g=!0;break}j+=h[l]}if(g)return d(t,0,1);e=k(e,2+j.length),j=parseInt(j);var m=k(e,0,j);if(i)try{m=String.fromCharCode.apply(null,new Uint8Array(m))}catch(n){var o=new Uint8Array(m);m="";for(var l=0;l<o.length;l++)m+=String.fromCharCode(o[l])}f.push(m),e=k(e,j)}var p=f.length;f.forEach(function(a,e){d(c.decodePacket(a,b,!0),e,p)})}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./keys":26,
+after:27,"arraybuffer.slice":28,"base64-arraybuffer":29,blob:30,"has-binary":36,utf8:31}],26:[function(a,b,c){b.exports=Object.keys||function(a){var b=[],c=Object.prototype.hasOwnProperty;for(var d in a)c.call(a,d)&&b.push(d);return b}},{}],27:[function(a,b,c){function d(a,b,c){function d(a,e){if(d.count<=0)throw new Error("after called too many times");--d.count,a?(f=!0,b(a),b=c):0!==d.count||f||b(null,e)}var f=!1;return c=c||e,d.count=a,0===a?b():d}function e(){}b.exports=d},{}],28:[function(a,b,c){b.exports=function(a,b,c){var d=a.byteLength;if(b=b||0,c=c||d,a.slice)return a.slice(b,c);if(0>b&&(b+=d),0>c&&(c+=d),c>d&&(c=d),b>=d||b>=c||0===d)return new ArrayBuffer(0);for(var e=new Uint8Array(a),f=new Uint8Array(c-b),g=b,h=0;c>g;g++,h++)f[h]=e[g];return f.buffer}},{}],29:[function(a,b,c){!function(a){"use strict";c.encode=function(b){var c,d=new Uint8Array(b),e=d.length,f="";for(c=0;e>c;c+=3)f+=a[d[c]>>2],f+=a[(3&d[c])<<4|d[c+1]>>4],f+=a[(15&d[c+1])<<2|d[c+2]>>6],f+=a[63&d[c+2]];return e%3===2?f=f.substring(0,f.length-1)+"=":e%3===1&&(f=f.substring(0,f.length-2)+"=="),f},c.decode=function(b){var c,d,e,f,g,h=.75*b.length,i=b.length,j=0;"="===b[b.length-1]&&(h--,"="===b[b.length-2]&&h--);var k=new ArrayBuffer(h),l=new Uint8Array(k);for(c=0;i>c;c+=4)d=a.indexOf(b[c]),e=a.indexOf(b[c+1]),f=a.indexOf(b[c+2]),g=a.indexOf(b[c+3]),l[j++]=d<<2|e>>4,l[j++]=(15&e)<<4|f>>2,l[j++]=(3&f)<<6|63&g;return k}}("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/")},{}],30:[function(a,b,c){(function(a){function c(a){for(var b=0;b<a.length;b++){var c=a[b];if(c.buffer instanceof ArrayBuffer){var d=c.buffer;if(c.byteLength!==d.byteLength){var e=new Uint8Array(c.byteLength);e.set(new Uint8Array(d,c.byteOffset,c.byteLength)),d=e.buffer}a[b]=d}}}function d(a,b){b=b||{};var d=new f;c(a);for(var e=0;e<a.length;e++)d.append(a[e]);return b.type?d.getBlob(b.type):d.getBlob()}function e(a,b){return c(a),new Blob(a,b||{})}var f=a.BlobBuilder||a.WebKitBlobBuilder||a.MSBlobBuilder||a.MozBlobBuilder,g=function(){try{var a=new Blob(["hi"]);return 2===a.size}catch(b){return!1}}(),h=g&&function(){try{var a=new Blob([new Uint8Array([1,2])]);return 2===a.size}catch(b){return!1}}(),i=f&&f.prototype.append&&f.prototype.getBlob;b.exports=function(){return g?h?a.Blob:e:i?d:void 0}()}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],31:[function(b,c,d){(function(b){!function(e){function f(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function g(a){for(var b,c=a.length,d=-1,e="";++d<c;)b=a[d],b>65535&&(b-=65536,e+=u(b>>>10&1023|55296),b=56320|1023&b),e+=u(b);return e}function h(a){if(a>=55296&&57343>=a)throw Error("Lone surrogate U+"+a.toString(16).toUpperCase()+" is not a scalar value")}function i(a,b){return u(a>>b&63|128)}function j(a){if(0==(4294967168&a))return u(a);var b="";return 0==(4294965248&a)?b=u(a>>6&31|192):0==(4294901760&a)?(h(a),b=u(a>>12&15|224),b+=i(a,6)):0==(4292870144&a)&&(b=u(a>>18&7|240),b+=i(a,12),b+=i(a,6)),b+=u(63&a|128)}function k(a){for(var b,c=f(a),d=c.length,e=-1,g="";++e<d;)b=c[e],g+=j(b);return g}function l(){if(t>=s)throw Error("Invalid byte index");var a=255&r[t];if(t++,128==(192&a))return 63&a;throw Error("Invalid continuation byte")}function m(){var a,b,c,d,e;if(t>s)throw Error("Invalid byte index");if(t==s)return!1;if(a=255&r[t],t++,0==(128&a))return a;if(192==(224&a)){var b=l();if(e=(31&a)<<6|b,e>=128)return e;throw Error("Invalid continuation byte")}if(224==(240&a)){if(b=l(),c=l(),e=(15&a)<<12|b<<6|c,e>=2048)return h(e),e;throw Error("Invalid continuation byte")}if(240==(248&a)&&(b=l(),c=l(),d=l(),e=(15&a)<<18|b<<12|c<<6|d,e>=65536&&1114111>=e))return e;throw Error("Invalid UTF-8 detected")}function n(a){r=f(a),s=r.length,t=0;for(var b,c=[];(b=m())!==!1;)c.push(b);return g(c)}var o="object"==typeof d&&d,p="object"==typeof c&&c&&c.exports==o&&c,q="object"==typeof b&&b;(q.global===q||q.window===q)&&(e=q);var r,s,t,u=String.fromCharCode,v={version:"2.0.0",encode:k,decode:n};if("function"==typeof a&&"object"==typeof a.amd&&a.amd)a(function(){return v});else if(o&&!o.nodeType)if(p)p.exports=v;else{var w={},x=w.hasOwnProperty;for(var y in v)x.call(v,y)&&(o[y]=v[y])}else e.utf8=v}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],32:[function(a,b,c){(function(a){var c=/^[\],:{}\s]*$/,d=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,e=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,f=/(?:^|:|,)(?:\s*\[)+/g,g=/^\s+/,h=/\s+$/;b.exports=function(b){return"string"==typeof b&&b?(b=b.replace(g,"").replace(h,""),a.JSON&&JSON.parse?JSON.parse(b):c.test(b.replace(d,"@").replace(e,"]").replace(f,""))?new Function("return "+b)():void 0):null}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],33:[function(a,b,c){c.encode=function(a){var b="";for(var c in a)a.hasOwnProperty(c)&&(b.length&&(b+="&"),b+=encodeURIComponent(c)+"="+encodeURIComponent(a[c]));return b},c.decode=function(a){for(var b={},c=a.split("&"),d=0,e=c.length;e>d;d++){var f=c[d].split("=");b[decodeURIComponent(f[0])]=decodeURIComponent(f[1])}return b}},{}],34:[function(a,b,c){var d=/^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];b.exports=function(a){var b=a,c=a.indexOf("["),f=a.indexOf("]");-1!=c&&-1!=f&&(a=a.substring(0,c)+a.substring(c,f).replace(/:/g,";")+a.substring(f,a.length));for(var g=d.exec(a||""),h={},i=14;i--;)h[e[i]]=g[i]||"";return-1!=c&&-1!=f&&(h.source=b,h.host=h.host.substring(1,h.host.length-1).replace(/;/g,":"),h.authority=h.authority.replace("[","").replace("]","").replace(/;/g,":"),h.ipv6uri=!0),h}},{}],35:[function(a,b,c){function d(a,b,c){var d;return d=b?new f(a,b):new f(a)}var e=function(){return this}(),f=e.WebSocket||e.MozWebSocket;b.exports=f?d:null,f&&(d.prototype=f.prototype)},{}],36:[function(a,b,c){(function(c){function d(a){function b(a){if(!a)return!1;if(c.Buffer&&c.Buffer.isBuffer(a)||c.ArrayBuffer&&a instanceof ArrayBuffer||c.Blob&&a instanceof Blob||c.File&&a instanceof File)return!0;if(e(a)){for(var d=0;d<a.length;d++)if(b(a[d]))return!0}else if(a&&"object"==typeof a){a.toJSON&&(a=a.toJSON());for(var f in a)if(Object.prototype.hasOwnProperty.call(a,f)&&b(a[f]))return!0}return!1}return b(a)}var e=a("isarray");b.exports=d}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{isarray:37}],37:[function(a,b,c){b.exports=Array.isArray||function(a){return"[object Array]"==Object.prototype.toString.call(a)}},{}],38:[function(a,b,c){var d=a("global");try{b.exports="XMLHttpRequest"in d&&"withCredentials"in new d.XMLHttpRequest}catch(e){b.exports=!1}},{global:39}],39:[function(a,b,c){b.exports=function(){return this}()},{}],40:[function(a,b,c){var d=[].indexOf;b.exports=function(a,b){if(d)return a.indexOf(b);for(var c=0;c<a.length;++c)if(a[c]===b)return c;return-1}},{}],41:[function(a,b,c){var d=Object.prototype.hasOwnProperty;c.keys=Object.keys||function(a){var b=[];for(var c in a)d.call(a,c)&&b.push(c);return b},c.values=function(a){var b=[];for(var c in a)d.call(a,c)&&b.push(a[c]);return b},c.merge=function(a,b){for(var c in b)d.call(b,c)&&(a[c]=b[c]);return a},c.length=function(a){return c.keys(a).length},c.isEmpty=function(a){return 0==c.length(a)}},{}],42:[function(a,b,c){var d=/^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];b.exports=function(a){for(var b=d.exec(a||""),c={},f=14;f--;)c[e[f]]=b[f]||"";return c}},{}],43:[function(a,b,c){(function(b){var d=a("isarray"),e=a("./is-buffer");c.deconstructPacket=function(a){function b(a){if(!a)return a;if(e(a)){var f={_placeholder:!0,num:c.length};return c.push(a),f}if(d(a)){for(var g=new Array(a.length),h=0;h<a.length;h++)g[h]=b(a[h]);return g}if("object"==typeof a&&!(a instanceof Date)){var g={};for(var i in a)g[i]=b(a[i]);return g}return a}var c=[],f=a.data,g=a;return g.data=b(f),g.attachments=c.length,{packet:g,buffers:c}},c.reconstructPacket=function(a,b){function c(a){if(a&&a._placeholder){var e=b[a.num];return e}if(d(a)){for(var f=0;f<a.length;f++)a[f]=c(a[f]);return a}if(a&&"object"==typeof a){for(var g in a)a[g]=c(a[g]);return a}return a}return a.data=c(a.data),a.attachments=void 0,a},c.removeBlobs=function(a,c){function f(a,i,j){if(!a)return a;if(b.Blob&&a instanceof Blob||b.File&&a instanceof File){g++;var k=new FileReader;k.onload=function(){j?j[i]=this.result:h=this.result,--g||c(h)},k.readAsArrayBuffer(a)}else if(d(a))for(var l=0;l<a.length;l++)f(a[l],l,a);else if(a&&"object"==typeof a&&!e(a))for(var m in a)f(a[m],m,a)}var g=0,h=a;f(h),g||c(h)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./is-buffer":45,isarray:46}],44:[function(a,b,c){function d(){}function e(a){var b="",d=!1;return b+=a.type,(c.BINARY_EVENT==a.type||c.BINARY_ACK==a.type)&&(b+=a.attachments,b+="-"),a.nsp&&"/"!=a.nsp&&(d=!0,b+=a.nsp),null!=a.id&&(d&&(b+=",",d=!1),b+=a.id),null!=a.data&&(d&&(b+=","),b+=l.stringify(a.data)),k("encoded %j as %s",a,b),b}function f(a,b){function c(a){var c=n.deconstructPacket(a),d=e(c.packet),f=c.buffers;f.unshift(d),b(f)}n.removeBlobs(a,c)}function g(){this.reconstructor=null}function h(a){var b={},d=0;if(b.type=Number(a.charAt(0)),null==c.types[b.type])return j();if(c.BINARY_EVENT==b.type||c.BINARY_ACK==b.type){for(var e="";"-"!=a.charAt(++d)&&(e+=a.charAt(d),d!=a.length););if(e!=Number(e)||"-"!=a.charAt(d))throw new Error("Illegal attachments");b.attachments=Number(e)}if("/"==a.charAt(d+1))for(b.nsp="";++d;){var f=a.charAt(d);if(","==f)break;if(b.nsp+=f,d==a.length)break}else b.nsp="/";var g=a.charAt(d+1);if(""!==g&&Number(g)==g){for(b.id="";++d;){var f=a.charAt(d);if(null==f||Number(f)!=f){--d;break}if(b.id+=a.charAt(d),d==a.length)break}b.id=Number(b.id)}if(a.charAt(++d))try{b.data=l.parse(a.substr(d))}catch(h){return j()}return k("decoded %s as %j",a,b),b}function i(a){this.reconPack=a,this.buffers=[]}function j(a){return{type:c.ERROR,data:"parser error"}}var k=a("debug")("socket.io-parser"),l=a("json3"),m=(a("isarray"),a("component-emitter")),n=a("./binary"),o=a("./is-buffer");c.protocol=4,c.types=["CONNECT","DISCONNECT","EVENT","BINARY_EVENT","ACK","BINARY_ACK","ERROR"],c.CONNECT=0,c.DISCONNECT=1,c.EVENT=2,c.ACK=3,c.ERROR=4,c.BINARY_EVENT=5,c.BINARY_ACK=6,c.Encoder=d,c.Decoder=g,d.prototype.encode=function(a,b){if(k("encoding packet %j",a),c.BINARY_EVENT==a.type||c.BINARY_ACK==a.type)f(a,b);else{var d=e(a);b([d])}},m(g.prototype),g.prototype.add=function(a){var b;if("string"==typeof a)b=h(a),c.BINARY_EVENT==b.type||c.BINARY_ACK==b.type?(this.reconstructor=new i(b),0===this.reconstructor.reconPack.attachments&&this.emit("decoded",b)):this.emit("decoded",b);else{if(!o(a)&&!a.base64)throw new Error("Unknown type: "+a);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");b=this.reconstructor.takeBinaryData(a),b&&(this.reconstructor=null,this.emit("decoded",b))}},g.prototype.destroy=function(){this.reconstructor&&this.reconstructor.finishedReconstruction()},i.prototype.takeBinaryData=function(a){if(this.buffers.push(a),this.buffers.length==this.reconPack.attachments){var b=n.reconstructPacket(this.reconPack,this.buffers);return this.finishedReconstruction(),b}return null},i.prototype.finishedReconstruction=function(){this.reconPack=null,this.buffers=[]}},{"./binary":43,"./is-buffer":45,"component-emitter":9,debug:10,isarray:46,json3:47}],45:[function(a,b,c){(function(a){function c(b){return a.Buffer&&a.Buffer.isBuffer(b)||a.ArrayBuffer&&b instanceof ArrayBuffer}b.exports=c}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],46:[function(a,b,c){b.exports=a(37)},{}],47:[function(b,c,d){!function(b){function c(a){if(c[a]!==g)return c[a];var b;if("bug-string-char-index"==a)b="a"!="a"[0];else if("json"==a)b=c("json-stringify")&&c("json-parse");else{var d,e='{"a":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}';if("json-stringify"==a){var f=k.stringify,i="function"==typeof f&&l;if(i){(d=function(){return 1}).toJSON=d;try{i="0"===f(0)&&"0"===f(new Number)&&'""'==f(new String)&&f(h)===g&&f(g)===g&&f()===g&&"1"===f(d)&&"[1]"==f([d])&&"[null]"==f([g])&&"null"==f(null)&&"[null,null,null]"==f([g,h,null])&&f({a:[d,!0,!1,null,"\x00\b\n\f\r       "]})==e&&"1"===f(null,d)&&"[\n 1,\n 2\n]"==f([1,2],null,1)&&'"-271821-04-20T00:00:00.000Z"'==f(new Date(-864e13))&&'"+275760-09-13T00:00:00.000Z"'==f(new Date(864e13))&&'"-000001-01-01T00:00:00.000Z"'==f(new Date(-621987552e5))&&'"1969-12-31T23:59:59.999Z"'==f(new Date(-1))}catch(j){i=!1}}b=i}if("json-parse"==a){var m=k.parse;if("function"==typeof m)try{if(0===m("0")&&!m(!1)){d=m(e);var n=5==d.a.length&&1===d.a[0];if(n){try{n=!m('"     "')}catch(j){}if(n)try{n=1!==m("01")}catch(j){}if(n)try{n=1!==m("1.")}catch(j){}}}}catch(j){n=!1}b=n}}return c[a]=!!b}var e,f,g,h={}.toString,i="function"==typeof a&&a.amd,j="object"==typeof JSON&&JSON,k="object"==typeof d&&d&&!d.nodeType&&d;k&&j?(k.stringify=j.stringify,k.parse=j.parse):k=b.JSON=j||{};var l=new Date(-0xc782b5b800cec);try{l=-109252==l.getUTCFullYear()&&0===l.getUTCMonth()&&1===l.getUTCDate()&&10==l.getUTCHours()&&37==l.getUTCMinutes()&&6==l.getUTCSeconds()&&708==l.getUTCMilliseconds()}catch(m){}if(!c("json")){var n="[object Function]",o="[object Date]",p="[object Number]",q="[object String]",r="[object Array]",s="[object Boolean]",t=c("bug-string-char-index");if(!l)var u=Math.floor,v=[0,31,59,90,120,151,181,212,243,273,304,334],w=function(a,b){return v[b]+365*(a-1970)+u((a-1969+(b=+(b>1)))/4)-u((a-1901+b)/100)+u((a-1601+b)/400)};(e={}.hasOwnProperty)||(e=function(a){var b,c={};return(c.__proto__=null,c.__proto__={toString:1},c).toString!=h?e=function(a){var b=this.__proto__,c=a in(this.__proto__=null,this);return this.__proto__=b,c}:(b=c.constructor,e=function(a){var c=(this.constructor||b).prototype;return a in this&&!(a in c&&this[a]===c[a])}),c=null,e.call(this,a)});var x={"boolean":1,number:1,string:1,undefined:1},y=function(a,b){var c=typeof a[b];return"object"==c?!!a[b]:!x[c]};if(f=function(a,b){var c,d,g,i=0;(c=function(){this.valueOf=0}).prototype.valueOf=0,d=new c;for(g in d)e.call(d,g)&&i++;return c=d=null,i?f=2==i?function(a,b){var c,d={},f=h.call(a)==n;for(c in a)f&&"prototype"==c||e.call(d,c)||!(d[c]=1)||!e.call(a,c)||b(c)}:function(a,b){var c,d,f=h.call(a)==n;for(c in a)f&&"prototype"==c||!e.call(a,c)||(d="constructor"===c)||b(c);(d||e.call(a,c="constructor"))&&b(c)}:(d=["valueOf","toString","toLocaleString","propertyIsEnumerable","isPrototypeOf","hasOwnProperty","constructor"],f=function(a,b){var c,f,g=h.call(a)==n,i=!g&&"function"!=typeof a.constructor&&y(a,"hasOwnProperty")?a.hasOwnProperty:e;for(c in a)g&&"prototype"==c||!i.call(a,c)||b(c);for(f=d.length;c=d[--f];i.call(a,c)&&b(c));}),f(a,b)},!c("json-stringify")){var z={92:"\\\\",34:'\\"',8:"\\b",12:"\\f",10:"\\n",13:"\\r",9:"\\t"},A="000000",B=function(a,b){return(A+(b||0)).slice(-a)},C="\\u00",D=function(a){var b,c='"',d=0,e=a.length,f=e>10&&t;for(f&&(b=a.split(""));e>d;d++){var g=a.charCodeAt(d);switch(g){case 8:case 9:case 10:case 12:case 13:case 34:case 92:c+=z[g];break;default:if(32>g){c+=C+B(2,g.toString(16));break}c+=f?b[d]:t?a.charAt(d):a[d]}}return c+'"'},E=function(a,b,c,d,i,j,k){var l,m,n,t,v,x,y,z,A,C,F,G,H,I,J,K;try{l=b[a]}catch(L){}if("object"==typeof l&&l)if(m=h.call(l),m!=o||e.call(l,"toJSON"))"function"==typeof l.toJSON&&(m!=p&&m!=q&&m!=r||e.call(l,"toJSON"))&&(l=l.toJSON(a));else if(l>-1/0&&1/0>l){if(w){for(v=u(l/864e5),n=u(v/365.2425)+1970-1;w(n+1,0)<=v;n++);for(t=u((v-w(n,0))/30.42);w(n,t+1)<=v;t++);v=1+v-w(n,t),x=(l%864e5+864e5)%864e5,y=u(x/36e5)%24,z=u(x/6e4)%60,A=u(x/1e3)%60,C=x%1e3}else n=l.getUTCFullYear(),t=l.getUTCMonth(),v=l.getUTCDate(),y=l.getUTCHours(),z=l.getUTCMinutes(),A=l.getUTCSeconds(),C=l.getUTCMilliseconds();l=(0>=n||n>=1e4?(0>n?"-":"+")+B(6,0>n?-n:n):B(4,n))+"-"+B(2,t+1)+"-"+B(2,v)+"T"+B(2,y)+":"+B(2,z)+":"+B(2,A)+"."+B(3,C)+"Z"}else l=null;if(c&&(l=c.call(b,a,l)),null===l)return"null";if(m=h.call(l),m==s)return""+l;if(m==p)return l>-1/0&&1/0>l?""+l:"null";if(m==q)return D(""+l);if("object"==typeof l){for(I=k.length;I--;)if(k[I]===l)throw TypeError();if(k.push(l),F=[],J=j,j+=i,m==r){for(H=0,I=l.length;I>H;H++)G=E(H,l,c,d,i,j,k),F.push(G===g?"null":G);K=F.length?i?"[\n"+j+F.join(",\n"+j)+"\n"+J+"]":"["+F.join(",")+"]":"[]"}else f(d||l,function(a){var b=E(a,l,c,d,i,j,k);b!==g&&F.push(D(a)+":"+(i?" ":"")+b)}),K=F.length?i?"{\n"+j+F.join(",\n"+j)+"\n"+J+"}":"{"+F.join(",")+"}":"{}";return k.pop(),K}};k.stringify=function(a,b,c){var d,e,f,g;if("function"==typeof b||"object"==typeof b&&b)if((g=h.call(b))==n)e=b;else if(g==r){f={};for(var i,j=0,k=b.length;k>j;i=b[j++],g=h.call(i),(g==q||g==p)&&(f[i]=1));}if(c)if((g=h.call(c))==p){if((c-=c%1)>0)for(d="",c>10&&(c=10);d.length<c;d+=" ");}else g==q&&(d=c.length<=10?c:c.slice(0,10));return E("",(i={},i[""]=a,i),e,f,d,"",[])}}if(!c("json-parse")){var F,G,H=String.fromCharCode,I={92:"\\",34:'"',47:"/",98:"\b",116:" ",110:"\n",102:"\f",114:"\r"},J=function(){throw F=G=null,SyntaxError()},K=function(){for(var a,b,c,d,e,f=G,g=f.length;g>F;)switch(e=f.charCodeAt(F)){case 9:case 10:case 13:case 32:F++;break;case 123:case 125:case 91:case 93:case 58:case 44:return a=t?f.charAt(F):f[F],F++,a;case 34:for(a="@",F++;g>F;)if(e=f.charCodeAt(F),32>e)J();else if(92==e)switch(e=f.charCodeAt(++F)){case 92:case 34:case 47:case 98:case 116:case 110:case 102:case 114:a+=I[e],F++;break;case 117:for(b=++F,c=F+4;c>F;F++)e=f.charCodeAt(F),e>=48&&57>=e||e>=97&&102>=e||e>=65&&70>=e||J();a+=H("0x"+f.slice(b,F));break;default:J()}else{if(34==e)break;for(e=f.charCodeAt(F),b=F;e>=32&&92!=e&&34!=e;)e=f.charCodeAt(++F);a+=f.slice(b,F)}if(34==f.charCodeAt(F))return F++,a;J();default:if(b=F,45==e&&(d=!0,e=f.charCodeAt(++F)),e>=48&&57>=e){for(48==e&&(e=f.charCodeAt(F+1),e>=48&&57>=e)&&J(),d=!1;g>F&&(e=f.charCodeAt(F),e>=48&&57>=e);F++);if(46==f.charCodeAt(F)){for(c=++F;g>c&&(e=f.charCodeAt(c),e>=48&&57>=e);c++);c==F&&J(),F=c}if(e=f.charCodeAt(F),101==e||69==e){for(e=f.charCodeAt(++F),(43==e||45==e)&&F++,c=F;g>c&&(e=f.charCodeAt(c),e>=48&&57>=e);c++);c==F&&J(),F=c}return+f.slice(b,F)}if(d&&J(),"true"==f.slice(F,F+4))return F+=4,!0;if("false"==f.slice(F,F+5))return F+=5,!1;if("null"==f.slice(F,F+4))return F+=4,null;J()}return"$"},L=function(a){var b,c;if("$"==a&&J(),"string"==typeof a){if("@"==(t?a.charAt(0):a[0]))return a.slice(1);if("["==a){for(b=[];a=K(),"]"!=a;c||(c=!0))c&&(","==a?(a=K(),"]"==a&&J()):J()),","==a&&J(),b.push(L(a));return b}if("{"==a){for(b={};a=K(),"}"!=a;c||(c=!0))c&&(","==a?(a=K(),"}"==a&&J()):J()),(","==a||"string"!=typeof a||"@"!=(t?a.charAt(0):a[0])||":"!=K())&&J(),b[a.slice(1)]=L(K());return b}J()}return a},M=function(a,b,c){var d=N(a,b,c);d===g?delete a[b]:a[b]=d},N=function(a,b,c){var d,e=a[b];if("object"==typeof e&&e)if(h.call(e)==r)for(d=e.length;d--;)M(e,d,c);else f(e,function(a){M(e,a,c)});return c.call(a,b,e)};k.parse=function(a,b){var c,d;return F=0,G=""+a,c=L(K()),"$"!=K()&&J(),F=G=null,b&&h.call(b)==n?N((d={},d[""]=c,d),"",b):c}}}i&&a(function(){return k})}(this)},{}],48:[function(a,b,c){function d(a,b){var c=[];b=b||0;for(var d=b||0;d<a.length;d++)c[d-b]=a[d];return c}b.exports=d},{}]},{},[1])(1)});
\ No newline at end of file
similarity index 57%
rename from public/app/f3572dd3.vendor.css
rename to public/app/67dd0d05.vendor.css
index 3567778..2c49360 100644 (file)
@@ -1,8 +1,8 @@
-@charset "UTF-8";/*!
+@charset "UTF-8";.label,sub,sup{vertical-align:baseline}.btn,.btn-group,.btn-group-vertical,.caret,.checkbox-inline,.radio-inline,img{vertical-align:middle}body,figure{margin:0}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.pre-scrollable{max-height:340px}.bootstrap-select.btn-group .dropdown-menu .notify,.form-control-feedback,.steps-indicator li.current,.steps-indicator li.default,.steps-indicator li.editing,.ui-grid-cell.ui-grid-disable-selection.ui-grid-row-header-cell,a.btn.disabled,a.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.disabled,fieldset[disabled] a.btn,fieldset[disabled] a.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button{pointer-events:none}.fa,.glyphicon,.icon-emoticon{-moz-osx-font-smoothing:grayscale}.colorpicker-visible,.colorpicker-visible .dropdown-menu{display:block!important}colorpicker-saturation{display:block;width:100px;height:100px;background-image:url(data:image/png;base64,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);cursor:crosshair;float:left}colorpicker-saturation i{display:block;height:7px;width:7px;border:1px solid #000;border-radius:5px;position:absolute;top:0;left:0;margin:-4px 0 0 -4px}colorpicker-saturation i::after{content:'';display:block;height:7px;width:7px;border:1px solid #fff;border-radius:5px}colorpicker-alpha,colorpicker-hue{width:15px;height:100px;float:left;cursor:row-resize;margin-left:4px;margin-bottom:4px}colorpicker-alpha i,colorpicker-hue i{display:block;height:2px;background:#000;border-top:1px solid #fff;position:absolute;top:0;left:0;width:100%;margin-top:-1px}.colorpicker,colorpicker-alpha{display:none}colorpicker-hue{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAMAAABw8qpSAAABLFBMVEUA/z8AuP//JAAA/33/3AAA/1ABAv8A/7r/AH7/jgD2AP8A//j/AEHmAP/XAP/HAP+4AP//ALyoAP+aAP+JAP97AP9rAP9cAP9MAP8+AP8tAP8fAP8PAP8ATv//AG7/cAD/vgD/APoAmv//ADH/AKwB/wMA5//4Eg4AL///AOr/UQD/nwAA/27/7AAA/+kAe/8Ayf8A/5sA/zEA/6z/ABEAEP8A/17/MgAA/9n/ACL/gAD/AJ0AXP8Aqv//AMoA/yHqFBb/zAD/AGD/ANsA9//1/wDk/wDV/wDF/wC3/wD/AI2m/wD/FACY/wCI/wB5/wBp/wD/YgBb/wBK/wA8/wAs/wAd/wAN/wAAPv8A/xH/AFAAi///rQAA/8r/+gAA1///QwAAH/8Abf8A/43c/JNGAAAAiUlEQVR4AQXBg2EDAAAAsMy2bds2ttp2+/8PTby79mDLsKJPq/oFPdk24dWXAxsGjRg1ZtykKdNmzJozb8GiJct63WjYl7fiWdOZkk0vOpyr2fVtyKl7FX2uXGjpcuxWDy69KdiRk5WRlpIUFxMVERLw78+vH1Unun1YV3ZkwKM1CYfq7nQK22sD03ITV2Aqp0IAAAAASUVORK5CYII=)}.colorpicker-color,colorpicker-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAABkCAMAAACIElGlAAADAFBMVEUAAADT09PT09P////T09P////e3t7q6urT09Px8fHT09P////////T09PT09P////////T09PT09P////////////T09PT09P////////////T09P////T09PT09PT09P////T09PT09P////////////////T09P////T09PT09P////T09PT09PT09PT09PT09PT09P////T09P////T09PT09P////////////T09P////T09P////////////T09PT09P////T09P////////////////////T09P////////T09PT09P////////////////////////T09PT09P////////////////////////T09PT09P////T09PT09P////////T09P////////////T09P////////T09P////T09P////T09P////T09PT09PT09PT09P////T09PT09PT09PT09PT09PT09P////T09P////T09PT09P////////////T09PT09PT09P////T09PT09PT09PT09PT09PT09PT09P////////////////T09PT09P////////////T09P////////T09P////T09PT09PT09P////////T09P////////T09P////T09PT09P////////////////T09PT09PT09PT09P////T09PT09PT09PT09PT09PT09PT09P////T09P////T09PT09PT09PT09PT09P////////////////////////////////////T09P////T09P////T09P////T09PT09P////////////T09P////T09P////T09P////////////T09PT09P////////////////T09PT09P////T09P////T09PT09P////T09P////T09PT09P////T09PT09PT09PT09P////T09PT09P////////////T09PT09P////T09P////////T09MQsm1FAAABAHRSTlMAgJN8/vcDAfcCnJyGaZmZlomGk4yJOmM/eTxs8wY0YDFC7HNdLx18n5/7aUvzCcW9+qKiK8P0ZiltRwfdw/n8Px3WduJjItj78ss5PDHUNELbwP5wplA2FglEVwvkqNarCs4Z7b2sDLgQ0xNdyLrr0eLLUeW1Vs5TWQLwjPI3ZvQGdvxFyFrAeevaLCLvGd0kpRskGyf4qK605xKvFrGyDRHnBYMEkJaDkIBvB/gpH99O6CrbIC4nH3Lg2SXp4A7Qul/GDEgPSlMQ6LjqFU0SjyCCj5V/gnBN7xglL3O70WBU7gjFFEfft0sPTo1ndRipwXr2yRemWRVENq+ytbGuxGaWGQAAAnpJREFUeNpNxmdcDHAAxvEHOWXvmXX23ntv2XvvMg/Z44x0KaRBSnfcKSqlnYZKp1QqGpT20KZh783/eePj+3vzw3/q/AM9iURPTy6XS+RwcXNzcZMQTE1dTE3bE7y9S0u9xxD600rCGtpI2ErOsbGxzoiMrIqscnaOi4vDdnp4XYSrguwxQSb7KpMllycnl2MFaTSaTxrY5NrY5BoKb2BnZ2doZ29vb2OPSdSd4Bcc7OcXGhqamgqrYCsrq+mEiEtC3gUBDg55Dg53IkQYSYG+gb6+GEqB5wV0o5D8/JAQdKK5hA40n3BS+L6c0JJmE+ZQW8JEak1YQJ0Jq+jbaQEPnotGE+IrK+Pj+xKqU6pTUrIDAgKysZ+WEY5QQkJxcQIO0WrCUbL4YmFhgZ3UlVAUHR1d1JEwjVoRRpDJKxMTE/ShBoRR1I6whLyyvLyyUFAQFhbWhTCFFArFawXOCu/bEHpQLYKnZ0aGZw2CR1qah0dmpqurK+pTU0ILakJoTi+PC7j5RHTrqQg1qRkh3T3d3b0xoSE1ItSleoSe1IswmIYQPl8UlhLWkaOj41tHbKENBLX6j1qt/KFUKnFN+Onk9NvJCQdJpfqlUqGiIjExcRthN91/JsJmGkhYRO/OCBhHwwgxMWUxZQMIu8j8o7m5OfbRLMJh2kTYQ1FRhYVR2EHzCOtpMmEG3SUsJEvLoKAg2Prb2tqOJYSH+/uH33shwlTaS1hLBwhX6AYX2tuiRwStVntOa5yUZJwEqbREKjUi5Bjl5BhZW1uXWOMYGRBOnNDX1zfoxz1FwwkfSJfgo6vr41P7soBBNJ7Qm2YSzHTMzMwmEHRoMf0Fm5mYOUrzNBYAAAAASUVORK5CYII=)}.colorpicker{top:0;left:0;z-index:9999}.colorpicker colorpicker-alpha,.colorpicker colorpicker-hue,.colorpicker colorpicker-saturation{position:relative}.colorpicker input{width:100px;font-size:11px;color:#000;background-color:#fff}.colorpicker.alpha{min-width:140px}.colorpicker.alpha colorpicker-alpha{display:block}.colorpicker.dropdown{position:absolute}.colorpicker.colorpicker-fixed-position{position:fixed}.colorpicker .dropdown-menu::after,.colorpicker .dropdown-menu::before{content:'';display:inline-block;position:absolute}.colorpicker .dropdown-menu::after{clear:both;border:6px solid transparent;top:-5px;left:7px}.colorpicker .dropdown-menu::before{border:7px solid transparent;top:-6px;left:6px}.colorpicker .dropdown-menu{position:static;top:0;left:0;min-width:129px;padding:4px;margin-top:0}.colorpicker-position-top .dropdown-menu::after{border-top:6px solid #fff;border-bottom:0;top:auto;bottom:-5px}.colorpicker-position-top .dropdown-menu::before{border-top:7px solid rgba(0,0,0,.2);border-bottom:0;top:auto;bottom:-6px}.colorpicker-position-right .dropdown-menu::after{border-right:6px solid #fff;border-left:0;top:11px;left:-5px}.colorpicker-position-right .dropdown-menu::before{border-right:7px solid rgba(0,0,0,.2);border-left:0;top:10px;left:-6px}.colorpicker-position-bottom .dropdown-menu::after{border-bottom:6px solid #fff;border-top:0}.colorpicker-position-bottom .dropdown-menu::before{border-bottom:7px solid rgba(0,0,0,.2);border-top:0}.colorpicker-position-left .dropdown-menu::after{border-left:6px solid #fff;border-right:0;top:11px;left:auto;right:-5px}.colorpicker-position-left .dropdown-menu::before{border-left:7px solid rgba(0,0,0,.2);border-right:0;top:10px;left:auto;right:-6px}hr,img{border:0}colorpicker-preview{display:block;height:10px;margin:5px 0 3px;clear:both;background-position:0 100%}/*!
  * Bootstrap v3.3.5 (http://getbootstrap.com)
  * Copyright 2011-2015 Twitter, Inc.
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */.label,sub,sup{vertical-align:baseline}.btn,.btn-group,.btn-group-vertical,.caret,.checkbox-inline,.radio-inline,img{vertical-align:middle}hr,img{border:0}body,figure{margin:0}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.pre-scrollable{max-height:340px}.btn-group>.btn-group,.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.dropdown-menu{float:left}.bootstrap-select.btn-group .dropdown-menu .notify,.form-control-feedback,.steps-indicator li.current,.steps-indicator li.default,.steps-indicator li.editing,.ui-grid-cell.ui-grid-disable-selection.ui-grid-row-header-cell,a.btn.disabled,a.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.disabled,fieldset[disabled] a.btn,fieldset[disabled] a.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button{pointer-events:none}.fa,.glyphicon,.icon-emoticon{-moz-osx-font-smoothing:grayscale}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{color:#000;background:#ff0}sub,sup{position:relative;font-size:75%;line-height:0}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}code,kbd,pre,samp{font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}.glyphicon,address{font-style:normal}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{blockquote,img,pre,tr{page-break-inside:avoid}*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999}thead{display:table-header-group}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}.btn,.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-warning.active,.btn-warning:active,.btn.active,.btn:active,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover,.form-control,.navbar-toggle,.open>.dropdown-toggle.btn-danger,.open>.dropdown-toggle.btn-default,.open>.dropdown-toggle.btn-info,.open>.dropdown-toggle.btn-primary,.open>.dropdown-toggle.btn-warning{background-image:none}.img-thumbnail,body{background-color:#fff}@font-face{font-family:'Glyphicons Halflings';src:url(../assets/fonts/glyphicons-halflings-regular.eot);src:url(../assets/fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../assets/fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../assets/fonts/glyphicons-halflings-regular.woff) format('woff'),url(../assets/fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../assets/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-weight:400;line-height:1;-webkit-font-smoothing:antialiased}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before,.glyphicon-btc:before,.glyphicon-xbt:before{content:"\e227"}.glyphicon-jpy:before,.glyphicon-yen:before{content:"\00a5"}.glyphicon-rub:before,.glyphicon-ruble:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.form-control,.ui-grid-pager-control input{-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}dt,kbd kbd,label{font-weight:700}address,blockquote .small,blockquote footer,blockquote small,dd,dt,pre{line-height:1.42857143}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}pre code,table{background-color:transparent}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}dl,ol,ul{margin-top:0}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child,ol ol,ol ul,ul ol,ul ul{margin-bottom:0}address,dl{margin-bottom:20px}ol,ul{margin-bottom:10px}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.container{width:750px}}#ui-grid-twbs #ui-grid-twbs .btn-group-vertical>.btn-group:after,#ui-grid-twbs #ui-grid-twbs .btn-toolbar:after,#ui-grid-twbs #ui-grid-twbs .form-horizontal .form-group:after,.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.colorpicker .dropdown-menu::after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.dropdown-menu>li>a,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after,.ui-grid-clearfix:after,.ui-grid-footer-canvas:after,.ui-grid-header-canvas:after,colorpicker-preview{clear:both}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;color:#777}legend,pre{display:block;color:#333}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}code,kbd{padding:2px 4px;font-size:90%}caption,th{text-align:left}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;-webkit-box-shadow:none;box-shadow:none}pre{padding:9.5px;margin:0 0 10px;font-size:13px;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc}.container,.container-fluid{margin-right:auto;margin-left:auto}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;border-radius:0}.container,.container-fluid{padding-right:15px;padding-left:15px}.pre-scrollable{overflow-y:scroll}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}caption{padding-top:8px;padding-bottom:8px;color:#777}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset,legend{padding:0;border:0}fieldset{min-width:0;margin:0}legend{width:100%;margin-bottom:20px;font-size:21px;line-height:inherit;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}.form-control,output{font-size:14px;line-height:1.42857143;color:#555;display:block}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}output{padding-top:7px}.form-control{width:100%;height:34px;padding:6px 12px;background-color:#fff;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.bootstrap-switch.bootstrap-switch-focused,.form-control:focus{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control:focus{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .form-control-feedback,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.form-group-sm .form-control,.input-sm{padding:5px 10px;border-radius:3px;font-size:12px}.input-sm{height:30px;line-height:1.5}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;line-height:1.5}.form-group-lg .form-control,.input-lg{border-radius:6px;padding:10px 16px;font-size:18px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;line-height:1.3333333}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;line-height:1.3333333}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center}.collapsing,.dropdown,.dropup{position:relative}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .form-control-feedback,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .form-control-feedback,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-control-static,.form-inline .form-group{display:inline-block}.form-inline .control-label,.form-inline .form-group{margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.33px;font-size:18px}.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary.active,.btn-primary:active,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success.active,.btn-success:active,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info.active,.btn-info:active,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger.active,.btn-danger:active,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu-right,.dropdown-menu.pull-right{right:0;left:auto}.dropdown-header,.dropdown-menu>li>a{display:block;padding:3px 20px;line-height:1.42857143;white-space:nowrap}.btn-group-vertical>.btn:not(:first-child):not(:last-child),.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn,.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{font-weight:400;color:#333}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-left{right:auto;left:0}.dropdown-header{font-size:12px;color:#777}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.nav-justified>.dropdown .dropdown-menu,.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn .caret,.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.nav>li,.nav>li>a{display:block;position:relative}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center;margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0;border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-justified>li,.nav-stacked>li{float:none}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar{border-radius:4px}.navbar-header{float:left}.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.embed-responsive,.modal,.modal-open,.progress{overflow:hidden}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}.navbar-static-top{z-index:1000;border-width:0 0 1px}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}.progress-bar-striped,.progress-striped .progress-bar,.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}@media (min-width:768px){.navbar-toggle{display:none}.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin:8px -15px}@media (min-width:768px){.navbar-form .form-control-static,.navbar-form .form-group{display:inline-block}.navbar-form .control-label,.navbar-form .form-group{margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.breadcrumb>li,.pagination{display:inline-block}.btn .badge,.btn .label{top:-1px;position:relative}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-radius:4px 4px 0 0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{padding-left:0;margin:20px 0;border-radius:4px}.pager li,.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:3;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.badge,.label{font-weight:700;line-height:1;white-space:nowrap;text-align:center}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;color:#fff;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;color:#fff;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.media-object,.thumbnail{display:block}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.jumbotron,.jumbotron .h1,.jumbotron h1{color:inherit}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;background-color:#eee}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.alert,.thumbnail{margin-bottom:20px}.alert .alert-link,.close{font-weight:700}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.modal,.modal-backdrop{top:0;right:0;bottom:0;left:0}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-striped .progress-bar-info,.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.bootstrap-switch,.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.panel-heading>.dropdown .dropdown-toggle,.panel-title,.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-title,.panel>.list-group,.panel>.panel-collapse>.list-group,.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-title{margin-top:0;font-size:16px}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel-group .panel-heading,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.modal-title,.tooltip{line-height:1.42857143}.popover,.tooltip{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;line-break:auto;text-decoration:none}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal{position:fixed;z-index:1050;display:none;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-size:12px;font-weight:400;text-align:left;text-align:start;white-space:normal;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.carousel,.carousel-inner{position:relative}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px}.tooltip.top-right .tooltip-arrow{left:5px}.popover.left>.arrow:after,.popover.right>.arrow:after{bottom:-10px;content:" "}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow,.tooltip.bottom-left .tooltip-arrow,.tooltip.bottom-right .tooltip-arrow{top:0;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom .tooltip-arrow{left:50%;margin-left:-5px}.tooltip.bottom-left .tooltip-arrow{right:5px;margin-top:-5px}.tooltip.bottom-right .tooltip-arrow{left:5px;margin-top:-5px}.carousel-caption,.carousel-control{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);text-align:center}.popover.right{margin-left:10px}.popover.left{margin-left:-10px}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{left:1px;border-right-color:#fff;border-left-width:0}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;border-right-width:0;border-left-color:#fff}.carousel-inner{width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px}.carousel-caption .btn,.text-hide{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.hidden,.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;background-color:transparent;border:0}.affix{position:fixed}@-ms-viewport{width:device-width}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}.hidden-lg{display:none!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}}.ng-cloak,.x-ng-cloak,[data-ng-cloak],[ng-cloak],[ng\:cloak],[x-ng-cloak]{display:none!important}.adf-move{cursor:move;cursor:-webkit-grabbing}.edit .column{min-height:120px;border:1px dashed #ccc;padding-top:15px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}pre.edit{margin-top:15px}.column .placeholder{opacity:.4;background:#E8E8E8;border:1px dashed #505050;margin-bottom:15px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.dashboard-container h1 a,.widget h3 a{text-decoration:none}.padding-bottom{padding-bottom:5px}.adf-flip{-moz-transform:scaleX(-1);-o-transform:scaleX(-1);-webkit-transform:scaleX(-1);transform:scaleX(-1);filter:FlipH;-ms-filter:"FlipH"}.dashboard-modal.widget-fullscreen .modal-dialog{width:98%}.clock{text-align:center}.clock-time{font-size:3em}.clock-date{font-size:1em}iframe{width:100%;height:100%;min-height:400px;border:1px solid grey}.colorpicker-visible,.colorpicker-visible .dropdown-menu{display:block!important}colorpicker-saturation{display:block;width:100px;height:100px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAFJhJREFUeAGMU+/q4kAMzFYf4LgP96a+q4c+gSIqxf/r5maWDoTgz15gmM0kW5uMLa21v2b2G6jAG2iEzqUU6q5c/OlMuHtL/ULNd5TP6EJ1RP7NuXvKE397jmbg7MrzHI748T1UA3eopyGQV2qK1+vVHo/Hm1itVm0J7Q+afwGMmgeRphf7Noh6lCeuHJAvm/X8rAQNlw2VScoj6863OQjl2ZB3qkeu5Lh0RJ3qynuNjJA21FppQAHa8/l83263No5jOxwOttlsbL1e2xIXXpMZzzRsXoTw34bQgLiQbKh6M9SXDBSypn4XGOSkGUO1cJdn1Yh4/qYVgctmGSwXyARNcOSFRuBMHvA1GMzwy+Vix+PRdrvdYrvd2vl87oZYDCxBL9B/jEyopghzlNjL0DlB+gAoPNXyOfa3oA9puXonyVHzdH+g9MEISa5z0qUNkwkm6MJkxALg8mlMAxvNwBfhYLvf7w50vl6vBV9H2e/3BjYateQDY8gM5bmWovygdyEb87k/G5Zz9c/2zfEQFysO5nDJ6mMel91Z//pwFpygIWIaMXE3AoYssPBCI/B12DiONMT5VZxOJ0f+j/MyWo5chYGowfn/j03lNXBpl85Up8d46u6DChBMvKv2UePrrAsChtdLTi73oEBjFDYpmIp/KSgRhRw357sXuHLknRgI8d90F8QL761oI8iQeJqvUOGnAoEkgNblF13iiJASZCwhLkG+v7/Halvt5+enr7x+02lZOwKymJ7jMAXK32RxaXnNxfXzCOkCxTO2I3NiR0i9gAjQLLoVHkKG8pCi0UT4Q0h5xUFIlBJEYmg+1yg6TrUq+YfEWKK0lWsSS8+DkNvCWtvJXu0UbDyH/NYjoDHFybPd/cPeficiW5LvkVdBNY4UoIqOQMwPBXm9vUYIVCj3GkXCCo1tRS//uMhYoVG3q46HaBQtamESTs/+0o92hOTaBbqjBwpu8reCuzAP4rkXpQBzQwbhZxD7jNYEAS4CI2Rg4hLitPUor2hGh6j4hQ5FfWt8LQF+SwyJIpGUV05nu56VHqJhR8ybb+Q+/dnPYZYSigIICvY3xfYxCckz/qazprjDiFJ+5DWVwscaMpSDgkleI2uutaKk5kPFNTqO8pBDlBQZEqKvoJXp7+lxzx7Cuoqp2M7zlrm5JbH/9oZ/GLdzBGf9FNmmvPi+h2FXnm8L5WhdCMJNyr1D6yvKP1rFQYgSjWpteE0JMraEME8ykpzo/0/+wcg5yGHMooegQYIRyXU1i52tCSfn9oSQFH+Fe4jypxs3RHA+xNCcNUZ+BXRg7iu0lhgDAesisSfE6UA0iudz9sNHKChek5eBX9a+FwKkKQ+Nd6JljkLX6B4x2L8hhHOsVdhR4iHEEe1LeWJCSI2tCo9AU3OIKHGgbupv6NvyRciGgMzPPLP5LmhPdKTx8qgSWIXxVkZx8QJihmCvPP8nE6IRXniKT9GThhKF0QkZal3KQYcLgn+s8YwWJiNnLVL4mOz1b+4piM8/+YYb8xNlLoASXqC7c9DCOokhl4RAKgSkCNM9wklBOPL4BIJoblQggsb8Km9W/IlIJkKrPN4xEETPwtS3hczrp8//pxmzpoUIBfeSO8r8/OE59wgTIsnIb4yBj7Cft6pYI8Sbh5TBD749IANSlKPgJQQmrr0uUfjbCnlV/V9OCfLpDc9b0nw4x3bznAbWFAyfUeBLEIhA3uaCKifFyUBg8pg+Ro8nOCVOintKoy0xj5bFvhNCQMAfoUqgc8UwMRot8dWy/qPcDHQk5XkgOPD97//Gl/xC2kKlkhl2V4pMQmAON+22E+4XgIzMKYMSmp7S0ymTcpYEYM6eVjKlJV25HgYguZ6lD1hR4S4byoxRwMUQjm87MYVxrW19nCqbgTD4kSEde7FlxcF4tKDCPu41lBUKa7tjgGuHJuPCwpBPdcONuVTiMEMgbPpugJE0+GIRusL+yD9qGhrP05ClFHfOuppZeV4ZkgyJdJc3dkxh0+8YDBpbsyuxrXYzV4VfmJLFwxdAEq7azIj9Yw9AuUCjEL3I7pD1xgo0BPv5Y2U9MCBvegpGxq9/vK7BftOQssP3ueL+HfJwLkAqVLlgPH9CF7phgMoKj/X8EjiNCtGQHzFU9mM7gsR8W/5wkuZ9ZUKBcYuWdE3qU2YYqLIllfo5aog2m2haKnlsvP30YUHO+3f9Yu2GrNpW2rYV8id2bM/9KxBPc/QgZQT9AlotQRtgSls1pIDADvo+3hL0bXBU0yxqG4Fx2ZshdXSBaEjZYtIdh/uxQDOrpMV/Biatjj8nzRgq8p0Ud6w9fAwwe+9mSJPWUMWzPG+A21ZWG45nhoQp1RdaBZ1WYDteUQ4gffvH1jomTHlkxk9GTDi5AS0YAODxMoRjMiqsjq/MyqvFFJX9buv6+18Y8mwDyFRH7Dj+T1rBtYivRV1v9mHtiKhfD10QrRFdsxor9Z4bgChAtF22fLsv1sfsGL4B0grazi9DygpagZ0A2s2WBMBmLn0de15D11KG5WSAvh20rB92fEIVwk0jdV2qPdyWr4mYuw75NMua7FFtmZxbkN7qi4DSFgaqQjc75GwDwbgBMkMMAPfD6cR1wpl1o7GftDhMMSPaFmm05+Tv/HWW9aQXbMfiBAZ4cNLdnz6hyAyj7ki9oQYYqdYd4h405JRwXs4DhLKozKhzG65449eQ4i5nX2LKXYjCVDcWF58Y0uJvj2EpY2VN79NzjHlVF8E1M2JZxOzW62rIEhhlywoAMMhrS8dFBJhgMJx5aRxg/fv9rSW9WN7LeQxZPn4bo6ExYgppsWNkQIt2pOAU8DAK8Oh/yK7ECM8pCAboJDTRFNsJQ3ZkBdtFXgV+A5qAEasl4sk2WxjOzn9PY6sZ1ZxJD/p9FMwoc1pjLNhEbLd2eX2Kpv6Y+aSCn8OUxhqyGBOwS9fxUiwDPIXfZw2JeNs+hS2/2R6r2Lfv+S/ivt3PG7eHh3S/52EDDD0j5h9rStliJiQLc5/fW9wP0PNcfB77nmVpX6Js2WaOQwb9OrXLJ9UMz7UmuJaAQj7fjxi6V97wIGftsqVMwcGZN2ZTL30fr7IYkL4xpG/9Y9bV677pUYXfrHk5tzuvoS1aRPX9ScV+3+Mn1FU7YMR6GT8LEP38xs2OyzVZRjIz9mWrIV2lTYo6LLk3BKXGKCM47jycKCb4zb4GzBi0g3Ec0a9OsBVQQsp+YwTjo+Mr9C/MQluIJmIkYYvvzpL2RhuiKT1uttTrK+q74p8siUsR64/nlS3XedcfZgY6kfUsv/FOUZfOlwGTfjyPCxjrRDbCvMLr4vCc9kN26pBR7H8KuW0wHZrkYCzj2+z5WbPCoZM2rISeEwop48KRZdhiPtmYLXNSyZs91YAeH06dow/Vpg3o+W9a/hbgPI5jTnvdx5YxZUbrCY1V7De22qProHXrDL/9B8dlHIuM3QQqUxL7d/pLyyqrzKlV6/2O/F/GBXP6ochjYdiKvQ4saA1ddlTvY/bEkY9Wa1iLkEN2JVavOhxHRlvqMF/XAnEVOJgXy3fAhCgY0N8bC0Nnpl8Lw/bt2LnCnsENO6o5r7bMcn2hONzQswSK2WVbphBy2kcjGqqWNRJQfU6ALwFgHTlo41pWWaE+O4V2zuhYZ1jYinTnvVmcC0Oclck+MgTH1jZU9Ty/VWaUIS42JwFPpkiWyDiZafZDygiJTseTIrc/g5v1qYQ6kgVnT48A+bztNN774MD2U8kDphjxaP18nyGzZBGUh7Y9L1uGvIp6Mq3EePVl7Xxf2/pE9gWI2KTFX2J3xx8Z0jWvnv+VhaG6tr8vkccerdTfdvhaXzTlLUM8t6HNIa9a4DfuDYgCWEaUCQ5jBcz2YI43lgqsrRi21F+pRThPhW5NvqLDK0Nw5E7RV7DKjDreX69/ZVY14wGQ8+HN733OxHGci9MKTBlkMNCSMqJA/udFzgg5IWqXKW9pbwvDu9VxFIjREGtHAS1w7rs4bcXtpIEV1t7H9QdgfmPIGrTmKDAW+gmIFHxNaRl3iCKEvYcsjuPAgTEzQ5zO2SHY3q+FX98oqti8casANPRxL19nx34JWZ9XQJ4r+uOLpmwxZxGyZF8Bcb9lf+dUR0zZgjwCigMKmGltbXG/SzZmUzQlxzMzGCdcmVUDEH3OijXp7k5StNVSh7xnV6Nju98+MaTMaMjK+b7xCy2gD1vk+G54eVxM6PEzM2TLqjJk3IdR/4iG7RSF+y1klQk4jqGvb/h4n6TBQwHZ77GYE0alLzZOTOl1+ShiFvUyBYRJIvSC1PFPfYemMoW+EpWXtaznArCLitWSnX6BKnPOLkTWIT/3vB3SEFemqF+m0Bh7ZIoY13m7IfmhfyxNzsu90j/f65Bn5hSoMSHIvPE+nptWAKesbWRY6xJax/NG30AnvS4AAPkVEOuDmHBk3KJ+dsewIt41+3t8+kqRB85Sy82QAmZmpGrfGnfqejZrKlP8Rv+GIZ0nnWi/Ys74kWzs6Ly7INTfYvA4CshcGL6wpSJ8I1/GtLCs9ji0lQG+vgzBOkmInRh2a0Y1If0DYPmr5vTPwIv9hCWPXyBcjUGL+n+PhWEdL9Rhi390Wv2lxeHRjGZbYR0Os7DWgb0f15VVzPd5XVcgClAZ41se8uE/3efT7Eq7oQXk7xpSB3NcrfAYzGmFLUAL1MwYtabPjBeYXhcAAGolA3vSjJkZ88Zdx6+/pzrEaf35x9XeODgANYTlPox167cOfmJMAbnv4+1QGNA6pAwpg8qInhdAPa4GFTjrKQi5XSAsjrsf0qWSb3sjm+M4vQz5fNEaA1TGTMxo9vVu2wIATgWozlfavegXZJ7h/+3dYY7cOA7F8VQnu/e/5u4dtnqRwThD/KA/ywU0Jl9GQGCZkl0yHx9JSW4nGPRxKXuA8RzG/BygfJchBtujW5Ipzso9R5HGA998fC7MCMX2kYyrC+mrwd9z7+n5ZIMM9bODV8kYUjuEoeTPAyPemVxq0feB+cJ/xJYuKj3qFoL3r0khi4uHLEvLJwitTGlA4pz734whA7A+ElO05MEer2vLt9hPRgoQcVQmBUM6oNf7VxPlOXudyl7AYEI3Yk0z4TOYxXyEVDliCvOZp+NH8cmAEXNmevVk1p7fpr89MZyKP1l9xZIXzPmIdPmkkLlrqEL8bpbu8XUBJOTT+psdPAvPMV1LAnOlvgkIfyPoPsjxMxquUV2ncX/do65KmSvOriY70XSF2OecL0A7Yf08eYKMJeiHuFq7hE+A2V3WUGgE7sEKGHFjTuNKwAfp8HPGLRUA4N+GAv8QaOkqr91Yl9E+ActMDb059ktX92PIolQB+Hx9Ta9voeB8y/4A9mmCqjyzMvY5PhjHMchf7REHZNH15xSTIfafLss/R2hABEKmtPK5VwPszNms7xOwLB8VM5RrqZbprier+Ei/cncBZYzxQkCaIdv+uUvr9Mm3ViKmPIwBk0GAL7N0mRFjWh6z/+d0oRrAVGTMMSZwMwP9dOvW6077IcWUufB3cjnXUspxM2l+YvZwf2PHtFI+vEm/YMbhvGIJ/SI7Q4kyJGJVsk9mjIniD7Os27GEPjLiaLE323Nyimu85GXtMhM3kvs3F8BPsr+NISPNpR0WhKuaxvkSkIeu5PpW1rWqSrvnMqn+nvE4TxkymeA5zOnzcZnn34whtD281rb511sX+5mTPGVmrWWZP1vPd31Xix+gvMGcEwO9RycRvdFm7DH1TMB1VbqnQ1enDMYUWfNwtRelN1Nc32KVuIBA3qlxj6GMpZlhPYB4VIzyt4JhFyN+nXs/FH8vy5p7HlMZIjwyiGNGtCluDOrElNXKG+gEeAcw5j4HVygTbBf4qfTt/V7rP+YX5a7B+S1FFxFBvSeMs06/zfVk3f0Zf98gbJJge9WV6bKW9hP7vG8EeHcMUYxKOLkvY4D+WoDGMQO9TAt31oC2mysDAqhwaWBmf5iTACADEPZDZMJunYJG8NU9IburyOhztPgyjOt4igUE+3xW2SCYm7IFPQJ6z9SvclKKD6tchS0uyz4F/gocYDcjPLaRnTBIVzaex+Mp/pxiyXMAknvq5bZOR/vLBhX0oH8r/v6xx6d27x8FAgU3a2RixRCSooshjxUQPyV+zGooKD+PBUSwLmVfAWa09bOgZ9zQAwZMr/AcR1n10mWlHzaoNrv6WAogdazY9iXHUalOt+8FsJ8nt49rHYAMlxWAzBRYBWbATdkAVIujr22vLNd4Z+Z253pdh8quMQuMCp4NHUcA5PjWieDAjqByANJ1gRV0AcQ0yfioe6Rpldm2M6d/WuVHW7isUJ5lUV4yQ5mgC2y4SYGq/t5vjU8b4xmDynxo/TIi6iX7fgRk/ueQbrSMPY+rbrawAlfgFLA1nylSAHRbbjDj/n36ehk8ZBPome5eRZfV8w/lo+hK7Huso1TqgDkskvoat+L/X3QsGoDM2tHouKDcJmPWeT9kobMvXc+dwrkOhtJeK/Nm/XEXaCx01ssAWtc99rUOAJ6Uu/srhrQyWgn2g4K6GOvZL5TBwwSA742/x7ijZF3F7tfNUi7Lh5grvwbisoxwYReZamaf9VC8cWhVsAuV4Y5oYyaNcdAuoPa1TcPQZX3v/y16+N55kyFTGQIxNLcDpwIvFKe7cU7keHd2VMxrhR+Y+WXnx+xsrPbm4Mf+eTMn1mYGaFrjptDj/ZmkmjaXVWv19slxkTXJynCvnIdL8zdZOnn83A9ZFSTAB4VsSpGmyipunCjuGN9liwzZs8ddwQVEyzeyuGPYD7APuOS6o7aO9xWo/P3fbrnF8e5y2+7Lnamvyg8GKNeKog2m2NaW+SjwLCQhlr5/M6DamjnNlAbJLKtBaQZU226Ru2KbCe+Ph6Tk3THb/v5zaRQ7yz4M6usa1HywJU50n+7bgb4Z0sC2XIa8P56+JvvuWHTaa6kgbLn7ELvV9bU76A0+hpTKuh3PoryDwKvrflwx5F/1IMaK9wrK+h3ltf/+bb8d5d8/XdZ//txS/N9hxfdvGNg/ZQT1//4fih7V/hdi/qwAAAAASUVORK5CYII=);cursor:crosshair;float:left}colorpicker-saturation i{display:block;height:7px;width:7px;border:1px solid #000;border-radius:5px;position:absolute;top:0;left:0;margin:-4px 0 0 -4px}colorpicker-saturation i::after{content:'';display:block;height:7px;width:7px;border:1px solid #fff;border-radius:5px}colorpicker-alpha,colorpicker-hue{width:15px;height:100px;float:left;cursor:row-resize;margin-left:4px;margin-bottom:4px}colorpicker-alpha i,colorpicker-hue i{display:block;height:2px;background:#000;border-top:1px solid #fff;position:absolute;top:0;left:0;width:100%;margin-top:-1px}.colorpicker,colorpicker-alpha{display:none}colorpicker-hue{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAMAAABw8qpSAAABLFBMVEUA/z8AuP//JAAA/33/3AAA/1ABAv8A/7r/AH7/jgD2AP8A//j/AEHmAP/XAP/HAP+4AP//ALyoAP+aAP+JAP97AP9rAP9cAP9MAP8+AP8tAP8fAP8PAP8ATv//AG7/cAD/vgD/APoAmv//ADH/AKwB/wMA5//4Eg4AL///AOr/UQD/nwAA/27/7AAA/+kAe/8Ayf8A/5sA/zEA/6z/ABEAEP8A/17/MgAA/9n/ACL/gAD/AJ0AXP8Aqv//AMoA/yHqFBb/zAD/AGD/ANsA9//1/wDk/wDV/wDF/wC3/wD/AI2m/wD/FACY/wCI/wB5/wBp/wD/YgBb/wBK/wA8/wAs/wAd/wAN/wAAPv8A/xH/AFAAi///rQAA/8r/+gAA1///QwAAH/8Abf8A/43c/JNGAAAAiUlEQVR4AQXBg2EDAAAAsMy2bds2ttp2+/8PTby79mDLsKJPq/oFPdk24dWXAxsGjRg1ZtykKdNmzJozb8GiJct63WjYl7fiWdOZkk0vOpyr2fVtyKl7FX2uXGjpcuxWDy69KdiRk5WRlpIUFxMVERLw78+vH1Unun1YV3ZkwKM1CYfq7nQK22sD03ITV2Aqp0IAAAAASUVORK5CYII=)}.colorpicker-color,colorpicker-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAABkCAMAAACIElGlAAADAFBMVEUAAADT09PT09P////T09P////e3t7q6urT09Px8fHT09P////////T09PT09P////////T09PT09P////////////T09PT09P////////////T09P////T09PT09PT09P////T09PT09P////////////////T09P////T09PT09P////T09PT09PT09PT09PT09PT09P////T09P////T09PT09P////////////T09P////T09P////////////T09PT09P////T09P////////////////////T09P////////T09PT09P////////////////////////T09PT09P////////////////////////T09PT09P////T09PT09P////////T09P////////////T09P////////T09P////T09P////T09P////T09PT09PT09PT09P////T09PT09PT09PT09PT09PT09P////T09P////T09PT09P////////////T09PT09PT09P////T09PT09PT09PT09PT09PT09PT09P////////////////T09PT09P////////////T09P////////T09P////T09PT09PT09P////////T09P////////T09P////T09PT09P////////////////T09PT09PT09PT09P////T09PT09PT09PT09PT09PT09PT09P////T09P////T09PT09PT09PT09PT09P////////////////////////////////////T09P////T09P////T09P////T09PT09P////////////T09P////T09P////T09P////////////T09PT09P////////////////T09PT09P////T09P////T09PT09P////T09P////T09PT09P////T09PT09PT09PT09P////T09PT09P////////////T09PT09P////T09P////////T09MQsm1FAAABAHRSTlMAgJN8/vcDAfcCnJyGaZmZlomGk4yJOmM/eTxs8wY0YDFC7HNdLx18n5/7aUvzCcW9+qKiK8P0ZiltRwfdw/n8Px3WduJjItj78ss5PDHUNELbwP5wplA2FglEVwvkqNarCs4Z7b2sDLgQ0xNdyLrr0eLLUeW1Vs5TWQLwjPI3ZvQGdvxFyFrAeevaLCLvGd0kpRskGyf4qK605xKvFrGyDRHnBYMEkJaDkIBvB/gpH99O6CrbIC4nH3Lg2SXp4A7Qul/GDEgPSlMQ6LjqFU0SjyCCj5V/gnBN7xglL3O70WBU7gjFFEfft0sPTo1ndRipwXr2yRemWRVENq+ytbGuxGaWGQAAAnpJREFUeNpNxmdcDHAAxvEHOWXvmXX23ntv2XvvMg/Z44x0KaRBSnfcKSqlnYZKp1QqGpT20KZh783/eePj+3vzw3/q/AM9iURPTy6XS+RwcXNzcZMQTE1dTE3bE7y9S0u9xxD600rCGtpI2ErOsbGxzoiMrIqscnaOi4vDdnp4XYSrguwxQSb7KpMllycnl2MFaTSaTxrY5NrY5BoKb2BnZ2doZ29vb2OPSdSd4Bcc7OcXGhqamgqrYCsrq+mEiEtC3gUBDg55Dg53IkQYSYG+gb6+GEqB5wV0o5D8/JAQdKK5hA40n3BS+L6c0JJmE+ZQW8JEak1YQJ0Jq+jbaQEPnotGE+IrK+Pj+xKqU6pTUrIDAgKysZ+WEY5QQkJxcQIO0WrCUbL4YmFhgZ3UlVAUHR1d1JEwjVoRRpDJKxMTE/ShBoRR1I6whLyyvLyyUFAQFhbWhTCFFArFawXOCu/bEHpQLYKnZ0aGZw2CR1qah0dmpqurK+pTU0ILakJoTi+PC7j5RHTrqQg1qRkh3T3d3b0xoSE1ItSleoSe1IswmIYQPl8UlhLWkaOj41tHbKENBLX6j1qt/KFUKnFN+Onk9NvJCQdJpfqlUqGiIjExcRthN91/JsJmGkhYRO/OCBhHwwgxMWUxZQMIu8j8o7m5OfbRLMJh2kTYQ1FRhYVR2EHzCOtpMmEG3SUsJEvLoKAg2Prb2tqOJYSH+/uH33shwlTaS1hLBwhX6AYX2tuiRwStVntOa5yUZJwEqbREKjUi5Bjl5BhZW1uXWOMYGRBOnNDX1zfoxz1FwwkfSJfgo6vr41P7soBBNJ7Qm2YSzHTMzMwmEHRoMf0Fm5mYOUrzNBYAAAAASUVORK5CYII=)}.colorpicker{top:0;left:0;z-index:9999}.colorpicker colorpicker-alpha,.colorpicker colorpicker-hue,.colorpicker colorpicker-saturation{position:relative}.colorpicker input{width:100px;font-size:11px;color:#000;background-color:#fff}.colorpicker.alpha{min-width:140px}.colorpicker.alpha colorpicker-alpha{display:block}.colorpicker.dropdown{position:absolute}.colorpicker.colorpicker-fixed-position{position:fixed}.colorpicker .dropdown-menu::after,.colorpicker .dropdown-menu::before{content:'';display:inline-block;position:absolute}.colorpicker .dropdown-menu::after{border:6px solid transparent;top:-5px;left:7px}.colorpicker .dropdown-menu::before{border:7px solid transparent;top:-6px;left:6px}.colorpicker .dropdown-menu{position:static;top:0;left:0;min-width:129px;padding:4px;margin-top:0}.colorpicker-position-top .dropdown-menu::after{border-top:6px solid #fff;border-bottom:0;top:auto;bottom:-5px}.colorpicker-position-top .dropdown-menu::before{border-top:7px solid rgba(0,0,0,.2);border-bottom:0;top:auto;bottom:-6px}.colorpicker-position-right .dropdown-menu::after{border-right:6px solid #fff;border-left:0;top:11px;left:-5px}.colorpicker-position-right .dropdown-menu::before{border-right:7px solid rgba(0,0,0,.2);border-left:0;top:10px;left:-6px}.colorpicker-position-bottom .dropdown-menu::after{border-bottom:6px solid #fff;border-top:0}.colorpicker-position-bottom .dropdown-menu::before{border-bottom:7px solid rgba(0,0,0,.2);border-top:0}.colorpicker-position-left .dropdown-menu::after{border-left:6px solid #fff;border-right:0;top:11px;left:auto;right:-5px}.colorpicker-position-left .dropdown-menu::before{border-left:7px solid rgba(0,0,0,.2);border-right:0;top:10px;left:auto;right:-6px}colorpicker-preview{display:block;height:10px;margin:5px 0 3px;background-position:0 100%}.bootstrap-switch{display:inline-block;direction:ltr;cursor:pointer;border-radius:4px;border:1px solid #ccc;position:relative;text-align:left;overflow:hidden;line-height:8px;z-index:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.bootstrap-switch .bootstrap-switch-container{display:inline-block;top:0;border-radius:4px;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.bootstrap-switch .bootstrap-switch-handle-off,.bootstrap-switch .bootstrap-switch-handle-on,.bootstrap-switch .bootstrap-switch-label{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:inline-block!important;height:100%;padding:6px 12px;font-size:14px;line-height:20px}.bootstrap-switch .bootstrap-switch-handle-off,.bootstrap-switch .bootstrap-switch-handle-on{text-align:center;z-index:1}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary{color:#fff;background:#428bca}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info{color:#fff;background:#5bc0de}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success{color:#fff;background:#5cb85c}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning{background:#f0ad4e;color:#fff}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger{color:#fff;background:#d9534f}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default{color:#000;background:#eee}.bootstrap-switch .bootstrap-switch-label{text-align:center;margin-top:-1px;margin-bottom:-1px;z-index:100;color:#333;background:#fff}.bootstrap-switch .bootstrap-switch-handle-on{border-bottom-left-radius:3px;border-top-left-radius:3px}.bootstrap-switch .bootstrap-switch-handle-off{border-bottom-right-radius:3px;border-top-right-radius:3px}.bootstrap-switch input[type=radio],.bootstrap-switch input[type=checkbox]{position:absolute!important;top:0;left:0;opacity:0;filter:alpha(opacity=0);z-index:-1}.bootstrap-switch input[type=radio].form-control,.bootstrap-switch input[type=checkbox].form-control{height:auto}.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-label{padding:1px 5px;font-size:12px;line-height:1.5}.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-label{padding:5px 10px;font-size:12px;line-height:1.5}.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-label{padding:6px 16px;font-size:18px;line-height:1.33}.bootstrap-switch.bootstrap-switch-disabled,.bootstrap-switch.bootstrap-switch-indeterminate,.bootstrap-switch.bootstrap-switch-readonly{cursor:default!important}.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-label{opacity:.5;filter:alpha(opacity=50);cursor:default!important}.bootstrap-switch.bootstrap-switch-animate .bootstrap-switch-container{-webkit-transition:margin-left .5s;transition:margin-left .5s}.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-on{border-radius:0 3px 3px 0}.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-off{border-radius:3px 0 0 3px}.bootstrap-switch.bootstrap-switch-focused{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-off .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-label{border-bottom-right-radius:3px;border-top-right-radius:3px}.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-on .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-label{border-bottom-left-radius:3px;border-top-left-radius:3px}.bar-legend,.chart-legend,.doughnut-legend,.line-legend,.pie-legend,.polararea-legend,.radar-legend{list-style-type:none;margin-top:5px;text-align:center;-webkit-padding-start:0;-moz-padding-start:0;padding-left:0}.bar-legend li,.chart-legend li,.doughnut-legend li,.line-legend li,.pie-legend li,.polararea-legend li,.radar-legend li{display:inline-block;white-space:nowrap;position:relative;margin-bottom:4px;border-radius:5px;padding:2px 8px 2px 28px;font-size:smaller;cursor:default}.bar-legend li span,.chart-legend li span,.doughnut-legend li span,.line-legend li span,.pie-legend li span,.polararea-legend li span,.radar-legend li span{display:block;position:absolute;left:0;top:0;width:20px;height:20px;border-radius:5px}.toast-title{font-weight:700}.toast-message{word-wrap:break-word}.toast-message a,.toast-message label{color:#fff}.toast-message a:hover{color:#ccc;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#fff;-webkit-text-shadow:0 1px 0 #fff;text-shadow:0 1px 0 #fff;opacity:.8}.toast-top-center,.toast-top-full-width{top:0;right:0;width:100%}.toast-close-button:focus,.toast-close-button:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4}button.toast-close-button{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999}#toast-container *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#toast-container>div{position:relative;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-position:15px center;background-repeat:no-repeat;-moz-box-shadow:0 0 12px #999;-webkit-box-shadow:0 0 12px #999;box-shadow:0 0 12px #999;color:#fff;opacity:.8}#toast-container>:hover{-moz-box-shadow:0 0 12px #000;-webkit-box-shadow:0 0 12px #000;box-shadow:0 0 12px #000;opacity:1;cursor:pointer}#toast-container>.toast-info{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=)!important}#toast-container>.toast-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=)!important}#toast-container>.toast-success{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==)!important}#toast-container>.toast-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=)!important}#toast-container.toast-bottom-center>div,#toast-container.toast-top-center>div{width:300px;margin:auto}#toast-container.toast-bottom-full-width>div,#toast-container.toast-top-full-width>div{width:96%;margin:auto}.toast{background-color:#030303}.toast-success{background-color:#51a351}.toast-error{background-color:#bd362f}.toast-info{background-color:#2f96b4}.toast-warning{background-color:#f89406}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4}.toast{opacity:1!important}.toast.ng-enter{opacity:0!important;transition:opacity .3s linear}.toast.ng-enter.ng-enter-active{opacity:1!important}.toast.ng-leave{opacity:1;transition:opacity .3s linear}.toast.ng-leave.ng-leave-active{opacity:0!important}@media all and (max-width:240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container .toast-close-button{right:-.2em;top:-.2em}}@media all and (min-width:241px) and (max-width:480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container .toast-close-button{right:-.2em;top:-.2em}}@media all and (min-width:481px) and (max-width:768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}}.ui-notification{position:fixed;z-index:9999;width:300px;cursor:pointer;-webkit-transition:all ease .5s;-o-transition:all ease .5s;transition:all ease .5s;color:#fff;background:#337ab7;box-shadow:5px 5px 10px rgba(0,0,0,.3)}.ui-notification.killed{-webkit-transition:opacity ease 1s;-o-transition:opacity ease 1s;transition:opacity ease 1s;opacity:0}.ui-notification>h3{font-size:14px;font-weight:700;display:block;margin:10px 10px 0;padding:0 0 5px;text-align:left;border-bottom:1px solid rgba(255,255,255,.3)}.editable-buttons,.editable-wrap,.editable-wrap .editable-input{display:inline-block}.ui-notification a{color:#fff}.ui-notification a:hover{text-decoration:underline}.ui-notification>.message{margin:10px}.editable-bstime .well-small,.editable-wrap .editable-controls,.editable-wrap .editable-controls>input,.editable-wrap .editable-controls>select,.editable-wrap .editable-controls>textarea,.editable-wrap .editable-error,.form-group .bootstrap-select.btn-group,.form-horizontal .bootstrap-select.btn-group,.form-inline .bootstrap-select.btn-group{margin-bottom:0}.ui-notification.warning{color:#fff;background:#f0ad4e}.ui-notification.error{color:#fff;background:#d9534f}.ui-notification.success{color:#fff;background:#5cb85c}.ui-notification.info{color:#fff;background:#5bc0de}.ui-notification:hover{opacity:.7}.steps-indicator li a:before,.steps-indicator:before{background-color:#e6e6e6;content:''}.steps-indicator{right:0;bottom:0;left:0;margin:0;padding:20px 0 0;height:30px;list-style:none}.steps-indicator:before{position:absolute;height:1px}.steps-indicator.steps-2:before{left:calc(100% / 2 / 2);right:calc(100% / 2 / 2)}.steps-indicator.steps-3:before{left:calc(100% / 3 / 2);right:calc(100% / 3 / 2)}.steps-indicator.steps-4:before{left:calc(100% / 4 / 2);right:calc(100% / 4 / 2)}.steps-indicator.steps-5:before{left:calc(100% / 5 / 2);right:calc(100% / 5 / 2)}.steps-indicator.steps-6:before{left:calc(100% / 6 / 2);right:calc(100% / 6 / 2)}.steps-indicator.steps-7:before{left:calc(100% / 7 / 2);right:calc(100% / 7 / 2)}.steps-indicator.steps-8:before{left:calc(100% / 8 / 2);right:calc(100% / 8 / 2)}.steps-indicator.steps-9:before{left:calc(100% / 9 / 2);right:calc(100% / 9 / 2)}.steps-indicator.steps-10:before{left:calc(100% / 10 / 2);right:calc(100% / 10 / 2)}.steps-indicator *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.steps-indicator li{position:relative;float:left;margin:0;padding:10px 0 0;text-align:center;line-height:15px}.steps-indicator li a{color:grey;text-decoration:none;text-transform:uppercase;font-weight:700;transition:.25s;cursor:pointer}.bootstrap-select.btn-group .dropdown-menu li.disabled a,.bootstrap-select.btn-group.disabled,.bootstrap-select.btn-group>.disabled{cursor:not-allowed}.steps-indicator li a:before{position:absolute;top:-7px;left:calc(50% - 7px);width:14px;height:14px;border-radius:100%;transition:.25s}.steps-indicator li a:hover{color:#4d4d4d}.steps-indicator.steps-2 li{width:calc(100% / 2)}.steps-indicator.steps-3 li{width:calc(100% / 3)}.steps-indicator.steps-4 li{width:calc(100% / 4)}.steps-indicator.steps-5 li{width:calc(100% / 5)}.steps-indicator.steps-6 li{width:calc(100% / 6)}.steps-indicator.steps-7 li{width:calc(100% / 7)}.steps-indicator.steps-8 li{width:calc(100% / 8)}.steps-indicator.steps-9 li{width:calc(100% / 9)}.steps-indicator.steps-10 li{width:calc(100% / 10)}.steps-indicator.steps-11 li{width:calc(100% / 11)}.steps-indicator li.default a:hover{color:grey}.steps-indicator li.current a:before{background-color:grey}.steps-indicator li.done a:before{background-color:#393}.steps-indicator li.editing a:before{background-color:red}/*!
+ *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{color:#000;background:#ff0}sub,sup{position:relative;font-size:75%;line-height:0}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}code,kbd,pre,samp{font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}.glyphicon,address{font-style:normal}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{blockquote,img,pre,tr{page-break-inside:avoid}*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999}thead{display:table-header-group}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}.btn,.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-warning.active,.btn-warning:active,.btn.active,.btn:active,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover,.form-control,.navbar-toggle,.open>.dropdown-toggle.btn-danger,.open>.dropdown-toggle.btn-default,.open>.dropdown-toggle.btn-info,.open>.dropdown-toggle.btn-primary,.open>.dropdown-toggle.btn-warning{background-image:none}.img-thumbnail,body{background-color:#fff}@font-face{font-family:'Glyphicons Halflings';src:url(../assets/fonts/glyphicons-halflings-regular.eot);src:url(../assets/fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../assets/fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../assets/fonts/glyphicons-halflings-regular.woff) format('woff'),url(../assets/fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../assets/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-weight:400;line-height:1;-webkit-font-smoothing:antialiased}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before,.glyphicon-btc:before,.glyphicon-xbt:before{content:"\e227"}.glyphicon-jpy:before,.glyphicon-yen:before{content:"\00a5"}.glyphicon-rub:before,.glyphicon-ruble:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.form-control,.ui-grid-pager-control input{-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}dt,kbd kbd,label{font-weight:700}address,blockquote .small,blockquote footer,blockquote small,dd,dt,pre{line-height:1.42857143}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}pre code,table{background-color:transparent}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}dl,ol,ul{margin-top:0}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child,ol ol,ol ul,ul ol,ul ul{margin-bottom:0}address,dl{margin-bottom:20px}ol,ul{margin-bottom:10px}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.container{width:750px}}#ui-grid-twbs #ui-grid-twbs .btn-group-vertical>.btn-group:after,#ui-grid-twbs #ui-grid-twbs .btn-toolbar:after,#ui-grid-twbs #ui-grid-twbs .form-horizontal .form-group:after,.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.dropdown-menu>li>a,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after,.ui-grid-clearfix:after,.ui-grid-footer-canvas:after,.ui-grid-header-canvas:after{clear:both}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;color:#777}legend,pre{display:block;color:#333}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}code,kbd{padding:2px 4px;font-size:90%}caption,th{text-align:left}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;-webkit-box-shadow:none;box-shadow:none}pre{padding:9.5px;margin:0 0 10px;font-size:13px;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc}.container,.container-fluid{margin-right:auto;margin-left:auto}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;border-radius:0}.container,.container-fluid{padding-right:15px;padding-left:15px}.pre-scrollable{overflow-y:scroll}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}caption{padding-top:8px;padding-bottom:8px;color:#777}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset,legend{padding:0;border:0}fieldset{min-width:0;margin:0}legend{width:100%;margin-bottom:20px;font-size:21px;line-height:inherit;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}.form-control,output{font-size:14px;line-height:1.42857143;color:#555;display:block}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}output{padding-top:7px}.form-control{width:100%;height:34px;padding:6px 12px;background-color:#fff;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.bootstrap-switch.bootstrap-switch-focused,.form-control:focus{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control:focus{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .form-control-feedback,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.form-group-sm .form-control,.input-sm{padding:5px 10px;border-radius:3px;font-size:12px}.input-sm{height:30px;line-height:1.5}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;line-height:1.5}.form-group-lg .form-control,.input-lg{border-radius:6px;padding:10px 16px;font-size:18px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;line-height:1.3333333}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;line-height:1.3333333}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center}.collapsing,.dropdown,.dropup{position:relative}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .form-control-feedback,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .form-control-feedback,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-control-static,.form-inline .form-group{display:inline-block}.form-inline .control-label,.form-inline .form-group{margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.33px;font-size:18px}.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary.active,.btn-primary:active,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success.active,.btn-success:active,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info.active,.btn-info:active,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger.active,.btn-danger:active,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu-right,.dropdown-menu.pull-right{right:0;left:auto}.dropdown-header,.dropdown-menu>li>a{display:block;padding:3px 20px;line-height:1.42857143;white-space:nowrap}.btn-group-vertical>.btn:not(:first-child):not(:last-child),.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn,.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{font-weight:400;color:#333}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-left{right:auto;left:0}.dropdown-header{font-size:12px;color:#777}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.nav-justified>.dropdown .dropdown-menu,.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn .caret,.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.nav>li,.nav>li>a{display:block;position:relative}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center;margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0;border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-justified>li,.nav-stacked>li{float:none}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar{border-radius:4px}.navbar-header{float:left}.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.embed-responsive,.modal,.modal-open,.progress{overflow:hidden}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}.navbar-static-top{z-index:1000;border-width:0 0 1px}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}.progress-bar-striped,.progress-striped .progress-bar,.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}@media (min-width:768px){.navbar-toggle{display:none}.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin:8px -15px}@media (min-width:768px){.navbar-form .form-control-static,.navbar-form .form-group{display:inline-block}.navbar-form .control-label,.navbar-form .form-group{margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.breadcrumb>li,.pagination{display:inline-block}.btn .badge,.btn .label{top:-1px;position:relative}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-radius:4px 4px 0 0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{padding-left:0;margin:20px 0;border-radius:4px}.pager li,.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:3;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.badge,.label{font-weight:700;line-height:1;white-space:nowrap;text-align:center}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}a.badge:focus,a.badge:hover,a.label:focus,a.label:hover{color:#fff;cursor:pointer;text-decoration:none}.label{display:inline;padding:.2em .6em .3em;font-size:75%;color:#fff;border-radius:.25em}.label:empty{display:none}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;color:#fff;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.media-object,.thumbnail{display:block}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.jumbotron,.jumbotron .h1,.jumbotron h1{color:inherit}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;background-color:#eee}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.alert,.thumbnail{margin-bottom:20px}.alert .alert-link,.close{font-weight:700}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.modal,.modal-backdrop{top:0;right:0;bottom:0;left:0}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-striped .progress-bar-info,.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.panel-heading>.dropdown .dropdown-toggle,.panel-title,.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-title,.panel>.list-group,.panel>.panel-collapse>.list-group,.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-title{margin-top:0;font-size:16px}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel-group .panel-heading,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.modal-title,.tooltip{line-height:1.42857143}.popover,.tooltip{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;line-break:auto;text-decoration:none}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal{position:fixed;z-index:1050;display:none;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-size:12px;font-weight:400;text-align:left;text-align:start;white-space:normal;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.carousel,.carousel-inner{position:relative}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px}.tooltip.top-right .tooltip-arrow{left:5px}.popover.left>.arrow:after,.popover.right>.arrow:after{bottom:-10px;content:" "}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow,.tooltip.bottom-left .tooltip-arrow,.tooltip.bottom-right .tooltip-arrow{top:0;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom .tooltip-arrow{left:50%;margin-left:-5px}.tooltip.bottom-left .tooltip-arrow{right:5px;margin-top:-5px}.tooltip.bottom-right .tooltip-arrow{left:5px;margin-top:-5px}.carousel-caption,.carousel-control{color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.popover.right{margin-left:10px}.popover.left{margin-left:-10px}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{left:1px;border-right-color:#fff;border-left-width:0}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;border-right-width:0;border-left-color:#fff}.carousel-inner{width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.bootstrap-switch,.ui-grid-pager-control input{-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px}.carousel-caption .btn,.text-hide{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.hidden,.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;background-color:transparent;border:0}.affix{position:fixed}@-ms-viewport{width:device-width}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}.hidden-lg{display:none!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}}.bootstrap-switch{display:inline-block;direction:ltr;cursor:pointer;border-radius:4px;border:1px solid #ccc;position:relative;text-align:left;overflow:hidden;line-height:8px;z-index:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.bootstrap-switch .bootstrap-switch-container{display:inline-block;top:0;border-radius:4px;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.bootstrap-switch .bootstrap-switch-handle-off,.bootstrap-switch .bootstrap-switch-handle-on,.bootstrap-switch .bootstrap-switch-label{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:inline-block!important;height:100%;padding:6px 12px;font-size:14px;line-height:20px}.bootstrap-switch .bootstrap-switch-handle-off,.bootstrap-switch .bootstrap-switch-handle-on{text-align:center;z-index:1}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary{color:#fff;background:#428bca}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info{color:#fff;background:#5bc0de}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success{color:#fff;background:#5cb85c}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning{background:#f0ad4e;color:#fff}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger{color:#fff;background:#d9534f}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default{color:#000;background:#eee}.bootstrap-switch .bootstrap-switch-label{text-align:center;margin-top:-1px;margin-bottom:-1px;z-index:100;color:#333;background:#fff}.bootstrap-switch .bootstrap-switch-handle-on{border-bottom-left-radius:3px;border-top-left-radius:3px}.bootstrap-switch .bootstrap-switch-handle-off{border-bottom-right-radius:3px;border-top-right-radius:3px}.bootstrap-switch input[type=radio],.bootstrap-switch input[type=checkbox]{position:absolute!important;top:0;left:0;opacity:0;filter:alpha(opacity=0);z-index:-1}.bootstrap-switch input[type=radio].form-control,.bootstrap-switch input[type=checkbox].form-control{height:auto}.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-label{padding:1px 5px;font-size:12px;line-height:1.5}.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-label{padding:5px 10px;font-size:12px;line-height:1.5}.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-label{padding:6px 16px;font-size:18px;line-height:1.33}.bootstrap-switch.bootstrap-switch-disabled,.bootstrap-switch.bootstrap-switch-indeterminate,.bootstrap-switch.bootstrap-switch-readonly{cursor:default!important}.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-label{opacity:.5;filter:alpha(opacity=50);cursor:default!important}.bootstrap-switch.bootstrap-switch-animate .bootstrap-switch-container{-webkit-transition:margin-left .5s;transition:margin-left .5s}.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-on{border-radius:0 3px 3px 0}.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-off{border-radius:3px 0 0 3px}.bootstrap-switch.bootstrap-switch-focused{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-off .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-label{border-bottom-right-radius:3px;border-top-right-radius:3px}.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-on .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-label{border-bottom-left-radius:3px;border-top-left-radius:3px}.bar-legend,.chart-legend,.doughnut-legend,.line-legend,.pie-legend,.polararea-legend,.radar-legend{list-style-type:none;margin-top:5px;text-align:center;-webkit-padding-start:0;-moz-padding-start:0;padding-left:0}.bar-legend li,.chart-legend li,.doughnut-legend li,.line-legend li,.pie-legend li,.polararea-legend li,.radar-legend li{display:inline-block;white-space:nowrap;position:relative;margin-bottom:4px;border-radius:5px;padding:2px 8px 2px 28px;font-size:smaller;cursor:default}.bar-legend li span,.chart-legend li span,.doughnut-legend li span,.line-legend li span,.pie-legend li span,.polararea-legend li span,.radar-legend li span{display:block;position:absolute;left:0;top:0;width:20px;height:20px;border-radius:5px}.toast-title{font-weight:700}.toast-message{word-wrap:break-word}.toast-message a,.toast-message label{color:#fff}.toast-message a:hover{color:#ccc;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#fff;-webkit-text-shadow:0 1px 0 #fff;text-shadow:0 1px 0 #fff;opacity:.8}.toast-top-center,.toast-top-full-width{top:0;right:0;width:100%}.toast-close-button:focus,.toast-close-button:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4}button.toast-close-button{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999}#toast-container *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#toast-container>div{position:relative;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-position:15px center;background-repeat:no-repeat;-moz-box-shadow:0 0 12px #999;-webkit-box-shadow:0 0 12px #999;box-shadow:0 0 12px #999;color:#fff;opacity:.8}#toast-container>:hover{-moz-box-shadow:0 0 12px #000;-webkit-box-shadow:0 0 12px #000;box-shadow:0 0 12px #000;opacity:1;cursor:pointer}#toast-container>.toast-info{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=)!important}#toast-container>.toast-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=)!important}#toast-container>.toast-success{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==)!important}#toast-container>.toast-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=)!important}#toast-container.toast-bottom-center>div,#toast-container.toast-top-center>div{width:300px;margin:auto}#toast-container.toast-bottom-full-width>div,#toast-container.toast-top-full-width>div{width:96%;margin:auto}.toast{background-color:#030303}.toast-success{background-color:#51a351}.toast-error{background-color:#bd362f}.toast-info{background-color:#2f96b4}.toast-warning{background-color:#f89406}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4}.toast{opacity:1!important}.toast.ng-enter{opacity:0!important;transition:opacity .3s linear}.toast.ng-enter.ng-enter-active{opacity:1!important}.toast.ng-leave{opacity:1;transition:opacity .3s linear}.toast.ng-leave.ng-leave-active{opacity:0!important}@media all and (max-width:240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container .toast-close-button{right:-.2em;top:-.2em}}@media all and (min-width:241px) and (max-width:480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container .toast-close-button{right:-.2em;top:-.2em}}@media all and (min-width:481px) and (max-width:768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}}.ui-notification{position:fixed;z-index:9999;width:300px;cursor:pointer;-webkit-transition:all ease .5s;-o-transition:all ease .5s;transition:all ease .5s;color:#fff;background:#337ab7;box-shadow:5px 5px 10px rgba(0,0,0,.3)}.ui-notification.killed{-webkit-transition:opacity ease 1s;-o-transition:opacity ease 1s;transition:opacity ease 1s;opacity:0}.ui-notification>h3{font-size:14px;font-weight:700;display:block;margin:10px 10px 0;padding:0 0 5px;text-align:left;border-bottom:1px solid rgba(255,255,255,.3)}.editable-buttons,.editable-wrap,.editable-wrap .editable-input{display:inline-block}.ui-notification a{color:#fff}.ui-notification a:hover{text-decoration:underline}.ui-notification>.message{margin:10px}.editable-bstime .well-small,.editable-wrap .editable-controls,.editable-wrap .editable-controls>input,.editable-wrap .editable-controls>select,.editable-wrap .editable-controls>textarea,.editable-wrap .editable-error,.form-group .bootstrap-select.btn-group,.form-horizontal .bootstrap-select.btn-group,.form-inline .bootstrap-select.btn-group{margin-bottom:0}.ui-notification.warning{color:#fff;background:#f0ad4e}.ui-notification.error{color:#fff;background:#d9534f}.ui-notification.success{color:#fff;background:#5cb85c}.ui-notification.info{color:#fff;background:#5bc0de}.ui-notification:hover{opacity:.7}.steps-indicator li a:before,.steps-indicator:before{background-color:#e6e6e6;content:''}.steps-indicator{right:0;bottom:0;left:0;margin:0;padding:20px 0 0;height:30px;list-style:none}.steps-indicator:before{position:absolute;height:1px}.steps-indicator.steps-2:before{left:calc(100% / 2 / 2);right:calc(100% / 2 / 2)}.steps-indicator.steps-3:before{left:calc(100% / 3 / 2);right:calc(100% / 3 / 2)}.steps-indicator.steps-4:before{left:calc(100% / 4 / 2);right:calc(100% / 4 / 2)}.steps-indicator.steps-5:before{left:calc(100% / 5 / 2);right:calc(100% / 5 / 2)}.steps-indicator.steps-6:before{left:calc(100% / 6 / 2);right:calc(100% / 6 / 2)}.steps-indicator.steps-7:before{left:calc(100% / 7 / 2);right:calc(100% / 7 / 2)}.steps-indicator.steps-8:before{left:calc(100% / 8 / 2);right:calc(100% / 8 / 2)}.steps-indicator.steps-9:before{left:calc(100% / 9 / 2);right:calc(100% / 9 / 2)}.steps-indicator.steps-10:before{left:calc(100% / 10 / 2);right:calc(100% / 10 / 2)}.steps-indicator *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.steps-indicator li{position:relative;float:left;margin:0;padding:10px 0 0;text-align:center;line-height:15px}.steps-indicator li a{color:grey;text-decoration:none;text-transform:uppercase;font-weight:700;transition:.25s;cursor:pointer}.bootstrap-select.btn-group .dropdown-menu li.disabled a,.bootstrap-select.btn-group.disabled,.bootstrap-select.btn-group>.disabled{cursor:not-allowed}.steps-indicator li a:before{position:absolute;top:-7px;left:calc(50% - 7px);width:14px;height:14px;border-radius:100%;transition:.25s}.steps-indicator li a:hover{color:#4d4d4d}.steps-indicator.steps-2 li{width:calc(100% / 2)}.steps-indicator.steps-3 li{width:calc(100% / 3)}.steps-indicator.steps-4 li{width:calc(100% / 4)}.steps-indicator.steps-5 li{width:calc(100% / 5)}.steps-indicator.steps-6 li{width:calc(100% / 6)}.steps-indicator.steps-7 li{width:calc(100% / 7)}.steps-indicator.steps-8 li{width:calc(100% / 8)}.steps-indicator.steps-9 li{width:calc(100% / 9)}.steps-indicator.steps-10 li{width:calc(100% / 10)}.steps-indicator.steps-11 li{width:calc(100% / 11)}.steps-indicator li.default a:hover{color:grey}.steps-indicator li.current a:before{background-color:grey}.steps-indicator li.done a:before{background-color:#393}.steps-indicator li.editing a:before{background-color:red}/*!
 angular-xeditable - 0.1.9
 Edit-in-place for angular.js
 Build date: 2015-03-26 
@@ -27,7 +27,7 @@ Copyright (c) 2015 Daniel Eden
  */.ui-select-highlight{font-weight:700}.ui-select-offscreen{clip:rect(0 0 0 0)!important;width:1px!important;height:1px!important;border:0!important;margin:0!important;padding:0!important;overflow:hidden!important;position:absolute!important;outline:0!important;left:0!important;top:0!important}.ui-select-choices-row:hover{background-color:#f5f5f5}.ng-dirty.ng-invalid>a.select2-choice{border-color:#D44950}.select2-result-single{padding-left:0}.select-locked>.ui-select-match-close,.select2-locked>.select2-search-choice-close{display:none}body>.select2-container.open{z-index:9999}.ui-select-container[theme=select2].direction-up .ui-select-match{border-radius:0 0 4px 4px}.ui-select-container[theme=select2].direction-up .ui-select-dropdown{border-radius:4px 4px 0 0;border-top-width:1px;border-top-style:solid;box-shadow:0 -4px 8px rgba(0,0,0,.25);margin-top:-4px}.ui-select-container[theme=select2].direction-up .ui-select-dropdown .select2-search{margin-top:4px}.ui-select-container[theme=select2].direction-up.select2-dropdown-open .ui-select-match{border-bottom-color:#5897fb}.selectize-input.selectize-focus{border-color:#007FBB!important}.selectize-control>.selectize-dropdown,.selectize-control>.selectize-input>input{width:100%}.ng-dirty.ng-invalid>div.selectize-input{border-color:#D44950}.ui-select-container[theme=selectize].direction-up .ui-select-dropdown{box-shadow:0 -4px 8px rgba(0,0,0,.25);margin-top:-2px}.btn-default-focus{color:#333;background-color:#EBEBEB;border-color:#ADADAD;text-decoration:none;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.ui-select-bootstrap .ui-select-toggle{position:relative}.ui-select-bootstrap .ui-select-toggle>.caret{position:absolute;height:10px;top:50%;right:10px;margin-top:-2px}.input-group>.ui-select-bootstrap.dropdown{position:static}.input-group>.ui-select-bootstrap>input.ui-select-search.form-control{border-radius:4px 0 0 4px}.input-group>.ui-select-bootstrap>input.ui-select-search.form-control.direction-up{border-radius:4px 0 0 4px!important}.ui-select-bootstrap>.ui-select-match>.btn{text-align:left!important}.ui-select-bootstrap>.ui-select-match>.caret{position:absolute;top:45%;right:15px}.ui-select-bootstrap>.ui-select-choices{width:100%;height:auto;max-height:200px;overflow-x:hidden;margin-top:-1px}body>.ui-select-bootstrap.open{z-index:1000}.ui-select-multiple.ui-select-bootstrap{height:auto;padding:3px 3px 0}.ui-select-multiple.ui-select-bootstrap input.ui-select-search{background-color:transparent!important;border:none;outline:0;height:1.666666em;margin-bottom:3px}.ui-select-multiple.ui-select-bootstrap .ui-select-match .close{font-size:1.6em;line-height:.75}.ui-select-multiple.ui-select-bootstrap .ui-select-match-item{outline:0;margin:0 3px 3px 0}.ui-select-multiple .ui-select-match-item{position:relative}.ui-select-multiple .ui-select-match-item.dropping-before:before{content:"";position:absolute;top:0;right:100%;height:100%;margin-right:2px;border-left:1px solid #428bca}.ui-select-multiple .ui-select-match-item.dropping-after:after{content:"";position:absolute;top:0;left:100%;height:100%;margin-left:2px;border-right:1px solid #428bca}.ui-select-bootstrap .ui-select-choices-row>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.pre-numbering,code.has-numbering{font-family:Consolas,Menlo,Monaco,monospace;font-size:14px;line-height:20px}.ui-select-bootstrap .ui-select-choices-row>a:focus,.ui-select-bootstrap .ui-select-choices-row>a:hover{text-decoration:none;color:#262626;background-color:#f5f5f5}.ui-select-bootstrap .ui-select-choices-row.active>a{color:#fff;text-decoration:none;outline:0;background-color:#428bca}.ui-select-bootstrap .ui-select-choices-row.active.disabled>a,.ui-select-bootstrap .ui-select-choices-row.disabled>a{color:#777;cursor:not-allowed;background-color:#fff}.ui-select-match.ng-hide-add,.ui-select-search.ng-hide-add{display:none!important}.ui-select-bootstrap.ng-dirty.ng-invalid>button.btn.ui-select-match{border-color:#D44950}.ui-select-container[theme=bootstrap].direction-up .ui-select-dropdown{box-shadow:0 -4px 8px rgba(0,0,0,.25)}@font-face{font-family:emoticons;src:url(../assets/fonts/emoticons.eot?5zh0vu);src:url(../assets/fonts/emoticons.eot?#iefix5zh0vu) format('embedded-opentype'),url(../assets/fonts/emoticons.woff?5zh0vu) format('woff'),url(../assets/fonts/emoticons.ttf?5zh0vu) format('truetype'),url(../assets/fonts/emoticons.svg?5zh0vu#icomoon) format('svg');font-weight:400;font-style:normal}.ne-code{display:none;font-size:14px;font-family:Consolas,Menlo,Monaco,monospace;padding:1.5em}pre{position:relative;margin-bottom:24px;border-radius:2px;overflow:hidden}code.has-numbering{display:block;padding:12px 30px;overflow-y:auto;font-weight:300;margin-left:36px}.pre-numbering{position:absolute;top:0;left:0;width:35px;padding:1.1em 5px 12px 0;border-right:1px solid #e8e8e8;border-radius:3px 0 0 3px;background-color:#EEE;text-align:right;color:#AAA;margin-top:-4px}.pre-numbering li{list-style-type:none}.ne-pdf iframe{width:420px;height:530px;display:block}.ne-pdf-icon{width:200px;height:150px;float:left;border-right:1px solid #eee}.ne-audio audio,.ne-video video{width:100%}.ne-pdf-icon i{margin:29px 62px;color:#999;font-size:84px}.ne-pdf-view button{font-family:inherit;font-size:14px;background-color:transparent;border:1px solid #ccc;padding:6px 15px;border-radius:2px;color:#333;cursor:pointer;box-shadow:0 1px 1px 0 rgba(0,0,0,.26);outline:0;border-bottom:0;float:right;margin:80px 10px 0;-o-transition:all .5s linear;transition:all .5s linear}.ne-pdf-view button:hover{box-shadow:0 2px 2px 0 rgba(0,0,0,.26)}.ne-pdf-view button i{margin-right:6px}.ne-pdf-view button a{color:#333}.ne-pdf-viewer iframe{margin:0 auto}.ne-pdf-viewer{background-color:#3498DB;position:relative}.ne-pdf-viewer i{position:absolute;right:10px;top:8px;color:#fff;font-size:25px;cursor:pointer}.ne-audio{background-color:#1D1D1D;border-radius:2px;padding-top:6px}.ne-pdf,.ne-video{padding:5px;border:1px solid #e4e4e4;border-radius:2px;margin:20px 0;box-shadow:0 1px 1px 0 rgba(0,0,0,.26);border-bottom:0;overflow:auto;-o-transition:all .5s linear;transition:all .5s linear}.ne-image:hover,.ne-video:hover{box-shadow:0 2px 2px 0 rgba(0,0,0,.26)}.ne-pdf-preview,.ne-video-preview{overflow:auto}.ne-video-preview img{display:block;width:200px;height:150px;border-radius:2px;background-color:#3498DB}.ne-video-thumb{width:200px;float:left;cursor:pointer;color:rgba(255,255,255,.6)}.ne-video-thumb:hover{color:#fff}.ne-video-thumb i{position:absolute;font-size:42px;margin-top:-95px;margin-left:80px;cursor:pointer}.ne-pdf-detail,.ne-video-detail{width:calc(100% - 200px);float:left;padding-left:15px}.emoticons-image,.emoticons-image-wrapper,.ne-image,.ne-video-player iframe{width:100%}.ne-pdf-title,.ne-video-title{font-weight:bolder;padding:5px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ne-video-desc{font-size:16px;color:#666;height:90px}.ne-stats{padding-top:7px;overflow:auto}.ne-video-stats span{padding:0 15px;float:right}.ne-video-stats span i{margin-right:10px}.ne-image{border-radius:2px;border:1px solid #e4e4e4;min-height:250px;max-height:250px;overflow:hidden;cursor:pointer;padding-bottom:5px;-webkit-transition:all .5s linear;-o-transition:all .5s linear;-moz-transition:all .5s linear;-ms-transition:all .5s linear;transition:all .5s linear;box-shadow:0 1px 1px 0 rgba(0,0,0,.26);border-bottom:5px solid #fff;margin:10px 0}.ne-image-long{max-height:800px}.ne-image img,.ne-image-long img{width:100%;display:block;min-height:250px}.ne-image-wrapper{margin:5px 5px 0;height:100%;overflow:hidden}.emoticons-image{padding:5px;border-radius:2px;border:1px solid #F2F2F2;display:block;margin:20px 0}.emoticon,.icon-emoticon{display:inline-block;vertical-align:middle}.icon-emoticon{font-family:emoticons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased}.emoticon{text-indent:-9999px;height:22px;width:22px}@media all and (-webkit-min-device-pixel-ratio :1),all and (min--moz-device-pixel-ratio :1),all and (-o-min-device-pixel-ratio :1),all and (min-device-pixel-ratio :1),all and (min-resolution :96dpi){.emoticon{background:url(../assets/images/emojis.png) no-repeat}}@media all and (-webkit-min-device-pixel-ratio :1.5),all and (-o-min-device-pixel-ratio :3/2),all and (min-device-pixel-ratio :1.5),all and (min-resolution :144dpi){.emoticon{background:url(../assets/images/emojis@2x.png) no-repeat;background-size:27776px 22px}}@-moz-document url-prefix(){.emoticon{background:url(../assets/images/emojis.png) no-repeat}}.emoticon-bowtie{background-position:-5px 0}.emoticon-smile{background-position:-37px 0}.emoticon-laughing{background-position:-69px 0}.emoticon-blush{background-position:-101px 0}.emoticon-smiley{background-position:-133px 0}.emoticon-relaxed{background-position:-165px 0}.emoticon-smirk{background-position:-197px 0}.emoticon-heart_eyes{background-position:-229px 0}.emoticon-kissing_heart{background-position:-261px 0}.emoticon-kissing_closed_eyes{background-position:-293px 0}.emoticon-flushed{background-position:-325px 0}.emoticon-relieved{background-position:-357px 0}.emoticon-satisfied{background-position:-389px 0}.emoticon-grin{background-position:-421px 0}.emoticon-wink{background-position:-453px 0}.emoticon-stuck_out_tongue_winking_eye,.emoticon-winky_face{background-position:-485px 0}.emoticon-stuck_out_tongue_closed_eyes{background-position:-517px 0}.emoticon-grinning{background-position:-549px 0}.emoticon-kissing{background-position:-581px 0}.emoticon-kissing_smiling_eyes{background-position:-613px 0}.emoticon-stuck_out_tongue{background-position:-645px 0}.emoticon-sleeping{background-position:-677px 0}.emoticon-worried{background-position:-709px 0}.emoticon-frowning{background-position:-741px 0}.emoticon-anguished{background-position:-773px 0}.emoticon-open_mouth,.emoticon-wow{background-position:-805px 0}.emoticon-grimacing{background-position:-837px 0}.emoticon-confused{background-position:-869px 0}.emoticon-hushed{background-position:-901px 0}.emoticon-expressionless{background-position:-933px 0}.emoticon-unamused{background-position:-965px 0}.emoticon-sweat_smile{background-position:-997px 0}.emoticon-sweat{background-position:-1029px 0}.emoticon-disappointed_relieved{background-position:-1061px 0}.emoticon-weary{background-position:-1093px 0}.emoticon-pensive{background-position:-1125px 0}.emoticon-disappointed{background-position:-1157px 0}.emoticon-confounded{background-position:-1189px 0}.emoticon-fearful{background-position:-1221px 0}.emoticon-cold_sweat{background-position:-1253px 0}.emoticon-persevere{background-position:-1285px 0}.emoticon-cry{background-position:-1317px 0}.emoticon-sob{background-position:-1349px 0}.emoticon-joy{background-position:-1381px 0}.emoticon-astonished{background-position:-1413px 0}.emoticon-scream{background-position:-1445px 0}.emoticon-neckbeard{background-position:-1477px 0}.emoticon-tired_face{background-position:-1509px 0}.emoticon-angry{background-position:-1541px 0}.emoticon-rage{background-position:-1573px 0}.emoticon-triumph{background-position:-1605px 0}.emoticon-sleepy{background-position:-1637px 0}.emoticon-yum{background-position:-1669px 0}.emoticon-mask{background-position:-1701px 0}.emoticon-sunglasses{background-position:-1733px 0}.emoticon-dizzy_face{background-position:-1765px 0}.emoticon-imp{background-position:-1797px 0}.emoticon-smiling_imp{background-position:-1829px 0}.emoticon-neutral_face{background-position:-1861px 0}.emoticon-no_mouth{background-position:-1893px 0}.emoticon-innocent{background-position:-1925px 0}.emoticon-alien{background-position:-1957px 0}.emoticon-yellow_heart{background-position:-1989px 0}.emoticon-blue_heart{background-position:-2021px 0}.emoticon-purple_heart{background-position:-2053px 0}.emoticon-heart{background-position:-2085px 0}.emoticon-green_heart{background-position:-2117px 0}.emoticon-broken_heart{background-position:-2149px 0}.emoticon-heartbeat{background-position:-2181px 0}.emoticon-heartpulse{background-position:-2213px 0}.emoticon-two_hearts{background-position:-2245px 0}.emoticon-revolving_hearts{background-position:-2277px 0}.emoticon-cupid{background-position:-2309px 0}.emoticon-sparkling_heart{background-position:-2341px 0}.emoticon-sparkles{background-position:-2373px 0}.emoticon-star{background-position:-2405px 0}.emoticon-star2{background-position:-2437px 0}.emoticon-dizzy{background-position:-2469px 0}.emoticon-boom{background-position:-2501px 0}.emoticon-collision{background-position:-2533px 0}.emoticon-anger{background-position:-2565px 0}.emoticon-exclamation{background-position:-2597px 0}.emoticon-question{background-position:-2629px 0}.emoticon-grey_exclamation{background-position:-2661px 0}.emoticon-grey_question{background-position:-2693px 0}.emoticon-zzz{background-position:-2725px 0}.emoticon-dash{background-position:-2757px 0}.emoticon-sweat_drops{background-position:-2789px 0}.emoticon-notes{background-position:-2821px 0}.emoticon-musical_note{background-position:-2853px 0}.emoticon-fire{background-position:-2885px 0}.emoticon-hankey{background-position:-2917px 0}.emoticon-poop{background-position:-2949px 0}.emoticon-shit{background-position:-2981px 0}.emoticon-\+1{background-position:-3013px 0}.emoticon-thumbsup{background-position:-3045px 0}.emoticon-\-1{background-position:-3077px 0}.emoticon-thumbsdown{background-position:-3109px 0}.emoticon-ok_hand{background-position:-3141px 0}.emoticon-punch{background-position:-3173px 0}.emoticon-facepunch{background-position:-3205px 0}.emoticon-fist{background-position:-3237px 0}.emoticon-v{background-position:-3269px 0}.emoticon-wave{background-position:-3301px 0}.emoticon-hand{background-position:-3333px 0}.emoticon-raised_hand{background-position:-3365px 0}.emoticon-open_hands{background-position:-3397px 0}.emoticon-point_up{background-position:-3429px 0}.emoticon-point_down{background-position:-3461px 0}.emoticon-point_left{background-position:-3493px 0}.emoticon-point_right{background-position:-3525px 0}.emoticon-raised_hands{background-position:-3557px 0}.emoticon-pray{background-position:-3589px 0}.emoticon-point_up_2{background-position:-3621px 0}.emoticon-clap{background-position:-3653px 0}.emoticon-muscle{background-position:-3685px 0}.emoticon-metal{background-position:-3717px 0}.emoticon-fu{background-position:-3749px 0}.emoticon-walking{background-position:-3781px 0}.emoticon-runner{background-position:-3813px 0}.emoticon-running{background-position:-3845px 0}.emoticon-couple{background-position:-3877px 0}.emoticon-family{background-position:-3909px 0}.emoticon-two_men_holding_hands{background-position:-3941px 0}.emoticon-two_women_holding_hands{background-position:-3973px 0}.emoticon-dancer{background-position:-4005px 0}.emoticon-dancers{background-position:-4037px 0}.emoticon-ok_woman{background-position:-4069px 0}.emoticon-no_good{background-position:-4101px 0}.emoticon-information_desk_person{background-position:-4133px 0}.emoticon-raising_hand{background-position:-4165px 0}.emoticon-bride_with_veil{background-position:-4197px 0}.emoticon-person_with_pouting_face{background-position:-4229px 0}.emoticon-person_frowning{background-position:-4261px 0}.emoticon-bow{background-position:-4293px 0}.emoticon-couplekiss{background-position:-4325px 0}.emoticon-couple_with_heart{background-position:-4357px 0}.emoticon-massage{background-position:-4389px 0}.emoticon-haircut{background-position:-4421px 0}.emoticon-nail_care{background-position:-4453px 0}.emoticon-boy{background-position:-4485px 0}.emoticon-girl{background-position:-4517px 0}.emoticon-woman{background-position:-4549px 0}.emoticon-man{background-position:-4581px 0}.emoticon-baby{background-position:-4613px 0}.emoticon-older_woman{background-position:-4645px 0}.emoticon-older_man{background-position:-4677px 0}.emoticon-person_with_blond_hair{background-position:-4709px 0}.emoticon-man_with_gua_pi_mao{background-position:-4741px 0}.emoticon-man_with_turban{background-position:-4773px 0}.emoticon-construction_worker{background-position:-4805px 0}.emoticon-cop{background-position:-4837px 0}.emoticon-angel{background-position:-4869px 0}.emoticon-princess{background-position:-4901px 0}.emoticon-emoticon_cat{background-position:-4933px 0}.emoticon-smile_cat{background-position:-4965px 0}.emoticon-heart_eyes_cat{background-position:-4997px 0}.emoticon-kissing_cat{background-position:-5029px 0}.emoticon-smirk_cat{background-position:-5061px 0}.emoticon-scream_cat{background-position:-5093px 0}.emoticon-crying_cat_face{background-position:-5125px 0}.emoticon-joy_cat{background-position:-5157px 0}.emoticon-pouting_cat{background-position:-5189px 0}.emoticon-japanese_ogre{background-position:-5221px 0}.emoticon-japanese_goblin{background-position:-5253px 0}.emoticon-see_no_evil{background-position:-5285px 0}.emoticon-hear_no_evil{background-position:-5317px 0}.emoticon-speak_no_evil{background-position:-5349px 0}.emoticon-guardsman{background-position:-5381px 0}.emoticon-skull{background-position:-5413px 0}.emoticon-feet{background-position:-5445px 0}.emoticon-lips{background-position:-5477px 0}.emoticon-kiss{background-position:-5509px 0}.emoticon-droplet{background-position:-5541px 0}.emoticon-ear{background-position:-5573px 0}.emoticon-eyes{background-position:-5605px 0}.emoticon-nose{background-position:-5637px 0}.emoticon-tongue{background-position:-5669px 0}.emoticon-love_letter{background-position:-5701px 0}.emoticon-bust_in_silhouette{background-position:-5733px 0}.emoticon-busts_in_silhouette{background-position:-5765px 0}.emoticon-speech_balloon{background-position:-5797px 0}.emoticon-thought_balloon{background-position:-5829px 0}.emoticon-feelsgood{background-position:-5861px 0}.emoticon-finnadie{background-position:-5893px 0}.emoticon-goberserk{background-position:-5925px 0}.emoticon-godmode{background-position:-5957px 0}.emoticon-hurtrealbad{background-position:-5989px 0}.emoticon-rage1{background-position:-6021px 0}.emoticon-rage2{background-position:-6053px 0}.emoticon-rage3{background-position:-6085px 0}.emoticon-rage4{background-position:-6117px 0}.emoticon-suspect{background-position:-6149px 0}.emoticon-trollface{background-position:-6181px 0}.emoticon-sunny{background-position:-6213px 0}.emoticon-umbrella{background-position:-6245px 0}.emoticon-cloud{background-position:-6277px 0}.emoticon-snowflake{background-position:-6309px 0}.emoticon-snowman{background-position:-6341px 0}.emoticon-zap{background-position:-6373px 0}.emoticon-cyclone{background-position:-6405px 0}.emoticon-foggy{background-position:-6437px 0}.emoticon-ocean{background-position:-6469px 0}.emoticon-cat{background-position:-6501px 0}.emoticon-dog{background-position:-6533px 0}.emoticon-mouse{background-position:-6565px 0}.emoticon-hamster{background-position:-6597px 0}.emoticon-rabbit{background-position:-6629px 0}.emoticon-wolf{background-position:-6661px 0}.emoticon-frog{background-position:-6693px 0}.emoticon-tiger{background-position:-6725px 0}.emoticon-koala{background-position:-6757px 0}.emoticon-bear{background-position:-6789px 0}.emoticon-pig{background-position:-6821px 0}.emoticon-pig_nose{background-position:-6853px 0}.emoticon-cow{background-position:-6885px 0}.emoticon-boar{background-position:-6917px 0}.emoticon-monkey_face{background-position:-6949px 0}.emoticon-monkey{background-position:-6981px 0}.emoticon-horse{background-position:-7013px 0}.emoticon-racehorse{background-position:-7045px 0}.emoticon-camel{background-position:-7077px 0}.emoticon-sheep{background-position:-7109px 0}.emoticon-elephant{background-position:-7141px 0}.emoticon-panda_face{background-position:-7173px 0}.emoticon-snake{background-position:-7205px 0}.emoticon-bird{background-position:-7237px 0}.emoticon-baby_chick{background-position:-7269px 0}.emoticon-hatched_chick{background-position:-7301px 0}.emoticon-hatching_chick{background-position:-7333px 0}.emoticon-chicken{background-position:-7365px 0}.emoticon-penguin{background-position:-7397px 0}.emoticon-turtle{background-position:-7429px 0}.emoticon-bug{background-position:-7461px 0}.emoticon-honeybee{background-position:-7493px 0}.emoticon-ant{background-position:-7525px 0}.emoticon-beetle{background-position:-7557px 0}.emoticon-snail{background-position:-7589px 0}.emoticon-octopus{background-position:-7621px 0}.emoticon-tropical_fish{background-position:-7653px 0}.emoticon-fish{background-position:-7685px 0}.emoticon-whale{background-position:-7717px 0}.emoticon-whale2{background-position:-7749px 0}.emoticon-dolphin{background-position:-7781px 0}.emoticon-cow2{background-position:-7813px 0}.emoticon-ram{background-position:-7845px 0}.emoticon-rat{background-position:-7877px 0}.emoticon-water_buffalo{background-position:-7909px 0}.emoticon-tiger2{background-position:-7941px 0}.emoticon-rabbit2{background-position:-7973px 0}.emoticon-dragon{background-position:-8005px 0}.emoticon-goat{background-position:-8037px 0}.emoticon-rooster{background-position:-8069px 0}.emoticon-dog2{background-position:-8101px 0}.emoticon-pig2{background-position:-8133px 0}.emoticon-mouse2{background-position:-8165px 0}.emoticon-ox{background-position:-8197px 0}.emoticon-dragon_face{background-position:-8229px 0}.emoticon-blowfish{background-position:-8261px 0}.emoticon-crocodile{background-position:-8293px 0}.emoticon-dromedary_camel{background-position:-8325px 0}.emoticon-leopard{background-position:-8357px 0}.emoticon-cat2{background-position:-8389px 0}.emoticon-poodle{background-position:-8421px 0}.emoticon-paw_prints{background-position:-8453px 0}.emoticon-bouquet{background-position:-8485px 0}.emoticon-cherry_blossom{background-position:-8517px 0}.emoticon-tulip{background-position:-8549px 0}.emoticon-four_leaf_clover{background-position:-8581px 0}.emoticon-rose{background-position:-8613px 0}.emoticon-sunflower{background-position:-8645px 0}.emoticon-hibiscus{background-position:-8677px 0}.emoticon-maple_leaf{background-position:-8709px 0}.emoticon-leaves{background-position:-8741px 0}.emoticon-fallen_leaf{background-position:-8773px 0}.emoticon-herb{background-position:-8805px 0}.emoticon-mushroom{background-position:-8837px 0}.emoticon-cactus{background-position:-8869px 0}.emoticon-palm_tree{background-position:-8901px 0}.emoticon-evergreen_tree{background-position:-8933px 0}.emoticon-deciduous_tree{background-position:-8965px 0}.emoticon-chestnut{background-position:-8997px 0}.emoticon-seedling{background-position:-9029px 0}.emoticon-blossom{background-position:-9061px 0}.emoticon-ear_of_rice{background-position:-9093px 0}.emoticon-shell{background-position:-9125px 0}.emoticon-globe_with_meridians{background-position:-9157px 0}.emoticon-sun_with_face{background-position:-9189px 0}.emoticon-full_moon_with_face{background-position:-9221px 0}.emoticon-new_moon_with_face{background-position:-9253px 0}.emoticon-new_moon{background-position:-9285px 0}.emoticon-waxing_crescent_moon{background-position:-9317px 0}.emoticon-first_quarter_moon{background-position:-9349px 0}.emoticon-waxing_gibbous_moon{background-position:-9381px 0}.emoticon-full_moon{background-position:-9413px 0}.emoticon-waning_gibbous_moon{background-position:-9445px 0}.emoticon-last_quarter_moon{background-position:-9477px 0}.emoticon-waning_crescent_moon{background-position:-9509px 0}.emoticon-last_quarter_moon_with_face{background-position:-9541px 0}.emoticon-first_quarter_moon_with_face{background-position:-9573px 0}.emoticon-moon{background-position:-9605px 0}.emoticon-earth_africa{background-position:-9637px 0}.emoticon-earth_americas{background-position:-9669px 0}.emoticon-earth_asia{background-position:-9701px 0}.emoticon-volcano{background-position:-9733px 0}.emoticon-milky_way{background-position:-9765px 0}.emoticon-partly_sunny{background-position:-9797px 0}.emoticon-octocat{background-position:-9829px 0}.emoticon-squirrel{background-position:-9861px 0}.emoticon-bamboo{background-position:-9893px 0}.emoticon-gift_heart{background-position:-9925px 0}.emoticon-dolls{background-position:-9957px 0}.emoticon-school_satchel{background-position:-9989px 0}.emoticon-mortar_board{background-position:-10021px 0}.emoticon-flags{background-position:-10053px 0}.emoticon-fireworks{background-position:-10085px 0}.emoticon-sparkler{background-position:-10117px 0}.emoticon-wind_chime{background-position:-10149px 0}.emoticon-rice_scene{background-position:-10181px 0}.emoticon-jack_o_lantern{background-position:-10213px 0}.emoticon-ghost{background-position:-10245px 0}.emoticon-santa{background-position:-10277px 0}.emoticon-christmas_tree{background-position:-10309px 0}.emoticon-gift{background-position:-10341px 0}.emoticon-bell{background-position:-10373px 0}.emoticon-no_bell{background-position:-10405px 0}.emoticon-tanabata_tree{background-position:-10437px 0}.emoticon-tada{background-position:-10469px 0}.emoticon-confetti_ball{background-position:-10501px 0}.emoticon-balloon{background-position:-10533px 0}.emoticon-crystal_ball{background-position:-10565px 0}.emoticon-cd{background-position:-10597px 0}.emoticon-dvd{background-position:-10629px 0}.emoticon-floppy_disk{background-position:-10661px 0}.emoticon-camera{background-position:-10693px 0}.emoticon-video_camera{background-position:-10725px 0}.emoticon-movie_camera{background-position:-10757px 0}.emoticon-computer{background-position:-10789px 0}.emoticon-tv{background-position:-10821px 0}.emoticon-iphone{background-position:-10853px 0}.emoticon-phone{background-position:-10885px 0}.emoticon-telephone{background-position:-10917px 0}.emoticon-telephone_receiver{background-position:-10949px 0}.emoticon-pager{background-position:-10981px 0}.emoticon-fax{background-position:-11013px 0}.emoticon-minidisc{background-position:-11045px 0}.emoticon-vhs{background-position:-11077px 0}.emoticon-sound{background-position:-11109px 0}.emoticon-speaker{background-position:-11141px 0}.emoticon-mute{background-position:-11173px 0}.emoticon-loudspeaker{background-position:-11205px 0}.emoticon-mega{background-position:-11237px 0}.emoticon-hourglass{background-position:-11269px 0}.emoticon-hourglass_flowing_sand{background-position:-11301px 0}.emoticon-alarm_clock{background-position:-11333px 0}.emoticon-watch{background-position:-11365px 0}.emoticon-radio{background-position:-11397px 0}.emoticon-satellite{background-position:-11429px 0}.emoticon-loop{background-position:-11461px 0}.emoticon-mag{background-position:-11493px 0}.emoticon-mag_right{background-position:-11525px 0}.emoticon-unlock{background-position:-11557px 0}.emoticon-lock{background-position:-11589px 0}.emoticon-lock_with_ink_pen{background-position:-11621px 0}.emoticon-closed_lock_with_key{background-position:-11653px 0}.emoticon-key{background-position:-11685px 0}.emoticon-bulb{background-position:-11717px 0}.emoticon-flashlight{background-position:-11749px 0}.emoticon-high_brightness{background-position:-11781px 0}.emoticon-low_brightness{background-position:-11813px 0}.emoticon-electric_plug{background-position:-11845px 0}.emoticon-battery{background-position:-11877px 0}.emoticon-calling{background-position:-11909px 0}.emoticon-email{background-position:-11941px 0}.emoticon-mailbox{background-position:-11973px 0}.emoticon-postbox{background-position:-12005px 0}.emoticon-bath{background-position:-12037px 0}.emoticon-bathtub{background-position:-12069px 0}.emoticon-shower{background-position:-12101px 0}.emoticon-toilet{background-position:-12133px 0}.emoticon-wrench{background-position:-12165px 0}.emoticon-nut_and_bolt{background-position:-12197px 0}.emoticon-hammer{background-position:-12229px 0}.emoticon-seat{background-position:-12261px 0}.emoticon-moneybag{background-position:-12293px 0}.emoticon-yen{background-position:-12325px 0}.emoticon-dollar{background-position:-12357px 0}.emoticon-pound{background-position:-12389px 0}.emoticon-euro{background-position:-12421px 0}.emoticon-credit_card{background-position:-12453px 0}.emoticon-money_with_wings{background-position:-12485px 0}.emoticon-e\-mail{background-position:-12517px 0}.emoticon-inbox_tray{background-position:-12549px 0}.emoticon-outbox_tray{background-position:-12581px 0}.emoticon-envelope{background-position:-12613px 0}.emoticon-incoming_envelope{background-position:-12645px 0}.emoticon-postal_horn{background-position:-12677px 0}.emoticon-mailbox_closed{background-position:-12709px 0}.emoticon-mailbox_with_mail{background-position:-12741px 0}.emoticon-mailbox_with_no_mail{background-position:-12773px 0}.emoticon-door{background-position:-12805px 0}.emoticon-smoking{background-position:-12837px 0}.emoticon-bomb{background-position:-12869px 0}.emoticon-gun{background-position:-12901px 0}.emoticon-hocho{background-position:-12933px 0}.emoticon-pill{background-position:-12965px 0}.emoticon-syringe{background-position:-12997px 0}.emoticon-page_facing_up{background-position:-13029px 0}.emoticon-page_with_curl{background-position:-13061px 0}.emoticon-bookmark_tabs{background-position:-13093px 0}.emoticon-bar_chart{background-position:-13125px 0}.emoticon-chart_with_upwards_trend{background-position:-13157px 0}.emoticon-chart_with_downwards_trend{background-position:-13189px 0}.emoticon-scroll{background-position:-13221px 0}.emoticon-clipboard{background-position:-13253px 0}.emoticon-calendar{background-position:-13285px 0}.emoticon-date{background-position:-13317px 0}.emoticon-card_index{background-position:-13349px 0}.emoticon-file_folder{background-position:-13381px 0}.emoticon-open_file_folder{background-position:-13413px 0}.emoticon-scissors{background-position:-13445px 0}.emoticon-pushpin{background-position:-13477px 0}.emoticon-paperclip{background-position:-13509px 0}.emoticon-black_nib{background-position:-13541px 0}.emoticon-pencil2{background-position:-13573px 0}.emoticon-straight_ruler{background-position:-13605px 0}.emoticon-triangular_ruler{background-position:-13637px 0}.emoticon-closed_book{background-position:-13669px 0}.emoticon-green_book{background-position:-13701px 0}.emoticon-blue_book{background-position:-13733px 0}.emoticon-orange_book{background-position:-13765px 0}.emoticon-notebook{background-position:-13797px 0}.emoticon-notebook_with_decorative_cover{background-position:-13829px 0}.emoticon-ledger{background-position:-13861px 0}.emoticon-books{background-position:-13893px 0}.emoticon-bookmark{background-position:-13925px 0}.emoticon-name_badge{background-position:-13957px 0}.emoticon-microscope{background-position:-13989px 0}.emoticon-telescope{background-position:-14021px 0}.emoticon-newspaper{background-position:-14053px 0}.emoticon-football{background-position:-14085px 0}.emoticon-basketball{background-position:-14117px 0}.emoticon-soccer{background-position:-14149px 0}.emoticon-baseball{background-position:-14181px 0}.emoticon-tennis{background-position:-14213px 0}.emoticon-8ball{background-position:-14245px 0}.emoticon-rugby_football{background-position:-14277px 0}.emoticon-bowling{background-position:-14309px 0}.emoticon-golf{background-position:-14341px 0}.emoticon-mountain_bicyclist{background-position:-14373px 0}.emoticon-bicyclist{background-position:-14405px 0}.emoticon-horse_racing{background-position:-14437px 0}.emoticon-snowboarder{background-position:-14469px 0}.emoticon-swimmer{background-position:-14501px 0}.emoticon-surfer{background-position:-14533px 0}.emoticon-ski{background-position:-14565px 0}.emoticon-spades{background-position:-14597px 0}.emoticon-hearts{background-position:-14629px 0}.emoticon-clubs{background-position:-14661px 0}.emoticon-diamonds{background-position:-14693px 0}.emoticon-gem{background-position:-14725px 0}.emoticon-ring{background-position:-14757px 0}.emoticon-trophy{background-position:-14789px 0}.emoticon-musical_score{background-position:-14821px 0}.emoticon-musical_keyboard{background-position:-14853px 0}.emoticon-violin{background-position:-14885px 0}.emoticon-space_invader{background-position:-14917px 0}.emoticon-video_game{background-position:-14949px 0}.emoticon-black_joker{background-position:-14981px 0}.emoticon-flower_playing_cards{background-position:-15013px 0}.emoticon-game_die{background-position:-15045px 0}.emoticon-dart{background-position:-15077px 0}.emoticon-mahjong{background-position:-15109px 0}.emoticon-clapper{background-position:-15141px 0}.emoticon-memo{background-position:-15173px 0}.emoticon-pencil{background-position:-15205px 0}.emoticon-book{background-position:-15237px 0}.emoticon-art{background-position:-15269px 0}.emoticon-microphone{background-position:-15301px 0}.emoticon-headphones{background-position:-15333px 0}.emoticon-trumpet{background-position:-15365px 0}.emoticon-saxophone{background-position:-15397px 0}.emoticon-guitar{background-position:-15429px 0}.emoticon-shoe{background-position:-15461px 0}.emoticon-sandal{background-position:-15493px 0}.emoticon-high_heel{background-position:-15525px 0}.emoticon-lipstick{background-position:-15557px 0}.emoticon-boot{background-position:-15589px 0}.emoticon-shirt{background-position:-15621px 0}.emoticon-tshirt{background-position:-15653px 0}.emoticon-necktie{background-position:-15685px 0}.emoticon-womans_clothes{background-position:-15717px 0}.emoticon-dress{background-position:-15749px 0}.emoticon-running_shirt_with_sash{background-position:-15781px 0}.emoticon-jeans{background-position:-15813px 0}.emoticon-kimono{background-position:-15845px 0}.emoticon-bikini{background-position:-15877px 0}.emoticon-ribbon{background-position:-15909px 0}.emoticon-tophat{background-position:-15941px 0}.emoticon-crown{background-position:-15973px 0}.emoticon-womans_hat{background-position:-16005px 0}.emoticon-mans_shoe{background-position:-16037px 0}.emoticon-closed_umbrella{background-position:-16069px 0}.emoticon-briefcase{background-position:-16101px 0}.emoticon-handbag{background-position:-16133px 0}.emoticon-pouch{background-position:-16165px 0}.emoticon-purse{background-position:-16197px 0}.emoticon-eyeglasses{background-position:-16229px 0}.emoticon-fishing_pole_and_fish{background-position:-16261px 0}.emoticon-coffee{background-position:-16293px 0}.emoticon-tea{background-position:-16325px 0}.emoticon-sake{background-position:-16357px 0}.emoticon-baby_bottle{background-position:-16389px 0}.emoticon-beer{background-position:-16421px 0}.emoticon-beers{background-position:-16453px 0}.emoticon-cocktail{background-position:-16485px 0}.emoticon-tropical_drink{background-position:-16517px 0}.emoticon-wine_glass{background-position:-16549px 0}.emoticon-fork_and_knife{background-position:-16581px 0}.emoticon-pizza{background-position:-16613px 0}.emoticon-hamburger{background-position:-16645px 0}.emoticon-fries{background-position:-16677px 0}.emoticon-poultry_leg{background-position:-16709px 0}.emoticon-meat_on_bone{background-position:-16741px 0}.emoticon-spaghetti{background-position:-16773px 0}.emoticon-curry{background-position:-16805px 0}.emoticon-fried_shrimp{background-position:-16837px 0}.emoticon-bento{background-position:-16869px 0}.emoticon-sushi{background-position:-16901px 0}.emoticon-fish_cake{background-position:-16933px 0}.emoticon-rice_ball{background-position:-16965px 0}.emoticon-rice_cracker{background-position:-16997px 0}.emoticon-rice{background-position:-17029px 0}.emoticon-ramen{background-position:-17061px 0}.emoticon-stew{background-position:-17093px 0}.emoticon-oden{background-position:-17125px 0}.emoticon-dango{background-position:-17157px 0}.emoticon-egg{background-position:-17189px 0}.emoticon-bread{background-position:-17221px 0}.emoticon-doughnut{background-position:-17253px 0}.emoticon-custard{background-position:-17285px 0}.emoticon-icecream{background-position:-17317px 0}.emoticon-ice_cream{background-position:-17349px 0}.emoticon-shaved_ice{background-position:-17381px 0}.emoticon-birthday{background-position:-17413px 0}.emoticon-cake{background-position:-17445px 0}.emoticon-cookie{background-position:-17477px 0}.emoticon-chocolate_bar{background-position:-17509px 0}.emoticon-candy{background-position:-17541px 0}.emoticon-lollipop{background-position:-17573px 0}.emoticon-honey_pot{background-position:-17605px 0}.emoticon-apple{background-position:-17637px 0}.emoticon-green_apple{background-position:-17669px 0}.emoticon-tangerine{background-position:-17701px 0}.emoticon-lemon{background-position:-17733px 0}.emoticon-cherries{background-position:-17765px 0}.emoticon-grapes{background-position:-17797px 0}.emoticon-watermelon{background-position:-17829px 0}.emoticon-strawberry{background-position:-17861px 0}.emoticon-peach{background-position:-17893px 0}.emoticon-melon{background-position:-17925px 0}.emoticon-banana{background-position:-17957px 0}.emoticon-pear{background-position:-17989px 0}.emoticon-pineapple{background-position:-18021px 0}.emoticon-sweet_potato{background-position:-18053px 0}.emoticon-eggplant{background-position:-18085px 0}.emoticon-tomato{background-position:-18117px 0}.emoticon-corn{background-position:-18149px 0}.emoticon-house{background-position:-18181px 0}.emoticon-house_with_garden{background-position:-18213px 0}.emoticon-school{background-position:-18245px 0}.emoticon-office{background-position:-18277px 0}.emoticon-post_office{background-position:-18309px 0}.emoticon-hospital{background-position:-18341px 0}.emoticon-bank{background-position:-18373px 0}.emoticon-convenience_store{background-position:-18405px 0}.emoticon-love_hotel{background-position:-18437px 0}.emoticon-hotel{background-position:-18469px 0}.emoticon-wedding{background-position:-18501px 0}.emoticon-church{background-position:-18533px 0}.emoticon-department_store{background-position:-18565px 0}.emoticon-european_post_office{background-position:-18597px 0}.emoticon-city_sunrise{background-position:-18629px 0}.emoticon-city_sunset{background-position:-18661px 0}.emoticon-japanese_castle{background-position:-18693px 0}.emoticon-european_castle{background-position:-18725px 0}.emoticon-tent{background-position:-18757px 0}.emoticon-factory{background-position:-18789px 0}.emoticon-tokyo_tower{background-position:-18821px 0}.emoticon-japan{background-position:-18853px 0}.emoticon-mount_fuji{background-position:-18885px 0}.emoticon-sunrise_over_mountains{background-position:-18917px 0}.emoticon-sunrise{background-position:-18949px 0}.emoticon-stars,.emoticon-themoreyouknow,.emoticon-tmyk{background-position:-18981px 0}.emoticon-statue_of_liberty{background-position:-19013px 0}.emoticon-bridge_at_night{background-position:-19045px 0}.emoticon-carousel_horse{background-position:-19077px 0}.emoticon-rainbow{background-position:-19109px 0}.emoticon-ferris_wheel{background-position:-19141px 0}.emoticon-fountain{background-position:-19173px 0}.emoticon-roller_coaster{background-position:-19205px 0}.emoticon-ship{background-position:-19237px 0}.emoticon-speedboat{background-position:-19269px 0}.emoticon-boat{background-position:-19301px 0}.emoticon-sailboat{background-position:-19333px 0}.emoticon-rowboat{background-position:-19365px 0}.emoticon-anchor{background-position:-19397px 0}.emoticon-rocket{background-position:-19429px 0}.emoticon-airplane{background-position:-19461px 0}.emoticon-helicopter{background-position:-19493px 0}.emoticon-steam_locomotive{background-position:-19525px 0}.emoticon-tram{background-position:-19557px 0}.emoticon-mountain_railway{background-position:-19589px 0}.emoticon-bike{background-position:-19621px 0}.emoticon-aerial_tramway{background-position:-19653px 0}.emoticon-suspension_railway{background-position:-19685px 0}.emoticon-mountain_cableway{background-position:-19717px 0}.emoticon-tractor{background-position:-19749px 0}.emoticon-blue_car{background-position:-19781px 0}.emoticon-oncoming_automobile{background-position:-19813px 0}.emoticon-car{background-position:-19845px 0}.emoticon-red_car{background-position:-19877px 0}.emoticon-taxi{background-position:-19909px 0}.emoticon-oncoming_taxi{background-position:-19941px 0}.emoticon-articulated_lorry{background-position:-19973px 0}.emoticon-bus{background-position:-20005px 0}.emoticon-oncoming_bus{background-position:-20037px 0}.emoticon-rotating_light{background-position:-20069px 0}.emoticon-police_car{background-position:-20101px 0}.emoticon-oncoming_police_car{background-position:-20133px 0}.emoticon-fire_engine{background-position:-20165px 0}.emoticon-ambulance{background-position:-20197px 0}.emoticon-minibus{background-position:-20229px 0}.emoticon-truck{background-position:-20261px 0}.emoticon-train{background-position:-20293px 0}.emoticon-station{background-position:-20325px 0}.emoticon-train2{background-position:-20357px 0}.emoticon-bullettrain_front{background-position:-20389px 0}.emoticon-bullettrain_side{background-position:-20421px 0}.emoticon-light_rail{background-position:-20453px 0}.emoticon-monorail{background-position:-20485px 0}.emoticon-railway_car{background-position:-20517px 0}.emoticon-trolleybus{background-position:-20549px 0}.emoticon-ticket{background-position:-20581px 0}.emoticon-fuelpump{background-position:-20613px 0}.emoticon-vertical_traffic_light{background-position:-20645px 0}.emoticon-traffic_light{background-position:-20677px 0}.emoticon-warning{background-position:-20709px 0}.emoticon-construction{background-position:-20741px 0}.emoticon-beginner{background-position:-20773px 0}.emoticon-atm{background-position:-20805px 0}.emoticon-slot_machine{background-position:-20837px 0}.emoticon-busstop{background-position:-20869px 0}.emoticon-barber{background-position:-20901px 0}.emoticon-hotsprings{background-position:-20933px 0}.emoticon-checkered_flag{background-position:-20965px 0}.emoticon-crossed_flags{background-position:-20997px 0}.emoticon-izakaya_lantern{background-position:-21029px 0}.emoticon-moyai{background-position:-21061px 0}.emoticon-circus_tent{background-position:-21093px 0}.emoticon-performing_arts{background-position:-21125px 0}.emoticon-round_pushpin{background-position:-21157px 0}.emoticon-triangular_flag_on_post{background-position:-21189px 0}.emoticon-jp{background-position:-21221px 0}.emoticon-kr{background-position:-21253px 0}.emoticon-cn{background-position:-21285px 0}.emoticon-us{background-position:-21317px 0}.emoticon-fr{background-position:-21349px 0}.emoticon-es{background-position:-21381px 0}.emoticon-it{background-position:-21413px 0}.emoticon-ru{background-position:-21445px 0}.emoticon-gb{background-position:-21477px 0}.emoticon-uk{background-position:-21509px 0}.emoticon-de{background-position:-21541px 0}.emoticon-one{background-position:-21573px 0}.emoticon-two{background-position:-21605px 0}.emoticon-three{background-position:-21637px 0}.emoticon-four{background-position:-21669px 0}.emoticon-five{background-position:-21701px 0}.emoticon-six{background-position:-21733px 0}.emoticon-seven{background-position:-21765px 0}.emoticon-eight{background-position:-21797px 0}.emoticon-nine{background-position:-21829px 0}.emoticon-keycap_ten{background-position:-21861px 0}.emoticon-1234{background-position:-21893px 0}.emoticon-zero{background-position:-21925px 0}.emoticon-hash{background-position:-21957px 0}.emoticon-symbols{background-position:-21989px 0}.emoticon-arrow_backward{background-position:-22021px 0}.emoticon-arrow_down{background-position:-22053px 0}.emoticon-arrow_forward{background-position:-22085px 0}.emoticon-arrow_left{background-position:-22117px 0}.emoticon-capital_abcd{background-position:-22149px 0}.emoticon-abcd{background-position:-22181px 0}.emoticon-abc{background-position:-22213px 0}.emoticon-arrow_lower_left{background-position:-22245px 0}.emoticon-arrow_lower_right{background-position:-22277px 0}.emoticon-arrow_right{background-position:-22309px 0}.emoticon-arrow_up{background-position:-22341px 0}.emoticon-arrow_upper_left{background-position:-22373px 0}.emoticon-arrow_upper_right{background-position:-22405px 0}.emoticon-arrow_double_down{background-position:-22437px 0}.emoticon-arrow_double_up{background-position:-22469px 0}.emoticon-arrow_down_small{background-position:-22501px 0}.emoticon-arrow_heading_down{background-position:-22533px 0}.emoticon-arrow_heading_up{background-position:-22565px 0}.emoticon-leftwards_arrow_with_hook{background-position:-22597px 0}.emoticon-arrow_right_hook{background-position:-22629px 0}.emoticon-left_right_arrow{background-position:-22661px 0}.emoticon-arrow_up_down{background-position:-22693px 0}.emoticon-arrow_up_small{background-position:-22725px 0}.emoticon-arrows_clockwise{background-position:-22757px 0}.emoticon-arrows_counterclockwise{background-position:-22789px 0}.emoticon-rewind{background-position:-22821px 0}.emoticon-fast_forward{background-position:-22853px 0}.emoticon-information_source{background-position:-22885px 0}.emoticon-ok{background-position:-22917px 0}.emoticon-twisted_rightwards_arrows{background-position:-22949px 0}.emoticon-repeat{background-position:-22981px 0}.emoticon-repeat_one{background-position:-23013px 0}.emoticon-new{background-position:-23045px 0}.emoticon-top{background-position:-23077px 0}.emoticon-up{background-position:-23109px 0}.emoticon-cool{background-position:-23141px 0}.emoticon-free{background-position:-23173px 0}.emoticon-ng{background-position:-23205px 0}.emoticon-cinema{background-position:-23237px 0}.emoticon-koko{background-position:-23269px 0}.emoticon-signal_strength{background-position:-23301px 0}.emoticon-u5272{background-position:-23333px 0}.emoticon-u5408{background-position:-23365px 0}.emoticon-u55b6{background-position:-23397px 0}.emoticon-u6307{background-position:-23429px 0}.emoticon-u6708{background-position:-23461px 0}.emoticon-u6709{background-position:-23493px 0}.emoticon-u6e80{background-position:-23525px 0}.emoticon-u7121{background-position:-23557px 0}.emoticon-u7533{background-position:-23589px 0}.emoticon-u7a7a{background-position:-23621px 0}.emoticon-u7981{background-position:-23653px 0}.emoticon-sa{background-position:-23685px 0}.emoticon-restroom{background-position:-23717px 0}.emoticon-mens{background-position:-23749px 0}.emoticon-womens{background-position:-23781px 0}.emoticon-baby_symbol{background-position:-23813px 0}.emoticon-no_smoking{background-position:-23845px 0}.emoticon-parking{background-position:-23877px 0}.emoticon-wheelchair{background-position:-23909px 0}.emoticon-metro{background-position:-23941px 0}.emoticon-baggage_claim{background-position:-23973px 0}.emoticon-accept{background-position:-24005px 0}.emoticon-wc{background-position:-24037px 0}.emoticon-potable_water{background-position:-24069px 0}.emoticon-put_litter_in_its_place{background-position:-24101px 0}.emoticon-secret{background-position:-24133px 0}.emoticon-congratulations{background-position:-24165px 0}.emoticon-m{background-position:-24197px 0}.emoticon-passport_control{background-position:-24229px 0}.emoticon-left_luggage{background-position:-24261px 0}.emoticon-customs{background-position:-24293px 0}.emoticon-ideograph_advantage{background-position:-24325px 0}.emoticon-cl{background-position:-24357px 0}.emoticon-sos{background-position:-24389px 0}.emoticon-id{background-position:-24421px 0}.emoticon-no_entry_sign{background-position:-24453px 0}.emoticon-underage{background-position:-24485px 0}.emoticon-no_mobile_phones{background-position:-24517px 0}.emoticon-do_not_litter{background-position:-24549px 0}.emoticon-non\-potable_water{background-position:-24581px 0}.emoticon-no_bicycles{background-position:-24613px 0}.emoticon-no_pedestrians{background-position:-24645px 0}.emoticon-children_crossing{background-position:-24677px 0}.emoticon-no_entry{background-position:-24709px 0}.emoticon-eight_spoked_asterisk{background-position:-24741px 0}.emoticon-eight_pointed_black_star{background-position:-24773px 0}.emoticon-heart_decoration{background-position:-24805px 0}.emoticon-vs{background-position:-24837px 0}.emoticon-vibration_mode{background-position:-24869px 0}.emoticon-mobile_phone_off{background-position:-24901px 0}.emoticon-chart{background-position:-24933px 0}.emoticon-currency_exchange{background-position:-24965px 0}.emoticon-aries{background-position:-24997px 0}.emoticon-taurus{background-position:-25029px 0}.emoticon-gemini{background-position:-25061px 0}.emoticon-cancer{background-position:-25093px 0}.emoticon-leo{background-position:-25125px 0}.emoticon-virgo{background-position:-25157px 0}.emoticon-libra{background-position:-25189px 0}.emoticon-scorpius{background-position:-25221px 0}.emoticon-sagittarius{background-position:-25253px 0}.emoticon-capricorn{background-position:-25285px 0}.emoticon-aquarius{background-position:-25317px 0}.emoticon-pisces{background-position:-25349px 0}.emoticon-ophiuchus{background-position:-25381px 0}.emoticon-six_pointed_star{background-position:-25413px 0}.emoticon-negative_squared_cross_mark{background-position:-25445px 0}.emoticon-a{background-position:-25477px 0}.emoticon-b{background-position:-25509px 0}.emoticon-ab{background-position:-25541px 0}.emoticon-o2{background-position:-25573px 0}.emoticon-diamond_shape_with_a_dot_inside{background-position:-25605px 0}.emoticon-recycle{background-position:-25637px 0}.emoticon-end{background-position:-25669px 0}.emoticon-on{background-position:-25701px 0}.emoticon-soon{background-position:-25733px 0}.emoticon-clock1{background-position:-25765px 0}.emoticon-clock130{background-position:-25797px 0}.emoticon-clock10{background-position:-25829px 0}.emoticon-clock1030{background-position:-25861px 0}.emoticon-clock11{background-position:-25893px 0}.emoticon-clock1130{background-position:-25925px 0}.emoticon-clock12{background-position:-25957px 0}.emoticon-clock1230{background-position:-25989px 0}.emoticon-clock2{background-position:-26021px 0}.emoticon-clock230{background-position:-26053px 0}.emoticon-clock3{background-position:-26085px 0}.emoticon-clock330{background-position:-26117px 0}.emoticon-clock4{background-position:-26149px 0}.emoticon-clock430{background-position:-26181px 0}.emoticon-clock5{background-position:-26213px 0}.emoticon-clock530{background-position:-26245px 0}.emoticon-clock6{background-position:-26277px 0}.emoticon-clock630{background-position:-26309px 0}.emoticon-clock7{background-position:-26341px 0}.emoticon-clock730{background-position:-26373px 0}.emoticon-clock8{background-position:-26405px 0}.emoticon-clock830{background-position:-26437px 0}.emoticon-clock9{background-position:-26469px 0}.emoticon-clock930{background-position:-26501px 0}.emoticon-heavy_dollar_sign{background-position:-26533px 0}.emoticon-copyright{background-position:-26565px 0}.emoticon-registered{background-position:-26597px 0}.emoticon-tm{background-position:-26629px 0}.emoticon-x{background-position:-26661px 0}.emoticon-heavy_exclamation_mark{background-position:-26693px 0}.emoticon-bangbang{background-position:-26725px 0}.emoticon-interrobang{background-position:-26757px 0}.emoticon-o{background-position:-26789px 0}.emoticon-heavy_multiplication_x{background-position:-26821px 0}.emoticon-heavy_plus_sign{background-position:-26853px 0}.emoticon-heavy_minus_sign{background-position:-26885px 0}.emoticon-heavy_division_sign{background-position:-26917px 0}.emoticon-white_flower{background-position:-26949px 0}.emoticon-100{background-position:-26981px 0}.emoticon-heavy_check_mark{background-position:-27013px 0}.emoticon-ballot_box_with_check{background-position:-27045px 0}.emoticon-radio_button{background-position:-27077px 0}.emoticon-link{background-position:-27109px 0}.emoticon-curly_loop{background-position:-27141px 0}.emoticon-wavy_dash{background-position:-27173px 0}.emoticon-part_alternation_mark{background-position:-27205px 0}.emoticon-trident{background-position:-27237px 0}.emoticon-black_large_square{background-position:-27269px 0}.emoticon-white_large_square{background-position:-27301px 0}.emoticon-white_check_mark{background-position:-27333px 0}.emoticon-black_square{background-position:-27268px 0}.emoticon-white_square{background-position:-27301px 0}.emoticon-black_square_button{background-position:-27365px 0}.emoticon-white_square_button{background-position:-27397px 0}.emoticon-black_circle{background-position:-27429px 0}.emoticon-white_circle{background-position:-27461px 0}.emoticon-red_circle{background-position:-27493px 0}.emoticon-large_blue_circle{background-position:-27525px 0}.emoticon-large_blue_diamond{background-position:-27557px 0}.emoticon-large_orange_diamond{background-position:-27589px 0}.emoticon-small_blue_diamond{background-position:-27621px 0}.emoticon-small_orange_diamond{background-position:-27653px 0}.emoticon-small_red_triangle{background-position:-27685px 0}.emoticon-small_red_triangle_down{background-position:-27717px 0}.emoticon-shipit{background-position:-27749px 0}.hljs{display:block;overflow-x:auto;padding:.5em;background:#f0f0f0;-webkit-text-size-adjust:none}.hljs,.hljs-subst,.hljs-tag .hljs-title,.nginx .hljs-title{color:#000}.apache .hljs-cbracket,.apache .hljs-tag,.asciidoc .hljs-header,.bash .hljs-variable,.coffeescript .hljs-attribute,.django .hljs-variable,.erlang_repl .hljs-function_or_atom,.haml .hljs-symbol,.hljs-addition,.hljs-constant,.hljs-flow,.hljs-name,.hljs-parent,.hljs-pragma,.hljs-preprocessor,.hljs-rule .hljs-value,.hljs-stream,.hljs-string,.hljs-tag .hljs-value,.hljs-template_tag,.hljs-title,.markdown .hljs-header,.pf .hljs-variable,.ruby .hljs-symbol,.ruby .hljs-symbol .hljs-string,.smalltalk .hljs-class,.tex .hljs-command,.tex .hljs-special,.tp .hljs-variable{color:#800}.asciidoc .hljs-blockquote,.diff .hljs-header,.hljs-annotation,.hljs-chunk,.hljs-comment,.markdown .hljs-blockquote,.smartquote{color:#888}.asciidoc .hljs-bullet,.asciidoc .hljs-link_url,.go .hljs-constant,.hljs-change,.hljs-date,.hljs-hexcolor,.hljs-literal,.hljs-number,.hljs-regexp,.lasso .hljs-variable,.makefile .hljs-variable,.markdown .hljs-bullet,.markdown .hljs-link_url,.smalltalk .hljs-char,.smalltalk .hljs-symbol{color:#080}.apache .hljs-sqbracket,.asciidoc .hljs-attribute,.asciidoc .hljs-link_label,.clojure .hljs-attribute,.coffeescript .hljs-property,.erlang_repl .hljs-reserved,.haml .hljs-bullet,.hljs-array,.hljs-attr_selector,.hljs-decorator,.hljs-deletion,.hljs-doctype,.hljs-envvar,.hljs-filter .hljs-argument,.hljs-important,.hljs-label,.hljs-localvars,.hljs-phony,.hljs-pi,.hljs-prompt,.hljs-pseudo,.hljs-shebang,.lasso .hljs-attribute,.markdown .hljs-link_label,.nginx .hljs-built_in,.ruby .hljs-string,.tex .hljs-formula,.vhdl .hljs-attribute{color:#88f}.apache .hljs-tag,.asciidoc .hljs-strong,.bash .hljs-variable,.css .hljs-tag,.hljs-built_in,.hljs-doctag,.hljs-id,.hljs-keyword,.hljs-request,.hljs-status,.hljs-title,.hljs-type,.hljs-typename,.hljs-winutils,.markdown .hljs-strong,.pf .hljs-variable,.smalltalk .hljs-class,.tex .hljs-command,.tp .hljs-data,.tp .hljs-io{font-weight:700}.asciidoc .hljs-emphasis,.markdown .hljs-emphasis,.tp .hljs-units{font-style:italic}.nginx .hljs-built_in{font-weight:400}.coffeescript .javascript,.javascript .xml,.lasso .markup,.tex .hljs-formula,.xml .css,.xml .hljs-cdata,.xml .javascript,.xml .vbscript{opacity:.5}/*!
  * ui-grid - v3.0.7 - 2015-10-06
  * Copyright (c) 2015 ; License: MIT 
- */.ui-grid{border:1px solid #d4d4d4;box-sizing:content-box;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-o-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0)}.ui-grid-vertical-bar{position:absolute;right:0;width:0}.ui-grid-scrollbar-placeholder{background-color:transparent}.ui-grid-cell:not(:last-child) .ui-grid-vertical-bar,.ui-grid-header-cell:not(:last-child) .ui-grid-vertical-bar{width:1px;background-color:#d4d4d4}.ui-grid-header-cell:last-child .ui-grid-vertical-bar{right:-1px;width:1px;background-color:#d4d4d4}.ui-grid-clearfix:after,.ui-grid-clearfix:before{content:"";display:table}.ui-grid-invisible{visibility:hidden}.ui-grid-contents-wrapper{position:relative;height:100%;width:100%}.ui-grid-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.ui-grid-top-panel-background{background:#f3f3f3;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#eee),color-stop(1,#fff));background:-ms-linear-gradient(bottom,#eee,#fff);background:-moz-linear-gradient(center bottom,#eee 0,#fff 100%);background:-o-linear-gradient(#fff,#eee)}.ui-grid-header{border-bottom:1px solid #d4d4d4}.ui-grid-top-panel{position:relative;overflow:hidden;font-weight:700;background:#f3f3f3;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#eee),color-stop(1,#fff));background:-ms-linear-gradient(bottom,#eee,#fff);background:-moz-linear-gradient(center bottom,#eee 0,#fff 100%);background:-o-linear-gradient(#fff,#eee);-moz-border-radius-topright:-1px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:-1px;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-border-radius:-1px -1px 0 0;border-radius:-1px -1px 0 0}.ui-grid-header-viewport{overflow:hidden}.ui-grid-header-canvas:after,.ui-grid-header-canvas:before{content:"";display:table;line-height:0}.ui-grid-header-cell-wrapper{position:relative;display:table;box-sizing:border-box;height:100%}.ui-grid-header-cell-row{display:table-row;position:relative}.ui-grid-header-cell{position:relative;background-color:inherit;border-right:1px solid;border-color:#d4d4d4;display:table-cell;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:0}.ui-grid-header-cell:last-child{border-right:0}.ui-grid-header-cell .sortable{cursor:pointer}.ui-grid-header-cell .ui-grid-sort-priority-number{margin-left:-8px}.ui-grid-header .ui-grid-vertical-bar{top:0;bottom:0}.ui-grid-column-menu-button{position:absolute;right:1px;top:0}.ui-grid-column-menu-button .ui-grid-icon-angle-down{vertical-align:sub}.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button,.ui-grid-pager-control button{vertical-align:middle;touch-action:manipulation;-webkit-user-select:none;white-space:nowrap}.ui-grid-column-menu-button-last-col{margin-right:25px}.ui-grid-column-menu{position:absolute}.ui-grid-column-menu .ui-grid-menu .ui-grid-menu-mid.ng-hide-add,.ui-grid-column-menu .ui-grid-menu .ui-grid-menu-mid.ng-hide-remove{-webkit-transition:all 50ms linear;-moz-transition:all 50ms linear;-o-transition:all 50ms linear;transition:all 50ms linear;display:block!important}.ui-grid-column-menu .ui-grid-menu .ui-grid-menu-mid.ng-hide-add.ng-hide-add-active,.ui-grid-column-menu .ui-grid-menu .ui-grid-menu-mid.ng-hide-remove{-webkit-transform:translateY(-100%);-moz-transform:translateY(-100%);-o-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}.ui-grid-column-menu .ui-grid-menu .ui-grid-menu-mid.ng-hide-add,.ui-grid-column-menu .ui-grid-menu .ui-grid-menu-mid.ng-hide-remove.ng-hide-remove-active{-webkit-transform:translateY(0);-moz-transform:translateY(0);-o-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.ui-grid-menu-button .ui-grid-menu .ui-grid-menu-mid.ng-hide-add,.ui-grid-menu-button .ui-grid-menu .ui-grid-menu-mid.ng-hide-remove{-webkit-transition:all 50ms linear;-moz-transition:all 50ms linear;-o-transition:all 50ms linear;transition:all 50ms linear;display:block!important}.ui-grid-menu-button .ui-grid-menu .ui-grid-menu-mid.ng-hide-add.ng-hide-add-active,.ui-grid-menu-button .ui-grid-menu .ui-grid-menu-mid.ng-hide-remove{-webkit-transform:translateY(-100%);-moz-transform:translateY(-100%);-o-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}.ui-grid-menu-button .ui-grid-menu .ui-grid-menu-mid.ng-hide-add,.ui-grid-menu-button .ui-grid-menu .ui-grid-menu-mid.ng-hide-remove.ng-hide-remove-active{-webkit-transform:translateY(0);-moz-transform:translateY(0);-o-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.ui-grid-filter-container{padding:4px 10px;position:relative}.ui-grid-filter-container .ui-grid-filter-button{position:absolute;top:0;bottom:0;right:0}.ui-grid-filter-container .ui-grid-filter-button [class^=ui-grid-icon]{position:absolute;top:50%;line-height:32px;margin-top:-16px;right:10px;opacity:.66}.ui-grid-filter-container .ui-grid-filter-button [class^=ui-grid-icon]:hover{opacity:1}.ui-grid-filter-container .ui-grid-filter-button-select{position:absolute;top:0;bottom:0;right:0}.ui-grid-filter-container .ui-grid-filter-button-select [class^=ui-grid-icon]{position:absolute;top:50%;line-height:32px;margin-top:-16px;right:0;opacity:.66}.ui-grid-filter-container .ui-grid-filter-button-select [class^=ui-grid-icon]:hover{opacity:1}select.ui-grid-filter-select{padding:0;margin:0;width:90%;border:1px solid #d4d4d4;-moz-border-radius-topright:0;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:0;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-border-radius:0;border-radius:0}select.ui-grid-filter-select:hover{border:1px solid #d4d4d4}.ui-grid-no-row-overlay,.ui-grid-render-container{-moz-border-radius-topright:0;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:0}.ui-grid-filter-cancel-button-hidden select.ui-grid-filter-select{width:100%}.ui-grid-render-container{position:inherit;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-border-radius:0;border-radius:0}.ui-grid-render-container:focus{outline:0}.ui-grid-viewport{min-height:20px;position:relative;overflow-y:scroll;-webkit-overflow-scrolling:touch}.ui-grid-viewport:focus{outline:0!important}.ui-grid-canvas{position:relative;padding-top:1px}.ui-grid-row:nth-child(odd) .ui-grid-cell{background-color:#fdfdfd}.ui-grid-footer-panel-background,.ui-grid-no-row-overlay{background:#f3f3f3;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0)}.ui-grid-row:nth-child(even) .ui-grid-cell{background-color:#f3f3f3}.ui-grid-row:last-child .ui-grid-cell{border-bottom-color:#d4d4d4;border-bottom-style:solid}.ui-grid-no-row-overlay{position:absolute;top:0;bottom:0;left:0;right:0;margin:10%;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#eee),color-stop(1,#fff));background:-ms-linear-gradient(bottom,#eee,#fff);background:-moz-linear-gradient(center bottom,#eee 0,#fff 100%);background:-o-linear-gradient(#fff,#eee);-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #d4d4d4;font-size:2em;text-align:center;-webkit-border-radius:0;border-radius:0}.ui-grid-no-row-overlay>*{position:absolute;display:table;margin:auto 0;width:100%;top:0;bottom:0;left:0;right:0;opacity:.66}.ui-grid-cell{overflow:hidden;float:left;background-color:inherit;border-right:1px solid;border-color:#d4d4d4}.ui-grid-cell:last-child{border-right:0}.ui-grid-cell-contents{padding:5px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;height:100%}.ui-grid-cell-contents-hidden{visibility:hidden;width:0;height:0;display:none}.ui-grid-row .ui-grid-cell.ui-grid-row-header-cell{background-color:#f0f0ee;border-bottom:solid 1px #d4d4d4}.ui-grid-footer-panel-background{background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#eee),color-stop(1,#fff));background:-ms-linear-gradient(bottom,#eee,#fff);background:-moz-linear-gradient(center bottom,#eee 0,#fff 100%);background:-o-linear-gradient(#fff,#eee)}.ui-grid-footer-panel{position:relative;border-bottom:1px solid #d4d4d4;border-top:1px solid #d4d4d4;overflow:hidden;font-weight:700;background:#f3f3f3;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#eee),color-stop(1,#fff));background:-ms-linear-gradient(bottom,#eee,#fff);background:-moz-linear-gradient(center bottom,#eee 0,#fff 100%);background:-o-linear-gradient(#fff,#eee);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);-moz-border-radius-topright:-1px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:-1px;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-border-radius:-1px -1px 0 0;border-radius:-1px -1px 0 0}.ui-grid-grid-footer{float:left;width:100%}.ui-grid-footer-viewport{overflow:hidden}.ui-grid-footer-canvas{position:relative}.ui-grid-footer-canvas:after,.ui-grid-footer-canvas:before{content:"";display:table;line-height:0}.ui-grid-footer-cell-wrapper{position:relative;display:table;box-sizing:border-box;height:100%}.ui-grid-menu,.ui-grid-menu-button{position:absolute;cursor:pointer;z-index:2}.ui-grid-footer-cell-row{display:table-row}.ui-grid-footer-cell{overflow:hidden;background-color:inherit;border-right:1px solid;border-color:#d4d4d4;box-sizing:border-box;display:table-cell}.ui-grid-footer-cell:last-child{border-right:0}input[type=text].ui-grid-filter-input{padding:0;margin:0;width:100%;border:1px solid #d4d4d4;-moz-border-radius-topright:0;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:0;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-border-radius:0;border-radius:0}input[type=text].ui-grid-filter-input:hover{border:1px solid #d4d4d4}.ui-grid-menu-button{right:0;top:0;background:#f3f3f3;border:1px solid #d4d4d4;height:31px;font-weight:400}.ui-grid-menu-button .ui-grid-icon-container{margin-top:3px}.ui-grid-menu-button .ui-grid-menu{right:0}.ui-grid-menu-button .ui-grid-menu .ui-grid-menu-mid{overflow:scroll;max-height:300px;border:1px solid #d4d4d4}.ui-grid-menu{padding:0 10px 20px;box-sizing:border-box}.ui-grid-menu .ui-grid-menu-inner{background:#f3f3f3;border:1px solid #d4d4d4;position:relative;white-space:nowrap;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:0 10px 20px rgba(0,0,0,.2),inset 0 12px 12px -14px rgba(0,0,0,.2);-moz-box-shadow:0 10px 20px rgba(0,0,0,.2),inset 0 12px 12px -14px rgba(0,0,0,.2);box-shadow:0 10px 20px rgba(0,0,0,.2),inset 0 12px 12px -14px rgba(0,0,0,.2)}.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button{position:absolute;right:0;top:0;display:inline-block;margin-bottom:0;font-weight:400;text-align:center;cursor:pointer;background-image:none;border:1px solid transparent;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:1px;font-size:10px;line-height:1;border-radius:2px;color:transparent;background-color:transparent}.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.active.focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.active:focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:active.focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:active:focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:hover{text-decoration:none}.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.active,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:active{outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.disabled,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button[disabled],fieldset[disabled] .ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.open>.dropdown-toggle.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button,.open>.dropdown-toggle.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.focus,.open>.dropdown-toggle.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:focus,.open>.dropdown-toggle.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:hover,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.active,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.active.focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.active:focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.active:hover,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:active,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:active.focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:active:focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:active:hover,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:hover{color:transparent;background-color:rgba(0,0,0,0);border-color:transparent}.open>.dropdown-toggle.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.active,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:active{background-image:none}.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.disabled,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.disabled.active,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.disabled.focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.disabled:active,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.disabled:focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.disabled:hover,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button[disabled],.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button[disabled].active,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button[disabled].focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button[disabled]:active,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button[disabled]:focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button[disabled]:hover,fieldset[disabled] .ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button,fieldset[disabled] .ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.active,fieldset[disabled] .ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.focus,fieldset[disabled] .ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:active,fieldset[disabled] .ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:focus,fieldset[disabled] .ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:hover{background-color:transparent;border-color:transparent}.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button .badge{color:transparent;background-color:transparent}.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button>i{opacity:.75;color:#000}div.ui-grid-cell input,div.ui-grid-cell input:focus{color:inherit;outline:0}.ui-grid-menu .ui-grid-menu-inner ul{margin:0;padding:0;list-style-type:none}.ui-grid-menu .ui-grid-menu-inner ul li{padding:0}.ui-grid-menu .ui-grid-menu-inner ul li button{min-width:100%;padding:8px;text-align:left;background:0 0;border:none}.ui-grid-menu .ui-grid-menu-inner ul li button:focus,.ui-grid-menu .ui-grid-menu-inner ul li button:hover{-webkit-box-shadow:inset 0 0 14px rgba(0,0,0,.2);-moz-box-shadow:inset 0 0 14px rgba(0,0,0,.2);box-shadow:inset 0 0 14px rgba(0,0,0,.2)}.ui-grid-menu .ui-grid-menu-inner ul li button.ui-grid-menu-item-active{-webkit-box-shadow:inset 0 0 14px rgba(0,0,0,.2);-moz-box-shadow:inset 0 0 14px rgba(0,0,0,.2);box-shadow:inset 0 0 14px rgba(0,0,0,.2);background-color:#cecece}.ui-grid-menu .ui-grid-menu-inner ul li:not(:last-child)>button{border-bottom:1px solid #d4d4d4}.ui-grid-sortarrow{right:5px;position:absolute;width:20px;top:0;bottom:0;background-position:center}.ui-grid-sortarrow.down{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-o-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}@font-face{font-family:ui-grid;src:url(ui-grid.eot);src:url(ui-grid.eot#iefix) format('embedded-opentype'),url(ui-grid.woff) format('woff'),url(ui-grid.ttf) format('truetype'),url(ui-grid.svg?#ui-grid) format('svg');font-weight:400;font-style:normal}[class*=" ui-grid-icon"]:before,[class^=ui-grid-icon]:before{font-family:ui-grid;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em}.ui-grid-icon-blank::before{width:1em;content:' '}.ui-grid[dir=rtl] .ui-grid-cell,.ui-grid[dir=rtl] .ui-grid-footer-cell,.ui-grid[dir=rtl] .ui-grid-header-cell{float:right!important}.scrollFiller,.ui-grid-pager-container,.ui-grid-pager-row-count-picker{float:left}.ui-grid[dir=rtl] .ui-grid-column-menu-button{position:absolute;left:1px;top:0;right:inherit}.ui-grid[dir=rtl] .ui-grid-cell:first-child,.ui-grid[dir=rtl] .ui-grid-footer-cell:first-child,.ui-grid[dir=rtl] .ui-grid-header-cell:first-child{border-right:0}.ui-grid[dir=rtl] .ui-grid-cell:last-child,.ui-grid[dir=rtl] .ui-grid-header-cell:last-child{border-right:1px solid #d4d4d4;border-left:0}.ui-grid[dir=rtl] .ui-grid-cell:first-child .ui-grid-vertical-bar,.ui-grid[dir=rtl] .ui-grid-footer-cell:first-child .ui-grid-vertical-bar,.ui-grid[dir=rtl] .ui-grid-header-cell:first-child .ui-grid-vertical-bar{width:0}.ui-grid[dir=rtl] .ui-grid-menu-button{z-index:2;position:absolute;left:0;right:auto;background:#f3f3f3;border:1px solid #d4d4d4;cursor:pointer;min-height:27px;font-weight:400}.ui-grid[dir=rtl] .ui-grid-menu-button .ui-grid-menu{left:0;right:auto}.ui-grid[dir=rtl] .ui-grid-filter-container .ui-grid-filter-button{right:initial;left:0}.ui-grid[dir=rtl] .ui-grid-filter-container .ui-grid-filter-button [class^=ui-grid-icon]{right:initial;left:10px}.ui-grid-animate-spin{-moz-animation:ui-grid-spin 2s infinite linear;-o-animation:ui-grid-spin 2s infinite linear;-webkit-animation:ui-grid-spin 2s infinite linear;animation:ui-grid-spin 2s infinite linear;display:inline-block}@-moz-keyframes ui-grid-spin{0%{-moz-transform:rotate(0);-o-transform:rotate(0);-webkit-transform:rotate(0);transform:rotate(0)}100%{-moz-transform:rotate(359deg);-o-transform:rotate(359deg);-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@-webkit-keyframes ui-grid-spin{0%{-moz-transform:rotate(0);-o-transform:rotate(0);-webkit-transform:rotate(0);transform:rotate(0)}100%{-moz-transform:rotate(359deg);-o-transform:rotate(359deg);-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@-o-keyframes ui-grid-spin{0%{-moz-transform:rotate(0);-o-transform:rotate(0);-webkit-transform:rotate(0);transform:rotate(0)}100%{-moz-transform:rotate(359deg);-o-transform:rotate(359deg);-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@-ms-keyframes ui-grid-spin{0%{-moz-transform:rotate(0);-o-transform:rotate(0);-webkit-transform:rotate(0);transform:rotate(0)}100%{-moz-transform:rotate(359deg);-o-transform:rotate(359deg);-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes ui-grid-spin{0%{-moz-transform:rotate(0);-o-transform:rotate(0);-webkit-transform:rotate(0);transform:rotate(0)}100%{-moz-transform:rotate(359deg);-o-transform:rotate(359deg);-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.ui-grid-cell-focus{outline:0;background-color:#b3c4c7}.ui-grid-focuser{position:absolute;left:0;top:0;z-index:-1;width:100%;height:100%}.ui-grid-focuser:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.ui-grid-offscreen{display:block;position:absolute;left:-10000px;top:-10000px;clip:rect(0,0,0,0)}div.ui-grid-cell input{border-radius:inherit;padding:0;width:100%;height:auto;font:inherit}div.ui-grid-cell input[type=checkbox]{margin:9px 0 0 6px;width:auto}div.ui-grid-cell input.ng-invalid{border:1px solid #fc8f8f}.movingColumn,.scrollFiller,div.ui-grid-cell input.ng-valid{border:1px solid #d4d4d4}.expandableRow .ui-grid-row:nth-child(odd) .ui-grid-cell{background-color:#fdfdfd}.expandableRow .ui-grid-row:nth-child(even) .ui-grid-cell{background-color:#f3f3f3}.ui-grid-expandable-buttons-cell i{pointer-events:all}.movingColumn{position:absolute;top:0;box-shadow:inset 0 0 14px rgba(0,0,0,.2)}.movingColumn .ui-grid-icon-angle-down{display:none}#ui-grid-twbs #ui-grid-twbs .btn-group-vertical>.btn-group:after,#ui-grid-twbs #ui-grid-twbs .btn-group-vertical>.btn-group:before,#ui-grid-twbs #ui-grid-twbs .btn-toolbar:after,#ui-grid-twbs #ui-grid-twbs .btn-toolbar:before,#ui-grid-twbs #ui-grid-twbs .form-horizontal .form-group:after,#ui-grid-twbs #ui-grid-twbs .form-horizontal .form-group:before{content:" ";display:table}.ui-grid-pager-panel{position:absolute;left:0;bottom:0;width:100%;padding-top:3px;padding-bottom:3px}.ui-grid-pager-control{margin-right:10px;margin-left:10px;min-width:135px;float:left}.ui-grid-pager-control button{height:25px;min-width:26px;display:inline-block;margin-bottom:0;font-weight:400;text-align:center;cursor:pointer;background-image:none;border:1px solid #ccc;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#eee;background-color:#f3f3f3}.ui-grid-pager-control input[disabled],.ui-grid-pager-row-count-picker select[disabled],fieldset[disabled] .ui-grid-pager-control input,fieldset[disabled] .ui-grid-pager-row-count-picker select{cursor:not-allowed}.ui-grid-pager-control input,.ui-grid-pager-row-count-picker select{background-image:none;padding:5px 10px;font-size:12px;display:inline}.ui-grid-pager-control button.active.focus,.ui-grid-pager-control button.active:focus,.ui-grid-pager-control button.focus,.ui-grid-pager-control button:active.focus,.ui-grid-pager-control button:active:focus,.ui-grid-pager-control button:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.ui-grid-pager-control button.focus,.ui-grid-pager-control button:focus,.ui-grid-pager-control button:hover{text-decoration:none}.ui-grid-pager-control button.active,.ui-grid-pager-control button:active{outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.ui-grid-pager-control button.disabled,.ui-grid-pager-control button[disabled],fieldset[disabled] .ui-grid-pager-control button{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.ui-grid-pager-control button.disabled,fieldset[disabled] a.ui-grid-pager-control button{pointer-events:none}.ui-grid-pager-control button.focus,.ui-grid-pager-control button:focus{color:#eee;background-color:#dadada;border-color:#8c8c8c}.open>.dropdown-toggle.ui-grid-pager-control button,.ui-grid-pager-control button.active,.ui-grid-pager-control button:active,.ui-grid-pager-control button:hover{color:#eee;background-color:#dadada;border-color:#adadad}.open>.dropdown-toggle.ui-grid-pager-control button.focus,.open>.dropdown-toggle.ui-grid-pager-control button:focus,.open>.dropdown-toggle.ui-grid-pager-control button:hover,.ui-grid-pager-control button.active.focus,.ui-grid-pager-control button.active:focus,.ui-grid-pager-control button.active:hover,.ui-grid-pager-control button:active.focus,.ui-grid-pager-control button:active:focus,.ui-grid-pager-control button:active:hover{color:#eee;background-color:#c8c8c8;border-color:#8c8c8c}.open>.dropdown-toggle.ui-grid-pager-control button,.ui-grid-pager-control button.active,.ui-grid-pager-control button:active{background-image:none}.ui-grid-pager-control button.disabled,.ui-grid-pager-control button.disabled.active,.ui-grid-pager-control button.disabled.focus,.ui-grid-pager-control button.disabled:active,.ui-grid-pager-control button.disabled:focus,.ui-grid-pager-control button.disabled:hover,.ui-grid-pager-control button[disabled],.ui-grid-pager-control button[disabled].active,.ui-grid-pager-control button[disabled].focus,.ui-grid-pager-control button[disabled]:active,.ui-grid-pager-control button[disabled]:focus,.ui-grid-pager-control button[disabled]:hover,fieldset[disabled] .ui-grid-pager-control button,fieldset[disabled] .ui-grid-pager-control button.active,fieldset[disabled] .ui-grid-pager-control button.focus,fieldset[disabled] .ui-grid-pager-control button:active,fieldset[disabled] .ui-grid-pager-control button:focus,fieldset[disabled] .ui-grid-pager-control button:hover{background-color:#f3f3f3;border-color:#ccc}.ui-grid-pager-control button .badge{color:#f3f3f3;background-color:#eee}.ui-grid-pager-control input{color:#555;background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;line-height:1.5;border-radius:3px;height:26px;width:50px;vertical-align:top}.ui-grid-pager-control input:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.ui-grid-pager-control input::-moz-placeholder{color:#999;opacity:1}.ui-grid-pager-control input:-ms-input-placeholder{color:#999}.ui-grid-pager-control input::-webkit-input-placeholder{color:#999}.ui-grid-pager-control input[disabled],.ui-grid-pager-control input[readonly],fieldset[disabled] .ui-grid-pager-control input{background-color:#eee;opacity:1}textarea.ui-grid-pager-control input{height:auto}select.ui-grid-pager-control input{height:30px;line-height:30px}select[multiple].ui-grid-pager-control input,textarea.ui-grid-pager-control input{height:auto}.ui-grid-pager-control .ui-grid-pager-max-pages-number{vertical-align:bottom}.ui-grid-pager-control .ui-grid-pager-max-pages-number>*{vertical-align:middle}.ui-grid-pager-control .first-bar{width:10px;border-left:2px solid #4d4d4d;margin-top:-6px;height:12px;margin-left:-3px}.ui-grid-pager-control .first-triangle{width:0;height:0;border-style:solid;border-width:5px 8.7px 5px 0;border-color:transparent #4d4d4d transparent transparent;margin-left:2px}.ui-grid-pager-control .next-triangle{margin-left:1px}.ui-grid-pager-control .prev-triangle{margin-left:0}.ui-grid-pager-control .last-triangle{width:0;height:0;border-style:solid;border-width:5px 0 5px 8.7px;border-color:transparent transparent transparent #4d4d4d;margin-left:-1px}.ui-grid-pager-control .last-bar{width:10px;border-left:2px solid #4d4d4d;margin-top:-6px;height:12px;margin-left:1px}.ui-grid-pager-row-count-picker select{color:#555;background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;line-height:1.5;border-radius:3px;height:26px;width:67px}.ui-grid-pager-row-count-picker select:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.ui-grid-pager-row-count-picker select::-moz-placeholder{color:#999;opacity:1}.ui-grid-pager-row-count-picker select:-ms-input-placeholder{color:#999}.ui-grid-pager-row-count-picker select::-webkit-input-placeholder{color:#999}.ui-grid-pager-row-count-picker select[disabled],.ui-grid-pager-row-count-picker select[readonly],fieldset[disabled] .ui-grid-pager-row-count-picker select{background-color:#eee;opacity:1}textarea.ui-grid-pager-row-count-picker select{height:auto}select.ui-grid-pager-row-count-picker select{height:30px;line-height:30px}select[multiple].ui-grid-pager-row-count-picker select,textarea.ui-grid-pager-row-count-picker select{height:auto}.ui-grid-pager-row-count-picker .ui-grid-pager-row-count-label{margin-top:3px}.ui-grid-pager-count-container{float:right;margin-top:4px;min-width:50px}.ui-grid-pager-count-container .ui-grid-pager-count{margin-right:10px;margin-left:10px;float:right}.ui-grid-pinned-container{position:absolute;display:inline;top:0}.ui-grid-pinned-container.ui-grid-pinned-container-left{float:left;left:0}.ui-grid-pinned-container.ui-grid-pinned-container-right{float:right;right:0}.ui-grid-pinned-container.ui-grid-pinned-container-left .ui-grid-cell:last-child,.ui-grid-pinned-container.ui-grid-pinned-container-left .ui-grid-header-cell:last-child{box-sizing:border-box;border-right:1px solid;border-width:1px;border-right-color:#aeaeae}.ui-grid-pinned-container .ui-grid-cell:not(:last-child) .ui-grid-vertical-bar,.ui-grid-pinned-container.ui-grid-pinned-container-left .ui-grid-header-cell:not(:last-child) .ui-grid-vertical-bar{width:1px}.ui-grid-pinned-container.ui-grid-pinned-container-left .ui-grid-header-cell:not(:last-child) .ui-grid-vertical-bar{background-color:#d4d4d4}.ui-grid-pinned-container.ui-grid-pinned-container-left .ui-grid-cell:not(:last-child) .ui-grid-vertical-bar{background-color:#aeaeae}.ui-grid-pinned-container.ui-grid-pinned-container-left .ui-grid-header-cell:last-child .ui-grid-vertical-bar{right:-1px;width:1px;background-color:#aeaeae}.ui-grid-pinned-container.ui-grid-pinned-container-right .ui-grid-cell:first-child,.ui-grid-pinned-container.ui-grid-pinned-container-right .ui-grid-header-cell:first-child{box-sizing:border-box;border-left:1px solid;border-width:1px;border-left-color:#aeaeae}.ui-grid-pinned-container .ui-grid-cell:not(:first-child) .ui-grid-vertical-bar,.ui-grid-pinned-container.ui-grid-pinned-container-right .ui-grid-header-cell:not(:first-child) .ui-grid-vertical-bar{width:1px}.ui-grid-pinned-container.ui-grid-pinned-container-right .ui-grid-header-cell:not(:first-child) .ui-grid-vertical-bar{background-color:#d4d4d4}.ui-grid-pinned-container.ui-grid-pinned-container-right .ui-grid-cell:not(:last-child) .ui-grid-vertical-bar{background-color:#aeaeae}.ui-grid-pinned-container.ui-grid-pinned-container-first .ui-grid-header-cell:first-child .ui-grid-vertical-bar{left:-1px;width:1px;background-color:#aeaeae}.ui-grid-column-resizer{top:0;bottom:0;width:5px;position:absolute;cursor:col-resize}.ui-grid-column-resizer.left{left:0}.ui-grid-column-resizer.right{right:0}.ui-grid-header-cell:last-child .ui-grid-column-resizer.right{border-right:1px solid #d4d4d4}.ui-grid[dir=rtl] .ui-grid-header-cell:last-child .ui-grid-column-resizer.right{border-right:0}.ui-grid[dir=rtl] .ui-grid-header-cell:last-child .ui-grid-column-resizer.left{border-left:1px solid #d4d4d4}.ui-grid.column-resizing{cursor:col-resize}.ui-grid.column-resizing .ui-grid-resize-overlay{position:absolute;top:0;height:100%;width:1px;background-color:#aeaeae}.ui-grid-row-saving .ui-grid-cell{color:#848484!important}.ui-grid-row-dirty .ui-grid-cell{color:#610b38}.ui-grid-row-error .ui-grid-cell{color:red!important}.ui-grid-row.ui-grid-row-selected>[ui-grid-row]>.ui-grid-cell{background-color:#c9dde1}.ui-grid-disable-selection{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.ui-grid-selection-row-header-buttons{cursor:pointer;opacity:.1}.ui-grid-selection-row-header-buttons.ui-grid-all-selected,.ui-grid-selection-row-header-buttons.ui-grid-row-selected{opacity:1}.ui-grid-tree-row-header-buttons.ui-grid-tree-header{cursor:pointer;opacity:1}.ui-grid-tree-header-row{font-weight:700!important}.ui-grid-icon-plus-squared:before{content:'\c350'}.ui-grid-icon-minus-squared:before{content:'\c351'}.ui-grid-icon-search:before{content:'\c352'}.ui-grid-icon-cancel:before{content:'\c353'}.ui-grid-icon-info-circled:before{content:'\c354'}.ui-grid-icon-lock:before{content:'\c355'}.ui-grid-icon-lock-open:before{content:'\c356'}.ui-grid-icon-pencil:before{content:'\c357'}.ui-grid-icon-down-dir:before{content:'\c358'}.ui-grid-icon-up-dir:before{content:'\c359'}.ui-grid-icon-left-dir:before{content:'\c35a'}.ui-grid-icon-right-dir:before{content:'\c35b'}.ui-grid-icon-left-open:before{content:'\c35c'}.ui-grid-icon-right-open:before{content:'\c35d'}.ui-grid-icon-angle-down:before{content:'\c35e'}.ui-grid-icon-filter:before{content:'\c35f'}.ui-grid-icon-sort-alt-up:before{content:'\c360'}.ui-grid-icon-sort-alt-down:before{content:'\c361'}.ui-grid-icon-ok:before{content:'\c362'}.ui-grid-icon-menu:before{content:'\c363'}.ui-grid-icon-indent-left:before{content:'\e800'}.ui-grid-icon-indent-right:before{content:'\e801'}.ui-grid-icon-spin5:before{content:'\ea61'}.jstree-children,.jstree-container-ul,.jstree-node{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-anchor,.jstree-icon,.jstree-icon:empty{display:inline-block;margin:0;vertical-align:top}.jstree-node{white-space:nowrap}.jstree-anchor{white-space:nowrap;padding:0 4px 0 1px}.jstree-anchor:focus{outline:0}.jstree-anchor,.jstree-anchor:active,.jstree-anchor:hover,.jstree-anchor:link,.jstree-anchor:visited{text-decoration:none;color:inherit}.jstree-icon,.jstree-icon:empty{text-decoration:none;padding:0;text-align:center}.jstree-ocl{cursor:pointer}.jstree-leaf>.jstree-ocl{cursor:default}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children,.jstree-anchor>.jstree-themeicon-hidden,.jstree-hidden,.jstree-no-icons .jstree-themeicon{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{position:relative;display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-leaf>.jstree-ocl{cursor:pointer}.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon{position:relative}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vakata-context{display:none}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;box-shadow:2px 2px 2px #999}.vakata-context .vakata-context-hover>a,.vakata-context li>a:hover{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-right ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none;display:inline}.vakata-context li>a{display:block;padding:0 2em;text-decoration:none;width:auto;color:#000;white-space:nowrap;line-height:2.4em;text-shadow:1px 1px 0 #fff;border-radius:1px}.vakata-context li>a>i,.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==);background-position:right center;background-repeat:no-repeat}.vakata-context li>a:focus{outline:0}.vakata-context .vakata-context-separator>a,.vakata-context .vakata-context-separator>a:hover{background:#fff;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;text-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;box-shadow:0 0 0}.vakata-context li>a>i{text-decoration:none;display:inline-block;height:2.4em;background:0 0;margin:0 0 0 -2em;vertical-align:top;text-align:center}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;width:1px;height:2.4em;background:#fff;margin:0 .5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:.8em;color:silver;opacity:.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7);background-position:left center;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 .5em;border-left-color:#fff;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:-5px 0 0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-copy,#jstree-dnd .jstree-icon{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px}.jstree-default .jstree-icon,.jstree-default .jstree-node{background-repeat:no-repeat;background-color:transparent}.jstree-default .jstree-anchor,.jstree-default .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default .jstree-hovered{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #ccc}.jstree-default .jstree-clicked{background:#beebff;border-radius:2px;box-shadow:inset 0 0 1px #999}.jstree-default .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default .jstree-disabled{color:#666}.jstree-default .jstree-disabled.jstree-hovered{box-shadow:none}.jstree-default .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default .jstree-search{font-style:italic;color:#8b0000;font-weight:700}.jstree-default .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked{background:0 0;box-shadow:none}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#e7f4f9}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:0 0}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#e7f4f9}.jstree-default>.jstree-striped{min-width:100%;display:inline-block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==) left top}.jstree-default>.jstree-wholerow-ul .jstree-clicked,.jstree-default>.jstree-wholerow-ul .jstree-hovered{background:0 0;box-shadow:none;border-radius:0}.jstree-default .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;height:24px}.jstree-default .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default .jstree-wholerow-clicked{background:#beebff;background:-webkit-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:linear-gradient(to bottom,#beebff 0,#a8e4ff 100%)}.jstree-default .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px;background-position:-292px -4px;background-repeat:repeat-y}.jstree-default .jstree-anchor{line-height:24px;height:24px}.jstree-default .jstree-icon,.jstree-default .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default .jstree-icon,.jstree-default .jstree-node{background-image:url(32px.png)}.jstree-default .jstree-last{background:0 0}.jstree-default .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default .jstree-themeicon{background-position:-260px -4px}.jstree-default>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default>.jstree-no-dots .jstree-node{background:0 0}.jstree-default>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default .jstree-disabled,.jstree-default .jstree-disabled.jstree-hovered{background:0 0}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-checkbox{background-position:-164px -4px}.jstree-default .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default .jstree-checked>.jstree-checkbox,.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox{background-position:-228px -4px}.jstree-default .jstree-checked>.jstree-checkbox:hover,.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default>.jstree-striped{background-size:auto 48px}.jstree-default.jstree-rtl .jstree-node{margin-right:24px;background-position:100% 1px;background-repeat:repeat-y}.jstree-default.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default.jstree-rtl>.jstree-no-dots .jstree-node{background:0 0}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default .jstree-file{background:url(32px.png) -100px -68px no-repeat}.jstree-default .jstree-folder{background:url(32px.png) -260px -4px no-repeat}.jstree-default>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default{line-height:24px;padding:0 4px}#jstree-dnd.jstree-default .jstree-er,#jstree-dnd.jstree-default .jstree-ok{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default i{background:0 0;width:24px;height:24px;line-height:24px}#jstree-dnd.jstree-default .jstree-ok{background-position:-4px -68px}#jstree-dnd.jstree-default .jstree-er{background-position:-36px -68px}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==)}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px;background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-small .jstree-icon,.jstree-default-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default-small .jstree-wholerow{height:18px}.jstree-default-small .jstree-icon,.jstree-default-small .jstree-node{background-image:url(32px.png)}.jstree-default-small .jstree-last{background:0 0}.jstree-default-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-small>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-small>.jstree-no-dots .jstree-node{background:0 0}.jstree-default-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-small .jstree-disabled,.jstree-default-small .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-small .jstree-checked>.jstree-checkbox,.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-small .jstree-checked>.jstree-checkbox:hover,.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-small .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-small>.jstree-striped{background-size:auto 36px}.jstree-default-small.jstree-rtl .jstree-node{margin-right:18px;background-position:100% 1px;background-repeat:repeat-y}.jstree-default-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-node{background:0 0}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-small .jstree-file{background:url(32px.png) -103px -71px no-repeat}.jstree-default-small .jstree-folder{background:url(32px.png) -263px -7px no-repeat}.jstree-default-small>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-small{line-height:18px;padding:0 4px}#jstree-dnd.jstree-default-small .jstree-er,#jstree-dnd.jstree-default-small .jstree-ok{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-small i{background:0 0;width:18px;height:18px;line-height:18px}#jstree-dnd.jstree-default-small .jstree-ok{background-position:-7px -71px}#jstree-dnd.jstree-default-small .jstree-er{background-position:-39px -71px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==)}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px;background-position:-288px 0;background-repeat:repeat-y}.jstree-default-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-large .jstree-icon,.jstree-default-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-large .jstree-wholerow{height:32px}.jstree-default-large .jstree-icon,.jstree-default-large .jstree-node{background-image:url(32px.png)}.jstree-default-large .jstree-last{background:0 0}.jstree-default-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-large .jstree-themeicon{background-position:-256px 0}.jstree-default-large>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-large>.jstree-no-dots .jstree-node{background:0 0}.jstree-default-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.jstree-default-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-large .jstree-disabled,.jstree-default-large .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-large .jstree-checkbox{background-position:-160px 0}.jstree-default-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-large .jstree-checked>.jstree-checkbox,.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox{background-position:-224px 0}.jstree-default-large .jstree-checked>.jstree-checkbox:hover,.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-large .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-large>.jstree-striped{background-size:auto 64px}.jstree-default-large.jstree-rtl .jstree-node{margin-right:32px;background-position:100% 1px;background-repeat:repeat-y}.jstree-default-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-node{background:0 0}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 -32px}.jstree-default-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-large .jstree-file{background:url(32px.png) -96px -64px no-repeat}.jstree-default-large .jstree-folder{background:url(32px.png) -256px 0 no-repeat}.jstree-default-large>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-large{line-height:32px;padding:0 4px}#jstree-dnd.jstree-default-large .jstree-er,#jstree-dnd.jstree-default-large .jstree-ok{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-large i{background:0 0;width:32px;height:32px;line-height:32px}#jstree-dnd.jstree-default-large .jstree-ok{background-position:0 -64px}#jstree-dnd.jstree-default-large .jstree-er{background-position:-32px -64px}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==)}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}@media (max-width:768px){#jstree-dnd.jstree-dnd-responsive{line-height:40px;font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}#jstree-dnd.jstree-dnd-responsive>i{background:0 0;width:40px;height:40px}#jstree-dnd.jstree-dnd-responsive>.jstree-ok{background-image:url(40px.png);background-position:0 -200px;background-size:120px 240px}#jstree-dnd.jstree-dnd-responsive>.jstree-er{background-image:url(40px.png);background-position:-40px -200px;background-size:120px 240px}#jstree-marker.jstree-dnd-responsive{border-left-width:10px;border-top-width:10px;border-bottom-width:10px;margin-top:-10px}.jstree-default-responsive .jstree-leaf>.jstree-ocl,.jstree-default-responsive .jstree-node{background:0 0}.jstree-default-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-responsive .jstree-anchor{line-height:40px;height:40px;font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px}.jstree-default-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-ocl,.jstree-default-responsive .jstree-themeicon{background-size:120px 240px}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-open>.jstree-ocl{background-position:0 0!important}.jstree-default-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px!important}.jstree-default-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0!important}.jstree-default-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-responsive .jstree-checked>.jstree-checkbox,.jstree-default-responsive .jstree-checked>.jstree-checkbox:hover,.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-responsive>.jstree-striped{background:0 0}.jstree-default-responsive .jstree-wholerow{border-top:1px solid rgba(255,255,255,.7);border-bottom:1px solid rgba(64,64,64,.2);background:#ebebeb;height:40px}.jstree-default-responsive .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default-responsive .jstree-wholerow-clicked{background:#beebff}.jstree-default-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #666}.jstree-default-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #666;border-top:0}.jstree-default-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-node>.jstree-ocl,.jstree-default-responsive .jstree-themeicon{background-image:url(40px.png);background-size:120px 240px}.jstree-default-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-responsive .jstree-last{background:0 0}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-responsive .jstree-file{background:url(40px.png) 0 -160px no-repeat;background-size:120px 240px}.jstree-default-responsive .jstree-folder{background:url(40px.png) -40px -40px no-repeat;background-size:120px 240px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}}/*!
+ */.ui-grid{border:1px solid #d4d4d4;box-sizing:content-box;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-o-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0)}.ui-grid-vertical-bar{position:absolute;right:0;width:0}.ui-grid-scrollbar-placeholder{background-color:transparent}.ui-grid-cell:not(:last-child) .ui-grid-vertical-bar,.ui-grid-header-cell:not(:last-child) .ui-grid-vertical-bar{width:1px;background-color:#d4d4d4}.ui-grid-header-cell:last-child .ui-grid-vertical-bar{right:-1px;width:1px;background-color:#d4d4d4}.ui-grid-clearfix:after,.ui-grid-clearfix:before{content:"";display:table}.ui-grid-invisible{visibility:hidden}.ui-grid-contents-wrapper{position:relative;height:100%;width:100%}.ui-grid-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.ui-grid-top-panel-background{background:#f3f3f3;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#eee),color-stop(1,#fff));background:-ms-linear-gradient(bottom,#eee,#fff);background:-moz-linear-gradient(center bottom,#eee 0,#fff 100%);background:-o-linear-gradient(#fff,#eee)}.ui-grid-header{border-bottom:1px solid #d4d4d4}.ui-grid-top-panel{position:relative;overflow:hidden;font-weight:700;background:#f3f3f3;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#eee),color-stop(1,#fff));background:-ms-linear-gradient(bottom,#eee,#fff);background:-moz-linear-gradient(center bottom,#eee 0,#fff 100%);background:-o-linear-gradient(#fff,#eee);-moz-border-radius-topright:-1px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:-1px;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-border-radius:-1px -1px 0 0;border-radius:-1px -1px 0 0}.ui-grid-header-viewport{overflow:hidden}.ui-grid-header-canvas:after,.ui-grid-header-canvas:before{content:"";display:table;line-height:0}.ui-grid-header-cell-wrapper{position:relative;display:table;box-sizing:border-box;height:100%}.ui-grid-header-cell-row{display:table-row;position:relative}.ui-grid-header-cell{position:relative;background-color:inherit;border-right:1px solid;border-color:#d4d4d4;display:table-cell;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:0}.ui-grid-header-cell:last-child{border-right:0}.ui-grid-header-cell .sortable{cursor:pointer}.ui-grid-header-cell .ui-grid-sort-priority-number{margin-left:-8px}.ui-grid-header .ui-grid-vertical-bar{top:0;bottom:0}.ui-grid-column-menu-button{position:absolute;right:1px;top:0}.ui-grid-column-menu-button .ui-grid-icon-angle-down{vertical-align:sub}.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button,.ui-grid-pager-control button{vertical-align:middle;touch-action:manipulation;-webkit-user-select:none;white-space:nowrap}.ui-grid-column-menu-button-last-col{margin-right:25px}.ui-grid-column-menu{position:absolute}.ui-grid-column-menu .ui-grid-menu .ui-grid-menu-mid.ng-hide-add,.ui-grid-column-menu .ui-grid-menu .ui-grid-menu-mid.ng-hide-remove{-webkit-transition:all 50ms linear;-moz-transition:all 50ms linear;-o-transition:all 50ms linear;transition:all 50ms linear;display:block!important}.ui-grid-column-menu .ui-grid-menu .ui-grid-menu-mid.ng-hide-add.ng-hide-add-active,.ui-grid-column-menu .ui-grid-menu .ui-grid-menu-mid.ng-hide-remove{-webkit-transform:translateY(-100%);-moz-transform:translateY(-100%);-o-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}.ui-grid-column-menu .ui-grid-menu .ui-grid-menu-mid.ng-hide-add,.ui-grid-column-menu .ui-grid-menu .ui-grid-menu-mid.ng-hide-remove.ng-hide-remove-active{-webkit-transform:translateY(0);-moz-transform:translateY(0);-o-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.ui-grid-menu-button .ui-grid-menu .ui-grid-menu-mid.ng-hide-add,.ui-grid-menu-button .ui-grid-menu .ui-grid-menu-mid.ng-hide-remove{-webkit-transition:all 50ms linear;-moz-transition:all 50ms linear;-o-transition:all 50ms linear;transition:all 50ms linear;display:block!important}.ui-grid-menu-button .ui-grid-menu .ui-grid-menu-mid.ng-hide-add.ng-hide-add-active,.ui-grid-menu-button .ui-grid-menu .ui-grid-menu-mid.ng-hide-remove{-webkit-transform:translateY(-100%);-moz-transform:translateY(-100%);-o-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}.ui-grid-menu-button .ui-grid-menu .ui-grid-menu-mid.ng-hide-add,.ui-grid-menu-button .ui-grid-menu .ui-grid-menu-mid.ng-hide-remove.ng-hide-remove-active{-webkit-transform:translateY(0);-moz-transform:translateY(0);-o-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.ui-grid-filter-container{padding:4px 10px;position:relative}.ui-grid-filter-container .ui-grid-filter-button{position:absolute;top:0;bottom:0;right:0}.ui-grid-filter-container .ui-grid-filter-button [class^=ui-grid-icon]{position:absolute;top:50%;line-height:32px;margin-top:-16px;right:10px;opacity:.66}.ui-grid-filter-container .ui-grid-filter-button [class^=ui-grid-icon]:hover{opacity:1}.ui-grid-filter-container .ui-grid-filter-button-select{position:absolute;top:0;bottom:0;right:0}.ui-grid-filter-container .ui-grid-filter-button-select [class^=ui-grid-icon]{position:absolute;top:50%;line-height:32px;margin-top:-16px;right:0;opacity:.66}.ui-grid-filter-container .ui-grid-filter-button-select [class^=ui-grid-icon]:hover{opacity:1}select.ui-grid-filter-select{padding:0;margin:0;width:90%;border:1px solid #d4d4d4;-moz-border-radius-topright:0;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:0;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-border-radius:0;border-radius:0}select.ui-grid-filter-select:hover{border:1px solid #d4d4d4}.ui-grid-no-row-overlay,.ui-grid-render-container{-moz-border-radius-topright:0;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:0}.ui-grid-filter-cancel-button-hidden select.ui-grid-filter-select{width:100%}.ui-grid-render-container{position:inherit;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-border-radius:0;border-radius:0}.ui-grid-render-container:focus{outline:0}.ui-grid-viewport{min-height:20px;position:relative;overflow-y:scroll;-webkit-overflow-scrolling:touch}.ui-grid-viewport:focus{outline:0!important}.ui-grid-canvas{position:relative;padding-top:1px}.ui-grid-row:nth-child(odd) .ui-grid-cell{background-color:#fdfdfd}.ui-grid-footer-panel-background,.ui-grid-no-row-overlay{background:#f3f3f3;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0)}.ui-grid-row:nth-child(even) .ui-grid-cell{background-color:#f3f3f3}.ui-grid-row:last-child .ui-grid-cell{border-bottom-color:#d4d4d4;border-bottom-style:solid}.ui-grid-no-row-overlay{position:absolute;top:0;bottom:0;left:0;right:0;margin:10%;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#eee),color-stop(1,#fff));background:-ms-linear-gradient(bottom,#eee,#fff);background:-moz-linear-gradient(center bottom,#eee 0,#fff 100%);background:-o-linear-gradient(#fff,#eee);-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #d4d4d4;font-size:2em;text-align:center;-webkit-border-radius:0;border-radius:0}.ui-grid-no-row-overlay>*{position:absolute;display:table;margin:auto 0;width:100%;top:0;bottom:0;left:0;right:0;opacity:.66}.ui-grid-cell{overflow:hidden;float:left;background-color:inherit;border-right:1px solid;border-color:#d4d4d4}.ui-grid-cell:last-child{border-right:0}.ui-grid-cell-contents{padding:5px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;height:100%}.ui-grid-cell-contents-hidden{visibility:hidden;width:0;height:0;display:none}.ui-grid-row .ui-grid-cell.ui-grid-row-header-cell{background-color:#f0f0ee;border-bottom:solid 1px #d4d4d4}.ui-grid-footer-panel-background{background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#eee),color-stop(1,#fff));background:-ms-linear-gradient(bottom,#eee,#fff);background:-moz-linear-gradient(center bottom,#eee 0,#fff 100%);background:-o-linear-gradient(#fff,#eee)}.ui-grid-footer-panel{position:relative;border-bottom:1px solid #d4d4d4;border-top:1px solid #d4d4d4;overflow:hidden;font-weight:700;background:#f3f3f3;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#eee),color-stop(1,#fff));background:-ms-linear-gradient(bottom,#eee,#fff);background:-moz-linear-gradient(center bottom,#eee 0,#fff 100%);background:-o-linear-gradient(#fff,#eee);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);-moz-border-radius-topright:-1px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:-1px;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-border-radius:-1px -1px 0 0;border-radius:-1px -1px 0 0}.ui-grid-grid-footer{float:left;width:100%}.ui-grid-footer-viewport{overflow:hidden}.ui-grid-footer-canvas{position:relative}.ui-grid-footer-canvas:after,.ui-grid-footer-canvas:before{content:"";display:table;line-height:0}.ui-grid-footer-cell-wrapper{position:relative;display:table;box-sizing:border-box;height:100%}.ui-grid-menu,.ui-grid-menu-button{position:absolute;cursor:pointer;z-index:2}.ui-grid-footer-cell-row{display:table-row}.ui-grid-footer-cell{overflow:hidden;background-color:inherit;border-right:1px solid;border-color:#d4d4d4;box-sizing:border-box;display:table-cell}.ui-grid-footer-cell:last-child{border-right:0}input[type=text].ui-grid-filter-input{padding:0;margin:0;width:100%;border:1px solid #d4d4d4;-moz-border-radius-topright:0;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:0;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-border-radius:0;border-radius:0}input[type=text].ui-grid-filter-input:hover{border:1px solid #d4d4d4}.ui-grid-menu-button{right:0;top:0;background:#f3f3f3;border:1px solid #d4d4d4;height:31px;font-weight:400}.ui-grid-menu-button .ui-grid-icon-container{margin-top:3px}.ui-grid-menu-button .ui-grid-menu{right:0}.ui-grid-menu-button .ui-grid-menu .ui-grid-menu-mid{overflow:scroll;max-height:300px;border:1px solid #d4d4d4}.ui-grid-menu{padding:0 10px 20px;box-sizing:border-box}.ui-grid-menu .ui-grid-menu-inner{background:#f3f3f3;border:1px solid #d4d4d4;position:relative;white-space:nowrap;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:0 10px 20px rgba(0,0,0,.2),inset 0 12px 12px -14px rgba(0,0,0,.2);-moz-box-shadow:0 10px 20px rgba(0,0,0,.2),inset 0 12px 12px -14px rgba(0,0,0,.2);box-shadow:0 10px 20px rgba(0,0,0,.2),inset 0 12px 12px -14px rgba(0,0,0,.2)}.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button{position:absolute;right:0;top:0;display:inline-block;margin-bottom:0;font-weight:400;text-align:center;cursor:pointer;background-image:none;border:1px solid transparent;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:1px;font-size:10px;line-height:1;border-radius:2px;color:transparent;background-color:transparent}.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.active.focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.active:focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:active.focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:active:focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:hover{text-decoration:none}.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.active,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:active{outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.disabled,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button[disabled],fieldset[disabled] .ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.open>.dropdown-toggle.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button,.open>.dropdown-toggle.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.focus,.open>.dropdown-toggle.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:focus,.open>.dropdown-toggle.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:hover,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.active,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.active.focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.active:focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.active:hover,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:active,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:active.focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:active:focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:active:hover,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:hover{color:transparent;background-color:rgba(0,0,0,0);border-color:transparent}.open>.dropdown-toggle.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.active,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:active{background-image:none}.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.disabled,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.disabled.active,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.disabled.focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.disabled:active,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.disabled:focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.disabled:hover,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button[disabled],.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button[disabled].active,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button[disabled].focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button[disabled]:active,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button[disabled]:focus,.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button[disabled]:hover,fieldset[disabled] .ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button,fieldset[disabled] .ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.active,fieldset[disabled] .ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button.focus,fieldset[disabled] .ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:active,fieldset[disabled] .ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:focus,fieldset[disabled] .ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button:hover{background-color:transparent;border-color:transparent}.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button .badge{color:transparent;background-color:transparent}.ui-grid-menu .ui-grid-menu-inner .ui-grid-menu-close-button>i{opacity:.75;color:#000}div.ui-grid-cell input,div.ui-grid-cell input:focus{color:inherit;outline:0}.ui-grid-menu .ui-grid-menu-inner ul{margin:0;padding:0;list-style-type:none}.ui-grid-menu .ui-grid-menu-inner ul li{padding:0}.ui-grid-menu .ui-grid-menu-inner ul li button{min-width:100%;padding:8px;text-align:left;background:0 0;border:none}.ui-grid-menu .ui-grid-menu-inner ul li button:focus,.ui-grid-menu .ui-grid-menu-inner ul li button:hover{-webkit-box-shadow:inset 0 0 14px rgba(0,0,0,.2);-moz-box-shadow:inset 0 0 14px rgba(0,0,0,.2);box-shadow:inset 0 0 14px rgba(0,0,0,.2)}.ui-grid-menu .ui-grid-menu-inner ul li button.ui-grid-menu-item-active{-webkit-box-shadow:inset 0 0 14px rgba(0,0,0,.2);-moz-box-shadow:inset 0 0 14px rgba(0,0,0,.2);box-shadow:inset 0 0 14px rgba(0,0,0,.2);background-color:#cecece}.ui-grid-menu .ui-grid-menu-inner ul li:not(:last-child)>button{border-bottom:1px solid #d4d4d4}.ui-grid-sortarrow{right:5px;position:absolute;width:20px;top:0;bottom:0;background-position:center}.ui-grid-sortarrow.down{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-o-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}@font-face{font-family:ui-grid;src:url(ui-grid.eot);src:url(ui-grid.eot#iefix) format('embedded-opentype'),url(ui-grid.woff) format('woff'),url(ui-grid.ttf) format('truetype'),url(ui-grid.svg?#ui-grid) format('svg');font-weight:400;font-style:normal}[class*=" ui-grid-icon"]:before,[class^=ui-grid-icon]:before{font-family:ui-grid;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em}.ui-grid-icon-blank::before{width:1em;content:' '}.ui-grid[dir=rtl] .ui-grid-cell,.ui-grid[dir=rtl] .ui-grid-footer-cell,.ui-grid[dir=rtl] .ui-grid-header-cell{float:right!important}.scrollFiller,.ui-grid-pager-container,.ui-grid-pager-row-count-picker{float:left}.ui-grid[dir=rtl] .ui-grid-column-menu-button{position:absolute;left:1px;top:0;right:inherit}.ui-grid[dir=rtl] .ui-grid-cell:first-child,.ui-grid[dir=rtl] .ui-grid-footer-cell:first-child,.ui-grid[dir=rtl] .ui-grid-header-cell:first-child{border-right:0}.ui-grid[dir=rtl] .ui-grid-cell:last-child,.ui-grid[dir=rtl] .ui-grid-header-cell:last-child{border-right:1px solid #d4d4d4;border-left:0}.ui-grid[dir=rtl] .ui-grid-cell:first-child .ui-grid-vertical-bar,.ui-grid[dir=rtl] .ui-grid-footer-cell:first-child .ui-grid-vertical-bar,.ui-grid[dir=rtl] .ui-grid-header-cell:first-child .ui-grid-vertical-bar{width:0}.ui-grid[dir=rtl] .ui-grid-menu-button{z-index:2;position:absolute;left:0;right:auto;background:#f3f3f3;border:1px solid #d4d4d4;cursor:pointer;min-height:27px;font-weight:400}.ui-grid[dir=rtl] .ui-grid-menu-button .ui-grid-menu{left:0;right:auto}.ui-grid[dir=rtl] .ui-grid-filter-container .ui-grid-filter-button{right:initial;left:0}.ui-grid[dir=rtl] .ui-grid-filter-container .ui-grid-filter-button [class^=ui-grid-icon]{right:initial;left:10px}.ui-grid-animate-spin{-moz-animation:ui-grid-spin 2s infinite linear;-o-animation:ui-grid-spin 2s infinite linear;-webkit-animation:ui-grid-spin 2s infinite linear;animation:ui-grid-spin 2s infinite linear;display:inline-block}@-moz-keyframes ui-grid-spin{0%{-moz-transform:rotate(0);-o-transform:rotate(0);-webkit-transform:rotate(0);transform:rotate(0)}100%{-moz-transform:rotate(359deg);-o-transform:rotate(359deg);-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@-webkit-keyframes ui-grid-spin{0%{-moz-transform:rotate(0);-o-transform:rotate(0);-webkit-transform:rotate(0);transform:rotate(0)}100%{-moz-transform:rotate(359deg);-o-transform:rotate(359deg);-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@-o-keyframes ui-grid-spin{0%{-moz-transform:rotate(0);-o-transform:rotate(0);-webkit-transform:rotate(0);transform:rotate(0)}100%{-moz-transform:rotate(359deg);-o-transform:rotate(359deg);-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@-ms-keyframes ui-grid-spin{0%{-moz-transform:rotate(0);-o-transform:rotate(0);-webkit-transform:rotate(0);transform:rotate(0)}100%{-moz-transform:rotate(359deg);-o-transform:rotate(359deg);-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes ui-grid-spin{0%{-moz-transform:rotate(0);-o-transform:rotate(0);-webkit-transform:rotate(0);transform:rotate(0)}100%{-moz-transform:rotate(359deg);-o-transform:rotate(359deg);-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.ui-grid-cell-focus{outline:0;background-color:#b3c4c7}.ui-grid-focuser{position:absolute;left:0;top:0;z-index:-1;width:100%;height:100%}.ui-grid-focuser:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.ui-grid-offscreen{display:block;position:absolute;left:-10000px;top:-10000px;clip:rect(0,0,0,0)}div.ui-grid-cell input{border-radius:inherit;padding:0;width:100%;height:auto;font:inherit}div.ui-grid-cell input[type=checkbox]{margin:9px 0 0 6px;width:auto}div.ui-grid-cell input.ng-invalid{border:1px solid #fc8f8f}.movingColumn,.scrollFiller,div.ui-grid-cell input.ng-valid{border:1px solid #d4d4d4}.expandableRow .ui-grid-row:nth-child(odd) .ui-grid-cell{background-color:#fdfdfd}.expandableRow .ui-grid-row:nth-child(even) .ui-grid-cell{background-color:#f3f3f3}.ui-grid-expandable-buttons-cell i{pointer-events:all}.movingColumn{position:absolute;top:0;box-shadow:inset 0 0 14px rgba(0,0,0,.2)}.movingColumn .ui-grid-icon-angle-down{display:none}#ui-grid-twbs #ui-grid-twbs .btn-group-vertical>.btn-group:after,#ui-grid-twbs #ui-grid-twbs .btn-group-vertical>.btn-group:before,#ui-grid-twbs #ui-grid-twbs .btn-toolbar:after,#ui-grid-twbs #ui-grid-twbs .btn-toolbar:before,#ui-grid-twbs #ui-grid-twbs .form-horizontal .form-group:after,#ui-grid-twbs #ui-grid-twbs .form-horizontal .form-group:before{content:" ";display:table}.ui-grid-pager-panel{position:absolute;left:0;bottom:0;width:100%;padding-top:3px;padding-bottom:3px}.ui-grid-pager-control{margin-right:10px;margin-left:10px;min-width:135px;float:left}.ui-grid-pager-control button{height:25px;min-width:26px;display:inline-block;margin-bottom:0;font-weight:400;text-align:center;cursor:pointer;background-image:none;border:1px solid #ccc;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#eee;background-color:#f3f3f3}.ui-grid-pager-control input[disabled],.ui-grid-pager-row-count-picker select[disabled],fieldset[disabled] .ui-grid-pager-control input,fieldset[disabled] .ui-grid-pager-row-count-picker select{cursor:not-allowed}.ui-grid-pager-control input,.ui-grid-pager-row-count-picker select{background-image:none;padding:5px 10px;font-size:12px;display:inline}.ui-grid-pager-control button.active.focus,.ui-grid-pager-control button.active:focus,.ui-grid-pager-control button.focus,.ui-grid-pager-control button:active.focus,.ui-grid-pager-control button:active:focus,.ui-grid-pager-control button:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.ui-grid-pager-control button.focus,.ui-grid-pager-control button:focus,.ui-grid-pager-control button:hover{text-decoration:none}.ui-grid-pager-control button.active,.ui-grid-pager-control button:active{outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.ui-grid-pager-control button.disabled,.ui-grid-pager-control button[disabled],fieldset[disabled] .ui-grid-pager-control button{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.ui-grid-pager-control button.disabled,fieldset[disabled] a.ui-grid-pager-control button{pointer-events:none}.ui-grid-pager-control button.focus,.ui-grid-pager-control button:focus{color:#eee;background-color:#dadada;border-color:#8c8c8c}.open>.dropdown-toggle.ui-grid-pager-control button,.ui-grid-pager-control button.active,.ui-grid-pager-control button:active,.ui-grid-pager-control button:hover{color:#eee;background-color:#dadada;border-color:#adadad}.open>.dropdown-toggle.ui-grid-pager-control button.focus,.open>.dropdown-toggle.ui-grid-pager-control button:focus,.open>.dropdown-toggle.ui-grid-pager-control button:hover,.ui-grid-pager-control button.active.focus,.ui-grid-pager-control button.active:focus,.ui-grid-pager-control button.active:hover,.ui-grid-pager-control button:active.focus,.ui-grid-pager-control button:active:focus,.ui-grid-pager-control button:active:hover{color:#eee;background-color:#c8c8c8;border-color:#8c8c8c}.open>.dropdown-toggle.ui-grid-pager-control button,.ui-grid-pager-control button.active,.ui-grid-pager-control button:active{background-image:none}.ui-grid-pager-control button.disabled,.ui-grid-pager-control button.disabled.active,.ui-grid-pager-control button.disabled.focus,.ui-grid-pager-control button.disabled:active,.ui-grid-pager-control button.disabled:focus,.ui-grid-pager-control button.disabled:hover,.ui-grid-pager-control button[disabled],.ui-grid-pager-control button[disabled].active,.ui-grid-pager-control button[disabled].focus,.ui-grid-pager-control button[disabled]:active,.ui-grid-pager-control button[disabled]:focus,.ui-grid-pager-control button[disabled]:hover,fieldset[disabled] .ui-grid-pager-control button,fieldset[disabled] .ui-grid-pager-control button.active,fieldset[disabled] .ui-grid-pager-control button.focus,fieldset[disabled] .ui-grid-pager-control button:active,fieldset[disabled] .ui-grid-pager-control button:focus,fieldset[disabled] .ui-grid-pager-control button:hover{background-color:#f3f3f3;border-color:#ccc}.ui-grid-pager-control button .badge{color:#f3f3f3;background-color:#eee}.ui-grid-pager-control input{color:#555;background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;line-height:1.5;border-radius:3px;height:26px;width:50px;vertical-align:top}.ui-grid-pager-control input:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.ui-grid-pager-control input::-moz-placeholder{color:#999;opacity:1}.ui-grid-pager-control input:-ms-input-placeholder{color:#999}.ui-grid-pager-control input::-webkit-input-placeholder{color:#999}.ui-grid-pager-control input[disabled],.ui-grid-pager-control input[readonly],fieldset[disabled] .ui-grid-pager-control input{background-color:#eee;opacity:1}textarea.ui-grid-pager-control input{height:auto}select.ui-grid-pager-control input{height:30px;line-height:30px}select[multiple].ui-grid-pager-control input,textarea.ui-grid-pager-control input{height:auto}.ui-grid-pager-control .ui-grid-pager-max-pages-number{vertical-align:bottom}.ui-grid-pager-control .ui-grid-pager-max-pages-number>*{vertical-align:middle}.ui-grid-pager-control .first-bar{width:10px;border-left:2px solid #4d4d4d;margin-top:-6px;height:12px;margin-left:-3px}.ui-grid-pager-control .first-triangle{width:0;height:0;border-style:solid;border-width:5px 8.7px 5px 0;border-color:transparent #4d4d4d transparent transparent;margin-left:2px}.ui-grid-pager-control .next-triangle{margin-left:1px}.ui-grid-pager-control .prev-triangle{margin-left:0}.ui-grid-pager-control .last-triangle{width:0;height:0;border-style:solid;border-width:5px 0 5px 8.7px;border-color:transparent transparent transparent #4d4d4d;margin-left:-1px}.ui-grid-pager-control .last-bar{width:10px;border-left:2px solid #4d4d4d;margin-top:-6px;height:12px;margin-left:1px}.ui-grid-pager-row-count-picker select{color:#555;background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;line-height:1.5;border-radius:3px;height:26px;width:67px}.ui-grid-pager-row-count-picker select:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.ui-grid-pager-row-count-picker select::-moz-placeholder{color:#999;opacity:1}.ui-grid-pager-row-count-picker select:-ms-input-placeholder{color:#999}.ui-grid-pager-row-count-picker select::-webkit-input-placeholder{color:#999}.ui-grid-pager-row-count-picker select[disabled],.ui-grid-pager-row-count-picker select[readonly],fieldset[disabled] .ui-grid-pager-row-count-picker select{background-color:#eee;opacity:1}textarea.ui-grid-pager-row-count-picker select{height:auto}select.ui-grid-pager-row-count-picker select{height:30px;line-height:30px}select[multiple].ui-grid-pager-row-count-picker select,textarea.ui-grid-pager-row-count-picker select{height:auto}.ui-grid-pager-row-count-picker .ui-grid-pager-row-count-label{margin-top:3px}.ui-grid-pager-count-container{float:right;margin-top:4px;min-width:50px}.ui-grid-pager-count-container .ui-grid-pager-count{margin-right:10px;margin-left:10px;float:right}.ui-grid-pinned-container{position:absolute;display:inline;top:0}.ui-grid-pinned-container.ui-grid-pinned-container-left{float:left;left:0}.ui-grid-pinned-container.ui-grid-pinned-container-right{float:right;right:0}.ui-grid-pinned-container.ui-grid-pinned-container-left .ui-grid-cell:last-child,.ui-grid-pinned-container.ui-grid-pinned-container-left .ui-grid-header-cell:last-child{box-sizing:border-box;border-right:1px solid;border-width:1px;border-right-color:#aeaeae}.ui-grid-pinned-container .ui-grid-cell:not(:last-child) .ui-grid-vertical-bar,.ui-grid-pinned-container.ui-grid-pinned-container-left .ui-grid-header-cell:not(:last-child) .ui-grid-vertical-bar{width:1px}.ui-grid-pinned-container.ui-grid-pinned-container-left .ui-grid-header-cell:not(:last-child) .ui-grid-vertical-bar{background-color:#d4d4d4}.ui-grid-pinned-container.ui-grid-pinned-container-left .ui-grid-cell:not(:last-child) .ui-grid-vertical-bar{background-color:#aeaeae}.ui-grid-pinned-container.ui-grid-pinned-container-left .ui-grid-header-cell:last-child .ui-grid-vertical-bar{right:-1px;width:1px;background-color:#aeaeae}.ui-grid-pinned-container.ui-grid-pinned-container-right .ui-grid-cell:first-child,.ui-grid-pinned-container.ui-grid-pinned-container-right .ui-grid-header-cell:first-child{box-sizing:border-box;border-left:1px solid;border-width:1px;border-left-color:#aeaeae}.ui-grid-pinned-container .ui-grid-cell:not(:first-child) .ui-grid-vertical-bar,.ui-grid-pinned-container.ui-grid-pinned-container-right .ui-grid-header-cell:not(:first-child) .ui-grid-vertical-bar{width:1px}.ui-grid-pinned-container.ui-grid-pinned-container-right .ui-grid-header-cell:not(:first-child) .ui-grid-vertical-bar{background-color:#d4d4d4}.ui-grid-pinned-container.ui-grid-pinned-container-right .ui-grid-cell:not(:last-child) .ui-grid-vertical-bar{background-color:#aeaeae}.ui-grid-pinned-container.ui-grid-pinned-container-first .ui-grid-header-cell:first-child .ui-grid-vertical-bar{left:-1px;width:1px;background-color:#aeaeae}.ui-grid-column-resizer{top:0;bottom:0;width:5px;position:absolute;cursor:col-resize}.ui-grid-column-resizer.left{left:0}.ui-grid-column-resizer.right{right:0}.ui-grid-header-cell:last-child .ui-grid-column-resizer.right{border-right:1px solid #d4d4d4}.ui-grid[dir=rtl] .ui-grid-header-cell:last-child .ui-grid-column-resizer.right{border-right:0}.ui-grid[dir=rtl] .ui-grid-header-cell:last-child .ui-grid-column-resizer.left{border-left:1px solid #d4d4d4}.ui-grid.column-resizing{cursor:col-resize}.ui-grid.column-resizing .ui-grid-resize-overlay{position:absolute;top:0;height:100%;width:1px;background-color:#aeaeae}.ui-grid-row-saving .ui-grid-cell{color:#848484!important}.ui-grid-row-dirty .ui-grid-cell{color:#610b38}.ui-grid-row-error .ui-grid-cell{color:red!important}.ui-grid-row.ui-grid-row-selected>[ui-grid-row]>.ui-grid-cell{background-color:#c9dde1}.ui-grid-disable-selection{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.ui-grid-selection-row-header-buttons{cursor:pointer;opacity:.1}.ui-grid-selection-row-header-buttons.ui-grid-all-selected,.ui-grid-selection-row-header-buttons.ui-grid-row-selected{opacity:1}.ui-grid-tree-row-header-buttons.ui-grid-tree-header{cursor:pointer;opacity:1}.ui-grid-tree-header-row{font-weight:700!important}.ui-grid-icon-plus-squared:before{content:'\c350'}.ui-grid-icon-minus-squared:before{content:'\c351'}.ui-grid-icon-search:before{content:'\c352'}.ui-grid-icon-cancel:before{content:'\c353'}.ui-grid-icon-info-circled:before{content:'\c354'}.ui-grid-icon-lock:before{content:'\c355'}.ui-grid-icon-lock-open:before{content:'\c356'}.ui-grid-icon-pencil:before{content:'\c357'}.ui-grid-icon-down-dir:before{content:'\c358'}.ui-grid-icon-up-dir:before{content:'\c359'}.ui-grid-icon-left-dir:before{content:'\c35a'}.ui-grid-icon-right-dir:before{content:'\c35b'}.ui-grid-icon-left-open:before{content:'\c35c'}.ui-grid-icon-right-open:before{content:'\c35d'}.ui-grid-icon-angle-down:before{content:'\c35e'}.ui-grid-icon-filter:before{content:'\c35f'}.ui-grid-icon-sort-alt-up:before{content:'\c360'}.ui-grid-icon-sort-alt-down:before{content:'\c361'}.ui-grid-icon-ok:before{content:'\c362'}.ui-grid-icon-menu:before{content:'\c363'}.ui-grid-icon-indent-left:before{content:'\e800'}.ui-grid-icon-indent-right:before{content:'\e801'}.ui-grid-icon-spin5:before{content:'\ea61'}.jstree-children,.jstree-container-ul,.jstree-node{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-anchor,.jstree-icon,.jstree-icon:empty{display:inline-block;margin:0;vertical-align:top}.jstree-node{white-space:nowrap}.jstree-anchor{white-space:nowrap;padding:0 4px 0 1px}.jstree-anchor:focus{outline:0}.jstree-anchor,.jstree-anchor:active,.jstree-anchor:hover,.jstree-anchor:link,.jstree-anchor:visited{text-decoration:none;color:inherit}.jstree-icon,.jstree-icon:empty{text-decoration:none;padding:0;text-align:center}.jstree-ocl{cursor:pointer}.jstree-leaf>.jstree-ocl{cursor:default}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children,.jstree-anchor>.jstree-themeicon-hidden,.jstree-hidden,.jstree-no-icons .jstree-themeicon{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{position:relative;display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-leaf>.jstree-ocl{cursor:pointer}.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon{position:relative}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vakata-context{display:none}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;box-shadow:2px 2px 2px #999}.vakata-context .vakata-context-hover>a,.vakata-context li>a:hover{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-right ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none;display:inline}.vakata-context li>a{display:block;padding:0 2em;text-decoration:none;width:auto;color:#000;white-space:nowrap;line-height:2.4em;text-shadow:1px 1px 0 #fff;border-radius:1px}.vakata-context li>a>i,.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==);background-position:right center;background-repeat:no-repeat}.vakata-context li>a:focus{outline:0}.vakata-context .vakata-context-separator>a,.vakata-context .vakata-context-separator>a:hover{background:#fff;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;text-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;box-shadow:0 0 0}.vakata-context li>a>i{text-decoration:none;display:inline-block;height:2.4em;background:0 0;margin:0 0 0 -2em;vertical-align:top;text-align:center}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;width:1px;height:2.4em;background:#fff;margin:0 .5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:.8em;color:silver;opacity:.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7);background-position:left center;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 .5em;border-left-color:#fff;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:-5px 0 0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-copy,#jstree-dnd .jstree-icon{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px}.jstree-default .jstree-icon,.jstree-default .jstree-node{background-repeat:no-repeat;background-color:transparent}.jstree-default .jstree-anchor,.jstree-default .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default .jstree-hovered{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #ccc}.jstree-default .jstree-clicked{background:#beebff;border-radius:2px;box-shadow:inset 0 0 1px #999}.jstree-default .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default .jstree-disabled{color:#666}.jstree-default .jstree-disabled.jstree-hovered{box-shadow:none}.jstree-default .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default .jstree-search{font-style:italic;color:#8b0000;font-weight:700}.jstree-default .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked{background:0 0;box-shadow:none}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#e7f4f9}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:0 0}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#e7f4f9}.jstree-default>.jstree-striped{min-width:100%;display:inline-block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==) left top}.jstree-default>.jstree-wholerow-ul .jstree-clicked,.jstree-default>.jstree-wholerow-ul .jstree-hovered{background:0 0;box-shadow:none;border-radius:0}.jstree-default .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;height:24px}.jstree-default .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default .jstree-wholerow-clicked{background:#beebff;background:-webkit-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:linear-gradient(to bottom,#beebff 0,#a8e4ff 100%)}.jstree-default .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px;background-position:-292px -4px;background-repeat:repeat-y}.jstree-default .jstree-anchor{line-height:24px;height:24px}.jstree-default .jstree-icon,.jstree-default .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default .jstree-icon,.jstree-default .jstree-node{background-image:url(32px.png)}.jstree-default .jstree-last{background:0 0}.jstree-default .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default .jstree-themeicon{background-position:-260px -4px}.jstree-default>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default>.jstree-no-dots .jstree-node{background:0 0}.jstree-default>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default .jstree-disabled,.jstree-default .jstree-disabled.jstree-hovered{background:0 0}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-checkbox{background-position:-164px -4px}.jstree-default .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default .jstree-checked>.jstree-checkbox,.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox{background-position:-228px -4px}.jstree-default .jstree-checked>.jstree-checkbox:hover,.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default>.jstree-striped{background-size:auto 48px}.jstree-default.jstree-rtl .jstree-node{margin-right:24px;background-position:100% 1px;background-repeat:repeat-y}.jstree-default.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default.jstree-rtl>.jstree-no-dots .jstree-node{background:0 0}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default .jstree-file{background:url(32px.png) -100px -68px no-repeat}.jstree-default .jstree-folder{background:url(32px.png) -260px -4px no-repeat}.jstree-default>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default{line-height:24px;padding:0 4px}#jstree-dnd.jstree-default .jstree-er,#jstree-dnd.jstree-default .jstree-ok{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default i{background:0 0;width:24px;height:24px;line-height:24px}#jstree-dnd.jstree-default .jstree-ok{background-position:-4px -68px}#jstree-dnd.jstree-default .jstree-er{background-position:-36px -68px}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==)}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px;background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-small .jstree-icon,.jstree-default-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default-small .jstree-wholerow{height:18px}.jstree-default-small .jstree-icon,.jstree-default-small .jstree-node{background-image:url(32px.png)}.jstree-default-small .jstree-last{background:0 0}.jstree-default-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-small>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-small>.jstree-no-dots .jstree-node{background:0 0}.jstree-default-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-small .jstree-disabled,.jstree-default-small .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-small .jstree-checked>.jstree-checkbox,.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-small .jstree-checked>.jstree-checkbox:hover,.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-small .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-small>.jstree-striped{background-size:auto 36px}.jstree-default-small.jstree-rtl .jstree-node{margin-right:18px;background-position:100% 1px;background-repeat:repeat-y}.jstree-default-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-node{background:0 0}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-small .jstree-file{background:url(32px.png) -103px -71px no-repeat}.jstree-default-small .jstree-folder{background:url(32px.png) -263px -7px no-repeat}.jstree-default-small>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-small{line-height:18px;padding:0 4px}#jstree-dnd.jstree-default-small .jstree-er,#jstree-dnd.jstree-default-small .jstree-ok{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-small i{background:0 0;width:18px;height:18px;line-height:18px}#jstree-dnd.jstree-default-small .jstree-ok{background-position:-7px -71px}#jstree-dnd.jstree-default-small .jstree-er{background-position:-39px -71px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==)}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px;background-position:-288px 0;background-repeat:repeat-y}.jstree-default-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-large .jstree-icon,.jstree-default-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-large .jstree-wholerow{height:32px}.jstree-default-large .jstree-icon,.jstree-default-large .jstree-node{background-image:url(32px.png)}.jstree-default-large .jstree-last{background:0 0}.jstree-default-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-large .jstree-themeicon{background-position:-256px 0}.jstree-default-large>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-large>.jstree-no-dots .jstree-node{background:0 0}.jstree-default-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.jstree-default-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-large .jstree-disabled,.jstree-default-large .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-large .jstree-checkbox{background-position:-160px 0}.jstree-default-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-large .jstree-checked>.jstree-checkbox,.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox{background-position:-224px 0}.jstree-default-large .jstree-checked>.jstree-checkbox:hover,.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-large .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-large>.jstree-striped{background-size:auto 64px}.jstree-default-large.jstree-rtl .jstree-node{margin-right:32px;background-position:100% 1px;background-repeat:repeat-y}.jstree-default-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-node{background:0 0}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 -32px}.jstree-default-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-large .jstree-file{background:url(32px.png) -96px -64px no-repeat}.jstree-default-large .jstree-folder{background:url(32px.png) -256px 0 no-repeat}.jstree-default-large>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-large{line-height:32px;padding:0 4px}#jstree-dnd.jstree-default-large .jstree-er,#jstree-dnd.jstree-default-large .jstree-ok{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-large i{background:0 0;width:32px;height:32px;line-height:32px}#jstree-dnd.jstree-default-large .jstree-ok{background-position:0 -64px}#jstree-dnd.jstree-default-large .jstree-er{background-position:-32px -64px}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==)}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}@media (max-width:768px){#jstree-dnd.jstree-dnd-responsive{line-height:40px;font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}#jstree-dnd.jstree-dnd-responsive>i{background:0 0;width:40px;height:40px}#jstree-dnd.jstree-dnd-responsive>.jstree-ok{background-image:url(40px.png);background-position:0 -200px;background-size:120px 240px}#jstree-dnd.jstree-dnd-responsive>.jstree-er{background-image:url(40px.png);background-position:-40px -200px;background-size:120px 240px}#jstree-marker.jstree-dnd-responsive{border-left-width:10px;border-top-width:10px;border-bottom-width:10px;margin-top:-10px}.jstree-default-responsive .jstree-leaf>.jstree-ocl,.jstree-default-responsive .jstree-node{background:0 0}.jstree-default-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-responsive .jstree-anchor{line-height:40px;height:40px;font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px}.jstree-default-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-ocl,.jstree-default-responsive .jstree-themeicon{background-size:120px 240px}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-open>.jstree-ocl{background-position:0 0!important}.jstree-default-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px!important}.jstree-default-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0!important}.jstree-default-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-responsive .jstree-checked>.jstree-checkbox,.jstree-default-responsive .jstree-checked>.jstree-checkbox:hover,.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-responsive>.jstree-striped{background:0 0}.jstree-default-responsive .jstree-wholerow{border-top:1px solid rgba(255,255,255,.7);border-bottom:1px solid rgba(64,64,64,.2);background:#ebebeb;height:40px}.jstree-default-responsive .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default-responsive .jstree-wholerow-clicked{background:#beebff}.jstree-default-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #666}.jstree-default-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #666;border-top:0}.jstree-default-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-node>.jstree-ocl,.jstree-default-responsive .jstree-themeicon{background-image:url(40px.png);background-size:120px 240px}.jstree-default-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-responsive .jstree-last{background:0 0}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-responsive .jstree-file{background:url(40px.png) 0 -160px no-repeat;background-size:120px 240px}.jstree-default-responsive .jstree-folder{background:url(40px.png) -40px -40px no-repeat;background-size:120px 240px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}}/*!
  * Stylesheet for the Date Range Picker, for use with Bootstrap 3.x
  *
  * Copyright 2013 Dan Grossman ( http://www.dangrossman.info )
@@ -35,4 +35,4 @@ Copyright (c) 2015 Daniel Eden
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Built for http://www.improvely.com
- */.daterangepicker.dropdown-menu{max-width:none;z-index:3000}.daterangepicker.opensleft .calendar,.daterangepicker.opensleft .ranges{float:left;margin:4px}.daterangepicker.openscenter .calendar,.daterangepicker.openscenter .ranges,.daterangepicker.opensright .calendar,.daterangepicker.opensright .ranges{float:right;margin:4px}.daterangepicker.single .calendar,.daterangepicker.single .ranges{float:none}.daterangepicker .ranges .range_inputs>div,.daterangepicker_start_input{float:left}.daterangepicker .ranges{width:160px;text-align:left}.daterangepicker .ranges .range_inputs>div:nth-child(2){padding-left:11px}.daterangepicker .calendar{display:none;max-width:270px}.daterangepicker.show-calendar .calendar{display:block}.daterangepicker .calendar.single .calendar-date{border:none}.daterangepicker .calendar td,.daterangepicker .calendar th{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;white-space:nowrap;text-align:center;min-width:32px}.daterangepicker .daterangepicker_end_input label,.daterangepicker .daterangepicker_start_input label{color:#333;display:block;font-size:11px;font-weight:400;height:20px;line-height:20px;margin-bottom:2px;text-shadow:#fff 1px 1px 0;text-transform:uppercase;width:74px}.daterangepicker .ranges input{font-size:11px}.daterangepicker .ranges .input-mini{border:1px solid #ccc;border-radius:4px;color:#555;display:block;font-size:11px;height:30px;line-height:30px;vertical-align:middle;margin:0 0 10px;padding:0 6px;width:74px}.daterangepicker .ranges ul{list-style:none;margin:0;padding:0}.daterangepicker .ranges li{font-size:13px;background:#f5f5f5;border:1px solid #f5f5f5;color:#08c;padding:3px 12px;margin-bottom:8px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;cursor:pointer}.daterangepicker .ranges li.active,.daterangepicker .ranges li:hover{background:#08c;border:1px solid #08c;color:#fff}.daterangepicker .calendar-date{border:1px solid #ddd;padding:4px;border-radius:4px;background:#fff}.daterangepicker .calendar-time{text-align:center;margin:8px auto 0;line-height:30px}.daterangepicker{position:absolute;background:#fff;top:100px;left:20px;padding:4px;margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.daterangepicker.opensleft:before{position:absolute;top:-7px;right:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,.2);content:''}.daterangepicker.opensleft:after{position:absolute;top:-6px;right:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.daterangepicker.openscenter:after,.daterangepicker.openscenter:before{left:0;right:0;width:0;margin-left:auto;margin-right:auto;position:absolute;display:inline-block;content:''}.daterangepicker.openscenter:before{top:-7px;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,.2)}.daterangepicker.openscenter:after{top:-6px;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent}.daterangepicker.opensright:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,.2);content:''}.daterangepicker.opensright:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.daterangepicker table{width:100%;margin:0}.daterangepicker td,.daterangepicker th{text-align:center;width:20px;height:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;cursor:pointer;white-space:nowrap}.daterangepicker option.disabled,.daterangepicker td.disabled,.daterangepicker td.off{color:#999}.daterangepicker td.available:hover,.daterangepicker th.available:hover{background:#eee}.daterangepicker td.in-range{background:#ebf4f8;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.daterangepicker td.start-date{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.daterangepicker td.end-date{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.daterangepicker td.start-date.end-date{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.daterangepicker td.active,.daterangepicker td.active:hover{background-color:#357ebd;border-color:#3071a9;color:#fff}.daterangepicker td.week,.daterangepicker th.week{font-size:80%;color:#ccc}.daterangepicker select.monthselect,.daterangepicker select.yearselect{font-size:12px;padding:1px;height:auto;margin:0;cursor:default}.daterangepicker select.monthselect{margin-right:2%;width:56%}.daterangepicker select.yearselect{width:40%}.daterangepicker select.ampmselect,.daterangepicker select.hourselect,.daterangepicker select.minuteselect,.daterangepicker select.secondselect{width:50px;margin-bottom:0}.daterangepicker_end_input{float:left;padding-left:11px}.daterangepicker th.month{width:auto}
\ No newline at end of file
+ */.daterangepicker.dropdown-menu{max-width:none;z-index:3000}.daterangepicker.opensleft .calendar,.daterangepicker.opensleft .ranges{float:left;margin:4px}.daterangepicker.openscenter .calendar,.daterangepicker.openscenter .ranges,.daterangepicker.opensright .calendar,.daterangepicker.opensright .ranges{float:right;margin:4px}.daterangepicker.single .calendar,.daterangepicker.single .ranges{float:none}.daterangepicker .ranges .range_inputs>div,.daterangepicker_start_input{float:left}.daterangepicker .ranges{width:160px;text-align:left}.daterangepicker .ranges .range_inputs>div:nth-child(2){padding-left:11px}.daterangepicker .calendar{display:none;max-width:270px}.daterangepicker.show-calendar .calendar{display:block}.daterangepicker .calendar.single .calendar-date{border:none}.daterangepicker .calendar td,.daterangepicker .calendar th{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;white-space:nowrap;text-align:center;min-width:32px}.daterangepicker .daterangepicker_end_input label,.daterangepicker .daterangepicker_start_input label{color:#333;display:block;font-size:11px;font-weight:400;height:20px;line-height:20px;margin-bottom:2px;text-shadow:#fff 1px 1px 0;text-transform:uppercase;width:74px}.daterangepicker .ranges input{font-size:11px}.daterangepicker .ranges .input-mini{border:1px solid #ccc;border-radius:4px;color:#555;display:block;font-size:11px;height:30px;line-height:30px;vertical-align:middle;margin:0 0 10px;padding:0 6px;width:74px}.daterangepicker .ranges ul{list-style:none;margin:0;padding:0}.daterangepicker .ranges li{font-size:13px;background:#f5f5f5;border:1px solid #f5f5f5;color:#08c;padding:3px 12px;margin-bottom:8px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;cursor:pointer}.daterangepicker .ranges li.active,.daterangepicker .ranges li:hover{background:#08c;border:1px solid #08c;color:#fff}.daterangepicker .calendar-date{border:1px solid #ddd;padding:4px;border-radius:4px;background:#fff}.daterangepicker .calendar-time{text-align:center;margin:8px auto 0;line-height:30px}.daterangepicker{position:absolute;background:#fff;top:100px;left:20px;padding:4px;margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.daterangepicker.opensleft:before{position:absolute;top:-7px;right:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,.2);content:''}.daterangepicker.opensleft:after{position:absolute;top:-6px;right:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.daterangepicker.openscenter:after,.daterangepicker.openscenter:before{left:0;right:0;width:0;margin-left:auto;margin-right:auto;position:absolute;display:inline-block;content:''}.daterangepicker.openscenter:before{top:-7px;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,.2)}.daterangepicker.openscenter:after{top:-6px;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent}.daterangepicker.opensright:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,.2);content:''}.daterangepicker.opensright:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.daterangepicker table{width:100%;margin:0}.daterangepicker td,.daterangepicker th{text-align:center;width:20px;height:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;cursor:pointer;white-space:nowrap}.daterangepicker option.disabled,.daterangepicker td.disabled,.daterangepicker td.off{color:#999}.daterangepicker td.available:hover,.daterangepicker th.available:hover{background:#eee}.daterangepicker td.in-range{background:#ebf4f8;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.daterangepicker td.start-date{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.daterangepicker td.end-date{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.daterangepicker td.start-date.end-date{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.daterangepicker td.active,.daterangepicker td.active:hover{background-color:#357ebd;border-color:#3071a9;color:#fff}.daterangepicker td.week,.daterangepicker th.week{font-size:80%;color:#ccc}.daterangepicker select.monthselect,.daterangepicker select.yearselect{font-size:12px;padding:1px;height:auto;margin:0;cursor:default}.daterangepicker select.monthselect{margin-right:2%;width:56%}.daterangepicker select.yearselect{width:40%}.daterangepicker select.ampmselect,.daterangepicker select.hourselect,.daterangepicker select.minuteselect,.daterangepicker select.secondselect{width:50px;margin-bottom:0}.daterangepicker_end_input{float:left;padding-left:11px}.daterangepicker th.month{width:auto}.ng-cloak,.x-ng-cloak,[data-ng-cloak],[ng-cloak],[ng\:cloak],[x-ng-cloak]{display:none!important}.adf-move{cursor:move;cursor:-webkit-grabbing}.edit .column{min-height:120px;border:1px dashed #ccc;padding-top:15px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}pre.edit{margin-top:15px}.column .placeholder{opacity:.4;background:#E8E8E8;border:1px dashed #505050;margin-bottom:15px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.dashboard-container h1 a,.widget h3 a{text-decoration:none}.padding-bottom{padding-bottom:5px}.adf-flip{-moz-transform:scaleX(-1);-o-transform:scaleX(-1);-webkit-transform:scaleX(-1);transform:scaleX(-1);filter:FlipH;-ms-filter:"FlipH"}.dashboard-modal.widget-fullscreen .modal-dialog{width:98%}.clock{text-align:center}.clock-time{font-size:3em}.clock-date{font-size:1em}iframe{width:100%;height:100%;min-height:400px;border:1px solid grey}
\ No newline at end of file
similarity index 72%
rename from public/app/9210b25d.app.js
rename to public/app/76616549.app.js
index 449f6a4..772bfea 100644 (file)
@@ -1,21 +1,21 @@
-"use strict";angular.module("xCallyShuttleApp",["adf","adf.structures.base","adf.widget.clock","adf.widget.iframe","adf.widget.counter","adf.widget.table","adf.widget.pie-chart","angular-md5","angular.filter","angularFileUpload","btford.socket-io","chart.js","checklist-model","colorpicker.module","frapontillo.bootstrap-switch","infinite-scroll","LocalStorageModule","mgo-angular-wizard","ng-slide-down","ngAnimate","ngBootstrap","ngCookies","ngCsv","ngFileSaver","ngJsTree","ngMap","ngPapaParse","ngResource","ngSanitize","notification","oc.lazyLoad","pascalprecht.translate","pdf","remoteValidation","smart-table","sprintf","textAngular","toastr","ui-notification","ui.bootstrap.modal","ui.bootstrap.dropdown","ui.bootstrap.popover","ui.bootstrap.timepicker","ui.bootstrap.tooltip","ui.bootstrap.tpls","ui.bootstrap.accordion","ui.bootstrap.progressbar","ui.grid","ui.grid.grouping","ui.grid.moveColumns","ui.grid.pagination","ui.grid.treeView","ui.router","ui.navbar","ui.select","ui.sortable","xeditable","ngAudio","truncate","ngScrollbars","ngEmoticons"]).config(["$stateProvider","$urlRouterProvider","$locationProvider","$httpProvider","$translateProvider","localStorageServiceProvider","dashboardProvider","ScrollBarsProvider",function(a,b,c,d,e,f,g,h){b.otherwise("/dashboard/voice"),e.useStaticFilesLoader({prefix:"assets/languages/locale-",suffix:".json"}),e.preferredLanguage("en_EN"),e.useLocalStorage(),e.useSanitizeValueStrategy("sanitize"),c.html5Mode(!0),d.interceptors.push("authInterceptor"),g.structure("4-4-4",{rows:[{columns:[{styleClass:"col-md-4"},{styleClass:"col-md-4"},{styleClass:"col-md-4"}]}]}).structure("3-3-3-3",{rows:[{columns:[{styleClass:"col-md-3"},{styleClass:"col-md-3"},{styleClass:"col-md-3"},{styleClass:"col-md-3"}]}]}),f.setPrefix("xcally"),h.defaults={scrollButtons:{scrollAmount:"auto",enable:!0},axis:"y"}}]).factory("settings",["$rootScope","$interval","License",function(a,b,c){var d={layout:{pageSidebarClosed:!1,pageQuickSidebarOpened:!1,pageBodySolid:!1,pageAutoScrollOnLoad:1e3}};return a.settings=d,c.get(function(b){b.license&&(a.license=b.license)}),d}]).factory("authInterceptor",["$rootScope","$q","$cookieStore",function(a,b,c){return{request:function(a){return a.headers=a.headers||{},c.get("token")&&(a.headers.Authorization="Bearer "+c.get("token")),a}}}]).run(["$rootScope","$location","$state","$stateParams","$window","$http","Auth","editableThemes","editableOptions",function(a,b,c,d,e,f,g,h,i){a.$state=c,a.$stateParams=d,h.bs3.inputClass="input-sm",h.bs3.buttonsClass="btn-xs",i.theme="bs3",a.online=navigator.onLine,e.addEventListener("offline",function(){a.$apply(function(){a.online=!1})},!1),e.addEventListener("online",function(){a.$apply(function(){a.online=!0})},!1),a.$on("$stateChangeStart",function(a,c){g.isLoggedInAsync(function(a){c.authenticate&&!a&&b.path("/login")})}),a.updateTableConfig=function(a,b){var c=_.find(a,{name:"All"});c&&(c.value=b)}}]),angular.module("xCallyShuttleApp").factory("Agent",["$resource",function(a){return a("/api/agents/:id/:controller",{id:"@id"},{changePassword:{method:"PUT",params:{controller:"password"}},update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.agents",{url:"/agents",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("AgentListCtrl",["$scope","$http","$rootScope","xAlert","$translate","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={agentsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.agentsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.agents={checked:[]},a.check=function(b,c){c?a.agents.checked=angular.copy(_.pluck(a.displayedAgents,"id")):a.agents.checked=[]},a.getAgents=function(b){return _.map(a.displayedAgents,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("agent"),b.url="/api/agents",h.getPage(b).then(function(d){a.displayedAgents=d.rows,b.pagination.numberOfPages=d.total_pages,c.updateTableConfig(a.agentsByPage,a.displayedAgents.length),c.updateTableConfig(a.conf.agentsByPage,a.displayedAgents.length)}),f.socket.on("agent:save",function(){a.initList(b)}),f.socket.on("agent:remove",function(c){a.agents.checked=_.without(a.agents.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/agents/"+a).success(function(){d.show(e.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/agents",{params:{id:a.agents.checked}}).success(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){d.show(e.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.agents.list",{url:"/list",templateUrl:"app/agent/list/list.html",controller:"AgentListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("AgentViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$cookieStore","socket","FileUploader","Auth",function(a,b,c,d,e,f,g,h,i){a.Auth=i,a.updatePassword=function(){var f,g;i.isAdmin()?(f="/api/agents/password/"+e.id+"/reset",g={newPassword:a.agent.newPwd}):(f="/api/agents/password/",g={oldPassword:a.agent.currentPwd,newPassword:a.agent.newPwd}),b.put(f,g).success(function(a){c.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){c.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})};var j=a.uploader=new h({url:"api/users/"+e.id+"/avatar",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+f.get("token")}});j.filters.push({name:"imageFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|jpg|png|jpeg|".indexOf(b)}}),j.onSuccessItem=function(b,e,f,g){a.agent.userpic=e.userpic,a.agent.id===i.getCurrentUser().id&&(i.getCurrentUser().userpic=e.userpic),c.show(d.instant("MESSAGE_WELL_DONE"),"success")},j.onErrorItem=function(a,b,e,f){c.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")},j.onCompleteAll=function(){j.clearQueue()},a.initView=function(){b.get("/api/agents/"+e.id).success(function(b){a.agent=b,a.agent.transport=a.agent.transport?a.agent.transport.split(","):[],a.agent.allow=a.agent.allow?a.agent.allow.split(";"):[]}).error(function(a){c.show(a.message,"danger")})},a.updateItem=function(){var f=angular.copy(a.agent),g=angular.copy(a.agent);delete f.password,delete f.md5secret,f.transport=f.transport.join(","),f.allow=f.allow.join(";"),b.put("/api/agents/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(b){a.agent=g,b.errors.forEach(function(a){c.show(a.message,"danger")})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.agents.view",{url:"/view/:id",templateUrl:"app/agent/view/view.html",controller:"AgentViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.agents.view.account",{url:"/account",templateUrl:"app/agent/view/view.account.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/scripts/jquery.sparkline.min.js","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js","assets/scripts/profile.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("AgentWizardCtrl",["$scope","$http","xAlert","$location","WizardHandler","$translate",function(a,b,c,d,e,f){a.forms={info:void 0,voice:void 0},a.item={role:"agent",allow:["alaw","ulaw","gsm"],transport:["udp"],context:"from-sip"},a.next=function(){b.post("/api/agents/validate/",a.item).success(function(a){console.log(a),a.length?c.show(f.instant("MESSAGE_EXIST_INTERNAL"),"danger"):e.wizard().next()}).error(function(a){c.show(f.instant(a.message),"danger")})},a.getFirstFreeInternal=function(){b.get("/api/settings/internal").success(function(b){a.item.internal=b.value}).error(function(a){c.show(f.instant(a.message),"danger")})},a.exitValidation=function(a){return a},a.createItem=function(){a.item.transport&&(a.item.transport=a.item.transport.join(",")),a.item.allow&&(a.item.allow=a.item.allow.join(";")),b.post("/api/agents/",a.item).success(function(){d.path("/agents/list")}).error(function(a){a.errors.forEach(function(a){c.show(a.message,"danger")})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.agents.wizard",{url:"/wizard",templateUrl:"app/agent/wizard/wizard.html",controller:"AgentWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics",{url:"/analytics",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("AnalyticMetricListCreateModalCtrl",["$scope","$uibModalInstance",function(a,b){a.forms={dashboard:void 0},a.item={},a.tables=[{name:"Agent Report",value:"report_agent_history"},{name:"Mail Report",value:"report_mail_session_history"},{name:"Queue Report",value:"report_queue_history"},{name:"Integration Report",value:"report_integration_history"},{name:"Chat Report",value:"report_chat_session_history"}],a.ok=function(){a.item.model=JSON.stringify({title:a.item.name}),b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("AnalyticMetricListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource","$uibModal","$log",function(a,b,c,d,e,f,g,h,i,j){a.conf={metricsByPage:{name:"10",value:10}},a.metricsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.Metrics={checked:[]},a.check=function(b,c){c?a.Metrics.checked=angular.copy(_.pluck(a.displayedMetrics,"id")):a.Metrics.checked=[]},a.getMetrics=function(b){return _.map(a.displayedMetrics,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("metric"),b.url="/api/analytics/metrics",h.getPage(b).then(function(c){a.displayedMetrics=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.metricsByPage,a.displayedMetrics.length),d.updateTableConfig(a.conf.metricsByPage,a.displayedMetrics.length)}),c.socket.on("metric:save",function(){a.initList(b)}),c.socket.on("metric:remove",function(c){a.Metrics.checked=_.without(a.Metrics.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/analytics/metrics/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/analytics/metrics",{params:{id:a.Metrics.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.create=function(){var a=i.open({animation:!0,templateUrl:"app/analytic/metric/list/create.modal.html",controller:"AnalyticMetricListCreateModalCtrl"});a.result.then(function(a){b.post("/api/analytics/metrics",a).then(function(a){f.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.show(a.data.message,"danger")})},function(){j.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.metrics.list",{url:"/list",templateUrl:"app/analytic/metric/list/list.html",controller:"AnalyticMetricListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.metrics",{url:"/metrics",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("AnalyticMetricViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.tables=[{name:"Agent Report",value:"report_agent"},{name:"Mail Report",value:"report_mail_session"},{name:"Queue Report",value:"report_queue"},{name:"Integration Report",value:"report_integration"},{name:"Chat Report",value:"report_chat_session"}],a.getMetric=function(){b.get("/api/analytics/metrics/"+e.id).success(function(b){a.metric=b}).error(function(a){console.error(a),f.path("/analytics/metrics/list")})},a.updateMetric=function(){var f=angular.copy(a.metric);b.put("/api/analytics/metrics/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.metric=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.metrics.view",{url:"/view/:id",templateUrl:"app/analytic/metric/view/view.html",controller:"AnalyticMetricViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.analytics.metrics.view.settings",{url:"/settings",templateUrl:"app/analytic/metric/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("ReportListCopyModalCtrl",["$scope","$uibModalInstance","$log","customTreeData",function(a,b,c,d){a.customTreeData=d,a.forms={dashboard:void 0},a.item={},a.customTreeConfig={multiple:!1,animation:!0,core:{error:function(a){c.error("treeCtrl: error from js tree - "+angular.toJson(a))},check_callback:!0}},a.ac=function(){return!0},a.initCustomScopeTree=function(){a.customTree=a.customTreeInstance.jstree(!0),a.customTree.deselect_all(),a.customTree.open_all()},a.ok=function(){b.close({parent:a.customTree.get_selected(!0).pop().id})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("ReportListCreateModalCtrl",["$scope","$uibModalInstance","path",function(a,b,c){a.path=c,a.forms={dashboard:void 0},a.item={},a.ok=function(){a.item.model=JSON.stringify({title:a.item.name}),b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("ReportListExtractModalCtrl",["$scope","$uibModalInstance","$http","report","xAlert","$translate","$timeout",function(a,b,c,d,e,f,g){a.forms={dashboard:void 0},a.dates={startDate:moment().startOf("day"),endDate:moment().endOf("day")},a.ranges={Today:[moment(),moment()],Yesterday:[moment().subtract(1,"days"),moment().subtract(1,"days")],"Last 7 days":[moment().subtract(7,"days"),moment()],"Last 30 days":[moment().subtract(30,"days"),moment()],"This month":[moment().startOf("month"),moment().endOf("month")]};var h={pageNumber:1,pageSize:25,sort:null,where:{},order:{}};a.gridOptions={paginationPageSizes:[10,25,50],paginationPageSize:25,useExternalPagination:!0,enableSorting:!1,enableFiltering:!0,useExternalFiltering:!0,enableGrouping:!1,treeRowHeaderAlwaysVisible:!1,gridMenuShowHideColumns:!1,enableGridMenu:!0,onRegisterApi:function(b){a.gridApi=b,b.pagination.on.paginationChanged(a,function(b,c){h.pageNumber=b,h.pageSize=c,a.getPage()}),b.core.on.filterChanged(a,function(){var b=this.grid,c={};b.columns.forEach(function(a){console.log(a),a.filters[0].term&&(c[a.field]=a.filters[0].term)}),h.where=c,a.getPage()})}},a.getPage=function(){console.log(a.dates);var b={params:{page:h.pageNumber-1,perPage:h.pageSize,uiPagination:!0,startDate:a.dates.startDate.toISOString(),endDate:a.dates.endDate.toISOString()}};_.forOwn(h.where,function(a,c){b.params[c]=a}),console.log(b),c.get("/api/analytics/reports/"+d.tree+"/extract/"+d.id,b).success(function(b){console.log(b),a.gridOptions.totalItems=b.count<=b.length?b.length:b.count,a.gridOptions.paginationPageSizes[3]=b.count,a.gridOptions.data=b.rows,a.showResult=!0}).error(function(a){e.show(f.instant(a.message),"danger")})},a.cancel=function(){b.dismiss("cancel")},g(function(){a.getPage()})}]),angular.module("xCallyShuttleApp").controller("AnalyticReportListCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$location","$log","Modal","$rootScope","stResource","$uibModal","FileSaver","Blob",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a.searchField="",a.ac=function(){return!0},a.initDefaultScopeTree=function(){a.defaultTree=a.defaultTreeInstance.jstree(!0),a.defaultTree.deselect_all(),a.defaultTree.close_all(),a.defaultTree.open_node({id:1}),a.defaultTreeReady=!0,a.defaultTreeActive=!0,a.previousDefaultNode=""},a.initCustomScopeTree=function(){a.customTree=a.customTreeInstance.jstree(!0),a.customTree.deselect_all(),a.customTree.close_all(),a.customTree.open_node({id:1}),a.customTreeReady=!0,a.previousCustomNode=""},a.$watchGroup(["defaultTreeReady","customTreeReady"],function(b,c,d){b[0]&&b[1]&&a.defaultTree.select_node({id:"1"})}),a.updateCustomTree=function(){var e={tree:angular.toJson(a.customTree.get_json("#",{flat:!0}))};b.put("/api/analytics/reports/trees/2",e).success(function(a){console.log("Custom Tree Updated")}).error(function(a){c.show(d.instant(a.message),"danger")})},a.configTrees=function(){a.defaultTreeConfig={multiple:!1,animation:!0,core:{error:function(a){h.error("treeCtrl: error from js tree - "+angular.toJson(a))},check_callback:!0},plugins:["search"]},a.customTreeConfig={multiple:!1,animation:!0,core:{error:function(a){h.error("treeCtrl: error from js tree - "+angular.toJson(a))},check_callback:!0},plugins:["contextmenu","dnd","search"],contextmenu:{items:function(b,c){var e={create:{label:d.instant("APPLICATION_CREATE"),action:function(c){a.customTree.create_node(b),a.customTree.open_node(b)}},rename:{label:d.instant("APPLICATION_RENAME"),action:function(c){a.customTree.edit(b)}},remove:{label:d.instant("APPLICATION_REMOVE"),action:function(c){console.log(b),a.deleteNode(b.text,b)}}};return"#"===b.parent&&(delete e.rename,delete e.remove),c(e),e}}}},a.deleteNode=i.confirm["delete"](function(b){a.customTree.delete_node(b),a.previousCustomNode==b.id&&a.customTree.select_node({id:b.parent})}),a.searchTrees=function(){a.defaultTree.search(a.searchField),a.customTree.search(a.searchField)},a.selectDefaultNode=function(){if(a.customTreeReady){a.previousCustomNode="";var b=a.defaultTree.get_selected(!0),c=b.pop();if(a.defaultTree.deselect_node(b[0],!0),a.customTree.deselect_all(),a.defaultTree.select_node(c,!0),c.id===a.previousDefaultNode)return void console.log("def");a.previousDefaultNode=c.id,a.defaultTreeActive=!0,a.initList(a.tableState)}},a.selectCustomNode=function(){if(a.defaultTreeReady){a.previousDefaultNode="";var b=a.customTree.get_selected(!0),c=b.pop();if(a.customTree.deselect_node(b[0],!0),a.defaultTree.deselect_all(),a.customTree.select_node(c,!0),c.id===a.previousCustomNode)return void console.log("cus");a.previousCustomNode=c.id,a.defaultTreeActive=!1,a.initList(a.tableState)}},a.getTrees=function(){b.get("/api/analytics/reports/trees").success(function(b){a.defaultTreeData=JSON.parse(b[0].tree),a.customTreeData=JSON.parse(b[1].tree),a.configTrees()}).error(function(a){c.show(d.instant(a.message),"danger")})},a.conf={reportsByPage:{name:"10",value:10}},a.reportsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.Reports={checked:[]},a.check=function(b,c){c?a.Reports.checked=angular.copy(_.pluck(a.displayedReports,"id")):a.Reports.checked=[]},a.getReports=function(b){return _.map(a.displayedReports,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){if(b){f.unsyncUpdates("custom_report"),a.Reports.checked=[];var c=a.defaultTree.get_selected(),d=a.customTree.get_selected();if(c.length){var e=c.pop();a.selectedNode=a.defaultTree.get_path(e," / "),b.url="/api/analytics/reports/default",b.search.params={parent:e}}else{if(!d.length)return;var e=d.pop();a.selectedNode=a.customTree.get_path(e," / "),b.url="/api/analytics/reports/custom",b.search.params={parent:e}}a.tableState=b,k.getPage(b).then(function(c){a.displayedReports=c.rows,b.pagination.numberOfPages=c.total_pages,j.updateTableConfig(a.reportsByPage,a.displayedReports.length),j.updateTableConfig(a.conf.reportsByPage,a.displayedReports.length)}),f.socket.on("custom_report:save",function(){a.defaultTreeActive||(console.log("save"),a.initList(b))}),f.socket.on("custom_report:remove",function(c){a.defaultTreeActive||(a.Reports.checked=_.without(a.Reports.checked,c.id),a.initList(b))})}},a.deleteItem=i.confirm["delete"](function(a){b["delete"]("/api/analytics/reports/custom/"+a).success(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){c.show(a.message,"danger")})}),a.deleteItems=i.confirm["delete"](function(){b["delete"]("/api/analytics/reports/custom",{params:{id:a.Reports.checked}}).success(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){c.show(a.message,"danger")})}),a.create=function(){var d=l.open({animation:!0,templateUrl:"app/analytic/report/list/create.modal.html",controller:"ReportListCreateModalCtrl",resolve:{path:function(){return a.selectedNode}}});d.result.then(function(d){d.parent=a.previousCustomNode,b.post("/api/analytics/reports/custom",d).then(function(a){g.path("/analytics/reports/view/"+a.data.id+"/settings")})["catch"](function(a){c.show(a.data.message,"danger")})},function(){h.info("Modal dismissed at: "+new Date)})},a.copy=function(e){var f=a.defaultTreeActive?"/api/analytics/reports/default/copy/"+e:"/api/analytics/reports/custom/copy/"+e,g=l.open({animation:!0,templateUrl:"app/analytic/report/list/copy.modal.html",controller:"ReportListCopyModalCtrl",resolve:{customTreeData:function(){return a.customTreeData}}});g.result.then(function(a){b.post(f,a).then(function(a){c.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){c.show(a.data.message,"danger")})},function(){h.info("Modal dismissed at: "+new Date)})},a["export"]=function(a){b.get("/api/analytics/reports/custom/"+a).success(function(a){delete a.id,_.forEach(a.Fields,function(a){delete a.id,delete a.CustomReportId});var b=new n([angular.toJson(a)],{type:"application/json;charset=utf-8"});m.saveAs(b,a.name+".json")}).error(function(a){console.error(a),c.show(a.message,"danger")})},a["import"]=function(e){var f=JSON.parse(e);f.parent=a.previousCustomNode;var g=f.name&&f.parent?!0:!1,h=!0;_.forEach(f.Fields,function(a){a.field&&a.alias||(h=!1)}),g&&h?b.post("/api/analytics/reports/custom/import",f).then(function(a){c.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){c.show(a.data.message,"danger")}):c.show(d.instant("MESSAGE_INVALID_JSON"),"danger")},a.extract=function(b){l.open({animation:!0,templateUrl:"app/analytic/report/list/extract.modal.html",controller:"ReportListExtractModalCtrl",size:"full",resolve:{report:function(){return{id:b,tree:a.defaultTreeActive?"default":"custom"}}}})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.reports.list",{url:"/list",templateUrl:"app/analytic/report/list/list.html",controller:"AnalyticReportListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.reports",{url:"/reports",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("AnalyticReportViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){function g(e){var f=_.find(a.tables,{table:e}).url;b.get(f).success(function(b){delete b.createdAt,delete b.updatedAt,delete b.id,a.tableFields=_.map(b,function(a,b){return{name:b,value:b}})}).error(function(a){c.show(d.instant(a.message),"danger")})}function h(e){console.log(e),b.get("/api/analytics/metrics/table",{params:{table:e}}).success(function(b){_.forEach(b,function(b){a.tableFields.push({name:"<strong>Metric.</strong>"+b.name,value:b.metric})})}).error(function(a){c.show(d.instant(a.message),"danger")})}function i(a){return String(a).replace(/</g,"&lt;").replace(/>/g,"&gt;")}function j(a){if(!a)return"";for(var b="(",c=0;c<a.rules.length;c++)c>0&&(b+=" <strong>"+a.operator+"</strong> "),b+=a.rules[c].group?j(a.rules[c].group):a.rules[c].field+" "+i(a.rules[c].condition)+" '"+("like"===a.rules[c].condition?"%"+a.rules[c].value+"%":a.rules[c].value)+"'";return b+")"}a.$translate=d,a.tempReport={},a.tables=[{name:"Agent Report",table:"report_agent_history",url:"/api/report/agents/describe"},{name:"Mail Report",table:"report_mail_session_history",url:"/api/report/mail/sessions/describe"},{name:"Queue Report",table:"report_queue_history",url:"/api/report/queues/describe"},{name:"Integration Report",table:"report_integration_history",url:"/api/report/integrations/describe"},{name:"Chat Report",table:"report_chat_session_history",url:"/api/report/chat/sessions/describe"}];var k={group:{operator:"AND",rules:[]}};a.getReport=function(){a.firstLoad=!0,b.get("/api/analytics/reports/custom/"+e.id).success(function(b){a.report=b,_.forEach(a.report.Fields,function(a){delete a.id}),a.report.conditions=a.report.conditions?JSON.parse(a.report.conditions):_.clone(k,!0),a.getPreview()}).error(function(a){console.error(a),f.path("/analytics/reports/list")})},a.randomName=function(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")},a.$watch("report.table",function(b,c){console.log(b),b&&(console.log("is newvalue"),g(b),h(b),c&&(console.log("is oldvalue"),a.tempReport[c]={conditions:a.report.conditions,fields:a.report.Fields}),a.firstLoad?a.firstLoad=!1:a.tempReport[b]?(a.report.Fields=a.tempReport[b].fields,a.report.conditions=a.tempReport[b].conditions):(a.report.Fields=[],a.report.conditions=_.clone(k,!0)))},!0),a.groupByField=[{name:"APPLICATION_YES",value:!0},{name:"APPLICATION_NO",value:!1}],a.functions=[{name:"Sum",value:"SUM"},{name:"Count",value:"COUNT"},{name:"Count Distinct",value:"COUNT DISTINCT"},{name:"Maximum",value:"MAX"},{name:"Minimum",value:"MIN"},{name:"Average",value:"AVG"},{name:"Group Concat",value:"GROUP_CONCAT"},{name:"Group Concat(asc)",value:"GROUP_CONCAT ASC"},{name:"Group Concat(desc)",value:"GROUP_CONCAT DESC"}],a.addField=function(){a.report.Fields.push({groupBy:!1,CustomReportId:a.report.id})},a.removeField=function(b){a.report.Fields.splice(b,1)},a.sortableOptions={"ui-floating":!0,cancel:".unsortable",handle:".report-field-handle",axis:"y"},a.updateReport=function(){if(a.report.Fields.length){var f=angular.copy(a.report);f.conditions=angular.toJson(f.conditions),b.put("/api/analytics/reports/custom/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),a.getPreview()}).error(function(b){c.show(d.instant(b.message),"danger"),f.conditions=JSON.parse(f.conditions),a.report=f})}else c.show(d.instant("MESSAGE_SELECT_A_FIELD"),"danger")},a.$watch("report.conditions",function(b){a.output=b?j(b.group):"()"},!0),a.gridOptions={enableFiltering:!0,treeRowHeaderAlwaysVisible:!1,enableGridMenu:!0},a.getPreview=function(){a.showPreview=!1,b.get("/api/analytics/reports/custom/preview/"+e.id).success(function(b){a.gridOptions.data=b,a.showPreview=!0}).error(function(a){c.show(d.instant(a.message||"MESSAGE_QUERY_NOT_VALID"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.reports.view",{url:"/view/:id",templateUrl:"app/analytic/report/view/view.html",controller:"AnalyticReportViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.analytics.reports.view.settings",{url:"/settings",templateUrl:"app/analytic/report/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("AnalyticReportWizardCtrl",["$scope","$http","$location","xAlert","socket","$translate",function(a,b,c,d,e,f){a.initWizard=function(){a.forms={},a.item={}},a.createItem=function(){b.post("/api/analytics/reports/",a.item).success(function(){c.path("/analytics/reports/list")}).error(function(a){d.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.reports.wizard",{url:"/wizard",templateUrl:"app/analytic/report/wizard/wizard.html",controller:"AnalyticReportWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.automations",{url:"/automations",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("AutomationListCtrl",["$scope","$http","$translate","$rootScope","stResource","Modal","socket","xAlert",function(a,b,c,d,e,f,g,h){a.conf={AutomationsByPage:{name:"10",value:10}},a.AutomationsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.onText="On",a.offText="Off",a.isActive=!0,a.size="mini",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.Automations={checked:[]},a.check=function(b,c){c?a.Automations.checked=angular.copy(_.pluck(a.displayedAutomations,"id")):a.Automations.checked=[]},a.getAutomations=function(b){return _.map(a.displayedAutomations,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){g.unsyncUpdates("automation"),b.url="/api/automations",e.getPage(b).then(function(c){a.displayedAutomations=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.AutomationsByPage,a.displayedAutomations.length),d.updateTableConfig(a.conf.AutomationsByPage,a.displayedAutomations.length)}),g.socket.on("automation:save",function(){a.initList(b)}),g.socket.on("automation:remove",function(c){a.Automations.checked=_.without(a.Automations.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/automations/"+a).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/automations",{params:{id:a.Automations.checked}}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(c.instant(a.message),"danger")})}),a.updateItem=function(a,d){b.put("api/automations/"+a,{status:d}).success(function(a){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.automations.list",{url:"/list",templateUrl:"app/automation/list/list.html",controller:"AutomationListCtrl"})}]),angular.module("xCallyShuttleApp").controller("AutomationViewCtrl",["$scope","$stateParams","$http","$translate","xAlert","automations",function(a,b,c,d,e,f){a.$automations=f,a.forms={info:{}},a.fields={},a.properties=f.properties,a.initView=function(){c.get("/api/automations/"+b.id).success(function(b){a.automation=b,a.conditionsFilter=JSON.parse(b.conditions),a.actionsFilter=JSON.parse(b.actions),a.fields.conditions=a.$automations.automations[b.channel].conditions,a.fields.actions=a.$automations.automations[b.channel].actions}).error(function(a){e.show(a.message,"danger")})},a.updateAutomation=function(){c.put("/api/automations/"+a.automation.id,{name:a.automation.name,description:a.automation.description,conditions:angular.toJson(a.conditionsFilter),actions:angular.toJson(a.actionsFilter)}).success(function(){e.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.automations.view",{
-url:"/view/:id",templateUrl:"app/automation/view/view.html",controller:"AutomationViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}}).state("main.automations.view.settings",{url:"/settings",templateUrl:"app/automation/view/view.settings.html"}).state("main.automations.view.routes",{url:"/routes",templateUrl:"app/automation/view/view.routes.html"}).state("main.automations.view.application",{url:"/application",templateUrl:"app/automation/view/view.application.html"})}]),angular.module("xCallyShuttleApp").controller("AutomationWizardCtrl",["$scope","$http","$location","xAlert","automations","WizardHandler",function(a,b,c,d,e,f){a.$automations=e,a.tempData={voice:{},mail:{},chat:{},fax:{}},a.item={},a.fields={},a.properties=e.properties,a.forms={general:{}};var g={group:{"boolean":"AND",rules:[],type:"CONDITION",main:!0}},h={group:{rules:[],type:"ACTION"}};a.conditionsFilter=_.clone(g,!0),a.actionsFilter=_.clone(h,!0),a.$watch("item.channel",function(b,c){c&&(a.tempData[c].conditionsFilter=_.clone(a.conditionsFilter,!0),a.tempData[c].actionsFilter=_.clone(a.actionsFilter,!0)),a.conditionsFilter=a.tempData[b].conditionsFilter?a.tempData[b].conditionsFilter:_.clone(g,!0),a.actionsFilter=a.tempData[b].actionsFilter?a.tempData[b].actionsFilter:_.clone(h,!0),a.fields.conditions=a.$automations.automations[b].conditions,a.fields.actions=a.$automations.automations[b].actions},!0),a.item.channel="mail",a.createItem=function(){a.item.conditions=angular.toJson(a.conditionsFilter),a.item.actions=angular.toJson(a.actionsFilter),b.post("/api/automations",a.item).success(function(){c.path("/automations/list")}).error(function(a){d.show(a.message,"danger")})},a.next=function(){f.wizard().next()},a.previous=function(){f.wizard().previous()},a.exitValidation=function(a){return a}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.automations.wizard",{url:"/wizard",templateUrl:"app/automation/wizard/wizard.html",controller:"AutomationWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat",{url:"/chat",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("ChatMessage",["$resource",function(a){return a("/api/chat/messages/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("ChatRoom",["$resource",function(a){return a("/api/chat/rooms/:id/:controller",{id:"@id"},{me:{method:"GET",isArray:!0,params:{id:"me"}},users:{method:"GET",params:{id:"users"}},externals:{method:"GET",isArray:!0,params:{id:"type",controller:"external"}},groups:{method:"GET",isArray:!0,params:{id:"groups"}},update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").directive("preview",function(){return{templateUrl:"app/chat/preview/preview.html",restrict:"EA",link:function(a,b,c){}}}),angular.module("xCallyShuttleApp").controller("ChatQueueListCtrl",["$scope","$http","xAlert","$translate","socket","Modal","$rootScope","stResource",function(a,b,c,d,e,f,g,h){a.conf={chatQueuesByPage:{name:"10",value:10}},a.chatQueuesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.chatQueues={checked:[]},a.check=function(b,c){c?a.chatQueues.checked=angular.copy(_.pluck(a.displayedChatQueues,"id")):a.chatQueues.checked=[]},a.initList=function(b){e.unsyncUpdates("chat_queue"),b.url="/api/chat/queues/",h.getPage(b).then(function(c){a.displayedChatQueues=c.rows,b.pagination.numberOfPages=c.total_pages,g.updateTableConfig(c.queuesByPage,a.displayedChatQueues.length),g.updateTableConfig(a.conf.queuesByPage,a.displayedChatQueues.length)}),e.socket.on("chat_queue:save",function(){a.initList(b)}),e.socket.on("chat_queue:remove",function(c){a.chatQueues.checked=_.without(a.chatQueues.checked,c.id),a.initList(b)})},a.getChatQueues=function(b){return _.map(a.displayedChatQueues,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("api/chat/queues/"+a).success(function(){c.show(d.instant("MESSAGE_CHAT_QUEUE_DELETE_SUCCESS")+"!","success")}).error(function(){c.show(d.instant("MESSAGE_CHAT_QUEUE_DELETE_FAILURE"),"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/chat/queues/",{params:{id:a.chatQueues.checked}}).success(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){c.show(d.instant(a.message),"danger")})}),a.$on("$destroy",function(){e.unsyncUpdates("chat_queue")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.queues.list",{url:"/list",templateUrl:"app/chat/queue/list/list.html",controller:"ChatQueueListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").factory("ChatQueue",["$resource",function(a){return a("/api/chat/queues/:id/:controller",{id:"@id"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.queues",{url:"/queues",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatQueueViewCtrl",["$scope","$http","xAlert","$translate","$stateParams",function(a,b,c,d,e){var f=function(){return{select:function(c){b.post("/api/chat/queues/"+a.queue.id+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})},deselect:function(c){b.put("/api/chat/queues/"+a.queue.id+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})}}};a.getQueue=function(){b.get("/api/chat/queues/"+e.id).success(function(b){a.queue=b}).error(function(a){console.error(a)})},a.updateChatQueue=function(){var f=angular.copy(a.queue);b.put("/api/chat/queues/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){a.queue=f,b.errors.forEach(function(a){c.show(a.message,"danger")})})},a.getTeams=function(){b.get("/api/teams").success(function(c){a.teams=c.rows,b({url:"/api/chat/user_has_queues",method:"GET",params:{ChatQueueId:a.queue.id}}).success(function(a){ComponentsDropdowns.bindChatQueue(c.rows,_.pluck(a,"UserId"),f)})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.queues.view",{url:"/view/:id",templateUrl:"app/chat/queue/view/view.html",controller:"ChatQueueViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.chat.queues.view.settings",{url:"/settings",templateUrl:"app/chat/queue/view/view.settings.html"}).state("main.chat.queues.view.agents",{url:"/agents",templateUrl:"app/chat/queue/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("ChatQueueWizardCtrl",["$scope","$http","$location","xAlert","WizardHandler","$translate",function(a,b,c,d,e,f){a.forms={},a.item={},a.next=function(){e.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/chat/queues",a.item).success(function(){d.show(f.instant("MESSAGE_WELL_DONE"),"success"),c.path("/chat/queues/list")}).error(function(a){d.show(f.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.queues.wizard",{url:"/wizard",templateUrl:"app/chat/queue/wizard/wizard.html",controller:"ChatQueueWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.realtime",{url:"/realtime",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.realtime.view.agent",{url:"/agent",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatRealtimeViewAgentQueueCtrl",["$scope","$http","socket","Agent","ChatQueue",function(a,b,c,d,e){a.gridOptions={enableSorting:!1,enableFiltering:!0,columnDefs:[{name:"queueName",displayName:"Queue"},{name:"agentName",displayName:"Agent",cellClass:"text-center",cellTemplate:'<span data-ng-if="row.entity.agentName">{{row.entity.fullname}} [{{row.entity.agentName}}]</span>'},{name:"online",cellClass:"text-center",cellTemplate:'<span class="badge badge-empty" data-ng-if="row.entity.online != null" data-ng-class="row.entity.online ? \'badge-success\' : \'badge-danger\'"></span>'},{name:"lastLoginAt",cellClass:"text-center",cellTemplate:'<time data-ng-if="row.entity.lastLoginAt" is="relative-time" datetime="{{row.entity.lastLoginAt}}">April 1, 2014</time>'}],onRegisterApi:function(b){a.gridApi=b,a.gridApi.treeBase.on.rowExpanded(a,function(b){var c=_.findIndex(a.gridOptions.data,{$$hashKey:b.entity.$$hashKey});b.entity.Users&&b.entity.Users.forEach(function(b){_.find(a.gridOptions.data,{name:b.name})||a.gridOptions.data.splice(c+1,0,b)})})}},e.get(function(b){a.gridOptions.data=[],b.rows.forEach(function(b){b.$$treeLevel=0,b.queueName=b.name,a.gridOptions.data.push(b),b.Users&&b.Users.forEach(function(b){b.agentName=b.name,a.gridOptions.data.push(b)})}),c.socket.on("agent:save",function(b){var c=_.filter(a.gridOptions.data,{agentName:b.name});c.forEach(function(a){a.online=b.online,a.lastLoginAt=b.lastLoginAt})}),c.socket.on("chat_queue:save",function(b){b.$$treeLevel=0,b.queueName=b.name,a.gridOptions.data.push(b)}),c.socket.on("chat_queue:remove",function(b){_.remov(a.gridOptions.data,{queueName:b.name})}),c.socket.on("user_has_chat_queue:save",function(b){var c=_.findIndex(a.gridOptions.data,function(a){return a.queueName&&a.id===b.ChatQueueId});d.get({id:b.UserId}).$promise.then(function(b){a.gridOptions.data.splice(c+1,0,{id:b.id,name:b.name,fullname:b.fullname,agentName:b.name,online:b.online,lastLoginAt:b.lastLoginAt})})["catch"](function(a){console.error(a)})}),c.socket.on("user_has_chat_queue:remove",function(b){for(var c=_.findIndex(a.gridOptions.data,function(a){return a.queueName&&a.id===b.ChatQueueId}),d=c+1;d<a.gridOptions.data.length;d++)a.gridOptions.data[d].id==b.UserId&&a.gridOptions.data.splice(d,1)})},function(a){console.error(a)}),a.conf={agentsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.agentsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.$on("$destroy",function(){c.unsyncUpdates("report_chat:save"),c.unsyncUpdates("report_chat:update")}),a.initAgents=function(){b.get("/api/report/chats").success(function(b){a.agents=b,c.socket.on("report_chat:save",function(b){var c=_.find(a.agents,{id:b.id});c||a.agents.unshift(b)}),c.socket.on("report_chat:update",function(b){var c=_.find(a.agents,{id:b.id}),d=a.agents.indexOf(c);c&&_.merge(a.agents[d],b)})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.realtime.view.agent.queues",{url:"/queues",controller:"ChatRealtimeViewAgentQueueCtrl",templateUrl:"app/chat/realtime/view/agent/queue/queue.html"})}]),angular.module("xCallyShuttleApp").controller("ChatRealtimeViewAgentTimelineCtrl",["$scope","$http","socket","Agent","ChatQueue","uiGridConstants",function(a,b,c,d,e,f){a.gridOptions={enableFiltering:!0,columnDefs:[{name:"lastevent",cellClass:"text-center",enableFiltering:!1,enableSorting:!1,displayName:"",cellTemplate:"<span><i data-ng-class=\"{'icon-user font-yellow': row.entity.lastevent === 'called', 'icon-user-following font-green': row.entity.lastevent === 'agent', 'icon-user-unfollow font-red': row.entity.lastevent === 'timeout', 'icon-user-unfollow font-blue': row.entity.lastevent === 'answered_elsewhere'}\"></i></span>"},{name:"chatqueuename",displayName:"Queue Name",cellClass:"text-center"},{name:"fullname",cellClass:"text-center"},{name:"visitoremail",displayName:"Visitor",cellClass:"text-center"},{name:"websitename",displayName:"Website",cellClass:"text-center"},{name:"agentcalledAt",displayName:"Called At",cellClass:"text-center",cellTemplate:'<time data-ng-if="row.entity.agentcalledAt" is="relative-time" datetime="{{row.entity.agentcalledAt}}">April 1, 2014</time>',sort:{direction:f.DESC,priority:0}},{name:"agentconnectAt",displayName:"Connected At",cellClass:"text-center",cellTemplate:'<time data-ng-if="row.entity.agentconnectedAt" is="relative-time" datetime="{{row.entity.agentconnectedAt}}">April 1, 2014</time>'},{name:"agentringnoanswerAt",displayName:"No Answer At",cellClass:"text-center",cellTemplate:'<time data-ng-if="row.entity.agentringnoanswerAt" is="relative-time" datetime="{{row.entity.agentringnoanswerAt}}">April 1, 2014</time>'}],data:[]},a.initAgents=function(){b.get("/api/report/chats").success(function(b){a.gridOptions.data=b,c.socket.on("report_chat:save",function(b){var c=_.find(a.gridOptions.data,{id:b.id});c||a.gridOptions.data.unshift(b)}),c.socket.on("report_chat:update",function(b){var c=_.find(a.gridOptions.data,{id:b.id}),d=a.gridOptions.data.indexOf(c);c&&_.merge(a.gridOptions.data[d],b)})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.realtime.view.agent.timeline",{url:"/timeline",controller:"ChatRealtimeViewAgentTimelineCtrl",templateUrl:"app/chat/realtime/view/agent/timeline/timeline.html"})}]),angular.module("xCallyShuttleApp").controller("ChatRealtimeViewSessionCtrl",["$scope","$http","socket",function(a,b,c){a.conf={sessionsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.sessionsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.$on("$destroy",function(){c.unsyncUpdates("report_chat:save"),c.unsyncUpdates("report_chat:update")}),a.initChats=function(){b.get("/api/report/chat/sessions").success(function(b){a.sessions=b,c.socket.on("report_chat_session:save",function(b){var c=_.find(a.sessions,{id:b.id}),d=a.sessions.indexOf(c);c?_.merge(a.sessions[d],b):a.sessions.push(b)})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("ChatRealtimeViewCtrl",["$scope",function(a){a.agents=[{name:"Queues",link:"main.chat.realtime.view.agent.queues"},{name:"Timeline",link:"main.chat.realtime.view.agent.timeline"}],a.sessions=[{name:"Sessions",link:"main.chat.realtime.view.sessions"}]}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.realtime.view",{url:"/view",templateUrl:"app/chat/realtime/view/view.html",controller:"ChatRealtimeViewCtrl"}).state("main.chat.realtime.view.sessions",{url:"/sessions",controller:"ChatRealtimeViewSessionCtrl",templateUrl:"app/chat/realtime/view/session/session.html"})}]),angular.module("xCallyShuttleApp").controller("ChatStatisticCtrl",["$scope","$http","$stateParams","xAlert","socket","$location","$translate","$filter",function(a,b,c,d,e,f,g,h){a.conf={chatVisitorsByPage:10,chatRoomsByPage:10,chatEnquiriesByPage:10},a.$location=f,a.$translate=g,a.$filter=h,a.initList=function(){b.get("api/chat/visitors").success(function(b){a.chatVisitors=b,e.syncUpdates("chat_visitor",a.chatVisitors)}),b.get("api/chat/rooms").success(function(b){a.chatRooms=b,e.syncUpdates("chat_room",a.chatRooms)}),b.get("api/chat/enquiries").success(function(b){a.chatEnquiries=b,e.syncUpdates("chat_enquery",a.chatEnquiries)})},a.initVisitorView=function(){b.get("api/chat/visitors/"+c.id).success(function(b){a.chatVisitor=b}).error(function(a){d.show(g.instant(a.message),"danger")})},a.initEnquiryView=function(){b.get("api/chat/enquiries/"+c.id).success(function(b){a.chatEnquiry=b}).error(function(a){d.show(g.instant(a.message),"danger")})},a.initRoomView=function(){console.log(c),b.get("api/chat/rooms/"+c.id).success(function(b){a.chatRoom=b}).error(function(a){d.show(g.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.statistics",{url:"/statistics",templateUrl:"app/chat/statistic/statistic.html",controller:"ChatStatisticCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]},{name:"ui.select",insertBefore:"#ng_load_plugins_before",files:["assets/plugins/ui-select/select.min.css","assets/plugins/ui-select/select.min.js"]}])}]}}).state("main.chat.statistics.summary",{url:"/summary",templateUrl:"app/chat/statistic/statistic.summary.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile-old.css"]})}]}}).state("main.chat.statistics.enquiries",{url:"/enquiries",templateUrl:"app/chat/statistic/statistic.enquiry.html"}).state("main.chat.statistics.enquiry",{url:"/enquiry/:id",controller:"ChatStatisticCtrl",templateUrl:"app/chat/statistic/statistic.enquiry.view.html"}).state("main.chat.statistics.conversations",{url:"/conversations",templateUrl:"app/chat/statistic/statistic.conversation.html"}).state("main.chat.statistics.conversation",{url:"/conversation/:id",controller:"ChatStatisticCtrl",templateUrl:"app/chat/statistic/statistic.conversation.view.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/timeline.css"]})}]}}).state("main.chat.statistics.visitors",{url:"/visitors",templateUrl:"app/chat/statistic/statistic.visitor.html"}).state("main.chat.statistics.visitor",{url:"/visitor/:id",controller:"ChatStatisticCtrl",templateUrl:"app/chat/statistic/statistic.visitor.view.html"})}]),angular.module("xCallyShuttleApp").controller("ChatTimelineListCtrl",["$scope","$http","socket",function(a,b,c){function d(b){a.events>50&&a.events.pop(),a.events.unshift(b)}a.initList=function(){a.events=[],b.get("/api/events/channel/chat").success(function(a){a.forEach(d),c.socket.on("event:chat:save",d)}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.timeline.list",{url:"/list",templateUrl:"app/chat/timeline/list/list.html",controller:"ChatTimelineListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/timeline.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.timeline",{url:"/timeline",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteListCtrl",["$scope","$http","xAlert","$translate","socket","Modal","$rootScope","stResource",function(a,b,c,d,e,f,g,h){a.conf={chatWebsitesByPage:{name:"10",value:10}},a.chatWebsitesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.chatWebsites={checked:[]},a.check=function(b,c){c?a.chatWebsites.checked=angular.copy(_.pluck(a.displayedChatWebsites,"id")):a.chatWebsites.checked=[]},a.getChatWebsites=function(b){return _.map(a.displayedChatWebsites,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){e.unsyncUpdates("chat_website"),b.url="/api/chat/websites",h.getPage(b).then(function(c){a.displayedChatWebsites=c.rows,b.pagination.numberOfPages=c.total_pages,g.updateTableConfig(a.chatWebsitesByPage,a.displayedChatWebsites.length),g.updateTableConfig(a.conf.chatWebsitesByPage,a.displayedChatWebsites.length)}),e.socket.on("chat_website:save",function(){a.initList(b)}),e.socket.on("chat_website:remove",function(c){a.chatWebsites.checked=_.without(a.chatWebsites.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("api/chat/websites/"+a).success(function(){c.show(d.instant("MESSAGE_CHAT_WEBSITE_DELETE_SUCCESS")+"!","success")}).error(function(){c.show(d.instant("MESSAGE_CHAT_WEBSITE_DELETE_FAILURE"),"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/chat/websites",{params:{id:a.chatWebsites.checked}}).success(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){c.show(a.message,"danger")})}),a.$on("$destroy",function(){e.unsyncUpdates("chat_website")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.list",{url:"/list",templateUrl:"app/chat/website/list/list.html",controller:"ChatWebsiteListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view.actions",{url:"/actions",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("chatWebsiteViewActionListCtrl",["$scope","$http","$translate","$stateParams","socket","xAlert","Modal",function(a,b,c,d,e,f,g){a.initActons=function(){console.log(d),a.sortableOptions={stop:function(){console.log("stop",_.pluck(a.chatApplications,"id")),b.post("api/chat/websites/"+d.websiteId+"/applications",{applications:_.pluck(a.chatApplications,"id")}).success(function(b){angular.copy(b,a.chatApplications)}).error(function(a){console.error(a)})}},b.get("/api/chat/applications",{params:{ChatWebsiteId:d.websiteId}}).success(function(b){a.chatApplications=b,e.socket.on("chat_application:remove",function(b){_.remove(a.chatApplications,{id:b.id})})})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("api/chat/applications/"+a).success(function(){f.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){f.show(a.message,"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view.actions.list",{url:"/list",templateUrl:"app/chat/website/view/action/list/list.html",controller:"chatWebsiteViewActionListCtrl"})}]),angular.module("xCallyShuttleApp").controller("chatWebsiteViewActionViewCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval",function(a,b,c,d,e,f,g,h,i,j){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initAction=function(){a.$application=i.application,a.$stateParams=c,a.$interval=j.interval,a.forms={},a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"}],b.get("/api/chat/applications/"+c.actionId).success(function(b){if(a.application=b,a.application.alwaysTime=!1,a.application.IntervalId)a.application.intType="list";else switch(a.application.interval){case"*,*,*,*":a.application.intType="always";break;default:a.application.intType="custom"}var c=a.application.interval.split(",");"*"===c[0]?a.application.alwaysTime=!0:(a.application.t_from=moment(new Date),a.application.t_to=moment(new Date),a.application.t_from.hour(c[0].split("-")[0].split(":")[0]),a.application.t_from.minute(c[0].split("-")[0].split(":")[1]),a.application.t_to.hour(c[0].split("-")[1].split(":")[0]),a.application.t_to.minute(c[0].split("-")[1].split(":")[1])),"*"===c[1]?(a.application.wd_from="always",a.application.wd_to="always"):(a.application.wd_from=c[1].split("-")[0],a.application.wd_to=c[1].split("-")[1]),"*"===c[2]?(a.application.md_from="always",a.application.md_to="always"):(a.application.md_from=c[2].split("-")[0],a.application.md_to=c[2].split("-")[1]),"*"===c[3]?(a.application.m_from="always",a.application.m_to="always"):(a.application.m_from=c[3].split("-")[0],a.application.m_to=c[3].split("-")[1]),console.log(c),a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})}).error(function(a){console.error(a)})},a.getQueues=function(){b.get("/api/chat/queues",{params:{page:0,per_page:500}}).success(function(b){a.queues=b.rows}).error(function(a){console.error(a)})},a.getAgents=function(){b.get("/api/agents",{params:{page:0,per_page:500}}).success(function(b){a.agents=b.rows}).error(function(a){console.error(a)})},a.getIntervals=function(){b.get("/api/intervals",{params:{page:0,per_page:500}}).success(function(b){a.intervals=b.rows}).error(function(a){console.error(a)})},a.updateItem=function(){var e=["*","*","*","*"],g={app:a.application.app,timeout:a.application.timeout,chatAccountId:c.id};switch(a.application.app){case"agent":g.UserId=a.application.UserId;break;case"queue":g.chatQueueId=a.application.chatQueueId}switch(a.application.intType){case"always":g.interval=e.join(","),delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(e[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),e[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",e[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",e[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",g.interval=e.join(","),delete a.application.IntervalId;break;case"list":g.IntervalId=a.application.IntervalId}b.put("/api/chat/applications/"+c.actionId,g).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view.actions.view",{url:"/view/:actionId",templateUrl:"app/chat/website/view/action/view/view.html",controller:"chatWebsiteViewActionViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("chatWebsiteViewActionWizardCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval",function(a,b,c,d,e,f,g,h,i,j){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){console.log(c),a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"}],a.$application=i.application,a.$stateParams=c,a.$interval=j.interval,a.forms={},a.application={alwaysTime:!0},a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})},a.getQueues=function(){b.get("/api/chat/queues",{params:{page:0,per_page:1e3}}).success(function(b){a.queues=b.rows}).error(function(a){console.error(a)})},a.getAgents=function(){b.get("/api/agents",{params:{page:0,per_page:1e3}}).success(function(b){a.agents=b.rows}).error(function(a){console.error(a)})},a.getIntervals=function(){b.get("/api/intervals",{params:{page:0,per_page:500}}).success(function(b){a.intervals=b.rows}).error(function(a){console.error(a)})},a.createItem=function(){var d=["*","*","*","*"],f={app:a.application.app,timeout:a.application.timeout,ChatWebsiteId:c.websiteId};switch(a.application.app){case"agent":f.UserId=a.application.UserId;break;case"queue":f.ChatQueueId=a.application.ChatQueueId}switch(a.application.intType){case"always":f.interval=d.join(","),delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(d[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),d[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",d[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",d[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",f.interval=d.join(","),delete a.application.IntervalId;break;case"list":f.IntervalId=a.application.IntervalId}b.post("/api/chat/applications",f).success(function(){e.path("/chat/websites/view/"+c.websiteId+"/actions/list")}).error(function(a){console.error(a)})},a.formValidation=function(a){return a},a.next=function(){g.wizard().next()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view.actions.wizard",{url:"/wizard",templateUrl:"app/chat/website/view/action/wizard/wizard.html",controller:"chatWebsiteViewActionWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view.snippet",{url:"/snippet",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteViewSnippetViewCtrl",["$scope","$http","$stateParams","$translate","Template",function(a,b,c,d,e){a.$translate=d,a.statePreview={state:"online"},a.lang={HeaderCurrentlyChatting:"Live Chat",HeaderOffline:"Contact us",OperatorOfflineMessage:"It appears as if all operators are currently offline.",OfflineMessage:"<strong>We're not online.</strong><br/>It doesn't mean we're not there to help - leave your message below and we'll be in touch as soon as possible.",EnquiryMessagePlaceholder:"Your message...",EnquiryButtonText:"Leave message",EnquirySubmitSuccess:"Your message was sucessfully submitted - we will contact you as soon as possible.",OperatorComposing:"{fullname} is typing...",FirstMessageText:"",ExitChatButtonText:"Exit Chat",ExitChatQuestionText:"Are you sure?",ExitChatButtonConfirmText:"Yes",ExitChatButtonCancelText:"No",MessagePlaceholderText:"Your message...",MessageSendButtonText:"Send",ValidationEmailRequired:"Please enter your email address",ValidationEmailInvalid:"Please enter a valid email address",ValidationEmailMaxLength:"The email address may not exceed 85 characters",ValidationUsernameRequired:"Please enter your name",ValidationUsernameMaxLength:"The name may not exceed 45 characters",ValidationEnquiryRequired:"Please enter your enquiry",ValidationEnquiryMaxLength:"The enquiry may not exceed 1500 characters",ValidationMessageRequired:"Please enter your message",ValidationMessageMaxLength:"The message may not exceed 750 characters"},a.initView=function(){e.get().$promise.then(function(b){a.Templates=b.rows}),b.get("api/chat/websites/"+c.websiteId+"/snippet").success(function(b){a.snippetCode=b})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view.snippet.view",{url:"/view",templateUrl:"app/chat/website/view/snippet/view/view.html",controller:"ChatWebsiteViewSnippetViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteViewCtrl",["$scope","xAlert","$http","$location","$stateParams","$translate","WizardHandler",function(a,b,c,d,e,f,g){a.initApplication=function(){a.forms={},a.application={}},a.goNext=function(){g.wizard().next()},a.formValidation=function(a){return a},a.deleteItem=function(a){c["delete"]("api/chat/applications/"+a).error(function(){b.show(f.instant("Something went wrong!"),"danger")})},a.initView=function(){c.get("/api/chat/websites/"+e.websiteId).success(function(b){a.chatWebsite=b}).error(function(a){b.show(a.message,"danger")})},a.updateItem=function(){c.put("/api/chat/websites/"+a.chatWebsite.id,a.chatWebsite).success(function(){b.show(f.instant("MESSAGE_CHAT_WEBSITE_UPDATE_SUCCESS")+"!","success")}).error(function(){b.show(f.instant("MESSAGE_CHAT_WEBSITE_UPDATE_FAILURE"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view",{url:"/view/:websiteId",templateUrl:"app/chat/website/view/view.html",controller:"ChatWebsiteViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]
-}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites",{url:"/websites",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteWizardCtrl",["$scope","$http","$location","$translate","WizardHandler","xAlert",function(a,b,c,d,e,f){a.$translate=d,a.forms={formSetting:void 0,formAppearance:void 0,formLabel:void 0,formFunctionality:void 0},a.next=function(){e.wizard().next()},a.exitValidation=function(a){return a},a.item={},a.createItem=function(){b.post("api/chat/websites",a.item).success(function(){f.show(d.instant("MESSAGE_CHAT_WEBSITE_CREATE_SUCCESS"),"success"),c.path("/chat/websites/list")}).error(function(){f.show(d.instant("MESSAGE_CHAT_WEBSITE_CREATE_FAILURE"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.wizard",{url:"/wizard",templateUrl:"app/chat/website/wizard/wizard.html",controller:"ChatWebsiteWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.companies",{url:"/companies",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("CompanyListCreateModalCtrl",["$scope","$uibModalInstance",function(a,b){a.forms={dashboard:void 0},a.item={},a.ok=function(){a.item.model=JSON.stringify({title:a.item.name}),b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("ContactManagerCompanyListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource","$uibModal","$log",function(a,b,c,d,e,f,g,h,i,j){a.conf={companiesByPage:{name:"10",value:10}},a.companiesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.Companies={checked:[]},a.check=function(b,c){c?a.Companies.checked=angular.copy(_.pluck(a.displayedCompanies,"id")):a.Companies.checked=[]},a.getCompanies=function(b){return _.map(a.displayedCompanies,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("company"),b.url="/api/contactmanager/companies",h.getPage(b).then(function(c){a.displayedCompanies=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.companiesByPage,a.displayedCompanies.length),d.updateTableConfig(a.conf.companiesByPage,a.displayedCompanies.length)}),c.socket.on("company:save",function(){console.log("save"),a.initList(b)}),c.socket.on("company:remove",function(c){a.Companies.checked=_.without(a.Companies.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/contactmanager/companies/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/contactmanager/companies",{params:{id:a.Companies.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.create=function(){var a=i.open({animation:!0,templateUrl:"app/contactmanager/company/list/create.modal.html",controller:"CompanyListCreateModalCtrl"});a.result.then(function(a){b.post("/api/contactmanager/companies",a).then(function(a){f.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.show(a.data.message,"danger")})},function(){j.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.companies.list",{url:"/list",templateUrl:"app/contactmanager/company/list/list.html",controller:"ContactManagerCompanyListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("ContactManagerCompanyViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.getCompany=function(){b.get("/api/contactmanager/companies/"+e.id).success(function(b){a.company=b}).error(function(a){f.path("/contactmanager/companies/list")})},a.updateCompany=function(){var f=angular.copy(a.company);b.put("/api/contactmanager/companies/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.company=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.companies.view",{url:"/view/:id",templateUrl:"app/contactmanager/company/view/view.html",controller:"ContactManagerCompanyViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.contactmanager.companies.view.settings",{url:"/settings",templateUrl:"app/contactmanager/company/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.contacts",{url:"/contacts",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ContactManagerListImportModalCtrl",["$scope","$uibModalInstance","indexes","csv","xAlert","socket","$http",function(a,b,c,d,e,f,g){function h(b){if(b>=a.csvLength||a.stopped)return void(a.importing=!1);var c={Phones:[],Emails:[],customFields:{}};_.forOwn(a.item,function(e,f){switch(f){case"Phones":a.item.Phones.forEach(function(a){""!==d[b][a]&&c.Phones.push({phone:d[b][a]})});break;case"Emails":a.item.Emails.forEach(function(a){""!==d[b][a]&&c.Emails.push({email:d[b][a]})});break;case"customFields":_.forOwn(a.item.customFields,function(a,e){c.customFields[e]=d[b][a]});break;case"tags":c.tags=[],a.item.tags.forEach(function(a){""!==d[b][a]&&c.tags.push(d[b][a])});break;default:c[f]=d[b][e]}}),c.tags=c.tags?c.tags.join(","):void 0,_.forOwn(c.customFields,function(a,b){""===a&&delete c.customFields[b]}),g.post("/api/contactmanager",c).success(function(c){a["import"].success+=i,a["import"].succeeded+=1,h(b+1)}).error(function(c){a["import"].fail+=i,a["import"].failed+=1,h(b+1)})}a.indexes=c,a.importing=!1,a.submitted=!1,a.stopped=!1,a["import"]={success:0,fail:0,succeeded:0,failed:0},a.csvLength=d.length;var i=100/a.csvLength;a.forms={dashboard:void 0},a.item={},a.start=function(){console.log(d),a.importing=!0,a.submitted=!0,h(0)},a.getCustomFields=function(){g.get("/api/contactmanager/customfields").success(function(b){a.customFields=b.rows,f.syncUpdates("custom_field",a.customFields)}).error(function(a){console.error(a),e.show(a.message,"danger")})},a.close=function(){b.close()},a.stop=function(){a.stopped=!0}}]),angular.module("xCallyShuttleApp").controller("ContactManagerContactListCtrl",["$scope","$http","$translate","$rootScope","xAlert","socket","Modal","stResource","FileUploader","Papa","$uibModal","$log",function(a,b,c,d,e,f,g,h,i,j,k,l){var m;i.FileSelect.prototype.isEmptyAfterSelection=function(){return!0};var n=a.uploader=new i({queueLimit:1,clearInputAfterAddedToQueue:!0});n.onAfterAddingFile=function(b){console.log("fileadded"),j.parse(b._file,{header:!0,complete:function(b){a.uploader.clearQueue(),a["import"](b.data)},error:function(a){console.log(a)}})},a["import"]=function(b){f.unsyncUpdates("contact_manager");var c=k.open({animation:!0,size:"lg",backdrop:"static",keyboard:!1,templateUrl:"app/contactmanager/contact/list/import.modal.html",controller:"ContactManagerListImportModalCtrl",resolve:{indexes:function(){return _.keys(b[0])},csv:function(){return b}}});c.result.then(function(b){console.log("dismiss and synch"),f.socket.on("contact_manager:save",function(){a.initList(m)}),f.socket.on("contact_manager:remove",function(b){a.contacts.checked=_.without(a.contacts.checked,b.id),a.initList(m)})},function(){l.info("Modal dismissed at: "+new Date)})},a.conf={contactsByPage:{name:"10",value:10},labels:["mailbox","fullname","email"]},a.contactsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.contacts={checked:[]},a.newContact=function(b){a.workspaces.push({name:"New Contact",type:"newContact",active:!0,data:b?b:null})},a.openContactTab=function(b){var c=_.find(a.workspaces,{contactID:b.id});c?c.active=!0:a.workspaces.push({name:b.fullname,type:"contact",contactID:b.id,active:!0})},a.check=function(b,c){c?a.contacts.checked=angular.copy(_.pluck(a.displayedContacts,"id")):a.contacts.checked=[]},a.getContacts=function(b){return _.map(a.displayedContacts,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("contact_manager"),b.url="/api/contactmanager",m=b,h.getPage(b).then(function(c){console.log(c),a.displayedContacts=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.contactsByPage,a.displayedContacts.length),d.updateTableConfig(a.conf.contactsByPage,a.displayedContacts.length)}),f.socket.on("contact_manager:save",function(){a.initList(b)}),f.socket.on("contact_manager:remove",function(c){a.contacts.checked=_.without(a.contacts.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/contactmanager/"+a).success(function(){e.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){e.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/contactmanager",{params:{id:a.contacts.checked}}).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(c.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.contacts.list",{url:"/list",templateUrl:"app/contactmanager/contact/list/list.html",controller:"ContactManagerContactListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager",{url:"/contactmanager",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.customfields",{url:"/customfields",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ContactManagerCustomFieldListCreateModalCtrl",["$scope","$uibModalInstance","$translate",function(a,b,c){a.$translate=c,a.forms={dashboard:void 0},a.item={},a.choices=[{value:""}],a.addField=function(){a.choices.push({})},a.removeField=function(b){a.choices.splice(b,1)},a.types=[{name:"APPLICATION_TEXT",value:"text"},{name:"APPLICATION_SELECT",value:"select"}],a.ok=function(){a.item.model=JSON.stringify({title:a.item.name}),"select"===a.item.type&&(a.item.values=angular.toJson(a.choices)),b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("ContactManagerCustomFieldListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource","$uibModal","$log",function(a,b,c,d,e,f,g,h,i,j){a.conf={cutomFieldsByPage:{name:"10",value:10}},a.customFieldsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.customFields={checked:[]},a.check=function(b,c){c?a.customFields.checked=angular.copy(_.pluck(a.displayedCustomFields,"id")):a.customFields.checked=[]},a.getCustomFields=function(b){return _.map(a.displayedCustomFields,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("custom_field"),b.url="/api/contactmanager/customfields",h.getPage(b).then(function(c){a.displayedCustomFields=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.customFieldsByPage,a.displayedCustomFields.length),d.updateTableConfig(a.conf.customFieldsByPage,a.displayedCustomFields.length)}),c.socket.on("custom_field:save",function(){console.log("save"),a.initList(b)}),c.socket.on("custom_field:remove",function(c){a.customFields.checked=_.without(a.customFields.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/contactmanager/customfields/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/contactmanager/customfields/",{params:{id:a.customFields.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.create=function(){var a=i.open({animation:!0,templateUrl:"app/contactmanager/customfield/list/create.modal.html",controller:"ContactManagerCustomFieldListCreateModalCtrl"});a.result.then(function(a){b.post("/api/contactmanager/customfields/",a).then(function(a){f.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.show(a.data.message,"danger")})},function(){j.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.customfields.list",{url:"/list",templateUrl:"app/contactmanager/customfield/list/list.html",controller:"ContactManagerCustomFieldListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("ContactManagerCustomFieldViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.getCustomField=function(){b.get("/api/contactmanager/customfields/"+e.id).success(function(b){a.customField=b,"select"===a.customField.type&&(a.choices=JSON.parse(a.customField.values))}).error(function(a){console.error(a),f.path("/contactmanager/customfields/list")})},a.updateCustomField=function(){"select"===a.customField.type&&(a.customField.values=angular.toJson(a.choices));var f=angular.copy(a.customField);b.put("/api/contactmanager/customfields/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.customField=f})},a.addField=function(){a.choices.push({})},a.removeField=function(b){a.choices.splice(b,1)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.customfields.view",{url:"/view/:id",templateUrl:"app/contactmanager/customfield/view/view.html",controller:"ContactManagerCustomFieldViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.contactmanager.customfields.view.settings",{url:"/settings",templateUrl:"app/contactmanager/customfield/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("DashboardCtrl",["$scope","$translate",function(a,b){a.voice=[{name:b.instant("APPLICATION_QUEUE"),link:"main.dashboard.voice"}],a.mail=[{name:b.instant("APPLICATION_QUEUE"),link:"main.dashboard.mail"}]}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.dashboard",{"abstract":!0,url:"/dashboard",templateUrl:"app/dashboard/dashboard.html",controller:"DashboardCtrl"}).state("main.dashboard.voice",{url:"/voice",controller:"DashboardVoiceCtrl",templateUrl:"app/dashboard/voice/voice.html"}).state("main.dashboard.mail",{url:"/mail",controller:"DashboardMailCtrl",templateUrl:"app/dashboard/mail/mail.html"})}]),angular.module("xCallyShuttleApp").controller("DashboardMailCtrl",["$scope",function(a){a.message="Hello"}]),angular.module("xCallyShuttleApp").controller("DashboardVoiceCtrl",["$scope","$http","xAlert","socket",function(a,b,c,d){function e(b,c){var d;return!b.queuecallerjoinAt||b.queuecallerleaveAt||b.queuecallercompleteAt||b.queuecallerabandonAt?b.queuecallerjoinAt&&b.queuecallerleaveAt&&!b.queuecallercompleteAt&&!b.queuecallerabandonAt?d="activeCalls":b.queuecallerjoinAt&&b.queuecallerleaveAt&&b.queuecallercompleteAt&&!b.queuecallerabandonAt?d="completedCalls":b.queuecallerjoinAt&&b.queuecallerleaveAt&&!b.queuecallercompleteAt&&b.queuecallerabandonAt&&(d="abandonedCalls"):d="waitCalls",c?d:void(d&&a.queueStats[d]++)}a.queueStats={abandonedCalls:0,completedCalls:0,waitCalls:0,activeCalls:0},a.getQueueStats=function(){b.get("/api/report/queues").then(function(b){a.queueReports=b.data,a.queueReports.forEach(function(a){e(a,!1)}),d.socket.on("report_queue:save",function(b){console.log("report save or update");var c=_.find(a.queueReports,{id:b.id}),d=a.queueReports.indexOf(c);if(c){console.log("found item, is an update");var f=e(c,!0);console.log("old item value is "+f+", decrementing..."),f&&a.queueStats[f]--,_.merge(a.queueReports[d],b)}else console.log("item not found in collection, is a create"),a.queueReports.unshift(b);console.log("checking new item type and increasing..."),e(b,!1)})})["catch"](function(a){c.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.desk",{url:"/desk",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("DeskListCtrl",["$scope","$http","$rootScope","xAlert","$translate","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={accountsByPage:{name:"10",value:10}},a.accountsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.accounts={checked:[]},a.check=function(b,c){c?a.accounts.checked=angular.copy(_.pluck(a.displayedDeskAccounts,"id")):a.accounts.checked=[]},a.getAccounts=function(b){return _.map(a.displayedDeskAccounts,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("desk_account"),b.url="/api/desk/accounts",h.getPage(b).then(function(d){a.displayedDeskAccounts=d.rows,b.pagination.numberOfPages=d.total_pages,c.updateTableConfig(a.accountsByPage,a.displayedDeskAccounts.length),c.updateTableConfig(a.conf.accountsByPage,a.displayedDeskAccounts.length)}),f.socket.on("desk_account:save",function(){a.initList(b)}),f.socket.on("desk_account:remove",function(c){a.accounts.checked=_.without(a.accounts.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/desk/accounts/"+a).success(function(){d.show(e.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/desk/accounts",{params:{id:a.accounts.checked}}).success(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.checkAccount=function(a){b.get("/api/desk/accounts/"+a+"/check").then(function(){d.show(e.instant("MESSAGE_ACCOUNT_VERIFIED"),"success")})["catch"](function(){d.show(e.instant("MESSAGE_ACCOUNT_INVALID"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.desk.list",{url:"/list",templateUrl:"app/desk/list/list.html",controller:"DeskListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("DeskViewCtrl",["$scope","$http","$stateParams","$translate","$location","WizardHandler","socket","xAlert","Modal","desk_com",function(a,b,c,d,e,f,g,h,i,j){a.$stateParams=c,a.config={autoHideScrollbar:!1,theme:"dark",advanced:{updateOnContentResize:!0},setHeight:500,scrollInertia:0},a.initConfiguration=function(){a.formsConfiguration={},a.configuration={}},a.goNext=function(){f.wizard().next()},a.formValidation=function(a){return a},a.$on("$destroy",function(){g.unsyncUpdates("desk_configuration"),g.unsyncUpdates("desk_field")}),a.initView=function(){b.get("/api/desk/accounts/"+c.id).success(function(b){a.account=b}).error(function(a){h.show(a.message,"danger")})},a.updateItem=function(){b.put("/api/desk/accounts/"+c.id,a.account).success(function(){h.show(d.instant("MESSAGE_WELL_DONE")+".","success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.getConfigurations=function(){b.get("/api/desk/configurations",{params:{AccountId:c.id}}).success(function(b){a.configurations=b,g.socket.on("desk_configuration:remove",function(b){_.remove(a.configurations,{id:b.id})})}).error(function(a){h.show(a.message,"danger")})},a.deleteConfiguration=i.confirm["delete"](function(a){b["delete"]("api/desk/configurations/"+a).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.createConfiguration=function(){a.configuration.AccountId=c.id,b.post("api/desk/configurations",a.configuration).success(function(a){e.path("desk/view/"+c.id+"/configurations/settings/"+a.id)}).error(function(){h.show("Something went wrong!","danger")})},a.fieldType=["string","variable"],a.descFieldType=["string","key_value"],a.getFields=function(){b.get("/api/desk/accounts/"+c.id+"/fields").success(function(b){a.accountFields=j.fields.concat(b)}).error(function(a){h.show(a.message,"danger")})},a.getConfiguration=function(){b.get("/api/desk/configurations/"+c.configurationId).success(function(b){a.configurationName=b.name,a.subjectConfig=b.Subject,a.descriptionConfig=b.Description,a.fieldConfig=b.Field,g.socket.on("desk_field:remove",function(b){_.remove(a.subjectConfig,{id:b.id}),_.remove(a.descriptionConfig,{id:b.id}),_.remove(a.fieldConfig,{id:b.id})})}).error(function(a){h.show(a.message,"danger")})},a.getVariables=function(){b.get("/api/variables").success(function(b){a.variables=b.rows}).error(function(a){h.show(a.message,"danger")})},a.removeItem=function(a){b["delete"]("api/desk/fields/"+a.id).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addItemSubject=function(){var d={type:"string",content:""};b.post("/api/desk/configurations/"+c.configurationId+"/subject",d).success(function(b){a.subjectConfig.push(b)}).error(function(){h.show("Something went wrong!","danger")})},a.addItemDescription=function(){var d={type:"string",content:""};b.post("/api/desk/configurations/"+c.configurationId+"/description",d).success(function(b){a.descriptionConfig.push(b)}).error(function(){h.show("Something went wrong!","danger")})},a.addItemField=function(){var d={content:""};b.post("/api/desk/configurations/"+c.configurationId+"/field",d).success(function(b){a.fieldConfig.push(b)}).error(function(){h.show("Something went wrong!","danger")})},a.updateField=function(a){b.put("/api/desk/fields/"+a.id,a).success(function(){}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.changeType=function(b){"variable"===b.type?b.content="":"string"===b.type&&(b.VariableId=null),a.updateField(b)},a.changeDescType=function(b){"key_value"===b.type?(b.content="","string"===b.keyType?b.VariableId=null:"variable"===b.keyType&&(b.keyContent="")):"string"===b.type&&(b.VariableId=null,b.key="",b.keyContent=""),a.updateField(b)},a.changeFieldType=function(b){if(b.content="",b.idField){var c=_.find(a.accountFields,"id",b.idField);c&&(b.customField=_.result(c,"custom",!0))}a.updateField(b)},a.getSystemFieldOptions=function(b){if(b){var c=_.find(a.accountFields,"id",b);return c?c.data.choices?c.data.choices:null:void 0}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.desk.view",{url:"/view/:id",templateUrl:"app/desk/view/view.html",controller:"DeskViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.desk.view.account",{url:"/account",templateUrl:"app/desk/view/view.account.html"}).state("main.desk.view.configurations",{url:"/configurations",templateUrl:"app/desk/view/view.configurations.html"}).state("main.desk.view.configurations.settings",{url:"/settings/:configurationId",templateUrl:"app/desk/view/view.configurationSettings.html",controller:"DeskViewCtrl"}).state("main.desk.view.configuration",{url:"/configuration",templateUrl:"app/desk/view/view.configuration.html"})}]),angular.module("xCallyShuttleApp").controller("DeskWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler",function(a,b,c,d,e,f){a.translate=d,a.initWizard=function(){a.$translate=d,a.forms={},a.item={}},a.next=function(){f.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){console.log(a.item),b.post("api/desk/accounts",a.item).success(function(){e.show(d.instant("MESSAGE_WELL_DONE")+".","success"),c.path("/desk/list")}).error(function(){e.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.desk.wizard",{url:"/wizard",templateUrl:"app/desk/wizard/wizard.html",controller:"DeskWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.accounts",{url:"/accounts",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("FaxAccountListCtrl",["$scope","$http","xAlert","$translate","socket","Modal","$rootScope","$log","stResource",function(a,b,c,d,e,f,g,h,i){a.conf={faxAccountsByPage:{name:"10",value:10}},a.faxAccountsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.fax_accounts={checked:[]},a.check=function(b,c){c?a.fax_accounts.checked=angular.copy(_.pluck(a.displayedFaxAccounts,"id")):a.fax_accounts.checked=[]},a.initList=function(b){e.unsyncUpdates("fax_account"),b.url="/api/fax/accounts",i.getPage(b).then(function(c){a.displayedFaxAccounts=c.rows,b.pagination.numberOfPages=c.total_pages,g.updateTableConfig(a.faxAccountsByPage,a.displayedFaxAccounts.length),g.updateTableConfig(a.conf.faxAccountsByPage,a.displayedFaxAccounts.length)}),e.socket.on("fax_account:save",function(){a.initList(b)}),e.socket.on("fax_account:remove",function(c){a.fax_accounts.checked=_.without(a.fax_accounts.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("api/fax/accounts/"+a).success(function(){c.show(d.instant("MESSAGE_FAX_ACCOUNT_DELETE_SUCCESS"),"success")}).error(function(){c.show(d.instant("MESSAGE_FAX_ACCOUNT_DELETE_FAILURE"),"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/fax/accounts",{params:{id:a.fax_accounts.checked}}).success(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){c.show(d.instant(a.message),"danger")})}),a.getFaxAccounts=function(b){return _.map(a.faxAccountsByPage,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.$on("$destroy",function(){e.unsyncUpdates("fax_account")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.accounts.list",{url:"/list",templateUrl:"app/fax/account/list/list.html",controller:"FaxAccountListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("FaxAccountViewCtrl",["$scope","$http","$stateParams","$translate","$location","WizardHandler","socket","xAlert","Modal",function(a,b,c,d,e,f,g,h,i){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.forms={},a.sortableOptions={stop:function(){b.post("api/fax/accounts/"+c.id+"/applications",{applications:_.pluck(a.faxApplications,"id")}).success(function(b){a.faxApplications=b}).error(function(a){console.error(a)})},"ui-floating":!0},a.goNext=function(){f.wizard().next()},a.formValidation=function(a){return a},a.initApplication=function(){a.forms={},a.application={}},a.deleteItem=i.confirm["delete"](function(a){b["delete"]("api/fax/applications/"+a).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.getAppdata=function(b,c){switch(b){case"agent":return a.agents?_.find(a.agents,{id:c}).name:c;case"queue":return a.faxQueues?_.find(a.faxQueues,{id:c}).name:c}return"UNKNOWN"},a.createItem=function(){switch(a.application.appdata=a.application.appdata.id,a.application.app){case"agent":a.application.UserId=parseInt(a.application.appdata,10);break;case"queue":a.application.FaxQueueId=parseInt(a.application.appdata,10)}a.application.FaxAccountId=c.id,b.post("api/fax/applications",a.application).success(function(){e.path("fax/accounts/view/"+c.id+"/routes")}).error(function(){h.show("Something went wrong!","danger")})},a.$watch("application.app",function(c){if(c){var d;switch(c){case"agent":d="api/agents";break;case"queue":d="api/fax/queues"}b.get(d).success(function(b){a.items=b.rows})}},!0),a.initView=function(){b.get("/api/trunks").success(function(b){a.trunks=b.rows}).error(function(a){console.log(a)}),b.get("/api/fax/accounts/"+c.id).success(function(b){a.account=b}).error(function(){})},a.getAgents=function(){b.get("api/fax/agents").success(function(b){a.agents=b})},a.getFaxApplications=function(){b.get("/api/fax/applications",{params:{FaxAccountId:c.id}}).success(function(b){a.faxApplications=b,g.socket.on("fax_application:remove",function(b){_.remove(a.faxApplications,{id:b.id})})}),b.get("/api/agents").success(function(b){a.agents=b.rows}),b.get("/api/fax/queues").success(function(b){a.faxQueues=b.rows})},a.updateItemFaxAccount=function(){b.put("/api/fax/accounts/"+c.id,a.account).success(function(){h.show(d.instant("MESSAGE_FAX_ACCOUNT_UPDATE_SUCCESS")+".","success")}).error(function(){h.show(d.instant("MESSAGE_FAX_ACCOUNT_UPDATE_FAILURE")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.accounts.view",{url:"/view/:id",templateUrl:"app/fax/account/view/view.html",controller:"FaxAccountViewCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}}).state("main.fax.accounts.view.settings",{url:"/settings",templateUrl:"app/fax/account/view/view.settings.html",authenticate:!0}).state("main.fax.accounts.view.routes",{url:"/routes",templateUrl:"app/fax/account/view/view.routes.html",authenticate:!0}).state("main.fax.accounts.view.applications",{url:"/applications",templateUrl:"app/fax/account/view/view.applications.html",authenticate:!0})}]),angular.module("xCallyShuttleApp").controller("FaxAccountWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler",function(a,b,c,d,e,f){a.translate=d,a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){a.$translate=d,a.forms={},a.item={},a.item.ecm=!1,a.item.minrate="9600",a.item.maxrate="33600",b.get("/api/trunks").success(function(b){a.trunks=b.rows}).error(function(a){console.error(a)})},a.next=function(){f.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("api/fax/accounts",a.item).success(function(){e.show(d.instant("MESSAGE_FAX_ACCOUNT_CREATE_SUCCESS")+".","success"),c.path("/fax/accounts/list")}).error(function(){e.show(d.instant("MESSAGE_FAX_ACCOUNT_CREATE_FAILURE")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.accounts.wizard",{url:"/wizard",templateUrl:"app/fax/account/wizard/wizard.html",controller:"FaxAccountWizardCtrl"
-})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.automations",{url:"/automations",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("FaxAutomationListCtrl",["$scope","$http","$translate","$rootScope","stResource","Modal","socket","xAlert",function(a,b,c,d,e,f,g,h){a.conf={faxAutomationsByPage:{name:"10",value:10}},a.faxAutomationsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.onText="On",a.offText="Off",a.isActive=!0,a.size="mini",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.faxAutomations={checked:[]},a.check=function(b,c){c?a.faxAutomations.checked=angular.copy(_.pluck(a.displayedFaxAutomations,"id")):a.faxAutomations.checked=[]},a.getFaxAutomations=function(b){return _.map(a.displayedFaxAutomations,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){g.unsyncUpdates("fax_business_automation"),b.url="/api/fax/business/automations",e.getPage(b).then(function(c){a.displayedFaxAutomations=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.faxAutomationsByPage,a.displayedFaxAutomations.length),d.updateTableConfig(a.conf.faxAutomationsByPage,a.displayedFaxAutomations.length)}),g.socket.on("fax_business_automation:save",function(){a.initList(b)}),g.socket.on("fax_business_automation:remove",function(c){a.faxAutomations.checked=_.without(a.faxAutomations.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/fax/business/automations/"+a).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/fax/business/automations",{params:{id:a.faxAutomations.checked}}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(c.instant(a.message),"danger")})}),a.updateItem=function(a,d){b.put("api/fax/business/automations/"+a,{status:d}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.$on("$destroy",function(){g.unsyncUpdates("fax_business_automation")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.automations.list",{url:"/list",templateUrl:"app/fax/automation/list/list.html",controller:"FaxAutomationListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("FaxAutomationViewCtrl",["$scope","$stateParams","$http","automation","socket","xAlert","$translate","$log",function(a,b,c,d,e,f,g,h){a.initView=function(){a.forms={info:{}},a.automations=d.automations,c.get("/api/fax/business/automations/"+b.id).success(function(c){h.debug(c),a.test=c,a.automation=c,e.syncUpdatesByAttributes("business_condition",{FaxBusinessAutomationId:b.id},c.BusinessConditions)}).error(function(){f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateAutomation=function(){c.put("/api/fax/business/automations/"+a.automation.id,{name:a.automation.name,description:a.automation.description}).success(function(a){h.debug(a),f.show(g.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger"),h.error(a)})},a.getOperatorsByCondition=function(a){var b=[],c=_.find(d.automations.conditions,{key:a});return c.operators&&c.operators.length&&(b=c.operators),b},a.getAttributesByCondition=function(a){var b=[],c=_.find(d.automations.conditions,{key:a});if(c.attributes&&c.attributes.length)switch(c.key){case"createdAt":b=_.map(c.attributes,function(a){return a.value=parseInt(a.value,10),a});break;default:b=c.attributes}return b},a.addNewCondition=function(b){c.post("/api/business/conditions",{type:b,condition:"status",FaxBusinessAutomationId:a.automation.id}).success(function(b){a.automation.BusinessConditions.push(b)}).error(function(a){console.error(a),f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addNewAction=function(){c.post("/api/business/actions",{condition:"status",FaxBusinessAutomationId:a.automation.id}).success(function(b){a.automation.BusinessActions.push(b)}).error(function(a){console.error(a)})},a.removeCondition=function(a){c["delete"]("/api/business/conditions/"+a).success(function(a){console.log(a),f.show(g.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){console.error(a),f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.removeAction=function(b){c["delete"]("/api/business/actions/"+b).success(function(b){console.log(b),a.automation.BusinessActions=_.reject(a.automation.BusinessActions,{id:b.id})}).error(function(a){console.error(a),f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateCondition=function(a,b,d){var e={};e[b]=d,c.put("/api/business/conditions/"+a,e).success(function(a){console.log(a),f.show(g.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){console.error(a),f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateAction=function(a,b,d){var e={};e[b]=d,c.put("/api/business/actions/"+a,e).success(function(a){console.log(a),f.show(g.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){console.error(a),f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.automations.view",{url:"/view/:id",templateUrl:"app/fax/automation/view/view.html",controller:"FaxAutomationViewCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}}).state("main.fax.automations.view.settings",{url:"/settings",templateUrl:"app/fax/automation/view/view.settings.html",authenticate:!0}).state("main.fax.automations.view.routes",{url:"/routes",templateUrl:"app/fax/automation/view/view.routes.html",authenticate:!0}).state("main.fax.automations.view.application",{url:"/application",templateUrl:"app/fax/automation/view/view.application.html",authenticate:!0})}]),angular.module("xCallyShuttleApp").controller("FaxAutomationWizardCtrl",["$scope","$http","$location","automation","WizardHandler","xAlert","$translate",function(a,b,c,d,e,f,g){a.forms={},a.automations={or:[],and:[],actions:[]},a.addNewChoice=function(b){var c=angular.copy(d.automations);a.automations[b].push(c)},a.removeChoice=function(b,c){a.automations[b].splice(c)},a.goNext=function(){e.wizard().next()},a.createItem=function(){a.automations.or.forEach(function(a){a.condition=a.condition.key,a.type="or",delete a.conditions,delete a.actions}),a.automations.and.forEach(function(a){a.condition=a.condition.key,a.type="and",delete a.conditions,delete a.actions}),a.automations.actions.forEach(function(a){a.condition=a.condition.key,delete a.conditions,delete a.actions}),b.post("api/fax/business/automations",a.automations).success(function(){f.show(g.instant("MESSAGE_WELL_DONE"),"success"),c.path("/fax/automations/list")}).error(function(a){console.error(a),f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.formValidation=function(a){return a}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.automations.wizard",{url:"/wizard",templateUrl:"app/fax/automation/wizard/wizard.html",controller:"FaxAutomationWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax",{url:"/fax",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("FaxInboxComposeCtrl",["$scope","$http","FileUploader","$location","Auth","xAlert","$cookieStore","$translate",function(a,b,c,d,e,f,g,h){a.forms={},a.form={to:[],sto:[]},b.get("api/fax/accounts").success(function(b){a.faxAccounts=b.rows}),a.isNewMessageFromEmpty=!0;var i=a.uploader=new c({url:"api/fax/messages",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+g.get("token")}});i.filters.push({name:"pdfFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|pdf|".indexOf(b)}}),i.onBeforeUploadItem=function(b){b.formData.push({accountId:a.form.from.id,toNum:a.form.sto[0],isNewRoom:a.isNewMessageFromEmpty,userId:e.getCurrentUser().id,html:a.form.html?a.form.html:""})},i.onSuccessItem=function(a,b,c,d){console.info("onSuccessItem",a,b,c,d)},i.onErrorItem=function(a,b,c,d){console.info("onErrorItem",a,b,c,d)},i.onCompleteAll=function(){i.clearQueue(),f.show(h.instant("MESSAGE_WELL_DONE"),"success"),d.path("/fax/inbox/incoming")},i.onWhenAddingFileFailed=function(){f.show(h.instant("MESSAGE_WRONG_FORMAT"),"danger")},a.sendFax=function(){return a.form.sto.length?void(i.queue.length?i.uploadAll():b.post("api/fax/messages",{accountId:a.form.from.id,toNum:a.form.sto[0],isNewRoom:a.isNewMessageFromEmpty,userId:e.getCurrentUser().id,html:a.form.html,onlyText:!0}).success(function(){f.show(h.instant("MESSAGE_WELL_DONE"),"success"),d.path("/fax/inbox/incoming")}).error(function(a){f.show(h.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger"),console.error(a)})):(a.forms.compose.to.$valid=!1,void(a.forms.compose.to.$invalid=!0))},a.cancel=function(){a.form.sto=[],delete a.form.from}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.inbox.compose",{url:"/compose",templateUrl:"app/fax/inbox/room/room.html",controller:"FaxInboxComposeCtrl"})}]),angular.module("xCallyShuttleApp").controller("FaxInboxCtrl",["$scope","$http","$location","$translate","$timeout","$notification","Auth","socket","$interval",function(a,b,c,d,e,f,g,h,i){a.go=function(a,d,e){e?b.put("/api/fax/rooms/"+d,{status:e}).success(function(){c.path(a)}).error(function(a){console.error(a)}):c.path(a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.inbox",{url:"/inbox",templateUrl:"app/fax/inbox/inbox.html",controller:"FaxInboxCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/inbox.css","assets/css/todo.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("FaxInboxIncomingCtrl",["$scope","$http","$location","socket","Auth","xAlert",function(a,b,c,d,e,f){a.$location=c,a.getRooms=function(){e.isAdmin()?b.get("api/fax/rooms").success(function(b){a.faxRooms=b,d.syncUpdates("fax_room",a.faxRooms)}).error(function(a){console.error(a),f.show($translate.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")}):b.get("api/fax/rooms/agent/"+e.getCurrentUser().id).success(function(b){a.faxRooms=b,d.socket.on("fax_room:update",function(b){b.UserId===e.getCurrentUser().id&&a.faxRooms.push(b)})}).error(function(a){f.show($translate.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger"),console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.inbox.incoming",{url:"/incoming",templateUrl:"app/fax/inbox/incoming/incoming.html",controller:"FaxInboxIncomingCtrl"})}]),angular.module("xCallyShuttleApp").controller("FaxInboxRoomCtrl",["$scope","$http","$stateParams","$location","FileUploader","socket","Auth","xAlert","$translate","$cookieStore",function(a,b,c,d,e,f,g,h,i,j){function k(){a.lastMessage=_.reject(a.faxRoom.FaxMessages,function(a){return"RECEIVED"!==a.status}),a.lastMessage=_.sortByOrder(a.lastMessage,["id"],["desc"])[0],a.lastMessage&&(console.log(a.faxRoom),a.form.from=a.faxRoom.FaxAccount,a.form.to=[a.lastMessage.From.phone],a.form.sto=[a.lastMessage.From.phone])}var l=a.uploader=new e({url:"api/fax/messages",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+j.get("token")}});l.filters.push({name:"pdfFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|pdf|".indexOf(b)}}),l.onBeforeUploadItem=function(b){console.log(a.form.from.id,a.form.sto[0],a.isNewMessageFromEmpty,c.id,g.getCurrentUser().id),b.formData.push({accountId:a.form.from.id,toNum:a.form.sto[0],isNewRoom:a.isNewMessageFromEmpty,roomId:c.id,userId:g.getCurrentUser().id,html:a.form.html}),console.log(b)},l.onSuccessItem=function(a,b,c,d){console.info("onSuccessItem",a,b,c,d)},l.onErrorItem=function(a,b,c,d){console.info("onErrorItem",b,c,d)},l.onCompleteAll=function(){l.clearQueue(),h.show(i.instant("MESSAGE_WELL_DONE"),"success")},l.onWhenAddingFileFailed=function(){h.show(i.instant("MESSAGE_WRONG_FORMAT"),"danger")},a.initRoomView=function(){a.isNewMessageFromEmpty=!0,a.Auth=g,a.forms={},a.form={to:[],sto:[]},b.get("api/agents").success(function(b){a.agents=b}),b.get("api/fax/accounts").success(function(b){a.faxAccounts=b.rows}),c.id&&b.get("/api/fax/rooms/"+c.id).success(function(b){a.faxRoom=b,a.isNewMessageFromEmpty=!1,f.syncUpdates("fax_message",[],function(b,c){"created"===b&&c.FaxRoomId===a.faxRoom.id&&(a.faxRoom.FaxMessages.push(c),k())}),k()}).error(function(a){console.error(a),h.show(i.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.sendFax=function(){return a.form.sto.length?void(l.queue.length?l.uploadAll():b.post("api/fax/messages",{accountId:a.form.from.id,toNum:a.form.sto[0],isNewRoom:a.isNewMessageFromEmpty,userId:g.getCurrentUser().id,html:a.form.html,onlyText:!0}).success(function(){h.show(i.instant("MESSAGE_WELL_DONE"),"success"),console.log("Fax Message sent")}).error(function(a){h.show(i.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger"),console.error(a)})):(a.forms.compose.to.$valid=!1,void(a.forms.compose.to.$invalid=!0))},a.assignAgent=function(a){b.put("/api/fax/rooms/"+c.id,{UserId:a}).success(function(){h.show(i.instant("MESSAGE_WELL_DONE"),"danger")}).error(function(){h.show(i.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateStatus=function(d){b.put("/api/fax/rooms/"+c.id,{status:d}).success(function(b){a.faxRoom.status=b.status,h.show(i.instant("MESSAGE_WELL_DONE"),"danger")}).error(function(a){console.error(a),h.show(i.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.cancel=function(){a.form.sto=[],delete a.form.from,l.clearQueue()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.inbox.room",{url:"/room/:id",templateUrl:"app/fax/inbox/room/room.html",controller:"FaxInboxRoomCtrl"})}]),angular.module("xCallyShuttleApp").controller("FaxQueueListCtrl",["$scope","$rootScope","$http","$translate","socket","Modal","xAlert","stResource",function(a,b,c,d,e,f,g,h){a.$on("$destroy",function(){e.unsyncUpdates("fax_queue")}),a.conf={queuesByPage:{name:"10",value:10}},a.queuesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.faxQueues={checked:[]},a.check=function(b,c){c?a.faxQueues.checked=angular.copy(_.pluck(a.displayedFaxQueues,"id")):a.faxQueues.checked=[]},a.getFaxQueues=function(b){return _.map(a.displayedFaxQueues,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(c){e.unsyncUpdates("fax_queue"),c.url="/api/fax/queues",h.getPage(c).then(function(d){a.displayedFaxQueues=d.rows,c.pagination.numberOfPages=d.total_pages,b.updateTableConfig(d.queuesByPage,a.displayedFaxQueues.length),b.updateTableConfig(a.conf.queuesByPage,a.displayedFaxQueues.length)}),e.socket.on("fax_queue:save",function(){a.initList(c)}),e.socket.on("fax_queue:remove",function(b){a.faxQueues.checked=_.without(a.faxQueues.checked,b.id),a.initList(c)})},a.deleteItem=f.confirm["delete"](function(a){c["delete"]("/api/fax/queues/"+a).success(function(){g.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){g.show(a.message,"danger")})}),a.deleteItems=f.confirm["delete"](function(){c["delete"]("/api/fax/queues/",{params:{id:a.faxQueues.checked}}).success(function(){g.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){g.show(d.instant(a.message),"danger")})}),a.deleteItems=f.confirm["delete"](function(){c["delete"]("/api/fax/queues/",{params:{id:a.faxQueues.checked}}).success(function(){g.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){g.show(d.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.queues.list",{url:"/list",templateUrl:"app/fax/queue/list/list.html",controller:"FaxQueueListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.queues",{url:"/queues",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("FaxQueueViewCtrl",["$scope","$http","$translate","$stateParams","xAlert",function(a,b,c,d,e){var f=function(){return{select:function(c){b.post("/api/fax/queues/"+a.queue.id+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})},deselect:function(c){b.put("/api/fax/queues/"+a.queue.id+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})}}};a.getQueue=function(){b.get("/api/fax/queues/"+d.id).success(function(b){a.queue=b}).error(function(){e.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateFaxQueue=function(){var f=angular.copy(a.queue);b.put("/api/fax/queues/"+d.id,f).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"danger")}).error(function(){e.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger"),a.queue=f})},a.getTeams=function(){b.get("/api/teams").success(function(c){a.teams=c.rows,b({url:"/api/fax/user_has_queues",method:"GET",params:{FaxQueueId:a.queue.id}}).success(function(b){ComponentsDropdowns.bindFaxQueue(a.teams,_.pluck(b,"UserId"),f)})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.queues.view",{url:"/view/:id",templateUrl:"app/fax/queue/view/view.html",controller:"FaxQueueViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.fax.queues.view.settings",{url:"/settings",templateUrl:"app/fax/queue/view/view.settings.html"}).state("main.fax.queues.view.agents",{url:"/agents",templateUrl:"app/fax/queue/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("FaxQueueWizardCtrl",["$scope","$http","WizardHandler","xAlert","$translate","$location",function(a,b,c,d,e,f){a.forms={},a.item={},a.next=function(){c.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/fax/queues",a.item).success(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success"),f.path("/fax/queues/list")}).error(function(a){d.show(e.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.queues.wizard",{url:"/wizard",templateUrl:"app/fax/queue/wizard/wizard.html",controller:"FaxQueueWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("FaxTimelineListCtrl",["$scope","$http","socket","xAlert","$translate",function(a,b,c,d,e){function f(b){a.events>50&&a.events.pop(),a.events.unshift(b)}a.initList=function(){a.events=[],b.get("/api/events/channel/fax").success(function(a){a.forEach(f),c.socket.on("event:fax:save",f)}).error(function(a){console.error(a),d.show(e.instant("MESSAGE_FAX_ACCOUNT_GET_FAILURE"),"danger")})},a.$on("$destroy",function(){c.socket.removeAllListeners("event:fax:save")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.timeline.list",{url:"/list",templateUrl:"app/fax/timeline/list/list.html",controller:"FaxTimelineListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/timeline.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.timeline",{url:"/timeline",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.freshdesk",{url:"/freshdesk",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("FreshdeskListCtrl",["$scope","$http","$rootScope","xAlert","$translate","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={accountsByPage:{name:"10",value:10}},a.accountsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.accounts={checked:[]},a.check=function(b,c){c?a.accounts.checked=angular.copy(_.pluck(a.displayedFreshdeskAccounts,"id")):a.accounts.checked=[]},a.getAccounts=function(b){return _.map(a.displayedFreshdeskAccounts,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("freshdesk_account"),b.url="/api/freshdesk/accounts",h.getPage(b).then(function(d){a.displayedFreshdeskAccounts=d.rows,b.pagination.numberOfPages=d.total_pages,c.updateTableConfig(a.accountsByPage,a.displayedFreshdeskAccounts.length),c.updateTableConfig(a.conf.accountsByPage,a.displayedFreshdeskAccounts.length)}),f.socket.on("freshdesk_account:save",function(){a.initList(b)}),f.socket.on("freshdesk_account:remove",function(c){a.accounts.checked=_.without(a.accounts.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/freshdesk/accounts/"+a).success(function(){d.show(e.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/freshdesk/accounts",{params:{id:a.accounts.checked}}).success(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.checkAccount=function(a){b.get("/api/freshdesk/accounts/"+a+"/check").then(function(){d.show(e.instant("MESSAGE_ACCOUNT_VERIFIED"),"success")})["catch"](function(){d.show(e.instant("MESSAGE_ACCOUNT_INVALID"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.freshdesk.list",{url:"/list",templateUrl:"app/freshdesk/list/list.html",controller:"FreshdeskListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("FreshdeskViewCtrl",["$scope","$http","$stateParams","$translate","$location","$filter","WizardHandler","socket","xAlert","Modal",function(a,b,c,d,e,f,g,h,i,j){a.$stateParams=c,a.config={autoHideScrollbar:!1,theme:"dark",advanced:{updateOnContentResize:!0},setHeight:500,scrollInertia:0},a.initConfiguration=function(){a.formsConfiguration={},a.configuration={}},a.goNext=function(){g.wizard().next()},a.formValidation=function(a){return a},a.$on("$destroy",function(){h.unsyncUpdates("freshdesk_configuration"),h.unsyncUpdates("freshdesk_field")}),a.initView=function(){b.get("/api/freshdesk/accounts/"+c.id).success(function(b){a.account=b}).error(function(a){i.show(a.message,"danger")})},a.updateItem=function(){b.put("/api/freshdesk/accounts/"+c.id,a.account).success(function(){i.show(d.instant("MESSAGE_WELL_DONE")+".","success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.getConfigurations=function(){b.get("/api/freshdesk/configurations",{params:{AccountId:c.id}}).success(function(b){a.configurations=b,h.socket.on("freshdesk_configuration:remove",function(b){_.remove(a.configurations,{id:b.id})})}).error(function(a){i.show(a.message,"danger")})},a.deleteConfiguration=j.confirm["delete"](function(a){b["delete"]("api/freshdesk/configurations/"+a).success(function(){i.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.createConfiguration=function(){a.configuration.AccountId=c.id,b.post("api/freshdesk/configurations",a.configuration).success(function(a){e.path("freshdesk/view/"+c.id+"/configurations/settings/"+a.id)}).error(function(){i.show("Something went wrong!","danger")})},a.fieldType=["string","variable"],a.descFieldType=["string","key_value"],a.getFields=function(){b.get("/api/freshdesk/accounts/"+c.id+"/fields").success(function(b){a.accountFields=[],b=f("freshdesk")(b),_.forEach(b,function(b){a.accountFields.push(b.ticket_field)})}).error(function(a){i.show(a.message,"danger")})},a.getConfiguration=function(){b.get("/api/freshdesk/configurations/"+c.configurationId).success(function(b){a.configurationName=b.name,a.subjectConfig=b.Subject,a.descriptionConfig=b.Description,a.fieldConfig=b.Field,h.socket.on("freshdesk_field:remove",function(b){_.remove(a.subjectConfig,{id:b.id}),_.remove(a.descriptionConfig,{id:b.id}),_.remove(a.fieldConfig,{id:b.id})})}).error(function(a){i.show(a.message,"danger")})},a.getVariables=function(){b.get("/api/variables").success(function(b){a.variables=b.rows}).error(function(a){i.show(a.message,"danger")})},a.removeItem=function(a){b["delete"]("api/freshdesk/fields/"+a.id).success(function(){i.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addItemSubject=function(){var d={type:"string",content:""};b.post("/api/freshdesk/configurations/"+c.configurationId+"/subject",d).success(function(b){a.subjectConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.addItemDescription=function(){var d={type:"string",content:""};b.post("/api/freshdesk/configurations/"+c.configurationId+"/description",d).success(function(b){a.descriptionConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.addItemField=function(){var d={content:""};b.post("/api/freshdesk/configurations/"+c.configurationId+"/field",d).success(function(b){a.fieldConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.updateField=function(a){b.put("/api/freshdesk/fields/"+a.id,a).success(function(){}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.changeType=function(b){"variable"===b.type?b.content="":"string"===b.type&&(b.VariableId=null),a.updateField(b)},a.changeDescType=function(b){"key_value"===b.type?(b.content="","string"===b.keyType?b.VariableId=null:"variable"===b.keyType&&(b.keyContent="")):"string"===b.type&&(b.VariableId=null,b.key="",b.keyContent=""),a.updateField(b)},a.changeFieldType=function(b){if(b.content="",b.idField){var c=_.find(a.accountFields,"name",b.idField);c&&(b.customField=!_.result(c,"default",!0))}a.updateField(b)},a.getSystemFieldOptions=function(b){if(b){var c=_.find(a.accountFields,"name",b);return c?c.choices.length>0?c.choices:null:void 0}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.freshdesk.view",{url:"/view/:id",templateUrl:"app/freshdesk/view/view.html",controller:"FreshdeskViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.freshdesk.view.account",{url:"/account",templateUrl:"app/freshdesk/view/view.account.html"}).state("main.freshdesk.view.configurations",{url:"/configurations",templateUrl:"app/freshdesk/view/view.configurations.html"}).state("main.freshdesk.view.configurations.settings",{url:"/settings/:configurationId",templateUrl:"app/freshdesk/view/view.configurationSettings.html",controller:"FreshdeskViewCtrl"}).state("main.freshdesk.view.configuration",{url:"/configuration",templateUrl:"app/freshdesk/view/view.configuration.html"})}]),angular.module("xCallyShuttleApp").controller("FreshdeskWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler",function(a,b,c,d,e,f){a.translate=d,a.initWizard=function(){a.$translate=d,a.forms={},a.item={}},a.next=function(){f.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){console.log(a.item),b.post("api/freshdesk/accounts",a.item).success(function(){e.show(d.instant("MESSAGE_WELL_DONE")+".","success"),c.path("/freshdesk/list")}).error(function(){e.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.freshdesk.wizard",{url:"/wizard",templateUrl:"app/freshdesk/wizard/wizard.html",controller:"FreshdeskWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.integrations",{url:"/integrations",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("Integration",["$resource",function(a){return a("/api/integrations/:id/:controller",{id:"@id"})}]),angular.module("xCallyShuttleApp").controller("IntegrationListCtrl",["$scope","Modal","socket","FileUploader","Integration","xAlert",function(a,b,c,d,e,f){a.integrationsByPage=10;var g=a.uploader=new d({url:"api/integrations",autoUpload:!0,removeAfterUpload:!0});g.filters.push({name:"zipFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|zip|".indexOf(b)}}),g.onSuccessItem=function(a,b,c,d){console.info("onSuccessItem",a,b,c,d),f.show(b.name,"success")},g.onErrorItem=function(a,b,c,d){console.info("onErrorItem",a,b,c,d),b.errors.forEach(function(a){f.show(a.message,"danger")})},a.deleteItem=b.confirm["delete"](function(a){e["delete"]({id:a},function(){f.show("Integration Removed","success")},function(a){f.show(a.data.errors,"danger")})}),a.initList=function(){a.integrations=e.query({},function(a){c.syncUpdates("integration",a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.integrations.list",{url:"/list",templateUrl:"app/integration/list/list.html",controller:"IntegrationListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.intervals",{url:"/intervals",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("IntervalListCtrl",["$scope","$http","socket","$translate","$rootScope","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={intervalsByPage:{name:"10",value:10},labels:["name"]},a.intervalsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.intervals={checked:[]},a.check=function(b,c){c?a.intervals.checked=angular.copy(_.pluck(a.displayedIntervals,"id")):a.intervals.checked=[]},a.getIntervals=function(b){return _.map(a.displayedIntervals,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("interval"),b.url="/api/intervals",h.getPage(b).then(function(c){a.displayedIntervals=c.rows,b.pagination.numberOfPages=c.total_pages,e.updateTableConfig(a.intervalsByPage,a.displayedIntervals.length),e.updateTableConfig(a.conf.intervalsByPage,a.displayedIntervals.length)}),c.socket.on("interval:save",function(){a.initList(b)}),c.socket.on("interval:remove",function(c){a.intervals.checked=_.without(a.intervals.checked,c.id),a.initList(b);
-})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/intervals/"+a).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){f.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){f.show(d.instant(a.message),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/intervals",{params:{id:a.intervals.checked}}).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(d.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.intervals.list",{url:"/list",templateUrl:"app/interval/list/list.html",controller:"IntervalListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("IntervalViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$location","WizardHandler","Modal","interval",function(a,b,c,d,e,f,g,h,i,j){a.$translate=d,a.$interval=j.interval,a.forms={subinterval:void 0,general:void 0},a.initSubInterval=function(){a.subinterval={IntervalId:e.id},a.splittedInterval={t_from:moment(new Date),t_to:moment(new Date),wd_from:"always",wd_to:"always",md_from:"always",md_to:"always",m_from:"always",m_to:"always",alwaysTime:!0}},a.next=function(){b.post("/api/intervals/validate/",a.subinterval).success(function(a){console.log(a),a.length?c.show(d.instant("MESSAGE_EXIST_SUBINTERVAL"),"danger"):h.wizard().next()}).error(function(a){c.show(d.instant(a.message),"danger")})},a.previous=function(){h.wizard().previous()},a.exitValidation=function(a){return a},a.joinInterval=function(a){console.log(a);var b,c,d,e;return b=a.t_from&&a.t_to&&!a.alwaysTime?moment(a.t_from).format("HH:mm")+"-"+moment(a.t_to).format("HH:mm"):"*",a.wd_from&&"always"!==a.wd_from?(c=a.wd_from,a.wd_to&&"always"!==a.wd_to&&(c+="-"+a.wd_to)):c="*",a.md_from&&"always"!==a.md_from?(d=a.md_from,a.md_to&&"always"!==a.md_to&&(d+="-"+a.md_to)):d="*",a.m_from&&"always"!==a.m_from?(e=a.m_from,a.m_to&&"always"!==a.m_to&&(e+="-"+a.m_to)):e="*",b+","+c+","+d+","+e},a.getInterval=function(){b.get("/api/intervals/"+e.id).success(function(b){a.interval=b,a.subIntervals=b.SubIntervals,f.unsyncUpdates("interval"),f.socket.on("interval:remove",function(b){b.id&&_.remove(a.subIntervals,function(a){return b.id===a.id})}),f.socket.on("interval:update",function(b){var c=_.find(a.subIntervals,{id:b.id});c.interval=b.interval}),f.socket.on("interval:save",function(b){if(b.IntervalId===e.id){var c=_.find(a.subIntervals,{id:b.id});c||a.subIntervals.push(b)}})}).error(function(a){console.error(a),g.path("/intervals/list")})},a.updateInterval=function(){var f=angular.copy(a.interval);b.put("/api/intervals/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.interval=f})},a.getSubInterval=function(){b.get("/api/intervals/"+e.appId).success(function(b){a.splittedInterval={t_from:moment(new Date),t_to:moment(new Date)},a.subinterval=b;var c,d=b.interval?b.interval.split(","):["*","*","*","*"];d.forEach(function(b,d){switch(d){case 0:"*"!==b?(c=b.split("-"),a.splittedInterval.t_from=moment(c[0],"HH:mm"),a.splittedInterval.t_to=moment(c[1],"HH:mm"),a.splittedInterval.alwaysTime=!1):(a.splittedInterval.t_from=moment(new Date),a.splittedInterval.t_to=moment(new Date),a.splittedInterval.alwaysTime=!0);break;case 1:"*"!==b?(c=b.split("-"),a.splittedInterval.wd_from=_.capitalize(c[0]),a.splittedInterval.wd_to=c[1]?_.capitalize(c[1]):"always"):(a.splittedInterval.wd_from="always",a.splittedInterval.wd_to="always");break;case 2:"*"!==b?(c=b.split("-"),a.splittedInterval.md_from=c[0],a.splittedInterval.md_to=c[1]?c[1]:"always"):(a.splittedInterval.md_from="always",a.splittedInterval.md_to="always");break;case 3:"*"!==b?(c=b.split("-"),a.splittedInterval.m_from=_.capitalize(c[0]),a.splittedInterval.m_to=c[1]?_.capitalize(c[1]):"always"):(a.splittedInterval.m_from="always",a.splittedInterval.m_to="always")}})}).error(function(a){console.error(a),g.path("/intervals/view/"+e.id+"/subintervals")})},a.createItem=function(){a.subinterval.interval=a.joinInterval(a.splittedInterval),b.post("/api/intervals/",a.subinterval).success(function(){g.path("/intervals/view/"+e.id+"/subintervals")}).error(function(a){c.show(d.instant(a.message),"danger")})},a.updateItem=function(){a.subinterval.interval=a.joinInterval(a.splittedInterval),b.put("/api/intervals/"+e.appId,a.subinterval).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),g.path("/intervals/view/"+e.id+"/subintervals")}).error(function(a){c.show(d.instant(a.message),"danger")})},a.deleteItem=i.confirm["delete"](function(a){b["delete"]("/api/intervals/"+a).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){console.log(a),c.show(d.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.intervals.view",{url:"/view/:id",templateUrl:"app/interval/view/view.html",controller:"IntervalViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.intervals.view.settings",{url:"/settings",templateUrl:"app/interval/view/view.settings.html"}).state("main.intervals.view.subintervals",{url:"/subintervals",templateUrl:"app/interval/view/view.subintervals.html",cache:!1}).state("main.intervals.view.subinterval",{url:"/subinterval",templateUrl:"app/interval/view/view.subinterval.html",authenticate:!0}).state("main.intervals.view.subintervals.settings",{url:"/settings/:appId",templateUrl:"app/interval/view/view.subintervalSettings.html",authenticate:!0,controller:"IntervalViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("IntervalWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","$translate",function(a,b,c,d,e,f){a.forms={interval:void 0},a.item={},a.next=function(){b.post("/api/intervals/validate/",a.item).success(function(a){console.log(a),a.length?e.show(f.instant("MESSAGE_EXIST_INTERVAL"),"danger"):c.wizard().next()}).error(function(a){e.show(f.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/intervals/",a.item).success(function(a){d.path("/intervals/view/"+a.id+"/subintervals")}).error(function(a){e.show(f.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.intervals.wizard",{url:"/wizard",templateUrl:"app/interval/wizard/wizard.html",controller:"IntervalWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("LoginCtrl",["$scope","Auth","$location","$window","$rootScope",function(a,b,c,d,e){a.userLogin={},a.userSignUp={},a.loginSubmitted=!1,a.signupSubmitted=!1,a.errorLogin=!1,a.errorSignup=!1,a.errorLog="",a.flagLogin1=!1,a.toogleLogin=function(){a.flagLogin1=!a.flagLogin1},e.bodyLayout="login",a.$on("$viewContentLoaded",function(){Metronic.init(),Layout.init()}),a.login=function(d){a.loginSubmitted=!0,d.$valid?b.login({name:a.userLogin.name,password:a.userLogin.password,remember:a.userLogin.remember}).then(function(){c.path("/dashboard/voice")})["catch"](function(b){a.errorLog=b.message,a.errorLogin=!0}):a.errorLogin=!0},a.signup=function(d){a.signupSubmitted=!0,d.$valid?b.createUser({email:a.userSignUp.email,fullname:a.userSignUp.fullname,name:a.userSignUp.name,password:a.userSignUp.password,role:a.userSignUp.role,online:!0}).then(function(){c.path("/")})["catch"](function(b){a.errorLog=b.message,a.errorSignup=!0}):a.errorSignup=!0},a.loginOauth=function(a){d.location.href="/auth/"+a}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("login",{url:"/login",templateUrl:"app/login/login.html",controller:"LoginCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/login.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts",{url:"/accounts",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MailAccountListCtrl",["$scope","$http","socket","$translate","$rootScope","Modal","stResource","xAlert",function(a,b,c,d,e,f,g,h){a.conf={mailAccountsByPage:{name:"10",value:10}},a.mailAccountsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.mailAccounts={checked:[]},a.check=function(b,c){c?a.mailAccounts.checked=angular.copy(_.pluck(a.displayedMailAccounts,"id")):a.mailAccounts.checked=[]},a.getMailAccounts=function(b){return _.map(a.displayedMailAccounts,function(a){var c={};return b.forEach(function(b){_.isObject(b)?_.forIn(b,function(b,d){c[b]=a[d][b]}):c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("mail_server_in"),c.unsyncUpdates("mail_account"),b.url="/api/mail/accounts",g.getPage(b).then(function(c){a.displayedMailAccounts=c.rows,b.pagination.numberOfPages=c.total_pages}),c.socket.on("mail_server_in:save",function(){a.initList(b)}),c.socket.on("mail_account:save",function(){a.initList(b)}),c.socket.on("mail_account:remove",function(c){a.mailAccounts.checked=_.without(a.mailAccounts.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/mail/accounts/"+a).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(a.message,"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/mail/accounts",{params:{id:a.mailAccounts.checked}}).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(d.instant(a.message),"danger")})}),a.restart=function(a){c.socket.emit("IMAP:"+a+":RESTART",{msg:"IMAP:"+a+":RESTART"})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.list",{url:"/list",templateUrl:"app/mail/account/list/list.html",controller:"MailAccountListCtrl"})}]),angular.module("xCallyShuttleApp").factory("MailAccount",["$resource",function(a){return a("/api/mail/accounts/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("MailServerIn",["$resource",function(a){return a("/api/mail/servers/in/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("MailServerOut",["$resource",function(a){return a("/api/mail/servers/out/:id/:controller",{id:"@id"},{update:{method:"PUT"},test:{method:"GET"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.view.actions",{url:"/actions",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MailAccountViewActionListCtrl",["$scope","$http","$translate","$stateParams","socket","xAlert","Modal",function(a,b,c,d,e,f,g){a.initActons=function(){console.log(d),a.sortableOptions={stop:function(){console.log("stop",_.pluck(a.mailApplications,"id")),b.post("api/mail/accounts/"+d.accountId+"/applications",{applications:_.pluck(a.mailApplications,"id")}).success(function(b){angular.copy(b,a.mailApplications)}).error(function(a){console.error(a)})}},b.get("/api/mail/applications",{params:{MailAccountId:d.accountId}}).success(function(b){a.mailApplications=b,e.socket.on("mail_application:remove",function(b){_.remove(a.mailApplications,{id:b.id})})})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("api/mail/applications/"+a).success(function(){f.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){f.show(a.message,"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.view.actions.list",{url:"/list",templateUrl:"app/mail/account/view/action/list/list.html",controller:"MailAccountViewActionListCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailAccountViewActionViewCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval",function(a,b,c,d,e,f,g,h,i,j){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initAction=function(){a.$application=i.application,a.$stateParams=c,a.$interval=j.interval,a.forms={},a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"}],b.get("/api/mail/applications/"+c.actionId).success(function(b){if(a.application=b,a.application.alwaysTime=!1,a.application.IntervalId)a.application.intType="list";else switch(a.application.interval){case"*,*,*,*":a.application.intType="always";break;default:a.application.intType="custom"}var c=a.application.interval.split(",");"*"===c[0]?a.application.alwaysTime=!0:(a.application.t_from=moment(new Date),a.application.t_to=moment(new Date),a.application.t_from.hour(c[0].split("-")[0].split(":")[0]),a.application.t_from.minute(c[0].split("-")[0].split(":")[1]),a.application.t_to.hour(c[0].split("-")[1].split(":")[0]),a.application.t_to.minute(c[0].split("-")[1].split(":")[1])),"*"===c[1]?(a.application.wd_from="always",a.application.wd_to="always"):(a.application.wd_from=c[1].split("-")[0],a.application.wd_to=c[1].split("-")[1]),"*"===c[2]?(a.application.md_from="always",a.application.md_to="always"):(a.application.md_from=c[2].split("-")[0],a.application.md_to=c[2].split("-")[1]),"*"===c[3]?(a.application.m_from="always",a.application.m_to="always"):(a.application.m_from=c[3].split("-")[0],a.application.m_to=c[3].split("-")[1]),console.log(c),a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})}).error(function(a){console.error(a)})},a.getQueues=function(){b.get("/api/mail/queues",{params:{page:0,per_page:500}}).success(function(b){a.queues=b.rows}).error(function(a){console.error(a)})},a.getAgents=function(){b.get("/api/agents",{params:{page:0,per_page:500}}).success(function(b){a.agents=b.rows}).error(function(a){console.error(a)})},a.getIntervals=function(){b.get("/api/intervals",{params:{page:0,per_page:500}}).success(function(b){a.intervals=b.rows}).error(function(a){console.error(a)})},a.updateItem=function(){var e=["*","*","*","*"],g={app:a.application.app,timeout:a.application.timeout,MailAccountId:c.id};switch(a.application.app){case"agent":g.UserId=a.application.UserId;break;case"queue":g.MailQueueId=a.application.MailQueueId}switch(a.application.intType){case"always":g.interval=e.join(","),delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(e[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),e[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",e[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",e[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",g.interval=e.join(","),delete a.application.IntervalId;break;case"list":g.IntervalId=a.application.IntervalId}b.put("/api/mail/applications/"+c.actionId,g).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.view.actions.view",{url:"/view/:actionId",templateUrl:"app/mail/account/view/action/view/view.html",controller:"MailAccountViewActionViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailAccountViewActionWizardCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval",function(a,b,c,d,e,f,g,h,i,j){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){console.log(c),a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"}],a.$application=i.application,a.$stateParams=c,a.$interval=j.interval,a.forms={},a.application={alwaysTime:!0},a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})},a.getQueues=function(){b.get("/api/mail/queues",{params:{page:0,per_page:500}}).success(function(b){a.queues=b.rows}).error(function(a){console.error(a)})},a.getAgents=function(){b.get("/api/agents",{params:{page:0,per_page:500}}).success(function(b){a.agents=b.rows}).error(function(a){console.error(a)})},a.getIntervals=function(){b.get("/api/intervals",{params:{page:0,per_page:500}}).success(function(b){a.intervals=b.rows}).error(function(a){console.error(a)})},a.createItem=function(){var d=["*","*","*","*"],f={app:a.application.app,timeout:a.application.timeout,MailAccountId:c.accountId};switch(a.application.app){case"agent":f.UserId=a.application.UserId;break;case"queue":f.MailQueueId=a.application.MailQueueId}switch(a.application.intType){case"always":f.interval=d.join(","),delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(d[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),d[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",d[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",d[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",f.interval=d.join(","),delete a.application.IntervalId;break;case"list":f.IntervalId=a.application.IntervalId}b.post("/api/mail/applications",f).success(function(){e.path("/mail/accounts/view/"+c.accountId+"/actions/list")}).error(function(a){console.error(a)})},a.formValidation=function(a){return a},a.next=function(){g.wizard().next()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.view.actions.wizard",{url:"/wizard",templateUrl:"app/mail/account/view/action/wizard/wizard.html",controller:"MailAccountViewActionWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailAccountViewCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","MailAccount","MailMessage","MailServerIn","MailServerOut",function(a,b,c,d,e,f,g,h,i,j){a.initView=function(){a.account=g.get({id:c.accountId})},a.updateItemMailAccount=function(){g.update({id:c.accountId},{name:a.account.name,description:a.account.description,address:a.account.address}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.show(a.message,"danger")})},a.updateItemMailServerIn=function(){i.update({id:a.account.MailServerIn.id},a.account.MailServerIn).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.show(a.message,"danger")})},a.updateItemMailServerOut=function(){j.update({id:a.account.MailServerOut.id},a.account.MailServerOut).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.show(a.message,"danger")})},a.test=function(){j.test({id:a.account.MailServerOut.id,controller:"test"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.view",{url:"/view/:accountId",templateUrl:"app/mail/account/view/view.html",controller:"MailAccountViewCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}}).state("main.mail.accounts.view.settings",{url:"/settings",templateUrl:"app/mail/account/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("MailAccountWizardCtrl",["$scope","$http","$location","$translate","WizardHandler","xAlert",function(a,b,c,d,e,f){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){a.forms={},a.info={},a["in"]={"delete":!1,ssl:!0,protocol:"IMAP",port:993,mailbox:"INBOX",filter:"UNSEEN"},a.out={ssl:!0,port:465},a.$translate=d},a.goNext=function(){e.wizard().next()},a.formValidation=function(a){return a},a.createItem=function(){var e={name:a.info.name,address:a.info.address,description:a.info.description,incoming:a["in"],outgoing:a.out};b.post("api/mail/accounts",e).success(function(){c.path("/mail/accounts/list")}).error(function(a){console.log(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.wizard",{url:"/wizard",templateUrl:"app/mail/account/wizard/wizard.html",controller:"MailAccountWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.automations",{url:"/automations",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MailAutomationListCtrl",["$scope","$http","$translate","$rootScope","stResource","Modal","socket","xAlert",function(a,b,c,d,e,f,g,h){a.conf={mailAutomationsByPage:{name:"10",value:10}},a.mailAutomationsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.onText="On",a.offText="Off",a.isActive=!0,a.size="mini",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.mailAutomations={checked:[]},a.check=function(b,c){c?a.mailAutomations.checked=angular.copy(_.pluck(a.displayedMailAutomations,"id")):a.mailAutomations.checked=[]},a.getMailAutomations=function(b){return _.map(a.displayedMailAutomations,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){g.unsyncUpdates("mail_business_automation"),b.url="/api/mail/business/automations",e.getPage(b).then(function(c){a.displayedMailAutomations=c.mailAutomations,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.mailAutomationsByPage,a.displayedMailAutomations.length),d.updateTableConfig(a.conf.mailAutomationsByPage,a.displayedMailAutomations.length)}),g.socket.on("mail_business_automation:save",function(){a.initList(b)}),g.socket.on("mail_business_automation:remove",function(c){a.mailAutomations.checked=_.without(a.mailAutomations.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/mail/business/automations/"+a).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"danger")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/mail/business/automations",{params:{id:a.mailAutomations.checked}}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(c.instant(a.message),"danger")})}),a.updateItem=function(a,d){b.put("api/mail/business/automations/"+a,{status:d}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.automations.list",{url:"/list",templateUrl:"app/mail/automation/list/list.html",controller:"MailAutomationListCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailAutomationViewCtrl",["$scope","$stateParams","$http","$translate","automation","socket","xAlert",function(a,b,c,d,e,f,g){a.initView=function(){a.forms={info:{}},a.automations=e.automations,c.get("/api/mail/business/automations/"+b.id).success(function(c){a.test=c,a.automation=c,f.syncUpdatesByAttributes("business_condition",{MailBusinessAutomationId:b.id},c.BusinessConditions)}).error(function(){})},a.updateAutomation=function(){c.put("/api/mail/business/automations/"+a.automation.id,{name:a.automation.name,description:a.automation.description}).success(function(a){g.show(d.instant("MESSAGE_WELL_DONE"),"success"),console.log(a)}).error(function(a){console.error(a)})},a.getOperatorsByCondition=function(a){var b=[],c=_.find(e.automations.conditions,{key:a});return c.operators&&c.operators.length&&(b=c.operators),b},a.getAttributesByCondition=function(a){var b=[],c=_.find(e.automations.conditions,{key:a});if(c.attributes&&c.attributes.length)switch(c.key){case"createdAt":b=_.map(c.attributes,function(a){return a.value=parseInt(a.value,10),a});break;default:b=c.attributes}return b},a.addNewCondition=function(b){c.post("/api/business/conditions",{type:b,condition:"status",MailBusinessAutomationId:a.automation.id}).success(function(b){a.automation.BusinessConditions.push(b)}).error(function(a){console.error(a)})},a.removeCondition=function(a){c["delete"]("/api/business/conditions/"+a).success(function(a){console.log(a)}).error(function(a){console.error(a)})},a.addNewAction=function(){c.post("/api/business/actions",{condition:"status",MailBusinessAutomationId:a.automation.id}).success(function(b){a.automation.BusinessActions.push(b)}).error(function(a){console.error(a)})},a.removeAction=function(b){c["delete"]("/api/business/actions/"+b).success(function(b){a.automation.BusinessActions=_.reject(a.automation.BusinessActions,{id:b.id})}).error(function(a){console.error(a)})},a.updateCondition=function(a,b,d){var e={};e[b]=d,c.put("/api/business/conditions/"+a,e).error(function(a){console.error(a)})},a.updateAction=function(a,b,d){var e={};e[b]=d,c.put("/api/business/actions/"+a,e).success(function(a){console.log(a)}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.automations.view",{url:"/view/:id",templateUrl:"app/mail/automation/view/view.html",controller:"MailAutomationViewCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}}).state("main.mail.automations.view.settings",{url:"/settings",templateUrl:"app/mail/automation/view/view.settings.html"}).state("main.mail.automations.view.routes",{url:"/routes",templateUrl:"app/mail/automation/view/view.routes.html"}).state("main.mail.automations.view.application",{url:"/application",templateUrl:"app/mail/automation/view/view.application.html"})}]),angular.module("xCallyShuttleApp").controller("MailAutomationWizardCtrl",["$scope","$http","$location","$translate","automation","WizardHandler","xAlert",function(a,b,c,d,e,f,g){a.forms={},a.automations={or:[],and:[],actions:[]},a.addNewChoice=function(b){var c=angular.copy(e.automations);a.automations[b].push(c)},a.removeChoice=function(b,c){a.automations[b].splice(c)},a.goNext=function(){return a.automations.actions.length?a.automations.or.length||a.automations.and.length?void f.wizard().next():(g.show(d.instant("MESSAGE_INSERT_AT_LEAST_ONE_CONDITION"),"danger"),!1):(g.show(d.instant("MESSAGE_INSERT_AT_LEAST_ONE_ACTION"),"danger"),!1)},a.createItem=function(){a.automations.or.forEach(function(a){a.condition=a.condition.key,a.type="or",delete a.conditions,delete a.actions}),a.automations.and.forEach(function(a){a.condition=a.condition.key,a.type="and",delete a.conditions,delete a.actions}),a.automations.actions.forEach(function(a){a.condition=a.condition.key,delete a.conditions,delete a.actions}),b.post("api/mail/business/automations",a.automations).success(function(){c.path("/mail/automations/list")}).error(function(){g.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG","danger"))})},a.formValidation=function(a){return a}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.automations.wizard",{url:"/wizard",templateUrl:"app/mail/automation/wizard/wizard.html",controller:"MailAutomationWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailComposeCtrl",["$scope","$http","$location","$cookieStore","$translate","xAlert","FileUploader","Auth",function(a,b,c,d,e,f,g,h){var i=a.uploader=new g({url:"api/mail/messages",withCredentials:!0,headers:{Authorization:"Bearer "+d.get("token")},queueLimit:1});i.onBeforeUploadItem=function(b){b.formData.push({mailAccountId:a.form.from.id,status:"SENDING",roomStatus:"OPEN",from:a.form.from.address,to:a.form.sto.join(";"),cc:a.form.scc.join(";"),subject:a.form.subject||null,html:a.form.html||null,text:a.form.text||null,attachment:!0,UserId:h.getCurrentUser().id})},i.onSuccessItem=function(a,b,c,d){console.info("onSuccessItem",a,b,c,d),f.show(e.instant("MESSAGE_MAIL_MESSAGE_SEND_SUCCESS"),"success")},i.onErrorItem=function(a,b,c,d){console.info("onErrorItem",a,b,c,d),f.show(e.instant("MESSAGE_MAIL_MESSAGE_SEND_FAILURE"),"danger")},i.onCompleteAll=function(){console.log("onCompleteAll"),c.path("/mail/inbox/incoming")},a.forms={},a.form={to:[],sto:[],cc:[],scc:[]},b.get("api/mail/accounts").success(function(b){a.mailAccounts=b.rows}),a.sendMail=function(){if(i.queue.length)console.log("file"),i.uploadAll();else{console.log("no file");var d={mailAccountId:a.form.from.id,status:"SENDING",roomStatus:"OPEN",from:a.form.from.address,to:a.form.sto.join(";"),cc:a.form.scc.join(";"),subject:a.form.subject||null,html:a.form.html||null,text:a.form.text||null,UserId:h.getCurrentUser().id};b.post("/api/mail/messages",d).success(function(){f.show(e.instant("MESSAGE_MAIL_MESSAGE_SEND_SUCCESS"),"success"),c.path("/mail/inbox/incoming")}).error(function(){f.show(e.instant("MESSAGE_MAIL_MESSAGE_SEND_FAILURE"),"danger")})}},a.cancel=function(){a.form.sto=[],a.form.scc=[],delete a.form.from,delete a.form.text,delete a.form.html}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.inbox.compose",{url:"/compose",templateUrl:"app/mail/inbox/room/room.html",controller:"MailComposeCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailInboxCtrl",["$scope","$http","$location",function(a,b,c){a.go=function(a){c.path(a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.inbox",{url:"/inbox",template:"<div ui-view></div>",controller:"MailInboxCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/inbox.css","assets/css/todo.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("MailIncomingCtrl",["$scope","$http","$location","$translate","$timeout","socket","xAlert","Auth","stResource","Modal",function(a,b,c,d,e,f,g,h,i,j){a.$location=c,a.conf={mailRoomsByPage:{name:"10",value:10},labels:["fullname","name","email"],test:"OPEN"},a.mailRoomsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.mailRooms={checked:[]},a.check=function(b,c){c?a.mailRooms.checked=angular.copy(_.pluck(a.displayedMailRooms,"id")):a.mailRooms.checked=[]},a.initList=function(b){f.unsyncUpdates("mail_room"),b.search.predicateObject||(b.search.predicateObject={}),b.sort.predicate="createdAt",b.sort.reverse=!0,h.isAdmin()?(f.socket.on("mail_room:save",function(){e(function(){g.show(d.instant("MESSAGE_MAIL_NEW_INCOMING_MAIL"),"success"),a.initList(b)},2e3)}),f.socket.on("mail_room:remove",function(c){a.mailRooms.checked=_.without(a.mailRooms.mailRooms,c.id),a.initList(b)})):(f.socket.on("mail_room:save",function(c){c.UserId===h.getCurrentUser().id&&a.initList(b)}),f.socket.on("mail_room:remove",function(c){c.UserId===h.getCurrentUser().id&&(a.mailRooms.checked=_.without(a.mailRooms.checked,c.id),a.initList(b))}),b.search.predicateObject.UserId=h.getCurrentUser().id),
-b.url="/api/mail/rooms/",i.getPage(b).then(function(c){a.displayedMailRooms=c.mailRooms,b.pagination.numberOfPages=c.total_pages})},a.deleteItems=j.confirm["delete"](function(){b["delete"]("/api/mail/rooms",{params:{id:a.mailRooms.checked}}).success(function(){g.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){g.show(d.instant(a.message),"danger")})}),a.$on("$destroy",function(){f.unsyncUpdates("mail_room")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.inbox.incoming",{url:"/incoming",templateUrl:"app/mail/inbox/incoming/incoming.html",controller:"MailIncomingCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/inbox.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("MailRoomCtrl",["$scope","$http","$stateParams","$timeout","$cookieStore","$location","$translate","$log","$uibModal","xAlert","Auth","socket","FileUploader","MailMessage",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var o=a.uploader=new m({url:"api/mail/messages",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+e.get("token")}});o.onErrorItem=function(){j.show(g.instant("MESSAGE_MAIL_MESSAGE_SEND_FAILURE"),"danger")},o.onCompleteAll=function(){f.path("/mail/inbox/incoming")},o.onBeforeUploadItem=function(b){var c={mailAccountId:a.form.from.id,status:"SENDING",roomStatus:"OPEN",from:a.form.from.address,to:a.form.sto.join(";"),cc:a.form.scc.join(";"),subject:a.form.subject||a.mailRoom.subject||null,html:a.form.html||null,text:a.form.text||null,MailRoomId:a.mailRoom.id},d=angular.copy(a.mailRoom.MailMessages);d=_.reject(d,function(a){return"RECEIVED"!==a.status}),c.inReplyTo=d?_.last(d).messageId:null,b.formData.push(c)},a.retry=function(a){var b=i.open({animation:!0,templateUrl:"app/mail/inbox/room/room.retry.modal.html",controller:function(a,c){a.modal={dismissable:!0,title:"APPLICATION_MESSAGE_SEND_RETRY",text:"MESSAGE_MESSAGE_SEND_RETRY",buttons:[{classes:"btn btn-success",text:"APPLICATION_RETRY",click:function(a){b.close(a)}},{classes:"btn default",text:"APPLICATION_CANCEL",click:function(a){b.dismiss(a)}}]},a.ok=function(){c.close()},a.cancel=function(){c.dismiss("cancel")}}});b.result.then(function(){n.update({id:a,status:"SENDING"},function(a){console.log(a)})},function(){h.info("Modal dismissed at: "+new Date)})},a.initRoomView=function(){a.Auth=k,a.forms={},a.form={to:[],sto:[],cc:[],scc:[]},b.get("/api/agents").success(function(b){a.agents=b.rows}),b.get("/api/mail/accounts").success(function(b){a.mailAccounts=b.rows}),b.get("/api/mail/rooms/"+c.id).success(function(c){a.mailRoom=c,l.syncUpdatesByAttributes("mail_message",{MailRoomId:a.mailRoom.id},a.mailRoom.MailMessages);var d=_.last(a.mailRoom.MailMessages);d.MailRoom.MailAccount&&(a.form.from={name:d.MailRoom.MailAccount.name,address:d.MailRoom.MailAccount.address,id:d.MailRoom.MailAccount.id},a.form.to=_.remove(_.union(d.to?d.from.split(";"):[],d.cc?d.cc.split(";"):[],d.bcc?d.bcc.split(";"):[]),function(a){return a!==d.MailRoom.MailAccount.address}),a.form.cc=_.remove(_.union(d.to?d.from.split(";"):[],d.cc?d.to.split(";"):[],d.bcc?d.bcc.split(";"):[]),function(a){return a!==d.MailRoom.MailAccount.address}),a.form.bcc=_.remove(_.union(d.to?d.from.split(";"):[],d.cc?d.cc.split(";"):[],d.bcc?d.to.split(";"):[]),function(a){return a!==d.MailRoom.MailAccount.address})),"NEW"===a.mailRoom.status&&b.put("/api/mail/rooms/"+a.mailRoom.id,{status:"OPEN"})}).error(function(){f.path("/mail/inbox/incoming")})},a.sendMail=function(){var c=angular.copy(a.mailRoom.MailMessages);if(c=_.reject(c,function(a){return"RECEIVED"!==a.status}),c=_.sortBy(c,"id"),o.queue.length)o.uploadAll();else{if(!a.form.sto.length)return a.forms.compose.to.$valid=!1,void(a.forms.compose.to.$invalid=!0);a.forms.compose.to.$valid=!0,a.forms.compose.to.$invalid=!1;var d={mailAccountId:a.form.from.id,status:"SENDING",roomStatus:"OPEN",from:a.form.from.address,to:a.form.sto.join(";"),cc:a.form.scc.join(";"),subject:a.form.subject||a.mailRoom.subject||null,html:a.form.html||null,text:a.form.text||null,MailRoomId:a.mailRoom.id};c&&_.last(c)&&(d.inReplyTo=_.last(c).messageId),b.post("/api/mail/messages",d).success(function(){j.show(g.instant("MESSAGE_MAIL_MESSAGE_SEND_SUCCESS"),"success"),f.path("/mail/inbox/incoming")}).error(function(){j.show(g.instant("MESSAGE_MAIL_MESSAGE_SEND_FAILURE"),"danger")})}},a.cancel=function(){a.form.sto=[],a.form.scc=[],delete a.form.text},a.updateStatus=function(d){b.put("/api/mail/rooms/"+c.id,{status:d}).success(function(b){a.mailRoom.status=b.status,j.show(g.instant("MESSAGE_STATUS_UPDATE_SUCCESS"),"success"),f.path("/mail/inbox/incoming")}).error(function(){j.show(g.instant("MESSAGE_STATUS_UPDATE_FAILURE"),"danger")})},a.assignAgent=function(a){b.put("/api/mail/rooms/"+c.id,{UserId:a}).success(function(){j.show(g.instant("MESSAGE_MAIL_MESSAGE_ASSIGNEMNT_SUCCESS"),"success")}).error(function(){j.show(g.instant("MESSAGE_MAIL_MESSAGE_ASSIGNEMNT_FAILURE"),"danger")})}}]),angular.module("xCallyShuttleApp").factory("MailRoom",["$resource",function(a){return a("/api/mail/rooms/:id/:controller",{id:"@id"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.inbox.room",{url:"/room/:id",templateUrl:"app/mail/inbox/room/room.html",controller:"MailRoomCtrl",authenticate:!0})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail",{url:"/mail",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("MailMessage",["$resource",function(a){return a("/api/mail/messages/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("MailQueueListCtrl",["$scope","$http","$translate","$rootScope","socket","Modal","stResource","xAlert",function(a,b,c,d,e,f,g,h){a.$on("$destroy",function(){e.unsyncUpdates("mail_queue")}),a.conf={queuesByPage:{name:"10",value:10}},a.queuesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.mailQueues={checked:[]},a.check=function(b,c){c?a.mailQueues.checked=angular.copy(_.pluck(a.displayedMailQueues,"id")):a.mailQueues.checked=[]},a.getMailQueues=function(b){return _.map(a.displayedMailQueues,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){e.unsyncUpdates("mail_queue"),b.url="/api/mail/queues/",g.getPage(b).then(function(c){a.displayedMailQueues=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(c.queuesByPage,a.displayedMailQueues.length),d.updateTableConfig(a.conf.queuesByPage,a.displayedMailQueues.length)}),e.socket.on("mail_queue:save",function(){a.initList(b)}),e.socket.on("mail_queue:remove",function(c){a.mailQueues.checked=_.without(a.mailQueues.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/mail/queues/"+a).success(function(){h.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){h.show(a.message,"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/mail/queues/",{params:{id:a.mailQueues.checked}}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(c.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.queues.list",{url:"/list",templateUrl:"app/mail/queue/list/list.html",controller:"MailQueueListCtrl"})}]),angular.module("xCallyShuttleApp").factory("MailQueue",["$resource",function(a){return a("/api/mail/queues/:id/:controller",{id:"@id"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.queues",{url:"/queues",template:"<div ui-view></div>","abstract":!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("MailQueueViewCtrl",["$scope","$http","$translate","$stateParams","xAlert",function(a,b,c,d,e){var f=function(){return{select:function(c){b.post("/api/mail/queues/"+a.queue.id+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})},deselect:function(c){b.put("/api/mail/queues/"+a.queue.id+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})}}};a.getQueue=function(){b.get("/api/mail/queues/"+d.id).success(function(b){a.queue=b}).error(function(a){console.error(a)})},a.updateMailQueue=function(){var f=angular.copy(a.queue);b.put("/api/mail/queues/"+d.id,f).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(b){e.show(b.message,"success"),a.queue=f})},a.getTeams=function(){b.get("/api/teams").success(function(c){a.teams=c.rows,b.get("/api/mail/user_has_queues",{params:{MailQueueId:a.queue.id}}).success(function(b){ComponentsDropdowns.bindMailQueue(a.teams,_.pluck(b,"UserId"),f)})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.queues.view",{url:"/view/:id",templateUrl:"app/mail/queue/view/view.html",controller:"MailQueueViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.mail.queues.view.settings",{url:"/settings",templateUrl:"app/mail/queue/view/view.settings.html"}).state("main.mail.queues.view.agents",{url:"/agents",templateUrl:"app/mail/queue/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("MailQueueWizardCtrl",["$scope","$http","$location","WizardHandler","xAlert",function(a,b,c,d,e){a.forms={},a.item={},a.next=function(){d.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/mail/queues",a.item).success(function(){c.path("/mail/queues/list")}).error(function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.queues.wizard",{url:"/wizard",templateUrl:"app/mail/queue/wizard/wizard.html",controller:"MailQueueWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.realtime",{url:"/realtime",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MailRealtimeViewAgentCtrl",["$scope","$http","socket","MailQueue","Agent",function(a,b,c,d,e){a.gridOptions={enableSorting:!1,enableFiltering:!0,columnDefs:[{name:"queueName",displayName:"Queue"},{name:"agentName",displayName:"Agent",cellClass:"text-center",cellTemplate:'<span data-ng-if="row.entity.agentName">{{row.entity.fullname}} [{{row.entity.agentName}}]</span>'},{name:"online",cellClass:"text-center",cellTemplate:'<span class="badge badge-empty" data-ng-if="row.entity.online != null" data-ng-class="row.entity.online ? \'badge-success\' : \'badge-danger\'"></span>'},{name:"lastLoginAt",cellClass:"text-center",cellTemplate:'<time data-ng-if="row.entity.agentName" is="relative-time" datetime="{{row.entity.lastLoginAt}}">April 1, 2014</time>'}],onRegisterApi:function(b){a.gridApi=b,a.gridApi.treeBase.on.rowExpanded(a,function(b){var c=_.findIndex(a.gridOptions.data,{$$hashKey:b.entity.$$hashKey});b.entity.Users&&b.entity.Users.forEach(function(b){_.find(a.gridOptions.data,{name:b.name})||a.gridOptions.data.splice(c+1,0,b)})})}},d.get(function(b){a.gridOptions.data=[],b.rows.forEach(function(b){b.$$treeLevel=0,b.queueName=b.name,a.gridOptions.data.push(b),b.Users&&b.Users.forEach(function(b){b.agentName=b.name,a.gridOptions.data.push(b)})}),c.socket.on("agent:save",function(b){var c=_.filter(a.gridOptions.data,{agentName:b.name});c.forEach(function(a){a.online=b.online,a.lastLoginAt=b.lastLoginAt})}),c.socket.on("mail_queue:save",function(b){b.$$treeLevel=0,b.queueName=b.name,a.gridOptions.data.push(b)}),c.socket.on("mail_queue:remove",function(b){_.remov(a.gridOptions.data,{queueName:b.name})}),c.socket.on("user_has_mail_queue:save",function(b){var c=_.findIndex(a.gridOptions.data,function(a){return a.queueName&&a.id===b.MailQueueId});e.get({id:b.UserId}).$promise.then(function(b){a.gridOptions.data.splice(c+1,0,{id:b.id,name:b.name,fullname:b.fullname,agentName:b.name,online:b.online,lastLoginAt:b.lastLoginAt})})["catch"](function(a){console.error(a)})}),c.socket.on("user_has_mail_queue:remove",function(b){for(var c=_.findIndex(a.gridOptions.data,function(a){return a.queueName&&a.id===b.MailQueueId}),d=c+1;d<a.gridOptions.data.length;d++)a.gridOptions.data[d].id==b.UserId&&a.gridOptions.data.splice(d,1)})},function(a){console.error(a)}),a.conf={agentsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.agentsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.$on("$destroy",function(){c.unsyncUpdates("report_mail:save"),c.unsyncUpdates("report_mail:update")}),a.initAgents=function(){b.get("/api/report/mails").success(function(b){a.agents=b,c.socket.on("report_mail:save",function(b){var c=_.find(a.agents,{id:b.id});c||a.agents.unshift(b)}),c.socket.on("report_mail:update",function(b){var c=_.find(a.agents,{id:b.id}),d=a.agents.indexOf(c);c&&_.merge(a.agents[d],b)})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.realtime.view.agents",{url:"/agents",template:"<div ui-view></div>","abstract":!0}).state("main.mail.realtime.view.agents.queues",{url:"/queues",controller:"MailRealtimeViewAgentCtrl",templateUrl:"app/mail/realtime/view/agent/agent.queues.html"}).state("main.mail.realtime.view.agents.timeline",{url:"/attempts",controller:"MailRealtimeViewAgentCtrl",templateUrl:"app/mail/realtime/view/agent/agent.timeline.html"})}]),angular.module("xCallyShuttleApp").controller("MailRealtimeViewSessionCtrl",["$scope","$http","socket",function(a,b,c){a.conf={sessionsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.sessionsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.$on("$destroy",function(){c.unsyncUpdates("report_mail:save"),c.unsyncUpdates("report_mail:update")}),a.initMails=function(){b.get("/api/report/mail/sessions").success(function(b){a.sessions=b,c.socket.on("report_mail_session:save",function(b){var c=_.find(a.sessions,{id:b.id}),d=a.sessions.indexOf(c);c?_.merge(a.sessions[d],b):a.sessions.unshift(b)})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("MailRealtimeViewCtrl",["$scope",function(a){a.agents=[{name:"Queues",link:"main.mail.realtime.view.agents.queues"},{name:"Timeline",link:"main.mail.realtime.view.agents.timeline"}],a.sessions=[{name:"Sessions",link:"main.mail.realtime.view.sessions"}]}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.realtime.view",{url:"/view",templateUrl:"app/mail/realtime/view/view.html",controller:"MailRealtimeViewCtrl"}).state("main.mail.realtime.view.sessions",{url:"/sessions",controller:"MailRealtimeViewSessionCtrl",templateUrl:"app/mail/realtime/view/session/session.html"})}]),angular.module("xCallyShuttleApp").controller("MailStatisticsCtrl",["$scope","$http","$translate","socket",function(a,b,c,d){a.message="Hello",a.$translate=c,b.get("api/mail/rooms").success(function(b){a.mailRooms=b,d.syncUpdates("mail_room",a.mailRooms)}),b.get("api/mail/messages").success(function(b){a.mailMessages=b,d.syncUpdates("mail_message",a.mailMessages)})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.statistics",{url:"/statistics",templateUrl:"app/mail/statistics/statistics.html",controller:"MailStatisticsCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.mail.statistics.summary",{url:"/summary",templateUrl:"app/mail/statistics/statistics.summary.html",controller:"MailStatisticsCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile-old.css"]})}]}})}]),angular.module("xCallyShuttleApp").controller("MailTimelineListCtrl",["$scope","$http","socket",function(a,b,c){function d(b){a.events>50&&a.events.pop(),a.events.unshift(b)}a.initList=function(){a.events=[],b.get("/api/events/channel/mail").success(function(a){a.forEach(d),c.socket.on("event:chat:save",d)}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.timeline.list",{url:"/list",templateUrl:"app/mail/timeline/list/list.html",controller:"MailTimelineListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/timeline.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.timeline",{url:"/timeline",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChooseContactModalCtrl",["$scope","$uibModalInstance","params",function(a,b,c){a.forms={choose:void 0},a.contacts=c.contacts,a.item={},a.ok=function(){a.item.contactName=_.find(a.contacts,{id:a.item.contactId}).name,b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("MainCtrl",["$scope","$http","$rootScope","$cookies","$translate","$interval","socket","Auth","xAlert","$uibModal","$log","$state",function(a,b,c,d,e,f,g,h,i,j,k,l){function m(b){a.workspaces.push({name:b.contactName,type:"contact",contactID:b.contactId,active:!0})}function n(b){a.workspaces.push({name:"New Contact",type:"newContact",active:!0,data:b})}a.awesomeThings=[],a.isLoggedIn=h.isLoggedIn,a.isAdmin=h.isAdmin,a.getCurrentUser=h.getCurrentUser,a.workspaces=[],a.mainTab={active:!0},a.closeTab=function(b){a.workspaces.splice(b,1)},a.createContact=function(c,d){d.tags=d.tags?d.tags.join(","):void 0,_.forOwn(d.customFields,function(a,b){""===a&&delete d.customFields[b]}),d.id?b.put("/api/contactmanager/join/"+d.id,d).success(function(b){a.workspaces.splice(c,1),m(b),i.show(e.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){i.show(a.message,"danger")}):b.post("/api/contactmanager",d).success(function(b){a.workspaces.splice(c,1),m({contactName:b.fullname,contactId:b.id}),i.show(e.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){i.show(a.message,"danger")})},a.chooseContact=function(a){var b=j.open({animation:!0,templateUrl:"app/main/chooseContact.modal.html",controller:"ChooseContactModalCtrl",resolve:{params:function(){return{contacts:JSON.parse(a.contacts)}}}});b.result.then(function(a){m(a)},function(){k.info("Modal dismissed at: "+new Date)})},a.updateContact=function(a,c){c.tags=c.tags?c.tags.join(","):void 0,c.CompanyId||(c.CompanyId=null),b.put("/api/contactmanager/"+c.id,c).success(function(){i.show(e.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){i.show(e.instant(a.message)+"!","danger")})},g.socket.on("report_integration:contactmanager",function(b){switch(b.event){case"openContactTab":a.chooseContact(b);break;case"newContactTab":n(b)}}),a.$on("$viewContentLoaded",function(){Metronic.init()}),c.language=e.use(),a.changeLanguage=function(a){e.use(a).then(function(a){c.language=a,("main.jscripty.projects.view"===l.current.name||"main.square.projects.view"===l.current.name)&&l.go(l.current,{},{reload:!0})})["catch"](function(a){console.error(a)})},a.$on("$destroy",function(){})}]),angular.module("xCallyShuttleApp").directive("ngSpinnerBar",["$rootScope",function(a){return{link:function(b,c){c.addClass("hide"),a.$on("$stateChangeStart",function(){"spinner-page"===c[0].id&&c.removeClass("hide")}),a.$on("$stateChangeSuccess",function(){"spinner-page"===c[0].id&&(c.addClass("hide"),$("body").removeClass("page-on-load"),Layout.setSidebarMenuActiveLink("match"),setTimeout(function(){Metronic.scrollTop()},1e3))}),a.$on("$spinnerStart",function(){"spinner-request"===c[0].id&&c.removeClass("hide")}),a.$on("$spinnerStop",function(){"spinner-request"===c[0].id&&c.addClass("hide")}),a.$on("$stateNotFound",function(){"spinner-page"===c[0].id&&c.addClass("hide")}),a.$on("$stateChangeError",function(){"spinner-page"===c[0].id&&c.addClass("hide")})}}}]).directive("a",function(){return{restrict:"E",link:function(a,b,c){(c.ngClick||""===c.href||"#"===c.href)&&b.on("click",function(a){a.preventDefault()})}}}).directive("nxEqual",function(){return{require:"ngModel",link:function(a,b,c,d){return c.nxEqual?(a.$watch(c.nxEqual,function(a){d.$setValidity("nxEqual",a===d.$viewValue)}),void d.$parsers.push(function(b){var e=b===a.$eval(c.nxEqual);return d.$setValidity("nxEqual",e),e?b:void 0})):void console.error("nxEqual expects a model as an argument!")}}}).directive("ngEnter",function(){return function(a,b,c){b.bind("keydown keypress",function(b){13===b.which&&(a.$apply(function(){a.$eval(c.ngEnter)}),b.preventDefault())})}}).directive("dropdownMenuHover",function(){return{link:function(a,b){b.dropdownHover()}}}).directive("uiSelectRequired",function(){return{require:"ngModel",link:function(a,b,c,d){d.$validators.uiSelectRequired=function(a){return a&&a.length}}}}).directive("rpattern",function(){return{restrict:"A",require:"ngModel",link:function(a,b,c,d){function e(a,b){return null==b||""===b||!h||a.test(b)?(d.$setValidity("pattern",!0),b):void d.$setValidity("pattern",!1)}var f,g=c.rpattern,h=!0;g&&(g.match(/^\/(.*)\/$/)?(g=new RegExp(g.substr(1,g.length-2)),f=function(a){return e(g,a)}):f=function(b){var c=a.$eval(g);if(!c||!c.test)throw new Error("Expected "+g+" to be a RegExp but was "+c);return e(c,b)}),d.$formatters.push(f),d.$parsers.push(f),c.$observe("required",function(a){h=a,f(d.$viewValue)})}}}).directive("queryBuilder",["$compile","xAlert","$http",function(a,b,c){return{restrict:"E",scope:{group:"=",fields:"=",operators:"=",properties:"="},templateUrl:"app/main/template.queryBuilderView.html",compile:function(d,e){var f,g;return f=d.contents().remove(),function(d,e,h){d.booleans=[{name:"AND"},{name:"OR"}],d.addCondition=function(a){"CONDITION"==a?d.group.rules.push({operator:"=",field:"",data:""}):d.group.rules.push({field:"",data:""})},d.removeCondition=function(a){d.group.rules.splice(a,1)},d.addGroup=function(a){d.group.rules.push({group:{"boolean":"AND",rules:[],type:a,main:!1}})},d.choices=[],d.removeGroup=function(){d.$parent.group.rules.splice(d.$parent.$index,1)},d.initChoices=function(a,b,c,e,f,g,h){a[g]&&d.getResults(b,c,e,f)},d.clearData=function(a,b){for(var c in b)a[b[c]]&&delete a[b[c]]},d.getResults=function(a,e,f,g,h){if(a){var i="",j={};i=a.parseUrl?a.parseUrl.replace("%s",e):a.url,a.query&&h&&(j[a.query.field]=h),c.get(i,{params:j}).success(function(a){var b=[];a.rows&&(a=a.rows),a.forEach(function(a){b.push({name:a.name,value:a.id})}),d.choices[f]||(d.choices[f]=[]),d.choices[f][g]=b}).error(function(a){b.show(a.message,"danger")})}},g||(g=a(f)),e.append(g(d,function(a){return a}))}}}}]).directive("newContact",["$compile","xAlert","$http","socket",function(a,b,c,d){return{restrict:"E",scope:{workspace:"=",index:"=",submit:"&onSubmit"},templateUrl:"app/main/template.newContactTab.html",compile:function(a,e){return function(a,e,f){a.forms={general:{}},a.item={Phones:[],Emails:[],customFields:{}},a.joinPrompt=!1,a.checkboxes={},a.workspace.data&&(a.item.fullname=a.workspace.data.calleridname?a.workspace.data.calleridname:a.workspace.data.messageId?a.workspace.data.messageId:a.workspace.data.uniqueid?a.workspace.data.uniqueid:"",a.workspace.data.calleridnum&&a.item.Phones.push({phone:a.workspace.data.calleridnum}),a.workspace.data.from&&a.item.Emails.push({email:a.workspace.data.from})),a.getTags=function(){c.get("/api/tags").success(function(b){a.tags=_.pluck(b.rows,"name")}).error(function(a){console.error(a),b.show(a.message,"danger")})},a.getCompanies=function(){c.get("/api/contactmanager/companies").success(function(b){a.companies=b.rows,d.syncUpdates("company",a.companies)}).error(function(a){console.error(a),b.show(a.message,"danger")})},a.getCustomFields=function(){c.get("/api/contactmanager/customfields").success(function(b){a.customFields=b.rows,a.customFields.forEach(function(a){a.values=JSON.parse(a.values)}),d.syncUpdates("custom_field",a.customFields,function(a,b){"string"==typeof b.values&&(b.values=JSON.parse(b.values))})}).error(function(a){console.error(a),b.show(a.message,"danger")})},a.addField=function(b){a.item[b].push({}),a.joinPrompt=!1},a.removeField=function(b,c){a.item[b].splice(c,1),a.joinPrompt=!1},a.getTags(),a.getCompanies(),a.getCustomFields()}}}}]).directive("contact",["$compile","xAlert","$http","socket",function(a,b,c,d){return{restrict:"E",scope:{workspace:"=",index:"=",submit:"&onSubmit"},templateUrl:"app/main/template.contactTab.html",compile:function(a,e){return function(a,e,f){a.moment=moment,a.forms={general:{}},a.detail={tab:"main"},a.log={journal:{show:"Phones",type:"Inbounds",detail:"general"},history:{show:"Phones",type:"HistoryInbounds",detail:"general"}},a.columns={Phones:{general:{header:["APPLICATION_SOURCE","APPLICATION_DESTINATION","APPLICATION_DATE"],indexes:["source","destination","createdAt"]},QueueCalls:{header:["APPLICATION_CALLERID","APPLICATION_QUEUE","APPLICATION_DATE"],indexes:["calleridnum","queue","createdAt"]},ReportAgents:{header:["APPLICATION_AGENT","APPLICATION_QUEUE","APPLICATION_DATE"],indexes:["membername","queue","agentcalledAt"]},HistoryQueueCalls:{header:["APPLICATION_CALLERID","APPLICATION_QUEUE","APPLICATION_DATE"],indexes:["calleridnum","queue","createdAt"]},HistoryReportAgents:{header:["APPLICATION_AGENT","APPLICATION_QUEUE","APPLICATION_DATE"],indexes:["membername","queue","createdAt"]}},Emails:{general:{header:["APPLICATION_FROM","APPLICATION_TO","APPLICATION_DATE"],indexes:["from","to","createdAt"]}}},a.rows={journal:[],history:[]},a.itemsByPage=15,a.rowCollection=[],a._=_,a.getRows=function(b){a.rows[b]=[],_.forEach(a.contact[a.log[b].show],function(c){console.log(c),"general"===a.log[b].detail?a.rows[b]=a.rows[b].concat(c[a.log[b].type]):_.forEach(c[a.log[b].type],function(c){a.rows[b]=a.rows[b].concat(c[a.log[b].detail])})}),console.log(a.rows[b])},a.addField=function(b){a.contact[b].push({})},a.removeField=function(b,c){a.contact[b].splice(c,1)},a.getContact=function(d){console.log("get contact in tab"),c.get("/api/contactmanager/"+d).success(function(b){b.tags=b.tags?b.tags.split(","):[],a.contact=b,a.getRows("journal"),a.getRows("history"),a.contact.customFields={},a.contact.CustomFields.forEach(function(b){a.contact.customFields[b.id]=b.ContactHasCustomField.value})}).error(function(a){console.error(a),b.show(a.message,"danger")})},a.getTags=function(){c.get("/api/tags").success(function(b){a.tags=_.pluck(b.rows,"name")}).error(function(a){console.error(a),b.show(a.message,"danger")})},a.getCompanies=function(){c.get("/api/contactmanager/companies").success(function(b){a.companies=b.rows,d.syncUpdates("company",a.companies)}).error(function(a){console.error(a),b.show(a.message,"danger")})},a.getCustomFields=function(){c.get("/api/contactmanager/customfields/all").success(function(b){a.customFields=b,a.customFields.forEach(function(a){a.values=JSON.parse(a.values)}),d.syncUpdates("custom_field",a.customFields,function(a,b){"string"==typeof b.values&&(b.values=JSON.parse(b.values))})}).error(function(a){console.error(a),b.show(a.message,"danger")})},a.getTags(),a.getCompanies(),a.getCustomFields(),a.getContact(a.workspace.contactID)}}}}]).directive("reportBuilder",["$compile",function(a){return{restrict:"E",scope:{group:"=",fields:"=",forms:"=",firstCall:"="},templateUrl:"app/main/template.reportBuilderView.html",compile:function(b,c){var d,e;return d=b.contents().remove(),function(b,c,f){b.operators=[{name:"AND"},{name:"OR"}],b.conditions=[{name:"="},{name:"!="},{name:"<"},{name:"<="},{name:">"},{name:">="},{name:"LIKE"}],b.addCondition=function(){b.group.rules.push({condition:"=",field:"",value:""})},b.removeCondition=function(a){b.group.rules.splice(a,1)},b.addGroup=function(){b.group.rules.push({group:{operator:"AND",rules:[{condition:"=",field:"",value:""}]}})},b.randomName=function(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")},b.removeGroup=function(){b.$parent.group&&b.$parent.group.rules.splice(b.$parent.$index,1)},e||(e=a(d)),c.append(e(b,function(a){return a}))}}}}]).directive("dynamicName",["$compile",function(a){return{restrict:"A",terminal:!0,priority:1e3,link:function(b,c,d){c.attr("name",b.$eval(d.dynamicName)),c.removeAttr("dynamic-name"),a(c)(b)}}}]).directive("onReadFile",["$parse",function(a){return{restrict:"A",scope:!1,link:function(b,c,d){var e=a(d.onReadFile);c.on("change",function(a){var c=new FileReader;c.onload=function(a){b.$apply(function(){e(b,{$fileContent:a.target.result})})},c.readAsText((a.srcElement||a.target).files[0])})}}}]),angular.module("xCallyShuttleApp").filter("capitalize",function(){return function(a){return a?a.replace(/([^\W_]+[^\s-]*) */g,function(a){return a.charAt(0).toUpperCase()+a.substr(1).toLowerCase()}):""}}).filter("salesforce",function(){var a=["CallDisposition","CallDurationInSeconds","CallObject","CallType","IsArchived","Priority","Status","Type"];return function(b){return _.remove(b,function(b){return b.custom===!1&&a.indexOf(b.name)<0}),b}}).filter("sugarcrm",function(){var a=["account_id","account_name","account_name1","assigned_user_name","assigned_user_id","case_number","created_by","created_by_name","date_entered","date_modified","deleted","description","id","modified_by_name","modified_user_id","name"];return function(b){return _.remove(b,function(b){return a.indexOf(b.name)>=0}),b}}).filter("freshdesk",function(){var a=["requester","subject","agent","description"];return function(b){return _.remove(b,function(b){return a.indexOf(b.ticket_field.name)>=0}),b}}).filter("zendesk",function(){var a=["subject","assignee","description"];return function(b){return _.remove(b,function(b){return a.indexOf(b.type)>=0}),b}}),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main",{"abstract":!0,templateUrl:"app/main/main.html",controller:"MainCtrl",resolve:{authorization:["$q","Auth","$state","$timeout","$location",function(a,b,c,d,e){return b.getToken()?a.when():(d(function(){e.path("/login")}),a.reject())}],deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}})}]),angular.module("xCallyShuttleApp").factory("xAlert",["$translate","Notification",function(a,b){return{show:function(c,d){switch(d){case"success":b.success({message:c,title:'<i class="glyphicon glyphicon-ok"></i> <strong>'+a.instant("MESSAGE_SUCCESS")+"!</strong>",delay:5e3});break;case"info":b.info({message:c,title:'<i class="glyphicon glyphicon-info-sign"></i> <strong>'+a.instant("MESSAGE_INFO")+"!</strong>",delay:5e3});break;case"danger":b.error({message:c,title:'<i class="glyphicon glyphicon-exclamation-sign"></i> <strong>'+a.instant("MESSAGE_ERROR")+"!</strong>",delay:1e4});break;case"warning":b.warning({message:c,title:'<i class="glyphicon glyphicon-warning-sign"></i> <strong>'+a.instant("MESSAGE_WARNING")+"!</strong>",
-delay:1e4});break;default:b.info(c)}}}}]).factory("stResource",["$q","$filter","$timeout","$rootScope","$http","$translate","xAlert",function(a,b,c,d,e,f,g){return{getPage:function(b){var c={page:Math.ceil(b.pagination.start/b.pagination.number),per_page:b.pagination.number};b.sort.predicate&&(c.sort_by=b.sort.predicate,c.sort_order=b.sort.reverse?"DESC":"ASC"),_.forIn(b.search.predicateObject,function(a,b){c[b]=a}),b.search.params&&(c.clientQuery={},_.forIn(b.search.params,function(a,b){c.clientQuery[b]=a})),d.$broadcast("$spinnerStart"),e.get(b.url,{params:c}).success(function(a){h.resolve(a),d.$broadcast("$spinnerStop")}).error(function(a){g.show(f.instant(a.message),"danger"),d.$broadcast("$spinnerStop")});var h=a.defer();return h.promise}}}]),angular.module("xCallyShuttleApp").controller("MarketCtrl",["$scope","$http","$translate","socket","xAlert","Modal","$timeout",function(a,b,c,d,e,f,g){function h(a,b){return Math.floor(Math.random()*(b-a+1))+a}a.initView=function(){b.get("/api/integrations").success(function(b){a.integrations=b,a.groupedIntegration=_.chunk(a.integrations,4),d.syncUpdates("integration",a.integrations,function(){a.groupedIntegration=_.chunk(a.integrations,4)})}).error(function(a){e.show(a.message,"danger")})},a.isProgressing=!1,a.$on("$destroy",function(){d.unsyncUpdates("integration")}),a.installIntegration=function(d){a.status="Downloading",a.percentage=h(1,50),a.isProgressing=!0,d.downloading=!0,b.put("/api/integrations/"+d.id,{active:!0}).success(function(){g(function(){a.percentage=h(51,99),a.status="Installing"},2500),g(function(){a.percentage=100,a.isProgressing=!1,a.status="Completed!",d.downloading=!1,e.show(c.instant("MESSAGE_WELL_DONE")+".","success")},5e3)}).error(function(){d.downloading=!1,a.percentage=0,a.isProgressing=!1,e.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.uninstallIntegration=function(d){a.status="Uninstalling",a.percentage=h(1,99),a.isProgressing=!0,d.downloading=!0,b.put("/api/integrations/"+d.id,{active:!1}).success(function(){g(function(){a.percentage=100,a.isProgressing=!1,a.status="Completed!",d.downloading=!1,e.show(c.instant("MESSAGE_WELL_DONE")+".","success")},5e3)}).error(function(){d.downloading=!1,a.percentage=0,a.isProgressing=!1,e.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.market",{url:"/market",templateUrl:"app/market/market.html",controller:"MarketCtrl"})}]),angular.module("xCallyShuttleApp").controller("MotionbarCtrl",["$scope","$stateParams","$cookieStore","settings","Auth",function(a,b,c,d,e){e.loginWithToken(b.token,b.userId,b.name),a.getCurrentUser=e.getCurrentUser,d.layout.pageQuickSidebarOpened=!0}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("motionbar",{url:"/motionbar",template:"<div ui-view></div>","abstract":!0}).state("motionbar.chat",{url:"/chat?token&userId&name",templateUrl:"app/motionbar/motionbar.chat.html",controller:"MotionbarCtrl"})}]),angular.module("xCallyShuttleApp").controller("SalesforceListCtrl",["$scope","$http","$rootScope","xAlert","$translate","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={accountsByPage:{name:"10",value:10}},a.accountsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.accounts={checked:[]},a.check=function(b,c){c?a.accounts.checked=angular.copy(_.pluck(a.displayedSalesforceAccounts,"id")):a.accounts.checked=[]},a.getAccounts=function(b){return _.map(a.displayedSalesforceAccounts,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("salesforce_account"),b.url="/api/salesforce/accounts",h.getPage(b).then(function(d){a.displayedSalesforceAccounts=d.rows,b.pagination.numberOfPages=d.total_pages,c.updateTableConfig(a.accountsByPage,a.displayedSalesforceAccounts.length),c.updateTableConfig(a.conf.accountsByPage,a.displayedSalesforceAccounts.length)}),f.socket.on("salesforce_account:save",function(){a.initList(b)}),f.socket.on("salesforce_account:remove",function(c){a.accounts.checked=_.without(a.accounts.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/salesforce/accounts/"+a).success(function(){d.show(e.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/salesforce/accounts",{params:{id:a.accounts.checked}}).success(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.checkAccount=function(a){b.get("/api/salesforce/accounts/"+a+"/check").then(function(){d.show(e.instant("MESSAGE_ACCOUNT_VERIFIED"),"success")})["catch"](function(){d.show(e.instant("MESSAGE_ACCOUNT_INVALID"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.salesforce.list",{url:"/list",templateUrl:"app/salesforce/list/list.html",controller:"SalesforceListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.salesforce",{url:"/salesforce",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SalesforceViewCtrl",["$scope","$http","$stateParams","$translate","$location","WizardHandler","socket","xAlert","Modal","$filter",function(a,b,c,d,e,f,g,h,i,j){a.$stateParams=c,a.config={autoHideScrollbar:!1,theme:"dark",advanced:{updateOnContentResize:!0},setHeight:500,scrollInertia:0},a.initConfiguration=function(){a.formsConfiguration={},a.configuration={}},a.goNext=function(){f.wizard().next()},a.formValidation=function(a){return a},a.$on("$destroy",function(){g.unsyncUpdates("salesforce_configuration"),g.unsyncUpdates("salesforce_field")}),a.initView=function(){b.get("/api/salesforce/accounts/"+c.id).success(function(b){a.account=b}).error(function(a){h.show(a.message,"danger")})},a.updateItem=function(){b.put("/api/salesforce/accounts/"+c.id,a.account).success(function(){h.show(d.instant("MESSAGE_WELL_DONE")+".","success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.getConfigurations=function(){b.get("/api/salesforce/configurations",{params:{AccountId:c.id}}).success(function(b){a.configurations=b,g.socket.on("salesforce_configuration:remove",function(b){_.remove(a.configurations,{id:b.id})})}).error(function(a){h.show(a.message,"danger")})},a.deleteConfiguration=i.confirm["delete"](function(a){b["delete"]("api/salesforce/configurations/"+a).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.createConfiguration=function(){a.configuration.AccountId=c.id,b.post("api/salesforce/configurations",a.configuration).success(function(a){e.path("salesforce/view/"+c.id+"/configurations/settings/"+a.id)}).error(function(){h.show("Something went wrong!","danger")})},a.fieldType=["string","variable"],a.descFieldType=["string","key_value"],a.getFields=function(){b.get("/api/salesforce/accounts/"+c.id+"/fields").success(function(b){a.accountFields=_.sortByOrder(j("salesforce")(b),"name","asc")}).error(function(a){h.show(a.message,"danger")})},a.getConfiguration=function(){b.get("/api/salesforce/configurations/"+c.configurationId).success(function(b){a.configurationName=b.name,a.subjectConfig=b.Subject,a.descriptionConfig=b.Description,a.fieldConfig=b.Field,g.socket.on("salesforce_field:remove",function(b){_.remove(a.subjectConfig,{id:b.id}),_.remove(a.descriptionConfig,{id:b.id}),_.remove(a.fieldConfig,{id:b.id})})}).error(function(a){h.show(a.message,"danger")})},a.getVariables=function(){b.get("/api/variables").success(function(b){a.variables=b.rows}).error(function(a){h.show(a.message,"danger")})},a.removeItem=function(a){b["delete"]("api/salesforce/fields/"+a.id).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addItemSubject=function(){var d={type:"string",content:""};b.post("/api/salesforce/configurations/"+c.configurationId+"/subject",d).success(function(b){a.subjectConfig.push(b)}).error(function(){h.show("Something went wrong!","danger")})},a.addItemDescription=function(){var d={type:"string",content:""};b.post("/api/salesforce/configurations/"+c.configurationId+"/description",d).success(function(b){a.descriptionConfig.push(b)}).error(function(){h.show("Something went wrong!","danger")})},a.addItemField=function(){var d={content:""};b.post("/api/salesforce/configurations/"+c.configurationId+"/field",d).success(function(b){a.fieldConfig.push(b)}).error(function(){h.show("Something went wrong!","danger")})},a.updateField=function(a){b.put("/api/salesforce/fields/"+a.id,a).success(function(){}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.changeType=function(b){"variable"===b.type?b.content="":"string"===b.type&&(b.VariableId=null),a.updateField(b)},a.changeDescType=function(b){"key_value"===b.type?(b.content="","string"===b.keyType?b.VariableId=null:"variable"===b.keyType&&(b.keyContent="")):"string"===b.type&&(b.VariableId=null,b.key="",b.keyContent=""),a.updateField(b)},a.changeFieldType=function(b){b.content="",a.updateField(b)},a.getSystemFieldOptions=function(b){if(b){var c=_.find(a.accountFields,"name",b);if(c)switch(c.type){case"picklist":return c.picklistValues;default:return}}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.salesforce.view",{url:"/view/:id",templateUrl:"app/salesforce/view/view.html",controller:"SalesforceViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.salesforce.view.account",{url:"/account",templateUrl:"app/salesforce/view/view.account.html"}).state("main.salesforce.view.configurations",{url:"/configurations",templateUrl:"app/salesforce/view/view.configurations.html"}).state("main.salesforce.view.configurations.settings",{url:"/settings/:configurationId",templateUrl:"app/salesforce/view/view.configurationSettings.html",controller:"SalesforceViewCtrl"}).state("main.salesforce.view.configuration",{url:"/configuration",templateUrl:"app/salesforce/view/view.configuration.html"})}]),angular.module("xCallyShuttleApp").controller("SalesforceWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler",function(a,b,c,d,e,f){a.translate=d,a.initWizard=function(){a.$translate=d,a.forms={},a.item={}},a.next=function(){f.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){console.log(a.item),b.post("api/salesforce/accounts",a.item).success(function(){e.show(d.instant("MESSAGE_WELL_DONE")+".","success"),c.path("/salesforce/list")}).error(function(){e.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.salesforce.wizard",{url:"/wizard",templateUrl:"app/salesforce/wizard/wizard.html",controller:"SalesforceWizardCtrl"})}]),angular.module("xCallyShuttleApp").factory("License",["$resource",function(a){return a("/api/licenses/:id/:controller",{id:"@id"},{request:{method:"POST",params:{id:"request"}}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.license",{url:"/license",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("LicenseViewCtrl",["$scope","$rootScope","$translate","License","xAlert",function(a,b,c,d,e){a.initView=function(){d.get(function(b){a.item=b.license})},a.submitRequest=function(){console.log("submitRequest"),d.request(a.item,function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")},function(a){switch(a.status){case 301:e.show(a.message,"info");break;case 500:e.show(a.message,"danger")}})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.license.view",{url:"/view",templateUrl:"app/setting/license/view/view.html",controller:"LicenseViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/pricing-tables.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting",{url:"/setting",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("Smtp",["$resource",function(a){return a("/api/mail/servers/out/:id/:controller",{id:"@id"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.smtp",{url:"/smtp",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SmtpViewCtrl",["$scope","$stateParams","$translate","MailServerOut","xAlert",function(a,b,c,d,e){a.initView=function(){a.item={},d.get({id:"service"}).$promise.then(function(b){a.item=b})["catch"](function(a){e.show(a.message,"danger")})},a.updateItem=function(){a.item.id?d.update({id:a.item.id},a.item).$promise.then(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){e.show(a.message,"danger")}):(a.item.service=!0,d.save(a.item).$promise.then(function(b){a.item=b,e.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){e.show(a.message,"danger")}))},a.test=function(){d.test({id:a.item.id,controller:"test"}).$promise.then(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){e.show(a.statusText,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.smtp.view",{url:"/view",templateUrl:"app/setting/smtp/view/view.html",controller:"SmtpViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("TemplateListCtrl",["$scope","$http","$translate","$rootScope","socket","Modal","stResource","xAlert",function(a,b,c,d,e,f,g,h){a.$on("$destroy",function(){e.unsyncUpdates("mail_template")}),a.conf={templatesByPage:{name:"10",value:10}},a.templatesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.Templates={checked:[]},a.check=function(b,c){c?a.Templates.checked=angular.copy(_.pluck(a.displayedTemplates,"id")):a.Templates.checked=[]},a.getTemplates=function(b){return _.map(a.displayedTemplates,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){e.unsyncUpdates("mail_template"),b.url="/api/mail/templates/",g.getPage(b).then(function(c){a.displayedTemplates=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(c.templatesByPage,a.displayedTemplates.length),d.updateTableConfig(a.conf.templatesByPage,a.displayedTemplates.length)}),e.socket.on("mail_template:save",function(){a.initList(b)}),e.socket.on("mail_template:remove",function(c){a.Templates.checked=_.without(a.Templates.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/mail/templates/"+a).success(function(){h.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){h.show(a.message,"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/mail/templates/",{params:{id:a.Templates.checked}}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(c.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.templates.list",{url:"/list",templateUrl:"app/setting/template/list/list.html",controller:"TemplateListCtrl"})}]),angular.module("xCallyShuttleApp").factory("Template",["$resource",function(a){return a("/api/mail/templates/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.templates",{url:"/templates",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("TemplateViewCtrl",["$scope","$http","$translate","$stateParams","xAlert","Template",function(a,b,c,d,e,f){a.initItem=function(){a.form={},a.item={},a.groups=[{title:"Voice",variables:[]},{title:"Chat",variables:["username","email","text","chatWebsite"]},{title:"Mail",variables:[]},{title:"Fax",variables:[]}],a.item=f.get({id:d.id})},a.updateItem=function(){f.update(a.item).$promise.then(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.templates.view",{url:"/view/:id",templateUrl:"app/setting/template/view/view.html",controller:"TemplateViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.setting.templates.view.settings",{url:"/settings",templateUrl:"app/setting/template/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("TemplateWizardCtrl",["$scope","$location","$http","WizardHandler","xAlert","MailServerOut","Template",function(a,b,c,d,e,f,g){a.initWizard=function(){a.item={},a.form={},a.groups=[{title:"Voice",variables:[]},{title:"Chat",variables:["username","email","text","chatWebsite"]},{title:"Mail",variables:[]},{title:"Fax",variables:[]}],a.mailAccounts=f.query()},a.next=function(){d.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){var c={name:a.item.name,description:a.item.description,subject:a.item.subject||null,html:a.item.html||null,text:a.item.text||null};g.save(c).$promise.then(function(){b.path("/templates/list")})["catch"](function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.templates.wizard",{url:"/wizard",templateUrl:"app/setting/template/wizard/wizard.html",controller:"TemplateWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("UpdateListCtrl",["$scope","$uibModal","$log","$translate","Update","xAlert",function(a,b,c,d,e,f){a.conf={updatesByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.updatesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.initList=function(){e.query(function(b){a.updates=b})},a.pull=function(){var a=b.open({animation:!0,templateUrl:"app/setting/update/list/list.pull.html",controller:function(a,b){a.modal={dismissable:!0,title:"Confirm Checkout",html:"Are you sure you want to checkout?",buttons:[{classes:"btn btn-success",text:"Checkout",click:function(){b.close()}},{classes:"btn default",text:"Cancel",click:function(){b.dismiss("cancel")}}]}}});a.result.then(function(){e.pull(function(a){a.summary.changes?f.show(d.instant("APPLICATION_UPDATED_TO_LATEST_VERSION"),"success"):f.show(d.instant("APPLICATION_ALREADY_UP_TO_DATE"),"info")},function(a){f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},function(){c.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.updates.list",{url:"/list",templateUrl:"app/setting/update/list/list.html",controller:"UpdateListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").factory("Update",["$resource",function(a){return a("/api/updates/:id/:controller",{id:"@id"},{pull:{method:"GET",params:{id:"pull"}},checkout:{method:"GET",params:{id:"checkout"}}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.updates",{url:"/updates",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SoundListCtrl",["$scope","$http","socket","Modal","$q","FileUploader","$translate","xAlert","$cookieStore","$sce",function(a,b,c,d,e,f,g,h,i,j){a.isCollapsed=!0,a.audioSources={},a["delete"]=d.confirm["delete"](function(a){b["delete"]("/api/uploads/"+a).success(function(a){}).error(function(a){console.log(a)})}),a.getAudioSrc=function(a){return"/api/uploads/"+a},a.updateAudio=function(a,c){var d=e.defer();return b.put("/api/uploads/"+a,c).success(function(a){d.resolve()}).error(function(a){console.log(a.message),d.reject(a.message)}),d.promise},a.$on("$destroy",function(){c.unsyncUpdates("upload")}),a.initList=function(){b.get("/api/uploads").success(function(b){a.sounds=b,a.sounds.forEach(function(a){k(a)}),c.syncUpdates("upload",a.sounds)}).error(function(a){})};var k=function(c){b.get("/api/uploads/stream/"+c.id).success(function(b){a.audioSources[c.id]=b}).error(function(a){console.error(a)})};a.getSecureSrc=function(a){return j.trustAsResourceUrl("data:audio/ogg;base64,"+a)},a.getSecureDownloadSrc=function(a){return j.trustAsResourceUrl("data:application/octet-stream;charset=utf-16le;base64,"+a)};var l=a.uploader=new f({url:"/api/uploads",withCredentials:!0,headers:{Authorization:"Bearer "+i.get("token")}});l.filters.push({name:"customFilter",fn:function(a,b){return this.queue.length<10}}),l.onWhenAddingFileFailed=function(a,b,c){console.info("onWhenAddingFileFailed",a,b,c)},l.onAfterAddingFile=function(a){console.info("onAfterAddingFile",a)},l.onAfterAddingAll=function(a){console.info("onAfterAddingAll",a)},l.onBeforeUploadItem=function(a){console.info("onBeforeUploadItem",a)},l.onProgressItem=function(a,b){console.info("onProgressItem",a,b),a.isUploading=!0},l.onProgressAll=function(a){console.info("onProgressAll",a)},l.onSuccessItem=function(a,b,c,d){console.info("onSuccessItem",a,b,c,d),a.isUploading=!1},l.onErrorItem=function(a,b,c,d){console.info("onErrorItem",a,b,c,d),a.responseMessage=b,a.isUploading=!1},l.onCancelItem=function(a,b,c,d){console.info("onCancelItem",a,b,c,d),a.isUploading=!1},l.onCompleteItem=function(a,b,c,d){console.info("onCompleteItem",a,b,c,d),a.isUploading=!1},l.onCompleteAll=function(){console.info("onCompleteAll")},console.info("uploader",l)}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.sounds.list",{url:"/list",templateUrl:"app/sound/list/list.html",controller:"SoundListCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.sounds",{url:"/sounds",templateUrl:"app/sound/sound.html","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SquareOdbcListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={odbcsByPage:{name:"10",value:10}},a.odbcsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.Odbcs={checked:[]},a.check=function(b,c){c?a.Odbcs.checked=angular.copy(_.pluck(a.displayedOdbcs,"id")):a.Odbcs.checked=[]},a.getOdbcs=function(b){return _.map(a.displayedOdbcs,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("square_odbc"),b.url="/api/square/odbc",h.getPage(b).then(function(c){a.displayedOdbcs=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.odbcsByPage,a.displayedOdbcs.length),d.updateTableConfig(a.conf.odbcsByPage,a.displayedOdbcs.length)}),c.socket.on("square_odbc:save",function(){a.initList(b)}),c.socket.on("square_odbc:remove",function(c){a.Odbcs.checked=_.without(a.Odbcs.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/square/odbc/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/square/odbc",{params:{id:a.Odbcs.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.odbcs.list",{url:"/list",templateUrl:"app/square/odbc/list/list.html",controller:"SquareOdbcListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.odbcs",{url:"/odbcs",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SquareOdbcViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.getOdbc=function(){b.get("/api/square/odbc/"+e.id).success(function(b){delete b.pwd,a.odbc=b}).error(function(a){console.error(a),f.path("/square/odbcs/list")})},a.updateOdbc=function(){var f=angular.copy(a.odbc);b.put("/api/square/odbc/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.odbc=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.odbcs.view",{url:"/view/:id",templateUrl:"app/square/odbc/view/view.html",controller:"SquareOdbcViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.square.odbcs.view.settings",{url:"/settings",templateUrl:"app/square/odbc/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("SquareOdbcWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","$translate",function(a,b,c,d,e,f){a.forms={odbc:void 0},a.item={},a.next=function(){b.post("/api/square/odbc/validate/",a.item).success(function(a){a.length?e.show(f.instant("MESSAGE_EXIST_ODBC"),"danger"):c.wizard().next()}).error(function(a){e.show(f.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/square/odbc/",a.item).success(function(){d.path("/square/odbcs/list")}).error(function(a){e.show(f.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.odbcs.wizard",{url:"/wizard",templateUrl:"app/square/odbc/wizard/wizard.html",controller:"SquareOdbcWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("SquareProjectListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={projectsByPage:{name:"10",value:10}},a.projectsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.Projects={checked:[]},a.check=function(b,c){c?a.Projects.checked=angular.copy(_.pluck(a.displayedProjects,"id")):a.Projects.checked=[]},a.getProjects=function(b){return _.map(a.displayedProjects,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("square_project"),b.url="/api/square/projects",h.getPage(b).then(function(c){a.displayedProjects=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.projectsByPage,a.displayedProjects.length),d.updateTableConfig(a.conf.projectsByPage,a.displayedProjects.length)}),c.socket.on("square_project:save",function(){a.initList(b)}),c.socket.on("square_project:remove",function(c){a.Projects.checked=_.without(a.Projects.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/square/projects/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/square/projects",{params:{id:a.Projects.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.projects.list",{url:"/list",templateUrl:"app/square/project/list/list.html",controller:"SquareProjectListCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.projects",{url:"/projects",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SquareProjectViewCtrl",["$scope","$http","$stateParams","socket","Auth","Modal","xAlert","$translate","$rootScope",function(a,b,c,d,e,f,g,h,i){a.squareProject={},a.getProject=function(){b.get("/api/square/projects/"+c.id).success(function(b){a.squareProject=b,angular.element(document).ready(function(){window.onerror=function(a,b,c){try{if(null!=a&&-1!=a.indexOf("Script error."));else{var d=new Image;d.src="assets/plugins/mxgraph/images/1x1.png?msg="+encodeURIComponent(a)+"&url="+encodeURIComponent(b)+"&lnum="+encodeURIComponent(c)}}catch(e){}},b.token=e.getToken();var a=new EditorUi(new Editor);a.openString(b.preproduction,b.name,b),a.editor.graphChangeListener=function(a,b){var c=b.properties.rtChange||!1;c||(this.modified=!0)}}),d.syncUpdates("square_project",[b],function(a,c,d){c.id===b.id})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.projects.view",{url:"/view/:id",templateUrl:"app/square/project/view/view.html",controller:"SquareProjectViewCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",serie:!0,cache:!1,files:["assets/plugins/mxgraph/css/common.css","assets/plugins/mxgraph/css/explorer.css","assets/plugins/mxgraph/styles/grapheditor.css","assets/plugins/mxgraph/styles/custom.css","assets/plugins/mxgraph/js/custom.js","assets/plugins/mxgraph/js/mxClient.js","assets/plugins/mxgraph/js/Editor.js","assets/plugins/mxgraph/js/Graph.js","assets/plugins/mxgraph/js/EditorUi.js","assets/plugins/mxgraph/js/Actions.js","assets/plugins/mxgraph/js/Menus.js","assets/plugins/mxgraph/js/Sidebar.js","assets/plugins/mxgraph/js/Toolbar.js","assets/plugins/mxgraph/js/Dialogs.js"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("SquareProjectWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","$translate",function(a,b,c,d,e,f){a.forms={project:void 0},a.item={},a.next=function(){b.post("/api/square/projects/validate/",a.item).success(function(a){a.length?e.show(f.instant("MESSAGE_EXIST_PROJECT"),"danger"):c.wizard().next()}).error(function(a){e.show(f.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/square/projects/",a.item).success(function(){d.path("/square/projects/list")}).error(function(a){e.show(f.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.projects.wizard",{url:"/wizard",templateUrl:"app/square/project/wizard/wizard.html",controller:"SquareProjectWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square",{url:"/square",
-template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SugarcrmListCtrl",["$scope","$http","$rootScope","xAlert","$translate","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={accountsByPage:{name:"10",value:10}},a.accountsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.accounts={checked:[]},a.check=function(b,c){c?a.accounts.checked=angular.copy(_.pluck(a.displayedSugarcrmAccounts,"id")):a.accounts.checked=[]},a.getAccounts=function(b){return _.map(a.displayedSugarcrmAccounts,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("sugarcrm_account"),b.url="/api/sugarcrm/accounts",h.getPage(b).then(function(d){a.displayedSugarcrmAccounts=d.rows,b.pagination.numberOfPages=d.total_pages,c.updateTableConfig(a.accountsByPage,a.displayedSugarcrmAccounts.length),c.updateTableConfig(a.conf.accountsByPage,a.displayedSugarcrmAccounts.length)}),f.socket.on("sugarcrm_account:save",function(){a.initList(b)}),f.socket.on("sugarcrm_account:remove",function(c){a.accounts.checked=_.without(a.accounts.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/sugarcrm/accounts/"+a).success(function(){d.show(e.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/sugarcrm/accounts",{params:{id:a.accounts.checked}}).success(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.checkAccount=function(a){b.get("/api/sugarcrm/accounts/"+a+"/check").then(function(){d.show(e.instant("MESSAGE_ACCOUNT_VERIFIED"),"success")})["catch"](function(){d.show(e.instant("MESSAGE_ACCOUNT_INVALID"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.sugarcrm.list",{url:"/list",templateUrl:"app/sugarcrm/list/list.html",controller:"SugarcrmListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.sugarcrm",{url:"/sugarcrm",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SugarcrmViewCtrl",["$scope","$http","$stateParams","$translate","$location","$filter","WizardHandler","socket","xAlert","Modal",function(a,b,c,d,e,f,g,h,i,j){a.$stateParams=c,a.config={autoHideScrollbar:!1,theme:"dark",advanced:{updateOnContentResize:!0},setHeight:500,scrollInertia:0},a.initConfiguration=function(){a.formsConfiguration={},a.configuration={}},a.goNext=function(){g.wizard().next()},a.formValidation=function(a){return a},a.$on("$destroy",function(){h.unsyncUpdates("sugarcrm_configuration"),h.unsyncUpdates("sugarcrm_field")}),a.initView=function(){b.get("/api/sugarcrm/accounts/"+c.id).success(function(b){a.account=b}).error(function(a){i.show(a.message,"danger")})},a.updateItem=function(){b.put("/api/sugarcrm/accounts/"+c.id,a.account).success(function(){i.show(d.instant("MESSAGE_WELL_DONE")+".","success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.getConfigurations=function(){b.get("/api/sugarcrm/configurations",{params:{AccountId:c.id}}).success(function(b){a.configurations=b,h.socket.on("sugarcrm_configuration:remove",function(b){_.remove(a.configurations,{id:b.id})})}).error(function(a){i.show(a.message,"danger")})},a.deleteConfiguration=j.confirm["delete"](function(a){b["delete"]("api/sugarcrm/configurations/"+a).success(function(){i.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.createConfiguration=function(){a.configuration.AccountId=c.id,b.post("api/sugarcrm/configurations",a.configuration).success(function(a){e.path("sugarcrm/view/"+c.id+"/configurations/settings/"+a.id)}).error(function(){i.show("Something went wrong!","danger")})},a.fieldType=["string","variable"],a.descFieldType=["string","key_value"],a.getFields=function(){b.get("/api/sugarcrm/accounts/"+c.id+"/fields").success(function(b){a.accountFields=_.sortByOrder(f("sugarcrm")(_.toArray(b)),"name","asc"),_.forEach(b,function(a){a.options=_.toArray(a.options)})}).error(function(a){i.show(a.message,"danger")})},a.getConfiguration=function(){b.get("/api/sugarcrm/configurations/"+c.configurationId).success(function(b){a.configurationName=b.name,a.subjectConfig=b.Subject,a.descriptionConfig=b.Description,a.fieldConfig=b.Field,h.socket.on("sugarcrm_field:remove",function(b){_.remove(a.subjectConfig,{id:b.id}),_.remove(a.descriptionConfig,{id:b.id}),_.remove(a.fieldConfig,{id:b.id})})}).error(function(a){i.show(a.message,"danger")})},a.getVariables=function(){b.get("/api/variables").success(function(b){a.variables=b.rows}).error(function(a){i.show(a.message,"danger")})},a.removeItem=function(a){b["delete"]("api/sugarcrm/fields/"+a.id).success(function(){i.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addItemSubject=function(){var d={type:"string",content:""};b.post("/api/sugarcrm/configurations/"+c.configurationId+"/subject",d).success(function(b){a.subjectConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.addItemDescription=function(){var d={type:"string",content:""};b.post("/api/sugarcrm/configurations/"+c.configurationId+"/description",d).success(function(b){a.descriptionConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.addItemField=function(){var d={content:""};b.post("/api/sugarcrm/configurations/"+c.configurationId+"/field",d).success(function(b){a.fieldConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.updateField=function(a){b.put("/api/sugarcrm/fields/"+a.id,a).success(function(){}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.changeType=function(b){"variable"===b.type?b.content="":"string"===b.type&&(b.VariableId=null),a.updateField(b)},a.changeDescType=function(b){"key_value"===b.type?(b.content="","string"===b.keyType?b.VariableId=null:"variable"===b.keyType&&(b.keyContent="")):"string"===b.type&&(b.VariableId=null,b.key="",b.keyContent=""),a.updateField(b)},a.changeFieldType=function(b){b.content="",a.updateField(b)},a.getSystemFieldOptions=function(b){if(b){var c=_.find(a.accountFields,"name",b);return c?c.options.length>0?c.options:null:void 0}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.sugarcrm.view",{url:"/view/:id",templateUrl:"app/sugarcrm/view/view.html",controller:"SugarcrmViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.sugarcrm.view.account",{url:"/account",templateUrl:"app/sugarcrm/view/view.account.html"}).state("main.sugarcrm.view.configurations",{url:"/configurations",templateUrl:"app/sugarcrm/view/view.configurations.html"}).state("main.sugarcrm.view.configurations.settings",{url:"/settings/:configurationId",templateUrl:"app/sugarcrm/view/view.configurationSettings.html",controller:"SugarcrmViewCtrl"}).state("main.sugarcrm.view.configuration",{url:"/configuration",templateUrl:"app/sugarcrm/view/view.configuration.html"})}]),angular.module("xCallyShuttleApp").controller("SugarcrmkWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler",function(a,b,c,d,e,f){a.translate=d,a.initWizard=function(){a.$translate=d,a.forms={},a.item={}},a.next=function(){f.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("api/sugarcrm/accounts",a.item).success(function(){e.show(d.instant("MESSAGE_WELL_DONE")+".","success"),c.path("/sugarcrm/list")}).error(function(){e.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.sugarcrm.wizard",{url:"/wizard",templateUrl:"app/sugarcrm/wizard/wizard.html",controller:"SugarcrmkWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("TagListCreateModalCtrl",["$scope","$uibModalInstance",function(a,b){a.forms={dashboard:void 0},a.item={},a.ok=function(){a.item.model=JSON.stringify({title:a.item.name}),b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("TagListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource","$uibModal","$log",function(a,b,c,d,e,f,g,h,i,j){a.conf={tagsByPage:{name:"10",value:10}},a.tagsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.Tags={checked:[]},a.check=function(b,c){c?a.Tags.checked=angular.copy(_.pluck(a.displayedTags,"id")):a.Tags.checked=[]},a.getTags=function(b){return _.map(a.displayedTags,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("tag"),b.url="/api/tags",h.getPage(b).then(function(c){console.log(c),a.displayedTags=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.tagsByPage,a.displayedTags.length),d.updateTableConfig(a.conf.tagsByPage,a.displayedTags.length)}),c.socket.on("tag:save",function(){console.log("save"),a.initList(b)}),c.socket.on("tag:remove",function(c){a.Tags.checked=_.without(a.Tags.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/tags/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/tags",{params:{id:a.Tags.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.create=function(){var a=i.open({animation:!0,templateUrl:"app/tag/list/create.modal.html",controller:"TagListCreateModalCtrl"});a.result.then(function(a){b.post("/api/tags",a).then(function(a){f.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.show(a.data.message,"danger")})},function(){j.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tags.list",{url:"/list",templateUrl:"app/tag/list/list.html",controller:"TagListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tags",{url:"/tags",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("TagViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.getTag=function(){b.get("/api/tags/"+e.id).success(function(b){a.tag=b}).error(function(a){console.error(a),f.path("/tags/list")})},a.updateTag=function(){var f=angular.copy(a.tag);b.put("/api/tags/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.tag=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tags.view",{url:"/view/:id",templateUrl:"app/tag/view/view.html",controller:"TagViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.tags.view.settings",{url:"/settings",templateUrl:"app/tag/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("TeamListCtrl",["$scope","$http","$translate","$rootScope","xAlert","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={teamsByPage:{name:"10",value:10}},a.teamsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.teams={checked:[]},a.check=function(b,c){c?a.teams.checked=angular.copy(_.pluck(a.displayedTeams,"id")):a.teams.checked=[]},a.getTeams=function(b){return _.map(a.displayedTeams,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("team"),b.url="/api/teams/",h.getPage(b).then(function(c){a.displayedTeams=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.teamsByPage,a.displayedTeams.length),d.updateTableConfig(a.conf.teamsByPage,a.displayedTeams.length)}),f.socket.on("team:save",function(){a.initList(b)}),f.socket.on("team:remove",function(c){a.teams.checked=_.without(a.teams.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("api/teams/"+a).success(function(){e.show(c.instant("MESSAGE_TEAM_DELETE_SUCCESS"),"success")}).error(function(){e.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/teams",{params:{id:a.teams.checked}}).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(c.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.teams.list",{url:"/list",templateUrl:"app/team/list/list.html",controller:"TeamListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.teams",{url:"/teams",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("TeamViewCtrl",["$scope","$http","$stateParams","$translate","xAlert",function(a,b,c,d,e){a.message="Hello";var f=function(){return{select:function(c){b.post("/api/teams/"+a.team.id+"/agents",{agents:c}).error(function(a){console.error(a)})},deselect:function(c){b.put("/api/teams/"+a.team.id+"/agents",{agents:c}).error(function(a){console.error(a)})}}};a.initView=function(){b.get("/api/teams/"+c.id).success(function(b){a.team=b}).error(function(a){e.show(a.message,"danger")})},a.initAgents=function(){b.get("/api/agents").success(function(d){a.agents=d.rows,b.get("/api/user_has_teams",{params:{TeamId:c.id}}).success(function(b){ComponentsDropdowns.bindTeam(_.pluck(b,"UserId"),_.map(a.agents,function(a){return{id:a.id,name:a.name}}),f)}).error(function(a){console.error(a)})})},a.updateItem=function(){var f=angular.copy(a.team),g=angular.copy(a.team);b.put("/api/teams/"+c.id,f).success(function(){e.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(b){a.team=g,b.errors.forEach(function(a){e.show(a.message,"danger")})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.teams.view",{url:"/view/:id",templateUrl:"app/team/view/view.html",controller:"TeamViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.teams.view.agents",{url:"/agents",templateUrl:"app/team/view/view.agents.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]}])}]}}).state("main.teams.view.settings",{url:"/settings",templateUrl:"app/team/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("TeamWizardCtrl",["$scope","$http","$translate","$location","WizardHandler","xAlert",function(a,b,c,d,e,f){a.forms={info:void 0},a.item={},a.createItem=function(){b.post("api/teams",a.item).success(function(){f.show(c.instant("MESSAGE_TEAM_CREATE_SUCCESS"),"success"),d.path("/teams/list")}).error(function(a){a.errors.forEach(function(a){f.show(a.message,"danger")})})},a.goNext=function(){e.wizard().next()},a.formValidation=function(a){return a}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.teams.wizard",{url:"/wizard",templateUrl:"app/team/wizard/wizard.html",controller:"TeamWizardCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({name:"ui.select",insertBefore:"#ng_load_plugins_before",files:["assets/plugins/ui-select/select.min.css","assets/plugins/ui-select/select.min.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("TriggerListCtrl",["$scope","$http","$translate","$rootScope","stResource","Modal","socket","xAlert",function(a,b,c,d,e,f,g,h){a.conf={TriggersByPage:{name:"10",value:10}},a.TriggersByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.onText="On",a.offText="Off",a.isActive=!0,a.size="mini",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.Triggers={checked:[]},a.check=function(b,c){c?a.Triggers.checked=angular.copy(_.pluck(a.displayedTriggers,"id")):a.Triggers.checked=[]},a.getTriggers=function(b){return _.map(a.displayedTriggers,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){g.unsyncUpdates("trigger"),b.url="/api/triggers",e.getPage(b).then(function(c){a.displayedTriggers=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.TriggersByPage,a.displayedTriggers.length),d.updateTableConfig(a.conf.TriggersByPage,a.displayedTriggers.length)}),g.socket.on("trigger:save",function(){a.initList(b)}),g.socket.on("trigger:remove",function(c){a.Triggers.checked=_.without(a.Triggers.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/triggers/"+a).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/triggers",{params:{id:a.Triggers.checked}}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(c.instant(a.message),"danger")})}),a.updateItem=function(a,d){b.put("api/triggers/"+a,{status:d}).success(function(a){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.triggers.list",{url:"/list",templateUrl:"app/trigger/list/list.html",controller:"TriggerListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.triggers",{url:"/triggers",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("TriggerViewCtrl",["$scope","$stateParams","$http","$translate","xAlert","triggers",function(a,b,c,d,e,f){a.$triggers=f,a.forms={info:{}},a.fields={},a.properties=f.properties,a.initView=function(){c.get("/api/triggers/"+b.id).success(function(b){a.trigger=b,a.conditionsFilter=JSON.parse(b.conditions),a.actionsFilter=JSON.parse(b.actions),a.fields.conditions=a.$triggers.triggers[b.channel].conditions,a.fields.actions=a.$triggers.triggers[b.channel].actions}).error(function(a){e.show(a.message,"danger")})},a.getProperties=function(){h(),j(),i(),g()};var g=function(){c.get("/api/integrations",{params:{active:1}}).success(function(b){a.integrations=b;var c=[];b.forEach(function(a){c.push({name:a.name,value:a.state})}),a.properties.voice.integration=c}).error(function(a){e.show(a.message,"danger")})},h=function(){c.get("/api/mail/templates/").success(function(b){a.mailTemplates=b.rows;var c=[];b.rows.forEach(function(a){c.push({name:a.name,value:a.id})}),a.properties.mail.template=c}).error(function(a){e.show(a.message,"danger")})},i=function(){c.get("/api/voice/queues/").success(function(b){a.voiceQueues=b.rows;var c=[];b.rows.forEach(function(a){c.push({name:a.name,value:a.name})}),a.properties.voice.queue=c}).error(function(a){e.show(a.message,"danger")})},j=function(){c.get("/api/mail/servers/out/").success(function(b){a.stmpAccounts=b;var c=[];b.forEach(function(a){c.push({name:a.username,value:a.username})}),a.properties.mail.smtp=c}).error(function(a){e.show(a.message,"danger")})};a.updateTrigger=function(){c.put("/api/triggers/"+a.trigger.id,{name:a.trigger.name,description:a.trigger.description,conditions:angular.toJson(a.conditionsFilter),actions:angular.toJson(a.actionsFilter)}).success(function(){e.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.triggers.view",{url:"/view/:id",templateUrl:"app/trigger/view/view.html",controller:"TriggerViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}}).state("main.triggers.view.settings",{url:"/settings",templateUrl:"app/trigger/view/view.settings.html"}).state("main.triggers.view.routes",{url:"/routes",templateUrl:"app/trigger/view/view.routes.html"}).state("main.triggers.view.application",{url:"/application",templateUrl:"app/trigger/view/view.application.html"})}]),angular.module("xCallyShuttleApp").controller("TriggerWizardCtrl",["$scope","$http","$location","xAlert","triggers","WizardHandler",function(a,b,c,d,e,f){a.$triggers=e,a.tempData={voice:{},mail:{},chat:{},fax:{}},a.item={},a.fields={},a.properties=e.properties,a.forms={general:{}};var g={group:{"boolean":"AND",rules:[],type:"CONDITION",main:!0}},h={group:{rules:[],type:"ACTION"}};a.conditionsFilter=_.clone(g,!0),a.actionsFilter=_.clone(h,!0),a.$watch("item.channel",function(b,c){c&&(a.tempData[c].conditionsFilter=_.clone(a.conditionsFilter,!0),a.tempData[c].actionsFilter=_.clone(a.actionsFilter,!0)),a.conditionsFilter=a.tempData[b].conditionsFilter?a.tempData[b].conditionsFilter:_.clone(g,!0),a.actionsFilter=a.tempData[b].actionsFilter?a.tempData[b].actionsFilter:_.clone(h,!0),a.fields.conditions=a.$triggers.triggers[b].conditions,a.fields.actions=a.$triggers.triggers[b].actions},!0),a.item.channel="voice",a.getProperties=function(){j(),l(),k(),i()};var i=function(){b.get("/api/integrations",{params:{active:1}}).success(function(b){a.integrations=b;var c=[];b.forEach(function(a){c.push({name:a.name,value:a.state})}),a.properties.voice.integration=c}).error(function(a){d.show(a.message,"danger")})},j=function(){b.get("/api/mail/templates/").success(function(b){a.mailTemplates=b.rows;var c=[];b.rows.forEach(function(a){c.push({name:a.name,value:a.id})}),a.properties.mail.template=c}).error(function(a){d.show(a.message,"danger")})},k=function(){b.get("/api/mail/servers/out/").success(function(b){a.stmpAccounts=b;var c=[];b.forEach(function(a){c.push({name:a.username,value:a.username})}),a.properties.mail.smtp=c}).error(function(a){d.show(a.message,"danger")})},l=function(){b.get("/api/voice/queues/").success(function(b){a.voiceQueues=b.rows;var c=[];b.rows.forEach(function(a){c.push({name:a.name,value:a.name})}),a.properties.voice.queue=c}).error(function(a){d.show(a.message,"danger")})};a.createItem=function(){a.item.conditions=angular.toJson(a.conditionsFilter),a.item.actions=angular.toJson(a.actionsFilter),b.post("/api/triggers",a.item).success(function(){c.path("/triggers/list")}).error(function(a){d.show(a.message,"danger")})},a.next=function(){f.wizard().next()},a.previous=function(){f.wizard().previous()},a.exitValidation=function(a){return a}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.triggers.wizard",{url:"/wizard",templateUrl:"app/trigger/wizard/wizard.html",controller:"TriggerWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("TrunkListCtrl",["$scope","$http","$translate","$rootScope","xAlert","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={trunksByPage:{name:"10",value:10},labels:["name","host","context","description"]},a.trunksByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.trunks={checked:[]},a.check=function(b,c){c?a.trunks.checked=angular.copy(_.pluck(a.displayedTrunks,"id")):a.trunks.checked=[]},a.getTrunks=function(b){return _.map(a.displayedTrunks,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("trunk"),b.url="/api/trunks",console.log(b),h.getPage(b).then(function(c){a.displayedTrunks=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.trunksByPage,a.displayedTrunks.length),d.updateTableConfig(a.conf.trunksByPage,a.displayedTrunks.length)}),f.socket.on("trunk:save",function(){a.initList(b)}),f.socket.on("trunk:remove",function(c){a.trunks.checked=_.without(a.trunks.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/trunks/"+a).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(c.instant(a.message),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/trunks",{params:{id:a.trunks.checked}}).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(c.instant(a.message),"danger")})}),a.$on("$destroy",function(){console.log("trunks destroy")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.trunks.list",{url:"/list",templateUrl:"app/trunk/list/list.html",controller:"TrunkListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.trunks",{url:"/trunks",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("TrunkViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$location",function(a,b,c,d,e,f,g){a.getTrunk=function(){b.get("/api/trunks/"+e.id).success(function(b){b.nat=""===b.nat?[]:b.nat.split(","),b.allow=""===b.allow?[]:b.allow.split(";"),b.insecure=""===b.insecure?[]:b.insecure.split(","),b.transport=""===b.transport?[]:b.transport.split(","),delete b.secret,a.trunk=b}).error(function(a){console.error(a),g.path("/trunks/list")})},a.updateTrunk=function(){""===a.trunk.password&&delete a.trunk.password;var f=angular.copy(a.trunk);f.nat=f.nat.join(","),f.allow=f.allow.join(";"),f.insecure=f.insecure.join(","),f.transport=f.transport.join(","),b.put("/api/trunks/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),f.nat=f.nat.split(","),f.naallowt=f.allow.split(";"),f.insecure=f.insecure.split(","),f.transport=f.transport.split(","),a.trunk=f})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){c.show(d.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.trunks.view",{url:"/view/:id",templateUrl:"app/trunk/view/view.html",controller:"TrunkViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.trunks.view.settings",{url:"/settings",templateUrl:"app/trunk/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("TrunkWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.initWizard=function(){a.forms={},a.item={context:"from-voip-provider"}},a.next=function(d){d?b.post("/api/trunks/validate/",a.item).success(function(a){console.log(a),a.length?e.show(g.instant("MESSAGE_EXIST_TRUNK"),"danger"):c.wizard().next()}).error(function(a){e.show(g.instant(a.message),"danger")}):c.wizard().next()},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/trunks/",a.item).success(function(){d.path("/trunks/list")}).error(function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.trunks.wizard",{url:"/wizard",templateUrl:"app/trunk/wizard/wizard.html",controller:"TrunkWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("UserListCtrl",["$scope","$http","xAlert","$rootScope","$translate","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={usersByPage:{name:"10",value:10}},a.usersByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.users={checked:[]},a.check=function(b,c){c?a.users.checked=angular.copy(_.pluck(a.displayedUsers,"id")):a.users.checked=[]},a.getUsers=function(b){return _.map(a.displayedUsers,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/users/"+a).success(function(){c.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){a.errors.forEach(function(b){c.show(a.message+": "+b.message,"danger")})})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/users",{params:{id:a.users.checked}}).success(function(){c.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){a.errors.forEach(function(b){c.show(a.message+": "+b.message,"danger")})})}),a.initList=function(b){f.unsyncUpdates("user"),b.url="/api/users/",h.getPage(b).then(function(c){a.displayedUsers=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.usersByPage,a.displayedUsers.length),d.updateTableConfig(a.conf.usersByPage,a.displayedUsers.length)}),f.socket.on("user:save",function(){a.initList(b)}),f.socket.on("user:remove",function(c){a.users.checked=_.without(a.users.checked,c.id),a.initList(b)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.users.list",{url:"/list",templateUrl:"app/user/list/list.html",controller:"UserListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.users",{url:"/users",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("UserViewCtrl",["$scope","$http","$stateParams","$translate","FileUploader","$cookieStore","Auth","xAlert",function(a,b,c,d,e,f,g,h){a.Auth=g,a.updatePassword=function(){var e,f;g.isAdmin()?(e="/api/users/password/"+c.id+"/reset",f={newPassword:a.user.newPwd}):(e="/api/users/password/",f={oldPassword:a.user.currentPwd,newPassword:a.user.newPwd}),b.put(e,f).success(function(a){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})};var i=a.uploader=new e({url:"api/users/"+c.id+"/avatar",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+f.get("token")}});i.filters.push({name:"imageFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|jpg|png|jpeg|".indexOf(b)}}),i.onSuccessItem=function(b,c,e,f){a.user.userpic=c.userpic,a.user.id===g.getCurrentUser().id&&(g.getCurrentUser().userpic=c.userpic),h.show(d.instant("MESSAGE_WELL_DONE"),"success")},i.onErrorItem=function(a,b,c,e){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")},i.onCompleteAll=function(){i.clearQueue()},a.initView=function(){b.get("/api/users/"+c.id).success(function(b){a.user=b,
-a.user.transport=a.user.transport?a.user.transport.split(","):[],a.user.allow=a.user.allow?a.user.allow.split(";"):[]}).error(function(a){a.errors.forEach(function(b){h.show(a.message+": "+b.message,"danger")})})},a.updateItem=function(){var e=angular.copy(a.user),f=angular.copy(a.user);delete e.password,delete e.md5secret,e.transport=e.transport.join(","),e.allow=e.allow.join(";"),b.put("/api/users/"+c.id,e).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(b){a.user=f,b.errors.forEach(function(a){h.show(b.message+": "+a.message,"danger")})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.users.view",{url:"/view/:id",templateUrl:"app/user/view/view.html",controller:"UserViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.users.view.account",{url:"/account",templateUrl:"app/user/view/view.account.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css","assets/scripts/jquery.sparkline.min.js","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js","assets/scripts/profile.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("UserWizardCtrl",["$scope","$http","$location","WizardHandler","xAlert","$translate",function(a,b,c,d,e,f){a.forms={info:void 0,voice:void 0},a.item={role:"user",host:"dynamic",context:"from-sip"},a.next=function(){d.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/users/",a.item).success(function(){e.show(f.instant("MESSAGE_WELL_DONE"),"success"),c.path("/users/list")}).error(function(a){console.log(a),e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.users.wizard",{url:"/wizard",templateUrl:"app/user/wizard/wizard.html",controller:"UserWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("VariableListCreateModalCtrl",["$scope","$uibModalInstance",function(a,b){a.forms={dashboard:void 0},a.item={},a.ok=function(){a.item.model=JSON.stringify({title:a.item.name}),b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VariableListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource","$uibModal","$log",function(a,b,c,d,e,f,g,h,i,j){a.conf={variablesByPage:{name:"10",value:10}},a.variablesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.Variables={checked:[]},a.check=function(b,c){c?a.Variables.checked=angular.copy(_.pluck(a.displayedVariables,"id")):a.Variables.checked=[]},a.getVariables=function(b){return _.map(a.displayedVariables,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("variable"),b.url="/api/variables",h.getPage(b).then(function(c){a.displayedVariables=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.variablesByPage,a.displayedVariables.length),d.updateTableConfig(a.conf.variablesByPage,a.displayedVariables.length)}),c.socket.on("variable:save",function(){a.initList(b)}),c.socket.on("variable:remove",function(c){a.Variables.checked=_.without(a.Variables.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/variables/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/variables",{params:{id:a.Variables.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.create=function(){var a=i.open({animation:!0,templateUrl:"app/variable/list/create.modal.html",controller:"VariableListCreateModalCtrl"});a.result.then(function(a){b.post("/api/variables",a).then(function(a){f.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.show(a.data.message,"danger")})},function(){j.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.variables.list",{url:"/list",templateUrl:"app/variable/list/list.html",controller:"VariableListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.variables",{url:"/variables",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VariableViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.getVariable=function(){b.get("/api/variables/"+e.id).success(function(b){a.variable=b}).error(function(a){console.error(a),f.path("/variables/list")})},a.updateVariable=function(){var f=angular.copy(a.variable);b.put("/api/variables/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.variable=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.variables.view",{url:"/view/:id",templateUrl:"app/variable/view/view.html",controller:"VariableViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.variables.view.settings",{url:"/settings",templateUrl:"app/variable/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.contexts",{url:"/contexts",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceContextListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={contextsByPage:{name:"10",value:10}},a.contextsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.voiceContexts={checked:[]},a.check=function(b,c){c?a.voiceContexts.checked=angular.copy(_.pluck(a.displayedVoiceContexts,"id")):a.voiceContexts.checked=[]},a.getVoiceContexts=function(b){return _.map(a.displayedVoiceContexts,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("voice_context"),b.url="/api/voice/contexts",h.getPage(b).then(function(c){a.displayedVoiceContexts=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.contextsByPage,a.displayedVoiceContexts.length),d.updateTableConfig(a.conf.contextsByPage,a.displayedVoiceContexts.length)}),c.socket.on("voice_context:save",function(){a.initList(b)}),c.socket.on("voice_context:remove",function(c){a.voiceContexts.checked=_.without(a.voiceContexts.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/voice/contexts/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/voice/contexts",{params:{id:a.voiceContexts.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.contexts.list",{url:"/list",templateUrl:"app/voice/context/list/list.html",controller:"VoiceContextListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceContextViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.getContext=function(){b.get("/api/voice/contexts/"+e.id).success(function(b){a.context=b}).error(function(a){console.error(a),f.path("/voice/contexts/list")})},a.updateVoiceContext=function(){var f=angular.copy(a.context);b.put("/api/voice/contexts/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.context=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.contexts.view",{url:"/view/:id",templateUrl:"app/voice/context/view/view.html",controller:"VoiceContextViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.contexts.view.settings",{url:"/settings",templateUrl:"app/voice/context/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("VoiceContextWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","$translate",function(a,b,c,d,e,f){a.forms={context:void 0},a.item={},a.next=function(){b.post("/api/voice/contexts/validate/",a.item).success(function(a){console.log(a),a.length?e.show(f.instant("MESSAGE_EXIST_CONTEXT"),"danger"):c.wizard().next()}).error(function(a){e.show(f.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/voice/contexts/",a.item).success(function(){d.path("/voice/contexts/list")}).error(function(a){e.show(f.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.contexts.wizard",{url:"/wizard",templateUrl:"app/voice/context/wizard/wizard.html",controller:"VoiceContextWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceMohListCtrl",["$scope","$http","$translate","$rootScope","xAlert","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={mohsByPage:{name:"10",value:10},labels:["name","directory","sort","description"]},a.mohsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.mohs={checked:[]},a.check=function(b,c){c?a.mohs.checked=angular.copy(_.pluck(a.displayedMohs,"id")):a.mohs.checked=[]},a.getMohs=function(b){return _.map(a.displayedMohs,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("voice_musiconhold"),b.url="/api/voice/musiconholds",h.getPage(b).then(function(c){a.displayedMohs=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.mohsByPage,a.displayedMohs.length),d.updateTableConfig(a.conf.mohsByPage,a.displayedMohs.length)}),f.socket.on("voice_musiconhold:save",function(){a.initList(b)}),f.socket.on("voice_musiconhold:remove",function(c){a.mohs.checked=_.without(a.mohs.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/voice/musiconholds/"+a).success(function(){e.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){e.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/voice/musiconholds",{params:{id:a.mohs.checked}}).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(c.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.mohs.list",{url:"/list",templateUrl:"app/voice/moh/list/list.html",controller:"VoiceMohListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.mohs",{url:"/mohs",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceMohViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","Modal","$sce","$location",function(a,b,c,d,e,f,g,h,i){a.$translate=d,a.audioSources={},a.sortOptions=[{value:"random",name:"APPLICATION_RANDOM"},{value:"alpha",name:"APPLICATION_ALPHABETICAL"}],a.getMoh=function(){b.get("/api/voice/musiconholds/"+e.id).success(function(b){delete b.stamp,a.moh=b}).error(function(a){console.error(a),i.path("/voice/mohs/list")})},a.updateVoiceMoh=function(){console.log("update");var f=angular.copy(a.moh);b.put("/api/voice/musiconholds/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.voiceMoh=f})},a.addMohs=function(){b.post("/api/voice/musiconholds/"+e.id+"/files",a.item).success(function(){i.path("voice/mohs/view/"+e.id+"/audios")}).error(function(a){c.show(d.instant(a.message),"danger")})},a.getAudioFiles=function(){b.get("/api/voice/musiconholds/"+e.id+"/files").success(function(b){a.audioFiles=b.files,a.mohPath=b.path,a.audioFiles.forEach(function(a){j(a)})}).error(function(a){console.error(a)})},a.getSecureSrc=function(a){return h.trustAsResourceUrl(a)};var j=function(c){b.get("/api/voice/musiconholds/stream",{params:{path:encodeURI(a.mohPath+"/"+c)}}).success(function(b){a.audioSources[c]="data:audio/ogg;base64,"+b}).error(function(a){console.error(a)})};a.getSounds=function(){a.item={sounds:[]},b.get("/api/uploads").success(function(b){a.soundList=b}).error(function(a){console.error(a)})},a.deleteItem=g.confirm["delete"](function(f){b["delete"]("/api/voice/musiconholds/"+e.id+"/files",{params:{filename:f}}).success(function(){_.remove(a.audioFiles,function(a){return a===f}),c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){c.show(a.message,"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.mohs.view",{url:"/view/:id",templateUrl:"app/voice/moh/view/view.html",controller:"VoiceMohViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.mohs.view.settings",{url:"/settings",templateUrl:"app/voice/moh/view/view.settings.html"}).state("main.voice.mohs.view.audios",{url:"/audios",templateUrl:"app/voice/moh/view/view.audios.html",cache:!1}).state("main.voice.mohs.view.add",{url:"/add",templateUrl:"app/voice/moh/view/view.addFiles.html",cache:!1})}]),angular.module("xCallyShuttleApp").controller("VoiceMohWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.$translate=g,a.initWizard=function(){a.forms={},a.item={sort:"alpha"}},a.next=function(){b.post("/api/voice/musiconholds/validate/",a.item).success(function(a){console.log(a),a.length?e.show(g.instant("MESSAGE_EXIST_MOH"),"danger"):c.wizard().next()}).error(function(a){e.show(g.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/voice/musiconholds/",a.item).success(function(a){d.path("/voice/mohs/view/"+a.id+"/audios")}).error(function(a){e.show(g.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.mohs.wizard",{url:"/wizard",templateUrl:"app/voice/moh/wizard/wizard.html",controller:"VoiceMohWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceQueueListCtrl",["$scope","$http","socket","$translate","$rootScope","Modal","xAlert","stResource",function(a,b,c,d,e,f,g,h){a.conf={voiceQueuesByPage:{name:"10",value:10},labels:["name","description","strategy","context"]},a.voiceQueuesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.queues={checked:[]},a.check=function(b,c){c?a.queues.checked=angular.copy(_.pluck(a.displayedQueues,"name")):a.queues.checked=[]},a.getQueues=function(b){return _.map(a.displayedQueues,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("voice_queue"),b.url="/api/voice/queues",h.getPage(b).then(function(c){a.displayedQueues=c.rows,b.pagination.numberOfPages=c.total_pages,e.updateTableConfig(a.voiceQueuesByPage,a.displayedQueues.length),e.updateTableConfig(a.conf.voiceQueuesByPage,a.displayedQueues.length)}),c.socket.on("voice_queue:save",function(){a.initList(b)}),c.socket.on("voice_queue:remove",function(c){console.log("remove"),a.queues.checked=_.without(a.queues.checked,c.name),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/voice/queues/"+a).success(function(){g.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){g.show(a.message,"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/voice/queues",{params:{name:a.queues.checked}}).success(function(){g.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){g.show(d.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.queues.list",{url:"/list",templateUrl:"app/voice/queue/list/list.html",controller:"VoiceQueueListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.queues",{url:"/queues",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceQueueViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$location",function(a,b,c,d,e,f,g){a.binaryChoices=[{name:"Yes",value:1},{name:"No",value:0}],a.monitorFormats=[{name:"wav",value:"wav"},{name:"gsm",value:"gsm"},{name:"Inactive",value:""}],a.queueAnnounces=[{display_name:"Default",value:null},{display_name:"Disabled",value:""}];var h=function(){return{select:function(c){b.post("/api/voice/queues/"+a.queue.name+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})},deselect:function(c){b.put("/api/voice/queues/"+a.queue.name+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})}}};a.getQueue=function(){b.get("/api/voice/queues/"+e.id).success(function(b){b.joinempty=""===b.joinempty?[]:b.joinempty.split(","),b.leavewhenempty=""===b.leavewhenempty?[]:b.leavewhenempty.split(","),b.periodic_announce=""===b.periodic_announce?[]:b.periodic_announce.split(","),a.queue=b}).error(function(a){g.path("/voice/queues/list")})},a.updateVoiceQueue=function(){var f=angular.copy(a.queue);f.joinempty=f.joinempty.join(","),f.leavewhenempty=f.leavewhenempty.join(","),f.periodic_announce=f.periodic_announce.join(","),f.context||(f.context=null),b.put("/api/voice/queues/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),f.joinempty=f.joinempty.split(","),f.leavewhenempty=f.leavewhenempty.split(","),f.periodic_announce=f.periodic_announce.split(","),a.queue=f})},a.getTeams=function(){b.get("/api/teams").success(function(c){a.teams=c.rows,b({url:"/api/voice/user_has_queues",method:"GET",params:{queue:a.queue.name}}).success(function(b){ComponentsDropdowns.bindQueue(a.teams,_.pluck(b,"UserId"),h)})}).error(function(a){console.error(a)})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){c.show(d.instant(a.message),"danger")})},a.getMohs=function(){b.get("/api/voice/musiconholds").success(function(b){a.voiceMohs=b.rows,f.syncUpdates("voice_musiconhold",a.voiceMohs)}).error(function(a){c.show(a.message,"danger")})},a.getSounds=function(){b.get("/api/uploads").success(function(b){a.queueAnnounces=a.queueAnnounces.concat(b),a.periodicAnnounces=angular.copy(b),b.unshift({display_name:"None",converted_path:null,value:""}),a.sounds=b,f.syncUpdates("upload",a.sounds)}).error(function(a){console.error(a)})},a.returnAnnouncePath=function(a){return console.log("func"),a.converted_path?a.converted_path+"/"+a.save_name:null===a.value?null:a.value}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.queues.view",{url:"/view/:id",templateUrl:"app/voice/queue/view/view.html",controller:"VoiceQueueViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.queues.view.settings",{url:"/settings",templateUrl:"app/voice/queue/view/view.settings.html"}).state("main.voice.queues.view.agents",{url:"/agents",templateUrl:"app/voice/queue/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceQueueWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.forms={queue:void 0},a.item={},a.next=function(){b.post("/api/voice/queues/validate/",a.item).success(function(a){console.log(a),a.length?e.show(g.instant("MESSAGE_EXIST_QUEUE"),"danger"):c.wizard().next()}).error(function(a){e.show(g.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/voice/queues/",a.item).success(function(){d.path("/voice/queues/list")}).error(function(a){e.show(g.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.queues.wizard",{url:"/wizard",templateUrl:"app/voice/queue/wizard/wizard.html",controller:"VoiceQueueWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.realtime",{url:"/realtime",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewAgentCtrl",["$scope","$http","$log","$uibModal","$translate","socket","xAlert",function(a,b,c,d,e,f,g){a.conf={agentsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.agentsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.$on("$destroy",function(){f.unsyncUpdates("user_has_voice_queue")}),a.groups=[],a.pauses=["pausa1","pausa2","pausa3"],a.pause=function(f,h){var i=d.open({animation:!0,size:f,templateUrl:"app/voice/realtime/view/agent/pause.modal.html",controller:"VoiceRealtimeViewAgentPauseModalCtrl",resolve:{items:function(){return a.pauses},data:function(){return h}}});i.result.then(function(a){b.post("/api/ami",a).then(function(a){console.log(a),g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){console.log(a),g.show(a.data.message,"danger")})},function(){c.info("Modal dismissed at: "+new Date)})},a.add=function(f,h){var i=d.open({animation:!0,size:f,templateUrl:"app/voice/realtime/view/agent/queue.modal.add.html",controller:"VoiceRealtimeViewAgentQueueModalCtrl",resolve:{pauses:function(){return a.pauses},data:function(){return h}}});i.result.then(function(a){console.log(a),b.post("/api/voice/user_has_queues",a).then(function(){a.login?b.post("/api/ami",a).then(function(){g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")}):g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")})},function(){c.info("Modal dismissed at: "+new Date)})},a.remove=function(a,f){var h=d.open({animation:!0,size:a,templateUrl:"app/voice/realtime/view/agent/queue.modal.remove.html",controller:"VoiceRealtimeViewAgentQueueModalCtrl",resolve:{pauses:function(){return null},data:function(){return f}}});h.result.then(function(a){_.isArray(a)?a.forEach(function(a){b.post("/api/ami",a).then(function(){a.logout?b.put("/api/voice/queues/"+a.queue+"/agents",{agents:[a.UserId]}).then(function(){g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")}):g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")})}):b.post("/api/ami",a).then(function(){a.logout?b.put("/api/voice/queues/"+a.queue+"/agents",{agents:[a.UserId]}).then(function(){g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")}):g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")})},function(){c.info("Modal dismissed at: "+new Date)})},a.initAgents=function(){b.get("/api/voice/user_has_queues").success(function(b){a.agents=b,a.groups=_.map(_.groupBy(a.agents,"membername"),function(a,b){return{membername:b,queues:a}}),f.socket.on("user_has_voice_queue:save",function(b){var c=_.find(a.groups,{membername:b.membername}),d=a.groups.indexOf(c);if(c){var e=_.find(c.queues,{queue:b.queue});e?_.merge(e,b):a.groups[d].queues.push(b)}else{var f={membername:b.membername,queues:[b]};a.groups.unshift(f)}}),f.socket.on("user_has_voice_queue:remove",function(b){var c=_.find(a.groups,{membername:b.membername});_.remove(c.queues,{queue:b.queue}),c.queues.length||_.remove(a.groups,{membername:b.membername})}),f.socket.on("report_agent:save",function(b){var c=_.find(a.groups,{membername:b.membername}),d=a.groups.indexOf(c);if(c){var e=_.find(c.queues,{queue:b.queue});e?_.merge(e,b):a.groups[d].queues.push(b)}else{var f={membername:b.membername,queues:[b]};a.groups.unshift(f)}})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewAgentPauseModalCtrl",["$scope","$uibModalInstance","items","data",function(a,b,c,d){a.items=c,a.data=d,a.selected={item:a.items[0],queue:_.isArray(d)?a.data[0].queue:a.data.queue,membername:_.isArray(d)?a.data[0].membername:a.data.membername,"interface":_.isArray(d)?a.data[0]["interface"]:a.data["interface"]},a.ok=function(c){var e={action:"QueuePause","interface":a.selected["interface"],paused:c,reason:a.selected.item};_.isArray(d)||(e.queue=a.selected.queue),b.close(e)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewAgentQueueModalCtrl",["$scope","$uibModalInstance","$http","pauses","data",function(a,b,c,d,e){a.initAdd=function(){a.data=e,a.pauses=d,a.selected={membername:a.data[0].membername,"interface":a.data[0]["interface"],penalty:0,paused:!1,reason:a.pauses[0],UserId:a.data[0].UserId},c.get("/api/voice/queues",{params:{page:0,per_page:100}}).success(function(b){a.queues=_.reject(b.rows,function(b){return _.find(a.data,{queue:b.name})?!0:!1}),a.selected.queue=a.queues[0]?a.queues[0].name:null,console.log(a.queues)}).error(function(a){console.error(a)})},a.initRemove=function(){a.data=e,_.isArray(e)?a.selected={membername:a.data[0].membername,"interface":a.data[0]["interface"],logout:!1,UserId:a.data[0].UserId}:a.selected={membername:a.data.membername,"interface":a.data["interface"],queue:a.data.queue,logout:!1,UserId:a.data.UserId}},a.okAdd=function(){console.log(a.selected);var c={action:"QueueAdd",logged:a.data[0].logged,loggedAt:a.data[0].loggedAt,queue:a.selected.queue,membername:a.selected.membername,"interface":a.selected["interface"],penalty:a.selected.penalty,paused:a.selected.paused,UserId:a.selected.UserId};c.paused&&(c.reason=a.selected.reason),b.close(c)},a.okRemove=function(){var c;_.isArray(a.data)?(c=[],a.data.forEach(function(b){c.push({action:"QueueRemove",queue:b.queue,"interface":b["interface"],logout:a.selected.logout,UserId:b.UserId})})):c={action:"QueueRemove",queue:a.selected.queue,logout:a.selected.logout,"interface":a.selected["interface"],UserId:a.selected.UserId},b.close(c)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewAgentReportCtrl",["$scope","$http","socket",function(a,b,c){a.$on("$destroy",function(){c.unsyncUpdates("report_agent")}),a.conf={agentsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.agentsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.initReport=function(){a.agents=[],b.get("/api/report/agents").success(function(b){a.agents=b,c.syncUpdates("report_agent",a.agents)}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").filter("VoiceRealtimeViewAgentReportFilter",function(){return function(a){return new Date(1970,0,1).setSeconds(a)}}),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewQueueReportCtrl",["$scope","$http","socket",function(a,b,c){a.$on("$destroy",function(){c.unsyncUpdates("report_queue")}),a.conf={queuesByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.queuesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.initReport=function(){a.queues=[],b.get("/api/report/queues").success(function(b){console.log(b),a.queues=b,c.syncUpdates("report_queue",a.queues)}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").filter("VoiceRealtimeViewQueueReportFilter",function(){return function(a){return new Date(1970,0,1).setSeconds(a)}}),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewQueuePauseModalCtrl",["$scope","$uibModalInstance","items","data",function(a,b,c,d){a.items=c,a.data=d,console.log(d),a.selected={item:a.items[0],queue:_.isArray(d)?a.data[0].queue:a.data.queue,membername:_.isArray(d)?a.data[0].membername:a.data.membername,"interface":_.isArray(d)?a.data[0]["interface"]:a.data["interface"]},a.ok=function(c,e){var f;_.isArray(d)?(f=[],d.forEach(function(b){f.push({action:"QueuePause",queue:b.queue,membername:b.membername,"interface":b["interface"],paused:c,reason:a.selected.item})})):f={action:"QueuePause",queue:a.selected.queue,membername:a.selected.membername,"interface":a.selected["interface"],paused:c,reason:a.selected.item},b.close(f)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewQueueCtrl",["$scope","$http","$log","$uibModal","$translate","socket","xAlert",function(a,b,c,d,e,f,g){a.conf={agentsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.agentsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.$on("$destroy",function(){f.unsyncUpdates("user_has_voice_queue")}),a.groups=[],a.pauses=["pausa1","pausa2","pausa3"],a.pause=function(f,h){var i=d.open({animation:!0,size:f,templateUrl:"app/voice/realtime/view/queue/pause.modal.html",controller:"VoiceRealtimeViewQueuePauseModalCtrl",resolve:{items:function(){return a.pauses},data:function(){return h}}});i.result.then(function(a){_.isArray(a)?a.forEach(function(a){b.post("/api/ami",a).then(function(a){console.log(a),g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){console.log(a),g.show(a.data.message,"danger")})}):b.post("/api/ami",a).then(function(a){console.log(a),g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){console.log(a),g.show(a.data.message,"danger")})},function(){c.info("Modal dismissed at: "+new Date)})},a.add=function(f,h){var i=d.open({animation:!0,size:f,templateUrl:"app/voice/realtime/view/queue/queue.modal.add.html",controller:"VoiceRealtimeViewQueueQueueModalCtrl",resolve:{pauses:function(){return a.pauses},data:function(){return h}}});i.result.then(function(a){
-console.log("action",a),b.post("/api/voice/user_has_queues",a).then(function(){a.login?b.post("/api/ami",a).then(function(){g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")}):g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.message,"danger")}),console.log(a)},function(){c.info("Modal dismissed at: "+new Date)})},a.remove=function(a,f){var h=d.open({animation:!0,size:a,templateUrl:"app/voice/realtime/view/queue/queue.modal.remove.html",controller:"VoiceRealtimeViewQueueQueueModalCtrl",resolve:{pauses:function(){return null},data:function(){return f}}});h.result.then(function(a){_.isArray(a)?a.forEach(function(a){b.post("/api/ami",a).then(function(){a.logout?b.put("/api/voice/queues/"+a.queue+"/agents",{agents:[a.UserId]}).then(function(){g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")}):g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")})}):b.post("/api/ami",a).then(function(){a.logout?b.put("/api/voice/queues/"+a.queue+"/agents",{agents:[a.UserId]}).then(function(){g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")}):g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")})},function(){c.info("Modal dismissed at: "+new Date)})},a.initQueues=function(){b.get("/api/voice/user_has_queues").success(function(b){a.queues=b,a.groups=_.map(_.groupBy(a.queues,"queue"),function(a,b){return{queue:b,agents:a}}),console.log("ok"),f.socket.on("user_has_voice_queue:save",function(b){console.log("item",b);var c=_.find(a.groups,{queue:b.queue}),d=a.groups.indexOf(c);if(c){var e=_.find(c.agents,{membername:b.membername});e?_.merge(e,b):a.groups[d].agents.push(b)}else{var f={queue:b.queue,agents:[b]};a.groups.unshift(f)}}),f.socket.on("user_has_voice_queue:remove",function(b){var c=_.find(a.groups,{queue:b.queue});_.remove(c.agents,{membername:b.membername}),c.agents.length||_.remove(a.groups,{queue:b.queue})}),f.socket.on("report_agent:save",function(b){var c=_.find(a.groups,{queue:b.queue}),d=a.groups.indexOf(c);if(c){var e=_.find(c.agents,{membername:b.membername});e?_.merge(e,b):a.groups[d].agents.push(b)}else{var f={queue:b.queue,agents:[b]};a.groups.unshift(f)}})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewQueueQueueModalCtrl",["$scope","$uibModalInstance","$http","pauses","data",function(a,b,c,d,e){a.initAdd=function(){a.data=e,a.pauses=d,a.selected={penalty:0,paused:!1,reason:a.pauses[0]},a.$watch("selected.agent",function(b){b&&(a.selected.membername=b.name,a.selected["interface"]="SIP/"+b.name,a.selected.UserId=b.id)}),c.get("/api/agents",{params:{page:0,per_page:500}}).success(function(b){a.agents=_.reject(b.rows,function(b){return _.find(a.data,{membername:b.name})?!0:!1}),a.selected.queue=a.data[0]?a.data[0].queue:null}).error(function(a){console.error(a)})},a.initRemove=function(){a.data=e,console.log(e),_.isArray(e)?a.selected={queue:a.data[0].queue,logout:!1}:a.selected={membername:a.data.membername,"interface":a.data["interface"],queue:a.data.queue,logout:!1,UserId:a.data.UserId}},a.okAdd=function(){var c={action:"QueueAdd",queue:a.selected.queue,membername:a.selected.membername,"interface":a.selected["interface"],penalty:a.selected.penalty,paused:a.selected.paused,UserId:a.selected.UserId};c.paused&&(c.reason=a.selected.reason),b.close(c)},a.okRemove=function(){var c;_.isArray(a.data)?(c=[],a.data.forEach(function(b){c.push({action:"QueueRemove",queue:b.queue,"interface":b["interface"],logout:a.selected.logout,UserId:b.UserId})})):c={action:"QueueRemove",queue:a.selected.queue,logout:a.selected.logout,"interface":a.selected["interface"],UserId:a.selected.UserId},b.close(c)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewCtrl",["$scope",function(a){a.agents=[{name:"View1",link:"main.voice.realtime.view.agents"},{name:"View2",link:"main.voice.realtime.view.areports"}],a.queues=[{name:"View1",link:"main.voice.realtime.view.queues"},{name:"View2",link:"main.voice.realtime.view.qreports"}]}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.realtime.view",{url:"/view",templateUrl:"app/voice/realtime/view/view.html",controller:"VoiceRealtimeViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.realtime.view.queues",{url:"/queues",controller:"VoiceRealtimeViewQueueCtrl",templateUrl:"app/voice/realtime/view/queue/queue.html"}).state("main.voice.realtime.view.qreports",{url:"/qreport/:search",controller:"VoiceRealtimeViewQueueReportCtrl",templateUrl:"app/voice/realtime/view/qreport/report.html"}).state("main.voice.realtime.view.agents",{url:"/agents",controller:"VoiceRealtimeViewAgentCtrl",templateUrl:"app/voice/realtime/view/agent/agent.html"}).state("main.voice.realtime.view.areports",{url:"/areport",controller:"VoiceRealtimeViewAgentReportCtrl",templateUrl:"app/voice/realtime/view/areport/report.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.inbound",{url:"/inbound",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInboundListCtrl",["$scope","$http","socket","$translate","$rootScope","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={routesByPage:{name:"10",value:10}},a.routesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.routes={checked:[]},a.check=function(b){b?a.routes.checked=angular.copy(_.pluck(a.displayedRoutes,"id")):a.routes.checked=[]},a.getRoutes=function(b){return _.map(a.displayedRoutes,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("voice_extension"),b.url="/api/voice/extensions/route/inbound",h.getPage(b).then(function(c){a.displayedRoutes=c.rows,b.pagination.numberOfPages=c.total_pages,e.updateTableConfig(a.routesByPage,a.displayedRoutes.length),e.updateTableConfig(a.conf.routesByPage,a.displayedRoutes.length)}),c.socket.on("voice_extension:save",function(c){"inbound"===c.type&&a.initList(b)}),c.socket.on("voice_extension:remove",function(c){"inbound"===c.type&&(a.routes.checked=_.without(a.routes.checked,c.id),a.initList(b))})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/voice/extensions/"+a).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/voice/extensions/",{params:{id:a.routes.checked}}).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(d.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.inbound.list",{url:"/list",templateUrl:"app/voice/route/inbound/list/list.html",controller:"VoiceRouteInboundListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInboundViewCtrl",["$scope","$http","$translate","$stateParams","socket","$location","WizardHandler","Modal","xAlert","application","interval",function(a,b,c,d,e,f,g,h,i,j,k){a.$translate=c,a.$application=j.application,a.$interval=k.interval,a.initApplication=function(){a.forms={settings:void 0,interval:void 0},a.application={VoiceExtensionId:d.id,type:"inbound"},a.interval={intType:"always",t_from:moment(new Date),t_to:moment(new Date),wd_from:"always",wd_to:"always",md_from:"always",md_to:"always",m_from:"always",m_to:"always",alwaysTime:!0},a.main={app:""}},a.joinInterval=function(a){console.log(a);var b,c,d,e;return b=a.t_from&&a.t_to&&!a.alwaysTime?moment(a.t_from).format("HH:mm")+"-"+moment(a.t_to).format("HH:mm"):"*",a.wd_from&&"always"!==a.wd_from?(c=a.wd_from.toLowerCase(),a.wd_to&&"always"!==a.wd_to&&(c+="-"+a.wd_to.toLowerCase())):c="*",a.md_from&&"always"!==a.md_from?(d=a.md_from,a.md_to&&"always"!==a.md_to&&(d+="-"+a.md_to)):d="*",a.m_from&&"always"!==a.m_from?(e=a.m_from.toLowerCase(),a.m_to&&"always"!==a.m_to&&(e+="-"+a.m_to.toLowerCase())):e="*",b+","+c+","+d+","+e},a.$watch("main.app",function(c){if(c){var e,f;switch(d.appId||(a.application={VoiceExtensionId:d.id,type:"inbound",interval:a.application.interval}),c){case"Queue":e="api/voice/queues",f="/api/uploads";break;case"Playback":e="/api/uploads";break;case"AGI":e="/api/square/projects";break;case"Goto":e="/api/voice/contexts";break;default:e=null,f=null}e&&b.get(e).success(function(b){a.items="Playback"!==c?b.rows:b}),f&&b.get(f).success(function(b){a.items2=b})}},!0),a.getIntervals=function(){b.get("/api/intervals").success(function(b){a.Intervals=b.rows,e.syncUpdates("interval",a.Intervals)}).error(function(a){i.show(c.instant(a.message),"danger")})},a.getRouteApplications=function(){b.get("/api/voice/extensions/"+d.id+"/applications").success(function(b){a.routeApplications=b,e.unsyncUpdates("voice_extension"),e.socket.on("voice_extension:remove",function(b){b.where.appGroup&&_.remove(a.routeApplications,function(a){return b.where.appGroup==a.appGroup})}),e.socket.on("voice_extension:save",function(b){if(b.VoiceExtensionId===d.id&&b.isApp){var c=_.find(a.routeApplications,{id:b.id});c||a.routeApplications.push(b)}})})},a.sortableOptions={stop:function(){b.post("api/voice/extensions/"+d.id+"/applications",{applications:_.pluck(a.routeApplications,"appGroup")}).success(function(b){a.getRouteApplications()}).error(function(a){console.error(a)})},"ui-floating":!0,axis:"y"},a.getRoute=function(){b.get("/api/voice/extensions/"+d.id).success(function(b){a.route=b,e.socket.on("voice_extension:update",function(b){b.id==d.id&&(a.route=b)})}).error(function(a){f.path("/voice/routes/inbound/list")})},a.getApplication=function(){b.get("/api/voice/extensions/applications/"+d.appId).success(function(b){var c=_.filter(a.$application.applications,function(a){return a.value===b.app});if(c.length>0&&!b.customApp?a.main.app=b.app:a.main.app="custom",a.application=b,a.interval.t_from=moment(new Date),a.interval.t_to=moment(new Date),"Queue"===b.app&&(a.application.app_options=b.app_options?b.app_options.split(","):[]),a.interval.intType=b.IntervalId?"list":"*,*,*,*"===b.interval?"always":"custom",a.interval.IntervalId=b.IntervalId,!b.IntervalId){var d,e=b.interval?b.interval.split(","):["*","*","*","*"];e.forEach(function(b,c){switch(c){case 0:"*"!==b?(d=b.split("-"),a.interval.t_from=moment(d[0],"HH:mm"),a.interval.t_to=moment(d[1],"HH:mm"),a.interval.alwaysTime=!1):(a.interval.t_from=moment(new Date),a.interval.t_to=moment(new Date),a.interval.alwaysTime=!0);break;case 1:"*"!==b?(d=b.split("-"),a.interval.wd_from=_.capitalize(d[0]),a.interval.wd_to=d[1]?_.capitalize(d[1]):"always"):(a.interval.wd_from="always",a.interval.wd_to="always");break;case 2:"*"!==b?(d=b.split("-"),a.interval.md_from=d[0],a.interval.md_to=d[1]?d[1]:"always"):(a.interval.md_from="always",a.interval.md_to="always");break;case 3:"*"!==b?(d=b.split("-"),a.interval.m_from=_.capitalize(d[0]),a.interval.m_to=d[1]?_.capitalize(d[1]):"always"):(a.interval.m_from="always",a.interval.m_to="always")}})}}).error(function(a){f.path("/voice/routes/inbound/view/"+d.id+"/applications")})},a.updateRoute=function(){var e=angular.copy(a.route);b.put("/api/voice/extensions/"+d.id,e).success(function(){i.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){i.show(c.instant(b.message),"danger"),a.route=e})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,e.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){i.show(c.instant(a.message),"danger")})},a.createItem=function(){switch(a.application.app=a.main.app,a.application.exten=a.route.exten,a.application.context=a.route.context,a.application.app_options&&"Queue"===a.application.app&&(a.application.app_options=a.application.app_options.join(",")),a.interval.intType){case"list":a.application.IntervalId=a.interval.IntervalId,a.application.interval=_.result(_.find(a.Intervals,{id:a.interval.IntervalId}),"name");break;case"custom":a.application.IntervalId=null,a.application.interval=a.joinInterval(a.interval);break;case"always":a.application.IntervalId=null,a.application.interval="*,*,*,*"}b.post("/api/voice/extensions/",a.application).success(function(){f.path("/voice/routes/inbound/view/"+d.id+"/applications")}).error(function(a){i.show(c.instant(a.message),"danger")})},a.updateItem=function(){switch(a.application.app_options&&"Queue"===a.application.app&&(a.application.app_options=a.application.app_options.join(",")),a.interval.intType){case"list":a.application.IntervalId=a.interval.IntervalId,a.application.interval=_.result(_.find(a.Intervals,{id:a.interval.IntervalId}),"name");break;case"custom":a.application.IntervalId=null,a.application.interval=a.joinInterval(a.interval);break;case"always":a.application.IntervalId=null,a.application.interval="*,*,*,*"}b.put("/api/voice/extensions/applications/"+d.appId,a.application).success(function(){i.show(c.instant("MESSAGE_WELL_DONE")+"!","success"),f.path("/voice/routes/inbound/view/"+d.id+"/applications")}).error(function(a){i.show(c.instant(a.message),"danger")})},a.deleteItem=h.confirm["delete"](function(d){b["delete"]("/api/voice/extensions/"+d).success(function(){a.getRouteApplications(),i.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){i.show(c.instant(a.message),"danger")})}),a.goNext=function(){g.wizard().next()},a.previous=function(){g.wizard().previous()},a.formValidation=function(a){return a},a.$on("destroy",function(){e.unsyncUpdates("voice_extension")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.inbound.view",{url:"/view/:id",templateUrl:"app/voice/route/inbound/view/view.html",controller:"VoiceRouteInboundViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.routes.inbound.view.settings",{url:"/settings",templateUrl:"app/voice/route/inbound/view/view.settings.html"}).state("main.voice.routes.inbound.view.applications",{url:"/applications",templateUrl:"app/voice/route/inbound/view/view.applications.html",cache:!1}).state("main.voice.routes.inbound.view.application",{url:"/application",templateUrl:"app/voice/route/inbound/view/view.application.html",authenticate:!0}).state("main.voice.routes.inbound.view.applications.settings",{url:"/settings/:appId",templateUrl:"app/voice/route/inbound/view/view.applicationSettings.html",authenticate:!0,controller:"VoiceRouteInboundViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInboundWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.forms={route:void 0},a.item={type:"inbound",appdata:"Inbound Call",context:"from-voip-provider"},a.next=function(){b.post("/api/voice/extensions/validate/",a.item).success(function(a){console.log(a),a.length?e.show(g.instant("MESSAGE_EXIST_ROUTE"),"danger"):c.wizard().next()}).error(function(a){e.show(g.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/voice/extensions/",a.item).success(function(a){d.path("/voice/routes/inbound/view/"+a.id+"/applications")}).error(function(a){e.show(g.instant(a.message),"danger")})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){e.show(g.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.inbound.wizard",{url:"/wizard",templateUrl:"app/voice/route/inbound/wizard/wizard.html",controller:"VoiceRouteInboundWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.internal",{url:"/internal",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInternalListCtrl",["$scope","$http","socket","$translate","$rootScope","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={routesByPage:{name:"10",value:10}},a.routesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.routes={checked:[]},a.check=function(b){b?a.routes.checked=angular.copy(_.pluck(a.displayedRoutes,"id")):a.routes.checked=[]},a.getRoutes=function(b){return _.map(a.displayedRoutes,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("voice_extension"),b.url="/api/voice/extensions/route/internal",h.getPage(b).then(function(c){a.displayedRoutes=c.rows,b.pagination.numberOfPages=c.total_pages,e.updateTableConfig(a.routesByPage,a.displayedRoutes.length),e.updateTableConfig(a.conf.routesByPage,a.displayedRoutes.length)}),c.socket.on("voice_extension:save",function(c){"internal"===c.type&&a.initList(b)}),c.socket.on("voice_extension:remove",function(c){"internal"===c.type&&(a.routes.checked=_.without(a.routes.checked,c.id),a.initList(b))})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/voice/extensions/"+a).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/voice/extensions/",{params:{id:a.routes.checked}}).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(d.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.internal.list",{url:"/list",templateUrl:"app/voice/route/internal/list/list.html",controller:"VoiceRouteInternalListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInternalViewCtrl",["$scope","$http","$translate","$stateParams","socket","$location","WizardHandler","Modal","xAlert","application","interval",function(a,b,c,d,e,f,g,h,i,j,k){a.$translate=c,a.$application=j.application,a.$interval=k.interval,a.initApplication=function(){a.forms={settings:void 0,interval:void 0},a.application={VoiceExtensionId:d.id,type:"internal"},a.interval={intType:"always",t_from:moment(new Date),t_to:moment(new Date),wd_from:"always",wd_to:"always",md_from:"always",md_to:"always",m_from:"always",m_to:"always",alwaysTime:!0},a.main={app:""}},a.joinInterval=function(a){console.log(a);var b,c,d,e;return b=a.t_from&&a.t_to&&!a.alwaysTime?moment(a.t_from).format("HH:mm")+"-"+moment(a.t_to).format("HH:mm"):"*",a.wd_from&&"always"!==a.wd_from?(c=a.wd_from.toLowerCase(),a.wd_to&&"always"!==a.wd_to&&(c+="-"+a.wd_to.toLowerCase())):c="*",a.md_from&&"always"!==a.md_from?(d=a.md_from,a.md_to&&"always"!==a.md_to&&(d+="-"+a.md_to)):d="*",a.m_from&&"always"!==a.m_from?(e=a.m_from.toLowerCase(),a.m_to&&"always"!==a.m_to&&(e+="-"+a.m_to.toLowerCase())):e="*",b+","+c+","+d+","+e},a.$watch("main.app",function(c){if(c){var e,f;switch(d.appId||(a.application={VoiceExtensionId:d.id,type:"internal",interval:a.application.interval}),c){case"Queue":e="api/voice/queues",f="/api/uploads";break;case"Playback":e="/api/uploads";break;case"AGI":e="/api/square/projects";break;case"Goto":e="/api/voice/contexts";break;default:e=null,f=null}e&&b.get(e).success(function(b){a.items="Playback"!==c?b.rows:b}),f&&b.get(f).success(function(b){a.items2=b})}},!0),a.getIntervals=function(){b.get("/api/intervals").success(function(b){a.Intervals=b.rows,e.syncUpdates("interval",a.Intervals)}).error(function(a){i.show(c.instant(a.message),"danger")})},a.getRouteApplications=function(){b.get("/api/voice/extensions/"+d.id+"/applications").success(function(b){a.routeApplications=b,e.unsyncUpdates("voice_extension"),e.socket.on("voice_extension:remove",function(b){b.where.appGroup&&_.remove(a.routeApplications,function(a){return b.where.appGroup==a.appGroup})}),e.socket.on("voice_extension:save",function(b){if(b.VoiceExtensionId===d.id&&b.isApp){var c=_.find(a.routeApplications,{id:b.id});c||a.routeApplications.push(b)}})})},a.sortableOptions={stop:function(){b.post("api/voice/extensions/"+d.id+"/applications",{applications:_.pluck(a.routeApplications,"appGroup")}).success(function(b){a.getRouteApplications()}).error(function(a){console.error(a)})},"ui-floating":!0,axis:"y"},a.getRoute=function(){b.get("/api/voice/extensions/"+d.id).success(function(b){a.route=b,e.socket.on("voice_extension:update",function(b){b.id==d.id&&(a.route=b)})}).error(function(a){console.error(a),f.path("/voice/routes/internal/list")})},a.getApplication=function(){b.get("/api/voice/extensions/applications/"+d.appId).success(function(b){var c=_.filter(a.applications,function(a){return a.value===b.app});if(c.length>0&&!b.customApp?a.main.app=b.app:a.main.app="custom",a.application=b,a.interval.t_from=moment(new Date),a.interval.t_to=moment(new Date),"Queue"===b.app&&(a.application.app_options=b.app_options?b.app_options.split(","):[]),a.interval.intType=b.IntervalId?"list":"custom",a.interval.IntervalId=b.IntervalId,!b.IntervalId){var d,e=b.interval?b.interval.split(","):["*","*","*","*"];e.forEach(function(b,c){switch(c){case 0:"*"!==b?(d=b.split("-"),a.interval.t_from=moment(d[0],"HH:mm"),a.interval.t_to=moment(d[1],"HH:mm"),a.interval.alwaysTime=!1):(a.interval.t_from=moment(new Date),a.interval.t_to=moment(new Date),a.interval.alwaysTime=!0);break;case 1:"*"!==b?(d=b.split("-"),a.interval.wd_from=_.capitalize(d[0]),a.interval.wd_to=d[1]?_.capitalize(d[1]):"always"):(a.interval.wd_from="always",a.interval.wd_to="always");break;case 2:"*"!==b?(d=b.split("-"),a.interval.md_from=d[0],a.interval.md_to=d[1]?d[1]:"always"):(a.interval.md_from="always",a.interval.md_to="always");break;case 3:"*"!==b?(d=b.split("-"),a.interval.m_from=_.capitalize(d[0]),a.interval.m_to=d[1]?_.capitalize(d[1]):"always"):(a.interval.m_from="always",a.interval.m_to="always")}})}}).error(function(a){f.path("/voice/routes/internal/view/"+d.id+"/applications")})},a.updateRoute=function(){var e=angular.copy(a.route);b.put("/api/voice/extensions/"+d.id,e).success(function(){i.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){i.show(c.instant(b.message),"danger"),a.route=e})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,e.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){i.show(c.instant(a.message),"danger")})},a.createItem=function(){switch(a.application.app=a.main.app,a.application.exten=a.route.exten,a.application.context=a.route.context,a.application.app_options&&"Queue"===a.application.app&&(a.application.app_options=a.application.app_options.join(",")),a.interval.intType){case"list":a.application.IntervalId=a.interval.IntervalId,a.application.interval=_.result(_.find(a.Intervals,{id:a.interval.IntervalId}),"name");break;case"custom":a.application.IntervalId=null,a.application.interval=a.joinInterval(a.interval);break;case"always":a.application.IntervalId=null,a.application.interval="*,*,*,*"}b.post("/api/voice/extensions/",a.application).success(function(){f.path("/voice/routes/internal/view/"+d.id+"/applications")}).error(function(a){i.show(c.instant(a.message),"danger")})},a.updateItem=function(){switch(a.application.app_options&&"Queue"===a.application.app&&(a.application.app_options=a.application.app_options.join(",")),a.interval.intType){case"list":a.application.IntervalId=a.interval.IntervalId,a.application.interval=_.result(_.find(a.Intervals,{id:a.interval.IntervalId}),"name");break;case"custom":a.application.IntervalId=null,a.application.interval=a.joinInterval(a.interval);break;case"always":a.application.IntervalId=null,a.application.interval="*,*,*,*"}b.put("/api/voice/extensions/applications/"+d.appId,a.application).success(function(){i.show(c.instant("MESSAGE_WELL_DONE")+"!","success"),f.path("/voice/routes/internal/view/"+d.id+"/applications")}).error(function(a){i.show(c.instant(a.message),"danger")})},a.deleteItem=h.confirm["delete"](function(d){b["delete"]("/api/voice/extensions/"+d).success(function(b){a.getRouteApplications(),i.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){i.show(c.instant(a.message),"danger")})}),a.goNext=function(){g.wizard().next()},a.previous=function(){g.wizard().previous()},a.formValidation=function(a){return a},a.$on("destroy",function(){e.unsyncUpdates("voice_extension")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.internal.view",{url:"/view/:id",templateUrl:"app/voice/route/internal/view/view.html",controller:"VoiceRouteInternalViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.routes.internal.view.settings",{url:"/settings",templateUrl:"app/voice/route/internal/view/view.settings.html"}).state("main.voice.routes.internal.view.applications",{url:"/applications",templateUrl:"app/voice/route/internal/view/view.applications.html",cache:!1}).state("main.voice.routes.internal.view.application",{url:"/application",templateUrl:"app/voice/route/internal/view/view.application.html",authenticate:!0}).state("main.voice.routes.internal.view.applications.settings",{url:"/settings/:appId",templateUrl:"app/voice/route/internal/view/view.applicationSettings.html",authenticate:!0,controller:"VoiceRouteInternalViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInternalWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.forms={route:void 0},a.item={type:"internal",appdata:"Iternal Call",context:"from-sip"},a.next=function(){b.post("/api/voice/extensions/validate/",a.item).success(function(a){console.log(a),a.length?e.show(g.instant("MESSAGE_EXIST_ROUTE"),"danger"):c.wizard().next()}).error(function(a){e.show(g.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/voice/extensions/",a.item).success(function(a){d.path("/voice/routes/internal/view/"+a.id+"/applications")}).error(function(a){e.show(g.instant(a.message),"danger")})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){e.show(g.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.internal.wizard",{url:"/wizard",templateUrl:"app/voice/route/internal/wizard/wizard.html",controller:"VoiceRouteInternalWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteOutboundListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={routesByPage:{name:"10",value:10}},a.routesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.routes={checked:[]},a.check=function(b){b?a.routes.checked=angular.copy(_.pluck(a.displayedRoutes,"id")):a.routes.checked=[]},a.getRoutes=function(b){return _.map(a.displayedRoutes,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("voice_extension"),b.url="/api/voice/extensions/route/outbound",h.getPage(b).then(function(c){a.displayedRoutes=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.routesByPage,a.displayedRoutes.length),d.updateTableConfig(a.conf.routesByPage,a.displayedRoutes.length)}),c.socket.on("voice_extension:save",function(c){"outbound"===c.type&&a.initList(b)}),c.socket.on("voice_extension:remove",function(c){"outbound"===c.type&&(a.routes.checked=_.without(a.routes.checked,c.id),a.initList(b))})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/voice/extensions/"+a).success(function(){f(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/voice/extensions/",{params:{id:a.routes.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(e.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.outbound.list",{url:"/list",templateUrl:"app/voice/route/outbound/list/list.html",controller:"VoiceRouteOutboundListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.outbound",{url:"/outbound",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteOutboundViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$location","WizardHandler","Modal","application","interval",function(a,b,c,d,e,f,g,h,i,j,k){a.$translate=d,a.$application=j.application,a.$interval=k.interval,a.initApplication=function(){a.forms={info:void 0,interval:void 0},a.application={VoiceExtensionId:e.id,type:"outbound"},a.interval={intType:"always",t_from:moment(new Date),t_to:moment(new Date),wd_from:"always",wd_to:"always",md_from:"always",md_to:"always",m_from:"always",m_to:"always",alwaysTime:!0},a.main={app:""},a.applications=[{name:"Dial",value:"Dial"},{name:"Custom",value:"custom"}]},a.joinInterval=function(a){console.log(a);var b,c,d,e;return b=a.t_from&&a.t_to&&!a.alwaysTime?moment(a.t_from).format("HH:mm")+"-"+moment(a.t_to).format("HH:mm"):"*",a.wd_from&&"always"!==a.wd_from?(c=a.wd_from.toLowerCase(),a.wd_to&&"always"!==a.wd_to&&(c+="-"+a.wd_to.toLowerCase())):c="*",a.md_from&&"always"!==a.md_from?(d=a.md_from,a.md_to&&"always"!==a.md_to&&(d+="-"+a.md_to)):d="*",a.m_from&&"always"!==a.m_from?(e=a.m_from.toLowerCase(),a.m_to&&"always"!==a.m_to&&(e+="-"+a.m_to.toLowerCase())):e="*",b+","+c+","+d+","+e},a.$watch("main.app",function(c){if(c){var d,f;switch(e.appId||(a.application={VoiceExtensionId:e.id,type:"outbound",interval:a.application.interval}),c){case"Dial":d="api/trunks",f="/api/voice/contexts";break;default:d=null,f=null}d&&b.get(d).success(function(b){a.items="Dial"===c?b.rows:b}),f&&b.get(f).success(function(b){a.items2="Dial"===c?b.rows:b})}},!0),a.$watch("application.TrunkId",function(b){b&&(a.application.trunk=_.result(_.find(a.items,{id:b}),"name"))},!0),a.getIntervals=function(){b.get("/api/intervals").success(function(b){a.Intervals=b.rows,f.syncUpdates("interval",a.Intervals)}).error(function(a){c.show(d.instant(a.message),"danger")})},a.getRouteApplications=function(){b.get("/api/voice/extensions/"+e.id+"/applications").success(function(b){a.routeApplications=b,f.unsyncUpdates("voice_extension"),f.socket.on("voice_extension:remove",function(b){b.where.appGroup&&_.remove(a.routeApplications,function(a){return b.where.appGroup==a.appGroup})}),f.socket.on("voice_extension:save",function(b){if(b.VoiceExtensionId===e.id&&b.isApp){var c=_.find(a.routeApplications,{id:b.id});c||a.routeApplications.push(b);
-}})})},a.sortableOptions={stop:function(){b.post("api/voice/extensions/"+e.id+"/applications",{applications:_.pluck(a.routeApplications,"appGroup")}).success(function(){a.getRouteApplications()}).error(function(a){console.error(a)})},"ui-floating":!0,axis:"y"},a.getRoute=function(){b.get("/api/voice/extensions/"+e.id).success(function(b){a.route=b,f.socket.on("voice_extension:update",function(b){b.id==e.id&&(a.route=b)})}).error(function(a){g.path("/voice/routes/outbound/list")})},a.getApplication=function(){b.get("/api/voice/extensions/applications/"+e.appId).success(function(b){var c=_.filter(a.applications,function(a){return a.value===b.app});if(c.length>0&&!b.customApp?a.main.app=b.app:a.main.app="custom",a.application=b,a.interval.intType=b.IntervalId?"list":"custom",a.interval.IntervalId=b.IntervalId,!b.IntervalId){var d,e=b.interval?b.interval.split(","):["*","*","*","*"];e.forEach(function(b,c){switch(c){case 0:"*"!==b?(d=b.split("-"),a.interval.t_from=moment(d[0],"HH:mm"),a.interval.t_to=moment(d[1],"HH:mm"),a.interval.alwaysTime=!1):(a.interval.t_from=moment(new Date),a.interval.t_to=moment(new Date),a.interval.alwaysTime=!0);break;case 1:"*"!==b?(d=b.split("-"),a.interval.wd_from=_.capitalize(d[0]),a.interval.wd_to=d[1]?_.capitalize(d[1]):"always"):(a.interval.wd_from="always",a.interval.wd_to="always");break;case 2:"*"!==b?(d=b.split("-"),a.interval.md_from=d[0],a.interval.md_to=d[1]?d[1]:"always"):(a.interval.md_from="always",a.interval.md_to="always");break;case 3:"*"!==b?(d=b.split("-"),a.interval.m_from=_.capitalize(d[0]),a.interval.m_to=d[1]?_.capitalize(d[1]):"always"):(a.interval.m_from="always",a.interval.m_to="always")}})}}).error(function(a){console.error(a),g.path("/voice/routes/outbound/view/"+e.id+"/routes")})},a.updateRoute=function(){var f=angular.copy(a.route);b.put("/api/voice/extensions/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.route=f})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){c.show(d.instant(a.message),"danger")})},a.createItem=function(){switch(a.application.app=a.main.app,a.application.exten=a.route.exten,a.application.context=a.route.context,a.interval.intType){case"list":a.application.IntervalId=a.interval.IntervalId,a.application.interval=_.result(_.find(a.Intervals,{id:a.interval.IntervalId}),"name");break;case"custom":a.application.IntervalId=null,a.application.interval=a.joinInterval(a.interval);break;case"always":a.application.IntervalId=null,a.application.interval="*,*,*,*"}b.post("/api/voice/extensions/",a.application).success(function(){g.path("/voice/routes/outbound/view/"+e.id+"/routes")}).error(function(a){c.show(d.instant(a.message),"danger")})},a.updateItem=function(){switch(a.interval.intType){case"list":a.application.IntervalId=a.interval.IntervalId,a.application.interval=_.result(_.find(a.Intervals,{id:a.interval.IntervalId}),"name");break;case"custom":a.application.IntervalId=null,a.application.interval=a.joinInterval(a.interval);break;case"always":a.application.IntervalId=null,a.application.interval="*,*,*,*"}b.put("/api/voice/extensions/applications/"+e.appId,a.application).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),g.path("/voice/routes/outbound/view/"+e.id+"/routes")}).error(function(a){c.show(d.instant(a.message),"danger")})},a.deleteItem=i.confirm["delete"](function(e){b["delete"]("/api/voice/extensions/"+e).success(function(b){a.getRouteApplications(),c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){c.show(d.instant(a.message),"danger")})}),a.goNext=function(){h.wizard().next()},a.previous=function(){h.wizard().previous()},a.formValidation=function(a){return a},a.$on("destroy",function(){f.unsyncUpdates("voice_extension")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.outbound.view",{url:"/view/:id",templateUrl:"app/voice/route/outbound/view/view.html",controller:"VoiceRouteOutboundViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.routes.outbound.view.settings",{url:"/settings",templateUrl:"app/voice/route/outbound/view/view.settings.html"}).state("main.voice.routes.outbound.view.routes",{url:"/routes",templateUrl:"app/voice/route/outbound/view/view.routes.html",cache:!1}).state("main.voice.routes.outbound.view.route",{url:"/route",templateUrl:"app/voice/route/outbound/view/view.route.html",authenticate:!0}).state("main.voice.routes.outbound.view.routes.settings",{url:"/settings/:appId",templateUrl:"app/voice/route/outbound/view/view.routeSettings.html",authenticate:!0,controller:"VoiceRouteOutboundViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteOutboundWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.forms={route:void 0},a.item={type:"outbound",appdata:"Outbound Call",context:"from-sip"},a.next=function(){b.post("/api/voice/extensions/validate/",a.item).success(function(a){console.log(a),a.length?e.show(g.instant("MESSAGE_EXIST_ROUTE"),"danger"):c.wizard().next()}).error(function(a){e.show(g.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/voice/extensions/",a.item).success(function(a){d.path("/voice/routes/outbound/view/"+a.id+"/routes")}).error(function(a){e.show(g.instant(a.message),"danger")})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){e.show(g.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.outbound.wizard",{url:"/wizard",templateUrl:"app/voice/route/outbound/wizard/wizard.html",controller:"VoiceRouteOutboundWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes",{url:"/routes",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice",{url:"/voice",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceVoicemailListCtrl",["$scope","$http","$translate","$rootScope","xAlert","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={voicemailsByPage:{name:"10",value:10},labels:["mailbox","fullname","email"]},a.voicemailsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.voicemails={checked:[]},a.check=function(b,c){c?a.voicemails.checked=angular.copy(_.pluck(a.displayedVoicemails,"uniqueid")):a.voicemails.checked=[]},a.getVoicemails=function(b){return _.map(a.displayedVoicemails,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("voice_voicemail"),b.url="/api/voice/voicemails",h.getPage(b).then(function(c){a.displayedVoicemails=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.voicemailsByPage,a.displayedVoicemails.length),d.updateTableConfig(a.conf.voicemailsByPage,a.displayedVoicemails.length)}),f.socket.on("voice_voicemail:save",function(){a.initList(b)}),f.socket.on("voice_voicemail:remove",function(c){a.voicemails.checked=_.without(a.voicemails.checked,c.uniqueid),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/voice/voicemails/"+a).success(function(){e.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){e.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/voice/voicemails",{params:{uniqueid:a.voicemails.checked}}).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(c.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.voicemails.list",{url:"/list",templateUrl:"app/voice/voicemail/list/list.html",controller:"VoiceVoicemailListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceVoicemailViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$sce","Modal","$location",function(a,b,c,d,e,f,g,h,i){a.getVoicemail=function(){b.get("/api/voice/voicemails/"+e.uniqueid).success(function(b){delete b.password,delete b.stamp,a.voicemail=b}).error(function(a){console.error(a),i.path("/voice/voicemails/list")})},a.updateVoiceVoicemail=function(){var f=angular.copy(a.voicemail);b.put("/api/voice/voicemails/"+e.uniqueid,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.voicemail=f})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){c.show(a.message,"danger")})},a.getMessages=function(){b.get("/api/voice/voicemails/"+e.uniqueid+"/messages/").success(function(b){a.voicemailMessages=b,f.syncUpdates("voice_voicemail_messages",a.voicemailMessages)}).error(function(a){c.show(a.message,"danger")})},a.encodeRecording=function(a){return g.trustAsResourceUrl("data:audio/ogg;base64,"+j(a.data))},a.returnMessageDate=function(a){return a.split("T")[0]},a.returnDuration=function(a){return 1e3*a},a.deleteItem=h.confirm["delete"](function(a){b["delete"]("/api/voice/voicemails/messages/"+a+"/delete").success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){console.log(a),c.show(a.message,"danger")})});var j=function(a){for(var b=new Uint8Array(a),c=b.byteLength,d="",e=0;c>e;e++)d+=String.fromCharCode(b[e]);return window.btoa(d)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.voicemails.view",{url:"/view/:uniqueid",templateUrl:"app/voice/voicemail/view/view.html",controller:"VoiceVoicemailViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.voicemails.view.settings",{url:"/settings",templateUrl:"app/voice/voicemail/view/view.settings.html"}).state("main.voice.voicemails.view.messages",{url:"/messages",templateUrl:"app/voice/voicemail/view/view.messages.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.voicemails",{url:"/voicemails",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceVoicemailWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.initWizard=function(){a.forms={},a.item={}},a.next=function(){b.post("/api/voice/voicemails/validate/",a.item).success(function(a){a.length?e.show(g.instant("MESSAGE_EXIST_MAILBOX"),"danger"):c.wizard().next()}).error(function(a){e.show(a.message,"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){a.item.customer_id=a.item.mailbox,b.post("/api/voice/voicemails/",a.item).success(function(){d.path("/voice/voicemails/list")}).error(function(a){e.show(a.message,"danger")})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.voicemails.wizard",{url:"/wizard",templateUrl:"app/voice/voicemail/wizard/wizard.html",controller:"VoiceVoicemailWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("YourdashboardListCreateModalCtrl",["$scope","$uibModalInstance",function(a,b){a.forms={dashboard:void 0},a.item={},a.ok=function(){a.item.model=JSON.stringify({title:a.item.name}),b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("YourdashboardListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource","$uibModal","$log",function(a,b,c,d,e,f,g,h,i,j){a.conf={dashboardsByPage:{name:"10",value:10}},a.dashboardsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.dashboards={checked:[]},a.check=function(b,c){c?a.dashboards.checked=angular.copy(_.pluck(a.displayedDashboards,"id")):a.dashboards.checked=[]},a.getDashboards=function(b){return _.map(a.displayedDashboards,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){b.url="/api/dashboards",h.getPage(b).then(function(c){a.displayedDashboards=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.dashboardsByPage,a.displayedDashboards.length),d.updateTableConfig(a.conf.dashboardsByPage,a.displayedDashboards.length)}),c.socket.on("dashboard:save",function(){a.initList(b)}),c.socket.on("dashboard:remove",function(c){a.dashboards.checked=_.without(a.dashboards.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/dashboards/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/dashboards",{params:{id:a.dashboards.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.create=function(){var a=i.open({animation:!0,templateUrl:"app/yourdashboard/list/create.modal.html",controller:"YourdashboardListCreateModalCtrl"});a.result.then(function(a){b.post("/api/dashboards",a).then(function(a){f.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.show(a.data.message,"danger")})},function(){j.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.yourdashboards.list",{url:"/list",templateUrl:"app/yourdashboard/list/list.html",controller:"YourdashboardListCtrl"})}]),angular.module("xCallyShuttleApp").controller("YourdashboardShowCtrl",["$scope","localStorageService","$http","xAlert","$translate","Auth","$stateParams","$location",function(a,b,c,d,e,f,g,h){a.Auth=f,a.dashboard={name:"dashboard",structure:"4-8",enableconfirmdelete:!0,editable:f.isAdmin()?!0:!1,maximizable:!0,collapsible:!0},a.getDashboard=function(){c.get("/api/dashboards/"+g.id).success(function(b){b.model=JSON.parse(b.model),a.dashboard=_.merge(a.dashboard,b)}).error(function(a){h.path("/yourdashboards/list")})};var i=function(b,f,h){var i=angular.copy(a.dashboard);i.name=a.dashboard.model.title,i.model=JSON.stringify(i.model),c.put("/api/dashboards/"+g.id,i).success(function(){d.show(e.instant("MESSAGE_DASHBOARD_SAVED")+"!","success")}).error(function(b){d.show(b.message,"danger"),i.model=JSON.parse(i.model),i.name="dashboard",a.dashboard=i})};a.$on("adfDashboardChanged",i),a.$on("destroy",function(){console.log("main dashboard")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.yourdashboards.show",{url:"/show/:id",templateUrl:"app/yourdashboard/show/show.html",controller:"YourdashboardShowCtrl"})}]),angular.module("xCallyShuttleApp").controller("YourdashboardViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.radioSwitch={isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.getDashboard=function(){b.get("/api/dashboards/"+e.id).success(function(b){delete b.model,a.dashboard=b}).error(function(a){f.path("/yourdashboards/list")})},a.updateDashboard=function(){var f=angular.copy(a.dashboard);b.put("/api/dashboards/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.dashboard=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.yourdashboards.view",{url:"/view/:id",templateUrl:"app/yourdashboard/view/view.html",controller:"YourdashboardViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.yourdashboards.view.settings",{url:"/settings",templateUrl:"app/yourdashboard/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.yourdashboards",{url:"/yourdashboards",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ZendeskListCtrl",["$scope","$http","$rootScope","xAlert","$translate","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={accountsByPage:{name:"10",value:10}},a.accountsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.accounts={checked:[]},a.check=function(b,c){c?a.accounts.checked=angular.copy(_.pluck(a.displayedZdAccounts,"id")):a.accounts.checked=[]},a.getAccounts=function(b){return _.map(a.displayedZdAccounts,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("zendesk_account"),b.url="/api/zendesk/accounts",h.getPage(b).then(function(d){a.displayedZdAccounts=d.rows,b.pagination.numberOfPages=d.total_pages,c.updateTableConfig(a.accountsByPage,a.displayedZdAccounts.length),c.updateTableConfig(a.conf.accountsByPage,a.displayedZdAccounts.length)}),f.socket.on("zendesk_account:save",function(){a.initList(b)}),f.socket.on("zendesk_account:remove",function(c){a.accounts.checked=_.without(a.accounts.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/zendesk/accounts/"+a).success(function(){d.show(e.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/zendesk/accounts",{params:{id:a.accounts.checked}}).success(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.checkAccount=function(a){b.get("/api/zendesk/accounts/"+a+"/check").then(function(){d.show(e.instant("MESSAGE_ACCOUNT_VERIFIED"),"success")})["catch"](function(){d.show(e.instant("MESSAGE_ACCOUNT_INVALID"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk.list",{url:"/list",templateUrl:"app/zendesk/list/list.html",controller:"ZendeskListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("ZendeskViewCtrl",["$scope","$http","$stateParams","$translate","$location","$filter","WizardHandler","socket","xAlert","Modal",function(a,b,c,d,e,f,g,h,i,j){a.$stateParams=c,a.config={autoHideScrollbar:!1,theme:"dark",advanced:{updateOnContentResize:!0},setHeight:500,scrollInertia:0},a.initConfiguration=function(){a.formsConfiguration={},a.configuration={}},a.goNext=function(){g.wizard().next()},a.formValidation=function(a){return a},a.$on("$destroy",function(){h.unsyncUpdates("zendesk_configuration"),h.unsyncUpdates("zendesk_field")}),a.initView=function(){b.get("/api/zendesk/accounts/"+c.id).success(function(b){a.account=b}).error(function(a){i.show(a.message,"danger")})},a.updateItem=function(){b.put("/api/zendesk/accounts/"+c.id,a.account).success(function(){i.show(d.instant("MESSAGE_WELL_DONE")+".","success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.getConfigurations=function(){b.get("/api/zendesk/configurations",{params:{AccountId:c.id}}).success(function(b){a.configurations=b,h.socket.on("zendesk_configuration:remove",function(b){_.remove(a.configurations,{id:b.id})})}).error(function(a){i.show(a.message,"danger")})},a.deleteConfiguration=j.confirm["delete"](function(a){b["delete"]("api/zendesk/configurations/"+a).success(function(){i.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.createConfiguration=function(){a.configuration.AccountId=c.id,b.post("api/zendesk/configurations",a.configuration).success(function(a){e.path("zendesk/view/"+c.id+"/configurations/settings/"+a.id)}).error(function(){i.show("Something went wrong!","danger")})},a.fieldType=["string","variable"],a.descFieldType=["string","key_value"],a.getFields=function(){b.get("/api/zendesk/accounts/"+c.id+"/fields").success(function(b){a.accountFields=f("zendesk")(b)}).error(function(a){i.show(a.message,"danger")})},a.getConfiguration=function(){b.get("/api/zendesk/configurations/"+c.configurationId).success(function(b){a.configurationName=b.name,a.subjectConfig=b.Subject,a.descriptionConfig=b.Description,a.fieldConfig=b.Field,h.socket.on("zendesk_field:remove",function(b){_.remove(a.subjectConfig,{id:b.id}),_.remove(a.descriptionConfig,{id:b.id}),_.remove(a.fieldConfig,{id:b.id})})}).error(function(a){i.show(a.message,"danger")})},a.getVariables=function(){b.get("/api/variables").success(function(b){a.variables=b.rows}).error(function(a){i.show(a.message,"danger")})},a.removeItem=function(a){b["delete"]("api/zendesk/fields/"+a.id).success(function(){i.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addItemSubject=function(){var d={type:"string",content:""};b.post("/api/zendesk/configurations/"+c.configurationId+"/subject",d).success(function(b){a.subjectConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.addItemDescription=function(){var d={type:"string",content:""};b.post("/api/zendesk/configurations/"+c.configurationId+"/description",d).success(function(b){a.descriptionConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.addItemDescription=function(){var d={type:"string",content:""};b.post("/api/zendesk/configurations/"+c.configurationId+"/description",d).success(function(b){a.descriptionConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.addItemField=function(){var d={content:""};b.post("/api/zendesk/configurations/"+c.configurationId+"/field",d).success(function(b){a.fieldConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.updateField=function(a){b.put("/api/zendesk/fields/"+a.id,a).success(function(){}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.changeType=function(b){"variable"===b.type?b.content="":"string"===b.type&&(b.VariableId=null),a.updateField(b)},a.changeDescType=function(b){"key_value"===b.type?(b.content="","string"===b.keyType?b.VariableId=null:"variable"===b.keyType&&(b.keyContent="")):"string"===b.type&&(b.VariableId=null,b.key="",b.keyContent=""),a.updateField(b)},a.changeFieldType=function(b){b.content="",a.updateField(b)},a.getSystemFieldOptions=function(b){if(b){var c=_.find(a.accountFields,"id",b);return c?c.system_field_options?c.system_field_options:null:void 0}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk.view",{url:"/view/:id",templateUrl:"app/zendesk/view/view.html",controller:"ZendeskViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.zendesk.view.account",{url:"/account",templateUrl:"app/zendesk/view/view.account.html"}).state("main.zendesk.view.configurations",{url:"/configurations",templateUrl:"app/zendesk/view/view.configurations.html"}).state("main.zendesk.view.configurations.settings",{url:"/settings/:configurationId",templateUrl:"app/zendesk/view/view.configurationSettings.html",controller:"ZendeskViewCtrl"}).state("main.zendesk.view.configuration",{url:"/configuration",templateUrl:"app/zendesk/view/view.configuration.html"})}]),angular.module("xCallyShuttleApp").controller("ZendeskWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler",function(a,b,c,d,e,f){a.translate=d,a.initWizard=function(){a.$translate=d,a.forms={},a.item={},a.item.authType="password"},a.next=function(){f.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("api/zendesk/accounts",a.item).success(function(){e.show(d.instant("MESSAGE_WELL_DONE")+".","success"),c.path("/zendesk/list")}).error(function(){e.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk.wizard",{url:"/wizard",templateUrl:"app/zendesk/wizard/wizard.html",controller:"ZendeskWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk",{url:"/zendesk",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").service("application",function(){var a={applications:[{name:"Queue",value:"Queue"},{name:"Playback",value:"Playback"},{name:"Dial",value:"Dial"},{name:"Cally-Square IVR",value:"AGI"},{name:"GoTo",value:"Goto"},{name:"Hangup",value:"Hangup"},{name:"Set",value:"Set"},{name:"Custom",value:"custom"},{name:"VoiceMail",value:"Voicemail"}],queueOptions:[{value:"C",name:"APPLICATION_QUEUE_OPTION_C"},{value:"c",name:"APPLICATION_QUEUE_OPTION_c"},{value:"d",name:"APPLICATION_QUEUE_OPTION_d"},{value:"F",name:"APPLICATION_QUEUE_OPTION_F"},{value:"h",name:"APPLICATION_QUEUE_OPTION_h"},{value:"H",name:"APPLICATION_QUEUE_OPTION_H"},{value:"n",name:"APPLICATION_QUEUE_OPTION_n"},{value:"i",name:"APPLICATION_QUEUE_OPTION_i"},{value:"I",name:"APPLICATION_QUEUE_OPTION_I"},{value:"r",name:"APPLICATION_QUEUE_OPTION_r"},{value:"R",name:"APPLICATION_QUEUE_OPTION_R"},{value:"t",name:"APPLICATION_QUEUE_OPTION_t"},{value:"T",name:"APPLICATION_QUEUE_OPTION_T"},{value:"w",name:"APPLICATION_QUEUE_OPTION_w"},{value:"W",name:"APPLICATION_QUEUE_OPTION_W"},{value:"k",name:"APPLICATION_QUEUE_OPTION_k"},{value:"K",name:"APPLICATION_QUEUE_OPTION_K"},{value:"x",name:"APPLICATION_QUEUE_OPTION_x"},{value:"X",name:"APPLICATION_QUEUE_OPTION_X"}],audioOptions:[{value:"skip",name:"APPLICATION_PLAYBACK_OPTION_SKIP"},{value:"noanswer",name:"APPLICATION_PLAYBACK_OPTION_NOANSWER"},{value:"j",name:"APPLICATION_PLAYBACK_OPTION_J"},{value:"say",name:"APPLICATION_PLAYBACK_OPTION_SAY"}],hangupCauses:[{value:"",name:"--"},{value:"1",name:"APPLICATION_HANGUP_CAUSE_1"},{value:"16",name:"APPLICATION_HANGUP_CAUSE_16"},{value:"17",name:"APPLICATION_HANGUP_CAUSE_17"},{value:"18",name:"APPLICATION_HANGUP_CAUSE_18"},{value:"21",name:"APPLICATION_HANGUP_CAUSE_21"},{value:"22",name:"APPLICATION_HANGUP_CAUSE_22"},{value:"27",name:"APPLICATION_HANGUP_CAUSE_27"},{value:"38",name:"APPLICATION_HANGUP_CAUSE_38"},{value:"41",name:"APPLICATION_HANGUP_CAUSE_41"}],intTypes:[{value:"always",name:"APPLICATION_ALWAYS"},{value:"custom",name:"APPLICATION_CUSTOM"},{value:"list",name:"APPLICATION_FROM_LIST"}]};return{application:a}}),angular.module("xCallyShuttleApp").factory("Auth",["$location","$rootScope","$http","User","$cookieStore","$q",function(a,b,c,d,e,f){var g={};return e.get("token")&&(g=d.me()),{login:function(a,h){var i=h||angular.noop,j=f.defer();return c.post("/auth/local",{name:a.name,password:a.password,remember:a.remember}).success(function(a){return e.put("token",a.token),e.put("userId",a.userId),g=d.me({},function(){b.$broadcast("login")}),j.resolve(a),i()}).error(function(a){return this.logout(),j.reject(a),i(a)}.bind(this)),j.promise},loginWithToken:function(a,b,c){e.put("token",a),e.put("userId",b),e.put("name",c),g=d.me()},logout:function(){c.put("/api/users/"+g.id,{online:!1}).success(function(){e.remove("token"),e.remove("userId"),g={},b.$broadcast("logout")}).error(function(a){return a})},createUser:function(a,b){var c=b||angular.noop;return d.save(a,function(b){return e.put("token",b.token),g=d.me(),c(a)},function(a){return this.logout(),c(a)}.bind(this)).$promise},changePassword:function(a,b,c){var e=c||angular.noop;return d.changePassword({id:g.id},{oldPassword:a,newPassword:b},function(a){return e(null,a)},function(a){return e(a)}).$promise},getCurrentUser:function(){return g},isLoggedIn:function(){return g.hasOwnProperty("role")},isLoggedInAsync:function(a){g.hasOwnProperty("$promise")?g.$promise.then(function(){a(!0)})["catch"](function(){a(!1)}):a(g.hasOwnProperty("role")?!0:!1)},isAdmin:function(){return"admin"===g.role},getRole:function(){return g.role},getToken:function(){return e.get("token")},getUserId:function(){return console.log(e.get("userId")),e.get("userId")},getName:function(){return e.get("name")}}}]),angular.module("xCallyShuttleApp").factory("User",["$resource",function(a){return a("/api/users/:id/:controller",{id:"@id"},{changePassword:{method:"PUT",params:{controller:"password"}},me:{method:"GET",params:{id:"me"}}})}]),angular.module("xCallyShuttleApp").service("automations",function(){var a={voice:{conditions:[],actions:[]},mail:{conditions:[{name:"APPLICATION_STATUS",value:"status",propertyField:"select",operators:"equals"},{name:"APPLICATION_HOURS_SINCE_CREATED",value:"createdAt",propertyField:"number",operators:"noequals"}],actions:[{name:"APPLICATION_STATUS",value:"status",propertyField:"select"}]},chat:{conditions:[],actions:[]},fax:{conditions:[{name:"APPLICATION_STATUS",value:"status",propertyField:"select",operators:"equals"},{name:"APPLICATION_HOURS_SINCE_CREATED",value:"createdAt",propertyField:"number",operators:"noequals"}],actions:[{name:"APPLICATION_STATUS",value:"status",propertyField:"select"}]}},b=["voice","mail","chat","fax"],c={equals:[{value:"=",name:"APPLICATION_EQUALS_TO"},{value:"<>",name:"APPLICATION_NOT_EQUALS_TO"}],all:[{value:"=",name:"APPLICATION_EQUALS_TO"},{value:"<>",name:"APPLICATION_NOT_EQUALS_TO"},{value:">=",name:"APPLICATION_GTE_TO"},{value:"<=",name:"APPLICATION_LTE_TO"},{value:">",name:"APPLICATION_GREATER_THAN"},{value:"<",name:"APPLICATION_LESS_THAN"}],noequals:[{value:">=",name:"APPLICATION_GTE_TO"},{value:"<=",name:"APPLICATION_LTE_TO"},{value:">",name:"APPLICATION_GREATER_THAN"},{value:"<",name:"APPLICATION_LESS_THAN"}]},d={voice:{},mail:{status:[{name:"APPLICATION_STATUS_NEW",value:"NEW"},{name:"APPLICATION_STATUS_OPEN",value:"OPEN"},{name:"APPLICATION_STATUS_PENDING",value:"PENDING"},{name:"APPLICATION_STATUS_CLOSED",value:"CLOSED"},{name:"APPLICATION_STATUS_SOLVED",value:"SOLVED"}]},chat:{},fax:{status:[{name:"APPLICATION_STATUS_NEW",value:"NEW"},{name:"APPLICATION_STATUS_OPEN",value:"OPEN"},{name:"APPLICATION_STATUS_PENDING",value:"PENDING"},{name:"APPLICATION_STATUS_CLOSED",value:"CLOSED"},{name:"APPLICATION_STATUS_SOLVED",value:"SOLVED"}]}};return{automations:a,properties:d,channels:b,operators:c}}),angular.module("xCallyShuttleApp").service("desk_com",function(){var a=[{id:"priority",label:"Priority",custom:!1,data:{choices:[1,2,3,4,5,6,7,8,9,10]}},{id:"status",label:"Status",custom:!1,data:{choices:["new","open","pending","resolved","closed"]}},{id:"type",label:"Type",custom:!1,data:{choices:["chat","twitter","email","qna","facebook","phone"]}}];return{fields:a}}),angular.module("xCallyShuttleApp").controller("FooterController",["$scope","$http",function(a,b){a.$on("$includeContentLoaded",function(){Layout.initFooter()}),a.initFooter=function(){
-b.get("/api/settings/info").success(function(b){a.info=b}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("HeaderController",["$scope","$rootScope","$location","$state","$http","$notification","Auth","xAlert","socket","ngAudio","settings","toastr","localStorageService",function(a,b,c,d,e,f,g,h,i,j,k,l,m){a.toggleQuickSidebar=function(){k.layout.pageQuickSidebarOpened=!k.layout.pageQuickSidebarOpened,k.layout.pageQuickSidebarOpened||m.remove("chatRoomId")},a.initHeader=function(){var c=j.load("api/xchatty/assets?resource=notification/xc_blubb.mp3"),d={};"agent"===g.getCurrentUser().role&&(i.socket.on("report_mail:save",function(a){c.play();var b=f("MAIL CHANNEL",{icon:"assets/images/media/channels/mail64.png",body:"NEW Incoming Mail Message!",delay:1e3*a.timeslot});b.$on("click",function(){e.put("/api/report/mails/"+a.id,{connect:!0}).success(function(){b.close(),h.show("Mail properly assigned","success")}).error(function(a){h.show(a.message,"danger")})})}),i.socket.on("report_chat:save",function(a){d[a.uniqueid]&&(d[a.uniqueid].close(),delete d[a.uniqueid]),c.play(),d[a.uniqueid]=f("CHAT CHANNEL",{icon:"assets/images/media/channels/chat64.png",body:"NEW Incoming Chat Visitor!",delay:1e3*a.timeslot}),d[a.uniqueid].$on("click",function(){e.put("/api/report/chats/"+a.id,{connect:!0}).success(function(){d[a.uniqueid].close(),h.show("Chat properly assigned","success"),b.$broadcast("chatMessageEvent",{type:"external",chatRoomId:a.chatroomid})}).error(function(a){"SequelizeUniqueConstraintError"===a.name?h.show("Chat has been already assigned!","danger"):h.show(a.message,"danger")})})}),i.socket.on("chat_message:save",function(a){var d=m.get("chatRoomId");if(!d||d!==a.ChatRoomId){c.play();var e=f(a.User.fullname,{icon:"assets/images/media/channels/chat64.png",body:a.body.length>35?a.body.substring(0,35)+"...":a.body,delay:1e4});e.$on("click",function(){b.$broadcast("chatMessageEvent",{chatRoomId:a.ChatRoomId})})}}),i.socket.on("user_has_chat_room:save",function(a){c.play();var d=f("Chat Group ",{icon:"assets/images/media/channels/chat64.png",body:"New Chat Group",delay:1e4});d.$on("click",function(){b.$broadcast("chatGroupEvent",a)})})),e({url:"/api/fax/user_has_queues",method:"GET",params:{UserId:g.getCurrentUser().id}}).success(function(b){a.faxQueues=_.pluck(b,"FaxQueueId"),a.faxQueues.forEach(function(a){i.socket.on("FAX:QUEUE:"+a,function(a,b){var c=f("FAX CHANNEL",{icon:"assets/images/media/channels/telephone124.png",body:"NEW Incoming Fax Message!",delay:1e3*a.timeout});c.$on("click",function(){e.put("/api/fax/rooms/"+a.roomId,{UserId:g.getCurrentUser().id}).success(function(){c.close(),b(g.getCurrentUser().id),l.success("Fax properly assigned","Success",{closeButton:!0,timeOut:5e3})}).error(function(){l.warning("Fax already assigned","Warning",{closeButton:!0,timeOut:5e3})})})})}),i.socket.on("FAX:AGENT:"+g.getCurrentUser().id,function(a,b){var c=f("FAX CHANNEL",{icon:"assets/images/media/channels/telephone124.png",body:"NEW Incoming Fax Message!",delay:1e3*a.timeout});c.$on("click",function(){e.put("/api/fax/rooms/"+a.roomId,{UserId:g.getCurrentUser().id}).success(function(){c.close(),b(g.getCurrentUser().id),l.success("Fax properly assigned","Success",{closeButton:!0,timeOut:5e3})}).error(function(){b(g.getCurrentUser().id),l.warning("Fax already assigned","Warning",{closeButton:!0,timeOut:5e3})})})})}).error(function(a){console.error(a)}),i.socket.on("user_has_fax_queue:save",function(b){b=_.map(b,function(a){return a.UserId=parseInt(a.UserId,10),a}),b=_.find(b,{UserId:g.getCurrentUser().id}),b&&-1===_.indexOf(a.faxQueues,b.FaxQueueId)&&(a.faxQueues.push(b.FaxQueueId),i.socket.on("FAX:QUEUE:"+b.FaxQueueId,function(a,b){var c=f("FAX CHANNEL",{icon:"assets/images/media/channels/telephone124.png",body:"NEW Incoming Fax Message!",delay:1e3*a.timeout});c.$on("click",function(){e.put("/api/fax/rooms/"+a.roomId,{UserId:g.getCurrentUser().id}).success(function(){c.close(),b(g.getCurrentUser().id),l.success("Fax properly assigned","Success",{closeButton:!0,timeOut:5e3})}).error(function(){b(g.getCurrentUser().id),l.warning("Fax already assigned","Warning",{closeButton:!0,timeOut:5e3})})})}))}),i.socket.on("user_has_fax_queue:remove",function(b){_.indexOf(b.where.UserId,g.getCurrentUser().id.toString())>=0&&_.indexOf(a.faxQueues,b.where.FaxQueueId)>=0&&(a.faxQueues=_.remove(a.faxQueues,b.where.FaxQueueId),i.socket.removeAllListeners("FAX:QUEUE:"+b.where.FaxQueueId))})},a.logout=function(){e.get("/auth/local/logout").success(function(){g.logout(),c.path("/login")}).error(function(a){console.error(a)})},a.isActive=function(a){return a===c.path()}}]),angular.module("xCallyShuttleApp").service("interval",function(){var a={months:[{value:"always",name:"APPLICATION_ALWAYS"},{value:"jan",name:"APPLICATION_JANUARY"},{value:"feb",name:"APPLICATION_FEBRUARY"},{value:"mar",name:"APPLICATION_MARCH"},{value:"apr",name:"APPLICATION_APRIL"},{value:"may",name:"APPLICATION_MAY"},{value:"jun",name:"APPLICATION_JUNE"},{value:"jul",name:"APPLICATION_JULY"},{value:"aug",name:"APPLICATION_AUGUST"},{value:"sep",name:"APPLICATION_SEPTEMBER"},{value:"oct",name:"APPLICATION_OCTOBER"},{value:"nov",name:"APPLICATION_NOVEMBER"},{value:"dec",name:"APPLICATION_DECEMBER"}],daysOfWeek:[{value:"always",name:"APPLICATION_ALWAYS"},{value:"mon",name:"APPLICATION_MONDAY"},{value:"tue",name:"APPLICATION_TUESDAY"},{value:"wed",name:"APPLICATION_WEDNESDAY"},{value:"thu",name:"APPLICATION_THURSDAY"},{value:"fri",name:"APPLICATION_FRIDAY"},{value:"sat",name:"APPLICATION_SATURDAY"},{value:"sun",name:"APPLICATION_SUNDAY"}],daysOfMonth:["always",1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]};return{interval:a}}),angular.module("xCallyShuttleApp").factory("Modal",["$rootScope","$uibModal",function(a,b){function c(c,d){console.log("openModal",d);var e=a.$new();return c=c||{},d=d||"modal-default",angular.extend(e,c),b.open({templateUrl:"components/modal/delete.html",windowClass:d,scope:e})}return{confirm:{"delete":function(a){return a=a||angular.noop,function(){console.log(Array.prototype.slice.call(arguments));var b,d=Array.prototype.slice.call(arguments),e=d.shift();b=c({modal:{dismissable:!0,title:"Confirm Delete",html:"<p>Are you sure you want to delete"+(e?"<strong> "+e+"</strong>":" selected items")+"?</p>",buttons:[{classes:"btn red",text:"Delete",click:function(a){b.close(a)}},{classes:"btn default",text:"Cancel",click:function(a){b.dismiss(a)}}]}},"over-topbar center"),b.result.then(function(b){a.apply(b,d)})}}}}}]),angular.module("xCallyShuttleApp").controller("QuickSidebarControllerAddModal",["$scope","$uibModalInstance","Agent","items",function(a,b,c,d){a.items=d,a.agents=c.get(function(b){a.agents=b,a.items.forEach(function(b){_.remove(a.agents.rows,{id:b.id})})}),a.selected={items:[]},a.modal={title:"APPLICATION_AGENTS_SELECTION"},a.ok=function(){b.close(_.union(_.pluck(a.selected.items,"id"),_.pluck(a.items,"id")))},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").controller("QuickSidebarControllerCloseModal",["$scope","$uibModalInstance",function(a,b){a.modal={title:"APPLICATION_CONFIRM_CLOSE",text:"MESSAGE_ARE_YOU_SURE_YOU_WANT_TO_CLOSE_THE_CHAT"},a.ok=function(){b.close()},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").controller("QuickSidebarController",["$scope","$rootScope","$window","$http","$uibModal","$log","$timeout","$interval","Auth","Agent","User","ChatRoom","ChatMessage","socket","settings","localStorageService","xAlert","$translate","QuickSidebarFactory",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){a.emojiMessage={},a.options=s.options,a.message={body:"",user:""};var t=a.currentUser=i.getCurrentUser();a.$on("$includeContentLoaded",function(){p.get("chatRoomId")&&l.get({id:p.get("chatRoomId")},u,v),p.get("currentTab")&&(a.currentTab=p.get("currentTab"))}),a.agents=j.get({page:0,per_page:1e3},function(){n.syncUpdates("agent",a.agents.rows)}),a.users=k.get({page:0,per_page:1e3},function(){n.syncUpdates("user",a.users.rows)}),a.currentTab=0,a.messagesTab=!1,a.chatRooms=l.me(function(b){a.chatRooms=b},function(a){console.error(a)}),n.socket.on("report_chat:assignment",function(a){a.agentid&&l.get({id:a.chatroomid},u,v)}),n.socket.on("chat_room:save",function(b){if(a.chatRoom&&a.chatRoom.id===b.id){_.merge(a.chatRoom,b);var c=_.find(a.chatRooms,{id:b.id});c&&_.merge(c,b)}}),n.socket.on("chat_message:save",function(b){a.chatRoom&&a.chatRoom.id===b.ChatRoomId&&(a.chatRoom.ChatMessages.push(b),angular.element("page-quick-sidebar-chat-user-messages").mCustomScrollbar("scrollTo","last"))}),n.socket.on("user_has_chat_room:save",function(b){var c=_.findIndex(a.chatRooms,{id:b.id});c>=0?a.chatRooms[c]=b:a.chatRooms.push(b)}),b.$on("chatMessageEvent",function(a,b){l.get({id:b.chatRoomId},u,v)}),b.$on("chatGroupEvent",function(b,c){a.currentTab=3,a.messagesTab=!0,o.layout.pageQuickSidebarOpened=!0,a.chatRoom=c}),a.goToTab=function(b){a.currentTab=b,a.messagesTab=!1,a.chatRoom=null,p.set("currentTab",a.currentTab),p.set("messagesTab",a.messagesTab),p.remove("chatRoomId")},a.goToMessage=function(a,b){a?l.users({users:[t.id,a]},u,v):l.get({id:b},u,v)},a.sendMessage=function(){a.message.body.trim().length&&m.save({ChatRoomId:a.chatRoom.id,body:a.message.body},function(){a.message.body=""},function(a){console.error(a)})},a.goBack=function(){a.messagesTab=!1,a.chatRoom=null,p.set("messagesTab",a.messagesTab),p.remove("chatRoomId")},a.closeChatRoom=function(a,b){var c=e.open({animation:!0,size:b,templateUrl:"components/quickSidebar/modal/close.html",controller:"QuickSidebarControllerCloseModal"});c.result.then(function(){l.update({id:a,status:"close"}).$promise.then(function(){q.show(r.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){q.show(a.data.message,"danger")})},function(){f.info("Modal dismissed at: "+new Date)})},a.addAgent=function(b,c){var g=e.open({animation:!0,size:c,templateUrl:"components/quickSidebar/modal/add.html",controller:"QuickSidebarControllerAddModal",resolve:{items:function(){return _.map(a.chatRoom.Users?a.chatRoom.Users:[],function(a){return{id:a.id,fullname:a.fullname}})}}});g.result.then(function(a){d.put("/api/chat/rooms/"+b+"/users",{users:a}).then(function(a){q.show(r.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){q.show(a.data.message,"danger")})},function(){f.info("Modal dismissed at: "+new Date)})};var u=function(b){switch(a.messagesTab=!0,o.layout.pageQuickSidebarOpened=!0,p.set("chatRoomId",b.id),p.set("messagesTab",a.messagesTab),a.chatRoom=b,b.type){case"internal":a.currentTab=0;break;case"external":a.currentTab=2,_.find(a.chatRooms,{id:b.id})||a.chatRooms.push(b)}b.Users.length>2&&(a.currentTab=3),g(function(){angular.element("page-quick-sidebar-chat-user-messages").mCustomScrollbar("scrollTo","last")},1500)},v=function(a){console.error(a)},w=function(){var b=angular.element(c),d=function(){return{h:b.height(),w:b.width()}};a.$watch(d,function(b){a.style={height:b.h-46-46-46+"px"},a.style2={height:b.h-46-46-46-180+"px"}},!0),b.bind("resize",function(){a.$apply()})};w(),a.$on("$destroy",function(){n.unsyncUpdates("agent"),n.unsyncUpdates("user")})}]),angular.module("xCallyShuttleApp").directive("resizeQuickSidebar",["$window",function(a){return function(b){var c=angular.element(a);b.getWindowDimensions=function(){return{h:c.height(),w:c.width()}},b.$watch(b.getWindowDimensions,function(a){b.style={height:a.h-46-46-46+"px"}},!0),c.bind("resize",function(){b.$apply()})}}]),angular.module("xCallyShuttleApp").factory("QuickSidebarFactory",function(){return{options:{link:!0,linkTarget:"_blank",pdf:{embed:!1},image:{embed:!0},audio:{embed:!0},code:{highlight:!0,lineNumbers:!1},basicVideo:!1,video:{embed:!1,width:null,height:null,ytTheme:"dark",details:!1,ytAuthKey:"_nkO9h1A7HlVyiUICO17oA"}}}}),angular.module("xCallyShuttleApp").filter("QuickSidebarFilterUsersGreaterThan",function(){return function(a,b){var c=[];return a.forEach(function(a){var d=0;a.ChatVisitor&&d++,d+=a.Users.length,d>b&&c.push(a)}),c}}).filter("QuickSidebarFilterUsersLowerThan",function(){return function(a,b){var c=[];return a.forEach(function(a){a.Users.length<b&&c.push(a)}),c}}),angular.module("xCallyShuttleApp").controller("SidebarController",["$scope","$rootScope","$resource","$location","Auth","$http","xAlert","$stateParams","socket",function(a,b,c,d,e,f,g,h,i){a.Auth=e,a.$stateParams=h,a.$on("$includeContentLoaded",function(){Metronic.init(),Layout.initSidebar()}),a.isAssociated=function(a){if(e.isAdmin())return!0;if(e.getCurrentUser().Modules)for(var b=0;b<e.getCurrentUser().Modules.length;b++)if(e.getCurrentUser().Modules[b].name===a)return!0;return!1},a.getSidebarDashboards=function(){f.get("/api/dashboards").then(function(b){a.dashboards=b.data.rows,i.syncUpdates("dashboard",a.dashboards)})["catch"](function(a){g.show("Error loading your dashboards","danger")})},a.getSidebarIntegrations=function(){f.get("/api/integrations").success(function(b){a.integrations=b,i.syncUpdates("integration",a.integrations)}).error(function(a){g.show(a.message,"danger")})},a.isActive=function(a){return a===d.path()},a.$on("destroy",function(){i.unsyncUpdates("dashboard"),i.unsyncUpdates("integration")})}]),angular.module("xCallyShuttleApp").factory("socket",["$rootScope","$window","socketFactory","Auth",function(a,b,c,d){var e=d.getCurrentUser(),f=io("",{query:"token="+d.getToken()+"&userId="+(e.id||d.getUserId())+"&name="+(e.name||d.getName())+"&role="+(e.role||"agent")+"&source=browser",path:"/socket.io-client"}),g=c({ioSocket:f});return a.$on("logout",function(){g&&(g.disconnect(!0),b.location.reload())}),{socket:g,syncUpdates:function(a,b,c){c=c||angular.noop,g.on(a+":save",function(a){var d=_.find(b,{id:a.id}),e=b.indexOf(d),f="created";d?(_.merge(b[e],a),f="updated"):b.unshift(a),c(f,a,b)}),g.on(a+":remove",function(a){var d="deleted";_.remove(b,{id:a.id}),c(d,a,b)})},unsyncUpdates:function(a){g.removeAllListeners(a+":save"),g.removeAllListeners(a+":remove")},syncUpdatesByAttributes:function(a,b,c,d){d=d||angular.noop,g.on(a+":save",function(a){var e=!0;if(_.forIn(b,function(b,c){return a[c]&&a[c]===b?!0:e=!1}),e){var f=_.find(c,{id:a.id}),g=c.indexOf(f),h="created";f?(_.merge(c[g],a),h="updated"):c.unshift(a),d(h,a,c)}}),g.on(a+":remove",function(a){var b="deleted";_.remove(c,{id:a.id}),d(b,a,c)})},syncMailMessageUpdates:function(a,b,c,d){d=d||angular.noop,g.on(a+":"+b+":save",function(a){var b=_.find(c,{id:a.id}),e=c.indexOf(b),f="created";b?(_.merge(c[e],a),f="updated"):c.unshift(a),d(f,a)}),g.on(a+":"+b+":remove",function(a){var b="deleted";_.remove(c,{id:a.id}),d(b,a,c)})},unsyncMailMessageUpdates:function(a,b){g.removeAllListeners(a+":"+b+":save"),g.removeAllListeners(a+":"+b+":remove")},syncFaxMessageUpdates:function(a,b,c,d){d=d||angular.noop,g.on(a+":"+b+":save",function(a){var b=_.find(c,{id:a.id}),e=c.indexOf(b),f="created";b?(_.merge(c[e],a),f="updated"):c.unshift(a),d(f,a)}),g.on(a+":"+b+":remove",function(a){var b="deleted";_.remove(c,{id:a.id}),d(b,a,c)})},unsyncFaxMessageUpdates:function(a,b){g.removeAllListeners(a+":"+b+":save"),g.removeAllListeners(a+":"+b+":remove")}}}]),angular.module("xCallyShuttleApp").service("triggers",function(){var a={voice:{conditions:[{name:"APPLICATION_QUEUE",value:"queue",propertyField:"select",operators:"equals"},{name:"APPLICATION_CALL_STATUS",value:"lastevent",propertyField:"select",operators:"equals"}],actions:[{name:"APPLICATION_CONTACT_MANAGER",value:"contactManager"},{name:"APPLICATION_INTEGRATIONS",value:"integration",propertyField:"select",subField:{propertyField:"select",value:"account",api:{url:void 0,parseUrl:"/api/%s/accounts",query:void 0},subField:{propertyField:"select",value:"configuration",api:{url:void 0,parseUrl:"/api/%s/configurations",query:{field:"AccountId"}}}}}]},mail:{conditions:[{name:"APPLICATION_FROM",value:"from",propertyField:"input",operators:"equals"},{name:"APPLICATION_CC",value:"cc",propertyField:"input",operators:"equals"},{name:"APPLICATION_SUBJECT",value:"subject",propertyField:"input",operators:"equals"}],actions:[{name:"APPLICATION_TEMPLATE",value:"template",propertyField:"select",subField:{propertyField:"select",value:"smtp"}},{name:"APPLICATION_CONTACT_MANAGER",value:"contactManager"}]},chat:{conditions:[],actions:[]},fax:{conditions:[],actions:[]}},b={equals:[{value:"=",name:"APPLICATION_EQUALS_TO"},{value:"<>",name:"APPLICATION_NOT_EQUALS_TO"}],all:[{value:"=",name:"APPLICATION_EQUALS_TO"},{value:"<>",name:"APPLICATION_NOT_EQUALS_TO"},{value:">=",name:"APPLICATION_GTE_TO"},{value:"<=",name:"APPLICATION_LTE_TO"},{value:">",name:"APPLICATION_GREATER_THAN"},{value:"<",name:"APPLICATION_LESS_THAN"}],noequals:[{value:">=",name:"APPLICATION_GTE_TO"},{value:"<=",name:"APPLICATION_LTE_TO"},{value:">",name:"APPLICATION_GREATER_THAN"},{value:"<",name:"APPLICATION_LESS_THAN"}]},c={voice:{lastevent:[{name:"APPLICATION_LASTEVENT_RINGING",value:"called"},{name:"APPLICATION_LASTEVENT_UP",value:"connect"},{name:"APPLICATION_LASTEVENT_COMPLETE",value:"complete"},{name:"APPLICATION_LASTEVENT_REJECTED",value:"rejected"},{name:"APPLICATION_LASTEVENT_ABANDONED",value:"abandoned"}]},mail:{},chat:{},fax:{}},d=["voice","mail","chat","fax"];return{triggers:a,properties:c,operators:b,channels:d}}),function(a,b){angular.module("adf.widget.counter",["adf.provider"]).value("apiServiceUrlCounter","/api/widgets/counter").config(["dashboardProvider",function(a){a.widget("counter",{title:"Counter",description:"Counter for db results",templateUrl:"{widgetsPath}/counter/src/view.html",controller:"apiwidgetCounterViewCtrl",edit:{templateUrl:"{widgetsPath}/counter/src/edit.html",controller:"apiwidgetCounterEditCtrl"}})}]).service("apiServiceCounter",["$q","$http","apiServiceUrlCounter",function(a,b,c){return{get:function(d){var e=a.defer();return b.get(c,{params:{condition:encodeURIComponent(d.condition),table:d.report}}).success(function(a){a?e.resolve(a):e.reject()}).error(function(a){console.log(a),e.reject()}),e.promise}}}]).controller("apiwidgetCounterEditCtrl",["$scope",function(a){a.config.reportTables=[{name:"Agents",value:"agent"},{name:"Calls",value:"call"},{name:"Dials",value:"dial"},{name:"Members",value:"member"},{name:"Queues",value:"queue"}],a.config.colors=[{name:"Blue",value:"blue-madison"},{name:"Red",value:"red-intense"},{name:"Green",value:"green-haze"},{name:"Purple",value:"purple-plum"},{name:"Orange",value:"yellow-casablanca"},{name:"Yellow",value:"yellow-crusta"}],a.config.icons=[{name:"Talk bubbles",value:"fa-comments"},{name:"Bar Chart",value:"fa-bar-chart"},{name:"Shopping Cart",value:"fa-shopping-cart"},{name:"Globe",value:"fa-globe"}],a.config.timeout=a.config.timeout?a.config.timeout:1,a.config.color=a.config.color?a.config.color:"blue-madison",a.config.icon=a.config.icon?a.config.icon:"fa-comments",a.config.link=a.config.link?a.config.link:"#",a.config.linkText=a.config.linkText?a.config.linkText:"VIEW MORE"}]).controller("apiwidgetCounterViewCtrl",["$scope","$interval","apiServiceCounter",function(a,b,c){a.config.timeout=a.config.timeout?a.config.timeout:1,a.config.color=a.config.color?a.config.color:"blue-madison",a.config.icon=a.config.icon?a.config.icon:"fa-comments",a.config.link=a.config.link?a.config.link:"#",a.config.linkText=a.config.linkText?a.config.linkText:"VIEW MORE",a.counterApiCall=function(){a.config.condition&&a.config.report&&c.get(a.config).then(function(b){a.count=parseInt(b[0].count)})},a.counterApiCall();var d=b(function(){a.counterApiCall()},1e3*parseInt(a.config.timeout));a.$on("$destroy",function(){b.cancel(d)})}]),angular.module("adf.widget.counter").run(["$templateCache",function(a){a.put("{widgetsPath}/counter/src/edit.html","<form role=form><div class=form-group><label class=control-label>{{'APPLICATION_REPORT' | translate}}</label><ui-select data-ng-model=config.report name=report theme=bootstrap><ui-select-match placeholder=\"{{ 'APPLICATION_REPORT' | translate }}\">{{$select.selected.name}}</ui-select-match><ui-select-choices repeat=\"report.value as report in config.reportTables | filter: $select.search\"><div ng-bind-html=\"report.name | highlight: $select.search\"></div></ui-select-choices></ui-select></div><div class=form-group><label for=condition>{{'APPLICATION_CONDITION' | translate}}</label> <input type=text class=form-control id=condition ng-model=config.condition placeholder=\"{{'APPLICATION_CONDITION' | translate}}\"></div><div class=form-group><label for=condition>{{'APPLICATION_REFRESH_TIMEOUT' | translate}}</label> <input type=number class=form-control id=timeout ng-model=config.timeout placeholder=\"{{'APPLICATION_REFRESH_TIMEOUT' | translate}}\" min=1></div><div class=form-group><label class=control-label>{{'APPLICATION_WIDGET_COLOR' | translate}}</label><ui-select data-ng-model=config.color name=color theme=bootstrap><ui-select-match placeholder=\"{{ 'APPLICATION_WIDGET_COLOR' | translate }}\">{{$select.selected.name}}</ui-select-match><ui-select-choices repeat=\"color.value as color in config.colors | filter: $select.search\"><div ng-bind-html=\"color.name | highlight: $select.search\"></div></ui-select-choices></ui-select></div><div class=form-group><label class=control-label>{{'APPLICATION_WIDGET_ICON' | translate}}</label><ui-select data-ng-model=config.icon name=icon theme=bootstrap><ui-select-match placeholder=\"{{ 'APPLICATION_WIDGET_ICON' | translate }}\">{{$select.selected.name}}</ui-select-match><ui-select-choices repeat=\"icon.value as icon in config.icons | filter: $select.search\"><div ng-bind-html=\"icon.name | highlight: $select.search\"></div></ui-select-choices></ui-select></div><div class=form-group><label for=condition>{{'APPLICATION_WIDGET_DETAILS' | translate}}</label> <input type=text class=form-control id=details ng-model=config.details maxlength=30 placeholder=\"{{'APPLICATION_WIDGET_DETAILS' | translate}}\"></div><div class=form-group><label for=condition>{{'APPLICATION_WIDGET_LINK' | translate}}</label> <input type=text class=form-control id=link ng-model=config.link placeholder=http://yourlink></div><div class=form-group><label for=condition>{{'APPLICATION_WIDGET_LINK_TEXT' | translate}}</label> <input type=text class=form-control id=linkText ng-model=config.linkText maxlength=30 placeholder=\"{{'APPLICATION_WIDGET_LINK_TEXT' | translate}}\"></div></form>"),a.put("{widgetsPath}/counter/src/view.html",'<div class=dashboard-stat ng-class=config.color ng-if="count || count === 0"><div class=visual><i class=fa ng-class=config.icon></i></div><div class=details><div class=number>{{count}}</div><div class=desc>{{config.details}}</div></div><a class=more href={{config.link}}>{{config.linkText}} <i class="m-icon-swapright m-icon-white"></i></a></div><div class="alert alert-danger" role=alert ng-if=!config.report><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_WIDGET_SELECT_REPORT\' | translate}}</div><div class="alert alert-danger" role=alert ng-if="!count && count != 0"><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_VALID_CONDITION\' | translate}}</div>')}])}(window),function(a,b){angular.module("adf.widget.pie-chart",["adf.provider"]).value("apiServiceUrlPieChart","/api/widgets/piechart").config(["dashboardProvider",function(a){a.widget("pie-chart",{title:"Pie-Chart",description:"Display a pie-chart starting from DB values",templateUrl:"{widgetsPath}/pie-chart/src/view.html",controller:"apiWidgetPieChartViewCtrl",edit:{templateUrl:"{widgetsPath}/pie-chart/src/edit.html",controller:"apiWidgetPieChartEditCtrl"}})}]).service("apiServicePieChart",["$q","$http","apiServiceUrlPieChart",function(a,b,c){return{get:function(d){var e=a.defer();return b.get(c,{params:{condition:encodeURIComponent(d.condition),table:d.report,fields:d.fields}}).success(function(a){a?e.resolve(a):e.reject()}).error(function(a){console.log(a),e.reject()}),e.promise}}}]).controller("apiWidgetPieChartEditCtrl",["$scope",function(a){function b(){return a.config.fields||(a.config.fields=[{column:"",alias:""}]),a.config.fields}a.config.reportTables=[{name:"Agents",value:"agent"},{name:"Calls",value:"call"},{name:"Dials",value:"dial"},{name:"Members",value:"member"},{name:"Queues",value:"queue"}],a.config.timeout=a.config.timeout?a.config.timeout:1,a.config.fields=a.config.fields?a.config.fields:[{column:"",alias:""}],a.addField=function(){b().push({})},a.removeField=function(a){b().splice(a,1)}}]).controller("apiWidgetPieChartViewCtrl",["$scope","$interval","apiServicePieChart",function(a,b,c){a.config.timeout=a.config.timeout?a.config.timeout:1,a.pieChartApiCall=function(){a.config.report&&a.config.fields.length&&""!==a.config.fields[0].column&&""!==a.config.fields[0].alias&&c.get(a.config).then(function(b){if(b&&1===b.length){a.labels=[],a.data=[];for(var c in b[0])a.labels.push(c),a.data.push(b[0][c])}else a.labels=[],a.data=[]})},a.pieChartApiCall();var d=b(function(){a.pieChartApiCall()},1e3*parseInt(a.config.timeout));a.$on("$destroy",function(){b.cancel(d)})}]),angular.module("adf.widget.pie-chart").run(["$templateCache",function(a){a.put("{widgetsPath}/pie-chart/src/edit.html",'<form role=form><div class=form-group><label class=control-label>{{\'APPLICATION_REPORT\' | translate}}</label><ui-select data-ng-model=config.report name=report theme=bootstrap><ui-select-match placeholder="{{ \'APPLICATION_REPORT\' | translate }}">{{$select.selected.name}}</ui-select-match><ui-select-choices repeat="report.value as report in config.reportTables | filter: $select.search"><div ng-bind-html="report.name | highlight: $select.search"></div></ui-select-choices></ui-select></div><div><label class=control-label>{{\'APPLICATION_FIELDS\' | translate}}</label></div><div class=padding-bottom ng-repeat="field in config.fields"><div class=form-group><div class=input-group><input type=text class=form-control ng-model=field.column> <span class=input-group-addon>as</span> <input type=text class=form-control ng-model=field.alias> <span class=input-group-btn ng-if="config.fields.length>1"><button class="btn btn-danger" type=button data-ng-click=removeField($index)><i class="fa fa-times"></i> {{\'APPLICATION_REMOVE\' | translate}}</button></span></div></div></div><button type=button class="btn btn-sm green mbottom20" ng-click=addField()><i class="fa fa-plus"></i> {{\'APPLICATION_ADD_FIELD\' | translate}}</button><div class=form-group><label for=condition>{{\'APPLICATION_CONDITION\' | translate}}</label> <input type=text class=form-control id=condition ng-model=config.condition placeholder="{{\'APPLICATION_CONDITION\' | translate}}"></div><div class=form-group><label for=condition>{{\'APPLICATION_REFRESH_TIMEOUT\' | translate}}</label> <input type=number class=form-control id=timeout ng-model=config.timeout placeholder="{{\'APPLICATION_REFRESH_TIMEOUT\' | translate}}" min=1></div></form>'),a.put("{widgetsPath}/pie-chart/src/view.html",'<div ng-if=labels.length ng-style=config.style><canvas id=doughnut class="chart chart-doughnut" chart-data=data chart-labels=labels legend=true></canvas></div><div class="alert alert-danger" role=alert ng-if=!config.report><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_WIDGET_SELECT_REPORT\' | translate}}</div><div class="alert alert-danger" role=alert ng-if=!labels.length><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_VALID_CONDITION\' | translate}}</div><div class="alert alert-danger" role=alert ng-if=!labels.length><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_ONE_VALID_METRIC_AND_CHECK_OTHER\' | translate}}</div>')}])}(window),function(a,b){angular.module("adf.widget.table",["adf.provider"]).value("apiServiceUrlTable","/api/widgets/table").config(["dashboardProvider",function(a){a.widget("table",{title:"Table",description:"Show tabbed results from db",templateUrl:"{widgetsPath}/table/src/view.html",controller:"apiWidgetTableViewCtrl",edit:{templateUrl:"{widgetsPath}/table/src/edit.html",controller:"apiWidgetTableEditCtrl"}})}]).service("apiServiceTable",["$q","$http","apiServiceUrlTable",function(a,b,c){return{get:function(d){var e=a.defer();return b.get(c,{params:{condition:encodeURIComponent(d.condition),table:d.report,fields:d.fields}}).success(function(a){a?e.resolve(a):e.reject()}).error(function(a){console.log(a),e.reject()}),e.promise}}}]).controller("apiWidgetTableEditCtrl",["$scope",function(a){function b(){return a.config.fields||(a.config.fields=[{column:"",alias:""}]),a.config.fields}a.config.reportTables=[{name:"Agents",value:"agent"},{name:"Calls",value:"call"},{name:"Dials",value:"dial"},{name:"Members",value:"member"},{name:"Queues",value:"queue"}],a.config.timeout=a.config.timeout?a.config.timeout:1,a.config.height=a.config.height?a.config.height:350,a.config.fields=a.config.fields?a.config.fields:[{column:"",alias:""}],a.addField=function(){b().push({})},a.removeField=function(a){b().splice(a,1)}}]).controller("apiWidgetTableViewCtrl",["$scope","$interval","apiServiceTable",function(a,b,c){a.config.timeout=a.config.timeout?a.config.timeout:1,a.config.height=a.config.height?a.config.height:350,a.config.style={"max-height":a.config.height+"px",overflow:"scroll"},a.tableApiCall=function(){a.config.condition&&a.config.report&&a.config.fields.length&&""!==a.config.fields[0].column&&""!==a.config.fields[0].alias&&c.get(a.config).then(function(b){a.results=b})},a.tableApiCall();var d=b(function(){a.tableApiCall()},1e3*parseInt(a.config.timeout));a.$on("$destroy",function(){b.cancel(d)})}]),angular.module("adf.widget.table").run(["$templateCache",function(a){a.put("{widgetsPath}/table/src/edit.html",'<form role=form><div class=form-group><label class=control-label>{{\'APPLICATION_REPORT\' | translate}}</label><ui-select data-ng-model=config.report name=report theme=bootstrap><ui-select-match placeholder="{{ \'APPLICATION_REPORT\' | translate }}">{{$select.selected.name}}</ui-select-match><ui-select-choices repeat="report.value as report in config.reportTables | filter: $select.search"><div ng-bind-html="report.name | highlight: $select.search"></div></ui-select-choices></ui-select></div><div><label class=control-label>{{\'APPLICATION_METRICS\' | translate}}</label></div><div class=padding-bottom ng-repeat="field in config.fields"><div class=form-group><div class=input-group><input type=text class=form-control ng-model=field.column> <span class=input-group-addon>as</span> <input type=text class=form-control ng-model=field.alias> <span class=input-group-btn ng-if="config.fields.length>1"><button class="btn btn-danger" type=button data-ng-click=removeField($index)><i class="fa fa-times"></i> {{\'APPLICATION_REMOVE\' | translate}}</button></span></div></div></div><button type=button class="btn btn-sm green mbottom20" ng-click=addField()><i class="fa fa-plus"></i> {{\'APPLICATION_ADD_FIELD\' | translate}}</button><div class=form-group><label for=condition>{{\'APPLICATION_CONDITION\' | translate}}</label> <input type=text class=form-control id=condition ng-model=config.condition placeholder="{{\'APPLICATION_CONDITION\' | translate}}"></div><div class=form-group><label for=condition>{{\'APPLICATION_REFRESH_TIMEOUT\' | translate}}</label> <input type=number class=form-control id=timeout ng-model=config.timeout placeholder="{{\'APPLICATION_REFRESH_TIMEOUT\' | translate}}" min=1></div><div class=form-group><label for=condition>{{\'APPLICATION_WIDGET_MAX_HEIGHT\' | translate}}</label> <input type=number class=form-control id=height ng-model=config.height placeholder="{{\'APPLICATION_WIDGET_MAX_HEIGHT\' | translate}}" min=350></div></form>'),
-a.put("{widgetsPath}/table/src/view.html",'<div ng-if=results ng-style=config.style><table st-table=results class="table table-striped table-bordered table-hover"><div class=table-responsive><thead><tr><th colspan={{config.fields.length}}><div class=row><div class=col-md-6></div><div class=col-md-6><div class="input-group input-medium pull-right"><input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class=form-control type=search> <span class=input-group-addon><i class="fa fa-search"></i></span></div></div></div></th></tr><tr><th ng-repeat="field in config.fields">{{field.alias}}</th></tr></thead><tbody><tr data-ng-repeat="result in results" class=animate-repeat><td ng-repeat="field in config.fields">{{result[field.alias]}}</td></tr><tr data-ng-hide=results.length><td colspan={{config.fields.length}} style=text-align:center;><i>{{ \'MESSAGE_NO_RESULTS_AVAILABLE\' | translate }}</i></td></tr></tbody><tfoot><tr><td colspan={{config.fields.length}} class=text-center><div st-pagination class=pagination st-items-by-page=10 st-displayed-pages=3></div></td></tr></tfoot></div></table></div><div class="alert alert-danger" role=alert ng-if=!config.report><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_WIDGET_SELECT_REPORT\' | translate}}</div><div class="alert alert-danger" role=alert ng-if=!results><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_VALID_CONDITION\' | translate}}</div><div class="alert alert-danger" role=alert ng-if=!results><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_ONE_VALID_FIELD_AND_CHECK_OTHER\' | translate}}</div>')}])}(window),function(){angular.module("pdf",[]).directive("ngPdf",["$window",function(a){return{restrict:"E",templateUrl:function(a,b){return b.templateUrl?b.templateUrl:"partials/viewer.html"},link:function(b,c,d){var e=d.pdfUrl,f=null,g=d.page?d.page:1,h=d.scale>0?d.scale:1,i=c.find("canvas"),j=i[0],k=j.getContext("2d"),l=angular.element(a);l.on("scroll",function(){b.$apply(function(){b.scroll=l[0].scrollY})}),PDFJS.disableWorker=!0,b.pageNum=g,b.renderPage=function(a){f.getPage(a).then(function(a){var e,f,g,i={};"page-fit"!==d.scale||h?e=a.getViewport(h):(e=a.getViewport(1),f=c[0].clientWidth/e.width,g=c[0].clientHeight/e.height,h=Math.min(f,g)),j.height=e.height,j.width=e.width,i={canvasContext:k,viewport:e},a.render(i).promise.then(function(){"function"==typeof b.onPageRender&&b.onPageRender()})})},b.goPrevious=function(){b.pageToDisplay<=1||(b.pageNum=parseInt(b.pageNum)-1)},b.goNext=function(){b.pageToDisplay>=f.numPages||(b.pageNum=parseInt(b.pageNum)+1)},b.zoomIn=function(){return h=parseFloat(h)+.2,b.renderPage(b.pageToDisplay),h},b.zoomOut=function(){return h=parseFloat(h)-.2,b.renderPage(b.pageToDisplay),h},b.changePage=function(){b.renderPage(b.pageToDisplay)},b.rotate=function(){"rotate0"===j.getAttribute("class")?j.setAttribute("class","rotate90"):"rotate90"===j.getAttribute("class")?j.setAttribute("class","rotate180"):"rotate180"===j.getAttribute("class")?j.setAttribute("class","rotate270"):j.setAttribute("class","rotate0")},PDFJS.getDocument(e,null,null,b.onProgress).then(function(a){"function"==typeof b.onLoad&&b.onLoad(),f=a,b.renderPage(b.pageToDisplay),b.$apply(function(){b.pageCount=a.numPages})},function(a){a&&"function"==typeof b.onError&&b.onError(a)}),b.$watch("pageNum",function(a){b.pageToDisplay=parseInt(a),null!==f&&b.renderPage(b.pageToDisplay)})}}}])}();var Metronic=function(){var a,b=!1,c=!1,d=!1,e=!1,f=[],g="assets/",h="img/",i="plugins/",j="css/",k={blue:"#89C4F4",red:"#F3565D",green:"#1bbc9b",purple:"#9b59b6",grey:"#95a5a6",yellow:"#F8CB00"},l=function(){"rtl"===$("body").css("direction")&&(b=!0),c=!!navigator.userAgent.match(/MSIE 8.0/),d=!!navigator.userAgent.match(/MSIE 9.0/),e=!!navigator.userAgent.match(/MSIE 10.0/),e&&$("html").addClass("ie10"),(e||d||c)&&$("html").addClass("ie")},m=function(){for(var a=0;a<f.length;a++){var b=f[a];b.call()}},n=function(){var a;if(c){var b;$(window).resize(function(){b!=document.documentElement.clientHeight&&(a&&clearTimeout(a),a=setTimeout(function(){m()},50),b=document.documentElement.clientHeight)})}else $(window).resize(function(){a&&clearTimeout(a),a=setTimeout(function(){m()},50)})},o=function(){$("body").on("click",".portlet > .portlet-title > .tools > a.remove",function(a){a.preventDefault();var b=$(this).closest(".portlet");$("body").hasClass("page-portlet-fullscreen")&&$("body").removeClass("page-portlet-fullscreen"),b.find(".portlet-title .fullscreen").tooltip("destroy"),b.find(".portlet-title > .tools > .reload").tooltip("destroy"),b.find(".portlet-title > .tools > .remove").tooltip("destroy"),b.find(".portlet-title > .tools > .config").tooltip("destroy"),b.find(".portlet-title > .tools > .collapse, .portlet > .portlet-title > .tools > .expand").tooltip("destroy"),b.remove()}),$("body").on("click",".portlet > .portlet-title .fullscreen",function(a){a.preventDefault();var b=$(this).closest(".portlet");if(b.hasClass("portlet-fullscreen"))$(this).removeClass("on"),b.removeClass("portlet-fullscreen"),$("body").removeClass("page-portlet-fullscreen"),b.children(".portlet-body").css("height","auto");else{var c=Metronic.getViewPort().height-b.children(".portlet-title").outerHeight()-parseInt(b.children(".portlet-body").css("padding-top"))-parseInt(b.children(".portlet-body").css("padding-bottom"));$(this).addClass("on"),b.addClass("portlet-fullscreen"),$("body").addClass("page-portlet-fullscreen"),b.children(".portlet-body").css("height",c)}}),$("body").on("click",".portlet > .portlet-title > .tools > a.reload",function(a){a.preventDefault();var b=$(this).closest(".portlet").children(".portlet-body"),c=$(this).attr("data-url"),d=$(this).attr("data-error-display");c?(Metronic.blockUI({target:b,animate:!0,overlayColor:"none"}),$.ajax({type:"GET",cache:!1,url:c,dataType:"html",success:function(a){Metronic.unblockUI(b),b.html(a)},error:function(a,c,e){Metronic.unblockUI(b);var f="Error on reloading the content. Please check your connection and try again.";"toastr"==d&&toastr?toastr.error(f):"notific8"==d&&$.notific8?($.notific8("zindex",11500),$.notific8(f,{theme:"ruby",life:3e3})):alert(f)}})):(Metronic.blockUI({target:b,animate:!0,overlayColor:"none"}),window.setTimeout(function(){Metronic.unblockUI(b)},1e3))}),$('.portlet .portlet-title a.reload[data-load="true"]').click(),$("body").on("click",".portlet > .portlet-title > .tools > .collapse, .portlet .portlet-title > .tools > .expand",function(a){a.preventDefault()})},p=function(){if($().uniform){var a=$("input[type=checkbox]:not(.toggle, .make-switch, .icheck), input[type=radio]:not(.toggle, .star, .make-switch, .icheck)");a.size()>0&&a.each(function(){0===$(this).parents(".checker").size()&&$(this).show()})}},q=function(){$().iCheck&&$(".icheck").each(function(){var a=$(this).attr("data-checkbox")?$(this).attr("data-checkbox"):"icheckbox_minimal-grey",b=$(this).attr("data-radio")?$(this).attr("data-radio"):"iradio_minimal-grey";a.indexOf("_line")>-1||b.indexOf("_line")>-1?$(this).iCheck({checkboxClass:a,radioClass:b,insert:'<div class="icheck_line-icon"></div>'+$(this).attr("data-label")}):$(this).iCheck({checkboxClass:a,radioClass:b})})},r=function(){$().bootstrapSwitch&&$(".make-switch").bootstrapSwitch()},s=function(){$().confirmation&&$("[data-toggle=confirmation]").confirmation({container:"body",btnOkClass:"btn-xs btn-success",btnCancelClass:"btn-xs btn-danger"})},t=function(){$("body").on("shown.bs.collapse",".accordion.scrollable",function(a){Metronic.scrollTo($(a.target))})},u=function(){if(location.hash){var a=location.hash.substr(1);$('a[href="#'+a+'"]').parents(".tab-pane:hidden").each(function(){var a=$(this).attr("id");$('a[href="#'+a+'"]').click()}),$('a[href="#'+a+'"]').click()}},v=function(){$("body").on("hide.bs.modal",function(){$(".modal:visible").size()>1&&$("html").hasClass("modal-open")===!1?$("html").addClass("modal-open"):$(".modal:visible").size()<=1&&$("html").removeClass("modal-open")}),$("body").on("show.bs.modal",".modal",function(){$(this).hasClass("modal-scroll")&&$("body").addClass("modal-open-noscroll")}),$("body").on("hide.bs.modal",".modal",function(){$("body").removeClass("modal-open-noscroll")}),$("body").on("hidden.bs.modal",".modal:not(.modal-cached)",function(){$(this).removeData("bs.modal")})},w=function(){$(".tooltips").tooltip(),$(".portlet > .portlet-title .fullscreen").tooltip({container:"body",title:"Fullscreen"}),$(".portlet > .portlet-title > .tools > .reload").tooltip({container:"body",title:"Reload"}),$(".portlet > .portlet-title > .tools > .remove").tooltip({container:"body",title:"Remove"}),$(".portlet > .portlet-title > .tools > .config").tooltip({container:"body",title:"Settings"}),$(".portlet > .portlet-title > .tools > .collapse, .portlet > .portlet-title > .tools > .expand").tooltip({container:"body",title:"Collapse/Expand"})},x=function(){$("body").on("click",".dropdown-menu.hold-on-click",function(a){a.stopPropagation()})},y=function(){$("body").on("click",'[data-close="alert"]',function(a){$(this).parent(".alert").hide(),$(this).closest(".note").hide(),a.preventDefault()}),$("body").on("click",'[data-close="note"]',function(a){$(this).closest(".note").hide(),a.preventDefault()}),$("body").on("click",'[data-remove="note"]',function(a){$(this).closest(".note").remove(),a.preventDefault()})},z=function(){$('[data-hover="dropdown"]').not(".hover-initialized").each(function(){$(this).dropdownHover(),$(this).addClass("hover-initialized")})},A=function(){$(".popovers").popover(),$(document).on("click.bs.popover.data-api",function(b){a&&a.popover("hide")})},B=function(){Metronic.initSlimScroll(".scroller")},C=function(){jQuery.fancybox&&$(".fancybox-button").size()>0&&$(".fancybox-button").fancybox({groupAttr:"data-rel",prevEffect:"none",nextEffect:"none",closeBtn:!0,helpers:{title:{type:"inside"}}})},D=function(){(c||d)&&$("input[placeholder]:not(.placeholder-no-fix), textarea[placeholder]:not(.placeholder-no-fix)").each(function(){var a=$(this);""===a.val()&&""!==a.attr("placeholder")&&a.addClass("placeholder").val(a.attr("placeholder")),a.focus(function(){a.val()==a.attr("placeholder")&&a.val("")}),a.blur(function(){(""===a.val()||a.val()==a.attr("placeholder"))&&a.val(a.attr("placeholder"))})})},E=function(){$().select2&&$(".select2me").select2({placeholder:"Select"})};return{init:function(){l(),n(),p(),q(),r(),B(),C(),E(),o(),y(),x(),u(),w(),A(),t(),v(),s(),D()},initAjax:function(){p(),q(),r(),z(),B(),E(),C(),x(),w(),A(),t(),s()},initComponents:function(){this.initAjax()},setLastPopedPopover:function(b){a=b},addResizeHandler:function(a){f.push(a)},runResizeHandlers:function(){m()},scrollTo:function(a,b){var c=a&&a.size()>0?a.offset().top:0;a&&($("body").hasClass("page-header-fixed")&&(c-=$(".page-header").height()),c+=b?b:-1*a.height()),$("html,body").animate({scrollTop:c},"slow")},initSlimScroll:function(a){$(a).each(function(){if(!$(this).attr("data-initialized")){var a;a=$(this).attr("data-height")?$(this).attr("data-height"):$(this).css("height"),$(this).slimScroll({allowPageScroll:!0,size:"7px",color:$(this).attr("data-handle-color")?$(this).attr("data-handle-color"):"#bbb",wrapperClass:$(this).attr("data-wrapper-class")?$(this).attr("data-wrapper-class"):"slimScrollDiv",railColor:$(this).attr("data-rail-color")?$(this).attr("data-rail-color"):"#eaeaea",position:b?"left":"right",height:a,alwaysVisible:"1"==$(this).attr("data-always-visible")?!0:!1,railVisible:"1"==$(this).attr("data-rail-visible")?!0:!1,disableFadeOut:!0}),$(this).attr("data-initialized","1")}})},destroySlimScroll:function(a){$(a).each(function(){if("1"===$(this).attr("data-initialized")){$(this).removeAttr("data-initialized"),$(this).removeAttr("style");var a={};$(this).attr("data-handle-color")&&(a["data-handle-color"]=$(this).attr("data-handle-color")),$(this).attr("data-wrapper-class")&&(a["data-wrapper-class"]=$(this).attr("data-wrapper-class")),$(this).attr("data-rail-color")&&(a["data-rail-color"]=$(this).attr("data-rail-color")),$(this).attr("data-always-visible")&&(a["data-always-visible"]=$(this).attr("data-always-visible")),$(this).attr("data-rail-visible")&&(a["data-rail-visible"]=$(this).attr("data-rail-visible")),$(this).slimScroll({wrapperClass:$(this).attr("data-wrapper-class")?$(this).attr("data-wrapper-class"):"slimScrollDiv",destroy:!0});var b=$(this);$.each(a,function(a,c){b.attr(a,c)})}})},scrollTop:function(){Metronic.scrollTo()},blockUI:function(a){a=$.extend(!0,{},a);var b="";if(b=a.animate?'<div class="loading-message '+(a.boxed?"loading-message-boxed":"")+'"><div class="block-spinner-bar"><div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div></div></div>':a.iconOnly?'<div class="loading-message '+(a.boxed?"loading-message-boxed":"")+'"><img src="'+this.getGlobalImgPath()+'loading-spinner-blue.gif" align=""></div>':a.textOnly?'<div class="loading-message '+(a.boxed?"loading-message-boxed":"")+'"><span>&nbsp;&nbsp;'+(a.message?a.message:"LOADING...")+"</span></div>":'<div class="loading-message '+(a.boxed?"loading-message-boxed":"")+'"><img src="'+this.getGlobalImgPath()+'loading-spinner-blue.gif" align=""><span>&nbsp;&nbsp;'+(a.message?a.message:"LOADING...")+"</span></div>",a.target){var c=$(a.target);c.height()<=$(window).height()&&(a.cenrerY=!0),c.block({message:b,baseZ:a.zIndex?a.zIndex:1e3,centerY:void 0!==a.cenrerY?a.cenrerY:!1,css:{top:"10%",border:"0",padding:"0",backgroundColor:"none"},overlayCSS:{backgroundColor:a.overlayColor?a.overlayColor:"#555",opacity:a.boxed?.05:.1,cursor:"wait"}})}else $.blockUI({message:b,baseZ:a.zIndex?a.zIndex:1e3,css:{border:"0",padding:"0",backgroundColor:"none"},overlayCSS:{backgroundColor:a.overlayColor?a.overlayColor:"#555",opacity:a.boxed?.05:.1,cursor:"wait"}})},unblockUI:function(a){a?$(a).unblock({onUnblock:function(){$(a).css("position",""),$(a).css("zoom","")}}):$.unblockUI()},startPageLoading:function(a){a&&a.animate?($(".page-spinner-bar").remove(),$("body").append('<div class="page-spinner-bar"><div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div></div>')):($(".page-loading").remove(),$("body").append('<div class="page-loading"><img src="'+this.getGlobalImgPath()+'loading-spinner-blue.gif"/>&nbsp;&nbsp;<span>'+(a&&a.message?a.message:"Loading...")+"</span></div>"))},stopPageLoading:function(){$(".page-loading, .page-spinner-bar").remove()},alert:function(a){a=$.extend(!0,{container:"",place:"append",type:"success",message:"",close:!0,reset:!0,focus:!0,closeInSeconds:0,icon:""},a);var b=Metronic.getUniqueID("Metronic_alert"),c='<div id="'+b+'" class="Metronic-alerts alert alert-'+a.type+' fade in">'+(a.close?'<button type="button" class="close" data-dismiss="alert" aria-hidden="true"></button>':"")+(""!==a.icon?'<i class="fa-lg fa fa-'+a.icon+'"></i>  ':"")+a.message+"</div>";return a.reset&&$(".Metronic-alerts").remove(),a.container?"append"==a.place?$(a.container).append(c):$(a.container).prepend(c):$("body").hasClass("page-container-bg-solid")?$(".page-title").after(c):$(".page-bar").size()>0?$(".page-bar").after(c):$(".page-breadcrumb").after(c),a.focus&&Metronic.scrollTo($("#"+b)),a.closeInSeconds>0&&setTimeout(function(){$("#"+b).remove()},1e3*a.closeInSeconds),b},initUniform:function(a){a?$(a).each(function(){0===$(this).parents(".checker").size()&&($(this).show(),$(this).uniform())}):p()},updateUniform:function(a){$.uniform.update(a)},initFancybox:function(){C()},getActualVal:function(a){return a=$(a),a.val()===a.attr("placeholder")?"":a.val()},getURLParameter:function(a){var b,c,d=window.location.search.substring(1),e=d.split("&");for(b=0;b<e.length;b++)if(c=e[b].split("="),c[0]==a)return unescape(c[1]);return null},isTouchDevice:function(){try{return document.createEvent("TouchEvent"),!0}catch(a){return!1}},getViewPort:function(){var a=window,b="inner";return"innerWidth"in window||(b="client",a=document.documentElement||document.body),{width:a[b+"Width"],height:a[b+"Height"]}},getUniqueID:function(a){return"prefix_"+Math.floor(Math.random()*(new Date).getTime())},isIE8:function(){return c},isIE9:function(){return d},isRTL:function(){return b},isAngularJsApp:function(){return"undefined"==typeof angular?!1:!0},getAssetsPath:function(){return g},setAssetsPath:function(a){g=a},setGlobalImgPath:function(a){h=a},getGlobalImgPath:function(){return g+h},setGlobalPluginsPath:function(a){i=a},getGlobalPluginsPath:function(){return g+i},getGlobalCssPath:function(){return g+j},getBrandColor:function(a){return k[a]?k[a]:""},getResponsiveBreakpoint:function(a){var b={xs:480,sm:768,md:900,lg:1200};return b[a]?b[a]:0}}}(),Layout=function(){var a="img/",b="css/",c=Metronic.getResponsiveBreakpoint("md"),d=function(){var a,b=$(".page-content"),d=$(".page-sidebar"),e=$("body");if(e.hasClass("page-footer-fixed")===!0&&e.hasClass("page-sidebar-fixed")===!1){var f=Metronic.getViewPort().height-$(".page-footer").outerHeight()-$(".page-header").outerHeight();b.height()<f&&b.attr("style","min-height:"+f+"px")}else{if(e.hasClass("page-sidebar-fixed"))a=g(),e.hasClass("page-footer-fixed")===!1&&(a-=$(".page-footer").outerHeight());else{var h=$(".page-header").outerHeight(),i=$(".page-footer").outerHeight();a=Metronic.getViewPort().width<c?Metronic.getViewPort().height-h-i:d.height()+20,a+h+i<=Metronic.getViewPort().height&&(a=Metronic.getViewPort().height-h-i)}b.attr("style","min-height:"+a+"px")}},e=function(a,b){var d=location.hash.toLowerCase(),e=$(".page-sidebar-menu");if("click"===a||"set"===a?b=$(b):"match"===a&&e.find("li > a").each(function(){var a=$(this).attr("href").toLowerCase();return a.length>1&&d.substr(1,a.length-1)==a.substr(1)?void(b=$(this)):void 0}),b&&0!=b.size()&&"javascript:;"!==b.attr("href").toLowerCase()&&"#"!==b.attr("href").toLowerCase()){parseInt(e.data("slide-speed")),e.data("keep-expanded");e.find("li.active").removeClass("active"),e.find("li > a > .selected").remove(),e.hasClass("page-sidebar-menu-hover-submenu")===!1?e.find("li.open").each(function(){0===$(this).children(".sub-menu").size()&&($(this).removeClass("open"),$(this).find("> a > .arrow.open").removeClass("open"))}):e.find("li.open").removeClass("open"),b.parents("li").each(function(){$(this).addClass("active"),$(this).find("> a > span.arrow").addClass("open"),1===$(this).parent("ul.page-sidebar-menu").size()&&$(this).find("> a").append('<span class="selected"></span>'),1===$(this).children("ul.sub-menu").size()&&$(this).addClass("open")}),"click"===a&&Metronic.getViewPort().width<c&&$(".page-sidebar").hasClass("in")&&$(".page-header .responsive-toggler").click()}},f=function(){jQuery(".page-sidebar").on("click","li > a",function(a){var b=$(this).next().hasClass("sub-menu");if(!(Metronic.getViewPort().width>=c&&1===$(this).parents(".page-sidebar-menu-hover-submenu").size())){if(b===!1)return void(Metronic.getViewPort().width<c&&$(".page-sidebar").hasClass("in")&&$(".page-header .responsive-toggler").click());if(!$(this).next().hasClass("sub-menu always-open")){var e=$(this).parent().parent(),f=$(this),g=$(".page-sidebar-menu"),h=jQuery(this).next(),i=g.data("auto-scroll"),j=parseInt(g.data("slide-speed")),k=g.data("keep-expanded");k!==!0&&(e.children("li.open").children("a").children(".arrow").removeClass("open"),e.children("li.open").children(".sub-menu:not(.always-open)").slideUp(j),e.children("li.open").removeClass("open"));var l=-200;h.is(":visible")?(jQuery(".arrow",jQuery(this)).removeClass("open"),jQuery(this).parent().removeClass("open"),h.slideUp(j,function(){i===!0&&$("body").hasClass("page-sidebar-closed")===!1&&($("body").hasClass("page-sidebar-fixed")?g.slimScroll({scrollTo:f.position().top}):Metronic.scrollTo(f,l)),d()})):b&&(jQuery(".arrow",jQuery(this)).addClass("open"),jQuery(this).parent().addClass("open"),h.slideDown(j,function(){i===!0&&$("body").hasClass("page-sidebar-closed")===!1&&($("body").hasClass("page-sidebar-fixed")?g.slimScroll({scrollTo:f.position().top}):Metronic.scrollTo(f,l)),d()})),a.preventDefault()}}}),jQuery(".page-sidebar").on("click"," li > a.ajaxify",function(a){a.preventDefault(),Metronic.scrollTop();var b=$(this).attr("href"),d=jQuery(".page-sidebar ul"),e=($(".page-content"),$(".page-content .page-content-body"));d.children("li.active").removeClass("active"),d.children("arrow.open").removeClass("open"),$(this).parents("li").each(function(){$(this).addClass("active"),$(this).children("a > span.arrow").addClass("open")}),$(this).parents("li").addClass("active"),Metronic.getViewPort().width<c&&$(".page-sidebar").hasClass("in")&&$(".page-header .responsive-toggler").click(),Metronic.startPageLoading();var f=$(this);$.ajax({type:"GET",cache:!1,url:b,dataType:"html",success:function(a){0===f.parents("li.open").size()&&$(".page-sidebar-menu > li.open > a").click(),Metronic.stopPageLoading(),e.html(a),Layout.fixContentHeight(),Metronic.initAjax()},error:function(a,b,c){Metronic.stopPageLoading(),e.html("<h4>Could not load the requested content.</h4>")}})}),jQuery(".page-content").on("click",".ajaxify",function(a){a.preventDefault(),Metronic.scrollTop();var b=$(this).attr("href"),d=($(".page-content"),$(".page-content .page-content-body"));Metronic.startPageLoading(),Metronic.getViewPort().width<c&&$(".page-sidebar").hasClass("in")&&$(".page-header .responsive-toggler").click(),$.ajax({type:"GET",cache:!1,url:b,dataType:"html",success:function(a){Metronic.stopPageLoading(),d.html(a),Layout.fixContentHeight(),Metronic.initAjax()},error:function(a,b,c){d.html("<h4>Could not load the requested content.</h4>"),Metronic.stopPageLoading()}})}),i(),$(".page-sidebar").on("click",".sidebar-search .remove",function(a){a.preventDefault(),$(".sidebar-search").removeClass("open")}),$(".page-sidebar .sidebar-search").on("keypress","input.form-control",function(a){return 13==a.which?($(".sidebar-search").submit(),!1):void 0}),0!==$(".sidebar-search").size()&&($(".sidebar-search .input-group").on("click",function(a){a.stopPropagation()}),$("body").on("click",function(){$(".sidebar-search").hasClass("open")&&$(".sidebar-search").removeClass("open")}))},g=function(){var a=Metronic.getViewPort().height-$(".page-header").outerHeight();return $("body").hasClass("page-footer-fixed")&&(a-=$(".page-footer").outerHeight()),a},h=function(){var a=$(".page-sidebar-menu");return Metronic.destroySlimScroll(a),0===$(".page-sidebar-fixed").size()?void d():void(Metronic.getViewPort().width>=c&&(a.attr("data-height",g()),Metronic.initSlimScroll(a),d()))},i=function(){var a=$("body");a.hasClass("page-sidebar-fixed")&&$(".page-sidebar").on("mouseenter",function(){a.hasClass("page-sidebar-closed")&&$(this).find(".page-sidebar-menu").removeClass("page-sidebar-menu-closed")}).on("mouseleave",function(){a.hasClass("page-sidebar-closed")&&$(this).find(".page-sidebar-menu").addClass("page-sidebar-menu-closed")})},j=function(){var a=$("body");$.cookie&&"1"===$.cookie("sidebar_closed")&&Metronic.getViewPort().width>=c?($("body").addClass("page-sidebar-closed"),$(".page-sidebar-menu").addClass("page-sidebar-menu-closed")):$.cookie&&$.cookie("sidebar_closed","0"),$("body").on("click",".sidebar-toggler",function(b){var c=$(".page-sidebar"),d=$(".page-sidebar-menu");$(".sidebar-search",c).removeClass("open"),a.hasClass("page-sidebar-closed")?(a.removeClass("page-sidebar-closed"),d.removeClass("page-sidebar-menu-closed"),$.cookie&&$.cookie("sidebar_closed","0")):(a.addClass("page-sidebar-closed"),d.addClass("page-sidebar-menu-closed"),a.hasClass("page-sidebar-fixed")&&d.trigger("mouseleave"),$.cookie&&$.cookie("sidebar_closed","1")),$(window).trigger("resize")})},k=function(){$(".page-header").on("click",'.hor-menu a[data-toggle="tab"]',function(a){a.preventDefault();var b=$(".hor-menu .nav"),c=b.find("li.current");$("li.active",c).removeClass("active"),$(".selected",c).remove();var d=$(this).parents("li").last();d.addClass("current"),d.find("a:first").append('<span class="selected"></span>')}),$(".page-header").on("click",".search-form",function(a){$(this).addClass("open"),$(this).find(".form-control").focus(),$(".page-header .search-form .form-control").on("blur",function(a){$(this).closest(".search-form").removeClass("open"),$(this).unbind("blur")})}),$(".page-header").on("keypress",".hor-menu .search-form .form-control",function(a){return 13==a.which?($(this).closest(".search-form").submit(),!1):void 0}),$(".page-header").on("mousedown",".search-form.open .submit",function(a){a.preventDefault(),a.stopPropagation(),$(this).closest(".search-form").submit()}),$('[data-hover="megamenu-dropdown"]').not(".hover-initialized").each(function(){$(this).dropdownHover(),$(this).addClass("hover-initialized")}),$(document).on("click",".mega-menu-dropdown .dropdown-menu",function(a){a.stopPropagation()})},l=function(){$("body").on("shown.bs.tab",'a[data-toggle="tab"]',function(){d()})},m=function(){var a=300,b=500;navigator.userAgent.match(/iPhone|iPad|iPod/i)?$(window).bind("touchend touchcancel touchleave",function(c){$(this).scrollTop()>a?$(".scroll-to-top").fadeIn(b):$(".scroll-to-top").fadeOut(b)}):$(window).scroll(function(){$(this).scrollTop()>a?$(".scroll-to-top").fadeIn(b):$(".scroll-to-top").fadeOut(b)}),$(".scroll-to-top").click(function(a){return a.preventDefault(),$("html, body").animate({scrollTop:0},b),!1})},n=function(){var a,b=$(".full-height-content");if(a=Metronic.getViewPort().height-$(".page-header").outerHeight(!0)-$(".page-footer").outerHeight(!0)-$(".page-title").outerHeight(!0)-$(".page-bar").outerHeight(!0),b.hasClass("portlet")){var d=b.find(".portlet-body");if(Metronic.getViewPort().width<c)return void Metronic.destroySlimScroll(d.find(".full-height-content-body"));a=a-b.find(".portlet-title").outerHeight(!0)-parseInt(b.find(".portlet-body").css("padding-top"))-parseInt(b.find(".portlet-body").css("padding-bottom"))-2,b.hasClass("full-height-content-scrollable")?(a-=35,d.find(".full-height-content-body").css("height",a),Metronic.initSlimScroll(d.find(".full-height-content-body"))):d.css("min-height",a)}else{if(Metronic.getViewPort().width<c)return void Metronic.destroySlimScroll(b.find(".full-height-content-body"));b.hasClass("full-height-content-scrollable")?(a-=35,b.find(".full-height-content-body").css("height",a),Metronic.initSlimScroll(b.find(".full-height-content-body"))):b.css("min-height",a)}};return{initHeader:function(){k()},setSidebarMenuActiveLink:function(a,b){e(a,b)},initSidebar:function(){h(),f(),j(),Metronic.isAngularJsApp()&&e("match"),Metronic.addResizeHandler(h)},initContent:function(){n(),l(),Metronic.addResizeHandler(d),Metronic.addResizeHandler(n)},initFooter:function(){m()},init:function(){this.initHeader(),this.initSidebar(),this.initContent(),this.initFooter()},fixContentHeight:function(){d()},initFixedSidebarHoverEffect:function(){i()},initFixedSidebar:function(){h()},getLayoutImgPath:function(){return Metronic.getAssetsPath()+a},getLayoutCssPath:function(){return Metronic.getAssetsPath()+b}}}();angular.module("xCallyShuttleApp").run(["$templateCache",function(a){a.put("app/agent/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n      <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-people"></i>\n                                   <a href="/agents/list">{{ \'APPLICATION_AGENTS\' | translate }}</a>\n                           </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-people font-green-sharp"></i>\n                                  <span class="caption-subject">{{ \'APPLICATION_AGENTS\' | translate }}</a> </span>\n                            </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="agents.checked.length">\n                                          <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle" href="#" data-toggle="dropdown">\n                                                  <i class="icon-plus"></i> {{ \'APPLICATION_NEW_AGENT\' | translate }} <i class="fa fa-angle-down"></i>\n                                                </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/agents/wizard">\n                                                             <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getAgents([\'name\', \'fullname\', \'email\'])" csv-header="[\'Username\', \'Fullname\', \'Email\']" field-separator=";" filename="agents.csv">\n                                     <i class="icon-cloud-download"></i></a>\n                               </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedAgents" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                  <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="5">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.agentsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="agentByPage in agentsByPage | filter: $select.search">\n                                                                                                     <div ng-bind-html="agentByPage.name | highlight: $select.search"></div>\n                                                                                               </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(agent, checked)" checklist-model checklist-value="id"></th>\n                                                    <th st-sort="fullname">{{ \'APPLICATION_FULLNAME\' | translate }}</th>\n                                                <th st-sort="name">{{ \'APPLICATION_USERNAME\' | translate }}</th>\n                                                    <th st-sort="email">{{ \'APPLICATION_EMAIL\' | translate }}</th>\n                                                          <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="agent in displayedAgents" class="animate-repeat">\n                                                             <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="agents.checked" checklist-value="agent.id"></td>\n                                                               <td>{{agent.fullname}}</td>\n                                         <td>{{agent.name}}</td>\n                                       <td><a data-ng-href="mailto:{{agent.email}}">{{agent.email}}</a></td>\n                                         <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/agents/view/{{agent.id}}/account">\n                                                                           {{ \'APPLICATION_PROFILE\' | translate }}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(agent.fullname,agent.id)">\n                                                                         {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedAgents.length">\n                                                            <td colspan="5" style="text-align:center;">\n                                                                   <i>No agents available</i>\n                                                            </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="fullname" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                    </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_USERNAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                    </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="email" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_EMAIL\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                      </div>\n                                                    </td>\n                                                 <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="5" class="text-center">\n                                                                    <div class="pagination" st-pagination st-items-by-page="conf.agentsByPage.value" st-displayed-pages="7"></div>\n                                              </td>\n                                       </tr>\n                                       </tfoot>\n                                    </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
+"use strict";angular.module("xCallyShuttleApp",["adf","adf.structures.base","adf.widget.clock","adf.widget.iframe","adf.widget.counter","adf.widget.table","adf.widget.pie-chart","angular-md5","angular.filter","angularFileUpload","btford.socket-io","chart.js","checklist-model","colorpicker.module","frapontillo.bootstrap-switch","infinite-scroll","LocalStorageModule","mgo-angular-wizard","ng-slide-down","ngAnimate","ngBootstrap","ngCookies","ngCsv","ngFileSaver","ngJsTree","ngMap","ngPapaParse","ngResource","ngSanitize","notification","oc.lazyLoad","pascalprecht.translate","pdf","remoteValidation","smart-table","sprintf","textAngular","toastr","ui-notification","ui.bootstrap.modal","ui.bootstrap.dropdown","ui.bootstrap.popover","ui.bootstrap.timepicker","ui.bootstrap.tooltip","ui.bootstrap.tpls","ui.bootstrap.accordion","ui.bootstrap.progressbar","ui.grid","ui.grid.exporter","ui.grid.grouping","ui.grid.moveColumns","ui.grid.pagination","ui.grid.treeView","ui.router","ui.navbar","ui.select","ui.sortable","xeditable","ngAudio","truncate","ngScrollbars","ngEmoticons"]).config(["$stateProvider","$urlRouterProvider","$locationProvider","$httpProvider","$translateProvider","localStorageServiceProvider","dashboardProvider","ScrollBarsProvider",function(a,b,c,d,e,f,g,h){b.otherwise("/dashboard/voice"),e.useStaticFilesLoader({prefix:"assets/languages/locale-",suffix:".json"}),e.preferredLanguage("en_EN"),e.useLocalStorage(),e.useSanitizeValueStrategy("sanitize"),c.html5Mode(!0),d.interceptors.push("authInterceptor"),g.structure("4-4-4",{rows:[{columns:[{styleClass:"col-md-4"},{styleClass:"col-md-4"},{styleClass:"col-md-4"}]}]}).structure("3-3-3-3",{rows:[{columns:[{styleClass:"col-md-3"},{styleClass:"col-md-3"},{styleClass:"col-md-3"},{styleClass:"col-md-3"}]}]}),f.setPrefix("xcally"),h.defaults={scrollButtons:{scrollAmount:"auto",enable:!0},axis:"y"}}]).factory("settings",["$rootScope","$interval","License",function(a,b,c){var d={layout:{pageSidebarClosed:!1,pageQuickSidebarOpened:!1,pageBodySolid:!1,pageAutoScrollOnLoad:1e3}};return a.settings=d,c.get(function(b){b.license&&(a.license=b.license)}),d}]).factory("authInterceptor",["$rootScope","$q","$cookieStore",function(a,b,c){return{request:function(a){return a.headers=a.headers||{},c.get("token")&&(a.headers.Authorization="Bearer "+c.get("token")),a}}}]).run(["$rootScope","$location","$state","$stateParams","$window","$http","Auth","editableThemes","editableOptions",function(a,b,c,d,e,f,g,h,i){a.$state=c,a.$stateParams=d,h.bs3.inputClass="input-sm",h.bs3.buttonsClass="btn-xs",i.theme="bs3",a.online=navigator.onLine,e.addEventListener("offline",function(){a.$apply(function(){a.online=!1})},!1),e.addEventListener("online",function(){a.$apply(function(){a.online=!0})},!1),a.$on("$stateChangeStart",function(a,c){g.isLoggedInAsync(function(a){c.authenticate&&!a&&b.path("/login")})}),a.updateTableConfig=function(a,b){var c=_.find(a,{name:"All"});c&&(c.value=b)}}]),angular.module("xCallyShuttleApp").factory("Agent",["$resource",function(a){return a("/api/agents/:id/:controller",{id:"@id"},{changePassword:{method:"PUT",params:{controller:"password"}},update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.agents",{url:"/agents",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("AgentListCtrl",["$scope","$http","$rootScope","xAlert","$translate","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={agentsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.agentsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.agents={checked:[]},a.check=function(b,c){c?a.agents.checked=angular.copy(_.pluck(a.displayedAgents,"id")):a.agents.checked=[]},a.getAgents=function(b){return _.map(a.displayedAgents,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("agent"),b.url="/api/agents",h.getPage(b).then(function(d){a.displayedAgents=d.rows,b.pagination.numberOfPages=d.total_pages,c.updateTableConfig(a.agentsByPage,a.displayedAgents.length),c.updateTableConfig(a.conf.agentsByPage,a.displayedAgents.length)}),f.socket.on("agent:save",function(){a.initList(b)}),f.socket.on("agent:remove",function(c){a.agents.checked=_.without(a.agents.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/agents/"+a).success(function(){d.show(e.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/agents",{params:{id:a.agents.checked}}).success(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){d.show(e.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.agents.list",{url:"/list",templateUrl:"app/agent/list/list.html",controller:"AgentListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("AgentViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$cookieStore","socket","FileUploader","Auth",function(a,b,c,d,e,f,g,h,i){a.Auth=i,a.updatePassword=function(){var f,g;i.isAdmin()?(f="/api/agents/password/"+e.id+"/reset",g={newPassword:a.agent.newPwd}):(f="/api/agents/password/",g={oldPassword:a.agent.currentPwd,newPassword:a.agent.newPwd}),b.put(f,g).success(function(a){c.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){c.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})};var j=a.uploader=new h({url:"api/users/"+e.id+"/avatar",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+f.get("token")}});j.filters.push({name:"imageFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|jpg|png|jpeg|".indexOf(b)}}),j.onSuccessItem=function(b,e,f,g){a.agent.userpic=e.userpic,a.agent.id===i.getCurrentUser().id&&(i.getCurrentUser().userpic=e.userpic),c.show(d.instant("MESSAGE_WELL_DONE"),"success")},j.onErrorItem=function(a,b,e,f){c.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")},j.onCompleteAll=function(){j.clearQueue()},a.initView=function(){b.get("/api/agents/"+e.id).success(function(b){a.agent=b,a.agent.transport=a.agent.transport?a.agent.transport.split(","):[],a.agent.allow=a.agent.allow?a.agent.allow.split(";"):[]}).error(function(a){c.show(a.message,"danger")})},a.updateItem=function(){var f=angular.copy(a.agent),g=angular.copy(a.agent);delete f.password,delete f.md5secret,f.transport=f.transport.join(","),f.allow=f.allow.join(";"),b.put("/api/agents/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(b){a.agent=g,b.errors.forEach(function(a){c.show(a.message,"danger")})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.agents.view",{url:"/view/:id",templateUrl:"app/agent/view/view.html",controller:"AgentViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.agents.view.account",{url:"/account",templateUrl:"app/agent/view/view.account.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/scripts/jquery.sparkline.min.js","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js","assets/scripts/profile.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("AgentWizardCtrl",["$scope","$http","xAlert","$location","WizardHandler","$translate",function(a,b,c,d,e,f){a.forms={info:void 0,voice:void 0},a.item={role:"agent",allow:["alaw","ulaw","gsm"],transport:["udp"],context:"from-sip"},a.next=function(){b.post("/api/agents/validate/",a.item).success(function(a){console.log(a),a.length?c.show(f.instant("MESSAGE_EXIST_INTERNAL"),"danger"):e.wizard().next()}).error(function(a){c.show(f.instant(a.message),"danger")})},a.getFirstFreeInternal=function(){b.get("/api/settings/internal").success(function(b){a.item.internal=b.value}).error(function(a){c.show(f.instant(a.message),"danger")})},a.exitValidation=function(a){return a},a.createItem=function(){a.item.transport&&(a.item.transport=a.item.transport.join(",")),a.item.allow&&(a.item.allow=a.item.allow.join(";")),b.post("/api/agents/",a.item).success(function(){d.path("/agents/list")}).error(function(a){a.errors.forEach(function(a){c.show(a.message,"danger")})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.agents.wizard",{url:"/wizard",templateUrl:"app/agent/wizard/wizard.html",controller:"AgentWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics",{url:"/analytics",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("AnalyticMetricListCreateModalCtrl",["$scope","$uibModalInstance",function(a,b){a.forms={dashboard:void 0},a.item={},a.tables=[{name:"Agent Report",value:"report_agent_history"},{name:"Mail Report",value:"report_mail_session_history"},{name:"Queue Report",value:"report_queue_history"},{name:"Integration Report",value:"report_integration_history"},{name:"Chat Report",value:"report_chat_session_history"}],a.ok=function(){a.item.model=JSON.stringify({title:a.item.name}),b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("AnalyticMetricListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource","$uibModal","$log",function(a,b,c,d,e,f,g,h,i,j){a.conf={metricsByPage:{name:"10",value:10}},a.metricsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.Metrics={checked:[]},a.check=function(b,c){c?a.Metrics.checked=angular.copy(_.pluck(a.displayedMetrics,"id")):a.Metrics.checked=[]},a.getMetrics=function(b){return _.map(a.displayedMetrics,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("metric"),b.url="/api/analytics/metrics",h.getPage(b).then(function(c){a.displayedMetrics=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.metricsByPage,a.displayedMetrics.length),d.updateTableConfig(a.conf.metricsByPage,a.displayedMetrics.length)}),c.socket.on("metric:save",function(){a.initList(b)}),c.socket.on("metric:remove",function(c){a.Metrics.checked=_.without(a.Metrics.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/analytics/metrics/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/analytics/metrics",{params:{id:a.Metrics.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.create=function(){var a=i.open({animation:!0,templateUrl:"app/analytic/metric/list/create.modal.html",controller:"AnalyticMetricListCreateModalCtrl"});a.result.then(function(a){b.post("/api/analytics/metrics",a).then(function(a){f.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.show(a.data.message,"danger")})},function(){j.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.metrics.list",{url:"/list",templateUrl:"app/analytic/metric/list/list.html",controller:"AnalyticMetricListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.metrics",{url:"/metrics",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("AnalyticMetricViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.tables=[{name:"Agent Report",value:"report_agent"},{name:"Mail Report",value:"report_mail_session"},{name:"Queue Report",value:"report_queue"},{name:"Integration Report",value:"report_integration"},{name:"Chat Report",value:"report_chat_session"}],a.getMetric=function(){b.get("/api/analytics/metrics/"+e.id).success(function(b){a.metric=b}).error(function(a){console.error(a),f.path("/analytics/metrics/list")})},a.updateMetric=function(){var f=angular.copy(a.metric);b.put("/api/analytics/metrics/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.metric=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.metrics.view",{url:"/view/:id",templateUrl:"app/analytic/metric/view/view.html",controller:"AnalyticMetricViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.analytics.metrics.view.settings",{url:"/settings",templateUrl:"app/analytic/metric/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("ReportListCopyModalCtrl",["$scope","$uibModalInstance","$log","customTreeData",function(a,b,c,d){a.customTreeData=d,a.forms={dashboard:void 0},a.item={},a.customTreeConfig={multiple:!1,animation:!0,core:{error:function(a){c.error("treeCtrl: error from js tree - "+angular.toJson(a))},check_callback:!0}},a.ac=function(){return!0},a.initCustomScopeTree=function(){a.customTree=a.customTreeInstance.jstree(!0),a.customTree.deselect_all(),a.customTree.open_all()},a.ok=function(){b.close({parent:a.customTree.get_selected(!0).pop().id})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("ReportListCreateModalCtrl",["$scope","$uibModalInstance","path",function(a,b,c){a.path=c,a.forms={dashboard:void 0},a.item={},a.ok=function(){a.item.model=JSON.stringify({title:a.item.name}),b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("ReportListExtractModalCtrl",["$scope","$uibModalInstance","$http","report","xAlert","$translate","$timeout","uiGridExporterConstants",function(a,b,c,d,e,f,g,h){a.dates={startDate:moment().startOf("day"),endDate:moment().endOf("day")},a.ranges={Today:[moment(),moment()],Yesterday:[moment().subtract(1,"days"),moment().subtract(1,"days")],"Last 7 days":[moment().subtract(7,"days"),moment()],"Last 30 days":[moment().subtract(30,"days"),moment()],"This month":[moment().startOf("month"),moment().endOf("month")]},a.extract=function(c){var d={startDate:a.dates.startDate.toISOString(),endDate:a.dates.endDate.toISOString(),output:c};b.close(d)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("AnalyticReportListCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$location","$log","Modal","$rootScope","stResource","$uibModal","FileSaver","Blob",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a.searchField="",a.ac=function(){return!0},a.initDefaultScopeTree=function(){a.defaultTree=a.defaultTreeInstance.jstree(!0),a.defaultTree.deselect_all(),a.defaultTree.close_all(),a.defaultTree.open_node({id:1}),a.defaultTreeReady=!0,a.defaultTreeActive=!0,a.previousDefaultNode=""},a.initCustomScopeTree=function(){a.customTree=a.customTreeInstance.jstree(!0),a.customTree.deselect_all(),a.customTree.close_all(),a.customTree.open_node({id:1}),a.customTreeReady=!0,a.previousCustomNode=""},a.$watchGroup(["defaultTreeReady","customTreeReady"],function(b,c,d){b[0]&&b[1]&&a.defaultTree.select_node({id:"1"})}),a.updateCustomTree=function(){var e={tree:angular.toJson(a.customTree.get_json("#",{flat:!0}))};b.put("/api/analytics/reports/trees/2",e).success(function(a){console.log("Custom Tree Updated")}).error(function(a){c.show(d.instant(a.message),"danger")})},a.configTrees=function(){a.defaultTreeConfig={multiple:!1,animation:!0,core:{error:function(a){h.error("treeCtrl: error from js tree - "+angular.toJson(a))},check_callback:!0,themes:{name:"default",url:"../../../assets/css/jstree-metronic/style.css"}},plugins:["search"]},a.customTreeConfig={multiple:!1,animation:!0,core:{error:function(a){h.error("treeCtrl: error from js tree - "+angular.toJson(a))},check_callback:!0,themes:{name:"default",url:"../../../assets/css/jstree-metronic/style.css"}},plugins:["contextmenu","dnd","search"],contextmenu:{items:function(b,c){var e={create:{label:d.instant("APPLICATION_CREATE"),action:function(c){a.customTree.create_node(b),a.customTree.open_node(b)}},rename:{label:d.instant("APPLICATION_RENAME"),action:function(c){a.customTree.edit(b)}},remove:{label:d.instant("APPLICATION_REMOVE"),action:function(c){console.log(b),a.deleteNode(b.text,b)}}};return"#"===b.parent&&(delete e.rename,delete e.remove),c(e),e}}}},a.deleteNode=i.confirm["delete"](function(b){a.customTree.delete_node(b),a.previousCustomNode==b.id&&a.customTree.select_node({id:b.parent})}),a.searchTrees=function(){a.defaultTree.search(a.searchField),a.customTree.search(a.searchField)},a.selectDefaultNode=function(){if(a.customTreeReady){a.previousCustomNode="";var b=a.defaultTree.get_selected(!0),c=b.pop();if(a.defaultTree.deselect_node(b[0],!0),a.customTree.deselect_all(),a.defaultTree.select_node(c,!0),c.id===a.previousDefaultNode)return void console.log("def");a.previousDefaultNode=c.id,a.defaultTreeActive=!0,a.initList(a.tableState)}},a.selectCustomNode=function(){if(a.defaultTreeReady){a.previousDefaultNode="";var b=a.customTree.get_selected(!0),c=b.pop();if(a.customTree.deselect_node(b[0],!0),a.defaultTree.deselect_all(),a.customTree.select_node(c,!0),c.id===a.previousCustomNode)return void console.log("cus");a.previousCustomNode=c.id,a.defaultTreeActive=!1,a.initList(a.tableState)}},a.getTrees=function(){b.get("/api/analytics/reports/trees").success(function(b){a.defaultTreeData=JSON.parse(b[0].tree),a.customTreeData=JSON.parse(b[1].tree),a.configTrees()}).error(function(a){c.show(d.instant(a.message),"danger")})},a.conf={reportsByPage:{name:"10",value:10}},a.reportsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.Reports={checked:[]},a.check=function(b,c){c?a.Reports.checked=angular.copy(_.pluck(a.displayedReports,"id")):a.Reports.checked=[]},a.getReports=function(b){return _.map(a.displayedReports,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){if(b){f.unsyncUpdates("custom_report"),a.Reports.checked=[];var c=a.defaultTree.get_selected(),d=a.customTree.get_selected();if(c.length){var e=c.pop();a.selectedNode=a.defaultTree.get_path(e," / "),b.url="/api/analytics/reports/default",b.search.params={parent:e}}else{if(!d.length)return;var e=d.pop();a.selectedNode=a.customTree.get_path(e," / "),b.url="/api/analytics/reports/custom",b.search.params={parent:e}}a.tableState=b,k.getPage(b).then(function(c){a.displayedReports=c.rows,b.pagination.numberOfPages=c.total_pages,j.updateTableConfig(a.reportsByPage,a.displayedReports.length),j.updateTableConfig(a.conf.reportsByPage,a.displayedReports.length)}),f.socket.on("custom_report:save",function(){a.defaultTreeActive||(console.log("save"),a.initList(b))}),f.socket.on("custom_report:remove",function(c){a.defaultTreeActive||(a.Reports.checked=_.without(a.Reports.checked,c.id),a.initList(b))})}},a.deleteItem=i.confirm["delete"](function(a){b["delete"]("/api/analytics/reports/custom/"+a).success(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){c.show(a.message,"danger")})}),a.deleteItems=i.confirm["delete"](function(){b["delete"]("/api/analytics/reports/custom",{params:{id:a.Reports.checked}}).success(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){c.show(a.message,"danger")})}),a.create=function(){var d=l.open({animation:!0,templateUrl:"app/analytic/report/list/create.modal.html",controller:"ReportListCreateModalCtrl",resolve:{path:function(){return a.selectedNode}}});d.result.then(function(d){d.parent=a.previousCustomNode,b.post("/api/analytics/reports/custom",d).then(function(a){g.path("/analytics/reports/view/"+a.data.id+"/settings")})["catch"](function(a){c.show(a.data.message,"danger")})},function(){h.info("Modal dismissed at: "+new Date)})},a.copy=function(e){var f=a.defaultTreeActive?"/api/analytics/reports/default/copy/"+e:"/api/analytics/reports/custom/copy/"+e,g=l.open({animation:!0,templateUrl:"app/analytic/report/list/copy.modal.html",controller:"ReportListCopyModalCtrl",resolve:{customTreeData:function(){return a.customTreeData}}});g.result.then(function(a){b.post(f,a).then(function(a){c.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){c.show(a.data.message,"danger")})},function(){h.info("Modal dismissed at: "+new Date)})},a["export"]=function(a){b.get("/api/analytics/reports/custom/"+a).success(function(a){delete a.id,_.forEach(a.Fields,function(a){delete a.id,delete a.CustomReportId});var b=new n([angular.toJson(a)],{type:"application/json;charset=utf-8"});m.saveAs(b,a.name+".json")}).error(function(a){console.error(a),c.show(a.message,"danger")})},a["import"]=function(e){var f=JSON.parse(e);f.parent=a.previousCustomNode;var g=f.name&&f.parent?!0:!1,h=!0;_.forEach(f.Fields,function(a){a.field&&a.alias||(h=!1)}),g&&h?b.post("/api/analytics/reports/custom/import",f).then(function(a){c.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){c.show(a.data.message,"danger")}):c.show(d.instant("MESSAGE_INVALID_JSON"),"danger")},a.preview=function(b){l.open({animation:!0,templateUrl:"app/analytic/report/list/preview.modal.html",controller:"ReportListPreviewModalCtrl",size:"full",resolve:{report:function(){return{id:b,tree:a.defaultTreeActive?"default":"custom"}}}})},a.extract=function(e){var f=l.open({animation:!0,templateUrl:"app/analytic/report/list/extract.modal.html",controller:"ReportListExtractModalCtrl",size:"sm",resolve:{report:function(){return{id:e,tree:a.defaultTreeActive?"default":"custom"}}}});f.result.then(function(f){var g=a.defaultTreeActive?"/api/analytics/reports/default/extract/"+f.output+"/"+e:"/api/analytics/reports/custom/extract/"+f.output+"/"+e;b.post(g,f).then(function(a){c.show(d.instant("MESSAGE_REPORT_EXTRACTING"),"success")})["catch"](function(a){c.show(a.data.message,"danger")})},function(){h.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.reports.list",{url:"/list",templateUrl:"app/analytic/report/list/list.html",controller:"AnalyticReportListCtrl"})}]),angular.module("xCallyShuttleApp").controller("ReportListPreviewModalCtrl",["$scope","$uibModalInstance","$http","report","xAlert","$translate","$timeout","uiGridExporterConstants",function(a,b,c,d,e,f,g,h){a.forms={dashboard:void 0},a.dates={startDate:moment().startOf("day"),endDate:moment().endOf("day")},a.ranges={Today:[moment(),moment()],Yesterday:[moment().subtract(1,"days"),moment().subtract(1,"days")],"Last 7 days":[moment().subtract(7,"days"),moment()],"Last 30 days":[moment().subtract(30,"days"),moment()],"This month":[moment().startOf("month"),moment().endOf("month")]};var i={pageNumber:1,pageSize:25,sort:null,where:{},order:{}};a.gridOptions={paginationPageSizes:[10,25,50],paginationPageSize:25,useExternalPagination:!0,enableSorting:!1,enableFiltering:!0,useExternalFiltering:!0,enableGrouping:!1,enableColumnMenus:!1,treeRowHeaderAlwaysVisible:!1,gridMenuShowHideColumns:!1,enableGridMenu:!1,onRegisterApi:function(b){a.gridApi=b,b.pagination.on.paginationChanged(a,function(b,c){i.pageNumber=b,i.pageSize=c,a.getPage()}),b.core.on.filterChanged(a,function(){var b=this.grid,c={};b.columns.forEach(function(a){console.log(a),a.filters[0].term&&(c[a.field]=a.filters[0].term)}),i.where=c,a.getPage()})}},a.getPage=function(){var b={params:{page:i.pageNumber-1,perPage:i.pageSize,uiPagination:!0,startDate:a.dates.startDate.toISOString(),endDate:a.dates.endDate.toISOString()}};_.forOwn(i.where,function(a,c){b.params[c]=a}),console.log(b),c.get("/api/analytics/reports/"+d.tree+"/preview/"+d.id,b).success(function(b){console.log(b),a.gridOptions.totalItems=b.count["COUNT(*)"],a.gridOptions.paginationPageSizes[3]=b.count["COUNT(*)"],a.gridOptions.data=b.rows,delete b.count["COUNT(*)"],a.gridOptions.columnDefs=[],_.forOwn(b.count,function(b,c){a.gridOptions.columnDefs.push({name:c})}),a.showResult=!0}).error(function(a){e.show(f.instant(a.message),"danger")})},a.cancel=function(){b.dismiss("cancel")},g(function(){a.getPage()})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.reports",{url:"/reports",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("AnalyticReportViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){function g(e){var f=_.find(a.tables,{table:e}).url;b.get(f).success(function(b){delete b.createdAt,delete b.updatedAt,delete b.id,a.tableFields=_.map(b,function(a,b){return{name:b,value:b}})}).error(function(a){c.show(d.instant(a.message),"danger")})}function h(e){console.log(e),b.get("/api/analytics/metrics/table",{params:{table:e}}).success(function(b){_.forEach(b,function(b){a.tableFields.push({name:"<strong>Metric.</strong>"+b.name,value:b.metric})})}).error(function(a){c.show(d.instant(a.message),"danger")})}function i(a){return String(a).replace(/</g,"&lt;").replace(/>/g,"&gt;")}function j(a){if(!a)return"";for(var b="(",c=0;c<a.rules.length;c++)c>0&&(b+=" <strong>"+a.operator+"</strong> "),b+=a.rules[c].group?j(a.rules[c].group):a.rules[c].field+" "+i(a.rules[c].condition)+" '"+("like"===a.rules[c].condition?"%"+a.rules[c].value+"%":a.rules[c].value)+"'";return b+")"}a.$translate=d,a.tempReport={},a.tables=[{name:"Agent Report",table:"report_agent_history",url:"/api/report/agents/describe"},{name:"Mail Report",table:"report_mail_session_history",url:"/api/report/mail/sessions/describe"},{name:"Queue Report",table:"report_queue_history",url:"/api/report/queues/describe"},{name:"Integration Report",table:"report_integration_history",url:"/api/report/integrations/describe"},{name:"Chat Report",table:"report_chat_session_history",url:"/api/report/chat/sessions/describe"}];var k={group:{operator:"AND",rules:[]}};a.getReport=function(){a.firstLoad=!0,b.get("/api/analytics/reports/custom/"+e.id).success(function(b){a.report=b,_.forEach(a.report.Fields,function(a){delete a.id}),a.report.conditions=a.report.conditions?JSON.parse(a.report.conditions):_.clone(k,!0),a.getPreview()}).error(function(a){console.error(a),f.path("/analytics/reports/list")})},a.randomName=function(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")},a.$watch("report.table",function(b,c){console.log(b),b&&(console.log("is newvalue"),g(b),h(b),c&&(console.log("is oldvalue"),a.tempReport[c]={conditions:a.report.conditions,fields:a.report.Fields}),a.firstLoad?a.firstLoad=!1:a.tempReport[b]?(a.report.Fields=a.tempReport[b].fields,a.report.conditions=a.tempReport[b].conditions):(a.report.Fields=[],a.report.conditions=_.clone(k,!0)))},!0),a.groupByField=[{name:"APPLICATION_YES",value:!0},{name:"APPLICATION_NO",value:!1}],a.functions=[{name:"Sum",value:"SUM"},{name:"Count",value:"COUNT"},{name:"Count Distinct",value:"COUNT DISTINCT"},{name:"Maximum",value:"MAX"},{name:"Minimum",value:"MIN"},{name:"Average",value:"AVG"},{name:"Group Concat",value:"GROUP_CONCAT"},{name:"Group Concat(asc)",value:"GROUP_CONCAT ASC"},{name:"Group Concat(desc)",value:"GROUP_CONCAT DESC"}],a.addField=function(){a.report.Fields.push({groupBy:!1,CustomReportId:a.report.id})},a.removeField=function(b){a.report.Fields.splice(b,1)},a.sortableOptions={"ui-floating":!0,cancel:".unsortable",handle:".report-field-handle",axis:"y"},a.updateReport=function(){if(a.report.Fields.length){var f=angular.copy(a.report);f.conditions=angular.toJson(f.conditions),b.put("/api/analytics/reports/custom/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),a.getPreview()}).error(function(b){c.show(d.instant(b.message),"danger"),f.conditions=JSON.parse(f.conditions),a.report=f})}else c.show(d.instant("MESSAGE_SELECT_A_FIELD"),"danger")},a.$watch("report.conditions",function(b){a.output=b?j(b.group):"()"},!0),a.gridOptions={enableFiltering:!0,treeRowHeaderAlwaysVisible:!1,enableGridMenu:!0},a.getPreview=function(){a.showPreview=!1,b.get("/api/analytics/reports/custom/preview/"+e.id,{params:{perPage:20}}).success(function(b){a.gridOptions.data=b.rows,a.gridOptions.columnDefs=_.map(a.report.Fields,function(a){return{name:a.alias}}),a.showPreview=!0}).error(function(a){c.show(d.instant(a.message||"MESSAGE_QUERY_NOT_VALID"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.reports.view",{url:"/view/:id",templateUrl:"app/analytic/report/view/view.html",controller:"AnalyticReportViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.analytics.reports.view.settings",{url:"/settings",templateUrl:"app/analytic/report/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("AnalyticReportWizardCtrl",["$scope","$http","$location","xAlert","socket","$translate",function(a,b,c,d,e,f){a.initWizard=function(){a.forms={},a.item={}},a.createItem=function(){b.post("/api/analytics/reports/",a.item).success(function(){c.path("/analytics/reports/list")}).error(function(a){d.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.reports.wizard",{url:"/wizard",templateUrl:"app/analytic/report/wizard/wizard.html",controller:"AnalyticReportWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.automations",{url:"/automations",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("AutomationListCtrl",["$scope","$http","$translate","$rootScope","stResource","Modal","socket","xAlert",function(a,b,c,d,e,f,g,h){a.conf={AutomationsByPage:{name:"10",value:10}},a.AutomationsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.onText="On",a.offText="Off",a.isActive=!0,a.size="mini",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.Automations={checked:[]},a.check=function(b,c){c?a.Automations.checked=angular.copy(_.pluck(a.displayedAutomations,"id")):a.Automations.checked=[]},a.getAutomations=function(b){return _.map(a.displayedAutomations,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){g.unsyncUpdates("automation"),b.url="/api/automations",e.getPage(b).then(function(c){a.displayedAutomations=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.AutomationsByPage,a.displayedAutomations.length),d.updateTableConfig(a.conf.AutomationsByPage,a.displayedAutomations.length)}),g.socket.on("automation:save",function(){a.initList(b)}),g.socket.on("automation:remove",function(c){a.Automations.checked=_.without(a.Automations.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/automations/"+a).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success");
+}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/automations",{params:{id:a.Automations.checked}}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(c.instant(a.message),"danger")})}),a.updateItem=function(a,d){b.put("api/automations/"+a,{status:d}).success(function(a){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.automations.list",{url:"/list",templateUrl:"app/automation/list/list.html",controller:"AutomationListCtrl"})}]),angular.module("xCallyShuttleApp").controller("AutomationViewCtrl",["$scope","$stateParams","$http","$translate","xAlert","automations",function(a,b,c,d,e,f){a.$automations=f,a.forms={info:{}},a.fields={},a.properties=f.properties,a.initView=function(){c.get("/api/automations/"+b.id).success(function(b){a.automation=b,a.conditionsFilter=JSON.parse(b.conditions),a.actionsFilter=JSON.parse(b.actions),a.fields.conditions=a.$automations.automations[b.channel].conditions,a.fields.actions=a.$automations.automations[b.channel].actions}).error(function(a){e.show(a.message,"danger")})},a.updateAutomation=function(){c.put("/api/automations/"+a.automation.id,{name:a.automation.name,description:a.automation.description,conditions:angular.toJson(a.conditionsFilter),actions:angular.toJson(a.actionsFilter)}).success(function(){e.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.automations.view",{url:"/view/:id",templateUrl:"app/automation/view/view.html",controller:"AutomationViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}}).state("main.automations.view.settings",{url:"/settings",templateUrl:"app/automation/view/view.settings.html"}).state("main.automations.view.routes",{url:"/routes",templateUrl:"app/automation/view/view.routes.html"}).state("main.automations.view.application",{url:"/application",templateUrl:"app/automation/view/view.application.html"})}]),angular.module("xCallyShuttleApp").controller("AutomationWizardCtrl",["$scope","$http","$location","xAlert","automations","WizardHandler",function(a,b,c,d,e,f){a.$automations=e,a.tempData={voice:{},mail:{},chat:{},fax:{}},a.item={},a.fields={},a.properties=e.properties,a.forms={general:{}};var g={group:{"boolean":"AND",rules:[],type:"CONDITION",main:!0}},h={group:{rules:[],type:"ACTION"}};a.conditionsFilter=_.clone(g,!0),a.actionsFilter=_.clone(h,!0),a.$watch("item.channel",function(b,c){c&&(a.tempData[c].conditionsFilter=_.clone(a.conditionsFilter,!0),a.tempData[c].actionsFilter=_.clone(a.actionsFilter,!0)),a.conditionsFilter=a.tempData[b].conditionsFilter?a.tempData[b].conditionsFilter:_.clone(g,!0),a.actionsFilter=a.tempData[b].actionsFilter?a.tempData[b].actionsFilter:_.clone(h,!0),a.fields.conditions=a.$automations.automations[b].conditions,a.fields.actions=a.$automations.automations[b].actions},!0),a.item.channel="mail",a.createItem=function(){a.item.conditions=angular.toJson(a.conditionsFilter),a.item.actions=angular.toJson(a.actionsFilter),b.post("/api/automations",a.item).success(function(){c.path("/automations/list")}).error(function(a){d.show(a.message,"danger")})},a.next=function(){f.wizard().next()},a.previous=function(){f.wizard().previous()},a.exitValidation=function(a){return a}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.automations.wizard",{url:"/wizard",templateUrl:"app/automation/wizard/wizard.html",controller:"AutomationWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat",{url:"/chat",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("ChatMessage",["$resource",function(a){return a("/api/chat/messages/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("ChatRoom",["$resource",function(a){return a("/api/chat/rooms/:id/:controller",{id:"@id"},{me:{method:"GET",isArray:!0,params:{id:"me"}},users:{method:"GET",params:{id:"users"}},externals:{method:"GET",isArray:!0,params:{id:"type",controller:"external"}},groups:{method:"GET",isArray:!0,params:{id:"groups"}},update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").directive("preview",function(){return{templateUrl:"app/chat/preview/preview.html",restrict:"EA",link:function(a,b,c){}}}),angular.module("xCallyShuttleApp").controller("ChatQueueListCtrl",["$scope","$http","xAlert","$translate","socket","Modal","$rootScope","stResource",function(a,b,c,d,e,f,g,h){a.conf={chatQueuesByPage:{name:"10",value:10}},a.chatQueuesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.chatQueues={checked:[]},a.check=function(b,c){c?a.chatQueues.checked=angular.copy(_.pluck(a.displayedChatQueues,"id")):a.chatQueues.checked=[]},a.initList=function(b){e.unsyncUpdates("chat_queue"),b.url="/api/chat/queues/",h.getPage(b).then(function(c){a.displayedChatQueues=c.rows,b.pagination.numberOfPages=c.total_pages,g.updateTableConfig(c.queuesByPage,a.displayedChatQueues.length),g.updateTableConfig(a.conf.queuesByPage,a.displayedChatQueues.length)}),e.socket.on("chat_queue:save",function(){a.initList(b)}),e.socket.on("chat_queue:remove",function(c){a.chatQueues.checked=_.without(a.chatQueues.checked,c.id),a.initList(b)})},a.getChatQueues=function(b){return _.map(a.displayedChatQueues,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("api/chat/queues/"+a).success(function(){c.show(d.instant("MESSAGE_CHAT_QUEUE_DELETE_SUCCESS")+"!","success")}).error(function(){c.show(d.instant("MESSAGE_CHAT_QUEUE_DELETE_FAILURE"),"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/chat/queues/",{params:{id:a.chatQueues.checked}}).success(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){c.show(d.instant(a.message),"danger")})}),a.$on("$destroy",function(){e.unsyncUpdates("chat_queue")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.queues.list",{url:"/list",templateUrl:"app/chat/queue/list/list.html",controller:"ChatQueueListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").factory("ChatQueue",["$resource",function(a){return a("/api/chat/queues/:id/:controller",{id:"@id"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.queues",{url:"/queues",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatQueueViewCtrl",["$scope","$http","xAlert","$translate","$stateParams",function(a,b,c,d,e){var f=function(){return{select:function(c){b.post("/api/chat/queues/"+a.queue.id+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})},deselect:function(c){b.put("/api/chat/queues/"+a.queue.id+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})}}};a.getQueue=function(){b.get("/api/chat/queues/"+e.id).success(function(b){a.queue=b}).error(function(a){console.error(a)})},a.updateChatQueue=function(){var f=angular.copy(a.queue);b.put("/api/chat/queues/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){a.queue=f,b.errors.forEach(function(a){c.show(a.message,"danger")})})},a.getTeams=function(){b.get("/api/teams").success(function(c){a.teams=c.rows,b({url:"/api/chat/user_has_queues",method:"GET",params:{ChatQueueId:a.queue.id}}).success(function(a){ComponentsDropdowns.bindChatQueue(c.rows,_.pluck(a,"UserId"),f)})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.queues.view",{url:"/view/:id",templateUrl:"app/chat/queue/view/view.html",controller:"ChatQueueViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.chat.queues.view.settings",{url:"/settings",templateUrl:"app/chat/queue/view/view.settings.html"}).state("main.chat.queues.view.agents",{url:"/agents",templateUrl:"app/chat/queue/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("ChatQueueWizardCtrl",["$scope","$http","$location","xAlert","WizardHandler","$translate",function(a,b,c,d,e,f){a.forms={},a.item={},a.next=function(){e.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/chat/queues",a.item).success(function(){d.show(f.instant("MESSAGE_WELL_DONE"),"success"),c.path("/chat/queues/list")}).error(function(a){d.show(f.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.queues.wizard",{url:"/wizard",templateUrl:"app/chat/queue/wizard/wizard.html",controller:"ChatQueueWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.realtime",{url:"/realtime",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.realtime.view.agent",{url:"/agent",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatRealtimeViewAgentQueueCtrl",["$scope","$http","socket","Agent","ChatQueue",function(a,b,c,d,e){a.gridOptions={enableSorting:!1,enableFiltering:!0,columnDefs:[{name:"queueName",displayName:"Queue"},{name:"agentName",displayName:"Agent",cellClass:"text-center",cellTemplate:'<span data-ng-if="row.entity.agentName">{{row.entity.fullname}} [{{row.entity.agentName}}]</span>'},{name:"online",cellClass:"text-center",cellTemplate:'<span class="badge badge-empty" data-ng-if="row.entity.online != null" data-ng-class="row.entity.online ? \'badge-success\' : \'badge-danger\'"></span>'},{name:"lastLoginAt",cellClass:"text-center",cellTemplate:'<time data-ng-if="row.entity.lastLoginAt" is="relative-time" datetime="{{row.entity.lastLoginAt}}">April 1, 2014</time>'}],onRegisterApi:function(b){a.gridApi=b,a.gridApi.treeBase.on.rowExpanded(a,function(b){var c=_.findIndex(a.gridOptions.data,{$$hashKey:b.entity.$$hashKey});b.entity.Users&&b.entity.Users.forEach(function(b){_.find(a.gridOptions.data,{name:b.name})||a.gridOptions.data.splice(c+1,0,b)})})}},e.get(function(b){a.gridOptions.data=[],b.rows.forEach(function(b){b.$$treeLevel=0,b.queueName=b.name,a.gridOptions.data.push(b),b.Users&&b.Users.forEach(function(b){b.agentName=b.name,a.gridOptions.data.push(b)})}),c.socket.on("agent:save",function(b){var c=_.filter(a.gridOptions.data,{agentName:b.name});c.forEach(function(a){a.online=b.online,a.lastLoginAt=b.lastLoginAt})}),c.socket.on("chat_queue:save",function(b){b.$$treeLevel=0,b.queueName=b.name,a.gridOptions.data.push(b)}),c.socket.on("chat_queue:remove",function(b){_.remov(a.gridOptions.data,{queueName:b.name})}),c.socket.on("user_has_chat_queue:save",function(b){var c=_.findIndex(a.gridOptions.data,function(a){return a.queueName&&a.id===b.ChatQueueId});d.get({id:b.UserId}).$promise.then(function(b){a.gridOptions.data.splice(c+1,0,{id:b.id,name:b.name,fullname:b.fullname,agentName:b.name,online:b.online,lastLoginAt:b.lastLoginAt})})["catch"](function(a){console.error(a)})}),c.socket.on("user_has_chat_queue:remove",function(b){for(var c=_.findIndex(a.gridOptions.data,function(a){return a.queueName&&a.id===b.ChatQueueId}),d=c+1;d<a.gridOptions.data.length;d++)a.gridOptions.data[d].id==b.UserId&&a.gridOptions.data.splice(d,1)})},function(a){console.error(a)}),a.conf={agentsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.agentsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.$on("$destroy",function(){c.unsyncUpdates("report_chat:save"),c.unsyncUpdates("report_chat:update")}),a.initAgents=function(){b.get("/api/report/chats").success(function(b){a.agents=b,c.socket.on("report_chat:save",function(b){var c=_.find(a.agents,{id:b.id});c||a.agents.unshift(b)}),c.socket.on("report_chat:update",function(b){var c=_.find(a.agents,{id:b.id}),d=a.agents.indexOf(c);c&&_.merge(a.agents[d],b)})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.realtime.view.agent.queues",{url:"/queues",controller:"ChatRealtimeViewAgentQueueCtrl",templateUrl:"app/chat/realtime/view/agent/queue/queue.html"})}]),angular.module("xCallyShuttleApp").controller("ChatRealtimeViewAgentTimelineCtrl",["$scope","$http","socket","Agent","ChatQueue","uiGridConstants",function(a,b,c,d,e,f){a.gridOptions={enableFiltering:!0,columnDefs:[{name:"lastevent",cellClass:"text-center",enableFiltering:!1,enableSorting:!1,displayName:"",cellTemplate:"<span><i data-ng-class=\"{'icon-user font-yellow': row.entity.lastevent === 'called', 'icon-user-following font-green': row.entity.lastevent === 'agent', 'icon-user-unfollow font-red': row.entity.lastevent === 'timeout', 'icon-user-unfollow font-blue': row.entity.lastevent === 'answered_elsewhere'}\"></i></span>"},{name:"chatqueuename",displayName:"Queue Name",cellClass:"text-center"},{name:"fullname",cellClass:"text-center"},{name:"visitoremail",displayName:"Visitor",cellClass:"text-center"},{name:"websitename",displayName:"Website",cellClass:"text-center"},{name:"agentcalledAt",displayName:"Called At",cellClass:"text-center",cellTemplate:'<time data-ng-if="row.entity.agentcalledAt" is="relative-time" datetime="{{row.entity.agentcalledAt}}">April 1, 2014</time>',sort:{direction:f.DESC,priority:0}},{name:"agentconnectAt",displayName:"Connected At",cellClass:"text-center",cellTemplate:'<time data-ng-if="row.entity.agentconnectedAt" is="relative-time" datetime="{{row.entity.agentconnectedAt}}">April 1, 2014</time>'},{name:"agentringnoanswerAt",displayName:"No Answer At",cellClass:"text-center",cellTemplate:'<time data-ng-if="row.entity.agentringnoanswerAt" is="relative-time" datetime="{{row.entity.agentringnoanswerAt}}">April 1, 2014</time>'}],data:[]},a.initAgents=function(){b.get("/api/report/chats").success(function(b){a.gridOptions.data=b,c.socket.on("report_chat:save",function(b){var c=_.find(a.gridOptions.data,{id:b.id});c||a.gridOptions.data.unshift(b)}),c.socket.on("report_chat:update",function(b){var c=_.find(a.gridOptions.data,{id:b.id}),d=a.gridOptions.data.indexOf(c);c&&_.merge(a.gridOptions.data[d],b)})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.realtime.view.agent.timeline",{url:"/timeline",controller:"ChatRealtimeViewAgentTimelineCtrl",templateUrl:"app/chat/realtime/view/agent/timeline/timeline.html"})}]),angular.module("xCallyShuttleApp").controller("ChatRealtimeViewSessionCtrl",["$scope","$http","socket",function(a,b,c){a.conf={sessionsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.sessionsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.$on("$destroy",function(){c.unsyncUpdates("report_chat:save"),c.unsyncUpdates("report_chat:update")}),a.initChats=function(){b.get("/api/report/chat/sessions").success(function(b){a.sessions=b,c.socket.on("report_chat_session:save",function(b){var c=_.find(a.sessions,{id:b.id}),d=a.sessions.indexOf(c);c?_.merge(a.sessions[d],b):a.sessions.push(b)})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("ChatRealtimeViewCtrl",["$scope",function(a){a.agents=[{name:"Queues",link:"main.chat.realtime.view.agent.queues"},{name:"Timeline",link:"main.chat.realtime.view.agent.timeline"}],a.sessions=[{name:"Sessions",link:"main.chat.realtime.view.sessions"}]}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.realtime.view",{url:"/view",templateUrl:"app/chat/realtime/view/view.html",controller:"ChatRealtimeViewCtrl"}).state("main.chat.realtime.view.sessions",{url:"/sessions",controller:"ChatRealtimeViewSessionCtrl",templateUrl:"app/chat/realtime/view/session/session.html"})}]),angular.module("xCallyShuttleApp").controller("ChatStatisticCtrl",["$scope","$http","$stateParams","xAlert","socket","$location","$translate","$filter",function(a,b,c,d,e,f,g,h){a.conf={chatVisitorsByPage:10,chatRoomsByPage:10,chatEnquiriesByPage:10},a.$location=f,a.$translate=g,a.$filter=h,a.initList=function(){b.get("api/chat/visitors").success(function(b){a.chatVisitors=b,e.syncUpdates("chat_visitor",a.chatVisitors)}),b.get("api/chat/rooms").success(function(b){a.chatRooms=b,e.syncUpdates("chat_room",a.chatRooms)}),b.get("api/chat/enquiries").success(function(b){a.chatEnquiries=b,e.syncUpdates("chat_enquery",a.chatEnquiries)})},a.initVisitorView=function(){b.get("api/chat/visitors/"+c.id).success(function(b){a.chatVisitor=b}).error(function(a){d.show(g.instant(a.message),"danger")})},a.initEnquiryView=function(){b.get("api/chat/enquiries/"+c.id).success(function(b){a.chatEnquiry=b}).error(function(a){d.show(g.instant(a.message),"danger")})},a.initRoomView=function(){console.log(c),b.get("api/chat/rooms/"+c.id).success(function(b){a.chatRoom=b}).error(function(a){d.show(g.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.statistics",{url:"/statistics",templateUrl:"app/chat/statistic/statistic.html",controller:"ChatStatisticCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]},{name:"ui.select",insertBefore:"#ng_load_plugins_before",files:["assets/plugins/ui-select/select.min.css","assets/plugins/ui-select/select.min.js"]}])}]}}).state("main.chat.statistics.summary",{url:"/summary",templateUrl:"app/chat/statistic/statistic.summary.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile-old.css"]})}]}}).state("main.chat.statistics.enquiries",{url:"/enquiries",templateUrl:"app/chat/statistic/statistic.enquiry.html"}).state("main.chat.statistics.enquiry",{url:"/enquiry/:id",controller:"ChatStatisticCtrl",templateUrl:"app/chat/statistic/statistic.enquiry.view.html"}).state("main.chat.statistics.conversations",{url:"/conversations",templateUrl:"app/chat/statistic/statistic.conversation.html"}).state("main.chat.statistics.conversation",{url:"/conversation/:id",controller:"ChatStatisticCtrl",templateUrl:"app/chat/statistic/statistic.conversation.view.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/timeline.css"]})}]}}).state("main.chat.statistics.visitors",{url:"/visitors",templateUrl:"app/chat/statistic/statistic.visitor.html"}).state("main.chat.statistics.visitor",{url:"/visitor/:id",controller:"ChatStatisticCtrl",templateUrl:"app/chat/statistic/statistic.visitor.view.html"})}]),angular.module("xCallyShuttleApp").controller("ChatTimelineListCtrl",["$scope","$http","socket",function(a,b,c){function d(b){a.events>50&&a.events.pop(),a.events.unshift(b)}a.initList=function(){a.events=[],b.get("/api/events/channel/chat").success(function(a){a.forEach(d),c.socket.on("event:chat:save",d)}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.timeline.list",{url:"/list",templateUrl:"app/chat/timeline/list/list.html",controller:"ChatTimelineListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/timeline.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.timeline",{url:"/timeline",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteListCtrl",["$scope","$http","xAlert","$translate","socket","Modal","$rootScope","stResource",function(a,b,c,d,e,f,g,h){a.conf={chatWebsitesByPage:{name:"10",value:10}},a.chatWebsitesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.chatWebsites={checked:[]},a.check=function(b,c){c?a.chatWebsites.checked=angular.copy(_.pluck(a.displayedChatWebsites,"id")):a.chatWebsites.checked=[]},a.getChatWebsites=function(b){return _.map(a.displayedChatWebsites,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){e.unsyncUpdates("chat_website"),b.url="/api/chat/websites",h.getPage(b).then(function(c){a.displayedChatWebsites=c.rows,b.pagination.numberOfPages=c.total_pages,g.updateTableConfig(a.chatWebsitesByPage,a.displayedChatWebsites.length),g.updateTableConfig(a.conf.chatWebsitesByPage,a.displayedChatWebsites.length)}),e.socket.on("chat_website:save",function(){a.initList(b)}),e.socket.on("chat_website:remove",function(c){a.chatWebsites.checked=_.without(a.chatWebsites.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("api/chat/websites/"+a).success(function(){c.show(d.instant("MESSAGE_CHAT_WEBSITE_DELETE_SUCCESS")+"!","success")}).error(function(){c.show(d.instant("MESSAGE_CHAT_WEBSITE_DELETE_FAILURE"),"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/chat/websites",{params:{id:a.chatWebsites.checked}}).success(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){c.show(a.message,"danger")})}),a.$on("$destroy",function(){e.unsyncUpdates("chat_website")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.list",{url:"/list",templateUrl:"app/chat/website/list/list.html",controller:"ChatWebsiteListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view.actions",{url:"/actions",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("chatWebsiteViewActionListCtrl",["$scope","$http","$translate","$stateParams","socket","xAlert","Modal",function(a,b,c,d,e,f,g){a.initActons=function(){console.log(d),a.sortableOptions={stop:function(){console.log("stop",_.pluck(a.chatApplications,"id")),b.post("api/chat/websites/"+d.websiteId+"/applications",{applications:_.pluck(a.chatApplications,"id")}).success(function(b){angular.copy(b,a.chatApplications)}).error(function(a){console.error(a)})}},b.get("/api/chat/applications",{params:{ChatWebsiteId:d.websiteId}}).success(function(b){a.chatApplications=b,e.socket.on("chat_application:remove",function(b){_.remove(a.chatApplications,{id:b.id})})})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("api/chat/applications/"+a).success(function(){f.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){f.show(a.message,"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view.actions.list",{url:"/list",templateUrl:"app/chat/website/view/action/list/list.html",controller:"chatWebsiteViewActionListCtrl"})}]),angular.module("xCallyShuttleApp").controller("chatWebsiteViewActionViewCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval",function(a,b,c,d,e,f,g,h,i,j){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initAction=function(){a.$application=i.application,a.$stateParams=c,a.$interval=j.interval,a.forms={},a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"}],b.get("/api/chat/applications/"+c.actionId).success(function(b){if(a.application=b,a.application.alwaysTime=!1,a.application.IntervalId)a.application.intType="list";else switch(a.application.interval){case"*,*,*,*":a.application.intType="always";break;default:a.application.intType="custom"}var c=a.application.interval.split(",");"*"===c[0]?a.application.alwaysTime=!0:(a.application.t_from=moment(new Date),a.application.t_to=moment(new Date),a.application.t_from.hour(c[0].split("-")[0].split(":")[0]),a.application.t_from.minute(c[0].split("-")[0].split(":")[1]),a.application.t_to.hour(c[0].split("-")[1].split(":")[0]),a.application.t_to.minute(c[0].split("-")[1].split(":")[1])),"*"===c[1]?(a.application.wd_from="always",a.application.wd_to="always"):(a.application.wd_from=c[1].split("-")[0],a.application.wd_to=c[1].split("-")[1]),"*"===c[2]?(a.application.md_from="always",a.application.md_to="always"):(a.application.md_from=c[2].split("-")[0],a.application.md_to=c[2].split("-")[1]),"*"===c[3]?(a.application.m_from="always",a.application.m_to="always"):(a.application.m_from=c[3].split("-")[0],a.application.m_to=c[3].split("-")[1]),console.log(c),a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})}).error(function(a){console.error(a)})},a.getQueues=function(){b.get("/api/chat/queues",{params:{page:0,per_page:500}}).success(function(b){a.queues=b.rows}).error(function(a){console.error(a)})},a.getAgents=function(){b.get("/api/agents",{params:{page:0,per_page:500}}).success(function(b){a.agents=b.rows}).error(function(a){console.error(a)})},a.getIntervals=function(){b.get("/api/intervals",{params:{page:0,per_page:500}}).success(function(b){a.intervals=b.rows}).error(function(a){console.error(a)})},a.updateItem=function(){var e=["*","*","*","*"],g={app:a.application.app,timeout:a.application.timeout,chatAccountId:c.id};switch(a.application.app){case"agent":g.UserId=a.application.UserId;break;case"queue":g.chatQueueId=a.application.chatQueueId}switch(a.application.intType){case"always":g.interval=e.join(","),delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(e[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),e[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",e[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",e[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",g.interval=e.join(","),delete a.application.IntervalId;break;case"list":g.IntervalId=a.application.IntervalId}b.put("/api/chat/applications/"+c.actionId,g).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view.actions.view",{url:"/view/:actionId",templateUrl:"app/chat/website/view/action/view/view.html",controller:"chatWebsiteViewActionViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("chatWebsiteViewActionWizardCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval",function(a,b,c,d,e,f,g,h,i,j){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){console.log(c),a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"}],a.$application=i.application,a.$stateParams=c,a.$interval=j.interval,a.forms={},a.application={alwaysTime:!0},a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})},a.getQueues=function(){b.get("/api/chat/queues",{params:{page:0,per_page:1e3}}).success(function(b){a.queues=b.rows}).error(function(a){console.error(a)})},a.getAgents=function(){b.get("/api/agents",{params:{page:0,per_page:1e3}}).success(function(b){a.agents=b.rows}).error(function(a){console.error(a)})},a.getIntervals=function(){b.get("/api/intervals",{params:{page:0,per_page:500}}).success(function(b){a.intervals=b.rows}).error(function(a){console.error(a)})},a.createItem=function(){var d=["*","*","*","*"],f={app:a.application.app,timeout:a.application.timeout,ChatWebsiteId:c.websiteId};switch(a.application.app){case"agent":f.UserId=a.application.UserId;break;case"queue":f.ChatQueueId=a.application.ChatQueueId}switch(a.application.intType){case"always":f.interval=d.join(","),delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(d[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),d[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",d[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",d[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",f.interval=d.join(","),delete a.application.IntervalId;break;case"list":f.IntervalId=a.application.IntervalId}b.post("/api/chat/applications",f).success(function(){e.path("/chat/websites/view/"+c.websiteId+"/actions/list")}).error(function(a){console.error(a)})},a.formValidation=function(a){return a},a.next=function(){g.wizard().next()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view.actions.wizard",{url:"/wizard",templateUrl:"app/chat/website/view/action/wizard/wizard.html",controller:"chatWebsiteViewActionWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view.snippet",{url:"/snippet",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteViewSnippetViewCtrl",["$scope","$http","$stateParams","$translate","Template",function(a,b,c,d,e){a.$translate=d,a.statePreview={state:"online"},a.lang={HeaderCurrentlyChatting:"Live Chat",HeaderOffline:"Contact us",OperatorOfflineMessage:"It appears as if all operators are currently offline.",OfflineMessage:"<strong>We're not online.</strong><br/>It doesn't mean we're not there to help - leave your message below and we'll be in touch as soon as possible.",EnquiryMessagePlaceholder:"Your message...",EnquiryButtonText:"Leave message",EnquirySubmitSuccess:"Your message was sucessfully submitted - we will contact you as soon as possible.",OperatorComposing:"{fullname} is typing...",FirstMessageText:"",ExitChatButtonText:"Exit Chat",ExitChatQuestionText:"Are you sure?",ExitChatButtonConfirmText:"Yes",ExitChatButtonCancelText:"No",MessagePlaceholderText:"Your message...",MessageSendButtonText:"Send",ValidationEmailRequired:"Please enter your email address",ValidationEmailInvalid:"Please enter a valid email address",ValidationEmailMaxLength:"The email address may not exceed 85 characters",ValidationUsernameRequired:"Please enter your name",ValidationUsernameMaxLength:"The name may not exceed 45 characters",ValidationEnquiryRequired:"Please enter your enquiry",ValidationEnquiryMaxLength:"The enquiry may not exceed 1500 characters",
+ValidationMessageRequired:"Please enter your message",ValidationMessageMaxLength:"The message may not exceed 750 characters"},a.initView=function(){e.get().$promise.then(function(b){console.log(b),a.mailTemplates=b.rows}),b.get("api/chat/websites/"+c.websiteId+"/snippet").success(function(b){a.snippetCode=b})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view.snippet.view",{url:"/view",templateUrl:"app/chat/website/view/snippet/view/view.html",controller:"ChatWebsiteViewSnippetViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteViewCtrl",["$scope","xAlert","$http","$location","$stateParams","$translate","WizardHandler",function(a,b,c,d,e,f,g){a.initApplication=function(){a.forms={},a.application={}},a.goNext=function(){g.wizard().next()},a.formValidation=function(a){return a},a.deleteItem=function(a){c["delete"]("api/chat/applications/"+a).error(function(){b.show(f.instant("Something went wrong!"),"danger")})},a.initView=function(){c.get("/api/chat/websites/"+e.websiteId).success(function(b){a.chatWebsite=b}).error(function(a){b.show(a.message,"danger")})},a.updateItem=function(){c.put("/api/chat/websites/"+a.chatWebsite.id,a.chatWebsite).success(function(){b.show(f.instant("MESSAGE_CHAT_WEBSITE_UPDATE_SUCCESS")+"!","success")}).error(function(){b.show(f.instant("MESSAGE_CHAT_WEBSITE_UPDATE_FAILURE"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view",{url:"/view/:websiteId",templateUrl:"app/chat/website/view/view.html",controller:"ChatWebsiteViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites",{url:"/websites",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteWizardCtrl",["$scope","$http","$location","$translate","WizardHandler","xAlert",function(a,b,c,d,e,f){a.$translate=d,a.forms={formSetting:void 0,formAppearance:void 0,formLabel:void 0,formFunctionality:void 0},a.next=function(){e.wizard().next()},a.exitValidation=function(a){return a},a.item={},a.createItem=function(){b.post("api/chat/websites",a.item).success(function(){f.show(d.instant("MESSAGE_CHAT_WEBSITE_CREATE_SUCCESS"),"success"),c.path("/chat/websites/list")}).error(function(){f.show(d.instant("MESSAGE_CHAT_WEBSITE_CREATE_FAILURE"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.wizard",{url:"/wizard",templateUrl:"app/chat/website/wizard/wizard.html",controller:"ChatWebsiteWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.companies",{url:"/companies",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("CompanyListCreateModalCtrl",["$scope","$uibModalInstance",function(a,b){a.forms={dashboard:void 0},a.item={},a.ok=function(){a.item.model=JSON.stringify({title:a.item.name}),b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("ContactManagerCompanyListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource","$uibModal","$log",function(a,b,c,d,e,f,g,h,i,j){a.conf={companiesByPage:{name:"10",value:10}},a.companiesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.Companies={checked:[]},a.check=function(b,c){c?a.Companies.checked=angular.copy(_.pluck(a.displayedCompanies,"id")):a.Companies.checked=[]},a.getCompanies=function(b){return _.map(a.displayedCompanies,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("company"),b.url="/api/contactmanager/companies",h.getPage(b).then(function(c){a.displayedCompanies=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.companiesByPage,a.displayedCompanies.length),d.updateTableConfig(a.conf.companiesByPage,a.displayedCompanies.length)}),c.socket.on("company:save",function(){console.log("save"),a.initList(b)}),c.socket.on("company:remove",function(c){a.Companies.checked=_.without(a.Companies.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/contactmanager/companies/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/contactmanager/companies",{params:{id:a.Companies.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.create=function(){var a=i.open({animation:!0,templateUrl:"app/contactmanager/company/list/create.modal.html",controller:"CompanyListCreateModalCtrl"});a.result.then(function(a){b.post("/api/contactmanager/companies",a).then(function(a){f.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.show(a.data.message,"danger")})},function(){j.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.companies.list",{url:"/list",templateUrl:"app/contactmanager/company/list/list.html",controller:"ContactManagerCompanyListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("ContactManagerCompanyViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.getCompany=function(){b.get("/api/contactmanager/companies/"+e.id).success(function(b){a.company=b}).error(function(a){f.path("/contactmanager/companies/list")})},a.updateCompany=function(){var f=angular.copy(a.company);b.put("/api/contactmanager/companies/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.company=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.companies.view",{url:"/view/:id",templateUrl:"app/contactmanager/company/view/view.html",controller:"ContactManagerCompanyViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.contactmanager.companies.view.settings",{url:"/settings",templateUrl:"app/contactmanager/company/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.contacts",{url:"/contacts",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ContactManagerListImportModalCtrl",["$scope","$uibModalInstance","indexes","csv","xAlert","socket","$http",function(a,b,c,d,e,f,g){function h(b){if(b>=a.csvLength||a.stopped)return void(a.importing=!1);var c={Phones:[],Emails:[],customFields:{}};_.forOwn(a.item,function(e,f){switch(f){case"Phones":a.item.Phones.forEach(function(a){""!==d[b][a]&&c.Phones.push({phone:d[b][a]})});break;case"Emails":a.item.Emails.forEach(function(a){""!==d[b][a]&&c.Emails.push({email:d[b][a]})});break;case"customFields":_.forOwn(a.item.customFields,function(a,e){c.customFields[e]=d[b][a]});break;case"tags":c.tags=[],a.item.tags.forEach(function(a){""!==d[b][a]&&c.tags.push(d[b][a])});break;default:c[f]=d[b][e]}}),c.tags=c.tags?c.tags.join(","):void 0,_.forOwn(c.customFields,function(a,b){""===a&&delete c.customFields[b]}),g.post("/api/contactmanager",c).success(function(c){a["import"].success+=i,a["import"].succeeded+=1,h(b+1)}).error(function(c){a["import"].fail+=i,a["import"].failed+=1,h(b+1)})}a.indexes=c,a.importing=!1,a.submitted=!1,a.stopped=!1,a["import"]={success:0,fail:0,succeeded:0,failed:0},a.csvLength=d.length;var i=100/a.csvLength;a.forms={dashboard:void 0},a.item={},a.start=function(){console.log(d),a.importing=!0,a.submitted=!0,h(0)},a.getCustomFields=function(){g.get("/api/contactmanager/customfields").success(function(b){a.customFields=b.rows,f.syncUpdates("custom_field",a.customFields)}).error(function(a){console.error(a),e.show(a.message,"danger")})},a.close=function(){b.close()},a.stop=function(){a.stopped=!0}}]),angular.module("xCallyShuttleApp").controller("ContactManagerContactListCtrl",["$scope","$http","$translate","$rootScope","xAlert","socket","Modal","stResource","FileUploader","Papa","$uibModal","$log",function(a,b,c,d,e,f,g,h,i,j,k,l){var m;i.FileSelect.prototype.isEmptyAfterSelection=function(){return!0};var n=a.uploader=new i({queueLimit:1,clearInputAfterAddedToQueue:!0});n.onAfterAddingFile=function(b){console.log("fileadded"),j.parse(b._file,{header:!0,complete:function(b){a.uploader.clearQueue(),a["import"](b.data)},error:function(a){console.log(a)}})},a["import"]=function(b){f.unsyncUpdates("contact_manager");var c=k.open({animation:!0,size:"lg",backdrop:"static",keyboard:!1,templateUrl:"app/contactmanager/contact/list/import.modal.html",controller:"ContactManagerListImportModalCtrl",resolve:{indexes:function(){return _.keys(b[0])},csv:function(){return b}}});c.result.then(function(b){console.log("dismiss and synch"),f.socket.on("contact_manager:save",function(){a.initList(m)}),f.socket.on("contact_manager:remove",function(b){a.contacts.checked=_.without(a.contacts.checked,b.id),a.initList(m)})},function(){l.info("Modal dismissed at: "+new Date)})},a.conf={contactsByPage:{name:"10",value:10},labels:["mailbox","fullname","email"]},a.contactsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.contacts={checked:[]},a.newContact=function(b){a.workspaces.push({name:"New Contact",type:"newContact",active:!0,data:b?b:null})},a.openContactTab=function(b){var c=_.find(a.workspaces,{contactID:b.id});c?c.active=!0:a.workspaces.push({name:b.fullname,type:"contact",contactID:b.id,active:!0})},a.check=function(b,c){c?a.contacts.checked=angular.copy(_.pluck(a.displayedContacts,"id")):a.contacts.checked=[]},a.getContacts=function(b){return _.map(a.displayedContacts,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("contact_manager"),b.url="/api/contactmanager",m=b,h.getPage(b).then(function(c){console.log(c),a.displayedContacts=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.contactsByPage,a.displayedContacts.length),d.updateTableConfig(a.conf.contactsByPage,a.displayedContacts.length)}),f.socket.on("contact_manager:save",function(){a.initList(b)}),f.socket.on("contact_manager:remove",function(c){a.contacts.checked=_.without(a.contacts.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/contactmanager/"+a).success(function(){e.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){e.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/contactmanager",{params:{id:a.contacts.checked}}).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(c.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.contacts.list",{url:"/list",templateUrl:"app/contactmanager/contact/list/list.html",controller:"ContactManagerContactListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager",{url:"/contactmanager",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.customfields",{url:"/customfields",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ContactManagerCustomFieldListCreateModalCtrl",["$scope","$uibModalInstance","$translate",function(a,b,c){a.$translate=c,a.forms={dashboard:void 0},a.item={},a.choices=[{value:""}],a.addField=function(){a.choices.push({})},a.removeField=function(b){a.choices.splice(b,1)},a.types=[{name:"APPLICATION_TEXT",value:"text"},{name:"APPLICATION_SELECT",value:"select"}],a.ok=function(){a.item.model=JSON.stringify({title:a.item.name}),"select"===a.item.type&&(a.item.values=angular.toJson(a.choices)),b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("ContactManagerCustomFieldListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource","$uibModal","$log",function(a,b,c,d,e,f,g,h,i,j){a.conf={cutomFieldsByPage:{name:"10",value:10}},a.customFieldsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.customFields={checked:[]},a.check=function(b,c){c?a.customFields.checked=angular.copy(_.pluck(a.displayedCustomFields,"id")):a.customFields.checked=[]},a.getCustomFields=function(b){return _.map(a.displayedCustomFields,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("custom_field"),b.url="/api/contactmanager/customfields",h.getPage(b).then(function(c){a.displayedCustomFields=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.customFieldsByPage,a.displayedCustomFields.length),d.updateTableConfig(a.conf.customFieldsByPage,a.displayedCustomFields.length)}),c.socket.on("custom_field:save",function(){console.log("save"),a.initList(b)}),c.socket.on("custom_field:remove",function(c){a.customFields.checked=_.without(a.customFields.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/contactmanager/customfields/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/contactmanager/customfields/",{params:{id:a.customFields.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.create=function(){var a=i.open({animation:!0,templateUrl:"app/contactmanager/customfield/list/create.modal.html",controller:"ContactManagerCustomFieldListCreateModalCtrl"});a.result.then(function(a){b.post("/api/contactmanager/customfields/",a).then(function(a){f.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.show(a.data.message,"danger")})},function(){j.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.customfields.list",{url:"/list",templateUrl:"app/contactmanager/customfield/list/list.html",controller:"ContactManagerCustomFieldListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("ContactManagerCustomFieldViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.getCustomField=function(){b.get("/api/contactmanager/customfields/"+e.id).success(function(b){a.customField=b,"select"===a.customField.type&&(a.choices=JSON.parse(a.customField.values))}).error(function(a){console.error(a),f.path("/contactmanager/customfields/list")})},a.updateCustomField=function(){"select"===a.customField.type&&(a.customField.values=angular.toJson(a.choices));var f=angular.copy(a.customField);b.put("/api/contactmanager/customfields/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.customField=f})},a.addField=function(){a.choices.push({})},a.removeField=function(b){a.choices.splice(b,1)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.customfields.view",{url:"/view/:id",templateUrl:"app/contactmanager/customfield/view/view.html",controller:"ContactManagerCustomFieldViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.contactmanager.customfields.view.settings",{url:"/settings",templateUrl:"app/contactmanager/customfield/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("DashboardCtrl",["$scope","$translate",function(a,b){a.voice=[{name:b.instant("APPLICATION_QUEUE"),link:"main.dashboard.voice"}],a.mail=[{name:b.instant("APPLICATION_QUEUE"),link:"main.dashboard.mail"}]}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.dashboard",{"abstract":!0,url:"/dashboard",templateUrl:"app/dashboard/dashboard.html",controller:"DashboardCtrl"}).state("main.dashboard.voice",{url:"/voice",controller:"DashboardVoiceCtrl",templateUrl:"app/dashboard/voice/voice.html"}).state("main.dashboard.mail",{url:"/mail",controller:"DashboardMailCtrl",templateUrl:"app/dashboard/mail/mail.html"})}]),angular.module("xCallyShuttleApp").controller("DashboardMailCtrl",["$scope",function(a){a.message="Hello"}]),angular.module("xCallyShuttleApp").controller("DashboardVoiceCtrl",["$scope","$http","xAlert","socket",function(a,b,c,d){function e(b,c){var d;return!b.queuecallerjoinAt||b.queuecallerleaveAt||b.queuecallercompleteAt||b.queuecallerabandonAt?b.queuecallerjoinAt&&b.queuecallerleaveAt&&!b.queuecallercompleteAt&&!b.queuecallerabandonAt?d="activeCalls":b.queuecallerjoinAt&&b.queuecallerleaveAt&&b.queuecallercompleteAt&&!b.queuecallerabandonAt?d="completedCalls":b.queuecallerjoinAt&&b.queuecallerleaveAt&&!b.queuecallercompleteAt&&b.queuecallerabandonAt&&(d="abandonedCalls"):d="waitCalls",c?d:void(d&&a.queueStats[d]++)}a.queueStats={abandonedCalls:0,completedCalls:0,waitCalls:0,activeCalls:0},a.getQueueStats=function(){b.get("/api/report/queues").then(function(b){a.queueReports=b.data,a.queueReports.forEach(function(a){e(a,!1)}),d.socket.on("report_queue:save",function(b){console.log("report save or update");var c=_.find(a.queueReports,{id:b.id}),d=a.queueReports.indexOf(c);if(c){console.log("found item, is an update");var f=e(c,!0);console.log("old item value is "+f+", decrementing..."),f&&a.queueStats[f]--,_.merge(a.queueReports[d],b)}else console.log("item not found in collection, is a create"),a.queueReports.unshift(b);console.log("checking new item type and increasing..."),e(b,!1)})})["catch"](function(a){c.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.desk",{url:"/desk",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("DeskListCtrl",["$scope","$http","$rootScope","xAlert","$translate","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={accountsByPage:{name:"10",value:10}},a.accountsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.accounts={checked:[]},a.check=function(b,c){c?a.accounts.checked=angular.copy(_.pluck(a.displayedDeskAccounts,"id")):a.accounts.checked=[]},a.getAccounts=function(b){return _.map(a.displayedDeskAccounts,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("desk_account"),b.url="/api/desk/accounts",h.getPage(b).then(function(d){a.displayedDeskAccounts=d.rows,b.pagination.numberOfPages=d.total_pages,c.updateTableConfig(a.accountsByPage,a.displayedDeskAccounts.length),c.updateTableConfig(a.conf.accountsByPage,a.displayedDeskAccounts.length)}),f.socket.on("desk_account:save",function(){a.initList(b)}),f.socket.on("desk_account:remove",function(c){a.accounts.checked=_.without(a.accounts.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/desk/accounts/"+a).success(function(){d.show(e.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/desk/accounts",{params:{id:a.accounts.checked}}).success(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.checkAccount=function(a){b.get("/api/desk/accounts/"+a+"/check").then(function(){d.show(e.instant("MESSAGE_ACCOUNT_VERIFIED"),"success")})["catch"](function(){d.show(e.instant("MESSAGE_ACCOUNT_INVALID"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.desk.list",{url:"/list",templateUrl:"app/desk/list/list.html",controller:"DeskListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("DeskViewCtrl",["$scope","$http","$stateParams","$translate","$location","WizardHandler","socket","xAlert","Modal","desk_com",function(a,b,c,d,e,f,g,h,i,j){a.$stateParams=c,a.config={autoHideScrollbar:!1,theme:"dark",advanced:{updateOnContentResize:!0},setHeight:500,scrollInertia:0},a.initConfiguration=function(){a.formsConfiguration={},a.configuration={}},a.goNext=function(){f.wizard().next()},a.formValidation=function(a){return a},a.$on("$destroy",function(){g.unsyncUpdates("desk_configuration"),g.unsyncUpdates("desk_field")}),a.initView=function(){b.get("/api/desk/accounts/"+c.id).success(function(b){a.account=b}).error(function(a){h.show(a.message,"danger")})},a.updateItem=function(){b.put("/api/desk/accounts/"+c.id,a.account).success(function(){h.show(d.instant("MESSAGE_WELL_DONE")+".","success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.getConfigurations=function(){b.get("/api/desk/configurations",{params:{AccountId:c.id}}).success(function(b){a.configurations=b,g.socket.on("desk_configuration:remove",function(b){_.remove(a.configurations,{id:b.id})})}).error(function(a){h.show(a.message,"danger")})},a.deleteConfiguration=i.confirm["delete"](function(a){b["delete"]("api/desk/configurations/"+a).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.createConfiguration=function(){a.configuration.AccountId=c.id,b.post("api/desk/configurations",a.configuration).success(function(a){e.path("desk/view/"+c.id+"/configurations/settings/"+a.id)}).error(function(){h.show("Something went wrong!","danger")})},a.fieldType=["string","variable"],a.descFieldType=["string","key_value"],a.getFields=function(){b.get("/api/desk/accounts/"+c.id+"/fields").success(function(b){a.accountFields=j.fields.concat(b)}).error(function(a){h.show(a.message,"danger")})},a.getConfiguration=function(){b.get("/api/desk/configurations/"+c.configurationId).success(function(b){a.configurationName=b.name,a.subjectConfig=b.Subject,a.descriptionConfig=b.Description,a.fieldConfig=b.Field,g.socket.on("desk_field:remove",function(b){_.remove(a.subjectConfig,{id:b.id}),_.remove(a.descriptionConfig,{id:b.id}),_.remove(a.fieldConfig,{id:b.id})})}).error(function(a){h.show(a.message,"danger")})},a.getVariables=function(){b.get("/api/variables").success(function(b){a.variables=b.rows}).error(function(a){h.show(a.message,"danger")})},a.removeItem=function(a){b["delete"]("api/desk/fields/"+a.id).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addItemSubject=function(){var d={type:"string",content:""};b.post("/api/desk/configurations/"+c.configurationId+"/subject",d).success(function(b){a.subjectConfig.push(b)}).error(function(){h.show("Something went wrong!","danger")})},a.addItemDescription=function(){var d={type:"string",content:""};b.post("/api/desk/configurations/"+c.configurationId+"/description",d).success(function(b){a.descriptionConfig.push(b)}).error(function(){h.show("Something went wrong!","danger")})},a.addItemField=function(){var d={content:""};b.post("/api/desk/configurations/"+c.configurationId+"/field",d).success(function(b){a.fieldConfig.push(b)}).error(function(){h.show("Something went wrong!","danger")})},a.updateField=function(a){b.put("/api/desk/fields/"+a.id,a).success(function(){}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.changeType=function(b){"variable"===b.type?b.content="":"string"===b.type&&(b.VariableId=null),a.updateField(b)},a.changeDescType=function(b){"key_value"===b.type?(b.content="","string"===b.keyType?b.VariableId=null:"variable"===b.keyType&&(b.keyContent="")):"string"===b.type&&(b.VariableId=null,b.key="",b.keyContent=""),a.updateField(b)},a.changeFieldType=function(b){if(b.content="",b.idField){var c=_.find(a.accountFields,"id",b.idField);c&&(b.customField=_.result(c,"custom",!0))}a.updateField(b)},a.getSystemFieldOptions=function(b){if(b){var c=_.find(a.accountFields,"id",b);return c?c.data.choices?c.data.choices:null:void 0}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.desk.view",{url:"/view/:id",templateUrl:"app/desk/view/view.html",controller:"DeskViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.desk.view.account",{url:"/account",templateUrl:"app/desk/view/view.account.html"}).state("main.desk.view.configurations",{url:"/configurations",templateUrl:"app/desk/view/view.configurations.html"}).state("main.desk.view.configurations.settings",{url:"/settings/:configurationId",templateUrl:"app/desk/view/view.configurationSettings.html",controller:"DeskViewCtrl"}).state("main.desk.view.configuration",{url:"/configuration",templateUrl:"app/desk/view/view.configuration.html"})}]),angular.module("xCallyShuttleApp").controller("DeskWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler",function(a,b,c,d,e,f){a.translate=d,a.initWizard=function(){a.$translate=d,a.forms={},a.item={}},a.next=function(){f.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){console.log(a.item),b.post("api/desk/accounts",a.item).success(function(){e.show(d.instant("MESSAGE_WELL_DONE")+".","success"),c.path("/desk/list")}).error(function(){e.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.desk.wizard",{url:"/wizard",templateUrl:"app/desk/wizard/wizard.html",controller:"DeskWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.accounts",{url:"/accounts",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("FaxAccountListCtrl",["$scope","$http","xAlert","$translate","socket","Modal","$rootScope","$log","stResource",function(a,b,c,d,e,f,g,h,i){a.conf={faxAccountsByPage:{name:"10",value:10}},a.faxAccountsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.fax_accounts={checked:[]},a.check=function(b,c){c?a.fax_accounts.checked=angular.copy(_.pluck(a.displayedFaxAccounts,"id")):a.fax_accounts.checked=[]},a.initList=function(b){e.unsyncUpdates("fax_account"),b.url="/api/fax/accounts",i.getPage(b).then(function(c){a.displayedFaxAccounts=c.rows,b.pagination.numberOfPages=c.total_pages,g.updateTableConfig(a.faxAccountsByPage,a.displayedFaxAccounts.length),g.updateTableConfig(a.conf.faxAccountsByPage,a.displayedFaxAccounts.length)}),e.socket.on("fax_account:save",function(){a.initList(b)}),e.socket.on("fax_account:remove",function(c){a.fax_accounts.checked=_.without(a.fax_accounts.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("api/fax/accounts/"+a).success(function(){c.show(d.instant("MESSAGE_FAX_ACCOUNT_DELETE_SUCCESS"),"success")}).error(function(){c.show(d.instant("MESSAGE_FAX_ACCOUNT_DELETE_FAILURE"),"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/fax/accounts",{params:{id:a.fax_accounts.checked}}).success(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){c.show(d.instant(a.message),"danger")})}),a.getFaxAccounts=function(b){return _.map(a.faxAccountsByPage,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.$on("$destroy",function(){e.unsyncUpdates("fax_account")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.accounts.list",{url:"/list",templateUrl:"app/fax/account/list/list.html",controller:"FaxAccountListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("FaxAccountViewCtrl",["$scope","$http","$stateParams","$translate","$location","WizardHandler","socket","xAlert","Modal",function(a,b,c,d,e,f,g,h,i){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.forms={},a.sortableOptions={stop:function(){b.post("api/fax/accounts/"+c.id+"/applications",{applications:_.pluck(a.faxApplications,"id")}).success(function(b){a.faxApplications=b}).error(function(a){console.error(a)})},"ui-floating":!0},a.goNext=function(){f.wizard().next()},a.formValidation=function(a){return a},a.initApplication=function(){a.forms={},a.application={}},a.deleteItem=i.confirm["delete"](function(a){b["delete"]("api/fax/applications/"+a).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.getAppdata=function(b,c){switch(b){case"agent":return a.agents?_.find(a.agents,{id:c}).name:c;case"queue":return a.faxQueues?_.find(a.faxQueues,{id:c}).name:c}return"UNKNOWN"},a.createItem=function(){switch(a.application.appdata=a.application.appdata.id,a.application.app){case"agent":a.application.UserId=parseInt(a.application.appdata,10);break;case"queue":a.application.FaxQueueId=parseInt(a.application.appdata,10)}a.application.FaxAccountId=c.id,b.post("api/fax/applications",a.application).success(function(){e.path("fax/accounts/view/"+c.id+"/routes")}).error(function(){h.show("Something went wrong!","danger")})},a.$watch("application.app",function(c){if(c){var d;switch(c){case"agent":d="api/agents";break;case"queue":d="api/fax/queues"}b.get(d).success(function(b){a.items=b.rows})}},!0),a.initView=function(){b.get("/api/trunks").success(function(b){a.trunks=b.rows}).error(function(a){console.log(a)}),b.get("/api/fax/accounts/"+c.id).success(function(b){a.account=b}).error(function(){})},a.getAgents=function(){b.get("api/fax/agents").success(function(b){a.agents=b})},a.getFaxApplications=function(){b.get("/api/fax/applications",{params:{FaxAccountId:c.id}}).success(function(b){a.faxApplications=b,g.socket.on("fax_application:remove",function(b){_.remove(a.faxApplications,{id:b.id})})}),b.get("/api/agents").success(function(b){a.agents=b.rows}),b.get("/api/fax/queues").success(function(b){a.faxQueues=b.rows})},a.updateItemFaxAccount=function(){b.put("/api/fax/accounts/"+c.id,a.account).success(function(){h.show(d.instant("MESSAGE_FAX_ACCOUNT_UPDATE_SUCCESS")+".","success")}).error(function(){h.show(d.instant("MESSAGE_FAX_ACCOUNT_UPDATE_FAILURE")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){
+a.state("main.fax.accounts.view",{url:"/view/:id",templateUrl:"app/fax/account/view/view.html",controller:"FaxAccountViewCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}}).state("main.fax.accounts.view.settings",{url:"/settings",templateUrl:"app/fax/account/view/view.settings.html",authenticate:!0}).state("main.fax.accounts.view.routes",{url:"/routes",templateUrl:"app/fax/account/view/view.routes.html",authenticate:!0}).state("main.fax.accounts.view.applications",{url:"/applications",templateUrl:"app/fax/account/view/view.applications.html",authenticate:!0})}]),angular.module("xCallyShuttleApp").controller("FaxAccountWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler",function(a,b,c,d,e,f){a.translate=d,a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){a.$translate=d,a.forms={},a.item={},a.item.ecm=!1,a.item.minrate="9600",a.item.maxrate="33600",b.get("/api/trunks").success(function(b){a.trunks=b.rows}).error(function(a){console.error(a)})},a.next=function(){f.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("api/fax/accounts",a.item).success(function(){e.show(d.instant("MESSAGE_FAX_ACCOUNT_CREATE_SUCCESS")+".","success"),c.path("/fax/accounts/list")}).error(function(){e.show(d.instant("MESSAGE_FAX_ACCOUNT_CREATE_FAILURE")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.accounts.wizard",{url:"/wizard",templateUrl:"app/fax/account/wizard/wizard.html",controller:"FaxAccountWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.automations",{url:"/automations",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("FaxAutomationListCtrl",["$scope","$http","$translate","$rootScope","stResource","Modal","socket","xAlert",function(a,b,c,d,e,f,g,h){a.conf={faxAutomationsByPage:{name:"10",value:10}},a.faxAutomationsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.onText="On",a.offText="Off",a.isActive=!0,a.size="mini",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.faxAutomations={checked:[]},a.check=function(b,c){c?a.faxAutomations.checked=angular.copy(_.pluck(a.displayedFaxAutomations,"id")):a.faxAutomations.checked=[]},a.getFaxAutomations=function(b){return _.map(a.displayedFaxAutomations,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){g.unsyncUpdates("fax_business_automation"),b.url="/api/fax/business/automations",e.getPage(b).then(function(c){a.displayedFaxAutomations=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.faxAutomationsByPage,a.displayedFaxAutomations.length),d.updateTableConfig(a.conf.faxAutomationsByPage,a.displayedFaxAutomations.length)}),g.socket.on("fax_business_automation:save",function(){a.initList(b)}),g.socket.on("fax_business_automation:remove",function(c){a.faxAutomations.checked=_.without(a.faxAutomations.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/fax/business/automations/"+a).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/fax/business/automations",{params:{id:a.faxAutomations.checked}}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(c.instant(a.message),"danger")})}),a.updateItem=function(a,d){b.put("api/fax/business/automations/"+a,{status:d}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.$on("$destroy",function(){g.unsyncUpdates("fax_business_automation")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.automations.list",{url:"/list",templateUrl:"app/fax/automation/list/list.html",controller:"FaxAutomationListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("FaxAutomationViewCtrl",["$scope","$stateParams","$http","automation","socket","xAlert","$translate","$log",function(a,b,c,d,e,f,g,h){a.initView=function(){a.forms={info:{}},a.automations=d.automations,c.get("/api/fax/business/automations/"+b.id).success(function(c){h.debug(c),a.test=c,a.automation=c,e.syncUpdatesByAttributes("business_condition",{FaxBusinessAutomationId:b.id},c.BusinessConditions)}).error(function(){f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateAutomation=function(){c.put("/api/fax/business/automations/"+a.automation.id,{name:a.automation.name,description:a.automation.description}).success(function(a){h.debug(a),f.show(g.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger"),h.error(a)})},a.getOperatorsByCondition=function(a){var b=[],c=_.find(d.automations.conditions,{key:a});return c.operators&&c.operators.length&&(b=c.operators),b},a.getAttributesByCondition=function(a){var b=[],c=_.find(d.automations.conditions,{key:a});if(c.attributes&&c.attributes.length)switch(c.key){case"createdAt":b=_.map(c.attributes,function(a){return a.value=parseInt(a.value,10),a});break;default:b=c.attributes}return b},a.addNewCondition=function(b){c.post("/api/business/conditions",{type:b,condition:"status",FaxBusinessAutomationId:a.automation.id}).success(function(b){a.automation.BusinessConditions.push(b)}).error(function(a){console.error(a),f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addNewAction=function(){c.post("/api/business/actions",{condition:"status",FaxBusinessAutomationId:a.automation.id}).success(function(b){a.automation.BusinessActions.push(b)}).error(function(a){console.error(a)})},a.removeCondition=function(a){c["delete"]("/api/business/conditions/"+a).success(function(a){console.log(a),f.show(g.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){console.error(a),f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.removeAction=function(b){c["delete"]("/api/business/actions/"+b).success(function(b){console.log(b),a.automation.BusinessActions=_.reject(a.automation.BusinessActions,{id:b.id})}).error(function(a){console.error(a),f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateCondition=function(a,b,d){var e={};e[b]=d,c.put("/api/business/conditions/"+a,e).success(function(a){console.log(a),f.show(g.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){console.error(a),f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateAction=function(a,b,d){var e={};e[b]=d,c.put("/api/business/actions/"+a,e).success(function(a){console.log(a),f.show(g.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){console.error(a),f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.automations.view",{url:"/view/:id",templateUrl:"app/fax/automation/view/view.html",controller:"FaxAutomationViewCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}}).state("main.fax.automations.view.settings",{url:"/settings",templateUrl:"app/fax/automation/view/view.settings.html",authenticate:!0}).state("main.fax.automations.view.routes",{url:"/routes",templateUrl:"app/fax/automation/view/view.routes.html",authenticate:!0}).state("main.fax.automations.view.application",{url:"/application",templateUrl:"app/fax/automation/view/view.application.html",authenticate:!0})}]),angular.module("xCallyShuttleApp").controller("FaxAutomationWizardCtrl",["$scope","$http","$location","automation","WizardHandler","xAlert","$translate",function(a,b,c,d,e,f,g){a.forms={},a.automations={or:[],and:[],actions:[]},a.addNewChoice=function(b){var c=angular.copy(d.automations);a.automations[b].push(c)},a.removeChoice=function(b,c){a.automations[b].splice(c)},a.goNext=function(){e.wizard().next()},a.createItem=function(){a.automations.or.forEach(function(a){a.condition=a.condition.key,a.type="or",delete a.conditions,delete a.actions}),a.automations.and.forEach(function(a){a.condition=a.condition.key,a.type="and",delete a.conditions,delete a.actions}),a.automations.actions.forEach(function(a){a.condition=a.condition.key,delete a.conditions,delete a.actions}),b.post("api/fax/business/automations",a.automations).success(function(){f.show(g.instant("MESSAGE_WELL_DONE"),"success"),c.path("/fax/automations/list")}).error(function(a){console.error(a),f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.formValidation=function(a){return a}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.automations.wizard",{url:"/wizard",templateUrl:"app/fax/automation/wizard/wizard.html",controller:"FaxAutomationWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax",{url:"/fax",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("FaxInboxComposeCtrl",["$scope","$http","FileUploader","$location","Auth","xAlert","$cookieStore","$translate",function(a,b,c,d,e,f,g,h){a.forms={},a.form={to:[],sto:[]},b.get("api/fax/accounts").success(function(b){a.faxAccounts=b.rows}),a.isNewMessageFromEmpty=!0;var i=a.uploader=new c({url:"api/fax/messages",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+g.get("token")}});i.filters.push({name:"pdfFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|pdf|".indexOf(b)}}),i.onBeforeUploadItem=function(b){b.formData.push({accountId:a.form.from.id,toNum:a.form.sto[0],isNewRoom:a.isNewMessageFromEmpty,userId:e.getCurrentUser().id,html:a.form.html?a.form.html:""})},i.onSuccessItem=function(a,b,c,d){console.info("onSuccessItem",a,b,c,d)},i.onErrorItem=function(a,b,c,d){console.info("onErrorItem",a,b,c,d)},i.onCompleteAll=function(){i.clearQueue(),f.show(h.instant("MESSAGE_WELL_DONE"),"success"),d.path("/fax/inbox/incoming")},i.onWhenAddingFileFailed=function(){f.show(h.instant("MESSAGE_WRONG_FORMAT"),"danger")},a.sendFax=function(){return a.form.sto.length?void(i.queue.length?i.uploadAll():b.post("api/fax/messages",{accountId:a.form.from.id,toNum:a.form.sto[0],isNewRoom:a.isNewMessageFromEmpty,userId:e.getCurrentUser().id,html:a.form.html,onlyText:!0}).success(function(){f.show(h.instant("MESSAGE_WELL_DONE"),"success"),d.path("/fax/inbox/incoming")}).error(function(a){f.show(h.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger"),console.error(a)})):(a.forms.compose.to.$valid=!1,void(a.forms.compose.to.$invalid=!0))},a.cancel=function(){a.form.sto=[],delete a.form.from}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.inbox.compose",{url:"/compose",templateUrl:"app/fax/inbox/room/room.html",controller:"FaxInboxComposeCtrl"})}]),angular.module("xCallyShuttleApp").controller("FaxInboxCtrl",["$scope","$http","$location","$translate","$timeout","$notification","Auth","socket","$interval",function(a,b,c,d,e,f,g,h,i){a.go=function(a,d,e){e?b.put("/api/fax/rooms/"+d,{status:e}).success(function(){c.path(a)}).error(function(a){console.error(a)}):c.path(a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.inbox",{url:"/inbox",templateUrl:"app/fax/inbox/inbox.html",controller:"FaxInboxCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/inbox.css","assets/css/todo.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("FaxInboxIncomingCtrl",["$scope","$http","$location","socket","Auth","xAlert",function(a,b,c,d,e,f){a.$location=c,a.getRooms=function(){e.isAdmin()?b.get("api/fax/rooms").success(function(b){a.faxRooms=b,d.syncUpdates("fax_room",a.faxRooms)}).error(function(a){console.error(a),f.show($translate.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")}):b.get("api/fax/rooms/agent/"+e.getCurrentUser().id).success(function(b){a.faxRooms=b,d.socket.on("fax_room:update",function(b){b.UserId===e.getCurrentUser().id&&a.faxRooms.push(b)})}).error(function(a){f.show($translate.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger"),console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.inbox.incoming",{url:"/incoming",templateUrl:"app/fax/inbox/incoming/incoming.html",controller:"FaxInboxIncomingCtrl"})}]),angular.module("xCallyShuttleApp").controller("FaxInboxRoomCtrl",["$scope","$http","$stateParams","$location","FileUploader","socket","Auth","xAlert","$translate","$cookieStore",function(a,b,c,d,e,f,g,h,i,j){function k(){a.lastMessage=_.reject(a.faxRoom.FaxMessages,function(a){return"RECEIVED"!==a.status}),a.lastMessage=_.sortByOrder(a.lastMessage,["id"],["desc"])[0],a.lastMessage&&(console.log(a.faxRoom),a.form.from=a.faxRoom.FaxAccount,a.form.to=[a.lastMessage.From.phone],a.form.sto=[a.lastMessage.From.phone])}var l=a.uploader=new e({url:"api/fax/messages",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+j.get("token")}});l.filters.push({name:"pdfFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|pdf|".indexOf(b)}}),l.onBeforeUploadItem=function(b){console.log(a.form.from.id,a.form.sto[0],a.isNewMessageFromEmpty,c.id,g.getCurrentUser().id),b.formData.push({accountId:a.form.from.id,toNum:a.form.sto[0],isNewRoom:a.isNewMessageFromEmpty,roomId:c.id,userId:g.getCurrentUser().id,html:a.form.html}),console.log(b)},l.onSuccessItem=function(a,b,c,d){console.info("onSuccessItem",a,b,c,d)},l.onErrorItem=function(a,b,c,d){console.info("onErrorItem",b,c,d)},l.onCompleteAll=function(){l.clearQueue(),h.show(i.instant("MESSAGE_WELL_DONE"),"success")},l.onWhenAddingFileFailed=function(){h.show(i.instant("MESSAGE_WRONG_FORMAT"),"danger")},a.initRoomView=function(){a.isNewMessageFromEmpty=!0,a.Auth=g,a.forms={},a.form={to:[],sto:[]},b.get("api/agents").success(function(b){a.agents=b}),b.get("api/fax/accounts").success(function(b){a.faxAccounts=b.rows}),c.id&&b.get("/api/fax/rooms/"+c.id).success(function(b){a.faxRoom=b,a.isNewMessageFromEmpty=!1,f.syncUpdates("fax_message",[],function(b,c){"created"===b&&c.FaxRoomId===a.faxRoom.id&&(a.faxRoom.FaxMessages.push(c),k())}),k()}).error(function(a){console.error(a),h.show(i.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.sendFax=function(){return a.form.sto.length?void(l.queue.length?l.uploadAll():b.post("api/fax/messages",{accountId:a.form.from.id,toNum:a.form.sto[0],isNewRoom:a.isNewMessageFromEmpty,userId:g.getCurrentUser().id,html:a.form.html,onlyText:!0}).success(function(){h.show(i.instant("MESSAGE_WELL_DONE"),"success"),console.log("Fax Message sent")}).error(function(a){h.show(i.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger"),console.error(a)})):(a.forms.compose.to.$valid=!1,void(a.forms.compose.to.$invalid=!0))},a.assignAgent=function(a){b.put("/api/fax/rooms/"+c.id,{UserId:a}).success(function(){h.show(i.instant("MESSAGE_WELL_DONE"),"danger")}).error(function(){h.show(i.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateStatus=function(d){b.put("/api/fax/rooms/"+c.id,{status:d}).success(function(b){a.faxRoom.status=b.status,h.show(i.instant("MESSAGE_WELL_DONE"),"danger")}).error(function(a){console.error(a),h.show(i.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.cancel=function(){a.form.sto=[],delete a.form.from,l.clearQueue()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.inbox.room",{url:"/room/:id",templateUrl:"app/fax/inbox/room/room.html",controller:"FaxInboxRoomCtrl"})}]),angular.module("xCallyShuttleApp").controller("FaxQueueListCtrl",["$scope","$rootScope","$http","$translate","socket","Modal","xAlert","stResource",function(a,b,c,d,e,f,g,h){a.$on("$destroy",function(){e.unsyncUpdates("fax_queue")}),a.conf={queuesByPage:{name:"10",value:10}},a.queuesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.faxQueues={checked:[]},a.check=function(b,c){c?a.faxQueues.checked=angular.copy(_.pluck(a.displayedFaxQueues,"id")):a.faxQueues.checked=[]},a.getFaxQueues=function(b){return _.map(a.displayedFaxQueues,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(c){e.unsyncUpdates("fax_queue"),c.url="/api/fax/queues",h.getPage(c).then(function(d){a.displayedFaxQueues=d.rows,c.pagination.numberOfPages=d.total_pages,b.updateTableConfig(d.queuesByPage,a.displayedFaxQueues.length),b.updateTableConfig(a.conf.queuesByPage,a.displayedFaxQueues.length)}),e.socket.on("fax_queue:save",function(){a.initList(c)}),e.socket.on("fax_queue:remove",function(b){a.faxQueues.checked=_.without(a.faxQueues.checked,b.id),a.initList(c)})},a.deleteItem=f.confirm["delete"](function(a){c["delete"]("/api/fax/queues/"+a).success(function(){g.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){g.show(a.message,"danger")})}),a.deleteItems=f.confirm["delete"](function(){c["delete"]("/api/fax/queues/",{params:{id:a.faxQueues.checked}}).success(function(){g.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){g.show(d.instant(a.message),"danger")})}),a.deleteItems=f.confirm["delete"](function(){c["delete"]("/api/fax/queues/",{params:{id:a.faxQueues.checked}}).success(function(){g.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){g.show(d.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.queues.list",{url:"/list",templateUrl:"app/fax/queue/list/list.html",controller:"FaxQueueListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.queues",{url:"/queues",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("FaxQueueViewCtrl",["$scope","$http","$translate","$stateParams","xAlert",function(a,b,c,d,e){var f=function(){return{select:function(c){b.post("/api/fax/queues/"+a.queue.id+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})},deselect:function(c){b.put("/api/fax/queues/"+a.queue.id+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})}}};a.getQueue=function(){b.get("/api/fax/queues/"+d.id).success(function(b){a.queue=b}).error(function(){e.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateFaxQueue=function(){var f=angular.copy(a.queue);b.put("/api/fax/queues/"+d.id,f).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"danger")}).error(function(){e.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger"),a.queue=f})},a.getTeams=function(){b.get("/api/teams").success(function(c){a.teams=c.rows,b({url:"/api/fax/user_has_queues",method:"GET",params:{FaxQueueId:a.queue.id}}).success(function(b){ComponentsDropdowns.bindFaxQueue(a.teams,_.pluck(b,"UserId"),f)})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.queues.view",{url:"/view/:id",templateUrl:"app/fax/queue/view/view.html",controller:"FaxQueueViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.fax.queues.view.settings",{url:"/settings",templateUrl:"app/fax/queue/view/view.settings.html"}).state("main.fax.queues.view.agents",{url:"/agents",templateUrl:"app/fax/queue/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("FaxQueueWizardCtrl",["$scope","$http","WizardHandler","xAlert","$translate","$location",function(a,b,c,d,e,f){a.forms={},a.item={},a.next=function(){c.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/fax/queues",a.item).success(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success"),f.path("/fax/queues/list")}).error(function(a){d.show(e.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.queues.wizard",{url:"/wizard",templateUrl:"app/fax/queue/wizard/wizard.html",controller:"FaxQueueWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("FaxTimelineListCtrl",["$scope","$http","socket","xAlert","$translate",function(a,b,c,d,e){function f(b){a.events>50&&a.events.pop(),a.events.unshift(b)}a.initList=function(){a.events=[],b.get("/api/events/channel/fax").success(function(a){a.forEach(f),c.socket.on("event:fax:save",f)}).error(function(a){console.error(a),d.show(e.instant("MESSAGE_FAX_ACCOUNT_GET_FAILURE"),"danger")})},a.$on("$destroy",function(){c.socket.removeAllListeners("event:fax:save")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.timeline.list",{url:"/list",templateUrl:"app/fax/timeline/list/list.html",controller:"FaxTimelineListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/timeline.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.timeline",{url:"/timeline",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.freshdesk",{url:"/freshdesk",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("FreshdeskListCtrl",["$scope","$http","$rootScope","xAlert","$translate","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={accountsByPage:{name:"10",value:10}},a.accountsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.accounts={checked:[]},a.check=function(b,c){c?a.accounts.checked=angular.copy(_.pluck(a.displayedFreshdeskAccounts,"id")):a.accounts.checked=[]},a.getAccounts=function(b){return _.map(a.displayedFreshdeskAccounts,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("freshdesk_account"),b.url="/api/freshdesk/accounts",h.getPage(b).then(function(d){a.displayedFreshdeskAccounts=d.rows,b.pagination.numberOfPages=d.total_pages,c.updateTableConfig(a.accountsByPage,a.displayedFreshdeskAccounts.length),c.updateTableConfig(a.conf.accountsByPage,a.displayedFreshdeskAccounts.length)}),f.socket.on("freshdesk_account:save",function(){a.initList(b)}),f.socket.on("freshdesk_account:remove",function(c){a.accounts.checked=_.without(a.accounts.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/freshdesk/accounts/"+a).success(function(){d.show(e.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/freshdesk/accounts",{params:{id:a.accounts.checked}}).success(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.checkAccount=function(a){b.get("/api/freshdesk/accounts/"+a+"/check").then(function(){d.show(e.instant("MESSAGE_ACCOUNT_VERIFIED"),"success")})["catch"](function(){d.show(e.instant("MESSAGE_ACCOUNT_INVALID"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.freshdesk.list",{url:"/list",templateUrl:"app/freshdesk/list/list.html",controller:"FreshdeskListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("FreshdeskViewCtrl",["$scope","$http","$stateParams","$translate","$location","$filter","WizardHandler","socket","xAlert","Modal",function(a,b,c,d,e,f,g,h,i,j){a.$stateParams=c,a.config={autoHideScrollbar:!1,theme:"dark",advanced:{updateOnContentResize:!0},setHeight:500,scrollInertia:0},a.initConfiguration=function(){a.formsConfiguration={},a.configuration={}},a.goNext=function(){g.wizard().next()},a.formValidation=function(a){return a},a.$on("$destroy",function(){h.unsyncUpdates("freshdesk_configuration"),h.unsyncUpdates("freshdesk_field")}),a.initView=function(){b.get("/api/freshdesk/accounts/"+c.id).success(function(b){a.account=b}).error(function(a){i.show(a.message,"danger")})},a.updateItem=function(){b.put("/api/freshdesk/accounts/"+c.id,a.account).success(function(){i.show(d.instant("MESSAGE_WELL_DONE")+".","success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.getConfigurations=function(){b.get("/api/freshdesk/configurations",{params:{AccountId:c.id}}).success(function(b){a.configurations=b,h.socket.on("freshdesk_configuration:remove",function(b){_.remove(a.configurations,{id:b.id})})}).error(function(a){i.show(a.message,"danger")})},a.deleteConfiguration=j.confirm["delete"](function(a){b["delete"]("api/freshdesk/configurations/"+a).success(function(){i.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.createConfiguration=function(){a.configuration.AccountId=c.id,b.post("api/freshdesk/configurations",a.configuration).success(function(a){e.path("freshdesk/view/"+c.id+"/configurations/settings/"+a.id)}).error(function(){i.show("Something went wrong!","danger")})},a.fieldType=["string","variable"],a.descFieldType=["string","key_value"],a.getFields=function(){b.get("/api/freshdesk/accounts/"+c.id+"/fields").success(function(b){a.accountFields=[],b=f("freshdesk")(b),_.forEach(b,function(b){a.accountFields.push(b.ticket_field)})}).error(function(a){i.show(a.message,"danger")})},a.getConfiguration=function(){b.get("/api/freshdesk/configurations/"+c.configurationId).success(function(b){a.configurationName=b.name,a.subjectConfig=b.Subject,a.descriptionConfig=b.Description,a.fieldConfig=b.Field,h.socket.on("freshdesk_field:remove",function(b){_.remove(a.subjectConfig,{id:b.id}),_.remove(a.descriptionConfig,{id:b.id}),_.remove(a.fieldConfig,{id:b.id})})}).error(function(a){i.show(a.message,"danger")})},a.getVariables=function(){b.get("/api/variables").success(function(b){a.variables=b.rows}).error(function(a){i.show(a.message,"danger")})},a.removeItem=function(a){b["delete"]("api/freshdesk/fields/"+a.id).success(function(){i.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addItemSubject=function(){var d={type:"string",content:""};b.post("/api/freshdesk/configurations/"+c.configurationId+"/subject",d).success(function(b){a.subjectConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.addItemDescription=function(){var d={type:"string",content:""};b.post("/api/freshdesk/configurations/"+c.configurationId+"/description",d).success(function(b){a.descriptionConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.addItemField=function(){var d={content:""};b.post("/api/freshdesk/configurations/"+c.configurationId+"/field",d).success(function(b){a.fieldConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.updateField=function(a){b.put("/api/freshdesk/fields/"+a.id,a).success(function(){}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.changeType=function(b){"variable"===b.type?b.content="":"string"===b.type&&(b.VariableId=null),a.updateField(b)},a.changeDescType=function(b){"key_value"===b.type?(b.content="","string"===b.keyType?b.VariableId=null:"variable"===b.keyType&&(b.keyContent="")):"string"===b.type&&(b.VariableId=null,b.key="",b.keyContent=""),a.updateField(b)},a.changeFieldType=function(b){if(b.content="",b.idField){var c=_.find(a.accountFields,"name",b.idField);c&&(b.customField=!_.result(c,"default",!0))}a.updateField(b)},a.getSystemFieldOptions=function(b){if(b){var c=_.find(a.accountFields,"name",b);return c?c.choices.length>0?c.choices:null:void 0}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.freshdesk.view",{url:"/view/:id",templateUrl:"app/freshdesk/view/view.html",controller:"FreshdeskViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.freshdesk.view.account",{url:"/account",templateUrl:"app/freshdesk/view/view.account.html"}).state("main.freshdesk.view.configurations",{url:"/configurations",templateUrl:"app/freshdesk/view/view.configurations.html"}).state("main.freshdesk.view.configurations.settings",{url:"/settings/:configurationId",templateUrl:"app/freshdesk/view/view.configurationSettings.html",controller:"FreshdeskViewCtrl"}).state("main.freshdesk.view.configuration",{url:"/configuration",templateUrl:"app/freshdesk/view/view.configuration.html"})}]),angular.module("xCallyShuttleApp").controller("FreshdeskWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler",function(a,b,c,d,e,f){a.translate=d,a.initWizard=function(){a.$translate=d,a.forms={},a.item={}},a.next=function(){f.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){console.log(a.item),b.post("api/freshdesk/accounts",a.item).success(function(){e.show(d.instant("MESSAGE_WELL_DONE")+".","success"),c.path("/freshdesk/list")}).error(function(){e.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.freshdesk.wizard",{url:"/wizard",templateUrl:"app/freshdesk/wizard/wizard.html",controller:"FreshdeskWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.integrations",{url:"/integrations",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("Integration",["$resource",function(a){return a("/api/integrations/:id/:controller",{id:"@id"})}]),angular.module("xCallyShuttleApp").controller("IntegrationListCtrl",["$scope","Modal","socket","FileUploader","Integration","xAlert",function(a,b,c,d,e,f){a.integrationsByPage=10;var g=a.uploader=new d({url:"api/integrations",autoUpload:!0,removeAfterUpload:!0});g.filters.push({name:"zipFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|zip|".indexOf(b)}}),g.onSuccessItem=function(a,b,c,d){console.info("onSuccessItem",a,b,c,d),f.show(b.name,"success")},g.onErrorItem=function(a,b,c,d){console.info("onErrorItem",a,b,c,d),b.errors.forEach(function(a){f.show(a.message,"danger")})},a.deleteItem=b.confirm["delete"](function(a){e["delete"]({id:a},function(){f.show("Integration Removed","success")},function(a){f.show(a.data.errors,"danger");
+})}),a.initList=function(){a.integrations=e.query({},function(a){c.syncUpdates("integration",a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.integrations.list",{url:"/list",templateUrl:"app/integration/list/list.html",controller:"IntegrationListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.intervals",{url:"/intervals",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("IntervalListCtrl",["$scope","$http","socket","$translate","$rootScope","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={intervalsByPage:{name:"10",value:10},labels:["name"]},a.intervalsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.intervals={checked:[]},a.check=function(b,c){c?a.intervals.checked=angular.copy(_.pluck(a.displayedIntervals,"id")):a.intervals.checked=[]},a.getIntervals=function(b){return _.map(a.displayedIntervals,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("interval"),b.url="/api/intervals",h.getPage(b).then(function(c){a.displayedIntervals=c.rows,b.pagination.numberOfPages=c.total_pages,e.updateTableConfig(a.intervalsByPage,a.displayedIntervals.length),e.updateTableConfig(a.conf.intervalsByPage,a.displayedIntervals.length)}),c.socket.on("interval:save",function(){a.initList(b)}),c.socket.on("interval:remove",function(c){a.intervals.checked=_.without(a.intervals.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/intervals/"+a).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){f.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){f.show(d.instant(a.message),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/intervals",{params:{id:a.intervals.checked}}).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(d.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.intervals.list",{url:"/list",templateUrl:"app/interval/list/list.html",controller:"IntervalListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("IntervalViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$location","WizardHandler","Modal","interval",function(a,b,c,d,e,f,g,h,i,j){a.$translate=d,a.$interval=j.interval,a.forms={subinterval:void 0,general:void 0},a.initSubInterval=function(){a.subinterval={IntervalId:e.id},a.splittedInterval={t_from:moment(new Date),t_to:moment(new Date),wd_from:"always",wd_to:"always",md_from:"always",md_to:"always",m_from:"always",m_to:"always",alwaysTime:!0}},a.next=function(){b.post("/api/intervals/validate/",a.subinterval).success(function(a){console.log(a),a.length?c.show(d.instant("MESSAGE_EXIST_SUBINTERVAL"),"danger"):h.wizard().next()}).error(function(a){c.show(d.instant(a.message),"danger")})},a.previous=function(){h.wizard().previous()},a.exitValidation=function(a){return a},a.joinInterval=function(a){console.log(a);var b,c,d,e;return b=a.t_from&&a.t_to&&!a.alwaysTime?moment(a.t_from).format("HH:mm")+"-"+moment(a.t_to).format("HH:mm"):"*",a.wd_from&&"always"!==a.wd_from?(c=a.wd_from,a.wd_to&&"always"!==a.wd_to&&(c+="-"+a.wd_to)):c="*",a.md_from&&"always"!==a.md_from?(d=a.md_from,a.md_to&&"always"!==a.md_to&&(d+="-"+a.md_to)):d="*",a.m_from&&"always"!==a.m_from?(e=a.m_from,a.m_to&&"always"!==a.m_to&&(e+="-"+a.m_to)):e="*",b+","+c+","+d+","+e},a.getInterval=function(){b.get("/api/intervals/"+e.id).success(function(b){a.interval=b,a.subIntervals=b.SubIntervals,f.unsyncUpdates("interval"),f.socket.on("interval:remove",function(b){b.id&&_.remove(a.subIntervals,function(a){return b.id===a.id})}),f.socket.on("interval:update",function(b){var c=_.find(a.subIntervals,{id:b.id});c.interval=b.interval}),f.socket.on("interval:save",function(b){if(b.IntervalId===e.id){var c=_.find(a.subIntervals,{id:b.id});c||a.subIntervals.push(b)}})}).error(function(a){console.error(a),g.path("/intervals/list")})},a.updateInterval=function(){var f=angular.copy(a.interval);b.put("/api/intervals/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.interval=f})},a.getSubInterval=function(){b.get("/api/intervals/"+e.appId).success(function(b){a.splittedInterval={t_from:moment(new Date),t_to:moment(new Date)},a.subinterval=b;var c,d=b.interval?b.interval.split(","):["*","*","*","*"];d.forEach(function(b,d){switch(d){case 0:"*"!==b?(c=b.split("-"),a.splittedInterval.t_from=moment(c[0],"HH:mm"),a.splittedInterval.t_to=moment(c[1],"HH:mm"),a.splittedInterval.alwaysTime=!1):(a.splittedInterval.t_from=moment(new Date),a.splittedInterval.t_to=moment(new Date),a.splittedInterval.alwaysTime=!0);break;case 1:"*"!==b?(c=b.split("-"),a.splittedInterval.wd_from=_.capitalize(c[0]),a.splittedInterval.wd_to=c[1]?_.capitalize(c[1]):"always"):(a.splittedInterval.wd_from="always",a.splittedInterval.wd_to="always");break;case 2:"*"!==b?(c=b.split("-"),a.splittedInterval.md_from=c[0],a.splittedInterval.md_to=c[1]?c[1]:"always"):(a.splittedInterval.md_from="always",a.splittedInterval.md_to="always");break;case 3:"*"!==b?(c=b.split("-"),a.splittedInterval.m_from=_.capitalize(c[0]),a.splittedInterval.m_to=c[1]?_.capitalize(c[1]):"always"):(a.splittedInterval.m_from="always",a.splittedInterval.m_to="always")}})}).error(function(a){console.error(a),g.path("/intervals/view/"+e.id+"/subintervals")})},a.createItem=function(){a.subinterval.interval=a.joinInterval(a.splittedInterval),b.post("/api/intervals/",a.subinterval).success(function(){g.path("/intervals/view/"+e.id+"/subintervals")}).error(function(a){c.show(d.instant(a.message),"danger")})},a.updateItem=function(){a.subinterval.interval=a.joinInterval(a.splittedInterval),b.put("/api/intervals/"+e.appId,a.subinterval).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),g.path("/intervals/view/"+e.id+"/subintervals")}).error(function(a){c.show(d.instant(a.message),"danger")})},a.deleteItem=i.confirm["delete"](function(a){b["delete"]("/api/intervals/"+a).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){console.log(a),c.show(d.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.intervals.view",{url:"/view/:id",templateUrl:"app/interval/view/view.html",controller:"IntervalViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.intervals.view.settings",{url:"/settings",templateUrl:"app/interval/view/view.settings.html"}).state("main.intervals.view.subintervals",{url:"/subintervals",templateUrl:"app/interval/view/view.subintervals.html",cache:!1}).state("main.intervals.view.subinterval",{url:"/subinterval",templateUrl:"app/interval/view/view.subinterval.html",authenticate:!0}).state("main.intervals.view.subintervals.settings",{url:"/settings/:appId",templateUrl:"app/interval/view/view.subintervalSettings.html",authenticate:!0,controller:"IntervalViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("IntervalWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","$translate",function(a,b,c,d,e,f){a.forms={interval:void 0},a.item={},a.next=function(){b.post("/api/intervals/validate/",a.item).success(function(a){console.log(a),a.length?e.show(f.instant("MESSAGE_EXIST_INTERVAL"),"danger"):c.wizard().next()}).error(function(a){e.show(f.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/intervals/",a.item).success(function(a){d.path("/intervals/view/"+a.id+"/subintervals")}).error(function(a){e.show(f.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.intervals.wizard",{url:"/wizard",templateUrl:"app/interval/wizard/wizard.html",controller:"IntervalWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("LoginCtrl",["$scope","Auth","$location","$window","$rootScope",function(a,b,c,d,e){a.userLogin={},a.userSignUp={},a.loginSubmitted=!1,a.signupSubmitted=!1,a.errorLogin=!1,a.errorSignup=!1,a.errorLog="",a.flagLogin1=!1,a.toogleLogin=function(){a.flagLogin1=!a.flagLogin1},e.bodyLayout="login",a.$on("$viewContentLoaded",function(){Metronic.init(),Layout.init()}),a.login=function(d){a.loginSubmitted=!0,d.$valid?b.login({name:a.userLogin.name,password:a.userLogin.password,remember:a.userLogin.remember}).then(function(){c.path("/dashboard/voice")})["catch"](function(b){a.errorLog=b.message,a.errorLogin=!0}):a.errorLogin=!0},a.signup=function(d){a.signupSubmitted=!0,d.$valid?b.createUser({email:a.userSignUp.email,fullname:a.userSignUp.fullname,name:a.userSignUp.name,password:a.userSignUp.password,role:a.userSignUp.role,online:!0}).then(function(){c.path("/")})["catch"](function(b){a.errorLog=b.message,a.errorSignup=!0}):a.errorSignup=!0},a.loginOauth=function(a){d.location.href="/auth/"+a}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("login",{url:"/login",templateUrl:"app/login/login.html",controller:"LoginCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/login.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts",{url:"/accounts",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MailAccountListCtrl",["$scope","$http","socket","$translate","$rootScope","Modal","stResource","xAlert",function(a,b,c,d,e,f,g,h){a.conf={mailAccountsByPage:{name:"10",value:10}},a.mailAccountsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.mailAccounts={checked:[]},a.check=function(b,c){c?a.mailAccounts.checked=angular.copy(_.pluck(a.displayedMailAccounts,"id")):a.mailAccounts.checked=[]},a.getMailAccounts=function(b){return _.map(a.displayedMailAccounts,function(a){var c={};return b.forEach(function(b){_.isObject(b)?_.forIn(b,function(b,d){c[b]=a[d][b]}):c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("mail_server_in"),c.unsyncUpdates("mail_account"),b.url="/api/mail/accounts",g.getPage(b).then(function(c){a.displayedMailAccounts=c.rows,b.pagination.numberOfPages=c.total_pages}),c.socket.on("mail_server_in:save",function(){a.initList(b)}),c.socket.on("mail_account:save",function(){a.initList(b)}),c.socket.on("mail_account:remove",function(c){a.mailAccounts.checked=_.without(a.mailAccounts.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/mail/accounts/"+a).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(a.message,"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/mail/accounts",{params:{id:a.mailAccounts.checked}}).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(d.instant(a.message),"danger")})}),a.restart=function(a){c.socket.emit("IMAP:"+a+":RESTART",{msg:"IMAP:"+a+":RESTART"})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.list",{url:"/list",templateUrl:"app/mail/account/list/list.html",controller:"MailAccountListCtrl"})}]),angular.module("xCallyShuttleApp").factory("MailAccount",["$resource",function(a){return a("/api/mail/accounts/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("MailServerIn",["$resource",function(a){return a("/api/mail/servers/in/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("MailServerOut",["$resource",function(a){return a("/api/mail/servers/out/:id/:controller",{id:"@id"},{update:{method:"PUT"},test:{method:"GET"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.view.actions",{url:"/actions",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MailAccountViewActionListCtrl",["$scope","$http","$translate","$stateParams","socket","xAlert","Modal",function(a,b,c,d,e,f,g){a.initActons=function(){console.log(d),a.sortableOptions={stop:function(){console.log("stop",_.pluck(a.mailApplications,"id")),b.post("api/mail/accounts/"+d.accountId+"/applications",{applications:_.pluck(a.mailApplications,"id")}).success(function(b){angular.copy(b,a.mailApplications)}).error(function(a){console.error(a)})}},b.get("/api/mail/applications",{params:{MailAccountId:d.accountId}}).success(function(b){a.mailApplications=b,e.socket.on("mail_application:remove",function(b){_.remove(a.mailApplications,{id:b.id})})})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("api/mail/applications/"+a).success(function(){f.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){f.show(a.message,"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.view.actions.list",{url:"/list",templateUrl:"app/mail/account/view/action/list/list.html",controller:"MailAccountViewActionListCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailAccountViewActionViewCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval",function(a,b,c,d,e,f,g,h,i,j){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initAction=function(){a.$application=i.application,a.$stateParams=c,a.$interval=j.interval,a.forms={},a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"}],b.get("/api/mail/applications/"+c.actionId).success(function(b){if(a.application=b,a.application.alwaysTime=!1,a.application.IntervalId)a.application.intType="list";else switch(a.application.interval){case"*,*,*,*":a.application.intType="always";break;default:a.application.intType="custom"}var c=a.application.interval.split(",");"*"===c[0]?a.application.alwaysTime=!0:(a.application.t_from=moment(new Date),a.application.t_to=moment(new Date),a.application.t_from.hour(c[0].split("-")[0].split(":")[0]),a.application.t_from.minute(c[0].split("-")[0].split(":")[1]),a.application.t_to.hour(c[0].split("-")[1].split(":")[0]),a.application.t_to.minute(c[0].split("-")[1].split(":")[1])),"*"===c[1]?(a.application.wd_from="always",a.application.wd_to="always"):(a.application.wd_from=c[1].split("-")[0],a.application.wd_to=c[1].split("-")[1]),"*"===c[2]?(a.application.md_from="always",a.application.md_to="always"):(a.application.md_from=c[2].split("-")[0],a.application.md_to=c[2].split("-")[1]),"*"===c[3]?(a.application.m_from="always",a.application.m_to="always"):(a.application.m_from=c[3].split("-")[0],a.application.m_to=c[3].split("-")[1]),console.log(c),a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})}).error(function(a){console.error(a)})},a.getQueues=function(){b.get("/api/mail/queues",{params:{page:0,per_page:500}}).success(function(b){a.queues=b.rows}).error(function(a){console.error(a)})},a.getAgents=function(){b.get("/api/agents",{params:{page:0,per_page:500}}).success(function(b){a.agents=b.rows}).error(function(a){console.error(a)})},a.getIntervals=function(){b.get("/api/intervals",{params:{page:0,per_page:500}}).success(function(b){a.intervals=b.rows}).error(function(a){console.error(a)})},a.updateItem=function(){var e=["*","*","*","*"],g={app:a.application.app,timeout:a.application.timeout,MailAccountId:c.id};switch(a.application.app){case"agent":g.UserId=a.application.UserId;break;case"queue":g.MailQueueId=a.application.MailQueueId}switch(a.application.intType){case"always":g.interval=e.join(","),delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(e[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),e[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",e[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",e[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",g.interval=e.join(","),delete a.application.IntervalId;break;case"list":g.IntervalId=a.application.IntervalId}b.put("/api/mail/applications/"+c.actionId,g).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.view.actions.view",{url:"/view/:actionId",templateUrl:"app/mail/account/view/action/view/view.html",controller:"MailAccountViewActionViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailAccountViewActionWizardCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval",function(a,b,c,d,e,f,g,h,i,j){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){console.log(c),a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"}],a.$application=i.application,a.$stateParams=c,a.$interval=j.interval,a.forms={},a.application={alwaysTime:!0},a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})},a.getQueues=function(){b.get("/api/mail/queues",{params:{page:0,per_page:500}}).success(function(b){a.queues=b.rows}).error(function(a){console.error(a)})},a.getAgents=function(){b.get("/api/agents",{params:{page:0,per_page:500}}).success(function(b){a.agents=b.rows}).error(function(a){console.error(a)})},a.getIntervals=function(){b.get("/api/intervals",{params:{page:0,per_page:500}}).success(function(b){a.intervals=b.rows}).error(function(a){console.error(a)})},a.createItem=function(){var d=["*","*","*","*"],f={app:a.application.app,timeout:a.application.timeout,MailAccountId:c.accountId};switch(a.application.app){case"agent":f.UserId=a.application.UserId;break;case"queue":f.MailQueueId=a.application.MailQueueId}switch(a.application.intType){case"always":f.interval=d.join(","),delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(d[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),d[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",d[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",d[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",f.interval=d.join(","),delete a.application.IntervalId;break;case"list":f.IntervalId=a.application.IntervalId}b.post("/api/mail/applications",f).success(function(){e.path("/mail/accounts/view/"+c.accountId+"/actions/list")}).error(function(a){console.error(a)})},a.formValidation=function(a){return a},a.next=function(){g.wizard().next()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.view.actions.wizard",{url:"/wizard",templateUrl:"app/mail/account/view/action/wizard/wizard.html",controller:"MailAccountViewActionWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailAccountViewCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","MailAccount","MailMessage","MailServerIn","MailServerOut",function(a,b,c,d,e,f,g,h,i,j){a.initView=function(){a.account=g.get({id:c.accountId})},a.updateItemMailAccount=function(){g.update({id:c.accountId},{name:a.account.name,description:a.account.description,address:a.account.address}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.show(a.message,"danger")})},a.updateItemMailServerIn=function(){i.update({id:a.account.MailServerIn.id},a.account.MailServerIn).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.show(a.message,"danger")})},a.updateItemMailServerOut=function(){j.update({id:a.account.MailServerOut.id},a.account.MailServerOut).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.show(a.message,"danger")})},a.test=function(){j.test({id:a.account.MailServerOut.id,controller:"test"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.view",{url:"/view/:accountId",templateUrl:"app/mail/account/view/view.html",controller:"MailAccountViewCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}}).state("main.mail.accounts.view.settings",{url:"/settings",templateUrl:"app/mail/account/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("MailAccountWizardCtrl",["$scope","$http","$location","$translate","WizardHandler","xAlert",function(a,b,c,d,e,f){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){a.forms={},a.info={},a["in"]={"delete":!1,ssl:!0,protocol:"IMAP",port:993,mailbox:"INBOX",filter:"UNSEEN"},a.out={ssl:!0,port:465},a.$translate=d},a.goNext=function(){e.wizard().next()},a.formValidation=function(a){return a},a.createItem=function(){var e={name:a.info.name,address:a.info.address,description:a.info.description,incoming:a["in"],outgoing:a.out};b.post("api/mail/accounts",e).success(function(){c.path("/mail/accounts/list")}).error(function(a){console.log(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.wizard",{url:"/wizard",templateUrl:"app/mail/account/wizard/wizard.html",controller:"MailAccountWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.automations",{url:"/automations",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MailAutomationListCtrl",["$scope","$http","$translate","$rootScope","stResource","Modal","socket","xAlert",function(a,b,c,d,e,f,g,h){a.conf={mailAutomationsByPage:{name:"10",value:10}},a.mailAutomationsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.onText="On",a.offText="Off",a.isActive=!0,a.size="mini",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.mailAutomations={checked:[]},a.check=function(b,c){c?a.mailAutomations.checked=angular.copy(_.pluck(a.displayedMailAutomations,"id")):a.mailAutomations.checked=[]},a.getMailAutomations=function(b){return _.map(a.displayedMailAutomations,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){g.unsyncUpdates("mail_business_automation"),b.url="/api/mail/business/automations",e.getPage(b).then(function(c){a.displayedMailAutomations=c.mailAutomations,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.mailAutomationsByPage,a.displayedMailAutomations.length),d.updateTableConfig(a.conf.mailAutomationsByPage,a.displayedMailAutomations.length)}),g.socket.on("mail_business_automation:save",function(){a.initList(b)}),g.socket.on("mail_business_automation:remove",function(c){a.mailAutomations.checked=_.without(a.mailAutomations.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/mail/business/automations/"+a).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"danger")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/mail/business/automations",{params:{id:a.mailAutomations.checked}}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(c.instant(a.message),"danger")})}),a.updateItem=function(a,d){b.put("api/mail/business/automations/"+a,{status:d}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.automations.list",{url:"/list",templateUrl:"app/mail/automation/list/list.html",controller:"MailAutomationListCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailAutomationViewCtrl",["$scope","$stateParams","$http","$translate","automation","socket","xAlert",function(a,b,c,d,e,f,g){a.initView=function(){a.forms={info:{}},a.automations=e.automations,c.get("/api/mail/business/automations/"+b.id).success(function(c){a.test=c,a.automation=c,f.syncUpdatesByAttributes("business_condition",{MailBusinessAutomationId:b.id},c.BusinessConditions)}).error(function(){})},a.updateAutomation=function(){c.put("/api/mail/business/automations/"+a.automation.id,{name:a.automation.name,description:a.automation.description}).success(function(a){g.show(d.instant("MESSAGE_WELL_DONE"),"success"),console.log(a)}).error(function(a){console.error(a)})},a.getOperatorsByCondition=function(a){var b=[],c=_.find(e.automations.conditions,{key:a});return c.operators&&c.operators.length&&(b=c.operators),b},a.getAttributesByCondition=function(a){var b=[],c=_.find(e.automations.conditions,{key:a});if(c.attributes&&c.attributes.length)switch(c.key){case"createdAt":b=_.map(c.attributes,function(a){return a.value=parseInt(a.value,10),a});break;default:b=c.attributes}return b},a.addNewCondition=function(b){c.post("/api/business/conditions",{type:b,condition:"status",MailBusinessAutomationId:a.automation.id}).success(function(b){a.automation.BusinessConditions.push(b)}).error(function(a){console.error(a)})},a.removeCondition=function(a){c["delete"]("/api/business/conditions/"+a).success(function(a){console.log(a)}).error(function(a){console.error(a)})},a.addNewAction=function(){c.post("/api/business/actions",{condition:"status",MailBusinessAutomationId:a.automation.id}).success(function(b){a.automation.BusinessActions.push(b)}).error(function(a){console.error(a)})},a.removeAction=function(b){c["delete"]("/api/business/actions/"+b).success(function(b){a.automation.BusinessActions=_.reject(a.automation.BusinessActions,{id:b.id})}).error(function(a){console.error(a)})},a.updateCondition=function(a,b,d){var e={};e[b]=d,c.put("/api/business/conditions/"+a,e).error(function(a){console.error(a)})},a.updateAction=function(a,b,d){var e={};e[b]=d,c.put("/api/business/actions/"+a,e).success(function(a){console.log(a)}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.automations.view",{url:"/view/:id",templateUrl:"app/mail/automation/view/view.html",controller:"MailAutomationViewCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}}).state("main.mail.automations.view.settings",{url:"/settings",templateUrl:"app/mail/automation/view/view.settings.html"}).state("main.mail.automations.view.routes",{url:"/routes",templateUrl:"app/mail/automation/view/view.routes.html"}).state("main.mail.automations.view.application",{url:"/application",templateUrl:"app/mail/automation/view/view.application.html"})}]),angular.module("xCallyShuttleApp").controller("MailAutomationWizardCtrl",["$scope","$http","$location","$translate","automation","WizardHandler","xAlert",function(a,b,c,d,e,f,g){a.forms={},a.automations={or:[],and:[],actions:[]},a.addNewChoice=function(b){var c=angular.copy(e.automations);a.automations[b].push(c)},a.removeChoice=function(b,c){a.automations[b].splice(c)},a.goNext=function(){return a.automations.actions.length?a.automations.or.length||a.automations.and.length?void f.wizard().next():(g.show(d.instant("MESSAGE_INSERT_AT_LEAST_ONE_CONDITION"),"danger"),!1):(g.show(d.instant("MESSAGE_INSERT_AT_LEAST_ONE_ACTION"),"danger"),!1)},a.createItem=function(){a.automations.or.forEach(function(a){a.condition=a.condition.key,a.type="or",delete a.conditions,delete a.actions}),a.automations.and.forEach(function(a){a.condition=a.condition.key,a.type="and",delete a.conditions,delete a.actions}),a.automations.actions.forEach(function(a){a.condition=a.condition.key,delete a.conditions,delete a.actions}),b.post("api/mail/business/automations",a.automations).success(function(){c.path("/mail/automations/list")}).error(function(){g.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG","danger"))})},a.formValidation=function(a){return a}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.automations.wizard",{url:"/wizard",templateUrl:"app/mail/automation/wizard/wizard.html",controller:"MailAutomationWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailComposeCtrl",["$scope","$http","$location","$cookieStore","$translate","xAlert","FileUploader","Auth",function(a,b,c,d,e,f,g,h){var i=a.uploader=new g({url:"api/mail/messages",withCredentials:!0,headers:{Authorization:"Bearer "+d.get("token")},queueLimit:1});i.onBeforeUploadItem=function(b){b.formData.push({mailAccountId:a.form.from.id,status:"SENDING",roomStatus:"OPEN",from:a.form.from.address,to:a.form.sto.join(";"),cc:a.form.scc.join(";"),subject:a.form.subject||null,html:a.form.html||null,text:a.form.text||null,attachment:!0,UserId:h.getCurrentUser().id})},i.onSuccessItem=function(a,b,c,d){console.info("onSuccessItem",a,b,c,d),f.show(e.instant("MESSAGE_MAIL_MESSAGE_SEND_SUCCESS"),"success")},i.onErrorItem=function(a,b,c,d){console.info("onErrorItem",a,b,c,d),f.show(e.instant("MESSAGE_MAIL_MESSAGE_SEND_FAILURE"),"danger")},i.onCompleteAll=function(){console.log("onCompleteAll"),c.path("/mail/inbox/incoming")},a.forms={},a.form={to:[],sto:[],cc:[],scc:[]},b.get("api/mail/accounts").success(function(b){a.mailAccounts=b.rows}),a.sendMail=function(){if(i.queue.length)console.log("file"),i.uploadAll();else{console.log("no file");var d={mailAccountId:a.form.from.id,status:"SENDING",roomStatus:"OPEN",from:a.form.from.address,to:a.form.sto.join(";"),cc:a.form.scc.join(";"),subject:a.form.subject||null,html:a.form.html||null,text:a.form.text||null,UserId:h.getCurrentUser().id};b.post("/api/mail/messages",d).success(function(){f.show(e.instant("MESSAGE_MAIL_MESSAGE_SEND_SUCCESS"),"success"),c.path("/mail/inbox/incoming")}).error(function(){f.show(e.instant("MESSAGE_MAIL_MESSAGE_SEND_FAILURE"),"danger")})}},a.cancel=function(){a.form.sto=[],a.form.scc=[],delete a.form.from,delete a.form.text,delete a.form.html}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.inbox.compose",{url:"/compose",templateUrl:"app/mail/inbox/room/room.html",controller:"MailRoomCtrl"
+})}]),angular.module("xCallyShuttleApp").controller("MailInboxCtrl",["$scope","$http","$location",function(a,b,c){a.go=function(a){c.path(a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.inbox",{url:"/inbox",template:"<div ui-view></div>",controller:"MailInboxCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/inbox.css","assets/css/todo.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("MailIncomingCtrl",["$scope","$http","$location","$translate","$timeout","socket","xAlert","Auth","stResource","Modal",function(a,b,c,d,e,f,g,h,i,j){a.$location=c,a.conf={mailRoomsByPage:{name:"10",value:10},labels:["fullname","name","email"],test:"OPEN"},a.mailRoomsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.mailRooms={checked:[]},a.check=function(b,c){c?a.mailRooms.checked=angular.copy(_.pluck(a.displayedMailRooms,"id")):a.mailRooms.checked=[]},a.initList=function(b){f.unsyncUpdates("mail_room"),b.search.predicateObject||(b.search.predicateObject={}),b.sort.predicate="createdAt",b.sort.reverse=!0,h.isAdmin()?(f.socket.on("mail_room:save",function(){e(function(){g.show(d.instant("MESSAGE_MAIL_NEW_INCOMING_MAIL"),"success"),a.initList(b)},2e3)}),f.socket.on("mail_room:remove",function(c){a.mailRooms.checked=_.without(a.mailRooms.mailRooms,c.id),a.initList(b)})):(f.socket.on("mail_room:save",function(c){c.UserId===h.getCurrentUser().id&&a.initList(b)}),f.socket.on("mail_room:remove",function(c){c.UserId===h.getCurrentUser().id&&(a.mailRooms.checked=_.without(a.mailRooms.checked,c.id),a.initList(b))})),b.url="/api/mail/rooms/",i.getPage(b).then(function(c){console.log("result",c),a.displayedMailRooms=c.mailRooms,b.pagination.numberOfPages=c.total_pages})},a.deleteItems=j.confirm["delete"](function(){b["delete"]("/api/mail/rooms",{params:{id:a.mailRooms.checked}}).success(function(){g.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){g.show(d.instant(a.message),"danger")})}),a.$on("$destroy",function(){f.unsyncUpdates("mail_room")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.inbox.incoming",{url:"/incoming",templateUrl:"app/mail/inbox/incoming/incoming.html",controller:"MailIncomingCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/inbox.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("MailRoomCtrl",["$scope","$http","$stateParams","$timeout","$cookieStore","$location","$translate","$log","$uibModal","xAlert","Auth","socket","FileUploader","MailMessage","MailAttachment",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var p=a.uploader=new m({url:"api/mail/attachments",autoUpload:!0,withCredentials:!0,headers:{Authorization:"Bearer "+e.get("token")}}),q={MailAttachments:[]};p.removeFromQueue=function(a){var b=this;o["delete"]({id:a.basename}).$promise.then(function(){var c=b.getIndexOfItem(a),d=b.queue[c];d.isUploading&&d.cancel(),b.queue.splice(c,1),d._destroy(),b.progress=b._getTotalProgress(),q.MailAttachments=_.reject(q.MailAttachments,{basename:a.basename})})["catch"](function(){j.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},p.onErrorItem=function(){j.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")},p.onSuccessItem=function(a,b,c,d){console.info("onSuccessItem",a,b,c,d);var e={size:b.size,path:b.path,name:b.name,basename:b.basename,type:b.type};a=_.merge(a,e),q.MailAttachments.push(e)},a.retry=function(a){var b=i.open({animation:!0,templateUrl:"app/mail/inbox/room/room.retry.modal.html",controller:function(a,c){a.modal={dismissable:!0,title:"APPLICATION_MESSAGE_SEND_RETRY",text:"MESSAGE_MESSAGE_SEND_RETRY",buttons:[{classes:"btn btn-success",text:"APPLICATION_RETRY",click:function(a){b.close(a)}},{classes:"btn default",text:"APPLICATION_CANCEL",click:function(a){b.dismiss(a)}}]},a.ok=function(){c.close()},a.cancel=function(){c.dismiss("cancel")}}});b.result.then(function(){n.update({id:a,status:"SENDING"},function(a){console.log(a)})},function(){h.info("Modal dismissed at: "+new Date)})},a.initRoomView=function(){a.Auth=k,a.forms={},a.form={to:[],sto:[],cc:[],scc:[]},b.get("/api/agents").success(function(b){a.agents=b.rows}),b.get("/api/mail/accounts").success(function(b){a.mailAccounts=b.rows}),b.get("/api/mail/rooms/"+c.id).success(function(c){console.log("mailRoom",c),a.mailRoom=c,l.syncUpdatesByAttributes("mail_message",{MailRoomId:a.mailRoom.id},a.mailRoom.MailMessages);var d=_.last(a.mailRoom.MailMessages);d&&a.mailRoom.MailAccount&&(a.form.from={name:a.mailRoom.MailAccount.name,address:a.mailRoom.MailAccount.address,id:a.mailRoom.MailAccount.id},a.form.to=_.remove(_.union(d.to?d.from.split(";"):[],d.cc?d.cc.split(";"):[],d.bcc?d.bcc.split(";"):[]),function(b){return b!==a.mailRoom.MailAccount.address}),a.form.cc=_.remove(_.union(d.to?d.from.split(";"):[],d.cc?d.to.split(";"):[],d.bcc?d.bcc.split(";"):[]),function(b){return b!==a.mailRoom.MailAccount.address}),a.form.bcc=_.remove(_.union(d.to?d.from.split(";"):[],d.cc?d.cc.split(";"):[],d.bcc?d.to.split(";"):[]),function(b){return b!==a.mailRoom.MailAccount.address})),"NEW"===a.mailRoom.status&&b.put("/api/mail/rooms/"+a.mailRoom.id,{status:"OPEN"})}).error(function(){})},a.sendMail=function(){var b;a.mailRoom&&(b=angular.copy(a.mailRoom.MailMessages),b=_.reject(b,function(a){return"RECEIVED"!==a.status}),b=_.sortBy(b,"id")),q=_.merge(q,{mailAccountId:a.form.from.id,status:"SENDING",roomStatus:"OPEN",from:a.form.from.address,to:a.form.sto.join(";")?a.form.sto.join(";"):null,cc:a.form.scc.join(";")?a.form.scc.join(";"):null,subject:a.form.subject||a.mailRoom.subject||null,html:a.form.html||null,text:a.form.text||null,MailRoomId:a.mailRoom?a.mailRoom.id:null}),b&&_.last(b)&&(q.inReplyTo=_.last(b).messageId),n.save(q,function(){j.show(g.instant("MESSAGE_MAIL_MESSAGE_SEND_SUCCESS"),"success")},function(){j.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.cancel=function(){a.form.sto=[],a.form.scc=[],delete a.form.text},a.updateStatus=function(d){b.put("/api/mail/rooms/"+c.id,{status:d}).success(function(b){a.mailRoom.status=b.status,j.show(g.instant("MESSAGE_STATUS_UPDATE_SUCCESS"),"success"),f.path("/mail/inbox/incoming")}).error(function(){j.show(g.instant("MESSAGE_STATUS_UPDATE_FAILURE"),"danger")})},a.assignAgents=function(){var a=i.open({animation:!0,templateUrl:"app/mail/inbox/room/room.agents.modal.html",controller:function(b,d,e,f){b.initModal=function(){e.get().$promise.then(function(a){console.log(a),b.agents=a.rows})["catch"](function(a){console.error(a)}),f.query({id:c.id,controller:"agents"}).$promise.then(function(a){console.log(a),b.item={agents:_.pluck(a,"id")}})["catch"](function(a){console.error(a)}),b.modal={dismissable:!0,title:"APPLICATION_MESSAGE_SEND_RETRY",text:"MESSAGE_MESSAGE_SEND_RETRY",buttons:[{classes:"btn btn-success",text:"APPLICATION_RETRY",click:function(b){a.close(b)}},{classes:"btn default",text:"APPLICATION_CANCEL",click:function(b){a.dismiss(b)}}]}},b.ok=function(){return f.update({id:c.id,controller:"agents",agents:b.item.agents}).$promise.then(function(){d.close()})["catch"](function(a){console.error(a)})},b.cancel=function(){d.dismiss("cancel")}}});a.result.then(function(){},function(){h.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").factory("MailRoom",["$resource",function(a){return a("/api/mail/rooms/:id/:controller",{id:"@id",controller:"@controller"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.inbox.room",{url:"/room/:id",templateUrl:"app/mail/inbox/room/room.html",controller:"MailRoomCtrl",authenticate:!0})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail",{url:"/mail",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("MailAttachment",["$resource",function(a){return a("/api/mail/attachments/:id/:controller",{id:"@id"})}]),angular.module("xCallyShuttleApp").factory("MailMessage",["$resource",function(a){return a("/api/mail/messages/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("MailQueueListCtrl",["$scope","$http","$translate","$rootScope","socket","Modal","stResource","xAlert",function(a,b,c,d,e,f,g,h){a.$on("$destroy",function(){e.unsyncUpdates("mail_queue")}),a.conf={queuesByPage:{name:"10",value:10}},a.queuesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.mailQueues={checked:[]},a.check=function(b,c){c?a.mailQueues.checked=angular.copy(_.pluck(a.displayedMailQueues,"id")):a.mailQueues.checked=[]},a.getMailQueues=function(b){return _.map(a.displayedMailQueues,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){e.unsyncUpdates("mail_queue"),b.url="/api/mail/queues/",g.getPage(b).then(function(c){a.displayedMailQueues=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(c.queuesByPage,a.displayedMailQueues.length),d.updateTableConfig(a.conf.queuesByPage,a.displayedMailQueues.length)}),e.socket.on("mail_queue:save",function(){a.initList(b)}),e.socket.on("mail_queue:remove",function(c){a.mailQueues.checked=_.without(a.mailQueues.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/mail/queues/"+a).success(function(){h.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){h.show(a.message,"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/mail/queues/",{params:{id:a.mailQueues.checked}}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(c.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.queues.list",{url:"/list",templateUrl:"app/mail/queue/list/list.html",controller:"MailQueueListCtrl"})}]),angular.module("xCallyShuttleApp").factory("MailQueue",["$resource",function(a){return a("/api/mail/queues/:id/:controller",{id:"@id"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.queues",{url:"/queues",template:"<div ui-view></div>","abstract":!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("MailQueueViewCtrl",["$scope","$http","$translate","$stateParams","xAlert",function(a,b,c,d,e){var f=function(){return{select:function(c){b.post("/api/mail/queues/"+a.queue.id+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})},deselect:function(c){b.put("/api/mail/queues/"+a.queue.id+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})}}};a.getQueue=function(){b.get("/api/mail/queues/"+d.id).success(function(b){a.queue=b}).error(function(a){console.error(a)})},a.updateMailQueue=function(){var f=angular.copy(a.queue);b.put("/api/mail/queues/"+d.id,f).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(b){e.show(b.message,"success"),a.queue=f})},a.getTeams=function(){b.get("/api/teams").success(function(c){a.teams=c.rows,b.get("/api/mail/user_has_queues",{params:{MailQueueId:a.queue.id}}).success(function(b){ComponentsDropdowns.bindMailQueue(a.teams,_.pluck(b,"UserId"),f)})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.queues.view",{url:"/view/:id",templateUrl:"app/mail/queue/view/view.html",controller:"MailQueueViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.mail.queues.view.settings",{url:"/settings",templateUrl:"app/mail/queue/view/view.settings.html"}).state("main.mail.queues.view.agents",{url:"/agents",templateUrl:"app/mail/queue/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("MailQueueWizardCtrl",["$scope","$http","$location","WizardHandler","xAlert",function(a,b,c,d,e){a.forms={},a.item={},a.next=function(){d.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/mail/queues",a.item).success(function(){c.path("/mail/queues/list")}).error(function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.queues.wizard",{url:"/wizard",templateUrl:"app/mail/queue/wizard/wizard.html",controller:"MailQueueWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.realtime",{url:"/realtime",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MailRealtimeViewAgentCtrl",["$scope","$http","socket","MailQueue","Agent",function(a,b,c,d,e){a.gridOptions={enableSorting:!1,enableFiltering:!0,columnDefs:[{name:"queueName",displayName:"Queue"},{name:"agentName",displayName:"Agent",cellClass:"text-center",cellTemplate:'<span data-ng-if="row.entity.agentName">{{row.entity.fullname}} [{{row.entity.agentName}}]</span>'},{name:"online",cellClass:"text-center",cellTemplate:'<span class="badge badge-empty" data-ng-if="row.entity.online != null" data-ng-class="row.entity.online ? \'badge-success\' : \'badge-danger\'"></span>'},{name:"lastLoginAt",cellClass:"text-center",cellTemplate:'<time data-ng-if="row.entity.agentName" is="relative-time" datetime="{{row.entity.lastLoginAt}}">April 1, 2014</time>'}],onRegisterApi:function(b){a.gridApi=b,a.gridApi.treeBase.on.rowExpanded(a,function(b){var c=_.findIndex(a.gridOptions.data,{$$hashKey:b.entity.$$hashKey});b.entity.Users&&b.entity.Users.forEach(function(b){_.find(a.gridOptions.data,{name:b.name})||a.gridOptions.data.splice(c+1,0,b)})})}},d.get(function(b){a.gridOptions.data=[],b.rows.forEach(function(b){b.$$treeLevel=0,b.queueName=b.name,a.gridOptions.data.push(b),b.Users&&b.Users.forEach(function(b){b.agentName=b.name,a.gridOptions.data.push(b)})}),c.socket.on("agent:save",function(b){var c=_.filter(a.gridOptions.data,{agentName:b.name});c.forEach(function(a){a.online=b.online,a.lastLoginAt=b.lastLoginAt})}),c.socket.on("mail_queue:save",function(b){b.$$treeLevel=0,b.queueName=b.name,a.gridOptions.data.push(b)}),c.socket.on("mail_queue:remove",function(b){_.remov(a.gridOptions.data,{queueName:b.name})}),c.socket.on("user_has_mail_queue:save",function(b){var c=_.findIndex(a.gridOptions.data,function(a){return a.queueName&&a.id===b.MailQueueId});e.get({id:b.UserId}).$promise.then(function(b){a.gridOptions.data.splice(c+1,0,{id:b.id,name:b.name,fullname:b.fullname,agentName:b.name,online:b.online,lastLoginAt:b.lastLoginAt})})["catch"](function(a){console.error(a)})}),c.socket.on("user_has_mail_queue:remove",function(b){for(var c=_.findIndex(a.gridOptions.data,function(a){return a.queueName&&a.id===b.MailQueueId}),d=c+1;d<a.gridOptions.data.length;d++)a.gridOptions.data[d].id==b.UserId&&a.gridOptions.data.splice(d,1)})},function(a){console.error(a)}),a.conf={agentsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.agentsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.$on("$destroy",function(){c.unsyncUpdates("report_mail:save"),c.unsyncUpdates("report_mail:update")}),a.initAgents=function(){b.get("/api/report/mails").success(function(b){a.agents=b,c.socket.on("report_mail:save",function(b){var c=_.find(a.agents,{id:b.id});c||a.agents.unshift(b)}),c.socket.on("report_mail:update",function(b){var c=_.find(a.agents,{id:b.id}),d=a.agents.indexOf(c);c&&_.merge(a.agents[d],b)})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.realtime.view.agents",{url:"/agents",template:"<div ui-view></div>","abstract":!0}).state("main.mail.realtime.view.agents.queues",{url:"/queues",controller:"MailRealtimeViewAgentCtrl",templateUrl:"app/mail/realtime/view/agent/agent.queues.html"}).state("main.mail.realtime.view.agents.timeline",{url:"/attempts",controller:"MailRealtimeViewAgentCtrl",templateUrl:"app/mail/realtime/view/agent/agent.timeline.html"})}]),angular.module("xCallyShuttleApp").controller("MailRealtimeViewSessionCtrl",["$scope","$http","socket",function(a,b,c){a.conf={sessionsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.sessionsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.$on("$destroy",function(){c.unsyncUpdates("report_mail:save"),c.unsyncUpdates("report_mail:update")}),a.initMails=function(){b.get("/api/report/mail/sessions").success(function(b){a.sessions=b,c.socket.on("report_mail_session:save",function(b){var c=_.find(a.sessions,{id:b.id}),d=a.sessions.indexOf(c);c?_.merge(a.sessions[d],b):a.sessions.unshift(b)})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("MailRealtimeViewCtrl",["$scope",function(a){a.agents=[{name:"Queues",link:"main.mail.realtime.view.agents.queues"},{name:"Timeline",link:"main.mail.realtime.view.agents.timeline"}],a.sessions=[{name:"Sessions",link:"main.mail.realtime.view.sessions"}]}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.realtime.view",{url:"/view",templateUrl:"app/mail/realtime/view/view.html",controller:"MailRealtimeViewCtrl"}).state("main.mail.realtime.view.sessions",{url:"/sessions",controller:"MailRealtimeViewSessionCtrl",templateUrl:"app/mail/realtime/view/session/session.html"})}]),angular.module("xCallyShuttleApp").controller("MailStatisticsCtrl",["$scope","$http","$translate","socket",function(a,b,c,d){a.message="Hello",a.$translate=c,b.get("api/mail/rooms").success(function(b){a.mailRooms=b,d.syncUpdates("mail_room",a.mailRooms)}),b.get("api/mail/messages").success(function(b){a.mailMessages=b,d.syncUpdates("mail_message",a.mailMessages)})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.statistics",{url:"/statistics",templateUrl:"app/mail/statistics/statistics.html",controller:"MailStatisticsCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.mail.statistics.summary",{url:"/summary",templateUrl:"app/mail/statistics/statistics.summary.html",controller:"MailStatisticsCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile-old.css"]})}]}})}]),angular.module("xCallyShuttleApp").controller("MailTimelineListCtrl",["$scope","$http","socket",function(a,b,c){function d(b){a.events>50&&a.events.pop(),a.events.unshift(b)}a.initList=function(){a.events=[],b.get("/api/events/channel/mail").success(function(a){a.forEach(d),c.socket.on("event:chat:save",d)}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.timeline.list",{url:"/list",templateUrl:"app/mail/timeline/list/list.html",controller:"MailTimelineListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/timeline.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.timeline",{url:"/timeline",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChooseContactModalCtrl",["$scope","$uibModalInstance","params",function(a,b,c){a.forms={choose:void 0},a.contacts=c.contacts,a.item={},a.ok=function(){a.item.contactName=_.find(a.contacts,{id:a.item.contactId}).name,b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("MainCtrl",["$scope","$http","$rootScope","$cookies","$translate","$interval","socket","Auth","xAlert","$uibModal","$log","$state",function(a,b,c,d,e,f,g,h,i,j,k,l){function m(b){a.workspaces.push({name:b.contactName,type:"contact",contactID:b.contactId,active:!0})}function n(b){a.workspaces.push({name:"New Contact",type:"newContact",active:!0,data:b})}a.awesomeThings=[],a.isLoggedIn=h.isLoggedIn,a.isAdmin=h.isAdmin,a.getCurrentUser=h.getCurrentUser,a.workspaces=[],a.mainTab={active:!0},a.closeTab=function(b){a.workspaces.splice(b,1)},a.createContact=function(c,d){d.tags=d.tags?d.tags.join(","):void 0,_.forOwn(d.customFields,function(a,b){""===a&&delete d.customFields[b]}),d.id?b.put("/api/contactmanager/join/"+d.id,d).success(function(b){a.workspaces.splice(c,1),m(b),i.show(e.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){i.show(a.message,"danger")}):b.post("/api/contactmanager",d).success(function(b){a.workspaces.splice(c,1),m({contactName:b.fullname,contactId:b.id}),i.show(e.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){i.show(a.message,"danger")})},a.chooseContact=function(a){var b=j.open({animation:!0,templateUrl:"app/main/chooseContact.modal.html",controller:"ChooseContactModalCtrl",resolve:{params:function(){return{contacts:JSON.parse(a.contacts)}}}});b.result.then(function(a){m(a)},function(){k.info("Modal dismissed at: "+new Date)})},a.updateContact=function(a,c){c.tags=c.tags?c.tags.join(","):void 0,c.CompanyId||(c.CompanyId=null),b.put("/api/contactmanager/"+c.id,c).success(function(){i.show(e.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){i.show(e.instant(a.message)+"!","danger")})},g.socket.on("report_integration:contactmanager",function(b){switch(b.event){case"openContactTab":a.chooseContact(b);break;case"newContactTab":n(b)}}),a.$on("$viewContentLoaded",function(){Metronic.init()}),c.language=e.use(),a.changeLanguage=function(a){e.use(a).then(function(a){c.language=a,("main.jscripty.projects.view"===l.current.name||"main.square.projects.view"===l.current.name)&&l.go(l.current,{},{reload:!0})})["catch"](function(a){console.error(a)})},a.$on("$destroy",function(){})}]),angular.module("xCallyShuttleApp").directive("ngSpinnerBar",["$rootScope",function(a){return{link:function(b,c){c.addClass("hide"),a.$on("$stateChangeStart",function(){"spinner-page"===c[0].id&&c.removeClass("hide")}),a.$on("$stateChangeSuccess",function(){"spinner-page"===c[0].id&&(c.addClass("hide"),$("body").removeClass("page-on-load"),Layout.setSidebarMenuActiveLink("match"),setTimeout(function(){Metronic.scrollTop()},1e3))}),a.$on("$spinnerStart",function(){"spinner-request"===c[0].id&&c.removeClass("hide")}),a.$on("$spinnerStop",function(){"spinner-request"===c[0].id&&c.addClass("hide")}),a.$on("$stateNotFound",function(){"spinner-page"===c[0].id&&c.addClass("hide")}),a.$on("$stateChangeError",function(){"spinner-page"===c[0].id&&c.addClass("hide")})}}}]).directive("a",function(){return{restrict:"E",link:function(a,b,c){(c.ngClick||""===c.href||"#"===c.href)&&b.on("click",function(a){a.preventDefault()})}}}).directive("nxEqual",function(){return{require:"ngModel",link:function(a,b,c,d){return c.nxEqual?(a.$watch(c.nxEqual,function(a){d.$setValidity("nxEqual",a===d.$viewValue)}),void d.$parsers.push(function(b){var e=b===a.$eval(c.nxEqual);return d.$setValidity("nxEqual",e),e?b:void 0})):void console.error("nxEqual expects a model as an argument!")}}}).directive("ngEnter",function(){return function(a,b,c){b.bind("keydown keypress",function(b){13===b.which&&(a.$apply(function(){a.$eval(c.ngEnter)}),b.preventDefault())})}}).directive("dropdownMenuHover",function(){return{link:function(a,b){b.dropdownHover()}}}).directive("uiSelectRequired",function(){return{require:"ngModel",link:function(a,b,c,d){d.$validators.uiSelectRequired=function(a){return a&&a.length}}}}).directive("rpattern",function(){return{restrict:"A",require:"ngModel",link:function(a,b,c,d){function e(a,b){return null==b||""===b||!h||a.test(b)?(d.$setValidity("pattern",!0),b):void d.$setValidity("pattern",!1)}var f,g=c.rpattern,h=!0;g&&(g.match(/^\/(.*)\/$/)?(g=new RegExp(g.substr(1,g.length-2)),f=function(a){return e(g,a)}):f=function(b){var c=a.$eval(g);if(!c||!c.test)throw new Error("Expected "+g+" to be a RegExp but was "+c);return e(c,b)}),d.$formatters.push(f),d.$parsers.push(f),c.$observe("required",function(a){h=a,f(d.$viewValue)})}}}).directive("queryBuilder",["$compile","xAlert","$http",function(a,b,c){return{restrict:"E",scope:{group:"=",fields:"=",operators:"=",properties:"="},templateUrl:"app/main/template.queryBuilderView.html",compile:function(d,e){var f,g;return f=d.contents().remove(),function(d,e,h){d.booleans=[{name:"AND"},{name:"OR"}],d.addCondition=function(a){"CONDITION"==a?d.group.rules.push({operator:"=",field:"",data:""}):d.group.rules.push({field:"",data:""})},d.removeCondition=function(a){d.group.rules.splice(a,1)},d.addGroup=function(a){d.group.rules.push({group:{"boolean":"AND",rules:[],type:a,main:!1}})},d.choices=[],d.removeGroup=function(){d.$parent.group.rules.splice(d.$parent.$index,1)},d.initChoices=function(a,b,c,e,f,g,h){a[g]&&d.getResults(b,c,e,f)},d.clearData=function(a,b){for(var c in b)a[b[c]]&&delete a[b[c]]},d.getResults=function(a,e,f,g,h){if(a){var i="",j={};i=a.parseUrl?a.parseUrl.replace("%s",e):a.url,a.query&&h&&(j[a.query.field]=h),c.get(i,{params:j}).success(function(a){var b=[];a.rows&&(a=a.rows),a.forEach(function(a){b.push({name:a.name,value:a.id})}),d.choices[f]||(d.choices[f]=[]),d.choices[f][g]=b}).error(function(a){b.show(a.message,"danger")})}},g||(g=a(f)),e.append(g(d,function(a){return a}))}}}}]).directive("newContact",["$compile","xAlert","$http","socket",function(a,b,c,d){return{restrict:"E",scope:{workspace:"=",index:"=",submit:"&onSubmit"},templateUrl:"app/main/template.newContactTab.html",compile:function(a,e){return function(a,e,f){a.forms={general:{}},a.item={Phones:[],Emails:[],customFields:{}},a.joinPrompt=!1,a.checkboxes={},a.workspace.data&&(a.item.fullname=a.workspace.data.calleridname?a.workspace.data.calleridname:a.workspace.data.messageId?a.workspace.data.messageId:a.workspace.data.uniqueid?a.workspace.data.uniqueid:"",a.workspace.data.calleridnum&&a.item.Phones.push({phone:a.workspace.data.calleridnum}),a.workspace.data.from&&a.item.Emails.push({email:a.workspace.data.from})),a.getTags=function(){c.get("/api/tags").success(function(b){a.tags=_.pluck(b.rows,"name")}).error(function(a){console.error(a),b.show(a.message,"danger")})},a.getCompanies=function(){c.get("/api/contactmanager/companies").success(function(b){a.companies=b.rows,d.syncUpdates("company",a.companies)}).error(function(a){console.error(a),b.show(a.message,"danger")})},a.getCustomFields=function(){c.get("/api/contactmanager/customfields").success(function(b){a.customFields=b.rows,a.customFields.forEach(function(a){a.values=JSON.parse(a.values)}),d.syncUpdates("custom_field",a.customFields,function(a,b){"string"==typeof b.values&&(b.values=JSON.parse(b.values))})}).error(function(a){console.error(a),b.show(a.message,"danger")})},a.addField=function(b){a.item[b].push({}),a.joinPrompt=!1},a.removeField=function(b,c){a.item[b].splice(c,1),a.joinPrompt=!1},a.getTags(),a.getCompanies(),a.getCustomFields()}}}}]).directive("contact",["$compile","xAlert","$http","socket",function(a,b,c,d){return{restrict:"E",scope:{workspace:"=",index:"=",submit:"&onSubmit"},templateUrl:"app/main/template.contactTab.html",compile:function(a,e){return function(a,e,f){a.moment=moment,a.forms={general:{}},a.detail={tab:"main"},a.log={journal:{show:"Phones",type:"Inbounds",detail:"general"},history:{show:"Phones",type:"HistoryInbounds",detail:"general"}},a.columns={Phones:{general:{header:["APPLICATION_SOURCE","APPLICATION_DESTINATION","APPLICATION_DATE"],indexes:["source","destination","createdAt"]},QueueCalls:{header:["APPLICATION_CALLERID","APPLICATION_QUEUE","APPLICATION_DATE"],indexes:["calleridnum","queue","createdAt"]},ReportAgents:{header:["APPLICATION_AGENT","APPLICATION_QUEUE","APPLICATION_DATE"],indexes:["membername","queue","agentcalledAt"]},HistoryQueueCalls:{header:["APPLICATION_CALLERID","APPLICATION_QUEUE","APPLICATION_DATE"],indexes:["calleridnum","queue","createdAt"]},HistoryReportAgents:{header:["APPLICATION_AGENT","APPLICATION_QUEUE","APPLICATION_DATE"],indexes:["membername","queue","createdAt"]}},Emails:{general:{header:["APPLICATION_FROM","APPLICATION_TO","APPLICATION_DATE"],indexes:["from","to","createdAt"]}}},a.rows={journal:[],history:[]},a.itemsByPage=15,a.rowCollection=[],a._=_,a.getRows=function(b){a.rows[b]=[],_.forEach(a.contact[a.log[b].show],function(c){console.log(c),"general"===a.log[b].detail?a.rows[b]=a.rows[b].concat(c[a.log[b].type]):_.forEach(c[a.log[b].type],function(c){a.rows[b]=a.rows[b].concat(c[a.log[b].detail])})}),console.log(a.rows[b])},a.addField=function(b){a.contact[b].push({})},a.removeField=function(b,c){a.contact[b].splice(c,1)},a.getContact=function(d){console.log("get contact in tab"),c.get("/api/contactmanager/"+d).success(function(b){b.tags=b.tags?b.tags.split(","):[],a.contact=b,a.getRows("journal"),a.getRows("history"),a.contact.customFields={},a.contact.CustomFields.forEach(function(b){a.contact.customFields[b.id]=b.ContactHasCustomField.value})}).error(function(a){console.error(a),b.show(a.message,"danger")})},a.getTags=function(){c.get("/api/tags").success(function(b){a.tags=_.pluck(b.rows,"name")}).error(function(a){console.error(a),b.show(a.message,"danger")})},a.getCompanies=function(){c.get("/api/contactmanager/companies").success(function(b){a.companies=b.rows,d.syncUpdates("company",a.companies)}).error(function(a){console.error(a),b.show(a.message,"danger")})},a.getCustomFields=function(){c.get("/api/contactmanager/customfields/all").success(function(b){a.customFields=b,a.customFields.forEach(function(a){a.values=JSON.parse(a.values)}),d.syncUpdates("custom_field",a.customFields,function(a,b){"string"==typeof b.values&&(b.values=JSON.parse(b.values))})}).error(function(a){console.error(a),b.show(a.message,"danger")})},a.getTags(),a.getCompanies(),a.getCustomFields(),a.getContact(a.workspace.contactID)}}}}]).directive("reportBuilder",["$compile",function(a){return{restrict:"E",scope:{group:"=",fields:"=",forms:"=",firstCall:"="},templateUrl:"app/main/template.reportBuilderView.html",compile:function(b,c){var d,e;return d=b.contents().remove(),function(b,c,f){b.operators=[{name:"AND"},{name:"OR"}],b.conditions=[{name:"="},{name:"!="},{name:"<"},{name:"<="},{name:">"},{name:">="},{name:"LIKE"}],b.addCondition=function(){b.group.rules.push({condition:"=",field:"",value:""})},b.removeCondition=function(a){b.group.rules.splice(a,1)},b.addGroup=function(){b.group.rules.push({group:{operator:"AND",rules:[{condition:"=",field:"",value:""}]}})},b.randomName=function(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")},b.removeGroup=function(){b.$parent.group&&b.$parent.group.rules.splice(b.$parent.$index,1)},e||(e=a(d)),c.append(e(b,function(a){return a}))}}}}]).directive("dynamicName",["$compile",function(a){return{restrict:"A",terminal:!0,priority:1e3,link:function(b,c,d){c.attr("name",b.$eval(d.dynamicName)),c.removeAttr("dynamic-name"),a(c)(b)}}}]).directive("onReadFile",["$parse",function(a){
+return{restrict:"A",scope:!1,link:function(b,c,d){var e=a(d.onReadFile);c.on("change",function(a){var c=new FileReader;c.onload=function(a){b.$apply(function(){e(b,{$fileContent:a.target.result})})},c.readAsText((a.srcElement||a.target).files[0])})}}}]),angular.module("xCallyShuttleApp").filter("capitalize",function(){return function(a){return a?a.replace(/([^\W_]+[^\s-]*) */g,function(a){return a.charAt(0).toUpperCase()+a.substr(1).toLowerCase()}):""}}).filter("salesforce",function(){var a=["CallDisposition","CallDurationInSeconds","CallObject","CallType","IsArchived","Priority","Status","Type"];return function(b){return _.remove(b,function(b){return b.custom===!1&&a.indexOf(b.name)<0}),b}}).filter("sugarcrm",function(){var a=["account_id","account_name","account_name1","assigned_user_name","assigned_user_id","case_number","created_by","created_by_name","date_entered","date_modified","deleted","description","id","modified_by_name","modified_user_id","name"];return function(b){return _.remove(b,function(b){return a.indexOf(b.name)>=0}),b}}).filter("freshdesk",function(){var a=["requester","subject","agent","description"];return function(b){return _.remove(b,function(b){return a.indexOf(b.ticket_field.name)>=0}),b}}).filter("zendesk",function(){var a=["subject","assignee","description"];return function(b){return _.remove(b,function(b){return a.indexOf(b.type)>=0}),b}}),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main",{"abstract":!0,templateUrl:"app/main/main.html",controller:"MainCtrl",resolve:{authorization:["$q","Auth","$state","$timeout","$location",function(a,b,c,d,e){return b.getToken()?a.when():(d(function(){e.path("/login")}),a.reject())}],deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}})}]),angular.module("xCallyShuttleApp").factory("xAlert",["$translate","Notification",function(a,b){return{show:function(c,d){switch(d){case"success":b.success({message:c,title:'<i class="glyphicon glyphicon-ok"></i> <strong>'+a.instant("MESSAGE_SUCCESS")+"!</strong>",delay:5e3});break;case"info":b.info({message:c,title:'<i class="glyphicon glyphicon-info-sign"></i> <strong>'+a.instant("MESSAGE_INFO")+"!</strong>",delay:5e3});break;case"danger":b.error({message:c,title:'<i class="glyphicon glyphicon-exclamation-sign"></i> <strong>'+a.instant("MESSAGE_ERROR")+"!</strong>",delay:1e4});break;case"warning":b.warning({message:c,title:'<i class="glyphicon glyphicon-warning-sign"></i> <strong>'+a.instant("MESSAGE_WARNING")+"!</strong>",delay:1e4});break;default:b.info(c)}}}}]).factory("stResource",["$q","$filter","$timeout","$rootScope","$http","$translate","xAlert",function(a,b,c,d,e,f,g){return{getPage:function(b){var c={page:Math.ceil(b.pagination.start/b.pagination.number),per_page:b.pagination.number};b.sort.predicate&&(c.sort_by=b.sort.predicate,c.sort_order=b.sort.reverse?"DESC":"ASC"),_.forIn(b.search.predicateObject,function(a,b){c[b]=a}),b.search.params&&(c.clientQuery={},_.forIn(b.search.params,function(a,b){c.clientQuery[b]=a})),d.$broadcast("$spinnerStart"),e.get(b.url,{params:c}).success(function(a){h.resolve(a),d.$broadcast("$spinnerStop")}).error(function(a){g.show(f.instant(a.message),"danger"),d.$broadcast("$spinnerStop")});var h=a.defer();return h.promise}}}]),angular.module("xCallyShuttleApp").controller("MarketCtrl",["$scope","$http","$translate","socket","xAlert","Modal","$timeout",function(a,b,c,d,e,f,g){function h(a,b){return Math.floor(Math.random()*(b-a+1))+a}a.initView=function(){b.get("/api/integrations").success(function(b){a.integrations=b,a.groupedIntegration=_.chunk(a.integrations,4),d.syncUpdates("integration",a.integrations,function(){a.groupedIntegration=_.chunk(a.integrations,4)})}).error(function(a){e.show(a.message,"danger")})},a.isProgressing=!1,a.$on("$destroy",function(){d.unsyncUpdates("integration")}),a.installIntegration=function(d){a.status="Downloading",a.percentage=h(1,50),a.isProgressing=!0,d.downloading=!0,b.put("/api/integrations/"+d.id,{active:!0}).success(function(){g(function(){a.percentage=h(51,99),a.status="Installing"},2500),g(function(){a.percentage=100,a.isProgressing=!1,a.status="Completed!",d.downloading=!1,e.show(c.instant("MESSAGE_WELL_DONE")+".","success")},5e3)}).error(function(){d.downloading=!1,a.percentage=0,a.isProgressing=!1,e.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.uninstallIntegration=function(d){a.status="Uninstalling",a.percentage=h(1,99),a.isProgressing=!0,d.downloading=!0,b.put("/api/integrations/"+d.id,{active:!1}).success(function(){g(function(){a.percentage=100,a.isProgressing=!1,a.status="Completed!",d.downloading=!1,e.show(c.instant("MESSAGE_WELL_DONE")+".","success")},5e3)}).error(function(){d.downloading=!1,a.percentage=0,a.isProgressing=!1,e.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.market",{url:"/market",templateUrl:"app/market/market.html",controller:"MarketCtrl"})}]),angular.module("xCallyShuttleApp").controller("MotionbarCtrl",["$scope","$stateParams","$cookieStore","settings","Auth",function(a,b,c,d,e){e.loginWithToken(b.token,b.userId,b.name),a.getCurrentUser=e.getCurrentUser,d.layout.pageQuickSidebarOpened=!0}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("motionbar",{url:"/motionbar",template:"<div ui-view></div>","abstract":!0}).state("motionbar.chat",{url:"/chat?token&userId&name",templateUrl:"app/motionbar/motionbar.chat.html",controller:"MotionbarCtrl"})}]),angular.module("xCallyShuttleApp").controller("SalesforceListCtrl",["$scope","$http","$rootScope","xAlert","$translate","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={accountsByPage:{name:"10",value:10}},a.accountsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.accounts={checked:[]},a.check=function(b,c){c?a.accounts.checked=angular.copy(_.pluck(a.displayedSalesforceAccounts,"id")):a.accounts.checked=[]},a.getAccounts=function(b){return _.map(a.displayedSalesforceAccounts,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("salesforce_account"),b.url="/api/salesforce/accounts",h.getPage(b).then(function(d){a.displayedSalesforceAccounts=d.rows,b.pagination.numberOfPages=d.total_pages,c.updateTableConfig(a.accountsByPage,a.displayedSalesforceAccounts.length),c.updateTableConfig(a.conf.accountsByPage,a.displayedSalesforceAccounts.length)}),f.socket.on("salesforce_account:save",function(){a.initList(b)}),f.socket.on("salesforce_account:remove",function(c){a.accounts.checked=_.without(a.accounts.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/salesforce/accounts/"+a).success(function(){d.show(e.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/salesforce/accounts",{params:{id:a.accounts.checked}}).success(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.checkAccount=function(a){b.get("/api/salesforce/accounts/"+a+"/check").then(function(){d.show(e.instant("MESSAGE_ACCOUNT_VERIFIED"),"success")})["catch"](function(){d.show(e.instant("MESSAGE_ACCOUNT_INVALID"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.salesforce.list",{url:"/list",templateUrl:"app/salesforce/list/list.html",controller:"SalesforceListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.salesforce",{url:"/salesforce",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SalesforceViewCtrl",["$scope","$http","$stateParams","$translate","$location","WizardHandler","socket","xAlert","Modal","$filter",function(a,b,c,d,e,f,g,h,i,j){a.$stateParams=c,a.config={autoHideScrollbar:!1,theme:"dark",advanced:{updateOnContentResize:!0},setHeight:500,scrollInertia:0},a.initConfiguration=function(){a.formsConfiguration={},a.configuration={}},a.goNext=function(){f.wizard().next()},a.formValidation=function(a){return a},a.$on("$destroy",function(){g.unsyncUpdates("salesforce_configuration"),g.unsyncUpdates("salesforce_field")}),a.initView=function(){b.get("/api/salesforce/accounts/"+c.id).success(function(b){a.account=b}).error(function(a){h.show(a.message,"danger")})},a.updateItem=function(){b.put("/api/salesforce/accounts/"+c.id,a.account).success(function(){h.show(d.instant("MESSAGE_WELL_DONE")+".","success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.getConfigurations=function(){b.get("/api/salesforce/configurations",{params:{AccountId:c.id}}).success(function(b){a.configurations=b,g.socket.on("salesforce_configuration:remove",function(b){_.remove(a.configurations,{id:b.id})})}).error(function(a){h.show(a.message,"danger")})},a.deleteConfiguration=i.confirm["delete"](function(a){b["delete"]("api/salesforce/configurations/"+a).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.createConfiguration=function(){a.configuration.AccountId=c.id,b.post("api/salesforce/configurations",a.configuration).success(function(a){e.path("salesforce/view/"+c.id+"/configurations/settings/"+a.id)}).error(function(){h.show("Something went wrong!","danger")})},a.fieldType=["string","variable"],a.descFieldType=["string","key_value"],a.getFields=function(){b.get("/api/salesforce/accounts/"+c.id+"/fields").success(function(b){a.accountFields=_.sortByOrder(j("salesforce")(b),"name","asc")}).error(function(a){h.show(a.message,"danger")})},a.getConfiguration=function(){b.get("/api/salesforce/configurations/"+c.configurationId).success(function(b){a.configurationName=b.name,a.subjectConfig=b.Subject,a.descriptionConfig=b.Description,a.fieldConfig=b.Field,g.socket.on("salesforce_field:remove",function(b){_.remove(a.subjectConfig,{id:b.id}),_.remove(a.descriptionConfig,{id:b.id}),_.remove(a.fieldConfig,{id:b.id})})}).error(function(a){h.show(a.message,"danger")})},a.getVariables=function(){b.get("/api/variables").success(function(b){a.variables=b.rows}).error(function(a){h.show(a.message,"danger")})},a.removeItem=function(a){b["delete"]("api/salesforce/fields/"+a.id).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addItemSubject=function(){var d={type:"string",content:""};b.post("/api/salesforce/configurations/"+c.configurationId+"/subject",d).success(function(b){a.subjectConfig.push(b)}).error(function(){h.show("Something went wrong!","danger")})},a.addItemDescription=function(){var d={type:"string",content:""};b.post("/api/salesforce/configurations/"+c.configurationId+"/description",d).success(function(b){a.descriptionConfig.push(b)}).error(function(){h.show("Something went wrong!","danger")})},a.addItemField=function(){var d={content:""};b.post("/api/salesforce/configurations/"+c.configurationId+"/field",d).success(function(b){a.fieldConfig.push(b)}).error(function(){h.show("Something went wrong!","danger")})},a.updateField=function(a){b.put("/api/salesforce/fields/"+a.id,a).success(function(){}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.changeType=function(b){"variable"===b.type?b.content="":"string"===b.type&&(b.VariableId=null),a.updateField(b)},a.changeDescType=function(b){"key_value"===b.type?(b.content="","string"===b.keyType?b.VariableId=null:"variable"===b.keyType&&(b.keyContent="")):"string"===b.type&&(b.VariableId=null,b.key="",b.keyContent=""),a.updateField(b)},a.changeFieldType=function(b){b.content="",a.updateField(b)},a.getSystemFieldOptions=function(b){if(b){var c=_.find(a.accountFields,"name",b);if(c)switch(c.type){case"picklist":return c.picklistValues;default:return}}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.salesforce.view",{url:"/view/:id",templateUrl:"app/salesforce/view/view.html",controller:"SalesforceViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.salesforce.view.account",{url:"/account",templateUrl:"app/salesforce/view/view.account.html"}).state("main.salesforce.view.configurations",{url:"/configurations",templateUrl:"app/salesforce/view/view.configurations.html"}).state("main.salesforce.view.configurations.settings",{url:"/settings/:configurationId",templateUrl:"app/salesforce/view/view.configurationSettings.html",controller:"SalesforceViewCtrl"}).state("main.salesforce.view.configuration",{url:"/configuration",templateUrl:"app/salesforce/view/view.configuration.html"})}]),angular.module("xCallyShuttleApp").controller("SalesforceWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler",function(a,b,c,d,e,f){a.translate=d,a.initWizard=function(){a.$translate=d,a.forms={},a.item={}},a.next=function(){f.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){console.log(a.item),b.post("api/salesforce/accounts",a.item).success(function(){e.show(d.instant("MESSAGE_WELL_DONE")+".","success"),c.path("/salesforce/list")}).error(function(){e.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.salesforce.wizard",{url:"/wizard",templateUrl:"app/salesforce/wizard/wizard.html",controller:"SalesforceWizardCtrl"})}]),angular.module("xCallyShuttleApp").factory("License",["$resource",function(a){return a("/api/licenses/:id/:controller",{id:"@id"},{request:{method:"POST",params:{id:"request"}}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.license",{url:"/license",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("LicenseViewCtrl",["$scope","$rootScope","$translate","License","xAlert",function(a,b,c,d,e){a.initView=function(){d.get(function(b){a.item=b.license})},a.submitRequest=function(){d.request(a.item,function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")},function(a){switch(a.status){case 304:e.show(a.statusText,"info");break;default:e.show(a.statusText,"danger")}})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.license.view",{url:"/view",templateUrl:"app/setting/license/view/view.html",controller:"LicenseViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/pricing-tables.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting",{url:"/setting",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("Smtp",["$resource",function(a){return a("/api/mail/servers/out/:id/:controller",{id:"@id"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.smtp",{url:"/smtp",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SmtpViewCtrl",["$scope","$stateParams","$translate","MailServerOut","xAlert",function(a,b,c,d,e){a.initView=function(){a.item={},d.get({id:"service"}).$promise.then(function(b){a.item=b})["catch"](function(a){e.show(a.message,"danger")})},a.updateItem=function(){a.item.id?d.update({id:a.item.id},a.item).$promise.then(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){e.show(a.message,"danger")}):(a.item.service=!0,d.save(a.item).$promise.then(function(b){a.item=b,e.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){e.show(a.message,"danger")}))},a.test=function(){d.test({id:a.item.id,controller:"test"}).$promise.then(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){e.show(a.statusText,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.smtp.view",{url:"/view",templateUrl:"app/setting/smtp/view/view.html",controller:"SmtpViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("TemplateListCtrl",["$scope","$http","$translate","$rootScope","socket","Modal","stResource","xAlert",function(a,b,c,d,e,f,g,h){a.$on("$destroy",function(){e.unsyncUpdates("mail_template")}),a.conf={templatesByPage:{name:"10",value:10}},a.templatesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.Templates={checked:[]},a.check=function(b,c){c?a.Templates.checked=angular.copy(_.pluck(a.displayedTemplates,"id")):a.Templates.checked=[]},a.getTemplates=function(b){return _.map(a.displayedTemplates,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){e.unsyncUpdates("mail_template"),b.url="/api/mail/templates/",g.getPage(b).then(function(c){a.displayedTemplates=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(c.templatesByPage,a.displayedTemplates.length),d.updateTableConfig(a.conf.templatesByPage,a.displayedTemplates.length)}),e.socket.on("mail_template:save",function(){a.initList(b)}),e.socket.on("mail_template:remove",function(c){a.Templates.checked=_.without(a.Templates.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/mail/templates/"+a).success(function(){h.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){h.show(a.message,"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/mail/templates/",{params:{id:a.Templates.checked}}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(c.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.templates.list",{url:"/list",templateUrl:"app/setting/template/list/list.html",controller:"TemplateListCtrl"})}]),angular.module("xCallyShuttleApp").factory("Template",["$resource",function(a){return a("/api/mail/templates/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.templates",{url:"/templates",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("TemplateViewCtrl",["$scope","$http","$translate","$stateParams","xAlert","Template",function(a,b,c,d,e,f){a.initItem=function(){a.form={},a.item={},a.groups=[{title:"Voice",variables:[]},{title:"Chat",variables:["username","email","text","chatWebsite"]},{title:"Mail",variables:[]},{title:"Fax",variables:[]}],a.item=f.get({id:d.id})},a.updateItem=function(){f.update(a.item).$promise.then(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.templates.view",{url:"/view/:id",templateUrl:"app/setting/template/view/view.html",controller:"TemplateViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.setting.templates.view.settings",{url:"/settings",templateUrl:"app/setting/template/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("TemplateWizardCtrl",["$scope","$location","$http","WizardHandler","xAlert","MailServerOut","Template",function(a,b,c,d,e,f,g){a.initWizard=function(){a.item={},a.form={},a.groups=[{title:"Voice",variables:[]},{title:"Chat",variables:["username","email","text","chatWebsite"]},{title:"Mail",variables:[]},{title:"Fax",variables:[]}],a.mailAccounts=f.query()},a.next=function(){d.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){var c={name:a.item.name,description:a.item.description,subject:a.item.subject||null,html:a.item.html||null,text:a.item.text||null};g.save(c).$promise.then(function(){b.path("/templates/list")})["catch"](function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.templates.wizard",{url:"/wizard",templateUrl:"app/setting/template/wizard/wizard.html",controller:"TemplateWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("UpdateListCtrl",["$scope","$uibModal","$log","$translate","Update","xAlert",function(a,b,c,d,e,f){a.conf={updatesByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.updatesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.initList=function(){e.query(function(b){a.updates=b})},a.pull=function(){var a=b.open({animation:!0,templateUrl:"app/setting/update/list/list.pull.html",controller:function(a,b){a.modal={dismissable:!0,title:"Confirm Checkout",html:"Are you sure you want to checkout?",buttons:[{classes:"btn btn-success",text:"Checkout",click:function(){b.close()}},{classes:"btn default",text:"Cancel",click:function(){b.dismiss("cancel")}}]}}});a.result.then(function(){e.pull(function(a){a.summary.changes?f.show(d.instant("APPLICATION_UPDATED_TO_LATEST_VERSION"),"success"):f.show(d.instant("APPLICATION_ALREADY_UP_TO_DATE"),"info")},function(a){f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},function(){c.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.updates.list",{url:"/list",templateUrl:"app/setting/update/list/list.html",controller:"UpdateListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").factory("Update",["$resource",function(a){return a("/api/updates/:id/:controller",{id:"@id"},{pull:{method:"GET",params:{id:"pull"}},checkout:{method:"GET",params:{id:"checkout"}}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.updates",{url:"/updates",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SoundListCtrl",["$scope","$http","socket","Modal","$q","FileUploader","$translate","xAlert","$cookieStore","$sce",function(a,b,c,d,e,f,g,h,i,j){a.isCollapsed=!0,a.audioSources={},a["delete"]=d.confirm["delete"](function(a){b["delete"]("/api/uploads/"+a).success(function(a){}).error(function(a){console.log(a)})}),a.getAudioSrc=function(a){return"/api/uploads/"+a},a.updateAudio=function(a,c){var d=e.defer();return b.put("/api/uploads/"+a,c).success(function(a){d.resolve()}).error(function(a){console.log(a.message),d.reject(a.message)}),d.promise},a.$on("$destroy",function(){c.unsyncUpdates("upload")}),a.initList=function(){b.get("/api/uploads").success(function(b){a.sounds=b,a.sounds.forEach(function(a){k(a)}),c.syncUpdates("upload",a.sounds)}).error(function(a){})};var k=function(c){b.get("/api/uploads/stream/"+c.id).success(function(b){a.audioSources[c.id]=b}).error(function(a){console.error(a)})};a.getSecureSrc=function(a){return j.trustAsResourceUrl("data:audio/ogg;base64,"+a)},a.getSecureDownloadSrc=function(a){return j.trustAsResourceUrl("data:application/octet-stream;charset=utf-16le;base64,"+a)};var l=a.uploader=new f({url:"/api/uploads",withCredentials:!0,headers:{Authorization:"Bearer "+i.get("token")}});l.filters.push({name:"customFilter",fn:function(a,b){return this.queue.length<10}}),l.onWhenAddingFileFailed=function(a,b,c){console.info("onWhenAddingFileFailed",a,b,c)},l.onAfterAddingFile=function(a){console.info("onAfterAddingFile",a)},l.onAfterAddingAll=function(a){console.info("onAfterAddingAll",a)},l.onBeforeUploadItem=function(a){console.info("onBeforeUploadItem",a)},l.onProgressItem=function(a,b){console.info("onProgressItem",a,b),a.isUploading=!0},l.onProgressAll=function(a){console.info("onProgressAll",a)},l.onSuccessItem=function(a,b,c,d){console.info("onSuccessItem",a,b,c,d),a.isUploading=!1},l.onErrorItem=function(a,b,c,d){console.info("onErrorItem",a,b,c,d),a.responseMessage=b,a.isUploading=!1},l.onCancelItem=function(a,b,c,d){console.info("onCancelItem",a,b,c,d),a.isUploading=!1},l.onCompleteItem=function(a,b,c,d){console.info("onCompleteItem",a,b,c,d),a.isUploading=!1},l.onCompleteAll=function(){console.info("onCompleteAll")},console.info("uploader",l)}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.sounds.list",{url:"/list",templateUrl:"app/sound/list/list.html",controller:"SoundListCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.sounds",{url:"/sounds",templateUrl:"app/sound/sound.html","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SquareOdbcListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={odbcsByPage:{name:"10",value:10}},a.odbcsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.Odbcs={checked:[]},a.check=function(b,c){c?a.Odbcs.checked=angular.copy(_.pluck(a.displayedOdbcs,"id")):a.Odbcs.checked=[]},a.getOdbcs=function(b){return _.map(a.displayedOdbcs,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("square_odbc"),b.url="/api/square/odbc",h.getPage(b).then(function(c){a.displayedOdbcs=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.odbcsByPage,a.displayedOdbcs.length),d.updateTableConfig(a.conf.odbcsByPage,a.displayedOdbcs.length)}),c.socket.on("square_odbc:save",function(){a.initList(b)}),c.socket.on("square_odbc:remove",function(c){a.Odbcs.checked=_.without(a.Odbcs.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/square/odbc/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/square/odbc",{params:{id:a.Odbcs.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.odbcs.list",{url:"/list",templateUrl:"app/square/odbc/list/list.html",controller:"SquareOdbcListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.odbcs",{url:"/odbcs",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SquareOdbcViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.getOdbc=function(){b.get("/api/square/odbc/"+e.id).success(function(b){delete b.pwd,a.odbc=b}).error(function(a){console.error(a),f.path("/square/odbcs/list")})},a.updateOdbc=function(){var f=angular.copy(a.odbc);b.put("/api/square/odbc/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.odbc=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.odbcs.view",{url:"/view/:id",templateUrl:"app/square/odbc/view/view.html",controller:"SquareOdbcViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.square.odbcs.view.settings",{url:"/settings",templateUrl:"app/square/odbc/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("SquareOdbcWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","$translate",function(a,b,c,d,e,f){a.forms={odbc:void 0},a.item={},a.next=function(){b.post("/api/square/odbc/validate/",a.item).success(function(a){a.length?e.show(f.instant("MESSAGE_EXIST_ODBC"),"danger"):c.wizard().next()}).error(function(a){e.show(f.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/square/odbc/",a.item).success(function(){d.path("/square/odbcs/list")}).error(function(a){e.show(f.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.odbcs.wizard",{url:"/wizard",templateUrl:"app/square/odbc/wizard/wizard.html",controller:"SquareOdbcWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("SquareProjectListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={projectsByPage:{name:"10",value:10}},a.projectsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.Projects={checked:[]},a.check=function(b,c){c?a.Projects.checked=angular.copy(_.pluck(a.displayedProjects,"id")):a.Projects.checked=[]},a.getProjects=function(b){return _.map(a.displayedProjects,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("square_project"),b.url="/api/square/projects",h.getPage(b).then(function(c){a.displayedProjects=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.projectsByPage,a.displayedProjects.length),d.updateTableConfig(a.conf.projectsByPage,a.displayedProjects.length)}),c.socket.on("square_project:save",function(){a.initList(b)}),c.socket.on("square_project:remove",function(c){a.Projects.checked=_.without(a.Projects.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/square/projects/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/square/projects",{params:{id:a.Projects.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.projects.list",{url:"/list",templateUrl:"app/square/project/list/list.html",controller:"SquareProjectListCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.projects",{url:"/projects",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SquareProjectViewCtrl",["$scope","$http","$stateParams","socket","Auth","Modal","xAlert","$translate","$rootScope",function(a,b,c,d,e,f,g,h,i){
+a.squareProject={},a.getProject=function(){b.get("/api/square/projects/"+c.id).success(function(b){a.squareProject=b,angular.element(document).ready(function(){window.onerror=function(a,b,c){try{if(null!=a&&-1!=a.indexOf("Script error."));else{var d=new Image;d.src="assets/plugins/mxgraph/images/1x1.png?msg="+encodeURIComponent(a)+"&url="+encodeURIComponent(b)+"&lnum="+encodeURIComponent(c)}}catch(e){}},b.token=e.getToken();var a=new EditorUi(new Editor);a.openString(b.preproduction,b.name,b),a.editor.graphChangeListener=function(a,b){var c=b.properties.rtChange||!1;c||(this.modified=!0)}}),d.syncUpdates("square_project",[b],function(a,c,d){c.id===b.id})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.projects.view",{url:"/view/:id",templateUrl:"app/square/project/view/view.html",controller:"SquareProjectViewCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",serie:!0,cache:!1,files:["assets/plugins/mxgraph/css/common.css","assets/plugins/mxgraph/css/explorer.css","assets/plugins/mxgraph/styles/grapheditor.css","assets/plugins/mxgraph/styles/custom.css","assets/plugins/square/js/custom.js","assets/plugins/mxgraph/js/mxClient.js","assets/plugins/square/js/Editor.js","assets/plugins/square/js/Graph.js","assets/plugins/square/js/EditorUi.js","assets/plugins/square/js/Actions.js","assets/plugins/square/js/Menus.js","assets/plugins/square/js/Sidebar.js","assets/plugins/square/js/Toolbar.js","assets/plugins/square/js/Dialogs.js"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("SquareProjectWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","$translate",function(a,b,c,d,e,f){a.forms={project:void 0},a.item={},a.next=function(){b.post("/api/square/projects/validate/",a.item).success(function(a){a.length?e.show(f.instant("MESSAGE_EXIST_PROJECT"),"danger"):c.wizard().next()}).error(function(a){e.show(f.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/square/projects/",a.item).success(function(){d.path("/square/projects/list")}).error(function(a){e.show(f.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.projects.wizard",{url:"/wizard",templateUrl:"app/square/project/wizard/wizard.html",controller:"SquareProjectWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square",{url:"/square",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SugarcrmListCtrl",["$scope","$http","$rootScope","xAlert","$translate","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={accountsByPage:{name:"10",value:10}},a.accountsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.accounts={checked:[]},a.check=function(b,c){c?a.accounts.checked=angular.copy(_.pluck(a.displayedSugarcrmAccounts,"id")):a.accounts.checked=[]},a.getAccounts=function(b){return _.map(a.displayedSugarcrmAccounts,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("sugarcrm_account"),b.url="/api/sugarcrm/accounts",h.getPage(b).then(function(d){a.displayedSugarcrmAccounts=d.rows,b.pagination.numberOfPages=d.total_pages,c.updateTableConfig(a.accountsByPage,a.displayedSugarcrmAccounts.length),c.updateTableConfig(a.conf.accountsByPage,a.displayedSugarcrmAccounts.length)}),f.socket.on("sugarcrm_account:save",function(){a.initList(b)}),f.socket.on("sugarcrm_account:remove",function(c){a.accounts.checked=_.without(a.accounts.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/sugarcrm/accounts/"+a).success(function(){d.show(e.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/sugarcrm/accounts",{params:{id:a.accounts.checked}}).success(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.checkAccount=function(a){b.get("/api/sugarcrm/accounts/"+a+"/check").then(function(){d.show(e.instant("MESSAGE_ACCOUNT_VERIFIED"),"success")})["catch"](function(){d.show(e.instant("MESSAGE_ACCOUNT_INVALID"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.sugarcrm.list",{url:"/list",templateUrl:"app/sugarcrm/list/list.html",controller:"SugarcrmListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.sugarcrm",{url:"/sugarcrm",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SugarcrmViewCtrl",["$scope","$http","$stateParams","$translate","$location","$filter","WizardHandler","socket","xAlert","Modal",function(a,b,c,d,e,f,g,h,i,j){a.$stateParams=c,a.config={autoHideScrollbar:!1,theme:"dark",advanced:{updateOnContentResize:!0},setHeight:500,scrollInertia:0},a.initConfiguration=function(){a.formsConfiguration={},a.configuration={}},a.goNext=function(){g.wizard().next()},a.formValidation=function(a){return a},a.$on("$destroy",function(){h.unsyncUpdates("sugarcrm_configuration"),h.unsyncUpdates("sugarcrm_field")}),a.initView=function(){b.get("/api/sugarcrm/accounts/"+c.id).success(function(b){a.account=b}).error(function(a){i.show(a.message,"danger")})},a.updateItem=function(){b.put("/api/sugarcrm/accounts/"+c.id,a.account).success(function(){i.show(d.instant("MESSAGE_WELL_DONE")+".","success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.getConfigurations=function(){b.get("/api/sugarcrm/configurations",{params:{AccountId:c.id}}).success(function(b){a.configurations=b,h.socket.on("sugarcrm_configuration:remove",function(b){_.remove(a.configurations,{id:b.id})})}).error(function(a){i.show(a.message,"danger")})},a.deleteConfiguration=j.confirm["delete"](function(a){b["delete"]("api/sugarcrm/configurations/"+a).success(function(){i.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.createConfiguration=function(){a.configuration.AccountId=c.id,b.post("api/sugarcrm/configurations",a.configuration).success(function(a){e.path("sugarcrm/view/"+c.id+"/configurations/settings/"+a.id)}).error(function(){i.show("Something went wrong!","danger")})},a.fieldType=["string","variable"],a.descFieldType=["string","key_value"],a.getFields=function(){b.get("/api/sugarcrm/accounts/"+c.id+"/fields").success(function(b){a.accountFields=_.sortByOrder(f("sugarcrm")(_.toArray(b)),"name","asc"),_.forEach(b,function(a){a.options=_.toArray(a.options)})}).error(function(a){i.show(a.message,"danger")})},a.getConfiguration=function(){b.get("/api/sugarcrm/configurations/"+c.configurationId).success(function(b){a.configurationName=b.name,a.subjectConfig=b.Subject,a.descriptionConfig=b.Description,a.fieldConfig=b.Field,h.socket.on("sugarcrm_field:remove",function(b){_.remove(a.subjectConfig,{id:b.id}),_.remove(a.descriptionConfig,{id:b.id}),_.remove(a.fieldConfig,{id:b.id})})}).error(function(a){i.show(a.message,"danger")})},a.getVariables=function(){b.get("/api/variables").success(function(b){a.variables=b.rows}).error(function(a){i.show(a.message,"danger")})},a.removeItem=function(a){b["delete"]("api/sugarcrm/fields/"+a.id).success(function(){i.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addItemSubject=function(){var d={type:"string",content:""};b.post("/api/sugarcrm/configurations/"+c.configurationId+"/subject",d).success(function(b){a.subjectConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.addItemDescription=function(){var d={type:"string",content:""};b.post("/api/sugarcrm/configurations/"+c.configurationId+"/description",d).success(function(b){a.descriptionConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.addItemField=function(){var d={content:""};b.post("/api/sugarcrm/configurations/"+c.configurationId+"/field",d).success(function(b){a.fieldConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.updateField=function(a){b.put("/api/sugarcrm/fields/"+a.id,a).success(function(){}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.changeType=function(b){"variable"===b.type?b.content="":"string"===b.type&&(b.VariableId=null),a.updateField(b)},a.changeDescType=function(b){"key_value"===b.type?(b.content="","string"===b.keyType?b.VariableId=null:"variable"===b.keyType&&(b.keyContent="")):"string"===b.type&&(b.VariableId=null,b.key="",b.keyContent=""),a.updateField(b)},a.changeFieldType=function(b){b.content="",a.updateField(b)},a.getSystemFieldOptions=function(b){if(b){var c=_.find(a.accountFields,"name",b);return c?c.options.length>0?c.options:null:void 0}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.sugarcrm.view",{url:"/view/:id",templateUrl:"app/sugarcrm/view/view.html",controller:"SugarcrmViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.sugarcrm.view.account",{url:"/account",templateUrl:"app/sugarcrm/view/view.account.html"}).state("main.sugarcrm.view.configurations",{url:"/configurations",templateUrl:"app/sugarcrm/view/view.configurations.html"}).state("main.sugarcrm.view.configurations.settings",{url:"/settings/:configurationId",templateUrl:"app/sugarcrm/view/view.configurationSettings.html",controller:"SugarcrmViewCtrl"}).state("main.sugarcrm.view.configuration",{url:"/configuration",templateUrl:"app/sugarcrm/view/view.configuration.html"})}]),angular.module("xCallyShuttleApp").controller("SugarcrmkWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler",function(a,b,c,d,e,f){a.translate=d,a.initWizard=function(){a.$translate=d,a.forms={},a.item={}},a.next=function(){f.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("api/sugarcrm/accounts",a.item).success(function(){e.show(d.instant("MESSAGE_WELL_DONE")+".","success"),c.path("/sugarcrm/list")}).error(function(){e.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.sugarcrm.wizard",{url:"/wizard",templateUrl:"app/sugarcrm/wizard/wizard.html",controller:"SugarcrmkWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("TagListCreateModalCtrl",["$scope","$uibModalInstance",function(a,b){a.forms={dashboard:void 0},a.item={},a.ok=function(){a.item.model=JSON.stringify({title:a.item.name}),b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("TagListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource","$uibModal","$log",function(a,b,c,d,e,f,g,h,i,j){a.conf={tagsByPage:{name:"10",value:10}},a.tagsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.Tags={checked:[]},a.check=function(b,c){c?a.Tags.checked=angular.copy(_.pluck(a.displayedTags,"id")):a.Tags.checked=[]},a.getTags=function(b){return _.map(a.displayedTags,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("tag"),b.url="/api/tags",h.getPage(b).then(function(c){console.log(c),a.displayedTags=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.tagsByPage,a.displayedTags.length),d.updateTableConfig(a.conf.tagsByPage,a.displayedTags.length)}),c.socket.on("tag:save",function(){console.log("save"),a.initList(b)}),c.socket.on("tag:remove",function(c){a.Tags.checked=_.without(a.Tags.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/tags/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/tags",{params:{id:a.Tags.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.create=function(){var a=i.open({animation:!0,templateUrl:"app/tag/list/create.modal.html",controller:"TagListCreateModalCtrl"});a.result.then(function(a){b.post("/api/tags",a).then(function(a){f.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.show(a.data.message,"danger")})},function(){j.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tags.list",{url:"/list",templateUrl:"app/tag/list/list.html",controller:"TagListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tags",{url:"/tags",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("TagViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.getTag=function(){b.get("/api/tags/"+e.id).success(function(b){a.tag=b}).error(function(a){console.error(a),f.path("/tags/list")})},a.updateTag=function(){var f=angular.copy(a.tag);b.put("/api/tags/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.tag=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tags.view",{url:"/view/:id",templateUrl:"app/tag/view/view.html",controller:"TagViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.tags.view.settings",{url:"/settings",templateUrl:"app/tag/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("TeamListCtrl",["$scope","$http","$translate","$rootScope","xAlert","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={teamsByPage:{name:"10",value:10}},a.teamsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.teams={checked:[]},a.check=function(b,c){c?a.teams.checked=angular.copy(_.pluck(a.displayedTeams,"id")):a.teams.checked=[]},a.getTeams=function(b){return _.map(a.displayedTeams,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("team"),b.url="/api/teams/",h.getPage(b).then(function(c){a.displayedTeams=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.teamsByPage,a.displayedTeams.length),d.updateTableConfig(a.conf.teamsByPage,a.displayedTeams.length)}),f.socket.on("team:save",function(){a.initList(b)}),f.socket.on("team:remove",function(c){a.teams.checked=_.without(a.teams.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("api/teams/"+a).success(function(){e.show(c.instant("MESSAGE_TEAM_DELETE_SUCCESS"),"success")}).error(function(){e.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/teams",{params:{id:a.teams.checked}}).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(c.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.teams.list",{url:"/list",templateUrl:"app/team/list/list.html",controller:"TeamListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.teams",{url:"/teams",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("TeamViewCtrl",["$scope","$http","$stateParams","$translate","xAlert",function(a,b,c,d,e){a.message="Hello";var f=function(){return{select:function(c){b.post("/api/teams/"+a.team.id+"/agents",{agents:c}).error(function(a){console.error(a)})},deselect:function(c){b.put("/api/teams/"+a.team.id+"/agents",{agents:c}).error(function(a){console.error(a)})}}};a.initView=function(){b.get("/api/teams/"+c.id).success(function(b){a.team=b}).error(function(a){e.show(a.message,"danger")})},a.initAgents=function(){b.get("/api/agents").success(function(d){a.agents=d.rows,b.get("/api/user_has_teams",{params:{TeamId:c.id}}).success(function(b){ComponentsDropdowns.bindTeam(_.pluck(b,"UserId"),_.map(a.agents,function(a){return{id:a.id,name:a.name}}),f)}).error(function(a){console.error(a)})})},a.updateItem=function(){var f=angular.copy(a.team),g=angular.copy(a.team);b.put("/api/teams/"+c.id,f).success(function(){e.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(b){a.team=g,b.errors.forEach(function(a){e.show(a.message,"danger")})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.teams.view",{url:"/view/:id",templateUrl:"app/team/view/view.html",controller:"TeamViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.teams.view.agents",{url:"/agents",templateUrl:"app/team/view/view.agents.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]}])}]}}).state("main.teams.view.settings",{url:"/settings",templateUrl:"app/team/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("TeamWizardCtrl",["$scope","$http","$translate","$location","WizardHandler","xAlert",function(a,b,c,d,e,f){a.forms={info:void 0},a.item={},a.createItem=function(){b.post("api/teams",a.item).success(function(){f.show(c.instant("MESSAGE_TEAM_CREATE_SUCCESS"),"success"),d.path("/teams/list")}).error(function(a){a.errors.forEach(function(a){f.show(a.message,"danger")})})},a.goNext=function(){e.wizard().next()},a.formValidation=function(a){return a}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.teams.wizard",{url:"/wizard",templateUrl:"app/team/wizard/wizard.html",controller:"TeamWizardCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({name:"ui.select",insertBefore:"#ng_load_plugins_before",files:["assets/plugins/ui-select/select.min.css","assets/plugins/ui-select/select.min.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("TriggerListCtrl",["$scope","$http","$translate","$rootScope","stResource","Modal","socket","xAlert",function(a,b,c,d,e,f,g,h){a.conf={TriggersByPage:{name:"10",value:10}},a.TriggersByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.onText="On",a.offText="Off",a.isActive=!0,a.size="mini",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.Triggers={checked:[]},a.check=function(b,c){c?a.Triggers.checked=angular.copy(_.pluck(a.displayedTriggers,"id")):a.Triggers.checked=[]},a.getTriggers=function(b){return _.map(a.displayedTriggers,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){g.unsyncUpdates("trigger"),b.url="/api/triggers",e.getPage(b).then(function(c){a.displayedTriggers=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.TriggersByPage,a.displayedTriggers.length),d.updateTableConfig(a.conf.TriggersByPage,a.displayedTriggers.length)}),g.socket.on("trigger:save",function(){a.initList(b)}),g.socket.on("trigger:remove",function(c){a.Triggers.checked=_.without(a.Triggers.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/triggers/"+a).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/triggers",{params:{id:a.Triggers.checked}}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(c.instant(a.message),"danger")})}),a.updateItem=function(a,d){b.put("api/triggers/"+a,{status:d}).success(function(a){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.triggers.list",{url:"/list",templateUrl:"app/trigger/list/list.html",controller:"TriggerListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.triggers",{url:"/triggers",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("TriggerViewCtrl",["$scope","$stateParams","$http","$translate","xAlert","triggers",function(a,b,c,d,e,f){a.$triggers=f,a.forms={info:{}},a.fields={},a.properties=f.properties,a.initView=function(){c.get("/api/triggers/"+b.id).success(function(b){a.trigger=b,a.conditionsFilter=JSON.parse(b.conditions),a.actionsFilter=JSON.parse(b.actions),a.fields.conditions=a.$triggers.triggers[b.channel].conditions,a.fields.actions=a.$triggers.triggers[b.channel].actions}).error(function(a){e.show(a.message,"danger")})},a.getProperties=function(){h(),j(),i(),g()};var g=function(){c.get("/api/integrations",{params:{active:1}}).success(function(b){a.integrations=b;var c=[];b.forEach(function(a){c.push({name:a.name,value:a.state})}),a.properties.voice.integration=c}).error(function(a){e.show(a.message,"danger")})},h=function(){c.get("/api/mail/templates/").success(function(b){a.mailTemplates=b.rows;var c=[];b.rows.forEach(function(a){c.push({name:a.name,value:a.id})}),a.properties.mail.template=c}).error(function(a){e.show(a.message,"danger")})},i=function(){c.get("/api/voice/queues/").success(function(b){a.voiceQueues=b.rows;var c=[];b.rows.forEach(function(a){c.push({name:a.name,value:a.name})}),a.properties.voice.queue=c}).error(function(a){e.show(a.message,"danger")})},j=function(){c.get("/api/mail/servers/out/").success(function(b){a.stmpAccounts=b;var c=[];b.forEach(function(a){c.push({name:a.username,value:a.username})}),a.properties.mail.smtp=c}).error(function(a){e.show(a.message,"danger")})};a.updateTrigger=function(){c.put("/api/triggers/"+a.trigger.id,{name:a.trigger.name,description:a.trigger.description,conditions:angular.toJson(a.conditionsFilter),actions:angular.toJson(a.actionsFilter)}).success(function(){e.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.triggers.view",{url:"/view/:id",templateUrl:"app/trigger/view/view.html",controller:"TriggerViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}}).state("main.triggers.view.settings",{url:"/settings",templateUrl:"app/trigger/view/view.settings.html"}).state("main.triggers.view.routes",{url:"/routes",templateUrl:"app/trigger/view/view.routes.html"}).state("main.triggers.view.application",{url:"/application",templateUrl:"app/trigger/view/view.application.html"})}]),angular.module("xCallyShuttleApp").controller("TriggerWizardCtrl",["$scope","$http","$location","xAlert","triggers","WizardHandler",function(a,b,c,d,e,f){a.$triggers=e,a.tempData={voice:{},mail:{},chat:{},fax:{}},a.item={},a.fields={},a.properties=e.properties,a.forms={general:{}};var g={group:{"boolean":"AND",rules:[],type:"CONDITION",main:!0}},h={group:{rules:[],type:"ACTION"}};a.conditionsFilter=_.clone(g,!0),a.actionsFilter=_.clone(h,!0),a.$watch("item.channel",function(b,c){c&&(a.tempData[c].conditionsFilter=_.clone(a.conditionsFilter,!0),a.tempData[c].actionsFilter=_.clone(a.actionsFilter,!0)),a.conditionsFilter=a.tempData[b].conditionsFilter?a.tempData[b].conditionsFilter:_.clone(g,!0),a.actionsFilter=a.tempData[b].actionsFilter?a.tempData[b].actionsFilter:_.clone(h,!0),a.fields.conditions=a.$triggers.triggers[b].conditions,a.fields.actions=a.$triggers.triggers[b].actions},!0),a.item.channel="voice",a.getProperties=function(){j(),l(),k(),i()};var i=function(){b.get("/api/integrations",{params:{active:1}}).success(function(b){a.integrations=b;var c=[];b.forEach(function(a){c.push({name:a.name,value:a.state})}),a.properties.voice.integration=c}).error(function(a){d.show(a.message,"danger")})},j=function(){b.get("/api/mail/templates/").success(function(b){a.mailTemplates=b.rows;var c=[];b.rows.forEach(function(a){c.push({name:a.name,value:a.id})}),a.properties.mail.template=c}).error(function(a){d.show(a.message,"danger")})},k=function(){b.get("/api/mail/servers/out/").success(function(b){a.stmpAccounts=b;var c=[];b.forEach(function(a){c.push({name:a.username,value:a.username})}),a.properties.mail.smtp=c}).error(function(a){d.show(a.message,"danger")})},l=function(){b.get("/api/voice/queues/").success(function(b){a.voiceQueues=b.rows;var c=[];b.rows.forEach(function(a){c.push({name:a.name,value:a.name})}),a.properties.voice.queue=c}).error(function(a){d.show(a.message,"danger")})};a.createItem=function(){a.item.conditions=angular.toJson(a.conditionsFilter),a.item.actions=angular.toJson(a.actionsFilter),b.post("/api/triggers",a.item).success(function(){c.path("/triggers/list")}).error(function(a){d.show(a.message,"danger")})},a.next=function(){f.wizard().next()},a.previous=function(){f.wizard().previous()},a.exitValidation=function(a){return a}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.triggers.wizard",{url:"/wizard",templateUrl:"app/trigger/wizard/wizard.html",controller:"TriggerWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("TrunkListCtrl",["$scope","$http","$translate","$rootScope","xAlert","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={trunksByPage:{name:"10",value:10},labels:["name","host","context","description"]},a.trunksByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.trunks={checked:[]},a.check=function(b,c){c?a.trunks.checked=angular.copy(_.pluck(a.displayedTrunks,"id")):a.trunks.checked=[]},a.getTrunks=function(b){return _.map(a.displayedTrunks,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("trunk"),b.url="/api/trunks",console.log(b),h.getPage(b).then(function(c){a.displayedTrunks=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.trunksByPage,a.displayedTrunks.length),d.updateTableConfig(a.conf.trunksByPage,a.displayedTrunks.length)}),f.socket.on("trunk:save",function(){a.initList(b)}),f.socket.on("trunk:remove",function(c){a.trunks.checked=_.without(a.trunks.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/trunks/"+a).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(c.instant(a.message),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/trunks",{params:{id:a.trunks.checked}}).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(c.instant(a.message),"danger")})}),a.$on("$destroy",function(){console.log("trunks destroy")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.trunks.list",{url:"/list",templateUrl:"app/trunk/list/list.html",controller:"TrunkListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.trunks",{url:"/trunks",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("TrunkViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$location",function(a,b,c,d,e,f,g){a.getTrunk=function(){b.get("/api/trunks/"+e.id).success(function(b){b.nat=""===b.nat?[]:b.nat.split(","),b.allow=""===b.allow?[]:b.allow.split(";"),b.insecure=""===b.insecure?[]:b.insecure.split(","),b.transport=""===b.transport?[]:b.transport.split(","),delete b.secret,a.trunk=b}).error(function(a){console.error(a),g.path("/trunks/list")})},a.updateTrunk=function(){""===a.trunk.password&&delete a.trunk.password;var f=angular.copy(a.trunk);f.nat=f.nat.join(","),f.allow=f.allow.join(";"),f.insecure=f.insecure.join(","),f.transport=f.transport.join(","),b.put("/api/trunks/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),f.nat=f.nat.split(","),f.naallowt=f.allow.split(";"),f.insecure=f.insecure.split(","),f.transport=f.transport.split(","),a.trunk=f})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){c.show(d.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.trunks.view",{url:"/view/:id",templateUrl:"app/trunk/view/view.html",controller:"TrunkViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.trunks.view.settings",{url:"/settings",templateUrl:"app/trunk/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("TrunkWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.initWizard=function(){a.forms={},a.item={context:"from-voip-provider"}},a.next=function(d){d?b.post("/api/trunks/validate/",a.item).success(function(a){console.log(a),a.length?e.show(g.instant("MESSAGE_EXIST_TRUNK"),"danger"):c.wizard().next()}).error(function(a){e.show(g.instant(a.message),"danger")}):c.wizard().next()},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/trunks/",a.item).success(function(){d.path("/trunks/list")}).error(function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.trunks.wizard",{url:"/wizard",templateUrl:"app/trunk/wizard/wizard.html",controller:"TrunkWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("UserListCtrl",["$scope","$http","xAlert","$rootScope","$translate","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={usersByPage:{name:"10",value:10}},a.usersByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.users={checked:[]},a.check=function(b,c){c?a.users.checked=angular.copy(_.pluck(a.displayedUsers,"id")):a.users.checked=[]},a.getUsers=function(b){return _.map(a.displayedUsers,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/users/"+a).success(function(){
+c.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){a.errors.forEach(function(b){c.show(a.message+": "+b.message,"danger")})})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/users",{params:{id:a.users.checked}}).success(function(){c.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){a.errors.forEach(function(b){c.show(a.message+": "+b.message,"danger")})})}),a.initList=function(b){f.unsyncUpdates("user"),b.url="/api/users/",h.getPage(b).then(function(c){a.displayedUsers=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.usersByPage,a.displayedUsers.length),d.updateTableConfig(a.conf.usersByPage,a.displayedUsers.length)}),f.socket.on("user:save",function(){a.initList(b)}),f.socket.on("user:remove",function(c){a.users.checked=_.without(a.users.checked,c.id),a.initList(b)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.users.list",{url:"/list",templateUrl:"app/user/list/list.html",controller:"UserListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.users",{url:"/users",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("UserViewCtrl",["$scope","$http","$stateParams","$translate","FileUploader","$cookieStore","Auth","xAlert",function(a,b,c,d,e,f,g,h){a.Auth=g,a.updatePassword=function(){var e,f;g.isAdmin()?(e="/api/users/password/"+c.id+"/reset",f={newPassword:a.user.newPwd}):(e="/api/users/password/",f={oldPassword:a.user.currentPwd,newPassword:a.user.newPwd}),b.put(e,f).success(function(a){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})};var i=a.uploader=new e({url:"api/users/"+c.id+"/avatar",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+f.get("token")}});i.filters.push({name:"imageFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|jpg|png|jpeg|".indexOf(b)}}),i.onSuccessItem=function(b,c,e,f){a.user.userpic=c.userpic,a.user.id===g.getCurrentUser().id&&(g.getCurrentUser().userpic=c.userpic),h.show(d.instant("MESSAGE_WELL_DONE"),"success")},i.onErrorItem=function(a,b,c,e){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")},i.onCompleteAll=function(){i.clearQueue()},a.initView=function(){b.get("/api/users/"+c.id).success(function(b){a.user=b,a.user.transport=a.user.transport?a.user.transport.split(","):[],a.user.allow=a.user.allow?a.user.allow.split(";"):[]}).error(function(a){a.errors.forEach(function(b){h.show(a.message+": "+b.message,"danger")})})},a.updateItem=function(){var e=angular.copy(a.user),f=angular.copy(a.user);delete e.password,delete e.md5secret,e.transport=e.transport.join(","),e.allow=e.allow.join(";"),b.put("/api/users/"+c.id,e).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(b){a.user=f,b.errors.forEach(function(a){h.show(b.message+": "+a.message,"danger")})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.users.view",{url:"/view/:id",templateUrl:"app/user/view/view.html",controller:"UserViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.users.view.account",{url:"/account",templateUrl:"app/user/view/view.account.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css","assets/scripts/jquery.sparkline.min.js","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js","assets/scripts/profile.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("UserWizardCtrl",["$scope","$http","$location","WizardHandler","xAlert","$translate",function(a,b,c,d,e,f){a.forms={info:void 0,voice:void 0},a.item={role:"user",host:"dynamic",context:"from-sip"},a.next=function(){d.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/users/",a.item).success(function(){e.show(f.instant("MESSAGE_WELL_DONE"),"success"),c.path("/users/list")}).error(function(a){console.log(a),e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.users.wizard",{url:"/wizard",templateUrl:"app/user/wizard/wizard.html",controller:"UserWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("VariableListCreateModalCtrl",["$scope","$uibModalInstance",function(a,b){a.forms={dashboard:void 0},a.item={},a.ok=function(){a.item.model=JSON.stringify({title:a.item.name}),b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VariableListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource","$uibModal","$log",function(a,b,c,d,e,f,g,h,i,j){a.conf={variablesByPage:{name:"10",value:10}},a.variablesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.Variables={checked:[]},a.check=function(b,c){c?a.Variables.checked=angular.copy(_.pluck(a.displayedVariables,"id")):a.Variables.checked=[]},a.getVariables=function(b){return _.map(a.displayedVariables,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("variable"),b.url="/api/variables",h.getPage(b).then(function(c){a.displayedVariables=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.variablesByPage,a.displayedVariables.length),d.updateTableConfig(a.conf.variablesByPage,a.displayedVariables.length)}),c.socket.on("variable:save",function(){a.initList(b)}),c.socket.on("variable:remove",function(c){a.Variables.checked=_.without(a.Variables.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/variables/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/variables",{params:{id:a.Variables.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.create=function(){var a=i.open({animation:!0,templateUrl:"app/variable/list/create.modal.html",controller:"VariableListCreateModalCtrl"});a.result.then(function(a){b.post("/api/variables",a).then(function(a){f.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.show(a.data.message,"danger")})},function(){j.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.variables.list",{url:"/list",templateUrl:"app/variable/list/list.html",controller:"VariableListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.variables",{url:"/variables",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VariableViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.getVariable=function(){b.get("/api/variables/"+e.id).success(function(b){a.variable=b}).error(function(a){console.error(a),f.path("/variables/list")})},a.updateVariable=function(){var f=angular.copy(a.variable);b.put("/api/variables/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.variable=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.variables.view",{url:"/view/:id",templateUrl:"app/variable/view/view.html",controller:"VariableViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.variables.view.settings",{url:"/settings",templateUrl:"app/variable/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.contexts",{url:"/contexts",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceContextListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={contextsByPage:{name:"10",value:10}},a.contextsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.voiceContexts={checked:[]},a.check=function(b,c){c?a.voiceContexts.checked=angular.copy(_.pluck(a.displayedVoiceContexts,"id")):a.voiceContexts.checked=[]},a.getVoiceContexts=function(b){return _.map(a.displayedVoiceContexts,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("voice_context"),b.url="/api/voice/contexts",h.getPage(b).then(function(c){a.displayedVoiceContexts=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.contextsByPage,a.displayedVoiceContexts.length),d.updateTableConfig(a.conf.contextsByPage,a.displayedVoiceContexts.length)}),c.socket.on("voice_context:save",function(){a.initList(b)}),c.socket.on("voice_context:remove",function(c){a.voiceContexts.checked=_.without(a.voiceContexts.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/voice/contexts/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/voice/contexts",{params:{id:a.voiceContexts.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.contexts.list",{url:"/list",templateUrl:"app/voice/context/list/list.html",controller:"VoiceContextListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceContextViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.getContext=function(){b.get("/api/voice/contexts/"+e.id).success(function(b){a.context=b}).error(function(a){console.error(a),f.path("/voice/contexts/list")})},a.updateVoiceContext=function(){var f=angular.copy(a.context);b.put("/api/voice/contexts/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.context=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.contexts.view",{url:"/view/:id",templateUrl:"app/voice/context/view/view.html",controller:"VoiceContextViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.contexts.view.settings",{url:"/settings",templateUrl:"app/voice/context/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("VoiceContextWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","$translate",function(a,b,c,d,e,f){a.forms={context:void 0},a.item={},a.next=function(){b.post("/api/voice/contexts/validate/",a.item).success(function(a){console.log(a),a.length?e.show(f.instant("MESSAGE_EXIST_CONTEXT"),"danger"):c.wizard().next()}).error(function(a){e.show(f.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/voice/contexts/",a.item).success(function(){d.path("/voice/contexts/list")}).error(function(a){e.show(f.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.contexts.wizard",{url:"/wizard",templateUrl:"app/voice/context/wizard/wizard.html",controller:"VoiceContextWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceMohListCtrl",["$scope","$http","$translate","$rootScope","xAlert","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={mohsByPage:{name:"10",value:10},labels:["name","directory","sort","description"]},a.mohsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.mohs={checked:[]},a.check=function(b,c){c?a.mohs.checked=angular.copy(_.pluck(a.displayedMohs,"id")):a.mohs.checked=[]},a.getMohs=function(b){return _.map(a.displayedMohs,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("voice_musiconhold"),b.url="/api/voice/musiconholds",h.getPage(b).then(function(c){a.displayedMohs=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.mohsByPage,a.displayedMohs.length),d.updateTableConfig(a.conf.mohsByPage,a.displayedMohs.length)}),f.socket.on("voice_musiconhold:save",function(){a.initList(b)}),f.socket.on("voice_musiconhold:remove",function(c){a.mohs.checked=_.without(a.mohs.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/voice/musiconholds/"+a).success(function(){e.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){e.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/voice/musiconholds",{params:{id:a.mohs.checked}}).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(c.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.mohs.list",{url:"/list",templateUrl:"app/voice/moh/list/list.html",controller:"VoiceMohListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.mohs",{url:"/mohs",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceMohViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","Modal","$sce","$location",function(a,b,c,d,e,f,g,h,i){a.$translate=d,a.audioSources={},a.sortOptions=[{value:"random",name:"APPLICATION_RANDOM"},{value:"alpha",name:"APPLICATION_ALPHABETICAL"}],a.getMoh=function(){b.get("/api/voice/musiconholds/"+e.id).success(function(b){delete b.stamp,a.moh=b}).error(function(a){console.error(a),i.path("/voice/mohs/list")})},a.updateVoiceMoh=function(){console.log("update");var f=angular.copy(a.moh);b.put("/api/voice/musiconholds/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.voiceMoh=f})},a.addMohs=function(){b.post("/api/voice/musiconholds/"+e.id+"/files",a.item).success(function(){i.path("voice/mohs/view/"+e.id+"/audios")}).error(function(a){c.show(d.instant(a.message),"danger")})},a.getAudioFiles=function(){b.get("/api/voice/musiconholds/"+e.id+"/files").success(function(b){a.audioFiles=b.files,a.mohPath=b.path,a.audioFiles.forEach(function(a){j(a)})}).error(function(a){console.error(a)})},a.getSecureSrc=function(a){return h.trustAsResourceUrl(a)};var j=function(c){b.get("/api/voice/musiconholds/stream",{params:{path:encodeURI(a.mohPath+"/"+c)}}).success(function(b){a.audioSources[c]="data:audio/ogg;base64,"+b}).error(function(a){console.error(a)})};a.getSounds=function(){a.item={sounds:[]},b.get("/api/uploads").success(function(b){a.soundList=b}).error(function(a){console.error(a)})},a.deleteItem=g.confirm["delete"](function(f){b["delete"]("/api/voice/musiconholds/"+e.id+"/files",{params:{filename:f}}).success(function(){_.remove(a.audioFiles,function(a){return a===f}),c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){c.show(a.message,"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.mohs.view",{url:"/view/:id",templateUrl:"app/voice/moh/view/view.html",controller:"VoiceMohViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.mohs.view.settings",{url:"/settings",templateUrl:"app/voice/moh/view/view.settings.html"}).state("main.voice.mohs.view.audios",{url:"/audios",templateUrl:"app/voice/moh/view/view.audios.html",cache:!1}).state("main.voice.mohs.view.add",{url:"/add",templateUrl:"app/voice/moh/view/view.addFiles.html",cache:!1})}]),angular.module("xCallyShuttleApp").controller("VoiceMohWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.$translate=g,a.initWizard=function(){a.forms={},a.item={sort:"alpha"}},a.next=function(){b.post("/api/voice/musiconholds/validate/",a.item).success(function(a){console.log(a),a.length?e.show(g.instant("MESSAGE_EXIST_MOH"),"danger"):c.wizard().next()}).error(function(a){e.show(g.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/voice/musiconholds/",a.item).success(function(a){d.path("/voice/mohs/view/"+a.id+"/audios")}).error(function(a){e.show(g.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.mohs.wizard",{url:"/wizard",templateUrl:"app/voice/moh/wizard/wizard.html",controller:"VoiceMohWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceQueueListCtrl",["$scope","$http","socket","$translate","$rootScope","Modal","xAlert","stResource",function(a,b,c,d,e,f,g,h){a.conf={voiceQueuesByPage:{name:"10",value:10},labels:["name","description","strategy","context"]},a.voiceQueuesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.queues={checked:[]},a.check=function(b,c){c?a.queues.checked=angular.copy(_.pluck(a.displayedQueues,"name")):a.queues.checked=[]},a.getQueues=function(b){return _.map(a.displayedQueues,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("voice_queue"),b.url="/api/voice/queues",h.getPage(b).then(function(c){a.displayedQueues=c.rows,b.pagination.numberOfPages=c.total_pages,e.updateTableConfig(a.voiceQueuesByPage,a.displayedQueues.length),e.updateTableConfig(a.conf.voiceQueuesByPage,a.displayedQueues.length)}),c.socket.on("voice_queue:save",function(){a.initList(b)}),c.socket.on("voice_queue:remove",function(c){console.log("remove"),a.queues.checked=_.without(a.queues.checked,c.name),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/voice/queues/"+a).success(function(){g.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){g.show(a.message,"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/voice/queues",{params:{name:a.queues.checked}}).success(function(){g.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){g.show(d.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.queues.list",{url:"/list",templateUrl:"app/voice/queue/list/list.html",controller:"VoiceQueueListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.queues",{url:"/queues",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceQueueViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$location",function(a,b,c,d,e,f,g){a.binaryChoices=[{name:"Yes",value:1},{name:"No",value:0}],a.monitorFormats=[{name:"wav",value:"wav"},{name:"gsm",value:"gsm"},{name:"Inactive",value:""}],a.queueAnnounces=[{display_name:"Default",value:null},{display_name:"Disabled",value:""}];var h=function(){return{select:function(c){b.post("/api/voice/queues/"+a.queue.name+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})},deselect:function(c){b.put("/api/voice/queues/"+a.queue.name+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})}}};a.getQueue=function(){b.get("/api/voice/queues/"+e.id).success(function(b){b.joinempty=""===b.joinempty?[]:b.joinempty.split(","),b.leavewhenempty=""===b.leavewhenempty?[]:b.leavewhenempty.split(","),b.periodic_announce=""===b.periodic_announce?[]:b.periodic_announce.split(","),a.queue=b}).error(function(a){g.path("/voice/queues/list")})},a.updateVoiceQueue=function(){var f=angular.copy(a.queue);f.joinempty=f.joinempty.join(","),f.leavewhenempty=f.leavewhenempty.join(","),f.periodic_announce=f.periodic_announce.join(","),f.context||(f.context=null),b.put("/api/voice/queues/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),f.joinempty=f.joinempty.split(","),f.leavewhenempty=f.leavewhenempty.split(","),f.periodic_announce=f.periodic_announce.split(","),a.queue=f})},a.getTeams=function(){b.get("/api/teams").success(function(c){a.teams=c.rows,b({url:"/api/voice/user_has_queues",method:"GET",params:{queue:a.queue.name}}).success(function(b){ComponentsDropdowns.bindQueue(a.teams,_.pluck(b,"UserId"),h)})}).error(function(a){console.error(a)})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){c.show(d.instant(a.message),"danger")})},a.getMohs=function(){b.get("/api/voice/musiconholds").success(function(b){a.voiceMohs=b.rows,f.syncUpdates("voice_musiconhold",a.voiceMohs)}).error(function(a){c.show(a.message,"danger")})},a.getSounds=function(){b.get("/api/uploads").success(function(b){a.queueAnnounces=a.queueAnnounces.concat(b),a.periodicAnnounces=angular.copy(b),b.unshift({display_name:"None",converted_path:null,value:""}),a.sounds=b,f.syncUpdates("upload",a.sounds)}).error(function(a){console.error(a)})},a.returnAnnouncePath=function(a){return console.log("func"),a.converted_path?a.converted_path+"/"+a.save_name:null===a.value?null:a.value}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.queues.view",{url:"/view/:id",templateUrl:"app/voice/queue/view/view.html",controller:"VoiceQueueViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.queues.view.settings",{url:"/settings",templateUrl:"app/voice/queue/view/view.settings.html"}).state("main.voice.queues.view.agents",{url:"/agents",templateUrl:"app/voice/queue/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceQueueWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.forms={queue:void 0},a.item={},a.next=function(){b.post("/api/voice/queues/validate/",a.item).success(function(a){console.log(a),a.length?e.show(g.instant("MESSAGE_EXIST_QUEUE"),"danger"):c.wizard().next()}).error(function(a){e.show(g.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/voice/queues/",a.item).success(function(){d.path("/voice/queues/list")}).error(function(a){e.show(g.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.queues.wizard",{url:"/wizard",templateUrl:"app/voice/queue/wizard/wizard.html",controller:"VoiceQueueWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.realtime",{url:"/realtime",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewAgentCtrl",["$scope","$http","$log","$uibModal","$translate","socket","xAlert",function(a,b,c,d,e,f,g){a.conf={agentsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.agentsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.$on("$destroy",function(){f.unsyncUpdates("user_has_voice_queue")}),a.groups=[],a.pauses=["pausa1","pausa2","pausa3"],a.pause=function(f,h){var i=d.open({animation:!0,size:f,templateUrl:"app/voice/realtime/view/agent/pause.modal.html",controller:"VoiceRealtimeViewAgentPauseModalCtrl",resolve:{items:function(){return a.pauses},data:function(){return h}}});i.result.then(function(a){b.post("/api/ami",a).then(function(a){console.log(a),g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){console.log(a),g.show(a.data.message,"danger")})},function(){c.info("Modal dismissed at: "+new Date)})},a.add=function(f,h){var i=d.open({animation:!0,size:f,templateUrl:"app/voice/realtime/view/agent/queue.modal.add.html",controller:"VoiceRealtimeViewAgentQueueModalCtrl",resolve:{pauses:function(){return a.pauses},data:function(){return h}}});i.result.then(function(a){console.log(a),b.post("/api/voice/user_has_queues",a).then(function(){a.login?b.post("/api/ami",a).then(function(){g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")}):g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")})},function(){c.info("Modal dismissed at: "+new Date)})},a.remove=function(a,f){var h=d.open({animation:!0,size:a,templateUrl:"app/voice/realtime/view/agent/queue.modal.remove.html",controller:"VoiceRealtimeViewAgentQueueModalCtrl",resolve:{pauses:function(){return null},data:function(){return f}}});h.result.then(function(a){_.isArray(a)?a.forEach(function(a){b.post("/api/ami",a).then(function(){a.logout?b.put("/api/voice/queues/"+a.queue+"/agents",{agents:[a.UserId]}).then(function(){g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")}):g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")})}):b.post("/api/ami",a).then(function(){a.logout?b.put("/api/voice/queues/"+a.queue+"/agents",{agents:[a.UserId]}).then(function(){g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")}):g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")})},function(){c.info("Modal dismissed at: "+new Date)})},a.initAgents=function(){b.get("/api/voice/user_has_queues").success(function(b){a.agents=b,a.groups=_.map(_.groupBy(a.agents,"membername"),function(a,b){return{membername:b,queues:a}}),f.socket.on("user_has_voice_queue:save",function(b){var c=_.find(a.groups,{membername:b.membername}),d=a.groups.indexOf(c);if(c){var e=_.find(c.queues,{queue:b.queue});e?_.merge(e,b):a.groups[d].queues.push(b)}else{var f={membername:b.membername,queues:[b]};a.groups.unshift(f)}}),f.socket.on("user_has_voice_queue:remove",function(b){var c=_.find(a.groups,{membername:b.membername});_.remove(c.queues,{queue:b.queue}),c.queues.length||_.remove(a.groups,{membername:b.membername})}),f.socket.on("report_agent:save",function(b){var c=_.find(a.groups,{membername:b.membername}),d=a.groups.indexOf(c);if(c){var e=_.find(c.queues,{queue:b.queue});e?_.merge(e,b):a.groups[d].queues.push(b)}else{var f={membername:b.membername,queues:[b]};a.groups.unshift(f)}})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewAgentPauseModalCtrl",["$scope","$uibModalInstance","items","data",function(a,b,c,d){a.items=c,a.data=d,a.selected={item:a.items[0],queue:_.isArray(d)?a.data[0].queue:a.data.queue,membername:_.isArray(d)?a.data[0].membername:a.data.membername,"interface":_.isArray(d)?a.data[0]["interface"]:a.data["interface"]},a.ok=function(c){var e={action:"QueuePause","interface":a.selected["interface"],paused:c,reason:a.selected.item};_.isArray(d)||(e.queue=a.selected.queue),b.close(e)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewAgentQueueModalCtrl",["$scope","$uibModalInstance","$http","pauses","data",function(a,b,c,d,e){a.initAdd=function(){a.data=e,a.pauses=d,a.selected={membername:a.data[0].membername,"interface":a.data[0]["interface"],penalty:0,paused:!1,reason:a.pauses[0],UserId:a.data[0].UserId},c.get("/api/voice/queues",{params:{page:0,per_page:100}}).success(function(b){a.queues=_.reject(b.rows,function(b){return _.find(a.data,{queue:b.name})?!0:!1}),a.selected.queue=a.queues[0]?a.queues[0].name:null,console.log(a.queues)}).error(function(a){console.error(a)})},a.initRemove=function(){a.data=e,_.isArray(e)?a.selected={membername:a.data[0].membername,"interface":a.data[0]["interface"],logout:!1,UserId:a.data[0].UserId}:a.selected={membername:a.data.membername,"interface":a.data["interface"],queue:a.data.queue,logout:!1,UserId:a.data.UserId}},a.okAdd=function(){console.log(a.selected);var c={action:"QueueAdd",logged:a.data[0].logged,loggedAt:a.data[0].loggedAt,queue:a.selected.queue,membername:a.selected.membername,"interface":a.selected["interface"],penalty:a.selected.penalty,paused:a.selected.paused,UserId:a.selected.UserId};c.paused&&(c.reason=a.selected.reason),b.close(c)},a.okRemove=function(){var c;_.isArray(a.data)?(c=[],a.data.forEach(function(b){c.push({action:"QueueRemove",queue:b.queue,"interface":b["interface"],logout:a.selected.logout,UserId:b.UserId})})):c={action:"QueueRemove",queue:a.selected.queue,logout:a.selected.logout,"interface":a.selected["interface"],UserId:a.selected.UserId},b.close(c)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewAgentReportCtrl",["$scope","$http","socket",function(a,b,c){a.$on("$destroy",function(){c.unsyncUpdates("report_agent")}),a.conf={agentsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.agentsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.initReport=function(){a.agents=[],b.get("/api/report/agents").success(function(b){a.agents=b,c.syncUpdates("report_agent",a.agents)}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").filter("VoiceRealtimeViewAgentReportFilter",function(){return function(a){return new Date(1970,0,1).setSeconds(a)}}),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewQueueReportCtrl",["$scope","$http","socket",function(a,b,c){a.$on("$destroy",function(){c.unsyncUpdates("report_queue")}),a.conf={queuesByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.queuesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{
+name:"All",value:0}],a.initReport=function(){a.queues=[],b.get("/api/report/queues").success(function(b){console.log(b),a.queues=b,c.syncUpdates("report_queue",a.queues)}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").filter("VoiceRealtimeViewQueueReportFilter",function(){return function(a){return new Date(1970,0,1).setSeconds(a)}}),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewQueuePauseModalCtrl",["$scope","$uibModalInstance","items","data",function(a,b,c,d){a.items=c,a.data=d,console.log(d),a.selected={item:a.items[0],queue:_.isArray(d)?a.data[0].queue:a.data.queue,membername:_.isArray(d)?a.data[0].membername:a.data.membername,"interface":_.isArray(d)?a.data[0]["interface"]:a.data["interface"]},a.ok=function(c,e){var f;_.isArray(d)?(f=[],d.forEach(function(b){f.push({action:"QueuePause",queue:b.queue,membername:b.membername,"interface":b["interface"],paused:c,reason:a.selected.item})})):f={action:"QueuePause",queue:a.selected.queue,membername:a.selected.membername,"interface":a.selected["interface"],paused:c,reason:a.selected.item},b.close(f)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewQueueCtrl",["$scope","$http","$log","$uibModal","$translate","socket","xAlert",function(a,b,c,d,e,f,g){a.conf={agentsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.agentsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.$on("$destroy",function(){f.unsyncUpdates("user_has_voice_queue")}),a.groups=[],a.pauses=["pausa1","pausa2","pausa3"],a.pause=function(f,h){var i=d.open({animation:!0,size:f,templateUrl:"app/voice/realtime/view/queue/pause.modal.html",controller:"VoiceRealtimeViewQueuePauseModalCtrl",resolve:{items:function(){return a.pauses},data:function(){return h}}});i.result.then(function(a){_.isArray(a)?a.forEach(function(a){b.post("/api/ami",a).then(function(a){console.log(a),g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){console.log(a),g.show(a.data.message,"danger")})}):b.post("/api/ami",a).then(function(a){console.log(a),g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){console.log(a),g.show(a.data.message,"danger")})},function(){c.info("Modal dismissed at: "+new Date)})},a.add=function(f,h){var i=d.open({animation:!0,size:f,templateUrl:"app/voice/realtime/view/queue/queue.modal.add.html",controller:"VoiceRealtimeViewQueueQueueModalCtrl",resolve:{pauses:function(){return a.pauses},data:function(){return h}}});i.result.then(function(a){console.log("action",a),b.post("/api/voice/user_has_queues",a).then(function(){a.login?b.post("/api/ami",a).then(function(){g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")}):g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.message,"danger")}),console.log(a)},function(){c.info("Modal dismissed at: "+new Date)})},a.remove=function(a,f){var h=d.open({animation:!0,size:a,templateUrl:"app/voice/realtime/view/queue/queue.modal.remove.html",controller:"VoiceRealtimeViewQueueQueueModalCtrl",resolve:{pauses:function(){return null},data:function(){return f}}});h.result.then(function(a){_.isArray(a)?a.forEach(function(a){b.post("/api/ami",a).then(function(){a.logout?b.put("/api/voice/queues/"+a.queue+"/agents",{agents:[a.UserId]}).then(function(){g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")}):g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")})}):b.post("/api/ami",a).then(function(){a.logout?b.put("/api/voice/queues/"+a.queue+"/agents",{agents:[a.UserId]}).then(function(){g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")}):g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")})},function(){c.info("Modal dismissed at: "+new Date)})},a.initQueues=function(){b.get("/api/voice/user_has_queues").success(function(b){a.queues=b,a.groups=_.map(_.groupBy(a.queues,"queue"),function(a,b){return{queue:b,agents:a}}),console.log("ok"),f.socket.on("user_has_voice_queue:save",function(b){console.log("item",b);var c=_.find(a.groups,{queue:b.queue}),d=a.groups.indexOf(c);if(c){var e=_.find(c.agents,{membername:b.membername});e?_.merge(e,b):a.groups[d].agents.push(b)}else{var f={queue:b.queue,agents:[b]};a.groups.unshift(f)}}),f.socket.on("user_has_voice_queue:remove",function(b){var c=_.find(a.groups,{queue:b.queue});_.remove(c.agents,{membername:b.membername}),c.agents.length||_.remove(a.groups,{queue:b.queue})}),f.socket.on("report_agent:save",function(b){var c=_.find(a.groups,{queue:b.queue}),d=a.groups.indexOf(c);if(c){var e=_.find(c.agents,{membername:b.membername});e?_.merge(e,b):a.groups[d].agents.push(b)}else{var f={queue:b.queue,agents:[b]};a.groups.unshift(f)}})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewQueueQueueModalCtrl",["$scope","$uibModalInstance","$http","pauses","data",function(a,b,c,d,e){a.initAdd=function(){a.data=e,a.pauses=d,a.selected={penalty:0,paused:!1,reason:a.pauses[0]},a.$watch("selected.agent",function(b){b&&(a.selected.membername=b.name,a.selected["interface"]="SIP/"+b.name,a.selected.UserId=b.id)}),c.get("/api/agents",{params:{page:0,per_page:500}}).success(function(b){a.agents=_.reject(b.rows,function(b){return _.find(a.data,{membername:b.name})?!0:!1}),a.selected.queue=a.data[0]?a.data[0].queue:null}).error(function(a){console.error(a)})},a.initRemove=function(){a.data=e,console.log(e),_.isArray(e)?a.selected={queue:a.data[0].queue,logout:!1}:a.selected={membername:a.data.membername,"interface":a.data["interface"],queue:a.data.queue,logout:!1,UserId:a.data.UserId}},a.okAdd=function(){var c={action:"QueueAdd",queue:a.selected.queue,membername:a.selected.membername,"interface":a.selected["interface"],penalty:a.selected.penalty,paused:a.selected.paused,UserId:a.selected.UserId};c.paused&&(c.reason=a.selected.reason),b.close(c)},a.okRemove=function(){var c;_.isArray(a.data)?(c=[],a.data.forEach(function(b){c.push({action:"QueueRemove",queue:b.queue,"interface":b["interface"],logout:a.selected.logout,UserId:b.UserId})})):c={action:"QueueRemove",queue:a.selected.queue,logout:a.selected.logout,"interface":a.selected["interface"],UserId:a.selected.UserId},b.close(c)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewCtrl",["$scope",function(a){a.agents=[{name:"View1",link:"main.voice.realtime.view.agents"},{name:"View2",link:"main.voice.realtime.view.areports"}],a.queues=[{name:"View1",link:"main.voice.realtime.view.queues"},{name:"View2",link:"main.voice.realtime.view.qreports"}]}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.realtime.view",{url:"/view",templateUrl:"app/voice/realtime/view/view.html",controller:"VoiceRealtimeViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.realtime.view.queues",{url:"/queues",controller:"VoiceRealtimeViewQueueCtrl",templateUrl:"app/voice/realtime/view/queue/queue.html"}).state("main.voice.realtime.view.qreports",{url:"/qreport/:search",controller:"VoiceRealtimeViewQueueReportCtrl",templateUrl:"app/voice/realtime/view/qreport/report.html"}).state("main.voice.realtime.view.agents",{url:"/agents",controller:"VoiceRealtimeViewAgentCtrl",templateUrl:"app/voice/realtime/view/agent/agent.html"}).state("main.voice.realtime.view.areports",{url:"/areport",controller:"VoiceRealtimeViewAgentReportCtrl",templateUrl:"app/voice/realtime/view/areport/report.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.inbound",{url:"/inbound",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInboundListCtrl",["$scope","$http","socket","$translate","$rootScope","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={routesByPage:{name:"10",value:10}},a.routesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.routes={checked:[]},a.check=function(b){b?a.routes.checked=angular.copy(_.pluck(a.displayedRoutes,"id")):a.routes.checked=[]},a.getRoutes=function(b){return _.map(a.displayedRoutes,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("voice_extension"),b.url="/api/voice/extensions/route/inbound",h.getPage(b).then(function(c){a.displayedRoutes=c.rows,b.pagination.numberOfPages=c.total_pages,e.updateTableConfig(a.routesByPage,a.displayedRoutes.length),e.updateTableConfig(a.conf.routesByPage,a.displayedRoutes.length)}),c.socket.on("voice_extension:save",function(c){"inbound"===c.type&&a.initList(b)}),c.socket.on("voice_extension:remove",function(c){"inbound"===c.type&&(a.routes.checked=_.without(a.routes.checked,c.id),a.initList(b))})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/voice/extensions/"+a).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/voice/extensions/",{params:{id:a.routes.checked}}).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(d.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.inbound.list",{url:"/list",templateUrl:"app/voice/route/inbound/list/list.html",controller:"VoiceRouteInboundListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInboundViewCtrl",["$scope","$http","$translate","$stateParams","socket","$location","WizardHandler","Modal","xAlert","application","interval",function(a,b,c,d,e,f,g,h,i,j,k){a.$translate=c,a.$application=j.application,a.$interval=k.interval,a.initApplication=function(){a.forms={settings:void 0,interval:void 0},a.application={VoiceExtensionId:d.id,type:"inbound"},a.interval={intType:"always",t_from:moment(new Date),t_to:moment(new Date),wd_from:"always",wd_to:"always",md_from:"always",md_to:"always",m_from:"always",m_to:"always",alwaysTime:!0},a.main={app:""}},a.joinInterval=function(a){console.log(a);var b,c,d,e;return b=a.t_from&&a.t_to&&!a.alwaysTime?moment(a.t_from).format("HH:mm")+"-"+moment(a.t_to).format("HH:mm"):"*",a.wd_from&&"always"!==a.wd_from?(c=a.wd_from.toLowerCase(),a.wd_to&&"always"!==a.wd_to&&(c+="-"+a.wd_to.toLowerCase())):c="*",a.md_from&&"always"!==a.md_from?(d=a.md_from,a.md_to&&"always"!==a.md_to&&(d+="-"+a.md_to)):d="*",a.m_from&&"always"!==a.m_from?(e=a.m_from.toLowerCase(),a.m_to&&"always"!==a.m_to&&(e+="-"+a.m_to.toLowerCase())):e="*",b+","+c+","+d+","+e},a.$watch("main.app",function(c){if(c){var e,f;switch(d.appId||(a.application={VoiceExtensionId:d.id,type:"inbound",interval:a.application.interval}),c){case"Queue":e="api/voice/queues",f="/api/uploads";break;case"Playback":e="/api/uploads";break;case"AGI":e="/api/square/projects";break;case"Goto":e="/api/voice/contexts";break;default:e=null,f=null}e&&b.get(e).success(function(b){a.items="Playback"!==c?b.rows:b}),f&&b.get(f).success(function(b){a.items2=b})}},!0),a.getIntervals=function(){b.get("/api/intervals").success(function(b){a.Intervals=b.rows,e.syncUpdates("interval",a.Intervals)}).error(function(a){i.show(c.instant(a.message),"danger")})},a.getRouteApplications=function(){b.get("/api/voice/extensions/"+d.id+"/applications").success(function(b){a.routeApplications=b,e.unsyncUpdates("voice_extension"),e.socket.on("voice_extension:remove",function(b){b.where.appGroup&&_.remove(a.routeApplications,function(a){return b.where.appGroup==a.appGroup})}),e.socket.on("voice_extension:save",function(b){if(b.VoiceExtensionId===d.id&&b.isApp){var c=_.find(a.routeApplications,{id:b.id});c||a.routeApplications.push(b)}})})},a.sortableOptions={stop:function(){b.post("api/voice/extensions/"+d.id+"/applications",{applications:_.pluck(a.routeApplications,"appGroup")}).success(function(b){a.getRouteApplications()}).error(function(a){console.error(a)})},"ui-floating":!0,axis:"y"},a.getRoute=function(){b.get("/api/voice/extensions/"+d.id).success(function(b){a.route=b,e.socket.on("voice_extension:update",function(b){b.id==d.id&&(a.route=b)})}).error(function(a){f.path("/voice/routes/inbound/list")})},a.getApplication=function(){b.get("/api/voice/extensions/applications/"+d.appId).success(function(b){var c=_.filter(a.$application.applications,function(a){return a.value===b.app});if(c.length>0&&!b.customApp?a.main.app=b.app:a.main.app="custom",a.application=b,a.interval.t_from=moment(new Date),a.interval.t_to=moment(new Date),"Queue"===b.app&&(a.application.app_options=b.app_options?b.app_options.split(","):[]),a.interval.intType=b.IntervalId?"list":"*,*,*,*"===b.interval?"always":"custom",a.interval.IntervalId=b.IntervalId,!b.IntervalId){var d,e=b.interval?b.interval.split(","):["*","*","*","*"];e.forEach(function(b,c){switch(c){case 0:"*"!==b?(d=b.split("-"),a.interval.t_from=moment(d[0],"HH:mm"),a.interval.t_to=moment(d[1],"HH:mm"),a.interval.alwaysTime=!1):(a.interval.t_from=moment(new Date),a.interval.t_to=moment(new Date),a.interval.alwaysTime=!0);break;case 1:"*"!==b?(d=b.split("-"),a.interval.wd_from=_.capitalize(d[0]),a.interval.wd_to=d[1]?_.capitalize(d[1]):"always"):(a.interval.wd_from="always",a.interval.wd_to="always");break;case 2:"*"!==b?(d=b.split("-"),a.interval.md_from=d[0],a.interval.md_to=d[1]?d[1]:"always"):(a.interval.md_from="always",a.interval.md_to="always");break;case 3:"*"!==b?(d=b.split("-"),a.interval.m_from=_.capitalize(d[0]),a.interval.m_to=d[1]?_.capitalize(d[1]):"always"):(a.interval.m_from="always",a.interval.m_to="always")}})}}).error(function(a){f.path("/voice/routes/inbound/view/"+d.id+"/applications")})},a.updateRoute=function(){var e=angular.copy(a.route);b.put("/api/voice/extensions/"+d.id,e).success(function(){i.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){i.show(c.instant(b.message),"danger"),a.route=e})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,e.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){i.show(c.instant(a.message),"danger")})},a.createItem=function(){switch(a.application.app=a.main.app,a.application.exten=a.route.exten,a.application.context=a.route.context,a.application.app_options&&"Queue"===a.application.app&&(a.application.app_options=a.application.app_options.join(",")),a.interval.intType){case"list":a.application.IntervalId=a.interval.IntervalId,a.application.interval=_.result(_.find(a.Intervals,{id:a.interval.IntervalId}),"name");break;case"custom":a.application.IntervalId=null,a.application.interval=a.joinInterval(a.interval);break;case"always":a.application.IntervalId=null,a.application.interval="*,*,*,*"}b.post("/api/voice/extensions/",a.application).success(function(){f.path("/voice/routes/inbound/view/"+d.id+"/applications")}).error(function(a){i.show(c.instant(a.message),"danger")})},a.updateItem=function(){switch(a.application.app_options&&"Queue"===a.application.app&&(a.application.app_options=a.application.app_options.join(",")),a.interval.intType){case"list":a.application.IntervalId=a.interval.IntervalId,a.application.interval=_.result(_.find(a.Intervals,{id:a.interval.IntervalId}),"name");break;case"custom":a.application.IntervalId=null,a.application.interval=a.joinInterval(a.interval);break;case"always":a.application.IntervalId=null,a.application.interval="*,*,*,*"}b.put("/api/voice/extensions/applications/"+d.appId,a.application).success(function(){i.show(c.instant("MESSAGE_WELL_DONE")+"!","success"),f.path("/voice/routes/inbound/view/"+d.id+"/applications")}).error(function(a){i.show(c.instant(a.message),"danger")})},a.deleteItem=h.confirm["delete"](function(d){b["delete"]("/api/voice/extensions/"+d).success(function(){a.getRouteApplications(),i.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){i.show(c.instant(a.message),"danger")})}),a.goNext=function(){g.wizard().next()},a.previous=function(){g.wizard().previous()},a.formValidation=function(a){return a},a.$on("destroy",function(){e.unsyncUpdates("voice_extension")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.inbound.view",{url:"/view/:id",templateUrl:"app/voice/route/inbound/view/view.html",controller:"VoiceRouteInboundViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.routes.inbound.view.settings",{url:"/settings",templateUrl:"app/voice/route/inbound/view/view.settings.html"}).state("main.voice.routes.inbound.view.applications",{url:"/applications",templateUrl:"app/voice/route/inbound/view/view.applications.html",cache:!1}).state("main.voice.routes.inbound.view.application",{url:"/application",templateUrl:"app/voice/route/inbound/view/view.application.html",authenticate:!0}).state("main.voice.routes.inbound.view.applications.settings",{url:"/settings/:appId",templateUrl:"app/voice/route/inbound/view/view.applicationSettings.html",authenticate:!0,controller:"VoiceRouteInboundViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInboundWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.forms={route:void 0},a.item={type:"inbound",appdata:"Inbound Call",context:"from-voip-provider"},a.next=function(){b.post("/api/voice/extensions/validate/",a.item).success(function(a){console.log(a),a.length?e.show(g.instant("MESSAGE_EXIST_ROUTE"),"danger"):c.wizard().next()}).error(function(a){e.show(g.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/voice/extensions/",a.item).success(function(a){d.path("/voice/routes/inbound/view/"+a.id+"/applications")}).error(function(a){e.show(g.instant(a.message),"danger")})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){e.show(g.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.inbound.wizard",{url:"/wizard",templateUrl:"app/voice/route/inbound/wizard/wizard.html",controller:"VoiceRouteInboundWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.internal",{url:"/internal",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInternalListCtrl",["$scope","$http","socket","$translate","$rootScope","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={routesByPage:{name:"10",value:10}},a.routesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.routes={checked:[]},a.check=function(b){b?a.routes.checked=angular.copy(_.pluck(a.displayedRoutes,"id")):a.routes.checked=[]},a.getRoutes=function(b){return _.map(a.displayedRoutes,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("voice_extension"),b.url="/api/voice/extensions/route/internal",h.getPage(b).then(function(c){a.displayedRoutes=c.rows,b.pagination.numberOfPages=c.total_pages,e.updateTableConfig(a.routesByPage,a.displayedRoutes.length),e.updateTableConfig(a.conf.routesByPage,a.displayedRoutes.length)}),c.socket.on("voice_extension:save",function(c){"internal"===c.type&&a.initList(b)}),c.socket.on("voice_extension:remove",function(c){"internal"===c.type&&(a.routes.checked=_.without(a.routes.checked,c.id),a.initList(b))})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/voice/extensions/"+a).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/voice/extensions/",{params:{id:a.routes.checked}}).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(d.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.internal.list",{url:"/list",templateUrl:"app/voice/route/internal/list/list.html",controller:"VoiceRouteInternalListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInternalViewCtrl",["$scope","$http","$translate","$stateParams","socket","$location","WizardHandler","Modal","xAlert","application","interval",function(a,b,c,d,e,f,g,h,i,j,k){a.$translate=c,a.$application=j.application,a.$interval=k.interval,a.initApplication=function(){a.forms={settings:void 0,interval:void 0},a.application={VoiceExtensionId:d.id,type:"internal"},a.interval={intType:"always",t_from:moment(new Date),t_to:moment(new Date),wd_from:"always",wd_to:"always",md_from:"always",md_to:"always",m_from:"always",m_to:"always",alwaysTime:!0},a.main={app:""}},a.joinInterval=function(a){console.log(a);var b,c,d,e;return b=a.t_from&&a.t_to&&!a.alwaysTime?moment(a.t_from).format("HH:mm")+"-"+moment(a.t_to).format("HH:mm"):"*",a.wd_from&&"always"!==a.wd_from?(c=a.wd_from.toLowerCase(),a.wd_to&&"always"!==a.wd_to&&(c+="-"+a.wd_to.toLowerCase())):c="*",a.md_from&&"always"!==a.md_from?(d=a.md_from,a.md_to&&"always"!==a.md_to&&(d+="-"+a.md_to)):d="*",a.m_from&&"always"!==a.m_from?(e=a.m_from.toLowerCase(),a.m_to&&"always"!==a.m_to&&(e+="-"+a.m_to.toLowerCase())):e="*",b+","+c+","+d+","+e},a.$watch("main.app",function(c){if(c){var e,f;switch(d.appId||(a.application={VoiceExtensionId:d.id,type:"internal",interval:a.application.interval}),c){case"Queue":e="api/voice/queues",f="/api/uploads";break;case"Playback":e="/api/uploads";break;case"AGI":e="/api/square/projects";break;case"Goto":e="/api/voice/contexts";break;default:e=null,f=null}e&&b.get(e).success(function(b){a.items="Playback"!==c?b.rows:b}),f&&b.get(f).success(function(b){a.items2=b})}},!0),a.getIntervals=function(){b.get("/api/intervals").success(function(b){a.Intervals=b.rows,e.syncUpdates("interval",a.Intervals)}).error(function(a){i.show(c.instant(a.message),"danger")})},a.getRouteApplications=function(){b.get("/api/voice/extensions/"+d.id+"/applications").success(function(b){a.routeApplications=b,e.unsyncUpdates("voice_extension"),e.socket.on("voice_extension:remove",function(b){b.where.appGroup&&_.remove(a.routeApplications,function(a){return b.where.appGroup==a.appGroup})}),e.socket.on("voice_extension:save",function(b){if(b.VoiceExtensionId===d.id&&b.isApp){var c=_.find(a.routeApplications,{id:b.id});c||a.routeApplications.push(b)}})})},a.sortableOptions={stop:function(){b.post("api/voice/extensions/"+d.id+"/applications",{applications:_.pluck(a.routeApplications,"appGroup")}).success(function(b){a.getRouteApplications()}).error(function(a){console.error(a)})},"ui-floating":!0,axis:"y"},a.getRoute=function(){b.get("/api/voice/extensions/"+d.id).success(function(b){a.route=b,e.socket.on("voice_extension:update",function(b){b.id==d.id&&(a.route=b)})}).error(function(a){console.error(a),f.path("/voice/routes/internal/list")})},a.getApplication=function(){b.get("/api/voice/extensions/applications/"+d.appId).success(function(b){var c=_.filter(a.applications,function(a){return a.value===b.app});if(c.length>0&&!b.customApp?a.main.app=b.app:a.main.app="custom",a.application=b,a.interval.t_from=moment(new Date),a.interval.t_to=moment(new Date),"Queue"===b.app&&(a.application.app_options=b.app_options?b.app_options.split(","):[]),a.interval.intType=b.IntervalId?"list":"custom",a.interval.IntervalId=b.IntervalId,!b.IntervalId){var d,e=b.interval?b.interval.split(","):["*","*","*","*"];e.forEach(function(b,c){switch(c){case 0:"*"!==b?(d=b.split("-"),a.interval.t_from=moment(d[0],"HH:mm"),a.interval.t_to=moment(d[1],"HH:mm"),a.interval.alwaysTime=!1):(a.interval.t_from=moment(new Date),a.interval.t_to=moment(new Date),a.interval.alwaysTime=!0);break;case 1:"*"!==b?(d=b.split("-"),a.interval.wd_from=_.capitalize(d[0]),a.interval.wd_to=d[1]?_.capitalize(d[1]):"always"):(a.interval.wd_from="always",a.interval.wd_to="always");break;case 2:"*"!==b?(d=b.split("-"),a.interval.md_from=d[0],a.interval.md_to=d[1]?d[1]:"always"):(a.interval.md_from="always",a.interval.md_to="always");break;case 3:"*"!==b?(d=b.split("-"),a.interval.m_from=_.capitalize(d[0]),a.interval.m_to=d[1]?_.capitalize(d[1]):"always"):(a.interval.m_from="always",a.interval.m_to="always")}})}}).error(function(a){f.path("/voice/routes/internal/view/"+d.id+"/applications")})},a.updateRoute=function(){var e=angular.copy(a.route);b.put("/api/voice/extensions/"+d.id,e).success(function(){i.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){i.show(c.instant(b.message),"danger"),a.route=e})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,e.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){i.show(c.instant(a.message),"danger")})},a.createItem=function(){switch(a.application.app=a.main.app,a.application.exten=a.route.exten,a.application.context=a.route.context,a.application.app_options&&"Queue"===a.application.app&&(a.application.app_options=a.application.app_options.join(",")),a.interval.intType){case"list":a.application.IntervalId=a.interval.IntervalId,a.application.interval=_.result(_.find(a.Intervals,{id:a.interval.IntervalId}),"name");break;case"custom":a.application.IntervalId=null,a.application.interval=a.joinInterval(a.interval);break;case"always":a.application.IntervalId=null,a.application.interval="*,*,*,*"}b.post("/api/voice/extensions/",a.application).success(function(){f.path("/voice/routes/internal/view/"+d.id+"/applications")}).error(function(a){i.show(c.instant(a.message),"danger")})},a.updateItem=function(){switch(a.application.app_options&&"Queue"===a.application.app&&(a.application.app_options=a.application.app_options.join(",")),a.interval.intType){case"list":a.application.IntervalId=a.interval.IntervalId,a.application.interval=_.result(_.find(a.Intervals,{id:a.interval.IntervalId}),"name");break;case"custom":a.application.IntervalId=null,a.application.interval=a.joinInterval(a.interval);break;case"always":a.application.IntervalId=null,a.application.interval="*,*,*,*"}b.put("/api/voice/extensions/applications/"+d.appId,a.application).success(function(){i.show(c.instant("MESSAGE_WELL_DONE")+"!","success"),f.path("/voice/routes/internal/view/"+d.id+"/applications")}).error(function(a){i.show(c.instant(a.message),"danger")})},a.deleteItem=h.confirm["delete"](function(d){b["delete"]("/api/voice/extensions/"+d).success(function(b){a.getRouteApplications(),i.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){i.show(c.instant(a.message),"danger")})}),a.goNext=function(){g.wizard().next()},a.previous=function(){g.wizard().previous()},a.formValidation=function(a){return a},a.$on("destroy",function(){e.unsyncUpdates("voice_extension")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.internal.view",{url:"/view/:id",templateUrl:"app/voice/route/internal/view/view.html",controller:"VoiceRouteInternalViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.routes.internal.view.settings",{url:"/settings",templateUrl:"app/voice/route/internal/view/view.settings.html"}).state("main.voice.routes.internal.view.applications",{url:"/applications",templateUrl:"app/voice/route/internal/view/view.applications.html",cache:!1}).state("main.voice.routes.internal.view.application",{url:"/application",templateUrl:"app/voice/route/internal/view/view.application.html",authenticate:!0}).state("main.voice.routes.internal.view.applications.settings",{url:"/settings/:appId",templateUrl:"app/voice/route/internal/view/view.applicationSettings.html",authenticate:!0,controller:"VoiceRouteInternalViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInternalWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.forms={route:void 0},a.item={type:"internal",appdata:"Iternal Call",context:"from-sip"},a.next=function(){b.post("/api/voice/extensions/validate/",a.item).success(function(a){console.log(a),a.length?e.show(g.instant("MESSAGE_EXIST_ROUTE"),"danger"):c.wizard().next()}).error(function(a){e.show(g.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/voice/extensions/",a.item).success(function(a){d.path("/voice/routes/internal/view/"+a.id+"/applications")}).error(function(a){e.show(g.instant(a.message),"danger")})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){e.show(g.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.internal.wizard",{url:"/wizard",templateUrl:"app/voice/route/internal/wizard/wizard.html",controller:"VoiceRouteInternalWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteOutboundListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={routesByPage:{name:"10",value:10}},a.routesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.routes={checked:[]},a.check=function(b){b?a.routes.checked=angular.copy(_.pluck(a.displayedRoutes,"id")):a.routes.checked=[]},a.getRoutes=function(b){return _.map(a.displayedRoutes,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("voice_extension"),b.url="/api/voice/extensions/route/outbound",h.getPage(b).then(function(c){a.displayedRoutes=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.routesByPage,a.displayedRoutes.length),d.updateTableConfig(a.conf.routesByPage,a.displayedRoutes.length)}),c.socket.on("voice_extension:save",function(c){"outbound"===c.type&&a.initList(b)}),c.socket.on("voice_extension:remove",function(c){"outbound"===c.type&&(a.routes.checked=_.without(a.routes.checked,c.id),a.initList(b))})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/voice/extensions/"+a).success(function(){f(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/voice/extensions/",{params:{id:a.routes.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(e.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.outbound.list",{url:"/list",templateUrl:"app/voice/route/outbound/list/list.html",controller:"VoiceRouteOutboundListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",
+files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.outbound",{url:"/outbound",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteOutboundViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$location","WizardHandler","Modal","application","interval",function(a,b,c,d,e,f,g,h,i,j,k){a.$translate=d,a.$application=j.application,a.$interval=k.interval,a.initApplication=function(){a.forms={info:void 0,interval:void 0},a.application={VoiceExtensionId:e.id,type:"outbound"},a.interval={intType:"always",t_from:moment(new Date),t_to:moment(new Date),wd_from:"always",wd_to:"always",md_from:"always",md_to:"always",m_from:"always",m_to:"always",alwaysTime:!0},a.main={app:""},a.applications=[{name:"Dial",value:"Dial"},{name:"Custom",value:"custom"}]},a.joinInterval=function(a){console.log(a);var b,c,d,e;return b=a.t_from&&a.t_to&&!a.alwaysTime?moment(a.t_from).format("HH:mm")+"-"+moment(a.t_to).format("HH:mm"):"*",a.wd_from&&"always"!==a.wd_from?(c=a.wd_from.toLowerCase(),a.wd_to&&"always"!==a.wd_to&&(c+="-"+a.wd_to.toLowerCase())):c="*",a.md_from&&"always"!==a.md_from?(d=a.md_from,a.md_to&&"always"!==a.md_to&&(d+="-"+a.md_to)):d="*",a.m_from&&"always"!==a.m_from?(e=a.m_from.toLowerCase(),a.m_to&&"always"!==a.m_to&&(e+="-"+a.m_to.toLowerCase())):e="*",b+","+c+","+d+","+e},a.$watch("main.app",function(c){if(c){var d,f;switch(e.appId||(a.application={VoiceExtensionId:e.id,type:"outbound",interval:a.application.interval}),c){case"Dial":d="api/trunks",f="/api/voice/contexts";break;default:d=null,f=null}d&&b.get(d).success(function(b){a.items="Dial"===c?b.rows:b}),f&&b.get(f).success(function(b){a.items2="Dial"===c?b.rows:b})}},!0),a.$watch("application.TrunkId",function(b){b&&(a.application.trunk=_.result(_.find(a.items,{id:b}),"name"))},!0),a.getIntervals=function(){b.get("/api/intervals").success(function(b){a.Intervals=b.rows,f.syncUpdates("interval",a.Intervals)}).error(function(a){c.show(d.instant(a.message),"danger")})},a.getRouteApplications=function(){b.get("/api/voice/extensions/"+e.id+"/applications").success(function(b){a.routeApplications=b,f.unsyncUpdates("voice_extension"),f.socket.on("voice_extension:remove",function(b){b.where.appGroup&&_.remove(a.routeApplications,function(a){return b.where.appGroup==a.appGroup})}),f.socket.on("voice_extension:save",function(b){if(b.VoiceExtensionId===e.id&&b.isApp){var c=_.find(a.routeApplications,{id:b.id});c||a.routeApplications.push(b)}})})},a.sortableOptions={stop:function(){b.post("api/voice/extensions/"+e.id+"/applications",{applications:_.pluck(a.routeApplications,"appGroup")}).success(function(){a.getRouteApplications()}).error(function(a){console.error(a)})},"ui-floating":!0,axis:"y"},a.getRoute=function(){b.get("/api/voice/extensions/"+e.id).success(function(b){a.route=b,f.socket.on("voice_extension:update",function(b){b.id==e.id&&(a.route=b)})}).error(function(a){g.path("/voice/routes/outbound/list")})},a.getApplication=function(){b.get("/api/voice/extensions/applications/"+e.appId).success(function(b){var c=_.filter(a.applications,function(a){return a.value===b.app});if(c.length>0&&!b.customApp?a.main.app=b.app:a.main.app="custom",a.application=b,a.interval.intType=b.IntervalId?"list":"custom",a.interval.IntervalId=b.IntervalId,!b.IntervalId){var d,e=b.interval?b.interval.split(","):["*","*","*","*"];e.forEach(function(b,c){switch(c){case 0:"*"!==b?(d=b.split("-"),a.interval.t_from=moment(d[0],"HH:mm"),a.interval.t_to=moment(d[1],"HH:mm"),a.interval.alwaysTime=!1):(a.interval.t_from=moment(new Date),a.interval.t_to=moment(new Date),a.interval.alwaysTime=!0);break;case 1:"*"!==b?(d=b.split("-"),a.interval.wd_from=_.capitalize(d[0]),a.interval.wd_to=d[1]?_.capitalize(d[1]):"always"):(a.interval.wd_from="always",a.interval.wd_to="always");break;case 2:"*"!==b?(d=b.split("-"),a.interval.md_from=d[0],a.interval.md_to=d[1]?d[1]:"always"):(a.interval.md_from="always",a.interval.md_to="always");break;case 3:"*"!==b?(d=b.split("-"),a.interval.m_from=_.capitalize(d[0]),a.interval.m_to=d[1]?_.capitalize(d[1]):"always"):(a.interval.m_from="always",a.interval.m_to="always")}})}}).error(function(a){console.error(a),g.path("/voice/routes/outbound/view/"+e.id+"/routes")})},a.updateRoute=function(){var f=angular.copy(a.route);b.put("/api/voice/extensions/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.route=f})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){c.show(d.instant(a.message),"danger")})},a.createItem=function(){switch(a.application.app=a.main.app,a.application.exten=a.route.exten,a.application.context=a.route.context,a.interval.intType){case"list":a.application.IntervalId=a.interval.IntervalId,a.application.interval=_.result(_.find(a.Intervals,{id:a.interval.IntervalId}),"name");break;case"custom":a.application.IntervalId=null,a.application.interval=a.joinInterval(a.interval);break;case"always":a.application.IntervalId=null,a.application.interval="*,*,*,*"}b.post("/api/voice/extensions/",a.application).success(function(){g.path("/voice/routes/outbound/view/"+e.id+"/routes")}).error(function(a){c.show(d.instant(a.message),"danger")})},a.updateItem=function(){switch(a.interval.intType){case"list":a.application.IntervalId=a.interval.IntervalId,a.application.interval=_.result(_.find(a.Intervals,{id:a.interval.IntervalId}),"name");break;case"custom":a.application.IntervalId=null,a.application.interval=a.joinInterval(a.interval);break;case"always":a.application.IntervalId=null,a.application.interval="*,*,*,*"}b.put("/api/voice/extensions/applications/"+e.appId,a.application).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),g.path("/voice/routes/outbound/view/"+e.id+"/routes")}).error(function(a){c.show(d.instant(a.message),"danger")})},a.deleteItem=i.confirm["delete"](function(e){b["delete"]("/api/voice/extensions/"+e).success(function(b){a.getRouteApplications(),c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){c.show(d.instant(a.message),"danger")})}),a.goNext=function(){h.wizard().next()},a.previous=function(){h.wizard().previous()},a.formValidation=function(a){return a},a.$on("destroy",function(){f.unsyncUpdates("voice_extension")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.outbound.view",{url:"/view/:id",templateUrl:"app/voice/route/outbound/view/view.html",controller:"VoiceRouteOutboundViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.routes.outbound.view.settings",{url:"/settings",templateUrl:"app/voice/route/outbound/view/view.settings.html"}).state("main.voice.routes.outbound.view.routes",{url:"/routes",templateUrl:"app/voice/route/outbound/view/view.routes.html",cache:!1}).state("main.voice.routes.outbound.view.route",{url:"/route",templateUrl:"app/voice/route/outbound/view/view.route.html",authenticate:!0}).state("main.voice.routes.outbound.view.routes.settings",{url:"/settings/:appId",templateUrl:"app/voice/route/outbound/view/view.routeSettings.html",authenticate:!0,controller:"VoiceRouteOutboundViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteOutboundWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.forms={route:void 0},a.item={type:"outbound",appdata:"Outbound Call",context:"from-sip"},a.next=function(){b.post("/api/voice/extensions/validate/",a.item).success(function(a){console.log(a),a.length?e.show(g.instant("MESSAGE_EXIST_ROUTE"),"danger"):c.wizard().next()}).error(function(a){e.show(g.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/voice/extensions/",a.item).success(function(a){d.path("/voice/routes/outbound/view/"+a.id+"/routes")}).error(function(a){e.show(g.instant(a.message),"danger")})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){e.show(g.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.outbound.wizard",{url:"/wizard",templateUrl:"app/voice/route/outbound/wizard/wizard.html",controller:"VoiceRouteOutboundWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes",{url:"/routes",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice",{url:"/voice",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceVoicemailListCtrl",["$scope","$http","$translate","$rootScope","xAlert","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={voicemailsByPage:{name:"10",value:10},labels:["mailbox","fullname","email"]},a.voicemailsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.voicemails={checked:[]},a.check=function(b,c){c?a.voicemails.checked=angular.copy(_.pluck(a.displayedVoicemails,"uniqueid")):a.voicemails.checked=[]},a.getVoicemails=function(b){return _.map(a.displayedVoicemails,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("voice_voicemail"),b.url="/api/voice/voicemails",h.getPage(b).then(function(c){a.displayedVoicemails=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.voicemailsByPage,a.displayedVoicemails.length),d.updateTableConfig(a.conf.voicemailsByPage,a.displayedVoicemails.length)}),f.socket.on("voice_voicemail:save",function(){a.initList(b)}),f.socket.on("voice_voicemail:remove",function(c){a.voicemails.checked=_.without(a.voicemails.checked,c.uniqueid),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/voice/voicemails/"+a).success(function(){e.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){e.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/voice/voicemails",{params:{uniqueid:a.voicemails.checked}}).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(c.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.voicemails.list",{url:"/list",templateUrl:"app/voice/voicemail/list/list.html",controller:"VoiceVoicemailListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceVoicemailViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$sce","Modal","$location",function(a,b,c,d,e,f,g,h,i){a.getVoicemail=function(){b.get("/api/voice/voicemails/"+e.uniqueid).success(function(b){delete b.password,delete b.stamp,a.voicemail=b}).error(function(a){console.error(a),i.path("/voice/voicemails/list")})},a.updateVoiceVoicemail=function(){var f=angular.copy(a.voicemail);b.put("/api/voice/voicemails/"+e.uniqueid,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.voicemail=f})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){c.show(a.message,"danger")})},a.getMessages=function(){b.get("/api/voice/voicemails/"+e.uniqueid+"/messages/").success(function(b){a.voicemailMessages=b,f.syncUpdates("voice_voicemail_messages",a.voicemailMessages)}).error(function(a){c.show(a.message,"danger")})},a.encodeRecording=function(a){return g.trustAsResourceUrl("data:audio/ogg;base64,"+j(a.data))},a.returnMessageDate=function(a){return a.split("T")[0]},a.returnDuration=function(a){return 1e3*a},a.deleteItem=h.confirm["delete"](function(a){b["delete"]("/api/voice/voicemails/messages/"+a+"/delete").success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){console.log(a),c.show(a.message,"danger")})});var j=function(a){for(var b=new Uint8Array(a),c=b.byteLength,d="",e=0;c>e;e++)d+=String.fromCharCode(b[e]);return window.btoa(d)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.voicemails.view",{url:"/view/:uniqueid",templateUrl:"app/voice/voicemail/view/view.html",controller:"VoiceVoicemailViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.voicemails.view.settings",{url:"/settings",templateUrl:"app/voice/voicemail/view/view.settings.html"}).state("main.voice.voicemails.view.messages",{url:"/messages",templateUrl:"app/voice/voicemail/view/view.messages.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.voicemails",{url:"/voicemails",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceVoicemailWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.initWizard=function(){a.forms={},a.item={}},a.next=function(){b.post("/api/voice/voicemails/validate/",a.item).success(function(a){a.length?e.show(g.instant("MESSAGE_EXIST_MAILBOX"),"danger"):c.wizard().next()}).error(function(a){e.show(a.message,"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){a.item.customer_id=a.item.mailbox,b.post("/api/voice/voicemails/",a.item).success(function(){d.path("/voice/voicemails/list")}).error(function(a){e.show(a.message,"danger")})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.voicemails.wizard",{url:"/wizard",templateUrl:"app/voice/voicemail/wizard/wizard.html",controller:"VoiceVoicemailWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("YourdashboardListCreateModalCtrl",["$scope","$uibModalInstance",function(a,b){a.forms={dashboard:void 0},a.item={},a.ok=function(){a.item.model=JSON.stringify({title:a.item.name}),b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("YourdashboardListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource","$uibModal","$log",function(a,b,c,d,e,f,g,h,i,j){a.conf={dashboardsByPage:{name:"10",value:10}},a.dashboardsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.dashboards={checked:[]},a.check=function(b,c){c?a.dashboards.checked=angular.copy(_.pluck(a.displayedDashboards,"id")):a.dashboards.checked=[]},a.getDashboards=function(b){return _.map(a.displayedDashboards,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){b.url="/api/dashboards",h.getPage(b).then(function(c){a.displayedDashboards=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.dashboardsByPage,a.displayedDashboards.length),d.updateTableConfig(a.conf.dashboardsByPage,a.displayedDashboards.length)}),c.socket.on("dashboard:save",function(){a.initList(b)}),c.socket.on("dashboard:remove",function(c){a.dashboards.checked=_.without(a.dashboards.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/dashboards/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/dashboards",{params:{id:a.dashboards.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.create=function(){var a=i.open({animation:!0,templateUrl:"app/yourdashboard/list/create.modal.html",controller:"YourdashboardListCreateModalCtrl"});a.result.then(function(a){b.post("/api/dashboards",a).then(function(a){f.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.show(a.data.message,"danger")})},function(){j.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.yourdashboards.list",{url:"/list",templateUrl:"app/yourdashboard/list/list.html",controller:"YourdashboardListCtrl"})}]),angular.module("xCallyShuttleApp").controller("YourdashboardShowCtrl",["$scope","localStorageService","$http","xAlert","$translate","Auth","$stateParams","$location",function(a,b,c,d,e,f,g,h){a.Auth=f,a.dashboard={name:"dashboard",structure:"4-8",enableconfirmdelete:!0,editable:f.isAdmin()?!0:!1,maximizable:!0,collapsible:!0},a.getDashboard=function(){c.get("/api/dashboards/"+g.id).success(function(b){b.model=JSON.parse(b.model),a.dashboard=_.merge(a.dashboard,b)}).error(function(a){h.path("/yourdashboards/list")})};var i=function(b,f,h){var i=angular.copy(a.dashboard);i.name=a.dashboard.model.title,i.model=JSON.stringify(i.model),c.put("/api/dashboards/"+g.id,i).success(function(){d.show(e.instant("MESSAGE_DASHBOARD_SAVED")+"!","success")}).error(function(b){d.show(b.message,"danger"),i.model=JSON.parse(i.model),i.name="dashboard",a.dashboard=i})};a.$on("adfDashboardChanged",i),a.$on("destroy",function(){console.log("main dashboard")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.yourdashboards.show",{url:"/show/:id",templateUrl:"app/yourdashboard/show/show.html",controller:"YourdashboardShowCtrl"})}]),angular.module("xCallyShuttleApp").controller("YourdashboardViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.radioSwitch={isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.getDashboard=function(){b.get("/api/dashboards/"+e.id).success(function(b){delete b.model,a.dashboard=b}).error(function(a){f.path("/yourdashboards/list")})},a.updateDashboard=function(){var f=angular.copy(a.dashboard);b.put("/api/dashboards/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.dashboard=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.yourdashboards.view",{url:"/view/:id",templateUrl:"app/yourdashboard/view/view.html",controller:"YourdashboardViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.yourdashboards.view.settings",{url:"/settings",templateUrl:"app/yourdashboard/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.yourdashboards",{url:"/yourdashboards",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ZendeskListCtrl",["$scope","$http","$rootScope","xAlert","$translate","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={accountsByPage:{name:"10",value:10}},a.accountsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.accounts={checked:[]},a.check=function(b,c){c?a.accounts.checked=angular.copy(_.pluck(a.displayedZdAccounts,"id")):a.accounts.checked=[]},a.getAccounts=function(b){return _.map(a.displayedZdAccounts,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("zendesk_account"),b.url="/api/zendesk/accounts",h.getPage(b).then(function(d){a.displayedZdAccounts=d.rows,b.pagination.numberOfPages=d.total_pages,c.updateTableConfig(a.accountsByPage,a.displayedZdAccounts.length),c.updateTableConfig(a.conf.accountsByPage,a.displayedZdAccounts.length)}),f.socket.on("zendesk_account:save",function(){a.initList(b)}),f.socket.on("zendesk_account:remove",function(c){a.accounts.checked=_.without(a.accounts.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/zendesk/accounts/"+a).success(function(){d.show(e.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/zendesk/accounts",{params:{id:a.accounts.checked}}).success(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.checkAccount=function(a){b.get("/api/zendesk/accounts/"+a+"/check").then(function(){d.show(e.instant("MESSAGE_ACCOUNT_VERIFIED"),"success")})["catch"](function(){d.show(e.instant("MESSAGE_ACCOUNT_INVALID"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk.list",{url:"/list",templateUrl:"app/zendesk/list/list.html",controller:"ZendeskListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("ZendeskViewCtrl",["$scope","$http","$stateParams","$translate","$location","$filter","WizardHandler","socket","xAlert","Modal",function(a,b,c,d,e,f,g,h,i,j){a.$stateParams=c,a.config={autoHideScrollbar:!1,theme:"dark",advanced:{updateOnContentResize:!0},setHeight:500,scrollInertia:0},a.initConfiguration=function(){a.formsConfiguration={},a.configuration={}},a.goNext=function(){g.wizard().next()},a.formValidation=function(a){return a},a.$on("$destroy",function(){h.unsyncUpdates("zendesk_configuration"),h.unsyncUpdates("zendesk_field")}),a.initView=function(){b.get("/api/zendesk/accounts/"+c.id).success(function(b){a.account=b}).error(function(a){i.show(a.message,"danger")})},a.updateItem=function(){b.put("/api/zendesk/accounts/"+c.id,a.account).success(function(){i.show(d.instant("MESSAGE_WELL_DONE")+".","success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.getConfigurations=function(){b.get("/api/zendesk/configurations",{params:{AccountId:c.id}}).success(function(b){a.configurations=b,h.socket.on("zendesk_configuration:remove",function(b){_.remove(a.configurations,{id:b.id})})}).error(function(a){i.show(a.message,"danger")})},a.deleteConfiguration=j.confirm["delete"](function(a){b["delete"]("api/zendesk/configurations/"+a).success(function(){i.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.createConfiguration=function(){a.configuration.AccountId=c.id,b.post("api/zendesk/configurations",a.configuration).success(function(a){e.path("zendesk/view/"+c.id+"/configurations/settings/"+a.id)}).error(function(){i.show("Something went wrong!","danger")})},a.fieldType=["string","variable"],a.descFieldType=["string","key_value"],a.getFields=function(){b.get("/api/zendesk/accounts/"+c.id+"/fields").success(function(b){a.accountFields=f("zendesk")(b)}).error(function(a){i.show(a.message,"danger")})},a.getConfiguration=function(){b.get("/api/zendesk/configurations/"+c.configurationId).success(function(b){a.configurationName=b.name,a.subjectConfig=b.Subject,a.descriptionConfig=b.Description,a.fieldConfig=b.Field,h.socket.on("zendesk_field:remove",function(b){_.remove(a.subjectConfig,{id:b.id}),_.remove(a.descriptionConfig,{id:b.id}),_.remove(a.fieldConfig,{id:b.id})})}).error(function(a){i.show(a.message,"danger")})},a.getVariables=function(){b.get("/api/variables").success(function(b){a.variables=b.rows}).error(function(a){i.show(a.message,"danger")})},a.removeItem=function(a){b["delete"]("api/zendesk/fields/"+a.id).success(function(){i.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addItemSubject=function(){var d={type:"string",content:""};b.post("/api/zendesk/configurations/"+c.configurationId+"/subject",d).success(function(b){a.subjectConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.addItemDescription=function(){var d={type:"string",content:""};b.post("/api/zendesk/configurations/"+c.configurationId+"/description",d).success(function(b){a.descriptionConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.addItemDescription=function(){var d={type:"string",content:""};b.post("/api/zendesk/configurations/"+c.configurationId+"/description",d).success(function(b){a.descriptionConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.addItemField=function(){var d={content:""};b.post("/api/zendesk/configurations/"+c.configurationId+"/field",d).success(function(b){a.fieldConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.updateField=function(a){b.put("/api/zendesk/fields/"+a.id,a).success(function(){}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.changeType=function(b){"variable"===b.type?b.content="":"string"===b.type&&(b.VariableId=null),a.updateField(b)},a.changeDescType=function(b){"key_value"===b.type?(b.content="","string"===b.keyType?b.VariableId=null:"variable"===b.keyType&&(b.keyContent="")):"string"===b.type&&(b.VariableId=null,b.key="",b.keyContent=""),a.updateField(b)},a.changeFieldType=function(b){b.content="",a.updateField(b)},a.getSystemFieldOptions=function(b){if(b){var c=_.find(a.accountFields,"id",b);return c?c.system_field_options?c.system_field_options:null:void 0}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk.view",{url:"/view/:id",templateUrl:"app/zendesk/view/view.html",controller:"ZendeskViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.zendesk.view.account",{url:"/account",templateUrl:"app/zendesk/view/view.account.html"}).state("main.zendesk.view.configurations",{url:"/configurations",templateUrl:"app/zendesk/view/view.configurations.html"}).state("main.zendesk.view.configurations.settings",{url:"/settings/:configurationId",templateUrl:"app/zendesk/view/view.configurationSettings.html",controller:"ZendeskViewCtrl"}).state("main.zendesk.view.configuration",{url:"/configuration",templateUrl:"app/zendesk/view/view.configuration.html"})}]),angular.module("xCallyShuttleApp").controller("ZendeskWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler",function(a,b,c,d,e,f){a.translate=d,a.initWizard=function(){a.$translate=d,a.forms={},a.item={},a.item.authType="password"},a.next=function(){f.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("api/zendesk/accounts",a.item).success(function(){e.show(d.instant("MESSAGE_WELL_DONE")+".","success"),c.path("/zendesk/list")}).error(function(){e.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk.wizard",{url:"/wizard",templateUrl:"app/zendesk/wizard/wizard.html",controller:"ZendeskWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk",{url:"/zendesk",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").service("application",function(){var a={applications:[{name:"Queue",value:"Queue"},{name:"Playback",value:"Playback"},{name:"Dial",value:"Dial"},{name:"Cally-Square IVR",value:"AGI"},{name:"GoTo",value:"Goto"},{name:"Hangup",value:"Hangup"},{name:"Set",value:"Set"},{name:"Custom",value:"custom"},{name:"VoiceMail",value:"Voicemail"}],queueOptions:[{value:"C",name:"APPLICATION_QUEUE_OPTION_C"},{value:"c",name:"APPLICATION_QUEUE_OPTION_c"},{value:"d",name:"APPLICATION_QUEUE_OPTION_d"},{value:"F",name:"APPLICATION_QUEUE_OPTION_F"},{value:"h",name:"APPLICATION_QUEUE_OPTION_h"},{value:"H",name:"APPLICATION_QUEUE_OPTION_H"},{value:"n",name:"APPLICATION_QUEUE_OPTION_n"},{value:"i",name:"APPLICATION_QUEUE_OPTION_i"},{value:"I",name:"APPLICATION_QUEUE_OPTION_I"},{value:"r",name:"APPLICATION_QUEUE_OPTION_r"},{value:"R",name:"APPLICATION_QUEUE_OPTION_R"},{value:"t",name:"APPLICATION_QUEUE_OPTION_t"},{value:"T",name:"APPLICATION_QUEUE_OPTION_T"},{value:"w",name:"APPLICATION_QUEUE_OPTION_w"},{value:"W",name:"APPLICATION_QUEUE_OPTION_W"},{value:"k",name:"APPLICATION_QUEUE_OPTION_k"},{value:"K",name:"APPLICATION_QUEUE_OPTION_K"},{value:"x",name:"APPLICATION_QUEUE_OPTION_x"},{value:"X",name:"APPLICATION_QUEUE_OPTION_X"}],audioOptions:[{value:"skip",name:"APPLICATION_PLAYBACK_OPTION_SKIP"},{value:"noanswer",name:"APPLICATION_PLAYBACK_OPTION_NOANSWER"},{value:"j",name:"APPLICATION_PLAYBACK_OPTION_J"},{value:"say",name:"APPLICATION_PLAYBACK_OPTION_SAY"}],hangupCauses:[{value:"",name:"--"},{value:"1",name:"APPLICATION_HANGUP_CAUSE_1"},{value:"16",name:"APPLICATION_HANGUP_CAUSE_16"},{value:"17",name:"APPLICATION_HANGUP_CAUSE_17"},{value:"18",name:"APPLICATION_HANGUP_CAUSE_18"},{value:"21",name:"APPLICATION_HANGUP_CAUSE_21"},{value:"22",name:"APPLICATION_HANGUP_CAUSE_22"},{value:"27",name:"APPLICATION_HANGUP_CAUSE_27"},{value:"38",name:"APPLICATION_HANGUP_CAUSE_38"},{value:"41",name:"APPLICATION_HANGUP_CAUSE_41"}],intTypes:[{value:"always",name:"APPLICATION_ALWAYS"},{value:"custom",name:"APPLICATION_CUSTOM"},{value:"list",name:"APPLICATION_FROM_LIST"}]};return{application:a}}),angular.module("xCallyShuttleApp").factory("Auth",["$location","$rootScope","$http","User","$cookieStore","$q",function(a,b,c,d,e,f){var g={};return e.get("token")&&(g=d.me()),{login:function(a,h){var i=h||angular.noop,j=f.defer();return c.post("/auth/local",{name:a.name,password:a.password,remember:a.remember}).success(function(a){return e.put("token",a.token),e.put("userId",a.userId),g=d.me({},function(){b.$broadcast("login")}),j.resolve(a),i()}).error(function(a){return this.logout(),j.reject(a),i(a)}.bind(this)),j.promise},loginWithToken:function(a,b,c){e.put("token",a),e.put("userId",b),e.put("name",c),g=d.me()},logout:function(){c.put("/api/users/"+g.id,{online:!1}).success(function(){e.remove("token"),e.remove("userId"),g={},b.$broadcast("logout")}).error(function(a){return a})},createUser:function(a,b){var c=b||angular.noop;return d.save(a,function(b){return e.put("token",b.token),g=d.me(),c(a)},function(a){return this.logout(),c(a)}.bind(this)).$promise},changePassword:function(a,b,c){var e=c||angular.noop;return d.changePassword({id:g.id},{oldPassword:a,newPassword:b},function(a){return e(null,a)},function(a){return e(a)}).$promise},getCurrentUser:function(){return g},isLoggedIn:function(){return g.hasOwnProperty("role")},isLoggedInAsync:function(a){g.hasOwnProperty("$promise")?g.$promise.then(function(){a(!0)})["catch"](function(){a(!1)}):a(g.hasOwnProperty("role")?!0:!1)},isAdmin:function(){return"admin"===g.role},getRole:function(){return g.role},getToken:function(){return e.get("token")},getUserId:function(){return console.log(e.get("userId")),e.get("userId")},getName:function(){return e.get("name")}}}]),angular.module("xCallyShuttleApp").factory("User",["$resource",function(a){
+return a("/api/users/:id/:controller",{id:"@id"},{changePassword:{method:"PUT",params:{controller:"password"}},me:{method:"GET",params:{id:"me"}}})}]),angular.module("xCallyShuttleApp").service("automations",function(){var a={voice:{conditions:[],actions:[]},mail:{conditions:[{name:"APPLICATION_STATUS",value:"status",propertyField:"select",operators:"equals"},{name:"APPLICATION_HOURS_SINCE_CREATED",value:"createdAt",propertyField:"number",operators:"noequals"}],actions:[{name:"APPLICATION_STATUS",value:"status",propertyField:"select"}]},chat:{conditions:[],actions:[]},fax:{conditions:[{name:"APPLICATION_STATUS",value:"status",propertyField:"select",operators:"equals"},{name:"APPLICATION_HOURS_SINCE_CREATED",value:"createdAt",propertyField:"number",operators:"noequals"}],actions:[{name:"APPLICATION_STATUS",value:"status",propertyField:"select"}]}},b=["voice","mail","chat","fax"],c={equals:[{value:"=",name:"APPLICATION_EQUALS_TO"},{value:"<>",name:"APPLICATION_NOT_EQUALS_TO"}],all:[{value:"=",name:"APPLICATION_EQUALS_TO"},{value:"<>",name:"APPLICATION_NOT_EQUALS_TO"},{value:">=",name:"APPLICATION_GTE_TO"},{value:"<=",name:"APPLICATION_LTE_TO"},{value:">",name:"APPLICATION_GREATER_THAN"},{value:"<",name:"APPLICATION_LESS_THAN"}],noequals:[{value:">=",name:"APPLICATION_GTE_TO"},{value:"<=",name:"APPLICATION_LTE_TO"},{value:">",name:"APPLICATION_GREATER_THAN"},{value:"<",name:"APPLICATION_LESS_THAN"}]},d={voice:{},mail:{status:[{name:"APPLICATION_STATUS_NEW",value:"NEW"},{name:"APPLICATION_STATUS_OPEN",value:"OPEN"},{name:"APPLICATION_STATUS_PENDING",value:"PENDING"},{name:"APPLICATION_STATUS_CLOSED",value:"CLOSED"},{name:"APPLICATION_STATUS_SOLVED",value:"SOLVED"}]},chat:{},fax:{status:[{name:"APPLICATION_STATUS_NEW",value:"NEW"},{name:"APPLICATION_STATUS_OPEN",value:"OPEN"},{name:"APPLICATION_STATUS_PENDING",value:"PENDING"},{name:"APPLICATION_STATUS_CLOSED",value:"CLOSED"},{name:"APPLICATION_STATUS_SOLVED",value:"SOLVED"}]}};return{automations:a,properties:d,channels:b,operators:c}}),angular.module("xCallyShuttleApp").service("desk_com",function(){var a=[{id:"priority",label:"Priority",custom:!1,data:{choices:[1,2,3,4,5,6,7,8,9,10]}},{id:"status",label:"Status",custom:!1,data:{choices:["new","open","pending","resolved","closed"]}},{id:"type",label:"Type",custom:!1,data:{choices:["chat","twitter","email","qna","facebook","phone"]}}];return{fields:a}}),angular.module("xCallyShuttleApp").controller("FooterController",["$scope","$http",function(a,b){a.$on("$includeContentLoaded",function(){Layout.initFooter()}),a.initFooter=function(){b.get("/api/settings/info").success(function(b){a.info=b}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("HeaderController",["$scope","$rootScope","$location","$state","$http","$notification","Auth","xAlert","socket","ngAudio","settings","toastr","localStorageService",function(a,b,c,d,e,f,g,h,i,j,k,l,m){a.toggleQuickSidebar=function(){k.layout.pageQuickSidebarOpened=!k.layout.pageQuickSidebarOpened,k.layout.pageQuickSidebarOpened||m.remove("chatRoomId")},a.initHeader=function(){var c=j.load("api/xchatty/assets?resource=notification/xc_blubb.mp3"),d={};"agent"===g.getCurrentUser().role&&(i.socket.on("report_mail:save",function(a){c.play();var b=f("MAIL CHANNEL",{icon:"assets/images/media/channels/mail64.png",body:"NEW Incoming Mail Message!",delay:1e3*a.timeslot});b.$on("click",function(){e.put("/api/report/mails/"+a.id,{connect:!0}).success(function(){b.close(),h.show("Mail properly assigned","success")}).error(function(a){h.show(a.message,"danger")})})}),i.socket.on("report_chat:save",function(a){d[a.uniqueid]&&(d[a.uniqueid].close(),delete d[a.uniqueid]),c.play(),d[a.uniqueid]=f("CHAT CHANNEL",{icon:"assets/images/media/channels/chat64.png",body:"NEW Incoming Chat Visitor!",delay:1e3*a.timeslot}),d[a.uniqueid].$on("click",function(){e.put("/api/report/chats/"+a.id,{connect:!0}).success(function(){d[a.uniqueid].close(),h.show("Chat properly assigned","success"),b.$broadcast("chatMessageEvent",{type:"external",chatRoomId:a.chatroomid})}).error(function(a){"SequelizeUniqueConstraintError"===a.name?h.show("Chat has been already assigned!","danger"):h.show(a.message,"danger")})})}),i.socket.on("chat_message:save",function(a){var d=m.get("chatRoomId");if(!d||d!==a.ChatRoomId){c.play();var e=f(a.User.fullname,{icon:"assets/images/media/channels/chat64.png",body:a.body.length>35?a.body.substring(0,35)+"...":a.body,delay:1e4});e.$on("click",function(){b.$broadcast("chatMessageEvent",{chatRoomId:a.ChatRoomId})})}}),i.socket.on("user_has_chat_room:save",function(a){c.play();var d=f("Chat Group ",{icon:"assets/images/media/channels/chat64.png",body:"New Chat Group",delay:1e4});d.$on("click",function(){b.$broadcast("chatGroupEvent",a)})})),e({url:"/api/fax/user_has_queues",method:"GET",params:{UserId:g.getCurrentUser().id}}).success(function(b){a.faxQueues=_.pluck(b,"FaxQueueId"),a.faxQueues.forEach(function(a){i.socket.on("FAX:QUEUE:"+a,function(a,b){var c=f("FAX CHANNEL",{icon:"assets/images/media/channels/telephone124.png",body:"NEW Incoming Fax Message!",delay:1e3*a.timeout});c.$on("click",function(){e.put("/api/fax/rooms/"+a.roomId,{UserId:g.getCurrentUser().id}).success(function(){c.close(),b(g.getCurrentUser().id),l.success("Fax properly assigned","Success",{closeButton:!0,timeOut:5e3})}).error(function(){l.warning("Fax already assigned","Warning",{closeButton:!0,timeOut:5e3})})})})}),i.socket.on("FAX:AGENT:"+g.getCurrentUser().id,function(a,b){var c=f("FAX CHANNEL",{icon:"assets/images/media/channels/telephone124.png",body:"NEW Incoming Fax Message!",delay:1e3*a.timeout});c.$on("click",function(){e.put("/api/fax/rooms/"+a.roomId,{UserId:g.getCurrentUser().id}).success(function(){c.close(),b(g.getCurrentUser().id),l.success("Fax properly assigned","Success",{closeButton:!0,timeOut:5e3})}).error(function(){b(g.getCurrentUser().id),l.warning("Fax already assigned","Warning",{closeButton:!0,timeOut:5e3})})})})}).error(function(a){console.error(a)}),i.socket.on("user_has_fax_queue:save",function(b){b=_.map(b,function(a){return a.UserId=parseInt(a.UserId,10),a}),b=_.find(b,{UserId:g.getCurrentUser().id}),b&&-1===_.indexOf(a.faxQueues,b.FaxQueueId)&&(a.faxQueues.push(b.FaxQueueId),i.socket.on("FAX:QUEUE:"+b.FaxQueueId,function(a,b){var c=f("FAX CHANNEL",{icon:"assets/images/media/channels/telephone124.png",body:"NEW Incoming Fax Message!",delay:1e3*a.timeout});c.$on("click",function(){e.put("/api/fax/rooms/"+a.roomId,{UserId:g.getCurrentUser().id}).success(function(){c.close(),b(g.getCurrentUser().id),l.success("Fax properly assigned","Success",{closeButton:!0,timeOut:5e3})}).error(function(){b(g.getCurrentUser().id),l.warning("Fax already assigned","Warning",{closeButton:!0,timeOut:5e3})})})}))}),i.socket.on("user_has_fax_queue:remove",function(b){_.indexOf(b.where.UserId,g.getCurrentUser().id.toString())>=0&&_.indexOf(a.faxQueues,b.where.FaxQueueId)>=0&&(a.faxQueues=_.remove(a.faxQueues,b.where.FaxQueueId),i.socket.removeAllListeners("FAX:QUEUE:"+b.where.FaxQueueId))})},a.logout=function(){e.get("/auth/local/logout").success(function(){g.logout(),c.path("/login")}).error(function(a){console.error(a)})},a.isActive=function(a){return a===c.path()}}]),angular.module("xCallyShuttleApp").service("interval",function(){var a={months:[{value:"always",name:"APPLICATION_ALWAYS"},{value:"jan",name:"APPLICATION_JANUARY"},{value:"feb",name:"APPLICATION_FEBRUARY"},{value:"mar",name:"APPLICATION_MARCH"},{value:"apr",name:"APPLICATION_APRIL"},{value:"may",name:"APPLICATION_MAY"},{value:"jun",name:"APPLICATION_JUNE"},{value:"jul",name:"APPLICATION_JULY"},{value:"aug",name:"APPLICATION_AUGUST"},{value:"sep",name:"APPLICATION_SEPTEMBER"},{value:"oct",name:"APPLICATION_OCTOBER"},{value:"nov",name:"APPLICATION_NOVEMBER"},{value:"dec",name:"APPLICATION_DECEMBER"}],daysOfWeek:[{value:"always",name:"APPLICATION_ALWAYS"},{value:"mon",name:"APPLICATION_MONDAY"},{value:"tue",name:"APPLICATION_TUESDAY"},{value:"wed",name:"APPLICATION_WEDNESDAY"},{value:"thu",name:"APPLICATION_THURSDAY"},{value:"fri",name:"APPLICATION_FRIDAY"},{value:"sat",name:"APPLICATION_SATURDAY"},{value:"sun",name:"APPLICATION_SUNDAY"}],daysOfMonth:["always",1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]};return{interval:a}}),angular.module("xCallyShuttleApp").factory("Modal",["$rootScope","$uibModal",function(a,b){function c(c,d){console.log("openModal",d);var e=a.$new();return c=c||{},d=d||"modal-default",angular.extend(e,c),b.open({templateUrl:"components/modal/delete.html",windowClass:d,scope:e})}return{confirm:{"delete":function(a){return a=a||angular.noop,function(){console.log(Array.prototype.slice.call(arguments));var b,d=Array.prototype.slice.call(arguments),e=d.shift();b=c({modal:{dismissable:!0,title:"Confirm Delete",html:"<p>Are you sure you want to delete"+(e?"<strong> "+e+"</strong>":" selected items")+"?</p>",buttons:[{classes:"btn red",text:"Delete",click:function(a){b.close(a)}},{classes:"btn default",text:"Cancel",click:function(a){b.dismiss(a)}}]}},"over-topbar center"),b.result.then(function(b){a.apply(b,d)})}}}}}]),angular.module("xCallyShuttleApp").controller("QuickSidebarControllerAddModal",["$scope","$uibModalInstance","Agent","items",function(a,b,c,d){a.items=d,a.agents=c.get(function(b){a.agents=b,a.items.forEach(function(b){_.remove(a.agents.rows,{id:b.id})})}),a.selected={items:[]},a.modal={title:"APPLICATION_AGENTS_SELECTION"},a.ok=function(){b.close(_.union(_.pluck(a.selected.items,"id"),_.pluck(a.items,"id")))},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").controller("QuickSidebarControllerCloseModal",["$scope","$uibModalInstance",function(a,b){a.modal={title:"APPLICATION_CONFIRM_CLOSE",text:"MESSAGE_ARE_YOU_SURE_YOU_WANT_TO_CLOSE_THE_CHAT"},a.ok=function(){b.close()},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").controller("QuickSidebarController",["$scope","$rootScope","$window","$http","$uibModal","$log","$timeout","$interval","Auth","Agent","User","ChatRoom","ChatMessage","socket","settings","localStorageService","xAlert","$translate","QuickSidebarFactory",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){a.emojiMessage={},a.options=s.options,a.message={body:"",user:""};var t=a.currentUser=i.getCurrentUser();a.$on("$includeContentLoaded",function(){p.get("chatRoomId")&&l.get({id:p.get("chatRoomId")},u,v),p.get("currentTab")&&(a.currentTab=p.get("currentTab"))}),a.agents=j.get({page:0,per_page:1e3},function(){n.syncUpdates("agent",a.agents.rows)}),a.users=k.get({page:0,per_page:1e3},function(){n.syncUpdates("user",a.users.rows)}),a.currentTab=0,a.messagesTab=!1,a.chatRooms=l.me(function(b){a.chatRooms=b},function(a){console.error(a)}),n.socket.on("report_chat:assignment",function(a){a.agentid&&l.get({id:a.chatroomid},u,v)}),n.socket.on("chat_room:save",function(b){if(a.chatRoom&&a.chatRoom.id===b.id){_.merge(a.chatRoom,b);var c=_.find(a.chatRooms,{id:b.id});c&&_.merge(c,b)}}),n.socket.on("chat_message:save",function(b){a.chatRoom&&a.chatRoom.id===b.ChatRoomId&&(a.chatRoom.ChatMessages.push(b),angular.element("page-quick-sidebar-chat-user-messages").mCustomScrollbar("scrollTo","last"))}),n.socket.on("user_has_chat_room:save",function(b){var c=_.findIndex(a.chatRooms,{id:b.id});c>=0?a.chatRooms[c]=b:a.chatRooms.push(b)}),b.$on("chatMessageEvent",function(a,b){l.get({id:b.chatRoomId},u,v)}),b.$on("chatGroupEvent",function(b,c){a.currentTab=3,a.messagesTab=!0,o.layout.pageQuickSidebarOpened=!0,a.chatRoom=c}),a.goToTab=function(b){a.currentTab=b,a.messagesTab=!1,a.chatRoom=null,p.set("currentTab",a.currentTab),p.set("messagesTab",a.messagesTab),p.remove("chatRoomId")},a.goToMessage=function(a,b){a?l.users({users:[t.id,a]},u,v):l.get({id:b},u,v)},a.sendMessage=function(){a.message.body.trim().length&&m.save({ChatRoomId:a.chatRoom.id,body:a.message.body},function(){a.message.body=""},function(a){console.error(a)})},a.goBack=function(){a.messagesTab=!1,a.chatRoom=null,p.set("messagesTab",a.messagesTab),p.remove("chatRoomId")},a.closeChatRoom=function(a,b){var c=e.open({animation:!0,size:b,templateUrl:"components/quickSidebar/modal/close.html",controller:"QuickSidebarControllerCloseModal"});c.result.then(function(){l.update({id:a,status:"close"}).$promise.then(function(){q.show(r.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){q.show(a.data.message,"danger")})},function(){f.info("Modal dismissed at: "+new Date)})},a.addAgent=function(b,c){var g=e.open({animation:!0,size:c,templateUrl:"components/quickSidebar/modal/add.html",controller:"QuickSidebarControllerAddModal",resolve:{items:function(){return _.map(a.chatRoom.Users?a.chatRoom.Users:[],function(a){return{id:a.id,fullname:a.fullname}})}}});g.result.then(function(a){d.put("/api/chat/rooms/"+b+"/users",{users:a}).then(function(a){q.show(r.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){q.show(a.data.message,"danger")})},function(){f.info("Modal dismissed at: "+new Date)})};var u=function(b){switch(a.messagesTab=!0,o.layout.pageQuickSidebarOpened=!0,p.set("chatRoomId",b.id),p.set("messagesTab",a.messagesTab),a.chatRoom=b,b.type){case"internal":a.currentTab=0;break;case"external":a.currentTab=2,_.find(a.chatRooms,{id:b.id})||a.chatRooms.push(b)}b.Users.length>2&&(a.currentTab=3),g(function(){angular.element("page-quick-sidebar-chat-user-messages").mCustomScrollbar("scrollTo","last")},1500)},v=function(a){console.error(a)},w=function(){var b=angular.element(c),d=function(){return{h:b.height(),w:b.width()}};a.$watch(d,function(b){a.style={height:b.h-46-46-46+"px"},a.style2={height:b.h-46-46-46-180+"px"}},!0),b.bind("resize",function(){a.$apply()})};w(),a.$on("$destroy",function(){n.unsyncUpdates("agent"),n.unsyncUpdates("user")})}]),angular.module("xCallyShuttleApp").directive("resizeQuickSidebar",["$window",function(a){return function(b){var c=angular.element(a);b.getWindowDimensions=function(){return{h:c.height(),w:c.width()}},b.$watch(b.getWindowDimensions,function(a){b.style={height:a.h-46-46-46+"px"}},!0),c.bind("resize",function(){b.$apply()})}}]),angular.module("xCallyShuttleApp").factory("QuickSidebarFactory",function(){return{options:{link:!0,linkTarget:"_blank",pdf:{embed:!1},image:{embed:!0},audio:{embed:!0},code:{highlight:!0,lineNumbers:!1},basicVideo:!1,video:{embed:!1,width:null,height:null,ytTheme:"dark",details:!1,ytAuthKey:"_nkO9h1A7HlVyiUICO17oA"}}}}),angular.module("xCallyShuttleApp").filter("QuickSidebarFilterUsersGreaterThan",function(){return function(a,b){var c=[];return a.forEach(function(a){var d=0;a.ChatVisitor&&d++,d+=a.Users.length,d>b&&c.push(a)}),c}}).filter("QuickSidebarFilterUsersLowerThan",function(){return function(a,b){var c=[];return a.forEach(function(a){a.Users.length<b&&c.push(a)}),c}}),angular.module("xCallyShuttleApp").controller("SidebarController",["$scope","$rootScope","$resource","$location","Auth","$http","xAlert","$stateParams","socket",function(a,b,c,d,e,f,g,h,i){a.Auth=e,a.$stateParams=h,a.$on("$includeContentLoaded",function(){Metronic.init(),Layout.initSidebar()}),a.isAssociated=function(a){if(e.isAdmin())return!0;if(e.getCurrentUser().Modules)for(var b=0;b<e.getCurrentUser().Modules.length;b++)if(e.getCurrentUser().Modules[b].name===a)return!0;return!1},a.getSidebarDashboards=function(){f.get("/api/dashboards").then(function(b){a.dashboards=b.data.rows,i.syncUpdates("dashboard",a.dashboards)})["catch"](function(a){g.show("Error loading your dashboards","danger")})},a.getSidebarIntegrations=function(){f.get("/api/integrations").success(function(b){a.integrations=b,i.syncUpdates("integration",a.integrations)}).error(function(a){g.show(a.message,"danger")})},a.isActive=function(a){return a===d.path()},a.$on("destroy",function(){i.unsyncUpdates("dashboard"),i.unsyncUpdates("integration")})}]),angular.module("xCallyShuttleApp").factory("socket",["$rootScope","$window","socketFactory","Auth",function(a,b,c,d){var e=d.getCurrentUser(),f=io("",{query:"token="+d.getToken()+"&userId="+(e.id||d.getUserId())+"&name="+(e.name||d.getName())+"&role="+(e.role||"agent")+"&source=browser",path:"/socket.io-client"}),g=c({ioSocket:f});return a.$on("logout",function(){g&&(g.disconnect(!0),b.location.reload())}),{socket:g,syncUpdates:function(a,b,c){c=c||angular.noop,g.on(a+":save",function(a){var d=_.find(b,{id:a.id}),e=b.indexOf(d),f="created";d?(_.merge(b[e],a),f="updated"):b.unshift(a),c(f,a,b)}),g.on(a+":remove",function(a){var d="deleted";_.remove(b,{id:a.id}),c(d,a,b)})},unsyncUpdates:function(a){g.removeAllListeners(a+":save"),g.removeAllListeners(a+":remove")},syncUpdatesByAttributes:function(a,b,c,d){d=d||angular.noop,g.on(a+":save",function(a){var e=!0;if(_.forIn(b,function(b,c){return a[c]&&a[c]===b?!0:e=!1}),e){var f=_.find(c,{id:a.id}),g=c.indexOf(f),h="created";f?(_.merge(c[g],a),h="updated"):c.unshift(a),d(h,a,c)}}),g.on(a+":remove",function(a){var b="deleted";_.remove(c,{id:a.id}),d(b,a,c)})},syncMailMessageUpdates:function(a,b,c,d){d=d||angular.noop,g.on(a+":"+b+":save",function(a){var b=_.find(c,{id:a.id}),e=c.indexOf(b),f="created";b?(_.merge(c[e],a),f="updated"):c.unshift(a),d(f,a)}),g.on(a+":"+b+":remove",function(a){var b="deleted";_.remove(c,{id:a.id}),d(b,a,c)})},unsyncMailMessageUpdates:function(a,b){g.removeAllListeners(a+":"+b+":save"),g.removeAllListeners(a+":"+b+":remove")},syncFaxMessageUpdates:function(a,b,c,d){d=d||angular.noop,g.on(a+":"+b+":save",function(a){var b=_.find(c,{id:a.id}),e=c.indexOf(b),f="created";b?(_.merge(c[e],a),f="updated"):c.unshift(a),d(f,a)}),g.on(a+":"+b+":remove",function(a){var b="deleted";_.remove(c,{id:a.id}),d(b,a,c)})},unsyncFaxMessageUpdates:function(a,b){g.removeAllListeners(a+":"+b+":save"),g.removeAllListeners(a+":"+b+":remove")}}}]),angular.module("xCallyShuttleApp").service("triggers",function(){var a={voice:{conditions:[{name:"APPLICATION_QUEUE",value:"queue",propertyField:"select",operators:"equals"},{name:"APPLICATION_CALL_STATUS",value:"lastevent",propertyField:"select",operators:"equals"}],actions:[{name:"APPLICATION_CONTACT_MANAGER",value:"contactManager"},{name:"APPLICATION_INTEGRATIONS",value:"integration",propertyField:"select",subField:{propertyField:"select",value:"account",api:{url:void 0,parseUrl:"/api/%s/accounts",query:void 0},subField:{propertyField:"select",value:"configuration",api:{url:void 0,parseUrl:"/api/%s/configurations",query:{field:"AccountId"}}}}}]},mail:{conditions:[{name:"APPLICATION_FROM",value:"from",propertyField:"input",operators:"equals"},{name:"APPLICATION_CC",value:"cc",propertyField:"input",operators:"equals"},{name:"APPLICATION_SUBJECT",value:"subject",propertyField:"input",operators:"equals"}],actions:[{name:"APPLICATION_TEMPLATE",value:"template",propertyField:"select",subField:{propertyField:"select",value:"smtp"}},{name:"APPLICATION_CONTACT_MANAGER",value:"contactManager"}]},chat:{conditions:[],actions:[]},fax:{conditions:[],actions:[]}},b={equals:[{value:"=",name:"APPLICATION_EQUALS_TO"},{value:"<>",name:"APPLICATION_NOT_EQUALS_TO"}],all:[{value:"=",name:"APPLICATION_EQUALS_TO"},{value:"<>",name:"APPLICATION_NOT_EQUALS_TO"},{value:">=",name:"APPLICATION_GTE_TO"},{value:"<=",name:"APPLICATION_LTE_TO"},{value:">",name:"APPLICATION_GREATER_THAN"},{value:"<",name:"APPLICATION_LESS_THAN"}],noequals:[{value:">=",name:"APPLICATION_GTE_TO"},{value:"<=",name:"APPLICATION_LTE_TO"},{value:">",name:"APPLICATION_GREATER_THAN"},{value:"<",name:"APPLICATION_LESS_THAN"}]},c={voice:{lastevent:[{name:"APPLICATION_LASTEVENT_RINGING",value:"called"},{name:"APPLICATION_LASTEVENT_UP",value:"connect"},{name:"APPLICATION_LASTEVENT_COMPLETE",value:"complete"},{name:"APPLICATION_LASTEVENT_REJECTED",value:"rejected"},{name:"APPLICATION_LASTEVENT_ABANDONED",value:"abandoned"}]},mail:{},chat:{},fax:{}},d=["voice","mail","chat","fax"];return{triggers:a,properties:c,operators:b,channels:d}}),function(a,b){angular.module("adf.widget.counter",["adf.provider"]).value("apiServiceUrlCounter","/api/widgets/counter").config(["dashboardProvider",function(a){a.widget("counter",{title:"Counter",description:"Counter for db results",templateUrl:"{widgetsPath}/counter/src/view.html",controller:"apiwidgetCounterViewCtrl",edit:{templateUrl:"{widgetsPath}/counter/src/edit.html",controller:"apiwidgetCounterEditCtrl"}})}]).service("apiServiceCounter",["$q","$http","apiServiceUrlCounter",function(a,b,c){return{get:function(d){var e=a.defer();return b.get(c,{params:{condition:encodeURIComponent(d.condition),table:d.report}}).success(function(a){a?e.resolve(a):e.reject()}).error(function(a){console.log(a),e.reject()}),e.promise}}}]).controller("apiwidgetCounterEditCtrl",["$scope",function(a){a.config.reportTables=[{name:"Agents",value:"agent"},{name:"Calls",value:"call"},{name:"Dials",value:"dial"},{name:"Members",value:"member"},{name:"Queues",value:"queue"}],a.config.colors=[{name:"Blue",value:"blue-madison"},{name:"Red",value:"red-intense"},{name:"Green",value:"green-haze"},{name:"Purple",value:"purple-plum"},{name:"Orange",value:"yellow-casablanca"},{name:"Yellow",value:"yellow-crusta"}],a.config.icons=[{name:"Talk bubbles",value:"fa-comments"},{name:"Bar Chart",value:"fa-bar-chart"},{name:"Shopping Cart",value:"fa-shopping-cart"},{name:"Globe",value:"fa-globe"}],a.config.timeout=a.config.timeout?a.config.timeout:1,a.config.color=a.config.color?a.config.color:"blue-madison",a.config.icon=a.config.icon?a.config.icon:"fa-comments",a.config.link=a.config.link?a.config.link:"#",a.config.linkText=a.config.linkText?a.config.linkText:"VIEW MORE"}]).controller("apiwidgetCounterViewCtrl",["$scope","$interval","apiServiceCounter",function(a,b,c){a.config.timeout=a.config.timeout?a.config.timeout:1,a.config.color=a.config.color?a.config.color:"blue-madison",a.config.icon=a.config.icon?a.config.icon:"fa-comments",a.config.link=a.config.link?a.config.link:"#",a.config.linkText=a.config.linkText?a.config.linkText:"VIEW MORE",a.counterApiCall=function(){a.config.condition&&a.config.report&&c.get(a.config).then(function(b){a.count=parseInt(b[0].count)})},a.counterApiCall();var d=b(function(){a.counterApiCall()},1e3*parseInt(a.config.timeout));a.$on("$destroy",function(){b.cancel(d)})}]),angular.module("adf.widget.counter").run(["$templateCache",function(a){a.put("{widgetsPath}/counter/src/edit.html","<form role=form><div class=form-group><label class=control-label>{{'APPLICATION_REPORT' | translate}}</label><ui-select data-ng-model=config.report name=report theme=bootstrap><ui-select-match placeholder=\"{{ 'APPLICATION_REPORT' | translate }}\">{{$select.selected.name}}</ui-select-match><ui-select-choices repeat=\"report.value as report in config.reportTables | filter: $select.search\"><div ng-bind-html=\"report.name | highlight: $select.search\"></div></ui-select-choices></ui-select></div><div class=form-group><label for=condition>{{'APPLICATION_CONDITION' | translate}}</label> <input type=text class=form-control id=condition ng-model=config.condition placeholder=\"{{'APPLICATION_CONDITION' | translate}}\"></div><div class=form-group><label for=condition>{{'APPLICATION_REFRESH_TIMEOUT' | translate}}</label> <input type=number class=form-control id=timeout ng-model=config.timeout placeholder=\"{{'APPLICATION_REFRESH_TIMEOUT' | translate}}\" min=1></div><div class=form-group><label class=control-label>{{'APPLICATION_WIDGET_COLOR' | translate}}</label><ui-select data-ng-model=config.color name=color theme=bootstrap><ui-select-match placeholder=\"{{ 'APPLICATION_WIDGET_COLOR' | translate }}\">{{$select.selected.name}}</ui-select-match><ui-select-choices repeat=\"color.value as color in config.colors | filter: $select.search\"><div ng-bind-html=\"color.name | highlight: $select.search\"></div></ui-select-choices></ui-select></div><div class=form-group><label class=control-label>{{'APPLICATION_WIDGET_ICON' | translate}}</label><ui-select data-ng-model=config.icon name=icon theme=bootstrap><ui-select-match placeholder=\"{{ 'APPLICATION_WIDGET_ICON' | translate }}\">{{$select.selected.name}}</ui-select-match><ui-select-choices repeat=\"icon.value as icon in config.icons | filter: $select.search\"><div ng-bind-html=\"icon.name | highlight: $select.search\"></div></ui-select-choices></ui-select></div><div class=form-group><label for=condition>{{'APPLICATION_WIDGET_DETAILS' | translate}}</label> <input type=text class=form-control id=details ng-model=config.details maxlength=30 placeholder=\"{{'APPLICATION_WIDGET_DETAILS' | translate}}\"></div><div class=form-group><label for=condition>{{'APPLICATION_WIDGET_LINK' | translate}}</label> <input type=text class=form-control id=link ng-model=config.link placeholder=http://yourlink></div><div class=form-group><label for=condition>{{'APPLICATION_WIDGET_LINK_TEXT' | translate}}</label> <input type=text class=form-control id=linkText ng-model=config.linkText maxlength=30 placeholder=\"{{'APPLICATION_WIDGET_LINK_TEXT' | translate}}\"></div></form>"),a.put("{widgetsPath}/counter/src/view.html",'<div class=dashboard-stat ng-class=config.color ng-if="count || count === 0"><div class=visual><i class=fa ng-class=config.icon></i></div><div class=details><div class=number>{{count}}</div><div class=desc>{{config.details}}</div></div><a class=more href={{config.link}}>{{config.linkText}} <i class="m-icon-swapright m-icon-white"></i></a></div><div class="alert alert-danger" role=alert ng-if=!config.report><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_WIDGET_SELECT_REPORT\' | translate}}</div><div class="alert alert-danger" role=alert ng-if="!count && count != 0"><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_VALID_CONDITION\' | translate}}</div>')}])}(window),function(a,b){angular.module("adf.widget.pie-chart",["adf.provider"]).value("apiServiceUrlPieChart","/api/widgets/piechart").config(["dashboardProvider",function(a){a.widget("pie-chart",{title:"Pie-Chart",description:"Display a pie-chart starting from DB values",templateUrl:"{widgetsPath}/pie-chart/src/view.html",controller:"apiWidgetPieChartViewCtrl",edit:{templateUrl:"{widgetsPath}/pie-chart/src/edit.html",controller:"apiWidgetPieChartEditCtrl"}})}]).service("apiServicePieChart",["$q","$http","apiServiceUrlPieChart",function(a,b,c){return{get:function(d){var e=a.defer();return b.get(c,{params:{condition:encodeURIComponent(d.condition),table:d.report,fields:d.fields}}).success(function(a){a?e.resolve(a):e.reject()}).error(function(a){console.log(a),e.reject()}),e.promise}}}]).controller("apiWidgetPieChartEditCtrl",["$scope",function(a){function b(){return a.config.fields||(a.config.fields=[{column:"",alias:""}]),a.config.fields}a.config.reportTables=[{name:"Agents",value:"agent"},{name:"Calls",value:"call"},{name:"Dials",value:"dial"},{name:"Members",value:"member"},{name:"Queues",value:"queue"}],a.config.timeout=a.config.timeout?a.config.timeout:1,a.config.fields=a.config.fields?a.config.fields:[{column:"",alias:""}],a.addField=function(){b().push({})},a.removeField=function(a){b().splice(a,1)}}]).controller("apiWidgetPieChartViewCtrl",["$scope","$interval","apiServicePieChart",function(a,b,c){a.config.timeout=a.config.timeout?a.config.timeout:1,a.pieChartApiCall=function(){a.config.report&&a.config.fields.length&&""!==a.config.fields[0].column&&""!==a.config.fields[0].alias&&c.get(a.config).then(function(b){if(b&&1===b.length){a.labels=[],a.data=[];for(var c in b[0])a.labels.push(c),a.data.push(b[0][c])}else a.labels=[],a.data=[]})},a.pieChartApiCall();var d=b(function(){a.pieChartApiCall()},1e3*parseInt(a.config.timeout));a.$on("$destroy",function(){b.cancel(d)})}]),angular.module("adf.widget.pie-chart").run(["$templateCache",function(a){a.put("{widgetsPath}/pie-chart/src/edit.html",'<form role=form><div class=form-group><label class=control-label>{{\'APPLICATION_REPORT\' | translate}}</label><ui-select data-ng-model=config.report name=report theme=bootstrap><ui-select-match placeholder="{{ \'APPLICATION_REPORT\' | translate }}">{{$select.selected.name}}</ui-select-match><ui-select-choices repeat="report.value as report in config.reportTables | filter: $select.search"><div ng-bind-html="report.name | highlight: $select.search"></div></ui-select-choices></ui-select></div><div><label class=control-label>{{\'APPLICATION_FIELDS\' | translate}}</label></div><div class=padding-bottom ng-repeat="field in config.fields"><div class=form-group><div class=input-group><input type=text class=form-control ng-model=field.column> <span class=input-group-addon>as</span> <input type=text class=form-control ng-model=field.alias> <span class=input-group-btn ng-if="config.fields.length>1"><button class="btn btn-danger" type=button data-ng-click=removeField($index)><i class="fa fa-times"></i> {{\'APPLICATION_REMOVE\' | translate}}</button></span></div></div></div><button type=button class="btn btn-sm green mbottom20" ng-click=addField()><i class="fa fa-plus"></i> {{\'APPLICATION_ADD_FIELD\' | translate}}</button><div class=form-group><label for=condition>{{\'APPLICATION_CONDITION\' | translate}}</label> <input type=text class=form-control id=condition ng-model=config.condition placeholder="{{\'APPLICATION_CONDITION\' | translate}}"></div><div class=form-group><label for=condition>{{\'APPLICATION_REFRESH_TIMEOUT\' | translate}}</label> <input type=number class=form-control id=timeout ng-model=config.timeout placeholder="{{\'APPLICATION_REFRESH_TIMEOUT\' | translate}}" min=1></div></form>'),a.put("{widgetsPath}/pie-chart/src/view.html",'<div ng-if=labels.length ng-style=config.style><canvas id=doughnut class="chart chart-doughnut" chart-data=data chart-labels=labels legend=true></canvas></div><div class="alert alert-danger" role=alert ng-if=!config.report><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_WIDGET_SELECT_REPORT\' | translate}}</div><div class="alert alert-danger" role=alert ng-if=!labels.length><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_VALID_CONDITION\' | translate}}</div><div class="alert alert-danger" role=alert ng-if=!labels.length><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_ONE_VALID_METRIC_AND_CHECK_OTHER\' | translate}}</div>')}])}(window),function(a,b){angular.module("adf.widget.table",["adf.provider"]).value("apiServiceUrlTable","/api/widgets/table").config(["dashboardProvider",function(a){a.widget("table",{title:"Table",description:"Show tabbed results from db",templateUrl:"{widgetsPath}/table/src/view.html",controller:"apiWidgetTableViewCtrl",edit:{templateUrl:"{widgetsPath}/table/src/edit.html",controller:"apiWidgetTableEditCtrl"}})}]).service("apiServiceTable",["$q","$http","apiServiceUrlTable",function(a,b,c){return{get:function(d){var e=a.defer();return b.get(c,{params:{condition:encodeURIComponent(d.condition),table:d.report,fields:d.fields}}).success(function(a){a?e.resolve(a):e.reject()}).error(function(a){console.log(a),e.reject()}),e.promise}}}]).controller("apiWidgetTableEditCtrl",["$scope",function(a){function b(){return a.config.fields||(a.config.fields=[{column:"",alias:""}]),a.config.fields}a.config.reportTables=[{name:"Agents",value:"agent"},{name:"Calls",value:"call"},{name:"Dials",value:"dial"},{name:"Members",value:"member"},{name:"Queues",value:"queue"}],a.config.timeout=a.config.timeout?a.config.timeout:1,a.config.height=a.config.height?a.config.height:350,a.config.fields=a.config.fields?a.config.fields:[{column:"",alias:""}],a.addField=function(){b().push({})},a.removeField=function(a){b().splice(a,1)}}]).controller("apiWidgetTableViewCtrl",["$scope","$interval","apiServiceTable",function(a,b,c){
+a.config.timeout=a.config.timeout?a.config.timeout:1,a.config.height=a.config.height?a.config.height:350,a.config.style={"max-height":a.config.height+"px",overflow:"scroll"},a.tableApiCall=function(){a.config.condition&&a.config.report&&a.config.fields.length&&""!==a.config.fields[0].column&&""!==a.config.fields[0].alias&&c.get(a.config).then(function(b){a.results=b})},a.tableApiCall();var d=b(function(){a.tableApiCall()},1e3*parseInt(a.config.timeout));a.$on("$destroy",function(){b.cancel(d)})}]),angular.module("adf.widget.table").run(["$templateCache",function(a){a.put("{widgetsPath}/table/src/edit.html",'<form role=form><div class=form-group><label class=control-label>{{\'APPLICATION_REPORT\' | translate}}</label><ui-select data-ng-model=config.report name=report theme=bootstrap><ui-select-match placeholder="{{ \'APPLICATION_REPORT\' | translate }}">{{$select.selected.name}}</ui-select-match><ui-select-choices repeat="report.value as report in config.reportTables | filter: $select.search"><div ng-bind-html="report.name | highlight: $select.search"></div></ui-select-choices></ui-select></div><div><label class=control-label>{{\'APPLICATION_METRICS\' | translate}}</label></div><div class=padding-bottom ng-repeat="field in config.fields"><div class=form-group><div class=input-group><input type=text class=form-control ng-model=field.column> <span class=input-group-addon>as</span> <input type=text class=form-control ng-model=field.alias> <span class=input-group-btn ng-if="config.fields.length>1"><button class="btn btn-danger" type=button data-ng-click=removeField($index)><i class="fa fa-times"></i> {{\'APPLICATION_REMOVE\' | translate}}</button></span></div></div></div><button type=button class="btn btn-sm green mbottom20" ng-click=addField()><i class="fa fa-plus"></i> {{\'APPLICATION_ADD_FIELD\' | translate}}</button><div class=form-group><label for=condition>{{\'APPLICATION_CONDITION\' | translate}}</label> <input type=text class=form-control id=condition ng-model=config.condition placeholder="{{\'APPLICATION_CONDITION\' | translate}}"></div><div class=form-group><label for=condition>{{\'APPLICATION_REFRESH_TIMEOUT\' | translate}}</label> <input type=number class=form-control id=timeout ng-model=config.timeout placeholder="{{\'APPLICATION_REFRESH_TIMEOUT\' | translate}}" min=1></div><div class=form-group><label for=condition>{{\'APPLICATION_WIDGET_MAX_HEIGHT\' | translate}}</label> <input type=number class=form-control id=height ng-model=config.height placeholder="{{\'APPLICATION_WIDGET_MAX_HEIGHT\' | translate}}" min=350></div></form>'),a.put("{widgetsPath}/table/src/view.html",'<div ng-if=results ng-style=config.style><table st-table=results class="table table-striped table-bordered table-hover"><div class=table-responsive><thead><tr><th colspan={{config.fields.length}}><div class=row><div class=col-md-6></div><div class=col-md-6><div class="input-group input-medium pull-right"><input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class=form-control type=search> <span class=input-group-addon><i class="fa fa-search"></i></span></div></div></div></th></tr><tr><th ng-repeat="field in config.fields">{{field.alias}}</th></tr></thead><tbody><tr data-ng-repeat="result in results" class=animate-repeat><td ng-repeat="field in config.fields">{{result[field.alias]}}</td></tr><tr data-ng-hide=results.length><td colspan={{config.fields.length}} style=text-align:center;><i>{{ \'MESSAGE_NO_RESULTS_AVAILABLE\' | translate }}</i></td></tr></tbody><tfoot><tr><td colspan={{config.fields.length}} class=text-center><div st-pagination class=pagination st-items-by-page=10 st-displayed-pages=3></div></td></tr></tfoot></div></table></div><div class="alert alert-danger" role=alert ng-if=!config.report><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_WIDGET_SELECT_REPORT\' | translate}}</div><div class="alert alert-danger" role=alert ng-if=!results><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_VALID_CONDITION\' | translate}}</div><div class="alert alert-danger" role=alert ng-if=!results><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_ONE_VALID_FIELD_AND_CHECK_OTHER\' | translate}}</div>')}])}(window),function(){angular.module("pdf",[]).directive("ngPdf",["$window",function(a){return{restrict:"E",templateUrl:function(a,b){return b.templateUrl?b.templateUrl:"partials/viewer.html"},link:function(b,c,d){var e=d.pdfUrl,f=null,g=d.page?d.page:1,h=d.scale>0?d.scale:1,i=c.find("canvas"),j=i[0],k=j.getContext("2d"),l=angular.element(a);l.on("scroll",function(){b.$apply(function(){b.scroll=l[0].scrollY})}),PDFJS.disableWorker=!0,b.pageNum=g,b.renderPage=function(a){f.getPage(a).then(function(a){var e,f,g,i={};"page-fit"!==d.scale||h?e=a.getViewport(h):(e=a.getViewport(1),f=c[0].clientWidth/e.width,g=c[0].clientHeight/e.height,h=Math.min(f,g)),j.height=e.height,j.width=e.width,i={canvasContext:k,viewport:e},a.render(i).promise.then(function(){"function"==typeof b.onPageRender&&b.onPageRender()})})},b.goPrevious=function(){b.pageToDisplay<=1||(b.pageNum=parseInt(b.pageNum)-1)},b.goNext=function(){b.pageToDisplay>=f.numPages||(b.pageNum=parseInt(b.pageNum)+1)},b.zoomIn=function(){return h=parseFloat(h)+.2,b.renderPage(b.pageToDisplay),h},b.zoomOut=function(){return h=parseFloat(h)-.2,b.renderPage(b.pageToDisplay),h},b.changePage=function(){b.renderPage(b.pageToDisplay)},b.rotate=function(){"rotate0"===j.getAttribute("class")?j.setAttribute("class","rotate90"):"rotate90"===j.getAttribute("class")?j.setAttribute("class","rotate180"):"rotate180"===j.getAttribute("class")?j.setAttribute("class","rotate270"):j.setAttribute("class","rotate0")},PDFJS.getDocument(e,null,null,b.onProgress).then(function(a){"function"==typeof b.onLoad&&b.onLoad(),f=a,b.renderPage(b.pageToDisplay),b.$apply(function(){b.pageCount=a.numPages})},function(a){a&&"function"==typeof b.onError&&b.onError(a)}),b.$watch("pageNum",function(a){b.pageToDisplay=parseInt(a),null!==f&&b.renderPage(b.pageToDisplay)})}}}])}();var Metronic=function(){var a,b=!1,c=!1,d=!1,e=!1,f=[],g="assets/",h="img/",i="plugins/",j="css/",k={blue:"#89C4F4",red:"#F3565D",green:"#1bbc9b",purple:"#9b59b6",grey:"#95a5a6",yellow:"#F8CB00"},l=function(){"rtl"===$("body").css("direction")&&(b=!0),c=!!navigator.userAgent.match(/MSIE 8.0/),d=!!navigator.userAgent.match(/MSIE 9.0/),e=!!navigator.userAgent.match(/MSIE 10.0/),e&&$("html").addClass("ie10"),(e||d||c)&&$("html").addClass("ie")},m=function(){for(var a=0;a<f.length;a++){var b=f[a];b.call()}},n=function(){var a;if(c){var b;$(window).resize(function(){b!=document.documentElement.clientHeight&&(a&&clearTimeout(a),a=setTimeout(function(){m()},50),b=document.documentElement.clientHeight)})}else $(window).resize(function(){a&&clearTimeout(a),a=setTimeout(function(){m()},50)})},o=function(){$("body").on("click",".portlet > .portlet-title > .tools > a.remove",function(a){a.preventDefault();var b=$(this).closest(".portlet");$("body").hasClass("page-portlet-fullscreen")&&$("body").removeClass("page-portlet-fullscreen"),b.find(".portlet-title .fullscreen").tooltip("destroy"),b.find(".portlet-title > .tools > .reload").tooltip("destroy"),b.find(".portlet-title > .tools > .remove").tooltip("destroy"),b.find(".portlet-title > .tools > .config").tooltip("destroy"),b.find(".portlet-title > .tools > .collapse, .portlet > .portlet-title > .tools > .expand").tooltip("destroy"),b.remove()}),$("body").on("click",".portlet > .portlet-title .fullscreen",function(a){a.preventDefault();var b=$(this).closest(".portlet");if(b.hasClass("portlet-fullscreen"))$(this).removeClass("on"),b.removeClass("portlet-fullscreen"),$("body").removeClass("page-portlet-fullscreen"),b.children(".portlet-body").css("height","auto");else{var c=Metronic.getViewPort().height-b.children(".portlet-title").outerHeight()-parseInt(b.children(".portlet-body").css("padding-top"))-parseInt(b.children(".portlet-body").css("padding-bottom"));$(this).addClass("on"),b.addClass("portlet-fullscreen"),$("body").addClass("page-portlet-fullscreen"),b.children(".portlet-body").css("height",c)}}),$("body").on("click",".portlet > .portlet-title > .tools > a.reload",function(a){a.preventDefault();var b=$(this).closest(".portlet").children(".portlet-body"),c=$(this).attr("data-url"),d=$(this).attr("data-error-display");c?(Metronic.blockUI({target:b,animate:!0,overlayColor:"none"}),$.ajax({type:"GET",cache:!1,url:c,dataType:"html",success:function(a){Metronic.unblockUI(b),b.html(a)},error:function(a,c,e){Metronic.unblockUI(b);var f="Error on reloading the content. Please check your connection and try again.";"toastr"==d&&toastr?toastr.error(f):"notific8"==d&&$.notific8?($.notific8("zindex",11500),$.notific8(f,{theme:"ruby",life:3e3})):alert(f)}})):(Metronic.blockUI({target:b,animate:!0,overlayColor:"none"}),window.setTimeout(function(){Metronic.unblockUI(b)},1e3))}),$('.portlet .portlet-title a.reload[data-load="true"]').click(),$("body").on("click",".portlet > .portlet-title > .tools > .collapse, .portlet .portlet-title > .tools > .expand",function(a){a.preventDefault()})},p=function(){if($().uniform){var a=$("input[type=checkbox]:not(.toggle, .make-switch, .icheck), input[type=radio]:not(.toggle, .star, .make-switch, .icheck)");a.size()>0&&a.each(function(){0===$(this).parents(".checker").size()&&$(this).show()})}},q=function(){$().iCheck&&$(".icheck").each(function(){var a=$(this).attr("data-checkbox")?$(this).attr("data-checkbox"):"icheckbox_minimal-grey",b=$(this).attr("data-radio")?$(this).attr("data-radio"):"iradio_minimal-grey";a.indexOf("_line")>-1||b.indexOf("_line")>-1?$(this).iCheck({checkboxClass:a,radioClass:b,insert:'<div class="icheck_line-icon"></div>'+$(this).attr("data-label")}):$(this).iCheck({checkboxClass:a,radioClass:b})})},r=function(){$().bootstrapSwitch&&$(".make-switch").bootstrapSwitch()},s=function(){$().confirmation&&$("[data-toggle=confirmation]").confirmation({container:"body",btnOkClass:"btn-xs btn-success",btnCancelClass:"btn-xs btn-danger"})},t=function(){$("body").on("shown.bs.collapse",".accordion.scrollable",function(a){Metronic.scrollTo($(a.target))})},u=function(){if(location.hash){var a=location.hash.substr(1);$('a[href="#'+a+'"]').parents(".tab-pane:hidden").each(function(){var a=$(this).attr("id");$('a[href="#'+a+'"]').click()}),$('a[href="#'+a+'"]').click()}},v=function(){$("body").on("hide.bs.modal",function(){$(".modal:visible").size()>1&&$("html").hasClass("modal-open")===!1?$("html").addClass("modal-open"):$(".modal:visible").size()<=1&&$("html").removeClass("modal-open")}),$("body").on("show.bs.modal",".modal",function(){$(this).hasClass("modal-scroll")&&$("body").addClass("modal-open-noscroll")}),$("body").on("hide.bs.modal",".modal",function(){$("body").removeClass("modal-open-noscroll")}),$("body").on("hidden.bs.modal",".modal:not(.modal-cached)",function(){$(this).removeData("bs.modal")})},w=function(){$(".tooltips").tooltip(),$(".portlet > .portlet-title .fullscreen").tooltip({container:"body",title:"Fullscreen"}),$(".portlet > .portlet-title > .tools > .reload").tooltip({container:"body",title:"Reload"}),$(".portlet > .portlet-title > .tools > .remove").tooltip({container:"body",title:"Remove"}),$(".portlet > .portlet-title > .tools > .config").tooltip({container:"body",title:"Settings"}),$(".portlet > .portlet-title > .tools > .collapse, .portlet > .portlet-title > .tools > .expand").tooltip({container:"body",title:"Collapse/Expand"})},x=function(){$("body").on("click",".dropdown-menu.hold-on-click",function(a){a.stopPropagation()})},y=function(){$("body").on("click",'[data-close="alert"]',function(a){$(this).parent(".alert").hide(),$(this).closest(".note").hide(),a.preventDefault()}),$("body").on("click",'[data-close="note"]',function(a){$(this).closest(".note").hide(),a.preventDefault()}),$("body").on("click",'[data-remove="note"]',function(a){$(this).closest(".note").remove(),a.preventDefault()})},z=function(){$('[data-hover="dropdown"]').not(".hover-initialized").each(function(){$(this).dropdownHover(),$(this).addClass("hover-initialized")})},A=function(){$(".popovers").popover(),$(document).on("click.bs.popover.data-api",function(b){a&&a.popover("hide")})},B=function(){Metronic.initSlimScroll(".scroller")},C=function(){jQuery.fancybox&&$(".fancybox-button").size()>0&&$(".fancybox-button").fancybox({groupAttr:"data-rel",prevEffect:"none",nextEffect:"none",closeBtn:!0,helpers:{title:{type:"inside"}}})},D=function(){(c||d)&&$("input[placeholder]:not(.placeholder-no-fix), textarea[placeholder]:not(.placeholder-no-fix)").each(function(){var a=$(this);""===a.val()&&""!==a.attr("placeholder")&&a.addClass("placeholder").val(a.attr("placeholder")),a.focus(function(){a.val()==a.attr("placeholder")&&a.val("")}),a.blur(function(){(""===a.val()||a.val()==a.attr("placeholder"))&&a.val(a.attr("placeholder"))})})},E=function(){$().select2&&$(".select2me").select2({placeholder:"Select"})};return{init:function(){l(),n(),p(),q(),r(),B(),C(),E(),o(),y(),x(),u(),w(),A(),t(),v(),s(),D()},initAjax:function(){p(),q(),r(),z(),B(),E(),C(),x(),w(),A(),t(),s()},initComponents:function(){this.initAjax()},setLastPopedPopover:function(b){a=b},addResizeHandler:function(a){f.push(a)},runResizeHandlers:function(){m()},scrollTo:function(a,b){var c=a&&a.size()>0?a.offset().top:0;a&&($("body").hasClass("page-header-fixed")&&(c-=$(".page-header").height()),c+=b?b:-1*a.height()),$("html,body").animate({scrollTop:c},"slow")},initSlimScroll:function(a){$(a).each(function(){if(!$(this).attr("data-initialized")){var a;a=$(this).attr("data-height")?$(this).attr("data-height"):$(this).css("height"),$(this).slimScroll({allowPageScroll:!0,size:"7px",color:$(this).attr("data-handle-color")?$(this).attr("data-handle-color"):"#bbb",wrapperClass:$(this).attr("data-wrapper-class")?$(this).attr("data-wrapper-class"):"slimScrollDiv",railColor:$(this).attr("data-rail-color")?$(this).attr("data-rail-color"):"#eaeaea",position:b?"left":"right",height:a,alwaysVisible:"1"==$(this).attr("data-always-visible")?!0:!1,railVisible:"1"==$(this).attr("data-rail-visible")?!0:!1,disableFadeOut:!0}),$(this).attr("data-initialized","1")}})},destroySlimScroll:function(a){$(a).each(function(){if("1"===$(this).attr("data-initialized")){$(this).removeAttr("data-initialized"),$(this).removeAttr("style");var a={};$(this).attr("data-handle-color")&&(a["data-handle-color"]=$(this).attr("data-handle-color")),$(this).attr("data-wrapper-class")&&(a["data-wrapper-class"]=$(this).attr("data-wrapper-class")),$(this).attr("data-rail-color")&&(a["data-rail-color"]=$(this).attr("data-rail-color")),$(this).attr("data-always-visible")&&(a["data-always-visible"]=$(this).attr("data-always-visible")),$(this).attr("data-rail-visible")&&(a["data-rail-visible"]=$(this).attr("data-rail-visible")),$(this).slimScroll({wrapperClass:$(this).attr("data-wrapper-class")?$(this).attr("data-wrapper-class"):"slimScrollDiv",destroy:!0});var b=$(this);$.each(a,function(a,c){b.attr(a,c)})}})},scrollTop:function(){Metronic.scrollTo()},blockUI:function(a){a=$.extend(!0,{},a);var b="";if(b=a.animate?'<div class="loading-message '+(a.boxed?"loading-message-boxed":"")+'"><div class="block-spinner-bar"><div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div></div></div>':a.iconOnly?'<div class="loading-message '+(a.boxed?"loading-message-boxed":"")+'"><img src="'+this.getGlobalImgPath()+'loading-spinner-blue.gif" align=""></div>':a.textOnly?'<div class="loading-message '+(a.boxed?"loading-message-boxed":"")+'"><span>&nbsp;&nbsp;'+(a.message?a.message:"LOADING...")+"</span></div>":'<div class="loading-message '+(a.boxed?"loading-message-boxed":"")+'"><img src="'+this.getGlobalImgPath()+'loading-spinner-blue.gif" align=""><span>&nbsp;&nbsp;'+(a.message?a.message:"LOADING...")+"</span></div>",a.target){var c=$(a.target);c.height()<=$(window).height()&&(a.cenrerY=!0),c.block({message:b,baseZ:a.zIndex?a.zIndex:1e3,centerY:void 0!==a.cenrerY?a.cenrerY:!1,css:{top:"10%",border:"0",padding:"0",backgroundColor:"none"},overlayCSS:{backgroundColor:a.overlayColor?a.overlayColor:"#555",opacity:a.boxed?.05:.1,cursor:"wait"}})}else $.blockUI({message:b,baseZ:a.zIndex?a.zIndex:1e3,css:{border:"0",padding:"0",backgroundColor:"none"},overlayCSS:{backgroundColor:a.overlayColor?a.overlayColor:"#555",opacity:a.boxed?.05:.1,cursor:"wait"}})},unblockUI:function(a){a?$(a).unblock({onUnblock:function(){$(a).css("position",""),$(a).css("zoom","")}}):$.unblockUI()},startPageLoading:function(a){a&&a.animate?($(".page-spinner-bar").remove(),$("body").append('<div class="page-spinner-bar"><div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div></div>')):($(".page-loading").remove(),$("body").append('<div class="page-loading"><img src="'+this.getGlobalImgPath()+'loading-spinner-blue.gif"/>&nbsp;&nbsp;<span>'+(a&&a.message?a.message:"Loading...")+"</span></div>"))},stopPageLoading:function(){$(".page-loading, .page-spinner-bar").remove()},alert:function(a){a=$.extend(!0,{container:"",place:"append",type:"success",message:"",close:!0,reset:!0,focus:!0,closeInSeconds:0,icon:""},a);var b=Metronic.getUniqueID("Metronic_alert"),c='<div id="'+b+'" class="Metronic-alerts alert alert-'+a.type+' fade in">'+(a.close?'<button type="button" class="close" data-dismiss="alert" aria-hidden="true"></button>':"")+(""!==a.icon?'<i class="fa-lg fa fa-'+a.icon+'"></i>  ':"")+a.message+"</div>";return a.reset&&$(".Metronic-alerts").remove(),a.container?"append"==a.place?$(a.container).append(c):$(a.container).prepend(c):$("body").hasClass("page-container-bg-solid")?$(".page-title").after(c):$(".page-bar").size()>0?$(".page-bar").after(c):$(".page-breadcrumb").after(c),a.focus&&Metronic.scrollTo($("#"+b)),a.closeInSeconds>0&&setTimeout(function(){$("#"+b).remove()},1e3*a.closeInSeconds),b},initUniform:function(a){a?$(a).each(function(){0===$(this).parents(".checker").size()&&($(this).show(),$(this).uniform())}):p()},updateUniform:function(a){$.uniform.update(a)},initFancybox:function(){C()},getActualVal:function(a){return a=$(a),a.val()===a.attr("placeholder")?"":a.val()},getURLParameter:function(a){var b,c,d=window.location.search.substring(1),e=d.split("&");for(b=0;b<e.length;b++)if(c=e[b].split("="),c[0]==a)return unescape(c[1]);return null},isTouchDevice:function(){try{return document.createEvent("TouchEvent"),!0}catch(a){return!1}},getViewPort:function(){var a=window,b="inner";return"innerWidth"in window||(b="client",a=document.documentElement||document.body),{width:a[b+"Width"],height:a[b+"Height"]}},getUniqueID:function(a){return"prefix_"+Math.floor(Math.random()*(new Date).getTime())},isIE8:function(){return c},isIE9:function(){return d},isRTL:function(){return b},isAngularJsApp:function(){return"undefined"==typeof angular?!1:!0},getAssetsPath:function(){return g},setAssetsPath:function(a){g=a},setGlobalImgPath:function(a){h=a},getGlobalImgPath:function(){return g+h},setGlobalPluginsPath:function(a){i=a},getGlobalPluginsPath:function(){return g+i},getGlobalCssPath:function(){return g+j},getBrandColor:function(a){return k[a]?k[a]:""},getResponsiveBreakpoint:function(a){var b={xs:480,sm:768,md:900,lg:1200};return b[a]?b[a]:0}}}(),Layout=function(){var a="img/",b="css/",c=Metronic.getResponsiveBreakpoint("md"),d=function(){var a,b=$(".page-content"),d=$(".page-sidebar"),e=$("body");if(e.hasClass("page-footer-fixed")===!0&&e.hasClass("page-sidebar-fixed")===!1){var f=Metronic.getViewPort().height-$(".page-footer").outerHeight()-$(".page-header").outerHeight();b.height()<f&&b.attr("style","min-height:"+f+"px")}else{if(e.hasClass("page-sidebar-fixed"))a=g(),e.hasClass("page-footer-fixed")===!1&&(a-=$(".page-footer").outerHeight());else{var h=$(".page-header").outerHeight(),i=$(".page-footer").outerHeight();a=Metronic.getViewPort().width<c?Metronic.getViewPort().height-h-i:d.height()+20,a+h+i<=Metronic.getViewPort().height&&(a=Metronic.getViewPort().height-h-i)}b.attr("style","min-height:"+a+"px")}},e=function(a,b){var d=location.hash.toLowerCase(),e=$(".page-sidebar-menu");if("click"===a||"set"===a?b=$(b):"match"===a&&e.find("li > a").each(function(){var a=$(this).attr("href").toLowerCase();return a.length>1&&d.substr(1,a.length-1)==a.substr(1)?void(b=$(this)):void 0}),b&&0!=b.size()&&"javascript:;"!==b.attr("href").toLowerCase()&&"#"!==b.attr("href").toLowerCase()){parseInt(e.data("slide-speed")),e.data("keep-expanded");e.find("li.active").removeClass("active"),e.find("li > a > .selected").remove(),e.hasClass("page-sidebar-menu-hover-submenu")===!1?e.find("li.open").each(function(){0===$(this).children(".sub-menu").size()&&($(this).removeClass("open"),$(this).find("> a > .arrow.open").removeClass("open"))}):e.find("li.open").removeClass("open"),b.parents("li").each(function(){$(this).addClass("active"),$(this).find("> a > span.arrow").addClass("open"),1===$(this).parent("ul.page-sidebar-menu").size()&&$(this).find("> a").append('<span class="selected"></span>'),1===$(this).children("ul.sub-menu").size()&&$(this).addClass("open")}),"click"===a&&Metronic.getViewPort().width<c&&$(".page-sidebar").hasClass("in")&&$(".page-header .responsive-toggler").click()}},f=function(){jQuery(".page-sidebar").on("click","li > a",function(a){var b=$(this).next().hasClass("sub-menu");if(!(Metronic.getViewPort().width>=c&&1===$(this).parents(".page-sidebar-menu-hover-submenu").size())){if(b===!1)return void(Metronic.getViewPort().width<c&&$(".page-sidebar").hasClass("in")&&$(".page-header .responsive-toggler").click());if(!$(this).next().hasClass("sub-menu always-open")){var e=$(this).parent().parent(),f=$(this),g=$(".page-sidebar-menu"),h=jQuery(this).next(),i=g.data("auto-scroll"),j=parseInt(g.data("slide-speed")),k=g.data("keep-expanded");k!==!0&&(e.children("li.open").children("a").children(".arrow").removeClass("open"),e.children("li.open").children(".sub-menu:not(.always-open)").slideUp(j),e.children("li.open").removeClass("open"));var l=-200;h.is(":visible")?(jQuery(".arrow",jQuery(this)).removeClass("open"),jQuery(this).parent().removeClass("open"),h.slideUp(j,function(){i===!0&&$("body").hasClass("page-sidebar-closed")===!1&&($("body").hasClass("page-sidebar-fixed")?g.slimScroll({scrollTo:f.position().top}):Metronic.scrollTo(f,l)),d()})):b&&(jQuery(".arrow",jQuery(this)).addClass("open"),jQuery(this).parent().addClass("open"),h.slideDown(j,function(){i===!0&&$("body").hasClass("page-sidebar-closed")===!1&&($("body").hasClass("page-sidebar-fixed")?g.slimScroll({scrollTo:f.position().top}):Metronic.scrollTo(f,l)),d()})),a.preventDefault()}}}),jQuery(".page-sidebar").on("click"," li > a.ajaxify",function(a){a.preventDefault(),Metronic.scrollTop();var b=$(this).attr("href"),d=jQuery(".page-sidebar ul"),e=($(".page-content"),$(".page-content .page-content-body"));d.children("li.active").removeClass("active"),d.children("arrow.open").removeClass("open"),$(this).parents("li").each(function(){$(this).addClass("active"),$(this).children("a > span.arrow").addClass("open")}),$(this).parents("li").addClass("active"),Metronic.getViewPort().width<c&&$(".page-sidebar").hasClass("in")&&$(".page-header .responsive-toggler").click(),Metronic.startPageLoading();var f=$(this);$.ajax({type:"GET",cache:!1,url:b,dataType:"html",success:function(a){0===f.parents("li.open").size()&&$(".page-sidebar-menu > li.open > a").click(),Metronic.stopPageLoading(),e.html(a),Layout.fixContentHeight(),Metronic.initAjax()},error:function(a,b,c){Metronic.stopPageLoading(),e.html("<h4>Could not load the requested content.</h4>")}})}),jQuery(".page-content").on("click",".ajaxify",function(a){a.preventDefault(),Metronic.scrollTop();var b=$(this).attr("href"),d=($(".page-content"),$(".page-content .page-content-body"));Metronic.startPageLoading(),Metronic.getViewPort().width<c&&$(".page-sidebar").hasClass("in")&&$(".page-header .responsive-toggler").click(),$.ajax({type:"GET",cache:!1,url:b,dataType:"html",success:function(a){Metronic.stopPageLoading(),d.html(a),Layout.fixContentHeight(),Metronic.initAjax()},error:function(a,b,c){d.html("<h4>Could not load the requested content.</h4>"),Metronic.stopPageLoading()}})}),i(),$(".page-sidebar").on("click",".sidebar-search .remove",function(a){a.preventDefault(),$(".sidebar-search").removeClass("open")}),$(".page-sidebar .sidebar-search").on("keypress","input.form-control",function(a){return 13==a.which?($(".sidebar-search").submit(),!1):void 0}),0!==$(".sidebar-search").size()&&($(".sidebar-search .input-group").on("click",function(a){a.stopPropagation()}),$("body").on("click",function(){$(".sidebar-search").hasClass("open")&&$(".sidebar-search").removeClass("open")}))},g=function(){var a=Metronic.getViewPort().height-$(".page-header").outerHeight();return $("body").hasClass("page-footer-fixed")&&(a-=$(".page-footer").outerHeight()),a},h=function(){var a=$(".page-sidebar-menu");return Metronic.destroySlimScroll(a),0===$(".page-sidebar-fixed").size()?void d():void(Metronic.getViewPort().width>=c&&(a.attr("data-height",g()),Metronic.initSlimScroll(a),d()))},i=function(){var a=$("body");a.hasClass("page-sidebar-fixed")&&$(".page-sidebar").on("mouseenter",function(){a.hasClass("page-sidebar-closed")&&$(this).find(".page-sidebar-menu").removeClass("page-sidebar-menu-closed")}).on("mouseleave",function(){a.hasClass("page-sidebar-closed")&&$(this).find(".page-sidebar-menu").addClass("page-sidebar-menu-closed")})},j=function(){var a=$("body");$.cookie&&"1"===$.cookie("sidebar_closed")&&Metronic.getViewPort().width>=c?($("body").addClass("page-sidebar-closed"),$(".page-sidebar-menu").addClass("page-sidebar-menu-closed")):$.cookie&&$.cookie("sidebar_closed","0"),$("body").on("click",".sidebar-toggler",function(b){var c=$(".page-sidebar"),d=$(".page-sidebar-menu");$(".sidebar-search",c).removeClass("open"),a.hasClass("page-sidebar-closed")?(a.removeClass("page-sidebar-closed"),d.removeClass("page-sidebar-menu-closed"),$.cookie&&$.cookie("sidebar_closed","0")):(a.addClass("page-sidebar-closed"),d.addClass("page-sidebar-menu-closed"),a.hasClass("page-sidebar-fixed")&&d.trigger("mouseleave"),$.cookie&&$.cookie("sidebar_closed","1")),$(window).trigger("resize")})},k=function(){$(".page-header").on("click",'.hor-menu a[data-toggle="tab"]',function(a){a.preventDefault();var b=$(".hor-menu .nav"),c=b.find("li.current");$("li.active",c).removeClass("active"),$(".selected",c).remove();var d=$(this).parents("li").last();d.addClass("current"),d.find("a:first").append('<span class="selected"></span>')}),$(".page-header").on("click",".search-form",function(a){$(this).addClass("open"),$(this).find(".form-control").focus(),$(".page-header .search-form .form-control").on("blur",function(a){$(this).closest(".search-form").removeClass("open"),$(this).unbind("blur")})}),$(".page-header").on("keypress",".hor-menu .search-form .form-control",function(a){return 13==a.which?($(this).closest(".search-form").submit(),!1):void 0}),$(".page-header").on("mousedown",".search-form.open .submit",function(a){a.preventDefault(),a.stopPropagation(),$(this).closest(".search-form").submit()}),$('[data-hover="megamenu-dropdown"]').not(".hover-initialized").each(function(){$(this).dropdownHover(),$(this).addClass("hover-initialized")}),$(document).on("click",".mega-menu-dropdown .dropdown-menu",function(a){a.stopPropagation()})},l=function(){$("body").on("shown.bs.tab",'a[data-toggle="tab"]',function(){d()})},m=function(){var a=300,b=500;navigator.userAgent.match(/iPhone|iPad|iPod/i)?$(window).bind("touchend touchcancel touchleave",function(c){$(this).scrollTop()>a?$(".scroll-to-top").fadeIn(b):$(".scroll-to-top").fadeOut(b)}):$(window).scroll(function(){$(this).scrollTop()>a?$(".scroll-to-top").fadeIn(b):$(".scroll-to-top").fadeOut(b)}),$(".scroll-to-top").click(function(a){return a.preventDefault(),$("html, body").animate({scrollTop:0},b),!1})},n=function(){var a,b=$(".full-height-content");if(a=Metronic.getViewPort().height-$(".page-header").outerHeight(!0)-$(".page-footer").outerHeight(!0)-$(".page-title").outerHeight(!0)-$(".page-bar").outerHeight(!0),b.hasClass("portlet")){var d=b.find(".portlet-body");if(Metronic.getViewPort().width<c)return void Metronic.destroySlimScroll(d.find(".full-height-content-body"));a=a-b.find(".portlet-title").outerHeight(!0)-parseInt(b.find(".portlet-body").css("padding-top"))-parseInt(b.find(".portlet-body").css("padding-bottom"))-2,b.hasClass("full-height-content-scrollable")?(a-=35,d.find(".full-height-content-body").css("height",a),Metronic.initSlimScroll(d.find(".full-height-content-body"))):d.css("min-height",a)}else{if(Metronic.getViewPort().width<c)return void Metronic.destroySlimScroll(b.find(".full-height-content-body"));b.hasClass("full-height-content-scrollable")?(a-=35,b.find(".full-height-content-body").css("height",a),Metronic.initSlimScroll(b.find(".full-height-content-body"))):b.css("min-height",a)}};return{initHeader:function(){k()},setSidebarMenuActiveLink:function(a,b){e(a,b)},initSidebar:function(){h(),f(),j(),Metronic.isAngularJsApp()&&e("match"),Metronic.addResizeHandler(h)},initContent:function(){n(),l(),Metronic.addResizeHandler(d),Metronic.addResizeHandler(n)},initFooter:function(){m()},init:function(){this.initHeader(),this.initSidebar(),this.initContent(),this.initFooter()},fixContentHeight:function(){d()},initFixedSidebarHoverEffect:function(){i()},initFixedSidebar:function(){h()},getLayoutImgPath:function(){return Metronic.getAssetsPath()+a},getLayoutCssPath:function(){return Metronic.getAssetsPath()+b}}}();angular.module("xCallyShuttleApp").run(["$templateCache",function(a){a.put("app/agent/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-people"></i>\n                                   <a href="/agents/list">{{ \'APPLICATION_AGENTS\' | translate }}</a>\n                           </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-people font-green-sharp"></i>\n                                  <span class="caption-subject">{{ \'APPLICATION_AGENTS\' | translate }}</a> </span>\n                            </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="agents.checked.length">\n                                          <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle" href="#" data-toggle="dropdown">\n                                                  <i class="icon-plus"></i> {{ \'APPLICATION_NEW_AGENT\' | translate }} <i class="fa fa-angle-down"></i>\n                                                </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/agents/wizard">\n                                                             <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getAgents([\'name\', \'fullname\', \'email\'])" csv-header="[\'Username\', \'Fullname\', \'Email\']" field-separator=";" filename="agents.csv">\n                                     <i class="icon-cloud-download"></i></a>\n                               </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedAgents" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                  <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="5">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.agentsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="agentByPage in agentsByPage | filter: $select.search">\n                                                                                                     <div ng-bind-html="agentByPage.name | highlight: $select.search"></div>\n                                                                                               </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(agent, checked)" checklist-model checklist-value="id"></th>\n                                                    <th st-sort="fullname">{{ \'APPLICATION_FULLNAME\' | translate }}</th>\n                                                <th st-sort="name">{{ \'APPLICATION_USERNAME\' | translate }}</th>\n                                                    <th st-sort="email">{{ \'APPLICATION_EMAIL\' | translate }}</th>\n                                                          <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="agent in displayedAgents" class="animate-repeat">\n                                                             <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="agents.checked" checklist-value="agent.id"></td>\n                                                               <td>{{agent.fullname}}</td>\n                                         <td>{{agent.name}}</td>\n                                       <td><a data-ng-href="mailto:{{agent.email}}">{{agent.email}}</a></td>\n                                         <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/agents/view/{{agent.id}}/account">\n                                                                           {{ \'APPLICATION_PROFILE\' | translate }}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(agent.fullname,agent.id)">\n                                                                         {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedAgents.length">\n                                                            <td colspan="5" style="text-align:center;">\n                                                                   <i>No agents available</i>\n                                                            </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="fullname" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                    </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_USERNAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                    </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="email" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_EMAIL\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                      </div>\n                                                    </td>\n                                                 <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="5" class="text-center">\n                                                                    <div class="pagination" st-pagination st-items-by-page="conf.agentsByPage.value" st-displayed-pages="7"></div>\n                                              </td>\n                                       </tr>\n                                       </tfoot>\n                                    </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
 a.put("app/agent/view/view.account.html",'<div class="row">\n  <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_PROFILE\' | translate}} {{ \'APPLICATION_ACCOUNT\' | translate}}</span>\n                               </div>\n                                <ul class="nav nav-tabs">\n                                     <li data-ng-class="{\'active\': Auth.isAdmin()}" data-ng-show="Auth.isAdmin()">\n                                               <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_PERSONAL_INFO\' | translate}}</a>\n                                       </li>\n                                 <li data-ng-show="Auth.isAdmin()">\n                                            <a href="#" data-target="#tab_1_2" data-toggle="tab">{{ \'APPLICATION_CHANGE_AVATAR\' | translate}}</a>\n                                       </li>\n                                 <li data-ng-show="Auth.isAdmin() || agent.id === Auth.getCurrentUser().id" data-ng-class="{\'active\': !Auth.isAdmin() && agent.id === Auth.getCurrentUser().id}">\n                                            <a href="#" data-target="#tab_1_3" data-toggle="tab">{{ \'APPLICATION_CHANGE_PASSWORD\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- PERSONAL INFO TAB -->\n                                    <div class="tab-pane" data-ng-class="{\'active\': Auth.isAdmin()}" data-ng-show="Auth.isAdmin()" id="tab_1_1">\n                                                <form name="forms.info" data-ng-submit="updateItem()" novalidate>\n                                                     <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="fullname" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="agent.fullname" required/>\n                                                          <span data-ng-show="(forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START USERNAME -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="text" name="name" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="agent.name" required/>\n                                                              <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n                                                       <!-- START EMAIL -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_EMAIL\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                <input type="email" name="email" placeholder="{{\'APPLICATION_EMAIL\' | translate}}" class="form-control" data-ng-model="agent.email" required/>\n                                                              <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.required" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                               <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.email" class="help-block help-block-error">\n                                                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_FORMAT\' | translate}}.\n                                                           </span>\n                                                       </div>\n                                                        <!-- END EMAIL -->\n\n                                                  <!-- START INTERNAL -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_INTERNAL_NUMBER\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                              <input type="text" name="internal" placeholder="{{\'APPLICATION_INTERNAL_NUMBER\' | translate}}" class="form-control" data-ng-model="agent.internal" required disabled/>\n                                                              <span data-ng-show="(forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END INTERNAL -->\n\n                                                       <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END PERSONAL INFO TAB -->\n                                        <!-- CHANGE AVATAR TAB -->\n                                    <div class="tab-pane" data-ng-show="Auth.isAdmin()" id="tab_1_2">\n                                             <form action="#" role="form">\n                                                 <div class="form-group">\n                                                              <div class="fileinput fileinput-new" data-provides="fileinput">\n                                                                       <div class="fileinput-new thumbnail" style="width: 200px; height: 150px;">\n                                                                            <img src="http://www.placehold.it/200x150/EFEFEF/AAAAAA&amp;text=no+image" alt=""/>\n                                                                   </div>\n                                                                        <div class="fileinput-preview fileinput-exists thumbnail" style="max-width: 200px; max-height: 150px;">\n                                                                       </div>\n                                                                        <div>\n                                                                         <span class="btn default btn-file" data-ng-show="!uploader.queue[0]">\n                                                                                 <span> {{ \'APPLICATION_SELECT_IMAGE\' | translate }} </span>\n                                                                                 <input type="file" nv-file-select="" uploader="uploader" /><br/>\n                                                                              </span>\n                                                                               <button type="button" class="btn default" data-ng-show="uploader.queue[0]" data-dismiss="fileinput" ng-click="uploader.queue[0].remove()">\n                                                                                    {{ \'APPLICATION_REMOVE\' | translate }}\n                                                                              </button>\n                                                                             <button type="button" class="btn green-haze" data-ng-show="uploader.queue[0]" data-ng-click="uploader.queue[0].upload()" ng-disabled="uploader.queue[0].isReady || uploader.queue[0].isUploading || uploader.queue[0].isSuccess">\n                                                                                     {{ \'APPLICATION_CONFIRM\' | translate }}\n                                                                             </button>\n                                                                     </div>\n                                                                        <p>\n                                                                           </br> {{ \'MESSAGE_SUPPORTED_FORMATS\' | translate }} <b>jpg, png, jpeg</b>.\n                                                                  </p>\n                                                          </div>\n                                                        </div>\n                                                </form>\n                                               <div class="row">\n                                                     <div class="col-md-2">\n                                                                <table class="table" border="0">\n                                                                      <tbody>\n                                                                       <tr data-ng-repeat="item in uploader.queue">\n                                                                                  <td style="border-top-style:none">\n                                                                                            <strong>\n                                                                                                      {{ item.file.name }}\n                                                                                          </strong>\n                                                                                     </td>\n                                                                                 <td data-ng-show="uploader.isHTML5" nowrap style="border-top-style:none">\n                                                                                             {{ item.file.size/1024/1024|number:2 }} MB\n                                                                                    </td>\n                                                                                 <td nowrap style="border-top-style:none">\n                                                                                             <button type="button" class="btn btn-danger btn-xs" data-ng-click="item.remove()">\n                                                                                                            <span class="glyphicon glyphicon-trash"></span> Remove\n                                                                                                </button>\n                                                                                     </td>\n                                                                         </tr>\n                                                                 </tbody>\n                                                              </table>\n                                                      </div>\n                                                </div>\n                                        </div>\n                                        <!-- END CHANGE AVATAR TAB -->\n                                        <!-- CHANGE PASSWORD TAB -->\n                                  <div class="tab-pane" data-ng-show="Auth.isAdmin() || agent.id === Auth.getCurrentUser().id" data-ng-class="{\'active\': !Auth.isAdmin() && agent.id === Auth.getCurrentUser().id}" id="tab_1_3">\n                                             <form name="forms.changePwd" data-ng-submit="forms.changePwd.$valid && updatePassword()" novalidate>\n                                                  <!-- START CURRENT PWD -->\n                                                    <div class="form-group" data-ng-if="!Auth.isAdmin()" data-ng-class="{\'has-error\': (forms.changePwd.current_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.current_pwd.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_CURRENT_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="password" name="current_pwd" placeholder="{{\'APPLICATION_CURRENT_PASSWORD\' | translate}}" class="form-control" data-ng-model="agent.currentPwd" required/>\n                                                             <span data-ng-show="(forms.changePwd.current_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.current_pwd.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CURRENT PWD -->\n                                                      <!-- START NEW PWD -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': (forms.changePwd.new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.new_pwd.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_NEW_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="password" name="new_pwd" placeholder="{{\'APPLICATION_NEW_PASSWORD\' | translate}}" class="form-control" data-ng-model="agent.newPwd" required/>\n                                                         <span data-ng-show="(forms.changePwd.new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.new_pwd.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NEW PWD -->\n                                                  <!-- START RE-NEW PWD -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': (forms.changePwd.re_new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.re_new_pwd.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_RE_TYPE_NEW_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="password" name="re_new_pwd" placeholder="{{\'APPLICATION_RE_TYPE_NEW_PASSWORD\' | translate}}" class="form-control" data-ng-model="agent.reNewPwd" nx-equal="agent.newPwd" required/>\n                                                            <span data-ng-show="(forms.changePwd.new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.new_pwd.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END RE-NEW PWD -->\n                                                       <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END CHANGE PASSWORD TAB -->\n                              </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/agent/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initView()">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-people"></i>\n                                   <a href="/agents/list">{{ \'APPLICATION_AGENTS\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <a href="#">{{agent.fullname}}</a>\n                            </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-userpic">\n                                 <img ng-src="api/users/avatar/{{agent.userpic ? agent.userpic : \'unknown_avatar\'}}" class="img-responsive">\n                         </div>\n                                <!-- END SIDEBAR USERPIC -->\n\n                                <!-- START SIDEBAR USER TITLE -->\n                             <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{agent.fullname}}\n                                    </div>\n                                        <div class="profile-usertitle-job">\n                                           {{agent.role}}\n                                        </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.agents.view.account\')}">\n                                                        <a data-ng-href="/agents/view/{{agent.id}}/account">\n                                                  <i class="icon-user"></i>\n                                                     {{ \'APPLICATION_ACCOUNT\' | translate}} </a>\n                                         </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n\n          <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/agent/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n       <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-people"></i>\n                           <a href="/agents/list">{{ \'APPLICATION_AGENTS\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="/agents/wizard">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                 </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered" ng-init="getFirstFreeInternal();">\n        <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-user font-green-sharp"></i>\n                    <span class="caption-subject">{{ \'APPLICATION_AGENT\' | translate }} WIZARD</a> </span>\n              </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_ACCOUNT\' | translate}}" canexit="exitValidation(forms.info.$valid)">\n                     <form name="forms.info" novalidate>\n\n                           <!-- START NAME -->\n                           <div class="form-group" data-ng-class="{\'has-error\': (forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                         <input type="text" name="fullname" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.fullname" required/>\n                                                   <span data-ng-show="(forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$error.required" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END NAME -->\n\n                           <!-- START USERNAME -->\n                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                             <input type="text" name="name" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="item.name" required ng-remote-validate="/api/agents/validate/name"/>\n                                                        <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.required" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                                                       <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.ngRemoteValidate" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_EXIST_USERNAME\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END USERNAME -->\n\n                       <!-- START EMAIL -->\n                          <div class="form-group" data-ng-class="{\'has-error\': (forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$invalid}">\n                             <label class="control-label">{{\'APPLICATION_EMAIL\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                <input type="email" name="email" placeholder="{{\'APPLICATION_EMAIL\' | translate}}" class="form-control" data-ng-model="item.email" required ng-remote-validate="/api/agents/validate/email"/>\n                               <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.required" class="help-block help-block-error">\n                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                               <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.email" class="help-block help-block-error">\n                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_FORMAT\' | translate}}.\n                         </span>\n                                                       <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.ngRemoteValidate" class="help-block help-block-error">\n                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_EXIST_EMAIL\' | translate}}.\n                          </span>\n                             </div>\n                        <!-- END EMAIL -->\n\n                          <!-- START PASSWORD -->\n                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.password.$touched || forms.info.$submitted) && forms.info.password.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                             <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.password" required/>\n                           <span data-ng-show="(forms.info.password.$touched || forms.info.$submitted) && forms.info.password.$error.required" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END PASSWORD -->\n\n                       <!-- START RE PASSWORD -->\n                            <div class="form-group" data-ng-class="{\'has-error\': (forms.info.rpassword.$touched || forms.info.$submitted) && forms.info.rpassword.$invalid}">\n                             <label class="control-label">{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                             <input type="password" name="rpassword" placeholder="{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.rpassword" nx-equal="item.password" required/>\n                                <span data-ng-show="(forms.info.rpassword.$touched || forms.info.$submitted) && forms.info.rpassword.$error.required" class="help-block help-block-error">\n                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                               <span data-ng-show="(forms.info.rpassword.$touched || forms.info.$submitted) && forms.info.rpassword.$error.nxEqual" class="help-block help-block-error">\n                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_PASSWORD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END RE PASSWORD -->\n\n                                              <!-- START INTERNAL -->\n                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_INTERNAL_NUMBER\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                      <div class="input-group">\n                                                     <input type="number" min="1" name="internal" placeholder="{{\'APPLICATION_INTERNAL_NUMBER\' | translate}}" class="form-control" data-ng-model="item.internal" data-ng-disabled="!item.internalEnabled" data-ng-required="item.internalEnabled" ng-remote-validate="/api/agents/validate/internal"/>\n                                                   <span class="input-group-addon">\n                                                              <input type="checkbox" data-ng-model="item.internalEnabled">\n                                                  </span>\n                                                       </div>\n                                                        <span data-ng-show="(forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$error.required" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                                       <span data-ng-show="(forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$error.ngRemoteValidate" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_EXIST_INTERNAL\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END INTERNAL -->\n\n                             <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="next()"/>\n                            </form>\n                     </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_VOICE\' | translate}}" canexit="exitValidation(forms.voice.$valid)">\n                                  <form name="forms.voice" novalidate>\n\n                                                <!-- START ACCOUNTCODE -->\n                                            <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.voice.accountcode.$touched || forms.voice.$submitted) && forms.voice.accountcode.$invalid}">\n                                                       <label class="control-label">{{\'APPLICATION_ACCOUNTCODE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                  <input type="number" name="accountcode" placeholder="{{\'APPLICATION_ACCOUNTCODE\' | translate}}" class="form-control" data-ng-model="item.accountcode" required/>\n                                                    <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_HOST\' | translate }}\n                                                  </span>\n                                                       <span data-ng-show="(forms.voice.accountcode.$touched || forms.voice.$submitted) && forms.voice.accountcode.$error.required" class="help-block help-block-error">\n                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div> -->\n                                            <!-- END ACCOUNTCODE -->\n\n                                            <!-- START TRANSPORT -->\n                                              <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_TRANSPORT\' | translate}}</label>\n                                                       <ui-select multiple name="transport" ng-model="item.transport" theme="bootstrap" ng-disabled="disabled">\n                                                  <ui-select-match placeholder="Select transport...">{{$item}}</ui-select-match>\n                                                <ui-select-choices repeat="transport in [\'udp\', \'tcp\', \'ws\', \'wss\'] | filter: $select.search">\n                                                    {{transport}}\n                                             </ui-select-choices>\n                                                </ui-select>\n                                                        <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_TRANSPORT\' | translate }}\n                                                     </span>\n                                               </div>\n                                                <!-- END TRANSPORT -->\n\n                                              <!-- START HOST -->\n                                           <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.voice.host.$touched || forms.voice.$submitted) && forms.voice.host.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_HOST\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <input type="text" name="host" placeholder="{{\'APPLICATION_HOST\' | translate}}" class="form-control" data-ng-model="item.host" required/>\n                                                   <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_HOST\' | translate }}\n                                                  </span>\n                                                       <span data-ng-show="(forms.voice.host.$touched || forms.voice.$submitted) && forms.voice.host.$error.required" class="help-block help-block-error">\n                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div> -->\n                                            <!-- END HOST -->\n\n                                           <!-- START NAT -->\n                                            <!-- <div class="form-group">\n                                                 <label class="control-label">{{ \'APPLICATION_NAT\' | translate}}</label>\n                                                     <ui-select multiple ng-model="item.nat" name="nat" theme="bootstrap" ng-disabled="disabled">\n                                                          <ui-select-match placeholder="{{ \'APPLICATION_SEARCH_FILTER\' | translate }}">{{$item}}</ui-select-match>\n                                                            <ui-select-choices repeat="nat in [\'yes\', \'no\', \'never\', \'route\', \'force_rport\', \'comedia\'] | filter: $select.search">\n                                                                    {{nat}}\n                                                               </ui-select-choices>\n                                                  </ui-select>\n                                                  <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_NAT\' | translate }}\n                                                   </span>\n                                               </div> -->\n\n                                          <!-- END NAT -->\n\n                                            <!-- START TYPE -->\n                                           <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.voice.type.$touched || forms.voice.$submitted) && forms.voice.type.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_TYPE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <ui-select data-ng-model="item.type" name="type" theme="bootstrap" required>\n                                                          <ui-select-match placeholder="{{ \'APPLICATION_SEARCH_FILTER\' | translate }}">{{$select.selected}}</ui-select-match>\n                                                         <ui-select-choices repeat="type in [\'friend\', \'user\', \'peer\'] | filter: $select.search">\n                                                                        <div ng-bind-html="type | highlight: $select.search"></div>\n                                                           </ui-select-choices>\n                                                  </ui-select>\n                                                  <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_TYPE\' | translate }}\n                                                  </span>\n                                                       <span data-ng-show="(forms.voice.type.$touched || forms.voice.$submitted) && forms.voice.type.$error.required" class="help-block help-block-error">\n                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div> -->\n                                            <!-- END TYPE -->\n\n                                           <!-- START CODEC -->\n                                          <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_ALLOWED_CODECS\' | translate}}</label>\n                                                  <ui-select multiple ng-model="item.allow" name="allow" theme="bootstrap" ng-disabled="disabled">\n                                                  <ui-select-match placeholder="Select codec...">{{$item}}</ui-select-match>\n                                                    <ui-select-choices repeat="allow in [\'g729\', \'ilbc\', \'gsm\', \'ulaw\', \'alaw\'] | filter: $select.search">\n                                                  {{allow}}\n                                                 </ui-select-choices>\n                                                </ui-select>\n                                                        <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_CODEC\' | translate }}\n                                                 </span>\n                                               </div>\n                                                <!-- END CODEC -->\n\n                                          <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="next()"/>\n                                              <input class="btn default" type="button" value="{{\'APPLICATION_BACK\' | translate}}" wz-previous/>\n                                   </form>\n                               </wz-step>\n\n                          <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/analytic/metric/list/create.modal.html",'<div class="modal-header">\n  <h3 class="modal-title">{{ \'APPLICATION_NEW_METRIC\' | translate }}</h3>\n</div>\n<div class="modal-body">\n  <form name="forms.metric" novalidate>\n\n    <!-- START NAME -->\n    <div class="form-group" data-ng-class="{\'has-error\': (forms.metric.name.$touched || forms.metric.$submitted) && forms.metric.name.$invalid}">\n      <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n      <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n      <span data-ng-show="(forms.metric.name.$touched || forms.metric.$submitted) && forms.metric.name.$error.required" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END NAME -->\n\n    <!-- START TABLE -->\n    <div class="form-group" data-ng-class="{\'has-error\': (forms.metric.table.$touched || forms.metric.$submitted) && forms.metric.table.$invalid}">\n      <label class="control-label">{{\'APPLICATION_TABLE\' | translate}}<span class="required" aria-required="true">*</span></label>\n      <ui-select data-ng-model="item.table" name="table" theme="bootstrap" required>\n        <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n        <ui-select-choices repeat="table.value as table in tables | filter: $select.search">\n          <div ng-bind-html="table.name | highlight: $select.search"></div>\n        </ui-select-choices>\n      </ui-select>\n      <span data-ng-show="(forms.metric.table.$touched || forms.metric.$submitted) && forms.metric.table.$error.required" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END TABLE-->\n\n    <!-- START METRIC -->\n    <div class="form-group" data-ng-class="{\'has-error\': (forms.metric.metric.$touched || forms.metric.$submitted) && forms.metric.metric.$invalid}">\n      <label class="control-label">{{\'APPLICATION_METRIC\' | translate}}<span class="required" aria-required="true">*</span></label>\n      <textarea type="text" name="metric" placeholder="{{\'APPLICATION_METRIC\' | translate}}" class="form-control" data-ng-model="item.metric" required/></textarea>\n      <span data-ng-show="(forms.metric.metric.$touched || forms.metric.$submitted) && forms.metric.metric.$error.required" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END METRIC -->\n\n    <!-- START DESCRIPTION -->\n    <div class="form-group">\n      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n      <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="metric.description"></textarea>\n    </div>\n    <!-- END DESCRIPTION -->\n\n  </form>\n</div>\n<div class="modal-footer">\n  <button class="btn btn-success" type="button" ng-click="ok()" ng-disabled="forms.metric.$invalid">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n  <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/analytic/metric/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n   <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-calculator"></i>\n                                       <a href="/analytics/metrics/list">{{ \'APPLICATION_METRICS\' | translate }}</a>\n                               </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-calculator font-green-sharp"></i>\n                                      <span class="caption-subject">{{ \'APPLICATION_METRICS\' | translate }}</a> </span>\n                           </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="Metrics.checked.length">\n                                         <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <button class="btn green-jungle " ng-click="create()">\n                                                        <i class="icon-plus"></i> {{ \'APPLICATION_NEW_METRIC\' | translate }}\n                                                </button>\n                                     </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getMetrics([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="metrics.csv">\n                                       <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedMetrics" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                 <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="4">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.metricsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                               <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="metricByPage in metricsByPage | filter: $select.search">\n                                                                                                   <div ng-bind-html="metricByPage.name | highlight: $select.search"></div>\n                                                                                              </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(metric, checked)" checklist-model checklist-value="id"></th>\n                                                   <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="metric in displayedMetrics" class="animate-repeat">\n                                                           <td style="text-align: center; vertical-align: middle"><input data-ng-hide="metric.defaultEntry" type="checkbox" checklist-model="Metrics.checked" checklist-value="metric.id"></td>\n                                                          <td>{{metric.name}}</td>\n                                            <td>{{metric.description}}</td>\n                                       <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/analytics/metrics/view/{{metric.id}}/settings" data-ng-class="{\'disabled\': metric.defaultEntry}">\n                                                                          {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(metric.name,metric.id)" data-ng-class="{\'disabled\': metric.defaultEntry}">\n                                                                               {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedMetrics.length">\n                                                           <td colspan="4" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_METRICS_AVAILABLE\' | translate }}</i>\n                                                             </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="4" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.metricsByPage.value" st-displayed-pages="7"></div>\n                                             </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
-a.put("app/analytic/metric/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getMetric()">\n <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-eye"></i>\n                                      <a href="/analytics/metrics/list">{{ \'APPLICATION_METRICS\' | translate }}</a>\n                                       <i data-ng-show="metric" class="fa fa-angle-right"></i>\n                               </li>\n                         <li data-ng-show="metric">\n                                    <a href="#">{{metric.name}}</a>\n                               </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/metric.png" class="img-responsive">\n                             </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{metric.name}}\n                                       </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.analytics.metrics.view.settings\')}">\n                                                    <a data-ng-href="/analytics/metrics/view/{{metric.id}}/settings">\n                                                     <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/analytic/metric/view/view.settings.html",'<div class="row">\n   <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_METRIC\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n                              </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateMetric()" novalidate>\n\n                                                      <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="metric.name" required/>\n                                                         <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START TABLE -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.general.table.$touched || forms.general.$submitted) && forms.general.table.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_TABLE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                <ui-select data-ng-model="metric.table" name="table" theme="bootstrap" required>\n                                                                      <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="table.value as table in tables | filter: $select.search">\n                                                                          <div ng-bind-html="table.name | highlight: $select.search"></div>\n                                                                     </ui-select-choices>\n                                                          </ui-select>\n                                                          <span data-ng-show="(forms.general.table.$touched || forms.general.$submitted) && forms.general.table.$error.required" class="help-block help-block-error">\n                                                                   <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END TABLE-->\n\n                                                   <!-- START METRIC -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.general.metric.$touched || forms.general.$submitted) && forms.general.metric.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_METRIC\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                               <textarea type="text" name="metric" placeholder="{{\'APPLICATION_METRIC\' | translate}}" class="form-control" data-ng-model="metric.metric" required/></textarea>\n                                                             <span data-ng-show="(forms.general.metric.$touched || forms.general.$submitted) && forms.general.metric.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END METRIC -->\n\n                                                 <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="metric.description"></textarea>\n                                                        </div>\n                                                        <!-- END DESCRIPTION -->\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END ADVANCED TAB -->\n\n                           </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/analytic/report/list/copy.modal.html",'<div class="modal-header">\n  <h3 class="modal-title">{{ \'APPLICATION_COPY_REPORT\' | translate }}</h3>\n</div>\n<div class="modal-body">\n  <div class="portlet light bordered">\n    <div class="portlet-title">\n      <div class="caption font-green-sharp" style="padding-left:10px;">\n        <i class="icon-folder font-green-sharp"></i>\n        <span class="caption-subject">{{ \'APPLICATION_COPY_TO\' | translate }} </span>\n      </div>\n    </div>\n    <div class="portlet-body">\n      <div js-tree="customTreeConfig" ng-model="customTreeData" should-apply="ac()" tree="customTreeInstance" tree-events="ready:initCustomScopeTree;"></div>\n    </div>\n  </div>\n</div>\n<div class="modal-footer">\n  <button class="btn btn-success" type="button" data-ng-disabled="!customTree.get_selected(true).pop().id" ng-click="ok()" ng-disabled="forms.report.$invalid">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n  <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/analytic/report/list/create.modal.html",'<div class="modal-header">\n  <h3 class="modal-title">{{ \'APPLICATION_NEW_REPORT\' | translate }}</h3>\n</div>\n<div class="modal-body">\n  <form name="forms.report" novalidate>\n\n    <!-- START NAME -->\n    <div class="form-group" data-ng-class="{\'has-error\': (forms.report.name.$touched || forms.report.$submitted) && forms.report.name.$invalid}">\n      <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n      <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n      <span data-ng-show="(forms.report.name.$touched || forms.report.$submitted) && forms.report.name.$error.required" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END NAME -->\n\n    <!-- START DESCRIPTION -->\n    <div class="form-group">\n      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n      <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"></textarea>\n    </div>\n    <!-- END DESCRIPTION -->\n\n    <div class="form-group" data-ng-class="{\'has-error\': (forms.report.name.$touched || forms.report.$submitted) && forms.report.name.$invalid}">\n      <label class="control-label">{{\'APPLICATION_PATH\' | translate}}<span class="required" aria-required="true"></span></label>\n      <input type="text" name="name" placeholder="{{\'APPLICATION_PATH\' | translate}}" class="form-control" data-ng-model="path" disabled/>\n      <span data-ng-show="(forms.report.name.$touched || forms.report.$submitted) && forms.report.name.$error.required" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n\n  </form>\n</div>\n<div class="modal-footer">\n  <button class="btn btn-success" type="button" ng-click="ok()" ng-disabled="forms.report.$invalid">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n  <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/analytic/report/list/extract.modal.html",'<div class="modal-header">\n  <h3 class="modal-title">{{ \'APPLICATION_EXTRACT_REPORT\' | translate }}</h3>\n</div>\n<div class="modal-body" style="text-align:center;">\n  <form name="forms.report" class="form-inline" novalidate>\n    <div class="form-group">\n      <label class="control-label">{{\'APPLICATION_DATE_RANGE\' | translate}}<span class="required" aria-required="true"></span></label>\n      <input type="daterange" name="dates" ranges="ranges" placeholder="{{\'APPLICATION_DATE_RANGE\' | translate}}" class="form-control" data-ng-model="dates" data-ng-change="getPage()" required/>\n    </div>\n  </form>\n  <div ng-slide-down="showResult" lazy-render duration="1">\n    <div ui-grid="gridOptions" ui-grid-pagination class="grid"></div>\n  </div>\n</div>\n<div class="modal-footer">\n<button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CLOSE\' | translate }}</button>\n</div>\n'),a.put("app/analytic/report/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getTrees()">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-book-open"></i>\n                                        <a href="/analytics/reports/list">{{ \'APPLICATION_REPORTS\' | translate }}</a>\n                               </li>\n                 </ul>\n         </div>\n                <div class="col-fixed">\n                       <!-- BEGIN Portlet PORTLET-->\n                 <div class="portlet light bordered">\n                          <div class="portlet-title">\n                                   <div class="caption font-green-sharp" style="padding-left:10px;">\n                                             <i class="icon-folder font-green-sharp"></i>\n                                          <span class="caption-subject">{{ \'APPLICATION_FOLDERS\' | translate }} </span>\n                                       </div>\n                                        <div class="inputs">\n                                          <div class="portlet-input input-inline input-small">\n                                                  <div class="input-icon right">\n                                                                <i class="icon-magnifier"></i>\n                                                                <input type="text" data-ng-model="searchField" data-ng-change="searchTrees()" class="form-control input-circle" placeholder="search...">\n                                                      </div>\n                                                </div>\n                                        </div>\n                                </div>\n                                <div class="portlet-body">\n                                    <div js-tree="defaultTreeConfig" ng-model="defaultTreeData" should-apply="ac()" tree="defaultTreeInstance" tree-events="ready:initDefaultScopeTree;select_node:selectDefaultNode;"></div>\n                                     <div js-tree="customTreeConfig" ng-model="customTreeData" should-apply="ac()" tree="customTreeInstance" tree-events="ready:initCustomScopeTree;select_node:selectCustomNode;rename_node:updateCustomTree;delete_node:updateCustomTree;move_node:updateCustomTree;create_node:updateCustomTree;"></div>\n                                </div>\n                        </div>\n                        <!-- END Portlet PORTLET-->\n           </div>\n                <div class="row tree-row">\n                    <div class="col-md-12">\n                               <!-- BEGIN Portlet PORTLET-->\n                         <div class="portlet light bordered">\n                                  <div class="portlet-title">\n                                           <div class="caption font-green-sharp">\n                                                        <i class="icon-book-open font-green-sharp"></i>\n                                                       <span class="caption-subject">{{ \'APPLICATION_REPORTS\' | translate }}<span data-ng-if="selectedNode"> - {{selectedNode}}</span></span>\n                                              </div>\n                                                <div data-ng-if="!defaultTreeActive" class="actions">\n                                                 <div class="btn-group" data-ng-show="Reports.checked.length">\n                                                         <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                                           </a>\n                                                  </div>\n                                                        <div class="btn-group">\n                                                               <span class="btn default btn-file">\n                                                           <span class="fileinput-new">\n                                                          <i class="icon-cloud-upload"></i> {{\'APPLICATION_IMPORT_FROM_JSON\' | translate}}</span>\n                                                             <input type="file" on-read-file="import($fileContent)"/>\n                                                              </span>\n                                                       </div>\n                                                        <div class="btn-group">\n                                                               <button class="btn green-jungle " ng-click="create()">\n                                                                        <i class="icon-plus"></i> {{ \'APPLICATION_NEW_REPORT\' | translate }}\n                                                                </button>\n                                                     </div>\n                                                </div>\n                                        </div>\n                                        <div class="portlet-body">\n                                            <!-- START TABLE -->\n                                          <table data-ng-if="defaultTreeReady && customTreeReady" st-table="displayedReports" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                                        <div class="table-responsive" data-ng-init="firstSelect()">\n                                                           <thead>\n                                                                       <tr>\n                                                                          <th colspan="4">\n                                                                                      <div class="row">\n                                                                                             <div class="col-md-6">\n                                                                                                        <ui-select class="input-xsmall" ng-model="conf.reportsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                                               <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                                             <ui-select-choices repeat="reportByPage in reportsByPage | filter: $select.search">\n                                                                                                                   <div ng-bind-html="reportByPage.name | highlight: $select.search"></div>\n                                                                                                              </ui-select-choices>\n                                                                                                  </ui-select>\n                                                                                          </div>\n                                                                                                <div class="col-md-6">\n                                                                                                        <div class="input-group input-medium pull-right">\n                                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                                         <span class="input-group-addon">\n                                                                                                                      <i class="fa fa-search"></i>\n                                                                                                          </span>\n                                                                                                       </div>\n                                                                                                </div>\n                                                                                        </div>\n                                                                                </th>\n                                                                 </tr>\n                                                                 <tr>\n                                                                          <th class="small-cells" style="text-align: center; vertical-align: middle"><input data-ng-checked="Reports.checked.length" data-ng-hide="defaultTreeActive" type="checkbox" ng-change="check(report, checked)" checklist-model checklist-value="id"></th>\n                                                                             <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                                                <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                                          <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                                    </tr>\n                                                         </thead>\n                                                              <tbody>\n                                                                       <tr data-ng-repeat="report in displayedReports" class="animate-repeat">\n                                                                               <td style="text-align: center; vertical-align: middle"><input data-ng-hide="defaultTreeActive" type="checkbox" checklist-model="Reports.checked" checklist-value="report.id"></td>\n                                                                            <td>{{report.name}}</td>\n                                                                              <td>{{report.description}}</td>\n                                                                               <td>\n                                                                                  <a data-ng-if="!defaultTreeActive" class="btn default btn-xs blue-stripe" data-ng-href="/analytics/reports/view/{{report.id}}/settings">\n                                                                                              {{ \'APPLICATION_SETTINGS\' | translate}}\n                                                                                     </a>\n                                                                                  <a data-ng-if="!defaultTreeActive" class="btn default btn-xs red-stripe" data-ng-click="deleteItem(report.name,report.id)">\n                                                                                           {{ \'APPLICATION_DELETE\' | translate }}\n                                                                                      </a>\n                                                                                  <a class="btn default btn-xs green-stripe" data-ng-click="copy(report.id)">\n                                                                                           {{ \'APPLICATION_COPY\' | translate }}\n                                                                                        </a>\n                                                                                  <a class="btn default btn-xs purple-stripe" data-ng-click="export(report.id)">\n                                                                                                {{ \'APPLICATION_EXPORT\' | translate }}\n                                                                                      </a>\n                                                                                  <a class="btn default btn-xs yellow-stripe" data-ng-click="extract(report.id)">\n                                                                                               {{ \'APPLICATION_EXTRACT\' | translate }}\n                                                                                     </a>\n                                                                          </td>\n                                                                 </tr>\n                                                                 <tr data-ng-hide="displayedReports.length">\n                                                                           <td colspan="4" style="text-align:center;">\n                                                                                   <i>{{ \'MESSAGE_NO_REPORTS_AVAILABLE\' | translate }}</i>\n                                                                             </td>\n                                                                 </tr>\n                                                         </tbody>\n                                                              <tfoot>\n                                                                       <tr>\n                                                                          <td/>\n                                                                         <td>\n                                                                                  <div class="input-icon right">\n                                                                                                <i class="fa fa-search"></i>\n                                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                                        </div>\n                                                                                </td>\n                                                                         <td>\n                                                                                  <div class="input-icon right">\n                                                                                                <i class="fa fa-search"></i>\n                                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                                  </div>\n                                                                                </td>\n                                                                         <td/>\n                                                                 </tr>\n                                                                 <tr>\n                                                                          <td colspan="4" class="text-center">\n                                                                                  <div st-pagination class="pagination" st-items-by-page="conf.reportsByPage.value" st-displayed-pages="7"></div>\n                                                                               </td>\n                                                                 </tr>\n                                                         </tfoot>\n                                              </div>\n                                                </table>\n                                              <!-- END TABLE -->\n                                    </div>\n                                </div>\n                                <!-- END Portlet PORTLET-->\n                   </div>\n                </div>\n        </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/analytic/report/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getReport()">\n     <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-book-open"></i>\n                                        <a href="/analytics/reports/list">{{ \'APPLICATION_REPORTS\' | translate }}</a>\n                                       <i data-ng-show="report" class="fa fa-angle-right"></i>\n                               </li>\n                         <li data-ng-show="report">\n                                    <a href="#">{{report.name}}</a>\n                               </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/report.png" class="img-responsive">\n                             </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{report.name}}\n                                       </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.analytics.reports.view.settings\')}">\n                                                    <a data-ng-href="/analytics/reports/view/{{report.id}}/settings">\n                                                     <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/analytic/report/view/view.settings.html",'<div class="row">\n   <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_REPORT\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n                              </div>\n                                <ul class="nav nav-tabs">\n                                     <li>\n                                          <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                                 <li class="active">\n                                           <a href="#" data-target="#tab_1_2" data-toggle="tab">{{ \'APPLICATION_BUILD\' | translate}}</a>\n                                       </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_3" data-toggle="tab">{{ \'APPLICATION_PREVIEW\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n\n                          <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane" id="tab_1_1">\n                                           <form name="forms.general" data-ng-submit="forms.report.$valid && forms.general.$valid && updateReport()" novalidate>\n\n\n                                                     <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="report.name" required/>\n                                                         <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="report.description"></textarea>\n                                                        </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <!-- START TABLE INPUT -->\n\n\n                                                        <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n\n                                     </div>\n                                        <!-- END GENERAL TAB -->\n                                      <div class="tab-pane active" id="tab_1_2">\n                                            <form name="forms.report" data-ng-submit="forms.report.$valid && forms.general.$valid && updateReport()" novalidate>\n                                          <div class="form-group" data-ng-class="{\'has-error\': (forms.report.table.$touched || forms.report.$submitted) && forms.report.table.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_TABLE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                        <ui-select data-ng-model="report.table" name="table" theme="bootstrap" required>\n                                                              <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                              <ui-select-choices repeat="table.table as table in tables | filter: $select.search">\n                                                                  <div ng-bind-html="table.name | highlight: $select.search"></div>\n                                                             </ui-select-choices>\n                                                  </ui-select>\n                                                  <span class="help-block">\n                                                     </span>\n                                                       <span data-ng-show="(forms.report.table.$touched || forms.report.$submitted) && forms.report.table.$error.required" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END TABLE INPUT-->\n                                               <div data-ng-if="report.table" class="mbottom20 pbottom20">\n                                           <div class="portlet-title tabbable-line">\n                                                     <div class="caption caption-md">\n                                                              <i class="icon-globe theme-font hide"></i>\n                                                            <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_FIELDS\' | translate}} </span>\n                                                        </div>\n                                                </div>\n                                                                <!-- START TABLE -->\n                                                          <table class="table table-striped table-bordered table-hover">\n                                                                        <thead>\n                                                                               <tr>\n                                                                                  <th>{{ \'APPLICATION_FIELD\' | translate }} / {{ \'APPLICATION_METRIC\' | translate }}</th>\n                                                                                   <th>{{ \'APPLICATION_ALIAS\' | translate }}</th>\n                                                                                      <th>{{ \'APPLICATION_FUNCTION\' | translate }}</th>\n                                                                                   <th>{{ \'APPLICATION_GROUP_BY\' | translate }}</th>\n                                                                                   <th>{{ \'APPLICATION_ORDER_BY\' | translate }}</th>\n                                                                                   <th></th>\n                                                                                     <th></th>\n                                                                             </tr>\n                                                                 </thead>\n                                                                              <tbody ui-sortable="sortableOptions" data-ng-model="report.Fields">\n                                                                                   <tr data-ng-repeat="field in report.Fields">\n                                                                                          <td>\n                                                                                                  <!-- START FIELD -->\n                                                                                                  <div class="form-group" data-ng-class="{\'has-error\': forms.report.$submitted && !field.field}">\n                                                                                                             <!-- <label class="control-label">{{\'APPLICATION_FIELD\' | translate}}<span class="required" aria-required="true">*</span></label> -->\n                                                                                                               <ui-select data-ng-model="field.field" dynamic-name="randomName()" theme="bootstrap" required>\n                                                                                                                        <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}"><span ng-bind-html="$select.selected.name"></span></ui-select-match>\n                                                                                                                     <ui-select-choices repeat="tableField.value as tableField in tableFields | filter: $select.search">\n                                                                                                                           <div ng-bind-html="tableField.name | highlight: $select.search"></div>\n                                                                                                                        </ui-select-choices>\n                                                                                                          </ui-select>\n                                                                                                          <span data-ng-show="forms.report.$submitted && !field.field" class="help-block help-block-error">\n                                                                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                                         </span>\n                                                                                                       </div>\n                                                                                                        <!-- END FIELD-->\n                                                                                             </td>\n                                                                                         <td>\n                                                                                                  <!-- START ALIAS -->\n                                                                                                  <div class="form-group" data-ng-class="{\'has-error\': forms.report.$submitted && !field.alias}">\n                                                                                                             <!-- <label class="control-label">{{\'APPLICATION_ALIAS\' | translate}}<span class="required" aria-required="true">*</span></label> -->\n                                                                                                               <input type="text" dynamic-name="randomName()" placeholder="{{\'APPLICATION_ALIAS\' | translate}}" class="form-control" data-ng-model="field.alias" required/>\n                                                                                                                <span data-ng-show="forms.report.$submitted && !field.alias" class="help-block help-block-error">\n                                                                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                                         </span>\n                                                                                                       </div>\n                                                                                                        <!-- END ALIAS -->\n                                                                                            </td>\n                                                                                         <td>\n                                                                                                  <!-- START FUNCTION -->\n                                                                                                       <div class="form-group">\n                                                                                                              <!-- <label class="control-label">{{\'APPLICATION_FIELD\' | translate}}<span class="required" aria-required="true">*</span></label> -->\n                                                                                                               <ui-select data-ng-model="field.function" name="function" theme="bootstrap">\n                                                                                                                  <ui-select-match placeholder="{{\'APPLICATION_FUNCTION\' | translate}}" allow-clear>{{$select.selected.name}}</ui-select-match>\n                                                                                                                       <ui-select-choices repeat="function.value as function in functions | filter: $select.search">\n                                                                                                                         <div ng-bind-html="function.name | highlight: $select.search"></div>\n                                                                                                                  </ui-select-choices>\n                                                                                                          </ui-select>\n                                                                                                  </div>\n                                                                                                        <!-- END FUNCTION-->\n                                                                                          </td>\n                                                                                         <td>\n                                                                                                  <!-- START GROUP_BY -->\n                                                                                                       <div class="form-group">\n                                                                                                              <!-- <label class="control-label">{{\'APPLICATION_FIELD\' | translate}}<span class="required" aria-required="true">*</span></label> -->\n                                                                                                               <ui-select data-ng-model="field.groupBy" name="groupBy" theme="bootstrap" required>\n                                                                                                                   <ui-select-match placeholder="{{\'APPLICATION_GROUP_BY\' | translate}}">{{$select.selected.name | translate}}</ui-select-match>\n                                                                                                                       <ui-select-choices repeat="groupBy.value as groupBy in groupByField | filter: $select.search">\n                                                                                                                                {{$translate.instant(groupBy.name)}}\n                                                                                                                  </ui-select-choices>\n                                                                                                          </ui-select>\n                                                                                                  </div>\n                                                                                                        <!-- END GROUP_BY-->\n                                                                                          </td>\n                                                                                         <td>\n                                                                                                  <!-- START ORDER_BY -->\n                                                                                                       <div class="form-group">\n                                                                                                              <!-- <label class="control-label">{{\'APPLICATION_FIELD\' | translate}}<span class="required" aria-required="true">*</span></label> -->\n                                                                                                               <ui-select data-ng-model="field.orderBy" name="orderBy" theme="bootstrap">\n                                                                                                                    <ui-select-match placeholder="{{\'APPLICATION_ORDER_BY\' | translate}}" allow-clear>{{$select.selected}}</ui-select-match>\n                                                                                                                    <ui-select-choices repeat="orderBy in [\'ASC\',\'DESC\'] | filter: $select.search">\n                                                                                                                           <div ng-bind-html="orderBy | highlight: $select.search"></div>\n                                                                                                                        </ui-select-choices>\n                                                                                                          </ui-select>\n                                                                                                  </div>\n                                                                                                        <!-- END TABLE INPUT-->\n                                                                                               </td>\n                                                                                         <td class="report-field-remove">\n                                                                                                      <button class="btn red" type="button" data-ng-click="removeField($index)"><i class="fa fa-times"></i></button>\n                                                                                                </td>\n                                                                                         <td class="report-field-handle">\n                                                                                                      <!-- <img data-ng-src="assets/images/move.png" class="img-responsive"> -->\n                                                                                            </td>\n                                                                                 </tr>\n                                                                                 <tr data-ng-hide="report.Fields.length" class="unsortable">\n                                                                                           <td colspan="7" style="text-align:center;">\n                                                                                                   <i>{{ \'MESSAGE_ADD_A_FIELD\' | translate }}</i>\n                                                                                              </td>\n                                                                                 </tr>\n                                                                         </tbody>\n                                                              </table>\n                                                              <button type="button" class="btn btn-sm green padding-bottom" ng-click="addField()">\n                                                                  <i class="fa fa-plus"></i> {{\'APPLICATION_ADD_FIELD\' | translate}}\n                                                          </button>\n                                                             <!-- END TABLE -->\n                                                    </div>\n                                                                <div data-ng-if="report.Fields.length" class="mbottom20 pbottom20">\n                                                                   <div class="portlet-title tabbable-line">\n                                                                             <div class="caption caption-md">\n                                                                                      <i class="icon-globe theme-font hide"></i>\n                                                                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_CONDITIONS\' | translate}} </span>\n                                                                            </div>\n                                                                        </div>\n                                                                        <div class="alert alert-info">\n                                                                                        <strong>Output</strong><br>\n                                                                                   <span ng-bind-html="output"></span>\n                                                                   </div>\n\n                                                                      <report-builder group="report.conditions.group" fields="report.Fields" forms="forms" firstCall=\'true\'></report-builder>\n                                                             </div>\n                                                                <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                                          </form>\n                                                               <!-- <pre>\n                                                                    {{report | json}}\n                                                             </pre> -->\n\n                                  </div>\n                                        <div class="tab-pane" id="tab_1_3">\n                                           <div data-ng-if="showPreview" ui-grid="gridOptions" ui-grid-move-columns class="grid"></div>\n                                  </div>\n                                </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/analytic/report/wizard/wizard.html",'<div class="col-md-12" data-ng-init="initWizard()">\n  <!-- BEGIN PAGE HEADER-->\n   <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-link"></i>\n                             <a href="/analytics/reports/list">{{ \'APPLICATION_REPORTS\' | translate }}</a>\n                               <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="#">{{ \'APPLICATION_NEW_REPORT\' | translate }}</a>\n                  </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-link font-green-sharp"></i>\n                    <span class="caption-subject">{{ \'APPLICATION_NEW_REPORT\' | translate }}</a> </span>\n                </div>\n        </div>\n        <div class="portlet-body">\n                    <form name="forms.general" data-ng-submit="forms.general.$valid && createItem()" novalidate>\n                  </form>\n       </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),
-a.put("app/automation/list/list.html",'<div class="row">\n     <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-bulb"></i>\n                                             <a href="#">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a>\n                                 </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-bulb font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a> </span>\n                               </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="Automations.checked.length">\n                                             <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_AUTOMATION\' | translate }} <i class="fa fa-angle-down"></i>\n                                           </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/automations/wizard">\n                                                                <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getAutomations([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="automations.csv">\n                                       <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedAutomations" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                     <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="6">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.AutomationsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                           <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="AutomationByPage in AutomationsByPage | filter: $select.search">\n                                                                                                   <div ng-bind-html="AutomationByPage.name | highlight: $select.search"></div>\n                                                                                          </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <!-- <th st-sort="id" width="5%" st-sort-default="reverse">{{ \'APPLICATION_ID\' | translate }}</th> -->\n                                                              <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(Automation, checked)" checklist-model checklist-value="id"></th>\n                                               <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                          <th st-sort="channel">{{ \'APPLICATION_CHANNEL\' | translate }}</th>\n                                                          <th>{{ \'APPLICATION_STATUS\' | translate }}</th>\n                                                             <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="Automation in displayedAutomations">\n                                                          <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="Automations.checked" checklist-value="Automation.id"></td>\n                                           <td>{{Automation.name}}</td>\n                                                            <td>{{Automation.description}}</td>\n                                                           <td>{{Automation.channel | capitalize}}</td>\n                                                          <td>\n                                                                  <input\n                                                                                data-ng-change="updateItem(Automation.id, Automation.status)",\n                                                                    bs-switch\n                                                             ng-model="Automation.status"\n                                                                  type="checkbox"\n                                                               switch-active="{{ isActive }}"\n                                                                switch-on-text="{{ onText }}"\n                                                                 switch-off-text="{{ offText }}"\n                                                               switch-on-color="{{ onColor }}"\n                                                               switch-off-color="{{ offColor }}"\n                                                             switch-animate="{{ animate }}"\n                                                                switch-size="{{ size }}"\n                                                              switch-label="{{ label }}"\n                                                                    switch-icon="{{ icon }}"\n                                                              switch-radio-off="{{ radioOff }}"\n                                                             switch-label-width="{{ labelWidth }}"\n                                                                 switch-handle-width="{{ handleWidth }}">\n                                                          </td>\n                                       <td>\n                                                                    <a class="btn default btn-xs blue-stripe" data-ng-href="/automations/view/{{Automation.id}}/settings">\n                                                                                {{ \'APPLICATION_EDIT\' | translate }}\n                                                </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(Automation.name, Automation.id)">\n                                                                          {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedAutomations.length">\n                                                               <td colspan="6" class="text-center">\n                                                                  <i>No available automations</i>\n                                                               </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_USERNAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                    </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="channel" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_CHANNEL\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                                </td>\n                                                         <td/>\n                                                         <td/>\n                                           </tr>\n                                           <tr>\n                                            <td colspan="6" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.AutomationsByPage.value" st-displayed-pages="7"></div>\n                                         </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/automation/view/view.html",'<!-- BEGIN PAGE HEADER-->\n<div class="row" data-ng-init="initView()">\n    <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-settings"></i>\n                                 <a href="/automations/list">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a>\n                                 <i class="fa fa-angle-right" data-ng-show="automation"></i>\n                           </li>\n                         <li data-ng-show="automation">\n                                        <a href="#">{{ automation.description || automation.name }}</a>\n                               </li>\n                 </ul>\n         </div>\n\n<!-- END PAGE HEADER-->\n\n<!-- BEGIN PAGE CONTENT-->\n               <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/automation.png" class="img-responsive">\n                         </div>\n                                <!-- END SIDEBAR USERPIC -->\n\n                                <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{ automation.name }}\n                                 </div>\n                                        <div class="profile-usertitle-job">\n                                           {{ automation.description }}\n                                  </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.automations.view.settings\')}">\n                                                  <a href="/automations/view/{{automation.id}}/settings">\n                                                       <i class="icon-bulb"></i>\n                                                     {{ \'APPLICATION_SETTINGS\' | translate }} </a>\n                                               </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/automation/view/view.settings.html",'<div class="row">\n        <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n                                </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{\'APPLICATION_GENERALS\' | translate}}</a>\n                                     </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_2" data-toggle="tab">{{\'APPLICATION_CONDITIONS\' | translate}} & {{\'APPLICATION_ACTIONS\' | translate}}</a>\n                                 </li>\n                         </ul>\n                 </div>\n                        <div class="portlet-body">\n                            <!-- <pre>\n                                    {{conditionsData.query | json}}\n                               </pre>\n                                <pre>\n                                 {{actionsData.query | json}}\n                          </pre> -->\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateAutomation()" novalidate>\n                                                    <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="automation.name" required/>\n                                                             <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid && forms.general.name.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="automation.description"/>\n                                                 </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END GENERAL TAB -->\n                                      <div class="tab-pane" id="tab_1_2">\n                                   <div class="portlet light bordered">\n                                          <div class="portlet-title">\n                                                   <div class="caption font-blue-hoki">\n                                                          <i class="icon-tag font-blue-hoki"></i>\n                                                               <span class="caption-subject">{{ \'APPLICATION_CONDITIONS\' | translate }}</a> </span>\n                                                        </div>\n                                                </div>\n                                                <div class="portlet-body">\n                                                    <query-builder group="conditionsFilter.group" fields="fields.conditions" operators="$automations.operators" properties="properties[automation.channel]"></query-builder>\n                                              </div>\n                                        </div>\n                                        <div class="portlet light bordered">\n                                          <div class="portlet-title">\n                                                   <div class="caption font-blue-hoki">\n                                                          <i class="icon-tag font-blue-hoki"></i>\n                                                               <span class="caption-subject">{{ \'APPLICATION_ACTIONS\' | translate }}</a> </span>\n                                                   </div>\n                                                </div>\n                                                <div class="portlet-body">\n                                                    <query-builder group="actionsFilter.group" fields="fields.actions" properties="properties[automation.channel]"></query-builder>\n                                               </div>\n                                        </div>\n\n                                              <input class="btn green-haze" type="button" value="{{\'APPLICATION_UPDATE\' | translate}}" data-ng-click="updateAutomation()"/>\n                                       </div>\n                                </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/automation/wizard/wizard.html",'<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN PAGE HEADER-->\n             <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-settings"></i>\n                                 <a href="/automations/list">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a>\n                         </li>\n                 </ul>\n         </div>\n                <!-- END PAGE HEADER-->\n\n             <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-bulb font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_AUTOMATIONS\' | translate }} WIZARD</a> </span>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n                                     <!-- <pre>\n                                            {{item | json}}\n                                       </pre>\n                                        <pre>\n                                         {{conditionsData.query | json}}\n                                       </pre>\n                                        <pre>\n                                         {{actionsData.query | json}}\n                                  </pre> -->\n                                    <wz-step title="{{\'APPLICATION_GENERAL\' | translate}}" canexit="exitValidation(forms.general.$valid)">\n                                              <form name="forms.general" data-ng-submit="submit()" novalidate>\n                                                      <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.general.name.$touched && forms.general.name.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                           <span data-ng-show="forms.general.name.$touched && forms.general.name.$invalid && forms.general.name.$error.required" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"/>\n                                                       </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                                            </form>\n                                       </wz-step>\n            <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(conditionsData.query.length && actionsData.query.length)">\n                                          <div class="portlet light bordered">\n                                                  <div class="portlet-title">\n                                                           <div class="caption font-blue-hoki">\n                                                                  <i class="icon-tag font-blue-hoki"></i>\n                                                                       <span class="caption-subject">{{ \'APPLICATION_CHANNEL\' | translate }}</a> </span>\n                                                           </div>\n                                                        </div>\n                                                        <div class="portlet-body">\n                                                            <div class="form-group"  >\n                                                                    <label class="control-label">{{ \'APPLICATION_CHANNEL\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                                    <ui-select data-ng-model="item.channel" name="channel" theme="bootstrap" required>\n                                                                            <ui-select-match placeholder="{{ \'APPLICATION_CHANNEL\' | translate }}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                          <ui-select-choices repeat="channel in $automations.channels | filter: $select.search">\n                                                                                        <div ng-bind-html="channel | highlight: $select.search | capitalize"></div>\n                                                                           </ui-select-choices>\n                                                                  </ui-select>\n                                                          </div>\n                                                        </div>\n                                                </div>\n                                                <div class="portlet light bordered">\n                                                  <div class="portlet-title">\n                                                           <div class="caption font-blue-hoki">\n                                                                  <i class="icon-tag font-blue-hoki"></i>\n                                                                       <span class="caption-subject">{{ \'APPLICATION_CONDITIONS\' | translate }}</a> </span>\n                                                                </div>\n                                                        </div>\n                                                        <div class="portlet-body">\n                                                            <query-builder group="conditionsFilter.group" fields="fields.conditions" operators="$automations.operators" properties="properties[item.channel]"></query-builder>\n                                                    </div>\n                                                </div>\n                                                <div class="portlet light bordered">\n                                                  <div class="portlet-title">\n                                                           <div class="caption font-blue-hoki">\n                                                                  <i class="icon-tag font-blue-hoki"></i>\n                                                                       <span class="caption-subject">{{ \'APPLICATION_ACTIONS\' | translate }}</a> </span>\n                                                           </div>\n                                                        </div>\n                                                        <div class="portlet-body">\n                                                            <query-builder group="actionsFilter.group" fields="fields.actions" properties="properties[item.channel]"></query-builder>\n                                                     </div>\n                                                </div>\n                                                <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                             <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                                    </wz-step>\n                                    <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                             <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                            <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                             <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                 </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/preview/preview.html",'<style>\n  .xc_footer\n  {\n        text-align: center;\n   padding-bottom: 5px;\n  }\n\n  .xc_powered\n  {\n       color: grey;\n    font: 10px/16px "Lucida Grande","Lucida Sans Unicode",Arial,Verdana,sans-serif;\n     padding-bottom: 5px;\n  }\n\n  .xc_chat_container\n  {\n        //width:379px;\n        //position:fixed;\n     //bottom:0;\n   //right:50px;\n         z-index:9999;\n         background-color:transparent;\n  }\n\n  .xc_chat_container *\n  {\n     font-family:Arial,Helvetica,sans-serif;\n       font-size:13px;\n       margin:0;\n     padding:0;\n  }\n\n  .xc_chat_container p\n  {\n        margin:5px 0;\n  }\n\n  .xc_signup_wrapper\n  {\n       max-height:375px;\n  }\n\n  .xc_conversation_container\n  {\n   max-height:375px;\n     list-style:none;\n      overflow:auto;\n        margin:0;\n     padding:20px 10px;\n  }\n\n  .xc_conversation_container a\n  {\n        color:#036;\n  }\n\n  .xc_conversation_container a.xc_btn_style\n  {\n          color:#fff;\n  }\n\n  div.xc_chat_head\n  {\n   color:#fff;\n   background:{{chatWebsite.color}};\n     //border-radius: 20px 20px 0px 0px !important;\n        height:52px;\n          line-height:55px;\n     cursor:pointer;\n  }\n\n  div.xc_chat_head.rounded\n  {\n       border-radius: 20px 20px 0px 0px !important;\n  }\n\n  div.xc_chat_head.squared\n  {\n          //border-radius: 20px 20px 0px 0px !important;\n  }\n\n  .xc_chat_head-title\n  {\n     margin:5px 0 0 15px;\n          color: #fff;\n  }\n\n  .xc_header_icon\n  {\n   display:block;\n        background-image:url({{chatWebsite.remote}}/api/xchatty/assets?resource=images/icon_visitorchat.png);\n         width:21px;\n   height:16px;\n          float:right;\n          margin:20px 20px 0 0;\n  }\n\n  .xc_header_icon span.xc_notification_badge span\n  {\n          display:block;\n        height:16px;\n          width:15px;\n   text-align:center;\n    font-size:9px;\n        color:#555;\n   position:relative;\n    top:-20px;\n    left:4px;\n     margin:0;\n     padding:0;\n  }\n\n  .xc_sub-head-spacer\n  {\n         padding:1px;\n  }\n\n  .xc_conversation\n  {\n          display:none;\n         margin:0 12px 0 11px;\n  }\n\n  .xc_chat_toggle_container\n  {\n        /*background:mediumslateblue center -52px;*/\n          background: white;\n    border-style: solid;\n    border-width: 1px;\n          border-color: {{chatWebsite.color}};\n          //display:none;\n  }\n\n  .xc_signup_wrapper,.xc_notifications_wrapper,.xc_enquiry_wrapper\n  {\n       //display:none;\n    display:block;\n   overflow:auto;\n        line-height:1;\n        padding:25px;\n  }\n\n  .xc_exit_chat_container\n  {\n          text-align:right;\n     width:95%;\n    margin:0 auto;\n        padding:5px 1px 0 0;\n  }\n\n  .xc_exit_chat_container span,.xc_exit_chat_container a\n  {\n    font-size:80%;\n        color:#666;\n   text-decoration:none;\n  }\n\n  .xc_exit_chat_container a:hover\n  {\n          color:#333;\n  }\n\n  a.xc_btn_exit_chat_confirm:hover\n  {\n   color:red;\n  }\n\n  a.xc_btn_exit_chat_cancel:hover\n  {\n     color:#0c0;\n  }\n\n  form.xc_form_reply\n  {\n         position:relative;\n  }\n\n  .xc_form_reply\n  {\n      /*background-color:#e3e3e3;*/\n         text-align:center;\n    /*border-top:1px solid #d3d3d3;*/\n  }\n\n  .xc_input_message\n  {\n    height:100px;\n         margin:10px auto 5px;\n  }\n\n  .xc_input_enquiry_message\n  {\n        height:100px;\n  }\n\n  .xc_form_signup,.xc_form_enquiry\n  {\n         text-align:center;\n  }\n\n  .xc_chat_container textarea,.xc_chat_container input[type=text]\n  {\n     width:95%;\n    min-width:95%;\n        max-width:95%;\n        -webkit-box-sizing:border-box;\n        -moz-box-sizing:border-box;\n   box-sizing:border-box;\n        background-color:#fff;\n        border:1px solid #ccc;\n        -webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);\n         -moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);\n    box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);\n         -webkit-transition:border linear .2s, box-shadow linear .2s;\n          -moz-transition:border linear .2s, box-shadow linear .2s;\n     -o-transition:border linear .2s, box-shadow linear .2s;\n       transition:border linear .2s, box-shadow linear .2s;\n          display:inline-block;\n         font-size:14px;\n       line-height:20px;\n     color:#555;\n   -webkit-border-radius:4px;\n    -moz-border-radius:4px;\n       border-radius:4px;\n    vertical-align:middle;\n        margin:3px 0;\n         padding:4px 6px;\n      resize: none;\n  }\n\n  .xc_chat_container textarea:focus,.xc_chat_container input[type=text]:focus\n  {\n      outline: {{chatWebsite.color_focus}} auto 5px;\n  }\n\n  .xc_chat_container input[type=text]\n  {\n     height: 30px;\n  }\n\n  .xc_message_sending textarea, .xc_enquiry_sending textarea\n  {\n       background: #fff url({{chatWebsite.remote}}/api/xchatty/assets?resource=images/loading.gif) 98% 5px no-repeat;\n  }\n\n  .xc_chatrow\n  {\n     display:block;\n        border-top:1px dashed #e3e3e3;\n        margin:5px 0;\n         clear: both;\n  }\n\n  .xc_chatrow p\n  {\n     color:#444;\n   word-wrap:break-word;\n  }\n\n  .xc_time\n  {\n         float:right;\n          font-size:80%;\n        color:#ccc;\n   padding-left:12px;\n    margin:3px;\n  }\n\n  .xc_submission_pending\n  {\n     background:transparent url({{chatWebsite.remote}}/api/xchatty/assets?resource=images/bullet_clock.png) left center no-repeat;\n  }\n\n  .xc_submission_confirmed\n  {\n         background:transparent url({{chatWebsite.remote}}/api/xchatty/assets?resource=images/bullet_tick.png) left center no-repeat;\n  }\n\n  .xc_fullname\n  {\n      font-weight:700;\n  }\n\n  .xc_fullname:after\n  {\n    content:":";\n  }\n\n  .xc_avatar\n  {\n        float: left;\n          margin: 0 5px 5px 0;\n          display: inline-block;\n        width: 40px;\n          height: 40px;\n         border-radius: 5px;\n           -moz-border-radius: 5px;\n      -webkit-border-radius: 5px;\n  }\n\n  .xc_smilie\n  {\n         background-repeat:no-repeat;\n          display:inline-block;\n         width:18px;\n   height:18px;\n          text-indent:-9999px;\n          white-space:nowrap;\n  }\n\n  .xc_btn_load_more\n  {\n          width:100%!important;\n  }\n\n  .xc_notifications_wrapper\n  {\n        text-shadow:0 1px 0 rgba(255,255,255,0.5);\n  }\n\n  .xc_notification_success\n  {\n    color:#468847;\n  }\n\n  .xc_notification_error\n  {\n          color:#b94a48;\n  }\n\n  .xc_errorlist\n  {\n   margin:0 0 0 25px;\n    padding:0;\n  }\n\n  i.xc_btn_notifications_close\n  {\n        float:right;\n          font-weight:700;\n      font-size:20px;\n       color:#ccc;\n   cursor:pointer;\n       margin:-15px 0 0;\n     padding:0;\n  }\n\n  .xc_btn_style\n  {\n       width:95%;\n    text-align:center;\n    line-height:1.2;\n      font-size:90%;\n        -moz-box-shadow:inset 0 1px 0 0 {{chatWebsite.color_button}};\n         -webkit-box-shadow:inset 0 1px 0 0 {{chatWebsite.color_button}};\n      box-shadow:inset 0 1px 0 0 {{chatWebsite.color_button}};\n      background:0;\n         background-color:{{chatWebsite.color_button}};\n        -moz-border-radius:4px;\n       -webkit-border-radius:4px;\n    border-radius:4px;\n    border:1px solid {{chatWebsite.color_button}};\n        display:inline-block;\n         color:#fff;\n   font-weight:700;\n      text-decoration:none;\n         text-shadow:1px 1px 0 #000c17;\n        margin:0 auto 5px;\n    padding:2px 0;\n  }\n\n  .xc_btn_style:hover\n  {\n     background:0;\n         background-color:{{chatWebsite.color_button}};\n      color: #fff;\n            text-decoration: none;\n  }\n\n  .xc_btn_style:active\n  {\n    position:relative;\n    top:1px;\n  }\n\n  .xc_composing_container\n  {\n       display: none;\n    width: 95%;\n    margin: 0 auto;\n    background: transparent url({{chatWebsite.remote}}/api/xchatty/assets?resource=images/bullet_pencil.png) 6px center no-repeat;\n    padding-left: 19px;\n    font-style: italic;\n  }\n\n  @media only screen and (max-height: 620px) {\n     .xc_conversation_container\n    {\n             max-height:300px!important;\n   }\n  }\n\n  @media only screen and (max-height: 545px) {\n      .xc_conversation_container\n    {\n             max-height:200px!important;\n   }\n  }\n\n  @media only screen and (max-height: 445px) {\n      .xc_conversation_container\n    {\n             max-height:150px!important;\n   }\n  }\n\n  @media only screen and (max-width: 480px) {\n       .xc_chat_container\n    {\n             width:95%!important;\n                  right:auto!important;\n                 -webkit-border-top-left-radius:15px;\n                  -webkit-border-top-right-radius:15px;\n                 -moz-border-radius-topleft:15px;\n              -moz-border-radius-topright:15px;\n             border-top-left-radius:15px;\n                  border-top-right-radius:15px;\n                 box-shadow:0 0 5px rgba(0,0,0,.5);\n            -webkit-box-shadow:0 0 5px rgba(0,0,0,.5);\n            -moz-box-shadow:0 0 5px rgba(0,0,0,.5);\n       }\n\n   div.xc_chat_head\n      {\n             background-color:#036;\n                background-image:none;\n                line-height:25px;\n             height:auto;\n                  -webkit-border-top-left-radius:15px;\n                  -webkit-border-top-right-radius:15px;\n                 -moz-border-radius-topleft:15px;\n              -moz-border-radius-topright:15px;\n             border-top-left-radius:15px;\n                  border-top-right-radius:15px;\n                 padding:10px;\n         }\n\n   .xc_chat_toggle_container\n     {\n             background-color:#fff;\n                background-image:none;\n                border-color:#036;\n            border-style:solid;\n           border-width:0 1px;\n   }\n\n   .xc_header_icon\n       {\n             background-image:url({{chatWebsite.remote}}/api/xchatty/assets?resource=images/icon_visitorchat.png);\n                 margin:0;\n     }\n\n   .xc_header_icon span.xc_notification_badge span\n       {\n             top:-5px;\n             left:5px;\n     }\n\n   .xc_notification_success\n      {\n             background-color:#dff0d8;\n             border:1px solid #d6e9c6;\n     }\n\n   .xc_conversation_container\n    {\n             max-height:375px;\n             border-color:#036;\n    }\n\n   .xc_notification_error\n        {\n             background-color:#f2dede;\n             border:1px solid #eed3d7;\n     }\n\n   .xc_sub-head-spacer\n   {\n             display:none;\n                 padding:0;\n    }\n\n   .xc_chat_head-title,.xc_conversation\n          {\n             margin:0;\n     }\n  }\n</style>\n<div class="xc_chat_container">\n    <div class="xc_chat_head {{chatWebsite.header_shape}}">\n      <i class="xc_header_icon">\n        <span class="xc_notification_badge">\n          <span class="xc_notification_badge_number"></span>\n        </span>\n      </i>\n      <span class="xc_chat_head-title">{{statePreview.state == \'online\' ? chatWebsite.header_online : chatWebsite.header_offline}}</span>\n    </div>\n    <div class="xc_chat_toggle_container">\n        <div class="xc_sub-head-spacer"></div>\n        <div class="xc_notifications_wrapper">\n            <!--<i class="xc_btn_notifications_close">&times;</i>-->\n            <ul class="xc_errorlist"></ul>\n        </div>\n        <div class="xc_enquiry_wrapper" data-ng-show=\'statePreview.state == "offline"\'>\n            <form class="xc_form_enquiry" accept-charset="UTF-8">\n                <p ng-bind-html=\'chatWebsite.offline_message\'></p>\n                <input maxlength="45" type="text" name="data[Enquiry][fullname]" placeholder="{{chatWebsite.username_placeholder}}" class="xc_input_enquiry_fullname" />\n                <input maxlength="85" type="text" name="data[Enquiry][email]" placeholder="{{chatWebsite.email_placeholder}}" class="xc_input_enquiry_email" />\n                <textarea maxlength="1500" placeholder="{{chatWebsite.enquiry_message_placeholder}}" name="data[Enquiry][message]" class="xc_input_enquiry_message"></textarea>\n                <a href="#" class="xc_btn_enquiry xc_btn_style">{{chatWebsite.enquiry_button}}</a></form>\n        </div>\n        <div class="xc_signup_wrapper" data-ng-show=\'statePreview.state == "online"\'>\n            <form class="xc_form_signup" accept-charset="UTF-8">\n                <p ng-bind-html=\'chatWebsite.online_message\'></p>\n                <input maxlength="45" type="text" name="data[Discussion][fullname]" placeholder="{{chatWebsite.username_placeholder}}" class="xc_input_fullname" />\n                <input maxlength="85" type="text" name="data[Discussion][email]" placeholder="{{chatWebsite.email_placeholder}}" class="xc_input_email" />\n                <input type="hidden" class="xc_input_visitor_time" name="data[Discussion][visitor_time]" /><a href="#" class="xc_btn_signup xc_btn_style">{{chatWebsite.start_chat_button}}</a></form>\n        </div>\n        <!-- <div class="xc_conversation">\n            <div class="xc_conversation_container">\n                <p class="xc_message_intro" data-id="-10">{FirstMessageText}</p>\n            </div>\n            <div class="xc_composing_container"></div>\n            <form class="xc_form_reply" accept-charset="UTF-8">\n                <div class="xc_exit_chat_container"><a href="#" class="xc_btn_exit_chat">{ExitChatButtonText}</a>\n                    <div class="xc_exit_chat_confirmation_wrapper" style="display: none;"><span>{ExitChatQuestionText} </span><a href="#" class="xc_btn_exit_chat_confirm">{ExitChatButtonConfirmText}</a><span> | </span><a href="#" class="xc_btn_exit_chat_cancel">{ExitChatButtonCancelText}</a></div>\n                </div>\n                <textarea maxlength="750" placeholder="{MessagePlaceholderText}" name="data[Message][message]" class="xc_input_message"></textarea><a href="#" class="xc_btn_send xc_btn_style">{MessageSendButtonText}</a></form>\n        </div> -->\n        <div class="xc_footer">\n            <div class="xc_powered"><a>Powered by Xenialab | Trademark xCALLY</a></div>\n        </div>\n    </div>\n</div>\n'),a.put("app/chat/queue/list/list.html",'<div class="row">\n        <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-bubble"></i>\n                                           <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n                                                <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-layers"></i>\n                                           <a href="/chat/queues/list">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                                      </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_QUEUE\' | translate }}</a> </span>\n                             </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="chatQueues.checked.length">\n                                              <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_QUEUE\' | translate }} <i class="fa fa-angle-down"></i>\n                                                </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <!-- <li>\n                                                             <a href="#" data-ng-click="open()">\n                                                           <i class="icon-user"></i> {{ \'APPLICATION_QUICK\' | translate }} </a>\n                                                        </li> -->\n                                                     <li>\n                                                          <a href="/chat/queues/wizard">\n                                                                <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                                 <!-- <li>\n                                                             <a href="#">\n                                                          <i class="icon-users"></i> {{ \'APPLICATION_BULK\' | translate }} </a>\n                                                        </li> -->\n                                             </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getChatQueues([\'name\', \'description\', \'timeout\', \'strategy\'])" csv-header="[\'Username\', \'Description\', \'Timeout\', \'Strategy\']" field-separator=";" filename="chat_queues.csv">\n                                      <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedChatQueues" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                      <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="6">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.chatQueuesByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                            <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="chatQueueByPage in chatQueuesByPage | filter: $select.search">\n                                                                                                     <div ng-bind-html="chatQueueByPage.name | highlight: $select.search"></div>\n                                                                                           </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(queue, checked)" checklist-model checklist-value="id"></th>\n                                                    <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                          <th st-sort="strategy">{{ \'APPLICATION_STRATEGY\' | translate }}</th>\n                                                                <th st-sort="timeout">{{ \'APPLICATION_AGENT_TIMEOUT\' | translate }}</th>\n                                                            <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="chatQueue in displayedChatQueues" class="animate-repeat">\n                                                             <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="chatQueues.checked" checklist-value="chatQueue.id"></td>\n                                             <td>{{chatQueue.name}}</td>\n                                                             <td>{{chatQueue.description}}</td>\n                                                            <td>{{chatQueue.strategy | uppercase}}</td>\n                                                           <td>{{chatQueue.timeout}}</td>\n                                              <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/chat/queues/view/{{chatQueue.id}}/settings">\n                                                                         {{ \'APPLICATION_EDIT\' | translate }}\n                                                </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(chatQueue.name,chatQueue.id)">\n                                                                             {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedChatQueues.length">\n                                                                <td colspan="6" style="text-align:center;">\n                                                                   <i>No chat queues available</i>\n                                                               </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="strategy" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_STRATEGY\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td/>\n                                                             <td/>\n                                           </tr>\n                                           <tr>\n                                            <td colspan="6" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.chatQueuesByPage.value" st-displayed-pages="7"></div>\n                                          </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
-a.put("app/chat/queue/view/view.agents.html",'<div class="row" data-ng-init="getTeams()">\n    <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_AGENTS\' | translate}}</span>\n                          </div>\n                        </div>\n                        <div class="portlet-body" style="width: 50%; margin: 0 auto;">\n                                <!-- BEGIN FORM-->\n                            <form action="index.html" class="form-horizontal form-row-seperated">\n                                 <div class="form-body text-center">\n                                           <div class="form-group last">\n                                                 <div class="col-md-9" id="multi-select-team">\n                                                 </div>\n                                                </div>\n                                        </div>\n                                </form>\n                               <!-- END FORM-->\n                      </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/chat/queue/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getQueue()">\n     <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-bubble"></i>\n                                   <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n                                        <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-layers"></i>\n                                   <a href="/chat/queues/list">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                                      <i data-ng-show="queue" class="fa fa-angle-right"></i>\n                                </li>\n                         <li data-ng-show="queue">\n                                     <a href="#">{{queue.name}}</a>\n                                </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/queue.png" class="img-responsive">\n                              </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{queue.name}}\n                                        </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.chat.queues.view.settings\')}">\n                                                  <a data-ng-href="/chat/queues/view/{{queue.id}}/settings">\n                                                    <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                         <li data-ng-class="{active: $state.is(\'main.chat.queues.view.agents\')}">\n                                                    <a data-ng-href="/chat/queues/view/{{queue.id}}/agents">\n                                                      <i class="icon-users"></i>\n                                                    {{ \'APPLICATION_AGENTS\' | translate}} </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/queue/view/view.settings.html",'<div class="row">\n        <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateChatQueue()" novalidate>\n                                     <!-- START NAME -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="queue.name" required/>\n                                          <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid && forms.general.name.$error.required" class="help-block help-block-error">\n                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                         </span>\n                                       </div>\n                                        <!-- END NAME -->\n\n                                   <!-- START DESCRIPTION -->\n                                    <div class="form-group">\n                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="queue.description"/>\n                                      </div>\n                                        <!-- END DESCRIPTION -->\n\n                                    <!-- START TIMEOUT -->\n                                        <div class="form-group">\n                                              <label class="control-label">{{\'APPLICATION_AGENT\' | translate}} {{\'APPLICATION_TIMEOUT\' | translate}}</label>\n                                            <input type="number" name="timeout" placeholder="{{\'APPLICATION_TIMEOUT\' | translate}}" class="form-control" min="1" data-ng-model="queue.timeout"/>\n                                        </div>\n                                        <!-- END TIMEOUT -->\n\n                                        <!-- START HEADER SHAPE -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid}">\n                                            <label class="control-label">{{\'APPLICATION_STRATEGY\' | translate}}</label>\n                                         <!-- <input colorpicker type="text" name="animationToggle" placeholder="{{\'APPLICATION_BUTTON_COLOR\' | translate}}" class="form-control" data-ng-model="chatWebsite.animation" required/> -->\n                                               <ui-select data-ng-model="queue.strategy" name="strategy" theme="bootstrap">\n                                                  <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.toUpperCase()}}</ui-select-match>\n                                                     <ui-select-choices repeat="strategy in [\'rrmemory\',\'beepall\'] | filter: $select.search">\n                                                          <div ng-bind-html="strategy.toUpperCase() | highlight: $select.search"></div>\n                                                 </ui-select-choices>\n                                          </ui-select>\n                                  </div>\n                                        <!-- END HEADER SHAPE -->\n                                     <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                          </form>\n                       </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/chat/queue/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n    <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-envelope"></i>\n                         <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n        <i class="fa fa-angle-right"></i>\n                     </li>\n      <li>\n                             <i class="icon-layers"></i>\n                           <a href="/chat/queues/list">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                      </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-layers font-green-sharp"></i>\n                          <span class="caption-subject">{{ \'APPLICATION_QUEUES\' | translate }} WIZARD</a> </span>\n             </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.info.$valid)">\n                                        <form name="forms.general" data-ng-submit="forms.general.$valid && createItem()" novalidate>\n                                          <!-- START NAME -->\n                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                    <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                   <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid && forms.general.name.$error.required" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END NAME -->\n\n                                           <!-- START DESCRIPTION -->\n                                            <div class="form-group">\n                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                      <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"/>\n                                               </div>\n                                                <!-- END DESCRIPTION -->\n\n                                            <!-- START TIMEOUT -->\n                                                <div class="form-group" data-ng-class="{\'has-error\': (forms.general.timeout.$touched || forms.general.$submitted) && forms.general.timeout.$invalid}">\n                                                      <label class="control-label">{{\'APPLICATION_AGENT_TIMEOUT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                        <input type="number" name="timeout" placeholder="Timeout" class="form-control" data-ng-model="item.timeout" required/>\n              <span data-ng-show="(forms.general.timeout.$touched || forms.general.$submitted) && forms.general.timeout.$invalid && forms.general.timeout.$error.required" class="help-block help-block-error">\n                                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n            </div>\n                                           <!-- END TIMEOUT -->\n\n                                                <!-- START HEADER SHAPE -->\n                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid}">\n                                                    <label class="control-label">{{\'APPLICATION_STRATEGY\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                     <ui-select data-ng-model="item.strategy" name="strategy" theme="bootstrap" required>\n                                                          <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.toUpperCase()}}</ui-select-match>\n                                                             <ui-select-choices repeat="strategy in [\'rrmemory\',\'beepall\'] | filter: $select.search">\n                                                                  <div ng-bind-html="strategy.toUpperCase() | highlight: $select.search"></div>\n                                                         </ui-select-choices>\n                                                  </ui-select>\n              <span data-ng-show="(forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid && forms.general.strategy.$error.required" class="help-block help-block-error">\n                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n              </span>\n                                                </div>\n                                                <!-- END HEADER SHAPE -->\n                                             <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CREATE\' | translate}}"/>\n                                  </form>\n                         </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/chat/realtime/view/agent/queue/queue.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initAgents()">\n  <div class="col-md-12">\n               <!-- START TABLE -->\n          <div id="grid1" ui-grid="gridOptions" ui-grid-tree-view class="grid"></div>\n           <!-- END TABLE -->\n    </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/realtime/view/agent/timeline/timeline.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initAgents()">\n   <div class="col-md-12">\n               <!-- START TABLE -->\n          <div id="grid1" ui-grid="gridOptions" class="grid"></div>\n             <!-- START TABLE -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/realtime/view/session/session.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initChats()">\n    <div class="col-md-12">\n               <!-- START TABLE -->\n          <table st-table="displayedChats" st-safe-src="sessions" class="table table-striped table-bordered table-hover">\n                       <div class="table-responsive">\n                          <thead>\n                                     <tr>\n                                          <th colspan="12">\n                                                     <div class="row">\n                                                             <div class="col-md-6">\n                                                                        <ui-select class="input-xsmall" ng-model="conf.sessionsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                              <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                             <ui-select-choices repeat="sessionByPage in sessionsByPage | filter: $select.search">\n                                                                                 <div ng-bind-html="sessionByPage.name | highlight: $select.search"></div>\n                                                                             </ui-select-choices>\n                                                                  </ui-select>\n                                                          </div>\n                                                                <div class="col-md-6">\n                                                                        <div class="input-group input-medium pull-right">\n                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                         <span class="input-group-addon">\n                                                                                      <i class="fa fa-search"></i>\n                                                                          </span>\n                                                                       </div>\n                                                                </div>\n                                                        </div>\n                                                </th>\n                                 </tr>\n                           <tr>\n                                                <th></th>\n                                             <th st-sort="uniqueid" reverse class="input-small">{{ \'APPLICATION_UNIQUEID\' | translate }}</th>\n                                <th st-sort="queue" class="input-medium">{{ \'APPLICATION_QUEUE\' | translate }}</th>\n                                 <th st-sort="membername" class="input-medium">{{ \'APPLICATION_AGENT\' | translate }}</th>\n                                                <th st-sort="visitorname" class="input-medium">{{ \'APPLICATION_VISITOR\' | translate }}</th>\n                                         <th st-sort="websitename" class="input-small">{{ \'APPLICATION_WEB_SITE\' | translate }}</th>\n                                         <th st-sort="sessioncalledAt" st-sort-default="reverse">{{ \'APPLICATION_JOIN_AT\' | translate }}</th>\n                                                <th st-sort="sessionconnectAt">{{ \'APPLICATION_LEAVE_AT\' | translate }}</th>\n                                                <th st-sort="sessionringnoanswerAt">{{ \'APPLICATION_UNMANAGED_AT\' | translate }}</th>\n                                 </tr>\n                         </thead>\n                      <tbody>\n                         <tr data-ng-repeat="session in displayedChats">\n                                           <td>\n                                                  <span>\n                                                                <i data-ng-class="{\'icon-user font-yellow\': session.mailjoinAt && !session.mailleaveAt,\n                                                             \'icon-user-following font-green\': session.fullname,\n                                                         \'icon-user-unfollow font-red\': session.mailunmanagedAt}"></i>\n                                                       </span>\n                                               </td>\n                                         <td>{{session.uniqueid}}</td>\n                                         <td>{{session.chatqueuename}}</td>\n                                            <td>{{session.fullname}}</td>\n                                         <td>{{session.visitorname + \' [\' + session.visitoremail + \']\'}}</td>\n                                              <td>{{session.websitename}}</td>\n                                              <td>\n                                                  <time is="relative-time" datetime="{{session.chatjoinAt}}">\n                                                           April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{session.chatleaveAt}}" data-ng-show="session.chatleaveAt">\n                                                               April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{session.chatunmanagedAt}}" data-ng-show="session.chatunmanagedAt">\n                                                               April 1, 2014\n                                                 </time>\n                                               </td>\n                     </tr>\n                                     <tr data-ng-hide="displayedChats.length">\n                                             <td colspan="11" style="text-align:center;">\n                                                  <i>No sessions available</i>\n                                          </td>\n                                 </tr>\n                   </tbody>\n                      <tfoot>\n                                     <tr>\n                                          <td/>\n                                         <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="uniqueid" data-ng-model="filters.uniqueid" placeholder="{{ \'APPLICATION_UNIQUEID\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                 </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="queue" placeholder="{{ \'APPLICATION_QUEUE\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                        </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="membername" placeholder="{{ \'APPLICATION_AGENT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                   </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="visitorname" placeholder="{{ \'APPLICATION_VISITOR\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                        </div>\n                                    </td>\n                                             <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="websitename" placeholder="{{ \'APPLICATION_WEB_SITE\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                       </div>\n                                    </td>\n                                             <td colspan="7"></td>\n                           </tr>\n                           <tr>\n                            <td colspan="12" class="text-center">\n                                                   <div class="pagination" st-pagination st-items-by-page="conf.sessionsByPage.value" st-displayed-pages="7"></div>\n                            </td>\n                       </tr>\n                       </tfoot>\n                    </div>\n                </table>\n              <!-- END TABLE -->\n    </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/realtime/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-energy"></i>\n                                   <a href="/chat/realtime/list">{{ \'APPLICATION_REALTIME\' | translate }}</a>\n                          </li>\n                 </ul>\n         </div>\n\n              <div>\n             <nav class="navbar navbar-default" role="navigation">\n                     <div class="navbar-header">\n                       <button type="button" class="navbar-toggle" ng-init="navCollapsed = true" ng-click="navCollapsed = !navCollapsed">\n                                <span class="sr-only">Toggle navigation</span>\n                                <span class="icon-bar"></span>\n                                <span class="icon-bar"></span>\n                                <span class="icon-bar"></span>\n                            </button>\n                     <!-- <a class="navbar-brand" ui-sref="home">Brand</a> -->\n                 </div>\n\n                      <!-- Collect the nav links, forms, and other content for toggling -->\n                 <div class="collapse navbar-collapse" ng-class="!navCollapsed && \'in\'">\n                         <ul class="nav navbar-nav">\n                               <li dropdown>\n                             <a href="#" dropdown-toggle>\n                                      {{ \'APPLICATION_AGENTS\' | translate }}\n                                      <b class=\'caret\'></b>\n                                   </a>\n                                  <tree tree=\'agents\'></tree>\n                             </li>\n                                                                         <li dropdown>\n                             <a href="#" dropdown-toggle>\n                                      {{ \'APPLICATION_SESSIONS\' | translate }}\n                                    <b class=\'caret\'></b>\n                                   </a>\n                                  <tree tree=\'sessions\'></tree>\n                           </li>\n                     </ul>\n                         <!-- <ul class="nav navbar-nav">\n                          <li dropdown>\n                             <a href="#" dropdown-toggle>\n                                      {{ \'APPLICATION_QUEUES\' | translate }}\n                                      <b class=\'caret\'></b>\n                                   </a>\n                                  <tree tree=\'queues\'></tree>\n                             </li>\n                     </ul> -->\n                 </div>\n                        <!-- /.navbar-collapse -->\n                </nav>\n            </div>\n                <div ui-view></div>\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/statistic/statistic.conversation.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="col-md-12">\n      <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered">\n          <div class="portlet-title">\n                   <div class="caption font-green-sharp">\n                                <i class="icon-notebook font-green-sharp"></i>\n                                <span class="caption-subject">{{ \'APPLICATION_CONVERSATIONS\' | translate }}</a> </span>\n                     </div>\n                        <div class="actions">\n                         <a class="btn btn-icon-only btn-default" href="#" ng-csv="displayedChatRooms" filename="rooms.csv">\n                           <i class="icon-cloud-download"></i></a>\n                               <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                     </div>\n                </div>\n                <div class="portlet-body">\n                    <!-- START TABLE -->\n                  <table st-table="displayedChatRooms" st-safe-src="chatRooms" class="table table-bordered table-hover">\n                                <div class="table-responsive">\n                                        <thead>\n                                               <tr>\n                                                  <th colspan="9">\n                                                              <div class="row">\n                                                                     <div class="col-md-6">\n                                                                                <select class="form-control input-small select2me" data-ng-model="conf.chatRoomsByPage">\n                                                                                      <option value="10">10</option>\n                                                                                        <option value="25">25</option>\n                                                                                        <option value="50">50</option>\n                                                                                        <option value="{{chatRooms.length}}">{{ \'APPLICATION_ALL\' | translate }}</option>\n                                                                           </select>\n                                                                     </div>\n                                                                        <div class="col-md-6">\n                                                                                <div class="input-group input-medium pull-right">\n                                                                                     <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search"/>\n                                                                                  <span class="input-group-addon">\n                                                                                              <i class="fa fa-search"></i>\n                                                                                  </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </th>\n                                         </tr>\n                                         <tr>\n                                                  <th st-sort="type">{{ \'APPLICATION_TYPE\' | translate }}</th>\n                                                        <th st-sort="users">{{ \'APPLICATION_USERS\' | translate }}</th>\n                                                      <th st-sort="visitor">{{ \'APPLICATION_VISITOR\' | translate }}</th>\n                                                  <th st-sort="status">{{ \'APPLICATION_STATUS\' | translate }}</th>\n                                                    <th st-sort="createdAt">{{ \'APPLICATION_TIME\' | translate }}</th>\n                                           </tr>\n                                 </thead>\n                                      <tbody>\n                                               <tr data-ng-repeat="chatRoom in displayedChatRooms" data-ng-click="$location.path(\'/chat/statistics/conversation/\' + chatRoom.id)">\n                                                 <td style="text-align: center;">{{chatRoom.type | uppercase}}</td>\n                                                    <td style="text-align: center;">{{getUsersFullname(chatRoom.Users)}}</td>\n                                                     <td style="text-align: center;">{{chatRoom.ChatVisitor.email}}</td>\n                                                   <td style="text-align: center;">\n                                                              <span class="label label-sm label-success" data-ng-class="{\'label-success\': chatRoom.status == \'close\', \'label-warning\': chatRoom.status == \'open\'}">\n                                                                 {{chatRoom.status | capitalize}}\n                                                              </span>\n                                                       </td>\n                                                 <td style="text-align: center;">\n                                                              <time is="relative-time" datetime="{{chatRoom.createdAt}}">\n                                                                   April 1, 2014\n                                                         </time>\n                                                       </td>\n                                         </tr>\n                                 </tbody>\n                                      <tfoot>\n                                               <tr>\n                                                  <td colspan="9" class="text-center">\n                                                          <div st-pagination class="pagination" st-items-by-page="conf.chatRoomsByPage" st-displayed-pages="7"></div>\n                                                   </td>\n                                         </tr>\n                                 </tfoot>\n                      </div>\n                        </table>\n                      <!-- END TABLE -->\n            </div>\n        </div>\n        <!-- END Portlet PORTLET-->\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/statistic/statistic.conversation.view.html",'<!-- BEGIN PAGE CONTENT-->\n<div data-ng-init="initRoomView()">\n        <div class="col-md-6">\n                <!-- BEGIN PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-book-open font-green-sharp"></i>\n                                       <span class="caption-subject">{{ \'APPLICATION_TRANSCRIPT\' | translate }}</a> </span>\n                                </div>\n                                <div class="actions">\n                                 <a class="btn btn-icon-only btn-default" href="#" ng-csv="chatRoom.ChatMessages" filename="chatMessages.csv">\n                                 <i class="icon-cloud-download"></i></a>\n                                       <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="scroller" style="height: 352px;" data-always-visible="1" data-rail-visible1="1">\n                                  <ul class="chats">\n                                            <li data-ng-class="{\'out\': chatMessage.visitorId, \'in\': chatMessage.userId}" data-ng-repeat="chatMessage in chatRoom.ChatMessages | orderBy:\'-createdAt\'">\n                                                      <img class="avatar" data-ng-src="api/users/{{chatMessage.userId ? chatMessage.userId : \'avatar\'}}/avatar"/>\n                                                 <div class="message">\n                                                         <span class="arrow">\n                                                          </span>\n                                                               <a href="#" class="name">\n                                                             {{chatMessage.fullname}} </a>\n                                                         <span class="datetime">\n                                                                       <time is="relative-time" datetime="{{chatMessage.createdAt}}">\n                                                                                April 1, 2014\n                                                                 </time>\n                                                               </span>\n                                                               <span class="body">\n                                                                   {{chatMessage.body}}\n                                                          </span>\n                                                       </div>\n                                                </li>\n                                 </ul>\n                         </div>\n                        </div>\n                <!-- END PORTLET-->\n           </div>\n        </div>\n        <div class="col-md-6">\n                <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-user font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_VISITOR\' | translate }}:</a> </span>\n                                  <span class="caption-helper">{{chatRoom.ChatVisitor.fullname}}</span>\n                         </div>\n                                <div class="actions">\n                                 <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.fullname">\n                                    <div class="col-md-4 name">\n                                           {{\'APPLICATION_FULLNAME\' | translate}}\n                                      </div>\n                                        <div class="col-md-8 value">\n                                          {{chatRoom.ChatVisitor.fullname}}\n                                     </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.email">\n                                       <div class="col-md-4 name">\n                                           {{\'APPLICATION_EMAIL\' | translate}}\n                                 </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.email}}\n                                        </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.remote_address">\n                                      <div class="col-md-4 name">\n                                           {{\'APPLICATION_REMOTE_ADDRESS\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.remote_address}}\n                                       </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.referer">\n                                     <div class="col-md-4 name">\n                                           {{\'APPLICATION_REFERER\' | translate}}\n                                       </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.referer}}\n                                      </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.browser">\n                                     <div class="col-md-4 name">\n                                           {{\'APPLICATION_BROWSER\' | translate}}\n                                       </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.browser}}\n                                      </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.engine">\n                                      <div class="col-md-4 name">\n                                           {{\'APPLICATION_ENGINE\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.engine}}\n                                       </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.os">\n                                  <div class="col-md-4 name">\n                                           {{\'APPLICATION_OS\' | translate}}\n                                    </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.os}}\n                                   </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.device">\n                                      <div class="col-md-4 name">\n                                           {{\'APPLICATION_DEVICE\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.device}}\n                                       </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.country">\n                                     <div class="col-md-4 name">\n                                           {{\'APPLICATION_COUNTRY\' | translate}}\n                                       </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.country}}\n                                      </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.region">\n                                      <div class="col-md-4 name">\n                                           {{\'APPLICATION_REGION\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.region}}\n                                       </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.city">\n                                        <div class="col-md-4 name">\n                                           {{\'APPLICATION_CITY\' | translate}}\n                                  </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.city}}\n                                 </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.latitude">\n                                    <div class="col-md-4 name">\n                                           {{\'APPLICATION_LATITUDE\' | translate}}\n                                      </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.latitude}}\n                                     </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.longitude">\n                                   <div class="col-md-4 name">\n                                           {{\'APPLICATION_LONGITUDE\' | translate}}\n                                     </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.longitude}}\n                                    </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.createdAt">\n                                   <div class="col-md-4 name">\n                                           {{\'APPLICATION_ARRIVAL_TIME\' | translate}}\n                                  </div>\n                                        <div class="col-md-4 value">\n                                          <time is="relative-time" datetime="{{chatRoom.ChatVisitor.createdAt}}">\n                                                       April 1, 2014\n                                         </time>\n                                       </div>\n                                </div>\n                        </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n           <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered" data-ng-repeat="user in chatRoom.Users">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-earphones-alt font-green-sharp"></i>\n                                   <span class="caption-subject">{{ \'APPLICATION_AGENT\' | translate }}:</a> </span>\n                                    <span class="caption-helper">{{user.fullname}}</span>\n                         </div>\n                                <div class="actions">\n                                 <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="row static-info">\n                                 <div class="col-md-4 name">\n                                           {{\'APPLICATION_FULLNAME\' | translate}}\n                                      </div>\n                                        <div class="col-md-4 value">\n                                          {{user.fullname}}\n                                     </div>\n                                </div>\n                                <div class="row static-info">\n                                 <div class="col-md-4 name">\n                                           {{\'APPLICATION_USERNAME\' | translate}}\n                                      </div>\n                                        <div class="col-md-4 value">\n                                          {{user.name}}\n                                 </div>\n                                </div>\n                                <div class="row static-info">\n                                 <div class="col-md-4 name">\n                                           {{\'APPLICATION_ROLE\' | translate}}\n                                  </div>\n                                        <div class="col-md-4 value">\n                                          {{user.role | uppercase}}\n                                     </div>\n                                </div>\n                        </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/statistic/statistic.enquiry.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="col-md-12">\n   <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered">\n          <div class="portlet-title">\n                   <div class="caption font-green-sharp">\n                                <i class="icon-question font-green-sharp"></i>\n                                <span class="caption-subject">{{ \'APPLICATION_ENQUIRIES\' | translate }}</a> </span>\n                 </div>\n                        <div class="actions">\n                         <a class="btn btn-icon-only btn-default" href="#" ng-csv="displayedChatEnquiries" filename="enquiries.csv">\n                           <i class="icon-cloud-download"></i></a>\n                               <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                     </div>\n                </div>\n                <div class="portlet-body">\n                    <!-- START TABLE -->\n                  <table st-table="displayedChatEnquiries" st-safe-src="chatEnquiries" class="table table-bordered table-hover">\n                                <div class="table-responsive">\n                                        <thead>\n                                               <tr>\n                                                  <th colspan="9">\n                                                              <div class="row">\n                                                                     <div class="col-md-6">\n                                                                                <select class="form-control input-small select2me" data-ng-model="conf.chatEnquiriesByPage">\n                                                                                  <option value="10">10</option>\n                                                                                        <option value="25">25</option>\n                                                                                        <option value="50">50</option>\n                                                                                        <option value="{{chatEnquiries.length}}">{{ \'APPLICATION_ALL\' | translate }}</option>\n                                                                               </select>\n                                                                     </div>\n                                                                        <div class="col-md-6">\n                                                                                <div class="input-group input-medium pull-right">\n                                                                                     <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search"/>\n                                                                                  <span class="input-group-addon">\n                                                                                              <i class="fa fa-search"></i>\n                                                                                  </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </th>\n                                         </tr>\n                                         <tr>\n                                                  <th st-sort="type">{{ \'APPLICATION_USERNAME\' | translate }}</th>\n                                                    <th st-sort="users">{{ \'APPLICATION_EMAIL\' | translate }}</th>\n                                                      <th st-sort="createdAt">{{ \'APPLICATION_TIME\' | translate }}</th>\n                                           </tr>\n                                 </thead>\n                                      <tbody>\n                                               <tr data-ng-repeat="chatEnquiry in displayedChatEnquiries" data-ng-click="$location.path(\'/chat/statistics/enquiry/\' + chatEnquiry.id)">\n                                                    <td style="text-align: center;">{{chatEnquiry.username}}</td>\n                                                 <td style="text-align: center;">{{chatEnquiry.email}}</td>\n                                                    <td style="text-align: center;">\n                                                              <time is="relative-time" datetime="{{chatEnquiry.createdAt}}">\n                                                                        April 1, 2014\n                                                         </time>\n                                                       </td>\n                                         </tr>\n                                 </tbody>\n                                      <tfoot>\n                                               <tr>\n                                                  <td colspan="9" class="text-center">\n                                                          <div st-pagination class="pagination" st-items-by-page="conf.chatEnquiriesByPage" st-displayed-pages="7"></div>\n                                                       </td>\n                                         </tr>\n                                 </tfoot>\n                      </div>\n                        </table>\n                      <!-- END TABLE -->\n            </div>\n        </div>\n        <!-- END Portlet PORTLET-->\n</div>\n<!-- END PAGE CONTENT-->\n'),
-a.put("app/chat/statistic/statistic.enquiry.view.html",'<!-- BEGIN PAGE CONTENT-->\n<div data-ng-init="initEnquiryView()">\n   <div class="col-md-6">\n                <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-book-open font-green-sharp"></i>\n                                       <span class="caption-subject">{{ \'APPLICATION_TEXT\' | translate }}</a> </span>\n                              </div>\n                                <div class="actions">\n                                 <a class="btn btn-icon-only btn-default" href="#" ng-csv="chatEnquiry" filename="chatEnquery.csv">\n                                    <i class="icon-cloud-download"></i></a>\n                                       <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- BEGIN PAGE CONTENT-->\n                            <div class="note note-warning">\n                                       <h4 class="block">{{chatEnquiry.ChatVisitor.fullname}} -\n                                              <time is="relative-time" datetime="{{chatEnquiry.createdAt}}">\n                                                        April 1, 2014\n                                         </time>\n                                       </h4>\n                                 <p>\n                                            {{chatEnquiry.text}}\n                                 </p>\n                          </div>\n                        </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n        <div class="col-md-6">\n                <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-user font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_VISITOR\' | translate }}:</a> </span>\n                                  <span class="caption-helper">{{chatEnquiry.ChatVisitor.fullname}}</span>\n                              </div>\n                                <div class="actions">\n                                 <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.fullname">\n                                 <div class="col-md-4 name">\n                                           {{\'APPLICATION_FULLNAME\' | translate}}\n                                      </div>\n                                        <div class="col-md-8 value">\n                                          {{chatEnquiry.ChatVisitor.fullname}}\n                                  </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.email">\n                                    <div class="col-md-4 name">\n                                           {{\'APPLICATION_EMAIL\' | translate}}\n                                 </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.email}}\n                                     </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.remote_address">\n                                   <div class="col-md-4 name">\n                                           {{\'APPLICATION_REMOTE_ADDRESS\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.remote_address}}\n                                    </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.referer">\n                                  <div class="col-md-4 name">\n                                           {{\'APPLICATION_REFERER\' | translate}}\n                                       </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.referer}}\n                                   </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.browser">\n                                  <div class="col-md-4 name">\n                                           {{\'APPLICATION_BROWSER\' | translate}}\n                                       </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.browser}}\n                                   </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.engine">\n                                   <div class="col-md-4 name">\n                                           {{\'APPLICATION_ENGINE\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.engine}}\n                                    </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.os">\n                                       <div class="col-md-4 name">\n                                           {{\'APPLICATION_OS\' | translate}}\n                                    </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.os}}\n                                        </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.device">\n                                   <div class="col-md-4 name">\n                                           {{\'APPLICATION_DEVICE\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.device}}\n                                    </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.country">\n                                  <div class="col-md-4 name">\n                                           {{\'APPLICATION_COUNTRY\' | translate}}\n                                       </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.country}}\n                                   </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.region">\n                                   <div class="col-md-4 name">\n                                           {{\'APPLICATION_REGION\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.region}}\n                                    </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.city">\n                                     <div class="col-md-4 name">\n                                           {{\'APPLICATION_CITY\' | translate}}\n                                  </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.city}}\n                                      </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.latitude">\n                                 <div class="col-md-4 name">\n                                           {{\'APPLICATION_LATITUDE\' | translate}}\n                                      </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.latitude}}\n                                  </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.longitude">\n                                        <div class="col-md-4 name">\n                                           {{\'APPLICATION_LONGITUDE\' | translate}}\n                                     </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.longitude}}\n                                 </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.createdAt">\n                                        <div class="col-md-4 name">\n                                           {{\'APPLICATION_ARRIVAL_TIME\' | translate}}\n                                  </div>\n                                        <div class="col-md-4 value">\n                                          <time is="relative-time" datetime="{{chatEnquiry.ChatVisitor.createdAt}}">\n                                                    April 1, 2014\n                                         </time>\n                                       </div>\n                                </div>\n                        </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/statistic/statistic.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initList()">\n       <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-bubble"></i>\n                                   <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n                                        <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-eyeglass"></i>\n                                 <a href="/chat/statistics">{{ \'APPLICATION_STATISTICS\' | translate }}</a>\n                           </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img src="assets/images/media/statistics.png" class="img-responsive">\n                         </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <!-- <div class="profile-usertitle">\n                                  <div class="profile-usertitle-name">\n                                          {{chatWebsite.name}}\n                                  </div>\n                                        <div class="profile-usertitle-job">\n                                           {{chatWebsite.address}}\n                                       </div>\n                                </div> -->\n                            <!-- END SIDEBAR USER TITLE -->\n                               <!-- SIDEBAR BUTTONS -->\n                              <!-- <div class="profile-userbuttons">\n                                        <button type="button" class="btn btn-circle green-haze btn-sm">Follow</button>\n                                        <button type="button" class="btn btn-circle btn-danger btn-sm">Message</button>\n                               </div> -->\n                            <!-- END SIDEBAR BUTTONS -->\n                          <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.chat.statistics.summary\')}">\n                                                    <a ng-href="/chat/statistics/summary">\n                                                        <i class="icon-list"></i>\n                                                     {{ \'APPLICATION_SUMMARY\' | translate }} </a>\n                                                </li>\n                                         <li data-ng-class="{active: $state.is(\'main.chat.statistics.enquiry\') || $state.is(\'main.chat.statistics.enquiries\')}">\n                                                   <a ng-href="/chat/statistics/enquiries">\n                                                      <i class="icon-question"></i>\n                                                 {{ \'APPLICATION_ENQUIRIES\' | translate }} </a>\n                                              </li>\n                                         <li data-ng-class="{active: $state.is(\'main.chat.statistics.conversation\') || $state.is(\'main.chat.statistics.conversations\')}">\n                                                  <a ng-href="/chat/statistics/conversations">\n                                                  <i class="icon-notebook"></i>\n                                                 {{ \'APPLICATION_CONVERSATIONS\' | translate }} </a>\n                                          </li>\n                                         <li data-ng-class="{active: $state.is(\'main.chat.statistics.visitor\') || $state.is(\'main.chat.statistics.visitors\')}">\n                                                    <a ng-href="/chat/statistics/visitors">\n                                                       <i class="icon-users"></i>\n                                                    {{ \'APPLICATION_VISITORS\' | translate }} </a>\n                                               </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/statistic/statistic.summary.html",'<div class="col-md-12">\n       <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered" data-ng-show="online">\n            <div class="portlet-title">\n                   <div class="caption font-green-sharp">\n                                <i class="icon-notebook font-green-sharp"></i>\n                                <span class="caption-subject">{{ \'APPLICATION_LOCATIONS\' | translate }}</a> </span>\n                 </div>\n                </div>\n                <div class="portlet-body">\n                    <map center="0, 0" zoom="2">\n                          <marker data-ng-show="chatVisitor.latitude && chatVisitor.longitude" data-ng-repeat="chatVisitor in chatVisitors" position="{{chatVisitor.latitude}}, {{chatVisitor.longitude}}" title="{{chatVisitor.fullname}}"></marker>\n                   </map>\n                </div>\n        </div>\n        <!-- END Portlet PORTLET-->\n\n\n       <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered">\n          <div class="portlet-title">\n                   <div class="caption font-green-sharp">\n                                <i class="icon-notebook font-green-sharp"></i>\n                                <span class="caption-subject">{{ \'APPLICATION_CONVERSATIONS\' | translate }}</a> </span>\n                     </div>\n                </div>\n                <div class="portlet-body">\n                    <div class="row">\n                             <div class="col-md-6">\n                                        <div class="portlet sale-summary">\n                                            <div class="portlet-body">\n                                                    <ul class="list-unstyled">\n                                                            <li>\n                                                                  <span class="sale-info">\n                                                                      {{ \'APPLICATION_OPENED\' | translate }} <i class="fa fa-img-up"></i>\n                                                                 </span>\n                                                                       <span class="sale-num">\n                                                                       {{ (chatRooms | filter:{ status:\'open\' }).length }} </span>\n                                                         </li>\n                                                         <li>\n                                                                  <span class="sale-info">\n                                                                      {{ \'APPLICATION_CLOSED\' | translate }} <i class="fa fa-img-down"></i>\n                                                                       </span>\n                                                                       <span class="sale-num">\n                                                                       {{ (chatRooms | filter:{ status:\'close\' }).length }} </span>\n                                                                </li>\n                                                 </ul>\n                                         </div>\n                                        </div>\n                                </div>\n                                <div class="col-md-6">\n                                        <canvas class="chart chart-pie" data="[(chatRooms | filter:{ status:\'open\' }).length, (chatRooms | filter:{ status:\'close\' }).length]" labels="[$translate.instant(\'APPLICATION_OPENED\'), $translate.instant(\'APPLICATION_CLOSED\')]" legend="true"></canvas>\n                          </div>\n                        </div>\n                </div>\n        </div>\n        <!-- END Portlet PORTLET-->\n\n <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered">\n          <div class="portlet-title">\n                   <div class="caption font-green-sharp">\n                                <i class="icon-users font-green-sharp"></i>\n                           <span class="caption-subject">{{ \'APPLICATION_VISITORS\' | translate }}</a> </span>\n                  </div>\n                </div>\n                <div class="portlet-body">\n                    <div class="row">\n                             <div class="col-md-6">\n                                        <div class="portlet sale-summary">\n                                            <div class="portlet-body">\n                                                    <ul class="list-unstyled">\n                                                            <li>\n                                                                  <span class="sale-info">\n                                                                      {{ \'APPLICATION_PENDING\' | translate }} <i class="fa fa-img-up"></i>\n                                                                        </span>\n                                                                       <span class="sale-num">\n                                                                       {{ (chatVisitors | filter:{ status:\'pending\' }).length }} </span>\n                                                           </li>\n                                                         <li>\n                                                                  <span class="sale-info">\n                                                                      {{ \'APPLICATION_SERVED\' | translate }} <i class="fa fa-img-down"></i>\n                                                                       </span>\n                                                                       <span class="sale-num">\n                                                                       {{ (chatVisitors | filter:{ status:\'served\' }:true).length }} </span>\n                                                               </li>\n                                                         <li>\n                                                                  <span class="sale-info">\n                                                                      {{ \'APPLICATION_UNSERVED\' | translate }} </span>\n                                                                    <span class="sale-num">\n                                                                       {{ (chatVisitors | filter:{ status:\'unserved\' }).length }} </span>\n                                                          </li>\n                                                 </ul>\n                                         </div>\n                                        </div>\n                                </div>\n                                <div class="col-md-6">\n                                        <canvas class="chart chart-pie" data="[(chatVisitors | filter:{ status:\'pending\' }).length, (chatVisitors | filter:{ status:\'served\' }:true).length, (chatVisitors | filter:{ status:\'unserved\' }).length]" labels="[$translate.instant(\'APPLICATION_PENDING\'), $translate.instant(\'APPLICATION_SERVED\'), $translate.instant(\'APPLICATION_UNSERVED\')]" legend="true"></canvas>\n                            </div>\n                        </div>\n                </div>\n        </div>\n        <!-- END Portlet PORTLET-->\n\n <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered">\n          <div class="portlet-title">\n                   <div class="caption font-green-sharp">\n                                <i class="icon-question font-green-sharp"></i>\n                                <span class="caption-subject">{{ \'APPLICATION_ENQUIRIES\' | translate }}</a> </span>\n                 </div>\n                </div>\n                <div class="portlet-body">\n                    <div class="row">\n                             <div class="col-md-6">\n                                        <div class="portlet sale-summary">\n                                            <div class="portlet-body">\n                                                    <ul class="list-unstyled">\n                                                            <li>\n                                                                  <span class="sale-info">\n                                                                      {{ \'APPLICATION_READ\' | translate }}<i class="fa fa-img-up"></i>\n                                                                    </span>\n                                                                       <span class="sale-num">\n                                                                       {{(chatEnquiries | filter:{ read:true }).length}} </span>\n                                                             </li>\n                                                         <li>\n                                                                  <span class="sale-info">\n                                                                      {{ \'APPLICATION_UNREAD\' | translate }}<i class="fa fa-img-down"></i>\n                                                                        </span>\n                                                                       <span class="sale-num">\n                                                                       {{(chatEnquiries | filter:{ read:false }).length}} </span>\n                                                            </li>\n                                                 </ul>\n                                         </div>\n                                        </div>\n                                </div>\n                                <div class="col-md-6">\n                                        <canvas class="chart chart-pie" data="[(chatEnquiries | filter:{ read:true }).length, (chatEnquiries | filter:{ read:false }).length]" labels="[$translate.instant(\'APPLICATION_READ\'), $translate.instant(\'APPLICATION_UNREAD\')]" legend="true" ng-show="true"></canvas>\n                         </div>\n                        </div>\n                </div>\n        </div>\n        <!-- END Portlet PORTLET-->\n</div>\n'),a.put("app/chat/statistic/statistic.visitor.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="col-md-12">\n        <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered">\n          <div class="portlet-title">\n                   <div class="caption font-green-sharp">\n                                <i class="icon-users font-green-sharp"></i>\n                           <span class="caption-subject">{{ \'APPLICATION_VISITORS\' | translate }}</a> </span>\n                  </div>\n                        <div class="actions">\n                         <a class="btn btn-icon-only btn-default" href="#" ng-csv="displayedChatVisitors" filename="visitors.csv">\n                             <i class="icon-cloud-download"></i></a>\n                               <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                     </div>\n                </div>\n                <div class="portlet-body">\n                    <!-- START TABLE -->\n                  <table st-table="displayedChatVisitors" st-safe-src="chatVisitors" class="table table-bordered table-hover">\n                          <div class="table-responsive">\n                                        <thead>\n                                               <tr>\n                                                  <th colspan="9">\n                                                              <div class="row">\n                                                                     <div class="col-md-6">\n                                                                                <select class="form-control input-small select2me" data-ng-model="conf.chatVisitorsByPage">\n                                                                                   <option value="10">10</option>\n                                                                                        <option value="25">25</option>\n                                                                                        <option value="50">50</option>\n                                                                                        <option value="{{chatVisitors.length}}">{{ \'APPLICATION_ALL\' | translate }}</option>\n                                                                                </select>\n                                                                     </div>\n                                                                        <div class="col-md-6">\n                                                                                <div class="input-group input-medium pull-right">\n                                                                                     <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                 <span class="input-group-addon">\n                                                                                              <i class="fa fa-search"></i>\n                                                                                  </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </th>\n                                         </tr>\n                                         <tr>\n                                                  <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                        <th st-sort="email">{{ \'APPLICATION_EMAIL\' | translate }}</th>\n                                                      <th st-sort="remote_address">{{ \'APPLICATION_REMOTE_ADDRESS\' | translate }}</th>\n                                                    <th st-sort="referer">{{ \'APPLICATION_ORIGIN\' | translate }}</th>\n                                                   <th st-sort="device">{{ \'APPLICATION_DEVICE\' | translate }}</th>\n                                                    <th st-sort="browser">{{ \'APPLICATION_BROWSER\' | translate }}</th>\n                                                  <th st-sort="visitor_language">{{ \'APPLICATION_LANGUAGES\' | translate }}</th>\n                                                       <th st-sort="status">{{ \'APPLICATION_STATUS\' | translate }}</th>\n                                                    <th st-sort="createdAt">{{ \'APPLICATION_TIME\' | translate }}</th>\n                                           </tr>\n                                 </thead>\n                                      <tbody>\n                                               <tr data-ng-repeat="chatVisitor in displayedChatVisitors" data-ng-click="$location.path(\'/chat/statistics/visitor/\' + chatVisitor.id)">\n                                                     <td>{{chatVisitor.fullname}}</td>\n                                                     <td>{{chatVisitor.email}}</td>\n                                                        <td>{{chatVisitor.remote_address}}</td>\n                                                       <td>{{chatVisitor.referer}}</td>\n                                                      <td class="centered-td">{{chatVisitor.device ? chatVisitor.device : \'--\'}}</td>\n                                                     <td class="centered-td">\n                                                              <img data-ng-show="chatVisitor.browser.includes(\'Chrome\')" data-ng-src="assets/images/browsers/chrome/chrome_16x16.png" data-title="{{chatVisitor.browser}}" bs-tooltip>\n                                                            <img data-ng-show="chatVisitor.browser.includes(\'Safari\')" data-ng-src="assets/images/browsers/safari/safari_16x16.png">\n                                                            <img data-ng-show="chatVisitor.browser.includes(\'Firefox\')" data-ng-src="assets/images/browsers/firefox/firefox_16x16.png">\n                                                         <img data-ng-show="chatVisitor.browser.includes(\'Explorer\')" data-ng-src="assets/images/browsers/internet-explorer/internet-explorer_16x16.png">\n                                                    </td>\n                                                 <td class="centered-td">\n                                                              <img data-ng-show="chatVisitor.visitor_language.includes(\'IT\') || chatVisitor.visitor_language.includes(\'it\')" data-ng-src="assets/images/flags/it.png">\n                                                          <img data-ng-show="chatVisitor.visitor_language.includes(\'US\') || chatVisitor.visitor_language.includes(\'us\')" data-ng-src="assets/images/flags/us.png">\n                                                          <img data-ng-show="chatVisitor.visitor_language.includes(\'EN\') || chatVisitor.visitor_language.includes(\'en\')" data-ng-src="assets/images/flags/en_EN.png">\n                                                       </td>\n                                                 <td class="centered-td">\n                                                              <span class="label label-sm label-success" data-ng-class="{\'label-warning\': chatVisitor.status == \'pending\', \'label-danger\': chatVisitor.status == \'unserved\'}">\n                                                                      {{ $translate.instant(\'APPLICATION_\' + $filter(\'uppercase\')(chatVisitor.status)) }}\n                                                               </span>\n                                                       </td>\n                                                 <td style="text-align: center;">\n                                                              <time is="relative-time" datetime="{{chatVisitor.createdAt}}">\n                                                                        April 1, 2014\n                                                         </time>\n                                                       </td>\n                                         </tr>\n                                 </tbody>\n                                      <tfoot>\n                                               <tr>\n                                                  <td colspan="9" class="text-center">\n                                                          <div st-pagination class="pagination" st-items-by-page="conf.chatVisitorsByPage" st-displayed-pages="7"></div>\n                                                        </td>\n                                         </tr>\n                                 </tfoot>\n                      </div>\n                        </table>\n                      <!-- END TABLE -->\n            </div>\n        </div>\n        <!-- END Portlet PORTLET-->\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/statistic/statistic.visitor.view.html",'<!-- BEGIN PAGE CONTENT-->\n<div data-ng-init="initVisitorView()">\n  <div class="col-md-6">\n                <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-pin font-green-sharp"></i>\n                                     <span class="caption-subject">{{ \'APPLICATION_LOCATION\' | translate }}</a> </span>\n                          </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- BEGIN PAGE CONTENT-->\n                            <map center="{{chatVisitor.latitude}}, {{chatVisitor.longitude}}" zoom="8">\n                                   <marker position="{{chatVisitor.latitude}}, {{chatVisitor.longitude}}" title="{{chatVisitor.fullname}}"></marker>\n                             </map>\n                        </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n        <div class="col-md-6">\n                <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-user font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_VISITOR\' | translate }}:</a> </span>\n                                  <span class="caption-helper">{{chatVisitor.fullname}}</span>\n                          </div>\n                                <div class="actions">\n                                 <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="row static-info" data-ng-show="chatVisitor.longitude && chatVisitor.latitude">\n                            </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.fullname">\n                                     <div class="col-md-4 name">\n                                           {{\'APPLICATION_FULLNAME\' | translate}}\n                                      </div>\n                                        <div class="col-md-8 value">\n                                          {{chatVisitor.fullname}}\n                                      </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.email">\n                                        <div class="col-md-4 name">\n                                           {{\'APPLICATION_EMAIL\' | translate}}\n                                 </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.email}}\n                                 </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.remote_address">\n                                       <div class="col-md-4 name">\n                                           {{\'APPLICATION_REMOTE_ADDRESS\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.remote_address}}\n                                        </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.referer">\n                                      <div class="col-md-4 name">\n                                           {{\'APPLICATION_REFERER\' | translate}}\n                                       </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.referer}}\n                                       </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.browser">\n                                      <div class="col-md-4 name">\n                                           {{\'APPLICATION_BROWSER\' | translate}}\n                                       </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.browser}}\n                                       </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.engine">\n                                       <div class="col-md-4 name">\n                                           {{\'APPLICATION_ENGINE\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.engine}}\n                                        </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.os">\n                                   <div class="col-md-4 name">\n                                           {{\'APPLICATION_OS\' | translate}}\n                                    </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.os}}\n                                    </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.device">\n                                       <div class="col-md-4 name">\n                                           {{\'APPLICATION_DEVICE\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.device}}\n                                        </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.country">\n                                      <div class="col-md-4 name">\n                                           {{\'APPLICATION_COUNTRY\' | translate}}\n                                       </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.country}}\n                                       </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.region">\n                                       <div class="col-md-4 name">\n                                           {{\'APPLICATION_REGION\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.region}}\n                                        </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.city">\n                                 <div class="col-md-4 name">\n                                           {{\'APPLICATION_CITY\' | translate}}\n                                  </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.city}}\n                                  </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.latitude">\n                                     <div class="col-md-4 name">\n                                           {{\'APPLICATION_LATITUDE\' | translate}}\n                                      </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.latitude}}\n                                      </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.longitude">\n                                    <div class="col-md-4 name">\n                                           {{\'APPLICATION_LONGITUDE\' | translate}}\n                                     </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.longitude}}\n                                     </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.createdAt">\n                                    <div class="col-md-4 name">\n                                           {{\'APPLICATION_ARRIVAL_TIME\' | translate}}\n                                  </div>\n                                        <div class="col-md-4 value">\n                                          <time is="relative-time" datetime="{{chatVisitor.createdAt}}">\n                                                        April 1, 2014\n                                         </time>\n                                       </div>\n                                </div>\n                        </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/timeline/list/list.html",'<div class="row">\n      <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-envelope"></i>\n                                         <a href="#">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                                <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-list"></i>\n                                             <a href="/mail/timeline/list"> Timeline</a>\n                                   </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initList()">\n     <div class="col-md-12">\n    <h3 class="page-title">\n                          Timeline\n                      </h3>\n                 <!-- END PAGE HEADER-->\n                       <!-- BEGIN PAGE CONTENT-->\n                    <div class="timeline">\n                                <!-- TIMELINE ITEM -->\n                                <div class="timeline-item" data-ng-repeat="event in events | orderBy:\'-id\'"  ng-animate=" \'animate\' ">\n                                    <div class="timeline-badge">\n                                          <div class="timeline-icon">\n                                                   <i class="icon-envelope font-green-haze"></i>\n                                         </div>\n                                        </div>\n                                        <div class="timeline-body">\n                                           <div class="timeline-body-arrow"></div>\n                                               <div class="timeline-body-head">\n                                                      <div class="timeline-body-head-caption">\n                                                              <span class="timeline-body-alerttitle" data-ng-class="{\'font-red\': event.name == \'INCOMING\', \'font-blue\': event.name == \'ATTEMPT\', \'font-green\': event.name == \'TAKEN\'}">{{event.name | uppercase}}</span>\n                                                                <span class="timeline-body-time font-grey-cascade">at {{event.createdAt | date:\'yyyy-MM-dd HH:mm:ss\'}}</span>\n                                                       </div>\n                                                        <div class="timeline-body-head-actions">\n                                                              <div class="btn-group">\n                                                                       <a class="btn btn-circle btn-sm dropdown-toggle btn-success" href="/mail/inbox/room/{{event.MailRoomId}}">Go To Mail</a>\n                                                              </div>\n                                                        </div>\n                                                </div>\n                                                <div class="timeline-body-content">\n                                                   <span class="font-grey-cascade" data-ng-show="event.User">\n                                                    {{event.MailRoom.subject ? event.MailRoom.subject + \' - \' : \'\'}}<a href="/agents/view/{{event.UserId}}/account">{{event.User.fullname}}</a>\n                                                       </span>\n                                               </div>\n                                        </div>\n                                </div>\n                                <!-- END TIMELINE ITEM -->\n                    </div>\n                        <!-- END PAGE CONTENT-->\n      </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/website/list/list.html",'<div class="row">\n       <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-bubble"></i>\n                                           <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n                                                <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-globe"></i>\n                                            <a href="/chat/websites/list">{{ \'APPLICATION_WEB_SITES\' | translate }}</a>\n                                 </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_WEB_SITES\' | translate }}</a> </span>\n                         </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="chatWebsites.checked.length">\n                                            <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_WEB_SITE\' | translate }} <i class="fa fa-angle-down"></i>\n                                             </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <!-- <li>\n                                                             <a href="#" data-ng-click="open()">\n                                                           <i class="icon-user"></i> {{ \'APPLICATION_QUICK\' | translate }} </a>\n                                                        </li> -->\n                                                     <li>\n                                                          <a href="/chat/websites/wizard">\n                                                              <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                                 <!-- <li>\n                                                             <a href="#">\n                                                          <i class="icon-users"></i> {{ \'APPLICATION_BULK\' | translate }} </a>\n                                                        </li> -->\n                                             </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getChatWebsites([\'name\', \'address\', \'description\', \'remote\'])" csv-header="[\'Name\', \'Address\', \'Description\', \'Remote\']" field-separator=";" filename="chat_websites.csv">\n                                  <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedChatWebsites" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                    <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="5">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.chatWebsitesByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                          <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="chatWebsiteByPage in chatWebsitesByPage | filter: $select.search">\n                                                                                                 <div ng-bind-html="chatWebsiteByPage.name | highlight: $select.search"></div>\n                                                                                         </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(agent, checked)" checklist-model checklist-value="id"></th>\n                                                    <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                              <th st-sort="address">{{ \'APPLICATION_WEB_ADDRESS\' | translate }}</th>\n                                                          <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="chatWebsite in displayedChatWebsites" class="animate-repeat">\n                                                         <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="chatWebsites.checked" checklist-value="chatWebsite.id"></td>\n                                         <td>{{chatWebsite.name}}</td>\n                                                           <td>{{chatWebsite.description}}</td>\n                                        <td><a ng-href="{{chatWebsite.address}}">{{chatWebsite.address}}</a></td>\n                                             <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/chat/websites/view/{{chatWebsite.id}}/snippet/view">\n                                                                         {{ \'APPLICATION_PROFILE\' | translate }}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(chatWebsite.name,chatWebsite.id)">\n                                                                         {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedChatWebsites.length">\n                                                              <td colspan="5" style="text-align:center;">\n                                                                   <i>{{\'MESSAGE_NO_AVAILABLE_WEBSITES\' | translate}}</i>\n                                                              </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="address" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_WEB_ADDRESS\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                      </div>\n                                                    </td>\n                                                 <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="5" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.chatWebsitesByPage.value" st-displayed-pages="7"></div>\n                                        </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
+a.put("app/analytic/metric/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getMetric()">\n <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-eye"></i>\n                                      <a href="/analytics/metrics/list">{{ \'APPLICATION_METRICS\' | translate }}</a>\n                                       <i data-ng-show="metric" class="fa fa-angle-right"></i>\n                               </li>\n                         <li data-ng-show="metric">\n                                    <a href="#">{{metric.name}}</a>\n                               </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/metric.png" class="img-responsive">\n                             </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{metric.name}}\n                                       </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.analytics.metrics.view.settings\')}">\n                                                    <a data-ng-href="/analytics/metrics/view/{{metric.id}}/settings">\n                                                     <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/analytic/metric/view/view.settings.html",'<div class="row">\n   <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_METRIC\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n                              </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateMetric()" novalidate>\n\n                                                      <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="metric.name" required/>\n                                                         <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START TABLE -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.general.table.$touched || forms.general.$submitted) && forms.general.table.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_TABLE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                <ui-select data-ng-model="metric.table" name="table" theme="bootstrap" required>\n                                                                      <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="table.value as table in tables | filter: $select.search">\n                                                                          <div ng-bind-html="table.name | highlight: $select.search"></div>\n                                                                     </ui-select-choices>\n                                                          </ui-select>\n                                                          <span data-ng-show="(forms.general.table.$touched || forms.general.$submitted) && forms.general.table.$error.required" class="help-block help-block-error">\n                                                                   <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END TABLE-->\n\n                                                   <!-- START METRIC -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.general.metric.$touched || forms.general.$submitted) && forms.general.metric.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_METRIC\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                               <textarea type="text" name="metric" placeholder="{{\'APPLICATION_METRIC\' | translate}}" class="form-control" data-ng-model="metric.metric" required/></textarea>\n                                                             <span data-ng-show="(forms.general.metric.$touched || forms.general.$submitted) && forms.general.metric.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END METRIC -->\n\n                                                 <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="metric.description"></textarea>\n                                                        </div>\n                                                        <!-- END DESCRIPTION -->\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END ADVANCED TAB -->\n\n                           </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/analytic/report/list/copy.modal.html",'<div class="modal-header">\n  <h3 class="modal-title">{{ \'APPLICATION_COPY_REPORT\' | translate }}</h3>\n</div>\n<div class="modal-body">\n  <div class="portlet light bordered">\n    <div class="portlet-title">\n      <div class="caption font-green-sharp" style="padding-left:10px;">\n        <i class="icon-folder font-green-sharp"></i>\n        <span class="caption-subject">{{ \'APPLICATION_COPY_TO\' | translate }} </span>\n      </div>\n    </div>\n    <div class="portlet-body">\n      <div js-tree="customTreeConfig" ng-model="customTreeData" should-apply="ac()" tree="customTreeInstance" tree-events="ready:initCustomScopeTree;"></div>\n    </div>\n  </div>\n</div>\n<div class="modal-footer">\n  <button class="btn btn-success" type="button" data-ng-disabled="!customTree.get_selected(true).pop().id" ng-click="ok()" ng-disabled="forms.report.$invalid">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n  <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/analytic/report/list/create.modal.html",'<div class="modal-header">\n  <h3 class="modal-title">{{ \'APPLICATION_NEW_REPORT\' | translate }}</h3>\n</div>\n<div class="modal-body">\n  <form name="forms.report" novalidate>\n\n    <!-- START NAME -->\n    <div class="form-group" data-ng-class="{\'has-error\': (forms.report.name.$touched || forms.report.$submitted) && forms.report.name.$invalid}">\n      <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n      <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n      <span data-ng-show="(forms.report.name.$touched || forms.report.$submitted) && forms.report.name.$error.required" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END NAME -->\n\n    <!-- START DESCRIPTION -->\n    <div class="form-group">\n      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n      <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"></textarea>\n    </div>\n    <!-- END DESCRIPTION -->\n\n    <div class="form-group" data-ng-class="{\'has-error\': (forms.report.name.$touched || forms.report.$submitted) && forms.report.name.$invalid}">\n      <label class="control-label">{{\'APPLICATION_PATH\' | translate}}<span class="required" aria-required="true"></span></label>\n      <input type="text" name="name" placeholder="{{\'APPLICATION_PATH\' | translate}}" class="form-control" data-ng-model="path" disabled/>\n      <span data-ng-show="(forms.report.name.$touched || forms.report.$submitted) && forms.report.name.$error.required" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n\n  </form>\n</div>\n<div class="modal-footer">\n  <button class="btn btn-success" type="button" ng-click="ok()" ng-disabled="forms.report.$invalid">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n  <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/analytic/report/list/extract.modal.html",'<div class="modal-header">\n  <h3 class="modal-title">{{ \'APPLICATION_EXTRACT_REPORT\' | translate }}</h3>\n</div>\n<div class="modal-body" style="text-align:center;">\n  <form name="forms.report" class="form-inline mbottom20" novalidate>\n    <div class="form-group">\n      <label class="control-label">{{\'APPLICATION_DATE_RANGE\' | translate}}<span class="required" aria-required="true"></span></label>\n      <input type="daterange" name="dates" ranges="ranges" placeholder="{{\'APPLICATION_DATE_RANGE\' | translate}}" class="form-control" data-ng-model="dates" data-ng-change="getPage()" required/>\n    </div>\n  </form>\n</div>\n<div class="modal-footer">\n  <button class="btn default green-jungle" type="button" data-ng-click="extract(\'csv\')"><i class="fa fa-file-excel-o"></i> {{ \'APPLICATION_SAVE_TO_CSV\' | translate }}</button>\n  <button class="btn default red-intense" type="button" data-ng-click="extract(\'pdf\')"><i class="fa fa-file-pdf-o"></i> {{ \'APPLICATION_SAVE_TO_PDF\' | translate }}</button>\n  <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/analytic/report/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getTrees()">\n    <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-book-open"></i>\n                                        <a href="/analytics/reports/list">{{ \'APPLICATION_REPORTS\' | translate }}</a>\n                               </li>\n                 </ul>\n         </div>\n                <div class="col-fixed">\n                       <!-- BEGIN Portlet PORTLET-->\n                 <div class="portlet light bordered">\n                          <div class="portlet-title">\n                                   <div class="caption font-green-sharp" style="padding-left:10px;">\n                                             <i class="icon-folder font-green-sharp"></i>\n                                          <span class="caption-subject">{{ \'APPLICATION_FOLDERS\' | translate }} </span>\n                                       </div>\n                                        <div class="inputs">\n                                          <div class="portlet-input input-inline input-small">\n                                                  <div class="input-icon right">\n                                                                <i class="icon-magnifier"></i>\n                                                                <input type="text" data-ng-model="searchField" data-ng-change="searchTrees()" class="form-control input-circle" placeholder="search...">\n                                                      </div>\n                                                </div>\n                                        </div>\n                                </div>\n                                <div class="portlet-body">\n                                    <div js-tree="defaultTreeConfig" ng-model="defaultTreeData" should-apply="ac()" tree="defaultTreeInstance" tree-events="ready:initDefaultScopeTree;select_node:selectDefaultNode;"></div>\n                                     <div js-tree="customTreeConfig" ng-model="customTreeData" should-apply="ac()" tree="customTreeInstance" tree-events="ready:initCustomScopeTree;select_node:selectCustomNode;rename_node:updateCustomTree;delete_node:updateCustomTree;move_node:updateCustomTree;create_node:updateCustomTree;"></div>\n                                </div>\n                        </div>\n                        <!-- END Portlet PORTLET-->\n           </div>\n                <div class="row tree-row">\n                    <div class="col-md-12">\n                               <!-- BEGIN Portlet PORTLET-->\n                         <div class="portlet light bordered">\n                                  <div class="portlet-title">\n                                           <div class="caption font-green-sharp">\n                                                        <i class="icon-book-open font-green-sharp"></i>\n                                                       <span class="caption-subject">{{ \'APPLICATION_REPORTS\' | translate }}<span data-ng-if="selectedNode"> - {{selectedNode}}</span></span>\n                                              </div>\n                                                <div data-ng-if="!defaultTreeActive" class="actions">\n                                                 <div class="btn-group" data-ng-show="Reports.checked.length">\n                                                         <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                                           </a>\n                                                  </div>\n                                                        <div class="btn-group">\n                                                               <span class="btn default btn-file">\n                                                           <span class="fileinput-new">\n                                                          <i class="icon-cloud-upload"></i> {{\'APPLICATION_IMPORT_FROM_JSON\' | translate}}</span>\n                                                             <input type="file" on-read-file="import($fileContent)"/>\n                                                              </span>\n                                                       </div>\n                                                        <div class="btn-group">\n                                                               <button class="btn green-jungle " ng-click="create()">\n                                                                        <i class="icon-plus"></i> {{ \'APPLICATION_NEW_REPORT\' | translate }}\n                                                                </button>\n                                                     </div>\n                                                </div>\n                                        </div>\n                                        <div class="portlet-body">\n                                            <!-- START TABLE -->\n                                          <table data-ng-if="defaultTreeReady && customTreeReady" st-table="displayedReports" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                                        <div class="table-responsive" data-ng-init="firstSelect()">\n                                                           <thead>\n                                                                       <tr>\n                                                                          <th colspan="5">\n                                                                                      <div class="row">\n                                                                                             <div class="col-md-6">\n                                                                                                        <ui-select class="input-xsmall" ng-model="conf.reportsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                                               <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                                             <ui-select-choices repeat="reportByPage in reportsByPage | filter: $select.search">\n                                                                                                                   <div ng-bind-html="reportByPage.name | highlight: $select.search"></div>\n                                                                                                              </ui-select-choices>\n                                                                                                  </ui-select>\n                                                                                          </div>\n                                                                                                <div class="col-md-6">\n                                                                                                        <div class="input-group input-medium pull-right">\n                                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                                         <span class="input-group-addon">\n                                                                                                                      <i class="fa fa-search"></i>\n                                                                                                          </span>\n                                                                                                       </div>\n                                                                                                </div>\n                                                                                        </div>\n                                                                                </th>\n                                                                 </tr>\n                                                                 <tr>\n                                                                          <th class="small-cells" style="text-align: center; vertical-align: middle"><input data-ng-checked="Reports.checked.length" data-ng-hide="defaultTreeActive" type="checkbox" ng-change="check(report, checked)" checklist-model checklist-value="id"></th>\n                                                                             <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                                                <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                                          <th>{{ \'APPLICATION_MANAGE\' | translate }}</th>\n                                                                             <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                                    </tr>\n                                                         </thead>\n                                                              <tbody>\n                                                                       <tr data-ng-repeat="report in displayedReports" class="animate-repeat">\n                                                                               <td style="text-align: center; vertical-align: middle"><input data-ng-hide="defaultTreeActive" type="checkbox" checklist-model="Reports.checked" checklist-value="report.id"></td>\n                                                                            <td>{{report.name}}</td>\n                                                                              <td>{{report.description}}</td>\n                                                                               <td>\n                                                                                  <a data-ng-if="!defaultTreeActive" class="btn default btn-xs blue-stripe" data-ng-href="/analytics/reports/view/{{report.id}}/settings">\n                                                                                              {{ \'APPLICATION_SETTINGS\' | translate}}\n                                                                                     </a>\n                                                                                  <a data-ng-if="!defaultTreeActive" class="btn default btn-xs red-stripe" data-ng-click="deleteItem(report.name,report.id)">\n                                                                                           {{ \'APPLICATION_DELETE\' | translate }}\n                                                                                      </a>\n                                                                                  <a class="btn default btn-xs green-stripe" data-ng-click="copy(report.id)">\n                                                                                           {{ \'APPLICATION_COPY\' | translate }}\n                                                                                        </a>\n                                                                                  <a class="btn default btn-xs purple-stripe" data-ng-click="export(report.id)">\n                                                                                                {{ \'APPLICATION_EXPORT\' | translate }}\n                                                                                      </a>\n                                                                          </td>\n                                                                         <td>\n                                                                                  <a class="btn default btn-xs yellow-stripe" data-ng-click="preview(report.id)">\n                                                                                               {{ \'APPLICATION_PREVIEW\' | translate }}\n                                                                                     </a>\n                                                                                  <button type="button" data-ng-click="extract(report.id)" class="btn default btn-xs green-seagreen-stripe">\n                                                                                            {{ \'APPLICATION_RUN \' | translate }}\n                                                                                        </button>\n                                                                             </td>\n                                                                 </tr>\n                                                                 <tr data-ng-hide="displayedReports.length">\n                                                                           <td colspan="5" style="text-align:center;">\n                                                                                   <i>{{ \'MESSAGE_NO_REPORTS_AVAILABLE\' | translate }}</i>\n                                                                             </td>\n                                                                 </tr>\n                                                         </tbody>\n                                                              <tfoot>\n                                                                       <tr>\n                                                                          <td/>\n                                                                         <td>\n                                                                                  <div class="input-icon right">\n                                                                                                <i class="fa fa-search"></i>\n                                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                                        </div>\n                                                                                </td>\n                                                                         <td>\n                                                                                  <div class="input-icon right">\n                                                                                                <i class="fa fa-search"></i>\n                                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                                  </div>\n                                                                                </td>\n                                                                         <td/>\n                                                                         <td/>\n                                                                 </tr>\n                                                                 <tr>\n                                                                          <td colspan="5" class="text-center">\n                                                                                  <div st-pagination class="pagination" st-items-by-page="conf.reportsByPage.value" st-displayed-pages="7"></div>\n                                                                               </td>\n                                                                 </tr>\n                                                         </tfoot>\n                                              </div>\n                                                </table>\n                                              <!-- END TABLE -->\n                                    </div>\n                                </div>\n                                <!-- END Portlet PORTLET-->\n                   </div>\n                </div>\n        </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/analytic/report/list/preview.modal.html",'<div class="modal-header">\n  <h3 class="modal-title">{{ \'APPLICATION_REPORT_PREVIEW\' | translate }}</h3>\n</div>\n<div class="modal-body" style="text-align:center;">\n  <form name="forms.report" class="form-inline mbottom20" novalidate>\n    <div class="form-group">\n      <label class="control-label">{{\'APPLICATION_DATE_RANGE\' | translate}}<span class="required" aria-required="true"></span></label>\n      <input type="daterange" name="dates" ranges="ranges" placeholder="{{\'APPLICATION_DATE_RANGE\' | translate}}" class="form-control" data-ng-model="dates" data-ng-change="getPage()" required/>\n    </div>\n  </form>\n  <div ng-slide-down="showResult" lazy-render duration="1">\n    <div ui-grid="gridOptions" ui-grid-pagination ui-grid-exporter class="grid extract-grid"></div>\n  </div>\n</div>\n<div class="modal-footer">\n<button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CLOSE\' | translate }}</button>\n</div>\n'),a.put("app/analytic/report/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getReport()">\n       <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-book-open"></i>\n                                        <a href="/analytics/reports/list">{{ \'APPLICATION_REPORTS\' | translate }}</a>\n                                       <i data-ng-show="report" class="fa fa-angle-right"></i>\n                               </li>\n                         <li data-ng-show="report">\n                                    <a href="#">{{report.name}}</a>\n                               </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/report.png" class="img-responsive">\n                             </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{report.name}}\n                                       </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.analytics.reports.view.settings\')}">\n                                                    <a data-ng-href="/analytics/reports/view/{{report.id}}/settings">\n                                                     <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/analytic/report/view/view.settings.html",'<div class="row">\n   <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_REPORT\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n                              </div>\n                                <ul class="nav nav-tabs">\n                                     <li>\n                                          <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                                 <li class="active">\n                                           <a href="#" data-target="#tab_1_2" data-toggle="tab">{{ \'APPLICATION_BUILD\' | translate}}</a>\n                                       </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_3" data-toggle="tab">{{ \'APPLICATION_TEST_PREVIEW\' | translate}}</a>\n                                        </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n\n                          <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane" id="tab_1_1">\n                                           <form name="forms.general" data-ng-submit="forms.report.$valid && forms.general.$valid && updateReport()" novalidate>\n\n\n                                                     <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="report.name" required/>\n                                                         <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="report.description"></textarea>\n                                                        </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <!-- START TABLE INPUT -->\n\n\n                                                        <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n\n                                     </div>\n                                        <!-- END GENERAL TAB -->\n                                      <div class="tab-pane active" id="tab_1_2">\n                                            <form name="forms.report" data-ng-submit="forms.report.$valid && forms.general.$valid && updateReport()" novalidate>\n                                          <div class="form-group" data-ng-class="{\'has-error\': (forms.report.table.$touched || forms.report.$submitted) && forms.report.table.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_TABLE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                        <ui-select data-ng-model="report.table" name="table" theme="bootstrap" required>\n                                                              <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                              <ui-select-choices repeat="table.table as table in tables | filter: $select.search">\n                                                                  <div ng-bind-html="table.name | highlight: $select.search"></div>\n                                                             </ui-select-choices>\n                                                  </ui-select>\n                                                  <span class="help-block">\n                                                     </span>\n                                                       <span data-ng-show="(forms.report.table.$touched || forms.report.$submitted) && forms.report.table.$error.required" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END TABLE INPUT-->\n                                               <div data-ng-if="report.table" class="mbottom20 pbottom20">\n                                           <div class="portlet-title tabbable-line">\n                                                     <div class="caption caption-md">\n                                                              <i class="icon-globe theme-font hide"></i>\n                                                            <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_FIELDS\' | translate}} </span>\n                                                        </div>\n                                                </div>\n                                                                <!-- START TABLE -->\n                                                          <table class="table table-striped table-bordered table-hover">\n                                                                        <thead>\n                                                                               <tr>\n                                                                                  <th>{{ \'APPLICATION_FIELD\' | translate }} / {{ \'APPLICATION_METRIC\' | translate }}</th>\n                                                                                   <th>{{ \'APPLICATION_ALIAS\' | translate }}</th>\n                                                                                      <th>{{ \'APPLICATION_FUNCTION\' | translate }}</th>\n                                                                                   <th>{{ \'APPLICATION_GROUP_BY\' | translate }}</th>\n                                                                                   <th>{{ \'APPLICATION_ORDER_BY\' | translate }}</th>\n                                                                                   <th></th>\n                                                                                     <th></th>\n                                                                             </tr>\n                                                                 </thead>\n                                                                              <tbody ui-sortable="sortableOptions" data-ng-model="report.Fields">\n                                                                                   <tr data-ng-repeat="field in report.Fields">\n                                                                                          <td>\n                                                                                                  <!-- START FIELD -->\n                                                                                                  <div class="form-group" data-ng-class="{\'has-error\': forms.report.$submitted && !field.field}">\n                                                                                                             <!-- <label class="control-label">{{\'APPLICATION_FIELD\' | translate}}<span class="required" aria-required="true">*</span></label> -->\n                                                                                                               <ui-select data-ng-model="field.field" dynamic-name="randomName()" theme="bootstrap" required>\n                                                                                                                        <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}"><span ng-bind-html="$select.selected.name"></span></ui-select-match>\n                                                                                                                     <ui-select-choices repeat="tableField.value as tableField in tableFields | filter: $select.search">\n                                                                                                                           <div ng-bind-html="tableField.name | highlight: $select.search"></div>\n                                                                                                                        </ui-select-choices>\n                                                                                                          </ui-select>\n                                                                                                          <span data-ng-show="forms.report.$submitted && !field.field" class="help-block help-block-error">\n                                                                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                                         </span>\n                                                                                                       </div>\n                                                                                                        <!-- END FIELD-->\n                                                                                             </td>\n                                                                                         <td>\n                                                                                                  <!-- START ALIAS -->\n                                                                                                  <div class="form-group" data-ng-class="{\'has-error\': forms.report.$submitted && !field.alias}">\n                                                                                                             <!-- <label class="control-label">{{\'APPLICATION_ALIAS\' | translate}}<span class="required" aria-required="true">*</span></label> -->\n                                                                                                               <input type="text" dynamic-name="randomName()" placeholder="{{\'APPLICATION_ALIAS\' | translate}}" class="form-control" data-ng-model="field.alias" required/>\n                                                                                                                <span data-ng-show="forms.report.$submitted && !field.alias" class="help-block help-block-error">\n                                                                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                                         </span>\n                                                                                                       </div>\n                                                                                                        <!-- END ALIAS -->\n                                                                                            </td>\n                                                                                         <td>\n                                                                                                  <!-- START FUNCTION -->\n                                                                                                       <div class="form-group">\n                                                                                                              <!-- <label class="control-label">{{\'APPLICATION_FIELD\' | translate}}<span class="required" aria-required="true">*</span></label> -->\n                                                                                                               <ui-select data-ng-model="field.function" name="function" theme="bootstrap">\n                                                                                                                  <ui-select-match placeholder="{{\'APPLICATION_FUNCTION\' | translate}}" allow-clear>{{$select.selected.name}}</ui-select-match>\n                                                                                                                       <ui-select-choices repeat="function.value as function in functions | filter: $select.search">\n                                                                                                                         <div ng-bind-html="function.name | highlight: $select.search"></div>\n                                                                                                                  </ui-select-choices>\n                                                                                                          </ui-select>\n                                                                                                  </div>\n                                                                                                        <!-- END FUNCTION-->\n                                                                                          </td>\n                                                                                         <td>\n                                                                                                  <!-- START GROUP_BY -->\n                                                                                                       <div class="form-group">\n                                                                                                              <!-- <label class="control-label">{{\'APPLICATION_FIELD\' | translate}}<span class="required" aria-required="true">*</span></label> -->\n                                                                                                               <ui-select data-ng-model="field.groupBy" name="groupBy" theme="bootstrap" required>\n                                                                                                                   <ui-select-match placeholder="{{\'APPLICATION_GROUP_BY\' | translate}}">{{$select.selected.name | translate}}</ui-select-match>\n                                                                                                                       <ui-select-choices repeat="groupBy.value as groupBy in groupByField | filter: $select.search">\n                                                                                                                                {{$translate.instant(groupBy.name)}}\n                                                                                                                  </ui-select-choices>\n                                                                                                          </ui-select>\n                                                                                                  </div>\n                                                                                                        <!-- END GROUP_BY-->\n                                                                                          </td>\n                                                                                         <td>\n                                                                                                  <!-- START ORDER_BY -->\n                                                                                                       <div class="form-group">\n                                                                                                              <!-- <label class="control-label">{{\'APPLICATION_FIELD\' | translate}}<span class="required" aria-required="true">*</span></label> -->\n                                                                                                               <ui-select data-ng-model="field.orderBy" name="orderBy" theme="bootstrap">\n                                                                                                                    <ui-select-match placeholder="{{\'APPLICATION_ORDER_BY\' | translate}}" allow-clear>{{$select.selected}}</ui-select-match>\n                                                                                                                    <ui-select-choices repeat="orderBy in [\'ASC\',\'DESC\'] | filter: $select.search">\n                                                                                                                           <div ng-bind-html="orderBy | highlight: $select.search"></div>\n                                                                                                                        </ui-select-choices>\n                                                                                                          </ui-select>\n                                                                                                  </div>\n                                                                                                        <!-- END TABLE INPUT-->\n                                                                                               </td>\n                                                                                         <td class="report-field-remove">\n                                                                                                      <button class="btn red" type="button" data-ng-click="removeField($index)"><i class="fa fa-times"></i></button>\n                                                                                                </td>\n                                                                                         <td class="report-field-handle">\n                                                                                                      <!-- <img data-ng-src="assets/images/move.png" class="img-responsive"> -->\n                                                                                            </td>\n                                                                                 </tr>\n                                                                                 <tr data-ng-hide="report.Fields.length" class="unsortable">\n                                                                                           <td colspan="7" style="text-align:center;">\n                                                                                                   <i>{{ \'MESSAGE_ADD_A_FIELD\' | translate }}</i>\n                                                                                              </td>\n                                                                                 </tr>\n                                                                         </tbody>\n                                                              </table>\n                                                              <button type="button" class="btn btn-sm green padding-bottom" ng-click="addField()">\n                                                                  <i class="fa fa-plus"></i> {{\'APPLICATION_ADD_FIELD\' | translate}}\n                                                          </button>\n                                                             <!-- END TABLE -->\n                                                    </div>\n                                                                <div data-ng-if="report.Fields.length" class="mbottom20 pbottom20">\n                                                                   <div class="portlet-title tabbable-line">\n                                                                             <div class="caption caption-md">\n                                                                                      <i class="icon-globe theme-font hide"></i>\n                                                                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_CONDITIONS\' | translate}} </span>\n                                                                            </div>\n                                                                        </div>\n                                                                        <div class="alert alert-info">\n                                                                                        <strong>Output</strong><br>\n                                                                                   <span ng-bind-html="output"></span>\n                                                                   </div>\n\n                                                                      <report-builder group="report.conditions.group" fields="report.Fields" forms="forms" firstCall=\'true\'></report-builder>\n                                                             </div>\n                                                                <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                                          </form>\n                                                               <!-- <pre>\n                                                                    {{report | json}}\n                                                             </pre> -->\n\n                                  </div>\n                                        <div class="tab-pane" id="tab_1_3">\n                                           <div data-ng-if="showPreview" ui-grid="gridOptions" ui-grid-move-columns class="grid"></div>\n                                  </div>\n                                </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),
+a.put("app/analytic/report/wizard/wizard.html",'<div class="col-md-12" data-ng-init="initWizard()">\n  <!-- BEGIN PAGE HEADER-->\n     <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-link"></i>\n                             <a href="/analytics/reports/list">{{ \'APPLICATION_REPORTS\' | translate }}</a>\n                               <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="#">{{ \'APPLICATION_NEW_REPORT\' | translate }}</a>\n                  </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-link font-green-sharp"></i>\n                    <span class="caption-subject">{{ \'APPLICATION_NEW_REPORT\' | translate }}</a> </span>\n                </div>\n        </div>\n        <div class="portlet-body">\n                    <form name="forms.general" data-ng-submit="forms.general.$valid && createItem()" novalidate>\n                  </form>\n       </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/automation/list/list.html",'<div class="row">\n  <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-bulb"></i>\n                                             <a href="#">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a>\n                                 </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-bulb font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a> </span>\n                               </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="Automations.checked.length">\n                                             <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_AUTOMATION\' | translate }} <i class="fa fa-angle-down"></i>\n                                           </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/automations/wizard">\n                                                                <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getAutomations([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="automations.csv">\n                                       <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedAutomations" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                     <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="6">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.AutomationsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                           <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="AutomationByPage in AutomationsByPage | filter: $select.search">\n                                                                                                   <div ng-bind-html="AutomationByPage.name | highlight: $select.search"></div>\n                                                                                          </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <!-- <th st-sort="id" width="5%" st-sort-default="reverse">{{ \'APPLICATION_ID\' | translate }}</th> -->\n                                                              <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(Automation, checked)" checklist-model checklist-value="id"></th>\n                                               <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                          <th st-sort="channel">{{ \'APPLICATION_CHANNEL\' | translate }}</th>\n                                                          <th>{{ \'APPLICATION_STATUS\' | translate }}</th>\n                                                             <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="Automation in displayedAutomations">\n                                                          <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="Automations.checked" checklist-value="Automation.id"></td>\n                                           <td>{{Automation.name}}</td>\n                                                            <td>{{Automation.description}}</td>\n                                                           <td>{{Automation.channel | capitalize}}</td>\n                                                          <td>\n                                                                  <input\n                                                                                data-ng-change="updateItem(Automation.id, Automation.status)",\n                                                                    bs-switch\n                                                             ng-model="Automation.status"\n                                                                  type="checkbox"\n                                                               switch-active="{{ isActive }}"\n                                                                switch-on-text="{{ onText }}"\n                                                                 switch-off-text="{{ offText }}"\n                                                               switch-on-color="{{ onColor }}"\n                                                               switch-off-color="{{ offColor }}"\n                                                             switch-animate="{{ animate }}"\n                                                                switch-size="{{ size }}"\n                                                              switch-label="{{ label }}"\n                                                                    switch-icon="{{ icon }}"\n                                                              switch-radio-off="{{ radioOff }}"\n                                                             switch-label-width="{{ labelWidth }}"\n                                                                 switch-handle-width="{{ handleWidth }}">\n                                                          </td>\n                                       <td>\n                                                                    <a class="btn default btn-xs blue-stripe" data-ng-href="/automations/view/{{Automation.id}}/settings">\n                                                                                {{ \'APPLICATION_EDIT\' | translate }}\n                                                </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(Automation.name, Automation.id)">\n                                                                          {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedAutomations.length">\n                                                               <td colspan="6" class="text-center">\n                                                                  <i>No available automations</i>\n                                                               </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_USERNAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                    </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="channel" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_CHANNEL\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                                </td>\n                                                         <td/>\n                                                         <td/>\n                                           </tr>\n                                           <tr>\n                                            <td colspan="6" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.AutomationsByPage.value" st-displayed-pages="7"></div>\n                                         </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/automation/view/view.html",'<!-- BEGIN PAGE HEADER-->\n<div class="row" data-ng-init="initView()">\n    <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-settings"></i>\n                                 <a href="/automations/list">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a>\n                                 <i class="fa fa-angle-right" data-ng-show="automation"></i>\n                           </li>\n                         <li data-ng-show="automation">\n                                        <a href="#">{{ automation.description || automation.name }}</a>\n                               </li>\n                 </ul>\n         </div>\n\n<!-- END PAGE HEADER-->\n\n<!-- BEGIN PAGE CONTENT-->\n               <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/automation.png" class="img-responsive">\n                         </div>\n                                <!-- END SIDEBAR USERPIC -->\n\n                                <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{ automation.name }}\n                                 </div>\n                                        <div class="profile-usertitle-job">\n                                           {{ automation.description }}\n                                  </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.automations.view.settings\')}">\n                                                  <a href="/automations/view/{{automation.id}}/settings">\n                                                       <i class="icon-bulb"></i>\n                                                     {{ \'APPLICATION_SETTINGS\' | translate }} </a>\n                                               </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/automation/view/view.settings.html",'<div class="row">\n        <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n                                </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{\'APPLICATION_GENERALS\' | translate}}</a>\n                                     </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_2" data-toggle="tab">{{\'APPLICATION_CONDITIONS\' | translate}} & {{\'APPLICATION_ACTIONS\' | translate}}</a>\n                                 </li>\n                         </ul>\n                 </div>\n                        <div class="portlet-body">\n                            <!-- <pre>\n                                    {{conditionsData.query | json}}\n                               </pre>\n                                <pre>\n                                 {{actionsData.query | json}}\n                          </pre> -->\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateAutomation()" novalidate>\n                                                    <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="automation.name" required/>\n                                                             <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid && forms.general.name.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="automation.description"/>\n                                                 </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END GENERAL TAB -->\n                                      <div class="tab-pane" id="tab_1_2">\n                                   <div class="portlet light bordered">\n                                          <div class="portlet-title">\n                                                   <div class="caption font-blue-hoki">\n                                                          <i class="icon-tag font-blue-hoki"></i>\n                                                               <span class="caption-subject">{{ \'APPLICATION_CONDITIONS\' | translate }}</a> </span>\n                                                        </div>\n                                                </div>\n                                                <div class="portlet-body">\n                                                    <query-builder group="conditionsFilter.group" fields="fields.conditions" operators="$automations.operators" properties="properties[automation.channel]"></query-builder>\n                                              </div>\n                                        </div>\n                                        <div class="portlet light bordered">\n                                          <div class="portlet-title">\n                                                   <div class="caption font-blue-hoki">\n                                                          <i class="icon-tag font-blue-hoki"></i>\n                                                               <span class="caption-subject">{{ \'APPLICATION_ACTIONS\' | translate }}</a> </span>\n                                                   </div>\n                                                </div>\n                                                <div class="portlet-body">\n                                                    <query-builder group="actionsFilter.group" fields="fields.actions" properties="properties[automation.channel]"></query-builder>\n                                               </div>\n                                        </div>\n\n                                              <input class="btn green-haze" type="button" value="{{\'APPLICATION_UPDATE\' | translate}}" data-ng-click="updateAutomation()"/>\n                                       </div>\n                                </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/automation/wizard/wizard.html",'<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN PAGE HEADER-->\n             <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-settings"></i>\n                                 <a href="/automations/list">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a>\n                         </li>\n                 </ul>\n         </div>\n                <!-- END PAGE HEADER-->\n\n             <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-bulb font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_AUTOMATIONS\' | translate }} WIZARD</a> </span>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n                                     <!-- <pre>\n                                            {{item | json}}\n                                       </pre>\n                                        <pre>\n                                         {{conditionsData.query | json}}\n                                       </pre>\n                                        <pre>\n                                         {{actionsData.query | json}}\n                                  </pre> -->\n                                    <wz-step title="{{\'APPLICATION_GENERAL\' | translate}}" canexit="exitValidation(forms.general.$valid)">\n                                              <form name="forms.general" data-ng-submit="submit()" novalidate>\n                                                      <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.general.name.$touched && forms.general.name.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                           <span data-ng-show="forms.general.name.$touched && forms.general.name.$invalid && forms.general.name.$error.required" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"/>\n                                                       </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                                            </form>\n                                       </wz-step>\n            <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(conditionsData.query.length && actionsData.query.length)">\n                                          <div class="portlet light bordered">\n                                                  <div class="portlet-title">\n                                                           <div class="caption font-blue-hoki">\n                                                                  <i class="icon-tag font-blue-hoki"></i>\n                                                                       <span class="caption-subject">{{ \'APPLICATION_CHANNEL\' | translate }}</a> </span>\n                                                           </div>\n                                                        </div>\n                                                        <div class="portlet-body">\n                                                            <div class="form-group"  >\n                                                                    <label class="control-label">{{ \'APPLICATION_CHANNEL\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                                    <ui-select data-ng-model="item.channel" name="channel" theme="bootstrap" required>\n                                                                            <ui-select-match placeholder="{{ \'APPLICATION_CHANNEL\' | translate }}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                          <ui-select-choices repeat="channel in $automations.channels | filter: $select.search">\n                                                                                        <div ng-bind-html="channel | highlight: $select.search | capitalize"></div>\n                                                                           </ui-select-choices>\n                                                                  </ui-select>\n                                                          </div>\n                                                        </div>\n                                                </div>\n                                                <div class="portlet light bordered">\n                                                  <div class="portlet-title">\n                                                           <div class="caption font-blue-hoki">\n                                                                  <i class="icon-tag font-blue-hoki"></i>\n                                                                       <span class="caption-subject">{{ \'APPLICATION_CONDITIONS\' | translate }}</a> </span>\n                                                                </div>\n                                                        </div>\n                                                        <div class="portlet-body">\n                                                            <query-builder group="conditionsFilter.group" fields="fields.conditions" operators="$automations.operators" properties="properties[item.channel]"></query-builder>\n                                                    </div>\n                                                </div>\n                                                <div class="portlet light bordered">\n                                                  <div class="portlet-title">\n                                                           <div class="caption font-blue-hoki">\n                                                                  <i class="icon-tag font-blue-hoki"></i>\n                                                                       <span class="caption-subject">{{ \'APPLICATION_ACTIONS\' | translate }}</a> </span>\n                                                           </div>\n                                                        </div>\n                                                        <div class="portlet-body">\n                                                            <query-builder group="actionsFilter.group" fields="fields.actions" properties="properties[item.channel]"></query-builder>\n                                                     </div>\n                                                </div>\n                                                <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                             <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                                    </wz-step>\n                                    <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                             <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                            <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                             <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                 </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/preview/preview.html",'<style>\n  .xc_footer\n  {\n        text-align: center;\n   padding-bottom: 5px;\n  }\n\n  .xc_powered\n  {\n       color: grey;\n    font: 10px/16px "Lucida Grande","Lucida Sans Unicode",Arial,Verdana,sans-serif;\n     padding-bottom: 5px;\n  }\n\n  .xc_chat_container\n  {\n        //width:379px;\n        //position:fixed;\n     //bottom:0;\n   //right:50px;\n         z-index:9999;\n         background-color:transparent;\n  }\n\n  .xc_chat_container *\n  {\n     font-family:Arial,Helvetica,sans-serif;\n       font-size:13px;\n       margin:0;\n     padding:0;\n  }\n\n  .xc_chat_container p\n  {\n        margin:5px 0;\n  }\n\n  .xc_signup_wrapper\n  {\n       max-height:375px;\n  }\n\n  .xc_conversation_container\n  {\n   max-height:375px;\n     list-style:none;\n      overflow:auto;\n        margin:0;\n     padding:20px 10px;\n  }\n\n  .xc_conversation_container a\n  {\n        color:#036;\n  }\n\n  .xc_conversation_container a.xc_btn_style\n  {\n          color:#fff;\n  }\n\n  div.xc_chat_head\n  {\n   color:#fff;\n   background:{{chatWebsite.color}};\n     //border-radius: 20px 20px 0px 0px !important;\n        height:52px;\n          line-height:55px;\n     cursor:pointer;\n  }\n\n  div.xc_chat_head.rounded\n  {\n       border-radius: 20px 20px 0px 0px !important;\n  }\n\n  div.xc_chat_head.squared\n  {\n          //border-radius: 20px 20px 0px 0px !important;\n  }\n\n  .xc_chat_head-title\n  {\n     margin:5px 0 0 15px;\n          color: #fff;\n  }\n\n  .xc_header_icon\n  {\n   display:block;\n        background-image:url({{chatWebsite.remote}}/api/xchatty/assets?resource=images/icon_visitorchat.png);\n         width:21px;\n   height:16px;\n          float:right;\n          margin:20px 20px 0 0;\n  }\n\n  .xc_header_icon span.xc_notification_badge span\n  {\n          display:block;\n        height:16px;\n          width:15px;\n   text-align:center;\n    font-size:9px;\n        color:#555;\n   position:relative;\n    top:-20px;\n    left:4px;\n     margin:0;\n     padding:0;\n  }\n\n  .xc_sub-head-spacer\n  {\n         padding:1px;\n  }\n\n  .xc_conversation\n  {\n          display:none;\n         margin:0 12px 0 11px;\n  }\n\n  .xc_chat_toggle_container\n  {\n        /*background:mediumslateblue center -52px;*/\n          background: white;\n    border-style: solid;\n    border-width: 1px;\n          border-color: {{chatWebsite.color}};\n          //display:none;\n  }\n\n  .xc_signup_wrapper,.xc_notifications_wrapper,.xc_enquiry_wrapper\n  {\n       //display:none;\n    display:block;\n   overflow:auto;\n        line-height:1;\n        padding:25px;\n  }\n\n  .xc_exit_chat_container\n  {\n          text-align:right;\n     width:95%;\n    margin:0 auto;\n        padding:5px 1px 0 0;\n  }\n\n  .xc_exit_chat_container span,.xc_exit_chat_container a\n  {\n    font-size:80%;\n        color:#666;\n   text-decoration:none;\n  }\n\n  .xc_exit_chat_container a:hover\n  {\n          color:#333;\n  }\n\n  a.xc_btn_exit_chat_confirm:hover\n  {\n   color:red;\n  }\n\n  a.xc_btn_exit_chat_cancel:hover\n  {\n     color:#0c0;\n  }\n\n  form.xc_form_reply\n  {\n         position:relative;\n  }\n\n  .xc_form_reply\n  {\n      /*background-color:#e3e3e3;*/\n         text-align:center;\n    /*border-top:1px solid #d3d3d3;*/\n  }\n\n  .xc_input_message\n  {\n    height:100px;\n         margin:10px auto 5px;\n  }\n\n  .xc_input_enquiry_message\n  {\n        height:100px;\n  }\n\n  .xc_form_signup,.xc_form_enquiry\n  {\n         text-align:center;\n  }\n\n  .xc_chat_container textarea,.xc_chat_container input[type=text]\n  {\n     width:95%;\n    min-width:95%;\n        max-width:95%;\n        -webkit-box-sizing:border-box;\n        -moz-box-sizing:border-box;\n   box-sizing:border-box;\n        background-color:#fff;\n        border:1px solid #ccc;\n        -webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);\n         -moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);\n    box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);\n         -webkit-transition:border linear .2s, box-shadow linear .2s;\n          -moz-transition:border linear .2s, box-shadow linear .2s;\n     -o-transition:border linear .2s, box-shadow linear .2s;\n       transition:border linear .2s, box-shadow linear .2s;\n          display:inline-block;\n         font-size:14px;\n       line-height:20px;\n     color:#555;\n   -webkit-border-radius:4px;\n    -moz-border-radius:4px;\n       border-radius:4px;\n    vertical-align:middle;\n        margin:3px 0;\n         padding:4px 6px;\n      resize: none;\n  }\n\n  .xc_chat_container textarea:focus,.xc_chat_container input[type=text]:focus\n  {\n      outline: {{chatWebsite.color_focus}} auto 5px;\n  }\n\n  .xc_chat_container input[type=text]\n  {\n     height: 30px;\n  }\n\n  .xc_message_sending textarea, .xc_enquiry_sending textarea\n  {\n       background: #fff url({{chatWebsite.remote}}/api/xchatty/assets?resource=images/loading.gif) 98% 5px no-repeat;\n  }\n\n  .xc_chatrow\n  {\n     display:block;\n        border-top:1px dashed #e3e3e3;\n        margin:5px 0;\n         clear: both;\n  }\n\n  .xc_chatrow p\n  {\n     color:#444;\n   word-wrap:break-word;\n  }\n\n  .xc_time\n  {\n         float:right;\n          font-size:80%;\n        color:#ccc;\n   padding-left:12px;\n    margin:3px;\n  }\n\n  .xc_submission_pending\n  {\n     background:transparent url({{chatWebsite.remote}}/api/xchatty/assets?resource=images/bullet_clock.png) left center no-repeat;\n  }\n\n  .xc_submission_confirmed\n  {\n         background:transparent url({{chatWebsite.remote}}/api/xchatty/assets?resource=images/bullet_tick.png) left center no-repeat;\n  }\n\n  .xc_fullname\n  {\n      font-weight:700;\n  }\n\n  .xc_fullname:after\n  {\n    content:":";\n  }\n\n  .xc_avatar\n  {\n        float: left;\n          margin: 0 5px 5px 0;\n          display: inline-block;\n        width: 40px;\n          height: 40px;\n         border-radius: 5px;\n           -moz-border-radius: 5px;\n      -webkit-border-radius: 5px;\n  }\n\n  .xc_smilie\n  {\n         background-repeat:no-repeat;\n          display:inline-block;\n         width:18px;\n   height:18px;\n          text-indent:-9999px;\n          white-space:nowrap;\n  }\n\n  .xc_btn_load_more\n  {\n          width:100%!important;\n  }\n\n  .xc_notifications_wrapper\n  {\n        text-shadow:0 1px 0 rgba(255,255,255,0.5);\n  }\n\n  .xc_notification_success\n  {\n    color:#468847;\n  }\n\n  .xc_notification_error\n  {\n          color:#b94a48;\n  }\n\n  .xc_errorlist\n  {\n   margin:0 0 0 25px;\n    padding:0;\n  }\n\n  i.xc_btn_notifications_close\n  {\n        float:right;\n          font-weight:700;\n      font-size:20px;\n       color:#ccc;\n   cursor:pointer;\n       margin:-15px 0 0;\n     padding:0;\n  }\n\n  .xc_btn_style\n  {\n       width:95%;\n    text-align:center;\n    line-height:1.2;\n      font-size:90%;\n        -moz-box-shadow:inset 0 1px 0 0 {{chatWebsite.color_button}};\n         -webkit-box-shadow:inset 0 1px 0 0 {{chatWebsite.color_button}};\n      box-shadow:inset 0 1px 0 0 {{chatWebsite.color_button}};\n      background:0;\n         background-color:{{chatWebsite.color_button}};\n        -moz-border-radius:4px;\n       -webkit-border-radius:4px;\n    border-radius:4px;\n    border:1px solid {{chatWebsite.color_button}};\n        display:inline-block;\n         color:#fff;\n   font-weight:700;\n      text-decoration:none;\n         text-shadow:1px 1px 0 #000c17;\n        margin:0 auto 5px;\n    padding:2px 0;\n  }\n\n  .xc_btn_style:hover\n  {\n     background:0;\n         background-color:{{chatWebsite.color_button}};\n      color: #fff;\n            text-decoration: none;\n  }\n\n  .xc_btn_style:active\n  {\n    position:relative;\n    top:1px;\n  }\n\n  .xc_composing_container\n  {\n       display: none;\n    width: 95%;\n    margin: 0 auto;\n    background: transparent url({{chatWebsite.remote}}/api/xchatty/assets?resource=images/bullet_pencil.png) 6px center no-repeat;\n    padding-left: 19px;\n    font-style: italic;\n  }\n\n  @media only screen and (max-height: 620px) {\n     .xc_conversation_container\n    {\n             max-height:300px!important;\n   }\n  }\n\n  @media only screen and (max-height: 545px) {\n      .xc_conversation_container\n    {\n             max-height:200px!important;\n   }\n  }\n\n  @media only screen and (max-height: 445px) {\n      .xc_conversation_container\n    {\n             max-height:150px!important;\n   }\n  }\n\n  @media only screen and (max-width: 480px) {\n       .xc_chat_container\n    {\n             width:95%!important;\n                  right:auto!important;\n                 -webkit-border-top-left-radius:15px;\n                  -webkit-border-top-right-radius:15px;\n                 -moz-border-radius-topleft:15px;\n              -moz-border-radius-topright:15px;\n             border-top-left-radius:15px;\n                  border-top-right-radius:15px;\n                 box-shadow:0 0 5px rgba(0,0,0,.5);\n            -webkit-box-shadow:0 0 5px rgba(0,0,0,.5);\n            -moz-box-shadow:0 0 5px rgba(0,0,0,.5);\n       }\n\n   div.xc_chat_head\n      {\n             background-color:#036;\n                background-image:none;\n                line-height:25px;\n             height:auto;\n                  -webkit-border-top-left-radius:15px;\n                  -webkit-border-top-right-radius:15px;\n                 -moz-border-radius-topleft:15px;\n              -moz-border-radius-topright:15px;\n             border-top-left-radius:15px;\n                  border-top-right-radius:15px;\n                 padding:10px;\n         }\n\n   .xc_chat_toggle_container\n     {\n             background-color:#fff;\n                background-image:none;\n                border-color:#036;\n            border-style:solid;\n           border-width:0 1px;\n   }\n\n   .xc_header_icon\n       {\n             background-image:url({{chatWebsite.remote}}/api/xchatty/assets?resource=images/icon_visitorchat.png);\n                 margin:0;\n     }\n\n   .xc_header_icon span.xc_notification_badge span\n       {\n             top:-5px;\n             left:5px;\n     }\n\n   .xc_notification_success\n      {\n             background-color:#dff0d8;\n             border:1px solid #d6e9c6;\n     }\n\n   .xc_conversation_container\n    {\n             max-height:375px;\n             border-color:#036;\n    }\n\n   .xc_notification_error\n        {\n             background-color:#f2dede;\n             border:1px solid #eed3d7;\n     }\n\n   .xc_sub-head-spacer\n   {\n             display:none;\n                 padding:0;\n    }\n\n   .xc_chat_head-title,.xc_conversation\n          {\n             margin:0;\n     }\n  }\n</style>\n<div class="xc_chat_container">\n    <div class="xc_chat_head {{chatWebsite.header_shape}}">\n      <i class="xc_header_icon">\n        <span class="xc_notification_badge">\n          <span class="xc_notification_badge_number"></span>\n        </span>\n      </i>\n      <span class="xc_chat_head-title">{{statePreview.state == \'online\' ? chatWebsite.header_online : chatWebsite.header_offline}}</span>\n    </div>\n    <div class="xc_chat_toggle_container">\n        <div class="xc_sub-head-spacer"></div>\n        <div class="xc_notifications_wrapper">\n            <!--<i class="xc_btn_notifications_close">&times;</i>-->\n            <ul class="xc_errorlist"></ul>\n        </div>\n        <div class="xc_enquiry_wrapper" data-ng-show=\'statePreview.state == "offline"\'>\n            <form class="xc_form_enquiry" accept-charset="UTF-8">\n                <p ng-bind-html=\'chatWebsite.offline_message\'></p>\n                <input maxlength="45" type="text" name="data[Enquiry][fullname]" placeholder="{{chatWebsite.username_placeholder}}" class="xc_input_enquiry_fullname" />\n                <input maxlength="85" type="text" name="data[Enquiry][email]" placeholder="{{chatWebsite.email_placeholder}}" class="xc_input_enquiry_email" />\n                <textarea maxlength="1500" placeholder="{{chatWebsite.enquiry_message_placeholder}}" name="data[Enquiry][message]" class="xc_input_enquiry_message"></textarea>\n                <a href="#" class="xc_btn_enquiry xc_btn_style">{{chatWebsite.enquiry_button}}</a></form>\n        </div>\n        <div class="xc_signup_wrapper" data-ng-show=\'statePreview.state == "online"\'>\n            <form class="xc_form_signup" accept-charset="UTF-8">\n                <p ng-bind-html=\'chatWebsite.online_message\'></p>\n                <input maxlength="45" type="text" name="data[Discussion][fullname]" placeholder="{{chatWebsite.username_placeholder}}" class="xc_input_fullname" />\n                <input maxlength="85" type="text" name="data[Discussion][email]" placeholder="{{chatWebsite.email_placeholder}}" class="xc_input_email" />\n                <input type="hidden" class="xc_input_visitor_time" name="data[Discussion][visitor_time]" /><a href="#" class="xc_btn_signup xc_btn_style">{{chatWebsite.start_chat_button}}</a></form>\n        </div>\n        <!-- <div class="xc_conversation">\n            <div class="xc_conversation_container">\n                <p class="xc_message_intro" data-id="-10">{FirstMessageText}</p>\n            </div>\n            <div class="xc_composing_container"></div>\n            <form class="xc_form_reply" accept-charset="UTF-8">\n                <div class="xc_exit_chat_container"><a href="#" class="xc_btn_exit_chat">{ExitChatButtonText}</a>\n                    <div class="xc_exit_chat_confirmation_wrapper" style="display: none;"><span>{ExitChatQuestionText} </span><a href="#" class="xc_btn_exit_chat_confirm">{ExitChatButtonConfirmText}</a><span> | </span><a href="#" class="xc_btn_exit_chat_cancel">{ExitChatButtonCancelText}</a></div>\n                </div>\n                <textarea maxlength="750" placeholder="{MessagePlaceholderText}" name="data[Message][message]" class="xc_input_message"></textarea><a href="#" class="xc_btn_send xc_btn_style">{MessageSendButtonText}</a></form>\n        </div> -->\n        <div class="xc_footer">\n            <div class="xc_powered"><a>Powered by Xenialab | Trademark xCALLY</a></div>\n        </div>\n    </div>\n</div>\n'),
+a.put("app/chat/queue/list/list.html",'<div class="row">\n     <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-bubble"></i>\n                                           <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n                                                <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-layers"></i>\n                                           <a href="/chat/queues/list">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                                      </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_QUEUE\' | translate }}</a> </span>\n                             </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="chatQueues.checked.length">\n                                              <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_QUEUE\' | translate }} <i class="fa fa-angle-down"></i>\n                                                </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <!-- <li>\n                                                             <a href="#" data-ng-click="open()">\n                                                           <i class="icon-user"></i> {{ \'APPLICATION_QUICK\' | translate }} </a>\n                                                        </li> -->\n                                                     <li>\n                                                          <a href="/chat/queues/wizard">\n                                                                <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                                 <!-- <li>\n                                                             <a href="#">\n                                                          <i class="icon-users"></i> {{ \'APPLICATION_BULK\' | translate }} </a>\n                                                        </li> -->\n                                             </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getChatQueues([\'name\', \'description\', \'timeout\', \'strategy\'])" csv-header="[\'Username\', \'Description\', \'Timeout\', \'Strategy\']" field-separator=";" filename="chat_queues.csv">\n                                      <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedChatQueues" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                      <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="6">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.chatQueuesByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                            <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="chatQueueByPage in chatQueuesByPage | filter: $select.search">\n                                                                                                     <div ng-bind-html="chatQueueByPage.name | highlight: $select.search"></div>\n                                                                                           </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(queue, checked)" checklist-model checklist-value="id"></th>\n                                                    <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                          <th st-sort="strategy">{{ \'APPLICATION_STRATEGY\' | translate }}</th>\n                                                                <th st-sort="timeout">{{ \'APPLICATION_AGENT_TIMEOUT\' | translate }}</th>\n                                                            <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="chatQueue in displayedChatQueues" class="animate-repeat">\n                                                             <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="chatQueues.checked" checklist-value="chatQueue.id"></td>\n                                             <td>{{chatQueue.name}}</td>\n                                                             <td>{{chatQueue.description}}</td>\n                                                            <td>{{chatQueue.strategy | uppercase}}</td>\n                                                           <td>{{chatQueue.timeout}}</td>\n                                              <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/chat/queues/view/{{chatQueue.id}}/settings">\n                                                                         {{ \'APPLICATION_EDIT\' | translate }}\n                                                </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(chatQueue.name,chatQueue.id)">\n                                                                             {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedChatQueues.length">\n                                                                <td colspan="6" style="text-align:center;">\n                                                                   <i>No chat queues available</i>\n                                                               </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="strategy" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_STRATEGY\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td/>\n                                                             <td/>\n                                           </tr>\n                                           <tr>\n                                            <td colspan="6" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.chatQueuesByPage.value" st-displayed-pages="7"></div>\n                                          </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/queue/view/view.agents.html",'<div class="row" data-ng-init="getTeams()">\n        <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_AGENTS\' | translate}}</span>\n                          </div>\n                        </div>\n                        <div class="portlet-body" style="width: 50%; margin: 0 auto;">\n                                <!-- BEGIN FORM-->\n                            <form action="index.html" class="form-horizontal form-row-seperated">\n                                 <div class="form-body text-center">\n                                           <div class="form-group last">\n                                                 <div class="col-md-9" id="multi-select-team">\n                                                 </div>\n                                                </div>\n                                        </div>\n                                </form>\n                               <!-- END FORM-->\n                      </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/chat/queue/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getQueue()">\n     <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-bubble"></i>\n                                   <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n                                        <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-layers"></i>\n                                   <a href="/chat/queues/list">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                                      <i data-ng-show="queue" class="fa fa-angle-right"></i>\n                                </li>\n                         <li data-ng-show="queue">\n                                     <a href="#">{{queue.name}}</a>\n                                </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/queue.png" class="img-responsive">\n                              </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{queue.name}}\n                                        </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.chat.queues.view.settings\')}">\n                                                  <a data-ng-href="/chat/queues/view/{{queue.id}}/settings">\n                                                    <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                         <li data-ng-class="{active: $state.is(\'main.chat.queues.view.agents\')}">\n                                                    <a data-ng-href="/chat/queues/view/{{queue.id}}/agents">\n                                                      <i class="icon-users"></i>\n                                                    {{ \'APPLICATION_AGENTS\' | translate}} </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/queue/view/view.settings.html",'<div class="row">\n        <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateChatQueue()" novalidate>\n                                     <!-- START NAME -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="queue.name" required/>\n                                          <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid && forms.general.name.$error.required" class="help-block help-block-error">\n                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                         </span>\n                                       </div>\n                                        <!-- END NAME -->\n\n                                   <!-- START DESCRIPTION -->\n                                    <div class="form-group">\n                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="queue.description"/>\n                                      </div>\n                                        <!-- END DESCRIPTION -->\n\n                                    <!-- START TIMEOUT -->\n                                        <div class="form-group">\n                                              <label class="control-label">{{\'APPLICATION_AGENT\' | translate}} {{\'APPLICATION_TIMEOUT\' | translate}}</label>\n                                            <input type="number" name="timeout" placeholder="{{\'APPLICATION_TIMEOUT\' | translate}}" class="form-control" min="1" data-ng-model="queue.timeout"/>\n                                        </div>\n                                        <!-- END TIMEOUT -->\n\n                                        <!-- START HEADER SHAPE -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid}">\n                                            <label class="control-label">{{\'APPLICATION_STRATEGY\' | translate}}</label>\n                                         <!-- <input colorpicker type="text" name="animationToggle" placeholder="{{\'APPLICATION_BUTTON_COLOR\' | translate}}" class="form-control" data-ng-model="chatWebsite.animation" required/> -->\n                                               <ui-select data-ng-model="queue.strategy" name="strategy" theme="bootstrap">\n                                                  <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.toUpperCase()}}</ui-select-match>\n                                                     <ui-select-choices repeat="strategy in [\'rrmemory\',\'beepall\'] | filter: $select.search">\n                                                          <div ng-bind-html="strategy.toUpperCase() | highlight: $select.search"></div>\n                                                 </ui-select-choices>\n                                          </ui-select>\n                                  </div>\n                                        <!-- END HEADER SHAPE -->\n                                     <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                          </form>\n                       </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/chat/queue/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n    <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-envelope"></i>\n                         <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n        <i class="fa fa-angle-right"></i>\n                     </li>\n      <li>\n                             <i class="icon-layers"></i>\n                           <a href="/chat/queues/list">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                      </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-layers font-green-sharp"></i>\n                          <span class="caption-subject">{{ \'APPLICATION_QUEUES\' | translate }} WIZARD</a> </span>\n             </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.info.$valid)">\n                                        <form name="forms.general" data-ng-submit="forms.general.$valid && createItem()" novalidate>\n                                          <!-- START NAME -->\n                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                    <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                   <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid && forms.general.name.$error.required" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END NAME -->\n\n                                           <!-- START DESCRIPTION -->\n                                            <div class="form-group">\n                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                      <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"/>\n                                               </div>\n                                                <!-- END DESCRIPTION -->\n\n                                            <!-- START TIMEOUT -->\n                                                <div class="form-group" data-ng-class="{\'has-error\': (forms.general.timeout.$touched || forms.general.$submitted) && forms.general.timeout.$invalid}">\n                                                      <label class="control-label">{{\'APPLICATION_AGENT_TIMEOUT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                        <input type="number" name="timeout" placeholder="Timeout" class="form-control" data-ng-model="item.timeout" required/>\n              <span data-ng-show="(forms.general.timeout.$touched || forms.general.$submitted) && forms.general.timeout.$invalid && forms.general.timeout.$error.required" class="help-block help-block-error">\n                                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n            </div>\n                                           <!-- END TIMEOUT -->\n\n                                                <!-- START HEADER SHAPE -->\n                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid}">\n                                                    <label class="control-label">{{\'APPLICATION_STRATEGY\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                     <ui-select data-ng-model="item.strategy" name="strategy" theme="bootstrap" required>\n                                                          <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.toUpperCase()}}</ui-select-match>\n                                                             <ui-select-choices repeat="strategy in [\'rrmemory\',\'beepall\'] | filter: $select.search">\n                                                                  <div ng-bind-html="strategy.toUpperCase() | highlight: $select.search"></div>\n                                                         </ui-select-choices>\n                                                  </ui-select>\n              <span data-ng-show="(forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid && forms.general.strategy.$error.required" class="help-block help-block-error">\n                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n              </span>\n                                                </div>\n                                                <!-- END HEADER SHAPE -->\n                                             <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CREATE\' | translate}}"/>\n                                  </form>\n                         </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/chat/realtime/view/agent/queue/queue.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initAgents()">\n  <div class="col-md-12">\n               <!-- START TABLE -->\n          <div id="grid1" ui-grid="gridOptions" ui-grid-tree-view class="grid"></div>\n           <!-- END TABLE -->\n    </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/realtime/view/agent/timeline/timeline.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initAgents()">\n   <div class="col-md-12">\n               <!-- START TABLE -->\n          <div id="grid1" ui-grid="gridOptions" class="grid"></div>\n             <!-- START TABLE -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/realtime/view/session/session.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initChats()">\n    <div class="col-md-12">\n               <!-- START TABLE -->\n          <table st-table="displayedChats" st-safe-src="sessions" class="table table-striped table-bordered table-hover">\n                       <div class="table-responsive">\n                          <thead>\n                                     <tr>\n                                          <th colspan="12">\n                                                     <div class="row">\n                                                             <div class="col-md-6">\n                                                                        <ui-select class="input-xsmall" ng-model="conf.sessionsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                              <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                             <ui-select-choices repeat="sessionByPage in sessionsByPage | filter: $select.search">\n                                                                                 <div ng-bind-html="sessionByPage.name | highlight: $select.search"></div>\n                                                                             </ui-select-choices>\n                                                                  </ui-select>\n                                                          </div>\n                                                                <div class="col-md-6">\n                                                                        <div class="input-group input-medium pull-right">\n                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                         <span class="input-group-addon">\n                                                                                      <i class="fa fa-search"></i>\n                                                                          </span>\n                                                                       </div>\n                                                                </div>\n                                                        </div>\n                                                </th>\n                                 </tr>\n                           <tr>\n                                                <th></th>\n                                             <th st-sort="uniqueid" reverse class="input-small">{{ \'APPLICATION_UNIQUEID\' | translate }}</th>\n                                <th st-sort="queue" class="input-medium">{{ \'APPLICATION_QUEUE\' | translate }}</th>\n                                 <th st-sort="membername" class="input-medium">{{ \'APPLICATION_AGENT\' | translate }}</th>\n                                                <th st-sort="visitorname" class="input-medium">{{ \'APPLICATION_VISITOR\' | translate }}</th>\n                                         <th st-sort="websitename" class="input-small">{{ \'APPLICATION_WEB_SITE\' | translate }}</th>\n                                         <th st-sort="sessioncalledAt" st-sort-default="reverse">{{ \'APPLICATION_JOIN_AT\' | translate }}</th>\n                                                <th st-sort="sessionconnectAt">{{ \'APPLICATION_LEAVE_AT\' | translate }}</th>\n                                                <th st-sort="sessionringnoanswerAt">{{ \'APPLICATION_UNMANAGED_AT\' | translate }}</th>\n                                 </tr>\n                         </thead>\n                      <tbody>\n                         <tr data-ng-repeat="session in displayedChats">\n                                           <td>\n                                                  <span>\n                                                                <i data-ng-class="{\'icon-user font-yellow\': session.mailjoinAt && !session.mailleaveAt,\n                                                             \'icon-user-following font-green\': session.fullname,\n                                                         \'icon-user-unfollow font-red\': session.mailunmanagedAt}"></i>\n                                                       </span>\n                                               </td>\n                                         <td>{{session.uniqueid}}</td>\n                                         <td>{{session.chatqueuename}}</td>\n                                            <td>{{session.fullname}}</td>\n                                         <td>{{session.visitorname + \' [\' + session.visitoremail + \']\'}}</td>\n                                              <td>{{session.websitename}}</td>\n                                              <td>\n                                                  <time is="relative-time" datetime="{{session.chatjoinAt}}">\n                                                           April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{session.chatleaveAt}}" data-ng-show="session.chatleaveAt">\n                                                               April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{session.chatunmanagedAt}}" data-ng-show="session.chatunmanagedAt">\n                                                               April 1, 2014\n                                                 </time>\n                                               </td>\n                     </tr>\n                                     <tr data-ng-hide="displayedChats.length">\n                                             <td colspan="11" style="text-align:center;">\n                                                  <i>No sessions available</i>\n                                          </td>\n                                 </tr>\n                   </tbody>\n                      <tfoot>\n                                     <tr>\n                                          <td/>\n                                         <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="uniqueid" data-ng-model="filters.uniqueid" placeholder="{{ \'APPLICATION_UNIQUEID\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                 </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="queue" placeholder="{{ \'APPLICATION_QUEUE\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                        </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="membername" placeholder="{{ \'APPLICATION_AGENT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                   </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="visitorname" placeholder="{{ \'APPLICATION_VISITOR\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                        </div>\n                                    </td>\n                                             <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="websitename" placeholder="{{ \'APPLICATION_WEB_SITE\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                       </div>\n                                    </td>\n                                             <td colspan="7"></td>\n                           </tr>\n                           <tr>\n                            <td colspan="12" class="text-center">\n                                                   <div class="pagination" st-pagination st-items-by-page="conf.sessionsByPage.value" st-displayed-pages="7"></div>\n                            </td>\n                       </tr>\n                       </tfoot>\n                    </div>\n                </table>\n              <!-- END TABLE -->\n    </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/realtime/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-energy"></i>\n                                   <a href="/chat/realtime/list">{{ \'APPLICATION_REALTIME\' | translate }}</a>\n                          </li>\n                 </ul>\n         </div>\n\n              <div>\n             <nav class="navbar navbar-default" role="navigation">\n                     <div class="navbar-header">\n                       <button type="button" class="navbar-toggle" ng-init="navCollapsed = true" ng-click="navCollapsed = !navCollapsed">\n                                <span class="sr-only">Toggle navigation</span>\n                                <span class="icon-bar"></span>\n                                <span class="icon-bar"></span>\n                                <span class="icon-bar"></span>\n                            </button>\n                     <!-- <a class="navbar-brand" ui-sref="home">Brand</a> -->\n                 </div>\n\n                      <!-- Collect the nav links, forms, and other content for toggling -->\n                 <div class="collapse navbar-collapse" ng-class="!navCollapsed && \'in\'">\n                         <ul class="nav navbar-nav">\n                               <li dropdown>\n                             <a href="#" dropdown-toggle>\n                                      {{ \'APPLICATION_AGENTS\' | translate }}\n                                      <b class=\'caret\'></b>\n                                   </a>\n                                  <tree tree=\'agents\'></tree>\n                             </li>\n                                                                         <li dropdown>\n                             <a href="#" dropdown-toggle>\n                                      {{ \'APPLICATION_SESSIONS\' | translate }}\n                                    <b class=\'caret\'></b>\n                                   </a>\n                                  <tree tree=\'sessions\'></tree>\n                           </li>\n                     </ul>\n                         <!-- <ul class="nav navbar-nav">\n                          <li dropdown>\n                             <a href="#" dropdown-toggle>\n                                      {{ \'APPLICATION_QUEUES\' | translate }}\n                                      <b class=\'caret\'></b>\n                                   </a>\n                                  <tree tree=\'queues\'></tree>\n                             </li>\n                     </ul> -->\n                 </div>\n                        <!-- /.navbar-collapse -->\n                </nav>\n            </div>\n                <div ui-view></div>\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/statistic/statistic.conversation.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="col-md-12">\n      <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered">\n          <div class="portlet-title">\n                   <div class="caption font-green-sharp">\n                                <i class="icon-notebook font-green-sharp"></i>\n                                <span class="caption-subject">{{ \'APPLICATION_CONVERSATIONS\' | translate }}</a> </span>\n                     </div>\n                        <div class="actions">\n                         <a class="btn btn-icon-only btn-default" href="#" ng-csv="displayedChatRooms" filename="rooms.csv">\n                           <i class="icon-cloud-download"></i></a>\n                               <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                     </div>\n                </div>\n                <div class="portlet-body">\n                    <!-- START TABLE -->\n                  <table st-table="displayedChatRooms" st-safe-src="chatRooms" class="table table-bordered table-hover">\n                                <div class="table-responsive">\n                                        <thead>\n                                               <tr>\n                                                  <th colspan="9">\n                                                              <div class="row">\n                                                                     <div class="col-md-6">\n                                                                                <select class="form-control input-small select2me" data-ng-model="conf.chatRoomsByPage">\n                                                                                      <option value="10">10</option>\n                                                                                        <option value="25">25</option>\n                                                                                        <option value="50">50</option>\n                                                                                        <option value="{{chatRooms.length}}">{{ \'APPLICATION_ALL\' | translate }}</option>\n                                                                           </select>\n                                                                     </div>\n                                                                        <div class="col-md-6">\n                                                                                <div class="input-group input-medium pull-right">\n                                                                                     <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search"/>\n                                                                                  <span class="input-group-addon">\n                                                                                              <i class="fa fa-search"></i>\n                                                                                  </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </th>\n                                         </tr>\n                                         <tr>\n                                                  <th st-sort="type">{{ \'APPLICATION_TYPE\' | translate }}</th>\n                                                        <th st-sort="users">{{ \'APPLICATION_USERS\' | translate }}</th>\n                                                      <th st-sort="visitor">{{ \'APPLICATION_VISITOR\' | translate }}</th>\n                                                  <th st-sort="status">{{ \'APPLICATION_STATUS\' | translate }}</th>\n                                                    <th st-sort="createdAt">{{ \'APPLICATION_TIME\' | translate }}</th>\n                                           </tr>\n                                 </thead>\n                                      <tbody>\n                                               <tr data-ng-repeat="chatRoom in displayedChatRooms" data-ng-click="$location.path(\'/chat/statistics/conversation/\' + chatRoom.id)">\n                                                 <td style="text-align: center;">{{chatRoom.type | uppercase}}</td>\n                                                    <td style="text-align: center;">{{getUsersFullname(chatRoom.Users)}}</td>\n                                                     <td style="text-align: center;">{{chatRoom.ChatVisitor.email}}</td>\n                                                   <td style="text-align: center;">\n                                                              <span class="label label-sm label-success" data-ng-class="{\'label-success\': chatRoom.status == \'close\', \'label-warning\': chatRoom.status == \'open\'}">\n                                                                 {{chatRoom.status | capitalize}}\n                                                              </span>\n                                                       </td>\n                                                 <td style="text-align: center;">\n                                                              <time is="relative-time" datetime="{{chatRoom.createdAt}}">\n                                                                   April 1, 2014\n                                                         </time>\n                                                       </td>\n                                         </tr>\n                                 </tbody>\n                                      <tfoot>\n                                               <tr>\n                                                  <td colspan="9" class="text-center">\n                                                          <div st-pagination class="pagination" st-items-by-page="conf.chatRoomsByPage" st-displayed-pages="7"></div>\n                                                   </td>\n                                         </tr>\n                                 </tfoot>\n                      </div>\n                        </table>\n                      <!-- END TABLE -->\n            </div>\n        </div>\n        <!-- END Portlet PORTLET-->\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/statistic/statistic.conversation.view.html",'<!-- BEGIN PAGE CONTENT-->\n<div data-ng-init="initRoomView()">\n        <div class="col-md-6">\n                <!-- BEGIN PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-book-open font-green-sharp"></i>\n                                       <span class="caption-subject">{{ \'APPLICATION_TRANSCRIPT\' | translate }}</a> </span>\n                                </div>\n                                <div class="actions">\n                                 <a class="btn btn-icon-only btn-default" href="#" ng-csv="chatRoom.ChatMessages" filename="chatMessages.csv">\n                                 <i class="icon-cloud-download"></i></a>\n                                       <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="scroller" style="height: 352px;" data-always-visible="1" data-rail-visible1="1">\n                                  <ul class="chats">\n                                            <li data-ng-class="{\'out\': chatMessage.visitorId, \'in\': chatMessage.userId}" data-ng-repeat="chatMessage in chatRoom.ChatMessages | orderBy:\'-createdAt\'">\n                                                      <img class="avatar" data-ng-src="api/users/{{chatMessage.userId ? chatMessage.userId : \'avatar\'}}/avatar"/>\n                                                 <div class="message">\n                                                         <span class="arrow">\n                                                          </span>\n                                                               <a href="#" class="name">\n                                                             {{chatMessage.fullname}} </a>\n                                                         <span class="datetime">\n                                                                       <time is="relative-time" datetime="{{chatMessage.createdAt}}">\n                                                                                April 1, 2014\n                                                                 </time>\n                                                               </span>\n                                                               <span class="body">\n                                                                   {{chatMessage.body}}\n                                                          </span>\n                                                       </div>\n                                                </li>\n                                 </ul>\n                         </div>\n                        </div>\n                <!-- END PORTLET-->\n           </div>\n        </div>\n        <div class="col-md-6">\n                <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-user font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_VISITOR\' | translate }}:</a> </span>\n                                  <span class="caption-helper">{{chatRoom.ChatVisitor.fullname}}</span>\n                         </div>\n                                <div class="actions">\n                                 <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.fullname">\n                                    <div class="col-md-4 name">\n                                           {{\'APPLICATION_FULLNAME\' | translate}}\n                                      </div>\n                                        <div class="col-md-8 value">\n                                          {{chatRoom.ChatVisitor.fullname}}\n                                     </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.email">\n                                       <div class="col-md-4 name">\n                                           {{\'APPLICATION_EMAIL\' | translate}}\n                                 </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.email}}\n                                        </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.remote_address">\n                                      <div class="col-md-4 name">\n                                           {{\'APPLICATION_REMOTE_ADDRESS\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.remote_address}}\n                                       </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.referer">\n                                     <div class="col-md-4 name">\n                                           {{\'APPLICATION_REFERER\' | translate}}\n                                       </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.referer}}\n                                      </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.browser">\n                                     <div class="col-md-4 name">\n                                           {{\'APPLICATION_BROWSER\' | translate}}\n                                       </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.browser}}\n                                      </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.engine">\n                                      <div class="col-md-4 name">\n                                           {{\'APPLICATION_ENGINE\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.engine}}\n                                       </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.os">\n                                  <div class="col-md-4 name">\n                                           {{\'APPLICATION_OS\' | translate}}\n                                    </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.os}}\n                                   </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.device">\n                                      <div class="col-md-4 name">\n                                           {{\'APPLICATION_DEVICE\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.device}}\n                                       </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.country">\n                                     <div class="col-md-4 name">\n                                           {{\'APPLICATION_COUNTRY\' | translate}}\n                                       </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.country}}\n                                      </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.region">\n                                      <div class="col-md-4 name">\n                                           {{\'APPLICATION_REGION\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.region}}\n                                       </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.city">\n                                        <div class="col-md-4 name">\n                                           {{\'APPLICATION_CITY\' | translate}}\n                                  </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.city}}\n                                 </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.latitude">\n                                    <div class="col-md-4 name">\n                                           {{\'APPLICATION_LATITUDE\' | translate}}\n                                      </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.latitude}}\n                                     </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.longitude">\n                                   <div class="col-md-4 name">\n                                           {{\'APPLICATION_LONGITUDE\' | translate}}\n                                     </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.longitude}}\n                                    </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.createdAt">\n                                   <div class="col-md-4 name">\n                                           {{\'APPLICATION_ARRIVAL_TIME\' | translate}}\n                                  </div>\n                                        <div class="col-md-4 value">\n                                          <time is="relative-time" datetime="{{chatRoom.ChatVisitor.createdAt}}">\n                                                       April 1, 2014\n                                         </time>\n                                       </div>\n                                </div>\n                        </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n           <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered" data-ng-repeat="user in chatRoom.Users">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-earphones-alt font-green-sharp"></i>\n                                   <span class="caption-subject">{{ \'APPLICATION_AGENT\' | translate }}:</a> </span>\n                                    <span class="caption-helper">{{user.fullname}}</span>\n                         </div>\n                                <div class="actions">\n                                 <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="row static-info">\n                                 <div class="col-md-4 name">\n                                           {{\'APPLICATION_FULLNAME\' | translate}}\n                                      </div>\n                                        <div class="col-md-4 value">\n                                          {{user.fullname}}\n                                     </div>\n                                </div>\n                                <div class="row static-info">\n                                 <div class="col-md-4 name">\n                                           {{\'APPLICATION_USERNAME\' | translate}}\n                                      </div>\n                                        <div class="col-md-4 value">\n                                          {{user.name}}\n                                 </div>\n                                </div>\n                                <div class="row static-info">\n                                 <div class="col-md-4 name">\n                                           {{\'APPLICATION_ROLE\' | translate}}\n                                  </div>\n                                        <div class="col-md-4 value">\n                                          {{user.role | uppercase}}\n                                     </div>\n                                </div>\n                        </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
+a.put("app/chat/statistic/statistic.enquiry.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="col-md-12">\n       <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered">\n          <div class="portlet-title">\n                   <div class="caption font-green-sharp">\n                                <i class="icon-question font-green-sharp"></i>\n                                <span class="caption-subject">{{ \'APPLICATION_ENQUIRIES\' | translate }}</a> </span>\n                 </div>\n                        <div class="actions">\n                         <a class="btn btn-icon-only btn-default" href="#" ng-csv="displayedChatEnquiries" filename="enquiries.csv">\n                           <i class="icon-cloud-download"></i></a>\n                               <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                     </div>\n                </div>\n                <div class="portlet-body">\n                    <!-- START TABLE -->\n                  <table st-table="displayedChatEnquiries" st-safe-src="chatEnquiries" class="table table-bordered table-hover">\n                                <div class="table-responsive">\n                                        <thead>\n                                               <tr>\n                                                  <th colspan="9">\n                                                              <div class="row">\n                                                                     <div class="col-md-6">\n                                                                                <select class="form-control input-small select2me" data-ng-model="conf.chatEnquiriesByPage">\n                                                                                  <option value="10">10</option>\n                                                                                        <option value="25">25</option>\n                                                                                        <option value="50">50</option>\n                                                                                        <option value="{{chatEnquiries.length}}">{{ \'APPLICATION_ALL\' | translate }}</option>\n                                                                               </select>\n                                                                     </div>\n                                                                        <div class="col-md-6">\n                                                                                <div class="input-group input-medium pull-right">\n                                                                                     <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search"/>\n                                                                                  <span class="input-group-addon">\n                                                                                              <i class="fa fa-search"></i>\n                                                                                  </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </th>\n                                         </tr>\n                                         <tr>\n                                                  <th st-sort="type">{{ \'APPLICATION_USERNAME\' | translate }}</th>\n                                                    <th st-sort="users">{{ \'APPLICATION_EMAIL\' | translate }}</th>\n                                                      <th st-sort="createdAt">{{ \'APPLICATION_TIME\' | translate }}</th>\n                                           </tr>\n                                 </thead>\n                                      <tbody>\n                                               <tr data-ng-repeat="chatEnquiry in displayedChatEnquiries" data-ng-click="$location.path(\'/chat/statistics/enquiry/\' + chatEnquiry.id)">\n                                                    <td style="text-align: center;">{{chatEnquiry.username}}</td>\n                                                 <td style="text-align: center;">{{chatEnquiry.email}}</td>\n                                                    <td style="text-align: center;">\n                                                              <time is="relative-time" datetime="{{chatEnquiry.createdAt}}">\n                                                                        April 1, 2014\n                                                         </time>\n                                                       </td>\n                                         </tr>\n                                 </tbody>\n                                      <tfoot>\n                                               <tr>\n                                                  <td colspan="9" class="text-center">\n                                                          <div st-pagination class="pagination" st-items-by-page="conf.chatEnquiriesByPage" st-displayed-pages="7"></div>\n                                                       </td>\n                                         </tr>\n                                 </tfoot>\n                      </div>\n                        </table>\n                      <!-- END TABLE -->\n            </div>\n        </div>\n        <!-- END Portlet PORTLET-->\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/statistic/statistic.enquiry.view.html",'<!-- BEGIN PAGE CONTENT-->\n<div data-ng-init="initEnquiryView()">\n  <div class="col-md-6">\n                <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-book-open font-green-sharp"></i>\n                                       <span class="caption-subject">{{ \'APPLICATION_TEXT\' | translate }}</a> </span>\n                              </div>\n                                <div class="actions">\n                                 <a class="btn btn-icon-only btn-default" href="#" ng-csv="chatEnquiry" filename="chatEnquery.csv">\n                                    <i class="icon-cloud-download"></i></a>\n                                       <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- BEGIN PAGE CONTENT-->\n                            <div class="note note-warning">\n                                       <h4 class="block">{{chatEnquiry.ChatVisitor.fullname}} -\n                                              <time is="relative-time" datetime="{{chatEnquiry.createdAt}}">\n                                                        April 1, 2014\n                                         </time>\n                                       </h4>\n                                 <p>\n                                            {{chatEnquiry.text}}\n                                 </p>\n                          </div>\n                        </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n        <div class="col-md-6">\n                <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-user font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_VISITOR\' | translate }}:</a> </span>\n                                  <span class="caption-helper">{{chatEnquiry.ChatVisitor.fullname}}</span>\n                              </div>\n                                <div class="actions">\n                                 <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.fullname">\n                                 <div class="col-md-4 name">\n                                           {{\'APPLICATION_FULLNAME\' | translate}}\n                                      </div>\n                                        <div class="col-md-8 value">\n                                          {{chatEnquiry.ChatVisitor.fullname}}\n                                  </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.email">\n                                    <div class="col-md-4 name">\n                                           {{\'APPLICATION_EMAIL\' | translate}}\n                                 </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.email}}\n                                     </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.remote_address">\n                                   <div class="col-md-4 name">\n                                           {{\'APPLICATION_REMOTE_ADDRESS\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.remote_address}}\n                                    </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.referer">\n                                  <div class="col-md-4 name">\n                                           {{\'APPLICATION_REFERER\' | translate}}\n                                       </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.referer}}\n                                   </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.browser">\n                                  <div class="col-md-4 name">\n                                           {{\'APPLICATION_BROWSER\' | translate}}\n                                       </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.browser}}\n                                   </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.engine">\n                                   <div class="col-md-4 name">\n                                           {{\'APPLICATION_ENGINE\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.engine}}\n                                    </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.os">\n                                       <div class="col-md-4 name">\n                                           {{\'APPLICATION_OS\' | translate}}\n                                    </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.os}}\n                                        </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.device">\n                                   <div class="col-md-4 name">\n                                           {{\'APPLICATION_DEVICE\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.device}}\n                                    </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.country">\n                                  <div class="col-md-4 name">\n                                           {{\'APPLICATION_COUNTRY\' | translate}}\n                                       </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.country}}\n                                   </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.region">\n                                   <div class="col-md-4 name">\n                                           {{\'APPLICATION_REGION\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.region}}\n                                    </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.city">\n                                     <div class="col-md-4 name">\n                                           {{\'APPLICATION_CITY\' | translate}}\n                                  </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.city}}\n                                      </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.latitude">\n                                 <div class="col-md-4 name">\n                                           {{\'APPLICATION_LATITUDE\' | translate}}\n                                      </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.latitude}}\n                                  </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.longitude">\n                                        <div class="col-md-4 name">\n                                           {{\'APPLICATION_LONGITUDE\' | translate}}\n                                     </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.longitude}}\n                                 </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.createdAt">\n                                        <div class="col-md-4 name">\n                                           {{\'APPLICATION_ARRIVAL_TIME\' | translate}}\n                                  </div>\n                                        <div class="col-md-4 value">\n                                          <time is="relative-time" datetime="{{chatEnquiry.ChatVisitor.createdAt}}">\n                                                    April 1, 2014\n                                         </time>\n                                       </div>\n                                </div>\n                        </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/statistic/statistic.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initList()">\n       <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-bubble"></i>\n                                   <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n                                        <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-eyeglass"></i>\n                                 <a href="/chat/statistics">{{ \'APPLICATION_STATISTICS\' | translate }}</a>\n                           </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img src="assets/images/media/statistics.png" class="img-responsive">\n                         </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <!-- <div class="profile-usertitle">\n                                  <div class="profile-usertitle-name">\n                                          {{chatWebsite.name}}\n                                  </div>\n                                        <div class="profile-usertitle-job">\n                                           {{chatWebsite.address}}\n                                       </div>\n                                </div> -->\n                            <!-- END SIDEBAR USER TITLE -->\n                               <!-- SIDEBAR BUTTONS -->\n                              <!-- <div class="profile-userbuttons">\n                                        <button type="button" class="btn btn-circle green-haze btn-sm">Follow</button>\n                                        <button type="button" class="btn btn-circle btn-danger btn-sm">Message</button>\n                               </div> -->\n                            <!-- END SIDEBAR BUTTONS -->\n                          <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.chat.statistics.summary\')}">\n                                                    <a ng-href="/chat/statistics/summary">\n                                                        <i class="icon-list"></i>\n                                                     {{ \'APPLICATION_SUMMARY\' | translate }} </a>\n                                                </li>\n                                         <li data-ng-class="{active: $state.is(\'main.chat.statistics.enquiry\') || $state.is(\'main.chat.statistics.enquiries\')}">\n                                                   <a ng-href="/chat/statistics/enquiries">\n                                                      <i class="icon-question"></i>\n                                                 {{ \'APPLICATION_ENQUIRIES\' | translate }} </a>\n                                              </li>\n                                         <li data-ng-class="{active: $state.is(\'main.chat.statistics.conversation\') || $state.is(\'main.chat.statistics.conversations\')}">\n                                                  <a ng-href="/chat/statistics/conversations">\n                                                  <i class="icon-notebook"></i>\n                                                 {{ \'APPLICATION_CONVERSATIONS\' | translate }} </a>\n                                          </li>\n                                         <li data-ng-class="{active: $state.is(\'main.chat.statistics.visitor\') || $state.is(\'main.chat.statistics.visitors\')}">\n                                                    <a ng-href="/chat/statistics/visitors">\n                                                       <i class="icon-users"></i>\n                                                    {{ \'APPLICATION_VISITORS\' | translate }} </a>\n                                               </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/statistic/statistic.summary.html",'<div class="col-md-12">\n       <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered" data-ng-show="online">\n            <div class="portlet-title">\n                   <div class="caption font-green-sharp">\n                                <i class="icon-notebook font-green-sharp"></i>\n                                <span class="caption-subject">{{ \'APPLICATION_LOCATIONS\' | translate }}</a> </span>\n                 </div>\n                </div>\n                <div class="portlet-body">\n                    <map center="0, 0" zoom="2">\n                          <marker data-ng-show="chatVisitor.latitude && chatVisitor.longitude" data-ng-repeat="chatVisitor in chatVisitors" position="{{chatVisitor.latitude}}, {{chatVisitor.longitude}}" title="{{chatVisitor.fullname}}"></marker>\n                   </map>\n                </div>\n        </div>\n        <!-- END Portlet PORTLET-->\n\n\n       <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered">\n          <div class="portlet-title">\n                   <div class="caption font-green-sharp">\n                                <i class="icon-notebook font-green-sharp"></i>\n                                <span class="caption-subject">{{ \'APPLICATION_CONVERSATIONS\' | translate }}</a> </span>\n                     </div>\n                </div>\n                <div class="portlet-body">\n                    <div class="row">\n                             <div class="col-md-6">\n                                        <div class="portlet sale-summary">\n                                            <div class="portlet-body">\n                                                    <ul class="list-unstyled">\n                                                            <li>\n                                                                  <span class="sale-info">\n                                                                      {{ \'APPLICATION_OPENED\' | translate }} <i class="fa fa-img-up"></i>\n                                                                 </span>\n                                                                       <span class="sale-num">\n                                                                       {{ (chatRooms | filter:{ status:\'open\' }).length }} </span>\n                                                         </li>\n                                                         <li>\n                                                                  <span class="sale-info">\n                                                                      {{ \'APPLICATION_CLOSED\' | translate }} <i class="fa fa-img-down"></i>\n                                                                       </span>\n                                                                       <span class="sale-num">\n                                                                       {{ (chatRooms | filter:{ status:\'close\' }).length }} </span>\n                                                                </li>\n                                                 </ul>\n                                         </div>\n                                        </div>\n                                </div>\n                                <div class="col-md-6">\n                                        <canvas class="chart chart-pie" data="[(chatRooms | filter:{ status:\'open\' }).length, (chatRooms | filter:{ status:\'close\' }).length]" labels="[$translate.instant(\'APPLICATION_OPENED\'), $translate.instant(\'APPLICATION_CLOSED\')]" legend="true"></canvas>\n                          </div>\n                        </div>\n                </div>\n        </div>\n        <!-- END Portlet PORTLET-->\n\n <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered">\n          <div class="portlet-title">\n                   <div class="caption font-green-sharp">\n                                <i class="icon-users font-green-sharp"></i>\n                           <span class="caption-subject">{{ \'APPLICATION_VISITORS\' | translate }}</a> </span>\n                  </div>\n                </div>\n                <div class="portlet-body">\n                    <div class="row">\n                             <div class="col-md-6">\n                                        <div class="portlet sale-summary">\n                                            <div class="portlet-body">\n                                                    <ul class="list-unstyled">\n                                                            <li>\n                                                                  <span class="sale-info">\n                                                                      {{ \'APPLICATION_PENDING\' | translate }} <i class="fa fa-img-up"></i>\n                                                                        </span>\n                                                                       <span class="sale-num">\n                                                                       {{ (chatVisitors | filter:{ status:\'pending\' }).length }} </span>\n                                                           </li>\n                                                         <li>\n                                                                  <span class="sale-info">\n                                                                      {{ \'APPLICATION_SERVED\' | translate }} <i class="fa fa-img-down"></i>\n                                                                       </span>\n                                                                       <span class="sale-num">\n                                                                       {{ (chatVisitors | filter:{ status:\'served\' }:true).length }} </span>\n                                                               </li>\n                                                         <li>\n                                                                  <span class="sale-info">\n                                                                      {{ \'APPLICATION_UNSERVED\' | translate }} </span>\n                                                                    <span class="sale-num">\n                                                                       {{ (chatVisitors | filter:{ status:\'unserved\' }).length }} </span>\n                                                          </li>\n                                                 </ul>\n                                         </div>\n                                        </div>\n                                </div>\n                                <div class="col-md-6">\n                                        <canvas class="chart chart-pie" data="[(chatVisitors | filter:{ status:\'pending\' }).length, (chatVisitors | filter:{ status:\'served\' }:true).length, (chatVisitors | filter:{ status:\'unserved\' }).length]" labels="[$translate.instant(\'APPLICATION_PENDING\'), $translate.instant(\'APPLICATION_SERVED\'), $translate.instant(\'APPLICATION_UNSERVED\')]" legend="true"></canvas>\n                            </div>\n                        </div>\n                </div>\n        </div>\n        <!-- END Portlet PORTLET-->\n\n <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered">\n          <div class="portlet-title">\n                   <div class="caption font-green-sharp">\n                                <i class="icon-question font-green-sharp"></i>\n                                <span class="caption-subject">{{ \'APPLICATION_ENQUIRIES\' | translate }}</a> </span>\n                 </div>\n                </div>\n                <div class="portlet-body">\n                    <div class="row">\n                             <div class="col-md-6">\n                                        <div class="portlet sale-summary">\n                                            <div class="portlet-body">\n                                                    <ul class="list-unstyled">\n                                                            <li>\n                                                                  <span class="sale-info">\n                                                                      {{ \'APPLICATION_READ\' | translate }}<i class="fa fa-img-up"></i>\n                                                                    </span>\n                                                                       <span class="sale-num">\n                                                                       {{(chatEnquiries | filter:{ read:true }).length}} </span>\n                                                             </li>\n                                                         <li>\n                                                                  <span class="sale-info">\n                                                                      {{ \'APPLICATION_UNREAD\' | translate }}<i class="fa fa-img-down"></i>\n                                                                        </span>\n                                                                       <span class="sale-num">\n                                                                       {{(chatEnquiries | filter:{ read:false }).length}} </span>\n                                                            </li>\n                                                 </ul>\n                                         </div>\n                                        </div>\n                                </div>\n                                <div class="col-md-6">\n                                        <canvas class="chart chart-pie" data="[(chatEnquiries | filter:{ read:true }).length, (chatEnquiries | filter:{ read:false }).length]" labels="[$translate.instant(\'APPLICATION_READ\'), $translate.instant(\'APPLICATION_UNREAD\')]" legend="true" ng-show="true"></canvas>\n                         </div>\n                        </div>\n                </div>\n        </div>\n        <!-- END Portlet PORTLET-->\n</div>\n'),a.put("app/chat/statistic/statistic.visitor.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="col-md-12">\n        <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered">\n          <div class="portlet-title">\n                   <div class="caption font-green-sharp">\n                                <i class="icon-users font-green-sharp"></i>\n                           <span class="caption-subject">{{ \'APPLICATION_VISITORS\' | translate }}</a> </span>\n                  </div>\n                        <div class="actions">\n                         <a class="btn btn-icon-only btn-default" href="#" ng-csv="displayedChatVisitors" filename="visitors.csv">\n                             <i class="icon-cloud-download"></i></a>\n                               <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                     </div>\n                </div>\n                <div class="portlet-body">\n                    <!-- START TABLE -->\n                  <table st-table="displayedChatVisitors" st-safe-src="chatVisitors" class="table table-bordered table-hover">\n                          <div class="table-responsive">\n                                        <thead>\n                                               <tr>\n                                                  <th colspan="9">\n                                                              <div class="row">\n                                                                     <div class="col-md-6">\n                                                                                <select class="form-control input-small select2me" data-ng-model="conf.chatVisitorsByPage">\n                                                                                   <option value="10">10</option>\n                                                                                        <option value="25">25</option>\n                                                                                        <option value="50">50</option>\n                                                                                        <option value="{{chatVisitors.length}}">{{ \'APPLICATION_ALL\' | translate }}</option>\n                                                                                </select>\n                                                                     </div>\n                                                                        <div class="col-md-6">\n                                                                                <div class="input-group input-medium pull-right">\n                                                                                     <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                 <span class="input-group-addon">\n                                                                                              <i class="fa fa-search"></i>\n                                                                                  </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </th>\n                                         </tr>\n                                         <tr>\n                                                  <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                        <th st-sort="email">{{ \'APPLICATION_EMAIL\' | translate }}</th>\n                                                      <th st-sort="remote_address">{{ \'APPLICATION_REMOTE_ADDRESS\' | translate }}</th>\n                                                    <th st-sort="referer">{{ \'APPLICATION_ORIGIN\' | translate }}</th>\n                                                   <th st-sort="device">{{ \'APPLICATION_DEVICE\' | translate }}</th>\n                                                    <th st-sort="browser">{{ \'APPLICATION_BROWSER\' | translate }}</th>\n                                                  <th st-sort="visitor_language">{{ \'APPLICATION_LANGUAGES\' | translate }}</th>\n                                                       <th st-sort="status">{{ \'APPLICATION_STATUS\' | translate }}</th>\n                                                    <th st-sort="createdAt">{{ \'APPLICATION_TIME\' | translate }}</th>\n                                           </tr>\n                                 </thead>\n                                      <tbody>\n                                               <tr data-ng-repeat="chatVisitor in displayedChatVisitors" data-ng-click="$location.path(\'/chat/statistics/visitor/\' + chatVisitor.id)">\n                                                     <td>{{chatVisitor.fullname}}</td>\n                                                     <td>{{chatVisitor.email}}</td>\n                                                        <td>{{chatVisitor.remote_address}}</td>\n                                                       <td>{{chatVisitor.referer}}</td>\n                                                      <td class="centered-td">{{chatVisitor.device ? chatVisitor.device : \'--\'}}</td>\n                                                     <td class="centered-td">\n                                                              <img data-ng-show="chatVisitor.browser.includes(\'Chrome\')" data-ng-src="assets/images/browsers/chrome/chrome_16x16.png" data-title="{{chatVisitor.browser}}" bs-tooltip>\n                                                            <img data-ng-show="chatVisitor.browser.includes(\'Safari\')" data-ng-src="assets/images/browsers/safari/safari_16x16.png">\n                                                            <img data-ng-show="chatVisitor.browser.includes(\'Firefox\')" data-ng-src="assets/images/browsers/firefox/firefox_16x16.png">\n                                                         <img data-ng-show="chatVisitor.browser.includes(\'Explorer\')" data-ng-src="assets/images/browsers/internet-explorer/internet-explorer_16x16.png">\n                                                    </td>\n                                                 <td class="centered-td">\n                                                              <img data-ng-show="chatVisitor.visitor_language.includes(\'IT\') || chatVisitor.visitor_language.includes(\'it\')" data-ng-src="assets/images/flags/it.png">\n                                                          <img data-ng-show="chatVisitor.visitor_language.includes(\'US\') || chatVisitor.visitor_language.includes(\'us\')" data-ng-src="assets/images/flags/us.png">\n                                                          <img data-ng-show="chatVisitor.visitor_language.includes(\'EN\') || chatVisitor.visitor_language.includes(\'en\')" data-ng-src="assets/images/flags/en_EN.png">\n                                                       </td>\n                                                 <td class="centered-td">\n                                                              <span class="label label-sm label-success" data-ng-class="{\'label-warning\': chatVisitor.status == \'pending\', \'label-danger\': chatVisitor.status == \'unserved\'}">\n                                                                      {{ $translate.instant(\'APPLICATION_\' + $filter(\'uppercase\')(chatVisitor.status)) }}\n                                                               </span>\n                                                       </td>\n                                                 <td style="text-align: center;">\n                                                              <time is="relative-time" datetime="{{chatVisitor.createdAt}}">\n                                                                        April 1, 2014\n                                                         </time>\n                                                       </td>\n                                         </tr>\n                                 </tbody>\n                                      <tfoot>\n                                               <tr>\n                                                  <td colspan="9" class="text-center">\n                                                          <div st-pagination class="pagination" st-items-by-page="conf.chatVisitorsByPage" st-displayed-pages="7"></div>\n                                                        </td>\n                                         </tr>\n                                 </tfoot>\n                      </div>\n                        </table>\n                      <!-- END TABLE -->\n            </div>\n        </div>\n        <!-- END Portlet PORTLET-->\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/statistic/statistic.visitor.view.html",'<!-- BEGIN PAGE CONTENT-->\n<div data-ng-init="initVisitorView()">\n  <div class="col-md-6">\n                <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-pin font-green-sharp"></i>\n                                     <span class="caption-subject">{{ \'APPLICATION_LOCATION\' | translate }}</a> </span>\n                          </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- BEGIN PAGE CONTENT-->\n                            <map center="{{chatVisitor.latitude}}, {{chatVisitor.longitude}}" zoom="8">\n                                   <marker position="{{chatVisitor.latitude}}, {{chatVisitor.longitude}}" title="{{chatVisitor.fullname}}"></marker>\n                             </map>\n                        </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n        <div class="col-md-6">\n                <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-user font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_VISITOR\' | translate }}:</a> </span>\n                                  <span class="caption-helper">{{chatVisitor.fullname}}</span>\n                          </div>\n                                <div class="actions">\n                                 <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="row static-info" data-ng-show="chatVisitor.longitude && chatVisitor.latitude">\n                            </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.fullname">\n                                     <div class="col-md-4 name">\n                                           {{\'APPLICATION_FULLNAME\' | translate}}\n                                      </div>\n                                        <div class="col-md-8 value">\n                                          {{chatVisitor.fullname}}\n                                      </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.email">\n                                        <div class="col-md-4 name">\n                                           {{\'APPLICATION_EMAIL\' | translate}}\n                                 </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.email}}\n                                 </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.remote_address">\n                                       <div class="col-md-4 name">\n                                           {{\'APPLICATION_REMOTE_ADDRESS\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.remote_address}}\n                                        </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.referer">\n                                      <div class="col-md-4 name">\n                                           {{\'APPLICATION_REFERER\' | translate}}\n                                       </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.referer}}\n                                       </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.browser">\n                                      <div class="col-md-4 name">\n                                           {{\'APPLICATION_BROWSER\' | translate}}\n                                       </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.browser}}\n                                       </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.engine">\n                                       <div class="col-md-4 name">\n                                           {{\'APPLICATION_ENGINE\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.engine}}\n                                        </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.os">\n                                   <div class="col-md-4 name">\n                                           {{\'APPLICATION_OS\' | translate}}\n                                    </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.os}}\n                                    </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.device">\n                                       <div class="col-md-4 name">\n                                           {{\'APPLICATION_DEVICE\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.device}}\n                                        </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.country">\n                                      <div class="col-md-4 name">\n                                           {{\'APPLICATION_COUNTRY\' | translate}}\n                                       </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.country}}\n                                       </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.region">\n                                       <div class="col-md-4 name">\n                                           {{\'APPLICATION_REGION\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.region}}\n                                        </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.city">\n                                 <div class="col-md-4 name">\n                                           {{\'APPLICATION_CITY\' | translate}}\n                                  </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.city}}\n                                  </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.latitude">\n                                     <div class="col-md-4 name">\n                                           {{\'APPLICATION_LATITUDE\' | translate}}\n                                      </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.latitude}}\n                                      </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.longitude">\n                                    <div class="col-md-4 name">\n                                           {{\'APPLICATION_LONGITUDE\' | translate}}\n                                     </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.longitude}}\n                                     </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.createdAt">\n                                    <div class="col-md-4 name">\n                                           {{\'APPLICATION_ARRIVAL_TIME\' | translate}}\n                                  </div>\n                                        <div class="col-md-4 value">\n                                          <time is="relative-time" datetime="{{chatVisitor.createdAt}}">\n                                                        April 1, 2014\n                                         </time>\n                                       </div>\n                                </div>\n                        </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/timeline/list/list.html",'<div class="row">\n      <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-envelope"></i>\n                                         <a href="#">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                                <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-list"></i>\n                                             <a href="/mail/timeline/list"> Timeline</a>\n                                   </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initList()">\n     <div class="col-md-12">\n    <h3 class="page-title">\n                          Timeline\n                      </h3>\n                 <!-- END PAGE HEADER-->\n                       <!-- BEGIN PAGE CONTENT-->\n                    <div class="timeline">\n                                <!-- TIMELINE ITEM -->\n                                <div class="timeline-item" data-ng-repeat="event in events | orderBy:\'-id\'"  ng-animate=" \'animate\' ">\n                                    <div class="timeline-badge">\n                                          <div class="timeline-icon">\n                                                   <i class="icon-envelope font-green-haze"></i>\n                                         </div>\n                                        </div>\n                                        <div class="timeline-body">\n                                           <div class="timeline-body-arrow"></div>\n                                               <div class="timeline-body-head">\n                                                      <div class="timeline-body-head-caption">\n                                                              <span class="timeline-body-alerttitle" data-ng-class="{\'font-red\': event.name == \'INCOMING\', \'font-blue\': event.name == \'ATTEMPT\', \'font-green\': event.name == \'TAKEN\'}">{{event.name | uppercase}}</span>\n                                                                <span class="timeline-body-time font-grey-cascade">at {{event.createdAt | date:\'yyyy-MM-dd HH:mm:ss\'}}</span>\n                                                       </div>\n                                                        <div class="timeline-body-head-actions">\n                                                              <div class="btn-group">\n                                                                       <a class="btn btn-circle btn-sm dropdown-toggle btn-success" href="/mail/inbox/room/{{event.MailRoomId}}">Go To Mail</a>\n                                                              </div>\n                                                        </div>\n                                                </div>\n                                                <div class="timeline-body-content">\n                                                   <span class="font-grey-cascade" data-ng-show="event.User">\n                                                    {{event.MailRoom.subject ? event.MailRoom.subject + \' - \' : \'\'}}<a href="/agents/view/{{event.UserId}}/account">{{event.User.fullname}}</a>\n                                                       </span>\n                                               </div>\n                                        </div>\n                                </div>\n                                <!-- END TIMELINE ITEM -->\n                    </div>\n                        <!-- END PAGE CONTENT-->\n      </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/website/list/list.html",'<div class="row">\n       <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-bubble"></i>\n                                           <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n                                                <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-globe"></i>\n                                            <a href="/chat/websites/list">{{ \'APPLICATION_WEB_SITES\' | translate }}</a>\n                                 </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_WEB_SITES\' | translate }}</a> </span>\n                         </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="chatWebsites.checked.length">\n                                            <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_WEB_SITE\' | translate }} <i class="fa fa-angle-down"></i>\n                                             </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <!-- <li>\n                                                             <a href="#" data-ng-click="open()">\n                                                           <i class="icon-user"></i> {{ \'APPLICATION_QUICK\' | translate }} </a>\n                                                        </li> -->\n                                                     <li>\n                                                          <a href="/chat/websites/wizard">\n                                                              <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                                 <!-- <li>\n                                                             <a href="#">\n                                                          <i class="icon-users"></i> {{ \'APPLICATION_BULK\' | translate }} </a>\n                                                        </li> -->\n                                             </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getChatWebsites([\'name\', \'address\', \'description\', \'remote\'])" csv-header="[\'Name\', \'Address\', \'Description\', \'Remote\']" field-separator=";" filename="chat_websites.csv">\n                                  <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedChatWebsites" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                    <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="5">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.chatWebsitesByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                          <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="chatWebsiteByPage in chatWebsitesByPage | filter: $select.search">\n                                                                                                 <div ng-bind-html="chatWebsiteByPage.name | highlight: $select.search"></div>\n                                                                                         </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(agent, checked)" checklist-model checklist-value="id"></th>\n                                                    <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                              <th st-sort="address">{{ \'APPLICATION_WEB_ADDRESS\' | translate }}</th>\n                                                          <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="chatWebsite in displayedChatWebsites" class="animate-repeat">\n                                                         <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="chatWebsites.checked" checklist-value="chatWebsite.id"></td>\n                                         <td>{{chatWebsite.name}}</td>\n                                                           <td>{{chatWebsite.description}}</td>\n                                        <td><a ng-href="{{chatWebsite.address}}">{{chatWebsite.address}}</a></td>\n                                             <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/chat/websites/view/{{chatWebsite.id}}/snippet/view">\n                                                                         {{ \'APPLICATION_PROFILE\' | translate }}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(chatWebsite.name,chatWebsite.id)">\n                                                                         {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedChatWebsites.length">\n                                                              <td colspan="5" style="text-align:center;">\n                                                                   <i>{{\'MESSAGE_NO_AVAILABLE_WEBSITES\' | translate}}</i>\n                                                              </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="address" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_WEB_ADDRESS\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                      </div>\n                                                    </td>\n                                                 <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="5" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.chatWebsitesByPage.value" st-displayed-pages="7"></div>\n                                        </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
 a.put("app/chat/website/view/action/list/list.html",'<div class="row" data-ng-init="initActons()">\n   <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title  tabbable-line">\n                            <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_ACTIONS\' | translate}}</span>\n                         </div>\n                                <div class="actions">\n                                 <div class="btn-group">\n                                               <a class="btn green-jungle " href="/chat/websites/view/{{chatWebsite.id}}/actions/wizard" data-toggle="dropdown">\n                                                     <i class="icon-plus"></i> {{ \'APPLICATION_NEW_ACTION\' | translate }}\n                                                </a>\n                                  </div>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table class="table table-striped table-bordered table-hover">\n                                          <thead>\n                                               <tr>\n                                                    <th class="input-small" align="center">{{\'APPLICATION_APPLICATION\' | translate}}</th>\n                                                           <th class="input-small" align="center">{{\'APPLICATION_TIMEOUT\' | translate}} [s]</th>\n                                                   <th align="center">{{ \'APPLICATION_INTERVAL\' | translate }}</th>\n                                                                <th class="input-small">{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                  </tr>\n                                         </thead>\n                                      <tbody ui-sortable="sortableOptions" data-ng-model="chatApplications">\n                                          <tr data-ng-repeat="application in chatApplications">\n                                                             <td align="center">\n                                                                   {{application.User ? \'agent\' : \'queue\' | uppercase}} [{{application.User ? application.User.fullname : application.ChatQueue.name}}]\n                                                              </td>\n                                                         <td align="center">{{application.timeout}}</td>\n                                                               <td align="center">{{application.Interval ? application.Interval.name : application.interval}}</td>\n                                                           <td>\n                                                                  <a class="btn default btn-xs blue-stripe" data-ng-href="/chat/websites/view/{{chatWebsite.id}}/actions/view/{{application.id}}">\n                                                                              {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(application.app, application.id)">\n                                                                         {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="chatApplications.length">\n                                                           <td colspan="5" style="text-align:center;">\n                                                                   <i>No applications available</i>\n                                                              </td>\n                                                 </tr>\n                                   </tbody>\n                            </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/chat/website/view/action/view/view.html",'\n<div class="row" data-ng-init="initAction()">\n       <div class="col-md-12">\n               <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-directions font-green-sharp"></i>\n                                      <span class="caption-subject">{{ \'APPLICATION_ACTION\' | translate }}</a> </span>\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <form name="forms.settings" ng-submit="updateItem()" novalidate>\n                                      <!-- START APP -->\n                                    <div class="form-group"  data-ng-class="{\'has-error\': (forms.settings.app.$touched || forms.settings.$submitted) && forms.settings.app.$invalid}">\n                                          <label class="control-label">{{ \'APPLICATION_APPLICATION\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                <ui-select data-ng-model="application.app" name="app" theme="bootstrap" required>\n                                                     <ui-select-match placeholder="{{ \'APPLICATION_APPLICATION\' | translate }}">{{$select.selected.name}}</ui-select-match>\n                                                      <ui-select-choices repeat="app.value as app in apps | filter: $select.search">\n                                                                <div ng-bind-html="app.name | highlight: $select.search"></div>\n                                                       </ui-select-choices>\n                                          </ui-select>\n                                          <span data-ng-show="(forms.settings.app.$touched || forms.settings.$submitted) && forms.settings.app.$invalid && forms.settings.app.$error.required" class="help-block help-block-error">\n                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                         </span>\n                                       </div>\n                                        <!-- END APP -->\n\n                                    <!-- START HOST -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.timeout.$touched || forms.settings.$submitted) && forms.settings.timeout.$invalid}">\n                                           <label class="control-label">{{\'APPLICATION_TIMEOUT\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                             <input type="number" name="timeout" placeholder="{{\'APPLICATION_TIMEOUT\' | translate}}" class="form-control" data-ng-model="application.timeout" min="0" required/>\n                                         <span data-ng-show="(forms.settings.timeout.$touched || forms.settings.$submitted) && forms.settings.timeout.$invalid && forms.settings.timeout.$error.required" class="help-block help-block-error">\n                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                         </span>\n                                       </div>\n                                        <!-- END HOST -->\n\n                                   <div class="app-settings" ng-slide-down="application.app === \'queue\'" lazy-render duration="1" data-ng-init="getQueues()">\n                                          <!-- START QUEUE -->\n                                          <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.queue.$touched || forms.settings.$submitted) && forms.settings.queue.$invalid}">\n                                                       <label class="control-label">{{\'APPLICATION_QUEUE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                        <ui-select class="input-medium" data-ng-model="application.ChatQueueId" name="queue" theme="bootstrap" required>\n                                                              <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                              <ui-select-choices repeat="queue.id as queue in queues | filter: $select.search">\n                                                                     <div ng-bind-html="queue.name | highlight: $select.search"></div>\n                                                             </ui-select-choices>\n                                                  </ui-select>\n                                                  <span data-ng-show="(forms.settings.queue.$touched || forms.settings.$submitted) && forms.settings.queue.$error.required" class="help-block help-block-error">\n                                                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END QUEUE -->\n                                    </div>\n\n                                      <div class="app-settings" ng-slide-down="application.app === \'agent\'" lazy-render duration="1" data-ng-init="getAgents()">\n                                          <!-- START AGENT -->\n                                          <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.agent.$touched || forms.settings.$submitted) && forms.settings.agent.$invalid}">\n                                                       <label class="control-label">{{\'APPLICATION_AGENT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                        <ui-select data-ng-model="application.UserId" name="agent" theme="bootstrap" required>\n                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.fullname}}</ui-select-match>\n                                                          <ui-select-choices repeat="agent.id as agent in agents | filter: $select.search">\n                                                                     <div ng-bind-html="agent.fullname | highlight: $select.search"></div>\n                                                         </ui-select-choices>\n                                                  </ui-select>\n                                                  <span data-ng-show="(forms.settings.agent.$touched || forms.settings.$submitted) && forms.settings.agent.$error.required" class="help-block help-block-error">\n                                                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END AGENT -->\n                                    </div>\n\n                                      <!-- START INTERVAL_TYPE -->\n                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.intType.$touched || forms.settings.$submitted) && forms.settings.intType.$invalid}">\n                                           <label class="control-label">{{ \'APPLICATION_INTERVAL_TYPE\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                              <ui-select data-ng-model="application.intType" theme="bootstrap" name="intType" required>\n                                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{ $select.selected.name | translate }}</ui-select-match>\n                                                        <ui-select-choices repeat="intType.value as intType in $application.intTypes | filter: $select.search">\n                                                               {{ intType.name | translate }}\n                                                        </ui-select-choices>\n                                          </ui-select>\n                                          <span data-ng-show="(forms.settings.intType.$touched || forms.settings.$submitted) && forms.settings.intType.$error.required" class="help-block help-block-error">\n                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                         </span>\n                                       </div>\n                                        <!-- END INTERVAL_TYPE -->\n\n                                  <div class="app-settings" ng-slide-down="application.intType === \'custom\'" lazy-render duration="1">\n                                                <!-- START TIME -->\n                                           <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_TIME\' | translate }}</label>\n                                                   <div class="input-group input-large">\n                                                         <fieldset class="pull-left" ng-disabled="application.alwaysTime">\n                                                                     <uib-timepicker name="t_from" data-ng-model="application.t_from" show-meridian="false" show-spinners="false" mousewheel="false"></uib-timepicker>\n                                                             </fieldset>\n                                                           <div class="input-group-addon col-md-1 interval-to pull-left">to</div>\n                                                                <fieldset ng-disabled="application.alwaysTime"><uib-timepicker  name="t_to" data-ng-model="application.t_to" show-meridian="false" show-spinners="false" mousewheel="false"></uib-timepicker></fieldset>\n                                                              <!-- <label class="control-label pointer-cursor"><input type="checkbox" data-ng-model="application.alwaysTime">{{\'APPLICATION_ALWAYS\' | translate}}</label> -->\n                                                     </div>\n                                                </div>\n                                                <!-- END TIME -->\n\n                                           <!-- START ALWAYS -->\n                                         <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_ALWAYS\' | translate }}</label>\n                                                 <div class="input-group input-large">\n                                                         <label class="control-label pointer-cursor">\n                                                                  <input\n                                                                                bs-switch\n                                                                             data-ng-model="application.alwaysTime"\n                                                                                type="checkbox"\n                                                                               switch-active="{{ isActive }}"\n                                                                                switch-on-text="{{ \'APPLICATION_YES\' | translate }}"\n                                                                                switch-off-text="{{ \'APPLICATION_NO\' | translate }}"\n                                                                                switch-on-color="{{ onColor }}"\n                                                                               switch-off-color="{{ offColor }}"\n                                                                             switch-animate="{{ animate }}"\n                                                                                switch-size="{{ size }}"\n                                                                              switch-label="{{ label }}"\n                                                                            switch-icon="{{ icon }}"\n                                                                              switch-radio-off="{{ radioOff }}"\n                                                                             switch-label-width="{{ labelWidth }}"\n                                                                         switch-handle-width="{{ handleWidth }}">\n                                                                      <!-- <input type="checkbox" data-ng-model="application.alwaysTime"> -->\n                                                               </label>\n                                                      </div>\n                                                </div>\n                                                <!-- END ALWAYS -->\n\n                                         <!-- START WEEKDAY -->\n                                                <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_WEEKDAY\' | translate }}</label>\n                                                        <div class="input-group input-large">\n                                                         <ui-select data-ng-model="application.wd_from" theme="bootstrap" name="wd_from">\n                                                                      <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                     <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                                                                                {{ weekDay.name | translate}}\n                                                                 </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="input-group-addon">to</span>\n                                                             <ui-select data-ng-model="application.wd_to" theme="bootstrap" name="wd_to">\n                                                                  <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                     <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                                                                                {{ weekDay.name | translate }}\n                                                                        </ui-select-choices>\n                                                          </ui-select>\n                                                  </div>\n                                                </div>\n                                                <!-- END WEEKDAY -->\n\n                                                <!-- START MONTHDAY -->\n                                               <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_MONTHDAY\' | translate }}</label>\n                                                       <div class="input-group input-large">\n                                                         <ui-select data-ng-model="application.md_from" theme="bootstrap" name="md_from">\n                                                                      <ui-select-match>{{$select.selected}}</ui-select-match>\n                                                                       <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                                                                               {{monthDay}}\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="input-group-addon">to</span>\n                                                             <ui-select data-ng-model="application.md_to" theme="bootstrap" name="md_to">\n                                                                  <ui-select-match>{{$select.selected}}</ui-select-match>\n                                                                       <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                                                                               {{monthDay}}\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                  </div>\n                                                </div>\n                                                <!-- END MONTHDAY -->\n\n                                               <!-- START MONTH -->\n                                          <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_MONTH\' | translate }}</label>\n                                                  <div class="input-group input-large">\n                                                         <ui-select data-ng-model="application.m_from" theme="bootstrap" name="m_from">\n                                                                        <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                     <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                                                                                {{ month.name | translate }}\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="input-group-addon">to</span>\n                                                             <ui-select data-ng-model="application.m_to" theme="bootstrap" name="m_to">\n                                                                    <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                     <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                                                                                {{ month.name | translate }}\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                  </div>\n                                                </div>\n                                                <!-- END MONTH -->\n                                    </div>\n\n                                      <div class="app-settings" ng-slide-down="application.intType === \'list\'" lazy-render duration="1" data-ng-init="getIntervals()">\n\n                                          <!-- START INTERVALS -->\n                                              <div class="form-group inpu" data-ng-class="{\'has-error\': (forms.settings.IntervalId.$touched || forms.settings.$submitted) && forms.settings.IntervalId.$invalid}">\n                                                        <label class="control-label">{{\'APPLICATION_INTERVALS\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                    <ui-select data-ng-model="application.IntervalId" theme="bootstrap" name="IntervalId" required>\n                                                               <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{ $select.selected.name}}</ui-select-match>\n                                                             <ui-select-choices repeat="interval.id as interval in intervals | filter: $select.search">\n                                                                    {{ interval.name}}\n                                                            </ui-select-choices>\n                                                  </ui-select>\n                                                  <span data-ng-show="(forms.settings.IntervalId.$touched || forms.settings.$submitted) && forms.settings.IntervalId.$error.required" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END INTERVALS -->\n\n                                      </div>\n                                        <button class="btn green-haze" type="submit">{{\'APPLICATION_UPDATE\' | translate}}</button>\n                          </form>\n                       </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/website/view/action/wizard/wizard.html",'\n<div class="row" data-ng-init="initWizard()">\n <div class="col-md-12">\n               <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-directions font-green-sharp"></i>\n                                      <span class="caption-subject">{{ \'APPLICATION_ACTION\' | translate }} WIZARD</a> </span>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n                                     <wz-step title="{{\'APPLICATION_APPLICATION\' | translate}}" canexit="formValidation(forms.action.$valid)">\n                                           <form name="forms.action" novalidate>\n                                                 <!-- START APP -->\n                                                    <div class="form-group"  data-ng-class="{\'has-error\': forms.action.$submitted && forms.action.app.$invalid}">\n                                                               <label class="control-label">{{ \'APPLICATION_APPLICATION\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                                <ui-select data-ng-model="application.app" name="app" theme="bootstrap" required>\n                                                                     <ui-select-match placeholder="{{ \'APPLICATION_APPLICATION\' | translate }}">{{$select.selected.name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="app.value as app in apps | filter: $select.search">\n                                                                                <div ng-bind-html="app.name | highlight: $select.search"></div>\n                                                                       </ui-select-choices>\n                                                          </ui-select>\n                                                          <span data-ng-show="forms.action.$submitted && forms.action.app.$invalid" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END APP -->\n\n                                                    <!-- START HOST -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.action.timeout.$touched || forms.action.$submitted) && forms.action.timeout.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_TIMEOUT\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                             <input type="number" name="timeout" placeholder="{{\'APPLICATION_TIMEOUT\' | translate}}" class="form-control" data-ng-model="application.timeout" min="0" required/>\n                                                         <span data-ng-show="(forms.action.timeout.$touched || forms.action.$submitted) && forms.action.timeout.$invalid && forms.action.timeout.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END HOST -->\n\n                                                   <div class="app-settings" ng-slide-down="application.app === \'queue\'" lazy-render duration="1" data-ng-init="getQueues()">\n                                                          <!-- START QUEUE -->\n                                                          <div class="form-group" data-ng-class="{\'has-error\': (forms.action.queue.$touched || forms.action.$submitted) && forms.action.queue.$invalid}">\n                                                                     <label class="control-label">{{\'APPLICATION_QUEUE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                        <ui-select data-ng-model="application.ChatQueueId" name="queue" theme="bootstrap" required>\n                                                                           <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                              <ui-select-choices repeat="queue.id as queue in queues | filter: $select.search">\n                                                                                     <div ng-bind-html="queue.name | highlight: $select.search"></div>\n                                                                             </ui-select-choices>\n                                                                  </ui-select>\n                                                                  <span data-ng-show="(forms.action.queue.$touched || forms.action.$submitted) && forms.action.queue.$error.required" class="help-block help-block-error">\n                                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END QUEUE -->\n                                                    </div>\n\n                                                      <div class="app-settings" ng-slide-down="application.app === \'agent\'" lazy-render duration="1" data-ng-init="getAgents()">\n                                                          <!-- START AGENT -->\n                                                          <div class="form-group" data-ng-class="{\'has-error\': (forms.action.agent.$touched || forms.action.$submitted) && forms.action.agent.$invalid}">\n                                                                     <label class="control-label">{{\'APPLICATION_AGENT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                        <ui-select data-ng-model="application.UserId" name="agent" theme="bootstrap" required>\n                                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.fullname}}</ui-select-match>\n                                                                          <ui-select-choices repeat="agent.id as agent in agents | filter: $select.search">\n                                                                                     <div ng-bind-html="agent.fullname | highlight: $select.search"></div>\n                                                                         </ui-select-choices>\n                                                                  </ui-select>\n                                                                  <span data-ng-show="(forms.action.agent.$touched || forms.action.$submitted) && forms.action.agent.$error.required" class="help-block help-block-error">\n                                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END AGENT -->\n                                                    </div>\n\n                                                      <!-- START INTERVAL_TYPE -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.action.intType.$touched || forms.action.$submitted) && forms.action.intType.$invalid}">\n                                                         <label class="control-label">{{ \'APPLICATION_INTERVAL_TYPE\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                              <ui-select data-ng-model="application.intType" theme="bootstrap" name="intType" required>\n                                                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                        <ui-select-choices repeat="intType.value as intType in $application.intTypes | filter: $select.search">\n                                                                               {{ intType.name | translate }}\n                                                                        </ui-select-choices>\n                                                          </ui-select>\n                                                          <span data-ng-show="(forms.action.intType.$touched || forms.action.$submitted) && forms.action.intType.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END INTERVAL_TYPE -->\n\n                                                  <div class="app-settings" ng-slide-down="application.intType === \'custom\'" lazy-render duration="1">\n                                                                <!-- START TIME -->\n                                                           <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_TIME\' | translate }}</label>\n                                                                   <div class="input-group input-large">\n                                                                         <fieldset class="pull-left" ng-disabled="application.alwaysTime">\n                                                                                     <uib-timepicker name="t_from" data-ng-model="application.t_from" show-meridian="false" show-spinners="false" mousewheel="false"></uib-timepicker>\n                                                                             </fieldset>\n                                                                           <div class="input-group-addon col-md-1 interval-to pull-left">to</div>\n                                                                                <fieldset ng-disabled="application.alwaysTime"><uib-timepicker  name="t_to" data-ng-model="application.t_to" show-meridian="false" show-spinners="false" mousewheel="false"></uib-timepicker></fieldset>\n                                                                              <!-- <label class="control-label pointer-cursor"><input type="checkbox" data-ng-model="application.alwaysTime">{{\'APPLICATION_ALWAYS\' | translate}}</label> -->\n                                                                     </div>\n                                                                </div>\n                                                                <!-- END TIME -->\n\n                                                           <!-- START ALWAYS -->\n                                                         <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_ALWAYS\' | translate }}</label>\n                                                                 <div class="input-group input-large">\n                                                                         <label class="control-label pointer-cursor">\n                                                                                  <input\n                                                                                                bs-switch\n                                                                                             data-ng-model="application.alwaysTime"\n                                                                                                type="checkbox"\n                                                                                               switch-active="{{ isActive }}"\n                                                                                                switch-on-text="{{ \'APPLICATION_YES\' | translate }}"\n                                                                                                switch-off-text="{{ \'APPLICATION_NO\' | translate }}"\n                                                                                                switch-on-color="{{ onColor }}"\n                                                                                               switch-off-color="{{ offColor }}"\n                                                                                             switch-animate="{{ animate }}"\n                                                                                                switch-size="{{ size }}"\n                                                                                              switch-label="{{ label }}"\n                                                                                            switch-icon="{{ icon }}"\n                                                                                              switch-radio-off="{{ radioOff }}"\n                                                                                             switch-label-width="{{ labelWidth }}"\n                                                                                         switch-handle-width="{{ handleWidth }}">\n                                                                                      <!-- <input type="checkbox" data-ng-model="application.alwaysTime"> -->\n                                                                               </label>\n                                                                      </div>\n                                                                </div>\n                                                                <!-- END ALWAYS -->\n\n                                                         <!-- START WEEKDAY -->\n                                                                <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_WEEKDAY\' | translate }}</label>\n                                                                        <div class="input-group input-large">\n                                                                         <ui-select data-ng-model="application.wd_from" theme="bootstrap" name="wd_from">\n                                                                                      <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                                     <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                                                                                                {{ weekDay.name | translate}}\n                                                                                 </ui-select-choices>\n                                                                          </ui-select>\n                                                                          <span class="input-group-addon">to</span>\n                                                                             <ui-select data-ng-model="application.wd_to" theme="bootstrap" name="wd_to">\n                                                                                  <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                                     <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                                                                                                {{ weekDay.name | translate }}\n                                                                                        </ui-select-choices>\n                                                                          </ui-select>\n                                                                  </div>\n                                                                </div>\n                                                                <!-- END WEEKDAY -->\n\n                                                                <!-- START MONTHDAY -->\n                                                               <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_MONTHDAY\' | translate }}</label>\n                                                                       <div class="input-group input-large">\n                                                                         <ui-select data-ng-model="application.md_from" theme="bootstrap" name="md_from">\n                                                                                      <ui-select-match>{{$select.selected}}</ui-select-match>\n                                                                                       <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                                                                                               {{monthDay}}\n                                                                                  </ui-select-choices>\n                                                                          </ui-select>\n                                                                          <span class="input-group-addon">to</span>\n                                                                             <ui-select data-ng-model="application.md_to" theme="bootstrap" name="md_to">\n                                                                                  <ui-select-match>{{$select.selected}}</ui-select-match>\n                                                                                       <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                                                                                               {{monthDay}}\n                                                                                  </ui-select-choices>\n                                                                          </ui-select>\n                                                                  </div>\n                                                                </div>\n                                                                <!-- END MONTHDAY -->\n\n                                                               <!-- START MONTH -->\n                                                          <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_MONTH\' | translate }}</label>\n                                                                  <div class="input-group input-large">\n                                                                         <ui-select data-ng-model="application.m_from" theme="bootstrap" name="m_from">\n                                                                                        <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                                     <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                                                                                                {{ month.name | translate }}\n                                                                                  </ui-select-choices>\n                                                                          </ui-select>\n                                                                          <span class="input-group-addon">to</span>\n                                                                             <ui-select data-ng-model="application.m_to" theme="bootstrap" name="m_to">\n                                                                                    <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                                     <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                                                                                                {{ month.name | translate }}\n                                                                                  </ui-select-choices>\n                                                                          </ui-select>\n                                                                  </div>\n                                                                </div>\n                                                                <!-- END MONTH -->\n                                                    </div>\n\n                                                      <div class="app-settings" ng-slide-down="application.intType === \'list\'" lazy-render duration="1" data-ng-init="getIntervals()">\n\n                                                          <!-- START INTERVALS -->\n                                                              <div class="form-group" data-ng-class="{\'has-error\': (forms.action.IntervalId.$touched || forms.action.$submitted) && forms.action.IntervalId.$invalid}">\n                                                                   <label class="control-label">{{\'APPLICATION_INTERVALS\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                    <ui-select data-ng-model="application.IntervalId" theme="bootstrap" name="IntervalId" required>\n                                                                               <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{ $select.selected.name}}</ui-select-match>\n                                                                             <ui-select-choices repeat="interval.id as interval in intervals | filter: $select.search">\n                                                                                    {{ interval.name}}\n                                                                            </ui-select-choices>\n                                                                  </ui-select>\n                                                                  <span data-ng-show="(forms.action.IntervalId.$touched || forms.action.$submitted) && forms.action.IntervalId.$error.required" class="help-block help-block-error">\n                                                                            <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END INTERVALS -->\n\n                                                      </div>\n\n                                                      <input class="btn green-haze" type="submit" data-ng-click="next()" value="{{\'APPLICATION_CONTINUE\' | translate}}"/>\n                                         </form>\n                                       </wz-step>\n                                    <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                             <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                            <!-- <button class="btn green-haze" type="button" wz-previous><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button> -->\n                                              <input class="btn green-haze" type="submit" data-ng-click="next()" value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                  </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/website/view/snippet/view/view.html",'<div class="row" data-ng-init="initView()">\n        <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SNIPPET\' | translate}}</span>\n                         </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{\'APPLICATION_EMBEDDING\' | translate}}</a>\n                                    </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_2" data-toggle="tab">{{\'APPLICATION_APPEARANCE\' | translate}}</a>\n                                   </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_3" data-toggle="tab">{{\'APPLICATION_FORMS\' | translate}}</a>\n                                        </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_4" data-toggle="tab">{{\'APPLICATION_LABELS\' | translate}}</a>\n                                       </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_5" data-toggle="tab">{{\'APPLICATION_SETTINGS\' | translate}}</a>\n                                     </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_6" data-toggle="tab">{{\'APPLICATION_OFFLINE\' | translate}}</a>\n                                      </li>\n                         </ul>\n                 </div>\n                        <div class="portlet-body">\n                            <div class="row">\n                                             <div class="col-md-8">\n                                                        <div class="tab-content">\n                                                             <!-- EMBEDDING TAB -->\n                                                                <div class="tab-pane active" id="tab_1_1">\n                                                                    <h3>{{\'APPLICATION_EMBED_SNIPPET\' | translate}}</h3>\n                                                                        <p>\n                                                                           {{\'MESSAGE_EMBED_SNIPPET\' | translate}}\n                                                                     </p>\n                                                                  <div class="form-body">\n                                                                               <div class="form-group">\n                                                                                      <div class="col-md-12">\n                                                                                               <textarea name="snippet" rows="13" style="resize:none;cursor:text;" class="form-control" readonly data-ng-model="snippetCode"></textarea>\n                                                                                     </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </div>\n                                                                <!-- END EMBEDDING TAB -->\n\n                                                          <!-- APPEARANCE TAB -->\n                                                               <div class="tab-pane" id="tab_1_2">\n                                                                   <form name="forms.formAppearance" data-ng-submit="forms.formAppearance.$valid && updateItem()" novalidate>\n\n                                                                          <!-- START MAIN COLOR -->\n                                                                             <div class="form-group" data-ng-class="{\'has-error\': (forms.formAppearance.mainColor.$touched || forms.formAppearance.$submitted) && forms.formAppearance.host.$invalid}">\n                                                                                  <label class="control-label">{{\'APPLICATION_MAIN_COLOR\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                                  <input colorpicker type="text" name="mainColor" placeholder="{{\'APPLICATION_MAIN_COLOR\' | translate}}" style="color:{{chatWebsite.color}}" class="form-control" data-ng-model="chatWebsite.color" required/>\n                                                                                        <span data-ng-show="(forms.formAppearance.mainColor.$touched || forms.formAppearance.$submitted) && forms.formAppearance.mainColor.$invalid && forms.formAppearance.mainColor.$error.required" class="help-block help-block-error">\n                                                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END MAIN COLOR -->\n\n                                                                             <!-- START FOCUS COLOR -->\n                                                                            <div class="form-group" data-ng-class="{\'has-error\': (forms.formAppearance.focusColor.$touched || forms.formAppearance.$submitted) && forms.formAppearance.focusColor.$invalid}">\n                                                                                   <label class="control-label">{{\'APPLICATION_FOCUS_COLOR\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                                 <input colorpicker type="text" name="focusColor" placeholder="{{\'APPLICATION_FOCUS_COLOR\' | translate}}" style="color:{{chatWebsite.color_focus}}" class="form-control" data-ng-model="chatWebsite.color_focus" required/>\n                                                                                  <span data-ng-show="(forms.formAppearance.focusColor.$touched || forms.formAppearance.$submitted) && forms.formAppearance.focusColor.$invalid && forms.formAppearance.focusColor.$error.required" class="help-block help-block-error">\n                                                                                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END FOCUS COLOR -->\n\n                                                                            <!-- START BUTTON COLOR -->\n                                                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.formAppearance.buttonColor.$touched || forms.formAppearance.$submitted) && forms.formAppearance.buttonColor.$invalid}">\n                                                                                 <label class="control-label">{{\'APPLICATION_BUTTON_COLOR\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                                        <input colorpicker type="text" name="buttonColor" placeholder="{{\'APPLICATION_BUTTON_COLOR\' | translate}}" style="color:{{chatWebsite.color_button}}" class="form-control" data-ng-model="chatWebsite.color_button" required/>\n                                                                                      <span data-ng-show="(forms.formAppearance.buttonColor.$touched || forms.formAppearance.$submitted) && forms.formAppearance.buttonColor.$invalid && forms.formAppearance.buttonColor.$error.required" class="help-block help-block-error">\n                                                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END BUTTON COLOR -->\n\n                                                                           <!-- START HEADER SHAPE -->\n                                                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.formAppearance.headerShape.$touched || forms.formAppearance.$submitted) && forms.formAppearance.headerShape.$invalid}">\n                                                                                 <label class="control-label">{{\'APPLICATION_ANIMATION\' | translate}}</label>\n                                                                                        <!-- <input colorpicker type="text" name="animationToggle" placeholder="{{\'APPLICATION_BUTTON_COLOR\' | translate}}" class="form-control" data-ng-model="chatWebsite.animation" required/> -->\n                                                                                       <ui-select data-ng-model="chatWebsite.header_shape" name="headerShape" theme="bootstrap">\n                                                                                             <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$translate.instant(\'APPLICATION_\' + $select.selected.toUpperCase())}}</ui-select-match>\n                                                                                              <ui-select-choices repeat="headerShape in [\'rounded\',\'squared\'] | filter: $select.search">\n                                                                                                        <div ng-bind-html="$translate.instant(\'APPLICATION_\' + headerShape.toUpperCase()) | highlight: $select.search"></div>\n                                                                                               </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <!-- END HEADER SHAPE -->\n\n                                                                           <!-- START ANIMATION TOGGLE -->\n                                                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.formAppearance.animationToggle.$touched || forms.formAppearance.$submitted) && forms.formAppearance.animationToggle.$invalid}">\n                                                                                 <label class="control-label">{{\'APPLICATION_ANIMATION\' | translate}}</label>\n                                                                                        <!-- <input colorpicker type="text" name="animationToggle" placeholder="{{\'APPLICATION_BUTTON_COLOR\' | translate}}" class="form-control" data-ng-model="chatWebsite.animation" required/> -->\n                                                                                       <ui-select data-ng-model="chatWebsite.animation" name="animationToggle" theme="bootstrap">\n                                                                                            <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected ? \'On\' : \'Off\'}}</ui-select-match>\n                                                                                                <ui-select-choices repeat="animationToggle in [true, false] | filter: $select.search">\n                                                                                                        <div ng-bind-html="animationToggle ? \'On\' : \'Off\' | highlight: $select.search"></div>\n                                                                                             </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <!-- END ANIMATION TOGGLE -->\n\n\n                                                                             <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                                                  </form>\n                                                               </div>\n                                                                <!-- END APPEARANCE TAB -->\n\n                                                         <!-- FORMS TAB -->\n                                                            <div class="tab-pane" id="tab_1_3">\n                                                                   <form name="forms.formFunctionality" data-ng-submit="forms.formFunctionality.$valid && updateItem()" novalidate>\n\n                                                                            <!-- START DOWNLOAD TRANSCRIPT -->\n                                                                            <div class="form-group" data-ng-class="{\'has-error\': (forms.formFunctionality.animationToggle.$touched || forms.formFunctionality.$submitted) && forms.formFunctionality.animationToggle.$invalid}">\n                                                                                        <label class="control-label">{{\'APPLICATION_DOWNLOAD_TRANSCRIPT\' | translate}}</label>\n                                                                                      <ui-select data-ng-model="chatWebsite.download_transcript" name="downloadTranscript" theme="bootstrap">\n                                                                                               <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected ? \'On\' : \'Off\'}}</ui-select-match>\n                                                                                                <ui-select-choices repeat="downloadTranscript in [true, false] | filter: $select.search">\n                                                                                                     <div ng-bind-html="downloadTranscript ? \'On\' : \'Off\' | highlight: $select.search"></div>\n                                                                                          </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <!-- END DOWNLOAD TRANSCRIPT -->\n\n                                                                            <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                                                  </form>\n                                                               </div>\n                                                                <!-- END FORMS TAB -->\n\n                                                              <!-- STRINGS TAB -->\n                                                          <div class="tab-pane" id="tab_1_4">\n                                                                   <form name="forms.formLabel" data-ng-submit="forms.formLabel.$valid && updateItem()" novalidate>\n\n                                                                            <h4 class="block" data-ng-show="statePreview.state == \'online\'">{{\'APPLICATION_ONLINE_STATE\' | translate}}</h4>\n\n                                                                         <!-- START HEADER ONLINE -->\n                                                                          <div class="form-group" data-ng-show="statePreview.state == \'online\'" data-ng-class="{\'has-error\': (forms.formLabel.headerOnline.$touched || forms.formLabel.$submitted) && forms.formLabel.headerOnline.$invalid}">\n                                                                                      <label class="control-label">{{\'APPLICATION_HEADER_ONLINE\' | translate}}</label>\n                                                                                    <input type="text" name="headerOnline" placeholder="{{\'APPLICATION_HEADER_ONLINE\' | translate}}" class="form-control" data-ng-model="chatWebsite.header_online"/>\n                                                                           </div>\n                                                                                <!-- END HEADER ONLINE -->\n\n                                                                          <!-- START ONLINE MESSAGE-->\n                                                                          <div class="form-group" data-ng-show="statePreview.state == \'online\'" data-ng-class="{\'has-error\': (forms.formLabel.onlineMessage.$touched || forms.formLabel.$submitted) && forms.formLabel.onlineMessage.$invalid}">\n                                                                                    <label class="control-label">{{\'APPLICATION_ONLINE_MESSAGE\' | translate}}</label>\n                                                                                   <input type="text" name="onlineMessage" placeholder="{{\'APPLICATION_ONLINE_MESSAGE\' | translate}}" class="form-control" data-ng-model="chatWebsite.online_message"/>\n                                                                                </div>\n                                                                                <!-- END HEADER ONLINE -->\n\n                                                                          <!-- START USERNAME PLACEHOLDER -->\n                                                                           <div class="form-group" data-ng-show="statePreview.state == \'online\' || statePreview.state == \'offline\'" data-ng-class="{\'has-error\': (forms.formLabel.usernamePlaceholder.$touched || forms.formLabel.$submitted) && forms.formLabel.usernamePlaceholder.$invalid}">\n                                                                                   <label class="control-label">{{\'APPLICATION_USERNAME_PLACEHOLDER\' | translate}}</label>\n                                                                                     <input type="text" name="usernamePlaceholder" placeholder="{{\'APPLICATION_USERNAME_PLACEHOLDER\' | translate}}" class="form-control" data-ng-model="chatWebsite.username_placeholder"/>\n                                                                              </div>\n                                                                                <!-- END USERNAME PLACEHOLDER -->\n\n                                                                           <!-- START EMAIL PLACEHOLDER -->\n                                                                              <div class="form-group" data-ng-show="statePreview.state == \'online\' || statePreview.state == \'offline\'" data-ng-class="{\'has-error\': (forms.formLabel.emailPlaceholder.$touched || forms.formLabel.$submitted) && forms.formLabel.emailPlaceholder.$invalid}">\n                                                                                 <label class="control-label">{{\'APPLICATION_EMAIL_PLACEHOLDER\' | translate}}</label>\n                                                                                        <input type="text" name="emailPlaceholder" placeholder="{{\'APPLICATION_EMAIL_PLACEHOLDER\' | translate}}" class="form-control" data-ng-model="chatWebsite.email_placeholder"/>\n                                                                               </div>\n                                                                                <!-- END EMAIL PLACEHOLDER -->\n\n                                                                              <!-- START START CHAT BUTTON -->\n                                                                              <div class="form-group" data-ng-show="statePreview.state == \'online\'" data-ng-class="{\'has-error\': (forms.formLabel.startChatButton.$touched || forms.formLabel.$submitted) && forms.formLabel.startChatButton.$invalid}">\n                                                                                        <label class="control-label">{{\'APPLICATION_START_CHAT_BUTTON\' | translate}}</label>\n                                                                                        <input type="text" name="startChatButton" placeholder="{{\'APPLICATION_START_CHAT_BUTTON\' | translate}}" class="form-control" data-ng-model="chatWebsite.start_chat_button"/>\n                                                                                </div>\n                                                                                <!-- END START CHAT BUTTON -->\n\n                                                                              <h4 class="block" data-ng-show="statePreview.state == \'offline\'">{{\'APPLICATION_OFFLINE_STATE\' | translate}}</h4>\n\n                                                                               <!-- START HEADER OFFLINE -->\n                                                                         <div class="form-group" data-ng-show="statePreview.state == \'offline\'" data-ng-class="{\'has-error\': (forms.formLabel.headerOffline.$touched || forms.formLabel.$submitted) && forms.formLabel.headerOnline.$invalid}">\n                                                                                    <label class="control-label">{{\'APPLICATION_HEADER_OFFLINE\' | translate}}</label>\n                                                                                   <input type="text" name="headerOffline" placeholder="{{\'APPLICATION_HEADER_OFFLINE\' | translate}}" class="form-control" data-ng-model="chatWebsite.header_offline"/>\n                                                                                </div>\n                                                                                <!-- END HEADER OFFLINE -->\n\n                                                                         <!-- START OFFLINE MESSAGE-->\n                                                                         <div class="form-group" data-ng-show="statePreview.state == \'offline\'" data-ng-class="{\'has-error\': (forms.formLabel.offlineMessage.$touched || forms.formLabel.$submitted) && forms.formLabel.onlineMessage.$invalid}">\n                                                                                  <label class="control-label">{{\'APPLICATION_OFFLINE_MESSAGE\' | translate}}</label>\n                                                                                  <input type="text" name="offlineMessage" placeholder="{{\'APPLICATION_OFFLINE_MESSAGE\' | translate}}" class="form-control" data-ng-model="chatWebsite.offline_message"/>\n                                                                             </div>\n                                                                                <!-- END OFFLINE MESSAGE -->\n\n                                                                                <!-- START ENQUIRY MESSAGE PLACEHOLDER-->\n                                                                             <div class="form-group" data-ng-show="statePreview.state == \'offline\'" data-ng-class="{\'has-error\': (forms.formLabel.enquiryMessagePlaceholder.$touched || forms.formLabel.$submitted) && forms.formLabel.onlineMessage.$invalid}">\n                                                                                       <label class="control-label">{{\'APPLICATION_ENQUIRY_MESSAGE_PLACEHOLDER\' | translate}}</label>\n                                                                                      <input type="text" name="enquiryMessagePlaceholder" placeholder="{{\'APPLICATION_ENQUIRY_MESSAGE_PLACEHOLDER\' | translate}}" class="form-control" data-ng-model="chatWebsite.enquiry_message_placeholder"/>\n                                                                          </div>\n                                                                                <!-- END ENQUIRY MESSAGE PLACEHOLDER -->\n\n                                                                            <!-- START ENQUIRY BUTTON -->\n                                                                         <div class="form-group" data-ng-show="statePreview.state == \'offline\'" data-ng-class="{\'has-error\': (forms.formLabel.enquiryButton.$touched || forms.formLabel.$submitted) && forms.formLabel.startChatButton.$invalid}">\n                                                                                 <label class="control-label">{{\'APPLICATION_ENQUIRY_BUTTON\' | translate}}</label>\n                                                                                   <input type="text" name="enquiryButton" placeholder="{{\'APPLICATION_ENQUIRY_BUTTON\' | translate}}" class="form-control" data-ng-model="chatWebsite.enquiry_button"/>\n                                                                                </div>\n                                                                                <!-- END ENQUIRY BUTTON -->\n\n                                                                         <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                                                  </form>\n                                                               </div>\n                                                                <!-- END STRINGS TAB -->\n\n                                                            <!-- SETTINGS TAB -->\n                                                         <div class="tab-pane" id="tab_1_5">\n                                                                   <form name="forms.formSetting" data-ng-submit="forms.formSetting.$valid && updateItem()" novalidate>\n\n                                                                                <!-- START NAME -->\n                                                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.formSetting.name.$touched || forms.formSetting.$submitted) && forms.formSetting.name.$invalid}">\n                                                                                        <label class="control-label">{{\'APPLICATION_NAME\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                                        <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="chatWebsite.name" required/>\n                                                                                    <span data-ng-show="(forms.formSetting.name.$touched || forms.formSetting.$submitted) && forms.formSettings.name.$invalid && forms.formSetting.name.$error.required" class="help-block help-block-error">\n                                                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END NAME -->\n\n                                                                           <!-- START ADDRESS -->\n                                                                                <div class="form-group" data-ng-class="{\'has-error\': (forms.formSetting.address.$touched || forms.formSetting.$submitted) && forms.formSetting.address.$invalid}">\n                                                                                  <label class="control-label">{{\'APPLICATION_WEB_ADDRESS\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                                 <input type="url" name="address" placeholder="{{\'APPLICATION_WEB_ADDRESS\' | translate}}" class="form-control" data-ng-model="chatWebsite.address" required/>\n                                                                                        <span data-ng-show="(forms.formSetting.address.$touched || forms.formSetting.$submitted) && forms.formSetting.address.$invalid && forms.formSetting.address.$error.required" class="help-block help-block-error">\n                                                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END ADDRESS -->\n\n                                                                                <!-- START REMOTE IP -->\n                                                                              <div class="form-group" data-ng-class="{\'has-error\': (forms.formSetting.remote.$touched || forms.formSetting.$submitted) && forms.formSetting.remote.$invalid}">\n                                                                                    <label class="control-label">{{\'APPLICATION_MOTION_ADDRESS\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                                      <input type="url" name="remote" placeholder="{{\'APPLICATION_MOTION_ADDRESS\' | translate}}" class="form-control" data-ng-model="chatWebsite.remote" required/>\n                                                                                       <span data-ng-show="(forms.formSetting.remote.$touched || forms.formSetting.$submitted) && forms.formSetting.remote.$invalid && forms.formSetting.remote.$error.required" class="help-block help-block-error">\n                                                                                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END REMOTE IP -->\n\n                                                                              <!-- START DESCRIPTION -->\n                                                                            <div class="form-group" data-ng-class="{\'has-error\': (forms.formSetting.description.$touched || forms.formSetting.$submitted) && forms.formSetting.description.$invalid}">\n                                                                                  <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                                                      <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="chatWebsite.description"/>\n                                                                                </div>\n                                                                                <!-- END DESCRIPTION -->\n\n                                                                            <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                                                  </form>\n                                                               </div>\n                                                                <!-- END SETTINGS TAB -->\n\n                                                           <!-- OFFLINE TAB -->\n                                                          <div class="tab-pane" id="tab_1_6">\n                                                                   <form name="forms.formOffline" data-ng-submit="forms.formOffline.$valid && updateItem()" novalidate>\n\n                                                                                <!-- START ENQUIRY FORWARDING -->\n                                                                             <div class="form-group">\n                                                                                      <div class="row">\n                                                                                             <label class="col-md-4">\n                                                                                                      {{\'APPLICATION_ENQUIRY_FORWARDING\' | translate}}\n                                                                                            </label>\n                                                                                              <label class="col-md-8">\n                                                                                                      <input type="checkbox" ng-model="chatWebsite.enquiry_forwarding">\n                                                                                             </label>\n                                                                                      </div>\n                                                                                        <div class="row">\n                                                                                             <span class="help-block col-md-12">\n                                                                                                           {{\'MESSAGE_REMEMBER_SMTP_SERVICE_ACCOUNT\' | translate}}.\n                                                                                            </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <!-- END ENQUIRY FORWARDING -->\n\n                                                                             <!-- START REMOTE IP -->\n                                                                              <div class="form-group" data-ng-if="chatWebsite.enquiry_forwarding" data-ng-class="{\'has-error\': (forms.formOffline.forwardingAddress.$touched || forms.formOffline.$submitted) && forms.formSetting.forwardingAddress.$invalid}">\n                                                                                  <label class="control-label">{{\'APPLICATION_ENQUIRY_FORWARDING_ADDRESS\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                                   <input type="text" name="forwardingAddress" placeholder="{{\'APPLICATION_ADDRESS\' | translate}}" class="form-control" data-ng-model="chatWebsite.enquiry_forwarding_address" required/>\n                                                                                      <span data-ng-show="(forms.formOffline.forwardingAddress.$touched || forms.formOffline.$submitted) && forms.formOffline.forwardingAddress.$invalid && forms.formOffline.forwardingAddress.$error.required" class="help-block help-block-error">\n                                                                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END REMOTE IP -->\n\n                                                                              <!-- START HEADER SHAPE -->\n                                                                           <div class="form-group" data-ng-if="chatWebsite.enquiry_forwarding" data-ng-class="{\'has-error\': (forms.formOffline.OfflineTemplateId.$touched || forms.formOffline.$submitted) && forms.formOffline.OfflineTemplateId.$invalid}">\n                                                                                  <label class="control-label">{{\'APPLICATION_TEMPLATE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                                     <ui-select data-ng-model="chatWebsite.OfflineTemplateId" name="OfflineTemplateId" theme="bootstrap" required>\n                                                                                         <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                              <ui-select-choices repeat="mailTemplate.id as mailTemplate in mailTemplates | filter: $select.search">\n                                                                                                        <div ng-bind-html="mailTemplate.name | highlight: $select.search"></div>\n                                                                                              </ui-select-choices>\n                                                                                  </ui-select>\n                                                                                  <span data-ng-show="(forms.formOffline.OfflineTemplateId.$touched || forms.formOffline.$submitted) && forms.formOffline.OfflineTemplateId.$invalid && forms.formOffline.OfflineTemplateId.$error.required" class="help-block help-block-error">\n                                                                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END HEADER SHAPE -->\n\n                                                                           <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                                                  </form>\n                                                               </div>\n                                                                <!-- END OFFLINE TAB -->\n                                                      </div>\n                                                </div>\n                                                <div class="col-md-4">\n                                                        <!-- START STATE -->\n                                                  <div class="form-group">\n                                                              <!-- <label class="control-label">{{\'APPLICATION_ANIMATION\' | translate}}</label> -->\n                                                               <!-- <input colorpicker type="text" name="animationToggle" placeholder="{{\'APPLICATION_BUTTON_COLOR\' | translate}}" class="form-control" data-ng-model="chatWebsite.animation" required/> -->\n                                                               <ui-select data-ng-model="statePreview.state" name="statePreview" theme="bootstrap">\n                                                                  <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected}}</ui-select-match>\n                                                                   <ui-select-choices repeat="statePreview in [\'online\',\'offline\'] | filter: $select.search">\n                                                                                <div ng-bind-html="statePreview | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                  </div>\n                                                        <!-- END STATE -->\n                                                    <preview></preview>\n                                           </div>\n                                </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),
 a.put("app/chat/website/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initView()">\n     <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-bubble"></i>\n                                   <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n                                        <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-globe"></i>\n                                    <a href="/chat/websites/list">{{ \'APPLICATION_WEB_SITES\' | translate }}</a>\n                                 <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <a href="#">{{chatWebsite.name}}</a>\n                          </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img src="assets/images/media/website.png" class="img-responsive">\n                            </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{chatWebsite.name}}\n                                  </div>\n                                        <div class="profile-usertitle-job">\n                                           {{chatWebsite.address}}\n                                       </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n                               <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.includes(\'main.chat.websites.view.snippet\')}">\n                                                   <a ng-href="/chat/websites/view/{{chatWebsite.id}}/snippet/view">\n                                                     <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SNIPPET\' | translate }} </a>\n                                                </li>\n                                         <li data-ng-class="{active: $state.includes(\'main.chat.websites.view.actions\')}">\n                                                   <a ng-href="/chat/websites/view/{{chatWebsite.id}}/actions/list">\n                                                     <i class="icon-directions"></i>\n                                                       {{ \'APPLICATION_ACTIONS\' | translate }} </a>\n                                                </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/website/wizard/wizard.html",'<!-- BEGIN PAGE HEADER-->\n<div class="row">\n        <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-bubble"></i>\n                                           <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n                                                <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-globe"></i>\n                                            <a href="/chat/websites/list">{{ \'APPLICATION_WEB_SITES\' | translate }}</a>\n                                 </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n<!-- END PAGE HEADER-->\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n      <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_WEB_SITE\' | translate }} WIZARD</a> </span>\n                           </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n          <wz-step title="{{\'APPLICATION_WEB_SITE_INFO\' | translate}}" canexit="exitValidation(forms.formSetting.$valid)">\n                                               <form name="forms.formSetting" novalidate>\n\n                                                  <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.formSetting.name.$touched || forms.formSetting.$submitted) && forms.formSetting.name.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_NAME\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                           <span data-ng-show="forms.formSetting.name.$touched && !forms.formSettings.name.$valid && forms.formSetting.name.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START ADDRESS -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': (forms.formSetting.address.$touched || forms.formSetting.$submitted) && forms.formSetting.address.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_WEB_ADDRESS\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                         <input type="url" name="address" placeholder="{{\'APPLICATION_WEB_ADDRESS\' | translate}}" class="form-control" data-ng-model="item.address" required/>\n                                                               <span data-ng-show="(forms.formSetting.address.$touched || forms.formSetting.$submitted) && forms.formSetting.address.$invalid && forms.formSetting.address.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END ADDRESS -->\n\n                                                        <!-- START REMOTE IP -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': (forms.formSetting.remote.$touched || forms.formSetting.$submitted) && forms.formSetting.remote.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_MOTION_ADDRESS\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                              <input type="url" name="remote" placeholder="{{\'APPLICATION_MOTION_ADDRESS\' | translate}}" class="form-control" data-ng-model="item.remote" required/>\n                                                              <span data-ng-show="(forms.formSetting.remote.$touched || forms.formSetting.$submitted) && forms.formSetting.remote.$invalid && forms.formSetting.remote.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END REMOTE IP -->\n\n                                                      <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.form.description"/>\n                                                  </div>\n                                                        <!-- END DESCRIPTION -->\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="next()"/>\n                                              </form>\n                                       </wz-step>\n\n                                  <wz-step title="{{\'APPLICATION_WEB_SITE_APPEARANCE\' | translate}}" canexit="exitValidation(forms.formAppearance.$valid)">\n                                           <form name="forms.formAppearance" novalidate>\n\n                                                       <!-- START MAIN COLOR -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': (forms.formAppearance.mainColor.$touched || forms.formAppearance.$submitted) && forms.formAppearance.host.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_MAIN_COLOR\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                          <input colorpicker type="text" name="mainColor" placeholder="{{\'APPLICATION_MAIN_COLOR\' | translate}}" style="color:{{item.color}}" class="form-control" data-ng-model="item.color" required/>\n                                                              <span data-ng-show="(forms.formAppearance.mainColor.$touched || forms.formAppearance.$submitted) && forms.formAppearance.mainColor.$invalid && forms.formAppearance.mainColor.$error.required" class="help-block help-block-error">\n                                                                   <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END MAIN COLOR -->\n\n                                                     <!-- START FOCUS COLOR -->\n                                                    <div class="form-group" data-ng-class="{\'has-error\': (forms.formAppearance.focusColor.$touched || forms.formAppearance.$submitted) && forms.formAppearance.focusColor.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_FOCUS_COLOR\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                         <input colorpicker type="text" name="focusColor" placeholder="{{\'APPLICATION_FOCUS_COLOR\' | translate}}" style="color:{{item.color_focus}}" class="form-control" data-ng-model="item.color_focus" required/>\n                                                                <span data-ng-show="(forms.formAppearance.focusColor.$touched || forms.formAppearance.$submitted) && forms.formAppearance.focusColor.$invalid && forms.formAppearance.focusColor.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END FOCUS COLOR -->\n\n                                                    <!-- START BUTTON COLOR -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.formAppearance.buttonColor.$touched || forms.formAppearance.$submitted) && forms.formAppearance.buttonColor.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_BUTTON_COLOR\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                <input colorpicker type="text" name="buttonColor" placeholder="{{\'APPLICATION_BUTTON_COLOR\' | translate}}" style="color:{{item.color_button}}" class="form-control" data-ng-model="item.color_button" required/>\n                                                            <span data-ng-show="(forms.formAppearance.buttonColor.$touched || forms.formAppearance.$submitted) && forms.formAppearance.buttonColor.$invalid && forms.formAppearance.buttonColor.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END BUTTON COLOR -->\n\n                                                   <!-- START HEADER SHAPE -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.formAppearance.headerShape.$touched || forms.formAppearance.$submitted) && forms.formAppearance.headerShape.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_HEADER_SHAPE\' | translate}}</label>\n                                                             <!-- <input colorpicker type="text" name="animationToggle" placeholder="{{\'APPLICATION_BUTTON_COLOR\' | translate}}" class="form-control" data-ng-model="item.animation" required/> -->\n                                                              <ui-select data-ng-model="item.header_shape" name="headerShape" theme="bootstrap">\n                                                                    <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$translate.instant(\'APPLICATION_\' + $select.selected.toUpperCase())}}</ui-select-match>\n                                                                      <ui-select-choices repeat="headerShape in [\'rounded\',\'squared\'] | filter: $select.search">\n                                                                                <div ng-bind-html="$translate.instant(\'APPLICATION_\' + headerShape.toUpperCase()) | highlight: $select.search"></div>\n                                                                       </ui-select-choices>\n                                                          </ui-select>\n                                                  </div>\n                                                        <!-- END HEADER SHAPE -->\n\n                                                   <!-- START ANIMATION TOGGLE -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.formAppearance.animationToggle.$touched || forms.formAppearance.$submitted) && forms.formAppearance.animationToggle.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_ANIMATION\' | translate}}</label>\n                                                                <ui-select data-ng-model="item.animation" name="animationToggle" theme="bootstrap">\n                                                                   <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected  ? \'On\' : \'Off\'}}</ui-select-match>\n                                                                       <ui-select-choices repeat="filter in [true,false] | filter: $select.search">\n                                                                          <div ng-bind-html="filter ? \'On\' : \'Off\' | highlight: $select.search"></div>\n                                                                      </ui-select-choices>\n                                                          </ui-select>\n                                                  </div>\n                                                        <!-- END ANIMATION TOGGLE -->\n\n\n                                                     <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="next()"/>\n                                              </form>\n                                       </wz-step>\n\n                                  <wz-step title="{{\'APPLICATION_LABELS\' | translate}}" canexit="exitValidation(forms.formLabel.$valid)">\n                                             <form name="forms.formLabel" novalidate>\n\n                                                    <!-- START HEADER ONLINE -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.formLabel.headerOnline.$touched || forms.formLabel.$submitted) && forms.formLabel.headerOnline.$invalid}">\n                                                              <label class="control-label">{{\'APPLICATION_HEADER_ONLINE\' | translate}}</label>\n                                                            <input type="text" name="headerOnline" placeholder="{{\'APPLICATION_HEADER_ONLINE\' | translate}}" class="form-control" data-ng-model="item.header_online"/>\n                                                  </div>\n                                                        <!-- END HEADER ONLINE -->\n\n                                                  <!-- START ONLINE MESSAGE-->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.formLabel.onlineMessage.$touched || forms.formLabel.$submitted) && forms.formLabel.onlineMessage.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_ONLINE_MESSAGE\' | translate}}</label>\n                                                           <input type="text" name="onlineMessage" placeholder="{{\'APPLICATION_ONLINE_MESSAGE\' | translate}}" class="form-control" data-ng-model="item.online_message"/>\n                                                       </div>\n                                                        <!-- END HEADER ONLINE -->\n\n                                                  <!-- START USERNAME PLACEHOLDER -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.formLabel.usernamePlaceholder.$touched || forms.formLabel.$submitted) && forms.formLabel.usernamePlaceholder.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_USERNAME_PLACEHOLDER\' | translate}}</label>\n                                                             <input type="text" name="usernamePlaceholder" placeholder="{{\'APPLICATION_USERNAME_PLACEHOLDER\' | translate}}" class="form-control" data-ng-model="item.username_placeholder"/>\n                                                     </div>\n                                                        <!-- END USERNAME PLACEHOLDER -->\n\n                                                   <!-- START EMAIL PLACEHOLDER -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': (forms.formLabel.emailPlaceholder.$touched || forms.formLabel.$submitted) && forms.formLabel.emailPlaceholder.$invalid}">\n                                                              <label class="control-label">{{\'APPLICATION_EMAIL_PLACEHOLDER\' | translate}}</label>\n                                                                <input type="text" name="emailPlaceholder" placeholder="{{\'APPLICATION_EMAIL_PLACEHOLDER\' | translate}}" class="form-control" data-ng-model="item.email_placeholder"/>\n                                                      </div>\n                                                        <!-- END EMAIL PLACEHOLDER -->\n\n                                                      <!-- START START CHAT BUTTON -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': (forms.formLabel.startChatButton.$touched || forms.formLabel.$submitted) && forms.formLabel.startChatButton.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_START_CHAT_BUTTON\' | translate}}</label>\n                                                                <input type="text" name="startChatButton" placeholder="{{\'APPLICATION_START_CHAT_BUTTON\' | translate}}" class="form-control" data-ng-model="item.start_chat_button"/>\n                                                       </div>\n                                                        <!-- END START CHAT BUTTON -->\n\n                                                      <!-- START HEADER OFFLINE -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.formLabel.headerOffline.$touched || forms.formLabel.$submitted) && forms.formLabel.headerOnline.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_HEADER_OFFLINE\' | translate}}</label>\n                                                           <input type="text" name="headerOffline" placeholder="{{\'APPLICATION_HEADER_OFFLINE\' | translate}}" class="form-control" data-ng-model="item.header_offline"/>\n                                                       </div>\n                                                        <!-- END HEADER OFFLINE -->\n\n                                                 <!-- START OFFLINE MESSAGE-->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.formLabel.offlineMessage.$touched || forms.formLabel.$submitted) && forms.formLabel.onlineMessage.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_OFFLINE_MESSAGE\' | translate}}</label>\n                                                          <input type="text" name="offlineMessage" placeholder="{{\'APPLICATION_OFFLINE_MESSAGE\' | translate}}" class="form-control" data-ng-model="item.offline_message"/>\n                                                    </div>\n                                                        <!-- END OFFLINE MESSAGE -->\n\n                                                        <!-- START ENQUIRY MESSAGE PLACEHOLDER-->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': (forms.formLabel.enquiryMessagePlaceholder.$touched || forms.formLabel.$submitted) && forms.formLabel.onlineMessage.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_ENQUIRY_MESSAGE_PLACEHOLDER\' | translate}}</label>\n                                                              <input type="text" name="enquiryMessagePlaceholder" placeholder="{{\'APPLICATION_ENQUIRY_MESSAGE_PLACEHOLDER\' | translate}}" class="form-control" data-ng-model="item.enquiry_message_placeholder"/>\n                                                 </div>\n                                                        <!-- END ENQUIRY MESSAGE PLACEHOLDER -->\n\n                                                    <!-- START ENQUIRY BUTTON -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.formLabel.enquiryButton.$touched || forms.formLabel.$submitted) && forms.formLabel.startChatButton.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_ENQUIRY_BUTTON\' | translate}}</label>\n                                                           <input type="text" name="enquiryButton" placeholder="{{\'APPLICATION_ENQUIRY_BUTTON\' | translate}}" class="form-control" data-ng-model="item.enquiry_button"/>\n                                                       </div>\n                                                        <!-- END ENQUIRY BUTTON -->\n\n                                                 <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="next()"/>\n                                              </form>\n                                       </wz-step>\n\n                                  <wz-step title="{{\'APPLICATION_FORMS\' | translate}}" canexit="exitValidation(forms.formAppearance.$valid)">\n                                         <form name="forms.formFunctionality" novalidate>\n\n                                                    <!-- START DOWNLOAD TRANSCRIPT -->\n                                                    <div class="form-group" data-ng-class="{\'has-error\': (forms.formFunctionality.animationToggle.$touched || forms.formFunctionality.$submitted) && forms.formFunctionality.animationToggle.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_DOWNLOAD_TRANSCRIPT\' | translate}}</label>\n                                                              <ui-select data-ng-model="item.download_transcript" name="downloadTranscript" theme="bootstrap">\n                                                                      <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected ? \'On\' : \'Off\'}}</ui-select-match>\n                                                                        <ui-select-choices repeat="downloadTranscript in [true, false] | filter: $select.search">\n                                                                             <div ng-bind-html="downloadTranscript ? \'On\' : \'Off\' | highlight: $select.search"></div>\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                  </div>\n                                                        <!-- END DOWNLOAD TRANSCRIPT -->\n\n                                                    <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="next()"/>\n                                              </form>\n                                       </wz-step>\n\n                                  <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                             <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                            <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                 </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/contactmanager/company/list/create.modal.html",'<div class="modal-header">\n  <h3 class="modal-title">{{ \'APPLICATION_NEW_COMPANY\' | translate }}</h3>\n</div>\n<div class="modal-body">\n  <form name="forms.company" novalidate>\n\n    <!-- START NAME -->\n    <div class="form-group" data-ng-class="{\'has-error\': (forms.company.name.$touched || forms.company.$submitted) && forms.company.name.$invalid}">\n      <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n      <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n      <span data-ng-show="(forms.cmopany.name.$touched || forms.company.$submitted) && forms.company.name.$error.required" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END NAME -->\n\n    <!-- START DESCRIPTION -->\n    <div class="form-group">\n      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n      <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"></textarea>\n    </div>\n    <!-- END DESCRIPTION -->\n\n  </form>\n</div>\n<div class="modal-footer">\n  <button class="btn btn-success" type="button" ng-click="ok()" ng-disabled="forms.company.$invalid">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n  <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/contactmanager/company/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n     <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-briefcase"></i>\n                                        <a href="/contactmanager/companies/list">{{ \'APPLICATION_COMPANIES\' | translate }}</a>\n                              </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-briefcase font-green-sharp"></i>\n                                       <span class="caption-subject">{{ \'APPLICATION_COMPANIES\' | translate }}</a> </span>\n                         </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="Companies.checked.length">\n                                               <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <button class="btn green-jungle " ng-click="create()">\n                                                        <i class="icon-plus"></i> {{ \'APPLICATION_NEW_COMPANY\' | translate }}\n                                               </button>\n                                     </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getCompanies([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="companies.csv">\n                                   <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedCompanies" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                       <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="4">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.companiesByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                             <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="companyByPage in companiesByPage | filter: $select.search">\n                                                                                                        <div ng-bind-html="companyByPage.name | highlight: $select.search"></div>\n                                                                                             </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(company, checked)" checklist-model checklist-value="id"></th>\n                                                  <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="company in displayedCompanies" class="animate-repeat">\n                                                                <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="Companies.checked" checklist-value="company.id"></td>\n                                                          <td>{{company.name}}</td>\n                                           <td>{{company.description}}</td>\n                                              <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/contactmanager/companies/view/{{company.id}}/settings">\n                                                                              {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(company.name,company.id)">\n                                                                         {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedCompanies.length">\n                                                         <td colspan="4" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_COMPANIES_AVAILABLE\' | translate }}</i>\n                                                           </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="4" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.companiesByPage.value" st-displayed-pages="7"></div>\n                                           </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/contactmanager/company/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getCompany()">\n     <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-briefcase"></i>\n                                        <a href="/contactmanager/companies/list">{{ \'APPLICATION_COMPANIES\' | translate }}</a>\n                                      <i data-ng-show="company" class="fa fa-angle-right"></i>\n                              </li>\n                         <li data-ng-show="company">\n                                   <a href="#">{{company.name}}</a>\n                              </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/company.png" class="img-responsive">\n                            </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{company.name}}\n                                      </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.contactmanager.companies.view.settings\')}">\n                                                     <a data-ng-href="/contactmanager/companies/view/{{company.id}}/settings">\n                                                     <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/contactmanager/company/view/view.settings.html",'<div class="row">\n    <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_COMPANY\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n                             </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_2" data-toggle="tab">{{ \'APPLICATION_ADDRESS\' | translate}}</a>\n                                     </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_3" data-toggle="tab">{{ \'APPLICATION_SHIPMENT_ADDRESS\' | translate}}</a>\n                                    </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateCompany()" novalidate>\n\n                                                     <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="company.name" required/>\n                                                                <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="company.description"></textarea>\n                                                       </div>\n                                                        <!-- END DESCRIPTION -->\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END ADVANCED TAB -->\n                                     <div class="tab-pane" id="tab_1_2">\n                                           <!-- START STREET -->\n                                         <div class="form-group" data-ng-class="{\'has-error\': (forms.general.street.$touched || forms.general.$submitted) && forms.general.street.$invalid}">\n                                                        <label class="control-label">{{\'APPLICATION_STREET\' | translate}}</label>\n                                                   <input type="text" name="street" placeholder="{{\'APPLICATION_STREET\' | translate}}" class="form-control" data-ng-model="company.street"/>\n                                                   <span data-ng-show="(forms.general.street.$touched || forms.general.$submitted) && forms.general.street.$error.required" class="help-block help-block-error">\n                                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END STREET -->\n\n                                         <!-- START POSTALCODE -->\n                                             <div class="form-group" data-ng-class="{\'has-error\': (forms.general.postalCode.$touched || forms.general.$submitted) && forms.general.postalCode.$invalid}">\n                                                        <label class="control-label">{{\'APPLICATION_POSTALCODE\' | translate}}</label>\n                                                       <input type="text" name="postalCode" placeholder="{{\'APPLICATION_POSTALCODE\' | translate}}" class="form-control" data-ng-model="company.postalCode"/>\n                                                       <span data-ng-show="(forms.general.postalCode.$touched || forms.general.$submitted) && forms.general.postalCode.$error.required" class="help-block help-block-error">\n                                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END POSTALCODE -->\n\n                                             <!-- START CITY -->\n                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.general.city.$touched || forms.general.$submitted) && forms.general.city.$invalid}">\n                                                    <label class="control-label">{{\'APPLICATION_CITY\' | translate}}</label>\n                                                     <input type="text" name="city" placeholder="{{\'APPLICATION_CITY\' | translate}}" class="form-control" data-ng-model="company.city"/>\n                                                 <span data-ng-show="(forms.general.city.$touched || forms.general.$submitted) && forms.general.city.$error.required" class="help-block help-block-error">\n                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END CITY -->\n                                             <!-- START COUNTRY -->\n                                                <div class="form-group" data-ng-class="{\'has-error\': (forms.general.country.$touched || forms.general.$submitted) && forms.general.country.$invalid}">\n                                                      <label class="control-label">{{\'APPLICATION_COUNTRY\' | translate}}</label>\n                                                  <input type="text" name="country" placeholder="{{\'APPLICATION_COUNTRY\' | translate}}" class="form-control" data-ng-model="company.country"/>\n                                                        <span data-ng-show="(forms.general.country.$touched || forms.general.$submitted) && forms.general.country.$error.required" class="help-block help-block-error">\n                                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END COUNTRY -->\n                                          <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                  </div>\n                                        <div class="tab-pane" id="tab_1_3">\n                                           <!-- START STREET -->\n                                         <div class="form-group" data-ng-class="{\'has-error\': (forms.general.sStreet.$touched || forms.general.$submitted) && forms.general.sStreet.$invalid}">\n                                                      <label class="control-label">{{\'APPLICATION_STREET\' | translate}}</label>\n                                                   <input type="text" name="sStreet" placeholder="{{\'APPLICATION_STREET\' | translate}}" class="form-control" data-ng-model="company.sStreet"/>\n                                                 <span data-ng-show="(forms.general.sStreet.$touched || forms.general.$submitted) && forms.general.sStreet.$error.required" class="help-block help-block-error">\n                                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END STREET -->\n\n                                         <!-- START POSTALCODE -->\n                                             <div class="form-group" data-ng-class="{\'has-error\': (forms.general.sPostalCode.$touched || forms.general.$submitted) && forms.general.sPostalCode.$invalid}">\n                                                      <label class="control-label">{{\'APPLICATION_POSTALCODE\' | translate}}</label>\n                                                       <input type="text" name="sPostalCode" placeholder="{{\'APPLICATION_POSTALCODE\' | translate}}" class="form-control" data-ng-model="company.sPostalCode"/>\n                                                     <span data-ng-show="(forms.general.sPostalCode.$touched || forms.general.$submitted) && forms.general.sPostalCode.$error.required" class="help-block help-block-error">\n                                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END POSTALCODE -->\n\n                                             <!-- START CITY -->\n                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.general.sCity.$touched || forms.general.$submitted) && forms.general.sCity.$invalid}">\n                                                  <label class="control-label">{{\'APPLICATION_CITY\' | translate}}</label>\n                                                     <input type="text" name="sCity" placeholder="{{\'APPLICATION_CITY\' | translate}}" class="form-control" data-ng-model="company.sCity"/>\n                                                       <span data-ng-show="(forms.general.sCity.$touched || forms.general.$submitted) && forms.general.sCity.$error.required" class="help-block help-block-error">\n                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END CITY -->\n                                             <!-- START COUNTRY -->\n                                                <div class="form-group" data-ng-class="{\'has-error\': (forms.general.sCountry.$touched || forms.general.$submitted) && forms.general.sCountry.$invalid}">\n                                                    <label class="control-label">{{\'APPLICATION_COUNTRY\' | translate}}</label>\n                                                  <input type="text" name="sCountry" placeholder="{{\'APPLICATION_COUNTRY\' | translate}}" class="form-control" data-ng-model="company.sCountry"/>\n                                                      <span data-ng-show="(forms.general.sCountry.$touched || forms.general.$submitted) && forms.general.sCountry.$error.required" class="help-block help-block-error">\n                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END COUNTRY -->\n                                          <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                  </div>\n                                </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),
 a.put("app/contactmanager/contact/list/import.modal.html",'<div class="modal-header" data-ng-init="getCustomFields();">\n  <h3 class="modal-title">{{ \'APPLICATION_IMPORT_FROM_CSV\' | translate }}</h3>\n</div>\n<div class="modal-body">\n  <form name="forms.csv" novalidate>\n    <div class="row">\n      <div class="col-md-6">\n    <!-- START FULLNAME -->\n    <div class="form-group" data-ng-class="{\'has-error\': forms.csv.fullname.$invalid && forms.csv.$submitted}">\n      <label class="control-label">{{\'APPLICATION_FULLNAME\' | translate}}</label>\n      <ui-select data-ng-model="item.fullname" theme="bootstrap" name="fullname" data-ng-disabled="disabled" required>\n        <ui-select-match allow-clear placeholder="{{ \'APPLICATION_FULLNAME\' | translate }}">{{$select.selected}}</ui-select-match>\n        <ui-select-choices repeat="index in indexes | filter: $select.search">\n          <div ng-bind-html="index | highlight: $select.search"></div>\n        </ui-select-choices>\n      </ui-select>\n      <span data-ng-show="forms.csv.fullname.$invalid && forms.csv.$touched" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END FULLNAME -->\n\n    <!-- START STREET -->\n    <div class="form-group" data-ng-class="{\'has-error\': forms.csv.street.$invalid && forms.csv.$submitted}">\n      <label class="control-label">{{\'APPLICATION_STREET\' | translate}}</label>\n      <ui-select data-ng-model="item.street" theme="bootstrap" name="street" data-ng-disabled="disabled">\n        <ui-select-match allow-clear placeholder="{{ \'APPLICATION_STREET\' | translate }}">{{$select.selected}}</ui-select-match>\n        <ui-select-choices repeat="index in indexes | filter: $select.search">\n          <div ng-bind-html="index | highlight: $select.search"></div>\n        </ui-select-choices>\n      </ui-select>\n      <span data-ng-show="forms.csv.street.$invalid && forms.csv.$touched" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END STREET -->\n\n    <!-- START POSTALCODE -->\n    <div class="form-group" data-ng-class="{\'has-error\': forms.csv.postalCode.$invalid && forms.csv.$submitted}">\n      <label class="control-label">{{\'APPLICATION_POSTALCODE\' | translate}}</label>\n      <ui-select data-ng-model="item.postalCode" theme="bootstrap" name="postalCode" data-ng-disabled="disabled">\n        <ui-select-match allow-clear placeholder="{{ \'APPLICATION_POSTALCODE\' | translate }}">{{$select.selected}}</ui-select-match>\n        <ui-select-choices repeat="index in indexes | filter: $select.search">\n          <div ng-bind-html="index | highlight: $select.search"></div>\n        </ui-select-choices>\n      </ui-select>\n      <span data-ng-show="forms.csv.postalCode.$invalid && forms.csv.$touched" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END POSTALCODE -->\n\n    <!-- START CITY -->\n    <div class="form-group" data-ng-class="{\'has-error\': forms.csv.city.$invalid && forms.csv.$submitted}">\n      <label class="control-label">{{\'APPLICATION_CITY\' | translate}}</label>\n      <ui-select data-ng-model="item.city" theme="bootstrap" name="city" data-ng-disabled="disabled">\n        <ui-select-match allow-clear placeholder="{{ \'APPLICATION_CITY\' | translate }}">{{$select.selected}}</ui-select-match>\n        <ui-select-choices repeat="index in indexes | filter: $select.search">\n          <div ng-bind-html="index | highlight: $select.search"></div>\n        </ui-select-choices>\n      </ui-select>\n      <span data-ng-show="forms.csv.city.$invalid && forms.csv.$touched" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END CITY -->\n\n    <!-- START PHONES -->\n    <div class="form-group" data-ng-class="{\'has-error\': forms.csv.Phones.$invalid && forms.csv.$submitted}">\n      <label class="control-label">{{\'APPLICATION_PHONES\' | translate}}</label>\n      <ui-select multiple data-ng-model="item.Phones" theme="bootstrap" name="Phones" data-ng-disabled="disabled">\n        <ui-select-match allow-clear placeholder="{{ \'APPLICATION_PHONES\' | translate }}">{{$item}}</ui-select-match>\n        <ui-select-choices repeat="index in indexes | filter: $select.search">\n          <div ng-bind-html="index | highlight: $select.search"></div>\n        </ui-select-choices>\n      </ui-select>\n      <span data-ng-show="forms.csv.Phones.$invalid && forms.csv.$touched" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END PHONES -->\n\n  </div>\n  <div class="col-md-6">\n\n    <!-- START COUNTRY -->\n    <div class="form-group" data-ng-class="{\'has-error\': forms.csv.country.$invalid && forms.csv.$submitted}">\n      <label class="control-label">{{\'APPLICATION_COUNTRY\' | translate}}</label>\n      <ui-select data-ng-model="item.country" theme="bootstrap" name="country" data-ng-disabled="disabled">\n        <ui-select-match allow-clear placeholder="{{ \'APPLICATION_COUNTRY\' | translate }}">{{$select.selected}}</ui-select-match>\n        <ui-select-choices repeat="index in indexes | filter: $select.search">\n          <div ng-bind-html="index | highlight: $select.search"></div>\n        </ui-select-choices>\n      </ui-select>\n      <span data-ng-show="forms.csv.country.$invalid && forms.csv.$touched" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END COUNTRY -->\n\n    <!-- START DATEOFBIRTH -->\n    <div class="form-group" data-ng-class="{\'has-error\': forms.csv.dateOfBirth.$invalid && forms.csv.$submitted}">\n      <label class="control-label">{{\'APPLICATION_DATEOFBIRTH\' | translate}}</label>\n      <ui-select data-ng-model="item.dateOfBirth" theme="bootstrap" name="dateOfBirth" data-ng-disabled="disabled">\n        <ui-select-match allow-clear placeholder="{{ \'APPLICATION_DATEOFBIRTH\' | translate }}">{{$select.selected}}</ui-select-match>\n        <ui-select-choices repeat="index in indexes | filter: $select.search">\n          <div ng-bind-html="index | highlight: $select.search"></div>\n        </ui-select-choices>\n      </ui-select>\n      <span data-ng-show="forms.csv.dateOfBirth.$invalid && forms.csv.$touched" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END DATEOFBIRTH -->\n\n    <!-- START TAGS -->\n    <div class="form-group" data-ng-class="{\'has-error\': forms.csv.tags.$invalid && forms.csv.$submitted}">\n      <label class="control-label">{{\'APPLICATION_TAGS\' | translate}}</label>\n      <ui-select multiple data-ng-model="item.tags" theme="bootstrap" name="tags" data-ng-disabled="disabled">\n        <ui-select-match allow-clear placeholder="{{ \'APPLICATION_TAGS\' | translate }}">{{$item}}</ui-select-match>\n        <ui-select-choices repeat="index in indexes | filter: $select.search">\n          <div ng-bind-html="index | highlight: $select.search"></div>\n        </ui-select-choices>\n      </ui-select>\n      <span data-ng-show="forms.csv.tags.$invalid && forms.csv.$touched" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END TAGS -->\n\n    <!-- START DESCRIPTION -->\n    <div class="form-group" data-ng-class="{\'has-error\': forms.csv.description.$invalid && forms.csv.$submitted}">\n      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n      <ui-select data-ng-model="item.description" theme="bootstrap" name="description" data-ng-disabled="disabled">\n        <ui-select-match allow-clear placeholder="{{ \'APPLICATION_DESCRIPTION\' | translate }}">{{$select.selected}}</ui-select-match>\n        <ui-select-choices repeat="index in indexes | filter: $select.search">\n          <div ng-bind-html="index | highlight: $select.search"></div>\n        </ui-select-choices>\n      </ui-select>\n      <span data-ng-show="forms.csv.description.$invalid && forms.csv.$touched" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END DESCRIPTION -->\n\n    <!-- START EMAILS -->\n    <div class="form-group" data-ng-class="{\'has-error\': forms.csv.Emails.$invalid && forms.csv.$submitted}">\n      <label class="control-label">{{\'APPLICATION_EMAILS\' | translate}}</label>\n      <ui-select multiple data-ng-model="item.Emails" theme="bootstrap" name="Emails" data-ng-disabled="disabled">\n        <ui-select-match allow-clear placeholder="{{ \'APPLICATION_EMAILS\' | translate }}">{{$item}}</ui-select-match>\n        <ui-select-choices repeat="index in indexes | filter: $select.search">\n          <div ng-bind-html="index | highlight: $select.search"></div>\n        </ui-select-choices>\n      </ui-select>\n      <span data-ng-show="forms.csv.Emails.$invalid && forms.csv.$touched" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END EMAILS -->\n\n  </div>\n  </div>\n\n  <!-- START CUSTOMFIELDS -->\n  <div data-ng-repeat="customField in customFields">\n    <div class="form-group" data-ng-class="{\'has-error\': forms.csv[customField.name].$invalid && forms.csv.$submitted}">\n      <label class="control-label">{{customField.name}}</label>\n      <ui-select data-ng-if="!joinPrompt" data-ng-model="item.customFields[customField.id]" theme="bootstrap" name="{{customField.name}}" data-ng-disabled="disabled">\n        <ui-select-match allow-clear placeholder="{{customField.name}}">{{$select.selected}}</ui-select-match>\n        <ui-select-choices repeat="index in indexes | filter: $select.search">\n          <div ng-bind-html="index | highlight: $select.search"></div>\n        </ui-select-choices>\n      </ui-select>\n      <span data-ng-show="forms.csv[customField.name].$invalid && forms.csv.$submitted" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n  </div>\n  <!-- END CUSTOMFIELDS -->\n\n  <div>\n    <p>{{\'APPLICATION_IMPORT_SUCCEEDED\' | translate}}: {{import.succeeded}}/{{csvLength}}</p>\n    <div class="progress progress-sm" style="">\n      <div class="progress-bar progress-bar-info" role="progressbar" ng-style="{ \'width\': import.success + \'%\' }"></div>\n    </div>\n  </div>\n  <div>\n    <p>{{\'APPLICATION_IMPORT_FAILED\' | translate}}: {{import.failed}}/{{csvLength}}</p>\n    <div class="progress progress-sm" style="">\n      <div class="progress-bar progress-bar-info" role="progressbar" ng-style="{ \'width\': import.fail + \'%\' }"></div>\n    </div>\n  </div>\n\n  </form>\n</div>\n<div class="modal-footer">\n  <button class="btn btn-success" type="button" ng-click="start()" ng-disabled="forms.csv.$invalid || !forms.csv.fullname || submitted">{{ \'APPLICATION_SUBMIT\' | translate }}</button>\n  <button class="btn default" type="button" ng-click="close()" data-ng-if="!importing">{{ \'APPLICATION_CLOSE\' | translate }}</button>\n  <button class="btn default" type="button" ng-click="stop()" data-ng-if="importing">{{ \'APPLICATION_STOP\' | translate }}</button>\n</div>\n'),a.put("app/contactmanager/contact/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="fa fa-users"></i>\n                                   <a href="/contactmanager/contacts/list">{{ \'APPLICATION_CONTACT_MANAGER\' | translate }}</a>\n                         </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="fa fa-users font-green-sharp"></i>\n                                  <span class="caption-subject">{{ \'APPLICATION_CONTACTS\' | translate }}</a> </span>\n                          </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="contacts.checked.length">\n                                                <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <button class="btn green-jungle" data-ng-click="newContact();">\n                                                       <i class="icon-plus"></i> {{ \'APPLICATION_NEW_CONTACT\' | translate }}\n                                               </button>\n                                             <span class="btn default btn-file">\n                                           <span class="fileinput-new">\n                                          <i class="icon-cloud-upload"></i> {{\'APPLICATION_IMPORT_FROM_CSV\' | translate}}</span>\n                                              <input type="file" nv-file-select="" uploader="uploader"/>\n                                            </span>\n                                       </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getContacts([\'mailbox\', \'fullname\', \'email\'])" csv-header="[\'name\', \'surname\', \'description\']" field-separator=";" filename="contacts.csv">\n                                     <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedContacts" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                        <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="4">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.contactsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                              <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="contactByPage in contactsByPage | filter: $select.search">\n                                                                                                 <div ng-bind-html="contactByPage.name | highlight: $select.search"></div>\n                                                                                             </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(contact, checked)" checklist-model checklist-value="id"></th>\n                                                  <th st-sort="fullname">{{ \'APPLICATION_FULLNAME\' | translate }}</th>\n                                                <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="contact in displayedContacts" class="animate-repeat">\n                                                         <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="contacts.checked" checklist-value="contact.id"></td>\n                                                           <td>{{contact.fullname}} {{}}</td>\n                                          <td>{{contact.description}}</td>\n                                              <td>\n                                            <button class="btn default btn-xs blue-stripe" data-ng-click="openContactTab(contact)">\n                                                                               {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </button>\n                                             <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(contact.fullname,contact.id)">\n                                                                             {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedContacts.length">\n                                                          <td colspan="4" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_CONTACTS_AVAILABLE\' | translate }}</i>\n                                                            </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="fullname" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_FULLNAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td>\n                                                  </td>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="4" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.contactsByPage.value" st-displayed-pages="7"></div>\n                                            </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/contactmanager/customfield/list/create.modal.html",'<div class="modal-header">\n  <h3 class="modal-title">{{ \'APPLICATION_NEW_CUSTOM_FIELD\' | translate }}</h3>\n</div>\n<div class="modal-body">\n  <form name="forms.customField" novalidate>\n\n    <!-- START NAME -->\n    <div class="form-group" data-ng-class="{\'has-error\': (forms.customField.name.$touched || forms.customField.$submitted) && forms.customField.name.$invalid}">\n      <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n      <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n      <span data-ng-show="(forms.customField.name.$touched || forms.customField.$submitted) && forms.customField.name.$error.required" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END NAME -->\n\n    <!-- START TYPE -->\n    <div class="form-group"  data-ng-class="{\'has-error\': (forms.customField.type.$touched || forms.customField.$submitted) && forms.customField.type.$invalid}">\n      <label class="control-label">{{ \'APPLICATION_TYPE\' | translate }}<span class="required" aria-required="true">*</span></label>\n      <ui-select data-ng-model="item.type" name="type" theme="bootstrap" required>\n        <ui-select-match placeholder="{{ \'APPLICATION_TYPE\' | translate }}">{{$translate.instant($select.selected.name)}}</ui-select-match>\n        <ui-select-choices repeat="type.value as type in types| filter: $select.search">\n          {{$translate.instant(type.name)}}\n        </ui-select-choices>\n      </ui-select>\n      <span data-ng-show="(forms.customField.type.$touched || forms.customField.$submitted) && forms.customField.type.$invalid && forms.customField.type.$error.required" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END TYPE -->\n\n    <div ng-slide-down="item.type == \'select\'" lazy-render duration="1">\n      <div>\n        <label class="control-label">{{\'APPLICATION_CHOICES\' | translate}}</label>\n      </div>\n      <div class="padding-bottom" ng-repeat="choice in choices">\n        <div class="form-group">\n          <div class="input-group">\n            <input type="text" class="form-control" ng-model="choice.value" required>\n            <span class="input-group-btn">\n            <button class="btn red" type="button"data-ng-click="removeField($index)" data-ng-disabled="choices.length<=1"><i class="fa fa-times"></i></button>\n            </span>\n          </div>\n        </div>\n      </div>\n      <button type="button" class="btn btn-sm green padding-bottom" ng-click="addField()">\n        <i class="fa fa-plus"></i> {{\'APPLICATION_ADD_CHOICE\' | translate}}\n      </button>\n\n    </div>\n\n    <!-- START DESCRIPTION -->\n    <div class="form-group">\n      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n      <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"></textarea>\n    </div>\n    <!-- END DESCRIPTION -->\n\n  </form>\n</div>\n<div class="modal-footer">\n  <button class="btn btn-success" type="button" ng-click="ok()" ng-disabled="forms.customField.$invalid">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n  <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/contactmanager/customfield/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-pencil"></i>\n                                   <a href="/contactmanager/customfields/list">{{ \'APPLICATION_CUSTOM_FIELDS\' | translate }}</a>\n                               </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-pencil font-green-sharp"></i>\n                                  <span class="caption-subject">{{ \'APPLICATION_CUSTOM_FIELDS\' | translate }}</a> </span>\n                             </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="CustomFields.checked.length">\n                                            <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <button class="btn green-jungle " ng-click="create()">\n                                                        <i class="icon-plus"></i> {{ \'APPLICATION_NEW_CUSTOM_FIELD\' | translate }}\n                                          </button>\n                                     </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getCs([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="customFields.csv">\n                                       <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedCustomFields" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                    <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="5">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.customFieldsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                          <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="customFieldByPage in customFieldsByPage | filter: $select.search">\n                                                                                                 <div ng-bind-html="customFieldByPage.name | highlight: $select.search"></div>\n                                                                                         </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(customField, checked)" checklist-model checklist-value="id"></th>\n                                              <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="type">{{ \'APPLICATION_TYPE\' | translate }}</th>\n                                                    <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="customField in displayedCustomFields" class="animate-repeat">\n                                                         <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="customFields.checked" checklist-value="customField.id"></td>\n                                                           <td>{{customField.name}}</td>\n                                                         <td>{{customField.type}}</td>\n                                       <td>{{customField.description}}</td>\n                                          <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/contactmanager/customfields/view/{{customField.id}}/settings">\n                                                                               {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(customField.name,customField.id)">\n                                                                         {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedCustomFields.length">\n                                                              <td colspan="5" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_CUSTOM_FIELDS_AVAILABLE\' | translate }}</i>\n                                                               </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_TYPE\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                                </td>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="4" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.customFieldsByPage.value" st-displayed-pages="7"></div>\n                                        </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/contactmanager/customfield/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getCustomField()">\n     <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-pencil"></i>\n                                   <a href="/contactmanager/customfields/list">{{ \'APPLICATION_CUSTOM_FIELDS\' | translate }}</a>\n                                       <i data-ng-show="customField" class="fa fa-angle-right"></i>\n                          </li>\n                         <li data-ng-show="customField">\n                                       <a href="#">{{customField.name}}</a>\n                          </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/customfield.png" class="img-responsive">\n                                </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{customField.name}}\n                                  </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.contactmanager.customfields.view.settings\')}">\n                                                  <a data-ng-href="/contactmanager/customfields/view/{{customField.id}}/settings">\n                                                      <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/contactmanager/customfield/view/view.settings.html",'<div class="row">\n        <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_CUSTOM_FIELD\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n                                </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateCustomField()" novalidate>\n\n                                                 <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="customField.name" required/>\n                                                            <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <div ng-slide-down="customField.type == \'select\'" lazy-render duration="1" class="mbottom20">\n                                                               <div>\n                                                                 <label class="control-label">{{\'APPLICATION_CHOICES\' | translate}}</label>\n                                                          </div>\n                                                                <div class="padding-bottom" ng-repeat="choice in choices">\n                                                                    <div class="form-group">\n                                                                              <div class="input-group">\n                                                                                     <input type="text" class="form-control" ng-model="choice.value" required>\n                                                                                     <span class="input-group-btn">\n                                                                                        <button class="btn red" type="button"data-ng-click="removeField($index)" data-ng-disabled="choices.length<=1"><i class="fa fa-times"></i></button>\n                                                                                    </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                                <button type="button" class="btn btn-sm green padding-bottom" ng-click="addField()">\n                                                                  <i class="fa fa-plus"></i> {{\'APPLICATION_ADD_CHOICE\' | translate}}\n                                                         </button>\n\n                                                   </div>\n\n                                                      <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="customField.description"></textarea>\n                                                   </div>\n                                                        <!-- END DESCRIPTION -->\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END ADVANCED TAB -->\n\n                           </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),
@@ -28,12 +28,12 @@ a.put("app/freshdesk/wizard/wizard.html",'<!-- BEGIN PAGE HEADER-->\n<div class=
 a.put("app/interval/view/view.subintervals.html",'<div ui-view class="profile-content">\n<div class="row">\n   <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title  tabbable-line">\n                            <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SUBINTERVALS\' | translate}}</span>\n                            </div>\n                                <div class="actions">\n                                 <div class="btn-group">\n                                               <a class="btn green-jungle " href="/intervals/view/{{interval.id}}/subinterval" data-toggle="dropdown">\n                                                       <i class="icon-plus"></i> {{ \'APPLICATION_NEW_SUBINTERVAL\' | translate }}\n                                           </a>\n                                  </div>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table class="table table-striped table-bordered table-hover">\n                                          <thead>\n                                               <tr>\n                                                    <th>{{ \'APPLICATION_NAME\' | translate }}</th>\n                                               <th>{{ \'APPLICATION_TIME\' | translate }}</th>\n                                                           <th width="20%">{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                  </tr>\n                                         </thead>\n                                      <tbody data-ng-model="subIntervals">\n                                            <tr data-ng-repeat="subinterval in subIntervals">\n                                                         <td>{{subinterval.name}}</td>\n                                                         <td>{{subinterval.interval}}</td>\n                                           <td>\n                                                                    <a class="btn default btn-xs blue-stripe" data-ng-href="/intervals/view/{{interval.id}}/subintervals/settings/{{subinterval.id}}">\n                                                                            {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(subinterval.name+\' interval\',subinterval.id)">\n                                                                           {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="subIntervals.length">\n                                                               <td colspan="3" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_SUBINTERVALS_AVAILABLE\' | translate }}</i>\n                                                                </td>\n                                                 </tr>\n                                   </tbody>\n                            </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n        </div>\n</div>\n</div>\n'),a.put("app/interval/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n      <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-clock"></i>\n                            <a href="/intervals/list">{{ \'APPLICATION_INTERVALS\' | translate }}</a>\n                             <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="/intervals/wizard">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                      </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered" data-ng-init="getContexts()">\n     <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-clock font-green-sharp"></i>\n                   <span class="caption-subject">{{ \'APPLICATION_INTERVAL\' | translate }} WIZARD</a> </span>\n           </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.interval.$valid)">\n                        <form name="forms.interval" novalidate>\n\n            <!-- START NAME -->\n            <div class="form-group" data-ng-class="{\'has-error\': (forms.interval.name.$touched || forms.interval.$submitted) && forms.interval.name.$invalid}">\n              <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n              <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n              <span data-ng-show="(forms.interval.name.$touched || forms.interval.$submitted) && forms.interval.name.$error.required" class="help-block help-block-error">\n                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n              </span>\n            </div>\n            <!-- END NAME -->\n\n                                              <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                        </form>\n                     </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                     <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/login/login.html",'<!-- BEGIN LOGO -->\n<div class="logo">\n     <a href="index.html">\n <img src="assets/images/logo-big.png" alt=""/>\n        </a>\n</div>\n<!-- END LOGO -->\n<!-- BEGIN LOGIN -->\n<div class="content">\n  <!-- BEGIN LOGIN FORM -->\n     <form class="login-form" name="loginForm" data-ng-show="!flagLogin1" data-ng-submit="login(loginForm)" novalidate>\n            <h3 class="form-title">Sign In</h3>\n           <div class="alert alert-danger" data-ng-class="{\'display-hide\': !loginSubmitted || !errorLogin}">\n                   <button class="close" data-close="alert"></button>\n                    <span>{{ errorLog ? errorLog : \'Enter any username and password.\'}}</span>\n          </div>\n                <div class="form-group" data-ng-class="{\'has-error\': loginSubmitted && loginForm.name.$invalid}">\n                   <label class="control-label">Username</label>\n      <div class="input-icon">\n        <i class="fa fa-user"></i>\n        <input ng-enter="login(loginForm)" class="form-control form-control-solid placeholder-no-fix" type="text" autocomplete="off" placeholder="Username" name="name" ng-model="userLogin.name" required/>\n      </div>\n      <span data-ng-show="loginSubmitted && loginForm.name.$invalid" class="help-block">Username is required.</span>\n           </div>\n                <div class="form-group" data-ng-class="{\'has-error\': loginSubmitted && loginForm.password.$invalid}">\n                       <label class="control-label">Password</label>\n      <div class="input-icon">\n        <i class="fa fa-lock"></i>\n        <input ng-enter="login(loginForm)" class="form-control form-control-solid placeholder-no-fix" type="password" autocomplete="off" placeholder="Password" name="password" ng-model="userLogin.password" required/>\n      </div>\n      <span data-ng-show="loginSubmitted && loginForm.password.$invalid" class="help-block">Password is required.</span>\n           </div>\n                <div class="form-actions">\n                    <button type="submit" class="btn btn-success uppercase">Login</button>\n      <label class="rememberme check">\n        <input type="checkbox"> Remember me\n      </label>\n                   <!-- <label class="rememberme check">\n                 <input type="checkbox" name="remember" value="1"/>Remember </label> -->\n                       <!-- <a href="javascript:;" id="forget-password" class="forget-password">Forgot Password?</a> -->\n             </div>\n                <div class="login-options">\n                   <h4>Follow Us on</h4>\n                 <ul class="social-icons">\n                             <li>\n                                  <a class="social-icon-color facebook" data-original-title="facebook" href="https://www.facebook.com/xenialab"></a>\n                            </li>\n                         <li>\n                                  <a class="social-icon-color twitter" data-original-title="Twitter" href="https://twitter.com/xenialab"></a>\n                           </li>\n                         <li>\n                                  <a class="social-icon-color googleplus" data-original-title="Goole Plus" href="#"></a>\n                                </li>\n                         <li>\n                                  <a class="social-icon-color linkedin" data-original-title="Linkedin" href="#"></a>\n                            </li>\n                 </ul>\n         </div>\n        </form>\n</div>\n<div class="copyright">\n       2016 © xCALLY MOTION.\n</div>\n<!-- END LOGIN -->\n'),a.put("app/mail/account/list/list.html",'<div class="row">\n    <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-envelope"></i>\n                                         <a href="#">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                                <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-notebook"></i>\n                                         <a href="#">{{ \'APPLICATION_ACCOUNTS\' | translate }}</a>\n                                    </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_ACCOUNTS\' | translate }}</a> </span>\n                          </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="mailAccounts.checked.length">\n                                            <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_ACCOUNT\' | translate }} <i class="fa fa-angle-down"></i>\n                                              </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/mail/accounts/wizard">\n                                                              <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getMailAccounts([\'name\', \'description\', {MailServerIn:\'username\'}])" csv-header="[\'Name\', \'Description\', \'Email Address\']" field-separator=";" filename="mail_accounts.csv">\n                                    <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedMailAccounts" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                              <thead>\n                                             <tr>\n                                                  <th colspan="7">\n                                                              <div class="row">\n                                                                     <div class="col-md-6">\n                                                                                <ui-select class="input-xsmall" ng-model="conf.mailAccountsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                  <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                     <ui-select-choices repeat="mailAccountByPage in mailAccountsByPage | filter: $select.search">\n                                                                                         <div ng-bind-html="mailAccountByPage.name | highlight: $select.search"></div>\n                                                                                 </ui-select-choices>\n                                                                          </ui-select>\n                                                                  </div>\n                                                                        <div class="col-md-6">\n                                                                                <div class="input-group input-medium pull-right">\n                                                                                     <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                 <span class="input-group-addon">\n                                                                                              <i class="fa fa-search"></i>\n                                                                                  </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </th>\n                                         </tr>\n                                   <tr>\n                                                        <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(mailAccount, checked)" checklist-model checklist-value="id"></th>\n                                      <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                    <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                  <th st-sort="email">{{ \'APPLICATION_EMAIL\' | translate }}</th>\n                                                      <th>IMAP</th>\n                                                 <th>SMTP</th>\n                                                 <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                      </tr>\n                                 </thead>\n                              <tbody>\n                                 <tr data-ng-repeat="mailAccount in displayedMailAccounts">\n                                                        <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="mailAccounts.checked" checklist-value="mailAccount.id"></td>\n                                 <td>{{mailAccount.name}}</td>\n                                                   <td>{{mailAccount.description}}</td>\n                                                  <td><a ng-href="mailto:{{mailAccount.MailServerIn.username}}">{{mailAccount.MailServerIn.username}}</a></td>\n                                                  <td data-ng-switch="mailAccount.MailServerIn.state">\n                                                          <span class="label label-sm label-success" ng-switch-when="CONNECTED">\n                                                                        {{ mailAccount.MailServerIn.state}}\n                                                           </span>\n                                                               <span class="label label-sm label-warning" ng-switch-when="DISCONNECTED">\n                                                                     {{ mailAccount.MailServerIn.state}}\n                                                           </span>\n                                                               <span class="label label-sm label-danger" ng-switch-when="ERROR">\n                                                                     {{ mailAccount.MailServerIn.state}}\n                                                           </span>\n                                                               <span class="label label-sm label-default" ng-switch-default>\n                                                                 {{ mailAccount.MailServerIn.state}}\n                                                           </span>\n                                                       </td>\n                                                 <td data-ng-switch="mailAccount.MailServerOut.state">\n                                                         <span class="label label-sm label-success" ng-switch-when="CONNECTED">\n                                                                        {{ mailAccount.MailServerOut.state}}\n                                                          </span>\n                                                               <span class="label label-sm label-warning" ng-switch-when="DISCONNECTED">\n                                                                     {{ mailAccount.MailServerOut.state}}\n                                                          </span>\n                                                               <span class="label label-sm label-danger" ng-switch-when="ERROR">\n                                                                     {{ mailAccount.MailServerOut.state}}\n                                                          </span>\n                                                               <span class="label label-sm label-default" ng-switch-default>\n                                                                 {{ mailAccount.MailServerOut.state}}\n                                                          </span>\n                                                       </td>\n                               <td>\n                                    <a class="btn default btn-xs blue-stripe" data-ng-href="/mail/accounts/view/{{mailAccount.id}}/settings">\n                                                                     {{ \'APPLICATION_PROFILE\' | translate }}\n                                     </a>\n                                  <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(mailAccount.name, mailAccount.id)">\n                                                                        {{ \'APPLICATION_DELETE\' | translate }}\n                                      </a>\n                                </td>\n                               </tr>\n                                             <tr data-ng-hide="displayedMailAccounts.length">\n                                                      <td colspan="7" class="text-center">\n                                                  <i>{{ \'MESSAGE_NO_AVAILABLE_ACCOUNTS\' | translate }}</i>\n                                                    </td>\n                                         </tr>\n                           </tbody>\n                              <tfoot>\n                                             <tr>\n                                                  <td/>\n                                     <td>\n                                                              <div class="input-icon right">\n                                                                        <i class="fa fa-search"></i>\n                                                                  <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_USERNAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                            </div>\n                                            </td>\n                                                     <td>\n                                                          <div class="input-icon right">\n                                                                        <i class="fa fa-search"></i>\n                                                                  <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                          </div>\n                                            </td>\n                                         <td colspan="4"/>\n                                   </tr>\n                                               <tr>\n                                                  <td colspan="7" class="text-center">\n                                                          <div class="pagination" st-pagination st-items-by-page="conf.mailAccountsByPage.value" st-displayed-pages="7"></div>\n                                                  </td>\n                                         </tr>\n                           </tfoot>\n                            </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/account/view/action/list/list.html",'<div class="row" data-ng-init="initActons()">\n       <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title  tabbable-line">\n                            <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_ACTIONS\' | translate}}</span>\n                         </div>\n                                <div class="actions">\n                                 <div class="btn-group">\n                                               <a class="btn green-jungle " href="/mail/accounts/view/{{account.id}}/actions/wizard" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_ACTION\' | translate }}\n                                                </a>\n                                  </div>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table class="table table-striped table-bordered table-hover">\n                                          <thead>\n                                               <tr>\n                                                    <th class="input-small" align="center">{{\'APPLICATION_APPLICATION\' | translate}}</th>\n                                                           <th class="input-small" align="center">{{\'APPLICATION_TIMEOUT\' | translate}} [s]</th>\n                                                   <th align="center">{{ \'APPLICATION_INTERVAL\' | translate }}</th>\n                                                                <th class="input-small">{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                  </tr>\n                                         </thead>\n                                      <tbody ui-sortable="sortableOptions" data-ng-model="mailApplications">\n                                          <tr data-ng-repeat="application in mailApplications">\n                                                             <td align="center">\n                                                                   {{application.User ? \'agent\' : \'queue\' | uppercase}} [{{application.User ? application.User.fullname : application.MailQueue.name}}]\n                                                              </td>\n                                                         <td align="center">{{application.timeout}}</td>\n                                                               <td align="center">{{application.Interval ? application.Interval.name : application.interval}}</td>\n                                                           <td>\n                                                                  <a class="btn default btn-xs blue-stripe" data-ng-href="/mail/accounts/view/{{account.id}}/actions/view/{{application.id}}">\n                                                                          {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(application.app, application.id)">\n                                                                         {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="mailApplications.length">\n                                                           <td colspan="5" style="text-align:center;">\n                                                                   <i>No applications available</i>\n                                                              </td>\n                                                 </tr>\n                                   </tbody>\n                            </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/mail/account/view/action/view/view.html",'\n<div class="row" data-ng-init="initAction()">\n       <div class="col-md-12">\n               <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-directions font-green-sharp"></i>\n                                      <span class="caption-subject">{{ \'APPLICATION_ACTION\' | translate }}</a> </span>\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <form name="forms.settings" ng-submit="updateItem()" novalidate>\n                                      <!-- START APP -->\n                                    <div class="form-group"  data-ng-class="{\'has-error\': (forms.settings.app.$touched || forms.settings.$submitted) && forms.settings.app.$invalid}">\n                                          <label class="control-label">{{ \'APPLICATION_APPLICATION\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                <ui-select data-ng-model="application.app" name="app" theme="bootstrap" required>\n                                                     <ui-select-match placeholder="{{ \'APPLICATION_APPLICATION\' | translate }}">{{$select.selected.name}}</ui-select-match>\n                                                      <ui-select-choices repeat="app.value as app in apps | filter: $select.search">\n                                                                <div ng-bind-html="app.name | highlight: $select.search"></div>\n                                                       </ui-select-choices>\n                                          </ui-select>\n                                          <span data-ng-show="(forms.settings.app.$touched || forms.settings.$submitted) && forms.settings.app.$invalid && forms.settings.app.$error.required" class="help-block help-block-error">\n                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                         </span>\n                                       </div>\n                                        <!-- END APP -->\n\n                                    <!-- START HOST -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.timeout.$touched || forms.settings.$submitted) && forms.settings.timeout.$invalid}">\n                                           <label class="control-label">{{\'APPLICATION_TIMEOUT\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                             <input type="number" name="timeout" placeholder="{{\'APPLICATION_TIMEOUT\' | translate}}" class="form-control" data-ng-model="application.timeout" min="0" required/>\n                                         <span data-ng-show="(forms.settings.timeout.$touched || forms.settings.$submitted) && forms.settings.timeout.$invalid && forms.settings.timeout.$error.required" class="help-block help-block-error">\n                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                         </span>\n                                       </div>\n                                        <!-- END HOST -->\n\n                                   <div class="app-settings" ng-slide-down="application.app === \'queue\'" lazy-render duration="1" data-ng-init="getQueues()">\n                                          <!-- START QUEUE -->\n                                          <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.queue.$touched || forms.settings.$submitted) && forms.settings.queue.$invalid}">\n                                                       <label class="control-label">{{\'APPLICATION_QUEUE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                        <ui-select data-ng-model="application.MailQueueId" name="queue" theme="bootstrap" required>\n                                                           <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                              <ui-select-choices repeat="queue.id as queue in queues | filter: $select.search">\n                                                                     <div ng-bind-html="queue.name | highlight: $select.search"></div>\n                                                             </ui-select-choices>\n                                                  </ui-select>\n                                                  <span data-ng-show="(forms.settings.queue.$touched || forms.settings.$submitted) && forms.settings.queue.$error.required" class="help-block help-block-error">\n                                                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END QUEUE -->\n                                    </div>\n\n                                      <div class="app-settings" ng-slide-down="application.app === \'agent\'" lazy-render duration="1" data-ng-init="getAgents()">\n                                          <!-- START AGENT -->\n                                          <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.agent.$touched || forms.settings.$submitted) && forms.settings.agent.$invalid}">\n                                                       <label class="control-label">{{\'APPLICATION_AGENT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                        <ui-select data-ng-model="application.UserId" name="agent" theme="bootstrap" required>\n                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.fullname}}</ui-select-match>\n                                                          <ui-select-choices repeat="agent.id as agent in agents | filter: $select.search">\n                                                                     <div ng-bind-html="agent.fullname | highlight: $select.search"></div>\n                                                         </ui-select-choices>\n                                                  </ui-select>\n                                                  <span data-ng-show="(forms.settings.agent.$touched || forms.settings.$submitted) && forms.settings.agent.$error.required" class="help-block help-block-error">\n                                                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END AGENT -->\n                                    </div>\n\n                                      <!-- START INTERVAL_TYPE -->\n                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.intType.$touched || forms.settings.$submitted) && forms.settings.intType.$invalid}">\n                                           <label class="control-label">{{ \'APPLICATION_INTERVAL_TYPE\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                              <ui-select data-ng-model="application.intType" theme="bootstrap" name="intType" required>\n                                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{ $select.selected.name | translate }}</ui-select-match>\n                                                        <ui-select-choices repeat="intType.value as intType in $application.intTypes | filter: $select.search">\n                                                               {{ intType.name | translate }}\n                                                        </ui-select-choices>\n                                          </ui-select>\n                                          <span data-ng-show="(forms.settings.intType.$touched || forms.settings.$submitted) && forms.settings.intType.$error.required" class="help-block help-block-error">\n                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                         </span>\n                                       </div>\n                                        <!-- END INTERVAL_TYPE -->\n\n                                  <div class="app-settings" ng-slide-down="application.intType === \'custom\'" lazy-render duration="1">\n                                                <!-- START TIME -->\n                                           <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_TIME\' | translate }}</label>\n                                                   <div class="input-group input-large">\n                                                         <fieldset class="pull-left" ng-disabled="application.alwaysTime">\n                                                                     <uib-timepicker name="t_from" data-ng-model="application.t_from" show-meridian="false" show-spinners="false" mousewheel="false"></uib-timepicker>\n                                                             </fieldset>\n                                                           <div class="input-group-addon col-md-1 interval-to pull-left">to</div>\n                                                                <fieldset ng-disabled="application.alwaysTime"><uib-timepicker  name="t_to" data-ng-model="application.t_to" show-meridian="false" show-spinners="false" mousewheel="false"></uib-timepicker></fieldset>\n                                                              <!-- <label class="control-label pointer-cursor"><input type="checkbox" data-ng-model="application.alwaysTime">{{\'APPLICATION_ALWAYS\' | translate}}</label> -->\n                                                     </div>\n                                                </div>\n                                                <!-- END TIME -->\n\n                                           <!-- START ALWAYS -->\n                                         <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_ALWAYS\' | translate }}</label>\n                                                 <div class="input-group input-large">\n                                                         <label class="control-label pointer-cursor">\n                                                                  <input\n                                                                                bs-switch\n                                                                             data-ng-model="application.alwaysTime"\n                                                                                type="checkbox"\n                                                                               switch-active="{{ isActive }}"\n                                                                                switch-on-text="{{ \'APPLICATION_YES\' | translate }}"\n                                                                                switch-off-text="{{ \'APPLICATION_NO\' | translate }}"\n                                                                                switch-on-color="{{ onColor }}"\n                                                                               switch-off-color="{{ offColor }}"\n                                                                             switch-animate="{{ animate }}"\n                                                                                switch-size="{{ size }}"\n                                                                              switch-label="{{ label }}"\n                                                                            switch-icon="{{ icon }}"\n                                                                              switch-radio-off="{{ radioOff }}"\n                                                                             switch-label-width="{{ labelWidth }}"\n                                                                         switch-handle-width="{{ handleWidth }}">\n                                                                      <!-- <input type="checkbox" data-ng-model="application.alwaysTime"> -->\n                                                               </label>\n                                                      </div>\n                                                </div>\n                                                <!-- END ALWAYS -->\n\n                                         <!-- START WEEKDAY -->\n                                                <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_WEEKDAY\' | translate }}</label>\n                                                        <div class="input-group input-large">\n                                                         <ui-select data-ng-model="application.wd_from" theme="bootstrap" name="wd_from">\n                                                                      <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                     <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                                                                                {{ weekDay.name | translate}}\n                                                                 </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="input-group-addon">to</span>\n                                                             <ui-select data-ng-model="application.wd_to" theme="bootstrap" name="wd_to">\n                                                                  <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                     <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                                                                                {{ weekDay.name | translate }}\n                                                                        </ui-select-choices>\n                                                          </ui-select>\n                                                  </div>\n                                                </div>\n                                                <!-- END WEEKDAY -->\n\n                                                <!-- START MONTHDAY -->\n                                               <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_MONTHDAY\' | translate }}</label>\n                                                       <div class="input-group input-large">\n                                                         <ui-select data-ng-model="application.md_from" theme="bootstrap" name="md_from">\n                                                                      <ui-select-match>{{$select.selected}}</ui-select-match>\n                                                                       <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                                                                               {{monthDay}}\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="input-group-addon">to</span>\n                                                             <ui-select data-ng-model="application.md_to" theme="bootstrap" name="md_to">\n                                                                  <ui-select-match>{{$select.selected}}</ui-select-match>\n                                                                       <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                                                                               {{monthDay}}\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                  </div>\n                                                </div>\n                                                <!-- END MONTHDAY -->\n\n                                               <!-- START MONTH -->\n                                          <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_MONTH\' | translate }}</label>\n                                                  <div class="input-group input-large">\n                                                         <ui-select data-ng-model="application.m_from" theme="bootstrap" name="m_from">\n                                                                        <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                     <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                                                                                {{ month.name | translate }}\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="input-group-addon">to</span>\n                                                             <ui-select data-ng-model="application.m_to" theme="bootstrap" name="m_to">\n                                                                    <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                     <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                                                                                {{ month.name | translate }}\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                  </div>\n                                                </div>\n                                                <!-- END MONTH -->\n                                    </div>\n\n                                      <div class="app-settings" ng-slide-down="application.intType === \'list\'" lazy-render duration="1" data-ng-init="getIntervals()">\n\n                                          <!-- START INTERVALS -->\n                                              <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.IntervalId.$touched || forms.settings.$submitted) && forms.settings.IntervalId.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_INTERVALS\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                    <ui-select data-ng-model="application.IntervalId" theme="bootstrap" name="IntervalId" required>\n                                                               <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{ $select.selected.name}}</ui-select-match>\n                                                             <ui-select-choices repeat="interval.id as interval in intervals | filter: $select.search">\n                                                                    {{ interval.name}}\n                                                            </ui-select-choices>\n                                                  </ui-select>\n                                                  <span data-ng-show="(forms.settings.IntervalId.$touched || forms.settings.$submitted) && forms.settings.IntervalId.$error.required" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END INTERVALS -->\n\n                                      </div>\n                                        <button class="btn green-haze" type="submit">{{\'APPLICATION_UPDATE\' | translate}}</button>\n                          </form>\n                       </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/account/view/action/wizard/wizard.html",'\n<div class="row" data-ng-init="initWizard()">\n <div class="col-md-12">\n               <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-directions font-green-sharp"></i>\n                                      <span class="caption-subject">{{ \'APPLICATION_ACTION\' | translate }} WIZARD</a> </span>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n                                     <wz-step title="{{\'APPLICATION_APPLICATION\' | translate}}" canexit="formValidation(forms.action.$valid)">\n                                           <form name="forms.action" novalidate>\n                                                 <!-- START APP -->\n                                                    <div class="form-group"  data-ng-class="{\'has-error\': forms.action.$submitted && forms.action.app.$invalid}">\n                                                               <label class="control-label">{{ \'APPLICATION_APPLICATION\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                                <ui-select data-ng-model="application.app" name="app" theme="bootstrap" required>\n                                                                     <ui-select-match placeholder="{{ \'APPLICATION_APPLICATION\' | translate }}">{{$select.selected.name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="app.value as app in apps | filter: $select.search">\n                                                                                <div ng-bind-html="app.name | highlight: $select.search"></div>\n                                                                       </ui-select-choices>\n                                                          </ui-select>\n                                                          <span data-ng-show="forms.action.$submitted && forms.action.app.$invalid" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END APP -->\n\n                                                    <!-- START HOST -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.action.timeout.$touched || forms.action.$submitted) && forms.action.timeout.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_TIMEOUT\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                             <input type="number" name="timeout" placeholder="{{\'APPLICATION_TIMEOUT\' | translate}}" class="form-control" data-ng-model="application.timeout" min="0" required/>\n                                                         <span data-ng-show="(forms.action.timeout.$touched || forms.action.$submitted) && forms.action.timeout.$invalid && forms.action.timeout.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END HOST -->\n\n                                                   <div class="app-settings" ng-slide-down="application.app === \'queue\'" lazy-render duration="1" data-ng-init="getQueues()">\n                                                          <!-- START QUEUE -->\n                                                          <div class="form-group" data-ng-class="{\'has-error\': (forms.action.queue.$touched || forms.action.$submitted) && forms.action.queue.$invalid}">\n                                                                     <label class="control-label">{{\'APPLICATION_QUEUE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                        <ui-select data-ng-model="application.MailQueueId" name="queue" theme="bootstrap" required>\n                                                                           <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                              <ui-select-choices repeat="queue.id as queue in queues | filter: $select.search">\n                                                                                     <div ng-bind-html="queue.name | highlight: $select.search"></div>\n                                                                             </ui-select-choices>\n                                                                  </ui-select>\n                                                                  <span data-ng-show="(forms.action.queue.$touched || forms.action.$submitted) && forms.action.queue.$error.required" class="help-block help-block-error">\n                                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END QUEUE -->\n                                                    </div>\n\n                                                      <div class="app-settings" ng-slide-down="application.app === \'agent\'" lazy-render duration="1" data-ng-init="getAgents()">\n                                                          <!-- START AGENT -->\n                                                          <div class="form-group" data-ng-class="{\'has-error\': (forms.action.agent.$touched || forms.action.$submitted) && forms.action.agent.$invalid}">\n                                                                     <label class="control-label">{{\'APPLICATION_AGENT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                        <ui-select data-ng-model="application.UserId" name="agent" theme="bootstrap" required>\n                                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.fullname}}</ui-select-match>\n                                                                          <ui-select-choices repeat="agent.id as agent in agents | filter: $select.search">\n                                                                                     <div ng-bind-html="agent.fullname | highlight: $select.search"></div>\n                                                                         </ui-select-choices>\n                                                                  </ui-select>\n                                                                  <span data-ng-show="(forms.action.agent.$touched || forms.action.$submitted) && forms.action.agent.$error.required" class="help-block help-block-error">\n                                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END AGENT -->\n                                                    </div>\n\n                                                      <!-- START INTERVAL_TYPE -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.action.intType.$touched || forms.action.$submitted) && forms.action.intType.$invalid}">\n                                                         <label class="control-label">{{ \'APPLICATION_INTERVAL_TYPE\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                              <ui-select data-ng-model="application.intType" theme="bootstrap" name="intType" required>\n                                                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                        <ui-select-choices repeat="intType.value as intType in $application.intTypes | filter: $select.search">\n                                                                               {{ intType.name | translate }}\n                                                                        </ui-select-choices>\n                                                          </ui-select>\n                                                          <span data-ng-show="(forms.action.intType.$touched || forms.action.$submitted) && forms.action.intType.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END INTERVAL_TYPE -->\n\n                                                  <div class="app-settings" ng-slide-down="application.intType === \'custom\'" lazy-render duration="1">\n                                                                <!-- START TIME -->\n                                                           <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_TIME\' | translate }}</label>\n                                                                   <div class="input-group input-large">\n                                                                         <fieldset class="pull-left" ng-disabled="application.alwaysTime">\n                                                                                     <uib-timepicker name="t_from" data-ng-model="application.t_from" show-meridian="false" show-spinners="false" mousewheel="false"></uib-timepicker>\n                                                                             </fieldset>\n                                                                           <div class="input-group-addon col-md-1 interval-to pull-left">to</div>\n                                                                                <fieldset ng-disabled="application.alwaysTime"><uib-timepicker  name="t_to" data-ng-model="application.t_to" show-meridian="false" show-spinners="false" mousewheel="false"></uib-timepicker></fieldset>\n                                                                              <!-- <label class="control-label pointer-cursor"><input type="checkbox" data-ng-model="application.alwaysTime">{{\'APPLICATION_ALWAYS\' | translate}}</label> -->\n                                                                     </div>\n                                                                </div>\n                                                                <!-- END TIME -->\n\n                                                           <!-- START ALWAYS -->\n                                                         <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_ALWAYS\' | translate }}</label>\n                                                                 <div class="input-group input-large">\n                                                                         <label class="control-label pointer-cursor">\n                                                                                  <input\n                                                                                                bs-switch\n                                                                                             data-ng-model="application.alwaysTime"\n                                                                                                type="checkbox"\n                                                                                               switch-active="{{ isActive }}"\n                                                                                                switch-on-text="{{ \'APPLICATION_YES\' | translate }}"\n                                                                                                switch-off-text="{{ \'APPLICATION_NO\' | translate }}"\n                                                                                                switch-on-color="{{ onColor }}"\n                                                                                               switch-off-color="{{ offColor }}"\n                                                                                             switch-animate="{{ animate }}"\n                                                                                                switch-size="{{ size }}"\n                                                                                              switch-label="{{ label }}"\n                                                                                            switch-icon="{{ icon }}"\n                                                                                              switch-radio-off="{{ radioOff }}"\n                                                                                             switch-label-width="{{ labelWidth }}"\n                                                                                         switch-handle-width="{{ handleWidth }}">\n                                                                                      <!-- <input type="checkbox" data-ng-model="application.alwaysTime"> -->\n                                                                               </label>\n                                                                      </div>\n                                                                </div>\n                                                                <!-- END ALWAYS -->\n\n                                                         <!-- START WEEKDAY -->\n                                                                <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_WEEKDAY\' | translate }}</label>\n                                                                        <div class="input-group input-large">\n                                                                         <ui-select data-ng-model="application.wd_from" theme="bootstrap" name="wd_from">\n                                                                                      <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                                     <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                                                                                                {{ weekDay.name | translate}}\n                                                                                 </ui-select-choices>\n                                                                          </ui-select>\n                                                                          <span class="input-group-addon">to</span>\n                                                                             <ui-select data-ng-model="application.wd_to" theme="bootstrap" name="wd_to">\n                                                                                  <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                                     <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                                                                                                {{ weekDay.name | translate }}\n                                                                                        </ui-select-choices>\n                                                                          </ui-select>\n                                                                  </div>\n                                                                </div>\n                                                                <!-- END WEEKDAY -->\n\n                                                                <!-- START MONTHDAY -->\n                                                               <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_MONTHDAY\' | translate }}</label>\n                                                                       <div class="input-group input-large">\n                                                                         <ui-select data-ng-model="application.md_from" theme="bootstrap" name="md_from">\n                                                                                      <ui-select-match>{{$select.selected}}</ui-select-match>\n                                                                                       <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                                                                                               {{monthDay}}\n                                                                                  </ui-select-choices>\n                                                                          </ui-select>\n                                                                          <span class="input-group-addon">to</span>\n                                                                             <ui-select data-ng-model="application.md_to" theme="bootstrap" name="md_to">\n                                                                                  <ui-select-match>{{$select.selected}}</ui-select-match>\n                                                                                       <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                                                                                               {{monthDay}}\n                                                                                  </ui-select-choices>\n                                                                          </ui-select>\n                                                                  </div>\n                                                                </div>\n                                                                <!-- END MONTHDAY -->\n\n                                                               <!-- START MONTH -->\n                                                          <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_MONTH\' | translate }}</label>\n                                                                  <div class="input-group input-large">\n                                                                         <ui-select data-ng-model="application.m_from" theme="bootstrap" name="m_from">\n                                                                                        <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                                     <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                                                                                                {{ month.name | translate }}\n                                                                                  </ui-select-choices>\n                                                                          </ui-select>\n                                                                          <span class="input-group-addon">to</span>\n                                                                             <ui-select data-ng-model="application.m_to" theme="bootstrap" name="m_to">\n                                                                                    <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                                     <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                                                                                                {{ month.name | translate }}\n                                                                                  </ui-select-choices>\n                                                                          </ui-select>\n                                                                  </div>\n                                                                </div>\n                                                                <!-- END MONTH -->\n                                                    </div>\n\n                                                      <div class="app-settings" ng-slide-down="application.intType === \'list\'" lazy-render duration="1" data-ng-init="getIntervals()">\n\n                                                          <!-- START INTERVALS -->\n                                                              <div class="form-group" data-ng-class="{\'has-error\': (forms.action.IntervalId.$touched || forms.action.$submitted) && forms.action.IntervalId.$invalid}">\n                                                                   <label class="control-label">{{\'APPLICATION_INTERVALS\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                    <ui-select data-ng-model="application.IntervalId" theme="bootstrap" name="IntervalId" required>\n                                                                               <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{ $select.selected.name}}</ui-select-match>\n                                                                             <ui-select-choices repeat="interval.id as interval in intervals | filter: $select.search">\n                                                                                    {{ interval.name}}\n                                                                            </ui-select-choices>\n                                                                  </ui-select>\n                                                                  <span data-ng-show="(forms.action.IntervalId.$touched || forms.action.$submitted) && forms.action.IntervalId.$error.required" class="help-block help-block-error">\n                                                                            <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END INTERVALS -->\n\n                                                      </div>\n\n                                                      <input class="btn green-haze" type="submit" data-ng-click="next()" value="{{\'APPLICATION_CONTINUE\' | translate}}"/>\n                                         </form>\n                                       </wz-step>\n                                    <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                             <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                            <!-- <button class="btn green-haze" type="button" wz-previous><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button> -->\n                                              <input class="btn green-haze" type="submit" data-ng-click="next()" value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                  </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
 a.put("app/mail/account/view/view.html",'<!-- BEGIN PAGE HEADER-->\n<div class="row" data-ng-init="initView()">\n      <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="/">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                        <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-notebook"></i>\n                                 <a href="/mail/accounts/list">{{ \'APPLICATION_ACCOUNTS\' | translate }}</a>\n                                  <i class="fa fa-angle-right" data-ng-show="account"></i>\n                              </li>\n                         <li data-ng-show="account">\n                                   <a href="#">{{ account.description || account.name }}</a>\n                             </li>\n                 </ul>\n         </div>\n\n<!-- END PAGE HEADER-->\n\n<!-- BEGIN PAGE CONTENT-->\n               <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img ng-src="assets/images/media/account.png" class="img-responsive">\n                         </div>\n                                <!-- END SIDEBAR USERPIC -->\n\n                                <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{ account.description || account.name }}\n                                     </div>\n                                        <div class="profile-usertitle-job">\n                                           {{account.email}}\n                                     </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li ng-class="{active: $state.is(\'main.mail.accounts.view.settings\')}">\n                                                     <a href="/mail/accounts/view/{{account.id}}/settings">\n                                                        <i class="icon-settings"></i>\n                                                 {{\'APPLICATION_SETTINGS\' | translate}} </a>\n                                         </li>\n                                         <li ng-class="{active: $state.includes(\'main.mail.accounts.view.actions\')}">\n                                                        <a href="/mail/accounts/view/{{account.id}}/actions/list">\n                                                    <i class="icon-directions"></i>\n                                                       {{\'APPLICATION_ACTIONS\' | translate}} </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <div ui-view class="profile-content"></div>\n           <!-- END PROFILE CONTENT -->\n  </div>\n<!-- END PAGE CONTENT-->\n</div>\n'),a.put("app/mail/account/view/view.settings.html",'<div class="row">\n      <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n                                </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{\'APPLICATION_GENERALS\' | translate}}</a>\n                                     </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_2" data-toggle="tab">IMAP</a>\n                                 </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_3" data-toggle="tab">SMTP</a>\n                                 </li>\n                         </ul>\n                 </div>\n                        <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.formInfo" data-ng-submit="forms.formInfo.$valid && updateItemMailAccount()" novalidate>\n                                                     <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.formInfo.name.$touched || forms.formInfo.$submitted) && forms.formInfo.name.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="account.name" required/>\n                                                                <span data-ng-show="(forms.formInfo.name.$touched || forms.formInfo.$submitted) && forms.formInfo.name.$invalid && forms.formInfo.name.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="account.description"/>\n                                                    </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END GENERAL TAB -->\n\n                                    <!-- IMAP TAB -->\n                                     <div class="tab-pane" id="tab_1_2">\n                                           <form name="forms.formIn" data-ng-submit="forms.formIn.$valid && updateItemMailServerIn()" novalidate>\n                                                        <!-- START PROTOCOL -->\n                                                       <!-- <div class="form-group">\n                                                         <label class="control-label">IMAP/POP3</label>\n                                                                <button type="button" name="protocol" class="btn btn-default form-control" data-ng-model="account.MailServerIn.protocol" bs-checkbox>{{account.MailServerIn.protocol ? \'IMAP\' : \'POP3\'}}</button>\n                                                 </div> -->\n                                                    <!-- END PROTOCOL -->\n\n                                                       <!-- START HOST -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.formIn.host.$touched || forms.formIn.$submitted) && forms.formIn.host.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_HOST\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                <input type="text" name="host" placeholder="{{\'APPLICATION_HOST\' | translate}}" class="form-control" data-ng-model="account.MailServerIn.host" required/>\n                                                           <span data-ng-show="(forms.formIn.host.$touched || forms.formIn.$submitted) && forms.formIn.host.$invalid && forms.formIn.host.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END HOST -->\n\n                                                   <!-- START USERNAME -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.formIn.username.$touched || forms.formIn.$submitted) && forms.formIn.username.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="text" name="username" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="account.MailServerIn.username" required/>\n                                                               <span data-ng-show="(forms.formIn.username.$touched || forms.formIn.$submitted) && forms.formIn.username.$invalid && forms.formIn.username.$error.required"  class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n                                                       <!-- START PASSWORD -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.formIn.password.$touched || forms.formIn.$submitted) && forms.formIn.password.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="account.MailServerIn.password" required/>\n                                                           <span data-ng-show="(forms.formIn.password.$touched || forms.formIn.$submitted) && forms.formIn.password.$invalid && forms.formIn.password.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END PASSWORD -->\n\n                                                       <!-- START PORT -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.formIn.port.$touched || forms.formIn.$submitted) && forms.formIn.port.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_PORT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="number" name="port" placeholder="{{\'APPLICATION_PORT\' | translate}}" class="form-control" data-ng-model="account.MailServerIn.port" required/>\n                                                         <span data-ng-show="(forms.formIn.port.$touched || forms.formIn.$submitted) && forms.formIn.port.$invalid && forms.formIn.port.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                               <span data-ng-show="(forms.formIn.port.$touched || forms.formIn.$submitted) && forms.formIn.port.$invalid && forms.formIn.port.$error.number" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_NUMERIC_FIELD\' | translate}}.\n                                                          </span>\n                                                       </div>\n                                                        <!-- END PORT -->\n\n                                                   <!-- START MAILBOX -->\n                                                        <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_MAILBOX\' | translate}}</label>\n                                                          <input type="text" name="mailbox" placeholder="{{\'APPLICATION_MAILBOX\' | translate}}" class="form-control" data-ng-model="account.MailServerIn.mailbox"/>\n                                                   </div>\n                                                        <!-- END MAILBOX -->\n\n                                                        <!-- START SEARCH FILTER -->\n                                                  <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_SEARCH_FILTER\' | translate}}</label>\n                                                            <ui-select data-ng-model="account.MailServerIn.filter" name="filter" theme="bootstrap">\n                                                                       <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected}}</ui-select-match>\n                                                                   <ui-select-choices repeat="filter in [\'UNSEEN\'] | filter: $select.search">\n                                                                          <div ng-bind-html="filter | highlight: $select.search"></div>\n                                                                 </ui-select-choices>\n                                                          </ui-select>\n                                                  </div>\n                                                        <!-- START SEARCH FILTER -->\n\n                                                        <!-- START DELETE -->\n                                                 <div class="form-group row">\n                                                          <label class="col-md-3">\n                                                                      {{\'APPLICATION_DELETE_MAIL_FROM_SERVER\' | translate}}\n                                                               </label>\n                                                              <label class="col-md-9">\n                                                                      <input type="checkbox" ng-model="account.MailServerIn.delete">\n                                                                </label>\n                                                      </div>\n                                                        <!-- END DELETE -->\n\n                                                 <!-- START SSL -->\n                                                    <div class="form-group row">\n                                                          <label class="col-md-3">\n                                                                      SSL\n                                                           </label>\n                                                              <label class="col-md-9">\n                                                                              <input type="checkbox" data-ng-model="account.MailServerIn.ssl">\n                                                              </label>\n                                                      </div>\n                                                        <!-- END SSL -->\n\n                                                    <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END IMAP TAB -->\n\n                                       <!-- SMTP TAB -->\n                                     <div class="tab-pane" id="tab_1_3">\n                                           <form name="forms.formOut" data-ng-submit="forms.formOut.$valid && updateItemMailServerOut()" novalidate>\n\n                                                   <!-- START HOST -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.formOut.host.$touched || forms.formOut.$submitted) && forms.formOut.host.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_HOST\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                <input type="text" name="host" placeholder="{{\'APPLICATION_HOST\' | translate}}" class="form-control" data-ng-model="account.MailServerOut.host" required/>\n                                                          <span data-ng-show="(forms.formOut.host.$touched || forms.formOut.$submitted) && forms.formOut.host.$invalid && forms.formOut.host.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END HOST -->\n\n                                                   <!-- START USERNAME -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.formOut.username.$touched || forms.formOut.$submitted) && forms.formOut.username.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="text" name="username" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="account.MailServerOut.username" required/>\n                                                              <span data-ng-show="(forms.formOut.username.$touched || forms.formOut.$submitted) && forms.formOut.username.$invalid && forms.formOut.username.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n                                                       <!-- START PASSWORD -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.formOut.password.$touched || forms.formOut.$submitted) && forms.formOut.password.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="account.MailServerOut.password" required/>\n                                                          <span data-ng-show="(forms.formOut.password.$touched || forms.formOut.$submitted) && forms.formOut.password.$invalid && forms.formOut.password.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END PASSWORD -->\n\n                                                       <!-- START PORT -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.formOut.port.$touched || forms.formOut.$submitted) && forms.formOut.port.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_PORT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="number" name="port" placeholder="{{\'APPLICATION_PORT\' | translate}}" class="form-control" data-ng-model="account.MailServerOut.port" required/>\n                                                                <span data-ng-show="(forms.formOut.form.$touched || forms.formOut.$submitted) && forms.formOut.port.$invalid && forms.formOut.port.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                               <span data-ng-show="(forms.formOut.form.$touched || forms.formOut.$submitted) && forms.formOut.port.$invalid && forms.formOut.port.$error.number" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_NUMERIC_FIELD\' | translate}}.\n                                                          </span>\n                                                       </div>\n                                                        <!-- END PORT -->\n\n                                                   <!-- START SSL -->\n                                                    <div class="form-group row">\n                                                          <label class="col-md-3">\n                                                                      SSL\n                                                           </label>\n                                                              <label class="col-md-9">\n                                                                              <input type="checkbox" data-ng-model="account.MailServerOut.ssl">\n                                                             </label>\n                                                      </div>\n                                                        <!-- END SSL -->\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                                  <input class="btn blue-madison" type="button" value="Test" data-ng-click="test()"/>\n                                           </form>\n                                       </div>\n                                        <!-- END SMTP TAB -->\n                         </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/mail/account/wizard/wizard.html",'\n<div class="row" data-ng-init="initWizard()">\n       <div class="col-md-12">\n               <!-- BEGIN PAGE HEADER-->\n             <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="#">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                        <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-notebook"></i>\n                                 <a href="/mail/accounts/list">{{ \'APPLICATION_ACCOUNTS\' | translate }}</a>\n                          </li>\n                 </ul>\n         </div>\n                <!-- END PAGE HEADER-->\n\n             <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_ACCOUNT\' | translate }} WIZARD</a> </span>\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n             <wz-step title="{{\'APPLICATION_ACCOUNT_INFO\' | translate}}" canexit="formValidation(forms.info.$valid)">\n                                                    <form name="forms.info" novalidate>\n                                                           <!-- START NAME -->\n                                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                                                                     <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                 <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="info.name" required/>\n                                                                   <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid && forms.info.name.$error.required" class="help-block help-block-error">\n                                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END NAME -->\n\n                                                           <!-- START DESCRIPTION -->\n                                                            <div class="form-group">\n                                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                                      <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="info.description"/>\n                                                               </div>\n                                                                <!-- END DESCRIPTION -->\n                                                              <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" data-ng-click="goNext()"/>\n                                                       </form>\n                                               </wz-step>\n\n                                          <wz-step title="IMAP" canexit="formValidation(forms.in.$valid)">\n                                                      <form name="forms.in" novalidate>\n                                                             <!-- START PROTOCOL -->\n                                                               <!-- <div class="form-group">\n                                                                 <label class="control-label">IMAP/POP3</label>\n                                                                        <button type="button" name="protocol" class="btn btn-default form-control" data-ng-model="in.protocol" bs-checkbox>{{in.protocol ? \'IMAP\' : \'POP3\'}}</button>\n                                                             </div> -->\n                                                            <!-- END PROTOCOL -->\n\n                                                               <!-- START HOST -->\n                                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.in.host.$touched || forms.in.$submitted) && forms.in.host.$invalid}">\n                                                                   <label class="control-label">{{\'APPLICATION_HOST\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                        <input type="text" name="host" placeholder="{{\'APPLICATION_HOST\' | translate}}" class="form-control" data-ng-model="in.host" required/>\n                                                                     <span data-ng-show="(forms.in.host.$touched || forms.in.$submitted) && forms.in.host.$invalid && forms.in.host.$error.required" class="help-block help-block-error">\n                                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END HOST -->\n\n                                                           <!-- START USERNAME -->\n                                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.in.username.$touched || forms.in.$submitted) && forms.in.username.$invalid}">\n                                                                   <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                     <input type="text" name="username" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="in.username" name="username" required/>\n                                                                 <span data-ng-show="(forms.in.username.$touched || forms.in.$submitted) && forms.in.username.$invalid && forms.in.username.$error.required"  class="help-block help-block-error">\n                                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END USERNAME -->\n\n                                                               <!-- START PASSWORD -->\n                                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.in.password.$touched || forms.in.$submitted) && forms.in.password.$invalid}">\n                                                                   <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                     <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="in.password" required/>\n                                                                     <span data-ng-show="(forms.in.password.$touched || forms.in.$submitted) && forms.in.password.$invalid && forms.in.password.$error.required" class="help-block help-block-error">\n                                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END PASSWORD -->\n\n                                                               <!-- START PORT -->\n                                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.in.port.$touched || forms.in.$submitted) && forms.in.port.$invalid}">\n                                                                   <label class="control-label">{{\'APPLICATION_PORT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                 <input type="number" name="port" placeholder="{{\'APPLICATION_PORT\' | translate}}" class="form-control" data-ng-model="in.port" required/>\n                                                                   <span data-ng-show="(forms.in.port.$touched || forms.in.$submitted) && forms.in.port.$invalid && forms.in.port.$error.required" class="help-block help-block-error">\n                                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                                       <span data-ng-show="(forms.in.port.$touched || forms.in.$submitted) && forms.in.port.$invalid && forms.in.port.$error.number" class="help-block help-block-error">\n                                                                            <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_NUMERIC_FIELD\' | translate}}.\n                                                                  </span>\n                                                               </div>\n                                                                <!-- END PORT -->\n\n                                                           <!-- START MAILBOX -->\n                                                                <div class="form-group">\n                                                                      <label class="control-label">{{\'APPLICATION_MAILBOX\' | translate}}</label>\n                                                                  <input type="text" name="mailbox" placeholder="{{\'APPLICATION_MAILBOX\' | translate}}" class="form-control" data-ng-model="in.mailbox"/>\n                                                             </div>\n                                                                <!-- END MAILBOX -->\n\n                                                                <!-- START SEARCH FILTER -->\n                                                          <div class="form-group">\n                                                                      <label class="control-label">{{\'APPLICATION_SEARCH_FILTER\' | translate}}</label>\n                                                                    <ui-select data-ng-model="in.filter" name="filter" theme="bootstrap">\n                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected}}</ui-select-match>\n                                           <ui-select-choices repeat="filter in [\'UNSEEN\'] | filter: $select.search">\n                                            <div data-ng-bind="filter | highlight: $select.search"></div>\n                                       </ui-select-choices>\n                                        </ui-select>\n                                                                        <!-- <input type="text" name="filter" placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}" class="form-control" data-ng-model="in.filter"/> -->\n                                                                </div>\n                                                                <!-- START SEARCH FILTER -->\n\n                                                                <!-- START DELETE -->\n                                                         <div class="form-group row">\n                                                                  <label class="col-md-3">\n                                                                              {{\'APPLICATION_DELETE_MAIL_FROM_SERVER\' | translate}}\n                                                                       </label>\n                                                                      <label class="col-md-9">\n                                                                                      <input type="checkbox" data-ng-model="in.delete">\n                                                                     </label>\n                                                              </div>\n                                                                <!-- END DELETE -->\n\n                                                         <!-- START SSL -->\n                                                            <div class="form-group row">\n                                                                  <label class="col-md-3">\n                                                                              SSL\n                                                                   </label>\n                                                                      <label class="col-md-9">\n                                                                                      <input type="checkbox" data-ng-model="in.ssl">\n                                                                        </label>\n                                                              </div>\n                                                                <!-- END SSL -->\n                                                              <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="goNext()"/>\n                                                    </form>\n                                               </wz-step>\n                                            <wz-step title="SMTP" canexit="formValidation(forms.out.$valid)">\n                                                     <form name="forms.out" novalidate>\n\n                                                          <!-- START HOST -->\n                                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.out.host.$touched || forms.out.$submitted) && forms.out.host.$invalid}">\n                                                                        <label class="control-label">{{\'APPLICATION_HOST\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                        <input type="text" name="host" placeholder="{{\'APPLICATION_HOST\' | translate}}" class="form-control" data-ng-model="out.host" required/>\n                                                                    <span data-ng-show="(forms.out.host.$touched || forms.out.$submitted) && forms.out.host.$invalid && forms.out.host.$error.required" class="help-block help-block-error">\n                                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END HOST -->\n\n                                                           <!-- START USERNAME -->\n                                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.out.username.$touched || forms.out.$submitted) && forms.out.username.$invalid}">\n                                                                        <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                     <input type="text" name="username" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="out.username" required/>\n                                                                        <span data-ng-show="(forms.out.username.$touched || forms.out.$submitted) && forms.out.username.$invalid && forms.out.username.$error.required" class="help-block help-block-error">\n                                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END USERNAME -->\n\n                                                               <!-- START PASSWORD -->\n                                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.out.password.$touched || forms.out.$submitted) && forms.out.password.$invalid}">\n                                                                        <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                     <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="out.password" required/>\n                                                                    <span data-ng-show="(forms.out.password.$touched || forms.out.$submitted) && forms.out.password.$invalid && forms.out.password.$error.required" class="help-block help-block-error">\n                                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END PASSWORD -->\n\n                                                               <!-- START PORT -->\n                                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.out.port.$touched || forms.out.$submitted) && forms.out.port.$invalid}">\n                                                                        <label class="control-label">{{\'APPLICATION_PORT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                 <input type="number" name="port" placeholder="{{\'APPLICATION_PORT\' | translate}}" class="form-control" data-ng-model="out.port" required/>\n                                                                  <span data-ng-show="(out.$touched || forms.out.$submitted) && forms.out.port.$invalid && forms.out.port.$error.required" class="help-block help-block-error">\n                                                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                                       <span data-ng-show="(out.$touched || forms.out.$submitted) && forms.out.port.$invalid && forms.out.port.$error.number" class="help-block help-block-error">\n                                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_NUMERIC_FIELD\' | translate}}.\n                                                                  </span>\n                                                               </div>\n                                                                <!-- END PORT -->\n\n                                                           <!-- START SSL -->\n                                                            <div class="form-group row">\n                                                                  <label class="col-md-3">\n                                                                              SSL\n                                                                   </label>\n                                                                      <label class="col-md-9">\n                                                                                      <input type="checkbox" data-ng-model="out.ssl">\n                                                                       </label>\n                                                              </div>\n                                                                <!-- END DELETE -->\n\n                                                         <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="goNext()"/>\n                                                            <input class="btn default" type="button" value="{{\'APPLICATION_BACK\' | translate}}" wz-previous/>\n                                                   </form>\n                                               </wz-step>\n                                            <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                                    <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                         </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/automation/list/list.html",'<div class="row">\n    <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-envelope"></i>\n                                         <a href="#">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                                <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-settings"></i>\n                                         <a href="#">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a>\n                                 </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-settings font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a> </span>\n                               </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="mailAutomations.checked.length">\n                                         <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_AUTOMATION\' | translate }} <i class="fa fa-angle-down"></i>\n                                           </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/mail/automations/wizard">\n                                                           <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getMailAutomations([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="mail_automations.csv">\n                                      <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedMailAutomations" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                 <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="6">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.mailAutomationsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                               <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="mailAutomationByPage in mailAutomationsByPage | filter: $select.search">\n                                                                                                   <div ng-bind-html="mailAutomationByPage.name | highlight: $select.search"></div>\n                                                                                              </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <!-- <th st-sort="id" width="5%" st-sort-default="reverse">{{ \'APPLICATION_ID\' | translate }}</th> -->\n                                                              <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(mailAutomation, checked)" checklist-model checklist-value="id"></th>\n                                                   <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                          <th>{{ \'APPLICATION_STATUS\' | translate }}</th>\n                                                             <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="mailAutomation in displayedMailAutomations">\n                                                          <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="mailAutomations.checked" checklist-value="mailAutomation.id"></td>\n                                           <td>{{mailAutomation.name}}</td>\n                                                                <td>{{mailAutomation.description}}</td>\n                                                               <td>\n                                                                  <input\n                                                                                data-ng-change="updateItem(mailAutomation.id, mailAutomation.status)",\n                                                                    bs-switch\n                                                             ng-model="mailAutomation.status"\n                                                              type="checkbox"\n                                                               switch-active="{{ isActive }}"\n                                                                switch-on-text="{{ onText }}"\n                                                                 switch-off-text="{{ offText }}"\n                                                               switch-on-color="{{ onColor }}"\n                                                               switch-off-color="{{ offColor }}"\n                                                             switch-animate="{{ animate }}"\n                                                                switch-size="{{ size }}"\n                                                              switch-label="{{ label }}"\n                                                                    switch-icon="{{ icon }}"\n                                                              switch-radio-off="{{ radioOff }}"\n                                                             switch-label-width="{{ labelWidth }}"\n                                                                 switch-handle-width="{{ handleWidth }}">\n                                                          </td>\n                                       <td>\n                                                                    <a class="btn default btn-xs blue-stripe" data-ng-href="/mail/automations/view/{{mailAutomation.id}}/settings">\n                                                                               {{ \'APPLICATION_EDIT\' | translate }}\n                                                </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(mailAutomation.name, mailAutomation.id)">\n                                                                          {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedMailAutomations.length">\n                                                           <td colspan="6" class="text-center">\n                                                                  <i>No available automations</i>\n                                                               </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_USERNAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                    </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                             <td/>\n                                                         <td/>\n                                           </tr>\n                                           <tr>\n                                            <td colspan="6" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.mailAutomationsByPage.value" st-displayed-pages="7"></div>\n                                             </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
 a.put("app/mail/automation/view/view.html",'<!-- BEGIN PAGE HEADER-->\n<div class="row" data-ng-init="initView()">\n   <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="/">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                        <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-settings"></i>\n                                 <a href="/mail/automations/list">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a>\n                                    <i class="fa fa-angle-right" data-ng-show="automation"></i>\n                           </li>\n                         <li data-ng-show="automation">\n                                        <a href="#">{{ automation.description || automation.name }}</a>\n                               </li>\n                 </ul>\n         </div>\n\n<!-- END PAGE HEADER-->\n\n<!-- BEGIN PAGE CONTENT-->\n               <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/automation.png" class="img-responsive">\n                         </div>\n                                <!-- END SIDEBAR USERPIC -->\n\n                                <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{ automation.name }}\n                                 </div>\n                                        <div class="profile-usertitle-job">\n                                           {{automation.description}}\n                                    </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.mail.automations.view.settings\')}">\n                                                     <a href="/mail/automations/view/{{automation.id}}/settings">\n                                                  <i class="icon-settings"></i>\n                                                 {{\'APPLICATION_SETTINGS\' | translate}} </a>\n                                         </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/automation/view/view.settings.html",'<div class="row">\n   <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n                                </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{\'APPLICATION_GENERALS\' | translate}}</a>\n                                     </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_2" data-toggle="tab">OR {{\'APPLICATION_CONDITIONS\' | translate}}</a>\n                                        </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_3" data-toggle="tab">AND {{\'APPLICATION_CONDITIONS\' | translate}}</a>\n                                       </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_4" data-toggle="tab">{{\'APPLICATION_ACTIONS\' | translate}}</a>\n                                      </li>\n                         </ul>\n                 </div>\n                        <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.info" data-ng-submit="forms.info.$valid && updateAutomation()" novalidate>\n                                                  <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="automation.name" required/>\n                                                             <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid && forms.info.name.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="automation.description"/>\n                                                 </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END GENERAL TAB -->\n\n                                    <!-- IMAP TAB -->\n                                     <div class="tab-pane" id="tab_1_2">\n                                           <div class="row">\n                                                     <div class="col-md-12">\n                                                               <a href="#" data-ng-click="addNewCondition(\'or\')">\n                                                                  <i class="icon-plus"></i>\n                                                             </a>\n                                                          <i class="icon-people"></i>\n                                                           <span class="caption-subject">Meet <strong>all</strong> of the following conditions:</a> </span>\n                                                      </div>\n                                                </div>\n                                                <div class="row" data-ng-repeat="condition in automation.BusinessConditions | filter: {type: \'or\'}">\n                                                        <div class="col-md-12">\n                                                               <div class="row">\n                                                                     <div class="col-md-12">\n                                                                               <hr>\n                                                                  </div>\n                                                                </div>\n                                                                <div class="row">\n                                                                     <div class="col-md-4">\n                                                                                <div class="form-group">\n                                                                                      <ui-select data-ng-model="condition.condition" theme="bootstrap" on-select="updateCondition(condition.id, \'condition\', $item.key)" required>\n                                                                                                <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                          <ui-select-choices repeat="condition.key as condition in automations.conditions | filter: $select.search">\n                                                                                                    <div data-ng-bind="condition.value | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="col-md-3">\n                                                                                <div class="form-group">\n                                                                                      <ui-select data-ng-model="condition.operator" theme="bootstrap" on-select="updateCondition(condition.id, \'operator\', $item.key)" required>\n                                                                                          <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                         <ui-select-choices repeat="operator.key as operator in getOperatorsByCondition(condition.condition) | filter: $select.search">\n                                                                                                        <div data-ng-bind="operator.value | highlight: $select.search"></div>\n                                                                                         </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="col-md-4" data-ng-switch="condition.condition">\n                                                                           <div class="form-group" data-ng-switch-when="status">\n                                                                                 <ui-select data-ng-model="condition.attribute" theme="bootstrap" on-select="updateCondition(condition.id, \'attribute\', $item.key)" required>\n                                                                                                <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                         <ui-select-choices repeat="attribute.key as attribute in getAttributesByCondition(condition.condition) | filter: $select.search">\n                                                                                                     <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="form-group" data-ng-switch-when="createdAt">\n                                                                                      <input class="form-control" type="text" name="attributeOr{{$index}}" value="" data-ng-model="condition.attribute" ng-blur="updateCondition(condition.id, \'attribute\', condition.attribute)" data-ng-class="{\'has-error\': forms.and.attributeAnd{{$index}}.$invalid}" required>\n                                                                            </div>\n                                                                        </div>\n                                                                        <div class="col-md-1">\n                                                                                <a href="#" data-ng-click="removeCondition(condition.id)">\n                                                                                    <i class="icon-close"></i>\n                                                                            </a>\n                                                                  </div>\n                                                                </div>\n                                                        </div>\n                                                </div>\n                                                <div class="row" data-ng-hide="automation.BusinessConditions.length">\n                                                 <div class="col-md-12 text-center">\n                                                           <hr>\n                                                          <i>Add condition</i>\n                                                  </div>\n                                                </div>\n                                        </div>\n                                        <!-- END IMAP TAB -->\n\n                                       <div class="tab-pane" id="tab_1_3">\n                                           <div class="row">\n                                                     <div class="col-md-12">\n                                                               <a href="#" data-ng-click="addNewCondition(\'and\')">\n                                                                 <i class="icon-plus"></i>\n                                                             </a>\n                                                          <i class="icon-people"></i>\n                                                           <span class="caption-subject">Meet <strong>all</strong> of the following conditions:</a> </span>\n                                                      </div>\n                                                </div>\n                                                <div class="row" data-ng-repeat="condition in automation.BusinessConditions | filter: {type: \'and\'}">\n                                                       <div class="col-md-12">\n                                                               <div class="row">\n                                                                     <div class="col-md-12">\n                                                                               <hr>\n                                                                  </div>\n                                                                </div>\n                                                                <div class="row">\n                                                                     <div class="col-md-4">\n                                                                                <div class="form-group">\n                                                                                      <ui-select data-ng-model="condition.condition" name="conditionAnd{{$index}}" theme="bootstrap" on-select="updateCondition(condition.id, \'condition\', $item.key)" required>\n                                                                                          <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                          <ui-select-choices repeat="condition.key as condition in automations.conditions | filter: $select.search">\n                                                                                                    <div data-ng-bind="condition.value | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="col-md-3">\n                                                                                <div class="form-group">\n                                                                                      <ui-select data-ng-model="condition.operator" name="operatorAnd{{$index}}" theme="bootstrap" on-select="updateCondition(condition.id, \'operator\', $item.key)" required>\n                                                                                             <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                         <ui-select-choices repeat="operator.key as operator in getOperatorsByCondition(condition.condition) | filter: $select.search">\n                                                                                                        <div data-ng-bind="operator.value | highlight: $select.search"></div>\n                                                                                         </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="col-md-4" data-ng-switch="condition.condition">\n                                                                           <div class="form-group" data-ng-switch-when="status">\n                                                                                 <ui-select data-ng-model="condition.attribute" name="attributeAnd{{$index}}" theme="bootstrap" on-select="updateCondition(condition.id, \'attribute\', $item.key)" required>\n                                                                                          <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                         <ui-select-choices repeat="attribute.key as attribute in getAttributesByCondition(condition.condition) | filter: $select.search">\n                                                                                                     <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="form-group" data-ng-switch-when="createdAt">\n                                                                                      <input class="form-control" type="text" name="attributeOr{{$index}}" value="" data-ng-model="condition.attribute" data-ng-blur="updateCondition(condition.id, \'attribute\', condition.attribute)" data-ng-class="{\'has-error\': forms.and.attributeAnd{{$index}}.$invalid}" required>\n                                                                                       <span data-ng-show="forms.and.attributeAnd{{$index}}.$invalid && forms.and.attributeAnd{{$index}}.$error.required" class="help-block help-block-error">\n                                                                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                        </div>\n                                                                        <div class="col-md-1">\n                                                                                <a href="#" data-ng-click="removeCondition(condition.id)">\n                                                                                    <i class="icon-close"></i>\n                                                                            </a>\n                                                                  </div>\n                                                                </div>\n                                                        </div>\n                                                </div>\n                                                <div class="row" data-ng-hide="automation.BusinessConditions.length">\n                                                 <div class="col-md-12 text-center">\n                                                           <hr>\n                                                          <i>Add condition</i>\n                                                  </div>\n                                                </div>\n                                        </div>\n\n                                      <!-- SMTP TAB -->\n                                     <div class="tab-pane" id="tab_1_4">\n                                           <div class="row">\n                                                     <div class="col-md-12">\n                                                               <a href="#" data-ng-click="addNewAction()">\n                                                                   <i class="icon-plus"></i>\n                                                             </a>\n                                                          <i class="icon-people"></i>\n                                                           <span class="caption-subject">Meet <strong>all</strong> of the following conditions:</a> </span>\n                                                      </div>\n                                                </div>\n                                                <div class="row" data-ng-repeat="action in automation.BusinessActions">\n                                                       <div class="col-md-12">\n                                                               <div class="row">\n                                                                     <div class="col-md-12">\n                                                                               <hr>\n                                                                  </div>\n                                                                </div>\n                                                                <div class="row">\n                                                                     <div class="col-md-4">\n                                                                                <div class="form-group">\n                                                                                      <ui-select data-ng-model="action.condition" theme="bootstrap" on-select="updateAction(action.id, \'condition\', $item.key)" required>\n                                                                                         <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                          <ui-select-choices repeat="action.key as action in automations.actions | filter: $select.search">\n                                                                                                     <div data-ng-bind="action.value | highlight: $select.search"></div>\n                                                                                           </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="col-md-3" data-ng-switch="action.condition">\n                                                                              <div class="form-group" data-ng-switch-when="status">\n                                                                                 <ui-select data-ng-model="action.attribute" theme="bootstrap" on-select="updateAction(action.id, \'attribute\', $item.key)" required>\n                                                                                         <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                         <ui-select-choices repeat="attribute.key as attribute in getAttributesByCondition(action.condition) | filter: $select.search">\n                                                                                                        <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="form-group" data-ng-switch-when="createdAt">\n                                                                                      <input class="form-control" type="text" data-ng-model="action.attribute" data-ng-blur="updateAction(action.id, \'attribute\', action.attribute)" data-ng-class="{\'has-error\': forms.and.attributeAnd{{$index}}.$invalid}" required>\n                                                                         </div>\n                                                                        </div>\n                                                                        <div class="col-md-4">\n                                                                        </div>\n                                                                        <div class="col-md-1">\n                                                                                <a href="#" data-ng-click="removeAction(action.id)">\n                                                                                  <i class="icon-close"></i>\n                                                                            </a>\n                                                                  </div>\n                                                                </div>\n                                                        </div>\n                                                </div>\n                                                <div class="row" data-ng-hide="automation.BusinessActions.length">\n                                                    <div class="col-md-12 text-center">\n                                                           <hr>\n                                                          <i>Add condition</i>\n                                                  </div>\n                                                </div>\n\n                                      </div>\n                                        <!-- END SMTP TAB -->\n                         </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/mail/automation/wizard/wizard.html",'\n<div class="row" data-ng-init="initWizard()">\n    <div class="col-md-12">\n               <!-- BEGIN PAGE HEADER-->\n             <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="#">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                        <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-settings"></i>\n                                 <a href="/mail/automations/list">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a>\n                            </li>\n                 </ul>\n         </div>\n                <!-- END PAGE HEADER-->\n\n             <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-settings font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_AUTOMATIONS\' | translate }} WIZARD</a> </span>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n             <wz-step title="{{\'APPLICATION_NEW_AUTOMATION\' | translate}}" canexit="formValidation(forms.automation.$valid)">\n                                            <form name="forms.automation" novalidate>\n                                                     <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <div class="form-group" data-ng-class="{\'has-error\': forms.automation.name.$invalid && forms.automation.$submitted}">\n                                                                               <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                         <input class="form-control" type="text" name="name" value="" data-ng-model="automations.name" required>\n                                                                               <span data-ng-show="forms.automation.name.$invalid && forms.automation.name.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                         </span>\n                                                                       </div>\n\n                                                                      <div class="form-group" data-ng-class="{\'has-error\': forms.automation.description.$invalid && forms.automation.$submitted}">\n                                                                                <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                                              <input class="form-control" type="text" name="description" value="" data-ng-model="automations.description">\n                                                                          <span data-ng-show="forms.automation.description.$invalid && forms.automation.description.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                         </span>\n                                                                       </div>\n                                                                </div>\n                                                        </div>\n\n                                                      <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <hr>\n                                                          </div>\n                                                        </div>\n\n                                                      <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <a href="#" data-ng-click="addNewChoice(\'or\')">\n                                                                             <i class="icon-plus"></i>\n                                                                     </a>\n                                                                  <i class="icon-user"></i>\n                                                                     <span class="caption-subject">Meet <strong>any</strong> of the following conditions:</a> </span>\n                                                              </div>\n                                                        </div>\n                                                        <div class="row" data-ng-repeat="automation in automations.or">\n                                                               <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-12">\n                                                                                       <hr>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="row">\n                                                                             <div class="col-md-4">\n                                                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.automation.conditionOr{{$index}}.$invalid && forms.automation.$submitted && forms.automation.$submitted}">\n                                                                                               <ui-select data-ng-model="automations.or[$index].condition" name="conditionOr{{$index}}" theme="bootstrap" required>\n                                                                                                  <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                                  <ui-select-choices repeat="condition in automations.or[$index].conditions | filter: $select.search">\n                                                                                                          <div data-ng-bind="condition.value | highlight: $select.search"></div>\n                                                                                                        </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.conditionOr{{$index}}.$invalid && forms.automation.conditionOr{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-3">\n                                                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.automation.operatorOr{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                               <ui-select data-ng-model="automations.or[$index].operator" name="operatorOr{{$index}}" theme="bootstrap" required>\n                                                                                                    <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                                 <ui-select-choices repeat="operator.key as operator in automations.or[$index].condition.operators | filter: $select.search">\n                                                                                                          <div data-ng-bind="operator.value | highlight: $select.search"></div>\n                                                                                                 </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.operatorOr{{$index}}.$invalid && forms.automation.operatorOr{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-4" data-ng-switch="automations.or[$index].condition.input">\n                                                                                        <div class="form-group" data-ng-switch-when="ui-select" data-ng-class="{\'has-error\': forms.automation.attributeOr{{$index}}.$invalid && forms.automation.attributeOr{{$index}}.$error.required && forms.automation.$submitted}">\n                                                                                            <ui-select data-ng-model="automations.or[$index].attribute" name="attributeOr{{$index}}" theme="bootstrap" required>\n                                                                                                  <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                                 <ui-select-choices repeat="attribute.key as attribute in automations.or[$index].condition.attributes | filter: $select.search">\n                                                                                                               <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                        </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.attributeOr{{$index}}.$invalid && forms.automation.attributeOr{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                        <div class="form-group" data-ng-switch-when="number">\n                                                                                         <input class="form-control" type="text" min="0" name="attributeOr{{$index}}" value="" data-ng-model="automations.or[$index].attribute" required>\n                                                                                              <span data-ng-show="forms.automation.attributeOr{{$index}}.$invalid && forms.automation.attributeOr{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-1">\n                                                                                        <a href="#" data-ng-click="removeChoice(\'or\', $index)">\n                                                                                             <i class="icon-close"></i>\n                                                                                    </a>\n                                                                          </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <div class="row" data-ng-hide="automations.or.length">\n                                                                <div class="col-md-12 text-center">\n                                                                   <hr>\n                                                                  <i>Add condition</i>\n                                                          </div>\n                                                        </div>\n                                                        <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <a href="#" data-ng-click="addNewChoice(\'and\')">\n                                                                            <i class="icon-plus"></i>\n                                                                     </a>\n                                                                  <i class="icon-people"></i>\n                                                                   <span class="caption-subject">Meet <strong>all</strong> of the following conditions:</a> </span>\n                                                              </div>\n                                                        </div>\n                                                        <div class="row" data-ng-repeat="automation in automations.and">\n                                                              <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-12">\n                                                                                       <hr>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="row">\n                                                                             <div class="col-md-4">\n                                                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.automation.conditionAnd{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                             <ui-select data-ng-model="automations.and[$index].condition" name="conditionAnd{{$index}}" theme="bootstrap" required>\n                                                                                                        <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                                  <ui-select-choices repeat="condition in automations.and[$index].conditions | filter: $select.search">\n                                                                                                         <div data-ng-bind="condition.value | highlight: $select.search"></div>\n                                                                                                        </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.conditionAnd{{$index}}.$invalid && forms.automation.conditionAnd{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-3">\n                                                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.automation.operatorAnd{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                              <ui-select data-ng-model="automations.and[$index].operator" name="operatorAnd{{$index}}" theme="bootstrap" required>\n                                                                                                  <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                                 <ui-select-choices repeat="operator.key as operator in automations.and[$index].condition.operators | filter: $select.search">\n                                                                                                         <div data-ng-bind="operator.value | highlight: $select.search"></div>\n                                                                                                 </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.operatorAnd{{$index}}.$invalid && forms.automation.operatorAnd{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-4" data-ng-switch="automations.and[$index].condition.input">\n                                                                                       <div class="form-group" data-ng-switch-when="ui-select" data-ng-class="{\'has-error\': forms.automation.attributeAnd{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                             <ui-select data-ng-model="automations.and[$index].attribute" name="attributeAnd{{$index}}" theme="bootstrap" required>\n                                                                                                        <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                                 <ui-select-choices repeat="attribute.key as attribute in automations.and[$index].condition.attributes | filter: $select.search">\n                                                                                                              <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                        </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.attributeAnd{{$index}}.$invalid && forms.automation.attributeAnd{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                        <div class="form-group" data-ng-switch-when="number">\n                                                                                         <input class="form-control" type="text" min="0" name="attributeAnd{{$index}}" value="" data-ng-model="automations.and[$index].attribute" data-ng-class="{\'has-error\': forms.automation.attributeAnd{{$index}}.$invalid}" required>\n                                                                                          <span data-ng-show="forms.automation.attributeAnd{{$index}}.$invalid && forms.automation.attributeAnd{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-1">\n                                                                                        <a href="#" data-ng-click="removeChoice(\'and\', $index)">\n                                                                                            <i class="icon-close"></i>\n                                                                                    </a>\n                                                                          </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <div class="row" data-ng-hide="automations.and.length">\n                                                               <div class="col-md-12 text-center">\n                                                                   <hr>\n                                                                  <i>Add condition</i>\n                                                          </div>\n                                                        </div>\n\n                                                      <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <a href="#" data-ng-click="addNewChoice(\'actions\')">\n                                                                                <i class="icon-plus"></i>\n                                                                     </a>\n                                                                  <i class="icon-magic-wand"></i>\n                                                                       <span class="caption-subject">Perform these actions:</a> </span>\n                                                              </div>\n                                                        </div>\n                                                        <div class="row" data-ng-repeat="automation in automations.actions">\n                                                          <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-12">\n                                                                                       <hr>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="row">\n                                                                             <div class="col-md-4">\n                                                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.actions.conditionAction{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                             <ui-select data-ng-model="automations.actions[$index].condition" name="conditionAction{{$index}}" theme="bootstrap" required>\n                                                                                                 <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                                  <ui-select-choices repeat="action in automations.actions[$index].actions | filter: $select.search">\n                                                                                                           <div data-ng-bind="action.value | highlight: $select.search"></div>\n                                                                                                   </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.actions.conditionAction{{$index}}.$invalid && forms.actions.conditionAction{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-3" data-ng-switch="automations.actions[$index].condition.input">\n                                                                                   <div class="form-group" data-ng-switch-when="ui-select" data-ng-class="{\'has-error\': forms.actions.attributeAction{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                             <ui-select data-ng-model="automations.actions[$index].attribute" name="attributeAction{{$index}}" theme="bootstrap" required>\n                                                                                                 <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                                 <ui-select-choices repeat="attribute.key as attribute in automations.actions[$index].condition.attributes | filter: $select.search">\n                                                                                                          <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                        </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.actions.attributeAction{{$index}}.$invalid && forms.actions.attributeAction{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                        <div class="form-group" data-ng-switch-when="number" data-ng-class="{\'has-error\': forms.actions.attributeAction{{$index}}.$invalid}">\n                                                                                               <input class="form-control" type="text" min="0" name="attributeAction{{$index}}" value="" data-ng-model="automations.actions[$index].attribute" required>\n                                                                                             <span data-ng-show="forms.actions.attributeAction{{$index}}.$invalid && forms.actions.attributeAction{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-4">\n                                                                                </div>\n                                                                                <div class="col-md-1">\n                                                                                        <a href="#" data-ng-click="removeChoice(\'actions\', $index)">\n                                                                                                <i class="icon-close"></i>\n                                                                                    </a>\n                                                                          </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <div class="row" data-ng-hide="automations.actions.length">\n                                                           <div class="col-md-12 text-center">\n                                                                   <hr>\n                                                                  <i>Add action</i>\n                                                             </div>\n                                                        </div>\n                                                        <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" data-ng-click="goNext()"/>\n                                                               </div>\n                                                        </div>\n                                                </form>\n                                       </wz-step>\n                                    <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                             <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                            <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                 </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
-a.put("app/mail/inbox/compose/compose.html",'<form class="inbox-compose form-horizontal" id="fileupload" enctype="multipart/form-data" data-ng-init="getMessage()">\n  <pre>\n         {{mailAccounts | json}}\n       </pre>\n        <div class="inbox-compose-btn">\n               <button data-ng-click="sendMailMessage()" class="btn blue"><i class="fa fa-check"></i>{{\'APPLICATION_SEND\' | translate}}</button>\n           <button class="btn inbox-discard-btn" data-ng-click="discard()">{{\'APPLICATION_DISCARD\' | translate}}</button>\n              <button class="btn" data-ng-click="saveMessageAsDraft()">{{\'APPLICATION_SAVE_AS_DRAFT\' | translate}}</button>\n               <span class="message-info"><i>{{form.message}}</i></span>\n     </div>\n        <div class="inbox-form-group">\n                <label class="control-label">{{\'APPLICATION_FROM\' | translate}}: </label>\n           <div class="controls">\n                        <ui-select data-ng-model="form.body.from" theme="bootstrap">\n        <ui-select-match placeholder="Select an account">{{$select.selected.name}} <{{$select.selected.address}}></ui-select-match>\n        <ui-select-choices repeat="account in mailAccounts | filter: $select.search">\n          <div ng-bind-html="account.name | highlight: $select.search"></div>\n          <small ng-bind-html="account.address | highlight: $select.search"></small>\n        </ui-select-choices>\n      </ui-select>\n               </div>\n        </div>\n        <div class="inbox-form-group mail-to">\n                <label class="control-label">{{\'APPLICATION_TO\' | translate}}: </label>\n             <div class="controls controls-to">\n                    <input type="text" class="form-control" name="to" data-ng-model="form.body.to.address">\n                       <span class="inbox-cc-bcc">\n                   <span class="inbox-cc" data-ng-show="!flagCC" data-ng-click="switchFlagCC()">\n                 Cc </span>\n                    <span class="inbox-bcc" data-ng-show="!flagBCC" data-ng-click="switchFlagBCC()">\n                      {{\'APPLICATION_BCC\' | translate}} </span>\n                   </span>\n               </div>\n        </div>\n        <div class="inbox-form-group input-cc" data-ng-class="{\'display-hide\': !flagCC}">\n           <a href="javascript:;" class="close" data-ng-click="switchFlagCC()">\n          </a>\n          <label class="control-label">Cc:</label>\n              <div class="controls controls-cc">\n                    <input type="text" name="cc" class="form-control" data-ng-model="form.body.cc.address">\n               </div>\n        </div>\n        <div class="inbox-form-group input-bcc" data-ng-class="{\'display-hide\': !flagBCC}">\n         <a href="javascript:;" class="close" data-ng-click="switchFlagBCC()">\n         </a>\n          <label class="control-label">{{\'APPLICATION_BCC\' | translate}}:</label>\n             <div class="controls controls-bcc">\n                   <input type="text" name="bcc" class="form-control" data-ng-model="form.body.bcc.address">\n             </div>\n        </div>\n        <div class="inbox-form-group">\n                <label class="control-label">{{\'APPLICATION_SUBJECT\' | translate}}: </label>\n                <div class="controls">\n                        <input type="text" class="form-control" name="subject" data-ng-model="form.subject">\n          </div>\n        </div>\n        <div class="inbox-form-group">\n                <div class="inbox-editor inbox-wysihtml5" text-angular data-ng-model="form.html"></div>\n       </div>\n        <div class="inbox-compose-btn">\n               <button data-ng-click="sendMailMessage()" class="btn blue"><i class="fa fa-check"></i>{{\'APPLICATION_SEND\' | translate}}</button>\n           <button class="btn" data-ng-click="discard()">{{\'APPLICATION_DISCARD\' | translate}}</button>\n                <button class="btn" data-ng-click="saveMessageAsDraft()">{{\'APPLICATION_DRAFT\' | translate}}</button>\n       </div>\n</form>\n'),a.put("app/mail/inbox/incoming/incoming.html",'<div class="row inbox">\n    <div class="col-md-12">\n               <div class="inbox-header">\n                    <h1 class="pull-left">Inbox</h1>\n                      <form class="form-inline pull-right" action="#">\n                              <!-- <div class="input-group input-medium">\n                                   <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search">\n                                   <span class="input-group-btn">\n                                        <button type="submit" class="btn green"><i class="fa fa-search"></i></button>\n                                 </span>\n                               </div> -->\n                    </form>\n               </div>\n                <div class="inbox-content">\n                   <table class="table table-striped table-advance table-hover" st-table="displayedMailRooms" st-pipe="initList">\n                                <thead>\n                                       <tr>\n                                          <th colspan="9">\n                                                      <input type="checkbox" ng-change="check(null, checked)" checklist-model checklist-value="id">\n                                                 <div class="btn-group">\n                                                               <a data-ng-href="/mail/inbox/compose" class="btn btn-sm blue">\n                                                                        <i class="icon-plus"></i> {{\'APPLICATION_NEW_MESSAGE\' | translate}}\n                                                         </a>\n                                                  </div>\n                                                        <div class="btn-group" data-ng-show="mailRooms.checked.length">\n                                                               <a href="#" class="btn btn-sm red" data-ng-click="deleteItems()">\n                                                                     <i class="icon-trash"></i> {{\'APPLICATION_DELETE\' | translate}}\n                                                             </a>\n                                                  </div>\n                                                        <div class="input-group input-medium pull-right">\n                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                         <span class="input-group-addon">\n                                                                      <i class="fa fa-search"></i>\n                                                          </span>\n                                                       </div>\n                                                </th>\n                                         <!-- <th class="pagination-control" colspan="7"> -->\n                                                  <!-- <span class="pagination-info">\n                                                   1-30 of 789 </span>\n                                                   <a class="btn btn-sm blue">\n                                                   <i class="fa fa-angle-left"></i>\n                                                      </a>\n                                                  <a class="btn btn-sm blue">\n                                                   <i class="fa fa-angle-right"></i>\n                                                     </a> -->\n                                              <!-- </th> -->\n                                        </tr>\n                         </thead>\n                              <tbody>\n                                       <tr data-messageid="1" data-ng-repeat="mailRoom in displayedMailRooms" class="animate-repeat">\n                                                <td class="inbox-small-cells">\n                                                        <input type="checkbox" checklist-model="mailRooms.checked" checklist-value="mailRoom.id">\n                                             </td>\n                                         <td class="inbox-small-cells" data-ng-click="go(\'/mail/inbox/room/\' + mailRoom.id, mailRoom.id, \'OPEN\')">\n                                                 #{{mailRoom.id}}\n                                              </td>\n                                         <td class="view-message hidden-xs" data-ng-click="go(\'/mail/inbox/room/\' + mailRoom.id, mailRoom.id, \'OPEN\')">\n                                             {{mailRoom.subject}}\n                                         </td>\n                                         <td class="view-message" data-ng-click="go(\'/mail/inbox/room/\' + mailRoom.id, mailRoom.id, \'OPEN\')">\n                                                      {{mailRoom.from}}\n                                             </td>\n                                         <td class="view-message" data-ng-click="go(\'/mail/inbox/room/\' + mailRoom.id, mailRoom.id, \'OPEN\')">\n                                                      {{mailRoom.MailAccount.description ? mailRoom.MailAccount.description : mailRoom.MailAccount.name || \'APPLICATION_UNKNOWN\' | translate | uppercase}}\n                                                </td>\n                                         <td class="view-message" data-ng-click="go(\'/mail/inbox/room/\' + mailRoom.id, mailRoom.id, \'OPEN\')">\n                                                      <span class="badge badge-success badge-roundless" data-ng-show="mailRoom.User.fullname"> {{mailRoom.User.fullname}} </span>\n                                                   <span class="badge badge-default badge-roundless" data-ng-hide="mailRoom.User.fullname"> UNASSIGNED </span>\n                                           </td>\n                                         <td class="view-message" data-ng-switch="mailRoom.status" data-ng-click="go(\'/mail/inbox/room/\' + mailRoom.id, mailRoom.id, \'OPEN\')">\n                                                     <span class="badge badge-default" data-ng-class="{\n                                                    \'badge-danger\': mailRoom.status == \'NEW\',\n                                                 \'badge-warning\': mailRoom.status == \'OPEN\',\n                                                       \'badge-info\': mailRoom.status == \'PENDING\',\n                                                       \'badge-success\': mailRoom.status == \'CLOSED\'}"> {{mailRoom.status | uppercase}} </span>\n                                           </td>\n                                         <td class="view-message inbox-small-cells">\n                                                   <i data-ng-show="mailRoom.attachment" class="fa fa-paperclip"></i>\n                                            </td>\n                                         <td class="view-message pull-right">\n                                                  <time is="relative-time" datetime="{{mailRoom.updatedAt}}">\n                                                           April 1, 2014\n                                                 </time>\n                                               </td>\n                                 </tr>\n                                 <tr data-ng-hide="displayedMailRooms.length">\n                                         <td colspan="9" style="text-align:center;">\n                                                   <i>{{ \'MESSAGE_NO_AVAILABLE_CONVERSATIONS\' | translate }}</i>\n                                               </td>\n                                 </tr>\n                         </tbody>\n                              <tfoot>\n                                       <tr>\n                                          <td colspan="9" class="text-center">\n                                                  <div class="pagination" st-pagination st-items-by-page="conf.mailRoomsByPage.value" st-displayed-pages="7"></div>\n                                             </td>\n                                 </tr>\n                         </tfoot>\n                      </table>\n              </div>\n        </div>\n</div>\n'),a.put("app/mail/inbox/room/room.html",'<!-- BEGIN TODO CONTENT -->\n<div class="todo-content" data-ng-init="initRoomView()">\n       <div class="portlet light">\n           <div class="portlet-title">\n                   <div class="caption" data-ng-show="mailRoom">\n                         <i class="icon-bar-chart font-green-sharp hide"></i>\n                          <span class="badge badge-default" data-ng-class="{\'badge-error\': mailRoom.status == \'NEW\',\n                                \'badge-warning\': mailRoom.status == \'OPEN\',\n                               \'badge-success\': mailRoom.status == \'CLOSED\'}"> {{mailRoom.status | uppercase}} </span> -\n                         <span class="caption-subject font-green-sharp bold uppercase">{{mailRoom.subject}}</span>\n                     </div>\n                        <div class="actions" data-ng-show="mailRoom">\n                         <div class="btn-group" data-ng-show="Auth.isAdmin()">\n                                 <a class="btn grey-salsa btn-circle btn-sm" href="#" data-toggle="dropdown" data-hover="dropdown" data-close-others="true">\n                                   {{ \'APPLICATION_ASSIGN\' | translate }} <i class="fa fa-angle-down"></i>\n                                     </a>\n                                  <ul class="dropdown-menu pull-right">\n                                         <li data-ng-repeat="agent in agents">\n                                                 <a href="#" data-ng-click="assignAgent(agent.id)">\n                                                    {{agent.fullname}} <span class="badge badge-default"> {{agent.fullname | uppercase | limitTo : 1}} </span>\n                                                    </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                                <div class="btn-group">\n                                       <a class="btn green-haze btn-circle btn-sm" href="#" data-toggle="dropdown" data-hover="dropdown" data-close-others="true" data-ng-click="updateStatus(\'CLOSED\')">\n                                  {{ \'APPLICATION_STORE\' | translate }}\n                                       </a>\n                          </div>\n                        </div>\n                </div>\n                <div class="portlet-body">\n                    <div class="row">\n                             <div data-ng-show="mailRoom" data-ng-class="{\'col-md-7 col-sm-7\': mailRoom}">\n                                       <div class="scroller" id="mailMessages" style="height: 725px; overflow-y: scroll; width: auto;" data-always-visible="1" data-rail-visible1="1" data-initialized="1">\n                                          <ul class="chats">\n                                                    <li data-ng-class="{\'in\': mailMessage.status == \'RECEIVED\', \'out\': mailMessage.status == \'SENT\' || mailMessage.status == \'SENDING\' || mailMessage.status == \'FAILED\'}" data-ng-repeat="mailMessage in mailRoom.MailMessages | orderBy:\'createdAt\'">\n                                                             <img class="avatar" alt="" data-ng-src="api/users/avatar/{{getCurrentUser().userpic && mailMessage.status === \'SENT\' ? getCurrentUser().userpic : \'unknown_avatar\'}}">\n                                                            <div class="message ">\n                                                                        <!-- <span class="arrow"></span> -->\n                                                                  <span class="bold">From: </span>\n                                                                      <span>{{mailMessage.from}}</span>\n                                                                     <br>\n                                                                  <span class="bold">To: </span>\n                                                                        <span>{{mailMessage.to}} </span>\n                                                                      <br>\n                                                                  <span data-ng-if="mailMessage.cc" class="bold">Cc: </span>\n                                                                    <span data-ng-if="mailMessage.cc">{{mailMessage.cc}} </span>\n                                                                  <br>\n                                                                  <span class="todo-tasklist-date">\n                                                                             <span class="pull-right">\n                                                                                     <a data-ng-click="(mailMessage.status == \'SENDING\' || mailMessage.status == \'FAILED\') && retry(mailMessage.id)" href="#" class="btn default btn-xs" data-ng-class="{\'green-stripe\': mailMessage.status == \'SENT\' || mailMessage.status == \'RECEIVED\', \'blue-stripe\': mailMessage.status == \'SENDING\', \'red-stripe\': mailMessage.status == \'FAILED\'}"> {{mailMessage.status | uppercase}}\n                                                                                            <i data-ng-class="{\'fa fa-check\': mailMessage.status == \'SENT\' || mailMessage.status == \'RECEIVED\', \'fa fa-warning\': mailMessage.status == \'SENDING\', \'fa fa-times\': mailMessage.status == \'FAILED\'}"></i>\n                                                                                      </a>\n                                                                          </span>\n                                                                               <i class="fa fa-calendar"></i><time is="relative-time" datetime="{{mailMessage.updatedAt}}">April 1, 2014</time>\n                                                                      </span>\n                                                                       <hr>\n                                                                  <span class="body text-left" data-ng-bind-html="mailMessage.html || mailMessage.text" style="white-space: pre-wrap;"></span>\n                                                                  <!-- <br> -->\n                                                                 <hr data-ng-if="mailMessage.MailAttachments.length">\n                                                                  <div data-ng-repeat="mailAttachment in mailMessage.MailAttachments">\n                                                                          <strong>{{mailAttachment.fileName}}</strong>\n                                                                          <span>\n                                                                                {{mailAttachment.length}}B </span>\n                                                                            <a target="_self" download="{{mailAttachment.fileName}}" href="api/mail/attachments/{{mailAttachment.id}}">\n                                                                                   {{ \'APPLICATION_DOWNLOAD\' | translate }}\n                                                                            </a>\n                                                                  </div>\n                                                                </div>\n                                                        </li>\n                                         </ul>\n                                 </div>\n                                </div>\n                                <div data-ng-class="{\'col-md-5 col-sm-5\': mailRoom, \'col-md-12 col-sm-12\': !mailRoom}">\n                                   <form name="forms.compose" data-ng-submit="forms.compose.$valid && sendMail()" class="form-horizontal" novalidate>\n                                            <!-- START HEAD -->\n                                           <div class="form">\n                                                    <!-- START FROM -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.compose.from.$invalid && forms.compose.$submitted}">\n                                                             <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">From:</label>\n                                                                            </div>\n                                                                                <div class="col-md-11">\n                                                                                       <ui-select data-ng-model="form.from" theme="bootstrap" name="from" required>\n                                                                                          <ui-select-match placeholder="From...">{{$select.selected.name}}</ui-select-match>\n                                                                                            <ui-select-choices repeat="{address: mailAccount.MailServerOut.username, name: mailAccount.name, id: mailAccount.id} as mailAccount in mailAccounts | filter: $select.search">\n                                                                                                        <div data-ng-bind-html="mailAccount.name | highlight: $select.search"></div>\n                                                                                                  <small data-ng-bind-html="mailAccount.MailServerOut.username | highlight: $select.search"></small>\n                                                                                            </ui-select-choices>\n                                                                                  </ui-select>\n                                                                                  <span data-ng-show="forms.compose.from.$invalid && forms.compose.$submitted" class="help-block help-block-error">\n                                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                               </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END FROM -->\n\n                                                   <!-- MAIL TO -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': forms.compose.to.$invalid && forms.compose.$submitted}">\n                                                               <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">To:</label>\n                                                                              </div>\n                                                                                <div class="col-md-11">\n                                                                                       <ui-select tagging tagging-label multiple data-ng-model="form.sto" theme="bootstrap" name="to">\n                                                                                               <ui-select-match placeholder="To...">{{$item}}</ui-select-match>\n                                                                                              <ui-select-choices repeat="to in form.to | filter:$select.search">\n                                                                                                    {{to}}\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                                  <span data-ng-show="forms.compose.to.$invalid && forms.compose.$submitted" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                               </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END TO -->\n\n                                                     <!-- START CC -->\n                                                     <div class="form-group">\n                                                              <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">Cc:</label>\n                                                                              </div>\n                                                                                <div class="col-md-11">\n                                                                                       <ui-select tagging tagging-label="" multiple data-ng-model="form.scc" theme="bootstrap" name="cc" ng-disabled="disabled">\n                                                                                             <ui-select-match placeholder="Cc...">{{$item}}</ui-select-match>\n                                                                                              <ui-select-choices repeat="cc in form.cc">\n                                                                                                    {{cc}}\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END CC -->\n\n                                                     <!-- START SUBJECT -->\n                                                        <div data-ng-hide="mailRoom" class="form-group" data-ng-class="{\'has-error\': forms.compose.subject.$invalid && forms.compose.$submitted}">\n                                                          <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">Subject:</label>\n                                                                         </div>\n                                                                                <div class="col-md-11">\n                                                                                       <input type="text" name="subject" class="form-control todo-taskbody-taskdesc" placeholder="Subject..." rows="8" data-ng-model="form.subject">\n                                                                                 <span data-ng-show="forms.compose.subject.$invalid && forms.compose.$submitted" class="help-block help-block-error">\n                                                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END SUJBECT -->\n\n                                                        <!-- START HTML -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.compose.text.$invalid && forms.compose.$submitted}">\n                                                             <div class="col-md-12">\n                                                                       <div class="inbox-editor inbox-wysihtml5" text-angular data-ng-model="form.html" name="html"></div>\n                                                                   <!-- <textarea class="form-control todo-taskbody-taskdesc" rows="8" data-ng-model="form.text" name="text" style="resize: none;"></textarea> -->\n                                                                               <span data-ng-show="forms.compose.text.$invalid && forms.compose.$submitted" class="help-block help-block-error">\n                                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                         </span>\n                                                               </div>\n                                                        </div>\n                                                        <!-- END HTML -->\n\n                                                   <!-- START ATTACH -->\n                                                 <div class="form-group">\n                                                              <div class="col-md-6">\n                                                                        <input type="file" nv-file-select uploader="uploader" name="file">\n                                                                    <table class="table" border="0">\n                                                                              <tbody>\n                                                                               <tr data-ng-repeat="item in uploader.queue">\n                                                                                          <td style="border-top-style:none">\n                                                                                                    <strong>\n                                                                                                              {{ item.file.name }}\n                                                                                                  </strong>\n                                                                                             </td>\n                                                                                         <td data-ng-show="uploader.isHTML5" nowrap style="border-top-style:none">\n                                                                                                     {{ item.file.size/1024/1024|number:2 }} MB\n                                                                                            </td>\n                                                                                         <td nowrap style="border-top-style:none">\n                                                                                                     <button type="button" class="btn btn-danger btn-xs" data-ng-click="item.remove()">\n                                                                                                                    <span class="glyphicon glyphicon-trash"></span> Remove\n                                                                                                        </button>\n                                                                                             </td>\n                                                                                 </tr>\n                                                                         </tbody>\n                                                                      </table>\n                                                              </div>\n                                                                <div class="col-md-6">\n                                                                        <div class="form-actions right todo-form-actions">\n                                                                            <button class="btn btn-circle btn-sm green-haze">{{ \'APPLICATION_SEND\' | translate }}</button>\n                                                                              <input type="button" name="cancel" value="{{ \'APPLICATION_CANCEL\' | translate }}" class="btn btn-circle btn-sm btn-default" data-ng-click="cancel()">\n                                                                       </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END ATTACH -->\n                                           </div>\n                                        </form>\n                               </div>\n                        </div>\n                </div>\n        </div>\n</div>\n<!-- END TODO CONTENT -->\n'),a.put("app/mail/inbox/room/room.retry.modal.html",'<div class="modal-header">\n  <button ng-if="modal.dismissable" type="button" ng-click="$dismiss()" class="close">&times;</button>\n  <h4 ng-if="modal.title" class="modal-title">{{modal.title | translate}}</h4>\n</div>\n<div class="modal-body">\n  <p ng-if="modal.text">{{modal.text | translate}}</p>\n</div>\n<div class="modal-footer">\n  <button ng-repeat="button in modal.buttons" ng-class="button.classes" ng-click="button.click($event)" class="btn">{{button.text | translate}}</button>\n</div>\n'),a.put("app/mail/queue/list/list.html",'<div class="row">\n      <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-envelope"></i>\n                                         <a href="/square/projects">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                         <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-layers"></i>\n                                           <a href="#">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                                      </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-layers font-green-sharp"></i>\n                                  <span class="caption-subject">{{ \'APPLICATION_QUEUES\' | translate }}</a> </span>\n                            </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="mailQueues.checked.length">\n                                              <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_QUEUE\' | translate }} <i class="fa fa-angle-down"></i>\n                                                </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/mail/queues/wizard">\n                                                                <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getMailQueues([\'name\', \'description\', \'timeout\', \'strategy\'])" csv-header="[\'Name\', \'Description\', \'Timeout\', \'Strategy\']" field-separator=";" filename="mail_queues.csv">\n                                  <i class="icon-cloud-download"></i></a>\n                               </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedMailQueues" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                      <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="7">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.queuesByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="queueByPage in queuesByPage | filter: $select.search">\n                                                                                                     <div ng-bind-html="queueByPage.name | highlight: $select.search"></div>\n                                                                                               </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(queue, checked)" checklist-model checklist-value="id"></th>\n                                                    <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                          <th st-sort="strategy">{{ \'APPLICATION_STRATEGY\' | translate }}</th>\n                                                                <th st-sort="timeout">{{ \'APPLICATION_AGENT_TIMEOUT\' | translate }}</th>\n                                                <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                  </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="queue in displayedMailQueues">\n                                                                <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="mailQueues.checked" checklist-value="queue.id"></td>\n                                         <td>{{queue.name}}</td>\n                                                         <td>{{queue.description}}</td>\n                                                                <td>{{queue.strategy | uppercase}}</td>\n                                                               <td>{{queue.timeout}}</td>\n                                          <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/mail/queues/view/{{queue.id}}/settings">\n                                                                             {{ \'APPLICATION_PROFILE\' | translate }}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(queue.name, queue.id)">\n                                                                            {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedMailQueues.length">\n                                                                <td colspan="6" class="text-center">\n                                                                  <i>No available queues</i>\n                                                            </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="strategy" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_STRATEGY\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td/>\n                                                         <td/>\n                                           </tr>\n                                           <tr>\n                                            <td colspan="67" class="text-center">\n                                           <div st-pagination class="pagination" st-items-by-page="conf.queuesByPage.value" st-displayed-pages="7"></div>\n                                              </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/queue/view/view.agents.html",'<div class="row" data-ng-init="getTeams()">\n        <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_AGENTS\' | translate}}</span>\n                          </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="note note-warning" data-ng-hide="teams.length">\n                                   <h4 class="block">Warning!</h4>\n                                       <p>\n                                            {{ \'MESSAGE_NO_AVAILABLE_TEAMS\' | translate }}\n                                     </p>\n                          </div>\n                                <div  style="width: 50%; margin: 0 auto;">\n                                    <div class="col-md-9" id="multi-select-team" data-ng-show="teams.length"></div>\n                               </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/mail/queue/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getQueue()">\n     <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="#">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                        <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-layers"></i>\n                                   <a href="/mail/queues/list">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                                      <i data-ng-show="queue" class="fa fa-angle-right"></i>\n                                </li>\n                         <li data-ng-show="queue">\n                                     <a href="#">{{queue.name}}</a>\n                                </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/queue.png" class="img-responsive">\n                              </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{queue.name}}\n                                        </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.mail.queues.view.settings\')}">\n                                                  <a data-ng-href="/mail/queues/view/{{queue.id}}/settings">\n                                                    <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                         <li data-ng-class="{active: $state.is(\'main.mail.queues.view.agents\')}">\n                                                    <a data-ng-href="/mail/queues/view/{{queue.id}}/agents">\n                                                      <i class="icon-users"></i>\n                                                    {{ \'APPLICATION_AGENTS\' | translate}} </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/queue/view/view.settings.html",'<div class="row">\n        <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateMailQueue()" novalidate>\n                                     <!-- START NAME -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="queue.name" required/>\n                                          <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid && forms.general.name.$error.required" class="help-block help-block-error">\n                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                         </span>\n                                       </div>\n                                        <!-- END NAME -->\n\n                                   <!-- START DESCRIPTION -->\n                                    <div class="form-group">\n                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="queue.description"/>\n                                      </div>\n                                        <!-- END DESCRIPTION -->\n\n                                    <!-- START TIMEOUT -->\n                                        <div class="form-group">\n                                              <label class="control-label">Agent Timeout</label>\n                                            <input type="number" name="timeout" placeholder="Timeout" class="form-control" min="1" data-ng-model="queue.timeout"/>\n                                        </div>\n                                        <!-- END TIMEOUT -->\n\n                                        <!-- START HEADER SHAPE -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid}">\n                                            <label class="control-label">{{\'APPLICATION_STRATEGY\' | translate}}</label>\n                                         <ui-select data-ng-model="queue.strategy" name="strategy" theme="bootstrap">\n                                                  <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.toUpperCase()}}</ui-select-match>\n                                                     <ui-select-choices repeat="strategy in [\'rrmemory\',\'beepall\'] | filter: $select.search">\n                                                          <div ng-bind-html="strategy.toUpperCase() | highlight: $select.search"></div>\n                                                 </ui-select-choices>\n                                          </ui-select>\n                                  </div>\n                                        <!-- END HEADER SHAPE -->\n                                     <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                          </form>\n                       </div>\n                </div>\n        </div>\n</div>\n'),
-a.put("app/mail/queue/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n      <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-envelope"></i>\n                         <a href="#">{{ \'APPLICATION_MAILS\' | translate }}</a>\n        <i class="fa fa-angle-right"></i>\n                    </li>\n      <li>\n                             <i class="icon-layers"></i>\n                           <a href="/mail/queues/list">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                      </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-layers font-green-sharp"></i>\n                          <span class="caption-subject">{{ \'APPLICATION_QUEUES\' | translate }} WIZARD</a> </span>\n             </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.general.$valid)">\n                                     <form name="forms.general" data-ng-submit="forms.general.$valid && createItem()" novalidate>\n                                          <!-- START NAME -->\n                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                    <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                   <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid && forms.general.name.$error.required" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END NAME -->\n\n                                           <!-- START DESCRIPTION -->\n                                            <div class="form-group">\n                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                      <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"/>\n                                               </div>\n                                                <!-- END DESCRIPTION -->\n\n                                            <!-- START TIMEOUT -->\n                                                <div class="form-group" data-ng-class="{\'has-error\': (forms.general.timeout.$touched || forms.general.$submitted) && forms.general.timeout.$invalid}">\n                                                      <label class="control-label">{{\'APPLICATION_AGENT_TIMEOUT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                        <input type="number" min="0" name="timeout" placeholder="Timeout" class="form-control" data-ng-model="item.timeout" required/>\n                                                        <span data-ng-show="(forms.general.timeout.$touched || forms.general.$submitted) && forms.general.timeout.$invalid && forms.general.timeout.$error.required" class="help-block help-block-error">\n                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END TIMEOUT -->\n\n                                                <!-- START STRATEGY -->\n                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid}">\n                                                    <label class="control-label">{{\'APPLICATION_STRATEGY\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                     <ui-select data-ng-model="item.strategy" name="strategy" theme="bootstrap" required>\n                                                          <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.toUpperCase()}}</ui-select-match>\n                                                             <ui-select-choices repeat="strategy in [\'rrmemory\',\'beepall\'] | filter: $select.search">\n                                                                  <div ng-bind-html="strategy.toUpperCase() | highlight: $select.search"></div>\n                                                         </ui-select-choices>\n                                                  </ui-select>\n                                                  <span data-ng-show="(forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid && forms.general.strategy.$error.required" class="help-block help-block-error">\n                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END STRATEGY -->\n                                         <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CREATE\' | translate}}"/>\n                                  </form>\n                         </wz-step>\n                          <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <input type="submit" class="btn green-haze" wz-next value="{{ \'APPLICATION_CONFIRM\' | translate }}"/>\n                               </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/mail/realtime/view/agent/agent.queues.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initAgents()">\n <div class="col-md-12">\n               <!-- START TABLE -->\n          <div id="grid1" ui-grid="gridOptions" ui-grid-tree-view class="grid"></div>\n           <!-- END TABLE -->\n    </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/realtime/view/agent/agent.timeline.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initAgents()">\n      <div class="col-md-12">\n               <!-- START TABLE -->\n          <table st-table="displayedAgents" st-safe-src="agents" class="table table-striped table-bordered table-hover">\n                        <div class="table-responsive">\n                          <thead>\n                                     <tr>\n                                          <th colspan="12">\n                                                     <div class="row">\n                                                             <div class="col-md-6">\n                                                                        <ui-select class="input-xsmall" ng-model="conf.agentsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                             <ui-select-choices repeat="agentByPage in agentsByPage | filter: $select.search">\n                                                                                     <div ng-bind-html="agentByPage.name | highlight: $select.search"></div>\n                                                                               </ui-select-choices>\n                                                                  </ui-select>\n                                                          </div>\n                                                                <div class="col-md-6">\n                                                                        <div class="input-group input-medium pull-right">\n                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                         <span class="input-group-addon">\n                                                                                      <i class="fa fa-search"></i>\n                                                                          </span>\n                                                                       </div>\n                                                                </div>\n                                                        </div>\n                                                </th>\n                                 </tr>\n                           <tr>\n                                                <th></th>\n                                             <th st-sort="uniqueid" reverse class="input-small">{{ \'APPLICATION_UNIQUEID\' | translate }}</th>\n                                <th st-sort="queue" class="input-medium">{{ \'APPLICATION_QUEUE\' | translate }}</th>\n                                 <th st-sort="membername" class="input-medium">{{ \'APPLICATION_AGENT\' | translate }}</th>\n                                                <th st-sort="subject" class="input-small">{{ \'APPLICATION_SUBJECT\' | translate }}</th>\n                                              <th st-sort="from" class="input-small">{{ \'APPLICATION_FROM\' | translate }}</th>\n                                            <th st-sort="accountname" class="input-small">{{ \'APPLICATION_TO\' | translate }}</th>\n                                               <th st-sort="agentcalledAt" st-sort-default="reverse">{{ \'APPLICATION_CALLED_AT\' | translate }}</th>\n                                                <th st-sort="agentconnectAt">{{ \'APPLICATION_CONNECTED_AT\' | translate }}</th>\n                                              <th st-sort="agentringnoanswerAt">{{ \'APPLICATION_UNASWER_AT\' | translate }}</th>\n                                           <th st-sort="reason">{{ \'APPLICATION_REASON\' | translate }}</th>\n                              </tr>\n                         </thead>\n                      <tbody>\n                         <tr data-ng-repeat="agent in displayedAgents">\n                                            <td>\n                                                  <span>\n                                                                <i data-ng-class="{\'icon-user font-yellow\': agent.lastevent === \'called\',\n                                                         \'icon-user-following font-green\': agent.lastevent === \'agent\',\n                                                            \'icon-user-unfollow font-red\': agent.lastevent === \'timeout\',\n                                                             \'icon-user-unfollow font-blue\': agent.lastevent === \'answered_elsewhere\'}"></i>\n                                                   </span>\n                                               </td>\n                                         <td>{{agent.uniqueid}}</td>\n                                           <td>{{agent.mailqueuename}}</td>\n                                              <td>{{agent.fullname}}</td>\n                                           <td>{{agent.subject}}</td>\n                                            <td>{{agent.from}}</td>\n                                               <td>{{agent.accountname}}</td>\n                                                <td>\n                                                  <time is="relative-time" datetime="{{agent.agentcalledAt}}">\n                                                          April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{agent.agentconnectedAt}}" data-ng-show="agent.agentconnectedAt">\n                                                         April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{agent.agentringnoanswerAt}}" data-ng-show="agent.agentringnoanswerAt">\n                                                           April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  {{agent.reason | uppercase}}\n                                          </td>\n                     </tr>\n                                     <tr data-ng-hide="displayedAgents.length">\n                                            <td colspan="11" style="text-align:center;">\n                                                  <i>No agents available</i>\n                                            </td>\n                                 </tr>\n                   </tbody>\n                      <tfoot>\n                                     <tr>\n                                          <td/>\n                                         <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="uniqueid" data-ng-model="filters.uniqueid" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_UNIQUEID\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                       </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="queue" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_QUEUE\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                      </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="membername" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_AGENT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                 </div>\n                                    </td>\n                                             <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="from" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_SUBJECT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                     </div>\n                                                </td>\n                             <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="from" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_FROM\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                        </div>\n                                    </td>\n                                             <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="accountname" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_TO\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                   </div>\n                                    </td>\n                                             <td colspan="7"></td>\n                           </tr>\n                           <tr>\n                            <td colspan="12" class="text-center">\n                                                   <div class="pagination" st-pagination st-items-by-page="conf.agentsByPage.value" st-displayed-pages="7"></div>\n                              </td>\n                       </tr>\n                       </tfoot>\n                    </div>\n                </table>\n              <!-- END TABLE -->\n    </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/realtime/view/session/session.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initMails()">\n    <div class="col-md-12">\n               <!-- START TABLE -->\n          <table st-table="displayedMails" st-safe-src="sessions" class="table table-striped table-bordered table-hover">\n                       <div class="table-responsive">\n                          <thead>\n                                     <tr>\n                                          <th colspan="12">\n                                                     <div class="row">\n                                                             <div class="col-md-6">\n                                                                        <ui-select class="input-xsmall" ng-model="conf.sessionsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                              <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                             <ui-select-choices repeat="sessionByPage in sessionsByPage | filter: $select.search">\n                                                                                 <div ng-bind-html="sessionByPage.name | highlight: $select.search"></div>\n                                                                             </ui-select-choices>\n                                                                  </ui-select>\n                                                          </div>\n                                                                <div class="col-md-6">\n                                                                        <div class="input-group input-medium pull-right">\n                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                         <span class="input-group-addon">\n                                                                                      <i class="fa fa-search"></i>\n                                                                          </span>\n                                                                       </div>\n                                                                </div>\n                                                        </div>\n                                                </th>\n                                 </tr>\n                           <tr>\n                                                <th></th>\n                                             <th st-sort="uniqueid" reverse class="input-small">{{ \'APPLICATION_UNIQUEID\' | translate }}</th>\n                                <th st-sort="queue" class="input-medium">{{ \'APPLICATION_QUEUE\' | translate }}</th>\n                                 <th st-sort="membername" class="input-medium">{{ \'APPLICATION_AGENT\' | translate }}</th>\n                                                <th st-sort="subject" class="input-small">{{ \'APPLICATION_SUBJECT\' | translate }}</th>\n                                              <th st-sort="from" class="input-small">{{ \'APPLICATION_FROM\' | translate }}</th>\n                                            <th st-sort="accountname" class="input-small">{{ \'APPLICATION_TO\' | translate }}</th>\n                                               <th st-sort="sessioncalledAt" st-sort-default="reverse">{{ \'APPLICATION_JOIN_AT\' | translate }}</th>\n                                                <th st-sort="sessionconnectAt">{{ \'APPLICATION_LEAVE_AT\' | translate }}</th>\n                                                <th st-sort="sessionringnoanswerAt">{{ \'APPLICATION_UNMANAGED_AT\' | translate }}</th>\n                                 </tr>\n                         </thead>\n                      <tbody>\n                         <tr data-ng-repeat="session in displayedMails">\n                                           <td>\n                                                  <span>\n                                                                <i data-ng-class="{\'icon-user font-yellow\': session.mailjoinAt && !session.mailleaveAt,\n                                                             \'icon-user-following font-green\': session.fullname,\n                                                         \'icon-user-unfollow font-red\': session.mailunmanagedAt}"></i>\n                                                       </span>\n                                               </td>\n                                         <td>{{session.uniqueid}}</td>\n                                         <td>{{session.mailqueuename}}</td>\n                                            <td>{{session.fullname}}</td>\n                                         <td>{{session.subject}}</td>\n                                          <td>{{session.from}}</td>\n                                             <td>{{session.accountname}}</td>\n                                              <td>\n                                                  <time is="relative-time" datetime="{{session.mailjoinAt}}">\n                                                           April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{session.mailleaveAt}}" data-ng-show="session.mailleaveAt">\n                                                               April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{session.mailunmanagedAt}}" data-ng-show="session.mailunmanagedAt">\n                                                               April 1, 2014\n                                                 </time>\n                                               </td>\n                     </tr>\n                                     <tr data-ng-hide="displayedMails.length">\n                                             <td colspan="11" style="text-align:center;">\n                                                  <i>No sessions available</i>\n                                          </td>\n                                 </tr>\n                   </tbody>\n                      <tfoot>\n                                     <tr>\n                                          <td/>\n                                         <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="uniqueid" data-ng-model="filters.uniqueid" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_UNIQUEID\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                       </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="queue" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_QUEUE\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                      </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="membername" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_AGENT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                 </div>\n                                    </td>\n                                             <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="from" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_SUBJECT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                     </div>\n                                                </td>\n                             <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="from" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_FROM\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                        </div>\n                                    </td>\n                                             <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="accountname" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_TO\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                   </div>\n                                    </td>\n                                             <td colspan="7"></td>\n                           </tr>\n                           <tr>\n                            <td colspan="12" class="text-center">\n                                                   <div class="pagination" st-pagination st-items-by-page="conf.sessionsByPage.value" st-displayed-pages="7"></div>\n                            </td>\n                       </tr>\n                       </tfoot>\n                    </div>\n                </table>\n              <!-- END TABLE -->\n    </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/realtime/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-energy"></i>\n                                   <a href="/mail/realtime/list">{{ \'APPLICATION_REALTIME\' | translate }}</a>\n                          </li>\n                 </ul>\n         </div>\n\n              <div>\n             <nav class="navbar navbar-default" role="navigation">\n                     <div class="navbar-header">\n                       <button type="button" class="navbar-toggle" ng-init="navCollapsed = true" ng-click="navCollapsed = !navCollapsed">\n                                <span class="sr-only">Toggle navigation</span>\n                                <span class="icon-bar"></span>\n                                <span class="icon-bar"></span>\n                                <span class="icon-bar"></span>\n                            </button>\n                     <!-- <a class="navbar-brand" ui-sref="home">Brand</a> -->\n                 </div>\n\n                      <!-- Collect the nav links, forms, and other content for toggling -->\n                 <div class="collapse navbar-collapse" ng-class="!navCollapsed && \'in\'">\n                         <ul class="nav navbar-nav">\n                               <li dropdown>\n                             <a href="#" dropdown-toggle>\n                                      {{ \'APPLICATION_AGENTS\' | translate }}\n                                      <b class=\'caret\'></b>\n                                   </a>\n                                  <tree tree=\'agents\'></tree>\n                             </li>\n                                                                         <li dropdown>\n                             <a href="#" dropdown-toggle>\n                                      {{ \'APPLICATION_SESSIONS\' | translate }}\n                                    <b class=\'caret\'></b>\n                                   </a>\n                                  <tree tree=\'sessions\'></tree>\n                           </li>\n                     </ul>\n                         <!-- <ul class="nav navbar-nav">\n                          <li dropdown>\n                             <a href="#" dropdown-toggle>\n                                      {{ \'APPLICATION_QUEUES\' | translate }}\n                                      <b class=\'caret\'></b>\n                                   </a>\n                                  <tree tree=\'queues\'></tree>\n                             </li>\n                     </ul> -->\n                 </div>\n                        <!-- /.navbar-collapse -->\n                </nav>\n            </div>\n                <div ui-view></div>\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/statistics/statistics.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initView()">\n     <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="/agent">{{ \'APPLICATION_MAILS\' | translate }}</a>\n                          </li>\n                         <li>\n                                  <a href="#">{{agent.fullname}}</a>\n                            </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img ng-src="assets/images/media/statistics.png" class="img-responsive">\n                              </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{agent.fullname}}\n                                    </div>\n                                        <div class="profile-usertitle-job">\n                                           {{agent.role}}\n                                        </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.mail.statistics.summary\')}">\n                                                    <a data-ng-href="/mail/statistics/summary">\n                                                   <i class="icon-bar-chart"></i>\n                                                        {{ \'APPLICATION_SUMMARY\' | translate}} </a>\n                                         </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/statistics/statistics.summary.html",'<div class="row">\n   <div class="col-md-12">\n               <!-- BEGIN PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_CONVERSATIONS\' | translate }}</a> </span>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="row">\n                                     <div class="col-md-6">\n                                                <div class="portlet sale-summary">\n                                                    <div class="portlet-body">\n                                                            <ul class="list-unstyled">\n                                                                    <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_INBOX\' | translate }} <i class="fa fa-img-up"></i>\n                                                                          </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ directory:\'INBOX\' }).length }} </span>\n                                                                  </li>\n                                                                 <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_SENT\' | translate }} <i class="fa fa-img-down"></i>\n                                                                         </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ directory:\'SENT\' }).length }} </span>\n                                                                   </li>\n                                                                 <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_OUTGOING\' | translate }} <i class="fa fa-img-down"></i>\n                                                                             </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ directory:\'NOT SENT\' }).length }} </span>\n                                                                       </li>\n                                                                 <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_DRAFT\' | translate }} <i class="fa fa-img-down"></i>\n                                                                                </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ directory:\'DRAFT\' }).length }} </span>\n                                                                  </li>\n                                                                 <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_TRASH\' | translate }} <i class="fa fa-img-down"></i>\n                                                                                </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ directory:\'TRASH\' }).length }} </span>\n                                                                  </li>\n                                                         </ul>\n                                                 </div>\n                                                </div>\n                                        </div>\n                                        <div class="col-md-6">\n                                                <canvas class="chart chart-pie" data="[\n                                               (mailMessages | filter:{ directory:\'INBOX\' }).length,\n                                               (mailMessages | filter:{ directory:\'SENT\' }).length,\n                                                (mailMessages | filter:{ directory:\'NOT SENT\' }).length,\n                                            (mailMessages | filter:{ directory:\'DRAFT\' }).length,\n                                               (mailMessages | filter:{ directory:\'TRASH\' }).length]" labels="[\n                                            $translate.instant(\'APPLICATION_INBOX\'),\n                                            $translate.instant(\'APPLICATION_SENT\'),\n                                             $translate.instant(\'APPLICATION_OUTGOING\'),\n                                         $translate.instant(\'APPLICATION_DRAFT\'),\n                                            $translate.instant(\'APPLICATION_TRASH\')]" legend="true"></canvas>\n                                   </div>\n                                </div>\n                        </div>\n                </div>\n                <!-- END PORTLET-->\n\n         <!-- BEGIN PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-pencil font-green-sharp"></i>\n                                  <span class="caption-subject">{{ \'APPLICATION_OTHER_INFO\' | translate }}</a> </span>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="row">\n                                     <div class="col-md-6">\n                                                <div class="portlet sale-summary">\n                                                    <div class="portlet-body">\n                                                            <ul class="list-unstyled">\n                                                                    <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_READ\' | translate }} <i class="fa fa-img-up"></i>\n                                                                           </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ read:\'true\' }).length }} </span>\n                                                                        </li>\n                                                                 <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_UNREAD\' | translate }} <i class="fa fa-img-down"></i>\n                                                                               </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ read:\'false\' }).length }} </span>\n                                                                       </li>\n                                                                 <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_FAVORITE\' | translate }} <i class="fa fa-img-down"></i>\n                                                                             </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ favorite:\'true\' }).length }} </span>\n                                                                    </li>\n                                                         </ul>\n                                                 </div>\n                                                </div>\n                                        </div>\n                                        <div class="col-md-6">\n                                                <canvas class="chart chart-pie" data="[\n                                               (mailMessages | filter:{ read:\'true\' }).length,\n                                             (mailMessages | filter:{ read:\'false\' }).length]" labels="[\n                                         $translate.instant(\'APPLICATION_READ\'),\n                                             $translate.instant(\'APPLICATION_UNREAD\')]" legend="true"></canvas>\n                                  </div>\n                                </div>\n                        </div>\n                </div>\n                <!-- END PORTLET-->\n   </div>\n</div>\n'),a.put("app/mail/timeline/list/list.html",'<div class="row">\n        <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-envelope"></i>\n                                         <a href="#">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                                <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-list"></i>\n                                             <a href="/mail/timeline/list"> Timeline</a>\n                                   </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initList()">\n     <div class="col-md-12">\n    <h3 class="page-title">\n                          Timeline\n                      </h3>\n                 <!-- END PAGE HEADER-->\n                       <!-- BEGIN PAGE CONTENT-->\n                    <div class="timeline">\n                                <!-- TIMELINE ITEM -->\n                                <div class="timeline-item" data-ng-repeat="event in events | orderBy:\'-id\'">\n                                        <div class="timeline-badge">\n                                          <div class="timeline-icon">\n                                                   <i class="icon-envelope font-green-haze"></i>\n                                         </div>\n                                        </div>\n                                        <div class="timeline-body">\n                                           <div class="timeline-body-arrow"></div>\n                                               <div class="timeline-body-head">\n                                                      <div class="timeline-body-head-caption">\n                                                              <span class="timeline-body-alerttitle" data-ng-class="{\'font-red\': event.name == \'INCOMING\', \'font-blue\': event.name == \'ATTEMPT\', \'font-green\': event.name == \'TAKEN\'}">{{event.name | uppercase}}</span>\n                                                                <span class="timeline-body-time font-grey-cascade">at {{event.createdAt | date:\'yyyy-MM-dd HH:mm:ss\'}}</span>\n                                                       </div>\n                                                        <div class="timeline-body-head-actions">\n                                                              <div class="btn-group">\n                                                                       <a class="btn btn-circle btn-sm dropdown-toggle btn-success" href="/mail/inbox/room/{{event.MailRoomId}}">Go To Mail</a>\n                                                              </div>\n                                                        </div>\n                                                </div>\n                                                <div class="timeline-body-content">\n                                                   <span class="font-grey-cascade" data-ng-show="event.User">\n                                                    {{event.MailRoom.subject ? event.MailRoom.subject + \' - \' : \'\'}}<a href="/agents/view/{{event.UserId}}/account">{{event.User.fullname}}</a>\n                                                       </span>\n                                               </div>\n                                        </div>\n                                </div>\n                                <!-- END TIMELINE ITEM -->\n                    </div>\n                        <!-- END PAGE CONTENT-->\n      </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/main/chooseContact.modal.html",'<div class="modal-header">\n  <h3 class="modal-title">{{ \'APPLICATION_CHOOSE_CONTACT\' | translate }}</h3>\n</div>\n<div class="modal-body">\n  <form name="forms.choose" novalidate>\n    <div class="form-group" data-ng-class="{\'has-error\': forms.choose.contactId.$invalid && forms.choose.$submitted}">\n      <label class="control-label">{{\'APPLICATION_CONTACT\' | translate}}</label>\n      <ui-select data-ng-model="item.contactId" theme="bootstrap" name="contactId" ng-disabled="disabled">\n        <ui-select-match allow-clear placeholder="{{ \'APPLICATION_CONTACT\' | translate }}">{{$select.selected.name}}</ui-select-match>\n        <ui-select-choices repeat="contact.id as contact in contacts | filter: $select.search">\n          <div ng-bind-html="contact.name | highlight: $select.search"></div>\n        </ui-select-choices>\n      </ui-select>\n      <span data-ng-show="forms.choose.CompanyId.$invalid && forms.choose.$submitted" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n  </form>\n</div>\n<div class="modal-footer">\n  <button class="btn btn-success" type="button" ng-click="ok()" ng-disabled="forms.tag.$invalid">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n  <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/main/main.html",'<!-- BEGIN HEADER -->\n<div data-ng-include="\'components/header/header.html\'" data-ng-controller="HeaderController" class="page-header navbar navbar-fixed-top">\n</div>\n<!-- END HEADER -->\n\n<div class="clearfix">\n</div>\n<!-- BEGIN CONTAINER -->\n<div class="page-container" data-ng-init="initMain()">\n\n  <!-- BEGIN SIDEBAR -->\n  <div data-ng-include="\'components/sidebar/sidebar.html\'" data-ng-controller="SidebarController" class="page-sidebar-wrapper">\n  </div>\n  <!-- END SIDEBAR -->\n\n  <!-- BEGIN CONTENT -->\n  <div class="page-content-wrapper">\n    <div class="page-content">\n\n      <!-- BEGIN PAGE CONTENT -->\n      <!-- <toaster-container></toaster-container> -->\n      <uib-tabset>\n        <uib-tab select="addWorkspace()" active="mainTab.active">\n          <uib-tab-heading>\n            Motion <i class="icon-rocket"></i>\n          </uib-tab-heading>\n          <div ui-view class=""></div>\n        </uib-tab>\n        <uib-tab data-ng-repeat="workspace in workspaces" active="workspace.active" data-ng-switch="workspace.type">\n          <uib-tab-heading>\n            {{workspace.name}} <i class="icon-close pointer-cursor" data-ng-click="closeTab($index)"></i>\n          </uib-tab-heading>\n          <div class="" data-ng-switch="workspace.type">\n            <new-contact data-ng-switch-when="newContact" workspace="workspace" index="$index" on-submit="createContact(index,item)"></new-contact>\n            <contact data-ng-switch-when="contact" workspace="workspace" index="$index" on-submit="updateContact(index,item)"></contact>\n          </div>\n        </uib-tab>\n        <!-- <uib-tab select="addWorkspace()">\n          <uib-tab-heading>\n            <i class="icon-plus"></i>\n          </uib-tab-heading>\n        </uib-tab> -->\n      </uib-tabset>\n      <!-- END PAGE CONTENT  -->\n\n    </div>\n  </div>\n  <!-- END CONTENT -->\n\n  <!-- BEGIN QUICK SIDEBAR -->\n  <a href="javascript:;" class="page-quick-sidebar-toggler"><i class="icon-close"></i></a>\n  <div data-ng-include="\'components/quickSidebar/quickSidebar.html\'" data-ng-controller="QuickSidebarController" class="page-quick-sidebar-wrapper">\n  </div>\n  <!-- END QUICK SIDEBAR -->\n\n</div>\n<!-- END CONTAINER -->\n\n<!-- BEGIN FOOTER -->\n<div data-ng-include="\'components/footer/footer.html\'" data-ng-controller="FooterController" class="page-footer">\n</div>\n<!-- END FOOTER -->\n\n<!-- BEGIN JAVASCRIPTS(Load javascripts at bottom, this will reduce page load time) -->\n<!-- BEGIN CORE PLUGINS -->\n<!--[if lt IE 9]>\n<script src="../../assets/global/plugins/respond.min.js"></script>\n<script src="../../assets/global/plugins/excanvas.min.js"></script>\n<![endif]-->\n\n<!-- END JAVASCRIPTS -->\n'),
+a.put("app/mail/inbox/compose/compose.html",'<form class="inbox-compose form-horizontal" id="fileupload" enctype="multipart/form-data" data-ng-init="getMessage()">\n  <pre>\n         {{mailAccounts | json}}\n       </pre>\n        <div class="inbox-compose-btn">\n               <button data-ng-click="sendMailMessage()" class="btn blue"><i class="fa fa-check"></i>{{\'APPLICATION_SEND\' | translate}}</button>\n           <button class="btn inbox-discard-btn" data-ng-click="discard()">{{\'APPLICATION_DISCARD\' | translate}}</button>\n              <button class="btn" data-ng-click="saveMessageAsDraft()">{{\'APPLICATION_SAVE_AS_DRAFT\' | translate}}</button>\n               <span class="message-info"><i>{{form.message}}</i></span>\n     </div>\n        <div class="inbox-form-group">\n                <label class="control-label">{{\'APPLICATION_FROM\' | translate}}: </label>\n           <div class="controls">\n                        <ui-select data-ng-model="form.body.from" theme="bootstrap">\n        <ui-select-match placeholder="Select an account">{{$select.selected.name}} <{{$select.selected.address}}></ui-select-match>\n        <ui-select-choices repeat="account in mailAccounts | filter: $select.search">\n          <div ng-bind-html="account.name | highlight: $select.search"></div>\n          <small ng-bind-html="account.address | highlight: $select.search"></small>\n        </ui-select-choices>\n      </ui-select>\n               </div>\n        </div>\n        <div class="inbox-form-group mail-to">\n                <label class="control-label">{{\'APPLICATION_TO\' | translate}}: </label>\n             <div class="controls controls-to">\n                    <input type="text" class="form-control" name="to" data-ng-model="form.body.to.address">\n                       <span class="inbox-cc-bcc">\n                   <span class="inbox-cc" data-ng-show="!flagCC" data-ng-click="switchFlagCC()">\n                 Cc </span>\n                    <span class="inbox-bcc" data-ng-show="!flagBCC" data-ng-click="switchFlagBCC()">\n                      {{\'APPLICATION_BCC\' | translate}} </span>\n                   </span>\n               </div>\n        </div>\n        <div class="inbox-form-group input-cc" data-ng-class="{\'display-hide\': !flagCC}">\n           <a href="javascript:;" class="close" data-ng-click="switchFlagCC()">\n          </a>\n          <label class="control-label">Cc:</label>\n              <div class="controls controls-cc">\n                    <input type="text" name="cc" class="form-control" data-ng-model="form.body.cc.address">\n               </div>\n        </div>\n        <div class="inbox-form-group input-bcc" data-ng-class="{\'display-hide\': !flagBCC}">\n         <a href="javascript:;" class="close" data-ng-click="switchFlagBCC()">\n         </a>\n          <label class="control-label">{{\'APPLICATION_BCC\' | translate}}:</label>\n             <div class="controls controls-bcc">\n                   <input type="text" name="bcc" class="form-control" data-ng-model="form.body.bcc.address">\n             </div>\n        </div>\n        <div class="inbox-form-group">\n                <label class="control-label">{{\'APPLICATION_SUBJECT\' | translate}}: </label>\n                <div class="controls">\n                        <input type="text" class="form-control" name="subject" data-ng-model="form.subject">\n          </div>\n        </div>\n        <div class="inbox-form-group">\n                <div class="inbox-editor inbox-wysihtml5" text-angular data-ng-model="form.html"></div>\n       </div>\n        <div class="inbox-compose-btn">\n               <button data-ng-click="sendMailMessage()" class="btn blue"><i class="fa fa-check"></i>{{\'APPLICATION_SEND\' | translate}}</button>\n           <button class="btn" data-ng-click="discard()">{{\'APPLICATION_DISCARD\' | translate}}</button>\n                <button class="btn" data-ng-click="saveMessageAsDraft()">{{\'APPLICATION_DRAFT\' | translate}}</button>\n       </div>\n</form>\n'),a.put("app/mail/inbox/incoming/incoming.html",'<div class="row inbox">\n    <div class="col-md-12">\n               <div class="inbox-header">\n                    <h1 class="pull-left">Inbox</h1>\n                      <form class="form-inline pull-right" action="#">\n                              <!-- <div class="input-group input-medium">\n                                   <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search">\n                                   <span class="input-group-btn">\n                                        <button type="submit" class="btn green"><i class="fa fa-search"></i></button>\n                                 </span>\n                               </div> -->\n                    </form>\n               </div>\n                <div class="inbox-content">\n                   <table class="table table-striped table-advance table-hover" st-table="displayedMailRooms" st-pipe="initList">\n                                <thead>\n                                       <tr>\n                                          <th colspan="9">\n                                                      <input type="checkbox" ng-change="check(null, checked)" checklist-model checklist-value="id">\n                                                 <div class="btn-group">\n                                                               <a data-ng-href="/mail/inbox/compose" class="btn btn-sm blue">\n                                                                        <i class="icon-plus"></i> {{\'APPLICATION_NEW_MESSAGE\' | translate}}\n                                                         </a>\n                                                  </div>\n                                                        <div class="btn-group" data-ng-show="mailRooms.checked.length">\n                                                               <a href="#" class="btn btn-sm red" data-ng-click="deleteItems()">\n                                                                     <i class="icon-trash"></i> {{\'APPLICATION_DELETE\' | translate}}\n                                                             </a>\n                                                  </div>\n                                                        <div class="input-group input-medium pull-right">\n                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                         <span class="input-group-addon">\n                                                                      <i class="fa fa-search"></i>\n                                                          </span>\n                                                       </div>\n                                                </th>\n                                         <!-- <th class="pagination-control" colspan="7"> -->\n                                                  <!-- <span class="pagination-info">\n                                                   1-30 of 789 </span>\n                                                   <a class="btn btn-sm blue">\n                                                   <i class="fa fa-angle-left"></i>\n                                                      </a>\n                                                  <a class="btn btn-sm blue">\n                                                   <i class="fa fa-angle-right"></i>\n                                                     </a> -->\n                                              <!-- </th> -->\n                                        </tr>\n                         </thead>\n                              <tbody>\n                                       <tr data-messageid="1" data-ng-repeat="mailRoom in displayedMailRooms" class="animate-repeat">\n                                                <td class="inbox-small-cells">\n                                                        <input type="checkbox" checklist-model="mailRooms.checked" checklist-value="mailRoom.id">\n                                             </td>\n                                         <td class="inbox-small-cells" data-ng-click="go(\'/mail/inbox/room/\' + mailRoom.id, mailRoom.id, \'OPEN\')">\n                                                 #{{mailRoom.id}}\n                                              </td>\n                                         <td class="view-message hidden-xs" data-ng-click="go(\'/mail/inbox/room/\' + mailRoom.id, mailRoom.id, \'OPEN\')">\n                                             {{mailRoom.subject}}\n                                         </td>\n                                         <td class="view-message" data-ng-click="go(\'/mail/inbox/room/\' + mailRoom.id, mailRoom.id, \'OPEN\')">\n                                                      {{mailRoom.from}}\n                                             </td>\n                                         <td class="view-message" data-ng-click="go(\'/mail/inbox/room/\' + mailRoom.id, mailRoom.id, \'OPEN\')">\n                                                      {{mailRoom.MailAccount.description ? mailRoom.MailAccount.description : mailRoom.MailAccount.name || \'APPLICATION_UNKNOWN\' | translate | uppercase}}\n                                                </td>\n                                         <td class="view-message" data-ng-click="go(\'/mail/inbox/room/\' + mailRoom.id, mailRoom.id, \'OPEN\')">\n                                                      <span data-ng-repeat="user in mailRoom.Users"> {{user.fullname}} {{!$last ? \', \' : \'\'}} </span>\n                                           </td>\n                                         <td class="view-message" data-ng-switch="mailRoom.status" data-ng-click="go(\'/mail/inbox/room/\' + mailRoom.id, mailRoom.id, \'OPEN\')">\n                                                     <span class="badge badge-default" data-ng-class="{\n                                                    \'badge-danger\': mailRoom.status == \'NEW\',\n                                                 \'badge-warning\': mailRoom.status == \'OPEN\',\n                                                       \'badge-info\': mailRoom.status == \'PENDING\',\n                                                       \'badge-success\': mailRoom.status == \'CLOSED\'}"> {{mailRoom.status | uppercase}} </span>\n                                           </td>\n                                         <td class="view-message inbox-small-cells">\n                                                   <i data-ng-show="mailRoom.attachment" class="fa fa-paperclip"></i>\n                                            </td>\n                                         <td class="view-message pull-right">\n                                                  <time is="relative-time" datetime="{{mailRoom.updatedAt}}">\n                                                           April 1, 2014\n                                                 </time>\n                                               </td>\n                                 </tr>\n                                 <tr data-ng-hide="displayedMailRooms.length">\n                                         <td colspan="9" style="text-align:center;">\n                                                   <i>{{ \'MESSAGE_NO_AVAILABLE_CONVERSATIONS\' | translate }}</i>\n                                               </td>\n                                 </tr>\n                         </tbody>\n                              <tfoot>\n                                       <tr>\n                                          <td colspan="9" class="text-center">\n                                                  <div class="pagination" st-pagination st-items-by-page="conf.mailRoomsByPage.value" st-displayed-pages="7"></div>\n                                             </td>\n                                 </tr>\n                         </tfoot>\n                      </table>\n              </div>\n        </div>\n</div>\n'),a.put("app/mail/inbox/room/room.agents.modal.html",'<div class="modal-header" data-ng-init="initModal()">\n  <h3 class="modal-title">{{ \'APPLICATION_AGENTS\' | translate }}</h3>\n</div>\n<div class="modal-body">\n  <!-- START TRANSPORT -->\n  <div class="form-group">\n    <form name="form" novalidate>\n      <!-- START TRANSPORT -->\n      <div class="form-group">\n        <ui-select multiple name="agents" data-ng-model="item.agents" theme="bootstrap">\n          <ui-select-match placeholder="Select transport...">{{$item.fullname}}</ui-select-match>\n          <ui-select-choices repeat="agent.id as agent in agents | filter: $select.search">\n            {{agent.fullname}}\n          </ui-select-choices>\n        </ui-select>\n      </div>\n      <!-- END TRANSPORT -->\n    </form>\n  </div>\n  <!-- END TRANSPORT -->\n</div>\n<div class="modal-footer">\n  <button class="btn btn-success" type="button" ng-click="ok()">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n  <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/mail/inbox/room/room.html",'<!-- BEGIN TODO CONTENT -->\n<div class="todo-content" data-ng-init="initRoomView()">\n   <div class="portlet light">\n           <div class="portlet-title">\n                   <div class="caption" data-ng-show="mailRoom">\n                         <i class="icon-bar-chart font-green-sharp hide"></i>\n                          <span class="badge badge-default" data-ng-class="{\'badge-error\': mailRoom.status == \'NEW\',\n                                \'badge-warning\': mailRoom.status == \'OPEN\',\n                               \'badge-success\': mailRoom.status == \'CLOSED\'}"> {{mailRoom.status | uppercase}} </span> -\n                         <span class="caption-subject font-green-sharp bold uppercase">{{mailRoom.subject}}</span>\n                     </div>\n                        <div class="actions" data-ng-show="mailRoom" data-ng-show="Auth.isAdmin()">\n                           <a href="#" class="btn default blue-stripe" data-ng-click="assignAgents()">\n                                   {{ \'APPLICATION_ASSIGN\' | translate }}\n                              </a>\n                          <a href="#" class="btn default green-stripe">\n                                 {{ \'APPLICATION_STORE\' | translate }}\n                               </a>\n                          <!-- <div class="btn-group" data-ng-show="Auth.isAdmin()">\n                                    <a class="btn grey-salsa btn-circle btn-sm" href="#" data-toggle="dropdown" data-hover="dropdown" data-close-others="true">\n                                   {{ \'APPLICATION_ASSIGN\' | translate }} <i class="fa fa-angle-down"></i>\n                                     </a>\n                                  <ul class="dropdown-menu pull-right">\n                                         <li data-ng-repeat="agent in agents">\n                                                 <a href="#" data-ng-click="assignAgents()">\n                                                   {{agent.fullname}} <span class="badge badge-default"> {{agent.fullname | uppercase | limitTo : 1}} </span>\n                                                    </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                                <div class="btn-group">\n                                       <a class="btn green-haze btn-circle btn-sm" href="#" data-toggle="dropdown" data-hover="dropdown" data-close-others="true" data-ng-click="updateStatus(\'CLOSED\')">\n                                  {{ \'APPLICATION_STORE\' | translate }}\n                                       </a>\n                          </div> -->\n                    </div>\n                </div>\n                <div class="portlet-body">\n                    <div class="row">\n                             <div data-ng-show="mailRoom" data-ng-class="{\'col-md-7 col-sm-7\': mailRoom}">\n                                       <div class="scroller" id="mailMessages" style="height: 725px; overflow-y: scroll; width: auto;" data-always-visible="1" data-rail-visible1="1" data-initialized="1">\n                                          <ul class="chats">\n                                                    <li data-ng-class="{\'in\': mailMessage.status == \'RECEIVED\', \'out\': mailMessage.status == \'SENT\' || mailMessage.status == \'SENDING\' || mailMessage.status == \'FAILED\'}" data-ng-repeat="mailMessage in mailRoom.MailMessages | orderBy:\'-createdAt\'">\n                                                            <img class="avatar" alt="" data-ng-src="api/users/avatar/{{getCurrentUser().userpic && mailMessage.status === \'SENT\' ? getCurrentUser().userpic : \'unknown_avatar\'}}">\n                                                            <div class="message ">\n                                                                        <span class="bold">From: </span>\n                                                                      <span>{{mailMessage.from}}</span>\n                                                                     <br>\n                                                                  <span class="bold">To: </span>\n                                                                        <span>{{mailMessage.to}} </span>\n                                                                      <br>\n                                                                  <span data-ng-if="mailMessage.cc" class="bold">Cc: </span>\n                                                                    <span data-ng-if="mailMessage.cc">{{mailMessage.cc}} </span>\n                                                                  <br>\n                                                                  <span class="todo-tasklist-date">\n                                                                             <span class="pull-right">\n                                                                                     <a data-ng-click="(mailMessage.status == \'SENDING\' || mailMessage.status == \'FAILED\') && retry(mailMessage.id)" href="#" class="btn default btn-xs" data-ng-class="{\'green-stripe\': mailMessage.status == \'SENT\' || mailMessage.status == \'RECEIVED\', \'blue-stripe\': mailMessage.status == \'SENDING\', \'red-stripe\': mailMessage.status == \'FAILED\'}"> {{mailMessage.status | uppercase}}\n                                                                                            <i data-ng-class="{\'fa fa-check\': mailMessage.status == \'SENT\' || mailMessage.status == \'RECEIVED\', \'fa fa-warning\': mailMessage.status == \'SENDING\', \'fa fa-times\': mailMessage.status == \'FAILED\'}"></i>\n                                                                                      </a>\n                                                                          </span>\n                                                                               <i class="fa fa-calendar"></i><time is="relative-time" datetime="{{mailMessage.updatedAt}}">April 1, 2014</time>\n                                                                      </span>\n                                                                       <hr>\n                                                                  <span class="body text-left" data-ng-bind-html="mailMessage.html || mailMessage.text" style="white-space: pre-wrap;"></span>\n                                                                  <!-- <br> -->\n                                                                 <hr data-ng-if="mailMessage.MailAttachments.length">\n                                                                  <div data-ng-repeat="mailAttachment in mailMessage.MailAttachments">\n                                                                          <strong>{{mailAttachment.name}}</strong>\n                                                                              <span>\n                                                                                {{mailAttachment.size}}B </span>\n                                                                              <a target="_self" download="{{mailAttachment.name}}" href="api/mail/attachments/{{mailAttachment.id}}">\n                                                                                       {{ \'APPLICATION_DOWNLOAD\' | translate }}\n                                                                            </a>\n                                                                  </div>\n                                                                </div>\n                                                        </li>\n                                         </ul>\n                                 </div>\n                                </div>\n                                <div data-ng-class="{\'col-md-5 col-sm-5\': mailRoom, \'col-md-12 col-sm-12\': !mailRoom}">\n                                   <form name="forms.compose" data-ng-submit="forms.compose.$valid && sendMail()" class="form-horizontal" novalidate>\n                                            <!-- START HEAD -->\n                                           <div class="form">\n                                                    <!-- START FROM -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.compose.from.$invalid && forms.compose.$submitted}">\n                                                             <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">From:</label>\n                                                                            </div>\n                                                                                <div class="col-md-11">\n                                                                                       <ui-select data-ng-model="form.from" theme="bootstrap" name="from" required>\n                                                                                          <ui-select-match placeholder="From...">{{$select.selected.name}}</ui-select-match>\n                                                                                            <ui-select-choices repeat="{address: mailAccount.MailServerOut.username, name: mailAccount.name, id: mailAccount.id} as mailAccount in mailAccounts | filter: $select.search">\n                                                                                                        <div data-ng-bind-html="mailAccount.name | highlight: $select.search"></div>\n                                                                                                  <small data-ng-bind-html="mailAccount.MailServerOut.username | highlight: $select.search"></small>\n                                                                                            </ui-select-choices>\n                                                                                  </ui-select>\n                                                                                  <span data-ng-show="forms.compose.from.$invalid && forms.compose.$submitted" class="help-block help-block-error">\n                                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                               </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END FROM -->\n\n                                                   <!-- MAIL TO -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': forms.compose.to.$invalid && forms.compose.$submitted}">\n                                                               <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">To:</label>\n                                                                              </div>\n                                                                                <div class="col-md-11">\n                                                                                       <ui-select tagging tagging-label multiple data-ng-model="form.sto" theme="bootstrap" name="to">\n                                                                                               <ui-select-match placeholder="To...">{{$item}}</ui-select-match>\n                                                                                              <ui-select-choices repeat="to in form.to | filter:$select.search">\n                                                                                                    {{to}}\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                                  <span data-ng-show="forms.compose.to.$invalid && forms.compose.$submitted" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                               </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END TO -->\n\n                                                     <!-- START CC -->\n                                                     <div class="form-group">\n                                                              <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">Cc:</label>\n                                                                              </div>\n                                                                                <div class="col-md-11">\n                                                                                       <ui-select tagging tagging-label="" multiple data-ng-model="form.scc" theme="bootstrap" name="cc" ng-disabled="disabled">\n                                                                                             <ui-select-match placeholder="Cc...">{{$item}}</ui-select-match>\n                                                                                              <ui-select-choices repeat="cc in form.cc">\n                                                                                                    {{cc}}\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END CC -->\n\n                                                     <!-- START SUBJECT -->\n                                                        <div data-ng-hide="mailRoom" class="form-group" data-ng-class="{\'has-error\': forms.compose.subject.$invalid && forms.compose.$submitted}">\n                                                          <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">Subject:</label>\n                                                                         </div>\n                                                                                <div class="col-md-11">\n                                                                                       <input type="text" name="subject" class="form-control todo-taskbody-taskdesc" placeholder="Subject..." rows="8" data-ng-model="form.subject">\n                                                                                 <span data-ng-show="forms.compose.subject.$invalid && forms.compose.$submitted" class="help-block help-block-error">\n                                                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END SUJBECT -->\n\n                                                        <!-- START HTML -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.compose.text.$invalid && forms.compose.$submitted}">\n                                                             <div class="col-md-12">\n                                                                       <div class="inbox-editor inbox-wysihtml5" text-angular data-ng-model="form.html" name="html"></div>\n                                                                   <!-- <textarea class="form-control todo-taskbody-taskdesc" rows="8" data-ng-model="form.text" name="text" style="resize: none;"></textarea> -->\n                                                                               <span data-ng-show="forms.compose.text.$invalid && forms.compose.$submitted" class="help-block help-block-error">\n                                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                         </span>\n                                                               </div>\n                                                        </div>\n                                                        <!-- END HTML -->\n\n                                                   <!-- START ATTACH -->\n                                                 <div class="form-group">\n                                                              <div class="col-md-6">\n                                                                        <input type="file" nv-file-select="" uploader="uploader" multiple="">\n                    <table class="table">\n                      <tbody>\n                        <tr ng-repeat="item in uploader.queue">\n                          <td style="border-top-style:none"><strong>{{ item.file.name }}</strong></td>\n                          <td style="border-top-style:none" ng-show="uploader.isHTML5" nowrap>{{ item.file.size/1024/1024|number:2 }} MB</td>\n                          <td style="border-top-style:none" ng-show="uploader.isHTML5">\n                            <div class="progress" style="margin-bottom: 0;">\n                                <div class="progress-bar" role="progressbar" ng-style="{ \'width\': item.progress + \'%\' }"></div>\n                            </div>\n                          </td>\n                          <td style="border-top-style:none" class="text-center">\n                            <span ng-show="item.isSuccess"><i class="glyphicon glyphicon-ok"></i></span>\n                            <span ng-show="item.isCancel"><i class="glyphicon glyphicon-ban-circle"></i></span>\n                            <span ng-show="item.isError"><i class="glyphicon glyphicon-remove"></i></span>\n                          </td>\n                          <td style="border-top-style:none" nowrap>\n                            <button type="button" class="btn btn-danger btn-xs" ng-click="item.remove()">\n                                <span class="glyphicon glyphicon-trash"></span> {{\'APPLICATION_REMOVE\' | translate}}\n                            </button>\n                          </td>\n                        </tr>\n                      </tbody>\n                    </table>\n                    <div>\n                                                                    </div>\n                                                                </div>\n                                                                <div class="col-md-6">\n                                                                        <div class="form-actions right todo-form-actions">\n                                                                            <button class="btn btn-circle btn-sm green-haze">{{ \'APPLICATION_SEND\' | translate }}</button>\n                                                                              <input type="button" name="cancel" value="{{ \'APPLICATION_CANCEL\' | translate }}" class="btn btn-circle btn-sm btn-default" data-ng-click="cancel()">\n                                                                       </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END ATTACH -->\n                                           </div>\n                                        </form>\n                               </div>\n                        </div>\n                </div>\n        </div>\n</div>\n<!-- END TODO CONTENT -->\n'),a.put("app/mail/inbox/room/room.retry.modal.html",'<div class="modal-header">\n  <button ng-if="modal.dismissable" type="button" ng-click="$dismiss()" class="close">&times;</button>\n  <h4 ng-if="modal.title" class="modal-title">{{modal.title | translate}}</h4>\n</div>\n<div class="modal-body">\n  <p ng-if="modal.text">{{modal.text | translate}}</p>\n</div>\n<div class="modal-footer">\n  <button ng-repeat="button in modal.buttons" ng-class="button.classes" ng-click="button.click($event)" class="btn">{{button.text | translate}}</button>\n</div>\n'),a.put("app/mail/queue/list/list.html",'<div class="row">\n      <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-envelope"></i>\n                                         <a href="/square/projects">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                         <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-layers"></i>\n                                           <a href="#">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                                      </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-layers font-green-sharp"></i>\n                                  <span class="caption-subject">{{ \'APPLICATION_QUEUES\' | translate }}</a> </span>\n                            </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="mailQueues.checked.length">\n                                              <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_QUEUE\' | translate }} <i class="fa fa-angle-down"></i>\n                                                </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/mail/queues/wizard">\n                                                                <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getMailQueues([\'name\', \'description\', \'timeout\', \'strategy\'])" csv-header="[\'Name\', \'Description\', \'Timeout\', \'Strategy\']" field-separator=";" filename="mail_queues.csv">\n                                  <i class="icon-cloud-download"></i></a>\n                               </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedMailQueues" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                      <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="7">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.queuesByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="queueByPage in queuesByPage | filter: $select.search">\n                                                                                                     <div ng-bind-html="queueByPage.name | highlight: $select.search"></div>\n                                                                                               </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(queue, checked)" checklist-model checklist-value="id"></th>\n                                                    <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                          <th st-sort="strategy">{{ \'APPLICATION_STRATEGY\' | translate }}</th>\n                                                                <th st-sort="timeout">{{ \'APPLICATION_AGENT_TIMEOUT\' | translate }}</th>\n                                                <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                  </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="queue in displayedMailQueues">\n                                                                <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="mailQueues.checked" checklist-value="queue.id"></td>\n                                         <td>{{queue.name}}</td>\n                                                         <td>{{queue.description}}</td>\n                                                                <td>{{queue.strategy | uppercase}}</td>\n                                                               <td>{{queue.timeout}}</td>\n                                          <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/mail/queues/view/{{queue.id}}/settings">\n                                                                             {{ \'APPLICATION_PROFILE\' | translate }}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(queue.name, queue.id)">\n                                                                            {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedMailQueues.length">\n                                                                <td colspan="6" class="text-center">\n                                                                  <i>No available queues</i>\n                                                            </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="strategy" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_STRATEGY\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td/>\n                                                         <td/>\n                                           </tr>\n                                           <tr>\n                                            <td colspan="67" class="text-center">\n                                           <div st-pagination class="pagination" st-items-by-page="conf.queuesByPage.value" st-displayed-pages="7"></div>\n                                              </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/queue/view/view.agents.html",'<div class="row" data-ng-init="getTeams()">\n        <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_AGENTS\' | translate}}</span>\n                          </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="note note-warning" data-ng-hide="teams.length">\n                                   <h4 class="block">Warning!</h4>\n                                       <p>\n                                            {{ \'MESSAGE_NO_AVAILABLE_TEAMS\' | translate }}\n                                     </p>\n                          </div>\n                                <div  style="width: 50%; margin: 0 auto;">\n                                    <div class="col-md-9" id="multi-select-team" data-ng-show="teams.length"></div>\n                               </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/mail/queue/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getQueue()">\n     <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="#">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                        <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-layers"></i>\n                                   <a href="/mail/queues/list">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                                      <i data-ng-show="queue" class="fa fa-angle-right"></i>\n                                </li>\n                         <li data-ng-show="queue">\n                                     <a href="#">{{queue.name}}</a>\n                                </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/queue.png" class="img-responsive">\n                              </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{queue.name}}\n                                        </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.mail.queues.view.settings\')}">\n                                                  <a data-ng-href="/mail/queues/view/{{queue.id}}/settings">\n                                                    <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                         <li data-ng-class="{active: $state.is(\'main.mail.queues.view.agents\')}">\n                                                    <a data-ng-href="/mail/queues/view/{{queue.id}}/agents">\n                                                      <i class="icon-users"></i>\n                                                    {{ \'APPLICATION_AGENTS\' | translate}} </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/queue/view/view.settings.html",'<div class="row">\n        <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateMailQueue()" novalidate>\n                                     <!-- START NAME -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="queue.name" required/>\n                                          <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid && forms.general.name.$error.required" class="help-block help-block-error">\n                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                         </span>\n                                       </div>\n                                        <!-- END NAME -->\n\n                                   <!-- START DESCRIPTION -->\n                                    <div class="form-group">\n                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="queue.description"/>\n                                      </div>\n                                        <!-- END DESCRIPTION -->\n\n                                    <!-- START TIMEOUT -->\n                                        <div class="form-group">\n                                              <label class="control-label">Agent Timeout</label>\n                                            <input type="number" name="timeout" placeholder="Timeout" class="form-control" min="1" data-ng-model="queue.timeout"/>\n                                        </div>\n                                        <!-- END TIMEOUT -->\n\n                                        <!-- START HEADER SHAPE -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid}">\n                                            <label class="control-label">{{\'APPLICATION_STRATEGY\' | translate}}</label>\n                                         <ui-select data-ng-model="queue.strategy" name="strategy" theme="bootstrap">\n                                                  <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.toUpperCase()}}</ui-select-match>\n                                                     <ui-select-choices repeat="strategy in [\'rrmemory\',\'beepall\'] | filter: $select.search">\n                                                          <div ng-bind-html="strategy.toUpperCase() | highlight: $select.search"></div>\n                                                 </ui-select-choices>\n                                          </ui-select>\n                                  </div>\n                                        <!-- END HEADER SHAPE -->\n                                     <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                          </form>\n                       </div>\n                </div>\n        </div>\n</div>\n'),
+a.put("app/mail/queue/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n      <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-envelope"></i>\n                         <a href="#">{{ \'APPLICATION_MAILS\' | translate }}</a>\n        <i class="fa fa-angle-right"></i>\n                    </li>\n      <li>\n                             <i class="icon-layers"></i>\n                           <a href="/mail/queues/list">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                      </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-layers font-green-sharp"></i>\n                          <span class="caption-subject">{{ \'APPLICATION_QUEUES\' | translate }} WIZARD</a> </span>\n             </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.general.$valid)">\n                                     <form name="forms.general" data-ng-submit="forms.general.$valid && createItem()" novalidate>\n                                          <!-- START NAME -->\n                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                    <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                   <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid && forms.general.name.$error.required" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END NAME -->\n\n                                           <!-- START DESCRIPTION -->\n                                            <div class="form-group">\n                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                      <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"/>\n                                               </div>\n                                                <!-- END DESCRIPTION -->\n\n                                            <!-- START TIMEOUT -->\n                                                <div class="form-group" data-ng-class="{\'has-error\': (forms.general.timeout.$touched || forms.general.$submitted) && forms.general.timeout.$invalid}">\n                                                      <label class="control-label">{{\'APPLICATION_AGENT_TIMEOUT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                        <input type="number" min="0" name="timeout" placeholder="Timeout" class="form-control" data-ng-model="item.timeout" required/>\n                                                        <span data-ng-show="(forms.general.timeout.$touched || forms.general.$submitted) && forms.general.timeout.$invalid && forms.general.timeout.$error.required" class="help-block help-block-error">\n                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END TIMEOUT -->\n\n                                                <!-- START STRATEGY -->\n                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid}">\n                                                    <label class="control-label">{{\'APPLICATION_STRATEGY\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                     <ui-select data-ng-model="item.strategy" name="strategy" theme="bootstrap" required>\n                                                          <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.toUpperCase()}}</ui-select-match>\n                                                             <ui-select-choices repeat="strategy in [\'rrmemory\',\'beepall\'] | filter: $select.search">\n                                                                  <div ng-bind-html="strategy.toUpperCase() | highlight: $select.search"></div>\n                                                         </ui-select-choices>\n                                                  </ui-select>\n                                                  <span data-ng-show="(forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid && forms.general.strategy.$error.required" class="help-block help-block-error">\n                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END STRATEGY -->\n                                         <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CREATE\' | translate}}"/>\n                                  </form>\n                         </wz-step>\n                          <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <input type="submit" class="btn green-haze" wz-next value="{{ \'APPLICATION_CONFIRM\' | translate }}"/>\n                               </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/mail/realtime/view/agent/agent.queues.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initAgents()">\n <div class="col-md-12">\n               <!-- START TABLE -->\n          <div id="grid1" ui-grid="gridOptions" ui-grid-tree-view class="grid"></div>\n           <!-- END TABLE -->\n    </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/realtime/view/agent/agent.timeline.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initAgents()">\n      <div class="col-md-12">\n               <!-- START TABLE -->\n          <table st-table="displayedAgents" st-safe-src="agents" class="table table-striped table-bordered table-hover">\n                        <div class="table-responsive">\n                          <thead>\n                                     <tr>\n                                          <th colspan="12">\n                                                     <div class="row">\n                                                             <div class="col-md-6">\n                                                                        <ui-select class="input-xsmall" ng-model="conf.agentsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                             <ui-select-choices repeat="agentByPage in agentsByPage | filter: $select.search">\n                                                                                     <div ng-bind-html="agentByPage.name | highlight: $select.search"></div>\n                                                                               </ui-select-choices>\n                                                                  </ui-select>\n                                                          </div>\n                                                                <div class="col-md-6">\n                                                                        <div class="input-group input-medium pull-right">\n                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                         <span class="input-group-addon">\n                                                                                      <i class="fa fa-search"></i>\n                                                                          </span>\n                                                                       </div>\n                                                                </div>\n                                                        </div>\n                                                </th>\n                                 </tr>\n                           <tr>\n                                                <th></th>\n                                             <th st-sort="uniqueid" reverse class="input-small">{{ \'APPLICATION_UNIQUEID\' | translate }}</th>\n                                <th st-sort="queue" class="input-medium">{{ \'APPLICATION_QUEUE\' | translate }}</th>\n                                 <th st-sort="membername" class="input-medium">{{ \'APPLICATION_AGENT\' | translate }}</th>\n                                                <th st-sort="subject" class="input-small">{{ \'APPLICATION_SUBJECT\' | translate }}</th>\n                                              <th st-sort="from" class="input-small">{{ \'APPLICATION_FROM\' | translate }}</th>\n                                            <th st-sort="accountname" class="input-small">{{ \'APPLICATION_TO\' | translate }}</th>\n                                               <th st-sort="agentcalledAt" st-sort-default="reverse">{{ \'APPLICATION_CALLED_AT\' | translate }}</th>\n                                                <th st-sort="agentconnectAt">{{ \'APPLICATION_CONNECTED_AT\' | translate }}</th>\n                                              <th st-sort="agentringnoanswerAt">{{ \'APPLICATION_UNASWER_AT\' | translate }}</th>\n                                           <th st-sort="reason">{{ \'APPLICATION_REASON\' | translate }}</th>\n                              </tr>\n                         </thead>\n                      <tbody>\n                         <tr data-ng-repeat="agent in displayedAgents">\n                                            <td>\n                                                  <span>\n                                                                <i data-ng-class="{\'icon-user font-yellow\': agent.lastevent === \'called\',\n                                                         \'icon-user-following font-green\': agent.lastevent === \'agent\',\n                                                            \'icon-user-unfollow font-red\': agent.lastevent === \'timeout\',\n                                                             \'icon-user-unfollow font-blue\': agent.lastevent === \'answered_elsewhere\'}"></i>\n                                                   </span>\n                                               </td>\n                                         <td>{{agent.uniqueid}}</td>\n                                           <td>{{agent.mailqueuename}}</td>\n                                              <td>{{agent.fullname}}</td>\n                                           <td>{{agent.subject}}</td>\n                                            <td>{{agent.from}}</td>\n                                               <td>{{agent.accountname}}</td>\n                                                <td>\n                                                  <time is="relative-time" datetime="{{agent.agentcalledAt}}">\n                                                          April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{agent.agentconnectedAt}}" data-ng-show="agent.agentconnectedAt">\n                                                         April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{agent.agentringnoanswerAt}}" data-ng-show="agent.agentringnoanswerAt">\n                                                           April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  {{agent.reason | uppercase}}\n                                          </td>\n                     </tr>\n                                     <tr data-ng-hide="displayedAgents.length">\n                                            <td colspan="11" style="text-align:center;">\n                                                  <i>No agents available</i>\n                                            </td>\n                                 </tr>\n                   </tbody>\n                      <tfoot>\n                                     <tr>\n                                          <td/>\n                                         <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="uniqueid" data-ng-model="filters.uniqueid" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_UNIQUEID\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                       </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="queue" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_QUEUE\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                      </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="membername" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_AGENT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                 </div>\n                                    </td>\n                                             <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="from" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_SUBJECT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                     </div>\n                                                </td>\n                             <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="from" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_FROM\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                        </div>\n                                    </td>\n                                             <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="accountname" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_TO\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                   </div>\n                                    </td>\n                                             <td colspan="7"></td>\n                           </tr>\n                           <tr>\n                            <td colspan="12" class="text-center">\n                                                   <div class="pagination" st-pagination st-items-by-page="conf.agentsByPage.value" st-displayed-pages="7"></div>\n                              </td>\n                       </tr>\n                       </tfoot>\n                    </div>\n                </table>\n              <!-- END TABLE -->\n    </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/realtime/view/session/session.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initMails()">\n    <div class="col-md-12">\n               <!-- START TABLE -->\n          <table st-table="displayedMails" st-safe-src="sessions" class="table table-striped table-bordered table-hover">\n                       <div class="table-responsive">\n                          <thead>\n                                     <tr>\n                                          <th colspan="12">\n                                                     <div class="row">\n                                                             <div class="col-md-6">\n                                                                        <ui-select class="input-xsmall" ng-model="conf.sessionsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                              <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                             <ui-select-choices repeat="sessionByPage in sessionsByPage | filter: $select.search">\n                                                                                 <div ng-bind-html="sessionByPage.name | highlight: $select.search"></div>\n                                                                             </ui-select-choices>\n                                                                  </ui-select>\n                                                          </div>\n                                                                <div class="col-md-6">\n                                                                        <div class="input-group input-medium pull-right">\n                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                         <span class="input-group-addon">\n                                                                                      <i class="fa fa-search"></i>\n                                                                          </span>\n                                                                       </div>\n                                                                </div>\n                                                        </div>\n                                                </th>\n                                 </tr>\n                           <tr>\n                                                <th></th>\n                                             <th st-sort="uniqueid" reverse class="input-small">{{ \'APPLICATION_UNIQUEID\' | translate }}</th>\n                                <th st-sort="queue" class="input-medium">{{ \'APPLICATION_QUEUE\' | translate }}</th>\n                                 <th st-sort="membername" class="input-medium">{{ \'APPLICATION_AGENT\' | translate }}</th>\n                                                <th st-sort="subject" class="input-small">{{ \'APPLICATION_SUBJECT\' | translate }}</th>\n                                              <th st-sort="from" class="input-small">{{ \'APPLICATION_FROM\' | translate }}</th>\n                                            <th st-sort="accountname" class="input-small">{{ \'APPLICATION_TO\' | translate }}</th>\n                                               <th st-sort="sessioncalledAt" st-sort-default="reverse">{{ \'APPLICATION_JOIN_AT\' | translate }}</th>\n                                                <th st-sort="sessionconnectAt">{{ \'APPLICATION_LEAVE_AT\' | translate }}</th>\n                                                <th st-sort="sessionringnoanswerAt">{{ \'APPLICATION_UNMANAGED_AT\' | translate }}</th>\n                                 </tr>\n                         </thead>\n                      <tbody>\n                         <tr data-ng-repeat="session in displayedMails">\n                                           <td>\n                                                  <span>\n                                                                <i data-ng-class="{\'icon-user font-yellow\': session.mailjoinAt && !session.mailleaveAt,\n                                                             \'icon-user-following font-green\': session.fullname,\n                                                         \'icon-user-unfollow font-red\': session.mailunmanagedAt}"></i>\n                                                       </span>\n                                               </td>\n                                         <td>{{session.uniqueid}}</td>\n                                         <td>{{session.mailqueuename}}</td>\n                                            <td>{{session.fullname}}</td>\n                                         <td>{{session.subject}}</td>\n                                          <td>{{session.from}}</td>\n                                             <td>{{session.accountname}}</td>\n                                              <td>\n                                                  <time is="relative-time" datetime="{{session.mailjoinAt}}">\n                                                           April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{session.mailleaveAt}}" data-ng-show="session.mailleaveAt">\n                                                               April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{session.mailunmanagedAt}}" data-ng-show="session.mailunmanagedAt">\n                                                               April 1, 2014\n                                                 </time>\n                                               </td>\n                     </tr>\n                                     <tr data-ng-hide="displayedMails.length">\n                                             <td colspan="11" style="text-align:center;">\n                                                  <i>No sessions available</i>\n                                          </td>\n                                 </tr>\n                   </tbody>\n                      <tfoot>\n                                     <tr>\n                                          <td/>\n                                         <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="uniqueid" data-ng-model="filters.uniqueid" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_UNIQUEID\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                       </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="queue" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_QUEUE\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                      </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="membername" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_AGENT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                 </div>\n                                    </td>\n                                             <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="from" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_SUBJECT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                     </div>\n                                                </td>\n                             <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="from" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_FROM\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                        </div>\n                                    </td>\n                                             <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="accountname" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_TO\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                   </div>\n                                    </td>\n                                             <td colspan="7"></td>\n                           </tr>\n                           <tr>\n                            <td colspan="12" class="text-center">\n                                                   <div class="pagination" st-pagination st-items-by-page="conf.sessionsByPage.value" st-displayed-pages="7"></div>\n                            </td>\n                       </tr>\n                       </tfoot>\n                    </div>\n                </table>\n              <!-- END TABLE -->\n    </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/realtime/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-energy"></i>\n                                   <a href="/mail/realtime/list">{{ \'APPLICATION_REALTIME\' | translate }}</a>\n                          </li>\n                 </ul>\n         </div>\n\n              <div>\n             <nav class="navbar navbar-default" role="navigation">\n                     <div class="navbar-header">\n                       <button type="button" class="navbar-toggle" ng-init="navCollapsed = true" ng-click="navCollapsed = !navCollapsed">\n                                <span class="sr-only">Toggle navigation</span>\n                                <span class="icon-bar"></span>\n                                <span class="icon-bar"></span>\n                                <span class="icon-bar"></span>\n                            </button>\n                     <!-- <a class="navbar-brand" ui-sref="home">Brand</a> -->\n                 </div>\n\n                      <!-- Collect the nav links, forms, and other content for toggling -->\n                 <div class="collapse navbar-collapse" ng-class="!navCollapsed && \'in\'">\n                         <ul class="nav navbar-nav">\n                               <li dropdown>\n                             <a href="#" dropdown-toggle>\n                                      {{ \'APPLICATION_AGENTS\' | translate }}\n                                      <b class=\'caret\'></b>\n                                   </a>\n                                  <tree tree=\'agents\'></tree>\n                             </li>\n                                                                         <li dropdown>\n                             <a href="#" dropdown-toggle>\n                                      {{ \'APPLICATION_SESSIONS\' | translate }}\n                                    <b class=\'caret\'></b>\n                                   </a>\n                                  <tree tree=\'sessions\'></tree>\n                           </li>\n                     </ul>\n                         <!-- <ul class="nav navbar-nav">\n                          <li dropdown>\n                             <a href="#" dropdown-toggle>\n                                      {{ \'APPLICATION_QUEUES\' | translate }}\n                                      <b class=\'caret\'></b>\n                                   </a>\n                                  <tree tree=\'queues\'></tree>\n                             </li>\n                     </ul> -->\n                 </div>\n                        <!-- /.navbar-collapse -->\n                </nav>\n            </div>\n                <div ui-view></div>\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/statistics/statistics.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initView()">\n     <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="/agent">{{ \'APPLICATION_MAILS\' | translate }}</a>\n                          </li>\n                         <li>\n                                  <a href="#">{{agent.fullname}}</a>\n                            </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img ng-src="assets/images/media/statistics.png" class="img-responsive">\n                              </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{agent.fullname}}\n                                    </div>\n                                        <div class="profile-usertitle-job">\n                                           {{agent.role}}\n                                        </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.mail.statistics.summary\')}">\n                                                    <a data-ng-href="/mail/statistics/summary">\n                                                   <i class="icon-bar-chart"></i>\n                                                        {{ \'APPLICATION_SUMMARY\' | translate}} </a>\n                                         </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/statistics/statistics.summary.html",'<div class="row">\n   <div class="col-md-12">\n               <!-- BEGIN PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_CONVERSATIONS\' | translate }}</a> </span>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="row">\n                                     <div class="col-md-6">\n                                                <div class="portlet sale-summary">\n                                                    <div class="portlet-body">\n                                                            <ul class="list-unstyled">\n                                                                    <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_INBOX\' | translate }} <i class="fa fa-img-up"></i>\n                                                                          </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ directory:\'INBOX\' }).length }} </span>\n                                                                  </li>\n                                                                 <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_SENT\' | translate }} <i class="fa fa-img-down"></i>\n                                                                         </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ directory:\'SENT\' }).length }} </span>\n                                                                   </li>\n                                                                 <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_OUTGOING\' | translate }} <i class="fa fa-img-down"></i>\n                                                                             </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ directory:\'NOT SENT\' }).length }} </span>\n                                                                       </li>\n                                                                 <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_DRAFT\' | translate }} <i class="fa fa-img-down"></i>\n                                                                                </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ directory:\'DRAFT\' }).length }} </span>\n                                                                  </li>\n                                                                 <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_TRASH\' | translate }} <i class="fa fa-img-down"></i>\n                                                                                </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ directory:\'TRASH\' }).length }} </span>\n                                                                  </li>\n                                                         </ul>\n                                                 </div>\n                                                </div>\n                                        </div>\n                                        <div class="col-md-6">\n                                                <canvas class="chart chart-pie" data="[\n                                               (mailMessages | filter:{ directory:\'INBOX\' }).length,\n                                               (mailMessages | filter:{ directory:\'SENT\' }).length,\n                                                (mailMessages | filter:{ directory:\'NOT SENT\' }).length,\n                                            (mailMessages | filter:{ directory:\'DRAFT\' }).length,\n                                               (mailMessages | filter:{ directory:\'TRASH\' }).length]" labels="[\n                                            $translate.instant(\'APPLICATION_INBOX\'),\n                                            $translate.instant(\'APPLICATION_SENT\'),\n                                             $translate.instant(\'APPLICATION_OUTGOING\'),\n                                         $translate.instant(\'APPLICATION_DRAFT\'),\n                                            $translate.instant(\'APPLICATION_TRASH\')]" legend="true"></canvas>\n                                   </div>\n                                </div>\n                        </div>\n                </div>\n                <!-- END PORTLET-->\n\n         <!-- BEGIN PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-pencil font-green-sharp"></i>\n                                  <span class="caption-subject">{{ \'APPLICATION_OTHER_INFO\' | translate }}</a> </span>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="row">\n                                     <div class="col-md-6">\n                                                <div class="portlet sale-summary">\n                                                    <div class="portlet-body">\n                                                            <ul class="list-unstyled">\n                                                                    <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_READ\' | translate }} <i class="fa fa-img-up"></i>\n                                                                           </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ read:\'true\' }).length }} </span>\n                                                                        </li>\n                                                                 <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_UNREAD\' | translate }} <i class="fa fa-img-down"></i>\n                                                                               </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ read:\'false\' }).length }} </span>\n                                                                       </li>\n                                                                 <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_FAVORITE\' | translate }} <i class="fa fa-img-down"></i>\n                                                                             </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ favorite:\'true\' }).length }} </span>\n                                                                    </li>\n                                                         </ul>\n                                                 </div>\n                                                </div>\n                                        </div>\n                                        <div class="col-md-6">\n                                                <canvas class="chart chart-pie" data="[\n                                               (mailMessages | filter:{ read:\'true\' }).length,\n                                             (mailMessages | filter:{ read:\'false\' }).length]" labels="[\n                                         $translate.instant(\'APPLICATION_READ\'),\n                                             $translate.instant(\'APPLICATION_UNREAD\')]" legend="true"></canvas>\n                                  </div>\n                                </div>\n                        </div>\n                </div>\n                <!-- END PORTLET-->\n   </div>\n</div>\n'),a.put("app/mail/timeline/list/list.html",'<div class="row">\n        <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-envelope"></i>\n                                         <a href="#">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                                <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-list"></i>\n                                             <a href="/mail/timeline/list"> Timeline</a>\n                                   </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initList()">\n     <div class="col-md-12">\n    <h3 class="page-title">\n                          Timeline\n                      </h3>\n                 <!-- END PAGE HEADER-->\n                       <!-- BEGIN PAGE CONTENT-->\n                    <div class="timeline">\n                                <!-- TIMELINE ITEM -->\n                                <div class="timeline-item" data-ng-repeat="event in events | orderBy:\'-id\'">\n                                        <div class="timeline-badge">\n                                          <div class="timeline-icon">\n                                                   <i class="icon-envelope font-green-haze"></i>\n                                         </div>\n                                        </div>\n                                        <div class="timeline-body">\n                                           <div class="timeline-body-arrow"></div>\n                                               <div class="timeline-body-head">\n                                                      <div class="timeline-body-head-caption">\n                                                              <span class="timeline-body-alerttitle" data-ng-class="{\'font-red\': event.name == \'INCOMING\', \'font-blue\': event.name == \'ATTEMPT\', \'font-green\': event.name == \'TAKEN\'}">{{event.name | uppercase}}</span>\n                                                                <span class="timeline-body-time font-grey-cascade">at {{event.createdAt | date:\'yyyy-MM-dd HH:mm:ss\'}}</span>\n                                                       </div>\n                                                        <div class="timeline-body-head-actions">\n                                                              <div class="btn-group">\n                                                                       <a class="btn btn-circle btn-sm dropdown-toggle btn-success" href="/mail/inbox/room/{{event.MailRoomId}}">Go To Mail</a>\n                                                              </div>\n                                                        </div>\n                                                </div>\n                                                <div class="timeline-body-content">\n                                                   <span class="font-grey-cascade" data-ng-show="event.User">\n                                                    {{event.MailRoom.subject ? event.MailRoom.subject + \' - \' : \'\'}}<a href="/agents/view/{{event.UserId}}/account">{{event.User.fullname}}</a>\n                                                       </span>\n                                               </div>\n                                        </div>\n                                </div>\n                                <!-- END TIMELINE ITEM -->\n                    </div>\n                        <!-- END PAGE CONTENT-->\n      </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/main/chooseContact.modal.html",'<div class="modal-header">\n  <h3 class="modal-title">{{ \'APPLICATION_CHOOSE_CONTACT\' | translate }}</h3>\n</div>\n<div class="modal-body">\n  <form name="forms.choose" novalidate>\n    <div class="form-group" data-ng-class="{\'has-error\': forms.choose.contactId.$invalid && forms.choose.$submitted}">\n      <label class="control-label">{{\'APPLICATION_CONTACT\' | translate}}</label>\n      <ui-select data-ng-model="item.contactId" theme="bootstrap" name="contactId" ng-disabled="disabled">\n        <ui-select-match allow-clear placeholder="{{ \'APPLICATION_CONTACT\' | translate }}">{{$select.selected.name}}</ui-select-match>\n        <ui-select-choices repeat="contact.id as contact in contacts | filter: $select.search">\n          <div ng-bind-html="contact.name | highlight: $select.search"></div>\n        </ui-select-choices>\n      </ui-select>\n      <span data-ng-show="forms.choose.CompanyId.$invalid && forms.choose.$submitted" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n  </form>\n</div>\n<div class="modal-footer">\n  <button class="btn btn-success" type="button" ng-click="ok()" ng-disabled="forms.tag.$invalid">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n  <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/main/main.html",'<!-- BEGIN HEADER -->\n<div data-ng-include="\'components/header/header.html\'" data-ng-controller="HeaderController" class="page-header navbar navbar-fixed-top">\n</div>\n<!-- END HEADER -->\n\n<div class="clearfix">\n</div>\n<!-- BEGIN CONTAINER -->\n<div class="page-container" data-ng-init="initMain()">\n\n  <!-- BEGIN SIDEBAR -->\n  <div data-ng-include="\'components/sidebar/sidebar.html\'" data-ng-controller="SidebarController" class="page-sidebar-wrapper">\n  </div>\n  <!-- END SIDEBAR -->\n\n  <!-- BEGIN CONTENT -->\n  <div class="page-content-wrapper">\n    <div class="page-content" data-ng-class="{\'demo\': !license.expiration}">\n\n      <!-- BEGIN PAGE CONTENT -->\n      <uib-tabset>\n        <uib-tab select="addWorkspace()" active="mainTab.active">\n          <uib-tab-heading>\n            Motion <i class="icon-rocket"></i>\n          </uib-tab-heading>\n          <div ui-view class=""></div>\n        </uib-tab>\n        <uib-tab data-ng-repeat="workspace in workspaces" active="workspace.active" data-ng-switch="workspace.type">\n          <uib-tab-heading>\n            {{workspace.name}} <i class="icon-close pointer-cursor" data-ng-click="closeTab($index)"></i>\n          </uib-tab-heading>\n          <div class="" data-ng-switch="workspace.type">\n            <new-contact data-ng-switch-when="newContact" workspace="workspace" index="$index" on-submit="createContact(index,item)"></new-contact>\n            <contact data-ng-switch-when="contact" workspace="workspace" index="$index" on-submit="updateContact(index,item)"></contact>\n          </div>\n        </uib-tab>\n\n      </uib-tabset>\n      <!-- END PAGE CONTENT  -->\n\n    </div>\n  </div>\n  <!-- END CONTENT -->\n\n  <!-- BEGIN QUICK SIDEBAR -->\n  <a href="javascript:;" class="page-quick-sidebar-toggler"><i class="icon-close"></i></a>\n  <div data-ng-include="\'components/quickSidebar/quickSidebar.html\'" data-ng-controller="QuickSidebarController" class="page-quick-sidebar-wrapper">\n  </div>\n  <!-- END QUICK SIDEBAR -->\n\n</div>\n<!-- END CONTAINER -->\n\n<!-- BEGIN FOOTER -->\n<div data-ng-include="\'components/footer/footer.html\'" data-ng-controller="FooterController" class="page-footer">\n</div>\n<!-- END FOOTER -->\n\n<!-- BEGIN JAVASCRIPTS(Load javascripts at bottom, this will reduce page load time) -->\n<!-- BEGIN CORE PLUGINS -->\n<!--[if lt IE 9]>\n<script src="../../assets/global/plugins/respond.min.js"></script>\n<script src="../../assets/global/plugins/excanvas.min.js"></script>\n<![endif]-->\n\n<!-- END JAVASCRIPTS -->\n'),
 a.put("app/main/template.contactTab.html",'<div class="row margin-top-20 contact-tab-container" >\n  <!-- <pre>\n    {{workspaces}}\n  </pre> -->\n  <!-- <pre>\n    {{contact | json}}\n  </pre> -->\n  <div class="col-md-12 contact-tab">\n    <form name="forms.general" data-ng-submit="submit({index:index,item:contact})" novalidate>\n    <!-- BEGIN PROFILE SIDEBAR -->\n    <div class="profile-sidebar">\n      <!-- PORTLET MAIN -->\n      <div class="portlet light pbottom20">\n        <!-- SIDEBAR USERPIC -->\n        <div class="profile-userpic">\n          <img src="assets/images/media/contact.png" class="img-responsive" alt="">\n        </div>\n        <!-- END SIDEBAR USERPIC -->\n        <!-- SIDEBAR USER TITLE -->\n        <div class="profile-usertitle">\n          <div class="profile-usertitle-name">\n            {{contact.fullname}}\n          </div>\n          <div class="profile-usertitle-job">\n          </div>\n        </div>\n        <!-- END SIDEBAR USER TITLE -->\n        <!-- SIDEBAR BUTTONS -->\n        <div class="profile-userbuttons">\n          <button type="submit" class="btn btn-circle green-haze btn-sm" data-ng-disabled="!contact.fullname">{{\'APPLICATION_UPDATE\' | translate}}</button>\n          <!-- <button type="button" class="btn btn-circle btn-danger btn-sm">Message</button> -->\n        </div>\n        <!-- END SIDEBAR BUTTONS -->\n        <!-- SIDEBAR MENU -->\n        <!-- <div class="profile-usermenu">\n          <ul class="nav">\n            <li class="active">\n              <a href="extra_profile.html">\n              <i class="icon-home"></i>\n              Overview </a>\n            </li>\n            <li>\n              <a href="extra_profile_account.html">\n              <i class="icon-settings"></i>\n              Account Settings </a>\n            </li>\n            <li>\n              <a href="page_todo.html" target="_blank">\n              <i class="icon-check"></i>\n              Tasks </a>\n            </li>\n            <li>\n              <a href="extra_profile_help.html">\n              <i class="icon-info"></i>\n              Help </a>\n            </li>\n          </ul>\n        </div> -->\n        <!-- END MENU -->\n      </div>\n      <!-- END PORTLET MAIN -->\n      <!-- PORTLET MAIN -->\n      <div class="portlet light">\n        <!-- STAT -->\n        <div class="row list-separated profile-stat">\n          <div class="col-md-4 col-sm-4 col-xs-6">\n            <div class="uppercase profile-stat-title">\n               37\n            </div>\n            <div class="uppercase profile-stat-text">\n               Projects\n            </div>\n          </div>\n          <div class="col-md-4 col-sm-4 col-xs-6">\n            <div class="uppercase profile-stat-title">\n               51\n            </div>\n            <div class="uppercase profile-stat-text">\n               Tasks\n            </div>\n          </div>\n          <div class="col-md-4 col-sm-4 col-xs-6">\n            <div class="uppercase profile-stat-title">\n               61\n            </div>\n            <div class="uppercase profile-stat-text">\n               Uploads\n            </div>\n          </div>\n        </div>\n        <!-- END STAT -->\n        <div>\n          <h4 class="profile-desc-title">{{\'APPLICATION_ABOUT\' | translate}} {{contact.fullname}}</h4>\n          <span class="profile-desc-text break-overflow">{{contact.description}}</span>\n          <div class="margin-top-20 profile-desc-link">\n            <i class="fa fa-globe"></i>\n            <a href="http://www.keenthemes.com">www.keenthemes.com</a>\n          </div>\n          <div class="margin-top-20 profile-desc-link">\n            <i class="fa fa-twitter"></i>\n            <a href="http://www.twitter.com/keenthemes/">@keenthemes</a>\n          </div>\n          <div class="margin-top-20 profile-desc-link">\n            <i class="fa fa-facebook"></i>\n            <a href="http://www.facebook.com/keenthemes/">keenthemes</a>\n          </div>\n        </div>\n      </div>\n      <!-- END PORTLET MAIN -->\n    </div>\n    <!-- END BEGIN PROFILE SIDEBAR -->\n    <!-- BEGIN PROFILE CONTENT -->\n    <div class="profile-content">\n      <div class="row">\n        <div class="col-md-6">\n          <!-- BEGIN PORTLET -->\n          <div class="portlet light ">\n            <div class="portlet-title">\n              <div class="caption caption-md">\n                <i class="icon-bar-chart theme-font hide"></i>\n                <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_DETAIL\' | translate}}</span>\n              </div>\n              <div class="actions">\n                <div class="btn-group btn-group-devided" data-toggle="buttons">\n                  <label class="btn btn-transparent grey-salsa btn-circle btn-sm active" data-ng-click="detail.tab=\'main\'">\n                  <input type="radio" class="toggle">{{\'APPLICATION_MAIN\' | translate}}</label>\n                  <label class="btn btn-transparent grey-salsa btn-circle btn-sm" data-ng-click="detail.tab=\'address\'">\n                  <input type="radio" class="toggle">{{\'APPLICATION_ADDRESS\' | translate}}</label>\n                  <label class="btn btn-transparent grey-salsa btn-circle btn-sm" data-ng-click="detail.tab=\'other\'">\n                  <input type="radio" class="toggle">{{\'APPLICATION_OTHER\' | translate}}</label>\n                  <label class="btn btn-transparent grey-salsa btn-circle btn-sm" data-ng-click="detail.tab=\'customFields\'">\n                  <input type="radio" class="toggle">{{\'APPLICATION_CUSTOM_FIELDS\' | translate}}</label>\n                </div>\n              </div>\n            </div>\n            <div class="portlet-body">\n              <div data-ng-class="{\'hidden\':detail.tab != \'main\'}" class="portlet-body contact-portlet">\n              <!-- START FULLNAME -->\n              <div class="form-group" data-ng-class="{\'has-error\': (forms.general.fullname.$touched || forms.general.$submitted) && forms.general.fullname.$invalid}">\n                <label class="control-label">{{\'APPLICATION_FULLNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                <input type="text" name="fullname" placeholder="{{\'APPLICATION_FULLNAME\' | translate}}" class="form-control" data-ng-model="contact.fullname" required/>\n                <span data-ng-show="(forms.general.fullname.$touched || forms.general.$submitted) && forms.general.fullname.$error.required" class="help-block help-block-error">\n                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                </span>\n              </div>\n              <!-- END FULLNAME -->\n\n              <!-- START COMPANY -->\n              <div class="form-group" data-ng-class="{\'has-error\': forms.general.CompanyId.$invalid && forms.general.$submitted}">\n                <label class="control-label">{{\'APPLICATION_COMPANY\' | translate}}</label>\n                <ui-select data-ng-model="contact.CompanyId" theme="bootstrap" name="CompanyId" ng-disabled="disabled">\n                  <ui-select-match allow-clear placeholder="{{ \'APPLICATION_COMPANY\' | translate }}">{{$select.selected.name}}</ui-select-match>\n                  <ui-select-choices repeat="company.id as company in companies | filter: $select.search">\n                    <div ng-bind-html="company.name | highlight: $select.search"></div>\n                  </ui-select-choices>\n                </ui-select>\n                <span data-ng-show="forms.general.CompanyId.$invalid && forms.general.$submitted" class="help-block help-block-error">\n                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                </span>\n              </div>\n              <!-- END COMPANY -->\n\n              <!-- START TAGS -->\n              <div class="form-group" data-ng-class="{\'has-error\': forms.general.tags.$invalid && forms.general.$submitted}">\n                <label class="control-label">{{\'APPLICATION_TAGS\' | translate}}</label>\n                <ui-select tagging tagging-label="" multiple=\'true\' data-ng-model="contact.tags" theme="bootstrap" name="tags" ng-disabled="disabled">\n                  <ui-select-match placeholder="{{ \'APPLICATION_TAGS\' | translate }}">{{$item}}</ui-select-match>\n                  <ui-select-choices repeat="tag in tags | filter: $select.search">\n                    {{tag}}\n                  </ui-select-choices>\n                </ui-select>\n                <span data-ng-show="forms.general.tags.$invalid && forms.general.$submitted" class="help-block help-block-error">\n                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                </span>\n              </div>\n              <!-- END TAGS -->\n\n            </div>\n            <div data-ng-class="{\'hidden\':detail.tab != \'address\'}" class="portlet-body contact-portlet">\n              <!-- START STREET -->\n              <div class="form-group" data-ng-class="{\'has-error\': (forms.general.street.$touched || forms.general.$submitted) && forms.general.street.$invalid}">\n                <label class="control-label">{{\'APPLICATION_STREET\' | translate}}</label>\n                <input type="text" name="street" placeholder="{{\'APPLICATION_STREET\' | translate}}" class="form-control" data-ng-model="contact.street"/>\n                <span data-ng-show="(forms.general.street.$touched || forms.general.$submitted) && forms.general.street.$error.required" class="help-block help-block-error">\n                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                </span>\n              </div>\n              <!-- END STREET -->\n\n              <!-- START POSTALCODE -->\n              <div class="form-group" data-ng-class="{\'has-error\': (forms.general.postalCode.$touched || forms.general.$submitted) && forms.general.postalCode.$invalid}">\n                <label class="control-label">{{\'APPLICATION_POSTALCODE\' | translate}}</label>\n                <input type="text" name="postalCode" placeholder="{{\'APPLICATION_POSTALCODE\' | translate}}" class="form-control" data-ng-model="contact.postalCode"/>\n                <span data-ng-show="(forms.general.postalCode.$touched || forms.general.$submitted) && forms.general.postalCode.$error.required" class="help-block help-block-error">\n                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                </span>\n              </div>\n              <!-- END POSTALCODE -->\n\n              <!-- START CITY -->\n              <div class="form-group" data-ng-class="{\'has-error\': (forms.general.city.$touched || forms.general.$submitted) && forms.general.city.$invalid}">\n                <label class="control-label">{{\'APPLICATION_CITY\' | translate}}</label>\n                <input type="text" name="city" placeholder="{{\'APPLICATION_CITY\' | translate}}" class="form-control" data-ng-model="contact.city"/>\n                <span data-ng-show="(forms.general.city.$touched || forms.general.$submitted) && forms.general.city.$error.required" class="help-block help-block-error">\n                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                </span>\n              </div>\n              <!-- END CITY -->\n\n              <!-- START COUNTRY -->\n              <div class="form-group" data-ng-class="{\'has-error\': (forms.general.country.$touched || forms.general.$submitted) && forms.general.country.$invalid}">\n                <label class="control-label">{{\'APPLICATION_COUNTRY\' | translate}}</label>\n                <input type="text" name="country" placeholder="{{\'APPLICATION_COUNTRY\' | translate}}" class="form-control" data-ng-model="contact.country"/>\n                <span data-ng-show="(forms.general.country.$touched || forms.general.$submitted) && forms.general.country.$error.required" class="help-block help-block-error">\n                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                </span>\n              </div>\n              <!-- END COUNTRY -->\n            </div>\n            <div data-ng-class="{\'hidden\':detail.tab != \'other\'}" class="portlet-body contact-portlet">\n              <!-- START DATEOFBIRTH -->\n              <div class="form-group" data-ng-class="{\'has-error\': (forms.general.dateOfBirth.$touched || forms.general.$submitted) && forms.general.dateOfBirth.$invalid}">\n                <label class="control-label">{{\'APPLICATION_DATEOFBIRTH\' | translate}}</label>\n                <input name="dateOfBirth" type="date" placeholder="{{\'APPLICATION_DATEOFBIRTH\' | translate}}" class="form-control date-picker" data-ng-model="contact.dateOfBirth"/>\n                <span data-ng-show="(forms.general.dateOfBirth.$touched || forms.general.$submitted) && forms.general.dateOfBirth.$error.required" class="help-block help-block-error">\n                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                </span>\n              </div>\n              <!-- END DATEOFBIRTH -->\n\n              <!-- START DESCRIPTION -->\n              <div class="form-group">\n                <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                <textarea style="resize: vertical;" type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="contact.description"></textarea>\n              </div>\n              <!-- END DESCRIPTION -->\n              <!-- START CREATED_BY -->\n              <div class="form-group">\n                <label class="control-label">{{\'APPLICATION_CREATED_BY\' | translate}}</label>\n                <input type="text" name="createdBy" placeholder="{{\'APPLICATION_CREATED_BY\' | translate}}" class="form-control" data-ng-model="contact.User.name" disabled/>\n              </div>\n              <!-- END CREATED_BY -->\n            </div>\n            <div data-ng-class="{\'hidden\':detail.tab != \'customFields\'}" class="portlet-body contact-portlet">\n              <div data-ng-repeat="customField in customFields">\n                <div data-ng-if="customField.active || _.find(contact.CustomFields,{id:customField.id})">\n                <div data-ng-if="customField.type==\'text\'" class="form-group" data-ng-class="{\'has-error\': (forms.general[customField.name].$touched || forms.general.$submitted) && forms.general[customField.name].$invalid}">\n                  <label class="control-label">{{customField.name}}</label>\n                  <input data-ng-if="!joinPrompt" type="text" name="{{customField.name}}" placeholder="{{customField.name}}" class="form-control" data-ng-model="contact.customFields[customField.id]"/>\n                  <span data-ng-show="(forms.general[customField.name].$touched || forms.general.$submitted) && forms.general[customField.name].$error.required" class="help-block help-block-error">\n                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                  </span>\n                </div>\n                <div data-ng-if="customField.type==\'select\'" class="form-group" data-ng-class="{\'has-error\': forms.general[customField.name].$invalid && forms.general.$submitted}">\n                  <label class="control-label">{{customField.name}}</label>\n                  <ui-select data-ng-if="!joinPrompt" data-ng-model="contact.customFields[customField.id]" theme="bootstrap" name="{{customField.name}}" data-ng-disabled="disabled">\n                    <ui-select-match allow-clear placeholder="{{customField.name}}">{{$select.selected.value}}</ui-select-match>\n                    <ui-select-choices repeat="choice.value as choice in customField.values | filter: $select.search">\n                      <div ng-bind-html="choice.value | highlight: $select.search"></div>\n                    </ui-select-choices>\n                  </ui-select>\n                  <span data-ng-show="forms.general[customField.name].$invalid && forms.general.$submitted" class="help-block help-block-error">\n                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                  </span>\n                </div>\n              </div>\n              </div>\n            </div>\n            </div>\n          </div>\n          <!-- END PORTLET -->\n        </div>\n        <div class="col-md-6">\n          <!-- BEGIN PORTLET -->\n          <div class="portlet light">\n            <div class="portlet-title tabbable-line">\n              <div class="caption caption-md">\n                <i class="icon-globe theme-font hide"></i>\n                <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_CONTACTS\' | translate}}</span>\n              </div>\n              <ul class="nav nav-tabs">\n                <li class="active">\n                  <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_PHONES\' | translate}}</a>\n                </li>\n                <li>\n                  <a href="#" data-target="#tab_1_2" data-toggle="tab">{{ \'APPLICATION_EMAILS\' | translate}}</a>\n                </li>\n              </ul>\n            </div>\n            <div class="portlet-body">\n              <!--BEGIN TABS-->\n              <div class="tab-content">\n                <div class="tab-pane active" id="tab_1_1">\n                  <div class="contact-portlet">\n                    <!-- START PHONES -->\n                    <div class="padding-bottom mbottom20">\n                    <div data-ng-if="contact.Phones.length>0">\n                      <label class="control-label">{{\'APPLICATION_PHONES\' | translate}}</label>\n                    </div>\n                    <div class="padding-bottom" ng-repeat="phone in contact.Phones">\n                      <div class="form-group">\n                        <div class="input-group">\n                          <input type="text" class="form-control" ng-model="phone.phone" required>\n                          <span class="input-group-btn">\n                          <button class="btn red" type="button"data-ng-click="removeField(\'Phones\',$index)"><i class="fa fa-times"></i></button>\n                          </span>\n                        </div>\n                      </div>\n                    </div>\n                    <button type="button" class="btn btn-sm green padding-bottom" ng-click="addField(\'Phones\')">\n                      <i class="fa fa-plus"></i> {{\'APPLICATION_ADD_PHONE\' | translate}}\n                    </button>\n                  </div>\n                  <!-- END PHONES -->\n                </div>\n              </div>\n                <div class="tab-pane" id="tab_1_2">\n                  <div class="contact-portlet">\n                    <!-- START EMAILS -->\n                      <div class="padding-bottom mbottom20">\n                      <div data-ng-if="contact.Emails.length>0">\n                        <label class="control-label">{{\'APPLICATION_EMAILS\' | translate}}</label>\n                      </div>\n                      <div class="padding-bottom" ng-repeat="email in contact.Emails">\n                        <div class="form-group">\n                          <div class="input-group">\n                            <input type="email" class="form-control" ng-model="email.email" required>\n                            <span class="input-group-btn">\n                            <button class="btn btn-danger" type="button" data-ng-click="removeField(\'Emails\',$index)"><i class="fa fa-times"></i></button>\n                            </span>\n                          </div>\n                        </div>\n                      </div>\n                      <button type="button" class="btn btn-sm green padding-bottom" ng-click="addField(\'Emails\')">\n                        <i class="fa fa-plus"></i> {{\'APPLICATION_ADD_EMAIL\' | translate}}\n                      </button>\n                    </div>\n                    <!-- END EMAILS -->\n                  </div>\n                </div>\n              </div>\n              <!--END TABS-->\n            </div>\n          </div>\n          <!-- END PORTLET -->\n        </div>\n      </div>\n      <div class="row">\n        <div class="col-md-6">\n          <!-- BEGIN PORTLET -->\n          <div class="portlet light">\n            <div class="portlet-title tabbable-line">\n              <div class="caption caption-md">\n                <i class="icon-globe theme-font hide"></i>\n                <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_LOG\' | translate}}</span>\n              </div>\n              <ul class="nav nav-tabs">\n                <li class="active">\n                  <a href="#" data-target="#tab_2_1" data-toggle="tab">{{ \'APPLICATION_JOURNAL\' | translate}}</a>\n                </li>\n                <li>\n                  <a href="#" data-target="#tab_2_2" data-toggle="tab">{{ \'APPLICATION_HISTORY\' | translate}}</a>\n                </li>\n              </ul>\n            </div>\n            <div class="portlet-body">\n              <!--BEGIN TABS-->\n              <div class="tab-content">\n                <div class="tab-pane active" id="tab_2_1">\n                  <div class="contact-portlet">\n                    <div class="actions">\n                      <div class="btn-group btn-group-devided" data-toggle="buttons">\n                        <label class="btn btn-transparent grey-salsa btn-circle btn-sm active" data-ng-click="log.journal.show=\'Phones\';getRows(\'journal\');">\n                        <input type="radio" class="toggle">{{\'APPLICATION_PHONES\' | translate}}</label>\n                        <label class="btn btn-transparent grey-salsa btn-circle btn-sm" data-ng-click="log.journal.show=\'Emails\';log.journal.detail=\'general\';getRows(\'journal\');">\n                        <input type="radio" class="toggle">{{\'APPLICATION_EMAILS\' | translate}}</label>\n                      </div> |\n                      <div class="btn-group btn-group-devided" data-toggle="buttons">\n                        <label class="btn btn-transparent grey-salsa btn-circle btn-sm active" data-ng-click="log.journal.type=\'Inbounds\';getRows(\'journal\');">\n                        <input type="radio" class="toggle">{{\'APPLICATION_INBOUND\' | translate}}</label>\n                        <label class="btn btn-transparent grey-salsa btn-circle btn-sm" data-ng-click="log.journal.type=\'Outbounds\';getRows(\'journal\');">\n                        <input type="radio" class="toggle">{{\'APPLICATION_OUTBOUND\' | translate}}</label>\n                      </div> |\n                      <div class="btn-group btn-group-devided" data-toggle="buttons" data-ng-if="log.journal.show==\'Phones\'">\n                        <label class="btn btn-transparent grey-salsa btn-circle btn-sm active" data-ng-click="log.journal.detail=\'general\';getRows(\'journal\');">\n                        <input type="radio" class="toggle">{{\'APPLICATION_GENERAL\' | translate}}</label>\n                        <label class="btn btn-transparent grey-salsa btn-circle btn-sm" data-ng-click="log.journal.detail=\'QueueCalls\';getRows(\'journal\');">\n                        <input type="radio" class="toggle">{{\'APPLICATION_QUEUES\' | translate}}</label>\n                        <label class="btn btn-transparent grey-salsa btn-circle btn-sm" data-ng-click="log.journal.detail=\'ReportAgents\';getRows(\'journal\');">\n                        <input type="radio" class="toggle">{{\'APPLICATION_AGENTS\' | translate}}</label>\n                      </div>\n                    </div>\n                    <table st-table="journal" class="table table-striped">\n                            <thead>\n                               <tr>\n                                          <th data-ng-repeat="column in columns[log.journal.show][log.journal.detail].header">{{column | translate}}</th>\n                               </tr>\n                                 </thead>\n                              <tbody>\n                               <tr data-ng-repeat="row in rows[\'journal\']">\n                                        <td data-ng-repeat="col in columns[log.journal.show][log.journal.detail].indexes">{{col == \'createdAt\' ? moment(row[col]).format(\'DD/MM/YYYY HH:mm:ss\') : row[col]}}</td>\n                                 </tr>\n                      <tr data-ng-hide="rows[\'journal\'].length">\n                        <td colspan="{{columns[log.journal.show][log.journal.detail].header.length}}" class="text-center">\n                          {{\'MESSAGE_NO_RESULTS_AVAILABLE\' | translate}}\n                        </td>\n                      </tr>\n                                 </tbody>\n                              <tfoot>\n                                       <tr>\n                                                  <td colspan="{{columns[log.journal.show][log.journal.detail].header.length}}" class="text-center">\n                                                    <div st-pagination="" st-items-by-page="itemsByPage" st-displayed-pages="7"></div>\n                                            </td>\n                                         </tr>\n                                 </tfoot>\n                      </table>\n\n                  </div>\n              </div>\n                <div class="tab-pane" id="tab_2_2">\n                  <div class="contact-portlet">\n                    <div class="actions">\n                      <div class="btn-group btn-group-devided" data-toggle="buttons">\n                        <label class="btn btn-transparent grey-salsa btn-circle btn-sm active" data-ng-click="log.history.show=\'Phones\';getRows(\'history\');">\n                        <input type="radio" class="toggle">{{\'APPLICATION_PHONES\' | translate}}</label>\n                        <label class="btn btn-transparent grey-salsa btn-circle btn-sm" data-ng-click="log.history.show=\'Emails\';log.history.detail=\'general\';getRows(\'history\');">\n                        <input type="radio" class="toggle">{{\'APPLICATION_EMAILS\' | translate}}</label>\n                      </div> |\n                      <div class="btn-group btn-group-devided" data-toggle="buttons">\n                        <label class="btn btn-transparent grey-salsa btn-circle btn-sm active" data-ng-click="log.history.type=\'HistoryInbounds\';getRows(\'history\');">\n                        <input type="radio" class="toggle">{{\'APPLICATION_INBOUND\' | translate}}</label>\n                        <label class="btn btn-transparent grey-salsa btn-circle btn-sm" data-ng-click="log.history.type=\'HistoryOutbounds\';getRows(\'history\');">\n                        <input type="radio" class="toggle">{{\'APPLICATION_OUTBOUND\' | translate}}</label>\n                      </div> |\n                      <div class="btn-group btn-group-devided" data-toggle="buttons" data-ng-if="log.history.show==\'Phones\'">\n                        <label class="btn btn-transparent grey-salsa btn-circle btn-sm active" data-ng-click="log.history.detail=\'general\';getRows(\'history\');">\n                        <input type="radio" class="toggle">{{\'APPLICATION_GENERAL\' | translate}}</label>\n                        <label class="btn btn-transparent grey-salsa btn-circle btn-sm" data-ng-click="log.history.detail=\'HistoryQueueCalls\';getRows(\'history\');">\n                        <input type="radio" class="toggle">{{\'APPLICATION_QUEUES\' | translate}}</label>\n                        <label class="btn btn-transparent grey-salsa btn-circle btn-sm" data-ng-click="log.history.detail=\'HistoryReportAgents\';getRows(\'history\');">\n                        <input type="radio" class="toggle">{{\'APPLICATION_AGENTS\' | translate}}</label>\n                      </div>\n                    </div>\n                    <table st-table="history" class="table table-striped">\n                      <thead>\n                      <tr>\n                        <th data-ng-repeat="column in columns[log.history.show][log.history.detail].header">{{column | translate}}</th>\n                      </tr>\n                      </thead>\n                      <tbody>\n                      <tr data-ng-repeat="row in rows[\'history\']">\n                        <td data-ng-repeat="col in columns[log.history.show][log.history.detail].indexes">{{col == \'createdAt\' ? moment(row[col]).format(\'DD/MM/YYYY HH:mm:ss\') : row[col]}}</td>\n                      </tr>\n                      <tr data-ng-hide="rows[\'history\'].length">\n                        <td colspan="{{columns[log.history.show][log.history.detail].header.length}}" class="text-center">\n                          {{\'MESSAGE_NO_RESULTS_AVAILABLE\' | translate}}\n                        </td>\n                      </tr>\n                      </tbody>\n                      <tfoot>\n                        <tr>\n                          <td colspan="{{columns[log.history.show][log.history.detail].header.length}}" class="text-center">\n                            <div st-pagination="" st-items-by-page="itemsByPage" st-displayed-pages="7"></div>\n                          </td>\n                        </tr>\n                      </tfoot>\n                    </table>\n\n                  </div>\n                </div>\n              </div>\n              <!--END TABS-->\n            </div>\n          </div>\n          <!-- END PORTLET -->\n        </div>\n        <div class="col-md-6">\n          <!-- BEGIN PORTLET -->\n          <div class="portlet light tasks-widget">\n            <div class="portlet-title">\n              <div class="caption caption-md">\n                <i class="icon-bar-chart theme-font hide"></i>\n                <span class="caption-subject font-blue-madison bold uppercase">Tasks</span>\n                <span class="caption-helper">16 pending</span>\n              </div>\n              <div class="inputs">\n                <div class="portlet-input input-small input-inline">\n                  <div class="input-icon right">\n                    <i class="icon-magnifier"></i>\n                    <input type="text" class="form-control form-control-solid" placeholder="search...">\n                  </div>\n                </div>\n              </div>\n            </div>\n            <div class="portlet-body">\n              <div class="task-content">\n                <div class="contact-portlet">\n                  <!-- START TASK LIST -->\n                  <ul class="task-list">\n                    <li>\n                      <div class="task-checkbox">\n                        <input type="hidden" value="1" name="test"/>\n                        <input type="checkbox" class="liChild" value="2" name="test"/>\n                      </div>\n                      <div class="task-title">\n                        <span class="task-title-sp">\n                        Present 2013 Year IPO Statistics at Board Meeting </span>\n                        <span class="label label-sm label-success">Company</span>\n                        <span class="task-bell">\n                        <i class="fa fa-bell-o"></i>\n                        </span>\n                      </div>\n                      <div class="task-config">\n                        <div class="task-config-btn btn-group">\n                          <a class="btn btn-xs default" href="#" data-toggle="dropdown" data-hover="dropdown" data-close-others="true">\n                          <i class="fa fa-cog"></i><i class="fa fa-angle-down"></i>\n                          </a>\n                          <ul class="dropdown-menu pull-right">\n                            <li>\n                              <a href="#">\n                              <i class="fa fa-check"></i> Complete </a>\n                            </li>\n                            <li>\n                              <a href="#">\n                              <i class="fa fa-pencil"></i> Edit </a>\n                            </li>\n                            <li>\n                              <a href="#">\n                              <i class="fa fa-trash-o"></i> Cancel </a>\n                            </li>\n                          </ul>\n                        </div>\n                      </div>\n                    </li>\n                    <li>\n                      <div class="task-checkbox">\n                        <input type="checkbox" class="liChild" value=""/>\n                      </div>\n                      <div class="task-title">\n                        <span class="task-title-sp">\n                        Hold An Interview for Marketing Manager Position </span>\n                        <span class="label label-sm label-danger">Marketing</span>\n                      </div>\n                      <div class="task-config">\n                        <div class="task-config-btn btn-group">\n                          <a class="btn btn-xs default" href="#" data-toggle="dropdown" data-hover="dropdown" data-close-others="true">\n                          <i class="fa fa-cog"></i><i class="fa fa-angle-down"></i>\n                          </a>\n                          <ul class="dropdown-menu pull-right">\n                            <li>\n                              <a href="#">\n                              <i class="fa fa-check"></i> Complete </a>\n                            </li>\n                            <li>\n                              <a href="#">\n                              <i class="fa fa-pencil"></i> Edit </a>\n                            </li>\n                            <li>\n                              <a href="#">\n                              <i class="fa fa-trash-o"></i> Cancel </a>\n                            </li>\n                          </ul>\n                        </div>\n                      </div>\n                    </li>\n                    <li>\n                      <div class="task-checkbox">\n                        <input type="checkbox" class="liChild" value=""/>\n                      </div>\n                      <div class="task-title">\n                        <span class="task-title-sp">\n                        AirAsia Intranet System Project Internal Meeting </span>\n                        <span class="label label-sm label-success">AirAsia</span>\n                        <span class="task-bell">\n                        <i class="fa fa-bell-o"></i>\n                        </span>\n                      </div>\n                      <div class="task-config">\n                        <div class="task-config-btn btn-group">\n                          <a class="btn btn-xs default" href="#" data-toggle="dropdown" data-hover="dropdown" data-close-others="true">\n                          <i class="fa fa-cog"></i><i class="fa fa-angle-down"></i>\n                          </a>\n                          <ul class="dropdown-menu pull-right">\n                            <li>\n                              <a href="#">\n                              <i class="fa fa-check"></i> Complete </a>\n                            </li>\n                            <li>\n                              <a href="#">\n                              <i class="fa fa-pencil"></i> Edit </a>\n                            </li>\n                            <li>\n                              <a href="#">\n                              <i class="fa fa-trash-o"></i> Cancel </a>\n                            </li>\n                          </ul>\n                        </div>\n                      </div>\n                    </li>\n                    <li>\n                      <div class="task-checkbox">\n                        <input type="checkbox" class="liChild" value=""/>\n                      </div>\n                      <div class="task-title">\n                        <span class="task-title-sp">\n                        Technical Management Meeting </span>\n                        <span class="label label-sm label-warning">Company</span>\n                      </div>\n                      <div class="task-config">\n                        <div class="task-config-btn btn-group">\n                          <a class="btn btn-xs default" href="#" data-toggle="dropdown" data-hover="dropdown" data-close-others="true">\n                          <i class="fa fa-cog"></i><i class="fa fa-angle-down"></i>\n                          </a>\n                          <ul class="dropdown-menu pull-right">\n                            <li>\n                              <a href="#">\n                              <i class="fa fa-check"></i> Complete </a>\n                            </li>\n                            <li>\n                              <a href="#">\n                              <i class="fa fa-pencil"></i> Edit </a>\n                            </li>\n                            <li>\n                              <a href="#">\n                              <i class="fa fa-trash-o"></i> Cancel </a>\n                            </li>\n                          </ul>\n                        </div>\n                      </div>\n                    </li>\n                    <li>\n                      <div class="task-checkbox">\n                        <input type="checkbox" class="liChild" value=""/>\n                      </div>\n                      <div class="task-title">\n                        <span class="task-title-sp">\n                        Kick-off Company CRM Mobile App Development </span>\n                        <span class="label label-sm label-info">Internal Products</span>\n                      </div>\n                      <div class="task-config">\n                        <div class="task-config-btn btn-group">\n                          <a class="btn btn-xs default" href="#" data-toggle="dropdown" data-hover="dropdown" data-close-others="true">\n                          <i class="fa fa-cog"></i><i class="fa fa-angle-down"></i>\n                          </a>\n                          <ul class="dropdown-menu pull-right">\n                            <li>\n                              <a href="#">\n                              <i class="fa fa-check"></i> Complete </a>\n                            </li>\n                            <li>\n                              <a href="#">\n                              <i class="fa fa-pencil"></i> Edit </a>\n                            </li>\n                            <li>\n                              <a href="#">\n                              <i class="fa fa-trash-o"></i> Cancel </a>\n                            </li>\n                          </ul>\n                        </div>\n                      </div>\n                    </li>\n                    <li>\n                      <div class="task-checkbox">\n                        <input type="checkbox" class="liChild" value=""/>\n                      </div>\n                      <div class="task-title">\n                        <span class="task-title-sp">\n                        Prepare Commercial Offer For SmartVision Website Rewamp </span>\n                        <span class="label label-sm label-danger">SmartVision</span>\n                      </div>\n                      <div class="task-config">\n                        <div class="task-config-btn btn-group">\n                          <a class="btn btn-xs default" href="#" data-toggle="dropdown" data-hover="dropdown" data-close-others="true">\n                          <i class="fa fa-cog"></i><i class="fa fa-angle-down"></i>\n                          </a>\n                          <ul class="dropdown-menu pull-right">\n                            <li>\n                              <a href="#">\n                              <i class="fa fa-check"></i> Complete </a>\n                            </li>\n                            <li>\n                              <a href="#">\n                              <i class="fa fa-pencil"></i> Edit </a>\n                            </li>\n                            <li>\n                              <a href="#">\n                              <i class="fa fa-trash-o"></i> Cancel </a>\n                            </li>\n                          </ul>\n                        </div>\n                      </div>\n                    </li>\n                    <li>\n                      <div class="task-checkbox">\n                        <input type="checkbox" class="liChild" value=""/>\n                      </div>\n                      <div class="task-title">\n                        <span class="task-title-sp">\n                        Sign-Off The Comercial Agreement With AutoSmart </span>\n                        <span class="label label-sm label-default">AutoSmart</span>\n                        <span class="task-bell">\n                        <i class="fa fa-bell-o"></i>\n                        </span>\n                      </div>\n                      <div class="task-config">\n                        <div class="task-config-btn btn-group">\n                          <a class="btn btn-xs default" href="#" data-toggle="dropdown" data-hover="dropdown" data-close-others="true">\n                          <i class="fa fa-cog"></i><i class="fa fa-angle-down"></i>\n                          </a>\n                          <ul class="dropdown-menu pull-right">\n                            <li>\n                              <a href="#">\n                              <i class="fa fa-check"></i> Complete </a>\n                            </li>\n                            <li>\n                              <a href="#">\n                              <i class="fa fa-pencil"></i> Edit </a>\n                            </li>\n                            <li>\n                              <a href="#">\n                              <i class="fa fa-trash-o"></i> Cancel </a>\n                            </li>\n                          </ul>\n                        </div>\n                      </div>\n                    </li>\n                    <li>\n                      <div class="task-checkbox">\n                        <input type="checkbox" class="liChild" value=""/>\n                      </div>\n                      <div class="task-title">\n                        <span class="task-title-sp">\n                        Company Staff Meeting </span>\n                        <span class="label label-sm label-success">Cruise</span>\n                        <span class="task-bell">\n                        <i class="fa fa-bell-o"></i>\n                        </span>\n                      </div>\n                      <div class="task-config">\n                        <div class="task-config-btn btn-group">\n                          <a class="btn btn-xs default" href="#" data-toggle="dropdown" data-hover="dropdown" data-close-others="true">\n                          <i class="fa fa-cog"></i><i class="fa fa-angle-down"></i>\n                          </a>\n                          <ul class="dropdown-menu pull-right">\n                            <li>\n                              <a href="#">\n                              <i class="fa fa-check"></i> Complete </a>\n                            </li>\n                            <li>\n                              <a href="#">\n                              <i class="fa fa-pencil"></i> Edit </a>\n                            </li>\n                            <li>\n                              <a href="#">\n                              <i class="fa fa-trash-o"></i> Cancel </a>\n                            </li>\n                          </ul>\n                        </div>\n                      </div>\n                    </li>\n                    <li class="last-line">\n                      <div class="task-checkbox">\n                        <input type="checkbox" class="liChild" value=""/>\n                      </div>\n                      <div class="task-title">\n                        <span class="task-title-sp">\n                        KeenThemes Investment Discussion </span>\n                        <span class="label label-sm label-warning">KeenThemes </span>\n                      </div>\n                      <div class="task-config">\n                        <div class="task-config-btn btn-group">\n                          <a class="btn btn-xs default" href="#" data-toggle="dropdown" data-hover="dropdown" data-close-others="true">\n                          <i class="fa fa-cog"></i><i class="fa fa-angle-down"></i>\n                          </a>\n                          <ul class="dropdown-menu pull-right">\n                            <li>\n                              <a href="#">\n                              <i class="fa fa-check"></i> Complete </a>\n                            </li>\n                            <li>\n                              <a href="#">\n                              <i class="fa fa-pencil"></i> Edit </a>\n                            </li>\n                            <li>\n                              <a href="#">\n                              <i class="fa fa-trash-o"></i> Cancel </a>\n                            </li>\n                          </ul>\n                        </div>\n                      </div>\n                    </li>\n                  </ul>\n                  <!-- END START TASK LIST -->\n                </div>\n              </div>\n            </div>\n          </div>\n          <!-- END PORTLET -->\n        </div>\n      </div>\n    </div>\n    <!-- END PROFILE CONTENT -->\n  </form>\n  </div>\n</div>\n'),
 a.put("app/main/template.newContactTab.html",'<div class="portlet light bordered">\n  <div class="portlet-title">\n    <div class="caption font-green-sharp">\n      <i class="icon-envelope-letter font-green-sharp"></i>\n      <span class="caption-subject">{{ \'APPLICATION_NEW_CONTACT\' | translate }}</a> </span>\n    </div>\n  </div>\n  <div class="portlet-body">\n    <!-- <pre>\n      {{forms.general | json}}\n    </pre> -->\n    <!-- <pre>\n      {{item | json}}\n    </pre>\n    <pre>\n      {{index}}\n    </pre> -->\n        <form name="forms.general" data-ng-submit="submit({index: index,item: item})" novalidate>\n          <!-- <pre>\n            {{checkboxes | json}}\n          </pre>\n          <pre>\n            {{item | json}}\n          </pre> -->\n          <!-- BEGIN PORTLET -->\n          <div class="portlet light">\n            <div class="portlet-title">\n              <div class="caption caption-md">\n                <i class="icon-bar-chart theme-font hide"></i>\n                <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_DETAILS\' | translate}}</span>\n              </div>\n              <div class="inputs">\n                <div class="portlet-input input-inline input-small ">\n                </div>\n              </div>\n            </div>\n            <div class="portlet-body">\n          <div class="row">\n            <div class="col-md-6">\n          <!-- START FULLNAME -->\n          <div class="form-group" data-ng-class="{\'has-error\': (forms.general.fullname.$touched || forms.general.$submitted) && forms.general.fullname.$invalid}">\n            <label class="control-label">{{\'APPLICATION_FULLNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n            <!-- <div class="input-group" data-ng-if="joinPrompt">\n              <input type="text" name="fullname" placeholder="{{\'APPLICATION_FULLNAME\' | translate}}" class="form-control" data-ng-model="item.fullname" data-ng-disabled="checkboxes.fullname ? !checkboxes.fullname : true" required/>\n              <span class="input-group-addon">\n              <input type="checkbox" data-ng-model="checkboxes.fullname">\n              </span>\n            </div> -->\n            <input data-ng-if="!joinPrompt" type="text" name="fullname" placeholder="{{\'APPLICATION_FULLNAME\' | translate}}" class="form-control" data-ng-model="item.fullname" required/>\n            <span data-ng-show="(forms.general.fullname.$touched || forms.general.$submitted) && forms.general.fullname.$error.required" class="help-block help-block-error">\n              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n            </span>\n          </div>\n          <!-- END FULLNAME -->\n\n          <!-- START COMPANY -->\n          <div class="form-group" data-ng-class="{\'has-error\': forms.general.CompanyId.$invalid && forms.general.$submitted}">\n            <label class="control-label">{{\'APPLICATION_COMPANY\' | translate}}</label>\n            <!-- <div class="input-group" data-ng-if="joinPrompt">\n              <ui-select data-ng-model="item.CompanyId" theme="bootstrap" name="CompanyId" data-ng-disabled="checkboxes.CompanyId ? !checkboxes.CompanyId : true">\n                <ui-select-match allow-clear placeholder="{{ \'APPLICATION_COMPANY\' | translate }}">{{$select.selected.name}}</ui-select-match>\n                <ui-select-choices repeat="company.id as company in companies | filter: $select.search">\n                  <div ng-bind-html="company.name | highlight: $select.search"></div>\n                </ui-select-choices>\n              </ui-select>\n              <span class="input-group-addon">\n              <input type="checkbox" data-ng-model="checkboxes.CompanyId">\n              </span>\n            </div> -->\n            <ui-select data-ng-if="!joinPrompt" data-ng-model="item.CompanyId" theme="bootstrap" name="CompanyId" data-ng-disabled="disabled">\n              <ui-select-match allow-clear placeholder="{{ \'APPLICATION_COMPANY\' | translate }}">{{$select.selected.name}}</ui-select-match>\n              <ui-select-choices repeat="company.id as company in companies | filter: $select.search">\n                <div ng-bind-html="company.name | highlight: $select.search"></div>\n              </ui-select-choices>\n            </ui-select>\n            <span data-ng-show="forms.general.CompanyId.$invalid && forms.general.$submitted" class="help-block help-block-error">\n              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n            </span>\n          </div>\n          <!-- END COMPANY -->\n\n          <!-- START STREET -->\n          <div class="form-group" data-ng-class="{\'has-error\': (forms.general.street.$touched || forms.general.$submitted) && forms.general.street.$invalid}">\n            <label class="control-label">{{\'APPLICATION_STREET\' | translate}}</label>\n            <!-- <div class="input-group" data-ng-if="joinPrompt">\n              <input type="text" name="street" placeholder="{{\'APPLICATION_STREET\' | translate}}" class="form-control" data-ng-model="item.street" data-ng-disabled="checkboxes.street ? !checkboxes.street : true"/>\n              <span class="input-group-addon">\n              <input type="checkbox" data-ng-model="checkboxes.street">\n              </span>\n            </div> -->\n            <input data-ng-if="!joinPrompt" type="text" name="street" placeholder="{{\'APPLICATION_STREET\' | translate}}" class="form-control" data-ng-model="item.street"/>\n            <span data-ng-show="(forms.general.street.$touched || forms.general.$submitted) && forms.general.street.$error.required" class="help-block help-block-error">\n              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n            </span>\n          </div>\n          <!-- END STREET -->\n\n          <!-- START POSTALCODE -->\n          <div class="form-group" data-ng-class="{\'has-error\': (forms.general.postalCode.$touched || forms.general.$submitted) && forms.general.postalCode.$invalid}">\n            <label class="control-label">{{\'APPLICATION_POSTALCODE\' | translate}}</label>\n            <!-- <div class="input-group" data-ng-if="joinPrompt">\n              <input type="text" name="postalCode" placeholder="{{\'APPLICATION_POSTALCODE\' | translate}}" class="form-control" data-ng-model="item.postalCode" data-ng-disabled="checkboxes.postalCode ? !checkboxes.postalCode : true"/>\n              <span class="input-group-addon">\n              <input type="checkbox" data-ng-model="checkboxes.postalCode">\n              </span>\n            </div> -->\n            <input data-ng-if="!joinPrompt" type="text" name="postalCode" placeholder="{{\'APPLICATION_POSTALCODE\' | translate}}" class="form-control" data-ng-model="item.postalCode"/>\n            <span data-ng-show="(forms.general.postalCode.$touched || forms.general.$submitted) && forms.general.postalCode.$error.required" class="help-block help-block-error">\n              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n            </span>\n          </div>\n          <!-- END POSTALCODE -->\n\n          <!-- START CITY -->\n          <div class="form-group" data-ng-class="{\'has-error\': (forms.general.city.$touched || forms.general.$submitted) && forms.general.city.$invalid}">\n            <label class="control-label">{{\'APPLICATION_CITY\' | translate}}</label>\n            <!-- <div class="input-group" data-ng-if="joinPrompt">\n              <input type="text" name="city" placeholder="{{\'APPLICATION_CITY\' | translate}}" class="form-control" data-ng-model="item.city" data-ng-disabled="checkboxes.city ? !checkboxes.city : true"/>\n              <span class="input-group-addon">\n              <input type="checkbox" data-ng-model="checkboxes.city">\n              </span>\n            </div> -->\n            <input data-ng-if="!joinPrompt" type="text" name="city" placeholder="{{\'APPLICATION_CITY\' | translate}}" class="form-control" data-ng-model="item.city"/>\n            <span data-ng-show="(forms.general.city.$touched || forms.general.$submitted) && forms.general.city.$error.required" class="help-block help-block-error">\n              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n            </span>\n          </div>\n          <!-- END CITY -->\n        </div>\n        <div class="col-md-6">\n          <!-- START COUNTRY -->\n          <div class="form-group" data-ng-class="{\'has-error\': (forms.general.country.$touched || forms.general.$submitted) && forms.general.country.$invalid}">\n            <label class="control-label">{{\'APPLICATION_COUNTRY\' | translate}}</label>\n            <!-- <div class="input-group" data-ng-if="joinPrompt">\n              <input type="text" name="country" placeholder="{{\'APPLICATION_COUNTRY\' | translate}}" class="form-control" data-ng-model="item.country" data-ng-disabled="checkboxes.country ? !checkboxes.country : true"/>\n              <span class="input-group-addon">\n              <input type="checkbox" data-ng-model="checkboxes.country">\n              </span>\n            </div> -->\n            <input data-ng-if="!joinPrompt" type="text" name="country" placeholder="{{\'APPLICATION_COUNTRY\' | translate}}" class="form-control" data-ng-model="item.country"/>\n            <span data-ng-show="(forms.general.country.$touched || forms.general.$submitted) && forms.general.country.$error.required" class="help-block help-block-error">\n              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n            </span>\n          </div>\n          <!-- END COUNTRY -->\n\n          <!-- START DATEOFBIRTH -->\n          <div class="form-group" data-ng-class="{\'has-error\': (forms.general.dateOfBirth.$touched || forms.general.$submitted) && forms.general.dateOfBirth.$invalid}">\n            <label class="control-label">{{\'APPLICATION_DATEOFBIRTH\' | translate}}</label>\n            <!-- <div class="input-group" data-ng-if="joinPrompt">\n              <input type="date" name="dateOfBirth" placeholder="{{\'APPLICATION_DATEOFBIRTH\' | translate}}" class="form-control" data-ng-model="item.dateOfBirth" data-ng-disabled="checkboxes.dateOfBirth ? !checkboxes.dateOfBirth : true"/>\n              <span class="input-group-addon">\n              <input type="checkbox" data-ng-model="checkboxes.dateOfBirth">\n              </span>\n            </div> -->\n            <input data-ng-if="!joinPrompt" type="date" name="dateOfBirth" placeholder="{{\'APPLICATION_DATEOFBIRTH\' | translate}}" class="form-control" data-ng-model="item.dateOfBirth"/>\n            <span data-ng-show="(forms.general.dateOfBirth.$touched || forms.general.$submitted) && forms.general.dateOfBirth.$error.required" class="help-block help-block-error">\n              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n            </span>\n          </div>\n          <!-- END DATEOFBIRTH -->\n\n          <!-- START TAGS -->\n          <div class="form-group" data-ng-class="{\'has-error\': forms.general.tags.$invalid && forms.general.$submitted}">\n            <label class="control-label">{{\'APPLICATION_TAGS\' | translate}}</label>\n            <!-- <div class="input-group" data-ng-if="joinPrompt">\n              <ui-select tagging tagging-label="" multiple=\'true\' data-ng-model="item.tags" theme="bootstrap" name="tags" data-ng-readonly="checkboxes.tags ? !checkboxes.tags : true">\n                <ui-select-match placeholder="{{ \'APPLICATION_TAGS\' | translate }}">{{$item}}</ui-select-match>\n                <ui-select-choices repeat="tag in tags | filter: $select.search">\n                  {{tag}}\n                </ui-select-choices>\n              </ui-select>\n              <span class="input-group-addon">\n              <input type="checkbox" data-ng-model="checkboxes.tags">\n              </span>\n            </div> -->\n            <ui-select data-ng-if="!joinPrompt" tagging tagging-label="" multiple=\'true\' data-ng-model="item.tags" theme="bootstrap" name="tags" ng-disabled="disabled">\n              <ui-select-match placeholder="{{ \'APPLICATION_TAGS\' | translate }}">{{$item}}</ui-select-match>\n              <ui-select-choices repeat="tag in tags | filter: $select.search">\n                {{tag}}\n              </ui-select-choices>\n            </ui-select>\n            <span data-ng-show="forms.general.tags.$invalid && forms.general.$submitted" class="help-block help-block-error">\n              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n            </span>\n          </div>\n          <!-- END TAGS -->\n\n          <!-- START DESCRIPTION -->\n          <div class="form-group">\n            <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n            <!-- <div class="input-group" data-ng-if="joinPrompt">\n              <textarea style="resize: vertical;" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description" data-ng-disabled="checkboxes.description ? !checkboxes.description : true"></textarea>\n              <span class="input-group-addon">\n              <input type="checkbox" data-ng-model="checkboxes.description">\n              </span>\n            </div> -->\n            <textarea data-ng-if="!joinPrompt" style="resize: vertical;" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"></textarea>\n          </div>\n          <!-- END DESCRIPTION -->\n        </div>\n      </div>\n    </div>\n  </div>\n  <!-- END PORTLET -->\n  <!-- START PORTLET -->\n  <div class="portlet light">\n    <div class="portlet-title">\n      <div class="caption caption-md">\n        <i class="icon-bar-chart theme-font hide"></i>\n        <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_CUSTOM_FIELDS\' | translate}}</span>\n      </div>\n      <div class="inputs">\n        <div class="portlet-input input-inline input-small ">\n        </div>\n      </div>\n    </div>\n    <div class="portlet-body">\n      <div data-ng-repeat="customField in customFields">\n        <div data-ng-if="customField.type==\'text\'" class="form-group" data-ng-class="{\'has-error\': (forms.general[customField.name].$touched || forms.general.$submitted) && forms.general[customField.name].$invalid}">\n          <label class="control-label">{{customField.name}}</label>\n          <input data-ng-if="!joinPrompt" type="text" name="{{customField.name}}" placeholder="{{customField.name}}" class="form-control" data-ng-model="item.customFields[customField.id]"/>\n          <span data-ng-show="(forms.general[customField.name].$touched || forms.general.$submitted) && forms.general[customField.name].$error.required" class="help-block help-block-error">\n            <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n          </span>\n        </div>\n        <div data-ng-if="customField.type==\'select\'" class="form-group" data-ng-class="{\'has-error\': forms.general[customField.name].$invalid && forms.general.$submitted}">\n          <label class="control-label">{{customField.name}}</label>\n          <ui-select data-ng-if="!joinPrompt" data-ng-model="item.customFields[customField.id]" theme="bootstrap" name="{{customField.name}}" data-ng-disabled="disabled">\n            <ui-select-match allow-clear placeholder="{{customField.name}}">{{$select.selected.value}}</ui-select-match>\n            <ui-select-choices repeat="choice.value as choice in customField.values | filter: $select.search">\n              <div ng-bind-html="choice.value | highlight: $select.search"></div>\n            </ui-select-choices>\n          </ui-select>\n          <span data-ng-show="forms.general[customField.name].$invalid && forms.general.$submitted" class="help-block help-block-error">\n            <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n          </span>\n        </div>\n      </div>\n    </div>\n  </div>\n  <!-- END PORTLET -->\n  <div class="row">\n    <div class="col-md-6">\n  <!-- START PORTLET -->\n  <div class="portlet light">\n    <div class="portlet-title">\n      <div class="caption caption-md">\n        <i class="icon-bar-chart theme-font hide"></i>\n        <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_PHONES\' | translate}}</span>\n      </div>\n      <div class="inputs">\n        <div class="portlet-input input-inline input-small ">\n        </div>\n      </div>\n    </div>\n    <div class="portlet-body">\n          <!-- START PHONES -->\n          <div class="">\n          <div data-ng-if="item.Phones.length>0">\n            <!-- <label class="control-label">{{\'APPLICATION_PHONES\' | translate}}</label> -->\n          </div>\n          <div class="padding-bottom" ng-repeat="phone in item.Phones">\n            <div class="form-group">\n              <div class="input-group">\n                <input type="text" class="form-control" ng-model="phone.phone" required>\n                <span class="input-group-btn">\n                <button class="btn red" type="button"data-ng-click="removeField(\'Phones\',$index)"><i class="fa fa-times"></i></button>\n                </span>\n              </div>\n            </div>\n          </div>\n          <button type="button" class="btn btn-sm green padding-bottom" ng-click="addField(\'Phones\')">\n            <i class="fa fa-plus"></i> {{\'APPLICATION_ADD_PHONE\' | translate}}\n          </button>\n        </div>\n        <!-- END PHONES -->\n      </div>\n    </div>\n    <!-- END PORTLET -->\n  </div>\n  <div class="col-md-6">\n    <!-- START PORTLET -->\n    <div class="portlet light">\n      <div class="portlet-title">\n        <div class="caption caption-md">\n          <i class="icon-bar-chart theme-font hide"></i>\n          <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_EMAILS\' | translate}}</span>\n        </div>\n        <div class="inputs">\n          <div class="portlet-input input-inline input-small ">\n          </div>\n        </div>\n      </div>\n      <div class="portlet-body">\n        <!-- START EMAILS -->\n          <div class="">\n          <div data-ng-if="item.Emails.length>0">\n            <!-- <label class="control-label">{{\'APPLICATION_EMAILS\' | translate}}</label> -->\n          </div>\n          <div class="padding-bottom" ng-repeat="email in item.Emails">\n            <div class="form-group">\n              <div class="input-group">\n                <input type="email" class="form-control" ng-model="email.email" required>\n                <span class="input-group-btn">\n                <button class="btn btn-danger" type="button" data-ng-click="removeField(\'Emails\',$index)"><i class="fa fa-times"></i></button>\n                </span>\n              </div>\n            </div>\n          </div>\n          <button type="button" class="btn btn-sm green padding-bottom" ng-click="addField(\'Emails\')">\n            <i class="fa fa-plus"></i> {{\'APPLICATION_ADD_EMAIL\' | translate}}\n          </button>\n        </div>\n        <!-- END EMAILS -->\n      </div>\n    </div>\n    <!-- END PORTLET -->\n  </div>\n</div>\n    <!-- START PORTLET -->\n    <div class="portlet light">\n      <div class="portlet-title">\n        <div class="caption caption-md">\n          <i class="icon-bar-chart theme-font hide"></i>\n          <!-- <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_PHONES\' | translate}}</span> -->\n        </div>\n        <div class="inputs">\n          <div class="portlet-input input-inline input-small ">\n          </div>\n        </div>\n      </div>\n      <div class="portlet-body">\n          <div class="mbottom20">\n          <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONFIRM\' | translate}}" data-ng-disabled="!item.fullname"/>\n        </div>\n        <!-- <div data-ng-if="joinPrompt">\n          <p>{{\'APPLICATION_OR\' | translate}}</p>\n          <input class="btn green-haze mbottom20" type="button" value="{{\'APPLICATION_JOIN_WITH\' | translate}}" data-ng-disabled="!item.id" data-ng-click="joinContact(index)"/>\n\n          <div class="form-group" data-ng-class="{\'has-error\': forms.general.id.$invalid && forms.general.$submitted}">\n            <ui-select  data-ng-model="item.id" theme="bootstrap" name="id" data-ng-disabled="disabled">\n              <ui-select-match placeholder="{{ \'APPLICATION_EXISTING_CONTACT\' | translate }}">{{$select.selected.fullname}}</ui-select-match>\n              <ui-select-choices repeat="contact.id as contact in contacts | filter: $select.search">\n                <div ng-bind-html="contact.fullname | highlight: $select.search"></div>\n              </ui-select-choices>\n            </ui-select>\n            <span data-ng-show="forms.general.id.$invalid && forms.general.$submitted" class="help-block help-block-error">\n'+"              <strong>{{'APPLICATION_WARNING' | translate}}!</strong> {{'MESSAGE_REQUIRED_FIELD' | translate}}.\n            </span>\n          </div>\n\n        </div> -->\n      </div>\n    </div>\n    <!-- END PORTLET -->\n\n        </form>\n  </div>\n</div>\n<pre>\n  {{item | json}}\n</pre>\n"),a.put("app/main/template.queryBuilderView.html",'\n         <div class="alert alert-warning alert-group">\n                         <div class="row">\n                                             <ui-select data-ng-model="group.boolean" theme="bootstrap" class="col-md-2" data-ng-if="group.type == \'CONDITION\'">\n                                                 <ui-select-match placeholder="">{{$select.selected.name | translate}}</ui-select-match>\n                                                       <ui-select-choices repeat="bool.name as bool in booleans| filter: $select.search">\n                                                            <div ng-bind-html="bool.name | highlight: $select.search"></div>\n                                                      </ui-select-choices>\n                                          </ui-select>\n                                          <button ng-click="addCondition(group.type)" class="btn btn-success col-md-2 left-margin" ><span class="glyphicon glyphicon-plus-sign" ></span> {{\'APPLICATION_ADD_\'+group.type | translate}}</button>\n                                               <button ng-click="addGroup(group.type)" data-ng-if="group.type == \'CONDITION\' && group.main" class="btn btn-success col-md-2 left-margin" ><span class="glyphicon glyphicon-plus-sign" ></span> {{\'APPLICATION_ADD_GROUP\' | translate}}</button>\n                                          <button ng-click="removeGroup()" data-ng-if="group.type == \'CONDITION\' && !group.main" class="btn btn-danger col-md-2 left-margin" ><span class="glyphicon glyphicon-minus-sign"></span> {{\'APPLICATION_REMOVE_GROUP\' | translate}}</button>\n                              </div>\n                                <div class="group-conditions">\n                                        <!-- <pre>\n                                            {{group | json}}\n                                      </pre> -->\n                                            <div ng-repeat="rule in group.rules | orderBy:\'index\'" class="condition" data-ng-init="initChoices(rule,rule.field.subField.api,rule.data,$index,0,\'data2\');initChoices(rule,rule.field.subField.subField.api,rule.data,$index,1,\'data3\',rule.data2);">\n                                                         <div ng-switch="rule.hasOwnProperty(\'group\')">\n                                                                              <div ng-switch-when="true">\n                                                                                           <query-builder group="rule.group" fields="fields" operators="operators" properties="properties"></query-builder>\n                                                                              </div>\n                                                                                <div ng-switch-default="ng-switch-default">\n                                                                                           <div class="row">\n\n                                                                                                                   <ui-select data-ng-model="rule.field" theme="bootstrap" class="col-md-2" data-ng-change="clearData(rule,[\'operator\',\'data\',\'data2\',\'data3\']);">\n                                                                                                                               <ui-select-match placeholder="">{{$select.selected.name | translate}}</ui-select-match>\n                                                                                                                               <ui-select-choices repeat="field in fields | filter: $select.search">\n                                                                                                                                 <div ng-bind-html="field.name | translate | highlight: $select.search"></div>\n                                                                                                                         </ui-select-choices>\n                                                                                                                  </ui-select>\n\n                                                                                                                        <ui-select data-ng-model="rule.operator" theme="bootstrap" class="col-md-2 left-margin" data-ng-if="group.type == \'CONDITION\' && rule.field">\n                                                                                                                               <ui-select-match placeholder="">{{$select.selected.name | translate}}</ui-select-match>\n                                                                                                                               <ui-select-choices repeat="operator.value as operator in operators[rule.field.operators]| filter: $select.search">\n                                                                                                                                    <div ng-bind-html="operator.name | translate | highlight: $select.search"></div>\n                                                                                                                              </ui-select-choices>\n                                                                                                                  </ui-select>\n\n                                                                                                                        <div class="col-md-2 left-margin" ng-if="rule.field && rule.field.propertyField==\'input\'">\n                                                                                                                          <input type="text" ng-model="rule.data" class="form-control"/>\n                                                                                                                        </div>\n                                                                                                                        <div class="col-md-2 left-margin" ng-if="rule.field && rule.field.propertyField==\'number\'">\n                                                                                                                         <input type="number" ng-model="rule.data" class="form-control"/>\n                                                                                                                      </div>\n                                                                                                                        <ui-select ng-if="rule.field && rule.field.propertyField==\'select\'" data-ng-model="rule.data" class="col-md-2 left-margin" theme="bootstrap" data-ng-change="clearData(rule,[\'data2\',\'data3\']);getResults(rule.field.subField.api,rule.data,$index,0)">\n                                                                                                                         <ui-select-match placeholder="">{{$select.selected.name | translate}}</ui-select-match>\n                                                                                                                               <ui-select-choices repeat="property.value as property in properties[rule.field.value]| filter: $select.search">\n                                                                                                                                       <div ng-bind-html="property.name | translate | highlight: $select.search"></div>\n                                                                                                                              </ui-select-choices>\n                                                                                                                  </ui-select>\n\n                                                                                                                        <div class="col-md-2 left-margin" ng-if="rule.data && rule.field && rule.field.subField && rule.field.subField.propertyField==\'input\'">\n                                                                                                                             <input type="text" ng-model="rule.data2" class="form-control"/>\n                                                                                                                       </div>\n                                                                                                                        <div class="col-md-2 left-margin" ng-if=" rule.data && rule.field && rule.field.subField && rule.field.subField.propertyField==\'number\'">\n                                                                                                                           <input type="number" ng-model="rule.data2" class="form-control"/>\n                                                                                                                     </div>\n                                                                                                                        <ui-select ng-if="rule.data && rule.field && rule.field.subField && rule.field.subField.propertyField==\'select\'" data-ng-model="rule.data2" class="col-md-2 left-margin" theme="bootstrap" data-ng-change="clearData(rule,[\'data3\']);getResults(rule.field.subField.subField.api,rule.data,$index,1,rule.data2)">\n                                                                                                                         <ui-select-match placeholder="">{{$select.selected.name | translate}}</ui-select-match>\n                                                                                                                               <ui-select-choices repeat="property.value as property in (rule.field.subField.api ? choices[$index][0] : properties[rule.field.subField.value])| filter: $select.search">\n                                                                                                                                     <div ng-bind-html="property.name | translate | highlight: $select.search"></div>\n                                                                                                                              </ui-select-choices>\n                                                                                                                  </ui-select>\n\n                                                                                                                        <div class="col-md-2 left-margin" ng-if="rule.data && rule.data2 && rule.field && rule.field.subField && rule.field.subField.subField && rule.field.subField.subField.propertyField==\'input\'">\n                                                                                                                              <input type="text" ng-model="rule.data3" class="form-control"/>\n                                                                                                                       </div>\n                                                                                                                        <div class="col-md-2 left-margin" ng-if="rule.data && rule.data2 && rule.field && rule.field.subField && rule.field.subField.subField && rule.field.subField.subField.propertyField==\'number\'">\n                                                                                                                             <input type="number" ng-model="rule.data3" class="form-control"/>\n                                                                                                                     </div>\n                                                                                                                        <ui-select ng-if="rule.data && rule.data2 && rule.field && rule.field.subField && rule.field.subField.subField && rule.field.subField.subField.propertyField==\'select\'" data-ng-model="rule.data3" class="col-md-2 left-margin" theme="bootstrap">\n                                                                                                                          <ui-select-match placeholder="">{{$select.selected.name | translate}}</ui-select-match>\n                                                                                                                               <ui-select-choices repeat="property.value as property in (rule.field.subField.subField.api ? choices[$index][1] : properties[rule.field.subField.subField.value])| filter: $select.search">\n                                                                                                                                   <div ng-bind-html="property.name | translate | highlight: $select.search"></div>\n                                                                                                                              </ui-select-choices>\n                                                                                                                  </ui-select>\n\n                                                                                                                        <button ng-click="removeCondition($index)" class="btn btn-danger remove-condition col-md-1 left-margin"><span class="glyphicon glyphicon-minus-sign"></span></button>\n                                                                                         </div>\n                                                                                </div>\n                                                                </div>\n                                                </div>\n                                </div>\n                </div>\n'),a.put("app/main/template.reportBuilderView.html",'<div class="alert alert-warning alert-group">\n        <div class="form-inline" data-ng-class="{\'has-error\': forms.report.$submitted && !group.rules.length}">\n            <select ng-options="o.name as o.name for o in operators" ng-model="group.operator" class="form-control input-sm"></select>\n            <button style="margin-left: 5px" type="button" ng-click="addCondition()" class="btn btn-sm btn-success"><span class="glyphicon glyphicon-plus-sign"></span> {{\'APPLICATION_ADD_CONDITION\' | translate}}</button>\n            <button style="margin-left: 5px" type="button" ng-click="addGroup()" class="btn btn-sm btn-success"><span class="glyphicon glyphicon-plus-sign"></span> {{\'APPLICATION_ADD_GROUP\' | translate}}</button>\n            <button style="margin-left: 5px" type="button" ng-click="removeGroup()" class="btn btn-sm btn-danger"><span class="glyphicon glyphicon-minus-sign"></span> {{\'APPLICATION_REMOVE_GROUP\' | translate}}</button>\n        </div>\n        <div class="group-conditions">\n            <div ng-repeat="rule in group.rules | orderBy:\'index\'" class="condition">\n                <div ng-switch="rule.hasOwnProperty(\'group\')">\n                    <div ng-switch-when="true">\n                        <report-builder group="rule.group" fields="fields" forms="forms"></report-builder>\n                    </div>\n                    <div ng-switch-default="ng-switch-default">\n                        <div class="row">\n                          <div class="col-md-2" data-ng-class="{\'has-error\': forms.report.$submitted && !rule.field}">\n                          <ui-select data-ng-model="rule.field" theme="bootstrap" dynamic-name="randomName()" required>\n                            <ui-select-match placeholder="">{{$select.selected.field | translate}}</ui-select-match>\n                            <ui-select-choices repeat="field.field as field in fields | filter: $select.search">\n                              <div ng-bind-html="field.field | highlight: $select.search"></div>\n                            </ui-select-choices>\n                          </ui-select>\n                          <span data-ng-show="forms.report.$submitted && !rule.field" class="help-block help-block-error">\n                            <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                          </span>\n                        </div>\n                          <ui-select data-ng-model="rule.condition" theme="bootstrap" class="col-md-1" dynamic-name="randomName()">\n                            <ui-select-match placeholder="">{{$select.selected.name}}</ui-select-match>\n                            <ui-select-choices repeat="condition.name as condition in conditions | filter: $select.search">\n                              <div ng-bind-html="condition.name | highlight: $select.search"></div>\n                            </ui-select-choices>\n                          </ui-select>\n                          <div class="col-md-2 left-margin" data-ng-class="{\'has-error\': forms.report.$submitted && !rule.value}">\n                            <input type="text" ng-model="rule.value" class="form-control" dynamic-name="randomName()" required/>\n                            <span data-ng-show="forms.report.$submitted && !rule.value" class="help-block help-block-error">\n                                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                                         </span>\n                          </div>\n                            <button style="margin-left: 5px" ng-click="removeCondition($index)" class="btn btn-sm btn-danger" type="button"><span class="glyphicon glyphicon-minus-sign"></span></button>\n                        </div>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n'),
 a.put("app/market/market.html",'<div class="row">\n    <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-handbag"></i>\n                                          <a href="/market">Market Place</a>\n          </li>\n        </ul>\n                    </div>\n                </div>\n</div>\n<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initView()">\n  <div class="col-md-12">\n    <!-- Our Integration -->\n    <div class="headline">\n      <h3>Our Integrations</h3>\n    </div>\n    <div class="row thumbnails" data-ng-repeat="group in groupedIntegration">\n      <div class="col-md-3" data-ng-repeat="integration in group">\n        <div class="our-integrations">\n          <h3> {{integration.name}} <small> {{integration.author}}</small></h3>\n          <img data-ng-src="{{integration.logo}}" alt="{{integration.name}}" class="img-responsive"/>\n          <div class="integration-info" data-ng-if="!integration.downloading">\n            <p>\n              {{integration.description}}\n            </p>\n            <div class="pull-right">\n                  <a data-ng-disabled="isProgressing" data-ng-if="!integration.active" data-ng-click="installIntegration(integration)" href="#" class="btn btn-xs green-meadow">Install <i class="fa fa-download"></i></a>\n                                                  <a data-ng-disabled="isProgressing" data-ng-if="integration.active" data-ng-click="uninstallIntegration(integration)" href="#" class="btn btn-xs red-sunglo">Uninstall <i class="fa fa-trash"></i></a>\n                    <a href="https://wiki.xcallymotion.com/" class="btn btn-xs grey-cascade" target="_blank">More <i class="fa fa-link"></i></a>\n            </div>\n          </div>\n                                        <div class="integration-info" data-ng-if="integration.downloading">\n                                           <div>\n                                                 <uib-progressbar class="progress-striped active" value="percentage" type="success"><i style="color:black;">{{status}}</i></uib-progressbar>\n                                           </div>\n          </div>\n        </div>\n      </div>\n                </div>\n    <!--/thumbnails-->\n    <!-- //End Meer Our Team -->\n  </div>\n</div>\n'),a.put("app/motionbar/motionbar.chat.html",'<div data-ng-include="\'components/quickSidebar/quickSidebar.html\'" data-ng-controller="QuickSidebarController" class="page-quick-sidebar-wrapper" style="margin-top: -92px;"></div>\n'),a.put("app/salesforce/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n      <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-handbag"></i>\n                                  <a href="/salesforce/list">{{ \'APPLICATION_SALESFORCE\' | translate }}</a>\n                           </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-handbag font-green-sharp"></i>\n                                 <span class="caption-subject">{{ \'APPLICATION_SALESFORCE\' | translate }}</a> </span>\n                                </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="accounts.checked.length">\n                                                <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle" href="#" data-toggle="dropdown">\n                                                  <i class="icon-plus"></i> {{ \'APPLICATION_NEW_ACCOUNT\' | translate }} <i class="fa fa-angle-down"></i>\n                                              </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/salesforce/wizard">\n                                                         <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getAccounts([\'name\',\'username\',\'remoteUri\',\'password\',\'clientId\',\'clientSecret\',\'securityToken\'])" csv-header="[\'Name\', \'Username\', \'Remote Address\', \'Password\', \'Client Id\', \'Client Secret\', \'Security token\']" field-separator=";" filename="salesforce_accounts.csv">\n                                      <i class="icon-cloud-download"></i></a>\n                               </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedSalesforceAccounts" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                      <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="7">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.accountsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                              <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="accountByPage in accountsByPage | filter: $select.search">\n                                                                                                 <div ng-bind-html="accountByPage.name | highlight: $select.search"></div>\n                                                                                             </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(account, checked)" checklist-model checklist-value="id"></th>\n                                                  <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                <th st-sort="username">{{ \'APPLICATION_EMAIL\' | translate }}</th>\n                                                               <th st-sort="remoteUri">{{ \'APPLICATION_REMOTE_ADDRESS\' | translate }}</th>\n                                                         <th>{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                                <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="account in displayedSalesforceAccounts" class="animate-repeat">\n                                                               <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="accounts.checked" checklist-value="account.id"></td>\n                                         <td>{{account.name}}</td>\n                                             <td>{{account.username}}</td>\n                                                           <td>{{account.remoteUri}}</td>\n                                                                <td>{{account.description}}</td>\n                                            <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/salesforce/view/{{account.id}}/account">\n                                                                             {{ \'APPLICATION_EDIT\' | translate }}\n                                                </a>\n                                                                  <a class="btn default btn-xs green-stripe" data-ng-click="checkAccount(account.id)">\n                                                                          {{ \'APPLICATION_CHECK_CONNECTION\' | translate }}\n                                            </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(account.name,account.id)">\n                                                                         {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedSalesforceAccounts.length">\n                                                                <td colspan="7" style="text-align:center;">\n                                                                   <i>No account available</i>\n                                                           </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="email" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_EMAIL\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                      </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="remoteUri" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_REMOTE_ADDRESS\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                 </div>\n                                                    </td>\n                                                 <td/>\n                                                             <td/>\n                                           </tr>\n                                           <tr>\n                                            <td colspan="7" class="text-center">\n                                                                    <div class="pagination" st-pagination st-items-by-page="conf.accountsByPage.value" st-displayed-pages="7"></div>\n                                            </td>\n                                       </tr>\n                                       </tfoot>\n                                    </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/salesforce/view/view.account.html",'<div class="row">\n <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_ACCOUNT\' | translate}}</span>\n                         </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{\'APPLICATION_GENERALS\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n                        <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.formSetting" data-ng-submit="forms.formSetting.$valid && updateItem()" novalidate>\n              <!-- START NAME -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.name.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_NAME\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="account.name" required/>\n                                                                <span data-ng-show="forms.formSetting.name.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n                                                     <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="account.description"/>\n                                                    </div>\n                                                        <!-- END DESCRIPTION -->\n\n              <!-- START USERNAME -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.username.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                            <input type="text" name="username" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="account.username" required/>\n                                                            <span data-ng-show="forms.formSetting.username.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n              <!-- START REMOTE ADDRESS -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.remoteUri.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_REMOTE_ADDRESS\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                              <input type="url" name="remoteUri" placeholder="{{\'APPLICATION_REMOTE_ADDRESS\' | translate}}" class="form-control" data-ng-model="account.remoteUri" required />\n                                                            <span data-ng-show="forms.formSetting.remoteUri.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n                                                       <!-- START PASSWORD -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.password.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                            <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="account.password" required/>\n                                                                <span data-ng-show="forms.formSetting.password.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END PASSWORD -->\n\n              <!-- START CLIENT ID -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.clientId.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_CLIENT_ID\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                           <input type="text" name="clientId" placeholder="{{\'APPLICATION_CLIENT_ID\' | translate}}" class="form-control" data-ng-model="account.clientId" required/>\n                                                           <span data-ng-show="forms.formSetting.clientId.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CLIENT ID -->\n\n              <!-- START CLIENT SECRET -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.clientSecret.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_CLIENT_SECRET\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                               <input type="text" name="clientSecret" placeholder="{{\'APPLICATION_CLIENT_SECRET\' | translate}}" class="form-control" data-ng-model="account.clientSecret" required/>\n                                                               <span data-ng-show="forms.formSetting.clientSecret.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CLIENT SECRET -->\n\n              <!-- START SECURITY TOKEN -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.securityToken.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_SECURITY_TOKEN\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                              <input type="text" name="securityToken" placeholder="{{\'APPLICATION_SECURITY_TOKEN\' | translate}}" class="form-control" data-ng-model="account.securityToken" required/>\n                                                            <span data-ng-show="forms.formSetting.securityToken.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END SECURITY TOKEN -->\n\n                                                 <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END GENERAL TAB -->\n\n                            </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/salesforce/view/view.configuration.html",'<div class="row" data-ng-init="initConfiguration()">\n  <div class="col-md-12">\n               <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_CONFIGURATION\' | translate }} WIZARD</a> </span>\n                              </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createConfiguration()">\n            <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="formValidation(formsConfiguration.info.$valid)">\n                                                   <form name="formsConfiguration.info" novalidate>\n                                                              <!-- START NAME -->\n                                                           <div class="form-group" data-ng-class="{\'has-error\': formsConfiguration.info.$submitted && formsConfiguration.info.name.$invalid}">\n                                                                 <label class="control-label">{{\'APPLICATION_NAME\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                        <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="configuration.name" required/>\n                                                                  <span data-ng-show="formsConfiguration.info.name.$invalid && formsConfiguration.info.$submitted" class="help-block help-block-error">\n                                                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END NAME -->\n                                                             <!-- START DESCRIPTION -->\n                                                            <div class="form-group">\n                                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                                      <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="configuration.description"/>\n                                                              </div>\n                                                                <!-- END DESCRIPTION -->\n\n                                                            <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" data-ng-click="goNext()"/>\n                                                       </form>\n                                               </wz-step>\n\n                                          <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                                    <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                         </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/salesforce/view/view.configurationSettings.html",'<div class="row" data-ng-init="getConfiguration();getVariables();getFields();">\n     <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_CONFIGURATION\' | translate}}: {{configurationName}}</span>\n                            </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{\'APPLICATION_SUBJECT\' | translate}}</a>\n                                      </li>\n          <li>\n                                         <a href="#" data-target="#tab_1_2" data-toggle="tab">{{\'APPLICATION_DESCRIPTION\' | translate}}</a>\n                                  </li>\n          <li>\n                                         <a href="#" data-target="#tab_1_3" data-toggle="tab">{{\'APPLICATION_FIELDS\' | translate}}</a>\n                                       </li>\n                         </ul>\n                 </div>\n                        <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- SUBJECT TAB -->\n                                  <div class="tab-pane ui-padding active" id="tab_1_1">\n            <div class="row">\n              <div class="col-md-11">\n                <span class="caption-subject">All following fields will be join by blank space:</span>\n              </div>\n              <div class="col-md-1 pull-rigth">\n                <button class="btn btn-icon-only green" data-ng-click="addItemSubject()"><i class="fa fa-plus"></i></button>\n              </div>\n            </div>\n            <hr>\n                                          <!-- <div ng-scrollbars ng-scrollbars-config="config"> -->\n                <div class="row" data-ng-repeat="subjectItem in subjectConfig">\n                 <div class="col-md-3">\n                  <ui-select ng-model="subjectItem.type" theme="bootstrap" ng-disabled="disabled" data-ng-change="changeType(subjectItem)">\n                       <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                     <ui-select-choices repeat="item in fieldType | filter: $select.search">\n                         <div ng-bind-html="item | highlight: $select.search | capitalize"></div>\n                    </ui-select-choices>\n                        </ui-select>\n                </div>\n                <div class="col-md-8" data-ng-if="subjectItem.type==\'string\'">\n                        <div class="form-group">\n                        <input type="text" class="form-control" data-ng-model="subjectItem.content" data-ng-change="updateField(subjectItem)">\n                      </div>\n                      </div>\n                <div class="col-md-8" data-ng-if="subjectItem.type==\'variable\'">\n                      <div class="form-group">\n                        <ui-select theme="bootstrap" ng-disabled="disabled" data-ng-model="subjectItem.VariableId" data-ng-change="updateField(subjectItem)">\n                           <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                     <ui-select-choices repeat="variable.id as variable in variables | filter: $select.search">\n                              <div ng-bind-html="variable.name | highlight: $select.search"></div>\n                        </ui-select-choices>\n                        </ui-select>\n                        </div>\n                      </div>\n                <div class="col-md-1">\n                  <div class="form-group">\n                        <button class="btn btn-icon-only red" data-ng-click="removeItem(subjectItem)"><i class="fa fa-times"></i></button>\n                  </div>\n                      </div>\n              </div>\n                                            <!-- </div> -->\n                                       </div>\n                                        <!-- END SUBJECT TAB -->\n          <!-- DESCRIPTION TAB -->\n                                  <div class="tab-pane ui-padding" id="tab_1_2">\n                                                <div class="row">\n              <div class="col-md-11">\n                <span class="caption-subject">All following fields will be join by new line:</span>\n              </div>\n              <div class="col-md-1 pull-rigth">\n                <button class="btn btn-icon-only green" data-ng-click="addItemDescription()"><i class="fa fa-plus"></i></button>\n              </div>\n            </div>\n            <hr>\n                                            <!-- <div ng-scrollbars ng-scrollbars-config="config"> -->\n                                                    <div class="row" data-ng-repeat="descriptionItem in descriptionConfig">\n                                                               <!-- <pre>\n                                                                    {{descriptionItem|json}}\n                                                              </pre> -->\n                  <div class="col-md-2">\n                  <ui-select ng-model="descriptionItem.type" theme="bootstrap" ng-disabled="disabled" data-ng-change="changeDescType(descriptionItem)">\n                   <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected | ucfirst}}</ui-select-match>\n                        <ui-select-choices repeat="item in descFieldType | filter: $select.search">\n                     <div ng-bind-html="item | highlight: $select.search | ucfirst"></div>\n                       </ui-select-choices>\n                        </ui-select>\n                </div>\n                <div class="col-md-9" data-ng-if="descriptionItem.type==\'string\'">\n                    <div class="form-group">\n                        <input type="text" class="form-control" data-ng-model="descriptionItem.content" data-ng-change="updateField(descriptionItem)">\n                      </div>\n                      </div>\n                                                          <div class="col-md-3" data-ng-if="descriptionItem.type==\'key_value\'">\n                                                                       <input type="text" class="form-control" placeholder="Key" data-ng-model="descriptionItem.key" data-ng-change="updateField(descriptionItem)">\n                                                          </div>\n                                                                <div class="col-md-3" data-ng-if="descriptionItem.type==\'key_value\'">\n                                                                       <ui-select ng-model="descriptionItem.keyType" theme="bootstrap" ng-disabled="disabled" data-ng-change="changeDescType(descriptionItem)">\n                        <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                     <ui-select-choices repeat="item in fieldType | filter: $select.search">\n                         <div ng-bind-html="item | highlight: $select.search | capitalize"></div>\n                    </ui-select-choices>\n                        </ui-select>\n                                                          </div>\n                                                                <div class="col-md-3" data-ng-if="descriptionItem.type==\'key_value\' && descriptionItem.keyType==\'string\'">\n                                                                        <input type="text" class="form-control" placeholder="Value" data-ng-model="descriptionItem.keyContent" data-ng-change="updateField(descriptionItem)">\n                                                         </div>\n                      <div class="col-md-3" data-ng-if="descriptionItem.type==\'key_value\' && descriptionItem.keyType==\'variable\'">\n                        <div class="form-group">\n                        <ui-select theme="bootstrap" ng-disabled="disabled" data-ng-model="descriptionItem.VariableId" data-ng-change="updateField(descriptionItem)">\n                           <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                     <ui-select-choices repeat="variable.id as variable in variables | filter: $select.search">\n                              <div ng-bind-html="variable.name | highlight: $select.search"></div>\n                        </ui-select-choices>\n                        </ui-select>\n                        </div>\n                      </div>\n                <div class="col-md-1">\n                  <div class="form-group">\n                        <button class="btn btn-icon-only red" data-ng-click="removeItem(descriptionItem)"><i class="fa fa-times"></i></button>\n                      </div>\n                      </div>\n              </div>\n                                            <!-- </div> -->\n                                       </div>\n                                        <!-- END DESCRIPTION TAB -->\n          <!-- FIELDS TAB -->\n                                   <div class="tab-pane ui-padding" id="tab_1_3">\n                                                <div class="row">\n              <div class="col-md-11">\n                <span class="caption-subject">Add how to fill the fields present in your account:</span>\n              </div>\n              <div class="col-md-1 pull-rigth">\n                <button class="btn btn-icon-only green" data-ng-click="addItemField()"><i class="fa fa-plus"></i></button>\n              </div>\n            </div>\n            <hr>\n                                             <!-- <div ng-scrollbars ng-scrollbars-config="config"> -->\n                <div class="row" data-ng-repeat="fieldItem in fieldConfig">\n                     <div class="col-md-3">\n                  <ui-select ng-model="fieldItem.idField" theme="bootstrap" ng-disabled="disabled" data-ng-change="changeFieldType(fieldItem)">\n                   <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.label}}</ui-select-match>\n                    <ui-select-choices repeat="item.name as item in accountFields | filter: $select.search">\n                        <div ng-bind-html="item.label | highlight: $select.search"></div>\n                   </ui-select-choices>\n                        </ui-select>\n                </div>\n                <div class="col-md-8" data-ng-if="getSystemFieldOptions(fieldItem.idField)">\n                    <div class="form-group">\n                                                                              <ui-select ng-model="fieldItem.content" theme="bootstrap" ng-disabled="disabled" data-ng-change="updateField(fieldItem)">\n                               <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.label}}</ui-select-match>\n                            <ui-select-choices repeat="item.value as item in getSystemFieldOptions(fieldItem.idField) | filter: $select.search">\n                                    <div ng-bind-html="item.value | highlight: $select.search"></div>\n                           </ui-select-choices>\n                                </ui-select>\n                  </div>\n                      </div>\n                                                          <div class="col-md-4" data-ng-if="!getSystemFieldOptions(fieldItem.idField)">\n                                                                 <div class="form-group">\n                                                                              <ui-select ng-model="fieldItem.type" theme="bootstrap" ng-disabled="disabled" data-ng-change="changeType(fieldItem)">\n                           <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected | ucfirst}}</ui-select-match>\n                                <ui-select-choices repeat="item in fieldType | filter: $select.search">\n                                 <div ng-bind-html="item | highlight: $select.search | ucfirst"></div>\n                               </ui-select-choices>\n                                </ui-select>\n                                                                  </div>\n                                                                </div>\n                                                                <div class="col-md-4" data-ng-if="!getSystemFieldOptions(fieldItem.idField) && fieldItem.type === \'string\'">\n                        <div class="form-group">\n                                                                              <input type="text" class="form-control" data-ng-model="fieldItem.content" data-ng-change="updateField(fieldItem)">\n                    </div>\n                      </div>\n                                                          <div class="col-md-4" data-ng-if="!getSystemFieldOptions(fieldItem.idField) && fieldItem.type === \'variable\'">\n                      <div class="form-group">\n                                                                              <ui-select theme="bootstrap" ng-disabled="disabled" data-ng-model="fieldItem.VariableId" data-ng-change="updateField(fieldItem)">\n                         <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                     <ui-select-choices repeat="variable.id as variable in variables | filter: $select.search">\n                              <div ng-bind-html="variable.name | highlight: $select.search"></div>\n                        </ui-select-choices>\n                        </ui-select>\n                        </div>\n                      </div>\n                <div class="col-md-1">\n                  <div class="form-group">\n                        <button class="btn btn-icon-only red" data-ng-click="removeItem(fieldItem)"><i class="fa fa-times"></i></button>\n                    </div>\n                      </div>\n              </div>\n                                            <!-- </div> -->\n                                       </div>\n                                        <!-- END FIELDS TAB -->\n                               </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/salesforce/view/view.configurations.html",'<div ui-view class="profile-content">\n        <div class="row" data-ng-init="getConfigurations()">\n          <div class="col-md-12">\n                       <div class="portlet light">\n                           <div class="portlet-title  tabbable-line">\n                                    <div class="caption caption-md">\n                                              <i class="icon-globe theme-font hide"></i>\n                                            <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_CONFIGURATIONS\' | translate}}</span>\n                                  </div>\n                                        <div class="actions">\n                                         <div class="btn-group">\n                                                       <a class="btn green-jungle " href="/salesforce/view/{{account.id}}/configuration" data-toggle="dropdown">\n                                                             <i class="icon-plus"></i> {{ \'APPLICATION_NEW_CONFIGURATION\' | translate }}\n                                                 </a>\n                                          </div>\n                                        </div>\n                                </div>\n                                <div class="portlet-body">\n                                    <!-- START TABLE -->\n                                  <table class="table table-striped table-bordered table-hover">\n                                                  <thead>\n                                                       <tr>\n                                                            <th>{{\'APPLICATION_NAME\' | translate}}</th>\n                                                                     <th>{{\'APPLICATION_DESCRIPTION\' | translate}}</th>\n                                                                  <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                      </tr>\n                                                 </thead>\n                                                    <tbody>\n                                                   <tr data-ng-repeat="configuration in configurations">\n                                                                     <td>{{configuration.name}}</td>\n                                                                       <td>{{configuration.description}}</td>\n                                                      <td>\n                                                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/salesforce/view/{{account.id}}/configurations/settings/{{configuration.id}}">\n                                                                                        {{ \'APPLICATION_SETTINGS\' | translate}}\n                                                     </a>\n                                                  <a class="btn default btn-xs red-stripe" data-ng-click="deleteConfiguration(configuration.name,configuration.id)">\n                                                                                    {{ \'APPLICATION_DELETE\' | translate }}\n                                                      </a>\n                                                </td>\n                                               </tr>\n                                                             <tr data-ng-hide="configurations.length">\n                                                                     <td colspan="5" style="text-align:center;">\n                                                                           <i>No configuration available</i>\n                                                                     </td>\n                                                         </tr>\n                                           </tbody>\n                                    </table>\n                                      <!-- END TABLE -->\n                            </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),
-a.put("app/salesforce/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initView()">\n       <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n          <i class="icon-handbag"></i>\n          <a href="/salesforce/list">{{ \'APPLICATION_SALESFORCE\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <a href="#">{{account.name}}</a>\n                              </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img src="assets/images/media/salesforce.png" class="img-responsive">\n                         </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{account.name}}\n                                      </div>\n                                        <div class="profile-usertitle-job">\n                                           {{account.remoteUri}}\n                                 </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n                               <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.salesforce.view.account\')}">\n                                                    <a ng-href="/salesforce/view/{{account.id}}/account">\n                                                 <i class="icon-user"></i>\n                                                     {{ \'APPLICATION_ACCOUNT\' | translate }} </a>\n                                                </li>\n                                         <li data-ng-class="{active: $state.includes(\'main.salesforce.view.configurations\') || $state.is(\'main.salesforce.view.configuration\')}">\n                                                  <a ng-href="/salesforce/view/{{account.id}}/configurations">\n                                                  <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_CONFIGURATIONS\' | translate }} </a>\n                                         </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/salesforce/wizard/wizard.html",'<!-- BEGIN PAGE HEADER-->\n<div class="row">\n  <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-handbag"></i>\n                                          <a href="/salesforce/list">{{ \'APPLICATION_SALESFORCE\' | translate }}</a>\n                                   </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n<!-- END PAGE HEADER-->\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initWizard()">\n  <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_ACCOUNT\' | translate }} WIZARD</a> </span>\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n          <wz-step title="{{\'APPLICATION_ACCOUNT_INFO\' | translate}}" canexit="exitValidation(forms.formSetting.$valid)">\n                                                <form name="forms.formSetting" novalidate>\n\n                                                  <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.name.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_NAME\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                           <span data-ng-show="forms.formSetting.name.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"/>\n                                                       </div>\n                                                        <!-- END DESCRIPTION -->\n\n              <!-- START USERNAME -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.username.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                            <input type="text" name="username" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="item.username" required ng-remote-validate="/api/salesforce/accounts/validate/username"/>\n                                                               <span data-ng-show="forms.formSetting.username.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                               <span data-ng-show="(forms.formSetting.username.$touched || forms.formSetting.$submitted) && forms.formSetting.username.$error.ngRemoteValidate" class="help-block help-block-error">\n                                   <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_EXIST_USERNAME\' | translate}}.\n                                       </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n\n              <!-- START REMOTE ADDRESS -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.remoteUri.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_REMOTE_ADDRESS\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                              <input type="url" name="remoteUri" placeholder="{{\'APPLICATION_REMOTE_ADDRESS\' | translate}}" class="form-control" data-ng-model="item.remoteUri" required/>\n                                                                <span data-ng-show="forms.formSetting.remoteUri.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n              <!-- START PASSWORD -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.password.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                            <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.password" required/>\n                                                           <span data-ng-show="forms.formSetting.password.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END PASSWORD -->\n\n              <!-- START CLIENT ID -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.clientId.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_CLIENT_ID\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                           <input type="text" name="clientId" placeholder="{{\'APPLICATION_CLIENT_ID\' | translate}}" class="form-control" data-ng-model="item.clientId" required/>\n                                                              <span data-ng-show="forms.formSetting.clientId.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CLIENT ID -->\n\n              <!-- START CLIENT SECRET -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.clientSecret.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_CLIENT_SECRET\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                               <input type="text" name="clientSecret" placeholder="{{\'APPLICATION_CLIENT_SECRET\' | translate}}" class="form-control" data-ng-model="item.clientSecret" required/>\n                                                          <span data-ng-show="forms.formSetting.clientSecret.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CLIENT SECRET -->\n\n              <!-- START SECURITY TOKEN -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.securityToken.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_SECURITY_TOKEN\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                              <input type="text" name="securityToken" placeholder="{{\'APPLICATION_SECURITY_TOKEN\' | translate}}" class="form-control" data-ng-model="item.securityToken" required/>\n                                                               <span data-ng-show="forms.formSetting.securityToken.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END SECURITY TOKEN -->\n\n                                                 <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" data-ng-click="next()"/>\n\n                                               </form>\n                                       </wz-step>\n\n                                  <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                             <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                            <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                 </wz-step>\n\n                          </wizard>\n\n                   </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/setting/license/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div\n class="row" data-ng-init="initView()">\n    <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-settings"></i>\n                                 <a href="#">{{ \'APPLICATION_SETTINGS\' | translate }}</a>\n                            </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE CONTENT -->\n                <div class="profile-content">\n                 <div class="row">\n                             <div class="col-md-6">\n                                        <div class="pricing hover-effect">\n                                            <div class="pricing-head" data-ng-switch="license.months">\n                                                    <h3 ng-switch-when="1">{{\'APPLICATION_MONTH_TO_MONTH\' | translate}}<span>Official xCALLY Motion License </span></h3>\n                                                        <h3 ng-switch-when="12">{{\'APPLICATION_YEARLY\' | translate}}<span>Official xCALLY Motion License </span></h3>\n                                                       <h3 ng-switch-when="36">{{\'APPLICATION_PERPETUAL\' | translate}}<span>Official xCALLY Motion License </span></h3>\n                                                    <h3 ng-switch-default>{{\'APPLICATION_UNKNOWN\' | translate}}<span>Official xCALLY Motion License </span></h3>\n                                                        <h4><i>{{license.expiration | date:\'medium\'}}</i>\n                                                   <span>\n                                                        Expiration Date </span>\n                                                       </h4>\n                                         </div>\n                                                <ul class="pricing-content list-unstyled">\n                                                    <li class="row">\n                                                              <div class="col-md-9">\n                                                                        <i class="icon-eye"></i> {{\'APPLICATION_USERS\' | translate}}:\n                                                               </div>\n                                                                <div class="col-md-3 text-center">\n                                                                    {{(license.users || license.users >= 0) ? license.users : \'unknown\'}}\n                                                               </div>\n                                                        </li>\n                                                 <li class="row">\n                                                              <div class="col-md-9">\n                                                                        <i class="icon-people"></i> {{\'APPLICATION_AGENTS\' | translate}} ({{\'APPLICATION_CONCURRENTS\' | translate}}):\n                                                             </div>\n                                                                <div class="col-md-3 text-center">\n                                                                    {{(license.agents || license.agents >= 0)  ? license.agents : \'unknown\'}}\n                                                           </div>\n                                                        </li>\n                                                 <li class="row">\n                                                              <div class="col-md-9">\n                                                                        <i class="icon-phone"></i> {{\'APPLICATION_TELEPHONES\' | translate}}:\n                                                                </div>\n                                                                <div class="col-md-3 text-center">\n                                                                    {{(license.telephones || license.telephones >= 0) ? license.telephones : \'unknown\'}}\n                                                                </div>\n                                                        </li>\n                                                 <li class="row">\n                                                              <div class="col-md-9">\n                                                                        <i class="icon-bubble"></i> {{\'APPLICATION_CHAT\' | translate}}:\n                                                             </div>\n                                                                <div class="col-md-3 text-center">\n                                                                    <span class="label label-sm" data-ng-class="license.chat ? \'label-success\' : \'label-danger\'">{{license.chat ? \'APPLICATION_ENABLED\' : \'APPLICATION_DISABLED\' | translate}}</span>\n                                                             </div>\n                                                        </li>\n                                                 <li class="row">\n                                                              <div class="col-md-9">\n                                                                        <i class="icon-envelope"></i> {{\'APPLICATION_MAIL\' | translate}}:\n                                                           </div>\n                                                                <div class="col-md-3 text-center">\n                                                             <span class="label label-sm" data-ng-class="license.mail ? \'label-success\' : \'label-danger\'">{{license.mail ? \'APPLICATION_ENABLED\' : \'APPLICATION_DISABLED\' | translate}}</span>\n                                                            </div>\n                                                        </li>\n                                                 <li class="row">\n                                                              <div class="col-md-9">\n                                                                        <i class="icon-paper-plane"></i> {{\'APPLICATION_FAX\' | translate}}:\n                                                         </div>\n                                                                <div class="col-md-3 text-center">\n                                                                     <span class="label label-sm" data-ng-class="license.fax ? \'label-success\' : \'label-danger\'">{{license.fax ? \'APPLICATION_ENABLED\' : \'APPLICATION_DISABLED\' | translate}}</span>\n                                                              </div>\n                                                        </li>\n                                         </ul>\n                                         <div class="pricing-footer">\n                                                  <p>\n                                                            {{license.description}}\n                                                      </p>\n                                                  <a href="#" class="btn yellow-crusta">\n                                                        {{\'APPLICATION_PRICES\' | translate}} <i class="m-icon-swapright m-icon-white"></i>\n                                                  </a>\n                                          </div>\n                                        </div>\n                                </div>\n                                <div class="col-md-6">\n                                        <div class="portlet light bordered">\n                                          <div class="portlet-title">\n                                                   <div class="caption font-green-sharp">\n                                                                <i class="icon-info font-green-sharp"></i>\n                                                            <span class="caption-subject">FORM {{ \'APPLICATION_LICENSE\' | translate }}</a> </span>\n                                                      </div>\n                                                </div>\n                                                <div class="portlet-body">\n                                                    <form name="form" novalidate data-ng-submit="submitRequest()">\n\n                                                              <!-- START USERS -->\n                                                          <div class="form-group" data-ng-class="{\'has-error\': (form.users.$touched || form.$submitted) && form.users.$invalid}">\n                                                                     <label class="control-label">{{\'APPLICATION_USERS\' | translate}}</label>\n                                                                    <div class="input-icon">\n                                                                              <i class="icon-eye"></i>\n                                                                              <input type="number" name="users" placeholder="{{\'APPLICATION_USERS\' | translate}}" class="form-control" data-ng-model="item.users" min="0" required>\n                                                                       </div>\n                                                                        <span data-ng-show="(form.users.$touched || forms.$submitted) && form.users.$error.required" class="help-block help-block-error">\n                                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END USERS -->\n\n                                                          <!-- START AGENTS -->\n                                                         <div class="form-group" data-ng-class="{\'has-error\': (form.agents.$touched || form.$submitted) && form.agents.$invalid}">\n                                                                   <label class="control-label">{{\'APPLICATION_AGENTS\' | translate}} ({{\'APPLICATION_CONCURRENTS\' | translate}})</label>\n                                                                     <div class="input-icon">\n                                                                              <i class="icon-people"></i>\n                                                                           <input type="number" name="agents" placeholder="{{\'APPLICATION_AGENTS\' | translate}} ({{\'APPLICATION_CONCURRENTS\' | translate}})" class="form-control" data-ng-model="item.agents" min="0" required>\n                                                                      </div>\n                                                                        <span data-ng-show="(form.users.$touched || forms.$submitted) && form.users.$error.required" class="help-block help-block-error">\n                                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END AGENTS -->\n\n                                                         <!-- START TELEPHONES -->\n                                                             <div class="form-group" data-ng-class="{\'has-error\': (form.telephones.$touched || form.$submitted) && form.telephones.$invalid}">\n                                                                   <label class="control-label">{{\'APPLICATION_TELEPHONES\' | translate}}</label>\n                                                                       <div class="input-icon">\n                                                                              <i class="icon-phone"></i>\n                                                                            <input type="number" name="telephones" placeholder="{{\'APPLICATION_TELEPHONES\' | translate}}" class="form-control" data-ng-model="item.telephones" min="0" required>\n                                                                        </div>\n                                                                        <span data-ng-show="(form.telephones.$touched || forms.$submitted) && form.telephones.$error.required" class="help-block help-block-error">\n                                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END TELEPHONES -->\n\n                                                             <!-- START CHAT -->\n                                                           <div class="form-group" data-ng-class="{\'has-error\': (form.chat.$touched || form.$submitted) && form.chat.$invalid}">\n                                                                       <label class="control-label">{{\'APPLICATION_CHAT\' | translate}}</label>\n                                                                     <div class="input-group input-icon">\n                                                                          <i class="icon-bubble"></i>\n                                                                           <input type="text" placeholder="{{\'APPLICATION_CHAT\' | translate}}" class="form-control" readonly>\n                                                                          <span class="input-group-addon">\n                                                                                      <input type="checkbox" name="chat" data-ng-model="item.chat" required>\n                                                                                </span>\n                                                                       </div>\n                                                                        <span data-ng-show="(form.chat.$touched || forms.$submitted) && form.chat.$error.required" class="help-block help-block-error">\n                                                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END CHAT -->\n\n                                                           <!-- START MAIL -->\n                                                           <div class="form-group" data-ng-class="{\'has-error\': (form.mail.$touched || form.$submitted) && form.mail.$invalid}">\n                                                                       <label class="control-label">{{\'APPLICATION_MAIL\' | translate}}</label>\n                                                                     <div class="input-group input-icon">\n                                                                          <i class="icon-envelope"></i>\n                                                                         <input type="text" placeholder="{{\'APPLICATION_MAIL\' | translate}}" class="form-control" readonly>\n                                                                          <span class="input-group-addon">\n                                                                                      <input type="checkbox" name="mail" data-ng-model="item.mail" required>\n                                                                                </span>\n                                                                       </div>\n                                                                        <span data-ng-show="(form.mail.$touched || forms.$submitted) && form.mail.$error.required" class="help-block help-block-error">\n                                                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END MAIL -->\n\n                                                           <!-- START FAX -->\n                                                            <div class="form-group" data-ng-class="{\'has-error\': (form.fax.$touched || form.$submitted) && form.fax.$invalid}">\n                                                                 <label class="control-label">{{\'APPLICATION_FAX\' | translate}}</label>\n                                                                      <div class="input-group input-icon">\n                                                                          <i class="icon-paper-plane"></i>\n                                                                              <input type="text" placeholder="{{\'APPLICATION_FAX\' | translate}}" class="form-control" readonly>\n                                                                           <span class="input-group-addon">\n                                                                                      <input type="checkbox" name="fax" data-ng-model="item.fax" required>\n                                                                          </span>\n                                                                       </div>\n                                                                        <span data-ng-show="(form.fax.$touched || forms.$submitted) && form.fax.$error.required" class="help-block help-block-error">\n                                                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END FAX -->\n\n                                                            <input class="btn green-haze" type="submit" value="{{\'APPLICATION_SUBMIT\' | translate}} {{\'APPLICATION_REQUEST\' | translate}}"/>\n                                                  </form>\n                                               </div>\n                                        </div>\n                                </div>\n                        </div>\n                </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/setting/smtp/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initView()">\n <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-settings"></i>\n                                 <a href="#">{{ \'APPLICATION_SETTINGS\' | translate }}</a>\n                            </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE CONTENT -->\n                <div class="profile-content">\n                 <!-- START SMTP TAB -->\n                       <form name="form" data-ng-submit="form.$valid && updateItem()" novalidate>\n\n                          <!-- START HOST -->\n                           <div class="form-group" data-ng-class="{\'has-error\': (form.host.$touched || form.$submitted) && form.host.$invalid}">\n                                       <label class="control-label">{{\'APPLICATION_HOST\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                        <input type="text" name="host" placeholder="{{\'APPLICATION_HOST\' | translate}}" class="form-control" data-ng-model="item.host" required/>\n                                   <span data-ng-show="(form.host.$touched || form.$submitted) && form.host.$invalid && form.host.$error.required" class="help-block help-block-error">\n                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                 </span>\n                               </div>\n                                <!-- END HOST -->\n\n                           <!-- START USERNAME -->\n                               <div class="form-group" data-ng-class="{\'has-error\': (form.username.$touched || form.$submitted) && form.username.$invalid}">\n                                       <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                     <input type="text" name="username" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="item.username" required/>\n                                       <span data-ng-show="(form.username.$touched || form.$submitted) && form.username.$invalid && form.username.$error.required" class="help-block help-block-error">\n                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                 </span>\n                               </div>\n                                <!-- END USERNAME -->\n\n                               <!-- START PASSWORD -->\n                               <div class="form-group" data-ng-class="{\'has-error\': (form.password.$touched || form.$submitted) && form.password.$invalid}">\n                                       <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                     <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.password" required/>\n                                   <span data-ng-show="(form.password.$touched || form.$submitted) && form.password.$invalid && form.password.$error.required" class="help-block help-block-error">\n                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                 </span>\n                               </div>\n                                <!-- END PASSWORD -->\n\n                               <!-- START PORT -->\n                           <div class="form-group" data-ng-class="{\'has-error\': (form.port.$touched || form.$submitted) && form.port.$invalid}">\n                                       <label class="control-label">{{\'APPLICATION_PORT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                 <input type="number" name="port" placeholder="{{\'APPLICATION_PORT\' | translate}}" class="form-control" data-ng-model="item.port" required/>\n                                 <span data-ng-show="(form.form.$touched || form.$submitted) && form.port.$invalid && form.port.$error.required" class="help-block help-block-error">\n                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                 </span>\n                                       <span data-ng-show="(form.form.$touched || form.$submitted) && form.port.$invalid && form.port.$error.number" class="help-block help-block-error">\n                                            <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_NUMERIC_FIELD\' | translate}}.\n                                  </span>\n                               </div>\n                                <!-- END PORT -->\n\n                           <!-- START SSL -->\n                            <div class="form-group row">\n                                  <label class="col-md-3">\n                                              SSL\n                                   </label>\n                                      <label class="col-md-9">\n                                                      <input type="checkbox" data-ng-model="item.ssl">\n                                      </label>\n                              </div>\n                                <!-- END SSL -->\n                              <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                          <input class="btn blue-madison" type="button" value="Test" data-ng-click="test()"/>\n                   </form>\n                       <!-- END SMTP TAB -->\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/setting/template/list/list.html",'<div class="row">\n   <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-docs"></i>\n                                             <a href="#">{{ \'APPLICATION_TEMPLATES\' | translate }}</a>\n                                   </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-docs font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_TEMPLATES\' | translate }}</a> </span>\n                         </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="Templates.checked.length">\n                                               <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_TEMPLATE\' | translate }} <i class="fa fa-angle-down"></i>\n                                             </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/setting/templates/wizard">\n                                                          <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getTemplates([\'name\', \'description\', \'timeout\', \'strategy\'])" csv-header="[\'Name\', \'Description\', \'Timeout\', \'Strategy\']" field-separator=";" filename="mail_templates.csv">\n                                        <i class="icon-cloud-download"></i></a>\n                               </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedTemplates" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                       <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="7">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.templatesByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                             <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="queueByPage in templatesByPage | filter: $select.search">\n                                                                                                  <div ng-bind-html="queueByPage.name | highlight: $select.search"></div>\n                                                                                               </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(template, checked)" checklist-model checklist-value="id"></th>\n                                                 <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                  </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="template in displayedTemplates">\n                                                              <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="Templates.checked" checklist-value="template.id"></td>\n                                       <td>{{template.name}}</td>\n                                                              <td>{{template.description}}</td>\n                                           <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/setting/templates/view/{{template.id}}/settings">\n                                                                            {{ \'APPLICATION_PROFILE\' | translate }}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(template.name, template.id)">\n                                                                              {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedTemplates.length">\n                                                         <td colspan="6" class="text-center">\n                                                                  <i>No available templates</i>\n                                                         </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                             <td/>\n                                           </tr>\n                                           <tr>\n                                            <td colspan="67" class="text-center">\n                                           <div st-pagination class="pagination" st-items-by-page="conf.templatesByPage.value" st-displayed-pages="7"></div>\n                                           </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/setting/template/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initItem()">\n     <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-docs"></i>\n                                     <a href="/mail/templates/list">{{ \'APPLICATION_TEMPLATES\' | translate }}</a>\n                                        <i data-ng-show="item" class="fa fa-angle-right"></i>\n                         </li>\n                         <li data-ng-show="item">\n                                      <a href="#">{{item.name}}</a>\n                         </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n\n                       <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/template.png" class="img-responsive">\n                           </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{item.name}}\n                                 </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.setting.templates.view.settings\')}">\n                                                    <a data-ng-href="/mail/templates/view/{{item.id}}/settings">\n                                                  <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
+a.put("app/salesforce/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initView()">\n       <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n          <i class="icon-handbag"></i>\n          <a href="/salesforce/list">{{ \'APPLICATION_SALESFORCE\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <a href="#">{{account.name}}</a>\n                              </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img src="assets/images/media/salesforce.png" class="img-responsive">\n                         </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{account.name}}\n                                      </div>\n                                        <div class="profile-usertitle-job">\n                                           {{account.remoteUri}}\n                                 </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n                               <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.salesforce.view.account\')}">\n                                                    <a ng-href="/salesforce/view/{{account.id}}/account">\n                                                 <i class="icon-user"></i>\n                                                     {{ \'APPLICATION_ACCOUNT\' | translate }} </a>\n                                                </li>\n                                         <li data-ng-class="{active: $state.includes(\'main.salesforce.view.configurations\') || $state.is(\'main.salesforce.view.configuration\')}">\n                                                  <a ng-href="/salesforce/view/{{account.id}}/configurations">\n                                                  <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_CONFIGURATIONS\' | translate }} </a>\n                                         </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/salesforce/wizard/wizard.html",'<!-- BEGIN PAGE HEADER-->\n<div class="row">\n  <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-handbag"></i>\n                                          <a href="/salesforce/list">{{ \'APPLICATION_SALESFORCE\' | translate }}</a>\n                                   </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n<!-- END PAGE HEADER-->\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initWizard()">\n  <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_ACCOUNT\' | translate }} WIZARD</a> </span>\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n          <wz-step title="{{\'APPLICATION_ACCOUNT_INFO\' | translate}}" canexit="exitValidation(forms.formSetting.$valid)">\n                                                <form name="forms.formSetting" novalidate>\n\n                                                  <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.name.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_NAME\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                           <span data-ng-show="forms.formSetting.name.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"/>\n                                                       </div>\n                                                        <!-- END DESCRIPTION -->\n\n              <!-- START USERNAME -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.username.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                            <input type="text" name="username" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="item.username" required ng-remote-validate="/api/salesforce/accounts/validate/username"/>\n                                                               <span data-ng-show="forms.formSetting.username.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                               <span data-ng-show="(forms.formSetting.username.$touched || forms.formSetting.$submitted) && forms.formSetting.username.$error.ngRemoteValidate" class="help-block help-block-error">\n                                   <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_EXIST_USERNAME\' | translate}}.\n                                       </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n\n              <!-- START REMOTE ADDRESS -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.remoteUri.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_REMOTE_ADDRESS\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                              <input type="url" name="remoteUri" placeholder="{{\'APPLICATION_REMOTE_ADDRESS\' | translate}}" class="form-control" data-ng-model="item.remoteUri" required/>\n                                                                <span data-ng-show="forms.formSetting.remoteUri.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n              <!-- START PASSWORD -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.password.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                            <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.password" required/>\n                                                           <span data-ng-show="forms.formSetting.password.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END PASSWORD -->\n\n              <!-- START CLIENT ID -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.clientId.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_CLIENT_ID\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                           <input type="text" name="clientId" placeholder="{{\'APPLICATION_CLIENT_ID\' | translate}}" class="form-control" data-ng-model="item.clientId" required/>\n                                                              <span data-ng-show="forms.formSetting.clientId.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CLIENT ID -->\n\n              <!-- START CLIENT SECRET -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.clientSecret.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_CLIENT_SECRET\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                               <input type="text" name="clientSecret" placeholder="{{\'APPLICATION_CLIENT_SECRET\' | translate}}" class="form-control" data-ng-model="item.clientSecret" required/>\n                                                          <span data-ng-show="forms.formSetting.clientSecret.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CLIENT SECRET -->\n\n              <!-- START SECURITY TOKEN -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.securityToken.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_SECURITY_TOKEN\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                              <input type="text" name="securityToken" placeholder="{{\'APPLICATION_SECURITY_TOKEN\' | translate}}" class="form-control" data-ng-model="item.securityToken" required/>\n                                                               <span data-ng-show="forms.formSetting.securityToken.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END SECURITY TOKEN -->\n\n                                                 <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" data-ng-click="next()"/>\n\n                                               </form>\n                                       </wz-step>\n\n                                  <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                             <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                            <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                 </wz-step>\n\n                          </wizard>\n\n                   </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/setting/license/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div\n class="row" data-ng-init="initView()">\n    <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-settings"></i>\n                                 <a href="#">{{ \'APPLICATION_SETTINGS\' | translate }}</a>\n                            </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE CONTENT -->\n                <div class="profile-content">\n                 <div class="row">\n                             <div class="col-md-6">\n                                        <div class="pricing hover-effect">\n                                            <div class="pricing-head" data-ng-switch="license.months">\n                                                    <h3 ng-switch-when="1">{{\'APPLICATION_MONTH_TO_MONTH\' | translate}}<span>{{license.token || \'unknown\'}} </span></h3>\n                                                      <h3 ng-switch-when="12">{{\'APPLICATION_YEARLY\' | translate}}<span>{{license.token || \'unknown\'}} </span></h3>\n                                                     <h3 ng-switch-when="36">{{\'APPLICATION_PERPETUAL\' | translate}}<span>{{license.token || \'unknown\'}} </span></h3>\n                                                  <h3 ng-switch-default>{{\'APPLICATION_UNKNOWN\' | translate}}<span>{{license.token || \'unknown\'}} </span></h3>\n                                                      <h4><i>{{license.expiration ? (license.expiration | date:\'medium\') : \'DEMO\'}}</i>\n                                                 <span data-ng-show="license.expiration">Expiration Date </span>\n                                                       </h4>\n                                         </div>\n                                                <ul class="pricing-content list-unstyled">\n                                                    <li class="row">\n                                                              <div class="col-md-9">\n                                                                        <i class="icon-eye"></i> {{\'APPLICATION_USERS\' | translate}}:\n                                                               </div>\n                                                                <div class="col-md-3 text-center">\n                                                                    {{(license.users || license.users >= 0) ? license.users : \'unknown\'}}\n                                                               </div>\n                                                        </li>\n                                                 <li class="row">\n                                                              <div class="col-md-9">\n                                                                        <i class="icon-people"></i> {{\'APPLICATION_AGENTS\' | translate}} ({{\'APPLICATION_CONCURRENTS\' | translate}}):\n                                                             </div>\n                                                                <div class="col-md-3 text-center">\n                                                                    {{(license.agents || license.agents >= 0)  ? license.agents : \'unknown\'}}\n                                                           </div>\n                                                        </li>\n                                                 <li class="row">\n                                                              <div class="col-md-9">\n                                                                        <i class="icon-phone"></i> {{\'APPLICATION_TELEPHONES\' | translate}}:\n                                                                </div>\n                                                                <div class="col-md-3 text-center">\n                                                                    {{(license.telephones || license.telephones >= 0) ? license.telephones : \'unknown\'}}\n                                                                </div>\n                                                        </li>\n                                                 <li class="row">\n                                                              <div class="col-md-9">\n                                                                        <i class="icon-bubble"></i> {{\'APPLICATION_CHAT\' | translate}}:\n                                                             </div>\n                                                                <div class="col-md-3 text-center">\n                                                                    <span class="label label-sm" data-ng-class="license.chat ? \'label-success\' : \'label-danger\'">{{license.chat ? \'APPLICATION_ENABLED\' : \'APPLICATION_DISABLED\' | translate}}</span>\n                                                             </div>\n                                                        </li>\n                                                 <li class="row">\n                                                              <div class="col-md-9">\n                                                                        <i class="icon-envelope"></i> {{\'APPLICATION_MAIL\' | translate}}:\n                                                           </div>\n                                                                <div class="col-md-3 text-center">\n                                                             <span class="label label-sm" data-ng-class="license.mail ? \'label-success\' : \'label-danger\'">{{license.mail ? \'APPLICATION_ENABLED\' : \'APPLICATION_DISABLED\' | translate}}</span>\n                                                            </div>\n                                                        </li>\n                                                 <li class="row">\n                                                              <div class="col-md-9">\n                                                                        <i class="icon-paper-plane"></i> {{\'APPLICATION_FAX\' | translate}}:\n                                                         </div>\n                                                                <div class="col-md-3 text-center">\n                                                                     <span class="label label-sm" data-ng-class="license.fax ? \'label-success\' : \'label-danger\'">{{license.fax ? \'APPLICATION_ENABLED\' : \'APPLICATION_DISABLED\' | translate}}</span>\n                                                              </div>\n                                                        </li>\n                                         </ul>\n                                         <div class="pricing-footer">\n                                                  <p>\n                                                            {{license.description}}\n                                                      </p>\n                                                  <a href="#" class="btn yellow-crusta">\n                                                        {{\'APPLICATION_PRICES\' | translate}} <i class="m-icon-swapright m-icon-white"></i>\n                                                  </a>\n                                          </div>\n                                        </div>\n                                </div>\n                                <div class="col-md-6">\n                                        <div class="portlet light bordered">\n                                          <div class="portlet-title">\n                                                   <div class="caption font-green-sharp">\n                                                                <i class="icon-info font-green-sharp"></i>\n                                                            <span class="caption-subject">FORM {{ \'APPLICATION_LICENSE\' | translate }}</a> </span>\n                                                      </div>\n                                                </div>\n                                                <div class="portlet-body">\n                                                    <form name="form" novalidate data-ng-submit="submitRequest()">\n\n                                                              <!-- START USERS -->\n                                                          <div class="form-group" data-ng-class="{\'has-error\': (form.users.$touched || form.$submitted) && form.users.$invalid}">\n                                                                     <label class="control-label">{{\'APPLICATION_USERS\' | translate}}</label>\n                                                                    <div class="input-icon">\n                                                                              <i class="icon-eye"></i>\n                                                                              <input type="number" name="users" placeholder="{{\'APPLICATION_USERS\' | translate}}" class="form-control" data-ng-model="item.users" min="0" required>\n                                                                       </div>\n                                                                        <span data-ng-show="(form.users.$touched || forms.$submitted) && form.users.$error.required" class="help-block help-block-error">\n                                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END USERS -->\n\n                                                          <!-- START AGENTS -->\n                                                         <div class="form-group" data-ng-class="{\'has-error\': (form.agents.$touched || form.$submitted) && form.agents.$invalid}">\n                                                                   <label class="control-label">{{\'APPLICATION_AGENTS\' | translate}} ({{\'APPLICATION_CONCURRENTS\' | translate}})</label>\n                                                                     <div class="input-icon">\n                                                                              <i class="icon-people"></i>\n                                                                           <input type="number" name="agents" placeholder="{{\'APPLICATION_AGENTS\' | translate}} ({{\'APPLICATION_CONCURRENTS\' | translate}})" class="form-control" data-ng-model="item.agents" min="0" required>\n                                                                      </div>\n                                                                        <span data-ng-show="(form.users.$touched || forms.$submitted) && form.users.$error.required" class="help-block help-block-error">\n                                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END AGENTS -->\n\n                                                         <!-- START TELEPHONES -->\n                                                             <div class="form-group" data-ng-class="{\'has-error\': (form.telephones.$touched || form.$submitted) && form.telephones.$invalid}">\n                                                                   <label class="control-label">{{\'APPLICATION_TELEPHONES\' | translate}}</label>\n                                                                       <div class="input-icon">\n                                                                              <i class="icon-phone"></i>\n                                                                            <input type="number" name="telephones" placeholder="{{\'APPLICATION_TELEPHONES\' | translate}}" class="form-control" data-ng-model="item.telephones" min="0" required>\n                                                                        </div>\n                                                                        <span data-ng-show="(form.telephones.$touched || forms.$submitted) && form.telephones.$error.required" class="help-block help-block-error">\n                                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END TELEPHONES -->\n\n                                                             <!-- START CHAT -->\n                                                           <div class="form-group" data-ng-class="{\'has-error\': (form.chat.$touched || form.$submitted) && form.chat.$invalid}">\n                                                                       <label class="control-label">{{\'APPLICATION_CHAT\' | translate}}</label>\n                                                                     <div class="input-group input-icon">\n                                                                          <i class="icon-bubble"></i>\n                                                                           <input type="text" placeholder="{{\'APPLICATION_CHAT\' | translate}}" class="form-control" readonly>\n                                                                          <span class="input-group-addon">\n                                                                                      <input type="checkbox" name="chat" data-ng-model="item.chat" required>\n                                                                                </span>\n                                                                       </div>\n                                                                        <span data-ng-show="(form.chat.$touched || forms.$submitted) && form.chat.$error.required" class="help-block help-block-error">\n                                                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END CHAT -->\n\n                                                           <!-- START MAIL -->\n                                                           <div class="form-group" data-ng-class="{\'has-error\': (form.mail.$touched || form.$submitted) && form.mail.$invalid}">\n                                                                       <label class="control-label">{{\'APPLICATION_MAIL\' | translate}}</label>\n                                                                     <div class="input-group input-icon">\n                                                                          <i class="icon-envelope"></i>\n                                                                         <input type="text" placeholder="{{\'APPLICATION_MAIL\' | translate}}" class="form-control" readonly>\n                                                                          <span class="input-group-addon">\n                                                                                      <input type="checkbox" name="mail" data-ng-model="item.mail" required>\n                                                                                </span>\n                                                                       </div>\n                                                                        <span data-ng-show="(form.mail.$touched || forms.$submitted) && form.mail.$error.required" class="help-block help-block-error">\n                                                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END MAIL -->\n\n                                                           <!-- START FAX -->\n                                                            <div class="form-group" data-ng-class="{\'has-error\': (form.fax.$touched || form.$submitted) && form.fax.$invalid}">\n                                                                 <label class="control-label">{{\'APPLICATION_FAX\' | translate}}</label>\n                                                                      <div class="input-group input-icon">\n                                                                          <i class="icon-paper-plane"></i>\n                                                                              <input type="text" placeholder="{{\'APPLICATION_FAX\' | translate}}" class="form-control" readonly>\n                                                                           <span class="input-group-addon">\n                                                                                      <input type="checkbox" name="fax" data-ng-model="item.fax" required>\n                                                                          </span>\n                                                                       </div>\n                                                                        <span data-ng-show="(form.fax.$touched || forms.$submitted) && form.fax.$error.required" class="help-block help-block-error">\n                                                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END FAX -->\n\n                                                            <input class="btn green-haze" type="submit" value="{{\'APPLICATION_SUBMIT\' | translate}} {{\'APPLICATION_REQUEST\' | translate}}"/>\n                                                  </form>\n                                               </div>\n                                        </div>\n                                </div>\n                        </div>\n                </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/setting/smtp/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initView()">\n <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-settings"></i>\n                                 <a href="#">{{ \'APPLICATION_SETTINGS\' | translate }}</a>\n                            </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE CONTENT -->\n                <div class="profile-content">\n                 <!-- START SMTP TAB -->\n                       <form name="form" data-ng-submit="form.$valid && updateItem()" novalidate>\n\n                          <!-- START HOST -->\n                           <div class="form-group" data-ng-class="{\'has-error\': (form.host.$touched || form.$submitted) && form.host.$invalid}">\n                                       <label class="control-label">{{\'APPLICATION_HOST\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                        <input type="text" name="host" placeholder="{{\'APPLICATION_HOST\' | translate}}" class="form-control" data-ng-model="item.host" required/>\n                                   <span data-ng-show="(form.host.$touched || form.$submitted) && form.host.$invalid && form.host.$error.required" class="help-block help-block-error">\n                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                 </span>\n                               </div>\n                                <!-- END HOST -->\n\n                           <!-- START USERNAME -->\n                               <div class="form-group" data-ng-class="{\'has-error\': (form.username.$touched || form.$submitted) && form.username.$invalid}">\n                                       <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                     <input type="text" name="username" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="item.username" required/>\n                                       <span data-ng-show="(form.username.$touched || form.$submitted) && form.username.$invalid && form.username.$error.required" class="help-block help-block-error">\n                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                 </span>\n                               </div>\n                                <!-- END USERNAME -->\n\n                               <!-- START PASSWORD -->\n                               <div class="form-group" data-ng-class="{\'has-error\': (form.password.$touched || form.$submitted) && form.password.$invalid}">\n                                       <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                     <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.password" required/>\n                                   <span data-ng-show="(form.password.$touched || form.$submitted) && form.password.$invalid && form.password.$error.required" class="help-block help-block-error">\n                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                 </span>\n                               </div>\n                                <!-- END PASSWORD -->\n\n                               <!-- START PORT -->\n                           <div class="form-group" data-ng-class="{\'has-error\': (form.port.$touched || form.$submitted) && form.port.$invalid}">\n                                       <label class="control-label">{{\'APPLICATION_PORT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                 <input type="number" name="port" placeholder="{{\'APPLICATION_PORT\' | translate}}" class="form-control" data-ng-model="item.port" required/>\n                                 <span data-ng-show="(form.form.$touched || form.$submitted) && form.port.$invalid && form.port.$error.required" class="help-block help-block-error">\n                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                 </span>\n                                       <span data-ng-show="(form.form.$touched || form.$submitted) && form.port.$invalid && form.port.$error.number" class="help-block help-block-error">\n                                            <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_NUMERIC_FIELD\' | translate}}.\n                                  </span>\n                               </div>\n                                <!-- END PORT -->\n\n                           <!-- START SSL -->\n                            <div class="form-group row">\n                                  <label class="col-md-3">\n                                              SSL\n                                   </label>\n                                      <label class="col-md-9">\n                                                      <input type="checkbox" data-ng-model="item.ssl">\n                                      </label>\n                              </div>\n                                <!-- END SSL -->\n                              <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                          <input class="btn blue-madison" type="button" value="Test" data-ng-click="test()"/>\n                   </form>\n                       <!-- END SMTP TAB -->\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/setting/template/list/list.html",'<div class="row">\n   <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-docs"></i>\n                                             <a href="#">{{ \'APPLICATION_TEMPLATES\' | translate }}</a>\n                                   </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-docs font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_TEMPLATES\' | translate }}</a> </span>\n                         </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="Templates.checked.length">\n                                               <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_TEMPLATE\' | translate }} <i class="fa fa-angle-down"></i>\n                                             </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/setting/templates/wizard">\n                                                          <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getTemplates([\'name\', \'description\', \'timeout\', \'strategy\'])" csv-header="[\'Name\', \'Description\', \'Timeout\', \'Strategy\']" field-separator=";" filename="mail_templates.csv">\n                                        <i class="icon-cloud-download"></i></a>\n                               </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedTemplates" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                       <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="7">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.templatesByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                             <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="queueByPage in templatesByPage | filter: $select.search">\n                                                                                                  <div ng-bind-html="queueByPage.name | highlight: $select.search"></div>\n                                                                                               </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(template, checked)" checklist-model checklist-value="id"></th>\n                                                 <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                  </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="template in displayedTemplates">\n                                                              <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="Templates.checked" checklist-value="template.id"></td>\n                                       <td>{{template.name}}</td>\n                                                              <td>{{template.description}}</td>\n                                           <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/setting/templates/view/{{template.id}}/settings">\n                                                                            {{ \'APPLICATION_PROFILE\' | translate }}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(template.name, template.id)">\n                                                                              {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedTemplates.length">\n                                                         <td colspan="6" class="text-center">\n                                                                  <i>No available templates</i>\n                                                         </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                             <td/>\n                                           </tr>\n                                           <tr>\n                                            <td colspan="67" class="text-center">\n                                           <div st-pagination class="pagination" st-items-by-page="conf.templatesByPage.value" st-displayed-pages="7"></div>\n                                           </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/setting/template/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initItem()">\n     <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-docs"></i>\n                                     <a href="/mail/templates/list">{{ \'APPLICATION_TEMPLATES\' | translate }}</a>\n                                        <i data-ng-show="item" class="fa fa-angle-right"></i>\n                         </li>\n                         <li data-ng-show="item">\n                                      <a href="#">{{item.name}}</a>\n                         </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n\n                       <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/template.png" class="img-responsive">\n                           </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{item.name}}\n                                 </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.setting.templates.view.settings\')}">\n                                                    <a data-ng-href="/mail/templates/view/{{item.id}}/settings">\n                                                  <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
 a.put("app/setting/template/view/view.settings.html",'<div class="row">\n      <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n\n                          <form name="form" data-ng-submit="form.$valid && updateItem()" class="form-horizontal" novalidate>\n                                    <!-- START NAME -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': form.name.$invalid && form.$submitted}">\n                                               <div class="col-md-12">\n                                                       <div class="row">\n                                                             <div class="col-md-1">\n                                                                        <label class="control-label">{{\'APPLICATION_NAME\' | translate}}:<span class="required" aria-required="true">*</span></label>\n                                                                </div>\n                                                                <div class="col-md-11">\n                                                                       <input type="text" name="name" class="form-control todo-taskbody-taskdesc" placeholder="{{\'APPLICATION_NAME\' | translate}}..." data-ng-model="item.name" required>\n                                                                  <span data-ng-show="form.name.$invalid && form.$submitted" class="help-block help-block-error">\n                                                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                        </div>\n                                                </div>\n                                        </div>\n                                        <!-- END NAME -->\n\n                                   <!-- START DESCRIPTION -->\n                                    <div class="form-group" data-ng-class="{\'has-error\': form.description.$invalid && form.$submitted}">\n                                                <div class="col-md-12">\n                                                       <div class="row">\n                                                             <div class="col-md-1">\n                                                                        <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}:</label>\n                                                             </div>\n                                                                <div class="col-md-11">\n                                                                       <input type="text" name="description" class="form-control todo-taskbody-taskdesc" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}..." rows="8" data-ng-model="item.description">\n                                                                     <span data-ng-show="form.description.$invalid && form.$submitted" class="help-block help-block-error">\n                                                                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                        </div>\n                                                </div>\n                                        </div>\n                                        <!-- END NAME -->\n\n                                   <hr>\n\n                                        <!-- START SUBJECT -->\n                                        <div class="form-group row" data-ng-class="{\'has-error\': form.subject.$invalid && form.$submitted}">\n                                                <div class="col-md-12">\n                                                       <div class="row">\n                                                             <div class="col-md-4">\n                                                                        <label class="control-label pull-right">{{\'APPLICATION_SUBJECT\' | translate}}:</label>\n                                                              </div>\n                                                                <div class="col-md-8">\n                                                                        <input type="text" name="subject" class="form-control todo-taskbody-taskdesc" placeholder="{{\'APPLICATION_SUBJECT\' | translate}}..." rows="8" data-ng-model="item.subject">\n                                                                 <span data-ng-show="form.subject.$invalid && form.$submitted" class="help-block help-block-error">\n                                                                            <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                        </div>\n                                                </div>\n                                        </div>\n                                        <!-- END SUJBECT -->\n\n                                        <!-- START HTML -->\n                                   <div class="form-group row" data-ng-class="{\'has-error\': form.text.$invalid && form.$submitted}">\n\n                                         <div class="col-md-4">\n                                                        <div class="portlet light bordered">\n                                                          <div class="portlet-title">\n                                                                   <div class="caption font-green-sharp">\n                                                                                <i class="icon-pencil"></i>{{\'APPLICATION_VARIABLES\' | translate}}\n                                                                  </div>\n                                                                </div>\n                                                                <div class="portlet-body">\n                                                                    <uib-accordion>\n                                                                   <uib-accordion-group heading="{{group.title | translate}}" data-ng-repeat="group in groups">\n                                                                    {{group.content | translate}}\n                                                                                   <ol>\n                                                                                          <li data-ng-repeat="variable in group.variables">\n                                                                                                      {{variable}}\n                                                                                         </li>\n                                                                                 </ol>\n                                                             </uib-accordion-group>\n                                                              </uib-accordion>\n                                                            </div>\n                                                        </div>\n                                                </div>\n                                                <div class="col-md-8">\n                                                        <div class="inbox-editor inbox-wysihtml5" text-angular data-ng-model="item.html" name="html"></div>\n                                                           <span data-ng-show="form.text.$invalid && form.$submitted" class="help-block help-block-error">\n                                                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                               </div>\n                                        </div>\n                                        <!-- END HTML -->\n\n                                   <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                          </form>\n                       </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/setting/template/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n      <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n\n      <li>\n                           <i class="icon-settings"></i>\n                         <a href="#">{{ \'APPLICATION_SETTINGS\' | translate }}</a>\n                    </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered" data-ng-init="initWizard()">\n      <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-docs font-green-sharp"></i>\n                    <span class="caption-subject">{{ \'APPLICATION_TEMPLATES\' | translate }} FORM</a> </span>\n            </div>\n        </div>\n        <div class="portlet-body">\n                    <form name="form" data-ng-submit="form.$valid && createItem()" class="form-horizontal" novalidate>\n                            <!-- START HEAD -->\n                           <div class="form">\n                                    <!-- START NAME -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': form.name.$invalid && form.$submitted}">\n                                               <div class="col-md-12">\n                                                       <div class="row">\n                                                             <div class="col-md-1">\n                                                                        <label class="control-label">{{\'APPLICATION_NAME\' | translate}}:<span class="required" aria-required="true">*</span></label>\n                                                                </div>\n                                                                <div class="col-md-11">\n                                                                       <input type="text" name="name" class="form-control todo-taskbody-taskdesc" placeholder="{{\'APPLICATION_NAME\' | translate}}..." data-ng-model="item.name" required>\n                                                                  <span data-ng-show="form.name.$invalid && form.$submitted" class="help-block help-block-error">\n                                                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                        </div>\n                                                </div>\n                                        </div>\n                                        <!-- END NAME -->\n\n                                   <!-- START DESCRIPTION -->\n                                    <div class="form-group" data-ng-class="{\'has-error\': form.description.$invalid && form.$submitted}">\n                                                <div class="col-md-12">\n                                                       <div class="row">\n                                                             <div class="col-md-1">\n                                                                        <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}:</label>\n                                                             </div>\n                                                                <div class="col-md-11">\n                                                                       <input type="text" name="description" class="form-control todo-taskbody-taskdesc" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}..." rows="8" data-ng-model="item.description">\n                                                                     <span data-ng-show="form.description.$invalid && form.$submitted" class="help-block help-block-error">\n                                                                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                        </div>\n                                                </div>\n                                        </div>\n                                        <!-- END NAME -->\n\n                                   <!-- START SUBJECT -->\n                                        <div class="form-group" data-ng-class="{\'has-error\': form.subject.$invalid && form.$submitted}">\n                                            <div class="col-md-12">\n                                                       <div class="row">\n                                                             <div class="col-md-1">\n                                                                        <label class="control-label">{{\'APPLICATION_SUBJECT\' | translate}}:</label>\n                                                         </div>\n                                                                <div class="col-md-11">\n                                                                       <input type="text" name="subject" class="form-control todo-taskbody-taskdesc" placeholder="{{\'APPLICATION_SUBJECT\' | translate}}..." rows="8" data-ng-model="item.subject">\n                                                                 <span data-ng-show="form.subject.$invalid && form.$submitted" class="help-block help-block-error">\n                                                                            <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                        </div>\n                                                </div>\n                                        </div>\n                                        <!-- END SUJBECT -->\n\n                                        <!-- START HTML -->\n                                   <div class="form-group row" data-ng-class="{\'has-error\': form.text.$invalid && form.$submitted}">\n                                           <div class="col-md-4">\n                                                        <div class="portlet light bordered">\n                                                          <div class="portlet-title">\n                                                                   <div class="caption font-green-sharp">\n                                                                                <i class="icon-pencil"></i>{{\'APPLICATION_VARIABLES\' | translate}}\n                                                                  </div>\n                                                                </div>\n                                                                <div class="portlet-body">\n                                                                    <uib-accordion>\n                                                                   <uib-accordion-group heading="{{group.title | translate}}" data-ng-repeat="group in groups">\n                                                                    {{group.content | translate}}\n                                                                                   <ol>\n                                                                                          <li data-ng-repeat="variable in group.variables">\n                                                                                                      {{variable}}\n                                                                                         </li>\n                                                                                 </ol>\n                                                             </uib-accordion-group>\n                                                              </uib-accordion>\n                                                            </div>\n                                                        </div>\n                                                </div>\n                                                <div class="col-md-8">\n                                                        <div class="inbox-editor inbox-wysihtml5" text-angular data-ng-model="item.html" name="html"></div>\n                                                           <span data-ng-show="form.text.$invalid && form.$submitted" class="help-block help-block-error">\n                                                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                               </div>\n                                        </div>\n                                        <!-- END HTML -->\n\n                           </div>\n                                <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" data-ng-click="goNext()"/>\n                       </form>\n       </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/setting/update/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-settings"></i>\n                                 <a href="#">{{ \'APPLICATION_SETTINGS\' | translate }}</a>\n                            </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-cloud-download font-green-sharp"></i>\n                                  <span class="caption-subject">{{ \'APPLICATION_UPDATES\' | translate }}</a> </span>\n                           </div>\n                                <div class="actions">\n                                 <a class="btn btn-default" href="#" data-ng-click="pull()">\n                                           <i class="icon-cloud-download"></i> {{ \'APPLICATION_UPDATE\' | translate }}\n                                  </a>\n                          </div>\n                        </div>\n                        <div class="portlet-body" data-ng-init="initList()">\n                          <!-- BEGIN TABLE -->\n                                  <table st-table="displayedUpdates" st-safe-src="updates" class="table table-striped table-bordered table-hover">\n                                              <div class="table-responsive">\n                                                  <thead>\n                                                             <tr>\n                                                                  <th colspan="3">\n                                                                              <div class="row">\n                                                                                     <div class="col-md-12">\n                                                                                               <ui-select class="input-xsmall" ng-model="conf.updatesByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                                       <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                                     <ui-select-choices repeat="updateByPage in updatesByPage | filter: $select.search">\n                                                                                                           <div ng-bind-html="updateByPage.name | highlight: $select.search"></div>\n                                                                                                      </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                  </div>\n                                                                                </div>\n                                                                        </th>\n                                                         </tr>\n                                                         <tr>\n                                                                  <th st-sort="message">{{ \'APPLICATION_MESSAGE\' | translate }}</th>\n                                                                  <th st-sort="version">{{ \'APPLICATION_VERSION\' | translate }}</th>\n                                                                  <th>{{ \'APPLICATION_DATE\' | translate }}</th>\n                                                                       <!-- <th class="small-cells"></th> -->\n                                                          </tr>\n                                                 </thead>\n                                                    <tbody>\n                                                   <tr data-ng-repeat="update in displayedUpdates">\n                                                                  <td>\n                                                                          {{update.message}}\n                                                                    </td>\n                                                                 <td>\n                                                                          {{update.version}}\n                                                                    </td>\n                                                                 <td>\n                                                                          {{update.date}}\n                                                                       </td>\n                                             </tr>\n                                                             <tr data-ng-hide="displayedUpdates.length">\n                                                                   <td colspan="9" style="text-align:center;">\n                                                                           <i>{{\'MESSAGE_NO_AVAILABLE_UPDATES\' | translate}}</i>\n                                                                       </td>\n                                                         </tr>\n                                           </tbody>\n                                              <tfoot>\n                                                             <tr>\n                                                                  <td colspan="1">\n                                                                              <div class="input-icon right">\n                                                                                        <i class="fa fa-search"></i>\n                                                                                  <input st-search="message" placeholder="{{ \'APPLICATION_MESSAGE\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                            </div>\n                                                                        <td colspan="9"></td>\n                                                   </tr>\n                                                   <tr>\n                                                    <td colspan="10" class="text-center">\n                                                                           <div class="pagination" st-pagination st-items-by-page="conf.updatesByPage.value" st-displayed-pages="7"></div>\n                                                     </td>\n                                               </tr>\n                                               </tfoot>\n                                            </div>\n                                        </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/setting/update/list/list.pull.html",'<div class="modal-header">\n  <button ng-if="modal.dismissable" type="button" ng-click="$dismiss()" class="close">&times;</button>\n  <h4 ng-if="modal.title" ng-bind="modal.title" class="modal-title"></h4>\n</div>\n<div class="modal-body">\n  <p ng-if="modal.text" ng-bind="modal.text"></p>\n  <div ng-if="modal.html" ng-bind-html="modal.html"></div>\n</div>\n<div class="modal-footer">\n  <button ng-repeat="button in modal.buttons" ng-class="button.classes" ng-click="button.click($event)" ng-bind="button.text" class="btn"></button>\n</div>\n'),a.put("app/sound/list/list.html",'<div class="page-bar">\n  <ul class="page-breadcrumb">\n    <li>\n      <i class="icon-rocket"></i>\n      <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n      <i class="fa fa-angle-right"></i>\n    </li>\n    <li>\n      <i class="icon-music-tone-alt"></i>\n      <a href="#">{{ \'APPLICATION_SOUNDS\' | translate }}</a>\n    </li>\n  </ul>\n  <div class="page-toolbar">\n  </div>\n</div>\n<!-- END PAGE HEADER-->\n<!-- BEGIN PAGE CONTENT-->\n<!-- Audio Portlets -->\n<div class="headline">\n  <h3><i class="icon-music-tone-alt sounds-title-icon"></i> {{ \'APPLICATION_SOUNDS\' | translate }}</h3>\n</div>\n<div class="portlet light bg-inverse">\n  <div class="portlet-title collapsible" ng-click="isCollapsed = !isCollapsed">\n    <div class="caption">\n      <i class="icon-puzzle font-red-flamingo"></i>\n      <span class="caption-subject bold font-red-flamingo uppercase">\n      {{\'APPLICATION_FILE_UPLOAD\' | translate}} </span>\n    </div>\n    <div class="tools">\n      <a href="" ng-class="{\'collapse\': !isCollapsed, \'expand\' : isCollapsed}">\n      </a>\n      <a href="" class="fullscreen">\n      </a>\n    </div>\n  </div>\n  <div class="portlet-body" ng-slide-down="!isCollapsed">\n    <div class="row" nv-file-drop="" uploader="uploader" filters="queueLimit, customFilter">\n     <div class="col-md-4">\n                <div class="portlet light bordered">\n                          <div class="portlet-title">\n                                   <div class="caption font-green-sharp">\n                                        <i class="icon-settings font-green-sharp"></i>\n                                        <span class="caption-subject bold uppercase">{{\'APPLICATION_SELECT_FILES\' | translate}}</span>\n                                      <span class="caption-helper hide"></span>\n                             </div>\n                                <div class="actions">\n                                 </div>\n                        </div>\n                        <div class="portlet-body">\n                                    <div ng-show="uploader.isHTML5">\n                                      <div class="file-drop-zone margin-bottom-20" nv-file-over="" uploader="uploader" over-class="file-drop-zone-over">\n                                                    Base drop zone\n                                        </div>\n                                </div>\n                                <span class="btn default btn-file">\n                                   <span class="fileinput-new">\n                                  {{\'APPLICATION_FILE_UPLOAD\' | translate}}</span>\n                                    <input type="file" nv-file-select="" uploader="uploader" />\n                                   </span>\n                               <span class="btn default btn-file">\n                                   <span class="fileinput-new">\n                                  {{\'APPLICATION_MULTI_FILE_UPLOAD\' | translate}}</span>\n                              <input type="file" nv-file-select="" uploader="uploader" multiple  /><br/>\n          </span>\n          <p>\n            </br>\n            {{ \'MESSAGE_SUPPORTED_FORMATS\' | translate }} <b>wav, mp3, gsm, ogg</b>.\n          </p>\n          <p>\n            {{ \'MESSAGE_MAXIMUM_SOUND_UPLOAD_SIZE\' | translate }} <b>15 Mb</b>.\n          </p>\n                     </div>\n                </div>\n        </div>\n        <div class="col-md-8">\n                <div class="portlet light bordered">\n                          <div class="portlet-title">\n                                   <div class="caption font-green-sharp">\n                                        <i class="icon-settings font-green-sharp"></i>\n                                        <span class="caption-subject bold uppercase">{{\'APPLICATION_UPLOAD_QUEUE\' | translate}}</span>\n                                      <span class="caption-helper">{{\'APPLICATION_QUEUE_LENGTH\' | translate}}: {{ uploader.queue.length }}</span>\n                                 </div>\n                                <div class="actions">\n                                 </div>\n                        </div>\n                        <div class="portlet-body">\n                                    <div class="table-scrollable table-scrollable-borderless">\n                                            <table class="table table-hover table-light">\n                                                 <thead>\n                                                       <tr class="uppercase">\n                                                                <th width="50%">{{\'APPLICATION_NAME\' | translate}}</th>\n                                                             <th ng-show="uploader.isHTML5">{{\'APPLICATION_SIZE\' | translate}}</th>\n                                                              <th ng-show="uploader.isHTML5">{{\'APPLICATION_PROGRESS\' | translate}}</th>\n                                                                  <th>{{\'APPLICATION_STATUS\' | translate}}</th>\n                                                               <th>{{\'APPLICATION_MESSAGE\' | translate}}</th>\n                                                              <th>{{\'APPLICATION_ACTIONS\' | translate}}</th>\n                                                      </tr>\n                                                 </thead>\n                                              <tbody>\n                                                       <tr ng-repeat="item in uploader.queue">\n                                                               <td><strong>{{ item.file.name }}</strong></td>\n                                                                <td ng-show="uploader.isHTML5" nowrap>{{ item.file.size/1024/1024|number:2 }} MB</td>\n                                                                 <td ng-show="uploader.isHTML5">\n                                                                       <div class="progress progress-sm" style="margin-bottom: 0;">\n                                                                                  <div class="progress-bar progress-bar-info" role="progressbar" ng-style="{ \'width\': item.progress + \'%\' }"></div>\n                                                                         </div>\n                                                                </td>\n                                                                 <td class="text-center">\n                                                                      <span ng-show="item.isSuccess" class="text-success"><i class="glyphicon glyphicon-ok"></i></span>\n                                                                     <span ng-show="item.isCancel" class="text-info"><i class="glyphicon glyphicon-ban-circle"></i></span>\n                                                                         <span ng-show="item.isError" class="text-danger"><i class="glyphicon glyphicon-remove"></i></span>\n                                                                            <span ng-show="item.isUploading" class="text-info"><i class="glyphicon glyphicon-upload"></i></span>\n                                                                  </td>\n                                                                 <td class="text-center">\n                                                                      <span ng-show="item.responseMessage" class="text-danger">{{item.responseMessage}}</span>\n                                                              </td>\n                                                                 <td nowrap>\n                                                                           <button type="button" class="btn btn-success btn-xs" ng-click="item.upload()" ng-disabled="item.isReady || item.isUploading || item.isSuccess">\n                                                                       <span class="glyphicon glyphicon-upload"></span> {{\'APPLICATION_UPLOAD\' | translate}}\n                                                                       </button>\n                                                                     <button type="button" class="btn btn-warning btn-xs" ng-click="item.cancel()" ng-disabled="!item.isUploading">\n                                                                        <span class="glyphicon glyphicon-ban-circle"></span> {{\'APPLICATION_CANCEL\' | translate}}\n                                                                           </button>\n                                                                     <button type="button" class="btn btn-danger btn-xs" ng-click="item.remove()">\n                                                                         <span class="glyphicon glyphicon-trash"></span> {{\'APPLICATION_REMOVE\' | translate}}\n                                                                        </button>\n                                                             </td>\n                                                         </tr>\n                                                 </tbody>\n                                      </table>\n                              </div>\n                                <div>\n                                         <p>{{\'APPLICATION_UPLOAD_QUEUE_PROGRESS\' | translate}}:</p>\n                                         <div class="progress progress-sm" style="">\n                                                   <div class="progress-bar progress-bar-info" role="progressbar" ng-style="{ \'width\': uploader.progress + \'%\' }"></div>\n                                     </div>\n                                </div>\n                                <button type="button" class="btn btn-success btn-s" ng-click="uploader.uploadAll()" ng-disabled="!uploader.getNotUploadedItems().length">\n                             <span class="glyphicon glyphicon-upload"></span> {{\'APPLICATION_UPLOAD_ALL\' | translate}}\n                                   </button>\n                             <button type="button" class="btn btn-warning btn-s" ng-click="uploader.cancelAll()" ng-disabled="!uploader.isUploading">\n                              <span class="glyphicon glyphicon-ban-circle"></span> {{\'APPLICATION_CANCEL_ALL\' | translate}}\n                               </button>\n                             <button type="button" class="btn btn-danger btn-s" ng-click="uploader.clearQueue()" ng-disabled="!uploader.queue.length">\n                             <span class="glyphicon glyphicon-trash"></span> {{\'APPLICATION_REMOVE_ALL\' | translate}}\n                                    </button>\n                     </div>\n                </div>\n        </div>\n    </div>\n  </div>\n</div>\n<div class="row thumbnails" data-ng-init="initList()">\n  <div class="row" ng-show="sounds.length == 0">\n    <div class="col-md-12 page-404">\n      <div class="details">\n        <h3>{{ \'MESSAGE_NO_SOUNDS\' | translate }}</h3>\n        <p>\n          <a href="/">\n          {{ \'MESSAGE_RETURN_HOME\' | translate }} </a>\n          {{ \'MESSAGE_OR_UPLOAD_SOUND_FILE\' | translate }}\n        </p>\n      </div>\n    </div>\n  </div>\n  <div class="audio-portlet-wrapper animate-repeat" ng-repeat="sound in sounds">\n    <div class="audio-portlet">\n      <div class="audio-portlet-title"><a href="#" editable-text="sound.display_name" onbeforesave="updateAudio(sound.id,{display_name : $data})">{{ sound.display_name || "Empty" }}</a></div>\n      <img src="../assets/images/note_placeholder.png" alt="" class="img-responsive"/>\n      <div class="file-info">\n        <div class="audio-tag-wrapper">\n          <audio controls ng-src="{{getSecureSrc(audioSources[sound.id])}}" preload="none">\n            {{ \'MESSAGE_AUDIO_NOT_SUPPORTED\' | translate }}\n          </audio>\n        </div>\n        <p id="description_div">\n          <a href="#" editable-text="sound.description" onbeforesave="updateAudio(sound.id,{description : $data})">{{ sound.description || "Empty" }}</a>\n        </p>\n        <p class="float-right">\n            <button class="btn btn-xs green-meadow" tooltip-html-unsafe="<ul class=\'list-unstyled\'><li><b>Format : </b>{{sound.original_format}}</li><li><b>Duration : </b>{{sound.original_duration | date: \'mm:ss\'}}</li><li><b>Channels : </b>{{sound.original_channelCount}}</li><li><b>Bitrate : </b>{{sound.original_bitRate/1024}} kbs</li><li><b>Sample Rate : </b>{{sound.original_sampleRate/1000}} KHz</li></ul>"><i class="icon-list"></i></button>\n            <a class="btn btn-xs blue-hoki" href="{{getSecureDownloadSrc(audioSources[sound.id])}}" download="{{sound.name+\'.\'+sound.original_format}}" target="_self" tooltip="Download"><i class="icon-cloud-download"></i></a>\n            <button class="btn btn-xs red-sunglo" ng-click="delete(sound.display_name, sound.id)" tooltip="Delete"><i class="icon-close" ></i></button>\n        </p>\n      </div>\n    </div>\n  </div>\n</div>\n<!-- End Audio Portlets -->\n'),a.put("app/sound/sound.html","<!-- BEGIN PAGE CONTENT-->\n<div ui-view></div>\n<!-- END PAGE CONTENT-->\n"),a.put("app/square/odbc/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n    <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-docs"></i>\n                                     <a href="/square/odbcs/list">{{ \'APPLICATION_ODBCS\' | translate }}</a>\n                              </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-docs font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_ODBCS\' | translate }}</a> </span>\n                             </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="Odbcs.checked.length">\n                                           <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_ODBC\' | translate }} <i class="fa fa-angle-down"></i>\n                                         </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/square/odbcs/wizard">\n                                                               <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getOdbcs([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="square_odbcs.csv">\n                                    <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedOdbcs" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                   <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="4">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.odbcsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                         <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="odbcByPage in odbcsByPage | filter: $select.search">\n                                                                                                       <div ng-bind-html="odbcByPage.name | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(odbc, checked)" checklist-model checklist-value="id"></th>\n                                             <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="odbc in displayedOdbcs" class="animate-repeat">\n                                                               <td style="text-align: center; vertical-align: middle"><input data-ng-hide="odbc.defaultEntry" type="checkbox" checklist-model="Odbcs.checked" checklist-value="odbc.id"></td>\n                                                                <td>{{odbc.name}}</td>\n                                              <td>{{odbc.description}}</td>\n                                         <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/square/odbcs/view/{{odbc.id}}/settings" data-ng-class="{\'disabled\': odbc.defaultEntry}">\n                                                                           {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(odbc.name,odbc.id)" data-ng-class="{\'disabled\': odbc.defaultEntry}">\n                                                                             {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedOdbcs.length">\n                                                             <td colspan="4" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_ODBCS_AVAILABLE\' | translate }}</i>\n                                                               </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="4" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.odbcsByPage.value" st-displayed-pages="7"></div>\n                                       </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/square/odbc/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getOdbc()">\n   <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-docs"></i>\n                                     <a href="/square/odbcs/list">{{ \'APPLICATION_ODBCS\' | translate }}</a>\n                                      <i data-ng-show="odbc" class="fa fa-angle-right"></i>\n                         </li>\n                         <li data-ng-show="odbc">\n                                      <a href="#">{{odbc.name}}</a>\n                         </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/odbc.png" class="img-responsive">\n                               </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{odbc.name}}\n                                 </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.square.odbcs.view.settings\')}">\n                                                 <a data-ng-href="/square/odbcs/view/{{odbc.id}}/settings">\n                                                    <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/square/odbc/view/view.settings.html",'<div class="row">\n       <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_ODBC\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n                                </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateOdbc()" novalidate>\n\n                                                        <!-- START NAME -->\n                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                      <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                 <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="odbc.name" required/>\n                                                           <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$error.required" class="help-block help-block-error">\n                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                       </span>\n                                     </div>\n                                <!-- END NAME -->\n\n                                                     <!-- START DSN -->\n                                                    <div class="form-group" data-ng-class="{\'has-error\': (forms.odbc.dsn.$touched || forms.odbc.$submitted) && forms.odbc.dsn.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_DSN\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                          <input type="text" name="dsn" placeholder="{{\'APPLICATION_DSN\' | translate}}" class="form-control" data-ng-model="odbc.dsn" required/>\n                                                              <span data-ng-show="(forms.odbc.dsn.$touched || forms.odbc.$submitted) && forms.odbc.dsn.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END DSN -->\n\n                                                    <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="odbc.description"></textarea>\n                                                  </div>\n                                                        <!-- END DESCRIPTION -->\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END ADVANCED TAB -->\n\n                           </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),
 a.put("app/square/odbc/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n     <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-docs"></i>\n                             <a href="/square/odbcs/list">{{ \'APPLICATION_ODBCS\' | translate }}</a>\n                              <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="/square/odbcs/wizard">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                   </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-docs font-green-sharp"></i>\n                    <span class="caption-subject">{{ \'APPLICATION_ODBC\' | translate }} WIZARD</a> </span>\n               </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.odbc.$valid)">\n                            <form name="forms.odbc" novalidate>\n\n                           <!-- START NAME -->\n                           <div class="form-group" data-ng-class="{\'has-error\': (forms.odbc.name.$touched || forms.odbc.$submitted) && forms.odbc.name.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                   <span data-ng-show="(forms.odbc.name.$touched || forms.odbc.$submitted) && forms.odbc.name.$error.required" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END NAME -->\n\n                                             <!-- START DSN -->\n                          <div class="form-group" data-ng-class="{\'has-error\': (forms.odbc.dsn.$touched || forms.odbc.$submitted) && forms.odbc.dsn.$invalid}">\n                         <label class="control-label">{{\'APPLICATION_DSN\' | translate}}<span class="required" aria-required="true">*</span></label>\n                          <input type="text" name="dsn" placeholder="{{\'APPLICATION_DSN\' | translate}}" class="form-control" data-ng-model="item.dsn" required/>\n                                                      <span data-ng-show="(forms.odbc.dsn.$touched || forms.odbc.$submitted) && forms.odbc.dsn.$error.required" class="help-block help-block-error">\n                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END DSN -->\n\n                                              <!-- START DESCRIPTION -->\n                                            <div class="form-group">\n                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                      <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"></textarea>\n                                          </div>\n                                                <!-- END DESCRIPTION -->\n                            <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                          </form>\n                     </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                     <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/square/project/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n        <li>\n          <i class="fa fa-slack"></i>\n          <a href="/square/projects/list">{{ \'APPLICATION_PROJECTS\' | translate }}</a>\n        </li>\n                   </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-docs font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_PROJECTS\' | translate }}</a> </span>\n                          </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="Projects.checked.length">\n                                                <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_PROJECT\' | translate }} <i class="fa fa-angle-down"></i>\n                                              </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/square/projects/wizard">\n                                                            <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getProjects([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="square_projects.csv">\n                                      <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedProjects" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                        <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="4">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.projectsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                              <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="projectByPage in projectsByPage | filter: $select.search">\n                                                                                                 <div ng-bind-html="projectByPage.name | highlight: $select.search"></div>\n                                                                                             </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(agent, checked)" checklist-model checklist-value="id"></th>\n                                                    <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="project in displayedProjects" class="animate-repeat">\n                                                         <td style="text-align: center; vertical-align: middle"><input data-ng-hide="project.defaultEntry" type="checkbox" checklist-model="Projects.checked" checklist-value="project.id"></td>\n                                                               <td>{{project.name}}</td>\n                                           <td>{{project.description}}</td>\n                                              <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/square/projects/view/{{project.id}}" data-ng-class="{\'disabled\': project.defaultEntry}">\n                                                                           {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(project.name,project.id)" data-ng-class="{\'disabled\': project.defaultEntry}">\n                                                                            {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedProjects.length">\n                                                          <td colspan="4" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_PROJECTS_AVAILABLE\' | translate }}</i>\n                                                            </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="4" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.projectsByPage.value" st-displayed-pages="7"></div>\n                                            </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/square/project/view/view.html",'<div class="row" data-ng-init="getProject()">\n <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="fa fa-superscript"></i>\n                                             <a href="/square/projects">{{ \'APPLICATION_CALLYSQUARE\' | translate }}</a>\n                                          <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="fa fa-slack"></i>\n                                           <a href="/square/projects">{{ \'APPLICATION_PROJECTS\' | translate }}</a>\n            <i class="fa fa-angle-right"></i>\n                                      </li>\n          <li>\n                                         <a ng-href="/square/projects/view/{{squareProject.id}}">{{squareProject.name}}</a>\n          </li>\n                           </ul>\n                 </div>\n                </div>\n</div>\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n  <div class="col-md-12">\n              <div id="geEditor" class="geEditor"></div>\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n<script>\n\n\n</script>\n'),a.put("app/square/project/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n       <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-docs"></i>\n                             <a href="/square/projects/list">{{ \'APPLICATION_PROJECTS\' | translate }}</a>\n                                <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="/square/projects/wizard">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                        </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-docs font-green-sharp"></i>\n                    <span class="caption-subject">{{ \'APPLICATION_PROJECT\' | translate }} WIZARD</a> </span>\n            </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.project.$valid)">\n                         <form name="forms.project" novalidate>\n\n                        <!-- START NAME -->\n                           <div class="form-group" data-ng-class="{\'has-error\': (forms.project.name.$touched || forms.project.$submitted) && forms.project.name.$invalid}">\n                              <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                   <span data-ng-show="(forms.project.name.$touched || forms.project.$submitted) && forms.project.name.$error.required" class="help-block help-block-error">\n                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END NAME -->\n\n                                             <!-- START DESCRIPTION -->\n                                            <div class="form-group">\n                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                      <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"></textarea>\n                                          </div>\n                                                <!-- END DESCRIPTION -->\n                            <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                          </form>\n                     </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                     <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/sugarcrm/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n        <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-handbag"></i>\n                                  <a href="/sugarcrm/list">{{ \'APPLICATION_SUGARCRM\' | translate }}</a>\n                               </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-handbag font-green-sharp"></i>\n                                 <span class="caption-subject">{{ \'APPLICATION_SUGARCRM\' | translate }}</a> </span>\n                          </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="accounts.checked.length">\n                                                <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle" href="#" data-toggle="dropdown">\n                                                  <i class="icon-plus"></i> {{ \'APPLICATION_NEW_ACCOUNT\' | translate }} <i class="fa fa-angle-down"></i>\n                                              </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/sugarcrm/wizard">\n                                                           <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getAccounts([\'name\',\'username\',\'remoteUri\',\'password\'])" csv-header="[\'Name\', \'Username\', \'Remote Address\', \'Password\']" field-separator=";" filename="sugarcrm_accounts.csv">\n                                      <i class="icon-cloud-download"></i></a>\n                               </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedSugarcrmAccounts" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                        <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="7">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.accountsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                              <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="accountByPage in accountsByPage | filter: $select.search">\n                                                                                                 <div ng-bind-html="accountByPage.name | highlight: $select.search"></div>\n                                                                                             </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(account, checked)" checklist-model checklist-value="id"></th>\n                                                  <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                <th st-sort="username">{{ \'APPLICATION_EMAIL\' | translate }}</th>\n                                                               <th st-sort="remoteUri">{{ \'APPLICATION_REMOTE_ADDRESS\' | translate }}</th>\n                                                         <th>{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                                <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="account in displayedSugarcrmAccounts" class="animate-repeat">\n                                                         <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="accounts.checked" checklist-value="account.id"></td>\n                                         <td>{{account.name}}</td>\n                                             <td>{{account.username}}</td>\n                                                           <td>{{account.remoteUri}}</td>\n                                                                <td>{{account.description}}</td>\n                                            <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/sugarcrm/view/{{account.id}}/account">\n                                                                               {{ \'APPLICATION_EDIT\' | translate }}\n                                                </a>\n                                                                  <a class="btn default btn-xs green-stripe" data-ng-click="checkAccount(account.id)">\n                                                                          {{ \'APPLICATION_CHECK_CONNECTION\' | translate }}\n                                            </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(account.name,account.id)">\n                                                                         {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedSugarcrmAccounts.length">\n                                                          <td colspan="7" style="text-align:center;">\n                                                                   <i>No account available</i>\n                                                           </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="email" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_EMAIL\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                      </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="remoteUri" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_REMOTE_ADDRESS\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                 </div>\n                                                    </td>\n                                                 <td/>\n                                                             <td/>\n                                           </tr>\n                                           <tr>\n                                            <td colspan="7" class="text-center">\n                                                                    <div class="pagination" st-pagination st-items-by-page="conf.accountsByPage.value" st-displayed-pages="7"></div>\n                                            </td>\n                                       </tr>\n                                       </tfoot>\n                                    </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/sugarcrm/view/view.account.html",'<div class="row">\n   <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_ACCOUNT\' | translate}}</span>\n                         </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{\'APPLICATION_GENERALS\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n                        <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.formSetting" data-ng-submit="forms.formSetting.$valid && updateItem()" novalidate>\n              <!-- START NAME -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.name.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_NAME\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="account.name" required/>\n                                                                <span data-ng-show="forms.formSetting.name.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n                                                     <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="account.description"/>\n                                                    </div>\n                                                        <!-- END DESCRIPTION -->\n\n              <!-- START USERNAME -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.username.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                            <input type="text" name="username" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="account.username" required/>\n                                                            <span data-ng-show="forms.formSetting.username.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n              <!-- START REMOTE ADDRESS -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.remoteUri.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_REMOTE_ADDRESS\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                              <input type="url" name="remoteUri" placeholder="{{\'APPLICATION_REMOTE_ADDRESS\' | translate}}" class="form-control" data-ng-model="account.remoteUri" required />\n                                                            <span data-ng-show="forms.formSetting.remoteUri.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n                                                       <!-- START PASSWORD -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.password.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                            <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="account.password" required/>\n                                                                <span data-ng-show="forms.formSetting.apiKey.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                   <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END API KEY -->\n\n                                                        <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END GENERAL TAB -->\n\n                            </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/sugarcrm/view/view.configuration.html",'<div class="row" data-ng-init="initConfiguration()">\n    <div class="col-md-12">\n               <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_CONFIGURATION\' | translate }} WIZARD</a> </span>\n                              </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createConfiguration()">\n            <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="formValidation(formsConfiguration.info.$valid)">\n                                                   <form name="formsConfiguration.info" novalidate>\n                                                              <!-- START NAME -->\n                                                           <div class="form-group" data-ng-class="{\'has-error\': formsConfiguration.info.$submitted && formsConfiguration.info.name.$invalid}">\n                                                                 <label class="control-label">{{\'APPLICATION_NAME\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                        <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="configuration.name" required/>\n                                                                  <span data-ng-show="formsConfiguration.info.name.$invalid && formsConfiguration.info.$submitted" class="help-block help-block-error">\n                                                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END NAME -->\n                                                             <!-- START DESCRIPTION -->\n                                                            <div class="form-group">\n                                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                                      <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="configuration.description"/>\n                                                              </div>\n                                                                <!-- END DESCRIPTION -->\n\n                                                            <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" data-ng-click="goNext()"/>\n                                                       </form>\n                                               </wz-step>\n\n                                          <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                                    <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                         </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/sugarcrm/view/view.configurationSettings.html",'<div class="row" data-ng-init="getConfiguration();getVariables();getFields();">\n       <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_CONFIGURATION\' | translate}}: {{configurationName}}</span>\n                            </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{\'APPLICATION_SUBJECT\' | translate}}</a>\n                                      </li>\n          <li>\n                                         <a href="#" data-target="#tab_1_2" data-toggle="tab">{{\'APPLICATION_DESCRIPTION\' | translate}}</a>\n                                  </li>\n          <li>\n                                         <a href="#" data-target="#tab_1_3" data-toggle="tab">{{\'APPLICATION_FIELDS\' | translate}}</a>\n                                       </li>\n                         </ul>\n                 </div>\n                        <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- SUBJECT TAB -->\n                                  <div class="tab-pane ui-padding active" id="tab_1_1">\n            <div class="row">\n              <div class="col-md-11">\n                <span class="caption-subject">All following fields will be join by blank space:</span>\n              </div>\n              <div class="col-md-1 pull-rigth">\n                <button class="btn btn-icon-only green" data-ng-click="addItemSubject()"><i class="fa fa-plus"></i></button>\n              </div>\n            </div>\n            <hr>\n                                          <!-- <div ng-scrollbars ng-scrollbars-config="config"> -->\n                <div class="row" data-ng-repeat="subjectItem in subjectConfig">\n                 <div class="col-md-3">\n                  <ui-select ng-model="subjectItem.type" theme="bootstrap" ng-disabled="disabled" data-ng-change="changeType(subjectItem)">\n                       <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                     <ui-select-choices repeat="item in fieldType | filter: $select.search">\n                         <div ng-bind-html="item | highlight: $select.search | capitalize"></div>\n                    </ui-select-choices>\n                        </ui-select>\n                </div>\n                <div class="col-md-8" data-ng-if="subjectItem.type==\'string\'">\n                        <div class="form-group">\n                        <input type="text" class="form-control" data-ng-model="subjectItem.content" data-ng-change="updateField(subjectItem)">\n                      </div>\n                      </div>\n                <div class="col-md-8" data-ng-if="subjectItem.type==\'variable\'">\n                      <div class="form-group">\n                        <ui-select theme="bootstrap" ng-disabled="disabled" data-ng-model="subjectItem.VariableId" data-ng-change="updateField(subjectItem)">\n                           <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                     <ui-select-choices repeat="variable.id as variable in variables | filter: $select.search">\n                              <div ng-bind-html="variable.name | highlight: $select.search"></div>\n                        </ui-select-choices>\n                        </ui-select>\n                        </div>\n                      </div>\n                <div class="col-md-1">\n                  <div class="form-group">\n                        <button class="btn btn-icon-only red" data-ng-click="removeItem(subjectItem)"><i class="fa fa-times"></i></button>\n                  </div>\n                      </div>\n              </div>\n                                            <!-- </div> -->\n                                       </div>\n                                        <!-- END SUBJECT TAB -->\n          <!-- DESCRIPTION TAB -->\n                                  <div class="tab-pane ui-padding" id="tab_1_2">\n                                                <div class="row">\n              <div class="col-md-11">\n                <span class="caption-subject">All following fields will be join by new line:</span>\n              </div>\n              <div class="col-md-1 pull-rigth">\n                <button class="btn btn-icon-only green" data-ng-click="addItemDescription()"><i class="fa fa-plus"></i></button>\n              </div>\n            </div>\n            <hr>\n                                            <!-- <div ng-scrollbars ng-scrollbars-config="config"> -->\n                                                    <div class="row" data-ng-repeat="descriptionItem in descriptionConfig">\n                                                               <!-- <pre>\n                                                                    {{descriptionItem|json}}\n                                                              </pre> -->\n                  <div class="col-md-2">\n                  <ui-select ng-model="descriptionItem.type" theme="bootstrap" ng-disabled="disabled" data-ng-change="changeDescType(descriptionItem)">\n                   <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected | ucfirst}}</ui-select-match>\n                        <ui-select-choices repeat="item in descFieldType | filter: $select.search">\n                     <div ng-bind-html="item | highlight: $select.search | ucfirst"></div>\n                       </ui-select-choices>\n                        </ui-select>\n                </div>\n                <div class="col-md-9" data-ng-if="descriptionItem.type==\'string\'">\n                    <div class="form-group">\n                        <input type="text" class="form-control" data-ng-model="descriptionItem.content" data-ng-change="updateField(descriptionItem)">\n                      </div>\n                      </div>\n                                                          <div class="col-md-3" data-ng-if="descriptionItem.type==\'key_value\'">\n                                                                       <input type="text" class="form-control" placeholder="Key" data-ng-model="descriptionItem.key" data-ng-change="updateField(descriptionItem)">\n                                                          </div>\n                                                                <div class="col-md-3" data-ng-if="descriptionItem.type==\'key_value\'">\n                                                                       <ui-select ng-model="descriptionItem.keyType" theme="bootstrap" ng-disabled="disabled" data-ng-change="changeDescType(descriptionItem)">\n                        <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                     <ui-select-choices repeat="item in fieldType | filter: $select.search">\n                         <div ng-bind-html="item | highlight: $select.search | capitalize"></div>\n                    </ui-select-choices>\n                        </ui-select>\n                                                          </div>\n                                                                <div class="col-md-3" data-ng-if="descriptionItem.type==\'key_value\' && descriptionItem.keyType==\'string\'">\n                                                                        <input type="text" class="form-control" placeholder="Value" data-ng-model="descriptionItem.keyContent" data-ng-change="updateField(descriptionItem)">\n                                                         </div>\n                      <div class="col-md-3" data-ng-if="descriptionItem.type==\'key_value\' && descriptionItem.keyType==\'variable\'">\n                        <div class="form-group">\n                        <ui-select theme="bootstrap" ng-disabled="disabled" data-ng-model="descriptionItem.VariableId" data-ng-change="updateField(descriptionItem)">\n                           <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                     <ui-select-choices repeat="variable.id as variable in variables | filter: $select.search">\n                              <div ng-bind-html="variable.name | highlight: $select.search"></div>\n                        </ui-select-choices>\n                        </ui-select>\n                        </div>\n                      </div>\n                <div class="col-md-1">\n                  <div class="form-group">\n                        <button class="btn btn-icon-only red" data-ng-click="removeItem(descriptionItem)"><i class="fa fa-times"></i></button>\n                      </div>\n                      </div>\n              </div>\n                                            <!-- </div> -->\n                                       </div>\n                                        <!-- END DESCRIPTION TAB -->\n          <!-- FIELDS TAB -->\n                                   <div class="tab-pane ui-padding" id="tab_1_3">\n                                                <div class="row">\n              <div class="col-md-11">\n                <span class="caption-subject">Add how to fill the fields present in your account:</span>\n              </div>\n              <div class="col-md-1 pull-rigth">\n                <button class="btn btn-icon-only green" data-ng-click="addItemField()"><i class="fa fa-plus"></i></button>\n              </div>\n            </div>\n            <hr>\n                                             <!-- <div ng-scrollbars ng-scrollbars-config="config"> -->\n                <div class="row" data-ng-repeat="fieldItem in fieldConfig">\n                     <div class="col-md-3">\n                  <ui-select ng-model="fieldItem.idField" theme="bootstrap" ng-disabled="disabled" data-ng-change="changeFieldType(fieldItem)">\n                   <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.label}}</ui-select-match>\n                    <ui-select-choices repeat="item.name as item in accountFields | filter: $select.search">\n                        <div ng-bind-html="item.label | highlight: $select.search"></div>\n                   </ui-select-choices>\n                        </ui-select>\n                </div>\n                <div class="col-md-8" data-ng-if="getSystemFieldOptions(fieldItem.idField)">\n                    <div class="form-group">\n                                                                              <ui-select ng-model="fieldItem.content" theme="bootstrap" ng-disabled="disabled" data-ng-change="updateField(fieldItem)">\n                               <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                             <ui-select-choices repeat="item.value as item in getSystemFieldOptions(fieldItem.idField) | filter: $select.search">\n                                    <div ng-bind-html="item.name | highlight: $select.search"></div>\n                            </ui-select-choices>\n                                </ui-select>\n                  </div>\n                      </div>\n                                                          <div class="col-md-4" data-ng-if="!getSystemFieldOptions(fieldItem.idField)">\n                                                                 <div class="form-group">\n                                                                              <ui-select ng-model="fieldItem.type" theme="bootstrap" ng-disabled="disabled" data-ng-change="changeType(fieldItem)">\n                           <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected | ucfirst}}</ui-select-match>\n                                <ui-select-choices repeat="item in fieldType | filter: $select.search">\n                                 <div ng-bind-html="item | highlight: $select.search | ucfirst"></div>\n                               </ui-select-choices>\n                                </ui-select>\n                                                                  </div>\n                                                                </div>\n                                                                <div class="col-md-4" data-ng-if="!getSystemFieldOptions(fieldItem.idField) && fieldItem.type === \'string\'">\n                        <div class="form-group">\n                                                                              <input type="text" class="form-control" data-ng-model="fieldItem.content" data-ng-change="updateField(fieldItem)">\n                    </div>\n                      </div>\n                                                          <div class="col-md-4" data-ng-if="!getSystemFieldOptions(fieldItem.idField) && fieldItem.type === \'variable\'">\n                      <div class="form-group">\n                                                                              <ui-select theme="bootstrap" ng-disabled="disabled" data-ng-model="fieldItem.VariableId" data-ng-change="updateField(fieldItem)">\n                         <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                     <ui-select-choices repeat="variable.id as variable in variables | filter: $select.search">\n                              <div ng-bind-html="variable.name | highlight: $select.search"></div>\n                        </ui-select-choices>\n                        </ui-select>\n                        </div>\n                      </div>\n                <div class="col-md-1">\n                  <div class="form-group">\n                        <button class="btn btn-icon-only red" data-ng-click="removeItem(fieldItem)"><i class="fa fa-times"></i></button>\n                    </div>\n                      </div>\n              </div>\n                                            <!-- </div> -->\n                                       </div>\n                                        <!-- END FIELDS TAB -->\n                               </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),
 a.put("app/sugarcrm/view/view.configurations.html",'<div ui-view class="profile-content">\n    <div class="row" data-ng-init="getConfigurations()">\n          <div class="col-md-12">\n                       <div class="portlet light">\n                           <div class="portlet-title  tabbable-line">\n                                    <div class="caption caption-md">\n                                              <i class="icon-globe theme-font hide"></i>\n                                            <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_CONFIGURATIONS\' | translate}}</span>\n                                  </div>\n                                        <div class="actions">\n                                         <div class="btn-group">\n                                                       <a class="btn green-jungle " href="/sugarcrm/view/{{account.id}}/configuration" data-toggle="dropdown">\n                                                               <i class="icon-plus"></i> {{ \'APPLICATION_NEW_CONFIGURATION\' | translate }}\n                                                 </a>\n                                          </div>\n                                        </div>\n                                </div>\n                                <div class="portlet-body">\n                                    <!-- START TABLE -->\n                                  <table class="table table-striped table-bordered table-hover">\n                                                  <thead>\n                                                       <tr>\n                                                            <th>{{\'APPLICATION_NAME\' | translate}}</th>\n                                                                     <th>{{\'APPLICATION_DESCRIPTION\' | translate}}</th>\n                                                                  <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                      </tr>\n                                                 </thead>\n                                                    <tbody>\n                                                   <tr data-ng-repeat="configuration in configurations">\n                                                                     <td>{{configuration.name}}</td>\n                                                                       <td>{{configuration.description}}</td>\n                                                      <td>\n                                                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/sugarcrm/view/{{account.id}}/configurations/settings/{{configuration.id}}">\n                                                                                  {{ \'APPLICATION_SETTINGS\' | translate}}\n                                                     </a>\n                                                  <a class="btn default btn-xs red-stripe" data-ng-click="deleteConfiguration(configuration.name,configuration.id)">\n                                                                                    {{ \'APPLICATION_DELETE\' | translate }}\n                                                      </a>\n                                                </td>\n                                               </tr>\n                                                             <tr data-ng-hide="configurations.length">\n                                                                     <td colspan="5" style="text-align:center;">\n                                                                           <i>No configuration available</i>\n                                                                     </td>\n                                                         </tr>\n                                           </tbody>\n                                    </table>\n                                      <!-- END TABLE -->\n                            </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/sugarcrm/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initView()">\n       <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n          <i class="icon-handbag"></i>\n          <a href="/sugarcrm/list">{{ \'APPLICATION_SUGARCRM\' | translate }}</a>\n                                       <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <a href="#">{{account.name}}</a>\n                              </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img src="assets/images/media/sugarcrm.png" class="img-responsive">\n                           </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{account.name}}\n                                      </div>\n                                        <div class="profile-usertitle-job">\n                                           {{account.remoteUri}}\n                                 </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n                               <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.sugarcrm.view.account\')}">\n                                                      <a ng-href="/sugarcrm/view/{{account.id}}/account">\n                                                   <i class="icon-user"></i>\n                                                     {{ \'APPLICATION_ACCOUNT\' | translate }} </a>\n                                                </li>\n                                         <li data-ng-class="{active: $state.includes(\'main.sugarcrm.view.configurations\') || $state.is(\'main.sugarcrm.view.configuration\')}">\n                                                      <a ng-href="/sugarcrm/view/{{account.id}}/configurations">\n                                                    <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_CONFIGURATIONS\' | translate }} </a>\n                                         </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/sugarcrm/wizard/wizard.html",'<!-- BEGIN PAGE HEADER-->\n<div class="row">\n    <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-handbag"></i>\n                                          <a href="/sugarcrm/list">{{ \'APPLICATION_SUGARCRM\' | translate }}</a>\n                                       </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n<!-- END PAGE HEADER-->\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initWizard()">\n  <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_ACCOUNT\' | translate }} WIZARD</a> </span>\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n          <wz-step title="{{\'APPLICATION_ACCOUNT_INFO\' | translate}}" canexit="exitValidation(forms.formSetting.$valid)">\n                                                <form name="forms.formSetting" novalidate>\n\n                                                  <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.name.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_NAME\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                           <span data-ng-show="forms.formSetting.name.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"/>\n                                                       </div>\n                                                        <!-- END DESCRIPTION -->\n\n              <!-- START USERNAME -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.username.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                            <input type="text" name="username" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="item.username" required/>\n                                                               <span data-ng-show="forms.formSetting.username.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n\n              <!-- START REMOTE ADDRESS -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.remoteUri.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_REMOTE_ADDRESS\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                              <input type="url" name="remoteUri" placeholder="{{\'APPLICATION_REMOTE_ADDRESS\' | translate}}" class="form-control" data-ng-model="item.remoteUri" required ng-remote-validate="/api/sugarcrm/accounts/validate/remoteUri"/>\n                                                         <span data-ng-show="forms.formSetting.remoteUri.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                <span data-ng-show="(forms.formSetting.remoteUri.$touched || forms.formSetting.$submitted) && forms.formSetting.remoteUri.$error.ngRemoteValidate" class="help-block help-block-error">\n                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_EXIST_DOMAIN\' | translate}}.\n                                 </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n              <!-- START PASSWORD -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.password.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                            <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.password" required/>\n                                                           <span data-ng-show="forms.formSetting.apiKey.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                   <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END PASSWORD -->\n\n                                                       <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" data-ng-click="next()"/>\n\n                                               </form>\n                                       </wz-step>\n\n                                  <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                             <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                            <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                 </wz-step>\n\n                          </wizard>\n\n                   </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/tag/list/create.modal.html",'<div class="modal-header">\n  <h3 class="modal-title">{{ \'APPLICATION_NEW_TAG\' | translate }}</h3>\n</div>\n<div class="modal-body">\n  <form name="forms.tag" novalidate>\n\n    <!-- START NAME -->\n    <div class="form-group" data-ng-class="{\'has-error\': (forms.tag.name.$touched || forms.tag.$submitted) && forms.tag.name.$invalid}">\n      <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n      <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n      <span data-ng-show="(forms.tag.name.$touched || forms.tag.$submitted) && forms.tag.name.$error.required" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END NAME -->\n\n    <!-- START DESCRIPTION -->\n    <div class="form-group">\n      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n      <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"></textarea>\n    </div>\n    <!-- END DESCRIPTION -->\n\n  </form>\n</div>\n<div class="modal-footer">\n  <button class="btn btn-success" type="button" ng-click="ok()" ng-disabled="forms.tag.$invalid">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n  <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/tag/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-tag"></i>\n                                      <a href="/tags/list">{{ \'APPLICATION_TAGS\' | translate }}</a>\n                               </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-docs font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_TAGS\' | translate }}</a> </span>\n                              </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="Tags.checked.length">\n                                            <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <button class="btn green-jungle " ng-click="create()">\n                                                        <i class="icon-plus"></i> {{ \'APPLICATION_NEW_TAG\' | translate }}\n                                           </button>\n                                     </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getTags([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="tags.csv">\n                                     <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedTags" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                    <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="4">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.tagsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                          <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="tagByPage in tagsByPage | filter: $select.search">\n                                                                                                 <div ng-bind-html="tagByPage.name | highlight: $select.search"></div>\n                                                                                         </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(tag, checked)" checklist-model checklist-value="id"></th>\n                                              <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="tag in displayedTags" class="animate-repeat">\n                                                         <td style="text-align: center; vertical-align: middle"><input data-ng-hide="tag.defaultEntry" type="checkbox" checklist-model="Tags.checked" checklist-value="tag.id"></td>\n                                                           <td>{{tag.name}}</td>\n                                       <td>{{tag.description}}</td>\n                                          <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/tags/view/{{tag.id}}/settings" data-ng-class="{\'disabled\': tag.defaultEntry}">\n                                                                             {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(tag.name,tag.id)" data-ng-class="{\'disabled\': tag.defaultEntry}">\n                                                                                {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedTags.length">\n                                                              <td colspan="4" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_TAGS_AVAILABLE\' | translate }}</i>\n                                                                </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="4" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.tagsByPage.value" st-displayed-pages="7"></div>\n                                        </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/tag/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getTag()">\n    <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-tag"></i>\n                                      <a href="/tags/list">{{ \'APPLICATION_TAGS\' | translate }}</a>\n                                       <i data-ng-show="tag" class="fa fa-angle-right"></i>\n                          </li>\n                         <li data-ng-show="tag">\n                                       <a href="#">{{tag.name}}</a>\n                          </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/tag.png" class="img-responsive">\n                                </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{tag.name}}\n                                  </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.tags.view.settings\')}">\n                                                 <a data-ng-href="/tags/view/{{tag.id}}/settings">\n                                                     <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/tag/view/view.settings.html",'<div class="row">\n       <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_TAG\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n                         </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateTag()" novalidate>\n\n                                                 <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="tag.name" required/>\n                                                            <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="tag.description"></textarea>\n                                                   </div>\n                                                        <!-- END DESCRIPTION -->\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END ADVANCED TAB -->\n\n                           </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/team/list/list.html",'<div class="row">\n <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-shield"></i>\n                                           <a href="#">{{ \'APPLICATION_TEAMS\' | translate }}</a>\n                                       </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-shield font-green-sharp"></i>\n                                  <span class="caption-subject">{{ \'APPLICATION_TEAMS\' | translate }}</a> </span>\n                             </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="teams.checked.length">\n                                           <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_TEAM\' | translate }} <i class="fa fa-angle-down"></i>\n                                         </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <!-- <li>\n                                                             <a href="#">\n                                                          <i class="icon-user"></i> {{ \'APPLICATION_QUICK\' | translate }} </a>\n                                                        </li> -->\n                                                     <li>\n                                                          <a href="/teams/wizard">\n                                                              <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                                 <!-- <li>\n                                                             <a href="#">\n                                                          <i class="icon-users"></i> {{ \'APPLICATION_BULK\' | translate }} </a>\n                                                        </li> -->\n                                             </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getTeams([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="teams.csv">\n                                   <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedTeams" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                   <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="5">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.teamsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                         <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="teamByPage in teamsByPage | filter: $select.search">\n                                                                                                       <div ng-bind-html="teamByPage.name | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(agent, checked)" checklist-model checklist-value="id"></th>\n                                                    <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                          <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="team in displayedTeams" class="animate-repeat">\n                                                               <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="teams.checked" checklist-value="team.id"></td>\n                                       <td>{{team.name}}</td>\n                                                          <td>{{team.description}}</td>\n                                       <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/teams/view/{{team.id}}/settings" data-ng-class="{\'disabled\': team.defaultEntry}">\n                                                                          {{ \'APPLICATION_PROFILE\' | translate }}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(team.name, team.id)" data-ng-class="{\'disabled\': team.defaultEntry}">\n                                                                            {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n              <tr data-ng-hide="displayedTeams.length">\n                                                            <td colspan="5" style="text-align:center;">\n                                                                   <i>No teams available</i>\n                                                             </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td>\n                                                  </td>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="5" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.teamsByPage.value" st-displayed-pages="7"></div>\n                                       </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/team/view/view.agents.html",'<div class="row" data-ng-init="initAgents()">\n    <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_AGENTS\' | translate}}</span>\n                          </div>\n                        </div>\n                        <div class="portlet-body">\n                    <!-- GENERAL TAB -->\n                          <!-- BEGIN PORTLET-->\n                                 <!-- BEGIN FORM-->\n                                    <form action="index.html" class="form-horizontal form-row-seperated">\n                                         <div class="form-body">\n                                                       <div class="form-group last">\n                                                         <div class="col-md-9" id="multi-select-team">\n                                                         </div>\n                                                        </div>\n                                                </div>\n                                        </form>\n                                       <!-- END FORM-->\n                              <!-- END PORTLET-->\n                   <!-- END GENERAL TAB -->\n                      </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/team/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initView()">\n   <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-shield"></i>\n                                   <a href="/teams/list">{{ \'APPLICATION_TEAMS\' | translate }}</a>\n                                     <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <a href="#">{{team.name}}</a>\n                         </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img ng-src="assets/images/media/team.png" class="img-responsive">\n                            </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{team.name}}\n                                 </div>\n\n                              </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.teams.view.settings\')}">\n                                                        <a data-ng-href="/teams/view/{{team.id}}/settings">\n                                                   <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                         <li data-ng-class="{active: $state.is(\'main.teams.view.agents\')}">\n                                                  <a data-ng-href="/teams/view/{{team.id}}/agents">\n                                                     <i class="icon-users"></i>\n                                                    {{ \'APPLICATION_AGENTS\' | translate}} </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/team/view/view.settings.html",'<div class="row">\n      <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_PROFILE\' | translate}} {{ \'APPLICATION_ACCOUNT\' | translate}}</span>\n                               </div>\n                        </div>\n\n                      <div class="portlet-body">\n                            <!-- PERSONAL INFO TAB -->\n                            <div>\n\n                                       <form name="forms.info" data-ng-submit="updateItem()" novalidate>\n                                             <!-- START NAME -->\n                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="team.name" required/>\n                                                   <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.required" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END NAME -->\n\n                                           <!-- START DESCRIPTION -->\n                                            <div class="form-group">\n                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                      <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="team.description"/>\n                                               </div>\n                                                <!-- END DESCRIPTION -->\n\n                                            <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                  </form>\n                               </div>\n                                <!-- END PERSONAL INFO TAB -->\n                        </div>\n                </div>\n        </div>\n</div>\n'),
diff --git a/public/app/bff60da8.vendor.js b/public/app/bff60da8.vendor.js
deleted file mode 100644 (file)
index e234220..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-function $notificationProvider(){function a(a,c,d){function e(c,d){function f(){d=angular.extend({focusWindowOnClick:!0},b.options||{},d);try{g.baseNotification=new a.Notification(c,d)}catch(e){return}d.delay&&setTimeout(angular.bind(g,g.close),d.delay),d.focusWindowOnClick&&g.$on("click",function(){a.focus()}),g._events.forEach(function(a){g.$on.apply(g,a)}),g._events=[]}if(!a.Notification)return!1;d=d||{};var g=this;return this._events=[],"granted"===a.Notification.permission?f():void("denied"!==a.Notification.permission&&e.requestPermission().then(f))}function f(a,b){return new e(a,b)}return e.prototype.$on=function(a,b){function d(){var a=arguments;c.$apply(function(){b.apply(e,a)})}var e=this;return this.baseNotification?(this.baseNotification.addEventListener(a,d),function(){this.baseNotification.removeListener(event,d)}):this._events.push([a,b])},e.prototype.close=function(){this.baseNotification&&this.baseNotification.close()},e.requestPermission=function(){return d(function(b,c){return a.Notification?void a.Notification.requestPermission(function(c){a.Notification.permission=a.Notification.permission||c,b(a.Notification.permission)}):c()})},f.requestPermission=e.requestPermission,f}var b=this;this.$get=["$window","$rootScope","$q",a],this.setOptions=function(a){this.options=a}}function wizardButtonDirective(a){angular.module("mgo-angular-wizard").directive(a,function(){return{restrict:"A",replace:!1,require:"^wizard",link:function(b,c,d,e){c.on("click",function(c){c.preventDefault(),b.$apply(function(){b.$eval(d[a]),e[a.replace("wz","").toLowerCase()]()})})}}})}function validElementString(a){try{return 0!==angular.element(a).length}catch(b){return!1}}function registerTextAngularTool(a,b){if(!a||""===a||taTools.hasOwnProperty(a))throw"textAngular Error: A unique name is required for a Tool Definition";if(b.display&&(""===b.display||!validElementString(b.display))||!b.display&&!b.buttontext&&!b.iconclass)throw'textAngular Error: Tool Definition for "'+a+'" does not have a valid display/iconclass/buttontext value';taTools[a]=b}if(function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b="length"in a&&a.length,c=_.type(a);return"function"===c||_.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}function d(a,b,c){if(_.isFunction(b))return _.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return _.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(ha.test(b))return _.filter(b,a,c);b=_.filter(b,a)}return _.grep(a,function(a){return U.call(b,a)>=0!==c})}function e(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function f(a){var b=oa[a]={};return _.each(a.match(na)||[],function(a,c){b[c]=!0}),b}function g(){Z.removeEventListener("DOMContentLoaded",g,!1),a.removeEventListener("load",g,!1),_.ready()}function h(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=_.expando+h.uid++}function i(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(ua,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:ta.test(c)?_.parseJSON(c):c}catch(e){}sa.set(a,b,c)}else c=void 0;return c}function j(){return!0}function k(){return!1}function l(){try{return Z.activeElement}catch(a){}}function m(a,b){return _.nodeName(a,"table")&&_.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function n(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function o(a){var b=Ka.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function p(a,b){for(var c=0,d=a.length;d>c;c++)ra.set(a[c],"globalEval",!b||ra.get(b[c],"globalEval"))}function q(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(ra.hasData(a)&&(f=ra.access(a),g=ra.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)_.event.add(b,e,j[e][c])}sa.hasData(a)&&(h=sa.access(a),i=_.extend({},h),sa.set(b,i))}}function r(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&_.nodeName(a,b)?_.merge([a],c):c}function s(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ya.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}function t(b,c){var d,e=_(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:_.css(e[0],"display");return e.detach(),f}function u(a){var b=Z,c=Oa[a];return c||(c=t(a,b),"none"!==c&&c||(Na=(Na||_("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=Na[0].contentDocument,b.write(),b.close(),c=t(a,b),Na.detach()),Oa[a]=c),c}function v(a,b,c){var d,e,f,g,h=a.style;return c=c||Ra(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||_.contains(a.ownerDocument,a)||(g=_.style(a,b)),Qa.test(g)&&Pa.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function w(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}function x(a,b){if(b in a)return b;for(var c=b[0].toUpperCase()+b.slice(1),d=b,e=Xa.length;e--;)if(b=Xa[e]+c,b in a)return b;return d}function y(a,b,c){var d=Ta.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function z(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=_.css(a,c+wa[f],!0,e)),d?("content"===c&&(g-=_.css(a,"padding"+wa[f],!0,e)),"margin"!==c&&(g-=_.css(a,"border"+wa[f]+"Width",!0,e))):(g+=_.css(a,"padding"+wa[f],!0,e),"padding"!==c&&(g+=_.css(a,"border"+wa[f]+"Width",!0,e)));return g}function A(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ra(a),g="border-box"===_.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=v(a,b,f),(0>e||null==e)&&(e=a.style[b]),Qa.test(e))return e;d=g&&(Y.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+z(a,b,c||(g?"border":"content"),d,f)+"px"}function B(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=ra.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&xa(d)&&(f[g]=ra.access(d,"olddisplay",u(d.nodeName)))):(e=xa(d),"none"===c&&e||ra.set(d,"olddisplay",e?c:_.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function C(a,b,c,d,e){return new C.prototype.init(a,b,c,d,e)}function D(){return setTimeout(function(){Ya=void 0}),Ya=_.now()}function E(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=wa[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function F(a,b,c){for(var d,e=(cb[b]||[]).concat(cb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function G(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},n=a.style,o=a.nodeType&&xa(a),p=ra.get(a,"fxshow");c.queue||(h=_._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,_.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[n.overflow,n.overflowX,n.overflowY],j=_.css(a,"display"),k="none"===j?ra.get(a,"olddisplay")||u(a.nodeName):j,"inline"===k&&"none"===_.css(a,"float")&&(n.display="inline-block")),c.overflow&&(n.overflow="hidden",l.always(function(){n.overflow=c.overflow[0],n.overflowX=c.overflow[1],n.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],$a.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(o?"hide":"show")){if("show"!==e||!p||void 0===p[d])continue;o=!0}m[d]=p&&p[d]||_.style(a,d)}else j=void 0;if(_.isEmptyObject(m))"inline"===("none"===j?u(a.nodeName):j)&&(n.display=j);else{p?"hidden"in p&&(o=p.hidden):p=ra.access(a,"fxshow",{}),f&&(p.hidden=!o),o?_(a).show():l.done(function(){_(a).hide()}),l.done(function(){var b;ra.remove(a,"fxshow");for(b in m)_.style(a,b,m[b])});for(d in m)g=F(o?p[d]:0,d,l),d in p||(p[d]=g.start,o&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function H(a,b){var c,d,e,f,g;for(c in a)if(d=_.camelCase(c),e=b[d],f=a[c],_.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=_.cssHooks[d],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 I(a,b,c){var d,e,f=0,g=bb.length,h=_.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Ya||D(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:_.extend({},b),opts:_.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:Ya||D(),duration:c.duration,tweens:[],createTween:function(b,c){var d=_.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(H(k,j.opts.specialEasing);g>f;f++)if(d=bb[f].call(j,a,k,j.opts))return d;return _.map(k,F,j),_.isFunction(j.opts.start)&&j.opts.start.call(a,j),_.fx.timer(_.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}function J(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(na)||[];if(_.isFunction(c))for(;d=f[e++];)"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function K(a,b,c,d){function e(h){var i;return f[h]=!0,_.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||g||f[j]?g?!(i=j):void 0:(b.dataTypes.unshift(j),e(j),!1)}),i}var f={},g=a===tb;return e(b.dataTypes[0])||!f["*"]&&e("*")}function L(a,b){var c,d,e=_.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&_.extend(!0,a,d),a}function M(a,b,c){for(var d,e,f,g,h=a.contents,i=a.dataTypes;"*"===i[0];)i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function N(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];for(f=k.shift();f;)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}function O(a,b,c,d){var e;if(_.isArray(b))_.each(b,function(b,e){c||yb.test(a)?d(a,e):O(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==_.type(b))d(a,b);else for(e in b)O(a+"["+e+"]",b[e],c,d)}function P(a){return _.isWindow(a)?a:9===a.nodeType&&a.defaultView}var Q=[],R=Q.slice,S=Q.concat,T=Q.push,U=Q.indexOf,V={},W=V.toString,X=V.hasOwnProperty,Y={},Z=a.document,$="2.1.4",_=function(a,b){return new _.fn.init(a,b)},aa=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,ba=/^-ms-/,ca=/-([\da-z])/gi,da=function(a,b){return b.toUpperCase()};_.fn=_.prototype={jquery:$,constructor:_,selector:"",length:0,toArray:function(){return R.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:R.call(this)},pushStack:function(a){var b=_.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return _.each(this,a,b)},map:function(a){return this.pushStack(_.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(R.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:T,sort:Q.sort,splice:Q.splice},_.extend=_.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||_.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(_.isPlainObject(d)||(e=_.isArray(d)))?(e?(e=!1,f=c&&_.isArray(c)?c:[]):f=c&&_.isPlainObject(c)?c:{},g[b]=_.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},_.extend({expando:"jQuery"+($+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===_.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!_.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==_.type(a)||a.nodeType||_.isWindow(a)?!1:a.constructor&&!X.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?V[W.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=_.trim(a),a&&(1===a.indexOf("use strict")?(b=Z.createElement("script"),b.text=a,Z.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(ba,"ms-").replace(ca,da)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,d){var e,f=0,g=a.length,h=c(a);if(d){if(h)for(;g>f&&(e=b.apply(a[f],d),e!==!1);f++);else for(f in a)if(e=b.apply(a[f],d),e===!1)break}else if(h)for(;g>f&&(e=b.call(a[f],f,a[f]),e!==!1);f++);else for(f in a)if(e=b.call(a[f],f,a[f]),e===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(aa,"")},makeArray:function(a,b){var d=b||[];return null!=a&&(c(Object(a))?_.merge(d,"string"==typeof a?[a]:a):T.call(d,a)),d},inArray:function(a,b,c){return null==b?-1:U.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,d){var e,f=0,g=a.length,h=c(a),i=[];if(h)for(;g>f;f++)e=b(a[f],f,d),null!=e&&i.push(e);else for(f in a)e=b(a[f],f,d),null!=e&&i.push(e);return S.apply([],i)},guid:1,proxy:function(a,b){var c,d,e;return"string"==typeof b&&(c=a[b],b=a,a=c),_.isFunction(a)?(d=R.call(arguments,2),e=function(){return a.apply(b||this,d.concat(R.call(arguments)))},e.guid=a.guid=a.guid||_.guid++,e):void 0},now:Date.now,support:Y}),_.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){V["[object "+b+"]"]=b.toLowerCase()});var ea=function(a){function b(a,b,c,d){var e,f,g,h,i,j,l,n,o,p;if((b?b.ownerDocument||b:O)!==G&&F(b),b=b||G,c=c||[],h=b.nodeType,"string"!=typeof a||!a||1!==h&&9!==h&&11!==h)return c;if(!d&&I){if(11!==h&&(e=sa.exec(a)))if(g=e[1]){if(9===h){if(f=b.getElementById(g),!f||!f.parentNode)return c;if(f.id===g)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(g))&&M(b,f)&&f.id===g)return c.push(f),c}else{if(e[2])return $.apply(c,b.getElementsByTagName(a)),c;if((g=e[3])&&v.getElementsByClassName)return $.apply(c,b.getElementsByClassName(g)),c}if(v.qsa&&(!J||!J.test(a))){if(n=l=N,o=b,p=1!==h&&a,1===h&&"object"!==b.nodeName.toLowerCase()){for(j=z(a),(l=b.getAttribute("id"))?n=l.replace(ua,"\\$&"):b.setAttribute("id",n),n="[id='"+n+"'] ",i=j.length;i--;)j[i]=n+m(j[i]);o=ta.test(a)&&k(b.parentNode)||b,p=j.join(",")}if(p)try{return $.apply(c,o.querySelectorAll(p)),c}catch(q){}finally{l||b.removeAttribute("id")}}}return B(a.replace(ia,"$1"),b,c,d)}function c(){function a(c,d){return b.push(c+" ")>w.cacheLength&&delete a[b.shift()],a[c+" "]=d}var b=[];return a}function d(a){return a[N]=!0,a}function e(a){var b=G.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function f(a,b){for(var c=a.split("|"),d=a.length;d--;)w.attrHandle[c[d]]=b}function g(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||V)-(~a.sourceIndex||V);if(d)return d;if(c)for(;c=c.nextSibling;)if(c===b)return-1;return a?1:-1}function h(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function i(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function j(a){return d(function(b){return b=+b,d(function(c,d){for(var e,f=a([],c.length,b),g=f.length;g--;)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function k(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}function l(){}function m(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function n(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=Q++;return b.first?function(b,c,f){for(;b=b[d];)if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[P,f];if(g){for(;b=b[d];)if((1===b.nodeType||e)&&a(b,c,g))return!0}else for(;b=b[d];)if(1===b.nodeType||e){if(i=b[N]||(b[N]={}),(h=i[d])&&h[0]===P&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function o(a){return a.length>1?function(b,c,d){for(var e=a.length;e--;)if(!a[e](b,c,d))return!1;return!0}:a[0]}function p(a,c,d){for(var e=0,f=c.length;f>e;e++)b(a,c[e],d);return d}function q(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function r(a,b,c,e,f,g){return e&&!e[N]&&(e=r(e)),f&&!f[N]&&(f=r(f,g)),d(function(d,g,h,i){var j,k,l,m=[],n=[],o=g.length,r=d||p(b||"*",h.nodeType?[h]:h,[]),s=!a||!d&&b?r:q(r,m,a,h,i),t=c?f||(d?a:o||e)?[]:g:s;if(c&&c(s,t,h,i),e)for(j=q(t,n),e(j,[],h,i),k=j.length;k--;)(l=j[k])&&(t[n[k]]=!(s[n[k]]=l));if(d){if(f||a){if(f){for(j=[],k=t.length;k--;)(l=t[k])&&j.push(s[k]=l);f(null,t=[],j,i)}for(k=t.length;k--;)(l=t[k])&&(j=f?aa(d,l):m[k])>-1&&(d[j]=!(g[j]=l))}}else t=q(t===g?t.splice(o,t.length):t),f?f(null,g,t,i):$.apply(g,t)})}function s(a){for(var b,c,d,e=a.length,f=w.relative[a[0].type],g=f||w.relative[" "],h=f?1:0,i=n(function(a){return a===b},g,!0),j=n(function(a){return aa(b,a)>-1},g,!0),k=[function(a,c,d){var e=!f&&(d||c!==C)||((b=c).nodeType?i(a,c,d):j(a,c,d));return b=null,e}];e>h;h++)if(c=w.relative[a[h].type])k=[n(o(k),c)];else{if(c=w.filter[a[h].type].apply(null,a[h].matches),c[N]){for(d=++h;e>d&&!w.relative[a[d].type];d++);return r(h>1&&o(k),h>1&&m(a.slice(0,h-1).concat({value:" "===a[h-2].type?"*":""})).replace(ia,"$1"),c,d>h&&s(a.slice(h,d)),e>d&&s(a=a.slice(d)),e>d&&m(a))}k.push(c)}return o(k)}function t(a,c){var e=c.length>0,f=a.length>0,g=function(d,g,h,i,j){var k,l,m,n=0,o="0",p=d&&[],r=[],s=C,t=d||f&&w.find.TAG("*",j),u=P+=null==s?1:Math.random()||.1,v=t.length;for(j&&(C=g!==G&&g);o!==v&&null!=(k=t[o]);o++){if(f&&k){for(l=0;m=a[l++];)if(m(k,g,h)){i.push(k);break}j&&(P=u)}e&&((k=!m&&k)&&n--,d&&p.push(k))}if(n+=o,e&&o!==n){for(l=0;m=c[l++];)m(p,r,g,h);if(d){if(n>0)for(;o--;)p[o]||r[o]||(r[o]=Y.call(i));r=q(r)}$.apply(i,r),j&&!d&&r.length>0&&n+c.length>1&&b.uniqueSort(i)}return j&&(P=u,C=s),p};return e?d(g):g}var u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N="sizzle"+1*new Date,O=a.document,P=0,Q=0,R=c(),S=c(),T=c(),U=function(a,b){return a===b&&(E=!0),0},V=1<<31,W={}.hasOwnProperty,X=[],Y=X.pop,Z=X.push,$=X.push,_=X.slice,aa=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},ba="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ca="[\\x20\\t\\r\\n\\f]",da="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",ea=da.replace("w","w#"),fa="\\["+ca+"*("+da+")(?:"+ca+"*([*^$|!~]?=)"+ca+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+ea+"))|)"+ca+"*\\]",ga=":("+da+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+fa+")*)|.*)\\)|)",ha=new RegExp(ca+"+","g"),ia=new RegExp("^"+ca+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ca+"+$","g"),ja=new RegExp("^"+ca+"*,"+ca+"*"),ka=new RegExp("^"+ca+"*([>+~]|"+ca+")"+ca+"*"),la=new RegExp("="+ca+"*([^\\]'\"]*?)"+ca+"*\\]","g"),ma=new RegExp(ga),na=new RegExp("^"+ea+"$"),oa={ID:new RegExp("^#("+da+")"),CLASS:new RegExp("^\\.("+da+")"),TAG:new RegExp("^("+da.replace("w","w*")+")"),ATTR:new RegExp("^"+fa),PSEUDO:new RegExp("^"+ga),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ca+"*(even|odd|(([+-]|)(\\d*)n|)"+ca+"*(?:([+-]|)"+ca+"*(\\d+)|))"+ca+"*\\)|)","i"),bool:new RegExp("^(?:"+ba+")$","i"),needsContext:new RegExp("^"+ca+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ca+"*((?:-\\d)?\\d*)"+ca+"*\\)|)(?=[^-]|$)","i")},pa=/^(?:input|select|textarea|button)$/i,qa=/^h\d$/i,ra=/^[^{]+\{\s*\[native \w/,sa=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ta=/[+~]/,ua=/'|\\/g,va=new RegExp("\\\\([\\da-f]{1,6}"+ca+"?|("+ca+")|.)","ig"),wa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},xa=function(){F()};try{$.apply(X=_.call(O.childNodes),O.childNodes),X[O.childNodes.length].nodeType}catch(ya){$={apply:X.length?function(a,b){Z.apply(a,_.call(b))}:function(a,b){for(var c=a.length,d=0;a[c++]=b[d++];);a.length=c-1}}}v=b.support={},y=b.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},F=b.setDocument=function(a){var b,c,d=a?a.ownerDocument||a:O;return d!==G&&9===d.nodeType&&d.documentElement?(G=d,H=d.documentElement,c=d.defaultView,c&&c!==c.top&&(c.addEventListener?c.addEventListener("unload",xa,!1):c.attachEvent&&c.attachEvent("onunload",xa)),I=!y(d),v.attributes=e(function(a){return a.className="i",!a.getAttribute("className")}),v.getElementsByTagName=e(function(a){return a.appendChild(d.createComment("")),!a.getElementsByTagName("*").length}),v.getElementsByClassName=ra.test(d.getElementsByClassName),v.getById=e(function(a){return H.appendChild(a).id=N,!d.getElementsByName||!d.getElementsByName(N).length}),v.getById?(w.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&I){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},w.filter.ID=function(a){var b=a.replace(va,wa);return function(a){return a.getAttribute("id")===b}}):(delete w.find.ID,w.filter.ID=function(a){var b=a.replace(va,wa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),w.find.TAG=v.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):v.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){for(;c=f[e++];)1===c.nodeType&&d.push(c);return d}return f},w.find.CLASS=v.getElementsByClassName&&function(a,b){return I?b.getElementsByClassName(a):void 0},K=[],J=[],(v.qsa=ra.test(d.querySelectorAll))&&(e(function(a){H.appendChild(a).innerHTML="<a id='"+N+"'></a><select id='"+N+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&J.push("[*^$]="+ca+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||J.push("\\["+ca+"*(?:value|"+ba+")"),a.querySelectorAll("[id~="+N+"-]").length||J.push("~="),a.querySelectorAll(":checked").length||J.push(":checked"),a.querySelectorAll("a#"+N+"+*").length||J.push(".#.+[+~]")}),e(function(a){var b=d.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&J.push("name"+ca+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||J.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),J.push(",.*:")})),(v.matchesSelector=ra.test(L=H.matches||H.webkitMatchesSelector||H.mozMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&e(function(a){v.disconnectedMatch=L.call(a,"div"),L.call(a,"[s!='']:x"),K.push("!=",ga)}),J=J.length&&new RegExp(J.join("|")),K=K.length&&new RegExp(K.join("|")),b=ra.test(H.compareDocumentPosition),M=b||ra.test(H.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1},U=b?function(a,b){if(a===b)return E=!0,0;var c=!a.compareDocumentPosition-!b.compareDocumentPosition;return c?c:(c=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&c||!v.sortDetached&&b.compareDocumentPosition(a)===c?a===d||a.ownerDocument===O&&M(O,a)?-1:b===d||b.ownerDocument===O&&M(O,b)?1:D?aa(D,a)-aa(D,b):0:4&c?-1:1)}:function(a,b){if(a===b)return E=!0,0;var c,e=0,f=a.parentNode,h=b.parentNode,i=[a],j=[b];if(!f||!h)return a===d?-1:b===d?1:f?-1:h?1:D?aa(D,a)-aa(D,b):0;if(f===h)return g(a,b);for(c=a;c=c.parentNode;)i.unshift(c);for(c=b;c=c.parentNode;)j.unshift(c);for(;i[e]===j[e];)e++;return e?g(i[e],j[e]):i[e]===O?-1:j[e]===O?1:0},d):G},b.matches=function(a,c){return b(a,null,null,c)},b.matchesSelector=function(a,c){if((a.ownerDocument||a)!==G&&F(a),c=c.replace(la,"='$1']"),v.matchesSelector&&I&&(!K||!K.test(c))&&(!J||!J.test(c)))try{var d=L.call(a,c);if(d||v.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return b(c,G,null,[a]).length>0},b.contains=function(a,b){return(a.ownerDocument||a)!==G&&F(a),M(a,b)},b.attr=function(a,b){(a.ownerDocument||a)!==G&&F(a);var c=w.attrHandle[b.toLowerCase()],d=c&&W.call(w.attrHandle,b.toLowerCase())?c(a,b,!I):void 0;return void 0!==d?d:v.attributes||!I?a.getAttribute(b):(d=a.getAttributeNode(b))&&d.specified?d.value:null},b.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},b.uniqueSort=function(a){var b,c=[],d=0,e=0;if(E=!v.detectDuplicates,D=!v.sortStable&&a.slice(0),a.sort(U),E){for(;b=a[e++];)b===a[e]&&(d=c.push(e));for(;d--;)a.splice(c[d],1)}return D=null,a},x=b.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(1===e||9===e||11===e){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=x(a)}else if(3===e||4===e)return a.nodeValue}else for(;b=a[d++];)c+=x(b);return c},w=b.selectors={cacheLength:50,createPseudo:d,match:oa,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(va,wa),a[3]=(a[3]||a[4]||a[5]||"").replace(va,wa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||b.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&b.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return oa.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&ma.test(c)&&(b=z(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(va,wa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=R[a+" "];return b||(b=new RegExp("(^|"+ca+")"+a+"("+ca+"|$)"))&&R(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,c,d){return function(e){var f=b.attr(e,a);return null==f?"!="===c:c?(f+="","="===c?f===d:"!="===c?f!==d:"^="===c?d&&0===f.indexOf(d):"*="===c?d&&f.indexOf(d)>-1:"$="===c?d&&f.slice(-d.length)===d:"~="===c?(" "+f.replace(ha," ")+" ").indexOf(d)>-1:"|="===c?f===d||f.slice(0,d.length+1)===d+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){for(;p;){for(l=b;l=l[p];)if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){for(k=q[N]||(q[N]={}),j=k[a]||[],n=j[0]===P&&j[1],m=j[0]===P&&j[2],l=n&&q.childNodes[n];l=++n&&l&&l[p]||(m=n=0)||o.pop();)if(1===l.nodeType&&++m&&l===b){k[a]=[P,n,m];break}}else if(s&&(j=(b[N]||(b[N]={}))[a])&&j[0]===P)m=j[1];else for(;(l=++n&&l&&l[p]||(m=n=0)||o.pop())&&((h?l.nodeName.toLowerCase()!==r:1!==l.nodeType)||!++m||(s&&((l[N]||(l[N]={}))[a]=[P,m]),l!==b)););return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,c){var e,f=w.pseudos[a]||w.setFilters[a.toLowerCase()]||b.error("unsupported pseudo: "+a);return f[N]?f(c):f.length>1?(e=[a,a,"",c],w.setFilters.hasOwnProperty(a.toLowerCase())?d(function(a,b){for(var d,e=f(a,c),g=e.length;g--;)d=aa(a,e[g]),a[d]=!(b[d]=e[g])}):function(a){return f(a,0,e)}):f}},pseudos:{not:d(function(a){var b=[],c=[],e=A(a.replace(ia,"$1"));return e[N]?d(function(a,b,c,d){for(var f,g=e(a,null,d,[]),h=a.length;h--;)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,d,f){return b[0]=a,e(b,null,f,c),b[0]=null,!c.pop()}}),has:d(function(a){return function(c){return b(a,c).length>0}}),contains:d(function(a){return a=a.replace(va,wa),function(b){return(b.textContent||b.innerText||x(b)).indexOf(a)>-1}}),lang:d(function(a){return na.test(a||"")||b.error("unsupported lang: "+a),a=a.replace(va,wa).toLowerCase(),function(b){var c;do if(c=I?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===H},focus:function(a){return a===G.activeElement&&(!G.hasFocus||G.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!w.pseudos.empty(a)},header:function(a){return qa.test(a.nodeName)},input:function(a){return pa.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:j(function(){return[0]}),last:j(function(a,b){return[b-1]}),eq:j(function(a,b,c){return[0>c?c+b:c]}),even:j(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:j(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:j(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:j(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},w.pseudos.nth=w.pseudos.eq;for(u in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})w.pseudos[u]=h(u);for(u in{submit:!0,reset:!0})w.pseudos[u]=i(u);return l.prototype=w.filters=w.pseudos,w.setFilters=new l,z=b.tokenize=function(a,c){var d,e,f,g,h,i,j,k=S[a+" "];if(k)return c?0:k.slice(0);for(h=a,i=[],j=w.preFilter;h;){(!d||(e=ja.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),d=!1,(e=ka.exec(h))&&(d=e.shift(),f.push({value:d,type:e[0].replace(ia," ")}),h=h.slice(d.length));for(g in w.filter)!(e=oa[g].exec(h))||j[g]&&!(e=j[g](e))||(d=e.shift(),f.push({value:d,type:g,matches:e}),h=h.slice(d.length));if(!d)break}return c?h.length:h?b.error(a):S(a,i).slice(0)},A=b.compile=function(a,b){
-var c,d=[],e=[],f=T[a+" "];if(!f){for(b||(b=z(a)),c=b.length;c--;)f=s(b[c]),f[N]?d.push(f):e.push(f);f=T(a,t(e,d)),f.selector=a}return f},B=b.select=function(a,b,c,d){var e,f,g,h,i,j="function"==typeof a&&a,l=!d&&z(a=j.selector||a);if(c=c||[],1===l.length){if(f=l[0]=l[0].slice(0),f.length>2&&"ID"===(g=f[0]).type&&v.getById&&9===b.nodeType&&I&&w.relative[f[1].type]){if(b=(w.find.ID(g.matches[0].replace(va,wa),b)||[])[0],!b)return c;j&&(b=b.parentNode),a=a.slice(f.shift().value.length)}for(e=oa.needsContext.test(a)?0:f.length;e--&&(g=f[e],!w.relative[h=g.type]);)if((i=w.find[h])&&(d=i(g.matches[0].replace(va,wa),ta.test(f[0].type)&&k(b.parentNode)||b))){if(f.splice(e,1),a=d.length&&m(f),!a)return $.apply(c,d),c;break}}return(j||A(a,l))(d,b,!I,c,ta.test(a)&&k(b.parentNode)||b),c},v.sortStable=N.split("").sort(U).join("")===N,v.detectDuplicates=!!E,F(),v.sortDetached=e(function(a){return 1&a.compareDocumentPosition(G.createElement("div"))}),e(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||f("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),v.attributes&&e(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||f("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),e(function(a){return null==a.getAttribute("disabled")})||f(ba,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),b}(a);_.find=ea,_.expr=ea.selectors,_.expr[":"]=_.expr.pseudos,_.unique=ea.uniqueSort,_.text=ea.getText,_.isXMLDoc=ea.isXML,_.contains=ea.contains;var fa=_.expr.match.needsContext,ga=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,ha=/^.[^:#\[\.,]*$/;_.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?_.find.matchesSelector(d,a)?[d]:[]:_.find.matches(a,_.grep(b,function(a){return 1===a.nodeType}))},_.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(_(a).filter(function(){for(b=0;c>b;b++)if(_.contains(e[b],this))return!0}));for(b=0;c>b;b++)_.find(a,e[b],d);return d=this.pushStack(c>1?_.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(d(this,a||[],!1))},not:function(a){return this.pushStack(d(this,a||[],!0))},is:function(a){return!!d(this,"string"==typeof a&&fa.test(a)?_(a):a||[],!1).length}});var ia,ja=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,ka=_.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:ja.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||ia).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof _?b[0]:b,_.merge(this,_.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:Z,!0)),ga.test(c[1])&&_.isPlainObject(b))for(c in b)_.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=Z.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=Z,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):_.isFunction(a)?"undefined"!=typeof ia.ready?ia.ready(a):a(_):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),_.makeArray(a,this))};ka.prototype=_.fn,ia=_(Z);var la=/^(?:parents|prev(?:Until|All))/,ma={children:!0,contents:!0,next:!0,prev:!0};_.extend({dir:function(a,b,c){for(var d=[],e=void 0!==c;(a=a[b])&&9!==a.nodeType;)if(1===a.nodeType){if(e&&_(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),_.fn.extend({has:function(a){var b=_(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(_.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=fa.test(a)||"string"!=typeof a?_(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&_.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?_.unique(f):f)},index:function(a){return a?"string"==typeof a?U.call(_(a),this[0]):U.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(_.unique(_.merge(this.get(),_(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}}),_.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return _.dir(a,"parentNode")},parentsUntil:function(a,b,c){return _.dir(a,"parentNode",c)},next:function(a){return e(a,"nextSibling")},prev:function(a){return e(a,"previousSibling")},nextAll:function(a){return _.dir(a,"nextSibling")},prevAll:function(a){return _.dir(a,"previousSibling")},nextUntil:function(a,b,c){return _.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return _.dir(a,"previousSibling",c)},siblings:function(a){return _.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return _.sibling(a.firstChild)},contents:function(a){return a.contentDocument||_.merge([],a.childNodes)}},function(a,b){_.fn[a]=function(c,d){var e=_.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=_.filter(d,e)),this.length>1&&(ma[a]||_.unique(e),la.test(a)&&e.reverse()),this.pushStack(e)}});var na=/\S+/g,oa={};_.Callbacks=function(a){a="string"==typeof a?oa[a]||f(a):_.extend({},a);var b,c,d,e,g,h,i=[],j=!a.once&&[],k=function(f){for(b=a.memory&&f,c=!0,h=e||0,e=0,g=i.length,d=!0;i&&g>h;h++)if(i[h].apply(f[0],f[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,i&&(j?j.length&&k(j.shift()):b?i=[]:l.disable())},l={add:function(){if(i){var c=i.length;!function f(b){_.each(b,function(b,c){var d=_.type(c);"function"===d?a.unique&&l.has(c)||i.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),d?g=i.length:b&&(e=c,k(b))}return this},remove:function(){return i&&_.each(arguments,function(a,b){for(var c;(c=_.inArray(b,i,c))>-1;)i.splice(c,1),d&&(g>=c&&g--,h>=c&&h--)}),this},has:function(a){return a?_.inArray(a,i)>-1:!(!i||!i.length)},empty:function(){return i=[],g=0,this},disable:function(){return i=j=b=void 0,this},disabled:function(){return!i},lock:function(){return j=void 0,b||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return!i||c&&!j||(b=b||[],b=[a,b.slice?b.slice():b],d?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!c}};return l},_.extend({Deferred:function(a){var b=[["resolve","done",_.Callbacks("once memory"),"resolved"],["reject","fail",_.Callbacks("once memory"),"rejected"],["notify","progress",_.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return _.Deferred(function(c){_.each(b,function(b,f){var g=_.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&_.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?_.extend(a,d):d}},e={};return d.pipe=d.then,_.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b,c,d,e=0,f=R.call(arguments),g=f.length,h=1!==g||a&&_.isFunction(a.promise)?g:0,i=1===h?a:_.Deferred(),j=function(a,c,d){return function(e){c[a]=this,d[a]=arguments.length>1?R.call(arguments):e,d===b?i.notifyWith(c,d):--h||i.resolveWith(c,d)}};if(g>1)for(b=new Array(g),c=new Array(g),d=new Array(g);g>e;e++)f[e]&&_.isFunction(f[e].promise)?f[e].promise().done(j(e,d,f)).fail(i.reject).progress(j(e,c,b)):--h;return h||i.resolveWith(d,f),i.promise()}});var pa;_.fn.ready=function(a){return _.ready.promise().done(a),this},_.extend({isReady:!1,readyWait:1,holdReady:function(a){a?_.readyWait++:_.ready(!0)},ready:function(a){(a===!0?--_.readyWait:_.isReady)||(_.isReady=!0,a!==!0&&--_.readyWait>0||(pa.resolveWith(Z,[_]),_.fn.triggerHandler&&(_(Z).triggerHandler("ready"),_(Z).off("ready"))))}}),_.ready.promise=function(b){return pa||(pa=_.Deferred(),"complete"===Z.readyState?setTimeout(_.ready):(Z.addEventListener("DOMContentLoaded",g,!1),a.addEventListener("load",g,!1))),pa.promise(b)},_.ready.promise();var qa=_.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===_.type(c)){e=!0;for(h in c)_.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,_.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(_(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};_.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType},h.uid=1,h.accepts=_.acceptData,h.prototype={key:function(a){if(!h.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=h.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,_.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(_.isEmptyObject(f))_.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,_.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{_.isArray(b)?d=b.concat(b.map(_.camelCase)):(e=_.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(na)||[])),c=d.length;for(;c--;)delete g[d[c]]}},hasData:function(a){return!_.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var ra=new h,sa=new h,ta=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,ua=/([A-Z])/g;_.extend({hasData:function(a){return sa.hasData(a)||ra.hasData(a)},data:function(a,b,c){return sa.access(a,b,c)},removeData:function(a,b){sa.remove(a,b)},_data:function(a,b,c){return ra.access(a,b,c)},_removeData:function(a,b){ra.remove(a,b)}}),_.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=sa.get(f),1===f.nodeType&&!ra.get(f,"hasDataAttrs"))){for(c=g.length;c--;)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=_.camelCase(d.slice(5)),i(f,d,e[d])));ra.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){sa.set(this,a)}):qa(this,function(b){var c,d=_.camelCase(a);if(f&&void 0===b){if(c=sa.get(f,a),void 0!==c)return c;if(c=sa.get(f,d),void 0!==c)return c;if(c=i(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=sa.get(this,d);sa.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&sa.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){sa.remove(this,a)})}}),_.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=ra.get(a,b),c&&(!d||_.isArray(c)?d=ra.access(a,b,_.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=_.queue(a,b),d=c.length,e=c.shift(),f=_._queueHooks(a,b),g=function(){_.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&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 ra.get(a,c)||ra.access(a,c,{empty:_.Callbacks("once memory").add(function(){ra.remove(a,[b+"queue",c])})})}}),_.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?_.queue(this[0],a):void 0===b?this:this.each(function(){var c=_.queue(this,a,b);_._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&_.dequeue(this,a)})},dequeue:function(a){return this.each(function(){_.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=_.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};for("string"!=typeof a&&(b=a,a=void 0),a=a||"fx";g--;)c=ra.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var va=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,wa=["Top","Right","Bottom","Left"],xa=function(a,b){return a=b||a,"none"===_.css(a,"display")||!_.contains(a.ownerDocument,a)},ya=/^(?:checkbox|radio)$/i;!function(){var a=Z.createDocumentFragment(),b=a.appendChild(Z.createElement("div")),c=Z.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),Y.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",Y.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var za="undefined";Y.focusinBubbles="onfocusin"in a;var Aa=/^key/,Ba=/^(?:mouse|pointer|contextmenu)|click/,Ca=/^(?:focusinfocus|focusoutblur)$/,Da=/^([^.]*)(?:\.(.+)|)$/;_.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=ra.get(a);if(q)for(c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=_.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return typeof _!==za&&_.event.triggered!==b.type?_.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(na)||[""],j=b.length;j--;)h=Da.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=_.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=_.event.special[n]||{},k=_.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&_.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),_.event.global[n]=!0)},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=ra.hasData(a)&&ra.get(a);if(q&&(i=q.events)){for(b=(b||"").match(na)||[""],j=b.length;j--;)if(h=Da.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){for(l=_.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;f--;)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||_.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)_.event.remove(a,n+b[j],c,d,!0);_.isEmptyObject(i)&&(delete q.handle,ra.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,j,k,l,m=[d||Z],n=X.call(b,"type")?b.type:b,o=X.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||Z,3!==d.nodeType&&8!==d.nodeType&&!Ca.test(n+_.event.triggered)&&(n.indexOf(".")>=0&&(o=n.split("."),n=o.shift(),o.sort()),j=n.indexOf(":")<0&&"on"+n,b=b[_.expando]?b:new _.Event(n,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=o.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:_.makeArray(c,[b]),l=_.event.special[n]||{},e||!l.trigger||l.trigger.apply(d,c)!==!1)){if(!e&&!l.noBubble&&!_.isWindow(d)){for(i=l.delegateType||n,Ca.test(i+n)||(g=g.parentNode);g;g=g.parentNode)m.push(g),h=g;h===(d.ownerDocument||Z)&&m.push(h.defaultView||h.parentWindow||a)}for(f=0;(g=m[f++])&&!b.isPropagationStopped();)b.type=f>1?i:l.bindType||n,k=(ra.get(g,"events")||{})[b.type]&&ra.get(g,"handle"),k&&k.apply(g,c),k=j&&g[j],k&&k.apply&&_.acceptData(g)&&(b.result=k.apply(g,c),b.result===!1&&b.preventDefault());return b.type=n,e||b.isDefaultPrevented()||l._default&&l._default.apply(m.pop(),c)!==!1||!_.acceptData(d)||j&&_.isFunction(d[n])&&!_.isWindow(d)&&(h=d[j],h&&(d[j]=null),_.event.triggered=n,d[n](),_.event.triggered=void 0,h&&(d[j]=h)),b.result}},dispatch:function(a){a=_.event.fix(a);var b,c,d,e,f,g=[],h=R.call(arguments),i=(ra.get(this,"events")||{})[a.type]||[],j=_.event.special[a.type]||{};if(h[0]=a,a.delegateTarget=this,!j.preDispatch||j.preDispatch.call(this,a)!==!1){for(g=_.event.handlers.call(this,a,i),b=0;(e=g[b++])&&!a.isPropagationStopped();)for(a.currentTarget=e.elem,c=0;(f=e.handlers[c++])&&!a.isImmediatePropagationStopped();)(!a.namespace_re||a.namespace_re.test(f.namespace))&&(a.handleObj=f,a.data=f.data,d=((_.event.special[f.origType]||{}).handle||f.handler).apply(e.elem,h),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()));return j.postDispatch&&j.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?_(e,this).index(i)>=0:_.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"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 null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||Z,d=c.documentElement,e=c.body,a.pageX=b.clientX+(d&&d.scrollLeft||e&&e.scrollLeft||0)-(d&&d.clientLeft||e&&e.clientLeft||0),a.pageY=b.clientY+(d&&d.scrollTop||e&&e.scrollTop||0)-(d&&d.clientTop||e&&e.clientTop||0)),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},fix:function(a){if(a[_.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];for(g||(this.fixHooks[e]=g=Ba.test(e)?this.mouseHooks:Aa.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new _.Event(f),b=d.length;b--;)c=d[b],a[c]=f[c];return a.target||(a.target=Z),3===a.target.nodeType&&(a.target=a.target.parentNode),g.filter?g.filter(a,f):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==l()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===l()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&_.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return _.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=_.extend(new _.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?_.event.trigger(e,null,b):_.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},_.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)},_.Event=function(a,b){return this instanceof _.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?j:k):this.type=a,b&&_.extend(this,b),this.timeStamp=a&&a.timeStamp||_.now(),void(this[_.expando]=!0)):new _.Event(a,b)},_.Event.prototype={isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=j,a&&a.preventDefault&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=j,a&&a.stopPropagation&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=j,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},_.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){_.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!_.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),Y.focusinBubbles||_.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){_.event.simulate(b,a.target,_.event.fix(a),!0)};_.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=ra.access(d,b);e||d.addEventListener(a,c,!0),ra.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=ra.access(d,b)-1;e?ra.access(d,b,e):(d.removeEventListener(a,c,!0),ra.remove(d,b))}}}),_.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(g in a)this.on(g,b,c,a[g],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=k;else if(!d)return this;return 1===e&&(f=d,d=function(a){return _().off(a),f.apply(this,arguments)},d.guid=f.guid||(f.guid=_.guid++)),this.each(function(){_.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,_(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=k),this.each(function(){_.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){_.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?_.event.trigger(a,b,c,!0):void 0}});var Ea=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Fa=/<([\w:]+)/,Ga=/<|&#?\w+;/,Ha=/<(?:script|style|link)/i,Ia=/checked\s*(?:[^=]|=\s*.checked.)/i,Ja=/^$|\/(?:java|ecma)script/i,Ka=/^true\/(.*)/,La=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,Ma={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,"",""]};Ma.optgroup=Ma.option,Ma.tbody=Ma.tfoot=Ma.colgroup=Ma.caption=Ma.thead,Ma.th=Ma.td,_.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=_.contains(a.ownerDocument,a);if(!(Y.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||_.isXMLDoc(a)))for(g=r(h),f=r(a),d=0,e=f.length;e>d;d++)s(f[d],g[d]);if(b)if(c)for(f=f||r(a),g=g||r(h),d=0,e=f.length;e>d;d++)q(f[d],g[d]);else q(a,h);return g=r(h,"script"),g.length>0&&p(g,!i&&r(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,n=a.length;n>m;m++)if(e=a[m],e||0===e)if("object"===_.type(e))_.merge(l,e.nodeType?[e]:e);else if(Ga.test(e)){for(f=f||k.appendChild(b.createElement("div")),g=(Fa.exec(e)||["",""])[1].toLowerCase(),h=Ma[g]||Ma._default,f.innerHTML=h[1]+e.replace(Ea,"<$1></$2>")+h[2],j=h[0];j--;)f=f.lastChild;_.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));for(k.textContent="",m=0;e=l[m++];)if((!d||-1===_.inArray(e,d))&&(i=_.contains(e.ownerDocument,e),f=r(k.appendChild(e),"script"),i&&p(f),c))for(j=0;e=f[j++];)Ja.test(e.type||"")&&c.push(e);return k},cleanData:function(a){for(var b,c,d,e,f=_.event.special,g=0;void 0!==(c=a[g]);g++){if(_.acceptData(c)&&(e=c[ra.expando],e&&(b=ra.cache[e]))){if(b.events)for(d in b.events)f[d]?_.event.remove(c,d):_.removeEvent(c,d,b.handle);ra.cache[e]&&delete ra.cache[e]}delete sa.cache[c[sa.expando]]}}}),_.fn.extend({text:function(a){return qa(this,function(a){return void 0===a?_.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=m(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=m(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?_.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||_.cleanData(r(c)),c.parentNode&&(b&&_.contains(c.ownerDocument,c)&&p(r(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(_.cleanData(r(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return _.clone(this,a,b)})},html:function(a){return qa(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Ha.test(a)&&!Ma[(Fa.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ea,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(_.cleanData(r(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,_.cleanData(r(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=S.apply([],a);var c,d,e,f,g,h,i=0,j=this.length,k=this,l=j-1,m=a[0],p=_.isFunction(m);if(p||j>1&&"string"==typeof m&&!Y.checkClone&&Ia.test(m))return this.each(function(c){var d=k.eq(c);p&&(a[0]=m.call(this,c,d.html())),d.domManip(a,b)});if(j&&(c=_.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(e=_.map(r(c,"script"),n),f=e.length;j>i;i++)g=c,i!==l&&(g=_.clone(g,!0,!0),f&&_.merge(e,r(g,"script"))),b.call(this[i],g,i);if(f)for(h=e[e.length-1].ownerDocument,_.map(e,o),i=0;f>i;i++)g=e[i],Ja.test(g.type||"")&&!ra.access(g,"globalEval")&&_.contains(h,g)&&(g.src?_._evalUrl&&_._evalUrl(g.src):_.globalEval(g.textContent.replace(La,"")))}return this}}),_.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){_.fn[a]=function(a){for(var c,d=[],e=_(a),f=e.length-1,g=0;f>=g;g++)c=g===f?this:this.clone(!0),_(e[g])[b](c),T.apply(d,c.get());return this.pushStack(d)}});var Na,Oa={},Pa=/^margin/,Qa=new RegExp("^("+va+")(?!px)[a-z%]+$","i"),Ra=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)};!function(){function b(){g.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",g.innerHTML="",e.appendChild(f);var b=a.getComputedStyle(g,null);c="1%"!==b.top,d="4px"===b.width,e.removeChild(f)}var c,d,e=Z.documentElement,f=Z.createElement("div"),g=Z.createElement("div");g.style&&(g.style.backgroundClip="content-box",g.cloneNode(!0).style.backgroundClip="",Y.clearCloneStyle="content-box"===g.style.backgroundClip,f.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",f.appendChild(g),a.getComputedStyle&&_.extend(Y,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return null==d&&b(),d},reliableMarginRight:function(){var b,c=g.appendChild(Z.createElement("div"));return c.style.cssText=g.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",g.style.width="1px",e.appendChild(f),b=!parseFloat(a.getComputedStyle(c,null).marginRight),e.removeChild(f),g.removeChild(c),b}}))}(),_.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Sa=/^(none|table(?!-c[ea]).+)/,Ta=new RegExp("^("+va+")(.*)$","i"),Ua=new RegExp("^([+-])=("+va+")","i"),Va={position:"absolute",visibility:"hidden",display:"block"},Wa={letterSpacing:"0",fontWeight:"400"},Xa=["Webkit","O","Moz","ms"];_.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=v(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=_.camelCase(b),i=a.style;return b=_.cssProps[h]||(_.cssProps[h]=x(i,h)),g=_.cssHooks[b]||_.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=Ua.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(_.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||_.cssNumber[h]||(c+="px"),Y.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=_.camelCase(b);return b=_.cssProps[h]||(_.cssProps[h]=x(a.style,h)),g=_.cssHooks[b]||_.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=v(a,b,d)),"normal"===e&&b in Wa&&(e=Wa[b]),""===c||c?(f=parseFloat(e),c===!0||_.isNumeric(f)?f||0:e):e}}),_.each(["height","width"],function(a,b){_.cssHooks[b]={get:function(a,c,d){return c?Sa.test(_.css(a,"display"))&&0===a.offsetWidth?_.swap(a,Va,function(){return A(a,b,d)}):A(a,b,d):void 0},set:function(a,c,d){var e=d&&Ra(a);return y(a,c,d?z(a,b,d,"border-box"===_.css(a,"boxSizing",!1,e),e):0)}}}),_.cssHooks.marginRight=w(Y.reliableMarginRight,function(a,b){return b?_.swap(a,{display:"inline-block"},v,[a,"marginRight"]):void 0}),_.each({margin:"",padding:"",border:"Width"},function(a,b){_.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+wa[d]+b]=f[d]||f[d-2]||f[0];return e}},Pa.test(a)||(_.cssHooks[a+b].set=y)}),_.fn.extend({css:function(a,b){return qa(this,function(a,b,c){var d,e,f={},g=0;if(_.isArray(b)){for(d=Ra(a),e=b.length;e>g;g++)f[b[g]]=_.css(a,b[g],!1,d);return f}return void 0!==c?_.style(a,b,c):_.css(a,b)},a,b,arguments.length>1)},show:function(){return B(this,!0)},hide:function(){return B(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){xa(this)?_(this).show():_(this).hide()})}}),_.Tween=C,C.prototype={constructor:C,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||(_.cssNumber[c]?"":"px")},cur:function(){var a=C.propHooks[this.prop];return a&&a.get?a.get(this):C.propHooks._default.get(this)},run:function(a){var b,c=C.propHooks[this.prop];return this.options.duration?this.pos=b=_.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):C.propHooks._default.set(this),this}},C.prototype.init.prototype=C.prototype,C.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=_.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){_.fx.step[a.prop]?_.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[_.cssProps[a.prop]]||_.cssHooks[a.prop])?_.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},C.propHooks.scrollTop=C.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},_.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},_.fx=C.prototype.init,_.fx.step={};var Ya,Za,$a=/^(?:toggle|show|hide)$/,_a=new RegExp("^(?:([+-])=|)("+va+")([a-z%]*)$","i"),ab=/queueHooks$/,bb=[G],cb={
-"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=_a.exec(b),f=e&&e[3]||(_.cssNumber[a]?"":"px"),g=(_.cssNumber[a]||"px"!==f&&+d)&&_a.exec(_.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,_.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};_.Animation=_.extend(I,{tweener:function(a,b){_.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],cb[c]=cb[c]||[],cb[c].unshift(b)},prefilter:function(a,b){b?bb.unshift(a):bb.push(a)}}),_.speed=function(a,b,c){var d=a&&"object"==typeof a?_.extend({},a):{complete:c||!c&&b||_.isFunction(a)&&a,duration:a,easing:c&&b||b&&!_.isFunction(b)&&b};return d.duration=_.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in _.fx.speeds?_.fx.speeds[d.duration]:_.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){_.isFunction(d.old)&&d.old.call(this),d.queue&&_.dequeue(this,d.queue)},d},_.fn.extend({fadeTo:function(a,b,c,d){return this.filter(xa).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=_.isEmptyObject(a),f=_.speed(b,c,d),g=function(){var b=I(this,_.extend({},a),f);(e||ra.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=_.timers,g=ra.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&ab.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&_.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=ra.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=_.timers,g=d?d.length:0;for(c.finish=!0,_.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),_.each(["toggle","show","hide"],function(a,b){var c=_.fn[b];_.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(E(b,!0),a,d,e)}}),_.each({slideDown:E("show"),slideUp:E("hide"),slideToggle:E("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){_.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),_.timers=[],_.fx.tick=function(){var a,b=0,c=_.timers;for(Ya=_.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||_.fx.stop(),Ya=void 0},_.fx.timer=function(a){_.timers.push(a),a()?_.fx.start():_.timers.pop()},_.fx.interval=13,_.fx.start=function(){Za||(Za=setInterval(_.fx.tick,_.fx.interval))},_.fx.stop=function(){clearInterval(Za),Za=null},_.fx.speeds={slow:600,fast:200,_default:400},_.fn.delay=function(a,b){return a=_.fx?_.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a=Z.createElement("input"),b=Z.createElement("select"),c=b.appendChild(Z.createElement("option"));a.type="checkbox",Y.checkOn=""!==a.value,Y.optSelected=c.selected,b.disabled=!0,Y.optDisabled=!c.disabled,a=Z.createElement("input"),a.value="t",a.type="radio",Y.radioValue="t"===a.value}();var db,eb,fb=_.expr.attrHandle;_.fn.extend({attr:function(a,b){return qa(this,_.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){_.removeAttr(this,a)})}}),_.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===za?_.prop(a,b,c):(1===f&&_.isXMLDoc(a)||(b=b.toLowerCase(),d=_.attrHooks[b]||(_.expr.match.bool.test(b)?eb:db)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=_.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void _.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(na);if(f&&1===a.nodeType)for(;c=f[e++];)d=_.propFix[c]||c,_.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!Y.radioValue&&"radio"===b&&_.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),eb={set:function(a,b,c){return b===!1?_.removeAttr(a,c):a.setAttribute(c,c),c}},_.each(_.expr.match.bool.source.match(/\w+/g),function(a,b){var c=fb[b]||_.find.attr;fb[b]=function(a,b,d){var e,f;return d||(f=fb[b],fb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,fb[b]=f),e}});var gb=/^(?:input|select|textarea|button)$/i;_.fn.extend({prop:function(a,b){return qa(this,_.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[_.propFix[a]||a]})}}),_.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!_.isXMLDoc(a),f&&(b=_.propFix[b]||b,e=_.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||gb.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),Y.optSelected||(_.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),_.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){_.propFix[this.toLowerCase()]=this});var hb=/[\t\r\n\f]/g;_.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(_.isFunction(a))return this.each(function(b){_(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(na)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(hb," "):" ")){for(f=0;e=b[f++];)d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=_.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(_.isFunction(a))return this.each(function(b){_(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(na)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(hb," "):"")){for(f=0;e=b[f++];)for(;d.indexOf(" "+e+" ")>=0;)d=d.replace(" "+e+" "," ");g=a?_.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):_.isFunction(a)?this.each(function(c){_(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if("string"===c)for(var b,d=0,e=_(this),f=a.match(na)||[];b=f[d++];)e.hasClass(b)?e.removeClass(b):e.addClass(b);else(c===za||"boolean"===c)&&(this.className&&ra.set(this,"__className__",this.className),this.className=this.className||a===!1?"":ra.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(hb," ").indexOf(b)>=0)return!0;return!1}});var ib=/\r/g;_.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=_.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,_(this).val()):a,null==e?e="":"number"==typeof e?e+="":_.isArray(e)&&(e=_.map(e,function(a){return null==a?"":a+""})),b=_.valHooks[this.type]||_.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=_.valHooks[e.type]||_.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(ib,""):null==c?"":c)}}}),_.extend({valHooks:{option:{get:function(a){var b=_.find.attr(a,"value");return null!=b?b:_.trim(_.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&(Y.optDisabled?!c.disabled:null===c.getAttribute("disabled"))&&(!c.parentNode.disabled||!_.nodeName(c.parentNode,"optgroup"))){if(b=_(c).val(),f)return b;g.push(b)}return g},set:function(a,b){for(var c,d,e=a.options,f=_.makeArray(b),g=e.length;g--;)d=e[g],(d.selected=_.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),_.each(["radio","checkbox"],function(){_.valHooks[this]={set:function(a,b){return _.isArray(b)?a.checked=_.inArray(_(a).val(),b)>=0:void 0}},Y.checkOn||(_.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),_.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){_.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),_.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var jb=_.now(),kb=/\?/;_.parseJSON=function(a){return JSON.parse(a+"")},_.parseXML=function(a){var b,c;if(!a||"string"!=typeof a)return null;try{c=new DOMParser,b=c.parseFromString(a,"text/xml")}catch(d){b=void 0}return(!b||b.getElementsByTagName("parsererror").length)&&_.error("Invalid XML: "+a),b};var lb=/#.*$/,mb=/([?&])_=[^&]*/,nb=/^(.*?):[ \t]*([^\r\n]*)$/gm,ob=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,pb=/^(?:GET|HEAD)$/,qb=/^\/\//,rb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,sb={},tb={},ub="*/".concat("*"),vb=a.location.href,wb=rb.exec(vb.toLowerCase())||[];_.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:vb,type:"GET",isLocal:ob.test(wb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":ub,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":_.parseJSON,"text xml":_.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?L(L(a,_.ajaxSettings),b):L(_.ajaxSettings,a)},ajaxPrefilter:J(sb),ajaxTransport:J(tb),ajax:function(a,b){function c(a,b,c,g){var i,k,r,s,u,w=b;2!==t&&(t=2,h&&clearTimeout(h),d=void 0,f=g||"",v.readyState=a>0?4:0,i=a>=200&&300>a||304===a,c&&(s=M(l,v,c)),s=N(l,s,v,i),i?(l.ifModified&&(u=v.getResponseHeader("Last-Modified"),u&&(_.lastModified[e]=u),u=v.getResponseHeader("etag"),u&&(_.etag[e]=u)),204===a||"HEAD"===l.type?w="nocontent":304===a?w="notmodified":(w=s.state,k=s.data,r=s.error,i=!r)):(r=w,(a||!w)&&(w="error",0>a&&(a=0))),v.status=a,v.statusText=(b||w)+"",i?o.resolveWith(m,[k,w,v]):o.rejectWith(m,[v,w,r]),v.statusCode(q),q=void 0,j&&n.trigger(i?"ajaxSuccess":"ajaxError",[v,l,i?k:r]),p.fireWith(m,[v,w]),j&&(n.trigger("ajaxComplete",[v,l]),--_.active||_.event.trigger("ajaxStop")))}"object"==typeof a&&(b=a,a=void 0),b=b||{};var d,e,f,g,h,i,j,k,l=_.ajaxSetup({},b),m=l.context||l,n=l.context&&(m.nodeType||m.jquery)?_(m):_.event,o=_.Deferred(),p=_.Callbacks("once memory"),q=l.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!g)for(g={};b=nb.exec(f);)g[b[1].toLowerCase()]=b[2];b=g[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(l.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return d&&d.abort(b),c(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,l.url=((a||l.url||vb)+"").replace(lb,"").replace(qb,wb[1]+"//"),l.type=b.method||b.type||l.method||l.type,l.dataTypes=_.trim(l.dataType||"*").toLowerCase().match(na)||[""],null==l.crossDomain&&(i=rb.exec(l.url.toLowerCase()),l.crossDomain=!(!i||i[1]===wb[1]&&i[2]===wb[2]&&(i[3]||("http:"===i[1]?"80":"443"))===(wb[3]||("http:"===wb[1]?"80":"443")))),l.data&&l.processData&&"string"!=typeof l.data&&(l.data=_.param(l.data,l.traditional)),K(sb,l,b,v),2===t)return v;j=_.event&&l.global,j&&0===_.active++&&_.event.trigger("ajaxStart"),l.type=l.type.toUpperCase(),l.hasContent=!pb.test(l.type),e=l.url,l.hasContent||(l.data&&(e=l.url+=(kb.test(e)?"&":"?")+l.data,delete l.data),l.cache===!1&&(l.url=mb.test(e)?e.replace(mb,"$1_="+jb++):e+(kb.test(e)?"&":"?")+"_="+jb++)),l.ifModified&&(_.lastModified[e]&&v.setRequestHeader("If-Modified-Since",_.lastModified[e]),_.etag[e]&&v.setRequestHeader("If-None-Match",_.etag[e])),(l.data&&l.hasContent&&l.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",l.contentType),v.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+("*"!==l.dataTypes[0]?", "+ub+"; q=0.01":""):l.accepts["*"]);for(k in l.headers)v.setRequestHeader(k,l.headers[k]);if(l.beforeSend&&(l.beforeSend.call(m,v,l)===!1||2===t))return v.abort();u="abort";for(k in{success:1,error:1,complete:1})v[k](l[k]);if(d=K(tb,l,b,v)){v.readyState=1,j&&n.trigger("ajaxSend",[v,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){v.abort("timeout")},l.timeout));try{t=1,d.send(r,c)}catch(w){if(!(2>t))throw w;c(-1,w)}}else c(-1,"No Transport");return v},getJSON:function(a,b,c){return _.get(a,b,c,"json")},getScript:function(a,b){return _.get(a,void 0,b,"script")}}),_.each(["get","post"],function(a,b){_[b]=function(a,c,d,e){return _.isFunction(c)&&(e=e||d,d=c,c=void 0),_.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),_._evalUrl=function(a){return _.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},_.fn.extend({wrapAll:function(a){var b;return _.isFunction(a)?this.each(function(b){_(this).wrapAll(a.call(this,b))}):(this[0]&&(b=_(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){for(var a=this;a.firstElementChild;)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return _.isFunction(a)?this.each(function(b){_(this).wrapInner(a.call(this,b))}):this.each(function(){var b=_(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=_.isFunction(a);return this.each(function(c){_(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){_.nodeName(this,"body")||_(this).replaceWith(this.childNodes)}).end()}}),_.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},_.expr.filters.visible=function(a){return!_.expr.filters.hidden(a)};var xb=/%20/g,yb=/\[\]$/,zb=/\r?\n/g,Ab=/^(?:submit|button|image|reset|file)$/i,Bb=/^(?:input|select|textarea|keygen)/i;_.param=function(a,b){var c,d=[],e=function(a,b){b=_.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=_.ajaxSettings&&_.ajaxSettings.traditional),_.isArray(a)||a.jquery&&!_.isPlainObject(a))_.each(a,function(){e(this.name,this.value)});else for(c in a)O(c,a[c],b,e);return d.join("&").replace(xb,"+")},_.fn.extend({serialize:function(){return _.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=_.prop(this,"elements");return a?_.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!_(this).is(":disabled")&&Bb.test(this.nodeName)&&!Ab.test(a)&&(this.checked||!ya.test(a))}).map(function(a,b){var c=_(this).val();return null==c?null:_.isArray(c)?_.map(c,function(a){return{name:b.name,value:a.replace(zb,"\r\n")}}):{name:b.name,value:c.replace(zb,"\r\n")}}).get()}}),_.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var Cb=0,Db={},Eb={0:200,1223:204},Fb=_.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Db)Db[a]()}),Y.cors=!!Fb&&"withCredentials"in Fb,Y.ajax=Fb=!!Fb,_.ajaxTransport(function(a){var b;return Y.cors||Fb&&!a.crossDomain?{send:function(c,d){var e,f=a.xhr(),g=++Cb;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)f.setRequestHeader(e,c[e]);b=function(a){return function(){b&&(delete Db[g],b=f.onload=f.onerror=null,"abort"===a?f.abort():"error"===a?d(f.status,f.statusText):d(Eb[f.status]||f.status,f.statusText,"string"==typeof f.responseText?{text:f.responseText}:void 0,f.getAllResponseHeaders()))}},f.onload=b(),f.onerror=b("error"),b=Db[g]=b("abort");try{f.send(a.hasContent&&a.data||null)}catch(h){if(b)throw h}},abort:function(){b&&b()}}:void 0}),_.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return _.globalEval(a),a}}}),_.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),_.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=_("<script>").prop({async:!0,charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&e("error"===a.type?404:200,a.type)}),Z.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Gb=[],Hb=/(=)\?(?=&|$)|\?\?/;_.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Gb.pop()||_.expando+"_"+jb++;return this[a]=!0,a}}),_.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Hb.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Hb.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=_.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Hb,"$1"+e):b.jsonp!==!1&&(b.url+=(kb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||_.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Gb.push(e)),g&&_.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),_.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||Z;var d=ga.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=_.buildFragment([a],b,e),e&&e.length&&_(e).remove(),_.merge([],d.childNodes))};var Ib=_.fn.load;_.fn.load=function(a,b,c){if("string"!=typeof a&&Ib)return Ib.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=_.trim(a.slice(h)),a=a.slice(0,h)),_.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&_.ajax({url:a,type:e,dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?_("<div>").append(_.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,f||[a.responseText,b,a])}),this},_.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){_.fn[b]=function(a){return this.on(b,a)}}),_.expr.filters.animated=function(a){return _.grep(_.timers,function(b){return a===b.elem}).length};var Jb=a.document.documentElement;_.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=_.css(a,"position"),l=_(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=_.css(a,"top"),i=_.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),_.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},_.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){_.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,_.contains(b,d)?(typeof d.getBoundingClientRect!==za&&(e=d.getBoundingClientRect()),c=P(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===_.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),_.nodeName(a[0],"html")||(d=a.offset()),d.top+=_.css(a[0],"borderTopWidth",!0),d.left+=_.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-_.css(c,"marginTop",!0),left:b.left-d.left-_.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||Jb;a&&!_.nodeName(a,"html")&&"static"===_.css(a,"position");)a=a.offsetParent;return a||Jb})}}),_.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b,c){var d="pageYOffset"===c;_.fn[b]=function(e){return qa(this,function(b,e,f){var g=P(b);return void 0===f?g?g[c]:b[e]:void(g?g.scrollTo(d?a.pageXOffset:f,d?f:a.pageYOffset):b[e]=f)},b,e,arguments.length,null)}}),_.each(["top","left"],function(a,b){_.cssHooks[b]=w(Y.pixelPosition,function(a,c){return c?(c=v(a,b),Qa.test(c)?_(a).position()[b]+"px":c):void 0})}),_.each({Height:"height",Width:"width"},function(a,b){_.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){_.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return qa(this,function(b,c,d){var e;return _.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?_.css(b,c,g):_.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),_.fn.size=function(){return this.length},_.fn.andSelf=_.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return _});var Kb=a.jQuery,Lb=a.$;return _.noConflict=function(b){return a.$===_&&(a.$=Lb),b&&a.jQuery===_&&(a.jQuery=Kb),_},typeof b===za&&(a.jQuery=a.$=_),_}),function(a,b,c){"use strict";function d(a,b){return b=b||Error,function(){var c,d,e=2,f=arguments,g=f[0],h="["+(a?a+":":"")+g+"] ",i=f[1];for(h+=i.replace(/\{\d+\}/g,function(a){var b=+a.slice(1,-1),c=b+e;return c<f.length?ta(f[c]):a}),h+="\nhttp://errors.angularjs.org/1.4.8/"+(a?a+"/":"")+g,d=e,c="?";d<f.length;d++,c="&")h+=c+"p"+(d-e)+"="+encodeURIComponent(ta(f[d]));return new b(h)}}function e(a){if(null==a||C(a))return!1;if(Od(a)||x(a)||Cd&&a instanceof Cd)return!0;var b="length"in Object(a)&&a.length;return y(b)&&(b>=0&&b-1 in a||"function"==typeof a.item)}function f(a,b,c){var d,g;if(a)if(A(a))for(d in a)"prototype"==d||"length"==d||"name"==d||a.hasOwnProperty&&!a.hasOwnProperty(d)||b.call(c,a[d],d,a);else if(Od(a)||e(a)){var h="object"!=typeof a;for(d=0,g=a.length;g>d;d++)(h||d in a)&&b.call(c,a[d],d,a)}else if(a.forEach&&a.forEach!==f)a.forEach(b,c,a);else if(w(a))for(d in a)b.call(c,a[d],d,a);else if("function"==typeof a.hasOwnProperty)for(d in a)a.hasOwnProperty(d)&&b.call(c,a[d],d,a);else for(d in a)xd.call(a,d)&&b.call(c,a[d],d,a);return a}function g(a,b,c){for(var d=Object.keys(a).sort(),e=0;e<d.length;e++)b.call(c,a[d[e]],d[e]);return d}function h(a){return function(b,c){a(c,b)}}function i(){return++Md}function j(a,b){b?a.$$hashKey=b:delete a.$$hashKey}function k(a,b,c){for(var d=a.$$hashKey,e=0,f=b.length;f>e;++e){var g=b[e];if(v(g)||A(g))for(var h=Object.keys(g),i=0,l=h.length;l>i;i++){var m=h[i],n=g[m];c&&v(n)?z(n)?a[m]=new Date(n.valueOf()):B(n)?a[m]=new RegExp(n):n.nodeName?a[m]=n.cloneNode(!0):K(n)?a[m]=n.clone():(v(a[m])||(a[m]=Od(n)?[]:{}),k(a[m],[n],!0)):a[m]=n}}return j(a,d),a}function l(a){return k(a,Fd.call(arguments,1),!1)}function m(a){return k(a,Fd.call(arguments,1),!0)}function n(a){return parseInt(a,10)}function o(a,b){return l(Object.create(a),b)}function p(){}function q(a){return a}function r(a){return function(){return a}}function s(a){return A(a.toString)&&a.toString!==Id}function t(a){return"undefined"==typeof a}function u(a){return"undefined"!=typeof a}function v(a){return null!==a&&"object"==typeof a}function w(a){return null!==a&&"object"==typeof a&&!Jd(a)}function x(a){return"string"==typeof a}function y(a){return"number"==typeof a}function z(a){return"[object Date]"===Id.call(a)}function A(a){return"function"==typeof a}function B(a){return"[object RegExp]"===Id.call(a)}function C(a){return a&&a.window===a}function D(a){return a&&a.$evalAsync&&a.$watch}function E(a){return"[object File]"===Id.call(a)}function F(a){return"[object FormData]"===Id.call(a)}function G(a){return"[object Blob]"===Id.call(a)}function H(a){return"boolean"==typeof a}function I(a){return a&&A(a.then)}function J(a){return a&&y(a.length)&&Pd.test(Id.call(a))}function K(a){return!(!a||!(a.nodeName||a.prop&&a.attr&&a.find))}function L(a){var b,c={},d=a.split(",");for(b=0;b<d.length;b++)c[d[b]]=!0;return c}function M(a){return wd(a.nodeName||a[0]&&a[0].nodeName)}function N(a,b){var c=a.indexOf(b);return c>=0&&a.splice(c,1),c}function O(a,b){function c(a,b){var c,e=b.$$hashKey;if(Od(a))for(var f=0,g=a.length;g>f;f++)b.push(d(a[f]));else if(w(a))for(c in a)b[c]=d(a[c]);else if(a&&"function"==typeof a.hasOwnProperty)for(c in a)a.hasOwnProperty(c)&&(b[c]=d(a[c]));else for(c in a)xd.call(a,c)&&(b[c]=d(a[c]));return j(b,e),b}function d(a){if(!v(a))return a;var b=e.indexOf(a);if(-1!==b)return g[b];if(C(a)||D(a))throw Kd("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");var d,f=!1;return Od(a)?(d=[],f=!0):J(a)?d=new a.constructor(a):z(a)?d=new Date(a.getTime()):B(a)?(d=new RegExp(a.source,a.toString().match(/[^\/]*$/)[0]),d.lastIndex=a.lastIndex):A(a.cloneNode)?d=a.cloneNode(!0):(d=Object.create(Jd(a)),f=!0),e.push(a),g.push(d),f?c(a,d):d}var e=[],g=[];if(b){if(J(b))throw Kd("cpta","Can't copy! TypedArray destination cannot be mutated.");if(a===b)throw Kd("cpi","Can't copy! Source and destination are identical.");return Od(b)?b.length=0:f(b,function(a,c){"$$hashKey"!==c&&delete b[c]}),e.push(a),g.push(b),c(a,b)}return d(a)}function P(a,b){if(Od(a)){b=b||[];for(var c=0,d=a.length;d>c;c++)b[c]=a[c]}else if(v(a)){b=b||{};for(var e in a)("$"!==e.charAt(0)||"$"!==e.charAt(1))&&(b[e]=a[e])}return b||a}function Q(a,b){if(a===b)return!0;if(null===a||null===b)return!1;if(a!==a&&b!==b)return!0;var c,d,e,f=typeof a,g=typeof b;if(f==g&&"object"==f){if(!Od(a)){if(z(a))return z(b)?Q(a.getTime(),b.getTime()):!1;if(B(a))return B(b)?a.toString()==b.toString():!1;if(D(a)||D(b)||C(a)||C(b)||Od(b)||z(b)||B(b))return!1;e=qa();for(d in a)if("$"!==d.charAt(0)&&!A(a[d])){if(!Q(a[d],b[d]))return!1;e[d]=!0}for(d in b)if(!(d in e)&&"$"!==d.charAt(0)&&u(b[d])&&!A(b[d]))return!1;return!0}if(!Od(b))return!1;if((c=a.length)==b.length){for(d=0;c>d;d++)if(!Q(a[d],b[d]))return!1;return!0}}return!1}function R(a,b,c){return a.concat(Fd.call(b,c))}function S(a,b){return Fd.call(a,b||0)}function T(a,b){var c=arguments.length>2?S(arguments,2):[];return!A(b)||b instanceof RegExp?b:c.length?function(){return arguments.length?b.apply(a,R(c,arguments,0)):b.apply(a,c)}:function(){return arguments.length?b.apply(a,arguments):b.call(a)}}function U(a,d){var e=d;return"string"==typeof a&&"$"===a.charAt(0)&&"$"===a.charAt(1)?e=c:C(d)?e="$WINDOW":d&&b===d?e="$DOCUMENT":D(d)&&(e="$SCOPE"),e}function V(a,b){return"undefined"==typeof a?c:(y(b)||(b=b?2:null),JSON.stringify(a,U,b))}function W(a){return x(a)?JSON.parse(a):a}function X(a,b){var c=Date.parse("Jan 01, 1970 00:00:00 "+a)/6e4;return isNaN(c)?b:c}function Y(a,b){return a=new Date(a.getTime()),a.setMinutes(a.getMinutes()+b),a}function Z(a,b,c){c=c?-1:1;var d=X(b,a.getTimezoneOffset());return Y(a,c*(d-a.getTimezoneOffset()))}function $(a){a=Cd(a).clone();try{a.empty()}catch(b){}var c=Cd("<div>").append(a).html();try{return a[0].nodeType===Zd?wd(c):c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+wd(b)})}catch(b){return wd(c)}}function _(a){try{return decodeURIComponent(a)}catch(b){}}function aa(a){var b={};return f((a||"").split("&"),function(a){var c,d,e;a&&(d=a=a.replace(/\+/g,"%20"),c=a.indexOf("="),-1!==c&&(d=a.substring(0,c),e=a.substring(c+1)),d=_(d),u(d)&&(e=u(e)?_(e):!0,xd.call(b,d)?Od(b[d])?b[d].push(e):b[d]=[b[d],e]:b[d]=e))}),b}function ba(a){var b=[];return f(a,function(a,c){Od(a)?f(a,function(a){b.push(da(c,!0)+(a===!0?"":"="+da(a,!0)))}):b.push(da(c,!0)+(a===!0?"":"="+da(a,!0)))}),b.length?b.join("&"):""}function ca(a){return da(a,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function da(a,b){return encodeURIComponent(a).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,b?"%20":"+")}function ea(a,b){var c,d,e=Ud.length;for(d=0;e>d;++d)if(c=Ud[d]+b,x(c=a.getAttribute(c)))return c;return null}function fa(a,b){var c,d,e={};f(Ud,function(b){var e=b+"app";!c&&a.hasAttribute&&a.hasAttribute(e)&&(c=a,d=a.getAttribute(e))}),f(Ud,function(b){var e,f=b+"app";!c&&(e=a.querySelector("["+f.replace(":","\\:")+"]"))&&(c=e,d=e.getAttribute(f))}),c&&(e.strictDi=null!==ea(c,"strict-di"),b(c,d?[d]:[],e))}function ga(c,d,e){v(e)||(e={});var g={strictDi:!1};e=l(g,e);var h=function(){if(c=Cd(c),c.injector()){var a=c[0]===b?"document":$(c);throw Kd("btstrpd","App Already Bootstrapped with this Element '{0}'",a.replace(/</,"&lt;").replace(/>/,"&gt;"))}d=d||[],d.unshift(["$provide",function(a){a.value("$rootElement",c)}]),e.debugInfoEnabled&&d.push(["$compileProvider",function(a){a.debugInfoEnabled(!0)}]),d.unshift("ng");var f=ab(d,e.strictDi);return f.invoke(["$rootScope","$rootElement","$compile","$injector",function(a,b,c,d){a.$apply(function(){b.data("$injector",d),c(b)(a)})}]),f},i=/^NG_ENABLE_DEBUG_INFO!/,j=/^NG_DEFER_BOOTSTRAP!/;return a&&i.test(a.name)&&(e.debugInfoEnabled=!0,a.name=a.name.replace(i,"")),a&&!j.test(a.name)?h():(a.name=a.name.replace(j,""),Ld.resumeBootstrap=function(a){return f(a,function(a){d.push(a)}),h()},void(A(Ld.resumeDeferredBootstrap)&&Ld.resumeDeferredBootstrap()))}function ha(){a.name="NG_ENABLE_DEBUG_INFO!"+a.name,a.location.reload()}function ia(a){var b=Ld.element(a).injector();if(!b)throw Kd("test","no injector found for element argument to getTestability");return b.get("$$testability")}function ja(a,b){return b=b||"_",a.replace(Vd,function(a,c){return(c?b:"")+a.toLowerCase()})}function ka(){var b;if(!Wd){var d=Td();Dd=t(d)?a.jQuery:d?a[d]:c,Dd&&Dd.fn.on?(Cd=Dd,l(Dd.fn,{scope:qe.scope,isolateScope:qe.isolateScope,controller:qe.controller,injector:qe.injector,inheritedData:qe.inheritedData}),b=Dd.cleanData,Dd.cleanData=function(a){var c;if(Nd)Nd=!1;else for(var d,e=0;null!=(d=a[e]);e++)c=Dd._data(d,"events"),c&&c.$destroy&&Dd(d).triggerHandler("$destroy");b(a)}):Cd=Ca,Ld.element=Cd,Wd=!0}}function la(a,b,c){if(!a)throw Kd("areq","Argument '{0}' is {1}",b||"?",c||"required");return a}function ma(a,b,c){return c&&Od(a)&&(a=a[a.length-1]),la(A(a),b,"not a function, got "+(a&&"object"==typeof a?a.constructor.name||"Object":typeof a)),a}function na(a,b){if("hasOwnProperty"===a)throw Kd("badname","hasOwnProperty is not a valid {0} name",b)}function oa(a,b,c){if(!b)return a;for(var d,e=b.split("."),f=a,g=e.length,h=0;g>h;h++)d=e[h],a&&(a=(f=a)[d]);return!c&&A(a)?T(f,a):a}function pa(a){for(var b,c=a[0],d=a[a.length-1],e=1;c!==d&&(c=c.nextSibling);e++)(b||a[e]!==c)&&(b||(b=Cd(Fd.call(a,0,e))),b.push(c));return b||a}function qa(){return Object.create(null)}function ra(a){function b(a,b,c){return a[b]||(a[b]=c())}var c=d("$injector"),e=d("ng"),f=b(a,"angular",Object);return f.$$minErr=f.$$minErr||d,b(f,"module",function(){var a={};return function(d,f,g){var h=function(a,b){if("hasOwnProperty"===a)throw e("badname","hasOwnProperty is not a valid {0} name",b)};return h(d,"module"),f&&a.hasOwnProperty(d)&&(a[d]=null),
-b(a,d,function(){function a(a,b,c,d){return d||(d=e),function(){return d[c||"push"]([a,b,arguments]),k}}function b(a,b){return function(c,f){return f&&A(f)&&(f.$$moduleName=d),e.push([a,b,arguments]),k}}if(!f)throw c("nomod","Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.",d);var e=[],h=[],i=[],j=a("$injector","invoke","push",h),k={_invokeQueue:e,_configBlocks:h,_runBlocks:i,requires:f,name:d,provider:b("$provide","provider"),factory:b("$provide","factory"),service:b("$provide","service"),value:a("$provide","value"),constant:a("$provide","constant","unshift"),decorator:b("$provide","decorator"),animation:b("$animateProvider","register"),filter:b("$filterProvider","register"),controller:b("$controllerProvider","register"),directive:b("$compileProvider","directive"),config:j,run:function(a){return i.push(a),this}};return g&&j(g),k})}})}function sa(a){var b=[];return JSON.stringify(a,function(a,c){if(c=U(a,c),v(c)){if(b.indexOf(c)>=0)return"...";b.push(c)}return c})}function ta(a){return"function"==typeof a?a.toString().replace(/ \{[\s\S]*$/,""):t(a)?"undefined":"string"!=typeof a?sa(a):a}function ua(b){l(b,{bootstrap:ga,copy:O,extend:l,merge:m,equals:Q,element:Cd,forEach:f,injector:ab,noop:p,bind:T,toJson:V,fromJson:W,identity:q,isUndefined:t,isDefined:u,isString:x,isFunction:A,isObject:v,isNumber:y,isElement:K,isArray:Od,version:be,isDate:z,lowercase:wd,uppercase:yd,callbacks:{counter:0},getTestability:ia,$$minErr:d,$$csp:Sd,reloadWithDebugInfo:ha}),(Ed=ra(a))("ng",["ngLocale"],["$provide",function(a){a.provider({$$sanitizeUri:sc}),a.provider("$compile",kb).directive({a:rf,input:If,textarea:If,form:wf,script:Ag,select:Dg,style:Fg,option:Eg,ngBind:Lf,ngBindHtml:Nf,ngBindTemplate:Mf,ngClass:Pf,ngClassEven:Rf,ngClassOdd:Qf,ngCloak:Sf,ngController:Tf,ngForm:xf,ngHide:ug,ngIf:Wf,ngInclude:Xf,ngInit:Zf,ngNonBindable:lg,ngPluralize:pg,ngRepeat:qg,ngShow:tg,ngStyle:vg,ngSwitch:wg,ngSwitchWhen:xg,ngSwitchDefault:yg,ngOptions:og,ngTransclude:zg,ngModel:ig,ngList:$f,ngChange:Of,pattern:Hg,ngPattern:Hg,required:Gg,ngRequired:Gg,minlength:Jg,ngMinlength:Jg,maxlength:Ig,ngMaxlength:Ig,ngValue:Kf,ngModelOptions:kg}).directive({ngInclude:Yf}).directive(sf).directive(Uf),a.provider({$anchorScroll:bb,$animate:Fe,$animateCss:Ge,$$animateQueue:Ee,$$AnimateRunner:De,$browser:hb,$cacheFactory:ib,$controller:pb,$document:qb,$exceptionHandler:rb,$filter:Gc,$$forceReflow:Le,$interpolate:Fb,$interval:Gb,$http:Bb,$httpParamSerializer:tb,$httpParamSerializerJQLike:ub,$httpBackend:Db,$xhrFactory:Cb,$location:Ub,$log:Vb,$parse:mc,$rootScope:rc,$q:nc,$$q:oc,$sce:wc,$sceDelegate:vc,$sniffer:xc,$templateCache:jb,$templateRequest:yc,$$testability:zc,$timeout:Ac,$window:Dc,$$rAF:qc,$$jqLite:Xa,$$HashMap:ue,$$cookieReader:Fc})}])}function va(){return++de}function wa(a){return a.replace(ge,function(a,b,c,d){return d?c.toUpperCase():c}).replace(he,"Moz$1")}function xa(a){return!le.test(a)}function ya(a){var b=a.nodeType;return b===Xd||!b||b===_d}function za(a){for(var b in ce[a.ng339])return!0;return!1}function Aa(a,b){var c,d,e,g,h=b.createDocumentFragment(),i=[];if(xa(a))i.push(b.createTextNode(a));else{for(c=c||h.appendChild(b.createElement("div")),d=(me.exec(a)||["",""])[1].toLowerCase(),e=oe[d]||oe._default,c.innerHTML=e[1]+a.replace(ne,"<$1></$2>")+e[2],g=e[0];g--;)c=c.lastChild;i=R(i,c.childNodes),c=h.firstChild,c.textContent=""}return h.textContent="",h.innerHTML="",f(i,function(a){h.appendChild(a)}),h}function Ba(a,c){c=c||b;var d;return(d=ke.exec(a))?[c.createElement(d[1])]:(d=Aa(a,c))?d.childNodes:[]}function Ca(a){if(a instanceof Ca)return a;var b;if(x(a)&&(a=Qd(a),b=!0),!(this instanceof Ca)){if(b&&"<"!=a.charAt(0))throw je("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new Ca(a)}b?Ma(this,Ba(a)):Ma(this,a)}function Da(a){return a.cloneNode(!0)}function Ea(a,b){if(b||Ga(a),a.querySelectorAll)for(var c=a.querySelectorAll("*"),d=0,e=c.length;e>d;d++)Ga(c[d])}function Fa(a,b,c,d){if(u(d))throw je("offargs","jqLite#off() does not support the `selector` argument");var e=Ha(a),g=e&&e.events,h=e&&e.handle;if(h)if(b){var i=function(b){var d=g[b];u(c)&&N(d||[],c),u(c)&&d&&d.length>0||(fe(a,b,h),delete g[b])};f(b.split(" "),function(a){i(a),ie[a]&&i(ie[a])})}else for(b in g)"$destroy"!==b&&fe(a,b,h),delete g[b]}function Ga(a,b){var d=a.ng339,e=d&&ce[d];if(e){if(b)return void delete e.data[b];e.handle&&(e.events.$destroy&&e.handle({},"$destroy"),Fa(a)),delete ce[d],a.ng339=c}}function Ha(a,b){var d=a.ng339,e=d&&ce[d];return b&&!e&&(a.ng339=d=va(),e=ce[d]={events:{},data:{},handle:c}),e}function Ia(a,b,c){if(ya(a)){var d=u(c),e=!d&&b&&!v(b),f=!b,g=Ha(a,!e),h=g&&g.data;if(d)h[b]=c;else{if(f)return h;if(e)return h&&h[b];l(h,b)}}}function Ja(a,b){return a.getAttribute?(" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+b+" ")>-1:!1}function Ka(a,b){b&&a.setAttribute&&f(b.split(" "),function(b){a.setAttribute("class",Qd((" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+Qd(b)+" "," ")))})}function La(a,b){if(b&&a.setAttribute){var c=(" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");f(b.split(" "),function(a){a=Qd(a),-1===c.indexOf(" "+a+" ")&&(c+=a+" ")}),a.setAttribute("class",Qd(c))}}function Ma(a,b){if(b)if(b.nodeType)a[a.length++]=b;else{var c=b.length;if("number"==typeof c&&b.window!==b){if(c)for(var d=0;c>d;d++)a[a.length++]=b[d]}else a[a.length++]=b}}function Na(a,b){return Oa(a,"$"+(b||"ngController")+"Controller")}function Oa(a,b,c){a.nodeType==_d&&(a=a.documentElement);for(var d=Od(b)?b:[b];a;){for(var e=0,f=d.length;f>e;e++)if(u(c=Cd.data(a,d[e])))return c;a=a.parentNode||a.nodeType===ae&&a.host}}function Pa(a){for(Ea(a,!0);a.firstChild;)a.removeChild(a.firstChild)}function Qa(a,b){b||Ea(a);var c=a.parentNode;c&&c.removeChild(a)}function Ra(b,c){c=c||a,"complete"===c.document.readyState?c.setTimeout(b):Cd(c).on("load",b)}function Sa(a,b){var c=re[b.toLowerCase()];return c&&se[M(a)]&&c}function Ta(a){return te[a]}function Ua(a,b){var c=function(c,d){c.isDefaultPrevented=function(){return c.defaultPrevented};var e=b[d||c.type],f=e?e.length:0;if(f){if(t(c.immediatePropagationStopped)){var g=c.stopImmediatePropagation;c.stopImmediatePropagation=function(){c.immediatePropagationStopped=!0,c.stopPropagation&&c.stopPropagation(),g&&g.call(c)}}c.isImmediatePropagationStopped=function(){return c.immediatePropagationStopped===!0};var h=e.specialHandlerWrapper||Va;f>1&&(e=P(e));for(var i=0;f>i;i++)c.isImmediatePropagationStopped()||h(a,c,e[i])}};return c.elem=a,c}function Va(a,b,c){c.call(a,b)}function Wa(a,b,c){var d=b.relatedTarget;(!d||d!==a&&!pe.call(a,d))&&c.call(a,b)}function Xa(){this.$get=function(){return l(Ca,{hasClass:function(a,b){return a.attr&&(a=a[0]),Ja(a,b)},addClass:function(a,b){return a.attr&&(a=a[0]),La(a,b)},removeClass:function(a,b){return a.attr&&(a=a[0]),Ka(a,b)}})}}function Ya(a,b){var c=a&&a.$$hashKey;if(c)return"function"==typeof c&&(c=a.$$hashKey()),c;var d=typeof a;return c="function"==d||"object"==d&&null!==a?a.$$hashKey=d+":"+(b||i)():d+":"+a}function Za(a,b){if(b){var c=0;this.nextUid=function(){return++c}}f(a,this.put,this)}function $a(a){var b=a.toString().replace(ye,""),c=b.match(ve);return c?"function("+(c[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function _a(a,b,c){var d,e,g,h;if("function"==typeof a){if(!(d=a.$inject)){if(d=[],a.length){if(b)throw x(c)&&c||(c=a.name||$a(a)),ze("strictdi","{0} is not using explicit annotation and cannot be invoked in strict mode",c);e=a.toString().replace(ye,""),g=e.match(ve),f(g[1].split(we),function(a){a.replace(xe,function(a,b,c){d.push(c)})})}a.$inject=d}}else Od(a)?(h=a.length-1,ma(a[h],"fn"),d=a.slice(0,h)):ma(a,"fn",!0);return d}function ab(a,b){function d(a){return function(b,c){return v(b)?void f(b,h(a)):a(b,c)}}function e(a,b){if(na(a,"service"),(A(b)||Od(b))&&(b=y.instantiate(b)),!b.$get)throw ze("pget","Provider '{0}' must define $get factory method.",a);return w[a+q]=b}function g(a,b){return function(){var c=B.invoke(b,this);if(t(c))throw ze("undef","Provider '{0}' must return a value from $get factory method.",a);return c}}function i(a,b,c){return e(a,{$get:c!==!1?g(a,b):b})}function j(a,b){return i(a,["$injector",function(a){return a.instantiate(b)}])}function k(a,b){return i(a,r(b),!1)}function l(a,b){na(a,"constant"),w[a]=b,z[a]=b}function m(a,b){var c=y.get(a+q),d=c.$get;c.$get=function(){var a=B.invoke(d,c);return B.invoke(b,null,{$delegate:a})}}function n(a){la(t(a)||Od(a),"modulesToLoad","not an array");var b,c=[];return f(a,function(a){function d(a){var b,c;for(b=0,c=a.length;c>b;b++){var d=a[b],e=y.get(d[0]);e[d[1]].apply(e,d[2])}}if(!u.get(a)){u.put(a,!0);try{x(a)?(b=Ed(a),c=c.concat(n(b.requires)).concat(b._runBlocks),d(b._invokeQueue),d(b._configBlocks)):A(a)?c.push(y.invoke(a)):Od(a)?c.push(y.invoke(a)):ma(a,"module")}catch(e){throw Od(a)&&(a=a[a.length-1]),e.message&&e.stack&&-1==e.stack.indexOf(e.message)&&(e=e.message+"\n"+e.stack),ze("modulerr","Failed to instantiate module {0} due to:\n{1}",a,e.stack||e.message||e)}}}),c}function o(a,c){function d(b,d){if(a.hasOwnProperty(b)){if(a[b]===p)throw ze("cdep","Circular dependency found: {0}",b+" <- "+s.join(" <- "));return a[b]}try{return s.unshift(b),a[b]=p,a[b]=c(b,d)}catch(e){throw a[b]===p&&delete a[b],e}finally{s.shift()}}function e(a,c,e,f){"string"==typeof e&&(f=e,e=null);var g,h,i,j=[],k=ab.$$annotate(a,b,f);for(h=0,g=k.length;g>h;h++){if(i=k[h],"string"!=typeof i)throw ze("itkn","Incorrect injection token! Expected service name as string, got {0}",i);j.push(e&&e.hasOwnProperty(i)?e[i]:d(i,f))}return Od(a)&&(a=a[g]),a.apply(c,j)}function f(a,b,c){var d=Object.create((Od(a)?a[a.length-1]:a).prototype||null),f=e(a,d,b,c);return v(f)||A(f)?f:d}return{invoke:e,instantiate:f,get:d,annotate:ab.$$annotate,has:function(b){return w.hasOwnProperty(b+q)||a.hasOwnProperty(b)}}}b=b===!0;var p={},q="Provider",s=[],u=new Za([],!0),w={$provide:{provider:d(e),factory:d(i),service:d(j),value:d(k),constant:d(l),decorator:m}},y=w.$injector=o(w,function(a,b){throw Ld.isString(b)&&s.push(b),ze("unpr","Unknown provider: {0}",s.join(" <- "))}),z={},B=z.$injector=o(z,function(a,b){var d=y.get(a+q,b);return B.invoke(d.$get,d,c,a)});return f(n(a),function(a){a&&B.invoke(a)}),B}function bb(){var a=!0;this.disableAutoScrolling=function(){a=!1},this.$get=["$window","$location","$rootScope",function(b,c,d){function e(a){var b=null;return Array.prototype.some.call(a,function(a){return"a"===M(a)?(b=a,!0):void 0}),b}function f(){var a=h.yOffset;if(A(a))a=a();else if(K(a)){var c=a[0],d=b.getComputedStyle(c);a="fixed"!==d.position?0:c.getBoundingClientRect().bottom}else y(a)||(a=0);return a}function g(a){if(a){a.scrollIntoView();var c=f();if(c){var d=a.getBoundingClientRect().top;b.scrollBy(0,d-c)}}else b.scrollTo(0,0)}function h(a){a=x(a)?a:c.hash();var b;a?(b=i.getElementById(a))?g(b):(b=e(i.getElementsByName(a)))?g(b):"top"===a&&g(null):g(null)}var i=b.document;return a&&d.$watch(function(){return c.hash()},function(a,b){(a!==b||""!==a)&&Ra(function(){d.$evalAsync(h)})}),h}]}function cb(a,b){return a||b?a?b?(Od(a)&&(a=a.join(" ")),Od(b)&&(b=b.join(" ")),a+" "+b):a:b:""}function db(a){for(var b=0;b<a.length;b++){var c=a[b];if(c.nodeType===Be)return c}}function eb(a){x(a)&&(a=a.split(" "));var b=qa();return f(a,function(a){a.length&&(b[a]=!0)}),b}function fb(a){return v(a)?a:{}}function gb(a,b,c,d){function e(a){try{a.apply(null,S(arguments,1))}finally{if(s--,0===s)for(;u.length;)try{u.pop()()}catch(b){c.error(b)}}}function g(a){var b=a.indexOf("#");return-1===b?"":a.substr(b)}function h(){z=null,j(),k()}function i(){try{return n.state}catch(a){}}function j(){v=i(),v=t(v)?null:v,Q(v,C)&&(v=C),C=v}function k(){(x!==l.url()||w!==v)&&(x=l.url(),w=v,f(A,function(a){a(l.url(),v)}))}var l=this,m=(b[0],a.location),n=a.history,o=a.setTimeout,q=a.clearTimeout,r={};l.isMock=!1;var s=0,u=[];l.$$completeOutstandingRequest=e,l.$$incOutstandingRequestCount=function(){s++},l.notifyWhenNoOutstandingRequests=function(a){0===s?a():u.push(a)};var v,w,x=m.href,y=b.find("base"),z=null;j(),w=v,l.url=function(b,c,e){if(t(e)&&(e=null),m!==a.location&&(m=a.location),n!==a.history&&(n=a.history),b){var f=w===e;if(x===b&&(!d.history||f))return l;var h=x&&Lb(x)===Lb(b);return x=b,w=e,!d.history||h&&f?((!h||z)&&(z=b),c?m.replace(b):h?m.hash=g(b):m.href=b,m.href!==b&&(z=b)):(n[c?"replaceState":"pushState"](e,"",b),j(),w=v),l}return z||m.href.replace(/%27/g,"'")},l.state=function(){return v};var A=[],B=!1,C=null;l.onUrlChange=function(b){return B||(d.history&&Cd(a).on("popstate",h),Cd(a).on("hashchange",h),B=!0),A.push(b),b},l.$$applicationDestroyed=function(){Cd(a).off("hashchange popstate",h)},l.$$checkUrlChange=k,l.baseHref=function(){var a=y.attr("href");return a?a.replace(/^(https?\:)?\/\/[^\/]*/,""):""},l.defer=function(a,b){var c;return s++,c=o(function(){delete r[c],e(a)},b||0),r[c]=!0,c},l.defer.cancel=function(a){return r[a]?(delete r[a],q(a),e(p),!0):!1}}function hb(){this.$get=["$window","$log","$sniffer","$document",function(a,b,c,d){return new gb(a,d,b,c)}]}function ib(){this.$get=function(){function a(a,c){function e(a){a!=m&&(n?n==a&&(n=a.n):n=a,f(a.n,a.p),f(a,m),m=a,m.n=null)}function f(a,b){a!=b&&(a&&(a.p=b),b&&(b.n=a))}if(a in b)throw d("$cacheFactory")("iid","CacheId '{0}' is already taken!",a);var g=0,h=l({},c,{id:a}),i=qa(),j=c&&c.capacity||Number.MAX_VALUE,k=qa(),m=null,n=null;return b[a]={put:function(a,b){if(!t(b)){if(j<Number.MAX_VALUE){var c=k[a]||(k[a]={key:a});e(c)}return a in i||g++,i[a]=b,g>j&&this.remove(n.key),b}},get:function(a){if(j<Number.MAX_VALUE){var b=k[a];if(!b)return;e(b)}return i[a]},remove:function(a){if(j<Number.MAX_VALUE){var b=k[a];if(!b)return;b==m&&(m=b.p),b==n&&(n=b.n),f(b.n,b.p),delete k[a]}a in i&&(delete i[a],g--)},removeAll:function(){i=qa(),g=0,k=qa(),m=n=null},destroy:function(){i=null,h=null,k=null,delete b[a]},info:function(){return l({},h,{size:g})}}}var b={};return a.info=function(){var a={};return f(b,function(b,c){a[c]=b.info()}),a},a.get=function(a){return b[a]},a}}function jb(){this.$get=["$cacheFactory",function(a){return a("templates")}]}function kb(a,d){function e(a,b,c){var d=/^\s*([@&]|=(\*?))(\??)\s*(\w*)\s*$/,e={};return f(a,function(a,f){var g=a.match(d);if(!g)throw He("iscp","Invalid {3} for directive '{0}'. Definition: {... {1}: '{2}' ...}",b,f,a,c?"controller bindings definition":"isolate scope definition");e[f]={mode:g[1][0],collection:"*"===g[2],optional:"?"===g[3],attrName:g[4]||f}}),e}function g(a,b){var c={isolateScope:null,bindToController:null};if(v(a.scope)&&(a.bindToController===!0?(c.bindToController=e(a.scope,b,!0),c.isolateScope={}):c.isolateScope=e(a.scope,b,!1)),v(a.bindToController)&&(c.bindToController=e(a.bindToController,b,!0)),v(c.bindToController)){var d=a.controller,f=a.controllerAs;if(!d)throw He("noctrl","Cannot bind to controller without directive '{0}'s controller.",b);if(!ob(d,f))throw He("noident","Cannot bind to controller without identifier for directive '{0}'.",b)}return c}function i(a){var b=a.charAt(0);if(!b||b!==wd(b))throw He("baddir","Directive name '{0}' is invalid. The first character must be a lowercase letter",a);if(a!==a.trim())throw He("baddir","Directive name '{0}' is invalid. The name should not contain leading or trailing whitespaces",a)}var j={},k="Directive",m=/^\s*directive\:\s*([\w\-]+)\s+(.*)$/,n=/(([\w\-]+)(?:\:([^;]+))?;?)/,s=L("ngSrc,ngSrcset,src,srcset"),w=/^(?:(\^\^?)?(\?)?(\^\^?)?)?/,y=/^(on[a-z]+|formaction)$/;this.directive=function B(b,c){return na(b,"directive"),x(b)?(i(b),la(c,"directiveFactory"),j.hasOwnProperty(b)||(j[b]=[],a.factory(b+k,["$injector","$exceptionHandler",function(a,c){var d=[];return f(j[b],function(e,f){try{var h=a.invoke(e);A(h)?h={compile:r(h)}:!h.compile&&h.link&&(h.compile=r(h.link)),h.priority=h.priority||0,h.index=f,h.name=h.name||b,h.require=h.require||h.controller&&h.name,h.restrict=h.restrict||"EA";var i=h.$$bindings=g(h,h.name);v(i.isolateScope)&&(h.$$isolateBindings=i.isolateScope),h.$$moduleName=e.$$moduleName,d.push(h)}catch(j){c(j)}}),d}])),j[b].push(c)):f(b,h(B)),this},this.aHrefSanitizationWhitelist=function(a){return u(a)?(d.aHrefSanitizationWhitelist(a),this):d.aHrefSanitizationWhitelist()},this.imgSrcSanitizationWhitelist=function(a){return u(a)?(d.imgSrcSanitizationWhitelist(a),this):d.imgSrcSanitizationWhitelist()};var z=!0;this.debugInfoEnabled=function(a){return u(a)?(z=a,this):z},this.$get=["$injector","$interpolate","$exceptionHandler","$templateRequest","$parse","$controller","$rootScope","$document","$sce","$animate","$$sanitizeUri",function(a,d,e,g,h,i,r,u,B,C,E){function F(a,b){try{a.addClass(b)}catch(c){}}function G(a,b,c,d,e){a instanceof Cd||(a=Cd(a)),f(a,function(b,c){b.nodeType==Zd&&b.nodeValue.match(/\S+/)&&(a[c]=Cd(b).wrap("<span></span>").parent()[0])});var g=I(a,b,a,c,d,e);G.$$addScopeClass(a);var h=null;return function(b,c,d){la(b,"scope"),e&&e.needsNewScope&&(b=b.$parent.$new()),d=d||{};var f=d.parentBoundTranscludeFn,i=d.transcludeControllers,j=d.futureParentElement;f&&f.$$boundTransclude&&(f=f.$$boundTransclude),h||(h=H(j));var k;if(k="html"!==h?Cd(_(h,Cd("<div>").append(a).html())):c?qe.clone.call(a):a,i)for(var l in i)k.data("$"+l+"Controller",i[l].instance);return G.$$addScopeInfo(k,b),c&&c(k,b),g&&g(b,k,k,f),k}}function H(a){var b=a&&a[0];return b&&"foreignobject"!==M(b)&&b.toString().match(/SVG/)?"svg":"html"}function I(a,b,d,e,f,g){function h(a,d,e,f){var g,h,i,j,k,l,m,n,q;if(o){var r=d.length;for(q=new Array(r),k=0;k<p.length;k+=3)m=p[k],q[m]=d[m]}else q=d;for(k=0,l=p.length;l>k;)i=q[p[k++]],g=p[k++],h=p[k++],g?(g.scope?(j=a.$new(),G.$$addScopeInfo(Cd(i),j)):j=a,n=g.transcludeOnThisElement?J(a,g.transclude,f):!g.templateOnThisElement&&f?f:!f&&b?J(a,b):null,g(h,j,i,e,n)):h&&h(a,i.childNodes,c,f)}for(var i,j,k,l,m,n,o,p=[],q=0;q<a.length;q++)i=new ga,j=K(a[q],[],i,0===q?e:c,f),k=j.length?P(j,a[q],i,b,d,null,[],[],g):null,k&&k.scope&&G.$$addScopeClass(i.$$element),m=k&&k.terminal||!(l=a[q].childNodes)||!l.length?null:I(l,k?(k.transcludeOnThisElement||!k.templateOnThisElement)&&k.transclude:b),(k||m)&&(p.push(q,k,m),n=!0,o=o||k),g=null;return n?h:null}function J(a,b,c){var d=function(d,e,f,g,h){return d||(d=a.$new(!1,h),d.$$transcluded=!0),b(d,e,{parentBoundTranscludeFn:c,transcludeControllers:f,futureParentElement:g})};return d}function K(a,b,c,d,e){var f,g,h=a.nodeType,i=c.$attr;switch(h){case Xd:T(b,lb(M(a)),"E",d,e);for(var j,k,l,o,p,q,r=a.attributes,s=0,t=r&&r.length;t>s;s++){var u=!1,w=!1;j=r[s],k=j.name,p=Qd(j.value),o=lb(k),(q=ma.test(o))&&(k=k.replace(Ie,"").substr(8).replace(/_(.)/g,function(a,b){return b.toUpperCase()}));var y=o.match(na);y&&U(y[1])&&(u=k,w=k.substr(0,k.length-5)+"end",k=k.substr(0,k.length-6)),l=lb(k.toLowerCase()),i[l]=k,(q||!c.hasOwnProperty(l))&&(c[l]=p,Sa(a,l)&&(c[l]=!0)),ba(a,b,p,l,q),T(b,l,"A",d,e,u,w)}if(g=a.className,v(g)&&(g=g.animVal),x(g)&&""!==g)for(;f=n.exec(g);)l=lb(f[2]),T(b,l,"C",d,e)&&(c[l]=Qd(f[3])),g=g.substr(f.index+f[0].length);break;case Zd:if(11===Bd)for(;a.parentNode&&a.nextSibling&&a.nextSibling.nodeType===Zd;)a.nodeValue=a.nodeValue+a.nextSibling.nodeValue,a.parentNode.removeChild(a.nextSibling);Z(b,a.nodeValue);break;case $d:try{f=m.exec(a.nodeValue),f&&(l=lb(f[1]),T(b,l,"M",d,e)&&(c[l]=Qd(f[2])))}catch(z){}}return b.sort(X),b}function L(a,b,c){var d=[],e=0;if(b&&a.hasAttribute&&a.hasAttribute(b)){do{if(!a)throw He("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",b,c);a.nodeType==Xd&&(a.hasAttribute(b)&&e++,a.hasAttribute(c)&&e--),d.push(a),a=a.nextSibling}while(e>0)}else d.push(a);return Cd(d)}function O(a,b,c){return function(d,e,f,g,h){return e=L(e[0],b,c),a(d,e,f,g,h)}}function P(a,d,f,g,h,j,k,l,m){function n(a,b,c,d){a&&(c&&(a=O(a,c,d)),a.require=r.require,a.directiveName=s,(E===r||r.$$isolateScope)&&(a=da(a,{isolateScope:!0})),k.push(a)),b&&(c&&(b=O(b,c,d)),b.require=r.require,b.directiveName=s,(E===r||r.$$isolateScope)&&(b=da(b,{isolateScope:!0})),l.push(b))}function o(a,b,c,d){var e;if(x(b)){var f=b.match(w),g=b.substring(f[0].length),h=f[1]||f[3],i="?"===f[2];if("^^"===h?c=c.parent():(e=d&&d[g],e=e&&e.instance),!e){var j="$"+g+"Controller";e=h?c.inheritedData(j):c.data(j)}if(!e&&!i)throw He("ctreq","Controller '{0}', required by directive '{1}', can't be found!",g,a)}else if(Od(b)){e=[];for(var k=0,l=b.length;l>k;k++)e[k]=o(a,b[k],c,d)}return e||null}function p(a,b,c,d,e,f){var g=qa();for(var h in d){var j=d[h],k={$scope:j===E||j.$$isolateScope?e:f,$element:a,$attrs:b,$transclude:c},l=j.controller;"@"==l&&(l=b[j.name]);var m=i(l,k,!0,j.controllerAs);g[j.name]=m,M||a.data("$"+j.name+"Controller",m.instance)}return g}function q(a,b,e,g,h){function i(a,b,d){var e;return D(a)||(d=b,b=a,a=c),M&&(e=q),d||(d=M?s.parent():s),h(a,b,e,d,H)}var j,m,n,q,r,s,t,u,v;d===e?(t=f,s=f.$$element):(s=Cd(e),t=new ga(s,f)),n=b,E?m=b.$new(!0):B&&(n=b.$parent),h&&(r=i,r.$$boundTransclude=h),C&&(q=p(s,t,r,C,m,b)),E&&(G.$$addScopeInfo(s,m,!0,!(F&&(F===E||F===E.$$originalDirective))),G.$$addScopeClass(s,!0),m.$$isolateBindings=E.$$isolateBindings,u=fa(b,t,m,m.$$isolateBindings,E),u&&m.$on("$destroy",u));for(var w in q){var x=C[w],y=q[w],z=x.$$bindings.bindToController;y.identifier&&z&&(v=fa(n,t,y.instance,z,x));var A=y();A!==y.instance&&(y.instance=A,s.data("$"+x.name+"Controller",A),v&&v(),v=fa(n,t,y.instance,z,x))}for(T=0,U=k.length;U>T;T++)j=k[T],ea(j,j.isolateScope?m:b,s,t,j.require&&o(j.directiveName,j.require,s,q),r);var H=b;for(E&&(E.template||null===E.templateUrl)&&(H=m),a&&a(H,e.childNodes,c,h),T=l.length-1;T>=0;T--)j=l[T],ea(j,j.isolateScope?m:b,s,t,j.require&&o(j.directiveName,j.require,s,q),r)}m=m||{};for(var r,s,t,u,y,z=-Number.MAX_VALUE,B=m.newScopeDirective,C=m.controllerDirectives,E=m.newIsolateScopeDirective,F=m.templateDirective,H=m.nonTlbTranscludeDirective,I=!1,J=!1,M=m.hasElementTranscludeDirective,N=f.$$element=Cd(d),P=j,Q=g,T=0,U=a.length;U>T;T++){r=a[T];var X=r.$$start,Z=r.$$end;if(X&&(N=L(d,X,Z)),t=c,z>r.priority)break;if((y=r.scope)&&(r.templateUrl||(v(y)?(Y("new/isolated scope",E||B,r,N),E=r):Y("new/isolated scope",E,r,N)),B=B||r),s=r.name,!r.templateUrl&&r.controller&&(y=r.controller,C=C||qa(),Y("'"+s+"' controller",C[s],r,N),C[s]=r),(y=r.transclude)&&(I=!0,r.$$tlb||(Y("transclusion",H,r,N),H=r),"element"==y?(M=!0,z=r.priority,t=N,N=f.$$element=Cd(b.createComment(" "+s+": "+f[s]+" ")),d=N[0],ca(h,S(t),d),Q=G(t,g,z,P&&P.name,{nonTlbTranscludeDirective:H})):(t=Cd(Da(d)).contents(),N.empty(),Q=G(t,g,c,c,{needsNewScope:r.$$isolateScope||r.$$newScope}))),r.template)if(J=!0,Y("template",F,r,N),F=r,y=A(r.template)?r.template(N,f):r.template,y=ka(y),r.replace){if(P=r,t=xa(y)?[]:nb(_(r.templateNamespace,Qd(y))),d=t[0],1!=t.length||d.nodeType!==Xd)throw He("tplrt","Template for directive '{0}' must have exactly one root element. {1}",s,"");ca(h,N,d);var aa={$attr:{}},ba=K(d,[],aa),ha=a.splice(T+1,a.length-(T+1));(E||B)&&R(ba,E,B),a=a.concat(ba).concat(ha),V(f,aa),U=a.length}else N.html(y);if(r.templateUrl)J=!0,Y("template",F,r,N),F=r,r.replace&&(P=r),q=W(a.splice(T,a.length-T),N,f,h,I&&Q,k,l,{controllerDirectives:C,newScopeDirective:B!==r&&B,newIsolateScopeDirective:E,templateDirective:F,nonTlbTranscludeDirective:H}),U=a.length;else if(r.compile)try{u=r.compile(N,f,Q),A(u)?n(null,u,X,Z):u&&n(u.pre,u.post,X,Z)}catch(ia){e(ia,$(N))}r.terminal&&(q.terminal=!0,z=Math.max(z,r.priority))}return q.scope=B&&B.scope===!0,q.transcludeOnThisElement=I,q.templateOnThisElement=J,q.transclude=Q,m.hasElementTranscludeDirective=M,q}function R(a,b,c){for(var d=0,e=a.length;e>d;d++)a[d]=o(a[d],{$$isolateScope:b,$$newScope:c})}function T(b,c,d,f,g,h,i){if(c===g)return null;var l=null;if(j.hasOwnProperty(c))for(var m,n=a.get(c+k),p=0,q=n.length;q>p;p++)try{m=n[p],(t(f)||f>m.priority)&&-1!=m.restrict.indexOf(d)&&(h&&(m=o(m,{$$start:h,$$end:i})),b.push(m),l=m)}catch(r){e(r)}return l}function U(b){if(j.hasOwnProperty(b))for(var c,d=a.get(b+k),e=0,f=d.length;f>e;e++)if(c=d[e],c.multiElement)return!0;return!1}function V(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;f(a,function(d,e){"$"!=e.charAt(0)&&(b[e]&&b[e]!==d&&(d+=("style"===e?";":" ")+b[e]),a.$set(e,d,!0,c[e]))}),f(b,function(b,f){"class"==f?(F(e,b),a["class"]=(a["class"]?a["class"]+" ":"")+b):"style"==f?(e.attr("style",e.attr("style")+";"+b),a.style=(a.style?a.style+";":"")+b):"$"==f.charAt(0)||a.hasOwnProperty(f)||(a[f]=b,d[f]=c[f])})}function W(a,b,c,d,e,h,i,j){var k,l,m=[],n=b[0],p=a.shift(),q=o(p,{templateUrl:null,transclude:null,replace:null,$$originalDirective:p}),r=A(p.templateUrl)?p.templateUrl(b,c):p.templateUrl,s=p.templateNamespace;return b.empty(),g(r).then(function(g){var o,t,u,w;if(g=ka(g),p.replace){if(u=xa(g)?[]:nb(_(s,Qd(g))),o=u[0],1!=u.length||o.nodeType!==Xd)throw He("tplrt","Template for directive '{0}' must have exactly one root element. {1}",p.name,r);t={$attr:{}},ca(d,b,o);var x=K(o,[],t);v(p.scope)&&R(x,!0),a=x.concat(a),V(c,t)}else o=n,b.html(g);for(a.unshift(q),k=P(a,o,c,e,b,p,h,i,j),f(d,function(a,c){a==o&&(d[c]=b[0])}),l=I(b[0].childNodes,e);m.length;){var y=m.shift(),z=m.shift(),A=m.shift(),B=m.shift(),C=b[0];if(!y.$$destroyed){if(z!==n){var D=z.className;j.hasElementTranscludeDirective&&p.replace||(C=Da(o)),ca(A,Cd(z),C),F(Cd(C),D)}w=k.transcludeOnThisElement?J(y,k.transclude,B):B,k(l,y,C,d,w)}}m=null}),function(a,b,c,d,e){var f=e;b.$$destroyed||(m?m.push(b,c,d,f):(k.transcludeOnThisElement&&(f=J(b,k.transclude,e)),k(l,b,c,d,f)))}}function X(a,b){var c=b.priority-a.priority;return 0!==c?c:a.name!==b.name?a.name<b.name?-1:1:a.index-b.index}function Y(a,b,c,d){function e(a){return a?" (module: "+a+")":""}if(b)throw He("multidir","Multiple directives [{0}{1}, {2}{3}] asking for {4} on: {5}",b.name,e(b.$$moduleName),c.name,e(c.$$moduleName),a,$(d))}function Z(a,b){var c=d(b,!0);c&&a.push({priority:0,compile:function(a){var b=a.parent(),d=!!b.length;return d&&G.$$addBindingClass(b),function(a,b){var e=b.parent();d||G.$$addBindingClass(e),G.$$addBindingInfo(e,c.expressions),a.$watch(c,function(a){b[0].nodeValue=a})}}})}function _(a,c){switch(a=wd(a||"html")){case"svg":case"math":var d=b.createElement("div");return d.innerHTML="<"+a+">"+c+"</"+a+">",d.childNodes[0].childNodes;default:return c}}function aa(a,b){if("srcdoc"==b)return B.HTML;var c=M(a);return"xlinkHref"==b||"form"==c&&"action"==b||"img"!=c&&("src"==b||"ngSrc"==b)?B.RESOURCE_URL:void 0}function ba(a,b,c,e,f){var g=aa(a,e);f=s[e]||f;var h=d(c,!0,g,f);if(h){if("multiple"===e&&"select"===M(a))throw He("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",$(a));b.push({priority:100,compile:function(){return{pre:function(a,b,i){var j=i.$$observers||(i.$$observers=qa());if(y.test(e))throw He("nodomevents","Interpolations for HTML DOM event attributes are disallowed.  Please use the ng- versions (such as ng-click instead of onclick) instead.");var k=i[e];k!==c&&(h=k&&d(k,!0,g,f),c=k),h&&(i[e]=h(a),(j[e]||(j[e]=[])).$$inter=!0,(i.$$observers&&i.$$observers[e].$$scope||a).$watch(h,function(a,b){"class"===e&&a!=b?i.$updateClass(a,b):i.$set(e,a)}))}}}})}}function ca(a,c,d){var e,f,g=c[0],h=c.length,i=g.parentNode;if(a)for(e=0,f=a.length;f>e;e++)if(a[e]==g){a[e++]=d;for(var j=e,k=j+h-1,l=a.length;l>j;j++,k++)l>k?a[j]=a[k]:delete a[j];a.length-=h-1,a.context===g&&(a.context=d);break}i&&i.replaceChild(d,g);var m=b.createDocumentFragment();m.appendChild(g),Cd.hasData(g)&&(Cd.data(d,Cd.data(g)),Dd?(Nd=!0,Dd.cleanData([g])):delete Cd.cache[g[Cd.expando]]);for(var n=1,o=c.length;o>n;n++){var p=c[n];Cd(p).remove(),m.appendChild(p),delete c[n]}c[0]=d,c.length=1}function da(a,b){return l(function(){return a.apply(null,arguments)},a,b)}function ea(a,b,c,d,f,g){try{a(b,c,d,f,g)}catch(h){e(h,$(c))}}function fa(a,b,c,e,g){var i=[];return f(e,function(e,f){var j,k,l,m,n=e.attrName,o=e.optional,q=e.mode;switch(q){case"@":o||xd.call(b,n)||(c[f]=b[n]=void 0),b.$observe(n,function(a){x(a)&&(c[f]=a)}),b.$$observers[n].$$scope=a,x(b[n])&&(c[f]=d(b[n])(a));break;case"=":if(!xd.call(b,n)){if(o)break;b[n]=void 0}if(o&&!b[n])break;k=h(b[n]),m=k.literal?Q:function(a,b){return a===b||a!==a&&b!==b},l=k.assign||function(){throw j=c[f]=k(a),He("nonassign","Expression '{0}' used with directive '{1}' is non-assignable!",b[n],g.name)},j=c[f]=k(a);var r=function(b){return m(b,c[f])||(m(b,j)?l(a,b=c[f]):c[f]=b),j=b};r.$stateful=!0;var s;s=e.collection?a.$watchCollection(b[n],r):a.$watch(h(b[n],r),null,k.literal),i.push(s);break;case"&":if(k=b.hasOwnProperty(n)?h(b[n]):p,k===p&&o)break;c[f]=function(b){return k(a,b)}}}),i.length&&function(){for(var a=0,b=i.length;b>a;++a)i[a]()}}var ga=function(a,b){if(b){var c,d,e,f=Object.keys(b);for(c=0,d=f.length;d>c;c++)e=f[c],this[e]=b[e]}else this.$attr={};this.$$element=a};ga.prototype={$normalize:lb,$addClass:function(a){a&&a.length>0&&C.addClass(this.$$element,a)},$removeClass:function(a){a&&a.length>0&&C.removeClass(this.$$element,a)},$updateClass:function(a,b){var c=mb(a,b);c&&c.length&&C.addClass(this.$$element,c);var d=mb(b,a);d&&d.length&&C.removeClass(this.$$element,d)},$set:function(a,b,c,d){var g,h=this.$$element[0],i=Sa(h,a),j=Ta(a),k=a;if(i?(this.$$element.prop(a,b),d=i):j&&(this[j]=b,k=j),this[a]=b,d?this.$attr[a]=d:(d=this.$attr[a],d||(this.$attr[a]=d=ja(a,"-"))),g=M(this.$$element),"a"===g&&"href"===a||"img"===g&&"src"===a)this[a]=b=E(b,"src"===a);else if("img"===g&&"srcset"===a){for(var l="",m=Qd(b),n=/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/,o=/\s/.test(m)?n:/(,)/,p=m.split(o),q=Math.floor(p.length/2),r=0;q>r;r++){var s=2*r;l+=E(Qd(p[s]),!0),l+=" "+Qd(p[s+1])}var u=Qd(p[2*r]).split(/\s/);l+=E(Qd(u[0]),!0),2===u.length&&(l+=" "+Qd(u[1])),this[a]=b=l}c!==!1&&(null===b||t(b)?this.$$element.removeAttr(d):this.$$element.attr(d,b));var v=this.$$observers;v&&f(v[k],function(a){try{a(b)}catch(c){e(c)}})},$observe:function(a,b){var c=this,d=c.$$observers||(c.$$observers=qa()),e=d[a]||(d[a]=[]);return e.push(b),r.$evalAsync(function(){e.$$inter||!c.hasOwnProperty(a)||t(c[a])||b(c[a])}),function(){N(e,b)}}};var ha=d.startSymbol(),ia=d.endSymbol(),ka="{{"==ha||"}}"==ia?q:function(a){return a.replace(/\{\{/g,ha).replace(/}}/g,ia)},ma=/^ngAttr[A-Z]/,na=/^(.+)Start$/;return G.$$addBindingInfo=z?function(a,b){var c=a.data("$binding")||[];Od(b)?c=c.concat(b):c.push(b),a.data("$binding",c)}:p,G.$$addBindingClass=z?function(a){F(a,"ng-binding")}:p,G.$$addScopeInfo=z?function(a,b,c,d){var e=c?d?"$isolateScopeNoTemplate":"$isolateScope":"$scope";a.data(e,b)}:p,G.$$addScopeClass=z?function(a,b){F(a,b?"ng-isolate-scope":"ng-scope")}:p,G}]}function lb(a){return wa(a.replace(Ie,""))}function mb(a,b){var c="",d=a.split(/\s+/),e=b.split(/\s+/);a:for(var f=0;f<d.length;f++){for(var g=d[f],h=0;h<e.length;h++)if(g==e[h])continue a;c+=(c.length>0?" ":"")+g}return c}function nb(a){a=Cd(a);var b=a.length;if(1>=b)return a;for(;b--;){var c=a[b];c.nodeType===$d&&Gd.call(a,b,1)}return a}function ob(a,b){if(b&&x(b))return b;if(x(a)){var c=Ke.exec(a);if(c)return c[3]}}function pb(){var a={},b=!1;this.register=function(b,c){na(b,"controller"),v(b)?l(a,b):a[b]=c},this.allowGlobals=function(){b=!0},this.$get=["$injector","$window",function(e,f){function g(a,b,c,e){if(!a||!v(a.$scope))throw d("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",e,b);a.$scope[b]=c}return function(d,h,i,j){var k,m,n,o;if(i=i===!0,j&&x(j)&&(o=j),x(d)){if(m=d.match(Ke),!m)throw Je("ctrlfmt","Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.",d);n=m[1],o=o||m[3],d=a.hasOwnProperty(n)?a[n]:oa(h.$scope,n,!0)||(b?oa(f,n,!0):c),ma(d,n,!0)}if(i){var p=(Od(d)?d[d.length-1]:d).prototype;k=Object.create(p||null),o&&g(h,o,k,n||d.name);var q;return q=l(function(){var a=e.invoke(d,k,h,n);return a!==k&&(v(a)||A(a))&&(k=a,o&&g(h,o,k,n||d.name)),k},{instance:k,identifier:o})}return k=e.instantiate(d,h,n),o&&g(h,o,k,n||d.name),
-k}}]}function qb(){this.$get=["$window",function(a){return Cd(a.document)}]}function rb(){this.$get=["$log",function(a){return function(b,c){a.error.apply(a,arguments)}}]}function sb(a){return v(a)?z(a)?a.toISOString():V(a):a}function tb(){this.$get=function(){return function(a){if(!a)return"";var b=[];return g(a,function(a,c){null===a||t(a)||(Od(a)?f(a,function(a,d){b.push(da(c)+"="+da(sb(a)))}):b.push(da(c)+"="+da(sb(a))))}),b.join("&")}}}function ub(){this.$get=function(){return function(a){function b(a,d,e){null===a||t(a)||(Od(a)?f(a,function(a,c){b(a,d+"["+(v(a)?c:"")+"]")}):v(a)&&!z(a)?g(a,function(a,c){b(a,d+(e?"":"[")+c+(e?"":"]"))}):c.push(da(d)+"="+da(sb(a))))}if(!a)return"";var c=[];return b(a,"",!0),c.join("&")}}}function vb(a,b){if(x(a)){var c=a.replace(Qe,"").trim();if(c){var d=b("Content-Type");(d&&0===d.indexOf(Me)||wb(c))&&(a=W(c))}}return a}function wb(a){var b=a.match(Oe);return b&&Pe[b[0]].test(a)}function xb(a){function b(a,b){a&&(d[a]=d[a]?d[a]+", "+b:b)}var c,d=qa();return x(a)?f(a.split("\n"),function(a){c=a.indexOf(":"),b(wd(Qd(a.substr(0,c))),Qd(a.substr(c+1)))}):v(a)&&f(a,function(a,c){b(wd(c),Qd(a))}),d}function yb(a){var b;return function(c){if(b||(b=xb(a)),c){var d=b[wd(c)];return void 0===d&&(d=null),d}return b}}function zb(a,b,c,d){return A(d)?d(a,b,c):(f(d,function(d){a=d(a,b,c)}),a)}function Ab(a){return a>=200&&300>a}function Bb(){var a=this.defaults={transformResponse:[vb],transformRequest:[function(a){return!v(a)||E(a)||G(a)||F(a)?a:V(a)}],headers:{common:{Accept:"application/json, text/plain, */*"},post:P(Ne),put:P(Ne),patch:P(Ne)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer"},b=!1;this.useApplyAsync=function(a){return u(a)?(b=!!a,this):b};var e=!0;this.useLegacyPromiseExtensions=function(a){return u(a)?(e=!!a,this):e};var g=this.interceptors=[];this.$get=["$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector",function(h,i,j,k,m,n){function o(b){function g(a){var b=l({},a);return b.data=zb(a.data,a.headers,a.status,j.transformResponse),Ab(a.status)?b:m.reject(b)}function h(a,b){var c,d={};return f(a,function(a,e){A(a)?(c=a(b),null!=c&&(d[e]=c)):d[e]=a}),d}function i(b){var c,d,e,f=a.headers,g=l({},b.headers);f=l({},f.common,f[wd(b.method)]);a:for(c in f){d=wd(c);for(e in g)if(wd(e)===d)continue a;g[c]=f[c]}return h(g,P(b))}if(!Ld.isObject(b))throw d("$http")("badreq","Http request configuration must be an object.  Received: {0}",b);var j=l({method:"get",transformRequest:a.transformRequest,transformResponse:a.transformResponse,paramSerializer:a.paramSerializer},b);j.headers=i(b),j.method=yd(j.method),j.paramSerializer=x(j.paramSerializer)?n.get(j.paramSerializer):j.paramSerializer;var k=function(b){var d=b.headers,e=zb(b.data,yb(d),c,b.transformRequest);return t(e)&&f(d,function(a,b){"content-type"===wd(b)&&delete d[b]}),t(b.withCredentials)&&!t(a.withCredentials)&&(b.withCredentials=a.withCredentials),r(b,e).then(g,g)},o=[k,c],p=m.when(j);for(f(y,function(a){(a.request||a.requestError)&&o.unshift(a.request,a.requestError),(a.response||a.responseError)&&o.push(a.response,a.responseError)});o.length;){var q=o.shift(),s=o.shift();p=p.then(q,s)}return e?(p.success=function(a){return ma(a,"fn"),p.then(function(b){a(b.data,b.status,b.headers,j)}),p},p.error=function(a){return ma(a,"fn"),p.then(null,function(b){a(b.data,b.status,b.headers,j)}),p}):(p.success=Se("success"),p.error=Se("error")),p}function p(a){f(arguments,function(a){o[a]=function(b,c){return o(l({},c||{},{method:a,url:b}))}})}function q(a){f(arguments,function(a){o[a]=function(b,c,d){return o(l({},d||{},{method:a,url:b,data:c}))}})}function r(d,e){function f(a,c,d,e){function f(){g(c,a,d,e)}n&&(Ab(a)?n.put(y,[a,c,xb(d),e]):n.remove(y)),b?k.$applyAsync(f):(f(),k.$$phase||k.$apply())}function g(a,b,c,e){b=b>=-1?b:0,(Ab(b)?q.resolve:q.reject)({data:a,status:b,headers:yb(c),config:d,statusText:e})}function j(a){g(a.data,a.status,P(a.headers()),a.statusText)}function l(){var a=o.pendingRequests.indexOf(d);-1!==a&&o.pendingRequests.splice(a,1)}var n,p,q=m.defer(),r=q.promise,x=d.headers,y=s(d.url,d.paramSerializer(d.params));if(o.pendingRequests.push(d),r.then(l,l),!d.cache&&!a.cache||d.cache===!1||"GET"!==d.method&&"JSONP"!==d.method||(n=v(d.cache)?d.cache:v(a.cache)?a.cache:w),n&&(p=n.get(y),u(p)?I(p)?p.then(j,j):Od(p)?g(p[1],p[0],P(p[2]),p[3]):g(p,200,{},"OK"):n.put(y,r)),t(p)){var z=Cc(d.url)?i()[d.xsrfCookieName||a.xsrfCookieName]:c;z&&(x[d.xsrfHeaderName||a.xsrfHeaderName]=z),h(d.method,y,e,f,x,d.timeout,d.withCredentials,d.responseType)}return r}function s(a,b){return b.length>0&&(a+=(-1==a.indexOf("?")?"?":"&")+b),a}var w=j("$http");a.paramSerializer=x(a.paramSerializer)?n.get(a.paramSerializer):a.paramSerializer;var y=[];return f(g,function(a){y.unshift(x(a)?n.get(a):n.invoke(a))}),o.pendingRequests=[],p("get","delete","head","jsonp"),q("post","put","patch"),o.defaults=a,o}]}function Cb(){this.$get=function(){return function(){return new a.XMLHttpRequest}}}function Db(){this.$get=["$browser","$window","$document","$xhrFactory",function(a,b,c,d){return Eb(a,d,a.defer,b.angular.callbacks,c[0])}]}function Eb(a,b,c,d,e){function g(a,b,c){var f=e.createElement("script"),g=null;return f.type="text/javascript",f.src=a,f.async=!0,g=function(a){fe(f,"load",g),fe(f,"error",g),e.body.removeChild(f),f=null;var h=-1,i="unknown";a&&("load"!==a.type||d[b].called||(a={type:"error"}),i=a.type,h="error"===a.type?404:200),c&&c(h,i)},ee(f,"load",g),ee(f,"error",g),e.body.appendChild(f),g}return function(e,h,i,j,k,l,m,n){function o(){s&&s(),v&&v.abort()}function q(b,d,e,f,g){u(y)&&c.cancel(y),s=v=null,b(d,e,f,g),a.$$completeOutstandingRequest(p)}if(a.$$incOutstandingRequestCount(),h=h||a.url(),"jsonp"==wd(e)){var r="_"+(d.counter++).toString(36);d[r]=function(a){d[r].data=a,d[r].called=!0};var s=g(h.replace("JSON_CALLBACK","angular.callbacks."+r),r,function(a,b){q(j,a,d[r].data,"",b),d[r]=p})}else{var v=b(e,h);v.open(e,h,!0),f(k,function(a,b){u(a)&&v.setRequestHeader(b,a)}),v.onload=function(){var a=v.statusText||"",b="response"in v?v.response:v.responseText,c=1223===v.status?204:v.status;0===c&&(c=b?200:"file"==Bc(h).protocol?404:0),q(j,c,b,v.getAllResponseHeaders(),a)};var w=function(){q(j,-1,null,null,"")};if(v.onerror=w,v.onabort=w,m&&(v.withCredentials=!0),n)try{v.responseType=n}catch(x){if("json"!==n)throw x}v.send(t(i)?null:i)}if(l>0)var y=c(o,l);else I(l)&&l.then(o)}}function Fb(){var a="{{",b="}}";this.startSymbol=function(b){return b?(a=b,this):a},this.endSymbol=function(a){return a?(b=a,this):b},this.$get=["$parse","$exceptionHandler","$sce",function(c,d,e){function f(a){return"\\\\\\"+a}function g(c){return c.replace(m,a).replace(n,b)}function h(a){if(null==a)return"";switch(typeof a){case"string":break;case"number":a=""+a;break;default:a=V(a)}return a}function i(f,i,m,n){function o(a){try{return a=C(a),n&&!u(a)?a:h(a)}catch(b){d(Te.interr(f,b))}}n=!!n;for(var p,q,r,s=0,v=[],w=[],x=f.length,y=[],z=[];x>s;){if(-1==(p=f.indexOf(a,s))||-1==(q=f.indexOf(b,p+j))){s!==x&&y.push(g(f.substring(s)));break}s!==p&&y.push(g(f.substring(s,p))),r=f.substring(p+j,q),v.push(r),w.push(c(r,o)),s=q+k,z.push(y.length),y.push("")}if(m&&y.length>1&&Te.throwNoconcat(f),!i||v.length){var B=function(a){for(var b=0,c=v.length;c>b;b++){if(n&&t(a[b]))return;y[z[b]]=a[b]}return y.join("")},C=function(a){return m?e.getTrusted(m,a):e.valueOf(a)};return l(function(a){var b=0,c=v.length,e=new Array(c);try{for(;c>b;b++)e[b]=w[b](a);return B(e)}catch(g){d(Te.interr(f,g))}},{exp:f,expressions:v,$$watchDelegate:function(a,b){var c;return a.$watchGroup(w,function(d,e){var f=B(d);A(b)&&b.call(this,f,d!==e?c:f,a),c=f})}})}}var j=a.length,k=b.length,m=new RegExp(a.replace(/./g,f),"g"),n=new RegExp(b.replace(/./g,f),"g");return i.startSymbol=function(){return a},i.endSymbol=function(){return b},i}]}function Gb(){this.$get=["$rootScope","$window","$q","$$q",function(a,b,c,d){function e(e,g,h,i){var j=arguments.length>4,k=j?S(arguments,4):[],l=b.setInterval,m=b.clearInterval,n=0,o=u(i)&&!i,p=(o?d:c).defer(),q=p.promise;return h=u(h)?h:0,q.then(null,null,j?function(){e.apply(null,k)}:e),q.$$intervalId=l(function(){p.notify(n++),h>0&&n>=h&&(p.resolve(n),m(q.$$intervalId),delete f[q.$$intervalId]),o||a.$apply()},g),f[q.$$intervalId]=p,q}var f={};return e.cancel=function(a){return a&&a.$$intervalId in f?(f[a.$$intervalId].reject("canceled"),b.clearInterval(a.$$intervalId),delete f[a.$$intervalId],!0):!1},e}]}function Hb(a){for(var b=a.split("/"),c=b.length;c--;)b[c]=ca(b[c]);return b.join("/")}function Ib(a,b){var c=Bc(a);b.$$protocol=c.protocol,b.$$host=c.hostname,b.$$port=n(c.port)||Ve[c.protocol]||null}function Jb(a,b){var c="/"!==a.charAt(0);c&&(a="/"+a);var d=Bc(a);b.$$path=decodeURIComponent(c&&"/"===d.pathname.charAt(0)?d.pathname.substring(1):d.pathname),b.$$search=aa(d.search),b.$$hash=decodeURIComponent(d.hash),b.$$path&&"/"!=b.$$path.charAt(0)&&(b.$$path="/"+b.$$path)}function Kb(a,b){return 0===b.indexOf(a)?b.substr(a.length):void 0}function Lb(a){var b=a.indexOf("#");return-1==b?a:a.substr(0,b)}function Mb(a){return a.replace(/(#.+)|#$/,"$1")}function Nb(a){return a.substr(0,Lb(a).lastIndexOf("/")+1)}function Ob(a){return a.substring(0,a.indexOf("/",a.indexOf("//")+2))}function Pb(a,b,c){this.$$html5=!0,c=c||"",Ib(a,this),this.$$parse=function(a){var c=Kb(b,a);if(!x(c))throw We("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',a,b);Jb(c,this),this.$$path||(this.$$path="/"),this.$$compose()},this.$$compose=function(){var a=ba(this.$$search),c=this.$$hash?"#"+ca(this.$$hash):"";this.$$url=Hb(this.$$path)+(a?"?"+a:"")+c,this.$$absUrl=b+this.$$url.substr(1)},this.$$parseLinkUrl=function(d,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,g,h;return u(f=Kb(a,d))?(g=f,h=u(f=Kb(c,f))?b+(Kb("/",f)||f):a+g):u(f=Kb(b,d))?h=b+f:b==d+"/"&&(h=b),h&&this.$$parse(h),!!h}}function Qb(a,b,c){Ib(a,this),this.$$parse=function(d){function e(a,b,c){var d,e=/^\/[A-Z]:(\/.*)/;return 0===b.indexOf(c)&&(b=b.replace(c,"")),e.exec(b)?a:(d=e.exec(a),d?d[1]:a)}var f,g=Kb(a,d)||Kb(b,d);t(g)||"#"!==g.charAt(0)?this.$$html5?f=g:(f="",t(g)&&(a=d,this.replace())):(f=Kb(c,g),t(f)&&(f=g)),Jb(f,this),this.$$path=e(this.$$path,f,a),this.$$compose()},this.$$compose=function(){var b=ba(this.$$search),d=this.$$hash?"#"+ca(this.$$hash):"";this.$$url=Hb(this.$$path)+(b?"?"+b:"")+d,this.$$absUrl=a+(this.$$url?c+this.$$url:"")},this.$$parseLinkUrl=function(b,c){return Lb(a)==Lb(b)?(this.$$parse(b),!0):!1}}function Rb(a,b,c){this.$$html5=!0,Qb.apply(this,arguments),this.$$parseLinkUrl=function(d,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,g;return a==Lb(d)?f=d:(g=Kb(b,d))?f=a+c+g:b===d+"/"&&(f=b),f&&this.$$parse(f),!!f},this.$$compose=function(){var b=ba(this.$$search),d=this.$$hash?"#"+ca(this.$$hash):"";this.$$url=Hb(this.$$path)+(b?"?"+b:"")+d,this.$$absUrl=a+c+this.$$url}}function Sb(a){return function(){return this[a]}}function Tb(a,b){return function(c){return t(c)?this[a]:(this[a]=b(c),this.$$compose(),this)}}function Ub(){var a="",b={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(b){return u(b)?(a=b,this):a},this.html5Mode=function(a){return H(a)?(b.enabled=a,this):v(a)?(H(a.enabled)&&(b.enabled=a.enabled),H(a.requireBase)&&(b.requireBase=a.requireBase),H(a.rewriteLinks)&&(b.rewriteLinks=a.rewriteLinks),this):b},this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(c,d,e,f,g){function h(a,b,c){var e=j.url(),f=j.$$state;try{d.url(a,b,c),j.$$state=d.state()}catch(g){throw j.url(e),j.$$state=f,g}}function i(a,b){c.$broadcast("$locationChangeSuccess",j.absUrl(),a,j.$$state,b)}var j,k,l,m=d.baseHref(),n=d.url();if(b.enabled){if(!m&&b.requireBase)throw We("nobase","$location in HTML5 mode requires a <base> tag to be present!");l=Ob(n)+(m||"/"),k=e.history?Pb:Rb}else l=Lb(n),k=Qb;var o=Nb(l);j=new k(l,o,"#"+a),j.$$parseLinkUrl(n,n),j.$$state=d.state();var p=/^\s*(javascript|mailto):/i;f.on("click",function(a){if(b.rewriteLinks&&!a.ctrlKey&&!a.metaKey&&!a.shiftKey&&2!=a.which&&2!=a.button){for(var e=Cd(a.target);"a"!==M(e[0]);)if(e[0]===f[0]||!(e=e.parent())[0])return;var h=e.prop("href"),i=e.attr("href")||e.attr("xlink:href");v(h)&&"[object SVGAnimatedString]"===h.toString()&&(h=Bc(h.animVal).href),p.test(h)||!h||e.attr("target")||a.isDefaultPrevented()||j.$$parseLinkUrl(h,i)&&(a.preventDefault(),j.absUrl()!=d.url()&&(c.$apply(),g.angular["ff-684208-preventDefault"]=!0))}}),Mb(j.absUrl())!=Mb(n)&&d.url(j.absUrl(),!0);var q=!0;return d.onUrlChange(function(a,b){return t(Kb(o,a))?void(g.location.href=a):(c.$evalAsync(function(){var d,e=j.absUrl(),f=j.$$state;a=Mb(a),j.$$parse(a),j.$$state=b,d=c.$broadcast("$locationChangeStart",a,e,b,f).defaultPrevented,j.absUrl()===a&&(d?(j.$$parse(e),j.$$state=f,h(e,!1,f)):(q=!1,i(e,f)))}),void(c.$$phase||c.$digest()))}),c.$watch(function(){var a=Mb(d.url()),b=Mb(j.absUrl()),f=d.state(),g=j.$$replace,k=a!==b||j.$$html5&&e.history&&f!==j.$$state;(q||k)&&(q=!1,c.$evalAsync(function(){var b=j.absUrl(),d=c.$broadcast("$locationChangeStart",b,a,j.$$state,f).defaultPrevented;j.absUrl()===b&&(d?(j.$$parse(a),j.$$state=f):(k&&h(b,g,f===j.$$state?null:j.$$state),i(a,f)))})),j.$$replace=!1}),j}]}function Vb(){var a=!0,b=this;this.debugEnabled=function(b){return u(b)?(a=b,this):a},this.$get=["$window",function(c){function d(a){return a instanceof Error&&(a.stack?a=a.message&&-1===a.stack.indexOf(a.message)?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line)),a}function e(a){var b=c.console||{},e=b[a]||b.log||p,g=!1;try{g=!!e.apply}catch(h){}return g?function(){var a=[];return f(arguments,function(b){a.push(d(b))}),e.apply(b,a)}:function(a,b){e(a,null==b?"":b)}}return{log:e("log"),info:e("info"),warn:e("warn"),error:e("error"),debug:function(){var c=e("debug");return function(){a&&c.apply(b,arguments)}}()}}]}function Wb(a,b){if("__defineGetter__"===a||"__defineSetter__"===a||"__lookupGetter__"===a||"__lookupSetter__"===a||"__proto__"===a)throw Ye("isecfld","Attempting to access a disallowed field in Angular expressions! Expression: {0}",b);return a}function Xb(a,b){if(a+="",!x(a))throw Ye("iseccst","Cannot convert object to primitive value! Expression: {0}",b);return a}function Yb(a,b){if(a){if(a.constructor===a)throw Ye("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",b);if(a.window===a)throw Ye("isecwindow","Referencing the Window in Angular expressions is disallowed! Expression: {0}",b);if(a.children&&(a.nodeName||a.prop&&a.attr&&a.find))throw Ye("isecdom","Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}",b);if(a===Object)throw Ye("isecobj","Referencing Object in Angular expressions is disallowed! Expression: {0}",b)}return a}function Zb(a,b){if(a){if(a.constructor===a)throw Ye("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",b);if(a===Ze||a===$e||a===_e)throw Ye("isecff","Referencing call, apply or bind in Angular expressions is disallowed! Expression: {0}",b)}}function $b(a,b){if(a&&(a===0..constructor||a===(!1).constructor||a==="".constructor||a==={}.constructor||a===[].constructor||a===Function.constructor))throw Ye("isecaf","Assigning to a constructor is disallowed! Expression: {0}",b)}function _b(a,b){return"undefined"!=typeof a?a:b}function ac(a,b){return"undefined"==typeof a?b:"undefined"==typeof b?a:a+b}function bc(a,b){var c=a(b);return!c.$stateful}function cc(a,b){var c,d;switch(a.type){case df.Program:c=!0,f(a.body,function(a){cc(a.expression,b),c=c&&a.expression.constant}),a.constant=c;break;case df.Literal:a.constant=!0,a.toWatch=[];break;case df.UnaryExpression:cc(a.argument,b),a.constant=a.argument.constant,a.toWatch=a.argument.toWatch;break;case df.BinaryExpression:cc(a.left,b),cc(a.right,b),a.constant=a.left.constant&&a.right.constant,a.toWatch=a.left.toWatch.concat(a.right.toWatch);break;case df.LogicalExpression:cc(a.left,b),cc(a.right,b),a.constant=a.left.constant&&a.right.constant,a.toWatch=a.constant?[]:[a];break;case df.ConditionalExpression:cc(a.test,b),cc(a.alternate,b),cc(a.consequent,b),a.constant=a.test.constant&&a.alternate.constant&&a.consequent.constant,a.toWatch=a.constant?[]:[a];break;case df.Identifier:a.constant=!1,a.toWatch=[a];break;case df.MemberExpression:cc(a.object,b),a.computed&&cc(a.property,b),a.constant=a.object.constant&&(!a.computed||a.property.constant),a.toWatch=[a];break;case df.CallExpression:c=a.filter?bc(b,a.callee.name):!1,d=[],f(a.arguments,function(a){cc(a,b),c=c&&a.constant,a.constant||d.push.apply(d,a.toWatch)}),a.constant=c,a.toWatch=a.filter&&bc(b,a.callee.name)?d:[a];break;case df.AssignmentExpression:cc(a.left,b),cc(a.right,b),a.constant=a.left.constant&&a.right.constant,a.toWatch=[a];break;case df.ArrayExpression:c=!0,d=[],f(a.elements,function(a){cc(a,b),c=c&&a.constant,a.constant||d.push.apply(d,a.toWatch)}),a.constant=c,a.toWatch=d;break;case df.ObjectExpression:c=!0,d=[],f(a.properties,function(a){cc(a.value,b),c=c&&a.value.constant,a.value.constant||d.push.apply(d,a.value.toWatch)}),a.constant=c,a.toWatch=d;break;case df.ThisExpression:a.constant=!1,a.toWatch=[]}}function dc(a){if(1==a.length){var b=a[0].expression,d=b.toWatch;return 1!==d.length?d:d[0]!==b?d:c}}function ec(a){return a.type===df.Identifier||a.type===df.MemberExpression}function fc(a){return 1===a.body.length&&ec(a.body[0].expression)?{type:df.AssignmentExpression,left:a.body[0].expression,right:{type:df.NGValueParameter},operator:"="}:void 0}function gc(a){return 0===a.body.length||1===a.body.length&&(a.body[0].expression.type===df.Literal||a.body[0].expression.type===df.ArrayExpression||a.body[0].expression.type===df.ObjectExpression)}function hc(a){return a.constant}function ic(a,b){this.astBuilder=a,this.$filter=b}function jc(a,b){this.astBuilder=a,this.$filter=b}function kc(a){return"constructor"==a}function lc(a){return A(a.valueOf)?a.valueOf():ff.call(a)}function mc(){var a=qa(),b=qa();this.$get=["$filter",function(d){function e(a,b){return null==a||null==b?a===b:"object"==typeof a&&(a=lc(a),"object"==typeof a)?!1:a===b||a!==a&&b!==b}function g(a,b,d,f,g){var h,i=f.inputs;if(1===i.length){var j=e;return i=i[0],a.$watch(function(a){var b=i(a);return e(b,j)||(h=f(a,c,c,[b]),j=b&&lc(b)),h},b,d,g)}for(var k=[],l=[],m=0,n=i.length;n>m;m++)k[m]=e,l[m]=null;return a.$watch(function(a){for(var b=!1,d=0,g=i.length;g>d;d++){var j=i[d](a);(b||(b=!e(j,k[d])))&&(l[d]=j,k[d]=j&&lc(j))}return b&&(h=f(a,c,c,l)),h},b,d,g)}function h(a,b,c,d){var e,f;return e=a.$watch(function(a){return d(a)},function(a,c,d){f=a,A(b)&&b.apply(this,arguments),u(a)&&d.$$postDigest(function(){u(f)&&e()})},c)}function i(a,b,c,d){function e(a){var b=!0;return f(a,function(a){u(a)||(b=!1)}),b}var g,h;return g=a.$watch(function(a){return d(a)},function(a,c,d){h=a,A(b)&&b.call(this,a,c,d),e(a)&&d.$$postDigest(function(){e(h)&&g()})},c)}function j(a,b,c,d){var e;return e=a.$watch(function(a){return d(a)},function(a,c,d){A(b)&&b.apply(this,arguments),e()},c)}function k(a,b){if(!b)return a;var c=a.$$watchDelegate,d=!1,e=c!==i&&c!==h,f=e?function(c,e,f,g){var h=d&&g?g[0]:a(c,e,f,g);return b(h,c,e)}:function(c,d,e,f){var g=a(c,d,e,f),h=b(g,c,d);return u(g)?h:g};return a.$$watchDelegate&&a.$$watchDelegate!==g?f.$$watchDelegate=a.$$watchDelegate:b.$stateful||(f.$$watchDelegate=g,d=!a.inputs,f.inputs=a.inputs?a.inputs:[a]),f}var l=Sd().noUnsafeEval,m={csp:l,expensiveChecks:!1},n={csp:l,expensiveChecks:!0};return function(c,e,f){var l,o,q;switch(typeof c){case"string":c=c.trim(),q=c;var r=f?b:a;if(l=r[q],!l){":"===c.charAt(0)&&":"===c.charAt(1)&&(o=!0,c=c.substring(2));var s=f?n:m,t=new cf(s),u=new ef(t,d,s);l=u.parse(c),l.constant?l.$$watchDelegate=j:o?l.$$watchDelegate=l.literal?i:h:l.inputs&&(l.$$watchDelegate=g),r[q]=l}return k(l,e);case"function":return k(c,e);default:return p}}}]}function nc(){this.$get=["$rootScope","$exceptionHandler",function(a,b){return pc(function(b){a.$evalAsync(b)},b)}]}function oc(){this.$get=["$browser","$exceptionHandler",function(a,b){return pc(function(b){a.defer(b)},b)}]}function pc(a,b){function e(a,b,c){function d(b){return function(c){e||(e=!0,b.call(a,c))}}var e=!1;return[d(b),d(c)]}function g(){this.$$state={status:0}}function h(a,b){return function(c){b.call(a,c)}}function i(a){var d,e,f;f=a.pending,a.processScheduled=!1,a.pending=c;for(var g=0,h=f.length;h>g;++g){e=f[g][0],d=f[g][a.status];try{A(d)?e.resolve(d(a.value)):1===a.status?e.resolve(a.value):e.reject(a.value)}catch(i){e.reject(i),b(i)}}}function j(b){!b.processScheduled&&b.pending&&(b.processScheduled=!0,a(function(){i(b)}))}function k(){this.promise=new g,this.resolve=h(this,this.resolve),this.reject=h(this,this.reject),this.notify=h(this,this.notify)}function m(a){var b=new k,c=0,d=Od(a)?[]:{};return f(a,function(a,e){c++,s(a).then(function(a){d.hasOwnProperty(e)||(d[e]=a,--c||b.resolve(d))},function(a){d.hasOwnProperty(e)||b.reject(a)})}),0===c&&b.resolve(d),b.promise}var n=d("$q",TypeError),o=function(){return new k};l(g.prototype,{then:function(a,b,c){if(t(a)&&t(b)&&t(c))return this;var d=new k;return this.$$state.pending=this.$$state.pending||[],this.$$state.pending.push([d,a,b,c]),this.$$state.status>0&&j(this.$$state),d.promise},"catch":function(a){return this.then(null,a)},"finally":function(a,b){return this.then(function(b){return r(b,!0,a)},function(b){return r(b,!1,a)},b)}}),l(k.prototype,{resolve:function(a){this.promise.$$state.status||(a===this.promise?this.$$reject(n("qcycle","Expected promise to be resolved with value other than itself '{0}'",a)):this.$$resolve(a))},$$resolve:function(a){var c,d;d=e(this,this.$$resolve,this.$$reject);try{(v(a)||A(a))&&(c=a&&a.then),A(c)?(this.promise.$$state.status=-1,c.call(a,d[0],d[1],this.notify)):(this.promise.$$state.value=a,this.promise.$$state.status=1,j(this.promise.$$state))}catch(f){d[1](f),b(f)}},reject:function(a){this.promise.$$state.status||this.$$reject(a)},$$reject:function(a){this.promise.$$state.value=a,this.promise.$$state.status=2,j(this.promise.$$state)},notify:function(c){var d=this.promise.$$state.pending;this.promise.$$state.status<=0&&d&&d.length&&a(function(){for(var a,e,f=0,g=d.length;g>f;f++){e=d[f][0],a=d[f][3];try{e.notify(A(a)?a(c):c)}catch(h){b(h)}}})}});var p=function(a){var b=new k;return b.reject(a),b.promise},q=function(a,b){var c=new k;return b?c.resolve(a):c.reject(a),c.promise},r=function(a,b,c){var d=null;try{A(c)&&(d=c())}catch(e){return q(e,!1)}return I(d)?d.then(function(){return q(a,b)},function(a){return q(a,!1)}):q(a,b)},s=function(a,b,c,d){var e=new k;return e.resolve(a),e.promise.then(b,c,d)},u=s,w=function x(a){function b(a){d.resolve(a)}function c(a){d.reject(a)}if(!A(a))throw n("norslvr","Expected resolverFn, got '{0}'",a);if(!(this instanceof x))return new x(a);var d=new k;return a(b,c),d.promise};return w.defer=o,w.reject=p,w.when=s,w.resolve=u,w.all=m,w}function qc(){this.$get=["$window","$timeout",function(a,b){var c=a.requestAnimationFrame||a.webkitRequestAnimationFrame,d=a.cancelAnimationFrame||a.webkitCancelAnimationFrame||a.webkitCancelRequestAnimationFrame,e=!!c,f=e?function(a){var b=c(a);return function(){d(b)}}:function(a){var c=b(a,16.66,!1);return function(){b.cancel(c)}};return f.supported=e,f}]}function rc(){function a(a){function b(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$id=i(),this.$$ChildScope=null}return b.prototype=a,b}var b=10,c=d("$rootScope"),g=null,h=null;this.digestTtl=function(a){return arguments.length&&(b=a),b},this.$get=["$injector","$exceptionHandler","$parse","$browser",function(d,j,k,l){function m(a){a.currentScope.$$destroyed=!0}function n(a){9===Bd&&(a.$$childHead&&n(a.$$childHead),a.$$nextSibling&&n(a.$$nextSibling)),a.$parent=a.$$nextSibling=a.$$prevSibling=a.$$childHead=a.$$childTail=a.$root=a.$$watchers=null}function o(){this.$id=i(),this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,this.$root=this,this.$$destroyed=!1,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$$isolateBindings=null}function q(a){if(z.$$phase)throw c("inprog","{0} already in progress",z.$$phase);z.$$phase=a}function r(){z.$$phase=null}function s(a,b){do a.$$watchersCount+=b;while(a=a.$parent)}function u(a,b,c){do a.$$listenerCount[c]-=b,0===a.$$listenerCount[c]&&delete a.$$listenerCount[c];while(a=a.$parent)}function w(){}function x(){for(;D.length;)try{D.shift()()}catch(a){j(a)}h=null}function y(){null===h&&(h=l.defer(function(){z.$apply(x)}))}o.prototype={constructor:o,$new:function(b,c){var d;return c=c||this,b?(d=new o,d.$root=this.$root):(this.$$ChildScope||(this.$$ChildScope=a(this)),d=new this.$$ChildScope),d.$parent=c,d.$$prevSibling=c.$$childTail,c.$$childHead?(c.$$childTail.$$nextSibling=d,c.$$childTail=d):c.$$childHead=c.$$childTail=d,(b||c!=this)&&d.$on("$destroy",m),d},$watch:function(a,b,c,d){var e=k(a);if(e.$$watchDelegate)return e.$$watchDelegate(this,b,c,e,a);var f=this,h=f.$$watchers,i={fn:b,last:w,get:e,exp:d||a,eq:!!c};return g=null,A(b)||(i.fn=p),h||(h=f.$$watchers=[]),h.unshift(i),s(this,1),function(){N(h,i)>=0&&s(f,-1),g=null}},$watchGroup:function(a,b){function c(){i=!1,j?(j=!1,b(e,e,h)):b(e,d,h)}var d=new Array(a.length),e=new Array(a.length),g=[],h=this,i=!1,j=!0;if(!a.length){var k=!0;return h.$evalAsync(function(){k&&b(e,e,h)}),function(){k=!1}}return 1===a.length?this.$watch(a[0],function(a,c,f){e[0]=a,d[0]=c,b(e,a===c?e:d,f)}):(f(a,function(a,b){var f=h.$watch(a,function(a,f){e[b]=a,d[b]=f,i||(i=!0,h.$evalAsync(c))});g.push(f)}),function(){for(;g.length;)g.shift()()})},$watchCollection:function(a,b){function c(a){f=a;var b,c,d,h,i;if(!t(f)){if(v(f))if(e(f)){g!==n&&(g=n,q=g.length=0,l++),b=f.length,q!==b&&(l++,g.length=q=b);for(var j=0;b>j;j++)i=g[j],h=f[j],d=i!==i&&h!==h,d||i===h||(l++,g[j]=h)}else{g!==o&&(g=o={},q=0,l++),b=0;for(c in f)xd.call(f,c)&&(b++,h=f[c],i=g[c],c in g?(d=i!==i&&h!==h,d||i===h||(l++,g[c]=h)):(q++,g[c]=h,l++));if(q>b){l++;for(c in g)xd.call(f,c)||(q--,delete g[c])}}else g!==f&&(g=f,l++);return l}}function d(){if(p?(p=!1,b(f,f,i)):b(f,h,i),j)if(v(f))if(e(f)){h=new Array(f.length);for(var a=0;a<f.length;a++)h[a]=f[a]}else{h={};for(var c in f)xd.call(f,c)&&(h[c]=f[c])}else h=f}c.$stateful=!0;var f,g,h,i=this,j=b.length>1,l=0,m=k(a,c),n=[],o={},p=!0,q=0;return this.$watch(m,d)},$digest:function(){var a,d,e,f,i,k,m,n,o,p,s=b,t=this,u=[];q("$digest"),l.$$checkUrlChange(),this===z&&null!==h&&(l.defer.cancel(h),x()),g=null;do{for(k=!1,n=t;B.length;){try{p=B.shift(),p.scope.$eval(p.expression,p.locals)}catch(v){j(v)}g=null}a:do{if(f=n.$$watchers)for(i=f.length;i--;)try{if(a=f[i])if((d=a.get(n))===(e=a.last)||(a.eq?Q(d,e):"number"==typeof d&&"number"==typeof e&&isNaN(d)&&isNaN(e))){if(a===g){k=!1;break a}}else k=!0,g=a,a.last=a.eq?O(d,null):d,a.fn(d,e===w?d:e,n),5>s&&(o=4-s,u[o]||(u[o]=[]),u[o].push({msg:A(a.exp)?"fn: "+(a.exp.name||a.exp.toString()):a.exp,newVal:d,oldVal:e}))}catch(v){j(v)}if(!(m=n.$$watchersCount&&n.$$childHead||n!==t&&n.$$nextSibling))for(;n!==t&&!(m=n.$$nextSibling);)n=n.$parent}while(n=m);if((k||B.length)&&!s--)throw r(),c("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",b,u)}while(k||B.length);for(r();C.length;)try{C.shift()()}catch(v){j(v)}},$destroy:function(){if(!this.$$destroyed){var a=this.$parent;this.$broadcast("$destroy"),this.$$destroyed=!0,this===z&&l.$$applicationDestroyed(),s(this,-this.$$watchersCount);for(var b in this.$$listenerCount)u(this,this.$$listenerCount[b],b);a&&a.$$childHead==this&&(a.$$childHead=this.$$nextSibling),a&&a.$$childTail==this&&(a.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=p,this.$on=this.$watch=this.$watchGroup=function(){return p},this.$$listeners={},this.$$nextSibling=null,n(this)}},$eval:function(a,b){return k(a)(this,b)},$evalAsync:function(a,b){z.$$phase||B.length||l.defer(function(){B.length&&z.$digest()}),B.push({scope:this,expression:a,locals:b})},$$postDigest:function(a){C.push(a)},$apply:function(a){try{q("$apply");try{return this.$eval(a)}finally{r()}}catch(b){j(b)}finally{try{z.$digest()}catch(b){throw j(b),b}}},$applyAsync:function(a){function b(){c.$eval(a)}var c=this;a&&D.push(b),y()},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]),c.push(b);var d=this;do d.$$listenerCount[a]||(d.$$listenerCount[a]=0),d.$$listenerCount[a]++;while(d=d.$parent);var e=this;return function(){var d=c.indexOf(b);-1!==d&&(c[d]=null,u(e,1,a))}},$emit:function(a,b){var c,d,e,f=[],g=this,h=!1,i={name:a,targetScope:g,stopPropagation:function(){h=!0},preventDefault:function(){i.defaultPrevented=!0},defaultPrevented:!1},k=R([i],arguments,1);do{for(c=g.$$listeners[a]||f,i.currentScope=g,d=0,e=c.length;e>d;d++)if(c[d])try{c[d].apply(null,k)}catch(l){j(l)}else c.splice(d,1),d--,e--;if(h)return i.currentScope=null,i;g=g.$parent}while(g);return i.currentScope=null,i},$broadcast:function(a,b){var c=this,d=c,e=c,f={name:a,targetScope:c,preventDefault:function(){f.defaultPrevented=!0},defaultPrevented:!1};if(!c.$$listenerCount[a])return f;for(var g,h,i,k=R([f],arguments,1);d=e;){for(f.currentScope=d,g=d.$$listeners[a]||[],h=0,i=g.length;i>h;h++)if(g[h])try{g[h].apply(null,k)}catch(l){j(l)}else g.splice(h,1),h--,i--;if(!(e=d.$$listenerCount[a]&&d.$$childHead||d!==c&&d.$$nextSibling))for(;d!==c&&!(e=d.$$nextSibling);)d=d.$parent}return f.currentScope=null,f}};var z=new o,B=z.$$asyncQueue=[],C=z.$$postDigestQueue=[],D=z.$$applyAsyncQueue=[];return z}]}function sc(){var a=/^\s*(https?|ftp|mailto|tel|file):/,b=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationWhitelist=function(b){return u(b)?(a=b,this):a},this.imgSrcSanitizationWhitelist=function(a){return u(a)?(b=a,this):b},this.$get=function(){return function(c,d){var e,f=d?b:a;return e=Bc(c).href,""===e||e.match(f)?c:"unsafe:"+e}}}function tc(a){if("self"===a)return a;if(x(a)){if(a.indexOf("***")>-1)throw gf("iwcard","Illegal sequence *** in string matcher.  String: {0}",a);return a=Rd(a).replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*"),new RegExp("^"+a+"$")}if(B(a))return new RegExp("^"+a.source+"$");throw gf("imatcher",'Matchers may only be "self", string patterns or RegExp objects')}function uc(a){var b=[];return u(a)&&f(a,function(a){b.push(tc(a))}),b}function vc(){this.SCE_CONTEXTS=hf;var a=["self"],b=[];this.resourceUrlWhitelist=function(b){return arguments.length&&(a=uc(b)),a},this.resourceUrlBlacklist=function(a){return arguments.length&&(b=uc(a)),b},this.$get=["$injector",function(c){function d(a,b){return"self"===a?Cc(b):!!a.exec(b.href)}function e(c){var e,f,g=Bc(c.toString()),h=!1;for(e=0,f=a.length;f>e;e++)if(d(a[e],g)){h=!0;break}if(h)for(e=0,f=b.length;f>e;e++)if(d(b[e],g)){h=!1;break}return h}function f(a){var b=function(a){this.$$unwrapTrustedValue=function(){return a}};return a&&(b.prototype=new a),b.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},b.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},b}function g(a,b){var c=l.hasOwnProperty(a)?l[a]:null;if(!c)throw gf("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",a,b);if(null===b||t(b)||""===b)return b;if("string"!=typeof b)throw gf("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",a);return new c(b)}function h(a){return a instanceof k?a.$$unwrapTrustedValue():a}function i(a,b){if(null===b||t(b)||""===b)return b;var c=l.hasOwnProperty(a)?l[a]:null;if(c&&b instanceof c)return b.$$unwrapTrustedValue();if(a===hf.RESOURCE_URL){if(e(b))return b;throw gf("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy.  URL: {0}",b.toString());
-}if(a===hf.HTML)return j(b);throw gf("unsafe","Attempting to use an unsafe value in a safe context.")}var j=function(a){throw gf("unsafe","Attempting to use an unsafe value in a safe context.")};c.has("$sanitize")&&(j=c.get("$sanitize"));var k=f(),l={};return l[hf.HTML]=f(k),l[hf.CSS]=f(k),l[hf.URL]=f(k),l[hf.JS]=f(k),l[hf.RESOURCE_URL]=f(l[hf.URL]),{trustAs:g,getTrusted:i,valueOf:h}}]}function wc(){var a=!0;this.enabled=function(b){return arguments.length&&(a=!!b),a},this.$get=["$parse","$sceDelegate",function(b,c){if(a&&8>Bd)throw gf("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 11 in quirks mode.  You can fix this by adding the text <!doctype html> to the top of your HTML document.  See http://docs.angularjs.org/api/ng.$sce for more information.");var d=P(hf);d.isEnabled=function(){return a},d.trustAs=c.trustAs,d.getTrusted=c.getTrusted,d.valueOf=c.valueOf,a||(d.trustAs=d.getTrusted=function(a,b){return b},d.valueOf=q),d.parseAs=function(a,c){var e=b(c);return e.literal&&e.constant?e:b(c,function(b){return d.getTrusted(a,b)})};var e=d.parseAs,g=d.getTrusted,h=d.trustAs;return f(hf,function(a,b){var c=wd(b);d[wa("parse_as_"+c)]=function(b){return e(a,b)},d[wa("get_trusted_"+c)]=function(b){return g(a,b)},d[wa("trust_as_"+c)]=function(b){return h(a,b)}}),d}]}function xc(){this.$get=["$window","$document",function(a,b){var c,d,e={},f=n((/android (\d+)/.exec(wd((a.navigator||{}).userAgent))||[])[1]),g=/Boxee/i.test((a.navigator||{}).userAgent),h=b[0]||{},i=/^(Moz|webkit|ms)(?=[A-Z])/,j=h.body&&h.body.style,k=!1,l=!1;if(j){for(var m in j)if(d=i.exec(m)){c=d[0],c=c.substr(0,1).toUpperCase()+c.substr(1);break}c||(c="WebkitOpacity"in j&&"webkit"),k=!!("transition"in j||c+"Transition"in j),l=!!("animation"in j||c+"Animation"in j),!f||k&&l||(k=x(j.webkitTransition),l=x(j.webkitAnimation))}return{history:!(!a.history||!a.history.pushState||4>f||g),hasEvent:function(a){if("input"===a&&11>=Bd)return!1;if(t(e[a])){var b=h.createElement("div");e[a]="on"+a in b}return e[a]},csp:Sd(),vendorPrefix:c,transitions:k,animations:l,android:f}}]}function yc(){this.$get=["$templateCache","$http","$q","$sce",function(a,b,c,d){function e(f,g){function h(a){if(!g)throw He("tpload","Failed to load template: {0} (HTTP status: {1} {2})",f,a.status,a.statusText);return c.reject(a)}e.totalPendingRequests++,x(f)&&a.get(f)||(f=d.getTrustedResourceUrl(f));var i=b.defaults&&b.defaults.transformResponse;Od(i)?i=i.filter(function(a){return a!==vb}):i===vb&&(i=null);var j={cache:a,transformResponse:i};return b.get(f,j)["finally"](function(){e.totalPendingRequests--}).then(function(b){return a.put(f,b.data),b.data},h)}return e.totalPendingRequests=0,e}]}function zc(){this.$get=["$rootScope","$browser","$location",function(a,b,c){var d={};return d.findBindings=function(a,b,c){var d=a.getElementsByClassName("ng-binding"),e=[];return f(d,function(a){var d=Ld.element(a).data("$binding");d&&f(d,function(d){if(c){var f=new RegExp("(^|\\s)"+Rd(b)+"(\\s|\\||$)");f.test(d)&&e.push(a)}else-1!=d.indexOf(b)&&e.push(a)})}),e},d.findModels=function(a,b,c){for(var d=["ng-","data-ng-","ng\\:"],e=0;e<d.length;++e){var f=c?"=":"*=",g="["+d[e]+"model"+f+'"'+b+'"]',h=a.querySelectorAll(g);if(h.length)return h}},d.getLocation=function(){return c.url()},d.setLocation=function(b){b!==c.url()&&(c.url(b),a.$digest())},d.whenStable=function(a){b.notifyWhenNoOutstandingRequests(a)},d}]}function Ac(){this.$get=["$rootScope","$browser","$q","$$q","$exceptionHandler",function(a,b,c,d,e){function f(f,h,i){A(f)||(i=h,h=f,f=p);var j,k=S(arguments,3),l=u(i)&&!i,m=(l?d:c).defer(),n=m.promise;return j=b.defer(function(){try{m.resolve(f.apply(null,k))}catch(b){m.reject(b),e(b)}finally{delete g[n.$$timeoutId]}l||a.$apply()},h),n.$$timeoutId=j,g[j]=m,n}var g={};return f.cancel=function(a){return a&&a.$$timeoutId in g?(g[a.$$timeoutId].reject("canceled"),delete g[a.$$timeoutId],b.defer.cancel(a.$$timeoutId)):!1},f}]}function Bc(a){var b=a;return Bd&&(jf.setAttribute("href",b),b=jf.href),jf.setAttribute("href",b),{href:jf.href,protocol:jf.protocol?jf.protocol.replace(/:$/,""):"",host:jf.host,search:jf.search?jf.search.replace(/^\?/,""):"",hash:jf.hash?jf.hash.replace(/^#/,""):"",hostname:jf.hostname,port:jf.port,pathname:"/"===jf.pathname.charAt(0)?jf.pathname:"/"+jf.pathname}}function Cc(a){var b=x(a)?Bc(a):a;return b.protocol===kf.protocol&&b.host===kf.host}function Dc(){this.$get=r(a)}function Ec(a){function b(a){try{return decodeURIComponent(a)}catch(b){return a}}var c=a[0]||{},d={},e="";return function(){var a,f,g,h,i,j=c.cookie||"";if(j!==e)for(e=j,a=e.split("; "),d={},g=0;g<a.length;g++)f=a[g],h=f.indexOf("="),h>0&&(i=b(f.substring(0,h)),t(d[i])&&(d[i]=b(f.substring(h+1))));return d}}function Fc(){this.$get=Ec}function Gc(a){function b(d,e){if(v(d)){var g={};return f(d,function(a,c){g[c]=b(c,a)}),g}return a.factory(d+c,e)}var c="Filter";this.register=b,this.$get=["$injector",function(a){return function(b){return a.get(b+c)}}],b("currency",Lc),b("date",Yc),b("filter",Hc),b("json",Zc),b("limitTo",$c),b("lowercase",pf),b("number",Mc),b("orderBy",_c),b("uppercase",qf)}function Hc(){return function(a,b,c){if(!e(a)){if(null==a)return a;throw d("filter")("notarray","Expected array but received: {0}",a)}var f,g,h=Kc(b);switch(h){case"function":f=b;break;case"boolean":case"null":case"number":case"string":g=!0;case"object":f=Ic(b,c,g);break;default:return a}return Array.prototype.filter.call(a,f)}}function Ic(a,b,c){var d,e=v(a)&&"$"in a;return b===!0?b=Q:A(b)||(b=function(a,b){return t(a)?!1:null===a||null===b?a===b:v(b)||v(a)&&!s(a)?!1:(a=wd(""+a),b=wd(""+b),-1!==a.indexOf(b))}),d=function(d){return e&&!v(d)?Jc(d,a.$,b,!1):Jc(d,a,b,c)}}function Jc(a,b,c,d,e){var f=Kc(a),g=Kc(b);if("string"===g&&"!"===b.charAt(0))return!Jc(a,b.substring(1),c,d);if(Od(a))return a.some(function(a){return Jc(a,b,c,d)});switch(f){case"object":var h;if(d){for(h in a)if("$"!==h.charAt(0)&&Jc(a[h],b,c,!0))return!0;return e?!1:Jc(a,b,c,!1)}if("object"===g){for(h in b){var i=b[h];if(!A(i)&&!t(i)){var j="$"===h,k=j?a:a[h];if(!Jc(k,i,c,j,j))return!1}}return!0}return c(a,b);case"function":return!1;default:return c(a,b)}}function Kc(a){return null===a?"null":typeof a}function Lc(a){var b=a.NUMBER_FORMATS;return function(a,c,d){return t(c)&&(c=b.CURRENCY_SYM),t(d)&&(d=b.PATTERNS[1].maxFrac),null==a?a:Nc(a,b.PATTERNS[1],b.GROUP_SEP,b.DECIMAL_SEP,d).replace(/\u00A4/g,c)}}function Mc(a){var b=a.NUMBER_FORMATS;return function(a,c){return null==a?a:Nc(a,b.PATTERNS[0],b.GROUP_SEP,b.DECIMAL_SEP,c)}}function Nc(a,b,c,d,e){if(v(a))return"";var f=0>a;a=Math.abs(a);var g=a===1/0;if(!g&&!isFinite(a))return"";var h=a+"",i="",j=!1,k=[];if(g&&(i="∞"),!g&&-1!==h.indexOf("e")){var l=h.match(/([\d\.]+)e(-?)(\d+)/);l&&"-"==l[2]&&l[3]>e+1?a=0:(i=h,j=!0)}if(g||j)e>0&&1>a&&(i=a.toFixed(e),a=parseFloat(i),i=i.replace(lf,d));else{var m=(h.split(lf)[1]||"").length;t(e)&&(e=Math.min(Math.max(b.minFrac,m),b.maxFrac)),a=+(Math.round(+(a.toString()+"e"+e)).toString()+"e"+-e);var n=(""+a).split(lf),o=n[0];n=n[1]||"";var p,q=0,r=b.lgSize,s=b.gSize;if(o.length>=r+s)for(q=o.length-r,p=0;q>p;p++)(q-p)%s===0&&0!==p&&(i+=c),i+=o.charAt(p);for(p=q;p<o.length;p++)(o.length-p)%r===0&&0!==p&&(i+=c),i+=o.charAt(p);for(;n.length<e;)n+="0";e&&"0"!==e&&(i+=d+n.substr(0,e))}return 0===a&&(f=!1),k.push(f?b.negPre:b.posPre,i,f?b.negSuf:b.posSuf),k.join("")}function Oc(a,b,c){var d="";for(0>a&&(d="-",a=-a),a=""+a;a.length<b;)a="0"+a;return c&&(a=a.substr(a.length-b)),d+a}function Pc(a,b,c,d){return c=c||0,function(e){var f=e["get"+a]();return(c>0||f>-c)&&(f+=c),0===f&&-12==c&&(f=12),Oc(f,b,d)}}function Qc(a,b){return function(c,d){var e=c["get"+a](),f=yd(b?"SHORT"+a:a);return d[f][e]}}function Rc(a,b,c){var d=-1*c,e=d>=0?"+":"";return e+=Oc(Math[d>0?"floor":"ceil"](d/60),2)+Oc(Math.abs(d%60),2)}function Sc(a){var b=new Date(a,0,1).getDay();return new Date(a,0,(4>=b?5:12)-b)}function Tc(a){return new Date(a.getFullYear(),a.getMonth(),a.getDate()+(4-a.getDay()))}function Uc(a){return function(b){var c=Sc(b.getFullYear()),d=Tc(b),e=+d-+c,f=1+Math.round(e/6048e5);return Oc(f,a)}}function Vc(a,b){return a.getHours()<12?b.AMPMS[0]:b.AMPMS[1]}function Wc(a,b){return a.getFullYear()<=0?b.ERAS[0]:b.ERAS[1]}function Xc(a,b){return a.getFullYear()<=0?b.ERANAMES[0]:b.ERANAMES[1]}function Yc(a){function b(a){var b;if(b=a.match(c)){var d=new Date(0),e=0,f=0,g=b[8]?d.setUTCFullYear:d.setFullYear,h=b[8]?d.setUTCHours:d.setHours;b[9]&&(e=n(b[9]+b[10]),f=n(b[9]+b[11])),g.call(d,n(b[1]),n(b[2])-1,n(b[3]));var i=n(b[4]||0)-e,j=n(b[5]||0)-f,k=n(b[6]||0),l=Math.round(1e3*parseFloat("0."+(b[7]||0)));return h.call(d,i,j,k,l),d}return a}var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,d,e){var g,h,i="",j=[];if(d=d||"mediumDate",d=a.DATETIME_FORMATS[d]||d,x(c)&&(c=of.test(c)?n(c):b(c)),y(c)&&(c=new Date(c)),!z(c)||!isFinite(c.getTime()))return c;for(;d;)h=nf.exec(d),h?(j=R(j,h,1),d=j.pop()):(j.push(d),d=null);var k=c.getTimezoneOffset();return e&&(k=X(e,c.getTimezoneOffset()),c=Z(c,e,!0)),f(j,function(b){g=mf[b],i+=g?g(c,a.DATETIME_FORMATS,k):b.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),i}}function Zc(){return function(a,b){return t(b)&&(b=2),V(a,b)}}function $c(){return function(a,b,c){return b=Math.abs(Number(b))===1/0?Number(b):n(b),isNaN(b)?a:(y(a)&&(a=a.toString()),Od(a)||x(a)?(c=!c||isNaN(c)?0:n(c),c=0>c?Math.max(0,a.length+c):c,b>=0?a.slice(c,c+b):0===c?a.slice(b,a.length):a.slice(Math.max(0,c+b),c)):a)}}function _c(a){function b(b,c){return c=c?-1:1,b.map(function(b){var d=1,e=q;if(A(b))e=b;else if(x(b)&&(("+"==b.charAt(0)||"-"==b.charAt(0))&&(d="-"==b.charAt(0)?-1:1,b=b.substring(1)),""!==b&&(e=a(b),e.constant))){var f=e();e=function(a){return a[f]}}return{get:e,descending:d*c}})}function c(a){switch(typeof a){case"number":case"boolean":case"string":return!0;default:return!1}}function d(a,b){return"function"==typeof a.valueOf&&(a=a.valueOf(),c(a))?a:s(a)&&(a=a.toString(),c(a))?a:b}function f(a,b){var c=typeof a;return null===a?(c="string",a="null"):"string"===c?a=a.toLowerCase():"object"===c&&(a=d(a,b)),{value:a,type:c}}function g(a,b){var c=0;return a.type===b.type?a.value!==b.value&&(c=a.value<b.value?-1:1):c=a.type<b.type?-1:1,c}return function(a,c,d){function h(a,b){return{value:a,predicateValues:j.map(function(c){return f(c.get(a),b)})}}function i(a,b){for(var c=0,d=0,e=j.length;e>d&&!(c=g(a.predicateValues[d],b.predicateValues[d])*j[d].descending);++d);return c}if(!e(a))return a;Od(c)||(c=[c]),0===c.length&&(c=["+"]);var j=b(c,d);j.push({get:function(){return{}},descending:d?-1:1});var k=Array.prototype.map.call(a,h);return k.sort(i),a=k.map(function(a){return a.value})}}function ad(a){return A(a)&&(a={link:a}),a.restrict=a.restrict||"AC",r(a)}function bd(a,b){a.$name=b}function cd(a,b,d,e,g){var h=this,i=[];h.$error={},h.$$success={},h.$pending=c,h.$name=g(b.name||b.ngForm||"")(d),h.$dirty=!1,h.$pristine=!0,h.$valid=!0,h.$invalid=!1,h.$submitted=!1,h.$$parentForm=tf,h.$rollbackViewValue=function(){f(i,function(a){a.$rollbackViewValue()})},h.$commitViewValue=function(){f(i,function(a){a.$commitViewValue()})},h.$addControl=function(a){na(a.$name,"input"),i.push(a),a.$name&&(h[a.$name]=a),a.$$parentForm=h},h.$$renameControl=function(a,b){var c=a.$name;h[c]===a&&delete h[c],h[b]=a,a.$name=b},h.$removeControl=function(a){a.$name&&h[a.$name]===a&&delete h[a.$name],f(h.$pending,function(b,c){h.$setValidity(c,null,a)}),f(h.$error,function(b,c){h.$setValidity(c,null,a)}),f(h.$$success,function(b,c){h.$setValidity(c,null,a)}),N(i,a),a.$$parentForm=tf},rd({ctrl:this,$element:a,set:function(a,b,c){var d=a[b];if(d){var e=d.indexOf(c);-1===e&&d.push(c)}else a[b]=[c]},unset:function(a,b,c){var d=a[b];d&&(N(d,c),0===d.length&&delete a[b])},$animate:e}),h.$setDirty=function(){e.removeClass(a,bg),e.addClass(a,cg),h.$dirty=!0,h.$pristine=!1,h.$$parentForm.$setDirty()},h.$setPristine=function(){e.setClass(a,bg,cg+" "+uf),h.$dirty=!1,h.$pristine=!0,h.$submitted=!1,f(i,function(a){a.$setPristine()})},h.$setUntouched=function(){f(i,function(a){a.$setUntouched()})},h.$setSubmitted=function(){e.addClass(a,uf),h.$submitted=!0,h.$$parentForm.$setSubmitted()}}function dd(a){a.$formatters.push(function(b){return a.$isEmpty(b)?b:b.toString()})}function ed(a,b,c,d,e,f){fd(a,b,c,d,e,f),dd(d)}function fd(a,b,c,d,e,f){var g=wd(b[0].type);if(!e.android){var h=!1;b.on("compositionstart",function(a){h=!0}),b.on("compositionend",function(){h=!1,i()})}var i=function(a){if(j&&(f.defer.cancel(j),j=null),!h){var e=b.val(),i=a&&a.type;"password"===g||c.ngTrim&&"false"===c.ngTrim||(e=Qd(e)),(d.$viewValue!==e||""===e&&d.$$hasNativeValidators)&&d.$setViewValue(e,i)}};if(e.hasEvent("input"))b.on("input",i);else{var j,k=function(a,b,c){j||(j=f.defer(function(){j=null,b&&b.value===c||i(a)}))};b.on("keydown",function(a){var b=a.keyCode;91===b||b>15&&19>b||b>=37&&40>=b||k(a,this,this.value)}),e.hasEvent("paste")&&b.on("paste cut",k)}b.on("change",i),d.$render=function(){var a=d.$isEmpty(d.$viewValue)?"":d.$viewValue;b.val()!==a&&b.val(a)}}function gd(a,b){if(z(a))return a;if(x(a)){Ef.lastIndex=0;var c=Ef.exec(a);if(c){var d=+c[1],e=+c[2],f=0,g=0,h=0,i=0,j=Sc(d),k=7*(e-1);return b&&(f=b.getHours(),g=b.getMinutes(),h=b.getSeconds(),i=b.getMilliseconds()),new Date(d,0,j.getDate()+k,f,g,h,i)}}return NaN}function hd(a,b){return function(c,d){var e,g;if(z(c))return c;if(x(c)){if('"'==c.charAt(0)&&'"'==c.charAt(c.length-1)&&(c=c.substring(1,c.length-1)),yf.test(c))return new Date(c);if(a.lastIndex=0,e=a.exec(c))return e.shift(),g=d?{yyyy:d.getFullYear(),MM:d.getMonth()+1,dd:d.getDate(),HH:d.getHours(),mm:d.getMinutes(),ss:d.getSeconds(),sss:d.getMilliseconds()/1e3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},f(e,function(a,c){c<b.length&&(g[b[c]]=+a)}),new Date(g.yyyy,g.MM-1,g.dd,g.HH,g.mm,g.ss||0,1e3*g.sss||0)}return NaN}}function id(a,b,d,e){return function(f,g,h,i,j,k,l){function m(a){return a&&!(a.getTime&&a.getTime()!==a.getTime())}function n(a){return u(a)&&!z(a)?d(a)||c:a}jd(f,g,h,i),fd(f,g,h,i,j,k);var o,p=i&&i.$options&&i.$options.timezone;if(i.$$parserName=a,i.$parsers.push(function(a){if(i.$isEmpty(a))return null;if(b.test(a)){var e=d(a,o);return p&&(e=Z(e,p)),e}return c}),i.$formatters.push(function(a){if(a&&!z(a))throw gg("datefmt","Expected `{0}` to be a date",a);return m(a)?(o=a,o&&p&&(o=Z(o,p,!0)),l("date")(a,e,p)):(o=null,"")}),u(h.min)||h.ngMin){var q;i.$validators.min=function(a){return!m(a)||t(q)||d(a)>=q},h.$observe("min",function(a){q=n(a),i.$validate()})}if(u(h.max)||h.ngMax){var r;i.$validators.max=function(a){return!m(a)||t(r)||d(a)<=r},h.$observe("max",function(a){r=n(a),i.$validate()})}}}function jd(a,b,d,e){var f=b[0],g=e.$$hasNativeValidators=v(f.validity);g&&e.$parsers.push(function(a){var d=b.prop(vd)||{};return d.badInput&&!d.typeMismatch?c:a})}function kd(a,b,d,e,f,g){if(jd(a,b,d,e),fd(a,b,d,e,f,g),e.$$parserName="number",e.$parsers.push(function(a){return e.$isEmpty(a)?null:Bf.test(a)?parseFloat(a):c}),e.$formatters.push(function(a){if(!e.$isEmpty(a)){if(!y(a))throw gg("numfmt","Expected `{0}` to be a number",a);a=a.toString()}return a}),u(d.min)||d.ngMin){var h;e.$validators.min=function(a){return e.$isEmpty(a)||t(h)||a>=h},d.$observe("min",function(a){u(a)&&!y(a)&&(a=parseFloat(a,10)),h=y(a)&&!isNaN(a)?a:c,e.$validate()})}if(u(d.max)||d.ngMax){var i;e.$validators.max=function(a){return e.$isEmpty(a)||t(i)||i>=a},d.$observe("max",function(a){u(a)&&!y(a)&&(a=parseFloat(a,10)),i=y(a)&&!isNaN(a)?a:c,e.$validate()})}}function ld(a,b,c,d,e,f){fd(a,b,c,d,e,f),dd(d),d.$$parserName="url",d.$validators.url=function(a,b){var c=a||b;return d.$isEmpty(c)||zf.test(c)}}function md(a,b,c,d,e,f){fd(a,b,c,d,e,f),dd(d),d.$$parserName="email",d.$validators.email=function(a,b){var c=a||b;return d.$isEmpty(c)||Af.test(c)}}function nd(a,b,c,d){t(c.name)&&b.attr("name",i());var e=function(a){b[0].checked&&d.$setViewValue(c.value,a&&a.type)};b.on("click",e),d.$render=function(){var a=c.value;b[0].checked=a==d.$viewValue},c.$observe("value",d.$render)}function od(a,b,c,d,e){var f;if(u(d)){if(f=a(d),!f.constant)throw gg("constexpr","Expected constant expression for `{0}`, but saw `{1}`.",c,d);return f(b)}return e}function pd(a,b,c,d,e,f,g,h){var i=od(h,a,"ngTrueValue",c.ngTrueValue,!0),j=od(h,a,"ngFalseValue",c.ngFalseValue,!1),k=function(a){d.$setViewValue(b[0].checked,a&&a.type)};b.on("click",k),d.$render=function(){b[0].checked=d.$viewValue},d.$isEmpty=function(a){return a===!1},d.$formatters.push(function(a){return Q(a,i)}),d.$parsers.push(function(a){return a?i:j})}function qd(a,b){return a="ngClass"+a,["$animate",function(c){function d(a,b){var c=[];a:for(var d=0;d<a.length;d++){for(var e=a[d],f=0;f<b.length;f++)if(e==b[f])continue a;c.push(e)}return c}function e(a){var b=[];return Od(a)?(f(a,function(a){b=b.concat(e(a))}),b):x(a)?a.split(" "):v(a)?(f(a,function(a,c){a&&(b=b.concat(c.split(" ")))}),b):a}return{restrict:"AC",link:function(g,h,i){function j(a){var b=l(a,1);i.$addClass(b)}function k(a){var b=l(a,-1);i.$removeClass(b)}function l(a,b){var c=h.data("$classCounts")||qa(),d=[];return f(a,function(a){(b>0||c[a])&&(c[a]=(c[a]||0)+b,c[a]===+(b>0)&&d.push(a))}),h.data("$classCounts",c),d.join(" ")}function m(a,b){var e=d(b,a),f=d(a,b);e=l(e,1),f=l(f,-1),e&&e.length&&c.addClass(h,e),f&&f.length&&c.removeClass(h,f)}function n(a){if(b===!0||g.$index%2===b){var c=e(a||[]);if(o){if(!Q(a,o)){var d=e(o);m(d,c)}}else j(c)}o=P(a)}var o;g.$watch(i[a],n,!0),i.$observe("class",function(b){n(g.$eval(i[a]))}),"ngClass"!==a&&g.$watch("$index",function(c,d){var f=1&c;if(f!==(1&d)){var h=e(g.$eval(i[a]));f===b?j(h):k(h)}})}}}]}function rd(a){function b(a,b,i){t(b)?d("$pending",a,i):e("$pending",a,i),H(b)?b?(l(h.$error,a,i),k(h.$$success,a,i)):(k(h.$error,a,i),l(h.$$success,a,i)):(l(h.$error,a,i),l(h.$$success,a,i)),h.$pending?(f(fg,!0),h.$valid=h.$invalid=c,g("",null)):(f(fg,!1),h.$valid=sd(h.$error),h.$invalid=!h.$valid,g("",h.$valid));var j;j=h.$pending&&h.$pending[a]?c:h.$error[a]?!1:h.$$success[a]?!0:null,g(a,j),h.$$parentForm.$setValidity(a,j,h)}function d(a,b,c){h[a]||(h[a]={}),k(h[a],b,c)}function e(a,b,d){h[a]&&l(h[a],b,d),sd(h[a])&&(h[a]=c)}function f(a,b){b&&!j[a]?(m.addClass(i,a),j[a]=!0):!b&&j[a]&&(m.removeClass(i,a),j[a]=!1)}function g(a,b){a=a?"-"+ja(a,"-"):"",f(_f+a,b===!0),f(ag+a,b===!1)}var h=a.ctrl,i=a.$element,j={},k=a.set,l=a.unset,m=a.$animate;j[ag]=!(j[_f]=i.hasClass(_f)),h.$setValidity=b}function sd(a){if(a)for(var b in a)if(a.hasOwnProperty(b))return!1;return!0}function td(a){a[0].hasAttribute("selected")&&(a[0].selected=!0)}var ud=/^\/(.+)\/([a-z]*)$/,vd="validity",wd=function(a){return x(a)?a.toLowerCase():a},xd=Object.prototype.hasOwnProperty,yd=function(a){return x(a)?a.toUpperCase():a},zd=function(a){return x(a)?a.replace(/[A-Z]/g,function(a){return String.fromCharCode(32|a.charCodeAt(0))}):a},Ad=function(a){return x(a)?a.replace(/[a-z]/g,function(a){return String.fromCharCode(-33&a.charCodeAt(0))}):a};"i"!=="I".toLowerCase()&&(wd=zd,yd=Ad);var Bd,Cd,Dd,Ed,Fd=[].slice,Gd=[].splice,Hd=[].push,Id=Object.prototype.toString,Jd=Object.getPrototypeOf,Kd=d("ng"),Ld=a.angular||(a.angular={}),Md=0;Bd=b.documentMode,p.$inject=[],q.$inject=[];var Nd,Od=Array.isArray,Pd=/^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array\]$/,Qd=function(a){return x(a)?a.trim():a},Rd=function(a){return a.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")},Sd=function(){function a(){try{return new Function(""),!1}catch(a){return!0}}if(!u(Sd.rules)){var c=b.querySelector("[ng-csp]")||b.querySelector("[data-ng-csp]");if(c){var d=c.getAttribute("ng-csp")||c.getAttribute("data-ng-csp");Sd.rules={noUnsafeEval:!d||-1!==d.indexOf("no-unsafe-eval"),noInlineStyle:!d||-1!==d.indexOf("no-inline-style")}}else Sd.rules={noUnsafeEval:a(),noInlineStyle:!1}}return Sd.rules},Td=function(){if(u(Td.name_))return Td.name_;var a,c,d,e,f=Ud.length;for(c=0;f>c;++c)if(d=Ud[c],a=b.querySelector("["+d.replace(":","\\:")+"jq]")){e=a.getAttribute(d+"jq");break}return Td.name_=e},Ud=["ng-","data-ng-","ng:","x-ng-"],Vd=/[A-Z]/g,Wd=!1,Xd=1,Yd=2,Zd=3,$d=8,_d=9,ae=11,be={full:"1.4.8",major:1,minor:4,dot:8,codeName:"ice-manipulation"};Ca.expando="ng339";var ce=Ca.cache={},de=1,ee=function(a,b,c){a.addEventListener(b,c,!1)},fe=function(a,b,c){a.removeEventListener(b,c,!1)};Ca._data=function(a){return this.cache[a[this.expando]]||{}};var ge=/([\:\-\_]+(.))/g,he=/^moz([A-Z])/,ie={mouseleave:"mouseout",mouseenter:"mouseover"},je=d("jqLite"),ke=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,le=/<|&#?\w+;/,me=/<([\w:-]+)/,ne=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,oe={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,"",""]};oe.optgroup=oe.option,oe.tbody=oe.tfoot=oe.colgroup=oe.caption=oe.thead,oe.th=oe.td;var pe=Node.prototype.contains||function(a){return!!(16&this.compareDocumentPosition(a))},qe=Ca.prototype={ready:function(c){function d(){e||(e=!0,c())}var e=!1;"complete"===b.readyState?setTimeout(d):(this.on("DOMContentLoaded",d),Ca(a).on("load",d))},toString:function(){var a=[];return f(this,function(b){a.push(""+b)}),"["+a.join(", ")+"]"},eq:function(a){return Cd(a>=0?this[a]:this[this.length+a])},length:0,push:Hd,sort:[].sort,splice:[].splice},re={};f("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(a){re[wd(a)]=a});var se={};f("input,select,option,textarea,button,form,details".split(","),function(a){se[a]=!0});var te={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern"};f({data:Ia,removeData:Ga,hasData:za},function(a,b){Ca[b]=a}),f({data:Ia,inheritedData:Oa,scope:function(a){return Cd.data(a,"$scope")||Oa(a.parentNode||a,["$isolateScope","$scope"])},isolateScope:function(a){return Cd.data(a,"$isolateScope")||Cd.data(a,"$isolateScopeNoTemplate")},controller:Na,injector:function(a){return Oa(a,"$injector")},removeAttr:function(a,b){a.removeAttribute(b)},hasClass:Ja,css:function(a,b,c){return b=wa(b),u(c)?void(a.style[b]=c):a.style[b]},attr:function(a,b,d){var e=a.nodeType;if(e!==Zd&&e!==Yd&&e!==$d){var f=wd(b);if(re[f]){if(!u(d))return a[b]||(a.attributes.getNamedItem(b)||p).specified?f:c;d?(a[b]=!0,a.setAttribute(b,f)):(a[b]=!1,a.removeAttribute(f))}else if(u(d))a.setAttribute(b,d);else if(a.getAttribute){var g=a.getAttribute(b,2);return null===g?c:g}}},prop:function(a,b,c){return u(c)?void(a[b]=c):a[b]},text:function(){function a(a,b){if(t(b)){var c=a.nodeType;return c===Xd||c===Zd?a.textContent:""}a.textContent=b}return a.$dv="",a}(),val:function(a,b){if(t(b)){if(a.multiple&&"select"===M(a)){var c=[];return f(a.options,function(a){a.selected&&c.push(a.value||a.text)}),0===c.length?null:c}return a.value}a.value=b},html:function(a,b){return t(b)?a.innerHTML:(Ea(a,!0),void(a.innerHTML=b))},empty:Pa},function(a,b){Ca.prototype[b]=function(b,c){var d,e,f=this.length;if(a!==Pa&&t(2==a.length&&a!==Ja&&a!==Na?b:c)){if(v(b)){for(d=0;f>d;d++)if(a===Ia)a(this[d],b);else for(e in b)a(this[d],e,b[e]);return this}for(var g=a.$dv,h=t(g)?Math.min(f,1):f,i=0;h>i;i++){var j=a(this[i],b,c);g=g?g+j:j}return g}for(d=0;f>d;d++)a(this[d],b,c);return this}}),f({removeData:Ga,on:function(a,b,d,e){if(u(e))throw je("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");if(ya(a)){var f=Ha(a,!0),g=f.events,h=f.handle;h||(h=f.handle=Ua(a,g));for(var i=b.indexOf(" ")>=0?b.split(" "):[b],j=i.length,k=function(b,c,e){var f=g[b];f||(f=g[b]=[],f.specialHandlerWrapper=c,"$destroy"===b||e||ee(a,b,h)),f.push(d)};j--;)b=i[j],ie[b]?(k(ie[b],Wa),k(b,c,!0)):k(b)}},off:Fa,one:function(a,b,c){a=Cd(a),a.on(b,function d(){a.off(b,c),a.off(b,d)}),a.on(b,c)},replaceWith:function(a,b){var c,d=a.parentNode;Ea(a),f(new Ca(b),function(b){c?d.insertBefore(b,c.nextSibling):d.replaceChild(b,a),c=b})},children:function(a){var b=[];return f(a.childNodes,function(a){a.nodeType===Xd&&b.push(a)}),b},contents:function(a){return a.contentDocument||a.childNodes||[]},append:function(a,b){var c=a.nodeType;if(c===Xd||c===ae){b=new Ca(b);for(var d=0,e=b.length;e>d;d++){var f=b[d];a.appendChild(f)}}},prepend:function(a,b){if(a.nodeType===Xd){var c=a.firstChild;f(new Ca(b),function(b){a.insertBefore(b,c)})}},wrap:function(a,b){b=Cd(b).eq(0).clone()[0];var c=a.parentNode;c&&c.replaceChild(b,a),b.appendChild(a)},remove:Qa,detach:function(a){Qa(a,!0)},after:function(a,b){var c=a,d=a.parentNode;b=new Ca(b);for(var e=0,f=b.length;f>e;e++){var g=b[e];d.insertBefore(g,c.nextSibling),c=g}},addClass:La,removeClass:Ka,toggleClass:function(a,b,c){b&&f(b.split(" "),function(b){var d=c;t(d)&&(d=!Ja(a,b)),(d?La:Ka)(a,b)})},parent:function(a){var b=a.parentNode;return b&&b.nodeType!==ae?b:null},next:function(a){return a.nextElementSibling},find:function(a,b){return a.getElementsByTagName?a.getElementsByTagName(b):[]},clone:Da,triggerHandler:function(a,b,c){var d,e,g,h=b.type||b,i=Ha(a),j=i&&i.events,k=j&&j[h];k&&(d={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return this.defaultPrevented===!0},stopImmediatePropagation:function(){this.immediatePropagationStopped=!0},isImmediatePropagationStopped:function(){return this.immediatePropagationStopped===!0},stopPropagation:p,type:h,target:a},b.type&&(d=l(d,b)),e=P(k),g=c?[d].concat(c):[d],f(e,function(b){d.isImmediatePropagationStopped()||b.apply(a,g)}))}},function(a,b){Ca.prototype[b]=function(b,c,d){for(var e,f=0,g=this.length;g>f;f++)t(e)?(e=a(this[f],b,c,d),u(e)&&(e=Cd(e))):Ma(e,a(this[f],b,c,d));return u(e)?e:this},Ca.prototype.bind=Ca.prototype.on,Ca.prototype.unbind=Ca.prototype.off}),Za.prototype={put:function(a,b){this[Ya(a,this.nextUid)]=b},get:function(a){return this[Ya(a,this.nextUid)]},remove:function(a){var b=this[a=Ya(a,this.nextUid)];return delete this[a],b}};var ue=[function(){this.$get=[function(){return Za}]}],ve=/^[^\(]*\(\s*([^\)]*)\)/m,we=/,/,xe=/^\s*(_?)(\S+?)\1\s*$/,ye=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,ze=d("$injector");ab.$$annotate=_a;var Ae=d("$animate"),Be=1,Ce="ng-animate",De=function(){this.$get=["$q","$$rAF",function(a,b){function c(){}return c.all=p,c.chain=p,c.prototype={end:p,cancel:p,resume:p,pause:p,complete:p,then:function(c,d){return a(function(a){b(function(){a()})}).then(c,d)}},c}]},Ee=function(){var a=new Za,b=[];this.$get=["$$AnimateRunner","$rootScope",function(c,d){function e(a,b,c){var d=!1;return b&&(b=x(b)?b.split(" "):Od(b)?b:[],f(b,function(b){b&&(d=!0,a[b]=c)})),d}function g(){f(b,function(b){var c=a.get(b);if(c){var d=eb(b.attr("class")),e="",g="";f(c,function(a,b){var c=!!d[b];a!==c&&(a?e+=(e.length?" ":"")+b:g+=(g.length?" ":"")+b)}),f(b,function(a){e&&La(a,e),g&&Ka(a,g)}),a.remove(b)}}),b.length=0}function h(c,f,h){var i=a.get(c)||{},j=e(i,f,!0),k=e(i,h,!1);(j||k)&&(a.put(c,i),b.push(c),1===b.length&&d.$$postDigest(g))}return{enabled:p,on:p,off:p,pin:p,push:function(a,b,d,e){return e&&e(),d=d||{},d.from&&a.css(d.from),d.to&&a.css(d.to),(d.addClass||d.removeClass)&&h(a,d.addClass,d.removeClass),new c}}}]},Fe=["$provide",function(a){var b=this;this.$$registeredAnimations=Object.create(null),this.register=function(c,d){if(c&&"."!==c.charAt(0))throw Ae("notcsel","Expecting class selector starting with '.' got '{0}'.",c);var e=c+"-animation";b.$$registeredAnimations[c.substr(1)]=e,a.factory(e,d)},this.classNameFilter=function(a){if(1===arguments.length&&(this.$$classNameFilter=a instanceof RegExp?a:null,this.$$classNameFilter)){var b=new RegExp("(\\s+|\\/)"+Ce+"(\\s+|\\/)");if(b.test(this.$$classNameFilter.toString()))throw Ae("nongcls",'$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the "{0}" CSS class.',Ce)}return this.$$classNameFilter},this.$get=["$$animateQueue",function(a){function b(a,b,c){if(c){var d=db(c);!d||d.parentNode||d.previousElementSibling||(c=null)}c?c.after(a):b.prepend(a)}return{on:a.on,off:a.off,pin:a.pin,enabled:a.enabled,cancel:function(a){a.end&&a.end()},enter:function(c,d,e,f){return d=d&&Cd(d),e=e&&Cd(e),d=d||e.parent(),b(c,d,e),a.push(c,"enter",fb(f))},move:function(c,d,e,f){return d=d&&Cd(d),e=e&&Cd(e),d=d||e.parent(),b(c,d,e),a.push(c,"move",fb(f))},leave:function(b,c){return a.push(b,"leave",fb(c),function(){b.remove()})},addClass:function(b,c,d){return d=fb(d),d.addClass=cb(d.addclass,c),a.push(b,"addClass",d)},removeClass:function(b,c,d){return d=fb(d),d.removeClass=cb(d.removeClass,c),a.push(b,"removeClass",d)},setClass:function(b,c,d,e){return e=fb(e),e.addClass=cb(e.addClass,c),e.removeClass=cb(e.removeClass,d),a.push(b,"setClass",e)},animate:function(b,c,d,e,f){return f=fb(f),f.from=f.from?l(f.from,c):c,f.to=f.to?l(f.to,d):d,e=e||"ng-inline-animate",f.tempClasses=cb(f.tempClasses,e),a.push(b,"animate",f)}}}]}],Ge=function(){this.$get=["$$rAF","$q",function(a,b){var c=function(){};return c.prototype={done:function(a){this.defer&&this.defer[a===!0?"reject":"resolve"]()},end:function(){this.done()},cancel:function(){this.done(!0)},getPromise:function(){return this.defer||(this.defer=b.defer()),this.defer.promise},then:function(a,b){return this.getPromise().then(a,b)},"catch":function(a){return this.getPromise()["catch"](a)},"finally":function(a){return this.getPromise()["finally"](a)}},function(b,d){function e(){return a(function(){f(),g||h.done(),g=!0}),h}function f(){d.addClass&&(b.addClass(d.addClass),d.addClass=null),d.removeClass&&(b.removeClass(d.removeClass),d.removeClass=null),d.to&&(b.css(d.to),d.to=null)}d.cleanupStyles&&(d.from=d.to=null),d.from&&(b.css(d.from),d.from=null);var g,h=new c;return{start:e,end:e}}}]},He=d("$compile");kb.$inject=["$provide","$$sanitizeUriProvider"];var Ie=/^((?:x|data)[\:\-_])/i,Je=d("$controller"),Ke=/^(\S+)(\s+as\s+(\w+))?$/,Le=function(){this.$get=["$document",function(a){return function(b){return b?!b.nodeType&&b instanceof Cd&&(b=b[0]):b=a[0].body,b.offsetWidth+1}}]},Me="application/json",Ne={"Content-Type":Me+";charset=utf-8"},Oe=/^\[|^\{(?!\{)/,Pe={"[":/]$/,"{":/}$/},Qe=/^\)\]\}',?\n/,Re=d("$http"),Se=function(a){return function(){throw Re("legacy","The method `{0}` on the promise returned from `$http` has been disabled.",a)}},Te=Ld.$interpolateMinErr=d("$interpolate");Te.throwNoconcat=function(a){throw Te("noconcat","Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required.  See http://docs.angularjs.org/api/ng.$sce",a)},Te.interr=function(a,b){return Te("interr","Can't interpolate: {0}\n{1}",a,b.toString())};var Ue=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,Ve={http:80,https:443,ftp:21},We=d("$location"),Xe={$$html5:!1,$$replace:!1,absUrl:Sb("$$absUrl"),url:function(a){if(t(a))return this.$$url;var b=Ue.exec(a);return(b[1]||""===a)&&this.path(decodeURIComponent(b[1])),(b[2]||b[1]||""===a)&&this.search(b[3]||""),this.hash(b[5]||""),this},protocol:Sb("$$protocol"),host:Sb("$$host"),port:Sb("$$port"),path:Tb("$$path",function(a){return a=null!==a?a.toString():"","/"==a.charAt(0)?a:"/"+a}),search:function(a,b){switch(arguments.length){case 0:return this.$$search;case 1:if(x(a)||y(a))a=a.toString(),this.$$search=aa(a);else{if(!v(a))throw We("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");a=O(a,{}),f(a,function(b,c){null==b&&delete a[c]}),this.$$search=a}break;default:t(b)||null===b?delete this.$$search[a]:this.$$search[a]=b}return this.$$compose(),this},hash:Tb("$$hash",function(a){return null!==a?a.toString():""}),replace:function(){return this.$$replace=!0,this}};f([Rb,Qb,Pb],function(a){a.prototype=Object.create(Xe),a.prototype.state=function(b){if(!arguments.length)return this.$$state;if(a!==Pb||!this.$$html5)throw We("nostate","History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API");return this.$$state=t(b)?null:b,
-this}});var Ye=d("$parse"),Ze=Function.prototype.call,$e=Function.prototype.apply,_e=Function.prototype.bind,af=qa();f("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),function(a){af[a]=!0});var bf={n:"\n",f:"\f",r:"\r",t:"      ",v:"\x0B","'":"'",'"':'"'},cf=function(a){this.options=a};cf.prototype={constructor:cf,lex:function(a){for(this.text=a,this.index=0,this.tokens=[];this.index<this.text.length;){var b=this.text.charAt(this.index);if('"'===b||"'"===b)this.readString(b);else if(this.isNumber(b)||"."===b&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdent(b))this.readIdent();else if(this.is(b,"(){}[].,;:?"))this.tokens.push({index:this.index,text:b}),this.index++;else if(this.isWhitespace(b))this.index++;else{var c=b+this.peek(),d=c+this.peek(2),e=af[b],f=af[c],g=af[d];if(e||f||g){var h=g?d:f?c:b;this.tokens.push({index:this.index,text:h,operator:!0}),this.index+=h.length}else this.throwError("Unexpected next character ",this.index,this.index+1)}}return this.tokens},is:function(a,b){return-1!==b.indexOf(a)},peek:function(a){var b=a||1;return this.index+b<this.text.length?this.text.charAt(this.index+b):!1},isNumber:function(a){return a>="0"&&"9">=a&&"string"==typeof a},isWhitespace:function(a){return" "===a||"\r"===a||"   "===a||"\n"===a||"\x0B"===a||" "===a},isIdent:function(a){return a>="a"&&"z">=a||a>="A"&&"Z">=a||"_"===a||"$"===a},isExpOperator:function(a){return"-"===a||"+"===a||this.isNumber(a)},throwError:function(a,b,c){c=c||this.index;var d=u(b)?"s "+b+"-"+this.index+" ["+this.text.substring(b,c)+"]":" "+c;throw Ye("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",a,d,this.text)},readNumber:function(){for(var a="",b=this.index;this.index<this.text.length;){var c=wd(this.text.charAt(this.index));if("."==c||this.isNumber(c))a+=c;else{var d=this.peek();if("e"==c&&this.isExpOperator(d))a+=c;else if(this.isExpOperator(c)&&d&&this.isNumber(d)&&"e"==a.charAt(a.length-1))a+=c;else{if(!this.isExpOperator(c)||d&&this.isNumber(d)||"e"!=a.charAt(a.length-1))break;this.throwError("Invalid exponent")}}this.index++}this.tokens.push({index:b,text:a,constant:!0,value:Number(a)})},readIdent:function(){for(var a=this.index;this.index<this.text.length;){var b=this.text.charAt(this.index);if(!this.isIdent(b)&&!this.isNumber(b))break;this.index++}this.tokens.push({index:a,text:this.text.slice(a,this.index),identifier:!0})},readString:function(a){var b=this.index;this.index++;for(var c="",d=a,e=!1;this.index<this.text.length;){var f=this.text.charAt(this.index);if(d+=f,e){if("u"===f){var g=this.text.substring(this.index+1,this.index+5);g.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+g+"]"),this.index+=4,c+=String.fromCharCode(parseInt(g,16))}else{var h=bf[f];c+=h||f}e=!1}else if("\\"===f)e=!0;else{if(f===a)return this.index++,void this.tokens.push({index:b,text:d,constant:!0,value:c});c+=f}this.index++}this.throwError("Unterminated quote",b)}};var df=function(a,b){this.lexer=a,this.options=b};df.Program="Program",df.ExpressionStatement="ExpressionStatement",df.AssignmentExpression="AssignmentExpression",df.ConditionalExpression="ConditionalExpression",df.LogicalExpression="LogicalExpression",df.BinaryExpression="BinaryExpression",df.UnaryExpression="UnaryExpression",df.CallExpression="CallExpression",df.MemberExpression="MemberExpression",df.Identifier="Identifier",df.Literal="Literal",df.ArrayExpression="ArrayExpression",df.Property="Property",df.ObjectExpression="ObjectExpression",df.ThisExpression="ThisExpression",df.NGValueParameter="NGValueParameter",df.prototype={ast:function(a){this.text=a,this.tokens=this.lexer.lex(a);var b=this.program();return 0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]),b},program:function(){for(var a=[];;)if(this.tokens.length>0&&!this.peek("}",")",";","]")&&a.push(this.expressionStatement()),!this.expect(";"))return{type:df.Program,body:a}},expressionStatement:function(){return{type:df.ExpressionStatement,expression:this.filterChain()}},filterChain:function(){for(var a,b=this.expression();a=this.expect("|");)b=this.filter(b);return b},expression:function(){return this.assignment()},assignment:function(){var a=this.ternary();return this.expect("=")&&(a={type:df.AssignmentExpression,left:a,right:this.assignment(),operator:"="}),a},ternary:function(){var a,b,c=this.logicalOR();return this.expect("?")&&(a=this.expression(),this.consume(":"))?(b=this.expression(),{type:df.ConditionalExpression,test:c,alternate:a,consequent:b}):c},logicalOR:function(){for(var a=this.logicalAND();this.expect("||");)a={type:df.LogicalExpression,operator:"||",left:a,right:this.logicalAND()};return a},logicalAND:function(){for(var a=this.equality();this.expect("&&");)a={type:df.LogicalExpression,operator:"&&",left:a,right:this.equality()};return a},equality:function(){for(var a,b=this.relational();a=this.expect("==","!=","===","!==");)b={type:df.BinaryExpression,operator:a.text,left:b,right:this.relational()};return b},relational:function(){for(var a,b=this.additive();a=this.expect("<",">","<=",">=");)b={type:df.BinaryExpression,operator:a.text,left:b,right:this.additive()};return b},additive:function(){for(var a,b=this.multiplicative();a=this.expect("+","-");)b={type:df.BinaryExpression,operator:a.text,left:b,right:this.multiplicative()};return b},multiplicative:function(){for(var a,b=this.unary();a=this.expect("*","/","%");)b={type:df.BinaryExpression,operator:a.text,left:b,right:this.unary()};return b},unary:function(){var a;return(a=this.expect("+","-","!"))?{type:df.UnaryExpression,operator:a.text,prefix:!0,argument:this.unary()}:this.primary()},primary:function(){var a;this.expect("(")?(a=this.filterChain(),this.consume(")")):this.expect("[")?a=this.arrayDeclaration():this.expect("{")?a=this.object():this.constants.hasOwnProperty(this.peek().text)?a=O(this.constants[this.consume().text]):this.peek().identifier?a=this.identifier():this.peek().constant?a=this.constant():this.throwError("not a primary expression",this.peek());for(var b;b=this.expect("(","[",".");)"("===b.text?(a={type:df.CallExpression,callee:a,arguments:this.parseArguments()},this.consume(")")):"["===b.text?(a={type:df.MemberExpression,object:a,property:this.expression(),computed:!0},this.consume("]")):"."===b.text?a={type:df.MemberExpression,object:a,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return a},filter:function(a){for(var b=[a],c={type:df.CallExpression,callee:this.identifier(),arguments:b,filter:!0};this.expect(":");)b.push(this.expression());return c},parseArguments:function(){var a=[];if(")"!==this.peekToken().text)do a.push(this.expression());while(this.expect(","));return a},identifier:function(){var a=this.consume();return a.identifier||this.throwError("is not a valid identifier",a),{type:df.Identifier,name:a.text}},constant:function(){return{type:df.Literal,value:this.consume().value}},arrayDeclaration:function(){var a=[];if("]"!==this.peekToken().text)do{if(this.peek("]"))break;a.push(this.expression())}while(this.expect(","));return this.consume("]"),{type:df.ArrayExpression,elements:a}},object:function(){var a,b=[];if("}"!==this.peekToken().text)do{if(this.peek("}"))break;a={type:df.Property,kind:"init"},this.peek().constant?a.key=this.constant():this.peek().identifier?a.key=this.identifier():this.throwError("invalid key",this.peek()),this.consume(":"),a.value=this.expression(),b.push(a)}while(this.expect(","));return this.consume("}"),{type:df.ObjectExpression,properties:b}},throwError:function(a,b){throw Ye("syntax","Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",b.text,a,b.index+1,this.text,this.text.substring(b.index))},consume:function(a){if(0===this.tokens.length)throw Ye("ueoe","Unexpected end of expression: {0}",this.text);var b=this.expect(a);return b||this.throwError("is unexpected, expecting ["+a+"]",this.peek()),b},peekToken:function(){if(0===this.tokens.length)throw Ye("ueoe","Unexpected end of expression: {0}",this.text);return this.tokens[0]},peek:function(a,b,c,d){return this.peekAhead(0,a,b,c,d)},peekAhead:function(a,b,c,d,e){if(this.tokens.length>a){var f=this.tokens[a],g=f.text;if(g===b||g===c||g===d||g===e||!b&&!c&&!d&&!e)return f}return!1},expect:function(a,b,c,d){var e=this.peek(a,b,c,d);return e?(this.tokens.shift(),e):!1},constants:{"true":{type:df.Literal,value:!0},"false":{type:df.Literal,value:!1},"null":{type:df.Literal,value:null},undefined:{type:df.Literal,value:c},"this":{type:df.ThisExpression}}},ic.prototype={compile:function(a,b){var d=this,e=this.astBuilder.ast(a);this.state={nextId:0,filters:{},expensiveChecks:b,fn:{vars:[],body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]},cc(e,d.$filter);var g,h="";if(this.stage="assign",g=fc(e)){this.state.computing="assign";var i=this.nextId();this.recurse(g,i),this.return_(i),h="fn.assign="+this.generateFunction("assign","s,v,l")}var j=dc(e.body);d.stage="inputs",f(j,function(a,b){var c="fn"+b;d.state[c]={vars:[],body:[],own:{}},d.state.computing=c;var e=d.nextId();d.recurse(a,e),d.return_(e),d.state.inputs.push(c),a.watchId=b}),this.state.computing="fn",this.stage="main",this.recurse(e);var k='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+h+this.watchFns()+"return fn;",l=new Function("$filter","ensureSafeMemberName","ensureSafeObject","ensureSafeFunction","getStringValue","ensureSafeAssignContext","ifDefined","plus","text",k)(this.$filter,Wb,Yb,Zb,Xb,$b,_b,ac,a);return this.state=this.stage=c,l.literal=gc(e),l.constant=hc(e),l},USE:"use",STRICT:"strict",watchFns:function(){var a=[],b=this.state.inputs,c=this;return f(b,function(b){a.push("var "+b+"="+c.generateFunction(b,"s"))}),b.length&&a.push("fn.inputs=["+b.join(",")+"];"),a.join("")},generateFunction:function(a,b){return"function("+b+"){"+this.varsPrefix(a)+this.body(a)+"};"},filterPrefix:function(){var a=[],b=this;return f(this.state.filters,function(c,d){a.push(c+"=$filter("+b.escape(d)+")")}),a.length?"var "+a.join(",")+";":""},varsPrefix:function(a){return this.state[a].vars.length?"var "+this.state[a].vars.join(",")+";":""},body:function(a){return this.state[a].body.join("")},recurse:function(a,b,d,e,g,h){var i,j,k,l,m=this;if(e=e||p,!h&&u(a.watchId))return b=b||this.nextId(),void this.if_("i",this.lazyAssign(b,this.computedMember("i",a.watchId)),this.lazyRecurse(a,b,d,e,g,!0));switch(a.type){case df.Program:f(a.body,function(b,d){m.recurse(b.expression,c,c,function(a){j=a}),d!==a.body.length-1?m.current().body.push(j,";"):m.return_(j)});break;case df.Literal:l=this.escape(a.value),this.assign(b,l),e(l);break;case df.UnaryExpression:this.recurse(a.argument,c,c,function(a){j=a}),l=a.operator+"("+this.ifDefined(j,0)+")",this.assign(b,l),e(l);break;case df.BinaryExpression:this.recurse(a.left,c,c,function(a){i=a}),this.recurse(a.right,c,c,function(a){j=a}),l="+"===a.operator?this.plus(i,j):"-"===a.operator?this.ifDefined(i,0)+a.operator+this.ifDefined(j,0):"("+i+")"+a.operator+"("+j+")",this.assign(b,l),e(l);break;case df.LogicalExpression:b=b||this.nextId(),m.recurse(a.left,b),m.if_("&&"===a.operator?b:m.not(b),m.lazyRecurse(a.right,b)),e(b);break;case df.ConditionalExpression:b=b||this.nextId(),m.recurse(a.test,b),m.if_(b,m.lazyRecurse(a.alternate,b),m.lazyRecurse(a.consequent,b)),e(b);break;case df.Identifier:b=b||this.nextId(),d&&(d.context="inputs"===m.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",a.name)+"?l:s"),d.computed=!1,d.name=a.name),Wb(a.name),m.if_("inputs"===m.stage||m.not(m.getHasOwnProperty("l",a.name)),function(){m.if_("inputs"===m.stage||"s",function(){g&&1!==g&&m.if_(m.not(m.nonComputedMember("s",a.name)),m.lazyAssign(m.nonComputedMember("s",a.name),"{}")),m.assign(b,m.nonComputedMember("s",a.name))})},b&&m.lazyAssign(b,m.nonComputedMember("l",a.name))),(m.state.expensiveChecks||kc(a.name))&&m.addEnsureSafeObject(b),e(b);break;case df.MemberExpression:i=d&&(d.context=this.nextId())||this.nextId(),b=b||this.nextId(),m.recurse(a.object,i,c,function(){m.if_(m.notNull(i),function(){a.computed?(j=m.nextId(),m.recurse(a.property,j),m.getStringValue(j),m.addEnsureSafeMemberName(j),g&&1!==g&&m.if_(m.not(m.computedMember(i,j)),m.lazyAssign(m.computedMember(i,j),"{}")),l=m.ensureSafeObject(m.computedMember(i,j)),m.assign(b,l),d&&(d.computed=!0,d.name=j)):(Wb(a.property.name),g&&1!==g&&m.if_(m.not(m.nonComputedMember(i,a.property.name)),m.lazyAssign(m.nonComputedMember(i,a.property.name),"{}")),l=m.nonComputedMember(i,a.property.name),(m.state.expensiveChecks||kc(a.property.name))&&(l=m.ensureSafeObject(l)),m.assign(b,l),d&&(d.computed=!1,d.name=a.property.name))},function(){m.assign(b,"undefined")}),e(b)},!!g);break;case df.CallExpression:b=b||this.nextId(),a.filter?(j=m.filter(a.callee.name),k=[],f(a.arguments,function(a){var b=m.nextId();m.recurse(a,b),k.push(b)}),l=j+"("+k.join(",")+")",m.assign(b,l),e(b)):(j=m.nextId(),i={},k=[],m.recurse(a.callee,j,i,function(){m.if_(m.notNull(j),function(){m.addEnsureSafeFunction(j),f(a.arguments,function(a){m.recurse(a,m.nextId(),c,function(a){k.push(m.ensureSafeObject(a))})}),i.name?(m.state.expensiveChecks||m.addEnsureSafeObject(i.context),l=m.member(i.context,i.name,i.computed)+"("+k.join(",")+")"):l=j+"("+k.join(",")+")",l=m.ensureSafeObject(l),m.assign(b,l)},function(){m.assign(b,"undefined")}),e(b)}));break;case df.AssignmentExpression:if(j=this.nextId(),i={},!ec(a.left))throw Ye("lval","Trying to assing a value to a non l-value");this.recurse(a.left,c,i,function(){m.if_(m.notNull(i.context),function(){m.recurse(a.right,j),m.addEnsureSafeObject(m.member(i.context,i.name,i.computed)),m.addEnsureSafeAssignContext(i.context),l=m.member(i.context,i.name,i.computed)+a.operator+j,m.assign(b,l),e(b||l)})},1);break;case df.ArrayExpression:k=[],f(a.elements,function(a){m.recurse(a,m.nextId(),c,function(a){k.push(a)})}),l="["+k.join(",")+"]",this.assign(b,l),e(l);break;case df.ObjectExpression:k=[],f(a.properties,function(a){m.recurse(a.value,m.nextId(),c,function(b){k.push(m.escape(a.key.type===df.Identifier?a.key.name:""+a.key.value)+":"+b)})}),l="{"+k.join(",")+"}",this.assign(b,l),e(l);break;case df.ThisExpression:this.assign(b,"s"),e("s");break;case df.NGValueParameter:this.assign(b,"v"),e("v")}},getHasOwnProperty:function(a,b){var c=a+"."+b,d=this.current().own;return d.hasOwnProperty(c)||(d[c]=this.nextId(!1,a+"&&("+this.escape(b)+" in "+a+")")),d[c]},assign:function(a,b){return a?(this.current().body.push(a,"=",b,";"),a):void 0},filter:function(a){return this.state.filters.hasOwnProperty(a)||(this.state.filters[a]=this.nextId(!0)),this.state.filters[a]},ifDefined:function(a,b){return"ifDefined("+a+","+this.escape(b)+")"},plus:function(a,b){return"plus("+a+","+b+")"},return_:function(a){this.current().body.push("return ",a,";")},if_:function(a,b,c){if(a===!0)b();else{var d=this.current().body;d.push("if(",a,"){"),b(),d.push("}"),c&&(d.push("else{"),c(),d.push("}"))}},not:function(a){return"!("+a+")"},notNull:function(a){return a+"!=null"},nonComputedMember:function(a,b){return a+"."+b},computedMember:function(a,b){return a+"["+b+"]"},member:function(a,b,c){return c?this.computedMember(a,b):this.nonComputedMember(a,b)},addEnsureSafeObject:function(a){this.current().body.push(this.ensureSafeObject(a),";")},addEnsureSafeMemberName:function(a){this.current().body.push(this.ensureSafeMemberName(a),";")},addEnsureSafeFunction:function(a){this.current().body.push(this.ensureSafeFunction(a),";")},addEnsureSafeAssignContext:function(a){this.current().body.push(this.ensureSafeAssignContext(a),";")},ensureSafeObject:function(a){return"ensureSafeObject("+a+",text)"},ensureSafeMemberName:function(a){return"ensureSafeMemberName("+a+",text)"},ensureSafeFunction:function(a){return"ensureSafeFunction("+a+",text)"},getStringValue:function(a){this.assign(a,"getStringValue("+a+",text)")},ensureSafeAssignContext:function(a){return"ensureSafeAssignContext("+a+",text)"},lazyRecurse:function(a,b,c,d,e,f){var g=this;return function(){g.recurse(a,b,c,d,e,f)}},lazyAssign:function(a,b){var c=this;return function(){c.assign(a,b)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)},escape:function(a){if(x(a))return"'"+a.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(y(a))return a.toString();if(a===!0)return"true";if(a===!1)return"false";if(null===a)return"null";if("undefined"==typeof a)return"undefined";throw Ye("esc","IMPOSSIBLE")},nextId:function(a,b){var c="v"+this.state.nextId++;return a||this.current().vars.push(c+(b?"="+b:"")),c},current:function(){return this.state[this.state.computing]}},jc.prototype={compile:function(a,b){var c=this,d=this.astBuilder.ast(a);this.expression=a,this.expensiveChecks=b,cc(d,c.$filter);var e,g;(e=fc(d))&&(g=this.recurse(e));var h,i=dc(d.body);i&&(h=[],f(i,function(a,b){var d=c.recurse(a);a.input=d,h.push(d),a.watchId=b}));var j=[];f(d.body,function(a){j.push(c.recurse(a.expression))});var k=0===d.body.length?function(){}:1===d.body.length?j[0]:function(a,b){var c;return f(j,function(d){c=d(a,b)}),c};return g&&(k.assign=function(a,b,c){return g(a,c,b)}),h&&(k.inputs=h),k.literal=gc(d),k.constant=hc(d),k},recurse:function(a,b,d){var e,g,h,i=this;if(a.input)return this.inputs(a.input,a.watchId);switch(a.type){case df.Literal:return this.value(a.value,b);case df.UnaryExpression:return g=this.recurse(a.argument),this["unary"+a.operator](g,b);case df.BinaryExpression:return e=this.recurse(a.left),g=this.recurse(a.right),this["binary"+a.operator](e,g,b);case df.LogicalExpression:return e=this.recurse(a.left),g=this.recurse(a.right),this["binary"+a.operator](e,g,b);case df.ConditionalExpression:return this["ternary?:"](this.recurse(a.test),this.recurse(a.alternate),this.recurse(a.consequent),b);case df.Identifier:return Wb(a.name,i.expression),i.identifier(a.name,i.expensiveChecks||kc(a.name),b,d,i.expression);case df.MemberExpression:return e=this.recurse(a.object,!1,!!d),a.computed||(Wb(a.property.name,i.expression),g=a.property.name),a.computed&&(g=this.recurse(a.property)),a.computed?this.computedMember(e,g,b,d,i.expression):this.nonComputedMember(e,g,i.expensiveChecks,b,d,i.expression);case df.CallExpression:return h=[],f(a.arguments,function(a){h.push(i.recurse(a))}),a.filter&&(g=this.$filter(a.callee.name)),a.filter||(g=this.recurse(a.callee,!0)),a.filter?function(a,d,e,f){for(var i=[],j=0;j<h.length;++j)i.push(h[j](a,d,e,f));var k=g.apply(c,i,f);return b?{context:c,name:c,value:k}:k}:function(a,c,d,e){var f,j=g(a,c,d,e);if(null!=j.value){Yb(j.context,i.expression),Zb(j.value,i.expression);for(var k=[],l=0;l<h.length;++l)k.push(Yb(h[l](a,c,d,e),i.expression));f=Yb(j.value.apply(j.context,k),i.expression)}return b?{value:f}:f};case df.AssignmentExpression:return e=this.recurse(a.left,!0,1),g=this.recurse(a.right),function(a,c,d,f){var h=e(a,c,d,f),j=g(a,c,d,f);return Yb(h.value,i.expression),$b(h.context),h.context[h.name]=j,b?{value:j}:j};case df.ArrayExpression:return h=[],f(a.elements,function(a){h.push(i.recurse(a))}),function(a,c,d,e){for(var f=[],g=0;g<h.length;++g)f.push(h[g](a,c,d,e));return b?{value:f}:f};case df.ObjectExpression:return h=[],f(a.properties,function(a){h.push({key:a.key.type===df.Identifier?a.key.name:""+a.key.value,value:i.recurse(a.value)})}),function(a,c,d,e){for(var f={},g=0;g<h.length;++g)f[h[g].key]=h[g].value(a,c,d,e);return b?{value:f}:f};case df.ThisExpression:return function(a){return b?{value:a}:a};case df.NGValueParameter:return function(a,c,d,e){return b?{value:d}:d}}},"unary+":function(a,b){return function(c,d,e,f){var g=a(c,d,e,f);return g=u(g)?+g:0,b?{value:g}:g}},"unary-":function(a,b){return function(c,d,e,f){var g=a(c,d,e,f);return g=u(g)?-g:0,b?{value:g}:g}},"unary!":function(a,b){return function(c,d,e,f){var g=!a(c,d,e,f);return b?{value:g}:g}},"binary+":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g),i=b(d,e,f,g),j=ac(h,i);return c?{value:j}:j}},"binary-":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g),i=b(d,e,f,g),j=(u(h)?h:0)-(u(i)?i:0);return c?{value:j}:j}},"binary*":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)*b(d,e,f,g);return c?{value:h}:h}},"binary/":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)/b(d,e,f,g);return c?{value:h}:h}},"binary%":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)%b(d,e,f,g);return c?{value:h}:h}},"binary===":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)===b(d,e,f,g);return c?{value:h}:h}},"binary!==":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)!==b(d,e,f,g);return c?{value:h}:h}},"binary==":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)==b(d,e,f,g);return c?{value:h}:h}},"binary!=":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)!=b(d,e,f,g);return c?{value:h}:h}},"binary<":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)<b(d,e,f,g);return c?{value:h}:h}},"binary>":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)>b(d,e,f,g);return c?{value:h}:h}},"binary<=":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)<=b(d,e,f,g);return c?{value:h}:h}},"binary>=":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)>=b(d,e,f,g);return c?{value:h}:h}},"binary&&":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)&&b(d,e,f,g);return c?{value:h}:h}},"binary||":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)||b(d,e,f,g);return c?{value:h}:h}},"ternary?:":function(a,b,c,d){return function(e,f,g,h){var i=a(e,f,g,h)?b(e,f,g,h):c(e,f,g,h);return d?{value:i}:i}},value:function(a,b){return function(){return b?{context:c,name:c,value:a}:a}},identifier:function(a,b,d,e,f){return function(g,h,i,j){var k=h&&a in h?h:g;e&&1!==e&&k&&!k[a]&&(k[a]={});var l=k?k[a]:c;return b&&Yb(l,f),d?{context:k,name:a,value:l}:l}},computedMember:function(a,b,c,d,e){return function(f,g,h,i){var j,k,l=a(f,g,h,i);return null!=l&&(j=b(f,g,h,i),j=Xb(j),Wb(j,e),d&&1!==d&&l&&!l[j]&&(l[j]={}),k=l[j],Yb(k,e)),c?{context:l,name:j,value:k}:k}},nonComputedMember:function(a,b,d,e,f,g){return function(h,i,j,k){var l=a(h,i,j,k);f&&1!==f&&l&&!l[b]&&(l[b]={});var m=null!=l?l[b]:c;return(d||kc(b))&&Yb(m,g),e?{context:l,name:b,value:m}:m}},inputs:function(a,b){return function(c,d,e,f){return f?f[b]:a(c,d,e)}}};var ef=function(a,b,c){this.lexer=a,this.$filter=b,this.options=c,this.ast=new df(this.lexer),this.astCompiler=c.csp?new jc(this.ast,b):new ic(this.ast,b)};ef.prototype={constructor:ef,parse:function(a){return this.astCompiler.compile(a,this.options.expensiveChecks)}};var ff=(qa(),qa(),Object.prototype.valueOf),gf=d("$sce"),hf={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},He=d("$compile"),jf=b.createElement("a"),kf=Bc(a.location.href);Ec.$inject=["$document"],Gc.$inject=["$provide"],Lc.$inject=["$locale"],Mc.$inject=["$locale"];var lf=".",mf={yyyy:Pc("FullYear",4),yy:Pc("FullYear",2,0,!0),y:Pc("FullYear",1),MMMM:Qc("Month"),MMM:Qc("Month",!0),MM:Pc("Month",2,1),M:Pc("Month",1,1),dd:Pc("Date",2),d:Pc("Date",1),HH:Pc("Hours",2),H:Pc("Hours",1),hh:Pc("Hours",2,-12),h:Pc("Hours",1,-12),mm:Pc("Minutes",2),m:Pc("Minutes",1),ss:Pc("Seconds",2),s:Pc("Seconds",1),sss:Pc("Milliseconds",3),EEEE:Qc("Day"),EEE:Qc("Day",!0),a:Vc,Z:Rc,ww:Uc(2),w:Uc(1),G:Wc,GG:Wc,GGG:Wc,GGGG:Xc},nf=/((?:[^yMdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/,of=/^\-?\d+$/;Yc.$inject=["$locale"];var pf=r(wd),qf=r(yd);_c.$inject=["$parse"];var rf=r({restrict:"E",compile:function(a,b){return b.href||b.xlinkHref?void 0:function(a,b){if("a"===b[0].nodeName.toLowerCase()){var c="[object SVGAnimatedString]"===Id.call(b.prop("href"))?"xlink:href":"href";b.on("click",function(a){b.attr(c)||a.preventDefault()})}}}}),sf={};f(re,function(a,b){function c(a,c,e){a.$watch(e[d],function(a){e.$set(b,!!a)})}if("multiple"!=a){var d=lb("ng-"+b),e=c;"checked"===a&&(e=function(a,b,e){e.ngModel!==e[d]&&c(a,b,e)}),sf[d]=function(){return{restrict:"A",priority:100,link:e}}}}),f(te,function(a,b){sf[b]=function(){return{priority:100,link:function(a,c,d){if("ngPattern"===b&&"/"==d.ngPattern.charAt(0)){var e=d.ngPattern.match(ud);if(e)return void d.$set("ngPattern",new RegExp(e[1],e[2]))}a.$watch(d[b],function(a){d.$set(b,a)})}}}}),f(["src","srcset","href"],function(a){var b=lb("ng-"+a);sf[b]=function(){return{priority:99,link:function(c,d,e){var f=a,g=a;"href"===a&&"[object SVGAnimatedString]"===Id.call(d.prop("href"))&&(g="xlinkHref",e.$attr[g]="xlink:href",f=null),e.$observe(b,function(b){return b?(e.$set(g,b),void(Bd&&f&&d.prop(f,e[g]))):void("href"===a&&e.$set(g,null))})}}}});var tf={$addControl:p,$$renameControl:bd,$removeControl:p,$setValidity:p,$setDirty:p,$setPristine:p,$setSubmitted:p},uf="ng-submitted";cd.$inject=["$element","$attrs","$scope","$animate","$interpolate"];var vf=function(a){return["$timeout","$parse",function(b,d){function e(a){return""===a?d('this[""]').assign:d(a).assign||p}var f={name:"form",restrict:a?"EAC":"E",require:["form","^^?form"],controller:cd,compile:function(d,f){d.addClass(bg).addClass(_f);var g=f.name?"name":a&&f.ngForm?"ngForm":!1;return{pre:function(a,d,f,h){var i=h[0];if(!("action"in f)){var j=function(b){a.$apply(function(){i.$commitViewValue(),i.$setSubmitted()}),b.preventDefault()};ee(d[0],"submit",j),d.on("$destroy",function(){b(function(){fe(d[0],"submit",j)},0,!1)})}var k=h[1]||i.$$parentForm;k.$addControl(i);var m=g?e(i.$name):p;g&&(m(a,i),f.$observe(g,function(b){i.$name!==b&&(m(a,c),i.$$parentForm.$$renameControl(i,b),(m=e(i.$name))(a,i))})),d.on("$destroy",function(){i.$$parentForm.$removeControl(i),m(a,c),l(i,tf)})}}}};return f}]},wf=vf(),xf=vf(!0),yf=/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/,zf=/^[A-Za-z][A-Za-z\d.+-]*:\/*(?:\w+(?::\w+)?@)?[^\s\/]+(?::\d+)?(?:\/[\w#!:.?+=&%@\-\/]*)?$/,Af=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,Bf=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,Cf=/^(\d{4})-(\d{2})-(\d{2})$/,Df=/^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Ef=/^(\d{4})-W(\d\d)$/,Ff=/^(\d{4})-(\d\d)$/,Gf=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Hf={text:ed,date:id("date",Cf,hd(Cf,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":id("datetimelocal",Df,hd(Df,["yyyy","MM","dd","HH","mm","ss","sss"]),"yyyy-MM-ddTHH:mm:ss.sss"),time:id("time",Gf,hd(Gf,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:id("week",Ef,gd,"yyyy-Www"),month:id("month",Ff,hd(Ff,["yyyy","MM"]),"yyyy-MM"),number:kd,url:ld,email:md,radio:nd,checkbox:pd,hidden:p,button:p,submit:p,reset:p,file:p},If=["$browser","$sniffer","$filter","$parse",function(a,b,c,d){return{restrict:"E",require:["?ngModel"],link:{pre:function(e,f,g,h){h[0]&&(Hf[wd(g.type)]||Hf.text)(e,f,g,h[0],b,a,c,d)}}}}],Jf=/^(true|false|\d+)$/,Kf=function(){return{restrict:"A",priority:100,compile:function(a,b){return Jf.test(b.ngValue)?function(a,b,c){c.$set("value",a.$eval(c.ngValue))}:function(a,b,c){a.$watch(c.ngValue,function(a){c.$set("value",a)})}}}},Lf=["$compile",function(a){return{restrict:"AC",compile:function(b){return a.$$addBindingClass(b),function(b,c,d){a.$$addBindingInfo(c,d.ngBind),c=c[0],b.$watch(d.ngBind,function(a){c.textContent=t(a)?"":a})}}}}],Mf=["$interpolate","$compile",function(a,b){return{compile:function(c){return b.$$addBindingClass(c),function(c,d,e){var f=a(d.attr(e.$attr.ngBindTemplate));b.$$addBindingInfo(d,f.expressions),d=d[0],e.$observe("ngBindTemplate",function(a){d.textContent=t(a)?"":a})}}}}],Nf=["$sce","$parse","$compile",function(a,b,c){return{restrict:"A",compile:function(d,e){var f=b(e.ngBindHtml),g=b(e.ngBindHtml,function(a){return(a||"").toString()});return c.$$addBindingClass(d),function(b,d,e){c.$$addBindingInfo(d,e.ngBindHtml),b.$watch(g,function(){d.html(a.getTrustedHtml(f(b))||"")})}}}}],Of=r({restrict:"A",require:"ngModel",link:function(a,b,c,d){d.$viewChangeListeners.push(function(){a.$eval(c.ngChange)})}}),Pf=qd("",!0),Qf=qd("Odd",0),Rf=qd("Even",1),Sf=ad({compile:function(a,b){b.$set("ngCloak",c),a.removeClass("ng-cloak")}}),Tf=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],Uf={},Vf={blur:!0,focus:!0};f("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(a){var b=lb("ng-"+a);Uf[b]=["$parse","$rootScope",function(c,d){return{restrict:"A",compile:function(e,f){var g=c(f[b],null,!0);return function(b,c){c.on(a,function(c){var e=function(){g(b,{$event:c})};Vf[a]&&d.$$phase?b.$evalAsync(e):b.$apply(e)})}}}}]});var Wf=["$animate",function(a){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(c,d,e,f,g){var h,i,j;c.$watch(e.ngIf,function(c){c?i||g(function(c,f){i=f,c[c.length++]=b.createComment(" end ngIf: "+e.ngIf+" "),h={clone:c},a.enter(c,d.parent(),d)}):(j&&(j.remove(),j=null),i&&(i.$destroy(),i=null),h&&(j=pa(h.clone),a.leave(j).then(function(){j=null}),h=null))})}}}],Xf=["$templateRequest","$anchorScroll","$animate",function(a,b,c){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:Ld.noop,compile:function(d,e){var f=e.ngInclude||e.src,g=e.onload||"",h=e.autoscroll;return function(d,e,i,j,k){var l,m,n,o=0,p=function(){m&&(m.remove(),m=null),l&&(l.$destroy(),l=null),n&&(c.leave(n).then(function(){m=null}),m=n,n=null)};d.$watch(f,function(f){var i=function(){!u(h)||h&&!d.$eval(h)||b()},m=++o;f?(a(f,!0).then(function(a){if(m===o){var b=d.$new();j.template=a;var h=k(b,function(a){p(),c.enter(a,null,e).then(i)});l=b,n=h,l.$emit("$includeContentLoaded",f),d.$eval(g)}},function(){m===o&&(p(),d.$emit("$includeContentError",f))}),d.$emit("$includeContentRequested",f)):(p(),j.template=null)})}}}}],Yf=["$compile",function(a){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(c,d,e,f){return/SVG/.test(d[0].toString())?(d.empty(),void a(Aa(f.template,b).childNodes)(c,function(a){d.append(a)},{futureParentElement:d})):(d.html(f.template),void a(d.contents())(c))}}}],Zf=ad({priority:450,compile:function(){return{pre:function(a,b,c){a.$eval(c.ngInit)}}}}),$f=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(a,b,d,e){var g=b.attr(d.$attr.ngList)||", ",h="false"!==d.ngTrim,i=h?Qd(g):g,j=function(a){if(!t(a)){var b=[];return a&&f(a.split(i),function(a){a&&b.push(h?Qd(a):a)}),b}};e.$parsers.push(j),e.$formatters.push(function(a){return Od(a)?a.join(g):c}),e.$isEmpty=function(a){return!a||!a.length}}}},_f="ng-valid",ag="ng-invalid",bg="ng-pristine",cg="ng-dirty",dg="ng-untouched",eg="ng-touched",fg="ng-pending",gg=d("ngModel"),hg=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$rootScope","$q","$interpolate",function(a,b,d,e,g,h,i,j,k,l){this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$$rawModelValue=c,this.$validators={},this.$asyncValidators={},this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$untouched=!0,this.$touched=!1,this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$error={},this.$$success={},this.$pending=c,this.$name=l(d.name||"",!1)(a),this.$$parentForm=tf;var m,n=g(d.ngModel),o=n.assign,q=n,r=o,s=null,v=this;this.$$setOptions=function(a){if(v.$options=a,a&&a.getterSetter){var b=g(d.ngModel+"()"),c=g(d.ngModel+"($$$p)");q=function(a){var c=n(a);return A(c)&&(c=b(a)),c},r=function(a,b){A(n(a))?c(a,{$$$p:v.$modelValue}):o(a,v.$modelValue)}}else if(!n.assign)throw gg("nonassign","Expression '{0}' is non-assignable. Element: {1}",d.ngModel,$(e))},this.$render=p,this.$isEmpty=function(a){return t(a)||""===a||null===a||a!==a};var w=0;rd({ctrl:this,$element:e,set:function(a,b){a[b]=!0},unset:function(a,b){delete a[b]},$animate:h}),this.$setPristine=function(){v.$dirty=!1,v.$pristine=!0,h.removeClass(e,cg),h.addClass(e,bg)},this.$setDirty=function(){v.$dirty=!0,v.$pristine=!1,h.removeClass(e,bg),h.addClass(e,cg),v.$$parentForm.$setDirty()},this.$setUntouched=function(){v.$touched=!1,
-v.$untouched=!0,h.setClass(e,dg,eg)},this.$setTouched=function(){v.$touched=!0,v.$untouched=!1,h.setClass(e,eg,dg)},this.$rollbackViewValue=function(){i.cancel(s),v.$viewValue=v.$$lastCommittedViewValue,v.$render()},this.$validate=function(){if(!y(v.$modelValue)||!isNaN(v.$modelValue)){var a=v.$$lastCommittedViewValue,b=v.$$rawModelValue,d=v.$valid,e=v.$modelValue,f=v.$options&&v.$options.allowInvalid;v.$$runValidators(b,a,function(a){f||d===a||(v.$modelValue=a?b:c,v.$modelValue!==e&&v.$$writeModelToScope())})}},this.$$runValidators=function(a,b,d){function e(){var a=v.$$parserName||"parse";return t(m)?(i(a,null),!0):(m||(f(v.$validators,function(a,b){i(b,null)}),f(v.$asyncValidators,function(a,b){i(b,null)})),i(a,m),m)}function g(){var c=!0;return f(v.$validators,function(d,e){var f=d(a,b);c=c&&f,i(e,f)}),c?!0:(f(v.$asyncValidators,function(a,b){i(b,null)}),!1)}function h(){var d=[],e=!0;f(v.$asyncValidators,function(f,g){var h=f(a,b);if(!I(h))throw gg("$asyncValidators","Expected asynchronous validator to return a promise but got '{0}' instead.",h);i(g,c),d.push(h.then(function(){i(g,!0)},function(a){e=!1,i(g,!1)}))}),d.length?k.all(d).then(function(){j(e)},p):j(!0)}function i(a,b){l===w&&v.$setValidity(a,b)}function j(a){l===w&&d(a)}w++;var l=w;return e()&&g()?void h():void j(!1)},this.$commitViewValue=function(){var a=v.$viewValue;i.cancel(s),(v.$$lastCommittedViewValue!==a||""===a&&v.$$hasNativeValidators)&&(v.$$lastCommittedViewValue=a,v.$pristine&&this.$setDirty(),this.$$parseAndValidate())},this.$$parseAndValidate=function(){function b(){v.$modelValue!==g&&v.$$writeModelToScope()}var d=v.$$lastCommittedViewValue,e=d;if(m=t(e)?c:!0)for(var f=0;f<v.$parsers.length;f++)if(e=v.$parsers[f](e),t(e)){m=!1;break}y(v.$modelValue)&&isNaN(v.$modelValue)&&(v.$modelValue=q(a));var g=v.$modelValue,h=v.$options&&v.$options.allowInvalid;v.$$rawModelValue=e,h&&(v.$modelValue=e,b()),v.$$runValidators(e,v.$$lastCommittedViewValue,function(a){h||(v.$modelValue=a?e:c,b())})},this.$$writeModelToScope=function(){r(a,v.$modelValue),f(v.$viewChangeListeners,function(a){try{a()}catch(c){b(c)}})},this.$setViewValue=function(a,b){v.$viewValue=a,(!v.$options||v.$options.updateOnDefault)&&v.$$debounceViewValueCommit(b)},this.$$debounceViewValueCommit=function(b){var c,d=0,e=v.$options;e&&u(e.debounce)&&(c=e.debounce,y(c)?d=c:y(c[b])?d=c[b]:y(c["default"])&&(d=c["default"])),i.cancel(s),d?s=i(function(){v.$commitViewValue()},d):j.$$phase?v.$commitViewValue():a.$apply(function(){v.$commitViewValue()})},a.$watch(function(){var b=q(a);if(b!==v.$modelValue&&(v.$modelValue===v.$modelValue||b===b)){v.$modelValue=v.$$rawModelValue=b,m=c;for(var d=v.$formatters,e=d.length,f=b;e--;)f=d[e](f);v.$viewValue!==f&&(v.$viewValue=v.$$lastCommittedViewValue=f,v.$render(),v.$$runValidators(b,f,p))}return b})}],ig=["$rootScope",function(a){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:hg,priority:1,compile:function(b){return b.addClass(bg).addClass(dg).addClass(_f),{pre:function(a,b,c,d){var e=d[0],f=d[1]||e.$$parentForm;e.$$setOptions(d[2]&&d[2].$options),f.$addControl(e),c.$observe("name",function(a){e.$name!==a&&e.$$parentForm.$$renameControl(e,a)}),a.$on("$destroy",function(){e.$$parentForm.$removeControl(e)})},post:function(b,c,d,e){var f=e[0];f.$options&&f.$options.updateOn&&c.on(f.$options.updateOn,function(a){f.$$debounceViewValueCommit(a&&a.type)}),c.on("blur",function(c){f.$touched||(a.$$phase?b.$evalAsync(f.$setTouched):b.$apply(f.$setTouched))})}}}}}],jg=/(\s+|^)default(\s+|$)/,kg=function(){return{restrict:"A",controller:["$scope","$attrs",function(a,b){var c=this;this.$options=O(a.$eval(b.ngModelOptions)),u(this.$options.updateOn)?(this.$options.updateOnDefault=!1,this.$options.updateOn=Qd(this.$options.updateOn.replace(jg,function(){return c.$options.updateOnDefault=!0," "}))):this.$options.updateOnDefault=!0}]}},lg=ad({terminal:!0,priority:1e3}),mg=d("ngOptions"),ng=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,og=["$compile","$parse",function(a,c){function d(a,b,d){function f(a,b,c,d,e){this.selectValue=a,this.viewValue=b,this.label=c,this.group=d,this.disabled=e}function g(a){var b;if(!j&&e(a))b=a;else{b=[];for(var c in a)a.hasOwnProperty(c)&&"$"!==c.charAt(0)&&b.push(c)}return b}var h=a.match(ng);if(!h)throw mg("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",a,$(b));var i=h[5]||h[7],j=h[6],k=/ as /.test(h[0])&&h[1],l=h[9],m=c(h[2]?h[1]:i),n=k&&c(k),o=n||m,p=l&&c(l),q=l?function(a,b){return p(d,b)}:function(a){return Ya(a)},r=function(a,b){return q(a,x(a,b))},s=c(h[2]||h[1]),t=c(h[3]||""),u=c(h[4]||""),v=c(h[8]),w={},x=j?function(a,b){return w[j]=b,w[i]=a,w}:function(a){return w[i]=a,w};return{trackBy:l,getTrackByValue:r,getWatchables:c(v,function(a){var b=[];a=a||[];for(var c=g(a),e=c.length,f=0;e>f;f++){var i=a===c?f:c[f],j=(a[i],x(a[i],i)),k=q(a[i],j);if(b.push(k),h[2]||h[1]){var l=s(d,j);b.push(l)}if(h[4]){var m=u(d,j);b.push(m)}}return b}),getOptions:function(){for(var a=[],b={},c=v(d)||[],e=g(c),h=e.length,i=0;h>i;i++){var j=c===e?i:e[i],k=c[j],m=x(k,j),n=o(d,m),p=q(n,m),w=s(d,m),y=t(d,m),z=u(d,m),A=new f(p,n,w,y,z);a.push(A),b[p]=A}return{items:a,selectValueMap:b,getOptionFromViewValue:function(a){return b[r(a)]},getViewValueFromOption:function(a){return l?Ld.copy(a.viewValue):a.viewValue}}}}}function g(b,c,e,g){function j(a,b){a.element=b,b.disabled=a.disabled,a.label!==b.label&&(b.label=a.label,b.textContent=a.label),a.value!==b.value&&(b.value=a.selectValue)}function k(a,b,c,d){var e;return b&&wd(b.nodeName)===c?e=b:(e=d.cloneNode(!1),b?a.insertBefore(e,b):a.appendChild(e)),e}function l(a){for(var b;a;)b=a.nextSibling,Qa(a),a=b}function m(a){var b=p&&p[0],c=w&&w[0];if(b||c)for(;a&&(a===b||a===c||a.nodeType===$d||""===a.value);)a=a.nextSibling;return a}function n(){var a=x&&q.readValue();x=y.getOptions();var b={},d=c[0].firstChild;if(v&&c.prepend(p),d=m(d),x.items.forEach(function(a){var e,f,g;a.group?(e=b[a.group],e||(f=k(c[0],d,"optgroup",i),d=f.nextSibling,f.label=a.group,e=b[a.group]={groupElement:f,currentOptionElement:f.firstChild}),g=k(e.groupElement,e.currentOptionElement,"option",h),j(a,g),e.currentOptionElement=g.nextSibling):(g=k(c[0],d,"option",h),j(a,g),d=g.nextSibling)}),Object.keys(b).forEach(function(a){l(b[a].currentOptionElement)}),l(d),o.$render(),!o.$isEmpty(a)){var e=q.readValue();(y.trackBy?Q(a,e):a===e)||(o.$setViewValue(e),o.$render())}}var o=g[1];if(o){for(var p,q=g[0],r=e.multiple,s=0,t=c.children(),u=t.length;u>s;s++)if(""===t[s].value){p=t.eq(s);break}var v=!!p,w=Cd(h.cloneNode(!1));w.val("?");var x,y=d(e.ngOptions,c,b),z=function(){v||c.prepend(p),c.val(""),p.prop("selected",!0),p.attr("selected",!0)},A=function(){v||p.remove()},B=function(){c.prepend(w),c.val("?"),w.prop("selected",!0),w.attr("selected",!0)},C=function(){w.remove()};r?(o.$isEmpty=function(a){return!a||0===a.length},q.writeValue=function(a){x.items.forEach(function(a){a.element.selected=!1}),a&&a.forEach(function(a){var b=x.getOptionFromViewValue(a);b&&!b.disabled&&(b.element.selected=!0)})},q.readValue=function(){var a=c.val()||[],b=[];return f(a,function(a){var c=x.selectValueMap[a];c&&!c.disabled&&b.push(x.getViewValueFromOption(c))}),b},y.trackBy&&b.$watchCollection(function(){return Od(o.$viewValue)?o.$viewValue.map(function(a){return y.getTrackByValue(a)}):void 0},function(){o.$render()})):(q.writeValue=function(a){var b=x.getOptionFromViewValue(a);b&&!b.disabled?c[0].value!==b.selectValue&&(C(),A(),c[0].value=b.selectValue,b.element.selected=!0,b.element.setAttribute("selected","selected")):null===a||v?(C(),z()):(A(),B())},q.readValue=function(){var a=x.selectValueMap[c.val()];return a&&!a.disabled?(A(),C(),x.getViewValueFromOption(a)):null},y.trackBy&&b.$watch(function(){return y.getTrackByValue(o.$viewValue)},function(){o.$render()})),v?(p.remove(),a(p)(b),p.removeClass("ng-scope")):p=Cd(h.cloneNode(!1)),n(),b.$watchCollection(y.getWatchables,n)}}var h=b.createElement("option"),i=b.createElement("optgroup");return{restrict:"A",terminal:!0,require:["select","?ngModel"],link:{pre:function(a,b,c,d){d[0].registerOption=p},post:g}}}],pg=["$locale","$interpolate","$log",function(a,b,c){var d=/{}/g,e=/^when(Minus)?(.+)$/;return{link:function(g,h,i){function j(a){h.text(a||"")}var k,l=i.count,m=i.$attr.when&&h.attr(i.$attr.when),n=i.offset||0,o=g.$eval(m)||{},q={},r=b.startSymbol(),s=b.endSymbol(),u=r+l+"-"+n+s,v=Ld.noop;f(i,function(a,b){var c=e.exec(b);if(c){var d=(c[1]?"-":"")+wd(c[2]);o[d]=h.attr(i.$attr[b])}}),f(o,function(a,c){q[c]=b(a.replace(d,u))}),g.$watch(l,function(b){var d=parseFloat(b),e=isNaN(d);if(e||d in o||(d=a.pluralCat(d-n)),d!==k&&!(e&&y(k)&&isNaN(k))){v();var f=q[d];t(f)?(null!=b&&c.debug("ngPluralize: no rule defined for '"+d+"' in "+m),v=p,j()):v=g.$watch(f,j),k=d}})}}}],qg=["$parse","$animate",function(a,g){var h="$$NG_REMOVED",i=d("ngRepeat"),j=function(a,b,c,d,e,f,g){a[c]=d,e&&(a[e]=f),a.$index=b,a.$first=0===b,a.$last=b===g-1,a.$middle=!(a.$first||a.$last),a.$odd=!(a.$even=0===(1&b))},k=function(a){return a.clone[0]},l=function(a){return a.clone[a.clone.length-1]};return{restrict:"A",multiElement:!0,transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,compile:function(d,m){var n=m.ngRepeat,o=b.createComment(" end ngRepeat: "+n+" "),p=n.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!p)throw i("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",n);var q=p[1],r=p[2],s=p[3],t=p[4];if(p=q.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/),!p)throw i("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",q);var u=p[3]||p[1],v=p[2];if(s&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(s)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(s)))throw i("badident","alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.",s);var w,x,y,z,A={$id:Ya};return t?w=a(t):(y=function(a,b){return Ya(b)},z=function(a){return a}),function(a,b,d,m,p){w&&(x=function(b,c,d){return v&&(A[v]=b),A[u]=c,A.$index=d,w(a,A)});var q=qa();a.$watchCollection(r,function(d){var m,r,t,w,A,B,C,D,E,F,G,H,I=b[0],J=qa();if(s&&(a[s]=d),e(d))E=d,D=x||y;else{D=x||z,E=[];for(var K in d)xd.call(d,K)&&"$"!==K.charAt(0)&&E.push(K)}for(w=E.length,G=new Array(w),m=0;w>m;m++)if(A=d===E?m:E[m],B=d[A],C=D(A,B,m),q[C])F=q[C],delete q[C],J[C]=F,G[m]=F;else{if(J[C])throw f(G,function(a){a&&a.scope&&(q[a.id]=a)}),i("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}",n,C,B);G[m]={id:C,scope:c,clone:c},J[C]=!0}for(var L in q){if(F=q[L],H=pa(F.clone),g.leave(H),H[0].parentNode)for(m=0,r=H.length;r>m;m++)H[m][h]=!0;F.scope.$destroy()}for(m=0;w>m;m++)if(A=d===E?m:E[m],B=d[A],F=G[m],F.scope){t=I;do t=t.nextSibling;while(t&&t[h]);k(F)!=t&&g.move(pa(F.clone),null,Cd(I)),I=l(F),j(F.scope,m,u,B,v,A,w)}else p(function(a,b){F.scope=b;var c=o.cloneNode(!1);a[a.length++]=c,g.enter(a,null,Cd(I)),I=c,F.clone=a,J[F.id]=F,j(F.scope,m,u,B,v,A,w)});q=J})}}}}],rg="ng-hide",sg="ng-hide-animate",tg=["$animate",function(a){return{restrict:"A",multiElement:!0,link:function(b,c,d){b.$watch(d.ngShow,function(b){a[b?"removeClass":"addClass"](c,rg,{tempClasses:sg})})}}}],ug=["$animate",function(a){return{restrict:"A",multiElement:!0,link:function(b,c,d){b.$watch(d.ngHide,function(b){a[b?"addClass":"removeClass"](c,rg,{tempClasses:sg})})}}}],vg=ad(function(a,b,c){a.$watch(c.ngStyle,function(a,c){c&&a!==c&&f(c,function(a,c){b.css(c,"")}),a&&b.css(a)},!0)}),wg=["$animate",function(a){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(c,d,e,g){var h=e.ngSwitch||e.on,i=[],j=[],k=[],l=[],m=function(a,b){return function(){a.splice(b,1)}};c.$watch(h,function(c){var d,e;for(d=0,e=k.length;e>d;++d)a.cancel(k[d]);for(k.length=0,d=0,e=l.length;e>d;++d){var h=pa(j[d].clone);l[d].$destroy();var n=k[d]=a.leave(h);n.then(m(k,d))}j.length=0,l.length=0,(i=g.cases["!"+c]||g.cases["?"])&&f(i,function(c){c.transclude(function(d,e){l.push(e);var f=c.element;d[d.length++]=b.createComment(" end ngSwitchWhen: ");var g={clone:d};j.push(g),a.enter(d,f.parent(),f)})})})}}}],xg=ad({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(a,b,c,d,e){d.cases["!"+c.ngSwitchWhen]=d.cases["!"+c.ngSwitchWhen]||[],d.cases["!"+c.ngSwitchWhen].push({transclude:e,element:b})}}),yg=ad({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(a,b,c,d,e){d.cases["?"]=d.cases["?"]||[],d.cases["?"].push({transclude:e,element:b})}}),zg=ad({restrict:"EAC",link:function(a,b,c,e,f){if(!f)throw d("ngTransclude")("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",$(b));f(function(a){b.empty(),b.append(a)})}}),Ag=["$templateCache",function(a){return{restrict:"E",terminal:!0,compile:function(b,c){if("text/ng-template"==c.type){var d=c.id,e=b[0].text;a.put(d,e)}}}}],Bg={$setViewValue:p,$render:p},Cg=["$element","$scope","$attrs",function(a,d,e){var f=this,g=new Za;f.ngModelCtrl=Bg,f.unknownOption=Cd(b.createElement("option")),f.renderUnknownOption=function(b){var c="? "+Ya(b)+" ?";f.unknownOption.val(c),a.prepend(f.unknownOption),a.val(c)},d.$on("$destroy",function(){f.renderUnknownOption=p}),f.removeUnknownOption=function(){f.unknownOption.parent()&&f.unknownOption.remove()},f.readValue=function(){return f.removeUnknownOption(),a.val()},f.writeValue=function(b){f.hasOption(b)?(f.removeUnknownOption(),a.val(b),""===b&&f.emptyOption.prop("selected",!0)):null==b&&f.emptyOption?(f.removeUnknownOption(),a.val("")):f.renderUnknownOption(b)},f.addOption=function(a,b){na(a,'"option value"'),""===a&&(f.emptyOption=b);var c=g.get(a)||0;g.put(a,c+1),f.ngModelCtrl.$render(),td(b)},f.removeOption=function(a){var b=g.get(a);b&&(1===b?(g.remove(a),""===a&&(f.emptyOption=c)):g.put(a,b-1))},f.hasOption=function(a){return!!g.get(a)},f.registerOption=function(a,b,c,d,e){if(d){var g;c.$observe("value",function(a){u(g)&&f.removeOption(g),g=a,f.addOption(a,b)})}else e?a.$watch(e,function(a,d){c.$set("value",a),d!==a&&f.removeOption(d),f.addOption(a,b)}):f.addOption(c.value,b);b.on("$destroy",function(){f.removeOption(c.value),f.ngModelCtrl.$render()})}}],Dg=function(){function a(a,b,c,d){var e=d[1];if(e){var g=d[0];if(g.ngModelCtrl=e,e.$render=function(){g.writeValue(e.$viewValue)},b.on("change",function(){a.$apply(function(){e.$setViewValue(g.readValue())})}),c.multiple){g.readValue=function(){var a=[];return f(b.find("option"),function(b){b.selected&&a.push(b.value)}),a},g.writeValue=function(a){var c=new Za(a);f(b.find("option"),function(a){a.selected=u(c.get(a.value))})};var h,i=NaN;a.$watch(function(){i!==e.$viewValue||Q(h,e.$viewValue)||(h=P(e.$viewValue),e.$render()),i=e.$viewValue}),e.$isEmpty=function(a){return!a||0===a.length}}}}return{restrict:"E",require:["select","?ngModel"],controller:Cg,priority:1,link:{pre:a}}},Eg=["$interpolate",function(a){return{restrict:"E",priority:100,compile:function(b,c){if(u(c.value))var d=a(c.value,!0);else{var e=a(b.text(),!0);e||c.$set("value",b.text())}return function(a,b,c){var f="$selectController",g=b.parent(),h=g.data(f)||g.parent().data(f);h&&h.registerOption(a,b,c,d,e)}}}}],Fg=r({restrict:"E",terminal:!1}),Gg=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,c,d){d&&(c.required=!0,d.$validators.required=function(a,b){return!c.required||!d.$isEmpty(b)},c.$observe("required",function(){d.$validate()}))}}},Hg=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,e,f){if(f){var g,h=e.ngPattern||e.pattern;e.$observe("pattern",function(a){if(x(a)&&a.length>0&&(a=new RegExp("^"+a+"$")),a&&!a.test)throw d("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",h,a,$(b));g=a||c,f.$validate()}),f.$validators.pattern=function(a,b){return f.$isEmpty(b)||t(g)||g.test(b)}}}}},Ig=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,c,d){if(d){var e=-1;c.$observe("maxlength",function(a){var b=n(a);e=isNaN(b)?-1:b,d.$validate()}),d.$validators.maxlength=function(a,b){return 0>e||d.$isEmpty(b)||b.length<=e}}}}},Jg=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,c,d){if(d){var e=0;c.$observe("minlength",function(a){e=n(a)||0,d.$validate()}),d.$validators.minlength=function(a,b){return d.$isEmpty(b)||b.length>=e}}}}};return a.angular.bootstrap?void console.log("WARNING: Tried to load angular more than once."):(ka(),ua(Ld),Ld.module("ngLocale",[],["$provide",function(a){function b(a){a+="";var b=a.indexOf(".");return-1==b?0:a.length-b-1}function d(a,d){var e=d;c===e&&(e=Math.min(b(a),3));var f=Math.pow(10,e),g=(a*f|0)%f;return{v:e,f:g}}var e={ZERO:"zero",ONE:"one",TWO:"two",FEW:"few",MANY:"many",OTHER:"other"};a.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6,MONTH:["January","February","March","April","May","June","July","August","September","October","November","December"],SHORTDAY:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],SHORTMONTH:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],WEEKENDRANGE:[5,6],fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",medium:"MMM d, y h:mm:ss a",mediumDate:"MMM d, y",mediumTime:"h:mm:ss a","short":"M/d/yy h:mm a",shortDate:"M/d/yy",shortTime:"h:mm a"},NUMBER_FORMATS:{CURRENCY_SYM:"$",DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-¤",negSuf:"",posPre:"¤",posSuf:""}]},id:"en-us",pluralCat:function(a,b){var c=0|a,f=d(a,b);return 1==c&&0==f.v?e.ONE:e.OTHER}})}]),void Cd(b).ready(function(){fa(b,ga)}))}(window,document),!window.angular.$$csp().noInlineStyle&&window.angular.element(document.head).prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}</style>'),angular.module("ui.bootstrap",["ui.bootstrap.tpls","ui.bootstrap.collapse","ui.bootstrap.accordion","ui.bootstrap.alert","ui.bootstrap.buttons","ui.bootstrap.carousel","ui.bootstrap.dateparser","ui.bootstrap.position","ui.bootstrap.datepicker","ui.bootstrap.dropdown","ui.bootstrap.stackedMap","ui.bootstrap.modal","ui.bootstrap.pagination","ui.bootstrap.tooltip","ui.bootstrap.popover","ui.bootstrap.progressbar","ui.bootstrap.rating","ui.bootstrap.tabs","ui.bootstrap.timepicker","ui.bootstrap.typeahead"]),angular.module("ui.bootstrap.tpls",["template/accordion/accordion-group.html","template/accordion/accordion.html","template/alert/alert.html","template/carousel/carousel.html","template/carousel/slide.html","template/datepicker/datepicker.html","template/datepicker/day.html","template/datepicker/month.html","template/datepicker/popup.html","template/datepicker/year.html","template/modal/backdrop.html","template/modal/window.html","template/pagination/pager.html","template/pagination/pagination.html","template/tooltip/tooltip-html-popup.html","template/tooltip/tooltip-popup.html","template/tooltip/tooltip-template-popup.html","template/popover/popover-html.html","template/popover/popover-template.html","template/popover/popover.html","template/progressbar/bar.html","template/progressbar/progress.html","template/progressbar/progressbar.html","template/rating/rating.html","template/tabs/tab.html","template/tabs/tabset.html","template/timepicker/timepicker.html","template/typeahead/typeahead-match.html","template/typeahead/typeahead-popup.html"]),angular.module("ui.bootstrap.collapse",[]).directive("uibCollapse",["$animate","$injector",function(a,b){var c=b.has("$animateCss")?b.get("$animateCss"):null;return{link:function(b,d,e){function f(){d.removeClass("collapse").addClass("collapsing").attr("aria-expanded",!0).attr("aria-hidden",!1),c?c(d,{addClass:"in",easing:"ease",to:{height:d[0].scrollHeight+"px"}}).start()["finally"](g):a.addClass(d,"in",{to:{height:d[0].scrollHeight+"px"}}).then(g)}function g(){d.removeClass("collapsing").addClass("collapse").css({height:"auto"})}function h(){return d.hasClass("collapse")||d.hasClass("in")?(d.css({height:d[0].scrollHeight+"px"}).removeClass("collapse").addClass("collapsing").attr("aria-expanded",!1).attr("aria-hidden",!0),void(c?c(d,{removeClass:"in",to:{height:"0"}}).start()["finally"](i):a.removeClass(d,"in",{to:{height:"0"}}).then(i))):i()}function i(){d.css({height:"0"}),d.removeClass("collapsing").addClass("collapse")}b.$watch(e.uibCollapse,function(a){a?h():f()})}}}]),angular.module("ui.bootstrap.collapse").value("$collapseSuppressWarning",!1).directive("collapse",["$animate","$injector","$log","$collapseSuppressWarning",function(a,b,c,d){var e=b.has("$animateCss")?b.get("$animateCss"):null;return{link:function(b,f,g){function h(){f.removeClass("collapse").addClass("collapsing").attr("aria-expanded",!0).attr("aria-hidden",!1),e?e(f,{easing:"ease",to:{height:f[0].scrollHeight+"px"}}).start().done(i):a.animate(f,{},{height:f[0].scrollHeight+"px"}).then(i)}function i(){f.removeClass("collapsing").addClass("collapse in").css({height:"auto"})}function j(){return f.hasClass("collapse")||f.hasClass("in")?(f.css({height:f[0].scrollHeight+"px"}).removeClass("collapse in").addClass("collapsing").attr("aria-expanded",!1).attr("aria-hidden",!0),void(e?e(f,{to:{height:"0"}}).start().done(k):a.animate(f,{},{height:"0"}).then(k))):k()}function k(){f.css({height:"0"}),f.removeClass("collapsing").addClass("collapse")}d||c.warn("collapse is now deprecated. Use uib-collapse instead."),b.$watch(g.collapse,function(a){a?j():h()})}}}]),angular.module("ui.bootstrap.accordion",["ui.bootstrap.collapse"]).constant("uibAccordionConfig",{closeOthers:!0}).controller("UibAccordionController",["$scope","$attrs","uibAccordionConfig",function(a,b,c){this.groups=[],this.closeOthers=function(d){var e=angular.isDefined(b.closeOthers)?a.$eval(b.closeOthers):c.closeOthers;e&&angular.forEach(this.groups,function(a){a!==d&&(a.isOpen=!1)})},this.addGroup=function(a){var b=this;this.groups.push(a),a.$on("$destroy",function(c){b.removeGroup(a)})},this.removeGroup=function(a){var b=this.groups.indexOf(a);-1!==b&&this.groups.splice(b,1)}}]).directive("uibAccordion",function(){return{controller:"UibAccordionController",controllerAs:"accordion",transclude:!0,templateUrl:function(a,b){return b.templateUrl||"template/accordion/accordion.html"}}}).directive("uibAccordionGroup",function(){return{require:"^uibAccordion",transclude:!0,replace:!0,templateUrl:function(a,b){return b.templateUrl||"template/accordion/accordion-group.html"},scope:{heading:"@",isOpen:"=?",isDisabled:"=?"},controller:function(){this.setHeading=function(a){this.heading=a}},link:function(a,b,c,d){d.addGroup(a),a.openClass=c.openClass||"panel-open",a.panelClass=c.panelClass,a.$watch("isOpen",function(c){b.toggleClass(a.openClass,!!c),c&&d.closeOthers(a)}),a.toggleOpen=function(b){a.isDisabled||b&&32!==b.which||(a.isOpen=!a.isOpen)}}}}).directive("uibAccordionHeading",function(){return{transclude:!0,template:"",replace:!0,require:"^uibAccordionGroup",link:function(a,b,c,d,e){d.setHeading(e(a,angular.noop))}}}).directive("uibAccordionTransclude",function(){return{require:["?^uibAccordionGroup","?^accordionGroup"],link:function(a,b,c,d){d=d[0]?d[0]:d[1],a.$watch(function(){return d[c.uibAccordionTransclude]},function(a){a&&(b.find("span").html(""),b.find("span").append(a))})}}}),angular.module("ui.bootstrap.accordion").value("$accordionSuppressWarning",!1).controller("AccordionController",["$scope","$attrs","$controller","$log","$accordionSuppressWarning",function(a,b,c,d,e){e||d.warn("AccordionController is now deprecated. Use UibAccordionController instead."),angular.extend(this,c("UibAccordionController",{$scope:a,$attrs:b}))}]).directive("accordion",["$log","$accordionSuppressWarning",function(a,b){return{restrict:"EA",controller:"AccordionController",controllerAs:"accordion",transclude:!0,replace:!1,templateUrl:function(a,b){return b.templateUrl||"template/accordion/accordion.html"},link:function(){b||a.warn("accordion is now deprecated. Use uib-accordion instead.")}}}]).directive("accordionGroup",["$log","$accordionSuppressWarning",function(a,b){return{require:"^accordion",restrict:"EA",transclude:!0,replace:!0,templateUrl:function(a,b){return b.templateUrl||"template/accordion/accordion-group.html"},scope:{heading:"@",isOpen:"=?",isDisabled:"=?"},controller:function(){this.setHeading=function(a){this.heading=a}},link:function(c,d,e,f){b||a.warn("accordion-group is now deprecated. Use uib-accordion-group instead."),f.addGroup(c),c.openClass=e.openClass||"panel-open",c.panelClass=e.panelClass,c.$watch("isOpen",function(a){d.toggleClass(c.openClass,!!a),a&&f.closeOthers(c)}),c.toggleOpen=function(a){c.isDisabled||a&&32!==a.which||(c.isOpen=!c.isOpen)}}}}]).directive("accordionHeading",["$log","$accordionSuppressWarning",function(a,b){return{restrict:"EA",transclude:!0,template:"",replace:!0,require:"^accordionGroup",link:function(c,d,e,f,g){b||a.warn("accordion-heading is now deprecated. Use uib-accordion-heading instead."),f.setHeading(g(c,angular.noop))}}}]).directive("accordionTransclude",["$log","$accordionSuppressWarning",function(a,b){return{require:"^accordionGroup",link:function(c,d,e,f){b||a.warn("accordion-transclude is now deprecated. Use uib-accordion-transclude instead."),c.$watch(function(){return f[e.accordionTransclude]},function(a){a&&(d.find("span").html(""),d.find("span").append(a))})}}}]),angular.module("ui.bootstrap.alert",[]).controller("UibAlertController",["$scope","$attrs","$interpolate","$timeout",function(a,b,c,d){a.closeable=!!b.close;var e=angular.isDefined(b.dismissOnTimeout)?c(b.dismissOnTimeout)(a.$parent):null;e&&d(function(){a.close()},parseInt(e,10))}]).directive("uibAlert",function(){return{controller:"UibAlertController",controllerAs:"alert",templateUrl:function(a,b){return b.templateUrl||"template/alert/alert.html"},transclude:!0,replace:!0,scope:{type:"@",close:"&"}}}),angular.module("ui.bootstrap.alert").value("$alertSuppressWarning",!1).controller("AlertController",["$scope","$attrs","$controller","$log","$alertSuppressWarning",function(a,b,c,d,e){e||d.warn("AlertController is now deprecated. Use UibAlertController instead."),angular.extend(this,c("UibAlertController",{$scope:a,$attrs:b}))}]).directive("alert",["$log","$alertSuppressWarning",function(a,b){return{controller:"AlertController",controllerAs:"alert",templateUrl:function(a,b){return b.templateUrl||"template/alert/alert.html"},transclude:!0,replace:!0,scope:{type:"@",close:"&"},link:function(){b||a.warn("alert is now deprecated. Use uib-alert instead.")}}}]),angular.module("ui.bootstrap.buttons",[]).constant("uibButtonConfig",{activeClass:"active",toggleEvent:"click"}).controller("UibButtonsController",["uibButtonConfig",function(a){this.activeClass=a.activeClass||"active",this.toggleEvent=a.toggleEvent||"click"}]).directive("uibBtnRadio",function(){return{require:["uibBtnRadio","ngModel"],controller:"UibButtonsController",controllerAs:"buttons",link:function(a,b,c,d){var e=d[0],f=d[1];b.find("input").css({display:"none"}),f.$render=function(){b.toggleClass(e.activeClass,angular.equals(f.$modelValue,a.$eval(c.uibBtnRadio)))},b.on(e.toggleEvent,function(){if(!c.disabled){var d=b.hasClass(e.activeClass);(!d||angular.isDefined(c.uncheckable))&&a.$apply(function(){f.$setViewValue(d?null:a.$eval(c.uibBtnRadio)),f.$render()})}})}}}).directive("uibBtnCheckbox",function(){return{require:["uibBtnCheckbox","ngModel"],controller:"UibButtonsController",controllerAs:"button",link:function(a,b,c,d){function e(){return g(c.btnCheckboxTrue,!0)}function f(){return g(c.btnCheckboxFalse,!1)}function g(b,c){return angular.isDefined(b)?a.$eval(b):c}var h=d[0],i=d[1];b.find("input").css({display:"none"}),i.$render=function(){b.toggleClass(h.activeClass,angular.equals(i.$modelValue,e()))},b.on(h.toggleEvent,function(){c.disabled||a.$apply(function(){i.$setViewValue(b.hasClass(h.activeClass)?f():e()),i.$render()})})}}}),angular.module("ui.bootstrap.buttons").value("$buttonsSuppressWarning",!1).controller("ButtonsController",["$controller","$log","$buttonsSuppressWarning",function(a,b,c){c||b.warn("ButtonsController is now deprecated. Use UibButtonsController instead."),angular.extend(this,a("UibButtonsController"))}]).directive("btnRadio",["$log","$buttonsSuppressWarning",function(a,b){return{require:["btnRadio","ngModel"],controller:"ButtonsController",controllerAs:"buttons",link:function(c,d,e,f){b||a.warn("btn-radio is now deprecated. Use uib-btn-radio instead.");var g=f[0],h=f[1];d.find("input").css({display:"none"}),h.$render=function(){d.toggleClass(g.activeClass,angular.equals(h.$modelValue,c.$eval(e.btnRadio)))},d.bind(g.toggleEvent,function(){if(!e.disabled){var a=d.hasClass(g.activeClass);(!a||angular.isDefined(e.uncheckable))&&c.$apply(function(){h.$setViewValue(a?null:c.$eval(e.btnRadio)),h.$render()})}})}}}]).directive("btnCheckbox",["$document","$log","$buttonsSuppressWarning",function(a,b,c){return{require:["btnCheckbox","ngModel"],controller:"ButtonsController",controllerAs:"button",link:function(d,e,f,g){function h(){return j(f.btnCheckboxTrue,!0)}function i(){return j(f.btnCheckboxFalse,!1)}function j(a,b){var c=d.$eval(a);return angular.isDefined(c)?c:b}c||b.warn("btn-checkbox is now deprecated. Use uib-btn-checkbox instead.");var k=g[0],l=g[1];e.find("input").css({display:"none"}),l.$render=function(){e.toggleClass(k.activeClass,angular.equals(l.$modelValue,h()))},e.bind(k.toggleEvent,function(){f.disabled||d.$apply(function(){l.$setViewValue(e.hasClass(k.activeClass)?i():h()),l.$render()})}),e.on("keypress",function(b){f.disabled||32!==b.which||a[0].activeElement!==e[0]||d.$apply(function(){l.$setViewValue(e.hasClass(k.activeClass)?i():h()),l.$render()})})}}}]),angular.module("ui.bootstrap.carousel",[]).controller("UibCarouselController",["$scope","$element","$interval","$animate",function(a,b,c,d){function e(b,c,e){s||(angular.extend(b,{direction:e,active:!0}),angular.extend(m.currentSlide||{},{direction:e,active:!1}),d.enabled()&&!a.noTransition&&!a.$currentTransition&&b.$element&&m.slides.length>1&&(b.$element.data(q,b.direction),m.currentSlide&&m.currentSlide.$element&&m.currentSlide.$element.data(q,b.direction),a.$currentTransition=!0,o?d.on("addClass",b.$element,function(b,c){"close"===c&&(a.$currentTransition=null,d.off("addClass",b))}):b.$element.one("$animate:close",function(){a.$currentTransition=null})),m.currentSlide=b,r=c,g())}function f(a){if(angular.isUndefined(n[a].index))return n[a];var b;n.length;for(b=0;b<n.length;++b)if(n[b].index==a)return n[b]}function g(){h();var b=+a.interval;!isNaN(b)&&b>0&&(k=c(i,b))}function h(){k&&(c.cancel(k),k=null)}function i(){var b=+a.interval;l&&!isNaN(b)&&b>0&&n.length?a.next():a.pause()}function j(b){b.length||(a.$currentTransition=null)}var k,l,m=this,n=m.slides=a.slides=[],o=angular.version.minor>=4,p="uib-noTransition",q="uib-slideDirection",r=-1;m.currentSlide=null;var s=!1;m.select=a.select=function(b,c){var d=a.indexOfSlide(b);void 0===c&&(c=d>m.getCurrentIndex()?"next":"prev"),b&&b!==m.currentSlide&&!a.$currentTransition&&e(b,d,c)},a.$on("$destroy",function(){s=!0}),m.getCurrentIndex=function(){return m.currentSlide&&angular.isDefined(m.currentSlide.index)?+m.currentSlide.index:r;
-},a.indexOfSlide=function(a){return angular.isDefined(a.index)?+a.index:n.indexOf(a)},a.next=function(){var b=(m.getCurrentIndex()+1)%n.length;return 0===b&&a.noWrap()?void a.pause():m.select(f(b),"next")},a.prev=function(){var b=m.getCurrentIndex()-1<0?n.length-1:m.getCurrentIndex()-1;return a.noWrap()&&b===n.length-1?void a.pause():m.select(f(b),"prev")},a.isActive=function(a){return m.currentSlide===a},a.$watch("interval",g),a.$watchCollection("slides",j),a.$on("$destroy",h),a.play=function(){l||(l=!0,g())},a.pause=function(){a.noPause||(l=!1,h())},m.addSlide=function(b,c){b.$element=c,n.push(b),1===n.length||b.active?(m.select(n[n.length-1]),1===n.length&&a.play()):b.active=!1},m.removeSlide=function(a){angular.isDefined(a.index)&&n.sort(function(a,b){return+a.index>+b.index});var b=n.indexOf(a);n.splice(b,1),n.length>0&&a.active?b>=n.length?m.select(n[b-1]):m.select(n[b]):r>b&&r--,0===n.length&&(m.currentSlide=null)},a.$watch("noTransition",function(a){b.data(p,a)})}]).directive("uibCarousel",[function(){return{transclude:!0,replace:!0,controller:"UibCarouselController",controllerAs:"carousel",require:"carousel",templateUrl:function(a,b){return b.templateUrl||"template/carousel/carousel.html"},scope:{interval:"=",noTransition:"=",noPause:"=",noWrap:"&"}}}]).directive("uibSlide",function(){return{require:"^uibCarousel",restrict:"EA",transclude:!0,replace:!0,templateUrl:function(a,b){return b.templateUrl||"template/carousel/slide.html"},scope:{active:"=?",actual:"=?",index:"=?"},link:function(a,b,c,d){d.addSlide(a,b),a.$on("$destroy",function(){d.removeSlide(a)}),a.$watch("active",function(b){b&&d.select(a)})}}}).animation(".item",["$injector","$animate",function(a,b){function c(a,b,c){a.removeClass(b),c&&c()}var d="uib-noTransition",e="uib-slideDirection",f=null;return a.has("$animateCss")&&(f=a.get("$animateCss")),{beforeAddClass:function(a,g,h){if("active"==g&&a.parent()&&a.parent().parent()&&!a.parent().parent().data(d)){var i=!1,j=a.data(e),k="next"==j?"left":"right",l=c.bind(this,a,k+" "+j,h);return a.addClass(j),f?f(a,{addClass:k}).start().done(l):b.addClass(a,k).then(function(){i||l(),h()}),function(){i=!0}}h()},beforeRemoveClass:function(a,g,h){if("active"===g&&a.parent()&&a.parent().parent()&&!a.parent().parent().data(d)){var i=!1,j=a.data(e),k="next"==j?"left":"right",l=c.bind(this,a,k,h);return f?f(a,{addClass:k}).start().done(l):b.addClass(a,k).then(function(){i||l(),h()}),function(){i=!0}}h()}}}]),angular.module("ui.bootstrap.carousel").value("$carouselSuppressWarning",!1).controller("CarouselController",["$scope","$element","$controller","$log","$carouselSuppressWarning",function(a,b,c,d,e){e||d.warn("CarouselController is now deprecated. Use UibCarouselController instead."),angular.extend(this,c("UibCarouselController",{$scope:a,$element:b}))}]).directive("carousel",["$log","$carouselSuppressWarning",function(a,b){return{transclude:!0,replace:!0,controller:"CarouselController",controllerAs:"carousel",require:"carousel",templateUrl:function(a,b){return b.templateUrl||"template/carousel/carousel.html"},scope:{interval:"=",noTransition:"=",noPause:"=",noWrap:"&"},link:function(){b||a.warn("carousel is now deprecated. Use uib-carousel instead.")}}}]).directive("slide",["$log","$carouselSuppressWarning",function(a,b){return{require:"^carousel",transclude:!0,replace:!0,templateUrl:function(a,b){return b.templateUrl||"template/carousel/slide.html"},scope:{active:"=?",actual:"=?",index:"=?"},link:function(c,d,e,f){b||a.warn("slide is now deprecated. Use uib-slide instead."),f.addSlide(c,d),c.$on("$destroy",function(){f.removeSlide(c)}),c.$watch("active",function(a){a&&f.select(c)})}}}]),angular.module("ui.bootstrap.dateparser",[]).service("uibDateParser",["$log","$locale","orderByFilter",function(a,b,c){function d(a){var b=[],d=a.split("");return angular.forEach(g,function(c,e){var f=a.indexOf(e);if(f>-1){a=a.split(""),d[f]="("+c.regex+")",a[f]="$";for(var g=f+1,h=f+e.length;h>g;g++)d[g]="",a[g]="$";a=a.join(""),b.push({index:f,apply:c.apply})}}),{regex:new RegExp("^"+d.join("")+"$"),map:c(b,"index")}}function e(a,b,c){return 1>c?!1:1===b&&c>28?29===c&&(a%4===0&&a%100!==0||a%400===0):3===b||5===b||8===b||10===b?31>c:!0}var f,g,h=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;this.init=function(){f=b.id,this.parsers={},g={yyyy:{regex:"\\d{4}",apply:function(a){this.year=+a}},yy:{regex:"\\d{2}",apply:function(a){this.year=+a+2e3}},y:{regex:"\\d{1,4}",apply:function(a){this.year=+a}},MMMM:{regex:b.DATETIME_FORMATS.MONTH.join("|"),apply:function(a){this.month=b.DATETIME_FORMATS.MONTH.indexOf(a)}},MMM:{regex:b.DATETIME_FORMATS.SHORTMONTH.join("|"),apply:function(a){this.month=b.DATETIME_FORMATS.SHORTMONTH.indexOf(a)}},MM:{regex:"0[1-9]|1[0-2]",apply:function(a){this.month=a-1}},M:{regex:"[1-9]|1[0-2]",apply:function(a){this.month=a-1}},dd:{regex:"[0-2][0-9]{1}|3[0-1]{1}",apply:function(a){this.date=+a}},d:{regex:"[1-2]?[0-9]{1}|3[0-1]{1}",apply:function(a){this.date=+a}},EEEE:{regex:b.DATETIME_FORMATS.DAY.join("|")},EEE:{regex:b.DATETIME_FORMATS.SHORTDAY.join("|")},HH:{regex:"(?:0|1)[0-9]|2[0-3]",apply:function(a){this.hours=+a}},hh:{regex:"0[0-9]|1[0-2]",apply:function(a){this.hours=+a}},H:{regex:"1?[0-9]|2[0-3]",apply:function(a){this.hours=+a}},h:{regex:"[0-9]|1[0-2]",apply:function(a){this.hours=+a}},mm:{regex:"[0-5][0-9]",apply:function(a){this.minutes=+a}},m:{regex:"[0-9]|[1-5][0-9]",apply:function(a){this.minutes=+a}},sss:{regex:"[0-9][0-9][0-9]",apply:function(a){this.milliseconds=+a}},ss:{regex:"[0-5][0-9]",apply:function(a){this.seconds=+a}},s:{regex:"[0-9]|[1-5][0-9]",apply:function(a){this.seconds=+a}},a:{regex:b.DATETIME_FORMATS.AMPMS.join("|"),apply:function(a){12===this.hours&&(this.hours=0),"PM"===a&&(this.hours+=12)}}}},this.init(),this.parse=function(c,g,i){if(!angular.isString(c)||!g)return c;g=b.DATETIME_FORMATS[g]||g,g=g.replace(h,"\\$&"),b.id!==f&&this.init(),this.parsers[g]||(this.parsers[g]=d(g));var j=this.parsers[g],k=j.regex,l=j.map,m=c.match(k);if(m&&m.length){var n,o;angular.isDate(i)&&!isNaN(i.getTime())?n={year:i.getFullYear(),month:i.getMonth(),date:i.getDate(),hours:i.getHours(),minutes:i.getMinutes(),seconds:i.getSeconds(),milliseconds:i.getMilliseconds()}:(i&&a.warn("dateparser:","baseDate is not a valid date"),n={year:1900,month:0,date:1,hours:0,minutes:0,seconds:0,milliseconds:0});for(var p=1,q=m.length;q>p;p++){var r=l[p-1];r.apply&&r.apply.call(n,m[p])}return e(n.year,n.month,n.date)&&(angular.isDate(i)&&!isNaN(i.getTime())?(o=new Date(i),o.setFullYear(n.year,n.month,n.date,n.hours,n.minutes,n.seconds,n.milliseconds||0)):o=new Date(n.year,n.month,n.date,n.hours,n.minutes,n.seconds,n.milliseconds||0)),o}}}]),angular.module("ui.bootstrap.dateparser").value("$dateParserSuppressWarning",!1).service("dateParser",["$log","$dateParserSuppressWarning","uibDateParser",function(a,b,c){b||a.warn("dateParser is now deprecated. Use uibDateParser instead."),angular.extend(this,c)}]),angular.module("ui.bootstrap.position",[]).factory("$uibPosition",["$document","$window",function(a,b){function c(a,c){return a.currentStyle?a.currentStyle[c]:b.getComputedStyle?b.getComputedStyle(a)[c]:a.style[c]}function d(a){return"static"===(c(a,"position")||"static")}var e=function(b){for(var c=a[0],e=b.offsetParent||c;e&&e!==c&&d(e);)e=e.offsetParent;return e||c};return{position:function(b){var c=this.offset(b),d={top:0,left:0},f=e(b[0]);f!=a[0]&&(d=this.offset(angular.element(f)),d.top+=f.clientTop-f.scrollTop,d.left+=f.clientLeft-f.scrollLeft);var g=b[0].getBoundingClientRect();return{width:g.width||b.prop("offsetWidth"),height:g.height||b.prop("offsetHeight"),top:c.top-d.top,left:c.left-d.left}},offset:function(c){var d=c[0].getBoundingClientRect();return{width:d.width||c.prop("offsetWidth"),height:d.height||c.prop("offsetHeight"),top:d.top+(b.pageYOffset||a[0].documentElement.scrollTop),left:d.left+(b.pageXOffset||a[0].documentElement.scrollLeft)}},positionElements:function(a,b,c,d){var e,f,g,h,i=c.split("-"),j=i[0],k=i[1]||"center";e=d?this.offset(a):this.position(a),f=b.prop("offsetWidth"),g=b.prop("offsetHeight");var l={center:function(){return e.left+e.width/2-f/2},left:function(){return e.left},right:function(){return e.left+e.width}},m={center:function(){return e.top+e.height/2-g/2},top:function(){return e.top},bottom:function(){return e.top+e.height}};switch(j){case"right":h={top:m[k](),left:l[j]()};break;case"left":h={top:m[k](),left:e.left-f};break;case"bottom":h={top:m[j](),left:l[k]()};break;default:h={top:e.top-g,left:l[k]()}}return h}}}]),angular.module("ui.bootstrap.position").value("$positionSuppressWarning",!1).service("$position",["$log","$positionSuppressWarning","$uibPosition",function(a,b,c){b||a.warn("$position is now deprecated. Use $uibPosition instead."),angular.extend(this,c)}]),angular.module("ui.bootstrap.datepicker",["ui.bootstrap.dateparser","ui.bootstrap.position"]).value("$datepickerSuppressError",!1).constant("uibDatepickerConfig",{formatDay:"dd",formatMonth:"MMMM",formatYear:"yyyy",formatDayHeader:"EEE",formatDayTitle:"MMMM yyyy",formatMonthTitle:"yyyy",datepickerMode:"day",minMode:"day",maxMode:"year",showWeeks:!0,startingDay:0,yearRange:20,minDate:null,maxDate:null,shortcutPropagation:!1}).controller("UibDatepickerController",["$scope","$attrs","$parse","$interpolate","$log","dateFilter","uibDatepickerConfig","$datepickerSuppressError",function(a,b,c,d,e,f,g,h){var i=this,j={$setViewValue:angular.noop};this.modes=["day","month","year"],angular.forEach(["formatDay","formatMonth","formatYear","formatDayHeader","formatDayTitle","formatMonthTitle","showWeeks","startingDay","yearRange","shortcutPropagation"],function(c,e){i[c]=angular.isDefined(b[c])?6>e?d(b[c])(a.$parent):a.$parent.$eval(b[c]):g[c]}),angular.forEach(["minDate","maxDate"],function(d){b[d]?a.$parent.$watch(c(b[d]),function(a){i[d]=a?new Date(a):null,i.refreshView()}):i[d]=g[d]?new Date(g[d]):null}),angular.forEach(["minMode","maxMode"],function(d){b[d]?a.$parent.$watch(c(b[d]),function(c){i[d]=angular.isDefined(c)?c:b[d],a[d]=i[d],("minMode"==d&&i.modes.indexOf(a.datepickerMode)<i.modes.indexOf(i[d])||"maxMode"==d&&i.modes.indexOf(a.datepickerMode)>i.modes.indexOf(i[d]))&&(a.datepickerMode=i[d])}):(i[d]=g[d]||null,a[d]=i[d])}),a.datepickerMode=a.datepickerMode||g.datepickerMode,a.uniqueId="datepicker-"+a.$id+"-"+Math.floor(1e4*Math.random()),angular.isDefined(b.initDate)?(this.activeDate=a.$parent.$eval(b.initDate)||new Date,a.$parent.$watch(b.initDate,function(a){a&&(j.$isEmpty(j.$modelValue)||j.$invalid)&&(i.activeDate=a,i.refreshView())})):this.activeDate=new Date,a.isActive=function(b){return 0===i.compare(b.date,i.activeDate)?(a.activeDateId=b.uid,!0):!1},this.init=function(a){j=a,j.$render=function(){i.render()}},this.render=function(){if(j.$viewValue){var a=new Date(j.$viewValue),b=!isNaN(a);b?this.activeDate=a:h||e.error('Datepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')}this.refreshView()},this.refreshView=function(){if(this.element){this._refreshView();var a=j.$viewValue?new Date(j.$viewValue):null;j.$setValidity("dateDisabled",!a||this.element&&!this.isDisabled(a))}},this.createDateObject=function(a,b){var c=j.$viewValue?new Date(j.$viewValue):null;return{date:a,label:f(a,b),selected:c&&0===this.compare(a,c),disabled:this.isDisabled(a),current:0===this.compare(a,new Date),customClass:this.customClass(a)}},this.isDisabled=function(c){return this.minDate&&this.compare(c,this.minDate)<0||this.maxDate&&this.compare(c,this.maxDate)>0||b.dateDisabled&&a.dateDisabled({date:c,mode:a.datepickerMode})},this.customClass=function(b){return a.customClass({date:b,mode:a.datepickerMode})},this.split=function(a,b){for(var c=[];a.length>0;)c.push(a.splice(0,b));return c},a.select=function(b){if(a.datepickerMode===i.minMode){var c=j.$viewValue?new Date(j.$viewValue):new Date(0,0,0,0,0,0,0);c.setFullYear(b.getFullYear(),b.getMonth(),b.getDate()),j.$setViewValue(c),j.$render()}else i.activeDate=b,a.datepickerMode=i.modes[i.modes.indexOf(a.datepickerMode)-1]},a.move=function(a){var b=i.activeDate.getFullYear()+a*(i.step.years||0),c=i.activeDate.getMonth()+a*(i.step.months||0);i.activeDate.setFullYear(b,c,1),i.refreshView()},a.toggleMode=function(b){b=b||1,a.datepickerMode===i.maxMode&&1===b||a.datepickerMode===i.minMode&&-1===b||(a.datepickerMode=i.modes[i.modes.indexOf(a.datepickerMode)+b])},a.keys={13:"enter",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down"};var k=function(){i.element[0].focus()};a.$on("uib:datepicker.focus",k),a.keydown=function(b){var c=a.keys[b.which];if(c&&!b.shiftKey&&!b.altKey)if(b.preventDefault(),i.shortcutPropagation||b.stopPropagation(),"enter"===c||"space"===c){if(i.isDisabled(i.activeDate))return;a.select(i.activeDate)}else!b.ctrlKey||"up"!==c&&"down"!==c?(i.handleKeyDown(c,b),i.refreshView()):a.toggleMode("up"===c?1:-1)}}]).controller("UibDaypickerController",["$scope","$element","dateFilter",function(a,b,c){function d(a,b){return 1!==b||a%4!==0||a%100===0&&a%400!==0?f[b]:29}function e(a){var b=new Date(a);b.setDate(b.getDate()+4-(b.getDay()||7));var c=b.getTime();return b.setMonth(0),b.setDate(1),Math.floor(Math.round((c-b)/864e5)/7)+1}var f=[31,28,31,30,31,30,31,31,30,31,30,31];this.step={months:1},this.element=b,this.init=function(b){angular.extend(b,this),a.showWeeks=b.showWeeks,b.refreshView()},this.getDates=function(a,b){for(var c,d=new Array(b),e=new Date(a),f=0;b>f;)c=new Date(e),d[f++]=c,e.setDate(e.getDate()+1);return d},this._refreshView=function(){var b=this.activeDate.getFullYear(),d=this.activeDate.getMonth(),f=new Date(this.activeDate);f.setFullYear(b,d,1);var g=this.startingDay-f.getDay(),h=g>0?7-g:-g,i=new Date(f);h>0&&i.setDate(-h+1);for(var j=this.getDates(i,42),k=0;42>k;k++)j[k]=angular.extend(this.createDateObject(j[k],this.formatDay),{secondary:j[k].getMonth()!==d,uid:a.uniqueId+"-"+k});a.labels=new Array(7);for(var l=0;7>l;l++)a.labels[l]={abbr:c(j[l].date,this.formatDayHeader),full:c(j[l].date,"EEEE")};if(a.title=c(this.activeDate,this.formatDayTitle),a.rows=this.split(j,7),a.showWeeks){a.weekNumbers=[];for(var m=(11-this.startingDay)%7,n=a.rows.length,o=0;n>o;o++)a.weekNumbers.push(e(a.rows[o][m].date))}},this.compare=function(a,b){return new Date(a.getFullYear(),a.getMonth(),a.getDate())-new Date(b.getFullYear(),b.getMonth(),b.getDate())},this.handleKeyDown=function(a,b){var c=this.activeDate.getDate();if("left"===a)c-=1;else if("up"===a)c-=7;else if("right"===a)c+=1;else if("down"===a)c+=7;else if("pageup"===a||"pagedown"===a){var e=this.activeDate.getMonth()+("pageup"===a?-1:1);this.activeDate.setMonth(e,1),c=Math.min(d(this.activeDate.getFullYear(),this.activeDate.getMonth()),c)}else"home"===a?c=1:"end"===a&&(c=d(this.activeDate.getFullYear(),this.activeDate.getMonth()));this.activeDate.setDate(c)}}]).controller("UibMonthpickerController",["$scope","$element","dateFilter",function(a,b,c){this.step={years:1},this.element=b,this.init=function(a){angular.extend(a,this),a.refreshView()},this._refreshView=function(){for(var b,d=new Array(12),e=this.activeDate.getFullYear(),f=0;12>f;f++)b=new Date(this.activeDate),b.setFullYear(e,f,1),d[f]=angular.extend(this.createDateObject(b,this.formatMonth),{uid:a.uniqueId+"-"+f});a.title=c(this.activeDate,this.formatMonthTitle),a.rows=this.split(d,3)},this.compare=function(a,b){return new Date(a.getFullYear(),a.getMonth())-new Date(b.getFullYear(),b.getMonth())},this.handleKeyDown=function(a,b){var c=this.activeDate.getMonth();if("left"===a)c-=1;else if("up"===a)c-=3;else if("right"===a)c+=1;else if("down"===a)c+=3;else if("pageup"===a||"pagedown"===a){var d=this.activeDate.getFullYear()+("pageup"===a?-1:1);this.activeDate.setFullYear(d)}else"home"===a?c=0:"end"===a&&(c=11);this.activeDate.setMonth(c)}}]).controller("UibYearpickerController",["$scope","$element","dateFilter",function(a,b,c){function d(a){return parseInt((a-1)/e,10)*e+1}var e;this.element=b,this.yearpickerInit=function(){e=this.yearRange,this.step={years:e}},this._refreshView=function(){for(var b,c=new Array(e),f=0,g=d(this.activeDate.getFullYear());e>f;f++)b=new Date(this.activeDate),b.setFullYear(g+f,0,1),c[f]=angular.extend(this.createDateObject(b,this.formatYear),{uid:a.uniqueId+"-"+f});a.title=[c[0].label,c[e-1].label].join(" - "),a.rows=this.split(c,5)},this.compare=function(a,b){return a.getFullYear()-b.getFullYear()},this.handleKeyDown=function(a,b){var c=this.activeDate.getFullYear();"left"===a?c-=1:"up"===a?c-=5:"right"===a?c+=1:"down"===a?c+=5:"pageup"===a||"pagedown"===a?c+=("pageup"===a?-1:1)*this.step.years:"home"===a?c=d(this.activeDate.getFullYear()):"end"===a&&(c=d(this.activeDate.getFullYear())+e-1),this.activeDate.setFullYear(c)}}]).directive("uibDatepicker",function(){return{replace:!0,templateUrl:function(a,b){return b.templateUrl||"template/datepicker/datepicker.html"},scope:{datepickerMode:"=?",dateDisabled:"&",customClass:"&",shortcutPropagation:"&?"},require:["uibDatepicker","^ngModel"],controller:"UibDatepickerController",controllerAs:"datepicker",link:function(a,b,c,d){var e=d[0],f=d[1];e.init(f)}}}).directive("uibDaypicker",function(){return{replace:!0,templateUrl:function(a,b){return b.templateUrl||"template/datepicker/day.html"},require:["^?uibDatepicker","uibDaypicker","^?datepicker"],controller:"UibDaypickerController",link:function(a,b,c,d){var e=d[0]||d[2],f=d[1];f.init(e)}}}).directive("uibMonthpicker",function(){return{replace:!0,templateUrl:function(a,b){return b.templateUrl||"template/datepicker/month.html"},require:["^?uibDatepicker","uibMonthpicker","^?datepicker"],controller:"UibMonthpickerController",link:function(a,b,c,d){var e=d[0]||d[2],f=d[1];f.init(e)}}}).directive("uibYearpicker",function(){return{replace:!0,templateUrl:function(a,b){return b.templateUrl||"template/datepicker/year.html"},require:["^?uibDatepicker","uibYearpicker","^?datepicker"],controller:"UibYearpickerController",link:function(a,b,c,d){var e=d[0]||d[2];angular.extend(e,d[1]),e.yearpickerInit(),e.refreshView()}}}).constant("uibDatepickerPopupConfig",{datepickerPopup:"yyyy-MM-dd",datepickerPopupTemplateUrl:"template/datepicker/popup.html",datepickerTemplateUrl:"template/datepicker/datepicker.html",html5Types:{date:"yyyy-MM-dd","datetime-local":"yyyy-MM-ddTHH:mm:ss.sss",month:"yyyy-MM"},currentText:"Today",clearText:"Clear",closeText:"Done",closeOnDateSelection:!0,appendToBody:!1,showButtonBar:!0,onOpenFocus:!0}).controller("UibDatepickerPopupController",["$scope","$element","$attrs","$compile","$parse","$document","$rootScope","$uibPosition","dateFilter","uibDateParser","uibDatepickerPopupConfig","$timeout",function(a,b,c,d,e,f,g,h,i,j,k,l){function m(a){return a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()})}function n(b){angular.isNumber(b)&&(b=new Date(b));{if(!b)return null;if(angular.isDate(b)&&!isNaN(b))return b;if(angular.isString(b)){var c=j.parse(b,r,a.date);return isNaN(c)?void 0:c}}}function o(a,b){var d=a||b;if(!c.ngRequired&&!d)return!0;if(angular.isNumber(d)&&(d=new Date(d)),d){if(angular.isDate(d)&&!isNaN(d))return!0;if(angular.isString(d)){var e=j.parse(d,r);return!isNaN(e)}return!1}return!0}function p(c){var d=A[0],e=b[0].contains(c.target),f=void 0!==d.contains&&d.contains(c.target);!a.isOpen||e||f||a.$apply(function(){a.isOpen=!1})}function q(c){27===c.which&&a.isOpen?(c.preventDefault(),c.stopPropagation(),a.$apply(function(){a.isOpen=!1}),b[0].focus()):40!==c.which||a.isOpen||(c.preventDefault(),c.stopPropagation(),a.$apply(function(){a.isOpen=!0}))}var r,s,t,u,v,w,x,y,z,A,B={},C=!1;a.watchData={},this.init=function(h){if(z=h,s=angular.isDefined(c.closeOnDateSelection)?a.$parent.$eval(c.closeOnDateSelection):k.closeOnDateSelection,t=angular.isDefined(c.datepickerAppendToBody)?a.$parent.$eval(c.datepickerAppendToBody):k.appendToBody,u=angular.isDefined(c.onOpenFocus)?a.$parent.$eval(c.onOpenFocus):k.onOpenFocus,v=angular.isDefined(c.datepickerPopupTemplateUrl)?c.datepickerPopupTemplateUrl:k.datepickerPopupTemplateUrl,w=angular.isDefined(c.datepickerTemplateUrl)?c.datepickerTemplateUrl:k.datepickerTemplateUrl,a.showButtonBar=angular.isDefined(c.showButtonBar)?a.$parent.$eval(c.showButtonBar):k.showButtonBar,k.html5Types[c.type]?(r=k.html5Types[c.type],C=!0):(r=c.datepickerPopup||c.uibDatepickerPopup||k.datepickerPopup,c.$observe("uibDatepickerPopup",function(a,b){var c=a||k.datepickerPopup;if(c!==r&&(r=c,z.$modelValue=null,!r))throw new Error("uibDatepickerPopup must have a date format specified.")})),!r)throw new Error("uibDatepickerPopup must have a date format specified.");if(C&&c.datepickerPopup)throw new Error("HTML5 date input types do not support custom formats.");if(x=angular.element("<div uib-datepicker-popup-wrap><div uib-datepicker></div></div>"),x.attr({"ng-model":"date","ng-change":"dateSelection(date)","template-url":v}),y=angular.element(x.children()[0]),y.attr("template-url",w),C&&"month"===c.type&&(y.attr("datepicker-mode",'"month"'),y.attr("min-mode","month")),c.datepickerOptions){var l=a.$parent.$eval(c.datepickerOptions);l&&l.initDate&&(a.initDate=l.initDate,y.attr("init-date","initDate"),delete l.initDate),angular.forEach(l,function(a,b){y.attr(m(b),a)})}angular.forEach(["minMode","maxMode","minDate","maxDate","datepickerMode","initDate","shortcutPropagation"],function(b){if(c[b]){var d=e(c[b]);if(a.$parent.$watch(d,function(c){a.watchData[b]=c,("minDate"===b||"maxDate"===b)&&(B[b]=new Date(c))}),y.attr(m(b),"watchData."+b),"datepickerMode"===b){var f=d.assign;a.$watch("watchData."+b,function(b,c){angular.isFunction(f)&&b!==c&&f(a.$parent,b)})}}}),c.dateDisabled&&y.attr("date-disabled","dateDisabled({ date: date, mode: mode })"),c.showWeeks&&y.attr("show-weeks",c.showWeeks),c.customClass&&y.attr("custom-class","customClass({ date: date, mode: mode })"),C?z.$formatters.push(function(b){return a.date=b,b}):(z.$$parserName="date",z.$validators.date=o,z.$parsers.unshift(n),z.$formatters.push(function(b){return a.date=b,z.$isEmpty(b)?b:i(b,r)})),z.$viewChangeListeners.push(function(){a.date=j.parse(z.$viewValue,r,a.date)}),b.bind("keydown",q),A=d(x)(a),x.remove(),t?f.find("body").append(A):b.after(A),a.$on("$destroy",function(){a.isOpen===!0&&(g.$$phase||a.$apply(function(){a.isOpen=!1})),A.remove(),b.unbind("keydown",q),f.unbind("click",p)})},a.getText=function(b){return a[b+"Text"]||k[b+"Text"]},a.isDisabled=function(b){return"today"===b&&(b=new Date),a.watchData.minDate&&a.compare(b,B.minDate)<0||a.watchData.maxDate&&a.compare(b,B.maxDate)>0},a.compare=function(a,b){return new Date(a.getFullYear(),a.getMonth(),a.getDate())-new Date(b.getFullYear(),b.getMonth(),b.getDate())},a.dateSelection=function(c){angular.isDefined(c)&&(a.date=c);var d=a.date?i(a.date,r):null;b.val(d),z.$setViewValue(d),s&&(a.isOpen=!1,b[0].focus())},a.keydown=function(c){27===c.which&&(a.isOpen=!1,b[0].focus())},a.select=function(b){if("today"===b){var c=new Date;angular.isDate(a.date)?(b=new Date(a.date),b.setFullYear(c.getFullYear(),c.getMonth(),c.getDate())):b=new Date(c.setHours(0,0,0,0))}a.dateSelection(b)},a.close=function(){a.isOpen=!1,b[0].focus()},a.$watch("isOpen",function(c){c?(a.position=t?h.offset(b):h.position(b),a.position.top=a.position.top+b.prop("offsetHeight"),l(function(){u&&a.$broadcast("uib:datepicker.focus"),f.bind("click",p)},0,!1)):f.unbind("click",p)})}]).directive("uibDatepickerPopup",function(){return{require:["ngModel","uibDatepickerPopup"],controller:"UibDatepickerPopupController",scope:{isOpen:"=?",currentText:"@",clearText:"@",closeText:"@",dateDisabled:"&",customClass:"&"},link:function(a,b,c,d){var e=d[0],f=d[1];f.init(e)}}}).directive("uibDatepickerPopupWrap",function(){return{replace:!0,transclude:!0,templateUrl:function(a,b){return b.templateUrl||"template/datepicker/popup.html"}}}),angular.module("ui.bootstrap.datepicker").value("$datepickerSuppressWarning",!1).controller("DatepickerController",["$scope","$attrs","$parse","$interpolate","$log","dateFilter","uibDatepickerConfig","$datepickerSuppressError","$datepickerSuppressWarning",function(a,b,c,d,e,f,g,h,i){i||e.warn("DatepickerController is now deprecated. Use UibDatepickerController instead.");var j=this,k={$setViewValue:angular.noop};this.modes=["day","month","year"],angular.forEach(["formatDay","formatMonth","formatYear","formatDayHeader","formatDayTitle","formatMonthTitle","showWeeks","startingDay","yearRange","shortcutPropagation"],function(c,e){j[c]=angular.isDefined(b[c])?6>e?d(b[c])(a.$parent):a.$parent.$eval(b[c]):g[c]}),angular.forEach(["minDate","maxDate"],function(d){b[d]?a.$parent.$watch(c(b[d]),function(a){j[d]=a?new Date(a):null,j.refreshView()}):j[d]=g[d]?new Date(g[d]):null}),angular.forEach(["minMode","maxMode"],function(d){b[d]?a.$parent.$watch(c(b[d]),function(c){j[d]=angular.isDefined(c)?c:b[d],a[d]=j[d],("minMode"==d&&j.modes.indexOf(a.datepickerMode)<j.modes.indexOf(j[d])||"maxMode"==d&&j.modes.indexOf(a.datepickerMode)>j.modes.indexOf(j[d]))&&(a.datepickerMode=j[d])}):(j[d]=g[d]||null,a[d]=j[d])}),a.datepickerMode=a.datepickerMode||g.datepickerMode,a.uniqueId="datepicker-"+a.$id+"-"+Math.floor(1e4*Math.random()),angular.isDefined(b.initDate)?(this.activeDate=a.$parent.$eval(b.initDate)||new Date,a.$parent.$watch(b.initDate,function(a){a&&(k.$isEmpty(k.$modelValue)||k.$invalid)&&(j.activeDate=a,j.refreshView())})):this.activeDate=new Date,a.isActive=function(b){return 0===j.compare(b.date,j.activeDate)?(a.activeDateId=b.uid,!0):!1},this.init=function(a){k=a,k.$render=function(){j.render()}},this.render=function(){if(k.$viewValue){var a=new Date(k.$viewValue),b=!isNaN(a);b?this.activeDate=a:h||e.error('Datepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')}this.refreshView()},this.refreshView=function(){if(this.element){this._refreshView();var a=k.$viewValue?new Date(k.$viewValue):null;k.$setValidity("dateDisabled",!a||this.element&&!this.isDisabled(a))}},this.createDateObject=function(a,b){var c=k.$viewValue?new Date(k.$viewValue):null;return{date:a,label:f(a,b),selected:c&&0===this.compare(a,c),disabled:this.isDisabled(a),current:0===this.compare(a,new Date),customClass:this.customClass(a)}},this.isDisabled=function(c){return this.minDate&&this.compare(c,this.minDate)<0||this.maxDate&&this.compare(c,this.maxDate)>0||b.dateDisabled&&a.dateDisabled({date:c,mode:a.datepickerMode})},this.customClass=function(b){return a.customClass({date:b,mode:a.datepickerMode})},this.split=function(a,b){for(var c=[];a.length>0;)c.push(a.splice(0,b));return c},this.fixTimeZone=function(a){var b=a.getHours();a.setHours(23===b?b+2:0)},a.select=function(b){if(a.datepickerMode===j.minMode){var c=k.$viewValue?new Date(k.$viewValue):new Date(0,0,0,0,0,0,0);c.setFullYear(b.getFullYear(),b.getMonth(),b.getDate()),k.$setViewValue(c),k.$render()}else j.activeDate=b,a.datepickerMode=j.modes[j.modes.indexOf(a.datepickerMode)-1]},a.move=function(a){var b=j.activeDate.getFullYear()+a*(j.step.years||0),c=j.activeDate.getMonth()+a*(j.step.months||0);j.activeDate.setFullYear(b,c,1),j.refreshView()},a.toggleMode=function(b){b=b||1,a.datepickerMode===j.maxMode&&1===b||a.datepickerMode===j.minMode&&-1===b||(a.datepickerMode=j.modes[j.modes.indexOf(a.datepickerMode)+b])},a.keys={13:"enter",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down"};var l=function(){j.element[0].focus()};a.$on("uib:datepicker.focus",l),a.keydown=function(b){var c=a.keys[b.which];if(c&&!b.shiftKey&&!b.altKey)if(b.preventDefault(),j.shortcutPropagation||b.stopPropagation(),"enter"===c||"space"===c){if(j.isDisabled(j.activeDate))return;a.select(j.activeDate)}else!b.ctrlKey||"up"!==c&&"down"!==c?(j.handleKeyDown(c,b),j.refreshView()):a.toggleMode("up"===c?1:-1)}}]).directive("datepicker",["$log","$datepickerSuppressWarning",function(a,b){return{replace:!0,templateUrl:function(a,b){return b.templateUrl||"template/datepicker/datepicker.html"},scope:{datepickerMode:"=?",dateDisabled:"&",customClass:"&",shortcutPropagation:"&?"},require:["datepicker","^ngModel"],controller:"DatepickerController",controllerAs:"datepicker",link:function(c,d,e,f){b||a.warn("datepicker is now deprecated. Use uib-datepicker instead.");var g=f[0],h=f[1];g.init(h)}}}]).directive("daypicker",["$log","$datepickerSuppressWarning",function(a,b){return{replace:!0,templateUrl:"template/datepicker/day.html",require:["^datepicker","daypicker"],controller:"UibDaypickerController",link:function(c,d,e,f){b||a.warn("daypicker is now deprecated. Use uib-daypicker instead.");var g=f[0],h=f[1];h.init(g)}}}]).directive("monthpicker",["$log","$datepickerSuppressWarning",function(a,b){return{replace:!0,templateUrl:"template/datepicker/month.html",require:["^datepicker","monthpicker"],controller:"UibMonthpickerController",link:function(c,d,e,f){b||a.warn("monthpicker is now deprecated. Use uib-monthpicker instead.");var g=f[0],h=f[1];h.init(g)}}}]).directive("yearpicker",["$log","$datepickerSuppressWarning",function(a,b){return{replace:!0,templateUrl:"template/datepicker/year.html",require:["^datepicker","yearpicker"],controller:"UibYearpickerController",link:function(c,d,e,f){b||a.warn("yearpicker is now deprecated. Use uib-yearpicker instead.");var g=f[0];angular.extend(g,f[1]),g.yearpickerInit(),g.refreshView()}}}]).directive("datepickerPopup",["$log","$datepickerSuppressWarning",function(a,b){return{require:["ngModel","datepickerPopup"],controller:"UibDatepickerPopupController",scope:{isOpen:"=?",currentText:"@",clearText:"@",closeText:"@",dateDisabled:"&",customClass:"&"},link:function(c,d,e,f){b||a.warn("datepicker-popup is now deprecated. Use uib-datepicker-popup instead.");var g=f[0],h=f[1];h.init(g)}}}]).directive("datepickerPopupWrap",["$log","$datepickerSuppressWarning",function(a,b){return{replace:!0,transclude:!0,templateUrl:function(a,b){return b.templateUrl||"template/datepicker/popup.html"},link:function(){b||a.warn("datepicker-popup-wrap is now deprecated. Use uib-datepicker-popup-wrap instead.")}}}]),angular.module("ui.bootstrap.dropdown",["ui.bootstrap.position"]).constant("uibDropdownConfig",{openClass:"open"}).service("uibDropdownService",["$document","$rootScope",function(a,b){var c=null;this.open=function(b){c||(a.bind("click",d),a.bind("keydown",e)),c&&c!==b&&(c.isOpen=!1),c=b},this.close=function(b){c===b&&(c=null,a.unbind("click",d),a.unbind("keydown",e))};var d=function(a){if(c&&(!a||"disabled"!==c.getAutoClose())){var d=c.getToggleElement();if(!(a&&d&&d[0].contains(a.target))){var e=c.getDropdownElement();a&&"outsideClick"===c.getAutoClose()&&e&&e[0].contains(a.target)||(c.isOpen=!1,b.$$phase||c.$apply())}}},e=function(a){27===a.which?(c.focusToggleElement(),d()):c.isKeynavEnabled()&&/(38|40)/.test(a.which)&&c.isOpen&&(a.preventDefault(),a.stopPropagation(),c.focusDropdownEntry(a.which))}}]).controller("UibDropdownController",["$scope","$element","$attrs","$parse","uibDropdownConfig","uibDropdownService","$animate","$uibPosition","$document","$compile","$templateRequest",function(a,b,c,d,e,f,g,h,i,j,k){var l,m,n=this,o=a.$new(),p=e.openClass,q=angular.noop,r=c.onToggle?d(c.onToggle):angular.noop,s=!1,t=!1;b.addClass("dropdown"),this.init=function(){c.isOpen&&(m=d(c.isOpen),q=m.assign,a.$watch(m,function(a){o.isOpen=!!a})),s=angular.isDefined(c.dropdownAppendToBody),t=angular.isDefined(c.uibKeyboardNav),s&&n.dropdownMenu&&(i.find("body").append(n.dropdownMenu),b.on("$destroy",function(){n.dropdownMenu.remove()}))},this.toggle=function(a){return o.isOpen=arguments.length?!!a:!o.isOpen},this.isOpen=function(){return o.isOpen},o.getToggleElement=function(){return n.toggleElement},o.getAutoClose=function(){return c.autoClose||"always"},o.getElement=function(){return b},o.isKeynavEnabled=function(){return t},o.focusDropdownEntry=function(a){var c=n.dropdownMenu?angular.element(n.dropdownMenu).find("a"):angular.element(b).find("ul").eq(0).find("a");switch(a){case 40:angular.isNumber(n.selectedOption)?n.selectedOption=n.selectedOption===c.length-1?n.selectedOption:n.selectedOption+1:n.selectedOption=0;
-break;case 38:angular.isNumber(n.selectedOption)?n.selectedOption=0===n.selectedOption?0:n.selectedOption-1:n.selectedOption=c.length-1}c[n.selectedOption].focus()},o.getDropdownElement=function(){return n.dropdownMenu},o.focusToggleElement=function(){n.toggleElement&&n.toggleElement[0].focus()},o.$watch("isOpen",function(c,d){if(s&&n.dropdownMenu){var e=h.positionElements(b,n.dropdownMenu,"bottom-left",!0),i={top:e.top+"px",display:c?"block":"none"},m=n.dropdownMenu.hasClass("dropdown-menu-right");m?(i.left="auto",i.right=window.innerWidth-(e.left+b.prop("offsetWidth"))+"px"):(i.left=e.left+"px",i.right="auto"),n.dropdownMenu.css(i)}if(g[c?"addClass":"removeClass"](b,p).then(function(){angular.isDefined(c)&&c!==d&&r(a,{open:!!c})}),c)n.dropdownMenuTemplateUrl&&k(n.dropdownMenuTemplateUrl).then(function(a){l=o.$new(),j(a.trim())(l,function(a){var b=a;n.dropdownMenu.replaceWith(b),n.dropdownMenu=b})}),o.focusToggleElement(),f.open(o);else{if(n.dropdownMenuTemplateUrl){l&&l.$destroy();var t=angular.element('<ul class="dropdown-menu"></ul>');n.dropdownMenu.replaceWith(t),n.dropdownMenu=t}f.close(o),n.selectedOption=null}angular.isFunction(q)&&q(a,c)}),a.$on("$locationChangeSuccess",function(){"disabled"!==o.getAutoClose()&&(o.isOpen=!1)});var u=a.$on("$destroy",function(){o.$destroy()});o.$on("$destroy",u)}]).directive("uibDropdown",function(){return{controller:"UibDropdownController",link:function(a,b,c,d){d.init()}}}).directive("uibDropdownMenu",function(){return{restrict:"AC",require:"?^uibDropdown",link:function(a,b,c,d){if(d&&!angular.isDefined(c.dropdownNested)){b.addClass("dropdown-menu");var e=c.templateUrl;e&&(d.dropdownMenuTemplateUrl=e),d.dropdownMenu||(d.dropdownMenu=b)}}}}).directive("uibKeyboardNav",function(){return{restrict:"A",require:"?^uibDropdown",link:function(a,b,c,d){b.bind("keydown",function(a){if(-1!==[38,40].indexOf(a.which)){a.preventDefault(),a.stopPropagation();var b=d.dropdownMenu.find("a");switch(a.which){case 40:angular.isNumber(d.selectedOption)?d.selectedOption=d.selectedOption===b.length-1?d.selectedOption:d.selectedOption+1:d.selectedOption=0;break;case 38:angular.isNumber(d.selectedOption)?d.selectedOption=0===d.selectedOption?0:d.selectedOption-1:d.selectedOption=b.length-1}b[d.selectedOption].focus()}})}}}).directive("uibDropdownToggle",function(){return{require:"?^uibDropdown",link:function(a,b,c,d){if(d){b.addClass("dropdown-toggle"),d.toggleElement=b;var e=function(e){e.preventDefault(),b.hasClass("disabled")||c.disabled||a.$apply(function(){d.toggle()})};b.bind("click",e),b.attr({"aria-haspopup":!0,"aria-expanded":!1}),a.$watch(d.isOpen,function(a){b.attr("aria-expanded",!!a)}),a.$on("$destroy",function(){b.unbind("click",e)})}}}}),angular.module("ui.bootstrap.dropdown").value("$dropdownSuppressWarning",!1).service("dropdownService",["$log","$dropdownSuppressWarning","uibDropdownService",function(a,b,c){b||a.warn("dropdownService is now deprecated. Use uibDropdownService instead."),angular.extend(this,c)}]).controller("DropdownController",["$scope","$element","$attrs","$parse","uibDropdownConfig","uibDropdownService","$animate","$uibPosition","$document","$compile","$templateRequest","$log","$dropdownSuppressWarning",function(a,b,c,d,e,f,g,h,i,j,k,l,m){m||l.warn("DropdownController is now deprecated. Use UibDropdownController instead.");var n,o,p=this,q=a.$new(),r=e.openClass,s=angular.noop,t=c.onToggle?d(c.onToggle):angular.noop,u=!1,v=!1;b.addClass("dropdown"),this.init=function(){c.isOpen&&(o=d(c.isOpen),s=o.assign,a.$watch(o,function(a){q.isOpen=!!a})),u=angular.isDefined(c.dropdownAppendToBody),v=angular.isDefined(c.uibKeyboardNav),u&&p.dropdownMenu&&(i.find("body").append(p.dropdownMenu),b.on("$destroy",function(){p.dropdownMenu.remove()}))},this.toggle=function(a){return q.isOpen=arguments.length?!!a:!q.isOpen},this.isOpen=function(){return q.isOpen},q.getToggleElement=function(){return p.toggleElement},q.getAutoClose=function(){return c.autoClose||"always"},q.getElement=function(){return b},q.isKeynavEnabled=function(){return v},q.focusDropdownEntry=function(a){var c=p.dropdownMenu?angular.element(p.dropdownMenu).find("a"):angular.element(b).find("ul").eq(0).find("a");switch(a){case 40:angular.isNumber(p.selectedOption)?p.selectedOption=p.selectedOption===c.length-1?p.selectedOption:p.selectedOption+1:p.selectedOption=0;break;case 38:angular.isNumber(p.selectedOption)?p.selectedOption=0===p.selectedOption?0:p.selectedOption-1:p.selectedOption=c.length-1}c[p.selectedOption].focus()},q.getDropdownElement=function(){return p.dropdownMenu},q.focusToggleElement=function(){p.toggleElement&&p.toggleElement[0].focus()},q.$watch("isOpen",function(c,d){if(u&&p.dropdownMenu){var e=h.positionElements(b,p.dropdownMenu,"bottom-left",!0),i={top:e.top+"px",display:c?"block":"none"},l=p.dropdownMenu.hasClass("dropdown-menu-right");l?(i.left="auto",i.right=window.innerWidth-(e.left+b.prop("offsetWidth"))+"px"):(i.left=e.left+"px",i.right="auto"),p.dropdownMenu.css(i)}if(g[c?"addClass":"removeClass"](b,r).then(function(){angular.isDefined(c)&&c!==d&&t(a,{open:!!c})}),c)p.dropdownMenuTemplateUrl&&k(p.dropdownMenuTemplateUrl).then(function(a){n=q.$new(),j(a.trim())(n,function(a){var b=a;p.dropdownMenu.replaceWith(b),p.dropdownMenu=b})}),q.focusToggleElement(),f.open(q);else{if(p.dropdownMenuTemplateUrl){n&&n.$destroy();var m=angular.element('<ul class="dropdown-menu"></ul>');p.dropdownMenu.replaceWith(m),p.dropdownMenu=m}f.close(q),p.selectedOption=null}angular.isFunction(s)&&s(a,c)}),a.$on("$locationChangeSuccess",function(){"disabled"!==q.getAutoClose()&&(q.isOpen=!1)});var w=a.$on("$destroy",function(){q.$destroy()});q.$on("$destroy",w)}]).directive("dropdown",["$log","$dropdownSuppressWarning",function(a,b){return{controller:"DropdownController",link:function(c,d,e,f){b||a.warn("dropdown is now deprecated. Use uib-dropdown instead."),f.init()}}}]).directive("dropdownMenu",["$log","$dropdownSuppressWarning",function(a,b){return{restrict:"AC",require:"?^dropdown",link:function(c,d,e,f){if(f&&!angular.isDefined(e.dropdownNested)){b||a.warn("dropdown-menu is now deprecated. Use uib-dropdown-menu instead."),d.addClass("dropdown-menu");var g=e.templateUrl;g&&(f.dropdownMenuTemplateUrl=g),f.dropdownMenu||(f.dropdownMenu=d)}}}}]).directive("keyboardNav",["$log","$dropdownSuppressWarning",function(a,b){return{restrict:"A",require:"?^dropdown",link:function(c,d,e,f){b||a.warn("keyboard-nav is now deprecated. Use uib-keyboard-nav instead."),d.bind("keydown",function(a){if(-1!==[38,40].indexOf(a.which)){a.preventDefault(),a.stopPropagation();var b=f.dropdownMenu.find("a");switch(a.which){case 40:angular.isNumber(f.selectedOption)?f.selectedOption=f.selectedOption===b.length-1?f.selectedOption:f.selectedOption+1:f.selectedOption=0;break;case 38:angular.isNumber(f.selectedOption)?f.selectedOption=0===f.selectedOption?0:f.selectedOption-1:f.selectedOption=b.length-1}b[f.selectedOption].focus()}})}}}]).directive("dropdownToggle",["$log","$dropdownSuppressWarning",function(a,b){return{require:"?^dropdown",link:function(c,d,e,f){if(b||a.warn("dropdown-toggle is now deprecated. Use uib-dropdown-toggle instead."),f){d.addClass("dropdown-toggle"),f.toggleElement=d;var g=function(a){a.preventDefault(),d.hasClass("disabled")||e.disabled||c.$apply(function(){f.toggle()})};d.bind("click",g),d.attr({"aria-haspopup":!0,"aria-expanded":!1}),c.$watch(f.isOpen,function(a){d.attr("aria-expanded",!!a)}),c.$on("$destroy",function(){d.unbind("click",g)})}}}}]),angular.module("ui.bootstrap.stackedMap",[]).factory("$$stackedMap",function(){return{createNew:function(){var a=[];return{add:function(b,c){a.push({key:b,value:c})},get:function(b){for(var c=0;c<a.length;c++)if(b==a[c].key)return a[c]},keys:function(){for(var b=[],c=0;c<a.length;c++)b.push(a[c].key);return b},top:function(){return a[a.length-1]},remove:function(b){for(var c=-1,d=0;d<a.length;d++)if(b==a[d].key){c=d;break}return a.splice(c,1)[0]},removeTop:function(){return a.splice(a.length-1,1)[0]},length:function(){return a.length}}}}}),angular.module("ui.bootstrap.modal",["ui.bootstrap.stackedMap"]).factory("$$multiMap",function(){return{createNew:function(){var a={};return{entries:function(){return Object.keys(a).map(function(b){return{key:b,value:a[b]}})},get:function(b){return a[b]},hasKey:function(b){return!!a[b]},keys:function(){return Object.keys(a)},put:function(b,c){a[b]||(a[b]=[]),a[b].push(c)},remove:function(b,c){var d=a[b];if(d){var e=d.indexOf(c);-1!==e&&d.splice(e,1),d.length||delete a[b]}}}}}}).directive("uibModalBackdrop",["$animate","$injector","$uibModalStack",function(a,b,c){function d(b,d,f){d.addClass("modal-backdrop"),f.modalInClass&&(e?e(d,{addClass:f.modalInClass}).start():a.addClass(d,f.modalInClass),b.$on(c.NOW_CLOSING_EVENT,function(b,c){var g=c();e?e(d,{removeClass:f.modalInClass}).start().then(g):a.removeClass(d,f.modalInClass).then(g)}))}var e=null;return b.has("$animateCss")&&(e=b.get("$animateCss")),{replace:!0,templateUrl:"template/modal/backdrop.html",compile:function(a,b){return a.addClass(b.backdropClass),d}}}]).directive("uibModalWindow",["$uibModalStack","$q","$animate","$injector",function(a,b,c,d){var e=null;return d.has("$animateCss")&&(e=d.get("$animateCss")),{scope:{index:"@"},replace:!0,transclude:!0,templateUrl:function(a,b){return b.templateUrl||"template/modal/window.html"},link:function(d,f,g){f.addClass(g.windowClass||""),f.addClass(g.windowTopClass||""),d.size=g.size,d.close=function(b){var c=a.getTop();c&&c.value.backdrop&&"static"!==c.value.backdrop&&b.target===b.currentTarget&&(b.preventDefault(),b.stopPropagation(),a.dismiss(c.key,"backdrop click"))},f.on("click",d.close),d.$isRendered=!0;var h=b.defer();g.$observe("modalRender",function(a){"true"==a&&h.resolve()}),h.promise.then(function(){var h=null;g.modalInClass&&(h=e?e(f,{addClass:g.modalInClass}).start():c.addClass(f,g.modalInClass),d.$on(a.NOW_CLOSING_EVENT,function(a,b){var d=b();e?e(f,{removeClass:g.modalInClass}).start().then(d):c.removeClass(f,g.modalInClass).then(d)})),b.when(h).then(function(){var a=f[0].querySelector("[autofocus]");a?a.focus():f[0].focus()});var i=a.getTop();i&&a.modalRendered(i.key)})}}}]).directive("uibModalAnimationClass",function(){return{compile:function(a,b){b.modalAnimation&&a.addClass(b.uibModalAnimationClass)}}}).directive("uibModalTransclude",function(){return{link:function(a,b,c,d,e){e(a.$parent,function(a){b.empty(),b.append(a)})}}}).factory("$uibModalStack",["$animate","$timeout","$document","$compile","$rootScope","$q","$injector","$$multiMap","$$stackedMap",function(a,b,c,d,e,f,g,h,i){function j(){for(var a=-1,b=u.keys(),c=0;c<b.length;c++)u.get(b[c]).value.backdrop&&(a=c);return a}function k(a,b){var d=c.find("body").eq(0),e=u.get(a).value;u.remove(a),n(e.modalDomEl,e.modalScope,function(){var b=e.openedClass||t;v.remove(b,a),d.toggleClass(b,v.hasKey(b)),l(!0)}),m(),b&&b.focus?b.focus():d.focus()}function l(a){var b;u.length()>0&&(b=u.top().value,b.modalDomEl.toggleClass(b.windowTopClass||"",a))}function m(){if(q&&-1==j()){var a=r;n(q,r,function(){a=null}),q=void 0,r=void 0}}function n(b,c,d){function e(){e.done||(e.done=!0,p?p(b,{event:"leave"}).start().then(function(){b.remove()}):a.leave(b),c.$destroy(),d&&d())}var g,h=null,i=function(){return g||(g=f.defer(),h=g.promise),function(){g.resolve()}};return c.$broadcast(w.NOW_CLOSING_EVENT,i),f.when(h).then(e)}function o(a,b,c){return!a.value.modalScope.$broadcast("modal.closing",b,c).defaultPrevented}var p=null;g.has("$animateCss")&&(p=g.get("$animateCss"));var q,r,s,t="modal-open",u=i.createNew(),v=h.createNew(),w={NOW_CLOSING_EVENT:"modal.stack.now-closing"},x=0,y="a[href], area[href], input:not([disabled]), button:not([disabled]),select:not([disabled]), textarea:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable=true]";return e.$watch(j,function(a){r&&(r.index=a)}),c.bind("keydown",function(a){if(a.isDefaultPrevented())return a;var b=u.top();if(b&&b.value.keyboard)switch(a.which){case 27:a.preventDefault(),e.$apply(function(){w.dismiss(b.key,"escape key press")});break;case 9:w.loadFocusElementList(b);var c=!1;a.shiftKey?w.isFocusInFirstItem(a)&&(c=w.focusLastFocusableElement()):w.isFocusInLastItem(a)&&(c=w.focusFirstFocusableElement()),c&&(a.preventDefault(),a.stopPropagation())}}),w.open=function(a,b){var f=c[0].activeElement,g=b.openedClass||t;l(!1),u.add(a,{deferred:b.deferred,renderDeferred:b.renderDeferred,modalScope:b.scope,backdrop:b.backdrop,keyboard:b.keyboard,openedClass:b.openedClass,windowTopClass:b.windowTopClass}),v.put(g,a);var h=c.find("body").eq(0),i=j();if(i>=0&&!q){r=e.$new(!0),r.index=i;var k=angular.element('<div uib-modal-backdrop="modal-backdrop"></div>');k.attr("backdrop-class",b.backdropClass),b.animation&&k.attr("modal-animation","true"),q=d(k)(r),h.append(q)}var m=angular.element('<div uib-modal-window="modal-window"></div>');m.attr({"template-url":b.windowTemplateUrl,"window-class":b.windowClass,"window-top-class":b.windowTopClass,size:b.size,index:u.length()-1,animate:"animate"}).html(b.content),b.animation&&m.attr("modal-animation","true");var n=d(m)(b.scope);u.top().value.modalDomEl=n,u.top().value.modalOpener=f,h.append(n),h.addClass(g),w.clearFocusListCache()},w.close=function(a,b){var c=u.get(a);return c&&o(c,b,!0)?(c.value.modalScope.$$uibDestructionScheduled=!0,c.value.deferred.resolve(b),k(a,c.value.modalOpener),!0):!c},w.dismiss=function(a,b){var c=u.get(a);return c&&o(c,b,!1)?(c.value.modalScope.$$uibDestructionScheduled=!0,c.value.deferred.reject(b),k(a,c.value.modalOpener),!0):!c},w.dismissAll=function(a){for(var b=this.getTop();b&&this.dismiss(b.key,a);)b=this.getTop()},w.getTop=function(){return u.top()},w.modalRendered=function(a){var b=u.get(a);b&&b.value.renderDeferred.resolve()},w.focusFirstFocusableElement=function(){return s.length>0?(s[0].focus(),!0):!1},w.focusLastFocusableElement=function(){return s.length>0?(s[s.length-1].focus(),!0):!1},w.isFocusInFirstItem=function(a){return s.length>0?(a.target||a.srcElement)==s[0]:!1},w.isFocusInLastItem=function(a){return s.length>0?(a.target||a.srcElement)==s[s.length-1]:!1},w.clearFocusListCache=function(){s=[],x=0},w.loadFocusElementList=function(a){if((void 0===s||!s.length)&&a){var b=a.value.modalDomEl;b&&b.length&&(s=b[0].querySelectorAll(y))}},w}]).provider("$uibModal",function(){var a={options:{animation:!0,backdrop:!0,keyboard:!0},$get:["$injector","$rootScope","$q","$templateRequest","$controller","$uibModalStack","$modalSuppressWarning","$log",function(b,c,d,e,f,g,h,i){function j(a){return a.template?d.when(a.template):e(angular.isFunction(a.templateUrl)?a.templateUrl():a.templateUrl)}function k(a){var c=[];return angular.forEach(a,function(a){angular.isFunction(a)||angular.isArray(a)?c.push(d.when(b.invoke(a))):angular.isString(a)?c.push(d.when(b.get(a))):c.push(d.when(a))}),c}var l={},m=null;return l.getPromiseChain=function(){return m},l.open=function(b){function e(){return r}var l=d.defer(),n=d.defer(),o=d.defer(),p={result:l.promise,opened:n.promise,rendered:o.promise,close:function(a){return g.close(p,a)},dismiss:function(a){return g.dismiss(p,a)}};if(b=angular.extend({},a.options,b),b.resolve=b.resolve||{},!b.template&&!b.templateUrl)throw new Error("One of template or templateUrl options is required.");var q,r=d.all([j(b)].concat(k(b.resolve)));return q=m=d.all([m]).then(e,e).then(function(a){var d=(b.scope||c).$new();d.$close=p.close,d.$dismiss=p.dismiss,d.$on("$destroy",function(){d.$$uibDestructionScheduled||d.$dismiss("$uibUnscheduledDestruction")});var e,j={},k=1;b.controller&&(j.$scope=d,j.$uibModalInstance=p,Object.defineProperty(j,"$modalInstance",{get:function(){return h||i.warn("$modalInstance is now deprecated. Use $uibModalInstance instead."),p}}),angular.forEach(b.resolve,function(b,c){j[c]=a[k++]}),e=f(b.controller,j),b.controllerAs&&(b.bindToController&&angular.extend(e,d),d[b.controllerAs]=e)),g.open(p,{scope:d,deferred:l,renderDeferred:o,content:a[0],animation:b.animation,backdrop:b.backdrop,keyboard:b.keyboard,backdropClass:b.backdropClass,windowTopClass:b.windowTopClass,windowClass:b.windowClass,windowTemplateUrl:b.windowTemplateUrl,size:b.size,openedClass:b.openedClass}),n.resolve(!0)},function(a){n.reject(a),l.reject(a)})["finally"](function(){m===q&&(m=null)}),p},l}]};return a}),angular.module("ui.bootstrap.modal").value("$modalSuppressWarning",!1).directive("modalBackdrop",["$animate","$injector","$modalStack","$log","$modalSuppressWarning",function(a,b,c,d,e){function f(b,f,h){e||d.warn("modal-backdrop is now deprecated. Use uib-modal-backdrop instead."),f.addClass("modal-backdrop"),h.modalInClass&&(g?g(f,{addClass:h.modalInClass}).start():a.addClass(f,h.modalInClass),b.$on(c.NOW_CLOSING_EVENT,function(b,c){var d=c();g?g(f,{removeClass:h.modalInClass}).start().then(d):a.removeClass(f,h.modalInClass).then(d)}))}var g=null;return b.has("$animateCss")&&(g=b.get("$animateCss")),{replace:!0,templateUrl:"template/modal/backdrop.html",compile:function(a,b){return a.addClass(b.backdropClass),f}}}]).directive("modalWindow",["$modalStack","$q","$animate","$injector","$log","$modalSuppressWarning",function(a,b,c,d,e,f){var g=null;return d.has("$animateCss")&&(g=d.get("$animateCss")),{scope:{index:"@"},replace:!0,transclude:!0,templateUrl:function(a,b){return b.templateUrl||"template/modal/window.html"},link:function(d,h,i){f||e.warn("modal-window is now deprecated. Use uib-modal-window instead."),h.addClass(i.windowClass||""),h.addClass(i.windowTopClass||""),d.size=i.size,d.close=function(b){var c=a.getTop();c&&c.value.backdrop&&"static"!==c.value.backdrop&&b.target===b.currentTarget&&(b.preventDefault(),b.stopPropagation(),a.dismiss(c.key,"backdrop click"))},h.on("click",d.close),d.$isRendered=!0;var j=b.defer();i.$observe("modalRender",function(a){"true"==a&&j.resolve()}),j.promise.then(function(){var e=null;i.modalInClass&&(e=g?g(h,{addClass:i.modalInClass}).start():c.addClass(h,i.modalInClass),d.$on(a.NOW_CLOSING_EVENT,function(a,b){var d=b();g?g(h,{removeClass:i.modalInClass}).start().then(d):c.removeClass(h,i.modalInClass).then(d)})),b.when(e).then(function(){var a=h[0].querySelector("[autofocus]");a?a.focus():h[0].focus()});var f=a.getTop();f&&a.modalRendered(f.key)})}}}]).directive("modalAnimationClass",["$log","$modalSuppressWarning",function(a,b){return{compile:function(c,d){b||a.warn("modal-animation-class is now deprecated. Use uib-modal-animation-class instead."),d.modalAnimation&&c.addClass(d.modalAnimationClass)}}}]).directive("modalTransclude",["$log","$modalSuppressWarning",function(a,b){return{link:function(c,d,e,f,g){b||a.warn("modal-transclude is now deprecated. Use uib-modal-transclude instead."),g(c.$parent,function(a){d.empty(),d.append(a)})}}}]).service("$modalStack",["$animate","$timeout","$document","$compile","$rootScope","$q","$injector","$$multiMap","$$stackedMap","$uibModalStack","$log","$modalSuppressWarning",function(a,b,c,d,e,f,g,h,i,j,k,l){l||k.warn("$modalStack is now deprecated. Use $uibModalStack instead."),angular.extend(this,j)}]).provider("$modal",["$uibModalProvider",function(a){angular.extend(this,a),this.$get=["$injector","$log","$modalSuppressWarning",function(b,c,d){return d||c.warn("$modal is now deprecated. Use $uibModal instead."),b.invoke(a.$get)}]}]),angular.module("ui.bootstrap.pagination",[]).controller("UibPaginationController",["$scope","$attrs","$parse",function(a,b,c){var d=this,e={$setViewValue:angular.noop},f=b.numPages?c(b.numPages).assign:angular.noop;this.init=function(g,h){e=g,this.config=h,e.$render=function(){d.render()},b.itemsPerPage?a.$parent.$watch(c(b.itemsPerPage),function(b){d.itemsPerPage=parseInt(b,10),a.totalPages=d.calculateTotalPages()}):this.itemsPerPage=h.itemsPerPage,a.$watch("totalItems",function(){a.totalPages=d.calculateTotalPages()}),a.$watch("totalPages",function(b){f(a.$parent,b),a.page>b?a.selectPage(b):e.$render()})},this.calculateTotalPages=function(){var b=this.itemsPerPage<1?1:Math.ceil(a.totalItems/this.itemsPerPage);return Math.max(b||0,1)},this.render=function(){a.page=parseInt(e.$viewValue,10)||1},a.selectPage=function(b,c){c&&c.preventDefault();var d=!a.ngDisabled||!c;d&&a.page!==b&&b>0&&b<=a.totalPages&&(c&&c.target&&c.target.blur(),e.$setViewValue(b),e.$render())},a.getText=function(b){return a[b+"Text"]||d.config[b+"Text"]},a.noPrevious=function(){return 1===a.page},a.noNext=function(){return a.page===a.totalPages}}]).constant("uibPaginationConfig",{itemsPerPage:10,boundaryLinks:!1,directionLinks:!0,firstText:"First",previousText:"Previous",nextText:"Next",lastText:"Last",rotate:!0}).directive("uibPagination",["$parse","uibPaginationConfig",function(a,b){return{restrict:"EA",scope:{totalItems:"=",firstText:"@",previousText:"@",nextText:"@",lastText:"@",ngDisabled:"="},require:["uibPagination","?ngModel"],controller:"UibPaginationController",controllerAs:"pagination",templateUrl:function(a,b){return b.templateUrl||"template/pagination/pagination.html"},replace:!0,link:function(c,d,e,f){function g(a,b,c){return{number:a,text:b,active:c}}function h(a,b){var c=[],d=1,e=b,f=angular.isDefined(k)&&b>k;f&&(l?(d=Math.max(a-Math.floor(k/2),1),e=d+k-1,e>b&&(e=b,d=e-k+1)):(d=(Math.ceil(a/k)-1)*k+1,e=Math.min(d+k-1,b)));for(var h=d;e>=h;h++){var i=g(h,h,h===a);c.push(i)}if(f&&!l){if(d>1){var j=g(d-1,"...",!1);c.unshift(j)}if(b>e){var m=g(e+1,"...",!1);c.push(m)}}return c}var i=f[0],j=f[1];if(j){var k=angular.isDefined(e.maxSize)?c.$parent.$eval(e.maxSize):b.maxSize,l=angular.isDefined(e.rotate)?c.$parent.$eval(e.rotate):b.rotate;c.boundaryLinks=angular.isDefined(e.boundaryLinks)?c.$parent.$eval(e.boundaryLinks):b.boundaryLinks,c.directionLinks=angular.isDefined(e.directionLinks)?c.$parent.$eval(e.directionLinks):b.directionLinks,i.init(j,b),e.maxSize&&c.$parent.$watch(a(e.maxSize),function(a){k=parseInt(a,10),i.render()});var m=i.render;i.render=function(){m(),c.page>0&&c.page<=c.totalPages&&(c.pages=h(c.page,c.totalPages))}}}}}]).constant("uibPagerConfig",{itemsPerPage:10,previousText:"« Previous",nextText:"Next »",align:!0}).directive("uibPager",["uibPagerConfig",function(a){return{restrict:"EA",scope:{totalItems:"=",previousText:"@",nextText:"@",ngDisabled:"="},require:["uibPager","?ngModel"],controller:"UibPaginationController",controllerAs:"pagination",templateUrl:function(a,b){return b.templateUrl||"template/pagination/pager.html"},replace:!0,link:function(b,c,d,e){var f=e[0],g=e[1];g&&(b.align=angular.isDefined(d.align)?b.$parent.$eval(d.align):a.align,f.init(g,a))}}}]),angular.module("ui.bootstrap.pagination").value("$paginationSuppressWarning",!1).controller("PaginationController",["$scope","$attrs","$parse","$log","$paginationSuppressWarning",function(a,b,c,d,e){e||d.warn("PaginationController is now deprecated. Use UibPaginationController instead.");var f=this,g={$setViewValue:angular.noop},h=b.numPages?c(b.numPages).assign:angular.noop;this.init=function(d,e){g=d,this.config=e,g.$render=function(){f.render()},b.itemsPerPage?a.$parent.$watch(c(b.itemsPerPage),function(b){f.itemsPerPage=parseInt(b,10),a.totalPages=f.calculateTotalPages()}):this.itemsPerPage=e.itemsPerPage,a.$watch("totalItems",function(){a.totalPages=f.calculateTotalPages()}),a.$watch("totalPages",function(b){h(a.$parent,b),a.page>b?a.selectPage(b):g.$render()})},this.calculateTotalPages=function(){var b=this.itemsPerPage<1?1:Math.ceil(a.totalItems/this.itemsPerPage);return Math.max(b||0,1)},this.render=function(){a.page=parseInt(g.$viewValue,10)||1},a.selectPage=function(b,c){c&&c.preventDefault();var d=!a.ngDisabled||!c;d&&a.page!==b&&b>0&&b<=a.totalPages&&(c&&c.target&&c.target.blur(),g.$setViewValue(b),g.$render())},a.getText=function(b){return a[b+"Text"]||f.config[b+"Text"]},a.noPrevious=function(){return 1===a.page},a.noNext=function(){return a.page===a.totalPages}}]).directive("pagination",["$parse","uibPaginationConfig","$log","$paginationSuppressWarning",function(a,b,c,d){return{restrict:"EA",scope:{totalItems:"=",firstText:"@",previousText:"@",nextText:"@",lastText:"@",ngDisabled:"="},require:["pagination","?ngModel"],controller:"PaginationController",controllerAs:"pagination",templateUrl:function(a,b){return b.templateUrl||"template/pagination/pagination.html"},replace:!0,link:function(e,f,g,h){function i(a,b,c){return{number:a,text:b,active:c}}function j(a,b){var c=[],d=1,e=b,f=angular.isDefined(m)&&b>m;f&&(n?(d=Math.max(a-Math.floor(m/2),1),e=d+m-1,e>b&&(e=b,d=e-m+1)):(d=(Math.ceil(a/m)-1)*m+1,e=Math.min(d+m-1,b)));for(var g=d;e>=g;g++){var h=i(g,g,g===a);c.push(h)}if(f&&!n){if(d>1){var j=i(d-1,"...",!1);c.unshift(j)}if(b>e){var k=i(e+1,"...",!1);c.push(k)}}return c}d||c.warn("pagination is now deprecated. Use uib-pagination instead.");var k=h[0],l=h[1];if(l){var m=angular.isDefined(g.maxSize)?e.$parent.$eval(g.maxSize):b.maxSize,n=angular.isDefined(g.rotate)?e.$parent.$eval(g.rotate):b.rotate;e.boundaryLinks=angular.isDefined(g.boundaryLinks)?e.$parent.$eval(g.boundaryLinks):b.boundaryLinks,e.directionLinks=angular.isDefined(g.directionLinks)?e.$parent.$eval(g.directionLinks):b.directionLinks,k.init(l,b),g.maxSize&&e.$parent.$watch(a(g.maxSize),function(a){m=parseInt(a,10),k.render()});var o=k.render;k.render=function(){o(),e.page>0&&e.page<=e.totalPages&&(e.pages=j(e.page,e.totalPages))}}}}}]).directive("pager",["uibPagerConfig","$log","$paginationSuppressWarning",function(a,b,c){return{restrict:"EA",scope:{totalItems:"=",previousText:"@",nextText:"@",ngDisabled:"="},require:["pager","?ngModel"],controller:"PaginationController",controllerAs:"pagination",templateUrl:function(a,b){return b.templateUrl||"template/pagination/pager.html"},replace:!0,link:function(d,e,f,g){c||b.warn("pager is now deprecated. Use uib-pager instead.");var h=g[0],i=g[1];i&&(d.align=angular.isDefined(f.align)?d.$parent.$eval(f.align):a.align,h.init(i,a))}}}]),angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.stackedMap"]).provider("$uibTooltip",function(){function a(a){var b=/[A-Z]/g,c="-";return a.replace(b,function(a,b){return(b?c:"")+a.toLowerCase()})}var b={placement:"top",animation:!0,popupDelay:0,popupCloseDelay:0,useContentExp:!1},c={mouseenter:"mouseleave",click:"click",focus:"blur",none:""},d={};this.options=function(a){angular.extend(d,a)},this.setTriggers=function(a){angular.extend(c,a)},this.$get=["$window","$compile","$timeout","$document","$uibPosition","$interpolate","$rootScope","$parse","$$stackedMap",function(e,f,g,h,i,j,k,l,m){var n=m.createNew();return h.on("keypress",function(a){if(27===a.which){var b=n.top();b&&(b.value.close(),n.removeTop(),b=null)}}),function(e,k,m,o){function p(a){var b=(a||o.trigger||m).split(" "),d=b.map(function(a){return c[a]||a});return{show:b,hide:d}}o=angular.extend({},b,d,o);var q=a(e),r=j.startSymbol(),s=j.endSymbol(),t="<div "+q+'-popup title="'+r+"title"+s+'" '+(o.useContentExp?'content-exp="contentExp()" ':'content="'+r+"content"+s+'" ')+'placement="'+r+"placement"+s+'" popup-class="'+r+"popupClass"+s+'" animation="animation" is-open="isOpen"origin-scope="origScope" style="visibility: hidden; display: block; top: -9999px; left: -9999px;"></div>';return{compile:function(a,b){var c=f(t);return function(a,b,d,f){function j(){L.isOpen?q():m()}function m(){(!K||a.$eval(d[k+"Enable"]))&&(u(),x(),L.popupDelay?F||(F=g(r,L.popupDelay,!1)):r())}function q(){s(),L.popupCloseDelay?G||(G=g(t,L.popupCloseDelay,!1)):t()}function r(){return s(),u(),L.content?(v(),void L.$evalAsync(function(){L.isOpen=!0,y(!0),Q()})):angular.noop}function s(){F&&(g.cancel(F),F=null),H&&(g.cancel(H),H=null)}function t(){s(),u(),L&&L.$evalAsync(function(){L.isOpen=!1,y(!1),L.animation?E||(E=g(w,150,!1)):w()})}function u(){G&&(g.cancel(G),G=null),E&&(g.cancel(E),E=null)}function v(){C||(D=L.$new(),C=c(D,function(a){I?h.find("body").append(a):b.after(a)}),z())}function w(){A(),E=null,C&&(C.remove(),C=null),D&&(D.$destroy(),D=null)}function x(){L.title=d[k+"Title"],O?L.content=O(a):L.content=d[e],L.popupClass=d[k+"Class"],L.placement=angular.isDefined(d[k+"Placement"])?d[k+"Placement"]:o.placement;var b=parseInt(d[k+"PopupDelay"],10),c=parseInt(d[k+"PopupCloseDelay"],10);L.popupDelay=isNaN(b)?o.popupDelay:b,L.popupCloseDelay=isNaN(c)?o.popupCloseDelay:c}function y(b){N&&angular.isFunction(N.assign)&&N.assign(a,b)}function z(){P.length=0,O?(P.push(a.$watch(O,function(a){L.content=a,!a&&L.isOpen&&t()})),P.push(D.$watch(function(){M||(M=!0,D.$$postDigest(function(){M=!1,L&&L.isOpen&&Q()}))}))):P.push(d.$observe(e,function(a){L.content=a,!a&&L.isOpen?t():Q()})),P.push(d.$observe(k+"Title",function(a){L.title=a,L.isOpen&&Q()})),P.push(d.$observe(k+"Placement",function(a){L.placement=a?a:o.placement,L.isOpen&&Q()}))}function A(){P.length&&(angular.forEach(P,function(a){a()}),P.length=0)}function B(){var a=d[k+"Trigger"];R(),J=p(a),"none"!==J.show&&J.show.forEach(function(a,c){a===J.hide[c]?b[0].addEventListener(a,j):a&&(b[0].addEventListener(a,m),J.hide[c].split(" ").forEach(function(a){b[0].addEventListener(a,q)})),b.on("keypress",function(a){27===a.which&&q()})})}var C,D,E,F,G,H,I=angular.isDefined(o.appendToBody)?o.appendToBody:!1,J=p(void 0),K=angular.isDefined(d[k+"Enable"]),L=a.$new(!0),M=!1,N=angular.isDefined(d[k+"IsOpen"])?l(d[k+"IsOpen"]):!1,O=o.useContentExp?l(d[e]):!1,P=[],Q=function(){C&&C.html()&&(H||(H=g(function(){C.css({top:0,left:0});var a=i.positionElements(b,C,L.placement,I);a.top+="px",a.left+="px",a.visibility="visible",C.css(a),H=null},0,!1)))};L.origScope=a,L.isOpen=!1,n.add(L,{close:t}),L.contentExp=function(){return L.content},d.$observe("disabled",function(a){a&&s(),a&&L.isOpen&&t()}),N&&a.$watch(N,function(a){L&&!a===L.isOpen&&j()});var R=function(){J.show.forEach(function(a){b.unbind(a,m)}),J.hide.forEach(function(a){a.split(" ").forEach(function(a){b[0].removeEventListener(a,q)})})};B();var S=a.$eval(d[k+"Animation"]);L.animation=angular.isDefined(S)?!!S:o.animation;var T=a.$eval(d[k+"AppendToBody"]);I=angular.isDefined(T)?T:I,I&&a.$on("$locationChangeSuccess",function(){L.isOpen&&t()}),a.$on("$destroy",function(){s(),u(),R(),w(),n.remove(L),L=null})}}}}}]}).directive("uibTooltipTemplateTransclude",["$animate","$sce","$compile","$templateRequest",function(a,b,c,d){return{link:function(e,f,g){var h,i,j,k=e.$eval(g.tooltipTemplateTranscludeScope),l=0,m=function(){i&&(i.remove(),i=null),h&&(h.$destroy(),h=null),j&&(a.leave(j).then(function(){i=null}),i=j,j=null)};e.$watch(b.parseAsResourceUrl(g.uibTooltipTemplateTransclude),function(b){var g=++l;b?(d(b,!0).then(function(d){if(g===l){var e=k.$new(),i=d,n=c(i)(e,function(b){m(),a.enter(b,f)});h=e,j=n,h.$emit("$includeContentLoaded",b)}},function(){g===l&&(m(),e.$emit("$includeContentError",b))}),e.$emit("$includeContentRequested",b)):m()}),e.$on("$destroy",m)}}}]).directive("uibTooltipClasses",function(){return{restrict:"A",link:function(a,b,c){a.placement&&b.addClass(a.placement),a.popupClass&&b.addClass(a.popupClass),a.animation()&&b.addClass(c.tooltipAnimationClass)}}}).directive("uibTooltipPopup",function(){return{replace:!0,scope:{content:"@",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-popup.html",link:function(a,b){b.addClass("tooltip")}}}).directive("uibTooltip",["$uibTooltip",function(a){return a("uibTooltip","tooltip","mouseenter")}]).directive("uibTooltipTemplatePopup",function(){return{replace:!0,scope:{contentExp:"&",placement:"@",popupClass:"@",animation:"&",isOpen:"&",originScope:"&"},templateUrl:"template/tooltip/tooltip-template-popup.html",link:function(a,b){b.addClass("tooltip")}}}).directive("uibTooltipTemplate",["$uibTooltip",function(a){return a("uibTooltipTemplate","tooltip","mouseenter",{useContentExp:!0})}]).directive("uibTooltipHtmlPopup",function(){return{replace:!0,scope:{contentExp:"&",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-html-popup.html",link:function(a,b){b.addClass("tooltip")}}}).directive("uibTooltipHtml",["$uibTooltip",function(a){return a("uibTooltipHtml","tooltip","mouseenter",{useContentExp:!0
-})}]),angular.module("ui.bootstrap.tooltip").value("$tooltipSuppressWarning",!1).provider("$tooltip",["$uibTooltipProvider",function(a){angular.extend(this,a),this.$get=["$log","$tooltipSuppressWarning","$injector",function(b,c,d){return c||b.warn("$tooltip is now deprecated. Use $uibTooltip instead."),d.invoke(a.$get)}]}]).directive("tooltipTemplateTransclude",["$animate","$sce","$compile","$templateRequest","$log","$tooltipSuppressWarning",function(a,b,c,d,e,f){return{link:function(g,h,i){f||e.warn("tooltip-template-transclude is now deprecated. Use uib-tooltip-template-transclude instead.");var j,k,l,m=g.$eval(i.tooltipTemplateTranscludeScope),n=0,o=function(){k&&(k.remove(),k=null),j&&(j.$destroy(),j=null),l&&(a.leave(l).then(function(){k=null}),k=l,l=null)};g.$watch(b.parseAsResourceUrl(i.tooltipTemplateTransclude),function(b){var e=++n;b?(d(b,!0).then(function(d){if(e===n){var f=m.$new(),g=d,i=c(g)(f,function(b){o(),a.enter(b,h)});j=f,l=i,j.$emit("$includeContentLoaded",b)}},function(){e===n&&(o(),g.$emit("$includeContentError",b))}),g.$emit("$includeContentRequested",b)):o()}),g.$on("$destroy",o)}}}]).directive("tooltipClasses",["$log","$tooltipSuppressWarning",function(a,b){return{restrict:"A",link:function(c,d,e){b||a.warn("tooltip-classes is now deprecated. Use uib-tooltip-classes instead."),c.placement&&d.addClass(c.placement),c.popupClass&&d.addClass(c.popupClass),c.animation()&&d.addClass(e.tooltipAnimationClass)}}}]).directive("tooltipPopup",["$log","$tooltipSuppressWarning",function(a,b){return{replace:!0,scope:{content:"@",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-popup.html",link:function(c,d){b||a.warn("tooltip-popup is now deprecated. Use uib-tooltip-popup instead."),d.addClass("tooltip")}}}]).directive("tooltip",["$tooltip",function(a){return a("tooltip","tooltip","mouseenter")}]).directive("tooltipTemplatePopup",["$log","$tooltipSuppressWarning",function(a,b){return{replace:!0,scope:{contentExp:"&",placement:"@",popupClass:"@",animation:"&",isOpen:"&",originScope:"&"},templateUrl:"template/tooltip/tooltip-template-popup.html",link:function(c,d){b||a.warn("tooltip-template-popup is now deprecated. Use uib-tooltip-template-popup instead."),d.addClass("tooltip")}}}]).directive("tooltipTemplate",["$tooltip",function(a){return a("tooltipTemplate","tooltip","mouseenter",{useContentExp:!0})}]).directive("tooltipHtmlPopup",["$log","$tooltipSuppressWarning",function(a,b){return{replace:!0,scope:{contentExp:"&",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-html-popup.html",link:function(c,d){b||a.warn("tooltip-html-popup is now deprecated. Use uib-tooltip-html-popup instead."),d.addClass("tooltip")}}}]).directive("tooltipHtml",["$tooltip",function(a){return a("tooltipHtml","tooltip","mouseenter",{useContentExp:!0})}]),angular.module("ui.bootstrap.popover",["ui.bootstrap.tooltip"]).directive("uibPopoverTemplatePopup",function(){return{replace:!0,scope:{title:"@",contentExp:"&",placement:"@",popupClass:"@",animation:"&",isOpen:"&",originScope:"&"},templateUrl:"template/popover/popover-template.html",link:function(a,b){b.addClass("popover")}}}).directive("uibPopoverTemplate",["$uibTooltip",function(a){return a("uibPopoverTemplate","popover","click",{useContentExp:!0})}]).directive("uibPopoverHtmlPopup",function(){return{replace:!0,scope:{contentExp:"&",title:"@",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"template/popover/popover-html.html",link:function(a,b){b.addClass("popover")}}}).directive("uibPopoverHtml",["$uibTooltip",function(a){return a("uibPopoverHtml","popover","click",{useContentExp:!0})}]).directive("uibPopoverPopup",function(){return{replace:!0,scope:{title:"@",content:"@",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"template/popover/popover.html",link:function(a,b){b.addClass("popover")}}}).directive("uibPopover",["$uibTooltip",function(a){return a("uibPopover","popover","click")}]),angular.module("ui.bootstrap.popover").value("$popoverSuppressWarning",!1).directive("popoverTemplatePopup",["$log","$popoverSuppressWarning",function(a,b){return{replace:!0,scope:{title:"@",contentExp:"&",placement:"@",popupClass:"@",animation:"&",isOpen:"&",originScope:"&"},templateUrl:"template/popover/popover-template.html",link:function(c,d){b||a.warn("popover-template-popup is now deprecated. Use uib-popover-template-popup instead."),d.addClass("popover")}}}]).directive("popoverTemplate",["$tooltip",function(a){return a("popoverTemplate","popover","click",{useContentExp:!0})}]).directive("popoverHtmlPopup",["$log","$popoverSuppressWarning",function(a,b){return{replace:!0,scope:{contentExp:"&",title:"@",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"template/popover/popover-html.html",link:function(c,d){b||a.warn("popover-html-popup is now deprecated. Use uib-popover-html-popup instead."),d.addClass("popover")}}}]).directive("popoverHtml",["$tooltip",function(a){return a("popoverHtml","popover","click",{useContentExp:!0})}]).directive("popoverPopup",["$log","$popoverSuppressWarning",function(a,b){return{replace:!0,scope:{title:"@",content:"@",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"template/popover/popover.html",link:function(c,d){b||a.warn("popover-popup is now deprecated. Use uib-popover-popup instead."),d.addClass("popover")}}}]).directive("popover",["$tooltip",function(a){return a("popover","popover","click")}]),angular.module("ui.bootstrap.progressbar",[]).constant("uibProgressConfig",{animate:!0,max:100}).controller("UibProgressController",["$scope","$attrs","uibProgressConfig",function(a,b,c){var d=this,e=angular.isDefined(b.animate)?a.$parent.$eval(b.animate):c.animate;this.bars=[],a.max=angular.isDefined(a.max)?a.max:c.max,this.addBar=function(b,c,f){e||c.css({transition:"none"}),this.bars.push(b),b.max=a.max,b.title=f&&angular.isDefined(f.title)?f.title:"progressbar",b.$watch("value",function(a){b.recalculatePercentage()}),b.recalculatePercentage=function(){var a=d.bars.reduce(function(a,b){return b.percent=+(100*b.value/b.max).toFixed(2),a+b.percent},0);a>100&&(b.percent-=a-100)},b.$on("$destroy",function(){c=null,d.removeBar(b)})},this.removeBar=function(a){this.bars.splice(this.bars.indexOf(a),1),this.bars.forEach(function(a){a.recalculatePercentage()})},a.$watch("max",function(b){d.bars.forEach(function(b){b.max=a.max,b.recalculatePercentage()})})}]).directive("uibProgress",function(){return{replace:!0,transclude:!0,controller:"UibProgressController",require:"uibProgress",scope:{max:"=?"},templateUrl:"template/progressbar/progress.html"}}).directive("uibBar",function(){return{replace:!0,transclude:!0,require:"^uibProgress",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/bar.html",link:function(a,b,c,d){d.addBar(a,b,c)}}}).directive("uibProgressbar",function(){return{replace:!0,transclude:!0,controller:"UibProgressController",scope:{value:"=",max:"=?",type:"@"},templateUrl:"template/progressbar/progressbar.html",link:function(a,b,c,d){d.addBar(a,angular.element(b.children()[0]),{title:c.title})}}}),angular.module("ui.bootstrap.progressbar").value("$progressSuppressWarning",!1).controller("ProgressController",["$scope","$attrs","uibProgressConfig","$log","$progressSuppressWarning",function(a,b,c,d,e){e||d.warn("ProgressController is now deprecated. Use UibProgressController instead.");var f=this,g=angular.isDefined(b.animate)?a.$parent.$eval(b.animate):c.animate;this.bars=[],a.max=angular.isDefined(a.max)?a.max:c.max,this.addBar=function(b,c,d){g||c.css({transition:"none"}),this.bars.push(b),b.max=a.max,b.title=d&&angular.isDefined(d.title)?d.title:"progressbar",b.$watch("value",function(a){b.recalculatePercentage()}),b.recalculatePercentage=function(){b.percent=+(100*b.value/b.max).toFixed(2);var a=f.bars.reduce(function(a,b){return a+b.percent},0);a>100&&(b.percent-=a-100)},b.$on("$destroy",function(){c=null,f.removeBar(b)})},this.removeBar=function(a){this.bars.splice(this.bars.indexOf(a),1)},a.$watch("max",function(b){f.bars.forEach(function(b){b.max=a.max,b.recalculatePercentage()})})}]).directive("progress",["$log","$progressSuppressWarning",function(a,b){return{replace:!0,transclude:!0,controller:"ProgressController",require:"progress",scope:{max:"=?",title:"@?"},templateUrl:"template/progressbar/progress.html",link:function(){b||a.warn("progress is now deprecated. Use uib-progress instead.")}}}]).directive("bar",["$log","$progressSuppressWarning",function(a,b){return{replace:!0,transclude:!0,require:"^progress",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/bar.html",link:function(c,d,e,f){b||a.warn("bar is now deprecated. Use uib-bar instead."),f.addBar(c,d)}}}]).directive("progressbar",["$log","$progressSuppressWarning",function(a,b){return{replace:!0,transclude:!0,controller:"ProgressController",scope:{value:"=",max:"=?",type:"@"},templateUrl:"template/progressbar/progressbar.html",link:function(c,d,e,f){b||a.warn("progressbar is now deprecated. Use uib-progressbar instead."),f.addBar(c,angular.element(d.children()[0]),{title:e.title})}}}]),angular.module("ui.bootstrap.rating",[]).constant("uibRatingConfig",{max:5,stateOn:null,stateOff:null,titles:["one","two","three","four","five"]}).controller("UibRatingController",["$scope","$attrs","uibRatingConfig",function(a,b,c){var d={$setViewValue:angular.noop};this.init=function(e){d=e,d.$render=this.render,d.$formatters.push(function(a){return angular.isNumber(a)&&a<<0!==a&&(a=Math.round(a)),a}),this.stateOn=angular.isDefined(b.stateOn)?a.$parent.$eval(b.stateOn):c.stateOn,this.stateOff=angular.isDefined(b.stateOff)?a.$parent.$eval(b.stateOff):c.stateOff;var f=angular.isDefined(b.titles)?a.$parent.$eval(b.titles):c.titles;this.titles=angular.isArray(f)&&f.length>0?f:c.titles;var g=angular.isDefined(b.ratingStates)?a.$parent.$eval(b.ratingStates):new Array(angular.isDefined(b.max)?a.$parent.$eval(b.max):c.max);a.range=this.buildTemplateObjects(g)},this.buildTemplateObjects=function(a){for(var b=0,c=a.length;c>b;b++)a[b]=angular.extend({index:b},{stateOn:this.stateOn,stateOff:this.stateOff,title:this.getTitle(b)},a[b]);return a},this.getTitle=function(a){return a>=this.titles.length?a+1:this.titles[a]},a.rate=function(b){!a.readonly&&b>=0&&b<=a.range.length&&(d.$setViewValue(d.$viewValue===b?0:b),d.$render())},a.enter=function(b){a.readonly||(a.value=b),a.onHover({value:b})},a.reset=function(){a.value=d.$viewValue,a.onLeave()},a.onKeydown=function(b){/(37|38|39|40)/.test(b.which)&&(b.preventDefault(),b.stopPropagation(),a.rate(a.value+(38===b.which||39===b.which?1:-1)))},this.render=function(){a.value=d.$viewValue}}]).directive("uibRating",function(){return{require:["uibRating","ngModel"],scope:{readonly:"=?",onHover:"&",onLeave:"&"},controller:"UibRatingController",templateUrl:"template/rating/rating.html",replace:!0,link:function(a,b,c,d){var e=d[0],f=d[1];e.init(f)}}}),angular.module("ui.bootstrap.rating").value("$ratingSuppressWarning",!1).controller("RatingController",["$scope","$attrs","$controller","$log","$ratingSuppressWarning",function(a,b,c,d,e){e||d.warn("RatingController is now deprecated. Use UibRatingController instead."),angular.extend(this,c("UibRatingController",{$scope:a,$attrs:b}))}]).directive("rating",["$log","$ratingSuppressWarning",function(a,b){return{require:["rating","ngModel"],scope:{readonly:"=?",onHover:"&",onLeave:"&"},controller:"RatingController",templateUrl:"template/rating/rating.html",replace:!0,link:function(c,d,e,f){b||a.warn("rating is now deprecated. Use uib-rating instead.");var g=f[0],h=f[1];g.init(h)}}}]),angular.module("ui.bootstrap.tabs",[]).controller("UibTabsetController",["$scope",function(a){var b=this,c=b.tabs=a.tabs=[];b.select=function(a){angular.forEach(c,function(b){b.active&&b!==a&&(b.active=!1,b.onDeselect(),a.selectCalled=!1)}),a.active=!0,a.selectCalled||(a.onSelect(),a.selectCalled=!0)},b.addTab=function(a){c.push(a),1===c.length&&a.active!==!1?a.active=!0:a.active?b.select(a):a.active=!1},b.removeTab=function(a){var e=c.indexOf(a);if(a.active&&c.length>1&&!d){var f=e==c.length-1?e-1:e+1;b.select(c[f])}c.splice(e,1)};var d;a.$on("$destroy",function(){d=!0})}]).directive("uibTabset",function(){return{restrict:"EA",transclude:!0,replace:!0,scope:{type:"@"},controller:"UibTabsetController",templateUrl:"template/tabs/tabset.html",link:function(a,b,c){a.vertical=angular.isDefined(c.vertical)?a.$parent.$eval(c.vertical):!1,a.justified=angular.isDefined(c.justified)?a.$parent.$eval(c.justified):!1}}}).directive("uibTab",["$parse",function(a){return{require:"^uibTabset",restrict:"EA",replace:!0,templateUrl:"template/tabs/tab.html",transclude:!0,scope:{active:"=?",heading:"@",onSelect:"&select",onDeselect:"&deselect"},controller:function(){},link:function(b,c,d,e,f){b.$watch("active",function(a){a&&e.select(b)}),b.disabled=!1,d.disable&&b.$parent.$watch(a(d.disable),function(a){b.disabled=!!a}),b.select=function(){b.disabled||(b.active=!0)},e.addTab(b),b.$on("$destroy",function(){e.removeTab(b)}),b.$transcludeFn=f}}}]).directive("uibTabHeadingTransclude",function(){return{restrict:"A",require:["?^uibTab","?^tab"],link:function(a,b){a.$watch("headingElement",function(a){a&&(b.html(""),b.append(a))})}}}).directive("uibTabContentTransclude",function(){function a(a){return a.tagName&&(a.hasAttribute("tab-heading")||a.hasAttribute("data-tab-heading")||a.hasAttribute("x-tab-heading")||a.hasAttribute("uib-tab-heading")||a.hasAttribute("data-uib-tab-heading")||a.hasAttribute("x-uib-tab-heading")||"tab-heading"===a.tagName.toLowerCase()||"data-tab-heading"===a.tagName.toLowerCase()||"x-tab-heading"===a.tagName.toLowerCase()||"uib-tab-heading"===a.tagName.toLowerCase()||"data-uib-tab-heading"===a.tagName.toLowerCase()||"x-uib-tab-heading"===a.tagName.toLowerCase())}return{restrict:"A",require:["?^uibTabset","?^tabset"],link:function(b,c,d){var e=b.$eval(d.uibTabContentTransclude);e.$transcludeFn(e.$parent,function(b){angular.forEach(b,function(b){a(b)?e.headingElement=b:c.append(b)})})}}}),angular.module("ui.bootstrap.tabs").value("$tabsSuppressWarning",!1).controller("TabsetController",["$scope","$controller","$log","$tabsSuppressWarning",function(a,b,c,d){d||c.warn("TabsetController is now deprecated. Use UibTabsetController instead."),angular.extend(this,b("UibTabsetController",{$scope:a}))}]).directive("tabset",["$log","$tabsSuppressWarning",function(a,b){return{restrict:"EA",transclude:!0,replace:!0,scope:{type:"@"},controller:"TabsetController",templateUrl:"template/tabs/tabset.html",link:function(c,d,e){b||a.warn("tabset is now deprecated. Use uib-tabset instead."),c.vertical=angular.isDefined(e.vertical)?c.$parent.$eval(e.vertical):!1,c.justified=angular.isDefined(e.justified)?c.$parent.$eval(e.justified):!1}}}]).directive("tab",["$parse","$log","$tabsSuppressWarning",function(a,b,c){return{require:"^tabset",restrict:"EA",replace:!0,templateUrl:"template/tabs/tab.html",transclude:!0,scope:{active:"=?",heading:"@",onSelect:"&select",onDeselect:"&deselect"},controller:function(){},link:function(d,e,f,g,h){c||b.warn("tab is now deprecated. Use uib-tab instead."),d.$watch("active",function(a){a&&g.select(d)}),d.disabled=!1,f.disable&&d.$parent.$watch(a(f.disable),function(a){d.disabled=!!a}),d.select=function(){d.disabled||(d.active=!0)},g.addTab(d),d.$on("$destroy",function(){g.removeTab(d)}),d.$transcludeFn=h}}}]).directive("tabHeadingTransclude",["$log","$tabsSuppressWarning",function(a,b){return{restrict:"A",require:"^tab",link:function(c,d){b||a.warn("tab-heading-transclude is now deprecated. Use uib-tab-heading-transclude instead."),c.$watch("headingElement",function(a){a&&(d.html(""),d.append(a))})}}}]).directive("tabContentTransclude",["$log","$tabsSuppressWarning",function(a,b){function c(a){return a.tagName&&(a.hasAttribute("tab-heading")||a.hasAttribute("data-tab-heading")||a.hasAttribute("x-tab-heading")||"tab-heading"===a.tagName.toLowerCase()||"data-tab-heading"===a.tagName.toLowerCase()||"x-tab-heading"===a.tagName.toLowerCase())}return{restrict:"A",require:"^tabset",link:function(d,e,f){b||a.warn("tab-content-transclude is now deprecated. Use uib-tab-content-transclude instead.");var g=d.$eval(f.tabContentTransclude);g.$transcludeFn(g.$parent,function(a){angular.forEach(a,function(a){c(a)?g.headingElement=a:e.append(a)})})}}}]),angular.module("ui.bootstrap.timepicker",[]).constant("uibTimepickerConfig",{hourStep:1,minuteStep:1,showMeridian:!0,meridians:null,readonlyInput:!1,mousewheel:!0,arrowkeys:!0,showSpinners:!0}).controller("UibTimepickerController",["$scope","$element","$attrs","$parse","$log","$locale","uibTimepickerConfig",function(a,b,c,d,e,f,g){function h(){var b=parseInt(a.hours,10),c=a.showMeridian?b>0&&13>b:b>=0&&24>b;return c?(a.showMeridian&&(12===b&&(b=0),a.meridian===r[1]&&(b+=12)),b):void 0}function i(){var b=parseInt(a.minutes,10);return b>=0&&60>b?b:void 0}function j(a){return angular.isDefined(a)&&a.toString().length<2?"0"+a:a.toString()}function k(a){l(),q.$setViewValue(new Date(p)),m(a)}function l(){q.$setValidity("time",!0),a.invalidHours=!1,a.invalidMinutes=!1}function m(b){var c=p.getHours(),d=p.getMinutes();a.showMeridian&&(c=0===c||12===c?12:c%12),a.hours="h"===b?c:j(c),"m"!==b&&(a.minutes=j(d)),a.meridian=p.getHours()<12?r[0]:r[1]}function n(a,b){var c=new Date(a.getTime()+6e4*b),d=new Date(a);return d.setHours(c.getHours(),c.getMinutes()),d}function o(a){p=n(p,a),k()}var p=new Date,q={$setViewValue:angular.noop},r=angular.isDefined(c.meridians)?a.$parent.$eval(c.meridians):g.meridians||f.DATETIME_FORMATS.AMPMS;a.tabindex=angular.isDefined(c.tabindex)?c.tabindex:0,b.removeAttr("tabindex"),this.init=function(b,d){q=b,q.$render=this.render,q.$formatters.unshift(function(a){return a?new Date(a):null});var e=d.eq(0),f=d.eq(1),h=angular.isDefined(c.mousewheel)?a.$parent.$eval(c.mousewheel):g.mousewheel;h&&this.setupMousewheelEvents(e,f);var i=angular.isDefined(c.arrowkeys)?a.$parent.$eval(c.arrowkeys):g.arrowkeys;i&&this.setupArrowkeyEvents(e,f),a.readonlyInput=angular.isDefined(c.readonlyInput)?a.$parent.$eval(c.readonlyInput):g.readonlyInput,this.setupInputEvents(e,f)};var s=g.hourStep;c.hourStep&&a.$parent.$watch(d(c.hourStep),function(a){s=parseInt(a,10)});var t=g.minuteStep;c.minuteStep&&a.$parent.$watch(d(c.minuteStep),function(a){t=parseInt(a,10)});var u;a.$parent.$watch(d(c.min),function(a){var b=new Date(a);u=isNaN(b)?void 0:b});var v;a.$parent.$watch(d(c.max),function(a){var b=new Date(a);v=isNaN(b)?void 0:b}),a.noIncrementHours=function(){var a=n(p,60*s);return a>v||p>a&&u>a},a.noDecrementHours=function(){var a=n(p,60*-s);return u>a||a>p&&a>v},a.noIncrementMinutes=function(){var a=n(p,t);return a>v||p>a&&u>a},a.noDecrementMinutes=function(){var a=n(p,-t);return u>a||a>p&&a>v},a.noToggleMeridian=function(){return p.getHours()<13?n(p,720)>v:n(p,-720)<u},a.showMeridian=g.showMeridian,c.showMeridian&&a.$parent.$watch(d(c.showMeridian),function(b){if(a.showMeridian=!!b,q.$error.time){var c=h(),d=i();angular.isDefined(c)&&angular.isDefined(d)&&(p.setHours(c),k())}else m()}),this.setupMousewheelEvents=function(b,c){var d=function(a){a.originalEvent&&(a=a.originalEvent);var b=a.wheelDelta?a.wheelDelta:-a.deltaY;return a.detail||b>0};b.bind("mousewheel wheel",function(b){a.$apply(d(b)?a.incrementHours():a.decrementHours()),b.preventDefault()}),c.bind("mousewheel wheel",function(b){a.$apply(d(b)?a.incrementMinutes():a.decrementMinutes()),b.preventDefault()})},this.setupArrowkeyEvents=function(b,c){b.bind("keydown",function(b){38===b.which?(b.preventDefault(),a.incrementHours(),a.$apply()):40===b.which&&(b.preventDefault(),a.decrementHours(),a.$apply())}),c.bind("keydown",function(b){38===b.which?(b.preventDefault(),a.incrementMinutes(),a.$apply()):40===b.which&&(b.preventDefault(),a.decrementMinutes(),a.$apply())})},this.setupInputEvents=function(b,c){if(a.readonlyInput)return a.updateHours=angular.noop,void(a.updateMinutes=angular.noop);var d=function(b,c){q.$setViewValue(null),q.$setValidity("time",!1),angular.isDefined(b)&&(a.invalidHours=b),angular.isDefined(c)&&(a.invalidMinutes=c)};a.updateHours=function(){var a=h(),b=i();angular.isDefined(a)&&angular.isDefined(b)?(p.setHours(a),u>p||p>v?d(!0):k("h")):d(!0)},b.bind("blur",function(b){!a.invalidHours&&a.hours<10&&a.$apply(function(){a.hours=j(a.hours)})}),a.updateMinutes=function(){var a=i(),b=h();angular.isDefined(a)&&angular.isDefined(b)?(p.setMinutes(a),u>p||p>v?d(void 0,!0):k("m")):d(void 0,!0)},c.bind("blur",function(b){!a.invalidMinutes&&a.minutes<10&&a.$apply(function(){a.minutes=j(a.minutes)})})},this.render=function(){var b=q.$viewValue;isNaN(b)?(q.$setValidity("time",!1),e.error('Timepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')):(b&&(p=b),u>p||p>v?(q.$setValidity("time",!1),a.invalidHours=!0,a.invalidMinutes=!0):l(),m())},a.showSpinners=angular.isDefined(c.showSpinners)?a.$parent.$eval(c.showSpinners):g.showSpinners,a.incrementHours=function(){a.noIncrementHours()||o(60*s)},a.decrementHours=function(){a.noDecrementHours()||o(60*-s)},a.incrementMinutes=function(){a.noIncrementMinutes()||o(t)},a.decrementMinutes=function(){a.noDecrementMinutes()||o(-t)},a.toggleMeridian=function(){a.noToggleMeridian()||o(720*(p.getHours()<12?1:-1))}}]).directive("uibTimepicker",function(){return{restrict:"EA",require:["uibTimepicker","?^ngModel"],controller:"UibTimepickerController",controllerAs:"timepicker",replace:!0,scope:{},templateUrl:function(a,b){return b.templateUrl||"template/timepicker/timepicker.html"},link:function(a,b,c,d){var e=d[0],f=d[1];f&&e.init(f,b.find("input"))}}}),angular.module("ui.bootstrap.timepicker").value("$timepickerSuppressWarning",!1).controller("TimepickerController",["$scope","$element","$attrs","$controller","$log","$timepickerSuppressWarning",function(a,b,c,d,e,f){f||e.warn("TimepickerController is now deprecated. Use UibTimepickerController instead."),angular.extend(this,d("UibTimepickerController",{$scope:a,$element:b,$attrs:c}))}]).directive("timepicker",["$log","$timepickerSuppressWarning",function(a,b){return{restrict:"EA",require:["timepicker","?^ngModel"],controller:"TimepickerController",controllerAs:"timepicker",replace:!0,scope:{},templateUrl:function(a,b){return b.templateUrl||"template/timepicker/timepicker.html"},link:function(c,d,e,f){b||a.warn("timepicker is now deprecated. Use uib-timepicker instead.");var g=f[0],h=f[1];h&&g.init(h,d.find("input"))}}}]),angular.module("ui.bootstrap.typeahead",["ui.bootstrap.position"]).factory("uibTypeaheadParser",["$parse",function(a){var b=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+([\s\S]+?)$/;return{parse:function(c){var d=c.match(b);if(!d)throw new Error('Expected typeahead specification in form of "_modelValue_ (as _label_)? for _item_ in _collection_" but got "'+c+'".');return{itemName:d[3],source:a(d[4]),viewMapper:a(d[2]||d[1]),modelMapper:a(d[1])}}}}]).controller("UibTypeaheadController",["$scope","$element","$attrs","$compile","$parse","$q","$timeout","$document","$window","$rootScope","$uibPosition","uibTypeaheadParser",function(a,b,c,d,e,f,g,h,i,j,k,l){function m(){K.moveInProgress||(K.moveInProgress=!0,K.$digest()),S&&g.cancel(S),S=g(function(){K.matches.length&&n(),K.moveInProgress=!1},r)}function n(){K.position=C?k.offset(b):k.position(b),K.position.top+=b.prop("offsetHeight")}var o,p,q=[9,13,27,38,40],r=200,s=a.$eval(c.typeaheadMinLength);s||0===s||(s=1);var t,u,v=a.$eval(c.typeaheadWaitMs)||0,w=a.$eval(c.typeaheadEditable)!==!1,x=e(c.typeaheadLoading).assign||angular.noop,y=e(c.typeaheadOnSelect),z=angular.isDefined(c.typeaheadSelectOnBlur)?a.$eval(c.typeaheadSelectOnBlur):!1,A=e(c.typeaheadNoResults).assign||angular.noop,B=c.typeaheadInputFormatter?e(c.typeaheadInputFormatter):void 0,C=c.typeaheadAppendToBody?a.$eval(c.typeaheadAppendToBody):!1,D=c.typeaheadAppendToElementId||!1,E=a.$eval(c.typeaheadFocusFirst)!==!1,F=c.typeaheadSelectOnExact?a.$eval(c.typeaheadSelectOnExact):!1,G=e(c.ngModel),H=e(c.ngModel+"($$$p)"),I=function(b,c){return angular.isFunction(G(a))&&p&&p.$options&&p.$options.getterSetter?H(b,{$$$p:c}):G.assign(b,c)},J=l.parse(c.uibTypeahead),K=a.$new(),L=a.$on("$destroy",function(){K.$destroy()});K.$on("$destroy",L);var M="typeahead-"+K.$id+"-"+Math.floor(1e4*Math.random());b.attr({"aria-autocomplete":"list","aria-expanded":!1,"aria-owns":M});var N=angular.element("<div uib-typeahead-popup></div>");N.attr({id:M,matches:"matches",active:"activeIdx",select:"select(activeIdx)","move-in-progress":"moveInProgress",query:"query",position:"position"}),angular.isDefined(c.typeaheadTemplateUrl)&&N.attr("template-url",c.typeaheadTemplateUrl),angular.isDefined(c.typeaheadPopupTemplateUrl)&&N.attr("popup-template-url",c.typeaheadPopupTemplateUrl);var O=function(){K.matches=[],K.activeIdx=-1,b.attr("aria-expanded",!1)},P=function(a){return M+"-option-"+a};K.$watch("activeIdx",function(a){0>a?b.removeAttr("aria-activedescendant"):b.attr("aria-activedescendant",P(a))});var Q=function(a,b){return K.matches.length>b&&a?a.toUpperCase()===K.matches[b].label.toUpperCase():!1},R=function(c){var d={$viewValue:c};x(a,!0),A(a,!1),f.when(J.source(a,d)).then(function(e){var f=c===o.$viewValue;if(f&&t)if(e&&e.length>0){K.activeIdx=E?0:-1,A(a,!1),K.matches.length=0;for(var g=0;g<e.length;g++)d[J.itemName]=e[g],K.matches.push({id:P(g),label:J.viewMapper(K,d),model:e[g]});K.query=c,n(),b.attr("aria-expanded",!0),F&&1===K.matches.length&&Q(c,0)&&K.select(0)}else O(),A(a,!0);f&&x(a,!1)},function(){O(),x(a,!1),A(a,!0)})};C&&(angular.element(i).bind("resize",m),h.find("body").bind("scroll",m));var S;K.moveInProgress=!1,K.query=void 0;var T,U=function(a){T=g(function(){R(a)},v)},V=function(){T&&g.cancel(T)};O(),K.select=function(d){var e,f,h={};u=!0,h[J.itemName]=f=K.matches[d].model,e=J.modelMapper(a,h),I(a,e),o.$setValidity("editable",!0),o.$setValidity("parse",!0),y(a,{$item:f,$model:e,$label:J.viewMapper(a,h)}),O(),K.$eval(c.typeaheadFocusOnSelect)!==!1&&g(function(){b[0].focus()},0,!1)},b.bind("keydown",function(a){if(0!==K.matches.length&&-1!==q.indexOf(a.which)){if(-1===K.activeIdx&&(9===a.which||13===a.which))return O(),void K.$digest();a.preventDefault(),40===a.which?(K.activeIdx=(K.activeIdx+1)%K.matches.length,K.$digest()):38===a.which?(K.activeIdx=(K.activeIdx>0?K.activeIdx:K.matches.length)-1,K.$digest()):13===a.which||9===a.which?K.$apply(function(){K.select(K.activeIdx)}):27===a.which&&(a.stopPropagation(),O(),K.$digest())}}),b.bind("blur",function(){z&&K.matches.length&&-1!==K.activeIdx&&!u&&(u=!0,K.$apply(function(){K.select(K.activeIdx)})),t=!1,u=!1});var W=function(a){b[0]!==a.target&&3!==a.which&&0!==K.matches.length&&(O(),j.$$phase||K.$digest())};h.bind("click",W),a.$on("$destroy",function(){h.unbind("click",W),(C||D)&&X.remove(),C&&(angular.element(i).unbind("resize",m),h.find("body").unbind("scroll",m)),N.remove()});var X=d(N)(K);C?h.find("body").append(X):D!==!1?angular.element(h[0].getElementById(D)).append(X):b.after(X),this.init=function(b,c){o=b,p=c,o.$parsers.unshift(function(b){return t=!0,0===s||b&&b.length>=s?v>0?(V(),U(b)):R(b):(x(a,!1),V(),O()),w?b:b?void o.$setValidity("editable",!1):(o.$setValidity("editable",!0),null)}),o.$formatters.push(function(b){var c,d,e={};return w||o.$setValidity("editable",!0),B?(e.$model=b,B(a,e)):(e[J.itemName]=b,c=J.viewMapper(a,e),e[J.itemName]=void 0,d=J.viewMapper(a,e),c!==d?c:b)})}}]).directive("uibTypeahead",function(){return{controller:"UibTypeaheadController",require:["ngModel","^?ngModelOptions","uibTypeahead"],link:function(a,b,c,d){d[2].init(d[0],d[1])}}}).directive("uibTypeaheadPopup",function(){return{scope:{matches:"=",query:"=",active:"=",position:"&",moveInProgress:"=",select:"&"},replace:!0,templateUrl:function(a,b){return b.popupTemplateUrl||"template/typeahead/typeahead-popup.html"},link:function(a,b,c){a.templateUrl=c.templateUrl,a.isOpen=function(){return a.matches.length>0},a.isActive=function(b){return a.active==b},a.selectActive=function(b){a.active=b},a.selectMatch=function(b){a.select({activeIdx:b})}}}}).directive("uibTypeaheadMatch",["$templateRequest","$compile","$parse",function(a,b,c){return{scope:{index:"=",match:"=",query:"="},link:function(d,e,f){var g=c(f.templateUrl)(d.$parent)||"template/typeahead/typeahead-match.html";a(g).then(function(a){b(a.trim())(d,function(a){e.replaceWith(a)})})}}}]).filter("uibTypeaheadHighlight",["$sce","$injector","$log",function(a,b,c){function d(a){return a.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}function e(a){return/<.*>/g.test(a)}var f;return f=b.has("$sanitize"),function(b,g){return!f&&e(b)&&c.warn("Unsafe use of typeahead please use ngSanitize"),b=g?(""+b).replace(new RegExp(d(g),"gi"),"<strong>$&</strong>"):b,f||(b=a.trustAsHtml(b)),b}}]),angular.module("ui.bootstrap.typeahead").value("$typeaheadSuppressWarning",!1).service("typeaheadParser",["$parse","uibTypeaheadParser","$log","$typeaheadSuppressWarning",function(a,b,c,d){return d||c.warn("typeaheadParser is now deprecated. Use uibTypeaheadParser instead."),b}]).directive("typeahead",["$compile","$parse","$q","$timeout","$document","$window","$rootScope","$uibPosition","typeaheadParser","$log","$typeaheadSuppressWarning",function(a,b,c,d,e,f,g,h,i,j,k){var l=[9,13,27,38,40],m=200;return{require:["ngModel","^?ngModelOptions"],link:function(n,o,p,q){function r(){N.moveInProgress||(N.moveInProgress=!0,N.$digest()),V&&d.cancel(V),V=d(function(){N.matches.length&&s(),N.moveInProgress=!1},m)}function s(){N.position=F?h.offset(o):h.position(o),N.position.top+=o.prop("offsetHeight")}k||j.warn("typeahead is now deprecated. Use uib-typeahead instead.");var t=q[0],u=q[1],v=n.$eval(p.typeaheadMinLength);v||0===v||(v=1);var w,x,y=n.$eval(p.typeaheadWaitMs)||0,z=n.$eval(p.typeaheadEditable)!==!1,A=b(p.typeaheadLoading).assign||angular.noop,B=b(p.typeaheadOnSelect),C=angular.isDefined(p.typeaheadSelectOnBlur)?n.$eval(p.typeaheadSelectOnBlur):!1,D=b(p.typeaheadNoResults).assign||angular.noop,E=p.typeaheadInputFormatter?b(p.typeaheadInputFormatter):void 0,F=p.typeaheadAppendToBody?n.$eval(p.typeaheadAppendToBody):!1,G=p.typeaheadAppendToElementId||!1,H=n.$eval(p.typeaheadFocusFirst)!==!1,I=p.typeaheadSelectOnExact?n.$eval(p.typeaheadSelectOnExact):!1,J=b(p.ngModel),K=b(p.ngModel+"($$$p)"),L=function(a,b){return angular.isFunction(J(n))&&u&&u.$options&&u.$options.getterSetter?K(a,{$$$p:b}):J.assign(a,b)},M=i.parse(p.typeahead),N=n.$new(),O=n.$on("$destroy",function(){N.$destroy()});N.$on("$destroy",O);var P="typeahead-"+N.$id+"-"+Math.floor(1e4*Math.random());o.attr({"aria-autocomplete":"list","aria-expanded":!1,"aria-owns":P});var Q=angular.element("<div typeahead-popup></div>");Q.attr({id:P,matches:"matches",active:"activeIdx",select:"select(activeIdx)","move-in-progress":"moveInProgress",query:"query",position:"position"}),angular.isDefined(p.typeaheadTemplateUrl)&&Q.attr("template-url",p.typeaheadTemplateUrl),angular.isDefined(p.typeaheadPopupTemplateUrl)&&Q.attr("popup-template-url",p.typeaheadPopupTemplateUrl);var R=function(){N.matches=[],N.activeIdx=-1,o.attr("aria-expanded",!1)},S=function(a){return P+"-option-"+a};N.$watch("activeIdx",function(a){0>a?o.removeAttr("aria-activedescendant"):o.attr("aria-activedescendant",S(a))});var T=function(a,b){return N.matches.length>b&&a?a.toUpperCase()===N.matches[b].label.toUpperCase():!1},U=function(a){var b={$viewValue:a};A(n,!0),D(n,!1),c.when(M.source(n,b)).then(function(c){var d=a===t.$viewValue;if(d&&w)if(c&&c.length>0){N.activeIdx=H?0:-1,D(n,!1),N.matches.length=0;for(var e=0;e<c.length;e++)b[M.itemName]=c[e],N.matches.push({id:S(e),label:M.viewMapper(N,b),model:c[e]});N.query=a,s(),o.attr("aria-expanded",!0),I&&1===N.matches.length&&T(a,0)&&N.select(0)}else R(),D(n,!0);d&&A(n,!1)},function(){R(),A(n,!1),D(n,!0)})};F&&(angular.element(f).bind("resize",r),e.find("body").bind("scroll",r));var V;N.moveInProgress=!1,
-R(),N.query=void 0;var W,X=function(a){W=d(function(){U(a)},y)},Y=function(){W&&d.cancel(W)};t.$parsers.unshift(function(a){return w=!0,0===v||a&&a.length>=v?y>0?(Y(),X(a)):U(a):(A(n,!1),Y(),R()),z?a:a?void t.$setValidity("editable",!1):(t.$setValidity("editable",!0),null)}),t.$formatters.push(function(a){var b,c,d={};return z||t.$setValidity("editable",!0),E?(d.$model=a,E(n,d)):(d[M.itemName]=a,b=M.viewMapper(n,d),d[M.itemName]=void 0,c=M.viewMapper(n,d),b!==c?b:a)}),N.select=function(a){var b,c,e={};x=!0,e[M.itemName]=c=N.matches[a].model,b=M.modelMapper(n,e),L(n,b),t.$setValidity("editable",!0),t.$setValidity("parse",!0),B(n,{$item:c,$model:b,$label:M.viewMapper(n,e)}),R(),N.$eval(p.typeaheadFocusOnSelect)!==!1&&d(function(){o[0].focus()},0,!1)},o.bind("keydown",function(a){if(0!==N.matches.length&&-1!==l.indexOf(a.which)){if(-1===N.activeIdx&&(9===a.which||13===a.which))return R(),void N.$digest();a.preventDefault(),40===a.which?(N.activeIdx=(N.activeIdx+1)%N.matches.length,N.$digest()):38===a.which?(N.activeIdx=(N.activeIdx>0?N.activeIdx:N.matches.length)-1,N.$digest()):13===a.which||9===a.which?N.$apply(function(){N.select(N.activeIdx)}):27===a.which&&(a.stopPropagation(),R(),N.$digest())}}),o.bind("blur",function(){C&&N.matches.length&&-1!==N.activeIdx&&!x&&(x=!0,N.$apply(function(){N.select(N.activeIdx)})),w=!1,x=!1});var Z=function(a){o[0]!==a.target&&3!==a.which&&0!==N.matches.length&&(R(),g.$$phase||N.$digest())};e.bind("click",Z),n.$on("$destroy",function(){e.unbind("click",Z),(F||G)&&$.remove(),F&&(angular.element(f).unbind("resize",r),e.find("body").unbind("scroll",r)),Q.remove()});var $=a(Q)(N);F?e.find("body").append($):G!==!1?angular.element(e[0].getElementById(G)).append($):o.after($)}}}]).directive("typeaheadPopup",["$typeaheadSuppressWarning","$log",function(a,b){return{scope:{matches:"=",query:"=",active:"=",position:"&",moveInProgress:"=",select:"&"},replace:!0,templateUrl:function(a,b){return b.popupTemplateUrl||"template/typeahead/typeahead-popup.html"},link:function(c,d,e){a||b.warn("typeahead-popup is now deprecated. Use uib-typeahead-popup instead."),c.templateUrl=e.templateUrl,c.isOpen=function(){return c.matches.length>0},c.isActive=function(a){return c.active==a},c.selectActive=function(a){c.active=a},c.selectMatch=function(a){c.select({activeIdx:a})}}}}]).directive("typeaheadMatch",["$templateRequest","$compile","$parse","$typeaheadSuppressWarning","$log",function(a,b,c,d,e){return{restrict:"EA",scope:{index:"=",match:"=",query:"="},link:function(f,g,h){d||e.warn("typeahead-match is now deprecated. Use uib-typeahead-match instead.");var i=c(h.templateUrl)(f.$parent)||"template/typeahead/typeahead-match.html";a(i).then(function(a){b(a.trim())(f,function(a){g.replaceWith(a)})})}}}]).filter("typeaheadHighlight",["$sce","$injector","$log","$typeaheadSuppressWarning",function(a,b,c,d){function e(a){return a.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}function f(a){return/<.*>/g.test(a)}var g;return g=b.has("$sanitize"),function(b,h){return d||c.warn("typeaheadHighlight is now deprecated. Use uibTypeaheadHighlight instead."),!g&&f(b)&&c.warn("Unsafe use of typeahead please use ngSanitize"),b=h?(""+b).replace(new RegExp(e(h),"gi"),"<strong>$&</strong>"):b,g||(b=a.trustAsHtml(b)),b}}]),angular.module("template/accordion/accordion-group.html",[]).run(["$templateCache",function(a){a.put("template/accordion/accordion-group.html",'<div class="panel {{panelClass || \'panel-default\'}}">\n  <div class="panel-heading" ng-keypress="toggleOpen($event)">\n    <h4 class="panel-title">\n      <a href tabindex="0" class="accordion-toggle" ng-click="toggleOpen()" uib-accordion-transclude="heading"><span ng-class="{\'text-muted\': isDisabled}">{{heading}}</span></a>\n    </h4>\n  </div>\n  <div class="panel-collapse collapse" uib-collapse="!isOpen">\n       <div class="panel-body" ng-transclude></div>\n  </div>\n</div>\n')}]),angular.module("template/accordion/accordion.html",[]).run(["$templateCache",function(a){a.put("template/accordion/accordion.html",'<div class="panel-group" ng-transclude></div>')}]),angular.module("template/alert/alert.html",[]).run(["$templateCache",function(a){a.put("template/alert/alert.html",'<div class="alert" ng-class="[\'alert-\' + (type || \'warning\'), closeable ? \'alert-dismissible\' : null]" role="alert">\n    <button ng-show="closeable" type="button" class="close" ng-click="close({$event: $event})">\n        <span aria-hidden="true">&times;</span>\n        <span class="sr-only">Close</span>\n    </button>\n    <div ng-transclude></div>\n</div>\n')}]),angular.module("template/carousel/carousel.html",[]).run(["$templateCache",function(a){a.put("template/carousel/carousel.html",'<div ng-mouseenter="pause()" ng-mouseleave="play()" class="carousel" ng-swipe-right="prev()" ng-swipe-left="next()">\n  <div class="carousel-inner" ng-transclude></div>\n  <a role="button" href class="left carousel-control" ng-click="prev()" ng-show="slides.length > 1">\n    <span aria-hidden="true" class="glyphicon glyphicon-chevron-left"></span>\n    <span class="sr-only">previous</span>\n  </a>\n  <a role="button" href class="right carousel-control" ng-click="next()" ng-show="slides.length > 1">\n    <span aria-hidden="true" class="glyphicon glyphicon-chevron-right"></span>\n    <span class="sr-only">next</span>\n  </a>\n  <ol class="carousel-indicators" ng-show="slides.length > 1">\n    <li ng-repeat="slide in slides | orderBy:indexOfSlide track by $index" ng-class="{ active: isActive(slide) }" ng-click="select(slide)">\n      <span class="sr-only">slide {{ $index + 1 }} of {{ slides.length }}<span ng-if="isActive(slide)">, currently active</span></span>\n    </li>\n  </ol>\n</div>')}]),angular.module("template/carousel/slide.html",[]).run(["$templateCache",function(a){a.put("template/carousel/slide.html",'<div ng-class="{\n    \'active\': active\n  }" class="item text-center" ng-transclude></div>\n')}]),angular.module("template/datepicker/datepicker.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/datepicker.html",'<div ng-switch="datepickerMode" role="application" ng-keydown="keydown($event)">\n  <uib-daypicker ng-switch-when="day" tabindex="0"></uib-daypicker>\n  <uib-monthpicker ng-switch-when="month" tabindex="0"></uib-monthpicker>\n  <uib-yearpicker ng-switch-when="year" tabindex="0"></uib-yearpicker>\n</div>')}]),angular.module("template/datepicker/day.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/day.html",'<table role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n    <tr>\n      <th><button type="button" class="btn btn-default btn-sm pull-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"></i></button></th>\n      <th colspan="{{::5 + showWeeks}}"><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1" style="width:100%;"><strong>{{title}}</strong></button></th>\n      <th><button type="button" class="btn btn-default btn-sm pull-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"></i></button></th>\n    </tr>\n    <tr>\n      <th ng-if="showWeeks" class="text-center"></th>\n      <th ng-repeat="label in ::labels track by $index" class="text-center"><small aria-label="{{::label.full}}">{{::label.abbr}}</small></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr ng-repeat="row in rows track by $index">\n      <td ng-if="showWeeks" class="text-center h6"><em>{{ weekNumbers[$index] }}</em></td>\n      <td ng-repeat="dt in row track by dt.date" class="text-center" role="gridcell" id="{{::dt.uid}}" ng-class="::dt.customClass">\n        <button type="button" style="min-width:100%;" class="btn btn-default btn-sm" ng-class="{\'btn-info\': dt.selected, active: isActive(dt)}" ng-click="select(dt.date)" ng-disabled="dt.disabled" tabindex="-1"><span ng-class="::{\'text-muted\': dt.secondary, \'text-info\': dt.current}">{{::dt.label}}</span></button>\n      </td>\n    </tr>\n  </tbody>\n</table>\n')}]),angular.module("template/datepicker/month.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/month.html",'<table role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n    <tr>\n      <th><button type="button" class="btn btn-default btn-sm pull-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"></i></button></th>\n      <th><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1" style="width:100%;"><strong>{{title}}</strong></button></th>\n      <th><button type="button" class="btn btn-default btn-sm pull-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"></i></button></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr ng-repeat="row in rows track by $index">\n      <td ng-repeat="dt in row track by dt.date" class="text-center" role="gridcell" id="{{::dt.uid}}" ng-class="::dt.customClass">\n        <button type="button" style="min-width:100%;" class="btn btn-default" ng-class="{\'btn-info\': dt.selected, active: isActive(dt)}" ng-click="select(dt.date)" ng-disabled="dt.disabled" tabindex="-1"><span ng-class="::{\'text-info\': dt.current}">{{::dt.label}}</span></button>\n      </td>\n    </tr>\n  </tbody>\n</table>\n')}]),angular.module("template/datepicker/popup.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/popup.html",'<ul class="dropdown-menu" dropdown-nested ng-if="isOpen" style="display: block" ng-style="{top: position.top+\'px\', left: position.left+\'px\'}" ng-keydown="keydown($event)" ng-click="$event.stopPropagation()">\n     <li ng-transclude></li>\n       <li ng-if="showButtonBar" style="padding:10px 9px 2px">\n               <span class="btn-group pull-left">\n                    <button type="button" class="btn btn-sm btn-info" ng-click="select(\'today\')" ng-disabled="isDisabled(\'today\')">{{ getText(\'current\') }}</button>\n                        <button type="button" class="btn btn-sm btn-danger" ng-click="select(null)">{{ getText(\'clear\') }}</button>\n         </span>\n               <button type="button" class="btn btn-sm btn-success pull-right" ng-click="close()">{{ getText(\'close\') }}</button>\n  </li>\n</ul>\n')}]),angular.module("template/datepicker/year.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/year.html",'<table role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n    <tr>\n      <th><button type="button" class="btn btn-default btn-sm pull-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"></i></button></th>\n      <th colspan="3"><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1" style="width:100%;"><strong>{{title}}</strong></button></th>\n      <th><button type="button" class="btn btn-default btn-sm pull-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"></i></button></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr ng-repeat="row in rows track by $index">\n      <td ng-repeat="dt in row track by dt.date" class="text-center" role="gridcell" id="{{::dt.uid}}" ng-class="::dt.customClass">\n        <button type="button" style="min-width:100%;" class="btn btn-default" ng-class="{\'btn-info\': dt.selected, active: isActive(dt)}" ng-click="select(dt.date)" ng-disabled="dt.disabled" tabindex="-1"><span ng-class="::{\'text-info\': dt.current}">{{::dt.label}}</span></button>\n      </td>\n    </tr>\n  </tbody>\n</table>\n')}]),angular.module("template/modal/backdrop.html",[]).run(["$templateCache",function(a){a.put("template/modal/backdrop.html",'<div uib-modal-animation-class="fade"\n     modal-in-class="in"\n     ng-style="{\'z-index\': 1040 + (index && 1 || 0) + index*10}"\n></div>\n')}]),angular.module("template/modal/window.html",[]).run(["$templateCache",function(a){a.put("template/modal/window.html",'<div modal-render="{{$isRendered}}" tabindex="-1" role="dialog" class="modal"\n    uib-modal-animation-class="fade"\n    modal-in-class="in"\n    ng-style="{\'z-index\': 1050 + index*10, display: \'block\'}">\n    <div class="modal-dialog" ng-class="size ? \'modal-\' + size : \'\'"><div class="modal-content" uib-modal-transclude></div></div>\n</div>\n')}]),angular.module("template/pagination/pager.html",[]).run(["$templateCache",function(a){a.put("template/pagination/pager.html",'<ul class="pager">\n  <li ng-class="{disabled: noPrevious()||ngDisabled, previous: align}"><a href ng-click="selectPage(page - 1, $event)">{{::getText(\'previous\')}}</a></li>\n  <li ng-class="{disabled: noNext()||ngDisabled, next: align}"><a href ng-click="selectPage(page + 1, $event)">{{::getText(\'next\')}}</a></li>\n</ul>\n')}]),angular.module("template/pagination/pagination.html",[]).run(["$templateCache",function(a){a.put("template/pagination/pagination.html",'<ul class="pagination">\n  <li ng-if="::boundaryLinks" ng-class="{disabled: noPrevious()||ngDisabled}" class="pagination-first"><a href ng-click="selectPage(1, $event)">{{::getText(\'first\')}}</a></li>\n  <li ng-if="::directionLinks" ng-class="{disabled: noPrevious()||ngDisabled}" class="pagination-prev"><a href ng-click="selectPage(page - 1, $event)">{{::getText(\'previous\')}}</a></li>\n  <li ng-repeat="page in pages track by $index" ng-class="{active: page.active,disabled: ngDisabled&&!page.active}" class="pagination-page"><a href ng-click="selectPage(page.number, $event)">{{page.text}}</a></li>\n  <li ng-if="::directionLinks" ng-class="{disabled: noNext()||ngDisabled}" class="pagination-next"><a href ng-click="selectPage(page + 1, $event)">{{::getText(\'next\')}}</a></li>\n  <li ng-if="::boundaryLinks" ng-class="{disabled: noNext()||ngDisabled}" class="pagination-last"><a href ng-click="selectPage(totalPages, $event)">{{::getText(\'last\')}}</a></li>\n</ul>\n')}]),angular.module("template/tooltip/tooltip-html-popup.html",[]).run(["$templateCache",function(a){a.put("template/tooltip/tooltip-html-popup.html",'<div\n  tooltip-animation-class="fade"\n  uib-tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="tooltip-arrow"></div>\n  <div class="tooltip-inner" ng-bind-html="contentExp()"></div>\n</div>\n')}]),angular.module("template/tooltip/tooltip-popup.html",[]).run(["$templateCache",function(a){a.put("template/tooltip/tooltip-popup.html",'<div\n  tooltip-animation-class="fade"\n  uib-tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="tooltip-arrow"></div>\n  <div class="tooltip-inner" ng-bind="content"></div>\n</div>\n')}]),angular.module("template/tooltip/tooltip-template-popup.html",[]).run(["$templateCache",function(a){a.put("template/tooltip/tooltip-template-popup.html",'<div\n  tooltip-animation-class="fade"\n  uib-tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="tooltip-arrow"></div>\n  <div class="tooltip-inner"\n    uib-tooltip-template-transclude="contentExp()"\n    tooltip-template-transclude-scope="originScope()"></div>\n</div>\n')}]),angular.module("template/popover/popover-html.html",[]).run(["$templateCache",function(a){a.put("template/popover/popover-html.html",'<div tooltip-animation-class="fade"\n  uib-tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="arrow"></div>\n\n  <div class="popover-inner">\n      <h3 class="popover-title" ng-bind="title" ng-if="title"></h3>\n      <div class="popover-content" ng-bind-html="contentExp()"></div>\n  </div>\n</div>\n')}]),angular.module("template/popover/popover-template.html",[]).run(["$templateCache",function(a){a.put("template/popover/popover-template.html",'<div tooltip-animation-class="fade"\n  uib-tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="arrow"></div>\n\n  <div class="popover-inner">\n      <h3 class="popover-title" ng-bind="title" ng-if="title"></h3>\n      <div class="popover-content"\n        uib-tooltip-template-transclude="contentExp()"\n        tooltip-template-transclude-scope="originScope()"></div>\n  </div>\n</div>\n')}]),angular.module("template/popover/popover.html",[]).run(["$templateCache",function(a){a.put("template/popover/popover.html",'<div tooltip-animation-class="fade"\n  uib-tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="arrow"></div>\n\n  <div class="popover-inner">\n      <h3 class="popover-title" ng-bind="title" ng-if="title"></h3>\n      <div class="popover-content" ng-bind="content"></div>\n  </div>\n</div>\n')}]),angular.module("template/progressbar/bar.html",[]).run(["$templateCache",function(a){a.put("template/progressbar/bar.html",'<div class="progress-bar" ng-class="type && \'progress-bar-\' + type" role="progressbar" aria-valuenow="{{value}}" aria-valuemin="0" aria-valuemax="{{max}}" ng-style="{width: (percent < 100 ? percent : 100) + \'%\'}" aria-valuetext="{{percent | number:0}}%" aria-labelledby="{{::title}}" style="min-width: 0;" ng-transclude></div>\n')}]),angular.module("template/progressbar/progress.html",[]).run(["$templateCache",function(a){a.put("template/progressbar/progress.html",'<div class="progress" ng-transclude aria-labelledby="{{::title}}"></div>')}]),angular.module("template/progressbar/progressbar.html",[]).run(["$templateCache",function(a){a.put("template/progressbar/progressbar.html",'<div class="progress">\n  <div class="progress-bar" ng-class="type && \'progress-bar-\' + type" role="progressbar" aria-valuenow="{{value}}" aria-valuemin="0" aria-valuemax="{{max}}" ng-style="{width: (percent < 100 ? percent : 100) + \'%\'}" aria-valuetext="{{percent | number:0}}%" aria-labelledby="{{::title}}" style="min-width: 0;" ng-transclude></div>\n</div>\n')}]),angular.module("template/rating/rating.html",[]).run(["$templateCache",function(a){a.put("template/rating/rating.html",'<span ng-mouseleave="reset()" ng-keydown="onKeydown($event)" tabindex="0" role="slider" aria-valuemin="0" aria-valuemax="{{range.length}}" aria-valuenow="{{value}}">\n    <span ng-repeat-start="r in range track by $index" class="sr-only">({{ $index < value ? \'*\' : \' \' }})</span>\n    <i ng-repeat-end ng-mouseenter="enter($index + 1)" ng-click="rate($index + 1)" class="glyphicon" ng-class="$index < value && (r.stateOn || \'glyphicon-star\') || (r.stateOff || \'glyphicon-star-empty\')" ng-attr-title="{{r.title}}" aria-valuetext="{{r.title}}"></i>\n</span>\n')}]),angular.module("template/tabs/tab.html",[]).run(["$templateCache",function(a){a.put("template/tabs/tab.html",'<li ng-class="{active: active, disabled: disabled}">\n  <a href ng-click="select()" uib-tab-heading-transclude>{{heading}}</a>\n</li>\n')}]),angular.module("template/tabs/tabset.html",[]).run(["$templateCache",function(a){a.put("template/tabs/tabset.html",'<div>\n  <ul class="nav nav-{{type || \'tabs\'}}" ng-class="{\'nav-stacked\': vertical, \'nav-justified\': justified}" ng-transclude></ul>\n  <div class="tab-content">\n    <div class="tab-pane" \n         ng-repeat="tab in tabs" \n         ng-class="{active: tab.active}"\n         uib-tab-content-transclude="tab">\n    </div>\n  </div>\n</div>\n')}]),angular.module("template/timepicker/timepicker.html",[]).run(["$templateCache",function(a){a.put("template/timepicker/timepicker.html",'<table>\n  <tbody>\n    <tr class="text-center" ng-show="::showSpinners">\n      <td><a ng-click="incrementHours()" ng-class="{disabled: noIncrementHours()}" class="btn btn-link" ng-disabled="noIncrementHours()" tabindex="{{::tabindex}}"><span class="glyphicon glyphicon-chevron-up"></span></a></td>\n      <td>&nbsp;</td>\n      <td><a ng-click="incrementMinutes()" ng-class="{disabled: noIncrementMinutes()}" class="btn btn-link" ng-disabled="noIncrementMinutes()" tabindex="{{::tabindex}}"><span class="glyphicon glyphicon-chevron-up"></span></a></td>\n      <td ng-show="showMeridian"></td>\n    </tr>\n    <tr>\n      <td class="form-group" ng-class="{\'has-error\': invalidHours}">\n        <input style="width:50px;" type="text" ng-model="hours" ng-change="updateHours()" class="form-control text-center" ng-readonly="::readonlyInput" maxlength="2" tabindex="{{::tabindex}}">\n      </td>\n      <td>:</td>\n      <td class="form-group" ng-class="{\'has-error\': invalidMinutes}">\n        <input style="width:50px;" type="text" ng-model="minutes" ng-change="updateMinutes()" class="form-control text-center" ng-readonly="::readonlyInput" maxlength="2" tabindex="{{::tabindex}}">\n      </td>\n      <td ng-show="showMeridian"><button type="button" ng-class="{disabled: noToggleMeridian()}" class="btn btn-default text-center" ng-click="toggleMeridian()" ng-disabled="noToggleMeridian()" tabindex="{{::tabindex}}">{{meridian}}</button></td>\n    </tr>\n    <tr class="text-center" ng-show="::showSpinners">\n      <td><a ng-click="decrementHours()" ng-class="{disabled: noDecrementHours()}" class="btn btn-link" ng-disabled="noDecrementHours()" tabindex="{{::tabindex}}"><span class="glyphicon glyphicon-chevron-down"></span></a></td>\n      <td>&nbsp;</td>\n      <td><a ng-click="decrementMinutes()" ng-class="{disabled: noDecrementMinutes()}" class="btn btn-link" ng-disabled="noDecrementMinutes()" tabindex="{{::tabindex}}"><span class="glyphicon glyphicon-chevron-down"></span></a></td>\n      <td ng-show="showMeridian"></td>\n    </tr>\n  </tbody>\n</table>\n')}]),angular.module("template/typeahead/typeahead-match.html",[]).run(["$templateCache",function(a){a.put("template/typeahead/typeahead-match.html",'<a href tabindex="-1" ng-bind-html="match.label | uibTypeaheadHighlight:query"></a>\n')}]),angular.module("template/typeahead/typeahead-popup.html",[]).run(["$templateCache",function(a){a.put("template/typeahead/typeahead-popup.html",'<ul class="dropdown-menu" ng-show="isOpen() && !moveInProgress" ng-style="{top: position().top+\'px\', left: position().left+\'px\'}" style="display: block;" role="listbox" aria-hidden="{{!isOpen()}}">\n    <li ng-repeat="match in matches track by $index" ng-class="{active: isActive($index) }" ng-mouseenter="selectActive($index)" ng-click="selectMatch($index)" role="option" id="{{::match.id}}">\n        <div uib-typeahead-match index="$index" match="match" query="query" template-url="templateUrl"></div>\n    </li>\n</ul>\n')}]),!angular.$$csp()&&angular.element(document).find("head").prepend('<style type="text/css">.ng-animate.item:not(.left):not(.right){-webkit-transition:0s ease-in-out left;transition:0s ease-in-out left}</style>'),"undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.5",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.5",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.5",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),
-this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.5",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k.right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var q=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);return this.$element.trigger(g),g.isDefaultPrevented()?void 0:(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=d?{top:0,left:0}:b.offset(),g={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},h=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,g,h,f)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.5",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.5",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.5",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery),function(a){"use strict";"function"==typeof define&&define.amd?define(a):"undefined"!=typeof module&&"undefined"!=typeof module.exports?module.exports=a():"undefined"!=typeof Package?Sortable=a():window.Sortable=a()}(function(){"use strict";function a(a,b){this.el=a,this.options=b=s({},b),a[J]=this;var d={group:Math.random(),sort:!0,disabled:!1,store:null,handle:null,scroll:!0,scrollSensitivity:30,scrollSpeed:10,draggable:/[uo]l/i.test(a.nodeName)?"li":">*",ghostClass:"sortable-ghost",ignore:"a, img",filter:null,animation:0,setData:function(a,b){a.setData("Text",b.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0};for(var e in d)!(e in b)&&(b[e]=d[e]);var g=b.group;g&&"object"==typeof g||(g=b.group={name:g}),["pull","put"].forEach(function(a){a in g||(g[a]=!0)}),b.groups=" "+g.name+(g.put.join?" "+g.put.join(" "):"")+" ";for(var h in this)"_"===h.charAt(0)&&(this[h]=c(this,this[h]));f(a,"mousedown",this._onTapStart),f(a,"touchstart",this._onTapStart),f(a,"dragover",this),f(a,"dragenter",this),R.push(this._onDragOver),b.store&&this.sort(b.store.get(this))}function b(a){v&&v.state!==a&&(i(v,"display",a?"none":""),!a&&v.state&&w.insertBefore(v,t),v.state=a)}function c(a,b){var c=Q.call(arguments,2);return b.bind?b.bind.apply(b,[a].concat(c)):function(){return b.apply(a,c.concat(Q.call(arguments)))}}function d(a,b,c){if(a){c=c||L,b=b.split(".");var d=b.shift().toUpperCase(),e=new RegExp("\\s("+b.join("|")+")(?=\\s)","g");do if(">*"===d&&a.parentNode===c||(""===d||a.nodeName.toUpperCase()==d)&&(!b.length||((" "+a.className+" ").match(e)||[]).length==b.length))return a;while(a!==c&&(a=a.parentNode))}return null}function e(a){a.dataTransfer.dropEffect="move",a.preventDefault()}function f(a,b,c){a.addEventListener(b,c,!1)}function g(a,b,c){a.removeEventListener(b,c,!1)}function h(a,b,c){if(a)if(a.classList)a.classList[c?"add":"remove"](b);else{var d=(" "+a.className+" ").replace(I," ").replace(" "+b+" "," ");a.className=(d+(c?" "+b:"")).replace(I," ")}}function i(a,b,c){var d=a&&a.style;if(d){if(void 0===c)return L.defaultView&&L.defaultView.getComputedStyle?c=L.defaultView.getComputedStyle(a,""):a.currentStyle&&(c=a.currentStyle),void 0===b?c:c[b];b in d||(b="-webkit-"+b),d[b]=c+("string"==typeof c?"":"px")}}function j(a,b,c){if(a){var d=a.getElementsByTagName(b),e=0,f=d.length;if(c)for(;f>e;e++)c(d[e],e);return d}return[]}function k(a,b,c,d,e,f,g){var h=L.createEvent("Event"),i=(a||b[J]).options,j="on"+c.charAt(0).toUpperCase()+c.substr(1);h.initEvent(c,!0,!0),h.to=b,h.from=e||b,h.item=d||b,h.clone=v,h.oldIndex=f,h.newIndex=g,b.dispatchEvent(h),i[j]&&i[j].call(a,h)}function l(a,b,c,d,e,f){var g,h,i=a[J],j=i.options.onMove;return j&&(g=L.createEvent("Event"),g.initEvent("move",!0,!0),g.to=b,g.from=a,g.dragged=c,g.draggedRect=d,g.related=e||b,g.relatedRect=f||b.getBoundingClientRect(),h=j.call(i,g)),h}function m(a){a.draggable=!1}function n(){O=!1}function o(a,b){var c=a.lastElementChild,d=c.getBoundingClientRect();return b.clientY-(d.top+d.height)>5&&c}function p(a){for(var b=a.tagName+a.className+a.src+a.href+a.textContent,c=b.length,d=0;c--;)d+=b.charCodeAt(c);return d.toString(36)}function q(a){for(var b=0;a&&(a=a.previousElementSibling);)"TEMPLATE"!==a.nodeName.toUpperCase()&&b++;return b}function r(a,b){var c,d;return function(){void 0===c&&(c=arguments,d=this,setTimeout(function(){1===c.length?a.call(d,c[0]):a.apply(d,c),c=void 0},b))}}function s(a,b){if(a&&b)for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return a}var t,u,v,w,x,y,z,A,B,C,D,E,F,G,H={},I=/\s+/g,J="Sortable"+(new Date).getTime(),K=window,L=K.document,M=K.parseInt,N=!!("draggable"in L.createElement("div")),O=!1,P=Math.abs,Q=[].slice,R=[],S=r(function(a,b,c){if(c&&b.scroll){var d,e,f,g,h=b.scrollSensitivity,i=b.scrollSpeed,j=a.clientX,k=a.clientY,l=window.innerWidth,m=window.innerHeight;if(z!==c&&(y=b.scroll,z=c,y===!0)){y=c;do if(y.offsetWidth<y.scrollWidth||y.offsetHeight<y.scrollHeight)break;while(y=y.parentNode)}y&&(d=y,e=y.getBoundingClientRect(),f=(P(e.right-j)<=h)-(P(e.left-j)<=h),g=(P(e.bottom-k)<=h)-(P(e.top-k)<=h)),f||g||(f=(h>=l-j)-(h>=j),g=(h>=m-k)-(h>=k),(f||g)&&(d=K)),(H.vx!==f||H.vy!==g||H.el!==d)&&(H.el=d,H.vx=f,H.vy=g,clearInterval(H.pid),d&&(H.pid=setInterval(function(){d===K?K.scrollTo(K.pageXOffset+f*i,K.pageYOffset+g*i):(g&&(d.scrollTop+=g*i),f&&(d.scrollLeft+=f*i))},24)))}},30);return a.prototype={constructor:a,_onTapStart:function(a){var b=this,c=this.el,e=this.options,f=a.type,g=a.touches&&a.touches[0],h=(g||a).target,i=h,j=e.filter;if(!("mousedown"===f&&0!==a.button||e.disabled)&&(h=d(h,e.draggable,c))){if(C=q(h),
-"function"==typeof j){if(j.call(this,a,h,this))return k(b,i,"filter",h,c,C),void a.preventDefault()}else if(j&&(j=j.split(",").some(function(a){return a=d(i,a.trim(),c),a?(k(b,a,"filter",h,c,C),!0):void 0})))return void a.preventDefault();(!e.handle||d(i,e.handle,c))&&this._prepareDragStart(a,g,h)}},_prepareDragStart:function(a,b,c){var d,e=this,g=e.el,h=e.options,i=g.ownerDocument;c&&!t&&c.parentNode===g&&(F=a,w=g,t=c,x=t.nextSibling,E=h.group,d=function(){e._disableDelayedDrag(),t.draggable=!0,h.ignore.split(",").forEach(function(a){j(t,a.trim(),m)}),e._triggerDragStart(b)},f(i,"mouseup",e._onDrop),f(i,"touchend",e._onDrop),f(i,"touchcancel",e._onDrop),h.delay?(f(i,"mousemove",e._disableDelayedDrag),f(i,"touchmove",e._disableDelayedDrag),e._dragStartTimer=setTimeout(d,h.delay)):d())},_disableDelayedDrag:function(){var a=this.el.ownerDocument;clearTimeout(this._dragStartTimer),g(a,"mousemove",this._disableDelayedDrag),g(a,"touchmove",this._disableDelayedDrag)},_triggerDragStart:function(a){a?(F={target:t,clientX:a.clientX,clientY:a.clientY},this._onDragStart(F,"touch")):N?(f(t,"dragend",this),f(w,"dragstart",this._onDragStart)):this._onDragStart(F,!0);try{L.selection?L.selection.empty():window.getSelection().removeAllRanges()}catch(b){}},_dragStarted:function(){w&&t&&(h(t,this.options.ghostClass,!0),a.active=this,k(this,w,"start",t,w,C))},_emulateDragOver:function(){if(G){i(u,"display","none");var a=L.elementFromPoint(G.clientX,G.clientY),b=a,c=" "+this.options.group.name,d=R.length;if(b)do{if(b[J]&&b[J].options.groups.indexOf(c)>-1){for(;d--;)R[d]({clientX:G.clientX,clientY:G.clientY,target:a,rootEl:b});break}a=b}while(b=b.parentNode);i(u,"display","")}},_onTouchMove:function(a){if(F){var b=a.touches?a.touches[0]:a,c=b.clientX-F.clientX,d=b.clientY-F.clientY,e=a.touches?"translate3d("+c+"px,"+d+"px,0)":"translate("+c+"px,"+d+"px)";G=b,i(u,"webkitTransform",e),i(u,"mozTransform",e),i(u,"msTransform",e),i(u,"transform",e),a.preventDefault()}},_onDragStart:function(a,b){var c=a.dataTransfer,d=this.options;if(this._offUpEvents(),"clone"==E.pull&&(v=t.cloneNode(!0),i(v,"display","none"),w.insertBefore(v,t)),b){var e,g=t.getBoundingClientRect(),h=i(t);u=t.cloneNode(!0),i(u,"top",g.top-M(h.marginTop,10)),i(u,"left",g.left-M(h.marginLeft,10)),i(u,"width",g.width),i(u,"height",g.height),i(u,"opacity","0.8"),i(u,"position","fixed"),i(u,"zIndex","100000"),w.appendChild(u),e=u.getBoundingClientRect(),i(u,"width",2*g.width-e.width),i(u,"height",2*g.height-e.height),"touch"===b?(f(L,"touchmove",this._onTouchMove),f(L,"touchend",this._onDrop),f(L,"touchcancel",this._onDrop)):(f(L,"mousemove",this._onTouchMove),f(L,"mouseup",this._onDrop)),this._loopId=setInterval(this._emulateDragOver,150)}else c&&(c.effectAllowed="move",d.setData&&d.setData.call(this,c,t)),f(L,"drop",this);setTimeout(this._dragStarted,0)},_onDragOver:function(a){var c,e,f,g=this.el,h=this.options,j=h.group,k=j.put,m=E===j,p=h.sort;if(void 0!==a.preventDefault&&(a.preventDefault(),!h.dragoverBubble&&a.stopPropagation()),E&&!h.disabled&&(m?p||(f=!w.contains(t)):E.pull&&k&&(E.name===j.name||k.indexOf&&~k.indexOf(E.name)))&&(void 0===a.rootEl||a.rootEl===this.el)){if(S(a,h,this.el),O)return;if(c=d(a.target,h.draggable,g),e=t.getBoundingClientRect(),f)return b(!0),void(v||x?w.insertBefore(t,v||x):p||w.appendChild(t));if(0===g.children.length||g.children[0]===u||g===a.target&&(c=o(g,a))){if(c){if(c.animated)return;r=c.getBoundingClientRect()}b(m),l(w,g,t,e,c,r)!==!1&&(g.appendChild(t),this._animate(e,t),c&&this._animate(r,c))}else if(c&&!c.animated&&c!==t&&void 0!==c.parentNode[J]){A!==c&&(A=c,B=i(c));var q,r=c.getBoundingClientRect(),s=r.right-r.left,y=r.bottom-r.top,z=/left|right|inline/.test(B.cssFloat+B.display),C=c.offsetWidth>t.offsetWidth,D=c.offsetHeight>t.offsetHeight,F=(z?(a.clientX-r.left)/s:(a.clientY-r.top)/y)>.5,G=c.nextElementSibling,H=l(w,g,t,e,c,r);H!==!1&&(O=!0,setTimeout(n,30),b(m),q=1===H||-1===H?1===H:z?c.previousElementSibling===t&&!C||F&&C:G!==t&&!D||F&&D,q&&!G?g.appendChild(t):c.parentNode.insertBefore(t,q?G:c),this._animate(e,t),this._animate(r,c))}}},_animate:function(a,b){var c=this.options.animation;if(c){var d=b.getBoundingClientRect();i(b,"transition","none"),i(b,"transform","translate3d("+(a.left-d.left)+"px,"+(a.top-d.top)+"px,0)"),b.offsetWidth,i(b,"transition","all "+c+"ms"),i(b,"transform","translate3d(0,0,0)"),clearTimeout(b.animated),b.animated=setTimeout(function(){i(b,"transition",""),i(b,"transform",""),b.animated=!1},c)}},_offUpEvents:function(){var a=this.el.ownerDocument;g(L,"touchmove",this._onTouchMove),g(a,"mouseup",this._onDrop),g(a,"touchend",this._onDrop),g(a,"touchcancel",this._onDrop)},_onDrop:function(b){var c=this.el,d=this.options;clearInterval(this._loopId),clearInterval(H.pid),clearTimeout(this._dragStartTimer),g(L,"drop",this),g(L,"mousemove",this._onTouchMove),g(c,"dragstart",this._onDragStart),this._offUpEvents(),b&&(b.preventDefault(),!d.dropBubble&&b.stopPropagation(),u&&u.parentNode.removeChild(u),t&&(g(t,"dragend",this),m(t),h(t,this.options.ghostClass,!1),w!==t.parentNode?(D=q(t),k(null,t.parentNode,"sort",t,w,C,D),k(this,w,"sort",t,w,C,D),k(null,t.parentNode,"add",t,w,C,D),k(this,w,"remove",t,w,C,D)):(v&&v.parentNode.removeChild(v),t.nextSibling!==x&&(D=q(t),k(this,w,"update",t,w,C,D),k(this,w,"sort",t,w,C,D))),a.active&&(k(this,w,"end",t,w,C,D),this.save())),w=t=u=x=v=y=z=F=G=A=B=E=a.active=null)},handleEvent:function(a){var b=a.type;"dragover"===b||"dragenter"===b?t&&(this._onDragOver(a),e(a)):("drop"===b||"dragend"===b)&&this._onDrop(a)},toArray:function(){for(var a,b=[],c=this.el.children,e=0,f=c.length,g=this.options;f>e;e++)a=c[e],d(a,g.draggable,this.el)&&b.push(a.getAttribute(g.dataIdAttr)||p(a));return b},sort:function(a){var b={},c=this.el;this.toArray().forEach(function(a,e){var f=c.children[e];d(f,this.options.draggable,c)&&(b[a]=f)},this),a.forEach(function(a){b[a]&&(c.removeChild(b[a]),c.appendChild(b[a]))})},save:function(){var a=this.options.store;a&&a.set(this)},closest:function(a,b){return d(a,b||this.options.draggable,this.el)},option:function(a,b){var c=this.options;return void 0===b?c[a]:void(c[a]=b)},destroy:function(){var a=this.el;a[J]=null,g(a,"mousedown",this._onTapStart),g(a,"touchstart",this._onTapStart),g(a,"dragover",this),g(a,"dragenter",this),Array.prototype.forEach.call(a.querySelectorAll("[draggable]"),function(a){a.removeAttribute("draggable")}),R.splice(R.indexOf(this._onDragOver),1),this._onDrop(),this.el=a=null}},a.utils={on:f,off:g,css:i,find:j,bind:c,is:function(a,b){return!!d(a,b,a)},extend:s,throttle:r,closest:d,toggleClass:h,index:q},a.version="1.2.1",a.create=function(b,c){return new a(b,c)},a}),function(a){"use strict";window.angular&&window.Sortable?a(angular,Sortable):"function"==typeof define&&define.amd&&define(["angular","./Sortable"],a)}(function(a,b){"use strict";a.module("ng-sortable",[]).constant("ngSortableVersion","0.3.7").constant("ngSortableConfig",{}).directive("ngSortable",["$parse","ngSortableConfig",function(c,d){function e(b){var d=a.element(b).scope(),e=[].filter.call(b.childNodes,function(a){return 8===a.nodeType&&-1!==a.nodeValue.indexOf("ngRepeat:")})[0];if(!e)return null;e=e.nodeValue.match(/ngRepeat:\s*(?:\(.*?,\s*)?([^\s)]+)[\s)]+in\s+([^\s|]+)/);var f=c(e[1]),g=c(e[2]);return{item:function(b){return f(a.element(b).scope())},items:function(){return g(d)}}}var f,g;return{restrict:"AC",scope:{ngSortable:"=?"},link:function(c,h,i){function j(a,b){var c="on"+a.type.charAt(0).toUpperCase()+a.type.substr(1);n[c]&&n[c]({model:b||o&&o.item(a.item),models:o&&o.items(),oldIndex:a.oldIndex,newIndex:a.newIndex})}function k(b){if(o){var d=b.oldIndex,h=b.newIndex,i=o.items();if(m!==b.from){var j=e(b.from),k=j.items();d=k.indexOf(j.item(b.item)),f=k[d],b.clone?(b.from.removeChild(b.clone),f=a.copy(f)):k.splice(d,1),i.splice(h,0,f),b.from.insertBefore(b.item,g)}else i.splice(h,0,i.splice(d,1)[0]);c.$apply()}}var l,m=h[0],n=a.extend(c.ngSortable||{},d),o=e(m),p=[];l=b.create(m,Object.keys(n).reduce(function(a,b){return a[b]=a[b]||n[b],a},{onStart:function(a){g=a.item.nextSibling,j(a),c.$apply()},onEnd:function(a){j(a,f),c.$apply()},onAdd:function(a){k(a),j(a,f),c.$apply()},onUpdate:function(a){k(a),j(a)},onRemove:function(a){j(a,f)},onSort:function(a){j(a)}})),h.on("$destroy",function(){a.forEach(p,function(a){a()}),l.destroy(),p=null,l=null,g=null}),a.forEach(["sort","disabled","draggable","handle","animation","onStart","onEnd","onAdd","onUpdate","onRemove","onSort"],function(a){p.push(c.$watch("ngSortable."+a,function(b){void 0!==b&&(n[a]=b,/^on[A-Z]/.test(a)||l.option(a,b))}))})}}}])}),function(a){"use strict";"undefined"!=typeof module&&"undefined"!=typeof module.exports?module.exports=a(require("./Sortable")):"function"==typeof define&&define.amd?define(["./Sortable"],a):window.SortableMixin=a(Sortable)}(function(a){"use strict";function b(a){return a.sortableOptions&&a.sortableOptions.model||g.model}function c(a){var c=b(a),d=a.state&&a.state[c]||a.props[c];return d.slice()}function d(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return a}var e,f,g={ref:"list",model:"items",animation:100,onStart:"handleStart",onEnd:"handleEnd",onAdd:"handleAdd",onUpdate:"handleUpdate",onRemove:"handleRemove",onSort:"handleSort",onFilter:"handleFilter"},h={sortableMixinVersion:"0.1.0",_sortableInstance:null,componentDidMount:function(){var h=d(d({},g),this.sortableOptions||{}),i=d({},h),j=function(a,b){var c=this[h[a]];c&&c.call(this,b,this._sortableInstance)}.bind(this);"onStart onEnd onAdd onSort onUpdate onRemove onFilter".split(" ").forEach(function(a){i[a]=function(d){if("onStart"===a)e=d.item.nextElementSibling,f=this;else if("onAdd"===a||"onUpdate"===a){d.from.insertBefore(d.item,e);var g,h,i={},k={},l=d.oldIndex,m=d.newIndex,n=c(this);"onAdd"===a?(g=c(f),h=g.splice(l,1)[0],n.splice(m,0,h),k[b(f)]=g):n.splice(m,0,n.splice(l,1)[0]),i[b(this)]=n,this.setState(i),this!==f&&f.setState(k)}setTimeout(function(){j(a,d)},0)}.bind(this)},this),this._sortableInstance=a.create((this.refs[h.ref]||this).getDOMNode(),i)},componentWillReceiveProps:function(a){var c={},d=b(this),e=a[d];e&&(c[d]=e,this.setState(c))},componentWillUnmount:function(){this._sortableInstance.destroy(),this._sortableInstance=null}};return h}),function(a,b){"use strict";angular.module("adf",["adf.provider","ui.bootstrap"]).value("adfTemplatePath","../src/templates/").value("rowTemplate",'<adf-dashboard-row row="row" adf-model="adfModel" options="options" edit-mode="editMode" ng-repeat="row in column.rows" />').value("columnTemplate",'<adf-dashboard-column column="column" adf-model="adfModel" options="options" edit-mode="editMode" ng-repeat="column in row.columns" />').value("adfVersion","0.10.0"),angular.module("adf").directive("adfDashboardColumn",["$log","$compile","adfTemplatePath","rowTemplate","dashboard",function(a,b,c,d,e){function f(a,b,c){var d=b.widgets;a.$apply(function(){d.splice(c.newIndex,0,d.splice(c.oldIndex,1)[0])})}function g(a,b){for(var c=null,d=0;d<a.widgets.length;d++){var e=a.widgets[d];if(e.wid===b){c=e;break}}return c}function h(a,b){for(var c=null,d=0;d<a.rows.length;d++){for(var e=a.rows[d],f=0;f<e.columns.length;f++){var g=e.columns[f];if(g.cid===b){c=g;break}g.rows&&(c=h(g,b))}if(c)break}return c}function i(a){var b=a.getAttribute("adf-id");return b?parseInt(b):-1}function j(b,c,d,e){var f=i(e.from),j=h(c,f);if(j){var k=i(e.item),l=g(j,k);l?b.$apply(function(){d.widgets||(d.widgets=[]),d.widgets.splice(e.newIndex,0,l)}):a.warn("could not find widget with id "+k)}else a.warn("could not find column with id "+f)}function k(a,b,c){a.$apply(function(){b.widgets.splice(c.oldIndex,1)})}function l(a,b,c,d){var e=b[0],g=Sortable.create(e,{group:"widgets",handle:".adf-move",ghostClass:"placeholder",animation:150,onAdd:function(b){j(a,c,d,b)},onRemove:function(b){k(a,d,b)},onUpdate:function(b){f(a,d,b)}});b.on("$destroy",function(){g.destroy()})}return{restrict:"E",replace:!0,scope:{column:"=",editMode:"=",adfModel:"=",options:"="},templateUrl:c+"dashboard-column.html",link:function(a,c){var f=a.column;f.cid||(f.cid=e.id()),angular.isDefined(f.rows)&&angular.isArray(f.rows)?b(d)(a,function(a){c.append(a)}):l(a,c,a.adfModel,f)}}}]),angular.module("adf").directive("adfDashboard",["$rootScope","$log","$modal","dashboard","adfTemplatePath",function(a,b,c,d,e){function f(a){switch(angular.isDefined(a)?a.toLowerCase():null){case"true":case"yes":case"1":return!0;case"false":case"no":case"0":case null:return!1;default:return Boolean(a)}}function g(a,b){if(a.widgets&&a.widgets.length>0)for(var c=a.widgets.shift();c;)b.widgets.push(c),c=a.widgets.shift()}function h(a,b,c){return c=c||0,angular.isDefined(a.rows)&&angular.forEach(a.rows,function(a){angular.forEach(a.columns,function(a){a.widgets||(a.widgets=[]),angular.isDefined(b[c])&&(angular.isDefined(a.rows)||(g(b[c],a),c++)),c=h(a,b,c)})}),c}function i(a,b){return b=b||[],angular.isDefined(a.rows)&&angular.forEach(a.rows,function(a){angular.forEach(a.columns,function(a){b.push(a),i(a,b)})}),b}function j(a,b){var c=i(a),d=0;for(a.rows=angular.copy(b.rows);d<c.length;)d=h(a,c,d)}function k(a){var b={},c=d.widgets[a].config;return c&&(b=angular.copy(c)),b}function l(a){var c=null;if(!angular.isArray(a.rows))return b.error("model does not have any rows"),null;for(var d=0;d<a.rows.length;d++){var e=a.rows[d];if(angular.isArray(e.columns))for(var f=0;f<e.columns.length;f++){var g=e.columns[f];if(!g.rows){c=g;break}}if(c)break}return c}function m(a,c){if(a){var d=l(a);d?(d.widgets||(d.widgets=[]),d.widgets.unshift(c)):b.error("could not find first widget column")}else b.error("model is undefined")}return{replace:!0,restrict:"EA",transclude:!1,scope:{structure:"@",name:"@",collapsible:"@",editable:"@",maximizable:"@",adfModel:"=",adfWidgetFilter:"="},controller:["$scope",function(f){var g={},h={},i=null,l={},n=f.name;f.$watch("adfModel",function(a,c){(null!==c||null===a&&null===c)&&(g=f.adfModel,i=f.adfWidgetFilter,g&&g.rows||(l=f.structure,h=d.structures[l],h?(g?g.rows=angular.copy(h).rows:g=angular.copy(h),g.structure=l):b.error("could not find structure "+l)),g?(g.title||(g.title="Dashboard"),g.titleTemplateUrl||(g.titleTemplateUrl=e+"dashboard-title.html"),f.model=g):b.error("could not find or create model"))},!0),f.editMode=!1,f.editClass="",f.toggleEditMode=function(){f.editMode=!f.editMode,f.editMode&&(f.modelCopy=angular.copy(f.adfModel,{})),f.editMode||a.$broadcast("adfDashboardChanged",n,g)},f.collapseAll=function(b){a.$broadcast("adfDashboardCollapseExapand",{collapseExpandStatus:b})},f.cancelEditMode=function(){f.editMode=!1,f.modelCopy=angular.copy(f.modelCopy,f.adfModel),a.$broadcast("adfDashboardEditsCancelled")},f.editDashboardDialog=function(){var a=f.$new();a.copy={title:g.title},a.structures=d.structures;var h=c.open({scope:a,templateUrl:e+"dashboard-edit.html",backdrop:"static"});f.changeStructure=function(a,c){b.info("change structure to "+a),j(g,c)},a.closeDialog=function(){g.title=a.copy.title,h.close(),a.$destroy()}},f.addWidgetDialog=function(){var b,g=f.$new(),h=f.model;angular.isFunction(i)?(b={},angular.forEach(d.widgets,function(a,c){i(a,c,h)&&(b[c]=a)})):b=d.widgets,g.widgets=b;var j={scope:g,templateUrl:e+"widget-add.html",backdrop:"static"},l=c.open(j);g.addWidget=function(b){var c={type:b,config:k(b)};m(h,c),a.$broadcast("adfWidgetAdded",n,h,c),l.close(),g.$destroy()},g.closeDialog=function(){l.close(),g.$destroy()}}}],link:function(a,b,c){var d={name:c.name,editable:!0,enableConfirmDelete:f(c.enableconfirmdelete),maximizable:f(c.maximizable),collapsible:f(c.collapsible)};angular.isDefined(c.editable)&&(d.editable=f(c.editable)),a.options=d},templateUrl:e+"dashboard.html"}}]),angular.module("adf.provider",[]).provider("dashboard",function(){var a={},b="",c={},d='<div class="alert alert-danger">{}</div>',e='      <div class="progress progress-striped active">\n        <div class="progress-bar" role="progressbar" style="width: 100%">\n          <span class="sr-only">loading ...</span>\n        </div>\n      </div>';this.widget=function(b,c){var d=angular.extend({reload:!1},c);if(d.edit){var e={reload:!0};angular.extend(e,d.edit),d.edit=e}return a[b]=d,this},this.widgetsPath=function(a){return b=a,this},this.structure=function(a,b){return c[a]=b,this},this.messageTemplate=function(a){return d=a,this},this.loadingTemplate=function(a){return e=a,this},this.$get=function(){var f=0;return{widgets:a,widgetsPath:b,structures:c,messageTemplate:d,loadingTemplate:e,id:function(){return++f}}}}),angular.module("adf").directive("adfDashboardRow",["$compile","adfTemplatePath","columnTemplate",function(a,b,c){return{restrict:"E",replace:!0,scope:{row:"=",adfModel:"=",editMode:"=",options:"="},templateUrl:b+"dashboard-row.html",link:function(b,d){angular.isDefined(b.row.columns)&&angular.isArray(b.row.columns)&&a(c)(b,function(a){d.append(a)})}}}]),angular.module("adf").directive("adfWidgetContent",["$log","$q","$sce","$http","$templateCache","$compile","$controller","$injector","dashboard",function(a,b,c,d,e,f,g,h,i){function j(a){var b=a;return a.indexOf("{widgetsPath}")>=0&&(b=a.replace("{widgetsPath}",i.widgetsPath).replace("//","/"),0===b.indexOf("/")&&(b=b.substring(1))),b}function k(a){var f=b.defer();if(a.template)f.resolve(a.template);else if(a.templateUrl){var g=e.get(a.templateUrl);if(g)f.resolve(g);else{var h=c.getTrustedResourceUrl(j(a.templateUrl));d.get(h).success(function(b){e.put(a.templateUrl,b),f.resolve(b)}).error(function(){f.reject("could not load template")})}}return f.promise}function l(c,d,e){var j=c.model,l=c.content;d.html(i.loadingTemplate);var m=c.$new();j.config||(j.config={}),m.config=j.config;var n={$scope:m,widget:j,config:j.config},o={};return o.$tpl=k(l),l.resolve&&angular.forEach(l.resolve,function(a,b){angular.isString(a)?o[b]=h.get(a):o[b]=h.invoke(a,a,n)}),b.all(o).then(function(a){angular.extend(a,n);var b=a.$tpl;if(d.html(b),l.controller){var c=g(l.controller,a);l.controllerAs&&(m[l.controllerAs]=c),d.children().data("$ngControllerController",c)}f(d.contents())(m)},function(b){var c="Could not resolve all promises";b&&(c+=": "+b),a.warn(c),d.html(i.messageTemplate.replace(/{}/g,c))}),e&&e.$destroy(),m}return{replace:!0,restrict:"EA",transclude:!1,scope:{model:"=",content:"="},link:function(a,b){var c=l(a,b,null);a.$on("widgetConfigChanged",function(){c=l(a,b,c)}),a.$on("widgetReload",function(){c=l(a,b,c)})}}}]),angular.module("adf").directive("adfWidget",["$log","$modal","dashboard","adfTemplatePath",function(a,b,c,d){function e(b){var e=b.definition;if(e){var f=c.widgets[e.type];if(f){e.title||(e.title=f.title),e.titleTemplateUrl||(e.titleTemplateUrl=d+"widget-title.html"),e.wid||(e.wid=c.id()),b.widget=angular.copy(f);var g=e.config;g?angular.isString(g)&&(g=angular.fromJson(g)):g={},b.config=g,b.widgetState||(b.widgetState={},b.widgetState.isCollapsed=!1)}else a.warn("could not find widget "+e.type)}else a.debug("definition not specified, widget was probably removed")}function f(c,e){var f=c.definition;if(f){var g=function(){var a=c.col;if(a){var b=a.widgets.indexOf(f);b>=0&&a.widgets.splice(b,1)}e.remove()};c.remove=function(){if(c.options.enableConfirmDelete){var a=c.$new(),e=d+"widget-delete.html";f.deleteTemplateUrl&&(adfEditTemplatePath=f.deleteTemplateUrl);var h={scope:a,templateUrl:e,backdrop:"static"},i=b.open(h);a.closeDialog=function(){i.close(),a.$destroy()},a.deleteDialog=function(){g(),a.closeDialog()}}else g()},c.reload=function(){c.$broadcast("widgetReload")},c.edit=function(){var a=c.$new();a.definition=angular.copy(f);var e={scope:a,templateUrl:d+"widget-edit.html",backdrop:"static"},g=b.open(e);a.closeDialog=function(){g.close(),a.$destroy();var b=c.widget;b.edit&&b.edit.reload&&c.$broadcast("widgetConfigChanged")},a.saveDialog=function(){f.title=a.definition.title,angular.extend(f.config,a.definition.config),a.closeDialog()}}}else a.debug("widget not found")}return{replace:!0,restrict:"EA",transclude:!1,templateUrl:d+"widget.html",scope:{definition:"=",col:"=column",editMode:"=",options:"=",widgetState:"="},controller:["$scope",function(a){a.$on("adfDashboardCollapseExapand",function(b,c){a.widgetState.isCollapsed=c.collapseExpandStatus}),a.openFullScreen=function(){var c=a.definition,e=a.$new(),f={scope:e,templateUrl:d+"widget-fullscreen.html",size:c.modalSize||"lg",backdrop:"static",windowClass:c.fullScreen?"dashboard-modal widget-fullscreen":"dashboard-modal"},g=b.open(f);e.closeDialog=function(){g.close(),e.$destroy()}}}],compile:function(){return{pre:e,post:f}}}}]),angular.module("adf").run(["$templateCache",function(a){a.put("../src/templates/dashboard-column.html",'<div adf-id={{column.cid}} class=column ng-class=column.styleClass ng-model=column.widgets> <adf-widget ng-repeat="definition in column.widgets" definition=definition column=column edit-mode=editMode options=options widget-state=widgetState>  </adf-widget></div> '),a.put("../src/templates/dashboard-edit.html",'<div class=modal-header> <button type=button class=close ng-click=closeDialog() aria-hidden=true>&times;</button> <h4 class=modal-title>Edit Dashboard</h4> </div> <div class=modal-body> <form role=form> <div class=form-group> <label for=dashboardTitle>Title</label> <input type=text class=form-control id=dashboardTitle ng-model=copy.title required> </div> <div class=form-group> <label>Structure</label> <div class=radio ng-repeat="(key, structure) in structures"> <label> <input type=radio value={{key}} ng-model=model.structure ng-change="changeStructure(key, structure)"> {{key}} </label> </div> </div> </form> </div> <div class=modal-footer> <button type=button class="btn btn-primary" ng-click=closeDialog()>Close</button> </div> '),a.put("../src/templates/dashboard-row.html","<div class=row ng-class=row.styleClass>  </div> "),a.put("../src/templates/dashboard-title.html",'<h1> {{model.title}} <span style="font-size: 16px" class=pull-right> <a href ng-if=editMode title="add new widget" ng-click=addWidgetDialog()> <i class="glyphicon glyphicon-plus-sign"></i> </a> <a href ng-if=editMode title="edit dashboard" ng-click=editDashboardDialog()> <i class="glyphicon glyphicon-cog"></i> </a> <a href ng-if=options.editable title="{{editMode ? \'save changes\' : \'enable edit mode\'}}" ng-click=toggleEditMode()> <i class=glyphicon x-ng-class="{\'glyphicon-edit\' : !editMode, \'glyphicon-save\' : editMode}"></i> </a> <a href ng-if=editMode title="undo changes" ng-click=cancelEditMode()> <i class="glyphicon glyphicon-repeat adf-flip"></i> </a> </span> </h1> '),a.put("../src/templates/dashboard.html",'<div class=dashboard-container> <div ng-include src=model.titleTemplateUrl></div> <div class=dashboard x-ng-class="{\'edit\' : editMode}"> <adf-dashboard-row row=row adf-model=model options=options ng-repeat="row in model.rows" edit-mode=editMode> </adf-dashboard-row></div> </div> '),a.put("../src/templates/widget-add.html",'<div class=modal-header> <button type=button class=close ng-click=closeDialog() aria-hidden=true>&times;</button> <h4 class=modal-title>Add new widget</h4> </div> <div class=modal-body> <div style="display: inline-block;"> <dl class=dl-horizontal> <dt ng-repeat-start="(key, widget) in widgets"> <a href ng-click=addWidget(key)> {{widget.title}} </a> </dt> <dd ng-repeat-end ng-if=widget.description> {{widget.description}} </dd> </dl> </div> </div> <div class=modal-footer> <button type=button class="btn btn-primary" ng-click=closeDialog()>Close</button> </div>'),a.put("../src/templates/widget-delete.html",'<div class=modal-header> <h4 class=modal-title>Delete {{widget.title}}</h4> </div> <div class=modal-body> <form role=form> <div class=form-group> <label for=widgetTitle>Are you sure you want to delete this widget ?</label> </div> </form> </div> <div class=modal-footer> <button type=button class="btn btn-default" ng-click=closeDialog()>Close</button> <button type=button class="btn btn-primary" ng-click=deleteDialog()>Delete</button> </div> '),a.put("../src/templates/widget-edit.html",'<div class=modal-header> <button type=button class=close ng-click=closeDialog() aria-hidden=true>&times;</button> <h4 class=modal-title>{{widget.title}}</h4> </div> <div class=modal-body> <form role=form> <div class=form-group> <label for=widgetTitle>Title</label> <input type=text class=form-control id=widgetTitle ng-model=definition.title placeholder="Enter title" required> </div> </form> <div ng-if=widget.edit> <adf-widget-content model=definition content=widget.edit> </adf-widget-content></div> </div> <div class=modal-footer> <button type=button class="btn btn-default" ng-click=closeDialog()>Cancel</button> <button type=button class="btn btn-primary" ng-click=saveDialog()>Apply</button> </div> '),a.put("../src/templates/widget-fullscreen.html",'<div class=modal-header> <div class="pull-right widget-icons"> <a href title="Reload Widget Content" ng-if=widget.reload ng-click=reload()> <i class="glyphicon glyphicon-refresh"></i> </a> <a href title=close ng-click=closeDialog()> <i class="glyphicon glyphicon-remove"></i> </a> </div> <h4 class=modal-title>{{definition.title}}</h4> </div> <div class=modal-body> <adf-widget-content model=definition content=widget> </adf-widget-content></div> <div class=modal-footer> <button type=button class="btn btn-primary" ng-click=closeDialog()>Close</button> </div> '),a.put("../src/templates/widget-title.html",'<h3 class=panel-title> {{definition.title}} <span class=pull-right> <a href title="reload widget content" ng-if=widget.reload ng-click=reload()> <i class="glyphicon glyphicon-refresh"></i> </a>  <a href title="change widget location" class=adf-move ng-if=editMode> <i class="glyphicon glyphicon-move"></i> </a>  <a href title="collapse widget" ng-show="options.collapsible && !widgetState.isCollapsed" ng-click="widgetState.isCollapsed = !widgetState.isCollapsed"> <i class="glyphicon glyphicon-minus"></i> </a>  <a href title="expand widget" ng-show="options.collapsible && widgetState.isCollapsed" ng-click="widgetState.isCollapsed = !widgetState.isCollapsed"> <i class="glyphicon glyphicon-plus"></i> </a>  <a href title="edit widget configuration" ng-click=edit() ng-if=editMode> <i class="glyphicon glyphicon-cog"></i> </a> <a href title="fullscreen widget" ng-click=openFullScreen() ng-show=options.maximizable> <i class="glyphicon glyphicon-fullscreen"></i> </a>  <a href title="remove widget" ng-click=remove() ng-if=editMode> <i class="glyphicon glyphicon-remove"></i> </a> </span> </h3> '),a.put("../src/templates/widget.html",'<div adf-id={{definition.wid}} adf-widget-type={{definition.type}} class="widget panel panel-default"> <div class="panel-heading clearfix"> <div ng-include src=definition.titleTemplateUrl></div> </div> <div class=panel-body collapse=widgetState.isCollapsed> <adf-widget-content model=definition content=widget> </adf-widget-content></div> </div> ')}])}(window),angular.module("adf.structures.base",["adf"]).config(["dashboardProvider",function(a){a.structure("6-6",{rows:[{columns:[{styleClass:"col-md-6"},{styleClass:"col-md-6"}]}]}).structure("4-8",{rows:[{columns:[{styleClass:"col-md-4",widgets:[]},{styleClass:"col-md-8",widgets:[]}]}]}).structure("12/4-4-4",{rows:[{columns:[{styleClass:"col-md-12"}]},{columns:[{styleClass:"col-md-4"},{styleClass:"col-md-4"},{styleClass:"col-md-4"}]}]}).structure("12/6-6",{rows:[{columns:[{styleClass:"col-md-12"}]},{columns:[{styleClass:"col-md-6"},{styleClass:"col-md-6"}]}]}).structure("12/6-6/12",{rows:[{columns:[{styleClass:"col-md-12"}]},{columns:[{styleClass:"col-md-6"},{styleClass:"col-md-6"}]},{columns:[{styleClass:"col-md-12"}]}]}).structure("3-9 (12/6-6)",{rows:[{columns:[{styleClass:"col-md-3"},{styleClass:"col-md-9",rows:[{columns:[{styleClass:"col-md-12"}]},{columns:[{styleClass:"col-md-6"},{styleClass:"col-md-6"}]}]}]}]})}]),function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.moment=b()}(this,function(){"use strict";function a(){return Hc.apply(null,arguments)}function b(a){Hc=a}function c(a){return"[object Array]"===Object.prototype.toString.call(a)}function d(a){return a instanceof Date||"[object Date]"===Object.prototype.toString.call(a)}function e(a,b){var c,d=[];for(c=0;c<a.length;++c)d.push(b(a[c],c));return d}function f(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function g(a,b){for(var c in b)f(b,c)&&(a[c]=b[c]);return f(b,"toString")&&(a.toString=b.toString),f(b,"valueOf")&&(a.valueOf=b.valueOf),a}function h(a,b,c,d){return Ca(a,b,c,d,!0).utc()}function i(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function j(a){return null==a._pf&&(a._pf=i()),a._pf}function k(a){if(null==a._isValid){var b=j(a);a._isValid=!(isNaN(a._d.getTime())||!(b.overflow<0)||b.empty||b.invalidMonth||b.invalidWeekday||b.nullInput||b.invalidFormat||b.userInvalidated),a._strict&&(a._isValid=a._isValid&&0===b.charsLeftOver&&0===b.unusedTokens.length&&void 0===b.bigHour)}return a._isValid}function l(a){var b=h(NaN);return null!=a?g(j(b),a):j(b).userInvalidated=!0,b}function m(a,b){var c,d,e;if("undefined"!=typeof b._isAMomentObject&&(a._isAMomentObject=b._isAMomentObject),"undefined"!=typeof b._i&&(a._i=b._i),"undefined"!=typeof b._f&&(a._f=b._f),"undefined"!=typeof b._l&&(a._l=b._l),"undefined"!=typeof b._strict&&(a._strict=b._strict),"undefined"!=typeof b._tzm&&(a._tzm=b._tzm),"undefined"!=typeof b._isUTC&&(a._isUTC=b._isUTC),"undefined"!=typeof b._offset&&(a._offset=b._offset),"undefined"!=typeof b._pf&&(a._pf=j(b)),"undefined"!=typeof b._locale&&(a._locale=b._locale),Jc.length>0)for(c in Jc)d=Jc[c],e=b[d],"undefined"!=typeof e&&(a[d]=e);return a}function n(b){m(this,b),this._d=new Date(null!=b._d?b._d.getTime():NaN),Kc===!1&&(Kc=!0,a.updateOffset(this),Kc=!1)}function o(a){return a instanceof n||null!=a&&null!=a._isAMomentObject}function p(a){return 0>a?Math.ceil(a):Math.floor(a)}function q(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=p(b)),c}function r(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;e>d;d++)(c&&a[d]!==b[d]||!c&&q(a[d])!==q(b[d]))&&g++;return g+f}function s(){}function t(a){return a?a.toLowerCase().replace("_","-"):a}function u(a){for(var b,c,d,e,f=0;f<a.length;){for(e=t(a[f]).split("-"),b=e.length,c=t(a[f+1]),c=c?c.split("-"):null;b>0;){if(d=v(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&r(e,c,!0)>=b-1)break;b--}f++}return null}function v(a){var b=null;if(!Lc[a]&&"undefined"!=typeof module&&module&&module.exports)try{b=Ic._abbr,require("./locale/"+a),w(b)}catch(c){}return Lc[a]}function w(a,b){var c;return a&&(c="undefined"==typeof b?y(a):x(a,b),c&&(Ic=c)),Ic._abbr}function x(a,b){return null!==b?(b.abbr=a,Lc[a]=Lc[a]||new s,Lc[a].set(b),w(a),Lc[a]):(delete Lc[a],null)}function y(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return Ic;if(!c(a)){if(b=v(a))return b;a=[a]}return u(a)}function z(a,b){var c=a.toLowerCase();Mc[c]=Mc[c+"s"]=Mc[b]=a}function A(a){return"string"==typeof a?Mc[a]||Mc[a.toLowerCase()]:void 0}function B(a){var b,c,d={};for(c in a)f(a,c)&&(b=A(c),b&&(d[b]=a[c]));return d}function C(b,c){return function(d){return null!=d?(E(this,b,d),a.updateOffset(this,c),this):D(this,b)}}function D(a,b){return a._d["get"+(a._isUTC?"UTC":"")+b]()}function E(a,b,c){return a._d["set"+(a._isUTC?"UTC":"")+b](c)}function F(a,b){var c;if("object"==typeof a)for(c in a)this.set(c,a[c]);else if(a=A(a),"function"==typeof this[a])return this[a](b);return this}function G(a,b,c){var d=""+Math.abs(a),e=b-d.length,f=a>=0;return(f?c?"+":"":"-")+Math.pow(10,Math.max(0,e)).toString().substr(1)+d}function H(a,b,c,d){var e=d;"string"==typeof d&&(e=function(){return this[d]()}),a&&(Qc[a]=e),b&&(Qc[b[0]]=function(){return G(e.apply(this,arguments),b[1],b[2])}),c&&(Qc[c]=function(){return this.localeData().ordinal(e.apply(this,arguments),a)})}function I(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function J(a){
-var b,c,d=a.match(Nc);for(b=0,c=d.length;c>b;b++)Qc[d[b]]?d[b]=Qc[d[b]]:d[b]=I(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function K(a,b){return a.isValid()?(b=L(b,a.localeData()),Pc[b]=Pc[b]||J(b),Pc[b](a)):a.localeData().invalidDate()}function L(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Oc.lastIndex=0;d>=0&&Oc.test(a);)a=a.replace(Oc,c),Oc.lastIndex=0,d-=1;return a}function M(a){return"function"==typeof a&&"[object Function]"===Object.prototype.toString.call(a)}function N(a,b,c){dd[a]=M(b)?b:function(a){return a&&c?c:b}}function O(a,b){return f(dd,a)?dd[a](b._strict,b._locale):new RegExp(P(a))}function P(a){return a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Q(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),"number"==typeof b&&(d=function(a,c){c[b]=q(a)}),c=0;c<a.length;c++)ed[a[c]]=d}function R(a,b){Q(a,function(a,c,d,e){d._w=d._w||{},b(a,d._w,d,e)})}function S(a,b,c){null!=b&&f(ed,a)&&ed[a](b,c._a,c,a)}function T(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function U(a){return this._months[a.month()]}function V(a){return this._monthsShort[a.month()]}function W(a,b,c){var d,e,f;for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),d=0;12>d;d++){if(e=h([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp("^"+this.months(e,"").replace(".","")+"$","i"),this._shortMonthsParse[d]=new RegExp("^"+this.monthsShort(e,"").replace(".","")+"$","i")),c||this._monthsParse[d]||(f="^"+this.months(e,"")+"|^"+this.monthsShort(e,""),this._monthsParse[d]=new RegExp(f.replace(".",""),"i")),c&&"MMMM"===b&&this._longMonthsParse[d].test(a))return d;if(c&&"MMM"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d}}function X(a,b){var c;return"string"==typeof b&&(b=a.localeData().monthsParse(b),"number"!=typeof b)?a:(c=Math.min(a.date(),T(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a)}function Y(b){return null!=b?(X(this,b),a.updateOffset(this,!0),this):D(this,"Month")}function Z(){return T(this.year(),this.month())}function $(a){var b,c=a._a;return c&&-2===j(a).overflow&&(b=c[gd]<0||c[gd]>11?gd:c[hd]<1||c[hd]>T(c[fd],c[gd])?hd:c[id]<0||c[id]>24||24===c[id]&&(0!==c[jd]||0!==c[kd]||0!==c[ld])?id:c[jd]<0||c[jd]>59?jd:c[kd]<0||c[kd]>59?kd:c[ld]<0||c[ld]>999?ld:-1,j(a)._overflowDayOfYear&&(fd>b||b>hd)&&(b=hd),j(a).overflow=b),a}function _(b){a.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+b)}function aa(a,b){var c=!0;return g(function(){return c&&(_(a+"\n"+(new Error).stack),c=!1),b.apply(this,arguments)},b)}function ba(a,b){od[a]||(_(b),od[a]=!0)}function ca(a){var b,c,d=a._i,e=pd.exec(d);if(e){for(j(a).iso=!0,b=0,c=qd.length;c>b;b++)if(qd[b][1].exec(d)){a._f=qd[b][0];break}for(b=0,c=rd.length;c>b;b++)if(rd[b][1].exec(d)){a._f+=(e[6]||" ")+rd[b][0];break}d.match(ad)&&(a._f+="Z"),va(a)}else a._isValid=!1}function da(b){var c=sd.exec(b._i);return null!==c?void(b._d=new Date(+c[1])):(ca(b),void(b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b))))}function ea(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 1970>a&&h.setFullYear(a),h}function fa(a){var b=new Date(Date.UTC.apply(null,arguments));return 1970>a&&b.setUTCFullYear(a),b}function ga(a){return ha(a)?366:365}function ha(a){return a%4===0&&a%100!==0||a%400===0}function ia(){return ha(this.year())}function ja(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),e-7>f&&(f+=7),d=Da(a).add(f,"d"),{week:Math.ceil(d.dayOfYear()/7),year:d.year()}}function ka(a){return ja(a,this._week.dow,this._week.doy).week}function la(){return this._week.dow}function ma(){return this._week.doy}function na(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")}function oa(a){var b=ja(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")}function pa(a,b,c,d,e){var f,g=6+e-d,h=fa(a,0,1+g),i=h.getUTCDay();return e>i&&(i+=7),c=null!=c?1*c:e,f=1+g+7*(b-1)-i+c,{year:f>0?a:a-1,dayOfYear:f>0?f:ga(a-1)+f}}function qa(a){var b=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")}function ra(a,b,c){return null!=a?a:null!=b?b:c}function sa(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function ta(a){var b,c,d,e,f=[];if(!a._d){for(d=sa(a),a._w&&null==a._a[hd]&&null==a._a[gd]&&ua(a),a._dayOfYear&&(e=ra(a._a[fd],d[fd]),a._dayOfYear>ga(e)&&(j(a)._overflowDayOfYear=!0),c=fa(e,0,a._dayOfYear),a._a[gd]=c.getUTCMonth(),a._a[hd]=c.getUTCDate()),b=0;3>b&&null==a._a[b];++b)a._a[b]=f[b]=d[b];for(;7>b;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];24===a._a[id]&&0===a._a[jd]&&0===a._a[kd]&&0===a._a[ld]&&(a._nextDay=!0,a._a[id]=0),a._d=(a._useUTC?fa:ea).apply(null,f),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[id]=24)}}function ua(a){var b,c,d,e,f,g,h;b=a._w,null!=b.GG||null!=b.W||null!=b.E?(f=1,g=4,c=ra(b.GG,a._a[fd],ja(Da(),1,4).year),d=ra(b.W,1),e=ra(b.E,1)):(f=a._locale._week.dow,g=a._locale._week.doy,c=ra(b.gg,a._a[fd],ja(Da(),f,g).year),d=ra(b.w,1),null!=b.d?(e=b.d,f>e&&++d):e=null!=b.e?b.e+f:f),h=pa(c,d,e,g,f),a._a[fd]=h.year,a._dayOfYear=h.dayOfYear}function va(b){if(b._f===a.ISO_8601)return void ca(b);b._a=[],j(b).empty=!0;var c,d,e,f,g,h=""+b._i,i=h.length,k=0;for(e=L(b._f,b._locale).match(Nc)||[],c=0;c<e.length;c++)f=e[c],d=(h.match(O(f,b))||[])[0],d&&(g=h.substr(0,h.indexOf(d)),g.length>0&&j(b).unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),k+=d.length),Qc[f]?(d?j(b).empty=!1:j(b).unusedTokens.push(f),S(f,d,b)):b._strict&&!d&&j(b).unusedTokens.push(f);j(b).charsLeftOver=i-k,h.length>0&&j(b).unusedInput.push(h),j(b).bigHour===!0&&b._a[id]<=12&&b._a[id]>0&&(j(b).bigHour=void 0),b._a[id]=wa(b._locale,b._a[id],b._meridiem),ta(b),$(b)}function wa(a,b,c){var d;return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&12>b&&(b+=12),d||12!==b||(b=0),b):b}function xa(a){var b,c,d,e,f;if(0===a._f.length)return j(a).invalidFormat=!0,void(a._d=new Date(NaN));for(e=0;e<a._f.length;e++)f=0,b=m({},a),null!=a._useUTC&&(b._useUTC=a._useUTC),b._f=a._f[e],va(b),k(b)&&(f+=j(b).charsLeftOver,f+=10*j(b).unusedTokens.length,j(b).score=f,(null==d||d>f)&&(d=f,c=b));g(a,c||b)}function ya(a){if(!a._d){var b=B(a._i);a._a=[b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],ta(a)}}function za(a){var b=new n($(Aa(a)));return b._nextDay&&(b.add(1,"d"),b._nextDay=void 0),b}function Aa(a){var b=a._i,e=a._f;return a._locale=a._locale||y(a._l),null===b||void 0===e&&""===b?l({nullInput:!0}):("string"==typeof b&&(a._i=b=a._locale.preparse(b)),o(b)?new n($(b)):(c(e)?xa(a):e?va(a):d(b)?a._d=b:Ba(a),a))}function Ba(b){var f=b._i;void 0===f?b._d=new Date:d(f)?b._d=new Date(+f):"string"==typeof f?da(b):c(f)?(b._a=e(f.slice(0),function(a){return parseInt(a,10)}),ta(b)):"object"==typeof f?ya(b):"number"==typeof f?b._d=new Date(f):a.createFromInputFallback(b)}function Ca(a,b,c,d,e){var f={};return"boolean"==typeof c&&(d=c,c=void 0),f._isAMomentObject=!0,f._useUTC=f._isUTC=e,f._l=c,f._i=a,f._f=b,f._strict=d,za(f)}function Da(a,b,c,d){return Ca(a,b,c,d,!1)}function Ea(a,b){var d,e;if(1===b.length&&c(b[0])&&(b=b[0]),!b.length)return Da();for(d=b[0],e=1;e<b.length;++e)(!b[e].isValid()||b[e][a](d))&&(d=b[e]);return d}function Fa(){var a=[].slice.call(arguments,0);return Ea("isBefore",a)}function Ga(){var a=[].slice.call(arguments,0);return Ea("isAfter",a)}function Ha(a){var b=B(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.week||0,g=b.day||0,h=b.hour||0,i=b.minute||0,j=b.second||0,k=b.millisecond||0;this._milliseconds=+k+1e3*j+6e4*i+36e5*h,this._days=+g+7*f,this._months=+e+3*d+12*c,this._data={},this._locale=y(),this._bubble()}function Ia(a){return a instanceof Ha}function Ja(a,b){H(a,0,0,function(){var a=this.utcOffset(),c="+";return 0>a&&(a=-a,c="-"),c+G(~~(a/60),2)+b+G(~~a%60,2)})}function Ka(a){var b=(a||"").match(ad)||[],c=b[b.length-1]||[],d=(c+"").match(xd)||["-",0,0],e=+(60*d[1])+q(d[2]);return"+"===d[0]?e:-e}function La(b,c){var e,f;return c._isUTC?(e=c.clone(),f=(o(b)||d(b)?+b:+Da(b))-+e,e._d.setTime(+e._d+f),a.updateOffset(e,!1),e):Da(b).local()}function Ma(a){return 15*-Math.round(a._d.getTimezoneOffset()/15)}function Na(b,c){var d,e=this._offset||0;return null!=b?("string"==typeof b&&(b=Ka(b)),Math.abs(b)<16&&(b=60*b),!this._isUTC&&c&&(d=Ma(this)),this._offset=b,this._isUTC=!0,null!=d&&this.add(d,"m"),e!==b&&(!c||this._changeInProgress?bb(this,Ya(b-e,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,a.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?e:Ma(this)}function Oa(a,b){return null!=a?("string"!=typeof a&&(a=-a),this.utcOffset(a,b),this):-this.utcOffset()}function Pa(a){return this.utcOffset(0,a)}function Qa(a){return this._isUTC&&(this.utcOffset(0,a),this._isUTC=!1,a&&this.subtract(Ma(this),"m")),this}function Ra(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Ka(this._i)),this}function Sa(a){return a=a?Da(a).utcOffset():0,(this.utcOffset()-a)%60===0}function Ta(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ua(){if("undefined"!=typeof this._isDSTShifted)return this._isDSTShifted;var a={};if(m(a,this),a=Aa(a),a._a){var b=a._isUTC?h(a._a):Da(a._a);this._isDSTShifted=this.isValid()&&r(a._a,b.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Va(){return!this._isUTC}function Wa(){return this._isUTC}function Xa(){return this._isUTC&&0===this._offset}function Ya(a,b){var c,d,e,g=a,h=null;return Ia(a)?g={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(g={},b?g[b]=a:g.milliseconds=a):(h=yd.exec(a))?(c="-"===h[1]?-1:1,g={y:0,d:q(h[hd])*c,h:q(h[id])*c,m:q(h[jd])*c,s:q(h[kd])*c,ms:q(h[ld])*c}):(h=zd.exec(a))?(c="-"===h[1]?-1:1,g={y:Za(h[2],c),M:Za(h[3],c),d:Za(h[4],c),h:Za(h[5],c),m:Za(h[6],c),s:Za(h[7],c),w:Za(h[8],c)}):null==g?g={}:"object"==typeof g&&("from"in g||"to"in g)&&(e=_a(Da(g.from),Da(g.to)),g={},g.ms=e.milliseconds,g.M=e.months),d=new Ha(g),Ia(a)&&f(a,"_locale")&&(d._locale=a._locale),d}function Za(a,b){var c=a&&parseFloat(a.replace(",","."));return(isNaN(c)?0:c)*b}function $a(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function _a(a,b){var c;return b=La(b,a),a.isBefore(b)?c=$a(a,b):(c=$a(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c}function ab(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||(ba(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period)."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=Ya(c,d),bb(this,e,a),this}}function bb(b,c,d,e){var f=c._milliseconds,g=c._days,h=c._months;e=null==e?!0:e,f&&b._d.setTime(+b._d+f*d),g&&E(b,"Date",D(b,"Date")+g*d),h&&X(b,D(b,"Month")+h*d),e&&a.updateOffset(b,g||h)}function cb(a,b){var c=a||Da(),d=La(c,this).startOf("day"),e=this.diff(d,"days",!0),f=-6>e?"sameElse":-1>e?"lastWeek":0>e?"lastDay":1>e?"sameDay":2>e?"nextDay":7>e?"nextWeek":"sameElse";return this.format(b&&b[f]||this.localeData().calendar(f,this,Da(c)))}function db(){return new n(this)}function eb(a,b){var c;return b=A("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=o(a)?a:Da(a),+this>+a):(c=o(a)?+a:+Da(a),c<+this.clone().startOf(b))}function fb(a,b){var c;return b=A("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=o(a)?a:Da(a),+a>+this):(c=o(a)?+a:+Da(a),+this.clone().endOf(b)<c)}function gb(a,b,c){return this.isAfter(a,c)&&this.isBefore(b,c)}function hb(a,b){var c;return b=A(b||"millisecond"),"millisecond"===b?(a=o(a)?a:Da(a),+this===+a):(c=+Da(a),+this.clone().startOf(b)<=c&&c<=+this.clone().endOf(b))}function ib(a,b,c){var d,e,f=La(a,this),g=6e4*(f.utcOffset()-this.utcOffset());return b=A(b),"year"===b||"month"===b||"quarter"===b?(e=jb(this,f),"quarter"===b?e/=3:"year"===b&&(e/=12)):(d=this-f,e="second"===b?d/1e3:"minute"===b?d/6e4:"hour"===b?d/36e5:"day"===b?(d-g)/864e5:"week"===b?(d-g)/6048e5:d),c?e:p(e)}function jb(a,b){var c,d,e=12*(b.year()-a.year())+(b.month()-a.month()),f=a.clone().add(e,"months");return 0>b-f?(c=a.clone().add(e-1,"months"),d=(b-f)/(f-c)):(c=a.clone().add(e+1,"months"),d=(b-f)/(c-f)),-(e+d)}function kb(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function lb(){var a=this.clone().utc();return 0<a.year()&&a.year()<=9999?"function"==typeof Date.prototype.toISOString?this.toDate().toISOString():K(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):K(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function mb(b){var c=K(this,b||a.defaultFormat);return this.localeData().postformat(c)}function nb(a,b){return this.isValid()?Ya({to:this,from:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function ob(a){return this.from(Da(),a)}function pb(a,b){return this.isValid()?Ya({from:this,to:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function qb(a){return this.to(Da(),a)}function rb(a){var b;return void 0===a?this._locale._abbr:(b=y(a),null!=b&&(this._locale=b),this)}function sb(){return this._locale}function tb(a){switch(a=A(a)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===a&&this.weekday(0),"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this}function ub(a){return a=A(a),void 0===a||"millisecond"===a?this:this.startOf(a).add(1,"isoWeek"===a?"week":a).subtract(1,"ms")}function vb(){return+this._d-6e4*(this._offset||0)}function wb(){return Math.floor(+this/1e3)}function xb(){return this._offset?new Date(+this):this._d}function yb(){var a=this;return[a.year(),a.month(),a.date(),a.hour(),a.minute(),a.second(),a.millisecond()]}function zb(){var a=this;return{years:a.year(),months:a.month(),date:a.date(),hours:a.hours(),minutes:a.minutes(),seconds:a.seconds(),milliseconds:a.milliseconds()}}function Ab(){return k(this)}function Bb(){return g({},j(this))}function Cb(){return j(this).overflow}function Db(a,b){H(0,[a,a.length],0,b)}function Eb(a,b,c){return ja(Da([a,11,31+b-c]),b,c).week}function Fb(a){var b=ja(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==a?b:this.add(a-b,"y")}function Gb(a){var b=ja(this,1,4).year;return null==a?b:this.add(a-b,"y")}function Hb(){return Eb(this.year(),1,4)}function Ib(){var a=this.localeData()._week;return Eb(this.year(),a.dow,a.doy)}function Jb(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)}function Kb(a,b){return"string"!=typeof a?a:isNaN(a)?(a=b.weekdaysParse(a),"number"==typeof a?a:null):parseInt(a,10)}function Lb(a){return this._weekdays[a.day()]}function Mb(a){return this._weekdaysShort[a.day()]}function Nb(a){return this._weekdaysMin[a.day()]}function Ob(a){var b,c,d;for(this._weekdaysParse=this._weekdaysParse||[],b=0;7>b;b++)if(this._weekdaysParse[b]||(c=Da([2e3,1]).day(b),d="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[b]=new RegExp(d.replace(".",""),"i")),this._weekdaysParse[b].test(a))return b}function Pb(a){var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Kb(a,this.localeData()),this.add(a-b,"d")):b}function Qb(a){var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")}function Rb(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)}function Sb(a,b){H(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b)})}function Tb(a,b){return b._meridiemParse}function Ub(a){return"p"===(a+"").toLowerCase().charAt(0)}function Vb(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"}function Wb(a,b){b[ld]=q(1e3*("0."+a))}function Xb(){return this._isUTC?"UTC":""}function Yb(){return this._isUTC?"Coordinated Universal Time":""}function Zb(a){return Da(1e3*a)}function $b(){return Da.apply(null,arguments).parseZone()}function _b(a,b,c){var d=this._calendar[a];return"function"==typeof d?d.call(b,c):d}function ac(a){var b=this._longDateFormat[a],c=this._longDateFormat[a.toUpperCase()];return b||!c?b:(this._longDateFormat[a]=c.replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a])}function bc(){return this._invalidDate}function cc(a){return this._ordinal.replace("%d",a)}function dc(a){return a}function ec(a,b,c,d){var e=this._relativeTime[c];return"function"==typeof e?e(a,b,c,d):e.replace(/%d/i,a)}function fc(a,b){var c=this._relativeTime[a>0?"future":"past"];return"function"==typeof c?c(b):c.replace(/%s/i,b)}function gc(a){var b,c;for(c in a)b=a[c],"function"==typeof b?this[c]=b:this["_"+c]=b;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function hc(a,b,c,d){var e=y(),f=h().set(d,b);return e[c](f,a)}function ic(a,b,c,d,e){if("number"==typeof a&&(b=a,a=void 0),a=a||"",null!=b)return hc(a,b,c,e);var f,g=[];for(f=0;d>f;f++)g[f]=hc(a,f,c,e);return g}function jc(a,b){return ic(a,b,"months",12,"month")}function kc(a,b){return ic(a,b,"monthsShort",12,"month")}function lc(a,b){return ic(a,b,"weekdays",7,"day")}function mc(a,b){return ic(a,b,"weekdaysShort",7,"day")}function nc(a,b){return ic(a,b,"weekdaysMin",7,"day")}function oc(){var a=this._data;return this._milliseconds=Wd(this._milliseconds),this._days=Wd(this._days),this._months=Wd(this._months),a.milliseconds=Wd(a.milliseconds),a.seconds=Wd(a.seconds),a.minutes=Wd(a.minutes),a.hours=Wd(a.hours),a.months=Wd(a.months),a.years=Wd(a.years),this}function pc(a,b,c,d){var e=Ya(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble()}function qc(a,b){return pc(this,a,b,1)}function rc(a,b){return pc(this,a,b,-1)}function sc(a){return 0>a?Math.floor(a):Math.ceil(a)}function tc(){var a,b,c,d,e,f=this._milliseconds,g=this._days,h=this._months,i=this._data;return f>=0&&g>=0&&h>=0||0>=f&&0>=g&&0>=h||(f+=864e5*sc(vc(h)+g),g=0,h=0),i.milliseconds=f%1e3,a=p(f/1e3),i.seconds=a%60,b=p(a/60),i.minutes=b%60,c=p(b/60),i.hours=c%24,g+=p(c/24),e=p(uc(g)),h+=e,g-=sc(vc(e)),d=p(h/12),h%=12,i.days=g,i.months=h,i.years=d,this}function uc(a){return 4800*a/146097}function vc(a){return 146097*a/4800}function wc(a){var b,c,d=this._milliseconds;if(a=A(a),"month"===a||"year"===a)return b=this._days+d/864e5,c=this._months+uc(b),"month"===a?c:c/12;switch(b=this._days+Math.round(vc(this._months)),a){case"week":return b/7+d/6048e5;case"day":return b+d/864e5;case"hour":return 24*b+d/36e5;case"minute":return 1440*b+d/6e4;case"second":return 86400*b+d/1e3;case"millisecond":return Math.floor(864e5*b)+d;default:throw new Error("Unknown unit "+a)}}function xc(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*q(this._months/12)}function yc(a){return function(){return this.as(a)}}function zc(a){return a=A(a),this[a+"s"]()}function Ac(a){return function(){return this._data[a]}}function Bc(){return p(this.days()/7)}function Cc(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function Dc(a,b,c){var d=Ya(a).abs(),e=ke(d.as("s")),f=ke(d.as("m")),g=ke(d.as("h")),h=ke(d.as("d")),i=ke(d.as("M")),j=ke(d.as("y")),k=e<le.s&&["s",e]||1===f&&["m"]||f<le.m&&["mm",f]||1===g&&["h"]||g<le.h&&["hh",g]||1===h&&["d"]||h<le.d&&["dd",h]||1===i&&["M"]||i<le.M&&["MM",i]||1===j&&["y"]||["yy",j];return k[2]=b,k[3]=+a>0,k[4]=c,Cc.apply(null,k)}function Ec(a,b){return void 0===le[a]?!1:void 0===b?le[a]:(le[a]=b,!0)}function Fc(a){var b=this.localeData(),c=Dc(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c)}function Gc(){var a,b,c,d=me(this._milliseconds)/1e3,e=me(this._days),f=me(this._months);a=p(d/60),b=p(a/60),d%=60,a%=60,c=p(f/12),f%=12;var g=c,h=f,i=e,j=b,k=a,l=d,m=this.asSeconds();return m?(0>m?"-":"")+"P"+(g?g+"Y":"")+(h?h+"M":"")+(i?i+"D":"")+(j||k||l?"T":"")+(j?j+"H":"")+(k?k+"M":"")+(l?l+"S":""):"P0D"}var Hc,Ic,Jc=a.momentProperties=[],Kc=!1,Lc={},Mc={},Nc=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Oc=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Pc={},Qc={},Rc=/\d/,Sc=/\d\d/,Tc=/\d{3}/,Uc=/\d{4}/,Vc=/[+-]?\d{6}/,Wc=/\d\d?/,Xc=/\d{1,3}/,Yc=/\d{1,4}/,Zc=/[+-]?\d{1,6}/,$c=/\d+/,_c=/[+-]?\d+/,ad=/Z|[+-]\d\d:?\d\d/gi,bd=/[+-]?\d+(\.\d{1,3})?/,cd=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,dd={},ed={},fd=0,gd=1,hd=2,id=3,jd=4,kd=5,ld=6;H("M",["MM",2],"Mo",function(){return this.month()+1}),H("MMM",0,0,function(a){return this.localeData().monthsShort(this,a)}),H("MMMM",0,0,function(a){return this.localeData().months(this,a)}),z("month","M"),N("M",Wc),N("MM",Wc,Sc),N("MMM",cd),N("MMMM",cd),Q(["M","MM"],function(a,b){b[gd]=q(a)-1}),Q(["MMM","MMMM"],function(a,b,c,d){var e=c._locale.monthsParse(a,d,c._strict);null!=e?b[gd]=e:j(c).invalidMonth=a});var md="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),nd="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),od={};a.suppressDeprecationWarnings=!1;var pd=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,qd=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],rd=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],sd=/^\/?Date\((\-?\d+)/i;a.createFromInputFallback=aa("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),H(0,["YY",2],0,function(){return this.year()%100}),H(0,["YYYY",4],0,"year"),H(0,["YYYYY",5],0,"year"),H(0,["YYYYYY",6,!0],0,"year"),z("year","y"),N("Y",_c),N("YY",Wc,Sc),N("YYYY",Yc,Uc),N("YYYYY",Zc,Vc),N("YYYYYY",Zc,Vc),Q(["YYYYY","YYYYYY"],fd),Q("YYYY",function(b,c){c[fd]=2===b.length?a.parseTwoDigitYear(b):q(b)}),Q("YY",function(b,c){c[fd]=a.parseTwoDigitYear(b)}),a.parseTwoDigitYear=function(a){return q(a)+(q(a)>68?1900:2e3)};var td=C("FullYear",!1);H("w",["ww",2],"wo","week"),H("W",["WW",2],"Wo","isoWeek"),z("week","w"),z("isoWeek","W"),N("w",Wc),N("ww",Wc,Sc),N("W",Wc),N("WW",Wc,Sc),R(["w","ww","W","WW"],function(a,b,c,d){b[d.substr(0,1)]=q(a)});var ud={dow:0,doy:6};H("DDD",["DDDD",3],"DDDo","dayOfYear"),z("dayOfYear","DDD"),N("DDD",Xc),N("DDDD",Tc),Q(["DDD","DDDD"],function(a,b,c){c._dayOfYear=q(a)}),a.ISO_8601=function(){};var vd=aa("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var a=Da.apply(null,arguments);return this>a?this:a}),wd=aa("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var a=Da.apply(null,arguments);return a>this?this:a});Ja("Z",":"),Ja("ZZ",""),N("Z",ad),N("ZZ",ad),Q(["Z","ZZ"],function(a,b,c){c._useUTC=!0,c._tzm=Ka(a)});var xd=/([\+\-]|\d\d)/gi;a.updateOffset=function(){};var yd=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,zd=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;Ya.fn=Ha.prototype;var Ad=ab(1,"add"),Bd=ab(-1,"subtract");a.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var Cd=aa("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a)});H(0,["gg",2],0,function(){return this.weekYear()%100}),H(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Db("gggg","weekYear"),Db("ggggg","weekYear"),Db("GGGG","isoWeekYear"),Db("GGGGG","isoWeekYear"),z("weekYear","gg"),z("isoWeekYear","GG"),N("G",_c),N("g",_c),N("GG",Wc,Sc),N("gg",Wc,Sc),N("GGGG",Yc,Uc),N("gggg",Yc,Uc),N("GGGGG",Zc,Vc),N("ggggg",Zc,Vc),R(["gggg","ggggg","GGGG","GGGGG"],function(a,b,c,d){b[d.substr(0,2)]=q(a)}),R(["gg","GG"],function(b,c,d,e){c[e]=a.parseTwoDigitYear(b)}),H("Q",0,0,"quarter"),z("quarter","Q"),N("Q",Rc),Q("Q",function(a,b){b[gd]=3*(q(a)-1)}),H("D",["DD",2],"Do","date"),z("date","D"),N("D",Wc),N("DD",Wc,Sc),N("Do",function(a,b){return a?b._ordinalParse:b._ordinalParseLenient}),Q(["D","DD"],hd),Q("Do",function(a,b){b[hd]=q(a.match(Wc)[0],10)});var Dd=C("Date",!0);H("d",0,"do","day"),H("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),H("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),H("dddd",0,0,function(a){return this.localeData().weekdays(this,a)}),H("e",0,0,"weekday"),H("E",0,0,"isoWeekday"),z("day","d"),z("weekday","e"),z("isoWeekday","E"),N("d",Wc),N("e",Wc),N("E",Wc),N("dd",cd),N("ddd",cd),N("dddd",cd),R(["dd","ddd","dddd"],function(a,b,c){var d=c._locale.weekdaysParse(a);null!=d?b.d=d:j(c).invalidWeekday=a}),R(["d","e","E"],function(a,b,c,d){b[d]=q(a)});var Ed="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Fd="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Gd="Su_Mo_Tu_We_Th_Fr_Sa".split("_");H("H",["HH",2],0,"hour"),H("h",["hh",2],0,function(){return this.hours()%12||12}),Sb("a",!0),Sb("A",!1),z("hour","h"),N("a",Tb),N("A",Tb),N("H",Wc),N("h",Wc),N("HH",Wc,Sc),N("hh",Wc,Sc),Q(["H","HH"],id),Q(["a","A"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a}),Q(["h","hh"],function(a,b,c){b[id]=q(a),j(c).bigHour=!0});var Hd=/[ap]\.?m?\.?/i,Id=C("Hours",!0);H("m",["mm",2],0,"minute"),z("minute","m"),N("m",Wc),N("mm",Wc,Sc),Q(["m","mm"],jd);var Jd=C("Minutes",!1);H("s",["ss",2],0,"second"),z("second","s"),N("s",Wc),N("ss",Wc,Sc),Q(["s","ss"],kd);var Kd=C("Seconds",!1);H("S",0,0,function(){return~~(this.millisecond()/100)}),H(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),H(0,["SSS",3],0,"millisecond"),H(0,["SSSS",4],0,function(){return 10*this.millisecond()}),H(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),H(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),H(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),H(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),H(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),z("millisecond","ms"),N("S",Xc,Rc),N("SS",Xc,Sc),N("SSS",Xc,Tc);var Ld;for(Ld="SSSS";Ld.length<=9;Ld+="S")N(Ld,$c);for(Ld="S";Ld.length<=9;Ld+="S")Q(Ld,Wb);var Md=C("Milliseconds",!1);H("z",0,0,"zoneAbbr"),H("zz",0,0,"zoneName");var Nd=n.prototype;Nd.add=Ad,Nd.calendar=cb,Nd.clone=db,Nd.diff=ib,Nd.endOf=ub,Nd.format=mb,Nd.from=nb,Nd.fromNow=ob,Nd.to=pb,Nd.toNow=qb,Nd.get=F,Nd.invalidAt=Cb,Nd.isAfter=eb,Nd.isBefore=fb,Nd.isBetween=gb,Nd.isSame=hb,Nd.isValid=Ab,Nd.lang=Cd,Nd.locale=rb,Nd.localeData=sb,Nd.max=wd,Nd.min=vd,Nd.parsingFlags=Bb,Nd.set=F,Nd.startOf=tb,Nd.subtract=Bd,Nd.toArray=yb,Nd.toObject=zb,Nd.toDate=xb,Nd.toISOString=lb,Nd.toJSON=lb,Nd.toString=kb,Nd.unix=wb,Nd.valueOf=vb,Nd.year=td,Nd.isLeapYear=ia,Nd.weekYear=Fb,Nd.isoWeekYear=Gb,Nd.quarter=Nd.quarters=Jb,Nd.month=Y,Nd.daysInMonth=Z,Nd.week=Nd.weeks=na,Nd.isoWeek=Nd.isoWeeks=oa,Nd.weeksInYear=Ib,Nd.isoWeeksInYear=Hb,Nd.date=Dd,Nd.day=Nd.days=Pb,Nd.weekday=Qb,Nd.isoWeekday=Rb,Nd.dayOfYear=qa,Nd.hour=Nd.hours=Id,Nd.minute=Nd.minutes=Jd,Nd.second=Nd.seconds=Kd,Nd.millisecond=Nd.milliseconds=Md,Nd.utcOffset=Na,Nd.utc=Pa,Nd.local=Qa,Nd.parseZone=Ra,Nd.hasAlignedHourOffset=Sa,Nd.isDST=Ta,Nd.isDSTShifted=Ua,Nd.isLocal=Va,Nd.isUtcOffset=Wa,Nd.isUtc=Xa,Nd.isUTC=Xa,Nd.zoneAbbr=Xb,Nd.zoneName=Yb,Nd.dates=aa("dates accessor is deprecated. Use date instead.",Dd),Nd.months=aa("months accessor is deprecated. Use month instead",Y),Nd.years=aa("years accessor is deprecated. Use year instead",td),Nd.zone=aa("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Oa);var Od=Nd,Pd={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Qd={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},Rd="Invalid date",Sd="%d",Td=/\d{1,2}/,Ud={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Vd=s.prototype;Vd._calendar=Pd,Vd.calendar=_b,Vd._longDateFormat=Qd,Vd.longDateFormat=ac,Vd._invalidDate=Rd,Vd.invalidDate=bc,Vd._ordinal=Sd,Vd.ordinal=cc,Vd._ordinalParse=Td,Vd.preparse=dc,Vd.postformat=dc,Vd._relativeTime=Ud,Vd.relativeTime=ec,Vd.pastFuture=fc,Vd.set=gc,Vd.months=U,Vd._months=md,Vd.monthsShort=V,Vd._monthsShort=nd,Vd.monthsParse=W,Vd.week=ka,Vd._week=ud,Vd.firstDayOfYear=ma,Vd.firstDayOfWeek=la,Vd.weekdays=Lb,Vd._weekdays=Ed,Vd.weekdaysMin=Nb,Vd._weekdaysMin=Gd,Vd.weekdaysShort=Mb,Vd._weekdaysShort=Fd,Vd.weekdaysParse=Ob,Vd.isPM=Ub,Vd._meridiemParse=Hd,Vd.meridiem=Vb,w("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===q(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),a.lang=aa("moment.lang is deprecated. Use moment.locale instead.",w),a.langData=aa("moment.langData is deprecated. Use moment.localeData instead.",y);var Wd=Math.abs,Xd=yc("ms"),Yd=yc("s"),Zd=yc("m"),$d=yc("h"),_d=yc("d"),ae=yc("w"),be=yc("M"),ce=yc("y"),de=Ac("milliseconds"),ee=Ac("seconds"),fe=Ac("minutes"),ge=Ac("hours"),he=Ac("days"),ie=Ac("months"),je=Ac("years"),ke=Math.round,le={s:45,m:45,h:22,d:26,M:11},me=Math.abs,ne=Ha.prototype;ne.abs=oc,ne.add=qc,ne.subtract=rc,ne.as=wc,ne.asMilliseconds=Xd,ne.asSeconds=Yd,ne.asMinutes=Zd,ne.asHours=$d,ne.asDays=_d,ne.asWeeks=ae,ne.asMonths=be,ne.asYears=ce,ne.valueOf=xc,ne._bubble=tc,ne.get=zc,ne.milliseconds=de,ne.seconds=ee,ne.minutes=fe,ne.hours=ge,ne.days=he,ne.weeks=Bc,ne.months=ie,ne.years=je,ne.humanize=Fc,ne.toISOString=Gc,ne.toString=Gc,ne.toJSON=Gc,ne.locale=rb,ne.localeData=sb,ne.toIsoString=aa("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Gc),ne.lang=Cd,H("X",0,0,"unix"),H("x",0,0,"valueOf"),N("x",_c),N("X",bd),Q("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),Q("x",function(a,b,c){c._d=new Date(q(a))}),a.version="2.10.6",b(Da),a.fn=Od,a.min=Fa,a.max=Ga,a.utc=h,a.unix=Zb,a.months=jc,a.isDate=d,a.locale=w,a.invalid=l,a.duration=Ya,a.isMoment=o,a.weekdays=lc,a.parseZone=$b,a.localeData=y,a.isDuration=Ia,a.monthsShort=kc,a.weekdaysMin=nc,a.defineLocale=x,a.weekdaysShort=mc,a.normalizeUnits=A,a.relativeTimeThreshold=Ec;var oe=a;return oe}),function(a,b){"use strict";angular.module("adf.widget.clock",["adf.provider"]).config(["dashboardProvider",function(a){a.widget("clock",{title:"Clock",description:"Displays date and time",templateUrl:"{widgetsPath}/clock/src/view.html",controller:"clockController",controllerAs:"clock",config:{timePattern:"HH:mm:ss",datePattern:"YYYY-MM-DD"},edit:{templateUrl:"{widgetsPath}/clock/src/edit.html"}})}]).controller("clockController",["$scope","$interval","config",function(a,b,c){function d(){var a=new moment;e.time=a.format(c.timePattern),e.date=a.format(c.datePattern)}var e=this;d();var f=b(d,1e3);a.$on("$destroy",function(){b.cancel(f)})}]),angular.module("adf.widget.clock").run(["$templateCache",function(a){a.put("{widgetsPath}/clock/src/edit.html",'<form role=form><div class=form-group><label for=time>Time pattern</label> <input type=text class=form-control id=time ng-model=config.timePattern></div><div class=form-group><label for=date>Date pattern</label> <input type=text class=form-control id=date ng-model=config.datePattern></div><p class=text-info>For the list of possible patterns, please have a look at <a target=_blank href="http://momentjs.com/docs/#/displaying/">moment.js documentation</a></p></form>'),
-a.put("{widgetsPath}/clock/src/view.html","<div class=clock><div class=clock-time>{{clock.time}}</div><div class=clock-date>{{clock.date}}</div></div>")}])}(window),function(a,b){"use strict";angular.module("adf.widget.iframe",["adf.provider"]).config(["dashboardProvider",function(a){a.widget("iframe",{title:"iframe",description:"Embed an external page into the dashboard",templateUrl:"{widgetsPath}/iframe/src/view.html",controller:"iframeController",controllerAs:"iframe",edit:{templateUrl:"{widgetsPath}/iframe/src/edit.html"},config:{height:"420px"}})}]).controller("iframeController",["$sce","config",function(a,b){b.url&&(this.url=a.trustAsResourceUrl(b.url))}]),angular.module("adf.widget.iframe").run(["$templateCache",function(a){a.put("{widgetsPath}/iframe/src/edit.html","<form role=form><div class=form-group><label for=url>URL</label> <input type=url class=form-control id=url ng-model=config.url placeholder=http://www.example.com></div><div class=form-group><label for=url>Height</label> <input type=text class=form-control id=url ng-model=config.height></div></form>"),a.put("{widgetsPath}/iframe/src/view.html",'<div><div class="alert alert-info" ng-if=!config.url>Please insert a url in the widget configuration</div><iframe ng-if=iframe.url class=adf-iframe style="height: {{config.height}}" src={{iframe.url}}></iframe></div>')}])}(window),function(a,b,c){"use strict";function d(a,b,c){if(!a)throw ngMinErr("areq","Argument '{0}' is {1}",b||"?",c||"required");return a}function e(a,b){return a||b?a?b?(Q(a)&&(a=a.join(" ")),Q(b)&&(b=b.join(" ")),a+" "+b):a:b:""}function f(a){var b={};return a&&(a.to||a.from)&&(b.to=a.to,b.from=a.from),b}function g(a,b,c){var d="";return a=Q(a)?a:a&&R(a)&&a.length?a.split(/\s+/):[],P(a,function(a,e){a&&a.length>0&&(d+=e>0?" ":"",d+=c?b+a:a+b)}),d}function h(a,b){var c=a.indexOf(b);b>=0&&a.splice(c,1)}function i(a){if(a instanceof O)switch(a.length){case 0:return[];case 1:if(a[0].nodeType===X)return a;break;default:return O(j(a))}return a.nodeType===X?O(a):void 0}function j(a){if(!a[0])return a;for(var b=0;b<a.length;b++){var c=a[b];if(c.nodeType==X)return c}}function k(a,b,c){P(b,function(b){a.addClass(b,c)})}function l(a,b,c){P(b,function(b){a.removeClass(b,c)})}function m(a){return function(b,c){c.addClass&&(k(a,b,c.addClass),c.addClass=null),c.removeClass&&(l(a,b,c.removeClass),c.removeClass=null)}}function n(a){if(a=a||{},!a.$$prepared){var b=a.domOperation||M;a.domOperation=function(){a.$$domOperationFired=!0,b(),b=M},a.$$prepared=!0}return a}function o(a,b){p(a,b),q(a,b)}function p(a,b){b.from&&(a.css(b.from),b.from=null)}function q(a,b){b.to&&(a.css(b.to),b.to=null)}function r(a,b,c){var d=(b.addClass||"")+" "+(c.addClass||""),e=(b.removeClass||"")+" "+(c.removeClass||""),f=s(a.attr("class"),d,e);c.preparationClasses&&(b.preparationClasses=z(c.preparationClasses,b.preparationClasses),delete c.preparationClasses);var g=b.domOperation!==M?b.domOperation:null;return N(b,c),g&&(b.domOperation=g),f.addClass?b.addClass=f.addClass:b.addClass=null,f.removeClass?b.removeClass=f.removeClass:b.removeClass=null,b}function s(a,b,c){function d(a){R(a)&&(a=a.split(" "));var b={};return P(a,function(a){a.length&&(b[a]=!0)}),b}var e=1,f=-1,g={};a=d(a),b=d(b),P(b,function(a,b){g[b]=e}),c=d(c),P(c,function(a,b){g[b]=g[b]===e?null:f});var h={addClass:"",removeClass:""};return P(g,function(b,c){var d,g;b===e?(d="addClass",g=!a[c]):b===f&&(d="removeClass",g=a[c]),g&&(h[d].length&&(h[d]+=" "),h[d]+=c)}),h}function t(a){return a instanceof b.element?a[0]:a}function u(a,b,c){var d="";b&&(d=g(b,$,!0)),c.addClass&&(d=z(d,g(c.addClass,Y))),c.removeClass&&(d=z(d,g(c.removeClass,Z))),d.length&&(c.preparationClasses=d,a.addClass(d))}function v(a,b){b.preparationClasses&&(a.removeClass(b.preparationClasses),b.preparationClasses=null),b.activeClasses&&(a.removeClass(b.activeClasses),b.activeClasses=null)}function w(a,b){var c=b?"-"+b+"s":"";return y(a,[ma,c]),[ma,c]}function x(a,b){var c=b?"paused":"",d=K+ia;return y(a,[d,c]),[d,c]}function y(a,b){var c=b[0],d=b[1];a.style[c]=d}function z(a,b){return a?b?a+" "+b:a:b}function A(a){return[la,a+"s"]}function B(a,b){var c=b?ka:ma;return[c,a+"s"]}function C(a,b,c){var d=Object.create(null),e=a.getComputedStyle(b)||{};return P(c,function(a,b){var c=e[a];if(c){var f=c.charAt(0);("-"===f||"+"===f||f>=0)&&(c=D(c)),0===c&&(c=null),d[b]=c}}),d}function D(a){var b=0,c=a.split(/\s*,\s*/);return P(c,function(a){"s"==a.charAt(a.length-1)&&(a=a.substring(0,a.length-1)),a=parseFloat(a)||0,b=b?Math.max(a,b):a}),b}function E(a){return 0===a||null!=a}function F(a,b){var c=I,d=a+"s";return b?c+=da:d+=" linear all",[c,d]}function G(){var a=Object.create(null);return{flush:function(){a=Object.create(null)},count:function(b){var c=a[b];return c?c.total:0},get:function(b){var c=a[b];return c&&c.value},put:function(b,c){a[b]?a[b].total++:a[b]={total:1,value:c}}}}function H(a,b,c){P(c,function(c){a[c]=U(a[c])?a[c]:b.style.getPropertyValue(c)})}var I,J,K,L,M=b.noop,N=b.extend,O=b.element,P=b.forEach,Q=b.isArray,R=b.isString,S=b.isObject,T=b.isUndefined,U=b.isDefined,V=b.isFunction,W=b.isElement,X=1,Y="-add",Z="-remove",$="ng-",_="-active",aa="ng-animate",ba="$$ngAnimateChildren",ca="";T(a.ontransitionend)&&U(a.onwebkittransitionend)?(ca="-webkit-",I="WebkitTransition",J="webkitTransitionEnd transitionend"):(I="transition",J="transitionend"),T(a.onanimationend)&&U(a.onwebkitanimationend)?(ca="-webkit-",K="WebkitAnimation",L="webkitAnimationEnd animationend"):(K="animation",L="animationend");var da="Duration",ea="Property",fa="Delay",ga="TimingFunction",ha="IterationCount",ia="PlayState",ja=9999,ka=K+fa,la=K+da,ma=I+fa,na=I+da,oa=["$$rAF",function(a){function b(a){d=d.concat(a),c()}function c(){if(d.length){for(var b=d.shift(),f=0;f<b.length;f++)b[f]();e||a(function(){e||c()})}}var d,e;return d=b.queue=[],b.waitUntilQuiet=function(b){e&&e(),e=a(function(){e=null,b(),c()})},b}],pa=[function(){return function(a,c,d){var e=d.ngAnimateChildren;b.isString(e)&&0===e.length?c.data(ba,!0):d.$observe("ngAnimateChildren",function(a){a="on"===a||"true"===a,c.data(ba,a)})}}],qa="$$animateCss",ra=1e3,sa=3,ta=1.5,ua={transitionDuration:na,transitionDelay:ma,transitionProperty:I+ea,animationDuration:la,animationDelay:ka,animationIterationCount:K+ha},va={transitionDuration:na,transitionDelay:ma,animationDuration:la,animationDelay:ka},wa=["$animateProvider",function(a){var b=G(),c=G();this.$get=["$window","$$jqLite","$$AnimateRunner","$timeout","$$forceReflow","$sniffer","$$rAFScheduler","$animate",function(a,d,e,i,j,k,l,r){function s(a,b){var c="$$ngAnimateParentKey",d=a.parentNode,e=d[c]||(d[c]=++N);return e+"-"+a.getAttribute("class")+"-"+b}function u(c,d,e,f){var g=b.get(e);return g||(g=C(a,c,f),"infinite"===g.animationIterationCount&&(g.animationIterationCount=1)),b.put(e,g),g}function v(e,f,h,i){var j;if(b.count(h)>0&&(j=c.get(h),!j)){var k=g(f,"-stagger");d.addClass(e,k),j=C(a,e,i),j.animationDuration=Math.max(j.animationDuration,0),j.transitionDuration=Math.max(j.transitionDuration,0),d.removeClass(e,k),c.put(h,j)}return j||{}}function z(a){O.push(a),l.waitUntilQuiet(function(){b.flush(),c.flush();for(var a=j(),d=0;d<O.length;d++)O[d](a);O.length=0})}function D(a,b,c){var d=u(a,b,c,ua),e=d.animationDelay,f=d.transitionDelay;return d.maxDelay=e&&f?Math.max(e,f):e||f,d.maxDuration=Math.max(d.animationDuration*d.animationIterationCount,d.transitionDuration),d}var G=m(d),N=0,O=[];return function(a,c){function j(){m()}function l(){m(!0)}function m(b){S||U&&T||(S=!0,T=!1,c.$$skipPreparationClasses||d.removeClass(a,na),d.removeClass(a,pa),x(R,!1),w(R,!1),P(da,function(a){R.style[a[0]]=""}),G(a,c),o(a,c),Object.keys(O).length&&P(O,function(a,b){a?R.style.setProperty(b,a):R.style.removeProperty(b)}),c.onDone&&c.onDone(),V&&V.complete(!b))}function u(a){Ia.blockTransition&&w(R,a),Ia.blockKeyframeAnimation&&x(R,!!a)}function C(){return V=new e({end:j,cancel:l}),z(M),m(),{$$willAnimate:!1,start:function(){return V},end:j}}function N(){function b(){if(!S){if(u(!1),P(da,function(a){var b=a[0],c=a[1];R.style[b]=c}),G(a,c),d.addClass(a,pa),Ia.recalculateTimingStyles){if(oa=R.className+" "+na,xa=s(R,oa),Ga=D(R,oa,xa),Ha=Ga.maxDelay,X=Math.max(Ha,0),ba=Ga.maxDuration,0===ba)return void m();Ia.hasTransitions=Ga.transitionDuration>0,Ia.hasAnimations=Ga.animationDuration>0}if(Ia.applyAnimationDelay&&(Ha="boolean"!=typeof c.delay&&E(c.delay)?parseFloat(c.delay):Ha,X=Math.max(Ha,0),Ga.animationDelay=Ha,Ja=B(Ha,!0),da.push(Ja),R.style[Ja[0]]=Ja[1]),aa=X*ra,ca=ba*ra,c.easing){var b,h=c.easing;Ia.hasTransitions&&(b=I+ga,da.push([b,h]),R.style[b]=h),Ia.hasAnimations&&(b=K+ga,da.push([b,h]),R.style[b]=h)}Ga.transitionDuration&&j.push(J),Ga.animationDuration&&j.push(L),g=Date.now();var k=aa+ta*ca,l=g+k,n=a.data(qa)||[],o=!0;if(n.length){var p=n[0];o=l>p.expectedEndTime,o?i.cancel(p.timer):n.push(m)}if(o){var r=i(e,k,!1);n[0]={timer:r,expectedEndTime:l},n.push(m),a.data(qa,n)}a.on(j.join(" "),f),c.to&&(c.cleanupStyles&&H(O,R,Object.keys(c.to)),q(a,c))}}function e(){var b=a.data(qa);if(b){for(var c=1;c<b.length;c++)b[c]();a.removeData(qa)}}function f(a){a.stopPropagation();var b=a.originalEvent||a,c=b.$manualTimeStamp||b.timeStamp||Date.now(),d=parseFloat(b.elapsedTime.toFixed(sa));Math.max(c-g,0)>=aa&&d>=ba&&(U=!0,m())}if(!S){if(!R.parentNode)return void m();var g,j=[],k=function(a){if(U)T&&a&&(T=!1,m());else if(T=!a,Ga.animationDuration){var b=x(R,T);T?da.push(b):h(da,b)}},l=Ea>0&&(Ga.transitionDuration&&0===ya.transitionDuration||Ga.animationDuration&&0===ya.animationDuration)&&Math.max(ya.animationDelay,ya.transitionDelay);l?i(b,Math.floor(l*Ea*ra),!1):b(),W.resume=function(){k(!0)},W.pause=function(){k(!1)}}}var O={},R=t(a);if(!R||!R.parentNode||!r.enabled())return C();c=n(c);var S,T,U,V,W,X,aa,ba,ca,da=[],fa=a.attr("class"),ha=f(c);if(0===c.duration||!k.animations&&!k.transitions)return C();var ia=c.event&&Q(c.event)?c.event.join(" "):c.event,ka=ia&&c.structural,la="",ma="";ka?la=g(ia,$,!0):ia&&(la=ia),c.addClass&&(ma+=g(c.addClass,Y)),c.removeClass&&(ma.length&&(ma+=" "),ma+=g(c.removeClass,Z)),c.applyClassesEarly&&ma.length&&G(a,c);var na=[la,ma].join(" ").trim(),oa=fa+" "+na,pa=g(na,_),ua=ha.to&&Object.keys(ha.to).length>0,wa=(c.keyframeStyle||"").length>0;if(!wa&&!ua&&!na)return C();var xa,ya;if(c.stagger>0){var za=parseFloat(c.stagger);ya={transitionDelay:za,animationDelay:za,transitionDuration:0,animationDuration:0}}else xa=s(R,oa),ya=v(R,na,xa,va);c.$$skipPreparationClasses||d.addClass(a,na);var Aa;if(c.transitionStyle){var Ba=[I,c.transitionStyle];y(R,Ba),da.push(Ba)}if(c.duration>=0){Aa=R.style[I].length>0;var Ca=F(c.duration,Aa);y(R,Ca),da.push(Ca)}if(c.keyframeStyle){var Da=[K,c.keyframeStyle];y(R,Da),da.push(Da)}var Ea=ya?c.staggerIndex>=0?c.staggerIndex:b.count(xa):0,Fa=0===Ea;Fa&&!c.skipBlocking&&w(R,ja);var Ga=D(R,oa,xa),Ha=Ga.maxDelay;X=Math.max(Ha,0),ba=Ga.maxDuration;var Ia={};if(Ia.hasTransitions=Ga.transitionDuration>0,Ia.hasAnimations=Ga.animationDuration>0,Ia.hasTransitionAll=Ia.hasTransitions&&"all"==Ga.transitionProperty,Ia.applyTransitionDuration=ua&&(Ia.hasTransitions&&!Ia.hasTransitionAll||Ia.hasAnimations&&!Ia.hasTransitions),Ia.applyAnimationDuration=c.duration&&Ia.hasAnimations,Ia.applyTransitionDelay=E(c.delay)&&(Ia.applyTransitionDuration||Ia.hasTransitions),Ia.applyAnimationDelay=E(c.delay)&&Ia.hasAnimations,Ia.recalculateTimingStyles=ma.length>0,(Ia.applyTransitionDuration||Ia.applyAnimationDuration)&&(ba=c.duration?parseFloat(c.duration):ba,Ia.applyTransitionDuration&&(Ia.hasTransitions=!0,Ga.transitionDuration=ba,Aa=R.style[I+ea].length>0,da.push(F(ba,Aa))),Ia.applyAnimationDuration&&(Ia.hasAnimations=!0,Ga.animationDuration=ba,da.push(A(ba)))),0===ba&&!Ia.recalculateTimingStyles)return C();if(null!=c.delay){var Ja=parseFloat(c.delay);Ia.applyTransitionDelay&&da.push(B(Ja)),Ia.applyAnimationDelay&&da.push(B(Ja,!0))}return null==c.duration&&Ga.transitionDuration>0&&(Ia.recalculateTimingStyles=Ia.recalculateTimingStyles||Fa),aa=X*ra,ca=ba*ra,c.skipBlocking||(Ia.blockTransition=Ga.transitionDuration>0,Ia.blockKeyframeAnimation=Ga.animationDuration>0&&ya.animationDelay>0&&0===ya.animationDuration),c.from&&(c.cleanupStyles&&H(O,R,Object.keys(c.from)),p(a,c)),Ia.blockTransition||Ia.blockKeyframeAnimation?u(ba):c.skipBlocking||w(R,!1),{$$willAnimate:!0,end:j,start:function(){return S?void 0:(W={end:j,cancel:l,resume:null,pause:null},V=new e(W),z(N),V)}}}}]}],xa=["$$animationProvider",function(a){function b(a){return a.parentNode&&11===a.parentNode.nodeType}a.drivers.push("$$animateCssDriver");var c="ng-animate-shim",d="ng-anchor",e="ng-anchor-out",f="ng-anchor-in";this.$get=["$animateCss","$rootScope","$$AnimateRunner","$rootElement","$sniffer","$$jqLite","$document",function(a,g,h,i,j,k,l){function n(a){return a.replace(/\bng-\S+\b/g,"")}function o(a,b){return R(a)&&(a=a.split(" ")),R(b)&&(b=b.split(" ")),a.filter(function(a){return-1===b.indexOf(a)}).join(" ")}function p(b,g,i){function j(a){var b={},c=t(a).getBoundingClientRect();return P(["width","height","top","left"],function(a){var d=c[a];switch(a){case"top":d+=s.scrollTop;break;case"left":d+=s.scrollLeft}b[a]=Math.floor(d)+"px"}),b}function k(){var b=a(q,{addClass:e,delay:!0,from:j(g)});return b.$$willAnimate?b:null}function l(a){return a.attr("class")||""}function m(){var b=n(l(i)),c=o(b,r),d=o(r,b),g=a(q,{to:j(i),addClass:f+" "+c,removeClass:e+" "+d,delay:!0});return g.$$willAnimate?g:null}function p(){q.remove(),g.removeClass(c),i.removeClass(c)}var q=O(t(g).cloneNode(!0)),r=n(l(q));g.addClass(c),i.addClass(c),q.addClass(d),v.append(q);var u,w=k();if(!w&&(u=m(),!u))return p();var x=w||u;return{start:function(){function a(){c&&c.end()}var b,c=x.start();return c.done(function(){return c=null,!u&&(u=m())?(c=u.start(),c.done(function(){c=null,p(),b.complete()}),c):(p(),void b.complete())}),b=new h({end:a,cancel:a})}}}function q(a,b,c,d){var e=r(a,M),f=r(b,M),g=[];return P(d,function(a){var b=a.out,d=a["in"],e=p(c,b,d);e&&g.push(e)}),e||f||0!==g.length?{start:function(){function a(){P(b,function(a){a.end()})}var b=[];e&&b.push(e.start()),f&&b.push(f.start()),P(g,function(a){b.push(a.start())});var c=new h({end:a,cancel:a});return h.all(b,function(a){c.complete(a)}),c}}:void 0}function r(b){var c=b.element,d=b.options||{};b.structural&&(d.event=b.event,d.structural=!0,d.applyClassesEarly=!0,"leave"===b.event&&(d.onDone=d.domOperation)),d.preparationClasses&&(d.event=z(d.event,d.preparationClasses));var e=a(c,d);return e.$$willAnimate?e:null}if(!j.animations&&!j.transitions)return M;var s=l[0].body,u=t(i),v=O(b(u)||s.contains(u)?u:s);m(k);return function(a){return a.from&&a.to?q(a.from,a.to,a.classes,a.anchors):r(a)}}]}],ya=["$animateProvider",function(a){this.$get=["$injector","$$AnimateRunner","$$jqLite",function(b,c,d){function e(c){c=Q(c)?c:c.split(" ");for(var d=[],e={},f=0;f<c.length;f++){var g=c[f],h=a.$$registeredAnimations[g];h&&!e[g]&&(d.push(b.get(h)),e[g]=!0)}return d}var f=m(d);return function(a,b,d,g){function h(){g.domOperation(),f(a,g)}function i(a,b,d,e,f){var g;switch(d){case"animate":g=[b,e.from,e.to,f];break;case"setClass":g=[b,p,q,f];break;case"addClass":g=[b,p,f];break;case"removeClass":g=[b,q,f];break;default:g=[b,f]}g.push(e);var h=a.apply(a,g);if(h)if(V(h.start)&&(h=h.start()),h instanceof c)h.done(f);else if(V(h))return h;return M}function j(a,b,d,e,f){var g=[];return P(e,function(e){var h=e[f];h&&g.push(function(){var e,f,g=!1,j=function(a){g||(g=!0,(f||M)(a),e.complete(!a))};return e=new c({end:function(){j()},cancel:function(){j(!0)}}),f=i(h,a,b,d,function(a){var b=a===!1;j(b)}),e})}),g}function k(a,b,d,e,f){var g=j(a,b,d,e,f);if(0===g.length){var h,i;"beforeSetClass"===f?(h=j(a,"removeClass",d,e,"beforeRemoveClass"),i=j(a,"addClass",d,e,"beforeAddClass")):"setClass"===f&&(h=j(a,"removeClass",d,e,"removeClass"),i=j(a,"addClass",d,e,"addClass")),h&&(g=g.concat(h)),i&&(g=g.concat(i))}if(0!==g.length)return function(a){var b=[];return g.length&&P(g,function(a){b.push(a())}),b.length?c.all(b,a):a(),function(a){P(b,function(b){a?b.cancel():b.end()})}}}3===arguments.length&&S(d)&&(g=d,d=null),g=n(g),d||(d=a.attr("class")||"",g.addClass&&(d+=" "+g.addClass),g.removeClass&&(d+=" "+g.removeClass));var l,m,p=g.addClass,q=g.removeClass,r=e(d);if(r.length){var s,t;"leave"==b?(t="leave",s="afterLeave"):(t="before"+b.charAt(0).toUpperCase()+b.substr(1),s=b),"enter"!==b&&"move"!==b&&(l=k(a,b,g,r,t)),m=k(a,b,g,r,s)}return l||m?{start:function(){function b(b){i=!0,h(),o(a,g),j.complete(b)}function d(a){i||((e||M)(a),b(a))}var e,f=[];l&&f.push(function(a){e=l(a)}),f.length?f.push(function(a){h(),a(!0)}):h(),m&&f.push(function(a){e=m(a)});var i=!1,j=new c({end:function(){d()},cancel:function(){d(!0)}});return c.chain(f,b),j}}:void 0}}]}],za=["$$animationProvider",function(a){a.drivers.push("$$animateJsDriver"),this.$get=["$$animateJs","$$AnimateRunner",function(a,b){function c(b){var c=b.element,d=b.event,e=b.options,f=b.classes;return a(c,d,f,e)}return function(a){if(a.from&&a.to){var d=c(a.from),e=c(a.to);if(!d&&!e)return;return{start:function(){function a(){return function(){P(f,function(a){a.end()})}}function c(a){g.complete(a)}var f=[];d&&f.push(d.start()),e&&f.push(e.start()),b.all(f,c);var g=new b({end:a(),cancel:a()});return g}}}return c(a)}}]}],Aa="data-ng-animate",Ba="$ngAnimatePin",Ca=["$animateProvider",function(a){function b(a,b,c,d){return g[a].some(function(a){return a(b,c,d)})}function c(a,b){a=a||{};var c=(a.addClass||"").length>0,d=(a.removeClass||"").length>0;return b?c&&d:c||d}var e=1,f=2,g=this.rules={skip:[],cancel:[],join:[]};g.join.push(function(a,b,d){return!b.structural&&c(b.options)}),g.skip.push(function(a,b,d){return!b.structural&&!c(b.options)}),g.skip.push(function(a,b,c){return"leave"==c.event&&b.structural}),g.skip.push(function(a,b,c){return c.structural&&c.state===f&&!b.structural}),g.cancel.push(function(a,b,c){return c.structural&&b.structural}),g.cancel.push(function(a,b,c){return c.state===f&&b.structural}),g.cancel.push(function(a,b,c){var d=b.options,e=c.options;return d.addClass&&d.addClass===e.removeClass||d.removeClass&&d.removeClass===e.addClass}),this.$get=["$$rAF","$rootScope","$rootElement","$document","$$HashMap","$$animation","$$AnimateRunner","$templateRequest","$$jqLite","$$forceReflow",function(g,h,k,l,p,q,s,w,x,y){function z(){var a=!1;return function(b){a?b():h.$$postDigest(function(){a=!0,b()})}}function A(a,b){return r(a,b,{})}function B(a,b,c){var d=t(b),e=t(a),f=[],g=M[c];return g&&P(g,function(a){a.node.contains(d)?f.push(a.callback):"leave"===c&&a.node.contains(e)&&f.push(a.callback)}),f}function C(a,d,j){function k(b,c,d,e){x(function(){var b=B(p,a,c);b.length&&g(function(){P(b,function(b){b(a,d,e)})})}),b.progress(c,d,e)}function l(b){v(a,j),Z(a,j),o(a,j),j.domOperation(),w.complete(!b)}var m,p;a=i(a),a&&(m=t(a),p=a.parent()),j=n(j);var w=new s,x=z();if(Q(j.addClass)&&(j.addClass=j.addClass.join(" ")),j.addClass&&!R(j.addClass)&&(j.addClass=null),Q(j.removeClass)&&(j.removeClass=j.removeClass.join(" ")),j.removeClass&&!R(j.removeClass)&&(j.removeClass=null),j.from&&!S(j.from)&&(j.from=null),j.to&&!S(j.to)&&(j.to=null),!m)return l(),w;var y=[m.className,j.addClass,j.removeClass].join(" ");if(!Y(y))return l(),w;var C=["enter","move","leave"].indexOf(d)>=0,F=!K||J.get(m),L=!F&&I.get(m)||{},M=!!L.state;if(F||M&&L.state==e||(F=!G(a,p,d)),F)return l(),w;C&&D(a);var N={structural:C,element:a,event:d,close:l,options:j,runner:w};if(M){var O=b("skip",a,N,L);if(O)return L.state===f?(l(),w):(r(a,L.options,j),L.runner);var T=b("cancel",a,N,L);if(T)if(L.state===f)L.runner.end();else{if(!L.structural)return r(a,L.options,N.options),L.runner;L.close()}else{var U=b("join",a,N,L);if(U){if(L.state!==f)return u(a,C?d:null,j),d=N.event=L.event,j=r(a,L.options,N.options),L.runner;A(a,j)}}}else A(a,j);var V=N.structural;if(V||(V="animate"===N.event&&Object.keys(N.options.to||{}).length>0||c(N.options)),!V)return l(),E(a),w;var W=(L.counter||0)+1;return N.counter=W,H(a,e,N),h.$$postDigest(function(){var b=I.get(m),e=!b;b=b||{};var g=a.parent()||[],h=g.length>0&&("animate"===b.event||b.structural||c(b.options));if(e||b.counter!==W||!h)return e&&(Z(a,j),o(a,j)),(e||C&&b.event!==d)&&(j.domOperation(),w.end()),void(h||E(a));d=!b.structural&&c(b.options,!0)?"setClass":b.event,H(a,f);var i=q(a,d,b.options);i.done(function(b){l(!b);var c=I.get(m);c&&c.counter===W&&E(t(a)),k(w,d,"close",{})}),w.setHost(i),k(w,d,"start",{})}),w}function D(a){var b=t(a),c=b.querySelectorAll("["+Aa+"]");P(c,function(a){var b=parseInt(a.getAttribute(Aa)),c=I.get(a);switch(b){case f:c.runner.end();case e:c&&I.remove(a)}})}function E(a){var b=t(a);b.removeAttribute(Aa),I.remove(b)}function F(a,b){return t(a)===t(b)}function G(a,b,c){var d,e=O(l[0].body),f=F(a,e)||"HTML"===a[0].nodeName,g=F(a,k),h=!1,i=a.data(Ba);for(i&&(b=i);b&&b.length;){g||(g=F(b,k));var j=b[0];if(j.nodeType!==X)break;var m=I.get(j)||{};if(h||(h=m.structural||J.get(j)),T(d)||d===!0){var n=b.data(ba);U(n)&&(d=n)}if(h&&d===!1)break;g||(g=F(b,k),g||(i=b.data(Ba),i&&(b=i))),f||(f=F(b,e)),b=b.parent()}var o=!h||d;return o&&g&&f}function H(a,b,c){c=c||{},c.state=b;var d=t(a);d.setAttribute(Aa,b);var e=I.get(d),f=e?N(e,c):c;I.put(d,f)}var I=new p,J=new p,K=null,L=h.$watch(function(){return 0===w.totalPendingRequests},function(a){a&&(L(),h.$$postDigest(function(){h.$$postDigest(function(){null===K&&(K=!0)})}))}),M={},V=a.classNameFilter(),Y=V?function(a){return V.test(a)}:function(){return!0},Z=m(x);return{on:function(a,b,c){var d=j(b);M[a]=M[a]||[],M[a].push({node:d,callback:c})},off:function(a,b,c){function d(a,b,c){var d=j(b);return a.filter(function(a){var b=a.node===d&&(!c||a.callback===c);return!b})}var e=M[a];e&&(M[a]=1===arguments.length?null:d(e,b,c))},pin:function(a,b){d(W(a),"element","not an element"),d(W(b),"parentElement","not an element"),a.data(Ba,b)},push:function(a,b,c,d){return c=c||{},c.domOperation=d,C(a,b,c)},enabled:function(a,b){var c=arguments.length;if(0===c)b=!!K;else{var d=W(a);if(d){var e=t(a),f=J.get(e);1===c?b=!f:(b=!!b,b?f&&J.remove(e):J.put(e,!0))}else b=K=!!a}return b}}}]}],Da=["$$rAF",function(a){function b(b){c.push(b),c.length>1||a(function(){for(var a=0;a<c.length;a++)c[a]();c=[]})}var c=[];return function(){var a=!1;return b(function(){a=!0}),function(c){a?c():b(c)}}}],Ea=["$q","$sniffer","$$animateAsyncRun",function(a,b,c){function d(a){this.setHost(a),this._doneCallbacks=[],this._runInAnimationFrame=c(),this._state=0}var e=0,f=1,g=2;return d.chain=function(a,b){function c(){return d===a.length?void b(!0):void a[d](function(a){return a===!1?void b(!1):(d++,void c())})}var d=0;c()},d.all=function(a,b){function c(c){e=e&&c,++d===a.length&&b(e)}var d=0,e=!0;P(a,function(a){a.done(c)})},d.prototype={setHost:function(a){this.host=a||{}},done:function(a){this._state===g?a():this._doneCallbacks.push(a)},progress:M,getPromise:function(){if(!this.promise){var b=this;this.promise=a(function(a,c){b.done(function(b){b===!1?c():a()})})}return this.promise},then:function(a,b){return this.getPromise().then(a,b)},"catch":function(a){return this.getPromise()["catch"](a)},"finally":function(a){return this.getPromise()["finally"](a)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&&this.host.resume()},end:function(){this.host.end&&this.host.end(),this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel(),this._resolve(!1)},complete:function(a){var b=this;b._state===e&&(b._state=f,b._runInAnimationFrame(function(){b._resolve(a)}))},_resolve:function(a){this._state!==g&&(P(this._doneCallbacks,function(b){b(a)}),this._doneCallbacks.length=0,this._state=g)}},d}],Fa=["$animateProvider",function(a){function b(a,b){a.data(h,b)}function c(a){a.removeData(h)}function d(a){return a.data(h)}var f="ng-animate-ref",g=this.drivers=[],h="$$animationRunner";this.$get=["$$jqLite","$rootScope","$injector","$$AnimateRunner","$$HashMap","$$rAFScheduler",function(a,h,i,j,k,l){function p(a){function b(a){if(a.processed)return a;a.processed=!0;var c=a.domNode,d=c.parentNode;f.put(c,a);for(var g;d;){if(g=f.get(d)){g.processed||(g=b(g));break}d=d.parentNode}return(g||e).children.push(a),a}function c(a){var b,c=[],d=[];for(b=0;b<a.children.length;b++)d.push(a.children[b]);var e=d.length,f=0,g=[];for(b=0;b<d.length;b++){var h=d[b];0>=e&&(e=f,f=0,c.push(g),g=[]),g.push(h.fn),h.children.forEach(function(a){f++,d.push(a)}),e--}return g.length&&c.push(g),c}var d,e={children:[]},f=new k;for(d=0;d<a.length;d++){var g=a[d];f.put(g.domNode,a[d]={domNode:g.domNode,fn:g.fn,children:[]})}for(d=0;d<a.length;d++)b(a[d]);return c(e)}var q=[],r=m(a);return function(k,m,s){function u(a){var b="["+f+"]",c=a.hasAttribute(f)?[a]:a.querySelectorAll(b),d=[];return P(c,function(a){var b=a.getAttribute(f);b&&b.length&&d.push(a)}),d}function v(a){var b=[],c={};P(a,function(a,d){var e=a.element,g=t(e),h=a.event,i=["enter","move"].indexOf(h)>=0,j=a.structural?u(g):[];if(j.length){var k=i?"to":"from";P(j,function(a){var b=a.getAttribute(f);c[b]=c[b]||{},c[b][k]={animationID:d,element:O(a)}})}else b.push(a)});var d={},e={};return P(c,function(c,f){var g=c.from,h=c.to;if(!g||!h){var i=g?g.animationID:h.animationID,j=i.toString();return void(d[j]||(d[j]=!0,b.push(a[i])))}var k=a[g.animationID],l=a[h.animationID],m=g.animationID.toString();if(!e[m]){var n=e[m]={structural:!0,beforeStart:function(){k.beforeStart(),l.beforeStart()},close:function(){k.close(),l.close()},classes:w(k.classes,l.classes),from:k,to:l,anchors:[]};n.classes.length?b.push(n):(b.push(k),b.push(l))}e[m].anchors.push({out:g.element,"in":h.element})}),b}function w(a,b){a=a.split(" "),b=b.split(" ");for(var c=[],d=0;d<a.length;d++){var e=a[d];if("ng-"!==e.substring(0,3))for(var f=0;f<b.length;f++)if(e===b[f]){c.push(e);break}}return c.join(" ")}function x(a){for(var b=g.length-1;b>=0;b--){var c=g[b];if(i.has(c)){var d=i.get(c),e=d(a);if(e)return e}}}function y(){k.addClass(aa),F&&a.addClass(k,F)}function z(a,b){function c(a){d(a).setHost(b)}a.from&&a.to?(c(a.from.element),c(a.to.element)):c(a.element)}function A(){var a=d(k);!a||"leave"===m&&s.$$domOperationFired||a.end()}function B(b){k.off("$destroy",A),c(k),r(k,s),o(k,s),s.domOperation(),F&&a.removeClass(k,F),k.removeClass(aa),D.complete(!b)}s=n(s);var C=["enter","move","leave"].indexOf(m)>=0,D=new j({end:function(){B()},cancel:function(){B(!0)}});if(!g.length)return B(),D;b(k,D);var E=e(k.attr("class"),e(s.addClass,s.removeClass)),F=s.tempClasses;return F&&(E+=" "+F,s.tempClasses=null),q.push({element:k,classes:E,event:m,structural:C,options:s,beforeStart:y,close:B}),k.on("$destroy",A),q.length>1?D:(h.$$postDigest(function(){var a=[];P(q,function(b){d(b.element)?a.push(b):b.close()}),q.length=0;var b=v(a),c=[];P(b,function(a){c.push({domNode:t(a.from?a.from.element:a.element),fn:function(){a.beforeStart();var b,c=a.close,e=a.anchors?a.from.element||a.to.element:a.element;if(d(e)){var f=x(a);f&&(b=f.start)}if(b){var g=b();g.done(function(a){c(!a)}),z(a,g)}else c()}})}),l(p(c))}),D)}}]}];b.module("ngAnimate",[]).directive("ngAnimateChildren",pa).factory("$$rAFScheduler",oa).factory("$$AnimateRunner",Ea).factory("$$animateAsyncRun",Da).provider("$$animateQueue",Ca).provider("$$animation",Fa).provider("$animateCss",wa).provider("$$animateCssDriver",xa).provider("$$animateJs",ya).provider("$$animateJsDriver",za)}(window,window.angular),angular.module("colorpicker.module",[]).factory("Helper",function(){"use strict";return{closestSlider:function(a){var b=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.msMatchesSelector;return b.bind(a)("I")?a.parentNode:a},getOffset:function(a,b){for(var c=0,d=0,e=a.getBoundingClientRect();a&&!isNaN(a.offsetLeft)&&!isNaN(a.offsetTop);)b||"BODY"!==a.tagName?(c+=a.scrollLeft,d+=a.scrollTop):(c+=document.documentElement.scrollLeft||a.scrollLeft,d+=document.documentElement.scrollTop||a.scrollTop),a=a.offsetParent;return{top:e.top+window.pageYOffset,left:e.left+window.pageXOffset,scrollX:c,scrollY:d}},stringParsers:[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,parse:function(a){return[a[1],a[2],a[3],a[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,parse:function(a){return[2.55*a[1],2.55*a[2],2.55*a[3],a[4]]}},{re:/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,parse:function(a){return[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]}},{re:/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/,parse:function(a){return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)]}}]}}).factory("Color",["Helper",function(a){"use strict";return{value:{h:1,s:1,b:1,a:1},rgb:function(){var a=this.toRGB();return"rgb("+a.r+","+a.g+","+a.b+")"},rgba:function(){var a=this.toRGB();return"rgba("+a.r+","+a.g+","+a.b+","+a.a+")"},hex:function(){return this.toHex()},RGBtoHSB:function(a,b,c,d){a/=255,b/=255,c/=255;var e,f,g,h;return g=Math.max(a,b,c),h=g-Math.min(a,b,c),e=0===h?null:g===a?(b-c)/h:g===b?(c-a)/h+2:(a-b)/h+4,e=(e+360)%6*60/360,f=0===h?0:h/g,{h:e||1,s:f,b:g,a:d||1}},setColor:function(b){b=b.toLowerCase();for(var c in a.stringParsers)if(a.stringParsers.hasOwnProperty(c)){var d=a.stringParsers[c],e=d.re.exec(b),f=e&&d.parse(e);if(f)return this.value=this.RGBtoHSB.apply(null,f),!1}},setHue:function(a){this.value.h=1-a},setSaturation:function(a){this.value.s=a},setLightness:function(a){this.value.b=1-a},setAlpha:function(a){this.value.a=parseInt(100*(1-a),10)/100},toRGB:function(a,b,c,d){a||(a=this.value.h,b=this.value.s,c=this.value.b),a*=360;var e,f,g,h,i;return a=a%360/60,i=c*b,h=i*(1-Math.abs(a%2-1)),e=f=g=c-i,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a],{r:Math.round(255*e),g:Math.round(255*f),b:Math.round(255*g),a:d||this.value.a}},toHex:function(a,b,c,d){var e=this.toRGB(a,b,c,d);return"#"+(1<<24|parseInt(e.r,10)<<16|parseInt(e.g,10)<<8|parseInt(e.b,10)).toString(16).substr(1)}}}]).factory("Slider",["Helper",function(a){"use strict";var b={maxLeft:0,maxTop:0,callLeft:null,callTop:null,knob:{top:0,left:0}},c={};return{getSlider:function(){return b},getLeftPosition:function(a){return Math.max(0,Math.min(b.maxLeft,b.left+((a.pageX||c.left)-c.left)))},getTopPosition:function(a){return Math.max(0,Math.min(b.maxTop,b.top+((a.pageY||c.top)-c.top)))},setSlider:function(d,e){var f=a.closestSlider(d.target),g=a.getOffset(f,e),h=f.getBoundingClientRect(),i=d.clientX-h.left,j=d.clientY-h.top;b.knob=f.children[0].style,b.left=d.pageX-g.left-window.pageXOffset+g.scrollX,b.top=d.pageY-g.top-window.pageYOffset+g.scrollY,c={left:d.pageX-(i-b.left),top:d.pageY-(j-b.top)}},setSaturation:function(a,c){b={maxLeft:100,maxTop:100,callLeft:"setSaturation",callTop:"setLightness"},this.setSlider(a,c)},setHue:function(a,c){b={maxLeft:0,maxTop:100,callLeft:!1,callTop:"setHue"},this.setSlider(a,c)},setAlpha:function(a,c){b={maxLeft:0,maxTop:100,callLeft:!1,callTop:"setAlpha"},this.setSlider(a,c)},setKnob:function(a,c){b.knob.top=a+"px",b.knob.left=c+"px"}}}]).directive("colorpicker",["$document","$compile","Color","Slider","Helper",function(a,b,c,d,e){"use strict";return{require:"?ngModel",restrict:"A",link:function(f,g,h,i){var j,k=h.colorpicker?h.colorpicker:"hex",l=angular.isDefined(h.colorpickerPosition)?h.colorpickerPosition:"bottom",m=angular.isDefined(h.colorpickerInline)?h.colorpickerInline:!1,n=angular.isDefined(h.colorpickerFixedPosition)?h.colorpickerFixedPosition:!1,o=angular.isDefined(h.colorpickerParent)?g.parent():angular.element(document.body),p=angular.isDefined(h.colorpickerWithInput)?h.colorpickerWithInput:!1,q=p?'<input type="text" name="colorpicker-input" spellcheck="false">':"",r=m?"":'<button type="button" class="close close-colorpicker">&times;</button>',s='<div class="colorpicker dropdown"><div class="dropdown-menu"><colorpicker-saturation><i></i></colorpicker-saturation><colorpicker-hue><i></i></colorpicker-hue><colorpicker-alpha><i></i></colorpicker-alpha><colorpicker-preview></colorpicker-preview>'+q+r+"</div></div>",t=angular.element(s),u=c,v=t.find("colorpicker-hue"),w=t.find("colorpicker-saturation"),x=t.find("colorpicker-preview"),y=t.find("i");
-if(b(t)(f),p){var z=t.find("input");z.on("mousedown",function(a){a.stopPropagation()}).on("keyup",function(){var a=this.value;g.val(a),i&&i.$modelValue!==a&&(f.$apply(i.$setViewValue(a)),E(!0))})}var A=function(){a.on("mousemove",C),a.on("mouseup",D)};"rgba"===k&&(t.addClass("alpha"),j=t.find("colorpicker-alpha"),j.on("click",function(a){d.setAlpha(a,n),C(a)}).on("mousedown",function(a){d.setAlpha(a,n),A()}).on("mouseup",function(a){I("colorpicker-selected-alpha")})),v.on("click",function(a){d.setHue(a,n),C(a)}).on("mousedown",function(a){d.setHue(a,n),A()}).on("mouseup",function(a){I("colorpicker-selected-hue")}),w.on("click",function(a){d.setSaturation(a,n),C(a),angular.isDefined(h.colorpickerCloseOnSelect)&&J()}).on("mousedown",function(a){d.setSaturation(a,n),A()}).on("mouseup",function(a){I("colorpicker-selected-saturation")}),n&&t.addClass("colorpicker-fixed-position"),t.addClass("colorpicker-position-"+l),"true"===m&&t.addClass("colorpicker-inline"),o.append(t),i&&(i.$render=function(){g.val(i.$viewValue)}),g.on("blur keyup change",function(){E()}),g.on("$destroy",function(){t.remove()});var B=function(){try{x.css("backgroundColor",u[k]())}catch(a){x.css("backgroundColor",u.toHex())}w.css("backgroundColor",u.toHex(u.value.h,1,1,1)),"rgba"===k&&(j.css.backgroundColor=u.toHex())},C=function(a){var b=d.getLeftPosition(a),c=d.getTopPosition(a),e=d.getSlider();d.setKnob(c,b),e.callLeft&&u[e.callLeft].call(u,b/100),e.callTop&&u[e.callTop].call(u,c/100),B();var h=u[k]();return g.val(h),i&&f.$apply(i.$setViewValue(h)),p&&z.val(h),!1},D=function(){I("colorpicker-selected"),a.off("mousemove",C),a.off("mouseup",D)},E=function(a){u.setColor(g.val()),p&&!a&&z.val(g.val()),y.eq(0).css({left:100*u.value.s+"px",top:100-100*u.value.b+"px"}),y.eq(1).css("top",100*(1-u.value.h)+"px"),y.eq(2).css("top",100*(1-u.value.a)+"px"),B()},F=function(){var a,b=e.getOffset(g[0]);return angular.isDefined(h.colorpickerParent)&&(b.left=0,b.top=0),"top"===l?a={top:b.top-147,left:b.left}:"right"===l?a={top:b.top,left:b.left+126}:"bottom"===l?a={top:b.top+g[0].offsetHeight+2,left:b.left}:"left"===l&&(a={top:b.top,left:b.left-150}),{top:a.top+"px",left:a.left+"px"}},G=function(){J()},H=function(){t.hasClass("colorpicker-visible")||(E(),t.addClass("colorpicker-visible").css(F()),I("colorpicker-shown"),m===!1&&a.on("mousedown",G),h.colorpickerIsOpen&&(f[h.colorpickerIsOpen]=!0,f.$$phase||f.$digest()))};m===!1?g.on("click",H):H(),t.on("mousedown",function(a){a.stopPropagation(),a.preventDefault()});var I=function(a){i&&f.$emit(a,{name:h.ngModel,value:i.$modelValue})},J=function(){t.hasClass("colorpicker-visible")&&(t.removeClass("colorpicker-visible"),I("colorpicker-closed"),a.off("mousedown",G),h.colorpickerIsOpen&&(f[h.colorpickerIsOpen]=!1,f.$$phase||f.$digest()))};t.find("button").on("click",function(){J()}),h.colorpickerIsOpen&&f.$watch(h.colorpickerIsOpen,function(a){a===!0?H():a===!1&&J()})}}}]),angular.module("ui.bootstrap.contextMenu",[]).directive("contextMenu",["$parse",function(a){var b=function(a,b,c,d){if(!e)var e=angular.element;e(b.currentTarget).addClass("context");var f=e("<div>");f.addClass("dropdown clearfix");var g=e("<ul>");g.addClass("dropdown-menu"),g.attr({role:"menu"}),g.css({display:"block",position:"absolute",left:b.pageX+"px",top:b.pageY+"px"}),angular.forEach(c,function(c,h){var i=e("<li>");if(null===c)i.addClass("divider");else{var j=e("<a>");j.attr({tabindex:"-1",href:"#"});var k="string"==typeof c[0]?c[0]:c[0].call(a,a,b,d);j.text(k),i.append(j);var l=angular.isDefined(c[2])?c[2].call(a,a,b,k,d):!0;l?i.on("click",function(g){g.preventDefault(),a.$apply(function(){e(b.currentTarget).removeClass("context"),f.remove(),c[1].call(a,a,b,d)})}):(i.on("click",function(a){a.preventDefault()}),i.addClass("disabled"))}g.append(i)}),f.append(g);var h=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight);f.css({width:"100%",height:h+"px",position:"absolute",top:0,left:0,zIndex:9999}),e(document).find("body").append(f),f.on("mousedown",function(a){e(a.target).hasClass("dropdown")&&(e(b.currentTarget).removeClass("context"),f.remove())}).on("contextmenu",function(a){e(a.currentTarget).removeClass("context"),a.preventDefault(),f.remove()})};return function(a,c,d){c.on("contextmenu",function(c){c.stopPropagation(),a.$apply(function(){c.preventDefault();var e=a.$eval(d.contextMenu),f=a.$eval(d.model);if(!(e instanceof Array))throw'"'+d.contextMenu+'" not an array';0!==e.length&&b(a,c,e,f)})})}}]),function(){var a=[].slice;!function(b,c){"use strict";var d;return d=function(){function a(a,c){null==c&&(c={}),this.$element=b(a),this.options=b.extend({},b.fn.bootstrapSwitch.defaults,{state:this.$element.is(":checked"),size:this.$element.data("size"),animate:this.$element.data("animate"),disabled:this.$element.is(":disabled"),readonly:this.$element.is("[readonly]"),indeterminate:this.$element.data("indeterminate"),inverse:this.$element.data("inverse"),radioAllOff:this.$element.data("radio-all-off"),onColor:this.$element.data("on-color"),offColor:this.$element.data("off-color"),onText:this.$element.data("on-text"),offText:this.$element.data("off-text"),labelText:this.$element.data("label-text"),handleWidth:this.$element.data("handle-width"),labelWidth:this.$element.data("label-width"),baseClass:this.$element.data("base-class"),wrapperClass:this.$element.data("wrapper-class")},c),this.$wrapper=b("<div>",{"class":function(a){return function(){var b;return b=[""+a.options.baseClass].concat(a._getClasses(a.options.wrapperClass)),b.push(a.options.state?""+a.options.baseClass+"-on":""+a.options.baseClass+"-off"),null!=a.options.size&&b.push(""+a.options.baseClass+"-"+a.options.size),a.options.disabled&&b.push(""+a.options.baseClass+"-disabled"),a.options.readonly&&b.push(""+a.options.baseClass+"-readonly"),a.options.indeterminate&&b.push(""+a.options.baseClass+"-indeterminate"),a.options.inverse&&b.push(""+a.options.baseClass+"-inverse"),a.$element.attr("id")&&b.push(""+a.options.baseClass+"-id-"+a.$element.attr("id")),b.join(" ")}}(this)()}),this.$container=b("<div>",{"class":""+this.options.baseClass+"-container"}),this.$on=b("<span>",{html:this.options.onText,"class":""+this.options.baseClass+"-handle-on "+this.options.baseClass+"-"+this.options.onColor}),this.$off=b("<span>",{html:this.options.offText,"class":""+this.options.baseClass+"-handle-off "+this.options.baseClass+"-"+this.options.offColor}),this.$label=b("<span>",{html:this.options.labelText,"class":""+this.options.baseClass+"-label"}),this.$element.on("init.bootstrapSwitch",function(b){return function(){return b.options.onInit.apply(a,arguments)}}(this)),this.$element.on("switchChange.bootstrapSwitch",function(b){return function(){return b.options.onSwitchChange.apply(a,arguments)}}(this)),this.$container=this.$element.wrap(this.$container).parent(),this.$wrapper=this.$container.wrap(this.$wrapper).parent(),this.$element.before(this.options.inverse?this.$off:this.$on).before(this.$label).before(this.options.inverse?this.$on:this.$off),this.options.indeterminate&&this.$element.prop("indeterminate",!0),this._init(),this._elementHandlers(),this._handleHandlers(),this._labelHandlers(),this._formHandler(),this._externalLabelHandler(),this.$element.trigger("init.bootstrapSwitch")}return a.prototype._constructor=a,a.prototype.state=function(a,b){return"undefined"==typeof a?this.options.state:this.options.disabled||this.options.readonly?this.$element:this.options.state&&!this.options.radioAllOff&&this.$element.is(":radio")?this.$element:(this.options.indeterminate&&this.indeterminate(!1),a=!!a,this.$element.prop("checked",a).trigger("change.bootstrapSwitch",b),this.$element)},a.prototype.toggleState=function(a){return this.options.disabled||this.options.readonly?this.$element:this.options.indeterminate?(this.indeterminate(!1),this.state(!0)):this.$element.prop("checked",!this.options.state).trigger("change.bootstrapSwitch",a)},a.prototype.size=function(a){return"undefined"==typeof a?this.options.size:(null!=this.options.size&&this.$wrapper.removeClass(""+this.options.baseClass+"-"+this.options.size),a&&this.$wrapper.addClass(""+this.options.baseClass+"-"+a),this._width(),this._containerPosition(),this.options.size=a,this.$element)},a.prototype.animate=function(a){return"undefined"==typeof a?this.options.animate:(a=!!a,a===this.options.animate?this.$element:this.toggleAnimate())},a.prototype.toggleAnimate=function(){return this.options.animate=!this.options.animate,this.$wrapper.toggleClass(""+this.options.baseClass+"-animate"),this.$element},a.prototype.disabled=function(a){return"undefined"==typeof a?this.options.disabled:(a=!!a,a===this.options.disabled?this.$element:this.toggleDisabled())},a.prototype.toggleDisabled=function(){return this.options.disabled=!this.options.disabled,this.$element.prop("disabled",this.options.disabled),this.$wrapper.toggleClass(""+this.options.baseClass+"-disabled"),this.$element},a.prototype.readonly=function(a){return"undefined"==typeof a?this.options.readonly:(a=!!a,a===this.options.readonly?this.$element:this.toggleReadonly())},a.prototype.toggleReadonly=function(){return this.options.readonly=!this.options.readonly,this.$element.prop("readonly",this.options.readonly),this.$wrapper.toggleClass(""+this.options.baseClass+"-readonly"),this.$element},a.prototype.indeterminate=function(a){return"undefined"==typeof a?this.options.indeterminate:(a=!!a,a===this.options.indeterminate?this.$element:this.toggleIndeterminate())},a.prototype.toggleIndeterminate=function(){return this.options.indeterminate=!this.options.indeterminate,this.$element.prop("indeterminate",this.options.indeterminate),this.$wrapper.toggleClass(""+this.options.baseClass+"-indeterminate"),this._containerPosition(),this.$element},a.prototype.inverse=function(a){return"undefined"==typeof a?this.options.inverse:(a=!!a,a===this.options.inverse?this.$element:this.toggleInverse())},a.prototype.toggleInverse=function(){var a,b;return this.$wrapper.toggleClass(""+this.options.baseClass+"-inverse"),b=this.$on.clone(!0),a=this.$off.clone(!0),this.$on.replaceWith(a),this.$off.replaceWith(b),this.$on=a,this.$off=b,this.options.inverse=!this.options.inverse,this.$element},a.prototype.onColor=function(a){var b;return b=this.options.onColor,"undefined"==typeof a?b:(null!=b&&this.$on.removeClass(""+this.options.baseClass+"-"+b),this.$on.addClass(""+this.options.baseClass+"-"+a),this.options.onColor=a,this.$element)},a.prototype.offColor=function(a){var b;return b=this.options.offColor,"undefined"==typeof a?b:(null!=b&&this.$off.removeClass(""+this.options.baseClass+"-"+b),this.$off.addClass(""+this.options.baseClass+"-"+a),this.options.offColor=a,this.$element)},a.prototype.onText=function(a){return"undefined"==typeof a?this.options.onText:(this.$on.html(a),this._width(),this._containerPosition(),this.options.onText=a,this.$element)},a.prototype.offText=function(a){return"undefined"==typeof a?this.options.offText:(this.$off.html(a),this._width(),this._containerPosition(),this.options.offText=a,this.$element)},a.prototype.labelText=function(a){return"undefined"==typeof a?this.options.labelText:(this.$label.html(a),this._width(),this.options.labelText=a,this.$element)},a.prototype.handleWidth=function(a){return"undefined"==typeof a?this.options.handleWidth:(this.options.handleWidth=a,this._width(),this._containerPosition(),this.$element)},a.prototype.labelWidth=function(a){return"undefined"==typeof a?this.options.labelWidth:(this.options.labelWidth=a,this._width(),this._containerPosition(),this.$element)},a.prototype.baseClass=function(a){return this.options.baseClass},a.prototype.wrapperClass=function(a){return"undefined"==typeof a?this.options.wrapperClass:(a||(a=b.fn.bootstrapSwitch.defaults.wrapperClass),this.$wrapper.removeClass(this._getClasses(this.options.wrapperClass).join(" ")),this.$wrapper.addClass(this._getClasses(a).join(" ")),this.options.wrapperClass=a,this.$element)},a.prototype.radioAllOff=function(a){return"undefined"==typeof a?this.options.radioAllOff:(a=!!a,a===this.options.radioAllOff?this.$element:(this.options.radioAllOff=a,this.$element))},a.prototype.onInit=function(a){return"undefined"==typeof a?this.options.onInit:(a||(a=b.fn.bootstrapSwitch.defaults.onInit),this.options.onInit=a,this.$element)},a.prototype.onSwitchChange=function(a){return"undefined"==typeof a?this.options.onSwitchChange:(a||(a=b.fn.bootstrapSwitch.defaults.onSwitchChange),this.options.onSwitchChange=a,this.$element)},a.prototype.destroy=function(){var a;return a=this.$element.closest("form"),a.length&&a.off("reset.bootstrapSwitch").removeData("bootstrap-switch"),this.$container.children().not(this.$element).remove(),this.$element.unwrap().unwrap().off(".bootstrapSwitch").removeData("bootstrap-switch"),this.$element},a.prototype._width=function(){var a,b;return a=this.$on.add(this.$off),a.add(this.$label).css("width",""),b="auto"===this.options.handleWidth?Math.max(this.$on.width(),this.$off.width()):this.options.handleWidth,a.width(b),this.$label.width(function(a){return function(c,d){return"auto"!==a.options.labelWidth?a.options.labelWidth:b>d?b:d}}(this)),this._handleWidth=this.$on.outerWidth(),this._labelWidth=this.$label.outerWidth(),this.$container.width(2*this._handleWidth+this._labelWidth),this.$wrapper.width(this._handleWidth+this._labelWidth)},a.prototype._containerPosition=function(a,b){return null==a&&(a=this.options.state),this.$container.css("margin-left",function(b){return function(){var c;return c=[0,"-"+b._handleWidth+"px"],b.options.indeterminate?"-"+b._handleWidth/2+"px":a?b.options.inverse?c[1]:c[0]:b.options.inverse?c[0]:c[1]}}(this)),b?setTimeout(function(){return b()},50):void 0},a.prototype._init=function(){var a,b;return a=function(a){return function(){return a._width(),a._containerPosition(null,function(){return a.options.animate?a.$wrapper.addClass(""+a.options.baseClass+"-animate"):void 0})}}(this),this.$wrapper.is(":visible")?a():b=c.setInterval(function(d){return function(){return d.$wrapper.is(":visible")?(a(),c.clearInterval(b)):void 0}}(this),50)},a.prototype._elementHandlers=function(){return this.$element.on({"change.bootstrapSwitch":function(a){return function(c,d){var e;return c.preventDefault(),c.stopImmediatePropagation(),e=a.$element.is(":checked"),a._containerPosition(e),e!==a.options.state?(a.options.state=e,a.$wrapper.toggleClass(""+a.options.baseClass+"-off").toggleClass(""+a.options.baseClass+"-on"),d?void 0:(a.$element.is(":radio")&&b("[name='"+a.$element.attr("name")+"']").not(a.$element).prop("checked",!1).trigger("change.bootstrapSwitch",!0),a.$element.trigger("switchChange.bootstrapSwitch",[e]))):void 0}}(this),"focus.bootstrapSwitch":function(a){return function(b){return b.preventDefault(),a.$wrapper.addClass(""+a.options.baseClass+"-focused")}}(this),"blur.bootstrapSwitch":function(a){return function(b){return b.preventDefault(),a.$wrapper.removeClass(""+a.options.baseClass+"-focused")}}(this),"keydown.bootstrapSwitch":function(a){return function(b){if(b.which&&!a.options.disabled&&!a.options.readonly)switch(b.which){case 37:return b.preventDefault(),b.stopImmediatePropagation(),a.state(!1);case 39:return b.preventDefault(),b.stopImmediatePropagation(),a.state(!0)}}}(this)})},a.prototype._handleHandlers=function(){return this.$on.on("click.bootstrapSwitch",function(a){return function(b){return b.preventDefault(),b.stopPropagation(),a.state(!1),a.$element.trigger("focus.bootstrapSwitch")}}(this)),this.$off.on("click.bootstrapSwitch",function(a){return function(b){return b.preventDefault(),b.stopPropagation(),a.state(!0),a.$element.trigger("focus.bootstrapSwitch")}}(this))},a.prototype._labelHandlers=function(){return this.$label.on({"mousedown.bootstrapSwitch touchstart.bootstrapSwitch":function(a){return function(b){return a._dragStart||a.options.disabled||a.options.readonly?void 0:(b.preventDefault(),b.stopPropagation(),a._dragStart=(b.pageX||b.originalEvent.touches[0].pageX)-parseInt(a.$container.css("margin-left"),10),a.options.animate&&a.$wrapper.removeClass(""+a.options.baseClass+"-animate"),a.$element.trigger("focus.bootstrapSwitch"))}}(this),"mousemove.bootstrapSwitch touchmove.bootstrapSwitch":function(a){return function(b){var c;if(null!=a._dragStart&&(b.preventDefault(),c=(b.pageX||b.originalEvent.touches[0].pageX)-a._dragStart,!(c<-a._handleWidth||c>0)))return a._dragEnd=c,a.$container.css("margin-left",""+a._dragEnd+"px")}}(this),"mouseup.bootstrapSwitch touchend.bootstrapSwitch":function(a){return function(b){var c;if(a._dragStart)return b.preventDefault(),a.options.animate&&a.$wrapper.addClass(""+a.options.baseClass+"-animate"),a._dragEnd?(c=a._dragEnd>-(a._handleWidth/2),a._dragEnd=!1,a.state(a.options.inverse?!c:c)):a.state(!a.options.state),a._dragStart=!1}}(this),"mouseleave.bootstrapSwitch":function(a){return function(b){return a.$label.trigger("mouseup.bootstrapSwitch")}}(this)})},a.prototype._externalLabelHandler=function(){var a;return a=this.$element.closest("label"),a.on("click",function(b){return function(c){return c.preventDefault(),c.stopImmediatePropagation(),c.target===a[0]?b.toggleState():void 0}}(this))},a.prototype._formHandler=function(){var a;return a=this.$element.closest("form"),a.data("bootstrap-switch")?void 0:a.on("reset.bootstrapSwitch",function(){return c.setTimeout(function(){return a.find("input").filter(function(){return b(this).data("bootstrap-switch")}).each(function(){return b(this).bootstrapSwitch("state",this.checked)})},1)}).data("bootstrap-switch",!0)},a.prototype._getClasses=function(a){var c,d,e,f;if(!b.isArray(a))return[""+this.options.baseClass+"-"+a];for(d=[],e=0,f=a.length;f>e;e++)c=a[e],d.push(""+this.options.baseClass+"-"+c);return d},a}(),b.fn.bootstrapSwitch=function(){var c,e,f;return e=arguments[0],c=2<=arguments.length?a.call(arguments,1):[],f=this,this.each(function(){var a,g;return a=b(this),g=a.data("bootstrap-switch"),g||a.data("bootstrap-switch",g=new d(this,e)),"string"==typeof e?f=g[e].apply(g,c):void 0}),f},b.fn.bootstrapSwitch.Constructor=d,b.fn.bootstrapSwitch.defaults={state:!0,size:null,animate:!0,disabled:!1,readonly:!1,indeterminate:!1,inverse:!1,radioAllOff:!1,onColor:"primary",offColor:"default",onText:"ON",offText:"OFF",labelText:"&nbsp;",handleWidth:"auto",labelWidth:"auto",baseClass:"bootstrap-switch",wrapperClass:"wrapper",onInit:function(){},onSwitchChange:function(){}}}(window.jQuery,window)}.call(this),function(){"use strict";angular.module("frapontillo.bootstrap-switch",[]),angular.module("frapontillo.bootstrap-switch").directive("bsSwitch",["$parse","$timeout",function(a,b){return{restrict:"A",require:"ngModel",link:function(c,d,e,f){var g=!1,h=function(){if("radio"===e.type)return e.value||a(e.ngValue)(c)||!0;var b=a(e.ngTrueValue)(c);return angular.isUndefined(b)&&(b=!0),b},i=function(a){return c.$eval(a)===!0},j=function(a){return a===!0||"true"===a||!a},k=function(a){return a?a:void 0},l=function(a){var b={switchRadioOff:j,switchActive:function(a){return!j(a)},switchAnimate:j,switchLabel:function(a){return a?a:"&nbsp;"},switchIcon:function(a){return a?"<span class='"+a+"'></span>":void 0},switchWrapper:function(a){return a||"wrapper"},switchInverse:i,switchReadonly:i},c=b[a]||k;return c(e[a])},m=function(a,b,c){if(g){var d=l(c);a.bootstrapSwitch(b,d)}},n=function(){m(d,"disabled","switchActive")},o=function(){if(!g){var a=f.$modelValue===h();g=!g,d.bootstrapSwitch({radioAllOff:l("switchRadioOff"),disabled:l("switchActive"),state:a,onText:l("switchOnText"),offText:l("switchOffText"),onColor:l("switchOnColor"),offColor:l("switchOffColor"),animate:l("switchAnimate"),size:l("switchSize"),labelText:l(e.switchLabel?"switchLabel":"switchIcon"),wrapperClass:l("switchWrapper"),handleWidth:l("switchHandleWidth"),labelWidth:l("switchLabelWidth"),inverse:l("switchInverse"),readonly:l("switchReadonly")}),"radio"===e.type?f.$setViewValue(f.$modelValue):f.$setViewValue(a)}},p=function(){function a(){return f.$modelValue}e.$observe("switchActive",function(a){var c=j(a);c?n(c):b(function(){n(c)})}),c.$watch(a,function(a){o(),void 0!==a?d.bootstrapSwitch("state",a===h(),!1):d.bootstrapSwitch("toggleIndeterminate",!0,!1)},!0);var g={switchRadioOff:"radioAllOff",switchOnText:"onText",switchOffText:"offText",switchOnColor:"onColor",switchOffColor:"offColor",switchAnimate:"animate",switchSize:"size",switchLabel:"labelText",switchIcon:"labelText",switchWrapper:"wrapperClass",switchHandleWidth:"handleWidth",switchLabelWidth:"labelWidth",switchInverse:"inverse",switchReadonly:"readonly"},i=function(a,b){return function(){e.$observe(a,function(){m(d,b[a],a)})}};for(var k in g)e.$observe(k,i(k,g))},q=function(){"radio"===e.type?d.on("change.bootstrapSwitch",function(a){f.$modelValue===f.$viewValue&&a.target.checked!==$(a.target).bootstrapSwitch("state")&&(a.target.checked?f.$setViewValue(h()):h()===f.$viewValue&&f.$setViewValue(void 0))}):d.on("switchChange.bootstrapSwitch",function(a){f.$setViewValue(a.target.checked)})};q(),p(),c.$on("$destroy",function(){d.bootstrapSwitch("destroy")})}}}]).directive("bsSwitch",function(){return{restrict:"E",require:"ngModel",template:"<input bs-switch>",replace:!0}})}(),function(){"use strict";var a=this,b=a.Chart,c=function(a){this.canvas=a.canvas,this.ctx=a;var b=function(a,b){return a["offset"+b]?a["offset"+b]:document.defaultView.getComputedStyle(a).getPropertyValue(b)},c=this.width=b(a.canvas,"Width"),e=this.height=b(a.canvas,"Height");a.canvas.width=c,a.canvas.height=e;var c=this.width=a.canvas.width,e=this.height=a.canvas.height;return this.aspectRatio=this.width/this.height,d.retinaScale(this),this};c.defaults={global:{animation:!0,animationSteps:60,animationEasing:"easeOutQuart",showScale:!0,scaleOverride:!1,scaleSteps:null,scaleStepWidth:null,scaleStartValue:null,scaleLineColor:"rgba(0,0,0,.1)",scaleLineWidth:1,scaleShowLabels:!0,scaleLabel:"<%=value%>",scaleIntegersOnly:!0,scaleBeginAtZero:!1,scaleFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",scaleFontSize:12,scaleFontStyle:"normal",scaleFontColor:"#666",responsive:!1,maintainAspectRatio:!0,showTooltips:!0,customTooltips:!1,tooltipEvents:["mousemove","touchstart","touchmove","mouseout"],tooltipFillColor:"rgba(0,0,0,0.8)",tooltipFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",tooltipFontSize:14,tooltipFontStyle:"normal",tooltipFontColor:"#fff",tooltipTitleFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",tooltipTitleFontSize:14,tooltipTitleFontStyle:"bold",tooltipTitleFontColor:"#fff",tooltipYPadding:6,tooltipXPadding:6,tooltipCaretSize:8,tooltipCornerRadius:6,tooltipXOffset:10,tooltipTemplate:"<%if (label){%><%=label%>: <%}%><%= value %>",multiTooltipTemplate:"<%= value %>",multiTooltipKeyBackground:"#fff",onAnimationProgress:function(){},onAnimationComplete:function(){}}},c.types={};var d=c.helpers={},e=d.each=function(a,b,c){var d=Array.prototype.slice.call(arguments,3);if(a)if(a.length===+a.length){var e;for(e=0;e<a.length;e++)b.apply(c,[a[e],e].concat(d))}else for(var f in a)b.apply(c,[a[f],f].concat(d))},f=d.clone=function(a){var b={};return e(a,function(c,d){a.hasOwnProperty(d)&&(b[d]=c)}),b},g=d.extend=function(a){return e(Array.prototype.slice.call(arguments,1),function(b){e(b,function(c,d){b.hasOwnProperty(d)&&(a[d]=c)})}),a},h=d.merge=function(a,b){var c=Array.prototype.slice.call(arguments,0);return c.unshift({}),g.apply(null,c)},i=d.indexOf=function(a,b){if(Array.prototype.indexOf)return a.indexOf(b);for(var c=0;c<a.length;c++)if(a[c]===b)return c;return-1},j=(d.where=function(a,b){var c=[];return d.each(a,function(a){b(a)&&c.push(a)}),c},d.findNextWhere=function(a,b,c){c||(c=-1);for(var d=c+1;d<a.length;d++){var e=a[d];if(b(e))return e}},d.findPreviousWhere=function(a,b,c){c||(c=a.length);for(var d=c-1;d>=0;d--){var e=a[d];if(b(e))return e}},d.inherits=function(a){var b=this,c=a&&a.hasOwnProperty("constructor")?a.constructor:function(){return b.apply(this,arguments)},d=function(){this.constructor=c};return d.prototype=b.prototype,c.prototype=new d,c.extend=j,a&&g(c.prototype,a),c.__super__=b.prototype,c}),k=d.noop=function(){},l=d.uid=function(){var a=0;return function(){return"chart-"+a++}}(),m=d.warn=function(a){window.console&&"function"==typeof window.console.warn&&console.warn(a)},n=d.amd="function"==typeof define&&define.amd,o=d.isNumber=function(a){return!isNaN(parseFloat(a))&&isFinite(a)},p=d.max=function(a){return Math.max.apply(Math,a)},q=d.min=function(a){return Math.min.apply(Math,a)},r=(d.cap=function(a,b,c){if(o(b)){if(a>b)return b}else if(o(c)&&c>a)return c;return a},d.getDecimalPlaces=function(a){return a%1!==0&&o(a)?a.toString().split(".")[1].length:0}),s=d.radians=function(a){return a*(Math.PI/180)},t=(d.getAngleFromPoint=function(a,b){var c=b.x-a.x,d=b.y-a.y,e=Math.sqrt(c*c+d*d),f=2*Math.PI+Math.atan2(d,c);return 0>c&&0>d&&(f+=2*Math.PI),{angle:f,distance:e}},d.aliasPixel=function(a){return a%2===0?0:.5}),u=(d.splineCurve=function(a,b,c,d){var e=Math.sqrt(Math.pow(b.x-a.x,2)+Math.pow(b.y-a.y,2)),f=Math.sqrt(Math.pow(c.x-b.x,2)+Math.pow(c.y-b.y,2)),g=d*e/(e+f),h=d*f/(e+f);return{inner:{x:b.x-g*(c.x-a.x),y:b.y-g*(c.y-a.y)},outer:{x:b.x+h*(c.x-a.x),y:b.y+h*(c.y-a.y)}}},d.calculateOrderOfMagnitude=function(a){return Math.floor(Math.log(a)/Math.LN10)}),v=(d.calculateScaleRange=function(a,b,c,d,e){var f=2,g=Math.floor(b/(1.5*c)),h=f>=g,i=p(a),j=q(a);i===j&&(i+=.5,j>=.5&&!d?j-=.5:i+=.5);for(var k=Math.abs(i-j),l=u(k),m=Math.ceil(i/(1*Math.pow(10,l)))*Math.pow(10,l),n=d?0:Math.floor(j/(1*Math.pow(10,l)))*Math.pow(10,l),o=m-n,r=Math.pow(10,l),s=Math.round(o/r);(s>g||g>2*s)&&!h;)if(s>g)r*=2,s=Math.round(o/r),s%1!==0&&(h=!0);else if(e&&l>=0){if(r/2%1!==0)break;r/=2,s=Math.round(o/r)}else r/=2,s=Math.round(o/r);return h&&(s=f,r=o/s),{steps:s,stepValue:r,min:n,max:n+s*r}},d.template=function(a,b){function c(a,b){var c=/\W/.test(a)?new Function("obj","var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('"+a.replace(/[\r\t\n]/g," ").split("<%").join("  ").replace(/((^|%>)[^\t]*)'/g,"$1\r").replace(/\t=(.*?)%>/g,"',$1,'").split("   ").join("');").split("%>").join("p.push('").split("\r").join("\\'")+"');}return p.join('');"):d[a]=d[a];return b?c(b):c}if(a instanceof Function)return a(b);var d={};return c(a,b)}),w=(d.generateLabels=function(a,b,c,d){var f=new Array(b);return labelTemplateString&&e(f,function(b,e){f[e]=v(a,{value:c+d*(e+1)})}),f},d.easingEffects={linear:function(a){return a},easeInQuad:function(a){return a*a},easeOutQuad:function(a){return-1*a*(a-2)},easeInOutQuad:function(a){return(a/=.5)<1?.5*a*a:-0.5*(--a*(a-2)-1)},easeInCubic:function(a){return a*a*a},easeOutCubic:function(a){return 1*((a=a/1-1)*a*a+1)},easeInOutCubic:function(a){return(a/=.5)<1?.5*a*a*a:.5*((a-=2)*a*a+2)},easeInQuart:function(a){return a*a*a*a},easeOutQuart:function(a){return-1*((a=a/1-1)*a*a*a-1)},easeInOutQuart:function(a){return(a/=.5)<1?.5*a*a*a*a:-0.5*((a-=2)*a*a*a-2)},easeInQuint:function(a){return 1*(a/=1)*a*a*a*a},easeOutQuint:function(a){return 1*((a=a/1-1)*a*a*a*a+1)},easeInOutQuint:function(a){return(a/=.5)<1?.5*a*a*a*a*a:.5*((a-=2)*a*a*a*a+2)},easeInSine:function(a){return-1*Math.cos(a/1*(Math.PI/2))+1},easeOutSine:function(a){return 1*Math.sin(a/1*(Math.PI/2))},easeInOutSine:function(a){return-0.5*(Math.cos(Math.PI*a/1)-1)},easeInExpo:function(a){return 0===a?1:1*Math.pow(2,10*(a/1-1))},easeOutExpo:function(a){return 1===a?1:1*(-Math.pow(2,-10*a/1)+1)},easeInOutExpo:function(a){return 0===a?0:1===a?1:(a/=.5)<1?.5*Math.pow(2,10*(a-1)):.5*(-Math.pow(2,-10*--a)+2)},easeInCirc:function(a){return a>=1?a:-1*(Math.sqrt(1-(a/=1)*a)-1)},easeOutCirc:function(a){return 1*Math.sqrt(1-(a=a/1-1)*a)},easeInOutCirc:function(a){return(a/=.5)<1?-0.5*(Math.sqrt(1-a*a)-1):.5*(Math.sqrt(1-(a-=2)*a)+1)},easeInElastic:function(a){var b=1.70158,c=0,d=1;return 0===a?0:1==(a/=1)?1:(c||(c=.3),d<Math.abs(1)?(d=1,b=c/4):b=c/(2*Math.PI)*Math.asin(1/d),-(d*Math.pow(2,10*(a-=1))*Math.sin((1*a-b)*(2*Math.PI)/c)))},easeOutElastic:function(a){var b=1.70158,c=0,d=1;return 0===a?0:1==(a/=1)?1:(c||(c=.3),d<Math.abs(1)?(d=1,b=c/4):b=c/(2*Math.PI)*Math.asin(1/d),d*Math.pow(2,-10*a)*Math.sin((1*a-b)*(2*Math.PI)/c)+1)},easeInOutElastic:function(a){var b=1.70158,c=0,d=1;return 0===a?0:2==(a/=.5)?1:(c||(c=1*(.3*1.5)),d<Math.abs(1)?(d=1,b=c/4):b=c/(2*Math.PI)*Math.asin(1/d),1>a?-.5*(d*Math.pow(2,10*(a-=1))*Math.sin((1*a-b)*(2*Math.PI)/c)):d*Math.pow(2,-10*(a-=1))*Math.sin((1*a-b)*(2*Math.PI)/c)*.5+1)},easeInBack:function(a){var b=1.70158;return 1*(a/=1)*a*((b+1)*a-b)},easeOutBack:function(a){var b=1.70158;return 1*((a=a/1-1)*a*((b+1)*a+b)+1)},easeInOutBack:function(a){var b=1.70158;return(a/=.5)<1?.5*(a*a*(((b*=1.525)+1)*a-b)):.5*((a-=2)*a*(((b*=1.525)+1)*a+b)+2)},easeInBounce:function(a){return 1-w.easeOutBounce(1-a)},easeOutBounce:function(a){return(a/=1)<1/2.75?1*(7.5625*a*a):2/2.75>a?1*(7.5625*(a-=1.5/2.75)*a+.75):2.5/2.75>a?1*(7.5625*(a-=2.25/2.75)*a+.9375):1*(7.5625*(a-=2.625/2.75)*a+.984375)},easeInOutBounce:function(a){return.5>a?.5*w.easeInBounce(2*a):.5*w.easeOutBounce(2*a-1)+.5}}),x=d.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){return window.setTimeout(a,1e3/60)}}(),y=d.cancelAnimFrame=function(){return window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.oCancelAnimationFrame||window.msCancelAnimationFrame||function(a){return window.clearTimeout(a,1e3/60)}}(),z=(d.animationLoop=function(a,b,c,d,e,f){var g=0,h=w[c]||w.linear,i=function(){g++;var c=g/b,j=h(c);a.call(f,j,c,g),d.call(f,j,c),b>g?f.animationFrame=x(i):e.apply(f)};x(i)},d.getRelativePosition=function(a){var b,c,d=a.originalEvent||a,e=a.currentTarget||a.srcElement,f=e.getBoundingClientRect();return d.touches?(b=d.touches[0].clientX-f.left,c=d.touches[0].clientY-f.top):(b=d.clientX-f.left,c=d.clientY-f.top),{x:b,y:c}},d.addEvent=function(a,b,c){a.addEventListener?a.addEventListener(b,c):a.attachEvent?a.attachEvent("on"+b,c):a["on"+b]=c}),A=d.removeEvent=function(a,b,c){a.removeEventListener?a.removeEventListener(b,c,!1):a.detachEvent?a.detachEvent("on"+b,c):a["on"+b]=k},B=(d.bindEvents=function(a,b,c){a.events||(a.events={}),e(b,function(b){a.events[b]=function(){c.apply(a,arguments)},z(a.chart.canvas,b,a.events[b])})},d.unbindEvents=function(a,b){e(b,function(b,c){A(a.chart.canvas,c,b)})}),C=d.getMaximumWidth=function(a){var b=a.parentNode;return b.clientWidth},D=d.getMaximumHeight=function(a){var b=a.parentNode;return b.clientHeight},E=(d.getMaximumSize=d.getMaximumWidth,d.retinaScale=function(a){var b=a.ctx,c=a.canvas.width,d=a.canvas.height;window.devicePixelRatio&&(b.canvas.style.width=c+"px",b.canvas.style.height=d+"px",b.canvas.height=d*window.devicePixelRatio,b.canvas.width=c*window.devicePixelRatio,b.scale(window.devicePixelRatio,window.devicePixelRatio))}),F=d.clear=function(a){a.ctx.clearRect(0,0,a.width,a.height)},G=d.fontString=function(a,b,c){return b+" "+a+"px "+c},H=d.longestText=function(a,b,c){a.font=b;var d=0;return e(c,function(b){var c=a.measureText(b).width;d=c>d?c:d}),d},I=d.drawRoundedRectangle=function(a,b,c,d,e,f){a.beginPath(),a.moveTo(b+f,c),a.lineTo(b+d-f,c),a.quadraticCurveTo(b+d,c,b+d,c+f),a.lineTo(b+d,c+e-f),a.quadraticCurveTo(b+d,c+e,b+d-f,c+e),a.lineTo(b+f,c+e),a.quadraticCurveTo(b,c+e,b,c+e-f),a.lineTo(b,c+f),a.quadraticCurveTo(b,c,b+f,c),a.closePath()};c.instances={},c.Type=function(a,b,d){this.options=b,this.chart=d,this.id=l(),c.instances[this.id]=this,b.responsive&&this.resize(),this.initialize.call(this,a)},g(c.Type.prototype,{initialize:function(){return this},clear:function(){return F(this.chart),this},stop:function(){return y(this.animationFrame),this},resize:function(a){this.stop();var b=this.chart.canvas,c=C(this.chart.canvas),d=this.options.maintainAspectRatio?c/this.chart.aspectRatio:D(this.chart.canvas);
-return b.width=this.chart.width=c,b.height=this.chart.height=d,E(this.chart),"function"==typeof a&&a.apply(this,Array.prototype.slice.call(arguments,1)),this},reflow:k,render:function(a){return a&&this.reflow(),this.options.animation&&!a?d.animationLoop(this.draw,this.options.animationSteps,this.options.animationEasing,this.options.onAnimationProgress,this.options.onAnimationComplete,this):(this.draw(),this.options.onAnimationComplete.call(this)),this},generateLegend:function(){return v(this.options.legendTemplate,this)},destroy:function(){this.clear(),B(this,this.events);var a=this.chart.canvas;a.width=this.chart.width,a.height=this.chart.height,a.style.removeProperty?(a.style.removeProperty("width"),a.style.removeProperty("height")):(a.style.removeAttribute("width"),a.style.removeAttribute("height")),delete c.instances[this.id]},showTooltip:function(a,b){"undefined"==typeof this.activeElements&&(this.activeElements=[]);var f=function(a){var b=!1;return a.length!==this.activeElements.length?b=!0:(e(a,function(a,c){a!==this.activeElements[c]&&(b=!0)},this),b)}.call(this,a);if(f||b){if(this.activeElements=a,this.draw(),this.options.customTooltips&&this.options.customTooltips(!1),a.length>0)if(this.datasets&&this.datasets.length>1){for(var g,h,j=this.datasets.length-1;j>=0&&(g=this.datasets[j].points||this.datasets[j].bars||this.datasets[j].segments,h=i(g,a[0]),-1===h);j--);var k=[],l=[],m=function(a){var b,c,e,f,g,i=[],j=[],m=[];return d.each(this.datasets,function(a){b=a.points||a.bars||a.segments,b[h]&&b[h].hasValue()&&i.push(b[h])}),d.each(i,function(a){j.push(a.x),m.push(a.y),k.push(d.template(this.options.multiTooltipTemplate,a)),l.push({fill:a._saved.fillColor||a.fillColor,stroke:a._saved.strokeColor||a.strokeColor})},this),g=q(m),e=p(m),f=q(j),c=p(j),{x:f>this.chart.width/2?f:c,y:(g+e)/2}}.call(this,h);new c.MultiTooltip({x:m.x,y:m.y,xPadding:this.options.tooltipXPadding,yPadding:this.options.tooltipYPadding,xOffset:this.options.tooltipXOffset,fillColor:this.options.tooltipFillColor,textColor:this.options.tooltipFontColor,fontFamily:this.options.tooltipFontFamily,fontStyle:this.options.tooltipFontStyle,fontSize:this.options.tooltipFontSize,titleTextColor:this.options.tooltipTitleFontColor,titleFontFamily:this.options.tooltipTitleFontFamily,titleFontStyle:this.options.tooltipTitleFontStyle,titleFontSize:this.options.tooltipTitleFontSize,cornerRadius:this.options.tooltipCornerRadius,labels:k,legendColors:l,legendColorBackground:this.options.multiTooltipKeyBackground,title:a[0].label,chart:this.chart,ctx:this.chart.ctx,custom:this.options.customTooltips}).draw()}else e(a,function(a){var b=a.tooltipPosition();new c.Tooltip({x:Math.round(b.x),y:Math.round(b.y),xPadding:this.options.tooltipXPadding,yPadding:this.options.tooltipYPadding,fillColor:this.options.tooltipFillColor,textColor:this.options.tooltipFontColor,fontFamily:this.options.tooltipFontFamily,fontStyle:this.options.tooltipFontStyle,fontSize:this.options.tooltipFontSize,caretHeight:this.options.tooltipCaretSize,cornerRadius:this.options.tooltipCornerRadius,text:v(this.options.tooltipTemplate,a),chart:this.chart,custom:this.options.customTooltips}).draw()},this);return this}},toBase64Image:function(){return this.chart.canvas.toDataURL.apply(this.chart.canvas,arguments)}}),c.Type.extend=function(a){var b=this,d=function(){return b.apply(this,arguments)};if(d.prototype=f(b.prototype),g(d.prototype,a),d.extend=c.Type.extend,a.name||b.prototype.name){var e=a.name||b.prototype.name,i=c.defaults[b.prototype.name]?f(c.defaults[b.prototype.name]):{};c.defaults[e]=g(i,a.defaults),c.types[e]=d,c.prototype[e]=function(a,b){var f=h(c.defaults.global,c.defaults[e],b||{});return new d(a,f,this)}}else m("Name not provided for this chart, so it hasn't been registered");return b},c.Element=function(a){g(this,a),this.initialize.apply(this,arguments),this.save()},g(c.Element.prototype,{initialize:function(){},restore:function(a){return a?e(a,function(a){this[a]=this._saved[a]},this):g(this,this._saved),this},save:function(){return this._saved=f(this),delete this._saved._saved,this},update:function(a){return e(a,function(a,b){this._saved[b]=this[b],this[b]=a},this),this},transition:function(a,b){return e(a,function(a,c){this[c]=(a-this._saved[c])*b+this._saved[c]},this),this},tooltipPosition:function(){return{x:this.x,y:this.y}},hasValue:function(){return o(this.value)}}),c.Element.extend=j,c.Point=c.Element.extend({display:!0,inRange:function(a,b){var c=this.hitDetectionRadius+this.radius;return Math.pow(a-this.x,2)+Math.pow(b-this.y,2)<Math.pow(c,2)},draw:function(){if(this.display){var a=this.ctx;a.beginPath(),a.arc(this.x,this.y,this.radius,0,2*Math.PI),a.closePath(),a.strokeStyle=this.strokeColor,a.lineWidth=this.strokeWidth,a.fillStyle=this.fillColor,a.fill(),a.stroke()}}}),c.Arc=c.Element.extend({inRange:function(a,b){var c=d.getAngleFromPoint(this,{x:a,y:b}),e=c.angle>=this.startAngle&&c.angle<=this.endAngle,f=c.distance>=this.innerRadius&&c.distance<=this.outerRadius;return e&&f},tooltipPosition:function(){var a=this.startAngle+(this.endAngle-this.startAngle)/2,b=(this.outerRadius-this.innerRadius)/2+this.innerRadius;return{x:this.x+Math.cos(a)*b,y:this.y+Math.sin(a)*b}},draw:function(a){var b=this.ctx;b.beginPath(),b.arc(this.x,this.y,this.outerRadius,this.startAngle,this.endAngle),b.arc(this.x,this.y,this.innerRadius,this.endAngle,this.startAngle,!0),b.closePath(),b.strokeStyle=this.strokeColor,b.lineWidth=this.strokeWidth,b.fillStyle=this.fillColor,b.fill(),b.lineJoin="bevel",this.showStroke&&b.stroke()}}),c.Rectangle=c.Element.extend({draw:function(){var a=this.ctx,b=this.width/2,c=this.x-b,d=this.x+b,e=this.base-(this.base-this.y),f=this.strokeWidth/2;this.showStroke&&(c+=f,d-=f,e+=f),a.beginPath(),a.fillStyle=this.fillColor,a.strokeStyle=this.strokeColor,a.lineWidth=this.strokeWidth,a.moveTo(c,this.base),a.lineTo(c,e),a.lineTo(d,e),a.lineTo(d,this.base),a.fill(),this.showStroke&&a.stroke()},height:function(){return this.base-this.y},inRange:function(a,b){return a>=this.x-this.width/2&&a<=this.x+this.width/2&&b>=this.y&&b<=this.base}}),c.Tooltip=c.Element.extend({draw:function(){var a=this.chart.ctx;a.font=G(this.fontSize,this.fontStyle,this.fontFamily),this.xAlign="center",this.yAlign="above";var b=this.caretPadding=2,c=a.measureText(this.text).width+2*this.xPadding,d=this.fontSize+2*this.yPadding,e=d+this.caretHeight+b;this.x+c/2>this.chart.width?this.xAlign="left":this.x-c/2<0&&(this.xAlign="right"),this.y-e<0&&(this.yAlign="below");var f=this.x-c/2,g=this.y-e;if(a.fillStyle=this.fillColor,this.custom)this.custom(this);else{switch(this.yAlign){case"above":a.beginPath(),a.moveTo(this.x,this.y-b),a.lineTo(this.x+this.caretHeight,this.y-(b+this.caretHeight)),a.lineTo(this.x-this.caretHeight,this.y-(b+this.caretHeight)),a.closePath(),a.fill();break;case"below":g=this.y+b+this.caretHeight,a.beginPath(),a.moveTo(this.x,this.y+b),a.lineTo(this.x+this.caretHeight,this.y+b+this.caretHeight),a.lineTo(this.x-this.caretHeight,this.y+b+this.caretHeight),a.closePath(),a.fill()}switch(this.xAlign){case"left":f=this.x-c+(this.cornerRadius+this.caretHeight);break;case"right":f=this.x-(this.cornerRadius+this.caretHeight)}I(a,f,g,c,d,this.cornerRadius),a.fill(),a.fillStyle=this.textColor,a.textAlign="center",a.textBaseline="middle",a.fillText(this.text,f+c/2,g+d/2)}}}),c.MultiTooltip=c.Element.extend({initialize:function(){this.font=G(this.fontSize,this.fontStyle,this.fontFamily),this.titleFont=G(this.titleFontSize,this.titleFontStyle,this.titleFontFamily),this.height=this.labels.length*this.fontSize+(this.labels.length-1)*(this.fontSize/2)+2*this.yPadding+1.5*this.titleFontSize,this.ctx.font=this.titleFont;var a=this.ctx.measureText(this.title).width,b=H(this.ctx,this.font,this.labels)+this.fontSize+3,c=p([b,a]);this.width=c+2*this.xPadding;var d=this.height/2;this.y-d<0?this.y=d:this.y+d>this.chart.height&&(this.y=this.chart.height-d),this.x>this.chart.width/2?this.x-=this.xOffset+this.width:this.x+=this.xOffset},getLineHeight:function(a){var b=this.y-this.height/2+this.yPadding,c=a-1;return 0===a?b+this.titleFontSize/2:b+(1.5*this.fontSize*c+this.fontSize/2)+1.5*this.titleFontSize},draw:function(){if(this.custom)this.custom(this);else{I(this.ctx,this.x,this.y-this.height/2,this.width,this.height,this.cornerRadius);var a=this.ctx;a.fillStyle=this.fillColor,a.fill(),a.closePath(),a.textAlign="left",a.textBaseline="middle",a.fillStyle=this.titleTextColor,a.font=this.titleFont,a.fillText(this.title,this.x+this.xPadding,this.getLineHeight(0)),a.font=this.font,d.each(this.labels,function(b,c){a.fillStyle=this.textColor,a.fillText(b,this.x+this.xPadding+this.fontSize+3,this.getLineHeight(c+1)),a.fillStyle=this.legendColorBackground,a.fillRect(this.x+this.xPadding,this.getLineHeight(c+1)-this.fontSize/2,this.fontSize,this.fontSize),a.fillStyle=this.legendColors[c].fill,a.fillRect(this.x+this.xPadding,this.getLineHeight(c+1)-this.fontSize/2,this.fontSize,this.fontSize)},this)}}}),c.Scale=c.Element.extend({initialize:function(){this.fit()},buildYLabels:function(){this.yLabels=[];for(var a=r(this.stepValue),b=0;b<=this.steps;b++)this.yLabels.push(v(this.templateString,{value:(this.min+b*this.stepValue).toFixed(a)}));this.yLabelWidth=this.display&&this.showLabels?H(this.ctx,this.font,this.yLabels):0},addXLabel:function(a){this.xLabels.push(a),this.valuesCount++,this.fit()},removeXLabel:function(){this.xLabels.shift(),this.valuesCount--,this.fit()},fit:function(){this.startPoint=this.display?this.fontSize:0,this.endPoint=this.display?this.height-1.5*this.fontSize-5:this.height,this.startPoint+=this.padding,this.endPoint-=this.padding;var a,b=this.endPoint-this.startPoint;for(this.calculateYRange(b),this.buildYLabels(),this.calculateXLabelRotation();b>this.endPoint-this.startPoint;)b=this.endPoint-this.startPoint,a=this.yLabelWidth,this.calculateYRange(b),this.buildYLabels(),a<this.yLabelWidth&&this.calculateXLabelRotation()},calculateXLabelRotation:function(){this.ctx.font=this.font;var a,b,c=this.ctx.measureText(this.xLabels[0]).width,d=this.ctx.measureText(this.xLabels[this.xLabels.length-1]).width;if(this.xScalePaddingRight=d/2+3,this.xScalePaddingLeft=c/2>this.yLabelWidth+10?c/2:this.yLabelWidth+10,this.xLabelRotation=0,this.display){var e,f=H(this.ctx,this.font,this.xLabels);this.xLabelWidth=f;for(var g=Math.floor(this.calculateX(1)-this.calculateX(0))-6;this.xLabelWidth>g&&0===this.xLabelRotation||this.xLabelWidth>g&&this.xLabelRotation<=90&&this.xLabelRotation>0;)e=Math.cos(s(this.xLabelRotation)),a=e*c,b=e*d,a+this.fontSize/2>this.yLabelWidth+8&&(this.xScalePaddingLeft=a+this.fontSize/2),this.xScalePaddingRight=this.fontSize/2,this.xLabelRotation++,this.xLabelWidth=e*f;this.xLabelRotation>0&&(this.endPoint-=Math.sin(s(this.xLabelRotation))*f+3)}else this.xLabelWidth=0,this.xScalePaddingRight=this.padding,this.xScalePaddingLeft=this.padding},calculateYRange:k,drawingArea:function(){return this.startPoint-this.endPoint},calculateY:function(a){var b=this.drawingArea()/(this.min-this.max);return this.endPoint-b*(a-this.min)},calculateX:function(a){var b=(this.xLabelRotation>0,this.width-(this.xScalePaddingLeft+this.xScalePaddingRight)),c=b/Math.max(this.valuesCount-(this.offsetGridLines?0:1),1),d=c*a+this.xScalePaddingLeft;return this.offsetGridLines&&(d+=c/2),Math.round(d)},update:function(a){d.extend(this,a),this.fit()},draw:function(){var a=this.ctx,b=(this.endPoint-this.startPoint)/this.steps,c=Math.round(this.xScalePaddingLeft);this.display&&(a.fillStyle=this.textColor,a.font=this.font,e(this.yLabels,function(e,f){var g=this.endPoint-b*f,h=Math.round(g),i=this.showHorizontalLines;a.textAlign="right",a.textBaseline="middle",this.showLabels&&a.fillText(e,c-10,g),0!==f||i||(i=!0),i&&a.beginPath(),f>0?(a.lineWidth=this.gridLineWidth,a.strokeStyle=this.gridLineColor):(a.lineWidth=this.lineWidth,a.strokeStyle=this.lineColor),h+=d.aliasPixel(a.lineWidth),i&&(a.moveTo(c,h),a.lineTo(this.width,h),a.stroke(),a.closePath()),a.lineWidth=this.lineWidth,a.strokeStyle=this.lineColor,a.beginPath(),a.moveTo(c-5,h),a.lineTo(c,h),a.stroke(),a.closePath()},this),e(this.xLabels,function(b,c){var d=this.calculateX(c)+t(this.lineWidth),e=this.calculateX(c-(this.offsetGridLines?.5:0))+t(this.lineWidth),f=this.xLabelRotation>0,g=this.showVerticalLines;0!==c||g||(g=!0),g&&a.beginPath(),c>0?(a.lineWidth=this.gridLineWidth,a.strokeStyle=this.gridLineColor):(a.lineWidth=this.lineWidth,a.strokeStyle=this.lineColor),g&&(a.moveTo(e,this.endPoint),a.lineTo(e,this.startPoint-3),a.stroke(),a.closePath()),a.lineWidth=this.lineWidth,a.strokeStyle=this.lineColor,a.beginPath(),a.moveTo(e,this.endPoint),a.lineTo(e,this.endPoint+5),a.stroke(),a.closePath(),a.save(),a.translate(d,f?this.endPoint+12:this.endPoint+8),a.rotate(-1*s(this.xLabelRotation)),a.font=this.font,a.textAlign=f?"right":"center",a.textBaseline=f?"middle":"top",a.fillText(b,0,0),a.restore()},this))}}),c.RadialScale=c.Element.extend({initialize:function(){this.size=q([this.height,this.width]),this.drawingArea=this.display?this.size/2-(this.fontSize/2+this.backdropPaddingY):this.size/2},calculateCenterOffset:function(a){var b=this.drawingArea/(this.max-this.min);return(a-this.min)*b},update:function(){this.lineArc?this.drawingArea=this.display?this.size/2-(this.fontSize/2+this.backdropPaddingY):this.size/2:this.setScaleSize(),this.buildYLabels()},buildYLabels:function(){this.yLabels=[];for(var a=r(this.stepValue),b=0;b<=this.steps;b++)this.yLabels.push(v(this.templateString,{value:(this.min+b*this.stepValue).toFixed(a)}))},getCircumference:function(){return 2*Math.PI/this.valuesCount},setScaleSize:function(){var a,b,c,d,e,f,g,h,i,j,k,l,m=q([this.height/2-this.pointLabelFontSize-5,this.width/2]),n=this.width,p=0;for(this.ctx.font=G(this.pointLabelFontSize,this.pointLabelFontStyle,this.pointLabelFontFamily),b=0;b<this.valuesCount;b++)a=this.getPointPosition(b,m),c=this.ctx.measureText(v(this.templateString,{value:this.labels[b]})).width+5,0===b||b===this.valuesCount/2?(d=c/2,a.x+d>n&&(n=a.x+d,e=b),a.x-d<p&&(p=a.x-d,g=b)):b<this.valuesCount/2?a.x+c>n&&(n=a.x+c,e=b):b>this.valuesCount/2&&a.x-c<p&&(p=a.x-c,g=b);i=p,j=Math.ceil(n-this.width),f=this.getIndexAngle(e),h=this.getIndexAngle(g),k=j/Math.sin(f+Math.PI/2),l=i/Math.sin(h+Math.PI/2),k=o(k)?k:0,l=o(l)?l:0,this.drawingArea=m-(l+k)/2,this.setCenterPoint(l,k)},setCenterPoint:function(a,b){var c=this.width-b-this.drawingArea,d=a+this.drawingArea;this.xCenter=(d+c)/2,this.yCenter=this.height/2},getIndexAngle:function(a){var b=2*Math.PI/this.valuesCount;return a*b-Math.PI/2},getPointPosition:function(a,b){var c=this.getIndexAngle(a);return{x:Math.cos(c)*b+this.xCenter,y:Math.sin(c)*b+this.yCenter}},draw:function(){if(this.display){var a=this.ctx;if(e(this.yLabels,function(b,c){if(c>0){var d,e=c*(this.drawingArea/this.steps),f=this.yCenter-e;if(this.lineWidth>0)if(a.strokeStyle=this.lineColor,a.lineWidth=this.lineWidth,this.lineArc)a.beginPath(),a.arc(this.xCenter,this.yCenter,e,0,2*Math.PI),a.closePath(),a.stroke();else{a.beginPath();for(var g=0;g<this.valuesCount;g++)d=this.getPointPosition(g,this.calculateCenterOffset(this.min+c*this.stepValue)),0===g?a.moveTo(d.x,d.y):a.lineTo(d.x,d.y);a.closePath(),a.stroke()}if(this.showLabels){if(a.font=G(this.fontSize,this.fontStyle,this.fontFamily),this.showLabelBackdrop){var h=a.measureText(b).width;a.fillStyle=this.backdropColor,a.fillRect(this.xCenter-h/2-this.backdropPaddingX,f-this.fontSize/2-this.backdropPaddingY,h+2*this.backdropPaddingX,this.fontSize+2*this.backdropPaddingY)}a.textAlign="center",a.textBaseline="middle",a.fillStyle=this.fontColor,a.fillText(b,this.xCenter,f)}}},this),!this.lineArc){a.lineWidth=this.angleLineWidth,a.strokeStyle=this.angleLineColor;for(var b=this.valuesCount-1;b>=0;b--){if(this.angleLineWidth>0){var c=this.getPointPosition(b,this.calculateCenterOffset(this.max));a.beginPath(),a.moveTo(this.xCenter,this.yCenter),a.lineTo(c.x,c.y),a.stroke(),a.closePath()}var d=this.getPointPosition(b,this.calculateCenterOffset(this.max)+5);a.font=G(this.pointLabelFontSize,this.pointLabelFontStyle,this.pointLabelFontFamily),a.fillStyle=this.pointLabelFontColor;var f=this.labels.length,g=this.labels.length/2,h=g/2,i=h>b||b>f-h,j=b===h||b===f-h;0===b?a.textAlign="center":b===g?a.textAlign="center":g>b?a.textAlign="left":a.textAlign="right",j?a.textBaseline="middle":i?a.textBaseline="bottom":a.textBaseline="top",a.fillText(this.labels[b],d.x,d.y)}}}}}),d.addEvent(window,"resize",function(){var a;return function(){clearTimeout(a),a=setTimeout(function(){e(c.instances,function(a){a.options.responsive&&a.resize(a.render,!0)})},50)}}()),n?define(function(){return c}):"object"==typeof module&&module.exports&&(module.exports=c),a.Chart=c,c.noConflict=function(){return a.Chart=b,c}}.call(this),function(){"use strict";var a=this,b=a.Chart,c=b.helpers,d={scaleBeginAtZero:!0,scaleShowGridLines:!0,scaleGridLineColor:"rgba(0,0,0,.05)",scaleGridLineWidth:1,scaleShowHorizontalLines:!0,scaleShowVerticalLines:!0,barShowStroke:!0,barStrokeWidth:2,barValueSpacing:5,barDatasetSpacing:1,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span style="background-color:<%=datasets[i].fillColor%>"></span><%if(datasets[i].label){%><%=datasets[i].label%><%}%></li><%}%></ul>'};b.Type.extend({name:"Bar",defaults:d,initialize:function(a){var d=this.options;this.ScaleClass=b.Scale.extend({offsetGridLines:!0,calculateBarX:function(a,b,c){var e=this.calculateBaseWidth(),f=this.calculateX(c)-e/2,g=this.calculateBarWidth(a);return f+g*b+b*d.barDatasetSpacing+g/2},calculateBaseWidth:function(){return this.calculateX(1)-this.calculateX(0)-2*d.barValueSpacing},calculateBarWidth:function(a){var b=this.calculateBaseWidth()-(a-1)*d.barDatasetSpacing;return b/a}}),this.datasets=[],this.options.showTooltips&&c.bindEvents(this,this.options.tooltipEvents,function(a){var b="mouseout"!==a.type?this.getBarsAtEvent(a):[];this.eachBars(function(a){a.restore(["fillColor","strokeColor"])}),c.each(b,function(a){a.fillColor=a.highlightFill,a.strokeColor=a.highlightStroke}),this.showTooltip(b)}),this.BarClass=b.Rectangle.extend({strokeWidth:this.options.barStrokeWidth,showStroke:this.options.barShowStroke,ctx:this.chart.ctx}),c.each(a.datasets,function(b,d){var e={label:b.label||null,fillColor:b.fillColor,strokeColor:b.strokeColor,bars:[]};this.datasets.push(e),c.each(b.data,function(c,d){e.bars.push(new this.BarClass({value:c,label:a.labels[d],datasetLabel:b.label,strokeColor:b.strokeColor,fillColor:b.fillColor,highlightFill:b.highlightFill||b.fillColor,highlightStroke:b.highlightStroke||b.strokeColor}))},this)},this),this.buildScale(a.labels),this.BarClass.prototype.base=this.scale.endPoint,this.eachBars(function(a,b,d){c.extend(a,{width:this.scale.calculateBarWidth(this.datasets.length),x:this.scale.calculateBarX(this.datasets.length,d,b),y:this.scale.endPoint}),a.save()},this),this.render()},update:function(){this.scale.update(),c.each(this.activeElements,function(a){a.restore(["fillColor","strokeColor"])}),this.eachBars(function(a){a.save()}),this.render()},eachBars:function(a){c.each(this.datasets,function(b,d){c.each(b.bars,a,this,d)},this)},getBarsAtEvent:function(a){for(var b,d=[],e=c.getRelativePosition(a),f=function(a){d.push(a.bars[b])},g=0;g<this.datasets.length;g++)for(b=0;b<this.datasets[g].bars.length;b++)if(this.datasets[g].bars[b].inRange(e.x,e.y))return c.each(this.datasets,f),d;return d},buildScale:function(a){var b=this,d=function(){var a=[];return b.eachBars(function(b){a.push(b.value)}),a},e={templateString:this.options.scaleLabel,height:this.chart.height,width:this.chart.width,ctx:this.chart.ctx,textColor:this.options.scaleFontColor,fontSize:this.options.scaleFontSize,fontStyle:this.options.scaleFontStyle,fontFamily:this.options.scaleFontFamily,valuesCount:a.length,beginAtZero:this.options.scaleBeginAtZero,integersOnly:this.options.scaleIntegersOnly,calculateYRange:function(a){var b=c.calculateScaleRange(d(),a,this.fontSize,this.beginAtZero,this.integersOnly);c.extend(this,b)},xLabels:a,font:c.fontString(this.options.scaleFontSize,this.options.scaleFontStyle,this.options.scaleFontFamily),lineWidth:this.options.scaleLineWidth,lineColor:this.options.scaleLineColor,showHorizontalLines:this.options.scaleShowHorizontalLines,showVerticalLines:this.options.scaleShowVerticalLines,gridLineWidth:this.options.scaleShowGridLines?this.options.scaleGridLineWidth:0,gridLineColor:this.options.scaleShowGridLines?this.options.scaleGridLineColor:"rgba(0,0,0,0)",padding:this.options.showScale?0:this.options.barShowStroke?this.options.barStrokeWidth:0,showLabels:this.options.scaleShowLabels,display:this.options.showScale};this.options.scaleOverride&&c.extend(e,{calculateYRange:c.noop,steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}),this.scale=new this.ScaleClass(e)},addData:function(a,b){c.each(a,function(a,c){this.datasets[c].bars.push(new this.BarClass({value:a,label:b,x:this.scale.calculateBarX(this.datasets.length,c,this.scale.valuesCount+1),y:this.scale.endPoint,width:this.scale.calculateBarWidth(this.datasets.length),base:this.scale.endPoint,strokeColor:this.datasets[c].strokeColor,fillColor:this.datasets[c].fillColor}))},this),this.scale.addXLabel(b),this.update()},removeData:function(){this.scale.removeXLabel(),c.each(this.datasets,function(a){a.bars.shift()},this),this.update()},reflow:function(){c.extend(this.BarClass.prototype,{y:this.scale.endPoint,base:this.scale.endPoint});var a=c.extend({height:this.chart.height,width:this.chart.width});this.scale.update(a)},draw:function(a){var b=a||1;this.clear();this.chart.ctx;this.scale.draw(b),c.each(this.datasets,function(a,d){c.each(a.bars,function(a,c){a.hasValue()&&(a.base=this.scale.endPoint,a.transition({x:this.scale.calculateBarX(this.datasets.length,d,c),y:this.scale.calculateY(a.value),width:this.scale.calculateBarWidth(this.datasets.length)},b).draw())},this)},this)}})}.call(this),function(){"use strict";var a=this,b=a.Chart,c=b.helpers,d={segmentShowStroke:!0,segmentStrokeColor:"#fff",segmentStrokeWidth:2,percentageInnerCutout:50,animationSteps:100,animationEasing:"easeOutBounce",animateRotate:!0,animateScale:!1,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<segments.length; i++){%><li><span style="background-color:<%=segments[i].fillColor%>"></span><%if(segments[i].label){%><%=segments[i].label%><%}%></li><%}%></ul>'};b.Type.extend({name:"Doughnut",defaults:d,initialize:function(a){this.segments=[],this.outerRadius=(c.min([this.chart.width,this.chart.height])-this.options.segmentStrokeWidth/2)/2,this.SegmentArc=b.Arc.extend({ctx:this.chart.ctx,x:this.chart.width/2,y:this.chart.height/2}),this.options.showTooltips&&c.bindEvents(this,this.options.tooltipEvents,function(a){var b="mouseout"!==a.type?this.getSegmentsAtEvent(a):[];c.each(this.segments,function(a){a.restore(["fillColor"])}),c.each(b,function(a){a.fillColor=a.highlightColor}),this.showTooltip(b)}),this.calculateTotal(a),c.each(a,function(a,b){this.addData(a,b,!0)},this),this.render()},getSegmentsAtEvent:function(a){var b=[],d=c.getRelativePosition(a);return c.each(this.segments,function(a){a.inRange(d.x,d.y)&&b.push(a)},this),b},addData:function(a,b,c){var d=b||this.segments.length;this.segments.splice(d,0,new this.SegmentArc({value:a.value,outerRadius:this.options.animateScale?0:this.outerRadius,innerRadius:this.options.animateScale?0:this.outerRadius/100*this.options.percentageInnerCutout,fillColor:a.color,highlightColor:a.highlight||a.color,showStroke:this.options.segmentShowStroke,strokeWidth:this.options.segmentStrokeWidth,strokeColor:this.options.segmentStrokeColor,startAngle:1.5*Math.PI,circumference:this.options.animateRotate?0:this.calculateCircumference(a.value),label:a.label})),c||(this.reflow(),this.update())},calculateCircumference:function(a){return 2*Math.PI*(Math.abs(a)/this.total)},calculateTotal:function(a){this.total=0,c.each(a,function(a){this.total+=Math.abs(a.value)},this)},update:function(){this.calculateTotal(this.segments),c.each(this.activeElements,function(a){a.restore(["fillColor"])}),c.each(this.segments,function(a){a.save()}),this.render()},removeData:function(a){var b=c.isNumber(a)?a:this.segments.length-1;this.segments.splice(b,1),this.reflow(),this.update()},reflow:function(){c.extend(this.SegmentArc.prototype,{x:this.chart.width/2,y:this.chart.height/2}),this.outerRadius=(c.min([this.chart.width,this.chart.height])-this.options.segmentStrokeWidth/2)/2,c.each(this.segments,function(a){a.update({outerRadius:this.outerRadius,innerRadius:this.outerRadius/100*this.options.percentageInnerCutout})},this)},draw:function(a){var b=a?a:1;this.clear(),c.each(this.segments,function(a,c){a.transition({circumference:this.calculateCircumference(a.value),outerRadius:this.outerRadius,innerRadius:this.outerRadius/100*this.options.percentageInnerCutout},b),a.endAngle=a.startAngle+a.circumference,a.draw(),0===c&&(a.startAngle=1.5*Math.PI),c<this.segments.length-1&&(this.segments[c+1].startAngle=a.endAngle)},this)}}),b.types.Doughnut.extend({name:"Pie",defaults:c.merge(d,{percentageInnerCutout:0})})}.call(this),function(){"use strict";var a=this,b=a.Chart,c=b.helpers,d={scaleShowGridLines:!0,scaleGridLineColor:"rgba(0,0,0,.05)",scaleGridLineWidth:1,scaleShowHorizontalLines:!0,scaleShowVerticalLines:!0,bezierCurve:!0,bezierCurveTension:.4,pointDot:!0,pointDotRadius:4,pointDotStrokeWidth:1,pointHitDetectionRadius:20,datasetStroke:!0,datasetStrokeWidth:2,datasetFill:!0,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span style="background-color:<%=datasets[i].strokeColor%>"></span><%if(datasets[i].label){%><%=datasets[i].label%><%}%></li><%}%></ul>'};b.Type.extend({name:"Line",defaults:d,initialize:function(a){this.PointClass=b.Point.extend({strokeWidth:this.options.pointDotStrokeWidth,radius:this.options.pointDotRadius,display:this.options.pointDot,hitDetectionRadius:this.options.pointHitDetectionRadius,ctx:this.chart.ctx,inRange:function(a){return Math.pow(a-this.x,2)<Math.pow(this.radius+this.hitDetectionRadius,2)}}),this.datasets=[],this.options.showTooltips&&c.bindEvents(this,this.options.tooltipEvents,function(a){var b="mouseout"!==a.type?this.getPointsAtEvent(a):[];this.eachPoints(function(a){a.restore(["fillColor","strokeColor"])}),c.each(b,function(a){a.fillColor=a.highlightFill,a.strokeColor=a.highlightStroke}),this.showTooltip(b)}),c.each(a.datasets,function(b){var d={label:b.label||null,fillColor:b.fillColor,strokeColor:b.strokeColor,pointColor:b.pointColor,pointStrokeColor:b.pointStrokeColor,points:[]};this.datasets.push(d),c.each(b.data,function(c,e){d.points.push(new this.PointClass({value:c,label:a.labels[e],datasetLabel:b.label,strokeColor:b.pointStrokeColor,fillColor:b.pointColor,highlightFill:b.pointHighlightFill||b.pointColor,highlightStroke:b.pointHighlightStroke||b.pointStrokeColor}))},this),this.buildScale(a.labels),this.eachPoints(function(a,b){c.extend(a,{x:this.scale.calculateX(b),y:this.scale.endPoint}),a.save()},this)},this),this.render()},update:function(){this.scale.update(),c.each(this.activeElements,function(a){a.restore(["fillColor","strokeColor"])}),this.eachPoints(function(a){a.save()}),this.render()},eachPoints:function(a){c.each(this.datasets,function(b){c.each(b.points,a,this)},this)},getPointsAtEvent:function(a){var b=[],d=c.getRelativePosition(a);return c.each(this.datasets,function(a){c.each(a.points,function(a){a.inRange(d.x,d.y)&&b.push(a)})},this),b},buildScale:function(a){var d=this,e=function(){var a=[];return d.eachPoints(function(b){a.push(b.value)}),a},f={templateString:this.options.scaleLabel,height:this.chart.height,width:this.chart.width,ctx:this.chart.ctx,textColor:this.options.scaleFontColor,fontSize:this.options.scaleFontSize,fontStyle:this.options.scaleFontStyle,fontFamily:this.options.scaleFontFamily,valuesCount:a.length,beginAtZero:this.options.scaleBeginAtZero,integersOnly:this.options.scaleIntegersOnly,calculateYRange:function(a){var b=c.calculateScaleRange(e(),a,this.fontSize,this.beginAtZero,this.integersOnly);c.extend(this,b)},xLabels:a,font:c.fontString(this.options.scaleFontSize,this.options.scaleFontStyle,this.options.scaleFontFamily),lineWidth:this.options.scaleLineWidth,lineColor:this.options.scaleLineColor,showHorizontalLines:this.options.scaleShowHorizontalLines,showVerticalLines:this.options.scaleShowVerticalLines,gridLineWidth:this.options.scaleShowGridLines?this.options.scaleGridLineWidth:0,gridLineColor:this.options.scaleShowGridLines?this.options.scaleGridLineColor:"rgba(0,0,0,0)",padding:this.options.showScale?0:this.options.pointDotRadius+this.options.pointDotStrokeWidth,showLabels:this.options.scaleShowLabels,display:this.options.showScale};this.options.scaleOverride&&c.extend(f,{calculateYRange:c.noop,steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}),this.scale=new b.Scale(f)},addData:function(a,b){c.each(a,function(a,c){this.datasets[c].points.push(new this.PointClass({value:a,label:b,x:this.scale.calculateX(this.scale.valuesCount+1),y:this.scale.endPoint,strokeColor:this.datasets[c].pointStrokeColor,fillColor:this.datasets[c].pointColor}))},this),this.scale.addXLabel(b),this.update()},removeData:function(){this.scale.removeXLabel(),c.each(this.datasets,function(a){a.points.shift()},this),this.update()},reflow:function(){var a=c.extend({height:this.chart.height,width:this.chart.width});this.scale.update(a)},draw:function(a){var b=a||1;this.clear();var d=this.chart.ctx,e=function(a){return null!==a.value},f=function(a,b,d){return c.findNextWhere(b,e,d)||a},g=function(a,b,d){return c.findPreviousWhere(b,e,d)||a};this.scale.draw(b),c.each(this.datasets,function(a){var h=c.where(a.points,e);c.each(a.points,function(a,c){a.hasValue()&&a.transition({y:this.scale.calculateY(a.value),x:this.scale.calculateX(c)},b)},this),this.options.bezierCurve&&c.each(h,function(a,b){var d=b>0&&b<h.length-1?this.options.bezierCurveTension:0;a.controlPoints=c.splineCurve(g(a,h,b),a,f(a,h,b),d),a.controlPoints.outer.y>this.scale.endPoint?a.controlPoints.outer.y=this.scale.endPoint:a.controlPoints.outer.y<this.scale.startPoint&&(a.controlPoints.outer.y=this.scale.startPoint),a.controlPoints.inner.y>this.scale.endPoint?a.controlPoints.inner.y=this.scale.endPoint:a.controlPoints.inner.y<this.scale.startPoint&&(a.controlPoints.inner.y=this.scale.startPoint)},this),d.lineWidth=this.options.datasetStrokeWidth,d.strokeStyle=a.strokeColor,d.beginPath(),c.each(h,function(a,b){if(0===b)d.moveTo(a.x,a.y);else if(this.options.bezierCurve){var c=g(a,h,b);d.bezierCurveTo(c.controlPoints.outer.x,c.controlPoints.outer.y,a.controlPoints.inner.x,a.controlPoints.inner.y,a.x,a.y)}else d.lineTo(a.x,a.y)},this),d.stroke(),this.options.datasetFill&&h.length>0&&(d.lineTo(h[h.length-1].x,this.scale.endPoint),d.lineTo(h[0].x,this.scale.endPoint),d.fillStyle=a.fillColor,d.closePath(),d.fill()),c.each(h,function(a){a.draw()})},this)}})}.call(this),function(){"use strict";var a=this,b=a.Chart,c=b.helpers,d={scaleShowLabelBackdrop:!0,scaleBackdropColor:"rgba(255,255,255,0.75)",scaleBeginAtZero:!0,scaleBackdropPaddingY:2,scaleBackdropPaddingX:2,scaleShowLine:!0,segmentShowStroke:!0,segmentStrokeColor:"#fff",segmentStrokeWidth:2,animationSteps:100,animationEasing:"easeOutBounce",animateRotate:!0,animateScale:!1,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<segments.length; i++){%><li><span style="background-color:<%=segments[i].fillColor%>"></span><%if(segments[i].label){%><%=segments[i].label%><%}%></li><%}%></ul>'};b.Type.extend({name:"PolarArea",defaults:d,initialize:function(a){this.segments=[],this.SegmentArc=b.Arc.extend({showStroke:this.options.segmentShowStroke,
-strokeWidth:this.options.segmentStrokeWidth,strokeColor:this.options.segmentStrokeColor,ctx:this.chart.ctx,innerRadius:0,x:this.chart.width/2,y:this.chart.height/2}),this.scale=new b.RadialScale({display:this.options.showScale,fontStyle:this.options.scaleFontStyle,fontSize:this.options.scaleFontSize,fontFamily:this.options.scaleFontFamily,fontColor:this.options.scaleFontColor,showLabels:this.options.scaleShowLabels,showLabelBackdrop:this.options.scaleShowLabelBackdrop,backdropColor:this.options.scaleBackdropColor,backdropPaddingY:this.options.scaleBackdropPaddingY,backdropPaddingX:this.options.scaleBackdropPaddingX,lineWidth:this.options.scaleShowLine?this.options.scaleLineWidth:0,lineColor:this.options.scaleLineColor,lineArc:!0,width:this.chart.width,height:this.chart.height,xCenter:this.chart.width/2,yCenter:this.chart.height/2,ctx:this.chart.ctx,templateString:this.options.scaleLabel,valuesCount:a.length}),this.updateScaleRange(a),this.scale.update(),c.each(a,function(a,b){this.addData(a,b,!0)},this),this.options.showTooltips&&c.bindEvents(this,this.options.tooltipEvents,function(a){var b="mouseout"!==a.type?this.getSegmentsAtEvent(a):[];c.each(this.segments,function(a){a.restore(["fillColor"])}),c.each(b,function(a){a.fillColor=a.highlightColor}),this.showTooltip(b)}),this.render()},getSegmentsAtEvent:function(a){var b=[],d=c.getRelativePosition(a);return c.each(this.segments,function(a){a.inRange(d.x,d.y)&&b.push(a)},this),b},addData:function(a,b,c){var d=b||this.segments.length;this.segments.splice(d,0,new this.SegmentArc({fillColor:a.color,highlightColor:a.highlight||a.color,label:a.label,value:a.value,outerRadius:this.options.animateScale?0:this.scale.calculateCenterOffset(a.value),circumference:this.options.animateRotate?0:this.scale.getCircumference(),startAngle:1.5*Math.PI})),c||(this.reflow(),this.update())},removeData:function(a){var b=c.isNumber(a)?a:this.segments.length-1;this.segments.splice(b,1),this.reflow(),this.update()},calculateTotal:function(a){this.total=0,c.each(a,function(a){this.total+=a.value},this),this.scale.valuesCount=this.segments.length},updateScaleRange:function(a){var b=[];c.each(a,function(a){b.push(a.value)});var d=this.options.scaleOverride?{steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}:c.calculateScaleRange(b,c.min([this.chart.width,this.chart.height])/2,this.options.scaleFontSize,this.options.scaleBeginAtZero,this.options.scaleIntegersOnly);c.extend(this.scale,d,{size:c.min([this.chart.width,this.chart.height]),xCenter:this.chart.width/2,yCenter:this.chart.height/2})},update:function(){this.calculateTotal(this.segments),c.each(this.segments,function(a){a.save()}),this.reflow(),this.render()},reflow:function(){c.extend(this.SegmentArc.prototype,{x:this.chart.width/2,y:this.chart.height/2}),this.updateScaleRange(this.segments),this.scale.update(),c.extend(this.scale,{xCenter:this.chart.width/2,yCenter:this.chart.height/2}),c.each(this.segments,function(a){a.update({outerRadius:this.scale.calculateCenterOffset(a.value)})},this)},draw:function(a){var b=a||1;this.clear(),c.each(this.segments,function(a,c){a.transition({circumference:this.scale.getCircumference(),outerRadius:this.scale.calculateCenterOffset(a.value)},b),a.endAngle=a.startAngle+a.circumference,0===c&&(a.startAngle=1.5*Math.PI),c<this.segments.length-1&&(this.segments[c+1].startAngle=a.endAngle),a.draw()},this),this.scale.draw()}})}.call(this),function(){"use strict";var a=this,b=a.Chart,c=b.helpers;b.Type.extend({name:"Radar",defaults:{scaleShowLine:!0,angleShowLineOut:!0,scaleShowLabels:!1,scaleBeginAtZero:!0,angleLineColor:"rgba(0,0,0,.1)",angleLineWidth:1,pointLabelFontFamily:"'Arial'",pointLabelFontStyle:"normal",pointLabelFontSize:10,pointLabelFontColor:"#666",pointDot:!0,pointDotRadius:3,pointDotStrokeWidth:1,pointHitDetectionRadius:20,datasetStroke:!0,datasetStrokeWidth:2,datasetFill:!0,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span style="background-color:<%=datasets[i].strokeColor%>"></span><%if(datasets[i].label){%><%=datasets[i].label%><%}%></li><%}%></ul>'},initialize:function(a){this.PointClass=b.Point.extend({strokeWidth:this.options.pointDotStrokeWidth,radius:this.options.pointDotRadius,display:this.options.pointDot,hitDetectionRadius:this.options.pointHitDetectionRadius,ctx:this.chart.ctx}),this.datasets=[],this.buildScale(a),this.options.showTooltips&&c.bindEvents(this,this.options.tooltipEvents,function(a){var b="mouseout"!==a.type?this.getPointsAtEvent(a):[];this.eachPoints(function(a){a.restore(["fillColor","strokeColor"])}),c.each(b,function(a){a.fillColor=a.highlightFill,a.strokeColor=a.highlightStroke}),this.showTooltip(b)}),c.each(a.datasets,function(b){var d={label:b.label||null,fillColor:b.fillColor,strokeColor:b.strokeColor,pointColor:b.pointColor,pointStrokeColor:b.pointStrokeColor,points:[]};this.datasets.push(d),c.each(b.data,function(c,e){var f;this.scale.animation||(f=this.scale.getPointPosition(e,this.scale.calculateCenterOffset(c))),d.points.push(new this.PointClass({value:c,label:a.labels[e],datasetLabel:b.label,x:this.options.animation?this.scale.xCenter:f.x,y:this.options.animation?this.scale.yCenter:f.y,strokeColor:b.pointStrokeColor,fillColor:b.pointColor,highlightFill:b.pointHighlightFill||b.pointColor,highlightStroke:b.pointHighlightStroke||b.pointStrokeColor}))},this)},this),this.render()},eachPoints:function(a){c.each(this.datasets,function(b){c.each(b.points,a,this)},this)},getPointsAtEvent:function(a){var b=c.getRelativePosition(a),d=c.getAngleFromPoint({x:this.scale.xCenter,y:this.scale.yCenter},b),e=2*Math.PI/this.scale.valuesCount,f=Math.round((d.angle-1.5*Math.PI)/e),g=[];return(f>=this.scale.valuesCount||0>f)&&(f=0),d.distance<=this.scale.drawingArea&&c.each(this.datasets,function(a){g.push(a.points[f])}),g},buildScale:function(a){this.scale=new b.RadialScale({display:this.options.showScale,fontStyle:this.options.scaleFontStyle,fontSize:this.options.scaleFontSize,fontFamily:this.options.scaleFontFamily,fontColor:this.options.scaleFontColor,showLabels:this.options.scaleShowLabels,showLabelBackdrop:this.options.scaleShowLabelBackdrop,backdropColor:this.options.scaleBackdropColor,backdropPaddingY:this.options.scaleBackdropPaddingY,backdropPaddingX:this.options.scaleBackdropPaddingX,lineWidth:this.options.scaleShowLine?this.options.scaleLineWidth:0,lineColor:this.options.scaleLineColor,angleLineColor:this.options.angleLineColor,angleLineWidth:this.options.angleShowLineOut?this.options.angleLineWidth:0,pointLabelFontColor:this.options.pointLabelFontColor,pointLabelFontSize:this.options.pointLabelFontSize,pointLabelFontFamily:this.options.pointLabelFontFamily,pointLabelFontStyle:this.options.pointLabelFontStyle,height:this.chart.height,width:this.chart.width,xCenter:this.chart.width/2,yCenter:this.chart.height/2,ctx:this.chart.ctx,templateString:this.options.scaleLabel,labels:a.labels,valuesCount:a.datasets[0].data.length}),this.scale.setScaleSize(),this.updateScaleRange(a.datasets),this.scale.buildYLabels()},updateScaleRange:function(a){var b=function(){var b=[];return c.each(a,function(a){a.data?b=b.concat(a.data):c.each(a.points,function(a){b.push(a.value)})}),b}(),d=this.options.scaleOverride?{steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}:c.calculateScaleRange(b,c.min([this.chart.width,this.chart.height])/2,this.options.scaleFontSize,this.options.scaleBeginAtZero,this.options.scaleIntegersOnly);c.extend(this.scale,d)},addData:function(a,b){this.scale.valuesCount++,c.each(a,function(a,c){var d=this.scale.getPointPosition(this.scale.valuesCount,this.scale.calculateCenterOffset(a));this.datasets[c].points.push(new this.PointClass({value:a,label:b,x:d.x,y:d.y,strokeColor:this.datasets[c].pointStrokeColor,fillColor:this.datasets[c].pointColor}))},this),this.scale.labels.push(b),this.reflow(),this.update()},removeData:function(){this.scale.valuesCount--,this.scale.labels.shift(),c.each(this.datasets,function(a){a.points.shift()},this),this.reflow(),this.update()},update:function(){this.eachPoints(function(a){a.save()}),this.reflow(),this.render()},reflow:function(){c.extend(this.scale,{width:this.chart.width,height:this.chart.height,size:c.min([this.chart.width,this.chart.height]),xCenter:this.chart.width/2,yCenter:this.chart.height/2}),this.updateScaleRange(this.datasets),this.scale.setScaleSize(),this.scale.buildYLabels()},draw:function(a){var b=a||1,d=this.chart.ctx;this.clear(),this.scale.draw(),c.each(this.datasets,function(a){c.each(a.points,function(a,c){a.hasValue()&&a.transition(this.scale.getPointPosition(c,this.scale.calculateCenterOffset(a.value)),b)},this),d.lineWidth=this.options.datasetStrokeWidth,d.strokeStyle=a.strokeColor,d.beginPath(),c.each(a.points,function(a,b){0===b?d.moveTo(a.x,a.y):d.lineTo(a.x,a.y)},this),d.closePath(),d.stroke(),d.fillStyle=a.fillColor,d.fill(),c.each(a.points,function(a){a.hasValue()&&a.draw()})},this)}})}.call(this),function(a){"use strict";"object"==typeof exports?module.exports=a(angular,require("chart.js")):"function"==typeof define&&define.amd?define(["angular","chart"],a):a(angular,Chart)}(function(a,b){"use strict";function c(){var c={},d={Chart:b,getOptions:function(b){var d=b&&c[b]||{};return a.extend({},c,d)}};this.setOptions=function(b,d){return d?void(c[b]=a.extend(c[b]||{},d)):(d=b,void(c=a.extend(c,d)))},this.$get=function(){return d}}function d(c,d){function f(a,b){return a&&b&&a.length&&b.length?Array.isArray(a[0])?a.length===b.length&&a.every(function(a,c){return a.length===b[c].length}):b.reduce(g,0)>0?a.length===b.length:!1:!1}function g(a,b){return a+b}function h(b,c,d,e){var f=null;return function(g){var h=c.getPointsAtEvent||c.getBarsAtEvent||c.getSegmentsAtEvent;if(h){var i=h.call(c,g);(e===!1||a.equals(f,i)===!1)&&(f=i,b[d](i,g),b.$apply())}}}function i(d,e){for(var f=a.copy(e.colours||c.getOptions(d).colours||b.defaults.global.colours);f.length<e.data.length;)f.push(e.getColour());return f.map(j)}function j(a){return"object"==typeof a&&null!==a?a:"string"==typeof a&&"#"===a[0]?l(o(a.substr(1))):k()}function k(){var a=[m(0,255),m(0,255),m(0,255)];return l(a)}function l(a){return{fillColor:n(a,.2),strokeColor:n(a,1),pointColor:n(a,1),pointStrokeColor:"#fff",pointHighlightFill:"#fff",pointHighlightStroke:n(a,.8)}}function m(a,b){return Math.floor(Math.random()*(b-a+1))+a}function n(a,b){return e?"rgb("+a.join(",")+")":"rgba("+a.concat(b).join(",")+")"}function o(a){var b=parseInt(a,16),c=b>>16&255,d=b>>8&255,e=255&b;return[c,d,e]}function p(b,c,d,e){return{labels:b,datasets:c.map(function(b,c){return a.extend({},e[c],{label:d[c],data:b})})}}function q(b,c,d){return b.map(function(b,e){return a.extend({},d[e],{label:b,value:c[e],color:d[e].strokeColor,highlight:d[e].pointHighlightStroke})})}function r(a,b){var c=a.parent(),d=c.find("chart-legend"),e="<chart-legend>"+b.generateLegend()+"</chart-legend>";d.length?d.replaceWith(e):c.append(e)}function s(a,b,c,d){Array.isArray(c.data[0])?a.datasets.forEach(function(a,c){(a.points||a.bars).forEach(function(a,d){a.value=b[c][d]})}):a.segments.forEach(function(a,c){a.value=b[c]}),a.update(),c.$emit("update",a),c.legend&&"false"!==c.legend&&r(d,a)}function t(a){return!a||Array.isArray(a)&&!a.length||"object"==typeof a&&!Object.keys(a).length}function u(d,e){var f=a.extend({},b.defaults.global,c.getOptions(d),e.options);return f.responsive}return function(b){return{restrict:"CA",scope:{data:"=?",labels:"=?",options:"=?",series:"=?",colours:"=?",getColour:"=?",chartType:"=",legend:"@",click:"=?",hover:"=?",chartData:"=?",chartLabels:"=?",chartOptions:"=?",chartSeries:"=?",chartColours:"=?",chartLegend:"@",chartClick:"=?",chartHover:"=?"},link:function(g,j){function l(a,b){g.$watch(a,function(a){"undefined"!=typeof a&&(g[b]=a)})}function m(c,d){if(!t(c)&&!a.equals(c,d)){var e=b||g.chartType;e&&(v&&v.destroy(),n(e))}}function n(b){if(u(b,g)&&0===j[0].clientHeight&&0===w.clientHeight)return d(function(){n(b)},50,!1);if(g.data&&g.data.length){g.getColour="function"==typeof g.getColour?g.getColour:k,g.colours=i(b,g);var e=j[0],f=e.getContext("2d"),l=Array.isArray(g.data[0])?p(g.labels,g.data,g.series||[],g.colours):q(g.labels,g.data,g.colours),m=a.extend({},c.getOptions(b),g.options);v=new c.Chart(f)[b](l,m),g.$emit("create",v),e.onclick=g.click?h(g,v,"click",!1):a.noop,e.onmousemove=g.hover?h(g,v,"hover",!0):a.noop,g.legend&&"false"!==g.legend&&r(j,v)}}function o(a){if("undefined"!=typeof console&&"test"!==c.getOptions().env){var b="function"==typeof console.warn?console.warn:console.log;g[a]&&b.call(console,'"%s" is deprecated and will be removed in a future version. Please use "chart-%s" instead.',a,a)}}var v,w=document.createElement("div");w.className="chart-container",j.replaceWith(w),w.appendChild(j[0]),e&&window.G_vmlCanvasManager.initElement(j[0]),["data","labels","options","series","colours","legend","click","hover"].forEach(o),l("chartData","data"),l("chartLabels","labels"),l("chartOptions","options"),l("chartSeries","series"),l("chartColours","colours"),l("chartLegend","legend"),l("chartClick","click"),l("chartHover","hover"),g.$watch("data",function(a,c){if(a&&a.length&&(!Array.isArray(a[0])||a[0].length)){var d=b||g.chartType;if(d){if(v){if(f(a,c))return s(v,a,g,j);v.destroy()}n(d)}}},!0),g.$watch("series",m,!0),g.$watch("labels",m,!0),g.$watch("options",m,!0),g.$watch("colours",m,!0),g.$watch("chartType",function(b,c){t(b)||a.equals(b,c)||(v&&v.destroy(),n(b))}),g.$on("$destroy",function(){v&&v.destroy()})}}}}b.defaults.global.responsive=!0,b.defaults.global.multiTooltipTemplate="<%if (datasetLabel){%><%=datasetLabel%>: <%}%><%= value %>",b.defaults.global.colours=["#97BBCD","#DCDCDC","#F7464A","#46BFBD","#FDB45C","#949FB1","#4D5360"];var e="object"==typeof window.G_vmlCanvasManager&&null!==window.G_vmlCanvasManager&&"function"==typeof window.G_vmlCanvasManager.initElement;return e&&(b.defaults.global.animation=!1),a.module("chart.js",[]).provider("ChartJs",c).factory("ChartJsFactory",["ChartJs","$timeout",d]).directive("chartBase",["ChartJsFactory",function(a){return new a}]).directive("chartLine",["ChartJsFactory",function(a){return new a("Line")}]).directive("chartBar",["ChartJsFactory",function(a){return new a("Bar")}]).directive("chartRadar",["ChartJsFactory",function(a){return new a("Radar")}]).directive("chartDoughnut",["ChartJsFactory",function(a){return new a("Doughnut")}]).directive("chartPie",["ChartJsFactory",function(a){return new a("Pie")}]).directive("chartPolarArea",["ChartJsFactory",function(a){return new a("PolarArea")}])}),function(a,b,c){"use strict";function d(a,c,d){function e(a,d,e){var g,h;e=e||{},h=e.expires,g=b.isDefined(e.path)?e.path:f,b.isUndefined(d)&&(h="Thu, 01 Jan 1970 00:00:00 GMT",d=""),b.isString(h)&&(h=new Date(h));var i=encodeURIComponent(a)+"="+encodeURIComponent(d);i+=g?";path="+g:"",i+=e.domain?";domain="+e.domain:"",i+=h?";expires="+h.toUTCString():"",i+=e.secure?";secure":"";var j=i.length+1;return j>4096&&c.warn("Cookie '"+a+"' possibly not set or overflowed because it was too large ("+j+" > 4096 bytes)!"),i}var f=d.baseHref(),g=a[0];return function(a,b,c){g.cookie=e(a,b,c)}}b.module("ngCookies",["ng"]).provider("$cookies",[function(){function a(a){return a?b.extend({},d,a):d}var d=this.defaults={};this.$get=["$$cookieReader","$$cookieWriter",function(d,e){return{get:function(a){return d()[a]},getObject:function(a){var c=this.get(a);return c?b.fromJson(c):c},getAll:function(){return d()},put:function(b,c,d){e(b,c,a(d))},putObject:function(a,c,d){this.put(a,b.toJson(c),d)},remove:function(b,d){e(b,c,a(d))}}}]}]),b.module("ngCookies").factory("$cookieStore",["$cookies",function(a){return{get:function(b){return a.getObject(b)},put:function(b,c){a.putObject(b,c)},remove:function(b){a.remove(b)}}}]),d.$inject=["$document","$log","$browser"],b.module("ngCookies").provider("$$cookieWriter",function(){this.$get=d})}(window,window.angular),!function(a,b){"object"==typeof exports&&"object"==typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):"object"==typeof exports?exports["angular-file-upload"]=b():a["angular-file-upload"]=b()}(this,function(){return function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={exports:{},id:d,loaded:!1};return a[d].call(e.exports,e,e.exports,b),e.loaded=!0,e.exports}var c={};return b.m=a,b.c=c,b.p="",b(0)}([function(a,b,c){"use strict";var d=function(a){return a&&a.__esModule?a["default"]:a},e=d(c(2)),f=d(c(3)),g=d(c(4)),h=d(c(5)),i=d(c(6)),j=d(c(7)),k=d(c(1)),l=d(c(8)),m=d(c(9)),n=d(c(10)),o=d(c(11)),p=d(c(12));angular.module(e.name,[]).value("fileUploaderOptions",f).factory("FileUploader",g).factory("FileLikeObject",h).factory("FileItem",i).factory("FileDirective",j).factory("FileSelect",k).factory("FileDrop",l).factory("FileOver",m).directive("nvFileSelect",n).directive("nvFileDrop",o).directive("nvFileOver",p).run(["FileUploader","FileLikeObject","FileItem","FileDirective","FileSelect","FileDrop","FileOver",function(a,b,c,d,e,f,g){a.FileLikeObject=b,a.FileItem=c,a.FileDirective=d,a.FileSelect=e,a.FileDrop=f,a.FileOver=g}])},function(a,b,c){"use strict";var d=function(a){return a&&a.__esModule?a["default"]:a},e=function(){function a(a,b){for(var c in b){var d=b[c];d.configurable=!0,d.value&&(d.writable=!0)}Object.defineProperties(a,b)}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),f=function j(a,b,c){var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){var e=Object.getPrototypeOf(a);return null===e?void 0:j(e,b,c)}if("value"in d&&d.writable)return d.value;var f=d.get;return void 0===f?void 0:f.call(c)},g=function(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(a.__proto__=b)},h=function(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")},i=(d(c(2)),angular.extend);a.exports=function(a){var b=function(a){function b(a){h(this,b);var c=i(a,{events:{$destroy:"destroy",change:"onChange"},prop:"select"});f(Object.getPrototypeOf(b.prototype),"constructor",this).call(this,c),this.uploader.isHTML5||this.element.removeAttr("multiple"),this.element.prop("value",null)}return g(b,a),e(b,{getOptions:{value:function(){}},getFilters:{value:function(){}},isEmptyAfterSelection:{value:function(){return!!this.element.attr("multiple")}},onChange:{value:function(){var a=this.uploader.isHTML5?this.element[0].files:this.element[0],b=this.getOptions(),c=this.getFilters();this.uploader.isHTML5||this.destroy(),this.uploader.addToQueue(a,b,c),this.isEmptyAfterSelection()&&(this.element.prop("value",null),this.element.replaceWith(this.element=this.element.clone(!0)))}}}),b}(a);return b},a.exports.$inject=["FileDirective"]},function(a,b){a.exports={name:"angularFileUpload"}},function(a,b){"use strict";a.exports={url:"/",alias:"file",headers:{},queue:[],progress:0,autoUpload:!1,removeAfterUpload:!1,method:"POST",filters:[],formData:[],queueLimit:Number.MAX_VALUE,withCredentials:!1}},function(a,b,c){"use strict";var d=function(a){return a&&a.__esModule?a["default"]:a},e=function(){function a(a,b){for(var c in b){var d=b[c];d.configurable=!0,d.value&&(d.writable=!0)}Object.defineProperties(a,b)}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),f=function(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")},g=(d(c(2)),angular.copy),h=angular.extend,i=angular.forEach,j=angular.isObject,k=angular.isNumber,l=angular.isDefined,m=angular.isArray,n=angular.element;a.exports=function(a,b,c,d,o,p){var q=d.File,r=d.FormData,s=function(){function d(b){f(this,d);var c=g(a);h(this,c,b,{isUploading:!1,_nextIndex:0,_failFilterIndex:-1,_directives:{select:[],drop:[],over:[]}}),this.filters.unshift({name:"queueLimit",fn:this._queueLimitFilter}),this.filters.unshift({name:"folder",fn:this._folderFilter})}return e(d,{addToQueue:{value:function(a,b,c){var d=this,e=this.isArrayLikeObject(a)?a:[a],f=this._getFilters(c),g=this.queue.length,h=[];i(e,function(a){var c=new o(a);if(d._isValidFile(c,f,b)){var e=new p(d,a,b);h.push(e),d.queue.push(e),d._onAfterAddingFile(e)}else{var g=f[d._failFilterIndex];d._onWhenAddingFileFailed(c,g,b)}}),this.queue.length!==g&&(this._onAfterAddingAll(h),this.progress=this._getTotalProgress()),this._render(),this.autoUpload&&this.uploadAll()}},removeFromQueue:{value:function(a){var b=this.getIndexOfItem(a),c=this.queue[b];c.isUploading&&c.cancel(),this.queue.splice(b,1),c._destroy(),this.progress=this._getTotalProgress()}},clearQueue:{value:function(){for(;this.queue.length;)this.queue[0].remove();this.progress=0}},uploadItem:{value:function(a){var b=this.getIndexOfItem(a),c=this.queue[b],d=this.isHTML5?"_xhrTransport":"_iframeTransport";c._prepareToUploading(),this.isUploading||(this.isUploading=!0,this[d](c))}},cancelItem:{value:function(a){var b=this.getIndexOfItem(a),c=this.queue[b],d=this.isHTML5?"_xhr":"_form";c&&c.isUploading&&c[d].abort()}},uploadAll:{value:function(){var a=this.getNotUploadedItems().filter(function(a){return!a.isUploading});a.length&&(i(a,function(a){return a._prepareToUploading()}),a[0].upload())}},cancelAll:{value:function(){var a=this.getNotUploadedItems();i(a,function(a){return a.cancel()})}},isFile:{value:function(a){return this.constructor.isFile(a)}},isFileLikeObject:{value:function(a){return this.constructor.isFileLikeObject(a)}},isArrayLikeObject:{value:function(a){return this.constructor.isArrayLikeObject(a)}},getIndexOfItem:{value:function(a){return k(a)?a:this.queue.indexOf(a)}},getNotUploadedItems:{value:function(){return this.queue.filter(function(a){return!a.isUploaded})}},getReadyItems:{value:function(){return this.queue.filter(function(a){return a.isReady&&!a.isUploading}).sort(function(a,b){return a.index-b.index})}},destroy:{value:function(){var a=this;i(this._directives,function(b){i(a._directives[b],function(a){a.destroy()})})}},onAfterAddingAll:{value:function(a){}},onAfterAddingFile:{value:function(a){}},onWhenAddingFileFailed:{value:function(a,b,c){}},onBeforeUploadItem:{value:function(a){}},onProgressItem:{value:function(a,b){}},onProgressAll:{value:function(a){}},onSuccessItem:{value:function(a,b,c,d){}},onErrorItem:{value:function(a,b,c,d){}},onCancelItem:{value:function(a,b,c,d){}},onCompleteItem:{value:function(a,b,c,d){}},onCompleteAll:{value:function(){}},_getTotalProgress:{value:function(a){if(this.removeAfterUpload)return a||0;var b=this.getNotUploadedItems().length,c=b?this.queue.length-b:this.queue.length,d=100/this.queue.length,e=(a||0)*d/100;return Math.round(c*d+e)}},_getFilters:{value:function(a){if(!a)return this.filters;if(m(a))return a;var b=a.match(/[^\s,]+/g);return this.filters.filter(function(a){return-1!==b.indexOf(a.name)})}},_render:{value:function(){b.$$phase||b.$apply()}},_folderFilter:{value:function(a){return!(!a.size&&!a.type)}},_queueLimitFilter:{value:function(){return this.queue.length<this.queueLimit}},_isValidFile:{value:function(a,b,c){var d=this;return this._failFilterIndex=-1,b.length?b.every(function(b){return d._failFilterIndex++,b.fn.call(d,a,c)}):!0}},_isSuccessCode:{value:function(a){return a>=200&&300>a||304===a}},_transformResponse:{value:function(a,b){var d=this._headersGetter(b);return i(c.defaults.transformResponse,function(b){a=b(a,d)}),a}},_parseHeaders:{value:function(a){var b,c,d,e={};return a?(i(a.split("\n"),function(a){d=a.indexOf(":"),b=a.slice(0,d).trim().toLowerCase(),c=a.slice(d+1).trim(),b&&(e[b]=e[b]?e[b]+", "+c:c)}),e):e}},_headersGetter:{value:function(a){return function(b){return b?a[b.toLowerCase()]||null:a}}},_xhrTransport:{value:function(a){var b=this,c=a._xhr=new XMLHttpRequest,d=new r;if(this._onBeforeUploadItem(a),i(a.formData,function(a){i(a,function(a,b){d.append(b,a)})}),"number"!=typeof a._file.size)throw new TypeError("The file specified is no longer valid");d.append(a.alias,a._file,a.file.name),c.upload.onprogress=function(c){var d=Math.round(c.lengthComputable?100*c.loaded/c.total:0);b._onProgressItem(a,d)},c.onload=function(){var d=b._parseHeaders(c.getAllResponseHeaders()),e=b._transformResponse(c.response,d),f=b._isSuccessCode(c.status)?"Success":"Error",g="_on"+f+"Item";b[g](a,e,c.status,d),b._onCompleteItem(a,e,c.status,d)},c.onerror=function(){var d=b._parseHeaders(c.getAllResponseHeaders()),e=b._transformResponse(c.response,d);b._onErrorItem(a,e,c.status,d),b._onCompleteItem(a,e,c.status,d)},c.onabort=function(){var d=b._parseHeaders(c.getAllResponseHeaders()),e=b._transformResponse(c.response,d);b._onCancelItem(a,e,c.status,d),b._onCompleteItem(a,e,c.status,d)},c.open(a.method,a.url,!0),c.withCredentials=a.withCredentials,i(a.headers,function(a,b){c.setRequestHeader(b,a)}),c.send(d),this._render()}},_iframeTransport:{value:function(a){var b=this,c=n('<form style="display: none;" />'),d=n('<iframe name="iframeTransport'+Date.now()+'">'),e=a._input;a._form&&a._form.replaceWith(e),a._form=c,this._onBeforeUploadItem(a),e.prop("name",a.alias),i(a.formData,function(a){i(a,function(a,b){var d=n('<input type="hidden" name="'+b+'" />');d.val(a),c.append(d)})}),c.prop({action:a.url,method:"POST",target:d.prop("name"),enctype:"multipart/form-data",encoding:"multipart/form-data"}),d.bind("load",function(){var c="",e=200;try{c=d[0].contentDocument.body.innerHTML}catch(f){e=500}var g={response:c,status:e,dummy:!0},h={},i=b._transformResponse(g.response,h);b._onSuccessItem(a,i,g.status,h),b._onCompleteItem(a,i,g.status,h)}),c.abort=function(){var f,g={status:0,dummy:!0},h={};d.unbind("load").prop("src","javascript:false;"),c.replaceWith(e),b._onCancelItem(a,f,g.status,h),b._onCompleteItem(a,f,g.status,h)},e.after(c),c.append(e).append(d),c[0].submit(),this._render()}},_onWhenAddingFileFailed:{value:function(a,b,c){this.onWhenAddingFileFailed(a,b,c)}},_onAfterAddingFile:{value:function(a){this.onAfterAddingFile(a)}},_onAfterAddingAll:{value:function(a){this.onAfterAddingAll(a)}},_onBeforeUploadItem:{value:function(a){a._onBeforeUpload(),this.onBeforeUploadItem(a)}},_onProgressItem:{value:function(a,b){var c=this._getTotalProgress(b);this.progress=c,a._onProgress(b),this.onProgressItem(a,b),this.onProgressAll(c),this._render()}},_onSuccessItem:{value:function(a,b,c,d){a._onSuccess(b,c,d),this.onSuccessItem(a,b,c,d)}},_onErrorItem:{value:function(a,b,c,d){a._onError(b,c,d),this.onErrorItem(a,b,c,d)}},_onCancelItem:{value:function(a,b,c,d){a._onCancel(b,c,d),this.onCancelItem(a,b,c,d)}},_onCompleteItem:{value:function(a,b,c,d){a._onComplete(b,c,d),this.onCompleteItem(a,b,c,d);var e=this.getReadyItems()[0];return this.isUploading=!1,l(e)?void e.upload():(this.onCompleteAll(),this.progress=this._getTotalProgress(),void this._render())}}},{isFile:{value:function(a){return q&&a instanceof q}},isFileLikeObject:{value:function(a){return a instanceof o}},isArrayLikeObject:{value:function(a){return j(a)&&"length"in a}},inherit:{value:function(a,b){a.prototype=Object.create(b.prototype),a.prototype.constructor=a,a.super_=b}}}),d}();return s.prototype.isHTML5=!(!q||!r),s.isHTML5=s.prototype.isHTML5,s},a.exports.$inject=["fileUploaderOptions","$rootScope","$http","$window","FileLikeObject","FileItem"]},function(a,b,c){"use strict";var d=function(a){return a&&a.__esModule?a["default"]:a},e=function(){function a(a,b){for(var c in b){var d=b[c];d.configurable=!0,d.value&&(d.writable=!0)}Object.defineProperties(a,b)}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),f=function(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")},g=(d(c(2)),angular.copy),h=angular.isElement,i=angular.isString;a.exports=function(){var a=function(){function a(b){f(this,a);var c=h(b),d=c?b.value:b,e=i(d)?"FakePath":"Object",g="_createFrom"+e;this[g](d)}return e(a,{_createFromFakePath:{value:function(a){this.lastModifiedDate=null,this.size=null,this.type="like/"+a.slice(a.lastIndexOf(".")+1).toLowerCase(),this.name=a.slice(a.lastIndexOf("/")+a.lastIndexOf("\\")+2)}},_createFromObject:{value:function(a){this.lastModifiedDate=g(a.lastModifiedDate),this.size=a.size,this.type=a.type,this.name=a.name}}}),a}();return a},a.exports.$inject=[]},function(a,b,c){"use strict";var d=function(a){return a&&a.__esModule?a["default"]:a},e=function(){function a(a,b){for(var c in b){var d=b[c];d.configurable=!0,d.value&&(d.writable=!0)}Object.defineProperties(a,b)}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),f=function(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")},g=(d(c(2)),angular.copy),h=angular.extend,i=angular.element,j=angular.isElement;a.exports=function(a,b){var c=function(){function c(a,d,e){f(this,c);var k=j(d),l=k?i(d):null,m=k?null:d;h(this,{url:a.url,alias:a.alias,headers:g(a.headers),formData:g(a.formData),removeAfterUpload:a.removeAfterUpload,withCredentials:a.withCredentials,method:a.method},e,{uploader:a,file:new b(d),isReady:!1,isUploading:!1,isUploaded:!1,isSuccess:!1,isCancel:!1,isError:!1,progress:0,index:null,_file:m,_input:l}),l&&this._replaceNode(l)}return e(c,{upload:{value:function(){try{this.uploader.uploadItem(this)}catch(a){this.uploader._onCompleteItem(this,"",0,[]),this.uploader._onErrorItem(this,"",0,[])}}},cancel:{value:function(){this.uploader.cancelItem(this)}},remove:{value:function(){this.uploader.removeFromQueue(this)}},onBeforeUpload:{value:function(){}},onProgress:{value:function(a){}},onSuccess:{value:function(a,b,c){}},onError:{value:function(a,b,c){}},onCancel:{value:function(a,b,c){}},onComplete:{value:function(a,b,c){}},_onBeforeUpload:{value:function(){this.isReady=!0,this.isUploading=!0,this.isUploaded=!1,this.isSuccess=!1,this.isCancel=!1,this.isError=!1,this.progress=0,this.onBeforeUpload()}},_onProgress:{value:function(a){this.progress=a,this.onProgress(a)}},_onSuccess:{value:function(a,b,c){this.isReady=!1,this.isUploading=!1,this.isUploaded=!0,this.isSuccess=!0,this.isCancel=!1,this.isError=!1,this.progress=100,this.index=null,this.onSuccess(a,b,c)}},_onError:{value:function(a,b,c){this.isReady=!1,this.isUploading=!1,this.isUploaded=!0,this.isSuccess=!1,this.isCancel=!1,this.isError=!0,this.progress=0,this.index=null,this.onError(a,b,c)}},_onCancel:{value:function(a,b,c){this.isReady=!1,this.isUploading=!1,this.isUploaded=!1,this.isSuccess=!1,this.isCancel=!0,this.isError=!1,this.progress=0,this.index=null,this.onCancel(a,b,c)}},_onComplete:{value:function(a,b,c){this.onComplete(a,b,c),this.removeAfterUpload&&this.remove()}},_destroy:{value:function(){this._input&&this._input.remove(),this._form&&this._form.remove(),delete this._form,delete this._input}},_prepareToUploading:{value:function(){this.index=this.index||++this.uploader._nextIndex,this.isReady=!0}},_replaceNode:{value:function(b){var c=a(b.clone())(b.scope());c.prop("value",null),b.css("display","none"),b.after(c)}}}),c}();return c},a.exports.$inject=["$compile","FileLikeObject"]},function(a,b,c){"use strict";var d=function(a){return a&&a.__esModule?a["default"]:a},e=function(){function a(a,b){for(var c in b){var d=b[c];d.configurable=!0,d.value&&(d.writable=!0)}Object.defineProperties(a,b)}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),f=function(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")},g=(d(c(2)),angular.extend);a.exports=function(){var a=function(){function a(b){f(this,a),g(this,b),this.uploader._directives[this.prop].push(this),this._saveLinks(),this.bind()}return e(a,{bind:{value:function(){for(var a in this.events){var b=this.events[a];this.element.bind(a,this[b])}}},unbind:{value:function(){for(var a in this.events)this.element.unbind(a,this.events[a])}},destroy:{value:function(){
-var a=this.uploader._directives[this.prop].indexOf(this);this.uploader._directives[this.prop].splice(a,1),this.unbind()}},_saveLinks:{value:function(){for(var a in this.events){var b=this.events[a];this[b]=this[b].bind(this)}}}}),a}();return a.prototype.events={},a},a.exports.$inject=[]},function(a,b,c){"use strict";var d=function(a){return a&&a.__esModule?a["default"]:a},e=function(){function a(a,b){for(var c in b){var d=b[c];d.configurable=!0,d.value&&(d.writable=!0)}Object.defineProperties(a,b)}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),f=function k(a,b,c){var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){var e=Object.getPrototypeOf(a);return null===e?void 0:k(e,b,c)}if("value"in d&&d.writable)return d.value;var f=d.get;return void 0===f?void 0:f.call(c)},g=function(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(a.__proto__=b)},h=function(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")},i=(d(c(2)),angular.extend),j=angular.forEach;a.exports=function(a){var b=function(a){function b(a){h(this,b);var c=i(a,{events:{$destroy:"destroy",drop:"onDrop",dragover:"onDragOver",dragleave:"onDragLeave"},prop:"drop"});f(Object.getPrototypeOf(b.prototype),"constructor",this).call(this,c)}return g(b,a),e(b,{getOptions:{value:function(){}},getFilters:{value:function(){}},onDrop:{value:function(a){var b=this._getTransfer(a);if(b){var c=this.getOptions(),d=this.getFilters();this._preventAndStop(a),j(this.uploader._directives.over,this._removeOverClass,this),this.uploader.addToQueue(b.files,c,d)}}},onDragOver:{value:function(a){var b=this._getTransfer(a);this._haveFiles(b.types)&&(b.dropEffect="copy",this._preventAndStop(a),j(this.uploader._directives.over,this._addOverClass,this))}},onDragLeave:{value:function(a){a.currentTarget!==this.element[0]&&(this._preventAndStop(a),j(this.uploader._directives.over,this._removeOverClass,this))}},_getTransfer:{value:function(a){return a.dataTransfer?a.dataTransfer:a.originalEvent.dataTransfer}},_preventAndStop:{value:function(a){a.preventDefault(),a.stopPropagation()}},_haveFiles:{value:function(a){return a?a.indexOf?-1!==a.indexOf("Files"):a.contains?a.contains("Files"):!1:!1}},_addOverClass:{value:function(a){a.addOverClass()}},_removeOverClass:{value:function(a){a.removeOverClass()}}}),b}(a);return b},a.exports.$inject=["FileDirective"]},function(a,b,c){"use strict";var d=function(a){return a&&a.__esModule?a["default"]:a},e=function(){function a(a,b){for(var c in b){var d=b[c];d.configurable=!0,d.value&&(d.writable=!0)}Object.defineProperties(a,b)}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),f=function j(a,b,c){var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){var e=Object.getPrototypeOf(a);return null===e?void 0:j(e,b,c)}if("value"in d&&d.writable)return d.value;var f=d.get;return void 0===f?void 0:f.call(c)},g=function(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(a.__proto__=b)},h=function(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")},i=(d(c(2)),angular.extend);a.exports=function(a){var b=function(a){function b(a){h(this,b);var c=i(a,{events:{$destroy:"destroy"},prop:"over",overClass:"nv-file-over"});f(Object.getPrototypeOf(b.prototype),"constructor",this).call(this,c)}return g(b,a),e(b,{addOverClass:{value:function(){this.element.addClass(this.getOverClass())}},removeOverClass:{value:function(){this.element.removeClass(this.getOverClass())}},getOverClass:{value:function(){return this.overClass}}}),b}(a);return b},a.exports.$inject=["FileDirective"]},function(a,b,c){"use strict";var d=function(a){return a&&a.__esModule?a["default"]:a};d(c(2)),a.exports=function(a,b,c){return{link:function(d,e,f){var g=d.$eval(f.uploader);if(!(g instanceof b))throw new TypeError('"Uploader" must be an instance of FileUploader');var h=new c({uploader:g,element:e});h.getOptions=a(f.options).bind(h,d),h.getFilters=function(){return f.filters}}}},a.exports.$inject=["$parse","FileUploader","FileSelect"]},function(a,b,c){"use strict";var d=function(a){return a&&a.__esModule?a["default"]:a};d(c(2)),a.exports=function(a,b,c){return{link:function(d,e,f){var g=d.$eval(f.uploader);if(!(g instanceof b))throw new TypeError('"Uploader" must be an instance of FileUploader');if(g.isHTML5){var h=new c({uploader:g,element:e});h.getOptions=a(f.options).bind(h,d),h.getFilters=function(){return f.filters}}}}},a.exports.$inject=["$parse","FileUploader","FileDrop"]},function(a,b,c){"use strict";var d=function(a){return a&&a.__esModule?a["default"]:a};d(c(2)),a.exports=function(a,b){return{link:function(c,d,e){var f=c.$eval(e.uploader);if(!(f instanceof a))throw new TypeError('"Uploader" must be an instance of FileUploader');var g=new b({uploader:f,element:d});g.getOverClass=function(){return e.overClass||g.overClass}}}},a.exports.$inject=["FileUploader","FileOver"]}])}),!function(a,b,c){"use strict";function d(a){return D(a)?a:Object.keys(a).map(function(b){return a[b]})}function e(a){return null===a}function f(a,b){var d=Object.keys(a);return-1==d.map(function(d){return b[d]!==c&&b[d]==a[d]}).indexOf(!1)}function g(a,b){if(""===b)return a;var c=a.indexOf(b.charAt(0));return-1===c?!1:g(a.substr(c+1),b.substr(1))}function h(a,b,c){var d=0;return a.filter(function(a){var e=x(c)?b>d&&c(a):b>d;return d=e?d+1:d,e})}function i(a,b,c){return c.round(a*c.pow(10,b))/c.pow(10,b)}function j(a,b,c){b=b||[];var d=Object.keys(a);return d.forEach(function(d){if(C(a[d])&&!D(a[d])){var e=c?c+"."+d:c;j(a[d],b,e||d)}else{var f=c?c+"."+d:d;b.push(f)}}),b}function k(a){return a&&a.$evalAsync&&a.$watch}function l(){return function(a,b){return a>b}}function m(){return function(a,b){return a>=b}}function n(){return function(a,b){return b>a}}function o(){return function(a,b){return b>=a}}function p(){return function(a,b){return a==b}}function q(){return function(a,b){return a!=b}}function r(){return function(a,b){return a===b}}function s(){return function(a,b){return a!==b}}function t(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?!1:b.some(function(b){return C(b)||z(c)?a(c)(b):b===c})}}function u(a,b){return b=b||0,b>=a.length?a:D(a[b])?u(a.slice(0,b).concat(a[b],a.slice(b+1)),b):u(a,b+1)}function v(a){return function(b,c){function e(a,b){return y(b)?!1:a.some(function(a){return H(a,b)})}if(b=C(b)?d(b):b,!D(b))return b;var f=[],g=a(c);return y(c)?b.filter(function(a,b,c){return c.indexOf(a)===b}):b.filter(function(a){var b=g(a);return e(f,b)?!1:(f.push(b),!0)})}}function w(a,b,c){return b?a+c+w(a,--b,c):a}var x=b.isDefined,y=b.isUndefined,z=b.isFunction,A=b.isString,B=b.isNumber,C=b.isObject,D=b.isArray,E=b.forEach,F=b.extend,G=b.copy,H=b.equals;String.prototype.contains||(String.prototype.contains=function(){return-1!==String.prototype.indexOf.apply(this,arguments)}),b.module("a8m.angular",[]).filter("isUndefined",function(){return function(a){return b.isUndefined(a)}}).filter("isDefined",function(){return function(a){return b.isDefined(a)}}).filter("isFunction",function(){return function(a){return b.isFunction(a)}}).filter("isString",function(){return function(a){return b.isString(a)}}).filter("isNumber",function(){return function(a){return b.isNumber(a)}}).filter("isArray",function(){return function(a){return b.isArray(a)}}).filter("isObject",function(){return function(a){return b.isObject(a)}}).filter("isEqual",function(){return function(a,c){return b.equals(a,c)}}),b.module("a8m.conditions",[]).filter({isGreaterThan:l,">":l,isGreaterThanOrEqualTo:m,">=":m,isLessThan:n,"<":n,isLessThanOrEqualTo:o,"<=":o,isEqualTo:p,"==":p,isNotEqualTo:q,"!=":q,isIdenticalTo:r,"===":r,isNotIdenticalTo:s,"!==":s}),b.module("a8m.is-null",[]).filter("isNull",function(){return function(a){return e(a)}}),b.module("a8m.after-where",[]).filter("afterWhere",function(){return function(a,b){if(a=C(a)?d(a):a,!D(a)||y(b))return a;var c=a.map(function(a){return f(b,a)}).indexOf(!0);return a.slice(-1===c?0:c)}}),b.module("a8m.after",[]).filter("after",function(){return function(a,b){return a=C(a)?d(a):a,D(a)?a.slice(b):a}}),b.module("a8m.before-where",[]).filter("beforeWhere",function(){return function(a,b){if(a=C(a)?d(a):a,!D(a)||y(b))return a;var c=a.map(function(a){return f(b,a)}).indexOf(!0);return a.slice(0,-1===c?a.length:++c)}}),b.module("a8m.before",[]).filter("before",function(){return function(a,b){return a=C(a)?d(a):a,D(a)?a.slice(0,b?--b:b):a}}),b.module("a8m.chunk-by",["a8m.filter-watcher"]).filter("chunkBy",["filterWatcher",function(a){return function(b,c,d){function e(a,b){for(var c=[];a--;)c[a]=b;return c}function f(a,b,c){return D(a)?a.map(function(a,d,f){return d*=b,a=f.slice(d,d+b),!y(c)&&a.length<b?a.concat(e(b-a.length,c)):a}).slice(0,Math.ceil(a.length/b)):a}return a.isMemoized("chunkBy",arguments)||a.memoize("chunkBy",arguments,this,f(b,c,d))}}]),b.module("a8m.concat",[]).filter("concat",[function(){return function(a,b){if(y(b))return a;if(D(a))return C(b)?a.concat(d(b)):a.concat(b);if(C(a)){var c=d(a);return C(b)?c.concat(d(b)):c.concat(b)}return a}}]),b.module("a8m.contains",[]).filter({contains:["$parse",t],some:["$parse",t]}),b.module("a8m.count-by",[]).filter("countBy",["$parse",function(a){return function(b,c){var e,f={},g=a(c);return b=C(b)?d(b):b,!D(b)||y(c)?b:(b.forEach(function(a){e=g(a),f[e]||(f[e]=0),f[e]++}),f)}}]),b.module("a8m.defaults",[]).filter("defaults",["$parse",function(a){return function(b,c){if(b=C(b)?d(b):b,!D(b)||!C(c))return b;var e=j(c);return b.forEach(function(b){e.forEach(function(d){var e=a(d),f=e.assign;y(e(b))&&f(b,e(c))})}),b}}]),b.module("a8m.every",[]).filter("every",["$parse",function(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?!0:b.every(function(b){return C(b)||z(c)?a(c)(b):b===c})}}]),b.module("a8m.filter-by",[]).filter("filterBy",["$parse",function(a){return function(b,e,f){var g;return f=A(f)||B(f)?String(f).toLowerCase():c,b=C(b)?d(b):b,!D(b)||y(f)?b:b.filter(function(b){return e.some(function(c){if(~c.indexOf("+")){var d=c.replace(new RegExp("\\s","g"),"").split("+");g=d.reduce(function(c,d,e){return 1===e?a(c)(b)+" "+a(d)(b):c+" "+a(d)(b)})}else g=a(c)(b);return A(g)||B(g)?String(g).toLowerCase().contains(f):!1})})}}]),b.module("a8m.first",[]).filter("first",["$parse",function(a){return function(b){var e,f,g;return b=C(b)?d(b):b,D(b)?(g=Array.prototype.slice.call(arguments,1),e=B(g[0])?g[0]:1,f=B(g[0])?B(g[1])?c:g[1]:g[0],g.length?h(b,e,f?a(f):f):b[0]):b}}]),b.module("a8m.flatten",[]).filter("flatten",function(){return function(a,b){return b=b||!1,a=C(a)?d(a):a,D(a)?b?[].concat.apply([],a):u(a,0):a}}),b.module("a8m.fuzzy-by",[]).filter("fuzzyBy",["$parse",function(a){return function(b,c,e,f){var h,i,j=f||!1;return b=C(b)?d(b):b,!D(b)||y(c)||y(e)?b:(i=a(c),b.filter(function(a){return h=i(a),A(h)?(h=j?h:h.toLowerCase(),e=j?e:e.toLowerCase(),g(h,e)!==!1):!1}))}}]),b.module("a8m.fuzzy",[]).filter("fuzzy",function(){return function(a,b,c){function e(a,b){var c,d,e=Object.keys(a);return 0<e.filter(function(e){return c=a[e],d?!0:A(c)?(c=f?c:c.toLowerCase(),d=g(c,b)!==!1):!1}).length}var f=c||!1;return a=C(a)?d(a):a,!D(a)||y(b)?a:(b=f?b:b.toLowerCase(),a.filter(function(a){return A(a)?(a=f?a:a.toLowerCase(),g(a,b)!==!1):C(a)?e(a,b):!1}))}}),b.module("a8m.group-by",["a8m.filter-watcher"]).filter("groupBy",["$parse","filterWatcher",function(a,b){return function(c,d){function e(a,b){var c,d={};return E(a,function(a){c=b(a),d[c]||(d[c]=[]),d[c].push(a)}),d}return!C(c)||y(d)?c:b.isMemoized("groupBy",arguments)||b.memoize("groupBy",arguments,this,e(c,a(d)))}}]),b.module("a8m.is-empty",[]).filter("isEmpty",function(){return function(a){return C(a)?!d(a).length:!a.length}}),b.module("a8m.join",[]).filter("join",function(){return function(a,b){return y(a)||!D(a)?a:(y(b)&&(b=" "),a.join(b))}}),b.module("a8m.last",[]).filter("last",["$parse",function(a){return function(b){var e,f,g,i=G(b);return i=C(i)?d(i):i,D(i)?(g=Array.prototype.slice.call(arguments,1),e=B(g[0])?g[0]:1,f=B(g[0])?B(g[1])?c:g[1]:g[0],g.length?h(i.reverse(),e,f?a(f):f).reverse():i[i.length-1]):i}}]),b.module("a8m.map",[]).filter("map",["$parse",function(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?b:b.map(function(b){return a(c)(b)})}}]),b.module("a8m.omit",[]).filter("omit",["$parse",function(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?b:b.filter(function(b){return!a(c)(b)})}}]),b.module("a8m.pick",[]).filter("pick",["$parse",function(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?b:b.filter(function(b){return a(c)(b)})}}]),b.module("a8m.range",[]).filter("range",function(){return function(a,b){for(var c=0;c<parseInt(b);c++)a.push(c);return a}}),b.module("a8m.remove-with",[]).filter("removeWith",function(){return function(a,b){return y(b)?a:(a=C(a)?d(a):a,a.filter(function(a){return!f(b,a)}))}}),b.module("a8m.remove",[]).filter("remove",function(){return function(a){a=C(a)?d(a):a;var b=Array.prototype.slice.call(arguments,1);return D(a)?a.filter(function(a){return!b.some(function(b){return H(b,a)})}):a}}),b.module("a8m.reverse",[]).filter("reverse",[function(){return function(a){return a=C(a)?d(a):a,A(a)?a.split("").reverse().join(""):D(a)?a.slice().reverse():a}}]),b.module("a8m.search-field",[]).filter("searchField",["$parse",function(a){return function(b){var c,e;b=C(b)?d(b):b;var f=Array.prototype.slice.call(arguments,1);return D(b)&&f.length?b.map(function(b){return e=f.map(function(d){return(c=a(d))(b)}).join(" "),F(b,{searchField:e})}):b}}]),b.module("a8m.to-array",[]).filter("toArray",function(){return function(a,b){return C(a)?b?Object.keys(a).map(function(b){return F(a[b],{$key:b})}):d(a):a}}),b.module("a8m.unique",[]).filter({unique:["$parse",v],uniq:["$parse",v]}),b.module("a8m.where",[]).filter("where",function(){return function(a,b){return y(b)?a:(a=C(a)?d(a):a,a.filter(function(a){return f(b,a)}))}}),b.module("a8m.xor",[]).filter("xor",["$parse",function(a){return function(b,c,e){function f(b,c){var d=a(e);return c.some(function(a){return e?H(d(a),d(b)):H(a,b)})}return e=e||!1,b=C(b)?d(b):b,c=C(c)?d(c):c,D(b)&&D(c)?b.concat(c).filter(function(a){return!(f(a,b)&&f(a,c))}):b}}]),b.module("a8m.math.byteFmt",["a8m.math"]).filter("byteFmt",["$math",function(a){return function(b,c){return B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)?1024>b?i(b,c,a)+" B":1048576>b?i(b/1024,c,a)+" KB":1073741824>b?i(b/1048576,c,a)+" MB":i(b/1073741824,c,a)+" GB":"NaN"}}]),b.module("a8m.math.degrees",["a8m.math"]).filter("degrees",["$math",function(a){return function(b,c){if(B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)){var d=180*b/a.PI;return a.round(d*a.pow(10,c))/a.pow(10,c)}return"NaN"}}]),b.module("a8m.math.kbFmt",["a8m.math"]).filter("kbFmt",["$math",function(a){return function(b,c){return B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)?1024>b?i(b,c,a)+" KB":1048576>b?i(b/1024,c,a)+" MB":i(b/1048576,c,a)+" GB":"NaN"}}]),b.module("a8m.math",[]).factory("$math",["$window",function(a){return a.Math}]),b.module("a8m.math.max",["a8m.math"]).filter("max",["$math","$parse",function(a,b){function c(c,d){var e=c.map(function(a){return b(d)(a)});return e.indexOf(a.max.apply(a,e))}return function(b,d){return D(b)?y(d)?a.max.apply(a,b):b[c(b,d)]:b}}]),b.module("a8m.math.min",["a8m.math"]).filter("min",["$math","$parse",function(a,b){function c(c,d){var e=c.map(function(a){return b(d)(a)});return e.indexOf(a.min.apply(a,e))}return function(b,d){return D(b)?y(d)?a.min.apply(a,b):b[c(b,d)]:b}}]),b.module("a8m.math.percent",["a8m.math"]).filter("percent",["$math","$window",function(a,b){return function(c,d,e){var f=A(c)?b.Number(c):c;return d=d||100,e=e||!1,!B(f)||b.isNaN(f)?c:e?a.round(f/d*100):f/d*100}}]),b.module("a8m.math.radians",["a8m.math"]).filter("radians",["$math",function(a){return function(b,c){if(B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)){var d=3.14159265359*b/180;return a.round(d*a.pow(10,c))/a.pow(10,c)}return"NaN"}}]),b.module("a8m.math.radix",[]).filter("radix",function(){return function(a,b){var c=/^[2-9]$|^[1-2]\d$|^3[0-6]$/;return B(a)&&c.test(b)?a.toString(b).toUpperCase():a}}),b.module("a8m.math.shortFmt",["a8m.math"]).filter("shortFmt",["$math",function(a){return function(b,c){return B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)?1e3>b?b:1e6>b?i(b/1e3,c,a)+" K":1e9>b?i(b/1e6,c,a)+" M":i(b/1e9,c,a)+" B":"NaN"}}]),b.module("a8m.math.sum",[]).filter("sum",function(){return function(a,b){return D(a)?a.reduce(function(a,b){return a+b},b||0):a}}),b.module("a8m.ends-with",[]).filter("endsWith",function(){return function(a,b,c){var d,e=c||!1;return!A(a)||y(b)?a:(a=e?a:a.toLowerCase(),d=a.length-b.length,-1!==a.indexOf(e?b:b.toLowerCase(),d))}}),b.module("a8m.latinize",[]).filter("latinize",[function(){function a(a){return a.replace(/[^\u0000-\u007E]/g,function(a){return c[a]||a})}for(var b=[{base:"A",letters:"AⒶAÀÁÂẦẤẪẨÃĀĂẰẮẴẲȦǠÄǞẢÅǺǍȀȂẠẬẶḀĄȺⱯ"},{base:"AA",letters:"Ꜳ"},{base:"AE",letters:"ÆǼǢ"},{base:"AO",letters:"Ꜵ"},{base:"AU",letters:"Ꜷ"},{base:"AV",letters:"ꜸꜺ"},{base:"AY",letters:"Ꜽ"},{base:"B",letters:"BⒷBḂḄḆɃƂƁ"},{base:"C",letters:"CⒸCĆĈĊČÇḈƇȻꜾ"},{base:"D",letters:"DⒹDḊĎḌḐḒḎĐƋƊƉꝹ"},{base:"DZ",letters:"DZDŽ"},{base:"Dz",letters:"DzDž"},{base:"E",letters:"EⒺEÈÉÊỀẾỄỂẼĒḔḖĔĖËẺĚȄȆẸỆȨḜĘḘḚƐƎ"},{base:"F",letters:"FⒻFḞƑꝻ"},{base:"G",letters:"GⒼGǴĜḠĞĠǦĢǤƓꞠꝽꝾ"},{base:"H",letters:"HⒽHĤḢḦȞḤḨḪĦⱧⱵꞍ"},{base:"I",letters:"IⒾIÌÍÎĨĪĬİÏḮỈǏȈȊỊĮḬƗ"},{base:"J",letters:"JⒿJĴɈ"},{base:"K",letters:"KⓀKḰǨḲĶḴƘⱩꝀꝂꝄꞢ"},{base:"L",letters:"LⓁLĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ"},{base:"LJ",letters:"LJ"},{base:"Lj",letters:"Lj"},{base:"M",letters:"MⓂMḾṀṂⱮƜ"},{base:"N",letters:"NⓃNǸŃÑṄŇṆŅṊṈȠƝꞐꞤ"},{base:"NJ",letters:"NJ"},{base:"Nj",letters:"Nj"},{base:"O",letters:"OⓄOÒÓÔỒỐỖỔÕṌȬṎŌṐṒŎȮȰÖȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬØǾƆƟꝊꝌ"},{base:"OI",letters:"Ƣ"},{base:"OO",letters:"Ꝏ"},{base:"OU",letters:"Ȣ"},{base:"OE",letters:"\8cŒ"},{base:"oe",letters:"\9cœ"},{base:"P",letters:"PⓅPṔṖƤⱣꝐꝒꝔ"},{base:"Q",letters:"QⓆQꝖꝘɊ"},{base:"R",letters:"RⓇRŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ"},{base:"S",letters:"SⓈSẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ"},{base:"T",letters:"TⓉTṪŤṬȚŢṰṮŦƬƮȾꞆ"},{base:"TZ",letters:"Ꜩ"},{base:"U",letters:"UⓊUÙÚÛŨṸŪṺŬÜǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ"},{base:"V",letters:"VⓋVṼṾƲꝞɅ"},{base:"VY",letters:"Ꝡ"},{base:"W",letters:"WⓌWẀẂŴẆẄẈⱲ"},{base:"X",letters:"XⓍXẊẌ"},{base:"Y",letters:"YⓎYỲÝŶỸȲẎŸỶỴƳɎỾ"},{base:"Z",letters:"ZⓏZŹẐŻŽẒẔƵȤⱿⱫꝢ"},{base:"a",letters:"aⓐaẚàáâầấẫẩãāăằắẵẳȧǡäǟảåǻǎȁȃạậặḁąⱥɐ"},{base:"aa",letters:"ꜳ"},{base:"ae",letters:"æǽǣ"},{base:"ao",letters:"ꜵ"},{base:"au",letters:"ꜷ"},{base:"av",letters:"ꜹꜻ"},{base:"ay",letters:"ꜽ"},{base:"b",letters:"bⓑbḃḅḇƀƃɓ"},{base:"c",letters:"cⓒcćĉċčçḉƈȼꜿↄ"},{base:"d",letters:"dⓓdḋďḍḑḓḏđƌɖɗꝺ"},{base:"dz",letters:"dzdž"},{base:"e",letters:"eⓔeèéêềếễểẽēḕḗĕėëẻěȅȇẹệȩḝęḙḛɇɛǝ"},{base:"f",letters:"fⓕfḟƒꝼ"},{base:"g",letters:"gⓖgǵĝḡğġǧģǥɠꞡᵹꝿ"},{base:"h",letters:"hⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ"},{base:"hv",letters:"ƕ"},{base:"i",letters:"iⓘiìíîĩīĭïḯỉǐȉȋịįḭɨı"},{base:"j",letters:"jⓙjĵǰɉ"},{base:"k",letters:"kⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ"},{base:"l",letters:"lⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ"},{base:"lj",letters:"lj"},{base:"m",letters:"mⓜmḿṁṃɱɯ"},{base:"n",letters:"nⓝnǹńñṅňṇņṋṉƞɲʼnꞑꞥ"},{base:"nj",letters:"nj"},{base:"o",letters:"oⓞoòóôồốỗổõṍȭṏōṑṓŏȯȱöȫỏőǒȍȏơờớỡởợọộǫǭøǿɔꝋꝍɵ"},{base:"oi",letters:"ƣ"},{base:"ou",letters:"ȣ"},{base:"oo",letters:"ꝏ"},{base:"p",letters:"pⓟpṕṗƥᵽꝑꝓꝕ"},{base:"q",letters:"qⓠqɋꝗꝙ"},{base:"r",letters:"rⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ"},{base:"s",letters:"sⓢsßśṥŝṡšṧṣṩșşȿꞩꞅẛ"},{base:"t",letters:"tⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ"},{base:"tz",letters:"ꜩ"},{base:"u",letters:"uⓤuùúûũṹūṻŭüǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ"},{base:"v",letters:"vⓥvṽṿʋꝟʌ"},{base:"vy",letters:"ꝡ"},{base:"w",letters:"wⓦwẁẃŵẇẅẘẉⱳ"},{base:"x",letters:"xⓧxẋẍ"},{base:"y",letters:"yⓨyỳýŷỹȳẏÿỷẙỵƴɏỿ"},{base:"z",letters:"zⓩzźẑżžẓẕƶȥɀⱬꝣ"}],c={},d=0;d<b.length;d++)for(var e=b[d].letters.split(""),f=0;f<e.length;f++)c[e[f]]=b[d].base;return function(b){return A(b)?a(b):b}}]),b.module("a8m.ltrim",[]).filter("ltrim",function(){return function(a,b){var c=b||"\\s";return A(a)?a.replace(new RegExp("^"+c+"+"),""):a}}),b.module("a8m.match",[]).filter("match",function(){return function(a,b,c){var d=new RegExp(b,c);return A(a)?a.match(d):null}}),b.module("a8m.repeat",[]).filter("repeat",[function(){return function(a,b,c){var d=~~b;return A(a)&&d?w(a,--b,c||""):a}}]),b.module("a8m.rtrim",[]).filter("rtrim",function(){return function(a,b){var c=b||"\\s";return A(a)?a.replace(new RegExp(c+"+$"),""):a}}),b.module("a8m.slugify",[]).filter("slugify",[function(){return function(a,b){var c=y(b)?"-":b;return A(a)?a.toLowerCase().replace(/\s+/g,c):a}}]),b.module("a8m.starts-with",[]).filter("startsWith",function(){return function(a,b,c){var d=c||!1;return!A(a)||y(b)?a:(a=d?a:a.toLowerCase(),!a.indexOf(d?b:b.toLowerCase()))}}),b.module("a8m.stringular",[]).filter("stringular",function(){return function(a){var b=Array.prototype.slice.call(arguments,1);return a.replace(/{(\d+)}/g,function(a,c){return y(b[c])?a:b[c]})}}),b.module("a8m.strip-tags",[]).filter("stripTags",function(){return function(a){return A(a)?a.replace(/<\S[^><]*>/g,""):a}}),b.module("a8m.test",[]).filter("test",function(){return function(a,b,c){var d=new RegExp(b,c);return A(a)?d.test(a):a}}),b.module("a8m.trim",[]).filter("trim",function(){return function(a,b){var c=b||"\\s";return A(a)?a.replace(new RegExp("^"+c+"+|"+c+"+$","g"),""):a}}),b.module("a8m.truncate",[]).filter("truncate",function(){return function(a,b,c,d){return b=y(b)?a.length:b,d=d||!1,c=c||"",!A(a)||a.length<=b?a:a.substring(0,d?-1===a.indexOf(" ",b)?a.length:a.indexOf(" ",b):b)+c}}),b.module("a8m.ucfirst",[]).filter("ucfirst",[function(){return function(a){return A(a)?a.split(" ").map(function(a){return a.charAt(0).toUpperCase()+a.substring(1)}).join(" "):a}}]),b.module("a8m.uri-component-encode",[]).filter("uriComponentEncode",["$window",function(a){return function(b){return A(b)?a.encodeURIComponent(b):b}}]),b.module("a8m.uri-encode",[]).filter("uriEncode",["$window",function(a){return function(b){return A(b)?a.encodeURI(b):b}}]),b.module("a8m.wrap",[]).filter("wrap",function(){return function(a,b,c){return A(a)&&x(b)?[b,a,c||b].join(""):a}}),b.module("a8m.filter-watcher",[]).provider("filterWatcher",function(){this.$get=["$window","$rootScope",function(a,b){function c(b,c){function d(){var b=[];return function(c,d){if(C(d)&&!e(d)){if(~b.indexOf(d))return"[Circular]";b.push(d)}return a==d?"$WINDOW":a.document==d?"$DOCUMENT":k(d)?"$SCOPE":d}}return[b,JSON.stringify(c,d())].join("#").replace(/"/g,"")}function d(a){var b=a.targetScope.$id;E(l[b],function(a){delete j[a]}),delete l[b]}function f(){m(function(){b.$$phase||(j={})},2e3)}function g(a,b){var c=a.$id;return y(l[c])&&(a.$on("$destroy",d),l[c]=[]),l[c].push(b)}function h(a,b){var d=c(a,b);return j[d]}function i(a,b,d,e){var h=c(a,b);return j[h]=e,k(d)?g(d,h):f(),e}var j={},l={},m=a.setTimeout;return{isMemoized:h,memoize:i}}]}),b.module("angular.filter",["a8m.ucfirst","a8m.uri-encode","a8m.uri-component-encode","a8m.slugify","a8m.latinize","a8m.strip-tags","a8m.stringular","a8m.truncate","a8m.starts-with","a8m.ends-with","a8m.wrap","a8m.trim","a8m.ltrim","a8m.rtrim","a8m.repeat","a8m.test","a8m.match","a8m.to-array","a8m.concat","a8m.contains","a8m.unique","a8m.is-empty","a8m.after","a8m.after-where","a8m.before","a8m.before-where","a8m.defaults","a8m.where","a8m.reverse","a8m.remove","a8m.remove-with","a8m.group-by","a8m.count-by","a8m.chunk-by","a8m.search-field","a8m.fuzzy-by","a8m.fuzzy","a8m.omit","a8m.pick","a8m.every","a8m.filter-by","a8m.xor","a8m.map","a8m.first","a8m.last","a8m.flatten","a8m.join","a8m.range","a8m.math","a8m.math.max","a8m.math.min","a8m.math.percent","a8m.math.radix","a8m.math.sum","a8m.math.degrees","a8m.math.radians","a8m.math.byteFmt","a8m.math.kbFmt","a8m.math.shortFmt","a8m.angular","a8m.conditions","a8m.is-null","a8m.filter-watcher"])}(window,window.angular),function(a,b,c){"use strict";var d=b.isDefined,e=b.isUndefined,f=b.isNumber,g=b.isObject,h=b.isArray,i=b.extend,j=b.toJson,k=b.module("LocalStorageModule",[]);k.provider("localStorageService",function(){this.prefix="ls",this.storageType="localStorage",this.cookie={expiry:30,path:"/"},this.notify={setItem:!0,removeItem:!1},this.setPrefix=function(a){return this.prefix=a,this},this.setStorageType=function(a){return this.storageType=a,this},this.setStorageCookie=function(a,b){return this.cookie.expiry=a,this.cookie.path=b,this},this.setStorageCookieDomain=function(a){return this.cookie.domain=a,this},this.setNotify=function(a,b){return this.notify={setItem:a,removeItem:b},this},this.$get=["$rootScope","$window","$document","$parse",function(a,b,c,k){var l,m=this,n=m.prefix,o=m.cookie,p=m.notify,q=m.storageType;c?c[0]&&(c=c[0]):c=document,"."!==n.substr(-1)&&(n=n?n+".":"");var r=function(a){return n+a},s=function(){try{var c=q in b&&null!==b[q],d=r("__"+Math.round(1e7*Math.random()));return c&&(l=b[q],l.setItem(d,""),l.removeItem(d)),c}catch(e){return q="cookie",a.$broadcast("LocalStorageModule.notification.error",e.message),!1}}(),t=function(b,c){if(c=e(c)?null:j(c),!s||"cookie"===m.storageType)return s||a.$broadcast("LocalStorageModule.notification.warning","LOCAL_STORAGE_NOT_SUPPORTED"),p.setItem&&a.$broadcast("LocalStorageModule.notification.setitem",{key:b,newvalue:c,storageType:"cookie"}),z(b,c);try{l&&l.setItem(r(b),c),p.setItem&&a.$broadcast("LocalStorageModule.notification.setitem",{key:b,newvalue:c,storageType:m.storageType})}catch(d){return a.$broadcast("LocalStorageModule.notification.error",d.message),z(b,c)}return!0},u=function(b){if(!s||"cookie"===m.storageType)return s||a.$broadcast("LocalStorageModule.notification.warning","LOCAL_STORAGE_NOT_SUPPORTED"),A(b);var c=l?l.getItem(r(b)):null;if(!c||"null"===c)return null;try{return JSON.parse(c)}catch(d){return c}},v=function(){var b,c;for(b=0;b<arguments.length;b++)if(c=arguments[b],s&&"cookie"!==m.storageType)try{l.removeItem(r(c)),p.removeItem&&a.$broadcast("LocalStorageModule.notification.removeitem",{key:c,storageType:m.storageType})}catch(d){a.$broadcast("LocalStorageModule.notification.error",d.message),B(c)}else s||a.$broadcast("LocalStorageModule.notification.warning","LOCAL_STORAGE_NOT_SUPPORTED"),p.removeItem&&a.$broadcast("LocalStorageModule.notification.removeitem",{key:c,storageType:"cookie"}),B(c)},w=function(){if(!s)return a.$broadcast("LocalStorageModule.notification.warning","LOCAL_STORAGE_NOT_SUPPORTED"),!1;var b=n.length,c=[];for(var d in l)if(d.substr(0,b)===n)try{c.push(d.substr(b))}catch(e){return a.$broadcast("LocalStorageModule.notification.error",e.Description),[]}return c},x=function(b){var c=n?new RegExp("^"+n):new RegExp,d=b?new RegExp(b):new RegExp;if(!s||"cookie"===m.storageType)return s||a.$broadcast("LocalStorageModule.notification.warning","LOCAL_STORAGE_NOT_SUPPORTED"),C();var e=n.length;for(var f in l)if(c.test(f)&&d.test(f.substr(e)))try{v(f.substr(e))}catch(g){return a.$broadcast("LocalStorageModule.notification.error",g.message),C()}return!0},y=function(){try{return b.navigator.cookieEnabled||"cookie"in c&&(c.cookie.length>0||(c.cookie="test").indexOf.call(c.cookie,"test")>-1)}catch(d){return a.$broadcast("LocalStorageModule.notification.error",d.message),!1}}(),z=function(b,d,i){if(e(d))return!1;if((h(d)||g(d))&&(d=j(d)),!y)return a.$broadcast("LocalStorageModule.notification.error","COOKIES_NOT_SUPPORTED"),!1;try{var k="",l=new Date,m="";if(null===d?(l.setTime(l.getTime()+-864e5),k="; expires="+l.toGMTString(),d=""):f(i)&&0!==i?(l.setTime(l.getTime()+24*i*60*60*1e3),k="; expires="+l.toGMTString()):0!==o.expiry&&(l.setTime(l.getTime()+24*o.expiry*60*60*1e3),k="; expires="+l.toGMTString()),b){var n="; path="+o.path;o.domain&&(m="; domain="+o.domain),c.cookie=r(b)+"="+encodeURIComponent(d)+k+n+m}}catch(p){return a.$broadcast("LocalStorageModule.notification.error",p.message),!1}return!0},A=function(b){if(!y)return a.$broadcast("LocalStorageModule.notification.error","COOKIES_NOT_SUPPORTED"),!1;for(var d=c.cookie&&c.cookie.split(";")||[],e=0;e<d.length;e++){for(var f=d[e];" "===f.charAt(0);)f=f.substring(1,f.length);if(0===f.indexOf(r(b)+"=")){var g=decodeURIComponent(f.substring(n.length+b.length+1,f.length));try{return JSON.parse(g)}catch(h){return g}}}return null},B=function(a){z(a,null)},C=function(){for(var a=null,b=n.length,d=c.cookie.split(";"),e=0;e<d.length;e++){for(a=d[e];" "===a.charAt(0);)a=a.substring(1,a.length);var f=a.substring(b,a.indexOf("="));B(f)}},D=function(){return q},E=function(a,b,c,e){e=e||b;var f=u(e);return null===f&&d(c)?f=c:g(f)&&g(c)&&(f=i(c,f)),k(b).assign(a,f),a.$watch(b,function(a){t(e,a)},g(a[b]))},F=function(){for(var a=0,c=b[q],d=0;d<c.length;d++)0===c.key(d).indexOf(n)&&a++;return a};return{isSupported:s,getStorageType:D,set:t,add:t,get:u,keys:w,remove:v,clearAll:x,bind:E,deriveKey:r,length:F,cookie:{isSupported:y,set:z,add:z,get:A,remove:B,clearAll:C}}}]})}(window,window.angular),"undefined"!=typeof module&&"undefined"!=typeof exports&&module.exports===exports&&(module.exports="angular-md5"),function(a){a.module("angular-md5",["gdi2290.md5"]),a.module("ngMd5",["gdi2290.md5"]),a.module("gdi2290.md5",["gdi2290.gravatar-filter","gdi2290.md5-service","gdi2290.md5-filter"]),a.module("gdi2290.gravatar-filter",[]).filter("gravatar",["md5",function(a){var b={};return function(c,d){return b[c]||(d=d?a.createHash(d.toString().toLowerCase()):"",b[c]=c?a.createHash(c.toString().toLowerCase()):d),b[c]}}]),a.module("gdi2290.md5-filter",[]).filter("md5",["md5",function(a){return function(b){return b?a.createHash(b.toString().toLowerCase()):b}}]),a.module("gdi2290.md5-service",[]).factory("md5",[function(){var a={createHash:function(a){if(null===a)return null;var b,c,d,e,f,g,h,i,j,k,l=function(a,b){return a<<b|a>>>32-b},m=function(a,b){var c,d,e,f,g;return e=2147483648&a,f=2147483648&b,c=1073741824&a,d=1073741824&b,g=(1073741823&a)+(1073741823&b),c&d?2147483648^g^e^f:c|d?1073741824&g?3221225472^g^e^f:1073741824^g^e^f:g^e^f},n=function(a,b,c){return a&b|~a&c},o=function(a,b,c){return a&c|b&~c},p=function(a,b,c){return a^b^c},q=function(a,b,c){return b^(a|~c)},r=function(a,b,c,d,e,f,g){return a=m(a,m(m(n(b,c,d),e),g)),m(l(a,f),b)},s=function(a,b,c,d,e,f,g){return a=m(a,m(m(o(b,c,d),e),g)),m(l(a,f),b)},t=function(a,b,c,d,e,f,g){return a=m(a,m(m(p(b,c,d),e),g)),m(l(a,f),b)},u=function(a,b,c,d,e,f,g){return a=m(a,m(m(q(b,c,d),e),g)),m(l(a,f),b)},v=function(a){for(var b,c=a.length,d=c+8,e=(d-d%64)/64,f=16*(e+1),g=new Array(f-1),h=0,i=0;c>i;)b=(i-i%4)/4,h=i%4*8,g[b]=g[b]|a.charCodeAt(i)<<h,i++;return b=(i-i%4)/4,h=i%4*8,g[b]=g[b]|128<<h,g[f-2]=c<<3,g[f-1]=c>>>29,g},w=function(a){var b,c,d="",e="";for(c=0;3>=c;c++)b=a>>>8*c&255,e="0"+b.toString(16),d+=e.substr(e.length-2,2);return d},x=[],y=7,z=12,A=17,B=22,C=5,D=9,E=14,F=20,G=4,H=11,I=16,J=23,K=6,L=10,M=15,N=21;for(x=v(a),h=1732584193,i=4023233417,j=2562383102,k=271733878,b=x.length,c=0;b>c;c+=16)d=h,e=i,f=j,g=k,h=r(h,i,j,k,x[c+0],y,3614090360),k=r(k,h,i,j,x[c+1],z,3905402710),j=r(j,k,h,i,x[c+2],A,606105819),i=r(i,j,k,h,x[c+3],B,3250441966),h=r(h,i,j,k,x[c+4],y,4118548399),k=r(k,h,i,j,x[c+5],z,1200080426),j=r(j,k,h,i,x[c+6],A,2821735955),i=r(i,j,k,h,x[c+7],B,4249261313),h=r(h,i,j,k,x[c+8],y,1770035416),k=r(k,h,i,j,x[c+9],z,2336552879),j=r(j,k,h,i,x[c+10],A,4294925233),i=r(i,j,k,h,x[c+11],B,2304563134),h=r(h,i,j,k,x[c+12],y,1804603682),k=r(k,h,i,j,x[c+13],z,4254626195),j=r(j,k,h,i,x[c+14],A,2792965006),i=r(i,j,k,h,x[c+15],B,1236535329),h=s(h,i,j,k,x[c+1],C,4129170786),k=s(k,h,i,j,x[c+6],D,3225465664),j=s(j,k,h,i,x[c+11],E,643717713),i=s(i,j,k,h,x[c+0],F,3921069994),h=s(h,i,j,k,x[c+5],C,3593408605),k=s(k,h,i,j,x[c+10],D,38016083),j=s(j,k,h,i,x[c+15],E,3634488961),i=s(i,j,k,h,x[c+4],F,3889429448),h=s(h,i,j,k,x[c+9],C,568446438),k=s(k,h,i,j,x[c+14],D,3275163606),j=s(j,k,h,i,x[c+3],E,4107603335),i=s(i,j,k,h,x[c+8],F,1163531501),
-h=s(h,i,j,k,x[c+13],C,2850285829),k=s(k,h,i,j,x[c+2],D,4243563512),j=s(j,k,h,i,x[c+7],E,1735328473),i=s(i,j,k,h,x[c+12],F,2368359562),h=t(h,i,j,k,x[c+5],G,4294588738),k=t(k,h,i,j,x[c+8],H,2272392833),j=t(j,k,h,i,x[c+11],I,1839030562),i=t(i,j,k,h,x[c+14],J,4259657740),h=t(h,i,j,k,x[c+1],G,2763975236),k=t(k,h,i,j,x[c+4],H,1272893353),j=t(j,k,h,i,x[c+7],I,4139469664),i=t(i,j,k,h,x[c+10],J,3200236656),h=t(h,i,j,k,x[c+13],G,681279174),k=t(k,h,i,j,x[c+0],H,3936430074),j=t(j,k,h,i,x[c+3],I,3572445317),i=t(i,j,k,h,x[c+6],J,76029189),h=t(h,i,j,k,x[c+9],G,3654602809),k=t(k,h,i,j,x[c+12],H,3873151461),j=t(j,k,h,i,x[c+15],I,530742520),i=t(i,j,k,h,x[c+2],J,3299628645),h=u(h,i,j,k,x[c+0],K,4096336452),k=u(k,h,i,j,x[c+7],L,1126891415),j=u(j,k,h,i,x[c+14],M,2878612391),i=u(i,j,k,h,x[c+5],N,4237533241),h=u(h,i,j,k,x[c+12],K,1700485571),k=u(k,h,i,j,x[c+3],L,2399980690),j=u(j,k,h,i,x[c+10],M,4293915773),i=u(i,j,k,h,x[c+1],N,2240044497),h=u(h,i,j,k,x[c+8],K,1873313359),k=u(k,h,i,j,x[c+15],L,4264355552),j=u(j,k,h,i,x[c+6],M,2734768916),i=u(i,j,k,h,x[c+13],N,1309151649),h=u(h,i,j,k,x[c+4],K,4149444226),k=u(k,h,i,j,x[c+11],L,3174756917),j=u(j,k,h,i,x[c+2],M,718787259),i=u(i,j,k,h,x[c+9],N,3951481745),h=m(h,d),i=m(i,e),j=m(j,f),k=m(k,g);var O=w(h)+w(i)+w(j)+w(k);return O.toLowerCase()}};return a}])}(angular),angular.module("notification",[]).provider("$notification",$notificationProvider),function(a,b,c){"use strict";function d(a){return null!=a&&""!==a&&"hasOwnProperty"!==a&&h.test("."+a)}function e(a,e){if(!d(e))throw g("badmember",'Dotted member path "@{0}" is invalid.',e);for(var f=e.split("."),h=0,i=f.length;i>h&&b.isDefined(a);h++){var j=f[h];a=null!==a?a[j]:c}return a}function f(a,c){c=c||{},b.forEach(c,function(a,b){delete c[b]});for(var d in a)!a.hasOwnProperty(d)||"$"===d.charAt(0)&&"$"===d.charAt(1)||(c[d]=a[d]);return c}var g=b.$$minErr("$resource"),h=/^(\.[a-zA-Z_$@][0-9a-zA-Z_$@]*)+$/;b.module("ngResource",["ng"]).provider("$resource",function(){var a=/^https?:\/\/[^\/]*/,d=this;this.defaults={stripTrailingSlashes:!0,actions:{get:{method:"GET"},save:{method:"POST"},query:{method:"GET",isArray:!0},remove:{method:"DELETE"},"delete":{method:"DELETE"}}},this.$get=["$http","$q",function(h,i){function j(a){return k(a,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function k(a,b){return encodeURIComponent(a).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,b?"%20":"+")}function l(a,b){this.template=a,this.defaults=p({},d.defaults,b),this.urlParams={}}function m(a,j,k,s){function t(a,b){var c={};return b=p({},j,b),o(b,function(b,d){r(b)&&(b=b()),c[d]=b&&b.charAt&&"@"==b.charAt(0)?e(a,b.substr(1)):b}),c}function u(a){return a.resource}function v(a){f(a||{},this)}var w=new l(a,s);return k=p({},d.defaults.actions,k),v.prototype.toJSON=function(){var a=p({},this);return delete a.$promise,delete a.$resolved,a},o(k,function(a,d){var e=/^(POST|PUT|PATCH)$/i.test(a.method);v[d]=function(j,k,l,m){var s,x,y,z={};switch(arguments.length){case 4:y=m,x=l;case 3:case 2:if(!r(k)){z=j,s=k,x=l;break}if(r(j)){x=j,y=k;break}x=k,y=l;case 1:r(j)?x=j:e?s=j:z=j;break;case 0:break;default:throw g("badargs","Expected up to 4 arguments [params, data, success, error], got {0} arguments",arguments.length)}var A=this instanceof v,B=A?s:a.isArray?[]:new v(s),C={},D=a.interceptor&&a.interceptor.response||u,E=a.interceptor&&a.interceptor.responseError||c;o(a,function(a,b){switch(b){default:C[b]=q(a);break;case"params":case"isArray":case"interceptor":break;case"timeout":C[b]=a}}),e&&(C.data=s),w.setUrlParams(C,p({},t(s,a.params||{}),z),a.url);var F=h(C).then(function(c){var e=c.data,h=B.$promise;if(e){if(b.isArray(e)!==!!a.isArray)throw g("badcfg","Error in resource configuration for action `{0}`. Expected response to contain an {1} but got an {2} (Request: {3} {4})",d,a.isArray?"array":"object",b.isArray(e)?"array":"object",C.method,C.url);a.isArray?(B.length=0,o(e,function(a){"object"==typeof a?B.push(new v(a)):B.push(a)})):(f(e,B),B.$promise=h)}return B.$resolved=!0,c.resource=B,c},function(a){return B.$resolved=!0,(y||n)(a),i.reject(a)});return F=F.then(function(a){var b=D(a);return(x||n)(b,a.headers),b},E),A?F:(B.$promise=F,B.$resolved=!1,B)},v.prototype["$"+d]=function(a,b,c){r(a)&&(c=b,b=a,a={});var e=v[d].call(this,a,this,b,c);return e.$promise||e}}),v.bind=function(b){return m(a,p({},j,b),k)},v}var n=b.noop,o=b.forEach,p=b.extend,q=b.copy,r=b.isFunction;return l.prototype={setUrlParams:function(c,d,e){var f,h,i=this,k=e||i.template,l="",m=i.urlParams={};o(k.split(/\W/),function(a){if("hasOwnProperty"===a)throw g("badname","hasOwnProperty is not a valid parameter name.");!new RegExp("^\\d+$").test(a)&&a&&new RegExp("(^|[^\\\\]):"+a+"(\\W|$)").test(k)&&(m[a]=!0)}),k=k.replace(/\\:/g,":"),k=k.replace(a,function(a){return l=a,""}),d=d||{},o(i.urlParams,function(a,c){f=d.hasOwnProperty(c)?d[c]:i.defaults[c],b.isDefined(f)&&null!==f?(h=j(f),k=k.replace(new RegExp(":"+c+"(\\W|$)","g"),function(a,b){return h+b})):k=k.replace(new RegExp("(/?):"+c+"(\\W|$)","g"),function(a,b,c){return"/"==c.charAt(0)?c:b+c})}),i.defaults.stripTrailingSlashes&&(k=k.replace(/\/+$/,"")||"/"),k=k.replace(/\/\.(?=\w+($|\?))/,"."),c.url=l+k.replace(/\/\\\./,"/."),o(d,function(a,b){i.urlParams[b]||(c.params=c.params||{},c.params[b]=a)})}},m}]})}(window,window.angular),function(a,b,c){"use strict";function d(){this.$get=["$$sanitizeUri",function(a){return function(b){var c=[];return g(b,j(c,function(b,c){return!/^unsafe/.test(a(b,c))})),c.join("")}}]}function e(a){var c=[],d=j(c,b.noop);return d.chars(a),c.join("")}function f(a,c){var d,e={},f=a.split(",");for(d=0;d<f.length;d++)e[c?b.lowercase(f[d]):f[d]]=!0;return e}function g(a,c){function d(a,d,f,g){if(d=b.lowercase(d),z[d])for(;t.last()&&A[t.last()];)e("",t.last());y[d]&&t.last()==d&&e("",d),g=v[d]||!!g,g||t.push(d);var i={};f.replace(n,function(a,b,c,d,e){var f=c||d||e||"";i[b]=h(f)}),c.start&&c.start(d,i,g)}function e(a,d){var e,f=0;if(d=b.lowercase(d))for(f=t.length-1;f>=0&&t[f]!=d;f--);if(f>=0){for(e=t.length-1;e>=f;e--)c.end&&c.end(t[e]);t.length=f}}"string"!=typeof a&&(a=null===a||"undefined"==typeof a?"":""+a);var f,g,i,j,t=[],u=a;for(t.last=function(){return t[t.length-1]};a;){if(j="",g=!0,t.last()&&C[t.last()]?(a=a.replace(new RegExp("([\\W\\w]*)<\\s*\\/\\s*"+t.last()+"[^>]*>","i"),function(a,b){return b=b.replace(q,"$1").replace(s,"$1"),c.chars&&c.chars(h(b)),""}),e("",t.last())):(0===a.indexOf("<!--")?(f=a.indexOf("--",4),f>=0&&a.lastIndexOf("-->",f)===f&&(c.comment&&c.comment(a.substring(4,f)),a=a.substring(f+3),g=!1)):r.test(a)?(i=a.match(r),i&&(a=a.replace(i[0],""),g=!1)):p.test(a)?(i=a.match(m),i&&(a=a.substring(i[0].length),i[0].replace(m,e),g=!1)):o.test(a)&&(i=a.match(l),i?(i[4]&&(a=a.substring(i[0].length),i[0].replace(l,d)),g=!1):(j+="<",a=a.substring(1))),g&&(f=a.indexOf("<"),j+=0>f?a:a.substring(0,f),a=0>f?"":a.substring(f),c.chars&&c.chars(h(j)))),a==u)throw k("badparse","The sanitizer was unable to parse the following block of html: {0}",a);u=a}e()}function h(a){return a?(I.innerHTML=a.replace(/</g,"&lt;"),I.textContent):""}function i(a){return a.replace(/&/g,"&amp;").replace(t,function(a){var b=a.charCodeAt(0),c=a.charCodeAt(1);return"&#"+(1024*(b-55296)+(c-56320)+65536)+";"}).replace(u,function(a){return"&#"+a.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}function j(a,c){var d=!1,e=b.bind(a,a.push);return{start:function(a,f,g){a=b.lowercase(a),!d&&C[a]&&(d=a),d||D[a]!==!0||(e("<"),e(a),b.forEach(f,function(d,f){var g=b.lowercase(f),h="img"===a&&"src"===g||"background"===g;H[g]!==!0||E[g]===!0&&!c(d,h)||(e(" "),e(f),e('="'),e(i(d)),e('"'))}),e(g?"/>":">"))},end:function(a){a=b.lowercase(a),d||D[a]!==!0||(e("</"),e(a),e(">")),a==d&&(d=!1)},chars:function(a){d||e(i(a))}}}var k=b.$$minErr("$sanitize"),l=/^<((?:[a-zA-Z])[\w:-]*)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*(>?)/,m=/^<\/\s*([\w:-]+)[^>]*>/,n=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,o=/^</,p=/^<\//,q=/<!--(.*?)-->/g,r=/<!DOCTYPE([^>]*?)>/i,s=/<!\[CDATA\[(.*?)]]>/g,t=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,u=/([^\#-~| |!])/g,v=f("area,br,col,hr,img,wbr"),w=f("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),x=f("rp,rt"),y=b.extend({},x,w),z=b.extend({},w,f("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,script,section,table,ul")),A=b.extend({},x,f("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var")),B=f("circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph,hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline,radialGradient,rect,stop,svg,switch,text,title,tspan,use"),C=f("script,style"),D=b.extend({},v,z,A,y,B),E=f("background,cite,href,longdesc,src,usemap,xlink:href"),F=f("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,tabindex,target,title,type,valign,value,vspace,width"),G=f("accent-height,accumulate,additive,alphabetic,arabic-form,ascent,baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,underline-thickness,unicode,unicode-range,units-per-em,values,version,viewBox,visibility,width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan",!0),H=b.extend({},E,G,F),I=document.createElement("pre");b.module("ngSanitize",[]).provider("$sanitize",d),b.module("ngSanitize").filter("linky",["$sanitize",function(a){var c=/((ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"\u201d\u2019]/i,d=/^mailto:/i;return function(f,g){function h(a){a&&n.push(e(a))}function i(a,c){n.push("<a "),b.isDefined(g)&&n.push('target="',g,'" '),n.push('href="',a.replace(/"/g,"&quot;"),'">'),h(c),n.push("</a>")}if(!f)return f;for(var j,k,l,m=f,n=[];j=m.match(c);)k=j[0],j[2]||j[4]||(k=(j[3]?"http://":"mailto:")+k),l=j.index,h(m.substr(0,l)),i(k,j[0].replace(d,"")),m=m.substring(l+j[0].length);return h(m),a(n.join(""))}}])}(window,window.angular),function(a,b){"use strict";a.module("smart-table",[]).run(["$templateCache",function(a){a.put("template/smart-table/pagination.html",'<nav ng-if="numPages && pages.length >= 2"><ul class="pagination"><li ng-repeat="page in pages" ng-class="{active: page==currentPage}"><a ng-click="selectPage(page)">{{page}}</a></li></ul></nav>')}]),a.module("smart-table").constant("stConfig",{pagination:{template:"template/smart-table/pagination.html",itemsByPage:10,displayedPages:5},search:{delay:400,inputEvent:"input"},select:{mode:"single",selectedClass:"st-selected"},sort:{ascentClass:"st-sort-ascent",descentClass:"st-sort-descent",skipNatural:!1,delay:300},pipe:{delay:100}}),a.module("smart-table").controller("stTableController",["$scope","$parse","$filter","$attrs",function(c,d,e,f){function g(a){return a?[].concat(a):[]}function h(){r=g(j(c)),t===!0&&u.pipe()}function i(a,b){if(-1!=b.indexOf(".")){var c=b.split("."),e=c.pop(),f=c.join("."),g=d(f)(a);delete g[e],0==Object.keys(g).length&&i(a,f)}else delete a[b]}var j,k,l,m=f.stTable,n=d(m),o=n.assign,p=e("orderBy"),q=e("filter"),r=g(n(c)),s={sort:{},search:{},pagination:{start:0,totalItemCount:0}},t=!0,u=this;f.stSafeSrc&&(j=d(f.stSafeSrc),c.$watch(function(){var a=j(c);return a&&a.length?a[0]:b},function(a,b){a!==b&&h()}),c.$watch(function(){var a=j(c);return a?a.length:0},function(a,b){a!==r.length&&h()}),c.$watch(function(){return j(c)},function(a,b){a!==b&&(s.pagination.start=0,h())})),this.sortBy=function(b,c){return s.sort.predicate=b,s.sort.reverse=c===!0,a.isFunction(b)?s.sort.functionName=b.name:delete s.sort.functionName,s.pagination.start=0,this.pipe()},this.search=function(b,c){var e=s.search.predicateObject||{},f=c?c:"$";return b=a.isString(b)?b.trim():b,d(f).assign(e,b),b||i(e,f),s.search.predicateObject=e,s.pagination.start=0,this.pipe()},this.pipe=function(){var a,d=s.pagination;k=s.search.predicateObject?q(r,s.search.predicateObject):r,s.sort.predicate&&(k=p(k,s.sort.predicate,s.sort.reverse)),d.totalItemCount=k.length,d.number!==b&&(d.numberOfPages=k.length>0?Math.ceil(k.length/d.number):1,d.start=d.start>=k.length?(d.numberOfPages-1)*d.number:d.start,a=k.slice(d.start,d.start+parseInt(d.number))),o(c,a||k)},this.select=function(a,d){var e=g(n(c)),f=e.indexOf(a);-1!==f&&("single"===d?(a.isSelected=a.isSelected!==!0,l&&(l.isSelected=!1),l=a.isSelected===!0?a:b):e[f].isSelected=!e[f].isSelected)},this.slice=function(a,b){return s.pagination.start=a,s.pagination.number=b,this.pipe()},this.tableState=function(){return s},this.getFilteredCollection=function(){return k||r},this.setFilterFunction=function(a){q=e(a)},this.setSortFunction=function(a){p=e(a)},this.preventPipeOnWatch=function(){t=!1}}]).directive("stTable",function(){return{restrict:"A",controller:"stTableController",link:function(a,b,c,d){c.stSetFilter&&d.setFilterFunction(c.stSetFilter),c.stSetSort&&d.setSortFunction(c.stSetSort)}}}),a.module("smart-table").directive("stSearch",["stConfig","$timeout","$parse",function(a,b,c){return{require:"^stTable",link:function(d,e,f,g){var h=g,i=null,j=f.stDelay||a.search.delay,k=f.stInputEvent||a.search.inputEvent;f.$observe("stSearch",function(a,b){var c=e[0].value;a!==b&&c&&(g.tableState().search={},h.search(c,a))}),d.$watch(function(){return g.tableState().search},function(a,b){var d=f.stSearch||"$";a.predicateObject&&c(d)(a.predicateObject)!==e[0].value&&(e[0].value=c(d)(a.predicateObject)||"")},!0),e.bind(k,function(a){a=a.originalEvent||a,null!==i&&b.cancel(i),i=b(function(){h.search(a.target.value,f.stSearch||""),i=null},j)})}}}]),a.module("smart-table").directive("stSelectRow",["stConfig",function(a){return{restrict:"A",require:"^stTable",scope:{row:"=stSelectRow"},link:function(b,c,d,e){var f=d.stSelectMode||a.select.mode;c.bind("click",function(){b.$apply(function(){e.select(b.row,f)})}),b.$watch("row.isSelected",function(b){b===!0?c.addClass(a.select.selectedClass):c.removeClass(a.select.selectedClass)})}}}]),a.module("smart-table").directive("stSort",["stConfig","$parse","$timeout",function(c,d,e){return{restrict:"A",require:"^stTable",link:function(f,g,h,i){function j(){n++;var b;l=a.isFunction(m(f))||a.isArray(m(f))?m(f):h.stSort,n%3===0&&!!r!=!0?(n=0,i.tableState().sort={},i.tableState().pagination.start=0,b=i.pipe.bind(i)):b=i.sortBy.bind(i,l,n%2===0),null!==s&&e.cancel(s),0>t?f.$apply(b):s=e(b,t)}var k,l=h.stSort,m=d(l),n=0,o=h.stClassAscent||c.sort.ascentClass,p=h.stClassDescent||c.sort.descentClass,q=[o,p],r=h.stSkipNatural!==b?h.stSkipNatural:c.sort.skipNatural,s=null,t=h.stDelay||c.sort.delay;h.stSortDefault&&(k=f.$eval(h.stSortDefault)!==b?f.$eval(h.stSortDefault):h.stSortDefault),g.bind("click",function(){l&&j()}),k&&(n="reverse"===k?1:0,j()),f.$watch(function(){return i.tableState().sort},function(a){a.predicate!==l?(n=0,g.removeClass(o).removeClass(p)):(n=a.reverse===!0?2:1,g.removeClass(q[n%2]).addClass(q[n-1]))},!0)}}}]),a.module("smart-table").directive("stPagination",["stConfig",function(a){return{restrict:"EA",require:"^stTable",scope:{stItemsByPage:"=?",stDisplayedPages:"=?",stPageChange:"&"},templateUrl:function(b,c){return c.stTemplate?c.stTemplate:a.pagination.template},link:function(b,c,d,e){function f(){var a,c,d=e.tableState().pagination,f=1,g=b.currentPage;for(b.totalItemCount=d.totalItemCount,b.currentPage=Math.floor(d.start/d.number)+1,f=Math.max(f,b.currentPage-Math.abs(Math.floor(b.stDisplayedPages/2))),a=f+b.stDisplayedPages,a>d.numberOfPages&&(a=d.numberOfPages+1,f=Math.max(1,a-b.stDisplayedPages)),b.pages=[],b.numPages=d.numberOfPages,c=f;a>c;c++)b.pages.push(c);g!==b.currentPage&&b.stPageChange({newPage:b.currentPage})}b.stItemsByPage=b.stItemsByPage?+b.stItemsByPage:a.pagination.itemsByPage,b.stDisplayedPages=b.stDisplayedPages?+b.stDisplayedPages:a.pagination.displayedPages,b.currentPage=1,b.pages=[],b.$watch(function(){return e.tableState().pagination},f,!0),b.$watch("stItemsByPage",function(a,c){a!==c&&b.selectPage(1)}),b.$watch("stDisplayedPages",f),b.selectPage=function(a){a>0&&a<=b.numPages&&e.slice((a-1)*b.stItemsByPage,b.stItemsByPage)},e.tableState().pagination.number||e.slice(0,b.stItemsByPage)}}}]),a.module("smart-table").directive("stPipe",["stConfig","$timeout",function(b,c){return{require:"stTable",scope:{stPipe:"="},link:{pre:function(d,e,f,g){var h=null;a.isFunction(d.stPipe)&&(g.preventPipeOnWatch(),g.pipe=function(){return null!==h&&c.cancel(h),h=c(function(){d.stPipe(g.tableState(),g)},b.pipe.delay)})},post:function(a,b,c,d){d.pipe()}}}}])}(angular),angular.module("btford.socket-io",[]).provider("socketFactory",function(){"use strict";var a="socket:";this.$get=["$rootScope","$timeout",function(b,c){var d=function(a,b){return b?function(){var d=arguments;c(function(){b.apply(a,d)},0)}:angular.noop};return function(c){c=c||{};var e=c.ioSocket||io.connect(),f=void 0===c.prefix?a:c.prefix,g=c.scope||b,h=function(a,b){e.on(a,b.__ng=d(e,b))},i=function(a,b){e.once(a,b.__ng=d(e,b))},j={on:h,addListener:h,once:i,emit:function(a,b,c){var f=arguments.length-1,c=arguments[f];return"function"==typeof c&&(c=d(e,c),arguments[f]=c),e.emit.apply(e,arguments)},removeListener:function(a,b){return b&&b.__ng&&(arguments[1]=b.__ng),e.removeListener.apply(e,arguments)},removeAllListeners:function(){return e.removeAllListeners.apply(e,arguments)},disconnect:function(a){return e.disconnect(a)},connect:function(){return e.connect()},forward:function(a,b){a instanceof Array==!1&&(a=[a]),b||(b=g),a.forEach(function(a){var c=f+a,g=d(e,function(){Array.prototype.unshift.call(arguments,c),b.$broadcast.apply(b,arguments)});b.$on("$destroy",function(){e.removeListener(a,g)}),e.on(a,g)})}};return j}}]}),function(){"use strict";function a(a,b,c,d,e,f,g){function h(a){if(1!==arguments.length||a)if(a)m(a.toastId);else for(var b=0;b<t.length;b++)m(t[b].toastId)}function i(a,b,c){var d=o().iconClasses.error;return n(d,a,b,c)}function j(a,b,c){var d=o().iconClasses.info;return n(d,a,b,c)}function k(a,b,c){var d=o().iconClasses.success;return n(d,a,b,c)}function l(a,b,c){var d=o().iconClasses.warning;return n(d,a,b,c)}function m(b,c){function d(a){for(var b=0;b<t.length;b++)if(t[b].toastId===a)return t[b]}function e(){return!t.length}var h=d(b);h&&!h.deleting&&(h.deleting=!0,h.isOpened=!1,a.leave(h.el).then(function(){h.scope.options.onHidden&&h.scope.options.onHidden(c),h.scope.$destroy();var a=t.indexOf(h);delete v[h.scope.message],t.splice(a,1);var b=f.maxOpened;b&&t.length>=b&&t[b-1].open.resolve(),e()&&(r.remove(),r=null,w=g.defer())}))}function n(a,b,c,d){return angular.isObject(c)&&(d=c,c=null),q({iconClass:a,message:b,optionsOverride:d,title:c})}function o(){return angular.extend({},f)}function p(b){if(r)return w.promise;r=angular.element("<div></div>"),r.attr("id",b.containerId),r.addClass(b.positionClass),r.css({"pointer-events":"auto"});var c=angular.element(document.querySelector(b.target));if(!c||!c.length)throw"Target for toasts doesn't exist";return a.enter(r,c).then(function(){w.resolve()}),w.promise}function q(c){function f(){return n.autoDismiss&&n.maxOpened&&t.length>n.maxOpened}function h(a,b,c){c.allowHtml?(a.scope.allowHtml=!0,a.scope.title=e.trustAsHtml(b.title),a.scope.message=e.trustAsHtml(b.message)):(a.scope.title=b.title,a.scope.message=b.message),a.scope.toastType=a.iconClass,a.scope.toastId=a.toastId,a.scope.extraData=c.extraData,a.scope.options={extendedTimeOut:c.extendedTimeOut,messageClass:c.messageClass,onHidden:c.onHidden,onShown:c.onShown,onTap:c.onTap,progressBar:c.progressBar,tapToDismiss:c.tapToDismiss,timeOut:c.timeOut,titleClass:c.titleClass,toastClass:c.toastClass},c.closeButton&&(a.scope.options.closeHtml=c.closeHtml)}function i(){function a(a){for(var b=["containerId","iconClasses","maxOpened","newestOnTop","positionClass","preventDuplicates","preventOpenDuplicates","templates"],c=0,d=b.length;d>c;c++)delete a[b[c]];return a}var b={toastId:s++,isOpened:!1,scope:d.$new(),open:g.defer()};return b.iconClass=c.iconClass,c.optionsOverride&&(angular.extend(n,a(c.optionsOverride)),b.iconClass=c.optionsOverride.iconClass||b.iconClass),h(b,c,n),b.el=j(b.scope),b}function j(a){var c=angular.element("<div toast></div>"),d=b.get("$compile");return d(c)(a)}function k(){return n.maxOpened&&t.length<=n.maxOpened||!n.maxOpened}function l(){var a=n.preventDuplicates&&c.message===u,b=n.preventOpenDuplicates&&v[c.message];return a||b?!0:(u=c.message,v[c.message]=!0,!1)}var n=o();if(!l()){var q=i();if(t.push(q),f())for(var w=t.slice(0,t.length-n.maxOpened),x=0,y=w.length;y>x;x++)m(w[x].toastId);return k()&&q.open.resolve(),q.open.promise.then(function(){p(n).then(function(){if(q.isOpened=!0,n.newestOnTop)a.enter(q.el,r).then(function(){q.scope.init()});else{var b=r[0].lastChild?angular.element(r[0].lastChild):null;a.enter(q.el,r,b).then(function(){q.scope.init()})}})}),q}}var r,s=0,t=[],u="",v={},w=g.defer(),x={clear:h,error:i,info:j,remove:m,success:k,warning:l};return x}angular.module("toastr",[]).factory("toastr",a),a.$inject=["$animate","$injector","$document","$rootScope","$sce","toastrConfig","$q"]}(),function(){"use strict";angular.module("toastr").constant("toastrConfig",{allowHtml:!1,autoDismiss:!1,closeButton:!1,closeHtml:"<button>&times;</button>",containerId:"toast-container",extendedTimeOut:1e3,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},maxOpened:0,messageClass:"toast-message",newestOnTop:!0,onHidden:null,onShown:null,onTap:null,positionClass:"toast-top-right",preventDuplicates:!1,preventOpenDuplicates:!1,progressBar:!1,tapToDismiss:!0,target:"body",templates:{toast:"directives/toast/toast.html",progressbar:"directives/progressbar/progressbar.html"},timeOut:5e3,titleClass:"toast-title",toastClass:"toast"})}(),function(){"use strict";function a(a){function b(a,b,c,d){function e(){var a=(h-(new Date).getTime())/g*100;b.css("width",a+"%")}var f,g,h;d.progressBar=a,a.start=function(a){f&&clearInterval(f),g=parseFloat(a),h=(new Date).getTime()+g,f=setInterval(e,10)},a.stop=function(){f&&clearInterval(f)},a.$on("$destroy",function(){clearInterval(f)})}return{replace:!0,require:"^toast",templateUrl:function(){return a.templates.progressbar},link:b}}angular.module("toastr").directive("progressBar",a),a.$inject=["toastrConfig"]}(),function(){"use strict";function a(){this.progressBar=null,this.startProgressBar=function(a){this.progressBar&&this.progressBar.start(a)},this.stopProgressBar=function(){this.progressBar&&this.progressBar.stop()}}angular.module("toastr").controller("ToastController",a)}(),function(){"use strict";function a(a,b,c,d){function e(c,e,f,g){function h(a){return g.startProgressBar(a),b(function(){g.stopProgressBar(),d.remove(c.toastId)},a,1)}function i(){c.progressBar=!1,g.stopProgressBar()}function j(){return c.options.closeHtml}var k;if(c.toastClass=c.options.toastClass,c.titleClass=c.options.titleClass,c.messageClass=c.options.messageClass,c.progressBar=c.options.progressBar,j()){var l=angular.element(c.options.closeHtml),m=a.get("$compile");l.addClass("toast-close-button"),l.attr("ng-click","close(true, $event)"),m(l)(c),e.prepend(l)}c.init=function(){c.options.timeOut&&(k=h(c.options.timeOut)),c.options.onShown&&c.options.onShown()},e.on("mouseenter",function(){i(),k&&b.cancel(k)}),c.tapToast=function(){angular.isFunction(c.options.onTap)&&c.options.onTap(),c.options.tapToDismiss&&c.close(!0)},c.close=function(a,b){b&&angular.isFunction(b.stopPropagation)&&b.stopPropagation(),d.remove(c.toastId,a)},e.on("mouseleave",function(){(0!==c.options.timeOut||0!==c.options.extendedTimeOut)&&(c.$apply(function(){c.progressBar=c.options.progressBar}),k=h(c.options.extendedTimeOut))})}return{replace:!0,templateUrl:function(){return c.templates.toast},controller:"ToastController",link:e}}angular.module("toastr").directive("toast",a),a.$inject=["$injector","$interval","toastrConfig","toastr"]}(),angular.module("toastr").run(["$templateCache",function(a){a.put("directives/progressbar/progressbar.html",'<div class="toast-progress"></div>\n'),a.put("directives/toast/toast.html",'<div class="{{toastClass}} {{toastType}}" ng-click="tapToast()">\n  <div ng-switch on="allowHtml">\n    <div ng-switch-default ng-if="title" class="{{titleClass}}" aria-label="{{title}}">{{title}}</div>\n    <div ng-switch-default class="{{messageClass}}" aria-label="{{message}}">{{message}}</div>\n    <div ng-switch-when="true" ng-if="title" class="{{titleClass}}" ng-bind-html="title"></div>\n    <div ng-switch-when="true" class="{{messageClass}}" ng-bind-html="message"></div>\n  </div>\n  <progress-bar ng-if="progressBar"></progress-bar>\n</div>\n')}]),function(a,b,c){"use strict";function d(a){return b.lowercase(a.nodeName||a[0]&&a[0].nodeName)}function e(a,c,d){f.directive(a,["$parse","$swipe",function(e,f){var g=75,h=.3,i=30;return function(j,k,l){function m(a){if(!n)return!1;var b=Math.abs(a.y-n.y),d=(a.x-n.x)*c;return o&&g>b&&d>0&&d>i&&h>b/d}var n,o,p=e(l[a]),q=["touch"];b.isDefined(l.ngSwipeDisableMouse)||q.push("mouse"),f.bind(k,{start:function(a,b){n=a,o=!0},cancel:function(a){o=!1},end:function(a,b){m(a)&&j.$apply(function(){k.triggerHandler(d),p(j,{$event:b})})}},q)}}])}var f=b.module("ngTouch",[]);f.factory("$swipe",[function(){function a(a){var b=a.originalEvent||a,c=b.touches&&b.touches.length?b.touches:[b],d=b.changedTouches&&b.changedTouches[0]||c[0];return{x:d.clientX,y:d.clientY}}function c(a,c){var d=[];return b.forEach(a,function(a){var b=e[a][c];b&&d.push(b)}),d.join(" ")}var d=10,e={mouse:{start:"mousedown",move:"mousemove",end:"mouseup"},touch:{start:"touchstart",move:"touchmove",end:"touchend",cancel:"touchcancel"}};return{bind:function(b,e,f){var g,h,i,j,k=!1;f=f||["mouse","touch"],b.on(c(f,"start"),function(b){i=a(b),k=!0,g=0,h=0,j=i,e.start&&e.start(i,b)});var l=c(f,"cancel");l&&b.on(l,function(a){k=!1,e.cancel&&e.cancel(a)}),b.on(c(f,"move"),function(b){if(k&&i){var c=a(b);if(g+=Math.abs(c.x-j.x),h+=Math.abs(c.y-j.y),j=c,!(d>g&&d>h))return h>g?(k=!1,void(e.cancel&&e.cancel(b))):(b.preventDefault(),void(e.move&&e.move(c,b)))}}),b.on(c(f,"end"),function(b){k&&(k=!1,e.end&&e.end(a(b),b))})}}}]),f.config(["$provide",function(a){a.decorator("ngClickDirective",["$delegate",function(a){return a.shift(),a}])}]),f.directive("ngClick",["$parse","$timeout","$rootElement",function(a,c,e){function f(a,b,c,d){return Math.abs(a-c)<q&&Math.abs(b-d)<q}function g(a,b,c){for(var d=0;d<a.length;d+=2)if(f(a[d],a[d+1],b,c))return a.splice(d,d+2),!0;return!1}function h(a){if(!(Date.now()-k>p)){var b=a.touches&&a.touches.length?a.touches:[a],c=b[0].clientX,e=b[0].clientY;1>c&&1>e||m&&m[0]===c&&m[1]===e||(m&&(m=null),"label"===d(a.target)&&(m=[c,e]),g(l,c,e)||(a.stopPropagation(),a.preventDefault(),a.target&&a.target.blur&&a.target.blur()))}}function i(a){var b=a.touches&&a.touches.length?a.touches:[a],d=b[0].clientX,e=b[0].clientY;l.push(d,e),c(function(){for(var a=0;a<l.length;a+=2)if(l[a]==d&&l[a+1]==e)return void l.splice(a,a+2)},p,!1)}function j(a,b){l||(e[0].addEventListener("click",h,!0),e[0].addEventListener("touchstart",i,!0),l=[]),k=Date.now(),g(l,a,b)}var k,l,m,n=750,o=12,p=2500,q=25,r="ng-click-active";return function(c,d,e){function f(){m=!1,d.removeClass(r)}var g,h,i,k,l=a(e.ngClick),m=!1;d.on("touchstart",function(a){m=!0,g=a.target?a.target:a.srcElement,3==g.nodeType&&(g=g.parentNode),d.addClass(r),h=Date.now();var b=a.originalEvent||a,c=b.touches&&b.touches.length?b.touches:[b],e=c[0];i=e.clientX,k=e.clientY}),d.on("touchcancel",function(a){f()}),d.on("touchend",function(a){var c=Date.now()-h,l=a.originalEvent||a,p=l.changedTouches&&l.changedTouches.length?l.changedTouches:l.touches&&l.touches.length?l.touches:[l],q=p[0],r=q.clientX,s=q.clientY,t=Math.sqrt(Math.pow(r-i,2)+Math.pow(s-k,2));m&&n>c&&o>t&&(j(r,s),g&&g.blur(),b.isDefined(e.disabled)&&e.disabled!==!1||d.triggerHandler("click",[a])),f()}),d.onclick=function(a){},d.on("click",function(a,b){c.$apply(function(){l(c,{$event:b||a})})}),d.on("mousedown",function(a){d.addClass(r)}),d.on("mousemove mouseup",function(a){d.removeClass(r)})}}]),e("ngSwipeLeft",-1,"swipeleft"),e("ngSwipeRight",1,"swiperight")}(window,window.angular),function(a,b){"function"==typeof define&&define.amd?define([],function(){return b()}):"object"==typeof exports?module.exports=b():b()}(this,function(){function a(a){"use strict";var b=a.storageKey(),c=a.storage(),d=function(){var d=a.preferredLanguage();angular.isString(d)?a.use(d):c.put(b,a.use())};d.displayName="fallbackFromIncorrectStorageValue",c?c.get(b)?a.use(c.get(b))["catch"](d):d():angular.isString(a.preferredLanguage())&&a.use(a.preferredLanguage())}function b(){"use strict";var a,b,c=null,d=!1,e=!1;b={sanitize:function(a,b){return"text"===b&&(a=g(a)),a},escape:function(a,b){return"text"===b&&(a=f(a)),a},sanitizeParameters:function(a,b){return"params"===b&&(a=h(a,g)),a},escapeParameters:function(a,b){return"params"===b&&(a=h(a,f)),a}},b.escaped=b.escapeParameters,this.addStrategy=function(a,c){return b[a]=c,this},this.removeStrategy=function(a){return delete b[a],this},this.useStrategy=function(a){return d=!0,c=a,this},this.$get=["$injector","$log",function(f,g){var h=function(a,c,d){return angular.forEach(d,function(d){if(angular.isFunction(d))a=d(a,c);else{if(!angular.isFunction(b[d]))throw new Error("pascalprecht.translate.$translateSanitization: Unknown sanitization strategy: '"+d+"'");a=b[d](a,c)}}),a},i=function(){d||e||(g.warn("pascalprecht.translate.$translateSanitization: No sanitization strategy has been configured. This can have serious security implications. See http://angular-translate.github.io/docs/#/guide/19_security for details."),e=!0)};return f.has("$sanitize")&&(a=f.get("$sanitize")),{useStrategy:function(a){return function(b){a.useStrategy(b)}}(this),sanitize:function(a,b,d){if(c||i(),arguments.length<3&&(d=c),!d)return a;var e=angular.isArray(d)?d:[d];return h(a,b,e)}}}];var f=function(a){var b=angular.element("<div></div>");return b.text(a),b.html()},g=function(b){if(!a)throw new Error("pascalprecht.translate.$translateSanitization: Error cannot find $sanitize service. Either include the ngSanitize module (https://docs.angularjs.org/api/ngSanitize) or use a sanitization strategy which does not depend on $sanitize, such as 'escape'.");return a(b)},h=function(a,b){if(angular.isObject(a)){var c=angular.isArray(a)?[]:{};return angular.forEach(a,function(a,d){c[d]=h(a,b)}),c}return angular.isNumber(a)?a:b(a)}}function c(a,b,c,d){"use strict";var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t={},u=[],v=a,w=[],x="translate-cloak",y=!1,z=!1,A=".",B=0,C=!0,D="default",E={"default":function(a){return(a||"").split("-").join("_")},java:function(a){var b=(a||"").split("-").join("_"),c=b.split("_");return c.length>1?c[0].toLowerCase()+"_"+c[1].toUpperCase():b},bcp47:function(a){var b=(a||"").split("_").join("-"),c=b.split("-");
-return c.length>1?c[0].toLowerCase()+"-"+c[1].toUpperCase():b}},F="2.7.2",G=function(){if(angular.isFunction(d.getLocale))return d.getLocale();var a,c,e=b.$get().navigator,f=["language","browserLanguage","systemLanguage","userLanguage"];if(angular.isArray(e.languages))for(a=0;a<e.languages.length;a++)if(c=e.languages[a],c&&c.length)return c;for(a=0;a<f.length;a++)if(c=e[f[a]],c&&c.length)return c;return null};G.displayName="angular-translate/service: getFirstBrowserLanguage";var H=function(){var a=G()||"";return E[D]&&(a=E[D](a)),a};H.displayName="angular-translate/service: getLocale";var I=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},J=function(){return this.toString().replace(/^\s+|\s+$/g,"")},K=function(a){for(var b=[],c=angular.lowercase(a),d=0,e=u.length;e>d;d++)b.push(angular.lowercase(u[d]));if(I(b,c)>-1)return a;if(f){var g;for(var h in f){var i=!1,j=Object.prototype.hasOwnProperty.call(f,h)&&angular.lowercase(h)===angular.lowercase(a);if("*"===h.slice(-1)&&(i=h.slice(0,-1)===a.slice(0,h.length-1)),(j||i)&&(g=f[h],I(b,angular.lowercase(g))>-1))return g}}if(a){var k=a.split("_");if(k.length>1&&I(b,angular.lowercase(k[0]))>-1)return k[0]}return a},L=function(a,b){if(!a&&!b)return t;if(a&&!b){if(angular.isString(a))return t[a]}else angular.isObject(t[a])||(t[a]={}),angular.extend(t[a],M(b));return this};this.translations=L,this.cloakClassName=function(a){return a?(x=a,this):x};var M=function(a,b,c,d){var e,f,g,h;b||(b=[]),c||(c={});for(e in a)Object.prototype.hasOwnProperty.call(a,e)&&(h=a[e],angular.isObject(h)?M(h,b.concat(e),c,e):(f=b.length?""+b.join(A)+A+e:e,b.length&&e===d&&(g=""+b.join(A),c[g]="@:"+f),c[f]=h));return c};M.displayName="flatObject",this.addInterpolation=function(a){return w.push(a),this},this.useMessageFormatInterpolation=function(){return this.useInterpolation("$translateMessageFormatInterpolation")},this.useInterpolation=function(a){return n=a,this},this.useSanitizeValueStrategy=function(a){return c.useStrategy(a),this},this.preferredLanguage=function(a){return N(a),this};var N=function(a){return a&&(e=a),e};this.translationNotFoundIndicator=function(a){return this.translationNotFoundIndicatorLeft(a),this.translationNotFoundIndicatorRight(a),this},this.translationNotFoundIndicatorLeft=function(a){return a?(q=a,this):q},this.translationNotFoundIndicatorRight=function(a){return a?(r=a,this):r},this.fallbackLanguage=function(a){return O(a),this};var O=function(a){return a?(angular.isString(a)?(h=!0,g=[a]):angular.isArray(a)&&(h=!1,g=a),angular.isString(e)&&I(g,e)<0&&g.push(e),this):h?g[0]:g};this.use=function(a){if(a){if(!t[a]&&!o)throw new Error("$translateProvider couldn't find translationTable for langKey: '"+a+"'");return i=a,this}return i};var P=function(a){return a?(v=a,this):l?l+v:v};this.storageKey=P,this.useUrlLoader=function(a,b){return this.useLoader("$translateUrlLoader",angular.extend({url:a},b))},this.useStaticFilesLoader=function(a){return this.useLoader("$translateStaticFilesLoader",a)},this.useLoader=function(a,b){return o=a,p=b||{},this},this.useLocalStorage=function(){return this.useStorage("$translateLocalStorage")},this.useCookieStorage=function(){return this.useStorage("$translateCookieStorage")},this.useStorage=function(a){return k=a,this},this.storagePrefix=function(a){return a?(l=a,this):a},this.useMissingTranslationHandlerLog=function(){return this.useMissingTranslationHandler("$translateMissingTranslationHandlerLog")},this.useMissingTranslationHandler=function(a){return m=a,this},this.usePostCompiling=function(a){return y=!!a,this},this.forceAsyncReload=function(a){return z=!!a,this},this.uniformLanguageTag=function(a){return a?angular.isString(a)&&(a={standard:a}):a={},D=a.standard,this},this.determinePreferredLanguage=function(a){var b=a&&angular.isFunction(a)?a():H();return e=u.length?K(b):b,this},this.registerAvailableLanguageKeys=function(a,b){return a?(u=a,b&&(f=b),this):u},this.useLoaderCache=function(a){return a===!1?s=void 0:a===!0?s=!0:"undefined"==typeof a?s="$translationCache":a&&(s=a),this},this.directivePriority=function(a){return void 0===a?B:(B=a,this)},this.statefulFilter=function(a){return void 0===a?C:(C=a,this)},this.$get=["$log","$injector","$rootScope","$q",function(a,b,c,d){var f,l,u,A=b.get(n||"$translateDefaultInterpolation"),D=!1,E={},G={},H=function(a,b,c,h){if(angular.isArray(a)){var j=function(a){for(var e={},f=[],g=function(a){var f=d.defer(),g=function(b){e[a]=b,f.resolve([a,b])};return H(a,b,c,h).then(g,g),f.promise},i=0,j=a.length;j>i;i++)f.push(g(a[i]));return d.all(f).then(function(){return e})};return j(a)}var m=d.defer();a&&(a=J.apply(a));var n=function(){var a=e?G[e]:G[i];if(l=0,k&&!a){var b=f.get(v);if(a=G[b],g&&g.length){var c=I(g,b);l=0===c?1:0,I(g,e)<0&&g.push(e)}}return a}();if(n){var o=function(){aa(a,b,c,h).then(m.resolve,m.reject)};o.displayName="promiseResolved",n["finally"](o,m.reject)}else aa(a,b,c,h).then(m.resolve,m.reject);return m.promise},Q=function(a){return q&&(a=[q,a].join(" ")),r&&(a=[a,r].join(" ")),a},R=function(a){i=a,c.$emit("$translateChangeSuccess",{language:a}),k&&f.put(H.storageKey(),i),A.setLocale(i);var b=function(a,b){E[b].setLocale(i)};b.displayName="eachInterpolatorLocaleSetter",angular.forEach(E,b),c.$emit("$translateChangeEnd",{language:a})},S=function(a){if(!a)throw"No language key specified for loading.";var e=d.defer();c.$emit("$translateLoadingStart",{language:a}),D=!0;var f=s;"string"==typeof f&&(f=b.get(f));var g=angular.extend({},p,{key:a,$http:angular.extend({},{cache:f},p.$http)}),h=function(b){var d={};c.$emit("$translateLoadingSuccess",{language:a}),angular.isArray(b)?angular.forEach(b,function(a){angular.extend(d,M(a))}):angular.extend(d,M(b)),D=!1,e.resolve({key:a,table:d}),c.$emit("$translateLoadingEnd",{language:a})};h.displayName="onLoaderSuccess";var i=function(a){c.$emit("$translateLoadingError",{language:a}),e.reject(a),c.$emit("$translateLoadingEnd",{language:a})};return i.displayName="onLoaderError",b.get(o)(g).then(h,i),e.promise};if(k&&(f=b.get(k),!f.get||!f.put))throw new Error("Couldn't use storage '"+k+"', missing get() or put() method!");if(w.length){var T=function(a){var c=b.get(a);c.setLocale(e||i),E[c.getInterpolationIdentifier()]=c};T.displayName="interpolationFactoryAdder",angular.forEach(w,T)}var U=function(a){var b=d.defer();if(Object.prototype.hasOwnProperty.call(t,a))b.resolve(t[a]);else if(G[a]){var c=function(a){L(a.key,a.table),b.resolve(a.table)};c.displayName="translationTableResolver",G[a].then(c,b.reject)}else b.reject();return b.promise},V=function(a,b,c,e){var f=d.defer(),g=function(d){if(Object.prototype.hasOwnProperty.call(d,b)){e.setLocale(a);var g=d[b];"@:"===g.substr(0,2)?V(a,g.substr(2),c,e).then(f.resolve,f.reject):f.resolve(e.interpolate(d[b],c)),e.setLocale(i)}else f.reject()};return g.displayName="fallbackTranslationResolver",U(a).then(g,f.reject),f.promise},W=function(a,b,c,d){var e,f=t[a];if(f&&Object.prototype.hasOwnProperty.call(f,b)){if(d.setLocale(a),e=d.interpolate(f[b],c),"@:"===e.substr(0,2))return W(a,e.substr(2),c,d);d.setLocale(i)}return e},X=function(a,c){if(m){var d=b.get(m)(a,i,c);return void 0!==d?d:a}return a},Y=function(a,b,c,e,f){var h=d.defer();if(a<g.length){var i=g[a];V(i,b,c,e).then(h.resolve,function(){Y(a+1,b,c,e,f).then(h.resolve)})}else f?h.resolve(f):h.resolve(X(b,c));return h.promise},Z=function(a,b,c,d){var e;if(a<g.length){var f=g[a];e=W(f,b,c,d),e||(e=Z(a+1,b,c,d))}return e},$=function(a,b,c,d){return Y(u>0?u:l,a,b,c,d)},_=function(a,b,c){return Z(u>0?u:l,a,b,c)},aa=function(a,b,c,e){var f=d.defer(),h=i?t[i]:t,j=c?E[c]:A;if(h&&Object.prototype.hasOwnProperty.call(h,a)){var k=h[a];"@:"===k.substr(0,2)?H(k.substr(2),b,c,e).then(f.resolve,f.reject):f.resolve(j.interpolate(k,b))}else{var l;m&&!D&&(l=X(a,b)),i&&g&&g.length?$(a,b,j,e).then(function(a){f.resolve(a)},function(a){f.reject(Q(a))}):m&&!D&&l?e?f.resolve(e):f.resolve(l):e?f.resolve(e):f.reject(Q(a))}return f.promise},ba=function(a,b,c){var d,e=i?t[i]:t,f=A;if(E&&Object.prototype.hasOwnProperty.call(E,c)&&(f=E[c]),e&&Object.prototype.hasOwnProperty.call(e,a)){var h=e[a];d="@:"===h.substr(0,2)?ba(h.substr(2),b,c):f.interpolate(h,b)}else{var j;m&&!D&&(j=X(a,b)),i&&g&&g.length?(l=0,d=_(a,b,f)):d=m&&!D&&j?j:Q(a)}return d},ca=function(a){j===a&&(j=void 0),G[a]=void 0};if(H.preferredLanguage=function(a){return a&&N(a),e},H.cloakClassName=function(){return x},H.fallbackLanguage=function(a){if(void 0!==a&&null!==a){if(O(a),o&&g&&g.length)for(var b=0,c=g.length;c>b;b++)G[g[b]]||(G[g[b]]=S(g[b]));H.use(H.use())}return h?g[0]:g},H.useFallbackLanguage=function(a){if(void 0!==a&&null!==a)if(a){var b=I(g,a);b>-1&&(u=b)}else u=0},H.proposedLanguage=function(){return j},H.storage=function(){return f},H.use=function(a){if(!a)return i;var b=d.defer();c.$emit("$translateChangeStart",{language:a});var e=K(a);return e&&(a=e),!z&&t[a]||!o||G[a]?j===a&&G[a]?G[a].then(function(a){return b.resolve(a.key),a},function(a){return b.reject(a),d.reject(a)}):(b.resolve(a),R(a)):(j=a,G[a]=S(a).then(function(a){return L(a.key,a.table),b.resolve(a.key),R(a.key),a},function(a){return c.$emit("$translateChangeError",{language:a}),b.reject(a),c.$emit("$translateChangeEnd",{language:a}),d.reject(a)}),G[a]["finally"](function(){ca(a)})),b.promise},H.storageKey=function(){return P()},H.isPostCompilingEnabled=function(){return y},H.isForceAsyncReloadEnabled=function(){return z},H.refresh=function(a){function b(){f.resolve(),c.$emit("$translateRefreshEnd",{language:a})}function e(){f.reject(),c.$emit("$translateRefreshEnd",{language:a})}if(!o)throw new Error("Couldn't refresh translation table, no loader registered!");var f=d.defer();if(c.$emit("$translateRefreshStart",{language:a}),a)if(t[a]){var h=function(c){L(c.key,c.table),a===i&&R(i),b()};h.displayName="refreshPostProcessor",S(a).then(h,e)}else e();else{var j=[],k={};if(g&&g.length)for(var l=0,m=g.length;m>l;l++)j.push(S(g[l])),k[g[l]]=!0;i&&!k[i]&&j.push(S(i));var n=function(a){t={},angular.forEach(a,function(a){L(a.key,a.table)}),i&&R(i),b()};n.displayName="refreshPostProcessor",d.all(j).then(n,e)}return f.promise},H.instant=function(a,b,c){if(null===a||angular.isUndefined(a))return a;if(angular.isArray(a)){for(var d={},f=0,h=a.length;h>f;f++)d[a[f]]=H.instant(a[f],b,c);return d}if(angular.isString(a)&&a.length<1)return a;a&&(a=J.apply(a));var j,k=[];e&&k.push(e),i&&k.push(i),g&&g.length&&(k=k.concat(g));for(var l=0,n=k.length;n>l;l++){var o=k[l];if(t[o]&&("undefined"!=typeof t[o][a]?j=ba(a,b,c):(q||r)&&(j=Q(a))),"undefined"!=typeof j)break}return j||""===j||(j=A.interpolate(a,b),m&&!D&&(j=X(a,b))),j},H.versionInfo=function(){return F},H.loaderCache=function(){return s},H.directivePriority=function(){return B},H.statefulFilter=function(){return C},o&&(angular.equals(t,{})&&H.use(H.use()),g&&g.length))for(var da=function(a){return L(a.key,a.table),c.$emit("$translateChangeEnd",{language:a.key}),a},ea=0,fa=g.length;fa>ea;ea++){var ga=g[ea];(z||!t[ga])&&(G[ga]=S(ga).then(da))}return H}]}function d(a,b){"use strict";var c,d={},e="default";return d.setLocale=function(a){c=a},d.getInterpolationIdentifier=function(){return e},d.useSanitizeValueStrategy=function(a){return b.useStrategy(a),this},d.interpolate=function(c,d){d=d||{},d=b.sanitize(d,"params");var e=a(c)(d);return e=b.sanitize(e,"text")},d}function e(a,b,c,d,e,f){"use strict";var g=function(){return this.toString().replace(/^\s+|\s+$/g,"")};return{restrict:"AE",scope:!0,priority:a.directivePriority(),compile:function(b,h){var i=h.translateValues?h.translateValues:void 0,j=h.translateInterpolation?h.translateInterpolation:void 0,k=b[0].outerHTML.match(/translate-value-+/i),l="^(.*)("+c.startSymbol()+".*"+c.endSymbol()+")(.*)",m="^(.*)"+c.startSymbol()+"(.*)"+c.endSymbol()+"(.*)";return function(b,n,o){b.interpolateParams={},b.preText="",b.postText="";var p={},q=function(a,c,d){if(c.translateValues&&angular.extend(a,e(c.translateValues)(b.$parent)),k)for(var f in d)if(Object.prototype.hasOwnProperty.call(c,f)&&"translateValue"===f.substr(0,14)&&"translateValues"!==f){var g=angular.lowercase(f.substr(14,1))+f.substr(15);a[g]=d[f]}},r=function(a){if(angular.isFunction(r._unwatchOld)&&(r._unwatchOld(),r._unwatchOld=void 0),angular.equals(a,"")||!angular.isDefined(a)){var d=g.apply(n.text()).match(l);if(angular.isArray(d)){b.preText=d[1],b.postText=d[3],p.translate=c(d[2])(b.$parent);var e=n.text().match(m);angular.isArray(e)&&e[2]&&e[2].length&&(r._unwatchOld=b.$watch(e[2],function(a){p.translate=a,x()}))}else p.translate=n.text().replace(/^\s+|\s+$/g,"")}else p.translate=a;x()},s=function(a){o.$observe(a,function(b){p[a]=b,x()})};q(b.interpolateParams,o,h);var t=!0;o.$observe("translate",function(a){"undefined"==typeof a?r(""):""===a&&t||(p.translate=a,x()),t=!1});for(var u in o)o.hasOwnProperty(u)&&"translateAttr"===u.substr(0,13)&&s(u);if(o.$observe("translateDefault",function(a){b.defaultText=a}),i&&o.$observe("translateValues",function(a){a&&b.$parent.$watch(function(){angular.extend(b.interpolateParams,e(a)(b.$parent))})}),k){var v=function(a){o.$observe(a,function(c){var d=angular.lowercase(a.substr(14,1))+a.substr(15);b.interpolateParams[d]=c})};for(var w in o)Object.prototype.hasOwnProperty.call(o,w)&&"translateValue"===w.substr(0,14)&&"translateValues"!==w&&v(w)}var x=function(){for(var a in p)p.hasOwnProperty(a)&&void 0!==p[a]&&y(a,p[a],b,b.interpolateParams,b.defaultText)},y=function(b,c,d,e,f){c?a(c,e,j,f).then(function(a){z(a,d,!0,b)},function(a){z(a,d,!1,b)}):z(c,d,!1,b)},z=function(b,c,e,f){if("translate"===f){e||"undefined"==typeof c.defaultText||(b=c.defaultText),n.html(c.preText+b+c.postText);var g=a.isPostCompilingEnabled(),i="undefined"!=typeof h.translateCompile,j=i&&"false"!==h.translateCompile;(g&&!i||j)&&d(n.contents())(c)}else{e||"undefined"==typeof c.defaultText||(b=c.defaultText);var k=o.$attr[f];"data-"===k.substr(0,5)&&(k=k.substr(5)),k=k.substr(15),n.attr(k,b)}};(i||k||o.translateDefault)&&b.$watch("interpolateParams",x,!0);var A=f.$on("$translateChangeSuccess",x);n.text().length?r(o.translate?o.translate:""):o.translate&&r(o.translate),x(),b.$on("$destroy",A)}}}}function f(a,b){"use strict";return{compile:function(c){var d=function(){c.addClass(b.cloakClassName())},e=function(){c.removeClass(b.cloakClassName())},f=a.$on("$translateChangeEnd",function(){e(),f(),f=null});return d(),function(a,c,f){f.translateCloak&&f.translateCloak.length&&f.$observe("translateCloak",function(a){b(a).then(e,d)})}}}}function g(a,b){"use strict";var c=function(c,d,e){return angular.isObject(d)||(d=a(d)(this)),b.instant(c,d,e)};return b.statefulFilter()&&(c.$stateful=!0),c}function h(a){"use strict";return a("translations")}return angular.module("pascalprecht.translate",["ng"]).run(a),a.$inject=["$translate"],a.displayName="runTranslate",angular.module("pascalprecht.translate").provider("$translateSanitization",b),angular.module("pascalprecht.translate").constant("pascalprechtTranslateOverrider",{}).provider("$translate",c),c.$inject=["$STORAGE_KEY","$windowProvider","$translateSanitizationProvider","pascalprechtTranslateOverrider"],c.displayName="displayName",angular.module("pascalprecht.translate").factory("$translateDefaultInterpolation",d),d.$inject=["$interpolate","$translateSanitization"],d.displayName="$translateDefaultInterpolation",angular.module("pascalprecht.translate").constant("$STORAGE_KEY","NG_TRANSLATE_LANG_KEY"),angular.module("pascalprecht.translate").directive("translate",e),e.$inject=["$translate","$q","$interpolate","$compile","$parse","$rootScope"],e.displayName="translateDirective",angular.module("pascalprecht.translate").directive("translateCloak",f),f.$inject=["$rootScope","$translate"],f.displayName="translateCloakDirective",angular.module("pascalprecht.translate").filter("translate",g),g.$inject=["$parse","$translate"],g.displayName="translateFilterFactory",angular.module("pascalprecht.translate").factory("$translationCache",h),h.$inject=["$cacheFactory"],h.displayName="$translationCache","pascalprecht.translate"}),function(a,b){"function"==typeof define&&define.amd?define([],function(){return b()}):"object"==typeof exports?module.exports=b():b()}(this,function(){function a(a,b){"use strict";return function(c){if(!(c&&(angular.isArray(c.files)||angular.isString(c.prefix)&&angular.isString(c.suffix))))throw new Error("Couldn't load static files, no files and prefix or suffix specified!");c.files||(c.files=[{prefix:c.prefix,suffix:c.suffix}]);for(var d=function(d){if(!d||!angular.isString(d.prefix)||!angular.isString(d.suffix))throw new Error("Couldn't load static file, no prefix or suffix specified!");var e=a.defer();return b(angular.extend({url:[d.prefix,c.key,d.suffix].join(""),method:"GET",params:""},c.$http)).success(function(a){e.resolve(a)}).error(function(){e.reject(c.key)}),e.promise},e=a.defer(),f=[],g=c.files.length,h=0;g>h;h++)f.push(d({prefix:c.files[h].prefix,key:c.key,suffix:c.files[h].suffix}));return a.all(f).then(function(a){for(var b=a.length,c={},d=0;b>d;d++)for(var f in a[d])c[f]=a[d][f];e.resolve(c)},function(a){e.reject(a)}),e.promise}}return angular.module("pascalprecht.translate").factory("$translateStaticFilesLoader",a),a.$inject=["$q","$http"],a.displayName="$translateStaticFilesLoader","pascalprecht.translate"}),function(a,b){"function"==typeof define&&define.amd?define([],function(){return b()}):"object"==typeof exports?module.exports=b():b()}(this,function(){function a(a){"use strict";var b={get:function(b){return a.get(b)},set:function(b,c){a.put(b,c)},put:function(b,c){a.put(b,c)}};return b}return angular.module("pascalprecht.translate").factory("$translateCookieStorage",a),a.$inject=["$cookieStore"],a.displayName="$translateCookieStorage","pascalprecht.translate"}),function(a,b){"function"==typeof define&&define.amd?define([],function(){return b()}):"object"==typeof exports?module.exports=b():b()}(this,function(){function a(a,b){"use strict";var c=function(){var b;return{get:function(c){return b||(b=a.localStorage.getItem(c)),b},set:function(c,d){b=d,a.localStorage.setItem(c,d)},put:function(c,d){b=d,a.localStorage.setItem(c,d)}}}(),d="localStorage"in a;if(d){var e="pascalprecht.translate.storageTest";try{null!==a.localStorage?(a.localStorage.setItem(e,"foo"),a.localStorage.removeItem(e),d=!0):d=!1}catch(f){d=!1}}var g=d?c:b;return g}return angular.module("pascalprecht.translate").factory("$translateLocalStorage",a),a.$inject=["$window","$translateCookieStorage"],a.displayName="$translateLocalStorageFactory","pascalprecht.translate"}),angular.module("truncate",[]).filter("characters",function(){return function(a,b,c){if(isNaN(b))return a;if(0>=b)return"";if(a&&a.length>b){if(a=a.substring(0,b),c)for(;" "===a.charAt(a.length-1);)a=a.substr(0,a.length-1);else{var d=a.lastIndexOf(" ");-1!==d&&(a=a.substr(0,d))}return a+"…"}return a}}).filter("splitcharacters",function(){return function(a,b){if(isNaN(b))return a;if(0>=b)return"";if(a&&a.length>b){var c=a.substring(0,b/2),d=a.substring(a.length-b/2,a.length);return c+"..."+d}return a}}).filter("words",function(){return function(a,b){if(isNaN(b))return a;if(0>=b)return"";if(a){var c=a.split(/\s+/);c.length>b&&(a=c.slice(0,b).join(" ")+"…")}return a}}),angular.module("ui-notification",[]),angular.module("ui-notification").provider("Notification",function(){this.options={delay:5e3,startTop:10,startRight:10,verticalSpacing:10,horizontalSpacing:10,positionX:"right",positionY:"top",replaceMessage:!1,templateUrl:"angular-ui-notification.html"},this.setOptions=function(a){if(!angular.isObject(a))throw new Error("Options should be an object!");this.options=angular.extend({},this.options,a)},this.$get=["$timeout","$http","$compile","$templateCache","$rootScope","$injector","$sce","$q","$window",function(a,b,c,d,e,f,g,h,i){var j=this.options,k=j.startTop,l=j.startRight,m=j.verticalSpacing,n=j.horizontalSpacing,o=j.delay,p=[],q=!1,r=function(f,r){var s=h.defer();return"object"!=typeof f&&(f={message:f}),f.scope=f.scope?f.scope:e,f.template=f.templateUrl?f.templateUrl:j.templateUrl,f.delay=angular.isUndefined(f.delay)?o:f.delay,f.type=r?r:"",f.positionY=f.positionY?f.positionY:j.positionY,f.positionX=f.positionX?f.positionX:j.positionX,f.replaceMessage=f.replaceMessage?f.replaceMessage:j.replaceMessage,b.get(f.template,{cache:d}).success(function(b){var d=f.scope.$new();d.message=g.trustAsHtml(f.message),d.title=g.trustAsHtml(f.title),d.t=f.type.substr(0,1),d.delay=f.delay;var e=function(){for(var a=0,b=0,c=k,d=l,e=[],g=p.length-1;g>=0;g--){var h=p[g];if(f.replaceMessage&&g<p.length-1)h.addClass("killed");else{var i=parseInt(h[0].offsetHeight),j=parseInt(h[0].offsetWidth),o=e[h._positionY+h._positionX];q+i>window.innerHeight&&(o=k,b++,a=0);var q=c=o?0===a?o:o+m:k,r=d+b*(n+j);h.css(h._positionY,q+"px"),"center"==h._positionX?h.css("left",parseInt(window.innerWidth/2-j/2)+"px"):h.css(h._positionX,r+"px"),e[h._positionY+h._positionX]=q+i,a++}}},h=c(b)(d);h._positionY=f.positionY,h._positionX=f.positionX,h.addClass(f.type),h.bind("webkitTransitionEnd oTransitionEnd otransitionend transitionend msTransitionEnd click",function(a){a=a.originalEvent||a,("click"===a.type||"opacity"===a.propertyName&&a.elapsedTime>=1)&&(h.remove(),p.splice(p.indexOf(h),1),e())}),angular.isNumber(f.delay)&&a(function(){h.addClass("killed")},f.delay),angular.element(document.getElementsByTagName("body")).append(h);var j=-(parseInt(h[0].offsetHeight)+50);h.css(h._positionY,j+"px"),p.push(h),d._templateElement=h,d.kill=function(b){b?(p.splice(p.indexOf(d._templateElement),1),d._templateElement.remove(),a(e)):d._templateElement.addClass("killed")},a(e),q||(angular.element(i).bind("resize",function(){a(e)}),q=!0),s.resolve(d)}).error(function(a){throw new Error("Template ("+f.template+") could not be loaded. "+a)}),s.promise};return r.primary=function(a){return this(a,"primary")},r.error=function(a){return this(a,"error")},r.success=function(a){return this(a,"success")},r.info=function(a){return this(a,"info")},r.warning=function(a){return this(a,"warning")},r.clearAll=function(){angular.forEach(p,function(a){a.addClass("killed")})},r}]}),angular.module("ui-notification").run(["$templateCache",function(a){a.put("angular-ui-notification.html",'<div class="ui-notification"><h3 ng-show="title" ng-bind-html="title"></h3><div class="message" ng-bind-html="message"></div></div>')}]),"undefined"!=typeof module&&"undefined"!=typeof exports&&module.exports===exports&&(module.exports="ui.router"),function(a,b,c){"use strict";function d(a,b){return N(new(N(function(){},{prototype:a})),b)}function e(a){return M(arguments,function(b){b!==a&&M(b,function(b,c){a.hasOwnProperty(c)||(a[c]=b)})}),a}function f(a,b){var c=[];for(var d in a.path){if(a.path[d]!==b.path[d])break;c.push(a.path[d])}return c}function g(a){if(Object.keys)return Object.keys(a);var b=[];return M(a,function(a,c){b.push(c)}),b}function h(a,b){if(Array.prototype.indexOf)return a.indexOf(b,Number(arguments[2])||0);var c=a.length>>>0,d=Number(arguments[2])||0;for(d=0>d?Math.ceil(d):Math.floor(d),0>d&&(d+=c);c>d;d++)if(d in a&&a[d]===b)return d;return-1}function i(a,b,c,d){var e,i=f(c,d),j={},k=[];for(var l in i)if(i[l].params&&(e=g(i[l].params),e.length))for(var m in e)h(k,e[m])>=0||(k.push(e[m]),j[e[m]]=a[e[m]]);return N({},j,b)}function j(a,b,c){if(!c){c=[];for(var d in a)c.push(d)}for(var e=0;e<c.length;e++){var f=c[e];if(a[f]!=b[f])return!1}return!0}function k(a,b){var c={};return M(a,function(a){c[a]=b[a]}),c}function l(a){var b={},c=Array.prototype.concat.apply(Array.prototype,Array.prototype.slice.call(arguments,1));return M(c,function(c){c in a&&(b[c]=a[c])}),b}function m(a){var b={},c=Array.prototype.concat.apply(Array.prototype,Array.prototype.slice.call(arguments,1));for(var d in a)-1==h(c,d)&&(b[d]=a[d]);return b}function n(a,b){var c=L(a),d=c?[]:{};return M(a,function(a,e){b(a,e)&&(d[c?d.length:e]=a)}),d}function o(a,b){var c=L(a)?[]:{};return M(a,function(a,d){c[d]=b(a,d)}),c}function p(a,b){var d=1,f=2,i={},j=[],k=i,l=N(a.when(i),{$$promises:i,$$values:i});this.study=function(i){function n(a,c){if(s[c]!==f){if(r.push(c),s[c]===d)throw r.splice(0,h(r,c)),new Error("Cyclic dependency: "+r.join(" -> "));if(s[c]=d,J(a))q.push(c,[function(){return b.get(a)}],j);else{var e=b.annotate(a);M(e,function(a){a!==c&&i.hasOwnProperty(a)&&n(i[a],a)}),q.push(c,a,e)}r.pop(),s[c]=f}}function o(a){return K(a)&&a.then&&a.$$promises}if(!K(i))throw new Error("'invocables' must be an object");var p=g(i||{}),q=[],r=[],s={};return M(i,n),i=r=s=null,function(d,f,g){function h(){--u||(v||e(t,f.$$values),r.$$values=t,r.$$promises=r.$$promises||!0,delete r.$$inheritedValues,n.resolve(t))}function i(a){r.$$failure=a,n.reject(a)}function j(c,e,f){function j(a){l.reject(a),i(a)}function k(){if(!H(r.$$failure))try{l.resolve(b.invoke(e,g,t)),l.promise.then(function(a){t[c]=a,h()},j)}catch(a){j(a)}}var l=a.defer(),m=0;M(f,function(a){s.hasOwnProperty(a)&&!d.hasOwnProperty(a)&&(m++,s[a].then(function(b){t[a]=b,--m||k()},j))}),m||k(),s[c]=l.promise}if(o(d)&&g===c&&(g=f,f=d,d=null),d){if(!K(d))throw new Error("'locals' must be an object")}else d=k;if(f){if(!o(f))throw new Error("'parent' must be a promise returned by $resolve.resolve()")}else f=l;var n=a.defer(),r=n.promise,s=r.$$promises={},t=N({},d),u=1+q.length/3,v=!1;if(H(f.$$failure))return i(f.$$failure),r;f.$$inheritedValues&&e(t,m(f.$$inheritedValues,p)),N(s,f.$$promises),f.$$values?(v=e(t,m(f.$$values,p)),r.$$inheritedValues=m(f.$$values,p),h()):(f.$$inheritedValues&&(r.$$inheritedValues=m(f.$$inheritedValues,p)),f.then(h,i));for(var w=0,x=q.length;x>w;w+=3)d.hasOwnProperty(q[w])?h():j(q[w],q[w+1],q[w+2]);return r}},this.resolve=function(a,b,c,d){return this.study(a)(b,c,d)}}function q(a,b,c){this.fromConfig=function(a,b,c){return H(a.template)?this.fromString(a.template,b):H(a.templateUrl)?this.fromUrl(a.templateUrl,b):H(a.templateProvider)?this.fromProvider(a.templateProvider,b,c):null},this.fromString=function(a,b){return I(a)?a(b):a},this.fromUrl=function(c,d){return I(c)&&(c=c(d)),null==c?null:a.get(c,{cache:b,headers:{Accept:"text/html"}}).then(function(a){return a.data})},this.fromProvider=function(a,b,d){return c.invoke(a,null,d||{params:b})}}function r(a,b,e){function f(b,c,d,e){if(q.push(b),o[b])return o[b];if(!/^\w+(-+\w+)*(?:\[\])?$/.test(b))throw new Error("Invalid parameter name '"+b+"' in pattern '"+a+"'");if(p[b])throw new Error("Duplicate parameter name '"+b+"' in pattern '"+a+"'");return p[b]=new P.Param(b,c,d,e),p[b]}function g(a,b,c,d){var e=["",""],f=a.replace(/[\\\[\]\^$*+?.()|{}]/g,"\\$&");if(!b)return f;switch(c){case!1:e=["(",")"+(d?"?":"")];break;case!0:e=["?(",")?"];break;default:e=["("+c+"|",")?"]}return f+e[0]+b+e[1]}function h(e,f){var g,h,i,j,k;return g=e[2]||e[3],k=b.params[g],i=a.substring(m,e.index),h=f?e[4]:e[4]||("*"==e[1]?".*":null),j=P.type(h||"string")||d(P.type("string"),{pattern:new RegExp(h,b.caseInsensitive?"i":c)}),{id:g,regexp:h,segment:i,type:j,cfg:k}}b=N({params:{}},K(b)?b:{});var i,j=/([:*])([\w\[\]]+)|\{([\w\[\]]+)(?:\:((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,k=/([:]?)([\w\[\]-]+)|\{([\w\[\]-]+)(?:\:((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,l="^",m=0,n=this.segments=[],o=e?e.params:{},p=this.params=e?e.params.$$new():new P.ParamSet,q=[];this.source=a;for(var r,s,t;(i=j.exec(a))&&(r=h(i,!1),!(r.segment.indexOf("?")>=0));)s=f(r.id,r.type,r.cfg,"path"),l+=g(r.segment,s.type.pattern.source,s.squash,s.isOptional),n.push(r.segment),m=j.lastIndex;t=a.substring(m);var u=t.indexOf("?");if(u>=0){var v=this.sourceSearch=t.substring(u);if(t=t.substring(0,u),this.sourcePath=a.substring(0,m+u),v.length>0)for(m=0;i=k.exec(v);)r=h(i,!0),s=f(r.id,r.type,r.cfg,"search"),m=j.lastIndex}else this.sourcePath=a,this.sourceSearch="";l+=g(t)+(b.strict===!1?"/?":"")+"$",n.push(t),this.regexp=new RegExp(l,b.caseInsensitive?"i":c),this.prefix=n[0],this.$$paramNames=q}function s(a){N(this,a)}function t(){function a(a){return null!=a?a.toString().replace(/\//g,"%2F"):a}function e(a){return null!=a?a.toString().replace(/%2F/g,"/"):a}function f(){return{strict:p,caseInsensitive:m}}function i(a){return I(a)||L(a)&&I(a[a.length-1])}function j(){for(;w.length;){var a=w.shift();if(a.pattern)throw new Error("You cannot override a type's .pattern at runtime.");b.extend(u[a.name],l.invoke(a.def))}}function k(a){N(this,a||{})}P=this;var l,m=!1,p=!0,q=!1,u={},v=!0,w=[],x={string:{encode:a,decode:e,is:function(a){return null==a||!H(a)||"string"==typeof a},pattern:/[^\/]*/},"int":{encode:a,decode:function(a){return parseInt(a,10)},is:function(a){return H(a)&&this.decode(a.toString())===a},pattern:/\d+/},bool:{encode:function(a){return a?1:0},decode:function(a){return 0!==parseInt(a,10)},is:function(a){return a===!0||a===!1},pattern:/0|1/},date:{encode:function(a){return this.is(a)?[a.getFullYear(),("0"+(a.getMonth()+1)).slice(-2),("0"+a.getDate()).slice(-2)].join("-"):c},decode:function(a){if(this.is(a))return a;var b=this.capture.exec(a);return b?new Date(b[1],b[2]-1,b[3]):c},is:function(a){return a instanceof Date&&!isNaN(a.valueOf())},equals:function(a,b){return this.is(a)&&this.is(b)&&a.toISOString()===b.toISOString()},pattern:/[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])/,capture:/([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/},json:{encode:b.toJson,decode:b.fromJson,is:b.isObject,equals:b.equals,pattern:/[^\/]*/},any:{encode:b.identity,decode:b.identity,equals:b.equals,pattern:/.*/}};t.$$getDefaultValue=function(a){if(!i(a.value))return a.value;if(!l)throw new Error("Injectable functions cannot be called at configuration time");return l.invoke(a.value)},this.caseInsensitive=function(a){return H(a)&&(m=a),m},this.strictMode=function(a){return H(a)&&(p=a),p},this.defaultSquashPolicy=function(a){if(!H(a))return q;if(a!==!0&&a!==!1&&!J(a))throw new Error("Invalid squash policy: "+a+". Valid policies: false, true, arbitrary-string");return q=a,a},this.compile=function(a,b){return new r(a,N(f(),b))},this.isMatcher=function(a){if(!K(a))return!1;var b=!0;return M(r.prototype,function(c,d){I(c)&&(b=b&&H(a[d])&&I(a[d]))}),b},this.type=function(a,b,c){if(!H(b))return u[a];if(u.hasOwnProperty(a))throw new Error("A type named '"+a+"' has already been defined.");return u[a]=new s(N({name:a},b)),c&&(w.push({name:a,def:c}),v||j()),this},M(x,function(a,b){u[b]=new s(N({name:b},a))}),u=d(u,{}),this.$get=["$injector",function(a){return l=a,v=!1,j(),M(x,function(a,b){u[b]||(u[b]=new s(a))}),this}],this.Param=function(a,b,d,e){function f(a){var b=K(a)?g(a):[],c=-1===h(b,"value")&&-1===h(b,"type")&&-1===h(b,"squash")&&-1===h(b,"array");return c&&(a={value:a}),a.$$fn=i(a.value)?a.value:function(){return a.value},a}function j(b,c,d){if(b.type&&c)throw new Error("Param '"+a+"' has two type configurations.");return c?c:b.type?b.type instanceof s?b.type:new s(b.type):"config"===d?u.any:u.string}function k(){var b={array:"search"===e?"auto":!1},c=a.match(/\[\]$/)?{array:!0}:{};return N(b,c,d).array}function m(a,b){var c=a.squash;if(!b||c===!1)return!1;if(!H(c)||null==c)return q;if(c===!0||J(c))return c;throw new Error("Invalid squash policy: '"+c+"'. Valid policies: false, true, or arbitrary string")}function p(a,b,d,e){var f,g,i=[{from:"",to:d||b?c:""},{from:null,to:d||b?c:""}];return f=L(a.replace)?a.replace:[],J(e)&&f.push({from:e,to:c}),g=o(f,function(a){return a.from}),n(i,function(a){return-1===h(g,a.from)}).concat(f)}function r(){if(!l)throw new Error("Injectable functions cannot be called at configuration time");var a=l.invoke(d.$$fn);if(null!==a&&a!==c&&!w.type.is(a))throw new Error("Default value ("+a+") for parameter '"+w.id+"' is not an instance of Type ("+w.type.name+")");return a}function t(a){function b(a){return function(b){return b.from===a}}function c(a){var c=o(n(w.replace,b(a)),function(a){return a.to});return c.length?c[0]:a}return a=c(a),H(a)?w.type.$normalize(a):r()}function v(){return"{Param:"+a+" "+b+" squash: '"+z+"' optional: "+y+"}"}var w=this;d=f(d),b=j(d,b,e);var x=k();b=x?b.$asArray(x,"search"===e):b,"string"!==b.name||x||"path"!==e||d.value!==c||(d.value="");
-var y=d.value!==c,z=m(d,y),A=p(d,x,y,z);N(this,{id:a,type:b,location:e,array:x,squash:z,replace:A,isOptional:y,value:t,dynamic:c,config:d,toString:v})},k.prototype={$$new:function(){return d(this,N(new k,{$$parent:this}))},$$keys:function(){for(var a=[],b=[],c=this,d=g(k.prototype);c;)b.push(c),c=c.$$parent;return b.reverse(),M(b,function(b){M(g(b),function(b){-1===h(a,b)&&-1===h(d,b)&&a.push(b)})}),a},$$values:function(a){var b={},c=this;return M(c.$$keys(),function(d){b[d]=c[d].value(a&&a[d])}),b},$$equals:function(a,b){var c=!0,d=this;return M(d.$$keys(),function(e){var f=a&&a[e],g=b&&b[e];d[e].type.equals(f,g)||(c=!1)}),c},$$validates:function(a){var d,e,f,g,h,i=this.$$keys();for(d=0;d<i.length&&(e=this[i[d]],f=a[i[d]],f!==c&&null!==f||!e.isOptional);d++){if(g=e.type.$normalize(f),!e.type.is(g))return!1;if(h=e.type.encode(g),b.isString(h)&&!e.type.pattern.exec(h))return!1}return!0},$$parent:c},this.ParamSet=k}function u(a,d){function e(a){var b=/^\^((?:\\[^a-zA-Z0-9]|[^\\\[\]\^$*+?.()|{}]+)*)/.exec(a.source);return null!=b?b[1].replace(/\\(.)/g,"$1"):""}function f(a,b){return a.replace(/\$(\$|\d{1,2})/,function(a,c){return b["$"===c?0:Number(c)]})}function g(a,b,c){if(!c)return!1;var d=a.invoke(b,b,{$match:c});return H(d)?d:!0}function h(d,e,f,g){function h(a,b,c){return"/"===p?a:b?p.slice(0,-1)+a:c?p.slice(1)+a:a}function m(a){function b(a){var b=a(f,d);return b?(J(b)&&d.replace().url(b),!0):!1}if(!a||!a.defaultPrevented){o&&d.url()===o;o=c;var e,g=j.length;for(e=0;g>e;e++)if(b(j[e]))return;k&&b(k)}}function n(){return i=i||e.$on("$locationChangeSuccess",m)}var o,p=g.baseHref(),q=d.url();return l||n(),{sync:function(){m()},listen:function(){return n()},update:function(a){return a?void(q=d.url()):void(d.url()!==q&&(d.url(q),d.replace()))},push:function(a,b,e){var f=a.format(b||{});null!==f&&b&&b["#"]&&(f+="#"+b["#"]),d.url(f),o=e&&e.$$avoidResync?d.url():c,e&&e.replace&&d.replace()},href:function(c,e,f){if(!c.validates(e))return null;var g=a.html5Mode();b.isObject(g)&&(g=g.enabled);var i=c.format(e);if(f=f||{},g||null===i||(i="#"+a.hashPrefix()+i),null!==i&&e&&e["#"]&&(i+="#"+e["#"]),i=h(i,g,f.absolute),!f.absolute||!i)return i;var j=!g&&i?"/":"",k=d.port();return k=80===k||443===k?"":":"+k,[d.protocol(),"://",d.host(),k,j,i].join("")}}}var i,j=[],k=null,l=!1;this.rule=function(a){if(!I(a))throw new Error("'rule' must be a function");return j.push(a),this},this.otherwise=function(a){if(J(a)){var b=a;a=function(){return b}}else if(!I(a))throw new Error("'rule' must be a function");return k=a,this},this.when=function(a,b){var c,h=J(b);if(J(a)&&(a=d.compile(a)),!h&&!I(b)&&!L(b))throw new Error("invalid 'handler' in when()");var i={matcher:function(a,b){return h&&(c=d.compile(b),b=["$match",function(a){return c.format(a)}]),N(function(c,d){return g(c,b,a.exec(d.path(),d.search()))},{prefix:J(a.prefix)?a.prefix:""})},regex:function(a,b){if(a.global||a.sticky)throw new Error("when() RegExp must not be global or sticky");return h&&(c=b,b=["$match",function(a){return f(c,a)}]),N(function(c,d){return g(c,b,a.exec(d.path()))},{prefix:e(a)})}},j={matcher:d.isMatcher(a),regex:a instanceof RegExp};for(var k in j)if(j[k])return this.rule(i[k](a,b));throw new Error("invalid 'what' in when()")},this.deferIntercept=function(a){a===c&&(a=!0),l=a},this.$get=h,h.$inject=["$location","$rootScope","$injector","$browser"]}function v(a,e){function f(a){return 0===a.indexOf(".")||0===a.indexOf("^")}function m(a,b){if(!a)return c;var d=J(a),e=d?a:a.name,g=f(e);if(g){if(!b)throw new Error("No reference point given for path '"+e+"'");b=m(b);for(var h=e.split("."),i=0,j=h.length,k=b;j>i;i++)if(""!==h[i]||0!==i){if("^"!==h[i])break;if(!k.parent)throw new Error("Path '"+e+"' not valid for state '"+b.name+"'");k=k.parent}else k=b;h=h.slice(i).join("."),e=k.name+(k.name&&h?".":"")+h}var l=z[e];return!l||!d&&(d||l!==a&&l.self!==a)?c:l}function n(a,b){A[a]||(A[a]=[]),A[a].push(b)}function p(a){for(var b=A[a]||[];b.length;)q(b.shift())}function q(b){b=d(b,{self:b,resolve:b.resolve||{},toString:function(){return this.name}});var c=b.name;if(!J(c)||c.indexOf("@")>=0)throw new Error("State must have a valid name");if(z.hasOwnProperty(c))throw new Error("State '"+c+"'' is already defined");var e=-1!==c.indexOf(".")?c.substring(0,c.lastIndexOf(".")):J(b.parent)?b.parent:K(b.parent)&&J(b.parent.name)?b.parent.name:"";if(e&&!z[e])return n(e,b.self);for(var f in C)I(C[f])&&(b[f]=C[f](b,C.$delegates[f]));return z[c]=b,!b[B]&&b.url&&a.when(b.url,["$match","$stateParams",function(a,c){y.$current.navigable==b&&j(a,c)||y.transitionTo(b,a,{inherit:!0,location:!1})}]),p(c),b}function r(a){return a.indexOf("*")>-1}function s(a){for(var b=a.split("."),c=y.$current.name.split("."),d=0,e=b.length;e>d;d++)"*"===b[d]&&(c[d]="*");return"**"===b[0]&&(c=c.slice(h(c,b[1])),c.unshift("**")),"**"===b[b.length-1]&&(c.splice(h(c,b[b.length-2])+1,Number.MAX_VALUE),c.push("**")),b.length!=c.length?!1:c.join("")===b.join("")}function t(a,b){return J(a)&&!H(b)?C[a]:I(b)&&J(a)?(C[a]&&!C.$delegates[a]&&(C.$delegates[a]=C[a]),C[a]=b,this):this}function u(a,b){return K(a)?b=a:b.name=a,q(b),this}function v(a,e,f,h,l,n,p,q,t){function u(b,c,d,f){var g=a.$broadcast("$stateNotFound",b,c,d);if(g.defaultPrevented)return p.update(),D;if(!g.retry)return null;if(f.$retry)return p.update(),E;var h=y.transition=e.when(g.retry);return h.then(function(){return h!==y.transition?A:(b.options.$retry=!0,y.transitionTo(b.to,b.toParams,b.options))},function(){return D}),p.update(),h}function v(a,c,d,g,i,j){function m(){var c=[];return M(a.views,function(d,e){var g=d.resolve&&d.resolve!==a.resolve?d.resolve:{};g.$template=[function(){return f.load(e,{view:d,locals:i.globals,params:n,notify:j.notify})||""}],c.push(l.resolve(g,i.globals,i.resolve,a).then(function(c){if(I(d.controllerProvider)||L(d.controllerProvider)){var f=b.extend({},g,i.globals);c.$$controller=h.invoke(d.controllerProvider,null,f)}else c.$$controller=d.controller;c.$$state=a,c.$$controllerAs=d.controllerAs,i[e]=c}))}),e.all(c).then(function(){return i.globals})}var n=d?c:k(a.params.$$keys(),c),o={$stateParams:n};i.resolve=l.resolve(a.resolve,o,i.resolve,a);var p=[i.resolve.then(function(a){i.globals=a})];return g&&p.push(g),e.all(p).then(m).then(function(a){return i})}var A=e.reject(new Error("transition superseded")),C=e.reject(new Error("transition prevented")),D=e.reject(new Error("transition aborted")),E=e.reject(new Error("transition failed"));return x.locals={resolve:null,globals:{$stateParams:{}}},y={params:{},current:x.self,$current:x,transition:null},y.reload=function(a){return y.transitionTo(y.current,n,{reload:a||!0,inherit:!1,notify:!0})},y.go=function(a,b,c){return y.transitionTo(a,b,N({inherit:!0,relative:y.$current},c))},y.transitionTo=function(b,c,f){c=c||{},f=N({location:!0,inherit:!1,relative:null,notify:!0,reload:!1,$retry:!1},f||{});var g,j=y.$current,l=y.params,o=j.path,q=m(b,f.relative),r=c["#"];if(!H(q)){var s={to:b,toParams:c,options:f},t=u(s,j.self,l,f);if(t)return t;if(b=s.to,c=s.toParams,f=s.options,q=m(b,f.relative),!H(q)){if(!f.relative)throw new Error("No such state '"+b+"'");throw new Error("Could not resolve '"+b+"' from state '"+f.relative+"'")}}if(q[B])throw new Error("Cannot transition to abstract state '"+b+"'");if(f.inherit&&(c=i(n,c||{},y.$current,q)),!q.params.$$validates(c))return E;c=q.params.$$values(c),b=q;var z=b.path,D=0,F=z[D],G=x.locals,I=[];if(f.reload){if(J(f.reload)||K(f.reload)){if(K(f.reload)&&!f.reload.name)throw new Error("Invalid reload state object");var L=f.reload===!0?o[0]:m(f.reload);if(f.reload&&!L)throw new Error("No such reload state '"+(J(f.reload)?f.reload:f.reload.name)+"'");for(;F&&F===o[D]&&F!==L;)G=I[D]=F.locals,D++,F=z[D]}}else for(;F&&F===o[D]&&F.ownParams.$$equals(c,l);)G=I[D]=F.locals,D++,F=z[D];if(w(b,c,j,l,G,f))return r&&(c["#"]=r),y.params=c,O(y.params,n),f.location&&b.navigable&&b.navigable.url&&(p.push(b.navigable.url,c,{$$avoidResync:!0,replace:"replace"===f.location}),p.update(!0)),y.transition=null,e.when(y.current);if(c=k(b.params.$$keys(),c||{}),f.notify&&a.$broadcast("$stateChangeStart",b.self,c,j.self,l).defaultPrevented)return a.$broadcast("$stateChangeCancel",b.self,c,j.self,l),p.update(),C;for(var M=e.when(G),P=D;P<z.length;P++,F=z[P])G=I[P]=d(G),M=v(F,c,F===b,M,G,f);var Q=y.transition=M.then(function(){var d,e,g;if(y.transition!==Q)return A;for(d=o.length-1;d>=D;d--)g=o[d],g.self.onExit&&h.invoke(g.self.onExit,g.self,g.locals.globals),g.locals=null;for(d=D;d<z.length;d++)e=z[d],e.locals=I[d],e.self.onEnter&&h.invoke(e.self.onEnter,e.self,e.locals.globals);return r&&(c["#"]=r),y.transition!==Q?A:(y.$current=b,y.current=b.self,y.params=c,O(y.params,n),y.transition=null,f.location&&b.navigable&&p.push(b.navigable.url,b.navigable.locals.globals.$stateParams,{$$avoidResync:!0,replace:"replace"===f.location}),f.notify&&a.$broadcast("$stateChangeSuccess",b.self,c,j.self,l),p.update(!0),y.current)},function(d){return y.transition!==Q?A:(y.transition=null,g=a.$broadcast("$stateChangeError",b.self,c,j.self,l,d),g.defaultPrevented||p.update(),e.reject(d))});return Q},y.is=function(a,b,d){d=N({relative:y.$current},d||{});var e=m(a,d.relative);return H(e)?y.$current!==e?!1:b?j(e.params.$$values(b),n):!0:c},y.includes=function(a,b,d){if(d=N({relative:y.$current},d||{}),J(a)&&r(a)){if(!s(a))return!1;a=y.$current.name}var e=m(a,d.relative);return H(e)?H(y.$current.includes[e.name])?b?j(e.params.$$values(b),n,g(b)):!0:!1:c},y.href=function(a,b,d){d=N({lossy:!0,inherit:!0,absolute:!1,relative:y.$current},d||{});var e=m(a,d.relative);if(!H(e))return null;d.inherit&&(b=i(n,b||{},y.$current,e));var f=e&&d.lossy?e.navigable:e;return f&&f.url!==c&&null!==f.url?p.href(f.url,k(e.params.$$keys().concat("#"),b||{}),{absolute:d.absolute}):null},y.get=function(a,b){if(0===arguments.length)return o(g(z),function(a){return z[a].self});var c=m(a,b||y.$current);return c&&c.self?c.self:null},y}function w(a,b,c,d,e,f){function g(a,b,c){function d(b){return"search"!=a.params[b].location}var e=a.params.$$keys().filter(d),f=l.apply({},[a.params].concat(e)),g=new P.ParamSet(f);return g.$$equals(b,c)}return!f.reload&&a===c&&(e===c.locals||a.self.reloadOnSearch===!1&&g(c,d,b))?!0:void 0}var x,y,z={},A={},B="abstract",C={parent:function(a){if(H(a.parent)&&a.parent)return m(a.parent);var b=/^(.+)\.[^.]+$/.exec(a.name);return b?m(b[1]):x},data:function(a){return a.parent&&a.parent.data&&(a.data=a.self.data=N({},a.parent.data,a.data)),a.data},url:function(a){var b=a.url,c={params:a.params||{}};if(J(b))return"^"==b.charAt(0)?e.compile(b.substring(1),c):(a.parent.navigable||x).url.concat(b,c);if(!b||e.isMatcher(b))return b;throw new Error("Invalid url '"+b+"' in state '"+a+"'")},navigable:function(a){return a.url?a:a.parent?a.parent.navigable:null},ownParams:function(a){var b=a.url&&a.url.params||new P.ParamSet;return M(a.params||{},function(a,c){b[c]||(b[c]=new P.Param(c,null,a,"config"))}),b},params:function(a){return a.parent&&a.parent.params?N(a.parent.params.$$new(),a.ownParams):new P.ParamSet},views:function(a){var b={};return M(H(a.views)?a.views:{"":a},function(c,d){d.indexOf("@")<0&&(d+="@"+a.parent.name),b[d]=c}),b},path:function(a){return a.parent?a.parent.path.concat(a):[]},includes:function(a){var b=a.parent?N({},a.parent.includes):{};return b[a.name]=!0,b},$delegates:{}};x=q({name:"",url:"^",views:null,"abstract":!0}),x.navigable=null,this.decorator=t,this.state=u,this.$get=v,v.$inject=["$rootScope","$q","$view","$injector","$resolve","$stateParams","$urlRouter","$location","$urlMatcherFactory"]}function w(){function a(a,b){return{load:function(c,d){var e,f={template:null,controller:null,view:null,locals:null,notify:!0,async:!0,params:{}};return d=N(f,d),d.view&&(e=b.fromConfig(d.view,d.params,d.locals)),e&&d.notify&&a.$broadcast("$viewContentLoading",d),e}}}this.$get=a,a.$inject=["$rootScope","$templateFactory"]}function x(){var a=!1;this.useAnchorScroll=function(){a=!0},this.$get=["$anchorScroll","$timeout",function(b,c){return a?b:function(a){return c(function(){a[0].scrollIntoView()},0,!1)}}]}function y(a,c,d,e){function f(){return c.has?function(a){return c.has(a)?c.get(a):null}:function(a){try{return c.get(a)}catch(b){return null}}}function g(a,b){var c=function(){return{enter:function(a,b,c){b.after(a),c()},leave:function(a,b){a.remove(),b()}}};if(j)return{enter:function(a,b,c){var d=j.enter(a,null,b,c);d&&d.then&&d.then(c)},leave:function(a,b){var c=j.leave(a,b);c&&c.then&&c.then(b)}};if(i){var d=i&&i(b,a);return{enter:function(a,b,c){d.enter(a,null,b),c()},leave:function(a,b){d.leave(a),b()}}}return c()}var h=f(),i=h("$animator"),j=h("$animate"),k={restrict:"ECA",terminal:!0,priority:400,transclude:"element",compile:function(c,f,h){return function(c,f,i){function j(){l&&(l.remove(),l=null),n&&(n.$destroy(),n=null),m&&(r.leave(m,function(){l=null}),l=m,m=null)}function k(g){var k,l=A(c,i,f,e),s=l&&a.$current&&a.$current.locals[l];if(g||s!==o){k=c.$new(),o=a.$current.locals[l];var t=h(k,function(a){r.enter(a,f,function(){n&&n.$emit("$viewContentAnimationEnded"),(b.isDefined(q)&&!q||c.$eval(q))&&d(a)}),j()});m=t,n=k,n.$emit("$viewContentLoaded"),n.$eval(p)}}var l,m,n,o,p=i.onload||"",q=i.autoscroll,r=g(i,c);c.$on("$stateChangeSuccess",function(){k(!1)}),c.$on("$viewContentLoading",function(){k(!1)}),k(!0)}}};return k}function z(a,b,c,d){return{restrict:"ECA",priority:-400,compile:function(e){var f=e.html();return function(e,g,h){var i=c.$current,j=A(e,h,g,d),k=i&&i.locals[j];if(k){g.data("$uiView",{name:j,state:k.$$state}),g.html(k.$template?k.$template:f);var l=a(g.contents());if(k.$$controller){k.$scope=e,k.$element=g;var m=b(k.$$controller,k);k.$$controllerAs&&(e[k.$$controllerAs]=m),g.data("$ngControllerController",m),g.children().data("$ngControllerController",m)}l(e)}}}}}function A(a,b,c,d){var e=d(b.uiView||b.name||"")(a),f=c.inheritedData("$uiView");return e.indexOf("@")>=0?e:e+"@"+(f?f.state.name:"")}function B(a,b){var c,d=a.match(/^\s*({[^}]*})\s*$/);if(d&&(a=b+"("+d[1]+")"),c=a.replace(/\n/g," ").match(/^([^(]+?)\s*(\((.*)\))?$/),!c||4!==c.length)throw new Error("Invalid state ref '"+a+"'");return{state:c[1],paramExpr:c[3]||null}}function C(a){var b=a.parent().inheritedData("$uiView");return b&&b.state&&b.state.name?b.state:void 0}function D(a,c){var d=["location","inherit","reload","absolute"];return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(e,f,g,h){var i=B(g.uiSref,a.current.name),j=null,k=C(f)||a.$current,l="[object SVGAnimatedString]"===Object.prototype.toString.call(f.prop("href"))?"xlink:href":"href",m=null,n="A"===f.prop("tagName").toUpperCase(),o="FORM"===f[0].nodeName,p=o?"action":l,q=!0,r={relative:k,inherit:!0},s=e.$eval(g.uiSrefOpts)||{};b.forEach(d,function(a){a in s&&(r[a]=s[a])});var t=function(c){if(c&&(j=b.copy(c)),q){m=a.href(i.state,j,r);var d=h[1]||h[0];return d&&d.$$addStateInfo(i.state,j),null===m?(q=!1,!1):void g.$set(p,m)}};i.paramExpr&&(e.$watch(i.paramExpr,function(a,b){a!==j&&t(a)},!0),j=b.copy(e.$eval(i.paramExpr))),t(),o||f.bind("click",function(b){var d=b.which||b.button;if(!(d>1||b.ctrlKey||b.metaKey||b.shiftKey||f.attr("target"))){var e=c(function(){a.go(i.state,j,r)});b.preventDefault();var g=n&&!m?1:0;b.preventDefault=function(){g--<=0&&c.cancel(e)}}})}}}function E(a,b,c){return{restrict:"A",controller:["$scope","$element","$attrs",function(b,d,e){function f(){g()?d.addClass(i):d.removeClass(i)}function g(){for(var a=0;a<j.length;a++)if(h(j[a].state,j[a].params))return!0;return!1}function h(b,c){return"undefined"!=typeof e.uiSrefActiveEq?a.is(b.name,c):a.includes(b.name,c)}var i,j=[];i=c(e.uiSrefActiveEq||e.uiSrefActive||"",!1)(b),this.$$addStateInfo=function(b,c){var e=a.get(b,C(d));j.push({state:e||{name:b},params:c}),f()},b.$on("$stateChangeSuccess",f)}]}}function F(a){var b=function(b){return a.is(b)};return b.$stateful=!0,b}function G(a){var b=function(b){return a.includes(b)};return b.$stateful=!0,b}var H=b.isDefined,I=b.isFunction,J=b.isString,K=b.isObject,L=b.isArray,M=b.forEach,N=b.extend,O=b.copy;b.module("ui.router.util",["ng"]),b.module("ui.router.router",["ui.router.util"]),b.module("ui.router.state",["ui.router.router","ui.router.util"]),b.module("ui.router",["ui.router.state"]),b.module("ui.router.compat",["ui.router"]),p.$inject=["$q","$injector"],b.module("ui.router.util").service("$resolve",p),q.$inject=["$http","$templateCache","$injector"],b.module("ui.router.util").service("$templateFactory",q);var P;r.prototype.concat=function(a,b){var c={caseInsensitive:P.caseInsensitive(),strict:P.strictMode(),squash:P.defaultSquashPolicy()};return new r(this.sourcePath+a+this.sourceSearch,N(c,b),this)},r.prototype.toString=function(){return this.source},r.prototype.exec=function(a,b){function c(a){function b(a){return a.split("").reverse().join("")}function c(a){return a.replace(/\\-/g,"-")}var d=b(a).split(/-(?!\\)/),e=o(d,b);return o(e,c).reverse()}var d=this.regexp.exec(a);if(!d)return null;b=b||{};var e,f,g,h=this.parameters(),i=h.length,j=this.segments.length-1,k={};if(j!==d.length-1)throw new Error("Unbalanced capture group in route '"+this.source+"'");for(e=0;j>e;e++){g=h[e];var l=this.params[g],m=d[e+1];for(f=0;f<l.replace;f++)l.replace[f].from===m&&(m=l.replace[f].to);m&&l.array===!0&&(m=c(m)),k[g]=l.value(m)}for(;i>e;e++)g=h[e],k[g]=this.params[g].value(b[g]);return k},r.prototype.parameters=function(a){return H(a)?this.params[a]||null:this.$$paramNames},r.prototype.validates=function(a){return this.params.$$validates(a)},r.prototype.format=function(a){function b(a){return encodeURIComponent(a).replace(/-/g,function(a){return"%5C%"+a.charCodeAt(0).toString(16).toUpperCase()})}a=a||{};var c=this.segments,d=this.parameters(),e=this.params;if(!this.validates(a))return null;var f,g=!1,h=c.length-1,i=d.length,j=c[0];for(f=0;i>f;f++){var k=h>f,l=d[f],m=e[l],n=m.value(a[l]),p=m.isOptional&&m.type.equals(m.value(),n),q=p?m.squash:!1,r=m.type.encode(n);if(k){var s=c[f+1];if(q===!1)null!=r&&(j+=L(r)?o(r,b).join("-"):encodeURIComponent(r)),j+=s;else if(q===!0){var t=j.match(/\/$/)?/\/?(.*)/:/(.*)/;j+=s.match(t)[1]}else J(q)&&(j+=q+s)}else{if(null==r||p&&q!==!1)continue;L(r)||(r=[r]),r=o(r,encodeURIComponent).join("&"+l+"="),j+=(g?"&":"?")+(l+"="+r),g=!0}}return j},s.prototype.is=function(a,b){return!0},s.prototype.encode=function(a,b){return a},s.prototype.decode=function(a,b){return a},s.prototype.equals=function(a,b){return a==b},s.prototype.$subPattern=function(){var a=this.pattern.toString();return a.substr(1,a.length-2)},s.prototype.pattern=/.*/,s.prototype.toString=function(){return"{Type:"+this.name+"}"},s.prototype.$normalize=function(a){return this.is(a)?a:this.decode(a)},s.prototype.$asArray=function(a,b){function d(a,b){function d(a,b){return function(){return a[b].apply(a,arguments)}}function e(a){return L(a)?a:H(a)?[a]:[]}function f(a){switch(a.length){case 0:return c;case 1:return"auto"===b?a[0]:a;default:return a}}function g(a){return!a}function h(a,b){return function(c){c=e(c);var d=o(c,a);return b===!0?0===n(d,g).length:f(d)}}function i(a){return function(b,c){var d=e(b),f=e(c);if(d.length!==f.length)return!1;for(var g=0;g<d.length;g++)if(!a(d[g],f[g]))return!1;return!0}}this.encode=h(d(a,"encode")),this.decode=h(d(a,"decode")),this.is=h(d(a,"is"),!0),this.equals=i(d(a,"equals")),this.pattern=a.pattern,this.$normalize=h(d(a,"$normalize")),this.name=a.name,this.$arrayMode=b}if(!a)return this;if("auto"===a&&!b)throw new Error("'auto' array mode is for query parameters only");return new d(this,a)},b.module("ui.router.util").provider("$urlMatcherFactory",t),b.module("ui.router.util").run(["$urlMatcherFactory",function(a){}]),u.$inject=["$locationProvider","$urlMatcherFactoryProvider"],b.module("ui.router.router").provider("$urlRouter",u),v.$inject=["$urlRouterProvider","$urlMatcherFactoryProvider"],b.module("ui.router.state").value("$stateParams",{}).provider("$state",v),w.$inject=[],b.module("ui.router.state").provider("$view",w),b.module("ui.router.state").provider("$uiViewScroll",x),y.$inject=["$state","$injector","$uiViewScroll","$interpolate"],z.$inject=["$compile","$controller","$state","$interpolate"],b.module("ui.router.state").directive("uiView",y),b.module("ui.router.state").directive("uiView",z),D.$inject=["$state","$timeout"],E.$inject=["$state","$stateParams","$interpolate"],b.module("ui.router.state").directive("uiSref",D).directive("uiSrefActive",E).directive("uiSrefActiveEq",E),F.$inject=["$state"],G.$inject=["$state"],b.module("ui.router.state").filter("isState",F).filter("includedByState",G)}(window,window.angular),function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){function b(b,d){var e,f,g,h=b.nodeName.toLowerCase();return"area"===h?(e=b.parentNode,f=e.name,b.href&&f&&"map"===e.nodeName.toLowerCase()?(g=a("img[usemap='#"+f+"']")[0],!!g&&c(g)):!1):(/^(input|select|textarea|button|object)$/.test(h)?!b.disabled:"a"===h?b.href||d:d)&&c(b)}function c(b){return a.expr.filters.visible(b)&&!a(b).parents().addBack().filter(function(){return"hidden"===a.css(this,"visibility")}).length}function d(a){for(var b,c;a.length&&a[0]!==document;){if(b=a.css("position"),("absolute"===b||"relative"===b||"fixed"===b)&&(c=parseInt(a.css("zIndex"),10),!isNaN(c)&&0!==c))return c;a=a.parent()}return 0}function e(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},a.extend(this._defaults,this.regional[""]),this.regional.en=a.extend(!0,{},this.regional[""]),this.regional["en-US"]=a.extend(!0,{},this.regional.en),this.dpDiv=f(a("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function f(b){var c="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return b.delegate(c,"mouseout",function(){a(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&a(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&a(this).removeClass("ui-datepicker-next-hover")}).delegate(c,"mouseover",g)}function g(){a.datepicker._isDisabledDatepicker(r.inline?r.dpDiv.parent()[0]:r.input[0])||(a(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),a(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&a(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&a(this).addClass("ui-datepicker-next-hover"))}function h(b,c){a.extend(b,c);for(var d in c)null==c[d]&&(b[d]=c[d]);return b}function i(a){return function(){var b=this.element.val();a.apply(this,arguments),this._refresh(),b!==this.element.val()&&this._trigger("change")}}a.ui=a.ui||{},a.extend(a.ui,{version:"1.11.4",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),a.fn.extend({scrollParent:function(b){var c=this.css("position"),d="absolute"===c,e=b?/(auto|scroll|hidden)/:/(auto|scroll)/,f=this.parents().filter(function(){var b=a(this);return d&&"static"===b.css("position")?!1:e.test(b.css("overflow")+b.css("overflow-y")+b.css("overflow-x"))}).eq(0);return"fixed"!==c&&f.length?f:a(this[0].ownerDocument||document)},uniqueId:function(){var a=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++a)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&a(this).removeAttr("id")})}}),a.extend(a.expr[":"],{data:a.expr.createPseudo?a.expr.createPseudo(function(b){return function(c){return!!a.data(c,b)}}):function(b,c,d){return!!a.data(b,d[3])},focusable:function(c){return b(c,!isNaN(a.attr(c,"tabindex")))},tabbable:function(c){var d=a.attr(c,"tabindex"),e=isNaN(d);return(e||d>=0)&&b(c,!e)}}),a("<a>").outerWidth(1).jquery||a.each(["Width","Height"],function(b,c){function d(b,c,d,f){return a.each(e,function(){c-=parseFloat(a.css(b,"padding"+this))||0,d&&(c-=parseFloat(a.css(b,"border"+this+"Width"))||0),f&&(c-=parseFloat(a.css(b,"margin"+this))||0)}),c}var e="Width"===c?["Left","Right"]:["Top","Bottom"],f=c.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+c]=function(b){return void 0===b?g["inner"+c].call(this):this.each(function(){a(this).css(f,d(this,b)+"px")})},a.fn["outer"+c]=function(b,e){return"number"!=typeof b?g["outer"+c].call(this,b):this.each(function(){a(this).css(f,d(this,b,!0,e)+"px")})}}),a.fn.addBack||(a.fn.addBack=function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}),a("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(a.fn.removeData=function(b){return function(c){return arguments.length?b.call(this,a.camelCase(c)):b.call(this)}}(a.fn.removeData)),a.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),a.fn.extend({focus:function(b){return function(c,d){return"number"==typeof c?this.each(function(){var b=this;setTimeout(function(){a(b).focus(),d&&d.call(b)},c)}):b.apply(this,arguments)}}(a.fn.focus),disableSelection:function(){var a="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.bind(a+".ui-disableSelection",function(a){a.preventDefault()})}}(),enableSelection:function(){return this.unbind(".ui-disableSelection")},zIndex:function(b){if(void 0!==b)return this.css("zIndex",b);if(this.length)for(var c,d,e=a(this[0]);e.length&&e[0]!==document;){if(c=e.css("position"),("absolute"===c||"relative"===c||"fixed"===c)&&(d=parseInt(e.css("zIndex"),10),!isNaN(d)&&0!==d))return d;e=e.parent()}return 0}}),a.ui.plugin={add:function(b,c,d){var e,f=a.ui[b].prototype;for(e in d)f.plugins[e]=f.plugins[e]||[],f.plugins[e].push([c,d[e]])},call:function(a,b,c,d){var e,f=a.plugins[b];if(f&&(d||a.element[0].parentNode&&11!==a.element[0].parentNode.nodeType))for(e=0;e<f.length;e++)a.options[f[e][0]]&&f[e][1].apply(a.element,c)}};var j=0,k=Array.prototype.slice;a.cleanData=function(b){return function(c){var d,e,f;for(f=0;null!=(e=c[f]);f++)try{d=a._data(e,"events"),d&&d.remove&&a(e).triggerHandler("remove")}catch(g){}b(c)}}(a.cleanData),a.widget=function(b,c,d){var e,f,g,h,i={},j=b.split(".")[0];return b=b.split(".")[1],e=j+"-"+b,d||(d=c,c=a.Widget),a.expr[":"][e.toLowerCase()]=function(b){return!!a.data(b,e)},a[j]=a[j]||{},f=a[j][b],g=a[j][b]=function(a,b){return this._createWidget?void(arguments.length&&this._createWidget(a,b)):new g(a,b)},a.extend(g,f,{version:d.version,_proto:a.extend({},d),_childConstructors:[]}),h=new c,h.options=a.widget.extend({},h.options),a.each(d,function(b,d){return a.isFunction(d)?void(i[b]=function(){var a=function(){return c.prototype[b].apply(this,arguments)},e=function(a){return c.prototype[b].apply(this,a)};return function(){var b,c=this._super,f=this._superApply;return this._super=a,this._superApply=e,b=d.apply(this,arguments),this._super=c,this._superApply=f,b}}()):void(i[b]=d)}),g.prototype=a.widget.extend(h,{widgetEventPrefix:f?h.widgetEventPrefix||b:b},i,{constructor:g,namespace:j,widgetName:b,widgetFullName:e}),f?(a.each(f._childConstructors,function(b,c){var d=c.prototype;a.widget(d.namespace+"."+d.widgetName,g,c._proto)}),delete f._childConstructors):c._childConstructors.push(g),a.widget.bridge(b,g),g},a.widget.extend=function(b){for(var c,d,e=k.call(arguments,1),f=0,g=e.length;g>f;f++)for(c in e[f])d=e[f][c],e[f].hasOwnProperty(c)&&void 0!==d&&(a.isPlainObject(d)?b[c]=a.isPlainObject(b[c])?a.widget.extend({},b[c],d):a.widget.extend({},d):b[c]=d);return b},a.widget.bridge=function(b,c){var d=c.prototype.widgetFullName||b;a.fn[b]=function(e){var f="string"==typeof e,g=k.call(arguments,1),h=this;return f?this.each(function(){var c,f=a.data(this,d);return"instance"===e?(h=f,!1):f?a.isFunction(f[e])&&"_"!==e.charAt(0)?(c=f[e].apply(f,g),c!==f&&void 0!==c?(h=c&&c.jquery?h.pushStack(c.get()):c,!1):void 0):a.error("no such method '"+e+"' for "+b+" widget instance"):a.error("cannot call methods on "+b+" prior to initialization; attempted to call method '"+e+"'")}):(g.length&&(e=a.widget.extend.apply(null,[e].concat(g))),this.each(function(){var b=a.data(this,d);b?(b.option(e||{}),b._init&&b._init()):a.data(this,d,new c(e,this))})),h}},a.Widget=function(){},a.Widget._childConstructors=[],a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(b,c){c=a(c||this.defaultElement||this)[0],this.element=a(c),this.uuid=j++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=a(),this.hoverable=a(),this.focusable=a(),c!==this&&(a.data(c,this.widgetFullName,this),this._on(!0,this.element,{remove:function(a){a.target===c&&this.destroy()}}),this.document=a(c.style?c.ownerDocument:c.document||c),this.window=a(this.document[0].defaultView||this.document[0].parentWindow)),this.options=a.widget.extend({},this.options,this._getCreateOptions(),b),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:a.noop,_getCreateEventData:a.noop,_create:a.noop,_init:a.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(a.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:a.noop,widget:function(){return this.element},option:function(b,c){var d,e,f,g=b;if(0===arguments.length)return a.widget.extend({},this.options);if("string"==typeof b)if(g={},d=b.split("."),b=d.shift(),d.length){for(e=g[b]=a.widget.extend({},this.options[b]),f=0;f<d.length-1;f++)e[d[f]]=e[d[f]]||{},e=e[d[f]];if(b=d.pop(),1===arguments.length)return void 0===e[b]?null:e[b];e[b]=c}else{if(1===arguments.length)return void 0===this.options[b]?null:this.options[b];g[b]=c}return this._setOptions(g),this},_setOptions:function(a){var b;for(b in a)this._setOption(b,a[b]);return this},_setOption:function(a,b){return this.options[a]=b,"disabled"===a&&(this.widget().toggleClass(this.widgetFullName+"-disabled",!!b),b&&(this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus"))),
-this},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_on:function(b,c,d){var e,f=this;"boolean"!=typeof b&&(d=c,c=b,b=!1),d?(c=e=a(c),this.bindings=this.bindings.add(c)):(d=c,c=this.element,e=this.widget()),a.each(d,function(d,g){function h(){return b||f.options.disabled!==!0&&!a(this).hasClass("ui-state-disabled")?("string"==typeof g?f[g]:g).apply(f,arguments):void 0}"string"!=typeof g&&(h.guid=g.guid=g.guid||h.guid||a.guid++);var i=d.match(/^([\w:-]*)\s*(.*)$/),j=i[1]+f.eventNamespace,k=i[2];k?e.delegate(k,j,h):c.bind(j,h)})},_off:function(b,c){c=(c||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,b.unbind(c).undelegate(c),this.bindings=a(this.bindings.not(b).get()),this.focusable=a(this.focusable.not(b).get()),this.hoverable=a(this.hoverable.not(b).get())},_delay:function(a,b){function c(){return("string"==typeof a?d[a]:a).apply(d,arguments)}var d=this;return setTimeout(c,b||0)},_hoverable:function(b){this.hoverable=this.hoverable.add(b),this._on(b,{mouseenter:function(b){a(b.currentTarget).addClass("ui-state-hover")},mouseleave:function(b){a(b.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(b){this.focusable=this.focusable.add(b),this._on(b,{focusin:function(b){a(b.currentTarget).addClass("ui-state-focus")},focusout:function(b){a(b.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(b,c,d){var e,f,g=this.options[b];if(d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase(),c.target=this.element[0],f=c.originalEvent)for(e in f)e in c||(c[e]=f[e]);return this.element.trigger(c,d),!(a.isFunction(g)&&g.apply(this.element[0],[c].concat(d))===!1||c.isDefaultPrevented())}},a.each({show:"fadeIn",hide:"fadeOut"},function(b,c){a.Widget.prototype["_"+b]=function(d,e,f){"string"==typeof e&&(e={effect:e});var g,h=e?e===!0||"number"==typeof e?c:e.effect||c:b;e=e||{},"number"==typeof e&&(e={duration:e}),g=!a.isEmptyObject(e),e.complete=f,e.delay&&d.delay(e.delay),g&&a.effects&&a.effects.effect[h]?d[b](e):h!==b&&d[h]?d[h](e.duration,e.easing,f):d.queue(function(c){a(this)[b](),f&&f.call(d[0]),c()})}});var l=(a.widget,!1);a(document).mouseup(function(){l=!1});a.widget("ui.mouse",{version:"1.11.4",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var b=this;this.element.bind("mousedown."+this.widgetName,function(a){return b._mouseDown(a)}).bind("click."+this.widgetName,function(c){return!0===a.data(c.target,b.widgetName+".preventClickEvent")?(a.removeData(c.target,b.widgetName+".preventClickEvent"),c.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(b){if(!l){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(b),this._mouseDownEvent=b;var c=this,d=1===b.which,e="string"==typeof this.options.cancel&&b.target.nodeName?a(b.target).closest(this.options.cancel).length:!1;return d&&!e&&this._mouseCapture(b)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){c.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(b)!==!1,!this._mouseStarted)?(b.preventDefault(),!0):(!0===a.data(b.target,this.widgetName+".preventClickEvent")&&a.removeData(b.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(a){return c._mouseMove(a)},this._mouseUpDelegate=function(a){return c._mouseUp(a)},this.document.bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),b.preventDefault(),l=!0,!0)):!0}},_mouseMove:function(b){if(this._mouseMoved){if(a.ui.ie&&(!document.documentMode||document.documentMode<9)&&!b.button)return this._mouseUp(b);if(!b.which)return this._mouseUp(b)}return(b.which||b.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(b),b.preventDefault()):(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b)),!this._mouseStarted)},_mouseUp:function(b){return this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target===this._mouseDownEvent.target&&a.data(b.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(b)),l=!1,!1},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}});!function(){function b(a,b,c){return[parseFloat(a[0])*(n.test(a[0])?b/100:1),parseFloat(a[1])*(n.test(a[1])?c/100:1)]}function c(b,c){return parseInt(a.css(b,c),10)||0}function d(b){var c=b[0];return 9===c.nodeType?{width:b.width(),height:b.height(),offset:{top:0,left:0}}:a.isWindow(c)?{width:b.width(),height:b.height(),offset:{top:b.scrollTop(),left:b.scrollLeft()}}:c.preventDefault?{width:0,height:0,offset:{top:c.pageY,left:c.pageX}}:{width:b.outerWidth(),height:b.outerHeight(),offset:b.offset()}}a.ui=a.ui||{};var e,f,g=Math.max,h=Math.abs,i=Math.round,j=/left|center|right/,k=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,m=/^\w+/,n=/%$/,o=a.fn.position;a.position={scrollbarWidth:function(){if(void 0!==e)return e;var b,c,d=a("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),f=d.children()[0];return a("body").append(d),b=f.offsetWidth,d.css("overflow","scroll"),c=f.offsetWidth,b===c&&(c=d[0].clientWidth),d.remove(),e=b-c},getScrollInfo:function(b){var c=b.isWindow||b.isDocument?"":b.element.css("overflow-x"),d=b.isWindow||b.isDocument?"":b.element.css("overflow-y"),e="scroll"===c||"auto"===c&&b.width<b.element[0].scrollWidth,f="scroll"===d||"auto"===d&&b.height<b.element[0].scrollHeight;return{width:f?a.position.scrollbarWidth():0,height:e?a.position.scrollbarWidth():0}},getWithinInfo:function(b){var c=a(b||window),d=a.isWindow(c[0]),e=!!c[0]&&9===c[0].nodeType;return{element:c,isWindow:d,isDocument:e,offset:c.offset()||{left:0,top:0},scrollLeft:c.scrollLeft(),scrollTop:c.scrollTop(),width:d||e?c.width():c.outerWidth(),height:d||e?c.height():c.outerHeight()}}},a.fn.position=function(e){if(!e||!e.of)return o.apply(this,arguments);e=a.extend({},e);var n,p,q,r,s,t,u=a(e.of),v=a.position.getWithinInfo(e.within),w=a.position.getScrollInfo(v),x=(e.collision||"flip").split(" "),y={};return t=d(u),u[0].preventDefault&&(e.at="left top"),p=t.width,q=t.height,r=t.offset,s=a.extend({},r),a.each(["my","at"],function(){var a,b,c=(e[this]||"").split(" ");1===c.length&&(c=j.test(c[0])?c.concat(["center"]):k.test(c[0])?["center"].concat(c):["center","center"]),c[0]=j.test(c[0])?c[0]:"center",c[1]=k.test(c[1])?c[1]:"center",a=l.exec(c[0]),b=l.exec(c[1]),y[this]=[a?a[0]:0,b?b[0]:0],e[this]=[m.exec(c[0])[0],m.exec(c[1])[0]]}),1===x.length&&(x[1]=x[0]),"right"===e.at[0]?s.left+=p:"center"===e.at[0]&&(s.left+=p/2),"bottom"===e.at[1]?s.top+=q:"center"===e.at[1]&&(s.top+=q/2),n=b(y.at,p,q),s.left+=n[0],s.top+=n[1],this.each(function(){var d,j,k=a(this),l=k.outerWidth(),m=k.outerHeight(),o=c(this,"marginLeft"),t=c(this,"marginTop"),z=l+o+c(this,"marginRight")+w.width,A=m+t+c(this,"marginBottom")+w.height,B=a.extend({},s),C=b(y.my,k.outerWidth(),k.outerHeight());"right"===e.my[0]?B.left-=l:"center"===e.my[0]&&(B.left-=l/2),"bottom"===e.my[1]?B.top-=m:"center"===e.my[1]&&(B.top-=m/2),B.left+=C[0],B.top+=C[1],f||(B.left=i(B.left),B.top=i(B.top)),d={marginLeft:o,marginTop:t},a.each(["left","top"],function(b,c){a.ui.position[x[b]]&&a.ui.position[x[b]][c](B,{targetWidth:p,targetHeight:q,elemWidth:l,elemHeight:m,collisionPosition:d,collisionWidth:z,collisionHeight:A,offset:[n[0]+C[0],n[1]+C[1]],my:e.my,at:e.at,within:v,elem:k})}),e.using&&(j=function(a){var b=r.left-B.left,c=b+p-l,d=r.top-B.top,f=d+q-m,i={target:{element:u,left:r.left,top:r.top,width:p,height:q},element:{element:k,left:B.left,top:B.top,width:l,height:m},horizontal:0>c?"left":b>0?"right":"center",vertical:0>f?"top":d>0?"bottom":"middle"};l>p&&h(b+c)<p&&(i.horizontal="center"),m>q&&h(d+f)<q&&(i.vertical="middle"),g(h(b),h(c))>g(h(d),h(f))?i.important="horizontal":i.important="vertical",e.using.call(this,a,i)}),k.offset(a.extend(B,{using:j}))})},a.ui.position={fit:{left:function(a,b){var c,d=b.within,e=d.isWindow?d.scrollLeft:d.offset.left,f=d.width,h=a.left-b.collisionPosition.marginLeft,i=e-h,j=h+b.collisionWidth-f-e;b.collisionWidth>f?i>0&&0>=j?(c=a.left+i+b.collisionWidth-f-e,a.left+=i-c):j>0&&0>=i?a.left=e:i>j?a.left=e+f-b.collisionWidth:a.left=e:i>0?a.left+=i:j>0?a.left-=j:a.left=g(a.left-h,a.left)},top:function(a,b){var c,d=b.within,e=d.isWindow?d.scrollTop:d.offset.top,f=b.within.height,h=a.top-b.collisionPosition.marginTop,i=e-h,j=h+b.collisionHeight-f-e;b.collisionHeight>f?i>0&&0>=j?(c=a.top+i+b.collisionHeight-f-e,a.top+=i-c):j>0&&0>=i?a.top=e:i>j?a.top=e+f-b.collisionHeight:a.top=e:i>0?a.top+=i:j>0?a.top-=j:a.top=g(a.top-h,a.top)}},flip:{left:function(a,b){var c,d,e=b.within,f=e.offset.left+e.scrollLeft,g=e.width,i=e.isWindow?e.scrollLeft:e.offset.left,j=a.left-b.collisionPosition.marginLeft,k=j-i,l=j+b.collisionWidth-g-i,m="left"===b.my[0]?-b.elemWidth:"right"===b.my[0]?b.elemWidth:0,n="left"===b.at[0]?b.targetWidth:"right"===b.at[0]?-b.targetWidth:0,o=-2*b.offset[0];0>k?(c=a.left+m+n+o+b.collisionWidth-g-f,(0>c||c<h(k))&&(a.left+=m+n+o)):l>0&&(d=a.left-b.collisionPosition.marginLeft+m+n+o-i,(d>0||h(d)<l)&&(a.left+=m+n+o))},top:function(a,b){var c,d,e=b.within,f=e.offset.top+e.scrollTop,g=e.height,i=e.isWindow?e.scrollTop:e.offset.top,j=a.top-b.collisionPosition.marginTop,k=j-i,l=j+b.collisionHeight-g-i,m="top"===b.my[1],n=m?-b.elemHeight:"bottom"===b.my[1]?b.elemHeight:0,o="top"===b.at[1]?b.targetHeight:"bottom"===b.at[1]?-b.targetHeight:0,p=-2*b.offset[1];0>k?(d=a.top+n+o+p+b.collisionHeight-g-f,(0>d||d<h(k))&&(a.top+=n+o+p)):l>0&&(c=a.top-b.collisionPosition.marginTop+n+o+p-i,(c>0||h(c)<l)&&(a.top+=n+o+p))}},flipfit:{left:function(){a.ui.position.flip.left.apply(this,arguments),a.ui.position.fit.left.apply(this,arguments)},top:function(){a.ui.position.flip.top.apply(this,arguments),a.ui.position.fit.top.apply(this,arguments)}}},function(){var b,c,d,e,g,h=document.getElementsByTagName("body")[0],i=document.createElement("div");b=document.createElement(h?"div":"body"),d={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},h&&a.extend(d,{position:"absolute",left:"-1000px",top:"-1000px"});for(g in d)b.style[g]=d[g];b.appendChild(i),c=h||document.documentElement,c.insertBefore(b,c.firstChild),i.style.cssText="position: absolute; left: 10.7432222px;",e=a(i).offset().left,f=e>10&&11>e,b.innerHTML="",c.removeChild(b)}()}();a.ui.position,a.widget("ui.accordion",{version:"1.11.4",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var b=this.options;this.prevShow=this.prevHide=a(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),b.collapsible||b.active!==!1&&null!=b.active||(b.active=0),this._processPanels(),b.active<0&&(b.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():a()}},_createIcons:function(){var b=this.options.icons;b&&(a("<span>").addClass("ui-accordion-header-icon ui-icon "+b.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(b.header).addClass(b.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var a;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").removeUniqueId(),this._destroyIcons(),a=this.headers.next().removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").css("display","").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&a.css("height","")},_setOption:function(a,b){return"active"===a?void this._activate(b):("event"===a&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(b)),this._super(a,b),"collapsible"!==a||b||this.options.active!==!1||this._activate(0),"icons"===a&&(this._destroyIcons(),b&&this._createIcons()),void("disabled"===a&&(this.element.toggleClass("ui-state-disabled",!!b).attr("aria-disabled",b),this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!b))))},_keydown:function(b){if(!b.altKey&&!b.ctrlKey){var c=a.ui.keyCode,d=this.headers.length,e=this.headers.index(b.target),f=!1;switch(b.keyCode){case c.RIGHT:case c.DOWN:f=this.headers[(e+1)%d];break;case c.LEFT:case c.UP:f=this.headers[(e-1+d)%d];break;case c.SPACE:case c.ENTER:this._eventHandler(b);break;case c.HOME:f=this.headers[0];break;case c.END:f=this.headers[d-1]}f&&(a(b.target).attr("tabIndex",-1),a(f).attr("tabIndex",0),f.focus(),b.preventDefault())}},_panelKeyDown:function(b){b.keyCode===a.ui.keyCode.UP&&b.ctrlKey&&a(b.currentTarget).prev().focus()},refresh:function(){var b=this.options;this._processPanels(),b.active===!1&&b.collapsible===!0||!this.headers.length?(b.active=!1,this.active=a()):b.active===!1?this._activate(0):this.active.length&&!a.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(b.active=!1,this.active=a()):this._activate(Math.max(0,b.active-1)):b.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var a=this.headers,b=this.panels;this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-state-default ui-corner-all"),this.panels=this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide(),b&&(this._off(a.not(this.headers)),this._off(b.not(this.panels)))},_refresh:function(){var b,c=this.options,d=c.heightStyle,e=this.element.parent();this.active=this._findActive(c.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(){var b=a(this),c=b.uniqueId().attr("id"),d=b.next(),e=d.uniqueId().attr("id");b.attr("aria-controls",e),d.attr("aria-labelledby",c)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(c.event),"fill"===d?(b=e.height(),this.element.siblings(":visible").each(function(){var c=a(this),d=c.css("position");"absolute"!==d&&"fixed"!==d&&(b-=c.outerHeight(!0))}),this.headers.each(function(){b-=a(this).outerHeight(!0)}),this.headers.next().each(function(){a(this).height(Math.max(0,b-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")):"auto"===d&&(b=0,this.headers.next().each(function(){b=Math.max(b,a(this).css("height","").height())}).height(b))},_activate:function(b){var c=this._findActive(b)[0];c!==this.active[0]&&(c=c||this.active[0],this._eventHandler({target:c,currentTarget:c,preventDefault:a.noop}))},_findActive:function(b){return"number"==typeof b?this.headers.eq(b):a()},_setupEvents:function(b){var c={keydown:"_keydown"};b&&a.each(b.split(" "),function(a,b){c[b]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,c),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(b){var c=this.options,d=this.active,e=a(b.currentTarget),f=e[0]===d[0],g=f&&c.collapsible,h=g?a():e.next(),i=d.next(),j={oldHeader:d,oldPanel:i,newHeader:g?a():e,newPanel:h};b.preventDefault(),f&&!c.collapsible||this._trigger("beforeActivate",b,j)===!1||(c.active=g?!1:this.headers.index(e),this.active=f?a():e,this._toggle(j),d.removeClass("ui-accordion-header-active ui-state-active"),c.icons&&d.children(".ui-accordion-header-icon").removeClass(c.icons.activeHeader).addClass(c.icons.header),f||(e.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),c.icons&&e.children(".ui-accordion-header-icon").removeClass(c.icons.header).addClass(c.icons.activeHeader),e.next().addClass("ui-accordion-content-active")))},_toggle:function(b){var c=b.newPanel,d=this.prevShow.length?this.prevShow:b.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=c,this.prevHide=d,this.options.animate?this._animate(c,d,b):(d.hide(),c.show(),this._toggleComplete(b)),d.attr({"aria-hidden":"true"}),d.prev().attr({"aria-selected":"false","aria-expanded":"false"}),c.length&&d.length?d.prev().attr({tabIndex:-1,"aria-expanded":"false"}):c.length&&this.headers.filter(function(){return 0===parseInt(a(this).attr("tabIndex"),10)}).attr("tabIndex",-1),c.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(a,b,c){var d,e,f,g=this,h=0,i=a.css("box-sizing"),j=a.length&&(!b.length||a.index()<b.index()),k=this.options.animate||{},l=j&&k.down||k,m=function(){g._toggleComplete(c)};return"number"==typeof l&&(f=l),"string"==typeof l&&(e=l),e=e||l.easing||k.easing,f=f||l.duration||k.duration,b.length?a.length?(d=a.show().outerHeight(),b.animate(this.hideProps,{duration:f,easing:e,step:function(a,b){b.now=Math.round(a)}}),void a.hide().animate(this.showProps,{duration:f,easing:e,complete:m,step:function(a,c){c.now=Math.round(a),"height"!==c.prop?"content-box"===i&&(h+=c.now):"content"!==g.options.heightStyle&&(c.now=Math.round(d-b.outerHeight()-h),h=0)}})):b.animate(this.hideProps,f,e,m):a.animate(this.showProps,f,e,m)},_toggleComplete:function(a){var b=a.oldPanel;b.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all"),b.length&&(b.parent()[0].className=b.parent()[0].className),this._trigger("activate",null,a)}}),a.widget("ui.menu",{version:"1.11.4",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},items:"> *",menus:"ul",position:{my:"left-1 top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item":function(a){a.preventDefault()},"click .ui-menu-item":function(b){var c=a(b.target);!this.mouseHandled&&c.not(".ui-state-disabled").length&&(this.select(b),b.isPropagationStopped()||(this.mouseHandled=!0),c.has(".ui-menu").length?this.expand(b):!this.element.is(":focus")&&a(this.document[0].activeElement).closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(b){if(!this.previousFilter){var c=a(b.currentTarget);c.siblings(".ui-state-active").removeClass("ui-state-active"),this.focus(b,c)}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(a,b){var c=this.active||this.element.find(this.options.items).eq(0);b||this.focus(a,c)},blur:function(b){this._delay(function(){a.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(b)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(a){this._closeOnDocumentClick(a)&&this.collapseAll(a),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-menu-icons ui-front").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").removeUniqueId().removeClass("ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var b=a(this);b.data("ui-menu-submenu-carat")&&b.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(b){var c,d,e,f,g=!0;switch(b.keyCode){case a.ui.keyCode.PAGE_UP:this.previousPage(b);break;case a.ui.keyCode.PAGE_DOWN:this.nextPage(b);break;case a.ui.keyCode.HOME:this._move("first","first",b);break;case a.ui.keyCode.END:this._move("last","last",b);break;case a.ui.keyCode.UP:this.previous(b);break;case a.ui.keyCode.DOWN:this.next(b);break;case a.ui.keyCode.LEFT:this.collapse(b);break;case a.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(b);break;case a.ui.keyCode.ENTER:case a.ui.keyCode.SPACE:this._activate(b);break;case a.ui.keyCode.ESCAPE:this.collapse(b);break;default:g=!1,d=this.previousFilter||"",e=String.fromCharCode(b.keyCode),f=!1,clearTimeout(this.filterTimer),e===d?f=!0:e=d+e,c=this._filterMenuItems(e),c=f&&-1!==c.index(this.active.next())?this.active.nextAll(".ui-menu-item"):c,c.length||(e=String.fromCharCode(b.keyCode),c=this._filterMenuItems(e)),c.length?(this.focus(b,c),this.previousFilter=e,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}g&&b.preventDefault()},_activate:function(a){this.active.is(".ui-state-disabled")||(this.active.is("[aria-haspopup='true']")?this.expand(a):this.select(a))},refresh:function(){var b,c,d=this,e=this.options.icons.submenu,f=this.element.find(this.options.menus);this.element.toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length),f.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-front").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var b=a(this),c=b.parent(),d=a("<span>").addClass("ui-menu-icon ui-icon "+e).data("ui-menu-submenu-carat",!0);c.attr("aria-haspopup","true").prepend(d),b.attr("aria-labelledby",c.attr("id"))}),b=f.add(this.element),c=b.find(this.options.items),c.not(".ui-menu-item").each(function(){var b=a(this);d._isDivider(b)&&b.addClass("ui-widget-content ui-menu-divider")}),c.not(".ui-menu-item, .ui-menu-divider").addClass("ui-menu-item").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),c.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!a.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(a,b){"icons"===a&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(b.submenu),"disabled"===a&&this.element.toggleClass("ui-state-disabled",!!b).attr("aria-disabled",b),this._super(a,b)},focus:function(a,b){var c,d;this.blur(a,a&&"focus"===a.type),this._scrollIntoView(b),this.active=b.first(),d=this.active.addClass("ui-state-focus").removeClass("ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",d.attr("id")),this.active.parent().closest(".ui-menu-item").addClass("ui-state-active"),a&&"keydown"===a.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),c=b.children(".ui-menu"),c.length&&a&&/^mouse/.test(a.type)&&this._startOpening(c),this.activeMenu=b.parent(),this._trigger("focus",a,{item:b})},_scrollIntoView:function(b){var c,d,e,f,g,h;this._hasScroll()&&(c=parseFloat(a.css(this.activeMenu[0],"borderTopWidth"))||0,d=parseFloat(a.css(this.activeMenu[0],"paddingTop"))||0,e=b.offset().top-this.activeMenu.offset().top-c-d,f=this.activeMenu.scrollTop(),g=this.activeMenu.height(),h=b.outerHeight(),0>e?this.activeMenu.scrollTop(f+e):e+h>g&&this.activeMenu.scrollTop(f+e-g+h))},blur:function(a,b){b||clearTimeout(this.timer),this.active&&(this.active.removeClass("ui-state-focus"),this.active=null,this._trigger("blur",a,{item:this.active}))},_startOpening:function(a){clearTimeout(this.timer),"true"===a.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(a)},this.delay))},_open:function(b){var c=a.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(b.parents(".ui-menu")).hide().attr("aria-hidden","true"),b.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(c)},collapseAll:function(b,c){clearTimeout(this.timer),this.timer=this._delay(function(){var d=c?this.element:a(b&&b.target).closest(this.element.find(".ui-menu"));d.length||(d=this.element),this._close(d),this.blur(b),this.activeMenu=d},this.delay)},_close:function(a){a||(a=this.active?this.active.parent():this.element),a.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find(".ui-state-active").not(".ui-state-focus").removeClass("ui-state-active")},_closeOnDocumentClick:function(b){return!a(b.target).closest(".ui-menu").length},_isDivider:function(a){return!/[^\-\u2014\u2013\s]/.test(a.text())},collapse:function(a){var b=this.active&&this.active.parent().closest(".ui-menu-item",this.element);b&&b.length&&(this._close(),this.focus(a,b))},expand:function(a){var b=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();b&&b.length&&(this._open(b.parent()),this._delay(function(){this.focus(a,b)}))},next:function(a){this._move("next","first",a)},previous:function(a){this._move("prev","last",a)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(a,b,c){var d;this.active&&(d="first"===a||"last"===a?this.active["first"===a?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[a+"All"](".ui-menu-item").eq(0)),d&&d.length&&this.active||(d=this.activeMenu.find(this.options.items)[b]()),this.focus(c,d)},nextPage:function(b){var c,d,e;return this.active?void(this.isLastItem()||(this._hasScroll()?(d=this.active.offset().top,e=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return c=a(this),c.offset().top-d-e<0}),this.focus(b,c)):this.focus(b,this.activeMenu.find(this.options.items)[this.active?"last":"first"]()))):void this.next(b)},previousPage:function(b){var c,d,e;return this.active?void(this.isFirstItem()||(this._hasScroll()?(d=this.active.offset().top,e=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return c=a(this),c.offset().top-d+e>0}),this.focus(b,c)):this.focus(b,this.activeMenu.find(this.options.items).first()))):void this.next(b)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(b){this.active=this.active||a(b.target).closest(".ui-menu-item");var c={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(b,!0),this._trigger("select",b,c)},_filterMenuItems:function(b){var c=b.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),d=new RegExp("^"+c,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return d.test(a.trim(a(this).text()))})}});a.widget("ui.autocomplete",{version:"1.11.4",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var b,c,d,e=this.element[0].nodeName.toLowerCase(),f="textarea"===e,g="input"===e;this.isMultiLine=f?!0:g?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[f||g?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(e){if(this.element.prop("readOnly"))return b=!0,d=!0,void(c=!0);b=!1,d=!1,c=!1;var f=a.ui.keyCode;switch(e.keyCode){case f.PAGE_UP:b=!0,this._move("previousPage",e);break;case f.PAGE_DOWN:b=!0,this._move("nextPage",e);break;case f.UP:b=!0,this._keyEvent("previous",e);break;case f.DOWN:b=!0,this._keyEvent("next",e);break;case f.ENTER:this.menu.active&&(b=!0,e.preventDefault(),this.menu.select(e));break;case f.TAB:this.menu.active&&this.menu.select(e);break;case f.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(e),e.preventDefault());break;default:c=!0,this._searchTimeout(e)}},keypress:function(d){if(b)return b=!1,void((!this.isMultiLine||this.menu.element.is(":visible"))&&d.preventDefault());if(!c){var e=a.ui.keyCode;switch(d.keyCode){case e.PAGE_UP:this._move("previousPage",d);break;case e.PAGE_DOWN:this._move("nextPage",d);break;case e.UP:this._keyEvent("previous",d);break;case e.DOWN:this._keyEvent("next",d)}}},input:function(a){return d?(d=!1,void a.preventDefault()):void this._searchTimeout(a)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(a){return this.cancelBlur?void delete this.cancelBlur:(clearTimeout(this.searching),this.close(a),void this._change(a))}}),this._initSource(),this.menu=a("<ul>").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._on(this.menu.element,{mousedown:function(b){b.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var c=this.menu.element[0];a(b.target).closest(".ui-menu-item").length||this._delay(function(){var b=this;this.document.one("mousedown",function(d){d.target===b.element[0]||d.target===c||a.contains(c,d.target)||b.close()})})},menufocus:function(b,c){var d,e;return this.isNewMenu&&(this.isNewMenu=!1,b.originalEvent&&/^mouse/.test(b.originalEvent.type))?(this.menu.blur(),void this.document.one("mousemove",function(){a(b.target).trigger(b.originalEvent)})):(e=c.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",b,{item:e})&&b.originalEvent&&/^key/.test(b.originalEvent.type)&&this._value(e.value),d=c.item.attr("aria-label")||e.value,void(d&&a.trim(d).length&&(this.liveRegion.children().hide(),a("<div>").text(d).appendTo(this.liveRegion))))},menuselect:function(a,b){var c=b.item.data("ui-autocomplete-item"),d=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=d,this._delay(function(){this.previous=d,this.selectedItem=c})),!1!==this._trigger("select",a,{item:c})&&this._value(c.value),this.term=this._value(),this.close(a),
-this.selectedItem=c}}),this.liveRegion=a("<span>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(a,b){this._super(a,b),"source"===a&&this._initSource(),"appendTo"===a&&this.menu.element.appendTo(this._appendTo()),"disabled"===a&&b&&this.xhr&&this.xhr.abort()},_appendTo:function(){var b=this.options.appendTo;return b&&(b=b.jquery||b.nodeType?a(b):this.document.find(b).eq(0)),b&&b[0]||(b=this.element.closest(".ui-front")),b.length||(b=this.document[0].body),b},_initSource:function(){var b,c,d=this;a.isArray(this.options.source)?(b=this.options.source,this.source=function(c,d){d(a.ui.autocomplete.filter(b,c.term))}):"string"==typeof this.options.source?(c=this.options.source,this.source=function(b,e){d.xhr&&d.xhr.abort(),d.xhr=a.ajax({url:c,data:b,dataType:"json",success:function(a){e(a)},error:function(){e([])}})}):this.source=this.options.source},_searchTimeout:function(a){clearTimeout(this.searching),this.searching=this._delay(function(){var b=this.term===this._value(),c=this.menu.element.is(":visible"),d=a.altKey||a.ctrlKey||a.metaKey||a.shiftKey;(!b||b&&!c&&!d)&&(this.selectedItem=null,this.search(null,a))},this.options.delay)},search:function(a,b){return a=null!=a?a:this._value(),this.term=this._value(),a.length<this.options.minLength?this.close(b):this._trigger("search",b)!==!1?this._search(a):void 0},_search:function(a){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:a},this._response())},_response:function(){var b=++this.requestIndex;return a.proxy(function(a){b===this.requestIndex&&this.__response(a),this.pending--,this.pending||this.element.removeClass("ui-autocomplete-loading")},this)},__response:function(a){a&&(a=this._normalize(a)),this._trigger("response",null,{content:a}),!this.options.disabled&&a&&a.length&&!this.cancelSearch?(this._suggest(a),this._trigger("open")):this._close()},close:function(a){this.cancelSearch=!0,this._close(a)},_close:function(a){this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",a))},_change:function(a){this.previous!==this._value()&&this._trigger("change",a,{item:this.selectedItem})},_normalize:function(b){return b.length&&b[0].label&&b[0].value?b:a.map(b,function(b){return"string"==typeof b?{label:b,value:b}:a.extend({},b,{label:b.label||b.value,value:b.value||b.label})})},_suggest:function(b){var c=this.menu.element.empty();this._renderMenu(c,b),this.isNewMenu=!0,this.menu.refresh(),c.show(),this._resizeMenu(),c.position(a.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next()},_resizeMenu:function(){var a=this.menu.element;a.outerWidth(Math.max(a.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(b,c){var d=this;a.each(c,function(a,c){d._renderItemData(b,c)})},_renderItemData:function(a,b){return this._renderItem(a,b).data("ui-autocomplete-item",b)},_renderItem:function(b,c){return a("<li>").text(c.label).appendTo(b)},_move:function(a,b){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(a)||this.menu.isLastItem()&&/^next/.test(a)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[a](b):void this.search(null,b)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(a,b){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(a,b),b.preventDefault())}}),a.extend(a.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(b,c){var d=new RegExp(a.ui.autocomplete.escapeRegex(c),"i");return a.grep(b,function(a){return d.test(a.label||a.value||a)})}}),a.widget("ui.autocomplete",a.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(a){return a+(a>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(b){var c;this._superApply(arguments),this.options.disabled||this.cancelSearch||(c=b&&b.length?this.options.messages.results(b.length):this.options.messages.noResults,this.liveRegion.children().hide(),a("<div>").text(c).appendTo(this.liveRegion))}});var m,n=(a.ui.autocomplete,"ui-button ui-widget ui-state-default ui-corner-all"),o="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",p=function(){var b=a(this);setTimeout(function(){b.find(":ui-button").button("refresh")},1)},q=function(b){var c=b.name,d=b.form,e=a([]);return c&&(c=c.replace(/'/g,"\\'"),e=d?a(d).find("[name='"+c+"'][type=radio]"):a("[name='"+c+"'][type=radio]",b.ownerDocument).filter(function(){return!this.form})),e};a.widget("ui.button",{version:"1.11.4",defaultElement:"<button>",options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset"+this.eventNamespace).bind("reset"+this.eventNamespace,p),"boolean"!=typeof this.options.disabled?this.options.disabled=!!this.element.prop("disabled"):this.element.prop("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var b=this,c=this.options,d="checkbox"===this.type||"radio"===this.type,e=d?"":"ui-state-active";null===c.label&&(c.label="input"===this.type?this.buttonElement.val():this.buttonElement.html()),this._hoverable(this.buttonElement),this.buttonElement.addClass(n).attr("role","button").bind("mouseenter"+this.eventNamespace,function(){c.disabled||this===m&&a(this).addClass("ui-state-active")}).bind("mouseleave"+this.eventNamespace,function(){c.disabled||a(this).removeClass(e)}).bind("click"+this.eventNamespace,function(a){c.disabled&&(a.preventDefault(),a.stopImmediatePropagation())}),this._on({focus:function(){this.buttonElement.addClass("ui-state-focus")},blur:function(){this.buttonElement.removeClass("ui-state-focus")}}),d&&this.element.bind("change"+this.eventNamespace,function(){b.refresh()}),"checkbox"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){return c.disabled?!1:void 0}):"radio"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){if(c.disabled)return!1;a(this).addClass("ui-state-active"),b.buttonElement.attr("aria-pressed","true");var d=b.element[0];q(d).not(d).map(function(){return a(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown"+this.eventNamespace,function(){return c.disabled?!1:(a(this).addClass("ui-state-active"),m=this,void b.document.one("mouseup",function(){m=null}))}).bind("mouseup"+this.eventNamespace,function(){return c.disabled?!1:void a(this).removeClass("ui-state-active")}).bind("keydown"+this.eventNamespace,function(b){return c.disabled?!1:void((b.keyCode===a.ui.keyCode.SPACE||b.keyCode===a.ui.keyCode.ENTER)&&a(this).addClass("ui-state-active"))}).bind("keyup"+this.eventNamespace+" blur"+this.eventNamespace,function(){a(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(b){b.keyCode===a.ui.keyCode.SPACE&&a(this).click()})),this._setOption("disabled",c.disabled),this._resetButton()},_determineButtonType:function(){var a,b,c;this.element.is("[type=checkbox]")?this.type="checkbox":this.element.is("[type=radio]")?this.type="radio":this.element.is("input")?this.type="input":this.type="button","checkbox"===this.type||"radio"===this.type?(a=this.element.parents().last(),b="label[for='"+this.element.attr("id")+"']",this.buttonElement=a.find(b),this.buttonElement.length||(a=a.length?a.siblings():this.element.siblings(),this.buttonElement=a.filter(b),this.buttonElement.length||(this.buttonElement=a.find(b))),this.element.addClass("ui-helper-hidden-accessible"),c=this.element.is(":checked"),c&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.prop("aria-pressed",c)):this.buttonElement=this.element},widget:function(){return this.buttonElement},_destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(n+" ui-state-active "+o).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title")},_setOption:function(a,b){return this._super(a,b),"disabled"===a?(this.widget().toggleClass("ui-state-disabled",!!b),this.element.prop("disabled",!!b),void(b&&("checkbox"===this.type||"radio"===this.type?this.buttonElement.removeClass("ui-state-focus"):this.buttonElement.removeClass("ui-state-focus ui-state-active")))):void this._resetButton()},refresh:function(){var b=this.element.is("input, button")?this.element.is(":disabled"):this.element.hasClass("ui-button-disabled");b!==this.options.disabled&&this._setOption("disabled",b),"radio"===this.type?q(this.element[0]).each(function(){a(this).is(":checked")?a(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):a(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):"checkbox"===this.type&&(this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false"))},_resetButton:function(){if("input"===this.type)return void(this.options.label&&this.element.val(this.options.label));var b=this.buttonElement.removeClass(o),c=a("<span></span>",this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,e=d.primary&&d.secondary,f=[];d.primary||d.secondary?(this.options.text&&f.push("ui-button-text-icon"+(e?"s":d.primary?"-primary":"-secondary")),d.primary&&b.prepend("<span class='ui-button-icon-primary ui-icon "+d.primary+"'></span>"),d.secondary&&b.append("<span class='ui-button-icon-secondary ui-icon "+d.secondary+"'></span>"),this.options.text||(f.push(e?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||b.attr("title",a.trim(c)))):f.push("ui-button-text-only"),b.addClass(f.join(" "))}}),a.widget("ui.buttonset",{version:"1.11.4",options:{items:"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(a,b){"disabled"===a&&this.buttons.button("option",a,b),this._super(a,b)},refresh:function(){var b="rtl"===this.element.css("direction"),c=this.element.find(this.options.items),d=c.filter(":ui-button");c.not(":ui-button").button(),d.button("refresh"),this.buttons=c.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(b?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(b?"ui-corner-left":"ui-corner-right").end().end()},_destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")}});a.ui.button;a.extend(a.ui,{datepicker:{version:"1.11.4"}});var r;a.extend(e.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){return h(this._defaults,a||{}),this},_attachDatepicker:function(b,c){var d,e,f;d=b.nodeName.toLowerCase(),e="div"===d||"span"===d,b.id||(this.uuid+=1,b.id="dp"+this.uuid),f=this._newInst(a(b),e),f.settings=a.extend({},c||{}),"input"===d?this._connectDatepicker(b,f):e&&this._inlineDatepicker(b,f)},_newInst:function(b,c){var d=b[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:d,input:b,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:c,dpDiv:c?f(a("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(b,c){var d=a(b);c.append=a([]),c.trigger=a([]),d.hasClass(this.markerClassName)||(this._attachments(d,c),d.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp),this._autoSize(c),a.data(b,"datepicker",c),c.settings.disabled&&this._disableDatepicker(b))},_attachments:function(b,c){var d,e,f,g=this._get(c,"appendText"),h=this._get(c,"isRTL");c.append&&c.append.remove(),g&&(c.append=a("<span class='"+this._appendClass+"'>"+g+"</span>"),b[h?"before":"after"](c.append)),b.unbind("focus",this._showDatepicker),c.trigger&&c.trigger.remove(),d=this._get(c,"showOn"),("focus"===d||"both"===d)&&b.focus(this._showDatepicker),("button"===d||"both"===d)&&(e=this._get(c,"buttonText"),f=this._get(c,"buttonImage"),c.trigger=a(this._get(c,"buttonImageOnly")?a("<img/>").addClass(this._triggerClass).attr({src:f,alt:e,title:e}):a("<button type='button'></button>").addClass(this._triggerClass).html(f?a("<img/>").attr({src:f,alt:e,title:e}):e)),b[h?"before":"after"](c.trigger),c.trigger.click(function(){return a.datepicker._datepickerShowing&&a.datepicker._lastInput===b[0]?a.datepicker._hideDatepicker():a.datepicker._datepickerShowing&&a.datepicker._lastInput!==b[0]?(a.datepicker._hideDatepicker(),a.datepicker._showDatepicker(b[0])):a.datepicker._showDatepicker(b[0]),!1}))},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b,c,d,e,f=new Date(2009,11,20),g=this._get(a,"dateFormat");g.match(/[DM]/)&&(b=function(a){for(c=0,d=0,e=0;e<a.length;e++)a[e].length>c&&(c=a[e].length,d=e);return d},f.setMonth(b(this._get(a,g.match(/MM/)?"monthNames":"monthNamesShort"))),f.setDate(b(this._get(a,g.match(/DD/)?"dayNames":"dayNamesShort"))+20-f.getDay())),a.input.attr("size",this._formatDate(a,f).length)}},_inlineDatepicker:function(b,c){var d=a(b);d.hasClass(this.markerClassName)||(d.addClass(this.markerClassName).append(c.dpDiv),a.data(b,"datepicker",c),this._setDate(c,this._getDefaultDate(c),!0),this._updateDatepicker(c),this._updateAlternate(c),c.settings.disabled&&this._disableDatepicker(b),c.dpDiv.css("display","block"))},_dialogDatepicker:function(b,c,d,e,f){var g,i,j,k,l,m=this._dialogInst;return m||(this.uuid+=1,g="dp"+this.uuid,this._dialogInput=a("<input type='text' id='"+g+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.keydown(this._doKeyDown),a("body").append(this._dialogInput),m=this._dialogInst=this._newInst(this._dialogInput,!1),m.settings={},a.data(this._dialogInput[0],"datepicker",m)),h(m.settings,e||{}),c=c&&c.constructor===Date?this._formatDate(m,c):c,this._dialogInput.val(c),this._pos=f?f.length?f:[f.pageX,f.pageY]:null,this._pos||(i=document.documentElement.clientWidth,j=document.documentElement.clientHeight,k=document.documentElement.scrollLeft||document.body.scrollLeft,l=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[i/2-100+k,j/2-150+l]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),m.settings.onSelect=d,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),a.blockUI&&a.blockUI(this.dpDiv),a.data(this._dialogInput[0],"datepicker",m),this},_destroyDatepicker:function(b){var c,d=a(b),e=a.data(b,"datepicker");d.hasClass(this.markerClassName)&&(c=b.nodeName.toLowerCase(),a.removeData(b,"datepicker"),"input"===c?(e.append.remove(),e.trigger.remove(),d.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===c||"span"===c)&&d.removeClass(this.markerClassName).empty(),r===e&&(r=null))},_enableDatepicker:function(b){var c,d,e=a(b),f=a.data(b,"datepicker");e.hasClass(this.markerClassName)&&(c=b.nodeName.toLowerCase(),"input"===c?(b.disabled=!1,f.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===c||"span"===c)&&(d=e.children("."+this._inlineClass),d.children().removeClass("ui-state-disabled"),d.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=a.map(this._disabledInputs,function(a){return a===b?null:a}))},_disableDatepicker:function(b){var c,d,e=a(b),f=a.data(b,"datepicker");e.hasClass(this.markerClassName)&&(c=b.nodeName.toLowerCase(),"input"===c?(b.disabled=!0,f.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===c||"span"===c)&&(d=e.children("."+this._inlineClass),d.children().addClass("ui-state-disabled"),d.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=a.map(this._disabledInputs,function(a){return a===b?null:a}),this._disabledInputs[this._disabledInputs.length]=b)},_isDisabledDatepicker:function(a){if(!a)return!1;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]===a)return!0;return!1},_getInst:function(b){try{return a.data(b,"datepicker")}catch(c){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(b,c,d){var e,f,g,i,j=this._getInst(b);return 2===arguments.length&&"string"==typeof c?"defaults"===c?a.extend({},a.datepicker._defaults):j?"all"===c?a.extend({},j.settings):this._get(j,c):null:(e=c||{},"string"==typeof c&&(e={},e[c]=d),void(j&&(this._curInst===j&&this._hideDatepicker(),f=this._getDateDatepicker(b,!0),g=this._getMinMaxDate(j,"min"),i=this._getMinMaxDate(j,"max"),h(j.settings,e),null!==g&&void 0!==e.dateFormat&&void 0===e.minDate&&(j.settings.minDate=this._formatDate(j,g)),null!==i&&void 0!==e.dateFormat&&void 0===e.maxDate&&(j.settings.maxDate=this._formatDate(j,i)),"disabled"in e&&(e.disabled?this._disableDatepicker(b):this._enableDatepicker(b)),this._attachments(a(b),j),this._autoSize(j),this._setDate(j,f),this._updateAlternate(j),this._updateDatepicker(j))))},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){var b=this._getInst(a);b&&this._updateDatepicker(b)},_setDateDatepicker:function(a,b){var c=this._getInst(a);c&&(this._setDate(c,b),this._updateDatepicker(c),this._updateAlternate(c))},_getDateDatepicker:function(a,b){var c=this._getInst(a);return c&&!c.inline&&this._setDateFromField(c,b),c?this._getDate(c):null},_doKeyDown:function(b){var c,d,e,f=a.datepicker._getInst(b.target),g=!0,h=f.dpDiv.is(".ui-datepicker-rtl");if(f._keyEvent=!0,a.datepicker._datepickerShowing)switch(b.keyCode){case 9:a.datepicker._hideDatepicker(),g=!1;break;case 13:return e=a("td."+a.datepicker._dayOverClass+":not(."+a.datepicker._currentClass+")",f.dpDiv),e[0]&&a.datepicker._selectDay(b.target,f.selectedMonth,f.selectedYear,e[0]),c=a.datepicker._get(f,"onSelect"),c?(d=a.datepicker._formatDate(f),c.apply(f.input?f.input[0]:null,[d,f])):a.datepicker._hideDatepicker(),!1;case 27:a.datepicker._hideDatepicker();break;case 33:a.datepicker._adjustDate(b.target,b.ctrlKey?-a.datepicker._get(f,"stepBigMonths"):-a.datepicker._get(f,"stepMonths"),"M");break;case 34:a.datepicker._adjustDate(b.target,b.ctrlKey?+a.datepicker._get(f,"stepBigMonths"):+a.datepicker._get(f,"stepMonths"),"M");break;case 35:(b.ctrlKey||b.metaKey)&&a.datepicker._clearDate(b.target),g=b.ctrlKey||b.metaKey;break;case 36:(b.ctrlKey||b.metaKey)&&a.datepicker._gotoToday(b.target),g=b.ctrlKey||b.metaKey;break;case 37:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,h?1:-1,"D"),g=b.ctrlKey||b.metaKey,b.originalEvent.altKey&&a.datepicker._adjustDate(b.target,b.ctrlKey?-a.datepicker._get(f,"stepBigMonths"):-a.datepicker._get(f,"stepMonths"),"M");break;case 38:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,-7,"D"),g=b.ctrlKey||b.metaKey;break;case 39:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,h?-1:1,"D"),g=b.ctrlKey||b.metaKey,b.originalEvent.altKey&&a.datepicker._adjustDate(b.target,b.ctrlKey?+a.datepicker._get(f,"stepBigMonths"):+a.datepicker._get(f,"stepMonths"),"M");break;case 40:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,7,"D"),g=b.ctrlKey||b.metaKey;break;default:g=!1}else 36===b.keyCode&&b.ctrlKey?a.datepicker._showDatepicker(this):g=!1;g&&(b.preventDefault(),b.stopPropagation())},_doKeyPress:function(b){var c,d,e=a.datepicker._getInst(b.target);return a.datepicker._get(e,"constrainInput")?(c=a.datepicker._possibleChars(a.datepicker._get(e,"dateFormat")),d=String.fromCharCode(null==b.charCode?b.keyCode:b.charCode),b.ctrlKey||b.metaKey||" ">d||!c||c.indexOf(d)>-1):void 0},_doKeyUp:function(b){var c,d=a.datepicker._getInst(b.target);if(d.input.val()!==d.lastVal)try{c=a.datepicker.parseDate(a.datepicker._get(d,"dateFormat"),d.input?d.input.val():null,a.datepicker._getFormatConfig(d)),c&&(a.datepicker._setDateFromField(d),a.datepicker._updateAlternate(d),a.datepicker._updateDatepicker(d))}catch(e){}return!0},_showDatepicker:function(b){if(b=b.target||b,"input"!==b.nodeName.toLowerCase()&&(b=a("input",b.parentNode)[0]),!a.datepicker._isDisabledDatepicker(b)&&a.datepicker._lastInput!==b){var c,e,f,g,i,j,k;c=a.datepicker._getInst(b),a.datepicker._curInst&&a.datepicker._curInst!==c&&(a.datepicker._curInst.dpDiv.stop(!0,!0),c&&a.datepicker._datepickerShowing&&a.datepicker._hideDatepicker(a.datepicker._curInst.input[0])),e=a.datepicker._get(c,"beforeShow"),f=e?e.apply(b,[b,c]):{},f!==!1&&(h(c.settings,f),c.lastVal=null,a.datepicker._lastInput=b,a.datepicker._setDateFromField(c),a.datepicker._inDialog&&(b.value=""),a.datepicker._pos||(a.datepicker._pos=a.datepicker._findPos(b),a.datepicker._pos[1]+=b.offsetHeight),g=!1,a(b).parents().each(function(){return g|="fixed"===a(this).css("position"),!g}),i={left:a.datepicker._pos[0],top:a.datepicker._pos[1]},a.datepicker._pos=null,c.dpDiv.empty(),c.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),a.datepicker._updateDatepicker(c),i=a.datepicker._checkOffset(c,i,g),c.dpDiv.css({position:a.datepicker._inDialog&&a.blockUI?"static":g?"fixed":"absolute",display:"none",left:i.left+"px",top:i.top+"px"}),c.inline||(j=a.datepicker._get(c,"showAnim"),k=a.datepicker._get(c,"duration"),c.dpDiv.css("z-index",d(a(b))+1),a.datepicker._datepickerShowing=!0,a.effects&&a.effects.effect[j]?c.dpDiv.show(j,a.datepicker._get(c,"showOptions"),k):c.dpDiv[j||"show"](j?k:null),a.datepicker._shouldFocusInput(c)&&c.input.focus(),a.datepicker._curInst=c))}},_updateDatepicker:function(b){this.maxRows=4,r=b,b.dpDiv.empty().append(this._generateHTML(b)),this._attachHandlers(b);var c,d=this._getNumberOfMonths(b),e=d[1],f=17,h=b.dpDiv.find("."+this._dayOverClass+" a");h.length>0&&g.apply(h.get(0)),b.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),e>1&&b.dpDiv.addClass("ui-datepicker-multi-"+e).css("width",f*e+"em"),b.dpDiv[(1!==d[0]||1!==d[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),b.dpDiv[(this._get(b,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),b===a.datepicker._curInst&&a.datepicker._datepickerShowing&&a.datepicker._shouldFocusInput(b)&&b.input.focus(),b.yearshtml&&(c=b.yearshtml,setTimeout(function(){c===b.yearshtml&&b.yearshtml&&b.dpDiv.find("select.ui-datepicker-year:first").replaceWith(b.yearshtml),c=b.yearshtml=null},0))},_shouldFocusInput:function(a){return a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&!a.input.is(":focus")},_checkOffset:function(b,c,d){var e=b.dpDiv.outerWidth(),f=b.dpDiv.outerHeight(),g=b.input?b.input.outerWidth():0,h=b.input?b.input.outerHeight():0,i=document.documentElement.clientWidth+(d?0:a(document).scrollLeft()),j=document.documentElement.clientHeight+(d?0:a(document).scrollTop());return c.left-=this._get(b,"isRTL")?e-g:0,c.left-=d&&c.left===b.input.offset().left?a(document).scrollLeft():0,c.top-=d&&c.top===b.input.offset().top+h?a(document).scrollTop():0,c.left-=Math.min(c.left,c.left+e>i&&i>e?Math.abs(c.left+e-i):0),c.top-=Math.min(c.top,c.top+f>j&&j>f?Math.abs(f+h):0),c},_findPos:function(b){for(var c,d=this._getInst(b),e=this._get(d,"isRTL");b&&("hidden"===b.type||1!==b.nodeType||a.expr.filters.hidden(b));)b=b[e?"previousSibling":"nextSibling"];return c=a(b).offset(),[c.left,c.top]},_hideDatepicker:function(b){var c,d,e,f,g=this._curInst;!g||b&&g!==a.data(b,"datepicker")||this._datepickerShowing&&(c=this._get(g,"showAnim"),d=this._get(g,"duration"),e=function(){a.datepicker._tidyDialog(g)},a.effects&&(a.effects.effect[c]||a.effects[c])?g.dpDiv.hide(c,a.datepicker._get(g,"showOptions"),d,e):g.dpDiv["slideDown"===c?"slideUp":"fadeIn"===c?"fadeOut":"hide"](c?d:null,e),c||e(),this._datepickerShowing=!1,f=this._get(g,"onClose"),f&&f.apply(g.input?g.input[0]:null,[g.input?g.input.val():"",g]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),a.blockUI&&(a.unblockUI(),a("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(b){if(a.datepicker._curInst){var c=a(b.target),d=a.datepicker._getInst(c[0]);(c[0].id!==a.datepicker._mainDivId&&0===c.parents("#"+a.datepicker._mainDivId).length&&!c.hasClass(a.datepicker.markerClassName)&&!c.closest("."+a.datepicker._triggerClass).length&&a.datepicker._datepickerShowing&&(!a.datepicker._inDialog||!a.blockUI)||c.hasClass(a.datepicker.markerClassName)&&a.datepicker._curInst!==d)&&a.datepicker._hideDatepicker()}},_adjustDate:function(b,c,d){var e=a(b),f=this._getInst(e[0]);this._isDisabledDatepicker(e[0])||(this._adjustInstDate(f,c+("M"===d?this._get(f,"showCurrentAtPos"):0),d),this._updateDatepicker(f))},_gotoToday:function(b){var c,d=a(b),e=this._getInst(d[0]);this._get(e,"gotoCurrent")&&e.currentDay?(e.selectedDay=e.currentDay,e.drawMonth=e.selectedMonth=e.currentMonth,e.drawYear=e.selectedYear=e.currentYear):(c=new Date,e.selectedDay=c.getDate(),e.drawMonth=e.selectedMonth=c.getMonth(),e.drawYear=e.selectedYear=c.getFullYear()),this._notifyChange(e),this._adjustDate(d)},_selectMonthYear:function(b,c,d){var e=a(b),f=this._getInst(e[0]);f["selected"+("M"===d?"Month":"Year")]=f["draw"+("M"===d?"Month":"Year")]=parseInt(c.options[c.selectedIndex].value,10),this._notifyChange(f),this._adjustDate(e)},_selectDay:function(b,c,d,e){var f,g=a(b);a(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(g[0])||(f=this._getInst(g[0]),f.selectedDay=f.currentDay=a("a",e).html(),f.selectedMonth=f.currentMonth=c,f.selectedYear=f.currentYear=d,this._selectDate(b,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear)))},_clearDate:function(b){var c=a(b);this._selectDate(c,"")},_selectDate:function(b,c){var d,e=a(b),f=this._getInst(e[0]);c=null!=c?c:this._formatDate(f),f.input&&f.input.val(c),this._updateAlternate(f),d=this._get(f,"onSelect"),d?d.apply(f.input?f.input[0]:null,[c,f]):f.input&&f.input.trigger("change"),f.inline?this._updateDatepicker(f):(this._hideDatepicker(),this._lastInput=f.input[0],"object"!=typeof f.input[0]&&f.input.focus(),this._lastInput=null)},_updateAlternate:function(b){var c,d,e,f=this._get(b,"altField");f&&(c=this._get(b,"altFormat")||this._get(b,"dateFormat"),d=this._getDate(b),e=this.formatDate(c,d,this._getFormatConfig(b)),a(f).each(function(){a(this).val(e)}))},noWeekends:function(a){var b=a.getDay();return[b>0&&6>b,""]},iso8601Week:function(a){var b,c=new Date(a.getTime());return c.setDate(c.getDate()+4-(c.getDay()||7)),b=c.getTime(),c.setMonth(0),c.setDate(1),Math.floor(Math.round((b-c)/864e5)/7)+1},parseDate:function(b,c,d){if(null==b||null==c)throw"Invalid arguments";if(c="object"==typeof c?c.toString():c+"",""===c)return null;var e,f,g,h,i=0,j=(d?d.shortYearCutoff:null)||this._defaults.shortYearCutoff,k="string"!=typeof j?j:(new Date).getFullYear()%100+parseInt(j,10),l=(d?d.dayNamesShort:null)||this._defaults.dayNamesShort,m=(d?d.dayNames:null)||this._defaults.dayNames,n=(d?d.monthNamesShort:null)||this._defaults.monthNamesShort,o=(d?d.monthNames:null)||this._defaults.monthNames,p=-1,q=-1,r=-1,s=-1,t=!1,u=function(a){var c=e+1<b.length&&b.charAt(e+1)===a;return c&&e++,c},v=function(a){var b=u(a),d="@"===a?14:"!"===a?20:"y"===a&&b?4:"o"===a?3:2,e="y"===a?d:1,f=new RegExp("^\\d{"+e+","+d+"}"),g=c.substring(i).match(f);if(!g)throw"Missing number at position "+i;return i+=g[0].length,parseInt(g[0],10)},w=function(b,d,e){var f=-1,g=a.map(u(b)?e:d,function(a,b){return[[b,a]]}).sort(function(a,b){return-(a[1].length-b[1].length)});if(a.each(g,function(a,b){var d=b[1];return c.substr(i,d.length).toLowerCase()===d.toLowerCase()?(f=b[0],i+=d.length,!1):void 0}),-1!==f)return f+1;throw"Unknown name at position "+i},x=function(){if(c.charAt(i)!==b.charAt(e))throw"Unexpected literal at position "+i;i++};for(e=0;e<b.length;e++)if(t)"'"!==b.charAt(e)||u("'")?x():t=!1;else switch(b.charAt(e)){case"d":r=v("d");break;case"D":w("D",l,m);break;case"o":s=v("o");break;case"m":q=v("m");break;case"M":q=w("M",n,o);break;case"y":p=v("y");break;case"@":h=new Date(v("@")),p=h.getFullYear(),q=h.getMonth()+1,r=h.getDate();break;case"!":h=new Date((v("!")-this._ticksTo1970)/1e4),p=h.getFullYear(),q=h.getMonth()+1,r=h.getDate();break;case"'":u("'")?x():t=!0;break;default:x()}if(i<c.length&&(g=c.substr(i),!/^\s+/.test(g)))throw"Extra/unparsed characters found in date: "+g;if(-1===p?p=(new Date).getFullYear():100>p&&(p+=(new Date).getFullYear()-(new Date).getFullYear()%100+(k>=p?0:-100)),s>-1)for(q=1,r=s;;){if(f=this._getDaysInMonth(p,q-1),f>=r)break;q++,r-=f}if(h=this._daylightSavingAdjust(new Date(p,q-1,r)),h.getFullYear()!==p||h.getMonth()+1!==q||h.getDate()!==r)throw"Invalid date";return h},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*60*60*1e7,formatDate:function(a,b,c){if(!b)return"";var d,e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,g=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,h=(c?c.monthNames:null)||this._defaults.monthNames,i=function(b){var c=d+1<a.length&&a.charAt(d+1)===b;return c&&d++,c},j=function(a,b,c){var d=""+b;if(i(a))for(;d.length<c;)d="0"+d;return d},k=function(a,b,c,d){return i(a)?d[b]:c[b]},l="",m=!1;if(b)for(d=0;d<a.length;d++)if(m)"'"!==a.charAt(d)||i("'")?l+=a.charAt(d):m=!1;else switch(a.charAt(d)){case"d":l+=j("d",b.getDate(),2);break;case"D":l+=k("D",b.getDay(),e,f);break;case"o":l+=j("o",Math.round((new Date(b.getFullYear(),b.getMonth(),b.getDate()).getTime()-new Date(b.getFullYear(),0,0).getTime())/864e5),3);break;case"m":l+=j("m",b.getMonth()+1,2);break;case"M":l+=k("M",b.getMonth(),g,h);break;case"y":l+=i("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case"@":l+=b.getTime();break;case"!":l+=1e4*b.getTime()+this._ticksTo1970;break;case"'":i("'")?l+="'":m=!0;break;default:l+=a.charAt(d)}return l},_possibleChars:function(a){var b,c="",d=!1,e=function(c){var d=b+1<a.length&&a.charAt(b+1)===c;return d&&b++,d};for(b=0;b<a.length;b++)if(d)"'"!==a.charAt(b)||e("'")?c+=a.charAt(b):d=!1;else switch(a.charAt(b)){case"d":case"m":case"y":case"@":c+="0123456789";break;case"D":case"M":return null;case"'":e("'")?c+="'":d=!0;break;default:c+=a.charAt(b)}return c},_get:function(a,b){return void 0!==a.settings[b]?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()!==a.lastVal){var c=this._get(a,"dateFormat"),d=a.lastVal=a.input?a.input.val():null,e=this._getDefaultDate(a),f=e,g=this._getFormatConfig(a);try{f=this.parseDate(c,d,g)||e}catch(h){d=b?"":d}a.selectedDay=f.getDate(),a.drawMonth=a.selectedMonth=f.getMonth(),
-a.drawYear=a.selectedYear=f.getFullYear(),a.currentDay=d?f.getDate():0,a.currentMonth=d?f.getMonth():0,a.currentYear=d?f.getFullYear():0,this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},_determineDate:function(b,c,d){var e=function(a){var b=new Date;return b.setDate(b.getDate()+a),b},f=function(c){try{return a.datepicker.parseDate(a.datepicker._get(b,"dateFormat"),c,a.datepicker._getFormatConfig(b))}catch(d){}for(var e=(c.toLowerCase().match(/^c/)?a.datepicker._getDate(b):null)||new Date,f=e.getFullYear(),g=e.getMonth(),h=e.getDate(),i=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,j=i.exec(c);j;){switch(j[2]||"d"){case"d":case"D":h+=parseInt(j[1],10);break;case"w":case"W":h+=7*parseInt(j[1],10);break;case"m":case"M":g+=parseInt(j[1],10),h=Math.min(h,a.datepicker._getDaysInMonth(f,g));break;case"y":case"Y":f+=parseInt(j[1],10),h=Math.min(h,a.datepicker._getDaysInMonth(f,g))}j=i.exec(c)}return new Date(f,g,h)},g=null==c||""===c?d:"string"==typeof c?f(c):"number"==typeof c?isNaN(c)?d:e(c):new Date(c.getTime());return g=g&&"Invalid Date"===g.toString()?d:g,g&&(g.setHours(0),g.setMinutes(0),g.setSeconds(0),g.setMilliseconds(0)),this._daylightSavingAdjust(g)},_daylightSavingAdjust:function(a){return a?(a.setHours(a.getHours()>12?a.getHours()+2:0),a):null},_setDate:function(a,b,c){var d=!b,e=a.selectedMonth,f=a.selectedYear,g=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=g.getDate(),a.drawMonth=a.selectedMonth=a.currentMonth=g.getMonth(),a.drawYear=a.selectedYear=a.currentYear=g.getFullYear(),e===a.selectedMonth&&f===a.selectedYear||c||this._notifyChange(a),this._adjustInstDate(a),a.input&&a.input.val(d?"":this._formatDate(a))},_getDate:function(a){var b=!a.currentYear||a.input&&""===a.input.val()?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return b},_attachHandlers:function(b){var c=this._get(b,"stepMonths"),d="#"+b.id.replace(/\\\\/g,"\\");b.dpDiv.find("[data-handler]").map(function(){var b={prev:function(){a.datepicker._adjustDate(d,-c,"M")},next:function(){a.datepicker._adjustDate(d,+c,"M")},hide:function(){a.datepicker._hideDatepicker()},today:function(){a.datepicker._gotoToday(d)},selectDay:function(){return a.datepicker._selectDay(d,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return a.datepicker._selectMonthYear(d,this,"M"),!1},selectYear:function(){return a.datepicker._selectMonthYear(d,this,"Y"),!1}};a(this).bind(this.getAttribute("data-event"),b[this.getAttribute("data-handler")])})},_generateHTML:function(a){var 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=new Date,P=this._daylightSavingAdjust(new Date(O.getFullYear(),O.getMonth(),O.getDate())),Q=this._get(a,"isRTL"),R=this._get(a,"showButtonPanel"),S=this._get(a,"hideIfNoPrevNext"),T=this._get(a,"navigationAsDateFormat"),U=this._getNumberOfMonths(a),V=this._get(a,"showCurrentAtPos"),W=this._get(a,"stepMonths"),X=1!==U[0]||1!==U[1],Y=this._daylightSavingAdjust(a.currentDay?new Date(a.currentYear,a.currentMonth,a.currentDay):new Date(9999,9,9)),Z=this._getMinMaxDate(a,"min"),$=this._getMinMaxDate(a,"max"),_=a.drawMonth-V,aa=a.drawYear;if(0>_&&(_+=12,aa--),$)for(b=this._daylightSavingAdjust(new Date($.getFullYear(),$.getMonth()-U[0]*U[1]+1,$.getDate())),b=Z&&Z>b?Z:b;this._daylightSavingAdjust(new Date(aa,_,1))>b;)_--,0>_&&(_=11,aa--);for(a.drawMonth=_,a.drawYear=aa,c=this._get(a,"prevText"),c=T?this.formatDate(c,this._daylightSavingAdjust(new Date(aa,_-W,1)),this._getFormatConfig(a)):c,d=this._canAdjustMonth(a,-1,aa,_)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+c+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"e":"w")+"'>"+c+"</span></a>":S?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+c+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"e":"w")+"'>"+c+"</span></a>",e=this._get(a,"nextText"),e=T?this.formatDate(e,this._daylightSavingAdjust(new Date(aa,_+W,1)),this._getFormatConfig(a)):e,f=this._canAdjustMonth(a,1,aa,_)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+e+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"w":"e")+"'>"+e+"</span></a>":S?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+e+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"w":"e")+"'>"+e+"</span></a>",g=this._get(a,"currentText"),h=this._get(a,"gotoCurrent")&&a.currentDay?Y:P,g=T?this.formatDate(g,h,this._getFormatConfig(a)):g,i=a.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(a,"closeText")+"</button>",j=R?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Q?i:"")+(this._isInRange(a,h)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+g+"</button>":"")+(Q?"":i)+"</div>":"",k=parseInt(this._get(a,"firstDay"),10),k=isNaN(k)?0:k,l=this._get(a,"showWeek"),m=this._get(a,"dayNames"),n=this._get(a,"dayNamesMin"),o=this._get(a,"monthNames"),p=this._get(a,"monthNamesShort"),q=this._get(a,"beforeShowDay"),r=this._get(a,"showOtherMonths"),s=this._get(a,"selectOtherMonths"),t=this._getDefaultDate(a),u="",w=0;w<U[0];w++){for(x="",this.maxRows=4,y=0;y<U[1];y++){if(z=this._daylightSavingAdjust(new Date(aa,_,a.selectedDay)),A=" ui-corner-all",B="",X){if(B+="<div class='ui-datepicker-group",U[1]>1)switch(y){case 0:B+=" ui-datepicker-group-first",A=" ui-corner-"+(Q?"right":"left");break;case U[1]-1:B+=" ui-datepicker-group-last",A=" ui-corner-"+(Q?"left":"right");break;default:B+=" ui-datepicker-group-middle",A=""}B+="'>"}for(B+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+A+"'>"+(/all|left/.test(A)&&0===w?Q?f:d:"")+(/all|right/.test(A)&&0===w?Q?d:f:"")+this._generateMonthYearHeader(a,_,aa,Z,$,w>0||y>0,o,p)+"</div><table class='ui-datepicker-calendar'><thead><tr>",C=l?"<th class='ui-datepicker-week-col'>"+this._get(a,"weekHeader")+"</th>":"",v=0;7>v;v++)D=(v+k)%7,C+="<th scope='col'"+((v+k+6)%7>=5?" class='ui-datepicker-week-end'":"")+"><span title='"+m[D]+"'>"+n[D]+"</span></th>";for(B+=C+"</tr></thead><tbody>",E=this._getDaysInMonth(aa,_),aa===a.selectedYear&&_===a.selectedMonth&&(a.selectedDay=Math.min(a.selectedDay,E)),F=(this._getFirstDayOfMonth(aa,_)-k+7)%7,G=Math.ceil((F+E)/7),H=X&&this.maxRows>G?this.maxRows:G,this.maxRows=H,I=this._daylightSavingAdjust(new Date(aa,_,1-F)),J=0;H>J;J++){for(B+="<tr>",K=l?"<td class='ui-datepicker-week-col'>"+this._get(a,"calculateWeek")(I)+"</td>":"",v=0;7>v;v++)L=q?q.apply(a.input?a.input[0]:null,[I]):[!0,""],M=I.getMonth()!==_,N=M&&!s||!L[0]||Z&&Z>I||$&&I>$,K+="<td class='"+((v+k+6)%7>=5?" ui-datepicker-week-end":"")+(M?" ui-datepicker-other-month":"")+(I.getTime()===z.getTime()&&_===a.selectedMonth&&a._keyEvent||t.getTime()===I.getTime()&&t.getTime()===z.getTime()?" "+this._dayOverClass:"")+(N?" "+this._unselectableClass+" ui-state-disabled":"")+(M&&!r?"":" "+L[1]+(I.getTime()===Y.getTime()?" "+this._currentClass:"")+(I.getTime()===P.getTime()?" ui-datepicker-today":""))+"'"+(M&&!r||!L[2]?"":" title='"+L[2].replace(/'/g,"&#39;")+"'")+(N?"":" data-handler='selectDay' data-event='click' data-month='"+I.getMonth()+"' data-year='"+I.getFullYear()+"'")+">"+(M&&!r?"&#xa0;":N?"<span class='ui-state-default'>"+I.getDate()+"</span>":"<a class='ui-state-default"+(I.getTime()===P.getTime()?" ui-state-highlight":"")+(I.getTime()===Y.getTime()?" ui-state-active":"")+(M?" ui-priority-secondary":"")+"' href='#'>"+I.getDate()+"</a>")+"</td>",I.setDate(I.getDate()+1),I=this._daylightSavingAdjust(I);B+=K+"</tr>"}_++,_>11&&(_=0,aa++),B+="</tbody></table>"+(X?"</div>"+(U[0]>0&&y===U[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),x+=B}u+=x}return u+=j,a._keyEvent=!1,u},_generateMonthYearHeader:function(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,p,q=this._get(a,"changeMonth"),r=this._get(a,"changeYear"),s=this._get(a,"showMonthAfterYear"),t="<div class='ui-datepicker-title'>",u="";if(f||!q)u+="<span class='ui-datepicker-month'>"+g[b]+"</span>";else{for(i=d&&d.getFullYear()===c,j=e&&e.getFullYear()===c,u+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",k=0;12>k;k++)(!i||k>=d.getMonth())&&(!j||k<=e.getMonth())&&(u+="<option value='"+k+"'"+(k===b?" selected='selected'":"")+">"+h[k]+"</option>");u+="</select>"}if(s||(t+=u+(!f&&q&&r?"":"&#xa0;")),!a.yearshtml)if(a.yearshtml="",f||!r)t+="<span class='ui-datepicker-year'>"+c+"</span>";else{for(l=this._get(a,"yearRange").split(":"),m=(new Date).getFullYear(),n=function(a){var b=a.match(/c[+\-].*/)?c+parseInt(a.substring(1),10):a.match(/[+\-].*/)?m+parseInt(a,10):parseInt(a,10);return isNaN(b)?m:b},o=n(l[0]),p=Math.max(o,n(l[1]||"")),o=d?Math.max(o,d.getFullYear()):o,p=e?Math.min(p,e.getFullYear()):p,a.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";p>=o;o++)a.yearshtml+="<option value='"+o+"'"+(o===c?" selected='selected'":"")+">"+o+"</option>";a.yearshtml+="</select>",t+=a.yearshtml,a.yearshtml=null}return t+=this._get(a,"yearSuffix"),s&&(t+=(!f&&q&&r?"":"&#xa0;")+u),t+="</div>"},_adjustInstDate:function(a,b,c){var d=a.drawYear+("Y"===c?b:0),e=a.drawMonth+("M"===c?b:0),f=Math.min(a.selectedDay,this._getDaysInMonth(d,e))+("D"===c?b:0),g=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(d,e,f)));a.selectedDay=g.getDate(),a.drawMonth=a.selectedMonth=g.getMonth(),a.drawYear=a.selectedYear=g.getFullYear(),("M"===c||"Y"===c)&&this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max"),e=c&&c>b?c:b;return d&&e>d?d:e},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");b&&b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){var b=this._get(a,"numberOfMonths");return null==b?[1,1]:"number"==typeof b?[1,b]:b},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return new Date(a,b,1).getDay()},_canAdjustMonth:function(a,b,c,d){var e=this._getNumberOfMonths(a),f=this._daylightSavingAdjust(new Date(c,d+(0>b?b:e[0]*e[1]),1));return 0>b&&f.setDate(this._getDaysInMonth(f.getFullYear(),f.getMonth())),this._isInRange(a,f)},_isInRange:function(a,b){var c,d,e=this._getMinMaxDate(a,"min"),f=this._getMinMaxDate(a,"max"),g=null,h=null,i=this._get(a,"yearRange");return i&&(c=i.split(":"),d=(new Date).getFullYear(),g=parseInt(c[0],10),h=parseInt(c[1],10),c[0].match(/[+\-].*/)&&(g+=d),c[1].match(/[+\-].*/)&&(h+=d)),(!e||b.getTime()>=e.getTime())&&(!f||b.getTime()<=f.getTime())&&(!g||b.getFullYear()>=g)&&(!h||b.getFullYear()<=h)},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");return b="string"!=typeof b?b:(new Date).getFullYear()%100+parseInt(b,10),{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,d){b||(a.currentDay=a.selectedDay,a.currentMonth=a.selectedMonth,a.currentYear=a.selectedYear);var e=b?"object"==typeof b?b:this._daylightSavingAdjust(new Date(d,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),e,this._getFormatConfig(a))}}),a.fn.datepicker=function(b){if(!this.length)return this;a.datepicker.initialized||(a(document).mousedown(a.datepicker._checkExternalClick),a.datepicker.initialized=!0),0===a("#"+a.datepicker._mainDivId).length&&a("body").append(a.datepicker.dpDiv);var c=Array.prototype.slice.call(arguments,1);return"string"!=typeof b||"isDisabled"!==b&&"getDate"!==b&&"widget"!==b?"option"===b&&2===arguments.length&&"string"==typeof arguments[1]?a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this[0]].concat(c)):this.each(function(){"string"==typeof b?a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this].concat(c)):a.datepicker._attachDatepicker(this,b)}):a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this[0]].concat(c))},a.datepicker=new e,a.datepicker.initialized=!1,a.datepicker.uuid=(new Date).getTime(),a.datepicker.version="1.11.4";a.datepicker;a.widget("ui.draggable",a.ui.mouse,{version:"1.11.4",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._setHandleClassName(),this._mouseInit()},_setOption:function(a,b){this._super(a,b),"handle"===a&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper||this.element).is(".ui-draggable-dragging")?void(this.destroyOnClear=!0):(this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._removeHandleClassName(),void this._mouseDestroy())},_mouseCapture:function(b){var c=this.options;return this._blurActiveElement(b),this.helper||c.disabled||a(b.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(b),this.handle?(this._blockFrames(c.iframeFix===!0?"iframe":c.iframeFix),!0):!1)},_blockFrames:function(b){this.iframeBlocks=this.document.find(b).map(function(){var b=a(this);return a("<div>").css("position","absolute").appendTo(b.parent()).outerWidth(b.outerWidth()).outerHeight(b.outerHeight()).offset(b.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(b){var c=this.document[0];if(this.handleElement.is(b.target))try{c.activeElement&&"body"!==c.activeElement.nodeName.toLowerCase()&&a(c.activeElement).blur()}catch(d){}},_mouseStart:function(b){var c=this.options;return this.helper=this._createHelper(b),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),a.ui.ddmanager&&(a.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===a(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(b),this.originalPosition=this.position=this._generatePosition(b,!1),this.originalPageX=b.pageX,this.originalPageY=b.pageY,c.cursorAt&&this._adjustOffsetFromHelper(c.cursorAt),this._setContainment(),this._trigger("start",b)===!1?(this._clear(),!1):(this._cacheHelperProportions(),a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this._normalizeRightBottom(),this._mouseDrag(b,!0),a.ui.ddmanager&&a.ui.ddmanager.dragStart(this,b),!0)},_refreshOffsets:function(a){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:a.pageX-this.offset.left,top:a.pageY-this.offset.top}},_mouseDrag:function(b,c){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(b,!0),this.positionAbs=this._convertPositionTo("absolute"),!c){var d=this._uiHash();if(this._trigger("drag",b,d)===!1)return this._mouseUp({}),!1;this.position=d.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),!1},_mouseStop:function(b){var c=this,d=!1;return a.ui.ddmanager&&!this.options.dropBehaviour&&(d=a.ui.ddmanager.drop(this,b)),this.dropped&&(d=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!d||"valid"===this.options.revert&&d||this.options.revert===!0||a.isFunction(this.options.revert)&&this.options.revert.call(this.element,d)?a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){c._trigger("stop",b)!==!1&&c._clear()}):this._trigger("stop",b)!==!1&&this._clear(),!1},_mouseUp:function(b){return this._unblockFrames(),a.ui.ddmanager&&a.ui.ddmanager.dragStop(this,b),this.handleElement.is(b.target)&&this.element.focus(),a.ui.mouse.prototype._mouseUp.call(this,b)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(b){return this.options.handle?!!a(b.target).closest(this.element.find(this.options.handle)).length:!0},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this.handleElement.addClass("ui-draggable-handle")},_removeHandleClassName:function(){this.handleElement.removeClass("ui-draggable-handle")},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper),e=d?a(c.helper.apply(this.element[0],[b])):"clone"===c.helper?this.element.clone().removeAttr("id"):this.element;return e.parents("body").length||e.appendTo("parent"===c.appendTo?this.element[0].parentNode:c.appendTo),d&&e[0]===this.element[0]&&this._setPositionRelative(),e[0]===this.element[0]||/(fixed|absolute)/.test(e.css("position"))||e.css("position","absolute"),e},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(b){"string"==typeof b&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_isRootNode:function(a){return/(html|body)/i.test(a.tagName)||a===this.document[0]},_getParentOffset:function(){var b=this.offsetParent.offset(),c=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==c&&a.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(b={top:0,left:0}),{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var a=this.element.position(),b=this._isRootNode(this.scrollParent[0]);return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+(b?0:this.scrollParent.scrollTop()),left:a.left-(parseInt(this.helper.css("left"),10)||0)+(b?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b,c,d,e=this.options,f=this.document[0];return this.relativeContainer=null,e.containment?"window"===e.containment?void(this.containment=[a(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,a(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,a(window).scrollLeft()+a(window).width()-this.helperProportions.width-this.margins.left,a(window).scrollTop()+(a(window).height()||f.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]):"document"===e.containment?void(this.containment=[0,0,a(f).width()-this.helperProportions.width-this.margins.left,(a(f).height()||f.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]):e.containment.constructor===Array?void(this.containment=e.containment):("parent"===e.containment&&(e.containment=this.helper[0].parentNode),c=a(e.containment),d=c[0],void(d&&(b=/(scroll|auto)/.test(c.css("overflow")),this.containment=[(parseInt(c.css("borderLeftWidth"),10)||0)+(parseInt(c.css("paddingLeft"),10)||0),(parseInt(c.css("borderTopWidth"),10)||0)+(parseInt(c.css("paddingTop"),10)||0),(b?Math.max(d.scrollWidth,d.offsetWidth):d.offsetWidth)-(parseInt(c.css("borderRightWidth"),10)||0)-(parseInt(c.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(b?Math.max(d.scrollHeight,d.offsetHeight):d.offsetHeight)-(parseInt(c.css("borderBottomWidth"),10)||0)-(parseInt(c.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=c))):void(this.containment=null)},_convertPositionTo:function(a,b){b||(b=this.position);var c="absolute"===a?1:-1,d=this._isRootNode(this.scrollParent[0]);return{top:b.top+this.offset.relative.top*c+this.offset.parent.top*c-("fixed"===this.cssPosition?-this.offset.scroll.top:d?0:this.offset.scroll.top)*c,left:b.left+this.offset.relative.left*c+this.offset.parent.left*c-("fixed"===this.cssPosition?-this.offset.scroll.left:d?0:this.offset.scroll.left)*c}},_generatePosition:function(a,b){var c,d,e,f,g=this.options,h=this._isRootNode(this.scrollParent[0]),i=a.pageX,j=a.pageY;return h&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),b&&(this.containment&&(this.relativeContainer?(d=this.relativeContainer.offset(),c=[this.containment[0]+d.left,this.containment[1]+d.top,this.containment[2]+d.left,this.containment[3]+d.top]):c=this.containment,a.pageX-this.offset.click.left<c[0]&&(i=c[0]+this.offset.click.left),a.pageY-this.offset.click.top<c[1]&&(j=c[1]+this.offset.click.top),a.pageX-this.offset.click.left>c[2]&&(i=c[2]+this.offset.click.left),a.pageY-this.offset.click.top>c[3]&&(j=c[3]+this.offset.click.top)),g.grid&&(e=g.grid[1]?this.originalPageY+Math.round((j-this.originalPageY)/g.grid[1])*g.grid[1]:this.originalPageY,j=c?e-this.offset.click.top>=c[1]||e-this.offset.click.top>c[3]?e:e-this.offset.click.top>=c[1]?e-g.grid[1]:e+g.grid[1]:e,f=g.grid[0]?this.originalPageX+Math.round((i-this.originalPageX)/g.grid[0])*g.grid[0]:this.originalPageX,i=c?f-this.offset.click.left>=c[0]||f-this.offset.click.left>c[2]?f:f-this.offset.click.left>=c[0]?f-g.grid[0]:f+g.grid[0]:f),"y"===g.axis&&(i=this.originalPageX),"x"===g.axis&&(j=this.originalPageY)),{top:j-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:h?0:this.offset.scroll.top),left:i-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:h?0:this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_normalizeRightBottom:function(){"y"!==this.options.axis&&"auto"!==this.helper.css("right")&&(this.helper.width(this.helper.width()),this.helper.css("right","auto")),"x"!==this.options.axis&&"auto"!==this.helper.css("bottom")&&(this.helper.height(this.helper.height()),this.helper.css("bottom","auto"))},_trigger:function(b,c,d){return d=d||this._uiHash(),a.ui.plugin.call(this,b,[c,d,this],!0),/^(drag|start|stop)/.test(b)&&(this.positionAbs=this._convertPositionTo("absolute"),d.offset=this.positionAbs),a.Widget.prototype._trigger.call(this,b,c,d)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),a.ui.plugin.add("draggable","connectToSortable",{start:function(b,c,d){var e=a.extend({},c,{item:d.element});d.sortables=[],a(d.options.connectToSortable).each(function(){var c=a(this).sortable("instance");c&&!c.options.disabled&&(d.sortables.push(c),c.refreshPositions(),c._trigger("activate",b,e))})},stop:function(b,c,d){var e=a.extend({},c,{item:d.element});d.cancelHelperRemoval=!1,a.each(d.sortables,function(){var a=this;a.isOver?(a.isOver=0,d.cancelHelperRemoval=!0,a.cancelHelperRemoval=!1,a._storedCSS={position:a.placeholder.css("position"),top:a.placeholder.css("top"),left:a.placeholder.css("left")},a._mouseStop(b),a.options.helper=a.options._helper):(a.cancelHelperRemoval=!0,a._trigger("deactivate",b,e))})},drag:function(b,c,d){a.each(d.sortables,function(){var e=!1,f=this;f.positionAbs=d.positionAbs,f.helperProportions=d.helperProportions,f.offset.click=d.offset.click,f._intersectsWith(f.containerCache)&&(e=!0,a.each(d.sortables,function(){return this.positionAbs=d.positionAbs,this.helperProportions=d.helperProportions,this.offset.click=d.offset.click,this!==f&&this._intersectsWith(this.containerCache)&&a.contains(f.element[0],this.element[0])&&(e=!1),e})),e?(f.isOver||(f.isOver=1,d._parent=c.helper.parent(),f.currentItem=c.helper.appendTo(f.element).data("ui-sortable-item",!0),f.options._helper=f.options.helper,f.options.helper=function(){return c.helper[0]},b.target=f.currentItem[0],f._mouseCapture(b,!0),f._mouseStart(b,!0,!0),f.offset.click.top=d.offset.click.top,f.offset.click.left=d.offset.click.left,f.offset.parent.left-=d.offset.parent.left-f.offset.parent.left,f.offset.parent.top-=d.offset.parent.top-f.offset.parent.top,d._trigger("toSortable",b),d.dropped=f.element,a.each(d.sortables,function(){this.refreshPositions()}),d.currentItem=d.element,f.fromOutside=d),f.currentItem&&(f._mouseDrag(b),c.position=f.position)):f.isOver&&(f.isOver=0,f.cancelHelperRemoval=!0,f.options._revert=f.options.revert,f.options.revert=!1,f._trigger("out",b,f._uiHash(f)),f._mouseStop(b,!0),f.options.revert=f.options._revert,f.options.helper=f.options._helper,f.placeholder&&f.placeholder.remove(),c.helper.appendTo(d._parent),d._refreshOffsets(b),c.position=d._generatePosition(b,!0),d._trigger("fromSortable",b),d.dropped=!1,a.each(d.sortables,function(){this.refreshPositions()}))})}}),a.ui.plugin.add("draggable","cursor",{start:function(b,c,d){var e=a("body"),f=d.options;e.css("cursor")&&(f._cursor=e.css("cursor")),e.css("cursor",f.cursor)},stop:function(b,c,d){var e=d.options;e._cursor&&a("body").css("cursor",e._cursor)}}),a.ui.plugin.add("draggable","opacity",{start:function(b,c,d){var e=a(c.helper),f=d.options;e.css("opacity")&&(f._opacity=e.css("opacity")),e.css("opacity",f.opacity)},stop:function(b,c,d){var e=d.options;e._opacity&&a(c.helper).css("opacity",e._opacity)}}),a.ui.plugin.add("draggable","scroll",{start:function(a,b,c){c.scrollParentNotHidden||(c.scrollParentNotHidden=c.helper.scrollParent(!1)),c.scrollParentNotHidden[0]!==c.document[0]&&"HTML"!==c.scrollParentNotHidden[0].tagName&&(c.overflowOffset=c.scrollParentNotHidden.offset())},drag:function(b,c,d){var e=d.options,f=!1,g=d.scrollParentNotHidden[0],h=d.document[0];g!==h&&"HTML"!==g.tagName?(e.axis&&"x"===e.axis||(d.overflowOffset.top+g.offsetHeight-b.pageY<e.scrollSensitivity?g.scrollTop=f=g.scrollTop+e.scrollSpeed:b.pageY-d.overflowOffset.top<e.scrollSensitivity&&(g.scrollTop=f=g.scrollTop-e.scrollSpeed)),e.axis&&"y"===e.axis||(d.overflowOffset.left+g.offsetWidth-b.pageX<e.scrollSensitivity?g.scrollLeft=f=g.scrollLeft+e.scrollSpeed:b.pageX-d.overflowOffset.left<e.scrollSensitivity&&(g.scrollLeft=f=g.scrollLeft-e.scrollSpeed))):(e.axis&&"x"===e.axis||(b.pageY-a(h).scrollTop()<e.scrollSensitivity?f=a(h).scrollTop(a(h).scrollTop()-e.scrollSpeed):a(window).height()-(b.pageY-a(h).scrollTop())<e.scrollSensitivity&&(f=a(h).scrollTop(a(h).scrollTop()+e.scrollSpeed))),e.axis&&"y"===e.axis||(b.pageX-a(h).scrollLeft()<e.scrollSensitivity?f=a(h).scrollLeft(a(h).scrollLeft()-e.scrollSpeed):a(window).width()-(b.pageX-a(h).scrollLeft())<e.scrollSensitivity&&(f=a(h).scrollLeft(a(h).scrollLeft()+e.scrollSpeed)))),f!==!1&&a.ui.ddmanager&&!e.dropBehaviour&&a.ui.ddmanager.prepareOffsets(d,b)}}),a.ui.plugin.add("draggable","snap",{start:function(b,c,d){var e=d.options;d.snapElements=[],a(e.snap.constructor!==String?e.snap.items||":data(ui-draggable)":e.snap).each(function(){var b=a(this),c=b.offset();this!==d.element[0]&&d.snapElements.push({item:this,width:b.outerWidth(),height:b.outerHeight(),top:c.top,left:c.left})})},drag:function(b,c,d){var e,f,g,h,i,j,k,l,m,n,o=d.options,p=o.snapTolerance,q=c.offset.left,r=q+d.helperProportions.width,s=c.offset.top,t=s+d.helperProportions.height;for(m=d.snapElements.length-1;m>=0;m--)i=d.snapElements[m].left-d.margins.left,j=i+d.snapElements[m].width,k=d.snapElements[m].top-d.margins.top,l=k+d.snapElements[m].height,i-p>r||q>j+p||k-p>t||s>l+p||!a.contains(d.snapElements[m].item.ownerDocument,d.snapElements[m].item)?(d.snapElements[m].snapping&&d.options.snap.release&&d.options.snap.release.call(d.element,b,a.extend(d._uiHash(),{snapItem:d.snapElements[m].item})),d.snapElements[m].snapping=!1):("inner"!==o.snapMode&&(e=Math.abs(k-t)<=p,f=Math.abs(l-s)<=p,g=Math.abs(i-r)<=p,h=Math.abs(j-q)<=p,e&&(c.position.top=d._convertPositionTo("relative",{top:k-d.helperProportions.height,left:0}).top),f&&(c.position.top=d._convertPositionTo("relative",{top:l,left:0}).top),g&&(c.position.left=d._convertPositionTo("relative",{top:0,left:i-d.helperProportions.width}).left),h&&(c.position.left=d._convertPositionTo("relative",{top:0,left:j}).left)),n=e||f||g||h,"outer"!==o.snapMode&&(e=Math.abs(k-s)<=p,f=Math.abs(l-t)<=p,g=Math.abs(i-q)<=p,h=Math.abs(j-r)<=p,e&&(c.position.top=d._convertPositionTo("relative",{top:k,left:0}).top),f&&(c.position.top=d._convertPositionTo("relative",{top:l-d.helperProportions.height,left:0}).top),g&&(c.position.left=d._convertPositionTo("relative",{top:0,left:i}).left),h&&(c.position.left=d._convertPositionTo("relative",{top:0,left:j-d.helperProportions.width}).left)),!d.snapElements[m].snapping&&(e||f||g||h||n)&&d.options.snap.snap&&d.options.snap.snap.call(d.element,b,a.extend(d._uiHash(),{snapItem:d.snapElements[m].item})),d.snapElements[m].snapping=e||f||g||h||n)}}),a.ui.plugin.add("draggable","stack",{start:function(b,c,d){var e,f=d.options,g=a.makeArray(a(f.stack)).sort(function(b,c){return(parseInt(a(b).css("zIndex"),10)||0)-(parseInt(a(c).css("zIndex"),10)||0)});g.length&&(e=parseInt(a(g[0]).css("zIndex"),10)||0,a(g).each(function(b){a(this).css("zIndex",e+b)}),this.css("zIndex",e+g.length))}}),a.ui.plugin.add("draggable","zIndex",{start:function(b,c,d){var e=a(c.helper),f=d.options;e.css("zIndex")&&(f._zIndex=e.css("zIndex")),e.css("zIndex",f.zIndex)},stop:function(b,c,d){var e=d.options;e._zIndex&&a(c.helper).css("zIndex",e._zIndex)}});a.ui.draggable;a.widget("ui.resizable",a.ui.mouse,{version:"1.11.4",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(a){return parseInt(a,10)||0},_isNumber:function(a){return!isNaN(parseInt(a,10))},_hasScroll:function(b,c){if("hidden"===a(b).css("overflow"))return!1;var d=c&&"left"===c?"scrollLeft":"scrollTop",e=!1;return b[d]>0?!0:(b[d]=1,e=b[d]>0,b[d]=0,e)},_create:function(){var b,c,d,e,f,g=this,h=this.options;if(this.element.addClass("ui-resizable"),a.extend(this,{_aspectRatio:!!h.aspectRatio,aspectRatio:h.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:h.helper||h.ghost||h.animate?h.helper||"ui-resizable-helper":null
-}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(a("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=h.handles||(a(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=a(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),b=this.handles.split(","),this.handles={},c=0;c<b.length;c++)d=a.trim(b[c]),f="ui-resizable-"+d,e=a("<div class='ui-resizable-handle "+f+"'></div>"),e.css({zIndex:h.zIndex}),"se"===d&&e.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[d]=".ui-resizable-"+d,this.element.append(e);this._renderAxis=function(b){var c,d,e,f;b=b||this.element;for(c in this.handles)this.handles[c].constructor===String?this.handles[c]=this.element.children(this.handles[c]).first().show():(this.handles[c].jquery||this.handles[c].nodeType)&&(this.handles[c]=a(this.handles[c]),this._on(this.handles[c],{mousedown:g._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(d=a(this.handles[c],this.element),f=/sw|ne|nw|se|n|s/.test(c)?d.outerHeight():d.outerWidth(),e=["padding",/ne|nw|n/.test(c)?"Top":/se|sw|s/.test(c)?"Bottom":/^e$/.test(c)?"Right":"Left"].join(""),b.css(e,f),this._proportionallyResize()),this._handles=this._handles.add(this.handles[c])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.mouseover(function(){g.resizing||(this.className&&(e=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),g.axis=e&&e[1]?e[1]:"se")}),h.autoHide&&(this._handles.hide(),a(this.element).addClass("ui-resizable-autohide").mouseenter(function(){h.disabled||(a(this).removeClass("ui-resizable-autohide"),g._handles.show())}).mouseleave(function(){h.disabled||g.resizing||(a(this).addClass("ui-resizable-autohide"),g._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var b,c=function(b){a(b).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(c(this.element),b=this.element,this.originalElement.css({position:b.css("position"),width:b.outerWidth(),height:b.outerHeight(),top:b.css("top"),left:b.css("left")}).insertAfter(b),b.remove()),this.originalElement.css("resize",this.originalResizeStyle),c(this.originalElement),this},_mouseCapture:function(b){var c,d,e=!1;for(c in this.handles)d=a(this.handles[c])[0],(d===b.target||a.contains(d,b.target))&&(e=!0);return!this.options.disabled&&e},_mouseStart:function(b){var c,d,e,f=this.options,g=this.element;return this.resizing=!0,this._renderProxy(),c=this._num(this.helper.css("left")),d=this._num(this.helper.css("top")),f.containment&&(c+=a(f.containment).scrollLeft()||0,d+=a(f.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:c,top:d},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:g.width(),height:g.height()},this.originalSize=this._helper?{width:g.outerWidth(),height:g.outerHeight()}:{width:g.width(),height:g.height()},this.sizeDiff={width:g.outerWidth()-g.width(),height:g.outerHeight()-g.height()},this.originalPosition={left:c,top:d},this.originalMousePosition={left:b.pageX,top:b.pageY},this.aspectRatio="number"==typeof f.aspectRatio?f.aspectRatio:this.originalSize.width/this.originalSize.height||1,e=a(".ui-resizable-"+this.axis).css("cursor"),a("body").css("cursor","auto"===e?this.axis+"-resize":e),g.addClass("ui-resizable-resizing"),this._propagate("start",b),!0},_mouseDrag:function(b){var c,d,e=this.originalMousePosition,f=this.axis,g=b.pageX-e.left||0,h=b.pageY-e.top||0,i=this._change[f];return this._updatePrevProperties(),i?(c=i.apply(this,[b,g,h]),this._updateVirtualBoundaries(b.shiftKey),(this._aspectRatio||b.shiftKey)&&(c=this._updateRatio(c,b)),c=this._respectSize(c,b),this._updateCache(c),this._propagate("resize",b),d=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),a.isEmptyObject(d)||(this._updatePrevProperties(),this._trigger("resize",b,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(b){this.resizing=!1;var c,d,e,f,g,h,i,j=this.options,k=this;return this._helper&&(c=this._proportionallyResizeElements,d=c.length&&/textarea/i.test(c[0].nodeName),e=d&&this._hasScroll(c[0],"left")?0:k.sizeDiff.height,f=d?0:k.sizeDiff.width,g={width:k.helper.width()-f,height:k.helper.height()-e},h=parseInt(k.element.css("left"),10)+(k.position.left-k.originalPosition.left)||null,i=parseInt(k.element.css("top"),10)+(k.position.top-k.originalPosition.top)||null,j.animate||this.element.css(a.extend(g,{top:i,left:h})),k.helper.height(k.size.height),k.helper.width(k.size.width),this._helper&&!j.animate&&this._proportionallyResize()),a("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",b),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var a={};return this.position.top!==this.prevPosition.top&&(a.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(a.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(a.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(a.height=this.size.height+"px"),this.helper.css(a),a},_updateVirtualBoundaries:function(a){var b,c,d,e,f,g=this.options;f={minWidth:this._isNumber(g.minWidth)?g.minWidth:0,maxWidth:this._isNumber(g.maxWidth)?g.maxWidth:1/0,minHeight:this._isNumber(g.minHeight)?g.minHeight:0,maxHeight:this._isNumber(g.maxHeight)?g.maxHeight:1/0},(this._aspectRatio||a)&&(b=f.minHeight*this.aspectRatio,d=f.minWidth/this.aspectRatio,c=f.maxHeight*this.aspectRatio,e=f.maxWidth/this.aspectRatio,b>f.minWidth&&(f.minWidth=b),d>f.minHeight&&(f.minHeight=d),c<f.maxWidth&&(f.maxWidth=c),e<f.maxHeight&&(f.maxHeight=e)),this._vBoundaries=f},_updateCache:function(a){this.offset=this.helper.offset(),this._isNumber(a.left)&&(this.position.left=a.left),this._isNumber(a.top)&&(this.position.top=a.top),this._isNumber(a.height)&&(this.size.height=a.height),this._isNumber(a.width)&&(this.size.width=a.width)},_updateRatio:function(a){var b=this.position,c=this.size,d=this.axis;return this._isNumber(a.height)?a.width=a.height*this.aspectRatio:this._isNumber(a.width)&&(a.height=a.width/this.aspectRatio),"sw"===d&&(a.left=b.left+(c.width-a.width),a.top=null),"nw"===d&&(a.top=b.top+(c.height-a.height),a.left=b.left+(c.width-a.width)),a},_respectSize:function(a){var b=this._vBoundaries,c=this.axis,d=this._isNumber(a.width)&&b.maxWidth&&b.maxWidth<a.width,e=this._isNumber(a.height)&&b.maxHeight&&b.maxHeight<a.height,f=this._isNumber(a.width)&&b.minWidth&&b.minWidth>a.width,g=this._isNumber(a.height)&&b.minHeight&&b.minHeight>a.height,h=this.originalPosition.left+this.originalSize.width,i=this.position.top+this.size.height,j=/sw|nw|w/.test(c),k=/nw|ne|n/.test(c);return f&&(a.width=b.minWidth),g&&(a.height=b.minHeight),d&&(a.width=b.maxWidth),e&&(a.height=b.maxHeight),f&&j&&(a.left=h-b.minWidth),d&&j&&(a.left=h-b.maxWidth),g&&k&&(a.top=i-b.minHeight),e&&k&&(a.top=i-b.maxHeight),a.width||a.height||a.left||!a.top?a.width||a.height||a.top||!a.left||(a.left=null):a.top=null,a},_getPaddingPlusBorderDimensions:function(a){for(var b=0,c=[],d=[a.css("borderTopWidth"),a.css("borderRightWidth"),a.css("borderBottomWidth"),a.css("borderLeftWidth")],e=[a.css("paddingTop"),a.css("paddingRight"),a.css("paddingBottom"),a.css("paddingLeft")];4>b;b++)c[b]=parseInt(d[b],10)||0,c[b]+=parseInt(e[b],10)||0;return{height:c[0]+c[2],width:c[1]+c[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var a,b=0,c=this.helper||this.element;b<this._proportionallyResizeElements.length;b++)a=this._proportionallyResizeElements[b],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(a)),a.css({height:c.height()-this.outerDimensions.height||0,width:c.width()-this.outerDimensions.width||0})},_renderProxy:function(){var b=this.element,c=this.options;this.elementOffset=b.offset(),this._helper?(this.helper=this.helper||a("<div style='overflow:hidden;'></div>"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++c.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(a,b){return{width:this.originalSize.width+b}},w:function(a,b){var c=this.originalSize,d=this.originalPosition;return{left:d.left+b,width:c.width-b}},n:function(a,b,c){var d=this.originalSize,e=this.originalPosition;return{top:e.top+c,height:d.height-c}},s:function(a,b,c){return{height:this.originalSize.height+c}},se:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},sw:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,c,d]))},ne:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},nw:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,c,d]))}},_propagate:function(b,c){a.ui.plugin.call(this,b,[c,this.ui()]),"resize"!==b&&this._trigger(b,c,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),a.ui.plugin.add("resizable","animate",{stop:function(b){var c=a(this).resizable("instance"),d=c.options,e=c._proportionallyResizeElements,f=e.length&&/textarea/i.test(e[0].nodeName),g=f&&c._hasScroll(e[0],"left")?0:c.sizeDiff.height,h=f?0:c.sizeDiff.width,i={width:c.size.width-h,height:c.size.height-g},j=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null,k=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;c.element.animate(a.extend(i,k&&j?{top:k,left:j}:{}),{duration:d.animateDuration,easing:d.animateEasing,step:function(){var d={width:parseInt(c.element.css("width"),10),height:parseInt(c.element.css("height"),10),top:parseInt(c.element.css("top"),10),left:parseInt(c.element.css("left"),10)};e&&e.length&&a(e[0]).css({width:d.width,height:d.height}),c._updateCache(d),c._propagate("resize",b)}})}}),a.ui.plugin.add("resizable","containment",{start:function(){var b,c,d,e,f,g,h,i=a(this).resizable("instance"),j=i.options,k=i.element,l=j.containment,m=l instanceof a?l.get(0):/parent/.test(l)?k.parent().get(0):l;m&&(i.containerElement=a(m),/document/.test(l)||l===document?(i.containerOffset={left:0,top:0},i.containerPosition={left:0,top:0},i.parentData={element:a(document),left:0,top:0,width:a(document).width(),height:a(document).height()||document.body.parentNode.scrollHeight}):(b=a(m),c=[],a(["Top","Right","Left","Bottom"]).each(function(a,d){c[a]=i._num(b.css("padding"+d))}),i.containerOffset=b.offset(),i.containerPosition=b.position(),i.containerSize={height:b.innerHeight()-c[3],width:b.innerWidth()-c[1]},d=i.containerOffset,e=i.containerSize.height,f=i.containerSize.width,g=i._hasScroll(m,"left")?m.scrollWidth:f,h=i._hasScroll(m)?m.scrollHeight:e,i.parentData={element:m,left:d.left,top:d.top,width:g,height:h}))},resize:function(b){var c,d,e,f,g=a(this).resizable("instance"),h=g.options,i=g.containerOffset,j=g.position,k=g._aspectRatio||b.shiftKey,l={top:0,left:0},m=g.containerElement,n=!0;m[0]!==document&&/static/.test(m.css("position"))&&(l=i),j.left<(g._helper?i.left:0)&&(g.size.width=g.size.width+(g._helper?g.position.left-i.left:g.position.left-l.left),k&&(g.size.height=g.size.width/g.aspectRatio,n=!1),g.position.left=h.helper?i.left:0),j.top<(g._helper?i.top:0)&&(g.size.height=g.size.height+(g._helper?g.position.top-i.top:g.position.top),k&&(g.size.width=g.size.height*g.aspectRatio,n=!1),g.position.top=g._helper?i.top:0),e=g.containerElement.get(0)===g.element.parent().get(0),f=/relative|absolute/.test(g.containerElement.css("position")),e&&f?(g.offset.left=g.parentData.left+g.position.left,g.offset.top=g.parentData.top+g.position.top):(g.offset.left=g.element.offset().left,g.offset.top=g.element.offset().top),c=Math.abs(g.sizeDiff.width+(g._helper?g.offset.left-l.left:g.offset.left-i.left)),d=Math.abs(g.sizeDiff.height+(g._helper?g.offset.top-l.top:g.offset.top-i.top)),c+g.size.width>=g.parentData.width&&(g.size.width=g.parentData.width-c,k&&(g.size.height=g.size.width/g.aspectRatio,n=!1)),d+g.size.height>=g.parentData.height&&(g.size.height=g.parentData.height-d,k&&(g.size.width=g.size.height*g.aspectRatio,n=!1)),n||(g.position.left=g.prevPosition.left,g.position.top=g.prevPosition.top,g.size.width=g.prevSize.width,g.size.height=g.prevSize.height)},stop:function(){var b=a(this).resizable("instance"),c=b.options,d=b.containerOffset,e=b.containerPosition,f=b.containerElement,g=a(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width,j=g.outerHeight()-b.sizeDiff.height;b._helper&&!c.animate&&/relative/.test(f.css("position"))&&a(this).css({left:h.left-e.left-d.left,width:i,height:j}),b._helper&&!c.animate&&/static/.test(f.css("position"))&&a(this).css({left:h.left-e.left-d.left,width:i,height:j})}}),a.ui.plugin.add("resizable","alsoResize",{start:function(){var b=a(this).resizable("instance"),c=b.options;a(c.alsoResize).each(function(){var b=a(this);b.data("ui-resizable-alsoresize",{width:parseInt(b.width(),10),height:parseInt(b.height(),10),left:parseInt(b.css("left"),10),top:parseInt(b.css("top"),10)})})},resize:function(b,c){var d=a(this).resizable("instance"),e=d.options,f=d.originalSize,g=d.originalPosition,h={height:d.size.height-f.height||0,width:d.size.width-f.width||0,top:d.position.top-g.top||0,left:d.position.left-g.left||0};a(e.alsoResize).each(function(){var b=a(this),d=a(this).data("ui-resizable-alsoresize"),e={},f=b.parents(c.originalElement[0]).length?["width","height"]:["width","height","top","left"];a.each(f,function(a,b){var c=(d[b]||0)+(h[b]||0);c&&c>=0&&(e[b]=c||null)}),b.css(e)})},stop:function(){a(this).removeData("resizable-alsoresize")}}),a.ui.plugin.add("resizable","ghost",{start:function(){var b=a(this).resizable("instance"),c=b.options,d=b.size;b.ghost=b.originalElement.clone(),b.ghost.css({opacity:.25,display:"block",position:"relative",height:d.height,width:d.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof c.ghost?c.ghost:""),b.ghost.appendTo(b.helper)},resize:function(){var b=a(this).resizable("instance");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=a(this).resizable("instance");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}}),a.ui.plugin.add("resizable","grid",{resize:function(){var b,c=a(this).resizable("instance"),d=c.options,e=c.size,f=c.originalSize,g=c.originalPosition,h=c.axis,i="number"==typeof d.grid?[d.grid,d.grid]:d.grid,j=i[0]||1,k=i[1]||1,l=Math.round((e.width-f.width)/j)*j,m=Math.round((e.height-f.height)/k)*k,n=f.width+l,o=f.height+m,p=d.maxWidth&&d.maxWidth<n,q=d.maxHeight&&d.maxHeight<o,r=d.minWidth&&d.minWidth>n,s=d.minHeight&&d.minHeight>o;d.grid=i,r&&(n+=j),s&&(o+=k),p&&(n-=j),q&&(o-=k),/^(se|s|e)$/.test(h)?(c.size.width=n,c.size.height=o):/^(ne)$/.test(h)?(c.size.width=n,c.size.height=o,c.position.top=g.top-m):/^(sw)$/.test(h)?(c.size.width=n,c.size.height=o,c.position.left=g.left-l):((0>=o-k||0>=n-j)&&(b=c._getPaddingPlusBorderDimensions(this)),o-k>0?(c.size.height=o,c.position.top=g.top-m):(o=k-b.height,c.size.height=o,c.position.top=g.top+f.height-o),n-j>0?(c.size.width=n,c.position.left=g.left-l):(n=j-b.width,c.size.width=n,c.position.left=g.left+f.width-n))}});a.ui.resizable,a.widget("ui.dialog",{version:"1.11.4",options:{appendTo:"body",autoOpen:!0,buttons:[],closeOnEscape:!0,closeText:"Close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(b){var c=a(this).css(b).offset().top;0>c&&a(this).css("top",b.top-c)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),this.options.title=this.options.title||this.originalTitle,this._createWrapper(),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(this.uiDialog),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&a.fn.draggable&&this._makeDraggable(),this.options.resizable&&a.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var b=this.options.appendTo;return b&&(b.jquery||b.nodeType)?a(b):this.document.find(b||"body").eq(0)},_destroy:function(){var a,b=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().removeClass("ui-dialog-content ui-widget-content").css(this.originalCss).detach(),this.uiDialog.stop(!0,!0).remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),a=b.parent.children().eq(b.index),a.length&&a[0]!==this.element[0]?a.before(this.element):b.parent.append(this.element)},widget:function(){return this.uiDialog},disable:a.noop,enable:a.noop,close:function(b){var c,d=this;if(this._isOpen&&this._trigger("beforeClose",b)!==!1){if(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),!this.opener.filter(":focusable").focus().length)try{c=this.document[0].activeElement,c&&"body"!==c.nodeName.toLowerCase()&&a(c).blur()}catch(e){}this._hide(this.uiDialog,this.options.hide,function(){d._trigger("close",b)})}},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(b,c){var d=!1,e=this.uiDialog.siblings(".ui-front:visible").map(function(){return+a(this).css("z-index")}).get(),f=Math.max.apply(null,e);return f>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",f+1),d=!0),d&&!c&&this._trigger("focus",b),d},open:function(){var b=this;return this._isOpen?void(this._moveToTop()&&this._focusTabbable()):(this._isOpen=!0,this.opener=a(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){b._focusTabbable(),b._trigger("focus")}),this._makeFocusTarget(),void this._trigger("open"))},_focusTabbable:function(){var a=this._focusedElement;a||(a=this.element.find("[autofocus]")),a.length||(a=this.element.find(":tabbable")),a.length||(a=this.uiDialogButtonPane.find(":tabbable")),a.length||(a=this.uiDialogTitlebarClose.filter(":tabbable")),a.length||(a=this.uiDialog),a.eq(0).focus()},_keepFocus:function(b){function c(){var b=this.document[0].activeElement,c=this.uiDialog[0]===b||a.contains(this.uiDialog[0],b);c||this._focusTabbable()}b.preventDefault(),c.call(this),this._delay(c)},_createWrapper:function(){this.uiDialog=a("<div>").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front "+this.options.dialogClass).hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._on(this.uiDialog,{keydown:function(b){if(this.options.closeOnEscape&&!b.isDefaultPrevented()&&b.keyCode&&b.keyCode===a.ui.keyCode.ESCAPE)return b.preventDefault(),void this.close(b);if(b.keyCode===a.ui.keyCode.TAB&&!b.isDefaultPrevented()){var c=this.uiDialog.find(":tabbable"),d=c.filter(":first"),e=c.filter(":last");b.target!==e[0]&&b.target!==this.uiDialog[0]||b.shiftKey?b.target!==d[0]&&b.target!==this.uiDialog[0]||!b.shiftKey||(this._delay(function(){e.focus()}),b.preventDefault()):(this._delay(function(){d.focus()}),b.preventDefault())}},mousedown:function(a){this._moveToTop(a)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var b;this.uiDialogTitlebar=a("<div>").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(b){a(b.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=a("<button type='button'></button>").button({label:this.options.closeText,icons:{primary:"ui-icon-closethick"},text:!1}).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar),this._on(this.uiDialogTitlebarClose,{click:function(a){a.preventDefault(),this.close(a)}}),b=a("<span>").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar),this._title(b),this.uiDialog.attr({"aria-labelledby":b.attr("id")})},_title:function(a){this.options.title||a.html("&#160;"),a.text(this.options.title)},_createButtonPane:function(){this.uiDialogButtonPane=a("<div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet=a("<div>").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var b=this,c=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),a.isEmptyObject(c)||a.isArray(c)&&!c.length?void this.uiDialog.removeClass("ui-dialog-buttons"):(a.each(c,function(c,d){var e,f;d=a.isFunction(d)?{click:d,text:c}:d,d=a.extend({type:"button"},d),e=d.click,d.click=function(){e.apply(b.element[0],arguments)},f={icons:d.icons,text:d.showText},delete d.icons,delete d.showText,a("<button></button>",d).button(f).appendTo(b.uiButtonSet)}),this.uiDialog.addClass("ui-dialog-buttons"),void this.uiDialogButtonPane.appendTo(this.uiDialog))},_makeDraggable:function(){function b(a){return{position:a.position,offset:a.offset}}var c=this,d=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(d,e){a(this).addClass("ui-dialog-dragging"),c._blockFrames(),c._trigger("dragStart",d,b(e))},drag:function(a,d){c._trigger("drag",a,b(d))},stop:function(e,f){var g=f.offset.left-c.document.scrollLeft(),h=f.offset.top-c.document.scrollTop();d.position={my:"left top",at:"left"+(g>=0?"+":"")+g+" top"+(h>=0?"+":"")+h,of:c.window},a(this).removeClass("ui-dialog-dragging"),c._unblockFrames(),c._trigger("dragStop",e,b(f))}})},_makeResizable:function(){function b(a){return{originalPosition:a.originalPosition,originalSize:a.originalSize,position:a.position,size:a.size}}var c=this,d=this.options,e=d.resizable,f=this.uiDialog.css("position"),g="string"==typeof e?e:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:d.maxWidth,maxHeight:d.maxHeight,minWidth:d.minWidth,minHeight:this._minHeight(),handles:g,start:function(d,e){a(this).addClass("ui-dialog-resizing"),c._blockFrames(),c._trigger("resizeStart",d,b(e))},resize:function(a,d){c._trigger("resize",a,b(d))},stop:function(e,f){var g=c.uiDialog.offset(),h=g.left-c.document.scrollLeft(),i=g.top-c.document.scrollTop();d.height=c.uiDialog.height(),d.width=c.uiDialog.width(),d.position={my:"left top",at:"left"+(h>=0?"+":"")+h+" top"+(i>=0?"+":"")+i,of:c.window},a(this).removeClass("ui-dialog-resizing"),c._unblockFrames(),c._trigger("resizeStop",e,b(f))}}).css("position",f)},_trackFocus:function(){this._on(this.widget(),{focusin:function(b){this._makeFocusTarget(),this._focusedElement=a(b.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var b=this._trackingInstances(),c=a.inArray(this,b);-1!==c&&b.splice(c,1)},_trackingInstances:function(){var a=this.document.data("ui-dialog-instances");return a||(a=[],this.document.data("ui-dialog-instances",a)),a},_minHeight:function(){var a=this.options;return"auto"===a.height?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(){var a=this.uiDialog.is(":visible");a||this.uiDialog.show(),this.uiDialog.position(this.options.position),a||this.uiDialog.hide()},_setOptions:function(b){var c=this,d=!1,e={};a.each(b,function(a,b){c._setOption(a,b),a in c.sizeRelatedOptions&&(d=!0),a in c.resizableRelatedOptions&&(e[a]=b)}),d&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",e)},_setOption:function(a,b){var c,d,e=this.uiDialog;"dialogClass"===a&&e.removeClass(this.options.dialogClass).addClass(b),"disabled"!==a&&(this._super(a,b),"appendTo"===a&&this.uiDialog.appendTo(this._appendTo()),"buttons"===a&&this._createButtons(),"closeText"===a&&this.uiDialogTitlebarClose.button({label:""+b}),"draggable"===a&&(c=e.is(":data(ui-draggable)"),c&&!b&&e.draggable("destroy"),!c&&b&&this._makeDraggable()),"position"===a&&this._position(),"resizable"===a&&(d=e.is(":data(ui-resizable)"),d&&!b&&e.resizable("destroy"),d&&"string"==typeof b&&e.resizable("option","handles",b),d||b===!1||this._makeResizable()),"title"===a&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var a,b,c,d=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),d.minWidth>d.width&&(d.width=d.minWidth),a=this.uiDialog.css({height:"auto",width:d.width}).outerHeight(),b=Math.max(0,d.minHeight-a),c="number"==typeof d.maxHeight?Math.max(0,d.maxHeight-a):"none","auto"===d.height?this.element.css({minHeight:b,maxHeight:c,height:"auto"}):this.element.height(Math.max(0,d.height-a)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var b=a(this);return a("<div>").css({position:"absolute",width:b.outerWidth(),height:b.outerHeight()}).appendTo(b.parent()).offset(b.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(b){return a(b.target).closest(".ui-dialog").length?!0:!!a(b.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var b=!0;this._delay(function(){b=!1}),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(a){b||this._allowInteraction(a)||(a.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=a("<div>").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var a=this.document.data("ui-dialog-overlays")-1;a?this.document.data("ui-dialog-overlays",a):this.document.unbind("focusin").removeData("ui-dialog-overlays"),this.overlay.remove(),this.overlay=null}}});a.widget("ui.droppable",{version:"1.11.4",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var b,c=this.options,d=c.accept;this.isover=!1,this.isout=!0,this.accept=a.isFunction(d)?d:function(a){return a.is(d)},this.proportions=function(){return arguments.length?void(b=arguments[0]):b?b:b={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},this._addToManager(c.scope),c.addClasses&&this.element.addClass("ui-droppable")},_addToManager:function(b){a.ui.ddmanager.droppables[b]=a.ui.ddmanager.droppables[b]||[],a.ui.ddmanager.droppables[b].push(this)},_splice:function(a){for(var b=0;b<a.length;b++)a[b]===this&&a.splice(b,1)},_destroy:function(){var b=a.ui.ddmanager.droppables[this.options.scope];this._splice(b),this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(b,c){if("accept"===b)this.accept=a.isFunction(c)?c:function(a){return a.is(c)};else if("scope"===b){var d=a.ui.ddmanager.droppables[this.options.scope];this._splice(d),this._addToManager(c)}this._super(b,c)},_activate:function(b){var c=a.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),c&&this._trigger("activate",b,this.ui(c))},_deactivate:function(b){var c=a.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),c&&this._trigger("deactivate",b,this.ui(c))},_over:function(b){var c=a.ui.ddmanager.current;c&&(c.currentItem||c.element)[0]!==this.element[0]&&this.accept.call(this.element[0],c.currentItem||c.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",b,this.ui(c)))},_out:function(b){var c=a.ui.ddmanager.current;c&&(c.currentItem||c.element)[0]!==this.element[0]&&this.accept.call(this.element[0],c.currentItem||c.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",b,this.ui(c)))},_drop:function(b,c){var d=c||a.ui.ddmanager.current,e=!1;return d&&(d.currentItem||d.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var c=a(this).droppable("instance");return c.options.greedy&&!c.options.disabled&&c.options.scope===d.options.scope&&c.accept.call(c.element[0],d.currentItem||d.element)&&a.ui.intersect(d,a.extend(c,{offset:c.element.offset()}),c.options.tolerance,b)?(e=!0,!1):void 0}),e?!1:this.accept.call(this.element[0],d.currentItem||d.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",b,this.ui(d)),this.element):!1):!1},ui:function(a){return{draggable:a.currentItem||a.element,helper:a.helper,position:a.position,offset:a.positionAbs}}}),a.ui.intersect=function(){function a(a,b,c){return a>=b&&b+c>a}return function(b,c,d,e){if(!c.offset)return!1;var f=(b.positionAbs||b.position.absolute).left+b.margins.left,g=(b.positionAbs||b.position.absolute).top+b.margins.top,h=f+b.helperProportions.width,i=g+b.helperProportions.height,j=c.offset.left,k=c.offset.top,l=j+c.proportions().width,m=k+c.proportions().height;
-switch(d){case"fit":return f>=j&&l>=h&&g>=k&&m>=i;case"intersect":return j<f+b.helperProportions.width/2&&h-b.helperProportions.width/2<l&&k<g+b.helperProportions.height/2&&i-b.helperProportions.height/2<m;case"pointer":return a(e.pageY,k,c.proportions().height)&&a(e.pageX,j,c.proportions().width);case"touch":return(g>=k&&m>=g||i>=k&&m>=i||k>g&&i>m)&&(f>=j&&l>=f||h>=j&&l>=h||j>f&&h>l);default:return!1}}}(),a.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(b,c){var d,e,f=a.ui.ddmanager.droppables[b.options.scope]||[],g=c?c.type:null,h=(b.currentItem||b.element).find(":data(ui-droppable)").addBack();a:for(d=0;d<f.length;d++)if(!(f[d].options.disabled||b&&!f[d].accept.call(f[d].element[0],b.currentItem||b.element))){for(e=0;e<h.length;e++)if(h[e]===f[d].element[0]){f[d].proportions().height=0;continue a}f[d].visible="none"!==f[d].element.css("display"),f[d].visible&&("mousedown"===g&&f[d]._activate.call(f[d],c),f[d].offset=f[d].element.offset(),f[d].proportions({width:f[d].element[0].offsetWidth,height:f[d].element[0].offsetHeight}))}},drop:function(b,c){var d=!1;return a.each((a.ui.ddmanager.droppables[b.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&a.ui.intersect(b,this,this.options.tolerance,c)&&(d=this._drop.call(this,c)||d),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],b.currentItem||b.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,c)))}),d},dragStart:function(b,c){b.element.parentsUntil("body").bind("scroll.droppable",function(){b.options.refreshPositions||a.ui.ddmanager.prepareOffsets(b,c)})},drag:function(b,c){b.options.refreshPositions&&a.ui.ddmanager.prepareOffsets(b,c),a.each(a.ui.ddmanager.droppables[b.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var d,e,f,g=a.ui.intersect(b,this,this.options.tolerance,c),h=!g&&this.isover?"isout":g&&!this.isover?"isover":null;h&&(this.options.greedy&&(e=this.options.scope,f=this.element.parents(":data(ui-droppable)").filter(function(){return a(this).droppable("instance").options.scope===e}),f.length&&(d=a(f[0]).droppable("instance"),d.greedyChild="isover"===h)),d&&"isover"===h&&(d.isover=!1,d.isout=!0,d._out.call(d,c)),this[h]=!0,this["isout"===h?"isover":"isout"]=!1,this["isover"===h?"_over":"_out"].call(this,c),d&&"isout"===h&&(d.isout=!1,d.isover=!0,d._over.call(d,c)))}})},dragStop:function(b,c){b.element.parentsUntil("body").unbind("scroll.droppable"),b.options.refreshPositions||a.ui.ddmanager.prepareOffsets(b,c)}};var s=(a.ui.droppable,"ui-effects-"),t=a;a.effects={effect:{}},function(a,b){function c(a,b,c){var d=l[b.type]||{};return null==a?c||!b.def?null:b.def:(a=d.floor?~~a:parseFloat(a),isNaN(a)?b.def:d.mod?(a+d.mod)%d.mod:0>a?0:d.max<a?d.max:a)}function d(b){var c=j(),d=c._rgba=[];return b=b.toLowerCase(),o(i,function(a,e){var f,g=e.re.exec(b),h=g&&e.parse(g),i=e.space||"rgba";return h?(f=c[i](h),c[k[i].cache]=f[k[i].cache],d=c._rgba=f._rgba,!1):void 0}),d.length?("0,0,0,0"===d.join()&&a.extend(d,f.transparent),c):f[b]}function e(a,b,c){return c=(c+1)%1,1>6*c?a+(b-a)*c*6:1>2*c?b:2>3*c?a+(b-a)*(2/3-c)*6:a}var f,g="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",h=/^([\-+])=\s*(\d+\.?\d*)/,i=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(a){return[a[1],a[2],a[3],a[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(a){return[2.55*a[1],2.55*a[2],2.55*a[3],a[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(a){return[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(a){return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(a){return[a[1],a[2]/100,a[3]/100,a[4]]}}],j=a.Color=function(b,c,d,e){return new a.Color.fn.parse(b,c,d,e)},k={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},l={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},m=j.support={},n=a("<p>")[0],o=a.each;n.style.cssText="background-color:rgba(1,1,1,.5)",m.rgba=n.style.backgroundColor.indexOf("rgba")>-1,o(k,function(a,b){b.cache="_"+a,b.props.alpha={idx:3,type:"percent",def:1}}),j.fn=a.extend(j.prototype,{parse:function(e,g,h,i){if(e===b)return this._rgba=[null,null,null,null],this;(e.jquery||e.nodeType)&&(e=a(e).css(g),g=b);var l=this,m=a.type(e),n=this._rgba=[];return g!==b&&(e=[e,g,h,i],m="array"),"string"===m?this.parse(d(e)||f._default):"array"===m?(o(k.rgba.props,function(a,b){n[b.idx]=c(e[b.idx],b)}),this):"object"===m?(e instanceof j?o(k,function(a,b){e[b.cache]&&(l[b.cache]=e[b.cache].slice())}):o(k,function(b,d){var f=d.cache;o(d.props,function(a,b){if(!l[f]&&d.to){if("alpha"===a||null==e[a])return;l[f]=d.to(l._rgba)}l[f][b.idx]=c(e[a],b,!0)}),l[f]&&a.inArray(null,l[f].slice(0,3))<0&&(l[f][3]=1,d.from&&(l._rgba=d.from(l[f])))}),this):void 0},is:function(a){var b=j(a),c=!0,d=this;return o(k,function(a,e){var f,g=b[e.cache];return g&&(f=d[e.cache]||e.to&&e.to(d._rgba)||[],o(e.props,function(a,b){return null!=g[b.idx]?c=g[b.idx]===f[b.idx]:void 0})),c}),c},_space:function(){var a=[],b=this;return o(k,function(c,d){b[d.cache]&&a.push(c)}),a.pop()},transition:function(a,b){var d=j(a),e=d._space(),f=k[e],g=0===this.alpha()?j("transparent"):this,h=g[f.cache]||f.to(g._rgba),i=h.slice();return d=d[f.cache],o(f.props,function(a,e){var f=e.idx,g=h[f],j=d[f],k=l[e.type]||{};null!==j&&(null===g?i[f]=j:(k.mod&&(j-g>k.mod/2?g+=k.mod:g-j>k.mod/2&&(g-=k.mod)),i[f]=c((j-g)*b+g,e)))}),this[e](i)},blend:function(b){if(1===this._rgba[3])return this;var c=this._rgba.slice(),d=c.pop(),e=j(b)._rgba;return j(a.map(c,function(a,b){return(1-d)*e[b]+d*a}))},toRgbaString:function(){var b="rgba(",c=a.map(this._rgba,function(a,b){return null==a?b>2?1:0:a});return 1===c[3]&&(c.pop(),b="rgb("),b+c.join()+")"},toHslaString:function(){var b="hsla(",c=a.map(this.hsla(),function(a,b){return null==a&&(a=b>2?1:0),b&&3>b&&(a=Math.round(100*a)+"%"),a});return 1===c[3]&&(c.pop(),b="hsl("),b+c.join()+")"},toHexString:function(b){var c=this._rgba.slice(),d=c.pop();return b&&c.push(~~(255*d)),"#"+a.map(c,function(a){return a=(a||0).toString(16),1===a.length?"0"+a:a}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),j.fn.parse.prototype=j.fn,k.hsla.to=function(a){if(null==a[0]||null==a[1]||null==a[2])return[null,null,null,a[3]];var b,c,d=a[0]/255,e=a[1]/255,f=a[2]/255,g=a[3],h=Math.max(d,e,f),i=Math.min(d,e,f),j=h-i,k=h+i,l=.5*k;return b=i===h?0:d===h?60*(e-f)/j+360:e===h?60*(f-d)/j+120:60*(d-e)/j+240,c=0===j?0:.5>=l?j/k:j/(2-k),[Math.round(b)%360,c,l,null==g?1:g]},k.hsla.from=function(a){if(null==a[0]||null==a[1]||null==a[2])return[null,null,null,a[3]];var b=a[0]/360,c=a[1],d=a[2],f=a[3],g=.5>=d?d*(1+c):d+c-d*c,h=2*d-g;return[Math.round(255*e(h,g,b+1/3)),Math.round(255*e(h,g,b)),Math.round(255*e(h,g,b-1/3)),f]},o(k,function(d,e){var f=e.props,g=e.cache,i=e.to,k=e.from;j.fn[d]=function(d){if(i&&!this[g]&&(this[g]=i(this._rgba)),d===b)return this[g].slice();var e,h=a.type(d),l="array"===h||"object"===h?d:arguments,m=this[g].slice();return o(f,function(a,b){var d=l["object"===h?a:b.idx];null==d&&(d=m[b.idx]),m[b.idx]=c(d,b)}),k?(e=j(k(m)),e[g]=m,e):j(m)},o(f,function(b,c){j.fn[b]||(j.fn[b]=function(e){var f,g=a.type(e),i="alpha"===b?this._hsla?"hsla":"rgba":d,j=this[i](),k=j[c.idx];return"undefined"===g?k:("function"===g&&(e=e.call(this,k),g=a.type(e)),null==e&&c.empty?this:("string"===g&&(f=h.exec(e),f&&(e=k+parseFloat(f[2])*("+"===f[1]?1:-1))),j[c.idx]=e,this[i](j)))})})}),j.hook=function(b){var c=b.split(" ");o(c,function(b,c){a.cssHooks[c]={set:function(b,e){var f,g,h="";if("transparent"!==e&&("string"!==a.type(e)||(f=d(e)))){if(e=j(f||e),!m.rgba&&1!==e._rgba[3]){for(g="backgroundColor"===c?b.parentNode:b;(""===h||"transparent"===h)&&g&&g.style;)try{h=a.css(g,"backgroundColor"),g=g.parentNode}catch(i){}e=e.blend(h&&"transparent"!==h?h:"_default")}e=e.toRgbaString()}try{b.style[c]=e}catch(i){}}},a.fx.step[c]=function(b){b.colorInit||(b.start=j(b.elem,c),b.end=j(b.end),b.colorInit=!0),a.cssHooks[c].set(b.elem,b.start.transition(b.end,b.pos))}})},j.hook(g),a.cssHooks.borderColor={expand:function(a){var b={};return o(["Top","Right","Bottom","Left"],function(c,d){b["border"+d+"Color"]=a}),b}},f=a.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(t),function(){function b(b){var c,d,e=b.ownerDocument.defaultView?b.ownerDocument.defaultView.getComputedStyle(b,null):b.currentStyle,f={};if(e&&e.length&&e[0]&&e[e[0]])for(d=e.length;d--;)c=e[d],"string"==typeof e[c]&&(f[a.camelCase(c)]=e[c]);else for(c in e)"string"==typeof e[c]&&(f[c]=e[c]);return f}function c(b,c){var d,f,g={};for(d in c)f=c[d],b[d]!==f&&(e[d]||(a.fx.step[d]||!isNaN(parseFloat(f)))&&(g[d]=f));return g}var d=["add","remove","toggle"],e={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};a.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(b,c){a.fx.step[c]=function(a){("none"!==a.end&&!a.setAttr||1===a.pos&&!a.setAttr)&&(t.style(a.elem,c,a.end),a.setAttr=!0)}}),a.fn.addBack||(a.fn.addBack=function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}),a.effects.animateClass=function(e,f,g,h){var i=a.speed(f,g,h);return this.queue(function(){var f,g=a(this),h=g.attr("class")||"",j=i.children?g.find("*").addBack():g;j=j.map(function(){var c=a(this);return{el:c,start:b(this)}}),f=function(){a.each(d,function(a,b){e[b]&&g[b+"Class"](e[b])})},f(),j=j.map(function(){return this.end=b(this.el[0]),this.diff=c(this.start,this.end),this}),g.attr("class",h),j=j.map(function(){var b=this,c=a.Deferred(),d=a.extend({},i,{queue:!1,complete:function(){c.resolve(b)}});return this.el.animate(this.diff,d),c.promise()}),a.when.apply(a,j.get()).done(function(){f(),a.each(arguments,function(){var b=this.el;a.each(this.diff,function(a){b.css(a,"")})}),i.complete.call(g[0])})})},a.fn.extend({addClass:function(b){return function(c,d,e,f){return d?a.effects.animateClass.call(this,{add:c},d,e,f):b.apply(this,arguments)}}(a.fn.addClass),removeClass:function(b){return function(c,d,e,f){return arguments.length>1?a.effects.animateClass.call(this,{remove:c},d,e,f):b.apply(this,arguments)}}(a.fn.removeClass),toggleClass:function(b){return function(c,d,e,f,g){return"boolean"==typeof d||void 0===d?e?a.effects.animateClass.call(this,d?{add:c}:{remove:c},e,f,g):b.apply(this,arguments):a.effects.animateClass.call(this,{toggle:c},d,e,f)}}(a.fn.toggleClass),switchClass:function(b,c,d,e,f){return a.effects.animateClass.call(this,{add:c,remove:b},d,e,f)}})}(),function(){function b(b,c,d,e){return a.isPlainObject(b)&&(c=b,b=b.effect),b={effect:b},null==c&&(c={}),a.isFunction(c)&&(e=c,d=null,c={}),("number"==typeof c||a.fx.speeds[c])&&(e=d,d=c,c={}),a.isFunction(d)&&(e=d,d=null),c&&a.extend(b,c),d=d||c.duration,b.duration=a.fx.off?0:"number"==typeof d?d:d in a.fx.speeds?a.fx.speeds[d]:a.fx.speeds._default,b.complete=e||c.complete,b}function c(b){return!b||"number"==typeof b||a.fx.speeds[b]?!0:"string"!=typeof b||a.effects.effect[b]?a.isFunction(b)?!0:"object"!=typeof b||b.effect?!1:!0:!0}a.extend(a.effects,{version:"1.11.4",save:function(a,b){for(var c=0;c<b.length;c++)null!==b[c]&&a.data(s+b[c],a[0].style[b[c]])},restore:function(a,b){var c,d;for(d=0;d<b.length;d++)null!==b[d]&&(c=a.data(s+b[d]),void 0===c&&(c=""),a.css(b[d],c))},setMode:function(a,b){return"toggle"===b&&(b=a.is(":hidden")?"show":"hide"),b},getBaseline:function(a,b){var c,d;switch(a[0]){case"top":c=0;break;case"middle":c=.5;break;case"bottom":c=1;break;default:c=a[0]/b.height}switch(a[1]){case"left":d=0;break;case"center":d=.5;break;case"right":d=1;break;default:d=a[1]/b.width}return{x:d,y:c}},createWrapper:function(b){if(b.parent().is(".ui-effects-wrapper"))return b.parent();var c={width:b.outerWidth(!0),height:b.outerHeight(!0),"float":b.css("float")},d=a("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),e={width:b.width(),height:b.height()},f=document.activeElement;try{f.id}catch(g){f=document.body}return b.wrap(d),(b[0]===f||a.contains(b[0],f))&&a(f).focus(),d=b.parent(),"static"===b.css("position")?(d.css({position:"relative"}),b.css({position:"relative"})):(a.extend(c,{position:b.css("position"),zIndex:b.css("z-index")}),a.each(["top","left","bottom","right"],function(a,d){c[d]=b.css(d),isNaN(parseInt(c[d],10))&&(c[d]="auto")}),b.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),b.css(e),d.css(c).show()},removeWrapper:function(b){var c=document.activeElement;return b.parent().is(".ui-effects-wrapper")&&(b.parent().replaceWith(b),(b[0]===c||a.contains(b[0],c))&&a(c).focus()),b},setTransition:function(b,c,d,e){return e=e||{},a.each(c,function(a,c){var f=b.cssUnit(c);f[0]>0&&(e[c]=f[0]*d+f[1])}),e}}),a.fn.extend({effect:function(){function c(b){function c(){a.isFunction(f)&&f.call(e[0]),a.isFunction(b)&&b()}var e=a(this),f=d.complete,h=d.mode;(e.is(":hidden")?"hide"===h:"show"===h)?(e[h](),c()):g.call(e[0],d,c)}var d=b.apply(this,arguments),e=d.mode,f=d.queue,g=a.effects.effect[d.effect];return a.fx.off||!g?e?this[e](d.duration,d.complete):this.each(function(){d.complete&&d.complete.call(this)}):f===!1?this.each(c):this.queue(f||"fx",c)},show:function(a){return function(d){if(c(d))return a.apply(this,arguments);var e=b.apply(this,arguments);return e.mode="show",this.effect.call(this,e)}}(a.fn.show),hide:function(a){return function(d){if(c(d))return a.apply(this,arguments);var e=b.apply(this,arguments);return e.mode="hide",this.effect.call(this,e)}}(a.fn.hide),toggle:function(a){return function(d){if(c(d)||"boolean"==typeof d)return a.apply(this,arguments);var e=b.apply(this,arguments);return e.mode="toggle",this.effect.call(this,e)}}(a.fn.toggle),cssUnit:function(b){var c=this.css(b),d=[];return a.each(["em","px","%","pt"],function(a,b){c.indexOf(b)>0&&(d=[parseFloat(c),b])}),d}})}(),function(){var b={};a.each(["Quad","Cubic","Quart","Quint","Expo"],function(a,c){b[c]=function(b){return Math.pow(b,a+2)}}),a.extend(b,{Sine:function(a){return 1-Math.cos(a*Math.PI/2)},Circ:function(a){return 1-Math.sqrt(1-a*a)},Elastic:function(a){return 0===a||1===a?a:-Math.pow(2,8*(a-1))*Math.sin((80*(a-1)-7.5)*Math.PI/15)},Back:function(a){return a*a*(3*a-2)},Bounce:function(a){for(var b,c=4;a<((b=Math.pow(2,--c))-1)/11;);return 1/Math.pow(4,3-c)-7.5625*Math.pow((3*b-2)/22-a,2)}}),a.each(b,function(b,c){a.easing["easeIn"+b]=c,a.easing["easeOut"+b]=function(a){return 1-c(1-a)},a.easing["easeInOut"+b]=function(a){return.5>a?c(2*a)/2:1-c(-2*a+2)/2}})}();a.effects,a.effects.effect.blind=function(b,c){var d,e,f,g=a(this),h=/up|down|vertical/,i=/up|left|vertical|horizontal/,j=["position","top","bottom","left","right","height","width"],k=a.effects.setMode(g,b.mode||"hide"),l=b.direction||"up",m=h.test(l),n=m?"height":"width",o=m?"top":"left",p=i.test(l),q={},r="show"===k;g.parent().is(".ui-effects-wrapper")?a.effects.save(g.parent(),j):a.effects.save(g,j),g.show(),d=a.effects.createWrapper(g).css({overflow:"hidden"}),e=d[n](),f=parseFloat(d.css(o))||0,q[n]=r?e:0,p||(g.css(m?"bottom":"right",0).css(m?"top":"left","auto").css({position:"absolute"}),q[o]=r?f:e+f),r&&(d.css(n,0),p||d.css(o,f+e)),d.animate(q,{duration:b.duration,easing:b.easing,queue:!1,complete:function(){"hide"===k&&g.hide(),a.effects.restore(g,j),a.effects.removeWrapper(g),c()}})},a.effects.effect.bounce=function(b,c){var d,e,f,g=a(this),h=["position","top","bottom","left","right","height","width"],i=a.effects.setMode(g,b.mode||"effect"),j="hide"===i,k="show"===i,l=b.direction||"up",m=b.distance,n=b.times||5,o=2*n+(k||j?1:0),p=b.duration/o,q=b.easing,r="up"===l||"down"===l?"top":"left",s="up"===l||"left"===l,t=g.queue(),u=t.length;for((k||j)&&h.push("opacity"),a.effects.save(g,h),g.show(),a.effects.createWrapper(g),m||(m=g["top"===r?"outerHeight":"outerWidth"]()/3),k&&(f={opacity:1},f[r]=0,g.css("opacity",0).css(r,s?2*-m:2*m).animate(f,p,q)),j&&(m/=Math.pow(2,n-1)),f={},f[r]=0,d=0;n>d;d++)e={},e[r]=(s?"-=":"+=")+m,g.animate(e,p,q).animate(f,p,q),m=j?2*m:m/2;j&&(e={opacity:0},e[r]=(s?"-=":"+=")+m,g.animate(e,p,q)),g.queue(function(){j&&g.hide(),a.effects.restore(g,h),a.effects.removeWrapper(g),c()}),u>1&&t.splice.apply(t,[1,0].concat(t.splice(u,o+1))),g.dequeue()},a.effects.effect.clip=function(b,c){var d,e,f,g=a(this),h=["position","top","bottom","left","right","height","width"],i=a.effects.setMode(g,b.mode||"hide"),j="show"===i,k=b.direction||"vertical",l="vertical"===k,m=l?"height":"width",n=l?"top":"left",o={};a.effects.save(g,h),g.show(),d=a.effects.createWrapper(g).css({overflow:"hidden"}),e="IMG"===g[0].tagName?d:g,f=e[m](),j&&(e.css(m,0),e.css(n,f/2)),o[m]=j?f:0,o[n]=j?0:f/2,e.animate(o,{queue:!1,duration:b.duration,easing:b.easing,complete:function(){j||g.hide(),a.effects.restore(g,h),a.effects.removeWrapper(g),c()}})},a.effects.effect.drop=function(b,c){var d,e=a(this),f=["position","top","bottom","left","right","opacity","height","width"],g=a.effects.setMode(e,b.mode||"hide"),h="show"===g,i=b.direction||"left",j="up"===i||"down"===i?"top":"left",k="up"===i||"left"===i?"pos":"neg",l={opacity:h?1:0};a.effects.save(e,f),e.show(),a.effects.createWrapper(e),d=b.distance||e["top"===j?"outerHeight":"outerWidth"](!0)/2,h&&e.css("opacity",0).css(j,"pos"===k?-d:d),l[j]=(h?"pos"===k?"+=":"-=":"pos"===k?"-=":"+=")+d,e.animate(l,{queue:!1,duration:b.duration,easing:b.easing,complete:function(){"hide"===g&&e.hide(),a.effects.restore(e,f),a.effects.removeWrapper(e),c()}})},a.effects.effect.explode=function(b,c){function d(){t.push(this),t.length===l*m&&e()}function e(){n.css({visibility:"visible"}),a(t).remove(),p||n.hide(),c()}var f,g,h,i,j,k,l=b.pieces?Math.round(Math.sqrt(b.pieces)):3,m=l,n=a(this),o=a.effects.setMode(n,b.mode||"hide"),p="show"===o,q=n.show().css("visibility","hidden").offset(),r=Math.ceil(n.outerWidth()/m),s=Math.ceil(n.outerHeight()/l),t=[];for(f=0;l>f;f++)for(i=q.top+f*s,k=f-(l-1)/2,g=0;m>g;g++)h=q.left+g*r,j=g-(m-1)/2,n.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-g*r,top:-f*s}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:r,height:s,left:h+(p?j*r:0),top:i+(p?k*s:0),opacity:p?0:1}).animate({left:h+(p?0:j*r),top:i+(p?0:k*s),opacity:p?1:0},b.duration||500,b.easing,d)},a.effects.effect.fade=function(b,c){var d=a(this),e=a.effects.setMode(d,b.mode||"toggle");d.animate({opacity:e},{queue:!1,duration:b.duration,easing:b.easing,complete:c})},a.effects.effect.fold=function(b,c){var d,e,f=a(this),g=["position","top","bottom","left","right","height","width"],h=a.effects.setMode(f,b.mode||"hide"),i="show"===h,j="hide"===h,k=b.size||15,l=/([0-9]+)%/.exec(k),m=!!b.horizFirst,n=i!==m,o=n?["width","height"]:["height","width"],p=b.duration/2,q={},r={};a.effects.save(f,g),f.show(),d=a.effects.createWrapper(f).css({overflow:"hidden"}),e=n?[d.width(),d.height()]:[d.height(),d.width()],l&&(k=parseInt(l[1],10)/100*e[j?0:1]),i&&d.css(m?{height:0,width:k}:{height:k,width:0}),q[o[0]]=i?e[0]:k,r[o[1]]=i?e[1]:0,d.animate(q,p,b.easing).animate(r,p,b.easing,function(){j&&f.hide(),a.effects.restore(f,g),a.effects.removeWrapper(f),c()})},a.effects.effect.highlight=function(b,c){var d=a(this),e=["backgroundImage","backgroundColor","opacity"],f=a.effects.setMode(d,b.mode||"show"),g={backgroundColor:d.css("backgroundColor")};"hide"===f&&(g.opacity=0),a.effects.save(d,e),d.show().css({backgroundImage:"none",backgroundColor:b.color||"#ffff99"}).animate(g,{queue:!1,duration:b.duration,easing:b.easing,complete:function(){"hide"===f&&d.hide(),a.effects.restore(d,e),c()}})},a.effects.effect.size=function(b,c){var d,e,f,g=a(this),h=["position","top","bottom","left","right","width","height","overflow","opacity"],i=["position","top","bottom","left","right","overflow","opacity"],j=["width","height","overflow"],k=["fontSize"],l=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],m=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],n=a.effects.setMode(g,b.mode||"effect"),o=b.restore||"effect"!==n,p=b.scale||"both",q=b.origin||["middle","center"],r=g.css("position"),s=o?h:i,t={height:0,width:0,outerHeight:0,outerWidth:0};"show"===n&&g.show(),d={height:g.height(),width:g.width(),outerHeight:g.outerHeight(),outerWidth:g.outerWidth()},"toggle"===b.mode&&"show"===n?(g.from=b.to||t,g.to=b.from||d):(g.from=b.from||("show"===n?t:d),g.to=b.to||("hide"===n?t:d)),f={from:{y:g.from.height/d.height,x:g.from.width/d.width},to:{y:g.to.height/d.height,x:g.to.width/d.width}},("box"===p||"both"===p)&&(f.from.y!==f.to.y&&(s=s.concat(l),g.from=a.effects.setTransition(g,l,f.from.y,g.from),g.to=a.effects.setTransition(g,l,f.to.y,g.to)),f.from.x!==f.to.x&&(s=s.concat(m),g.from=a.effects.setTransition(g,m,f.from.x,g.from),g.to=a.effects.setTransition(g,m,f.to.x,g.to))),("content"===p||"both"===p)&&f.from.y!==f.to.y&&(s=s.concat(k).concat(j),g.from=a.effects.setTransition(g,k,f.from.y,g.from),g.to=a.effects.setTransition(g,k,f.to.y,g.to)),a.effects.save(g,s),g.show(),a.effects.createWrapper(g),g.css("overflow","hidden").css(g.from),q&&(e=a.effects.getBaseline(q,d),g.from.top=(d.outerHeight-g.outerHeight())*e.y,g.from.left=(d.outerWidth-g.outerWidth())*e.x,g.to.top=(d.outerHeight-g.to.outerHeight)*e.y,g.to.left=(d.outerWidth-g.to.outerWidth)*e.x),g.css(g.from),("content"===p||"both"===p)&&(l=l.concat(["marginTop","marginBottom"]).concat(k),m=m.concat(["marginLeft","marginRight"]),j=h.concat(l).concat(m),g.find("*[width]").each(function(){var c=a(this),d={height:c.height(),width:c.width(),outerHeight:c.outerHeight(),outerWidth:c.outerWidth()};o&&a.effects.save(c,j),c.from={height:d.height*f.from.y,width:d.width*f.from.x,outerHeight:d.outerHeight*f.from.y,outerWidth:d.outerWidth*f.from.x},c.to={height:d.height*f.to.y,width:d.width*f.to.x,outerHeight:d.height*f.to.y,outerWidth:d.width*f.to.x},f.from.y!==f.to.y&&(c.from=a.effects.setTransition(c,l,f.from.y,c.from),c.to=a.effects.setTransition(c,l,f.to.y,c.to)),f.from.x!==f.to.x&&(c.from=a.effects.setTransition(c,m,f.from.x,c.from),c.to=a.effects.setTransition(c,m,f.to.x,c.to)),c.css(c.from),c.animate(c.to,b.duration,b.easing,function(){o&&a.effects.restore(c,j)})})),g.animate(g.to,{queue:!1,duration:b.duration,easing:b.easing,complete:function(){0===g.to.opacity&&g.css("opacity",g.from.opacity),"hide"===n&&g.hide(),a.effects.restore(g,s),o||("static"===r?g.css({position:"relative",top:g.to.top,left:g.to.left}):a.each(["top","left"],function(a,b){g.css(b,function(b,c){var d=parseInt(c,10),e=a?g.to.left:g.to.top;return"auto"===c?e+"px":d+e+"px"})})),a.effects.removeWrapper(g),c()}})},a.effects.effect.scale=function(b,c){var d=a(this),e=a.extend(!0,{},b),f=a.effects.setMode(d,b.mode||"effect"),g=parseInt(b.percent,10)||(0===parseInt(b.percent,10)?0:"hide"===f?0:100),h=b.direction||"both",i=b.origin,j={height:d.height(),width:d.width(),outerHeight:d.outerHeight(),outerWidth:d.outerWidth()},k={y:"horizontal"!==h?g/100:1,x:"vertical"!==h?g/100:1};e.effect="size",e.queue=!1,e.complete=c,"effect"!==f&&(e.origin=i||["middle","center"],e.restore=!0),e.from=b.from||("show"===f?{height:0,width:0,outerHeight:0,outerWidth:0}:j),e.to={height:j.height*k.y,width:j.width*k.x,outerHeight:j.outerHeight*k.y,outerWidth:j.outerWidth*k.x},e.fade&&("show"===f&&(e.from.opacity=0,e.to.opacity=1),"hide"===f&&(e.from.opacity=1,e.to.opacity=0)),d.effect(e)},a.effects.effect.puff=function(b,c){var d=a(this),e=a.effects.setMode(d,b.mode||"hide"),f="hide"===e,g=parseInt(b.percent,10)||150,h=g/100,i={height:d.height(),width:d.width(),outerHeight:d.outerHeight(),outerWidth:d.outerWidth()};a.extend(b,{effect:"scale",queue:!1,fade:!0,mode:e,complete:c,percent:f?g:100,from:f?i:{height:i.height*h,width:i.width*h,outerHeight:i.outerHeight*h,outerWidth:i.outerWidth*h}}),d.effect(b)},a.effects.effect.pulsate=function(b,c){var d,e=a(this),f=a.effects.setMode(e,b.mode||"show"),g="show"===f,h="hide"===f,i=g||"hide"===f,j=2*(b.times||5)+(i?1:0),k=b.duration/j,l=0,m=e.queue(),n=m.length;for((g||!e.is(":visible"))&&(e.css("opacity",0).show(),l=1),d=1;j>d;d++)e.animate({opacity:l},k,b.easing),l=1-l;e.animate({opacity:l},k,b.easing),e.queue(function(){h&&e.hide(),c()}),n>1&&m.splice.apply(m,[1,0].concat(m.splice(n,j+1))),e.dequeue()},a.effects.effect.shake=function(b,c){var d,e=a(this),f=["position","top","bottom","left","right","height","width"],g=a.effects.setMode(e,b.mode||"effect"),h=b.direction||"left",i=b.distance||20,j=b.times||3,k=2*j+1,l=Math.round(b.duration/k),m="up"===h||"down"===h?"top":"left",n="up"===h||"left"===h,o={},p={},q={},r=e.queue(),s=r.length;for(a.effects.save(e,f),e.show(),a.effects.createWrapper(e),o[m]=(n?"-=":"+=")+i,p[m]=(n?"+=":"-=")+2*i,q[m]=(n?"-=":"+=")+2*i,e.animate(o,l,b.easing),d=1;j>d;d++)e.animate(p,l,b.easing).animate(q,l,b.easing);e.animate(p,l,b.easing).animate(o,l/2,b.easing).queue(function(){"hide"===g&&e.hide(),a.effects.restore(e,f),a.effects.removeWrapper(e),c()}),s>1&&r.splice.apply(r,[1,0].concat(r.splice(s,k+1))),e.dequeue()},a.effects.effect.slide=function(b,c){var d,e=a(this),f=["position","top","bottom","left","right","width","height"],g=a.effects.setMode(e,b.mode||"show"),h="show"===g,i=b.direction||"left",j="up"===i||"down"===i?"top":"left",k="up"===i||"left"===i,l={};a.effects.save(e,f),e.show(),d=b.distance||e["top"===j?"outerHeight":"outerWidth"](!0),a.effects.createWrapper(e).css({overflow:"hidden"}),h&&e.css(j,k?isNaN(d)?"-"+d:-d:d),l[j]=(h?k?"+=":"-=":k?"-=":"+=")+d,e.animate(l,{queue:!1,duration:b.duration,easing:b.easing,complete:function(){"hide"===g&&e.hide(),a.effects.restore(e,f),a.effects.removeWrapper(e),c()}})},a.effects.effect.transfer=function(b,c){var d=a(this),e=a(b.to),f="fixed"===e.css("position"),g=a("body"),h=f?g.scrollTop():0,i=f?g.scrollLeft():0,j=e.offset(),k={top:j.top-h,left:j.left-i,height:e.innerHeight(),width:e.innerWidth()},l=d.offset(),m=a("<div class='ui-effects-transfer'></div>").appendTo(document.body).addClass(b.className).css({top:l.top-h,left:l.left-i,height:d.innerHeight(),width:d.innerWidth(),position:f?"fixed":"absolute"}).animate(k,b.duration,b.easing,function(){m.remove(),c()})},a.widget("ui.progressbar",{version:"1.11.4",options:{max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min}),this.valueDiv=a("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element),this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove()},value:function(a){return void 0===a?this.options.value:(this.options.value=this._constrainedValue(a),void this._refreshValue())},_constrainedValue:function(a){return void 0===a&&(a=this.options.value),this.indeterminate=a===!1,"number"!=typeof a&&(a=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,a))},_setOptions:function(a){var b=a.value;delete a.value,this._super(a),this.options.value=this._constrainedValue(b),this._refreshValue()},_setOption:function(a,b){"max"===a&&(b=Math.max(this.min,b)),"disabled"===a&&this.element.toggleClass("ui-state-disabled",!!b).attr("aria-disabled",b),this._super(a,b)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var b=this.options.value,c=this._percentage();this.valueDiv.toggle(this.indeterminate||b>this.min).toggleClass("ui-corner-right",b===this.options.max).width(c.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=a("<div class='ui-progressbar-overlay'></div>").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":b}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==b&&(this.oldValue=b,this._trigger("change")),b===this.options.max&&this._trigger("complete")}}),a.widget("ui.selectable",a.ui.mouse,{version:"1.11.4",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var b,c=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){b=a(c.options.filter,c.element[0]),b.addClass("ui-selectee"),b.each(function(){var b=a(this),c=b.offset();a.data(this,"selectable-item",{element:this,$element:b,left:c.left,top:c.top,right:c.left+b.outerWidth(),bottom:c.top+b.outerHeight(),startselected:!1,selected:b.hasClass("ui-selected"),selecting:b.hasClass("ui-selecting"),unselecting:b.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=b.addClass("ui-selectee"),this._mouseInit(),this.helper=a("<div class='ui-selectable-helper'></div>")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(b){var c=this,d=this.options;this.opos=[b.pageX,b.pageY],this.options.disabled||(this.selectees=a(d.filter,this.element[0]),this._trigger("start",b),a(d.appendTo).append(this.helper),this.helper.css({left:b.pageX,top:b.pageY,width:0,height:0}),d.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var d=a.data(this,"selectable-item");d.startselected=!0,b.metaKey||b.ctrlKey||(d.$element.removeClass("ui-selected"),d.selected=!1,d.$element.addClass("ui-unselecting"),d.unselecting=!0,c._trigger("unselecting",b,{unselecting:d.element}))}),a(b.target).parents().addBack().each(function(){var d,e=a.data(this,"selectable-item");return e?(d=!b.metaKey&&!b.ctrlKey||!e.$element.hasClass("ui-selected"),e.$element.removeClass(d?"ui-unselecting":"ui-selected").addClass(d?"ui-selecting":"ui-unselecting"),e.unselecting=!d,e.selecting=d,e.selected=d,d?c._trigger("selecting",b,{selecting:e.element}):c._trigger("unselecting",b,{unselecting:e.element}),!1):void 0}))},_mouseDrag:function(b){if(this.dragged=!0,!this.options.disabled){var c,d=this,e=this.options,f=this.opos[0],g=this.opos[1],h=b.pageX,i=b.pageY;return f>h&&(c=h,h=f,f=c),g>i&&(c=i,i=g,g=c),this.helper.css({left:f,top:g,width:h-f,height:i-g}),this.selectees.each(function(){var c=a.data(this,"selectable-item"),j=!1;c&&c.element!==d.element[0]&&("touch"===e.tolerance?j=!(c.left>h||c.right<f||c.top>i||c.bottom<g):"fit"===e.tolerance&&(j=c.left>f&&c.right<h&&c.top>g&&c.bottom<i),j?(c.selected&&(c.$element.removeClass("ui-selected"),c.selected=!1),c.unselecting&&(c.$element.removeClass("ui-unselecting"),c.unselecting=!1),c.selecting||(c.$element.addClass("ui-selecting"),c.selecting=!0,d._trigger("selecting",b,{selecting:c.element}))):(c.selecting&&((b.metaKey||b.ctrlKey)&&c.startselected?(c.$element.removeClass("ui-selecting"),c.selecting=!1,c.$element.addClass("ui-selected"),
-c.selected=!0):(c.$element.removeClass("ui-selecting"),c.selecting=!1,c.startselected&&(c.$element.addClass("ui-unselecting"),c.unselecting=!0),d._trigger("unselecting",b,{unselecting:c.element}))),c.selected&&(b.metaKey||b.ctrlKey||c.startselected||(c.$element.removeClass("ui-selected"),c.selected=!1,c.$element.addClass("ui-unselecting"),c.unselecting=!0,d._trigger("unselecting",b,{unselecting:c.element})))))}),!1}},_mouseStop:function(b){var c=this;return this.dragged=!1,a(".ui-unselecting",this.element[0]).each(function(){var d=a.data(this,"selectable-item");d.$element.removeClass("ui-unselecting"),d.unselecting=!1,d.startselected=!1,c._trigger("unselected",b,{unselected:d.element})}),a(".ui-selecting",this.element[0]).each(function(){var d=a.data(this,"selectable-item");d.$element.removeClass("ui-selecting").addClass("ui-selected"),d.selecting=!1,d.selected=!0,d.startselected=!0,c._trigger("selected",b,{selected:d.element})}),this._trigger("stop",b),this.helper.remove(),!1}}),a.widget("ui.selectmenu",{version:"1.11.4",defaultElement:"<select>",options:{appendTo:null,disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:null,change:null,close:null,focus:null,open:null,select:null},_create:function(){var a=this.element.uniqueId().attr("id");this.ids={element:a,button:a+"-button",menu:a+"-menu"},this._drawButton(),this._drawMenu(),this.options.disabled&&this.disable()},_drawButton:function(){var b=this;this.label=a("label[for='"+this.ids.element+"']").attr("for",this.ids.button),this._on(this.label,{click:function(a){this.button.focus(),a.preventDefault()}}),this.element.hide(),this.button=a("<span>",{"class":"ui-selectmenu-button ui-widget ui-state-default ui-corner-all",tabindex:this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true"}).insertAfter(this.element),a("<span>",{"class":"ui-icon "+this.options.icons.button}).prependTo(this.button),this.buttonText=a("<span>",{"class":"ui-selectmenu-text"}).appendTo(this.button),this._setText(this.buttonText,this.element.find("option:selected").text()),this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one("focusin",function(){b.menuItems||b._refreshMenu()}),this._hoverable(this.button),this._focusable(this.button)},_drawMenu:function(){var b=this;this.menu=a("<ul>",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=a("<div>",{"class":"ui-selectmenu-menu ui-front"}).append(this.menu).appendTo(this._appendTo()),this.menuInstance=this.menu.menu({role:"listbox",select:function(a,c){a.preventDefault(),b._setSelection(),b._select(c.item.data("ui-selectmenu-item"),a)},focus:function(a,c){var d=c.item.data("ui-selectmenu-item");null!=b.focusIndex&&d.index!==b.focusIndex&&(b._trigger("focus",a,{item:d}),b.isOpen||b._select(d,a)),b.focusIndex=d.index,b.button.attr("aria-activedescendant",b.menuItems.eq(d.index).attr("id"))}}).menu("instance"),this.menu.addClass("ui-corner-bottom").removeClass("ui-corner-all"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this._setText(this.buttonText,this._getSelectedItem().text()),this.options.width||this._resizeButton()},_refreshMenu:function(){this.menu.empty();var a,b=this.element.find("option");b.length&&(this._parseOptions(b),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup"),a=this._getSelectedItem(),this.menuInstance.focus(null,a),this._setAria(a.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(a){this.options.disabled||(this.menuItems?(this.menu.find(".ui-state-focus").removeClass("ui-state-focus"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",a))},_position:function(){this.menuWrap.position(a.extend({of:this.button},this.options.position))},close:function(a){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",a))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderMenu:function(b,c){var d=this,e="";a.each(c,function(c,f){f.optgroup!==e&&(a("<li>",{"class":"ui-selectmenu-optgroup ui-menu-divider"+(f.element.parent("optgroup").prop("disabled")?" ui-state-disabled":""),text:f.optgroup}).appendTo(b),e=f.optgroup),d._renderItemData(b,f)})},_renderItemData:function(a,b){return this._renderItem(a,b).data("ui-selectmenu-item",b)},_renderItem:function(b,c){var d=a("<li>");return c.disabled&&d.addClass("ui-state-disabled"),this._setText(d,c.label),d.appendTo(b)},_setText:function(a,b){b?a.text(b):a.html("&#160;")},_move:function(a,b){var c,d,e=".ui-menu-item";this.isOpen?c=this.menuItems.eq(this.focusIndex):(c=this.menuItems.eq(this.element[0].selectedIndex),e+=":not(.ui-state-disabled)"),d="first"===a||"last"===a?c["first"===a?"prevAll":"nextAll"](e).eq(-1):c[a+"All"](e).eq(0),d.length&&this.menuInstance.focus(b,d)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex)},_toggle:function(a){this[this.isOpen?"close":"open"](a)},_setSelection:function(){var a;this.range&&(window.getSelection?(a=window.getSelection(),a.removeAllRanges(),a.addRange(this.range)):this.range.select(),this.button.focus())},_documentClick:{mousedown:function(b){this.isOpen&&(a(b.target).closest(".ui-selectmenu-menu, #"+this.ids.button).length||this.close(b))}},_buttonEvents:{mousedown:function(){var a;window.getSelection?(a=window.getSelection(),a.rangeCount&&(this.range=a.getRangeAt(0))):this.range=document.selection.createRange()},click:function(a){this._setSelection(),this._toggle(a)},keydown:function(b){var c=!0;switch(b.keyCode){case a.ui.keyCode.TAB:case a.ui.keyCode.ESCAPE:this.close(b),c=!1;break;case a.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(b);break;case a.ui.keyCode.UP:b.altKey?this._toggle(b):this._move("prev",b);break;case a.ui.keyCode.DOWN:b.altKey?this._toggle(b):this._move("next",b);break;case a.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(b):this._toggle(b);break;case a.ui.keyCode.LEFT:this._move("prev",b);break;case a.ui.keyCode.RIGHT:this._move("next",b);break;case a.ui.keyCode.HOME:case a.ui.keyCode.PAGE_UP:this._move("first",b);break;case a.ui.keyCode.END:case a.ui.keyCode.PAGE_DOWN:this._move("last",b);break;default:this.menu.trigger(b),c=!1}c&&b.preventDefault()}},_selectFocusedItem:function(a){var b=this.menuItems.eq(this.focusIndex);b.hasClass("ui-state-disabled")||this._select(b.data("ui-selectmenu-item"),a)},_select:function(a,b){var c=this.element[0].selectedIndex;this.element[0].selectedIndex=a.index,this._setText(this.buttonText,a.label),this._setAria(a),this._trigger("select",b,{item:a}),a.index!==c&&this._trigger("change",b,{item:a}),this.close(b)},_setAria:function(a){var b=this.menuItems.eq(a.index).attr("id");this.button.attr({"aria-labelledby":b,"aria-activedescendant":b}),this.menu.attr("aria-activedescendant",b)},_setOption:function(a,b){"icons"===a&&this.button.find("span.ui-icon").removeClass(this.options.icons.button).addClass(b.button),this._super(a,b),"appendTo"===a&&this.menuWrap.appendTo(this._appendTo()),"disabled"===a&&(this.menuInstance.option("disabled",b),this.button.toggleClass("ui-state-disabled",b).attr("aria-disabled",b),this.element.prop("disabled",b),b?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)),"width"===a&&this._resizeButton()},_appendTo:function(){var b=this.options.appendTo;return b&&(b=b.jquery||b.nodeType?a(b):this.document.find(b).eq(0)),b&&b[0]||(b=this.element.closest(".ui-front")),b.length||(b=this.document[0].body),b},_toggleAttr:function(){this.button.toggleClass("ui-corner-top",this.isOpen).toggleClass("ui-corner-all",!this.isOpen).attr("aria-expanded",this.isOpen),this.menuWrap.toggleClass("ui-selectmenu-open",this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var a=this.options.width;a||(a=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(a)},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){return{disabled:this.element.prop("disabled")}},_parseOptions:function(b){var c=[];b.each(function(b,d){var e=a(d),f=e.parent("optgroup");c.push({element:e,index:b,value:e.val(),label:e.text(),optgroup:f.attr("label")||"",disabled:f.prop("disabled")||e.prop("disabled")})}),this.items=c},_destroy:function(){this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.label.attr("for",this.ids.element)}}),a.widget("ui.slider",a.ui.mouse,{version:"1.11.4",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget ui-widget-content ui-corner-all"),this._refresh(),this._setOption("disabled",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var b,c,d=this.options,e=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),f="<span class='ui-slider-handle ui-state-default ui-corner-all' tabindex='0'></span>",g=[];for(c=d.values&&d.values.length||1,e.length>c&&(e.slice(c).remove(),e=e.slice(0,c)),b=e.length;c>b;b++)g.push(f);this.handles=e.add(a(g.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(b){a(this).data("ui-slider-handle-index",b)})},_createRange:function(){var b=this.options,c="";b.range?(b.range===!0&&(b.values?b.values.length&&2!==b.values.length?b.values=[b.values[0],b.values[0]]:a.isArray(b.values)&&(b.values=b.values.slice(0)):b.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({left:"",bottom:""}):(this.range=a("<div></div>").appendTo(this.element),c="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(c+("min"===b.range||"max"===b.range?" ui-slider-range-"+b.range:""))):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(b){var c,d,e,f,g,h,i,j,k=this,l=this.options;return l.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),c={x:b.pageX,y:b.pageY},d=this._normValueFromMouse(c),e=this._valueMax()-this._valueMin()+1,this.handles.each(function(b){var c=Math.abs(d-k.values(b));(e>c||e===c&&(b===k._lastChangedValue||k.values(b)===l.min))&&(e=c,f=a(this),g=b)}),h=this._start(b,g),h===!1?!1:(this._mouseSliding=!0,this._handleIndex=g,f.addClass("ui-state-active").focus(),i=f.offset(),j=!a(b.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=j?{left:0,top:0}:{left:b.pageX-i.left-f.width()/2,top:b.pageY-i.top-f.height()/2-(parseInt(f.css("borderTopWidth"),10)||0)-(parseInt(f.css("borderBottomWidth"),10)||0)+(parseInt(f.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(b,g,d),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(a){var b={x:a.pageX,y:a.pageY},c=this._normValueFromMouse(b);return this._slide(a,this._handleIndex,c),!1},_mouseStop:function(a){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(a,this._handleIndex),this._change(a,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(a){var b,c,d,e,f;return"horizontal"===this.orientation?(b=this.elementSize.width,c=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(b=this.elementSize.height,c=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),d=c/b,d>1&&(d=1),0>d&&(d=0),"vertical"===this.orientation&&(d=1-d),e=this._valueMax()-this._valueMin(),f=this._valueMin()+d*e,this._trimAlignValue(f)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};return this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("start",a,c)},_slide:function(a,b,c){var d,e,f;this.options.values&&this.options.values.length?(d=this.values(b?0:1),2===this.options.values.length&&this.options.range===!0&&(0===b&&c>d||1===b&&d>c)&&(c=d),c!==this.values(b)&&(e=this.values(),e[b]=c,f=this._trigger("slide",a,{handle:this.handles[b],value:c,values:e}),d=this.values(b?0:1),f!==!1&&this.values(b,c))):c!==this.value()&&(f=this._trigger("slide",a,{handle:this.handles[b],value:c}),f!==!1&&this.value(c))},_stop:function(a,b){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("stop",a,c)},_change:function(a,b){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._lastChangedValue=b,this._trigger("change",a,c)}},value:function(a){return arguments.length?(this.options.value=this._trimAlignValue(a),this._refreshValue(),void this._change(null,0)):this._value()},values:function(b,c){var d,e,f;if(arguments.length>1)return this.options.values[b]=this._trimAlignValue(c),this._refreshValue(),void this._change(null,b);if(!arguments.length)return this._values();if(!a.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(b):this.value();for(d=this.options.values,e=arguments[0],f=0;f<d.length;f+=1)d[f]=this._trimAlignValue(e[f]),this._change(null,f);this._refreshValue()},_setOption:function(b,c){var d,e=0;switch("range"===b&&this.options.range===!0&&("min"===c?(this.options.value=this._values(0),this.options.values=null):"max"===c&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),a.isArray(this.options.values)&&(e=this.options.values.length),"disabled"===b&&this.element.toggleClass("ui-state-disabled",!!c),this._super(b,c),b){case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue(),this.handles.css("horizontal"===c?"bottom":"left","");break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),d=0;e>d;d+=1)this._change(null,d);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_value:function(){var a=this.options.value;return a=this._trimAlignValue(a)},_values:function(a){var b,c,d;if(arguments.length)return b=this.options.values[a],b=this._trimAlignValue(b);if(this.options.values&&this.options.values.length){for(c=this.options.values.slice(),d=0;d<c.length;d+=1)c[d]=this._trimAlignValue(c[d]);return c}return[]},_trimAlignValue:function(a){if(a<=this._valueMin())return this._valueMin();if(a>=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b,d=a-c;return 2*Math.abs(c)>=b&&(d+=c>0?b:-b),parseFloat(d.toFixed(5))},_calculateNewMax:function(){var a=this.options.max,b=this._valueMin(),c=this.options.step,d=Math.floor(+(a-b).toFixed(this._precision())/c)*c;a=d+b,this.max=parseFloat(a.toFixed(this._precision()))},_precision:function(){var a=this._precisionOf(this.options.step);return null!==this.options.min&&(a=Math.max(a,this._precisionOf(this.options.min))),a},_precisionOf:function(a){var b=a.toString(),c=b.indexOf(".");return-1===c?0:b.length-c-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshValue:function(){var b,c,d,e,f,g=this.options.range,h=this.options,i=this,j=this._animateOff?!1:h.animate,k={};this.options.values&&this.options.values.length?this.handles.each(function(d){c=(i.values(d)-i._valueMin())/(i._valueMax()-i._valueMin())*100,k["horizontal"===i.orientation?"left":"bottom"]=c+"%",a(this).stop(1,1)[j?"animate":"css"](k,h.animate),i.options.range===!0&&("horizontal"===i.orientation?(0===d&&i.range.stop(1,1)[j?"animate":"css"]({left:c+"%"},h.animate),1===d&&i.range[j?"animate":"css"]({width:c-b+"%"},{queue:!1,duration:h.animate})):(0===d&&i.range.stop(1,1)[j?"animate":"css"]({bottom:c+"%"},h.animate),1===d&&i.range[j?"animate":"css"]({height:c-b+"%"},{queue:!1,duration:h.animate}))),b=c}):(d=this.value(),e=this._valueMin(),f=this._valueMax(),c=f!==e?(d-e)/(f-e)*100:0,k["horizontal"===this.orientation?"left":"bottom"]=c+"%",this.handle.stop(1,1)[j?"animate":"css"](k,h.animate),"min"===g&&"horizontal"===this.orientation&&this.range.stop(1,1)[j?"animate":"css"]({width:c+"%"},h.animate),"max"===g&&"horizontal"===this.orientation&&this.range[j?"animate":"css"]({width:100-c+"%"},{queue:!1,duration:h.animate}),"min"===g&&"vertical"===this.orientation&&this.range.stop(1,1)[j?"animate":"css"]({height:c+"%"},h.animate),"max"===g&&"vertical"===this.orientation&&this.range[j?"animate":"css"]({height:100-c+"%"},{queue:!1,duration:h.animate}))},_handleEvents:{keydown:function(b){var c,d,e,f,g=a(b.target).data("ui-slider-handle-index");switch(b.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.PAGE_UP:case a.ui.keyCode.PAGE_DOWN:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(b.preventDefault(),!this._keySliding&&(this._keySliding=!0,a(b.target).addClass("ui-state-active"),c=this._start(b,g),c===!1))return}switch(f=this.options.step,d=e=this.options.values&&this.options.values.length?this.values(g):this.value(),b.keyCode){case a.ui.keyCode.HOME:e=this._valueMin();break;case a.ui.keyCode.END:e=this._valueMax();break;case a.ui.keyCode.PAGE_UP:e=this._trimAlignValue(d+(this._valueMax()-this._valueMin())/this.numPages);break;case a.ui.keyCode.PAGE_DOWN:e=this._trimAlignValue(d-(this._valueMax()-this._valueMin())/this.numPages);break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(d===this._valueMax())return;e=this._trimAlignValue(d+f);break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(d===this._valueMin())return;e=this._trimAlignValue(d-f)}this._slide(b,g,e)},keyup:function(b){var c=a(b.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(b,c),this._change(b,c),a(b.target).removeClass("ui-state-active"))}}}),a.widget("ui.sortable",a.ui.mouse,{version:"1.11.4",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(a,b,c){return a>=b&&b+c>a},_isFloating:function(a){return/left|right/.test(a.css("float"))||/inline|table-cell/.test(a.css("display"))},_create:function(){this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(a,b){this._super(a,b),"handle"===a&&this._setHandleClassName()},_setHandleClassName:function(){this.element.find(".ui-sortable-handle").removeClass("ui-sortable-handle"),a.each(this.items,function(){(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item).addClass("ui-sortable-handle")})},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").find(".ui-sortable-handle").removeClass("ui-sortable-handle"),this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(b,c){var d=null,e=!1,f=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(b),a(b.target).parents().each(function(){return a.data(this,f.widgetName+"-item")===f?(d=a(this),!1):void 0}),a.data(b.target,f.widgetName+"-item")===f&&(d=a(b.target)),d&&(!this.options.handle||c||(a(this.options.handle,d).find("*").addBack().each(function(){this===b.target&&(e=!0)}),e))?(this.currentItem=d,this._removeCurrentsFromItems(),!0):!1)},_mouseStart:function(b,c,d){var e,f,g=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(b),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,g.cursorAt&&this._adjustOffsetFromHelper(g.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),g.containment&&this._setContainment(),g.cursor&&"auto"!==g.cursor&&(f=this.document.find("body"),this.storedCursor=f.css("cursor"),f.css("cursor",g.cursor),this.storedStylesheet=a("<style>*{ cursor: "+g.cursor+" !important; }</style>").appendTo(f)),g.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",g.opacity)),g.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",g.zIndex)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",b,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!d)for(e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("activate",b,this._uiHash(this));return a.ui.ddmanager&&(a.ui.ddmanager.current=this),a.ui.ddmanager&&!g.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(b),!0},_mouseDrag:function(b){var c,d,e,f,g=this.options,h=!1;for(this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-b.pageY<g.scrollSensitivity?this.scrollParent[0].scrollTop=h=this.scrollParent[0].scrollTop+g.scrollSpeed:b.pageY-this.overflowOffset.top<g.scrollSensitivity&&(this.scrollParent[0].scrollTop=h=this.scrollParent[0].scrollTop-g.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-b.pageX<g.scrollSensitivity?this.scrollParent[0].scrollLeft=h=this.scrollParent[0].scrollLeft+g.scrollSpeed:b.pageX-this.overflowOffset.left<g.scrollSensitivity&&(this.scrollParent[0].scrollLeft=h=this.scrollParent[0].scrollLeft-g.scrollSpeed)):(b.pageY-this.document.scrollTop()<g.scrollSensitivity?h=this.document.scrollTop(this.document.scrollTop()-g.scrollSpeed):this.window.height()-(b.pageY-this.document.scrollTop())<g.scrollSensitivity&&(h=this.document.scrollTop(this.document.scrollTop()+g.scrollSpeed)),b.pageX-this.document.scrollLeft()<g.scrollSensitivity?h=this.document.scrollLeft(this.document.scrollLeft()-g.scrollSpeed):this.window.width()-(b.pageX-this.document.scrollLeft())<g.scrollSensitivity&&(h=this.document.scrollLeft(this.document.scrollLeft()+g.scrollSpeed))),h!==!1&&a.ui.ddmanager&&!g.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),c=this.items.length-1;c>=0;c--)if(d=this.items[c],e=d.item[0],f=this._intersectsWithPointer(d),f&&d.instance===this.currentContainer&&e!==this.currentItem[0]&&this.placeholder[1===f?"next":"prev"]()[0]!==e&&!a.contains(this.placeholder[0],e)&&("semi-dynamic"===this.options.type?!a.contains(this.element[0],e):!0)){if(this.direction=1===f?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(d))break;this._rearrange(b,d),this._trigger("change",b,this._uiHash());break}return this._contactContainers(b),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),this._trigger("sort",b,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(b,c){if(b){if(a.ui.ddmanager&&!this.options.dropBehaviour&&a.ui.ddmanager.drop(this,b),this.options.revert){var d=this,e=this.placeholder.offset(),f=this.options.axis,g={};f&&"x"!==f||(g.left=e.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),f&&"y"!==f||(g.top=e.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,a(this.helper).animate(g,parseInt(this.options.revert,10)||500,function(){d._clear(b)})}else this._clear(b,c);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--)this.containers[b]._trigger("deactivate",null,this._uiHash(this)),this.containers[b].containerCache.over&&(this.containers[b]._trigger("out",null,this._uiHash(this)),this.containers[b].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),a.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?a(this.domPosition.prev).after(this.currentItem):a(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},a(c).each(function(){var c=(a(b.item||this).attr(b.attribute||"id")||"").match(b.expression||/(.+)[\-=_](.+)/);c&&d.push((b.key||c[1]+"[]")+"="+(b.key&&b.expression?c[1]:c[2]))}),!d.length&&b.key&&d.push(b.key+"="),d.join("&")},toArray:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},c.each(function(){d.push(a(b.item||this).attr(b.attribute||"id")||"")}),d},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,d=this.positionAbs.top,e=d+this.helperProportions.height,f=a.left,g=f+a.width,h=a.top,i=h+a.height,j=this.offset.click.top,k=this.offset.click.left,l="x"===this.options.axis||d+j>h&&i>d+j,m="y"===this.options.axis||b+k>f&&g>b+k,n=l&&m;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?n:f<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<g&&h<d+this.helperProportions.height/2&&e-this.helperProportions.height/2<i},_intersectsWithPointer:function(a){var b="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,a.top,a.height),c="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,a.left,a.width),d=b&&c,e=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();return d?this.floating?f&&"right"===f||"down"===e?2:1:e&&("down"===e?2:1):!1},_intersectsWithSides:function(a){var b=this._isOverAxis(this.positionAbs.top+this.offset.click.top,a.top+a.height/2,a.height),c=this._isOverAxis(this.positionAbs.left+this.offset.click.left,a.left+a.width/2,a.width),d=this._getDragVerticalDirection(),e=this._getDragHorizontalDirection();return this.floating&&e?"right"===e&&c||"left"===e&&!c:d&&("down"===d&&b||"up"===d&&!b)},_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return 0!==a&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return 0!==a&&(a>0?"right":"left")},refresh:function(a){return this._refreshItems(a),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var a=this.options;return a.connectWith.constructor===String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(b){function c(){h.push(this)}var d,e,f,g,h=[],i=[],j=this._connectWith();if(j&&b)for(d=j.length-1;d>=0;d--)for(f=a(j[d],this.document[0]),e=f.length-1;e>=0;e--)g=a.data(f[e],this.widgetFullName),g&&g!==this&&!g.options.disabled&&i.push([a.isFunction(g.options.items)?g.options.items.call(g.element):a(g.options.items,g.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),g]);for(i.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),d=i.length-1;d>=0;d--)i[d][0].each(c);return a(h)},_removeCurrentsFromItems:function(){var b=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=a.grep(this.items,function(a){for(var c=0;c<b.length;c++)if(b[c]===a.item[0])return!1;return!0})},_refreshItems:function(b){this.items=[],this.containers=[this];var c,d,e,f,g,h,i,j,k=this.items,l=[[a.isFunction(this.options.items)?this.options.items.call(this.element[0],b,{item:this.currentItem}):a(this.options.items,this.element),this]],m=this._connectWith();if(m&&this.ready)for(c=m.length-1;c>=0;c--)for(e=a(m[c],this.document[0]),d=e.length-1;d>=0;d--)f=a.data(e[d],this.widgetFullName),f&&f!==this&&!f.options.disabled&&(l.push([a.isFunction(f.options.items)?f.options.items.call(f.element[0],b,{item:this.currentItem}):a(f.options.items,f.element),f]),this.containers.push(f));for(c=l.length-1;c>=0;c--)for(g=l[c][1],h=l[c][0],d=0,j=h.length;j>d;d++)i=a(h[d]),i.data(this.widgetName+"-item",g),k.push({item:i,instance:g,width:0,height:0,left:0,top:0})},refreshPositions:function(b){this.floating=this.items.length?"x"===this.options.axis||this._isFloating(this.items[0].item):!1,this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var c,d,e,f;for(c=this.items.length-1;c>=0;c--)d=this.items[c],d.instance!==this.currentContainer&&this.currentContainer&&d.item[0]!==this.currentItem[0]||(e=this.options.toleranceElement?a(this.options.toleranceElement,d.item):d.item,
-b||(d.width=e.outerWidth(),d.height=e.outerHeight()),f=e.offset(),d.left=f.left,d.top=f.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(c=this.containers.length-1;c>=0;c--)f=this.containers[c].element.offset(),this.containers[c].containerCache.left=f.left,this.containers[c].containerCache.top=f.top,this.containers[c].containerCache.width=this.containers[c].element.outerWidth(),this.containers[c].containerCache.height=this.containers[c].element.outerHeight();return this},_createPlaceholder:function(b){b=b||this;var c,d=b.options;d.placeholder&&d.placeholder.constructor!==String||(c=d.placeholder,d.placeholder={element:function(){var d=b.currentItem[0].nodeName.toLowerCase(),e=a("<"+d+">",b.document[0]).addClass(c||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tbody"===d?b._createTrPlaceholder(b.currentItem.find("tr").eq(0),a("<tr>",b.document[0]).appendTo(e)):"tr"===d?b._createTrPlaceholder(b.currentItem,e):"img"===d&&e.attr("src",b.currentItem.attr("src")),c||e.css("visibility","hidden"),e},update:function(a,e){(!c||d.forcePlaceholderSize)&&(e.height()||e.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10)),e.width()||e.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10)))}}),b.placeholder=a(d.placeholder.element.call(b.element,b.currentItem)),b.currentItem.after(b.placeholder),d.placeholder.update(b,b.placeholder)},_createTrPlaceholder:function(b,c){var d=this;b.children().each(function(){a("<td>&#160;</td>",d.document[0]).attr("colspan",a(this).attr("colspan")||1).appendTo(c)})},_contactContainers:function(b){var c,d,e,f,g,h,i,j,k,l,m=null,n=null;for(c=this.containers.length-1;c>=0;c--)if(!a.contains(this.currentItem[0],this.containers[c].element[0]))if(this._intersectsWith(this.containers[c].containerCache)){if(m&&a.contains(this.containers[c].element[0],m.element[0]))continue;m=this.containers[c],n=c}else this.containers[c].containerCache.over&&(this.containers[c]._trigger("out",b,this._uiHash(this)),this.containers[c].containerCache.over=0);if(m)if(1===this.containers.length)this.containers[n].containerCache.over||(this.containers[n]._trigger("over",b,this._uiHash(this)),this.containers[n].containerCache.over=1);else{for(e=1e4,f=null,k=m.floating||this._isFloating(this.currentItem),g=k?"left":"top",h=k?"width":"height",l=k?"clientX":"clientY",d=this.items.length-1;d>=0;d--)a.contains(this.containers[n].element[0],this.items[d].item[0])&&this.items[d].item[0]!==this.currentItem[0]&&(i=this.items[d].item.offset()[g],j=!1,b[l]-i>this.items[d][h]/2&&(j=!0),Math.abs(b[l]-i)<e&&(e=Math.abs(b[l]-i),f=this.items[d],this.direction=j?"up":"down"));if(!f&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[n])return void(this.currentContainer.containerCache.over||(this.containers[n]._trigger("over",b,this._uiHash()),this.currentContainer.containerCache.over=1));f?this._rearrange(b,f,null,!0):this._rearrange(b,null,this.containers[n].element,!0),this._trigger("change",b,this._uiHash()),this.containers[n]._trigger("change",b,this._uiHash(this)),this.currentContainer=this.containers[n],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[n]._trigger("over",b,this._uiHash(this)),this.containers[n].containerCache.over=1}},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b,this.currentItem])):"clone"===c.helper?this.currentItem.clone():this.currentItem;return d.parents("body").length||a("parent"!==c.appendTo?c.appendTo:this.currentItem[0].parentNode)[0].appendChild(d[0]),d[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!d[0].style.width||c.forceHelperSize)&&d.width(this.currentItem.width()),(!d[0].style.height||c.forceHelperSize)&&d.height(this.currentItem.height()),d},_adjustOffsetFromHelper:function(b){"string"==typeof b&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&a.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&a.ui.ie)&&(b={top:0,left:0}),{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b,c,d,e=this.options;"parent"===e.containment&&(e.containment=this.helper[0].parentNode),("document"===e.containment||"window"===e.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,"document"===e.containment?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,("document"===e.containment?this.document.width():this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(e.containment)||(b=a(e.containment)[0],c=a(e.containment).offset(),d="hidden"!==a(b).css("overflow"),this.containment=[c.left+(parseInt(a(b).css("borderLeftWidth"),10)||0)+(parseInt(a(b).css("paddingLeft"),10)||0)-this.margins.left,c.top+(parseInt(a(b).css("borderTopWidth"),10)||0)+(parseInt(a(b).css("paddingTop"),10)||0)-this.margins.top,c.left+(d?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(a(b).css("borderLeftWidth"),10)||0)-(parseInt(a(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,c.top+(d?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(a(b).css("borderTopWidth"),10)||0)-(parseInt(a(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(b,c){c||(c=this.position);var d="absolute"===b?1:-1,e="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,f=/(html|body)/i.test(e[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():f?0:e.scrollTop())*d,left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():f?0:e.scrollLeft())*d}},_generatePosition:function(b){var c,d,e=this.options,f=b.pageX,g=b.pageY,h="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,i=/(html|body)/i.test(h[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(b.pageX-this.offset.click.left<this.containment[0]&&(f=this.containment[0]+this.offset.click.left),b.pageY-this.offset.click.top<this.containment[1]&&(g=this.containment[1]+this.offset.click.top),b.pageX-this.offset.click.left>this.containment[2]&&(f=this.containment[2]+this.offset.click.left),b.pageY-this.offset.click.top>this.containment[3]&&(g=this.containment[3]+this.offset.click.top)),e.grid&&(c=this.originalPageY+Math.round((g-this.originalPageY)/e.grid[1])*e.grid[1],g=this.containment?c-this.offset.click.top>=this.containment[1]&&c-this.offset.click.top<=this.containment[3]?c:c-this.offset.click.top>=this.containment[1]?c-e.grid[1]:c+e.grid[1]:c,d=this.originalPageX+Math.round((f-this.originalPageX)/e.grid[0])*e.grid[0],f=this.containment?d-this.offset.click.left>=this.containment[0]&&d-this.offset.click.left<=this.containment[2]?d:d-this.offset.click.left>=this.containment[0]?d-e.grid[0]:d+e.grid[0]:d)),{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():i?0:h.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():i?0:h.scrollLeft())}},_rearrange:function(a,b,c,d){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?b.item[0]:b.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var e=this.counter;this._delay(function(){e===this.counter&&this.refreshPositions(!d)})},_clear:function(a,b){function c(a,b,c){return function(d){c._trigger(a,d,b._uiHash(b))}}this.reverting=!1;var d,e=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(d in this._storedCSS)("auto"===this._storedCSS[d]||"static"===this._storedCSS[d])&&(this._storedCSS[d]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!b&&e.push(function(a){this._trigger("receive",a,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||b||e.push(function(a){this._trigger("update",a,this._uiHash())}),this!==this.currentContainer&&(b||(e.push(function(a){this._trigger("remove",a,this._uiHash())}),e.push(function(a){return function(b){a._trigger("receive",b,this._uiHash(this))}}.call(this,this.currentContainer)),e.push(function(a){return function(b){a._trigger("update",b,this._uiHash(this))}}.call(this,this.currentContainer)))),d=this.containers.length-1;d>=0;d--)b||e.push(c("deactivate",this,this.containers[d])),this.containers[d].containerCache.over&&(e.push(c("out",this,this.containers[d])),this.containers[d].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,b||this._trigger("beforeStop",a,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!b){for(d=0;d<e.length;d++)e[d].call(this,a);this._trigger("stop",a,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){a.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(b){var c=b||this;return{helper:c.helper,placeholder:c.placeholder||a([]),position:c.position,originalPosition:c.originalPosition,offset:c.positionAbs,item:c.currentItem,sender:b?b.element:null}}}),a.widget("ui.spinner",{version:"1.11.4",defaultElement:"<input>",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var b={},c=this.element;return a.each(["min","max","step"],function(a,d){var e=c.attr(d);void 0!==e&&e.length&&(b[d]=e)}),b},_events:{keydown:function(a){this._start(a)&&this._keydown(a)&&a.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(a){return this.cancelBlur?void delete this.cancelBlur:(this._stop(),this._refresh(),void(this.previous!==this.element.val()&&this._trigger("change",a)))},mousewheel:function(a,b){if(b){if(!this.spinning&&!this._start(a))return!1;this._spin((b>0?1:-1)*this.options.step,a),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(a)},100),a.preventDefault()}},"mousedown .ui-spinner-button":function(b){function c(){var a=this.element[0]===this.document[0].activeElement;a||(this.element.focus(),this.previous=d,this._delay(function(){this.previous=d}))}var d;d=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),b.preventDefault(),c.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,c.call(this)}),this._start(b)!==!1&&this._repeat(null,a(b.currentTarget).hasClass("ui-spinner-up")?1:-1,b)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(b){return a(b.currentTarget).hasClass("ui-state-active")?this._start(b)===!1?!1:void this._repeat(null,a(b.currentTarget).hasClass("ui-spinner-up")?1:-1,b):void 0},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var a=this.uiSpinner=this.element.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr("role","spinbutton"),this.buttons=a.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(.5*a.height())&&a.height()>0&&a.height(a.height()),this.options.disabled&&this.disable()},_keydown:function(b){var c=this.options,d=a.ui.keyCode;switch(b.keyCode){case d.UP:return this._repeat(null,1,b),!0;case d.DOWN:return this._repeat(null,-1,b),!0;case d.PAGE_UP:return this._repeat(null,c.page,b),!0;case d.PAGE_DOWN:return this._repeat(null,-c.page,b),!0}return!1},_uiSpinnerHtml:function(){return"<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>"},_buttonHtml:function(){return"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'><span class='ui-icon "+this.options.icons.up+"'>&#9650;</span></a><a class='ui-spinner-button ui-spinner-down ui-corner-br'><span class='ui-icon "+this.options.icons.down+"'>&#9660;</span></a>"},_start:function(a){return this.spinning||this._trigger("start",a)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(a,b,c){a=a||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,b,c)},a),this._spin(b*this.options.step,c)},_spin:function(a,b){var c=this.value()||0;this.counter||(this.counter=1),c=this._adjustValue(c+a*this._increment(this.counter)),this.spinning&&this._trigger("spin",b,{value:c})===!1||(this._value(c),this.counter++)},_increment:function(b){var c=this.options.incremental;return c?a.isFunction(c)?c(b):Math.floor(b*b*b/5e4-b*b/500+17*b/200+1):1},_precision:function(){var a=this._precisionOf(this.options.step);return null!==this.options.min&&(a=Math.max(a,this._precisionOf(this.options.min))),a},_precisionOf:function(a){var b=a.toString(),c=b.indexOf(".");return-1===c?0:b.length-c-1},_adjustValue:function(a){var b,c,d=this.options;return b=null!==d.min?d.min:0,c=a-b,c=Math.round(c/d.step)*d.step,a=b+c,a=parseFloat(a.toFixed(this._precision())),null!==d.max&&a>d.max?d.max:null!==d.min&&a<d.min?d.min:a},_stop:function(a){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",a))},_setOption:function(a,b){if("culture"===a||"numberFormat"===a){var c=this._parse(this.element.val());return this.options[a]=b,void this.element.val(this._format(c))}("max"===a||"min"===a||"step"===a)&&"string"==typeof b&&(b=this._parse(b)),"icons"===a&&(this.buttons.first().find(".ui-icon").removeClass(this.options.icons.up).addClass(b.up),this.buttons.last().find(".ui-icon").removeClass(this.options.icons.down).addClass(b.down)),this._super(a,b),"disabled"===a&&(this.widget().toggleClass("ui-state-disabled",!!b),this.element.prop("disabled",!!b),this.buttons.button(b?"disable":"enable"))},_setOptions:i(function(a){this._super(a)}),_parse:function(a){return"string"==typeof a&&""!==a&&(a=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(a,10,this.options.culture):+a),""===a||isNaN(a)?null:a},_format:function(a){return""===a?"":window.Globalize&&this.options.numberFormat?Globalize.format(a,this.options.numberFormat,this.options.culture):a},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},isValid:function(){var a=this.value();return null===a?!1:a===this._adjustValue(a)},_value:function(a,b){var c;""!==a&&(c=this._parse(a),null!==c&&(b||(c=this._adjustValue(c)),a=this._format(c))),this.element.val(a),this._refresh()},_destroy:function(){this.element.removeClass("ui-spinner-input").prop("disabled",!1).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:i(function(a){this._stepUp(a)}),_stepUp:function(a){this._start()&&(this._spin((a||1)*this.options.step),this._stop())},stepDown:i(function(a){this._stepDown(a)}),_stepDown:function(a){this._start()&&(this._spin((a||1)*-this.options.step),this._stop())},pageUp:i(function(a){this._stepUp((a||1)*this.options.page)}),pageDown:i(function(a){this._stepDown((a||1)*this.options.page)}),value:function(a){return arguments.length?void i(this._value).call(this,a):this._parse(this.element.val())},widget:function(){return this.uiSpinner}}),a.widget("ui.tabs",{version:"1.11.4",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var a=/#.*$/;return function(b){var c,d;b=b.cloneNode(!1),c=b.href.replace(a,""),d=location.href.replace(a,"");try{c=decodeURIComponent(c)}catch(e){}try{d=decodeURIComponent(d)}catch(e){}return b.hash.length>1&&c===d}}(),_create:function(){var b=this,c=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",c.collapsible),this._processTabs(),c.active=this._initialActive(),a.isArray(c.disabled)&&(c.disabled=a.unique(c.disabled.concat(a.map(this.tabs.filter(".ui-state-disabled"),function(a){return b.tabs.index(a)}))).sort()),this.options.active!==!1&&this.anchors.length?this.active=this._findActive(c.active):this.active=a(),this._refresh(),this.active.length&&this.load(c.active)},_initialActive:function(){var b=this.options.active,c=this.options.collapsible,d=location.hash.substring(1);return null===b&&(d&&this.tabs.each(function(c,e){return a(e).attr("aria-controls")===d?(b=c,!1):void 0}),null===b&&(b=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===b||-1===b)&&(b=this.tabs.length?0:!1)),b!==!1&&(b=this.tabs.index(this.tabs.eq(b)),-1===b&&(b=c?!1:0)),!c&&b===!1&&this.anchors.length&&(b=0),b},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):a()}},_tabKeydown:function(b){var c=a(this.document[0].activeElement).closest("li"),d=this.tabs.index(c),e=!0;if(!this._handlePageNav(b)){switch(b.keyCode){case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:d++;break;case a.ui.keyCode.UP:case a.ui.keyCode.LEFT:e=!1,d--;break;case a.ui.keyCode.END:d=this.anchors.length-1;break;case a.ui.keyCode.HOME:d=0;break;case a.ui.keyCode.SPACE:return b.preventDefault(),clearTimeout(this.activating),void this._activate(d);case a.ui.keyCode.ENTER:return b.preventDefault(),clearTimeout(this.activating),void this._activate(d===this.options.active?!1:d);default:return}b.preventDefault(),clearTimeout(this.activating),d=this._focusNextTab(d,e),b.ctrlKey||b.metaKey||(c.attr("aria-selected","false"),this.tabs.eq(d).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",d)},this.delay))}},_panelKeydown:function(b){this._handlePageNav(b)||b.ctrlKey&&b.keyCode===a.ui.keyCode.UP&&(b.preventDefault(),this.active.focus())},_handlePageNav:function(b){return b.altKey&&b.keyCode===a.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):b.altKey&&b.keyCode===a.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(b,c){function d(){return b>e&&(b=0),0>b&&(b=e),b}for(var e=this.tabs.length-1;-1!==a.inArray(d(),this.options.disabled);)b=c?b+1:b-1;return b},_focusNextTab:function(a,b){return a=this._findNextTab(a,b),this.tabs.eq(a).focus(),a},_setOption:function(a,b){return"active"===a?void this._activate(b):"disabled"===a?void this._setupDisabled(b):(this._super(a,b),"collapsible"===a&&(this.element.toggleClass("ui-tabs-collapsible",b),b||this.options.active!==!1||this._activate(0)),"event"===a&&this._setupEvents(b),void("heightStyle"===a&&this._setupHeightStyle(b)))},_sanitizeSelector:function(a){return a?a.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var b=this.options,c=this.tablist.children(":has(a[href])");b.disabled=a.map(c.filter(".ui-state-disabled"),function(a){return c.index(a)}),this._processTabs(),b.active!==!1&&this.anchors.length?this.active.length&&!a.contains(this.tablist[0],this.active[0])?this.tabs.length===b.disabled.length?(b.active=!1,this.active=a()):this._activate(this._findNextTab(Math.max(0,b.active-1),!1)):b.active=this.tabs.index(this.active):(b.active=!1,this.active=a()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var b=this,c=this.tabs,d=this.anchors,e=this.panels;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist").delegate("> li","mousedown"+this.eventNamespace,function(b){a(this).is(".ui-state-disabled")&&b.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){a(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return a("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=a(),this.anchors.each(function(c,d){var e,f,g,h=a(d).uniqueId().attr("id"),i=a(d).closest("li"),j=i.attr("aria-controls");b._isLocal(d)?(e=d.hash,g=e.substring(1),f=b.element.find(b._sanitizeSelector(e))):(g=i.attr("aria-controls")||a({}).uniqueId()[0].id,e="#"+g,f=b.element.find(e),f.length||(f=b._createPanel(g),f.insertAfter(b.panels[c-1]||b.tablist)),f.attr("aria-live","polite")),f.length&&(b.panels=b.panels.add(f)),j&&i.data("ui-tabs-aria-controls",j),i.attr({"aria-controls":g,"aria-labelledby":h}),f.attr("aria-labelledby",h)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel"),c&&(this._off(c.not(this.tabs)),this._off(d.not(this.anchors)),this._off(e.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol,ul").eq(0)},_createPanel:function(b){return a("<div>").attr("id",b).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(b){a.isArray(b)&&(b.length?b.length===this.anchors.length&&(b=!0):b=!1);for(var c,d=0;c=this.tabs[d];d++)b===!0||-1!==a.inArray(d,b)?a(c).addClass("ui-state-disabled").attr("aria-disabled","true"):a(c).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=b},_setupEvents:function(b){var c={};b&&a.each(b.split(" "),function(a,b){c[b]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(a){a.preventDefault()}}),this._on(this.anchors,c),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(b){var c,d=this.element.parent();"fill"===b?(c=d.height(),c-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var b=a(this),d=b.css("position");"absolute"!==d&&"fixed"!==d&&(c-=b.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){c-=a(this).outerHeight(!0)}),this.panels.each(function(){a(this).height(Math.max(0,c-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")):"auto"===b&&(c=0,this.panels.each(function(){c=Math.max(c,a(this).height("").height())}).height(c))},_eventHandler:function(b){var c=this.options,d=this.active,e=a(b.currentTarget),f=e.closest("li"),g=f[0]===d[0],h=g&&c.collapsible,i=h?a():this._getPanelForTab(f),j=d.length?this._getPanelForTab(d):a(),k={oldTab:d,oldPanel:j,newTab:h?a():f,newPanel:i};b.preventDefault(),f.hasClass("ui-state-disabled")||f.hasClass("ui-tabs-loading")||this.running||g&&!c.collapsible||this._trigger("beforeActivate",b,k)===!1||(c.active=h?!1:this.tabs.index(f),this.active=g?a():f,this.xhr&&this.xhr.abort(),j.length||i.length||a.error("jQuery UI Tabs: Mismatching fragment identifier."),i.length&&this.load(this.tabs.index(f),b),this._toggle(b,k))},_toggle:function(b,c){function d(){f.running=!1,f._trigger("activate",b,c)}function e(){c.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),g.length&&f.options.show?f._show(g,f.options.show,d):(g.show(),d())}var f=this,g=c.newPanel,h=c.oldPanel;this.running=!0,h.length&&this.options.hide?this._hide(h,this.options.hide,function(){c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),e()}):(c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),h.hide(),e()),h.attr("aria-hidden","true"),c.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),g.length&&h.length?c.oldTab.attr("tabIndex",-1):g.length&&this.tabs.filter(function(){return 0===a(this).attr("tabIndex")}).attr("tabIndex",-1),g.attr("aria-hidden","false"),c.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(b){var c,d=this._findActive(b);d[0]!==this.active[0]&&(d.length||(d=this.active),c=d.find(".ui-tabs-anchor")[0],this._eventHandler({target:c,currentTarget:c,preventDefault:a.noop}))},_findActive:function(b){return b===!1?a():this.tabs.eq(b)},_getIndex:function(a){return"string"==typeof a&&(a=this.anchors.index(this.anchors.filter("[href$='"+a+"']"))),a},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tablist.unbind(this.eventNamespace),this.tabs.add(this.panels).each(function(){a.data(this,"ui-tabs-destroy")?a(this).remove():a(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var b=a(this),c=b.data("ui-tabs-aria-controls");c?b.attr("aria-controls",c).removeData("ui-tabs-aria-controls"):b.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(b){var c=this.options.disabled;c!==!1&&(void 0===b?c=!1:(b=this._getIndex(b),c=a.isArray(c)?a.map(c,function(a){return a!==b?a:null}):a.map(this.tabs,function(a,c){return c!==b?c:null})),this._setupDisabled(c))},disable:function(b){var c=this.options.disabled;if(c!==!0){if(void 0===b)c=!0;else{if(b=this._getIndex(b),-1!==a.inArray(b,c))return;c=a.isArray(c)?a.merge([b],c).sort():[b]}this._setupDisabled(c)}},load:function(b,c){b=this._getIndex(b);var d=this,e=this.tabs.eq(b),f=e.find(".ui-tabs-anchor"),g=this._getPanelForTab(e),h={tab:e,panel:g},i=function(a,b){"abort"===b&&d.panels.stop(!1,!0),e.removeClass("ui-tabs-loading"),g.removeAttr("aria-busy"),a===d.xhr&&delete d.xhr};this._isLocal(f[0])||(this.xhr=a.ajax(this._ajaxSettings(f,c,h)),this.xhr&&"canceled"!==this.xhr.statusText&&(e.addClass("ui-tabs-loading"),g.attr("aria-busy","true"),this.xhr.done(function(a,b,e){setTimeout(function(){g.html(a),d._trigger("load",c,h),i(e,b)},1)}).fail(function(a,b){setTimeout(function(){i(a,b)},1)})))},_ajaxSettings:function(b,c,d){var e=this;return{url:b.attr("href"),beforeSend:function(b,f){return e._trigger("beforeLoad",c,a.extend({jqXHR:b,ajaxSettings:f},d))}}},_getPanelForTab:function(b){var c=a(b).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+c))}}),a.widget("ui.tooltip",{version:"1.11.4",options:{content:function(){var b=a(this).attr("title")||"";return a("<a>").text(b).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_addDescribedBy:function(b,c){var d=(b.attr("aria-describedby")||"").split(/\s+/);d.push(c),b.data("ui-tooltip-id",c).attr("aria-describedby",a.trim(d.join(" ")))},_removeDescribedBy:function(b){var c=b.data("ui-tooltip-id"),d=(b.attr("aria-describedby")||"").split(/\s+/),e=a.inArray(c,d);-1!==e&&d.splice(e,1),b.removeData("ui-tooltip-id"),d=a.trim(d.join(" ")),d?b.attr("aria-describedby",d):b.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable(),this.liveRegion=a("<div>").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body)},_setOption:function(b,c){var d=this;return"disabled"===b?(this[c?"_disable":"_enable"](),void(this.options[b]=c)):(this._super(b,c),void("content"===b&&a.each(this.tooltips,function(a,b){d._updateContent(b.element)})))},_disable:function(){var b=this;a.each(this.tooltips,function(c,d){var e=a.Event("blur");e.target=e.currentTarget=d.element[0],b.close(e,!0)}),this.element.find(this.options.items).addBack().each(function(){var b=a(this);b.is("[title]")&&b.data("ui-tooltip-title",b.attr("title")).removeAttr("title");
-})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var b=a(this);b.data("ui-tooltip-title")&&b.attr("title",b.data("ui-tooltip-title"))})},open:function(b){var c=this,d=a(b?b.target:this.element).closest(this.options.items);d.length&&!d.data("ui-tooltip-id")&&(d.attr("title")&&d.data("ui-tooltip-title",d.attr("title")),d.data("ui-tooltip-open",!0),b&&"mouseover"===b.type&&d.parents().each(function(){var b,d=a(this);d.data("ui-tooltip-open")&&(b=a.Event("blur"),b.target=b.currentTarget=this,c.close(b,!0)),d.attr("title")&&(d.uniqueId(),c.parents[this.id]={element:this,title:d.attr("title")},d.attr("title",""))}),this._registerCloseHandlers(b,d),this._updateContent(d,b))},_updateContent:function(a,b){var c,d=this.options.content,e=this,f=b?b.type:null;return"string"==typeof d?this._open(b,a,d):(c=d.call(a[0],function(c){e._delay(function(){a.data("ui-tooltip-open")&&(b&&(b.type=f),this._open(b,a,c))})}),void(c&&this._open(b,a,c)))},_open:function(b,c,d){function e(a){j.of=a,g.is(":hidden")||g.position(j)}var f,g,h,i,j=a.extend({},this.options.position);if(d){if(f=this._find(c))return void f.tooltip.find(".ui-tooltip-content").html(d);c.is("[title]")&&(b&&"mouseover"===b.type?c.attr("title",""):c.removeAttr("title")),f=this._tooltip(c),g=f.tooltip,this._addDescribedBy(c,g.attr("id")),g.find(".ui-tooltip-content").html(d),this.liveRegion.children().hide(),d.clone?(i=d.clone(),i.removeAttr("id").find("[id]").removeAttr("id")):i=d,a("<div>").html(i).appendTo(this.liveRegion),this.options.track&&b&&/^mouse/.test(b.type)?(this._on(this.document,{mousemove:e}),e(b)):g.position(a.extend({of:c},this.options.position)),g.hide(),this._show(g,this.options.show),this.options.show&&this.options.show.delay&&(h=this.delayedShow=setInterval(function(){g.is(":visible")&&(e(j.of),clearInterval(h))},a.fx.interval)),this._trigger("open",b,{tooltip:g})}},_registerCloseHandlers:function(b,c){var d={keyup:function(b){if(b.keyCode===a.ui.keyCode.ESCAPE){var d=a.Event(b);d.currentTarget=c[0],this.close(d,!0)}}};c[0]!==this.element[0]&&(d.remove=function(){this._removeTooltip(this._find(c).tooltip)}),b&&"mouseover"!==b.type||(d.mouseleave="close"),b&&"focusin"!==b.type||(d.focusout="close"),this._on(!0,c,d)},close:function(b){var c,d=this,e=a(b?b.currentTarget:this.element),f=this._find(e);return f?(c=f.tooltip,void(f.closing||(clearInterval(this.delayedShow),e.data("ui-tooltip-title")&&!e.attr("title")&&e.attr("title",e.data("ui-tooltip-title")),this._removeDescribedBy(e),f.hiding=!0,c.stop(!0),this._hide(c,this.options.hide,function(){d._removeTooltip(a(this))}),e.removeData("ui-tooltip-open"),this._off(e,"mouseleave focusout keyup"),e[0]!==this.element[0]&&this._off(e,"remove"),this._off(this.document,"mousemove"),b&&"mouseleave"===b.type&&a.each(this.parents,function(b,c){a(c.element).attr("title",c.title),delete d.parents[b]}),f.closing=!0,this._trigger("close",b,{tooltip:c}),f.hiding||(f.closing=!1)))):void e.removeData("ui-tooltip-open")},_tooltip:function(b){var c=a("<div>").attr("role","tooltip").addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||"")),d=c.uniqueId().attr("id");return a("<div>").addClass("ui-tooltip-content").appendTo(c),c.appendTo(this.document[0].body),this.tooltips[d]={element:b,tooltip:c}},_find:function(a){var b=a.data("ui-tooltip-id");return b?this.tooltips[b]:null},_removeTooltip:function(a){a.remove(),delete this.tooltips[a.attr("id")]},_destroy:function(){var b=this;a.each(this.tooltips,function(c,d){var e=a.Event("blur"),f=d.element;e.target=e.currentTarget=f[0],b.close(e,!0),a("#"+c).remove(),f.data("ui-tooltip-title")&&(f.attr("title")||f.attr("title",f.data("ui-tooltip-title")),f.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}})}),function(a,b,c){"use strict";b.module("ui.sortable",[]).value("uiSortableConfig",{}).directive("uiSortable",["uiSortableConfig","$timeout","$log",function(a,d,e){return{require:"?ngModel",scope:{ngModel:"=",uiSortable:"="},link:function(f,g,h,i){function j(a,b){return b&&"function"==typeof b?function(){a.apply(this,arguments),b.apply(this,arguments)}:a}function k(a){var b=a.data("ui-sortable");return b&&"object"==typeof b&&"ui-sortable"===b.widgetFullName?b:null}function l(a,b){var c=a.sortable("option","helper");return"clone"===c||"function"==typeof c&&b.item.sortable.isCustomHelperUsed()}function m(a){return/left|right/.test(a.css("float"))||/inline|table-cell/.test(a.css("display"))}function n(a,b){for(var c=null,d=0;d<a.length;d++){var e=a[d];if(e.element[0]===b[0]){c=e.scope;break}}return c}function o(a,b){b.item.sortable._destroy()}var p,q={},r={"ui-floating":c},s={receive:null,remove:null,start:null,stop:null,update:null},t={helper:null};return b.extend(q,r,a,f.uiSortable),b.element.fn&&b.element.fn.jquery?(i?(f.$watch("ngModel.length",function(){d(function(){k(g)&&g.sortable("refresh")},0,!1)}),s.start=function(a,d){if("auto"===q["ui-floating"]){var e=d.item.siblings(),f=k(b.element(a.target));f.floating=m(e)}d.item.sortable={model:i.$modelValue[d.item.index()],index:d.item.index(),source:d.item.parent(),sourceModel:i.$modelValue,cancel:function(){d.item.sortable._isCanceled=!0},isCanceled:function(){return d.item.sortable._isCanceled},isCustomHelperUsed:function(){return!!d.item.sortable._isCustomHelperUsed},_isCanceled:!1,_isCustomHelperUsed:d.item.sortable._isCustomHelperUsed,_destroy:function(){b.forEach(d.item.sortable,function(a,b){d.item.sortable[b]=c})}}},s.activate=function(a,c){p=g.contents();var d=g.sortable("option","placeholder");if(d&&d.element&&"function"==typeof d.element){var e=d.element();e=b.element(e);var h=g.find('[class="'+e.attr("class")+'"]:not([ng-repeat], [data-ng-repeat])');p=p.not(h)}var i=c.item.sortable._connectedSortables||[];i.push({element:g,scope:f}),c.item.sortable._connectedSortables=i},s.update=function(a,b){if(!b.item.sortable.received){b.item.sortable.dropindex=b.item.index();var c=b.item.parent();b.item.sortable.droptarget=c;var d=n(b.item.sortable._connectedSortables,c);b.item.sortable.droptargetModel=d.ngModel,g.sortable("cancel")}l(g,b)&&!b.item.sortable.received&&"parent"===g.sortable("option","appendTo")&&(p=p.not(p.last())),p.appendTo(g),b.item.sortable.received&&(p=null),b.item.sortable.received&&!b.item.sortable.isCanceled()&&f.$apply(function(){i.$modelValue.splice(b.item.sortable.dropindex,0,b.item.sortable.moved)})},s.stop=function(a,b){!b.item.sortable.received&&"dropindex"in b.item.sortable&&!b.item.sortable.isCanceled()?f.$apply(function(){i.$modelValue.splice(b.item.sortable.dropindex,0,i.$modelValue.splice(b.item.sortable.index,1)[0])}):"dropindex"in b.item.sortable&&!b.item.sortable.isCanceled()||l(g,b)||p.appendTo(g),p=null},s.receive=function(a,b){b.item.sortable.received=!0},s.remove=function(a,b){"dropindex"in b.item.sortable||(g.sortable("cancel"),b.item.sortable.cancel()),b.item.sortable.isCanceled()||f.$apply(function(){b.item.sortable.moved=i.$modelValue.splice(b.item.sortable.index,1)[0]})},t.helper=function(a){return a&&"function"==typeof a?function(b,c){var d=a.apply(this,arguments);return c.sortable._isCustomHelperUsed=c!==d,d}:a},f.$watch("uiSortable",function(a){var c=k(g);c&&b.forEach(a,function(a,b){return b in r?("ui-floating"!==b||a!==!1&&a!==!0||(c.floating=a),void(q[b]=a)):(s[b]?("stop"===b&&(a=j(a,function(){f.$apply()}),a=j(a,o)),a=j(s[b],a)):t[b]&&(a=t[b](a)),q[b]=a,void g.sortable("option",b,a))})},!0),b.forEach(s,function(a,b){q[b]=j(a,q[b]),"stop"===b&&(q[b]=j(q[b],o))})):e.info("ui.sortable: ngModel not provided!",g),void g.sortable(q)):void e.error("ui.sortable: jQuery should be included before AngularJS!")}}}])}(window,window.angular),function(){function a(a,b){if(a!==b){var c=null===a,d=a===w,e=a===a,f=null===b,g=b===w,h=b===b;if(a>b&&!f||!e||c&&!g&&h||d&&h)return 1;if(b>a&&!c||!h||f&&!d&&e||g&&e)return-1}return 0}function b(a,b,c){for(var d=a.length,e=c?d:-1;c?e--:++e<d;)if(b(a[e],e,a))return e;return-1}function c(a,b,c){if(b!==b)return n(a,c);for(var d=c-1,e=a.length;++d<e;)if(a[d]===b)return d;return-1}function d(a){return"function"==typeof a||!1}function e(a){return null==a?"":a+""}function f(a,b){for(var c=-1,d=a.length;++c<d&&b.indexOf(a.charAt(c))>-1;);return c}function g(a,b){for(var c=a.length;c--&&b.indexOf(a.charAt(c))>-1;);return c}function h(b,c){return a(b.criteria,c.criteria)||b.index-c.index}function i(b,c,d){for(var e=-1,f=b.criteria,g=c.criteria,h=f.length,i=d.length;++e<h;){var j=a(f[e],g[e]);if(j){if(e>=i)return j;var k=d[e];return j*("asc"===k||k===!0?1:-1)}}return b.index-c.index}function j(a){return Pa[a]}function k(a){return Qa[a]}function l(a,b,c){return b?a=Ta[a]:c&&(a=Ua[a]),"\\"+a}function m(a){return"\\"+Ua[a]}function n(a,b,c){for(var d=a.length,e=b+(c?0:-1);c?e--:++e<d;){var f=a[e];if(f!==f)return e}return-1}function o(a){return!!a&&"object"==typeof a}function p(a){return 160>=a&&a>=9&&13>=a||32==a||160==a||5760==a||6158==a||a>=8192&&(8202>=a||8232==a||8233==a||8239==a||8287==a||12288==a||65279==a)}function q(a,b){for(var c=-1,d=a.length,e=-1,f=[];++c<d;)a[c]===b&&(a[c]=P,f[++e]=c);return f}function r(a,b){for(var c,d=-1,e=a.length,f=-1,g=[];++d<e;){var h=a[d],i=b?b(h,d,a):h;d&&c===i||(c=i,g[++f]=h)}return g}function s(a){for(var b=-1,c=a.length;++b<c&&p(a.charCodeAt(b)););return b}function t(a){for(var b=a.length;b--&&p(a.charCodeAt(b)););return b}function u(a){return Ra[a]}function v(p){function W(a){if(o(a)&&!Ch(a)&&!(a instanceof Pa)){if(a instanceof aa)return a;if(ag.call(a,"__chain__")&&ag.call(a,"__wrapped__"))return md(a)}return new aa(a)}function $(){}function aa(a,b,c){this.__wrapped__=a,this.__actions__=c||[],this.__chain__=!!b}function Pa(a){this.__wrapped__=a,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Bg,this.__views__=[]}function Qa(){var a=new Pa(this.__wrapped__);return a.__actions__=cb(this.__actions__),a.__dir__=this.__dir__,a.__filtered__=this.__filtered__,a.__iteratees__=cb(this.__iteratees__),a.__takeCount__=this.__takeCount__,a.__views__=cb(this.__views__),a}function Ra(){if(this.__filtered__){var a=new Pa(this);a.__dir__=-1,a.__filtered__=!0}else a=this.clone(),a.__dir__*=-1;return a}function Sa(){var a=this.__wrapped__.value(),b=this.__dir__,c=Ch(a),d=0>b,e=c?a.length:0,f=Tc(0,e,this.__views__),g=f.start,h=f.end,i=h-g,j=d?h:g-1,k=this.__iteratees__,l=k.length,m=0,n=wg(i,this.__takeCount__);if(!c||L>e||e==i&&n==i)return cc(a,this.__actions__);var o=[];a:for(;i--&&n>m;){j+=b;for(var p=-1,q=a[j];++p<l;){var r=k[p],s=r.iteratee,t=r.type,u=s(q);if(t==N)q=u;else if(!u){if(t==M)continue a;break a}}o[m++]=q}return o}function Ta(){this.__data__={}}function Ua(a){return this.has(a)&&delete this.__data__[a]}function Va(a){return"__proto__"==a?w:this.__data__[a]}function Wa(a){return"__proto__"!=a&&ag.call(this.__data__,a)}function Xa(a,b){return"__proto__"!=a&&(this.__data__[a]=b),this}function Ya(a){var b=a?a.length:0;for(this.data={hash:qg(null),set:new kg};b--;)this.push(a[b])}function Za(a,b){var c=a.data,d="string"==typeof b||He(b)?c.set.has(b):c.hash[b];return d?0:-1}function $a(a){var b=this.data;"string"==typeof a||He(a)?b.set.add(a):b.hash[a]=!0}function bb(a,b){for(var c=-1,d=a.length,e=-1,f=b.length,g=Of(d+f);++c<d;)g[c]=a[c];for(;++e<f;)g[c++]=b[e];return g}function cb(a,b){var c=-1,d=a.length;for(b||(b=Of(d));++c<d;)b[c]=a[c];return b}function db(a,b){for(var c=-1,d=a.length;++c<d&&b(a[c],c,a)!==!1;);return a}function eb(a,b){for(var c=a.length;c--&&b(a[c],c,a)!==!1;);return a}function fb(a,b){for(var c=-1,d=a.length;++c<d;)if(!b(a[c],c,a))return!1;return!0}function gb(a,b,c,d){for(var e=-1,f=a.length,g=d,h=g;++e<f;){var i=a[e],j=+b(i);c(j,g)&&(g=j,h=i)}return h}function hb(a,b){for(var c=-1,d=a.length,e=-1,f=[];++c<d;){var g=a[c];b(g,c,a)&&(f[++e]=g)}return f}function ib(a,b){for(var c=-1,d=a.length,e=Of(d);++c<d;)e[c]=b(a[c],c,a);return e}function jb(a,b){for(var c=-1,d=b.length,e=a.length;++c<d;)a[e+c]=b[c];return a}function kb(a,b,c,d){var e=-1,f=a.length;for(d&&f&&(c=a[++e]);++e<f;)c=b(c,a[e],e,a);return c}function lb(a,b,c,d){var e=a.length;for(d&&e&&(c=a[--e]);e--;)c=b(c,a[e],e,a);return c}function mb(a,b){for(var c=-1,d=a.length;++c<d;)if(b(a[c],c,a))return!0;return!1}function nb(a,b){for(var c=a.length,d=0;c--;)d+=+b(a[c])||0;return d}function ob(a,b){return a===w?b:a}function pb(a,b,c,d){return a!==w&&ag.call(d,c)?a:b}function qb(a,b,c){for(var d=-1,e=Nh(b),f=e.length;++d<f;){var g=e[d],h=a[g],i=c(h,b[g],g,a,b);(i===i?i===h:h!==h)&&(h!==w||g in a)||(a[g]=i)}return a}function rb(a,b){return null==b?a:tb(b,Nh(b),a)}function sb(a,b){for(var c=-1,d=null==a,e=!d&&Yc(a),f=e?a.length:0,g=b.length,h=Of(g);++c<g;){var i=b[c];e?h[c]=Zc(i,f)?a[i]:w:h[c]=d?w:a[i]}return h}function tb(a,b,c){c||(c={});for(var d=-1,e=b.length;++d<e;){var f=b[d];c[f]=a[f]}return c}function ub(a,b,c){var d=typeof a;return"function"==d?b===w?a:fc(a,b,c):null==a?Bf:"object"==d?Nb(a):b===w?Hf(a):Ob(a,b)}function vb(a,b,c,d,e,f,g){var h;if(c&&(h=e?c(a,d,e):c(a)),h!==w)return h;if(!He(a))return a;var i=Ch(a);if(i){if(h=Uc(a),!b)return cb(a,h)}else{var j=cg.call(a),k=j==V;if(j!=Y&&j!=Q&&(!k||e))return Oa[j]?Wc(a,j,b):e?a:{};if(h=Vc(k?{}:a),!b)return rb(h,a)}f||(f=[]),g||(g=[]);for(var l=f.length;l--;)if(f[l]==a)return g[l];return f.push(a),g.push(h),(i?db:Fb)(a,function(d,e){h[e]=vb(d,b,c,e,a,f,g)}),h}function wb(a,b,c){if("function"!=typeof a)throw new Xf(O);return lg(function(){a.apply(w,c)},b)}function xb(a,b){var d=a?a.length:0,e=[];if(!d)return e;var f=-1,g=Qc(),h=g===c,i=h&&b.length>=L?oc(b):null,j=b.length;i&&(g=Za,h=!1,b=i);a:for(;++f<d;){var k=a[f];if(h&&k===k){for(var l=j;l--;)if(b[l]===k)continue a;e.push(k)}else g(b,k,0)<0&&e.push(k)}return e}function yb(a,b){var c=!0;return Jg(a,function(a,d,e){return c=!!b(a,d,e)}),c}function zb(a,b,c,d){var e=d,f=e;return Jg(a,function(a,g,h){var i=+b(a,g,h);(c(i,e)||i===d&&i===f)&&(e=i,f=a)}),f}function Ab(a,b,c,d){var e=a.length;for(c=null==c?0:+c||0,0>c&&(c=-c>e?0:e+c),d=d===w||d>e?e:+d||0,0>d&&(d+=e),e=c>d?0:d>>>0,c>>>=0;e>c;)a[c++]=b;return a}function Bb(a,b){var c=[];return Jg(a,function(a,d,e){b(a,d,e)&&c.push(a)}),c}function Cb(a,b,c,d){var e;return c(a,function(a,c,f){return b(a,c,f)?(e=d?c:a,!1):void 0}),e}function Db(a,b,c,d){d||(d=[]);for(var e=-1,f=a.length;++e<f;){var g=a[e];o(g)&&Yc(g)&&(c||Ch(g)||ye(g))?b?Db(g,b,c,d):jb(d,g):c||(d[d.length]=g)}return d}function Eb(a,b){return Lg(a,b,_e)}function Fb(a,b){return Lg(a,b,Nh)}function Gb(a,b){return Mg(a,b,Nh)}function Hb(a,b){for(var c=-1,d=b.length,e=-1,f=[];++c<d;){var g=b[c];Ge(a[g])&&(f[++e]=g)}return f}function Ib(a,b,c){if(null!=a){c!==w&&c in kd(a)&&(b=[c]);for(var d=0,e=b.length;null!=a&&e>d;)a=a[b[d++]];return d&&d==e?a:w}}function Jb(a,b,c,d,e,f){return a===b?!0:null==a||null==b||!He(a)&&!o(b)?a!==a&&b!==b:Kb(a,b,Jb,c,d,e,f)}function Kb(a,b,c,d,e,f,g){var h=Ch(a),i=Ch(b),j=R,k=R;h||(j=cg.call(a),j==Q?j=Y:j!=Y&&(h=Qe(a))),i||(k=cg.call(b),k==Q?k=Y:k!=Y&&(i=Qe(b)));var l=j==Y,m=k==Y,n=j==k;if(n&&!h&&!l)return Mc(a,b,j);if(!e){var o=l&&ag.call(a,"__wrapped__"),p=m&&ag.call(b,"__wrapped__");if(o||p)return c(o?a.value():a,p?b.value():b,d,e,f,g)}if(!n)return!1;f||(f=[]),g||(g=[]);for(var q=f.length;q--;)if(f[q]==a)return g[q]==b;f.push(a),g.push(b);var r=(h?Lc:Nc)(a,b,c,d,e,f,g);return f.pop(),g.pop(),r}function Lb(a,b,c){var d=b.length,e=d,f=!c;if(null==a)return!e;for(a=kd(a);d--;){var g=b[d];if(f&&g[2]?g[1]!==a[g[0]]:!(g[0]in a))return!1}for(;++d<e;){g=b[d];var h=g[0],i=a[h],j=g[1];if(f&&g[2]){if(i===w&&!(h in a))return!1}else{var k=c?c(i,j,h):w;if(!(k===w?Jb(j,i,c,!0):k))return!1}}return!0}function Mb(a,b){var c=-1,d=Yc(a)?Of(a.length):[];return Jg(a,function(a,e,f){d[++c]=b(a,e,f)}),d}function Nb(a){var b=Rc(a);if(1==b.length&&b[0][2]){var c=b[0][0],d=b[0][1];return function(a){return null==a?!1:a[c]===d&&(d!==w||c in kd(a))}}return function(a){return Lb(a,b)}}function Ob(a,b){var c=Ch(a),d=_c(a)&&cd(b),e=a+"";return a=ld(a),function(f){if(null==f)return!1;var g=e;if(f=kd(f),(c||!d)&&!(g in f)){if(f=1==a.length?f:Ib(f,Wb(a,0,-1)),null==f)return!1;g=zd(a),f=kd(f)}return f[g]===b?b!==w||g in f:Jb(b,f[g],w,!0)}}function Pb(a,b,c,d,e){if(!He(a))return a;var f=Yc(b)&&(Ch(b)||Qe(b)),g=f?w:Nh(b);return db(g||b,function(h,i){if(g&&(i=h,h=b[i]),o(h))d||(d=[]),e||(e=[]),Qb(a,b,i,Pb,c,d,e);else{var j=a[i],k=c?c(j,h,i,a,b):w,l=k===w;l&&(k=h),k===w&&(!f||i in a)||!l&&(k===k?k===j:j!==j)||(a[i]=k)}}),a}function Qb(a,b,c,d,e,f,g){for(var h=f.length,i=b[c];h--;)if(f[h]==i)return void(a[c]=g[h]);var j=a[c],k=e?e(j,i,c,a,b):w,l=k===w;l&&(k=i,Yc(i)&&(Ch(i)||Qe(i))?k=Ch(j)?j:Yc(j)?cb(j):[]:Ne(i)||ye(i)?k=ye(j)?Ve(j):Ne(j)?j:{}:l=!1),f.push(i),g.push(k),l?a[c]=d(k,i,e,f,g):(k===k?k!==j:j===j)&&(a[c]=k)}function Rb(a){return function(b){return null==b?w:b[a]}}function Sb(a){var b=a+"";return a=ld(a),function(c){return Ib(c,a,b)}}function Tb(a,b){for(var c=a?b.length:0;c--;){var d=b[c];if(d!=e&&Zc(d)){var e=d;mg.call(a,d,1)}}return a}function Ub(a,b){return a+rg(zg()*(b-a+1))}function Vb(a,b,c,d,e){return e(a,function(a,e,f){c=d?(d=!1,a):b(c,a,e,f)}),c}function Wb(a,b,c){var d=-1,e=a.length;b=null==b?0:+b||0,0>b&&(b=-b>e?0:e+b),c=c===w||c>e?e:+c||0,0>c&&(c+=e),e=b>c?0:c-b>>>0,b>>>=0;for(var f=Of(e);++d<e;)f[d]=a[d+b];return f}function Xb(a,b){var c;return Jg(a,function(a,d,e){return c=b(a,d,e),!c}),!!c}function Yb(a,b){var c=a.length;for(a.sort(b);c--;)a[c]=a[c].value;return a}function Zb(a,b,c){var d=Oc(),e=-1;b=ib(b,function(a){return d(a)});var f=Mb(a,function(a){var c=ib(b,function(b){return b(a)});return{criteria:c,index:++e,value:a}});return Yb(f,function(a,b){return i(a,b,c)})}function $b(a,b){var c=0;return Jg(a,function(a,d,e){c+=+b(a,d,e)||0}),c}function _b(a,b){var d=-1,e=Qc(),f=a.length,g=e===c,h=g&&f>=L,i=h?oc():null,j=[];i?(e=Za,g=!1):(h=!1,i=b?[]:j);a:for(;++d<f;){var k=a[d],l=b?b(k,d,a):k;if(g&&k===k){for(var m=i.length;m--;)if(i[m]===l)continue a;b&&i.push(l),j.push(k)}else e(i,l,0)<0&&((b||h)&&i.push(l),j.push(k))}return j}function ac(a,b){for(var c=-1,d=b.length,e=Of(d);++c<d;)e[c]=a[b[c]];return e}function bc(a,b,c,d){for(var e=a.length,f=d?e:-1;(d?f--:++f<e)&&b(a[f],f,a););return c?Wb(a,d?0:f,d?f+1:e):Wb(a,d?f+1:0,d?e:f)}function cc(a,b){var c=a;c instanceof Pa&&(c=c.value());for(var d=-1,e=b.length;++d<e;){var f=b[d];c=f.func.apply(f.thisArg,jb([c],f.args))}return c}function dc(a,b,c){var d=0,e=a?a.length:d;if("number"==typeof b&&b===b&&Eg>=e){for(;e>d;){var f=d+e>>>1,g=a[f];(c?b>=g:b>g)&&null!==g?d=f+1:e=f}return e}return ec(a,b,Bf,c)}function ec(a,b,c,d){b=c(b);for(var e=0,f=a?a.length:0,g=b!==b,h=null===b,i=b===w;f>e;){var j=rg((e+f)/2),k=c(a[j]),l=k!==w,m=k===k;if(g)var n=m||d;else n=h?m&&l&&(d||null!=k):i?m&&(d||l):null==k?!1:d?b>=k:b>k;n?e=j+1:f=j}return wg(f,Dg)}function fc(a,b,c){if("function"!=typeof a)return Bf;if(b===w)return a;switch(c){case 1:return function(c){return a.call(b,c)};case 3:return function(c,d,e){return a.call(b,c,d,e)};case 4:return function(c,d,e,f){return a.call(b,c,d,e,f)};case 5:return function(c,d,e,f,g){return a.call(b,c,d,e,f,g)}}return function(){return a.apply(b,arguments)}}function gc(a){var b=new fg(a.byteLength),c=new ng(b);return c.set(new ng(a)),b}function hc(a,b,c){for(var d=c.length,e=-1,f=vg(a.length-d,0),g=-1,h=b.length,i=Of(h+f);++g<h;)i[g]=b[g];for(;++e<d;)i[c[e]]=a[e];for(;f--;)i[g++]=a[e++];return i}function ic(a,b,c){for(var d=-1,e=c.length,f=-1,g=vg(a.length-e,0),h=-1,i=b.length,j=Of(g+i);++f<g;)j[f]=a[f];for(var k=f;++h<i;)j[k+h]=b[h];for(;++d<e;)j[k+c[d]]=a[f++];return j}function jc(a,b){return function(c,d,e){var f=b?b():{};if(d=Oc(d,e,3),Ch(c))for(var g=-1,h=c.length;++g<h;){var i=c[g];a(f,i,d(i,g,c),c)}else Jg(c,function(b,c,e){a(f,b,d(b,c,e),e)});return f}}function kc(a){return qe(function(b,c){var d=-1,e=null==b?0:c.length,f=e>2?c[e-2]:w,g=e>2?c[2]:w,h=e>1?c[e-1]:w;for("function"==typeof f?(f=fc(f,h,5),e-=2):(f="function"==typeof h?h:w,e-=f?1:0),g&&$c(c[0],c[1],g)&&(f=3>e?w:f,e=1);++d<e;){var i=c[d];i&&a(b,i,f)}return b})}function lc(a,b){return function(c,d){var e=c?Pg(c):0;if(!bd(e))return a(c,d);for(var f=b?e:-1,g=kd(c);(b?f--:++f<e)&&d(g[f],f,g)!==!1;);return c}}function mc(a){return function(b,c,d){for(var e=kd(b),f=d(b),g=f.length,h=a?g:-1;a?h--:++h<g;){var i=f[h];if(c(e[i],i,e)===!1)break}return b}}function nc(a,b){function c(){var e=this&&this!==_a&&this instanceof c?d:a;return e.apply(b,arguments)}var d=qc(a);return c}function oc(a){return qg&&kg?new Ya(a):null}function pc(a){return function(b){for(var c=-1,d=yf(kf(b)),e=d.length,f="";++c<e;)f=a(f,d[c],c);return f}}function qc(a){return function(){var b=arguments;switch(b.length){case 0:return new a;case 1:return new a(b[0]);case 2:return new a(b[0],b[1]);case 3:return new a(b[0],b[1],b[2]);case 4:return new a(b[0],b[1],b[2],b[3]);case 5:return new a(b[0],b[1],b[2],b[3],b[4]);case 6:return new a(b[0],b[1],b[2],b[3],b[4],b[5]);case 7:return new a(b[0],b[1],b[2],b[3],b[4],b[5],b[6])}var c=Ig(a.prototype),d=a.apply(c,b);return He(d)?d:c}}function rc(a){function b(c,d,e){e&&$c(c,d,e)&&(d=w);var f=Kc(c,a,w,w,w,w,w,d);return f.placeholder=b.placeholder,f}return b}function sc(a,b){return qe(function(c){var d=c[0];return null==d?d:(c.push(b),a.apply(w,c))})}function tc(a,b){return function(c,d,e){if(e&&$c(c,d,e)&&(d=w),d=Oc(d,e,3),1==d.length){c=Ch(c)?c:jd(c);var f=gb(c,d,a,b);if(!c.length||f!==b)return f}return zb(c,d,a,b)}}function uc(a,c){return function(d,e,f){if(e=Oc(e,f,3),Ch(d)){var g=b(d,e,c);return g>-1?d[g]:w}return Cb(d,e,a)}}function vc(a){return function(c,d,e){return c&&c.length?(d=Oc(d,e,3),b(c,d,a)):-1}}function wc(a){return function(b,c,d){return c=Oc(c,d,3),Cb(b,c,a,!0)}}function xc(a){return function(){for(var b,c=arguments.length,d=a?c:-1,e=0,f=Of(c);a?d--:++d<c;){var g=f[e++]=arguments[d];if("function"!=typeof g)throw new Xf(O);!b&&aa.prototype.thru&&"wrapper"==Pc(g)&&(b=new aa([],!0))}for(d=b?-1:c;++d<c;){g=f[d];var h=Pc(g),i="wrapper"==h?Og(g):w;b=i&&ad(i[0])&&i[1]==(F|B|D|G)&&!i[4].length&&1==i[9]?b[Pc(i[0])].apply(b,i[3]):1==g.length&&ad(g)?b[h]():b.thru(g)}return function(){var a=arguments,d=a[0];if(b&&1==a.length&&Ch(d)&&d.length>=L)return b.plant(d).value();for(var e=0,g=c?f[e].apply(this,a):d;++e<c;)g=f[e].call(this,g);return g}}}function yc(a,b){return function(c,d,e){return"function"==typeof d&&e===w&&Ch(c)?a(c,d):b(c,fc(d,e,3))}}function zc(a){return function(b,c,d){return("function"!=typeof c||d!==w)&&(c=fc(c,d,3)),a(b,c,_e)}}function Ac(a){return function(b,c,d){return("function"!=typeof c||d!==w)&&(c=fc(c,d,3)),a(b,c)}}function Bc(a){return function(b,c,d){var e={};return c=Oc(c,d,3),Fb(b,function(b,d,f){var g=c(b,d,f);d=a?g:d,b=a?b:g,e[d]=b}),e}}function Cc(a){return function(b,c,d){return b=e(b),(a?b:"")+Gc(b,c,d)+(a?"":b)}}function Dc(a){var b=qe(function(c,d){var e=q(d,b.placeholder);return Kc(c,a,w,d,e)});return b}function Ec(a,b){return function(c,d,e,f){var g=arguments.length<3;return"function"==typeof d&&f===w&&Ch(c)?a(c,d,e,g):Vb(c,Oc(d,f,4),e,g,b)}}function Fc(a,b,c,d,e,f,g,h,i,j){function k(){for(var t=arguments.length,u=t,v=Of(t);u--;)v[u]=arguments[u];if(d&&(v=hc(v,d,e)),f&&(v=ic(v,f,g)),o||r){var x=k.placeholder,A=q(v,x);if(t-=A.length,j>t){var B=h?cb(h):w,C=vg(j-t,0),F=o?A:w,G=o?w:A,H=o?v:w,I=o?w:v;b|=o?D:E,b&=~(o?E:D),p||(b&=~(y|z));var J=[a,b,c,H,F,I,G,B,i,C],K=Fc.apply(w,J);return ad(a)&&Qg(K,J),K.placeholder=x,K}}var L=m?c:this,M=n?L[a]:a;return h&&(v=hd(v,h)),l&&i<v.length&&(v.length=i),this&&this!==_a&&this instanceof k&&(M=s||qc(a)),M.apply(L,v)}var l=b&F,m=b&y,n=b&z,o=b&B,p=b&A,r=b&C,s=n?w:qc(a);return k}function Gc(a,b,c){var d=a.length;if(b=+b,d>=b||!tg(b))return"";var e=b-d;return c=null==c?" ":c+"",qf(c,pg(e/c.length)).slice(0,e)}function Hc(a,b,c,d){function e(){for(var b=-1,h=arguments.length,i=-1,j=d.length,k=Of(j+h);++i<j;)k[i]=d[i];for(;h--;)k[i++]=arguments[++b];var l=this&&this!==_a&&this instanceof e?g:a;return l.apply(f?c:this,k)}var f=b&y,g=qc(a);return e}function Ic(a){var b=Sf[a];return function(a,c){return c=c===w?0:+c||0,c?(c=ig(10,c),b(a*c)/c):b(a)}}function Jc(a){return function(b,c,d,e){var f=Oc(d);return null==d&&f===ub?dc(b,c,a):ec(b,c,f(d,e,1),a)}}function Kc(a,b,c,d,e,f,g,h){var i=b&z;if(!i&&"function"!=typeof a)throw new Xf(O);var j=d?d.length:0;if(j||(b&=~(D|E),d=e=w),j-=e?e.length:0,b&E){var k=d,l=e;d=e=w}var m=i?w:Og(a),n=[a,b,c,d,e,k,l,f,g,h];if(m&&(dd(n,m),b=n[1],h=n[9]),n[9]=null==h?i?0:a.length:vg(h-j,0)||0,b==y)var o=nc(n[0],n[2]);else o=b!=D&&b!=(y|D)||n[4].length?Fc.apply(w,n):Hc.apply(w,n);var p=m?Ng:Qg;return p(o,n)}function Lc(a,b,c,d,e,f,g){var h=-1,i=a.length,j=b.length;if(i!=j&&!(e&&j>i))return!1;for(;++h<i;){var k=a[h],l=b[h],m=d?d(e?l:k,e?k:l,h):w;if(m!==w){if(m)continue;return!1}if(e){if(!mb(b,function(a){return k===a||c(k,a,d,e,f,g)}))return!1}else if(k!==l&&!c(k,l,d,e,f,g))return!1}return!0}function Mc(a,b,c){switch(c){case S:case T:return+a==+b;case U:return a.name==b.name&&a.message==b.message;case X:return a!=+a?b!=+b:a==+b;case Z:case _:return a==b+""}return!1}function Nc(a,b,c,d,e,f,g){var h=Nh(a),i=h.length,j=Nh(b),k=j.length;if(i!=k&&!e)return!1;for(var l=i;l--;){var m=h[l];if(!(e?m in b:ag.call(b,m)))return!1}for(var n=e;++l<i;){m=h[l];var o=a[m],p=b[m],q=d?d(e?p:o,e?o:p,m):w;if(!(q===w?c(o,p,d,e,f,g):q))return!1;n||(n="constructor"==m)}if(!n){var r=a.constructor,s=b.constructor;if(r!=s&&"constructor"in a&&"constructor"in b&&!("function"==typeof r&&r instanceof r&&"function"==typeof s&&s instanceof s))return!1}return!0}function Oc(a,b,c){var d=W.callback||zf;return d=d===zf?ub:d,c?d(a,b,c):d}function Pc(a){for(var b=a.name+"",c=Hg[b],d=c?c.length:0;d--;){var e=c[d],f=e.func;if(null==f||f==a)return e.name}return b}function Qc(a,b,d){var e=W.indexOf||xd;return e=e===xd?c:e,a?e(a,b,d):e}function Rc(a){for(var b=af(a),c=b.length;c--;)b[c][2]=cd(b[c][1]);return b}function Sc(a,b){var c=null==a?w:a[b];return Ke(c)?c:w}function Tc(a,b,c){for(var d=-1,e=c.length;++d<e;){var f=c[d],g=f.size;switch(f.type){case"drop":a+=g;break;case"dropRight":b-=g;break;case"take":b=wg(b,a+g);break;case"takeRight":a=vg(a,b-g)}}return{start:a,end:b}}function Uc(a){var b=a.length,c=new a.constructor(b);return b&&"string"==typeof a[0]&&ag.call(a,"index")&&(c.index=a.index,c.input=a.input),c}function Vc(a){var b=a.constructor;return"function"==typeof b&&b instanceof b||(b=Uf),new b}function Wc(a,b,c){var d=a.constructor;switch(b){case ba:return gc(a);case S:case T:return new d(+a);case ca:case da:case ea:case fa:case ga:case ha:case ia:case ja:case ka:var e=a.buffer;return new d(c?gc(e):e,a.byteOffset,a.length);case X:case _:return new d(a);case Z:var f=new d(a.source,Da.exec(a));f.lastIndex=a.lastIndex}return f}function Xc(a,b,c){null==a||_c(b,a)||(b=ld(b),a=1==b.length?a:Ib(a,Wb(b,0,-1)),b=zd(b));var d=null==a?a:a[b];return null==d?w:d.apply(a,c)}function Yc(a){return null!=a&&bd(Pg(a))}function Zc(a,b){return a="number"==typeof a||Ga.test(a)?+a:-1,b=null==b?Fg:b,a>-1&&a%1==0&&b>a}function $c(a,b,c){if(!He(c))return!1;var d=typeof b;if("number"==d?Yc(c)&&Zc(b,c.length):"string"==d&&b in c){var e=c[b];return a===a?a===e:e!==e}return!1}function _c(a,b){var c=typeof a;if("string"==c&&wa.test(a)||"number"==c)return!0;if(Ch(a))return!1;var d=!va.test(a);return d||null!=b&&a in kd(b)}function ad(a){var b=Pc(a),c=W[b];if("function"!=typeof c||!(b in Pa.prototype))return!1;if(a===c)return!0;var d=Og(c);return!!d&&a===d[0]}function bd(a){return"number"==typeof a&&a>-1&&a%1==0&&Fg>=a}function cd(a){return a===a&&!He(a)}function dd(a,b){var c=a[1],d=b[1],e=c|d,f=F>e,g=d==F&&c==B||d==F&&c==G&&a[7].length<=b[8]||d==(F|G)&&c==B;if(!f&&!g)return a;d&y&&(a[2]=b[2],e|=c&y?0:A);var h=b[3];if(h){var i=a[3];a[3]=i?hc(i,h,b[4]):cb(h),a[4]=i?q(a[3],P):cb(b[4])}return h=b[5],h&&(i=a[5],a[5]=i?ic(i,h,b[6]):cb(h),a[6]=i?q(a[5],P):cb(b[6])),h=b[7],h&&(a[7]=cb(h)),d&F&&(a[8]=null==a[8]?b[8]:wg(a[8],b[8])),null==a[9]&&(a[9]=b[9]),a[0]=b[0],a[1]=e,a}function ed(a,b){return a===w?b:Dh(a,b,ed)}function fd(a,b){a=kd(a);for(var c=-1,d=b.length,e={};++c<d;){var f=b[c];f in a&&(e[f]=a[f])}return e}function gd(a,b){var c={};return Eb(a,function(a,d,e){b(a,d,e)&&(c[d]=a)}),c}function hd(a,b){for(var c=a.length,d=wg(b.length,c),e=cb(a);d--;){var f=b[d];a[d]=Zc(f,c)?e[f]:w}return a}function id(a){for(var b=_e(a),c=b.length,d=c&&a.length,e=!!d&&bd(d)&&(Ch(a)||ye(a)),f=-1,g=[];++f<c;){var h=b[f];(e&&Zc(h,d)||ag.call(a,h))&&g.push(h)}return g}function jd(a){return null==a?[]:Yc(a)?He(a)?a:Uf(a):ef(a)}function kd(a){return He(a)?a:Uf(a)}function ld(a){if(Ch(a))return a;var b=[];return e(a).replace(xa,function(a,c,d,e){b.push(d?e.replace(Ba,"$1"):c||a)}),b}function md(a){return a instanceof Pa?a.clone():new aa(a.__wrapped__,a.__chain__,cb(a.__actions__))}function nd(a,b,c){b=(c?$c(a,b,c):null==b)?1:vg(rg(b)||1,1);for(var d=0,e=a?a.length:0,f=-1,g=Of(pg(e/b));e>d;)g[++f]=Wb(a,d,d+=b);return g}function od(a){for(var b=-1,c=a?a.length:0,d=-1,e=[];++b<c;){var f=a[b];f&&(e[++d]=f)}return e}function pd(a,b,c){var d=a?a.length:0;return d?((c?$c(a,b,c):null==b)&&(b=1),Wb(a,0>b?0:b)):[]}function qd(a,b,c){var d=a?a.length:0;return d?((c?$c(a,b,c):null==b)&&(b=1),b=d-(+b||0),Wb(a,0,0>b?0:b)):[]}function rd(a,b,c){return a&&a.length?bc(a,Oc(b,c,3),!0,!0):[]}function sd(a,b,c){return a&&a.length?bc(a,Oc(b,c,3),!0):[]}function td(a,b,c,d){var e=a?a.length:0;return e?(c&&"number"!=typeof c&&$c(a,b,c)&&(c=0,d=e),Ab(a,b,c,d)):[]}function ud(a){return a?a[0]:w}function vd(a,b,c){var d=a?a.length:0;return c&&$c(a,b,c)&&(b=!1),d?Db(a,b):[]}function wd(a){var b=a?a.length:0;return b?Db(a,!0):[]}function xd(a,b,d){var e=a?a.length:0;if(!e)return-1;if("number"==typeof d)d=0>d?vg(e+d,0):d;else if(d){var f=dc(a,b);return e>f&&(b===b?b===a[f]:a[f]!==a[f])?f:-1}return c(a,b,d||0)}function yd(a){return qd(a,1)}function zd(a){var b=a?a.length:0;return b?a[b-1]:w}function Ad(a,b,c){var d=a?a.length:0;if(!d)return-1;var e=d;if("number"==typeof c)e=(0>c?vg(d+c,0):wg(c||0,d-1))+1;else if(c){e=dc(a,b,!0)-1;var f=a[e];return(b===b?b===f:f!==f)?e:-1}if(b!==b)return n(a,e,!0);for(;e--;)if(a[e]===b)return e;return-1}function Bd(){var a=arguments,b=a[0];if(!b||!b.length)return b;for(var c=0,d=Qc(),e=a.length;++c<e;)for(var f=0,g=a[c];(f=d(b,g,f))>-1;)mg.call(b,f,1);return b}function Cd(a,b,c){var d=[];if(!a||!a.length)return d;var e=-1,f=[],g=a.length;for(b=Oc(b,c,3);++e<g;){var h=a[e];b(h,e,a)&&(d.push(h),f.push(e))}return Tb(a,f),d}function Dd(a){return pd(a,1)}function Ed(a,b,c){var d=a?a.length:0;return d?(c&&"number"!=typeof c&&$c(a,b,c)&&(b=0,c=d),Wb(a,b,c)):[]}function Fd(a,b,c){var d=a?a.length:0;return d?((c?$c(a,b,c):null==b)&&(b=1),Wb(a,0,0>b?0:b)):[]}function Gd(a,b,c){var d=a?a.length:0;return d?((c?$c(a,b,c):null==b)&&(b=1),b=d-(+b||0),Wb(a,0>b?0:b)):[]}function Hd(a,b,c){return a&&a.length?bc(a,Oc(b,c,3),!1,!0):[]}function Id(a,b,c){return a&&a.length?bc(a,Oc(b,c,3)):[]}function Jd(a,b,d,e){var f=a?a.length:0;if(!f)return[];null!=b&&"boolean"!=typeof b&&(e=d,d=$c(a,b,e)?w:b,b=!1);var g=Oc();return(null!=d||g!==ub)&&(d=g(d,e,3)),b&&Qc()===c?r(a,d):_b(a,d)}function Kd(a){if(!a||!a.length)return[];var b=-1,c=0;a=hb(a,function(a){return Yc(a)?(c=vg(a.length,c),!0):void 0});for(var d=Of(c);++b<c;)d[b]=ib(a,Rb(b));return d}function Ld(a,b,c){var d=a?a.length:0;if(!d)return[];var e=Kd(a);return null==b?e:(b=fc(b,c,4),ib(e,function(a){return kb(a,b,w,!0)}))}function Md(){for(var a=-1,b=arguments.length;++a<b;){var c=arguments[a];if(Yc(c))var d=d?jb(xb(d,c),xb(c,d)):c}return d?_b(d):[]}function Nd(a,b){var c=-1,d=a?a.length:0,e={};for(!d||b||Ch(a[0])||(b=[]);++c<d;){var f=a[c];b?e[f]=b[c]:f&&(e[f[0]]=f[1])}return e}function Od(a){var b=W(a);return b.__chain__=!0,b}function Pd(a,b,c){return b.call(c,a),a}function Qd(a,b,c){return b.call(c,a)}function Rd(){return Od(this)}function Sd(){return new aa(this.value(),this.__chain__)}function Td(a){for(var b,c=this;c instanceof $;){var d=md(c);b?e.__wrapped__=d:b=d;var e=d;c=c.__wrapped__}return e.__wrapped__=a,b}function Ud(){var a=this.__wrapped__,b=function(a){return a.reverse()};if(a instanceof Pa){var c=a;
-return this.__actions__.length&&(c=new Pa(this)),c=c.reverse(),c.__actions__.push({func:Qd,args:[b],thisArg:w}),new aa(c,this.__chain__)}return this.thru(b)}function Vd(){return this.value()+""}function Wd(){return cc(this.__wrapped__,this.__actions__)}function Xd(a,b,c){var d=Ch(a)?fb:yb;return c&&$c(a,b,c)&&(b=w),("function"!=typeof b||c!==w)&&(b=Oc(b,c,3)),d(a,b)}function Yd(a,b,c){var d=Ch(a)?hb:Bb;return b=Oc(b,c,3),d(a,b)}function Zd(a,b){return dh(a,Nb(b))}function $d(a,b,c,d){var e=a?Pg(a):0;return bd(e)||(a=ef(a),e=a.length),c="number"!=typeof c||d&&$c(b,c,d)?0:0>c?vg(e+c,0):c||0,"string"==typeof a||!Ch(a)&&Pe(a)?e>=c&&a.indexOf(b,c)>-1:!!e&&Qc(a,b,c)>-1}function _d(a,b,c){var d=Ch(a)?ib:Mb;return b=Oc(b,c,3),d(a,b)}function ae(a,b){return _d(a,Hf(b))}function be(a,b,c){var d=Ch(a)?hb:Bb;return b=Oc(b,c,3),d(a,function(a,c,d){return!b(a,c,d)})}function ce(a,b,c){if(c?$c(a,b,c):null==b){a=jd(a);var d=a.length;return d>0?a[Ub(0,d-1)]:w}var e=-1,f=Ue(a),d=f.length,g=d-1;for(b=wg(0>b?0:+b||0,d);++e<b;){var h=Ub(e,g),i=f[h];f[h]=f[e],f[e]=i}return f.length=b,f}function de(a){return ce(a,Bg)}function ee(a){var b=a?Pg(a):0;return bd(b)?b:Nh(a).length}function fe(a,b,c){var d=Ch(a)?mb:Xb;return c&&$c(a,b,c)&&(b=w),("function"!=typeof b||c!==w)&&(b=Oc(b,c,3)),d(a,b)}function ge(a,b,c){if(null==a)return[];c&&$c(a,b,c)&&(b=w);var d=-1;b=Oc(b,c,3);var e=Mb(a,function(a,c,e){return{criteria:b(a,c,e),index:++d,value:a}});return Yb(e,h)}function he(a,b,c,d){return null==a?[]:(d&&$c(b,c,d)&&(c=w),Ch(b)||(b=null==b?[]:[b]),Ch(c)||(c=null==c?[]:[c]),Zb(a,b,c))}function ie(a,b){return Yd(a,Nb(b))}function je(a,b){if("function"!=typeof b){if("function"!=typeof a)throw new Xf(O);var c=a;a=b,b=c}return a=tg(a=+a)?a:0,function(){return--a<1?b.apply(this,arguments):void 0}}function ke(a,b,c){return c&&$c(a,b,c)&&(b=w),b=a&&null==b?a.length:vg(+b||0,0),Kc(a,F,w,w,w,w,b)}function le(a,b){var c;if("function"!=typeof b){if("function"!=typeof a)throw new Xf(O);var d=a;a=b,b=d}return function(){return--a>0&&(c=b.apply(this,arguments)),1>=a&&(b=w),c}}function me(a,b,c){function d(){n&&gg(n),j&&gg(j),p=0,j=n=o=w}function e(b,c){c&&gg(c),j=n=o=w,b&&(p=oh(),k=a.apply(m,i),n||j||(i=m=w))}function f(){var a=b-(oh()-l);0>=a||a>b?e(o,j):n=lg(f,a)}function g(){e(r,n)}function h(){if(i=arguments,l=oh(),m=this,o=r&&(n||!s),q===!1)var c=s&&!n;else{j||s||(p=l);var d=q-(l-p),e=0>=d||d>q;e?(j&&(j=gg(j)),p=l,k=a.apply(m,i)):j||(j=lg(g,d))}return e&&n?n=gg(n):n||b===q||(n=lg(f,b)),c&&(e=!0,k=a.apply(m,i)),!e||n||j||(i=m=w),k}var i,j,k,l,m,n,o,p=0,q=!1,r=!0;if("function"!=typeof a)throw new Xf(O);if(b=0>b?0:+b||0,c===!0){var s=!0;r=!1}else He(c)&&(s=!!c.leading,q="maxWait"in c&&vg(+c.maxWait||0,b),r="trailing"in c?!!c.trailing:r);return h.cancel=d,h}function ne(a,b){if("function"!=typeof a||b&&"function"!=typeof b)throw new Xf(O);var c=function(){var d=arguments,e=b?b.apply(this,d):d[0],f=c.cache;if(f.has(e))return f.get(e);var g=a.apply(this,d);return c.cache=f.set(e,g),g};return c.cache=new ne.Cache,c}function oe(a){if("function"!=typeof a)throw new Xf(O);return function(){return!a.apply(this,arguments)}}function pe(a){return le(2,a)}function qe(a,b){if("function"!=typeof a)throw new Xf(O);return b=vg(b===w?a.length-1:+b||0,0),function(){for(var c=arguments,d=-1,e=vg(c.length-b,0),f=Of(e);++d<e;)f[d]=c[b+d];switch(b){case 0:return a.call(this,f);case 1:return a.call(this,c[0],f);case 2:return a.call(this,c[0],c[1],f)}var g=Of(b+1);for(d=-1;++d<b;)g[d]=c[d];return g[b]=f,a.apply(this,g)}}function re(a){if("function"!=typeof a)throw new Xf(O);return function(b){return a.apply(this,b)}}function se(a,b,c){var d=!0,e=!0;if("function"!=typeof a)throw new Xf(O);return c===!1?d=!1:He(c)&&(d="leading"in c?!!c.leading:d,e="trailing"in c?!!c.trailing:e),me(a,b,{leading:d,maxWait:+b,trailing:e})}function te(a,b){return b=null==b?Bf:b,Kc(b,D,w,[a],[])}function ue(a,b,c,d){return b&&"boolean"!=typeof b&&$c(a,b,c)?b=!1:"function"==typeof b&&(d=c,c=b,b=!1),"function"==typeof c?vb(a,b,fc(c,d,3)):vb(a,b)}function ve(a,b,c){return"function"==typeof b?vb(a,!0,fc(b,c,3)):vb(a,!0)}function we(a,b){return a>b}function xe(a,b){return a>=b}function ye(a){return o(a)&&Yc(a)&&ag.call(a,"callee")&&!jg.call(a,"callee")}function ze(a){return a===!0||a===!1||o(a)&&cg.call(a)==S}function Ae(a){return o(a)&&cg.call(a)==T}function Be(a){return!!a&&1===a.nodeType&&o(a)&&!Ne(a)}function Ce(a){return null==a?!0:Yc(a)&&(Ch(a)||Pe(a)||ye(a)||o(a)&&Ge(a.splice))?!a.length:!Nh(a).length}function De(a,b,c,d){c="function"==typeof c?fc(c,d,3):w;var e=c?c(a,b):w;return e===w?Jb(a,b,c):!!e}function Ee(a){return o(a)&&"string"==typeof a.message&&cg.call(a)==U}function Fe(a){return"number"==typeof a&&tg(a)}function Ge(a){return He(a)&&cg.call(a)==V}function He(a){var b=typeof a;return!!a&&("object"==b||"function"==b)}function Ie(a,b,c,d){return c="function"==typeof c?fc(c,d,3):w,Lb(a,Rc(b),c)}function Je(a){return Me(a)&&a!=+a}function Ke(a){return null==a?!1:Ge(a)?eg.test(_f.call(a)):o(a)&&Fa.test(a)}function Le(a){return null===a}function Me(a){return"number"==typeof a||o(a)&&cg.call(a)==X}function Ne(a){var b;if(!o(a)||cg.call(a)!=Y||ye(a)||!ag.call(a,"constructor")&&(b=a.constructor,"function"==typeof b&&!(b instanceof b)))return!1;var c;return Eb(a,function(a,b){c=b}),c===w||ag.call(a,c)}function Oe(a){return He(a)&&cg.call(a)==Z}function Pe(a){return"string"==typeof a||o(a)&&cg.call(a)==_}function Qe(a){return o(a)&&bd(a.length)&&!!Na[cg.call(a)]}function Re(a){return a===w}function Se(a,b){return b>a}function Te(a,b){return b>=a}function Ue(a){var b=a?Pg(a):0;return bd(b)?b?cb(a):[]:ef(a)}function Ve(a){return tb(a,_e(a))}function We(a,b,c){var d=Ig(a);return c&&$c(a,b,c)&&(b=w),b?rb(d,b):d}function Xe(a){return Hb(a,_e(a))}function Ye(a,b,c){var d=null==a?w:Ib(a,ld(b),b+"");return d===w?c:d}function Ze(a,b){if(null==a)return!1;var c=ag.call(a,b);if(!c&&!_c(b)){if(b=ld(b),a=1==b.length?a:Ib(a,Wb(b,0,-1)),null==a)return!1;b=zd(b),c=ag.call(a,b)}return c||bd(a.length)&&Zc(b,a.length)&&(Ch(a)||ye(a))}function $e(a,b,c){c&&$c(a,b,c)&&(b=w);for(var d=-1,e=Nh(a),f=e.length,g={};++d<f;){var h=e[d],i=a[h];b?ag.call(g,i)?g[i].push(h):g[i]=[h]:g[i]=h}return g}function _e(a){if(null==a)return[];He(a)||(a=Uf(a));var b=a.length;b=b&&bd(b)&&(Ch(a)||ye(a))&&b||0;for(var c=a.constructor,d=-1,e="function"==typeof c&&c.prototype===a,f=Of(b),g=b>0;++d<b;)f[d]=d+"";for(var h in a)g&&Zc(h,b)||"constructor"==h&&(e||!ag.call(a,h))||f.push(h);return f}function af(a){a=kd(a);for(var b=-1,c=Nh(a),d=c.length,e=Of(d);++b<d;){var f=c[b];e[b]=[f,a[f]]}return e}function bf(a,b,c){var d=null==a?w:a[b];return d===w&&(null==a||_c(b,a)||(b=ld(b),a=1==b.length?a:Ib(a,Wb(b,0,-1)),d=null==a?w:a[zd(b)]),d=d===w?c:d),Ge(d)?d.call(a):d}function cf(a,b,c){if(null==a)return a;var d=b+"";b=null!=a[d]||_c(b,a)?[d]:ld(b);for(var e=-1,f=b.length,g=f-1,h=a;null!=h&&++e<f;){var i=b[e];He(h)&&(e==g?h[i]=c:null==h[i]&&(h[i]=Zc(b[e+1])?[]:{})),h=h[i]}return a}function df(a,b,c,d){var e=Ch(a)||Qe(a);if(b=Oc(b,d,4),null==c)if(e||He(a)){var f=a.constructor;c=e?Ch(a)?new f:[]:Ig(Ge(f)?f.prototype:w)}else c={};return(e?db:Fb)(a,function(a,d,e){return b(c,a,d,e)}),c}function ef(a){return ac(a,Nh(a))}function ff(a){return ac(a,_e(a))}function gf(a,b,c){return b=+b||0,c===w?(c=b,b=0):c=+c||0,a>=wg(b,c)&&a<vg(b,c)}function hf(a,b,c){c&&$c(a,b,c)&&(b=c=w);var d=null==a,e=null==b;if(null==c&&(e&&"boolean"==typeof a?(c=a,a=1):"boolean"==typeof b&&(c=b,e=!0)),d&&e&&(b=1,e=!1),a=+a||0,e?(b=a,a=0):b=+b||0,c||a%1||b%1){var f=zg();return wg(a+f*(b-a+hg("1e-"+((f+"").length-1))),b)}return Ub(a,b)}function jf(a){return a=e(a),a&&a.charAt(0).toUpperCase()+a.slice(1)}function kf(a){return a=e(a),a&&a.replace(Ha,j).replace(Aa,"")}function lf(a,b,c){a=e(a),b+="";var d=a.length;return c=c===w?d:wg(0>c?0:+c||0,d),c-=b.length,c>=0&&a.indexOf(b,c)==c}function mf(a){return a=e(a),a&&ra.test(a)?a.replace(pa,k):a}function nf(a){return a=e(a),a&&za.test(a)?a.replace(ya,l):a||"(?:)"}function of(a,b,c){a=e(a),b=+b;var d=a.length;if(d>=b||!tg(b))return a;var f=(b-d)/2,g=rg(f),h=pg(f);return c=Gc("",h,c),c.slice(0,g)+a+c}function pf(a,b,c){return(c?$c(a,b,c):null==b)?b=0:b&&(b=+b),a=tf(a),yg(a,b||(Ea.test(a)?16:10))}function qf(a,b){var c="";if(a=e(a),b=+b,1>b||!a||!tg(b))return c;do b%2&&(c+=a),b=rg(b/2),a+=a;while(b);return c}function rf(a,b,c){return a=e(a),c=null==c?0:wg(0>c?0:+c||0,a.length),a.lastIndexOf(b,c)==c}function sf(a,b,c){var d=W.templateSettings;c&&$c(a,b,c)&&(b=c=w),a=e(a),b=qb(rb({},c||b),d,pb);var f,g,h=qb(rb({},b.imports),d.imports,pb),i=Nh(h),j=ac(h,i),k=0,l=b.interpolate||Ia,n="__p += '",o=Vf((b.escape||Ia).source+"|"+l.source+"|"+(l===ua?Ca:Ia).source+"|"+(b.evaluate||Ia).source+"|$","g"),p="//# sourceURL="+("sourceURL"in b?b.sourceURL:"lodash.templateSources["+ ++Ma+"]")+"\n";a.replace(o,function(b,c,d,e,h,i){return d||(d=e),n+=a.slice(k,i).replace(Ja,m),c&&(f=!0,n+="' +\n__e("+c+") +\n'"),h&&(g=!0,n+="';\n"+h+";\n__p += '"),d&&(n+="' +\n((__t = ("+d+")) == null ? '' : __t) +\n'"),k=i+b.length,b}),n+="';\n";var q=b.variable;q||(n="with (obj) {\n"+n+"\n}\n"),n=(g?n.replace(la,""):n).replace(ma,"$1").replace(na,"$1;"),n="function("+(q||"obj")+") {\n"+(q?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(f?", __e = _.escape":"")+(g?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+n+"return __p\n}";var r=Yh(function(){return Rf(i,p+"return "+n).apply(w,j)});if(r.source=n,Ee(r))throw r;return r}function tf(a,b,c){var d=a;return(a=e(a))?(c?$c(d,b,c):null==b)?a.slice(s(a),t(a)+1):(b+="",a.slice(f(a,b),g(a,b)+1)):a}function uf(a,b,c){var d=a;return a=e(a),a?(c?$c(d,b,c):null==b)?a.slice(s(a)):a.slice(f(a,b+"")):a}function vf(a,b,c){var d=a;return a=e(a),a?(c?$c(d,b,c):null==b)?a.slice(0,t(a)+1):a.slice(0,g(a,b+"")+1):a}function wf(a,b,c){c&&$c(a,b,c)&&(b=w);var d=H,f=I;if(null!=b)if(He(b)){var g="separator"in b?b.separator:g;d="length"in b?+b.length||0:d,f="omission"in b?e(b.omission):f}else d=+b||0;if(a=e(a),d>=a.length)return a;var h=d-f.length;if(1>h)return f;var i=a.slice(0,h);if(null==g)return i+f;if(Oe(g)){if(a.slice(h).search(g)){var j,k,l=a.slice(0,h);for(g.global||(g=Vf(g.source,(Da.exec(g)||"")+"g")),g.lastIndex=0;j=g.exec(l);)k=j.index;i=i.slice(0,null==k?h:k)}}else if(a.indexOf(g,h)!=h){var m=i.lastIndexOf(g);m>-1&&(i=i.slice(0,m))}return i+f}function xf(a){return a=e(a),a&&qa.test(a)?a.replace(oa,u):a}function yf(a,b,c){return c&&$c(a,b,c)&&(b=w),a=e(a),a.match(b||Ka)||[]}function zf(a,b,c){return c&&$c(a,b,c)&&(b=w),o(a)?Cf(a):ub(a,b)}function Af(a){return function(){return a}}function Bf(a){return a}function Cf(a){return Nb(vb(a,!0))}function Df(a,b){return Ob(a,vb(b,!0))}function Ef(a,b,c){if(null==c){var d=He(b),e=d?Nh(b):w,f=e&&e.length?Hb(b,e):w;(f?f.length:d)||(f=!1,c=b,b=a,a=this)}f||(f=Hb(b,Nh(b)));var g=!0,h=-1,i=Ge(a),j=f.length;c===!1?g=!1:He(c)&&"chain"in c&&(g=c.chain);for(;++h<j;){var k=f[h],l=b[k];a[k]=l,i&&(a.prototype[k]=function(b){return function(){var c=this.__chain__;if(g||c){var d=a(this.__wrapped__),e=d.__actions__=cb(this.__actions__);return e.push({func:b,args:arguments,thisArg:a}),d.__chain__=c,d}return b.apply(a,jb([this.value()],arguments))}}(l))}return a}function Ff(){return _a._=dg,this}function Gf(){}function Hf(a){return _c(a)?Rb(a):Sb(a)}function If(a){return function(b){return Ib(a,ld(b),b+"")}}function Jf(a,b,c){c&&$c(a,b,c)&&(b=c=w),a=+a||0,c=null==c?1:+c||0,null==b?(b=a,a=0):b=+b||0;for(var d=-1,e=vg(pg((b-a)/(c||1)),0),f=Of(e);++d<e;)f[d]=a,a+=c;return f}function Kf(a,b,c){if(a=rg(a),1>a||!tg(a))return[];var d=-1,e=Of(wg(a,Cg));for(b=fc(b,c,1);++d<a;)Cg>d?e[d]=b(d):b(d);return e}function Lf(a){var b=++bg;return e(a)+b}function Mf(a,b){return(+a||0)+(+b||0)}function Nf(a,b,c){return c&&$c(a,b,c)&&(b=w),b=Oc(b,c,3),1==b.length?nb(Ch(a)?a:jd(a),b):$b(a,b)}p=p?ab.defaults(_a.Object(),p,ab.pick(_a,La)):_a;var Of=p.Array,Pf=p.Date,Qf=p.Error,Rf=p.Function,Sf=p.Math,Tf=p.Number,Uf=p.Object,Vf=p.RegExp,Wf=p.String,Xf=p.TypeError,Yf=Of.prototype,Zf=Uf.prototype,$f=Wf.prototype,_f=Rf.prototype.toString,ag=Zf.hasOwnProperty,bg=0,cg=Zf.toString,dg=_a._,eg=Vf("^"+_f.call(ag).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),fg=p.ArrayBuffer,gg=p.clearTimeout,hg=p.parseFloat,ig=Sf.pow,jg=Zf.propertyIsEnumerable,kg=Sc(p,"Set"),lg=p.setTimeout,mg=Yf.splice,ng=p.Uint8Array,og=Sc(p,"WeakMap"),pg=Sf.ceil,qg=Sc(Uf,"create"),rg=Sf.floor,sg=Sc(Of,"isArray"),tg=p.isFinite,ug=Sc(Uf,"keys"),vg=Sf.max,wg=Sf.min,xg=Sc(Pf,"now"),yg=p.parseInt,zg=Sf.random,Ag=Tf.NEGATIVE_INFINITY,Bg=Tf.POSITIVE_INFINITY,Cg=4294967295,Dg=Cg-1,Eg=Cg>>>1,Fg=9007199254740991,Gg=og&&new og,Hg={};W.support={};W.templateSettings={escape:sa,evaluate:ta,interpolate:ua,variable:"",imports:{_:W}};var Ig=function(){function a(){}return function(b){if(He(b)){a.prototype=b;var c=new a;a.prototype=w}return c||{}}}(),Jg=lc(Fb),Kg=lc(Gb,!0),Lg=mc(),Mg=mc(!0),Ng=Gg?function(a,b){return Gg.set(a,b),a}:Bf,Og=Gg?function(a){return Gg.get(a)}:Gf,Pg=Rb("length"),Qg=function(){var a=0,b=0;return function(c,d){var e=oh(),f=K-(e-b);if(b=e,f>0){if(++a>=J)return c}else a=0;return Ng(c,d)}}(),Rg=qe(function(a,b){return o(a)&&Yc(a)?xb(a,Db(b,!1,!0)):[]}),Sg=vc(),Tg=vc(!0),Ug=qe(function(a){for(var b=a.length,d=b,e=Of(l),f=Qc(),g=f===c,h=[];d--;){var i=a[d]=Yc(i=a[d])?i:[];e[d]=g&&i.length>=120?oc(d&&i):null}var j=a[0],k=-1,l=j?j.length:0,m=e[0];a:for(;++k<l;)if(i=j[k],(m?Za(m,i):f(h,i,0))<0){for(var d=b;--d;){var n=e[d];if((n?Za(n,i):f(a[d],i,0))<0)continue a}m&&m.push(i),h.push(i)}return h}),Vg=qe(function(b,c){c=Db(c);var d=sb(b,c);return Tb(b,c.sort(a)),d}),Wg=Jc(),Xg=Jc(!0),Yg=qe(function(a){return _b(Db(a,!1,!0))}),Zg=qe(function(a,b){return Yc(a)?xb(a,b):[]}),$g=qe(Kd),_g=qe(function(a){var b=a.length,c=b>2?a[b-2]:w,d=b>1?a[b-1]:w;return b>2&&"function"==typeof c?b-=2:(c=b>1&&"function"==typeof d?(--b,d):w,d=w),a.length=b,Ld(a,c,d)}),ah=qe(function(a){return a=Db(a),this.thru(function(b){return bb(Ch(b)?b:[kd(b)],a)})}),bh=qe(function(a,b){return sb(a,Db(b))}),ch=jc(function(a,b,c){ag.call(a,c)?++a[c]:a[c]=1}),dh=uc(Jg),eh=uc(Kg,!0),fh=yc(db,Jg),gh=yc(eb,Kg),hh=jc(function(a,b,c){ag.call(a,c)?a[c].push(b):a[c]=[b]}),ih=jc(function(a,b,c){a[c]=b}),jh=qe(function(a,b,c){var d=-1,e="function"==typeof b,f=_c(b),g=Yc(a)?Of(a.length):[];return Jg(a,function(a){var h=e?b:f&&null!=a?a[b]:w;g[++d]=h?h.apply(a,c):Xc(a,b,c)}),g}),kh=jc(function(a,b,c){a[c?0:1].push(b)},function(){return[[],[]]}),lh=Ec(kb,Jg),mh=Ec(lb,Kg),nh=qe(function(a,b){if(null==a)return[];var c=b[2];return c&&$c(b[0],b[1],c)&&(b.length=1),Zb(a,Db(b),[])}),oh=xg||function(){return(new Pf).getTime()},ph=qe(function(a,b,c){var d=y;if(c.length){var e=q(c,ph.placeholder);d|=D}return Kc(a,d,b,c,e)}),qh=qe(function(a,b){b=b.length?Db(b):Xe(a);for(var c=-1,d=b.length;++c<d;){var e=b[c];a[e]=Kc(a[e],y,a)}return a}),rh=qe(function(a,b,c){var d=y|z;if(c.length){var e=q(c,rh.placeholder);d|=D}return Kc(b,d,a,c,e)}),sh=rc(B),th=rc(C),uh=qe(function(a,b){return wb(a,1,b)}),vh=qe(function(a,b,c){return wb(a,b,c)}),wh=xc(),xh=xc(!0),yh=qe(function(a,b){if(b=Db(b),"function"!=typeof a||!fb(b,d))throw new Xf(O);var c=b.length;return qe(function(d){for(var e=wg(d.length,c);e--;)d[e]=b[e](d[e]);return a.apply(this,d)})}),zh=Dc(D),Ah=Dc(E),Bh=qe(function(a,b){return Kc(a,G,w,w,w,Db(b))}),Ch=sg||function(a){return o(a)&&bd(a.length)&&cg.call(a)==R},Dh=kc(Pb),Eh=kc(function(a,b,c){return c?qb(a,b,c):rb(a,b)}),Fh=sc(Eh,ob),Gh=sc(Dh,ed),Hh=wc(Fb),Ih=wc(Gb),Jh=zc(Lg),Kh=zc(Mg),Lh=Ac(Fb),Mh=Ac(Gb),Nh=ug?function(a){var b=null==a?w:a.constructor;return"function"==typeof b&&b.prototype===a||"function"!=typeof a&&Yc(a)?id(a):He(a)?ug(a):[]}:id,Oh=Bc(!0),Ph=Bc(),Qh=qe(function(a,b){if(null==a)return{};if("function"!=typeof b[0]){var b=ib(Db(b),Wf);return fd(a,xb(_e(a),b))}var c=fc(b[0],b[1],3);return gd(a,function(a,b,d){return!c(a,b,d)})}),Rh=qe(function(a,b){return null==a?{}:"function"==typeof b[0]?gd(a,fc(b[0],b[1],3)):fd(a,Db(b))}),Sh=pc(function(a,b,c){return b=b.toLowerCase(),a+(c?b.charAt(0).toUpperCase()+b.slice(1):b)}),Th=pc(function(a,b,c){return a+(c?"-":"")+b.toLowerCase()}),Uh=Cc(),Vh=Cc(!0),Wh=pc(function(a,b,c){return a+(c?"_":"")+b.toLowerCase()}),Xh=pc(function(a,b,c){return a+(c?" ":"")+(b.charAt(0).toUpperCase()+b.slice(1))}),Yh=qe(function(a,b){try{return a.apply(w,b)}catch(c){return Ee(c)?c:new Qf(c)}}),Zh=qe(function(a,b){return function(c){return Xc(c,a,b)}}),$h=qe(function(a,b){return function(c){return Xc(a,c,b)}}),_h=Ic("ceil"),ai=Ic("floor"),bi=tc(we,Ag),ci=tc(Se,Bg),di=Ic("round");return W.prototype=$.prototype,aa.prototype=Ig($.prototype),aa.prototype.constructor=aa,Pa.prototype=Ig($.prototype),Pa.prototype.constructor=Pa,Ta.prototype["delete"]=Ua,Ta.prototype.get=Va,Ta.prototype.has=Wa,Ta.prototype.set=Xa,Ya.prototype.push=$a,ne.Cache=Ta,W.after=je,W.ary=ke,W.assign=Eh,W.at=bh,W.before=le,W.bind=ph,W.bindAll=qh,W.bindKey=rh,W.callback=zf,W.chain=Od,W.chunk=nd,W.compact=od,W.constant=Af,W.countBy=ch,W.create=We,W.curry=sh,W.curryRight=th,W.debounce=me,W.defaults=Fh,W.defaultsDeep=Gh,W.defer=uh,W.delay=vh,W.difference=Rg,W.drop=pd,W.dropRight=qd,W.dropRightWhile=rd,W.dropWhile=sd,W.fill=td,W.filter=Yd,W.flatten=vd,W.flattenDeep=wd,W.flow=wh,W.flowRight=xh,W.forEach=fh,W.forEachRight=gh,W.forIn=Jh,W.forInRight=Kh,W.forOwn=Lh,W.forOwnRight=Mh,W.functions=Xe,W.groupBy=hh,W.indexBy=ih,W.initial=yd,W.intersection=Ug,W.invert=$e,W.invoke=jh,W.keys=Nh,W.keysIn=_e,W.map=_d,W.mapKeys=Oh,W.mapValues=Ph,W.matches=Cf,W.matchesProperty=Df,W.memoize=ne,W.merge=Dh,W.method=Zh,W.methodOf=$h,W.mixin=Ef,W.modArgs=yh,W.negate=oe,W.omit=Qh,W.once=pe,W.pairs=af,W.partial=zh,W.partialRight=Ah,W.partition=kh,W.pick=Rh,W.pluck=ae,W.property=Hf,W.propertyOf=If,W.pull=Bd,W.pullAt=Vg,W.range=Jf,W.rearg=Bh,W.reject=be,W.remove=Cd,W.rest=Dd,W.restParam=qe,W.set=cf,W.shuffle=de,W.slice=Ed,W.sortBy=ge,W.sortByAll=nh,W.sortByOrder=he,W.spread=re,W.take=Fd,W.takeRight=Gd,W.takeRightWhile=Hd,W.takeWhile=Id,W.tap=Pd,W.throttle=se,W.thru=Qd,W.times=Kf,W.toArray=Ue,W.toPlainObject=Ve,W.transform=df,W.union=Yg,W.uniq=Jd,W.unzip=Kd,W.unzipWith=Ld,W.values=ef,W.valuesIn=ff,W.where=ie,W.without=Zg,W.wrap=te,W.xor=Md,W.zip=$g,W.zipObject=Nd,W.zipWith=_g,W.backflow=xh,W.collect=_d,W.compose=xh,W.each=fh,W.eachRight=gh,W.extend=Eh,W.iteratee=zf,W.methods=Xe,W.object=Nd,W.select=Yd,W.tail=Dd,W.unique=Jd,Ef(W,W),W.add=Mf,W.attempt=Yh,W.camelCase=Sh,W.capitalize=jf,W.ceil=_h,W.clone=ue,W.cloneDeep=ve,W.deburr=kf,W.endsWith=lf,W.escape=mf,W.escapeRegExp=nf,W.every=Xd,W.find=dh,W.findIndex=Sg,W.findKey=Hh,W.findLast=eh,W.findLastIndex=Tg,W.findLastKey=Ih,W.findWhere=Zd,W.first=ud,W.floor=ai,W.get=Ye,W.gt=we,W.gte=xe,W.has=Ze,W.identity=Bf,W.includes=$d,W.indexOf=xd,W.inRange=gf,W.isArguments=ye,W.isArray=Ch,W.isBoolean=ze,W.isDate=Ae,W.isElement=Be,W.isEmpty=Ce,W.isEqual=De,W.isError=Ee,W.isFinite=Fe,W.isFunction=Ge,W.isMatch=Ie,W.isNaN=Je,W.isNative=Ke,W.isNull=Le,W.isNumber=Me,W.isObject=He,W.isPlainObject=Ne,W.isRegExp=Oe,W.isString=Pe,W.isTypedArray=Qe,W.isUndefined=Re,W.kebabCase=Th,W.last=zd,W.lastIndexOf=Ad,W.lt=Se,W.lte=Te,W.max=bi,W.min=ci,W.noConflict=Ff,W.noop=Gf,W.now=oh,W.pad=of,W.padLeft=Uh,W.padRight=Vh,W.parseInt=pf,W.random=hf,W.reduce=lh,W.reduceRight=mh,W.repeat=qf,W.result=bf,W.round=di,W.runInContext=v,W.size=ee,W.snakeCase=Wh,W.some=fe,W.sortedIndex=Wg,W.sortedLastIndex=Xg,W.startCase=Xh,W.startsWith=rf,W.sum=Nf,W.template=sf,W.trim=tf,W.trimLeft=uf,W.trimRight=vf,W.trunc=wf,W.unescape=xf,W.uniqueId=Lf,W.words=yf,W.all=Xd,W.any=fe,W.contains=$d,W.eq=De,W.detect=dh,W.foldl=lh,W.foldr=mh,W.head=ud,W.include=$d,W.inject=lh,Ef(W,function(){var a={};return Fb(W,function(b,c){W.prototype[c]||(a[c]=b)}),a}(),!1),W.sample=ce,W.prototype.sample=function(a){return this.__chain__||null!=a?this.thru(function(b){return ce(b,a)}):ce(this.value())},W.VERSION=x,db(["bind","bindKey","curry","curryRight","partial","partialRight"],function(a){W[a].placeholder=W}),db(["drop","take"],function(a,b){Pa.prototype[a]=function(c){var d=this.__filtered__;if(d&&!b)return new Pa(this);c=null==c?1:vg(rg(c)||0,0);var e=this.clone();return d?e.__takeCount__=wg(e.__takeCount__,c):e.__views__.push({size:c,type:a+(e.__dir__<0?"Right":"")}),e},Pa.prototype[a+"Right"]=function(b){return this.reverse()[a](b).reverse()}}),db(["filter","map","takeWhile"],function(a,b){var c=b+1,d=c!=N;Pa.prototype[a]=function(a,b){var e=this.clone();return e.__iteratees__.push({iteratee:Oc(a,b,1),type:c}),e.__filtered__=e.__filtered__||d,e}}),db(["first","last"],function(a,b){var c="take"+(b?"Right":"");Pa.prototype[a]=function(){return this[c](1).value()[0]}}),db(["initial","rest"],function(a,b){var c="drop"+(b?"":"Right");Pa.prototype[a]=function(){return this.__filtered__?new Pa(this):this[c](1)}}),db(["pluck","where"],function(a,b){var c=b?"filter":"map",d=b?Nb:Hf;Pa.prototype[a]=function(a){return this[c](d(a))}}),Pa.prototype.compact=function(){return this.filter(Bf)},Pa.prototype.reject=function(a,b){return a=Oc(a,b,1),this.filter(function(b){return!a(b)})},Pa.prototype.slice=function(a,b){a=null==a?0:+a||0;var c=this;return c.__filtered__&&(a>0||0>b)?new Pa(c):(0>a?c=c.takeRight(-a):a&&(c=c.drop(a)),b!==w&&(b=+b||0,c=0>b?c.dropRight(-b):c.take(b-a)),c)},Pa.prototype.takeRightWhile=function(a,b){return this.reverse().takeWhile(a,b).reverse()},Pa.prototype.toArray=function(){return this.take(Bg)},Fb(Pa.prototype,function(a,b){var c=/^(?:filter|map|reject)|While$/.test(b),d=/^(?:first|last)$/.test(b),e=W[d?"take"+("last"==b?"Right":""):b];e&&(W.prototype[b]=function(){var b=d?[1]:arguments,f=this.__chain__,g=this.__wrapped__,h=!!this.__actions__.length,i=g instanceof Pa,j=b[0],k=i||Ch(g);k&&c&&"function"==typeof j&&1!=j.length&&(i=k=!1);var l=function(a){return d&&f?e(a,1)[0]:e.apply(w,jb([a],b))},m={func:Qd,args:[l],thisArg:w},n=i&&!h;if(d&&!f)return n?(g=g.clone(),g.__actions__.push(m),a.call(g)):e.call(w,this.value())[0];if(!d&&k){g=n?g:new Pa(this);var o=a.apply(g,b);return o.__actions__.push(m),new aa(o,f)}return this.thru(l)})}),db(["join","pop","push","replace","shift","sort","splice","split","unshift"],function(a){var b=(/^(?:replace|split)$/.test(a)?$f:Yf)[a],c=/^(?:push|sort|unshift)$/.test(a)?"tap":"thru",d=/^(?:join|pop|replace|shift)$/.test(a);W.prototype[a]=function(){var a=arguments;return d&&!this.__chain__?b.apply(this.value(),a):this[c](function(c){return b.apply(c,a)})}}),Fb(Pa.prototype,function(a,b){var c=W[b];if(c){var d=c.name+"",e=Hg[d]||(Hg[d]=[]);e.push({name:b,func:c})}}),Hg[Fc(w,z).name]=[{name:"wrapper",func:w}],Pa.prototype.clone=Qa,Pa.prototype.reverse=Ra,Pa.prototype.value=Sa,W.prototype.chain=Rd,W.prototype.commit=Sd,W.prototype.concat=ah,W.prototype.plant=Td,W.prototype.reverse=Ud,W.prototype.toString=Vd,W.prototype.run=W.prototype.toJSON=W.prototype.valueOf=W.prototype.value=Wd,W.prototype.collect=W.prototype.map,W.prototype.head=W.prototype.first,W.prototype.select=W.prototype.filter,W.prototype.tail=W.prototype.rest,W}var w,x="3.10.1",y=1,z=2,A=4,B=8,C=16,D=32,E=64,F=128,G=256,H=30,I="...",J=150,K=16,L=200,M=1,N=2,O="Expected a function",P="__lodash_placeholder__",Q="[object Arguments]",R="[object Array]",S="[object Boolean]",T="[object Date]",U="[object Error]",V="[object Function]",W="[object Map]",X="[object Number]",Y="[object Object]",Z="[object RegExp]",$="[object Set]",_="[object String]",aa="[object WeakMap]",ba="[object ArrayBuffer]",ca="[object Float32Array]",da="[object Float64Array]",ea="[object Int8Array]",fa="[object Int16Array]",ga="[object Int32Array]",ha="[object Uint8Array]",ia="[object Uint8ClampedArray]",ja="[object Uint16Array]",ka="[object Uint32Array]",la=/\b__p \+= '';/g,ma=/\b(__p \+=) '' \+/g,na=/(__e\(.*?\)|\b__t\)) \+\n'';/g,oa=/&(?:amp|lt|gt|quot|#39|#96);/g,pa=/[&<>"'`]/g,qa=RegExp(oa.source),ra=RegExp(pa.source),sa=/<%-([\s\S]+?)%>/g,ta=/<%([\s\S]+?)%>/g,ua=/<%=([\s\S]+?)%>/g,va=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,wa=/^\w*$/,xa=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g,ya=/^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g,za=RegExp(ya.source),Aa=/[\u0300-\u036f\ufe20-\ufe23]/g,Ba=/\\(\\)?/g,Ca=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Da=/\w*$/,Ea=/^0[xX]/,Fa=/^\[object .+?Constructor\]$/,Ga=/^\d+$/,Ha=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,Ia=/($^)/,Ja=/['\n\r\u2028\u2029\\]/g,Ka=function(){var a="[A-Z\\xc0-\\xd6\\xd8-\\xde]",b="[a-z\\xdf-\\xf6\\xf8-\\xff]+";return RegExp(a+"+(?="+a+b+")|"+a+"?"+b+"|"+a+"+|[0-9]+","g")}(),La=["Array","ArrayBuffer","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Math","Number","Object","RegExp","Set","String","_","clearTimeout","isFinite","parseFloat","parseInt","setTimeout","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap"],Ma=-1,Na={};Na[ca]=Na[da]=Na[ea]=Na[fa]=Na[ga]=Na[ha]=Na[ia]=Na[ja]=Na[ka]=!0,Na[Q]=Na[R]=Na[ba]=Na[S]=Na[T]=Na[U]=Na[V]=Na[W]=Na[X]=Na[Y]=Na[Z]=Na[$]=Na[_]=Na[aa]=!1;var Oa={};Oa[Q]=Oa[R]=Oa[ba]=Oa[S]=Oa[T]=Oa[ca]=Oa[da]=Oa[ea]=Oa[fa]=Oa[ga]=Oa[X]=Oa[Y]=Oa[Z]=Oa[_]=Oa[ha]=Oa[ia]=Oa[ja]=Oa[ka]=!0,Oa[U]=Oa[V]=Oa[W]=Oa[$]=Oa[aa]=!1;var Pa={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss"},Qa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"},Ra={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&#96;":"`"},Sa={"function":!0,object:!0},Ta={0:"x30",1:"x31",2:"x32",3:"x33",4:"x34",5:"x35",6:"x36",7:"x37",8:"x38",9:"x39",A:"x41",B:"x42",C:"x43",D:"x44",E:"x45",F:"x46",a:"x61",b:"x62",c:"x63",d:"x64",e:"x65",f:"x66",n:"x6e",r:"x72",t:"x74",u:"x75",v:"x76",x:"x78"},Ua={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Va=Sa[typeof exports]&&exports&&!exports.nodeType&&exports,Wa=Sa[typeof module]&&module&&!module.nodeType&&module,Xa=Va&&Wa&&"object"==typeof global&&global&&global.Object&&global,Ya=Sa[typeof self]&&self&&self.Object&&self,Za=Sa[typeof window]&&window&&window.Object&&window,$a=Wa&&Wa.exports===Va&&Va,_a=Xa||Za!==(this&&this.window)&&Za||Ya||this,ab=v();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(_a._=ab,define(function(){return ab})):Va&&Wa?$a?(Wa.exports=ab)._=ab:Va._=ab:_a._=ab}.call(this),angular.module("templates-angularwizard",["step.html","wizard.html"]),angular.module("step.html",[]).run(["$templateCache",function(a){a.put("step.html",'<section ng-show="selected" ng-class="{current: selected, done: completed}" class="step" ng-transclude>\n</section>')}]),angular.module("wizard.html",[]).run(["$templateCache",function(a){a.put("wizard.html",'<div>\n    <div class="steps" ng-transclude></div>\n    <ul class="steps-indicator steps-{{getEnabledSteps().length}}" ng-if="!hideIndicators">\n      <li ng-class="{default: !step.completed && !step.selected, current: step.selected && !step.completed, done: step.completed && !step.selected, editing: step.selected && step.completed}" ng-repeat="step in getEnabledSteps()">\n        <a ng-click="goTo(step)">{{step.title || step.wzTitle}}</a>\n      </li>\n    </ul>\n</div>\n')}]),angular.module("mgo-angular-wizard",["templates-angularwizard"]),angular.module("mgo-angular-wizard").directive("wzStep",function(){return{restrict:"EA",replace:!0,transclude:!0,scope:{wzTitle:"@",title:"@",canenter:"=",canexit:"=",disabled:"@?wzDisabled"},require:"^wizard",templateUrl:function(a,b){return b.template||"step.html"},link:function(a,b,c,d){a.title=a.title||a.wzTitle,d.addStep(a)}}}),angular.module("mgo-angular-wizard").directive("wizard",function(){return{restrict:"EA",replace:!0,transclude:!0,scope:{currentStep:"=",onFinish:"&",hideIndicators:"=",editMode:"=",name:"@"},templateUrl:function(a,b){return b.template||"wizard.html"},controller:["$scope","$element","$log","WizardHandler","$q",function(a,b,c,d,e){function f(b){var c,d;return void 0===b.canenter?!0:"boolean"==typeof b.canenter?b.canenter:(d=b.canenter(a.context),angular.isFunction(d.then)?(c=e.defer(),d.then(function(a){c.resolve(a)}),c.promise):b.canenter(a.context)===!0)}function g(b,c){var d,f;return"undefined"==typeof b.canexit||a.getStepNumber(c)<a.currentStepNumber()?!0:"boolean"==typeof b.canexit?b.canexit:(f=b.canexit(a.context),angular.isFunction(f.then)?(d=e.defer(),f.then(function(a){d.resolve(a)}),d.promise):b.canexit(a.context)===!0)}function h(){_.each(a.getEnabledSteps(),function(a){a.selected=!1}),a.selectedStep=null}var i=!0;d.addWizard(a.name||d.defaultName,this),a.$on("$destroy",function(){d.removeWizard(a.name||d.defaultName)}),a.steps=[],a.context={},a.$watch("currentStep",function(b){if(b){var c=a.selectedStep.title||a.selectedStep.wzTitle;a.selectedStep&&c!==a.currentStep&&a.goTo(_.findWhere(a.getEnabledSteps(),{title:a.currentStep}))}}),a.$watch("[editMode, steps.length]",function(){var b=a.editMode;_.isUndefined(b)||_.isNull(b)||b&&_.each(a.getEnabledSteps(),function(a){a.completed=!0})},!0),this.addStep=function(b){a.steps.push(b),1===a.getEnabledSteps().length&&a.goTo(a.getEnabledSteps()[0])},this.context=a.context,a.getStepNumber=function(b){return _.indexOf(a.getEnabledSteps(),b)+1},a.goTo=function(b){if(i)h(),a.selectedStep=b,_.isUndefined(a.currentStep)||(a.currentStep=b.title||b.wzTitle),b.selected=!0,a.$emit("wizard:stepChanged",{step:b,index:_.indexOf(a.getEnabledSteps(),b)}),i=!1;else{var c;a.currentStepNumber()>0?c=a.currentStepNumber()-1:0===a.currentStepNumber()&&(c=0),e.all([g(a.getEnabledSteps()[c],b),f(b)]).then(function(c){c[0]&&c[1]&&(h(),a.selectedStep=b,_.isUndefined(a.currentStep)||(a.currentStep=b.title||b.wzTitle),b.selected=!0,a.$emit("wizard:stepChanged",{step:b,index:_.indexOf(a.getEnabledSteps(),b)}))})}},a.currentStepNumber=function(){return _.indexOf(a.getEnabledSteps(),a.selectedStep)+1},a.getEnabledSteps=function(){return _.filter(a.steps,function(a){return"true"!==a.disabled})},this.currentStepTitle=function(){return a.selectedStep.title},this.currentStepNumber=function(){return a.currentStepNumber()},this.next=function(b){var c=a.getEnabledSteps(),d=_.indexOf(c,a.selectedStep);if(angular.isFunction(b)){if(!b())return;d===c.length-1?this.finish():a.goTo(c[d+1])}b||(a.selectedStep.completed=!0),d===c.length-1?this.finish():a.goTo(c[d+1])},this.goTo=function(b){var c,d=a.getEnabledSteps();c=_.isNumber(b)?d[b]:_.findWhere(d,{title:b}),a.goTo(c)},this.finish=function(){a.onFinish&&a.onFinish()},this.previous=function(){var b=_.indexOf(a.getEnabledSteps(),a.selectedStep);if(0===b)throw new Error("Can't go back. It's already in step 0");a.goTo(a.getEnabledSteps()[b-1])},this.cancel=function(){var b=_.indexOf(a.getEnabledSteps(),a.selectedStep);if(0===b)throw new Error("Can't go back. It's already in step 0");a.goTo(a.getEnabledSteps()[0])}}]}}),wizardButtonDirective("wzNext"),wizardButtonDirective("wzPrevious"),wizardButtonDirective("wzFinish"),wizardButtonDirective("wzCancel"),angular.module("mgo-angular-wizard").factory("WizardHandler",function(){var a={},b={};return a.defaultName="defaultWizard",a.addWizard=function(a,c){b[a]=c},a.removeWizard=function(a){delete b[a]},a.wizard=function(c){var d=c;return c||(d=a.defaultName),b[d]},a}),angular.module("xeditable",[]).value("editableOptions",{theme:"default",icon_set:"default",buttons:"right",blurElem:"cancel",blurForm:"ignore",activate:"focus",isDisabled:!1,activationEvent:"click"}),angular.module("xeditable").directive("editableBsdate",["editableDirectiveFactory",function(a){return a({directiveName:"editableBsdate",inputTpl:"<div></div>",render:function(){this.parent.render.call(this);
-var a=angular.element('<input type="text" class="form-control" ng-model="$data"/>'),b=angular.element('<button type="button" class="btn btn-default"><i class="glyphicon glyphicon-calendar"></i></button>'),c=angular.element('<span class="input-group-btn"></span>');a.attr("datepicker-popup",this.attrs.eDatepickerPopupXEditable||"yyyy/MM/dd"),a.attr("is-open",this.attrs.eIsOpen),a.attr("date-disabled",this.attrs.eDateDisabled),a.attr("datepicker-popup",this.attrs.eDatepickerPopup),a.attr("datepicker-mode",this.attrs.eDatepickerMode||"day"),a.attr("min-date",this.attrs.eMinDate),a.attr("max-date",this.attrs.eMaxDate),a.attr("show-weeks",this.attrs.eShowWeeks||!0),a.attr("starting-day",this.attrs.eStartingDay||0),a.attr("init-date",this.attrs.eInitDate||new Date),a.attr("min-mode",this.attrs.eMinMode||"day"),a.attr("max-mode",this.attrs.eMaxMode||"year"),a.attr("format-day",this.attrs.eFormatDay||"dd"),a.attr("format-month",this.attrs.eFormatMonth||"MMMM"),a.attr("format-year",this.attrs.eFormatYear||"yyyy"),a.attr("format-day-header",this.attrs.eFormatDayHeader||"EEE"),a.attr("format-day-title",this.attrs.eFormatDayTitle||"MMMM yyyy"),a.attr("format-month-title",this.attrs.eFormatMonthTitle||"yyyy"),a.attr("year-range",this.attrs.eYearRange||20),a.attr("show-button-bar",this.attrs.eShowButtonBar||!0),a.attr("current-text",this.attrs.eCurrentText||"Today"),a.attr("clear-text",this.attrs.eClearText||"Clear"),a.attr("close-text",this.attrs.eCloseText||"Done"),a.attr("close-on-date-selection",this.attrs.eCloseOnDateSelection||!0),a.attr("date-picker-append-to-body",this.attrs.eDatePickerAppendToBody||!1),a.attr("date-disabled",this.attrs.eDateDisabled),b.attr("ng-click",this.attrs.eNgClick),c.append(b),this.inputEl.prepend(a),this.inputEl.append(c),this.inputEl.removeAttr("class"),this.inputEl.attr("class","input-group")}})}]),angular.module("xeditable").directive("editableBstime",["editableDirectiveFactory",function(a){return a({directiveName:"editableBstime",inputTpl:"<timepicker></timepicker>",render:function(){this.parent.render.call(this);var a=angular.element('<div class="well well-small" style="display:inline-block;"></div>');a.attr("ng-model",this.inputEl.attr("ng-model")),this.inputEl.removeAttr("ng-model"),this.attrs.eNgChange&&(a.attr("ng-change",this.inputEl.attr("ng-change")),this.inputEl.removeAttr("ng-change")),this.inputEl.wrap(a)}})}]),angular.module("xeditable").directive("editableCheckbox",["editableDirectiveFactory",function(a){return a({directiveName:"editableCheckbox",inputTpl:'<input type="checkbox">',render:function(){this.parent.render.call(this),this.attrs.eTitle&&(this.inputEl.wrap("<label></label>"),this.inputEl.parent().append(this.attrs.eTitle))},autosubmit:function(){var a=this;a.inputEl.bind("change",function(){setTimeout(function(){a.scope.$apply(function(){a.scope.$form.$submit()})},500)})}})}]),angular.module("xeditable").directive("editableChecklist",["editableDirectiveFactory","editableNgOptionsParser",function(a,b){return a({directiveName:"editableChecklist",inputTpl:"<span></span>",useCopy:!0,render:function(){this.parent.render.call(this);var a=b(this.attrs.eNgOptions),c='<label ng-repeat="'+a.ngRepeat+'"><input type="checkbox" checklist-model="$parent.$data" checklist-value="'+a.locals.valueFn+'"><span ng-bind="'+a.locals.displayFn+'"></span></label>';this.inputEl.removeAttr("ng-model"),this.inputEl.removeAttr("ng-options"),this.inputEl.html(c)}})}]),angular.module("xeditable").directive("editableCombodate",["editableDirectiveFactory","editableCombodate",function(a,b){return a({directiveName:"editableCombodate",inputTpl:'<input type="text">',render:function(){this.parent.render.call(this);var a=b.getInstance(this.inputEl,{value:new Date(this.scope.$data)}),c=this;a.$widget.find("select").bind("change",function(b){c.scope.$data=new Date(a.getValue()).toISOString()})}})}]),function(){var a="text|password|email|tel|number|url|search|color|date|datetime|time|month|week|file".split("|");angular.forEach(a,function(a){var b="editable"+a.charAt(0).toUpperCase()+a.slice(1);angular.module("xeditable").directive(b,["editableDirectiveFactory",function(c){return c({directiveName:b,inputTpl:'<input type="'+a+'">'})}])}),angular.module("xeditable").directive("editableRange",["editableDirectiveFactory",function(a){return a({directiveName:"editableRange",inputTpl:'<input type="range" id="range" name="range">',render:function(){this.parent.render.call(this),this.inputEl.after("<output>{{$data}}</output>")}})}])}(),angular.module("xeditable").directive("editableRadiolist",["editableDirectiveFactory","editableNgOptionsParser",function(a,b){return a({directiveName:"editableRadiolist",inputTpl:"<span></span>",render:function(){this.parent.render.call(this);var a=b(this.attrs.eNgOptions),c='<label ng-repeat="'+a.ngRepeat+'"><input type="radio" ng-disabled="'+this.attrs.eNgDisabled+'" ng-model="$parent.$data" value="{{'+a.locals.valueFn+'}}"><span ng-bind="'+a.locals.displayFn+'"></span></label>';this.inputEl.removeAttr("ng-model"),this.inputEl.removeAttr("ng-options"),this.inputEl.html(c)},autosubmit:function(){var a=this;a.inputEl.bind("change",function(){setTimeout(function(){a.scope.$apply(function(){a.scope.$form.$submit()})},500)})}})}]),angular.module("xeditable").directive("editableSelect",["editableDirectiveFactory",function(a){return a({directiveName:"editableSelect",inputTpl:"<select></select>",autosubmit:function(){var a=this;a.inputEl.bind("change",function(){a.scope.$apply(function(){a.scope.$form.$submit()})})}})}]),angular.module("xeditable").directive("editableTextarea",["editableDirectiveFactory",function(a){return a({directiveName:"editableTextarea",inputTpl:"<textarea></textarea>",addListeners:function(){var a=this;a.parent.addListeners.call(a),a.single&&"no"!==a.buttons&&a.autosubmit()},autosubmit:function(){var a=this;a.inputEl.bind("keydown",function(b){(b.ctrlKey||b.metaKey)&&13===b.keyCode&&a.scope.$apply(function(){a.scope.$form.$submit()})})}})}]),angular.module("xeditable").factory("editableController",["$q","editableUtils",function(a,b){function c(a,c,d,e,f,g,h,i,j,k){var l,m,n=this;n.scope=a,n.elem=d,n.attrs=c,n.inputEl=null,n.editorEl=null,n.single=!0,n.error="",n.theme=f[h.theme]||f["default"],n.parent={},n.icon_set="default"===h.icon_set?g["default"][h.theme]:g.external[h.icon_set],n.inputTpl="",n.directiveName="",n.useCopy=!1,n.single=null,n.buttons="right",n.init=function(b){if(n.single=b,n.name=c.eName||c[n.directiveName],!c[n.directiveName])throw"You should provide value for `"+n.directiveName+"` in editable element!";l=e(c[n.directiveName]),n.single?n.buttons=n.attrs.buttons||h.buttons:n.buttons="no",c.eName&&n.scope.$watch("$data",function(a){n.scope.$form.$data[c.eName]=a}),c.onshow&&(n.onshow=function(){return n.catchError(e(c.onshow)(a))}),c.onhide&&(n.onhide=function(){return e(c.onhide)(a)}),c.oncancel&&(n.oncancel=function(){return e(c.oncancel)(a)}),c.onbeforesave&&(n.onbeforesave=function(){return n.catchError(e(c.onbeforesave)(a))}),c.onaftersave&&(n.onaftersave=function(){return n.catchError(e(c.onaftersave)(a))}),a.$parent.$watch(c[n.directiveName],function(a,b){n.setLocalValue(),n.handleEmpty()})},n.render=function(){var a=n.theme;n.inputEl=angular.element(n.inputTpl),n.controlsEl=angular.element(a.controlsTpl),n.controlsEl.append(n.inputEl),"no"!==n.buttons&&(n.buttonsEl=angular.element(a.buttonsTpl),n.submitEl=angular.element(a.submitTpl),n.cancelEl=angular.element(a.cancelTpl),n.icon_set&&(n.submitEl.find("span").addClass(n.icon_set.ok),n.cancelEl.find("span").addClass(n.icon_set.cancel)),n.buttonsEl.append(n.submitEl).append(n.cancelEl),n.controlsEl.append(n.buttonsEl),n.inputEl.addClass("editable-has-buttons")),n.errorEl=angular.element(a.errorTpl),n.controlsEl.append(n.errorEl),n.editorEl=angular.element(n.single?a.formTpl:a.noformTpl),n.editorEl.append(n.controlsEl);for(var d in c.$attr)if(!(d.length<=1)){var e=!1,f=d.substring(1,2);if("e"===d.substring(0,1)&&f===f.toUpperCase()&&(e=d.substring(1),"Form"!==e&&"NgSubmit"!==e)){e=e.substring(0,1).toLowerCase()+b.camelToDash(e.substring(1));var g="value"!==e&&""===c[d]?e:c[d];n.inputEl.attr(e,g)}}n.inputEl.addClass("editable-input"),n.inputEl.attr("ng-model","$data"),n.editorEl.addClass(b.camelToDash(n.directiveName)),n.single&&(n.editorEl.attr("editable-form","$form"),n.editorEl.attr("blur",n.attrs.blur||("no"===n.buttons?"cancel":h.blurElem))),angular.isFunction(a.postrender)&&a.postrender.call(n)},n.setLocalValue=function(){n.scope.$data=n.useCopy?angular.copy(l(a.$parent)):l(a.$parent)},n.show=function(){return n.setLocalValue(),n.render(),d.after(n.editorEl),j(n.editorEl)(a),n.addListeners(),d.addClass("editable-hide"),n.onshow()},n.hide=function(){return n.editorEl.remove(),d.removeClass("editable-hide"),n.onhide()},n.cancel=function(){n.oncancel()},n.addListeners=function(){n.inputEl.bind("keyup",function(a){if(n.single)switch(a.keyCode){case 27:n.scope.$apply(function(){n.scope.$form.$cancel()})}}),n.single&&"no"===n.buttons&&n.autosubmit(),n.editorEl.bind("click",function(a){a.which&&1!==a.which||n.scope.$form.$visible&&(n.scope.$form._clicked=!0)})},n.setWaiting=function(a){a?(m=!n.inputEl.attr("disabled")&&!n.inputEl.attr("ng-disabled")&&!n.inputEl.attr("ng-enabled"),m&&(n.inputEl.attr("disabled","disabled"),n.buttonsEl&&n.buttonsEl.find("button").attr("disabled","disabled"))):m&&(n.inputEl.removeAttr("disabled"),n.buttonsEl&&n.buttonsEl.find("button").removeAttr("disabled"))},n.activate=function(a,b){setTimeout(function(){var c=n.inputEl[0];"focus"===h.activate&&c.focus&&(a&&(b=b||a,c.onfocus=function(){var c=this;setTimeout(function(){c.setSelectionRange(a,b)})}),c.focus()),"select"===h.activate&&c.select&&c.select()},0)},n.setError=function(b){angular.isObject(b)||(a.$error=b,n.error=b)},n.catchError=function(a,b){return angular.isObject(a)&&b!==!0?k.when(a).then(angular.bind(this,function(a){this.catchError(a,!0)}),angular.bind(this,function(a){this.catchError(a,!0)})):b&&angular.isObject(a)&&a.status&&200!==a.status&&a.data&&angular.isString(a.data)?(this.setError(a.data),a=a.data):angular.isString(a)&&this.setError(a),a},n.save=function(){l.assign(a.$parent,n.useCopy?angular.copy(n.scope.$data):n.scope.$data)},n.handleEmpty=function(){var b=l(a.$parent),c=null===b||void 0===b||""===b||angular.isArray(b)&&0===b.length;d.toggleClass("editable-empty",c)},n.autosubmit=angular.noop,n.onshow=angular.noop,n.onhide=angular.noop,n.oncancel=angular.noop,n.onbeforesave=angular.noop,n.onaftersave=angular.noop}return c.$inject=["$scope","$attrs","$element","$parse","editableThemes","editableIcons","editableOptions","$rootScope","$compile","$q"],c}]),angular.module("xeditable").factory("editableDirectiveFactory",["$parse","$compile","editableThemes","$rootScope","$document","editableController","editableFormController","editableOptions",function(a,b,c,d,e,f,g,h){return function(b){return{restrict:"A",scope:!0,require:[b.directiveName,"?^form"],controller:f,link:function(c,f,i,j){var k,l=j[0],m=!1;if(j[1])k=j[1],m=!0;else if(i.eForm){var n=a(i.eForm)(c);if(n)k=n,m=!0;else for(var o=0;o<e[0].forms.length;o++)if(e[0].forms[o].name===i.eForm){k=null,m=!0;break}}angular.forEach(b,function(a,b){void 0!==l[b]&&(l.parent[b]=l[b])}),angular.extend(l,b);var p=angular.isDefined(i.editDisabled)?c.$eval(i.editDisabled):h.isDisabled;if(!p)if(l.init(!m),c.$editable=l,f.addClass("editable"),m)if(k){if(c.$form=k,!c.$form.$addEditable)throw"Form with editable elements should have `editable-form` attribute.";c.$form.$addEditable(l)}else d.$$editableBuffer=d.$$editableBuffer||{},d.$$editableBuffer[i.eForm]=d.$$editableBuffer[i.eForm]||[],d.$$editableBuffer[i.eForm].push(l),c.$form=null;else c.$form=g(),c.$form.$addEditable(l),i.eForm&&(c.$parent[i.eForm]=c.$form),(!i.eForm||i.eClickable)&&(f.addClass("editable-click"),f.bind(h.activationEvent,function(a){a.preventDefault(),a.editable=l,c.$apply(function(){c.$form.$show()})}))}}}}]),angular.module("xeditable").factory("editableFormController",["$parse","$document","$rootScope","editablePromiseCollection","editableUtils",function(a,b,c,d,e){var f=[],g=function(a,b){if(b==a)return!0;for(var c=b.parentNode;null!==c;){if(c==a)return!0;c=c.parentNode}return!1},h=function(a,b){var c=!0,d=a.$editables;return angular.forEach(d,function(a){var d=a.editorEl[0];g(d,b.target)&&(c=!1)}),c};b.bind("click",function(a){if(!(a.which&&1!==a.which||a.isDefaultPrevented())){for(var b=[],d=[],e=0;e<f.length;e++)f[e]._clicked?f[e]._clicked=!1:f[e].$waiting||("cancel"===f[e]._blur&&h(f[e],a)&&b.push(f[e]),"submit"===f[e]._blur&&h(f[e],a)&&d.push(f[e]));(b.length||d.length)&&c.$apply(function(){angular.forEach(b,function(a){a.$cancel()}),angular.forEach(d,function(a){a.$submit()})})}});var i={$addEditable:function(a){this.$editables.push(a),a.elem.bind("$destroy",angular.bind(this,this.$removeEditable,a)),a.scope.$form||(a.scope.$form=this),this.$visible&&a.catchError(a.show())},$removeEditable:function(a){for(var b=0;b<this.$editables.length;b++)if(this.$editables[b]===a)return void this.$editables.splice(b,1)},$show:function(){if(!this.$visible){this.$visible=!0;var a=d();a.when(this.$onshow()),this.$setError(null,""),angular.forEach(this.$editables,function(b){a.when(b.show())}),a.then({onWait:angular.bind(this,this.$setWaiting),onTrue:angular.bind(this,this.$activate),onFalse:angular.bind(this,this.$activate),onString:angular.bind(this,this.$activate)}),setTimeout(angular.bind(this,function(){this._clicked=!1,-1===e.indexOf(f,this)&&f.push(this)}),0)}},$activate:function(a){var b;if(this.$editables.length){if(angular.isString(a))for(b=0;b<this.$editables.length;b++)if(this.$editables[b].name===a)return void this.$editables[b].activate();for(b=0;b<this.$editables.length;b++)if(this.$editables[b].error)return void this.$editables[b].activate();this.$editables[0].activate(this.$editables[0].elem[0].selectionStart,this.$editables[0].elem[0].selectionEnd)}},$hide:function(){this.$visible&&(this.$visible=!1,this.$onhide(),angular.forEach(this.$editables,function(a){a.hide()}),e.arrayRemove(f,this))},$cancel:function(){this.$visible&&(this.$oncancel(),angular.forEach(this.$editables,function(a){a.cancel()}),this.$hide())},$setWaiting:function(a){this.$waiting=!!a,angular.forEach(this.$editables,function(b){b.setWaiting(!!a)})},$setError:function(a,b){angular.forEach(this.$editables,function(c){a&&c.name!==a||c.setError(b)})},$submit:function(){function a(a){var b=d();b.when(this.$onbeforesave()),b.then({onWait:angular.bind(this,this.$setWaiting),onTrue:a?angular.bind(this,this.$save):angular.bind(this,this.$hide),onFalse:angular.bind(this,this.$hide),onString:angular.bind(this,this.$activate)})}if(!this.$waiting){this.$setError(null,"");var b=d();angular.forEach(this.$editables,function(a){b.when(a.onbeforesave())}),b.then({onWait:angular.bind(this,this.$setWaiting),onTrue:angular.bind(this,a,!0),onFalse:angular.bind(this,a,!1),onString:angular.bind(this,this.$activate)})}},$save:function(){angular.forEach(this.$editables,function(a){a.save()});var a=d();a.when(this.$onaftersave()),angular.forEach(this.$editables,function(b){a.when(b.onaftersave())}),a.then({onWait:angular.bind(this,this.$setWaiting),onTrue:angular.bind(this,this.$hide),onFalse:angular.bind(this,this.$hide),onString:angular.bind(this,this.$activate)})},$onshow:angular.noop,$oncancel:angular.noop,$onhide:angular.noop,$onbeforesave:angular.noop,$onaftersave:angular.noop};return function(){return angular.extend({$editables:[],$visible:!1,$waiting:!1,$data:{},_clicked:!1,_blur:null},i)}}]),angular.module("xeditable").directive("editableForm",["$rootScope","$parse","editableFormController","editableOptions",function(a,b,c,d){return{restrict:"A",require:["form"],compile:function(){return{pre:function(b,d,e,f){var g,h=f[0];e.editableForm?b[e.editableForm]&&b[e.editableForm].$show?(g=b[e.editableForm],angular.extend(h,g)):(g=c(),b[e.editableForm]=g,angular.extend(g,h)):(g=c(),angular.extend(h,g));var i=a.$$editableBuffer,j=h.$name;j&&i&&i[j]&&(angular.forEach(i[j],function(a){g.$addEditable(a)}),delete i[j])},post:function(a,c,e,f){var g;g=e.editableForm&&a[e.editableForm]&&a[e.editableForm].$show?a[e.editableForm]:f[0],e.onshow&&(g.$onshow=angular.bind(g,b(e.onshow),a)),e.onhide&&(g.$onhide=angular.bind(g,b(e.onhide),a)),e.oncancel&&(g.$oncancel=angular.bind(g,b(e.oncancel),a)),e.shown&&b(e.shown)(a)&&g.$show(),g._blur=e.blur||d.blurForm,e.ngSubmit||e.submit||(e.onbeforesave&&(g.$onbeforesave=function(){return b(e.onbeforesave)(a,{$data:g.$data})}),e.onaftersave&&(g.$onaftersave=function(){return b(e.onaftersave)(a,{$data:g.$data})}),c.bind("submit",function(b){b.preventDefault(),a.$apply(function(){g.$submit()})})),c.bind("click",function(a){a.which&&1!==a.which||g.$visible&&(g._clicked=!0)})}}}}}]),angular.module("xeditable").factory("editablePromiseCollection",["$q",function(a){function b(){return{promises:[],hasFalse:!1,hasString:!1,when:function(b,c){if(b===!1)this.hasFalse=!0;else if(!c&&angular.isObject(b))this.promises.push(a.when(b));else{if(!angular.isString(b))return;this.hasString=!0}},then:function(b){function c(){h.hasString||h.hasFalse?!h.hasString&&h.hasFalse?e():f():d()}b=b||{};var d=b.onTrue||angular.noop,e=b.onFalse||angular.noop,f=b.onString||angular.noop,g=b.onWait||angular.noop,h=this;this.promises.length?(g(!0),a.all(this.promises).then(function(a){g(!1),angular.forEach(a,function(a){h.when(a,!0)}),c()},function(a){g(!1),f()})):c()}}}return b}]),angular.module("xeditable").factory("editableUtils",[function(){return{indexOf:function(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0;c<a.length;c++)if(b===a[c])return c;return-1},arrayRemove:function(a,b){var c=this.indexOf(a,b);return c>=0&&a.splice(c,1),b},camelToDash:function(a){var b=/[A-Z]/g;return a.replace(b,function(a,b){return(b?"-":"")+a.toLowerCase()})},dashToCamel:function(a){var b=/([\:\-\_]+(.))/g,c=/^moz([A-Z])/;return a.replace(b,function(a,b,c,d){return d?c.toUpperCase():c}).replace(c,"Moz$1")}}}]),angular.module("xeditable").factory("editableNgOptionsParser",[function(){function a(a){var c;if(!(c=a.match(b)))throw"ng-options parse error";var d,e=c[2]||c[1],f=c[4]||c[6],g=c[5],h=(c[3]||"",c[2]?c[1]:f),i=c[7],j=c[8],k=j?c[8]:null;return void 0===g?(d=f+" in "+i,void 0!==j&&(d+=" track by "+k)):d="("+g+", "+f+") in "+i,{ngRepeat:d,locals:{valueName:f,keyName:g,valueFn:h,displayFn:e}}}var b=/^\s*(.*?)(?:\s+as\s+(.*?))?(?:\s+group\s+by\s+(.*))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+(.*?)(?:\s+track\s+by\s+(.*?))?$/;return a}]),angular.module("xeditable").factory("editableCombodate",[function(){function a(a,b){if(this.$element=angular.element(a),"INPUT"!=this.$element[0].nodeName)throw"Combodate should be applied to INPUT element";this.defaults={format:"YYYY-MM-DD HH:mm",template:"D / MMM / YYYY   H : mm",value:null,minYear:1970,maxYear:2015,yearDescending:!0,minuteStep:5,secondStep:1,firstItem:"empty",errorClass:null,customClass:"",roundTime:!0,smartDays:!0},this.options=angular.extend({},this.defaults,b),this.init()}return a.prototype={constructor:a,init:function(){if(this.map={day:["D","date"],month:["M","month"],year:["Y","year"],hour:["[Hh]","hours"],minute:["m","minutes"],second:["s","seconds"],ampm:["[Aa]",""]},this.$widget=angular.element('<span class="combodate"></span>').html(this.getTemplate()),this.initCombos(),this.options.smartDays){var a=this;this.$widget.find("select").bind("change",function(b){(angular.element(b.target).hasClass("month")||angular.element(b.target).hasClass("year"))&&a.fillCombo("day")})}this.$widget.find("select").css("width","auto"),this.$element.css("display","none").after(this.$widget),this.setValue(this.$element.val()||this.options.value)},getTemplate:function(){var a=this.options.template,b=this.options.customClass;return angular.forEach(this.map,function(b,c){b=b[0];var d=new RegExp(b+"+"),e=b.length>1?b.substring(1,2):b;a=a.replace(d,"{"+e+"}")}),a=a.replace(/ /g,"&nbsp;"),angular.forEach(this.map,function(c,d){c=c[0];var e=c.length>1?c.substring(1,2):c;a=a.replace("{"+e+"}",'<select class="'+d+" "+b+'"></select>')}),a},initCombos:function(){for(var a in this.map){var b=this.$widget[0].querySelectorAll("."+a);this["$"+a]=b.length?angular.element(b):null,this.fillCombo(a)}},fillCombo:function(a){var b=this["$"+a];if(b){var c="fill"+a.charAt(0).toUpperCase()+a.slice(1),d=this[c](),e=b.val();b.html("");for(var f=0;f<d.length;f++)b.append('<option value="'+d[f][0]+'">'+d[f][1]+"</option>");b.val(e)}},fillCommon:function(a){var b,c=[];if("name"===this.options.firstItem){b=moment.relativeTime||moment.langData()._relativeTime;var d="function"==typeof b[a]?b[a](1,!0,a,!1):b[a];d=d.split(" ").reverse()[0],c.push(["",d])}else"empty"===this.options.firstItem&&c.push(["",""]);return c},fillDay:function(){var a,b,c=this.fillCommon("d"),d=-1!==this.options.template.indexOf("DD"),e=31;if(this.options.smartDays&&this.$month&&this.$year){var f=parseInt(this.$month.val(),10),g=parseInt(this.$year.val(),10);isNaN(f)||isNaN(g)||(e=moment([g,f]).daysInMonth())}for(b=1;e>=b;b++)a=d?this.leadZero(b):b,c.push([b,a]);return c},fillMonth:function(){var a,b,c=this.fillCommon("M"),d=-1!==this.options.template.indexOf("MMMM"),e=-1!==this.options.template.indexOf("MMM"),f=-1!==this.options.template.indexOf("MM");for(b=0;11>=b;b++)a=d?moment().date(1).month(b).format("MMMM"):e?moment().date(1).month(b).format("MMM"):f?this.leadZero(b+1):b+1,c.push([b,a]);return c},fillYear:function(){var a,b,c=[],d=-1!==this.options.template.indexOf("YYYY");for(b=this.options.maxYear;b>=this.options.minYear;b--)a=d?b:(b+"").substring(2),c[this.options.yearDescending?"push":"unshift"]([b,a]);return c=this.fillCommon("y").concat(c)},fillHour:function(){var a,b,c=this.fillCommon("h"),d=-1!==this.options.template.indexOf("h"),e=(-1!==this.options.template.indexOf("H"),-1!==this.options.template.toLowerCase().indexOf("hh")),f=d?1:0,g=d?12:23;for(b=f;g>=b;b++)a=e?this.leadZero(b):b,c.push([b,a]);return c},fillMinute:function(){var a,b,c=this.fillCommon("m"),d=-1!==this.options.template.indexOf("mm");for(b=0;59>=b;b+=this.options.minuteStep)a=d?this.leadZero(b):b,c.push([b,a]);return c},fillSecond:function(){var a,b,c=this.fillCommon("s"),d=-1!==this.options.template.indexOf("ss");for(b=0;59>=b;b+=this.options.secondStep)a=d?this.leadZero(b):b,c.push([b,a]);return c},fillAmpm:function(){var a=-1!==this.options.template.indexOf("a"),b=(-1!==this.options.template.indexOf("A"),[["am",a?"am":"AM"],["pm",a?"pm":"PM"]]);return b},getValue:function(a){var b,c={},d=this,e=!1;return angular.forEach(this.map,function(a,b){if("ampm"!==b){var f="day"===b?1:0;return c[b]=d["$"+b]?parseInt(d["$"+b].val(),10):f,isNaN(c[b])?(e=!0,!1):void 0}}),e?"":(this.$ampm&&(12===c.hour?c.hour="am"===this.$ampm.val()?0:12:c.hour="am"===this.$ampm.val()?c.hour:c.hour+12),b=moment([c.year,c.month,c.day,c.hour,c.minute,c.second]),this.highlight(b),a=void 0===a?this.options.format:a,null===a?b.isValid()?b:null:b.isValid()?b.format(a):"")},setValue:function(a){function b(a,b){var c={};return angular.forEach(a.children("option"),function(a,d){var e=angular.element(a).attr("value");if(""!==e){var f=Math.abs(e-b);("undefined"==typeof c.distance||f<c.distance)&&(c={value:e,distance:f})}}),c.value}if(a){var c="string"==typeof a?moment(a,this.options.format,!0):moment(a),d=this,e={};c.isValid()&&(angular.forEach(this.map,function(a,b){"ampm"!==b&&(e[b]=c[a[1]]())}),this.$ampm&&(e.hour>=12?(e.ampm="pm",e.hour>12&&(e.hour-=12)):(e.ampm="am",0===e.hour&&(e.hour=12))),angular.forEach(e,function(a,c){d["$"+c]&&("minute"===c&&d.options.minuteStep>1&&d.options.roundTime&&(a=b(d["$"+c],a)),"second"===c&&d.options.secondStep>1&&d.options.roundTime&&(a=b(d["$"+c],a)),d["$"+c].val(a))}),this.options.smartDays&&this.fillCombo("day"),this.$element.val(c.format(this.options.format)).triggerHandler("change"))}},highlight:function(a){a.isValid()?this.options.errorClass?this.$widget.removeClass(this.options.errorClass):this.$widget.find("select").css("border-color",this.borderColor):this.options.errorClass?this.$widget.addClass(this.options.errorClass):(this.borderColor||(this.borderColor=this.$widget.find("select").css("border-color")),this.$widget.find("select").css("border-color","red"))},leadZero:function(a){return 9>=a?"0"+a:a},destroy:function(){this.$widget.remove(),this.$element.removeData("combodate").show()}},{getInstance:function(b,c){return new a(b,c)}}}]),angular.module("xeditable").factory("editableIcons",function(){var a={"default":{bs2:{ok:"icon-ok icon-white",cancel:"icon-remove"},bs3:{ok:"glyphicon glyphicon-ok",cancel:"glyphicon glyphicon-remove"}},external:{"font-awesome":{ok:"fa fa-check",cancel:"fa fa-times"}}};return a}),angular.module("xeditable").factory("editableThemes",function(){var a={"default":{formTpl:'<form class="editable-wrap"></form>',noformTpl:'<span class="editable-wrap"></span>',controlsTpl:'<span class="editable-controls"></span>',inputTpl:"",errorTpl:'<div class="editable-error" ng-show="$error" ng-bind="$error"></div>',buttonsTpl:'<span class="editable-buttons"></span>',submitTpl:'<button type="submit">save</button>',cancelTpl:'<button type="button" ng-click="$form.$cancel()">cancel</button>'},bs2:{formTpl:'<form class="form-inline editable-wrap" role="form"></form>',noformTpl:'<span class="editable-wrap"></span>',controlsTpl:'<div class="editable-controls controls control-group" ng-class="{\'error\': $error}"></div>',inputTpl:"",errorTpl:'<div class="editable-error help-block" ng-show="$error" ng-bind="$error"></div>',buttonsTpl:'<span class="editable-buttons"></span>',submitTpl:'<button type="submit" class="btn btn-primary"><span></span></button>',cancelTpl:'<button type="button" class="btn" ng-click="$form.$cancel()"><span></span></button>'},bs3:{formTpl:'<form class="form-inline editable-wrap" role="form"></form>',noformTpl:'<span class="editable-wrap"></span>',controlsTpl:'<div class="editable-controls form-group" ng-class="{\'has-error\': $error}"></div>',inputTpl:"",errorTpl:'<div class="editable-error help-block" ng-show="$error" ng-bind="$error"></div>',buttonsTpl:'<span class="editable-buttons"></span>',submitTpl:'<button type="submit" class="btn btn-primary"><span></span></button>',cancelTpl:'<button type="button" class="btn btn-default" ng-click="$form.$cancel()"><span></span></button>',buttonsClass:"",inputClass:"",postrender:function(){switch(this.directiveName){case"editableText":case"editableSelect":case"editableTextarea":case"editableEmail":case"editableTel":case"editableNumber":case"editableUrl":case"editableSearch":case"editableDate":case"editableDatetime":case"editableBsdate":case"editableTime":case"editableMonth":case"editableWeek":if(this.inputEl.addClass("form-control"),this.theme.inputClass){if(this.inputEl.attr("multiple")&&("input-sm"===this.theme.inputClass||"input-lg"===this.theme.inputClass))break;this.inputEl.addClass(this.theme.inputClass)}break;case"editableCheckbox":this.editorEl.addClass("checkbox")}this.buttonsEl&&this.theme.buttonsClass&&this.buttonsEl.find("button").addClass(this.theme.buttonsClass)}}};return a}),function(){"use strict";function a(a){function b(b,d){var f,p,q=b==window,r=d&&void 0!==d.message?d.message:void 0;if(d=a.extend({},a.blockUI.defaults,d||{}),!d.ignoreIfBlocked||!a(b).data("blockUI.isBlocked")){if(d.overlayCSS=a.extend({},a.blockUI.defaults.overlayCSS,d.overlayCSS||{}),f=a.extend({},a.blockUI.defaults.css,d.css||{}),d.onOverlayClick&&(d.overlayCSS.cursor="pointer"),p=a.extend({},a.blockUI.defaults.themedCSS,d.themedCSS||{}),r=void 0===r?d.message:r,q&&n&&c(window,{fadeOut:0}),r&&"string"!=typeof r&&(r.parentNode||r.jquery)){var s=r.jquery?r[0]:r,t={};a(b).data("blockUI.history",t),t.el=s,t.parent=s.parentNode,t.display=s.style.display,t.position=s.style.position,t.parent&&t.parent.removeChild(s)}a(b).data("blockUI.onUnblock",d.onUnblock);var u,v,w,x,y=d.baseZ;u=a(k||d.forceIframe?'<iframe class="blockUI" style="z-index:'+y++ +';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+d.iframeSrc+'"></iframe>':'<div class="blockUI" style="display:none"></div>'),v=a(d.theme?'<div class="blockUI blockOverlay ui-widget-overlay" style="z-index:'+y++ +';display:none"></div>':'<div class="blockUI blockOverlay" style="z-index:'+y++ +';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>'),d.theme&&q?(x='<div class="blockUI '+d.blockMsgClass+' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+(y+10)+';display:none;position:fixed">',d.title&&(x+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(d.title||"&nbsp;")+"</div>"),x+='<div class="ui-widget-content ui-dialog-content"></div>',x+="</div>"):d.theme?(x='<div class="blockUI '+d.blockMsgClass+' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:'+(y+10)+';display:none;position:absolute">',d.title&&(x+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(d.title||"&nbsp;")+"</div>"),x+='<div class="ui-widget-content ui-dialog-content"></div>',x+="</div>"):x=q?'<div class="blockUI '+d.blockMsgClass+' blockPage" style="z-index:'+(y+10)+';display:none;position:fixed"></div>':'<div class="blockUI '+d.blockMsgClass+' blockElement" style="z-index:'+(y+10)+';display:none;position:absolute"></div>',w=a(x),r&&(d.theme?(w.css(p),w.addClass("ui-widget-content")):w.css(f)),d.theme||v.css(d.overlayCSS),v.css("position",q?"fixed":"absolute"),(k||d.forceIframe)&&u.css("opacity",0);var z=[u,v,w],A=a(q?"body":b);a.each(z,function(){this.appendTo(A)}),d.theme&&d.draggable&&a.fn.draggable&&w.draggable({handle:".ui-dialog-titlebar",cancel:"li"});var B=m&&(!a.support.boxModel||a("object,embed",q?null:b).length>0);if(l||B){if(q&&d.allowBodyStretch&&a.support.boxModel&&a("html,body").css("height","100%"),(l||!a.support.boxModel)&&!q)var C=i(b,"borderTopWidth"),D=i(b,"borderLeftWidth"),E=C?"(0 - "+C+")":0,F=D?"(0 - "+D+")":0;a.each(z,function(a,b){var c=b[0].style;if(c.position="absolute",2>a)q?c.setExpression("height","Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:"+d.quirksmodeOffsetHack+') + "px"'):c.setExpression("height",'this.parentNode.offsetHeight + "px"'),q?c.setExpression("width",'jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"'):c.setExpression("width",'this.parentNode.offsetWidth + "px"'),F&&c.setExpression("left",F),E&&c.setExpression("top",E);else if(d.centerY)q&&c.setExpression("top",'(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'),c.marginTop=0;else if(!d.centerY&&q){var e=d.css&&d.css.top?parseInt(d.css.top,10):0,f="((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "+e+') + "px"';c.setExpression("top",f)}})}if(r&&(d.theme?w.find(".ui-widget-content").append(r):w.append(r),(r.jquery||r.nodeType)&&a(r).show()),(k||d.forceIframe)&&d.showOverlay&&u.show(),d.fadeIn){var G=d.onBlock?d.onBlock:j,H=d.showOverlay&&!r?G:j,I=r?G:j;d.showOverlay&&v._fadeIn(d.fadeIn,H),r&&w._fadeIn(d.fadeIn,I)}else d.showOverlay&&v.show(),r&&w.show(),d.onBlock&&d.onBlock.bind(w)();if(e(1,b,d),q?(n=w[0],o=a(d.focusableElements,n),d.focusInput&&setTimeout(g,20)):h(w[0],d.centerX,d.centerY),d.timeout){var J=setTimeout(function(){q?a.unblockUI(d):a(b).unblock(d)},d.timeout);a(b).data("blockUI.timeout",J)}}}function c(b,c){var f,g=b==window,h=a(b),i=h.data("blockUI.history"),j=h.data("blockUI.timeout");j&&(clearTimeout(j),h.removeData("blockUI.timeout")),c=a.extend({},a.blockUI.defaults,c||{}),e(0,b,c),null===c.onUnblock&&(c.onUnblock=h.data("blockUI.onUnblock"),h.removeData("blockUI.onUnblock"));var k;k=g?a("body").children().filter(".blockUI").add("body > .blockUI"):h.find(">.blockUI"),
-c.cursorReset&&(k.length>1&&(k[1].style.cursor=c.cursorReset),k.length>2&&(k[2].style.cursor=c.cursorReset)),g&&(n=o=null),c.fadeOut?(f=k.length,k.stop().fadeOut(c.fadeOut,function(){0===--f&&d(k,i,c,b)})):d(k,i,c,b)}function d(b,c,d,e){var f=a(e);if(!f.data("blockUI.isBlocked")){b.each(function(a,b){this.parentNode&&this.parentNode.removeChild(this)}),c&&c.el&&(c.el.style.display=c.display,c.el.style.position=c.position,c.el.style.cursor="default",c.parent&&c.parent.appendChild(c.el),f.removeData("blockUI.history")),f.data("blockUI.static")&&f.css("position","static"),"function"==typeof d.onUnblock&&d.onUnblock(e,d);var g=a(document.body),h=g.width(),i=g[0].style.width;g.width(h-1).width(h),g[0].style.width=i}}function e(b,c,d){var e=c==window,g=a(c);if((b||(!e||n)&&(e||g.data("blockUI.isBlocked")))&&(g.data("blockUI.isBlocked",b),e&&d.bindEvents&&(!b||d.showOverlay))){var h="mousedown mouseup keydown keypress keyup touchstart touchend touchmove";b?a(document).bind(h,d,f):a(document).unbind(h,f)}}function f(b){if("keydown"===b.type&&b.keyCode&&9==b.keyCode&&n&&b.data.constrainTabKey){var c=o,d=!b.shiftKey&&b.target===c[c.length-1],e=b.shiftKey&&b.target===c[0];if(d||e)return setTimeout(function(){g(e)},10),!1}var f=b.data,h=a(b.target);return h.hasClass("blockOverlay")&&f.onOverlayClick&&f.onOverlayClick(b),h.parents("div."+f.blockMsgClass).length>0?!0:0===h.parents().children().filter("div.blockUI").length}function g(a){if(o){var b=o[a===!0?o.length-1:0];b&&b.focus()}}function h(a,b,c){var d=a.parentNode,e=a.style,f=(d.offsetWidth-a.offsetWidth)/2-i(d,"borderLeftWidth"),g=(d.offsetHeight-a.offsetHeight)/2-i(d,"borderTopWidth");b&&(e.left=f>0?f+"px":"0"),c&&(e.top=g>0?g+"px":"0")}function i(b,c){return parseInt(a.css(b,c),10)||0}a.fn._fadeIn=a.fn.fadeIn;var j=a.noop||function(){},k=/MSIE/.test(navigator.userAgent),l=/MSIE 6.0/.test(navigator.userAgent)&&!/MSIE 8.0/.test(navigator.userAgent),m=(document.documentMode||0,a.isFunction(document.createElement("div").style.setExpression));a.blockUI=function(a){b(window,a)},a.unblockUI=function(a){c(window,a)},a.growlUI=function(b,c,d,e){var f=a('<div class="growlUI"></div>');b&&f.append("<h1>"+b+"</h1>"),c&&f.append("<h2>"+c+"</h2>"),void 0===d&&(d=3e3);var g=function(b){b=b||{},a.blockUI({message:f,fadeIn:"undefined"!=typeof b.fadeIn?b.fadeIn:700,fadeOut:"undefined"!=typeof b.fadeOut?b.fadeOut:1e3,timeout:"undefined"!=typeof b.timeout?b.timeout:d,centerY:!1,showOverlay:!1,onUnblock:e,css:a.blockUI.defaults.growlCSS})};g();f.css("opacity");f.mouseover(function(){g({fadeIn:0,timeout:3e4});var b=a(".blockMsg");b.stop(),b.fadeTo(300,1)}).mouseout(function(){a(".blockMsg").fadeOut(1e3)})},a.fn.block=function(c){if(this[0]===window)return a.blockUI(c),this;var d=a.extend({},a.blockUI.defaults,c||{});return this.each(function(){var b=a(this);d.ignoreIfBlocked&&b.data("blockUI.isBlocked")||b.unblock({fadeOut:0})}),this.each(function(){"static"==a.css(this,"position")&&(this.style.position="relative",a(this).data("blockUI.static",!0)),this.style.zoom=1,b(this,c)})},a.fn.unblock=function(b){return this[0]===window?(a.unblockUI(b),this):this.each(function(){c(this,b)})},a.blockUI.version=2.7,a.blockUI.defaults={message:"<h1>Please wait...</h1>",title:null,draggable:!0,theme:!1,css:{padding:0,margin:0,width:"30%",top:"40%",left:"35%",textAlign:"center",color:"#000",border:"3px solid #aaa",backgroundColor:"#fff",cursor:"wait"},themedCSS:{width:"30%",top:"40%",left:"35%"},overlayCSS:{backgroundColor:"#000",opacity:.6,cursor:"wait"},cursorReset:"default",growlCSS:{width:"350px",top:"10px",left:"",right:"10px",border:"none",padding:"5px",opacity:.6,cursor:"default",color:"#fff",backgroundColor:"#000","-webkit-border-radius":"10px","-moz-border-radius":"10px","border-radius":"10px"},iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank",forceIframe:!1,baseZ:1e3,centerX:!0,centerY:!0,allowBodyStretch:!0,bindEvents:!0,constrainTabKey:!0,fadeIn:200,fadeOut:400,timeout:0,showOverlay:!0,focusInput:!0,focusableElements:":input:enabled:visible",onBlock:null,onUnblock:null,onOverlayClick:null,quirksmodeOffsetHack:4,blockMsgClass:"blockMsg",ignoreIfBlocked:!1};var n=null,o=[]}"function"==typeof define&&define.amd&&define.amd.jQuery?define(["jquery"],a):a(jQuery)}(),function(a,b,c){var d=a();a.fn.dropdownHover=function(c){return"ontouchstart"in document?this:(d=d.add(this.parent()),this.each(function(){function e(a){b.clearTimeout(f),b.clearTimeout(g),g=b.setTimeout(function(){d.find(":focus").blur(),n.instantlyCloseOthers===!0&&d.removeClass("open"),b.clearTimeout(g),h.attr("aria-expanded","true"),i.addClass("open"),h.trigger(l)},n.hoverDelay)}var f,g,h=a(this),i=h.parent(),j={delay:500,hoverDelay:0,instantlyCloseOthers:!0},k={delay:a(this).data("delay"),hoverDelay:a(this).data("hover-delay"),instantlyCloseOthers:a(this).data("close-others")},l="show.bs.dropdown",m="hide.bs.dropdown",n=a.extend(!0,{},j,c,k);i.hover(function(a){return i.hasClass("open")||h.is(a.target)?void e(a):!0},function(){b.clearTimeout(g),f=b.setTimeout(function(){h.attr("aria-expanded","false"),i.removeClass("open"),h.trigger(m)},n.delay)}),h.hover(function(a){return i.hasClass("open")||i.is(a.target)?void e(a):!0}),i.find(".dropdown-submenu").each(function(){var c,d=a(this);d.hover(function(){b.clearTimeout(c),d.children(".dropdown-menu").show(),d.siblings().children(".dropdown-menu").hide()},function(){var a=d.children(".dropdown-menu");c=b.setTimeout(function(){a.hide()},n.delay)})})}))},a(document).ready(function(){a('[data-hover="dropdown"]').dropdownHover()})}(jQuery,window),function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){"use strict";function b(b){var c=[{re:/[\xC0-\xC6]/g,ch:"A"},{re:/[\xE0-\xE6]/g,ch:"a"},{re:/[\xC8-\xCB]/g,ch:"E"},{re:/[\xE8-\xEB]/g,ch:"e"},{re:/[\xCC-\xCF]/g,ch:"I"},{re:/[\xEC-\xEF]/g,ch:"i"},{re:/[\xD2-\xD6]/g,ch:"O"},{re:/[\xF2-\xF6]/g,ch:"o"},{re:/[\xD9-\xDC]/g,ch:"U"},{re:/[\xF9-\xFC]/g,ch:"u"},{re:/[\xC7-\xE7]/g,ch:"c"},{re:/[\xD1]/g,ch:"N"},{re:/[\xF1]/g,ch:"n"}];return a.each(c,function(){b=b.replace(this.re,this.ch)}),b}function c(a){var b={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},c="(?:"+Object.keys(b).join("|")+")",d=new RegExp(c),e=new RegExp(c,"g"),f=null==a?"":""+a;return d.test(f)?f.replace(e,function(a){return b[a]}):f}function d(b,c){var d=arguments,f=b,g=c;[].shift.apply(d);var h,i=this.each(function(){var b=a(this);if(b.is("select")){var c=b.data("selectpicker"),i="object"==typeof f&&f;if(c){if(i)for(var j in i)i.hasOwnProperty(j)&&(c.options[j]=i[j])}else{var k=a.extend({},e.DEFAULTS,a.fn.selectpicker.defaults||{},b.data(),i);k.template=a.extend({},e.DEFAULTS.template,a.fn.selectpicker.defaults?a.fn.selectpicker.defaults.template:{},b.data().template,i.template),b.data("selectpicker",c=new e(this,k,g))}"string"==typeof f&&(h=c[f]instanceof Function?c[f].apply(c,d):c.options[f])}});return"undefined"!=typeof h?h:i}String.prototype.includes||!function(){var a={}.toString,b=function(){try{var a={},b=Object.defineProperty,c=b(a,a,a)&&b}catch(d){}return c}(),c="".indexOf,d=function(b){if(null==this)throw new TypeError;var d=String(this);if(b&&"[object RegExp]"==a.call(b))throw new TypeError;var e=d.length,f=String(b),g=f.length,h=arguments.length>1?arguments[1]:void 0,i=h?Number(h):0;i!=i&&(i=0);var j=Math.min(Math.max(i,0),e);return g+j>e?!1:-1!=c.call(d,f,i)};b?b(String.prototype,"includes",{value:d,configurable:!0,writable:!0}):String.prototype.includes=d}(),String.prototype.startsWith||!function(){var a=function(){try{var a={},b=Object.defineProperty,c=b(a,a,a)&&b}catch(d){}return c}(),b={}.toString,c=function(a){if(null==this)throw new TypeError;var c=String(this);if(a&&"[object RegExp]"==b.call(a))throw new TypeError;var d=c.length,e=String(a),f=e.length,g=arguments.length>1?arguments[1]:void 0,h=g?Number(g):0;h!=h&&(h=0);var i=Math.min(Math.max(h,0),d);if(f+i>d)return!1;for(var j=-1;++j<f;)if(c.charCodeAt(i+j)!=e.charCodeAt(j))return!1;return!0};a?a(String.prototype,"startsWith",{value:c,configurable:!0,writable:!0}):String.prototype.startsWith=c}(),Object.keys||(Object.keys=function(a,b,c){c=[];for(b in a)c.hasOwnProperty.call(a,b)&&c.push(b);return c}),a.fn.triggerNative=function(a){var b,c=this[0];c.dispatchEvent?("function"==typeof Event?b=new Event(a,{bubbles:!0}):(b=document.createEvent("Event"),b.initEvent(a,!0,!1)),c.dispatchEvent(b)):(c.fireEvent&&(b=document.createEventObject(),b.eventType=a,c.fireEvent("on"+a,b)),this.trigger(a))},a.expr[":"].icontains=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.text()).toUpperCase();return f.includes(d[3].toUpperCase())},a.expr[":"].ibegins=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.text()).toUpperCase();return f.startsWith(d[3].toUpperCase())},a.expr[":"].aicontains=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.data("normalizedText")||e.text()).toUpperCase();return f.includes(d[3].toUpperCase())},a.expr[":"].aibegins=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.data("normalizedText")||e.text()).toUpperCase();return f.startsWith(d[3].toUpperCase())};var e=function(b,c,d){d&&(d.stopPropagation(),d.preventDefault()),this.$element=a(b),this.$newElement=null,this.$button=null,this.$menu=null,this.$lis=null,this.options=c,null===this.options.title&&(this.options.title=this.$element.attr("title")),this.val=e.prototype.val,this.render=e.prototype.render,this.refresh=e.prototype.refresh,this.setStyle=e.prototype.setStyle,this.selectAll=e.prototype.selectAll,this.deselectAll=e.prototype.deselectAll,this.destroy=e.prototype.remove,this.remove=e.prototype.remove,this.show=e.prototype.show,this.hide=e.prototype.hide,this.init()};e.VERSION="1.7.5",e.DEFAULTS={noneSelectedText:"Nothing selected",noneResultsText:"No results matched {0}",countSelectedText:function(a,b){return 1==a?"{0} item selected":"{0} items selected"},maxOptionsText:function(a,b){return[1==a?"Limit reached ({n} item max)":"Limit reached ({n} items max)",1==b?"Group limit reached ({n} item max)":"Group limit reached ({n} items max)"]},selectAllText:"Select All",deselectAllText:"Deselect All",doneButton:!1,doneButtonText:"Close",multipleSeparator:", ",styleBase:"btn",style:"btn-default",size:"auto",title:null,selectedTextFormat:"values",width:!1,container:!1,hideDisabled:!1,showSubtext:!1,showIcon:!0,showContent:!0,dropupAuto:!0,header:!1,liveSearch:!1,liveSearchPlaceholder:null,liveSearchNormalize:!1,liveSearchStyle:"contains",actionsBox:!1,iconBase:"glyphicon",tickIcon:"glyphicon-ok",template:{caret:'<span class="caret"></span>'},maxOptions:!1,mobile:!1,selectOnTab:!1,dropdownAlignRight:!1},e.prototype={constructor:e,init:function(){var b=this,c=this.$element.attr("id");this.$element.addClass("bs-select-hidden"),this.liObj={},this.multiple=this.$element.prop("multiple"),this.autofocus=this.$element.prop("autofocus"),this.$newElement=this.createView(),this.$element.after(this.$newElement),this.$button=this.$newElement.children("button"),this.$menu=this.$newElement.children(".dropdown-menu"),this.$menuInner=this.$menu.children(".inner"),this.$searchbox=this.$menu.find("input"),this.options.dropdownAlignRight&&this.$menu.addClass("dropdown-menu-right"),"undefined"!=typeof c&&(this.$button.attr("data-id",c),a('label[for="'+c+'"]').click(function(a){a.preventDefault(),b.$button.focus()})),this.checkDisabled(),this.clickListener(),this.options.liveSearch&&this.liveSearchListener(),this.render(),this.setStyle(),this.setWidth(),this.options.container&&this.selectPosition(),this.$menu.data("this",this),this.$newElement.data("this",this),this.options.mobile&&this.mobile(),this.$newElement.on({"hide.bs.dropdown":function(a){b.$element.trigger("hide.bs.select",a)},"hidden.bs.dropdown":function(a){b.$element.trigger("hidden.bs.select",a)},"show.bs.dropdown":function(a){b.$element.trigger("show.bs.select",a)},"shown.bs.dropdown":function(a){b.$element.trigger("shown.bs.select",a)}}),setTimeout(function(){b.$element.trigger("loaded.bs.select")})},createDropdown:function(){var b=this.multiple?" show-tick":"",d=this.$element.parent().hasClass("input-group")?" input-group-btn":"",e=this.autofocus?" autofocus":"",f=this.options.header?'<div class="popover-title"><button type="button" class="close" aria-hidden="true">&times;</button>'+this.options.header+"</div>":"",g=this.options.liveSearch?'<div class="bs-searchbox"><input type="text" class="form-control" autocomplete="off"'+(null===this.options.liveSearchPlaceholder?"":' placeholder="'+c(this.options.liveSearchPlaceholder)+'"')+"></div>":"",h=this.multiple&&this.options.actionsBox?'<div class="bs-actionsbox"><div class="btn-group btn-group-sm btn-block"><button type="button" class="actions-btn bs-select-all btn btn-default">'+this.options.selectAllText+'</button><button type="button" class="actions-btn bs-deselect-all btn btn-default">'+this.options.deselectAllText+"</button></div></div>":"",i=this.multiple&&this.options.doneButton?'<div class="bs-donebutton"><div class="btn-group btn-block"><button type="button" class="btn btn-sm btn-default">'+this.options.doneButtonText+"</button></div></div>":"",j='<div class="btn-group bootstrap-select'+b+d+'"><button type="button" class="'+this.options.styleBase+' dropdown-toggle" data-toggle="dropdown"'+e+'><span class="filter-option pull-left"></span>&nbsp;<span class="bs-caret">'+this.options.template.caret+'</span></button><div class="dropdown-menu open">'+f+g+h+'<ul class="dropdown-menu inner" role="menu"></ul>'+i+"</div></div>";return a(j)},createView:function(){var a=this.createDropdown(),b=this.createLi();return a.find("ul")[0].innerHTML=b,a},reloadLi:function(){this.destroyLi();var a=this.createLi();this.$menuInner[0].innerHTML=a},destroyLi:function(){this.$menu.find("li").remove()},createLi:function(){var d=this,e=[],f=0,g=document.createElement("option"),h=-1,i=function(a,b,c,d){return"<li"+("undefined"!=typeof c&""!==c?' class="'+c+'"':"")+("undefined"!=typeof b&null!==b?' data-original-index="'+b+'"':"")+("undefined"!=typeof d&null!==d?'data-optgroup="'+d+'"':"")+">"+a+"</li>"},j=function(a,e,f,g){return'<a tabindex="0"'+("undefined"!=typeof e?' class="'+e+'"':"")+("undefined"!=typeof f?' style="'+f+'"':"")+(d.options.liveSearchNormalize?' data-normalized-text="'+b(c(a))+'"':"")+("undefined"!=typeof g||null!==g?' data-tokens="'+g+'"':"")+">"+a+'<span class="'+d.options.iconBase+" "+d.options.tickIcon+' check-mark"></span></a>'};if(this.options.title&&!this.multiple&&(h--,!this.$element.find(".bs-title-option").length)){var k=this.$element[0];g.className="bs-title-option",g.appendChild(document.createTextNode(this.options.title)),g.value="",k.insertBefore(g,k.firstChild),void 0===a(k.options[k.selectedIndex]).attr("selected")&&(g.selected=!0)}return this.$element.find("option").each(function(b){var c=a(this);if(h++,!c.hasClass("bs-title-option")){var g=this.className||"",k=this.style.cssText,l=c.data("content")?c.data("content"):c.html(),m=c.data("tokens")?c.data("tokens"):null,n="undefined"!=typeof c.data("subtext")?'<small class="text-muted">'+c.data("subtext")+"</small>":"",o="undefined"!=typeof c.data("icon")?'<span class="'+d.options.iconBase+" "+c.data("icon")+'"></span> ':"",p=this.disabled||"OPTGROUP"===this.parentNode.tagName&&this.parentNode.disabled;if(""!==o&&p&&(o="<span>"+o+"</span>"),d.options.hideDisabled&&p)return void h--;if(c.data("content")||(l=o+'<span class="text">'+l+n+"</span>"),"OPTGROUP"===this.parentNode.tagName&&c.data("divider")!==!0){var q=" "+this.parentNode.className||"";if(0===c.index()){f+=1;var r=this.parentNode.label,s="undefined"!=typeof c.parent().data("subtext")?'<small class="text-muted">'+c.parent().data("subtext")+"</small>":"",t=c.parent().data("icon")?'<span class="'+d.options.iconBase+" "+c.parent().data("icon")+'"></span> ':"";r=t+'<span class="text">'+r+s+"</span>",0!==b&&e.length>0&&(h++,e.push(i("",null,"divider",f+"div"))),h++,e.push(i(r,null,"dropdown-header"+q,f))}e.push(i(j(l,"opt "+g+q,k,m),b,"",f))}else c.data("divider")===!0?e.push(i("",b,"divider")):c.data("hidden")===!0?e.push(i(j(l,g,k,m),b,"hidden is-hidden")):(this.previousElementSibling&&"OPTGROUP"===this.previousElementSibling.tagName&&(h++,e.push(i("",null,"divider",f+"div"))),e.push(i(j(l,g,k,m),b)));d.liObj[b]=h}}),this.multiple||0!==this.$element.find("option:selected").length||this.options.title||this.$element.find("option").eq(0).prop("selected",!0).attr("selected","selected"),e.join("")},findLis:function(){return null==this.$lis&&(this.$lis=this.$menu.find("li")),this.$lis},render:function(b){var c,d=this;b!==!1&&this.$element.find("option").each(function(a){var b=d.findLis().eq(d.liObj[a]);d.setDisabled(a,this.disabled||"OPTGROUP"===this.parentNode.tagName&&this.parentNode.disabled,b),d.setSelected(a,this.selected,b)}),this.tabIndex();var e=this.$element.find("option").map(function(){if(this.selected){if(d.options.hideDisabled&&(this.disabled||"OPTGROUP"===this.parentNode.tagName&&this.parentNode.disabled))return;var b,c=a(this),e=c.data("icon")&&d.options.showIcon?'<i class="'+d.options.iconBase+" "+c.data("icon")+'"></i> ':"";return b=d.options.showSubtext&&c.data("subtext")&&!d.multiple?' <small class="text-muted">'+c.data("subtext")+"</small>":"","undefined"!=typeof c.attr("title")?c.attr("title"):c.data("content")&&d.options.showContent?c.data("content"):e+c.html()+b}}).toArray(),f=this.multiple?e.join(this.options.multipleSeparator):e[0];if(this.multiple&&this.options.selectedTextFormat.indexOf("count")>-1){var g=this.options.selectedTextFormat.split(">");if(g.length>1&&e.length>g[1]||1==g.length&&e.length>=2){c=this.options.hideDisabled?", [disabled]":"";var h=this.$element.find("option").not('[data-divider="true"], [data-hidden="true"]'+c).length,i="function"==typeof this.options.countSelectedText?this.options.countSelectedText(e.length,h):this.options.countSelectedText;f=i.replace("{0}",e.length.toString()).replace("{1}",h.toString())}}void 0==this.options.title&&(this.options.title=this.$element.attr("title")),"static"==this.options.selectedTextFormat&&(f=this.options.title),f||(f="undefined"!=typeof this.options.title?this.options.title:this.options.noneSelectedText),this.$button.attr("title",a.trim(f.replace(/<[^>]*>?/g,""))),this.$button.children(".filter-option").html(f),this.$element.trigger("rendered.bs.select")},setStyle:function(a,b){this.$element.attr("class")&&this.$newElement.addClass(this.$element.attr("class").replace(/selectpicker|mobile-device|bs-select-hidden|validate\[.*\]/gi,""));var c=a?a:this.options.style;"add"==b?this.$button.addClass(c):"remove"==b?this.$button.removeClass(c):(this.$button.removeClass(this.options.style),this.$button.addClass(c))},liHeight:function(b){if(b||this.options.size!==!1&&!this.sizeInfo){var c=document.createElement("div"),d=document.createElement("div"),e=document.createElement("ul"),f=document.createElement("li"),g=document.createElement("li"),h=document.createElement("a"),i=document.createElement("span"),j=this.options.header?this.$menu.find(".popover-title")[0].cloneNode(!0):null,k=this.options.liveSearch?document.createElement("div"):null,l=this.options.actionsBox&&this.multiple?this.$menu.find(".bs-actionsbox")[0].cloneNode(!0):null,m=this.options.doneButton&&this.multiple?this.$menu.find(".bs-donebutton")[0].cloneNode(!0):null;if(i.className="text",c.className=this.$menu[0].parentNode.className+" open",d.className="dropdown-menu open",e.className="dropdown-menu inner",f.className="divider",i.appendChild(document.createTextNode("Inner text")),h.appendChild(i),g.appendChild(h),e.appendChild(g),e.appendChild(f),j&&d.appendChild(j),k){var n=document.createElement("span");k.className="bs-searchbox",n.className="form-control",k.appendChild(n),d.appendChild(k)}l&&d.appendChild(l),d.appendChild(e),m&&d.appendChild(m),c.appendChild(d),document.body.appendChild(c);var o=h.offsetHeight,p=j?j.offsetHeight:0,q=k?k.offsetHeight:0,r=l?l.offsetHeight:0,s=m?m.offsetHeight:0,t=a(f).outerHeight(!0),u="function"==typeof getComputedStyle?getComputedStyle(d):!1,v=u?null:a(d),w=parseInt(u?u.paddingTop:v.css("paddingTop"))+parseInt(u?u.paddingBottom:v.css("paddingBottom"))+parseInt(u?u.borderTopWidth:v.css("borderTopWidth"))+parseInt(u?u.borderBottomWidth:v.css("borderBottomWidth")),x=w+parseInt(u?u.marginTop:v.css("marginTop"))+parseInt(u?u.marginBottom:v.css("marginBottom"))+2;document.body.removeChild(c),this.sizeInfo={liHeight:o,headerHeight:p,searchHeight:q,actionsHeight:r,doneButtonHeight:s,dividerHeight:t,menuPadding:w,menuExtras:x}}},setSize:function(){if(this.findLis(),this.liHeight(),this.options.header&&this.$menu.css("padding-top",0),this.options.size!==!1){var b,c,d,e,f=this,g=this.$menu,h=this.$menuInner,i=a(window),j=this.$newElement[0].offsetHeight,k=this.sizeInfo.liHeight,l=this.sizeInfo.headerHeight,m=this.sizeInfo.searchHeight,n=this.sizeInfo.actionsHeight,o=this.sizeInfo.doneButtonHeight,p=this.sizeInfo.dividerHeight,q=this.sizeInfo.menuPadding,r=this.sizeInfo.menuExtras,s=this.options.hideDisabled?".disabled":"",t=function(){d=f.$newElement.offset().top-i.scrollTop(),e=i.height()-d-j};if(t(),"auto"===this.options.size){var u=function(){var i,j=function(b,c){return function(d){return c?d.classList?d.classList.contains(b):a(d).hasClass(b):!(d.classList?d.classList.contains(b):a(d).hasClass(b))}},p=f.$menuInner[0].getElementsByTagName("li"),s=Array.prototype.filter?Array.prototype.filter.call(p,j("hidden",!1)):f.$lis.not(".hidden"),u=Array.prototype.filter?Array.prototype.filter.call(s,j("dropdown-header",!0)):s.filter(".dropdown-header");t(),b=e-r,f.options.container?(g.data("height")||g.data("height",g.height()),c=g.data("height")):c=g.height(),f.options.dropupAuto&&f.$newElement.toggleClass("dropup",d>e&&c>b-r),f.$newElement.hasClass("dropup")&&(b=d-r),i=s.length+u.length>3?3*k+r-2:0,g.css({"max-height":b+"px",overflow:"hidden","min-height":i+l+m+n+o+"px"}),h.css({"max-height":b-l-m-n-o-q+"px","overflow-y":"auto","min-height":Math.max(i-q,0)+"px"})};u(),this.$searchbox.off("input.getSize propertychange.getSize").on("input.getSize propertychange.getSize",u),i.off("resize.getSize scroll.getSize").on("resize.getSize scroll.getSize",u)}else if(this.options.size&&"auto"!=this.options.size&&this.$lis.not(s).length>this.options.size){var v=this.$lis.not(".divider").not(s).children().slice(0,this.options.size).last().parent().index(),w=this.$lis.slice(0,v+1).filter(".divider").length;b=k*this.options.size+w*p+q,f.options.container?(g.data("height")||g.data("height",g.height()),c=g.data("height")):c=g.height(),f.options.dropupAuto&&this.$newElement.toggleClass("dropup",d>e&&c>b-r),g.css({"max-height":b+l+m+n+o+"px",overflow:"hidden","min-height":""}),h.css({"max-height":b-q+"px","overflow-y":"auto","min-height":""})}}},setWidth:function(){if("auto"===this.options.width){this.$menu.css("min-width","0");var a=this.$menu.parent().clone().appendTo("body"),b=this.options.container?this.$newElement.clone().appendTo("body"):a,c=a.children(".dropdown-menu").outerWidth(),d=b.css("width","auto").children("button").outerWidth();a.remove(),b.remove(),this.$newElement.css("width",Math.max(c,d)+"px")}else"fit"===this.options.width?(this.$menu.css("min-width",""),this.$newElement.css("width","").addClass("fit-width")):this.options.width?(this.$menu.css("min-width",""),this.$newElement.css("width",this.options.width)):(this.$menu.css("min-width",""),this.$newElement.css("width",""));this.$newElement.hasClass("fit-width")&&"fit"!==this.options.width&&this.$newElement.removeClass("fit-width")},selectPosition:function(){var b,c,d=this,e=a('<div class="bs-container" />'),f=function(a){e.addClass(a.attr("class").replace(/form-control|fit-width/gi,"")).toggleClass("dropup",a.hasClass("dropup")),b=a.offset(),c=a.hasClass("dropup")?0:a[0].offsetHeight,e.css({top:b.top+c,left:b.left,width:a[0].offsetWidth})};this.$newElement.on("click",function(){d.isDisabled()||(f(a(this)),e.appendTo(d.options.container),e.toggleClass("open",!a(this).hasClass("open")),e.append(d.$menu))}),a(window).on("resize scroll",function(){f(d.$newElement)}),this.$element.on("hide.bs.select",function(){d.$menu.data("height",d.$menu.height()),e.detach()})},setSelected:function(a,b,c){c||(c=this.findLis().eq(this.liObj[a])),c.toggleClass("selected",b)},setDisabled:function(a,b,c){c||(c=this.findLis().eq(this.liObj[a])),b?c.addClass("disabled").children("a").attr("href","#").attr("tabindex",-1):c.removeClass("disabled").children("a").removeAttr("href").attr("tabindex",0)},isDisabled:function(){return this.$element[0].disabled},checkDisabled:function(){var a=this;this.isDisabled()?(this.$newElement.addClass("disabled"),this.$button.addClass("disabled").attr("tabindex",-1)):(this.$button.hasClass("disabled")&&(this.$newElement.removeClass("disabled"),this.$button.removeClass("disabled")),-1!=this.$button.attr("tabindex")||this.$element.data("tabindex")||this.$button.removeAttr("tabindex")),this.$button.click(function(){return!a.isDisabled()})},tabIndex:function(){this.$element.is("[tabindex]")&&(this.$element.data("tabindex",this.$element.attr("tabindex")),this.$button.attr("tabindex",this.$element.data("tabindex")))},clickListener:function(){var b=this,c=a(document);this.$newElement.on("touchstart.dropdown",".dropdown-menu",function(a){a.stopPropagation()}),c.data("spaceSelect",!1),this.$button.on("keyup",function(a){/(32)/.test(a.keyCode.toString(10))&&c.data("spaceSelect")&&(a.preventDefault(),c.data("spaceSelect",!1))}),this.$newElement.on("click",function(){b.setSize(),b.$element.on("shown.bs.select",function(){if(b.options.liveSearch||b.multiple){if(!b.multiple){var a=b.liObj[b.$element[0].selectedIndex];if("number"!=typeof a||b.options.size===!1)return;var c=b.$lis.eq(a)[0].offsetTop-b.$menuInner[0].offsetTop;c=c-b.$menuInner[0].offsetHeight/2+b.sizeInfo.liHeight/2,b.$menuInner[0].scrollTop=c}}else b.$menuInner.find(".selected a").focus()})}),this.$menuInner.on("click","li a",function(c){var d=a(this),e=d.parent().data("originalIndex"),f=b.$element.val(),g=b.$element.prop("selectedIndex");if(b.multiple&&c.stopPropagation(),c.preventDefault(),!b.isDisabled()&&!d.parent().hasClass("disabled")){var h=b.$element.find("option"),i=h.eq(e),j=i.prop("selected"),k=i.parent("optgroup"),l=b.options.maxOptions,m=k.data("maxOptions")||!1;if(b.multiple){if(i.prop("selected",!j),b.setSelected(e,!j),d.blur(),l!==!1||m!==!1){var n=l<h.filter(":selected").length,o=m<k.find("option:selected").length;if(l&&n||m&&o)if(l&&1==l)h.prop("selected",!1),i.prop("selected",!0),b.$menuInner.find(".selected").removeClass("selected"),b.setSelected(e,!0);else if(m&&1==m){k.find("option:selected").prop("selected",!1),i.prop("selected",!0);var p=d.parent().data("optgroup");b.$menuInner.find('[data-optgroup="'+p+'"]').removeClass("selected"),b.setSelected(e,!0)}else{var q="function"==typeof b.options.maxOptionsText?b.options.maxOptionsText(l,m):b.options.maxOptionsText,r=q[0].replace("{n}",l),s=q[1].replace("{n}",m),t=a('<div class="notify"></div>');q[2]&&(r=r.replace("{var}",q[2][l>1?0:1]),s=s.replace("{var}",q[2][m>1?0:1])),i.prop("selected",!1),b.$menu.append(t),l&&n&&(t.append(a("<div>"+r+"</div>")),b.$element.trigger("maxReached.bs.select")),m&&o&&(t.append(a("<div>"+s+"</div>")),b.$element.trigger("maxReachedGrp.bs.select")),setTimeout(function(){b.setSelected(e,!1)},10),t.delay(750).fadeOut(300,function(){a(this).remove()})}}}else h.prop("selected",!1),i.prop("selected",!0),b.$menuInner.find(".selected").removeClass("selected"),b.setSelected(e,!0);b.multiple?b.options.liveSearch&&b.$searchbox.focus():b.$button.focus(),(f!=b.$element.val()&&b.multiple||g!=b.$element.prop("selectedIndex")&&!b.multiple)&&(b.$element.triggerNative("change"),b.$element.trigger("changed.bs.select",[e,i.prop("selected"),j]))}}),this.$menu.on("click","li.disabled a, .popover-title, .popover-title :not(.close)",function(c){c.currentTarget==this&&(c.preventDefault(),c.stopPropagation(),b.options.liveSearch&&!a(c.target).hasClass("close")?b.$searchbox.focus():b.$button.focus())}),this.$menuInner.on("click",".divider, .dropdown-header",function(a){a.preventDefault(),a.stopPropagation(),b.options.liveSearch?b.$searchbox.focus():b.$button.focus()}),this.$menu.on("click",".popover-title .close",function(){b.$button.click()}),this.$searchbox.on("click",function(a){a.stopPropagation()}),this.$menu.on("click",".actions-btn",function(c){b.options.liveSearch?b.$searchbox.focus():b.$button.focus(),c.preventDefault(),c.stopPropagation(),a(this).hasClass("bs-select-all")?b.selectAll():b.deselectAll(),b.$element.triggerNative("change")}),this.$element.change(function(){b.render(!1)})},liveSearchListener:function(){var d=this,e=a('<li class="no-results"></li>');this.$newElement.on("click.dropdown.data-api touchstart.dropdown.data-api",function(){d.$menuInner.find(".active").removeClass("active"),d.$searchbox.val()&&(d.$searchbox.val(""),d.$lis.not(".is-hidden").removeClass("hidden"),e.parent().length&&e.remove()),d.multiple||d.$menuInner.find(".selected").addClass("active"),setTimeout(function(){d.$searchbox.focus()},10)}),this.$searchbox.on("click.dropdown.data-api focus.dropdown.data-api touchend.dropdown.data-api",function(a){a.stopPropagation()}),this.$searchbox.on("input propertychange",function(){if(d.$searchbox.val()){var f=d.$lis.not(".is-hidden").removeClass("hidden").children("a");f=d.options.liveSearchNormalize?f.not(":a"+d._searchStyle()+'("'+b(d.$searchbox.val())+'")'):f.not(":"+d._searchStyle()+'("'+d.$searchbox.val()+'")'),f.parent().addClass("hidden"),d.$lis.filter(".dropdown-header").each(function(){var b=a(this),c=b.data("optgroup");0===d.$lis.filter("[data-optgroup="+c+"]").not(b).not(".hidden").length&&(b.addClass("hidden"),d.$lis.filter("[data-optgroup="+c+"div]").addClass("hidden"))});var g=d.$lis.not(".hidden");g.each(function(b){var c=a(this);c.hasClass("divider")&&(c.index()===g.first().index()||c.index()===g.last().index()||g.eq(b+1).hasClass("divider"))&&c.addClass("hidden")}),d.$lis.not(".hidden, .no-results").length?e.parent().length&&e.remove():(e.parent().length&&e.remove(),e.html(d.options.noneResultsText.replace("{0}",'"'+c(d.$searchbox.val())+'"')).show(),d.$menuInner.append(e))}else d.$lis.not(".is-hidden").removeClass("hidden"),e.parent().length&&e.remove();d.$lis.filter(".active").removeClass("active"),d.$searchbox.val()&&d.$lis.not(".hidden, .divider, .dropdown-header").eq(0).addClass("active").children("a").focus(),a(this).focus()})},_searchStyle:function(){var a={begins:"ibegins",startsWith:"ibegins"};return a[this.options.liveSearchStyle]||"icontains"},val:function(a){return"undefined"!=typeof a?(this.$element.val(a),this.render(),this.$element):this.$element.val()},changeAll:function(b){"undefined"==typeof b&&(b=!0),this.findLis();for(var c=this.$element.find("option"),d=this.$lis.not(".divider, .dropdown-header, .disabled, .hidden").toggleClass("selected",b),e=d.length,f=[],g=0;e>g;g++){var h=d[g].getAttribute("data-original-index");f[f.length]=c.eq(h)[0]}a(f).prop("selected",b),this.render(!1)},selectAll:function(){return this.changeAll(!0)},deselectAll:function(){return this.changeAll(!1)},keydown:function(c){var d,e,f,g,h,i,j,k,l,m=a(this),n=m.is("input")?m.parent().parent():m.parent(),o=n.data("this"),p=":not(.disabled, .hidden, .dropdown-header, .divider)",q={32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9"};if(o.options.liveSearch&&(n=m.parent().parent()),o.options.container&&(n=o.$menu),d=a("[role=menu] li",n),l=o.$menu.parent().hasClass("open"),!l&&(c.keyCode>=48&&c.keyCode<=57||c.keyCode>=96&&c.keyCode<=105||c.keyCode>=65&&c.keyCode<=90)&&(o.options.container?o.$newElement.trigger("click"):(o.setSize(),
-o.$menu.parent().addClass("open"),l=!0),o.$searchbox.focus()),o.options.liveSearch&&(/(^9$|27)/.test(c.keyCode.toString(10))&&l&&0===o.$menu.find(".active").length&&(c.preventDefault(),o.$menu.parent().removeClass("open"),o.options.container&&o.$newElement.removeClass("open"),o.$button.focus()),d=a("[role=menu] li"+p,n),m.val()||/(38|40)/.test(c.keyCode.toString(10))||0===d.filter(".active").length&&(d=o.$menuInner.find("li"),d=o.options.liveSearchNormalize?d.filter(":a"+o._searchStyle()+"("+b(q[c.keyCode])+")"):d.filter(":"+o._searchStyle()+"("+q[c.keyCode]+")"))),d.length){if(/(38|40)/.test(c.keyCode.toString(10)))e=d.index(d.find("a").filter(":focus").parent()),g=d.filter(p).first().index(),h=d.filter(p).last().index(),f=d.eq(e).nextAll(p).eq(0).index(),i=d.eq(e).prevAll(p).eq(0).index(),j=d.eq(f).prevAll(p).eq(0).index(),o.options.liveSearch&&(d.each(function(b){a(this).hasClass("disabled")||a(this).data("index",b)}),e=d.index(d.filter(".active")),g=d.first().data("index"),h=d.last().data("index"),f=d.eq(e).nextAll().eq(0).data("index"),i=d.eq(e).prevAll().eq(0).data("index"),j=d.eq(f).prevAll().eq(0).data("index")),k=m.data("prevIndex"),38==c.keyCode?(o.options.liveSearch&&e--,e!=j&&e>i&&(e=i),g>e&&(e=g),e==k&&(e=h)):40==c.keyCode&&(o.options.liveSearch&&e++,-1==e&&(e=0),e!=j&&f>e&&(e=f),e>h&&(e=h),e==k&&(e=g)),m.data("prevIndex",e),o.options.liveSearch?(c.preventDefault(),m.hasClass("dropdown-toggle")||(d.removeClass("active").eq(e).addClass("active").children("a").focus(),m.focus())):d.eq(e).children("a").focus();else if(!m.is("input")){var r,s,t=[];d.each(function(){a(this).hasClass("disabled")||a.trim(a(this).children("a").text().toLowerCase()).substring(0,1)==q[c.keyCode]&&t.push(a(this).index())}),r=a(document).data("keycount"),r++,a(document).data("keycount",r),s=a.trim(a(":focus").text().toLowerCase()).substring(0,1),s!=q[c.keyCode]?(r=1,a(document).data("keycount",r)):r>=t.length&&(a(document).data("keycount",0),r>t.length&&(r=1)),d.eq(t[r-1]).children("a").focus()}if((/(13|32)/.test(c.keyCode.toString(10))||/(^9$)/.test(c.keyCode.toString(10))&&o.options.selectOnTab)&&l){if(/(32)/.test(c.keyCode.toString(10))||c.preventDefault(),o.options.liveSearch)/(32)/.test(c.keyCode.toString(10))||(o.$menuInner.find(".active a").click(),m.focus());else{var u=a(":focus");u.click(),u.focus(),c.preventDefault(),a(document).data("spaceSelect",!0)}a(document).data("keycount",0)}(/(^9$|27)/.test(c.keyCode.toString(10))&&l&&(o.multiple||o.options.liveSearch)||/(27)/.test(c.keyCode.toString(10))&&!l)&&(o.$menu.parent().removeClass("open"),o.options.container&&o.$newElement.removeClass("open"),o.$button.focus())}},mobile:function(){this.$element.addClass("mobile-device").appendTo(this.$newElement),this.options.container&&this.$menu.hide()},refresh:function(){this.$lis=null,this.liObj={},this.reloadLi(),this.render(),this.checkDisabled(),this.liHeight(!0),this.setStyle(),this.setWidth(),this.$lis&&this.$searchbox.trigger("propertychange"),this.$element.trigger("refreshed.bs.select")},hide:function(){this.$newElement.hide()},show:function(){this.$newElement.show()},remove:function(){this.$newElement.remove(),this.$element.remove()}};var f=a.fn.selectpicker;a.fn.selectpicker=d,a.fn.selectpicker.Constructor=e,a.fn.selectpicker.noConflict=function(){return a.fn.selectpicker=f,this},a(document).data("keycount",0).on("keydown",'.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="menu"], .bs-searchbox input',e.prototype.keydown).on("focusin.modal",'.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="menu"], .bs-searchbox input',function(a){a.stopPropagation()}),a(window).on("load.bs.select.data-api",function(){a(".selectpicker").each(function(){var b=a(this);d.call(b,b.data())})})}(a)}),angular.module("checklist-model",[]).directive("checklistModel",["$parse","$compile",function(a,b){function c(a,b,c){if(angular.isArray(a))for(var d=a.length;d--;)if(c(a[d],b))return!0;return!1}function d(a,b,d){return a=angular.isArray(a)?a:[],c(a,b,d)||a.push(b),a}function e(a,b,c){if(angular.isArray(a))for(var d=a.length;d--;)if(c(a[d],b)){a.splice(d,1);break}return a}function f(f,g,h){function i(a,b){f[h.ngModel]=c(a,n,o)}var j=h.checklistModel;h.$set("checklistModel",null),b(g)(f),h.$set("checklistModel",j);var k=a(j),l=k.assign,m=a(h.checklistChange),n=h.checklistValue?a(h.checklistValue)(f.$parent):h.value,o=angular.equals;if(h.hasOwnProperty("checklistComparator"))if("."==h.checklistComparator[0]){var p=h.checklistComparator.substring(1);o=function(a,b){return a[p]===b[p]}}else o=a(h.checklistComparator)(f.$parent);f.$watch(h.ngModel,function(a,b){if(a!==b){var c=k(f.$parent);angular.isFunction(l)&&(a===!0?l(f.$parent,d(c,n,o)):l(f.$parent,e(c,n,o))),m&&m(f)}}),angular.isFunction(f.$parent.$watchCollection)?f.$parent.$watchCollection(j,i):f.$parent.$watch(j,i,!0)}return{restrict:"A",priority:1e3,terminal:!0,scope:!0,compile:function(a,b){if(("INPUT"!==a[0].tagName||"checkbox"!==b.type)&&"MD-CHECKBOX"!==a[0].tagName&&!b.btnCheckbox)throw'checklist-model should be applied to `input[type="checkbox"]` or `md-checkbox`.';if(!b.checklistValue&&!b.value)throw"You should provide `value` or `checklist-value`.";return b.ngModel||b.$set("ngModel","checked"),f}}}]),function(a,b,c){"use strict";a.fn.backstretch=function(d,f){return(d===c||0===d.length)&&a.error("No images were supplied for Backstretch"),0===a(b).scrollTop()&&b.scrollTo(0,0),this.each(function(){var b=a(this),c=b.data("backstretch");if(c){if("string"==typeof d&&"function"==typeof c[d])return void c[d](f);f=a.extend(c.options,f),c.destroy(!0)}c=new e(this,d,f),b.data("backstretch",c)})},a.backstretch=function(b,c){return a("body").backstretch(b,c).data("backstretch")},a.expr[":"].backstretch=function(b){return a(b).data("backstretch")!==c},a.fn.backstretch.defaults={centeredX:!0,centeredY:!0,duration:5e3,fade:0};var d={wrap:{left:0,top:0,overflow:"hidden",margin:0,padding:0,height:"100%",width:"100%",zIndex:-999999},img:{position:"absolute",display:"none",margin:0,padding:0,border:"none",width:"auto",height:"auto",maxHeight:"none",maxWidth:"none",zIndex:-999999}},e=function(c,e,g){this.options=a.extend({},a.fn.backstretch.defaults,g||{}),this.images=a.isArray(e)?e:[e],a.each(this.images,function(){a("<img />")[0].src=this}),this.isBody=c===document.body,this.$container=a(c),this.$root=this.isBody?a(f?b:document):this.$container;var h=this.$container.children(".backstretch").first();if(this.$wrap=h.length?h:a('<div class="backstretch"></div>').css(d.wrap).appendTo(this.$container),!this.isBody){var i=this.$container.css("position"),j=this.$container.css("zIndex");this.$container.css({position:"static"===i?"relative":i,zIndex:"auto"===j?0:j,background:"none"}),this.$wrap.css({zIndex:-999998})}this.$wrap.css({position:this.isBody&&f?"fixed":"absolute"}),this.index=0,this.show(this.index),a(b).on("resize.backstretch",a.proxy(this.resize,this)).on("orientationchange.backstretch",a.proxy(function(){this.isBody&&0===b.pageYOffset&&(b.scrollTo(0,1),this.resize())},this))};e.prototype={resize:function(){try{var a,c={left:0,top:0},d=this.isBody?this.$root.width():this.$root.innerWidth(),e=d,f=this.isBody?b.innerHeight?b.innerHeight:this.$root.height():this.$root.innerHeight(),g=e/this.$img.data("ratio");g>=f?(a=(g-f)/2,this.options.centeredY&&(c.top="-"+a+"px")):(g=f,e=g*this.$img.data("ratio"),a=(e-d)/2,this.options.centeredX&&(c.left="-"+a+"px")),this.$wrap.css({width:d,height:f}).find("img:not(.deleteable)").css({width:e,height:g}).css(c)}catch(h){}return this},show:function(b){if(!(Math.abs(b)>this.images.length-1)){var c=this,e=c.$wrap.find("img").addClass("deleteable"),f={relatedTarget:c.$container[0]};return c.$container.trigger(a.Event("backstretch.before",f),[c,b]),this.index=b,clearInterval(c.interval),c.$img=a("<img />").css(d.img).bind("load",function(d){var g=this.width||a(d.target).width(),h=this.height||a(d.target).height();a(this).data("ratio",g/h),a(this).fadeIn(c.options.speed||c.options.fade,function(){e.remove(),c.paused||c.cycle(),a(["after","show"]).each(function(){c.$container.trigger(a.Event("backstretch."+this,f),[c,b])})}),c.resize()}).appendTo(c.$wrap),c.$img.attr("src",c.images[b]),c}},next:function(){return this.show(this.index<this.images.length-1?this.index+1:0)},prev:function(){return this.show(0===this.index?this.images.length-1:this.index-1)},pause:function(){return this.paused=!0,this},resume:function(){return this.paused=!1,this.next(),this},cycle:function(){return this.images.length>1&&(clearInterval(this.interval),this.interval=setInterval(a.proxy(function(){this.paused||this.next()},this),this.options.duration)),this},destroy:function(c){a(b).off("resize.backstretch orientationchange.backstretch"),clearInterval(this.interval),c||this.$wrap.remove(),this.$container.removeData("backstretch")}};var f=function(){var a=navigator.userAgent,c=navigator.platform,d=a.match(/AppleWebKit\/([0-9]+)/),e=!!d&&d[1],f=a.match(/Fennec\/([0-9]+)/),g=!!f&&f[1],h=a.match(/Opera Mobi\/([0-9]+)/),i=!!h&&h[1],j=a.match(/MSIE ([0-9]+)/),k=!!j&&j[1];return!((c.indexOf("iPhone")>-1||c.indexOf("iPad")>-1||c.indexOf("iPod")>-1)&&e&&534>e||b.operamini&&"[object OperaMini]"==={}.toString.call(b.operamini)||h&&7458>i||a.indexOf("Android")>-1&&e&&533>e||g&&6>g||"palmGetResource"in b&&e&&534>e||a.indexOf("MeeGo")>-1&&a.indexOf("NokiaBrowser/8.5.0")>-1||k&&6>=k)}()}(jQuery,window),function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){function b(a){return h.raw?a:encodeURIComponent(a)}function c(a){return h.raw?a:decodeURIComponent(a)}function d(a){return b(h.json?JSON.stringify(a):String(a))}function e(a){0===a.indexOf('"')&&(a=a.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{return a=decodeURIComponent(a.replace(g," ")),h.json?JSON.parse(a):a}catch(b){}}function f(b,c){var d=h.raw?b:e(b);return a.isFunction(c)?c(d):d}var g=/\+/g,h=a.cookie=function(e,g,i){if(void 0!==g&&!a.isFunction(g)){if(i=a.extend({},h.defaults,i),"number"==typeof i.expires){var j=i.expires,k=i.expires=new Date;k.setTime(+k+864e5*j)}return document.cookie=[b(e),"=",d(g),i.expires?"; expires="+i.expires.toUTCString():"",i.path?"; path="+i.path:"",i.domain?"; domain="+i.domain:"",i.secure?"; secure":""].join("")}for(var l=e?void 0:{},m=document.cookie?document.cookie.split("; "):[],n=0,o=m.length;o>n;n++){var p=m[n].split("="),q=c(p.shift()),r=p.join("=");if(e&&e===q){l=f(r,g);break}e||void 0===(r=f(r))||(l[q]=r)}return l};h.defaults={},a.removeCookie=function(b,c){return void 0===a.cookie(b)?!1:(a.cookie(b,"",a.extend({},c,{expires:-1})),!a.cookie(b))}}),function(a,b,c){function d(c){var d=b.console;f[c]||(f[c]=!0,a.migrateWarnings.push(c),d&&d.warn&&!a.migrateMute&&(d.warn("JQMIGRATE: "+c),a.migrateTrace&&d.trace&&d.trace()))}function e(b,c,e,f){if(Object.defineProperty)try{return void Object.defineProperty(b,c,{configurable:!0,enumerable:!0,get:function(){return d(f),e},set:function(a){d(f),e=a}})}catch(g){}a._definePropertyBroken=!0,b[c]=e}var f={};a.migrateWarnings=[],!a.migrateMute&&b.console&&b.console.log&&b.console.log("JQMIGRATE: Logging is active"),a.migrateTrace===c&&(a.migrateTrace=!0),a.migrateReset=function(){f={},a.migrateWarnings.length=0},"BackCompat"===document.compatMode&&d("jQuery is not compatible with Quirks Mode");var g=a("<input/>",{size:1}).attr("size")&&a.attrFn,h=a.attr,i=a.attrHooks.value&&a.attrHooks.value.get||function(){return null},j=a.attrHooks.value&&a.attrHooks.value.set||function(){return c},k=/^(?:input|button)$/i,l=/^[238]$/,m=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,n=/^(?:checked|selected)$/i;e(a,"attrFn",g||{},"jQuery.attrFn is deprecated"),a.attr=function(b,e,f,i){var j=e.toLowerCase(),o=b&&b.nodeType;return i&&(h.length<4&&d("jQuery.fn.attr( props, pass ) is deprecated"),b&&!l.test(o)&&(g?e in g:a.isFunction(a.fn[e])))?a(b)[e](f):("type"===e&&f!==c&&k.test(b.nodeName)&&b.parentNode&&d("Can't change the 'type' of an input or button in IE 6/7/8"),!a.attrHooks[j]&&m.test(j)&&(a.attrHooks[j]={get:function(b,d){var e,f=a.prop(b,d);return f===!0||"boolean"!=typeof f&&(e=b.getAttributeNode(d))&&e.nodeValue!==!1?d.toLowerCase():c},set:function(b,c,d){var e;return c===!1?a.removeAttr(b,d):(e=a.propFix[d]||d,e in b&&(b[e]=!0),b.setAttribute(d,d.toLowerCase())),d}},n.test(j)&&d("jQuery.fn.attr('"+j+"') may use property instead of attribute")),h.call(a,b,e,f))},a.attrHooks.value={get:function(a,b){var c=(a.nodeName||"").toLowerCase();return"button"===c?i.apply(this,arguments):("input"!==c&&"option"!==c&&d("jQuery.fn.attr('value') no longer gets properties"),b in a?a.value:null)},set:function(a,b){var c=(a.nodeName||"").toLowerCase();return"button"===c?j.apply(this,arguments):("input"!==c&&"option"!==c&&d("jQuery.fn.attr('value', val) no longer sets properties"),void(a.value=b))}};var o,p,q=a.fn.init,r=a.parseJSON,s=/^([^<]*)(<[\w\W]+>)([^>]*)$/;a.fn.init=function(b,c,e){var f;return b&&"string"==typeof b&&!a.isPlainObject(c)&&(f=s.exec(a.trim(b)))&&f[0]&&("<"!==b.charAt(0)&&d("$(html) HTML strings must start with '<' character"),f[3]&&d("$(html) HTML text after last tag is ignored"),"#"===f[0].charAt(0)&&(d("HTML string cannot start with a '#' character"),a.error("JQMIGRATE: Invalid selector string (XSS)")),c&&c.context&&(c=c.context),a.parseHTML)?q.call(this,a.parseHTML(f[2],c,!0),c,e):q.apply(this,arguments)},a.fn.init.prototype=a.fn,a.parseJSON=function(a){return a||null===a?r.apply(this,arguments):(d("jQuery.parseJSON requires a valid JSON string"),null)},a.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.browser||(o=a.uaMatch(navigator.userAgent),p={},o.browser&&(p[o.browser]=!0,p.version=o.version),p.chrome?p.webkit=!0:p.webkit&&(p.safari=!0),a.browser=p),e(a,"browser",a.browser,"jQuery.browser is deprecated"),a.sub=function(){function b(a,c){return new b.fn.init(a,c)}a.extend(!0,b,this),b.superclass=this,b.fn=b.prototype=this(),b.fn.constructor=b,b.sub=this.sub,b.fn.init=function(d,e){return e&&e instanceof a&&!(e instanceof b)&&(e=b(e)),a.fn.init.call(this,d,e,c)},b.fn.init.prototype=b.fn;var c=b(document);return d("jQuery.sub() is deprecated"),b},a.ajaxSetup({converters:{"text json":a.parseJSON}});var t=a.fn.data;a.fn.data=function(b){var e,f,g=this[0];return!g||"events"!==b||1!==arguments.length||(e=a.data(g,b),f=a._data(g,b),e!==c&&e!==f||f===c)?t.apply(this,arguments):(d("Use of jQuery.fn.data('events') is deprecated"),f)};var u=/\/(java|ecma)script/i,v=a.fn.andSelf||a.fn.addBack;a.fn.andSelf=function(){return d("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()"),v.apply(this,arguments)},a.clean||(a.clean=function(b,c,e,f){c=c||document,c=!c.nodeType&&c[0]||c,c=c.ownerDocument||c,d("jQuery.clean() is deprecated");var g,h,i,j,k=[];if(a.merge(k,a.buildFragment(b,c).childNodes),e)for(i=function(a){return!a.type||u.test(a.type)?f?f.push(a.parentNode?a.parentNode.removeChild(a):a):e.appendChild(a):void 0},g=0;null!=(h=k[g]);g++)a.nodeName(h,"script")&&i(h)||(e.appendChild(h),"undefined"!=typeof h.getElementsByTagName&&(j=a.grep(a.merge([],h.getElementsByTagName("script")),i),k.splice.apply(k,[g+1,0].concat(j)),g+=j.length));return k});var w=a.event.add,x=a.event.remove,y=a.event.trigger,z=a.fn.toggle,A=a.fn.live,B=a.fn.die,C="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",D=new RegExp("\\b(?:"+C+")\\b"),E=/(?:^|\s)hover(\.\S+|)\b/,F=function(b){return"string"!=typeof b||a.event.special.hover?b:(E.test(b)&&d("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'"),b&&b.replace(E,"mouseenter$1 mouseleave$1"))};a.event.props&&"attrChange"!==a.event.props[0]&&a.event.props.unshift("attrChange","attrName","relatedNode","srcElement"),a.event.dispatch&&e(a.event,"handle",a.event.dispatch,"jQuery.event.handle is undocumented and deprecated"),a.event.add=function(a,b,c,e,f){a!==document&&D.test(b)&&d("AJAX events should be attached to document: "+b),w.call(this,a,F(b||""),c,e,f)},a.event.remove=function(a,b,c,d,e){x.call(this,a,F(b)||"",c,d,e)},a.fn.error=function(){var a=Array.prototype.slice.call(arguments,0);return d("jQuery.fn.error() is deprecated"),a.splice(0,0,"error"),arguments.length?this.bind.apply(this,a):(this.triggerHandler.apply(this,a),this)},a.fn.toggle=function(b,c){if(!a.isFunction(b)||!a.isFunction(c))return z.apply(this,arguments);d("jQuery.fn.toggle(handler, handler...) is deprecated");var e=arguments,f=b.guid||a.guid++,g=0,h=function(c){var d=(a._data(this,"lastToggle"+b.guid)||0)%g;return a._data(this,"lastToggle"+b.guid,d+1),c.preventDefault(),e[d].apply(this,arguments)||!1};for(h.guid=f;g<e.length;)e[g++].guid=f;return this.click(h)},a.fn.live=function(b,c,e){return d("jQuery.fn.live() is deprecated"),A?A.apply(this,arguments):(a(this.context).on(b,this.selector,c,e),this)},a.fn.die=function(b,c){return d("jQuery.fn.die() is deprecated"),B?B.apply(this,arguments):(a(this.context).off(b,this.selector||"**",c),this)},a.event.trigger=function(a,b,c,e){return c||D.test(a)||d("Global events are undocumented and deprecated"),y.call(this,a,b,c||document,e)},a.each(C.split("|"),function(b,c){a.event.special[c]={setup:function(){var b=this;return b!==document&&(a.event.add(document,c+"."+a.guid,function(){a.event.trigger(c,null,b,!0)}),a._data(this,c,a.guid++)),!1},teardown:function(){return this!==document&&a.event.remove(document,c+"."+a._data(this,c)),!1}}})}(jQuery,window),function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){a.extend(a.fn,{validate:function(b){if(!this.length)return void(b&&b.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var c=a.data(this[0],"validator");return c?c:(this.attr("novalidate","novalidate"),c=new a.validator(b,this[0]),a.data(this[0],"validator",c),c.settings.onsubmit&&(this.on("click.validate",":submit",function(b){c.settings.submitHandler&&(c.submitButton=b.target),a(this).hasClass("cancel")&&(c.cancelSubmit=!0),void 0!==a(this).attr("formnovalidate")&&(c.cancelSubmit=!0)}),this.on("submit.validate",function(b){function d(){var d,e;return c.settings.submitHandler?(c.submitButton&&(d=a("<input type='hidden'/>").attr("name",c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)),e=c.settings.submitHandler.call(c,c.currentForm,b),c.submitButton&&d.remove(),void 0!==e?e:!1):!0}return c.settings.debug&&b.preventDefault(),c.cancelSubmit?(c.cancelSubmit=!1,d()):c.form()?c.pendingRequest?(c.formSubmitted=!0,!1):d():(c.focusInvalid(),!1)})),c)},valid:function(){var b,c,d;return a(this[0]).is("form")?b=this.validate().form():(d=[],b=!0,c=a(this[0].form).validate(),this.each(function(){b=c.element(this)&&b,d=d.concat(c.errorList)}),c.errorList=d),b},rules:function(b,c){var d,e,f,g,h,i,j=this[0];if(b)switch(d=a.data(j.form,"validator").settings,e=d.rules,f=a.validator.staticRules(j),b){case"add":a.extend(f,a.validator.normalizeRule(c)),delete f.messages,e[j.name]=f,c.messages&&(d.messages[j.name]=a.extend(d.messages[j.name],c.messages));break;case"remove":return c?(i={},a.each(c.split(/\s/),function(b,c){i[c]=f[c],delete f[c],"required"===c&&a(j).removeAttr("aria-required")}),i):(delete e[j.name],f)}return g=a.validator.normalizeRules(a.extend({},a.validator.classRules(j),a.validator.attributeRules(j),a.validator.dataRules(j),a.validator.staticRules(j)),j),g.required&&(h=g.required,delete g.required,g=a.extend({required:h},g),a(j).attr("aria-required","true")),g.remote&&(h=g.remote,delete g.remote,g=a.extend(g,{remote:h})),g}}),a.extend(a.expr[":"],{blank:function(b){return!a.trim(""+a(b).val())},filled:function(b){return!!a.trim(""+a(b).val())},unchecked:function(b){return!a(b).prop("checked")}}),a.validator=function(b,c){this.settings=a.extend(!0,{},a.validator.defaults,b),this.currentForm=c,this.init()},a.validator.format=function(b,c){return 1===arguments.length?function(){var c=a.makeArray(arguments);return c.unshift(b),a.validator.format.apply(this,c)}:(arguments.length>2&&c.constructor!==Array&&(c=a.makeArray(arguments).slice(1)),c.constructor!==Array&&(c=[c]),a.each(c,function(a,c){b=b.replace(new RegExp("\\{"+a+"\\}","g"),function(){return c})}),b)},a.extend(a.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:a([]),errorLabelContainer:a([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(a){this.lastActive=a,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(a)))},onfocusout:function(a){this.checkable(a)||!(a.name in this.submitted)&&this.optional(a)||this.element(a)},onkeyup:function(b,c){var d=[16,17,18,20,35,36,37,38,39,40,45,144,225];9===c.which&&""===this.elementValue(b)||-1!==a.inArray(c.keyCode,d)||(b.name in this.submitted||b===this.lastElement)&&this.element(b)},onclick:function(a){a.name in this.submitted?this.element(a):a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).addClass(c).removeClass(d):a(b).addClass(c).removeClass(d)},unhighlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).removeClass(c).addClass(d):a(b).removeClass(c).addClass(d)}},setDefaults:function(b){a.extend(a.validator.defaults,b)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date ( ISO ).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",maxlength:a.validator.format("Please enter no more than {0} characters."),minlength:a.validator.format("Please enter at least {0} characters."),rangelength:a.validator.format("Please enter a value between {0} and {1} characters long."),range:a.validator.format("Please enter a value between {0} and {1}."),max:a.validator.format("Please enter a value less than or equal to {0}."),min:a.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:!1,prototype:{init:function(){function b(b){var c=a.data(this.form,"validator"),d="on"+b.type.replace(/^validate/,""),e=c.settings;e[d]&&!a(this).is(e.ignore)&&e[d].call(c,this,b)}this.labelContainer=a(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||a(this.currentForm),this.containers=a(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var c,d=this.groups={};a.each(this.settings.groups,function(b,c){"string"==typeof c&&(c=c.split(/\s/)),a.each(c,function(a,c){d[c]=b})}),c=this.settings.rules,a.each(c,function(b,d){c[b]=a.validator.normalizeRule(d)}),a(this.currentForm).on("focusin.validate focusout.validate keyup.validate",":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox']",b).on("click.validate","select, option, [type='radio'], [type='checkbox']",b),this.settings.invalidHandler&&a(this.currentForm).on("invalid-form.validate",this.settings.invalidHandler),a(this.currentForm).find("[required], [data-rule-required], .required").attr("aria-required","true")},form:function(){return this.checkForm(),a.extend(this.submitted,this.errorMap),this.invalid=a.extend({},this.errorMap),this.valid()||a(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(b){var c=this.clean(b),d=this.validationTargetFor(c),e=!0;return this.lastElement=d,void 0===d?delete this.invalid[c.name]:(this.prepareElement(d),this.currentElements=a(d),e=this.check(d)!==!1,e?delete this.invalid[d.name]:this.invalid[d.name]=!0),a(b).attr("aria-invalid",!e),this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),e},showErrors:function(b){if(b){a.extend(this.errorMap,b),this.errorList=[];for(var c in b)this.errorList.push({message:b[c],element:this.findByName(c)[0]});this.successList=a.grep(this.successList,function(a){return!(a.name in b)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){a.fn.resetForm&&a(this.currentForm).resetForm(),this.submitted={},this.lastElement=null,this.prepareForm(),this.hideErrors();var b,c=this.elements().removeData("previousValue").removeAttr("aria-invalid");if(this.settings.unhighlight)for(b=0;c[b];b++)this.settings.unhighlight.call(this,c[b],this.settings.errorClass,"");else c.removeClass(this.settings.errorClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b,c=0;for(b in a)c++;return c},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(a){a.not(this.containers).text(""),this.addWrapper(a).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{a(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(b){}},findLastActive:function(){var b=this.lastActive;return b&&1===a.grep(this.errorList,function(a){return a.element.name===b.name}).length&&b},elements:function(){var b=this,c={};return a(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function(){return!this.name&&b.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.name in c||!b.objectLength(a(this).rules())?!1:(c[this.name]=!0,!0)})},clean:function(b){return a(b)[0]},errors:function(){var b=this.settings.errorClass.split(" ").join(".");return a(this.settings.errorElement+"."+b,this.errorContext)},reset:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=a([]),this.toHide=a([]),this.currentElements=a([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(a){this.reset(),this.toHide=this.errorsFor(a)},elementValue:function(b){var c,d=a(b),e=b.type;return"radio"===e||"checkbox"===e?this.findByName(b.name).filter(":checked").val():"number"===e&&"undefined"!=typeof b.validity?b.validity.badInput?!1:d.val():(c=d.val(),"string"==typeof c?c.replace(/\r/g,""):c)},check:function(b){b=this.validationTargetFor(this.clean(b));var c,d,e,f=a(b).rules(),g=a.map(f,function(a,b){return b}).length,h=!1,i=this.elementValue(b);for(d in f){e={method:d,parameters:f[d]};try{if(c=a.validator.methods[d].call(this,i,b,e.parameters),"dependency-mismatch"===c&&1===g){h=!0;continue}if(h=!1,"pending"===c)return void(this.toHide=this.toHide.not(this.errorsFor(b)));if(!c)return this.formatAndAdd(b,e),!1}catch(j){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+b.id+", check the '"+e.method+"' method.",j),j instanceof TypeError&&(j.message+=".  Exception occurred when checking element "+b.id+", check the '"+e.method+"' method."),j}}if(!h)return this.objectLength(f)&&this.successList.push(b),!0},customDataMessage:function(b,c){return a(b).data("msg"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase())||a(b).data("msg")},customMessage:function(a,b){var c=this.settings.messages[a];return c&&(c.constructor===String?c:c[b])},findDefined:function(){for(var a=0;a<arguments.length;a++)if(void 0!==arguments[a])return arguments[a]},defaultMessage:function(b,c){return this.findDefined(this.customMessage(b.name,c),this.customDataMessage(b,c),!this.settings.ignoreTitle&&b.title||void 0,a.validator.messages[c],"<strong>Warning: No message defined for "+b.name+"</strong>")},formatAndAdd:function(b,c){var d=this.defaultMessage(b,c.method),e=/\$?\{(\d+)\}/g;"function"==typeof d?d=d.call(this,c.parameters,b):e.test(d)&&(d=a.validator.format(d.replace(e,"{$1}"),c.parameters)),this.errorList.push({message:d,element:b,method:c.method}),this.errorMap[b.name]=d,this.submitted[b.name]=d},addWrapper:function(a){return this.settings.wrapper&&(a=a.add(a.parent(this.settings.wrapper))),a},defaultShowErrors:function(){var a,b,c;for(a=0;this.errorList[a];a++)c=this.errorList[a],this.settings.highlight&&this.settings.highlight.call(this,c.element,this.settings.errorClass,this.settings.validClass),this.showLabel(c.element,c.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight)for(a=0,b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return a(this.errorList).map(function(){return this.element})},showLabel:function(b,c){var d,e,f,g=this.errorsFor(b),h=this.idOrName(b),i=a(b).attr("aria-describedby");g.length?(g.removeClass(this.settings.validClass).addClass(this.settings.errorClass),g.html(c)):(g=a("<"+this.settings.errorElement+">").attr("id",h+"-error").addClass(this.settings.errorClass).html(c||""),d=g,this.settings.wrapper&&(d=g.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(d):this.settings.errorPlacement?this.settings.errorPlacement(d,a(b)):d.insertAfter(b),g.is("label")?g.attr("for",h):0===g.parents("label[for='"+h+"']").length&&(f=g.attr("id").replace(/(:|\.|\[|\]|\$)/g,"\\$1"),i?i.match(new RegExp("\\b"+f+"\\b"))||(i+=" "+f):i=f,a(b).attr("aria-describedby",i),e=this.groups[b.name],e&&a.each(this.groups,function(b,c){c===e&&a("[name='"+b+"']",this.currentForm).attr("aria-describedby",g.attr("id"))}))),!c&&this.settings.success&&(g.text(""),"string"==typeof this.settings.success?g.addClass(this.settings.success):this.settings.success(g,b)),this.toShow=this.toShow.add(g)},errorsFor:function(b){var c=this.idOrName(b),d=a(b).attr("aria-describedby"),e="label[for='"+c+"'], label[for='"+c+"'] *";return d&&(e=e+", #"+d.replace(/\s+/g,", #")),this.errors().filter(e)},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(b){return this.checkable(b)&&(b=this.findByName(b.name)),a(b).not(this.settings.ignore)[0]},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(b){return a(this.currentForm).find("[name='"+b+"']")},getLength:function(b,c){switch(c.nodeName.toLowerCase()){case"select":return a("option:selected",c).length;case"input":if(this.checkable(c))return this.findByName(c.name).filter(":checked").length}return b.length},depend:function(a,b){return this.dependTypes[typeof a]?this.dependTypes[typeof a](a,b):!0},dependTypes:{"boolean":function(a){return a},string:function(b,c){return!!a(b,c.form).length},"function":function(a,b){return a(b)}},optional:function(b){var c=this.elementValue(b);return!a.validator.methods.required.call(this,c,b)&&"dependency-mismatch";
-},startRequest:function(a){this.pending[a.name]||(this.pendingRequest++,this.pending[a.name]=!0)},stopRequest:function(b,c){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[b.name],c&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(a(this.currentForm).submit(),this.formSubmitted=!1):!c&&0===this.pendingRequest&&this.formSubmitted&&(a(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(b){return a.data(b,"previousValue")||a.data(b,"previousValue",{old:null,valid:!0,message:this.defaultMessage(b,"remote")})},destroy:function(){this.resetForm(),a(this.currentForm).off(".validate").removeData("validator")}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(b,c){b.constructor===String?this.classRuleSettings[b]=c:a.extend(this.classRuleSettings,b)},classRules:function(b){var c={},d=a(b).attr("class");return d&&a.each(d.split(" "),function(){this in a.validator.classRuleSettings&&a.extend(c,a.validator.classRuleSettings[this])}),c},normalizeAttributeRule:function(a,b,c,d){/min|max/.test(c)&&(null===b||/number|range|text/.test(b))&&(d=Number(d),isNaN(d)&&(d=void 0)),d||0===d?a[c]=d:b===c&&"range"!==b&&(a[c]=!0)},attributeRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)"required"===c?(d=b.getAttribute(c),""===d&&(d=!0),d=!!d):d=f.attr(c),this.normalizeAttributeRule(e,g,c,d);return e.maxlength&&/-1|2147483647|524288/.test(e.maxlength)&&delete e.maxlength,e},dataRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)d=f.data("rule"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase()),this.normalizeAttributeRule(e,g,c,d);return e},staticRules:function(b){var c={},d=a.data(b.form,"validator");return d.settings.rules&&(c=a.validator.normalizeRule(d.settings.rules[b.name])||{}),c},normalizeRules:function(b,c){return a.each(b,function(d,e){if(e===!1)return void delete b[d];if(e.param||e.depends){var f=!0;switch(typeof e.depends){case"string":f=!!a(e.depends,c.form).length;break;case"function":f=e.depends.call(c,c)}f?b[d]=void 0!==e.param?e.param:!0:delete b[d]}}),a.each(b,function(d,e){b[d]=a.isFunction(e)?e(c):e}),a.each(["minlength","maxlength"],function(){b[this]&&(b[this]=Number(b[this]))}),a.each(["rangelength","range"],function(){var c;b[this]&&(a.isArray(b[this])?b[this]=[Number(b[this][0]),Number(b[this][1])]:"string"==typeof b[this]&&(c=b[this].replace(/[\[\]]/g,"").split(/[\s,]+/),b[this]=[Number(c[0]),Number(c[1])]))}),a.validator.autoCreateRanges&&(null!=b.min&&null!=b.max&&(b.range=[b.min,b.max],delete b.min,delete b.max),null!=b.minlength&&null!=b.maxlength&&(b.rangelength=[b.minlength,b.maxlength],delete b.minlength,delete b.maxlength)),b},normalizeRule:function(b){if("string"==typeof b){var c={};a.each(b.split(/\s/),function(){c[this]=!0}),b=c}return b},addMethod:function(b,c,d){a.validator.methods[b]=c,a.validator.messages[b]=void 0!==d?d:a.validator.messages[b],c.length<3&&a.validator.addClassRules(b,a.validator.normalizeRule(b))},methods:{required:function(b,c,d){if(!this.depend(d,c))return"dependency-mismatch";if("select"===c.nodeName.toLowerCase()){var e=a(c).val();return e&&e.length>0}return this.checkable(c)?this.getLength(b,c)>0:b.length>0},email:function(a,b){return this.optional(b)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)},url:function(a,b){return this.optional(b)||/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[\/?#]\S*)?$/i.test(a)},date:function(a,b){return this.optional(b)||!/Invalid|NaN/.test(new Date(a).toString())},dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)},number:function(a,b){return this.optional(b)||/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},creditcard:function(a,b){if(this.optional(b))return"dependency-mismatch";if(/[^0-9 \-]+/.test(a))return!1;var c,d,e=0,f=0,g=!1;if(a=a.replace(/\D/g,""),a.length<13||a.length>19)return!1;for(c=a.length-1;c>=0;c--)d=a.charAt(c),f=parseInt(d,10),g&&(f*=2)>9&&(f-=9),e+=f,g=!g;return e%10===0},minlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d},maxlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||d>=e},rangelength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d[0]&&e<=d[1]},min:function(a,b,c){return this.optional(b)||a>=c},max:function(a,b,c){return this.optional(b)||c>=a},range:function(a,b,c){return this.optional(b)||a>=c[0]&&a<=c[1]},equalTo:function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.off(".validate-equalTo").on("blur.validate-equalTo",function(){a(c).valid()}),b===e.val()},remote:function(b,c,d){if(this.optional(c))return"dependency-mismatch";var e,f,g=this.previousValue(c);return this.settings.messages[c.name]||(this.settings.messages[c.name]={}),g.originalMessage=this.settings.messages[c.name].remote,this.settings.messages[c.name].remote=g.message,d="string"==typeof d&&{url:d}||d,g.old===b?g.valid:(g.old=b,e=this,this.startRequest(c),f={},f[c.name]=b,a.ajax(a.extend(!0,{mode:"abort",port:"validate"+c.name,dataType:"json",data:f,context:e.currentForm,success:function(d){var f,h,i,j=d===!0||"true"===d;e.settings.messages[c.name].remote=g.originalMessage,j?(i=e.formSubmitted,e.prepareElement(c),e.formSubmitted=i,e.successList.push(c),delete e.invalid[c.name],e.showErrors()):(f={},h=d||e.defaultMessage(c,"remote"),f[c.name]=g.message=a.isFunction(h)?h(b):h,e.invalid[c.name]=!0,e.showErrors(f)),g.valid=j,e.stopRequest(c,j)}},d)),"pending")}}});var b,c={};a.ajaxPrefilter?a.ajaxPrefilter(function(a,b,d){var e=a.port;"abort"===a.mode&&(c[e]&&c[e].abort(),c[e]=d)}):(b=a.ajax,a.ajax=function(d){var e=("mode"in d?d:a.ajaxSettings).mode,f=("port"in d?d:a.ajaxSettings).port;return"abort"===e?(c[f]&&c[f].abort(),c[f]=b.apply(this,arguments),c[f]):b.apply(this,arguments)})}),function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){a.fn.addBack=a.fn.addBack||a.fn.andSelf,a.fn.extend({actual:function(b,c){if(!this[b])throw'$.actual => The jQuery method "'+b+'" you called does not exist';var d,e,f={absolute:!1,clone:!1,includeMargin:!1,display:"block"},g=a.extend(f,c),h=this.eq(0);if(g.clone===!0)d=function(){var a="position: absolute !important; top: -1000 !important; ";h=h.clone().attr("style",a).appendTo("body")},e=function(){h.remove()};else{var i,j=[],k="";d=function(){i=h.parents().addBack().filter(":hidden"),k+="visibility: hidden !important; display: "+g.display+" !important; ",g.absolute===!0&&(k+="position: absolute !important; "),i.each(function(){var b=a(this),c=b.attr("style");j.push(c),b.attr("style",c?c+";"+k:k)})},e=function(){i.each(function(b){var c=a(this),d=j[b];void 0===d?c.removeAttr("style"):c.attr("style",d)})}}d();var l=/(outer)/.test(b)?h[b](g.includeMargin):h[b]();return e(),l}})}),!function(a){angular.module("ngCsv.config",[]).value("ngCsv.config",{debug:!0}).config(["$compileProvider",function(a){angular.isDefined(a.urlSanitizationWhitelist)?a.urlSanitizationWhitelist(/^\s*(https?|ftp|mailto|file|data):/):a.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|file|data):/)}]),angular.module("ngCsv.directives",["ngCsv.services"]),angular.module("ngCsv.services",[]),angular.module("ngCsv",["ngCsv.config","ngCsv.services","ngCsv.directives","ngSanitize"]),"undefined"!=typeof module&&"undefined"!=typeof exports&&module.exports===exports&&(module.exports="ngCsv"),angular.module("ngCsv.services").service("CSV",["$q",function(a){var b="\r\n",c="\ufeff",d={"\\t":"       ","\\b":"\b","\\v":"\x0B","\\f":"\f","\\r":"\r"};this.stringifyField=function(a,b){return"locale"===b.decimalSep&&this.isFloat(a)?a.toLocaleString():"."!==b.decimalSep&&this.isFloat(a)?a.toString().replace(".",b.decimalSep):"string"==typeof a?(a=a.replace(/"/g,'""'),(b.quoteStrings||a.indexOf(",")>-1||a.indexOf("\n")>-1||a.indexOf("\r")>-1)&&(a=b.txtDelim+a+b.txtDelim),a):"boolean"==typeof a?a?"TRUE":"FALSE":a},this.isFloat=function(a){return+a===a&&(!isFinite(a)||Boolean(a%1))},this.stringify=function(d,e){var f=a.defer(),g=this,h="",i="",j=a.when(d).then(function(a){if(angular.isDefined(e.header)&&e.header){var d,j;d=[],angular.forEach(e.header,function(a){this.push(g.stringifyField(a,e))},d),j=d.join(e.fieldSep?e.fieldSep:","),i+=j+b}var k=[];if(angular.isArray(a)?k=a:angular.isFunction(a)&&(k=a()),angular.isDefined(e.label)&&e.label&&"boolean"==typeof e.label){var l,m;l=[],angular.forEach(k[0],function(a,b){this.push(g.stringifyField(b,e))},l),m=l.join(e.fieldSep?e.fieldSep:","),i+=m+b}angular.forEach(k,function(a,c){var d,f,h=angular.copy(k[c]);f=[];var j=e.columnOrder?e.columnOrder:h;angular.forEach(j,function(a){var b=e.columnOrder?h[a]:a;this.push(g.stringifyField(b,e))},f),d=f.join(e.fieldSep?e.fieldSep:","),i+=c<k.length?d+b:d}),e.addByteOrderMarker&&(h+=c),h+=i,f.resolve(h)});return"function"==typeof j["catch"]&&j["catch"](function(a){f.reject(a)}),f.promise},this.isSpecialChar=function(a){return void 0!==d[a]},this.getSpecialChar=function(a){return d[a]}}]),angular.module("ngCsv.directives").directive("ngCsv",["$parse","$q","CSV","$document","$timeout",function(b,c,d,e,f){return{restrict:"AC",scope:{data:"&ngCsv",filename:"@filename",header:"&csvHeader",columnOrder:"&csvColumnOrder",txtDelim:"@textDelimiter",decimalSep:"@decimalSeparator",quoteStrings:"@quoteStrings",fieldSep:"@fieldSeparator",lazyLoad:"@lazyLoad",addByteOrderMarker:"@addBom",ngClick:"&",charset:"@charset",label:"&csvLabel"},controller:["$scope","$element","$attrs","$transclude",function(a,b,e){function f(){var b={txtDelim:a.txtDelim?a.txtDelim:'"',decimalSep:a.decimalSep?a.decimalSep:".",quoteStrings:a.quoteStrings,addByteOrderMarker:a.addByteOrderMarker};return angular.isDefined(e.csvHeader)&&(b.header=a.$eval(a.header)),angular.isDefined(e.csvColumnOrder)&&(b.columnOrder=a.$eval(a.columnOrder)),angular.isDefined(e.csvLabel)&&(b.label=a.$eval(a.label)),b.fieldSep=a.fieldSep?a.fieldSep:",",b.fieldSep=d.isSpecialChar(b.fieldSep)?d.getSpecialChar(b.fieldSep):b.fieldSep,b}a.csv="",angular.isDefined(a.lazyLoad)&&"true"==a.lazyLoad||angular.isArray(a.data)&&a.$watch("data",function(){a.buildCSV()},!0),a.getFilename=function(){return a.filename||"download.csv"},a.buildCSV=function(){var g=c.defer();return b.addClass(e.ngCsvLoadingClass||"ng-csv-loading"),d.stringify(a.data(),f()).then(function(c){a.csv=c,b.removeClass(e.ngCsvLoadingClass||"ng-csv-loading"),g.resolve(c)}),a.$apply(),g.promise}}],link:function(b,c){function d(){var c=b.charset||"utf-8",d=new Blob([b.csv],{type:"text/csv;charset="+c+";"});if(a.navigator.msSaveOrOpenBlob)navigator.msSaveBlob(d,b.getFilename());else{var g=angular.element('<div data-tap-disabled="true"><a></a></div>'),h=angular.element(g.children()[0]);h.attr("href",a.URL.createObjectURL(d)),h.attr("download",b.getFilename()),h.attr("target","_blank"),e.find("body").append(g),f(function(){h[0].click(),h.remove()},null)}}c.bind("click",function(){b.buildCSV().then(function(){d()}),b.$apply()})}}}])}(window,document),function(angular){"use strict";if(!angular)throw"Missing something? Please add angular.js to your project or move this script below the angular.js reference";var directiveId="ngRemoteValidate",remoteValidate=function($http,$timeout,$q){return{restrict:"A",require:["^form","ngModel"],scope:{ngRemoteInterceptors:"=?"},link:function(scope,el,attrs,ctrls){var cache={},handleChange,setValidation,addToCache,request,shouldProcess,ngForm=ctrls[0],ngModel=ctrls[1],options={ngRemoteThrottle:400,ngRemoteMethod:"POST"};angular.extend(options,attrs),"["===options.ngRemoteValidate.charAt(0)?options.urls=eval(options.ngRemoteValidate):"{"===options.ngRemoteValidate.charAt(0)?(options.keys=eval("("+options.ngRemoteValidate+")"),options.urls=Object.keys(options.keys)):options.urls=[options.ngRemoteValidate],addToCache=function(a){var b=a[0].data.value;return cache[b]?cache[b]:void(cache[b]=a)},shouldProcess=function(a){var b=!1;for(var c in ngModel.$error){var d=!options.hasOwnProperty("keys")||!Object.keys(options.keys).filter(function(a){return options.keys[a]===c})[0];if(ngModel.$error[c]&&c!=directiveId&&d){b=!0;break}}return!(ngModel.$pristine||b)},setValidation=function(a,b){for(var c=0,d=a.length,e=options.hasOwnProperty("keys"),f=!0;d>c&&(scope.ngRemoteInterceptors&&scope.ngRemoteInterceptors.response&&(a[c]=scope.ngRemoteInterceptors.response(a[c])),a[c].data.isValid||(f=!1,e));c++){var g=e&&a[c].hasOwnProperty("config")&&options.keys[a[c].config.url];if(g){var h=options.keys[a[c].config.url];ngModel.$setValidity(h,a[c].data.isValid)}}b||addToCache(a),ngModel.$setValidity(directiveId,f),ngModel.$processing=ngModel.$pending=ngForm.$pending=!1},handleChange=function(a){return"undefined"==typeof a||""===a?void ngModel.$setPristine():shouldProcess(a)?cache[a]?setValidation(cache[a],!0):(ngModel.$pending||(ngModel.$processing=ngModel.$pending=ngForm.$pending=!0),request&&$timeout.cancel(request),request=$timeout(function(){var b=[],c=0,d=options.urls.length,e={value:a},f={method:options.ngRemoteMethod};for(scope[el[0].name+"SetArgs"]&&(e=scope[el[0].name+"SetArgs"](a,el,attrs,ngModel)),"POST"==options.ngRemoteMethod?f.data=e:f.params=e;d>c;c++)f.url=options.urls[c],scope.ngRemoteInterceptors&&scope.ngRemoteInterceptors.request&&(f=scope.ngRemoteInterceptors.request(f)),b.push($http(f));$q.all(b).then(setValidation)},options.ngRemoteThrottle),!0):setValidation([{data:{isValid:!0,value:a}}],!0)},scope.$watch(function(){return ngModel.$viewValue},handleChange)}}};angular.module("remoteValidation",[]).constant("MODULE_VERSION","0.6.1").directive(directiveId,["$http","$timeout","$q",remoteValidate])}(this.angular),function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a:a(jQuery)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||f>n)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120===0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b),d=c["offsetParent"in a.fn?"offsetParent":"parent"]();return d.length||(d=a("body")),parseInt(d.css("fontSize"),10)||parseInt(c.css("fontSize"),10)||16},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})}),function(a){"undefined"!=typeof module&&module.exports?module.exports=a:a(jQuery,window,document)}(function(a){!function(b){var c="function"==typeof define&&define.amd,d="undefined"!=typeof module&&module.exports,e="https:"==document.location.protocol?"https:":"http:",f="cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.13/jquery.mousewheel.min.js";c||(d?require("jquery-mousewheel")(a):a.event.special.mousewheel||a("head").append(decodeURI("%3Cscript src="+e+"//"+f+"%3E%3C/script%3E"))),b()}(function(){var b,c="mCustomScrollbar",d="mCS",e=".mCustomScrollbar",f={setTop:0,setLeft:0,axis:"y",scrollbarPosition:"inside",scrollInertia:950,autoDraggerLength:!0,alwaysShowScrollbar:0,snapOffset:0,mouseWheel:{enable:!0,scrollAmount:"auto",axis:"y",deltaFactor:"auto",disableOver:["select","option","keygen","datalist","textarea"]},scrollButtons:{scrollType:"stepless",scrollAmount:"auto"},keyboard:{enable:!0,scrollType:"stepless",scrollAmount:"auto"},contentTouchScroll:25,documentTouchScroll:!0,advanced:{autoScrollOnFocus:"input,textarea,select,button,datalist,keygen,a[tabindex],area,object,[contenteditable='true']",updateOnContentResize:!0,updateOnImageLoad:"auto",autoUpdateTimeout:60},theme:"light",callbacks:{onTotalScrollOffset:0,onTotalScrollBackOffset:0,alwaysTriggerOffsets:!0}},g=0,h={},i=window.attachEvent&&!window.addEventListener?1:0,j=!1,k=["mCSB_dragger_onDrag","mCSB_scrollTools_onDrag","mCS_img_loaded","mCS_disabled","mCS_destroyed","mCS_no_scrollbar","mCS-autoHide","mCS-dir-rtl","mCS_no_scrollbar_y","mCS_no_scrollbar_x","mCS_y_hidden","mCS_x_hidden","mCSB_draggerContainer","mCSB_buttonUp","mCSB_buttonDown","mCSB_buttonLeft","mCSB_buttonRight"],l={init:function(b){var b=a.extend(!0,{},f,b),c=m.call(this);if(b.live){var i=b.liveSelector||this.selector||e,j=a(i);if("off"===b.live)return void o(i);h[i]=setTimeout(function(){j.mCustomScrollbar(b),"once"===b.live&&j.length&&o(i)},500)}else o(i);return b.setWidth=b.set_width?b.set_width:b.setWidth,b.setHeight=b.set_height?b.set_height:b.setHeight,b.axis=b.horizontalScroll?"x":p(b.axis),b.scrollInertia=b.scrollInertia>0&&b.scrollInertia<17?17:b.scrollInertia,"object"!=typeof b.mouseWheel&&1==b.mouseWheel&&(b.mouseWheel={enable:!0,scrollAmount:"auto",axis:"y",preventDefault:!1,deltaFactor:"auto",normalizeDelta:!1,invert:!1}),b.mouseWheel.scrollAmount=b.mouseWheelPixels?b.mouseWheelPixels:b.mouseWheel.scrollAmount,b.mouseWheel.normalizeDelta=b.advanced.normalizeMouseWheelDelta?b.advanced.normalizeMouseWheelDelta:b.mouseWheel.normalizeDelta,b.scrollButtons.scrollType=q(b.scrollButtons.scrollType),n(b),a(c).each(function(){var c=a(this);if(!c.data(d)){c.data(d,{idx:++g,opt:b,scrollRatio:{y:null,x:null},overflowed:null,contentReset:{y:null,x:null},bindEvents:!1,tweenRunning:!1,sequential:{},langDir:c.css("direction"),cbOffsets:null,trigger:null,poll:{size:{o:0,n:0},img:{o:0,n:0},change:{o:0,n:0}}});var e=c.data(d),f=e.opt,h=c.data("mcs-axis"),i=c.data("mcs-scrollbar-position"),j=c.data("mcs-theme");h&&(f.axis=h),i&&(f.scrollbarPosition=i),j&&(f.theme=j,n(f)),r.call(this),e&&f.callbacks.onCreate&&"function"==typeof f.callbacks.onCreate&&f.callbacks.onCreate.call(this),a("#mCSB_"+e.idx+"_container img:not(."+k[2]+")").addClass(k[2]),l.update.call(null,c)}})},update:function(b,c){var e=b||m.call(this);return a(e).each(function(){var b=a(this);if(b.data(d)){var e=b.data(d),f=e.opt,g=a("#mCSB_"+e.idx+"_container"),h=a("#mCSB_"+e.idx),i=[a("#mCSB_"+e.idx+"_dragger_vertical"),a("#mCSB_"+e.idx+"_dragger_horizontal")];if(!g.length)return;e.tweenRunning&&U(b),c&&e&&f.callbacks.onBeforeUpdate&&"function"==typeof f.callbacks.onBeforeUpdate&&f.callbacks.onBeforeUpdate.call(this),b.hasClass(k[3])&&b.removeClass(k[3]),b.hasClass(k[4])&&b.removeClass(k[4]),h.css("max-height","none"),h.height()!==b.height()&&h.css("max-height",b.height()),t.call(this),"y"===f.axis||f.advanced.autoExpandHorizontalScroll||g.css("width",s(g)),e.overflowed=y.call(this),C.call(this),f.autoDraggerLength&&v.call(this),w.call(this),A.call(this);var j=[Math.abs(g[0].offsetTop),Math.abs(g[0].offsetLeft)];"x"!==f.axis&&(e.overflowed[0]?i[0].height()>i[0].parent().height()?z.call(this):(V(b,j[0].toString(),{dir:"y",dur:0,overwrite:"none"}),e.contentReset.y=null):(z.call(this),"y"===f.axis?B.call(this):"yx"===f.axis&&e.overflowed[1]&&V(b,j[1].toString(),{dir:"x",dur:0,overwrite:"none"}))),"y"!==f.axis&&(e.overflowed[1]?i[1].width()>i[1].parent().width()?z.call(this):(V(b,j[1].toString(),{dir:"x",dur:0,overwrite:"none"}),e.contentReset.x=null):(z.call(this),"x"===f.axis?B.call(this):"yx"===f.axis&&e.overflowed[0]&&V(b,j[0].toString(),{dir:"y",dur:0,overwrite:"none"}))),c&&e&&(2===c&&f.callbacks.onImageLoad&&"function"==typeof f.callbacks.onImageLoad?f.callbacks.onImageLoad.call(this):3===c&&f.callbacks.onSelectorChange&&"function"==typeof f.callbacks.onSelectorChange?f.callbacks.onSelectorChange.call(this):f.callbacks.onUpdate&&"function"==typeof f.callbacks.onUpdate&&f.callbacks.onUpdate.call(this)),S.call(this)}})},scrollTo:function(b,c){if("undefined"!=typeof b&&null!=b){var e=m.call(this);return a(e).each(function(){var e=a(this);if(e.data(d)){var f=e.data(d),g=f.opt,h={trigger:"external",scrollInertia:g.scrollInertia,scrollEasing:"mcsEaseInOut",moveDragger:!1,timeout:60,callbacks:!0,onStart:!0,onUpdate:!0,onComplete:!0},i=a.extend(!0,{},h,c),j=Q.call(this,b),k=i.scrollInertia>0&&i.scrollInertia<17?17:i.scrollInertia;j[0]=R.call(this,j[0],"y"),j[1]=R.call(this,j[1],"x"),i.moveDragger&&(j[0]*=f.scrollRatio.y,j[1]*=f.scrollRatio.x),i.dur=ca()?0:k,setTimeout(function(){null!==j[0]&&"undefined"!=typeof j[0]&&"x"!==g.axis&&f.overflowed[0]&&(i.dir="y",i.overwrite="all",V(e,j[0].toString(),i)),null!==j[1]&&"undefined"!=typeof j[1]&&"y"!==g.axis&&f.overflowed[1]&&(i.dir="x",i.overwrite="none",V(e,j[1].toString(),i))},i.timeout)}})}},stop:function(){var b=m.call(this);return a(b).each(function(){var b=a(this);b.data(d)&&U(b)})},disable:function(b){var c=m.call(this);return a(c).each(function(){var c=a(this);if(c.data(d)){c.data(d);S.call(this,"remove"),B.call(this),b&&z.call(this),C.call(this,!0),c.addClass(k[3])}})},destroy:function(){var b=m.call(this);return a(b).each(function(){var e=a(this);if(e.data(d)){var f=e.data(d),g=f.opt,h=a("#mCSB_"+f.idx),i=a("#mCSB_"+f.idx+"_container"),j=a(".mCSB_"+f.idx+"_scrollbar");g.live&&o(g.liveSelector||a(b).selector),S.call(this,"remove"),B.call(this),z.call(this),e.removeData(d),Z(this,"mcs"),j.remove(),i.find("img."+k[2]).removeClass(k[2]),h.replaceWith(i.contents()),e.removeClass(c+" _"+d+"_"+f.idx+" "+k[6]+" "+k[7]+" "+k[5]+" "+k[3]).addClass(k[4])}})}},m=function(){return"object"!=typeof a(this)||a(this).length<1?e:this},n=function(b){var c=["rounded","rounded-dark","rounded-dots","rounded-dots-dark"],d=["rounded-dots","rounded-dots-dark","3d","3d-dark","3d-thick","3d-thick-dark","inset","inset-dark","inset-2","inset-2-dark","inset-3","inset-3-dark"],e=["minimal","minimal-dark"],f=["minimal","minimal-dark"],g=["minimal","minimal-dark"];b.autoDraggerLength=a.inArray(b.theme,c)>-1?!1:b.autoDraggerLength,b.autoExpandScrollbar=a.inArray(b.theme,d)>-1?!1:b.autoExpandScrollbar,b.scrollButtons.enable=a.inArray(b.theme,e)>-1?!1:b.scrollButtons.enable,b.autoHideScrollbar=a.inArray(b.theme,f)>-1?!0:b.autoHideScrollbar,b.scrollbarPosition=a.inArray(b.theme,g)>-1?"outside":b.scrollbarPosition},o=function(a){h[a]&&(clearTimeout(h[a]),Z(h,a))},p=function(a){return"yx"===a||"xy"===a||"auto"===a?"yx":"x"===a||"horizontal"===a?"x":"y"},q=function(a){return"stepped"===a||"pixels"===a||"step"===a||"click"===a?"stepped":"stepless"},r=function(){var b=a(this),e=b.data(d),f=e.opt,g=f.autoExpandScrollbar?" "+k[1]+"_expand":"",h=["<div id='mCSB_"+e.idx+"_scrollbar_vertical' class='mCSB_scrollTools mCSB_"+e.idx+"_scrollbar mCS-"+f.theme+" mCSB_scrollTools_vertical"+g+"'><div class='"+k[12]+"'><div id='mCSB_"+e.idx+"_dragger_vertical' class='mCSB_dragger' style='position:absolute;' oncontextmenu='return false;'><div class='mCSB_dragger_bar' /></div><div class='mCSB_draggerRail' /></div></div>","<div id='mCSB_"+e.idx+"_scrollbar_horizontal' class='mCSB_scrollTools mCSB_"+e.idx+"_scrollbar mCS-"+f.theme+" mCSB_scrollTools_horizontal"+g+"'><div class='"+k[12]+"'><div id='mCSB_"+e.idx+"_dragger_horizontal' class='mCSB_dragger' style='position:absolute;' oncontextmenu='return false;'><div class='mCSB_dragger_bar' /></div><div class='mCSB_draggerRail' /></div></div>"],i="yx"===f.axis?"mCSB_vertical_horizontal":"x"===f.axis?"mCSB_horizontal":"mCSB_vertical",j="yx"===f.axis?h[0]+h[1]:"x"===f.axis?h[1]:h[0],l="yx"===f.axis?"<div id='mCSB_"+e.idx+"_container_wrapper' class='mCSB_container_wrapper' />":"",m=f.autoHideScrollbar?" "+k[6]:"",n="x"!==f.axis&&"rtl"===e.langDir?" "+k[7]:"";f.setWidth&&b.css("width",f.setWidth),f.setHeight&&b.css("height",f.setHeight),f.setLeft="y"!==f.axis&&"rtl"===e.langDir?"989999px":f.setLeft,b.addClass(c+" _"+d+"_"+e.idx+m+n).wrapInner("<div id='mCSB_"+e.idx+"' class='mCustomScrollBox mCS-"+f.theme+" "+i+"'><div id='mCSB_"+e.idx+"_container' class='mCSB_container' style='position:relative; top:"+f.setTop+"; left:"+f.setLeft+";' dir="+e.langDir+" /></div>");var o=a("#mCSB_"+e.idx),p=a("#mCSB_"+e.idx+"_container");"y"===f.axis||f.advanced.autoExpandHorizontalScroll||p.css("width",s(p)),"outside"===f.scrollbarPosition?("static"===b.css("position")&&b.css("position","relative"),b.css("overflow","visible"),o.addClass("mCSB_outside").after(j)):(o.addClass("mCSB_inside").append(j),p.wrap(l)),u.call(this);var q=[a("#mCSB_"+e.idx+"_dragger_vertical"),a("#mCSB_"+e.idx+"_dragger_horizontal")];q[0].css("min-height",q[0].height()),q[1].css("min-width",q[1].width())},s=function(b){var c=[b[0].scrollWidth,Math.max.apply(Math,b.children().map(function(){return a(this).outerWidth(!0)}).get())],d=b.parent().width();return c[0]>d?c[0]:c[1]>d?c[1]:"100%"},t=function(){var b=a(this),c=b.data(d),e=c.opt,f=a("#mCSB_"+c.idx+"_container");if(e.advanced.autoExpandHorizontalScroll&&"y"!==e.axis){f.css({width:"auto","min-width":0,"overflow-x":"scroll"});var g=Math.ceil(f[0].scrollWidth);3===e.advanced.autoExpandHorizontalScroll||2!==e.advanced.autoExpandHorizontalScroll&&g>f.parent().width()?f.css({width:g,"min-width":"100%","overflow-x":"inherit"}):f.css({"overflow-x":"inherit",position:"absolute"}).wrap("<div class='mCSB_h_wrapper' style='position:relative; left:0; width:999999px;' />").css({width:Math.ceil(f[0].getBoundingClientRect().right+.4)-Math.floor(f[0].getBoundingClientRect().left),"min-width":"100%",position:"relative"}).unwrap()}},u=function(){var b=a(this),c=b.data(d),e=c.opt,f=a(".mCSB_"+c.idx+"_scrollbar:first"),g=aa(e.scrollButtons.tabindex)?"tabindex='"+e.scrollButtons.tabindex+"'":"",h=["<a href='#' class='"+k[13]+"' oncontextmenu='return false;' "+g+" />","<a href='#' class='"+k[14]+"' oncontextmenu='return false;' "+g+" />","<a href='#' class='"+k[15]+"' oncontextmenu='return false;' "+g+" />","<a href='#' class='"+k[16]+"' oncontextmenu='return false;' "+g+" />"],i=["x"===e.axis?h[2]:h[0],"x"===e.axis?h[3]:h[1],h[2],h[3]];e.scrollButtons.enable&&f.prepend(i[0]).append(i[1]).next(".mCSB_scrollTools").prepend(i[2]).append(i[3])},v=function(){var b=a(this),c=b.data(d),e=a("#mCSB_"+c.idx),f=a("#mCSB_"+c.idx+"_container"),g=[a("#mCSB_"+c.idx+"_dragger_vertical"),a("#mCSB_"+c.idx+"_dragger_horizontal")],h=[e.height()/f.outerHeight(!1),e.width()/f.outerWidth(!1)],j=[parseInt(g[0].css("min-height")),Math.round(h[0]*g[0].parent().height()),parseInt(g[1].css("min-width")),Math.round(h[1]*g[1].parent().width())],k=i&&j[1]<j[0]?j[0]:j[1],l=i&&j[3]<j[2]?j[2]:j[3];g[0].css({height:k,"max-height":g[0].parent().height()-10}).find(".mCSB_dragger_bar").css({"line-height":j[0]+"px"}),g[1].css({width:l,"max-width":g[1].parent().width()-10})},w=function(){var b=a(this),c=b.data(d),e=a("#mCSB_"+c.idx),f=a("#mCSB_"+c.idx+"_container"),g=[a("#mCSB_"+c.idx+"_dragger_vertical"),a("#mCSB_"+c.idx+"_dragger_horizontal")],h=[f.outerHeight(!1)-e.height(),f.outerWidth(!1)-e.width()],i=[h[0]/(g[0].parent().height()-g[0].height()),h[1]/(g[1].parent().width()-g[1].width())];c.scrollRatio={y:i[0],x:i[1]}},x=function(a,b,c){var d=c?k[0]+"_expanded":"",e=a.closest(".mCSB_scrollTools");"active"===b?(a.toggleClass(k[0]+" "+d),e.toggleClass(k[1]),a[0]._draggable=a[0]._draggable?0:1):a[0]._draggable||("hide"===b?(a.removeClass(k[0]),e.removeClass(k[1])):(a.addClass(k[0]),e.addClass(k[1])))},y=function(){var b=a(this),c=b.data(d),e=a("#mCSB_"+c.idx),f=a("#mCSB_"+c.idx+"_container"),g=null==c.overflowed?f.height():f.outerHeight(!1),h=null==c.overflowed?f.width():f.outerWidth(!1),i=f[0].scrollHeight,j=f[0].scrollWidth;return i>g&&(g=i),j>h&&(h=j),[g>e.height(),h>e.width()]},z=function(){var b=a(this),c=b.data(d),e=c.opt,f=a("#mCSB_"+c.idx),g=a("#mCSB_"+c.idx+"_container"),h=[a("#mCSB_"+c.idx+"_dragger_vertical"),a("#mCSB_"+c.idx+"_dragger_horizontal")];if(U(b),("x"!==e.axis&&!c.overflowed[0]||"y"===e.axis&&c.overflowed[0])&&(h[0].add(g).css("top",0),V(b,"_resetY")),"y"!==e.axis&&!c.overflowed[1]||"x"===e.axis&&c.overflowed[1]){var i=dx=0;"rtl"===c.langDir&&(i=f.width()-g.outerWidth(!1),dx=Math.abs(i/c.scrollRatio.x)),g.css("left",i),h[1].css("left",dx),V(b,"_resetX")}},A=function(){function b(){g=setTimeout(function(){a.event.special.mousewheel?(clearTimeout(g),H.call(c[0])):b()},100)}var c=a(this),e=c.data(d),f=e.opt;if(!e.bindEvents){if(E.call(this),f.contentTouchScroll&&F.call(this),G.call(this),f.mouseWheel.enable){var g;b()}K.call(this),M.call(this),f.advanced.autoScrollOnFocus&&L.call(this),f.scrollButtons.enable&&N.call(this),f.keyboard.enable&&O.call(this),e.bindEvents=!0}},B=function(){var b=a(this),c=b.data(d),e=c.opt,f=d+"_"+c.idx,g=".mCSB_"+c.idx+"_scrollbar",h=a("#mCSB_"+c.idx+",#mCSB_"+c.idx+"_container,#mCSB_"+c.idx+"_container_wrapper,"+g+" ."+k[12]+",#mCSB_"+c.idx+"_dragger_vertical,#mCSB_"+c.idx+"_dragger_horizontal,"+g+">a"),i=a("#mCSB_"+c.idx+"_container");e.advanced.releaseDraggableSelectors&&h.add(a(e.advanced.releaseDraggableSelectors)),e.advanced.extraDraggableSelectors&&h.add(a(e.advanced.extraDraggableSelectors)),c.bindEvents&&(a(document).add(a(!I()||top.document)).unbind("."+f),h.each(function(){a(this).unbind("."+f)}),clearTimeout(b[0]._focusTimeout),Z(b[0],"_focusTimeout"),clearTimeout(c.sequential.step),Z(c.sequential,"step"),clearTimeout(i[0].onCompleteTimeout),Z(i[0],"onCompleteTimeout"),c.bindEvents=!1)},C=function(b){var c=a(this),e=c.data(d),f=e.opt,g=a("#mCSB_"+e.idx+"_container_wrapper"),h=g.length?g:a("#mCSB_"+e.idx+"_container"),i=[a("#mCSB_"+e.idx+"_scrollbar_vertical"),a("#mCSB_"+e.idx+"_scrollbar_horizontal")],j=[i[0].find(".mCSB_dragger"),i[1].find(".mCSB_dragger")];"x"!==f.axis&&(e.overflowed[0]&&!b?(i[0].add(j[0]).add(i[0].children("a")).css("display","block"),h.removeClass(k[8]+" "+k[10])):(f.alwaysShowScrollbar?(2!==f.alwaysShowScrollbar&&j[0].css("display","none"),h.removeClass(k[10])):(i[0].css("display","none"),
-h.addClass(k[10])),h.addClass(k[8]))),"y"!==f.axis&&(e.overflowed[1]&&!b?(i[1].add(j[1]).add(i[1].children("a")).css("display","block"),h.removeClass(k[9]+" "+k[11])):(f.alwaysShowScrollbar?(2!==f.alwaysShowScrollbar&&j[1].css("display","none"),h.removeClass(k[11])):(i[1].css("display","none"),h.addClass(k[11])),h.addClass(k[9]))),e.overflowed[0]||e.overflowed[1]?c.removeClass(k[5]):c.addClass(k[5])},D=function(b){var c=b.type,d=b.target.ownerDocument!==document?[a(frameElement).offset().top,a(frameElement).offset().left]:null,e=I()&&b.target.ownerDocument!==top.document?[a(b.view.frameElement).offset().top,a(b.view.frameElement).offset().left]:[0,0];switch(c){case"pointerdown":case"MSPointerDown":case"pointermove":case"MSPointerMove":case"pointerup":case"MSPointerUp":return d?[b.originalEvent.pageY-d[0]+e[0],b.originalEvent.pageX-d[1]+e[1],!1]:[b.originalEvent.pageY,b.originalEvent.pageX,!1];case"touchstart":case"touchmove":case"touchend":var f=b.originalEvent.touches[0]||b.originalEvent.changedTouches[0],g=b.originalEvent.touches.length||b.originalEvent.changedTouches.length;return b.target.ownerDocument!==document?[f.screenY,f.screenX,g>1]:[f.pageY,f.pageX,g>1];default:return d?[b.pageY-d[0]+e[0],b.pageX-d[1]+e[1],!1]:[b.pageY,b.pageX,!1]}},E=function(){function b(a){var b=o.find("iframe");if(b.length){var c=a?"auto":"none";b.css("pointer-events",c)}}function c(a,b,c,d){if(o[0].idleTimer=l.scrollInertia<233?250:0,e.attr("id")===n[1])var f="x",g=(e[0].offsetLeft-b+d)*k.scrollRatio.x;else var f="y",g=(e[0].offsetTop-a+c)*k.scrollRatio.y;V(h,g.toString(),{dir:f,drag:!0})}var e,f,g,h=a(this),k=h.data(d),l=k.opt,m=d+"_"+k.idx,n=["mCSB_"+k.idx+"_dragger_vertical","mCSB_"+k.idx+"_dragger_horizontal"],o=a("#mCSB_"+k.idx+"_container"),p=a("#"+n[0]+",#"+n[1]),q=l.advanced.releaseDraggableSelectors?p.add(a(l.advanced.releaseDraggableSelectors)):p,r=l.advanced.extraDraggableSelectors?a(!I()||top.document).add(a(l.advanced.extraDraggableSelectors)):a(!I()||top.document);p.bind("mousedown."+m+" touchstart."+m+" pointerdown."+m+" MSPointerDown."+m,function(c){if(c.stopImmediatePropagation(),c.preventDefault(),$(c)){j=!0,i&&(document.onselectstart=function(){return!1}),b(!1),U(h),e=a(this);var d=e.offset(),k=D(c)[0]-d.top,m=D(c)[1]-d.left,n=e.height()+d.top,o=e.width()+d.left;n>k&&k>0&&o>m&&m>0&&(f=k,g=m),x(e,"active",l.autoExpandScrollbar)}}).bind("touchmove."+m,function(a){a.stopImmediatePropagation(),a.preventDefault();var b=e.offset(),d=D(a)[0]-b.top,h=D(a)[1]-b.left;c(f,g,d,h)}),a(document).add(r).bind("mousemove."+m+" pointermove."+m+" MSPointerMove."+m,function(a){if(e){var b=e.offset(),d=D(a)[0]-b.top,h=D(a)[1]-b.left;if(f===d&&g===h)return;c(f,g,d,h)}}).add(q).bind("mouseup."+m+" touchend."+m+" pointerup."+m+" MSPointerUp."+m,function(a){e&&(x(e,"active",l.autoExpandScrollbar),e=null),j=!1,i&&(document.onselectstart=null),b(!0)})},F=function(){function c(a){if(!_(a)||j||D(a)[2])return void(b=0);b=1,w=0,x=0,k=1,y.removeClass("mCS_touch_action");var c=E.offset();l=D(a)[0]-c.top,m=D(a)[1]-c.left,L=[D(a)[0],D(a)[1]]}function e(a){if(_(a)&&!j&&!D(a)[2]&&(A.documentTouchScroll||a.preventDefault(),a.stopImmediatePropagation(),(!x||w)&&k)){q=X();var b=C.offset(),c=D(a)[0]-b.top,d=D(a)[1]-b.left,e="mcsLinearOut";if(G.push(c),H.push(d),L[2]=Math.abs(D(a)[0]-L[0]),L[3]=Math.abs(D(a)[1]-L[1]),z.overflowed[0])var f=F[0].parent().height()-F[0].height(),g=l-c>0&&c-l>-(f*z.scrollRatio.y)&&(2*L[3]<L[2]||"yx"===A.axis);if(z.overflowed[1])var h=F[1].parent().width()-F[1].width(),n=m-d>0&&d-m>-(h*z.scrollRatio.x)&&(2*L[2]<L[3]||"yx"===A.axis);g||n?(O||a.preventDefault(),w=1):(x=1,y.addClass("mCS_touch_action")),O&&a.preventDefault(),u="yx"===A.axis?[l-c,m-d]:"x"===A.axis?[null,m-d]:[l-c,null],E[0].idleTimer=250,z.overflowed[0]&&i(u[0],J,e,"y","all",!0),z.overflowed[1]&&i(u[1],J,e,"x",K,!0)}}function f(a){if(!_(a)||j||D(a)[2])return void(b=0);b=1,a.stopImmediatePropagation(),U(y),p=X();var c=C.offset();n=D(a)[0]-c.top,o=D(a)[1]-c.left,G=[],H=[]}function g(a){if(_(a)&&!j&&!D(a)[2]){k=0,a.stopImmediatePropagation(),w=0,x=0,r=X();var b=C.offset(),c=D(a)[0]-b.top,d=D(a)[1]-b.left;if(!(r-q>30)){t=1e3/(r-p);var e="mcsEaseOut",f=2.5>t,g=f?[G[G.length-2],H[H.length-2]]:[0,0];s=f?[c-g[0],d-g[1]]:[c-n,d-o];var l=[Math.abs(s[0]),Math.abs(s[1])];t=f?[Math.abs(s[0]/4),Math.abs(s[1]/4)]:[t,t];var m=[Math.abs(E[0].offsetTop)-s[0]*h(l[0]/t[0],t[0]),Math.abs(E[0].offsetLeft)-s[1]*h(l[1]/t[1],t[1])];u="yx"===A.axis?[m[0],m[1]]:"x"===A.axis?[null,m[1]]:[m[0],null],v=[4*l[0]+A.scrollInertia,4*l[1]+A.scrollInertia];var y=parseInt(A.contentTouchScroll)||0;u[0]=l[0]>y?u[0]:0,u[1]=l[1]>y?u[1]:0,z.overflowed[0]&&i(u[0],v[0],e,"y",K,!1),z.overflowed[1]&&i(u[1],v[1],e,"x",K,!1)}}}function h(a,b){var c=[1.5*b,2*b,b/1.5,b/2];return a>90?b>4?c[0]:c[3]:a>60?b>3?c[3]:c[2]:a>30?b>8?c[1]:b>6?c[0]:b>4?b:c[2]:b>8?b:c[3]}function i(a,b,c,d,e,f){a&&V(y,a.toString(),{dur:b,scrollEasing:c,dir:d,overwrite:e,drag:f})}var k,l,m,n,o,p,q,r,s,t,u,v,w,x,y=a(this),z=y.data(d),A=z.opt,B=d+"_"+z.idx,C=a("#mCSB_"+z.idx),E=a("#mCSB_"+z.idx+"_container"),F=[a("#mCSB_"+z.idx+"_dragger_vertical"),a("#mCSB_"+z.idx+"_dragger_horizontal")],G=[],H=[],J=0,K="yx"===A.axis?"none":"all",L=[],M=E.find("iframe"),N=["touchstart."+B+" pointerdown."+B+" MSPointerDown."+B,"touchmove."+B+" pointermove."+B+" MSPointerMove."+B,"touchend."+B+" pointerup."+B+" MSPointerUp."+B],O=void 0!==document.body.style.touchAction;E.bind(N[0],function(a){c(a)}).bind(N[1],function(a){e(a)}),C.bind(N[0],function(a){f(a)}).bind(N[2],function(a){g(a)}),M.length&&M.each(function(){a(this).load(function(){I(this)&&a(this.contentDocument||this.contentWindow.document).bind(N[0],function(a){c(a),f(a)}).bind(N[1],function(a){e(a)}).bind(N[2],function(a){g(a)})})})},G=function(){function c(){return window.getSelection?window.getSelection().toString():document.selection&&"Control"!=document.selection.type?document.selection.createRange().text:0}function e(a,b,c){k.type=c&&f?"stepped":"stepless",k.scrollAmount=10,P(g,a,b,"mcsLinearOut",c?60:null)}var f,g=a(this),h=g.data(d),i=h.opt,k=h.sequential,l=d+"_"+h.idx,m=a("#mCSB_"+h.idx+"_container"),n=m.parent();m.bind("mousedown."+l,function(a){b||f||(f=1,j=!0)}).add(document).bind("mousemove."+l,function(a){if(!b&&f&&c()){var d=m.offset(),g=D(a)[0]-d.top+m[0].offsetTop,j=D(a)[1]-d.left+m[0].offsetLeft;g>0&&g<n.height()&&j>0&&j<n.width()?k.step&&e("off",null,"stepped"):("x"!==i.axis&&h.overflowed[0]&&(0>g?e("on",38):g>n.height()&&e("on",40)),"y"!==i.axis&&h.overflowed[1]&&(0>j?e("on",37):j>n.width()&&e("on",39)))}}).bind("mouseup."+l+" dragend."+l,function(a){b||(f&&(f=0,e("off",null)),j=!1)})},H=function(){function b(b,d){if(U(c),!J(c,b.target)){var g="auto"!==f.mouseWheel.deltaFactor?parseInt(f.mouseWheel.deltaFactor):i&&b.deltaFactor<100?100:b.deltaFactor||100,k=f.scrollInertia;if("x"===f.axis||"x"===f.mouseWheel.axis)var l="x",m=[Math.round(g*e.scrollRatio.x),parseInt(f.mouseWheel.scrollAmount)],n="auto"!==f.mouseWheel.scrollAmount?m[1]:m[0]>=h.width()?.9*h.width():m[0],o=Math.abs(a("#mCSB_"+e.idx+"_container")[0].offsetLeft),p=j[1][0].offsetLeft,q=j[1].parent().width()-j[1].width(),r=b.deltaX||b.deltaY||d;else var l="y",m=[Math.round(g*e.scrollRatio.y),parseInt(f.mouseWheel.scrollAmount)],n="auto"!==f.mouseWheel.scrollAmount?m[1]:m[0]>=h.height()?.9*h.height():m[0],o=Math.abs(a("#mCSB_"+e.idx+"_container")[0].offsetTop),p=j[0][0].offsetTop,q=j[0].parent().height()-j[0].height(),r=b.deltaY||d;"y"===l&&!e.overflowed[0]||"x"===l&&!e.overflowed[1]||((f.mouseWheel.invert||b.webkitDirectionInvertedFromDevice)&&(r=-r),f.mouseWheel.normalizeDelta&&(r=0>r?-1:1),(r>0&&0!==p||0>r&&p!==q||f.mouseWheel.preventDefault)&&(b.stopImmediatePropagation(),b.preventDefault()),b.deltaFactor<2&&!f.mouseWheel.normalizeDelta&&(n=b.deltaFactor,k=17),V(c,(o-r*n).toString(),{dir:l,dur:k}))}}if(a(this).data(d)){var c=a(this),e=c.data(d),f=e.opt,g=d+"_"+e.idx,h=a("#mCSB_"+e.idx),j=[a("#mCSB_"+e.idx+"_dragger_vertical"),a("#mCSB_"+e.idx+"_dragger_horizontal")],k=a("#mCSB_"+e.idx+"_container").find("iframe");k.length&&k.each(function(){a(this).load(function(){I(this)&&a(this.contentDocument||this.contentWindow.document).bind("mousewheel."+g,function(a,c){b(a,c)})})}),h.bind("mousewheel."+g,function(a,c){b(a,c)})}},I=function(a){var b=null;if(a){try{var c=a.contentDocument||a.contentWindow.document;b=c.body.innerHTML}catch(d){}return null!==b}try{var c=top.document;b=c.body.innerHTML}catch(d){}return null!==b},J=function(b,c){var e=c.nodeName.toLowerCase(),f=b.data(d).opt.mouseWheel.disableOver,g=["select","textarea"];return a.inArray(e,f)>-1&&!(a.inArray(e,g)>-1&&!a(c).is(":focus"))},K=function(){var b,c=a(this),e=c.data(d),f=d+"_"+e.idx,g=a("#mCSB_"+e.idx+"_container"),h=g.parent(),i=a(".mCSB_"+e.idx+"_scrollbar ."+k[12]);i.bind("mousedown."+f+" touchstart."+f+" pointerdown."+f+" MSPointerDown."+f,function(c){j=!0,a(c.target).hasClass("mCSB_dragger")||(b=1)}).bind("touchend."+f+" pointerup."+f+" MSPointerUp."+f,function(a){j=!1}).bind("click."+f,function(d){if(b&&(b=0,a(d.target).hasClass(k[12])||a(d.target).hasClass("mCSB_draggerRail"))){U(c);var f=a(this),i=f.find(".mCSB_dragger");if(f.parent(".mCSB_scrollTools_horizontal").length>0){if(!e.overflowed[1])return;var j="x",l=d.pageX>i.offset().left?-1:1,m=Math.abs(g[0].offsetLeft)-l*(.9*h.width())}else{if(!e.overflowed[0])return;var j="y",l=d.pageY>i.offset().top?-1:1,m=Math.abs(g[0].offsetTop)-l*(.9*h.height())}V(c,m.toString(),{dir:j,scrollEasing:"mcsEaseInOut"})}})},L=function(){var b=a(this),c=b.data(d),e=c.opt,f=d+"_"+c.idx,g=a("#mCSB_"+c.idx+"_container"),h=g.parent();g.bind("focusin."+f,function(c){var d=a(document.activeElement),f=g.find(".mCustomScrollBox").length,i=0;d.is(e.advanced.autoScrollOnFocus)&&(U(b),clearTimeout(b[0]._focusTimeout),b[0]._focusTimer=f?(i+17)*f:0,b[0]._focusTimeout=setTimeout(function(){var a=[ba(d)[0],ba(d)[1]],c=[g[0].offsetTop,g[0].offsetLeft],f=[c[0]+a[0]>=0&&c[0]+a[0]<h.height()-d.outerHeight(!1),c[1]+a[1]>=0&&c[0]+a[1]<h.width()-d.outerWidth(!1)],j="yx"!==e.axis||f[0]||f[1]?"all":"none";"x"===e.axis||f[0]||V(b,a[0].toString(),{dir:"y",scrollEasing:"mcsEaseInOut",overwrite:j,dur:i}),"y"===e.axis||f[1]||V(b,a[1].toString(),{dir:"x",scrollEasing:"mcsEaseInOut",overwrite:j,dur:i})},b[0]._focusTimer))})},M=function(){var b=a(this),c=b.data(d),e=d+"_"+c.idx,f=a("#mCSB_"+c.idx+"_container").parent();f.bind("scroll."+e,function(b){(0!==f.scrollTop()||0!==f.scrollLeft())&&a(".mCSB_"+c.idx+"_scrollbar").css("visibility","hidden")})},N=function(){var b=a(this),c=b.data(d),e=c.opt,f=c.sequential,g=d+"_"+c.idx,h=".mCSB_"+c.idx+"_scrollbar",i=a(h+">a");i.bind("mousedown."+g+" touchstart."+g+" pointerdown."+g+" MSPointerDown."+g+" mouseup."+g+" touchend."+g+" pointerup."+g+" MSPointerUp."+g+" mouseout."+g+" pointerout."+g+" MSPointerOut."+g+" click."+g,function(d){function g(a,c){f.scrollAmount=e.scrollButtons.scrollAmount,P(b,a,c)}if(d.preventDefault(),$(d)){var h=a(this).attr("class");switch(f.type=e.scrollButtons.scrollType,d.type){case"mousedown":case"touchstart":case"pointerdown":case"MSPointerDown":if("stepped"===f.type)return;j=!0,c.tweenRunning=!1,g("on",h);break;case"mouseup":case"touchend":case"pointerup":case"MSPointerUp":case"mouseout":case"pointerout":case"MSPointerOut":if("stepped"===f.type)return;j=!1,f.dir&&g("off",h);break;case"click":if("stepped"!==f.type||c.tweenRunning)return;g("on",h)}}})},O=function(){function b(b){function d(a,b){g.type=f.keyboard.scrollType,g.scrollAmount=f.keyboard.scrollAmount,"stepped"===g.type&&e.tweenRunning||P(c,a,b)}switch(b.type){case"blur":e.tweenRunning&&g.dir&&d("off",null);break;case"keydown":case"keyup":var h=b.keyCode?b.keyCode:b.which,i="on";if("x"!==f.axis&&(38===h||40===h)||"y"!==f.axis&&(37===h||39===h)){if((38===h||40===h)&&!e.overflowed[0]||(37===h||39===h)&&!e.overflowed[1])return;"keyup"===b.type&&(i="off"),a(document.activeElement).is(l)||(b.preventDefault(),b.stopImmediatePropagation(),d(i,h))}else if(33===h||34===h){if((e.overflowed[0]||e.overflowed[1])&&(b.preventDefault(),b.stopImmediatePropagation()),"keyup"===b.type){U(c);var m=34===h?-1:1;if("x"===f.axis||"yx"===f.axis&&e.overflowed[1]&&!e.overflowed[0])var n="x",o=Math.abs(j[0].offsetLeft)-m*(.9*k.width());else var n="y",o=Math.abs(j[0].offsetTop)-m*(.9*k.height());V(c,o.toString(),{dir:n,scrollEasing:"mcsEaseInOut"})}}else if((35===h||36===h)&&!a(document.activeElement).is(l)&&((e.overflowed[0]||e.overflowed[1])&&(b.preventDefault(),b.stopImmediatePropagation()),"keyup"===b.type)){if("x"===f.axis||"yx"===f.axis&&e.overflowed[1]&&!e.overflowed[0])var n="x",o=35===h?Math.abs(k.width()-j.outerWidth(!1)):0;else var n="y",o=35===h?Math.abs(k.height()-j.outerHeight(!1)):0;V(c,o.toString(),{dir:n,scrollEasing:"mcsEaseInOut"})}}}var c=a(this),e=c.data(d),f=e.opt,g=e.sequential,h=d+"_"+e.idx,i=a("#mCSB_"+e.idx),j=a("#mCSB_"+e.idx+"_container"),k=j.parent(),l="input,textarea,select,datalist,keygen,[contenteditable='true']",m=j.find("iframe"),n=["blur."+h+" keydown."+h+" keyup."+h];m.length&&m.each(function(){a(this).load(function(){I(this)&&a(this.contentDocument||this.contentWindow.document).bind(n[0],function(a){b(a)})})}),i.attr("tabindex","0").bind(n[0],function(a){b(a)})},P=function(b,c,e,f,g){function h(a){l.snapAmount&&(m.scrollAmount=l.snapAmount instanceof Array?"x"===m.dir[0]?l.snapAmount[1]:l.snapAmount[0]:l.snapAmount);var c="stepped"!==m.type,d=g?g:a?c?p/1.5:q:1e3/60,e=a?c?7.5:40:2.5,i=[Math.abs(n[0].offsetTop),Math.abs(n[0].offsetLeft)],k=[j.scrollRatio.y>10?10:j.scrollRatio.y,j.scrollRatio.x>10?10:j.scrollRatio.x],o="x"===m.dir[0]?i[1]+m.dir[1]*(k[1]*e):i[0]+m.dir[1]*(k[0]*e),r="x"===m.dir[0]?i[1]+m.dir[1]*parseInt(m.scrollAmount):i[0]+m.dir[1]*parseInt(m.scrollAmount),s="auto"!==m.scrollAmount?r:o,t=f?f:a?c?"mcsLinearOut":"mcsEaseInOut":"mcsLinear",u=a?!0:!1;return a&&17>d&&(s="x"===m.dir[0]?i[1]:i[0]),V(b,s.toString(),{dir:m.dir[0],scrollEasing:t,dur:d,onComplete:u}),a?void(m.dir=!1):(clearTimeout(m.step),void(m.step=setTimeout(function(){h()},d)))}function i(){clearTimeout(m.step),Z(m,"step"),U(b)}var j=b.data(d),l=j.opt,m=j.sequential,n=a("#mCSB_"+j.idx+"_container"),o="stepped"===m.type?!0:!1,p=l.scrollInertia<26?26:l.scrollInertia,q=l.scrollInertia<1?17:l.scrollInertia;switch(c){case"on":if(m.dir=[e===k[16]||e===k[15]||39===e||37===e?"x":"y",e===k[13]||e===k[15]||38===e||37===e?-1:1],U(b),aa(e)&&"stepped"===m.type)return;h(o);break;case"off":i(),(o||j.tweenRunning&&m.dir)&&h(!0)}},Q=function(b){var c=a(this).data(d).opt,e=[];return"function"==typeof b&&(b=b()),b instanceof Array?e=b.length>1?[b[0],b[1]]:"x"===c.axis?[null,b[0]]:[b[0],null]:(e[0]=b.y?b.y:b.x||"x"===c.axis?null:b,e[1]=b.x?b.x:b.y||"y"===c.axis?null:b),"function"==typeof e[0]&&(e[0]=e[0]()),"function"==typeof e[1]&&(e[1]=e[1]()),e},R=function(b,c){if(null!=b&&"undefined"!=typeof b){var e=a(this),f=e.data(d),g=f.opt,h=a("#mCSB_"+f.idx+"_container"),i=h.parent(),j=typeof b;c||(c="x"===g.axis?"x":"y");var k="x"===c?h.outerWidth(!1):h.outerHeight(!1),m="x"===c?h[0].offsetLeft:h[0].offsetTop,n="x"===c?"left":"top";switch(j){case"function":return b();case"object":var o=b.jquery?b:a(b);if(!o.length)return;return"x"===c?ba(o)[1]:ba(o)[0];case"string":case"number":if(aa(b))return Math.abs(b);if(-1!==b.indexOf("%"))return Math.abs(k*parseInt(b)/100);if(-1!==b.indexOf("-="))return Math.abs(m-parseInt(b.split("-=")[1]));if(-1!==b.indexOf("+=")){var p=m+parseInt(b.split("+=")[1]);return p>=0?0:Math.abs(p)}if(-1!==b.indexOf("px")&&aa(b.split("px")[0]))return Math.abs(b.split("px")[0]);if("top"===b||"left"===b)return 0;if("bottom"===b)return Math.abs(i.height()-h.outerHeight(!1));if("right"===b)return Math.abs(i.width()-h.outerWidth(!1));if("first"===b||"last"===b){var o=h.find(":"+b);return"x"===c?ba(o)[1]:ba(o)[0]}return a(b).length?"x"===c?ba(a(b))[1]:ba(a(b))[0]:(h.css(n,b),void l.update.call(null,e[0]))}}},S=function(b){function c(){return clearTimeout(m[0].autoUpdate),0===h.parents("html").length?void(h=null):void(m[0].autoUpdate=setTimeout(function(){return j.advanced.updateOnSelectorChange&&(i.poll.change.n=f(),i.poll.change.n!==i.poll.change.o)?(i.poll.change.o=i.poll.change.n,void g(3)):j.advanced.updateOnContentResize&&(i.poll.size.n=h[0].scrollHeight+h[0].scrollWidth+m[0].offsetHeight+h[0].offsetHeight+h[0].offsetWidth,i.poll.size.n!==i.poll.size.o)?(i.poll.size.o=i.poll.size.n,void g(1)):!j.advanced.updateOnImageLoad||"auto"===j.advanced.updateOnImageLoad&&"y"===j.axis||(i.poll.img.n=m.find("img").length,i.poll.img.n===i.poll.img.o)?void((j.advanced.updateOnSelectorChange||j.advanced.updateOnContentResize||j.advanced.updateOnImageLoad)&&c()):(i.poll.img.o=i.poll.img.n,void m.find("img").each(function(){e(this)}))},j.advanced.autoUpdateTimeout))}function e(b){function c(a,b){return function(){return b.apply(a,arguments)}}function d(){this.onload=null,a(b).addClass(k[2]),g(2)}if(a(b).hasClass(k[2]))return void g();var e=new Image;e.onload=c(e,d),e.src=b.src}function f(){j.advanced.updateOnSelectorChange===!0&&(j.advanced.updateOnSelectorChange="*");var a=0,b=m.find(j.advanced.updateOnSelectorChange);return j.advanced.updateOnSelectorChange&&b.length>0&&b.each(function(){a+=this.offsetHeight+this.offsetWidth}),a}function g(a){clearTimeout(m[0].autoUpdate),l.update.call(null,h[0],a)}var h=a(this),i=h.data(d),j=i.opt,m=a("#mCSB_"+i.idx+"_container");return b?(clearTimeout(m[0].autoUpdate),void Z(m[0],"autoUpdate")):void c()},T=function(a,b,c){return Math.round(a/b)*b-c},U=function(b){var c=b.data(d),e=a("#mCSB_"+c.idx+"_container,#mCSB_"+c.idx+"_container_wrapper,#mCSB_"+c.idx+"_dragger_vertical,#mCSB_"+c.idx+"_dragger_horizontal");e.each(function(){Y.call(this)})},V=function(b,c,e){function f(a){return i&&j.callbacks[a]&&"function"==typeof j.callbacks[a]}function g(){return[j.callbacks.alwaysTriggerOffsets||u>=v[0]+y,j.callbacks.alwaysTriggerOffsets||-z>=u]}function h(){var a=[n[0].offsetTop,n[0].offsetLeft],c=[s[0].offsetTop,s[0].offsetLeft],d=[n.outerHeight(!1),n.outerWidth(!1)],f=[m.height(),m.width()];b[0].mcs={content:n,top:a[0],left:a[1],draggerTop:c[0],draggerLeft:c[1],topPct:Math.round(100*Math.abs(a[0])/(Math.abs(d[0])-f[0])),leftPct:Math.round(100*Math.abs(a[1])/(Math.abs(d[1])-f[1])),direction:e.dir}}var i=b.data(d),j=i.opt,k={trigger:"internal",dir:"y",scrollEasing:"mcsEaseOut",drag:!1,dur:j.scrollInertia,overwrite:"all",callbacks:!0,onStart:!0,onUpdate:!0,onComplete:!0},e=a.extend(k,e),l=[e.dur,e.drag?0:e.dur],m=a("#mCSB_"+i.idx),n=a("#mCSB_"+i.idx+"_container"),o=n.parent(),p=j.callbacks.onTotalScrollOffset?Q.call(b,j.callbacks.onTotalScrollOffset):[0,0],q=j.callbacks.onTotalScrollBackOffset?Q.call(b,j.callbacks.onTotalScrollBackOffset):[0,0];if(i.trigger=e.trigger,(0!==o.scrollTop()||0!==o.scrollLeft())&&(a(".mCSB_"+i.idx+"_scrollbar").css("visibility","visible"),o.scrollTop(0).scrollLeft(0)),"_resetY"!==c||i.contentReset.y||(f("onOverflowYNone")&&j.callbacks.onOverflowYNone.call(b[0]),i.contentReset.y=1),"_resetX"!==c||i.contentReset.x||(f("onOverflowXNone")&&j.callbacks.onOverflowXNone.call(b[0]),i.contentReset.x=1),"_resetY"!==c&&"_resetX"!==c){if(!i.contentReset.y&&b[0].mcs||!i.overflowed[0]||(f("onOverflowY")&&j.callbacks.onOverflowY.call(b[0]),i.contentReset.x=null),!i.contentReset.x&&b[0].mcs||!i.overflowed[1]||(f("onOverflowX")&&j.callbacks.onOverflowX.call(b[0]),i.contentReset.x=null),j.snapAmount){var r=j.snapAmount instanceof Array?"x"===e.dir?j.snapAmount[1]:j.snapAmount[0]:j.snapAmount;c=T(c,r,j.snapOffset)}switch(e.dir){case"x":var s=a("#mCSB_"+i.idx+"_dragger_horizontal"),t="left",u=n[0].offsetLeft,v=[m.width()-n.outerWidth(!1),s.parent().width()-s.width()],w=[c,0===c?0:c/i.scrollRatio.x],y=p[1],z=q[1],A=y>0?y/i.scrollRatio.x:0,B=z>0?z/i.scrollRatio.x:0;break;case"y":var s=a("#mCSB_"+i.idx+"_dragger_vertical"),t="top",u=n[0].offsetTop,v=[m.height()-n.outerHeight(!1),s.parent().height()-s.height()],w=[c,0===c?0:c/i.scrollRatio.y],y=p[0],z=q[0],A=y>0?y/i.scrollRatio.y:0,B=z>0?z/i.scrollRatio.y:0}w[1]<0||0===w[0]&&0===w[1]?w=[0,0]:w[1]>=v[1]?w=[v[0],v[1]]:w[0]=-w[0],b[0].mcs||(h(),f("onInit")&&j.callbacks.onInit.call(b[0])),clearTimeout(n[0].onCompleteTimeout),W(s[0],t,Math.round(w[1]),l[1],e.scrollEasing),(i.tweenRunning||!(0===u&&w[0]>=0||u===v[0]&&w[0]<=v[0]))&&W(n[0],t,Math.round(w[0]),l[0],e.scrollEasing,e.overwrite,{onStart:function(){e.callbacks&&e.onStart&&!i.tweenRunning&&(f("onScrollStart")&&(h(),j.callbacks.onScrollStart.call(b[0])),i.tweenRunning=!0,x(s),i.cbOffsets=g())},onUpdate:function(){e.callbacks&&e.onUpdate&&f("whileScrolling")&&(h(),j.callbacks.whileScrolling.call(b[0]))},onComplete:function(){if(e.callbacks&&e.onComplete){"yx"===j.axis&&clearTimeout(n[0].onCompleteTimeout);var a=n[0].idleTimer||0;n[0].onCompleteTimeout=setTimeout(function(){f("onScroll")&&(h(),j.callbacks.onScroll.call(b[0])),f("onTotalScroll")&&w[1]>=v[1]-A&&i.cbOffsets[0]&&(h(),j.callbacks.onTotalScroll.call(b[0])),f("onTotalScrollBack")&&w[1]<=B&&i.cbOffsets[1]&&(h(),j.callbacks.onTotalScrollBack.call(b[0])),i.tweenRunning=!1,n[0].idleTimer=0,x(s,"hide")},a)}}})}},W=function(a,b,c,d,e,f,g){function h(){v.stop||(s||o.call(),s=X()-r,i(),s>=v.time&&(v.time=s>v.time?s+m-(s-v.time):s+m-1,v.time<s+1&&(v.time=s+1)),v.time<d?v.id=n(h):q.call())}function i(){d>0?(v.currVal=l(v.time,t,w,d,e),u[b]=Math.round(v.currVal)+"px"):u[b]=c+"px",p.call()}function j(){m=1e3/60,v.time=s+m,n=window.requestAnimationFrame?window.requestAnimationFrame:function(a){return i(),setTimeout(a,.01)},v.id=n(h)}function k(){null!=v.id&&(window.requestAnimationFrame?window.cancelAnimationFrame(v.id):clearTimeout(v.id),v.id=null)}function l(a,b,c,d,e){switch(e){case"linear":case"mcsLinear":return c*a/d+b;case"mcsLinearOut":return a/=d,a--,c*Math.sqrt(1-a*a)+b;case"easeInOutSmooth":return a/=d/2,1>a?c/2*a*a+b:(a--,-c/2*(a*(a-2)-1)+b);case"easeInOutStrong":return a/=d/2,1>a?c/2*Math.pow(2,10*(a-1))+b:(a--,c/2*(-Math.pow(2,-10*a)+2)+b);case"easeInOut":case"mcsEaseInOut":return a/=d/2,1>a?c/2*a*a*a+b:(a-=2,c/2*(a*a*a+2)+b);case"easeOutSmooth":return a/=d,a--,-c*(a*a*a*a-1)+b;case"easeOutStrong":return c*(-Math.pow(2,-10*a/d)+1)+b;case"easeOut":case"mcsEaseOut":default:var f=(a/=d)*a,g=f*a;return b+c*(.499999999999997*g*f+-2.5*f*f+5.5*g+-6.5*f+4*a)}}a._mTween||(a._mTween={top:{},left:{}});var m,n,g=g||{},o=g.onStart||function(){},p=g.onUpdate||function(){},q=g.onComplete||function(){},r=X(),s=0,t=a.offsetTop,u=a.style,v=a._mTween[b];"left"===b&&(t=a.offsetLeft);var w=c-t;v.stop=0,"none"!==f&&k(),j()},X=function(){return window.performance&&window.performance.now?window.performance.now():window.performance&&window.performance.webkitNow?window.performance.webkitNow():Date.now?Date.now():(new Date).getTime()},Y=function(){var a=this;a._mTween||(a._mTween={top:{},left:{}});for(var b=["top","left"],c=0;c<b.length;c++){var d=b[c];a._mTween[d].id&&(window.requestAnimationFrame?window.cancelAnimationFrame(a._mTween[d].id):clearTimeout(a._mTween[d].id),a._mTween[d].id=null,a._mTween[d].stop=1)}},Z=function(a,b){try{delete a[b]}catch(c){a[b]=null}},$=function(a){return!(a.which&&1!==a.which)},_=function(a){var b=a.originalEvent.pointerType;return!(b&&"touch"!==b&&2!==b)},aa=function(a){return!isNaN(parseFloat(a))&&isFinite(a)},ba=function(a){var b=a.parents(".mCSB_container");return[a.offset().top-b.offset().top,a.offset().left-b.offset().left]},ca=function(){function a(){var a=["webkit","moz","ms","o"];if("hidden"in document)return"hidden";for(var b=0;b<a.length;b++)if(a[b]+"Hidden"in document)return a[b]+"Hidden";return null}var b=a();return b?document[b]:!1};a.fn[c]=function(b){return l[b]?l[b].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof b&&b?void a.error("Method "+b+" does not exist"):l.init.apply(this,arguments)},a[c]=function(b){return l[b]?l[b].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof b&&b?void a.error("Method "+b+" does not exist"):l.init.apply(this,arguments)},a[c].defaults=f,window[c]=!0,a(window).load(function(){a(e)[c](),a.extend(a.expr[":"],{mcsInView:a.expr[":"].mcsInView||function(b){var c,d,e=a(b),f=e.parents(".mCSB_container");if(f.length)return c=f.parent(),d=[f[0].offsetTop,f[0].offsetLeft],d[0]+ba(e)[0]>=0&&d[0]+ba(e)[0]<c.height()-e.outerHeight(!1)&&d[1]+ba(e)[1]>=0&&d[1]+ba(e)[1]<c.width()-e.outerWidth(!1)},mcsOverflow:a.expr[":"].mcsOverflow||function(b){var c=a(b).data(d);if(c)return c.overflowed[0]||c.overflowed[1]}})})})}),!function(){"use strict";function a(){this.defaults={scrollButtons:{enable:!1},axis:"yx"},$.mCustomScrollbar.defaults.scrollButtons=this.defaults.scrollButtons,$.mCustomScrollbar.defaults.axis=this.defaults.axis,this.$get=function(){return{defaults:this.defaults}}}function b(a){return{scope:{ngScrollbarsConfig:"&"},link:function(b,c){var d=a.defaults,e=$.mCustomScrollbar.defaults,f=b.ngScrollbarsConfig();f||(f={});for(var g in d)if(d.hasOwnProperty(g))switch(g){case"scrollButtons":f.hasOwnProperty(g)||(e.scrollButtons=d[g]);break;case"axis":f.hasOwnProperty(g)||(e.axis=d[g]);break;default:f.hasOwnProperty(g)||(f[g]=d[g])}c.mCustomScrollbar(f)}}}b.$inject=["a"],angular.module("ngScrollbars",[]).provider("ScrollBars",a).directive("ngScrollbars",b),a.$inject=[],b.$inject=["ScrollBars"]}(),function(){"use strict";angular.module("ng-slide-down",[]).directive("ngSlideDown",["$timeout",function(a){var b,c;return b=function(a,b){return void 0!==b.lazyRender?"<div ng-if='lazyRender' ng-transclude></div>":"<div ng-transclude></div>"},c=function(b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q;return h=d.duration||1,q=d.timingFunction||"ease-in-out",i=c.scope(),j=d.emitOnClose,n=d.onClose,m=void 0!==d.lazyRender,g=null,o=null,k=function(a){var b,d,e,f,g;for(e=0,d=c.children(),f=0,g=d.length;g>f;f++)b=d[f],e+=b.clientHeight;return""+e+"px"},p=function(){return g&&a.cancel(g),m&&(b.lazyRender=!0),a(function(){return o&&a.cancel(o),c.css({overflow:"hidden",transitionProperty:"height",transitionDuration:""+h+"s",transitionTimingFunction:q,height:k()}),o=a(function(){return c.css({overflow:"visible",transition:"none",height:"auto"})},1e3*h)})},l=function(){return o&&a.cancel(o),c.css({overflow:"hidden",transitionProperty:"height",transitionDuration:""+h+"s",transitionTimingFunction:q,height:"0px"}),j||n||m?g=a(function(){return j&&b.$emit(j,{}),n&&i.$eval(n),m?b.lazyRender=!1:void 0},1e3*h):void 0},b.$watch("expanded",function(b,d){return b?a(p):(null!=b&&(c.css({height:k()}),c[0].clientHeight),a(l))})},{restrict:"A",scope:{expanded:"=ngSlideDown"},transclude:!0,link:c,template:function(a,c){return b(a,c)}}}])}.call(this);var mod;mod=angular.module("infinite-scroll",[]),mod.directive("infiniteScroll",["$rootScope","$window","$timeout",function(a,b,c){return{link:function(d,e,f){var g,h,i,j;return b=angular.element(b),i=0,null!=f.infiniteScrollDistance&&d.$watch(f.infiniteScrollDistance,function(a){return i=parseInt(a,10)}),j=!0,g=!1,null!=f.infiniteScrollDisabled&&d.$watch(f.infiniteScrollDisabled,function(a){return j=!a,j&&g?(g=!1,h()):void 0}),h=function(){var c,h,k,l;return l=b.height()+b.scrollTop(),c=e.offset().top+e.height(),h=c-l,k=h<=b.height()*i,k&&j?a.$$phase?d.$eval(f.infiniteScroll):d.$apply(f.infiniteScroll):k?g=!0:void 0},b.on("scroll",h),d.$on("$destroy",function(){return b.off("scroll",h)}),c(function(){return f.infiniteScrollImmediateCheck?d.$eval(f.infiniteScrollImmediateCheck)?h():void 0:h()},0)}}}]),angular.module("ngMap",[]),function(){"use strict";function camelCase(a){return a.replace(SPECIAL_CHARS_REGEXP,function(a,b,c,d){return d?c.toUpperCase():c}).replace(MOZ_HACK_REGEXP,"Moz$1")}function JSONize(a){try{return JSON.parse(a),a}catch(b){return a.replace(/([\$\w]+)\s*:/g,function(a,b){return'"'+b+'":'}).replace(/'([^']+)'/g,function(a,b){return'"'+b+'"'})}}var SPECIAL_CHARS_REGEXP=/([\:\-\_]+(.))/g,MOZ_HACK_REGEXP=/^moz([A-Z])/,Attr2Options=function($parse,$timeout,$log,NavigatorGeolocation,GeoCoder){var orgAttributes=function(a){a.length>0&&(a=a[0]);for(var b={},c=0;c<a.attributes.length;c++){var d=a.attributes[c];b[d.name]=d.value}return b},toOptionValue=function(input,options){var output,key=options.key,scope=options.scope;try{var num=Number(input);if(isNaN(num))throw"Not a number";output=num}catch(err){try{if(input.match(/^[\+\-]?[0-9\.]+,[ ]*\ ?[\+\-]?[0-9\.]+$/)&&(input="["+input+"]"),output=JSON.parse(JSONize(input)),output instanceof Array){var t1stEl=output[0];if(t1stEl.constructor==Object);else if(t1stEl.constructor==Array)output=output.map(function(a){return new google.maps.LatLng(a[0],a[1])});else if(!isNaN(parseFloat(t1stEl))&&isFinite(t1stEl))return new google.maps.LatLng(output[0],output[1])}else output===Object(output)&&(output=getOptions(output,options,!0))}catch(err2){if(input.match(/^[A-Z][a-zA-Z0-9]+\(.*\)$/))try{var exp="new google.maps."+input;output=eval(exp)}catch(e){output=input}else if(input.match(/^([A-Z][a-zA-Z0-9]+)\.([A-Z]+)$/))try{var matches=input.match(/^([A-Z][a-zA-Z0-9]+)\.([A-Z]+)$/);output=google.maps[matches[1]][matches[2]]}catch(e){output=input}else if(input.match(/^[A-Z]+$/))try{var capitalizedKey=key.charAt(0).toUpperCase()+key.slice(1);key.match(/temperatureUnit|windSpeedUnit|labelColor/)?(capitalizedKey=capitalizedKey.replace(/s$/,""),output=google.maps.weather[capitalizedKey][input]):output=google.maps[capitalizedKey][input]}catch(e){output=input}else if(input.match(/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/))try{output=new Date(input)}catch(e){output=input}else output=input}}if("bounds"==options.key&&output instanceof Array&&(output=new google.maps.LatLngBounds(output[0],output[1])),"icons"==options.key&&output instanceof Array)for(var i=0;i<output.length;i++){var el=output[i];el.icon.path.match(/^[A-Z_]+$/)&&(el.icon.path=google.maps.SymbolPath[el.icon.path])}if("icon"==options.key&&output instanceof Object){(""+output.path).match(/^[A-Z_]+$/)&&(output.path=google.maps.SymbolPath[output.path]);for(var key in output){var arr=output[key];"anchor"==key||"origin"==key?output[key]=new google.maps.Point(arr[0],arr[1]):("size"==key||"scaledSize"==key)&&(output[key]=new google.maps.Size(arr[0],arr[1]))}}return output},getAttrsToObserve=function(a){var b=[];a["ng-repeat"]||a.ngRepeat;for(var c in a){var d=a[c];d&&d.match(/\{\{.*\}\}/)&&b.push(camelCase(c))}return b},filter=function(a){var b={};for(var c in a)c.match(/^\$/)||c.match(/^ng[A-Z]/)||(b[c]=a[c]);return b},getOptions=function(a,b,c){var d={};for(var e in a)if(a[e]){if(e.match(/^on[A-Z]/))continue;if(e.match(/ControlOptions$/))continue;"string"!=typeof a[e]?d[e]=a[e]:c&&a[e].match(/^[0-9]+$/)?d[e]=a[e]:d[e]=toOptionValue(a[e],{scope:b,key:e})}return d},getEvents=function(a,b){var c={},d=function(a){return"_"+a.toLowerCase()},e=function(b){var c=b.match(/([^\(]+)\(([^\)]*)\)/),d=c[1],e=c[2].replace(/event[ ,]*/,""),f=$parse("["+e+"]");return function(b){function c(a,b){return a[b]}var e=f(a),g=d.split(".").reduce(c,a);g&&g.apply(this,[b].concat(e)),$timeout(function(){a.$apply()})}};for(var f in b)if(b[f]){if(!f.match(/^on[A-Z]/))continue;var g=f.replace(/^on/,"");g=g.charAt(0).toLowerCase()+g.slice(1),g=g.replace(/([A-Z])/g,d);var h=b[f];c[g]=new e(h)}return c},getControlOptions=function(a){var b={};if("object"!=typeof a)return!1;for(var c in a)if(a[c]){if(!c.match(/(.*)ControlOptions$/))continue;var d=a[c],e=d.replace(/'/g,'"');e=e.replace(/([^"]+)|("[^"]+")/g,function(a,b,c){return b?b.replace(/([a-zA-Z0-9]+?):/g,'"$1":'):c});try{var f=JSON.parse(e);for(var g in f)if(f[g]){var h=f[g];if("string"==typeof h?h=h.toUpperCase():"mapTypeIds"===g&&(h=h.map(function(a){return a.match(/^[A-Z]+$/)?google.maps.MapTypeId[a.toUpperCase()]:a})),"style"===g){var i=c.charAt(0).toUpperCase()+c.slice(1),j=i.replace(/Options$/,"")+"Style";f[g]=google.maps[j][h]}else"position"===g?f[g]=google.maps.ControlPosition[h]:f[g]=h}b[c]=f}catch(k){}}return b};return{camelCase:camelCase,filter:filter,getOptions:getOptions,getEvents:getEvents,getControlOptions:getControlOptions,toOptionValue:toOptionValue,getAttrsToObserve:getAttrsToObserve,orgAttributes:orgAttributes
-}};Attr2Options.$inject=["$parse","$timeout","$log","NavigatorGeolocation","GeoCoder"],angular.module("ngMap").service("Attr2Options",Attr2Options)}(),function(){"use strict";var a=function(a){return{geocode:function(b){var c=a.defer(),d=new google.maps.Geocoder;return d.geocode(b,function(a,b){b==google.maps.GeocoderStatus.OK?c.resolve(a):c.reject(b)}),c.promise}}};a.$inject=["$q"],angular.module("ngMap").service("GeoCoder",a)}(),function(){"use strict";var a=function(a){return{getCurrentPosition:function(b){var c=a.defer();return navigator.geolocation?(void 0===b?b={timeout:5e3}:void 0===b.timeout&&(b.timeout=5e3),navigator.geolocation.getCurrentPosition(function(a){c.resolve(a)},function(a){c.reject(a)},b)):c.reject("Browser Geolocation service failed."),c.promise},watchPosition:function(){return"TODO"},clearWatch:function(){return"TODO"}}};a.$inject=["$q"],angular.module("ngMap").service("NavigatorGeolocation",a)}(),function(){"use strict";var a=function(a){var b=function(b,c){c=c||b.getCenter();var d=a.defer(),e=new google.maps.StreetViewService;return e.getPanoramaByLocation(c||b.getCenter,100,function(a,b){b===google.maps.StreetViewStatus.OK?d.resolve(a.location.pano):d.resolve(!1)}),d.promise},c=function(a,b){var c=new google.maps.StreetViewPanorama(a.getDiv(),{enableCloseButton:!0});c.setPano(b)};return{getPanorama:b,setPanorama:c}};a.$inject=["$q"],angular.module("ngMap").service("StreetView",a)}(),function(){"use strict";angular.module("ngMap").directive("bicyclingLayer",["Attr2Options",function(a){var b=a,c=function(a,b){var c=new google.maps.BicyclingLayer(a);for(var d in b)google.maps.event.addListener(c,d,b[d]);return c};return{restrict:"E",require:"^map",link:function(a,d,e,f){var g=b.orgAttributes(d),h=b.filter(e),i=b.getOptions(h),j=b.getEvents(a,h),k=c(i,j);f.addObject("bicyclingLayers",k),f.observeAttrSetObj(g,e,k),d.bind("$destroy",function(){f.deleteObject("bicyclingLayers",k)})}}}])}(),function(){"use strict";angular.module("ngMap").directive("cloudLayer",["Attr2Options",function(a){var b=a,c=function(a,b){var c=new google.maps.weather.CloudLayer(a);for(var d in b)google.maps.event.addListener(c,d,b[d]);return c};return{restrict:"E",require:"^map",link:function(a,d,e,f){var g=b.orgAttributes(d),h=b.filter(e),i=b.getOptions(h),j=b.getEvents(a,h),k=c(i,j);f.addObject("cloudLayers",k),f.observeAttrSetObj(g,e,k),d.bind("$destroy",function(){f.deleteObject("cloudLayers",k)})}}}])}(),function(){"use strict";angular.module("ngMap").directive("customControl",["Attr2Options","$compile",function(a,b){var c=a;return{restrict:"E",require:"^map",link:function(a,d,e,f){var g=(c.orgAttributes(d),c.filter(e)),h=c.getOptions(g,a),i=c.getEvents(a,g),j=d[0].parentElement.removeChild(d[0]);b(j.innerHTML.trim())(a);for(var k in i)google.maps.event.addDomListener(j,k,i[k]);f.addObject("customControls",j),a.$on("mapInitialized",function(a,b){var c=h.position;b.controls[google.maps.ControlPosition[c]].push(j)})}}}])}(),function(){"use strict";var a,b,c,d=function(a){a=a||{},this.el=document.createElement("div"),this.el.style.display="inline-block",this.visible=!0;for(var b in a)this[b]=a[b]},e=function(){d.prototype=new google.maps.OverlayView,d.prototype.setContent=function(a,b){this.el.innerHTML=a,this.el.style.position="absolute",b&&c(angular.element(this.el).contents())(b)},d.prototype.setPosition=function(a){if(a&&(this.position=a),this.getProjection()&&"function"==typeof this.position.lng){var b=this.getProjection().fromLatLngToDivPixel(this.position),c=Math.round(b.x-this.el.offsetWidth/2),d=Math.round(b.y-this.el.offsetHeight-10);this.el.style.left=c+"px",this.el.style.top=d+"px"}},d.prototype.setZIndex=function(a){a&&(this.zIndex=a),this.el.style.zIndex=this.zIndex},d.prototype.setVisible=function(a){this.el.style.display=a?"inline-block":"none",this.visible=a},d.prototype.addClass=function(a){var b=this.el.className.trim().split(" ");-1==b.indexOf(a)&&b.push(a),this.el.className=b.join(" ")},d.prototype.removeClass=function(a){var b=this.el.className.split(" "),c=b.indexOf(a);c>-1&&b.splice(c,1),this.el.className=b.join(" ")},d.prototype.onAdd=function(){this.getPanes().overlayMouseTarget.appendChild(this.el)},d.prototype.draw=function(){this.setPosition(),this.setZIndex(this.zIndex),this.setVisible(this.visible)},d.prototype.onRemove=function(){this.el.parentNode.removeChild(this.el),this.el=null}},f=function(c,e){return function(f,g,h,i){var j=(a.orgAttributes(g),a.filter(h)),k=a.getOptions(j,f),l=a.getEvents(f,j),m=g[0].parentElement.removeChild(g[0]),n=new d(k);b(function(){f.$watch("["+e.join(",")+"]",function(a){n.setContent(c,f)}),n.setContent(m.innerHTML,f);var a=m.firstElementChild.className;n.addClass("custom-marker"),n.addClass(a),k.position instanceof google.maps.LatLng||i.getGeoLocation(k.position).then(function(a){n.setPosition(a)})});for(var o in l)google.maps.event.addDomListener(n.el,o,l[o]);i.addObject("customMarkers",n),g.bind("$destroy",function(){i.deleteObject("customMarkers",n)})}},g=function(d,g,h){return a=d,b=g,c=h,e(),{restrict:"E",require:"^map",compile:function(a){var b=a.html(),c=b.match(/{{([^}]+)}}/g),d=[];return(c||[]).forEach(function(a){var b=a.replace("{{","").replace("}}","");-1==a.indexOf("::")&&-1==a.indexOf("this.")&&-1==d.indexOf(b)&&d.push(a.replace("{{","").replace("}}",""))}),f(b,d)}}};g.$inject=["Attr2Options","$timeout","$compile"],angular.module("ngMap").directive("customMarker",g)}(),function(){"use strict";var a=function(a,b){a.panel&&(a.panel=document.getElementById(a.panel)||document.querySelector(a.panel));var c=new google.maps.DirectionsRenderer(a);for(var d in b)google.maps.event.addListener(c,d,b[d]);return c},b=function(b,c,d){var e=b,f=new google.maps.DirectionsService,g=function(a,b){var e=b;e.travelMode=e.travelMode||"DRIVING";var g=["origin","destination","travelMode","transitOptions","unitSystem","durationInTraffic","waypoints","optimizeWaypoints","provideRouteAlternatives","avoidHighways","avoidTolls","region"];for(var h in e)-1===g.indexOf(h)&&delete e[h];e.waypoints&&("[]"==e.waypoints||""==e.waypoints)&&delete e.waypoints;var i=function(b){f.route(b,function(b,d){d==google.maps.DirectionsStatus.OK&&c(function(){a.setDirections(b)})})};e.origin&&e.destination&&("current-location"==e.origin?d.getCurrentPosition().then(function(a){e.origin=new google.maps.LatLng(a.coords.latitude,a.coords.longitude),i(e)}):"current-location"==e.destination?d.getCurrentPosition().then(function(a){e.destination=new google.maps.LatLng(a.coords.latitude,a.coords.longitude),i(e)}):i(e))},h=function(b,d,f,h){var i=e.orgAttributes(d),j=e.filter(f),k=e.getOptions(j),l=e.getEvents(b,j),m=e.getAttrsToObserve(i),n=a(k,l);h.addObject("directionsRenderers",n),m.forEach(function(a){!function(a){f.$observe(a,function(b){if("panel"==a)c(function(){var a=document.getElementById(b)||document.querySelector(b);a&&n.setPanel(a)});else if(k[a]!==b){var d=e.toOptionValue(b,{key:a});k[a]=d,g(n,k)}})}(a)}),b.$on("mapInitialized",function(a,b){g(n,k)}),b.$on("$destroy",function(a,b){h.deleteObject("directionsRenderers",n)})};return{restrict:"E",require:"^map",link:h}};b.$inject=["Attr2Options","$timeout","NavigatorGeolocation"],angular.module("ngMap").directive("directions",b)}(),function(){"use strict";angular.module("ngMap").directive("drawingManager",["Attr2Options",function(a){var b=a;return{restrict:"E",require:"^map",link:function(a,c,d,e){var f=(b.orgAttributes(c),b.filter(d)),g=b.getOptions(f),h=b.getControlOptions(f),i=b.getEvents(a,f),j=new google.maps.drawing.DrawingManager({drawingMode:g.drawingmode,drawingControl:g.drawingcontrol,drawingControlOptions:h.drawingControlOptions,circleOptions:g.circleoptions,markerOptions:g.markeroptions,polygonOptions:g.polygonoptions,polylineOptions:g.polylineoptions,rectangleOptions:g.rectangleoptions}),i=b.getEvents(a,f);for(var k in i)google.maps.event.addListener(j,k,i[k]);e.addObject("mapDrawingManager",j)}}}])}(),function(){"use strict";angular.module("ngMap").directive("dynamicMapsEngineLayer",["Attr2Options",function(a){var b=a,c=function(a,b){var c=new google.maps.visualization.DynamicMapsEngineLayer(a);for(var d in b)google.maps.event.addListener(c,d,b[d]);return c};return{restrict:"E",require:"^map",link:function(a,d,e,f){var g=b.filter(e),h=b.getOptions(g),i=b.getEvents(a,g,i),j=c(h,i);f.addObject("mapsEngineLayers",j)}}}])}(),function(){"use strict";angular.module("ngMap").directive("fusionTablesLayer",["Attr2Options",function(a){var b=a,c=function(a,b){var c=new google.maps.FusionTablesLayer(a);for(var d in b)google.maps.event.addListener(c,d,b[d]);return c};return{restrict:"E",require:"^map",link:function(a,d,e,f){var g=b.filter(e),h=b.getOptions(g),i=b.getEvents(a,g,i),j=c(h,i);f.addObject("fusionTablesLayers",j)}}}])}(),function(){"use strict";angular.module("ngMap").directive("heatmapLayer",["Attr2Options","$window",function(a,b){var c=a;return{restrict:"E",require:"^map",link:function(a,d,e,f){var g=c.filter(e),h=c.getOptions(g);if(h.data=b[e.data]||a[e.data],!(h.data instanceof Array))throw"invalid heatmap data";h.data=new google.maps.MVCArray(h.data);var i=new google.maps.visualization.HeatmapLayer(h);c.getEvents(a,g);f.addObject("heatmapLayers",i)}}}])}(),function(){"use strict";var a=function(a,b,c,d){var e=a,f=function(a,d,e){var f;!a.position||a.position instanceof google.maps.LatLng||delete a.position,f=new google.maps.InfoWindow(a),Object.keys(d).length>0;for(var g in d)g&&google.maps.event.addListener(f,g,d[g]);var h=e.html().trim();if(1!=angular.element(h).length)throw"info-window working as a template must have a container";return f.__template=h.replace(/\s?ng-non-bindable[='"]+/,""),f.__compile=function(a,c){c&&(a["this"]=c);var d=b(f.__template)(a);f.setContent(d[0]),a.$apply()},f.__open=function(a,b,d){c(function(){f.__compile(b,d),d&&d.getPosition?f.open(a,d):d&&d instanceof google.maps.LatLng?(f.open(a),f.setPosition(d)):f.open(a)})},f},g=function(a,b,c,g){b.css("display","none");var h,i=e.orgAttributes(b),j=e.filter(c),k=e.getOptions(j,a),l=e.getEvents(a,j);!k.position||k.position instanceof google.maps.LatLng||(h=k.position);var m=f(k,l,b);h&&g.getGeoLocation(h).then(function(b){m.setPosition(b),m.__open(g.map,a,b);var e=c.geoCallback;e&&d(e)(a)}),g.addObject("infoWindows",m),g.observeAttrSetObj(i,c,m),a.$on("mapInitialized",function(b,c){if(m.visible&&m.__open(c,a),m.visibleOnMarker){var d=m.visibleOnMarker;m.__open(c,a,c.markers[d])}}),a.showInfoWindow=function(b,c,d){var e=g.map.infoWindows[c],f=d?d:this.getPosition?this:null;e.__open(g.map,a,f),g.singleInfoWindow&&(g.lastInfoWindow&&a.hideInfoWindow(b,g.lastInfoWindow),g.lastInfoWindow=c)},a.hideInfoWindow=a.hideInfoWindow||function(a,b){var c=g.map.infoWindows[b];c.close()}};return{restrict:"E",require:"^map",link:g}};a.$inject=["Attr2Options","$compile","$timeout","$parse"],angular.module("ngMap").directive("infoWindow",a)}(),function(){"use strict";angular.module("ngMap").directive("kmlLayer",["Attr2Options",function(a){var b=a,c=function(a,b){var c=new google.maps.KmlLayer(a);for(var d in b)google.maps.event.addListener(c,d,b[d]);return c};return{restrict:"E",require:"^map",link:function(a,d,e,f){var g=b.orgAttributes(d),h=b.filter(e),i=b.getOptions(h),j=b.getEvents(a,h),k=c(i,j);f.addObject("kmlLayers",k),f.observeAttrSetObj(g,e,k),d.bind("$destroy",function(){f.deleteObject("kmlLayers",k)})}}}])}(),function(){"use strict";angular.module("ngMap").directive("mapData",["Attr2Options",function(a){var b=a;return{restrict:"E",require:"^map",link:function(a,c,d,e){var f=b.filter(d),g=b.getOptions(f),h=b.getEvents(a,f,h);a.$on("mapInitialized",function(b,c){for(var d in g)if(d){var e=g[d];"function"==typeof a[e]?c.data[d](a[e]):c.data[d](e)}for(var f in h)h[f]&&c.data.addListener(f,h[f])})}}}])}(),function(){"use strict";var a,b,c,d,e=function(c,e,f){var g=f.mapLazyLoadParams||f.mapLazyLoad;if(window.lazyLoadCallback=function(){a(function(){e.html(d),b(e.contents())(c)},100)},void 0===window.google||void 0===window.google.maps){var h=document.createElement("script");h.src=g+(g.indexOf("?")>-1?"&":"?")+"callback=lazyLoadCallback",document.body.appendChild(h)}else e.html(d),b(e.contents())(c)},f=function(a,b){return!b.mapLazyLoad&&void 0,d=a.html(),c=b.mapLazyLoad,document.querySelector('script[src="'+c+(c.indexOf("?")>-1?"&":"?")+'callback=lazyLoadCallback"]')?!1:(a.html(""),{pre:e})},g=function(c,d){return b=c,a=d,{compile:f}};g.$inject=["$compile","$timeout"],angular.module("ngMap").directive("mapLazyLoad",g)}(),function(){"use strict";angular.module("ngMap").directive("mapType",["Attr2Options","$window",function(a,b){return{restrict:"E",require:"^map",link:function(a,c,d,e){var f,g=d.name;if(!g)throw"invalid map-type name";if(d.object){var h=a[d.object]?a:b;f=h[d.object],"function"==typeof f&&(f=new f)}if(!f)throw"invalid map-type object";a.$on("mapInitialized",function(a,b){b.mapTypes.set(g,f)}),e.addObject("mapTypes",f)}}}])}(),function(){"use strict";function a(a,b){var c;return a.currentStyle?c=a.currentStyle[b]:window.getComputedStyle&&(c=document.defaultView.getComputedStyle(a,null).getPropertyValue(b)),c}var b=function(b,c,d){var e=b,f=function(b,f,g,h){var i=e.orgAttributes(f);b.google=google;var j=document.createElement("div");j.style.width="100%",j.style.height="100%",f.prepend(j),"false"!==g.defaultStyle&&("block"!=a(f[0],"display")&&f.css("display","block"),a(f[0],"height").match(/^(0|auto)/)&&f.css("height","300px")),f[0].addEventListener("dragstart",function(a){return a.preventDefault(),!1});var k=function(a,e){var f=new google.maps.Map(j,{});f.markers={},f.shapes={},c(function(){google.maps.event.trigger(f,"resize")}),a.zoom=a.zoom||15;var k=a.center;k?k instanceof google.maps.LatLng||(delete a.center,h.getGeoLocation(k,m.geoLocationOptions).then(function(a){f.setCenter(a);var c=g.geoCallback;c&&d(c)(b)},function(a){f.setCenter(m.geoFallbackCenter)})):a.center=new google.maps.LatLng(0,0),f.setOptions(a),h.singleInfoWindow=a.singleInfoWindow;for(var l in e)l&&google.maps.event.addListener(f,l,e[l]);h.observeAttrSetObj(i,g,f),h.map=f,h.addObjects(h._objects),b.map=f,b.map.scope=b,google.maps.event.addListenerOnce(f,"idle",function(){b.$emit("mapInitialized",f),g.zoomToIncludeMarkers&&(h.zoomToIncludeMarkers(),"auto"==g.zoomToIncludeMarkers&&b.$on("objectChanged",function(a,b){"markers"==b[0]&&h.zoomToIncludeMarkers()}))})},l=e.filter(g),m=e.getOptions(l,b),n=e.getControlOptions(l),o=angular.extend(m,n),p=e.getEvents(b,l);g.initEvent?b.$on(g.initEvent,function(){!h.map&&k(o,p)}):k(o,p)};return{restrict:"AE",controller:"MapController",link:f}};angular.module("ngMap").directive("map",["Attr2Options","$timeout","$parse",b])}(),function(){"use strict";var a=function(a,b,c,d,e){var f=e,g=this,h=function(a,b,c){a.$observe(b,function(a){if(a){var d=f.camelCase("set-"+b),e=f.toOptionValue(a,{key:b});c[d]&&(b.match(/center|position/)&&"string"==typeof e?g.getGeoLocation(e).then(function(a){c[d](a)}):c[d](e))}})};this.map=null,this._objects=[],this.addObject=function(b,c){if(this.map){this.map[b]=this.map[b]||{};var d=Object.keys(this.map[b]).length;this.map[b][c.id||d]=c,"infoWindows"!=b&&c.setMap&&c.setMap&&c.setMap(this.map),c.centered&&c.position&&this.map.setCenter(c.position),a.$emit("objectChanged",[b,this.map[b]])}else c.groupName=b,this._objects.push(c)},this.deleteObject=function(b,c){if(c.map){var d=c.map[b];for(var e in d)d[e]===c&&delete d[e];c.map&&c.setMap&&c.setMap(null),a.$emit("objectChanged",[b,this.map[b]])}},this.addObjects=function(a){for(var b=0;b<a.length;b++){var c=a[b];c instanceof google.maps.Marker?this.addObject("markers",c):c instanceof google.maps.Circle||c instanceof google.maps.Polygon||c instanceof google.maps.Polyline||c instanceof google.maps.Rectangle||c instanceof google.maps.GroundOverlay?this.addObject("shapes",c):this.addObject(c.groupName,c)}},this.getGeoLocation=function(a,e){var f=b.defer();return!a||a.match(/^current/i)?c.getCurrentPosition(e).then(function(a){var b=a.coords.latitude,c=a.coords.longitude,d=new google.maps.LatLng(b,c);f.resolve(d)},function(a){f.reject(a)}):d.geocode({address:a}).then(function(a){f.resolve(a[0].geometry.location)},function(a){f.reject(a)}),f.promise},this.observeAttrSetObj=function(a,b,c){var d=f.getAttrsToObserve(a);Object.keys(d).length;for(var e=0;e<d.length;e++)h(b,d[e],c)},this.zoomToIncludeMarkers=function(){var a=new google.maps.LatLngBounds;for(var b in this.map.markers)a.extend(this.map.markers[b].getPosition());this.map.fitBounds(a)}};a.$inject=["$scope","$q","NavigatorGeolocation","GeoCoder","Attr2Options"],angular.module("ngMap").controller("MapController",a)}(),function(){"use strict";angular.module("ngMap").directive("mapsEngineLayer",["Attr2Options",function(a){var b=a,c=function(a,b){var c=new google.maps.visualization.MapsEngineLayer(a);for(var d in b)google.maps.event.addListener(c,d,b[d]);return c};return{restrict:"E",require:"^map",link:function(a,d,e,f){var g=b.filter(e),h=b.getOptions(g),i=b.getEvents(a,g,i),j=c(h,i);f.addObject("mapsEngineLayers",j)}}}])}(),function(){"use strict";var a=function(a,b){var c;a.position instanceof google.maps.LatLng||(a.position=new google.maps.LatLng(0,0)),c=new google.maps.Marker(a),Object.keys(b).length>0;for(var d in b)d&&google.maps.event.addListener(c,d,b[d]);return c},b=function(b,c){var d=b,e=function(b,e,f,g){var h,i=d.orgAttributes(e),j=d.filter(f),k=d.getOptions(j,b),l=d.getEvents(b,j);k.position instanceof google.maps.LatLng||(h=k.position);var m=a(k,l);g.addObject("markers",m),h&&g.getGeoLocation(h).then(function(a){m.setPosition(a),k.centered&&m.map.setCenter(a);var d=f.geoCallback;d&&c(d)(b)}),k.noWatcher||g.observeAttrSetObj(i,f,m),e.bind("$destroy",function(){g.deleteObject("markers",m)})};return{restrict:"E",require:"^map",link:e}};b.$inject=["Attr2Options","$parse"],angular.module("ngMap").directive("marker",b)}(),function(){"use strict";angular.module("ngMap").directive("overlayMapType",["Attr2Options","$window",function(a,b){return{restrict:"E",require:"^map",link:function(a,c,d,e){var f,g=d.initMethod||"insertAt";if(d.object){var h=a[d.object]?a:b;f=h[d.object],"function"==typeof f&&(f=new f)}if(!f)throw"invalid map-type object";a.$on("mapInitialized",function(a,b){if("insertAt"==g){var c=parseInt(d.index,10);b.overlayMapTypes.insertAt(c,f)}else"push"==g&&b.overlayMapTypes.push(f)}),e.addObject("overlayMapTypes",f)}}}])}(),function(){"use strict";var a=function(a,b){var c=a,d=function(a,d,e,f){if("false"===e.placesAutoComplete)return!1;var g=c.filter(e),h=c.getOptions(g),i=c.getEvents(a,g),j=new google.maps.places.Autocomplete(d[0],h);for(var k in i)google.maps.event.addListener(j,k,i[k]);var l=function(){b(function(){f&&f.$setViewValue(d.val())},100)};google.maps.event.addListener(j,"place_changed",l),d[0].addEventListener("change",l),e.$observe("types",function(a){if(a){var b=c.toOptionValue(a,{key:"types"});j.setTypes(b)}})};return{restrict:"A",require:"?ngModel",link:d}};a.$inject=["Attr2Options","$timeout"],angular.module("ngMap").directive("placesAutoComplete",a)}(),function(){"use strict";var a=function(a,b){var c,d=a.name;switch(delete a.name,d){case"circle":a.center instanceof google.maps.LatLng||(a.center=new google.maps.LatLng(0,0)),c=new google.maps.Circle(a);break;case"polygon":c=new google.maps.Polygon(a);break;case"polyline":c=new google.maps.Polyline(a);break;case"rectangle":c=new google.maps.Rectangle(a);break;case"groundOverlay":case"image":var e=a.url,f={opacity:a.opacity,clickable:a.clickable,id:a.id};c=new google.maps.GroundOverlay(e,a.bounds,f)}for(var g in b)b[g]&&google.maps.event.addListener(c,g,b[g]);return c},b=function(b,c){var d=b,e=function(b,e,f,g){var h,i,j=d.orgAttributes(e),k=d.filter(f),l=d.getOptions(k),m=d.getEvents(b,k);i=l.name,l.center instanceof google.maps.LatLng||(h=l.center);var n=a(l,m);g.addObject("shapes",n),h&&"circle"==i&&g.getGeoLocation(h).then(function(a){n.setCenter(a),n.centered&&n.map.setCenter(a);var d=f.geoCallback;d&&c(d)(b)}),g.observeAttrSetObj(j,f,n),e.bind("$destroy",function(){g.deleteObject("shapes",n)})};return{restrict:"E",require:"^map",link:e}};b.$inject=["Attr2Options","$parse"],angular.module("ngMap").directive("shape",b)}(),function(){"use strict";var a=function(a){var b=a,c=function(a,b,c){var d,e;b.container&&(e=document.getElementById(b.container),e=e||document.querySelector(b.container)),e?d=new google.maps.StreetViewPanorama(e,b):(d=a.getStreetView(),d.setOptions(b));for(var f in c)f&&google.maps.event.addListener(d,f,c[f]);return d},d=function(a,d,e,f){var g=(b.orgAttributes(d),b.filter(e)),h=b.getOptions(g),i=b.getControlOptions(g),j=angular.extend(h,i),k=b.getEvents(a,g);a.$on("mapInitialized",function(a,b){var d=c(b,j,k);b.setStreetView(d),!d.getPosition()&&d.setPosition(b.getCenter()),google.maps.event.addListener(d,"position_changed",function(){d.getPosition()!==b.getCenter()&&b.setCenter(d.getPosition())});var e=google.maps.event.addListener(b,"center_changed",function(){d.setPosition(b.getCenter()),google.maps.event.removeListener(e)})})};return{restrict:"E",require:"^map",link:d}};a.$inject=["Attr2Options"],angular.module("ngMap").directive("streetViewPanorama",a)}(),function(){"use strict";angular.module("ngMap").directive("trafficLayer",["Attr2Options",function(a){var b=a,c=function(a,b){var c=new google.maps.TrafficLayer(a);for(var d in b)google.maps.event.addListener(c,d,b[d]);return c};return{restrict:"E",require:"^map",link:function(a,d,e,f){var g=b.orgAttributes(d),h=b.filter(e),i=b.getOptions(h),j=b.getEvents(a,h),k=c(i,j);f.addObject("trafficLayers",k),f.observeAttrSetObj(g,e,k),d.bind("$destroy",function(){f.deleteObject("trafficLayers",k)})}}}])}(),function(){"use strict";angular.module("ngMap").directive("transitLayer",["Attr2Options",function(a){var b=a,c=function(a,b){var c=new google.maps.TransitLayer(a);for(var d in b)google.maps.event.addListener(c,d,b[d]);return c};return{restrict:"E",require:"^map",link:function(a,d,e,f){var g=b.orgAttributes(d),h=b.filter(e),i=b.getOptions(h),j=b.getEvents(a,h),k=c(i,j);f.addObject("transitLayers",k),f.observeAttrSetObj(g,e,k),d.bind("$destroy",function(){f.deleteObject("transitLayers",k)})}}}])}(),function(){"use strict";angular.module("ngMap").directive("weatherLayer",["Attr2Options",function(a){var b=a,c=function(a,b){var c=new google.maps.weather.WeatherLayer(a);for(var d in b)google.maps.event.addListener(c,d,b[d]);return c};return{restrict:"E",require:"^map",link:function(a,d,e,f){var g=b.orgAttributes(d),h=b.filter(e),i=b.getOptions(h),j=b.getEvents(a,h),k=c(i,j);f.addObject("weatherLayers",k),f.observeAttrSetObj(g,e,k),d.bind("$destroy",function(){f.deleteObject("weatherLayers",k)})}}}])}(),function(a,b){"use strict";var c=["ng","oc.lazyLoad"],d={},e=[],f=[],g=[],h=[],i=a.noop,j={},k=[],l=a.module("oc.lazyLoad",["ng"]);l.provider("$ocLazyLoad",["$controllerProvider","$provide","$compileProvider","$filterProvider","$injector","$animateProvider",function(l,m,p,q,r,s){function t(b,d,e){if(d){var f,h,l,m=[];for(f=d.length-1;f>=0;f--)if(h=d[f],a.isString(h)||(h=w(h)),h&&-1===k.indexOf(h)&&(!y[h]||-1!==g.indexOf(h))){var n=-1===c.indexOf(h);if(l=o(h),n&&(c.push(h),t(b,l.requires,e)),l._runBlocks.length>0)for(j[h]=[];l._runBlocks.length>0;)j[h].push(l._runBlocks.shift());a.isDefined(j[h])&&(n||e.rerun)&&(m=m.concat(j[h])),v(b,l._invokeQueue,h,e.reconfig),v(b,l._configBlocks,h,e.reconfig),i(n?"ocLazyLoad.moduleLoaded":"ocLazyLoad.moduleReloaded",h),d.pop(),k.push(h)}var p=b.getInstanceInjector();a.forEach(m,function(a){p.invoke(a)})}}function u(b,c){function e(b,c){var d,e=!0;return c.length&&(d=f(b),a.forEach(c,function(a){e=e&&f(a)!==d})),e}function f(b){return a.isArray(b)?F(b.toString()):a.isObject(b)?F(E(b)):a.isDefined(b)&&null!==b?F(b.toString()):b}var g=b[2][0],h=b[1],j=!1;a.isUndefined(d[c])&&(d[c]={}),a.isUndefined(d[c][h])&&(d[c][h]={});var k=function(a,b){d[c][h].hasOwnProperty(a)||(d[c][h][a]=[]),e(b,d[c][h][a])&&(j=!0,d[c][h][a].push(b),i("ocLazyLoad.componentLoaded",[c,h,a]))};if(a.isString(g))k(g,b[2][1]);else{if(!a.isObject(g))return!1;a.forEach(g,function(b,c){a.isString(b)?k(b,g[1]):k(c,b)})}return j}function v(b,c,d,f){if(c){var g,h,i,j;for(g=0,h=c.length;h>g;g++)if(i=c[g],a.isArray(i)){if(null!==b){if(!b.hasOwnProperty(i[0]))throw new Error("unsupported provider "+i[0]);j=b[i[0]]}var k=u(i,d);if("invoke"!==i[1])k&&a.isDefined(j)&&j[i[1]].apply(j,i[2]);else{var l=function(b){var c=e.indexOf(d+"-"+b);(-1===c||f)&&(-1===c&&e.push(d+"-"+b),a.isDefined(j)&&j[i[1]].apply(j,i[2]))};if(a.isFunction(i[2][0]))l(i[2][0]);else if(a.isArray(i[2][0]))for(var m=0,n=i[2][0].length;n>m;m++)a.isFunction(i[2][0][m])&&l(i[2][0][m])}}}}function w(b){var c=null;return a.isString(b)?c=b:a.isObject(b)&&b.hasOwnProperty("name")&&a.isString(b.name)&&(c=b.name),c}function x(b){if(!a.isString(b))return!1;try{return o(b)}catch(c){if(/No module/.test(c)||c.message.indexOf("$injector:nomod")>-1)return!1}}var y={},z={$controllerProvider:l,$compileProvider:p,$filterProvider:q,$provide:m,$injector:r,$animateProvider:s},A=!1,B=!1,C=[],D={};C.push=function(a){-1===this.indexOf(a)&&Array.prototype.push.apply(this,arguments)},this.config=function(b){a.isDefined(b.modules)&&(a.isArray(b.modules)?a.forEach(b.modules,function(a){y[a.name]=a}):y[b.modules.name]=b.modules),a.isDefined(b.debug)&&(A=b.debug),a.isDefined(b.events)&&(B=b.events)},this._init=function(d){if(0===f.length){var e=[d],g=["ng:app","ng-app","x-ng-app","data-ng-app"],i=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/,j=function(a){return a&&e.push(a)};a.forEach(g,function(b){g[b]=!0,j(document.getElementById(b)),b=b.replace(":","\\:"),"undefined"!=typeof d[0]&&d[0].querySelectorAll&&(a.forEach(d[0].querySelectorAll("."+b),j),a.forEach(d[0].querySelectorAll("."+b+"\\:"),j),a.forEach(d[0].querySelectorAll("["+b+"]"),j))}),a.forEach(e,function(b){if(0===f.length){var c=" "+d.className+" ",e=i.exec(c);e?f.push((e[2]||"").replace(/\s+/g,",")):a.forEach(b.attributes,function(a){0===f.length&&g[a.name]&&f.push(a.value)})}})}0!==f.length||(b.jasmine||b.mocha)&&a.isDefined(a.mock)||console.error("No module found during bootstrap, unable to init ocLazyLoad. You should always use the ng-app directive or angular.boostrap when you use ocLazyLoad.");var k=function l(b){if(-1===c.indexOf(b)){c.push(b);var d=a.module(b);v(null,d._invokeQueue,b),v(null,d._configBlocks,b),a.forEach(d.requires,l)}};a.forEach(f,function(a){k(a)}),f=[],h.pop()};var E=function(b){try{return JSON.stringify(b)}catch(c){var d=[];return JSON.stringify(b,function(b,c){if(a.isObject(c)&&null!==c){if(-1!==d.indexOf(c))return;d.push(c)}return c})}},F=function(a){var b,c,d,e=0;if(0==a.length)return e;for(b=0,d=a.length;d>b;b++)c=a.charCodeAt(b),e=(e<<5)-e+c,e|=0;return e};this.$get=["$log","$rootElement","$rootScope","$cacheFactory","$q",function(b,e,g,j,l){function m(a){var c=l.defer();return b.error(a.message),c.reject(a),c.promise}var p,q=j("ocLazyLoad");return A||(b={},b.error=a.noop,b.warn=a.noop,b.info=a.noop),z.getInstanceInjector=function(){return p?p:p=e.data("$injector")||a.injector()},i=function(a,c){B&&g.$broadcast(a,c),A&&b.info(a,c)},{_broadcast:i,_$log:b,_getFilesCache:function(){return q},toggleWatch:function(a){a?h.push(!0):h.pop()},getModuleConfig:function(b){if(!a.isString(b))throw new Error("You need to give the name of the module to get");return y[b]?a.copy(y[b]):null},setModuleConfig:function(b){if(!a.isObject(b))throw new Error("You need to give the module config object to set");return y[b.name]=b,b},getModules:function(){return c},isLoaded:function(b){var d=function(a){var b=c.indexOf(a)>-1;return b||(b=!!x(a)),b};if(a.isString(b)&&(b=[b]),a.isArray(b)){var e,f;for(e=0,f=b.length;f>e;e++)if(!d(b[e]))return!1;return!0}throw new Error("You need to define the module(s) name(s)")},_getModuleName:w,_getModule:function(a){try{return o(a)}catch(b){throw(/No module/.test(b)||b.message.indexOf("$injector:nomod")>-1)&&(b.message='The module "'+E(a)+'" that you are trying to load does not exist. '+b.message),b}},moduleExists:x,_loadDependencies:function(b,c){var d,e,f,g=[],h=this;if(b=h._getModuleName(b),null===b)return l.when();try{d=h._getModule(b)}catch(i){return m(i)}return e=h.getRequires(d),a.forEach(e,function(d){if(a.isString(d)){var e=h.getModuleConfig(d);if(null===e)return void C.push(d);d=e,e.name=void 0}if(h.moduleExists(d.name))return f=d.files.filter(function(a){return h.getModuleConfig(d.name).files.indexOf(a)<0}),0!==f.length&&h._$log.warn('Module "',b,'" attempted to redefine configuration for dependency. "',d.name,'"\n Additional Files Loaded:',f),a.isDefined(h.filesLoader)?void g.push(h.filesLoader(d,c).then(function(){return h._loadDependencies(d)})):m(new Error("Error: New dependencies need to be loaded from external files ("+d.files+"), but no loader has been defined."));if(a.isArray(d)){var i=[];a.forEach(d,function(a){var b=h.getModuleConfig(a);null===b?i.push(a):b.files&&(i=i.concat(b.files))}),i.length>0&&(d={files:i})}else a.isObject(d)&&d.hasOwnProperty("name")&&d.name&&(h.setModuleConfig(d),C.push(d.name));if(a.isDefined(d.files)&&0!==d.files.length){if(!a.isDefined(h.filesLoader))return m(new Error('Error: the module "'+d.name+'" is defined in external files ('+d.files+"), but no loader has been defined."));g.push(h.filesLoader(d,c).then(function(){return h._loadDependencies(d)}))}}),l.all(g)},inject:function(b){var c=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],d=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],e=this,g=l.defer();if(a.isDefined(b)&&null!==b){if(a.isArray(b)){var h=[];return a.forEach(b,function(a){h.push(e.inject(a,c,d))}),l.all(h)}e._addToLoadList(e._getModuleName(b),!0,d)}if(f.length>0){var i=f.slice(),j=function m(a){C.push(a),D[a]=g.promise,e._loadDependencies(a,c).then(function(){try{k=[],t(z,C,c)}catch(a){return e._$log.error(a.message),void g.reject(a)}f.length>0?m(f.shift()):g.resolve(i)},function(a){g.reject(a)})};j(f.shift())}else{if(c&&c.name&&D[c.name])return D[c.name];g.resolve()}return g.promise},getRequires:function(b){var d=[];return a.forEach(b.requires,function(a){-1===c.indexOf(a)&&d.push(a)}),d},_invokeQueue:v,_registerInvokeList:u,_register:t,_addToLoadList:n,_unregister:function(b){a.isDefined(b)&&a.isArray(b)&&a.forEach(b,function(a){d[a]=void 0})}}}],this._init(a.element(b.document))}]);var m=a.bootstrap;a.bootstrap=function(b,c,d){return a.forEach(c.slice(),function(a){n(a,!0,!0)}),m(b,c,d)};var n=function(b,c,d){(h.length>0||c)&&a.isString(b)&&-1===f.indexOf(b)&&(f.push(b),d&&g.push(b))},o=a.module;a.module=function(a,b,c){return n(a,!1,!0),o(a,b,c)},"undefined"!=typeof module&&"undefined"!=typeof exports&&module.exports===exports&&(module.exports="oc.lazyLoad")}(angular,window),function(a){"use strict";a.module("oc.lazyLoad").directive("ocLazyLoad",["$ocLazyLoad","$compile","$animate","$parse","$timeout",function(b,c,d,e,f){return{restrict:"A",terminal:!0,priority:1e3,compile:function(f,g){var h=f[0].innerHTML;return f.html(""),function(f,g,i){var j=e(i.ocLazyLoad);f.$watch(function(){return j(f)||i.ocLazyLoad},function(e){a.isDefined(e)&&b.load(e).then(function(){d.enter(h,g),c(g.contents())(f)})},!0)}}}}])}(angular),function(a){"use strict";a.module("oc.lazyLoad").config(["$provide",function(b){b.decorator("$ocLazyLoad",["$delegate","$q","$window","$interval",function(b,c,d,e){var f=!1,g=!1,h=d.document.getElementsByTagName("head")[0]||d.document.getElementsByTagName("body")[0];return b.buildElement=function(i,j,k){var l,m,n=c.defer(),o=b._getFilesCache(),p=function(a){var b=(new Date).getTime();return a.indexOf("?")>=0?"&"===a.substring(0,a.length-1)?a+"_dc="+b:a+"&_dc="+b:a+"?_dc="+b};switch(a.isUndefined(o.get(j))&&o.put(j,n.promise),i){case"css":l=d.document.createElement("link"),l.type="text/css",l.rel="stylesheet",l.href=k.cache===!1?p(j):j;break;case"js":l=d.document.createElement("script"),l.src=k.cache===!1?p(j):j;break;default:o.remove(j),n.reject(new Error('Requested type "'+i+'" is not known. Could not inject "'+j+'"'));
-}l.onload=l.onreadystatechange=function(a){l.readyState&&!/^c|loade/.test(l.readyState)||m||(l.onload=l.onreadystatechange=null,m=1,b._broadcast("ocLazyLoad.fileLoaded",j),n.resolve())},l.onerror=function(){o.remove(j),n.reject(new Error("Unable to load "+j))},l.async=k.serie?0:1;var q=h.lastChild;if(k.insertBefore){var r=a.element(a.isDefined(window.jQuery)?k.insertBefore:document.querySelector(k.insertBefore));r&&r.length>0&&(q=r[0])}if(q.parentNode.insertBefore(l,q),"css"==i){if(!f){var s=d.navigator.userAgent.toLowerCase();if(/iP(hone|od|ad)/.test(d.navigator.platform)){var t=d.navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/),u=parseFloat([parseInt(t[1],10),parseInt(t[2],10),parseInt(t[3]||0,10)].join("."));g=6>u}else if(s.indexOf("android")>-1){var v=parseFloat(s.slice(s.indexOf("android")+8));g=4.4>v}else if(s.indexOf("safari")>-1){var w=s.match(/version\/([\.\d]+)/i);g=w&&w[1]&&parseFloat(w[1])<6}}if(g)var x=1e3,y=e(function(){try{l.sheet.cssRules,e.cancel(y),l.onload()}catch(a){--x<=0&&l.onerror()}},20)}return n.promise},b}])}])}(angular),function(a){"use strict";a.module("oc.lazyLoad").config(["$provide",function(b){b.decorator("$ocLazyLoad",["$delegate","$q",function(b,c){return b.filesLoader=function(d){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],f=[],g=[],h=[],i=[],j=null,k=b._getFilesCache();b.toggleWatch(!0),a.extend(e,d);var l=function(c){var d,l=null;if(a.isObject(c)&&(l=c.type,c=c.path),j=k.get(c),a.isUndefined(j)||e.cache===!1){if(null!==(d=/^(css|less|html|htm|js)?(?=!)/.exec(c))&&(l=d[1],c=c.substr(d[1].length+1,c.length)),!l)if(null!==(d=/[.](css|less|html|htm|js)?((\?|#).*)?$/.exec(c)))l=d[1];else{if(b.jsLoader.hasOwnProperty("ocLazyLoadLoader")||!b.jsLoader.hasOwnProperty("requirejs"))return void b._$log.error("File type could not be determined. "+c);l="js"}"css"!==l&&"less"!==l||-1!==f.indexOf(c)?"html"!==l&&"htm"!==l||-1!==g.indexOf(c)?"js"===l||-1===h.indexOf(c)?h.push(c):b._$log.error("File type is not valid. "+c):g.push(c):f.push(c)}else j&&i.push(j)};if(e.serie?l(e.files.shift()):a.forEach(e.files,function(a){l(a)}),f.length>0){var m=c.defer();b.cssLoader(f,function(c){a.isDefined(c)&&b.cssLoader.hasOwnProperty("ocLazyLoadLoader")?(b._$log.error(c),m.reject(c)):m.resolve()},e),i.push(m.promise)}if(g.length>0){var n=c.defer();b.templatesLoader(g,function(c){a.isDefined(c)&&b.templatesLoader.hasOwnProperty("ocLazyLoadLoader")?(b._$log.error(c),n.reject(c)):n.resolve()},e),i.push(n.promise)}if(h.length>0){var o=c.defer();b.jsLoader(h,function(c){a.isDefined(c)&&(b.jsLoader.hasOwnProperty("ocLazyLoadLoader")||b.jsLoader.hasOwnProperty("requirejs"))?(b._$log.error(c),o.reject(c)):o.resolve()},e),i.push(o.promise)}if(0===i.length){var p=c.defer(),q="Error: no file to load has been found, if you're trying to load an existing module you should use the 'inject' method instead of 'load'.";return b._$log.error(q),p.reject(q),p.promise}return e.serie&&e.files.length>0?c.all(i).then(function(){return b.filesLoader(d,e)}):c.all(i)["finally"](function(a){return b.toggleWatch(!1),a})},b.load=function(d){var e,f=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],g=this,h=null,i=[],j=c.defer(),k=a.copy(d),l=a.copy(f);if(a.isArray(k))return a.forEach(k,function(a){i.push(g.load(a,l))}),c.all(i).then(function(a){j.resolve(a)},function(a){j.reject(a)}),j.promise;if(a.isString(k)?(h=g.getModuleConfig(k),h||(h={files:[k]})):a.isObject(k)&&(h=a.isDefined(k.path)&&a.isDefined(k.type)?{files:[k]}:g.setModuleConfig(k)),null===h){var m=g._getModuleName(k);return e='Module "'+(m||"unknown")+'" is not configured, cannot load.',b._$log.error(e),j.reject(new Error(e)),j.promise}a.isDefined(h.template)&&(a.isUndefined(h.files)&&(h.files=[]),a.isString(h.template)?h.files.push(h.template):a.isArray(h.template)&&h.files.concat(h.template));var n=a.extend({},l,h);return a.isUndefined(h.files)&&a.isDefined(h.name)&&b.moduleExists(h.name)?b.inject(h.name,n,!0):(b.filesLoader(h,n).then(function(){b.inject(null,n).then(function(a){j.resolve(a)},function(a){j.reject(a)})},function(a){j.reject(a)}),j.promise)},b}])}])}(angular),function(a){"use strict";a.module("oc.lazyLoad").config(["$provide",function(b){b.decorator("$ocLazyLoad",["$delegate","$q",function(b,c){return b.cssLoader=function(d,e,f){var g=[];a.forEach(d,function(a){g.push(b.buildElement("css",a,f))}),c.all(g).then(function(){e()},function(a){e(a)})},b.cssLoader.ocLazyLoadLoader=!0,b}])}])}(angular),function(a){"use strict";a.module("oc.lazyLoad").config(["$provide",function(b){b.decorator("$ocLazyLoad",["$delegate","$q",function(b,c){return b.jsLoader=function(d,e,f){var g=[];a.forEach(d,function(a){g.push(b.buildElement("js",a,f))}),c.all(g).then(function(){e()},function(a){e(a)})},b.jsLoader.ocLazyLoadLoader=!0,b}])}])}(angular),function(a){"use strict";a.module("oc.lazyLoad").config(["$provide",function(b){b.decorator("$ocLazyLoad",["$delegate","$templateCache","$q","$http",function(b,c,d,e){return b.templatesLoader=function(f,g,h){var i=[],j=b._getFilesCache();return a.forEach(f,function(b){var f=d.defer();i.push(f.promise),e.get(b,h).success(function(d){a.isString(d)&&d.length>0&&a.forEach(a.element(d),function(a){"SCRIPT"===a.nodeName&&"text/ng-template"===a.type&&c.put(a.id,a.innerHTML)}),a.isUndefined(j.get(b))&&j.put(b,!0),f.resolve()}).error(function(a){f.reject(new Error('Unable to load template file "'+b+'": '+a))})}),d.all(i).then(function(){g()},function(a){g(a)})},b.templatesLoader.ocLazyLoadLoader=!0,b}])}])}(angular),Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){var c;if(null==this)throw new TypeError('"this" is null or not defined');var d=Object(this),e=d.length>>>0;if(0===e)return-1;var f=+b||0;if(Math.abs(f)===1/0&&(f=0),f>=e)return-1;for(c=Math.max(f>=0?f:e-Math.abs(f),0);e>c;){if(c in d&&d[c]===a)return c;c++}return-1}),"undefined"==typeof PDFJS&&(("undefined"!=typeof window?window:this).PDFJS={}),PDFJS.version="1.1.551",PDFJS.build="2a5616c",function(){"use strict";function a(a){PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.infos&&console.log("Info: "+a)}function b(a){PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.warnings&&console.log("Warning: "+a)}function c(a){b("Deprecated API usage: "+a)}function d(a){throw PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.errors&&(console.log("Error: "+a),console.log(e())),I.notify(H.unknown),new Error(a)}function e(){try{throw new Error}catch(a){return a.stack?a.stack.split("\n").slice(2).join("\n"):""}}function f(a,b){a||d(b)}function g(a,b){if(!b)return a;if(/^[a-z][a-z0-9+\-.]*:/i.test(b))return b;var c;if("/"===b.charAt(0))return c=a.indexOf("://"),"/"===b.charAt(1)?++c:c=a.indexOf("/",c+3),a.substring(0,c)+b;var d=a.length;c=a.lastIndexOf("#"),d=c>=0?c:d,c=a.lastIndexOf("?",d),d=c>=0?c:d;var e=a.lastIndexOf("/",d);return a.substring(0,e+1)+b}function h(a,b){if(!a)return!1;var c=/^[a-z][a-z0-9+\-.]*(?=:)/i.exec(a);if(!c)return b;switch(c=c[0].toLowerCase()){case"http":case"https":case"ftp":case"mailto":case"tel":return!0;default:return!1}}function i(a,b,c){return Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!1}),c}function j(){switch(PDFJS.openExternalLinksInNewWindow&&(b("PDFJS.openExternalLinksInNewWindow is deprecated, use PDFJS.externalLinkTarget instead."),PDFJS.externalLinkTarget===J.NONE&&(PDFJS.externalLinkTarget=J.BLANK),PDFJS.openExternalLinksInNewWindow=!1),PDFJS.externalLinkTarget){case J.NONE:return!1;case J.SELF:case J.BLANK:case J.PARENT:case J.TOP:return!0}return b("PDFJS.externalLinkTarget is invalid: "+PDFJS.externalLinkTarget),PDFJS.externalLinkTarget=J.NONE,!1}function k(a){f(null!==a&&"object"==typeof a&&void 0!==a.length,"Invalid argument for bytesToString");var b=a.length,c=8192;if(c>b)return String.fromCharCode.apply(null,a);for(var d=[],e=0;b>e;e+=c){var g=Math.min(e+c,b),h=a.subarray(e,g);d.push(String.fromCharCode.apply(null,h))}return d.join("")}function l(a){f("string"==typeof a,"Invalid argument for stringToBytes");for(var b=a.length,c=new Uint8Array(b),d=0;b>d;++d)c[d]=255&a.charCodeAt(d);return c}function m(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,255&a)}function n(){var a=new Uint8Array(2);a[0]=1;var b=new Uint16Array(a.buffer);return 1===b[0]}function o(){var a=document.createElement("canvas");a.width=a.height=1;var b=a.getContext("2d"),c=b.createImageData(1,1);return"undefined"!=typeof c.data.buffer}function p(a){return"number"==typeof a}function q(a){return a instanceof Array}function r(a){return"object"==typeof a&&null!==a&&void 0!==a.byteLength}function s(){var a={};return a.promise=new Promise(function(b,c){a.resolve=b,a.reject=c}),a}function t(a,b){this.name=a,this.comObj=b,this.callbackIndex=1,this.postMessageTransfers=!0;var c=this.callbacksCapabilities={},e=this.actionHandler={};e.console_log=[function(a){console.log.apply(console,a)}],e.console_error=[function(a){console.error.apply(console,a)}],e._unsupported_feature=[function(a){I.notify(a)}],b.onmessage=function(a){var f=a.data;if(f.isReply){var g=f.callbackId;if(f.callbackId in c){var h=c[g];delete c[g],"error"in f?h.reject(f.error):h.resolve(f.data)}else d("Cannot resolve callback "+g)}else if(f.action in e){var i=e[f.action];f.callbackId?Promise.resolve().then(function(){return i[0].call(i[1],f.data)}).then(function(a){b.postMessage({isReply:!0,callbackId:f.callbackId,data:a})},function(a){a instanceof Error&&(a+=""),b.postMessage({isReply:!0,callbackId:f.callbackId,error:a})}):i[0].call(i[1],f.data)}else d("Unknown action from worker: "+f.action)}}function u(a,c,d){var e=new Image;e.onload=function(){d.resolve(a,e)},e.onerror=function(){d.resolve(a,null),b("Error during JPEG image loading")},e.src=c}function v(a,b){var c=document.createElement("canvas");return c.width=a,c.height=b,c}function w(a){a.mozCurrentTransform||(a._originalSave=a.save,a._originalRestore=a.restore,a._originalRotate=a.rotate,a._originalScale=a.scale,a._originalTranslate=a.translate,a._originalTransform=a.transform,a._originalSetTransform=a.setTransform,a._transformMatrix=a._transformMatrix||[1,0,0,1,0,0],a._transformStack=[],Object.defineProperty(a,"mozCurrentTransform",{get:function(){return this._transformMatrix}}),Object.defineProperty(a,"mozCurrentTransformInverse",{get:function(){var a=this._transformMatrix,b=a[0],c=a[1],d=a[2],e=a[3],f=a[4],g=a[5],h=b*e-c*d,i=c*d-b*e;return[e/h,c/i,d/i,b/h,(e*f-d*g)/i,(c*f-b*g)/h]}}),a.save=function(){var a=this._transformMatrix;this._transformStack.push(a),this._transformMatrix=a.slice(0,6),this._originalSave()},a.restore=function(){var a=this._transformStack.pop();a&&(this._transformMatrix=a,this._originalRestore())},a.translate=function(a,b){var c=this._transformMatrix;c[4]=c[0]*a+c[2]*b+c[4],c[5]=c[1]*a+c[3]*b+c[5],this._originalTranslate(a,b)},a.scale=function(a,b){var c=this._transformMatrix;c[0]=c[0]*a,c[1]=c[1]*a,c[2]=c[2]*b,c[3]=c[3]*b,this._originalScale(a,b)},a.transform=function(b,c,d,e,f,g){var h=this._transformMatrix;this._transformMatrix=[h[0]*b+h[2]*c,h[1]*b+h[3]*c,h[0]*d+h[2]*e,h[1]*d+h[3]*e,h[0]*f+h[2]*g+h[4],h[1]*f+h[3]*g+h[5]],a._originalTransform(b,c,d,e,f,g)},a.setTransform=function(b,c,d,e,f,g){this._transformMatrix=[b,c,d,e,f,g],a._originalSetTransform(b,c,d,e,f,g)},a.rotate=function(a){var b=Math.cos(a),c=Math.sin(a),d=this._transformMatrix;this._transformMatrix=[d[0]*b+d[2]*c,d[1]*b+d[3]*c,d[0]*-c+d[2]*b,d[1]*-c+d[3]*b,d[4],d[5]],this._originalRotate(a)})}function x(a){var b,c,d,e,f=1e3,g=a.width,h=a.height,i=g+1,j=new Uint8Array(i*(h+1)),k=new Uint8Array([0,2,4,0,1,0,5,4,8,10,0,8,0,2,1,0]),l=g+7&-8,m=a.data,n=new Uint8Array(l*h),o=0;for(b=0,e=m.length;e>b;b++)for(var p=128,q=m[b];p>0;)n[o++]=q&p?0:255,p>>=1;var r=0;for(o=0,0!==n[o]&&(j[0]=1,++r),c=1;g>c;c++)n[o]!==n[o+1]&&(j[c]=n[o]?2:1,++r),o++;for(0!==n[o]&&(j[c]=2,++r),b=1;h>b;b++){o=b*l,d=b*i,n[o-l]!==n[o]&&(j[d]=n[o]?1:8,++r);var s=(n[o]?4:0)+(n[o-l]?8:0);for(c=1;g>c;c++)s=(s>>2)+(n[o+1]?4:0)+(n[o-l+1]?8:0),k[s]&&(j[d+c]=k[s],++r),o++;if(n[o-l]!==n[o]&&(j[d+c]=n[o]?2:4,++r),r>f)return null}for(o=l*(h-1),d=b*i,0!==n[o]&&(j[d]=8,++r),c=1;g>c;c++)n[o]!==n[o+1]&&(j[d+c]=n[o]?4:8,++r),o++;if(0!==n[o]&&(j[d+c]=4,++r),r>f)return null;var t=new Int32Array([0,i,-1,0,-i,0,0,0,1]),u=[];for(b=0;r&&h>=b;b++){for(var v=b*i,w=v+g;w>v&&!j[v];)v++;if(v!==w){var x,y=[v%i,b],z=j[v],A=v;do{var B=t[z];do v+=B;while(!j[v]);x=j[v],5!==x&&10!==x?(z=x,j[v]=0):(z=x&51*z>>4,j[v]&=z>>2|z<<2),y.push(v%i),y.push(v/i|0),--r}while(A!==v);u.push(y),--b}}var C=function(a){a.save(),a.scale(1/g,-1/h),a.translate(0,-h),a.beginPath();for(var b=0,c=u.length;c>b;b++){var d=u[b];a.moveTo(d[0],d[1]);for(var e=2,f=d.length;f>e;e+=2)a.lineTo(d[e],d[e+1])}a.fill(),a.beginPath(),a.restore()};return C}function y(a){var b=ma[a[0]];return b||d("Unknown IR type: "+a[0]),b.fromIR(a)}var z="undefined"==typeof window?this:window,A="undefined"==typeof window,B=[.001,0,0,.001,0,0],C={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_ADD_TO_PATH:4,STROKE_ADD_TO_PATH:5,FILL_STROKE_ADD_TO_PATH:6,ADD_TO_PATH:7,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4},D={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},E={WIDGET:1,TEXT:2,LINK:3},F={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5};z.PDFJS||(z.PDFJS={}),z.PDFJS.pdfBug=!1,PDFJS.VERBOSITY_LEVELS={errors:0,warnings:1,infos:5};var G=PDFJS.OPS={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotations:78,endAnnotations:79,beginAnnotation:80,endAnnotation:81,paintJpegXObject:82,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91},H=PDFJS.UNSUPPORTED_FEATURES={unknown:"unknown",forms:"forms",javaScript:"javaScript",smask:"smask",shadingPattern:"shadingPattern",font:"font"},I=PDFJS.UnsupportedManager=function(){var a=[];return{listen:function(b){a.push(b)},notify:function(c){b('Unsupported feature "'+c+'"');for(var d=0,e=a.length;e>d;d++)a[d](c)}}}();PDFJS.isValidUrl=h,PDFJS.shadow=i;var J=PDFJS.LinkTarget={NONE:0,SELF:1,BLANK:2,PARENT:3,TOP:4},K=["","_self","_blank","_parent","_top"];PDFJS.isExternalLinkTargetSet=j;var L=PDFJS.PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},M=function(){function a(a,b){this.name="PasswordException",this.message=a,this.code=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.PasswordException=M;var N=function(){function a(a,b){this.name="UnknownErrorException",this.message=a,this.details=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.UnknownErrorException=N;var O=function(){function a(a){this.name="InvalidPDFException",this.message=a}return a.prototype=new Error,a.constructor=a,a}();PDFJS.InvalidPDFException=O;var P=function(){function a(a){this.name="MissingPDFException",this.message=a}return a.prototype=new Error,a.constructor=a,a}();PDFJS.MissingPDFException=P;var Q=function(){function a(a,b){this.name="UnexpectedResponseException",this.message=a,this.status=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.UnexpectedResponseException=Q;(function(){function a(a){this.message=a}return a.prototype=new Error,a.prototype.name="NotImplementedException",a.constructor=a,a})(),function(){function a(a,b){this.begin=a,this.end=b,this.message="Missing data ["+a+", "+b+")"}return a.prototype=new Error,a.prototype.name="MissingDataException",a.constructor=a,a}(),function(){function a(a){this.message=a}return a.prototype=new Error,a.prototype.name="XRefParseException",a.constructor=a,a}();Object.defineProperty(PDFJS,"isLittleEndian",{configurable:!0,get:function(){return i(PDFJS,"isLittleEndian",n())}}),Object.defineProperty(PDFJS,"hasCanvasTypedArrays",{configurable:!0,get:function(){return i(PDFJS,"hasCanvasTypedArrays",o())}});var R=function(){function a(a,b){this.buffer=a,this.byteLength=a.length,this.length=void 0===b?this.byteLength>>2:b,c(this.length)}function b(a){return{get:function(){var b=this.buffer,c=a<<2;return(b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24)>>>0},set:function(b){var c=this.buffer,d=a<<2;c[d]=255&b,c[d+1]=b>>8&255,c[d+2]=b>>16&255,c[d+3]=b>>>24&255}}}function c(c){for(;c>d;)Object.defineProperty(a.prototype,d,b(d)),d++}a.prototype=Object.create(null);var d=0;return a}(),S=[1,0,0,1,0,0],T=PDFJS.Util=function(){function a(){}var b=["rgb(",0,",",0,",",0,")"];return a.makeCssRgb=function(a,c,d){return b[1]=a,b[3]=c,b[5]=d,b.join("")},a.transform=function(a,b){return[a[0]*b[0]+a[2]*b[1],a[1]*b[0]+a[3]*b[1],a[0]*b[2]+a[2]*b[3],a[1]*b[2]+a[3]*b[3],a[0]*b[4]+a[2]*b[5]+a[4],a[1]*b[4]+a[3]*b[5]+a[5]]},a.applyTransform=function(a,b){var c=a[0]*b[0]+a[1]*b[2]+b[4],d=a[0]*b[1]+a[1]*b[3]+b[5];return[c,d]},a.applyInverseTransform=function(a,b){var c=b[0]*b[3]-b[1]*b[2],d=(a[0]*b[3]-a[1]*b[2]+b[2]*b[5]-b[4]*b[3])/c,e=(-a[0]*b[1]+a[1]*b[0]+b[4]*b[1]-b[5]*b[0])/c;return[d,e]},a.getAxialAlignedBoundingBox=function(b,c){var d=a.applyTransform(b,c),e=a.applyTransform(b.slice(2,4),c),f=a.applyTransform([b[0],b[3]],c),g=a.applyTransform([b[2],b[1]],c);return[Math.min(d[0],e[0],f[0],g[0]),Math.min(d[1],e[1],f[1],g[1]),Math.max(d[0],e[0],f[0],g[0]),Math.max(d[1],e[1],f[1],g[1])]},a.inverseTransform=function(a){var b=a[0]*a[3]-a[1]*a[2];return[a[3]/b,-a[1]/b,-a[2]/b,a[0]/b,(a[2]*a[5]-a[4]*a[3])/b,(a[4]*a[1]-a[5]*a[0])/b]},a.apply3dTransform=function(a,b){return[a[0]*b[0]+a[1]*b[1]+a[2]*b[2],a[3]*b[0]+a[4]*b[1]+a[5]*b[2],a[6]*b[0]+a[7]*b[1]+a[8]*b[2]]},a.singularValueDecompose2dScale=function(a){var b=[a[0],a[2],a[1],a[3]],c=a[0]*b[0]+a[1]*b[2],d=a[0]*b[1]+a[1]*b[3],e=a[2]*b[0]+a[3]*b[2],f=a[2]*b[1]+a[3]*b[3],g=(c+f)/2,h=Math.sqrt((c+f)*(c+f)-4*(c*f-e*d))/2,i=g+h||1,j=g-h||1;return[Math.sqrt(i),Math.sqrt(j)]},a.normalizeRect=function(a){var b=a.slice(0);return a[0]>a[2]&&(b[0]=a[2],b[2]=a[0]),a[1]>a[3]&&(b[1]=a[3],b[3]=a[1]),b},a.intersect=function(b,c){function d(a,b){return a-b}var e=[b[0],b[2],c[0],c[2]].sort(d),f=[b[1],b[3],c[1],c[3]].sort(d),g=[];return b=a.normalizeRect(b),c=a.normalizeRect(c),e[0]===b[0]&&e[1]===c[0]||e[0]===c[0]&&e[1]===b[0]?(g[0]=e[1],g[2]=e[2],f[0]===b[1]&&f[1]===c[1]||f[0]===c[1]&&f[1]===b[1]?(g[1]=f[1],g[3]=f[2],g):!1):!1},a.sign=function(a){return 0>a?-1:1},a.appendToArray=function(a,b){Array.prototype.push.apply(a,b)},a.prependToArray=function(a,b){Array.prototype.unshift.apply(a,b)},a.extendObj=function(a,b){for(var c in b)a[c]=b[c]},a.getInheritableProperty=function(a,b){for(;a&&!a.has(b);)a=a.get("Parent");return a?a.get(b):null},a.inherit=function(a,b,c){a.prototype=Object.create(b.prototype),a.prototype.constructor=a;for(var d in c)a.prototype[d]=c[d]},a.loadScript=function(a,b){var c=document.createElement("script"),d=!1;c.setAttribute("src",a),b&&(c.onload=function(){d||b(),d=!0}),document.getElementsByTagName("head")[0].appendChild(c)},a}();PDFJS.PageViewport=function(){function a(a,b,c,d,e,f){this.viewBox=a,this.scale=b,this.rotation=c,this.offsetX=d,this.offsetY=e;var g,h,i,j,k=(a[2]+a[0])/2,l=(a[3]+a[1])/2;switch(c%=360,c=0>c?c+360:c){case 180:g=-1,h=0,i=0,j=1;break;case 90:g=0,h=1,i=1,j=0;break;case 270:g=0,h=-1,i=-1,j=0;break;default:g=1,h=0,i=0,j=-1}f&&(i=-i,j=-j);var m,n,o,p;0===g?(m=Math.abs(l-a[1])*b+d,n=Math.abs(k-a[0])*b+e,o=Math.abs(a[3]-a[1])*b,p=Math.abs(a[2]-a[0])*b):(m=Math.abs(k-a[0])*b+d,n=Math.abs(l-a[1])*b+e,o=Math.abs(a[2]-a[0])*b,p=Math.abs(a[3]-a[1])*b),this.transform=[g*b,h*b,i*b,j*b,m-g*b*k-i*b*l,n-h*b*k-j*b*l],this.width=o,this.height=p,this.fontScale=b}return a.prototype={clone:function(b){b=b||{};var c="scale"in b?b.scale:this.scale,d="rotation"in b?b.rotation:this.rotation;return new a(this.viewBox.slice(),c,d,this.offsetX,this.offsetY,b.dontFlip)},convertToViewportPoint:function(a,b){return T.applyTransform([a,b],this.transform)},convertToViewportRectangle:function(a){var b=T.applyTransform([a[0],a[1]],this.transform),c=T.applyTransform([a[2],a[3]],this.transform);return[b[0],b[1],c[0],c[1]]},convertToPdfPoint:function(a,b){return T.applyInverseTransform([a,b],this.transform)}},a}();PDFJS.createPromiseCapability=s,function(){function a(a){this._status=c,this._handlers=[];try{a.call(this,this._resolve.bind(this),this._reject.bind(this))}catch(b){this._reject(b)}}if(z.Promise)return"function"!=typeof z.Promise.all&&(z.Promise.all=function(a){var b,c,d=0,e=[],f=new z.Promise(function(a,d){b=a,c=d});return a.forEach(function(a,f){d++,a.then(function(a){e[f]=a,d--,0===d&&b(e)},c)}),0===d&&b(e),f}),"function"!=typeof z.Promise.resolve&&(z.Promise.resolve=function(a){return new z.Promise(function(b){b(a)})}),"function"!=typeof z.Promise.reject&&(z.Promise.reject=function(a){return new z.Promise(function(b,c){c(a)})}),void("function"!=typeof z.Promise.prototype["catch"]&&(z.Promise.prototype["catch"]=function(a){return z.Promise.prototype.then(void 0,a)}));var c=0,d=1,e=2,f=500,g={handlers:[],running:!1,unhandledRejections:[],pendingRejectionCheck:!1,scheduleHandlers:function(a){a._status!==c&&(this.handlers=this.handlers.concat(a._handlers),a._handlers=[],this.running||(this.running=!0,setTimeout(this.runHandlers.bind(this),0)))},runHandlers:function(){for(var a=1,b=Date.now()+a;this.handlers.length>0;){var c=this.handlers.shift(),f=c.thisPromise._status,g=c.thisPromise._value;try{f===d?"function"==typeof c.onResolve&&(g=c.onResolve(g)):"function"==typeof c.onReject&&(g=c.onReject(g),f=d,c.thisPromise._unhandledRejection&&this.removeUnhandeledRejection(c.thisPromise))}catch(h){f=e,g=h}if(c.nextPromise._updateStatus(f,g),Date.now()>=b)break}return this.handlers.length>0?void setTimeout(this.runHandlers.bind(this),0):void(this.running=!1)},addUnhandledRejection:function(a){this.unhandledRejections.push({promise:a,time:Date.now()}),this.scheduleRejectionCheck()},removeUnhandeledRejection:function(a){a._unhandledRejection=!1;for(var b=0;b<this.unhandledRejections.length;b++)this.unhandledRejections[b].promise===a&&(this.unhandledRejections.splice(b),b--)},scheduleRejectionCheck:function(){this.pendingRejectionCheck||(this.pendingRejectionCheck=!0,setTimeout(function(){this.pendingRejectionCheck=!1;for(var a=Date.now(),c=0;c<this.unhandledRejections.length;c++)if(a-this.unhandledRejections[c].time>f){var d=this.unhandledRejections[c].promise._value,e="Unhandled rejection: "+d;d.stack&&(e+="\n"+d.stack),b(e),this.unhandledRejections.splice(c),c--}this.unhandledRejections.length&&this.scheduleRejectionCheck()}.bind(this),f))}};a.all=function(b){function c(a){g._status!==e&&(i=[],f(a))}var d,f,g=new a(function(a,b){d=a,f=b}),h=b.length,i=[];if(0===h)return d(i),g;for(var j=0,k=b.length;k>j;++j){var l=b[j],m=function(a){return function(b){g._status!==e&&(i[a]=b,h--,0===h&&d(i))}}(j);a.isPromise(l)?l.then(m,c):m(l)}return g},a.isPromise=function(a){return a&&"function"==typeof a.then},a.resolve=function(b){return new a(function(a){a(b)})},a.reject=function(b){return new a(function(a,c){c(b)})},a.prototype={_status:null,_value:null,_handlers:null,_unhandledRejection:null,_updateStatus:function(b,c){if(this._status!==d&&this._status!==e){if(b===d&&a.isPromise(c))return void c.then(this._updateStatus.bind(this,d),this._updateStatus.bind(this,e));this._status=b,this._value=c,b===e&&0===this._handlers.length&&(this._unhandledRejection=!0,g.addUnhandledRejection(this)),g.scheduleHandlers(this)}},_resolve:function(a){this._updateStatus(d,a)},_reject:function(a){this._updateStatus(e,a)},then:function(b,c){var d=new a(function(a,b){this.resolve=a,this.reject=b});return this._handlers.push({thisPromise:this,onResolve:b,onReject:c,nextPromise:d}),g.scheduleHandlers(this),d},"catch":function(a){return this.then(void 0,a)}},z.Promise=a}();var U=function(){function a(a,b,c){for(;a.length<c;)a+=b;return a}function c(){this.started={},this.times=[],this.enabled=!0}return c.prototype={time:function(a){this.enabled&&(a in this.started&&b("Timer is already running for "+a),this.started[a]=Date.now())},timeEnd:function(a){this.enabled&&(a in this.started||b("Timer has not been started for "+a),this.times.push({name:a,start:this.started[a],end:Date.now()}),delete this.started[a])},toString:function(){var b,c,d=this.times,e="",f=0;for(b=0,c=d.length;c>b;++b){var g=d[b].name;g.length>f&&(f=g.length)}for(b=0,c=d.length;c>b;++b){var h=d[b],i=h.end-h.start;e+=a(h.name," ",f)+" "+i+"ms\n"}return e}},c}();PDFJS.createBlob=function(a,b){if("undefined"!=typeof Blob)return new Blob([a],{type:b});var c=new MozBlobBuilder;return c.append(a),c.getBlob(b)},PDFJS.createObjectURL=function(){var a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return function(b,c){if(!PDFJS.disableCreateObjectURL&&"undefined"!=typeof URL&&URL.createObjectURL){var d=PDFJS.createBlob(b,c);return URL.createObjectURL(d)}for(var e="data:"+c+";base64,",f=0,g=b.length;g>f;f+=3){var h=255&b[f],i=255&b[f+1],j=255&b[f+2],k=h>>2,l=(3&h)<<4|i>>4,m=g>f+1?(15&i)<<2|j>>6:64,n=g>f+2?63&j:64;e+=a[k]+a[l]+a[m]+a[n]}return e}}(),t.prototype={on:function(a,b,c){var e=this.actionHandler;e[a]&&d('There is already an actionName called "'+a+'"'),e[a]=[b,c]},send:function(a,b,c){var d={action:a,data:b};this.postMessage(d,c)},sendWithPromise:function(a,b,c){var d=this.callbackIndex++,e={action:a,data:b,callbackId:d},f=s();this.callbacksCapabilities[d]=f;try{this.postMessage(e,c)}catch(g){f.reject(g)}return f.promise},postMessage:function(a,b){b&&this.postMessageTransfers?this.comObj.postMessage(a,b):this.comObj.postMessage(a)}},PDFJS.maxImageSize=void 0===PDFJS.maxImageSize?-1:PDFJS.maxImageSize,PDFJS.cMapUrl=void 0===PDFJS.cMapUrl?null:PDFJS.cMapUrl,PDFJS.cMapPacked=void 0===PDFJS.cMapPacked?!1:PDFJS.cMapPacked,PDFJS.disableFontFace=void 0===PDFJS.disableFontFace?!1:PDFJS.disableFontFace,PDFJS.imageResourcesPath=void 0===PDFJS.imageResourcesPath?"":PDFJS.imageResourcesPath,PDFJS.disableWorker=void 0===PDFJS.disableWorker?!1:PDFJS.disableWorker,PDFJS.workerSrc=void 0===PDFJS.workerSrc?null:PDFJS.workerSrc,PDFJS.disableRange=void 0===PDFJS.disableRange?!1:PDFJS.disableRange,PDFJS.disableStream=void 0===PDFJS.disableStream?!1:PDFJS.disableStream,PDFJS.disableAutoFetch=void 0===PDFJS.disableAutoFetch?!1:PDFJS.disableAutoFetch,PDFJS.pdfBug=void 0===PDFJS.pdfBug?!1:PDFJS.pdfBug,PDFJS.postMessageTransfers=void 0===PDFJS.postMessageTransfers?!0:PDFJS.postMessageTransfers,PDFJS.disableCreateObjectURL=void 0===PDFJS.disableCreateObjectURL?!1:PDFJS.disableCreateObjectURL,PDFJS.disableWebGL=void 0===PDFJS.disableWebGL?!0:PDFJS.disableWebGL,PDFJS.disableFullscreen=void 0===PDFJS.disableFullscreen?!1:PDFJS.disableFullscreen,PDFJS.useOnlyCssZoom=void 0===PDFJS.useOnlyCssZoom?!1:PDFJS.useOnlyCssZoom,PDFJS.verbosity=void 0===PDFJS.verbosity?PDFJS.VERBOSITY_LEVELS.warnings:PDFJS.verbosity,PDFJS.maxCanvasPixels=void 0===PDFJS.maxCanvasPixels?16777216:PDFJS.maxCanvasPixels,PDFJS.openExternalLinksInNewWindow=void 0===PDFJS.openExternalLinksInNewWindow?!1:PDFJS.openExternalLinksInNewWindow,PDFJS.externalLinkTarget=void 0===PDFJS.externalLinkTarget?PDFJS.LinkTarget.NONE:PDFJS.externalLinkTarget,PDFJS.isEvalSupported=void 0===PDFJS.isEvalSupported?!0:PDFJS.isEvalSupported,PDFJS.getDocument=function(a,b,e,f){var h=new V;arguments.length>1&&c("getDocument is called with pdfDataRangeTransport, passwordCallback or progressCallback argument"),b&&(b instanceof W||(b=Object.create(b),b.length=a.length,b.initialData=a.initialData,b.abort||(b.abort=function(){})),a=Object.create(a),a.range=b),h.onPassword=e||null,h.onProgress=f||null;var i,j,k;"string"==typeof a?k={url:a}:r(a)?k={data:a}:a instanceof W?k={range:a}:("object"!=typeof a&&d("Invalid parameter in getDocument, need either Uint8Array, string or a parameter object"),a.url||a.data||a.range||d("Invalid parameter object: need either .data, .range or .url"),k=a);var m={};for(var n in k)if("url"!==n||"undefined"==typeof window){if("range"!==n)if("data"!==n||k[n]instanceof Uint8Array)m[n]=k[n];else{var o=k[n];"string"==typeof o?m[n]=l(o):"object"!=typeof o||null===o||isNaN(o.length)?r(o)?m[n]=new Uint8Array(o):d("Invalid PDF binary data: either typed array, string or array-like object is expected in the data property."):m[n]=new Uint8Array(o)}}else m[n]=g(window.location.href,k[n]);return i=s(),j=new Z(i,k.range),i.promise.then(function(){j.fetchDocument(h,m)}),h._transport=j,h};var V=function(){function a(){this._capability=s(),this._transport=null,this.onPassword=null,this.onProgress=null}return a.prototype={get promise(){return this._capability.promise},destroy:function(){return this._transport.destroy()},then:function(a,b){return this.promise.then.apply(this.promise,arguments)}},a}(),W=function(){function a(a,b){this.length=a,this.initialData=b,this._rangeListeners=[],this._progressListeners=[],this._progressiveReadListeners=[],this._readyCapability=s()}return a.prototype={addRangeListener:function(a){this._rangeListeners.push(a)},addProgressListener:function(a){this._progressListeners.push(a)},addProgressiveReadListener:function(a){this._progressiveReadListeners.push(a)},onDataRange:function(a,b){for(var c=this._rangeListeners,d=0,e=c.length;e>d;++d)c[d](a,b)},onDataProgress:function(a){this._readyCapability.promise.then(function(){for(var b=this._progressListeners,c=0,d=b.length;d>c;++c)b[c](a)}.bind(this))},onDataProgressiveRead:function(a){this._readyCapability.promise.then(function(){for(var b=this._progressiveReadListeners,c=0,d=b.length;d>c;++c)b[c](a)}.bind(this))},transportReady:function(){this._readyCapability.resolve()},requestDataRange:function(a,b){throw new Error("Abstract method PDFDataRangeTransport.requestDataRange")},abort:function(){}},a}();PDFJS.PDFDataRangeTransport=W;var X=function(){function a(a,b,c){this.pdfInfo=a,this.transport=b,this.loadingTask=c}return a.prototype={get numPages(){return this.pdfInfo.numPages},get fingerprint(){return this.pdfInfo.fingerprint},getPage:function(a){return this.transport.getPage(a)},getPageIndex:function(a){return this.transport.getPageIndex(a)},getDestinations:function(){return this.transport.getDestinations()},getDestination:function(a){return this.transport.getDestination(a)},getAttachments:function(){return this.transport.getAttachments()},getJavaScript:function(){return this.transport.getJavaScript()},getOutline:function(){return this.transport.getOutline()},getMetadata:function(){return this.transport.getMetadata()},getData:function(){return this.transport.getData()},getDownloadInfo:function(){return this.transport.downloadInfoCapability.promise},getStats:function(){return this.transport.getStats()},cleanup:function(){this.transport.startCleanup()},destroy:function(){return this.transport.destroy()}},a}(),Y=function(){function a(a,b,c){this.pageIndex=a,this.pageInfo=b,this.transport=c,this.stats=new U,this.stats.enabled=!!z.PDFJS.enableStats,this.commonObjs=c.commonObjs,this.objs=new $,this.cleanupAfterRender=!1,this.pendingCleanup=!1,this.intentStates={},this.destroyed=!1}return a.prototype={get pageNumber(){return this.pageIndex+1},get rotate(){return this.pageInfo.rotate;
-},get ref(){return this.pageInfo.ref},get view(){return this.pageInfo.view},getViewport:function(a,b){return arguments.length<2&&(b=this.rotate),new PDFJS.PageViewport(this.view,a,b,0,0)},getAnnotations:function(){return this.annotationsPromise||(this.annotationsPromise=this.transport.getAnnotations(this.pageIndex)),this.annotationsPromise},render:function(a){function b(a){var b=f.renderTasks.indexOf(g);b>=0&&f.renderTasks.splice(b,1),i.cleanupAfterRender&&(i.pendingCleanup=!0),i._tryCleanup(),a?g.capability.reject(a):g.capability.resolve(),d.timeEnd("Rendering"),d.timeEnd("Overall")}var d=this.stats;d.time("Overall"),this.pendingCleanup=!1;var e="print"===a.intent?"print":"display";this.intentStates[e]||(this.intentStates[e]={});var f=this.intentStates[e];f.displayReadyCapability||(f.receivingOperatorList=!0,f.displayReadyCapability=s(),f.operatorList={fnArray:[],argsArray:[],lastChunk:!1},this.stats.time("Page Request"),this.transport.messageHandler.send("RenderPageRequest",{pageIndex:this.pageNumber-1,intent:e}));var g=new aa(b,a,this.objs,this.commonObjs,f.operatorList,this.pageNumber);g.useRequestAnimationFrame="print"!==e,f.renderTasks||(f.renderTasks=[]),f.renderTasks.push(g);var h=g.task;a.continueCallback&&(c("render is used with continueCallback parameter"),h.onContinue=a.continueCallback);var i=this;return f.displayReadyCapability.promise.then(function(a){return i.pendingCleanup?void b():(d.time("Rendering"),g.initalizeGraphics(a),void g.operatorListChanged())},function(a){b(a)}),h},getOperatorList:function(){function a(){c.operatorList.lastChunk&&c.opListReadCapability.resolve(c.operatorList)}var b="oplist";this.intentStates[b]||(this.intentStates[b]={});var c=this.intentStates[b];if(!c.opListReadCapability){var d={};d.operatorListChanged=a,c.receivingOperatorList=!0,c.opListReadCapability=s(),c.renderTasks=[],c.renderTasks.push(d),c.operatorList={fnArray:[],argsArray:[],lastChunk:!1},this.transport.messageHandler.send("RenderPageRequest",{pageIndex:this.pageIndex,intent:b})}return c.opListReadCapability.promise},getTextContent:function(){return this.transport.messageHandler.sendWithPromise("GetTextContent",{pageIndex:this.pageNumber-1})},_destroy:function(){this.destroyed=!0,this.transport.pageCache[this.pageIndex]=null;var a=[];return Object.keys(this.intentStates).forEach(function(b){var c=this.intentStates[b];c.renderTasks.forEach(function(b){var c=b.capability.promise["catch"](function(){});a.push(c),b.cancel()})},this),this.objs.clear(),this.annotationsPromise=null,this.pendingCleanup=!1,Promise.all(a)},destroy:function(){c("page destroy method, use cleanup() instead"),this.cleanup()},cleanup:function(){this.pendingCleanup=!0,this._tryCleanup()},_tryCleanup:function(){this.pendingCleanup&&!Object.keys(this.intentStates).some(function(a){var b=this.intentStates[a];return 0!==b.renderTasks.length||b.receivingOperatorList},this)&&(Object.keys(this.intentStates).forEach(function(a){delete this.intentStates[a]},this),this.objs.clear(),this.annotationsPromise=null,this.pendingCleanup=!1)},_startRenderPage:function(a,b){var c=this.intentStates[b];c.displayReadyCapability&&c.displayReadyCapability.resolve(a)},_renderPageChunk:function(a,b){var c,d,e=this.intentStates[b];for(c=0,d=a.length;d>c;c++)e.operatorList.fnArray.push(a.fnArray[c]),e.operatorList.argsArray.push(a.argsArray[c]);for(e.operatorList.lastChunk=a.lastChunk,c=0;c<e.renderTasks.length;c++)e.renderTasks[c].operatorListChanged();a.lastChunk&&(e.receivingOperatorList=!1,this._tryCleanup())}},a}(),Z=function(){function c(b,c){if(this.pdfDataRangeTransport=c,this.workerInitializedCapability=b,this.commonObjs=new $,this.loadingTask=null,this.destroyed=!1,this.destroyCapability=null,this.pageCache=[],this.pagePromises=[],this.downloadInfoCapability=s(),!z.PDFJS.disableWorker&&"undefined"!=typeof Worker){var e=PDFJS.workerSrc;e||d("No PDFJS.workerSrc specified");try{var f=new Worker(e),g=new t("main",f);this.messageHandler=g,g.on("test",function(a){var c=a&&a.supportTypedArray;c?(this.worker=f,a.supportTransfers||(PDFJS.postMessageTransfers=!1),this.setupMessageHandler(g),b.resolve()):this.setupFakeWorker()}.bind(this));var h=new Uint8Array([PDFJS.postMessageTransfers?255:0]);try{g.send("test",h,[h.buffer])}catch(i){a("Cannot use postMessage transfers"),h[0]=0,g.send("test",h)}return}catch(j){a("The worker has been disabled.")}}this.setupFakeWorker()}return c.prototype={destroy:function(){if(this.destroyCapability)return this.destroyCapability.promise;this.destroyed=!0,this.destroyCapability=s();var a=[];this.pageCache.forEach(function(b){b&&a.push(b._destroy())}),this.pageCache=[],this.pagePromises=[];var b=this,c=this.messageHandler.sendWithPromise("Terminate",null);return a.push(c),Promise.all(a).then(function(){pa.clear(),b.worker&&b.worker.terminate(),b.pdfDataRangeTransport&&(b.pdfDataRangeTransport.abort(),b.pdfDataRangeTransport=null),b.messageHandler=null,b.destroyCapability.resolve()},this.destroyCapability.reject),this.destroyCapability.promise},setupFakeWorker:function(){z.PDFJS.disableWorker=!0,PDFJS.fakeWorkerFilesLoadedCapability||(PDFJS.fakeWorkerFilesLoadedCapability=s(),T.loadScript(PDFJS.workerSrc,function(){PDFJS.fakeWorkerFilesLoadedCapability.resolve()})),PDFJS.fakeWorkerFilesLoadedCapability.promise.then(function(){b("Setting up fake worker.");var a={postMessage:function(b){a.onmessage({data:b})},terminate:function(){}},c=new t("main",a);this.setupMessageHandler(c),PDFJS.WorkerMessageHandler.setup(c),this.workerInitializedCapability.resolve()}.bind(this))},setupMessageHandler:function(a){function c(b){a.send("UpdatePassword",b)}this.messageHandler=a;var e=this.pdfDataRangeTransport;e&&(e.addRangeListener(function(b,c){a.send("OnDataRange",{begin:b,chunk:c})}),e.addProgressListener(function(b){a.send("OnDataProgress",{loaded:b})}),e.addProgressiveReadListener(function(b){a.send("OnDataRange",{chunk:b})}),a.on("RequestDataRange",function(a){e.requestDataRange(a.begin,a.end)},this)),a.on("GetDoc",function(a){var b=a.pdfInfo;this.numPages=a.pdfInfo.numPages;var c=this.loadingTask,d=new X(b,this,c);this.pdfDocument=d,c._capability.resolve(d)},this),a.on("NeedPassword",function(a){var b=this.loadingTask;return b.onPassword?b.onPassword(c,L.NEED_PASSWORD):void b._capability.reject(new M(a.message,a.code))},this),a.on("IncorrectPassword",function(a){var b=this.loadingTask;return b.onPassword?b.onPassword(c,L.INCORRECT_PASSWORD):void b._capability.reject(new M(a.message,a.code))},this),a.on("InvalidPDF",function(a){this.loadingTask._capability.reject(new O(a.message))},this),a.on("MissingPDF",function(a){this.loadingTask._capability.reject(new P(a.message))},this),a.on("UnexpectedResponse",function(a){this.loadingTask._capability.reject(new Q(a.message,a.status))},this),a.on("UnknownError",function(a){this.loadingTask._capability.reject(new N(a.message,a.details))},this),a.on("DataLoaded",function(a){this.downloadInfoCapability.resolve(a)},this),a.on("PDFManagerReady",function(a){this.pdfDataRangeTransport&&this.pdfDataRangeTransport.transportReady()},this),a.on("StartRenderPage",function(a){var b=this.pageCache[a.pageIndex];b.stats.timeEnd("Page Request"),b._startRenderPage(a.transparency,a.intent)},this),a.on("RenderPageChunk",function(a){var b=this.pageCache[a.pageIndex];b._renderPageChunk(a.operatorList,a.intent)},this),a.on("commonobj",function(a){var c=a[0],d=a[1];if(!this.commonObjs.hasData(c))switch(d){case"Font":var e,f=a[2];if("error"in f){var g=f.error;b("Error during font loading: "+g),this.commonObjs.resolve(c,g);break}e=new qa(f),pa.bind([e],function(a){this.commonObjs.resolve(c,e)}.bind(this));break;case"FontPath":this.commonObjs.resolve(c,a[2]);break;default:g("Got unknown common object type "+d)}},this),a.on("obj",function(a){var b,c=a[0],e=a[1],f=a[2],g=this.pageCache[e];if(!g.objs.hasData(c))switch(f){case"JpegStream":b=a[3],u(c,b,g.objs);break;case"Image":b=a[3],g.objs.resolve(c,b);var h=8e6;b&&"data"in b&&b.data.length>h&&(g.cleanupAfterRender=!0);break;default:d("Got unknown object type "+f)}},this),a.on("DocProgress",function(a){var b=this.loadingTask;b.onProgress&&b.onProgress({loaded:a.loaded,total:a.total})},this),a.on("PageError",function(a){var b=this.pageCache[a.pageNum-1],c=b.intentStates[a.intent];c.displayReadyCapability?c.displayReadyCapability.reject(a.error):d(a.error)},this),a.on("JpegDecode",function(a){var b=a[0],c=a[1];return 3!==c&&1!==c?Promise.reject(new Error("Only 3 components or 1 component can be returned")):new Promise(function(a,d){var e=new Image;e.onload=function(){var b=e.width,d=e.height,f=b*d,g=4*f,h=new Uint8Array(f*c),i=v(b,d),j=i.getContext("2d");j.drawImage(e,0,0);var k,l,m=j.getImageData(0,0,b,d).data;if(3===c)for(k=0,l=0;g>k;k+=4,l+=3)h[l]=m[k],h[l+1]=m[k+1],h[l+2]=m[k+2];else if(1===c)for(k=0,l=0;g>k;k+=4,l++)h[l]=m[k];a({data:h,width:b,height:d})},e.onerror=function(){d(new Error("JpegDecode failed to load image"))},e.src=b})})},fetchDocument:function(a,b){return this.destroyed?(a._capability.reject(new Error("Loading aborted")),void this.destroyCapability.resolve()):(this.loadingTask=a,b.disableAutoFetch=PDFJS.disableAutoFetch,b.disableStream=PDFJS.disableStream,b.chunkedViewerLoading=!!this.pdfDataRangeTransport,this.pdfDataRangeTransport&&(b.length=this.pdfDataRangeTransport.length,b.initialData=this.pdfDataRangeTransport.initialData),void this.messageHandler.send("GetDocRequest",{source:b,disableRange:PDFJS.disableRange,maxImageSize:PDFJS.maxImageSize,cMapUrl:PDFJS.cMapUrl,cMapPacked:PDFJS.cMapPacked,disableFontFace:PDFJS.disableFontFace,disableCreateObjectURL:PDFJS.disableCreateObjectURL,verbosity:PDFJS.verbosity}))},getData:function(){return this.messageHandler.sendWithPromise("GetData",null)},getPage:function(a,b){if(0>=a||a>this.numPages||(0|a)!==a)return Promise.reject(new Error("Invalid page request"));var c=a-1;if(c in this.pagePromises)return this.pagePromises[c];var d=this.messageHandler.sendWithPromise("GetPage",{pageIndex:c}).then(function(a){if(this.destroyed)throw new Error("Transport destroyed");var b=new Y(c,a,this);return this.pageCache[c]=b,b}.bind(this));return this.pagePromises[c]=d,d},getPageIndex:function(a){return this.messageHandler.sendWithPromise("GetPageIndex",{ref:a})},getAnnotations:function(a){return this.messageHandler.sendWithPromise("GetAnnotations",{pageIndex:a})},getDestinations:function(){return this.messageHandler.sendWithPromise("GetDestinations",null)},getDestination:function(a){return this.messageHandler.sendWithPromise("GetDestination",{id:a})},getAttachments:function(){return this.messageHandler.sendWithPromise("GetAttachments",null)},getJavaScript:function(){return this.messageHandler.sendWithPromise("GetJavaScript",null)},getOutline:function(){return this.messageHandler.sendWithPromise("GetOutline",null)},getMetadata:function(){return this.messageHandler.sendWithPromise("GetMetadata",null).then(function(a){return{info:a[0],metadata:a[1]?new PDFJS.Metadata(a[1]):null}})},getStats:function(){return this.messageHandler.sendWithPromise("GetStats",null)},startCleanup:function(){this.messageHandler.sendWithPromise("Cleanup",null).then(function(){for(var a=0,b=this.pageCache.length;b>a;a++){var c=this.pageCache[a];c&&c.cleanup()}this.commonObjs.clear(),pa.clear()}.bind(this))}},c}(),$=function(){function a(){this.objs={}}return a.prototype={ensureObj:function(a){if(this.objs[a])return this.objs[a];var b={capability:s(),data:null,resolved:!1};return this.objs[a]=b,b},get:function(a,b){if(b)return this.ensureObj(a).capability.promise.then(b),null;var c=this.objs[a];return c&&c.resolved||d("Requesting object that isn't resolved yet "+a),c.data},resolve:function(a,b){var c=this.ensureObj(a);c.resolved=!0,c.data=b,c.capability.resolve(b)},isResolved:function(a){var b=this.objs;return b[a]?b[a].resolved:!1},hasData:function(a){return this.isResolved(a)},getData:function(a){var b=this.objs;return b[a]&&b[a].resolved?b[a].data:null},clear:function(){this.objs={}}},a}(),_=function(){function a(a){this._internalRenderTask=a,this.onContinue=null}return a.prototype={get promise(){return this._internalRenderTask.capability.promise},cancel:function(){this._internalRenderTask.cancel()},then:function(a,b){return this.promise.then.apply(this.promise,arguments)}},a}(),aa=function(){function a(a,b,c,d,e,f){this.callback=a,this.params=b,this.objs=c,this.commonObjs=d,this.operatorListIdx=null,this.operatorList=e,this.pageNumber=f,this.running=!1,this.graphicsReadyCallback=null,this.graphicsReady=!1,this.useRequestAnimationFrame=!1,this.cancelled=!1,this.capability=s(),this.task=new _(this),this._continueBound=this._continue.bind(this),this._scheduleNextBound=this._scheduleNext.bind(this),this._nextBound=this._next.bind(this)}return a.prototype={initalizeGraphics:function(a){if(!this.cancelled){PDFJS.pdfBug&&"StepperManager"in z&&z.StepperManager.enabled&&(this.stepper=z.StepperManager.create(this.pageNumber-1),this.stepper.init(this.operatorList),this.stepper.nextBreakPoint=this.stepper.getNextBreakPoint());var b=this.params;this.gfx=new ka(b.canvasContext,this.commonObjs,this.objs,b.imageLayer),this.gfx.beginDrawing(b.viewport,a),this.operatorListIdx=0,this.graphicsReady=!0,this.graphicsReadyCallback&&this.graphicsReadyCallback()}},cancel:function(){this.running=!1,this.cancelled=!0,this.callback("cancelled")},operatorListChanged:function(){return this.graphicsReady?(this.stepper&&this.stepper.updateOperatorList(this.operatorList),void(this.running||this._continue())):void(this.graphicsReadyCallback||(this.graphicsReadyCallback=this._continueBound))},_continue:function(){this.running=!0,this.cancelled||(this.task.onContinue?this.task.onContinue.call(this.task,this._scheduleNextBound):this._scheduleNext())},_scheduleNext:function(){this.useRequestAnimationFrame?window.requestAnimationFrame(this._nextBound):Promise.resolve(void 0).then(this._nextBound)},_next:function(){this.cancelled||(this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper),this.operatorListIdx===this.operatorList.argsArray.length&&(this.running=!1,this.operatorList.lastChunk&&(this.gfx.endDrawing(),this.callback())))}},a}(),ba=(PDFJS.Metadata=function(){function a(a){return a.replace(/>\\376\\377([^<]+)/g,function(a,b){for(var c=b.replace(/\\([0-3])([0-7])([0-7])/g,function(a,b,c,d){return String.fromCharCode(64*b+8*c+1*d)}),d="",e=0;e<c.length;e+=2){var f=256*c.charCodeAt(e)+c.charCodeAt(e+1);d+="&#x"+(65536+f).toString(16).substring(1)+";"}return">"+d})}function b(b){if("string"==typeof b){b=a(b);var c=new DOMParser;b=c.parseFromString(b,"application/xml")}else b instanceof Document||d("Metadata: Invalid metadata object");this.metaDocument=b,this.metadata={},this.parse()}return b.prototype={parse:function(){var a=this.metaDocument,b=a.documentElement;if("rdf:rdf"!==b.nodeName.toLowerCase())for(b=b.firstChild;b&&"rdf:rdf"!==b.nodeName.toLowerCase();)b=b.nextSibling;var c=b?b.nodeName.toLowerCase():null;if(b&&"rdf:rdf"===c&&b.hasChildNodes()){var d,e,f,g,h,i,j,k=b.childNodes;for(g=0,i=k.length;i>g;g++)if(d=k[g],"rdf:description"===d.nodeName.toLowerCase())for(h=0,j=d.childNodes.length;j>h;h++)"#text"!==d.childNodes[h].nodeName.toLowerCase()&&(e=d.childNodes[h],f=e.nodeName.toLowerCase(),this.metadata[f]=e.textContent.trim())}},get:function(a){return this.metadata[a]||null},has:function(a){return"undefined"!=typeof this.metadata[a]}},b}(),16),ca=100,da=4096,ea=.65,fa=!0,ga=1e3,ha=16,ia=function(){var a={};return{getCanvas:function(b,c,d,e){var f;if(void 0!==a[b])f=a[b],f.canvas.width=c,f.canvas.height=d,f.context.setTransform(1,0,0,1,0,0);else{var g=v(c,d),h=g.getContext("2d");e&&w(h),a[b]=f={canvas:g,context:h}}return f},clear:function(){for(var b in a){var c=a[b];c.canvas.width=0,c.canvas.height=0,delete a[b]}}}}(),ja=function(){function a(a){this.alphaIsShape=!1,this.fontSize=0,this.fontSizeScale=1,this.textMatrix=S,this.textMatrixScale=1,this.fontMatrix=B,this.leading=0,this.x=0,this.y=0,this.lineX=0,this.lineY=0,this.charSpacing=0,this.wordSpacing=0,this.textHScale=1,this.textRenderingMode=C.FILL,this.textRise=0,this.fillColor="#000000",this.strokeColor="#000000",this.patternFill=!1,this.fillAlpha=1,this.strokeAlpha=1,this.lineWidth=1,this.activeSMask=null,this.old=a}return a.prototype={clone:function(){return Object.create(this)},setCurrentPoint:function(a,b){this.x=a,this.y=b}},a}(),ka=function(){function c(a,b,c,d){this.ctx=a,this.current=new ja,this.stateStack=[],this.pendingClip=null,this.pendingEOFill=!1,this.res=null,this.xobjs=null,this.commonObjs=b,this.objs=c,this.imageLayer=d,this.groupStack=[],this.processingType3=null,this.baseTransform=null,this.baseTransformStack=[],this.groupLevel=0,this.smaskStack=[],this.smaskCounter=0,this.tempSMask=null,a&&w(a),this.cachedGetSinglePixelWidth=null}function e(a,b){if("undefined"!=typeof ImageData&&b instanceof ImageData)return void a.putImageData(b,0,0);var c,e,f,g,h,i=b.height,j=b.width,k=i%ha,l=(i-k)/ha,m=0===k?l:l+1,n=a.createImageData(j,ha),o=0,p=b.data,q=n.data;if(b.kind===D.GRAYSCALE_1BPP){var r=p.byteLength,s=PDFJS.hasCanvasTypedArrays?new Uint32Array(q.buffer):new R(q),t=s.length,u=j+7>>3,v=4294967295,w=PDFJS.isLittleEndian||!PDFJS.hasCanvasTypedArrays?4278190080:255;for(e=0;m>e;e++){for(g=l>e?ha:k,c=0,f=0;g>f;f++){for(var x=r-o,y=0,z=x>u?j:8*x-7,A=-8&z,B=0,C=0;A>y;y+=8)C=p[o++],s[c++]=128&C?v:w,s[c++]=64&C?v:w,s[c++]=32&C?v:w,s[c++]=16&C?v:w,s[c++]=8&C?v:w,s[c++]=4&C?v:w,s[c++]=2&C?v:w,s[c++]=1&C?v:w;for(;z>y;y++)0===B&&(C=p[o++],B=128),s[c++]=C&B?v:w,B>>=1}for(;t>c;)s[c++]=0;a.putImageData(n,0,e*ha)}}else if(b.kind===D.RGBA_32BPP){for(f=0,h=j*ha*4,e=0;l>e;e++)q.set(p.subarray(o,o+h)),o+=h,a.putImageData(n,0,f),f+=ha;m>e&&(h=j*k*4,q.set(p.subarray(o,o+h)),a.putImageData(n,0,f))}else if(b.kind===D.RGB_24BPP)for(g=ha,h=j*g,e=0;m>e;e++){for(e>=l&&(g=k,h=j*g),c=0,f=h;f--;)q[c++]=p[o++],q[c++]=p[o++],q[c++]=p[o++],q[c++]=255;a.putImageData(n,0,e*ha)}else d("bad image kind: "+b.kind)}function g(a,b){for(var c=b.height,d=b.width,e=c%ha,f=(c-e)/ha,g=0===e?f:f+1,h=a.createImageData(d,ha),i=0,j=b.data,k=h.data,l=0;g>l;l++){for(var m=f>l?ha:e,n=3,o=0;m>o;o++)for(var p=0,q=0;d>q;q++){if(!p){var r=j[i++];p=128}k[n]=r&p?0:255,n+=4,p>>=1}a.putImageData(h,0,l*ha)}}function h(a,b){for(var c=["strokeStyle","fillStyle","fillRule","globalAlpha","lineWidth","lineCap","lineJoin","miterLimit","globalCompositeOperation","font"],d=0,e=c.length;e>d;d++){var f=c[d];void 0!==a[f]&&(b[f]=a[f])}void 0!==a.setLineDash?(b.setLineDash(a.getLineDash()),b.lineDashOffset=a.lineDashOffset):void 0!==a.mozDashOffset&&(b.mozDash=a.mozDash,b.mozDashOffset=a.mozDashOffset)}function j(a,b,c,d){for(var e=a.length,f=3;e>f;f+=4){var g=a[f];if(0===g)a[f-3]=b,a[f-2]=c,a[f-1]=d;else if(255>g){var h=255-g;a[f-3]=a[f-3]*g+b*h>>8,a[f-2]=a[f-2]*g+c*h>>8,a[f-1]=a[f-1]*g+d*h>>8}}}function k(a,b){for(var c=a.length,d=1/255,e=3;c>e;e+=4){var f=a[e];b[e]=b[e]*f*d|0}}function l(a,b){for(var c=a.length,d=3;c>d;d+=4){var e=77*a[d-3]+152*a[d-2]+28*a[d-1];b[d]=b[d]*e>>16}}function m(a,b,c,d,e,f){var g,h=!!f,i=h?f[0]:0,m=h?f[1]:0,n=h?f[2]:0;g="Luminosity"===e?l:k;for(var o=1048576,p=Math.min(d,Math.ceil(o/c)),q=0;d>q;q+=p){var r=Math.min(p,d-q),s=a.getImageData(0,q,c,r),t=b.getImageData(0,q,c,r);h&&j(s.data,i,m,n),g(s.data,t.data),a.putImageData(t,0,q)}}function n(a,b,c){var d=b.canvas,e=b.context;a.setTransform(b.scaleX,0,0,b.scaleY,b.offsetX,b.offsetY);var f=b.backdrop||null;if(la.isEnabled){var g=la.composeSMask(c.canvas,d,{subtype:b.subtype,backdrop:f});return a.setTransform(1,0,0,1,0,0),void a.drawImage(g,b.offsetX,b.offsetY)}m(e,c,d.width,d.height,b.subtype,f),a.drawImage(d,0,0)}var o=15,r=10,s=["butt","round","square"],t=["miter","round","bevel"],u={},v={};c.prototype={beginDrawing:function(a,b){var c=this.ctx.canvas.width,d=this.ctx.canvas.height;b?this.ctx.clearRect(0,0,c,d):(this.ctx.mozOpaque=!0,this.ctx.save(),this.ctx.fillStyle="rgb(255, 255, 255)",this.ctx.fillRect(0,0,c,d),this.ctx.restore());var e=a.transform;this.ctx.save(),this.ctx.transform.apply(this.ctx,e),this.baseTransform=this.ctx.mozCurrentTransform.slice(),this.imageLayer&&this.imageLayer.beginLayout()},executeOperatorList:function(a,b,c,d){var e=a.argsArray,f=a.fnArray,g=b||0,h=e.length;if(h===g)return g;for(var i,j=h-g>r&&"function"==typeof c,k=j?Date.now()+o:0,l=0,m=this.commonObjs,n=this.objs;;){if(void 0!==d&&g===d.nextBreakPoint)return d.breakIt(g,c),g;if(i=f[g],i!==G.dependency)this[i].apply(this,e[g]);else for(var p=e[g],q=0,s=p.length;s>q;q++){var t=p[q],u="g"===t[0]&&"_"===t[1],v=u?m:n;if(!v.isResolved(t))return v.get(t,c),g}if(g++,g===h)return g;if(j&&++l>r){if(Date.now()>k)return c(),g;l=0}}},endDrawing:function(){this.ctx.restore(),ia.clear(),la.clear(),this.imageLayer&&this.imageLayer.endLayout()},setLineWidth:function(a){this.current.lineWidth=a,this.ctx.lineWidth=a},setLineCap:function(a){this.ctx.lineCap=s[a]},setLineJoin:function(a){this.ctx.lineJoin=t[a]},setMiterLimit:function(a){this.ctx.miterLimit=a},setDash:function(a,b){var c=this.ctx;void 0!==c.setLineDash?(c.setLineDash(a),c.lineDashOffset=b):(c.mozDash=a,c.mozDashOffset=b)},setRenderingIntent:function(a){},setFlatness:function(a){},setGState:function(a){for(var c=0,d=a.length;d>c;c++){var e=a[c],f=e[0],g=e[1];switch(f){case"LW":this.setLineWidth(g);break;case"LC":this.setLineCap(g);break;case"LJ":this.setLineJoin(g);break;case"ML":this.setMiterLimit(g);break;case"D":this.setDash(g[0],g[1]);break;case"RI":this.setRenderingIntent(g);break;case"FL":this.setFlatness(g);break;case"Font":this.setFont(g[0],g[1]);break;case"CA":this.current.strokeAlpha=e[1];break;case"ca":this.current.fillAlpha=e[1],this.ctx.globalAlpha=e[1];break;case"BM":if(g&&g.name&&"Normal"!==g.name){var h=g.name.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()}).substring(1);this.ctx.globalCompositeOperation=h,this.ctx.globalCompositeOperation!==h&&b('globalCompositeOperation "'+h+'" is not supported')}else this.ctx.globalCompositeOperation="source-over";break;case"SMask":this.current.activeSMask&&this.endSMaskGroup(),this.current.activeSMask=g?this.tempSMask:null,this.current.activeSMask&&this.beginSMaskGroup(),this.tempSMask=null}}},beginSMaskGroup:function(){var a=this.current.activeSMask,b=a.canvas.width,c=a.canvas.height,d="smaskGroupAt"+this.groupLevel,e=ia.getCanvas(d,b,c,!0),f=this.ctx,g=f.mozCurrentTransform;this.ctx.save();var i=e.context;i.scale(1/a.scaleX,1/a.scaleY),i.translate(-a.offsetX,-a.offsetY),i.transform.apply(i,g),h(f,i),this.ctx=i,this.setGState([["BM","Normal"],["ca",1],["CA",1]]),this.groupStack.push(f),this.groupLevel++},endSMaskGroup:function(){var a=this.ctx;this.groupLevel--,this.ctx=this.groupStack.pop(),n(this.ctx,this.current.activeSMask,a),this.ctx.restore()},save:function(){this.ctx.save();var a=this.current;this.stateStack.push(a),this.current=a.clone(),this.current.activeSMask=null},restore:function(){0!==this.stateStack.length&&(null!==this.current.activeSMask&&this.endSMaskGroup(),this.current=this.stateStack.pop(),this.ctx.restore(),this.pendingClip=null,this.cachedGetSinglePixelWidth=null)},transform:function(a,b,c,d,e,f){this.ctx.transform(a,b,c,d,e,f),this.cachedGetSinglePixelWidth=null},constructPath:function(a,b){for(var c=this.ctx,d=this.current,e=d.x,f=d.y,g=0,h=0,i=a.length;i>g;g++)switch(0|a[g]){case G.rectangle:e=b[h++],f=b[h++];var j=b[h++],k=b[h++];0===j&&(j=this.getSinglePixelWidth()),0===k&&(k=this.getSinglePixelWidth());var l=e+j,m=f+k;this.ctx.moveTo(e,f),this.ctx.lineTo(l,f),this.ctx.lineTo(l,m),this.ctx.lineTo(e,m),this.ctx.lineTo(e,f),this.ctx.closePath();break;case G.moveTo:e=b[h++],f=b[h++],c.moveTo(e,f);break;case G.lineTo:e=b[h++],f=b[h++],c.lineTo(e,f);break;case G.curveTo:e=b[h+4],f=b[h+5],c.bezierCurveTo(b[h],b[h+1],b[h+2],b[h+3],e,f),h+=6;break;case G.curveTo2:c.bezierCurveTo(e,f,b[h],b[h+1],b[h+2],b[h+3]),e=b[h+2],f=b[h+3],h+=4;break;case G.curveTo3:e=b[h+2],f=b[h+3],c.bezierCurveTo(b[h],b[h+1],e,f,e,f),h+=4;break;case G.closePath:c.closePath()}d.setCurrentPoint(e,f)},closePath:function(){this.ctx.closePath()},stroke:function(a){a="undefined"!=typeof a?a:!0;var b=this.ctx,c=this.current.strokeColor;b.lineWidth=Math.max(this.getSinglePixelWidth()*ea,this.current.lineWidth),b.globalAlpha=this.current.strokeAlpha,c&&c.hasOwnProperty("type")&&"Pattern"===c.type?(b.save(),b.strokeStyle=c.getPattern(b,this),b.stroke(),b.restore()):b.stroke(),a&&this.consumePath(),b.globalAlpha=this.current.fillAlpha},closeStroke:function(){this.closePath(),this.stroke()},fill:function(a){a="undefined"!=typeof a?a:!0;var b=this.ctx,c=this.current.fillColor,d=this.current.patternFill,e=!1;d&&(b.save(),b.fillStyle=c.getPattern(b,this),e=!0),this.pendingEOFill?(void 0!==b.mozFillRule?(b.mozFillRule="evenodd",b.fill(),b.mozFillRule="nonzero"):b.fill("evenodd"),this.pendingEOFill=!1):b.fill(),e&&b.restore(),a&&this.consumePath()},eoFill:function(){this.pendingEOFill=!0,this.fill()},fillStroke:function(){this.fill(!1),this.stroke(!1),this.consumePath()},eoFillStroke:function(){this.pendingEOFill=!0,this.fillStroke()},closeFillStroke:function(){this.closePath(),this.fillStroke()},closeEOFillStroke:function(){this.pendingEOFill=!0,this.closePath(),this.fillStroke()},endPath:function(){this.consumePath()},clip:function(){this.pendingClip=u},eoClip:function(){this.pendingClip=v},beginText:function(){this.current.textMatrix=S,this.current.textMatrixScale=1,this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0},endText:function(){var a=this.pendingTextPaths,b=this.ctx;if(void 0===a)return void b.beginPath();b.save(),b.beginPath();for(var c=0;c<a.length;c++){var d=a[c];b.setTransform.apply(b,d.transform),b.translate(d.x,d.y),d.addToPath(b,d.fontSize)}b.restore(),b.clip(),b.beginPath(),delete this.pendingTextPaths},setCharSpacing:function(a){this.current.charSpacing=a},setWordSpacing:function(a){this.current.wordSpacing=a},setHScale:function(a){this.current.textHScale=a/100},setLeading:function(a){this.current.leading=-a},setFont:function(a,c){var e=this.commonObjs.get(a),f=this.current;if(e||d("Can't find font for "+a),f.fontMatrix=e.fontMatrix?e.fontMatrix:B,(0===f.fontMatrix[0]||0===f.fontMatrix[3])&&b("Invalid font matrix for font "+a),0>c?(c=-c,f.fontDirection=-1):f.fontDirection=1,this.current.font=e,this.current.fontSize=c,!e.isType3Font){var g=e.loadedName||"sans-serif",h=e.black?e.bold?"900":"bold":e.bold?"bold":"normal",i=e.italic?"italic":"normal",j='"'+g+'", '+e.fallbackName,k=ba>c?ba:c>ca?ca:c;this.current.fontSizeScale=c/k;var l=i+" "+h+" "+k+"px "+j;this.ctx.font=l}},setTextRenderingMode:function(a){this.current.textRenderingMode=a},setTextRise:function(a){this.current.textRise=a},moveText:function(a,b){this.current.x=this.current.lineX+=a,this.current.y=this.current.lineY+=b},setLeadingMoveText:function(a,b){this.setLeading(-b),this.moveText(a,b)},setTextMatrix:function(a,b,c,d,e,f){this.current.textMatrix=[a,b,c,d,e,f],this.current.textMatrixScale=Math.sqrt(a*a+b*b),this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0},nextLine:function(){this.moveText(0,this.current.leading)},paintChar:function(a,b,c){var d,e=this.ctx,f=this.current,g=f.font,h=f.textRenderingMode,i=f.fontSize/f.fontSizeScale,j=h&C.FILL_STROKE_MASK,k=!!(h&C.ADD_TO_PATH_FLAG);if((g.disableFontFace||k)&&(d=g.getPathGenerator(this.commonObjs,a)),g.disableFontFace?(e.save(),e.translate(b,c),e.beginPath(),d(e,i),(j===C.FILL||j===C.FILL_STROKE)&&e.fill(),(j===C.STROKE||j===C.FILL_STROKE)&&e.stroke(),e.restore()):((j===C.FILL||j===C.FILL_STROKE)&&e.fillText(a,b,c),(j===C.STROKE||j===C.FILL_STROKE)&&e.strokeText(a,b,c)),k){var l=this.pendingTextPaths||(this.pendingTextPaths=[]);l.push({transform:e.mozCurrentTransform,x:b,y:c,fontSize:i,addToPath:d})}},get isFontSubpixelAAEnabled(){var a=document.createElement("canvas").getContext("2d");a.scale(1.5,1),a.fillText("I",0,10);for(var b=a.getImageData(0,0,10,10).data,c=!1,d=3;d<b.length;d+=4)if(b[d]>0&&b[d]<255){c=!0;break}return i(this,"isFontSubpixelAAEnabled",c)},showText:function(a){var b=this.current,c=b.font;if(c.isType3Font)return this.showType3Text(a);var d=b.fontSize;if(0!==d){var e=this.ctx,f=b.fontSizeScale,g=b.charSpacing,h=b.wordSpacing,i=b.fontDirection,j=b.textHScale*i,k=a.length,l=c.vertical,m=l?1:-1,n=c.defaultVMetrics,o=d*b.fontMatrix[0],q=b.textRenderingMode===C.FILL&&!c.disableFontFace;e.save(),e.transform.apply(e,b.textMatrix),e.translate(b.x,b.y+b.textRise),i>0?e.scale(j,-1):e.scale(j,1);var r=b.lineWidth,s=b.textMatrixScale;if(0===s||0===r){var t=b.textRenderingMode&C.FILL_STROKE_MASK;(t===C.STROKE||t===C.FILL_STROKE)&&(this.cachedGetSinglePixelWidth=null,r=this.getSinglePixelWidth()*ea)}else r/=s;1!==f&&(e.scale(f,f),r/=f),e.lineWidth=r;var u,v=0;for(u=0;k>u;++u){var w=a[u];if(null!==w)if(p(w))v+=m*w*d/1e3;else{var x,y,z,A,B=!1,D=w.fontChar,E=w.accent,F=w.width;if(l){var G,H,I;G=w.vmetric||n,H=w.vmetric?G[1]:.5*F,H=-H*o,I=G[2]*o,F=G?-G[0]:F,x=H/f,y=(v+I)/f}else x=v/f,y=0;if(c.remeasure&&F>0&&this.isFontSubpixelAAEnabled){var J=1e3*e.measureText(D).width/d*f,K=F/J;B=!0,e.save(),e.scale(K,1),x/=K}q&&!E?e.fillText(D,x,y):(this.paintChar(D,x,y),E&&(z=x+E.offset.x/f,A=y-E.offset.y/f,this.paintChar(E.fontChar,z,A)));var L=F*o+g*i;v+=L,B&&e.restore()}else v+=i*h}l?b.y-=v*j:b.x+=v*j,e.restore()}},showType3Text:function(a){var c,d,e,f,g=this.ctx,h=this.current,i=h.font,j=h.fontSize,k=h.fontDirection,l=i.vertical?1:-1,m=h.charSpacing,n=h.wordSpacing,o=h.textHScale*k,q=h.fontMatrix||B,r=a.length,s=h.textRenderingMode===C.INVISIBLE;if(!s&&0!==j){for(this.cachedGetSinglePixelWidth=null,g.save(),g.transform.apply(g,h.textMatrix),g.translate(h.x,h.y),g.scale(o,k),c=0;r>c;++c)if(d=a[c],null!==d)if(p(d))f=l*d*j/1e3,this.ctx.translate(f,0),h.x+=f*o;else{var t=i.charProcOperatorList[d.operatorListId];if(t){this.processingType3=d,this.save(),g.scale(j,j),g.transform.apply(g,q),this.executeOperatorList(t),this.restore();var u=T.applyTransform([d.width,0],q);e=u[0]*j+m,g.translate(e,0),h.x+=e*o}else b('Type3 character "'+d.operatorListId+'" is not available')}else this.ctx.translate(n,0),h.x+=n*o;g.restore(),this.processingType3=null}},setCharWidth:function(a,b){},setCharWidthAndBounds:function(a,b,c,d,e,f){this.ctx.rect(c,d,e-c,f-d),this.clip(),this.endPath()},getColorN_Pattern:function(a){var b;if("TilingPattern"===a[0]){var c=a[1],d=this.baseTransform||this.ctx.mozCurrentTransform.slice();b=new oa(a,c,this.ctx,this.objs,this.commonObjs,d)}else b=y(a);return b},setStrokeColorN:function(){this.current.strokeColor=this.getColorN_Pattern(arguments)},setFillColorN:function(){this.current.fillColor=this.getColorN_Pattern(arguments),this.current.patternFill=!0},setStrokeRGBColor:function(a,b,c){var d=T.makeCssRgb(a,b,c);this.ctx.strokeStyle=d,this.current.strokeColor=d},setFillRGBColor:function(a,b,c){var d=T.makeCssRgb(a,b,c);this.ctx.fillStyle=d,this.current.fillColor=d,this.current.patternFill=!1},shadingFill:function(a){var b=this.ctx;this.save();var c=y(a);b.fillStyle=c.getPattern(b,this,!0);var d=b.mozCurrentTransformInverse;if(d){var e=b.canvas,f=e.width,g=e.height,h=T.applyTransform([0,0],d),i=T.applyTransform([0,g],d),j=T.applyTransform([f,0],d),k=T.applyTransform([f,g],d),l=Math.min(h[0],i[0],j[0],k[0]),m=Math.min(h[1],i[1],j[1],k[1]),n=Math.max(h[0],i[0],j[0],k[0]),o=Math.max(h[1],i[1],j[1],k[1]);this.ctx.fillRect(l,m,n-l,o-m)}else this.ctx.fillRect(-1e10,-1e10,2e10,2e10);this.restore()},beginInlineImage:function(){d("Should not call beginInlineImage")},beginImageData:function(){d("Should not call beginImageData")},paintFormXObjectBegin:function(a,b){if(this.save(),this.baseTransformStack.push(this.baseTransform),q(a)&&6===a.length&&this.transform.apply(this,a),this.baseTransform=this.ctx.mozCurrentTransform,q(b)&&4===b.length){var c=b[2]-b[0],d=b[3]-b[1];this.ctx.rect(b[0],b[1],c,d),this.clip(),this.endPath()}},paintFormXObjectEnd:function(){this.restore(),this.baseTransform=this.baseTransformStack.pop()},beginGroup:function(c){this.save();var d=this.ctx;c.isolated||a("TODO: Support non-isolated groups."),
-c.knockout&&b("Knockout groups not supported.");var e=d.mozCurrentTransform;c.matrix&&d.transform.apply(d,c.matrix),f(c.bbox,"Bounding box is required.");var g=T.getAxialAlignedBoundingBox(c.bbox,d.mozCurrentTransform),i=[0,0,d.canvas.width,d.canvas.height];g=T.intersect(g,i)||[0,0,0,0];var j=Math.floor(g[0]),k=Math.floor(g[1]),l=Math.max(Math.ceil(g[2])-j,1),m=Math.max(Math.ceil(g[3])-k,1),n=1,o=1;l>da&&(n=l/da,l=da),m>da&&(o=m/da,m=da);var p="groupAt"+this.groupLevel;c.smask&&(p+="_smask_"+this.smaskCounter++%2);var q=ia.getCanvas(p,l,m,!0),r=q.context;r.scale(1/n,1/o),r.translate(-j,-k),r.transform.apply(r,e),c.smask?this.smaskStack.push({canvas:q.canvas,context:r,offsetX:j,offsetY:k,scaleX:n,scaleY:o,subtype:c.smask.subtype,backdrop:c.smask.backdrop}):(d.setTransform(1,0,0,1,0,0),d.translate(j,k),d.scale(n,o)),h(d,r),this.ctx=r,this.setGState([["BM","Normal"],["ca",1],["CA",1]]),this.groupStack.push(d),this.groupLevel++},endGroup:function(a){this.groupLevel--;var b=this.ctx;this.ctx=this.groupStack.pop(),void 0!==this.ctx.imageSmoothingEnabled?this.ctx.imageSmoothingEnabled=!1:this.ctx.mozImageSmoothingEnabled=!1,a.smask?this.tempSMask=this.smaskStack.pop():this.ctx.drawImage(b.canvas,0,0),this.restore()},beginAnnotations:function(){this.save(),this.current=new ja},endAnnotations:function(){this.restore()},beginAnnotation:function(a,b,c){if(this.save(),q(a)&&4===a.length){var d=a[2]-a[0],e=a[3]-a[1];this.ctx.rect(a[0],a[1],d,e),this.clip(),this.endPath()}this.transform.apply(this,b),this.transform.apply(this,c)},endAnnotation:function(){this.restore()},paintJpegXObject:function(a,c,d){var e=this.objs.get(a);if(!e)return void b("Dependent image isn't ready yet");this.save();var f=this.ctx;if(f.scale(1/c,-1/d),f.drawImage(e,0,0,e.width,e.height,0,-d,c,d),this.imageLayer){var g=f.mozCurrentTransformInverse,h=this.getCanvasPosition(0,0);this.imageLayer.appendImage({objId:a,left:h[0],top:h[1],width:c/g[0],height:d/g[3]})}this.restore()},paintImageMaskXObject:function(a){var b=this.ctx,c=a.width,d=a.height,e=this.current.fillColor,f=this.current.patternFill,h=this.processingType3;if(fa&&h&&void 0===h.compiled&&(ga>=c&&ga>=d?h.compiled=x({data:a.data,width:c,height:d}):h.compiled=null),h&&h.compiled)return void h.compiled(b);var i=ia.getCanvas("maskCanvas",c,d),j=i.context;j.save(),g(j,a),j.globalCompositeOperation="source-in",j.fillStyle=f?e.getPattern(j,this):e,j.fillRect(0,0,c,d),j.restore(),this.paintInlineImageXObject(i.canvas)},paintImageMaskXObjectRepeat:function(a,b,c,d){var e=a.width,f=a.height,h=this.current.fillColor,i=this.current.patternFill,j=ia.getCanvas("maskCanvas",e,f),k=j.context;k.save(),g(k,a),k.globalCompositeOperation="source-in",k.fillStyle=i?h.getPattern(k,this):h,k.fillRect(0,0,e,f),k.restore();for(var l=this.ctx,m=0,n=d.length;n>m;m+=2)l.save(),l.transform(b,0,0,c,d[m],d[m+1]),l.scale(1,-1),l.drawImage(j.canvas,0,0,e,f,0,-1,1,1),l.restore()},paintImageMaskXObjectGroup:function(a){for(var b=this.ctx,c=this.current.fillColor,d=this.current.patternFill,e=0,f=a.length;f>e;e++){var h=a[e],i=h.width,j=h.height,k=ia.getCanvas("maskCanvas",i,j),l=k.context;l.save(),g(l,h),l.globalCompositeOperation="source-in",l.fillStyle=d?c.getPattern(l,this):c,l.fillRect(0,0,i,j),l.restore(),b.save(),b.transform.apply(b,h.transform),b.scale(1,-1),b.drawImage(k.canvas,0,0,i,j,0,-1,1,1),b.restore()}},paintImageXObject:function(a){var c=this.objs.get(a);return c?void this.paintInlineImageXObject(c):void b("Dependent image isn't ready yet")},paintImageXObjectRepeat:function(a,c,d,e){var f=this.objs.get(a);if(!f)return void b("Dependent image isn't ready yet");for(var g=f.width,h=f.height,i=[],j=0,k=e.length;k>j;j+=2)i.push({transform:[c,0,0,d,e[j],e[j+1]],x:0,y:0,w:g,h:h});this.paintInlineImageXObjectGroup(f,i)},paintInlineImageXObject:function(a){var b=a.width,c=a.height,d=this.ctx;this.save(),d.scale(1/b,-1/c);var f,g,h=d.mozCurrentTransformInverse,i=h[0],j=h[1],k=Math.max(Math.sqrt(i*i+j*j),1),l=h[2],m=h[3],n=Math.max(Math.sqrt(l*l+m*m),1);if(a instanceof HTMLElement||!a.data)f=a;else{g=ia.getCanvas("inlineImage",b,c);var o=g.context;e(o,a),f=g.canvas}for(var p=b,q=c,r="prescale1";k>2&&p>1||n>2&&q>1;){var s=p,t=q;k>2&&p>1&&(s=Math.ceil(p/2),k/=p/s),n>2&&q>1&&(t=Math.ceil(q/2),n/=q/t),g=ia.getCanvas(r,s,t),o=g.context,o.clearRect(0,0,s,t),o.drawImage(f,0,0,p,q,0,0,s,t),f=g.canvas,p=s,q=t,r="prescale1"===r?"prescale2":"prescale1"}if(d.drawImage(f,0,0,p,q,0,-c,b,c),this.imageLayer){var u=this.getCanvasPosition(0,-c);this.imageLayer.appendImage({imgData:a,left:u[0],top:u[1],width:b/h[0],height:c/h[3]})}this.restore()},paintInlineImageXObjectGroup:function(a,b){var c=this.ctx,d=a.width,f=a.height,g=ia.getCanvas("inlineImage",d,f),h=g.context;e(h,a);for(var i=0,j=b.length;j>i;i++){var k=b[i];if(c.save(),c.transform.apply(c,k.transform),c.scale(1,-1),c.drawImage(g.canvas,k.x,k.y,k.w,k.h,0,-1,1,1),this.imageLayer){var l=this.getCanvasPosition(k.x,k.y);this.imageLayer.appendImage({imgData:a,left:l[0],top:l[1],width:d,height:f})}c.restore()}},paintSolidColorImageMask:function(){this.ctx.fillRect(0,0,1,1)},paintXObject:function(){I.notify(H.unknown),b("Unsupported 'paintXObject' command.")},markPoint:function(a){},markPointProps:function(a,b){},beginMarkedContent:function(a){},beginMarkedContentProps:function(a,b){},endMarkedContent:function(){},beginCompat:function(){},endCompat:function(){},consumePath:function(){var a=this.ctx;this.pendingClip&&(this.pendingClip===v?void 0!==a.mozFillRule?(a.mozFillRule="evenodd",a.clip(),a.mozFillRule="nonzero"):a.clip("evenodd"):a.clip(),this.pendingClip=null),a.beginPath()},getSinglePixelWidth:function(a){if(null===this.cachedGetSinglePixelWidth){var b=this.ctx.mozCurrentTransformInverse;this.cachedGetSinglePixelWidth=Math.sqrt(Math.max(b[0]*b[0]+b[1]*b[1],b[2]*b[2]+b[3]*b[3]))}return this.cachedGetSinglePixelWidth},getCanvasPosition:function(a,b){var c=this.ctx.mozCurrentTransform;return[c[0]*a+c[2]*b+c[4],c[1]*a+c[3]*b+c[5]]}};for(var z in G)c.prototype[G[z]]=c.prototype[z];return c}(),la=function(){function a(a,b,c){var d=a.createShader(c);a.shaderSource(d,b),a.compileShader(d);var e=a.getShaderParameter(d,a.COMPILE_STATUS);if(!e){var f=a.getShaderInfoLog(d);throw new Error("Error during shader compilation: "+f)}return d}function b(b,c){return a(b,c,b.VERTEX_SHADER)}function c(b,c){return a(b,c,b.FRAGMENT_SHADER)}function d(a,b){for(var c=a.createProgram(),d=0,e=b.length;e>d;++d)a.attachShader(c,b[d]);a.linkProgram(c);var f=a.getProgramParameter(c,a.LINK_STATUS);if(!f){var g=a.getProgramInfoLog(c);throw new Error("Error during program linking: "+g)}return c}function e(a,b,c){a.activeTexture(c);var d=a.createTexture();return a.bindTexture(a.TEXTURE_2D,d),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.NEAREST),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.NEAREST),a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,b),d}function f(){m||(n=document.createElement("canvas"),m=n.getContext("webgl",{premultipliedalpha:!1}))}function g(){var a,e;f(),a=n,n=null,e=m,m=null;var g=b(e,o),h=c(e,p),i=d(e,[g,h]);e.useProgram(i);var j={};j.gl=e,j.canvas=a,j.resolutionLocation=e.getUniformLocation(i,"u_resolution"),j.positionLocation=e.getAttribLocation(i,"a_position"),j.backdropLocation=e.getUniformLocation(i,"u_backdrop"),j.subtypeLocation=e.getUniformLocation(i,"u_subtype");var k=e.getAttribLocation(i,"a_texCoord"),l=e.getUniformLocation(i,"u_image"),r=e.getUniformLocation(i,"u_mask"),s=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,s),e.bufferData(e.ARRAY_BUFFER,new Float32Array([0,0,1,0,0,1,0,1,1,0,1,1]),e.STATIC_DRAW),e.enableVertexAttribArray(k),e.vertexAttribPointer(k,2,e.FLOAT,!1,0,0),e.uniform1i(l,0),e.uniform1i(r,1),q=j}function h(a,b,c){var d=a.width,f=a.height;q||g();var h=q,i=h.canvas,j=h.gl;i.width=d,i.height=f,j.viewport(0,0,j.drawingBufferWidth,j.drawingBufferHeight),j.uniform2f(h.resolutionLocation,d,f),c.backdrop?j.uniform4f(h.resolutionLocation,c.backdrop[0],c.backdrop[1],c.backdrop[2],1):j.uniform4f(h.resolutionLocation,0,0,0,0),j.uniform1i(h.subtypeLocation,"Luminosity"===c.subtype?1:0);var k=e(j,a,j.TEXTURE0),l=e(j,b,j.TEXTURE1),m=j.createBuffer();return j.bindBuffer(j.ARRAY_BUFFER,m),j.bufferData(j.ARRAY_BUFFER,new Float32Array([0,0,d,0,0,f,0,f,d,0,d,f]),j.STATIC_DRAW),j.enableVertexAttribArray(h.positionLocation),j.vertexAttribPointer(h.positionLocation,2,j.FLOAT,!1,0,0),j.clearColor(0,0,0,0),j.enable(j.BLEND),j.blendFunc(j.ONE,j.ONE_MINUS_SRC_ALPHA),j.clear(j.COLOR_BUFFER_BIT),j.drawArrays(j.TRIANGLES,0,6),j.flush(),j.deleteTexture(k),j.deleteTexture(l),j.deleteBuffer(m),i}function j(){var a,e;f(),a=n,n=null,e=m,m=null;var g=b(e,r),h=c(e,s),i=d(e,[g,h]);e.useProgram(i);var j={};j.gl=e,j.canvas=a,j.resolutionLocation=e.getUniformLocation(i,"u_resolution"),j.scaleLocation=e.getUniformLocation(i,"u_scale"),j.offsetLocation=e.getUniformLocation(i,"u_offset"),j.positionLocation=e.getAttribLocation(i,"a_position"),j.colorLocation=e.getAttribLocation(i,"a_color"),t=j}function k(a,b,c,d,e){t||j();var f=t,g=f.canvas,h=f.gl;g.width=a,g.height=b,h.viewport(0,0,h.drawingBufferWidth,h.drawingBufferHeight),h.uniform2f(f.resolutionLocation,a,b);var i,k,l,m=0;for(i=0,k=d.length;k>i;i++)switch(d[i].type){case"lattice":l=d[i].coords.length/d[i].verticesPerRow|0,m+=(l-1)*(d[i].verticesPerRow-1)*6;break;case"triangles":m+=d[i].coords.length}var n=new Float32Array(2*m),o=new Uint8Array(3*m),p=e.coords,q=e.colors,r=0,s=0;for(i=0,k=d.length;k>i;i++){var u=d[i],v=u.coords,w=u.colors;switch(u.type){case"lattice":var x=u.verticesPerRow;l=v.length/x|0;for(var y=1;l>y;y++)for(var z=y*x+1,A=1;x>A;A++,z++)n[r]=p[v[z-x-1]],n[r+1]=p[v[z-x-1]+1],n[r+2]=p[v[z-x]],n[r+3]=p[v[z-x]+1],n[r+4]=p[v[z-1]],n[r+5]=p[v[z-1]+1],o[s]=q[w[z-x-1]],o[s+1]=q[w[z-x-1]+1],o[s+2]=q[w[z-x-1]+2],o[s+3]=q[w[z-x]],o[s+4]=q[w[z-x]+1],o[s+5]=q[w[z-x]+2],o[s+6]=q[w[z-1]],o[s+7]=q[w[z-1]+1],o[s+8]=q[w[z-1]+2],n[r+6]=n[r+2],n[r+7]=n[r+3],n[r+8]=n[r+4],n[r+9]=n[r+5],n[r+10]=p[v[z]],n[r+11]=p[v[z]+1],o[s+9]=o[s+3],o[s+10]=o[s+4],o[s+11]=o[s+5],o[s+12]=o[s+6],o[s+13]=o[s+7],o[s+14]=o[s+8],o[s+15]=q[w[z]],o[s+16]=q[w[z]+1],o[s+17]=q[w[z]+2],r+=12,s+=18;break;case"triangles":for(var B=0,C=v.length;C>B;B++)n[r]=p[v[B]],n[r+1]=p[v[B]+1],o[s]=q[w[B]],o[s+1]=q[w[B]+1],o[s+2]=q[w[B]+2],r+=2,s+=3}}c?h.clearColor(c[0]/255,c[1]/255,c[2]/255,1):h.clearColor(0,0,0,0),h.clear(h.COLOR_BUFFER_BIT);var D=h.createBuffer();h.bindBuffer(h.ARRAY_BUFFER,D),h.bufferData(h.ARRAY_BUFFER,n,h.STATIC_DRAW),h.enableVertexAttribArray(f.positionLocation),h.vertexAttribPointer(f.positionLocation,2,h.FLOAT,!1,0,0);var E=h.createBuffer();return h.bindBuffer(h.ARRAY_BUFFER,E),h.bufferData(h.ARRAY_BUFFER,o,h.STATIC_DRAW),h.enableVertexAttribArray(f.colorLocation),h.vertexAttribPointer(f.colorLocation,3,h.UNSIGNED_BYTE,!1,0,0),h.uniform2f(f.scaleLocation,e.scaleX,e.scaleY),h.uniform2f(f.offsetLocation,e.offsetX,e.offsetY),h.drawArrays(h.TRIANGLES,0,m),h.flush(),h.deleteBuffer(D),h.deleteBuffer(E),g}function l(){q&&q.canvas&&(q.canvas.width=0,q.canvas.height=0),t&&t.canvas&&(t.canvas.width=0,t.canvas.height=0),q=null,t=null}var m,n,o="  attribute vec2 a_position;                                      attribute vec2 a_texCoord;                                                                                                      uniform vec2 u_resolution;                                                                                                      varying vec2 v_texCoord;                                                                                                        void main() {                                                     vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0;       gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);                                                                              v_texCoord = a_texCoord;                                      }                                                             ",p="  precision mediump float;                                                                                                        uniform vec4 u_backdrop;                                        uniform int u_subtype;                                          uniform sampler2D u_image;                                      uniform sampler2D u_mask;                                                                                                       varying vec2 v_texCoord;                                                                                                        void main() {                                                     vec4 imageColor = texture2D(u_image, v_texCoord);               vec4 maskColor = texture2D(u_mask, v_texCoord);                 if (u_backdrop.a > 0.0) {                                         maskColor.rgb = maskColor.rgb * maskColor.a +                                   u_backdrop.rgb * (1.0 - maskColor.a);         }                                                               float lum;                                                      if (u_subtype == 0) {                                             lum = maskColor.a;                                            } else {                                                          lum = maskColor.r * 0.3 + maskColor.g * 0.59 +                        maskColor.b * 0.11;                                     }                                                               imageColor.a *= lum;                                            imageColor.rgb *= imageColor.a;                                 gl_FragColor = imageColor;                                    }                                                             ",q=null,r="  attribute vec2 a_position;                                      attribute vec3 a_color;                                                                                                         uniform vec2 u_resolution;                                      uniform vec2 u_scale;                                           uniform vec2 u_offset;                                                                                                          varying vec4 v_color;                                                                                                           void main() {                                                     vec2 position = (a_position + u_offset) * u_scale;              vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0;         gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);                                                                              v_color = vec4(a_color / 255.0, 1.0);                         }                                                             ",s="  precision mediump float;                                                                                                        varying vec4 v_color;                                                                                                           void main() {                                                     gl_FragColor = v_color;                                       }                                                             ",t=null;return{get isEnabled(){if(PDFJS.disableWebGL)return!1;var a=!1;try{f(),a=!!m}catch(b){}return i(this,"isEnabled",a)},composeSMask:h,drawFigures:k,clear:l}}(),ma={};ma.RadialAxial={fromIR:function(a){var b=a[1],c=a[2],d=a[3],e=a[4],f=a[5],g=a[6];return{type:"Pattern",getPattern:function(a){var h;"axial"===b?h=a.createLinearGradient(d[0],d[1],e[0],e[1]):"radial"===b&&(h=a.createRadialGradient(d[0],d[1],f,e[0],e[1],g));for(var i=0,j=c.length;j>i;++i){var k=c[i];h.addColorStop(k[0],k[1])}return h}}}};var na=function(){function a(a,b,c,d,e,f,g,h){var i,j=b.coords,k=b.colors,l=a.data,m=4*a.width;j[c+1]>j[d+1]&&(i=c,c=d,d=i,i=f,f=g,g=i),j[d+1]>j[e+1]&&(i=d,d=e,e=i,i=g,g=h,h=i),j[c+1]>j[d+1]&&(i=c,c=d,d=i,i=f,f=g,g=i);var n=(j[c]+b.offsetX)*b.scaleX,o=(j[c+1]+b.offsetY)*b.scaleY,p=(j[d]+b.offsetX)*b.scaleX,q=(j[d+1]+b.offsetY)*b.scaleY,r=(j[e]+b.offsetX)*b.scaleX,s=(j[e+1]+b.offsetY)*b.scaleY;if(!(o>=s))for(var t,u,v,w,x,y,z,A,B,C=k[f],D=k[f+1],E=k[f+2],F=k[g],G=k[g+1],H=k[g+2],I=k[h],J=k[h+1],K=k[h+2],L=Math.round(o),M=Math.round(s),N=L;M>=N;N++){q>N?(B=o>N?0:o===q?1:(o-N)/(o-q),t=n-(n-p)*B,u=C-(C-F)*B,v=D-(D-G)*B,w=E-(E-H)*B):(B=N>s?1:q===s?0:(q-N)/(q-s),t=p-(p-r)*B,u=F-(F-I)*B,v=G-(G-J)*B,w=H-(H-K)*B),B=o>N?0:N>s?1:(o-N)/(o-s),x=n-(n-r)*B,y=C-(C-I)*B,z=D-(D-J)*B,A=E-(E-K)*B;for(var O=Math.round(Math.min(t,x)),P=Math.round(Math.max(t,x)),Q=m*N+4*O,R=O;P>=R;R++)B=(t-R)/(t-x),B=0>B?0:B>1?1:B,l[Q++]=u-(u-y)*B|0,l[Q++]=v-(v-z)*B|0,l[Q++]=w-(w-A)*B|0,l[Q++]=255}}function b(b,c,e){var f,g,h=c.coords,i=c.colors;switch(c.type){case"lattice":var j=c.verticesPerRow,k=Math.floor(h.length/j)-1,l=j-1;for(f=0;k>f;f++)for(var m=f*j,n=0;l>n;n++,m++)a(b,e,h[m],h[m+1],h[m+j],i[m],i[m+1],i[m+j]),a(b,e,h[m+j+1],h[m+1],h[m+j],i[m+j+1],i[m+1],i[m+j]);break;case"triangles":for(f=0,g=h.length;g>f;f+=3)a(b,e,h[f],h[f+1],h[f+2],i[f],i[f+1],i[f+2]);break;default:d("illigal figure")}}function c(a,c,d,e,f,g){var h,i,j,k,l=1.1,m=3e3,n=Math.floor(a[0]),o=Math.floor(a[1]),p=Math.ceil(a[2])-n,q=Math.ceil(a[3])-o,r=Math.min(Math.ceil(Math.abs(p*c[0]*l)),m),s=Math.min(Math.ceil(Math.abs(q*c[1]*l)),m),t=p/r,u=q/s,v={coords:d,colors:e,offsetX:-n,offsetY:-o,scaleX:1/t,scaleY:1/u};if(la.isEnabled)h=la.drawFigures(r,s,g,f,v),i=ia.getCanvas("mesh",r,s,!1),i.context.drawImage(h,0,0),h=i.canvas;else{i=ia.getCanvas("mesh",r,s,!1);var w=i.context,x=w.createImageData(r,s);if(g){var y=x.data;for(j=0,k=y.length;k>j;j+=4)y[j]=g[0],y[j+1]=g[1],y[j+2]=g[2],y[j+3]=255}for(j=0;j<f.length;j++)b(x,f[j],v);w.putImageData(x,0,0),h=i.canvas}return{canvas:h,offsetX:n,offsetY:o,scaleX:t,scaleY:u}}return c}();ma.Mesh={fromIR:function(a){var b=a[2],c=a[3],d=a[4],e=a[5],f=a[6],g=a[8];return{type:"Pattern",getPattern:function(a,h,i){var j;if(i)j=T.singularValueDecompose2dScale(a.mozCurrentTransform);else if(j=T.singularValueDecompose2dScale(h.baseTransform),f){var k=T.singularValueDecompose2dScale(f);j=[j[0]*k[0],j[1]*k[1]]}var l=na(e,j,b,c,d,i?null:g);return i||(a.setTransform.apply(a,h.baseTransform),f&&a.transform.apply(a,f)),a.translate(l.offsetX,l.offsetY),a.scale(l.scaleX,l.scaleY),a.createPattern(l.canvas,"no-repeat")}}}},ma.Dummy={fromIR:function(){return{type:"Pattern",getPattern:function(){return"hotpink"}}}};var oa=function(){function b(a,b,c,d,e,f){this.operatorList=a[2],this.matrix=a[3]||[1,0,0,1,0,0],this.bbox=a[4],this.xstep=a[5],this.ystep=a[6],this.paintType=a[7],this.tilingType=a[8],this.color=b,this.objs=d,this.commonObjs=e,this.baseTransform=f,this.type="Pattern",this.ctx=c}var c={COLORED:1,UNCOLORED:2},e=3e3;return b.prototype={createPatternCanvas:function(b){var c=this.operatorList,d=this.bbox,f=this.xstep,g=this.ystep,h=this.paintType,i=this.tilingType,j=this.color,k=this.objs,l=this.commonObjs;a("TilingType: "+i);var m=d[0],n=d[1],o=d[2],p=d[3],q=[m,n],r=[m+f,n+g],s=r[0]-q[0],t=r[1]-q[1],u=T.singularValueDecompose2dScale(this.matrix),v=T.singularValueDecompose2dScale(this.baseTransform),w=[u[0]*v[0],u[1]*v[1]];s=Math.min(Math.ceil(Math.abs(s*w[0])),e),t=Math.min(Math.ceil(Math.abs(t*w[1])),e);var x=ia.getCanvas("pattern",s,t,!0),y=x.context,z=new ka(y,l,k);z.groupLevel=b.groupLevel,this.setFillAndStrokeStyleToContext(y,h,j),this.setScale(s,t,f,g),this.transformToScale(z);var A=[1,0,0,1,-q[0],-q[1]];return z.transform.apply(z,A),this.clipBbox(z,d,m,n,o,p),z.executeOperatorList(c),x.canvas},setScale:function(a,b,c,d){this.scale=[a/c,b/d]},transformToScale:function(a){var b=this.scale,c=[b[0],0,0,b[1],0,0];a.transform.apply(a,c)},scaleToContext:function(){var a=this.scale;this.ctx.scale(1/a[0],1/a[1])},clipBbox:function(a,b,c,d,e,f){if(b&&q(b)&&4===b.length){var g=e-c,h=f-d;a.ctx.rect(c,d,g,h),a.clip(),a.endPath()}},setFillAndStrokeStyleToContext:function(a,b,e){switch(b){case c.COLORED:var f=this.ctx;a.fillStyle=f.fillStyle,a.strokeStyle=f.strokeStyle;break;case c.UNCOLORED:var g=T.makeCssRgb(e[0],e[1],e[2]);a.fillStyle=g,a.strokeStyle=g;break;default:d("Unsupported paint type: "+b)}},getPattern:function(a,b){var c=this.createPatternCanvas(b);return a=this.ctx,a.setTransform.apply(a,this.baseTransform),a.transform.apply(a,this.matrix),this.scaleToContext(),a.createPattern(c,"repeat")}},b}();PDFJS.disableFontFace=!1;var pa={insertRule:function(a){var b=document.getElementById("PDFJS_FONT_STYLE_TAG");b||(b=document.createElement("style"),b.id="PDFJS_FONT_STYLE_TAG",document.documentElement.getElementsByTagName("head")[0].appendChild(b));var c=b.sheet;c.insertRule(a,c.cssRules.length)},clear:function(){var a=document.getElementById("PDFJS_FONT_STYLE_TAG");a&&a.parentNode.removeChild(a),this.nativeFontFaces.forEach(function(a){document.fonts["delete"](a)}),this.nativeFontFaces.length=0},get loadTestFont(){return i(this,"loadTestFont",atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA=="))},get isEvalSupported(){var a=!1;if(PDFJS.isEvalSupported)try{new Function(""),a=!0}catch(b){}return i(this,"isEvalSupported",a)},loadTestFontId:0,loadingContext:{requests:[],nextRequestId:0},isSyncFontLoadingSupported:function(){if(A)return!1;var a=window.navigator.userAgent,b=/Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(a);return b&&b[1]>=14?!0:"node"===a?!0:!1}(),nativeFontFaces:[],isFontLoadingAPISupported:!A&&"undefined"!=typeof document&&!!document.fonts,addNativeFontFace:function(a){this.nativeFontFaces.push(a),document.fonts.add(a)},bind:function(a,c){f(!A,"bind() shall be called from main thread");for(var d=[],e=[],g=[],h=function(a){return a.loaded["catch"](function(c){b('Failed to load font "'+a.family+'": '+c)})},i=0,j=a.length;j>i;i++){var k=a[i];if(!k.attached&&k.loading!==!1)if(k.attached=!0,this.isFontLoadingAPISupported){var l=k.createNativeFontFace();l&&g.push(h(l))}else{var m=k.bindDOM();m&&(d.push(m),e.push(k))}}var n=pa.queueLoadingCallback(c);this.isFontLoadingAPISupported?Promise.all(g).then(function(){n.complete()}):d.length>0&&!this.isSyncFontLoadingSupported?pa.prepareFontLoadEvent(d,e,n):n.complete()},queueLoadingCallback:function(a){function b(){for(f(!e.end,"completeRequest() cannot be called twice"),e.end=Date.now();c.requests.length>0&&c.requests[0].end;){var a=c.requests.shift();setTimeout(a.callback,0)}}var c=pa.loadingContext,d="pdfjs-font-loading-"+c.nextRequestId++,e={id:d,complete:b,callback:a,started:Date.now()};return c.requests.push(e),e},prepareFontLoadEvent:function(a,c,d){function e(a,b){return a.charCodeAt(b)<<24|a.charCodeAt(b+1)<<16|a.charCodeAt(b+2)<<8|255&a.charCodeAt(b+3)}function f(a,b,c,d){var e=a.substr(0,b),f=a.substr(b+c);return e+d+f}function g(a,c){if(l++,l>30)return b("Load test font never loaded."),void c();k.font="30px "+a,k.fillText(".",0,20);var d=k.getImageData(0,0,1,1);return d.data[3]>0?void c():void setTimeout(g.bind(null,a,c))}var h,i,j=document.createElement("canvas");j.width=1,j.height=1;var k=j.getContext("2d"),l=0,n="lt"+Date.now()+this.loadTestFontId++,o=this.loadTestFont,p=976;o=f(o,p,n.length,n);var q=16,r=1482184792,s=e(o,q);for(h=0,i=n.length-3;i>h;h+=4)s=s-r+e(n,h)|0;h<n.length&&(s=s-r+e(n+"XXX",h)|0),o=f(o,q,4,m(s));var t="url(data:font/opentype;base64,"+btoa(o)+");",u='@font-face { font-family:"'+n+'";src:'+t+"}";pa.insertRule(u);var v=[];for(h=0,i=c.length;i>h;h++)v.push(c[h].loadedName);v.push(n);var w=document.createElement("div");for(w.setAttribute("style","visibility: hidden;width: 10px; height: 10px;position: absolute; top: 0px; left: 0px;"),h=0,i=v.length;i>h;++h){var x=document.createElement("span");x.textContent="Hi",x.style.fontFamily=v[h],w.appendChild(x)}document.body.appendChild(w),g(n,function(){document.body.removeChild(w),d.complete()})}},qa=function(){function a(a,b,c){if(this.compiledGlyphs={},1!==arguments.length);else{var d=arguments[0];for(var e in d)this[e]=d[e]}}return a.prototype={createNativeFontFace:function(){if(!this.data)return null;if(PDFJS.disableFontFace)return this.disableFontFace=!0,null;var a=new FontFace(this.loadedName,this.data,{});return pa.addNativeFontFace(a),PDFJS.pdfBug&&"FontInspector"in z&&z.FontInspector.enabled&&z.FontInspector.fontAdded(this),a},bindDOM:function(){if(!this.data)return null;if(PDFJS.disableFontFace)return this.disableFontFace=!0,null;var a=k(new Uint8Array(this.data)),b=this.loadedName,c="url(data:"+this.mimetype+";base64,"+window.btoa(a)+");",d='@font-face { font-family:"'+b+'";src:'+c+"}";return pa.insertRule(d),PDFJS.pdfBug&&"FontInspector"in z&&z.FontInspector.enabled&&z.FontInspector.fontAdded(this,c),d},getPathGenerator:function(a,b){if(!(b in this.compiledGlyphs)){var c,d,e,f=a.get(this.loadedName+"_path_"+b);if(pa.isEvalSupported){var g,h="";for(d=0,e=f.length;e>d;d++)c=f[d],g=void 0!==c.args?c.args.join(","):"",h+="c."+c.cmd+"("+g+");\n";this.compiledGlyphs[b]=new Function("c","size",h)}else this.compiledGlyphs[b]=function(a,b){for(d=0,e=f.length;e>d;d++)c=f[d],"scale"===c.cmd&&(c.args=[b,-b]),a[c.cmd].apply(a,c.args)}}return this.compiledGlyphs[b]}},a}(),ra=10,sa=function(){function a(a,b,c){var d=a.style;if(d.fontSize=b.fontSize+"px",d.direction=b.fontDirection<0?"rtl":"ltr",c){d.fontWeight=c.black?c.bold?"bolder":"bold":c.bold?"bold":"normal",d.fontStyle=c.italic?"italic":"normal";var e=c.loadedName,f=e?'"'+e+'", ':"",g=c.fallbackName||"Helvetica, sans-serif";d.fontFamily=f+g}}function c(a){var c=document.createElement("section"),d=c.style,e=a.rect[2]-a.rect[0],f=a.rect[3]-a.rect[1];if(a.borderStyle.width>0){c.style.borderWidth=a.borderStyle.width+"px",a.borderStyle.style!==F.UNDERLINE&&(e-=2*a.borderStyle.width,f-=2*a.borderStyle.width);var g=a.borderStyle.horizontalCornerRadius,h=a.borderStyle.verticalCornerRadius;if(g>0||h>0){var i=g+"px / "+h+"px";CustomStyle.setProp("borderRadius",c,i)}switch(a.borderStyle.style){case F.SOLID:c.style.borderStyle="solid";break;case F.DASHED:c.style.borderStyle="dashed";break;case F.BEVELED:b("Unimplemented border style: beveled");break;case F.INSET:b("Unimplemented border style: inset");break;case F.UNDERLINE:c.style.borderBottomStyle="solid"}a.color?c.style.borderColor=T.makeCssRgb(0|a.color[0],0|a.color[1],0|a.color[2]):c.style.borderWidth=0}return d.width=e+"px",d.height=f+"px",c}function d(b,c){var d=document.createElement("div"),e=b.rect[2]-b.rect[0],f=b.rect[3]-b.rect[1];d.style.width=e+"px",d.style.height=f+"px",d.style.display="table";var g=document.createElement("div");g.textContent=b.fieldValue;var h=b.textAlignment;g.style.textAlign=["left","center","right"][h],g.style.verticalAlign="middle",g.style.display="table-cell";var i=b.fontRefName?c.getData(b.fontRefName):null;return a(g,b,i),d.appendChild(g),d}function e(a){var b=a.rect;b[3]-b[1]<ra&&(b[3]=b[1]+ra),b[2]-b[0]<ra&&(b[2]=b[0]+(b[3]-b[1]));var d=c(a);d.className="annotText";var e=document.createElement("img");e.style.height=d.style.height,e.style.width=d.style.width;var f=a.name;e.src=PDFJS.imageResourcesPath+"annotation-"+f.toLowerCase()+".svg",e.alt="[{{type}} Annotation]",e.dataset.l10nId="text_annotation_type",e.dataset.l10nArgs=JSON.stringify({type:f});var g=document.createElement("div");g.className="annotTextContentWrapper",g.style.left=Math.floor(b[2]-b[0]+5)+"px",g.style.top="-10px";var h=document.createElement("div");h.className="annotTextContent",h.setAttribute("hidden",!0);var i,j;if(a.hasBgColor&&a.color){var k=a.color,l=.7,m=l*(255-k[0])+k[0],n=l*(255-k[1])+k[1],o=l*(255-k[2])+k[2];h.style.backgroundColor=T.makeCssRgb(0|m,0|n,0|o)}var p=document.createElement("h1"),q=document.createElement("p");if(p.textContent=a.title,a.content||a.title){var r=document.createElement("span"),s=a.content.split(/(?:\r\n?|\n)/);for(i=0,j=s.length;j>i;++i){var t=s[i];r.appendChild(document.createTextNode(t)),j-1>i&&r.appendChild(document.createElement("br"))}q.appendChild(r);var u=!1,v=function(a){a&&(u=!0),h.hasAttribute("hidden")&&(d.style.zIndex+=1,h.removeAttribute("hidden"))},w=function(a){a&&(u=!1),h.hasAttribute("hidden")||u||(d.style.zIndex-=1,h.setAttribute("hidden",!0))},x=function(){u?w(!0):v(!0)};e.addEventListener("click",function(){x()},!1),e.addEventListener("mouseover",function(){v()},!1),e.addEventListener("mouseout",function(){w()},!1),h.addEventListener("click",function(){w(!0)},!1)}else h.setAttribute("hidden",!0);return h.appendChild(p),h.appendChild(q),g.appendChild(h),d.appendChild(e),d.appendChild(g),d}function f(a){var b=c(a);b.className="annotLink";var d=document.createElement("a");return d.href=d.title=a.url||"",a.url&&j()&&(d.target=K[PDFJS.externalLinkTarget]),b.appendChild(d),b}function g(a,b){switch(a.annotationType){case E.WIDGET:return d(a,b);case E.TEXT:return e(a);case E.LINK:return f(a);default:throw new Error("Unsupported annotationType: "+a.annotationType)}}return{getHtmlElement:g}}();PDFJS.AnnotationUtils=sa;var ta={fontStyle:"normal",fontWeight:"normal",fillColor:"#000000"},ua=function(){function a(a,b,c){for(var d=-1,e=b;c>e;e++){var f=255&(d^a[e]),h=g[f];d=d>>>8^h}return-1^d}function b(b,c,d,e){var f=e,g=c.length;d[f]=g>>24&255,d[f+1]=g>>16&255,d[f+2]=g>>8&255,d[f+3]=255&g,f+=4,d[f]=255&b.charCodeAt(0),d[f+1]=255&b.charCodeAt(1),d[f+2]=255&b.charCodeAt(2),d[f+3]=255&b.charCodeAt(3),f+=4,d.set(c,f),f+=c.length;var h=a(d,e+4,f);d[f]=h>>24&255,d[f+1]=h>>16&255,d[f+2]=h>>8&255,d[f+3]=255&h}function c(a,b,c){for(var d=1,e=0,f=b;c>f;++f)d=(d+(255&a[f]))%65521,e=(e+d)%65521;return e<<16|d}function d(a,d){var g,h,i,j=a.width,k=a.height,l=a.data;switch(d){case D.GRAYSCALE_1BPP:h=0,g=1,i=j+7>>3;break;case D.RGB_24BPP:h=2,g=8,i=3*j;break;case D.RGBA_32BPP:h=6,g=8,i=4*j;break;default:throw new Error("invalid format")}var m,n,o=new Uint8Array((1+i)*k),p=0,q=0;for(m=0;k>m;++m)o[p++]=0,o.set(l.subarray(q,q+i),p),q+=i,p+=i;if(d===D.GRAYSCALE_1BPP)for(p=0,m=0;k>m;m++)for(p++,n=0;i>n;n++)o[p++]^=255;var r=new Uint8Array([j>>24&255,j>>16&255,j>>8&255,255&j,k>>24&255,k>>16&255,k>>8&255,255&k,g,h,0,0,0]),s=o.length,t=65535,u=Math.ceil(s/t),v=new Uint8Array(2+s+5*u+4),w=0;v[w++]=120,v[w++]=156;for(var x=0;s>t;)v[w++]=0,v[w++]=255,v[w++]=255,v[w++]=0,v[w++]=0,v.set(o.subarray(x,x+t),w),w+=t,x+=t,s-=t;v[w++]=1,v[w++]=255&s,v[w++]=s>>8&255,v[w++]=65535&~s&255,v[w++]=(65535&~s)>>8&255,v.set(o.subarray(x),w),w+=o.length-x;var y=c(o,0,o.length);v[w++]=y>>24&255,v[w++]=y>>16&255,v[w++]=y>>8&255,v[w++]=255&y;var z=e.length+3*f+r.length+v.length,A=new Uint8Array(z),B=0;return A.set(e,B),B+=e.length,b("IHDR",r,A,B),B+=f+r.length,b("IDATA",v,A,B),B+=f+v.length,b("IEND",new Uint8Array(0),A,B),
-PDFJS.createObjectURL(A,"image/png")}for(var e=new Uint8Array([137,80,78,71,13,10,26,10]),f=12,g=new Int32Array(256),h=0;256>h;h++){for(var i=h,j=0;8>j;j++)i=1&i?3988292384^i>>1&2147483647:i>>1&2147483647;g[h]=i}return function(a){var b=void 0===a.kind?D.GRAYSCALE_1BPP:a.kind;return d(a,b)}}(),va=function(){function a(){this.fontSizeScale=1,this.fontWeight=ta.fontWeight,this.fontSize=0,this.textMatrix=S,this.fontMatrix=B,this.leading=0,this.x=0,this.y=0,this.lineX=0,this.lineY=0,this.charSpacing=0,this.wordSpacing=0,this.textHScale=1,this.textRise=0,this.fillColor=ta.fillColor,this.strokeColor="#000000",this.fillAlpha=1,this.strokeAlpha=1,this.lineWidth=1,this.lineJoin="",this.lineCap="",this.miterLimit=0,this.dashArray=[],this.dashPhase=0,this.dependencies=[],this.clipId="",this.pendingClip=!1,this.maskId=""}return a.prototype={clone:function(){return Object.create(this)},setCurrentPoint:function(a,b){this.x=a,this.y=b}},a}(),wa=function(){function a(a,b){var c="http://www.w3.org/2000/svg",d=document.createElementNS(c,"svg:svg");return d.setAttributeNS(null,"version","1.1"),d.setAttributeNS(null,"width",a+"px"),d.setAttributeNS(null,"height",b+"px"),d.setAttributeNS(null,"viewBox","0 0 "+a+" "+b),d}function c(a){for(var b=[],c=[],d=a.length,e=0;d>e;e++)"save"!==a[e].fn?"restore"===a[e].fn?b=c.pop():b.push(a[e]):(b.push({fnId:92,fn:"group",items:[]}),c.push(b),b=b[b.length-1].items);return b}function d(a){if(a===(0|a))return a.toString();var b=a.toFixed(10),c=b.length-1;if("0"!==b[c])return b;do c--;while("0"===b[c]);return b.substr(0,"."===b[c]?c:c+1)}function e(a){if(0===a[4]&&0===a[5]){if(0===a[1]&&0===a[2])return 1===a[0]&&1===a[3]?"":"scale("+d(a[0])+" "+d(a[3])+")";if(a[0]===a[3]&&a[1]===-a[2]){var b=180*Math.acos(a[0])/Math.PI;return"rotate("+d(b)+")"}}else if(1===a[0]&&0===a[1]&&0===a[2]&&1===a[3])return"translate("+d(a[4])+" "+d(a[5])+")";return"matrix("+d(a[0])+" "+d(a[1])+" "+d(a[2])+" "+d(a[3])+" "+d(a[4])+" "+d(a[5])+")"}function f(a,b){this.current=new va,this.transformMatrix=S,this.transformStack=[],this.extraStack=[],this.commonObjs=a,this.objs=b,this.pendingEOFill=!1,this.embedFonts=!1,this.embeddedFonts={},this.cssStyle=null}var g="http://www.w3.org/2000/svg",h="http://www.w3.org/XML/1998/namespace",i="http://www.w3.org/1999/xlink",j=["butt","round","square"],k=["miter","round","bevel"],l=0,m=0;return f.prototype={save:function(){this.transformStack.push(this.transformMatrix);var a=this.current;this.extraStack.push(a),this.current=a.clone()},restore:function(){this.transformMatrix=this.transformStack.pop(),this.current=this.extraStack.pop(),this.tgrp=document.createElementNS(g,"svg:g"),this.tgrp.setAttributeNS(null,"transform",e(this.transformMatrix)),this.pgrp.appendChild(this.tgrp)},group:function(a){this.save(),this.executeOpTree(a),this.restore()},loadDependencies:function(a){for(var b=a.fnArray,c=b.length,d=a.argsArray,e=this,f=0;c>f;f++)if(G.dependency===b[f])for(var g=d[f],h=0,i=g.length;i>h;h++){var j,k=g[h],l="g_"===k.substring(0,2);j=l?new Promise(function(a){e.commonObjs.get(k,a)}):new Promise(function(a){e.objs.get(k,a)}),this.current.dependencies.push(j)}return Promise.all(this.current.dependencies)},transform:function(a,b,c,d,f,h){var i=[a,b,c,d,f,h];this.transformMatrix=PDFJS.Util.transform(this.transformMatrix,i),this.tgrp=document.createElementNS(g,"svg:g"),this.tgrp.setAttributeNS(null,"transform",e(this.transformMatrix))},getSVG:function(b,c){return this.svg=a(c.width,c.height),this.viewport=c,this.loadDependencies(b).then(function(){this.transformMatrix=S,this.pgrp=document.createElementNS(g,"svg:g"),this.pgrp.setAttributeNS(null,"transform",e(c.transform)),this.tgrp=document.createElementNS(g,"svg:g"),this.tgrp.setAttributeNS(null,"transform",e(this.transformMatrix)),this.defs=document.createElementNS(g,"svg:defs"),this.pgrp.appendChild(this.defs),this.pgrp.appendChild(this.tgrp),this.svg.appendChild(this.pgrp);var a=this.convertOpList(b);return this.executeOpTree(a),this.svg}.bind(this))},convertOpList:function(a){var b=a.argsArray,d=a.fnArray,e=d.length,f=[],g=[];for(var h in G)f[G[h]]=h;for(var i=0;e>i;i++){var j=d[i];g.push({fnId:j,fn:f[j],args:b[i]})}return c(g)},executeOpTree:function(a){for(var c=a.length,d=0;c>d;d++){var e=a[d].fn,f=a[d].fnId,g=a[d].args;switch(0|f){case G.beginText:this.beginText();break;case G.setLeading:this.setLeading(g);break;case G.setLeadingMoveText:this.setLeadingMoveText(g[0],g[1]);break;case G.setFont:this.setFont(g);break;case G.showText:this.showText(g[0]);break;case G.showSpacedText:this.showText(g[0]);break;case G.endText:this.endText();break;case G.moveText:this.moveText(g[0],g[1]);break;case G.setCharSpacing:this.setCharSpacing(g[0]);break;case G.setWordSpacing:this.setWordSpacing(g[0]);break;case G.setHScale:this.setHScale(g[0]);break;case G.setTextMatrix:this.setTextMatrix(g[0],g[1],g[2],g[3],g[4],g[5]);break;case G.setLineWidth:this.setLineWidth(g[0]);break;case G.setLineJoin:this.setLineJoin(g[0]);break;case G.setLineCap:this.setLineCap(g[0]);break;case G.setMiterLimit:this.setMiterLimit(g[0]);break;case G.setFillRGBColor:this.setFillRGBColor(g[0],g[1],g[2]);break;case G.setStrokeRGBColor:this.setStrokeRGBColor(g[0],g[1],g[2]);break;case G.setDash:this.setDash(g[0],g[1]);break;case G.setGState:this.setGState(g[0]);break;case G.fill:this.fill();break;case G.eoFill:this.eoFill();break;case G.stroke:this.stroke();break;case G.fillStroke:this.fillStroke();break;case G.eoFillStroke:this.eoFillStroke();break;case G.clip:this.clip("nonzero");break;case G.eoClip:this.clip("evenodd");break;case G.paintSolidColorImageMask:this.paintSolidColorImageMask();break;case G.paintJpegXObject:this.paintJpegXObject(g[0],g[1],g[2]);break;case G.paintImageXObject:this.paintImageXObject(g[0]);break;case G.paintInlineImageXObject:this.paintInlineImageXObject(g[0]);break;case G.paintImageMaskXObject:this.paintImageMaskXObject(g[0]);break;case G.paintFormXObjectBegin:this.paintFormXObjectBegin(g[0],g[1]);break;case G.paintFormXObjectEnd:this.paintFormXObjectEnd();break;case G.closePath:this.closePath();break;case G.closeStroke:this.closeStroke();break;case G.closeFillStroke:this.closeFillStroke();break;case G.nextLine:this.nextLine();break;case G.transform:this.transform(g[0],g[1],g[2],g[3],g[4],g[5]);break;case G.constructPath:this.constructPath(g[0],g[1]);break;case G.endPath:this.endPath();break;case 92:this.group(a[d].items);break;default:b("Unimplemented method "+e)}}},setWordSpacing:function(a){this.current.wordSpacing=a},setCharSpacing:function(a){this.current.charSpacing=a},nextLine:function(){this.moveText(0,this.current.leading)},setTextMatrix:function(a,b,c,e,f,h){var i=this.current;this.current.textMatrix=this.current.lineMatrix=[a,b,c,e,f,h],this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0,i.xcoords=[],i.tspan=document.createElementNS(g,"svg:tspan"),i.tspan.setAttributeNS(null,"font-family",i.fontFamily),i.tspan.setAttributeNS(null,"font-size",d(i.fontSize)+"px"),i.tspan.setAttributeNS(null,"y",d(-i.y)),i.txtElement=document.createElementNS(g,"svg:text"),i.txtElement.appendChild(i.tspan)},beginText:function(){this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0,this.current.textMatrix=S,this.current.lineMatrix=S,this.current.tspan=document.createElementNS(g,"svg:tspan"),this.current.txtElement=document.createElementNS(g,"svg:text"),this.current.txtgrp=document.createElementNS(g,"svg:g"),this.current.xcoords=[]},moveText:function(a,b){var c=this.current;this.current.x=this.current.lineX+=a,this.current.y=this.current.lineY+=b,c.xcoords=[],c.tspan=document.createElementNS(g,"svg:tspan"),c.tspan.setAttributeNS(null,"font-family",c.fontFamily),c.tspan.setAttributeNS(null,"font-size",d(c.fontSize)+"px"),c.tspan.setAttributeNS(null,"y",d(-c.y))},showText:function(a){var b=this.current,c=b.font,f=b.fontSize;if(0!==f){var g,i=b.charSpacing,j=b.wordSpacing,k=b.fontDirection,l=b.textHScale*k,m=a.length,n=c.vertical,o=f*b.fontMatrix[0],q=0;for(g=0;m>g;++g){var r=a[g];if(null!==r)if(p(r))q+=-r*f*.001;else{b.xcoords.push(b.x+q*l);var s=r.width,t=r.fontChar,u=s*o+i*k;q+=u,b.tspan.textContent+=t}else q+=k*j}n?b.y-=q*l:b.x+=q*l,b.tspan.setAttributeNS(null,"x",b.xcoords.map(d).join(" ")),b.tspan.setAttributeNS(null,"y",d(-b.y)),b.tspan.setAttributeNS(null,"font-family",b.fontFamily),b.tspan.setAttributeNS(null,"font-size",d(b.fontSize)+"px"),b.fontStyle!==ta.fontStyle&&b.tspan.setAttributeNS(null,"font-style",b.fontStyle),b.fontWeight!==ta.fontWeight&&b.tspan.setAttributeNS(null,"font-weight",b.fontWeight),b.fillColor!==ta.fillColor&&b.tspan.setAttributeNS(null,"fill",b.fillColor),b.txtElement.setAttributeNS(null,"transform",e(b.textMatrix)+" scale(1, -1)"),b.txtElement.setAttributeNS(h,"xml:space","preserve"),b.txtElement.appendChild(b.tspan),b.txtgrp.appendChild(b.txtElement),this.tgrp.appendChild(b.txtElement)}},setLeadingMoveText:function(a,b){this.setLeading(-b),this.moveText(a,b)},addFontStyle:function(a){this.cssStyle||(this.cssStyle=document.createElementNS(g,"svg:style"),this.cssStyle.setAttributeNS(null,"type","text/css"),this.defs.appendChild(this.cssStyle));var b=PDFJS.createObjectURL(a.data,a.mimetype);this.cssStyle.textContent+='@font-face { font-family: "'+a.loadedName+'"; src: url('+b+"); }\n"},setFont:function(a){var b=this.current,c=this.commonObjs.get(a[0]),e=a[1];this.current.font=c,this.embedFonts&&c.data&&!this.embeddedFonts[c.loadedName]&&(this.addFontStyle(c),this.embeddedFonts[c.loadedName]=c),b.fontMatrix=c.fontMatrix?c.fontMatrix:B;var f=c.black?c.bold?"bolder":"bold":c.bold?"bold":"normal",h=c.italic?"italic":"normal";0>e?(e=-e,b.fontDirection=-1):b.fontDirection=1,b.fontSize=e,b.fontFamily=c.loadedName,b.fontWeight=f,b.fontStyle=h,b.tspan=document.createElementNS(g,"svg:tspan"),b.tspan.setAttributeNS(null,"y",d(-b.y)),b.xcoords=[]},endText:function(){this.current.pendingClip?(this.cgrp.appendChild(this.tgrp),this.pgrp.appendChild(this.cgrp)):this.pgrp.appendChild(this.tgrp),this.tgrp=document.createElementNS(g,"svg:g"),this.tgrp.setAttributeNS(null,"transform",e(this.transformMatrix))},setLineWidth:function(a){this.current.lineWidth=a},setLineCap:function(a){this.current.lineCap=j[a]},setLineJoin:function(a){this.current.lineJoin=k[a]},setMiterLimit:function(a){this.current.miterLimit=a},setStrokeRGBColor:function(a,b,c){var d=T.makeCssRgb(a,b,c);this.current.strokeColor=d},setFillRGBColor:function(a,b,c){var d=T.makeCssRgb(a,b,c);this.current.fillColor=d,this.current.tspan=document.createElementNS(g,"svg:tspan"),this.current.xcoords=[]},setDash:function(a,b){this.current.dashArray=a,this.current.dashPhase=b},constructPath:function(a,b){var c=this.current,e=c.x,f=c.y;c.path=document.createElementNS(g,"svg:path");for(var h=[],i=a.length,j=0,k=0;i>j;j++)switch(0|a[j]){case G.rectangle:e=b[k++],f=b[k++];var l=b[k++],m=b[k++],n=e+l,o=f+m;h.push("M",d(e),d(f),"L",d(n),d(f),"L",d(n),d(o),"L",d(e),d(o),"Z");break;case G.moveTo:e=b[k++],f=b[k++],h.push("M",d(e),d(f));break;case G.lineTo:e=b[k++],f=b[k++],h.push("L",d(e),d(f));break;case G.curveTo:e=b[k+4],f=b[k+5],h.push("C",d(b[k]),d(b[k+1]),d(b[k+2]),d(b[k+3]),d(e),d(f)),k+=6;break;case G.curveTo2:e=b[k+2],f=b[k+3],h.push("C",d(e),d(f),d(b[k]),d(b[k+1]),d(b[k+2]),d(b[k+3])),k+=4;break;case G.curveTo3:e=b[k+2],f=b[k+3],h.push("C",d(b[k]),d(b[k+1]),d(e),d(f),d(e),d(f)),k+=4;break;case G.closePath:h.push("Z")}c.path.setAttributeNS(null,"d",h.join(" ")),c.path.setAttributeNS(null,"stroke-miterlimit",d(c.miterLimit)),c.path.setAttributeNS(null,"stroke-linecap",c.lineCap),c.path.setAttributeNS(null,"stroke-linejoin",c.lineJoin),c.path.setAttributeNS(null,"stroke-width",d(c.lineWidth)+"px"),c.path.setAttributeNS(null,"stroke-dasharray",c.dashArray.map(d).join(" ")),c.path.setAttributeNS(null,"stroke-dashoffset",d(c.dashPhase)+"px"),c.path.setAttributeNS(null,"fill","none"),this.tgrp.appendChild(c.path),c.pendingClip?(this.cgrp.appendChild(this.tgrp),this.pgrp.appendChild(this.cgrp)):this.pgrp.appendChild(this.tgrp),c.element=c.path,c.setCurrentPoint(e,f)},endPath:function(){var a=this.current;a.pendingClip?(this.cgrp.appendChild(this.tgrp),this.pgrp.appendChild(this.cgrp)):this.pgrp.appendChild(this.tgrp),this.tgrp=document.createElementNS(g,"svg:g"),this.tgrp.setAttributeNS(null,"transform",e(this.transformMatrix))},clip:function(a){var b=this.current;b.clipId="clippath"+l,l++,this.clippath=document.createElementNS(g,"svg:clipPath"),this.clippath.setAttributeNS(null,"id",b.clipId);var c=b.element.cloneNode();"evenodd"===a?c.setAttributeNS(null,"clip-rule","evenodd"):c.setAttributeNS(null,"clip-rule","nonzero"),this.clippath.setAttributeNS(null,"transform",e(this.transformMatrix)),this.clippath.appendChild(c),this.defs.appendChild(this.clippath),b.pendingClip=!0,this.cgrp=document.createElementNS(g,"svg:g"),this.cgrp.setAttributeNS(null,"clip-path","url(#"+b.clipId+")"),this.pgrp.appendChild(this.cgrp)},closePath:function(){var a=this.current,b=a.path.getAttributeNS(null,"d");b+="Z",a.path.setAttributeNS(null,"d",b)},setLeading:function(a){this.current.leading=-a},setTextRise:function(a){this.current.textRise=a},setHScale:function(a){this.current.textHScale=a/100},setGState:function(a){for(var b=0,c=a.length;c>b;b++){var d=a[b],e=d[0],f=d[1];switch(e){case"LW":this.setLineWidth(f);break;case"LC":this.setLineCap(f);break;case"LJ":this.setLineJoin(f);break;case"ML":this.setMiterLimit(f);break;case"D":this.setDash(f[0],f[1]);break;case"RI":break;case"FL":break;case"Font":this.setFont(f);break;case"CA":break;case"ca":break;case"BM":break;case"SMask":}}},fill:function(){var a=this.current;a.element.setAttributeNS(null,"fill",a.fillColor)},stroke:function(){var a=this.current;a.element.setAttributeNS(null,"stroke",a.strokeColor),a.element.setAttributeNS(null,"fill","none")},eoFill:function(){var a=this.current;a.element.setAttributeNS(null,"fill",a.fillColor),a.element.setAttributeNS(null,"fill-rule","evenodd")},fillStroke:function(){this.stroke(),this.fill()},eoFillStroke:function(){this.current.element.setAttributeNS(null,"fill-rule","evenodd"),this.fillStroke()},closeStroke:function(){this.closePath(),this.stroke()},closeFillStroke:function(){this.closePath(),this.fillStroke()},paintSolidColorImageMask:function(){var a=this.current,b=document.createElementNS(g,"svg:rect");b.setAttributeNS(null,"x","0"),b.setAttributeNS(null,"y","0"),b.setAttributeNS(null,"width","1px"),b.setAttributeNS(null,"height","1px"),b.setAttributeNS(null,"fill",a.fillColor),this.tgrp.appendChild(b)},paintJpegXObject:function(a,b,c){var e=this.current,f=this.objs.get(a),h=document.createElementNS(g,"svg:image");h.setAttributeNS(i,"xlink:href",f.src),h.setAttributeNS(null,"width",f.width+"px"),h.setAttributeNS(null,"height",f.height+"px"),h.setAttributeNS(null,"x","0"),h.setAttributeNS(null,"y",d(-c)),h.setAttributeNS(null,"transform","scale("+d(1/b)+" "+d(-1/c)+")"),this.tgrp.appendChild(h),e.pendingClip?(this.cgrp.appendChild(this.tgrp),this.pgrp.appendChild(this.cgrp)):this.pgrp.appendChild(this.tgrp)},paintImageXObject:function(a){var c=this.objs.get(a);return c?void this.paintInlineImageXObject(c):void b("Dependent image isn't ready yet")},paintInlineImageXObject:function(a,b){var c=this.current,e=a.width,f=a.height,h=ua(a),j=document.createElementNS(g,"svg:rect");j.setAttributeNS(null,"x","0"),j.setAttributeNS(null,"y","0"),j.setAttributeNS(null,"width",d(e)),j.setAttributeNS(null,"height",d(f)),c.element=j,this.clip("nonzero");var k=document.createElementNS(g,"svg:image");k.setAttributeNS(i,"xlink:href",h),k.setAttributeNS(null,"x","0"),k.setAttributeNS(null,"y",d(-f)),k.setAttributeNS(null,"width",d(e)+"px"),k.setAttributeNS(null,"height",d(f)+"px"),k.setAttributeNS(null,"transform","scale("+d(1/e)+" "+d(-1/f)+")"),b?b.appendChild(k):this.tgrp.appendChild(k),c.pendingClip?(this.cgrp.appendChild(this.tgrp),this.pgrp.appendChild(this.cgrp)):this.pgrp.appendChild(this.tgrp)},paintImageMaskXObject:function(a){var b=this.current,c=a.width,e=a.height,f=b.fillColor;b.maskId="mask"+m++;var h=document.createElementNS(g,"svg:mask");h.setAttributeNS(null,"id",b.maskId);var i=document.createElementNS(g,"svg:rect");i.setAttributeNS(null,"x","0"),i.setAttributeNS(null,"y","0"),i.setAttributeNS(null,"width",d(c)),i.setAttributeNS(null,"height",d(e)),i.setAttributeNS(null,"fill",f),i.setAttributeNS(null,"mask","url(#"+b.maskId+")"),this.defs.appendChild(h),this.tgrp.appendChild(i),this.paintInlineImageXObject(a,h)},paintFormXObjectBegin:function(a,b){if(this.save(),q(a)&&6===a.length&&this.transform(a[0],a[1],a[2],a[3],a[4],a[5]),q(b)&&4===b.length){var c=b[2]-b[0],e=b[3]-b[1],f=document.createElementNS(g,"svg:rect");f.setAttributeNS(null,"x",b[0]),f.setAttributeNS(null,"y",b[1]),f.setAttributeNS(null,"width",d(c)),f.setAttributeNS(null,"height",d(e)),this.current.element=f,this.clip("nonzero"),this.endPath()}},paintFormXObjectEnd:function(){this.restore()}},f}();PDFJS.SVGGraphics=wa}.call("undefined"==typeof window?this:window),PDFJS.workerSrc||"undefined"==typeof document||(PDFJS.workerSrc=function(){"use strict";var a=document.body||document.getElementsByTagName("head")[0],b=a.lastChild.src;return b&&b.replace(/\.js$/i,".worker.js")}()),"undefined"==typeof PDFJS&&(("undefined"!=typeof window?window:this).PDFJS={}),PDFJS.version="1.1.551",PDFJS.build="2a5616c",function(){"use strict";function a(a){PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.infos&&console.log("Info: "+a)}function b(a){PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.warnings&&console.log("Warning: "+a)}function c(a){throw PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.errors&&(console.log("Error: "+a),console.log(d())),aa.notify(_.unknown),new Error(a)}function d(){try{throw new Error}catch(a){return a.stack?a.stack.split("\n").slice(2).join("\n"):""}}function e(a,b){a||c(b)}function f(a,b){if(!a)return!1;var c=/^[a-z][a-z0-9+\-.]*(?=:)/i.exec(a);if(!c)return b;switch(c=c[0].toLowerCase()){case"http":case"https":case"ftp":case"mailto":case"tel":return!0;default:return!1}}function g(a,b,c){return Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!1}),c}function h(){switch(PDFJS.openExternalLinksInNewWindow&&(b("PDFJS.openExternalLinksInNewWindow is deprecated, use PDFJS.externalLinkTarget instead."),PDFJS.externalLinkTarget===ba.NONE&&(PDFJS.externalLinkTarget=ba.BLANK),PDFJS.openExternalLinksInNewWindow=!1),PDFJS.externalLinkTarget){case ba.NONE:return!1;case ba.SELF:case ba.BLANK:case ba.PARENT:case ba.TOP:return!0}return b("PDFJS.externalLinkTarget is invalid: "+PDFJS.externalLinkTarget),PDFJS.externalLinkTarget=ba.NONE,!1}function i(a){e(null!==a&&"object"==typeof a&&void 0!==a.length,"Invalid argument for bytesToString");var b=a.length,c=8192;if(c>b)return String.fromCharCode.apply(null,a);for(var d=[],f=0;b>f;f+=c){var g=Math.min(f+c,b),h=a.subarray(f,g);d.push(String.fromCharCode.apply(null,h))}return d.join("")}function j(a){e("string"==typeof a,"Invalid argument for stringToBytes");for(var b=a.length,c=new Uint8Array(b),d=0;b>d;++d)c[d]=255&a.charCodeAt(d);return c}function k(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,255&a)}function l(a){for(var b=1,c=0;a>b;)b<<=1,c++;return c}function m(a,b){return a[b]<<24>>24}function n(a,b){return a[b]<<8|a[b+1]}function o(a,b){return(a[b]<<24|a[b+1]<<16|a[b+2]<<8|a[b+3])>>>0}function p(){var a=new Uint8Array(2);a[0]=1;var b=new Uint16Array(a.buffer);return 1===b[0]}function q(){var a=document.createElement("canvas");a.width=a.height=1;var b=a.getContext("2d"),c=b.createImageData(1,1);return"undefined"!=typeof c.data.buffer}function r(a){var b,c=a.length,d=[];if("þ"===a[0]&&"ÿ"===a[1])for(b=2;c>b;b+=2)d.push(String.fromCharCode(a.charCodeAt(b)<<8|a.charCodeAt(b+1)));else for(b=0;c>b;++b){var e=oa[a.charCodeAt(b)];d.push(e?String.fromCharCode(e):a.charAt(b))}return d.join("")}function s(a){return decodeURIComponent(escape(a))}function t(a){return unescape(encodeURIComponent(a))}function u(a){for(var b in a)return!1;return!0}function v(a){return"boolean"==typeof a}function w(a){return"number"==typeof a&&(0|a)===a}function x(a){return"number"==typeof a}function y(a){return"string"==typeof a}function z(a){return a instanceof ya}function A(a,b){return a instanceof za&&(void 0===b||a.cmd===b)}function B(a,b){if(!(a instanceof Aa))return!1;if(!b)return!0;var c=a.get("Type");return z(c)&&c.name===b}function C(a){return a instanceof Array}function D(a){return"object"==typeof a&&null!==a&&void 0!==a.getBytes}function E(a){return"object"==typeof a&&null!==a&&void 0!==a.byteLength}function F(a){return a instanceof Ba}function G(){var a={};return a.promise=new Promise(function(b,c){a.resolve=b,a.reject=c}),a}function H(a,b){this.name=a,this.comObj=b,this.callbackIndex=1,this.postMessageTransfers=!0;var d=this.callbacksCapabilities={},e=this.actionHandler={};e.console_log=[function(a){console.log.apply(console,a)}],e.console_error=[function(a){console.error.apply(console,a)}],e._unsupported_feature=[function(a){aa.notify(a)}],b.onmessage=function(a){var f=a.data;if(f.isReply){var g=f.callbackId;if(f.callbackId in d){var h=d[g];delete d[g],"error"in f?h.reject(f.error):h.resolve(f.data)}else c("Cannot resolve callback "+g)}else if(f.action in e){var i=e[f.action];f.callbackId?Promise.resolve().then(function(){return i[0].call(i[1],f.data)}).then(function(a){b.postMessage({isReply:!0,callbackId:f.callbackId,data:a})},function(a){a instanceof Error&&(a+=""),b.postMessage({isReply:!0,callbackId:f.callbackId,error:a})}):i[0].call(i[1],f.data)}else c("Unknown action from worker: "+f.action)}}function I(){}function J(a,b,c){var d=b.get("Matrix"),e=b.get("BBox"),f=b.get("XStep"),g=b.get("YStep"),h=b.get("PaintType"),i=b.get("TilingType");return["TilingPattern",c,a,d,e,f,g,h,i]}function K(a){return a>=65520&&65535>=a?0:a>=62976&&63743>=a?Wb[a]||a:a}function L(a){for(var b=0,c=Xb.length;c>b;b++){var d=Xb[b];if(a>=d.begin&&a<d.end)return b}return-1}function M(a){var b=Xb[13];return a>=b.begin&&a<b.end?!0:(b=Xb[11],a>=b.begin&&a<b.end?!0:!1)}function N(a){var b=a.length;if(1>=b||!M(a.charCodeAt(0)))return a;for(var c="",d=b-1;d>=0;d--)c+=a[d];return c}function O(a){if(a.fontMatrix[0]!==T[0]){var b=.001/a.fontMatrix[0],c=a.widths;for(var d in c)c[d]*=b;a.defaultWidth*=b}}function P(a,b){switch(a){case"Type1":return"Type1C"===b?Z.TYPE1C:Z.TYPE1;case"CIDFontType0":return"CIDFontType0C"===b?Z.CIDFONTTYPE0C:Z.CIDFONTTYPE0;case"OpenType":return Z.OPENTYPE;case"TrueType":return Z.TRUETYPE;case"CIDFontType2":return Z.CIDFONTTYPE2;case"MMType1":return Z.MMTYPE1;case"Type0":return Z.TYPE0;default:return Z.UNKNOWN}}function Q(a,b,c){var d,e,f,g=Object.create(null);if(a.baseEncodingName)for(f=Pb[a.baseEncodingName],e=0;e<f.length;e++)d=c.indexOf(f[e]),d>=0?g[e]=d:g[e]=0;else if(a.flags&Ob.Symbolic)for(e in b)g[e]=b[e];else for(f=Pb.StandardEncoding,e=0;e<f.length;e++)d=c.indexOf(f[e]),d>=0?g[e]=d:g[e]=0;var h=a.differences;if(h)for(e in h){var i=h[e];d=c.indexOf(i),d>=0?g[e]=d:g[e]=0}return g}function R(a){return a===Dc}var S="undefined"==typeof window?this:window,T=("undefined"==typeof window,[.001,0,0,.001,0,0]),U={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_ADD_TO_PATH:4,STROKE_ADD_TO_PATH:5,FILL_STROKE_ADD_TO_PATH:6,ADD_TO_PATH:7,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4},V={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},W={WIDGET:1,TEXT:2,LINK:3},X={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5},Y={UNKNOWN:0,FLATE:1,LZW:2,DCT:3,JPX:4,JBIG:5,A85:6,AHX:7,CCF:8,RL:9},Z={UNKNOWN:0,TYPE1:1,TYPE1C:2,CIDFONTTYPE0:3,CIDFONTTYPE0C:4,TRUETYPE:5,CIDFONTTYPE2:6,TYPE3:7,OPENTYPE:8,TYPE0:9,MMTYPE1:10};S.PDFJS||(S.PDFJS={}),S.PDFJS.pdfBug=!1,PDFJS.VERBOSITY_LEVELS={errors:0,warnings:1,infos:5};var $=PDFJS.OPS={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotations:78,endAnnotations:79,beginAnnotation:80,endAnnotation:81,paintJpegXObject:82,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91},_=PDFJS.UNSUPPORTED_FEATURES={unknown:"unknown",forms:"forms",javaScript:"javaScript",smask:"smask",shadingPattern:"shadingPattern",font:"font"},aa=PDFJS.UnsupportedManager=function(){var a=[];return{listen:function(b){a.push(b)},notify:function(c){b('Unsupported feature "'+c+'"');for(var d=0,e=a.length;e>d;d++)a[d](c)}}}();PDFJS.isValidUrl=f,PDFJS.shadow=g;var ba=PDFJS.LinkTarget={NONE:0,SELF:1,BLANK:2,PARENT:3,TOP:4};PDFJS.isExternalLinkTargetSet=h;var ca=PDFJS.PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},da=function(){function a(a,b){this.name="PasswordException",this.message=a,this.code=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.PasswordException=da;var ea=function(){function a(a,b){this.name="UnknownErrorException",this.message=a,this.details=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.UnknownErrorException=ea;var fa=function(){function a(a){this.name="InvalidPDFException",this.message=a}return a.prototype=new Error,a.constructor=a,a}();PDFJS.InvalidPDFException=fa;var ga=function(){function a(a){this.name="MissingPDFException",this.message=a}return a.prototype=new Error,a.constructor=a,a}();PDFJS.MissingPDFException=ga;var ha=function(){function a(a,b){this.name="UnexpectedResponseException",this.message=a,this.status=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.UnexpectedResponseException=ha;var ia=function(){function a(a){this.message=a}return a.prototype=new Error,a.prototype.name="NotImplementedException",a.constructor=a,a}(),ja=function(){function a(a,b){this.begin=a,this.end=b,this.message="Missing data ["+a+", "+b+")"}return a.prototype=new Error,a.prototype.name="MissingDataException",a.constructor=a,a}(),ka=function(){function a(a){this.message=a}return a.prototype=new Error,a.prototype.name="XRefParseException",a.constructor=a,a}();Object.defineProperty(PDFJS,"isLittleEndian",{configurable:!0,get:function(){return g(PDFJS,"isLittleEndian",p())}}),Object.defineProperty(PDFJS,"hasCanvasTypedArrays",{configurable:!0,get:function(){return g(PDFJS,"hasCanvasTypedArrays",q())}});var la=function(){function a(a,b){this.buffer=a,this.byteLength=a.length,this.length=void 0===b?this.byteLength>>2:b,c(this.length)}function b(a){return{get:function(){var b=this.buffer,c=a<<2;return(b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24)>>>0},set:function(b){var c=this.buffer,d=a<<2;c[d]=255&b,c[d+1]=b>>8&255,c[d+2]=b>>16&255,c[d+3]=b>>>24&255}}}function c(c){for(;c>d;)Object.defineProperty(a.prototype,d,b(d)),d++}a.prototype=Object.create(null);var d=0;return a}(),ma=[1,0,0,1,0,0],na=PDFJS.Util=function(){function a(){}var b=["rgb(",0,",",0,",",0,")"];return a.makeCssRgb=function(a,c,d){return b[1]=a,b[3]=c,b[5]=d,b.join("")},a.transform=function(a,b){return[a[0]*b[0]+a[2]*b[1],a[1]*b[0]+a[3]*b[1],a[0]*b[2]+a[2]*b[3],a[1]*b[2]+a[3]*b[3],a[0]*b[4]+a[2]*b[5]+a[4],a[1]*b[4]+a[3]*b[5]+a[5]]},a.applyTransform=function(a,b){var c=a[0]*b[0]+a[1]*b[2]+b[4],d=a[0]*b[1]+a[1]*b[3]+b[5];return[c,d]},a.applyInverseTransform=function(a,b){var c=b[0]*b[3]-b[1]*b[2],d=(a[0]*b[3]-a[1]*b[2]+b[2]*b[5]-b[4]*b[3])/c,e=(-a[0]*b[1]+a[1]*b[0]+b[4]*b[1]-b[5]*b[0])/c;return[d,e]},a.getAxialAlignedBoundingBox=function(b,c){var d=a.applyTransform(b,c),e=a.applyTransform(b.slice(2,4),c),f=a.applyTransform([b[0],b[3]],c),g=a.applyTransform([b[2],b[1]],c);return[Math.min(d[0],e[0],f[0],g[0]),Math.min(d[1],e[1],f[1],g[1]),Math.max(d[0],e[0],f[0],g[0]),Math.max(d[1],e[1],f[1],g[1])]},a.inverseTransform=function(a){var b=a[0]*a[3]-a[1]*a[2];return[a[3]/b,-a[1]/b,-a[2]/b,a[0]/b,(a[2]*a[5]-a[4]*a[3])/b,(a[4]*a[1]-a[5]*a[0])/b]},a.apply3dTransform=function(a,b){return[a[0]*b[0]+a[1]*b[1]+a[2]*b[2],a[3]*b[0]+a[4]*b[1]+a[5]*b[2],a[6]*b[0]+a[7]*b[1]+a[8]*b[2]]},a.singularValueDecompose2dScale=function(a){var b=[a[0],a[2],a[1],a[3]],c=a[0]*b[0]+a[1]*b[2],d=a[0]*b[1]+a[1]*b[3],e=a[2]*b[0]+a[3]*b[2],f=a[2]*b[1]+a[3]*b[3],g=(c+f)/2,h=Math.sqrt((c+f)*(c+f)-4*(c*f-e*d))/2,i=g+h||1,j=g-h||1;return[Math.sqrt(i),Math.sqrt(j)]},a.normalizeRect=function(a){var b=a.slice(0);return a[0]>a[2]&&(b[0]=a[2],b[2]=a[0]),a[1]>a[3]&&(b[1]=a[3],b[3]=a[1]),b},a.intersect=function(b,c){function d(a,b){return a-b}var e=[b[0],b[2],c[0],c[2]].sort(d),f=[b[1],b[3],c[1],c[3]].sort(d),g=[];return b=a.normalizeRect(b),c=a.normalizeRect(c),e[0]===b[0]&&e[1]===c[0]||e[0]===c[0]&&e[1]===b[0]?(g[0]=e[1],g[2]=e[2],f[0]===b[1]&&f[1]===c[1]||f[0]===c[1]&&f[1]===b[1]?(g[1]=f[1],g[3]=f[2],g):!1):!1},a.sign=function(a){return 0>a?-1:1},a.appendToArray=function(a,b){Array.prototype.push.apply(a,b)},a.prependToArray=function(a,b){Array.prototype.unshift.apply(a,b)},a.extendObj=function(a,b){for(var c in b)a[c]=b[c]},a.getInheritableProperty=function(a,b){for(;a&&!a.has(b);)a=a.get("Parent");return a?a.get(b):null},a.inherit=function(a,b,c){a.prototype=Object.create(b.prototype),a.prototype.constructor=a;for(var d in c)a.prototype[d]=c[d]},a.loadScript=function(a,b){var c=document.createElement("script"),d=!1;c.setAttribute("src",a),b&&(c.onload=function(){d||b(),d=!0}),document.getElementsByTagName("head")[0].appendChild(c)},a}(),oa=(PDFJS.PageViewport=function(){function a(a,b,c,d,e,f){this.viewBox=a,this.scale=b,this.rotation=c,this.offsetX=d,this.offsetY=e;var g,h,i,j,k=(a[2]+a[0])/2,l=(a[3]+a[1])/2;switch(c%=360,c=0>c?c+360:c){case 180:g=-1,h=0,i=0,j=1;break;case 90:g=0,h=1,i=1,j=0;break;case 270:g=0,h=-1,i=-1,j=0;break;default:g=1,h=0,i=0,j=-1}f&&(i=-i,j=-j);var m,n,o,p;0===g?(m=Math.abs(l-a[1])*b+d,n=Math.abs(k-a[0])*b+e,o=Math.abs(a[3]-a[1])*b,p=Math.abs(a[2]-a[0])*b):(m=Math.abs(k-a[0])*b+d,n=Math.abs(l-a[1])*b+e,o=Math.abs(a[2]-a[0])*b,p=Math.abs(a[3]-a[1])*b),this.transform=[g*b,h*b,i*b,j*b,m-g*b*k-i*b*l,n-h*b*k-j*b*l],this.width=o,this.height=p,this.fontScale=b}return a.prototype={clone:function(b){b=b||{};var c="scale"in b?b.scale:this.scale,d="rotation"in b?b.rotation:this.rotation;return new a(this.viewBox.slice(),c,d,this.offsetX,this.offsetY,b.dontFlip)},convertToViewportPoint:function(a,b){return na.applyTransform([a,b],this.transform)},convertToViewportRectangle:function(a){var b=na.applyTransform([a[0],a[1]],this.transform),c=na.applyTransform([a[2],a[3]],this.transform);return[b[0],b[1],c[0],c[1]]},convertToPdfPoint:function(a,b){return na.applyInverseTransform([a,b],this.transform)}},a}(),[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,728,711,710,729,733,731,730,732,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,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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8226,8224,8225,8230,8212,8211,402,8260,8249,8250,8722,8240,8222,8220,8221,8216,8217,8218,8482,64257,64258,321,338,352,376,381,305,322,339,353,382,0,8364]);PDFJS.createPromiseCapability=G,function(){function a(a){this._status=c,
-this._handlers=[];try{a.call(this,this._resolve.bind(this),this._reject.bind(this))}catch(b){this._reject(b)}}if(S.Promise)return"function"!=typeof S.Promise.all&&(S.Promise.all=function(a){var b,c,d=0,e=[],f=new S.Promise(function(a,d){b=a,c=d});return a.forEach(function(a,f){d++,a.then(function(a){e[f]=a,d--,0===d&&b(e)},c)}),0===d&&b(e),f}),"function"!=typeof S.Promise.resolve&&(S.Promise.resolve=function(a){return new S.Promise(function(b){b(a)})}),"function"!=typeof S.Promise.reject&&(S.Promise.reject=function(a){return new S.Promise(function(b,c){c(a)})}),void("function"!=typeof S.Promise.prototype["catch"]&&(S.Promise.prototype["catch"]=function(a){return S.Promise.prototype.then(void 0,a)}));var c=0,d=1,e=2,f=500,g={handlers:[],running:!1,unhandledRejections:[],pendingRejectionCheck:!1,scheduleHandlers:function(a){a._status!==c&&(this.handlers=this.handlers.concat(a._handlers),a._handlers=[],this.running||(this.running=!0,setTimeout(this.runHandlers.bind(this),0)))},runHandlers:function(){for(var a=1,b=Date.now()+a;this.handlers.length>0;){var c=this.handlers.shift(),f=c.thisPromise._status,g=c.thisPromise._value;try{f===d?"function"==typeof c.onResolve&&(g=c.onResolve(g)):"function"==typeof c.onReject&&(g=c.onReject(g),f=d,c.thisPromise._unhandledRejection&&this.removeUnhandeledRejection(c.thisPromise))}catch(h){f=e,g=h}if(c.nextPromise._updateStatus(f,g),Date.now()>=b)break}return this.handlers.length>0?void setTimeout(this.runHandlers.bind(this),0):void(this.running=!1)},addUnhandledRejection:function(a){this.unhandledRejections.push({promise:a,time:Date.now()}),this.scheduleRejectionCheck()},removeUnhandeledRejection:function(a){a._unhandledRejection=!1;for(var b=0;b<this.unhandledRejections.length;b++)this.unhandledRejections[b].promise===a&&(this.unhandledRejections.splice(b),b--)},scheduleRejectionCheck:function(){this.pendingRejectionCheck||(this.pendingRejectionCheck=!0,setTimeout(function(){this.pendingRejectionCheck=!1;for(var a=Date.now(),c=0;c<this.unhandledRejections.length;c++)if(a-this.unhandledRejections[c].time>f){var d=this.unhandledRejections[c].promise._value,e="Unhandled rejection: "+d;d.stack&&(e+="\n"+d.stack),b(e),this.unhandledRejections.splice(c),c--}this.unhandledRejections.length&&this.scheduleRejectionCheck()}.bind(this),f))}};a.all=function(b){function c(a){g._status!==e&&(i=[],f(a))}var d,f,g=new a(function(a,b){d=a,f=b}),h=b.length,i=[];if(0===h)return d(i),g;for(var j=0,k=b.length;k>j;++j){var l=b[j],m=function(a){return function(b){g._status!==e&&(i[a]=b,h--,0===h&&d(i))}}(j);a.isPromise(l)?l.then(m,c):m(l)}return g},a.isPromise=function(a){return a&&"function"==typeof a.then},a.resolve=function(b){return new a(function(a){a(b)})},a.reject=function(b){return new a(function(a,c){c(b)})},a.prototype={_status:null,_value:null,_handlers:null,_unhandledRejection:null,_updateStatus:function(b,c){if(this._status!==d&&this._status!==e){if(b===d&&a.isPromise(c))return void c.then(this._updateStatus.bind(this,d),this._updateStatus.bind(this,e));this._status=b,this._value=c,b===e&&0===this._handlers.length&&(this._unhandledRejection=!0,g.addUnhandledRejection(this)),g.scheduleHandlers(this)}},_resolve:function(a){this._updateStatus(d,a)},_reject:function(a){this._updateStatus(e,a)},then:function(b,c){var d=new a(function(a,b){this.resolve=a,this.reject=b});return this._handlers.push({thisPromise:this,onResolve:b,onReject:c,nextPromise:d}),g.scheduleHandlers(this),d},"catch":function(a){return this.then(void 0,a)}},S.Promise=a}();(function(){function a(a,b,c){for(;a.length<c;)a+=b;return a}function c(){this.started={},this.times=[],this.enabled=!0}return c.prototype={time:function(a){this.enabled&&(a in this.started&&b("Timer is already running for "+a),this.started[a]=Date.now())},timeEnd:function(a){this.enabled&&(a in this.started||b("Timer has not been started for "+a),this.times.push({name:a,start:this.started[a],end:Date.now()}),delete this.started[a])},toString:function(){var b,c,d=this.times,e="",f=0;for(b=0,c=d.length;c>b;++b){var g=d[b].name;g.length>f&&(f=g.length)}for(b=0,c=d.length;c>b;++b){var h=d[b],i=h.end-h.start;e+=a(h.name," ",f)+" "+i+"ms\n"}return e}},c})();PDFJS.createBlob=function(a,b){if("undefined"!=typeof Blob)return new Blob([a],{type:b});var c=new MozBlobBuilder;return c.append(a),c.getBlob(b)},PDFJS.createObjectURL=function(){var a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return function(b,c){if(!PDFJS.disableCreateObjectURL&&"undefined"!=typeof URL&&URL.createObjectURL){var d=PDFJS.createBlob(b,c);return URL.createObjectURL(d)}for(var e="data:"+c+";base64,",f=0,g=b.length;g>f;f+=3){var h=255&b[f],i=255&b[f+1],j=255&b[f+2],k=h>>2,l=(3&h)<<4|i>>4,m=g>f+1?(15&i)<<2|j>>6:64,n=g>f+2?63&j:64;e+=a[k]+a[l]+a[m]+a[n]}return e}}(),H.prototype={on:function(a,b,d){var e=this.actionHandler;e[a]&&c('There is already an actionName called "'+a+'"'),e[a]=[b,d]},send:function(a,b,c){var d={action:a,data:b};this.postMessage(d,c)},sendWithPromise:function(a,b,c){var d=this.callbackIndex++,e={action:a,data:b,callbackId:d},f=G();this.callbacksCapabilities[d]=f;try{this.postMessage(e,c)}catch(g){f.reject(g)}return f.promise},postMessage:function(a,b){b&&this.postMessageTransfers?this.comObj.postMessage(a,b):this.comObj.postMessage(a)}};var pa=function(){function a(a,b){this.url=a,b=b||{},this.isHttp=/^https?:/i.test(a),this.httpHeaders=this.isHttp&&b.httpHeaders||{},this.withCredentials=b.withCredentials||!1,this.getXhr=b.getXhr||function(){return new XMLHttpRequest},this.currXhrId=0,this.pendingRequests={},this.loadedRequests={}}function b(a){var b=a.response;if("string"!=typeof b)return b;for(var c=b.length,d=new Uint8Array(c),e=0;c>e;e++)d[e]=255&b.charCodeAt(e);return d.buffer}var c=200,d=206,e=function(){try{var a=new XMLHttpRequest;return a.open("GET","https://example.com"),a.responseType="moz-chunked-arraybuffer","moz-chunked-arraybuffer"===a.responseType}catch(b){return!1}}();return a.prototype={requestRange:function(a,b,c){var d={begin:a,end:b};for(var e in c)d[e]=c[e];return this.request(d)},requestFull:function(a){return this.request(a)},request:function(a){var b=this.getXhr(),c=this.currXhrId++,d=this.pendingRequests[c]={xhr:b};b.open("GET",this.url),b.withCredentials=this.withCredentials;for(var f in this.httpHeaders){var g=this.httpHeaders[f];"undefined"!=typeof g&&b.setRequestHeader(f,g)}if(this.isHttp&&"begin"in a&&"end"in a){var h=a.begin+"-"+(a.end-1);b.setRequestHeader("Range","bytes="+h),d.expectedStatus=206}else d.expectedStatus=200;var i=e&&!!a.onProgressiveData;return i?(b.responseType="moz-chunked-arraybuffer",d.onProgressiveData=a.onProgressiveData,d.mozChunked=!0):b.responseType="arraybuffer",a.onError&&(b.onerror=function(c){a.onError(b.status)}),b.onreadystatechange=this.onStateChange.bind(this,c),b.onprogress=this.onProgress.bind(this,c),d.onHeadersReceived=a.onHeadersReceived,d.onDone=a.onDone,d.onError=a.onError,d.onProgress=a.onProgress,b.send(null),c},onProgress:function(a,c){var d=this.pendingRequests[a];if(d){if(d.mozChunked){var e=b(d.xhr);d.onProgressiveData(e)}var f=d.onProgress;f&&f(c)}},onStateChange:function(a,e){var f=this.pendingRequests[a];if(f){var g=f.xhr;if(g.readyState>=2&&f.onHeadersReceived&&(f.onHeadersReceived(),delete f.onHeadersReceived),4===g.readyState&&a in this.pendingRequests){if(delete this.pendingRequests[a],0===g.status&&this.isHttp)return void(f.onError&&f.onError(g.status));var h=g.status||c,i=h===c&&f.expectedStatus===d;if(!i&&h!==f.expectedStatus)return void(f.onError&&f.onError(g.status));this.loadedRequests[a]=!0;var j=b(g);if(h===d){var k=g.getResponseHeader("Content-Range"),l=/bytes (\d+)-(\d+)\/(\d+)/.exec(k),m=parseInt(l[1],10);f.onDone({begin:m,chunk:j})}else f.onProgressiveData?f.onDone(null):f.onDone({begin:0,chunk:j})}}},hasPendingRequests:function(){for(var a in this.pendingRequests)return!0;return!1},getRequestXhr:function(a){return this.pendingRequests[a].xhr},isStreamingRequest:function(a){return!!this.pendingRequests[a].onProgressiveData},isPendingRequest:function(a){return a in this.pendingRequests},isLoadedRequest:function(a){return a in this.loadedRequests},abortAllRequests:function(){for(var a in this.pendingRequests)this.abortRequest(0|a)},abortRequest:function(a){var b=this.pendingRequests[a].xhr;delete this.pendingRequests[a],b.abort()}},a}(),qa=function(){function a(a,b,c){this.bytes=new Uint8Array(a),this.start=0,this.pos=0,this.end=a,this.chunkSize=b,this.loadedChunks=[],this.numChunksLoaded=0,this.numChunks=Math.ceil(a/b),this.manager=c,this.progressiveDataLength=0,this.lastSuccessfulEnsureByteChunk=-1}return a.prototype={getMissingChunks:function(){for(var a=[],b=0,c=this.numChunks;c>b;++b)this.loadedChunks[b]||a.push(b);return a},getBaseStreams:function(){return[this]},allChunksLoaded:function(){return this.numChunksLoaded===this.numChunks},onReceiveData:function(a,b){var c=a+b.byteLength;e(a%this.chunkSize===0,"Bad begin offset: "+a);var d=this.bytes.length;e(c%this.chunkSize===0||c===d,"Bad end offset: "+c),this.bytes.set(new Uint8Array(b),a);var f,g=this.chunkSize,h=Math.floor(a/g),i=Math.floor((c-1)/g)+1;for(f=h;i>f;++f)this.loadedChunks[f]||(this.loadedChunks[f]=!0,++this.numChunksLoaded)},onReceiveProgressiveData:function(a){var b=this.progressiveDataLength,c=Math.floor(b/this.chunkSize);this.bytes.set(new Uint8Array(a),b),b+=a.byteLength,this.progressiveDataLength=b;var d,e=b>=this.end?this.numChunks:Math.floor(b/this.chunkSize);for(d=c;e>d;++d)this.loadedChunks[d]||(this.loadedChunks[d]=!0,++this.numChunksLoaded)},ensureByte:function(a){var b=Math.floor(a/this.chunkSize);if(b!==this.lastSuccessfulEnsureByteChunk){if(!this.loadedChunks[b])throw new ja(a,a+1);this.lastSuccessfulEnsureByteChunk=b}},ensureRange:function(a,b){if(!(a>=b||b<=this.progressiveDataLength))for(var c=this.chunkSize,d=Math.floor(a/c),e=Math.floor((b-1)/c)+1,f=d;e>f;++f)if(!this.loadedChunks[f])throw new ja(a,b)},nextEmptyChunk:function(a){for(var b,c=this.numChunks,d=0;c>d;++d)if(b=(a+d)%c,!this.loadedChunks[b])return b;return null},hasChunk:function(a){return!!this.loadedChunks[a]},get length(){return this.end-this.start},get isEmpty(){return 0===this.length},getByte:function(){var a=this.pos;return a>=this.end?-1:(this.ensureByte(a),this.bytes[this.pos++])},getUint16:function(){var a=this.getByte(),b=this.getByte();return-1===a||-1===b?-1:(a<<8)+b},getInt32:function(){var a=this.getByte(),b=this.getByte(),c=this.getByte(),d=this.getByte();return(a<<24)+(b<<16)+(c<<8)+d},getBytes:function(a){var b=this.bytes,c=this.pos,d=this.end;if(!a)return this.ensureRange(c,d),b.subarray(c,d);var e=c+a;return e>d&&(e=d),this.ensureRange(c,e),this.pos=e,b.subarray(c,e)},peekByte:function(){var a=this.getByte();return this.pos--,a},peekBytes:function(a){var b=this.getBytes(a);return this.pos-=b.length,b},getByteRange:function(a,b){return this.ensureRange(a,b),this.bytes.subarray(a,b)},skip:function(a){a||(a=1),this.pos+=a},reset:function(){this.pos=this.start},moveStart:function(){this.start=this.pos},makeSubStream:function(a,b,c){function d(){}this.ensureRange(a,a+b),d.prototype=Object.create(this),d.prototype.getMissingChunks=function(){for(var a=this.chunkSize,b=Math.floor(this.start/a),c=Math.floor((this.end-1)/a)+1,d=[],e=b;c>e;++e)this.loadedChunks[e]||d.push(e);return d};var e=new d;return e.pos=e.start=a,e.end=a+b||this.end,e.dict=c,e},isStream:!0},a}(),ra=function(){function a(a,b,c,d){this.stream=new qa(a,b,this),this.length=a,this.chunkSize=b,this.url=c,this.disableAutoFetch=d.disableAutoFetch;var e=this.msgHandler=d.msgHandler;if(d.chunkedViewerLoading)e.on("OnDataRange",this.onReceiveData.bind(this)),e.on("OnDataProgress",this.onProgress.bind(this)),this.sendRequest=function(a,b){e.send("RequestDataRange",{begin:a,end:b})};else{var f=function(){return new XMLHttpRequest};this.networkManager=new pa(this.url,{getXhr:f,httpHeaders:d.httpHeaders,withCredentials:d.withCredentials}),this.sendRequest=function(a,b){this.networkManager.requestRange(a,b,{onDone:this.onReceiveData.bind(this),onProgress:this.onProgress.bind(this)})}}this.currRequestId=0,this.chunksNeededByRequest={},this.requestsByChunk={},this.promisesByRequest={},this.progressiveDataLength=0,this._loadedStreamCapability=G(),d.initialData&&this.onReceiveData({chunk:d.initialData})}return a.prototype={onLoadedStream:function(){return this._loadedStreamCapability.promise},requestAllChunks:function(){var a=this.stream.getMissingChunks();return this._requestChunks(a),this._loadedStreamCapability.promise},_requestChunks:function(a){var b,c,d,e=this.currRequestId++;for(this.chunksNeededByRequest[e]=b={},c=0,d=a.length;d>c;c++)this.stream.hasChunk(a[c])||(b[a[c]]=!0);if(u(b))return Promise.resolve();var f=G();this.promisesByRequest[e]=f;var g=[];for(var h in b)h=0|h,h in this.requestsByChunk||(this.requestsByChunk[h]=[],g.push(h)),this.requestsByChunk[h].push(e);if(!g.length)return f.promise;var i=this.groupChunks(g);for(c=0;c<i.length;++c){var j=i[c],k=j.beginChunk*this.chunkSize,l=Math.min(j.endChunk*this.chunkSize,this.length);this.sendRequest(k,l)}return f.promise},getStream:function(){return this.stream},requestRange:function(a,b){b=Math.min(b,this.length);for(var c=this.getBeginChunk(a),d=this.getEndChunk(b),e=[],f=c;d>f;++f)e.push(f);return this._requestChunks(e)},requestRanges:function(a){a=a||[];for(var b=[],c=0;c<a.length;c++)for(var d=this.getBeginChunk(a[c].begin),e=this.getEndChunk(a[c].end),f=d;e>f;++f)b.indexOf(f)<0&&b.push(f);return b.sort(function(a,b){return a-b}),this._requestChunks(b)},groupChunks:function(a){for(var b=[],c=-1,d=-1,e=0;e<a.length;++e){var f=a[e];0>c&&(c=f),d>=0&&d+1!==f&&(b.push({beginChunk:c,endChunk:d+1}),c=f),e+1===a.length&&b.push({beginChunk:c,endChunk:f+1}),d=f}return b},onProgress:function(a){var b=this.stream.numChunksLoaded*this.chunkSize+a.loaded;this.msgHandler.send("DocProgress",{loaded:b,total:this.length})},onReceiveData:function(a){var b=a.chunk,c=void 0===a.begin,d=c?this.progressiveDataLength:a.begin,e=d+b.byteLength,f=Math.floor(d/this.chunkSize),g=e<this.length?Math.floor(e/this.chunkSize):Math.ceil(e/this.chunkSize);c?(this.stream.onReceiveProgressiveData(b),this.progressiveDataLength=e):this.stream.onReceiveData(d,b),this.stream.allChunksLoaded()&&this._loadedStreamCapability.resolve(this.stream);var h,i,j=[];for(b=f;g>b;++b){var k=this.requestsByChunk[b]||[];for(delete this.requestsByChunk[b],h=0;h<k.length;++h){i=k[h];var l=this.chunksNeededByRequest[i];b in l&&delete l[b],u(l)&&j.push(i)}}if(!this.disableAutoFetch&&u(this.requestsByChunk)){var m;if(1===this.stream.numChunksLoaded){var n=this.stream.numChunks-1;this.stream.hasChunk(n)||(m=n)}else m=this.stream.nextEmptyChunk(g);w(m)&&this._requestChunks([m])}for(h=0;h<j.length;++h){i=j[h];var o=this.promisesByRequest[i];delete this.promisesByRequest[i],o.resolve()}this.msgHandler.send("DocProgress",{loaded:this.stream.numChunksLoaded*this.chunkSize,total:this.length})},onError:function(a){this._loadedStreamCapability.reject(a)},getBeginChunk:function(a){var b=Math.floor(a/this.chunkSize);return b},getEndChunk:function(a){var b=Math.floor((a-1)/this.chunkSize)+1;return b},abort:function(){this.networkManager&&this.networkManager.abortAllRequests();for(var a in this.promisesByRequest){var b=this.promisesByRequest[a];b.reject(new Error("Request was aborted"))}}},a}(),sa=65536,ta=function(){function a(){throw new Error("Cannot initialize BaseManagerManager")}return a.prototype={onLoadedStream:function(){throw new ia},ensureDoc:function(a,b){return this.ensure(this.pdfDocument,a,b)},ensureXRef:function(a,b){return this.ensure(this.pdfDocument.xref,a,b)},ensureCatalog:function(a,b){return this.ensure(this.pdfDocument.catalog,a,b)},getPage:function(a){return this.pdfDocument.getPage(a)},cleanup:function(){return this.pdfDocument.cleanup()},ensure:function(a,b,c){return new ia},requestRange:function(a,b){return new ia},requestLoadedStream:function(){return new ia},sendProgressiveData:function(a){return new ia},updatePassword:function(a){this.pdfDocument.xref.password=this.password=a,this._passwordChangedCapability&&this._passwordChangedCapability.resolve()},passwordChanged:function(){return this._passwordChangedCapability=G(),this._passwordChangedCapability.promise},terminate:function(){return new ia}},a}(),ua=function(){function a(a,b){var c=new Mc(a);this.pdfDocument=new xa(this,c,b),this._loadedStreamCapability=G(),this._loadedStreamCapability.resolve(c)}return a.prototype=Object.create(ta.prototype),a.prototype.constructor=a,a.prototype.ensure=function(a,b,c){return new Promise(function(d,e){try{var f,g=a[b];f="function"==typeof g?g.apply(a,c):g,d(f)}catch(h){e(h)}})},a.prototype.requestRange=function(a,b){return Promise.resolve()},a.prototype.requestLoadedStream=function(){},a.prototype.onLoadedStream=function(){return this._loadedStreamCapability.promise},a.prototype.terminate=function(){},a}(),va=function(){function a(a,b){this.msgHandler=b;var c={msgHandler:b,httpHeaders:a.httpHeaders,withCredentials:a.withCredentials,chunkedViewerLoading:a.chunkedViewerLoading,disableAutoFetch:a.disableAutoFetch,initialData:a.initialData};this.streamManager=new ra(a.length,sa,a.url,c),this.pdfDocument=new xa(this,this.streamManager.getStream(),a.password)}return a.prototype=Object.create(ta.prototype),a.prototype.constructor=a,a.prototype.ensure=function(a,b,c){var d=this;return new Promise(function(e,f){function g(){try{var h,i=a[b];h="function"==typeof i?i.apply(a,c):i,e(h)}catch(j){if(!(j instanceof ja))return void f(j);d.streamManager.requestRange(j.begin,j.end).then(g,f)}}g()})},a.prototype.requestRange=function(a,b){return this.streamManager.requestRange(a,b)},a.prototype.requestLoadedStream=function(){this.streamManager.requestAllChunks()},a.prototype.sendProgressiveData=function(a){this.streamManager.onReceiveData({chunk:a})},a.prototype.onLoadedStream=function(){return this.streamManager.onLoadedStream()},a.prototype.terminate=function(){this.streamManager.abort()},a}(),wa=function(){function a(a,b,c,d,e,f){this.pdfManager=a,this.pageIndex=c,this.pageDict=d,this.xref=b,this.ref=e,this.fontCache=f,this.idCounters={obj:0},this.resourcesPromise=null}var c=[0,0,612,792];return a.prototype={getPageProp:function(a){return this.pageDict.get(a)},getInheritedPageProp:function(a){for(var c=this.pageDict,d=null,e=0,f=100;c;){var g=c.get(a);if(g&&(d||(d=[]),d.push(g)),++e>f){b("Page_getInheritedPageProp: maximum loop count exceeded.");break}c=c.get("Parent")}return d?1===d.length||!B(d[0])||e>f?d[0]:Aa.merge(this.xref,d):Aa.empty},get content(){return this.getPageProp("Contents")},get resources(){return g(this,"resources",this.getInheritedPageProp("Resources"))},get mediaBox(){var a=this.getInheritedPageProp("MediaBox");return C(a)&&4===a.length||(a=c),g(this,"mediaBox",a)},get view(){var a=this.mediaBox,b=this.getInheritedPageProp("CropBox");return C(b)&&4===b.length?(b=na.intersect(b,a),b?g(this,"view",b):g(this,"view",a)):g(this,"view",a)},get rotate(){var a=this.getInheritedPageProp("Rotate")||0;return a%90!==0?a=0:a>=360?a%=360:0>a&&(a=(a%360+360)%360),g(this,"rotate",a)},getContentStream:function(){var a,b=this.content;if(C(b)){var c,d=this.xref,e=b.length,f=[];for(c=0;e>c;++c)f.push(d.fetchIfRef(b[c]));a=new Pc(f)}else a=D(b)?b:new _c;return a},loadResources:function(a){return this.resourcesPromise||(this.resourcesPromise=this.pdfManager.ensure(this,"resources")),this.resourcesPromise.then(function(){var b=new Ia(this.resources.map,a,this.xref);return b.load()}.bind(this))},getOperatorList:function(a,b,c){var d=this,e=this.pdfManager,f=e.ensure(this,"getContentStream",[]),g=this.loadResources(["ExtGState","ColorSpace","Pattern","Shading","XObject","Font"]),h=new vb(e,this.xref,a,this.pageIndex,"p"+this.pageIndex+"_",this.idCounters,this.fontCache),i=Promise.all([f,g]),j=i.then(function(e){var f=e[0],g=new xb(c,a,d.pageIndex);return a.send("StartRenderPage",{transparency:h.hasBlendModes(d.resources),pageIndex:d.pageIndex,intent:c}),h.getOperatorList(f,b,d.resources,g).then(function(){return g})}),k=e.ensure(this,"annotations");return Promise.all([j,k]).then(function(a){var d=a[0],f=a[1];if(0===f.length)return d.flush(!0),d;var g=Na.appendToOperatorList(f,d,e,h,b,c);return g.then(function(){return d.flush(!0),d})})},extractTextContent:function(a){var b={on:function(){},send:function(){}},c=this,d=this.pdfManager,e=d.ensure(this,"getContentStream",[]),f=this.loadResources(["ExtGState","XObject","Font"]),g=Promise.all([e,f]);return g.then(function(e){var f=e[0],g=new vb(d,c.xref,b,c.pageIndex,"p"+c.pageIndex+"_",c.idCounters,c.fontCache);return g.getTextContent(f,a,c.resources)})},getAnnotationsData:function(){for(var a=this.annotations,b=[],c=0,d=a.length;d>c;++c)b.push(a[c].data);return b},get annotations(){for(var a=[],b=this.getInheritedPageProp("Annots")||[],c=new I,d=0,e=b.length;e>d;++d){var f=b[d],h=c.create(this.xref,f);h&&(h.isViewable()||h.isPrintable())&&a.push(h)}return g(this,"annotations",a)}},a}(),xa=function(){function b(a,b,e){D(b)?d.call(this,a,b,e):E(b)?d.call(this,a,new Mc(b),e):c("PDFDocument: Unknown argument type")}function d(a,b,c){e(b.length>0,"stream must have data"),this.pdfManager=a,this.stream=b;var d=new Fa(this.stream,c,a);this.xref=d}function f(a,b,c,d){var e=a.pos,f=a.end,g=[];e+c>f&&(c=f-e);for(var h=0;c>h;++h)g.push(String.fromCharCode(a.getByte()));var i=g.join("");a.pos=e;var j=d?i.lastIndexOf(b):i.indexOf(b);return-1===j?!1:(a.pos+=j,!0)}var h=1024,i="\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",k={get entries(){return g(this,"entries",{Title:y,Author:y,Subject:y,Keywords:y,Creator:y,Producer:y,CreationDate:y,ModDate:y,Trapped:z})}};return b.prototype={parse:function(b){this.setup(b);var c=this.catalog.catDict.get("Version");z(c)&&(this.pdfFormatVersion=c.name);try{if(this.acroForm=this.catalog.catDict.get("AcroForm"),this.acroForm){this.xfa=this.acroForm.get("XFA");var d=this.acroForm.get("Fields");d&&C(d)&&0!==d.length||this.xfa||(this.acroForm=null)}}catch(e){a("Something wrong with AcroForm entry"),this.acroForm=null}},get linearization(){var b=null;if(this.stream.length)try{b=Hc.create(this.stream)}catch(c){if(c instanceof ja)throw c;a(c)}return g(this,"linearization",b)},get startXRef(){var a=this.stream,b=0,c=this.linearization;if(c)a.reset(),f(a,"endobj",1024)&&(b=a.pos+6);else{for(var d=1024,e=!1,h=a.end;!e&&h>0;)h-=d-"startxref".length,0>h&&(h=0),a.pos=h,e=f(a,"startxref",d,!0);if(e){a.skip(9);var i;do i=a.getByte();while(Gc.isSpace(i));for(var j="";i>=32&&57>=i;)j+=String.fromCharCode(i),i=a.getByte();b=parseInt(j,10),isNaN(b)&&(b=0)}}return g(this,"startXRef",b)},get mainXRefEntriesOffset(){var a=0,b=this.linearization;return b&&(a=b.mainXRefEntriesOffset),g(this,"mainXRefEntriesOffset",a)},checkHeader:function(){var a=this.stream;if(a.reset(),f(a,"%PDF-",1024)){a.moveStart();for(var b,c=12,d="";(b=a.getByte())>32&&!(d.length>=c);)d+=String.fromCharCode(b);return void(this.pdfFormatVersion||(this.pdfFormatVersion=d.substring(5)))}},parseStartXRef:function(){var a=this.startXRef;this.xref.setStartXRef(a)},setup:function(a){this.xref.parse(a),this.catalog=new Ea(this.pdfManager,this.xref)},get numPages(){var a=this.linearization,b=a?a.numPages:this.catalog.numPages;return g(this,"numPages",b)},get documentInfo(){var b,c={PDFFormatVersion:this.pdfFormatVersion,IsAcroFormPresent:!!this.acroForm,IsXFAPresent:!!this.xfa};try{b=this.xref.trailer.get("Info")}catch(d){a("The document information dictionary is invalid.")}if(b){var e=k.entries;for(var f in e)if(b.has(f)){var h=b.get(f);e[f](h)?c[f]="string"!=typeof h?h:r(h):a('Bad value in document info for "'+f+'"')}}return g(this,"documentInfo",c)},get fingerprint(){var a,b=this.xref,c="",d=b.trailer.get("ID");d&&C(d)&&d[0]&&y(d[0])&&d[0]!==i?a=j(d[0]):(this.stream.ensureRange&&this.stream.ensureRange(0,Math.min(h,this.stream.end)),a=gb(this.stream.bytes.subarray(0,h),0,h));for(var e=0,f=a.length;f>e;e++){var k=a[e].toString(16);c+=1===k.length?"0"+k:k}return g(this,"fingerprint",c)},getPage:function(a){return this.catalog.getPage(a)},cleanup:function(){return this.catalog.cleanup()}},b}(),ya=function(){function a(a){this.name=a}a.prototype={};var b={};return a.get=function(c){var d=b[c];return d?d:b[c]=new a(c)},a}(),za=function(){function a(a){this.cmd=a}a.prototype={};var b={};return a.get=function(c){var d=b[c];return d?d:b[c]=new a(c)},a}(),Aa=function(){function a(a){if(!z(a.Type))return!0;var b=a.Type.name;return d[b]===!0}function b(a){this.map=Object.create(null),this.xref=a,this.objId=null,this.__nonSerializable__=c}var c=function(){return c},d={Background:!0,ExtGState:!0,Halftone:!0,Layout:!0,Mask:!0,Pagination:!0,Printing:!0};return b.prototype={assignXref:function(a){this.xref=a},get:function(a,b,c){var d,e=this.xref;return"undefined"!=typeof(d=this.map[a])||a in this.map||"undefined"==typeof b?e?e.fetchIfRef(d):d:"undefined"!=typeof(d=this.map[b])||b in this.map||"undefined"==typeof c?e?e.fetchIfRef(d):d:(d=this.map[c]||null,e?e.fetchIfRef(d):d)},getAsync:function(a,b,c){var d,e=this.xref;return"undefined"!=typeof(d=this.map[a])||a in this.map||"undefined"==typeof b?e?e.fetchIfRefAsync(d):Promise.resolve(d):"undefined"!=typeof(d=this.map[b])||b in this.map||"undefined"==typeof c?e?e.fetchIfRefAsync(d):Promise.resolve(d):(d=this.map[c]||null,e?e.fetchIfRefAsync(d):Promise.resolve(d))},getArray:function(a,b,c){var d=this.get(a,b,c),e=this.xref;if(!C(d)||!e)return d;d=d.slice();for(var f=0,g=d.length;g>f;f++)F(d[f])&&(d[f]=e.fetch(d[f]));return d},getRaw:function(a){return this.map[a]},getAll:function(){var c,d,e=Object.create(null),f=null;for(c in this.map)d=this.get(c),d instanceof b?a(d)?(f||(f=[])).push({target:e,key:c,obj:d}):e[c]=this.getRaw(c):e[c]=d;if(!f)return e;for(var g=Object.create(null);f.length>0;){var h=f.shift(),i=h.obj,j=i.objId;if(j&&j in g)h.target[h.key]=g[j];else{var k=Object.create(null);for(c in i.map)d=i.get(c),d instanceof b?a(d)?f.push({target:k,key:c,obj:d}):k[c]=i.getRaw(c):k[c]=d;j&&(g[j]=k),h.target[h.key]=k}}return e},getKeys:function(){return Object.keys(this.map)},set:function(a,b){this.map[a]=b},has:function(a){return a in this.map},forEach:function(a){for(var b in this.map)a(b,this.get(b))}},b.empty=new b(null),b.merge=function(a,c){for(var d=new b(a),e=0,f=c.length;f>e;e++){var g=c[e];if(B(g))for(var h in g.map)d.map[h]||(d.map[h]=g.map[h])}return d},b}(),Ba=function(){function a(a,b){this.num=a,this.gen=b}return a.prototype={toString:function(){var a=this.num+"R";return 0!==this.gen&&(a+=this.gen),a}},a}(),Ca=function(){function a(){this.dict={}}return a.prototype={has:function(a){return a.toString()in this.dict},put:function(a){this.dict[a.toString()]=!0},remove:function(a){delete this.dict[a.toString()]}},a}(),Da=function(){function a(){this.dict=Object.create(null)}return a.prototype={get:function(a){return this.dict[a.toString()]},has:function(a){return a.toString()in this.dict},put:function(a,b){this.dict[a.toString()]=b},putAlias:function(a,b){this.dict[a.toString()]=this.get(b)},forEach:function(a,b){for(var c in this.dict)a.call(b,this.dict[c])},clear:function(){this.dict=Object.create(null)}},a}(),Ea=function(){function d(a,b){this.pdfManager=a,this.xref=b,this.catDict=b.getCatalogObj(),this.fontCache=new Da,e(B(this.catDict),"catalog object is not a dictionary"),this.pagePromises=[]}return d.prototype={get metadata(){var b=this.catDict.getRaw("Metadata");if(!F(b))return g(this,"metadata",null);var c,d=this.xref.encrypt?this.xref.encrypt.encryptMetadata:!1,e=this.xref.fetch(b,!d);if(e&&B(e.dict)){var f=e.dict.get("Type"),h=e.dict.get("Subtype");if(z(f)&&z(h)&&"Metadata"===f.name&&"XML"===h.name)try{c=s(i(e.getBytes()))}catch(j){a("Skipping invalid metadata.")}}return g(this,"metadata",c)},get toplevelPagesDict(){var a=this.catDict.get("Pages");return e(B(a),"invalid top-level pages dictionary"),g(this,"toplevelPagesDict",a)},get documentOutline(){var a=null;try{a=this.readDocumentOutline()}catch(c){if(c instanceof ja)throw c;b("Unable to read document outline")}return g(this,"documentOutline",a)},readDocumentOutline:function(){var a=this.xref,b=this.catDict.get("Outlines"),d={items:[]};if(B(b)){b=b.getRaw("First");var e=new Ca;if(F(b)){var f=[{obj:b,parent:d}];for(e.put(b);f.length>0;){var g=f.shift(),h=a.fetchIfRef(g.obj);if(null!==h){h.has("Title")||c("Invalid outline item");var i=h.get("A");i?i=i.get("D"):h.has("Dest")&&(i=h.getRaw("Dest"),z(i)&&(i=i.name));var j=h.get("Title"),k={dest:i,title:r(j),color:h.get("C")||[0,0,0],count:h.get("Count"),bold:!!(2&h.get("F")),italic:!!(1&h.get("F")),items:[]};g.parent.items.push(k),b=h.getRaw("First"),F(b)&&!e.has(b)&&(f.push({obj:b,parent:k}),e.put(b)),b=h.getRaw("Next"),F(b)&&!e.has(b)&&(f.push({obj:b,parent:g.parent}),e.put(b))}}}}return d.items.length>0?d.items:null},get numPages(){var a=this.toplevelPagesDict.get("Count");return e(w(a),"page count in top level pages object is not an integer"),g(this,"num",a)},get destinations(){function a(a){return B(a)?a.get("D"):a}var b,c,d=this.xref,e={},f=this.catDict.get("Names");if(f&&f.has("Dests")?b=f.getRaw("Dests"):this.catDict.has("Dests")&&(c=this.catDict.get("Dests")),c&&(f=c,f.forEach(function(b,c){c&&(e[b]=a(c))})),b){var h=new Ga(b,d),i=h.getAll();for(var j in i)i.hasOwnProperty(j)&&(e[j]=a(i[j]))}return g(this,"destinations",e)},getDestination:function(a){function b(a){return B(a)?a.get("D"):a}var c,d,e=this.xref,f=null,g=this.catDict.get("Names");if(g&&g.has("Dests")?c=g.getRaw("Dests"):this.catDict.has("Dests")&&(d=this.catDict.get("Dests")),d){var h=d.get(a);h&&(f=b(h))}if(c){var i=new Ga(c,e);f=b(i.get(a))}return f},get attachments(){var a,b=this.xref,c=null,d=this.catDict.get("Names");if(d&&(a=d.getRaw("EmbeddedFiles")),a){var e=new Ga(a,b),f=e.getAll();for(var h in f)if(f.hasOwnProperty(h)){var i=new Ha(f[h],b);c||(c={}),c[r(h)]=i.serializable}}return g(this,"attachments",c)},get javaScript(){function a(a){var b=a.get("S");if(z(b)&&"JavaScript"===b.name){var c=a.get("JS");if(D(c))c=i(c.getBytes());else if(!y(c))return;d.push(r(c))}}var b=this.xref,c=this.catDict.get("Names"),d=[];if(c&&c.has("JavaScript")){var e=new Ga(c.getRaw("JavaScript"),b),f=e.getAll();for(var h in f)if(f.hasOwnProperty(h)){var j=f[h];B(j)&&a(j)}}var k=this.catDict.get("OpenAction");if(B(k,"Action")){var l=k.get("S");if(z(l)&&"Named"===l.name){var m=k.get("N");z(m)&&"Print"===m.name&&d.push("print({});")}else a(k)}return g(this,"javaScript",d)},cleanup:function(){var a=[];return this.fontCache.forEach(function(b){a.push(b)}),Promise.all(a).then(function(a){for(var b=0,c=a.length;c>b;b++){var d=a[b].dict;delete d.translated}this.fontCache.clear()}.bind(this))},getPage:function(a){return a in this.pagePromises||(this.pagePromises[a]=this.getPageDict(a).then(function(b){var c=b[0],d=b[1];return new wa(this.pdfManager,this.xref,a,c,d,this.fontCache)}.bind(this))),this.pagePromises[a]},getPageDict:function(a){function b(){for(;d.length;){var i=d.pop();if(F(i))return void g.fetchAsync(i).then(function(e){return B(e,"Page")||B(e)&&!e.has("Kids")?void(a===f?c.resolve([e,i]):(f++,b())):(d.push(e),void b())},c.reject);e(B(i),"page dictionary kid reference points to wrong type of object");var j=i.get("Count");if(0===j&&(h=!0),a>=f+j)f+=j;else{var k=i.get("Kids");if(e(C(k),"page dictionary kids object is not an array"),h||j!==k.length)for(var l=k.length-1;l>=0;l--)d.push(k[l]);else d=[k[a-f]],f=a}}c.reject("Page index "+a+" not found.")}var c=G(),d=[this.catDict.getRaw("Pages")],f=0,g=this.xref,h=!1;return b(),c.promise},getPageIndex:function(a){function b(a){var b,d=0;return f.fetchAsync(a).then(function(a){return a?(b=a.getRaw("Parent"),a.getAsync("Parent")):null}).then(function(a){return a?a.getAsync("Kids"):null}).then(function(g){if(!g)return null;for(var h=[],i=!1,j=0;j<g.length;j++){var k=g[j];if(e(F(k),"kids must be a ref"),k.num===a.num){i=!0;break}h.push(f.fetchAsync(k).then(function(a){if(a.has("Count")){var b=a.get("Count");d+=b}else d++}))}return i||c("kid ref not found in parents kids"),
-Promise.all(h).then(function(){return[d,b]})})}function d(a){return b(a).then(function(a){if(!a)return g;var b=a[0],c=a[1];return g+=b,d(c)})}var f=this.xref,g=0;return d(a)}},d}(),Fa=function(){function d(a,b){this.stream=a,this.entries=[],this.xrefstms={},this.cache=[],this.password=b,this.stats={streamTypes:[],fontTypes:[]}}return d.prototype={setStartXRef:function(a){this.startXRefQueue=[a]},parse:function(a){var d;a?(b("Indexing all PDF objects"),d=this.indexObjects()):d=this.readXRef(),d.assignXref(this),this.trailer=d;var e=d.get("Encrypt");if(e){var f=d.get("ID"),g=f&&f.length?f[0]:"";this.encrypt=new rb(e,g,this.password)}(this.root=d.get("Root"))||c("Invalid root reference")},processXRefTable:function(a){"tableState"in this||(this.tableState={entryNum:0,streamPos:a.lexer.stream.pos,parserBuf1:a.buf1,parserBuf2:a.buf2});var b=this.readXRefTable(a);A(b,"trailer")||c("Invalid XRef table: could not find trailer dictionary");var d=a.getObj();return!B(d)&&d.dict&&(d=d.dict),B(d)||c("Invalid XRef table: could not parse trailer dictionary"),delete this.tableState,d},readXRefTable:function(a){var b=a.lexer.stream,d=this.tableState;b.pos=d.streamPos,a.buf1=d.parserBuf1,a.buf2=d.parserBuf2;for(var e;;){if(!("firstEntryNum"in d&&"entryCount"in d)){if(A(e=a.getObj(),"trailer"))break;d.firstEntryNum=e,d.entryCount=a.getObj()}var f=d.firstEntryNum,g=d.entryCount;w(f)&&w(g)||c("Invalid XRef table: wrong types in subsection header");for(var h=d.entryNum;g>h;h++){d.streamPos=b.pos,d.entryNum=h,d.parserBuf1=a.buf1,d.parserBuf2=a.buf2;var i={};i.offset=a.getObj(),i.gen=a.getObj();var j=a.getObj();A(j,"f")?i.free=!0:A(j,"n")&&(i.uncompressed=!0),w(i.offset)&&w(i.gen)&&(i.free||i.uncompressed)||c("Invalid entry in XRef subsection: "+f+", "+g),this.entries[h+f]||(this.entries[h+f]=i)}d.entryNum=0,d.streamPos=b.pos,d.parserBuf1=a.buf1,d.parserBuf2=a.buf2,delete d.firstEntryNum,delete d.entryCount}return 1===f&&this.entries[1]&&this.entries[1].free&&this.entries.shift(),this.entries[0]&&!this.entries[0].free&&c("Invalid XRef table: unexpected first object"),e},processXRefStream:function(a){if(!("streamState"in this)){var b=a.dict,c=b.get("W"),d=b.get("Index");d||(d=[0,b.get("Size")]),this.streamState={entryRanges:d,byteWidths:c,entryNum:0,streamPos:a.pos}}return this.readXRefStream(a),delete this.streamState,a.dict},readXRefStream:function(a){var b,d,e=this.streamState;a.pos=e.streamPos;for(var f=e.byteWidths,g=f[0],h=f[1],i=f[2],j=e.entryRanges;j.length>0;){var k=j[0],l=j[1];for(w(k)&&w(l)||c("Invalid XRef range fields: "+k+", "+l),w(g)&&w(h)&&w(i)||c("Invalid XRef entry fields length: "+k+", "+l),b=e.entryNum;l>b;++b){e.entryNum=b,e.streamPos=a.pos;var m=0,n=0,o=0;for(d=0;g>d;++d)m=m<<8|a.getByte();for(0===g&&(m=1),d=0;h>d;++d)n=n<<8|a.getByte();for(d=0;i>d;++d)o=o<<8|a.getByte();var p={};switch(p.offset=n,p.gen=o,m){case 0:p.free=!0;break;case 1:p.uncompressed=!0;break;case 2:break;default:c("Invalid XRef entry type: "+m)}this.entries[k+b]||(this.entries[k+b]=p)}e.entryNum=0,e.streamPos=a.pos,j.splice(0,2)}},indexObjects:function(){function a(a,b){for(var c="",f=a[b];f!==d&&f!==e&&f!==h&&!(++b>=a.length);)c+=String.fromCharCode(f),f=a[b];return c}function b(a,b,c){for(var d=c.length,e=a.length,f=0;e>b;){for(var g=0;d>g&&a[b+g]===c[g];)++g;if(g>=d)break;b++,f++}return f}var c=9,d=10,e=13,f=32,g=37,h=60,i=/^(\d+)\s+(\d+)\s+obj\b/,j=new Uint8Array([116,114,97,105,108,101,114]),k=new Uint8Array([115,116,97,114,116,120,114,101,102]),l=new Uint8Array([101,110,100,111,98,106]),m=new Uint8Array([47,88,82,101,102]);this.entries.length=0;var n=this.stream;n.pos=0;for(var o=n.getBytes(),p=n.start,q=o.length,r=[],s=[];q>p;){var t=o[p];if(t!==c&&t!==d&&t!==e&&t!==f)if(t!==g){var u,v=a(o,p);if(0!==v.indexOf("xref")||4!==v.length&&!/\s/.test(v[4]))if(u=i.exec(v)){"undefined"==typeof this.entries[u[1]]&&(this.entries[u[1]]={offset:p-n.start,gen:0|u[2],uncompressed:!0});var w=b(o,p,l)+7,x=o.subarray(p,p+w),y=b(x,0,m);w>y&&x[y+5]<64&&(s.push(p-n.start),this.xrefstms[p-n.start]=1),p+=w}else 0!==v.indexOf("trailer")||7!==v.length&&!/\s/.test(v[7])?p+=v.length+1:(r.push(p),p+=b(o,p,k));else p+=b(o,p,j),r.push(p),p+=b(o,p,k)}else do{if(++p,p>=q)break;t=o[p]}while(t!==d&&t!==e);else++p}var z,C;for(z=0,C=s.length;C>z;++z)this.startXRefQueue.push(s[z]),this.readXRef(!0);var D;for(z=0,C=r.length;C>z;++z){n.pos=r[z];var E=new Fc(new Gc(n),!0,this),F=E.getObj();if(A(F,"trailer")&&B(D=E.getObj())&&D.has("ID"))return D}if(D)return D;throw new fa("Invalid PDF structure")},readXRef:function(b){var d=this.stream;try{for(;this.startXRefQueue.length;){var e=this.startXRefQueue[0];d.pos=e+d.start;var f,g=new Fc(new Gc(d),!0,this),h=g.getObj();if(A(h,"xref")){if(f=this.processXRefTable(g),this.topDict||(this.topDict=f),h=f.get("XRefStm"),w(h)){var i=h;i in this.xrefstms||(this.xrefstms[i]=1,this.startXRefQueue.push(i))}}else w(h)?(w(g.getObj())&&A(g.getObj(),"obj")&&D(h=g.getObj())||c("Invalid XRef stream"),f=this.processXRefStream(h),this.topDict||(this.topDict=f),f||c("Failed to read XRef stream")):c("Invalid XRef stream header");h=f.get("Prev"),w(h)?this.startXRefQueue.push(h):F(h)&&this.startXRefQueue.push(h.num),this.startXRefQueue.shift()}return this.topDict}catch(j){if(j instanceof ja)throw j;a("(while reading XRef): "+j)}if(!b)throw new ka},getEntry:function(a){var b=this.entries[a];return b&&!b.free&&b.offset?b:null},fetchIfRef:function(a){return F(a)?this.fetch(a):a},fetch:function(a,b){e(F(a),"ref object is not a reference");var c=a.num;if(c in this.cache){var d=this.cache[c];return d}var f=this.getEntry(c);return null===f?this.cache[c]=null:(f=f.uncompressed?this.fetchUncompressed(a,f,b):this.fetchCompressed(f,b),B(f)?f.objId=a.toString():D(f)&&(f.dict.objId=a.toString()),f)},fetchUncompressed:function(a,b,d){var e=a.gen,f=a.num;b.gen!==e&&c("inconsistent generation in XRef");var g=this.stream.makeSubStream(b.offset+this.stream.start),h=new Fc(new Gc(g),!0,this),i=h.getObj(),j=h.getObj(),k=h.getObj();if(w(i)&&parseInt(i,10)===f&&w(j)&&parseInt(j,10)===e&&A(k)||c("bad XRef entry"),!A(k,"obj")){if(0===k.cmd.indexOf("obj")&&(f=parseInt(k.cmd.substring(3),10),!isNaN(f)))return f;c("bad XRef entry")}return b=this.encrypt&&!d?h.getObj(this.encrypt.createCipherTransform(f,e)):h.getObj(),D(b)||(this.cache[f]=b),b},fetchCompressed:function(a,b){var d=a.offset,e=this.fetch(new Ba(d,0));D(e)||c("bad ObjStm stream");var f=e.dict.get("First"),g=e.dict.get("N");w(f)&&w(g)||c("invalid first and n parameters for ObjStm stream");var h=new Fc(new Gc(e),!1,this);h.allowStreams=!0;var i,j,k=[],l=[];for(i=0;g>i;++i){j=h.getObj(),w(j)||c("invalid object number in the ObjStm stream: "+j),l.push(j);var m=h.getObj();w(m)||c("invalid object offset in the ObjStm stream: "+m)}for(i=0;g>i;++i){k.push(h.getObj()),j=l[i];var n=this.entries[j];n&&n.offset===d&&n.gen===i&&(this.cache[j]=k[i])}return a=k[a.gen],void 0===a&&c("bad XRef entry for compressed object"),a},fetchIfRefAsync:function(a){return F(a)?this.fetchAsync(a):Promise.resolve(a)},fetchAsync:function(a,b){var c=this.stream.manager,d=this;return new Promise(function e(f,g){try{f(d.fetch(a,b))}catch(h){if(h instanceof ja)return void c.requestRange(h.begin,h.end).then(function(){e(f,g)},g);g(h)}})},getCatalogObj:function(){return this.root}},d}(),Ga=function(){function a(a,b){this.root=a,this.xref=b}return a.prototype={getAll:function(){var a={};if(!this.root)return a;var b=this.xref,d=new Ca;d.put(this.root);for(var e=[this.root];e.length>0;){var f,g,h=b.fetchIfRef(e.shift());if(B(h))if(h.has("Kids")){var i=h.get("Kids");for(f=0,g=i.length;g>f;f++){var j=i[f];d.has(j)&&c("invalid destinations"),e.push(j),d.put(j)}}else{var k=h.get("Names");if(k)for(f=0,g=k.length;g>f;f+=2)a[b.fetchIfRef(k[f])]=b.fetchIfRef(k[f+1])}}return a},get:function(a){if(!this.root)return null;for(var c,d,e,f=this.xref,g=f.fetchIfRef(this.root),h=0,i=10;g.has("Kids");){if(h++,h>i)return b("Search depth limit for named destionations has been reached."),null;var j=g.get("Kids");if(!C(j))return null;for(c=0,d=j.length-1;d>=c;){e=c+d>>1;var k=f.fetchIfRef(j[e]),l=k.get("Limits");if(a<f.fetchIfRef(l[0]))d=e-1;else{if(!(a>f.fetchIfRef(l[1]))){g=f.fetchIfRef(j[e]);break}c=e+1}}if(c>d)return null}var m=g.get("Names");if(C(m))for(c=0,d=m.length-2;d>=c;)if(e=c+d&-2,a<f.fetchIfRef(m[e]))d=e-2;else{if(!(a>f.fetchIfRef(m[e])))return f.fetchIfRef(m[e+1]);c=e+2}return null}},a}(),Ha=function(){function a(a,c){a&&B(a)&&(this.xref=c,this.root=a,a.has("FS")&&(this.fs=a.get("FS")),this.description=a.has("Desc")?r(a.get("Desc")):"",a.has("RF")&&b("Related file specifications are not supported"),this.contentAvailable=!0,a.has("EF")||(this.contentAvailable=!1,b("Non-embedded file specifications are not supported")))}function c(a){return a.has("UF")?a.get("UF"):a.has("F")?a.get("F"):a.has("Unix")?a.get("Unix"):a.has("Mac")?a.get("Mac"):a.has("DOS")?a.get("DOS"):null}return a.prototype={get filename(){if(!this._filename&&this.root){var a=c(this.root)||"unnamed";this._filename=r(a).replace(/\\\\/g,"\\").replace(/\\\//g,"/").replace(/\\/g,"/")}return this._filename},get content(){if(!this.contentAvailable)return null;!this.contentRef&&this.root&&(this.contentRef=c(this.root.get("EF")));var a=null;if(this.contentRef){var d=this.xref,e=d.fetchIfRef(this.contentRef);e&&D(e)?a=e.getBytes():b("Embedded file specification points to non-existing/invalid content")}else b("Embedded file specification does not have a content");return a},get serializable(){return{filename:this.filename,content:this.content}}},a}(),Ia=function(){function a(a){return F(a)||B(a)||C(a)||D(a)}function b(b,c){var d;if(B(b)||D(b)){var e;e=B(b)?b.map:b.dict.map;for(var f in e)d=e[f],a(d)&&c.push(d)}else if(C(b))for(var g=0,h=b.length;h>g;g++)d=b[g],a(d)&&c.push(d)}function c(a,b,c){this.obj=a,this.keys=b,this.xref=c,this.refSet=null,this.capability=null}return c.prototype={load:function(){var a=this.keys;if(this.capability=G(),!(this.xref.stream instanceof qa)||0===this.xref.stream.getMissingChunks().length)return this.capability.resolve(),this.capability.promise;this.refSet=new Ca;for(var b=[],c=0;c<a.length;c++)b.push(this.obj[a[c]]);return this._walk(b),this.capability.promise},_walk:function(a){for(var c=[],d=[];a.length;){var e=a.pop();if(F(e)){if(this.refSet.has(e))continue;try{var f=e;this.refSet.put(f),e=this.xref.fetch(e)}catch(g){if(!(g instanceof ja))throw g;c.push(e),d.push({begin:g.begin,end:g.end})}}if(e&&e.getBaseStreams){for(var h=e.getBaseStreams(),i=!1,j=0;j<h.length;j++){var k=h[j];k.getMissingChunks&&k.getMissingChunks().length&&(i=!0,d.push({begin:k.start,end:k.end}))}i&&c.push(e)}b(e,a)}return d.length?void this.xref.stream.manager.requestRanges(d).then(function(){a=c;for(var b=0;b<c.length;b++){var d=c[b];F(d)&&this.refSet.remove(d)}this._walk(a)}.bind(this),this.capability.reject):(this.refSet=null,void this.capability.resolve())}},c}(),Ja=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","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","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","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","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron"],Ka=[".notdef","space","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],La=[".notdef","space","dollaroldstyle","dollarsuperior","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","hyphensuperior","colonmonetary","onefitted","rupiah","centoldstyle","figuredash","hypheninferior","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior"],Ma=22;I.prototype={create:function(a,c){var d=a.fetchIfRef(c);if(B(d)){var e=d.get("Subtype");e=z(e)?e.name:"";var f={dict:d,ref:c};switch(e){case"Link":return new Sa(f);case"Text":return new Ra(f);case"Widget":var g=na.getInheritableProperty(d,"FT");return z(g)&&"Tx"===g.name?new Qa(f):new Pa(f);default:return b('Unimplemented annotation type "'+e+'", falling back to base annotation'),new Na(f)}}}};var Na=function(){function a(a,b,c){var d=na.getAxialAlignedBoundingBox(b,c),e=d[0],f=d[1],g=d[2],h=d[3];if(e===g||f===h)return[1,0,0,1,a[0],a[1]];var i=(a[2]-a[0])/(g-e),j=(a[3]-a[1])/(h-f);return[i,0,0,j,a[0]-e*i,a[1]-f*j]}function b(a){var b=a.get("AP");if(B(b)){var c,d=b.get("N");if(B(d)){var e=a.get("AS");e&&d.has(e.name)&&(c=d.get(e.name))}else c=d;return c}}function c(a){var c=a.dict,d=this.data={};d.subtype=c.get("Subtype").name,d.annotationFlags=c.get("F"),this.setRectangle(c.get("Rect")),d.rect=this.rectangle,this.setColor(c.get("C")),d.color=this.color,this.borderStyle=d.borderStyle=new Oa,this.setBorderStyle(c),this.appearance=b(c),d.hasAppearance=!!this.appearance,d.id=a.ref.num}return c.prototype={setRectangle:function(a){C(a)&&4===a.length?this.rectangle=na.normalizeRect(a):this.rectangle=[0,0,0,0]},setColor:function(a){var b=new Uint8Array(3);if(!C(a))return void(this.color=b);switch(a.length){case 0:this.color=null;break;case 1:Xa.singletons.gray.getRgbItem(a,0,b,0),this.color=b;break;case 3:Xa.singletons.rgb.getRgbItem(a,0,b,0),this.color=b;break;case 4:Xa.singletons.cmyk.getRgbItem(a,0,b,0),this.color=b;break;default:this.color=b}},setBorderStyle:function(a){if(B(a))if(a.has("BS")){var b,c=a.get("BS");(!c.has("Type")||z(b=c.get("Type"))&&"Border"===b.name)&&(this.borderStyle.setWidth(c.get("W")),this.borderStyle.setStyle(c.get("S")),this.borderStyle.setDashArray(c.get("D")))}else if(a.has("Border")){var d=a.get("Border");C(d)&&d.length>=3&&(this.borderStyle.setHorizontalCornerRadius(d[0]),this.borderStyle.setVerticalCornerRadius(d[1]),this.borderStyle.setWidth(d[2]),4===d.length&&this.borderStyle.setDashArray(d[3]))}else this.borderStyle.setWidth(0)},isInvisible:function(){var a=this.data;return!!(a&&a.annotationFlags&&1&a.annotationFlags)},isViewable:function(){var a=this.data;return!(this.isInvisible()||!a||a.annotationFlags&&34&a.annotationFlags||!a.rect)},isPrintable:function(){var a=this.data;return!(!(!this.isInvisible()&&a&&a.annotationFlags&&4&a.annotationFlags)||2&a.annotationFlags||!a.rect)},loadResources:function(a){return new Promise(function(b,c){this.appearance.dict.getAsync("Resources").then(function(d){if(!d)return void b();var e=new Ia(d.map,a,d.xref);e.load().then(function(){b(d)},c)},c)}.bind(this))},getOperatorList:function(b,c){if(!this.appearance)return Promise.resolve(new xb);var d=this.data,e=this.appearance.dict,f=this.loadResources(["ExtGState","ColorSpace","Pattern","Shading","XObject","Font"]),g=e.get("BBox")||[0,0,1,1],h=e.get("Matrix")||[1,0,0,1,0,0],i=a(d.rect,g,h),j=this;return f.then(function(a){var e=new xb;return e.addOp($.beginAnnotation,[d.rect,i,h]),b.getOperatorList(j.appearance,c,a,e).then(function(){return e.addOp($.endAnnotation,[]),j.appearance.reset(),e})})}},c.appendToOperatorList=function(a,b,c,d,e,f){function g(a){h.reject(a)}for(var h=G(),i=[],j=0,k=a.length;k>j;++j)("display"===f&&a[j].isViewable()||"print"===f&&a[j].isPrintable())&&i.push(a[j].getOperatorList(d,e));return Promise.all(i).then(function(a){b.addOp($.beginAnnotations,[]);for(var c=0,d=a.length;d>c;++c){var e=a[c];b.addOpList(e)}b.addOp($.endAnnotations,[]),h.resolve()},g),h.promise},c}(),Oa=function(){function a(){this.width=1,this.style=X.SOLID,this.dashArray=[3],this.horizontalCornerRadius=0,this.verticalCornerRadius=0}return a.prototype={setWidth:function(a){a===(0|a)&&(this.width=a)},setStyle:function(a){if(a)switch(a.name){case"S":this.style=X.SOLID;break;case"D":this.style=X.DASHED;break;case"B":this.style=X.BEVELED;break;case"I":this.style=X.INSET;break;case"U":this.style=X.UNDERLINE}},setDashArray:function(a){if(C(a)&&a.length>0){for(var b=!0,c=!0,d=0,e=a.length;e>d;d++){var f=a[d],g=+f>=0;if(!g){b=!1;break}f>0&&(c=!1)}b&&!c?this.dashArray=a:this.width=0}else a&&(this.width=0)},setHorizontalCornerRadius:function(a){a===(0|a)&&(this.horizontalCornerRadius=a)},setVerticalCornerRadius:function(a){a===(0|a)&&(this.verticalCornerRadius=a)}},a}(),Pa=function(){function a(a){Na.call(this,a);var b=a.dict,c=this.data;c.fieldValue=r(na.getInheritableProperty(b,"V")||""),c.alternativeText=r(b.get("TU")||""),c.defaultAppearance=na.getInheritableProperty(b,"DA")||"";var d=na.getInheritableProperty(b,"FT");c.fieldType=z(d)?d.name:"",c.fieldFlags=na.getInheritableProperty(b,"Ff")||0,this.fieldResources=na.getInheritableProperty(b,"DR")||Aa.empty;for(var e=[],f=b,g=a.ref;f;){var h=f.get("Parent"),i=f.getRaw("Parent"),j=f.get("T");if(j)e.unshift(r(j));else if(h&&g){var k,l,m=h.get("Kids");for(k=0,l=m.length;l>k;k++){var n=m[k];if(n.num===g.num&&n.gen===g.gen)break}e.unshift("`"+k)}f=h,g=i}c.fullName=e.join(".")}var c=Na.prototype;return na.inherit(a,Na,{isViewable:function(){return"Sig"===this.data.fieldType?(b("unimplemented annotation type: Widget signature"),!1):c.isViewable.call(this)}}),a}(),Qa=function(){function a(a){Pa.call(this,a),this.data.textAlignment=na.getInheritableProperty(a.dict,"Q"),this.data.annotationType=W.WIDGET,this.data.hasHtml=!this.data.hasAppearance&&!!this.data.fieldValue}return na.inherit(a,Pa,{getOperatorList:function(a,b){if(this.appearance)return Na.prototype.getOperatorList.call(this,a,b);var c=new xb,d=this.data;if(!d.defaultAppearance)return Promise.resolve(c);var e=new Mc(j(d.defaultAppearance));return a.getOperatorList(e,b,this.fieldResources,c).then(function(){return c})}}),a}(),Ra=function(){function a(a){Na.call(this,a);var b=a.dict,c=this.data,d=b.get("Contents"),e=b.get("T");c.annotationType=W.TEXT,c.content=r(d||""),c.title=r(e||""),c.hasHtml=!0,c.hasAppearance?c.name="NoIcon":(c.rect[1]=c.rect[3]-Ma,c.rect[2]=c.rect[0]+Ma,c.name=b.has("Name")?b.get("Name").name:"Note"),b.has("C")&&(c.hasBgColor=!0)}return na.inherit(a,Na,{}),a}(),Sa=function(){function a(a){Na.call(this,a);var d=a.dict,e=this.data;e.annotationType=W.LINK,e.hasHtml=!0;var g=d.get("A");if(g&&B(g)){var h=g.get("S").name;if("URI"===h){var i=g.get("URI");z(i)?i="/"+i.name:i&&(i=c(i)),f(i,!1)||(i="");try{e.url=s(i)}catch(j){e.url=i}}else if("GoTo"===h)e.dest=g.get("D");else if("GoToR"===h){var k=g.get("F");B(k)&&(i=k.get("F")||""),f(i,!1)||(i=""),e.url=i,e.dest=g.get("D")}else"Named"===h?e.action=g.get("N").name:b("unrecognized link type: "+h)}else if(d.has("Dest")){var l=d.get("Dest");e.dest=z(l)?l.name:l}}function c(a){return a&&0===a.indexOf("www.")?"http://"+a:a}return na.inherit(a,Na,{}),a}(),Ta=function(){var b=0,d=2,e=3,f=4;return{getSampleArray:function(a,b,c,d){var e,f,g=1;for(e=0,f=a.length;f>e;e++)g*=a[e];g*=b;var h=new Array(g),i=0,j=0,k=1/(Math.pow(2,c)-1),l=d.getBytes((g*c+7)/8),m=0;for(e=0;g>e;e++){for(;c>i;)j<<=8,j|=l[m++],i+=8;i-=c,h[e]=(j>>i)*k,j&=(1<<i)-1}return h},getIR:function(a,b){var d=b.dict;d||(d=b);var e=[this.constructSampled,null,this.constructInterpolated,this.constructStiched,this.constructPostScript],f=d.get("FunctionType"),g=e[f];return g||c("Unknown type of function"),g.call(this,b,d,a)},fromIR:function(a){var c=a[0];switch(c){case b:return this.constructSampledFromIR(a);case d:return this.constructInterpolatedFromIR(a);case e:return this.constructStichedFromIR(a);default:return this.constructPostScriptFromIR(a)}},parse:function(a,b){var c=this.getIR(a,b);return this.fromIR(c)},parseArray:function(a,b){if(!C(b))return this.parse(a,b);for(var c=[],d=0,e=b.length;e>d;d++){var f=a.fetchIfRef(b[d]);c.push(Ta.parse(a,f))}return function(a,b,d,e){for(var f=0,g=c.length;g>f;f++)c[f](a,b,d,e+f)}},constructSampled:function(d,e){function f(a){for(var b=a.length,c=[],d=0,e=0;b>e;e+=2)c[d]=[a[e],a[e+1]],++d;return c}var g=e.get("Domain"),h=e.get("Range");g&&h||c("No domain or range");var i=g.length/2,j=h.length/2;g=f(g),h=f(h);var k=e.get("Size"),l=e.get("BitsPerSample"),m=e.get("Order")||1;1!==m&&a("No support for cubic spline interpolation: "+m);var n=e.get("Encode");if(!n){n=[];for(var o=0;i>o;++o)n.push(0),n.push(k[o]-1)}n=f(n);var p=e.get("Decode");p=p?f(p):h;var q=this.getSampleArray(k,j,l,d);return[b,i,g,n,p,q,k,j,Math.pow(2,l)-1,h]},constructSampledFromIR:function(a){function b(a,b,c,d,e){return d+(a-b)*((e-d)/(c-b))}return function(c,d,e,f){var g,h,i=a[1],j=a[2],k=a[3],l=a[4],m=a[5],n=a[6],o=a[7],p=a[9],q=1<<i,r=new Float64Array(q),s=new Uint32Array(q);for(h=0;q>h;h++)r[h]=1;var t=o,u=1;for(g=0;i>g;++g){var v=j[g][0],w=j[g][1],x=Math.min(Math.max(c[d+g],v),w),y=b(x,v,w,k[g][0],k[g][1]),z=n[g];y=Math.min(Math.max(y,0),z-1);var A=z-1>y?Math.floor(y):y-1,B=A+1-y,C=y-A,D=A*t,E=D+t;for(h=0;q>h;h++)h&u?(r[h]*=C,s[h]+=E):(r[h]*=B,s[h]+=D);t*=z,u<<=1}for(h=0;o>h;++h){var F=0;for(g=0;q>g;g++)F+=m[s[g]+h]*r[g];F=b(F,0,1,l[h][0],l[h][1]),e[f+h]=Math.min(Math.max(F,p[h][0]),p[h][1])}}},constructInterpolated:function(a,b){var e=b.get("C0")||[0],f=b.get("C1")||[1],g=b.get("N");C(e)&&C(f)||c("Illegal dictionary for interpolated function");for(var h=e.length,i=[],j=0;h>j;++j)i.push(f[j]-e[j]);return[d,e,i,g]},constructInterpolatedFromIR:function(a){var b=a[1],c=a[2],d=a[3],e=c.length;return function(a,f,g,h){for(var i=1===d?a[f]:Math.pow(a[f],d),j=0;e>j;++j)g[h+j]=b[j]+i*c[j]}},constructStiched:function(a,b,d){var f=b.get("Domain");f||c("No domain");var g=f.length/2;1!==g&&c("Bad domain for stiched function");for(var h=b.get("Functions"),i=[],j=0,k=h.length;k>j;++j)i.push(Ta.getIR(d,d.fetchIfRef(h[j])));var l=b.get("Bounds"),m=b.get("Encode");return[e,f,l,m,i]},constructStichedFromIR:function(a){for(var b=a[1],c=a[2],d=a[3],e=a[4],f=[],g=new Float32Array(1),h=0,i=e.length;i>h;h++)f.push(Ta.fromIR(e[h]));return function(a,e,h,i){for(var j=function(a,b,c){return a>c?a=c:b>a&&(a=b),a},k=j(a[e],b[0],b[1]),l=0,m=c.length;m>l&&!(k<c[l]);++l);var n=b[0];l>0&&(n=c[l-1]);var o=b[1];l<c.length&&(o=c[l]);var p=d[2*l],q=d[2*l+1];g[0]=n===o?p:p+(k-n)*(q-p)/(o-n),f[l](g,0,h,i)}},constructPostScript:function(a,b,d){var e=b.get("Domain"),g=b.get("Range");e||c("No domain."),g||c("No range.");var h=new Lc(a),i=new Ic(h),j=i.parse();return[f,e,g,j]},constructPostScriptFromIR:function(b){var c=b[1],d=b[2],e=b[3],f=(new Wa).compile(e,c,d);if(f)return new Function("src","srcOffset","dest","destOffset",f);a("Unable to compile PS function");var g=d.length>>1,h=c.length>>1,i=new Va(e),j={},k=8192,l=k,m=new Float32Array(h);return function(a,b,c,e){var f,k,n="",o=m;for(f=0;h>f;f++)k=a[b+f],o[f]=k,n+=k+"_";var p=j[n];if(void 0!==p)return void c.set(p,e);var q=new Float32Array(g),r=i.execute(o),s=r.length-g;for(f=0;g>f;f++){k=r[s+f];var t=d[2*f];t>k?k=t:(t=d[2*f+1],k>t&&(k=t)),q[f]=k}l>0&&(l--,j[n]=q),c.set(q,e)}}}}(),Ua=function(){function a(a){this.stack=a?Array.prototype.slice.call(a,0):[]}var b=100;return a.prototype={push:function(a){this.stack.length>=b&&c("PostScript function stack overflow."),this.stack.push(a)},pop:function(){return this.stack.length<=0&&c("PostScript function stack underflow."),this.stack.pop()},copy:function(a){this.stack.length+a>=b&&c("PostScript function stack overflow.");for(var d=this.stack,e=d.length-a,f=a-1;f>=0;f--,e++)d.push(d[e])},index:function(a){this.push(this.stack[this.stack.length-a-1])},roll:function(a,b){var c,d,e,f=this.stack,g=f.length-a,h=f.length-1,i=g+(b-Math.floor(b/a)*a);for(c=g,d=h;d>c;c++,d--)e=f[c],f[c]=f[d],f[d]=e;for(c=g,d=i-1;d>c;c++,d--)e=f[c],f[c]=f[d],f[d]=e;for(c=i,d=h;d>c;c++,d--)e=f[c],f[c]=f[d],f[d]=e}},a}(),Va=function(){function a(a){this.operators=a}return a.prototype={execute:function(a){for(var b,d,e,f=new Ua(a),g=0,h=this.operators,i=h.length;i>g;)if(b=h[g++],"number"!=typeof b)switch(b){case"jz":e=f.pop(),d=f.pop(),d||(g=e);break;case"j":d=f.pop(),g=d;break;case"abs":d=f.pop(),f.push(Math.abs(d));break;case"add":e=f.pop(),d=f.pop(),f.push(d+e);break;case"and":e=f.pop(),d=f.pop(),v(d)&&v(e)?f.push(d&&e):f.push(d&e);break;case"atan":d=f.pop(),f.push(Math.atan(d));break;case"bitshift":e=f.pop(),d=f.pop(),d>0?f.push(d<<e):f.push(d>>e);break;case"ceiling":d=f.pop(),f.push(Math.ceil(d));break;case"copy":d=f.pop(),f.copy(d);break;case"cos":d=f.pop(),f.push(Math.cos(d));break;case"cvi":d=0|f.pop(),f.push(d);break;case"cvr":break;case"div":e=f.pop(),d=f.pop(),f.push(d/e);break;case"dup":f.copy(1);break;case"eq":e=f.pop(),d=f.pop(),f.push(d===e);break;case"exch":f.roll(2,1);break;case"exp":e=f.pop(),d=f.pop(),f.push(Math.pow(d,e));break;case"false":f.push(!1);break;case"floor":d=f.pop(),f.push(Math.floor(d));break;case"ge":e=f.pop(),d=f.pop(),f.push(d>=e);break;case"gt":e=f.pop(),d=f.pop(),f.push(d>e);break;case"idiv":e=f.pop(),d=f.pop(),f.push(d/e|0);break;case"index":d=f.pop(),f.index(d);break;case"le":e=f.pop(),d=f.pop(),f.push(e>=d);break;case"ln":d=f.pop(),f.push(Math.log(d));break;case"log":d=f.pop(),f.push(Math.log(d)/Math.LN10);break;case"lt":e=f.pop(),d=f.pop(),f.push(e>d);break;case"mod":e=f.pop(),d=f.pop(),f.push(d%e);break;case"mul":e=f.pop(),d=f.pop(),f.push(d*e);break;case"ne":e=f.pop(),d=f.pop(),f.push(d!==e);break;case"neg":d=f.pop(),f.push(-d);break;case"not":d=f.pop(),v(d)?f.push(!d):f.push(~d);break;case"or":e=f.pop(),d=f.pop(),v(d)&&v(e)?f.push(d||e):f.push(d|e);break;case"pop":f.pop();break;case"roll":e=f.pop(),d=f.pop(),f.roll(d,e);break;case"round":d=f.pop(),f.push(Math.round(d));break;case"sin":d=f.pop(),f.push(Math.sin(d));break;case"sqrt":d=f.pop(),f.push(Math.sqrt(d));break;case"sub":e=f.pop(),d=f.pop(),f.push(d-e);break;case"true":f.push(!0);break;case"truncate":d=f.pop(),d=0>d?Math.ceil(d):Math.floor(d),f.push(d);break;case"xor":e=f.pop(),d=f.pop(),v(d)&&v(e)?f.push(d!==e):f.push(d^e);break;default:c("Unknown operator "+b)}else f.push(b);return f.stack}},a}(),Wa=function(){function a(a){this.type=a}function b(b,c,d){a.call(this,"args"),this.index=b,this.min=c,this.max=d}function c(b){a.call(this,"literal"),this.number=b,this.min=b,this.max=b}function d(b,c,d,e,f){a.call(this,"binary"),this.op=b,this.arg1=c,this.arg2=d,this.min=e,this.max=f}function e(b,c){a.call(this,"max"),this.arg=b,this.min=b.min,this.max=c}function f(b,c,d){a.call(this,"var"),this.index=b,this.min=c,this.max=d}function g(b,c){a.call(this,"definition"),this.variable=b,this.arg=c}function h(){this.parts=[]}function i(a,b){return"literal"===b.type&&0===b.number?a:"literal"===a.type&&0===a.number?b:"literal"===b.type&&"literal"===a.type?new c(a.number+b.number):new d("+",a,b,a.min+b.min,a.max+b.max)}function j(a,b){if("literal"===b.type){if(0===b.number)return new c(0);if(1===b.number)return a;if("literal"===a.type)return new c(a.number*b.number)}if("literal"===a.type){if(0===a.number)return new c(0);if(1===a.number)return b}var e=Math.min(a.min*b.min,a.min*b.max,a.max*b.min,a.max*b.max),f=Math.max(a.min*b.min,a.min*b.max,a.max*b.min,a.max*b.max);return new d("*",a,b,e,f)}function k(a,b){if("literal"===b.type){if(0===b.number)return a;if("literal"===a.type)return new c(a.number-b.number)}return"binary"===b.type&&"-"===b.op&&"literal"===a.type&&1===a.number&&"literal"===b.arg1.type&&1===b.arg1.number?b.arg2:new d("-",a,b,a.min-b.max,a.max-b.min)}function l(a,b){return a.min>=b?new c(b):a.max<=b?a:new e(a,b)}function m(){}return a.prototype.visit=function(a){throw new Error("abstract method")},b.prototype=Object.create(a.prototype),b.prototype.visit=function(a){a.visitArgument(this)},c.prototype=Object.create(a.prototype),c.prototype.visit=function(a){a.visitLiteral(this)},d.prototype=Object.create(a.prototype),d.prototype.visit=function(a){a.visitBinaryOperation(this);
-},e.prototype=Object.create(a.prototype),e.prototype.visit=function(a){a.visitMin(this)},f.prototype=Object.create(a.prototype),f.prototype.visit=function(a){a.visitVariable(this)},g.prototype=Object.create(a.prototype),g.prototype.visit=function(a){a.visitVariableDefinition(this)},h.prototype={visitArgument:function(a){this.parts.push("Math.max(",a.min,", Math.min(",a.max,", src[srcOffset + ",a.index,"]))")},visitVariable:function(a){this.parts.push("v",a.index)},visitLiteral:function(a){this.parts.push(a.number)},visitBinaryOperation:function(a){this.parts.push("("),a.arg1.visit(this),this.parts.push(" ",a.op," "),a.arg2.visit(this),this.parts.push(")")},visitVariableDefinition:function(a){this.parts.push("var "),a.variable.visit(this),this.parts.push(" = "),a.arg.visit(this),this.parts.push(";")},visitMin:function(a){this.parts.push("Math.min("),a.arg.visit(this),this.parts.push(", ",a.max,")")},toString:function(){return this.parts.join("")}},m.prototype={compile:function(a,d,e){var m,n,o,p,q,r,s,t,u,v,w=[],x=[],y=d.length>>1,z=e.length>>1,A=0;for(m=0;y>m;m++)w.push(new b(m,d[2*m],d[2*m+1]));for(m=0,n=a.length;n>m;m++)if(v=a[m],"number"!=typeof v)switch(v){case"add":if(w.length<2)return null;r=w.pop(),q=w.pop(),w.push(i(q,r));break;case"cvr":if(w.length<1)return null;break;case"mul":if(w.length<2)return null;r=w.pop(),q=w.pop(),w.push(j(q,r));break;case"sub":if(w.length<2)return null;r=w.pop(),q=w.pop(),w.push(k(q,r));break;case"exch":if(w.length<2)return null;s=w.pop(),t=w.pop(),w.push(s,t);break;case"pop":if(w.length<1)return null;w.pop();break;case"index":if(w.length<1)return null;if(q=w.pop(),"literal"!==q.type)return null;if(o=q.number,0>o||(0|o)!==o||w.length<o)return null;if(s=w[w.length-o-1],"literal"===s.type||"var"===s.type){w.push(s);break}u=new f(A++,s.min,s.max),w[w.length-o-1]=u,w.push(u),x.push(new g(u,s));break;case"dup":if(w.length<1)return null;if("number"==typeof a[m+1]&&"gt"===a[m+2]&&a[m+3]===m+7&&"jz"===a[m+4]&&"pop"===a[m+5]&&a[m+6]===a[m+1]){q=w.pop(),w.push(l(q,a[m+1])),m+=6;break}if(s=w[w.length-1],"literal"===s.type||"var"===s.type){w.push(s);break}u=new f(A++,s.min,s.max),w[w.length-1]=u,w.push(u),x.push(new g(u,s));break;case"roll":if(w.length<2)return null;if(r=w.pop(),q=w.pop(),"literal"!==r.type||"literal"!==q.type)return null;if(p=r.number,o=q.number,0>=o||(0|o)!==o||(0|p)!==p||w.length<o)return null;if(p=(p%o+o)%o,0===p)break;Array.prototype.push.apply(w,w.splice(w.length-o,o-p));break;default:return null}else w.push(new c(v));if(w.length!==z)return null;var B=[];return x.forEach(function(a){var b=new h;a.visit(b),B.push(b.toString())}),w.forEach(function(a,b){var c=new h;a.visit(c);var d=e[2*b],f=e[2*b+1],g=[c.toString()];d>a.min&&(g.unshift("Math.max(",d,", "),g.push(")")),f<a.max&&(g.unshift("Math.min(",f,", "),g.push(")")),g.unshift("dest[destOffset + ",b,"] = "),g.push(";"),B.push(g.join(""))}),B.join("\n")}},m}(),Xa=function(){function a(){c("should not call ColorSpace constructor")}return a.prototype={getRgb:function(a,b){var c=new Uint8Array(3);return this.getRgbItem(a,b,c,0),c},getRgbItem:function(a,b,d,e){c("Should not call ColorSpace.getRgbItem")},getRgbBuffer:function(a,b,d,e,f,g,h){c("Should not call ColorSpace.getRgbBuffer")},getOutputLength:function(a,b){c("Should not call ColorSpace.getOutputLength")},isPassthrough:function(a){return!1},fillRgb:function(a,b,c,d,e,f,g,h,i){var j,k,l=b*c,m=null,n=1<<g,o=c!==e||b!==d;if(this.isPassthrough(g))m=h;else if(1===this.numComps&&l>n&&"DeviceGray"!==this.name&&"DeviceRGB"!==this.name){var p,q=8>=g?new Uint8Array(n):new Uint16Array(n);for(j=0;n>j;j++)q[j]=j;var r=new Uint8Array(3*n);this.getRgbBuffer(q,0,n,r,0,g,0);var s,t;if(o)for(m=new Uint8Array(3*l),t=0,j=0;l>j;++j)p=3*h[j],m[t++]=r[p],m[t++]=r[p+1],m[t++]=r[p+2];else for(s=0,j=0;l>j;++j)p=3*h[j],a[s++]=r[p],a[s++]=r[p+1],a[s++]=r[p+2],s+=i}else o?(m=new Uint8Array(3*l),this.getRgbBuffer(h,0,l,m,0,g,0)):this.getRgbBuffer(h,0,d*f,a,0,g,i);if(m)if(o)Bc.resize(m,g,3,b,c,d,e,a,i);else for(t=0,s=0,j=0,k=d*f;k>j;j++)a[s++]=m[t++],a[s++]=m[t++],a[s++]=m[t++],s+=i},usesZeroToOneRange:!0},a.parse=function(b,c,d){var e=a.parseToIR(b,c,d);return e instanceof Ya?e:a.fromIR(e)},a.fromIR=function(b){var d,e,f,g=C(b)?b[0]:b;switch(g){case"DeviceGrayCS":return this.singletons.gray;case"DeviceRgbCS":return this.singletons.rgb;case"DeviceCmykCS":return this.singletons.cmyk;case"CalGrayCS":return d=b[1].WhitePoint,e=b[1].BlackPoint,f=b[1].Gamma,new cb(d,e,f);case"CalRGBCS":d=b[1].WhitePoint,e=b[1].BlackPoint,f=b[1].Gamma;var h=b[1].Matrix;return new db(d,e,f,h);case"PatternCS":var i=b[1];return i&&(i=a.fromIR(i)),new Za(i);case"IndexedCS":var j=b[1],k=b[2],l=b[3];return new $a(a.fromIR(j),k,l);case"AlternateCS":var m=b[1],n=b[2],o=b[3];return new Ya(m,a.fromIR(n),Ta.fromIR(o));case"LabCS":d=b[1].WhitePoint,e=b[1].BlackPoint;var p=b[1].Range;return new eb(d,e,p);default:c("Unknown name "+g)}return null},a.parseToIR=function(d,e,f){if(z(d)){var g=f.get("ColorSpace");if(B(g)){var h=g.get(d.name);h&&(d=h)}}d=e.fetchIfRef(d);var i;if(z(d))switch(i=d.name,this.mode=i,i){case"DeviceGray":case"G":return"DeviceGrayCS";case"DeviceRGB":case"RGB":return"DeviceRgbCS";case"DeviceCMYK":case"CMYK":return"DeviceCmykCS";case"Pattern":return["PatternCS",null];default:c("unrecognized colorspace "+i)}else if(C(d)){i=e.fetchIfRef(d[0]).name,this.mode=i;var j,k,l;switch(i){case"DeviceGray":case"G":return"DeviceGrayCS";case"DeviceRGB":case"RGB":return"DeviceRgbCS";case"DeviceCMYK":case"CMYK":return"DeviceCmykCS";case"CalGray":return k=e.fetchIfRef(d[1]).getAll(),["CalGrayCS",k];case"CalRGB":return k=e.fetchIfRef(d[1]).getAll(),["CalRGBCS",k];case"ICCBased":var m=e.fetchIfRef(d[1]),n=m.dict;if(j=n.get("N"),l=n.get("Alternate")){var o=a.parseToIR(l,e,f),p=a.fromIR(o);if(p.numComps===j)return o;b("ICCBased color space: Ignoring incorrect /Alternate entry.")}if(1===j)return"DeviceGrayCS";if(3===j)return"DeviceRgbCS";if(4===j)return"DeviceCmykCS";break;case"Pattern":var q=d[1]||null;return q&&(q=a.parseToIR(q,e,f)),["PatternCS",q];case"Indexed":case"I":var r=a.parseToIR(d[1],e,f),s=e.fetchIfRef(d[2])+1,t=e.fetchIfRef(d[3]);return D(t)&&(t=t.getBytes()),["IndexedCS",r,s,t];case"Separation":case"DeviceN":var u=e.fetchIfRef(d[1]);j=1,z(u)?j=1:C(u)&&(j=u.length),l=a.parseToIR(d[2],e,f);var v=Ta.getIR(e,e.fetchIfRef(d[3]));return["AlternateCS",j,l,v];case"Lab":return k=e.fetchIfRef(d[1]).getAll(),["LabCS",k];default:c('unimplemented color space object "'+i+'"')}}else c('unrecognized color space object: "'+d+'"');return null},a.isDefaultDecode=function(a,c){if(!C(a))return!0;if(2*c!==a.length)return b("The decode map is not the correct length"),!0;for(var d=0,e=a.length;e>d;d+=2)if(0!==a[d]||1!==a[d+1])return!1;return!0},a.singletons={get gray(){return g(this,"gray",new _a)},get rgb(){return g(this,"rgb",new ab)},get cmyk(){return g(this,"cmyk",new bb)}},a}(),Ya=function(){function a(a,b,c){this.name="Alternate",this.numComps=a,this.defaultColor=new Float32Array(a);for(var d=0;a>d;++d)this.defaultColor[d]=1;this.base=b,this.tintFn=c,this.tmpBuf=new Float32Array(b.numComps)}return a.prototype={getRgb:Xa.prototype.getRgb,getRgbItem:function(a,b,c,d){var e=this.tmpBuf;this.tintFn(a,b,e,0),this.base.getRgbItem(e,0,c,d)},getRgbBuffer:function(a,b,c,d,e,f,g){var h,i,j=this.tintFn,k=this.base,l=1/((1<<f)-1),m=k.numComps,n=k.usesZeroToOneRange,o=(k.isPassthrough(8)||!n)&&0===g,p=o?e:0,q=o?d:new Uint8Array(m*c),r=this.numComps,s=new Float32Array(r),t=new Float32Array(m);if(n)for(h=0;c>h;h++){for(i=0;r>i;i++)s[i]=a[b++]*l;for(j(s,0,t,0),i=0;m>i;i++)q[p++]=255*t[i]}else for(h=0;c>h;h++){for(i=0;r>i;i++)s[i]=a[b++]*l;j(s,0,t,0),k.getRgbItem(t,0,q,p),p+=m}o||k.getRgbBuffer(q,0,c,d,e,8,g)},getOutputLength:function(a,b){return this.base.getOutputLength(a*this.base.numComps/this.numComps,b)},isPassthrough:Xa.prototype.isPassthrough,fillRgb:Xa.prototype.fillRgb,isDefaultDecode:function(a){return Xa.isDefaultDecode(a,this.numComps)},usesZeroToOneRange:!0},a}(),Za=function(){function a(a){this.name="Pattern",this.base=a}return a.prototype={},a}(),$a=function(){function a(a,b,d){this.name="Indexed",this.numComps=1,this.defaultColor=new Uint8Array([0]),this.base=a,this.highVal=b;var e,f=a.numComps,g=f*b;if(D(d)){e=new Uint8Array(g);var h=d.getBytes(g);e.set(h)}else if(y(d)){e=new Uint8Array(g);for(var i=0;g>i;++i)e[i]=d.charCodeAt(i)}else d instanceof Uint8Array||d instanceof Array?e=d:c("Unrecognized lookup table: "+d);this.lookup=e}return a.prototype={getRgb:Xa.prototype.getRgb,getRgbItem:function(a,b,c,d){var e=this.base.numComps,f=a[b]*e;this.base.getRgbItem(this.lookup,f,c,d)},getRgbBuffer:function(a,b,c,d,e,f,g){for(var h=this.base,i=h.numComps,j=h.getOutputLength(i,g),k=this.lookup,l=0;c>l;++l){var m=a[b++]*i;h.getRgbBuffer(k,m,1,d,e,8,g),e+=j}},getOutputLength:function(a,b){return this.base.getOutputLength(a*this.base.numComps,b)},isPassthrough:Xa.prototype.isPassthrough,fillRgb:Xa.prototype.fillRgb,isDefaultDecode:function(a){return!0},usesZeroToOneRange:!0},a}(),_a=function(){function a(){this.name="DeviceGray",this.numComps=1,this.defaultColor=new Float32Array([0])}return a.prototype={getRgb:Xa.prototype.getRgb,getRgbItem:function(a,b,c,d){var e=255*a[b]|0;e=0>e?0:e>255?255:e,c[d]=c[d+1]=c[d+2]=e},getRgbBuffer:function(a,b,c,d,e,f,g){for(var h=255/((1<<f)-1),i=b,j=e,k=0;c>k;++k){var l=h*a[i++]|0;d[j++]=l,d[j++]=l,d[j++]=l,j+=g}},getOutputLength:function(a,b){return a*(3+b)},isPassthrough:Xa.prototype.isPassthrough,fillRgb:Xa.prototype.fillRgb,isDefaultDecode:function(a){return Xa.isDefaultDecode(a,this.numComps)},usesZeroToOneRange:!0},a}(),ab=function(){function a(){this.name="DeviceRGB",this.numComps=3,this.defaultColor=new Float32Array([0,0,0])}return a.prototype={getRgb:Xa.prototype.getRgb,getRgbItem:function(a,b,c,d){var e=255*a[b]|0,f=255*a[b+1]|0,g=255*a[b+2]|0;c[d]=0>e?0:e>255?255:e,c[d+1]=0>f?0:f>255?255:f,c[d+2]=0>g?0:g>255?255:g},getRgbBuffer:function(a,b,c,d,e,f,g){if(8===f&&0===g)return void d.set(a.subarray(b,b+3*c),e);for(var h=255/((1<<f)-1),i=b,j=e,k=0;c>k;++k)d[j++]=h*a[i++]|0,d[j++]=h*a[i++]|0,d[j++]=h*a[i++]|0,j+=g},getOutputLength:function(a,b){return a*(3+b)/3|0},isPassthrough:function(a){return 8===a},fillRgb:Xa.prototype.fillRgb,isDefaultDecode:function(a){return Xa.isDefaultDecode(a,this.numComps)},usesZeroToOneRange:!0},a}(),bb=function(){function a(a,b,c,d,e){var f=a[b+0]*c,g=a[b+1]*c,h=a[b+2]*c,i=a[b+3]*c,j=f*(-4.387332384609988*f+54.48615194189176*g+18.82290502165302*h+212.25662451639585*i+-285.2331026137004)+g*(1.7149763477362134*g-5.6096736904047315*h+-17.873870861415444*i-5.497006427196366)+h*(-2.5217340131683033*h-21.248923337353073*i+17.5119270841813)+i*(-21.86122147463605*i-189.48180835922747)+255|0,k=f*(8.841041422036149*f+60.118027045597366*g+6.871425592049007*h+31.159100130055922*i+-79.2970844816548)+g*(-15.310361306967817*g+17.575251261109482*h+131.35250912493976*i-190.9453302588951)+h*(4.444339102852739*h+9.8632861493405*i-24.86741582555878)+i*(-20.737325471181034*i-187.80453709719578)+255|0,l=f*(.8842522430003296*f+8.078677503112928*g+30.89978309703729*h-.23883238689178934*i+-14.183576799673286)+g*(10.49593273432072*g+63.02378494754052*h+50.606957656360734*i-112.23884253719248)+h*(.03296041114873217*h+115.60384449646641*i+-193.58209356861505)+i*(-22.33816807309886*i-180.12613974708367)+255|0;d[e]=j>255?255:0>j?0:j,d[e+1]=k>255?255:0>k?0:k,d[e+2]=l>255?255:0>l?0:l}function b(){this.name="DeviceCMYK",this.numComps=4,this.defaultColor=new Float32Array([0,0,0,1])}return b.prototype={getRgb:Xa.prototype.getRgb,getRgbItem:function(b,c,d,e){a(b,c,1,d,e)},getRgbBuffer:function(b,c,d,e,f,g,h){for(var i=1/((1<<g)-1),j=0;d>j;j++)a(b,c,i,e,f),c+=4,f+=3+h},getOutputLength:function(a,b){return a/4*(3+b)|0},isPassthrough:Xa.prototype.isPassthrough,fillRgb:Xa.prototype.fillRgb,isDefaultDecode:function(a){return Xa.isDefaultDecode(a,this.numComps)},usesZeroToOneRange:!0},b}(),cb=function(){function d(d,e,f){this.name="CalGray",this.numComps=1,this.defaultColor=new Float32Array([0]),d||c("WhitePoint missing - required for color space CalGray"),e=e||[0,0,0],f=f||1,this.XW=d[0],this.YW=d[1],this.ZW=d[2],this.XB=e[0],this.YB=e[1],this.ZB=e[2],this.G=f,(this.XW<0||this.ZW<0||1!==this.YW)&&c("Invalid WhitePoint components for "+this.name+", no fallback available"),(this.XB<0||this.YB<0||this.ZB<0)&&(a("Invalid BlackPoint for "+this.name+", falling back to default"),this.XB=this.YB=this.ZB=0),(0!==this.XB||0!==this.YB||0!==this.ZB)&&b(this.name+", BlackPoint: XB: "+this.XB+", YB: "+this.YB+", ZB: "+this.ZB+", only default values are supported."),this.G<1&&(a("Invalid Gamma: "+this.G+" for "+this.name+", falling back to default"),this.G=1)}function e(a,b,c,d,e,f){var g=b[c]*f,h=Math.pow(g,a.G),i=a.YW*h,j=0|Math.max(295.8*Math.pow(i,.3333333333333333)-40.8,0);d[e]=j,d[e+1]=j,d[e+2]=j}return d.prototype={getRgb:Xa.prototype.getRgb,getRgbItem:function(a,b,c,d){e(this,a,b,c,d,1)},getRgbBuffer:function(a,b,c,d,f,g,h){for(var i=1/((1<<g)-1),j=0;c>j;++j)e(this,a,b,d,f,i),b+=1,f+=3+h},getOutputLength:function(a,b){return a*(3+b)},isPassthrough:Xa.prototype.isPassthrough,fillRgb:Xa.prototype.fillRgb,isDefaultDecode:function(a){return Xa.isDefaultDecode(a,this.numComps)},usesZeroToOneRange:!0},d}(),db=function(){function b(b,d,e,f){this.name="CalRGB",this.numComps=3,this.defaultColor=new Float32Array(3),b||c("WhitePoint missing - required for color space CalRGB"),d=d||new Float32Array(3),e=e||new Float32Array([1,1,1]),f=f||new Float32Array([1,0,0,0,1,0,0,0,1]);var g=b[0],h=b[1],i=b[2];this.whitePoint=b;var j=d[0],k=d[1],l=d[2];this.blackPoint=d,this.GR=e[0],this.GG=e[1],this.GB=e[2],this.MXA=f[0],this.MYA=f[1],this.MZA=f[2],this.MXB=f[3],this.MYB=f[4],this.MZB=f[5],this.MXC=f[6],this.MYC=f[7],this.MZC=f[8],(0>g||0>i||1!==h)&&c("Invalid WhitePoint components for "+this.name+", no fallback available"),(0>j||0>k||0>l)&&(a("Invalid BlackPoint for "+this.name+" ["+j+", "+k+", "+l+"], falling back to default"),this.blackPoint=new Float32Array(3)),(this.GR<0||this.GG<0||this.GB<0)&&(a("Invalid Gamma ["+this.GR+", "+this.GG+", "+this.GB+"] for "+this.name+", falling back to default"),this.GR=this.GG=this.GB=1),(this.MXA<0||this.MYA<0||this.MZA<0||this.MXB<0||this.MYB<0||this.MZB<0||this.MXC<0||this.MYC<0||this.MZC<0)&&(a("Invalid Matrix for "+this.name+" ["+this.MXA+", "+this.MYA+", "+this.MZA+this.MXB+", "+this.MYB+", "+this.MZB+this.MXC+", "+this.MYC+", "+this.MZC+"], falling back to default"),this.MXA=this.MYB=this.MZC=1,this.MXB=this.MYA=this.MZA=this.MXC=this.MYC=this.MZB=0)}function d(a,b,c){c[0]=a[0]*b[0]+a[1]*b[1]+a[2]*b[2],c[1]=a[3]*b[0]+a[4]*b[1]+a[5]*b[2],c[2]=a[6]*b[0]+a[7]*b[1]+a[8]*b[2]}function e(a,b,c){c[0]=1*b[0]/a[0],c[1]=1*b[1]/a[1],c[2]=1*b[2]/a[2]}function f(a,b,c){var d=.95047,e=1,f=1.08883;c[0]=b[0]*d/a[0],c[1]=b[1]*e/a[1],c[2]=b[2]*f/a[2]}function g(a){return.0031308>=a?h(0,1,12.92*a):h(0,1,1.055*Math.pow(a,1/2.4)-.055)}function h(a,b,c){return Math.max(a,Math.min(b,c))}function i(a){return 0>a?-i(-a):a>8?Math.pow((a+16)/116,3):a*u}function j(a,b,c){if(0===a[0]&&0===a[1]&&0===a[2])return c[0]=b[0],c[1]=b[1],void(c[2]=b[2]);var d=i(0),e=d,f=i(a[0]),g=d,h=i(a[1]),j=d,k=i(a[2]),l=(1-e)/(1-f),m=1-l,n=(1-g)/(1-h),o=1-n,p=(1-j)/(1-k),q=1-p;c[0]=b[0]*l+m,c[1]=b[1]*n+o,c[2]=b[2]*p+q}function k(a,b,c){if(1===a[0]&&1===a[2])return c[0]=b[0],c[1]=b[1],void(c[2]=b[2]);var f=c;d(n,b,f);var g=r;e(a,f,g),d(o,g,c)}function l(a,b,c){var e=c;d(n,b,e);var g=r;f(a,e,g),d(o,g,c)}function m(a,b,c,e,f,i){var m=h(0,1,b[c]*i),n=h(0,1,b[c+1]*i),o=h(0,1,b[c+2]*i),r=Math.pow(m,a.GR),u=Math.pow(n,a.GG),v=Math.pow(o,a.GB),w=a.MXA*r+a.MXB*u+a.MXC*v,x=a.MYA*r+a.MYB*u+a.MYC*v,y=a.MZA*r+a.MZB*u+a.MZC*v,z=s;z[0]=w,z[1]=x,z[2]=y;var A=t;k(a.whitePoint,z,A);var B=s;j(a.blackPoint,A,B);var C=t;l(q,B,C);var D=s;d(p,C,D);var E=g(D[0]),F=g(D[1]),G=g(D[2]);e[f]=Math.round(255*E),e[f+1]=Math.round(255*F),e[f+2]=Math.round(255*G)}var n=new Float32Array([.8951,.2664,-.1614,-.7502,1.7135,.0367,.0389,-.0685,1.0296]),o=new Float32Array([.9869929,-.1470543,.1599627,.4323053,.5183603,.0492912,-.0085287,.0400428,.9684867]),p=new Float32Array([3.2404542,-1.5371385,-.4985314,-.969266,1.8760108,.041556,.0556434,-.2040259,1.0572252]),q=new Float32Array([1,1,1]),r=new Float32Array(3),s=new Float32Array(3),t=new Float32Array(3),u=Math.pow(24/116,3)/8;return b.prototype={getRgb:function(a,b){var c=new Uint8Array(3);return this.getRgbItem(a,b,c,0),c},getRgbItem:function(a,b,c,d){m(this,a,b,c,d,1)},getRgbBuffer:function(a,b,c,d,e,f,g){for(var h=1/((1<<f)-1),i=0;c>i;++i)m(this,a,b,d,e,h),b+=3,e+=3+g},getOutputLength:function(a,b){return a*(3+b)/3|0},isPassthrough:Xa.prototype.isPassthrough,fillRgb:Xa.prototype.fillRgb,isDefaultDecode:function(a){return Xa.isDefaultDecode(a,this.numComps)},usesZeroToOneRange:!0},b}(),eb=function(){function b(b,d,e){this.name="Lab",this.numComps=3,this.defaultColor=new Float32Array([0,0,0]),b||c("WhitePoint missing - required for color space Lab"),d=d||[0,0,0],e=e||[-100,100,-100,100],this.XW=b[0],this.YW=b[1],this.ZW=b[2],this.amin=e[0],this.amax=e[1],this.bmin=e[2],this.bmax=e[3],this.XB=d[0],this.YB=d[1],this.ZB=d[2],(this.XW<0||this.ZW<0||1!==this.YW)&&c("Invalid WhitePoint components, no fallback available"),(this.XB<0||this.YB<0||this.ZB<0)&&(a("Invalid BlackPoint, falling back to default"),this.XB=this.YB=this.ZB=0),(this.amin>this.amax||this.bmin>this.bmax)&&(a("Invalid Range, falling back to defaults"),this.amin=-100,this.amax=100,this.bmin=-100,this.bmax=100)}function d(a){return a>=6/29?a*a*a:108/841*(a-4/29)}function e(a,b,c,d){return c+a*(d-c)/b}function f(a,b,c,f,g,h){var i=b[c],j=b[c+1],k=b[c+2];f!==!1&&(i=e(i,f,0,100),j=e(j,f,a.amin,a.amax),k=e(k,f,a.bmin,a.bmax)),j=j>a.amax?a.amax:j<a.amin?a.amin:j,k=k>a.bmax?a.bmax:k<a.bmin?a.bmin:k;var l,m,n,o=(i+16)/116,p=o+j/500,q=o-k/200,r=a.XW*d(p),s=a.YW*d(o),t=a.ZW*d(q);a.ZW<1?(l=3.1339*r+-1.617*s+t*-.4906,m=r*-.9785+1.916*s+.0333*t,n=.072*r+s*-.229+1.4057*t):(l=3.2406*r+-1.5372*s+t*-.4986,m=r*-.9689+1.8758*s+.0415*t,n=.0557*r+s*-.204+1.057*t),g[h]=0>=l?0:l>=1?255:255*Math.sqrt(l)|0,g[h+1]=0>=m?0:m>=1?255:255*Math.sqrt(m)|0,g[h+2]=0>=n?0:n>=1?255:255*Math.sqrt(n)|0}return b.prototype={getRgb:Xa.prototype.getRgb,getRgbItem:function(a,b,c,d){f(this,a,b,!1,c,d)},getRgbBuffer:function(a,b,c,d,e,g,h){for(var i=(1<<g)-1,j=0;c>j;j++)f(this,a,b,i,d,e),b+=3,e+=3+h},getOutputLength:function(a,b){return a*(3+b)/3|0},isPassthrough:Xa.prototype.isPassthrough,fillRgb:Xa.prototype.fillRgb,isDefaultDecode:function(a){return!0},usesZeroToOneRange:!1},b}(),fb=function(){function a(a){this.a=0,this.b=0;var b,c,d=new Uint8Array(256),e=0,f=a.length;for(b=0;256>b;++b)d[b]=b;for(b=0;256>b;++b)c=d[b],e=e+c+a[b%f]&255,d[b]=d[e],d[e]=c;this.s=d}return a.prototype={encryptBlock:function(a){var b,c,d,e=a.length,f=this.a,g=this.b,h=this.s,i=new Uint8Array(e);for(b=0;e>b;++b)f=f+1&255,c=h[f],g=g+c&255,d=h[g],h[f]=d,h[g]=c,i[b]=a[b]^h[c+d&255];return this.a=f,this.b=g,i}},a.prototype.decryptBlock=a.prototype.encryptBlock,a}(),gb=function(){function a(a,d,e){var f,g,h,i=1732584193,j=-271733879,k=-1732584194,l=271733878,m=e+72&-64,n=new Uint8Array(m);for(f=0;e>f;++f)n[f]=a[d++];for(n[f++]=128,h=m-8;h>f;)n[f++]=0;n[f++]=e<<3&255,n[f++]=e>>5&255,n[f++]=e>>13&255,n[f++]=e>>21&255,n[f++]=e>>>29&255,n[f++]=0,n[f++]=0,n[f++]=0;var o=new Int32Array(16);for(f=0;m>f;){for(g=0;16>g;++g,f+=4)o[g]=n[f]|n[f+1]<<8|n[f+2]<<16|n[f+3]<<24;var p,q,r=i,s=j,t=k,u=l;for(g=0;64>g;++g){16>g?(p=s&t|~s&u,q=g):32>g?(p=u&s|~u&t,q=5*g+1&15):48>g?(p=s^t^u,q=3*g+5&15):(p=t^(s|~u),q=7*g&15);var v=u,w=r+p+c[g]+o[q]|0,x=b[g];u=t,t=s,s=s+(w<<x|w>>>32-x)|0,r=v}i=i+r|0,j=j+s|0,k=k+t|0,l=l+u|0}return new Uint8Array([255&i,i>>8&255,i>>16&255,i>>>24&255,255&j,j>>8&255,j>>16&255,j>>>24&255,255&k,k>>8&255,k>>16&255,k>>>24&255,255&l,l>>8&255,l>>16&255,l>>>24&255])}var b=new Uint8Array([7,12,17,22,7,12,17,22,7,12,17,22,7,12,17,22,5,9,14,20,5,9,14,20,5,9,14,20,5,9,14,20,4,11,16,23,4,11,16,23,4,11,16,23,4,11,16,23,6,10,15,21,6,10,15,21,6,10,15,21,6,10,15,21]),c=new Int32Array([-680876936,-389564586,606105819,-1044525330,-176418897,1200080426,-1473231341,-45705983,1770035416,-1958414417,-42063,-1990404162,1804603682,-40341101,-1502002290,1236535329,-165796510,-1069501632,643717713,-373897302,-701558691,38016083,-660478335,-405537848,568446438,-1019803690,-187363961,1163531501,-1444681467,-51403784,1735328473,-1926607734,-378558,-2022574463,1839030562,-35309556,-1530992060,1272893353,-155497632,-1094730640,681279174,-358537222,-722521979,76029189,-640364487,-421815835,530742520,-995338651,-198630844,1126891415,-1416354905,-57434055,1700485571,-1894986606,-1051523,-2054922799,1873313359,-30611744,-1560198380,1309151649,-145523070,-1120210379,718787259,-343485551]);return a}(),hb=function(){function a(a,b){this.high=0|a,this.low=0|b}return a.prototype={and:function(a){this.high&=a.high,this.low&=a.low},xor:function(a){this.high^=a.high,this.low^=a.low},or:function(a){this.high|=a.high,this.low|=a.low},shiftRight:function(a){a>=32?(this.low=this.high>>>a-32|0,this.high=0):(this.low=this.low>>>a|this.high<<32-a,this.high=this.high>>>a|0)},shiftLeft:function(a){a>=32?(this.high=this.low<<a-32,this.low=0):(this.high=this.high<<a|this.low>>>32-a,this.low=this.low<<a)},rotateRight:function(a){var b,c;32&a?(c=this.low,b=this.high):(b=this.low,c=this.high),a&=31,this.low=b>>>a|c<<32-a,this.high=c>>>a|b<<32-a},not:function(){this.high=~this.high,this.low=~this.low},add:function(a){var b=(this.low>>>0)+(a.low>>>0),c=(this.high>>>0)+(a.high>>>0);b>4294967295&&(c+=1),this.low=0|b,this.high=0|c},copyTo:function(a,b){a[b]=this.high>>>24&255,a[b+1]=this.high>>16&255,a[b+2]=this.high>>8&255,a[b+3]=255&this.high,a[b+4]=this.low>>>24&255,a[b+5]=this.low>>16&255,a[b+6]=this.low>>8&255,a[b+7]=255&this.low},assign:function(a){this.high=a.high,this.low=a.low}},a}(),ib=function(){function a(a,b){return a>>>b|a<<32-b}function b(a,b,c){return a&b^~a&c}function c(a,b,c){return a&b^a&c^b&c}function d(b){return a(b,2)^a(b,13)^a(b,22)}function e(b){return a(b,6)^a(b,11)^a(b,25)}function f(b){return a(b,7)^a(b,18)^b>>>3}function g(b){return a(b,17)^a(b,19)^b>>>10}function h(a,h,j){var k,l,m,n=1779033703,o=3144134277,p=1013904242,q=2773480762,r=1359893119,s=2600822924,t=528734635,u=1541459225,v=64*Math.ceil((j+9)/64),w=new Uint8Array(v);for(k=0;j>k;++k)w[k]=a[h++];for(w[k++]=128,m=v-8;m>k;)w[k++]=0;w[k++]=0,w[k++]=0,w[k++]=0,w[k++]=j>>>29&255,w[k++]=j>>21&255,w[k++]=j>>13&255,w[k++]=j>>5&255,w[k++]=j<<3&255;var x=new Uint32Array(64);for(k=0;v>k;){for(l=0;16>l;++l)x[l]=w[k]<<24|w[k+1]<<16|w[k+2]<<8|w[k+3],k+=4;for(l=16;64>l;++l)x[l]=g(x[l-2])+x[l-7]+f(x[l-15])+x[l-16]|0;var y,z,A=n,B=o,C=p,D=q,E=r,F=s,G=t,H=u;for(l=0;64>l;++l)y=H+e(E)+b(E,F,G)+i[l]+x[l],z=d(A)+c(A,B,C),H=G,G=F,F=E,E=D+y|0,D=C,C=B,B=A,A=y+z|0;n=n+A|0,o=o+B|0,p=p+C|0,q=q+D|0,r=r+E|0,s=s+F|0,t=t+G|0,u=u+H|0}return new Uint8Array([n>>24&255,n>>16&255,n>>8&255,255&n,o>>24&255,o>>16&255,o>>8&255,255&o,p>>24&255,p>>16&255,p>>8&255,255&p,q>>24&255,q>>16&255,q>>8&255,255&q,r>>24&255,r>>16&255,r>>8&255,255&r,s>>24&255,s>>16&255,s>>8&255,255&s,t>>24&255,t>>16&255,t>>8&255,255&t,u>>24&255,u>>16&255,u>>8&255,255&u])}var i=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];return h}(),jb=function(){function a(a,b,c,d,e){a.assign(b),a.and(c),e.assign(b),e.not(),e.and(d),a.xor(e)}function b(a,b,c,d,e){a.assign(b),a.and(c),e.assign(b),e.and(d),a.xor(e),e.assign(c),e.and(d),a.xor(e)}function c(a,b,c){a.assign(b),a.rotateRight(28),c.assign(b),c.rotateRight(34),a.xor(c),c.assign(b),c.rotateRight(39),a.xor(c)}function d(a,b,c){a.assign(b),a.rotateRight(14),c.assign(b),c.rotateRight(18),a.xor(c),c.assign(b),c.rotateRight(41),a.xor(c)}function e(a,b,c){a.assign(b),a.rotateRight(1),c.assign(b),c.rotateRight(8),a.xor(c),c.assign(b),c.shiftRight(7),a.xor(c)}function f(a,b,c){a.assign(b),a.rotateRight(19),c.assign(b),c.rotateRight(61),a.xor(c),c.assign(b),c.shiftRight(6),a.xor(c)}function g(g,i,j,k){k=!!k;var l,m,n,o,p,q,r,s;k?(l=new hb(3418070365,3238371032),m=new hb(1654270250,914150663),n=new hb(2438529370,812702999),o=new hb(355462360,4144912697),p=new hb(1731405415,4290775857),q=new hb(2394180231,1750603025),r=new hb(3675008525,1694076839),s=new hb(1203062813,3204075428)):(l=new hb(1779033703,4089235720),m=new hb(3144134277,2227873595),n=new hb(1013904242,4271175723),o=new hb(2773480762,1595750129),p=new hb(1359893119,2917565137),q=new hb(2600822924,725511199),r=new hb(528734635,4215389547),s=new hb(1541459225,327033209));var t,u,v,w=128*Math.ceil((j+17)/128),x=new Uint8Array(w);for(t=0;j>t;++t)x[t]=g[i++];for(x[t++]=128,v=w-16;v>t;)x[t++]=0;x[t++]=0,x[t++]=0,x[t++]=0,x[t++]=0,x[t++]=0,x[t++]=0,x[t++]=0,x[t++]=0,x[t++]=0,x[t++]=0,x[t++]=0,x[t++]=j>>>29&255,x[t++]=j>>21&255,x[t++]=j>>13&255,x[t++]=j>>5&255,x[t++]=j<<3&255;var y=new Array(80);for(t=0;80>t;t++)y[t]=new hb(0,0);var z,A=new hb(0,0),B=new hb(0,0),C=new hb(0,0),D=new hb(0,0),E=new hb(0,0),F=new hb(0,0),G=new hb(0,0),H=new hb(0,0),I=new hb(0,0),J=new hb(0,0),K=new hb(0,0),L=new hb(0,0);for(t=0;w>t;){for(u=0;16>u;++u)y[u].high=x[t]<<24|x[t+1]<<16|x[t+2]<<8|x[t+3],y[u].low=x[t+4]<<24|x[t+5]<<16|x[t+6]<<8|x[t+7],t+=8;for(u=16;80>u;++u)z=y[u],f(z,y[u-2],L),z.add(y[u-7]),e(K,y[u-15],L),z.add(K),z.add(y[u-16]);for(A.assign(l),B.assign(m),C.assign(n),D.assign(o),E.assign(p),F.assign(q),G.assign(r),H.assign(s),u=0;80>u;++u)I.assign(H),d(K,E,L),I.add(K),a(K,E,F,G,L),I.add(K),I.add(h[u]),I.add(y[u]),c(J,A,L),b(K,A,B,C,L),J.add(K),z=H,H=G,G=F,F=E,D.add(I),E=D,D=C,C=B,B=A,z.assign(I),z.add(J),A=z;l.add(A),m.add(B),n.add(C),o.add(D),p.add(E),q.add(F),r.add(G),s.add(H)}var M;return k?(M=new Uint8Array(48),l.copyTo(M,0),m.copyTo(M,8),n.copyTo(M,16),o.copyTo(M,24),p.copyTo(M,32),q.copyTo(M,40)):(M=new Uint8Array(64),l.copyTo(M,0),m.copyTo(M,8),n.copyTo(M,16),o.copyTo(M,24),p.copyTo(M,32),q.copyTo(M,40),r.copyTo(M,48),s.copyTo(M,56)),M}var h=[new hb(1116352408,3609767458),new hb(1899447441,602891725),new hb(3049323471,3964484399),new hb(3921009573,2173295548),new hb(961987163,4081628472),new hb(1508970993,3053834265),new hb(2453635748,2937671579),new hb(2870763221,3664609560),new hb(3624381080,2734883394),new hb(310598401,1164996542),new hb(607225278,1323610764),new hb(1426881987,3590304994),new hb(1925078388,4068182383),new hb(2162078206,991336113),new hb(2614888103,633803317),new hb(3248222580,3479774868),new hb(3835390401,2666613458),new hb(4022224774,944711139),new hb(264347078,2341262773),new hb(604807628,2007800933),new hb(770255983,1495990901),new hb(1249150122,1856431235),new hb(1555081692,3175218132),new hb(1996064986,2198950837),new hb(2554220882,3999719339),new hb(2821834349,766784016),new hb(2952996808,2566594879),new hb(3210313671,3203337956),new hb(3336571891,1034457026),new hb(3584528711,2466948901),new hb(113926993,3758326383),new hb(338241895,168717936),new hb(666307205,1188179964),new hb(773529912,1546045734),new hb(1294757372,1522805485),new hb(1396182291,2643833823),new hb(1695183700,2343527390),new hb(1986661051,1014477480),new hb(2177026350,1206759142),new hb(2456956037,344077627),new hb(2730485921,1290863460),new hb(2820302411,3158454273),new hb(3259730800,3505952657),new hb(3345764771,106217008),new hb(3516065817,3606008344),new hb(3600352804,1432725776),new hb(4094571909,1467031594),new hb(275423344,851169720),new hb(430227734,3100823752),new hb(506948616,1363258195),new hb(659060556,3750685593),new hb(883997877,3785050280),new hb(958139571,3318307427),new hb(1322822218,3812723403),new hb(1537002063,2003034995),new hb(1747873779,3602036899),new hb(1955562222,1575990012),new hb(2024104815,1125592928),new hb(2227730452,2716904306),new hb(2361852424,442776044),new hb(2428436474,593698344),new hb(2756734187,3733110249),new hb(3204031479,2999351573),new hb(3329325298,3815920427),new hb(3391569614,3928383900),new hb(3515267271,566280711),new hb(3940187606,3454069534),new hb(4118630271,4000239992),new hb(116418474,1914138554),new hb(174292421,2731055270),new hb(289380356,3203993006),new hb(460393269,320620315),new hb(685471733,587496836),new hb(852142971,1086792851),new hb(1017036298,365543100),new hb(1126000580,2618297676),new hb(1288033470,3409855158),new hb(1501505948,4234509866),new hb(1607167915,987167468),new hb(1816402316,1246189591)];return g}(),kb=function(){function a(a,b,c){return jb(a,b,c,!0)}return a}(),lb=function(){function a(){}return a.prototype={decryptBlock:function(a){return a}},a}(),mb=function(){function a(a){var b=176,c=new Uint8Array(b);c.set(a);for(var d=16,e=1;b>d;++e){var h=c[d-3],i=c[d-2],j=c[d-1],k=c[d-4];h=g[h],i=g[i],j=g[j],k=g[k],h^=f[e];for(var l=0;4>l;++l)c[d]=h^=c[d-16],d++,c[d]=i^=c[d-16],d++,c[d]=j^=c[d-16],d++,c[d]=k^=c[d-16],d++}return c}function b(a,b){var c=new Uint8Array(16);c.set(a);var d,e,f,g,i,j;for(e=0,f=160;16>e;++e,++f)c[e]^=b[f];for(d=9;d>=1;--d){for(g=c[13],c[13]=c[9],c[9]=c[5],c[5]=c[1],c[1]=g,g=c[14],i=c[10],c[14]=c[6],c[10]=c[2],c[6]=g,c[2]=i,g=c[15],i=c[11],j=c[7],c[15]=c[3],c[11]=g,c[7]=i,c[3]=j,e=0;16>e;++e)c[e]=h[c[e]];for(e=0,f=16*d;16>e;++e,++f)c[e]^=b[f];for(e=0;16>e;e+=4){var l=k[c[e]],m=k[c[e+1]],n=k[c[e+2]],o=k[c[e+3]];g=l^m>>>8^m<<24^n>>>16^n<<16^o>>>24^o<<8,c[e]=g>>>24&255,c[e+1]=g>>16&255,c[e+2]=g>>8&255,c[e+3]=255&g}}for(g=c[13],c[13]=c[9],c[9]=c[5],c[5]=c[1],c[1]=g,g=c[14],i=c[10],c[14]=c[6],c[10]=c[2],c[6]=g,c[2]=i,g=c[15],i=c[11],j=c[7],c[15]=c[3],c[11]=g,c[7]=i,c[3]=j,e=0;16>e;++e)c[e]=h[c[e]],c[e]^=b[e];return c}function c(a,b){var c,d,e,f,h=new Uint8Array(16);for(h.set(a),k=0;16>k;++k)h[k]^=b[k];for(j=1;10>j;j++){for(k=0;16>k;++k)h[k]=g[h[k]];e=h[1],h[1]=h[5],h[5]=h[9],h[9]=h[13],h[13]=e,e=h[2],d=h[6],h[2]=h[10],h[6]=h[14],h[10]=e,h[14]=d,e=h[3],d=h[7],c=h[11],h[3]=h[15],h[7]=e,h[11]=d,h[15]=c;for(var k=0;16>k;k+=4){var l=h[k+0],m=h[k+1],n=h[k+2],o=h[k+3];c=l^m^n^o,h[k+0]^=c^i[l^m],h[k+1]^=c^i[m^n],h[k+2]^=c^i[n^o],h[k+3]^=c^i[o^l]}for(k=0,f=16*j;16>k;++k,++f)h[k]^=b[f]}for(k=0;16>k;++k)h[k]=g[h[k]];for(e=h[1],h[1]=h[5],h[5]=h[9],h[9]=h[13],h[13]=e,e=h[2],d=h[6],h[2]=h[10],h[6]=h[14],h[10]=e,h[14]=d,e=h[3],d=h[7],c=h[11],h[3]=h[15],h[7]=e,h[11]=d,h[15]=c,k=0,f=160;16>k;++k,++f)h[k]^=b[f];return h}function d(b){this.key=a(b),this.buffer=new Uint8Array(16),this.bufferPosition=0}function e(a,c){var d,e,f,g=a.length,h=this.buffer,i=this.bufferPosition,j=[],k=this.iv;for(d=0;g>d;++d)if(h[i]=a[d],++i,!(16>i)){var l=b(h,this.key);for(e=0;16>e;++e)l[e]^=k[e];k=h,j.push(l),h=new Uint8Array(16),i=0}if(this.buffer=h,this.bufferLength=i,this.iv=k,0===j.length)return new Uint8Array([]);var m=16*j.length;if(c){var n=j[j.length-1],o=n[15];if(16>=o){for(d=15,f=16-o;d>=f;--d)if(n[d]!==o){o=0;break}m-=o,j[j.length-1]=n.subarray(0,16-o)}}var p=new Uint8Array(m);for(d=0,e=0,f=j.length;f>d;++d,e+=16)p.set(j[d],e);return p}for(var f=new Uint8Array([141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141]),g=new Uint8Array([99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22]),h=new Uint8Array([82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125]),i=new Uint8Array(256),j=0;256>j;j++)128>j?i[j]=j<<1:i[j]=j<<1^27;
-var k=new Uint32Array([0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795]);return d.prototype={decryptBlock:function(a,b){var c,d=a.length,f=this.buffer,g=this.bufferPosition;for(c=0;16>g&&d>c;++c,++g)f[g]=a[c];return 16>g?(this.bufferLength=g,new Uint8Array([])):(this.iv=f,this.buffer=new Uint8Array(16),this.bufferLength=0,this.decryptBlock=e,this.decryptBlock(a.subarray(16),b))},encrypt:function(a,b){var d,e,f,g=a.length,h=this.buffer,i=this.bufferPosition,j=[];for(b||(b=new Uint8Array(16)),d=0;g>d;++d)if(h[i]=a[d],++i,!(16>i)){for(e=0;16>e;++e)h[e]^=b[e];var k=c(h,this.key);b=k,j.push(k),h=new Uint8Array(16),i=0}if(this.buffer=h,this.bufferLength=i,this.iv=b,0===j.length)return new Uint8Array([]);var l=16*j.length,m=new Uint8Array(l);for(d=0,e=0,f=j.length;f>d;++d,e+=16)m.set(j[d],e);return m}},d}(),nb=function(){function a(a){var b=240,c=new Uint8Array(b),d=1;c.set(a);for(var e=32,g=1;b>e;++g){if(e%32===16)h=f[h],i=f[i],j=f[j],k=f[k];else if(e%32===0){var h=c[e-3],i=c[e-2],j=c[e-1],k=c[e-4];h=f[h],i=f[i],j=f[j],k=f[k],h^=d,(d<<=1)>=256&&(d=255&(27^d))}for(var l=0;4>l;++l)c[e]=h^=c[e-32],e++,c[e]=i^=c[e-32],e++,c[e]=j^=c[e-32],e++,c[e]=k^=c[e-32],e++}return c}function b(a,b){var c=new Uint8Array(16);c.set(a);var d,e,f,h,i,k;for(e=0,f=224;16>e;++e,++f)c[e]^=b[f];for(d=13;d>=1;--d){for(h=c[13],c[13]=c[9],c[9]=c[5],c[5]=c[1],c[1]=h,h=c[14],i=c[10],c[14]=c[6],c[10]=c[2],c[6]=h,c[2]=i,h=c[15],i=c[11],k=c[7],c[15]=c[3],c[11]=h,c[7]=i,c[3]=k,e=0;16>e;++e)c[e]=g[c[e]];for(e=0,f=16*d;16>e;++e,++f)c[e]^=b[f];for(e=0;16>e;e+=4){var l=j[c[e]],m=j[c[e+1]],n=j[c[e+2]],o=j[c[e+3]];h=l^m>>>8^m<<24^n>>>16^n<<16^o>>>24^o<<8,c[e]=h>>>24&255,c[e+1]=h>>16&255,c[e+2]=h>>8&255,c[e+3]=255&h}}for(h=c[13],c[13]=c[9],c[9]=c[5],c[5]=c[1],c[1]=h,h=c[14],i=c[10],c[14]=c[6],c[10]=c[2],c[6]=h,c[2]=i,h=c[15],i=c[11],k=c[7],c[15]=c[3],c[11]=h,c[7]=i,c[3]=k,e=0;16>e;++e)c[e]=g[c[e]],c[e]^=b[e];return c}function c(a,b){var c,d,e,g,j=new Uint8Array(16);for(j.set(a),k=0;16>k;++k)j[k]^=b[k];for(i=1;14>i;i++){for(k=0;16>k;++k)j[k]=f[j[k]];e=j[1],j[1]=j[5],j[5]=j[9],j[9]=j[13],j[13]=e,e=j[2],d=j[6],j[2]=j[10],j[6]=j[14],j[10]=e,j[14]=d,e=j[3],d=j[7],c=j[11],j[3]=j[15],j[7]=e,j[11]=d,j[15]=c;for(var k=0;16>k;k+=4){var l=j[k+0],m=j[k+1],n=j[k+2],o=j[k+3];c=l^m^n^o,j[k+0]^=c^h[l^m],j[k+1]^=c^h[m^n],j[k+2]^=c^h[n^o],j[k+3]^=c^h[o^l]}for(k=0,g=16*i;16>k;++k,++g)j[k]^=b[g]}for(k=0;16>k;++k)j[k]=f[j[k]];for(e=j[1],j[1]=j[5],j[5]=j[9],j[9]=j[13],j[13]=e,e=j[2],d=j[6],j[2]=j[10],j[6]=j[14],j[10]=e,j[14]=d,e=j[3],d=j[7],c=j[11],j[3]=j[15],j[7]=e,j[11]=d,j[15]=c,k=0,g=224;16>k;++k,++g)j[k]^=b[g];return j}function d(b){this.key=a(b),this.buffer=new Uint8Array(16),this.bufferPosition=0}function e(a,c){var d,e,f,g=a.length,h=this.buffer,i=this.bufferPosition,j=[],k=this.iv;for(d=0;g>d;++d)if(h[i]=a[d],++i,!(16>i)){var l=b(h,this.key);for(e=0;16>e;++e)l[e]^=k[e];k=h,j.push(l),h=new Uint8Array(16),i=0}if(this.buffer=h,this.bufferLength=i,this.iv=k,0===j.length)return new Uint8Array([]);var m=16*j.length;if(c){var n=j[j.length-1],o=n[15];if(16>=o){for(d=15,f=16-o;d>=f;--d)if(n[d]!==o){o=0;break}m-=o,j[j.length-1]=n.subarray(0,16-o)}}var p=new Uint8Array(m);for(d=0,e=0,f=j.length;f>d;++d,e+=16)p.set(j[d],e);return p}for(var f=(new Uint8Array([141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141]),new Uint8Array([99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22])),g=new Uint8Array([82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125]),h=new Uint8Array(256),i=0;256>i;i++)128>i?h[i]=i<<1:h[i]=i<<1^27;var j=new Uint32Array([0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795]);return d.prototype={decryptBlock:function(a,b,c){var d,f=a.length,g=this.buffer,h=this.bufferPosition;if(c)this.iv=c;else{for(d=0;16>h&&f>d;++d,++h)g[h]=a[d];if(16>h)return this.bufferLength=h,new Uint8Array([]);this.iv=g,a=a.subarray(16)}return this.buffer=new Uint8Array(16),this.bufferLength=0,this.decryptBlock=e,this.decryptBlock(a,b)},encrypt:function(a,b){var d,e,f,g=a.length,h=this.buffer,i=this.bufferPosition,j=[];for(b||(b=new Uint8Array(16)),d=0;g>d;++d)if(h[i]=a[d],++i,!(16>i)){for(e=0;16>e;++e)h[e]^=b[e];var k=c(h,this.key);this.iv=k,j.push(k),h=new Uint8Array(16),i=0}if(this.buffer=h,this.bufferLength=i,this.iv=b,0===j.length)return new Uint8Array([]);var l=16*j.length,m=new Uint8Array(l);for(d=0,e=0,f=j.length;f>d;++d,e+=16)m.set(j[d],e);return m}},d}(),ob=function(){function a(a,b){if(a.length!==b.length)return!1;for(var c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}function b(){}return b.prototype={checkOwnerPassword:function(b,c,d,e){var f=new Uint8Array(b.length+56);f.set(b,0),f.set(c,b.length),f.set(d,b.length+c.length);var g=ib(f,0,f.length);return a(g,e)},checkUserPassword:function(b,c,d){var e=new Uint8Array(b.length+8);e.set(b,0),e.set(c,b.length);var f=ib(e,0,e.length);return a(f,d)},getOwnerKey:function(a,b,c,d){var e=new Uint8Array(a.length+56);e.set(a,0),e.set(b,a.length),e.set(c,a.length+b.length);var f=ib(e,0,e.length),g=new nb(f);return g.decryptBlock(d,!1,new Uint8Array(16))},getUserKey:function(a,b,c){var d=new Uint8Array(a.length+8);d.set(a,0),d.set(b,a.length);var e=ib(d,0,d.length),f=new nb(e);return f.decryptBlock(c,!1,new Uint8Array(16))}},b}(),pb=function(){function a(a,b){var c=new Uint8Array(a.length+b.length);return c.set(a,0),c.set(b,a.length),c}function b(b,c,d){for(var e=ib(c,0,c.length).subarray(0,32),f=[0],g=0;64>g||f[f.length-1]>g-32;){var h=b.length+e.length+d.length,i=new Uint8Array(64*h),j=a(b,e);j=a(j,d);for(var k=0,l=0;64>k;k++,l+=h)i.set(j,l);var m=new mb(e.subarray(0,16));f=m.encrypt(i,e.subarray(16,32));for(var n=0,o=0;16>o;o++)n*=1,n%=3,n+=(f[o]>>>0)%3,n%=3;0===n?e=ib(f,0,f.length):1===n?e=kb(f,0,f.length):2===n&&(e=jb(f,0,f.length)),g++}return e.subarray(0,32)}function c(){}function d(a,b){if(a.length!==b.length)return!1;for(var c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}return c.prototype={hash:function(a,c,d){return b(a,c,d)},checkOwnerPassword:function(a,c,e,f){var g=new Uint8Array(a.length+56);g.set(a,0),g.set(c,a.length),g.set(e,a.length+c.length);var h=b(a,g,e);return d(h,f)},checkUserPassword:function(a,c,e){var f=new Uint8Array(a.length+8);f.set(a,0),f.set(c,a.length);var g=b(a,f,[]);return d(g,e)},getOwnerKey:function(a,c,d,e){var f=new Uint8Array(a.length+56);f.set(a,0),f.set(c,a.length),f.set(d,a.length+c.length);var g=b(a,f,d),h=new nb(g);return h.decryptBlock(e,!1,new Uint8Array(16))},getUserKey:function(a,c,d){var e=new Uint8Array(a.length+8);e.set(a,0),e.set(c,a.length);var f=b(a,e,[]),g=new nb(f);return g.decryptBlock(d,!1,new Uint8Array(16))}},c}(),qb=function(){function a(a,b){this.stringCipherConstructor=a,this.streamCipherConstructor=b}return a.prototype={createStream:function(a,b){var c=new this.streamCipherConstructor;return new Vc(a,b,function(a,b){return c.decryptBlock(a,b)})},decryptString:function(a){var b=new this.stringCipherConstructor,c=j(a);return c=b.decryptBlock(c,!0),i(c)}},a}(),rb=function(){function a(a,b,c,d,e,f,g,h,i,j,k,l){if(b){var m=Math.min(127,b.length);b=b.subarray(0,m)}else b=[];var n;if(n=6===a?new pb:new ob){if(n.checkUserPassword(b,h,g))return n.getUserKey(b,i,k);if(b.length&&n.checkOwnerPassword(b,d,f,c))return n.getOwnerKey(b,e,f,j)}return null}function d(a,b,c,d,e,f,g,h){var j,k,l=40+c.length+a.length,m=new Uint8Array(l),n=0;if(b)for(k=Math.min(32,b.length);k>n;++n)m[n]=b[n];for(j=0;32>n;)m[n++]=i[j++];for(j=0,k=c.length;k>j;++j)m[n++]=c[j];for(m[n++]=255&e,m[n++]=e>>8&255,m[n++]=e>>16&255,m[n++]=e>>>24&255,j=0,k=a.length;k>j;++j)m[n++]=a[j];f>=4&&!h&&(m[n++]=255,m[n++]=255,m[n++]=255,m[n++]=255);var o=gb(m,0,n),p=g>>3;if(f>=3)for(j=0;50>j;++j)o=gb(o,0,p);var q,r,s=o.subarray(0,p);if(f>=3){for(n=0;32>n;++n)m[n]=i[n];for(j=0,k=a.length;k>j;++j)m[n++]=a[j];q=new fb(s),r=q.encryptBlock(gb(m,0,n)),k=s.length;var t,u=new Uint8Array(k);for(j=1;19>=j;++j){for(t=0;k>t;++t)u[t]=s[t]^j;q=new fb(u),r=q.encryptBlock(r)}for(j=0,k=r.length;k>j;++j)if(d[j]!==r[j])return null}else for(q=new fb(s),r=q.encryptBlock(i),j=0,k=r.length;k>j;++j)if(d[j]!==r[j])return null;return s}function e(a,b,c,d){var e,f,g=new Uint8Array(32),h=0;for(f=Math.min(32,a.length);f>h;++h)g[h]=a[h];for(e=0;32>h;)g[h++]=i[e++];var j=gb(g,0,h),k=d>>3;if(c>=3)for(e=0;50>e;++e)j=gb(j,0,j.length);var l,m;if(c>=3){m=b;var n,o=new Uint8Array(k);for(e=19;e>=0;e--){for(n=0;k>n;++n)o[n]=j[n]^e;l=new fb(o),m=l.encryptBlock(m)}}else l=new fb(j.subarray(0,k)),m=l.encryptBlock(b);return m}function f(f,g,h){var i=f.get("Filter");z(i)&&"Standard"===i.name||c("unknown encryption method"),this.dict=f;var l=f.get("V");(!w(l)||1!==l&&2!==l&&4!==l&&5!==l)&&c("unsupported encryption algorithm"),this.algorithm=l;var m=f.get("Length")||40;(!w(m)||40>m||m%8!==0)&&c("invalid key length");var n=j(f.get("O")).subarray(0,32),o=j(f.get("U")).subarray(0,32),p=f.get("P"),q=f.get("R"),r=(4===l||5===l)&&f.get("EncryptMetadata")!==!1;this.encryptMetadata=r;var s,u=j(g);if(h){if(6===q)try{h=t(h)}catch(v){b("CipherTransformFactory: Unable to convert UTF8 encoded password.")}s=j(h)}var x;if(5!==l)x=d(u,s,n,o,p,q,m,r);else{var y=j(f.get("O")).subarray(32,40),A=j(f.get("O")).subarray(40,48),B=j(f.get("U")).subarray(0,48),C=j(f.get("U")).subarray(32,40),D=j(f.get("U")).subarray(40,48),E=j(f.get("OE")),F=j(f.get("UE")),G=j(f.get("Perms"));x=a(q,s,n,y,A,B,o,C,D,E,F,G)}if(!x&&!h)throw new da("No password given",ca.NEED_PASSWORD);if(!x&&h){var H=e(s,n,q,m);x=d(u,H,n,o,p,q,m,r)}if(!x)throw new da("Incorrect Password",ca.INCORRECT_PASSWORD);this.encryptionKey=x,l>=4&&(this.cf=f.get("CF"),this.stmf=f.get("StmF")||k,this.strf=f.get("StrF")||k,this.eff=f.get("EFF")||this.stmf)}function g(a,b,c,d){var e,f,g=new Uint8Array(c.length+9);for(e=0,f=c.length;f>e;++e)g[e]=c[e];g[e++]=255&a,g[e++]=a>>8&255,g[e++]=a>>16&255,g[e++]=255&b,g[e++]=b>>8&255,d&&(g[e++]=115,g[e++]=65,g[e++]=108,g[e++]=84);var h=gb(g,0,e);return h.subarray(0,Math.min(c.length+5,16))}function h(a,b,d,e,f){var h,i=a.get(b.name);return null!==i&&void 0!==i&&(h=i.get("CFM")),h&&"None"!==h.name?"V2"===h.name?function(){return new fb(g(d,e,f,!1))}:"AESV2"===h.name?function(){return new mb(g(d,e,f,!0))}:"AESV3"===h.name?function(){return new nb(f)}:void c("Unknown crypto method"):function(){return new lb}}var i=new Uint8Array([40,191,78,94,78,117,138,65,100,0,78,86,255,250,1,8,46,46,0,182,208,104,62,128,47,12,169,254,100,83,105,122]),k=ya.get("Identity");return f.prototype={createCipherTransform:function(a,b){if(4===this.algorithm||5===this.algorithm)return new qb(h(this.cf,this.stmf,a,b,this.encryptionKey),h(this.cf,this.strf,a,b,this.encryptionKey));var c=g(a,b,this.encryptionKey,!1),d=function(){return new fb(c)};return new qb(d,d)}},f}(),sb={FUNCTION_BASED:1,AXIAL:2,RADIAL:3,FREE_FORM_MESH:4,LATTICE_FORM_MESH:5,COONS_PATCH_MESH:6,TENSOR_PATCH_MESH:7},tb=function(){function a(){c("should not call Pattern constructor")}return a.prototype={getPattern:function(a){c("Should not call Pattern.getStyle: "+a)}},a.parseShading=function(a,c,d,e){var f=D(a)?a.dict:a,g=f.get("ShadingType");try{switch(g){case sb.AXIAL:case sb.RADIAL:return new ub.RadialAxial(f,c,d,e);case sb.FREE_FORM_MESH:case sb.LATTICE_FORM_MESH:case sb.COONS_PATCH_MESH:case sb.TENSOR_PATCH_MESH:return new ub.Mesh(a,c,d,e);default:throw new Error("Unsupported ShadingType: "+g)}}catch(h){if(h instanceof ja)throw h;return aa.notify(_.shadingPattern),b(h),new ub.Dummy}},a}(),ub={};ub.SMALL_NUMBER=.01,ub.RadialAxial=function(){function d(c,d,e,f){this.matrix=d,this.coordsArr=c.get("Coords"),this.shadingType=c.get("ShadingType"),this.type="Pattern";var g=c.get("ColorSpace","CS");g=Xa.parse(g,e,f),this.cs=g;var h=0,i=1;if(c.has("Domain")){var j=c.get("Domain");h=j[0],i=j[1]}var k=!1,l=!1;if(c.has("Extend")){var m=c.get("Extend");k=m[0],l=m[1]}if(!(this.shadingType!==sb.RADIAL||k&&l)){var n=this.coordsArr[0],o=this.coordsArr[1],p=this.coordsArr[2],q=this.coordsArr[3],r=this.coordsArr[4],s=this.coordsArr[5],t=Math.sqrt((n-q)*(n-q)+(o-r)*(o-r));s+t>=p&&p+t>=s&&b("Unsupported radial gradient.")}this.extendStart=k,this.extendEnd=l;var u=c.get("Function"),v=Ta.parseArray(e,u),w=i-h,x=w/10,y=this.colorStops=[];if(h>=i||0>=x)return void a("Bad shading domain.");for(var z,A=new Float32Array(g.numComps),B=new Float32Array(1),C=h;i>=C;C+=x){B[0]=C,v(B,0,A,0),z=g.getRgb(A,0);var D=na.makeCssRgb(z[0],z[1],z[2]);y.push([(C-h)/w,D])}var E="transparent";c.has("Background")&&(z=g.getRgb(c.get("Background"),0),E=na.makeCssRgb(z[0],z[1],z[2])),k||(y.unshift([0,E]),y[1][0]+=ub.SMALL_NUMBER),l||(y[y.length-1][0]-=ub.SMALL_NUMBER,y.push([1,E])),this.colorStops=y}return d.prototype={getIR:function(){var a,b,d,e,f,g=this.coordsArr,h=this.shadingType;h===sb.AXIAL?(b=[g[0],g[1]],d=[g[2],g[3]],e=null,f=null,a="axial"):h===sb.RADIAL?(b=[g[0],g[1]],d=[g[3],g[4]],e=g[2],f=g[5],a="radial"):c("getPattern type unknown: "+h);var i=this.matrix;return i&&(b=na.applyTransform(b,i),d=na.applyTransform(d,i)),["RadialAxial",a,this.colorStops,b,d,e,f]}},d}(),ub.Mesh=function(){function a(a,b){this.stream=a,this.context=b,this.buffer=0,this.bufferLength=0;var c=b.numComps;this.tmpCompsBuf=new Float32Array(c);var d=b.colorSpace.numComps;this.tmpCsCompsBuf=b.colorFn?new Float32Array(d):this.tmpCompsBuf}function b(a,b){for(var c=a.coords,d=a.colors,f=[],g=[],h=0;b.hasData;){var i=b.readFlag(),j=b.readCoordinate(),k=b.readComponents();if(0===h){switch(e(i>=0&&2>=i,"Unknown type4 flag"),i){case 0:h=3;break;case 1:g.push(g[g.length-2],g[g.length-1]),h=1;break;case 2:g.push(g[g.length-3],g[g.length-1]),h=1}f.push(i)}g.push(c.length),c.push(j),d.push(k),h--,b.align()}a.figures.push({type:"triangles",coords:new Int32Array(g),colors:new Int32Array(g)})}function d(a,b,c){for(var d=a.coords,e=a.colors,f=[];b.hasData;){var g=b.readCoordinate(),h=b.readComponents();f.push(d.length),d.push(g),e.push(h)}a.figures.push({type:"lattice",coords:new Int32Array(f),colors:new Int32Array(f),verticesPerRow:c})}function f(a,b){var c=a.figures[b];e("patch"===c.type,"Unexpected patch mesh figure");var d=a.coords,f=a.colors,g=c.coords,h=c.colors,i=Math.min(d[g[0]][0],d[g[3]][0],d[g[12]][0],d[g[15]][0]),j=Math.min(d[g[0]][1],d[g[3]][1],d[g[12]][1],d[g[15]][1]),k=Math.max(d[g[0]][0],d[g[3]][0],d[g[12]][0],d[g[15]][0]),p=Math.max(d[g[0]][1],d[g[3]][1],d[g[12]][1],d[g[15]][1]),q=Math.ceil((k-i)*n/(a.bounds[2]-a.bounds[0]));q=Math.max(l,Math.min(m,q));var r=Math.ceil((p-j)*n/(a.bounds[3]-a.bounds[1]));r=Math.max(l,Math.min(m,r));for(var s=q+1,t=new Int32Array((r+1)*s),u=new Int32Array((r+1)*s),v=0,w=new Uint8Array(3),x=new Uint8Array(3),y=f[h[0]],z=f[h[1]],A=f[h[2]],B=f[h[3]],C=o(r),D=o(q),E=0;r>=E;E++){w[0]=(y[0]*(r-E)+A[0]*E)/r|0,w[1]=(y[1]*(r-E)+A[1]*E)/r|0,w[2]=(y[2]*(r-E)+A[2]*E)/r|0,x[0]=(z[0]*(r-E)+B[0]*E)/r|0,x[1]=(z[1]*(r-E)+B[1]*E)/r|0,x[2]=(z[2]*(r-E)+B[2]*E)/r|0;for(var F=0;q>=F;F++,v++)if(0!==E&&E!==r||0!==F&&F!==q){for(var G=0,H=0,I=0,J=0;3>=J;J++)for(var K=0;3>=K;K++,I++){var L=C[E][J]*D[F][K];G+=d[g[I]][0]*L,H+=d[g[I]][1]*L}t[v]=d.length,d.push([G,H]),u[v]=f.length;var M=new Uint8Array(3);M[0]=(w[0]*(q-F)+x[0]*F)/q|0,M[1]=(w[1]*(q-F)+x[1]*F)/q|0,M[2]=(w[2]*(q-F)+x[2]*F)/q|0,f.push(M)}}t[0]=g[0],u[0]=h[0],t[q]=g[3],u[q]=h[1],t[s*r]=g[12],u[s*r]=h[2],t[s*r+q]=g[15],u[s*r+q]=h[3],a.figures[b]={type:"lattice",coords:t,colors:u,verticesPerRow:s}}function g(a,b){for(var c=a.coords,d=a.colors,f=new Int32Array(16),g=new Int32Array(4);b.hasData;){var h=b.readFlag();e(h>=0&&3>=h,"Unknown type6 flag");var i,j,k=c.length;for(i=0,j=0!==h?8:12;j>i;i++)c.push(b.readCoordinate());var l=d.length;for(i=0,j=0!==h?2:4;j>i;i++)d.push(b.readComponents());var m,n,o,p;switch(h){case 0:f[12]=k+3,f[13]=k+4,f[14]=k+5,f[15]=k+6,f[8]=k+2,f[11]=k+7,f[4]=k+1,f[7]=k+8,f[0]=k,f[1]=k+11,f[2]=k+10,f[3]=k+9,g[2]=l+1,g[3]=l+2,g[0]=l,g[1]=l+3;break;case 1:m=f[12],n=f[13],o=f[14],p=f[15],f[12]=p,f[13]=k+0,f[14]=k+1,f[15]=k+2,f[8]=o,f[11]=k+3,f[4]=n,f[7]=k+4,f[0]=m,f[1]=k+7,f[2]=k+6,f[3]=k+5,m=g[2],n=g[3],g[2]=n,g[3]=l,g[0]=m,g[1]=l+1;break;case 2:m=f[15],n=f[11],f[12]=f[3],f[13]=k+0,f[14]=k+1,f[15]=k+2,f[8]=f[7],f[11]=k+3,f[4]=n,f[7]=k+4,f[0]=m,f[1]=k+7,f[2]=k+6,f[3]=k+5,m=g[3],g[2]=g[1],g[3]=l,g[0]=m,g[1]=l+1;break;case 3:f[12]=f[0],f[13]=k+0,f[14]=k+1,f[15]=k+2,f[8]=f[1],f[11]=k+3,f[4]=f[2],f[7]=k+4,f[0]=f[3],f[1]=k+7,f[2]=k+6,f[3]=k+5,g[2]=g[0],g[3]=l,g[0]=g[1],g[1]=l+1}f[5]=c.length,c.push([(-4*c[f[0]][0]-c[f[15]][0]+6*(c[f[4]][0]+c[f[1]][0])-2*(c[f[12]][0]+c[f[3]][0])+3*(c[f[13]][0]+c[f[7]][0]))/9,(-4*c[f[0]][1]-c[f[15]][1]+6*(c[f[4]][1]+c[f[1]][1])-2*(c[f[12]][1]+c[f[3]][1])+3*(c[f[13]][1]+c[f[7]][1]))/9]),f[6]=c.length,c.push([(-4*c[f[3]][0]-c[f[12]][0]+6*(c[f[2]][0]+c[f[7]][0])-2*(c[f[0]][0]+c[f[15]][0])+3*(c[f[4]][0]+c[f[14]][0]))/9,(-4*c[f[3]][1]-c[f[12]][1]+6*(c[f[2]][1]+c[f[7]][1])-2*(c[f[0]][1]+c[f[15]][1])+3*(c[f[4]][1]+c[f[14]][1]))/9]),f[9]=c.length,c.push([(-4*c[f[12]][0]-c[f[3]][0]+6*(c[f[8]][0]+c[f[13]][0])-2*(c[f[0]][0]+c[f[15]][0])+3*(c[f[11]][0]+c[f[1]][0]))/9,(-4*c[f[12]][1]-c[f[3]][1]+6*(c[f[8]][1]+c[f[13]][1])-2*(c[f[0]][1]+c[f[15]][1])+3*(c[f[11]][1]+c[f[1]][1]))/9]),f[10]=c.length,c.push([(-4*c[f[15]][0]-c[f[0]][0]+6*(c[f[11]][0]+c[f[14]][0])-2*(c[f[12]][0]+c[f[3]][0])+3*(c[f[2]][0]+c[f[8]][0]))/9,(-4*c[f[15]][1]-c[f[0]][1]+6*(c[f[11]][1]+c[f[14]][1])-2*(c[f[12]][1]+c[f[3]][1])+3*(c[f[2]][1]+c[f[8]][1]))/9]),a.figures.push({type:"patch",coords:new Int32Array(f),colors:new Int32Array(g)})}}function h(a,b){for(var c=a.coords,d=a.colors,f=new Int32Array(16),g=new Int32Array(4);b.hasData;){var h=b.readFlag();e(h>=0&&3>=h,"Unknown type7 flag");var i,j,k=c.length;for(i=0,j=0!==h?12:16;j>i;i++)c.push(b.readCoordinate());var l=d.length;for(i=0,j=0!==h?2:4;j>i;i++)d.push(b.readComponents());var m,n,o,p;switch(h){case 0:f[12]=k+3,f[13]=k+4,f[14]=k+5,f[15]=k+6,f[8]=k+2,f[9]=k+13,f[10]=k+14,f[11]=k+7,f[4]=k+1,f[5]=k+12,f[6]=k+15,f[7]=k+8,f[0]=k,f[1]=k+11,f[2]=k+10,f[3]=k+9,g[2]=l+1,g[3]=l+2,g[0]=l,g[1]=l+3;break;case 1:m=f[12],n=f[13],o=f[14],p=f[15],f[12]=p,f[13]=k+0,f[14]=k+1,f[15]=k+2,f[8]=o,f[9]=k+9,f[10]=k+10,f[11]=k+3,f[4]=n,f[5]=k+8,f[6]=k+11,f[7]=k+4,f[0]=m,f[1]=k+7,f[2]=k+6,f[3]=k+5,m=g[2],n=g[3],g[2]=n,g[3]=l,g[0]=m,g[1]=l+1;break;case 2:m=f[15],n=f[11],f[12]=f[3],f[13]=k+0,f[14]=k+1,f[15]=k+2,f[8]=f[7],f[9]=k+9,f[10]=k+10,f[11]=k+3,f[4]=n,f[5]=k+8,f[6]=k+11,f[7]=k+4,f[0]=m,f[1]=k+7,f[2]=k+6,f[3]=k+5,m=g[3],g[2]=g[1],g[3]=l,g[0]=m,g[1]=l+1;break;case 3:f[12]=f[0],f[13]=k+0,f[14]=k+1,f[15]=k+2,f[8]=f[1],f[9]=k+9,f[10]=k+10,f[11]=k+3,f[4]=f[2],f[5]=k+8,f[6]=k+11,f[7]=k+4,f[0]=f[3],f[1]=k+7,f[2]=k+6,f[3]=k+5,g[2]=g[0],g[3]=l,g[0]=g[1],g[1]=l+1}a.figures.push({type:"patch",coords:new Int32Array(f),colors:new Int32Array(g)})}}function i(a){for(var b=a.coords[0][0],c=a.coords[0][1],d=b,e=c,f=1,g=a.coords.length;g>f;f++){var h=a.coords[f][0],i=a.coords[f][1];b=b>h?h:b,c=c>i?i:c,d=h>d?h:d,e=i>e?i:e}a.bounds=[b,c,d,e]}function j(a){var b,c,d,e,f=a.coords,g=new Float32Array(2*f.length);for(b=0,d=0,c=f.length;c>b;b++){var h=f[b];g[d++]=h[0],g[d++]=h[1]}a.coords=g;var i=a.colors,j=new Uint8Array(3*i.length);for(b=0,d=0,c=i.length;c>b;b++){var k=i[b];j[d++]=k[0],j[d++]=k[1],j[d++]=k[2]}a.colors=j;var l=a.figures;for(b=0,c=l.length;c>b;b++){var m=l[b],n=m.coords,o=m.colors;for(d=0,e=n.length;e>d;d++)n[d]*=2,o[d]*=3}}function k(k,l,m,n){e(D(k),"Mesh data is not a stream");var o=k.dict;this.matrix=l,this.shadingType=o.get("ShadingType"),this.type="Pattern",this.bbox=o.get("BBox");var p=o.get("ColorSpace","CS");p=Xa.parse(p,m,n),this.cs=p,this.background=o.has("Background")?p.getRgb(o.get("Background"),0):null;var q=o.get("Function"),r=q?Ta.parseArray(m,q):null;this.coords=[],this.colors=[],this.figures=[];var s={bitsPerCoordinate:o.get("BitsPerCoordinate"),bitsPerComponent:o.get("BitsPerComponent"),bitsPerFlag:o.get("BitsPerFlag"),decode:o.get("Decode"),colorFn:r,colorSpace:p,numComps:r?1:p.numComps},t=new a(k,s),u=!1;switch(this.shadingType){case sb.FREE_FORM_MESH:b(this,t);break;case sb.LATTICE_FORM_MESH:var v=0|o.get("VerticesPerRow");e(v>=2,"Invalid VerticesPerRow"),d(this,t,v);break;case sb.COONS_PATCH_MESH:g(this,t),u=!0;break;case sb.TENSOR_PATCH_MESH:h(this,t),u=!0;break;default:c("Unsupported mesh type.")}if(u){i(this);for(var w=0,x=this.figures.length;x>w;w++)f(this,w)}i(this),j(this)}a.prototype={get hasData(){if(this.stream.end)return this.stream.pos<this.stream.end;if(this.bufferLength>0)return!0;var a=this.stream.getByte();return 0>a?!1:(this.buffer=a,this.bufferLength=8,!0)},readBits:function(a){var b=this.buffer,c=this.bufferLength;if(32===a){if(0===c)return(this.stream.getByte()<<24|this.stream.getByte()<<16|this.stream.getByte()<<8|this.stream.getByte())>>>0;b=b<<24|this.stream.getByte()<<16|this.stream.getByte()<<8|this.stream.getByte();var d=this.stream.getByte();return this.buffer=d&(1<<c)-1,(b<<8-c|(255&d)>>c)>>>0}if(8===a&&0===c)return this.stream.getByte();for(;a>c;)b=b<<8|this.stream.getByte(),c+=8;return c-=a,this.bufferLength=c,this.buffer=b&(1<<c)-1,b>>c},align:function(){this.buffer=0,this.bufferLength=0},readFlag:function(){return this.readBits(this.context.bitsPerFlag)},readCoordinate:function(){var a=this.context.bitsPerCoordinate,b=this.readBits(a),c=this.readBits(a),d=this.context.decode,e=32>a?1/((1<<a)-1):2.3283064365386963e-10;return[b*e*(d[1]-d[0])+d[0],c*e*(d[3]-d[2])+d[2]]},readComponents:function(){for(var a=this.context.numComps,b=this.context.bitsPerComponent,c=32>b?1/((1<<b)-1):2.3283064365386963e-10,d=this.context.decode,e=this.tmpCompsBuf,f=0,g=4;a>f;f++,g+=2){var h=this.readBits(b);e[f]=h*c*(d[g+1]-d[g])+d[g]}var i=this.tmpCsCompsBuf;return this.context.colorFn&&this.context.colorFn(e,0,i,0),this.context.colorSpace.getRgb(i,0)}};var l=3,m=20,n=20,o=function(){function a(a){for(var b=[],c=0;a>=c;c++){var d=c/a,e=1-d;b.push(new Float32Array([e*e*e,3*d*e*e,3*d*d*e,d*d*d]))}return b}var b=[];return function(c){return b[c]||(b[c]=a(c)),b[c]}}();return k.prototype={getIR:function(){return["Mesh",this.shadingType,this.coords,this.colors,this.figures,this.bounds,this.matrix,this.bbox,this.background]}},k}(),ub.Dummy=function(){function a(){this.type="Pattern"}return a.prototype={getIR:function(){return["Dummy"]}},a}();var vb=function(){function d(a,b,c,d,e,f,g){this.pdfManager=a,this.xref=b,this.handler=c,this.pageIndex=d,this.uniquePrefix=e,this.idCounters=f,this.fontCache=g}function f(){this.reset()}var g=20,h=100;f.prototype={check:function(){return++this.checked<h?!1:(this.checked=0,this.endTime<=Date.now())},reset:function(){this.endTime=Date.now()+g,this.checked=0}};var i=Promise.resolve(),j=1,k=2;return d.prototype={hasBlendModes:function(a){if(!B(a))return!1;var b=Object.create(null);a.objId&&(b[a.objId]=!0);for(var c=[a];c.length;){var d,e=c.shift(),f=e.get("ExtGState");if(B(f)){f=f.getAll();for(d in f){var g=f[d],h=g.BM;if(z(h)&&"Normal"!==h.name)return!0}}var i=e.get("XObject");if(B(i)){i=i.getAll();for(d in i){var j=i[d];if(D(j)){if(j.dict.objId){if(b[j.dict.objId])continue;b[j.dict.objId]=!0}var k=j.dict.get("Resources");!B(k)||k.objId&&b[k.objId]||(c.push(k),k.objId&&(b[k.objId]=!0))}}}}return!1},buildFormXObject:function(a,b,c,d,e,f){var g=b.dict.getArray("Matrix"),h=b.dict.getArray("BBox"),i=b.dict.get("Group");if(i){var j,k={matrix:g,bbox:h,smask:c,isolated:!1,knockout:!1},l=i.get("S");z(l)&&"Transparency"===l.name&&(k.isolated=i.get("I")||!1,k.knockout=i.get("K")||!1,j=i.has("CS")?Xa.parse(i.get("CS"),this.xref,a):null),c&&c.backdrop&&(j=j||Xa.singletons.rgb,c.backdrop=j.getRgb(c.backdrop,0)),d.addOp($.beginGroup,[k])}return d.addOp($.paintFormXObjectBegin,[g,h]),this.getOperatorList(b,e,b.dict.get("Resources")||a,d,f).then(function(){d.addOp($.paintFormXObjectEnd,[]),i&&d.addOp($.endGroup,[k])})},buildPaintImageXObject:function(a,c,d,e,f,g){var h=this,i=c.dict,j=i.get("Width","W"),k=i.get("Height","H");if(!(j&&x(j)&&k&&x(k)))return void b("Image dimensions are missing, or not numbers.");if(-1!==PDFJS.maxImageSize&&j*k>PDFJS.maxImageSize)return void b("Image exceeded maximum allowed size and was removed.");var l,m,n=i.get("ImageMask","IM")||!1;if(n){var o=i.get("Width","W"),p=i.get("Height","H"),q=o+7>>3,r=c.getBytes(q*p),s=i.get("Decode","D"),t=!!s&&s[0]>0;
-return l=Bc.createMask(r,o,p,c instanceof Oc,t),l.cached=!0,m=[l],e.addOp($.paintImageMaskXObject,m),void(f&&(g[f]={fn:$.paintImageMaskXObject,args:m}))}var u=i.get("SMask","SM")||!1,v=i.get("Mask")||!1,w=200;if(d&&!u&&!v&&!(c instanceof Sc)&&w>j+k){var y=new Bc(this.xref,a,c,d,null,null);return l=y.createImageData(!0),void e.addOp($.paintInlineImageXObject,[l])}var z=this.uniquePrefix||"",A="img_"+z+ ++this.idCounters.obj;return e.addDependency(A),m=[A,j,k],!u&&!v&&c instanceof Sc&&c.isNativelySupported(this.xref,a)?(e.addOp($.paintJpegXObject,m),void this.handler.send("obj",[A,this.pageIndex,"JpegStream",c.getIR()])):(Bc.buildImage(h.handler,h.xref,a,c,d).then(function(a){var b=a.createImageData(!1);h.handler.send("obj",[A,h.pageIndex,"Image",b],[b.data.buffer])}).then(void 0,function(a){b("Unable to decode image: "+a),h.handler.send("obj",[A,h.pageIndex,"Image",null])}),e.addOp($.paintImageXObject,m),void(f&&(g[f]={fn:$.paintImageXObject,args:m})))},handleSMask:function(a,b,c,d,e){var f=a.get("G"),g={subtype:a.get("S").name,backdrop:a.get("BC")};return this.buildFormXObject(b,f,g,c,d,e.state.clone())},handleTilingType:function(a,b,c,d,e,f,g){var h=new xb,i=[e.get("Resources"),c],j=Aa.merge(this.xref,i);return this.getOperatorList(d,g,j,h).then(function(){f.addDependencies(h.dependencies),f.addOp(a,J({fnArray:h.fnArray,argsArray:h.argsArray},e,b))})},handleSetFont:function(a,b,c,d,e,f){var g;b&&(b=b.slice(),g=b[0].name);var h=this;return this.loadFont(g,c,this.xref,a).then(function(b){return b.font.isType3Font?b.loadType3Data(h,a,d,e).then(function(){return b}):b}).then(function(a){return f.font=a.font,a.send(h.handler),a.loadedName})},handleText:function(a,b){var c=b.font,d=c.charsToGlyphs(a),e=!!(b.textRenderingMode&U.ADD_TO_PATH_FLAG);if(c.data&&(e||PDFJS.disableFontFace))for(var f=function(a){if(!c.renderer.hasBuiltPath(a)){var b=c.renderer.getPathJs(a);this.handler.send("commonobj",[c.loadedName+"_path_"+a,"FontPath",b])}}.bind(this),g=0,h=d.length;h>g;g++){var i=d[g];if(null!==i){f(i.fontChar);var j=i.accent;j&&j.fontChar&&f(j.fontChar)}}return d},setGState:function(c,d,e,f,g,h){var i=[],j=d.map,k=this,l=Promise.resolve();for(var m in j){var n=j[m];switch(m){case"Type":break;case"LW":case"LC":case"LJ":case"ML":case"D":case"RI":case"FL":case"CA":case"ca":i.push([m,n]);break;case"Font":l=l.then(function(){return k.handleSetFont(c,null,n[0],e,f,h.state).then(function(a){e.addDependency(a),i.push([m,[a,n[1]]])})});break;case"BM":i.push([m,n]);break;case"SMask":if(z(n)&&"None"===n.name){i.push([m,!1]);break}var o=g.fetchIfRef(n);B(o)?(l=l.then(function(){return k.handleSMask(o,c,e,f,h)}),i.push([m,!0])):b("Unsupported SMask type");break;case"OP":case"op":case"OPM":case"BG":case"BG2":case"UCR":case"UCR2":case"TR":case"TR2":case"HT":case"SM":case"SA":case"AIS":case"TK":a("graphic state operator "+m);break;default:a("Unknown graphic state operator "+m)}}return l.then(function(){i.length>=0&&e.addOp($.setGState,[i])})},loadFont:function(a,c,d,f){function g(){return Promise.resolve(new wb("g_font_error",new ec("Font "+a+" is not available"),c))}var h;if(c)e(F(c)),h=c;else{var i=f.get("Font");if(!i)return b("fontRes not available"),g();h=i.getRaw(a)}if(!h)return b("fontRef not available"),g();if(this.fontCache.has(h))return this.fontCache.get(h);if(c=d.fetchIfRef(h),!B(c))return g();if(c.translated)return c.translated;var j=G(),k=this.preEvaluateFont(c,d),l=k.descriptor,m=h.num+"_"+h.gen;if(B(l)){l.fontAliases||(l.fontAliases=Object.create(null));var n=l.fontAliases,o=k.hash;if(n[o]){var p=n[o].aliasRef;if(p&&this.fontCache.has(p))return this.fontCache.putAlias(h,p),this.fontCache.get(h)}n[o]||(n[o]={fontID:dc.getFontID()}),n[o].aliasRef=h,m=n[o].fontID}var q=B(h);q||this.fontCache.put(h,j.promise),c.loadedName="g_font_"+(q?a.replace(/\W/g,""):m),c.translated=j.promise;var r;try{r=Promise.resolve(this.translateFont(k,d))}catch(s){r=Promise.reject(s)}return r.then(function(a){if(void 0!==a.fontType){var b=d.stats.fontTypes;b[a.fontType]=!0}j.resolve(new wb(c.loadedName,a,c))},function(a){aa.notify(_.font);try{var b=k.descriptor,e=b&&b.get("FontFile3"),f=e&&e.get("Subtype"),g=P(k.type,f&&f.name),h=d.stats.fontTypes;h[g]=!0}catch(i){}j.resolve(new wb(c.loadedName,new ec(a instanceof Error?a.message:a),c))}),j.promise},buildPath:function(a,b,c){var d=a.length-1;if(c||(c=[]),0>d||a.fnArray[d]!==$.constructPath)a.addOp($.constructPath,[[b],c]);else{var e=a.argsArray[d];e[0].push(b),Array.prototype.push.apply(e[1],c)}},handleColorN:function(a,b,c,d,e,f,g,h){var i,l=c[c.length-1];if(z(l)&&(i=e.get(l.name))){var m=D(i)?i.dict:i,n=m.get("PatternType");if(n===j){var o=d.base?d.base.getRgb(c,0):null;return this.handleTilingType(b,o,f,i,m,a,g)}if(n===k){var p=m.get("Shading"),q=m.get("Matrix");return i=tb.parseShading(p,q,h,f),a.addOp(b,i.getIR()),Promise.resolve()}return Promise.reject("Unknown PatternType: "+n)}return a.addOp(b,c),Promise.resolve()},getOperatorList:function(d,g,h,j,k){var l=this,m=this.xref,n={};e(j),h=h||Aa.empty;var o=h.get("XObject")||Aa.empty,p=h.get("Pattern")||Aa.empty,q=new yb(k||new Ab),r=new Bb(d,m,q),s=new f;return new Promise(function t(d,f){g.ensureNotTerminated(),s.reset();for(var k,u,v,w,A={};!(k=s.check())&&(A.args=null,r.read(A));){var C=A.args,E=A.fn;switch(0|E){case $.paintXObject:if(C[0].code)break;var F=C[0].name;if(!F){b("XObject must be referred to by name.");continue}if(void 0!==n[F]){j.addOp(n[F].fn,n[F].args),C=null;continue}var G=o.get(F);if(G){e(D(G),"XObject should be a stream");var H=G.dict.get("Subtype");if(e(z(H),"XObject should have a Name subtype"),"Form"===H.name)return q.save(),l.buildFormXObject(h,G,null,j,g,q.state.clone()).then(function(){q.restore(),t(d,f)},f);if("Image"===H.name){l.buildPaintImageXObject(h,G,!1,j,F,n),C=null;continue}if("PS"===H.name){a("Ignored XObject subtype PS");continue}c("Unhandled XObject subtype "+H.name)}break;case $.setFont:var I=C[1];return l.handleSetFont(h,C,null,j,g,q.state).then(function(a){j.addDependency(a),j.addOp($.setFont,[a,I]),t(d,f)},f);case $.endInlineImage:var J=C[0].cacheKey;if(J){var K=n[J];if(void 0!==K){j.addOp(K.fn,K.args),C=null;continue}}l.buildPaintImageXObject(h,C[0],!0,j,J,n),C=null;continue;case $.showText:C[0]=l.handleText(C[0],q.state);break;case $.showSpacedText:var L=C[0],M=[],N=L.length,O=q.state;for(u=0;N>u;++u){var P=L[u];y(P)?Array.prototype.push.apply(M,l.handleText(P,O)):x(P)&&M.push(P)}C[0]=M,E=$.showText;break;case $.nextLineShowText:j.addOp($.nextLine),C[0]=l.handleText(C[0],q.state),E=$.showText;break;case $.nextLineSetSpacingShowText:j.addOp($.nextLine),j.addOp($.setWordSpacing,[C.shift()]),j.addOp($.setCharSpacing,[C.shift()]),C[0]=l.handleText(C[0],q.state),E=$.showText;break;case $.setTextRenderingMode:q.state.textRenderingMode=C[0];break;case $.setFillColorSpace:q.state.fillColorSpace=Xa.parse(C[0],m,h);continue;case $.setStrokeColorSpace:q.state.strokeColorSpace=Xa.parse(C[0],m,h);continue;case $.setFillColor:w=q.state.fillColorSpace,C=w.getRgb(C,0),E=$.setFillRGBColor;break;case $.setStrokeColor:w=q.state.strokeColorSpace,C=w.getRgb(C,0),E=$.setStrokeRGBColor;break;case $.setFillGray:q.state.fillColorSpace=Xa.singletons.gray,C=Xa.singletons.gray.getRgb(C,0),E=$.setFillRGBColor;break;case $.setStrokeGray:q.state.strokeColorSpace=Xa.singletons.gray,C=Xa.singletons.gray.getRgb(C,0),E=$.setStrokeRGBColor;break;case $.setFillCMYKColor:q.state.fillColorSpace=Xa.singletons.cmyk,C=Xa.singletons.cmyk.getRgb(C,0),E=$.setFillRGBColor;break;case $.setStrokeCMYKColor:q.state.strokeColorSpace=Xa.singletons.cmyk,C=Xa.singletons.cmyk.getRgb(C,0),E=$.setStrokeRGBColor;break;case $.setFillRGBColor:q.state.fillColorSpace=Xa.singletons.rgb,C=Xa.singletons.rgb.getRgb(C,0);break;case $.setStrokeRGBColor:q.state.strokeColorSpace=Xa.singletons.rgb,C=Xa.singletons.rgb.getRgb(C,0);break;case $.setFillColorN:if(w=q.state.fillColorSpace,"Pattern"===w.name)return l.handleColorN(j,$.setFillColorN,C,w,p,h,g,m).then(function(){t(d,f)},f);C=w.getRgb(C,0),E=$.setFillRGBColor;break;case $.setStrokeColorN:if(w=q.state.strokeColorSpace,"Pattern"===w.name)return l.handleColorN(j,$.setStrokeColorN,C,w,p,h,g,m).then(function(){t(d,f)},f);C=w.getRgb(C,0),E=$.setStrokeRGBColor;break;case $.shadingFill:var Q=h.get("Shading");Q||c("No shading resource found");var R=Q.get(C[0].name);R||c("No shading object found");var S=tb.parseShading(R,null,m,h),T=S.getIR();C=[T],E=$.shadingFill;break;case $.setGState:var U=C[0],V=h.get("ExtGState");if(!B(V)||!V.has(U.name))break;var W=V.get(U.name);return l.setGState(h,W,j,g,m,q).then(function(){t(d,f)},f);case $.moveTo:case $.lineTo:case $.curveTo:case $.curveTo2:case $.curveTo3:case $.closePath:l.buildPath(j,E,C);continue;case $.rectangle:l.buildPath(j,E,C);continue;case $.markPoint:case $.markPointProps:case $.beginMarkedContent:case $.beginMarkedContentProps:case $.endMarkedContent:case $.beginCompat:case $.endCompat:continue}j.addOp(E,C)}if(k)return void i.then(function(){t(d,f)},f);for(u=0,v=r.savedStatesDepth;v>u;u++)j.addOp($.restore,[]);d()})},getTextContent:function(a,b,c,d){function g(){var a=r.font;return a.loadedName in l.styles||(l.styles[a.loadedName]={fontFamily:a.fallbackName,ascent:a.ascent,descent:a.descent,vertical:a.vertical}),{str:[],dir:null,width:0,height:0,transform:null,fontName:a.loadedName}}function h(a){var b=a.str.join(""),c=PDFJS.bidi(b,-1,r.font.vertical);return a.str=c.str,a.dir=c.dir,a}function j(a,b){return p.loadFont(a,b,q,c).then(function(a){r.font=a.font,r.fontMatrix=a.font.fontMatrix||T})}function k(a,b){var c=r.font;if(b=b||g(),!b.transform){var d=[r.fontSize*r.textHScale,0,0,r.fontSize,0,r.textRise];if(c.isType3Font&&r.fontMatrix!==T&&1===r.fontSize){var e=c.bbox[3]-c.bbox[1];e>0&&(e*=r.fontMatrix[3],d[3]*=e)}var f=b.transform=na.transform(r.ctm,na.transform(r.textMatrix,d));c.vertical?b.width=Math.sqrt(f[0]*f[0]+f[1]*f[1]):b.height=Math.sqrt(f[2]*f[2]+f[3]*f[3])}for(var h=0,i=0,j=c.charsToGlyphs(a),k=c.defaultVMetrics,l=0;l<j.length;l++){var m=j[l];if(m){var n=null,o=null,p=null;c.vertical?m.vmetric?(p=m.vmetric[0],n=m.vmetric[1],o=m.vmetric[2]):(p=m.width,n=.5*m.width,o=k[2]):p=m.width;var q=m.unicode;void 0!==Zb[q]&&(q=Zb[q]),q=N(q);var s=0;b.str.length>0&&(s=r.charSpacing);var t=0,u=0;if(c.vertical){var v=p*r.fontMatrix[0];u=v*r.fontSize+s,i+=u}else{var w=p*r.fontMatrix[0];t=(w*r.fontSize+s)*r.textHScale,h+=t}r.translateTextMatrix(t,u),b.str.push(q)}else h+=r.wordSpacing*r.textHScale}var x=r.textLineMatrix[0],y=r.textLineMatrix[1],z=Math.sqrt(x*x+y*y);x=r.ctm[0],y=r.ctm[1];var A=Math.sqrt(x*x+y*y);return c.vertical?b.height+=Math.abs(i*A*z):b.width+=h*A*z,b}d=d||new yb(new zb);var l={items:[],styles:Object.create(null)},m=l.items,n=.3,o=1.5,p=this,q=this.xref;c=q.fetchIfRef(c)||Aa.empty;var r,s=null,t={},u=new Bb(a,q,d),v=new f;return new Promise(function w(a,f){b.ensureNotTerminated(),v.reset();for(var q,x={},y=[];!(q=v.check())&&(y.length=0,x.args=y,u.read(x));){r=d.state;var A=x.fn;switch(y=x.args,0|A){case $.setFont:return r.fontSize=y[1],j(y[0].name).then(function(){w(a,f)},f);case $.setTextRise:r.textRise=y[0];break;case $.setHScale:r.textHScale=y[0]/100;break;case $.setLeading:r.leading=y[0];break;case $.moveText:r.translateTextLineMatrix(y[0],y[1]),r.textMatrix=r.textLineMatrix.slice();break;case $.setLeadingMoveText:r.leading=-y[1],r.translateTextLineMatrix(y[0],y[1]),r.textMatrix=r.textLineMatrix.slice();break;case $.nextLine:r.carriageReturn();break;case $.setTextMatrix:r.setTextMatrix(y[0],y[1],y[2],y[3],y[4],y[5]),r.setTextLineMatrix(y[0],y[1],y[2],y[3],y[4],y[5]);break;case $.setCharSpacing:r.charSpacing=y[0];break;case $.setWordSpacing:r.wordSpacing=y[0];break;case $.beginText:r.textMatrix=ma.slice(),r.textLineMatrix=ma.slice();break;case $.showSpacedText:for(var E,F=y[0],G=g(),H=0,I=F.length;I>H;H++)if("string"==typeof F[H])k(F[H],G);else{var J=F[H]*r.fontSize/1e3;if(r.font.vertical?(E=J*r.textMatrix[3],r.translateTextMatrix(0,E),G.height+=E):(E=J*r.textHScale*r.textMatrix[0],r.translateTextMatrix(E,0),G.width-=E),F[H]<0&&r.font.spaceWidth>0){var K=-F[H]/r.font.spaceWidth;if(K>o)for(K=Math.round(K);K--;)G.str.push(" ");else K>n&&G.str.push(" ")}}m.push(h(G));break;case $.showText:m.push(h(k(y[0])));break;case $.nextLineShowText:r.carriageReturn(),m.push(h(k(y[0])));break;case $.nextLineSetSpacingShowText:r.wordSpacing=y[0],r.charSpacing=y[1],r.carriageReturn(),m.push(h(k(y[2])));break;case $.paintXObject:if(y[0].code)break;s||(s=c.get("XObject")||Aa.empty);var L=y[0].name;if(t.key===L){t.texts&&(na.appendToArray(m,t.texts.items),na.extendObj(l.styles,t.texts.styles));break}var M=s.get(L);if(!M)break;e(D(M),"XObject should be a stream");var N=M.dict.get("Subtype");if(e(z(N),"XObject should have a Name subtype"),"Form"!==N.name){t.key=L,t.texts=null;break}d.save();var O=M.dict.get("Matrix");return C(O)&&6===O.length&&d.transform(O),p.getTextContent(M,b,M.dict.get("Resources")||c,d).then(function(b){na.appendToArray(m,b.items),na.extendObj(l.styles,b.styles),d.restore(),t.key=L,t.texts=b,w(a,f)},f);case $.setGState:var P=y[0],Q=c.get("ExtGState");if(!B(Q)||!Q.has(P.name))break;var R=Q.get(P.name),S=null;for(var T in R)"Font"===T&&(e(!S),S=R[T]);if(S)return r.fontSize=S[1],j(S[0]).then(function(){w(a,f)},f)}}return q?void i.then(function(){w(a,f)},f):void a(l)})},extractDataStructures:function(a,b,d,e){var f=a.get("ToUnicode")||b.get("ToUnicode");if(f&&(e.toUnicode=this.readToUnicode(f)),e.composite){var g=a.get("CIDSystemInfo");B(g)&&(e.cidSystemInfo={registry:g.get("Registry"),ordering:g.get("Ordering"),supplement:g.get("Supplement")});var h=a.get("CIDToGIDMap");D(h)&&(e.cidToGidMap=this.readCidToGidMap(h))}var i,j=[],k=null;if(a.has("Encoding")){if(i=a.get("Encoding"),B(i)){if(k=i.get("BaseEncoding"),k=z(k)?k.name:null,i.has("Differences"))for(var l=i.get("Differences"),m=0,n=0,o=l.length;o>n;n++){var p=l[n];if(x(p))m=p;else if(z(p))j[m++]=p.name;else{if(F(p)){l[n--]=d.fetch(p);continue}c("Invalid entry in 'Differences' array: "+p)}}}else z(i)?k=i.name:c("Encoding is not a Name nor a Dict");"MacRomanEncoding"!==k&&"MacExpertEncoding"!==k&&"WinAnsiEncoding"!==k&&(k=null)}k?e.defaultEncoding=Pb[k].slice():(i="TrueType"===e.type?Pb.WinAnsiEncoding:Pb.StandardEncoding,e.flags&Ob.Symbolic&&(i=Pb.MacRomanEncoding,e.file||(/Symbol/i.test(e.name)?i=Pb.SymbolSetEncoding:/Dingbats/i.test(e.name)&&(i=Pb.ZapfDingbatsEncoding))),e.defaultEncoding=i),e.differences=j,e.baseEncodingName=k,e.dict=a},readToUnicode:function(a){var b,c=a;if(z(c))return b=Hb.create(c,{url:PDFJS.cMapUrl,packed:PDFJS.cMapPacked},null),b instanceof Fb?new ac(0,65535):new _b(b.getMap());if(D(c)){if(b=Hb.create(c,{url:PDFJS.cMapUrl,packed:PDFJS.cMapPacked},null),b instanceof Fb)return new ac(0,65535);var d=new Array(b.length);return b.forEach(function(a,b){for(var c=[],e=0;e<b.length;e+=2){var f=b.charCodeAt(e)<<8|b.charCodeAt(e+1);if(55296===(63488&f)){e+=2;var g=b.charCodeAt(e)<<8|b.charCodeAt(e+1);c.push(((1023&f)<<10)+(1023&g)+65536)}else c.push(f)}d[a]=String.fromCharCode.apply(String,c)}),new _b(d)}return null},readCidToGidMap:function(a){for(var b=a.getBytes(),c=[],d=0,e=b.length;e>d;d++){var f=b[d++]<<8|b[d];if(0!==f){var g=d>>1;c[g]=f}}return c},extractWidths:function(a,b,c,d){var e,f,g,h,i,j,k,l,m=[],n=0,o=[];if(d.composite){if(n=a.get("DW")||1e3,l=a.get("W"))for(f=0,g=l.length;g>f;f++)if(j=l[f++],k=b.fetchIfRef(l[f]),C(k))for(h=0,i=k.length;i>h;h++)m[j++]=k[h];else{var p=l[++f];for(h=j;k>=h;h++)m[h]=p}if(d.vertical){var q=a.get("DW2")||[880,-1e3];if(e=[q[1],.5*n,q[0]],q=a.get("W2"))for(f=0,g=q.length;g>f;f++)if(j=q[f++],k=b.fetchIfRef(q[f]),C(k))for(h=0,i=k.length;i>h;h++)o[j++]=[k[h++],k[h++],k[h]];else{var r=[q[++f],q[++f],q[++f]];for(h=j;k>=h;h++)o[h]=r}}}else{var s=d.firstChar;if(l=a.get("Widths")){for(h=s,f=0,g=l.length;g>f;f++)m[h++]=l[f];n=parseFloat(c.get("MissingWidth"))||0}else{var t=a.get("BaseFont");if(z(t)){var u=this.getBaseFontMetrics(t.name);m=this.buildCharCodeToWidth(u.widths,d),n=u.defaultWidth}}}var v=!0,w=n;for(var x in m){var y=m[x];if(y)if(w){if(w!==y){v=!1;break}}else w=y}v&&(d.flags|=Ob.FixedPitch),d.defaultWidth=n,d.widths=m,d.defaultVMetrics=e,d.vmetrics=o},isSerifFont:function(a){var b=a.split("-")[0];return b in Sb||-1!==b.search(/serif/gi)},getBaseFontMetrics:function(a){var b=0,c=[],d=!1,e=Qb[a]||a;e in Cc||(e=this.isSerifFont(a)?"Times-Roman":"Helvetica");var f=Cc[e];return x(f)?(b=f,d=!0):c=f,{defaultWidth:b,monospace:d,widths:c}},buildCharCodeToWidth:function(a,b){for(var c=Object.create(null),d=b.differences,e=b.defaultEncoding,f=0;256>f;f++)f in d&&a[d[f]]?c[f]=a[d[f]]:f in e&&a[e[f]]&&(c[f]=a[e[f]]);return c},preEvaluateFont:function(a,b){var d=a,f=a.get("Subtype");e(z(f),"invalid font Subtype");var g,h=!1;if("Type0"===f.name){var i=a.get("DescendantFonts");i||c("Descendant fonts are not specified"),a=C(i)?b.fetchIfRef(i[0]):i,f=a.get("Subtype"),e(z(f),"invalid font Subtype"),h=!0}var j=a.get("FontDescriptor");if(j){var k=new jd,l=d.getRaw("Encoding");if(z(l))k.update(l.name);else if(F(l))k.update(l.num+"_"+l.gen);else if(B(l))for(var m=l.getKeys(),n=0,o=m.length;o>n;n++){var p=l.getRaw(m[n]);z(p)?k.update(p.name):F(p)?k.update(p.num+"_"+p.gen):C(p)&&k.update(p.length.toString())}var q=a.get("ToUnicode")||d.get("ToUnicode");if(D(q)){var r=q.str||q;g=r.buffer?new Uint8Array(r.buffer.buffer,0,r.bufferLength):new Uint8Array(r.bytes.buffer,r.start,r.end-r.start),k.update(g)}else z(q)&&k.update(q.name);var s=a.get("Widths")||d.get("Widths");s&&(g=new Uint8Array(new Uint32Array(s).buffer),k.update(g))}return{descriptor:j,dict:a,baseDict:d,composite:h,type:f.name,hash:k?k.hexdigest():""}},translateFont:function(b,d){var f,g=b.baseDict,h=b.dict,i=b.composite,j=b.descriptor,k=b.type,l=i?65535:255;if(!j){if("Type3"!==k){var m=h.get("BaseFont");z(m)||c("Base font is not specified"),m=m.name.replace(/[,_]/g,"-");var n=this.getBaseFontMetrics(m),o=m.split("-")[0],p=(this.isSerifFont(o)?Ob.Serif:0)|(n.monospace?Ob.FixedPitch:0)|(Tb[o]?Ob.Symbolic:Ob.Nonsymbolic);return f={type:k,name:m,widths:n.widths,defaultWidth:n.defaultWidth,flags:p,firstChar:0,lastChar:l},this.extractDataStructures(h,h,d,f),f.widths=this.buildCharCodeToWidth(n.widths,f),new dc(m,null,f)}j=new Aa(null),j.set("FontName",ya.get(k)),j.set("FontBBox",h.get("FontBBox"))}var q=h.get("FirstChar")||0,r=h.get("LastChar")||l,s=j.get("FontName"),t=h.get("BaseFont");if(y(s)&&(s=ya.get(s)),y(t)&&(t=ya.get(t)),"Type3"!==k){var u=s&&s.name,v=t&&t.name;u!==v&&(a("The FontDescriptor's FontName is \""+u+'" but should be the same as the Font\'s BaseFont "'+v+'"'),u&&v&&0===v.indexOf(u)&&(s=t))}s=s||t,e(z(s),"invalid font name");var w=j.get("FontFile","FontFile2","FontFile3");if(w&&w.dict){var x=w.dict.get("Subtype");x&&(x=x.name);var A=w.dict.get("Length1"),B=w.dict.get("Length2")}if(f={type:k,name:s.name,subtype:x,file:w,length1:A,length2:B,loadedName:g.loadedName,composite:i,wideChars:i,fixedPitch:!1,fontMatrix:h.get("FontMatrix")||T,firstChar:q||0,lastChar:r||l,bbox:j.get("FontBBox"),ascent:j.get("Ascent"),descent:j.get("Descent"),xHeight:j.get("XHeight"),capHeight:j.get("CapHeight"),flags:j.get("Flags"),italicAngle:j.get("ItalicAngle"),coded:!1},i){var C=g.get("Encoding");z(C)&&(f.cidEncoding=C.name),f.cMap=Hb.create(C,{url:PDFJS.cMapUrl,packed:PDFJS.cMapPacked},null),f.vertical=f.cMap.vertical}return this.extractDataStructures(h,g,d,f),this.extractWidths(h,d,j,f),"Type3"===k&&(f.isType3Font=!0),new dc(s.name,w,f)}},d}(),wb=function(){function a(a,b,c){this.loadedName=a,this.font=b,this.dict=c,this.type3Loaded=null,this.sent=!1}return a.prototype={send:function(a){if(!this.sent){var b=this.font.exportData();a.send("commonobj",[this.loadedName,"Font",b]),this.sent=!0}},loadType3Data:function(a,c,d,f){if(e(this.font.isType3Font),this.type3Loaded)return this.type3Loaded;for(var g=this.font,h=Promise.resolve(),i=this.dict.get("CharProcs").getAll(),j=this.dict.get("Resources")||c,k=Object.keys(i),l={},m=0,n=k.length;n>m;++m)h=h.then(function(c){var e=i[c],g=new xb;return a.getOperatorList(e,f,j,g).then(function(){l[c]=g.getIR(),d.addDependencies(g.dependencies)},function(a){b('Type3 font resource "'+c+'" is not available');var d=new xb;l[c]=d.getIR()})}.bind(this,k[m]));return this.type3Loaded=h.then(function(){g.charProcOperatorList=l}),this.type3Loaded}},a}(),xb=function(){function a(a){for(var b=[],c=a.fnArray,d=a.argsArray,e=0,f=a.length;f>e;e++)switch(c[e]){case $.paintInlineImageXObject:case $.paintInlineImageXObjectGroup:case $.paintImageMaskXObject:var g=d[e][0];g.cached||b.push(g.data.buffer)}return b}function b(a,b,c){this.messageHandler=b,this.fnArray=[],this.argsArray=[],this.dependencies={},this.pageIndex=c,this.intent=a}var c=1e3,d=c-5;return b.prototype={get length(){return this.argsArray.length},addOp:function(a,b){this.fnArray.push(a),this.argsArray.push(b),this.messageHandler&&(this.fnArray.length>=c?this.flush():this.fnArray.length>=d&&(a===$.restore||a===$.endText)&&this.flush())},addDependency:function(a){a in this.dependencies||(this.dependencies[a]=!0,this.addOp($.dependency,[a]))},addDependencies:function(a){for(var b in a)this.addDependency(b)},addOpList:function(a){na.extendObj(this.dependencies,a.dependencies);for(var b=0,c=a.length;c>b;b++)this.addOp(a.fnArray[b],a.argsArray[b])},getIR:function(){return{fnArray:this.fnArray,argsArray:this.argsArray,length:this.length}},flush:function(b){"oplist"!==this.intent&&(new Cb).optimize(this);var c=a(this);this.messageHandler.send("RenderPageChunk",{operatorList:{fnArray:this.fnArray,argsArray:this.argsArray,lastChunk:b,length:this.length},pageIndex:this.pageIndex,intent:this.intent},c),this.dependencies={},this.fnArray.length=0,this.argsArray.length=0}},b}(),yb=function(){function a(a){this.state=a,this.stateStack=[]}return a.prototype={save:function(){var a=this.state;this.stateStack.push(this.state),this.state=a.clone()},restore:function(){var a=this.stateStack.pop();a&&(this.state=a)},transform:function(a){this.state.ctm=na.transform(this.state.ctm,a)}},a}(),zb=function(){function a(){this.ctm=new Float32Array(ma),this.fontSize=0,this.font=null,this.fontMatrix=T,this.textMatrix=ma.slice(),this.textLineMatrix=ma.slice(),this.charSpacing=0,this.wordSpacing=0,this.leading=0,this.textHScale=1,this.textRise=0}return a.prototype={setTextMatrix:function(a,b,c,d,e,f){var g=this.textMatrix;g[0]=a,g[1]=b,g[2]=c,g[3]=d,g[4]=e,g[5]=f},setTextLineMatrix:function(a,b,c,d,e,f){var g=this.textLineMatrix;g[0]=a,g[1]=b,g[2]=c,g[3]=d,g[4]=e,g[5]=f},translateTextMatrix:function(a,b){var c=this.textMatrix;c[4]=c[0]*a+c[2]*b+c[4],c[5]=c[1]*a+c[3]*b+c[5]},translateTextLineMatrix:function(a,b){var c=this.textLineMatrix;c[4]=c[0]*a+c[2]*b+c[4],c[5]=c[1]*a+c[3]*b+c[5]},calcRenderMatrix:function(a){var b=[this.fontSize*this.textHScale,0,0,this.fontSize,0,this.textRise];return na.transform(a,na.transform(this.textMatrix,b))},carriageReturn:function(){this.translateTextLineMatrix(0,-this.leading),this.textMatrix=this.textLineMatrix.slice()},clone:function(){var a=Object.create(this);return a.textMatrix=this.textMatrix.slice(),a.textLineMatrix=this.textLineMatrix.slice(),a.fontMatrix=this.fontMatrix.slice(),a}},a}(),Ab=function(){function a(){this.ctm=new Float32Array(ma),this.font=null,this.textRenderingMode=U.FILL,this.fillColorSpace=Xa.singletons.gray,this.strokeColorSpace=Xa.singletons.gray}return a.prototype={clone:function(){return Object.create(this)}},a}(),Bb=function(){function c(a,b,c){this.parser=new Fc(new Gc(a,d),!1,b),this.stateManager=c,this.nonProcessedArgs=[]}var d={w:{id:$.setLineWidth,numArgs:1,variableArgs:!1},J:{id:$.setLineCap,numArgs:1,variableArgs:!1},j:{id:$.setLineJoin,numArgs:1,variableArgs:!1},M:{id:$.setMiterLimit,numArgs:1,variableArgs:!1},d:{id:$.setDash,numArgs:2,variableArgs:!1},ri:{id:$.setRenderingIntent,numArgs:1,variableArgs:!1},i:{id:$.setFlatness,numArgs:1,variableArgs:!1},gs:{id:$.setGState,numArgs:1,variableArgs:!1},q:{id:$.save,numArgs:0,variableArgs:!1},Q:{id:$.restore,numArgs:0,variableArgs:!1},cm:{id:$.transform,numArgs:6,variableArgs:!1},m:{id:$.moveTo,numArgs:2,variableArgs:!1},l:{id:$.lineTo,numArgs:2,variableArgs:!1},c:{id:$.curveTo,numArgs:6,variableArgs:!1},v:{id:$.curveTo2,numArgs:4,variableArgs:!1},y:{id:$.curveTo3,numArgs:4,variableArgs:!1},h:{id:$.closePath,numArgs:0,variableArgs:!1},re:{id:$.rectangle,numArgs:4,variableArgs:!1},S:{id:$.stroke,numArgs:0,variableArgs:!1},s:{id:$.closeStroke,numArgs:0,variableArgs:!1},f:{id:$.fill,numArgs:0,variableArgs:!1},F:{id:$.fill,numArgs:0,variableArgs:!1},"f*":{id:$.eoFill,numArgs:0,variableArgs:!1},B:{id:$.fillStroke,numArgs:0,variableArgs:!1},"B*":{id:$.eoFillStroke,numArgs:0,variableArgs:!1},b:{id:$.closeFillStroke,numArgs:0,variableArgs:!1},"b*":{id:$.closeEOFillStroke,numArgs:0,variableArgs:!1},n:{id:$.endPath,numArgs:0,variableArgs:!1},W:{id:$.clip,numArgs:0,variableArgs:!1},"W*":{id:$.eoClip,numArgs:0,variableArgs:!1},BT:{id:$.beginText,numArgs:0,variableArgs:!1},ET:{id:$.endText,numArgs:0,variableArgs:!1},Tc:{id:$.setCharSpacing,numArgs:1,variableArgs:!1},Tw:{id:$.setWordSpacing,numArgs:1,variableArgs:!1},Tz:{id:$.setHScale,numArgs:1,variableArgs:!1},TL:{id:$.setLeading,numArgs:1,variableArgs:!1},Tf:{id:$.setFont,numArgs:2,variableArgs:!1},Tr:{id:$.setTextRenderingMode,numArgs:1,variableArgs:!1},Ts:{id:$.setTextRise,numArgs:1,variableArgs:!1},Td:{id:$.moveText,numArgs:2,variableArgs:!1},TD:{id:$.setLeadingMoveText,numArgs:2,variableArgs:!1},Tm:{id:$.setTextMatrix,numArgs:6,variableArgs:!1},"T*":{id:$.nextLine,numArgs:0,variableArgs:!1},Tj:{id:$.showText,numArgs:1,variableArgs:!1},TJ:{id:$.showSpacedText,numArgs:1,variableArgs:!1},"'":{id:$.nextLineShowText,numArgs:1,variableArgs:!1},'"':{id:$.nextLineSetSpacingShowText,numArgs:3,variableArgs:!1},d0:{id:$.setCharWidth,numArgs:2,variableArgs:!1},d1:{id:$.setCharWidthAndBounds,numArgs:6,variableArgs:!1},CS:{id:$.setStrokeColorSpace,numArgs:1,variableArgs:!1},cs:{id:$.setFillColorSpace,numArgs:1,variableArgs:!1},SC:{id:$.setStrokeColor,numArgs:4,variableArgs:!0},SCN:{id:$.setStrokeColorN,numArgs:33,variableArgs:!0},sc:{id:$.setFillColor,numArgs:4,variableArgs:!0},scn:{id:$.setFillColorN,numArgs:33,variableArgs:!0},G:{id:$.setStrokeGray,numArgs:1,variableArgs:!1},g:{id:$.setFillGray,numArgs:1,variableArgs:!1},RG:{id:$.setStrokeRGBColor,numArgs:3,variableArgs:!1},rg:{id:$.setFillRGBColor,numArgs:3,variableArgs:!1},K:{id:$.setStrokeCMYKColor,numArgs:4,variableArgs:!1},k:{id:$.setFillCMYKColor,numArgs:4,variableArgs:!1},sh:{id:$.shadingFill,numArgs:1,variableArgs:!1},BI:{id:$.beginInlineImage,numArgs:0,variableArgs:!1},ID:{id:$.beginImageData,numArgs:0,variableArgs:!1},EI:{id:$.endInlineImage,numArgs:1,variableArgs:!1},Do:{id:$.paintXObject,numArgs:1,variableArgs:!1},MP:{id:$.markPoint,numArgs:1,variableArgs:!1},DP:{id:$.markPointProps,numArgs:2,variableArgs:!1},BMC:{id:$.beginMarkedContent,numArgs:1,variableArgs:!1},BDC:{id:$.beginMarkedContentProps,numArgs:2,variableArgs:!1},EMC:{id:$.endMarkedContent,numArgs:0,variableArgs:!1},BX:{id:$.beginCompat,numArgs:0,variableArgs:!1},EX:{id:$.endCompat,numArgs:0,variableArgs:!1},BM:null,BD:null,"true":null,fa:null,fal:null,fals:null,"false":null,nu:null,nul:null,"null":null};return c.prototype={get savedStatesDepth(){return this.stateManager.stateStack.length},read:function(c){for(var f=c.args;;){var g=this.parser.getObj();if(A(g)){var h=g.cmd,i=d[h];if(!i){b('Unknown command "'+h+'"');continue}var j=i.id,k=i.numArgs,l=null!==f?f.length:0;if(i.variableArgs)l>k&&a("Command "+j+": expected [0,"+k+"] args, but received "+l+" args");else{if(l!==k){for(var m=this.nonProcessedArgs;l>k;)m.push(f.shift()),l--;for(;k>l&&0!==m.length;)f||(f=[]),f.unshift(m.pop()),l++}if(k>l){a("Command "+j+": because expected "+k+" args, but received "+l+" args; skipping"),f=null;continue}}return this.preprocessCommand(j,f),c.fn=j,c.args=f,!0}if(R(g))return!1;null!==g&&(f||(f=[]),f.push(g instanceof Aa?g.getAll():g),e(f.length<=33,"Too many arguments"))}},preprocessCommand:function(a,b){switch(0|a){case $.save:this.stateManager.save();break;case $.restore:this.stateManager.restore();break;case $.transform:this.stateManager.transform(b)}}},c}(),Cb=function(){function a(a,b,c){for(var d=a,e=0,f=b.length-1;f>e;e++){var g=b[e];d=d[g]||(d[g]=[])}d[b[b.length-1]]=c}function b(a,b,c,d){for(var e=a+2,f=0;b>f;f++){var g=d[e+4*f],h=1===g.length&&g[0];if(!h||1!==h.width||1!==h.height||h.data.length&&(1!==h.data.length||0!==h.data[0]))break;c[e+4*f]=$.paintSolidColorImageMask}return b-f}function c(){}var d=[];return a(d,[$.save,$.transform,$.paintInlineImageXObject,$.restore],function(a){for(var b=10,c=200,d=1e3,e=1,f=a.fnArray,g=a.argsArray,h=a.iCurr,i=h-3,j=h-2,k=h-1,l=i+4,m=f.length;m>l+3&&f[l]===$.save&&f[l+1]===$.transform&&f[l+2]===$.paintInlineImageXObject&&f[l+3]===$.restore;)l+=4;var n=Math.min((l-i)/4,c);if(b>n)return l;var o,p=0,q=[],r=0,s=e,t=e;for(o=0;n>o;o++){var u=g[j+(o<<2)],v=g[k+(o<<2)][0];s+v.width>d&&(p=Math.max(p,s),t+=r+2*e,s=0,r=0),q.push({transform:u,x:s,y:t,w:v.width,h:v.height}),s+=v.width+2*e,r=Math.max(r,v.height)}var w=Math.max(p,s)+e,x=t+r+e,y=new Uint8Array(w*x*4),z=w<<2;for(o=0;n>o;o++){var A=g[k+(o<<2)][0].data,B=q[o].w<<2,C=0,D=q[o].x+q[o].y*w<<2;y.set(A.subarray(0,B),D-z);for(var E=0,F=q[o].h;F>E;E++)y.set(A.subarray(C,C+B),D),C+=B,D+=z;for(y.set(A.subarray(C-B,C),D);D>=0;)A[D-4]=A[D],A[D-3]=A[D+1],A[D-2]=A[D+2],A[D-1]=A[D+3],A[D+B]=A[D+B-4],A[D+B+1]=A[D+B-3],A[D+B+2]=A[D+B-2],A[D+B+3]=A[D+B-1],D-=z}return f.splice(i,4*n,$.paintInlineImageXObjectGroup),g.splice(i,4*n,[{width:w,height:x,kind:V.RGBA_32BPP,data:y},q]),i+1}),a(d,[$.save,$.transform,$.paintImageMaskXObject,$.restore],function(a){for(var c=10,d=100,e=1e3,f=a.fnArray,g=a.argsArray,h=a.iCurr,i=h-3,j=h-2,k=h-1,l=i+4,m=f.length;m>l+3&&f[l]===$.save&&f[l+1]===$.transform&&f[l+2]===$.paintImageMaskXObject&&f[l+3]===$.restore;)l+=4;var n=(l-i)/4;if(n=b(i,n,f,g),c>n)return l;var o,p,q,r=!1,s=g[k][0];if(0===g[j][1]&&0===g[j][2]){r=!0;var t=g[j][0],u=g[j][3];p=j+4;var v=k+4;for(o=1;n>o;o++,p+=4,v+=4)if(q=g[p],g[v][0]!==s||q[0]!==t||0!==q[1]||0!==q[2]||q[3]!==u){c>o?r=!1:n=o;break}}if(r){n=Math.min(n,e);var w=new Float32Array(2*n);for(p=j,o=0;n>o;o++,p+=4)q=g[p],w[o<<1]=q[4],w[(o<<1)+1]=q[5];f.splice(i,4*n,$.paintImageMaskXObjectRepeat),g.splice(i,4*n,[s,t,u,w])}else{n=Math.min(n,d);var x=[];for(o=0;n>o;o++){q=g[j+(o<<2)];var y=g[k+(o<<2)][0];x.push({data:y.data,width:y.width,height:y.height,transform:q})}f.splice(i,4*n,$.paintImageMaskXObjectGroup),g.splice(i,4*n,[x])}return i+1}),a(d,[$.save,$.transform,$.paintImageXObject,$.restore],function(a){var b=3,c=1e3,d=a.fnArray,e=a.argsArray,f=a.iCurr,g=f-3,h=f-2,i=f-1,j=f;if(0!==e[h][1]||0!==e[h][2])return j+1;for(var k=e[i][0],l=e[h][0],m=e[h][3],n=g+4,o=d.length;o>n+3&&d[n]===$.save&&d[n+1]===$.transform&&d[n+2]===$.paintImageXObject&&d[n+3]===$.restore&&e[n+1][0]===l&&0===e[n+1][1]&&0===e[n+1][2]&&e[n+1][3]===m&&e[n+2][0]===k;)n+=4;var p=Math.min((n-g)/4,c);if(b>p)return n;for(var q=new Float32Array(2*p),r=h,s=0;p>s;s++,r+=4){var t=e[r];q[s<<1]=t[4],q[(s<<1)+1]=t[5]}var u=[k,l,m,q];return d.splice(g,4*p,$.paintImageXObjectRepeat),e.splice(g,4*p,u),g+1}),a(d,[$.beginText,$.setFont,$.setTextMatrix,$.showText,$.endText],function(a){for(var b=3,c=1e3,d=a.fnArray,e=a.argsArray,f=a.iCurr,g=f-4,h=f-3,i=f-2,j=f-1,k=f,l=e[h][0],m=e[h][1],n=g+5,o=d.length;o>n+4&&d[n]===$.beginText&&d[n+1]===$.setFont&&d[n+2]===$.setTextMatrix&&d[n+3]===$.showText&&d[n+4]===$.endText&&e[n+1][0]===l&&e[n+1][1]===m;)n+=5;var p=Math.min((n-g)/5,c);if(b>p)return n;var q=g;g>=4&&d[g-4]===d[h]&&d[g-3]===d[i]&&d[g-2]===d[j]&&d[g-1]===d[k]&&e[g-4][0]===l&&e[g-4][1]===m&&(p++,q-=5);for(var r=q+4,s=1;p>s;s++)d.splice(r,3),e.splice(r,3),r+=2;return r+1}),c.prototype={optimize:function(a){for(var b,c=a.fnArray,e=a.argsArray,f={iCurr:0,fnArray:c,argsArray:e},g=0,h=c.length;h>g;)b=(b||d)[c[g]],"function"==typeof b?(f.iCurr=g,g=b(f),b=void 0,h=f.fnArray.length):g++}},c}(),Db=["Adobe-GB1-UCS2","Adobe-CNS1-UCS2","Adobe-Japan1-UCS2","Adobe-Korea1-UCS2","78-EUC-H","78-EUC-V","78-H","78-RKSJ-H","78-RKSJ-V","78-V","78ms-RKSJ-H","78ms-RKSJ-V","83pv-RKSJ-H","90ms-RKSJ-H","90ms-RKSJ-V","90msp-RKSJ-H","90msp-RKSJ-V","90pv-RKSJ-H","90pv-RKSJ-V","Add-H","Add-RKSJ-H","Add-RKSJ-V","Add-V","Adobe-CNS1-0","Adobe-CNS1-1","Adobe-CNS1-2","Adobe-CNS1-3","Adobe-CNS1-4","Adobe-CNS1-5","Adobe-CNS1-6","Adobe-GB1-0","Adobe-GB1-1","Adobe-GB1-2","Adobe-GB1-3","Adobe-GB1-4","Adobe-GB1-5","Adobe-Japan1-0","Adobe-Japan1-1","Adobe-Japan1-2","Adobe-Japan1-3","Adobe-Japan1-4","Adobe-Japan1-5","Adobe-Japan1-6","Adobe-Korea1-0","Adobe-Korea1-1","Adobe-Korea1-2","B5-H","B5-V","B5pc-H","B5pc-V","CNS-EUC-H","CNS-EUC-V","CNS1-H","CNS1-V","CNS2-H","CNS2-V","ETHK-B5-H","ETHK-B5-V","ETen-B5-H","ETen-B5-V","ETenms-B5-H","ETenms-B5-V","EUC-H","EUC-V","Ext-H","Ext-RKSJ-H","Ext-RKSJ-V","Ext-V","GB-EUC-H","GB-EUC-V","GB-H","GB-V","GBK-EUC-H","GBK-EUC-V","GBK2K-H","GBK2K-V","GBKp-EUC-H","GBKp-EUC-V","GBT-EUC-H","GBT-EUC-V","GBT-H","GBT-V","GBTpc-EUC-H","GBTpc-EUC-V","GBpc-EUC-H","GBpc-EUC-V","H","HKdla-B5-H","HKdla-B5-V","HKdlb-B5-H","HKdlb-B5-V","HKgccs-B5-H","HKgccs-B5-V","HKm314-B5-H","HKm314-B5-V","HKm471-B5-H","HKm471-B5-V","HKscs-B5-H","HKscs-B5-V","Hankaku","Hiragana","KSC-EUC-H","KSC-EUC-V","KSC-H","KSC-Johab-H","KSC-Johab-V","KSC-V","KSCms-UHC-H","KSCms-UHC-HW-H","KSCms-UHC-HW-V","KSCms-UHC-V","KSCpc-EUC-H","KSCpc-EUC-V","Katakana","NWP-H","NWP-V","RKSJ-H","RKSJ-V","Roman","UniCNS-UCS2-H","UniCNS-UCS2-V","UniCNS-UTF16-H","UniCNS-UTF16-V","UniCNS-UTF32-H","UniCNS-UTF32-V","UniCNS-UTF8-H","UniCNS-UTF8-V","UniGB-UCS2-H","UniGB-UCS2-V","UniGB-UTF16-H","UniGB-UTF16-V","UniGB-UTF32-H","UniGB-UTF32-V","UniGB-UTF8-H","UniGB-UTF8-V","UniJIS-UCS2-H","UniJIS-UCS2-HW-H","UniJIS-UCS2-HW-V","UniJIS-UCS2-V","UniJIS-UTF16-H","UniJIS-UTF16-V","UniJIS-UTF32-H","UniJIS-UTF32-V","UniJIS-UTF8-H","UniJIS-UTF8-V","UniJIS2004-UTF16-H","UniJIS2004-UTF16-V","UniJIS2004-UTF32-H","UniJIS2004-UTF32-V","UniJIS2004-UTF8-H","UniJIS2004-UTF8-V","UniJISPro-UCS2-HW-V","UniJISPro-UCS2-V","UniJISPro-UTF8-V","UniJISX0213-UTF32-H","UniJISX0213-UTF32-V","UniJISX02132004-UTF32-H","UniJISX02132004-UTF32-V","UniKS-UCS2-H","UniKS-UCS2-V","UniKS-UTF16-H","UniKS-UTF16-V","UniKS-UTF32-H","UniKS-UTF32-V","UniKS-UTF8-H","UniKS-UTF8-V","V","WP-Symbol"],Eb=function(){
-function a(a){this.codespaceRanges=[[],[],[],[]],this.numCodespaceRanges=0,this._map=[],this.name="",this.vertical=!1,this.useCMap=null,this.builtInCMap=a}return a.prototype={addCodespaceRange:function(a,b,c){this.codespaceRanges[a-1].push(b,c),this.numCodespaceRanges++},mapCidRange:function(a,b,c){for(;b>=a;)this._map[a++]=c++},mapBfRange:function(a,b,c){for(var d=c.length-1;b>=a;)this._map[a++]=c,c=c.substr(0,d)+String.fromCharCode(c.charCodeAt(d)+1)},mapBfRangeToArray:function(a,b,c){for(var d=0,e=c.length;b>=a&&e>d;)this._map[a]=c[d++],++a},mapOne:function(a,b){this._map[a]=b},lookup:function(a){return this._map[a]},contains:function(a){return void 0!==this._map[a]},forEach:function(a){var b,c=this._map,d=c.length;if(65536>=d)for(b=0;d>b;b++)void 0!==c[b]&&a(b,c[b]);else for(b in this._map)a(b,c[b])},charCodeOf:function(a){return this._map.indexOf(a)},getMap:function(){return this._map},readCharCode:function(a,b,c){for(var d=0,e=this.codespaceRanges,f=this.codespaceRanges.length,g=0;f>g;g++){d=(d<<8|a.charCodeAt(b+g))>>>0;for(var h=e[g],i=0,j=h.length;j>i;){var k=h[i++],l=h[i++];if(d>=k&&l>=d)return c.charcode=d,void(c.length=g+1)}}c.charcode=0,c.length=1},get length(){return this._map.length},get isIdentityCMap(){if("Identity-H"!==this.name&&"Identity-V"!==this.name)return!1;if(65536!==this._map.length)return!1;for(var a=0;65536>a;a++)if(this._map[a]!==a)return!1;return!0}},a}(),Fb=function(){function a(a,b){Eb.call(this),this.vertical=a,this.addCodespaceRange(b,0,65535)}return na.inherit(a,Eb,{}),a.prototype={addCodespaceRange:Eb.prototype.addCodespaceRange,mapCidRange:function(a,b,d){c("should not call mapCidRange")},mapBfRange:function(a,b,d){c("should not call mapBfRange")},mapBfRangeToArray:function(a,b,d){c("should not call mapBfRangeToArray")},mapOne:function(a,b){c("should not call mapCidOne")},lookup:function(a){return w(a)&&65535>=a?a:void 0},contains:function(a){return w(a)&&65535>=a},forEach:function(a){for(var b=0;65535>=b;b++)a(b,b)},charCodeOf:function(a){return w(a)&&65535>=a?a:-1},getMap:function(){for(var a=new Array(65536),b=0;65535>=b;b++)a[b]=b;return a},readCharCode:Eb.prototype.readCharCode,get length(){return 65536},get isIdentityCMap(){c("should not access .isIdentityCMap")}},a}(),Gb=function(){function a(a){var b=PDFJS.disableWorker,d=new XMLHttpRequest;if(d.open("GET",a,!1),!b)try{d.responseType="arraybuffer",b="arraybuffer"!==d.responseType}catch(e){b=!0}if(b&&d.overrideMimeType&&d.overrideMimeType("text/plain; charset=x-user-defined"),d.send(null),(b?d.responseText:d.response)||c("Unable to get binary cMap at: "+a),b){var f=Array.prototype.map.call(d.responseText,function(a){return 255&a.charCodeAt(0)});return new Uint8Array(f)}return new Uint8Array(d.response)}function b(a,b){for(var c=0,d=0;b>=d;d++)c=c<<8|a[d];return c>>>0}function d(a,b){return 1===b?String.fromCharCode(a[0],a[1]):3===b?String.fromCharCode(a[0],a[1],a[2],a[3]):String.fromCharCode.apply(null,a.subarray(0,b+1))}function f(a,b,c){for(var d=0,e=c;e>=0;e--)d+=a[e]+b[e],a[e]=255&d,d>>=8}function g(a,b){for(var c=1,d=b;d>=0&&c>0;d--)c+=a[d],a[d]=255&c,c>>=8}function h(a){this.buffer=a,this.pos=0,this.end=a.length,this.tmpBuf=new Uint8Array(l)}function i(i,j,l){var m=a(i),n=new h(m),o=n.readByte();j.vertical=!!(1&o);for(var p,q,r=null,s=new Uint8Array(k),t=new Uint8Array(k),u=new Uint8Array(k),v=new Uint8Array(k),w=new Uint8Array(k);(q=n.readByte())>=0;){var x=q>>5;if(7!==x){var y=!!(16&q),z=15&q;e(k>=z+1);var A,B=1,C=n.readNumber();switch(x){case 0:for(n.readHex(s,z),n.readHexNumber(t,z),f(t,s,z),j.addCodespaceRange(z+1,b(s,z),b(t,z)),A=1;C>A;A++)g(t,z),n.readHexNumber(s,z),f(s,t,z),n.readHexNumber(t,z),f(t,s,z),j.addCodespaceRange(z+1,b(s,z),b(t,z));break;case 1:for(n.readHex(s,z),n.readHexNumber(t,z),f(t,s,z),p=n.readNumber(),A=1;C>A;A++)g(t,z),n.readHexNumber(s,z),f(s,t,z),n.readHexNumber(t,z),f(t,s,z),p=n.readNumber();break;case 2:for(n.readHex(u,z),p=n.readNumber(),j.mapOne(b(u,z),p),A=1;C>A;A++)g(u,z),y||(n.readHexNumber(w,z),f(u,w,z)),p=n.readSigned()+(p+1),j.mapOne(b(u,z),p);break;case 3:for(n.readHex(s,z),n.readHexNumber(t,z),f(t,s,z),p=n.readNumber(),j.mapCidRange(b(s,z),b(t,z),p),A=1;C>A;A++)g(t,z),y?s.set(t):(n.readHexNumber(s,z),f(s,t,z)),n.readHexNumber(t,z),f(t,s,z),p=n.readNumber(),j.mapCidRange(b(s,z),b(t,z),p);break;case 4:for(n.readHex(u,B),n.readHex(v,z),j.mapOne(b(u,B),d(v,z)),A=1;C>A;A++)g(u,B),y||(n.readHexNumber(w,B),f(u,w,B)),g(v,z),n.readHexSigned(w,z),f(v,w,z),j.mapOne(b(u,B),d(v,z));break;case 5:for(n.readHex(s,B),n.readHexNumber(t,B),f(t,s,B),n.readHex(v,z),j.mapBfRange(b(s,B),b(t,B),d(v,z)),A=1;C>A;A++)g(t,B),y?s.set(t):(n.readHexNumber(s,B),f(s,t,B)),n.readHexNumber(t,B),f(t,s,B),n.readHex(v,z),j.mapBfRange(b(s,B),b(t,B),d(v,z));break;default:c("Unknown type: "+x)}}else switch(31&q){case 0:n.readString();break;case 1:r=n.readString()}}return r&&l(r),j}function j(){}var k=16,l=19;return h.prototype={readByte:function(){return this.pos>=this.end?-1:this.buffer[this.pos++]},readNumber:function(){var a,b=0;do{var d=this.readByte();0>d&&c("unexpected EOF in bcmap"),a=!(128&d),b=b<<7|127&d}while(!a);return b},readSigned:function(){var a=this.readNumber();return 1&a?~(a>>>1):a>>>1},readHex:function(a,b){a.set(this.buffer.subarray(this.pos,this.pos+b+1)),this.pos+=b+1},readHexNumber:function(a,b){var d,e=this.tmpBuf,f=0;do{var g=this.readByte();0>g&&c("unexpected EOF in bcmap"),d=!(128&g),e[f++]=127&g}while(!d);for(var h=b,i=0,j=0;h>=0;){for(;8>j&&e.length>0;)i=e[--f]<<j|i,j+=7;a[h]=255&i,h--,i>>=8,j-=8}},readHexSigned:function(a,b){this.readHexNumber(a,b);for(var c=1&a[b]?255:0,d=0,e=0;b>=e;e++)d=(1&d)<<8|a[e],a[e]=d>>1^c},readString:function(){for(var a=this.readNumber(),b="",c=0;a>c;c++)b+=String.fromCharCode(this.readNumber());return b}},j.prototype={read:i},j}(),Hb=function(){function a(a){for(var b=0,c=0;c<a.length;c++)b=b<<8|a.charCodeAt(c);return b>>>0}function d(a){y(a)||c("Malformed CMap: expected string.")}function f(a){w(a)||c("Malformed CMap: expected int.")}function g(b,c){for(;;){var e=c.getObj();if(R(e))break;if(A(e,"endbfchar"))return;d(e);var f=a(e);e=c.getObj(),d(e);var g=e;b.mapOne(f,g)}}function h(b,e){for(;;){var f=e.getObj();if(R(f))break;if(A(f,"endbfrange"))return;d(f);var g=a(f);f=e.getObj(),d(f);var h=a(f);if(f=e.getObj(),w(f)||y(f)){var i=w(f)?String.fromCharCode(f):f;b.mapBfRange(g,h,i)}else{if(!A(f,"["))break;f=e.getObj();for(var j=[];!A(f,"]")&&!R(f);)j.push(f),f=e.getObj();b.mapBfRangeToArray(g,h,j)}}c("Invalid bf range.")}function i(b,c){for(;;){var e=c.getObj();if(R(e))break;if(A(e,"endcidchar"))return;d(e);var g=a(e);e=c.getObj(),f(e);var h=e;b.mapOne(g,h)}}function j(b,c){for(;;){var e=c.getObj();if(R(e))break;if(A(e,"endcidrange"))return;d(e);var g=a(e);e=c.getObj(),d(e);var h=a(e);e=c.getObj(),f(e);var i=e;b.mapCidRange(g,h,i)}}function k(b,d){for(;;){var e=d.getObj();if(R(e))break;if(A(e,"endcodespacerange"))return;if(!y(e))break;var f=a(e);if(e=d.getObj(),!y(e))break;var g=a(e);b.addCodespaceRange(e.length,f,g)}c("Invalid codespace range.")}function l(a,b){var c=b.getObj();w(c)&&(a.vertical=!!c)}function m(a,b){var c=b.getObj();z(c)&&y(c.name)&&(a.name=c.name)}function n(a,b,c,d){var e,f;a:for(;;){var n=b.getObj();if(R(n))break;if(z(n))"WMode"===n.name?l(a,b):"CMapName"===n.name&&m(a,b),e=n;else if(A(n))switch(n.cmd){case"endcmap":break a;case"usecmap":z(e)&&(f=e.name);break;case"begincodespacerange":k(a,b);break;case"beginbfchar":g(a,b);break;case"begincidchar":i(a,b);break;case"beginbfrange":h(a,b);break;case"begincidrange":j(a,b)}}!d&&f&&(d=f),d&&o(a,c,d)}function o(a,b,c){if(a.useCMap=q(c,b),0===a.numCodespaceRanges){for(var d=a.useCMap.codespaceRanges,e=0;e<d.length;e++)a.codespaceRanges[e]=d[e].slice();a.numCodespaceRanges=a.useCMap.numCodespaceRanges}a.useCMap.forEach(function(b,c){a.contains(b)||a.mapOne(b,a.useCMap.lookup(b))})}function p(a,b){var c=b.url+a+".bcmap",d=new Eb(!0);return(new Gb).read(c,d,function(a){o(d,b,a)}),d}function q(a,b){if("Identity-H"===a)return new Fb(!1,2);if("Identity-V"===a)return new Fb(!0,2);if(-1===Db.indexOf(a)&&c("Unknown cMap name: "+a),e(b,"built-in cMap parameters are not provided"),b.packed)return p(a,b);var d=new XMLHttpRequest,f=b.url+a;d.open("GET",f,!1),d.send(null),d.responseText||c("Unable to get cMap at: "+f);var g=new Eb(!0),h=new Gc(new Nc(d.responseText));return n(g,h,b,null),g}return{create:function(a,d,e){if(z(a))return q(a.name,d);if(D(a)){var f=new Eb,g=new Gc(a);try{n(f,g,d,e)}catch(h){b("Invalid CMap data. "+h)}return f.isIdentityCMap?q(f.name,d):f}c("Encoding required.")}}}(),Ib=57344,Jb=63743,Kb=!1,Lb=1e3,Mb=!1,Nb=!1,Ob={FixedPitch:1,Serif:2,Symbolic:4,Script:8,Nonsymbolic:32,Italic:64,AllCap:65536,SmallCap:131072,ForceBold:262144},Pb={ExpertEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],MacExpertEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","centoldstyle","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","","threequartersemdash","","questionsmall","","","","","Ethsmall","","","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","","","","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hypheninferior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","asuperior","centsuperior","","","","","Aacutesmall","Agravesmall","Acircumflexsmall","Adieresissmall","Atildesmall","Aringsmall","Ccedillasmall","Eacutesmall","Egravesmall","Ecircumflexsmall","Edieresissmall","Iacutesmall","Igravesmall","Icircumflexsmall","Idieresissmall","Ntildesmall","Oacutesmall","Ogravesmall","Ocircumflexsmall","Odieresissmall","Otildesmall","Uacutesmall","Ugravesmall","Ucircumflexsmall","Udieresissmall","","eightsuperior","fourinferior","threeinferior","sixinferior","eightinferior","seveninferior","Scaronsmall","","centinferior","twoinferior","","Dieresissmall","","Caronsmall","osuperior","fiveinferior","","commainferior","periodinferior","Yacutesmall","","dollarinferior","","Thornsmall","","nineinferior","zeroinferior","Zcaronsmall","AEsmall","Oslashsmall","questiondownsmall","oneinferior","Lslashsmall","","","","","","","Cedillasmall","","","","","","OEsmall","figuredash","hyphensuperior","","","","","exclamdownsmall","","Ydieresissmall","","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","ninesuperior","zerosuperior","","esuperior","rsuperior","tsuperior","","","isuperior","ssuperior","dsuperior","","","","","","lsuperior","Ogoneksmall","Brevesmall","Macronsmall","bsuperior","nsuperior","msuperior","commasuperior","periodsuperior","Dotaccentsmall","Ringsmall"],MacRomanEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","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","bracketleft","backslash","bracketright","asciicircum","underscore","grave","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","braceleft","bar","braceright","asciitilde","","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","space","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron"],StandardEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","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","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","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","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls"],WinAnsiEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","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","bracketleft","backslash","bracketright","asciicircum","underscore","grave","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","braceleft","bar","braceright","asciitilde","bullet","Euro","bullet","quotesinglbase","florin","quotedblbase","ellipsis","dagger","daggerdbl","circumflex","perthousand","Scaron","guilsinglleft","OE","bullet","Zcaron","bullet","bullet","quoteleft","quoteright","quotedblleft","quotedblright","bullet","endash","emdash","tilde","trademark","scaron","guilsinglright","oe","bullet","zcaron","Ydieresis","space","exclamdown","cent","sterling","currency","yen","brokenbar","section","dieresis","copyright","ordfeminine","guillemotleft","logicalnot","hyphen","registered","macron","degree","plusminus","twosuperior","threesuperior","acute","mu","paragraph","periodcentered","cedilla","onesuperior","ordmasculine","guillemotright","onequarter","onehalf","threequarters","questiondown","Agrave","Aacute","Acircumflex","Atilde","Adieresis","Aring","AE","Ccedilla","Egrave","Eacute","Ecircumflex","Edieresis","Igrave","Iacute","Icircumflex","Idieresis","Eth","Ntilde","Ograve","Oacute","Ocircumflex","Otilde","Odieresis","multiply","Oslash","Ugrave","Uacute","Ucircumflex","Udieresis","Yacute","Thorn","germandbls","agrave","aacute","acircumflex","atilde","adieresis","aring","ae","ccedilla","egrave","eacute","ecircumflex","edieresis","igrave","iacute","icircumflex","idieresis","eth","ntilde","ograve","oacute","ocircumflex","otilde","odieresis","divide","oslash","ugrave","uacute","ucircumflex","udieresis","yacute","thorn","ydieresis"],SymbolSetEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","universal","numbersign","existential","percent","ampersand","suchthat","parenleft","parenright","asteriskmath","plus","comma","minus","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","congruent","Alpha","Beta","Chi","Delta","Epsilon","Phi","Gamma","Eta","Iota","theta1","Kappa","Lambda","Mu","Nu","Omicron","Pi","Theta","Rho","Sigma","Tau","Upsilon","sigma1","Omega","Xi","Psi","Zeta","bracketleft","therefore","bracketright","perpendicular","underscore","radicalex","alpha","beta","chi","delta","epsilon","phi","gamma","eta","iota","phi1","kappa","lambda","mu","nu","omicron","pi","theta","rho","sigma","tau","upsilon","omega1","omega","xi","psi","zeta","braceleft","bar","braceright","similar","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Euro","Upsilon1","minute","lessequal","fraction","infinity","florin","club","diamond","heart","spade","arrowboth","arrowleft","arrowup","arrowright","arrowdown","degree","plusminus","second","greaterequal","multiply","proportional","partialdiff","bullet","divide","notequal","equivalence","approxequal","ellipsis","arrowvertex","arrowhorizex","carriagereturn","aleph","Ifraktur","Rfraktur","weierstrass","circlemultiply","circleplus","emptyset","intersection","union","propersuperset","reflexsuperset","notsubset","propersubset","reflexsubset","element","notelement","angle","gradient","registerserif","copyrightserif","trademarkserif","product","radical","dotmath","logicalnot","logicaland","logicalor","arrowdblboth","arrowdblleft","arrowdblup","arrowdblright","arrowdbldown","lozenge","angleleft","registersans","copyrightsans","trademarksans","summation","parenlefttp","parenleftex","parenleftbt","bracketlefttp","bracketleftex","bracketleftbt","bracelefttp","braceleftmid","braceleftbt","braceex","","angleright","integral","integraltp","integralex","integralbt","parenrighttp","parenrightex","parenrightbt","bracketrighttp","bracketrightex","bracketrightbt","bracerighttp","bracerightmid","bracerightbt"],ZapfDingbatsEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","a1","a2","a202","a3","a4","a5","a119","a118","a117","a11","a12","a13","a14","a15","a16","a105","a17","a18","a19","a20","a21","a22","a23","a24","a25","a26","a27","a28","a6","a7","a8","a9","a10","a29","a30","a31","a32","a33","a34","a35","a36","a37","a38","a39","a40","a41","a42","a43","a44","a45","a46","a47","a48","a49","a50","a51","a52","a53","a54","a55","a56","a57","a58","a59","a60","a61","a62","a63","a64","a65","a66","a67","a68","a69","a70","a71","a72","a73","a74","a203","a75","a204","a76","a77","a78","a79","a81","a82","a83","a84","a97","a98","a99","a100","","a89","a90","a93","a94","a91","a92","a205","a85","a206","a86","a87","a88","a95","a96","","","","","","","","","","","","","","","","","","","","a101","a102","a103","a104","a106","a107","a108","a112","a111","a110","a109","a120","a121","a122","a123","a124","a125","a126","a127","a128","a129","a130","a131","a132","a133","a134","a135","a136","a137","a138","a139","a140","a141","a142","a143","a144","a145","a146","a147","a148","a149","a150","a151","a152","a153","a154","a155","a156","a157","a158","a159","a160","a161","a163","a164","a196","a165","a192","a166","a167","a168","a169","a170","a171","a172","a173","a162","a174","a175","a176","a177","a178","a179","a193","a180","a199","a181","a200","a182","","a201","a183","a184","a197","a185","a194","a198","a186","a195","a187","a188","a189","a190","a191"]},Qb={ArialNarrow:"Helvetica","ArialNarrow-Bold":"Helvetica-Bold","ArialNarrow-BoldItalic":"Helvetica-BoldOblique","ArialNarrow-Italic":"Helvetica-Oblique",ArialBlack:"Helvetica","ArialBlack-Bold":"Helvetica-Bold","ArialBlack-BoldItalic":"Helvetica-BoldOblique","ArialBlack-Italic":"Helvetica-Oblique",Arial:"Helvetica","Arial-Bold":"Helvetica-Bold","Arial-BoldItalic":"Helvetica-BoldOblique","Arial-Italic":"Helvetica-Oblique","Arial-BoldItalicMT":"Helvetica-BoldOblique","Arial-BoldMT":"Helvetica-Bold","Arial-ItalicMT":"Helvetica-Oblique",ArialMT:"Helvetica","Courier-Bold":"Courier-Bold","Courier-BoldItalic":"Courier-BoldOblique","Courier-Italic":"Courier-Oblique",CourierNew:"Courier","CourierNew-Bold":"Courier-Bold","CourierNew-BoldItalic":"Courier-BoldOblique","CourierNew-Italic":"Courier-Oblique","CourierNewPS-BoldItalicMT":"Courier-BoldOblique","CourierNewPS-BoldMT":"Courier-Bold","CourierNewPS-ItalicMT":"Courier-Oblique",CourierNewPSMT:"Courier",Helvetica:"Helvetica","Helvetica-Bold":"Helvetica-Bold","Helvetica-BoldItalic":"Helvetica-BoldOblique","Helvetica-BoldOblique":"Helvetica-BoldOblique","Helvetica-Italic":"Helvetica-Oblique","Helvetica-Oblique":"Helvetica-Oblique","Symbol-Bold":"Symbol","Symbol-BoldItalic":"Symbol","Symbol-Italic":"Symbol",TimesNewRoman:"Times-Roman","TimesNewRoman-Bold":"Times-Bold","TimesNewRoman-BoldItalic":"Times-BoldItalic","TimesNewRoman-Italic":"Times-Italic",TimesNewRomanPS:"Times-Roman","TimesNewRomanPS-Bold":"Times-Bold","TimesNewRomanPS-BoldItalic":"Times-BoldItalic","TimesNewRomanPS-BoldItalicMT":"Times-BoldItalic","TimesNewRomanPS-BoldMT":"Times-Bold","TimesNewRomanPS-Italic":"Times-Italic","TimesNewRomanPS-ItalicMT":"Times-Italic",TimesNewRomanPSMT:"Times-Roman","TimesNewRomanPSMT-Bold":"Times-Bold","TimesNewRomanPSMT-BoldItalic":"Times-BoldItalic","TimesNewRomanPSMT-Italic":"Times-Italic"},Rb={CenturyGothic:"Helvetica","CenturyGothic-Bold":"Helvetica-Bold","CenturyGothic-BoldItalic":"Helvetica-BoldOblique","CenturyGothic-Italic":"Helvetica-Oblique",ComicSansMS:"Comic Sans MS","ComicSansMS-Bold":"Comic Sans MS-Bold","ComicSansMS-BoldItalic":"Comic Sans MS-BoldItalic","ComicSansMS-Italic":"Comic Sans MS-Italic",LucidaConsole:"Courier","LucidaConsole-Bold":"Courier-Bold","LucidaConsole-BoldItalic":"Courier-BoldOblique","LucidaConsole-Italic":"Courier-Oblique","MS-Gothic":"MS Gothic","MS-Gothic-Bold":"MS Gothic-Bold","MS-Gothic-BoldItalic":"MS Gothic-BoldItalic","MS-Gothic-Italic":"MS Gothic-Italic","MS-Mincho":"MS Mincho","MS-Mincho-Bold":"MS Mincho-Bold","MS-Mincho-BoldItalic":"MS Mincho-BoldItalic","MS-Mincho-Italic":"MS Mincho-Italic","MS-PGothic":"MS PGothic","MS-PGothic-Bold":"MS PGothic-Bold","MS-PGothic-BoldItalic":"MS PGothic-BoldItalic","MS-PGothic-Italic":"MS PGothic-Italic","MS-PMincho":"MS PMincho","MS-PMincho-Bold":"MS PMincho-Bold","MS-PMincho-BoldItalic":"MS PMincho-BoldItalic","MS-PMincho-Italic":"MS PMincho-Italic",Wingdings:"ZapfDingbats"},Sb={"Adobe Jenson":!0,"Adobe Text":!0,Albertus:!0,Aldus:!0,Alexandria:!0,Algerian:!0,"American Typewriter":!0,Antiqua:!0,Apex:!0,Arno:!0,Aster:!0,Aurora:!0,Baskerville:!0,Bell:!0,Bembo:!0,"Bembo Schoolbook":!0,Benguiat:!0,"Berkeley Old Style":!0,"Bernhard Modern":!0,"Berthold City":!0,Bodoni:!0,"Bauer Bodoni":!0,"Book Antiqua":!0,Bookman:!0,"Bordeaux Roman":!0,"Californian FB":!0,Calisto:!0,Calvert:!0,Capitals:!0,Cambria:!0,Cartier:!0,Caslon:!0,Catull:!0,Centaur:!0,"Century Old Style":!0,"Century Schoolbook":!0,Chaparral:!0,"Charis SIL":!0,Cheltenham:!0,"Cholla Slab":!0,Clarendon:!0,Clearface:!0,Cochin:!0,Colonna:!0,"Computer Modern":!0,"Concrete Roman":!0,Constantia:!0,"Cooper Black":!0,Corona:!0,Ecotype:!0,Egyptienne:!0,Elephant:!0,Excelsior:!0,Fairfield:!0,"FF Scala":!0,Folkard:!0,Footlight:!0,FreeSerif:!0,"Friz Quadrata":!0,Garamond:!0,Gentium:!0,Georgia:!0,Gloucester:!0,"Goudy Old Style":!0,"Goudy Schoolbook":!0,"Goudy Pro Font":!0,Granjon:!0,"Guardian Egyptian":!0,Heather:!0,Hercules:!0,"High Tower Text":!0,Hiroshige:!0,"Hoefler Text":!0,"Humana Serif":!0,Imprint:!0,"Ionic No. 5":!0,Janson:!0,Joanna:!0,Korinna:!0,Lexicon:!0,"Liberation Serif":!0,"Linux Libertine":!0,Literaturnaya:!0,Lucida:!0,"Lucida Bright":!0,Melior:!0,Memphis:!0,Miller:!0,Minion:!0,Modern:!0,"Mona Lisa":!0,"Mrs Eaves":!0,"MS Serif":!0,"Museo Slab":!0,"New York":!0,"Nimbus Roman":!0,"NPS Rawlinson Roadway":!0,Palatino:!0,Perpetua:!0,Plantin:!0,"Plantin Schoolbook":!0,Playbill:!0,"Poor Richard":!0,"Rawlinson Roadway":!0,Renault:!0,Requiem:!0,Rockwell:!0,Roman:!0,"Rotis Serif":!0,Sabon:!0,Scala:!0,Seagull:!0,Sistina:!0,Souvenir:!0,STIX:!0,"Stone Informal":!0,"Stone Serif":!0,Sylfaen:!0,Times:!0,Trajan:!0,"Trinité":!0,"Trump Mediaeval":!0,Utopia:!0,"Vale Type":!0,"Bitstream Vera":!0,"Vera Serif":!0,Versailles:!0,Wanted:!0,Weiss:!0,"Wide Latin":!0,Windsor:!0,XITS:!0},Tb={Dingbats:!0,Symbol:!0,ZapfDingbats:!0},Ub={2:10,3:32,4:33,5:34,6:35,7:36,8:37,9:38,10:39,11:40,12:41,13:42,14:43,15:44,16:45,17:46,18:47,19:48,20:49,21:50,22:51,23:52,24:53,25:54,26:55,27:56,28:57,29:58,30:894,31:60,32:61,33:62,34:63,35:64,36:65,37:66,38:67,39:68,40:69,41:70,42:71,43:72,44:73,45:74,46:75,47:76,48:77,49:78,50:79,51:80,52:81,53:82,54:83,55:84,56:85,57:86,58:87,59:88,60:89,61:90,62:91,63:92,64:93,65:94,66:95,67:96,68:97,69:98,70:99,71:100,72:101,73:102,74:103,75:104,76:105,77:106,78:107,79:108,80:109,81:110,82:111,83:112,84:113,85:114,86:115,87:116,88:117,89:118,90:119,91:120,92:121,93:122,94:123,95:124,96:125,97:126,98:196,99:197,100:199,101:201,102:209,103:214,104:220,105:225,106:224,107:226,108:228,109:227,110:229,111:231,112:233,113:232,114:234,115:235,116:237,117:236,118:238,119:239,120:241,121:243,122:242,123:244,124:246,125:245,126:250,127:249,128:251,129:252,130:8224,131:176,132:162,133:163,134:167,135:8226,136:182,137:223,138:174,139:169,140:8482,141:180,142:168,143:8800,144:198,145:216,146:8734,147:177,148:8804,149:8805,150:165,151:181,152:8706,153:8721,154:8719,156:8747,157:170,158:186,159:8486,160:230,161:248,162:191,163:161,164:172,165:8730,166:402,167:8776,168:8710,169:171,170:187,171:8230,210:218,223:711,224:321,225:322,227:353,229:382,234:253,252:263,253:268,254:269,258:258,260:260,261:261,265:280,266:281,268:283,269:313,275:323,276:324,278:328,284:345,285:346,286:347,292:367,295:377,296:378,298:380,305:963,306:964,307:966,308:8215,309:8252,310:8319,311:8359,312:8592,313:8593,337:9552,493:1039,494:1040,705:1524,706:8362,710:64288,711:64298,759:1617,761:1776,763:1778,775:1652,777:1764,778:1780,779:1781,780:1782,782:771,783:64726,786:8363,788:8532,790:768,791:769,792:768,795:803,797:64336,798:64337,799:64342,800:64343,801:64344,802:64345,803:64362,804:64363,805:64364,2424:7821,2425:7822,2426:7823,2427:7824,2428:7825,2429:7826,2430:7827,2433:7682,2678:8045,2679:8046,2830:1552,2838:686,2840:751,2842:753,2843:754,2844:755,2846:757,2856:767,2857:848,2858:849,2862:853,2863:854,2864:855,2865:861,2866:862,2906:7460,2908:7462,2909:7463,2910:7464,2912:7466,2913:7467,2914:7468,2916:7470,2917:7471,2918:7472,2920:7474,2921:7475,2922:7476,2924:7478,2925:7479,2926:7480,2928:7482,2929:7483,2930:7484,2932:7486,2933:7487,2934:7488,2936:7490,2937:7491,2938:7492,2940:7494,2941:7495,2942:7496,2944:7498,2946:7500,2948:7502,2950:7504,2951:7505,2952:7506,2954:7508,2955:7509,2956:7510,2958:7512,2959:7513,2960:7514,2962:7516,2963:7517,2964:7518,2966:7520,2967:7521,2968:7522,2970:7524,2971:7525,2972:7526,2974:7528,2975:7529,2976:7530,2978:1537,2979:1538,2980:1539,2982:1549,2983:1551,2984:1552,2986:1554,2987:1555,2988:1556,2990:1623,2991:1624,2995:1775,2999:1791,3002:64290,3003:64291,3004:64292,3006:64294,3007:64295,3008:64296,3011:1900,3014:8223,3015:8244,3017:7532,3018:7533,3019:7534,3075:7590,3076:7591,3079:7594,3080:7595,3083:7598,3084:7599,3087:7602,3088:7603,3091:7606,3092:7607,3095:7610,3096:7611,3099:7614,3100:7615,3103:7618,3104:7619,3107:8337,3108:8338,3116:1884,3119:1885,3120:1885,3123:1886,3124:1886,3127:1887,3128:1887,3131:1888,3132:1888,3135:1889,3136:1889,3139:1890,3140:1890,3143:1891,3144:1891,3147:1892,3148:1892,3153:580,3154:581,3157:584,3158:585,3161:588,3162:589,3165:891,3166:892,3169:1274,3170:1275,3173:1278,3174:1279,3181:7622,3182:7623,3282:11799,3316:578,3379:42785,3393:1159,3416:8377},Vb={227:322,264:261,291:346},Wb={63721:169,63193:169,63720:174,63194:174,63722:8482,63195:8482,63729:9127,63730:9128,63731:9129,63740:9131,63741:9132,63742:9133,63726:9121,63727:9122,63728:9123,63737:9124,63738:9125,63739:9126,63723:9115,63724:9116,63725:9117,63734:9118,63735:9119,63736:9120},Xb=[{begin:0,end:127},{begin:128,end:255},{begin:256,end:383},{begin:384,end:591},{begin:592,end:687},{begin:688,end:767},{begin:768,end:879},{begin:880,end:1023},{begin:11392,end:11519},{begin:1024,end:1279},{begin:1328,end:1423},{begin:1424,end:1535},{begin:42240,end:42559},{begin:1536,
-end:1791},{begin:1984,end:2047},{begin:2304,end:2431},{begin:2432,end:2559},{begin:2560,end:2687},{begin:2688,end:2815},{begin:2816,end:2943},{begin:2944,end:3071},{begin:3072,end:3199},{begin:3200,end:3327},{begin:3328,end:3455},{begin:3584,end:3711},{begin:3712,end:3839},{begin:4256,end:4351},{begin:6912,end:7039},{begin:4352,end:4607},{begin:7680,end:7935},{begin:7936,end:8191},{begin:8192,end:8303},{begin:8304,end:8351},{begin:8352,end:8399},{begin:8400,end:8447},{begin:8448,end:8527},{begin:8528,end:8591},{begin:8592,end:8703},{begin:8704,end:8959},{begin:8960,end:9215},{begin:9216,end:9279},{begin:9280,end:9311},{begin:9312,end:9471},{begin:9472,end:9599},{begin:9600,end:9631},{begin:9632,end:9727},{begin:9728,end:9983},{begin:9984,end:10175},{begin:12288,end:12351},{begin:12352,end:12447},{begin:12448,end:12543},{begin:12544,end:12591},{begin:12592,end:12687},{begin:43072,end:43135},{begin:12800,end:13055},{begin:13056,end:13311},{begin:44032,end:55215},{begin:55296,end:57343},{begin:67840,end:67871},{begin:19968,end:40959},{begin:57344,end:63743},{begin:12736,end:12783},{begin:64256,end:64335},{begin:64336,end:65023},{begin:65056,end:65071},{begin:65040,end:65055},{begin:65104,end:65135},{begin:65136,end:65279},{begin:65280,end:65519},{begin:65520,end:65535},{begin:3840,end:4095},{begin:1792,end:1871},{begin:1920,end:1983},{begin:3456,end:3583},{begin:4096,end:4255},{begin:4608,end:4991},{begin:5024,end:5119},{begin:5120,end:5759},{begin:5760,end:5791},{begin:5792,end:5887},{begin:6016,end:6143},{begin:6144,end:6319},{begin:10240,end:10495},{begin:40960,end:42127},{begin:5888,end:5919},{begin:66304,end:66351},{begin:66352,end:66383},{begin:66560,end:66639},{begin:118784,end:119039},{begin:119808,end:120831},{begin:1044480,end:1048573},{begin:65024,end:65039},{begin:917504,end:917631},{begin:6400,end:6479},{begin:6480,end:6527},{begin:6528,end:6623},{begin:6656,end:6687},{begin:11264,end:11359},{begin:11568,end:11647},{begin:19904,end:19967},{begin:43008,end:43055},{begin:65536,end:65663},{begin:65856,end:65935},{begin:66432,end:66463},{begin:66464,end:66527},{begin:66640,end:66687},{begin:66688,end:66735},{begin:67584,end:67647},{begin:68096,end:68191},{begin:119552,end:119647},{begin:73728,end:74751},{begin:119648,end:119679},{begin:7040,end:7103},{begin:7168,end:7247},{begin:7248,end:7295},{begin:43136,end:43231},{begin:43264,end:43311},{begin:43312,end:43359},{begin:43520,end:43615},{begin:65936,end:65999},{begin:66e3,end:66047},{begin:66208,end:66271},{begin:127024,end:127135}],Yb=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","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","bracketleft","backslash","bracketright","asciicircum","underscore","grave","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","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"],Zb={"¨":" ̈","¯":" ̄","´":" ́","µ":"μ","¸":" ̧","IJ":"IJ","ij":"ij","Ŀ":"L·","ŀ":"l·","ʼn":"ʼn","ſ":"s","DŽ":"DŽ","Dž":"Dž","dž":"dž","LJ":"LJ","Lj":"Lj","lj":"lj","NJ":"NJ","Nj":"Nj","nj":"nj","DZ":"DZ","Dz":"Dz","dz":"dz","˘":" ̆","˙":" ̇","˚":" ̊","˛":" ̨","˜":" ̃","˝":" ̋","ͺ":" ͅ","΄":" ́","ϐ":"β","ϑ":"θ","ϒ":"Υ","ϕ":"φ","ϖ":"π","ϰ":"κ","ϱ":"ρ","ϲ":"ς","ϴ":"Θ","ϵ":"ε","Ϲ":"Σ","և":"եւ","ٵ":"اٴ","ٶ":"وٴ","ٷ":"ۇٴ","ٸ":"يٴ","ำ":"ํา","ຳ":"ໍາ","ໜ":"ຫນ","ໝ":"ຫມ","ཷ":"ྲཱྀ","ཹ":"ླཱྀ","ẚ":"aʾ","᾽":" ̓","᾿":" ̓","῀":" ͂","῾":" ̔"," ":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" ","‗":" ̳","․":".","‥":"..","…":"...","″":"′′","‴":"′′′","‶":"‵‵","‷":"‵‵‵","‼":"!!","‾":" ̅","⁇":"??","⁈":"?!","⁉":"!?","⁗":"′′′′"," ":" ","₨":"Rs","℀":"a/c","℁":"a/s","℃":"°C","℅":"c/o","℆":"c/u","ℇ":"Ɛ","℉":"°F","№":"No","℡":"TEL","ℵ":"א","ℶ":"ב","ℷ":"ג","ℸ":"ד","℻":"FAX","Ⅰ":"I","Ⅱ":"II","Ⅲ":"III","Ⅳ":"IV","Ⅴ":"V","Ⅵ":"VI","Ⅶ":"VII","Ⅷ":"VIII","Ⅸ":"IX","Ⅹ":"X","Ⅺ":"XI","Ⅻ":"XII","Ⅼ":"L","Ⅽ":"C","Ⅾ":"D","Ⅿ":"M","ⅰ":"i","ⅱ":"ii","ⅲ":"iii","ⅳ":"iv","ⅴ":"v","ⅵ":"vi","ⅶ":"vii","ⅷ":"viii","ⅸ":"ix","ⅹ":"x","ⅺ":"xi","ⅻ":"xii","ⅼ":"l","ⅽ":"c","ⅾ":"d","ⅿ":"m","∬":"∫∫","∭":"∫∫∫","∯":"∮∮","∰":"∮∮∮","⑴":"(1)","⑵":"(2)","⑶":"(3)","⑷":"(4)","⑸":"(5)","⑹":"(6)","⑺":"(7)","⑻":"(8)","⑼":"(9)","⑽":"(10)","⑾":"(11)","⑿":"(12)","⒀":"(13)","⒁":"(14)","⒂":"(15)","⒃":"(16)","⒄":"(17)","⒅":"(18)","⒆":"(19)","⒇":"(20)","⒈":"1.","⒉":"2.","⒊":"3.","⒋":"4.","⒌":"5.","⒍":"6.","⒎":"7.","⒏":"8.","⒐":"9.","⒑":"10.","⒒":"11.","⒓":"12.","⒔":"13.","⒕":"14.","⒖":"15.","⒗":"16.","⒘":"17.","⒙":"18.","⒚":"19.","⒛":"20.","⒜":"(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)","⨌":"∫∫∫∫","⩴":"::=","⩵":"==","⩶":"===","⺟":"母","⻳":"龟","⼀":"一","⼁":"丨","⼂":"丶","⼃":"丿","⼄":"乙","⼅":"亅","⼆":"二","⼇":"亠","⼈":"人","⼉":"儿","⼊":"入","⼋":"八","⼌":"冂","⼍":"冖","⼎":"冫","⼏":"几","⼐":"凵","⼑":"刀","⼒":"力","⼓":"勹","⼔":"匕","⼕":"匚","⼖":"匸","⼗":"十","⼘":"卜","⼙":"卩","⼚":"厂","⼛":"厶","⼜":"又","⼝":"口","⼞":"囗","⼟":"土","⼠":"士","⼡":"夂","⼢":"夊","⼣":"夕","⼤":"大","⼥":"女","⼦":"子","⼧":"宀","⼨":"寸","⼩":"小","⼪":"尢","⼫":"尸","⼬":"屮","⼭":"山","⼮":"巛","⼯":"工","⼰":"己","⼱":"巾","⼲":"干","⼳":"幺","⼴":"广","⼵":"廴","⼶":"廾","⼷":"弋","⼸":"弓","⼹":"彐","⼺":"彡","⼻":"彳","⼼":"心","⼽":"戈","⼾":"戶","⼿":"手","⽀":"支","⽁":"攴","⽂":"文","⽃":"斗","⽄":"斤","⽅":"方","⽆":"无","⽇":"日","⽈":"曰","⽉":"月","⽊":"木","⽋":"欠","⽌":"止","⽍":"歹","⽎":"殳","⽏":"毋","⽐":"比","⽑":"毛","⽒":"氏","⽓":"气","⽔":"水","⽕":"火","⽖":"爪","⽗":"父","⽘":"爻","⽙":"爿","⽚":"片","⽛":"牙","⽜":"牛","⽝":"犬","⽞":"玄","⽟":"玉","⽠":"瓜","⽡":"瓦","⽢":"甘","⽣":"生","⽤":"用","⽥":"田","⽦":"疋","⽧":"疒","⽨":"癶","⽩":"白","⽪":"皮","⽫":"皿","⽬":"目","⽭":"矛","⽮":"矢","⽯":"石","⽰":"示","⽱":"禸","⽲":"禾","⽳":"穴","⽴":"立","⽵":"竹","⽶":"米","⽷":"糸","⽸":"缶","⽹":"网","⽺":"羊","⽻":"羽","⽼":"老","⽽":"而","⽾":"耒","⽿":"耳","⾀":"聿","⾁":"肉","⾂":"臣","⾃":"自","⾄":"至","⾅":"臼","⾆":"舌","⾇":"舛","⾈":"舟","⾉":"艮","⾊":"色","⾋":"艸","⾌":"虍","⾍":"虫","⾎":"血","⾏":"行","⾐":"衣","⾑":"襾","⾒":"見","⾓":"角","⾔":"言","⾕":"谷","⾖":"豆","⾗":"豕","⾘":"豸","⾙":"貝","⾚":"赤","⾛":"走","⾜":"足","⾝":"身","⾞":"車","⾟":"辛","⾠":"辰","⾡":"辵","⾢":"邑","⾣":"酉","⾤":"釆","⾥":"里","⾦":"金","⾧":"長","⾨":"門","⾩":"阜","⾪":"隶","⾫":"隹","⾬":"雨","⾭":"靑","⾮":"非","⾯":"面","⾰":"革","⾱":"韋","⾲":"韭","⾳":"音","⾴":"頁","⾵":"風","⾶":"飛","⾷":"食","⾸":"首","⾹":"香","⾺":"馬","⾻":"骨","⾼":"高","⾽":"髟","⾾":"鬥","⾿":"鬯","⿀":"鬲","⿁":"鬼","⿂":"魚","⿃":"鳥","⿄":"鹵","⿅":"鹿","⿆":"麥","⿇":"麻","⿈":"黃","⿉":"黍","⿊":"黑","⿋":"黹","⿌":"黽","⿍":"鼎","⿎":"鼓","⿏":"鼠","⿐":"鼻","⿑":"齊","⿒":"齒","⿓":"龍","⿔":"龜","⿕":"龠","〶":"〒","〸":"十","〹":"卄","〺":"卅","゛":" ゙","゜":" ゚","ㄱ":"ᄀ","ㄲ":"ᄁ","ㄳ":"ᆪ","ㄴ":"ᄂ","ㄵ":"ᆬ","ㄶ":"ᆭ","ㄷ":"ᄃ","ㄸ":"ᄄ","ㄹ":"ᄅ","ㄺ":"ᆰ","ㄻ":"ᆱ","ㄼ":"ᆲ","ㄽ":"ᆳ","ㄾ":"ᆴ","ㄿ":"ᆵ","ㅀ":"ᄚ","ㅁ":"ᄆ","ㅂ":"ᄇ","ㅃ":"ᄈ","ㅄ":"ᄡ","ㅅ":"ᄉ","ㅆ":"ᄊ","ㅇ":"ᄋ","ㅈ":"ᄌ","ㅉ":"ᄍ","ㅊ":"ᄎ","ㅋ":"ᄏ","ㅌ":"ᄐ","ㅍ":"ᄑ","ㅎ":"ᄒ","ㅏ":"ᅡ","ㅐ":"ᅢ","ㅑ":"ᅣ","ㅒ":"ᅤ","ㅓ":"ᅥ","ㅔ":"ᅦ","ㅕ":"ᅧ","ㅖ":"ᅨ","ㅗ":"ᅩ","ㅘ":"ᅪ","ㅙ":"ᅫ","ㅚ":"ᅬ","ㅛ":"ᅭ","ㅜ":"ᅮ","ㅝ":"ᅯ","ㅞ":"ᅰ","ㅟ":"ᅱ","ㅠ":"ᅲ","ㅡ":"ᅳ","ㅢ":"ᅴ","ㅣ":"ᅵ","ㅤ":"ᅠ","ㅥ":"ᄔ","ㅦ":"ᄕ","ㅧ":"ᇇ","ㅨ":"ᇈ","ㅩ":"ᇌ","ㅪ":"ᇎ","ㅫ":"ᇓ","ㅬ":"ᇗ","ㅭ":"ᇙ","ㅮ":"ᄜ","ㅯ":"ᇝ","ㅰ":"ᇟ","ㅱ":"ᄝ","ㅲ":"ᄞ","ㅳ":"ᄠ","ㅴ":"ᄢ","ㅵ":"ᄣ","ㅶ":"ᄧ","ㅷ":"ᄩ","ㅸ":"ᄫ","ㅹ":"ᄬ","ㅺ":"ᄭ","ㅻ":"ᄮ","ㅼ":"ᄯ","ㅽ":"ᄲ","ㅾ":"ᄶ","ㅿ":"ᅀ","ㆀ":"ᅇ","ㆁ":"ᅌ","ㆂ":"ᇱ","ㆃ":"ᇲ","ㆄ":"ᅗ","ㆅ":"ᅘ","ㆆ":"ᅙ","ㆇ":"ᆄ","ㆈ":"ᆅ","ㆉ":"ᆈ","ㆊ":"ᆑ","ㆋ":"ᆒ","ㆌ":"ᆔ","ㆍ":"ᆞ","ㆎ":"ᆡ","㈀":"(ᄀ)","㈁":"(ᄂ)","㈂":"(ᄃ)","㈃":"(ᄅ)","㈄":"(ᄆ)","㈅":"(ᄇ)","㈆":"(ᄉ)","㈇":"(ᄋ)","㈈":"(ᄌ)","㈉":"(ᄎ)","㈊":"(ᄏ)","㈋":"(ᄐ)","㈌":"(ᄑ)","㈍":"(ᄒ)","㈎":"(가)","㈏":"(나)","㈐":"(다)","㈑":"(라)","㈒":"(마)","㈓":"(바)","㈔":"(사)","㈕":"(아)","㈖":"(자)","㈗":"(차)","㈘":"(카)","㈙":"(타)","㈚":"(파)","㈛":"(하)","㈜":"(주)","㈝":"(오전)","㈞":"(오후)","㈠":"(一)","㈡":"(二)","㈢":"(三)","㈣":"(四)","㈤":"(五)","㈥":"(六)","㈦":"(七)","㈧":"(八)","㈨":"(九)","㈩":"(十)","㈪":"(月)","㈫":"(火)","㈬":"(水)","㈭":"(木)","㈮":"(金)","㈯":"(土)","㈰":"(日)","㈱":"(株)","㈲":"(有)","㈳":"(社)","㈴":"(名)","㈵":"(特)","㈶":"(財)","㈷":"(祝)","㈸":"(労)","㈹":"(代)","㈺":"(呼)","㈻":"(学)","㈼":"(監)","㈽":"(企)","㈾":"(資)","㈿":"(協)","㉀":"(祭)","㉁":"(休)","㉂":"(自)","㉃":"(至)","㋀":"1月","㋁":"2月","㋂":"3月","㋃":"4月","㋄":"5月","㋅":"6月","㋆":"7月","㋇":"8月","㋈":"9月","㋉":"10月","㋊":"11月","㋋":"12月","㍘":"0点","㍙":"1点","㍚":"2点","㍛":"3点","㍜":"4点","㍝":"5点","㍞":"6点","㍟":"7点","㍠":"8点","㍡":"9点","㍢":"10点","㍣":"11点","㍤":"12点","㍥":"13点","㍦":"14点","㍧":"15点","㍨":"16点","㍩":"17点","㍪":"18点","㍫":"19点","㍬":"20点","㍭":"21点","㍮":"22点","㍯":"23点","㍰":"24点","㏠":"1日","㏡":"2日","㏢":"3日","㏣":"4日","㏤":"5日","㏥":"6日","㏦":"7日","㏧":"8日","㏨":"9日","㏩":"10日","㏪":"11日","㏫":"12日","㏬":"13日","㏭":"14日","㏮":"15日","㏯":"16日","㏰":"17日","㏱":"18日","㏲":"19日","㏳":"20日","㏴":"21日","㏵":"22日","㏶":"23日","㏷":"24日","㏸":"25日","㏹":"26日","㏺":"27日","㏻":"28日","㏼":"29日","㏽":"30日","㏾":"31日","ff":"ff","fi":"fi","fl":"fl","ffi":"ffi","ffl":"ffl","ſt":"ſt","st":"st","ﬓ":"մն","ﬔ":"մե","ﬕ":"մի","ﬖ":"վն","ﬗ":"մխ","ﭏ":"אל","ﭐ":"ٱ","ﭑ":"ٱ","ﭒ":"ٻ","ﭓ":"ٻ","ﭔ":"ٻ","ﭕ":"ٻ","ﭖ":"پ","ﭗ":"پ","ﭘ":"پ","ﭙ":"پ","ﭚ":"ڀ","ﭛ":"ڀ","ﭜ":"ڀ","ﭝ":"ڀ","ﭞ":"ٺ","ﭟ":"ٺ","ﭠ":"ٺ","ﭡ":"ٺ","ﭢ":"ٿ","ﭣ":"ٿ","ﭤ":"ٿ","ﭥ":"ٿ","ﭦ":"ٹ","ﭧ":"ٹ","ﭨ":"ٹ","ﭩ":"ٹ","ﭪ":"ڤ","ﭫ":"ڤ","ﭬ":"ڤ","ﭭ":"ڤ","ﭮ":"ڦ","ﭯ":"ڦ","ﭰ":"ڦ","ﭱ":"ڦ","ﭲ":"ڄ","ﭳ":"ڄ","ﭴ":"ڄ","ﭵ":"ڄ","ﭶ":"ڃ","ﭷ":"ڃ","ﭸ":"ڃ","ﭹ":"ڃ","ﭺ":"چ","ﭻ":"چ","ﭼ":"چ","ﭽ":"چ","ﭾ":"ڇ","ﭿ":"ڇ","ﮀ":"ڇ","ﮁ":"ڇ","ﮂ":"ڍ","ﮃ":"ڍ","ﮄ":"ڌ","ﮅ":"ڌ","ﮆ":"ڎ","ﮇ":"ڎ","ﮈ":"ڈ","ﮉ":"ڈ","ﮊ":"ژ","ﮋ":"ژ","ﮌ":"ڑ","ﮍ":"ڑ","ﮎ":"ک","ﮏ":"ک","ﮐ":"ک","ﮑ":"ک","ﮒ":"گ","ﮓ":"گ","ﮔ":"گ","ﮕ":"گ","ﮖ":"ڳ","ﮗ":"ڳ","ﮘ":"ڳ","ﮙ":"ڳ","ﮚ":"ڱ","ﮛ":"ڱ","ﮜ":"ڱ","ﮝ":"ڱ","ﮞ":"ں","ﮟ":"ں","ﮠ":"ڻ","ﮡ":"ڻ","ﮢ":"ڻ","ﮣ":"ڻ","ﮤ":"ۀ","ﮥ":"ۀ","ﮦ":"ہ","ﮧ":"ہ","ﮨ":"ہ","ﮩ":"ہ","ﮪ":"ھ","ﮫ":"ھ","ﮬ":"ھ","ﮭ":"ھ","ﮮ":"ے","ﮯ":"ے","ﮰ":"ۓ","ﮱ":"ۓ","ﯓ":"ڭ","ﯔ":"ڭ","ﯕ":"ڭ","ﯖ":"ڭ","ﯗ":"ۇ","ﯘ":"ۇ","ﯙ":"ۆ","ﯚ":"ۆ","ﯛ":"ۈ","ﯜ":"ۈ","ﯝ":"ٷ","ﯞ":"ۋ","ﯟ":"ۋ","ﯠ":"ۅ","ﯡ":"ۅ","ﯢ":"ۉ","ﯣ":"ۉ","ﯤ":"ې","ﯥ":"ې","ﯦ":"ې","ﯧ":"ې","ﯨ":"ى","ﯩ":"ى","ﯪ":"ئا","ﯫ":"ئا","ﯬ":"ئە","ﯭ":"ئە","ﯮ":"ئو","ﯯ":"ئو","ﯰ":"ئۇ","ﯱ":"ئۇ","ﯲ":"ئۆ","ﯳ":"ئۆ","ﯴ":"ئۈ","ﯵ":"ئۈ","ﯶ":"ئې","ﯷ":"ئې","ﯸ":"ئې","ﯹ":"ئى","ﯺ":"ئى","ﯻ":"ئى","ﯼ":"ی","ﯽ":"ی","ﯾ":"ی","ﯿ":"ی","ﰀ":"ئج","ﰁ":"ئح","ﰂ":"ئم","ﰃ":"ئى","ﰄ":"ئي","ﰅ":"بج","ﰆ":"بح","ﰇ":"بخ","ﰈ":"بم","ﰉ":"بى","ﰊ":"بي","ﰋ":"تج","ﰌ":"تح","ﰍ":"تخ","ﰎ":"تم","ﰏ":"تى","ﰐ":"تي","ﰑ":"ثج","ﰒ":"ثم","ﰓ":"ثى","ﰔ":"ثي","ﰕ":"جح","ﰖ":"جم","ﰗ":"حج","ﰘ":"حم","ﰙ":"خج","ﰚ":"خح","ﰛ":"خم","ﰜ":"سج","ﰝ":"سح","ﰞ":"سخ","ﰟ":"سم","ﰠ":"صح","ﰡ":"صم","ﰢ":"ضج","ﰣ":"ضح","ﰤ":"ضخ","ﰥ":"ضم","ﰦ":"طح","ﰧ":"طم","ﰨ":"ظم","ﰩ":"عج","ﰪ":"عم","ﰫ":"غج","ﰬ":"غم","ﰭ":"فج","ﰮ":"فح","ﰯ":"فخ","ﰰ":"فم","ﰱ":"فى","ﰲ":"في","ﰳ":"قح","ﰴ":"قم","ﰵ":"قى","ﰶ":"قي","ﰷ":"كا","ﰸ":"كج","ﰹ":"كح","ﰺ":"كخ","ﰻ":"كل","ﰼ":"كم","ﰽ":"كى","ﰾ":"كي","ﰿ":"لج","ﱀ":"لح","ﱁ":"لخ","ﱂ":"لم","ﱃ":"لى","ﱄ":"لي","ﱅ":"مج","ﱆ":"مح","ﱇ":"مخ","ﱈ":"مم","ﱉ":"مى","ﱊ":"مي","ﱋ":"نج","ﱌ":"نح","ﱍ":"نخ","ﱎ":"نم","ﱏ":"نى","ﱐ":"ني","ﱑ":"هج","ﱒ":"هم","ﱓ":"هى","ﱔ":"هي","ﱕ":"يج","ﱖ":"يح","ﱗ":"يخ","ﱘ":"يم","ﱙ":"يى","ﱚ":"يي","ﱛ":"ذٰ","ﱜ":"رٰ","ﱝ":"ىٰ","ﱞ":" ٌّ","ﱟ":" ٍّ","ﱠ":" َّ","ﱡ":" ُّ","ﱢ":" ِّ","ﱣ":" ّٰ","ﱤ":"ئر","ﱥ":"ئز","ﱦ":"ئم","ﱧ":"ئن","ﱨ":"ئى","ﱩ":"ئي","ﱪ":"بر","ﱫ":"بز","ﱬ":"بم","ﱭ":"بن","ﱮ":"بى","ﱯ":"بي","ﱰ":"تر","ﱱ":"تز","ﱲ":"تم","ﱳ":"تن","ﱴ":"تى","ﱵ":"تي","ﱶ":"ثر","ﱷ":"ثز","ﱸ":"ثم","ﱹ":"ثن","ﱺ":"ثى","ﱻ":"ثي","ﱼ":"فى","ﱽ":"في","ﱾ":"قى","ﱿ":"قي","ﲀ":"كا","ﲁ":"كل","ﲂ":"كم","ﲃ":"كى","ﲄ":"كي","ﲅ":"لم","ﲆ":"لى","ﲇ":"لي","ﲈ":"ما","ﲉ":"مم","ﲊ":"نر","ﲋ":"نز","ﲌ":"نم","ﲍ":"نن","ﲎ":"نى","ﲏ":"ني","ﲐ":"ىٰ","ﲑ":"ير","ﲒ":"يز","ﲓ":"يم","ﲔ":"ين","ﲕ":"يى","ﲖ":"يي","ﲗ":"ئج","ﲘ":"ئح","ﲙ":"ئخ","ﲚ":"ئم","ﲛ":"ئه","ﲜ":"بج","ﲝ":"بح","ﲞ":"بخ","ﲟ":"بم","ﲠ":"به","ﲡ":"تج","ﲢ":"تح","ﲣ":"تخ","ﲤ":"تم","ﲥ":"ته","ﲦ":"ثم","ﲧ":"جح","ﲨ":"جم","ﲩ":"حج","ﲪ":"حم","ﲫ":"خج","ﲬ":"خم","ﲭ":"سج","ﲮ":"سح","ﲯ":"سخ","ﲰ":"سم","ﲱ":"صح","ﲲ":"صخ","ﲳ":"صم","ﲴ":"ضج","ﲵ":"ضح","ﲶ":"ضخ","ﲷ":"ضم","ﲸ":"طح","ﲹ":"ظم","ﲺ":"عج","ﲻ":"عم","ﲼ":"غج","ﲽ":"غم","ﲾ":"فج","ﲿ":"فح","ﳀ":"فخ","ﳁ":"فم","ﳂ":"قح","ﳃ":"قم","ﳄ":"كج","ﳅ":"كح","ﳆ":"كخ","ﳇ":"كل","ﳈ":"كم","ﳉ":"لج","ﳊ":"لح","ﳋ":"لخ","ﳌ":"لم","ﳍ":"له","ﳎ":"مج","ﳏ":"مح","ﳐ":"مخ","ﳑ":"مم","ﳒ":"نج","ﳓ":"نح","ﳔ":"نخ","ﳕ":"نم","ﳖ":"نه","ﳗ":"هج","ﳘ":"هم","ﳙ":"هٰ","ﳚ":"يج","ﳛ":"يح","ﳜ":"يخ","ﳝ":"يم","ﳞ":"يه","ﳟ":"ئم","ﳠ":"ئه","ﳡ":"بم","ﳢ":"به","ﳣ":"تم","ﳤ":"ته","ﳥ":"ثم","ﳦ":"ثه","ﳧ":"سم","ﳨ":"سه","ﳩ":"شم","ﳪ":"شه","ﳫ":"كل","ﳬ":"كم","ﳭ":"لم","ﳮ":"نم","ﳯ":"نه","ﳰ":"يم","ﳱ":"يه","ﳲ":"ـَّ","ﳳ":"ـُّ","ﳴ":"ـِّ","ﳵ":"طى","ﳶ":"طي","ﳷ":"عى","ﳸ":"عي","ﳹ":"غى","ﳺ":"غي","ﳻ":"سى","ﳼ":"سي","ﳽ":"شى","ﳾ":"شي","ﳿ":"حى","ﴀ":"حي","ﴁ":"جى","ﴂ":"جي","ﴃ":"خى","ﴄ":"خي","ﴅ":"صى","ﴆ":"صي","ﴇ":"ضى","ﴈ":"ضي","ﴉ":"شج","ﴊ":"شح","ﴋ":"شخ","ﴌ":"شم","ﴍ":"شر","ﴎ":"سر","ﴏ":"صر","ﴐ":"ضر","ﴑ":"طى","ﴒ":"طي","ﴓ":"عى","ﴔ":"عي","ﴕ":"غى","ﴖ":"غي","ﴗ":"سى","ﴘ":"سي","ﴙ":"شى","ﴚ":"شي","ﴛ":"حى","ﴜ":"حي","ﴝ":"جى","ﴞ":"جي","ﴟ":"خى","ﴠ":"خي","ﴡ":"صى","ﴢ":"صي","ﴣ":"ضى","ﴤ":"ضي","ﴥ":"شج","ﴦ":"شح","ﴧ":"شخ","ﴨ":"شم","ﴩ":"شر","ﴪ":"سر","ﴫ":"صر","ﴬ":"ضر","ﴭ":"شج","ﴮ":"شح","ﴯ":"شخ","ﴰ":"شم","ﴱ":"سه","ﴲ":"شه","ﴳ":"طم","ﴴ":"سج","ﴵ":"سح","ﴶ":"سخ","ﴷ":"شج","ﴸ":"شح","ﴹ":"شخ","ﴺ":"طم","ﴻ":"ظم","ﴼ":"اً","ﴽ":"اً","ﵐ":"تجم","ﵑ":"تحج","ﵒ":"تحج","ﵓ":"تحم","ﵔ":"تخم","ﵕ":"تمج","ﵖ":"تمح","ﵗ":"تمخ","ﵘ":"جمح","ﵙ":"جمح","ﵚ":"حمي","ﵛ":"حمى","ﵜ":"سحج","ﵝ":"سجح","ﵞ":"سجى","ﵟ":"سمح","ﵠ":"سمح","ﵡ":"سمج","ﵢ":"سمم","ﵣ":"سمم","ﵤ":"صحح","ﵥ":"صحح","ﵦ":"صمم","ﵧ":"شحم","ﵨ":"شحم","ﵩ":"شجي","ﵪ":"شمخ","ﵫ":"شمخ","ﵬ":"شمم","ﵭ":"شمم","ﵮ":"ضحى","ﵯ":"ضخم","ﵰ":"ضخم","ﵱ":"طمح","ﵲ":"طمح","ﵳ":"طمم","ﵴ":"طمي","ﵵ":"عجم","ﵶ":"عمم","ﵷ":"عمم","ﵸ":"عمى","ﵹ":"غمم","ﵺ":"غمي","ﵻ":"غمى","ﵼ":"فخم","ﵽ":"فخم","ﵾ":"قمح","ﵿ":"قمم","ﶀ":"لحم","ﶁ":"لحي","ﶂ":"لحى","ﶃ":"لجج","ﶄ":"لجج","ﶅ":"لخم","ﶆ":"لخم","ﶇ":"لمح","ﶈ":"لمح","ﶉ":"محج","ﶊ":"محم","ﶋ":"محي","ﶌ":"مجح","ﶍ":"مجم","ﶎ":"مخج","ﶏ":"مخم","ﶒ":"مجخ","ﶓ":"همج","ﶔ":"همم","ﶕ":"نحم","ﶖ":"نحى","ﶗ":"نجم","ﶘ":"نجم","ﶙ":"نجى","ﶚ":"نمي","ﶛ":"نمى","ﶜ":"يمم","ﶝ":"يمم","ﶞ":"بخي","ﶟ":"تجي","ﶠ":"تجى","ﶡ":"تخي","ﶢ":"تخى","ﶣ":"تمي","ﶤ":"تمى","ﶥ":"جمي","ﶦ":"جحى","ﶧ":"جمى","ﶨ":"سخى","ﶩ":"صحي","ﶪ":"شحي","ﶫ":"ضحي","ﶬ":"لجي","ﶭ":"لمي","ﶮ":"يحي","ﶯ":"يجي","ﶰ":"يمي","ﶱ":"ممي","ﶲ":"قمي","ﶳ":"نحي","ﶴ":"قمح","ﶵ":"لحم","ﶶ":"عمي","ﶷ":"كمي","ﶸ":"نجح","ﶹ":"مخي","ﶺ":"لجم","ﶻ":"كمم","ﶼ":"لجم","ﶽ":"نجح","ﶾ":"جحي","ﶿ":"حجي","ﷀ":"مجي","ﷁ":"فمي","ﷂ":"بحي","ﷃ":"كمم","ﷄ":"عجم","ﷅ":"صمم","ﷆ":"سخي","ﷇ":"نجي","﹉":"‾","﹊":"‾","﹋":"‾","﹌":"‾","﹍":"_","﹎":"_","﹏":"_","ﺀ":"ء","ﺁ":"آ","ﺂ":"آ","ﺃ":"أ","ﺄ":"أ","ﺅ":"ؤ","ﺆ":"ؤ","ﺇ":"إ","ﺈ":"إ","ﺉ":"ئ","ﺊ":"ئ","ﺋ":"ئ","ﺌ":"ئ","ﺍ":"ا","ﺎ":"ا","ﺏ":"ب","ﺐ":"ب","ﺑ":"ب","ﺒ":"ب","ﺓ":"ة","ﺔ":"ة","ﺕ":"ت","ﺖ":"ت","ﺗ":"ت","ﺘ":"ت","ﺙ":"ث","ﺚ":"ث","ﺛ":"ث","ﺜ":"ث","ﺝ":"ج","ﺞ":"ج","ﺟ":"ج","ﺠ":"ج","ﺡ":"ح","ﺢ":"ح","ﺣ":"ح","ﺤ":"ح","ﺥ":"خ","ﺦ":"خ","ﺧ":"خ","ﺨ":"خ","ﺩ":"د","ﺪ":"د","ﺫ":"ذ","ﺬ":"ذ","ﺭ":"ر","ﺮ":"ر","ﺯ":"ز","ﺰ":"ز","ﺱ":"س","ﺲ":"س","ﺳ":"س","ﺴ":"س","ﺵ":"ش","ﺶ":"ش","ﺷ":"ش","ﺸ":"ش","ﺹ":"ص","ﺺ":"ص","ﺻ":"ص","ﺼ":"ص","ﺽ":"ض","ﺾ":"ض","ﺿ":"ض","ﻀ":"ض","ﻁ":"ط","ﻂ":"ط","ﻃ":"ط","ﻄ":"ط","ﻅ":"ظ","ﻆ":"ظ","ﻇ":"ظ","ﻈ":"ظ","ﻉ":"ع","ﻊ":"ع","ﻋ":"ع","ﻌ":"ع","ﻍ":"غ","ﻎ":"غ","ﻏ":"غ","ﻐ":"غ","ﻑ":"ف","ﻒ":"ف","ﻓ":"ف","ﻔ":"ف","ﻕ":"ق","ﻖ":"ق","ﻗ":"ق","ﻘ":"ق","ﻙ":"ك","ﻚ":"ك","ﻛ":"ك","ﻜ":"ك","ﻝ":"ل","ﻞ":"ل","ﻟ":"ل","ﻠ":"ل","ﻡ":"م","ﻢ":"م","ﻣ":"م","ﻤ":"م","ﻥ":"ن","ﻦ":"ن","ﻧ":"ن","ﻨ":"ن","ﻩ":"ه","ﻪ":"ه","ﻫ":"ه","ﻬ":"ه","ﻭ":"و","ﻮ":"و","ﻯ":"ى","ﻰ":"ى","ﻱ":"ي","ﻲ":"ي","ﻳ":"ي","ﻴ":"ي","ﻵ":"لآ","ﻶ":"لآ","ﻷ":"لأ","ﻸ":"لأ","ﻹ":"لإ","ﻺ":"لإ","ﻻ":"لا","ﻼ":"لا"},$b=function(){function a(a,b,c,d,e,f){this.fontChar=a,this.unicode=b,this.accent=c,this.width=d,this.vmetric=e,this.operatorListId=f}return a.prototype.matchesForCache=function(a,b,c,d,e,f){return this.fontChar===a&&this.unicode===b&&this.accent===c&&this.width===d&&this.vmetric===e&&this.operatorListId===f},a}(),_b=function(){function a(a){this._map=a}return a.prototype={get length(){return this._map.length},forEach:function(a){for(var b in this._map)a(b,this._map[b].charCodeAt(0))},has:function(a){return void 0!==this._map[a]},get:function(a){return this._map[a]},charCodeOf:function(a){return this._map.indexOf(a)}},a}(),ac=function(){function a(a,b){this.firstChar=a,this.lastChar=b}return a.prototype={get length(){return this.lastChar+1-this.firstChar},forEach:function(a){for(var b=this.firstChar,c=this.lastChar;c>=b;b++)a(b,b)},has:function(a){return this.firstChar<=a&&a<=this.lastChar},get:function(a){return this.firstChar<=a&&a<=this.lastChar?String.fromCharCode(a):void 0},charCodeOf:function(a){c("should not call .charCodeOf")}},a}(),bc=function(){function a(a,b,c){a[b]=c>>8&255,a[b+1]=255&c}function b(a,b,c){a[b]=c>>24&255,a[b+1]=c>>16&255,a[b+2]=c>>8&255,a[b+3]=255&c}function c(a,b,c){var d,e;if(c instanceof Uint8Array)a.set(c,b);else if("string"==typeof c)for(d=0,e=c.length;e>d;d++)a[b++]=255&c.charCodeAt(d);else for(d=0,e=c.length;e>d;d++)a[b++]=255&c[d]}function d(a){this.sfnt=a,this.tables=Object.create(null)}d.getSearchParams=function(a,b){for(var c=1,d=0;(c^a)>c;)c<<=1,d++;var e=c*b;return{range:e,entry:d,rangeShift:b*a-e}};var e=12,f=16;return d.prototype={toArray:function(){var g=this.sfnt,h=this.tables,i=Object.keys(h);i.sort();var j,l,m,n,o,p=i.length,q=e+p*f,r=[q];for(j=0;p>j;j++){n=h[i[j]];var s=(n.length+3&-4)>>>0;q+=s,r.push(q)}var t=new Uint8Array(q);for(j=0;p>j;j++)n=h[i[j]],c(t,r[j],n);"true"===g&&(g=k(65536)),t[0]=255&g.charCodeAt(0),t[1]=255&g.charCodeAt(1),t[2]=255&g.charCodeAt(2),t[3]=255&g.charCodeAt(3),a(t,4,p);var u=d.getSearchParams(p,16);for(a(t,6,u.range),a(t,8,u.entry),a(t,10,u.rangeShift),q=e,j=0;p>j;j++){o=i[j],t[q]=255&o.charCodeAt(0),t[q+1]=255&o.charCodeAt(1),t[q+2]=255&o.charCodeAt(2),t[q+3]=255&o.charCodeAt(3);var v=0;for(l=r[j],m=r[j+1];m>l;l+=4){var w=(t[l]<<24)+(t[l+1]<<16)+(t[l+2]<<8)+t[l+3];v=v+w|0}b(t,q+4,v),b(t,q+8,r[j]),b(t,q+12,h[o].length),q+=f}return t},addTable:function(a,b){if(a in this.tables)throw new Error("Table "+a+" already exists");this.tables[a]=b}},d}(),cc=new Int32Array([0,32,127,161,173,174,1536,1920,2208,4256,6016,6144,8192,8208,8209,8210,8232,8240,8287,8304,9676,9677,43616,43648,65520,65536]),dc=function(){function d(d,e,f){var g,h,i;this.name=d,this.loadedName=f.loadedName,this.isType3Font=f.isType3Font,this.sizes=[],this.glyphCache={};var j=d.split("+");j=j.length>1?j[1]:j[0],j=j.split(/[-,_]/g)[0],this.isSerifFont=!!(f.flags&Ob.Serif),this.isSymbolicFont=!!(f.flags&Ob.Symbolic),this.isMonospace=!!(f.flags&Ob.FixedPitch);var k=f.type,l=f.subtype;if(this.type=k,this.fallbackName=this.isMonospace?"monospace":this.isSerifFont?"serif":"sans-serif",this.differences=f.differences,this.widths=f.widths,this.defaultWidth=f.defaultWidth,this.composite=f.composite,this.wideChars=f.wideChars,this.cMap=f.cMap,this.ascent=f.ascent/Lb,this.descent=f.descent/Lb,this.fontMatrix=f.fontMatrix,this.bbox=f.bbox,this.toUnicode=f.toUnicode=this.buildToUnicode(f),this.toFontChar=[],"Type3"===f.type){for(g=0;256>g;g++)this.toFontChar[g]=this.differences[g]||f.defaultEncoding[g];return void(this.fontType=Z.TYPE3)}if(this.cidEncoding=f.cidEncoding,this.vertical=f.vertical,this.vertical&&(this.vmetrics=f.vmetrics,this.defaultVMetrics=f.defaultVMetrics),!e||e.isEmpty){e&&b('Font file is empty in "'+d+'" ('+this.loadedName+")"),this.missingFile=!0;var o=d.replace(/[,_]/g,"-"),p=!!Qb[o]||!(!Rb[o]||!Qb[Rb[o]]);if(o=Qb[o]||Rb[o]||o,this.bold=-1!==o.search(/bold/gi),this.italic=-1!==o.search(/oblique/gi)||-1!==o.search(/italic/gi),this.black=-1!==d.search(/Black/g),this.remeasure=Object.keys(this.widths).length>0,p&&"CIDFontType2"===k&&0===f.cidEncoding.indexOf("Identity-")){var q=[];for(g in Ub)q[+g]=Ub[g];if(/ArialBlack/i.test(d))for(g in Vb)q[+g]=Vb[g];var r=this.toUnicode instanceof ac;r||this.toUnicode.forEach(function(a,b){q[+a]=b}),this.toFontChar=q,this.toUnicode=new _b(q)}else if(/Symbol/i.test(o)){var s=Pb.SymbolSetEncoding;for(g in s)i=zc[s[g]],i&&(this.toFontChar[g]=i);for(g in f.differences)i=zc[f.differences[g]],i&&(this.toFontChar[g]=i)}else if(/Dingbats/i.test(o)){/Wingdings/i.test(d)&&b("Wingdings font without embedded font file, falling back to the ZapfDingbats encoding.");var t=Pb.ZapfDingbatsEncoding;for(g in t)i=Ac[t[g]],i&&(this.toFontChar[g]=i);for(g in f.differences)i=Ac[f.differences[g]],i&&(this.toFontChar[g]=i)}else if(p){this.toFontChar=[];for(g in f.defaultEncoding)h=f.differences[g]||f.defaultEncoding[g],this.toFontChar[g]=zc[h]}else{var u=-1===k.indexOf("CIDFontType");this.toUnicode.forEach(function(a,b){u&&(h=f.differences[a]||f.defaultEncoding[a],b=zc[h]||b),this.toFontChar[a]=b}.bind(this))}return this.loadedName=o.split("-")[0],this.loading=!1,void(this.fontType=P(k,l))}"Type1C"===l&&"Type1"!==k&&"MMType1"!==k&&(m(e)?l="TrueType":k="Type1"),"CIDFontType0C"===l&&"CIDFontType0"!==k&&(k="CIDFontType0"),"OpenType"===l&&(k="OpenType"),"CIDFontType0"===k&&(l=n(e)?"CIDFontType0":"CIDFontType0C");var v;switch(k){case"MMType1":a("MMType1 font ("+d+"), falling back to Type1.");case"Type1":case"CIDFontType0":this.mimetype="font/opentype";var w="Type1C"===l||"CIDFontType0C"===l?new jc(e,f):new ic(d,e,f);O(f),v=this.convert(d,w,f);break;case"OpenType":case"TrueType":case"CIDFontType2":this.mimetype="font/opentype",v=this.checkAndRepair(d,e,f),this.isOpenType&&(k="OpenType");break;default:c("Font "+k+" is not supported")}this.data=v,this.fontType=P(k,l),this.fontMatrix=f.fontMatrix,this.widths=f.widths,this.defaultWidth=f.defaultWidth,this.encoding=f.baseEncoding,this.seacMap=f.seacMap,this.loading=!0}function f(a,b){return(a<<8)+b}function h(a,b,c,d){return(a<<24)+(b<<16)+(c<<8)+d}function j(a){return String.fromCharCode(a>>8&255,255&a)}function l(a){return a=a>32767?32767:-32768>a?-32768:a,String.fromCharCode(a>>8&255,255&a)}function m(a){var b=a.peekBytes(4);return 65536===o(b,0)}function n(a){var b=a.peekBytes(2);return 37===b[0]&&33===b[1]?!0:128===b[0]&&1===b[1]?!0:!1}function p(a){for(var b=0,c=cc.length-1;c>b;){var d=b+c+1>>1;a<cc[d]?c=d-1:b=d}return!(1&b)}function q(a,b){var c=b.toUnicode,d=!!(b.flags&Ob.Symbolic),e=b.toUnicode instanceof ac,f=Object.create(null),g=[],h=[],i=Ib;for(var j in a){j|=0;var k=a[j],l=j;if(!e&&c.has(j)){var m=c.get(l);1===m.length&&(l=m.charCodeAt(0))}if((void 0!==h[l]||p(l)||d&&e)&&Jb>=i)do l=i++,Kb&&61440===l&&(l=61472,i=l+1);while(void 0!==h[l]&&Jb>=i);f[l]=k,g[j]=l,h[l]=!0}return{toFontChar:g,charCodeToGlyphId:f,nextAvailableFontCharCode:i}}function r(a){var b=[];for(var c in a)b.push({fontCharCode:0|c,glyphId:a[c]});b.sort(function(a,b){return a.fontCharCode-b.fontCharCode});for(var d=[],e=b.length,f=0;e>f;){var g=b[f].fontCharCode,h=[b[f].glyphId];++f;for(var i=g;e>f&&i+1===b[f].fontCharCode&&(h.push(b[f].glyphId),++i,++f,65535!==i););d.push([g,i,h])}return d}function s(a){var b,c,d,e,f=r(a),g=f[f.length-1][1]>65535?2:1,h="\x00\x00"+j(g)+"\x00\ 3\x00\ 1"+k(4+8*g);for(b=f.length-1;b>=0&&!(f[b][0]<=65535);--b);var i=b+1;f[b][0]<65535&&65535===f[b][1]&&(f[b][1]=65534);var l,m,n,o,p=f[b][1]<65535?1:0,q=i+p,s=bc.getSearchParams(q,2),t="",u="",v="",w="",x="",y=0;for(b=0,c=i;c>b;b++){l=f[b],m=l[0],n=l[1],t+=j(m),u+=j(n),o=l[2];var z=!0;for(d=1,e=o.length;e>d;++d)if(o[d]!==o[d-1]+1){z=!1;break}if(z){var A=o[0];v+=j(A-m&65535),w+=j(0)}else{var B=2*(q-b)+2*y;for(y+=n-m+1,v+=j(0),w+=j(B),d=0,e=o.length;e>d;++d)x+=j(o[d])}}p>0&&(u+="ÿÿ",t+="ÿÿ",v+="\x00\ 1",w+="\x00\x00");var C="\x00\x00"+j(2*q)+j(s.range)+j(s.entry)+j(s.rangeShift)+u+"\x00\x00"+t+v+w+x,D="",E="";if(g>1){for(h+="\x00\ 3\x00\n"+k(4+8*g+4+C.length),D="",b=0,c=f.length;c>b;b++){l=f[b],m=l[0],o=l[2];var F=o[0];for(d=1,e=o.length;e>d;++d)o[d]!==o[d-1]+1&&(n=l[0]+d-1,D+=k(m)+k(n)+k(F),m=n+1,F=o[d]);D+=k(m)+k(l[1])+k(F)}E="\x00\f\x00\x00"+k(D.length+16)+"\x00\x00\x00\x00"+k(D.length/12)}return h+"\x00\ 4"+j(C.length+4)+C+E+D}function t(a){var b=new Mc(a.data),c=b.getUint16();b.getBytes(60);var d=b.getUint16();if(4>c&&768&d)return!1;var e=b.getUint16(),f=b.getUint16();if(e>f)return!1;b.getBytes(6);var g=b.getUint16();return 0===g?!1:(a.data[8]=a.data[9]=0,!0)}function u(a,b,d){d=d||{unitsPerEm:0,yMax:0,yMin:0,ascent:0,descent:0};var e=0,f=0,g=0,h=0,i=null,l=0;if(b)for(var m in b){m|=0,(i>m||!i)&&(i=m),m>l&&(l=m);var n=L(m);32>n?e|=1<<n:64>n?f|=1<<n-32:96>n?g|=1<<n-64:123>n?h|=1<<n-96:c("Unicode ranges Bits > 123 are reserved for internal usage")}else i=0,l=255;var o=a.bbox||[0,0,0,0],p=d.unitsPerEm||1/(a.fontMatrix||T)[0],q=a.ascentScaled?1:p/Lb,r=d.ascent||Math.round(q*(a.ascent||o[3])),s=d.descent||Math.round(q*(a.descent||o[1]));s>0&&a.descent>0&&o[1]<0&&(s=-s);var t=d.yMax||r,u=-d.yMin||-s;return"\x00\ 3\ 2$\ 1ô\x00\ 5\x00\x00\ 2\8a\ 2»\x00\x00\x00\8c\ 2\8a\ 2»\x00\x00\ 1ß\x001\ 1\ 2\x00\x00\x00\x00\ 6"+String.fromCharCode(a.fixedPitch?9:0)+"\x00\x00\x00\x00\x00\x00"+k(e)+k(f)+k(g)+k(h)+"*21*"+j(a.italicAngle?1:0)+j(i||a.firstChar)+j(l||a.lastChar)+j(r)+j(s)+"\x00d"+j(t)+j(u)+"\x00\x00\x00\x00\x00\x00\x00\x00"+j(a.xHeight)+j(a.capHeight)+j(0)+j(i||a.firstChar)+"\x00\ 3"}function v(a){var b=Math.floor(a.italicAngle*Math.pow(2,16));return"\x00\ 3\x00\x00"+k(b)+"\x00\x00\x00\x00"+k(a.fixedPitch)+"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}function w(a,b){b||(b=[[],[]]);var c,d,e,f,g,h=[b[0][0]||"Original licence",b[0][1]||a,b[0][2]||"Unknown",b[0][3]||"uniqueID",b[0][4]||a,b[0][5]||"Version 0.11",b[0][6]||"",b[0][7]||"Unknown",b[0][8]||"Unknown",b[0][9]||"Unknown"],i=[];for(c=0,d=h.length;d>c;c++){g=b[1][c]||h[c];var k=[];for(e=0,f=g.length;f>e;e++)k.push(j(g.charCodeAt(e)));i.push(k.join(""))}var l=[h,i],m=["\x00\ 1","\x00\ 3"],n=["\x00\x00","\x00\ 1"],o=["\x00\x00","\ 4     "],p=h.length*m.length,q="\x00\x00"+j(p)+j(12*p+6),r=0;for(c=0,d=m.length;d>c;c++){var s=l[c];for(e=0,f=s.length;f>e;e++){g=s[e];var t=m[c]+n[c]+o[c]+j(e)+j(g.length)+j(r);q+=t,r+=g.length}}return q+=h.join("")+i.join("")}return d.getFontID=function(){var a=1;return function(){return String(a++)}}(),d.prototype={name:null,font:null,mimetype:null,encoding:null,get renderer(){var a=yc.create(this);return g(this,"renderer",a)},exportData:function(){var a={};for(var b in this)this.hasOwnProperty(b)&&(a[b]=this[b]);return a},checkAndRepair:function(d,g,j){function k(a){var b=i(a.getBytes(4)),c=a.getInt32(),d=a.getInt32()>>>0,e=a.getInt32()>>>0,f=a.pos;a.pos=a.start?a.start:0,a.skip(d);var g=a.getBytes(e);return a.pos=f,"head"===b&&(g[8]=g[9]=g[10]=g[11]=0,g[17]|=32),{tag:b,checksum:c,length:e,offset:d,data:g}}function l(a){return{version:i(a.getBytes(4)),numTables:a.getUint16(),searchRange:a.getUint16(),entrySelector:a.getUint16(),rangeShift:a.getUint16()}}function m(a,c,d,e){var f,g=(c.start?c.start:0)+a.offset;c.pos=g;for(var h,i=(c.getUint16(),c.getUint16()),j=!1,k=0;i>k;k++){var l=c.getUint16(),m=c.getUint16(),n=c.getInt32()>>>0,o=!1;if(0===l&&0===m?o=!0:1===l&&0===m?o=!0:3!==l||1!==m||(d||!e)&&h?d&&3===l&&0===m&&(o=!0,j=!0):(o=!0,d||(j=!0)),o&&(h={platformId:l,encodingId:m,offset:n}),j)break}if(h&&(c.pos=g+h.offset),!h||-1===c.peekByte())return b("Could not find a preferred cmap table."),{platformId:-1,encodingId:-1,mappings:[],hasShortCmap:!1};var p,q,r=c.getUint16(),s=(c.getUint16(),c.getUint16(),!1),t=[];if(0===r){for(p=0;256>p;p++){var u=c.getByte();u&&t.push({charCode:p,glyphId:u})}s=!0}else if(4===r){var v=c.getUint16()>>1;c.getBytes(6);var w,x=[];for(w=0;v>w;w++)x.push({end:c.getUint16()});for(c.getUint16(),w=0;v>w;w++)x[w].start=c.getUint16();for(w=0;v>w;w++)x[w].delta=c.getUint16();var y=0;for(w=0;v>w;w++){f=x[w];var z=c.getUint16();if(z){var A=(z>>1)-(v-w);f.offsetIndex=A,y=Math.max(y,A+f.end-f.start+1)}else f.offsetIndex=-1}var B=[];for(p=0;y>p;p++)B.push(c.getUint16());for(w=0;v>w;w++){f=x[w],g=f.start;var C=f.end,D=f.delta;for(A=f.offsetIndex,p=g;C>=p;p++)65535!==p&&(q=0>A?p:B[A+p-g],q=q+D&65535,0!==q&&t.push({charCode:p,glyphId:q}))}}else{if(6!==r)return b("cmap table has unsupported format: "+r),{platformId:-1,encodingId:-1,mappings:[],hasShortCmap:!1};var E=c.getUint16(),F=c.getUint16();for(p=0;F>p;p++){q=c.getUint16();var G=E+p;t.push({charCode:G,glyphId:q})}}for(t.sort(function(a,b){return a.charCode-b.charCode}),k=1;k<t.length;k++)t[k-1].charCode===t[k].charCode&&(t.splice(k,1),k--);return{platformId:h.platformId,encodingId:h.encodingId,mappings:t,hasShortCmap:s}}function n(b,c,d,e){if(!c)return void(d&&(d.data=null));b.pos=(b.start?b.start:0)+c.offset,b.pos+=c.length-2;var f=b.getUint16();f>e&&(a("The numOfMetrics ("+f+") should not be greater than the numGlyphs ("+e+")"),f=e,c.data[34]=(65280&f)>>8,c.data[35]=255&f);var g=e-f,h=g-(d.length-4*f>>1);if(h>0){var i=new Uint8Array(d.length+2*h);i.set(d.data),d.data=i}}function o(a,b,c,d,e,f){if(12>=c-b)return 0;var g=a.subarray(b,c),h=g[0]<<8|g[1];if(32768&h)return d.set(g,e),g.length;var i,j=10,k=0;for(i=0;h>i;i++){var l=g[j]<<8|g[j+1];k=l+1,j+=2}var m=j,n=g[j]<<8|g[j+1];j+=2+n;var o=j,p=0;for(i=0;k>i;i++){var q=g[j++];192&q&&(g[j-1]=63&q);var r=(2&q?1:16&q?0:2)+(4&q?1:32&q?0:2);if(p+=r,8&q){var s=g[j++];i+=s,p+=s*r}}if(0===p)return 0;var t=j+p;return t>g.length?0:!f&&n>0?(d.set(g.subarray(0,m),e),d.set([0,0],e+m),d.set(g.subarray(o,t),e+m+2),t-=n,g.length-t>3&&(t=t+3&-4),t):g.length-t>3?(t=t+3&-4,d.set(g.subarray(0,t),e),t):(d.set(g,e),g.length)}function p(c,d,e){var g=c.data,i=h(g[0],g[1],g[2],g[3]);i>>16!==1&&(a("Attempting to fix invalid version in head table: "+i),g[0]=0,g[1]=1,g[2]=0,g[3]=0);var j=f(g[50],g[51]);if(0>j||j>1){a("Attempting to fix invalid indexToLocFormat in head table: "+j);var k=d+1;e===k<<1?(g[50]=0,g[51]=0):e===k<<2?(g[50]=0,g[51]=1):b("Could not fix indexToLocFormat: "+j)}}function r(a,b,c,d,e,f){var g,h,i;d?(g=4,h=function(a,b){return a[b]<<24|a[b+1]<<16|a[b+2]<<8|a[b+3]},i=function(a,b,c){a[b]=c>>>24&255,a[b+1]=c>>16&255,a[b+2]=c>>8&255,a[b+3]=255&c}):(g=2,h=function(a,b){return a[b]<<9|a[b+1]<<1},i=function(a,b,c){a[b]=c>>9&255,a[b+1]=c>>1&255});var j=a.data,k=g*(1+c);j.length!==k&&(j=new Uint8Array(k),j.set(a.data.subarray(0,k)),a.data=j);var l=b.data,m=l.length,n=new Uint8Array(m),p=h(j,0),q=0,r={};i(j,0,q);var s,t;for(s=0,t=g;c>s;s++,t+=g){var u=h(j,t);if(u>m&&(m+3&-4)===u&&(u=m),u>m)i(j,t,q),p=u;else{p===u&&(r[s]=!0);var v=o(l,p,u,n,q,e);q+=v,i(j,t,q),p=u}}if(0===q){var w=new Uint8Array([0,1,0,0,0,0,0,0,0,0,0,0,0,0,49,0]);for(s=0,t=g;c>s;s++,t+=g)i(j,t,w.length);return b.data=w,r}if(f){var x=h(j,g);n.length>x+q?b.data=n.subarray(0,x+q):(b.data=new Uint8Array(x+q),b.data.set(n.subarray(0,q))),b.data.set(n.subarray(0,x),q),i(a.data,j.length-g,q+x)}else b.data=n.subarray(0,q);return r}function y(a,c,d){var e=(g.start?g.start:0)+a.offset;g.pos=e;var f=a.length,h=e+f,i=g.getInt32();
-g.getBytes(28);var j,k,l=!0;switch(i){case 65536:j=Yb;break;case 131072:var m=g.getUint16();if(m!==d){l=!1;break}var n=[];for(k=0;m>k;++k){var o=g.getUint16();if(o>=32768){l=!1;break}n.push(o)}if(!l)break;for(var p=[],q=[];g.pos<h;){var r=g.getByte();for(q.length=r,k=0;r>k;++k)q[k]=String.fromCharCode(g.getByte());p.push(q.join(""))}for(j=[],k=0;m>k;++k){var s=n[k];258>s?j.push(Yb[s]):j.push(p[s-258])}break;case 196608:break;default:b("Unknown/unsupported post table version "+i),l=!1,c.defaultEncoding&&(j=c.defaultEncoding)}return c.glyphNames=j,l}function z(a){var b=(g.start?g.start:0)+a.offset;g.pos=b;var c=[[],[]],d=a.length,e=b+d,f=g.getUint16(),h=6;if(0!==f||h>d)return c;var j,k,l=g.getUint16(),m=g.getUint16(),n=[],o=12;for(j=0;l>j&&g.pos+o<=e;j++){var p={platform:g.getUint16(),encoding:g.getUint16(),language:g.getUint16(),name:g.getUint16(),length:g.getUint16(),offset:g.getUint16()};(1===p.platform&&0===p.encoding&&0===p.language||3===p.platform&&1===p.encoding&&1033===p.language)&&n.push(p)}for(j=0,k=n.length;k>j;j++){var q=n[j],r=b+m+q.offset;if(!(r+q.length>e)){g.pos=r;var s=q.name;if(q.encoding){for(var t="",u=0,v=q.length;v>u;u+=2)t+=String.fromCharCode(g.getUint16());c[1][s]=t}else c[0][s]=i(g.getBytes(q.length))}}return c}function A(a,c){for(var d,e,f,g,h,i=a.data,j=0,k=0,l=0,m=[],n=[],o=[],p=c.tooComplexToFollowFunctions,q=!1,r=0,s=0,t=i.length;t>j;){var u=i[j++];if(64===u)if(e=i[j++],q||s)j+=e;else for(d=0;e>d;d++)m.push(i[j++]);else if(65===u)if(e=i[j++],q||s)j+=2*e;else for(d=0;e>d;d++)f=i[j++],m.push(f<<8|i[j++]);else if(176===(248&u))if(e=u-176+1,q||s)j+=e;else for(d=0;e>d;d++)m.push(i[j++]);else if(184===(248&u))if(e=u-184+1,q||s)j+=2*e;else for(d=0;e>d;d++)f=i[j++],m.push(f<<8|i[j++]);else if(43!==u||p)if(44!==u||p){if(45===u)if(q)q=!1,k=j;else{if(h=n.pop(),!h)return b("TT: ENDF bad stack"),void(c.hintsValid=!1);g=o.pop(),i=h.data,j=h.i,c.functionsStackDeltas[g]=m.length-h.stackTop}else if(137===u)(q||s)&&(b("TT: nested IDEFs not allowed"),p=!0),q=!0,l=j;else if(88===u)++r;else if(27===u)s=r;else if(89===u)s===r&&(s=0),--r;else if(28===u&&!q&&!s){var v=m[m.length-1];v>0&&(j+=v-1)}}else(q||s)&&(b("TT: nested FDEFs not allowed"),p=!0),q=!0,l=j,g=m.pop(),c.functionsDefined[g]={data:i,i:j};else if(!q&&!s)if(g=m[m.length-1],c.functionsUsed[g]=!0,g in c.functionsStackDeltas)m.length+=c.functionsStackDeltas[g];else if(g in c.functionsDefined&&o.indexOf(g)<0){if(n.push({data:i,i:j,stackTop:m.length-1}),o.push(g),h=c.functionsDefined[g],!h)return b("TT: CALL non-existent function"),void(c.hintsValid=!1);i=h.data,j=h.i}if(!q&&!s){var w=142>=u?F[u]:u>=192&&223>=u?-1:u>=224?-2:0;for(u>=113&&117>=u&&(e=m.pop(),e===e&&(w=2*-e));0>w&&m.length>0;)m.pop(),w++;for(;w>0;)m.push(NaN),w--}}c.tooComplexToFollowFunctions=p;var x=[i];j>i.length&&x.push(new Uint8Array(j-i.length)),l>k&&(b("TT: complementing a missing function tail"),x.push(new Uint8Array([34,45]))),C(a,x)}function B(a,c){if(!a.tooComplexToFollowFunctions){if(a.functionsDefined.length>c)return b("TT: more functions defined than expected"),void(a.hintsValid=!1);for(var d=0,e=a.functionsUsed.length;e>d;d++){if(d>c)return b("TT: invalid function id: "+d),void(a.hintsValid=!1);if(a.functionsUsed[d]&&!a.functionsDefined[d])return b("TT: undefined function: "+d),void(a.hintsValid=!1)}}}function C(a,b){if(b.length>1){var c,d,e=0;for(c=0,d=b.length;d>c;c++)e+=b[c].length;e=e+3&-4;var f=new Uint8Array(e),g=0;for(c=0,d=b.length;d>c;c++)f.set(b[c],g),g+=b[c].length;a.data=f,a.length=e}}function D(a,b,c){var d={functionsDefined:[],functionsUsed:[],functionsStackDeltas:[],tooComplexToFollowFunctions:!1,hintsValid:!0};if(a&&A(a,d),b&&A(b,d),a&&B(d,R),c&&1&c.length){var e=new Uint8Array(c.length+1);e.set(c.data),c.data=e}return d.hintsValid}function E(a,b,c){return V[a]?!aa&&b>=0&&$.has(b)?!0:_&&c>=0&&x(_[c])?!0:!1:!0}var F=[0,0,0,0,0,0,0,0,-2,-2,-2,-2,0,0,-2,-5,-1,-1,-1,-1,-1,-1,-1,-1,0,0,-1,0,-1,-1,-1,-1,1,-1,-999,0,1,0,-1,-2,0,-1,-2,-1,-1,0,-1,-1,0,0,-999,-999,-1,-1,-1,-1,-2,-999,-2,-2,-999,0,-2,-2,0,0,-2,0,-2,0,0,0,-2,-1,-1,1,1,0,0,-1,-1,-1,-1,-1,-1,-1,0,0,-1,0,-1,-1,0,-999,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,-2,-999,-999,-999,-999,-999,-1,-1,-2,-2,0,0,0,0,-1,-1,-999,-2,-2,0,0,-1,-2,-2,0,0,0,-1,-1,-1,-2];g=new Mc(new Uint8Array(g.getBytes()));for(var G,H,I,J=["OS/2","cmap","head","hhea","hmtx","maxp","name","post","loca","glyf","fpgm","prep","cvt ","CFF "],K=l(g),L=K.numTables,M={"OS/2":null,cmap:null,head:null,hhea:null,hmtx:null,maxp:null,name:null,post:null},N=0;L>N;N++)I=k(g),J.indexOf(I.tag)<0||0!==I.length&&(M[I.tag]=I);var O=!M["CFF "];if(O)M.glyf&&M.loca||c('Required "glyf" or "loca" tables are not found'),this.isOpenType=!1;else{if("OTTO"===K.version&&"CIDFontType2"!==j.type||!M.head||!M.hhea||!M.maxp||!M.post)return H=new Mc(M["CFF "].data),G=new jc(H,j),this.convert(d,G,j);delete M.glyf,delete M.loca,delete M.fpgm,delete M.prep,delete M["cvt "],this.isOpenType=!0}M.maxp||c('Required "maxp" table is not found'),g.pos=(g.start||0)+M.maxp.offset;var P=g.getInt32(),Q=g.getUint16(),R=0;if(P>=65536&&M.maxp.length>=22){g.pos+=8;var S=g.getUint16();S>2&&(M.maxp.data[14]=0,M.maxp.data[15]=2),g.pos+=4,R=g.getUint16()}var T=!1;"CIDFontType2"===j.type&&j.toUnicode&&j.toUnicode.get(0)>"\x00"&&(T=!0,Q++,M.maxp.data[4]=Q>>8,M.maxp.data[5]=255&Q);var U=D(M.fpgm,M.prep,M["cvt "],R);U||(delete M.fpgm,delete M.prep,delete M["cvt "]),n(g,M.hhea,M.hmtx,Q),M.head||c('Required "head" table is not found'),p(M.head,Q,O?M.loca.length:0);var V={};if(O){var W=f(M.head.data[50],M.head.data[51]);V=r(M.loca,M.glyf,Q,W,U,T)}if(M.hhea||c('Required "hhea" table is not found'),0===M.hhea.data[10]&&0===M.hhea.data[11]&&(M.hhea.data[10]=255,M.hhea.data[11]=255),M.post){var X=y(M.post,j,Q);X||(M.post=null)}var Y,Z=[],$=j.toUnicode,_=j.widths,aa=$ instanceof ac||65536===$.length;if("CIDFontType2"===j.type){var ba=j.cidToGidMap||[],ca=0===ba.length;j.cMap.forEach(function(a,b){e(65535>=b,"Max size of CID is 65,535");var c=-1;ca?c=a:void 0!==ba[b]&&(c=ba[b]),c>=0&&Q>c&&E(c,a,b)&&(Z[a]=c)}),T&&(Z[0]=Q-1)}else{var da=j.differences.length>0||!!j.baseEncodingName,ea=m(M.cmap,g,this.isSymbolicFont,da),fa=ea.platformId,ga=ea.encodingId,ha=ea.mappings,ia=ha.length;if(da&&(3===fa&&1===ga||1===fa&&0===ga)||-1===fa&&-1===ga&&Pb[j.baseEncodingName]){var ja=[];for(("MacRomanEncoding"===j.baseEncodingName||"WinAnsiEncoding"===j.baseEncodingName)&&(ja=Pb[j.baseEncodingName]),Y=0;256>Y;Y++){var ka;if(ka=this.differences&&Y in this.differences?this.differences[Y]:Y in ja&&""!==ja[Y]?ja[Y]:Pb.StandardEncoding[Y]){var la,ma=!1;3===fa&&1===ga?(la=zc[ka],ma=!0):1===fa&&0===ga&&(la=Pb.MacRomanEncoding.indexOf(ka));var na=!1;for(N=0;ia>N;++N)if(ha[N].charCode===la){var oa=ma?Y:la;if(E(ha[N].glyphId,oa,-1)){Z[Y]=ha[N].glyphId,na=!0;break}}if(!na&&j.glyphNames){var pa=j.glyphNames.indexOf(ka);pa>0&&E(pa,-1,-1)?Z[Y]=pa:Z[Y]=0}}}}else if(0===fa&&0===ga)for(N=0;ia>N;++N)Z[ha[N].charCode]=ha[N].glyphId;else for(N=0;ia>N;++N)Y=255&ha[N].charCode,Z[Y]=ha[N].glyphId}0===Z.length&&(Z[0]=0);var qa=q(Z,j);if(this.toFontChar=qa.toFontChar,M.cmap={tag:"cmap",data:s(qa.charCodeToGlyphId)},!M["OS/2"]||!t(M["OS/2"])){var ra={unitsPerEm:f(M.head.data[18],M.head.data[19]),yMax:f(M.head.data[42],M.head.data[43]),yMin:f(M.head.data[38],M.head.data[39])-65536,ascent:f(M.hhea.data[4],M.hhea.data[5]),descent:f(M.hhea.data[6],M.hhea.data[7])-65536};M["OS/2"]={tag:"OS/2",data:u(j,qa.charCodeToGlyphId,ra)}}if(M.post||(M.post={tag:"post",data:v(j)}),!O)try{H=new Mc(M["CFF "].data);var sa=new kc(H,j);G=sa.parse();var ta=new xc(G);M["CFF "].data=ta.compile()}catch(ua){b("Failed to compile font "+j.loadedName)}if(M.name){var va=z(M.name);M.name.data=w(d,va)}else M.name={tag:"name",data:w(this.name)};var wa=new bc(K.version);for(var xa in M)wa.addTable(xa,M[xa].data);return wa.toArray()},convert:function(a,b,c){function d(a,b){var c=null;for(var d in a)b===a[d]&&(c||(c=[]),c.push(0|d));return c}function e(a,b){for(var c in a)if(b===a[c])return 0|c;return g.charCodeToGlyphId[g.nextAvailableFontCharCode]=b,g.nextAvailableFontCharCode++}c.fixedPitch=!1;var f=b.getGlyphMapping(c),g=q(f,c);this.toFontChar=g.toFontChar;var h=b.numGlyphs,i=b.seacs;if(Nb&&i&&i.length){var k=c.fontMatrix||T,m=b.getCharset(),n=Object.create(null);for(var o in i){o|=0;var p=i[o],r=Pb.StandardEncoding[p[2]],t=Pb.StandardEncoding[p[3]],x=m.indexOf(r),y=m.indexOf(t);if(!(0>x||0>y)){var z={x:p[0]*k[0]+p[1]*k[2]+k[4],y:p[0]*k[1]+p[1]*k[3]+k[5]},A=d(f,o);if(A)for(var B=0,C=A.length;C>B;B++){var D=A[B],E=g.charCodeToGlyphId,F=e(E,x),G=e(E,y);n[D]={baseFontCharCode:F,accentFontCharCode:G,accentOffset:z}}}}c.seacMap=n}var H=1/(c.fontMatrix||T)[0],I=new bc("OTTO");return I.addTable("CFF ",b.data),I.addTable("OS/2",u(c,g.charCodeToGlyphId)),I.addTable("cmap",s(g.charCodeToGlyphId)),I.addTable("head","\x00\ 1\x00\x00\x00\x00\10\x00\x00\x00\x00\x00_\ f<õ\x00\x00"+l(H)+"\x00\x00\x00\x00\9e\x0B~'\x00\x00\x00\x00\9e\x0B~'\x00\x00"+l(c.descent)+"\ fÿ"+l(c.ascent)+j(c.italicAngle?2:0)+"\x00\11\x00\x00\x00\x00\x00\x00"),I.addTable("hhea","\x00\ 1\x00\x00"+l(c.ascent)+l(c.descent)+"\x00\x00ÿÿ\x00\x00\x00\x00\x00\x00"+l(c.capHeight)+l(Math.tan(c.italicAngle)*c.xHeight)+"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+j(h)),I.addTable("hmtx",function(){for(var a=b.charstrings,c=b.cff?b.cff.widths:null,d="\x00\x00\x00\x00",e=1,f=h;f>e;e++){var g=0;if(a){var i=a[e-1];g="width"in i?i.width:0}else c&&(g=Math.ceil(c[e]||0));d+=j(g)+j(0)}return d}()),I.addTable("maxp","\x00\x00P\x00"+j(h)),I.addTable("name",w(a)),I.addTable("post",v(c)),I.toArray()},buildToUnicode:function(a){if(a.toUnicode&&0!==a.toUnicode.length)return a.toUnicode;var b,c;if(!a.composite){b=[];var d=a.defaultEncoding.slice(),f=a.baseEncodingName,g=a.differences;for(c in g)d[c]=g[c];for(c in d){var h=d[c];if(""!==h)if(void 0!==zc[h])b[c]=String.fromCharCode(zc[h]);else{var i=0;switch(h[0]){case"G":3===h.length&&(i=parseInt(h.substr(1),16));break;case"g":5===h.length&&(i=parseInt(h.substr(1),16));break;case"C":case"c":h.length>=3&&(i=+h.substr(1))}if(i){if(f&&i===+c){var j=Pb[f];if(j&&(h=j[c])){b[c]=String.fromCharCode(zc[h]);continue}}b[c]=String.fromCharCode(i)}}}return new _b(b)}if(a.composite&&(a.cMap.builtInCMap&&!(a.cMap instanceof Fb)||"Adobe"===a.cidSystemInfo.registry&&("GB1"===a.cidSystemInfo.ordering||"CNS1"===a.cidSystemInfo.ordering||"Japan1"===a.cidSystemInfo.ordering||"Korea1"===a.cidSystemInfo.ordering))){var k=a.cidSystemInfo.registry,l=a.cidSystemInfo.ordering,m=new ya(k+"-"+l+"-UCS2"),n=Hb.create(m,{url:PDFJS.cMapUrl,packed:PDFJS.cMapPacked},null),o=a.cMap;return b=[],o.forEach(function(a,c){e(65535>=c,"Max size of CID is 65,535");var d=n.lookup(c);d&&(b[a]=String.fromCharCode((d.charCodeAt(0)<<8)+d.charCodeAt(1)))}),new _b(b)}return new ac(a.firstChar,a.lastChar)},get spaceWidth(){if("_shadowWidth"in this)return this._shadowWidth;for(var a,b=["space","minus","one","i"],c=0,d=b.length;d>c;c++){var e=b[c];if(e in this.widths){a=this.widths[e];break}var f=zc[e],g=0;if(this.composite&&this.cMap.contains(f)&&(g=this.cMap.lookup(f)),!g&&"toUnicode"in this&&(g=this.toUnicode.charCodeOf(f)),0>=g&&(g=f),a=this.widths[g])break}return a=a||this.defaultWidth,this._shadowWidth=a,a},charToGlyph:function(a){var b,c,d,e=a;this.cMap&&this.cMap.contains(a)&&(e=this.cMap.lookup(a)),c=this.widths[e],c=x(c)?c:this.defaultWidth;var f=this.vmetrics&&this.vmetrics[e],g=this.toUnicode.get(a)||a;"number"==typeof g&&(g=String.fromCharCode(g)),b=this.toFontChar[a]||a,this.missingFile&&(b=K(b)),this.isType3Font&&(d=b);var h=null;if(this.seacMap&&this.seacMap[a]){var i=this.seacMap[a];b=i.baseFontCharCode,h={fontChar:String.fromCharCode(i.accentFontCharCode),offset:i.accentOffset}}var j=String.fromCharCode(b),k=this.glyphCache[a];return k&&k.matchesForCache(j,g,h,c,f,d)||(k=new $b(j,g,h,c,f,d),this.glyphCache[a]=k),k},charsToGlyphs:function(a){var b,c,d,e=this.charsCache;if(e&&(b=e[a]))return b;e||(e=this.charsCache=Object.create(null)),b=[];var f,g=a,h=0;if(this.cMap)for(var i={};h<a.length;){this.cMap.readCharCode(a,h,i),d=i.charcode;var j=i.length;h+=j,c=this.charToGlyph(d),b.push(c),1===j&&32===a.charCodeAt(h-1)&&b.push(null)}else for(h=0,f=a.length;f>h;++h)d=a.charCodeAt(h),c=this.charToGlyph(d),b.push(c),32===d&&b.push(null);return e[g]=b}},d}(),ec=function(){function a(a){this.error=a,this.loadedName="g_font_error",this.loading=!1}return a.prototype={charsToGlyphs:function(){return[]},exportData:function(){return{error:this.error}}},a}(),fc=function(){function a(){this.width=0,this.lsb=0,this.flexing=!1,this.output=[],this.stack=[]}var c={hstem:[1],vstem:[3],vmoveto:[4],rlineto:[5],hlineto:[6],vlineto:[7],rrcurveto:[8],callsubr:[10],flex:[12,35],drop:[12,18],endchar:[14],rmoveto:[21],hmoveto:[22],vhcurveto:[30],hvcurveto:[31]};return a.prototype={convert:function(a,d){for(var e,f,g,h=a.length,i=!1,j=0;h>j;j++){var k=a[j];if(32>k){switch(12===k&&(k=(k<<8)+a[++j]),k){case 1:if(!Mb){this.stack=[];break}i=this.executeCommand(2,c.hstem);break;case 3:if(!Mb){this.stack=[];break}i=this.executeCommand(2,c.vstem);break;case 4:if(this.flexing){if(this.stack.length<1){i=!0;break}var l=this.stack.pop();this.stack.push(0,l);break}i=this.executeCommand(1,c.vmoveto);break;case 5:i=this.executeCommand(2,c.rlineto);break;case 6:i=this.executeCommand(1,c.hlineto);break;case 7:i=this.executeCommand(1,c.vlineto);break;case 8:i=this.executeCommand(6,c.rrcurveto);break;case 9:this.stack=[];break;case 10:if(this.stack.length<1){i=!0;break}g=this.stack.pop(),i=this.convert(d[g],d);break;case 11:return i;case 13:if(this.stack.length<2){i=!0;break}e=this.stack.pop(),f=this.stack.pop(),this.lsb=f,this.width=e,this.stack.push(e,f),i=this.executeCommand(2,c.hmoveto);break;case 14:this.output.push(c.endchar[0]);break;case 21:if(this.flexing)break;i=this.executeCommand(2,c.rmoveto);break;case 22:if(this.flexing){this.stack.push(0);break}i=this.executeCommand(1,c.hmoveto);break;case 30:i=this.executeCommand(4,c.vhcurveto);break;case 31:i=this.executeCommand(4,c.hvcurveto);break;case 3072:this.stack=[];break;case 3073:if(!Mb){this.stack=[];break}i=this.executeCommand(2,c.vstem);break;case 3074:if(!Mb){this.stack=[];break}i=this.executeCommand(2,c.hstem);break;case 3078:Nb?(this.seac=this.stack.splice(-4,4),i=this.executeCommand(0,c.endchar)):i=this.executeCommand(4,c.endchar);break;case 3079:if(this.stack.length<4){i=!0;break}this.stack.pop();e=this.stack.pop();var m=this.stack.pop();f=this.stack.pop(),this.lsb=f,this.width=e,this.stack.push(e,f,m),i=this.executeCommand(3,c.rmoveto);break;case 3084:if(this.stack.length<2){i=!0;break}var n=this.stack.pop(),o=this.stack.pop();this.stack.push(o/n);break;case 3088:if(this.stack.length<2){i=!0;break}g=this.stack.pop();var p=this.stack.pop();if(0===g&&3===p){var q=this.stack.splice(this.stack.length-17,17);this.stack.push(q[2]+q[0],q[3]+q[1],q[4],q[5],q[6],q[7],q[8],q[9],q[10],q[11],q[12],q[13],q[14]),i=this.executeCommand(13,c.flex,!0),this.flexing=!1,this.stack.push(q[15],q[16])}else 1===g&&0===p&&(this.flexing=!0);break;case 3089:break;case 3105:this.stack=[];break;default:b('Unknown type 1 charstring command of "'+k+'"')}if(i)break}else 246>=k?k-=139:k=250>=k?256*(k-247)+a[++j]+108:254>=k?-(256*(k-251))-a[++j]-108:(255&a[++j])<<24|(255&a[++j])<<16|(255&a[++j])<<8|(255&a[++j])<<0,this.stack.push(k)}return i},executeCommand:function(a,b,c){var d=this.stack.length;if(a>d)return!0;for(var e=d-a,f=e;d>f;f++){var g=this.stack[f];g===(0|g)?this.output.push(28,g>>8&255,255&g):(g=65536*g|0,this.output.push(255,g>>24&255,g>>16&255,g>>8&255,255&g))}return this.output.push.apply(this.output,b),c?this.stack.splice(e,a):this.stack.length=0,!1}},a}(),gc=function(){function a(a){return a>=48&&57>=a||a>=65&&70>=a||a>=97&&102>=a}function b(a,b,c){for(var d=0|b,e=52845,f=22719,g=a.length,h=new Uint8Array(g),i=0;g>i;i++){var j=a[i];h[i]=j^d>>8,d=(j+d)*e+f&65535}return Array.prototype.slice.call(h,c)}function c(b,c,d){var e,f,g=0|c,h=52845,i=22719,j=b.length,k=j>>>1,l=new Uint8Array(k);for(e=0,f=0;j>e;e++){var m=b[e];if(a(m)){e++;for(var n;j>e&&!a(n=b[e]);)e++;if(j>e){var o=parseInt(String.fromCharCode(m,n),16);l[f++]=o^g>>8,g=(o+g)*h+i&65535}}}return Array.prototype.slice.call(l,d,f)}function d(a){return 47===a||91===a||93===a||123===a||125===a||40===a||41===a}function e(d,e){if(e){var g=d.getBytes(),h=!(a(g[0])&&a(g[1])&&a(g[2])&&a(g[3]));d=new Mc(h?b(g,f,4):c(g,f,4))}this.stream=d,this.nextChar()}var f=55665,g=4330;return e.prototype={readNumberArray:function(){this.getToken();for(var a=[];;){var b=this.getToken();if(null===b||"]"===b||"}"===b)break;a.push(parseFloat(b||0))}return a},readNumber:function(){var a=this.getToken();return parseFloat(a||0)},readInt:function(){var a=this.getToken();return 0|parseInt(a||0,10)},readBoolean:function(){var a=this.getToken();return"true"===a?1:0},nextChar:function(){return this.currentChar=this.stream.getByte()},getToken:function(){for(var a=!1,b=this.currentChar;;){if(-1===b)return null;if(a)(10===b||13===b)&&(a=!1);else if(37===b)a=!0;else if(!Gc.isSpace(b))break;b=this.nextChar()}if(d(b))return this.nextChar(),String.fromCharCode(b);var c="";do c+=String.fromCharCode(b),b=this.nextChar();while(b>=0&&!Gc.isSpace(b)&&!d(b));return c},extractFontProgram:function(){for(var a,c,d,e,f,h=this.stream,i=[],j=[],k={subrs:[],charstrings:[],properties:{privateData:{lenIV:4}}};null!==(a=this.getToken());)if("/"===a)switch(a=this.getToken()){case"CharStrings":for(this.getToken(),this.getToken(),this.getToken(),this.getToken();;){if(a=this.getToken(),null===a||"end"===a)break;if("/"===a){var l=this.getToken();c=this.readInt(),this.getToken(),d=h.makeSubStream(h.pos,c),e=k.properties.privateData.lenIV,f=b(d.getBytes(),g,e),h.skip(c),this.nextChar(),a=this.getToken(),"noaccess"===a&&this.getToken(),j.push({glyph:l,encoded:f})}}break;case"Subrs":this.readInt();for(this.getToken();"dup"===(a=this.getToken());){var m=this.readInt();c=this.readInt(),this.getToken(),d=h.makeSubStream(h.pos,c),e=k.properties.privateData.lenIV,f=b(d.getBytes(),g,e),h.skip(c),this.nextChar(),a=this.getToken(),"noaccess"===a&&this.getToken(),i[m]=f}break;case"BlueValues":case"OtherBlues":case"FamilyBlues":case"FamilyOtherBlues":var n=this.readNumberArray();n.length>0&&n.length%2===0&&Mb&&(k.properties.privateData[a]=n);break;case"StemSnapH":case"StemSnapV":k.properties.privateData[a]=this.readNumberArray();break;case"StdHW":case"StdVW":k.properties.privateData[a]=this.readNumberArray()[0];break;case"BlueShift":case"lenIV":case"BlueFuzz":case"BlueScale":case"LanguageGroup":case"ExpansionFactor":k.properties.privateData[a]=this.readNumber();break;case"ForceBold":k.properties.privateData[a]=this.readBoolean()}for(var o=0;o<j.length;o++){l=j[o].glyph,f=j[o].encoded;var p=new fc,q=p.convert(f,i),r=p.output;q&&(r=[14]),k.charstrings.push({glyphName:l,charstring:r,width:p.width,lsb:p.lsb,seac:p.seac})}return k},extractFontHeader:function(a){for(var b;null!==(b=this.getToken());)if("/"===b)switch(b=this.getToken()){case"FontMatrix":var c=this.readNumberArray();a.fontMatrix=c;break;case"Encoding":var d,e=this.getToken();if(/^\d+$/.test(e)){d=[];var f=0|parseInt(e,10);this.getToken();for(var g=0;f>g;g++){for(b=this.getToken();"dup"!==b&&"def"!==b;)if(b=this.getToken(),null===b)return;if("def"===b)break;var h=this.readInt();this.getToken();var i=this.getToken();d[h]=i,this.getToken()}}else d=Pb[e];a.builtInEncoding=d;break;case"FontBBox":var j=this.readNumberArray();a.ascent=j[3],a.descent=j[1],a.ascentScaled=!0}}},e}(),hc=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","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","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","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","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],ic=function(a,b,c){var d=6,e=c.length1,f=c.length2,g=b.peekBytes(d),h=128===g[0]&&1===g[1];h&&(b.skip(d),e=g[5]<<24|g[4]<<16|g[3]<<8|g[2]);var i=new Mc(b.getBytes(e)),j=new gc(i);j.extractFontHeader(c),h&&(g=b.getBytes(d),f=g[5]<<24|g[4]<<16|g[3]<<8|g[2]);var k=new Mc(b.getBytes(f)),l=new gc(k,!0),m=l.extractFontProgram();for(var n in m.properties)c[n]=m.properties[n];var o=m.charstrings,p=this.getType2Charstrings(o),q=this.getType2Subrs(m.subrs);this.charstrings=o,this.data=this.wrap(a,p,this.charstrings,q,c),this.seacs=this.getSeacs(m.charstrings)};ic.prototype={get numGlyphs(){return this.charstrings.length+1},getCharset:function(){for(var a=[".notdef"],b=this.charstrings,c=0;c<b.length;c++)a.push(b[c].glyphName);return a},getGlyphMapping:function(a){var b,c=this.charstrings,d=[".notdef"];for(b=0;b<c.length;b++)d.push(c[b].glyphName);var e=a.builtInEncoding;if(e){var f={};for(var g in e)b=d.indexOf(e[g]),b>=0&&(f[g]=b)}return Q(a,f,d)},getSeacs:function(a){var b,c,d=[];for(b=0,c=a.length;c>b;b++){var e=a[b];e.seac&&(d[b+1]=e.seac)}return d},getType2Charstrings:function(a){for(var b=[],c=0,d=a.length;d>c;c++)b.push(a[c].charstring);return b},getType2Subrs:function(a){var b=0,c=a.length;b=1133>c?107:33769>c?1131:32768;var d,e=[];for(d=0;b>d;d++)e.push([11]);for(d=0;c>d;d++)e.push(a[d]);return e},wrap:function(a,b,c,d,e){var f=new lc;f.header=new mc(1,0,4,4),f.names=[a];var g=new qc;g.setByName("version",391),g.setByName("Notice",392),g.setByName("FullName",393),g.setByName("FamilyName",394),g.setByName("Weight",395),g.setByName("Encoding",null),g.setByName("FontMatrix",e.fontMatrix),g.setByName("FontBBox",e.bbox),g.setByName("charset",null),g.setByName("CharStrings",null),g.setByName("Private",null),f.topDict=g;var h=new nc;h.add("Version 0.11"),h.add("See original notice"),h.add(a),h.add(a),h.add("Medium"),f.strings=h,f.globalSubrIndex=new oc;var i,j,k=b.length,l=[0];for(i=0;k>i;i++){var m=hc.indexOf(c[i].glyphName);-1===m&&(m=0),l.push(m>>8&255,255&m)}f.charset=new tc(!1,0,[],l);var n=new oc;for(n.add([139,14]),i=0;k>i;i++)n.add(b[i]);f.charStrings=n;var o=new rc;o.setByName("Subrs",null);var p=["BlueValues","OtherBlues","FamilyBlues","FamilyOtherBlues","StemSnapH","StemSnapV","BlueShift","BlueFuzz","BlueScale","LanguageGroup","ExpansionFactor","ForceBold","StdHW","StdVW"];for(i=0,j=p.length;j>i;i++){var q=p[i];if(e.privateData.hasOwnProperty(q)){var r=e.privateData[q];if(C(r))for(var s=r.length-1;s>0;s--)r[s]-=r[s-1];o.setByName(q,r)}}f.topDict.privateDict=o;var t=new oc;for(i=0,j=d.length;j>i;i++)t.add(d[i]);o.subrsIndex=t;var u=new xc(f);return u.compile()}};var jc=function(){function a(a,c){this.properties=c;var d=new kc(a,c);this.cff=d.parse();var e=new xc(this.cff);this.seacs=this.cff.seacs;try{this.data=e.compile()}catch(f){b("Failed to compile font "+c.loadedName),this.data=a}}return a.prototype={get numGlyphs(){return this.cff.charStrings.count},getCharset:function(){return this.cff.charset.charset},getGlyphMapping:function(){var a,b,c=this.cff,d=this.properties,e=c.charset.charset;if(d.composite){if(a=Object.create(null),c.isCIDFont)for(b=0;b<e.length;b++){var f=e[b],g=d.cMap.charCodeOf(f);a[g]=b}else for(b=0;b<c.charStrings.count;b++)a[b]=b;return a}var h=c.encoding?c.encoding.encoding:null;return a=Q(d,h,e)}},a}(),kc=function(){function d(a,b){this.bytes=a.getBytes(),this.properties=b}var e=[null,{id:"hstem",min:2,stackClearing:!0,stem:!0},null,{id:"vstem",min:2,stackClearing:!0,stem:!0},{id:"vmoveto",min:1,stackClearing:!0},{id:"rlineto",min:2,resetStack:!0},{id:"hlineto",min:1,resetStack:!0},{id:"vlineto",min:1,resetStack:!0},{id:"rrcurveto",min:6,resetStack:!0},null,{id:"callsubr",min:1,undefStack:!0},{id:"return",min:0,undefStack:!0},null,null,{id:"endchar",min:0,stackClearing:!0},null,null,null,{id:"hstemhm",min:2,stackClearing:!0,stem:!0},{id:"hintmask",min:0,stackClearing:!0},{id:"cntrmask",min:0,stackClearing:!0},{id:"rmoveto",min:2,stackClearing:!0},{id:"hmoveto",min:1,stackClearing:!0},{id:"vstemhm",min:2,stackClearing:!0,stem:!0},{id:"rcurveline",min:8,resetStack:!0},{id:"rlinecurve",min:8,resetStack:!0},{id:"vvcurveto",min:4,resetStack:!0},{id:"hhcurveto",min:4,resetStack:!0},null,{id:"callgsubr",min:1,undefStack:!0},{id:"vhcurveto",min:4,resetStack:!0},{id:"hvcurveto",min:4,resetStack:!0}],f=[null,null,null,{id:"and",min:2,stackDelta:-1},{id:"or",min:2,stackDelta:-1},{id:"not",min:1,stackDelta:0},null,null,null,{id:"abs",min:1,stackDelta:0},{id:"add",min:2,stackDelta:-1,stackFn:function(a,b){a[b-2]=a[b-2]+a[b-1]}},{id:"sub",min:2,stackDelta:-1,stackFn:function(a,b){a[b-2]=a[b-2]-a[b-1]}},{id:"div",min:2,stackDelta:-1,stackFn:function(a,b){a[b-2]=a[b-2]/a[b-1]}},null,{id:"neg",min:1,stackDelta:0,stackFn:function(a,b){a[b-1]=-a[b-1]}},{id:"eq",min:2,stackDelta:-1},null,null,{id:"drop",min:1,stackDelta:-1},null,{id:"put",min:2,stackDelta:-2},{id:"get",min:1,stackDelta:0},{id:"ifelse",min:4,stackDelta:-3},{id:"random",min:0,stackDelta:1},{id:"mul",min:2,stackDelta:-1,stackFn:function(a,b){a[b-2]=a[b-2]*a[b-1]}},null,{id:"sqrt",min:1,stackDelta:0},{id:"dup",min:1,stackDelta:1},{id:"exch",min:2,stackDelta:0},{id:"index",min:2,stackDelta:0},{id:"roll",min:3,stackDelta:-2},null,null,null,{id:"hflex",min:7,resetStack:!0},{id:"flex",min:13,resetStack:!0},{id:"hflex1",min:9,resetStack:!0},{id:"flex1",min:11,resetStack:!0}];return d.prototype={parse:function(){var a=this.properties,b=new lc;this.cff=b;var c=this.parseHeader(),d=this.parseIndex(c.endPos),e=this.parseIndex(d.endPos),f=this.parseIndex(e.endPos),g=this.parseIndex(f.endPos),h=this.parseDict(e.obj.get(0)),i=this.createDict(qc,h,b.strings);b.header=c.obj,b.names=this.parseNameIndex(d.obj),b.strings=this.parseStringIndex(f.obj),b.topDict=i,b.globalSubrIndex=g.obj,this.parsePrivateDict(b.topDict),b.isCIDFont=i.hasName("ROS");var j=i.getByName("CharStrings"),k=this.parseCharStrings(j);b.charStrings=k.charStrings,b.seacs=k.seacs,b.widths=k.widths;var l=i.getByName("FontMatrix");l&&(a.fontMatrix=l);var m=i.getByName("FontBBox");m&&(a.ascent=m[3],a.descent=m[1],a.ascentScaled=!0);var n,o;if(b.isCIDFont){for(var p=this.parseIndex(i.getByName("FDArray")).obj,q=0,r=p.count;r>q;++q){var s=p.get(q),t=this.createDict(qc,this.parseDict(s),b.strings);this.parsePrivateDict(t),b.fdArray.push(t)}o=null,n=this.parseCharsets(i.getByName("charset"),b.charStrings.count,b.strings,!0),b.fdSelect=this.parseFDSelect(i.getByName("FDSelect"),b.charStrings.count)}else n=this.parseCharsets(i.getByName("charset"),b.charStrings.count,b.strings,!1),o=this.parseEncoding(i.getByName("Encoding"),a,b.strings,n.charset);return b.charset=n,b.encoding=o,b},parseHeader:function(){for(var b=this.bytes,d=b.length,e=0;d>e&&1!==b[e];)++e;e>=d?c("Invalid CFF header"):0!==e&&(a("cff data is shifted"),b=b.subarray(e),this.bytes=b);var f=b[0],g=b[1],h=b[2],i=b[3],j=new mc(f,g,h,i);return{obj:j,endPos:h}},parseDict:function(a){function b(){var b=a[e++];return 30===b?d(e):28===b?(b=a[e++],b=(b<<24|a[e++]<<16)>>16):29===b?(b=a[e++],b=b<<8|a[e++],b=b<<8|a[e++],b=b<<8|a[e++]):b>=32&&246>=b?b-139:b>=247&&250>=b?256*(b-247)+a[e++]+108:b>=251&&254>=b?-(256*(b-251))-a[e++]-108:(c("255 is not a valid DICT command"),-1)}function d(){for(var b="",c=15,d=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"],f=a.length;f>e;){var g=a[e++],h=g>>4,i=15&g;if(h===c)break;if(b+=d[h],i===c)break;b+=d[i]}return parseFloat(b)}var e=0,f=[],g=[];e=0;for(var h=a.length;h>e;){var i=a[e];21>=i?(12===i&&(i=i<<8|a[++e]),g.push([i,f]),f=[],++e):f.push(b())}return g},parseIndex:function(a){var b,c,d=new oc,e=this.bytes,f=e[a++]<<8|e[a++],g=[],h=a;if(0!==f){var i=e[a++],j=a+(f+1)*i-1;for(b=0,c=f+1;c>b;++b){for(var k=0,l=0;i>l;++l)k<<=8,k+=e[a++];g.push(j+k)}h=g[f]}for(b=0,c=g.length-1;c>b;++b){var m=g[b],n=g[b+1];d.add(e.subarray(m,n))}return{obj:d,endPos:h}},parseNameIndex:function(a){for(var b=[],c=0,d=a.count;d>c;++c){for(var e=a.get(c),f=Math.min(e.length,127),g=[],h=0;f>h;++h){var j=e[h];(0!==h||0!==j)&&(33>j||j>126||91===j||93===j||40===j||41===j||123===j||125===j||60===j||62===j||47===j||37===j||35===j)?g[h]=95:g[h]=j}b.push(i(g))}return b},parseStringIndex:function(a){for(var b=new nc,c=0,d=a.count;d>c;++c){var e=a.get(c);b.add(i(e))}return b},createDict:function(a,b,c){for(var d=new a(c),e=0,f=b.length;f>e;++e){var g=b[e],h=g[0],i=g[1];d.setByKey(h,i);
-}return d},parseCharStrings:function(a){for(var c=this.parseIndex(a).obj,d=[],g=[],h=c.count,i=0;h>i;i++){for(var j=c.get(i),k=0,l=[],m=!0,n=0,o=!0,p=j,q=p.length,r=!0,s=0;q>s;){var t=p[s++],u=null;if(12===t){var v=p[s++];0===v?(p[s-2]=139,p[s-1]=22,k=0):u=f[v]}else 28===t?(l[k]=(p[s]<<24|p[s+1]<<16)>>16,s+=2,k++):14===t?(k>=4&&(k-=4,Nb&&(d[i]=l.slice(k,k+4),o=!1)),u=e[t]):t>=32&&246>=t?(l[k]=t-139,k++):t>=247&&254>=t?(l[k]=251>t?(t-247<<8)+p[s]+108:-(t-251<<8)-p[s]-108,s++,k++):255===t?(l[k]=(p[s]<<24|p[s+1]<<16|p[s+2]<<8|p[s+3])/65536,s+=4,k++):19===t||20===t?(n+=k>>1,s+=n+7>>3,k%=2,u=e[t]):u=e[t];if(u){if(u.stem&&(n+=k>>1),"min"in u&&!m&&k<u.min){b("Not enough parameters for "+u.id+"; actual: "+k+", expected: "+u.min),o=!1;break}r&&u.stackClearing&&(r=!1,k-=u.min,k>=2&&u.stem?k%=2:k>1&&b("Found too many parameters for stack-clearing command"),k>0&&l[k-1]>=0&&(g[i]=l[k-1])),"stackDelta"in u?("stackFn"in u&&u.stackFn(l,k),k+=u.stackDelta):u.stackClearing?k=0:u.resetStack?(k=0,m=!1):u.undefStack&&(k=0,m=!0,r=!1)}}o||c.set(i,new Uint8Array([14]))}return{charStrings:c,seacs:d,widths:g}},emptyPrivateDictionary:function(a){var b=this.createDict(rc,[],a.strings);a.setByKey(18,[0,0]),a.privateDict=b},parsePrivateDict:function(a){if(!a.hasName("Private"))return void this.emptyPrivateDictionary(a);var b=a.getByName("Private");if(!C(b)||2!==b.length)return void a.removeByName("Private");var c=b[0],d=b[1];if(0===c||d>=this.bytes.length)return void this.emptyPrivateDictionary(a);var e=d+c,f=this.bytes.subarray(d,e),g=this.parseDict(f),h=this.createDict(rc,g,a.strings);if(a.privateDict=h,h.getByName("Subrs")){var i=h.getByName("Subrs"),j=d+i;if(0===i||j>=this.bytes.length)return void this.emptyPrivateDictionary(a);var k=this.parseIndex(j);h.subrsIndex=k.obj}},parseCharsets:function(a,b,d,e){if(0===a)return new tc(!0,sc.ISO_ADOBE,Ja);if(1===a)return new tc(!0,sc.EXPERT,Ka);if(2===a)return new tc(!0,sc.EXPERT_SUBSET,La);var f,g,h,i=this.bytes,j=a,k=i[a++],l=[".notdef"];switch(b-=1,k){case 0:for(h=0;b>h;h++)f=i[a++]<<8|i[a++],l.push(e?f:d.get(f));break;case 1:for(;l.length<=b;)for(f=i[a++]<<8|i[a++],g=i[a++],h=0;g>=h;h++)l.push(e?f++:d.get(f++));break;case 2:for(;l.length<=b;)for(f=i[a++]<<8|i[a++],g=i[a++]<<8|i[a++],h=0;g>=h;h++)l.push(e?f++:d.get(f++));break;default:c("Unknown charset format")}var m=a,n=i.subarray(j,m);return new tc(!1,k,l,n)},parseEncoding:function(a,b,d,e){function f(){var b=k[a++];for(h=0;b>h;h++){var c=k[a++],f=(k[a++]<<8)+(255&k[a++]);j[c]=e.indexOf(d.get(f))}}var g,h,i,j={},k=this.bytes,l=!1,m=!1,n=null;if(0===a||1===a){l=!0,g=a;var o=a?Pb.ExpertEncoding:Pb.StandardEncoding;for(h=0,i=e.length;i>h;h++){var p=o.indexOf(e[h]);-1!==p&&(j[p]=h)}}else{var q=a;switch(g=k[a++],127&g){case 0:var r=k[a++];for(h=1;r>=h;h++)j[k[a++]]=h;break;case 1:var s=k[a++],t=1;for(h=0;s>h;h++)for(var u=k[a++],v=k[a++],w=u;u+v>=w;w++)j[w]=t++;break;default:c("Unknow encoding format: "+g+" in CFF")}var x=a;128&g&&(k[q]&=127,f(),m=!0),n=k.subarray(q,x)}return g=127&g,new uc(l,g,j,n)},parseFDSelect:function(a,b){var d,e=a,f=this.bytes,g=f[a++],h=[];switch(g){case 0:for(d=0;b>d;++d){var i=f[a++];h.push(i)}break;case 3:var j=f[a++]<<8|f[a++];for(d=0;j>d;++d)for(var k=f[a++]<<8|f[a++],l=f[a++],m=f[a]<<8|f[a+1],n=k;m>n;++n)h.push(l);a+=2;break;default:c("Unknown fdselect format "+g)}var o=a;return new vc(h,f.subarray(e,o))}},d}(),lc=function(){function a(){this.header=null,this.names=[],this.topDict=null,this.strings=new nc,this.globalSubrIndex=null,this.encoding=null,this.charset=null,this.charStrings=null,this.fdArray=[],this.fdSelect=null,this.isCIDFont=!1}return a}(),mc=function(){function a(a,b,c,d){this.major=a,this.minor=b,this.hdrSize=c,this.offSize=d}return a}(),nc=function(){function a(){this.strings=[]}return a.prototype={get:function(a){return a>=0&&390>=a?hc[a]:a-391<=this.strings.length?this.strings[a-391]:hc[0]},add:function(a){this.strings.push(a)},get count(){return this.strings.length}},a}(),oc=function(){function a(){this.objects=[],this.length=0}return a.prototype={add:function(a){this.length+=a.length,this.objects.push(a)},set:function(a,b){this.length+=b.length-this.objects[a].length,this.objects[a]=b},get:function(a){return this.objects[a]},get count(){return this.objects.length}},a}(),pc=function(){function a(a,b){this.keyToNameMap=a.keyToNameMap,this.nameToKeyMap=a.nameToKeyMap,this.defaults=a.defaults,this.types=a.types,this.opcodes=a.opcodes,this.order=a.order,this.strings=b,this.values={}}return a.prototype={setByKey:function(a,b){if(!(a in this.keyToNameMap))return!1;if(0===b.length)return!0;var c=this.types[a];return("num"===c||"sid"===c||"offset"===c)&&(b=b[0]),this.values[a]=b,!0},setByName:function(a,b){a in this.nameToKeyMap||c('Invalid dictionary name "'+a+'"'),this.values[this.nameToKeyMap[a]]=b},hasName:function(a){return this.nameToKeyMap[a]in this.values},getByName:function(a){a in this.nameToKeyMap||c('Invalid dictionary name "'+a+'"');var b=this.nameToKeyMap[a];return b in this.values?this.values[b]:this.defaults[b]},removeByName:function(a){delete this.values[this.nameToKeyMap[a]]}},a.createTables=function(a){for(var b={keyToNameMap:{},nameToKeyMap:{},defaults:{},types:{},opcodes:{},order:[]},c=0,d=a.length;d>c;++c){var e=a[c],f=C(e[0])?(e[0][0]<<8)+e[0][1]:e[0];b.keyToNameMap[f]=e[1],b.nameToKeyMap[e[1]]=f,b.types[f]=e[2],b.defaults[f]=e[3],b.opcodes[f]=C(e[0])?e[0]:[e[0]],b.order.push(f)}return b},a}(),qc=function(){function a(a){null===c&&(c=pc.createTables(b)),pc.call(this,c,a),this.privateDict=null}var b=[[[12,30],"ROS",["sid","sid","num"],null],[[12,20],"SyntheticBase","num",null],[0,"version","sid",null],[1,"Notice","sid",null],[[12,0],"Copyright","sid",null],[2,"FullName","sid",null],[3,"FamilyName","sid",null],[4,"Weight","sid",null],[[12,1],"isFixedPitch","num",0],[[12,2],"ItalicAngle","num",0],[[12,3],"UnderlinePosition","num",-100],[[12,4],"UnderlineThickness","num",50],[[12,5],"PaintType","num",0],[[12,6],"CharstringType","num",2],[[12,7],"FontMatrix",["num","num","num","num","num","num"],[.001,0,0,.001,0,0]],[13,"UniqueID","num",null],[5,"FontBBox",["num","num","num","num"],[0,0,0,0]],[[12,8],"StrokeWidth","num",0],[14,"XUID","array",null],[15,"charset","offset",0],[16,"Encoding","offset",0],[17,"CharStrings","offset",0],[18,"Private",["offset","offset"],null],[[12,21],"PostScript","sid",null],[[12,22],"BaseFontName","sid",null],[[12,23],"BaseFontBlend","delta",null],[[12,31],"CIDFontVersion","num",0],[[12,32],"CIDFontRevision","num",0],[[12,33],"CIDFontType","num",0],[[12,34],"CIDCount","num",8720],[[12,35],"UIDBase","num",null],[[12,37],"FDSelect","offset",null],[[12,36],"FDArray","offset",null],[[12,38],"FontName","sid",null]],c=null;return a.prototype=Object.create(pc.prototype),a}(),rc=function(){function a(a){null===c&&(c=pc.createTables(b)),pc.call(this,c,a),this.subrsIndex=null}var b=[[6,"BlueValues","delta",null],[7,"OtherBlues","delta",null],[8,"FamilyBlues","delta",null],[9,"FamilyOtherBlues","delta",null],[[12,9],"BlueScale","num",.039625],[[12,10],"BlueShift","num",7],[[12,11],"BlueFuzz","num",1],[10,"StdHW","num",null],[11,"StdVW","num",null],[[12,12],"StemSnapH","delta",null],[[12,13],"StemSnapV","delta",null],[[12,14],"ForceBold","num",0],[[12,17],"LanguageGroup","num",0],[[12,18],"ExpansionFactor","num",.06],[[12,19],"initialRandomSeed","num",0],[20,"defaultWidthX","num",0],[21,"nominalWidthX","num",0],[19,"Subrs","offset",null]],c=null;return a.prototype=Object.create(pc.prototype),a}(),sc={ISO_ADOBE:0,EXPERT:1,EXPERT_SUBSET:2},tc=function(){function a(a,b,c,d){this.predefined=a,this.format=b,this.charset=c,this.raw=d}return a}(),uc=function(){function a(a,b,c,d){this.predefined=a,this.format=b,this.encoding=c,this.raw=d}return a}(),vc=function(){function a(a,b){this.fdSelect=a,this.raw=b}return a}(),wc=function(){function a(){this.offsets={}}return a.prototype={isTracking:function(a){return a in this.offsets},track:function(a,b){a in this.offsets&&c("Already tracking location of "+a),this.offsets[a]=b},offset:function(a){for(var b in this.offsets)this.offsets[b]+=a},setEntryLocation:function(a,b,d){a in this.offsets||c("Not tracking location of "+a);for(var e=d.data,f=this.offsets[a],g=5,h=0,i=b.length;i>h;++h){var j=h*g+f,k=j+1,l=j+2,m=j+3,n=j+4;(29!==e[j]||0!==e[k]||0!==e[l]||0!==e[m]||0!==e[n])&&c("writing to an offset that is not empty");var o=b[h];e[j]=29,e[k]=o>>24&255,e[l]=o>>16&255,e[m]=o>>8&255,e[n]=255&o}}},a}(),xc=function(){function a(a){this.cff=a}return a.prototype={compile:function(){var a=this.cff,b={data:[],length:0,add:function(a){this.data=this.data.concat(a),this.length=this.data.length}},c=this.compileHeader(a.header);b.add(c);var d=this.compileNameIndex(a.names);if(b.add(d),a.isCIDFont&&a.topDict.hasName("FontMatrix")){var e=a.topDict.getByName("FontMatrix");a.topDict.removeByName("FontMatrix");for(var f=0,g=a.fdArray.length;g>f;f++){var h=a.fdArray[f],i=e.slice(0);h.hasName("FontMatrix")&&(i=na.transform(i,h.getByName("FontMatrix"))),h.setByName("FontMatrix",i)}}var j=this.compileTopDicts([a.topDict],b.length,a.isCIDFont);b.add(j.output);var k=j.trackers[0],l=this.compileStringIndex(a.strings.strings);b.add(l);var m=this.compileIndex(a.globalSubrIndex);if(b.add(m),a.encoding&&a.topDict.hasName("Encoding"))if(a.encoding.predefined)k.setEntryLocation("Encoding",[a.encoding.format],b);else{var n=this.compileEncoding(a.encoding);k.setEntryLocation("Encoding",[b.length],b),b.add(n)}if(a.charset&&a.topDict.hasName("charset"))if(a.charset.predefined)k.setEntryLocation("charset",[a.charset.format],b);else{var o=this.compileCharset(a.charset);k.setEntryLocation("charset",[b.length],b),b.add(o)}var p=this.compileCharStrings(a.charStrings);if(k.setEntryLocation("CharStrings",[b.length],b),b.add(p),a.isCIDFont){k.setEntryLocation("FDSelect",[b.length],b);var q=this.compileFDSelect(a.fdSelect.raw);b.add(q),j=this.compileTopDicts(a.fdArray,b.length,!0),k.setEntryLocation("FDArray",[b.length],b),b.add(j.output);var r=j.trackers;this.compilePrivateDicts(a.fdArray,r,b)}return this.compilePrivateDicts([a.topDict],[k],b),b.add([0]),b.data},encodeNumber:function(a){return parseFloat(a)!==parseInt(a,10)||isNaN(a)?this.encodeFloat(a):this.encodeInteger(a)},encodeFloat:function(a){var b=a.toString(),c=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(b);if(c){var d=parseFloat("1e"+((c[2]?+c[2]:0)+c[1].length));b=(Math.round(a*d)/d).toString()}var e,f,g="";for(e=0,f=b.length;f>e;++e){var h=b[e];g+="e"===h?"-"===b[++e]?"c":"b":"."===h?"a":"-"===h?"e":h}g+=1&g.length?"f":"ff";var i=[30];for(e=0,f=g.length;f>e;e+=2)i.push(parseInt(g.substr(e,2),16));return i},encodeInteger:function(a){var b;return a>=-107&&107>=a?b=[a+139]:a>=108&&1131>=a?(a=[a-108],b=[(a>>8)+247,255&a]):a>=-1131&&-108>=a?(a=-a-108,b=[(a>>8)+251,255&a]):b=a>=-32768&&32767>=a?[28,a>>8&255,255&a]:[29,a>>24&255,a>>16&255,a>>8&255,255&a],b},compileHeader:function(a){return[a.major,a.minor,a.hdrSize,a.offSize]},compileNameIndex:function(a){for(var b=new oc,c=0,d=a.length;d>c;++c)b.add(j(a[c]));return this.compileIndex(b)},compileTopDicts:function(a,b,c){for(var d=[],e=new oc,f=0,g=a.length;g>f;++f){var h=a[f];c&&(h.removeByName("CIDFontVersion"),h.removeByName("CIDFontRevision"),h.removeByName("CIDFontType"),h.removeByName("CIDCount"),h.removeByName("UIDBase"));var i=new wc,j=this.compileDict(h,i);d.push(i),e.add(j),i.offset(b)}return e=this.compileIndex(e,d),{trackers:d,output:e}},compilePrivateDicts:function(a,b,c){for(var d=0,f=a.length;f>d;++d){var g=a[d];e(g.privateDict&&g.hasName("Private"),"There must be an private dictionary.");var h=g.privateDict,i=new wc,j=this.compileDict(h,i),k=c.length;if(i.offset(k),j.length||(k=0),b[d].setEntryLocation("Private",[j.length,k],c),c.add(j),h.subrsIndex&&h.hasName("Subrs")){var l=this.compileIndex(h.subrsIndex);i.setEntryLocation("Subrs",[j.length],c),c.add(l)}}},compileDict:function(a,b){for(var d=[],e=a.order,f=0;f<e.length;++f){var g=e[f];if(g in a.values){var h=a.values[g],i=a.types[g];if(C(i)||(i=[i]),C(h)||(h=[h]),0!==h.length){for(var j=0,k=i.length;k>j;++j){var l=i[j],m=h[j];switch(l){case"num":case"sid":d=d.concat(this.encodeNumber(m));break;case"offset":var n=a.keyToNameMap[g];b.isTracking(n)||b.track(n,d.length),d=d.concat([29,0,0,0,0]);break;case"array":case"delta":d=d.concat(this.encodeNumber(m));for(var o=1,p=h.length;p>o;++o)d=d.concat(this.encodeNumber(h[o]));break;default:c("Unknown data type of "+l)}}d=d.concat(a.opcodes[g])}}}return d},compileStringIndex:function(a){for(var b=new oc,c=0,d=a.length;d>c;++c)b.add(j(a[c]));return this.compileIndex(b)},compileGlobalSubrIndex:function(){var a=this.cff.globalSubrIndex;this.out.writeByteArray(this.compileIndex(a))},compileCharStrings:function(a){return this.compileIndex(a)},compileCharset:function(a){return this.compileTypedArray(a.raw)},compileEncoding:function(a){return this.compileTypedArray(a.raw)},compileFDSelect:function(a){return this.compileTypedArray(a)},compileTypedArray:function(a){for(var b=[],c=0,d=a.length;d>c;++c)b[c]=a[c];return b},compileIndex:function(a,b){b=b||[];var c=a.objects,d=c.length;if(0===d)return[0,0,0];var e,f=[d>>8&255,255&d],g=1;for(e=0;d>e;++e)g+=c[e].length;var h;h=256>g?1:65536>g?2:16777216>g?3:4,f.push(h);var i=1;for(e=0;d+1>e;e++)1===h?f.push(255&i):2===h?f.push(i>>8&255,255&i):3===h?f.push(i>>16&255,i>>8&255,255&i):f.push(i>>>24&255,i>>16&255,i>>8&255,255&i),c[e]&&(i+=c[e].length);for(e=0;d>e;e++){b[e]&&b[e].offset(f.length);for(var j=0,k=c[e].length;k>j;j++)f.push(c[e][j])}return f}},a}();!function(){/Windows/.test(navigator.userAgent)&&(Nb=!0)}(),function(){/Windows.*Chrome/.test(navigator.userAgent)&&(Kb=!0)}();var yc=function(){function a(a,b){return a[b]<<24|a[b+1]<<16|a[b+2]<<8|a[b+3]}function b(a,b){return a[b]<<8|a[b+1]}function d(d,e,f){var g,h,i,j,k=1===b(d,e+2)?a(d,e+8):a(d,e+16),l=b(d,e+k);if(4===l){g=b(d,e+k+2);var m=b(d,e+k+6)>>1;for(i=e+k+14,h=[],j=0;m>j;j++,i+=2)h[j]={end:b(d,i)};for(i+=2,j=0;m>j;j++,i+=2)h[j].start=b(d,i);for(j=0;m>j;j++,i+=2)h[j].idDelta=b(d,i);for(j=0;m>j;j++,i+=2){var n=b(d,i);if(0!==n){h[j].ids=[];for(var o=0,p=h[j].end-h[j].start+1;p>o;o++)h[j].ids[o]=b(d,i+n),n+=2}}return h}if(12===l){g=a(d,e+k+4);var q=a(d,e+k+12);for(i=e+k+16,h=[],j=0;q>j;j++)h.push({start:a(d,i),end:a(d,i+4),idDelta:a(d,i+8)-a(d,i)}),i+=12;return h}c("not supported cmap: "+l)}function e(a,b,c){var d={},e=new kc(new Mc(a,b,c-b),d),f=e.parse();return{glyphs:f.charStrings.objects,subrs:f.topDict.privateDict&&f.topDict.privateDict.subrsIndex&&f.topDict.privateDict.subrsIndex.objects,gsubrs:f.globalSubrIndex&&f.globalSubrIndex.objects}}function f(a,b,c){var d,e;c?(d=4,e=function(a,b){return a[b]<<24|a[b+1]<<16|a[b+2]<<8|a[b+3]}):(d=2,e=function(a,b){return a[b]<<9|a[b+1]<<1});for(var f=[],g=e(b,0),h=d;h<b.length;h+=d){var i=e(b,h);f.push(a.subarray(g,i)),g=i}return f}function g(a,b){for(var c=b.charCodeAt(0),d=0,e=a.length-1;e>d;){var f=d+e+1>>1;c<a[f].start?e=f-1:d=f}return a[d].start<=c&&c<=a[d].end?a[d].idDelta+(a[d].ids?a[d].ids[c-a[d].start]:c)&65535:0}function h(a,b,c){function d(a,c){b.push({cmd:"moveTo",args:[a,c]})}function e(a,c){b.push({cmd:"lineTo",args:[a,c]})}function f(a,c,d,e){b.push({cmd:"quadraticCurveTo",args:[a,c,d,e]})}var g,i=0,j=(a[i]<<24|a[i+1]<<16)>>16,k=0,l=0;if(i+=10,0>j){do{g=a[i]<<8|a[i+1];var m=a[i+2]<<8|a[i+3];i+=4;var n,o;1&g?(n=(a[i]<<24|a[i+1]<<16)>>16,o=(a[i+2]<<24|a[i+3]<<16)>>16,i+=4):(n=a[i++],o=a[i++]),2&g?(k=n,l=o):(k=0,l=0);var p=1,q=1,r=0,s=0;8&g?(p=q=(a[i]<<24|a[i+1]<<16)/1073741824,i+=2):64&g?(p=(a[i]<<24|a[i+1]<<16)/1073741824,q=(a[i+2]<<24|a[i+3]<<16)/1073741824,i+=4):128&g&&(p=(a[i]<<24|a[i+1]<<16)/1073741824,r=(a[i+2]<<24|a[i+3]<<16)/1073741824,s=(a[i+4]<<24|a[i+5]<<16)/1073741824,q=(a[i+6]<<24|a[i+7]<<16)/1073741824,i+=8);var t=c.glyphs[m];t&&(b.push({cmd:"save"}),b.push({cmd:"transform",args:[p,r,s,q,k,l]}),h(t,b,c),b.push({cmd:"restore"}))}while(32&g)}else{var u,v,w=[];for(u=0;j>u;u++)w.push(a[i]<<8|a[i+1]),i+=2;var x=a[i]<<8|a[i+1];i+=2+x;for(var y=w[w.length-1]+1,z=[];z.length<y;){g=a[i++];var A=1;for(8&g&&(A+=a[i++]);A-- >0;)z.push({flags:g})}for(u=0;y>u;u++){switch(18&z[u].flags){case 0:k+=(a[i]<<24|a[i+1]<<16)>>16,i+=2;break;case 2:k-=a[i++];break;case 18:k+=a[i++]}z[u].x=k}for(u=0;y>u;u++){switch(36&z[u].flags){case 0:l+=(a[i]<<24|a[i+1]<<16)>>16,i+=2;break;case 4:l-=a[i++];break;case 36:l+=a[i++]}z[u].y=l}var B=0;for(i=0;j>i;i++){var C=w[i],D=z.slice(B,C+1);if(1&D[0].flags)D.push(D[0]);else if(1&D[D.length-1].flags)D.unshift(D[D.length-1]);else{var E={flags:1,x:(D[0].x+D[D.length-1].x)/2,y:(D[0].y+D[D.length-1].y)/2};D.unshift(E),D.push(E)}for(d(D[0].x,D[0].y),u=1,v=D.length;v>u;u++)1&D[u].flags?e(D[u].x,D[u].y):1&D[u+1].flags?(f(D[u].x,D[u].y,D[u+1].x,D[u+1].y),u++):f(D[u].x,D[u].y,(D[u].x+D[u+1].x)/2,(D[u].y+D[u+1].y)/2);B=C+1}}}function j(a,b,d){function e(a,c){b.push({cmd:"moveTo",args:[a,c]})}function f(a,c){b.push({cmd:"lineTo",args:[a,c]})}function h(a,c,d,e,f,g){b.push({cmd:"bezierCurveTo",args:[a,c,d,e,f,g]})}function i(a){for(var o=0;o<a.length;){var p,q,r,s,t,u,v,w,x,y=!1,z=a[o++];switch(z){case 1:n+=k.length>>1,y=!0;break;case 3:n+=k.length>>1,y=!0;break;case 4:m+=k.pop(),e(l,m),y=!0;break;case 5:for(;k.length>0;)l+=k.shift(),m+=k.shift(),f(l,m);break;case 6:for(;k.length>0&&(l+=k.shift(),f(l,m),0!==k.length);)m+=k.shift(),f(l,m);break;case 7:for(;k.length>0&&(m+=k.shift(),f(l,m),0!==k.length);)l+=k.shift(),f(l,m);break;case 8:for(;k.length>0;)p=l+k.shift(),r=m+k.shift(),q=p+k.shift(),s=r+k.shift(),l=q+k.shift(),m=s+k.shift(),h(p,r,q,s,l,m);break;case 10:w=k.pop()+d.subrsBias,x=d.subrs[w],x&&i(x);break;case 11:return;case 12:switch(z=a[o++]){case 34:p=l+k.shift(),q=p+k.shift(),t=m+k.shift(),l=q+k.shift(),h(p,m,q,t,l,t),p=l+k.shift(),q=p+k.shift(),l=q+k.shift(),h(p,t,q,m,l,m);break;case 35:p=l+k.shift(),r=m+k.shift(),q=p+k.shift(),s=r+k.shift(),l=q+k.shift(),m=s+k.shift(),h(p,r,q,s,l,m),p=l+k.shift(),r=m+k.shift(),q=p+k.shift(),s=r+k.shift(),l=q+k.shift(),m=s+k.shift(),h(p,r,q,s,l,m),k.pop();break;case 36:p=l+k.shift(),t=m+k.shift(),q=p+k.shift(),u=t+k.shift(),l=q+k.shift(),h(p,t,q,u,l,u),p=l+k.shift(),q=p+k.shift(),v=u+k.shift(),l=q+k.shift(),h(p,u,q,v,l,m);break;case 37:var A=l,B=m;p=l+k.shift(),r=m+k.shift(),q=p+k.shift(),s=r+k.shift(),l=q+k.shift(),m=s+k.shift(),h(p,r,q,s,l,m),p=l+k.shift(),r=m+k.shift(),q=p+k.shift(),s=r+k.shift(),l=q,m=s,Math.abs(l-A)>Math.abs(m-B)?l+=k.shift():m+=k.shift(),h(p,r,q,s,l,m);break;default:c("unknown operator: 12 "+z)}break;case 14:if(k.length>=4){var C=k.pop(),D=k.pop();m=k.pop(),l=k.pop(),b.push({cmd:"save"}),b.push({cmd:"translate",args:[l,m]});var E=g(d.cmap,String.fromCharCode(d.glyphNameMap[Pb.StandardEncoding[C]]));j(d.glyphs[E],b,d),b.push({cmd:"restore"}),E=g(d.cmap,String.fromCharCode(d.glyphNameMap[Pb.StandardEncoding[D]])),j(d.glyphs[E],b,d)}return;case 18:n+=k.length>>1,y=!0;break;case 19:n+=k.length>>1,o+=n+7>>3,y=!0;break;case 20:n+=k.length>>1,o+=n+7>>3,y=!0;break;case 21:m+=k.pop(),l+=k.pop(),e(l,m),y=!0;break;case 22:l+=k.pop(),e(l,m),y=!0;break;case 23:n+=k.length>>1,y=!0;break;case 24:for(;k.length>2;)p=l+k.shift(),r=m+k.shift(),q=p+k.shift(),s=r+k.shift(),l=q+k.shift(),m=s+k.shift(),h(p,r,q,s,l,m);l+=k.shift(),m+=k.shift(),f(l,m);break;case 25:for(;k.length>6;)l+=k.shift(),m+=k.shift(),f(l,m);p=l+k.shift(),r=m+k.shift(),q=p+k.shift(),s=r+k.shift(),l=q+k.shift(),m=s+k.shift(),h(p,r,q,s,l,m);break;case 26:for(k.length%2&&(l+=k.shift());k.length>0;)p=l,r=m+k.shift(),q=p+k.shift(),s=r+k.shift(),l=q,m=s+k.shift(),h(p,r,q,s,l,m);break;case 27:for(k.length%2&&(m+=k.shift());k.length>0;)p=l+k.shift(),r=m,q=p+k.shift(),s=r+k.shift(),l=q+k.shift(),m=s,h(p,r,q,s,l,m);break;case 28:k.push((a[o]<<24|a[o+1]<<16)>>16),o+=2;break;case 29:w=k.pop()+d.gsubrsBias,x=d.gsubrs[w],x&&i(x);break;case 30:for(;k.length>0&&(p=l,r=m+k.shift(),q=p+k.shift(),s=r+k.shift(),l=q+k.shift(),m=s+(1===k.length?k.shift():0),h(p,r,q,s,l,m),0!==k.length);)p=l+k.shift(),r=m,q=p+k.shift(),s=r+k.shift(),m=s+k.shift(),l=q+(1===k.length?k.shift():0),h(p,r,q,s,l,m);break;case 31:for(;k.length>0&&(p=l+k.shift(),r=m,q=p+k.shift(),s=r+k.shift(),m=s+k.shift(),l=q+(1===k.length?k.shift():0),h(p,r,q,s,l,m),0!==k.length);)p=l,r=m+k.shift(),q=p+k.shift(),s=r+k.shift(),l=q+k.shift(),m=s+(1===k.length?k.shift():0),h(p,r,q,s,l,m);break;default:32>z&&c("unknown operator: "+z),247>z?k.push(z-139):251>z?k.push(256*(z-247)+a[o++]+108):255>z?k.push(256*-(z-251)-a[o++]-108):(k.push((a[o]<<24|a[o+1]<<16|a[o+2]<<8|a[o+3])/65536),o+=4)}y&&(k.length=0)}}var k=[],l=0,m=0,n=0;i(a)}function k(a){this.compiledGlyphs={},this.fontMatrix=a}function l(a,b,c){c=c||[488e-6,0,0,488e-6,0,0],k.call(this,c),this.glyphs=a,this.cmap=b,this.compiledGlyphs=[]}function m(a,b,c,d){c=c||[.001,0,0,.001,0,0],k.call(this,c),this.glyphs=a.glyphs,this.gsubrs=a.gsubrs||[],this.subrs=a.subrs||[],this.cmap=b,this.glyphNameMap=d||zc,this.compiledGlyphs=[],this.gsubrsBias=this.gsubrs.length<1240?107:this.gsubrs.length<33900?1131:32768,this.subrsBias=this.subrs.length<1240?107:this.subrs.length<33900?1131:32768}var n="";return k.prototype={getPathJs:function(a){var b=g(this.cmap,a),c=this.compiledGlyphs[b];return c||(this.compiledGlyphs[b]=c=this.compileGlyph(this.glyphs[b])),c},compileGlyph:function(a){if(!a||0===a.length||14===a[0])return n;var b=[];return b.push({cmd:"save"}),b.push({cmd:"transform",args:this.fontMatrix.slice()}),b.push({cmd:"scale",args:["size","-size"]}),this.compileGlyphImpl(a,b),b.push({cmd:"restore"}),b},compileGlyphImpl:function(){c("Children classes should implement this.")},hasBuiltPath:function(a){var b=g(this.cmap,a);return b in this.compiledGlyphs}},na.inherit(l,k,{compileGlyphImpl:function(a,b){h(a,b,this)}}),na.inherit(m,k,{compileGlyphImpl:function(a,b){j(a,b,this)}}),{create:function(c){for(var g,h,j,k,n,o,p=new Uint8Array(c.data),q=b(p,4),r=0,s=12;q>r;r++,s+=16){var t=i(p.subarray(s,s+4)),u=a(p,s+8),v=a(p,s+12);switch(t){case"cmap":g=d(p,u,u+v);break;case"glyf":h=p.subarray(u,u+v);break;case"loca":j=p.subarray(u,u+v);break;case"head":o=b(p,u+18),n=b(p,u+50);break;case"CFF ":k=e(p,u,u+v)}}if(h){var w=o?[1/o,0,0,1/o,0,0]:c.fontMatrix;return new l(f(h,j,n),g,w)}return new m(k,g,c.fontMatrix,c.glyphNameMap)}}}(),zc={A:65,AE:198,AEacute:508,AEmacron:482,AEsmall:63462,Aacute:193,Aacutesmall:63457,Abreve:258,Abreveacute:7854,Abrevecyrillic:1232,Abrevedotbelow:7862,Abrevegrave:7856,Abrevehookabove:7858,Abrevetilde:7860,Acaron:461,Acircle:9398,Acircumflex:194,Acircumflexacute:7844,Acircumflexdotbelow:7852,Acircumflexgrave:7846,Acircumflexhookabove:7848,Acircumflexsmall:63458,Acircumflextilde:7850,Acute:63177,Acutesmall:63412,Acyrillic:1040,Adblgrave:512,Adieresis:196,Adieresiscyrillic:1234,Adieresismacron:478,Adieresissmall:63460,Adotbelow:7840,Adotmacron:480,Agrave:192,Agravesmall:63456,Ahookabove:7842,Aiecyrillic:1236,Ainvertedbreve:514,Alpha:913,Alphatonos:902,Amacron:256,Amonospace:65313,Aogonek:260,Aring:197,Aringacute:506,Aringbelow:7680,Aringsmall:63461,Asmall:63329,Atilde:195,Atildesmall:63459,Aybarmenian:1329,B:66,Bcircle:9399,Bdotaccent:7682,Bdotbelow:7684,Becyrillic:1041,Benarmenian:1330,Beta:914,Bhook:385,Blinebelow:7686,Bmonospace:65314,Brevesmall:63220,Bsmall:63330,Btopbar:386,C:67,Caarmenian:1342,Cacute:262,Caron:63178,Caronsmall:63221,Ccaron:268,Ccedilla:199,Ccedillaacute:7688,Ccedillasmall:63463,Ccircle:9400,Ccircumflex:264,Cdot:266,Cdotaccent:266,Cedillasmall:63416,Chaarmenian:1353,Cheabkhasiancyrillic:1212,Checyrillic:1063,Chedescenderabkhasiancyrillic:1214,Chedescendercyrillic:1206,Chedieresiscyrillic:1268,Cheharmenian:1347,Chekhakassiancyrillic:1227,Cheverticalstrokecyrillic:1208,Chi:935,Chook:391,Circumflexsmall:63222,Cmonospace:65315,Coarmenian:1361,Csmall:63331,D:68,DZ:497,DZcaron:452,Daarmenian:1332,Dafrican:393,Dcaron:270,Dcedilla:7696,Dcircle:9401,Dcircumflexbelow:7698,Dcroat:272,Ddotaccent:7690,Ddotbelow:7692,Decyrillic:1044,Deicoptic:1006,Delta:8710,Deltagreek:916,Dhook:394,Dieresis:63179,DieresisAcute:63180,DieresisGrave:63181,Dieresissmall:63400,Digammagreek:988,Djecyrillic:1026,Dlinebelow:7694,Dmonospace:65316,Dotaccentsmall:63223,Dslash:272,Dsmall:63332,Dtopbar:395,Dz:498,Dzcaron:453,Dzeabkhasiancyrillic:1248,Dzecyrillic:1029,Dzhecyrillic:1039,E:69,Eacute:201,Eacutesmall:63465,Ebreve:276,Ecaron:282,Ecedillabreve:7708,Echarmenian:1333,Ecircle:9402,Ecircumflex:202,Ecircumflexacute:7870,Ecircumflexbelow:7704,Ecircumflexdotbelow:7878,Ecircumflexgrave:7872,Ecircumflexhookabove:7874,Ecircumflexsmall:63466,Ecircumflextilde:7876,Ecyrillic:1028,Edblgrave:516,Edieresis:203,Edieresissmall:63467,Edot:278,Edotaccent:278,Edotbelow:7864,Efcyrillic:1060,Egrave:200,Egravesmall:63464,Eharmenian:1335,Ehookabove:7866,Eightroman:8551,Einvertedbreve:518,Eiotifiedcyrillic:1124,Elcyrillic:1051,Elevenroman:8554,Emacron:274,Emacronacute:7702,Emacrongrave:7700,Emcyrillic:1052,Emonospace:65317,Encyrillic:1053,Endescendercyrillic:1186,Eng:330,Enghecyrillic:1188,Enhookcyrillic:1223,Eogonek:280,Eopen:400,Epsilon:917,Epsilontonos:904,Ercyrillic:1056,Ereversed:398,Ereversedcyrillic:1069,Escyrillic:1057,Esdescendercyrillic:1194,Esh:425,Esmall:63333,Eta:919,Etarmenian:1336,Etatonos:905,Eth:208,Ethsmall:63472,Etilde:7868,Etildebelow:7706,Euro:8364,Ezh:439,Ezhcaron:494,Ezhreversed:440,F:70,Fcircle:9403,Fdotaccent:7710,Feharmenian:1366,Feicoptic:996,Fhook:401,Fitacyrillic:1138,Fiveroman:8548,Fmonospace:65318,Fourroman:8547,Fsmall:63334,G:71,GBsquare:13191,Gacute:500,Gamma:915,Gammaafrican:404,Gangiacoptic:1002,Gbreve:286,Gcaron:486,Gcedilla:290,Gcircle:9404,Gcircumflex:284,Gcommaaccent:290,Gdot:288,Gdotaccent:288,Gecyrillic:1043,Ghadarmenian:1346,Ghemiddlehookcyrillic:1172,Ghestrokecyrillic:1170,Gheupturncyrillic:1168,Ghook:403,Gimarmenian:1331,Gjecyrillic:1027,Gmacron:7712,Gmonospace:65319,Grave:63182,Gravesmall:63328,Gsmall:63335,Gsmallhook:667,Gstroke:484,H:72,H18533:9679,H18543:9642,H18551:9643,H22073:9633,HPsquare:13259,Haabkhasiancyrillic:1192,Hadescendercyrillic:1202,Hardsigncyrillic:1066,Hbar:294,Hbrevebelow:7722,Hcedilla:7720,Hcircle:9405,Hcircumflex:292,Hdieresis:7718,Hdotaccent:7714,Hdotbelow:7716,Hmonospace:65320,Hoarmenian:1344,Horicoptic:1e3,Hsmall:63336,Hungarumlaut:63183,Hungarumlautsmall:63224,Hzsquare:13200,I:73,IAcyrillic:1071,IJ:306,IUcyrillic:1070,Iacute:205,Iacutesmall:63469,Ibreve:300,Icaron:463,Icircle:9406,Icircumflex:206,Icircumflexsmall:63470,Icyrillic:1030,Idblgrave:520,Idieresis:207,Idieresisacute:7726,Idieresiscyrillic:1252,Idieresissmall:63471,Idot:304,Idotaccent:304,Idotbelow:7882,Iebrevecyrillic:1238,Iecyrillic:1045,Ifraktur:8465,Igrave:204,Igravesmall:63468,Ihookabove:7880,Iicyrillic:1048,Iinvertedbreve:522,Iishortcyrillic:1049,Imacron:298,Imacroncyrillic:1250,Imonospace:65321,Iniarmenian:1339,Iocyrillic:1025,Iogonek:302,Iota:921,Iotaafrican:406,Iotadieresis:938,Iotatonos:906,Ismall:63337,Istroke:407,Itilde:296,Itildebelow:7724,Izhitsacyrillic:1140,Izhitsadblgravecyrillic:1142,J:74,Jaarmenian:1345,Jcircle:9407,Jcircumflex:308,Jecyrillic:1032,Jheharmenian:1355,Jmonospace:65322,Jsmall:63338,K:75,KBsquare:13189,KKsquare:13261,Kabashkircyrillic:1184,Kacute:7728,Kacyrillic:1050,Kadescendercyrillic:1178,Kahookcyrillic:1219,Kappa:922,Kastrokecyrillic:1182,Kaverticalstrokecyrillic:1180,Kcaron:488,Kcedilla:310,Kcircle:9408,Kcommaaccent:310,Kdotbelow:7730,Keharmenian:1364,Kenarmenian:1343,Khacyrillic:1061,Kheicoptic:998,Khook:408,Kjecyrillic:1036,Klinebelow:7732,Kmonospace:65323,Koppacyrillic:1152,Koppagreek:990,Ksicyrillic:1134,Ksmall:63339,L:76,LJ:455,LL:63167,Lacute:313,Lambda:923,Lcaron:317,Lcedilla:315,Lcircle:9409,Lcircumflexbelow:7740,Lcommaaccent:315,Ldot:319,Ldotaccent:319,Ldotbelow:7734,Ldotbelowmacron:7736,Liwnarmenian:1340,Lj:456,Ljecyrillic:1033,Llinebelow:7738,Lmonospace:65324,Lslash:321,Lslashsmall:63225,Lsmall:63340,M:77,MBsquare:13190,Macron:63184,Macronsmall:63407,Macute:7742,Mcircle:9410,Mdotaccent:7744,Mdotbelow:7746,Menarmenian:1348,Mmonospace:65325,Msmall:63341,Mturned:412,Mu:924,N:78,NJ:458,Nacute:323,Ncaron:327,Ncedilla:325,Ncircle:9411,Ncircumflexbelow:7754,Ncommaaccent:325,Ndotaccent:7748,Ndotbelow:7750,Nhookleft:413,Nineroman:8552,Nj:459,Njecyrillic:1034,Nlinebelow:7752,Nmonospace:65326,Nowarmenian:1350,Nsmall:63342,Ntilde:209,Ntildesmall:63473,Nu:925,O:79,OE:338,OEsmall:63226,Oacute:211,Oacutesmall:63475,Obarredcyrillic:1256,Obarreddieresiscyrillic:1258,Obreve:334,Ocaron:465,Ocenteredtilde:415,Ocircle:9412,Ocircumflex:212,Ocircumflexacute:7888,Ocircumflexdotbelow:7896,Ocircumflexgrave:7890,Ocircumflexhookabove:7892,Ocircumflexsmall:63476,Ocircumflextilde:7894,Ocyrillic:1054,Odblacute:336,Odblgrave:524,Odieresis:214,Odieresiscyrillic:1254,Odieresissmall:63478,Odotbelow:7884,Ogoneksmall:63227,Ograve:210,Ogravesmall:63474,Oharmenian:1365,Ohm:8486,Ohookabove:7886,Ohorn:416,Ohornacute:7898,Ohorndotbelow:7906,Ohorngrave:7900,Ohornhookabove:7902,Ohorntilde:7904,Ohungarumlaut:336,Oi:418,Oinvertedbreve:526,Omacron:332,Omacronacute:7762,Omacrongrave:7760,Omega:8486,Omegacyrillic:1120,Omegagreek:937,Omegaroundcyrillic:1146,Omegatitlocyrillic:1148,Omegatonos:911,Omicron:927,Omicrontonos:908,Omonospace:65327,Oneroman:8544,Oogonek:490,Oogonekmacron:492,Oopen:390,Oslash:216,Oslashacute:510,Oslashsmall:63480,Osmall:63343,Ostrokeacute:510,Otcyrillic:1150,Otilde:213,Otildeacute:7756,Otildedieresis:7758,Otildesmall:63477,P:80,Pacute:7764,Pcircle:9413,Pdotaccent:7766,Pecyrillic:1055,Peharmenian:1354,Pemiddlehookcyrillic:1190,Phi:934,Phook:420,Pi:928,Piwrarmenian:1363,Pmonospace:65328,Psi:936,Psicyrillic:1136,Psmall:63344,Q:81,Qcircle:9414,Qmonospace:65329,Qsmall:63345,R:82,Raarmenian:1356,Racute:340,Rcaron:344,Rcedilla:342,Rcircle:9415,Rcommaaccent:342,Rdblgrave:528,Rdotaccent:7768,Rdotbelow:7770,Rdotbelowmacron:7772,Reharmenian:1360,Rfraktur:8476,Rho:929,Ringsmall:63228,Rinvertedbreve:530,Rlinebelow:7774,Rmonospace:65330,Rsmall:63346,Rsmallinverted:641,Rsmallinvertedsuperior:694,S:83,SF010000:9484,SF020000:9492,SF030000:9488,SF040000:9496,SF050000:9532,SF060000:9516,SF070000:9524,SF080000:9500,SF090000:9508,SF100000:9472,SF110000:9474,SF190000:9569,SF200000:9570,SF210000:9558,SF220000:9557,SF230000:9571,SF240000:9553,SF250000:9559,SF260000:9565,SF270000:9564,SF280000:9563,SF360000:9566,SF370000:9567,SF380000:9562,SF390000:9556,SF400000:9577,SF410000:9574,SF420000:9568,SF430000:9552,SF440000:9580,SF450000:9575,SF460000:9576,SF470000:9572,SF480000:9573,SF490000:9561,SF500000:9560,SF510000:9554,SF520000:9555,SF530000:9579,SF540000:9578,Sacute:346,Sacutedotaccent:7780,Sampigreek:992,Scaron:352,Scarondotaccent:7782,Scaronsmall:63229,Scedilla:350,Schwa:399,Schwacyrillic:1240,Schwadieresiscyrillic:1242,Scircle:9416,Scircumflex:348,Scommaaccent:536,Sdotaccent:7776,Sdotbelow:7778,Sdotbelowdotaccent:7784,Seharmenian:1357,Sevenroman:8550,Shaarmenian:1351,Shacyrillic:1064,Shchacyrillic:1065,Sheicoptic:994,Shhacyrillic:1210,Shimacoptic:1004,Sigma:931,Sixroman:8549,Smonospace:65331,Softsigncyrillic:1068,Ssmall:63347,Stigmagreek:986,T:84,Tau:932,Tbar:358,Tcaron:356,Tcedilla:354,Tcircle:9417,Tcircumflexbelow:7792,Tcommaaccent:354,Tdotaccent:7786,Tdotbelow:7788,Tecyrillic:1058,Tedescendercyrillic:1196,Tenroman:8553,Tetsecyrillic:1204,Theta:920,Thook:428,Thorn:222,Thornsmall:63486,Threeroman:8546,Tildesmall:63230,Tiwnarmenian:1359,Tlinebelow:7790,Tmonospace:65332,Toarmenian:1337,Tonefive:444,Tonesix:388,Tonetwo:423,Tretroflexhook:430,Tsecyrillic:1062,Tshecyrillic:1035,Tsmall:63348,Twelveroman:8555,Tworoman:8545,U:85,Uacute:218,Uacutesmall:63482,Ubreve:364,Ucaron:467,Ucircle:9418,Ucircumflex:219,Ucircumflexbelow:7798,Ucircumflexsmall:63483,Ucyrillic:1059,Udblacute:368,Udblgrave:532,Udieresis:220,Udieresisacute:471,Udieresisbelow:7794,Udieresiscaron:473,Udieresiscyrillic:1264,Udieresisgrave:475,Udieresismacron:469,Udieresissmall:63484,Udotbelow:7908,Ugrave:217,Ugravesmall:63481,Uhookabove:7910,Uhorn:431,Uhornacute:7912,Uhorndotbelow:7920,Uhorngrave:7914,Uhornhookabove:7916,Uhorntilde:7918,Uhungarumlaut:368,Uhungarumlautcyrillic:1266,Uinvertedbreve:534,Ukcyrillic:1144,Umacron:362,Umacroncyrillic:1262,Umacrondieresis:7802,Umonospace:65333,Uogonek:370,Upsilon:933,
-Upsilon1:978,Upsilonacutehooksymbolgreek:979,Upsilonafrican:433,Upsilondieresis:939,Upsilondieresishooksymbolgreek:980,Upsilonhooksymbol:978,Upsilontonos:910,Uring:366,Ushortcyrillic:1038,Usmall:63349,Ustraightcyrillic:1198,Ustraightstrokecyrillic:1200,Utilde:360,Utildeacute:7800,Utildebelow:7796,V:86,Vcircle:9419,Vdotbelow:7806,Vecyrillic:1042,Vewarmenian:1358,Vhook:434,Vmonospace:65334,Voarmenian:1352,Vsmall:63350,Vtilde:7804,W:87,Wacute:7810,Wcircle:9420,Wcircumflex:372,Wdieresis:7812,Wdotaccent:7814,Wdotbelow:7816,Wgrave:7808,Wmonospace:65335,Wsmall:63351,X:88,Xcircle:9421,Xdieresis:7820,Xdotaccent:7818,Xeharmenian:1341,Xi:926,Xmonospace:65336,Xsmall:63352,Y:89,Yacute:221,Yacutesmall:63485,Yatcyrillic:1122,Ycircle:9422,Ycircumflex:374,Ydieresis:376,Ydieresissmall:63487,Ydotaccent:7822,Ydotbelow:7924,Yericyrillic:1067,Yerudieresiscyrillic:1272,Ygrave:7922,Yhook:435,Yhookabove:7926,Yiarmenian:1349,Yicyrillic:1031,Yiwnarmenian:1362,Ymonospace:65337,Ysmall:63353,Ytilde:7928,Yusbigcyrillic:1130,Yusbigiotifiedcyrillic:1132,Yuslittlecyrillic:1126,Yuslittleiotifiedcyrillic:1128,Z:90,Zaarmenian:1334,Zacute:377,Zcaron:381,Zcaronsmall:63231,Zcircle:9423,Zcircumflex:7824,Zdot:379,Zdotaccent:379,Zdotbelow:7826,Zecyrillic:1047,Zedescendercyrillic:1176,Zedieresiscyrillic:1246,Zeta:918,Zhearmenian:1338,Zhebrevecyrillic:1217,Zhecyrillic:1046,Zhedescendercyrillic:1174,Zhedieresiscyrillic:1244,Zlinebelow:7828,Zmonospace:65338,Zsmall:63354,Zstroke:437,a:97,aabengali:2438,aacute:225,aadeva:2310,aagujarati:2694,aagurmukhi:2566,aamatragurmukhi:2622,aarusquare:13059,aavowelsignbengali:2494,aavowelsigndeva:2366,aavowelsigngujarati:2750,abbreviationmarkarmenian:1375,abbreviationsigndeva:2416,abengali:2437,abopomofo:12570,abreve:259,abreveacute:7855,abrevecyrillic:1233,abrevedotbelow:7863,abrevegrave:7857,abrevehookabove:7859,abrevetilde:7861,acaron:462,acircle:9424,acircumflex:226,acircumflexacute:7845,acircumflexdotbelow:7853,acircumflexgrave:7847,acircumflexhookabove:7849,acircumflextilde:7851,acute:180,acutebelowcmb:791,acutecmb:769,acutecomb:769,acutedeva:2388,acutelowmod:719,acutetonecmb:833,acyrillic:1072,adblgrave:513,addakgurmukhi:2673,adeva:2309,adieresis:228,adieresiscyrillic:1235,adieresismacron:479,adotbelow:7841,adotmacron:481,ae:230,aeacute:509,aekorean:12624,aemacron:483,afii00208:8213,afii08941:8356,afii10017:1040,afii10018:1041,afii10019:1042,afii10020:1043,afii10021:1044,afii10022:1045,afii10023:1025,afii10024:1046,afii10025:1047,afii10026:1048,afii10027:1049,afii10028:1050,afii10029:1051,afii10030:1052,afii10031:1053,afii10032:1054,afii10033:1055,afii10034:1056,afii10035:1057,afii10036:1058,afii10037:1059,afii10038:1060,afii10039:1061,afii10040:1062,afii10041:1063,afii10042:1064,afii10043:1065,afii10044:1066,afii10045:1067,afii10046:1068,afii10047:1069,afii10048:1070,afii10049:1071,afii10050:1168,afii10051:1026,afii10052:1027,afii10053:1028,afii10054:1029,afii10055:1030,afii10056:1031,afii10057:1032,afii10058:1033,afii10059:1034,afii10060:1035,afii10061:1036,afii10062:1038,afii10063:63172,afii10064:63173,afii10065:1072,afii10066:1073,afii10067:1074,afii10068:1075,afii10069:1076,afii10070:1077,afii10071:1105,afii10072:1078,afii10073:1079,afii10074:1080,afii10075:1081,afii10076:1082,afii10077:1083,afii10078:1084,afii10079:1085,afii10080:1086,afii10081:1087,afii10082:1088,afii10083:1089,afii10084:1090,afii10085:1091,afii10086:1092,afii10087:1093,afii10088:1094,afii10089:1095,afii10090:1096,afii10091:1097,afii10092:1098,afii10093:1099,afii10094:1100,afii10095:1101,afii10096:1102,afii10097:1103,afii10098:1169,afii10099:1106,afii10100:1107,afii10101:1108,afii10102:1109,afii10103:1110,afii10104:1111,afii10105:1112,afii10106:1113,afii10107:1114,afii10108:1115,afii10109:1116,afii10110:1118,afii10145:1039,afii10146:1122,afii10147:1138,afii10148:1140,afii10192:63174,afii10193:1119,afii10194:1123,afii10195:1139,afii10196:1141,afii10831:63175,afii10832:63176,afii10846:1241,afii299:8206,afii300:8207,afii301:8205,afii57381:1642,afii57388:1548,afii57392:1632,afii57393:1633,afii57394:1634,afii57395:1635,afii57396:1636,afii57397:1637,afii57398:1638,afii57399:1639,afii57400:1640,afii57401:1641,afii57403:1563,afii57407:1567,afii57409:1569,afii57410:1570,afii57411:1571,afii57412:1572,afii57413:1573,afii57414:1574,afii57415:1575,afii57416:1576,afii57417:1577,afii57418:1578,afii57419:1579,afii57420:1580,afii57421:1581,afii57422:1582,afii57423:1583,afii57424:1584,afii57425:1585,afii57426:1586,afii57427:1587,afii57428:1588,afii57429:1589,afii57430:1590,afii57431:1591,afii57432:1592,afii57433:1593,afii57434:1594,afii57440:1600,afii57441:1601,afii57442:1602,afii57443:1603,afii57444:1604,afii57445:1605,afii57446:1606,afii57448:1608,afii57449:1609,afii57450:1610,afii57451:1611,afii57452:1612,afii57453:1613,afii57454:1614,afii57455:1615,afii57456:1616,afii57457:1617,afii57458:1618,afii57470:1607,afii57505:1700,afii57506:1662,afii57507:1670,afii57508:1688,afii57509:1711,afii57511:1657,afii57512:1672,afii57513:1681,afii57514:1722,afii57519:1746,afii57534:1749,afii57636:8362,afii57645:1470,afii57658:1475,afii57664:1488,afii57665:1489,afii57666:1490,afii57667:1491,afii57668:1492,afii57669:1493,afii57670:1494,afii57671:1495,afii57672:1496,afii57673:1497,afii57674:1498,afii57675:1499,afii57676:1500,afii57677:1501,afii57678:1502,afii57679:1503,afii57680:1504,afii57681:1505,afii57682:1506,afii57683:1507,afii57684:1508,afii57685:1509,afii57686:1510,afii57687:1511,afii57688:1512,afii57689:1513,afii57690:1514,afii57694:64298,afii57695:64299,afii57700:64331,afii57705:64287,afii57716:1520,afii57717:1521,afii57718:1522,afii57723:64309,afii57793:1460,afii57794:1461,afii57795:1462,afii57796:1467,afii57797:1464,afii57798:1463,afii57799:1456,afii57800:1458,afii57801:1457,afii57802:1459,afii57803:1474,afii57804:1473,afii57806:1465,afii57807:1468,afii57839:1469,afii57841:1471,afii57842:1472,afii57929:700,afii61248:8453,afii61289:8467,afii61352:8470,afii61573:8236,afii61574:8237,afii61575:8238,afii61664:8204,afii63167:1645,afii64937:701,agrave:224,agujarati:2693,agurmukhi:2565,ahiragana:12354,ahookabove:7843,aibengali:2448,aibopomofo:12574,aideva:2320,aiecyrillic:1237,aigujarati:2704,aigurmukhi:2576,aimatragurmukhi:2632,ainarabic:1593,ainfinalarabic:65226,aininitialarabic:65227,ainmedialarabic:65228,ainvertedbreve:515,aivowelsignbengali:2504,aivowelsigndeva:2376,aivowelsigngujarati:2760,akatakana:12450,akatakanahalfwidth:65393,akorean:12623,alef:1488,alefarabic:1575,alefdageshhebrew:64304,aleffinalarabic:65166,alefhamzaabovearabic:1571,alefhamzaabovefinalarabic:65156,alefhamzabelowarabic:1573,alefhamzabelowfinalarabic:65160,alefhebrew:1488,aleflamedhebrew:64335,alefmaddaabovearabic:1570,alefmaddaabovefinalarabic:65154,alefmaksuraarabic:1609,alefmaksurafinalarabic:65264,alefmaksurainitialarabic:65267,alefmaksuramedialarabic:65268,alefpatahhebrew:64302,alefqamatshebrew:64303,aleph:8501,allequal:8780,alpha:945,alphatonos:940,amacron:257,amonospace:65345,ampersand:38,ampersandmonospace:65286,ampersandsmall:63270,amsquare:13250,anbopomofo:12578,angbopomofo:12580,angbracketleft:12296,angbracketright:12297,angkhankhuthai:3674,angle:8736,anglebracketleft:12296,anglebracketleftvertical:65087,anglebracketright:12297,anglebracketrightvertical:65088,angleleft:9001,angleright:9002,angstrom:8491,anoteleia:903,anudattadeva:2386,anusvarabengali:2434,anusvaradeva:2306,anusvaragujarati:2690,aogonek:261,apaatosquare:13056,aparen:9372,apostrophearmenian:1370,apostrophemod:700,apple:63743,approaches:8784,approxequal:8776,approxequalorimage:8786,approximatelyequal:8773,araeaekorean:12686,araeakorean:12685,arc:8978,arighthalfring:7834,aring:229,aringacute:507,aringbelow:7681,arrowboth:8596,arrowdashdown:8675,arrowdashleft:8672,arrowdashright:8674,arrowdashup:8673,arrowdblboth:8660,arrowdbldown:8659,arrowdblleft:8656,arrowdblright:8658,arrowdblup:8657,arrowdown:8595,arrowdownleft:8601,arrowdownright:8600,arrowdownwhite:8681,arrowheaddownmod:709,arrowheadleftmod:706,arrowheadrightmod:707,arrowheadupmod:708,arrowhorizex:63719,arrowleft:8592,arrowleftdbl:8656,arrowleftdblstroke:8653,arrowleftoverright:8646,arrowleftwhite:8678,arrowright:8594,arrowrightdblstroke:8655,arrowrightheavy:10142,arrowrightoverleft:8644,arrowrightwhite:8680,arrowtableft:8676,arrowtabright:8677,arrowup:8593,arrowupdn:8597,arrowupdnbse:8616,arrowupdownbase:8616,arrowupleft:8598,arrowupleftofdown:8645,arrowupright:8599,arrowupwhite:8679,arrowvertex:63718,asciicircum:94,asciicircummonospace:65342,asciitilde:126,asciitildemonospace:65374,ascript:593,ascriptturned:594,asmallhiragana:12353,asmallkatakana:12449,asmallkatakanahalfwidth:65383,asterisk:42,asteriskaltonearabic:1645,asteriskarabic:1645,asteriskmath:8727,asteriskmonospace:65290,asterisksmall:65121,asterism:8258,asuperior:63209,asymptoticallyequal:8771,at:64,atilde:227,atmonospace:65312,atsmall:65131,aturned:592,aubengali:2452,aubopomofo:12576,audeva:2324,augujarati:2708,augurmukhi:2580,aulengthmarkbengali:2519,aumatragurmukhi:2636,auvowelsignbengali:2508,auvowelsigndeva:2380,auvowelsigngujarati:2764,avagrahadeva:2365,aybarmenian:1377,ayin:1506,ayinaltonehebrew:64288,ayinhebrew:1506,b:98,babengali:2476,backslash:92,backslashmonospace:65340,badeva:2348,bagujarati:2732,bagurmukhi:2604,bahiragana:12400,bahtthai:3647,bakatakana:12496,bar:124,barmonospace:65372,bbopomofo:12549,bcircle:9425,bdotaccent:7683,bdotbelow:7685,beamedsixteenthnotes:9836,because:8757,becyrillic:1073,beharabic:1576,behfinalarabic:65168,behinitialarabic:65169,behiragana:12409,behmedialarabic:65170,behmeeminitialarabic:64671,behmeemisolatedarabic:64520,behnoonfinalarabic:64621,bekatakana:12505,benarmenian:1378,bet:1489,beta:946,betasymbolgreek:976,betdagesh:64305,betdageshhebrew:64305,bethebrew:1489,betrafehebrew:64332,bhabengali:2477,bhadeva:2349,bhagujarati:2733,bhagurmukhi:2605,bhook:595,bihiragana:12403,bikatakana:12499,bilabialclick:664,bindigurmukhi:2562,birusquare:13105,blackcircle:9679,blackdiamond:9670,blackdownpointingtriangle:9660,blackleftpointingpointer:9668,blackleftpointingtriangle:9664,blacklenticularbracketleft:12304,blacklenticularbracketleftvertical:65083,blacklenticularbracketright:12305,blacklenticularbracketrightvertical:65084,blacklowerlefttriangle:9699,blacklowerrighttriangle:9698,blackrectangle:9644,blackrightpointingpointer:9658,blackrightpointingtriangle:9654,blacksmallsquare:9642,blacksmilingface:9787,blacksquare:9632,blackstar:9733,blackupperlefttriangle:9700,blackupperrighttriangle:9701,blackuppointingsmalltriangle:9652,blackuppointingtriangle:9650,blank:9251,blinebelow:7687,block:9608,bmonospace:65346,bobaimaithai:3610,bohiragana:12412,bokatakana:12508,bparen:9373,bqsquare:13251,braceex:63732,braceleft:123,braceleftbt:63731,braceleftmid:63730,braceleftmonospace:65371,braceleftsmall:65115,bracelefttp:63729,braceleftvertical:65079,braceright:125,bracerightbt:63742,bracerightmid:63741,bracerightmonospace:65373,bracerightsmall:65116,bracerighttp:63740,bracerightvertical:65080,bracketleft:91,bracketleftbt:63728,bracketleftex:63727,bracketleftmonospace:65339,bracketlefttp:63726,bracketright:93,bracketrightbt:63739,bracketrightex:63738,bracketrightmonospace:65341,bracketrighttp:63737,breve:728,brevebelowcmb:814,brevecmb:774,breveinvertedbelowcmb:815,breveinvertedcmb:785,breveinverteddoublecmb:865,bridgebelowcmb:810,bridgeinvertedbelowcmb:826,brokenbar:166,bstroke:384,bsuperior:63210,btopbar:387,buhiragana:12406,bukatakana:12502,bullet:8226,bulletinverse:9688,bulletoperator:8729,bullseye:9678,c:99,caarmenian:1390,cabengali:2458,cacute:263,cadeva:2330,cagujarati:2714,cagurmukhi:2586,calsquare:13192,candrabindubengali:2433,candrabinducmb:784,candrabindudeva:2305,candrabindugujarati:2689,capslock:8682,careof:8453,caron:711,caronbelowcmb:812,caroncmb:780,carriagereturn:8629,cbopomofo:12568,ccaron:269,ccedilla:231,ccedillaacute:7689,ccircle:9426,ccircumflex:265,ccurl:597,cdot:267,cdotaccent:267,cdsquare:13253,cedilla:184,cedillacmb:807,cent:162,centigrade:8451,centinferior:63199,centmonospace:65504,centoldstyle:63394,centsuperior:63200,chaarmenian:1401,chabengali:2459,chadeva:2331,chagujarati:2715,chagurmukhi:2587,chbopomofo:12564,cheabkhasiancyrillic:1213,checkmark:10003,checyrillic:1095,chedescenderabkhasiancyrillic:1215,chedescendercyrillic:1207,chedieresiscyrillic:1269,cheharmenian:1395,chekhakassiancyrillic:1228,cheverticalstrokecyrillic:1209,chi:967,chieuchacirclekorean:12919,chieuchaparenkorean:12823,chieuchcirclekorean:12905,chieuchkorean:12618,chieuchparenkorean:12809,chochangthai:3594,chochanthai:3592,chochingthai:3593,chochoethai:3596,chook:392,cieucacirclekorean:12918,cieucaparenkorean:12822,cieuccirclekorean:12904,cieuckorean:12616,cieucparenkorean:12808,cieucuparenkorean:12828,circle:9675,circlecopyrt:169,circlemultiply:8855,circleot:8857,circleplus:8853,circlepostalmark:12342,circlewithlefthalfblack:9680,circlewithrighthalfblack:9681,circumflex:710,circumflexbelowcmb:813,circumflexcmb:770,clear:8999,clickalveolar:450,clickdental:448,clicklateral:449,clickretroflex:451,club:9827,clubsuitblack:9827,clubsuitwhite:9831,cmcubedsquare:13220,cmonospace:65347,cmsquaredsquare:13216,coarmenian:1409,colon:58,colonmonetary:8353,colonmonospace:65306,colonsign:8353,colonsmall:65109,colontriangularhalfmod:721,colontriangularmod:720,comma:44,commaabovecmb:787,commaaboverightcmb:789,commaaccent:63171,commaarabic:1548,commaarmenian:1373,commainferior:63201,commamonospace:65292,commareversedabovecmb:788,commareversedmod:701,commasmall:65104,commasuperior:63202,commaturnedabovecmb:786,commaturnedmod:699,compass:9788,congruent:8773,contourintegral:8750,control:8963,controlACK:6,controlBEL:7,controlBS:8,controlCAN:24,controlCR:13,controlDC1:17,controlDC2:18,controlDC3:19,controlDC4:20,controlDEL:127,controlDLE:16,controlEM:25,controlENQ:5,controlEOT:4,controlESC:27,controlETB:23,controlETX:3,controlFF:12,controlFS:28,controlGS:29,controlHT:9,controlLF:10,controlNAK:21,controlRS:30,controlSI:15,controlSO:14,controlSOT:2,controlSTX:1,controlSUB:26,controlSYN:22,controlUS:31,controlVT:11,copyright:169,copyrightsans:63721,copyrightserif:63193,cornerbracketleft:12300,cornerbracketlefthalfwidth:65378,cornerbracketleftvertical:65089,cornerbracketright:12301,cornerbracketrighthalfwidth:65379,cornerbracketrightvertical:65090,corporationsquare:13183,cosquare:13255,coverkgsquare:13254,cparen:9374,cruzeiro:8354,cstretched:663,curlyand:8911,curlyor:8910,currency:164,cyrBreve:63185,cyrFlex:63186,cyrbreve:63188,cyrflex:63189,d:100,daarmenian:1380,dabengali:2470,dadarabic:1590,dadeva:2342,dadfinalarabic:65214,dadinitialarabic:65215,dadmedialarabic:65216,dagesh:1468,dageshhebrew:1468,dagger:8224,daggerdbl:8225,dagujarati:2726,dagurmukhi:2598,dahiragana:12384,dakatakana:12480,dalarabic:1583,dalet:1491,daletdagesh:64307,daletdageshhebrew:64307,dalethebrew:1491,dalfinalarabic:65194,dammaarabic:1615,dammalowarabic:1615,dammatanaltonearabic:1612,dammatanarabic:1612,danda:2404,dargahebrew:1447,dargalefthebrew:1447,dasiapneumatacyrilliccmb:1157,dblGrave:63187,dblanglebracketleft:12298,dblanglebracketleftvertical:65085,dblanglebracketright:12299,dblanglebracketrightvertical:65086,dblarchinvertedbelowcmb:811,dblarrowleft:8660,dblarrowright:8658,dbldanda:2405,dblgrave:63190,dblgravecmb:783,dblintegral:8748,dbllowline:8215,dbllowlinecmb:819,dbloverlinecmb:831,dblprimemod:698,dblverticalbar:8214,dblverticallineabovecmb:782,dbopomofo:12553,dbsquare:13256,dcaron:271,dcedilla:7697,dcircle:9427,dcircumflexbelow:7699,dcroat:273,ddabengali:2465,ddadeva:2337,ddagujarati:2721,ddagurmukhi:2593,ddalarabic:1672,ddalfinalarabic:64393,dddhadeva:2396,ddhabengali:2466,ddhadeva:2338,ddhagujarati:2722,ddhagurmukhi:2594,ddotaccent:7691,ddotbelow:7693,decimalseparatorarabic:1643,decimalseparatorpersian:1643,decyrillic:1076,degree:176,dehihebrew:1453,dehiragana:12391,deicoptic:1007,dekatakana:12487,deleteleft:9003,deleteright:8998,delta:948,deltaturned:397,denominatorminusonenumeratorbengali:2552,dezh:676,dhabengali:2471,dhadeva:2343,dhagujarati:2727,dhagurmukhi:2599,dhook:599,dialytikatonos:901,dialytikatonoscmb:836,diamond:9830,diamondsuitwhite:9826,dieresis:168,dieresisacute:63191,dieresisbelowcmb:804,dieresiscmb:776,dieresisgrave:63192,dieresistonos:901,dihiragana:12386,dikatakana:12482,dittomark:12291,divide:247,divides:8739,divisionslash:8725,djecyrillic:1106,dkshade:9619,dlinebelow:7695,dlsquare:13207,dmacron:273,dmonospace:65348,dnblock:9604,dochadathai:3598,dodekthai:3604,dohiragana:12393,dokatakana:12489,dollar:36,dollarinferior:63203,dollarmonospace:65284,dollaroldstyle:63268,dollarsmall:65129,dollarsuperior:63204,dong:8363,dorusquare:13094,dotaccent:729,dotaccentcmb:775,dotbelowcmb:803,dotbelowcomb:803,dotkatakana:12539,dotlessi:305,dotlessj:63166,dotlessjstrokehook:644,dotmath:8901,dottedcircle:9676,doubleyodpatah:64287,doubleyodpatahhebrew:64287,downtackbelowcmb:798,downtackmod:725,dparen:9375,dsuperior:63211,dtail:598,dtopbar:396,duhiragana:12389,dukatakana:12485,dz:499,dzaltone:675,dzcaron:454,dzcurl:677,dzeabkhasiancyrillic:1249,dzecyrillic:1109,dzhecyrillic:1119,e:101,eacute:233,earth:9793,ebengali:2447,ebopomofo:12572,ebreve:277,ecandradeva:2317,ecandragujarati:2701,ecandravowelsigndeva:2373,ecandravowelsigngujarati:2757,ecaron:283,ecedillabreve:7709,echarmenian:1381,echyiwnarmenian:1415,ecircle:9428,ecircumflex:234,ecircumflexacute:7871,ecircumflexbelow:7705,ecircumflexdotbelow:7879,ecircumflexgrave:7873,ecircumflexhookabove:7875,ecircumflextilde:7877,ecyrillic:1108,edblgrave:517,edeva:2319,edieresis:235,edot:279,edotaccent:279,edotbelow:7865,eegurmukhi:2575,eematragurmukhi:2631,efcyrillic:1092,egrave:232,egujarati:2703,eharmenian:1383,ehbopomofo:12573,ehiragana:12360,ehookabove:7867,eibopomofo:12575,eight:56,eightarabic:1640,eightbengali:2542,eightcircle:9319,eightcircleinversesansserif:10129,eightdeva:2414,eighteencircle:9329,eighteenparen:9349,eighteenperiod:9369,eightgujarati:2798,eightgurmukhi:2670,eighthackarabic:1640,eighthangzhou:12328,eighthnotebeamed:9835,eightideographicparen:12839,eightinferior:8328,eightmonospace:65304,eightoldstyle:63288,eightparen:9339,eightperiod:9359,eightpersian:1784,eightroman:8567,eightsuperior:8312,eightthai:3672,einvertedbreve:519,eiotifiedcyrillic:1125,ekatakana:12456,ekatakanahalfwidth:65396,ekonkargurmukhi:2676,ekorean:12628,elcyrillic:1083,element:8712,elevencircle:9322,elevenparen:9342,elevenperiod:9362,elevenroman:8570,ellipsis:8230,ellipsisvertical:8942,emacron:275,emacronacute:7703,emacrongrave:7701,emcyrillic:1084,emdash:8212,emdashvertical:65073,emonospace:65349,emphasismarkarmenian:1371,emptyset:8709,enbopomofo:12579,encyrillic:1085,endash:8211,endashvertical:65074,endescendercyrillic:1187,eng:331,engbopomofo:12581,enghecyrillic:1189,enhookcyrillic:1224,enspace:8194,eogonek:281,eokorean:12627,eopen:603,eopenclosed:666,eopenreversed:604,eopenreversedclosed:606,eopenreversedhook:605,eparen:9376,epsilon:949,epsilontonos:941,equal:61,equalmonospace:65309,equalsmall:65126,equalsuperior:8316,equivalence:8801,erbopomofo:12582,ercyrillic:1088,ereversed:600,ereversedcyrillic:1101,escyrillic:1089,esdescendercyrillic:1195,esh:643,eshcurl:646,eshortdeva:2318,eshortvowelsigndeva:2374,eshreversedloop:426,eshsquatreversed:645,esmallhiragana:12359,esmallkatakana:12455,esmallkatakanahalfwidth:65386,estimated:8494,esuperior:63212,eta:951,etarmenian:1384,etatonos:942,eth:240,etilde:7869,etildebelow:7707,etnahtafoukhhebrew:1425,etnahtafoukhlefthebrew:1425,etnahtahebrew:1425,etnahtalefthebrew:1425,eturned:477,eukorean:12641,euro:8364,evowelsignbengali:2503,evowelsigndeva:2375,evowelsigngujarati:2759,exclam:33,exclamarmenian:1372,exclamdbl:8252,exclamdown:161,exclamdownsmall:63393,exclammonospace:65281,exclamsmall:63265,existential:8707,ezh:658,ezhcaron:495,ezhcurl:659,ezhreversed:441,ezhtail:442,f:102,fadeva:2398,fagurmukhi:2654,fahrenheit:8457,fathaarabic:1614,fathalowarabic:1614,fathatanarabic:1611,fbopomofo:12552,fcircle:9429,fdotaccent:7711,feharabic:1601,feharmenian:1414,fehfinalarabic:65234,fehinitialarabic:65235,fehmedialarabic:65236,feicoptic:997,female:9792,ff:64256,ffi:64259,ffl:64260,fi:64257,fifteencircle:9326,fifteenparen:9346,fifteenperiod:9366,figuredash:8210,filledbox:9632,filledrect:9644,finalkaf:1498,finalkafdagesh:64314,finalkafdageshhebrew:64314,finalkafhebrew:1498,finalmem:1501,finalmemhebrew:1501,finalnun:1503,finalnunhebrew:1503,finalpe:1507,finalpehebrew:1507,finaltsadi:1509,finaltsadihebrew:1509,firsttonechinese:713,fisheye:9673,fitacyrillic:1139,five:53,fivearabic:1637,fivebengali:2539,fivecircle:9316,fivecircleinversesansserif:10126,fivedeva:2411,fiveeighths:8541,fivegujarati:2795,fivegurmukhi:2667,fivehackarabic:1637,fivehangzhou:12325,fiveideographicparen:12836,fiveinferior:8325,fivemonospace:65301,fiveoldstyle:63285,fiveparen:9336,fiveperiod:9356,fivepersian:1781,fiveroman:8564,fivesuperior:8309,fivethai:3669,fl:64258,florin:402,fmonospace:65350,fmsquare:13209,fofanthai:3615,fofathai:3613,fongmanthai:3663,forall:8704,four:52,fourarabic:1636,fourbengali:2538,fourcircle:9315,fourcircleinversesansserif:10125,fourdeva:2410,fourgujarati:2794,fourgurmukhi:2666,fourhackarabic:1636,fourhangzhou:12324,fourideographicparen:12835,fourinferior:8324,fourmonospace:65300,fournumeratorbengali:2551,fouroldstyle:63284,fourparen:9335,fourperiod:9355,fourpersian:1780,fourroman:8563,foursuperior:8308,fourteencircle:9325,fourteenparen:9345,fourteenperiod:9365,fourthai:3668,fourthtonechinese:715,fparen:9377,fraction:8260,franc:8355,g:103,gabengali:2455,gacute:501,gadeva:2327,gafarabic:1711,gaffinalarabic:64403,gafinitialarabic:64404,gafmedialarabic:64405,gagujarati:2711,gagurmukhi:2583,gahiragana:12364,gakatakana:12460,gamma:947,gammalatinsmall:611,gammasuperior:736,gangiacoptic:1003,gbopomofo:12557,gbreve:287,gcaron:487,gcedilla:291,gcircle:9430,gcircumflex:285,gcommaaccent:291,gdot:289,gdotaccent:289,gecyrillic:1075,gehiragana:12370,gekatakana:12466,geometricallyequal:8785,gereshaccenthebrew:1436,gereshhebrew:1523,gereshmuqdamhebrew:1437,germandbls:223,gershayimaccenthebrew:1438,gershayimhebrew:1524,getamark:12307,ghabengali:2456,ghadarmenian:1394,ghadeva:2328,ghagujarati:2712,ghagurmukhi:2584,ghainarabic:1594,ghainfinalarabic:65230,ghaininitialarabic:65231,ghainmedialarabic:65232,ghemiddlehookcyrillic:1173,ghestrokecyrillic:1171,gheupturncyrillic:1169,ghhadeva:2394,ghhagurmukhi:2650,ghook:608,ghzsquare:13203,gihiragana:12366,gikatakana:12462,gimarmenian:1379,gimel:1490,gimeldagesh:64306,gimeldageshhebrew:64306,gimelhebrew:1490,gjecyrillic:1107,glottalinvertedstroke:446,glottalstop:660,glottalstopinverted:662,glottalstopmod:704,glottalstopreversed:661,glottalstopreversedmod:705,glottalstopreversedsuperior:740,glottalstopstroke:673,glottalstopstrokereversed:674,gmacron:7713,gmonospace:65351,gohiragana:12372,gokatakana:12468,gparen:9378,gpasquare:13228,gradient:8711,grave:96,gravebelowcmb:790,gravecmb:768,gravecomb:768,gravedeva:2387,gravelowmod:718,gravemonospace:65344,gravetonecmb:832,greater:62,greaterequal:8805,greaterequalorless:8923,greatermonospace:65310,greaterorequivalent:8819,greaterorless:8823,greateroverequal:8807,greatersmall:65125,gscript:609,gstroke:485,guhiragana:12368,guillemotleft:171,guillemotright:187,guilsinglleft:8249,guilsinglright:8250,gukatakana:12464,guramusquare:13080,gysquare:13257,h:104,haabkhasiancyrillic:1193,haaltonearabic:1729,habengali:2489,hadescendercyrillic:1203,hadeva:2361,hagujarati:2745,hagurmukhi:2617,haharabic:1581,hahfinalarabic:65186,hahinitialarabic:65187,hahiragana:12399,hahmedialarabic:65188,haitusquare:13098,hakatakana:12495,hakatakanahalfwidth:65418,halantgurmukhi:2637,hamzaarabic:1569,hamzalowarabic:1569,hangulfiller:12644,hardsigncyrillic:1098,harpoonleftbarbup:8636,harpoonrightbarbup:8640,hasquare:13258,hatafpatah:1458,hatafpatah16:1458,hatafpatah23:1458,hatafpatah2f:1458,hatafpatahhebrew:1458,hatafpatahnarrowhebrew:1458,hatafpatahquarterhebrew:1458,hatafpatahwidehebrew:1458,hatafqamats:1459,hatafqamats1b:1459,hatafqamats28:1459,hatafqamats34:1459,hatafqamatshebrew:1459,hatafqamatsnarrowhebrew:1459,hatafqamatsquarterhebrew:1459,hatafqamatswidehebrew:1459,hatafsegol:1457,hatafsegol17:1457,hatafsegol24:1457,hatafsegol30:1457,hatafsegolhebrew:1457,hatafsegolnarrowhebrew:1457,hatafsegolquarterhebrew:1457,hatafsegolwidehebrew:1457,hbar:295,hbopomofo:12559,hbrevebelow:7723,hcedilla:7721,hcircle:9431,hcircumflex:293,hdieresis:7719,hdotaccent:7715,hdotbelow:7717,he:1492,heart:9829,heartsuitblack:9829,heartsuitwhite:9825,hedagesh:64308,hedageshhebrew:64308,hehaltonearabic:1729,heharabic:1607,hehebrew:1492,hehfinalaltonearabic:64423,hehfinalalttwoarabic:65258,hehfinalarabic:65258,hehhamzaabovefinalarabic:64421,hehhamzaaboveisolatedarabic:64420,hehinitialaltonearabic:64424,hehinitialarabic:65259,hehiragana:12408,hehmedialaltonearabic:64425,hehmedialarabic:65260,heiseierasquare:13179,hekatakana:12504,hekatakanahalfwidth:65421,hekutaarusquare:13110,henghook:615,herutusquare:13113,het:1495,hethebrew:1495,hhook:614,hhooksuperior:689,hieuhacirclekorean:12923,hieuhaparenkorean:12827,hieuhcirclekorean:12909,hieuhkorean:12622,hieuhparenkorean:12813,hihiragana:12402,hikatakana:12498,hikatakanahalfwidth:65419,hiriq:1460,hiriq14:1460,hiriq21:1460,hiriq2d:1460,hiriqhebrew:1460,hiriqnarrowhebrew:1460,hiriqquarterhebrew:1460,hiriqwidehebrew:1460,hlinebelow:7830,hmonospace:65352,hoarmenian:1392,hohipthai:3627,hohiragana:12411,hokatakana:12507,hokatakanahalfwidth:65422,holam:1465,holam19:1465,holam26:1465,holam32:1465,holamhebrew:1465,holamnarrowhebrew:1465,holamquarterhebrew:1465,holamwidehebrew:1465,honokhukthai:3630,hookabovecomb:777,hookcmb:777,hookpalatalizedbelowcmb:801,hookretroflexbelowcmb:802,hoonsquare:13122,horicoptic:1001,horizontalbar:8213,horncmb:795,hotsprings:9832,house:8962,hparen:9379,hsuperior:688,hturned:613,huhiragana:12405,huiitosquare:13107,hukatakana:12501,hukatakanahalfwidth:65420,hungarumlaut:733,hungarumlautcmb:779,hv:405,hyphen:45,hypheninferior:63205,hyphenmonospace:65293,hyphensmall:65123,hyphensuperior:63206,hyphentwo:8208,i:105,iacute:237,iacyrillic:1103,ibengali:2439,ibopomofo:12583,ibreve:301,icaron:464,icircle:9432,icircumflex:238,icyrillic:1110,idblgrave:521,ideographearthcircle:12943,ideographfirecircle:12939,ideographicallianceparen:12863,ideographiccallparen:12858,ideographiccentrecircle:12965,ideographicclose:12294,ideographiccomma:12289,ideographiccommaleft:65380,ideographiccongratulationparen:12855,ideographiccorrectcircle:12963,ideographicearthparen:12847,ideographicenterpriseparen:12861,ideographicexcellentcircle:12957,ideographicfestivalparen:12864,ideographicfinancialcircle:12950,ideographicfinancialparen:12854,ideographicfireparen:12843,ideographichaveparen:12850,ideographichighcircle:12964,ideographiciterationmark:12293,ideographiclaborcircle:12952,ideographiclaborparen:12856,ideographicleftcircle:12967,ideographiclowcircle:12966,ideographicmedicinecircle:12969,ideographicmetalparen:12846,ideographicmoonparen:12842,ideographicnameparen:12852,ideographicperiod:12290,ideographicprintcircle:12958,ideographicreachparen:12867,ideographicrepresentparen:12857,ideographicresourceparen:12862,ideographicrightcircle:12968,ideographicsecretcircle:12953,ideographicselfparen:12866,ideographicsocietyparen:12851,ideographicspace:12288,ideographicspecialparen:12853,ideographicstockparen:12849,ideographicstudyparen:12859,ideographicsunparen:12848,ideographicsuperviseparen:12860,ideographicwaterparen:12844,ideographicwoodparen:12845,ideographiczero:12295,ideographmetalcircle:12942,ideographmooncircle:12938,ideographnamecircle:12948,ideographsuncircle:12944,ideographwatercircle:12940,ideographwoodcircle:12941,ideva:2311,idieresis:239,idieresisacute:7727,idieresiscyrillic:1253,idotbelow:7883,iebrevecyrillic:1239,iecyrillic:1077,ieungacirclekorean:12917,ieungaparenkorean:12821,ieungcirclekorean:12903,ieungkorean:12615,ieungparenkorean:12807,igrave:236,igujarati:2695,igurmukhi:2567,ihiragana:12356,ihookabove:7881,iibengali:2440,iicyrillic:1080,iideva:2312,iigujarati:2696,iigurmukhi:2568,iimatragurmukhi:2624,iinvertedbreve:523,iishortcyrillic:1081,iivowelsignbengali:2496,iivowelsigndeva:2368,iivowelsigngujarati:2752,ij:307,ikatakana:12452,ikatakanahalfwidth:65394,ikorean:12643,ilde:732,iluyhebrew:1452,imacron:299,imacroncyrillic:1251,imageorapproximatelyequal:8787,imatragurmukhi:2623,imonospace:65353,increment:8710,infinity:8734,iniarmenian:1387,integral:8747,integralbottom:8993,integralbt:8993,integralex:63733,integraltop:8992,integraltp:8992,intersection:8745,intisquare:13061,invbullet:9688,invcircle:9689,invsmileface:9787,iocyrillic:1105,iogonek:303,iota:953,iotadieresis:970,iotadieresistonos:912,iotalatin:617,iotatonos:943,iparen:9380,irigurmukhi:2674,ismallhiragana:12355,ismallkatakana:12451,ismallkatakanahalfwidth:65384,issharbengali:2554,istroke:616,isuperior:63213,iterationhiragana:12445,iterationkatakana:12541,itilde:297,itildebelow:7725,iubopomofo:12585,iucyrillic:1102,ivowelsignbengali:2495,ivowelsigndeva:2367,ivowelsigngujarati:2751,izhitsacyrillic:1141,izhitsadblgravecyrillic:1143,j:106,jaarmenian:1393,jabengali:2460,jadeva:2332,jagujarati:2716,jagurmukhi:2588,jbopomofo:12560,jcaron:496,jcircle:9433,jcircumflex:309,jcrossedtail:669,jdotlessstroke:607,jecyrillic:1112,jeemarabic:1580,jeemfinalarabic:65182,jeeminitialarabic:65183,jeemmedialarabic:65184,jeharabic:1688,jehfinalarabic:64395,jhabengali:2461,jhadeva:2333,jhagujarati:2717,jhagurmukhi:2589,jheharmenian:1403,jis:12292,jmonospace:65354,jparen:9381,jsuperior:690,k:107,kabashkircyrillic:1185,kabengali:2453,kacute:7729,kacyrillic:1082,kadescendercyrillic:1179,kadeva:2325,kaf:1499,kafarabic:1603,kafdagesh:64315,kafdageshhebrew:64315,kaffinalarabic:65242,kafhebrew:1499,kafinitialarabic:65243,kafmedialarabic:65244,kafrafehebrew:64333,kagujarati:2709,kagurmukhi:2581,kahiragana:12363,kahookcyrillic:1220,kakatakana:12459,kakatakanahalfwidth:65398,kappa:954,kappasymbolgreek:1008,kapyeounmieumkorean:12657,kapyeounphieuphkorean:12676,kapyeounpieupkorean:12664,kapyeounssangpieupkorean:12665,karoriisquare:13069,kashidaautoarabic:1600,kashidaautonosidebearingarabic:1600,kasmallkatakana:12533,kasquare:13188,kasraarabic:1616,kasratanarabic:1613,kastrokecyrillic:1183,katahiraprolongmarkhalfwidth:65392,kaverticalstrokecyrillic:1181,kbopomofo:12558,kcalsquare:13193,kcaron:489,kcedilla:311,kcircle:9434,kcommaaccent:311,kdotbelow:7731,keharmenian:1412,kehiragana:12369,kekatakana:12465,kekatakanahalfwidth:65401,kenarmenian:1391,kesmallkatakana:12534,kgreenlandic:312,khabengali:2454,khacyrillic:1093,khadeva:2326,khagujarati:2710,khagurmukhi:2582,khaharabic:1582,khahfinalarabic:65190,khahinitialarabic:65191,khahmedialarabic:65192,kheicoptic:999,khhadeva:2393,khhagurmukhi:2649,khieukhacirclekorean:12920,khieukhaparenkorean:12824,khieukhcirclekorean:12906,khieukhkorean:12619,khieukhparenkorean:12810,khokhaithai:3586,khokhonthai:3589,khokhuatthai:3587,khokhwaithai:3588,khomutthai:3675,khook:409,khorakhangthai:3590,khzsquare:13201,kihiragana:12365,kikatakana:12461,kikatakanahalfwidth:65399,kiroguramusquare:13077,kiromeetorusquare:13078,kirosquare:13076,kiyeokacirclekorean:12910,kiyeokaparenkorean:12814,kiyeokcirclekorean:12896,kiyeokkorean:12593,kiyeokparenkorean:12800,kiyeoksioskorean:12595,kjecyrillic:1116,klinebelow:7733,klsquare:13208,kmcubedsquare:13222,kmonospace:65355,kmsquaredsquare:13218,kohiragana:12371,kohmsquare:13248,kokaithai:3585,kokatakana:12467,kokatakanahalfwidth:65402,kooposquare:13086,koppacyrillic:1153,koreanstandardsymbol:12927,koroniscmb:835,kparen:9382,kpasquare:13226,ksicyrillic:1135,ktsquare:13263,kturned:670,kuhiragana:12367,kukatakana:12463,kukatakanahalfwidth:65400,kvsquare:13240,kwsquare:13246,l:108,labengali:2482,lacute:314,ladeva:2354,lagujarati:2738,lagurmukhi:2610,lakkhangyaothai:3653,lamaleffinalarabic:65276,lamalefhamzaabovefinalarabic:65272,lamalefhamzaaboveisolatedarabic:65271,lamalefhamzabelowfinalarabic:65274,lamalefhamzabelowisolatedarabic:65273,lamalefisolatedarabic:65275,lamalefmaddaabovefinalarabic:65270,lamalefmaddaaboveisolatedarabic:65269,lamarabic:1604,lambda:955,lambdastroke:411,lamed:1500,lameddagesh:64316,lameddageshhebrew:64316,
-lamedhebrew:1500,lamfinalarabic:65246,lamhahinitialarabic:64714,laminitialarabic:65247,lamjeeminitialarabic:64713,lamkhahinitialarabic:64715,lamlamhehisolatedarabic:65010,lammedialarabic:65248,lammeemhahinitialarabic:64904,lammeeminitialarabic:64716,largecircle:9711,lbar:410,lbelt:620,lbopomofo:12556,lcaron:318,lcedilla:316,lcircle:9435,lcircumflexbelow:7741,lcommaaccent:316,ldot:320,ldotaccent:320,ldotbelow:7735,ldotbelowmacron:7737,leftangleabovecmb:794,lefttackbelowcmb:792,less:60,lessequal:8804,lessequalorgreater:8922,lessmonospace:65308,lessorequivalent:8818,lessorgreater:8822,lessoverequal:8806,lesssmall:65124,lezh:622,lfblock:9612,lhookretroflex:621,lira:8356,liwnarmenian:1388,lj:457,ljecyrillic:1113,ll:63168,lladeva:2355,llagujarati:2739,llinebelow:7739,llladeva:2356,llvocalicbengali:2529,llvocalicdeva:2401,llvocalicvowelsignbengali:2531,llvocalicvowelsigndeva:2403,lmiddletilde:619,lmonospace:65356,lmsquare:13264,lochulathai:3628,logicaland:8743,logicalnot:172,logicalnotreversed:8976,logicalor:8744,lolingthai:3621,longs:383,lowlinecenterline:65102,lowlinecmb:818,lowlinedashed:65101,lozenge:9674,lparen:9383,lslash:322,lsquare:8467,lsuperior:63214,ltshade:9617,luthai:3622,lvocalicbengali:2444,lvocalicdeva:2316,lvocalicvowelsignbengali:2530,lvocalicvowelsigndeva:2402,lxsquare:13267,m:109,mabengali:2478,macron:175,macronbelowcmb:817,macroncmb:772,macronlowmod:717,macronmonospace:65507,macute:7743,madeva:2350,magujarati:2734,magurmukhi:2606,mahapakhhebrew:1444,mahapakhlefthebrew:1444,mahiragana:12414,maichattawalowleftthai:63637,maichattawalowrightthai:63636,maichattawathai:3659,maichattawaupperleftthai:63635,maieklowleftthai:63628,maieklowrightthai:63627,maiekthai:3656,maiekupperleftthai:63626,maihanakatleftthai:63620,maihanakatthai:3633,maitaikhuleftthai:63625,maitaikhuthai:3655,maitholowleftthai:63631,maitholowrightthai:63630,maithothai:3657,maithoupperleftthai:63629,maitrilowleftthai:63634,maitrilowrightthai:63633,maitrithai:3658,maitriupperleftthai:63632,maiyamokthai:3654,makatakana:12510,makatakanahalfwidth:65423,male:9794,mansyonsquare:13127,maqafhebrew:1470,mars:9794,masoracirclehebrew:1455,masquare:13187,mbopomofo:12551,mbsquare:13268,mcircle:9436,mcubedsquare:13221,mdotaccent:7745,mdotbelow:7747,meemarabic:1605,meemfinalarabic:65250,meeminitialarabic:65251,meemmedialarabic:65252,meemmeeminitialarabic:64721,meemmeemisolatedarabic:64584,meetorusquare:13133,mehiragana:12417,meizierasquare:13182,mekatakana:12513,mekatakanahalfwidth:65426,mem:1502,memdagesh:64318,memdageshhebrew:64318,memhebrew:1502,menarmenian:1396,merkhahebrew:1445,merkhakefulahebrew:1446,merkhakefulalefthebrew:1446,merkhalefthebrew:1445,mhook:625,mhzsquare:13202,middledotkatakanahalfwidth:65381,middot:183,mieumacirclekorean:12914,mieumaparenkorean:12818,mieumcirclekorean:12900,mieumkorean:12609,mieumpansioskorean:12656,mieumparenkorean:12804,mieumpieupkorean:12654,mieumsioskorean:12655,mihiragana:12415,mikatakana:12511,mikatakanahalfwidth:65424,minus:8722,minusbelowcmb:800,minuscircle:8854,minusmod:727,minusplus:8723,minute:8242,miribaarusquare:13130,mirisquare:13129,mlonglegturned:624,mlsquare:13206,mmcubedsquare:13219,mmonospace:65357,mmsquaredsquare:13215,mohiragana:12418,mohmsquare:13249,mokatakana:12514,mokatakanahalfwidth:65427,molsquare:13270,momathai:3617,moverssquare:13223,moverssquaredsquare:13224,mparen:9384,mpasquare:13227,mssquare:13235,msuperior:63215,mturned:623,mu:181,mu1:181,muasquare:13186,muchgreater:8811,muchless:8810,mufsquare:13196,mugreek:956,mugsquare:13197,muhiragana:12416,mukatakana:12512,mukatakanahalfwidth:65425,mulsquare:13205,multiply:215,mumsquare:13211,munahhebrew:1443,munahlefthebrew:1443,musicalnote:9834,musicalnotedbl:9835,musicflatsign:9837,musicsharpsign:9839,mussquare:13234,muvsquare:13238,muwsquare:13244,mvmegasquare:13241,mvsquare:13239,mwmegasquare:13247,mwsquare:13245,n:110,nabengali:2472,nabla:8711,nacute:324,nadeva:2344,nagujarati:2728,nagurmukhi:2600,nahiragana:12394,nakatakana:12490,nakatakanahalfwidth:65413,napostrophe:329,nasquare:13185,nbopomofo:12555,nbspace:160,ncaron:328,ncedilla:326,ncircle:9437,ncircumflexbelow:7755,ncommaaccent:326,ndotaccent:7749,ndotbelow:7751,nehiragana:12397,nekatakana:12493,nekatakanahalfwidth:65416,newsheqelsign:8362,nfsquare:13195,ngabengali:2457,ngadeva:2329,ngagujarati:2713,ngagurmukhi:2585,ngonguthai:3591,nhiragana:12435,nhookleft:626,nhookretroflex:627,nieunacirclekorean:12911,nieunaparenkorean:12815,nieuncieuckorean:12597,nieuncirclekorean:12897,nieunhieuhkorean:12598,nieunkorean:12596,nieunpansioskorean:12648,nieunparenkorean:12801,nieunsioskorean:12647,nieuntikeutkorean:12646,nihiragana:12395,nikatakana:12491,nikatakanahalfwidth:65414,nikhahitleftthai:63641,nikhahitthai:3661,nine:57,ninearabic:1641,ninebengali:2543,ninecircle:9320,ninecircleinversesansserif:10130,ninedeva:2415,ninegujarati:2799,ninegurmukhi:2671,ninehackarabic:1641,ninehangzhou:12329,nineideographicparen:12840,nineinferior:8329,ninemonospace:65305,nineoldstyle:63289,nineparen:9340,nineperiod:9360,ninepersian:1785,nineroman:8568,ninesuperior:8313,nineteencircle:9330,nineteenparen:9350,nineteenperiod:9370,ninethai:3673,nj:460,njecyrillic:1114,nkatakana:12531,nkatakanahalfwidth:65437,nlegrightlong:414,nlinebelow:7753,nmonospace:65358,nmsquare:13210,nnabengali:2467,nnadeva:2339,nnagujarati:2723,nnagurmukhi:2595,nnnadeva:2345,nohiragana:12398,nokatakana:12494,nokatakanahalfwidth:65417,nonbreakingspace:160,nonenthai:3603,nonuthai:3609,noonarabic:1606,noonfinalarabic:65254,noonghunnaarabic:1722,noonghunnafinalarabic:64415,nooninitialarabic:65255,noonjeeminitialarabic:64722,noonjeemisolatedarabic:64587,noonmedialarabic:65256,noonmeeminitialarabic:64725,noonmeemisolatedarabic:64590,noonnoonfinalarabic:64653,notcontains:8716,notelement:8713,notelementof:8713,notequal:8800,notgreater:8815,notgreaternorequal:8817,notgreaternorless:8825,notidentical:8802,notless:8814,notlessnorequal:8816,notparallel:8742,notprecedes:8832,notsubset:8836,notsucceeds:8833,notsuperset:8837,nowarmenian:1398,nparen:9385,nssquare:13233,nsuperior:8319,ntilde:241,nu:957,nuhiragana:12396,nukatakana:12492,nukatakanahalfwidth:65415,nuktabengali:2492,nuktadeva:2364,nuktagujarati:2748,nuktagurmukhi:2620,numbersign:35,numbersignmonospace:65283,numbersignsmall:65119,numeralsigngreek:884,numeralsignlowergreek:885,numero:8470,nun:1504,nundagesh:64320,nundageshhebrew:64320,nunhebrew:1504,nvsquare:13237,nwsquare:13243,nyabengali:2462,nyadeva:2334,nyagujarati:2718,nyagurmukhi:2590,o:111,oacute:243,oangthai:3629,obarred:629,obarredcyrillic:1257,obarreddieresiscyrillic:1259,obengali:2451,obopomofo:12571,obreve:335,ocandradeva:2321,ocandragujarati:2705,ocandravowelsigndeva:2377,ocandravowelsigngujarati:2761,ocaron:466,ocircle:9438,ocircumflex:244,ocircumflexacute:7889,ocircumflexdotbelow:7897,ocircumflexgrave:7891,ocircumflexhookabove:7893,ocircumflextilde:7895,ocyrillic:1086,odblacute:337,odblgrave:525,odeva:2323,odieresis:246,odieresiscyrillic:1255,odotbelow:7885,oe:339,oekorean:12634,ogonek:731,ogonekcmb:808,ograve:242,ogujarati:2707,oharmenian:1413,ohiragana:12362,ohookabove:7887,ohorn:417,ohornacute:7899,ohorndotbelow:7907,ohorngrave:7901,ohornhookabove:7903,ohorntilde:7905,ohungarumlaut:337,oi:419,oinvertedbreve:527,okatakana:12458,okatakanahalfwidth:65397,okorean:12631,olehebrew:1451,omacron:333,omacronacute:7763,omacrongrave:7761,omdeva:2384,omega:969,omega1:982,omegacyrillic:1121,omegalatinclosed:631,omegaroundcyrillic:1147,omegatitlocyrillic:1149,omegatonos:974,omgujarati:2768,omicron:959,omicrontonos:972,omonospace:65359,one:49,onearabic:1633,onebengali:2535,onecircle:9312,onecircleinversesansserif:10122,onedeva:2407,onedotenleader:8228,oneeighth:8539,onefitted:63196,onegujarati:2791,onegurmukhi:2663,onehackarabic:1633,onehalf:189,onehangzhou:12321,oneideographicparen:12832,oneinferior:8321,onemonospace:65297,onenumeratorbengali:2548,oneoldstyle:63281,oneparen:9332,oneperiod:9352,onepersian:1777,onequarter:188,oneroman:8560,onesuperior:185,onethai:3665,onethird:8531,oogonek:491,oogonekmacron:493,oogurmukhi:2579,oomatragurmukhi:2635,oopen:596,oparen:9386,openbullet:9702,option:8997,ordfeminine:170,ordmasculine:186,orthogonal:8735,oshortdeva:2322,oshortvowelsigndeva:2378,oslash:248,oslashacute:511,osmallhiragana:12361,osmallkatakana:12457,osmallkatakanahalfwidth:65387,ostrokeacute:511,osuperior:63216,otcyrillic:1151,otilde:245,otildeacute:7757,otildedieresis:7759,oubopomofo:12577,overline:8254,overlinecenterline:65098,overlinecmb:773,overlinedashed:65097,overlinedblwavy:65100,overlinewavy:65099,overscore:175,ovowelsignbengali:2507,ovowelsigndeva:2379,ovowelsigngujarati:2763,p:112,paampssquare:13184,paasentosquare:13099,pabengali:2474,pacute:7765,padeva:2346,pagedown:8671,pageup:8670,pagujarati:2730,pagurmukhi:2602,pahiragana:12401,paiyannoithai:3631,pakatakana:12497,palatalizationcyrilliccmb:1156,palochkacyrillic:1216,pansioskorean:12671,paragraph:182,parallel:8741,parenleft:40,parenleftaltonearabic:64830,parenleftbt:63725,parenleftex:63724,parenleftinferior:8333,parenleftmonospace:65288,parenleftsmall:65113,parenleftsuperior:8317,parenlefttp:63723,parenleftvertical:65077,parenright:41,parenrightaltonearabic:64831,parenrightbt:63736,parenrightex:63735,parenrightinferior:8334,parenrightmonospace:65289,parenrightsmall:65114,parenrightsuperior:8318,parenrighttp:63734,parenrightvertical:65078,partialdiff:8706,paseqhebrew:1472,pashtahebrew:1433,pasquare:13225,patah:1463,patah11:1463,patah1d:1463,patah2a:1463,patahhebrew:1463,patahnarrowhebrew:1463,patahquarterhebrew:1463,patahwidehebrew:1463,pazerhebrew:1441,pbopomofo:12550,pcircle:9439,pdotaccent:7767,pe:1508,pecyrillic:1087,pedagesh:64324,pedageshhebrew:64324,peezisquare:13115,pefinaldageshhebrew:64323,peharabic:1662,peharmenian:1402,pehebrew:1508,pehfinalarabic:64343,pehinitialarabic:64344,pehiragana:12410,pehmedialarabic:64345,pekatakana:12506,pemiddlehookcyrillic:1191,perafehebrew:64334,percent:37,percentarabic:1642,percentmonospace:65285,percentsmall:65130,period:46,periodarmenian:1417,periodcentered:183,periodhalfwidth:65377,periodinferior:63207,periodmonospace:65294,periodsmall:65106,periodsuperior:63208,perispomenigreekcmb:834,perpendicular:8869,perthousand:8240,peseta:8359,pfsquare:13194,phabengali:2475,phadeva:2347,phagujarati:2731,phagurmukhi:2603,phi:966,phi1:981,phieuphacirclekorean:12922,phieuphaparenkorean:12826,phieuphcirclekorean:12908,phieuphkorean:12621,phieuphparenkorean:12812,philatin:632,phinthuthai:3642,phisymbolgreek:981,phook:421,phophanthai:3614,phophungthai:3612,phosamphaothai:3616,pi:960,pieupacirclekorean:12915,pieupaparenkorean:12819,pieupcieuckorean:12662,pieupcirclekorean:12901,pieupkiyeokkorean:12658,pieupkorean:12610,pieupparenkorean:12805,pieupsioskiyeokkorean:12660,pieupsioskorean:12612,pieupsiostikeutkorean:12661,pieupthieuthkorean:12663,pieuptikeutkorean:12659,pihiragana:12404,pikatakana:12500,pisymbolgreek:982,piwrarmenian:1411,plus:43,plusbelowcmb:799,pluscircle:8853,plusminus:177,plusmod:726,plusmonospace:65291,plussmall:65122,plussuperior:8314,pmonospace:65360,pmsquare:13272,pohiragana:12413,pointingindexdownwhite:9759,pointingindexleftwhite:9756,pointingindexrightwhite:9758,pointingindexupwhite:9757,pokatakana:12509,poplathai:3611,postalmark:12306,postalmarkface:12320,pparen:9387,precedes:8826,prescription:8478,primemod:697,primereversed:8245,product:8719,projective:8965,prolongedkana:12540,propellor:8984,propersubset:8834,propersuperset:8835,proportion:8759,proportional:8733,psi:968,psicyrillic:1137,psilipneumatacyrilliccmb:1158,pssquare:13232,puhiragana:12407,pukatakana:12503,pvsquare:13236,pwsquare:13242,q:113,qadeva:2392,qadmahebrew:1448,qafarabic:1602,qaffinalarabic:65238,qafinitialarabic:65239,qafmedialarabic:65240,qamats:1464,qamats10:1464,qamats1a:1464,qamats1c:1464,qamats27:1464,qamats29:1464,qamats33:1464,qamatsde:1464,qamatshebrew:1464,qamatsnarrowhebrew:1464,qamatsqatanhebrew:1464,qamatsqatannarrowhebrew:1464,qamatsqatanquarterhebrew:1464,qamatsqatanwidehebrew:1464,qamatsquarterhebrew:1464,qamatswidehebrew:1464,qarneyparahebrew:1439,qbopomofo:12561,qcircle:9440,qhook:672,qmonospace:65361,qof:1511,qofdagesh:64327,qofdageshhebrew:64327,qofhebrew:1511,qparen:9388,quarternote:9833,qubuts:1467,qubuts18:1467,qubuts25:1467,qubuts31:1467,qubutshebrew:1467,qubutsnarrowhebrew:1467,qubutsquarterhebrew:1467,qubutswidehebrew:1467,question:63,questionarabic:1567,questionarmenian:1374,questiondown:191,questiondownsmall:63423,questiongreek:894,questionmonospace:65311,questionsmall:63295,quotedbl:34,quotedblbase:8222,quotedblleft:8220,quotedblmonospace:65282,quotedblprime:12318,quotedblprimereversed:12317,quotedblright:8221,quoteleft:8216,quoteleftreversed:8219,quotereversed:8219,quoteright:8217,quoterightn:329,quotesinglbase:8218,quotesingle:39,quotesinglemonospace:65287,r:114,raarmenian:1404,rabengali:2480,racute:341,radeva:2352,radical:8730,radicalex:63717,radoverssquare:13230,radoverssquaredsquare:13231,radsquare:13229,rafe:1471,rafehebrew:1471,ragujarati:2736,ragurmukhi:2608,rahiragana:12425,rakatakana:12521,rakatakanahalfwidth:65431,ralowerdiagonalbengali:2545,ramiddlediagonalbengali:2544,ramshorn:612,ratio:8758,rbopomofo:12566,rcaron:345,rcedilla:343,rcircle:9441,rcommaaccent:343,rdblgrave:529,rdotaccent:7769,rdotbelow:7771,rdotbelowmacron:7773,referencemark:8251,reflexsubset:8838,reflexsuperset:8839,registered:174,registersans:63720,registerserif:63194,reharabic:1585,reharmenian:1408,rehfinalarabic:65198,rehiragana:12428,rekatakana:12524,rekatakanahalfwidth:65434,resh:1512,reshdageshhebrew:64328,reshhebrew:1512,reversedtilde:8765,reviahebrew:1431,reviamugrashhebrew:1431,revlogicalnot:8976,rfishhook:638,rfishhookreversed:639,rhabengali:2525,rhadeva:2397,rho:961,rhook:637,rhookturned:635,rhookturnedsuperior:693,rhosymbolgreek:1009,rhotichookmod:734,rieulacirclekorean:12913,rieulaparenkorean:12817,rieulcirclekorean:12899,rieulhieuhkorean:12608,rieulkiyeokkorean:12602,rieulkiyeoksioskorean:12649,rieulkorean:12601,rieulmieumkorean:12603,rieulpansioskorean:12652,rieulparenkorean:12803,rieulphieuphkorean:12607,rieulpieupkorean:12604,rieulpieupsioskorean:12651,rieulsioskorean:12605,rieulthieuthkorean:12606,rieultikeutkorean:12650,rieulyeorinhieuhkorean:12653,rightangle:8735,righttackbelowcmb:793,righttriangle:8895,rihiragana:12426,rikatakana:12522,rikatakanahalfwidth:65432,ring:730,ringbelowcmb:805,ringcmb:778,ringhalfleft:703,ringhalfleftarmenian:1369,ringhalfleftbelowcmb:796,ringhalfleftcentered:723,ringhalfright:702,ringhalfrightbelowcmb:825,ringhalfrightcentered:722,rinvertedbreve:531,rittorusquare:13137,rlinebelow:7775,rlongleg:636,rlonglegturned:634,rmonospace:65362,rohiragana:12429,rokatakana:12525,rokatakanahalfwidth:65435,roruathai:3619,rparen:9389,rrabengali:2524,rradeva:2353,rragurmukhi:2652,rreharabic:1681,rrehfinalarabic:64397,rrvocalicbengali:2528,rrvocalicdeva:2400,rrvocalicgujarati:2784,rrvocalicvowelsignbengali:2500,rrvocalicvowelsigndeva:2372,rrvocalicvowelsigngujarati:2756,rsuperior:63217,rtblock:9616,rturned:633,rturnedsuperior:692,ruhiragana:12427,rukatakana:12523,rukatakanahalfwidth:65433,rupeemarkbengali:2546,rupeesignbengali:2547,rupiah:63197,ruthai:3620,rvocalicbengali:2443,rvocalicdeva:2315,rvocalicgujarati:2699,rvocalicvowelsignbengali:2499,rvocalicvowelsigndeva:2371,rvocalicvowelsigngujarati:2755,s:115,sabengali:2488,sacute:347,sacutedotaccent:7781,sadarabic:1589,sadeva:2360,sadfinalarabic:65210,sadinitialarabic:65211,sadmedialarabic:65212,sagujarati:2744,sagurmukhi:2616,sahiragana:12373,sakatakana:12469,sakatakanahalfwidth:65403,sallallahoualayhewasallamarabic:65018,samekh:1505,samekhdagesh:64321,samekhdageshhebrew:64321,samekhhebrew:1505,saraaathai:3634,saraaethai:3649,saraaimaimalaithai:3652,saraaimaimuanthai:3651,saraamthai:3635,saraathai:3632,saraethai:3648,saraiileftthai:63622,saraiithai:3637,saraileftthai:63621,saraithai:3636,saraothai:3650,saraueeleftthai:63624,saraueethai:3639,saraueleftthai:63623,sarauethai:3638,sarauthai:3640,sarauuthai:3641,sbopomofo:12569,scaron:353,scarondotaccent:7783,scedilla:351,schwa:601,schwacyrillic:1241,schwadieresiscyrillic:1243,schwahook:602,scircle:9442,scircumflex:349,scommaaccent:537,sdotaccent:7777,sdotbelow:7779,sdotbelowdotaccent:7785,seagullbelowcmb:828,second:8243,secondtonechinese:714,section:167,seenarabic:1587,seenfinalarabic:65202,seeninitialarabic:65203,seenmedialarabic:65204,segol:1462,segol13:1462,segol1f:1462,segol2c:1462,segolhebrew:1462,segolnarrowhebrew:1462,segolquarterhebrew:1462,segoltahebrew:1426,segolwidehebrew:1462,seharmenian:1405,sehiragana:12379,sekatakana:12475,sekatakanahalfwidth:65406,semicolon:59,semicolonarabic:1563,semicolonmonospace:65307,semicolonsmall:65108,semivoicedmarkkana:12444,semivoicedmarkkanahalfwidth:65439,sentisquare:13090,sentosquare:13091,seven:55,sevenarabic:1639,sevenbengali:2541,sevencircle:9318,sevencircleinversesansserif:10128,sevendeva:2413,seveneighths:8542,sevengujarati:2797,sevengurmukhi:2669,sevenhackarabic:1639,sevenhangzhou:12327,sevenideographicparen:12838,seveninferior:8327,sevenmonospace:65303,sevenoldstyle:63287,sevenparen:9338,sevenperiod:9358,sevenpersian:1783,sevenroman:8566,sevensuperior:8311,seventeencircle:9328,seventeenparen:9348,seventeenperiod:9368,seventhai:3671,sfthyphen:173,shaarmenian:1399,shabengali:2486,shacyrillic:1096,shaddaarabic:1617,shaddadammaarabic:64609,shaddadammatanarabic:64606,shaddafathaarabic:64608,shaddakasraarabic:64610,shaddakasratanarabic:64607,shade:9618,shadedark:9619,shadelight:9617,shademedium:9618,shadeva:2358,shagujarati:2742,shagurmukhi:2614,shalshelethebrew:1427,shbopomofo:12565,shchacyrillic:1097,sheenarabic:1588,sheenfinalarabic:65206,sheeninitialarabic:65207,sheenmedialarabic:65208,sheicoptic:995,sheqel:8362,sheqelhebrew:8362,sheva:1456,sheva115:1456,sheva15:1456,sheva22:1456,sheva2e:1456,shevahebrew:1456,shevanarrowhebrew:1456,shevaquarterhebrew:1456,shevawidehebrew:1456,shhacyrillic:1211,shimacoptic:1005,shin:1513,shindagesh:64329,shindageshhebrew:64329,shindageshshindot:64300,shindageshshindothebrew:64300,shindageshsindot:64301,shindageshsindothebrew:64301,shindothebrew:1473,shinhebrew:1513,shinshindot:64298,shinshindothebrew:64298,shinsindot:64299,shinsindothebrew:64299,shook:642,sigma:963,sigma1:962,sigmafinal:962,sigmalunatesymbolgreek:1010,sihiragana:12375,sikatakana:12471,sikatakanahalfwidth:65404,siluqhebrew:1469,siluqlefthebrew:1469,similar:8764,sindothebrew:1474,siosacirclekorean:12916,siosaparenkorean:12820,sioscieuckorean:12670,sioscirclekorean:12902,sioskiyeokkorean:12666,sioskorean:12613,siosnieunkorean:12667,siosparenkorean:12806,siospieupkorean:12669,siostikeutkorean:12668,six:54,sixarabic:1638,sixbengali:2540,sixcircle:9317,sixcircleinversesansserif:10127,sixdeva:2412,sixgujarati:2796,sixgurmukhi:2668,sixhackarabic:1638,sixhangzhou:12326,sixideographicparen:12837,sixinferior:8326,sixmonospace:65302,sixoldstyle:63286,sixparen:9337,sixperiod:9357,sixpersian:1782,sixroman:8565,sixsuperior:8310,sixteencircle:9327,sixteencurrencydenominatorbengali:2553,sixteenparen:9347,sixteenperiod:9367,sixthai:3670,slash:47,slashmonospace:65295,slong:383,slongdotaccent:7835,smileface:9786,smonospace:65363,sofpasuqhebrew:1475,softhyphen:173,softsigncyrillic:1100,sohiragana:12381,sokatakana:12477,sokatakanahalfwidth:65407,soliduslongoverlaycmb:824,solidusshortoverlaycmb:823,sorusithai:3625,sosalathai:3624,sosothai:3595,sosuathai:3626,space:32,spacehackarabic:32,spade:9824,spadesuitblack:9824,spadesuitwhite:9828,sparen:9390,squarebelowcmb:827,squarecc:13252,squarecm:13213,squarediagonalcrosshatchfill:9641,squarehorizontalfill:9636,squarekg:13199,squarekm:13214,squarekmcapital:13262,squareln:13265,squarelog:13266,squaremg:13198,squaremil:13269,squaremm:13212,squaremsquared:13217,squareorthogonalcrosshatchfill:9638,squareupperlefttolowerrightfill:9639,squareupperrighttolowerleftfill:9640,squareverticalfill:9637,squarewhitewithsmallblack:9635,srsquare:13275,ssabengali:2487,ssadeva:2359,ssagujarati:2743,ssangcieuckorean:12617,ssanghieuhkorean:12677,ssangieungkorean:12672,ssangkiyeokkorean:12594,ssangnieunkorean:12645,ssangpieupkorean:12611,ssangsioskorean:12614,ssangtikeutkorean:12600,ssuperior:63218,sterling:163,sterlingmonospace:65505,strokelongoverlaycmb:822,strokeshortoverlaycmb:821,subset:8834,subsetnotequal:8842,subsetorequal:8838,succeeds:8827,suchthat:8715,suhiragana:12377,sukatakana:12473,sukatakanahalfwidth:65405,sukunarabic:1618,summation:8721,sun:9788,superset:8835,supersetnotequal:8843,supersetorequal:8839,svsquare:13276,syouwaerasquare:13180,t:116,tabengali:2468,tackdown:8868,tackleft:8867,tadeva:2340,tagujarati:2724,tagurmukhi:2596,taharabic:1591,tahfinalarabic:65218,tahinitialarabic:65219,tahiragana:12383,tahmedialarabic:65220,taisyouerasquare:13181,takatakana:12479,takatakanahalfwidth:65408,tatweelarabic:1600,tau:964,tav:1514,tavdages:64330,tavdagesh:64330,tavdageshhebrew:64330,tavhebrew:1514,tbar:359,tbopomofo:12554,tcaron:357,tccurl:680,tcedilla:355,tcheharabic:1670,tchehfinalarabic:64379,tchehinitialarabic:64380,tchehmedialarabic:64381,tcircle:9443,tcircumflexbelow:7793,tcommaaccent:355,tdieresis:7831,tdotaccent:7787,tdotbelow:7789,tecyrillic:1090,tedescendercyrillic:1197,teharabic:1578,tehfinalarabic:65174,tehhahinitialarabic:64674,tehhahisolatedarabic:64524,tehinitialarabic:65175,tehiragana:12390,tehjeeminitialarabic:64673,tehjeemisolatedarabic:64523,tehmarbutaarabic:1577,tehmarbutafinalarabic:65172,tehmedialarabic:65176,tehmeeminitialarabic:64676,tehmeemisolatedarabic:64526,tehnoonfinalarabic:64627,tekatakana:12486,tekatakanahalfwidth:65411,telephone:8481,telephoneblack:9742,telishagedolahebrew:1440,telishaqetanahebrew:1449,tencircle:9321,tenideographicparen:12841,tenparen:9341,tenperiod:9361,tenroman:8569,tesh:679,tet:1496,tetdagesh:64312,tetdageshhebrew:64312,tethebrew:1496,tetsecyrillic:1205,tevirhebrew:1435,tevirlefthebrew:1435,thabengali:2469,thadeva:2341,thagujarati:2725,thagurmukhi:2597,thalarabic:1584,thalfinalarabic:65196,thanthakhatlowleftthai:63640,thanthakhatlowrightthai:63639,thanthakhatthai:3660,thanthakhatupperleftthai:63638,theharabic:1579,thehfinalarabic:65178,thehinitialarabic:65179,thehmedialarabic:65180,thereexists:8707,therefore:8756,theta:952,theta1:977,thetasymbolgreek:977,thieuthacirclekorean:12921,thieuthaparenkorean:12825,thieuthcirclekorean:12907,thieuthkorean:12620,thieuthparenkorean:12811,thirteencircle:9324,thirteenparen:9344,thirteenperiod:9364,thonangmonthothai:3601,thook:429,thophuthaothai:3602,thorn:254,thothahanthai:3607,thothanthai:3600,thothongthai:3608,thothungthai:3606,thousandcyrillic:1154,thousandsseparatorarabic:1644,thousandsseparatorpersian:1644,three:51,threearabic:1635,threebengali:2537,threecircle:9314,threecircleinversesansserif:10124,threedeva:2409,threeeighths:8540,threegujarati:2793,threegurmukhi:2665,threehackarabic:1635,threehangzhou:12323,threeideographicparen:12834,threeinferior:8323,threemonospace:65299,threenumeratorbengali:2550,threeoldstyle:63283,threeparen:9334,threeperiod:9354,threepersian:1779,threequarters:190,threequartersemdash:63198,threeroman:8562,threesuperior:179,threethai:3667,thzsquare:13204,tihiragana:12385,tikatakana:12481,tikatakanahalfwidth:65409,tikeutacirclekorean:12912,tikeutaparenkorean:12816,tikeutcirclekorean:12898,tikeutkorean:12599,tikeutparenkorean:12802,tilde:732,tildebelowcmb:816,tildecmb:771,tildecomb:771,tildedoublecmb:864,tildeoperator:8764,tildeoverlaycmb:820,tildeverticalcmb:830,timescircle:8855,tipehahebrew:1430,tipehalefthebrew:1430,tippigurmukhi:2672,titlocyrilliccmb:1155,tiwnarmenian:1407,tlinebelow:7791,tmonospace:65364,toarmenian:1385,tohiragana:12392,tokatakana:12488,tokatakanahalfwidth:65412,tonebarextrahighmod:741,tonebarextralowmod:745,tonebarhighmod:742,tonebarlowmod:744,tonebarmidmod:743,tonefive:445,tonesix:389,tonetwo:424,tonos:900,tonsquare:13095,topatakthai:3599,tortoiseshellbracketleft:12308,tortoiseshellbracketleftsmall:65117,tortoiseshellbracketleftvertical:65081,tortoiseshellbracketright:12309,tortoiseshellbracketrightsmall:65118,tortoiseshellbracketrightvertical:65082,totaothai:3605,tpalatalhook:427,tparen:9391,trademark:8482,trademarksans:63722,trademarkserif:63195,tretroflexhook:648,triagdn:9660,triaglf:9668,triagrt:9658,triagup:9650,ts:678,tsadi:1510,tsadidagesh:64326,tsadidageshhebrew:64326,tsadihebrew:1510,tsecyrillic:1094,tsere:1461,tsere12:1461,tsere1e:1461,tsere2b:1461,tserehebrew:1461,tserenarrowhebrew:1461,tserequarterhebrew:1461,tserewidehebrew:1461,tshecyrillic:1115,tsuperior:63219,ttabengali:2463,ttadeva:2335,ttagujarati:2719,ttagurmukhi:2591,tteharabic:1657,ttehfinalarabic:64359,ttehinitialarabic:64360,ttehmedialarabic:64361,tthabengali:2464,tthadeva:2336,tthagujarati:2720,tthagurmukhi:2592,tturned:647,tuhiragana:12388,tukatakana:12484,tukatakanahalfwidth:65410,tusmallhiragana:12387,tusmallkatakana:12483,tusmallkatakanahalfwidth:65391,twelvecircle:9323,twelveparen:9343,twelveperiod:9363,twelveroman:8571,twentycircle:9331,twentyhangzhou:21316,twentyparen:9351,twentyperiod:9371,two:50,twoarabic:1634,twobengali:2536,twocircle:9313,twocircleinversesansserif:10123,twodeva:2408,twodotenleader:8229,twodotleader:8229,twodotleadervertical:65072,twogujarati:2792,twogurmukhi:2664,twohackarabic:1634,twohangzhou:12322,twoideographicparen:12833,twoinferior:8322,twomonospace:65298,twonumeratorbengali:2549,twooldstyle:63282,twoparen:9333,twoperiod:9353,twopersian:1778,tworoman:8561,twostroke:443,twosuperior:178,twothai:3666,twothirds:8532,u:117,uacute:250,ubar:649,ubengali:2441,ubopomofo:12584,ubreve:365,ucaron:468,ucircle:9444,ucircumflex:251,ucircumflexbelow:7799,ucyrillic:1091,udattadeva:2385,udblacute:369,udblgrave:533,udeva:2313,udieresis:252,udieresisacute:472,udieresisbelow:7795,udieresiscaron:474,udieresiscyrillic:1265,udieresisgrave:476,udieresismacron:470,udotbelow:7909,ugrave:249,ugujarati:2697,ugurmukhi:2569,uhiragana:12358,uhookabove:7911,uhorn:432,uhornacute:7913,uhorndotbelow:7921,uhorngrave:7915,uhornhookabove:7917,uhorntilde:7919,uhungarumlaut:369,uhungarumlautcyrillic:1267,uinvertedbreve:535,ukatakana:12454,ukatakanahalfwidth:65395,ukcyrillic:1145,ukorean:12636,umacron:363,umacroncyrillic:1263,umacrondieresis:7803,umatragurmukhi:2625,umonospace:65365,underscore:95,underscoredbl:8215,underscoremonospace:65343,underscorevertical:65075,underscorewavy:65103,union:8746,universal:8704,uogonek:371,uparen:9392,upblock:9600,upperdothebrew:1476,upsilon:965,upsilondieresis:971,upsilondieresistonos:944,upsilonlatin:650,upsilontonos:973,uptackbelowcmb:797,uptackmod:724,uragurmukhi:2675,uring:367,ushortcyrillic:1118,usmallhiragana:12357,usmallkatakana:12453,usmallkatakanahalfwidth:65385,ustraightcyrillic:1199,ustraightstrokecyrillic:1201,utilde:361,utildeacute:7801,utildebelow:7797,uubengali:2442,uudeva:2314,uugujarati:2698,uugurmukhi:2570,uumatragurmukhi:2626,uuvowelsignbengali:2498,uuvowelsigndeva:2370,uuvowelsigngujarati:2754,uvowelsignbengali:2497,uvowelsigndeva:2369,uvowelsigngujarati:2753,v:118,vadeva:2357,vagujarati:2741,vagurmukhi:2613,vakatakana:12535,vav:1493,vavdagesh:64309,vavdagesh65:64309,vavdageshhebrew:64309,vavhebrew:1493,vavholam:64331,vavholamhebrew:64331,vavvavhebrew:1520,vavyodhebrew:1521,vcircle:9445,vdotbelow:7807,vecyrillic:1074,veharabic:1700,vehfinalarabic:64363,vehinitialarabic:64364,vehmedialarabic:64365,vekatakana:12537,venus:9792,verticalbar:124,verticallineabovecmb:781,verticallinebelowcmb:809,verticallinelowmod:716,verticallinemod:712,vewarmenian:1406,vhook:651,vikatakana:12536,viramabengali:2509,viramadeva:2381,viramagujarati:2765,visargabengali:2435,visargadeva:2307,visargagujarati:2691,vmonospace:65366,voarmenian:1400,voicediterationhiragana:12446,voicediterationkatakana:12542,voicedmarkkana:12443,voicedmarkkanahalfwidth:65438,vokatakana:12538,vparen:9393,vtilde:7805,vturned:652,vuhiragana:12436,vukatakana:12532,w:119,wacute:7811,waekorean:12633,wahiragana:12431,wakatakana:12527,wakatakanahalfwidth:65436,wakorean:12632,wasmallhiragana:12430,wasmallkatakana:12526,wattosquare:13143,wavedash:12316,wavyunderscorevertical:65076,wawarabic:1608,wawfinalarabic:65262,wawhamzaabovearabic:1572,wawhamzaabovefinalarabic:65158,wbsquare:13277,wcircle:9446,wcircumflex:373,wdieresis:7813,wdotaccent:7815,wdotbelow:7817,wehiragana:12433,weierstrass:8472,wekatakana:12529,wekorean:12638,weokorean:12637,wgrave:7809,whitebullet:9702,whitecircle:9675,whitecircleinverse:9689,whitecornerbracketleft:12302,whitecornerbracketleftvertical:65091,whitecornerbracketright:12303,whitecornerbracketrightvertical:65092,whitediamond:9671,whitediamondcontainingblacksmalldiamond:9672,whitedownpointingsmalltriangle:9663,whitedownpointingtriangle:9661,whiteleftpointingsmalltriangle:9667,whiteleftpointingtriangle:9665,whitelenticularbracketleft:12310,whitelenticularbracketright:12311,whiterightpointingsmalltriangle:9657,whiterightpointingtriangle:9655,whitesmallsquare:9643,whitesmilingface:9786,whitesquare:9633,whitestar:9734,whitetelephone:9743,whitetortoiseshellbracketleft:12312,whitetortoiseshellbracketright:12313,whiteuppointingsmalltriangle:9653,whiteuppointingtriangle:9651,wihiragana:12432,wikatakana:12528,wikorean:12639,wmonospace:65367,wohiragana:12434,wokatakana:12530,wokatakanahalfwidth:65382,won:8361,wonmonospace:65510,wowaenthai:3623,wparen:9394,wring:7832,wsuperior:695,wturned:653,wynn:447,x:120,xabovecmb:829,xbopomofo:12562,xcircle:9447,xdieresis:7821,xdotaccent:7819,xeharmenian:1389,xi:958,xmonospace:65368,xparen:9395,xsuperior:739,y:121,yaadosquare:13134,yabengali:2479,yacute:253,yadeva:2351,yaekorean:12626,yagujarati:2735,yagurmukhi:2607,yahiragana:12420,yakatakana:12516,yakatakanahalfwidth:65428,yakorean:12625,yamakkanthai:3662,yasmallhiragana:12419,yasmallkatakana:12515,yasmallkatakanahalfwidth:65388,yatcyrillic:1123,ycircle:9448,ycircumflex:375,ydieresis:255,ydotaccent:7823,ydotbelow:7925,yeharabic:1610,yehbarreearabic:1746,yehbarreefinalarabic:64431,yehfinalarabic:65266,yehhamzaabovearabic:1574,yehhamzaabovefinalarabic:65162,yehhamzaaboveinitialarabic:65163,yehhamzaabovemedialarabic:65164,yehinitialarabic:65267,yehmedialarabic:65268,yehmeeminitialarabic:64733,yehmeemisolatedarabic:64600,yehnoonfinalarabic:64660,yehthreedotsbelowarabic:1745,yekorean:12630,yen:165,yenmonospace:65509,yeokorean:12629,yeorinhieuhkorean:12678,yerahbenyomohebrew:1450,yerahbenyomolefthebrew:1450,yericyrillic:1099,yerudieresiscyrillic:1273,yesieungkorean:12673,yesieungpansioskorean:12675,yesieungsioskorean:12674,yetivhebrew:1434,ygrave:7923,yhook:436,yhookabove:7927,yiarmenian:1397,yicyrillic:1111,yikorean:12642,yinyang:9775,yiwnarmenian:1410,ymonospace:65369,yod:1497,yoddagesh:64313,yoddageshhebrew:64313,yodhebrew:1497,yodyodhebrew:1522,yodyodpatahhebrew:64287,yohiragana:12424,yoikorean:12681,yokatakana:12520,yokatakanahalfwidth:65430,yokorean:12635,yosmallhiragana:12423,yosmallkatakana:12519,yosmallkatakanahalfwidth:65390,yotgreek:1011,yoyaekorean:12680,yoyakorean:12679,yoyakthai:3618,yoyingthai:3597,yparen:9396,ypogegrammeni:890,ypogegrammenigreekcmb:837,yr:422,yring:7833,ysuperior:696,ytilde:7929,yturned:654,yuhiragana:12422,yuikorean:12684,yukatakana:12518,yukatakanahalfwidth:65429,yukorean:12640,yusbigcyrillic:1131,yusbigiotifiedcyrillic:1133,yuslittlecyrillic:1127,yuslittleiotifiedcyrillic:1129,yusmallhiragana:12421,yusmallkatakana:12517,yusmallkatakanahalfwidth:65389,yuyekorean:12683,yuyeokorean:12682,yyabengali:2527,yyadeva:2399,z:122,zaarmenian:1382,zacute:378,zadeva:2395,zagurmukhi:2651,zaharabic:1592,zahfinalarabic:65222,zahinitialarabic:65223,zahiragana:12374,zahmedialarabic:65224,zainarabic:1586,zainfinalarabic:65200,zakatakana:12470,zaqefgadolhebrew:1429,zaqefqatanhebrew:1428,zarqahebrew:1432,zayin:1494,zayindagesh:64310,zayindageshhebrew:64310,zayinhebrew:1494,zbopomofo:12567,zcaron:382,zcircle:9449,zcircumflex:7825,zcurl:657,zdot:380,zdotaccent:380,zdotbelow:7827,zecyrillic:1079,zedescendercyrillic:1177,zedieresiscyrillic:1247,zehiragana:12380,zekatakana:12476,zero:48,zeroarabic:1632,zerobengali:2534,zerodeva:2406,zerogujarati:2790,zerogurmukhi:2662,zerohackarabic:1632,zeroinferior:8320,zeromonospace:65296,zerooldstyle:63280,
-zeropersian:1776,zerosuperior:8304,zerothai:3664,zerowidthjoiner:65279,zerowidthnonjoiner:8204,zerowidthspace:8203,zeta:950,zhbopomofo:12563,zhearmenian:1386,zhebrevecyrillic:1218,zhecyrillic:1078,zhedescendercyrillic:1175,zhedieresiscyrillic:1245,zihiragana:12376,zikatakana:12472,zinorhebrew:1454,zlinebelow:7829,zmonospace:65370,zohiragana:12382,zokatakana:12478,zparen:9397,zretroflexhook:656,zstroke:438,zuhiragana:12378,zukatakana:12474,".notdef":0},Ac={space:32,a1:9985,a2:9986,a202:9987,a3:9988,a4:9742,a5:9990,a119:9991,a118:9992,a117:9993,a11:9755,a12:9758,a13:9996,a14:9997,a15:9998,a16:9999,a105:1e4,a17:10001,a18:10002,a19:10003,a20:10004,a21:10005,a22:10006,a23:10007,a24:10008,a25:10009,a26:10010,a27:10011,a28:10012,a6:10013,a7:10014,a8:10015,a9:10016,a10:10017,a29:10018,a30:10019,a31:10020,a32:10021,a33:10022,a34:10023,a35:9733,a36:10025,a37:10026,a38:10027,a39:10028,a40:10029,a41:10030,a42:10031,a43:10032,a44:10033,a45:10034,a46:10035,a47:10036,a48:10037,a49:10038,a50:10039,a51:10040,a52:10041,a53:10042,a54:10043,a55:10044,a56:10045,a57:10046,a58:10047,a59:10048,a60:10049,a61:10050,a62:10051,a63:10052,a64:10053,a65:10054,a66:10055,a67:10056,a68:10057,a69:10058,a70:10059,a71:9679,a72:10061,a73:9632,a74:10063,a203:10064,a75:10065,a204:10066,a76:9650,a77:9660,a78:9670,a79:10070,a81:9687,a82:10072,a83:10073,a84:10074,a97:10075,a98:10076,a99:10077,a100:10078,a101:10081,a102:10082,a103:10083,a104:10084,a106:10085,a107:10086,a108:10087,a112:9827,a111:9830,a110:9829,a109:9824,a120:9312,a121:9313,a122:9314,a123:9315,a124:9316,a125:9317,a126:9318,a127:9319,a128:9320,a129:9321,a130:10102,a131:10103,a132:10104,a133:10105,a134:10106,a135:10107,a136:10108,a137:10109,a138:10110,a139:10111,a140:10112,a141:10113,a142:10114,a143:10115,a144:10116,a145:10117,a146:10118,a147:10119,a148:10120,a149:10121,a150:10122,a151:10123,a152:10124,a153:10125,a154:10126,a155:10127,a156:10128,a157:10129,a158:10130,a159:10131,a160:10132,a161:8594,a163:8596,a164:8597,a196:10136,a165:10137,a192:10138,a166:10139,a167:10140,a168:10141,a169:10142,a170:10143,a171:10144,a172:10145,a173:10146,a162:10147,a174:10148,a175:10149,a176:10150,a177:10151,a178:10152,a179:10153,a193:10154,a180:10155,a199:10156,a181:10157,a200:10158,a182:10159,a201:10161,a183:10162,a184:10163,a197:10164,a185:10165,a194:10166,a198:10167,a186:10168,a195:10169,a187:10170,a188:10171,a189:10172,a190:10173,a191:10174,a89:10088,a90:10089,a93:10090,a94:10091,a91:10092,a92:10093,a205:10094,a85:10095,a206:10096,a86:10097,a87:10098,a88:10099,a95:10100,a96:10101,".notdef":0},Bc=function(){function d(a,b,c,d){if(d instanceof Sc&&d.isNativelyDecodable(b,c)){var e=d.dict,f=e.get("ColorSpace","CS");f=Xa.parse(f,b,c);var g=f.numComps,h=a.sendWithPromise("JpegDecode",[d.getIR(),g]);return h.then(function(a){var b=a.data;return new Mc(b,0,b.length,d.dict)})}return Promise.resolve(d)}function f(a,b,c,d){return a=b+a*c,0>a?0:a>d?d:a}function g(b,d,e,f,h,i,j){this.image=e;var k=e.dict;if(k.has("Filter")){var l=k.get("Filter").name;if("JPXDecode"===l){var m=new hd;m.parseImageProperties(e.stream),e.stream.reset(),e.bitsPerComponent=m.bitsPerComponent,e.numComps=m.componentsCount}else"JBIG2Decode"===l&&(e.bitsPerComponent=1,e.numComps=1)}this.width=k.get("Width","W"),this.height=k.get("Height","H"),(this.width<1||this.height<1)&&c("Invalid image width: "+this.width+" or height: "+this.height),this.interpolate=k.get("Interpolate","I")||!1,this.imageMask=k.get("ImageMask","IM")||!1,this.matte=k.get("Matte")||!1;var n=e.bitsPerComponent;if(n||(n=k.get("BitsPerComponent","BPC"),n||(this.imageMask?n=1:c("Bits per component missing in image: "+this.imageMask))),this.bpc=n,!this.imageMask){var o=k.get("ColorSpace","CS");if(!o)switch(a("JPX images (which do not require color spaces)"),e.numComps){case 1:o=ya.get("DeviceGray");break;case 3:o=ya.get("DeviceRGB");break;case 4:o=ya.get("DeviceCMYK");break;default:c("JPX images with "+this.numComps+" color components not supported.")}this.colorSpace=Xa.parse(o,b,d),this.numComps=this.colorSpace.numComps}if(this.decode=k.get("Decode","D"),this.needsDecode=!1,this.decode&&(this.colorSpace&&!this.colorSpace.isDefaultDecode(this.decode)||j&&!Xa.isDefaultDecode(this.decode,1))){this.needsDecode=!0;var p=(1<<n)-1;this.decodeCoefficients=[],this.decodeAddends=[];for(var q=0,r=0;q<this.decode.length;q+=2,++r){var s=this.decode[q],t=this.decode[q+1];this.decodeCoefficients[r]=t-s,this.decodeAddends[r]=p*s}}h?this.smask=new g(b,d,h,!1):i&&(D(i)?this.mask=new g(b,d,i,!1,null,null,!0):this.mask=i)}return g.buildImage=function(a,c,e,f,h){var i,j,k=d(a,c,e,f),l=f.dict.get("SMask"),m=f.dict.get("Mask");return l?(i=d(a,c,e,l),j=Promise.resolve(null)):(i=Promise.resolve(null),m?D(m)?j=d(a,c,e,m):C(m)?j=Promise.resolve(m):(b("Unsupported mask format."),j=Promise.resolve(null)):j=Promise.resolve(null)),Promise.all([k,i,j]).then(function(a){var b=a[0],d=a[1],f=a[2];return new g(c,e,b,h,d,f)})},g.resize=function(a,b,d,e,f,g,h,i,j){1!==d&&3!==d&&c("Unsupported component count for resizing.");var k,l,m,n,o=g*h*d,p=i?i:8>=b?new Uint8Array(o):16>=b?new Uint16Array(o):new Uint32Array(o),q=e/g,r=f/h,s=0,t=new Uint16Array(g),u=e*d;for(1!==j&&(j=0),l=0;g>l;l++)t[l]=Math.floor(l*q)*d;if(1===d)for(k=0;h>k;k++)for(m=Math.floor(k*r)*u,l=0;g>l;l++)n=m+t[l],p[s++]=a[n];else if(3===d)for(k=0;h>k;k++)for(m=Math.floor(k*r)*u,l=0;g>l;l++)n=m+t[l],p[s++]=a[n++],p[s++]=a[n++],p[s++]=a[n++],s+=j;return p},g.createMask=function(a,b,c,d,e){var f,g,h=(b+7>>3)*c,i=a.byteLength,j=h===i;if(!d||e&&!j)if(e)for(f=new Uint8Array(h),f.set(a),g=i;h>g;g++)f[g]=255;else f=new Uint8Array(i),f.set(a);else f=a;if(e)for(g=0;i>g;g++)f[g]=~f[g];return{data:f,width:b,height:c}},g.prototype={get drawWidth(){return Math.max(this.width,this.smask&&this.smask.width||0,this.mask&&this.mask.width||0)},get drawHeight(){return Math.max(this.height,this.smask&&this.smask.height||0,this.mask&&this.mask.height||0)},decodeBuffer:function(a){var b,c,d=this.bpc,e=this.numComps,g=this.decodeAddends,h=this.decodeCoefficients,i=(1<<d)-1;if(1!==d){var j=0;for(b=0,c=this.width*this.height;c>b;b++)for(var k=0;e>k;k++)a[j]=f(a[j],g[k],h[k],i),j++}else for(b=0,c=a.length;c>b;b++)a[b]=+!a[b]},getComponents:function(a){var b=this.bpc;if(8===b)return a;var c,d,e=this.width,f=this.height,g=this.numComps,h=e*f*g,i=0,j=8>=b?new Uint8Array(h):16>=b?new Uint16Array(h):new Uint32Array(h),k=e*g,l=(1<<b)-1,m=0;if(1===b)for(var n,o,p,q=0;f>q;q++){for(o=m+(-8&k),p=m+k;o>m;)d=a[i++],j[m]=d>>7&1,j[m+1]=d>>6&1,j[m+2]=d>>5&1,j[m+3]=d>>4&1,j[m+4]=d>>3&1,j[m+5]=d>>2&1,j[m+6]=d>>1&1,j[m+7]=1&d,m+=8;if(p>m)for(d=a[i++],n=128;p>m;)j[m++]=+!!(d&n),n>>=1}else{var r=0;for(d=0,m=0,c=h;c>m;++m){for(m%k===0&&(d=0,r=0);b>r;)d=d<<8|a[i++],r+=8;var s=r-b,t=d>>s;j[m]=0>t?0:t>l?l:t,d&=(1<<s)-1,r=s}}return j},fillOpacity:function(a,b,d,e,f){var h,i,j,k,l,m,n=this.smask,o=this.mask;if(n)i=n.width,j=n.height,h=new Uint8Array(i*j),n.fillGrayBuffer(h),(i!==b||j!==d)&&(h=g.resize(h,n.bpc,1,i,j,b,d));else if(o)if(o instanceof g){for(i=o.width,j=o.height,h=new Uint8Array(i*j),o.numComps=1,o.fillGrayBuffer(h),k=0,l=i*j;l>k;++k)h[k]=255-h[k];(i!==b||j!==d)&&(h=g.resize(h,o.bpc,1,i,j,b,d))}else if(C(o)){h=new Uint8Array(b*d);var p=this.numComps;for(k=0,l=b*d;l>k;++k){var q=0,r=k*p;for(m=0;p>m;++m){var s=f[r+m],t=2*m;if(s<o[t]||s>o[t+1]){q=255;break}}h[k]=q}}else c("Unknown mask format.");if(h)for(k=0,m=3,l=b*e;l>k;++k,m+=4)a[m]=h[k];else for(k=0,m=3,l=b*e;l>k;++k,m+=4)a[m]=255},undoPreblend:function(a,b,c){var d=this.smask&&this.smask.matte;if(d)for(var e,f,g,h=this.colorSpace.getRgb(d,0),i=h[0],j=h[1],k=h[2],l=b*c*4,m=0;l>m;m+=4){var n=a[m+3];if(0!==n){var o=255/n;e=(a[m]-i)*o+i,f=(a[m+1]-j)*o+j,g=(a[m+2]-k)*o+k,a[m]=0>=e?0:e>=255?255:0|e,a[m+1]=0>=f?0:f>=255?255:0|f,a[m+2]=0>=g?0:g>=255?255:0|g}else a[m]=255,a[m+1]=255,a[m+2]=255}},createImageData:function(a){var b,c=this.drawWidth,d=this.drawHeight,f={width:c,height:d},g=this.numComps,h=this.width,i=this.height,j=this.bpc,k=h*g*j+7>>3;if(!a){var l;if("DeviceGray"===this.colorSpace.name&&1===j?l=V.GRAYSCALE_1BPP:"DeviceRGB"!==this.colorSpace.name||8!==j||this.needsDecode||(l=V.RGB_24BPP),l&&!this.smask&&!this.mask&&c===h&&d===i){if(f.kind=l,b=this.getImageBytes(i*k),this.image instanceof Oc)f.data=b;else{var m=new Uint8Array(b.length);m.set(b),f.data=m}if(this.needsDecode){e(l===V.GRAYSCALE_1BPP);for(var n=f.data,o=0,p=n.length;p>o;o++)n[o]^=255}return f}if(this.image instanceof Sc&&!this.smask&&!this.mask&&("DeviceGray"===this.colorSpace.name||"DeviceRGB"===this.colorSpace.name||"DeviceCMYK"===this.colorSpace.name))return f.kind=V.RGB_24BPP,f.data=this.getImageBytes(i*k,c,d,!0),f}b=this.getImageBytes(i*k);var q,r,s=0|b.length/k*d/i,t=this.getComponents(b);return a||this.smask||this.mask?(f.kind=V.RGBA_32BPP,f.data=new Uint8Array(c*d*4),q=1,r=!0,this.fillOpacity(f.data,c,d,s,t)):(f.kind=V.RGB_24BPP,f.data=new Uint8Array(c*d*3),q=0,r=!1),this.needsDecode&&this.decodeBuffer(t),this.colorSpace.fillRgb(f.data,h,i,c,d,s,j,t,q),r&&this.undoPreblend(f.data,c,s),f},fillGrayBuffer:function(a){var b=this.numComps;1!==b&&c("Reading gray scale from a color image: "+b);var d,e,f=this.width,g=this.height,h=this.bpc,i=f*b*h+7>>3,j=this.getImageBytes(g*i),k=this.getComponents(j);if(1!==h){this.needsDecode&&this.decodeBuffer(k),e=f*g;var l=255/((1<<h)-1);for(d=0;e>d;++d)a[d]=l*k[d]|0}else if(e=f*g,this.needsDecode)for(d=0;e>d;++d)a[d]=k[d]-1&255;else for(d=0;e>d;++d)a[d]=255&-k[d]},getImageBytes:function(a,b,c,d){return this.image.reset(),this.image.drawWidth=b||this.width,this.image.drawHeight=c||this.height,this.image.forceRGB=!!d,this.image.getBytes(a)}},g}(),Cc={Courier:600,"Courier-Bold":600,"Courier-BoldOblique":600,"Courier-Oblique":600,Helvetica:{space:278,exclam:278,quotedbl:355,numbersign:556,dollar:556,percent:889,ampersand:667,quoteright:222,parenleft:333,parenright:333,asterisk:389,plus:584,comma:278,hyphen:333,period:278,slash:278,zero:556,one:556,two:556,three:556,four:556,five:556,six:556,seven:556,eight:556,nine:556,colon:278,semicolon:278,less:584,equal:584,greater:584,question:556,at:1015,A:667,B:667,C:722,D:722,E:667,F:611,G:778,H:722,I:278,J:500,K:667,L:556,M:833,N:722,O:778,P:667,Q:778,R:722,S:667,T:611,U:722,V:667,W:944,X:667,Y:667,Z:611,bracketleft:278,backslash:278,bracketright:278,asciicircum:469,underscore:556,quoteleft:222,a:556,b:556,c:500,d:556,e:556,f:278,g:556,h:556,i:222,j:222,k:500,l:222,m:833,n:556,o:556,p:556,q:556,r:333,s:500,t:278,u:556,v:500,w:722,x:500,y:500,z:500,braceleft:334,bar:260,braceright:334,asciitilde:584,exclamdown:333,cent:556,sterling:556,fraction:167,yen:556,florin:556,section:556,currency:556,quotesingle:191,quotedblleft:333,guillemotleft:556,guilsinglleft:333,guilsinglright:333,fi:500,fl:500,endash:556,dagger:556,daggerdbl:556,periodcentered:278,paragraph:537,bullet:350,quotesinglbase:222,quotedblbase:333,quotedblright:333,guillemotright:556,ellipsis:1e3,perthousand:1e3,questiondown:611,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:1e3,ordfeminine:370,Lslash:556,Oslash:778,OE:1e3,ordmasculine:365,ae:889,dotlessi:278,lslash:222,oslash:611,oe:944,germandbls:611,Idieresis:278,eacute:556,abreve:556,uhungarumlaut:556,ecaron:556,Ydieresis:667,divide:584,Yacute:667,Acircumflex:667,aacute:556,Ucircumflex:722,yacute:500,scommaaccent:500,ecircumflex:556,Uring:722,Udieresis:722,aogonek:556,Uacute:722,uogonek:556,Edieresis:667,Dcroat:722,commaaccent:250,copyright:737,Emacron:667,ccaron:500,aring:556,Ncommaaccent:722,lacute:222,agrave:556,Tcommaaccent:611,Cacute:722,atilde:556,Edotaccent:667,scaron:500,scedilla:500,iacute:278,lozenge:471,Rcaron:722,Gcommaaccent:778,ucircumflex:556,acircumflex:556,Amacron:667,rcaron:333,ccedilla:500,Zdotaccent:611,Thorn:667,Omacron:778,Racute:722,Sacute:667,dcaron:643,Umacron:722,uring:556,threesuperior:333,Ograve:778,Agrave:667,Abreve:667,multiply:584,uacute:556,Tcaron:611,partialdiff:476,ydieresis:500,Nacute:722,icircumflex:278,Ecircumflex:667,adieresis:556,edieresis:556,cacute:500,nacute:556,umacron:556,Ncaron:722,Iacute:278,plusminus:584,brokenbar:260,registered:737,Gbreve:778,Idotaccent:278,summation:600,Egrave:667,racute:333,omacron:556,Zacute:611,Zcaron:611,greaterequal:549,Eth:722,Ccedilla:722,lcommaaccent:222,tcaron:317,eogonek:556,Uogonek:722,Aacute:667,Adieresis:667,egrave:556,zacute:500,iogonek:222,Oacute:778,oacute:556,amacron:556,sacute:500,idieresis:278,Ocircumflex:778,Ugrave:722,Delta:612,thorn:556,twosuperior:333,Odieresis:778,mu:556,igrave:278,ohungarumlaut:556,Eogonek:667,dcroat:556,threequarters:834,Scedilla:667,lcaron:299,Kcommaaccent:667,Lacute:556,trademark:1e3,edotaccent:556,Igrave:278,Imacron:278,Lcaron:556,onehalf:834,lessequal:549,ocircumflex:556,ntilde:556,Uhungarumlaut:722,Eacute:667,emacron:556,gbreve:556,onequarter:834,Scaron:667,Scommaaccent:667,Ohungarumlaut:778,degree:400,ograve:556,Ccaron:722,ugrave:556,radical:453,Dcaron:722,rcommaaccent:333,Ntilde:722,otilde:556,Rcommaaccent:722,Lcommaaccent:556,Atilde:667,Aogonek:667,Aring:667,Otilde:778,zdotaccent:500,Ecaron:667,Iogonek:278,kcommaaccent:500,minus:584,Icircumflex:278,ncaron:556,tcommaaccent:278,logicalnot:584,odieresis:556,udieresis:556,notequal:549,gcommaaccent:556,eth:556,zcaron:500,ncommaaccent:556,onesuperior:333,imacron:278,Euro:556},"Helvetica-Bold":{space:278,exclam:333,quotedbl:474,numbersign:556,dollar:556,percent:889,ampersand:722,quoteright:278,parenleft:333,parenright:333,asterisk:389,plus:584,comma:278,hyphen:333,period:278,slash:278,zero:556,one:556,two:556,three:556,four:556,five:556,six:556,seven:556,eight:556,nine:556,colon:333,semicolon:333,less:584,equal:584,greater:584,question:611,at:975,A:722,B:722,C:722,D:722,E:667,F:611,G:778,H:722,I:278,J:556,K:722,L:611,M:833,N:722,O:778,P:667,Q:778,R:722,S:667,T:611,U:722,V:667,W:944,X:667,Y:667,Z:611,bracketleft:333,backslash:278,bracketright:333,asciicircum:584,underscore:556,quoteleft:278,a:556,b:611,c:556,d:611,e:556,f:333,g:611,h:611,i:278,j:278,k:556,l:278,m:889,n:611,o:611,p:611,q:611,r:389,s:556,t:333,u:611,v:556,w:778,x:556,y:556,z:500,braceleft:389,bar:280,braceright:389,asciitilde:584,exclamdown:333,cent:556,sterling:556,fraction:167,yen:556,florin:556,section:556,currency:556,quotesingle:238,quotedblleft:500,guillemotleft:556,guilsinglleft:333,guilsinglright:333,fi:611,fl:611,endash:556,dagger:556,daggerdbl:556,periodcentered:278,paragraph:556,bullet:350,quotesinglbase:278,quotedblbase:500,quotedblright:500,guillemotright:556,ellipsis:1e3,perthousand:1e3,questiondown:611,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:1e3,ordfeminine:370,Lslash:611,Oslash:778,OE:1e3,ordmasculine:365,ae:889,dotlessi:278,lslash:278,oslash:611,oe:944,germandbls:611,Idieresis:278,eacute:556,abreve:556,uhungarumlaut:611,ecaron:556,Ydieresis:667,divide:584,Yacute:667,Acircumflex:722,aacute:556,Ucircumflex:722,yacute:556,scommaaccent:556,ecircumflex:556,Uring:722,Udieresis:722,aogonek:556,Uacute:722,uogonek:611,Edieresis:667,Dcroat:722,commaaccent:250,copyright:737,Emacron:667,ccaron:556,aring:556,Ncommaaccent:722,lacute:278,agrave:556,Tcommaaccent:611,Cacute:722,atilde:556,Edotaccent:667,scaron:556,scedilla:556,iacute:278,lozenge:494,Rcaron:722,Gcommaaccent:778,ucircumflex:611,acircumflex:556,Amacron:722,rcaron:389,ccedilla:556,Zdotaccent:611,Thorn:667,Omacron:778,Racute:722,Sacute:667,dcaron:743,Umacron:722,uring:611,threesuperior:333,Ograve:778,Agrave:722,Abreve:722,multiply:584,uacute:611,Tcaron:611,partialdiff:494,ydieresis:556,Nacute:722,icircumflex:278,Ecircumflex:667,adieresis:556,edieresis:556,cacute:556,nacute:611,umacron:611,Ncaron:722,Iacute:278,plusminus:584,brokenbar:280,registered:737,Gbreve:778,Idotaccent:278,summation:600,Egrave:667,racute:389,omacron:611,Zacute:611,Zcaron:611,greaterequal:549,Eth:722,Ccedilla:722,lcommaaccent:278,tcaron:389,eogonek:556,Uogonek:722,Aacute:722,Adieresis:722,egrave:556,zacute:500,iogonek:278,Oacute:778,oacute:611,amacron:556,sacute:556,idieresis:278,Ocircumflex:778,Ugrave:722,Delta:612,thorn:611,twosuperior:333,Odieresis:778,mu:611,igrave:278,ohungarumlaut:611,Eogonek:667,dcroat:611,threequarters:834,Scedilla:667,lcaron:400,Kcommaaccent:722,Lacute:611,trademark:1e3,edotaccent:556,Igrave:278,Imacron:278,Lcaron:611,onehalf:834,lessequal:549,ocircumflex:611,ntilde:611,Uhungarumlaut:722,Eacute:667,emacron:556,gbreve:611,onequarter:834,Scaron:667,Scommaaccent:667,Ohungarumlaut:778,degree:400,ograve:611,Ccaron:722,ugrave:611,radical:549,Dcaron:722,rcommaaccent:389,Ntilde:722,otilde:611,Rcommaaccent:722,Lcommaaccent:611,Atilde:722,Aogonek:722,Aring:722,Otilde:778,zdotaccent:500,Ecaron:667,Iogonek:278,kcommaaccent:556,minus:584,Icircumflex:278,ncaron:611,tcommaaccent:333,logicalnot:584,odieresis:611,udieresis:611,notequal:549,gcommaaccent:611,eth:611,zcaron:500,ncommaaccent:611,onesuperior:333,imacron:278,Euro:556},"Helvetica-BoldOblique":{space:278,exclam:333,quotedbl:474,numbersign:556,dollar:556,percent:889,ampersand:722,quoteright:278,parenleft:333,parenright:333,asterisk:389,plus:584,comma:278,hyphen:333,period:278,slash:278,zero:556,one:556,two:556,three:556,four:556,five:556,six:556,seven:556,eight:556,nine:556,colon:333,semicolon:333,less:584,equal:584,greater:584,question:611,at:975,A:722,B:722,C:722,D:722,E:667,F:611,G:778,H:722,I:278,J:556,K:722,L:611,M:833,N:722,O:778,P:667,Q:778,R:722,S:667,T:611,U:722,V:667,W:944,X:667,Y:667,Z:611,bracketleft:333,backslash:278,bracketright:333,asciicircum:584,underscore:556,quoteleft:278,a:556,b:611,c:556,d:611,e:556,f:333,g:611,h:611,i:278,j:278,k:556,l:278,m:889,n:611,o:611,p:611,q:611,r:389,s:556,t:333,u:611,v:556,w:778,x:556,y:556,z:500,braceleft:389,bar:280,braceright:389,asciitilde:584,exclamdown:333,cent:556,sterling:556,fraction:167,yen:556,florin:556,section:556,currency:556,quotesingle:238,quotedblleft:500,guillemotleft:556,guilsinglleft:333,guilsinglright:333,fi:611,fl:611,endash:556,dagger:556,daggerdbl:556,periodcentered:278,paragraph:556,bullet:350,quotesinglbase:278,quotedblbase:500,quotedblright:500,guillemotright:556,ellipsis:1e3,perthousand:1e3,questiondown:611,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:1e3,ordfeminine:370,Lslash:611,Oslash:778,OE:1e3,ordmasculine:365,ae:889,dotlessi:278,lslash:278,oslash:611,oe:944,germandbls:611,Idieresis:278,eacute:556,abreve:556,uhungarumlaut:611,ecaron:556,Ydieresis:667,divide:584,Yacute:667,Acircumflex:722,aacute:556,Ucircumflex:722,yacute:556,scommaaccent:556,ecircumflex:556,Uring:722,Udieresis:722,aogonek:556,Uacute:722,uogonek:611,Edieresis:667,Dcroat:722,commaaccent:250,copyright:737,Emacron:667,ccaron:556,aring:556,Ncommaaccent:722,lacute:278,agrave:556,Tcommaaccent:611,Cacute:722,atilde:556,Edotaccent:667,scaron:556,scedilla:556,iacute:278,lozenge:494,Rcaron:722,Gcommaaccent:778,ucircumflex:611,acircumflex:556,Amacron:722,rcaron:389,ccedilla:556,Zdotaccent:611,Thorn:667,Omacron:778,Racute:722,Sacute:667,dcaron:743,Umacron:722,uring:611,threesuperior:333,Ograve:778,Agrave:722,Abreve:722,multiply:584,uacute:611,Tcaron:611,partialdiff:494,ydieresis:556,Nacute:722,icircumflex:278,Ecircumflex:667,adieresis:556,edieresis:556,cacute:556,nacute:611,umacron:611,Ncaron:722,Iacute:278,plusminus:584,brokenbar:280,registered:737,Gbreve:778,Idotaccent:278,summation:600,Egrave:667,racute:389,omacron:611,Zacute:611,Zcaron:611,greaterequal:549,Eth:722,Ccedilla:722,lcommaaccent:278,tcaron:389,eogonek:556,Uogonek:722,Aacute:722,Adieresis:722,egrave:556,zacute:500,iogonek:278,Oacute:778,oacute:611,amacron:556,sacute:556,idieresis:278,Ocircumflex:778,Ugrave:722,Delta:612,thorn:611,twosuperior:333,Odieresis:778,mu:611,igrave:278,ohungarumlaut:611,Eogonek:667,dcroat:611,threequarters:834,Scedilla:667,lcaron:400,Kcommaaccent:722,Lacute:611,trademark:1e3,edotaccent:556,Igrave:278,Imacron:278,Lcaron:611,onehalf:834,lessequal:549,ocircumflex:611,ntilde:611,Uhungarumlaut:722,Eacute:667,emacron:556,gbreve:611,onequarter:834,Scaron:667,Scommaaccent:667,Ohungarumlaut:778,degree:400,ograve:611,Ccaron:722,ugrave:611,radical:549,Dcaron:722,rcommaaccent:389,Ntilde:722,otilde:611,Rcommaaccent:722,Lcommaaccent:611,Atilde:722,Aogonek:722,Aring:722,Otilde:778,zdotaccent:500,Ecaron:667,Iogonek:278,kcommaaccent:556,minus:584,Icircumflex:278,ncaron:611,tcommaaccent:333,logicalnot:584,odieresis:611,udieresis:611,notequal:549,gcommaaccent:611,eth:611,zcaron:500,ncommaaccent:611,onesuperior:333,imacron:278,Euro:556},"Helvetica-Oblique":{space:278,exclam:278,quotedbl:355,numbersign:556,dollar:556,percent:889,ampersand:667,quoteright:222,parenleft:333,parenright:333,asterisk:389,plus:584,comma:278,hyphen:333,period:278,slash:278,zero:556,one:556,two:556,three:556,four:556,five:556,six:556,seven:556,eight:556,nine:556,colon:278,semicolon:278,less:584,equal:584,greater:584,question:556,at:1015,A:667,B:667,C:722,D:722,E:667,F:611,G:778,H:722,I:278,J:500,K:667,L:556,M:833,N:722,O:778,P:667,Q:778,R:722,S:667,T:611,U:722,V:667,W:944,X:667,Y:667,Z:611,bracketleft:278,backslash:278,bracketright:278,asciicircum:469,underscore:556,quoteleft:222,a:556,b:556,c:500,d:556,e:556,f:278,g:556,h:556,i:222,j:222,k:500,l:222,m:833,n:556,o:556,p:556,q:556,r:333,s:500,t:278,u:556,v:500,w:722,x:500,y:500,z:500,braceleft:334,bar:260,braceright:334,asciitilde:584,exclamdown:333,cent:556,sterling:556,fraction:167,yen:556,florin:556,section:556,currency:556,quotesingle:191,quotedblleft:333,guillemotleft:556,guilsinglleft:333,guilsinglright:333,fi:500,fl:500,endash:556,dagger:556,daggerdbl:556,periodcentered:278,paragraph:537,bullet:350,quotesinglbase:222,quotedblbase:333,quotedblright:333,guillemotright:556,ellipsis:1e3,perthousand:1e3,questiondown:611,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:1e3,ordfeminine:370,Lslash:556,Oslash:778,OE:1e3,ordmasculine:365,ae:889,dotlessi:278,lslash:222,oslash:611,oe:944,germandbls:611,Idieresis:278,eacute:556,abreve:556,uhungarumlaut:556,ecaron:556,Ydieresis:667,divide:584,Yacute:667,Acircumflex:667,aacute:556,Ucircumflex:722,yacute:500,scommaaccent:500,ecircumflex:556,Uring:722,Udieresis:722,aogonek:556,Uacute:722,uogonek:556,Edieresis:667,Dcroat:722,commaaccent:250,copyright:737,Emacron:667,ccaron:500,aring:556,Ncommaaccent:722,lacute:222,agrave:556,Tcommaaccent:611,Cacute:722,atilde:556,Edotaccent:667,scaron:500,scedilla:500,iacute:278,lozenge:471,Rcaron:722,Gcommaaccent:778,ucircumflex:556,acircumflex:556,Amacron:667,rcaron:333,ccedilla:500,Zdotaccent:611,Thorn:667,Omacron:778,Racute:722,Sacute:667,dcaron:643,Umacron:722,uring:556,threesuperior:333,Ograve:778,Agrave:667,Abreve:667,multiply:584,uacute:556,Tcaron:611,partialdiff:476,ydieresis:500,Nacute:722,icircumflex:278,Ecircumflex:667,adieresis:556,edieresis:556,cacute:500,nacute:556,umacron:556,Ncaron:722,Iacute:278,plusminus:584,brokenbar:260,registered:737,Gbreve:778,Idotaccent:278,summation:600,Egrave:667,racute:333,omacron:556,Zacute:611,Zcaron:611,greaterequal:549,Eth:722,Ccedilla:722,lcommaaccent:222,tcaron:317,eogonek:556,Uogonek:722,Aacute:667,Adieresis:667,egrave:556,zacute:500,iogonek:222,Oacute:778,oacute:556,amacron:556,sacute:500,idieresis:278,Ocircumflex:778,Ugrave:722,Delta:612,thorn:556,twosuperior:333,Odieresis:778,mu:556,igrave:278,ohungarumlaut:556,Eogonek:667,dcroat:556,threequarters:834,Scedilla:667,lcaron:299,Kcommaaccent:667,Lacute:556,trademark:1e3,edotaccent:556,Igrave:278,Imacron:278,Lcaron:556,onehalf:834,lessequal:549,ocircumflex:556,ntilde:556,Uhungarumlaut:722,Eacute:667,emacron:556,gbreve:556,onequarter:834,Scaron:667,Scommaaccent:667,Ohungarumlaut:778,degree:400,ograve:556,Ccaron:722,ugrave:556,radical:453,Dcaron:722,rcommaaccent:333,Ntilde:722,otilde:556,Rcommaaccent:722,Lcommaaccent:556,Atilde:667,Aogonek:667,Aring:667,Otilde:778,zdotaccent:500,Ecaron:667,Iogonek:278,kcommaaccent:500,minus:584,Icircumflex:278,ncaron:556,tcommaaccent:278,logicalnot:584,odieresis:556,udieresis:556,notequal:549,gcommaaccent:556,eth:556,zcaron:500,ncommaaccent:556,onesuperior:333,imacron:278,Euro:556},Symbol:{space:250,exclam:333,universal:713,numbersign:500,existential:549,percent:833,ampersand:778,suchthat:439,parenleft:333,parenright:333,asteriskmath:500,plus:549,comma:250,minus:549,period:250,slash:278,zero:500,one:500,two:500,three:500,four:500,five:500,six:500,seven:500,eight:500,nine:500,colon:278,semicolon:278,less:549,equal:549,greater:549,question:444,congruent:549,Alpha:722,Beta:667,Chi:722,Delta:612,Epsilon:611,Phi:763,Gamma:603,Eta:722,Iota:333,theta1:631,Kappa:722,Lambda:686,Mu:889,Nu:722,Omicron:722,Pi:768,Theta:741,Rho:556,Sigma:592,Tau:611,Upsilon:690,sigma1:439,Omega:768,Xi:645,Psi:795,Zeta:611,bracketleft:333,therefore:863,bracketright:333,perpendicular:658,underscore:500,radicalex:500,alpha:631,beta:549,chi:549,delta:494,epsilon:439,phi:521,gamma:411,eta:603,iota:329,phi1:603,kappa:549,lambda:549,mu:576,nu:521,omicron:549,pi:549,theta:521,rho:549,sigma:603,tau:439,upsilon:576,omega1:713,omega:686,xi:493,psi:686,zeta:494,braceleft:480,bar:200,braceright:480,similar:549,Euro:750,Upsilon1:620,minute:247,lessequal:549,fraction:167,infinity:713,florin:500,club:753,diamond:753,heart:753,spade:753,arrowboth:1042,arrowleft:987,arrowup:603,arrowright:987,arrowdown:603,degree:400,plusminus:549,second:411,greaterequal:549,multiply:549,proportional:713,partialdiff:494,bullet:460,divide:549,notequal:549,equivalence:549,approxequal:549,ellipsis:1e3,arrowvertex:603,arrowhorizex:1e3,carriagereturn:658,aleph:823,Ifraktur:686,Rfraktur:795,weierstrass:987,circlemultiply:768,circleplus:768,emptyset:823,intersection:768,union:768,propersuperset:713,reflexsuperset:713,notsubset:713,propersubset:713,reflexsubset:713,element:713,notelement:713,angle:768,gradient:713,registerserif:790,copyrightserif:790,trademarkserif:890,product:823,radical:549,dotmath:250,logicalnot:713,logicaland:603,logicalor:603,arrowdblboth:1042,arrowdblleft:987,arrowdblup:603,arrowdblright:987,arrowdbldown:603,lozenge:494,angleleft:329,registersans:790,copyrightsans:790,trademarksans:786,summation:713,parenlefttp:384,parenleftex:384,parenleftbt:384,bracketlefttp:384,bracketleftex:384,bracketleftbt:384,bracelefttp:494,braceleftmid:494,braceleftbt:494,braceex:494,angleright:329,integral:274,integraltp:686,integralex:686,integralbt:686,parenrighttp:384,parenrightex:384,parenrightbt:384,bracketrighttp:384,bracketrightex:384,bracketrightbt:384,bracerighttp:494,bracerightmid:494,bracerightbt:494,apple:790},"Times-Roman":{space:250,exclam:333,quotedbl:408,numbersign:500,dollar:500,percent:833,ampersand:778,quoteright:333,parenleft:333,parenright:333,asterisk:500,plus:564,comma:250,hyphen:333,period:250,slash:278,zero:500,one:500,two:500,three:500,four:500,five:500,six:500,seven:500,eight:500,nine:500,colon:278,semicolon:278,less:564,equal:564,greater:564,question:444,at:921,A:722,B:667,C:667,D:722,E:611,F:556,G:722,H:722,I:333,J:389,K:722,L:611,M:889,N:722,O:722,P:556,Q:722,R:667,S:556,T:611,U:722,V:722,W:944,X:722,Y:722,Z:611,bracketleft:333,backslash:278,bracketright:333,asciicircum:469,underscore:500,quoteleft:333,a:444,b:500,c:444,d:500,e:444,f:333,g:500,h:500,i:278,j:278,k:500,l:278,m:778,n:500,o:500,p:500,q:500,r:333,s:389,t:278,u:500,v:500,w:722,x:500,y:500,z:444,braceleft:480,bar:200,braceright:480,asciitilde:541,exclamdown:333,cent:500,sterling:500,fraction:167,yen:500,florin:500,section:500,currency:500,quotesingle:180,quotedblleft:444,guillemotleft:500,guilsinglleft:333,guilsinglright:333,fi:556,fl:556,endash:500,dagger:500,daggerdbl:500,periodcentered:250,paragraph:453,bullet:350,quotesinglbase:333,quotedblbase:444,quotedblright:444,guillemotright:500,ellipsis:1e3,perthousand:1e3,questiondown:444,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:889,ordfeminine:276,Lslash:611,Oslash:722,OE:889,ordmasculine:310,ae:667,dotlessi:278,lslash:278,oslash:500,oe:722,germandbls:500,Idieresis:333,eacute:444,abreve:444,uhungarumlaut:500,ecaron:444,Ydieresis:722,divide:564,Yacute:722,Acircumflex:722,aacute:444,Ucircumflex:722,yacute:500,scommaaccent:389,ecircumflex:444,Uring:722,Udieresis:722,aogonek:444,Uacute:722,uogonek:500,Edieresis:611,Dcroat:722,commaaccent:250,copyright:760,Emacron:611,ccaron:444,aring:444,Ncommaaccent:722,lacute:278,agrave:444,Tcommaaccent:611,Cacute:667,atilde:444,Edotaccent:611,scaron:389,scedilla:389,iacute:278,lozenge:471,Rcaron:667,Gcommaaccent:722,ucircumflex:500,acircumflex:444,Amacron:722,rcaron:333,ccedilla:444,Zdotaccent:611,Thorn:556,Omacron:722,Racute:667,Sacute:556,dcaron:588,Umacron:722,uring:500,threesuperior:300,Ograve:722,Agrave:722,Abreve:722,multiply:564,uacute:500,Tcaron:611,partialdiff:476,ydieresis:500,Nacute:722,icircumflex:278,Ecircumflex:611,adieresis:444,edieresis:444,cacute:444,nacute:500,umacron:500,Ncaron:722,Iacute:333,plusminus:564,brokenbar:200,registered:760,Gbreve:722,Idotaccent:333,summation:600,Egrave:611,racute:333,omacron:500,Zacute:611,Zcaron:611,greaterequal:549,Eth:722,Ccedilla:667,lcommaaccent:278,tcaron:326,eogonek:444,Uogonek:722,Aacute:722,Adieresis:722,egrave:444,zacute:444,iogonek:278,Oacute:722,oacute:500,amacron:444,sacute:389,idieresis:278,Ocircumflex:722,Ugrave:722,Delta:612,thorn:500,twosuperior:300,Odieresis:722,mu:500,igrave:278,ohungarumlaut:500,Eogonek:611,dcroat:500,threequarters:750,Scedilla:556,lcaron:344,Kcommaaccent:722,Lacute:611,trademark:980,edotaccent:444,Igrave:333,Imacron:333,Lcaron:611,onehalf:750,lessequal:549,ocircumflex:500,ntilde:500,Uhungarumlaut:722,Eacute:611,emacron:444,gbreve:500,onequarter:750,Scaron:556,Scommaaccent:556,Ohungarumlaut:722,degree:400,ograve:500,Ccaron:667,ugrave:500,radical:453,Dcaron:722,rcommaaccent:333,Ntilde:722,otilde:500,Rcommaaccent:667,Lcommaaccent:611,Atilde:722,Aogonek:722,Aring:722,Otilde:722,zdotaccent:444,Ecaron:611,Iogonek:333,kcommaaccent:500,minus:564,Icircumflex:333,ncaron:500,tcommaaccent:278,logicalnot:564,odieresis:500,udieresis:500,notequal:549,gcommaaccent:500,eth:500,zcaron:444,ncommaaccent:500,onesuperior:300,imacron:278,Euro:500},"Times-Bold":{space:250,exclam:333,quotedbl:555,numbersign:500,dollar:500,percent:1e3,ampersand:833,quoteright:333,parenleft:333,parenright:333,asterisk:500,plus:570,comma:250,hyphen:333,period:250,slash:278,zero:500,one:500,two:500,three:500,four:500,five:500,six:500,seven:500,eight:500,nine:500,colon:333,semicolon:333,less:570,equal:570,greater:570,question:500,at:930,A:722,B:667,C:722,D:722,E:667,F:611,G:778,H:778,I:389,J:500,K:778,L:667,M:944,N:722,O:778,P:611,Q:778,R:722,S:556,T:667,U:722,V:722,W:1e3,X:722,Y:722,Z:667,bracketleft:333,backslash:278,bracketright:333,asciicircum:581,underscore:500,quoteleft:333,a:500,b:556,c:444,d:556,e:444,f:333,g:500,h:556,i:278,j:333,k:556,l:278,m:833,n:556,o:500,p:556,q:556,r:444,s:389,t:333,u:556,v:500,w:722,x:500,y:500,z:444,braceleft:394,bar:220,braceright:394,asciitilde:520,exclamdown:333,cent:500,sterling:500,fraction:167,yen:500,florin:500,section:500,currency:500,quotesingle:278,quotedblleft:500,guillemotleft:500,guilsinglleft:333,guilsinglright:333,fi:556,fl:556,endash:500,dagger:500,daggerdbl:500,periodcentered:250,paragraph:540,bullet:350,quotesinglbase:333,quotedblbase:500,quotedblright:500,guillemotright:500,ellipsis:1e3,perthousand:1e3,questiondown:500,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:1e3,ordfeminine:300,Lslash:667,Oslash:778,OE:1e3,ordmasculine:330,ae:722,dotlessi:278,lslash:278,oslash:500,oe:722,germandbls:556,Idieresis:389,eacute:444,abreve:500,uhungarumlaut:556,ecaron:444,Ydieresis:722,divide:570,Yacute:722,Acircumflex:722,
-aacute:500,Ucircumflex:722,yacute:500,scommaaccent:389,ecircumflex:444,Uring:722,Udieresis:722,aogonek:500,Uacute:722,uogonek:556,Edieresis:667,Dcroat:722,commaaccent:250,copyright:747,Emacron:667,ccaron:444,aring:500,Ncommaaccent:722,lacute:278,agrave:500,Tcommaaccent:667,Cacute:722,atilde:500,Edotaccent:667,scaron:389,scedilla:389,iacute:278,lozenge:494,Rcaron:722,Gcommaaccent:778,ucircumflex:556,acircumflex:500,Amacron:722,rcaron:444,ccedilla:444,Zdotaccent:667,Thorn:611,Omacron:778,Racute:722,Sacute:556,dcaron:672,Umacron:722,uring:556,threesuperior:300,Ograve:778,Agrave:722,Abreve:722,multiply:570,uacute:556,Tcaron:667,partialdiff:494,ydieresis:500,Nacute:722,icircumflex:278,Ecircumflex:667,adieresis:500,edieresis:444,cacute:444,nacute:556,umacron:556,Ncaron:722,Iacute:389,plusminus:570,brokenbar:220,registered:747,Gbreve:778,Idotaccent:389,summation:600,Egrave:667,racute:444,omacron:500,Zacute:667,Zcaron:667,greaterequal:549,Eth:722,Ccedilla:722,lcommaaccent:278,tcaron:416,eogonek:444,Uogonek:722,Aacute:722,Adieresis:722,egrave:444,zacute:444,iogonek:278,Oacute:778,oacute:500,amacron:500,sacute:389,idieresis:278,Ocircumflex:778,Ugrave:722,Delta:612,thorn:556,twosuperior:300,Odieresis:778,mu:556,igrave:278,ohungarumlaut:500,Eogonek:667,dcroat:556,threequarters:750,Scedilla:556,lcaron:394,Kcommaaccent:778,Lacute:667,trademark:1e3,edotaccent:444,Igrave:389,Imacron:389,Lcaron:667,onehalf:750,lessequal:549,ocircumflex:500,ntilde:556,Uhungarumlaut:722,Eacute:667,emacron:444,gbreve:500,onequarter:750,Scaron:556,Scommaaccent:556,Ohungarumlaut:778,degree:400,ograve:500,Ccaron:722,ugrave:556,radical:549,Dcaron:722,rcommaaccent:444,Ntilde:722,otilde:500,Rcommaaccent:722,Lcommaaccent:667,Atilde:722,Aogonek:722,Aring:722,Otilde:778,zdotaccent:444,Ecaron:667,Iogonek:389,kcommaaccent:556,minus:570,Icircumflex:389,ncaron:556,tcommaaccent:333,logicalnot:570,odieresis:500,udieresis:556,notequal:549,gcommaaccent:500,eth:500,zcaron:444,ncommaaccent:556,onesuperior:300,imacron:278,Euro:500},"Times-BoldItalic":{space:250,exclam:389,quotedbl:555,numbersign:500,dollar:500,percent:833,ampersand:778,quoteright:333,parenleft:333,parenright:333,asterisk:500,plus:570,comma:250,hyphen:333,period:250,slash:278,zero:500,one:500,two:500,three:500,four:500,five:500,six:500,seven:500,eight:500,nine:500,colon:333,semicolon:333,less:570,equal:570,greater:570,question:500,at:832,A:667,B:667,C:667,D:722,E:667,F:667,G:722,H:778,I:389,J:500,K:667,L:611,M:889,N:722,O:722,P:611,Q:722,R:667,S:556,T:611,U:722,V:667,W:889,X:667,Y:611,Z:611,bracketleft:333,backslash:278,bracketright:333,asciicircum:570,underscore:500,quoteleft:333,a:500,b:500,c:444,d:500,e:444,f:333,g:500,h:556,i:278,j:278,k:500,l:278,m:778,n:556,o:500,p:500,q:500,r:389,s:389,t:278,u:556,v:444,w:667,x:500,y:444,z:389,braceleft:348,bar:220,braceright:348,asciitilde:570,exclamdown:389,cent:500,sterling:500,fraction:167,yen:500,florin:500,section:500,currency:500,quotesingle:278,quotedblleft:500,guillemotleft:500,guilsinglleft:333,guilsinglright:333,fi:556,fl:556,endash:500,dagger:500,daggerdbl:500,periodcentered:250,paragraph:500,bullet:350,quotesinglbase:333,quotedblbase:500,quotedblright:500,guillemotright:500,ellipsis:1e3,perthousand:1e3,questiondown:500,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:944,ordfeminine:266,Lslash:611,Oslash:722,OE:944,ordmasculine:300,ae:722,dotlessi:278,lslash:278,oslash:500,oe:722,germandbls:500,Idieresis:389,eacute:444,abreve:500,uhungarumlaut:556,ecaron:444,Ydieresis:611,divide:570,Yacute:611,Acircumflex:667,aacute:500,Ucircumflex:722,yacute:444,scommaaccent:389,ecircumflex:444,Uring:722,Udieresis:722,aogonek:500,Uacute:722,uogonek:556,Edieresis:667,Dcroat:722,commaaccent:250,copyright:747,Emacron:667,ccaron:444,aring:500,Ncommaaccent:722,lacute:278,agrave:500,Tcommaaccent:611,Cacute:667,atilde:500,Edotaccent:667,scaron:389,scedilla:389,iacute:278,lozenge:494,Rcaron:667,Gcommaaccent:722,ucircumflex:556,acircumflex:500,Amacron:667,rcaron:389,ccedilla:444,Zdotaccent:611,Thorn:611,Omacron:722,Racute:667,Sacute:556,dcaron:608,Umacron:722,uring:556,threesuperior:300,Ograve:722,Agrave:667,Abreve:667,multiply:570,uacute:556,Tcaron:611,partialdiff:494,ydieresis:444,Nacute:722,icircumflex:278,Ecircumflex:667,adieresis:500,edieresis:444,cacute:444,nacute:556,umacron:556,Ncaron:722,Iacute:389,plusminus:570,brokenbar:220,registered:747,Gbreve:722,Idotaccent:389,summation:600,Egrave:667,racute:389,omacron:500,Zacute:611,Zcaron:611,greaterequal:549,Eth:722,Ccedilla:667,lcommaaccent:278,tcaron:366,eogonek:444,Uogonek:722,Aacute:667,Adieresis:667,egrave:444,zacute:389,iogonek:278,Oacute:722,oacute:500,amacron:500,sacute:389,idieresis:278,Ocircumflex:722,Ugrave:722,Delta:612,thorn:500,twosuperior:300,Odieresis:722,mu:576,igrave:278,ohungarumlaut:500,Eogonek:667,dcroat:500,threequarters:750,Scedilla:556,lcaron:382,Kcommaaccent:667,Lacute:611,trademark:1e3,edotaccent:444,Igrave:389,Imacron:389,Lcaron:611,onehalf:750,lessequal:549,ocircumflex:500,ntilde:556,Uhungarumlaut:722,Eacute:667,emacron:444,gbreve:500,onequarter:750,Scaron:556,Scommaaccent:556,Ohungarumlaut:722,degree:400,ograve:500,Ccaron:667,ugrave:556,radical:549,Dcaron:722,rcommaaccent:389,Ntilde:722,otilde:500,Rcommaaccent:667,Lcommaaccent:611,Atilde:667,Aogonek:667,Aring:667,Otilde:722,zdotaccent:389,Ecaron:667,Iogonek:389,kcommaaccent:500,minus:606,Icircumflex:389,ncaron:556,tcommaaccent:278,logicalnot:606,odieresis:500,udieresis:556,notequal:549,gcommaaccent:500,eth:500,zcaron:389,ncommaaccent:556,onesuperior:300,imacron:278,Euro:500},"Times-Italic":{space:250,exclam:333,quotedbl:420,numbersign:500,dollar:500,percent:833,ampersand:778,quoteright:333,parenleft:333,parenright:333,asterisk:500,plus:675,comma:250,hyphen:333,period:250,slash:278,zero:500,one:500,two:500,three:500,four:500,five:500,six:500,seven:500,eight:500,nine:500,colon:333,semicolon:333,less:675,equal:675,greater:675,question:500,at:920,A:611,B:611,C:667,D:722,E:611,F:611,G:722,H:722,I:333,J:444,K:667,L:556,M:833,N:667,O:722,P:611,Q:722,R:611,S:500,T:556,U:722,V:611,W:833,X:611,Y:556,Z:556,bracketleft:389,backslash:278,bracketright:389,asciicircum:422,underscore:500,quoteleft:333,a:500,b:500,c:444,d:500,e:444,f:278,g:500,h:500,i:278,j:278,k:444,l:278,m:722,n:500,o:500,p:500,q:500,r:389,s:389,t:278,u:500,v:444,w:667,x:444,y:444,z:389,braceleft:400,bar:275,braceright:400,asciitilde:541,exclamdown:389,cent:500,sterling:500,fraction:167,yen:500,florin:500,section:500,currency:500,quotesingle:214,quotedblleft:556,guillemotleft:500,guilsinglleft:333,guilsinglright:333,fi:500,fl:500,endash:500,dagger:500,daggerdbl:500,periodcentered:250,paragraph:523,bullet:350,quotesinglbase:333,quotedblbase:556,quotedblright:556,guillemotright:500,ellipsis:889,perthousand:1e3,questiondown:500,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:889,AE:889,ordfeminine:276,Lslash:556,Oslash:722,OE:944,ordmasculine:310,ae:667,dotlessi:278,lslash:278,oslash:500,oe:667,germandbls:500,Idieresis:333,eacute:444,abreve:500,uhungarumlaut:500,ecaron:444,Ydieresis:556,divide:675,Yacute:556,Acircumflex:611,aacute:500,Ucircumflex:722,yacute:444,scommaaccent:389,ecircumflex:444,Uring:722,Udieresis:722,aogonek:500,Uacute:722,uogonek:500,Edieresis:611,Dcroat:722,commaaccent:250,copyright:760,Emacron:611,ccaron:444,aring:500,Ncommaaccent:667,lacute:278,agrave:500,Tcommaaccent:556,Cacute:667,atilde:500,Edotaccent:611,scaron:389,scedilla:389,iacute:278,lozenge:471,Rcaron:611,Gcommaaccent:722,ucircumflex:500,acircumflex:500,Amacron:611,rcaron:389,ccedilla:444,Zdotaccent:556,Thorn:611,Omacron:722,Racute:611,Sacute:500,dcaron:544,Umacron:722,uring:500,threesuperior:300,Ograve:722,Agrave:611,Abreve:611,multiply:675,uacute:500,Tcaron:556,partialdiff:476,ydieresis:444,Nacute:667,icircumflex:278,Ecircumflex:611,adieresis:500,edieresis:444,cacute:444,nacute:500,umacron:500,Ncaron:667,Iacute:333,plusminus:675,brokenbar:275,registered:760,Gbreve:722,Idotaccent:333,summation:600,Egrave:611,racute:389,omacron:500,Zacute:556,Zcaron:556,greaterequal:549,Eth:722,Ccedilla:667,lcommaaccent:278,tcaron:300,eogonek:444,Uogonek:722,Aacute:611,Adieresis:611,egrave:444,zacute:389,iogonek:278,Oacute:722,oacute:500,amacron:500,sacute:389,idieresis:278,Ocircumflex:722,Ugrave:722,Delta:612,thorn:500,twosuperior:300,Odieresis:722,mu:500,igrave:278,ohungarumlaut:500,Eogonek:611,dcroat:500,threequarters:750,Scedilla:500,lcaron:300,Kcommaaccent:667,Lacute:556,trademark:980,edotaccent:444,Igrave:333,Imacron:333,Lcaron:611,onehalf:750,lessequal:549,ocircumflex:500,ntilde:500,Uhungarumlaut:722,Eacute:611,emacron:444,gbreve:500,onequarter:750,Scaron:500,Scommaaccent:500,Ohungarumlaut:722,degree:400,ograve:500,Ccaron:667,ugrave:500,radical:453,Dcaron:722,rcommaaccent:389,Ntilde:667,otilde:500,Rcommaaccent:611,Lcommaaccent:556,Atilde:611,Aogonek:611,Aring:611,Otilde:722,zdotaccent:389,Ecaron:611,Iogonek:333,kcommaaccent:444,minus:675,Icircumflex:333,ncaron:500,tcommaaccent:278,logicalnot:675,odieresis:500,udieresis:500,notequal:549,gcommaaccent:500,eth:500,zcaron:389,ncommaaccent:500,onesuperior:300,imacron:278,Euro:500},ZapfDingbats:{space:278,a1:974,a2:961,a202:974,a3:980,a4:719,a5:789,a119:790,a118:791,a117:690,a11:960,a12:939,a13:549,a14:855,a15:911,a16:933,a105:911,a17:945,a18:974,a19:755,a20:846,a21:762,a22:761,a23:571,a24:677,a25:763,a26:760,a27:759,a28:754,a6:494,a7:552,a8:537,a9:577,a10:692,a29:786,a30:788,a31:788,a32:790,a33:793,a34:794,a35:816,a36:823,a37:789,a38:841,a39:823,a40:833,a41:816,a42:831,a43:923,a44:744,a45:723,a46:749,a47:790,a48:792,a49:695,a50:776,a51:768,a52:792,a53:759,a54:707,a55:708,a56:682,a57:701,a58:826,a59:815,a60:789,a61:789,a62:707,a63:687,a64:696,a65:689,a66:786,a67:787,a68:713,a69:791,a70:785,a71:791,a72:873,a73:761,a74:762,a203:762,a75:759,a204:759,a76:892,a77:892,a78:788,a79:784,a81:438,a82:138,a83:277,a84:415,a97:392,a98:392,a99:668,a100:668,a89:390,a90:390,a93:317,a94:317,a91:276,a92:276,a205:509,a85:509,a206:410,a86:410,a87:234,a88:234,a95:334,a96:334,a101:732,a102:544,a103:544,a104:910,a106:667,a107:760,a108:760,a112:776,a111:595,a110:694,a109:626,a120:788,a121:788,a122:788,a123:788,a124:788,a125:788,a126:788,a127:788,a128:788,a129:788,a130:788,a131:788,a132:788,a133:788,a134:788,a135:788,a136:788,a137:788,a138:788,a139:788,a140:788,a141:788,a142:788,a143:788,a144:788,a145:788,a146:788,a147:788,a148:788,a149:788,a150:788,a151:788,a152:788,a153:788,a154:788,a155:788,a156:788,a157:788,a158:788,a159:788,a160:894,a161:838,a163:1016,a164:458,a196:748,a165:924,a192:748,a166:918,a167:927,a168:928,a169:928,a170:834,a171:873,a172:828,a173:924,a162:924,a174:917,a175:930,a176:931,a177:463,a178:883,a179:836,a193:836,a180:867,a199:867,a181:696,a200:696,a182:874,a201:874,a183:760,a184:946,a197:771,a185:865,a194:771,a198:888,a186:967,a195:888,a187:831,a188:873,a189:927,a190:970,a191:918}},Dc={},Ec=1e3,Fc=function(){function d(a,b,c){this.lexer=a,this.allowStreams=b,this.xref=c,this.imageCache={},this.refill()}return d.prototype={refill:function(){this.buf1=this.lexer.getObj(),this.buf2=this.lexer.getObj()},shift:function(){A(this.buf2,"ID")?(this.buf1=this.buf2,this.buf2=null):(this.buf1=this.buf2,this.buf2=this.lexer.getObj())},tryShift:function(){try{return this.shift(),!0}catch(a){if(a instanceof ja)throw a;return!1}},getObj:function(b){var d=this.buf1;if(this.shift(),d instanceof za)switch(d.cmd){case"BI":return this.makeInlineImage(b);case"[":for(var e=[];!A(this.buf1,"]")&&!R(this.buf1);)e.push(this.getObj(b));return R(this.buf1)&&c("End of file inside array"),this.shift(),e;case"<<":for(var f=new Aa(this.xref);!A(this.buf1,">>")&&!R(this.buf1);)if(z(this.buf1)){var g=this.buf1.name;if(this.shift(),R(this.buf1))break;f.set(g,this.getObj(b))}else a("Malformed dictionary: key must be a name object"),this.shift();return R(this.buf1)&&c("End of file inside dictionary"),A(this.buf2,"stream")?this.allowStreams?this.makeStream(f,b):f:(this.shift(),f);default:return d}if(w(d)){var h=d;if(w(this.buf1)&&A(this.buf2,"R")){var i=new Ba(h,this.buf1);return this.shift(),this.shift(),i}return h}if(y(d)){var j=d;return b&&(j=b.decryptString(j)),j}return d},findDefaultInlineStreamEnd:function(a){for(var b,c,d,f,g=69,h=73,i=32,j=10,k=13,l=a.pos,m=0;-1!==(b=a.getByte());)if(0===m)m=b===g?1:0;else if(1===m)m=b===h?2:0;else if(e(2===m),b===i||b===j||b===k){for(d=5,f=a.peekBytes(d),c=0;d>c;c++)if(b=f[c],b!==j&&b!==k&&(i>b||b>127)){m=0;break}if(2===m)break}else m=0;return a.pos-4-l},findDCTDecodeInlineStreamEnd:function(a){for(var c,d,e,f=a.pos,g=!1;-1!==(c=a.getByte());)if(255===c){switch(a.getByte()){case 0:break;case 255:a.skip(-1);break;case 217:g=!0;break;case 192:case 193:case 194:case 195:case 197:case 198:case 199:case 201:case 202:case 203:case 205:case 206:case 207:case 196:case 204:case 218:case 219:case 220:case 221:case 222:case 223:case 224:case 225:case 226:case 227:case 228:case 229:case 230:case 231:case 232:case 233:case 234:case 235:case 236:case 237:case 238:case 239:case 254:d=a.getUint16(),d>2?a.skip(d-2):a.skip(-2)}if(g)break}return e=a.pos-f,-1===c?(b("Inline DCTDecode image stream: EOI marker not found, searching for /EI/ instead."),a.skip(-e),this.findDefaultInlineStreamEnd(a)):(this.inlineStreamSkipEI(a),e)},findASCII85DecodeInlineStreamEnd:function(a){for(var c,d,e=126,f=62,g=a.pos;-1!==(c=a.getByte());)if(c===e&&a.peekByte()===f){a.skip();break}return d=a.pos-g,-1===c?(b("Inline ASCII85Decode image stream: EOD marker not found, searching for /EI/ instead."),a.skip(-d),this.findDefaultInlineStreamEnd(a)):(this.inlineStreamSkipEI(a),d)},findASCIIHexDecodeInlineStreamEnd:function(a){for(var c,d,e=62,f=a.pos;-1!==(c=a.getByte())&&c!==e;);return d=a.pos-f,-1===c?(b("Inline ASCIIHexDecode image stream: EOD marker not found, searching for /EI/ instead."),a.skip(-d),this.findDefaultInlineStreamEnd(a)):(this.inlineStreamSkipEI(a),d)},inlineStreamSkipEI:function(a){for(var b,c=69,d=73,e=0;-1!==(b=a.getByte());)if(0===e)e=b===c?1:0;else if(1===e)e=b===d?2:0;else if(2===e)break},makeInlineImage:function(a){for(var b=this.lexer,d=b.stream,e=new Aa(this.xref);!A(this.buf1,"ID")&&!R(this.buf1);){z(this.buf1)||c("Dictionary key must be a name object");var f=this.buf1.name;if(this.shift(),R(this.buf1))break;e.set(f,this.getObj(a))}var g,h=e.get("Filter","F");z(h)?g=h.name:C(h)&&z(h[0])&&(g=h[0].name);var i,j,k,l=d.pos;i="DCTDecode"===g||"DCT"===g?this.findDCTDecodeInlineStreamEnd(d):"ASCII85Decide"===g||"A85"===g?this.findASCII85DecodeInlineStreamEnd(d):"ASCIIHexDecode"===g||"AHx"===g?this.findASCIIHexDecodeInlineStreamEnd(d):this.findDefaultInlineStreamEnd(d);var m,n=d.makeSubStream(l,i,e);if(Ec>i){var o=n.getBytes();n.reset();var p=1,q=0;for(j=0,k=o.length;k>j;++j)p+=255&o[j],q+=p;if(m=q%65521<<16|p%65521,this.imageCache.adler32===m)return this.buf2=za.get("EI"),this.shift(),this.imageCache[m].reset(),this.imageCache[m]}return a&&(n=a.createStream(n,i)),n=this.filter(n,e,i),n.dict=e,void 0!==m&&(n.cacheKey="inline_"+i+"_"+m,this.imageCache[m]=n),this.buf2=za.get("EI"),this.shift(),n},makeStream:function(b,d){var e=this.lexer,f=e.stream;e.skipToNextLine();var g=f.pos-1,h=b.get("Length");if(w(h)||(a("Bad "+h+" attribute in stream"),h=0),f.pos=g+h,e.nextChar(),this.tryShift()&&A(this.buf2,"endstream"))this.shift();else{f.pos=g;for(var i,j,k=2048,l=9,m=[101,110,100,115,116,114,101,97,109],n=0,o=!1;f.pos<f.end;){var p=f.peekBytes(k),q=p.length-l;if(0>=q)break;for(o=!1,i=0,j=0;q>i;i++){var r=p[i];if(r!==m[j])i-=j,j=0;else if(j++,j>=l){i++,o=!0;break}}if(o){n+=i-l,f.pos+=i-l;break}n+=q,f.pos+=q}o||c("Missing endstream"),h=n,e.nextChar(),this.shift(),this.shift()}return this.shift(),f=f.makeSubStream(g,h,b),d&&(f=d.createStream(f,h)),f=this.filter(f,b,h),f.dict=b,f},filter:function(a,b,d){var e=b.get("Filter","F"),f=b.get("DecodeParms","DP");if(z(e))return this.makeFilter(a,e.name,d,f);var g=d;if(C(e))for(var h=e,i=f,j=0,k=h.length;k>j;++j)e=h[j],z(e)||c("Bad filter name: "+e),f=null,C(i)&&j in i&&(f=i[j]),a=this.makeFilter(a,e.name,g,f),g=null;return a},makeFilter:function(a,c,d,e){if(0===a.dict.get("Length")&&!d)return b('Empty "'+c+'" stream.'),new _c(a);try{e&&this.xref&&(e=this.xref.fetchIfRef(e));var f=this.xref.stats.streamTypes;if("FlateDecode"===c||"Fl"===c)return f[Y.FLATE]=!0,e?new Rc(new Qc(a,d),d,e):new Qc(a,d);if("LZWDecode"===c||"LZW"===c){f[Y.LZW]=!0;var g=1;return e?(e.has("EarlyChange")&&(g=e.get("EarlyChange")),new Rc(new $c(a,d,g),d,e)):new $c(a,d,g)}return"DCTDecode"===c||"DCT"===c?(f[Y.DCT]=!0,new Sc(a,d,a.dict,this.xref)):"JPXDecode"===c||"JPX"===c?(f[Y.JPX]=!0,new Tc(a,d,a.dict)):"ASCII85Decode"===c||"A85"===c?(f[Y.A85]=!0,new Wc(a,d)):"ASCIIHexDecode"===c||"AHx"===c?(f[Y.AHX]=!0,new Xc(a,d)):"CCITTFaxDecode"===c||"CCF"===c?(f[Y.CCF]=!0,new Zc(a,d,e)):"RunLengthDecode"===c||"RL"===c?(f[Y.RL]=!0,new Yc(a,d)):"JBIG2Decode"===c?(f[Y.JBIG]=!0,new Uc(a,d,a.dict)):(b('filter "'+c+'" not supported yet'),a)}catch(h){if(h instanceof ja)throw h;return b('Invalid stream: "'+h+'"'),new _c(a)}}},d}(),Gc=function(){function a(a,b){this.stream=a,this.nextChar(),this.strBuf=[],this.knownCommands=b}function d(a){return a>=48&&57>=a?15&a:a>=65&&70>=a||a>=97&&102>=a?(15&a)+9:-1}a.isSpace=function(a){return 32===a||9===a||13===a||10===a};var e=[1,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,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,0,2,0,2,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,0,0,2,0,2,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,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,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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];return a.prototype={nextChar:function(){return this.currentChar=this.stream.getByte()},peekChar:function(){return this.stream.peekByte()},getNumber:function(){var a=this.currentChar,d=!1,e=0,f=1;if(45===a?(f=-1,a=this.nextChar(),45===a&&(a=this.nextChar())):43===a&&(a=this.nextChar()),46===a&&(e=10,a=this.nextChar()),48>a||a>57)return c("Invalid number: "+String.fromCharCode(a)),0;for(var g=a-48,h=0,i=1;(a=this.nextChar())>=0;)if(a>=48&&57>=a){var j=a-48;d?h=10*h+j:(0!==e&&(e*=10),g=10*g+j)}else if(46===a){if(0!==e)break;e=1}else if(45===a)b("Badly formated number");else{if(69!==a&&101!==a)break;if(a=this.peekChar(),43===a||45===a)i=45===a?-1:1,this.nextChar();else if(48>a||a>57)break;d=!0}return 0!==e&&(g/=e),d&&(g*=Math.pow(10,i*h)),f*g},getString:function(){var a=1,c=!1,d=this.strBuf;d.length=0;for(var e=this.nextChar();;){var f=!1;switch(0|e){case-1:b("Unterminated string"),c=!0;break;case 40:++a,d.push("(");break;case 41:0===--a?(this.nextChar(),c=!0):d.push(")");break;case 92:switch(e=this.nextChar()){case-1:b("Unterminated string"),c=!0;break;case 110:d.push("\n");break;case 114:d.push("\r");break;case 116:d.push(" ");break;case 98:d.push("\b");break;case 102:d.push("\f");break;case 92:case 40:case 41:d.push(String.fromCharCode(e));break;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:var g=15&e;e=this.nextChar(),f=!0,e>=48&&55>=e&&(g=(g<<3)+(15&e),e=this.nextChar(),e>=48&&55>=e&&(f=!1,g=(g<<3)+(15&e))),d.push(String.fromCharCode(g));break;case 13:10===this.peekChar()&&this.nextChar();break;case 10:break;default:d.push(String.fromCharCode(e))}break;default:d.push(String.fromCharCode(e))}if(c)break;f||(e=this.nextChar())}return d.join("")},getName:function(){var a,f=this.strBuf;for(f.length=0;(a=this.nextChar())>=0&&!e[a];)if(35===a){a=this.nextChar();var g=d(a);if(-1!==g){var h=d(this.nextChar());-1===h&&c("Illegal digit in hex char in name: "+h),f.push(String.fromCharCode(g<<4|h))}else f.push("#",String.fromCharCode(a))}else f.push(String.fromCharCode(a));return f.length>127&&b("name token is longer than allowed by the spec: "+f.length),ya.get(f.join(""))},getHexString:function(){var a=this.strBuf;a.length=0;for(var c,f,g=this.currentChar,h=!0;;){if(0>g){b("Unterminated hex string");break}if(62===g){this.nextChar();break}if(1!==e[g]){if(h){if(c=d(g),-1===c){b('Ignoring invalid character "'+g+'" in hex string'),g=this.nextChar();continue}}else{if(f=d(g),-1===f){b('Ignoring invalid character "'+g+'" in hex string'),g=this.nextChar();continue}a.push(String.fromCharCode(c<<4|f))}h=!h,g=this.nextChar()}else g=this.nextChar()}return a.join("")},getObj:function(){for(var a=!1,b=this.currentChar;;){if(0>b)return Dc;if(a)(10===b||13===b)&&(a=!1);else if(37===b)a=!0;else if(1!==e[b])break;b=this.nextChar()}switch(0|b){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return this.getNumber();case 40:return this.getString();case 47:return this.getName();case 91:return this.nextChar(),za.get("[");case 93:return this.nextChar(),za.get("]");case 60:return b=this.nextChar(),60===b?(this.nextChar(),za.get("<<")):this.getHexString();case 62:return b=this.nextChar(),62===b?(this.nextChar(),za.get(">>")):za.get(">");case 123:return this.nextChar(),za.get("{");case 125:return this.nextChar(),za.get("}");case 41:c("Illegal character: "+b)}for(var d=String.fromCharCode(b),f=this.knownCommands,g=f&&void 0!==f[d];(b=this.nextChar())>=0&&!e[b];){var h=d+String.fromCharCode(b);if(g&&void 0===f[h])break;128===d.length&&c("Command token too long: "+d.length),d=h,g=f&&void 0!==f[d]}return"true"===d?!0:"false"===d?!1:"null"===d?null:za.get(d)},skipToNextLine:function(){for(var a=this.currentChar;a>=0;){if(13===a){a=this.nextChar(),10===a&&this.nextChar();break}if(10===a){this.nextChar();break}a=this.nextChar()}}},a}(),Hc={create:function(a){function b(a,b){var c=j.get(a);if(w(c)&&(b?c>=0:c>0))return c;throw new Error('The "'+a+'" parameter in the linearization dictionary is invalid.')}function c(){var a,b,c=j.get("H");if(C(c)&&(2===(a=c.length)||4===a)){for(var d=0;a>d;d++)if(!(w(b=c[d])&&b>0))throw new Error("Hint ("+d+") in the linearization dictionary is invalid.");return c}throw new Error("Hint array in the linearization dictionary is invalid.")}var d,e,f=new Fc(new Gc(a),!1,null),g=f.getObj(),h=f.getObj(),i=f.getObj(),j=f.getObj();if(!(w(g)&&w(h)&&A(i,"obj")&&B(j)&&x(d=j.get("Linearized"))&&d>0))return null;if((e=b("L"))!==a.length)throw new Error('The "L" parameter in the linearization dictionary does not equal the stream length.');return{length:e,hints:c(),objectNumberFirst:b("O"),endFirst:b("E"),numPages:b("N"),mainXRefEntriesOffset:b("T"),pageFirst:j.has("P")?b("P",!0):0}}},Ic=function(){function a(a){this.lexer=a,this.operators=[],this.token=null,this.prev=null}return a.prototype={nextToken:function(){this.prev=this.token,this.token=this.lexer.getToken()},accept:function(a){return this.token.type===a?(this.nextToken(),!0):!1},expect:function(a){return this.accept(a)?!0:void c("Unexpected symbol: found "+this.token.type+" expected "+a+".")},parse:function(){return this.nextToken(),this.expect(Jc.LBRACE),this.parseBlock(),this.expect(Jc.RBRACE),this.operators},parseBlock:function(){for(;;)if(this.accept(Jc.NUMBER))this.operators.push(this.prev.value);else if(this.accept(Jc.OPERATOR))this.operators.push(this.prev.value);else{if(!this.accept(Jc.LBRACE))return;this.parseCondition()}},parseCondition:function(){var a=this.operators.length;if(this.operators.push(null,null),this.parseBlock(),this.expect(Jc.RBRACE),this.accept(Jc.IF))this.operators[a]=this.operators.length,this.operators[a+1]="jz";else if(this.accept(Jc.LBRACE)){var b=this.operators.length;this.operators.push(null,null);var d=this.operators.length;this.parseBlock(),this.expect(Jc.RBRACE),this.expect(Jc.IFELSE),this.operators[b]=this.operators.length,this.operators[b+1]="j",this.operators[a]=d,this.operators[a+1]="jz"}else c("PS Function: error parsing conditional.")}},a}(),Jc={LBRACE:0,RBRACE:1,NUMBER:2,OPERATOR:3,IF:4,IFELSE:5},Kc=function(){function a(a,b){this.type=a,this.value=b}var b={};return a.getOperator=function(c){var d=b[c];return d?d:b[c]=new a(Jc.OPERATOR,c)},a.LBRACE=new a(Jc.LBRACE,"{"),a.RBRACE=new a(Jc.RBRACE,"}"),a.IF=new a(Jc.IF,"IF"),a.IFELSE=new a(Jc.IFELSE,"IFELSE"),a}(),Lc=function(){function a(a){this.stream=a,this.nextChar(),this.strBuf=[]}return a.prototype={nextChar:function(){return this.currentChar=this.stream.getByte()},getToken:function(){for(var a=!1,b=this.currentChar;;){if(0>b)return Dc;if(a)(10===b||13===b)&&(a=!1);else if(37===b)a=!0;else if(!Gc.isSpace(b))break;b=this.nextChar()}switch(0|b){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return new Kc(Jc.NUMBER,this.getNumber());case 123:return this.nextChar(),Kc.LBRACE;case 125:return this.nextChar(),Kc.RBRACE}var c=this.strBuf;for(c.length=0,c[0]=String.fromCharCode(b);(b=this.nextChar())>=0&&(b>=65&&90>=b||b>=97&&122>=b);)c.push(String.fromCharCode(b));var d=c.join("");switch(d.toLowerCase()){case"if":return Kc.IF;case"ifelse":return Kc.IFELSE;default:return Kc.getOperator(d)}},getNumber:function(){var a=this.currentChar,b=this.strBuf;for(b.length=0,b[0]=String.fromCharCode(a);(a=this.nextChar())>=0&&(a>=48&&57>=a||45===a||46===a);)b.push(String.fromCharCode(a));var d=parseFloat(b.join(""));return isNaN(d)&&c("Invalid floating point number: "+d),d}},a}(),Mc=function(){function a(a,b,c,d){this.bytes=a instanceof Uint8Array?a:new Uint8Array(a),this.start=b||0,this.pos=this.start,this.end=b+c||this.bytes.length,this.dict=d}return a.prototype={get length(){return this.end-this.start},get isEmpty(){return 0===this.length},getByte:function(){return this.pos>=this.end?-1:this.bytes[this.pos++]},getUint16:function(){var a=this.getByte(),b=this.getByte();return-1===a||-1===b?-1:(a<<8)+b},getInt32:function(){var a=this.getByte(),b=this.getByte(),c=this.getByte(),d=this.getByte();return(a<<24)+(b<<16)+(c<<8)+d},getBytes:function(a){var b=this.bytes,c=this.pos,d=this.end;if(!a)return b.subarray(c,d);var e=c+a;return e>d&&(e=d),this.pos=e,b.subarray(c,e)},peekByte:function(){var a=this.getByte();return this.pos--,a},peekBytes:function(a){var b=this.getBytes(a);return this.pos-=b.length,b},skip:function(a){a||(a=1),this.pos+=a},reset:function(){this.pos=this.start},moveStart:function(){this.start=this.pos},makeSubStream:function(b,c,d){return new a(this.bytes.buffer,b,c,d)},isStream:!0},a}(),Nc=function(){function a(a){for(var b=a.length,c=new Uint8Array(b),d=0;b>d;++d)c[d]=a.charCodeAt(d);Mc.call(this,c)}return a.prototype=Mc.prototype,a}(),Oc=function(){function a(a){if(this.pos=0,this.bufferLength=0,this.eof=!1,this.buffer=b,this.minBufferLength=512,a)for(;this.minBufferLength<a;)this.minBufferLength*=2}var b=new Uint8Array(0);return a.prototype={get isEmpty(){for(;!this.eof&&0===this.bufferLength;)this.readBlock();return 0===this.bufferLength},ensureBuffer:function(a){var b=this.buffer;if(a<=b.byteLength)return b;for(var c=this.minBufferLength;a>c;)c*=2;var d=new Uint8Array(c);return d.set(b),this.buffer=d},getByte:function(){for(var a=this.pos;this.bufferLength<=a;){if(this.eof)return-1;this.readBlock()}return this.buffer[this.pos++]},getUint16:function(){var a=this.getByte(),b=this.getByte();return-1===a||-1===b?-1:(a<<8)+b},getInt32:function(){var a=this.getByte(),b=this.getByte(),c=this.getByte(),d=this.getByte();return(a<<24)+(b<<16)+(c<<8)+d},getBytes:function(a){var b,c=this.pos;if(a){for(this.ensureBuffer(c+a),b=c+a;!this.eof&&this.bufferLength<b;)this.readBlock();var d=this.bufferLength;b>d&&(b=d)}else{for(;!this.eof;)this.readBlock();b=this.bufferLength}return this.pos=b,this.buffer.subarray(c,b)},peekByte:function(){var a=this.getByte();return this.pos--,a},peekBytes:function(a){var b=this.getBytes(a);return this.pos-=b.length,b},makeSubStream:function(a,b,c){for(var d=a+b;this.bufferLength<=d&&!this.eof;)this.readBlock();return new Mc(this.buffer,a,b,c)},skip:function(a){a||(a=1),this.pos+=a},reset:function(){this.pos=0},getBaseStreams:function(){return this.str&&this.str.getBaseStreams?this.str.getBaseStreams():[]}},a}(),Pc=function(){function a(a){this.streams=a,Oc.call(this,null)}return a.prototype=Object.create(Oc.prototype),a.prototype.readBlock=function(){var a=this.streams;if(0===a.length)return void(this.eof=!0);var b=a.shift(),c=b.getBytes(),d=this.bufferLength,e=d+c.length,f=this.ensureBuffer(e);f.set(c,d),this.bufferLength=e},a.prototype.getBaseStreams=function(){for(var a=[],b=0,c=this.streams.length;c>b;b++){var d=this.streams[b];d.getBaseStreams&&na.appendToArray(a,d.getBaseStreams())}return a},a}(),Qc=function(){function a(a,b){this.str=a,this.dict=a.dict;var d=a.getByte(),e=a.getByte();(-1===d||-1===e)&&c("Invalid header in flate stream: "+d+", "+e),8!==(15&d)&&c("Unknown compression method in flate stream: "+d+", "+e),((d<<8)+e)%31!==0&&c("Bad FCHECK in flate stream: "+d+", "+e),32&e&&c("FDICT bit set in flate stream: "+d+", "+e),this.codeSize=0,this.codeBuf=0,Oc.call(this,b)}var b=new Int32Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new Int32Array([3,4,5,6,7,8,9,10,65547,65549,65551,65553,131091,131095,131099,131103,196643,196651,196659,196667,262211,262227,262243,262259,327811,327843,327875,327907,258,258,258]),e=new Int32Array([1,2,3,4,65541,65543,131081,131085,196625,196633,262177,262193,327745,327777,393345,393409,459009,459137,524801,525057,590849,591361,657409,658433,724993,727041,794625,798721,868353,876545]),f=[new Int32Array([459008,524368,524304,524568,459024,524400,524336,590016,459016,524384,524320,589984,524288,524416,524352,590048,459012,524376,524312,589968,459028,524408,524344,590032,459020,524392,524328,59e4,524296,524424,524360,590064,459010,524372,524308,524572,459026,524404,524340,590024,459018,524388,524324,589992,524292,524420,524356,590056,459014,524380,524316,589976,459030,524412,524348,590040,459022,524396,524332,590008,524300,524428,524364,590072,459009,524370,524306,524570,459025,524402,524338,590020,459017,524386,524322,589988,524290,524418,524354,590052,459013,524378,524314,589972,459029,524410,524346,590036,459021,524394,524330,590004,524298,524426,524362,590068,459011,524374,524310,524574,459027,524406,524342,590028,459019,524390,524326,589996,524294,524422,524358,590060,459015,524382,524318,589980,459031,524414,524350,590044,459023,524398,524334,590012,524302,524430,524366,590076,459008,524369,524305,524569,459024,524401,524337,590018,459016,524385,524321,589986,524289,524417,524353,590050,459012,524377,524313,589970,459028,524409,524345,590034,459020,524393,524329,590002,524297,524425,524361,590066,459010,524373,524309,524573,459026,524405,524341,590026,459018,524389,524325,589994,524293,524421,524357,590058,459014,524381,524317,589978,459030,524413,524349,590042,459022,524397,524333,590010,524301,524429,524365,590074,459009,524371,524307,524571,459025,524403,524339,590022,459017,524387,524323,589990,524291,524419,524355,590054,459013,524379,524315,589974,459029,524411,524347,590038,459021,524395,524331,590006,524299,524427,524363,590070,459011,524375,524311,524575,459027,524407,524343,590030,459019,524391,524327,589998,524295,524423,524359,590062,459015,524383,524319,589982,459031,524415,524351,590046,459023,524399,524335,590014,524303,524431,524367,590078,459008,524368,524304,524568,459024,524400,524336,590017,459016,524384,524320,589985,524288,524416,524352,590049,459012,524376,524312,589969,459028,524408,524344,590033,459020,524392,524328,590001,524296,524424,524360,590065,459010,524372,524308,524572,459026,524404,524340,590025,459018,524388,524324,589993,524292,524420,524356,590057,459014,524380,524316,589977,459030,524412,524348,590041,459022,524396,524332,590009,524300,524428,524364,590073,459009,524370,524306,524570,459025,524402,524338,590021,459017,524386,524322,589989,524290,524418,524354,590053,459013,524378,524314,589973,459029,524410,524346,590037,459021,524394,524330,590005,524298,524426,524362,590069,459011,524374,524310,524574,459027,524406,524342,590029,459019,524390,524326,589997,524294,524422,524358,590061,459015,524382,524318,589981,459031,524414,524350,590045,459023,524398,524334,590013,524302,524430,524366,590077,459008,524369,524305,524569,459024,524401,524337,590019,459016,524385,524321,589987,524289,524417,524353,590051,459012,524377,524313,589971,459028,524409,524345,590035,459020,524393,524329,590003,524297,524425,524361,590067,459010,524373,524309,524573,459026,524405,524341,590027,459018,524389,524325,589995,524293,524421,524357,590059,459014,524381,524317,589979,459030,524413,524349,590043,459022,524397,524333,590011,524301,524429,524365,590075,459009,524371,524307,524571,459025,524403,524339,590023,459017,524387,524323,589991,524291,524419,524355,590055,459013,524379,524315,589975,459029,524411,524347,590039,459021,524395,524331,590007,524299,524427,524363,590071,459011,524375,524311,524575,459027,524407,524343,590031,459019,524391,524327,589999,524295,524423,524359,590063,459015,524383,524319,589983,459031,524415,524351,590047,459023,524399,524335,590015,524303,524431,524367,590079]),9],g=[new Int32Array([327680,327696,327688,327704,327684,327700,327692,327708,327682,327698,327690,327706,327686,327702,327694,0,327681,327697,327689,327705,327685,327701,327693,327709,327683,327699,327691,327707,327687,327703,327695,0]),5];
-return a.prototype=Object.create(Oc.prototype),a.prototype.getBits=function(a){for(var b,d=this.str,e=this.codeSize,f=this.codeBuf;a>e;)-1===(b=d.getByte())&&c("Bad encoding in flate stream"),f|=b<<e,e+=8;return b=f&(1<<a)-1,this.codeBuf=f>>a,this.codeSize=e-=a,b},a.prototype.getCode=function(a){for(var b,d=this.str,e=a[0],f=a[1],g=this.codeSize,h=this.codeBuf;f>g&&-1!==(b=d.getByte());)h|=b<<g,g+=8;var i=e[h&(1<<f)-1],j=i>>16,k=65535&i;return(1>j||j>g)&&c("Bad encoding in flate stream"),this.codeBuf=h>>j,this.codeSize=g-j,k},a.prototype.generateHuffmanTable=function(a){var b,c=a.length,d=0;for(b=0;c>b;++b)a[b]>d&&(d=a[b]);for(var e=1<<d,f=new Int32Array(e),g=1,h=0,i=2;d>=g;++g,h<<=1,i<<=1)for(var j=0;c>j;++j)if(a[j]===g){var k=0,l=h;for(b=0;g>b;++b)k=k<<1|1&l,l>>=1;for(b=k;e>b;b+=i)f[b]=g<<16|j;++h}return[f,d]},a.prototype.readBlock=function(){var a,h,i=this.str,j=this.getBits(3);if(1&j&&(this.eof=!0),j>>=1,0!==j){var k,l;if(1===j)k=f,l=g;else if(2===j){var m,n=this.getBits(5)+257,o=this.getBits(5)+1,p=this.getBits(4)+4,q=new Uint8Array(b.length);for(m=0;p>m;++m)q[b[m]]=this.getBits(3);var r=this.generateHuffmanTable(q);h=0,m=0;for(var s,t,u,v=n+o,w=new Uint8Array(v);v>m;){var x=this.getCode(r);if(16===x)s=2,t=3,u=h;else if(17===x)s=3,t=3,u=h=0;else{if(18!==x){w[m++]=h=x;continue}s=7,t=11,u=h=0}for(var y=this.getBits(s)+t;y-- >0;)w[m++]=u}k=this.generateHuffmanTable(w.subarray(0,n)),l=this.generateHuffmanTable(w.subarray(n,v))}else c("Unknown block type in flate stream");a=this.buffer;for(var z=a?a.length:0,A=this.bufferLength;;){var B=this.getCode(k);if(256>B)A+1>=z&&(a=this.ensureBuffer(A+1),z=a.length),a[A++]=B;else{if(256===B)return void(this.bufferLength=A);B-=257,B=d[B];var C=B>>16;C>0&&(C=this.getBits(C)),h=(65535&B)+C,B=this.getCode(l),B=e[B],C=B>>16,C>0&&(C=this.getBits(C));var D=(65535&B)+C;A+h>=z&&(a=this.ensureBuffer(A+h),z=a.length);for(var E=0;h>E;++E,++A)a[A]=a[A-D]}}}else{var F;-1===(F=i.getByte())&&c("Bad block header in flate stream");var G=F;-1===(F=i.getByte())&&c("Bad block header in flate stream"),G|=F<<8,-1===(F=i.getByte())&&c("Bad block header in flate stream");var H=F;-1===(F=i.getByte())&&c("Bad block header in flate stream"),H|=F<<8,H===(65535&~G)||0===G&&0===H||c("Bad uncompressed block length in flate stream"),this.codeBuf=0,this.codeSize=0;var I=this.bufferLength;a=this.ensureBuffer(I+G);var J=I+G;if(this.bufferLength=J,0===G)-1===i.peekByte()&&(this.eof=!0);else for(var K=I;J>K;++K){if(-1===(F=i.getByte())){this.eof=!0;break}a[K]=F}}},a}(),Rc=function(){function a(a,b,d){var e=this.predictor=d.get("Predictor")||1;if(1>=e)return a;2!==e&&(10>e||e>15)&&c("Unsupported predictor: "+e),2===e?this.readBlock=this.readBlockTiff:this.readBlock=this.readBlockPng,this.str=a,this.dict=a.dict;var f=this.colors=d.get("Colors")||1,g=this.bits=d.get("BitsPerComponent")||8,h=this.columns=d.get("Columns")||1;return this.pixBytes=f*g+7>>3,this.rowBytes=h*f*g+7>>3,Oc.call(this,b),this}return a.prototype=Object.create(Oc.prototype),a.prototype.readBlockTiff=function(){var a=this.rowBytes,b=this.bufferLength,c=this.ensureBuffer(b+a),d=this.bits,e=this.colors,f=this.str.getBytes(a);if(this.eof=!f.length,!this.eof){var g,h=0,i=0,j=0,k=0,l=b;if(1===d)for(g=0;a>g;++g){var m=f[g];h=h<<8|m,c[l++]=255&(m^h>>e),h&=65535}else if(8===d){for(g=0;e>g;++g)c[l++]=f[g];for(;a>g;++g)c[l]=c[l-e]+f[g],l++}else{var n=new Uint8Array(e+1),o=(1<<d)-1,p=0,q=b,r=this.columns;for(g=0;r>g;++g)for(var s=0;e>s;++s)d>j&&(h=h<<8|255&f[p++],j+=8),n[s]=n[s]+(h>>j-d)&o,j-=d,i=i<<d|n[s],k+=d,k>=8&&(c[q++]=i>>k-8&255,k-=8);k>0&&(c[q++]=(i<<8-k)+(h&(1<<8-k)-1))}this.bufferLength+=a}},a.prototype.readBlockPng=function(){var a=this.rowBytes,b=this.pixBytes,d=this.str.getByte(),e=this.str.getBytes(a);if(this.eof=!e.length,!this.eof){var f=this.bufferLength,g=this.ensureBuffer(f+a),h=g.subarray(f-a,f);0===h.length&&(h=new Uint8Array(a));var i,j,k,l=f;switch(d){case 0:for(i=0;a>i;++i)g[l++]=e[i];break;case 1:for(i=0;b>i;++i)g[l++]=e[i];for(;a>i;++i)g[l]=g[l-b]+e[i]&255,l++;break;case 2:for(i=0;a>i;++i)g[l++]=h[i]+e[i]&255;break;case 3:for(i=0;b>i;++i)g[l++]=(h[i]>>1)+e[i];for(;a>i;++i)g[l]=(h[i]+g[l-b]>>1)+e[i]&255,l++;break;case 4:for(i=0;b>i;++i)j=h[i],k=e[i],g[l++]=j+k;for(;a>i;++i){j=h[i];var m=h[i-b],n=g[l-b],o=n+j-m,p=o-n;0>p&&(p=-p);var q=o-j;0>q&&(q=-q);var r=o-m;0>r&&(r=-r),k=e[i],q>=p&&r>=p?g[l++]=n+k:r>=q?g[l++]=j+k:g[l++]=m+k}break;default:c("Unsupported predictor: "+d)}this.bufferLength+=a}},a}(),Sc=function(){function a(a,b,c,d){for(var e;-1!==(e=a.getByte());)if(255===e){a.skip(-1);break}this.stream=a,this.maybeLength=b,this.dict=c,Oc.call(this,b)}return a.prototype=Object.create(Oc.prototype),Object.defineProperty(a.prototype,"bytes",{get:function(){return g(this,"bytes",this.stream.getBytes(this.maybeLength))},configurable:!0}),a.prototype.ensureBuffer=function(a){if(!this.bufferLength)try{var b=new gd;if(this.forceRGB&&this.dict&&C(this.dict.get("Decode"))){for(var d=this.dict.get("Decode"),e=this.dict.get("BitsPerComponent")||8,f=d.length,g=new Int32Array(f),h=!1,i=(1<<e)-1,j=0;f>j;j+=2)g[j]=256*(d[j+1]-d[j])|0,g[j+1]=d[j]*i|0,(256!==g[j]||0!==g[j+1])&&(h=!0);h&&(b.decodeTransform=g)}b.parse(this.bytes);var k=b.getData(this.drawWidth,this.drawHeight,this.forceRGB);this.buffer=k,this.bufferLength=k.length,this.eof=!0}catch(l){c("JPEG error: "+l)}},a.prototype.getBytes=function(a){return this.ensureBuffer(),this.buffer},a.prototype.getIR=function(){return PDFJS.createObjectURL(this.bytes,"image/jpeg")},a.prototype.isNativelySupported=function(a,b){var c=Xa.parse(this.dict.get("ColorSpace","CS"),a,b);return("DeviceGray"===c.name||"DeviceRGB"===c.name)&&c.isDefaultDecode(this.dict.get("Decode","D"))},a.prototype.isNativelyDecodable=function(a,b){var c=Xa.parse(this.dict.get("ColorSpace","CS"),a,b);return(1===c.numComps||3===c.numComps)&&c.isDefaultDecode(this.dict.get("Decode","D"))},a}(),Tc=function(){function a(a,b,c){this.stream=a,this.maybeLength=b,this.dict=c,Oc.call(this,b)}return a.prototype=Object.create(Oc.prototype),Object.defineProperty(a.prototype,"bytes",{get:function(){return g(this,"bytes",this.stream.getBytes(this.maybeLength))},configurable:!0}),a.prototype.ensureBuffer=function(a){if(!this.bufferLength){var b=new hd;b.parse(this.bytes);var c=b.width,d=b.height,e=b.componentsCount,f=b.tiles.length;if(1===f)this.buffer=b.tiles[0].items;else{for(var g=new Uint8Array(c*d*e),h=0;f>h;h++)for(var i=b.tiles[h],j=i.width,k=i.height,l=i.left,m=i.top,n=i.items,o=0,p=(c*m+l)*e,q=c*e,r=j*e,s=0;k>s;s++){var t=n.subarray(o,o+r);g.set(t,p),o+=r,p+=q}this.buffer=g}this.bufferLength=this.buffer.length,this.eof=!0}},a}(),Uc=function(){function a(a,b,c){this.stream=a,this.maybeLength=b,this.dict=c,Oc.call(this,b)}return a.prototype=Object.create(Oc.prototype),Object.defineProperty(a.prototype,"bytes",{get:function(){return g(this,"bytes",this.stream.getBytes(this.maybeLength))},configurable:!0}),a.prototype.ensureBuffer=function(a){if(!this.bufferLength){var c=new id,d=[],e=this.dict.xref,f=e.fetchIfRef(this.dict.get("DecodeParms"));if(C(f)&&(f.length>1&&b("JBIG2 - 'DecodeParms' array with multiple elements not supported."),f=e.fetchIfRef(f[0])),f&&f.has("JBIG2Globals")){var g=f.get("JBIG2Globals"),h=g.getBytes();d.push({data:h,start:0,end:h.length})}d.push({data:this.bytes,start:0,end:this.bytes.length});for(var i=c.parseChunks(d),j=i.length,k=0;j>k;k++)i[k]^=255;this.buffer=i,this.bufferLength=j,this.eof=!0}},a}(),Vc=function(){function a(a,b,c){this.str=a,this.dict=a.dict,this.decrypt=c,this.nextChunk=null,this.initialized=!1,Oc.call(this,b)}var b=512;return a.prototype=Object.create(Oc.prototype),a.prototype.readBlock=function(){var a;if(this.initialized?a=this.nextChunk:(a=this.str.getBytes(b),this.initialized=!0),!a||0===a.length)return void(this.eof=!0);this.nextChunk=this.str.getBytes(b);var c=this.nextChunk&&this.nextChunk.length>0,d=this.decrypt;a=d(a,!c);var e,f=this.bufferLength,g=a.length,h=this.ensureBuffer(f+g);for(e=0;g>e;e++)h[f++]=a[e];this.bufferLength=f},a}(),Wc=function(){function a(a,b){this.str=a,this.dict=a.dict,this.input=new Uint8Array(5),b&&(b=.8*b),Oc.call(this,b)}return a.prototype=Object.create(Oc.prototype),a.prototype.readBlock=function(){for(var a=126,b=122,c=-1,d=this.str,e=d.getByte();Gc.isSpace(e);)e=d.getByte();if(e===c||e===a)return void(this.eof=!0);var f,g,h=this.bufferLength;if(e===b){for(f=this.ensureBuffer(h+4),g=0;4>g;++g)f[h+g]=0;this.bufferLength+=4}else{var i=this.input;for(i[0]=e,g=1;5>g;++g){for(e=d.getByte();Gc.isSpace(e);)e=d.getByte();if(i[g]=e,e===c||e===a)break}if(f=this.ensureBuffer(h+g-1),this.bufferLength+=g-1,5>g){for(;5>g;++g)i[g]=117;this.eof=!0}var j=0;for(g=0;5>g;++g)j=85*j+(i[g]-33);for(g=3;g>=0;--g)f[h+g]=255&j,j>>=8}},a}(),Xc=function(){function a(a,b){this.str=a,this.dict=a.dict,this.firstDigit=-1,b&&(b=.5*b),Oc.call(this,b)}return a.prototype=Object.create(Oc.prototype),a.prototype.readBlock=function(){var a=8e3,b=this.str.getBytes(a);if(!b.length)return void(this.eof=!0);for(var c=b.length+1>>1,d=this.ensureBuffer(this.bufferLength+c),e=this.bufferLength,f=this.firstDigit,g=0,h=b.length;h>g;g++){var i,j=b[g];if(j>=48&&57>=j)i=15&j;else{if(!(j>=65&&70>=j||j>=97&&102>=j)){if(62===j){this.eof=!0;break}continue}i=(15&j)+9}0>f?f=i:(d[e++]=f<<4|i,f=-1)}f>=0&&this.eof&&(d[e++]=f<<4,f=-1),this.firstDigit=f,this.bufferLength=e},a}(),Yc=function(){function a(a,b){this.str=a,this.dict=a.dict,Oc.call(this,b)}return a.prototype=Object.create(Oc.prototype),a.prototype.readBlock=function(){var a=this.str.getBytes(2);if(!a||a.length<2||128===a[0])return void(this.eof=!0);var b,c=this.bufferLength,d=a[0];if(128>d){if(b=this.ensureBuffer(c+d+1),b[c++]=a[1],d>0){var e=this.str.getBytes(d);b.set(e,c),c+=d}}else{d=257-d;var f=a[1];b=this.ensureBuffer(c+d+1);for(var g=0;d>g;g++)b[c++]=f}this.bufferLength=c},a}(),Zc=function(){function b(a,b,c){this.str=a,this.dict=a.dict,c=c||Aa.empty,this.encoding=c.get("K")||0,this.eoline=c.get("EndOfLine")||!1,this.byteAlign=c.get("EncodedByteAlign")||!1,this.columns=c.get("Columns")||1728,this.rows=c.get("Rows")||0;var d=c.get("EndOfBlock");(null===d||void 0===d)&&(d=!0),this.eoblock=d,this.black=c.get("BlackIs1")||!1,this.codingLine=new Uint32Array(this.columns+1),this.refLine=new Uint32Array(this.columns+2),this.codingLine[0]=this.columns,this.codingPos=0,this.row=0,this.nextLine2D=this.encoding<0,this.inputBits=0,this.inputBuf=0,this.outputBits=0;for(var e;0===(e=this.lookBits(12));)this.eatBits(1);1===e&&this.eatBits(12),this.encoding>0&&(this.nextLine2D=!this.lookBits(1),this.eatBits(1)),Oc.call(this,b)}var c=-2,d=0,e=1,f=2,g=3,h=4,i=5,j=6,k=7,l=8,m=[[-1,-1],[-1,-1],[7,l],[7,k],[6,j],[6,j],[6,i],[6,i],[4,d],[4,d],[4,d],[4,d],[4,d],[4,d],[4,d],[4,d],[3,e],[3,e],[3,e],[3,e],[3,e],[3,e],[3,e],[3,e],[3,e],[3,e],[3,e],[3,e],[3,e],[3,e],[3,e],[3,e],[3,h],[3,h],[3,h],[3,h],[3,h],[3,h],[3,h],[3,h],[3,h],[3,h],[3,h],[3,h],[3,h],[3,h],[3,h],[3,h],[3,g],[3,g],[3,g],[3,g],[3,g],[3,g],[3,g],[3,g],[3,g],[3,g],[3,g],[3,g],[3,g],[3,g],[3,g],[3,g],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f],[1,f]],n=[[-1,-1],[12,c],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[12,1984],[12,2048],[12,2112],[12,2176],[12,2240],[12,2304],[11,1856],[11,1856],[11,1920],[11,1920],[12,2368],[12,2432],[12,2496],[12,2560]],o=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[8,29],[8,29],[8,30],[8,30],[8,45],[8,45],[8,46],[8,46],[7,22],[7,22],[7,22],[7,22],[7,23],[7,23],[7,23],[7,23],[8,47],[8,47],[8,48],[8,48],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[7,20],[7,20],[7,20],[7,20],[8,33],[8,33],[8,34],[8,34],[8,35],[8,35],[8,36],[8,36],[8,37],[8,37],[8,38],[8,38],[7,19],[7,19],[7,19],[7,19],[8,31],[8,31],[8,32],[8,32],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[8,53],[8,53],[8,54],[8,54],[7,26],[7,26],[7,26],[7,26],[8,39],[8,39],[8,40],[8,40],[8,41],[8,41],[8,42],[8,42],[8,43],[8,43],[8,44],[8,44],[7,21],[7,21],[7,21],[7,21],[7,28],[7,28],[7,28],[7,28],[8,61],[8,61],[8,62],[8,62],[8,63],[8,63],[8,0],[8,0],[8,320],[8,320],[8,384],[8,384],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[7,27],[7,27],[7,27],[7,27],[8,59],[8,59],[8,60],[8,60],[9,1472],[9,1536],[9,1600],[9,1728],[7,18],[7,18],[7,18],[7,18],[7,24],[7,24],[7,24],[7,24],[8,49],[8,49],[8,50],[8,50],[8,51],[8,51],[8,52],[8,52],[7,25],[7,25],[7,25],[7,25],[8,55],[8,55],[8,56],[8,56],[8,57],[8,57],[8,58],[8,58],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[8,448],[8,448],[8,512],[8,512],[9,704],[9,768],[8,640],[8,640],[8,576],[8,576],[9,832],[9,896],[9,960],[9,1024],[9,1088],[9,1152],[9,1216],[9,1280],[9,1344],[9,1408],[7,256],[7,256],[7,256],[7,256],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7]],p=[[-1,-1],[-1,-1],[12,c],[12,c],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[11,1792],[11,1792],[12,1984],[12,1984],[12,2048],[12,2048],[12,2112],[12,2112],[12,2176],[12,2176],[12,2240],[12,2240],[12,2304],[12,2304],[11,1856],[11,1856],[11,1856],[11,1856],[11,1920],[11,1920],[11,1920],[11,1920],[12,2368],[12,2368],[12,2432],[12,2432],[12,2496],[12,2496],[12,2560],[12,2560],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[12,52],[12,52],[13,640],[13,704],[13,768],[13,832],[12,55],[12,55],[12,56],[12,56],[13,1280],[13,1344],[13,1408],[13,1472],[12,59],[12,59],[12,60],[12,60],[13,1536],[13,1600],[11,24],[11,24],[11,24],[11,24],[11,25],[11,25],[11,25],[11,25],[13,1664],[13,1728],[12,320],[12,320],[12,384],[12,384],[12,448],[12,448],[13,512],[13,576],[12,53],[12,53],[12,54],[12,54],[13,896],[13,960],[13,1024],[13,1088],[13,1152],[13,1216],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64]],q=[[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[11,23],[11,23],[12,50],[12,51],[12,44],[12,45],[12,46],[12,47],[12,57],[12,58],[12,61],[12,256],[10,16],[10,16],[10,16],[10,16],[10,17],[10,17],[10,17],[10,17],[12,48],[12,49],[12,62],[12,63],[12,30],[12,31],[12,32],[12,33],[12,40],[12,41],[11,22],[11,22],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[12,128],[12,192],[12,26],[12,27],[12,28],[12,29],[11,19],[11,19],[11,20],[11,20],[12,34],[12,35],[12,36],[12,37],[12,38],[12,39],[11,21],[11,21],[12,42],[12,43],[10,0],[10,0],[10,0],[10,0],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12]],r=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[6,9],[6,8],[5,7],[5,7],[4,6],[4,6],[4,6],[4,6],[4,5],[4,5],[4,5],[4,5],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2]];return b.prototype=Object.create(Oc.prototype),b.prototype.readBlock=function(){for(;!this.eof;){var a=this.lookChar();this.ensureBuffer(this.bufferLength+1),this.buffer[this.bufferLength++]=a}},b.prototype.addPixels=function(b,c){var d=this.codingLine,e=this.codingPos;b>d[e]&&(b>this.columns&&(a("row is wrong length"),this.err=!0,b=this.columns),1&e^c&&++e,d[e]=b),this.codingPos=e},b.prototype.addPixelsNeg=function(b,c){var d=this.codingLine,e=this.codingPos;if(b>d[e])b>this.columns&&(a("row is wrong length"),this.err=!0,b=this.columns),1&e^c&&++e,d[e]=b;else if(b<d[e]){for(0>b&&(a("invalid code"),this.err=!0,b=0);e>0&&b<d[e-1];)--e;d[e]=b}this.codingPos=e},b.prototype.lookChar=function(){var b,c,m,n,o=this.refLine,p=this.codingLine,q=this.columns;if(0===this.outputBits){if(this.eof)return null;this.err=!1;var r,s,t;if(this.nextLine2D){for(n=0;p[n]<q;++n)o[n]=p[n];for(o[n++]=q,o[n]=q,p[0]=0,this.codingPos=0,b=0,c=0;p[this.codingPos]<q;)switch(r=this.getTwoDimCode()){case d:this.addPixels(o[b+1],c),o[b+1]<q&&(b+=2);break;case e:if(r=s=0,c){do r+=t=this.getBlackCode();while(t>=64);do s+=t=this.getWhiteCode();while(t>=64)}else{do r+=t=this.getWhiteCode();while(t>=64);do s+=t=this.getBlackCode();while(t>=64)}for(this.addPixels(p[this.codingPos]+r,c),p[this.codingPos]<q&&this.addPixels(p[this.codingPos]+s,1^c);o[b]<=p[this.codingPos]&&o[b]<q;)b+=2;break;case k:if(this.addPixels(o[b]+3,c),c^=1,p[this.codingPos]<q)for(++b;o[b]<=p[this.codingPos]&&o[b]<q;)b+=2;break;case i:if(this.addPixels(o[b]+2,c),c^=1,p[this.codingPos]<q)for(++b;o[b]<=p[this.codingPos]&&o[b]<q;)b+=2;break;case g:if(this.addPixels(o[b]+1,c),c^=1,p[this.codingPos]<q)for(++b;o[b]<=p[this.codingPos]&&o[b]<q;)b+=2;break;case f:if(this.addPixels(o[b],c),c^=1,p[this.codingPos]<q)for(++b;o[b]<=p[this.codingPos]&&o[b]<q;)b+=2;break;case l:if(this.addPixelsNeg(o[b]-3,c),c^=1,p[this.codingPos]<q)for(b>0?--b:++b;o[b]<=p[this.codingPos]&&o[b]<q;)b+=2;break;case j:if(this.addPixelsNeg(o[b]-2,c),c^=1,p[this.codingPos]<q)for(b>0?--b:++b;o[b]<=p[this.codingPos]&&o[b]<q;)b+=2;break;case h:if(this.addPixelsNeg(o[b]-1,c),c^=1,p[this.codingPos]<q)for(b>0?--b:++b;o[b]<=p[this.codingPos]&&o[b]<q;)b+=2;break;case Dc:this.addPixels(q,0),this.eof=!0;break;default:a("bad 2d code"),this.addPixels(q,0),this.err=!0}}else for(p[0]=0,this.codingPos=0,c=0;p[this.codingPos]<q;){if(r=0,c){do r+=t=this.getBlackCode();while(t>=64)}else do r+=t=this.getWhiteCode();while(t>=64);this.addPixels(p[this.codingPos]+r,c),c^=1}var u=!1;if(this.byteAlign&&(this.inputBits&=-8),this.eoblock||this.row!==this.rows-1){if(r=this.lookBits(12),this.eoline)for(;r!==Dc&&1!==r;)this.eatBits(1),r=this.lookBits(12);else for(;0===r;)this.eatBits(1),r=this.lookBits(12);1===r?(this.eatBits(12),u=!0):r===Dc&&(this.eof=!0)}else this.eof=!0;if(!this.eof&&this.encoding>0&&(this.nextLine2D=!this.lookBits(1),this.eatBits(1)),this.eoblock&&u&&this.byteAlign){if(r=this.lookBits(12),1===r){if(this.eatBits(12),this.encoding>0&&(this.lookBits(1),this.eatBits(1)),this.encoding>=0)for(n=0;4>n;++n)r=this.lookBits(12),1!==r&&a("bad rtc code: "+r),this.eatBits(12),this.encoding>0&&(this.lookBits(1),this.eatBits(1));this.eof=!0}}else if(this.err&&this.eoline){for(;;){if(r=this.lookBits(13),r===Dc)return this.eof=!0,null;if(r>>1===1)break;this.eatBits(1)}this.eatBits(12),this.encoding>0&&(this.eatBits(1),this.nextLine2D=!(1&r))}p[0]>0?this.outputBits=p[this.codingPos=0]:this.outputBits=p[this.codingPos=1],this.row++}var v;if(this.outputBits>=8)v=1&this.codingPos?0:255,this.outputBits-=8,0===this.outputBits&&p[this.codingPos]<q&&(this.codingPos++,this.outputBits=p[this.codingPos]-p[this.codingPos-1]);else{m=8,v=0;do this.outputBits>m?(v<<=m,1&this.codingPos||(v|=255>>8-m),this.outputBits-=m,m=0):(v<<=this.outputBits,1&this.codingPos||(v|=255>>8-this.outputBits),m-=this.outputBits,this.outputBits=0,p[this.codingPos]<q?(this.codingPos++,this.outputBits=p[this.codingPos]-p[this.codingPos-1]):m>0&&(v<<=m,m=0));while(m)}return this.black&&(v^=255),v},b.prototype.findTableCode=function(a,b,c,d){for(var e=d||0,f=a;b>=f;++f){var g=this.lookBits(f);if(g===Dc)return[!0,1,!1];if(b>f&&(g<<=b-f),!e||g>=e){var h=c[g-e];if(h[0]===f)return this.eatBits(f),[!0,h[1],!0]}}return[!1,0,!1]},b.prototype.getTwoDimCode=function(){var b,c=0;if(this.eoblock){if(c=this.lookBits(7),b=m[c],b&&b[0]>0)return this.eatBits(b[0]),b[1]}else{var d=this.findTableCode(1,7,m);if(d[0]&&d[2])return d[1]}return a("Bad two dim code"),Dc},b.prototype.getWhiteCode=function(){var b,c=0;if(this.eoblock){if(c=this.lookBits(12),c===Dc)return 1;if(b=c>>5===0?n[c]:o[c>>3],b[0]>0)return this.eatBits(b[0]),b[1]}else{var d=this.findTableCode(1,9,o);if(d[0])return d[1];if(d=this.findTableCode(11,12,n),d[0])return d[1]}return a("bad white code"),this.eatBits(1),1},b.prototype.getBlackCode=function(){var b,c;if(this.eoblock){if(b=this.lookBits(13),b===Dc)return 1;if(c=b>>7===0?p[b]:b>>9===0&&b>>7!==0?q[(b>>1)-64]:r[b>>7],c[0]>0)return this.eatBits(c[0]),c[1]}else{var d=this.findTableCode(2,6,r);if(d[0])return d[1];if(d=this.findTableCode(7,12,q,64),d[0])return d[1];if(d=this.findTableCode(10,13,p),d[0])return d[1]}return a("bad black code"),this.eatBits(1),1},b.prototype.lookBits=function(a){for(var b;this.inputBits<a;){if(-1===(b=this.str.getByte()))return 0===this.inputBits?Dc:this.inputBuf<<a-this.inputBits&65535>>16-a;this.inputBuf=(this.inputBuf<<8)+b,this.inputBits+=8}return this.inputBuf>>this.inputBits-a&65535>>16-a},b.prototype.eatBits=function(a){(this.inputBits-=a)<0&&(this.inputBits=0)},b}(),$c=function(){function a(a,b,c){this.str=a,this.dict=a.dict,this.cachedData=0,this.bitsCached=0;for(var d=4096,e={earlyChange:c,codeLength:9,nextCode:258,dictionaryValues:new Uint8Array(d),dictionaryLengths:new Uint16Array(d),dictionaryPrevCodes:new Uint16Array(d),currentSequence:new Uint8Array(d),currentSequenceLength:0},f=0;256>f;++f)e.dictionaryValues[f]=f,e.dictionaryLengths[f]=1;this.lzwState=e,Oc.call(this,b)}return a.prototype=Object.create(Oc.prototype),a.prototype.readBits=function(a){for(var b=this.bitsCached,c=this.cachedData;a>b;){var d=this.str.getByte();if(-1===d)return this.eof=!0,null;c=c<<8|d,b+=8}return this.bitsCached=b-=a,this.cachedData=c,this.lastCode=null,c>>>b&(1<<a)-1},a.prototype.readBlock=function(){var a,b,c,d=512,e=2*d,f=d,g=this.lzwState;if(g){var h=g.earlyChange,i=g.nextCode,j=g.dictionaryValues,k=g.dictionaryLengths,l=g.dictionaryPrevCodes,m=g.codeLength,n=g.prevCode,o=g.currentSequence,p=g.currentSequenceLength,q=0,r=this.bufferLength,s=this.ensureBuffer(this.bufferLength+e);for(a=0;d>a;a++){var t=this.readBits(m),u=p>0;if(256>t)o[0]=t,p=1;else{if(!(t>=258)){if(256===t){m=9,i=258,p=0;continue}this.eof=!0,delete this.lzwState;break}if(i>t)for(p=k[t],b=p-1,c=t;b>=0;b--)o[b]=j[c],c=l[c];else o[p++]=o[0]}if(u&&(l[i]=n,k[i]=k[n]+1,j[i]=o[0],i++,m=i+h&i+h-1?m:0|Math.min(Math.log(i+h)/.6931471805599453+1,12)),n=t,q+=p,q>e){do e+=f;while(q>e);s=this.ensureBuffer(this.bufferLength+e)}for(b=0;p>b;b++)s[r++]=o[b]}g.nextCode=i,g.codeLength=m,g.prevCode=n,g.currentSequenceLength=p,this.bufferLength=r}},a}(),_c=function(){function a(){Mc.call(this,new Uint8Array(0))}return a.prototype=Mc.prototype,a}(),ad=function(){function a(a){this.name=a,this.terminated=!1,this._capability=G()}return a.prototype={get finished(){return this._capability.promise},finish:function(){this._capability.resolve()},terminate:function(){this.terminated=!0},ensureNotTerminated:function(){if(this.terminated)throw new Error("Worker task was terminated")}},a}(),bd=PDFJS.WorkerMessageHandler={setup:function(c){function d(){if(j)throw new Error("Worker was terminated")}function e(a){l.push(a)}function f(a){a.finish();var b=l.indexOf(a);l.splice(b,1)}function g(a){var b=G(),c=function(){var a=i.ensureDoc("numPages"),c=i.ensureDoc("fingerprint"),e=i.ensureXRef("encrypt");Promise.all([a,c,e]).then(function(a){var c={numPages:a[0],fingerprint:a[1],encrypted:!!a[2]};b.resolve(c)},d)},d=function(a){b.reject(a)};return i.ensureDoc("checkHeader",[]).then(function(){i.ensureDoc("parseStartXRef",[]).then(function(){i.ensureDoc("parse",[a]).then(c,d)},d)},d),b.promise}function h(a){var d,e=G(),f=a.source,g=a.disableRange;if(f.data){try{d=new ua(f.data,f.password),e.resolve(d)}catch(h){e.reject(h)}return e.promise}if(f.chunkedViewerLoading){try{d=new va(f,c),e.resolve(d)}catch(h){e.reject(h)}return e.promise}var i=new pa(f.url,{httpHeaders:f.httpHeaders,withCredentials:f.withCredentials}),j=[],l=i.requestFull({onHeadersReceived:function(){if(!g){var a=i.getRequestXhr(l);if("bytes"===a.getResponseHeader("Accept-Ranges")){var b=a.getResponseHeader("Content-Encoding")||"identity";if("identity"===b){var h=a.getResponseHeader("Content-Length");if(h=parseInt(h,10),w(h)&&(f.length=h,!(2*sa>=h))){i.isStreamingRequest(l)?f.disableAutoFetch=!0:i.abortRequest(l);try{d=new va(f,c),e.resolve(d)}catch(j){e.reject(j)}k=null}}}}},onProgressiveData:f.disableStream?null:function(a){return d?void d.sendProgressiveData(a):void j.push(a)},onDone:function(a){if(!d){var c;if(null===a){var g=0,h=0;j.forEach(function(a){g+=a.byteLength}),f.length&&g!==f.length&&b("reported HTTP length is different from actual");var i=new Uint8Array(g);j.forEach(function(a){i.set(new Uint8Array(a),h),h+=a.byteLength}),c=i.buffer}else c=a.chunk;try{d=new ua(c,f.password),e.resolve(d)}catch(l){e.reject(l)}k=null}},onError:function(a){var b;404===a?(b=new ga('Missing PDF "'+f.url+'".'),c.send("MissingPDF",b)):(b=new ha("Unexpected server response ("+a+') while retrieving PDF "'+f.url+'".',a),c.send("UnexpectedResponse",b)),k=null},onProgress:function(a){c.send("DocProgress",{loaded:a.loaded,total:a.lengthComputable?a.total:f.length})}});return k=function(){i.abortRequest(l)},e.promise}var i,j=!1,k=null,l=[];c.on("test",function(a){if(!(a instanceof Uint8Array))return void c.send("test",!1);var b=255===a[0];c.postMessageTransfers=b;var d=new XMLHttpRequest,e="response"in d;try{d.responseType}catch(f){e=!1}return e?void c.send("test",{supportTypedArray:!0,supportTransfers:b}):void c.send("test",!1)}),c.on("GetDocRequest",function(a){var b=function(a){d(),c.send("GetDoc",{pdfInfo:a})},e=function(a){a instanceof da?a.code===ca.NEED_PASSWORD?c.send("NeedPassword",a):a.code===ca.INCORRECT_PASSWORD&&c.send("IncorrectPassword",a):a instanceof fa?c.send("InvalidPDF",a):a instanceof ga?c.send("MissingPDF",a):a instanceof ha?c.send("UnexpectedResponse",a):c.send("UnknownError",new ea(a.message,a.toString()))};d(),PDFJS.maxImageSize=void 0===a.maxImageSize?-1:a.maxImageSize,PDFJS.disableFontFace=a.disableFontFace,PDFJS.disableCreateObjectURL=a.disableCreateObjectURL,PDFJS.verbosity=a.verbosity,PDFJS.cMapUrl=void 0===a.cMapUrl?null:a.cMapUrl,PDFJS.cMapPacked=a.cMapPacked===!0,h(a).then(function(a){if(j)throw a.terminate(),new Error("Worker was terminated");i=a,c.send("PDFManagerReady",null),i.onLoadedStream().then(function(a){c.send("DataLoaded",{length:a.bytes.byteLength})})}).then(function f(){d(),g(!1).then(b,function(a){return d(),a instanceof ka?(i.requestLoadedStream(),void i.onLoadedStream().then(function(){d(),g(!0).then(b,e)})):(a instanceof da&&i.passwordChanged().then(f),void e(a))},e)},e)}),c.on("GetPage",function(a){return i.getPage(a.pageIndex).then(function(a){var b=i.ensure(a,"rotate"),c=i.ensure(a,"ref"),d=i.ensure(a,"view");return Promise.all([b,c,d]).then(function(a){return{rotate:a[0],ref:a[1],view:a[2]}})})}),c.on("GetPageIndex",function(a){var b=new Ba(a.ref.num,a.ref.gen),c=i.pdfDocument.catalog;return c.getPageIndex(b)}),c.on("GetDestinations",function(a){return i.ensureCatalog("destinations")}),c.on("GetDestination",function(a){return i.ensureCatalog("getDestination",[a.id])}),c.on("GetAttachments",function(a){return i.ensureCatalog("attachments")}),c.on("GetJavaScript",function(a){return i.ensureCatalog("javaScript")}),c.on("GetOutline",function(a){return i.ensureCatalog("documentOutline")}),c.on("GetMetadata",function(a){return Promise.all([i.ensureDoc("documentInfo"),i.ensureCatalog("metadata")])}),c.on("GetData",function(a){return i.requestLoadedStream(),i.onLoadedStream().then(function(a){return a.bytes})}),c.on("GetStats",function(a){return i.pdfDocument.xref.stats}),c.on("UpdatePassword",function(a){i.updatePassword(a)}),c.on("GetAnnotations",function(a){return i.getPage(a.pageIndex).then(function(a){return i.ensure(a,"getAnnotationsData",[])})}),c.on("RenderPageRequest",function(b){var d=b.pageIndex;i.getPage(d).then(function(g){var h=new ad("RenderPageRequest: page "+d);e(h);var i=d+1,j=Date.now();g.getOperatorList(c,h,b.intent).then(function(b){f(h),a("page="+i+" - getOperatorList: time="+(Date.now()-j)+"ms, len="+b.fnArray.length)},function(a){if(f(h),!h.terminated){var d,e="worker.js: while trying to getPage() and getOperatorList()";d="string"==typeof a?{message:a,stack:e}:"object"==typeof a?{message:a.message||a.toString(),stack:a.stack||e}:{message:"Unknown exception type: "+typeof a,stack:e},c.send("PageError",{pageNum:i,error:d,intent:b.intent})}})})},this),c.on("GetTextContent",function(b){var c=b.pageIndex;return i.getPage(c).then(function(b){var d=new ad("GetTextContent: page "+c);e(d);var g=c+1,h=Date.now();return b.extractTextContent(d).then(function(b){return f(d),a("text indexing: page="+g+" - time="+(Date.now()-h)+"ms"),b},function(a){if(f(d),!d.terminated)throw a})})}),c.on("Cleanup",function(a){return i.cleanup()}),c.on("Terminate",function(a){j=!0,i&&(i.terminate(),i=null),k&&k();var b=[];return l.forEach(function(a){b.push(a.finished),a.terminate()}),Promise.all(b).then(function(){})})}},cd={},dd={log:function(){var a=Array.prototype.slice.call(arguments);S.postMessage({action:"console_log",data:a})},error:function(){var a=Array.prototype.slice.call(arguments);throw S.postMessage({action:"console_error",data:a}),"pdf.js execution error"},time:function(a){cd[a]=Date.now()},timeEnd:function(a){var b=cd[a];b||c("Unknown timer name "+a),this.log("Timer:",a,Date.now()-b)}};if("undefined"==typeof window){
-"console"in S||(S.console=dd),PDFJS.UnsupportedManager.listen(function(a){S.postMessage({action:"_unsupported_feature",data:a})});var ed=new H("worker_processor",this);bd.setup(ed)}var fd=function(){function a(a,b,c){this.data=a,this.bp=b,this.dataEnd=c,this.chigh=a[b],this.clow=0,this.byteIn(),this.chigh=this.chigh<<7&65535|this.clow>>9&127,this.clow=this.clow<<7&65535,this.ct-=7,this.a=32768}var b=[{qe:22017,nmps:1,nlps:1,switchFlag:1},{qe:13313,nmps:2,nlps:6,switchFlag:0},{qe:6145,nmps:3,nlps:9,switchFlag:0},{qe:2753,nmps:4,nlps:12,switchFlag:0},{qe:1313,nmps:5,nlps:29,switchFlag:0},{qe:545,nmps:38,nlps:33,switchFlag:0},{qe:22017,nmps:7,nlps:6,switchFlag:1},{qe:21505,nmps:8,nlps:14,switchFlag:0},{qe:18433,nmps:9,nlps:14,switchFlag:0},{qe:14337,nmps:10,nlps:14,switchFlag:0},{qe:12289,nmps:11,nlps:17,switchFlag:0},{qe:9217,nmps:12,nlps:18,switchFlag:0},{qe:7169,nmps:13,nlps:20,switchFlag:0},{qe:5633,nmps:29,nlps:21,switchFlag:0},{qe:22017,nmps:15,nlps:14,switchFlag:1},{qe:21505,nmps:16,nlps:14,switchFlag:0},{qe:20737,nmps:17,nlps:15,switchFlag:0},{qe:18433,nmps:18,nlps:16,switchFlag:0},{qe:14337,nmps:19,nlps:17,switchFlag:0},{qe:13313,nmps:20,nlps:18,switchFlag:0},{qe:12289,nmps:21,nlps:19,switchFlag:0},{qe:10241,nmps:22,nlps:19,switchFlag:0},{qe:9217,nmps:23,nlps:20,switchFlag:0},{qe:8705,nmps:24,nlps:21,switchFlag:0},{qe:7169,nmps:25,nlps:22,switchFlag:0},{qe:6145,nmps:26,nlps:23,switchFlag:0},{qe:5633,nmps:27,nlps:24,switchFlag:0},{qe:5121,nmps:28,nlps:25,switchFlag:0},{qe:4609,nmps:29,nlps:26,switchFlag:0},{qe:4353,nmps:30,nlps:27,switchFlag:0},{qe:2753,nmps:31,nlps:28,switchFlag:0},{qe:2497,nmps:32,nlps:29,switchFlag:0},{qe:2209,nmps:33,nlps:30,switchFlag:0},{qe:1313,nmps:34,nlps:31,switchFlag:0},{qe:1089,nmps:35,nlps:32,switchFlag:0},{qe:673,nmps:36,nlps:33,switchFlag:0},{qe:545,nmps:37,nlps:34,switchFlag:0},{qe:321,nmps:38,nlps:35,switchFlag:0},{qe:273,nmps:39,nlps:36,switchFlag:0},{qe:133,nmps:40,nlps:37,switchFlag:0},{qe:73,nmps:41,nlps:38,switchFlag:0},{qe:37,nmps:42,nlps:39,switchFlag:0},{qe:21,nmps:43,nlps:40,switchFlag:0},{qe:9,nmps:44,nlps:41,switchFlag:0},{qe:5,nmps:45,nlps:42,switchFlag:0},{qe:1,nmps:45,nlps:43,switchFlag:0},{qe:22017,nmps:46,nlps:46,switchFlag:0}];return a.prototype={byteIn:function(){var a=this.data,b=this.bp;if(255===a[b]){var c=a[b+1];c>143?(this.clow+=65280,this.ct=8):(b++,this.clow+=a[b]<<9,this.ct=7,this.bp=b)}else b++,this.clow+=b<this.dataEnd?a[b]<<8:65280,this.ct=8,this.bp=b;this.clow>65535&&(this.chigh+=this.clow>>16,this.clow&=65535)},readBit:function(a,c){var d,e=a[c]>>1,f=1&a[c],g=b[e],h=g.qe,i=this.a-h;if(this.chigh<h)h>i?(i=h,d=f,e=g.nmps):(i=h,d=1^f,1===g.switchFlag&&(f=d),e=g.nlps);else{if(this.chigh-=h,0!==(32768&i))return this.a=i,f;h>i?(d=1^f,1===g.switchFlag&&(f=d),e=g.nlps):(d=f,e=g.nmps)}do 0===this.ct&&this.byteIn(),i<<=1,this.chigh=this.chigh<<1&65535|this.clow>>15&1,this.clow=this.clow<<1&65535,this.ct--;while(0===(32768&i));return this.a=i,a[c]=e<<1|f,d}},a}(),gd=function(){function a(){}function b(a,b){for(var c,d,e=0,f=[],g=16;g>0&&!a[g-1];)g--;f.push({children:[],index:0});var h,i=f[0];for(c=0;g>c;c++){for(d=0;d<a[c];d++){for(i=f.pop(),i.children[i.index]=b[e];i.index>0;)i=f.pop();for(i.index++,f.push(i);f.length<=c;)f.push(h={children:[],index:0}),i.children[i.index]=h.children,i=h;e++}g>c+1&&(f.push(h={children:[],index:0}),i.children[i.index]=h.children,i=h)}return f[0].children}function c(a,b,c){return 64*((a.blocksPerLine+1)*b+c)}function d(a,b,d,e,f,g,i,j,k){function l(){if(H>0)return H--,G>>H&1;if(G=a[b++],255===G){var c=a[b++];if(c)throw"unexpected marker: "+(G<<8|c).toString(16)}return H=7,G>>>7}function m(a){for(var b=a;;){if(b=b[l()],"number"==typeof b)return b;if("object"!=typeof b)throw"invalid huffman sequence"}}function n(a){for(var b=0;a>0;)b=b<<1|l(),a--;return b}function o(a){if(1===a)return 1===l()?1:-1;var b=n(a);return b>=1<<a-1?b:b+(-1<<a)+1}function p(a,b){var c=m(a.huffmanTableDC),d=0===c?0:o(c);a.blockData[b]=a.pred+=d;for(var e=1;64>e;){var f=m(a.huffmanTableAC),g=15&f,i=f>>4;if(0!==g){e+=i;var j=h[e];a.blockData[b+j]=o(g),e++}else{if(15>i)break;e+=16}}}function q(a,b){var c=m(a.huffmanTableDC),d=0===c?0:o(c)<<k;a.blockData[b]=a.pred+=d}function r(a,b){a.blockData[b]|=l()<<k}function s(a,b){if(I>0)return void I--;for(var c=g,d=i;d>=c;){var e=m(a.huffmanTableAC),f=15&e,j=e>>4;if(0!==f){c+=j;var l=h[c];a.blockData[b+l]=o(f)*(1<<k),c++}else{if(15>j){I=n(j)+(1<<j)-1;break}c+=16}}}function t(a,b){for(var c,d,e=g,f=i,j=0;f>=e;){var p=h[e];switch(J){case 0:if(d=m(a.huffmanTableAC),c=15&d,j=d>>4,0===c)15>j?(I=n(j)+(1<<j),J=4):(j=16,J=1);else{if(1!==c)throw"invalid ACn encoding";w=o(c),J=j?2:3}continue;case 1:case 2:a.blockData[b+p]?a.blockData[b+p]+=l()<<k:(j--,0===j&&(J=2===J?3:0));break;case 3:a.blockData[b+p]?a.blockData[b+p]+=l()<<k:(a.blockData[b+p]=w<<k,J=0);break;case 4:a.blockData[b+p]&&(a.blockData[b+p]+=l()<<k)}e++}4===J&&(I--,0===I&&(J=0))}function u(a,b,d,e,f){var g=d/D|0,h=d%D,i=g*a.v+e,j=h*a.h+f,k=c(a,i,j);b(a,k)}function v(a,b,d){var e=d/a.blocksPerLine|0,f=d%a.blocksPerLine,g=c(a,e,f);b(a,g)}var w,x,y,z,A,B,C,D=(d.precision,d.samplesPerLine,d.scanLines,d.mcusPerLine),E=d.progressive,F=(d.maxH,d.maxV,b),G=0,H=0,I=0,J=0,K=e.length;C=E?0===g?0===j?q:r:0===j?s:t:p;var L,M,N=0;M=1===K?e[0].blocksPerLine*e[0].blocksPerColumn:D*d.mcusPerColumn,f||(f=M);for(var O,P;M>N;){for(y=0;K>y;y++)e[y].pred=0;if(I=0,1===K)for(x=e[0],B=0;f>B;B++)v(x,C,N),N++;else for(B=0;f>B;B++){for(y=0;K>y;y++)for(x=e[y],O=x.h,P=x.v,z=0;P>z;z++)for(A=0;O>A;A++)u(x,C,N,z,A);N++}if(H=0,L=a[b]<<8|a[b+1],65280>=L)throw"marker was not found";if(!(L>=65488&&65495>=L))break;b+=2}return b-F}function e(a,b,c){for(var d,e,f,g,h,q,r,s,t,u,v,w,x,y,z,A,B,C=a.quantizationTable,D=a.blockData,E=0;64>E;E+=8)t=D[b+E],u=D[b+E+1],v=D[b+E+2],w=D[b+E+3],x=D[b+E+4],y=D[b+E+5],z=D[b+E+6],A=D[b+E+7],t*=C[E],0!==(u|v|w|x|y|z|A)?(u*=C[E+1],v*=C[E+2],w*=C[E+3],x*=C[E+4],y*=C[E+5],z*=C[E+6],A*=C[E+7],d=o*t+128>>8,e=o*x+128>>8,f=v,g=z,h=p*(u-A)+128>>8,s=p*(u+A)+128>>8,q=w<<4,r=y<<4,d=d+e+1>>1,e=d-e,B=f*n+g*m+128>>8,f=f*m-g*n+128>>8,g=B,h=h+r+1>>1,r=h-r,s=s+q+1>>1,q=s-q,d=d+g+1>>1,g=d-g,e=e+f+1>>1,f=e-f,B=h*l+s*k+2048>>12,h=h*k-s*l+2048>>12,s=B,B=q*j+r*i+2048>>12,q=q*i-r*j+2048>>12,r=B,c[E]=d+s,c[E+7]=d-s,c[E+1]=e+r,c[E+6]=e-r,c[E+2]=f+q,c[E+5]=f-q,c[E+3]=g+h,c[E+4]=g-h):(B=o*t+512>>10,c[E]=B,c[E+1]=B,c[E+2]=B,c[E+3]=B,c[E+4]=B,c[E+5]=B,c[E+6]=B,c[E+7]=B);for(var F=0;8>F;++F)t=c[F],u=c[F+8],v=c[F+16],w=c[F+24],x=c[F+32],y=c[F+40],z=c[F+48],A=c[F+56],0!==(u|v|w|x|y|z|A)?(d=o*t+2048>>12,e=o*x+2048>>12,f=v,g=z,h=p*(u-A)+2048>>12,s=p*(u+A)+2048>>12,q=w,r=y,d=(d+e+1>>1)+4112,e=d-e,B=f*n+g*m+2048>>12,f=f*m-g*n+2048>>12,g=B,h=h+r+1>>1,r=h-r,s=s+q+1>>1,q=s-q,d=d+g+1>>1,g=d-g,e=e+f+1>>1,f=e-f,B=h*l+s*k+2048>>12,h=h*k-s*l+2048>>12,s=B,B=q*j+r*i+2048>>12,q=q*i-r*j+2048>>12,r=B,t=d+s,A=d-s,u=e+r,z=e-r,v=f+q,y=f-q,w=g+h,x=g-h,t=16>t?0:t>=4080?255:t>>4,u=16>u?0:u>=4080?255:u>>4,v=16>v?0:v>=4080?255:v>>4,w=16>w?0:w>=4080?255:w>>4,x=16>x?0:x>=4080?255:x>>4,y=16>y?0:y>=4080?255:y>>4,z=16>z?0:z>=4080?255:z>>4,A=16>A?0:A>=4080?255:A>>4,D[b+F]=t,D[b+F+8]=u,D[b+F+16]=v,D[b+F+24]=w,D[b+F+32]=x,D[b+F+40]=y,D[b+F+48]=z,D[b+F+56]=A):(B=o*t+8192>>14,B=-2040>B?0:B>=2024?255:B+2056>>4,D[b+F]=B,D[b+F+8]=B,D[b+F+16]=B,D[b+F+24]=B,D[b+F+32]=B,D[b+F+40]=B,D[b+F+48]=B,D[b+F+56]=B)}function f(a,b){for(var d=b.blocksPerLine,f=b.blocksPerColumn,g=new Int16Array(64),h=0;f>h;h++)for(var i=0;d>i;i++){var j=c(b,h,i);e(b,j,g)}return b.blockData}function g(a){return 0>=a?0:a>=255?255:a}var h=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),i=4017,j=799,k=3406,l=2276,m=1567,n=3784,o=5793,p=2896;return a.prototype={parse:function(a){function c(){var b=a[k]<<8|a[k+1];return k+=2,b}function e(){var b=c(),d=a.subarray(k,k+b-2);return k+=d.length,d}function g(a){for(var b=Math.ceil(a.samplesPerLine/8/a.maxH),c=Math.ceil(a.scanLines/8/a.maxV),d=0;d<a.components.length;d++){M=a.components[d];var e=Math.ceil(Math.ceil(a.samplesPerLine/8)*M.h/a.maxH),f=Math.ceil(Math.ceil(a.scanLines/8)*M.v/a.maxV),g=b*M.h,h=c*M.v,i=64*h*(g+1);M.blockData=new Int16Array(i),M.blocksPerLine=e,M.blocksPerColumn=f}a.mcusPerLine=b,a.mcusPerColumn=c}var i,j,k=0,l=(a.length,null),m=null,n=[],o=[],p=[],q=c();if(65496!==q)throw"SOI not found";for(q=c();65497!==q;){var r,s,t;switch(q){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var u=e();65504===q&&74===u[0]&&70===u[1]&&73===u[2]&&70===u[3]&&0===u[4]&&(l={version:{major:u[5],minor:u[6]},densityUnits:u[7],xDensity:u[8]<<8|u[9],yDensity:u[10]<<8|u[11],thumbWidth:u[12],thumbHeight:u[13],thumbData:u.subarray(14,14+3*u[12]*u[13])}),65518===q&&65===u[0]&&100===u[1]&&111===u[2]&&98===u[3]&&101===u[4]&&(m={version:u[5]<<8|u[6],flags0:u[7]<<8|u[8],flags1:u[9]<<8|u[10],transformCode:u[11]});break;case 65499:for(var v,w=c(),x=w+k-2;x>k;){var y=a[k++],z=new Uint16Array(64);if(y>>4===0)for(s=0;64>s;s++)v=h[s],z[v]=a[k++];else{if(y>>4!==1)throw"DQT: invalid table spec";for(s=0;64>s;s++)v=h[s],z[v]=c()}n[15&y]=z}break;case 65472:case 65473:case 65474:if(i)throw"Only single frame JPEGs supported";c(),i={},i.extended=65473===q,i.progressive=65474===q,i.precision=a[k++],i.scanLines=c(),i.samplesPerLine=c(),i.components=[],i.componentIds={};var A,B=a[k++],C=0,D=0;for(r=0;B>r;r++){A=a[k];var E=a[k+1]>>4,F=15&a[k+1];E>C&&(C=E),F>D&&(D=F);var G=a[k+2];t=i.components.push({h:E,v:F,quantizationTable:n[G]}),i.componentIds[A]=t-1,k+=3}i.maxH=C,i.maxV=D,g(i);break;case 65476:var H=c();for(r=2;H>r;){var I=a[k++],J=new Uint8Array(16),K=0;for(s=0;16>s;s++,k++)K+=J[s]=a[k];var L=new Uint8Array(K);for(s=0;K>s;s++,k++)L[s]=a[k];r+=17+K,(I>>4===0?p:o)[15&I]=b(J,L)}break;case 65501:c(),j=c();break;case 65498:var M,N=(c(),a[k++]),O=[];for(r=0;N>r;r++){var P=i.componentIds[a[k++]];M=i.components[P];var Q=a[k++];M.huffmanTableDC=p[Q>>4],M.huffmanTableAC=o[15&Q],O.push(M)}var R=a[k++],S=a[k++],T=a[k++],U=d(a,k,i,O,j,R,S,T>>4,15&T);k+=U;break;case 65535:255!==a[k]&&k--;break;default:if(255===a[k-3]&&a[k-2]>=192&&a[k-2]<=254){k-=3;break}throw"unknown JPEG marker "+q.toString(16)}q=c()}for(this.width=i.samplesPerLine,this.height=i.scanLines,this.jfif=l,this.adobe=m,this.components=[],r=0;r<i.components.length;r++)M=i.components[r],this.components.push({output:f(i,M),scaleX:M.h/i.maxH,scaleY:M.v/i.maxV,blocksPerLine:M.blocksPerLine,blocksPerColumn:M.blocksPerColumn});this.numComponents=this.components.length},_getLinearizedBlockData:function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=this.width/a,o=this.height/b,p=0,q=this.components.length,r=a*b*q,s=new Uint8Array(r),t=new Uint32Array(a),u=4294967288;for(i=0;q>i;i++){for(c=this.components[i],d=c.scaleX*n,e=c.scaleY*o,p=i,m=c.output,f=c.blocksPerLine+1<<3,g=0;a>g;g++)j=0|g*d,t[g]=(j&u)<<3|7&j;for(h=0;b>h;h++)for(j=0|h*e,l=f*(j&u)|(7&j)<<3,g=0;a>g;g++)s[p]=m[l+t[g]],p+=q}var v=this.decodeTransform;if(v)for(i=0;r>i;)for(j=0,k=0;q>j;j++,i++,k+=2)s[i]=(s[i]*v[k]>>8)+v[k+1];return s},_isColorConversionNeeded:function(){return this.adobe&&this.adobe.transformCode?!0:3===this.numComponents?!0:!1},_convertYccToRgb:function(a){for(var b,c,d,e=0,f=a.length;f>e;e+=3)b=a[e],c=a[e+1],d=a[e+2],a[e]=g(b-179.456+1.402*d),a[e+1]=g(b+135.459-.344*c-.714*d),a[e+2]=g(b-226.816+1.772*c);return a},_convertYcckToRgb:function(a){for(var b,c,d,e,f=0,h=0,i=a.length;i>h;h+=4){b=a[h],c=a[h+1],d=a[h+2],e=a[h+3];var j=-122.67195406894+c*(-660635669420364e-19*c+.000437130475926232*d-54080610064599e-18*b+.00048449797120281*e-.154362151871126)+d*(-.000957964378445773*d+.000817076911346625*b-.00477271405408747*e+1.53380253221734)+b*(.000961250184130688*b-.00266257332283933*e+.48357088451265)+e*(-.000336197177618394*e+.484791561490776),k=107.268039397724+c*(219927104525741e-19*c-.000640992018297945*d+.000659397001245577*b+.000426105652938837*e-.176491792462875)+d*(-.000778269941513683*d+.00130872261408275*b+.000770482631801132*e-.151051492775562)+b*(.00126935368114843*b-.00265090189010898*e+.25802910206845)+e*(-.000318913117588328*e-.213742400323665),l=-20.810012546947+c*(-.000570115196973677*c-263409051004589e-19*d+.0020741088115012*b-.00288260236853442*e+.814272968359295)+d*(-153496057440975e-19*d-.000132689043961446*b+.000560833691242812*e-.195152027534049)+b*(.00174418132927582*b-.00255243321439347*e+.116935020465145)+e*(-.000343531996510555*e+.24165260232407);a[f++]=g(j),a[f++]=g(k),a[f++]=g(l)}return a},_convertYcckToCmyk:function(a){for(var b,c,d,e=0,f=a.length;f>e;e+=4)b=a[e],c=a[e+1],d=a[e+2],a[e]=g(434.456-b-1.402*d),a[e+1]=g(119.541-b+.344*c+.714*d),a[e+2]=g(481.816-b-1.772*c);return a},_convertCmykToRgb:function(a){for(var b,c,d,e,f=0,g=-16581375,h=1/255/255,i=0,j=a.length;j>i;i+=4){b=a[i],c=a[i+1],d=a[i+2],e=a[i+3];var k=b*(-4.387332384609988*b+54.48615194189176*c+18.82290502165302*d+212.25662451639585*e-72734.4411664936)+c*(1.7149763477362134*c-5.6096736904047315*d-17.873870861415444*e-1401.7366389350734)+d*(-2.5217340131683033*d-21.248923337353073*e+4465.541406466231)-e*(21.86122147463605*e+48317.86113160301),l=b*(8.841041422036149*b+60.118027045597366*c+6.871425592049007*d+31.159100130055922*e-20220.756542821975)+c*(-15.310361306967817*c+17.575251261109482*d+131.35250912493976*e-48691.05921601825)+d*(4.444339102852739*d+9.8632861493405*e-6341.191035517494)-e*(20.737325471181034*e+47890.15695978492),m=b*(.8842522430003296*b+8.078677503112928*c+30.89978309703729*d-.23883238689178934*e-3616.812083916688)+c*(10.49593273432072*c+63.02378494754052*d+50.606957656360734*e-28620.90484698408)+d*(.03296041114873217*d+115.60384449646641*e-49363.43385999684)-e*(22.33816807309886*e+45932.16563550634);a[f++]=k>=0?255:g>=k?0:255+k*h|0,a[f++]=l>=0?255:g>=l?0:255+l*h|0,a[f++]=m>=0?255:g>=m?0:255+m*h|0}return a},getData:function(a,b,c){if(this.numComponents>4)throw"Unsupported color mode";var d=this._getLinearizedBlockData(a,b);if(3===this.numComponents)return this._convertYccToRgb(d);if(4===this.numComponents){if(this._isColorConversionNeeded())return c?this._convertYcckToRgb(d):this._convertYcckToCmyk(d);if(c)return this._convertCmykToRgb(d)}return d}},a}(),hd=function(){function c(){this.failOnCorruptedImage=!1}function d(a,b){a.x0=Math.ceil(b.XOsiz/a.XRsiz),a.x1=Math.ceil(b.Xsiz/a.XRsiz),a.y0=Math.ceil(b.YOsiz/a.YRsiz),a.y1=Math.ceil(b.Ysiz/a.YRsiz),a.width=a.x1-a.x0,a.height=a.y1-a.y0}function e(a,b){for(var c,d=a.SIZ,e=[],f=Math.ceil((d.Xsiz-d.XTOsiz)/d.XTsiz),g=Math.ceil((d.Ysiz-d.YTOsiz)/d.YTsiz),h=0;g>h;h++)for(var i=0;f>i;i++)c={},c.tx0=Math.max(d.XTOsiz+i*d.XTsiz,d.XOsiz),c.ty0=Math.max(d.YTOsiz+h*d.YTsiz,d.YOsiz),c.tx1=Math.min(d.XTOsiz+(i+1)*d.XTsiz,d.Xsiz),c.ty1=Math.min(d.YTOsiz+(h+1)*d.YTsiz,d.Ysiz),c.width=c.tx1-c.tx0,c.height=c.ty1-c.ty0,c.components=[],e.push(c);a.tiles=e;for(var j=d.Csiz,k=0,l=j;l>k;k++)for(var m=b[k],n=0,o=e.length;o>n;n++){var p={};c=e[n],p.tcx0=Math.ceil(c.tx0/m.XRsiz),p.tcy0=Math.ceil(c.ty0/m.YRsiz),p.tcx1=Math.ceil(c.tx1/m.XRsiz),p.tcy1=Math.ceil(c.ty1/m.YRsiz),p.width=p.tcx1-p.tcx0,p.height=p.tcy1-p.tcy0,c.components[k]=p}}function f(a,b,c){var d=b.codingStyleParameters,e={};return d.entropyCoderWithCustomPrecincts?(e.PPx=d.precinctsSizes[c].PPx,e.PPy=d.precinctsSizes[c].PPy):(e.PPx=15,e.PPy=15),e.xcb_=c>0?Math.min(d.xcb,e.PPx-1):Math.min(d.xcb,e.PPx),e.ycb_=c>0?Math.min(d.ycb,e.PPy-1):Math.min(d.ycb,e.PPy),e}function g(a,b,c){var d=1<<c.PPx,e=1<<c.PPy,f=0===b.resLevel,g=1<<c.PPx+(f?0:-1),h=1<<c.PPy+(f?0:-1),i=b.trx1>b.trx0?Math.ceil(b.trx1/d)-Math.floor(b.trx0/d):0,j=b.try1>b.try0?Math.ceil(b.try1/e)-Math.floor(b.try0/e):0,k=i*j;b.precinctParameters={precinctWidth:d,precinctHeight:e,numprecinctswide:i,numprecinctshigh:j,numprecincts:k,precinctWidthInSubband:g,precinctHeightInSubband:h}}function h(a,b,c){var d,e,f,g,h=c.xcb_,i=c.ycb_,j=1<<h,k=1<<i,l=b.tbx0>>h,m=b.tby0>>i,n=b.tbx1+j-1>>h,o=b.tby1+k-1>>i,p=b.resolution.precinctParameters,q=[],r=[];for(e=m;o>e;e++)for(d=l;n>d;d++){f={cbx:d,cby:e,tbx0:j*d,tby0:k*e,tbx1:j*(d+1),tby1:k*(e+1)},f.tbx0_=Math.max(b.tbx0,f.tbx0),f.tby0_=Math.max(b.tby0,f.tby0),f.tbx1_=Math.min(b.tbx1,f.tbx1),f.tby1_=Math.min(b.tby1,f.tby1);var s=Math.floor((f.tbx0_-b.tbx0)/p.precinctWidthInSubband),t=Math.floor((f.tby0_-b.tby0)/p.precinctHeightInSubband);if(g=s+t*p.numprecinctswide,f.precinctNumber=g,f.subbandType=b.type,f.Lblock=3,!(f.tbx1_<=f.tbx0_||f.tby1_<=f.tby0_)){q.push(f);var u=r[g];void 0!==u?(d<u.cbxMin?u.cbxMin=d:d>u.cbxMax&&(u.cbxMax=d),e<u.cbyMin?u.cbxMin=e:e>u.cbyMax&&(u.cbyMax=e)):r[g]=u={cbxMin:d,cbyMin:e,cbxMax:d,cbyMax:e},f.precinct=u}}b.codeblockParameters={codeblockWidth:h,codeblockHeight:i,numcodeblockwide:n-l+1,numcodeblockhigh:o-m+1},b.codeblocks=q,b.precincts=r}function i(a,b,c){for(var d=[],e=a.subbands,f=0,g=e.length;g>f;f++)for(var h=e[f],i=h.codeblocks,j=0,k=i.length;k>j;j++){var l=i[j];l.precinctNumber===b&&d.push(l)}return{layerNumber:c,codeblocks:d}}function j(a){for(var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,g=0,h=0;f>h;h++)g=Math.max(g,d.components[h].codingStyleParameters.decompositionLevelsCount);var j=0,k=0,l=0,m=0;this.nextPacket=function(){for(;e>j;j++){for(;g>=k;k++){for(;f>l;l++){var a=d.components[l];if(!(k>a.codingStyleParameters.decompositionLevelsCount)){for(var b=a.resolutions[k],c=b.precinctParameters.numprecincts;c>m;){var h=i(b,m,j);return m++,h}m=0}}l=0}k=0}throw new Error("JPX Error: Out of packets")}}function k(a){for(var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,g=0,h=0;f>h;h++)g=Math.max(g,d.components[h].codingStyleParameters.decompositionLevelsCount);var j=0,k=0,l=0,m=0;this.nextPacket=function(){for(;g>=j;j++){for(;e>k;k++){for(;f>l;l++){var a=d.components[l];if(!(j>a.codingStyleParameters.decompositionLevelsCount)){for(var b=a.resolutions[j],c=b.precinctParameters.numprecincts;c>m;){var h=i(b,m,k);return m++,h}m=0}}l=0}k=0}throw new Error("JPX Error: Out of packets")}}function m(a){var b,c,d,e,f=a.SIZ,g=a.currentTile.index,h=a.tiles[g],j=h.codingStyleDefaultParameters.layersCount,k=f.Csiz,l=0;for(d=0;k>d;d++){var m=h.components[d];l=Math.max(l,m.codingStyleParameters.decompositionLevelsCount)}var n=new Int32Array(l+1);for(c=0;l>=c;++c){var o=0;for(d=0;k>d;++d){var p=h.components[d].resolutions;c<p.length&&(o=Math.max(o,p[c].precinctParameters.numprecincts))}n[c]=o}b=0,c=0,d=0,e=0,this.nextPacket=function(){for(;l>=c;c++){for(;e<n[c];e++){for(;k>d;d++){var a=h.components[d];if(!(c>a.codingStyleParameters.decompositionLevelsCount)){var f=a.resolutions[c],g=f.precinctParameters.numprecincts;if(!(e>=g)){for(;j>b;){var m=i(f,e,b);return b++,m}b=0}}}d=0}e=0}throw new Error("JPX Error: Out of packets")}}function p(a){var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,g=s(d),h=g,j=0,k=0,l=0,m=0,n=0;this.nextPacket=function(){for(;n<h.maxNumHigh;n++){for(;m<h.maxNumWide;m++){for(;f>l;l++){for(var a=d.components[l],b=a.codingStyleParameters.decompositionLevelsCount;b>=k;k++){var c=a.resolutions[k],o=g.components[l].resolutions[k],p=r(m,n,o,h,c);if(null!==p){for(;e>j;){var q=i(c,p,j);return j++,q}j=0}}k=0}l=0}m=0}throw new Error("JPX Error: Out of packets")}}function q(a){var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,g=s(d),h=0,j=0,k=0,l=0,m=0;this.nextPacket=function(){for(;f>k;++k){for(var a=d.components[k],b=g.components[k],c=a.codingStyleParameters.decompositionLevelsCount;m<b.maxNumHigh;m++){for(;l<b.maxNumWide;l++){for(;c>=j;j++){var n=a.resolutions[j],o=b.resolutions[j],p=r(l,m,o,b,n);if(null!==p){for(;e>h;){var q=i(n,p,h);return h++,q}h=0}}j=0}l=0}m=0}throw new Error("JPX Error: Out of packets")}}function r(a,b,c,d,e){var f=a*d.minWidth,g=b*d.minHeight;if(f%c.width!==0||g%c.height!==0)return null;var h=g/c.width*e.precinctParameters.numprecinctswide;return f/c.height+h}function s(a){for(var b=a.components.length,c=Number.MAX_VALUE,d=Number.MAX_VALUE,e=0,f=0,g=new Array(b),h=0;b>h;h++){for(var i=a.components[h],j=i.codingStyleParameters.decompositionLevelsCount,k=new Array(j+1),l=Number.MAX_VALUE,m=Number.MAX_VALUE,n=0,o=0,p=1,q=j;q>=0;--q){var r=i.resolutions[q],s=p*r.precinctParameters.precinctWidth,t=p*r.precinctParameters.precinctHeight;l=Math.min(l,s),m=Math.min(m,t),n=Math.max(n,r.precinctParameters.numprecinctswide),o=Math.max(o,r.precinctParameters.numprecinctshigh),k[q]={width:s,height:t},p<<=1}c=Math.min(c,l),d=Math.min(d,m),e=Math.max(e,n),f=Math.max(f,o),g[h]={resolutions:k,minWidth:l,minHeight:m,maxNumWide:n,maxNumHigh:o}}return{components:g,minWidth:c,minHeight:d,maxNumWide:e,maxNumHigh:f}}function t(a){for(var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=b.Csiz,i=0;e>i;i++){for(var l=d.components[i],n=l.codingStyleParameters.decompositionLevelsCount,o=[],r=[],s=0;n>=s;s++){var t=f(a,l,s),u={},v=1<<n-s;u.trx0=Math.ceil(l.tcx0/v),u.try0=Math.ceil(l.tcy0/v),u.trx1=Math.ceil(l.tcx1/v),u.try1=Math.ceil(l.tcy1/v),u.resLevel=s,g(a,u,t),o.push(u);var w;if(0===s)w={},w.type="LL",w.tbx0=Math.ceil(l.tcx0/v),w.tby0=Math.ceil(l.tcy0/v),w.tbx1=Math.ceil(l.tcx1/v),w.tby1=Math.ceil(l.tcy1/v),w.resolution=u,h(a,w,t),r.push(w),u.subbands=[w];else{var x=1<<n-s+1,y=[];w={},w.type="HL",w.tbx0=Math.ceil(l.tcx0/x-.5),w.tby0=Math.ceil(l.tcy0/x),w.tbx1=Math.ceil(l.tcx1/x-.5),w.tby1=Math.ceil(l.tcy1/x),w.resolution=u,h(a,w,t),r.push(w),y.push(w),w={},w.type="LH",w.tbx0=Math.ceil(l.tcx0/x),w.tby0=Math.ceil(l.tcy0/x-.5),w.tbx1=Math.ceil(l.tcx1/x),w.tby1=Math.ceil(l.tcy1/x-.5),w.resolution=u,h(a,w,t),r.push(w),y.push(w),w={},w.type="HH",w.tbx0=Math.ceil(l.tcx0/x-.5),w.tby0=Math.ceil(l.tcy0/x-.5),w.tbx1=Math.ceil(l.tcx1/x-.5),w.tby1=Math.ceil(l.tcy1/x-.5),w.resolution=u,h(a,w,t),r.push(w),y.push(w),u.subbands=y}}l.resolutions=o,l.subbands=r}var z=d.codingStyleDefaultParameters.progressionOrder;switch(z){case 0:d.packetsIterator=new j(a);break;case 1:d.packetsIterator=new k(a);break;case 2:d.packetsIterator=new m(a);break;case 3:d.packetsIterator=new p(a);break;case 4:d.packetsIterator=new q(a);break;default:throw new Error("JPX Error: Unsupported progression order "+z)}}function u(a,b,c,d){function e(a){for(;a>m;){var d=b[c+k];k++,n?(j=j<<7|d,m+=7,n=!1):(j=j<<8|d,m+=8),255===d&&(n=!0)}return m-=a,j>>>m&(1<<a)-1}function f(a){return 255===b[c+k-1]&&b[c+k]===a?(g(1),!0):255===b[c+k]&&b[c+k+1]===a?(g(2),!0):!1}function g(a){k+=a}function h(){m=0,n&&(k++,n=!1)}function i(){if(0===e(1))return 1;if(0===e(1))return 2;var a=e(2);return 3>a?a+3:(a=e(5),31>a?a+6:(a=e(7),a+37))}for(var j,k=0,m=0,n=!1,o=a.currentTile.index,p=a.tiles[o],q=a.COD.sopMarkerUsed,r=a.COD.ephMarkerUsed,s=p.packetsIterator;d>k;){h(),q&&f(145)&&g(4);var t=s.nextPacket();if(e(1)){for(var u,v=t.layerNumber,w=[],x=0,y=t.codeblocks.length;y>x;x++){u=t.codeblocks[x];var z,C=u.precinct,D=u.cbx-C.cbxMin,E=u.cby-C.cbyMin,F=!1,G=!1;if(void 0!==u.included)F=!!e(1);else{C=u.precinct;var H,I;if(void 0!==C.inclusionTree)H=C.inclusionTree;else{var J=C.cbxMax-C.cbxMin+1,K=C.cbyMax-C.cbyMin+1;H=new B(J,K,v),I=new A(J,K),C.inclusionTree=H,C.zeroBitPlanesTree=I}if(H.reset(D,E,v))for(;;){if(!e(1)){H.incrementValue(v);break}if(z=!H.nextLevel()){u.included=!0,F=G=!0;break}}}if(F){if(G){for(I=C.zeroBitPlanesTree,I.reset(D,E);;)if(e(1)){if(z=!I.nextLevel())break}else I.incrementValue();u.zeroBitPlanes=I.value}for(var L=i();e(1);)u.Lblock++;var M=l(L),N=(1<<M>L?M-1:M)+u.Lblock,O=e(N);w.push({codeblock:u,codingpasses:L,dataLength:O})}}for(h(),r&&f(146);w.length>0;){var P=w.shift();u=P.codeblock,void 0===u.data&&(u.data=[]),u.data.push({data:b,start:c+k,end:c+k+P.dataLength,codingpasses:P.codingpasses}),k+=P.dataLength}}}return k}function v(a,b,c,d,e,f,g,h){for(var i=d.tbx0,j=d.tby0,k=d.tbx1-d.tbx0,l=d.codeblocks,m="H"===d.type.charAt(0)?1:0,n="H"===d.type.charAt(1)?b:0,o=0,p=l.length;p>o;++o){var q=l[o],r=q.tbx1_-q.tbx0_,s=q.tby1_-q.tby0_;if(0!==r&&0!==s&&void 0!==q.data){var t,u;t=new C(r,s,q.subbandType,q.zeroBitPlanes,f),u=2;var v,w,x,y=q.data,z=0,A=0;for(v=0,w=y.length;w>v;v++)x=y[v],z+=x.end-x.start,A+=x.codingpasses;var B=new Uint8Array(z),D=0;for(v=0,w=y.length;w>v;v++){x=y[v];var E=x.data.subarray(x.start,x.end);B.set(E,D),D+=E.length}var F=new fd(B,0,z);for(t.setDecoder(F),v=0;A>v;v++){switch(u){case 0:t.runSignificancePropogationPass();break;case 1:t.runMagnitudeRefinementPass();break;case 2:t.runCleanupPass(),h&&t.checkSegmentationSymbol()}u=(u+1)%3}var G,H,I,J=q.tbx0_-i+(q.tby0_-j)*k,K=t.coefficentsSign,L=t.coefficentsMagnitude,M=t.bitsDecoded,N=g?0:.5;D=0;var O="LL"!==d.type;for(v=0;s>v;v++){var P=J/k|0,Q=2*P*(b-k)+m+n;for(G=0;r>G;G++){if(H=L[D],0!==H){H=(H+N)*e,0!==K[D]&&(H=-H),I=M[D];var R=O?Q+(J<<1):J;g&&I>=f?a[R]=H:a[R]=H*(1<<f-I)}J++,D++}J+=k-r}}}}function w(a,b,c){for(var d=b.components[c],e=d.codingStyleParameters,f=d.quantizationParameters,g=e.decompositionLevelsCount,h=f.SPqcds,i=f.scalarExpounded,j=f.guardBits,k=e.segmentationSymbolUsed,l=a.components[c].precision,m=e.reversibleTransformation,n=m?new F:new E,o=[],p=0,q=0;g>=q;q++){for(var r=d.resolutions[q],s=r.trx1-r.trx0,t=r.try1-r.try0,u=new Float32Array(s*t),w=0,x=r.subbands.length;x>w;w++){var y,A;i?(y=h[p].mu,A=h[p].epsilon,p++):(y=h[0].mu,A=h[0].epsilon+(q>0?1-q:0));var B=r.subbands[w],C=z[B.type],D=m?1:Math.pow(2,l+C-A)*(1+y/2048),G=j+A-1;v(u,s,t,B,D,G,m,k)}o.push({width:s,height:t,items:u})}var H=n.calculate(o,d.tcx0,d.tcy0);return{left:d.tcx0,top:d.tcy0,width:H.width,height:H.height,items:H.items}}function x(a){for(var b=a.SIZ,c=a.components,d=b.Csiz,e=[],f=0,g=a.tiles.length;g>f;f++){var h,i=a.tiles[f],j=[];for(h=0;d>h;h++)j[h]=w(a,i,h);var k,l,m,n,o,p,q,r,s,t,u,v,x,y,z,A=j[0],B=new Uint8Array(A.items.length*d),C={left:A.left,top:A.top,width:A.width,height:A.height,items:B},D=0;if(i.codingStyleDefaultParameters.multipleComponentTransform){var E=4===d,F=j[0].items,G=j[1].items,H=j[2].items,I=E?j[3].items:null;k=c[0].precision-8,l=(128<<k)+.5,m=255*(1<<k),o=.5*m,n=-o;var J=i.components[0],K=d-3;if(q=F.length,J.codingStyleParameters.reversibleTransformation)for(p=0;q>p;p++,D+=K)r=F[p]+l,s=G[p],t=H[p],v=r-(t+s>>2),u=v+t,x=v+s,B[D++]=0>=u?0:u>=m?255:u>>k,B[D++]=0>=v?0:v>=m?255:v>>k,B[D++]=0>=x?0:x>=m?255:x>>k;else for(p=0;q>p;p++,D+=K)r=F[p]+l,s=G[p],t=H[p],u=r+1.402*t,v=r-.34413*s-.71414*t,x=r+1.772*s,B[D++]=0>=u?0:u>=m?255:u>>k,B[D++]=0>=v?0:v>=m?255:v>>k,B[D++]=0>=x?0:x>=m?255:x>>k;if(E)for(p=0,D=3;q>p;p++,D+=4)y=I[p],B[D]=n>=y?0:y>=o?255:y+l>>k}else for(h=0;d>h;h++){var L=j[h].items;for(k=c[h].precision-8,l=(128<<k)+.5,m=127.5*(1<<k),n=-m,D=h,p=0,q=L.length;q>p;p++)z=L[p],B[D]=n>=z?0:z>=m?255:z+l>>k,D+=d}e.push(C)}return e}function y(a,b){for(var c=a.SIZ,d=c.Csiz,e=a.tiles[b],f=0;d>f;f++){var g=e.components[f],h=void 0!==a.currentTile.QCC[f]?a.currentTile.QCC[f]:a.currentTile.QCD;g.quantizationParameters=h;var i=void 0!==a.currentTile.COC[f]?a.currentTile.COC[f]:a.currentTile.COD;g.codingStyleParameters=i}e.codingStyleDefaultParameters=a.currentTile.COD}var z={LL:0,LH:1,HL:1,HH:2};c.prototype={parse:function(c){var d=n(c,0);if(65359===d)return void this.parseCodestream(c,0,c.length);for(var e=0,f=c.length;f>e;){var g=8,h=o(c,e),i=o(c,e+4);if(e+=g,1===h&&(h=4294967296*o(c,e)+o(c,e+4),e+=8,g+=8),0===h&&(h=f-e+g),g>h)throw new Error("JPX Error: Invalid box field size");var j=h-g,k=!0;switch(i){case 1785737832:k=!1;break;case 1668246642:var l=c[e];c[e+1],c[e+2];if(1===l){var m=o(c,e+3);switch(m){case 16:case 17:case 18:break;default:b("Unknown colorspace "+m)}}else 2===l&&a("ICC profile not supported");break;case 1785737827:this.parseCodestream(c,e,e+j);break;case 1783636e3:218793738!==o(c,e)&&b("Invalid JP2 signature");break;case 1783634458:case 1718909296:case 1920099697:case 1919251232:case 1768449138:break;default:var p=String.fromCharCode(i>>24&255,i>>16&255,i>>8&255,255&i);b("Unsupported header type "+i+" ("+p+")")}k&&(e+=j)}},parseImageProperties:function(a){for(var b=a.getByte();b>=0;){var c=b;b=a.getByte();var d=c<<8|b;if(65361===d){a.skip(4);var e=a.getInt32()>>>0,f=a.getInt32()>>>0,g=a.getInt32()>>>0,h=a.getInt32()>>>0;a.skip(16);var i=a.getUint16();return this.width=e-g,this.height=f-h,this.componentsCount=i,void(this.bitsPerComponent=8)}}throw new Error("JPX Error: No size marker found in JPX stream")},parseCodestream:function(a,c,f){var g={};try{for(var h=!1,i=c;f>i+1;){var j=n(a,i);i+=2;var k,l,m,p,q,r,s=0;switch(j){case 65359:g.mainHeader=!0;break;case 65497:break;case 65361:s=n(a,i);var v={};v.Xsiz=o(a,i+4),v.Ysiz=o(a,i+8),v.XOsiz=o(a,i+12),v.YOsiz=o(a,i+16),v.XTsiz=o(a,i+20),v.YTsiz=o(a,i+24),v.XTOsiz=o(a,i+28),v.YTOsiz=o(a,i+32);var w=n(a,i+36);v.Csiz=w;var z=[];k=i+38;for(var A=0;w>A;A++){var B={precision:(127&a[k])+1,isSigned:!!(128&a[k]),XRsiz:a[k+1],YRsiz:a[k+1]};d(B,v),z.push(B)}g.SIZ=v,g.components=z,e(g,z),g.QCC=[],g.COC=[];break;case 65372:s=n(a,i);var C={};switch(k=i+2,l=a[k++],31&l){case 0:p=8,q=!0;break;case 1:p=16,q=!1;break;case 2:p=16,q=!0;break;default:throw new Error("JPX Error: Invalid SQcd value "+l)}for(C.noQuantization=8===p,C.scalarExpounded=q,C.guardBits=l>>5,m=[];s+i>k;){var D={};8===p?(D.epsilon=a[k++]>>3,D.mu=0):(D.epsilon=a[k]>>3,D.mu=(7&a[k])<<8|a[k+1],k+=2),m.push(D)}C.SPqcds=m,g.mainHeader?g.QCD=C:(g.currentTile.QCD=C,g.currentTile.QCC=[]);break;case 65373:s=n(a,i);var E={};k=i+2;var F;switch(g.SIZ.Csiz<257?F=a[k++]:(F=n(a,k),k+=2),l=a[k++],31&l){case 0:p=8,q=!0;break;case 1:p=16,q=!1;break;case 2:p=16,q=!0;break;default:throw new Error("JPX Error: Invalid SQcd value "+l)}for(E.noQuantization=8===p,E.scalarExpounded=q,E.guardBits=l>>5,m=[];s+i>k;)D={},8===p?(D.epsilon=a[k++]>>3,D.mu=0):(D.epsilon=a[k]>>3,D.mu=(7&a[k])<<8|a[k+1],k+=2),m.push(D);E.SPqcds=m,g.mainHeader?g.QCC[F]=E:g.currentTile.QCC[F]=E;break;case 65362:s=n(a,i);var G={};k=i+2;var H=a[k++];G.entropyCoderWithCustomPrecincts=!!(1&H),G.sopMarkerUsed=!!(2&H),G.ephMarkerUsed=!!(4&H),G.progressionOrder=a[k++],G.layersCount=n(a,k),k+=2,G.multipleComponentTransform=a[k++],G.decompositionLevelsCount=a[k++],G.xcb=(15&a[k++])+2,G.ycb=(15&a[k++])+2;var I=a[k++];if(G.selectiveArithmeticCodingBypass=!!(1&I),G.resetContextProbabilities=!!(2&I),G.terminationOnEachCodingPass=!!(4&I),G.verticalyStripe=!!(8&I),G.predictableTermination=!!(16&I),G.segmentationSymbolUsed=!!(32&I),G.reversibleTransformation=a[k++],G.entropyCoderWithCustomPrecincts){for(var J=[];s+i>k;){var K=a[k++];J.push({PPx:15&K,PPy:K>>4})}G.precinctsSizes=J}var L=[];if(G.selectiveArithmeticCodingBypass&&L.push("selectiveArithmeticCodingBypass"),G.resetContextProbabilities&&L.push("resetContextProbabilities"),G.terminationOnEachCodingPass&&L.push("terminationOnEachCodingPass"),G.verticalyStripe&&L.push("verticalyStripe"),G.predictableTermination&&L.push("predictableTermination"),L.length>0)throw h=!0,new Error("JPX Error: Unsupported COD options ("+L.join(", ")+")");g.mainHeader?g.COD=G:(g.currentTile.COD=G,g.currentTile.COC=[]);break;case 65424:s=n(a,i),r={},r.index=n(a,i+2),r.length=o(a,i+4),r.dataEnd=r.length+i-2,r.partIndex=a[i+8],r.partsCount=a[i+9],g.mainHeader=!1,0===r.partIndex&&(r.COD=g.COD,r.COC=g.COC.slice(0),r.QCD=g.QCD,r.QCC=g.QCC.slice(0)),g.currentTile=r;break;case 65427:r=g.currentTile,0===r.partIndex&&(y(g,r.index),t(g)),s=r.dataEnd-i,u(g,a,i,s);break;case 65365:case 65367:case 65368:case 65380:s=n(a,i);break;case 65363:throw new Error("JPX Error: Codestream code 0xFF53 (COC) is not implemented");default:throw new Error("JPX Error: Unknown codestream code: "+j.toString(16))}i+=s}}catch(M){if(h||this.failOnCorruptedImage)throw M;b("Trying to recover from "+M.message)}this.tiles=x(g),this.width=g.SIZ.Xsiz-g.SIZ.XOsiz,this.height=g.SIZ.Ysiz-g.SIZ.YOsiz,this.componentsCount=g.SIZ.Csiz}};var A=function(){function a(a,b){var c=l(Math.max(a,b))+1;this.levels=[];for(var d=0;c>d;d++){var e={width:a,height:b,items:[]};this.levels.push(e),a=Math.ceil(a/2),b=Math.ceil(b/2)}}return a.prototype={reset:function(a,b){for(var c,d=0,e=0;d<this.levels.length;){
-c=this.levels[d];var f=a+b*c.width;if(void 0!==c.items[f]){e=c.items[f];break}c.index=f,a>>=1,b>>=1,d++}d--,c=this.levels[d],c.items[c.index]=e,this.currentLevel=d,delete this.value},incrementValue:function(){var a=this.levels[this.currentLevel];a.items[a.index]++},nextLevel:function(){var a=this.currentLevel,b=this.levels[a],c=b.items[b.index];return a--,0>a?(this.value=c,!1):(this.currentLevel=a,b=this.levels[a],b.items[b.index]=c,!0)}},a}(),B=function(){function a(a,b,c){var d=l(Math.max(a,b))+1;this.levels=[];for(var e=0;d>e;e++){for(var f=new Uint8Array(a*b),g=0,h=f.length;h>g;g++)f[g]=c;var i={width:a,height:b,items:f};this.levels.push(i),a=Math.ceil(a/2),b=Math.ceil(b/2)}}return a.prototype={reset:function(a,b,c){for(var d=0;d<this.levels.length;){var e=this.levels[d],f=a+b*e.width;e.index=f;var g=e.items[f];if(255===g)break;if(g>c)return this.currentLevel=d,this.propagateValues(),!1;a>>=1,b>>=1,d++}return this.currentLevel=d-1,!0},incrementValue:function(a){var b=this.levels[this.currentLevel];b.items[b.index]=a+1,this.propagateValues()},propagateValues:function(){for(var a=this.currentLevel,b=this.levels[a],c=b.items[b.index];--a>=0;)b=this.levels[a],b.items[b.index]=c},nextLevel:function(){var a=this.currentLevel,b=this.levels[a],c=b.items[b.index];return b.items[b.index]=255,a--,0>a?!1:(this.currentLevel=a,b=this.levels[a],b.items[b.index]=c,!0)}},a}(),C=function(){function a(a,b,c,g,h){this.width=a,this.height=b,this.contextLabelTable="HH"===c?f:"HL"===c?e:d;var i=a*b;this.neighborsSignificance=new Uint8Array(i),this.coefficentsSign=new Uint8Array(i),this.coefficentsMagnitude=h>14?new Uint32Array(i):h>6?new Uint16Array(i):new Uint8Array(i),this.processingFlags=new Uint8Array(i);var j=new Uint8Array(i);if(0!==g)for(var k=0;i>k;k++)j[k]=g;this.bitsDecoded=j,this.reset()}var b=17,c=18,d=new Uint8Array([0,5,8,0,3,7,8,0,4,7,8,0,0,0,0,0,1,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8]),e=new Uint8Array([0,3,4,0,5,7,7,0,8,8,8,0,0,0,0,0,1,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8]),f=new Uint8Array([0,1,2,0,1,2,2,0,2,2,2,0,0,0,0,0,3,4,5,0,4,5,5,0,5,5,5,0,0,0,0,0,6,7,7,0,7,7,7,0,7,7,7,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8]);return a.prototype={setDecoder:function(a){this.decoder=a},reset:function(){this.contexts=new Int8Array(19),this.contexts[0]=8,this.contexts[b]=92,this.contexts[c]=6},setNeighborsSignificance:function(a,b,c){var d,e=this.neighborsSignificance,f=this.width,g=this.height,h=b>0,i=f>b+1;a>0&&(d=c-f,h&&(e[d-1]+=16),i&&(e[d+1]+=16),e[d]+=4),g>a+1&&(d=c+f,h&&(e[d-1]+=16),i&&(e[d+1]+=16),e[d]+=4),h&&(e[c-1]+=1),i&&(e[c+1]+=1),e[c]|=128},runSignificancePropogationPass:function(){for(var a=this.decoder,b=this.width,c=this.height,d=this.coefficentsMagnitude,e=this.coefficentsSign,f=this.neighborsSignificance,g=this.processingFlags,h=this.contexts,i=this.contextLabelTable,j=this.bitsDecoded,k=-2,l=1,m=2,n=0;c>n;n+=4)for(var o=0;b>o;o++)for(var p=n*b+o,q=0;4>q;q++,p+=b){var r=n+q;if(r>=c)break;if(g[p]&=k,!d[p]&&f[p]){var s=i[f[p]],t=a.readBit(h,s);if(t){var u=this.decodeSignBit(r,o,p);e[p]=u,d[p]=1,this.setNeighborsSignificance(r,o,p),g[p]|=m}j[p]++,g[p]|=l}}},decodeSignBit:function(a,b,c){var d,e,f,g,h,i,j=this.width,k=this.height,l=this.coefficentsMagnitude,m=this.coefficentsSign;g=b>0&&0!==l[c-1],j>b+1&&0!==l[c+1]?(f=m[c+1],g?(e=m[c-1],d=1-f-e):d=1-f-f):g?(e=m[c-1],d=1-e-e):d=0;var n=3*d;return g=a>0&&0!==l[c-j],k>a+1&&0!==l[c+j]?(f=m[c+j],g?(e=m[c-j],d=1-f-e+n):d=1-f-f+n):g?(e=m[c-j],d=1-e-e+n):d=n,d>=0?(h=9+d,i=this.decoder.readBit(this.contexts,h)):(h=9-d,i=1^this.decoder.readBit(this.contexts,h)),i},runMagnitudeRefinementPass:function(){for(var a,b=this.decoder,c=this.width,d=this.height,e=this.coefficentsMagnitude,f=this.neighborsSignificance,g=this.contexts,h=this.bitsDecoded,i=this.processingFlags,j=1,k=2,l=c*d,m=4*c,n=0;l>n;n=a){a=Math.min(l,n+m);for(var o=0;c>o;o++)for(var p=n+o;a>p;p+=c)if(e[p]&&0===(i[p]&j)){var q=16;if(0!==(i[p]&k)){i[p]^=k;var r=127&f[p];q=0===r?15:14}var s=b.readBit(g,q);e[p]=e[p]<<1|s,h[p]++,i[p]|=j}}},runCleanupPass:function(){for(var a,d=this.decoder,e=this.width,f=this.height,g=this.neighborsSignificance,h=this.coefficentsMagnitude,i=this.coefficentsSign,j=this.contexts,k=this.contextLabelTable,l=this.bitsDecoded,m=this.processingFlags,n=1,o=2,p=e,q=2*e,r=3*e,s=0;f>s;s=a){a=Math.min(s+4,f);for(var t=s*e,u=f>s+3,v=0;e>v;v++){var w,x=t+v,y=u&&0===m[x]&&0===m[x+p]&&0===m[x+q]&&0===m[x+r]&&0===g[x]&&0===g[x+p]&&0===g[x+q]&&0===g[x+r],z=0,A=x,B=s;if(y){var C=d.readBit(j,c);if(!C){l[x]++,l[x+p]++,l[x+q]++,l[x+r]++;continue}z=d.readBit(j,b)<<1|d.readBit(j,b),0!==z&&(B=s+z,A+=z*e),w=this.decodeSignBit(B,v,A),i[A]=w,h[A]=1,this.setNeighborsSignificance(B,v,A),m[A]|=o,A=x;for(var D=s;B>=D;D++,A+=e)l[A]++;z++}for(B=s+z;a>B;B++,A+=e)if(!h[A]&&0===(m[A]&n)){var E=k[g[A]],F=d.readBit(j,E);1===F&&(w=this.decodeSignBit(B,v,A),i[A]=w,h[A]=1,this.setNeighborsSignificance(B,v,A),m[A]|=o),l[A]++}}}},checkSegmentationSymbol:function(){var a=this.decoder,c=this.contexts,d=a.readBit(c,b)<<3|a.readBit(c,b)<<2|a.readBit(c,b)<<1|a.readBit(c,b);if(10!==d)throw new Error("JPX Error: Invalid segmentation symbol")}},a}(),D=function(){function a(){}return a.prototype.calculate=function(a,b,c){for(var d=a[0],e=1,f=a.length;f>e;e++)d=this.iterate(d,a[e],b,c);return d},a.prototype.extend=function(a,b,c){var d=b-1,e=b+1,f=b+c-2,g=b+c;a[d--]=a[e++],a[g++]=a[f--],a[d--]=a[e++],a[g++]=a[f--],a[d--]=a[e++],a[g++]=a[f--],a[d]=a[e],a[g]=a[f]},a.prototype.iterate=function(a,b,c,d){var e,f,g,h,i,j,k=a.width,l=a.height,m=a.items,n=b.width,o=b.height,p=b.items;for(g=0,e=0;l>e;e++)for(h=2*e*n,f=0;k>f;f++,g++,h+=2)p[h]=m[g];m=a.items=null;var q=4,r=new Float32Array(n+2*q);if(1===n){if(0!==(1&c))for(j=0,g=0;o>j;j++,g+=n)p[g]*=.5}else for(j=0,g=0;o>j;j++,g+=n)r.set(p.subarray(g,g+n),q),this.extend(r,q,n),this.filter(r,q,n),p.set(r.subarray(q,q+n),g);var s=16,t=[];for(e=0;s>e;e++)t.push(new Float32Array(o+2*q));var u,v=0;if(a=q+o,1===o){if(0!==(1&d))for(i=0;n>i;i++)p[i]*=.5}else for(i=0;n>i;i++){if(0===v){for(s=Math.min(n-i,s),g=i,h=q;a>h;g+=n,h++)for(u=0;s>u;u++)t[u][h]=p[g+u];v=s}v--;var w=t[v];if(this.extend(w,q,o),this.filter(w,q,o),0===v)for(g=i-s+1,h=q;a>h;g+=n,h++)for(u=0;s>u;u++)p[g+u]=t[u][h]}return{width:n,height:o,items:p}},a}(),E=function(){function a(){D.call(this)}return a.prototype=Object.create(D.prototype),a.prototype.filter=function(a,b,c){var d=c>>1;b=0|b;var e,f,g,h,i=-1.586134342059924,j=-.052980118572961,k=.882911075530934,l=.443506852043971,m=1.230174104914001,n=1/m;for(e=b-3,f=d+4;f--;e+=2)a[e]*=n;for(e=b-2,g=l*a[e-1],f=d+3;f--&&(h=l*a[e+1],a[e]=m*a[e]-g-h,f--);e+=2)e+=2,g=l*a[e+1],a[e]=m*a[e]-g-h;for(e=b-1,g=k*a[e-1],f=d+2;f--&&(h=k*a[e+1],a[e]-=g+h,f--);e+=2)e+=2,g=k*a[e+1],a[e]-=g+h;for(e=b,g=j*a[e-1],f=d+1;f--&&(h=j*a[e+1],a[e]-=g+h,f--);e+=2)e+=2,g=j*a[e+1],a[e]-=g+h;if(0!==d)for(e=b+1,g=i*a[e-1],f=d;f--&&(h=i*a[e+1],a[e]-=g+h,f--);e+=2)e+=2,g=i*a[e+1],a[e]-=g+h},a}(),F=function(){function a(){D.call(this)}return a.prototype=Object.create(D.prototype),a.prototype.filter=function(a,b,c){var d=c>>1;b=0|b;var e,f;for(e=b,f=d+1;f--;e+=2)a[e]-=a[e-1]+a[e+1]+2>>2;for(e=b+1,f=d;f--;e+=2)a[e]+=a[e-1]+a[e+1]>>1},a}();return c}(),id=function(){function a(){}function b(a,b,c){this.data=a,this.start=b,this.end=c}function d(a,b,c){function d(a){for(var b=0,d=0;a>d;d++){var g=c.readBit(e,f);f=256>f?f<<1|g:511&(f<<1|g)|256,b=b<<1|g}return b>>>0}var e=a.getContexts(b),f=1,g=d(1),h=d(1)?d(1)?d(1)?d(1)?d(1)?d(32)+4436:d(12)+340:d(8)+84:d(6)+20:d(4)+4:d(2);return 0===g?h:h>0?-h:null}function e(a,b,c){for(var d=a.getContexts("IAID"),e=1,f=0;c>f;f++){var g=b.readBit(d,e);e=e<<1|g}return 31>c?e&(1<<c)-1:2147483647&e}function f(a,b,c){var d,e,f,g,h,i,j,k=c.decoder,l=c.contextCache.getContexts("GB"),m=[],n=31735;for(e=0;b>e;e++)for(h=m[e]=new Uint8Array(a),i=1>e?h:m[e-1],j=2>e?h:m[e-2],d=j[0]<<13|j[1]<<12|j[2]<<11|i[0]<<7|i[1]<<6|i[2]<<5|i[3]<<4,f=0;a>f;f++)h[f]=g=k.readBit(l,d),d=(d&n)<<1|(a>f+3?j[f+3]<<11:0)|(a>f+4?i[f+4]<<4:0)|g;return m}function h(a,b,d,e,g,h,i,j){if(a&&c("JBIG2 error: MMR encoding is not supported"),0===e&&!h&&!g&&4===i.length&&3===i[0].x&&-1===i[0].y&&-3===i[1].x&&-1===i[1].y&&2===i[2].x&&-2===i[2].y&&-2===i[3].x&&-2===i[3].y)return f(b,d,j);var k=!!h,l=y[e].concat(i);l.sort(function(a,b){return a.y-b.y||a.x-b.x});var m,n,o=l.length,p=new Int8Array(o),q=new Int8Array(o),r=[],s=0,t=0,u=0,v=0;for(n=0;o>n;n++)p[n]=l[n].x,q[n]=l[n].y,t=Math.min(t,l[n].x),u=Math.max(u,l[n].x),v=Math.min(v,l[n].y),o-1>n&&l[n].y===l[n+1].y&&l[n].x===l[n+1].x-1?s|=1<<o-1-n:r.push(n);var w=r.length,x=new Int8Array(w),z=new Int8Array(w),B=new Uint16Array(w);for(m=0;w>m;m++)n=r[m],x[m]=l[n].x,z[m]=l[n].y,B[m]=1<<o-1-n;for(var C,D,E,F,G,H=-t,I=-v,J=b-u,K=A[e],L=new Uint8Array(b),M=[],N=j.decoder,O=j.contextCache.getContexts("GB"),P=0,Q=0,R=0;d>R;R++){if(g){var S=N.readBit(O,K);if(P^=S){M.push(L);continue}}for(L=new Uint8Array(L),M.push(L),C=0;b>C;C++)if(k&&h[R][C])L[C]=0;else{if(C>=H&&J>C&&R>=I)for(Q=Q<<1&s,n=0;w>n;n++)D=R+z[n],E=C+x[n],F=M[D][E],F&&(F=B[n],Q|=F);else for(Q=0,G=o-1,n=0;o>n;n++,G--)E=C+p[n],E>=0&&b>E&&(D=R+q[n],D>=0&&(F=M[D][E],F&&(Q|=F<<G)));var T=N.readBit(O,Q);L[C]=T}}return M}function i(a,b,d,e,f,g,h,i,j){var k=z[d].coding;0===d&&(k=k.concat([i[0]]));var l,m=k.length,n=new Int32Array(m),o=new Int32Array(m);for(l=0;m>l;l++)n[l]=k[l].x,o[l]=k[l].y;var p=z[d].reference;0===d&&(p=p.concat([i[1]]));var q=p.length,r=new Int32Array(q),s=new Int32Array(q);for(l=0;q>l;l++)r[l]=p[l].x,s[l]=p[l].y;for(var t=e[0].length,u=e.length,v=B[d],w=[],x=j.decoder,y=j.contextCache.getContexts("GR"),A=0,C=0;b>C;C++){if(h){var D=x.readBit(y,v);A^=D,A&&c("JBIG2 error: prediction is not supported")}var E=new Uint8Array(a);w.push(E);for(var F=0;a>F;F++){var G,H,I=0;for(l=0;m>l;l++)G=C+o[l],H=F+n[l],0>G||0>H||H>=a?I<<=1:I=I<<1|w[G][H];for(l=0;q>l;l++)G=C+s[l]+g,H=F+r[l]+f,0>G||G>=u||0>H||H>=t?I<<=1:I=I<<1|e[G][H];var J=x.readBit(y,I);E[F]=J}}return w}function j(a,b,f,g,j,m,n,o,p,q,r){a&&c("JBIG2 error: huffman is not supported");for(var s=[],t=0,u=l(f.length+g),v=r.decoder,w=r.contextCache;s.length<g;){var x=d(w,"IADH",v);t+=x;for(var y=0,z=0;;){var A=d(w,"IADW",v);if(null===A)break;y+=A,z+=y;var B;if(b){var C=d(w,"IAAI",v);if(C>1)B=k(a,b,y,t,0,C,1,f.concat(s),u,0,0,1,0,m,p,q,r);else{var D=e(w,v,u),E=d(w,"IARDX",v),F=d(w,"IARDY",v),G=D<f.length?f[D]:s[D-f.length];B=i(y,t,p,G,E,F,!1,q,r)}}else B=h(!1,y,t,n,!1,null,o,r);s.push(B)}}for(var H=[],I=[],J=!1,K=f.length+g;I.length<K;){for(var L=d(w,"IAEX",v);L--;)I.push(J);J=!J}for(var M=0,N=f.length;N>M;M++)I[M]&&H.push(f[M]);for(var O=0;g>O;M++,O++)I[M]&&H.push(s[O]);return H}function k(a,b,f,g,h,j,k,l,m,n,o,p,q,r,s,t,u){a&&c("JBIG2 error: huffman is not supported");var v,w,x=[];for(v=0;g>v;v++){if(w=new Uint8Array(f),h)for(var y=0;f>y;y++)w[y]=h;x.push(w)}var z=u.decoder,A=u.contextCache,B=-d(A,"IADT",z),C=0;for(v=0;j>v;){var D=d(A,"IADT",z);B+=D;var E=d(A,"IAFS",z);C+=E;for(var F=C;;){var G=1===k?0:d(A,"IAIT",z),H=k*B+G,I=e(A,z,m),J=b&&d(A,"IARI",z),K=l[I],L=K[0].length,M=K.length;if(J){var N=d(A,"IARDW",z),O=d(A,"IARDH",z),P=d(A,"IARDX",z),Q=d(A,"IARDY",z);L+=N,M+=O,K=i(L,M,s,K,(N>>1)+P,(O>>1)+Q,!1,t,u)}var R,S,T,U=H-(1&p?0:M),V=F-(2&p?L:0);if(n){for(R=0;M>R;R++)if(w=x[V+R]){T=K[R];var W=Math.min(f-U,L);switch(q){case 0:for(S=0;W>S;S++)w[U+S]|=T[S];break;case 2:for(S=0;W>S;S++)w[U+S]^=T[S];break;default:c("JBIG2 error: operator "+q+" is not supported")}}F+=M-1}else{for(S=0;M>S;S++)if(w=x[U+S])switch(T=K[S],q){case 0:for(R=0;L>R;R++)w[V+R]|=T[R];break;case 2:for(R=0;L>R;R++)w[V+R]^=T[R];break;default:c("JBIG2 error: operator "+q+" is not supported")}F+=L-1}v++;var X=d(A,"IADS",z);if(null===X)break;F+=X+o}}return x}function p(a,b){var d={};d.number=o(a,b);var e=a[b+4],f=63&e;x[f]||c("JBIG2 error: invalid segment type: "+f),d.type=f,d.typeName=x[f],d.deferredNonRetain=!!(128&e);var g=!!(64&e),h=a[b+5],i=h>>5&7,j=[31&h],k=b+6;if(7===h){i=536870911&o(a,k-1),k+=3;var l=i+7>>3;for(j[0]=a[k++];--l>0;)j.push(a[k++])}else(5===h||6===h)&&c("JBIG2 error: invalid referred-to flags");d.retainBits=j;var m,p,q=d.number<=256?1:d.number<=65536?2:4,s=[];for(m=0;i>m;m++){var t=1===q?a[k]:2===q?n(a,k):o(a,k);s.push(t),k+=q}if(d.referredTo=s,g?(d.pageAssociation=o(a,k),k+=4):d.pageAssociation=a[k++],d.length=o(a,k),k+=4,4294967295===d.length)if(38===f){var u=r(a,k),v=a[k+C],w=!!(1&v),y=6,z=new Uint8Array(y);for(w||(z[0]=255,z[1]=172),z[2]=u.height>>>24&255,z[3]=u.height>>16&255,z[4]=u.height>>8&255,z[5]=255&u.height,m=k,p=a.length;p>m;m++){for(var A=0;y>A&&z[A]===a[m+A];)A++;if(A===y){d.length=m+y;break}}4294967295===d.length&&c("JBIG2 error: segment end was not found")}else c("JBIG2 error: invalid unknown segment length");return d.headerEnd=k,d}function q(a,b,c,d){for(var e=[],f=c;d>f;){var g=p(b,f);f=g.headerEnd;var h={header:g,data:b};if(a.randomAccess||(h.start=f,f+=g.length,h.end=f),e.push(h),51===g.type)break}if(a.randomAccess)for(var i=0,j=e.length;j>i;i++)e[i].start=f,f+=e[i].header.length,e[i].end=f;return e}function r(a,b){return{width:o(a,b),height:o(a,b+4),x:o(a,b+8),y:o(a,b+12),combinationOperator:7&a[b+16]}}function s(a,b){var d,e,f,g,h=a.header,i=a.data,j=a.start,k=a.end;switch(h.type){case 0:var l={},p=n(i,j);if(l.huffman=!!(1&p),l.refinement=!!(2&p),l.huffmanDHSelector=p>>2&3,l.huffmanDWSelector=p>>4&3,l.bitmapSizeSelector=p>>6&1,l.aggregationInstancesSelector=p>>7&1,l.bitmapCodingContextUsed=!!(256&p),l.bitmapCodingContextRetained=!!(512&p),l.template=p>>10&3,l.refinementTemplate=p>>12&1,j+=2,!l.huffman){for(g=0===l.template?4:1,e=[],f=0;g>f;f++)e.push({x:m(i,j),y:m(i,j+1)}),j+=2;l.at=e}if(l.refinement&&!l.refinementTemplate){for(e=[],f=0;2>f;f++)e.push({x:m(i,j),y:m(i,j+1)}),j+=2;l.refinementAt=e}l.numberOfExportedSymbols=o(i,j),j+=4,l.numberOfNewSymbols=o(i,j),j+=4,d=[l,h.number,h.referredTo,i,j,k];break;case 6:case 7:var q={};q.info=r(i,j),j+=C;var s=n(i,j);if(j+=2,q.huffman=!!(1&s),q.refinement=!!(2&s),q.stripSize=1<<(s>>2&3),q.referenceCorner=s>>4&3,q.transposed=!!(64&s),q.combinationOperator=s>>7&3,q.defaultPixelValue=s>>9&1,q.dsOffset=s<<17>>27,q.refinementTemplate=s>>15&1,q.huffman){var t=n(i,j);j+=2,q.huffmanFS=3&t,q.huffmanDS=t>>2&3,q.huffmanDT=t>>4&3,q.huffmanRefinementDW=t>>6&3,q.huffmanRefinementDH=t>>8&3,q.huffmanRefinementDX=t>>10&3,q.huffmanRefinementDY=t>>12&3,q.huffmanRefinementSizeSelector=!!(14&t)}if(q.refinement&&!q.refinementTemplate){for(e=[],f=0;2>f;f++)e.push({x:m(i,j),y:m(i,j+1)}),j+=2;q.refinementAt=e}q.numberOfSymbolInstances=o(i,j),j+=4,q.huffman&&c("JBIG2 error: huffman is not supported"),d=[q,h.referredTo,i,j,k];break;case 38:case 39:var u={};u.info=r(i,j),j+=C;var v=i[j++];if(u.mmr=!!(1&v),u.template=v>>1&3,u.prediction=!!(8&v),!u.mmr){for(g=0===u.template?4:1,e=[],f=0;g>f;f++)e.push({x:m(i,j),y:m(i,j+1)}),j+=2;u.at=e}d=[u,i,j,k];break;case 48:var w={width:o(i,j),height:o(i,j+4),resolutionX:o(i,j+8),resolutionY:o(i,j+12)};4294967295===w.height&&delete w.height;var x=i[j+16];n(i,j+17);w.lossless=!!(1&x),w.refinement=!!(2&x),w.defaultPixelValue=x>>2&1,w.combinationOperator=x>>3&3,w.requiresBuffer=!!(32&x),w.combinationOperatorOverride=!!(64&x),d=[w];break;case 49:break;case 50:break;case 51:break;case 62:break;default:c("JBIG2 error: segment type "+h.typeName+"("+h.type+") is not implemented")}var y="on"+h.typeName;y in b&&b[y].apply(b,d)}function t(a,b){for(var c=0,d=a.length;d>c;c++)s(a[c],b)}function u(a){for(var b=new v,c=0,d=a.length;d>c;c++){var e=a[c],f=q({},e.data,e.start,e.end);t(f,b)}return b.buffer}function v(){}function w(){}a.prototype={getContexts:function(a){return a in this?this[a]:this[a]=new Int8Array(65536)}},b.prototype={get decoder(){var a=new fd(this.data,this.start,this.end);return g(this,"decoder",a)},get contextCache(){var b=new a;return g(this,"contextCache",b)}};var x=["SymbolDictionary",null,null,null,"IntermediateTextRegion",null,"ImmediateTextRegion","ImmediateLosslessTextRegion",null,null,null,null,null,null,null,null,"patternDictionary",null,null,null,"IntermediateHalftoneRegion",null,"ImmediateHalftoneRegion","ImmediateLosslessHalftoneRegion",null,null,null,null,null,null,null,null,null,null,null,null,"IntermediateGenericRegion",null,"ImmediateGenericRegion","ImmediateLosslessGenericRegion","IntermediateGenericRefinementRegion",null,"ImmediateGenericRefinementRegion","ImmediateLosslessGenericRefinementRegion",null,null,null,null,"PageInformation","EndOfPage","EndOfStripe","EndOfFile","Profiles","Tables",null,null,null,null,null,null,null,null,"Extension"],y=[[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:2,y:-1},{x:-4,y:0},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}],[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:2,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:2,y:-1},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}],[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-2,y:0},{x:-1,y:0}],[{x:-3,y:-1},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-4,y:0},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}]],z=[{coding:[{x:0,y:-1},{x:1,y:-1},{x:-1,y:0}],reference:[{x:0,y:-1},{x:1,y:-1},{x:-1,y:0},{x:0,y:0},{x:1,y:0},{x:-1,y:1},{x:0,y:1},{x:1,y:1}]},{coding:[{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-1,y:0}],reference:[{x:0,y:-1},{x:-1,y:0},{x:0,y:0},{x:1,y:0},{x:0,y:1},{x:1,y:1}]}],A=[39717,1941,229,405],B=[32,8],C=17;return v.prototype={onPageInformation:function(a){this.currentPageInfo=a;var b=a.width+7>>3,c=new Uint8Array(b*a.height);if(a.defaultPixelValue)for(var d=0,e=c.length;e>d;d++)c[d]=255;this.buffer=c},drawBitmap:function(a,b){var d,e,f,g,h=this.currentPageInfo,i=a.width,j=a.height,k=h.width+7>>3,l=h.combinationOperatorOverride?a.combinationOperator:h.combinationOperator,m=this.buffer,n=128>>(7&a.x),o=a.y*k+(a.x>>3);switch(l){case 0:for(d=0;j>d;d++){for(f=n,g=o,e=0;i>e;e++)b[d][e]&&(m[g]|=f),f>>=1,f||(f=128,g++);o+=k}break;case 2:for(d=0;j>d;d++){for(f=n,g=o,e=0;i>e;e++)b[d][e]&&(m[g]^=f),f>>=1,f||(f=128,g++);o+=k}break;default:c("JBIG2 error: operator "+l+" is not supported")}},onImmediateGenericRegion:function(a,c,d,e){var f=a.info,g=new b(c,d,e),i=h(a.mmr,f.width,f.height,a.template,a.prediction,null,a.at,g);this.drawBitmap(f,i)},onImmediateLosslessGenericRegion:function(){this.onImmediateGenericRegion.apply(this,arguments)},onSymbolDictionary:function(a,d,e,f,g,h){var i;a.huffman&&c("JBIG2 error: huffman is not supported");var k=this.symbols;k||(this.symbols=k={});for(var l=[],m=0,n=e.length;n>m;m++)l=l.concat(k[e[m]]);var o=new b(f,g,h);k[d]=j(a.huffman,a.refinement,l,a.numberOfNewSymbols,a.numberOfExportedSymbols,i,a.template,a.at,a.refinementTemplate,a.refinementAt,o)},onImmediateTextRegion:function(a,c,d,e,f){for(var g,h=a.info,i=this.symbols,j=[],m=0,n=c.length;n>m;m++)j=j.concat(i[c[m]]);var o=l(j.length),p=new b(d,e,f),q=k(a.huffman,a.refinement,h.width,h.height,a.defaultPixelValue,a.numberOfSymbolInstances,a.stripSize,j,o,a.transposed,a.dsOffset,a.referenceCorner,a.combinationOperator,g,a.refinementTemplate,a.refinementAt,p);this.drawBitmap(h,q)},onImmediateLosslessTextRegion:function(){this.onImmediateTextRegion.apply(this,arguments)}},w.prototype={parseChunks:function(a){return u(a)}},w}(),jd=(PDFJS.bidi=function(){function a(a){return 0!==(1&a)}function b(a){return 0===(1&a)}function c(a,b,c){for(var d=b,e=a.length;e>d;++d)if(a[d]!==c)return d;return d}function d(a,b,c,d){for(var e=b;c>e;++e)a[e]=d}function e(a,b,c){for(var d=b,e=c-1;e>d;++d,--e){var f=a[d];a[d]=a[e],a[e]=f}}function f(a,b,c){return{str:a,dir:c?"ttb":b?"ltr":"rtl"}}function g(g,l,m){var n=!0,o=g.length;if(0===o||m)return f(g,n,m);j.length=o,k.length=o;var p,q,r=0;for(p=0;o>p;++p){j[p]=g.charAt(p);var s=g.charCodeAt(p),t="L";255>=s?t=h[s]:s>=1424&&1524>=s?t="R":s>=1536&&1791>=s?t=i[255&s]:s>=1792&&2220>=s&&(t="AL"),("R"===t||"AL"===t||"AN"===t)&&r++,k[p]=t}if(0===r)return n=!0,f(g,n);-1===l&&(.3>o/r?(n=!0,l=0):(n=!1,l=1));var u=[];for(p=0;o>p;++p)u[p]=l;var v=a(l)?"R":"L",w=v,x=w,y=w;for(p=0;o>p;++p)"NSM"===k[p]?k[p]=y:y=k[p];y=w;var z;for(p=0;o>p;++p)z=k[p],"EN"===z?k[p]="AL"===y?"AN":"EN":("R"===z||"L"===z||"AL"===z)&&(y=z);for(p=0;o>p;++p)z=k[p],"AL"===z&&(k[p]="R");for(p=1;o-1>p;++p)"ES"===k[p]&&"EN"===k[p-1]&&"EN"===k[p+1]&&(k[p]="EN"),"CS"!==k[p]||"EN"!==k[p-1]&&"AN"!==k[p-1]||k[p+1]!==k[p-1]||(k[p]=k[p-1]);for(p=0;o>p;++p)if("EN"===k[p]){var A;for(A=p-1;A>=0&&"ET"===k[A];--A)k[A]="EN";for(A=p+1;o>A&&"ET"===k[A];--A)k[A]="EN"}for(p=0;o>p;++p)z=k[p],("WS"===z||"ES"===z||"ET"===z||"CS"===z)&&(k[p]="ON");for(y=w,p=0;o>p;++p)z=k[p],"EN"===z?k[p]="L"===y?"L":"EN":("R"===z||"L"===z)&&(y=z);for(p=0;o>p;++p)if("ON"===k[p]){var B=c(k,p+1,"ON"),C=w;p>0&&(C=k[p-1]);var D=x;o>B+1&&(D=k[B+1]),"L"!==C&&(C="R"),"L"!==D&&(D="R"),C===D&&d(k,p,B,C),p=B-1}for(p=0;o>p;++p)"ON"===k[p]&&(k[p]=v);for(p=0;o>p;++p)z=k[p],b(u[p])?"R"===z?u[p]+=1:("AN"===z||"EN"===z)&&(u[p]+=2):("L"===z||"AN"===z||"EN"===z)&&(u[p]+=1);var E,F=-1,G=99;for(p=0,q=u.length;q>p;++p)E=u[p],E>F&&(F=E),G>E&&a(E)&&(G=E);for(E=F;E>=G;--E){var H=-1;for(p=0,q=u.length;q>p;++p)u[p]<E?H>=0&&(e(j,H,p),H=-1):0>H&&(H=p);H>=0&&e(j,H,u.length)}for(p=0,q=j.length;q>p;++p){var I=j[p];("<"===I||">"===I)&&(j[p]="")}return f(j.join(""),n)}var h=["BN","BN","BN","BN","BN","BN","BN","BN","BN","S","B","S","WS","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","B","B","B","S","WS","ON","ON","ET","ET","ET","ON","ON","ON","ON","ON","ON","CS","ON","CS","ON","EN","EN","EN","EN","EN","EN","EN","EN","EN","EN","ON","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","BN","BN","BN","BN","BN","BN","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","CS","ON","ET","ET","ET","ET","ON","ON","ON","ON","L","ON","ON","ON","ON","ON","ET","ET","EN","EN","ON","L","ON","ON","ON","EN","L","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L"],i=["AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","CS","AL","ON","ON","NSM","NSM","NSM","NSM","NSM","NSM","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","AL","AL","AL","AL","AL","AL","AL","AN","AN","AN","AN","AN","AN","AN","AN","AN","AN","ET","AN","AN","AL","AL","AL","NSM","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","ON","NSM","NSM","NSM","NSM","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL"],j=[],k=[];return g}(),function(a){function b(a){var b=3285377520;this.h1=a?4294967295&a:b,this.h2=a?4294967295&a:b}var c=4294901760,d=65535,e=!1;try{new Uint32Array(new Uint8Array(5).buffer,0,1)}catch(f){e=!0}return b.prototype={update:function(a){var b,f=e;if("string"==typeof a){var g=new Uint8Array(2*a.length),h=0;for(b=0;b<a.length;b++){var i=a.charCodeAt(b);255>=i?g[h++]=i:(g[h++]=i>>>8,g[h++]=255&i)}}else if(a instanceof Uint8Array)g=a,h=g.length;else{if(!("object"==typeof a&&"length"in a))throw new Error("Wrong data format in MurmurHash3_64_update. Input must be a string or array.");g=a,h=g.length,f=!0}var j=h>>2,k=h-4*j,l=f?new la(g,j):new Uint32Array(g.buffer,0,j),m=0,n=0,o=this.h1,p=this.h2,q=3432918353,r=461845907,s=q&d,t=r&d;for(b=0;j>b;b++)1&b?(m=l[b],m=m*q&c|m*s&d,m=m<<15|m>>>17,m=m*r&c|m*t&d,o^=m,o=o<<13|o>>>19,o=5*o+3864292196):(n=l[b],n=n*q&c|n*s&d,n=n<<15|n>>>17,n=n*r&c|n*t&d,p^=n,p=p<<13|p>>>19,p=5*p+3864292196);switch(m=0,k){case 3:m^=g[4*j+2]<<16;case 2:m^=g[4*j+1]<<8;case 1:m^=g[4*j],m=m*q&c|m*s&d,m=m<<15|m>>>17,m=m*r&c|m*t&d,1&j?o^=m:p^=m}return this.h1=o,this.h2=p,this},hexdigest:function(){var a=this.h1,b=this.h2;a^=b>>>1,a=3981806797*a&c|36045*a&d,b=4283543511*b&c|(2950163797*(b<<16|a>>>16)&c)>>>16,a^=b>>>1,a=444984403*a&c|60499*a&d,b=3301882366*b&c|(3120437893*(b<<16|a>>>16)&c)>>>16,a^=b>>>1;for(var e=0,f=[a,b],g="";e<f.length;e++){for(var h=(f[e]>>>0).toString(16);h.length<8;)h="0"+h;g+=h}return g}},b}())}.call("undefined"==typeof window?this:window),PDFJS.workerSrc||"undefined"==typeof document||(PDFJS.workerSrc=function(){"use strict";var a=document.body||document.getElementsByTagName("head")[0],b=a.lastChild.src;return b&&b.replace(/\.js$/i,".worker.js")}()),function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return u.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=b&&b.split("/"),o=s.map,p=o&&o["*"]||{};if(a&&"."===a.charAt(0))if(b){for(a=a.split("/"),g=a.length-1,s.nodeIdCompat&&w.test(a[g])&&(a[g]=a[g].replace(w,"")),a=n.slice(0,n.length-1).concat(a),k=0;k<a.length;k+=1)if(m=a[k],"."===m)a.splice(k,1),k-=1;else if(".."===m){if(1===k&&(".."===a[2]||".."===a[0]))break;k>0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}else 0===a.indexOf("./")&&(a=a.substring(2));if((n||p)&&o){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),n)for(l=n.length;l>0;l-=1)if(e=o[n.slice(0,l).join("/")],e&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&p&&p[d]&&(i=p[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){var d=v.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),n.apply(b,d.concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){q[a]=b}}function j(a){if(e(r,a)){var c=r[a];delete r[a],t[a]=!0,m.apply(b,c)}if(!e(q,a)&&!e(t,a))throw new Error("No "+a);return q[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return function(){return s&&s.config&&s.config[a]||{}}}var m,n,o,p,q={},r={},s={},t={},u=Object.prototype.hasOwnProperty,v=[].slice,w=/\.js$/;o=function(a,b){var c,d=k(a),e=d[0];return a=d[1],e&&(e=f(e,b),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(b)):f(a,b):(a=f(a,b),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},p={require:function(a){return g(a)},exports:function(a){var b=q[a];return"undefined"!=typeof b?b:q[a]={}},module:function(a){return{id:a,uri:"",exports:q[a],config:l(a)}}},m=function(a,c,d,f){var h,k,l,m,n,s,u=[],v=typeof d;if(f=f||a,"undefined"===v||"function"===v){for(c=!c.length&&d.length?["require","exports","module"]:c,n=0;n<c.length;n+=1)if(m=o(c[n],f),k=m.f,"require"===k)u[n]=p.require(a);else if("exports"===k)u[n]=p.exports(a),s=!0;else if("module"===k)h=u[n]=p.module(a);else if(e(q,k)||e(r,k)||e(t,k))u[n]=j(k);else{if(!m.p)throw new Error(a+" missing "+k);m.p.load(m.n,g(f,!0),i(k),{}),u[n]=q[k]}l=d?d.apply(q[a],u):void 0,a&&(h&&h.exports!==b&&h.exports!==q[a]?q[a]=h.exports:l===b&&s||(q[a]=l))}else a&&(q[a]=d)},a=c=n=function(a,c,d,e,f){if("string"==typeof a)return p[a]?p[a](c):j(o(a,c).f);if(!a.splice){if(s=a,s.deps&&n(s.deps,s.callback),!c)return;c.splice?(a=c,c=d,d=null):a=b}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?m(b,a,c,d):setTimeout(function(){m(b,a,c,d)},4),n},n.config=function(a){return n(a)},a._defined=q,d=function(a,b,c){if("string"!=typeof a)throw new Error("See almond README: incorrect module build, no module name");b.splice||(c=b,b=[]),e(q,a)||e(r,a)||(r[a]=[a,b,c])},d.amd={jQuery:!0}}(),b.requirejs=a,b.require=c,b.define=d}}(),b.define("almond",function(){}),b.define("jquery",[],function(){var b=a||$;return null==b&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),b}),b.define("select2/utils",["jquery"],function(a){function b(a){var b=a.prototype,c=[];for(var d in b){var e=b[d];"function"==typeof e&&"constructor"!==d&&c.push(d)}return c}var c={};c.Extend=function(a,b){function c(){this.constructor=a}var d={}.hasOwnProperty;for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},c.Decorate=function(a,c){function d(){var b=Array.prototype.unshift,d=c.prototype.constructor.length,e=a.prototype.constructor;d>0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;h<g.length;h++){var i=g[h];d.prototype[i]=a.prototype[i]}for(var j=(function(a){var b=function(){};a in d.prototype&&(b=d.prototype[a]);var e=c.prototype[a];return function(){var a=Array.prototype.unshift;return a.call(arguments,b),e.apply(this,arguments)}}),k=0;k<f.length;k++){var l=f[k];d.prototype[l]=j(l)}return d};var d=function(){this.listeners={}};return d.prototype.on=function(a,b){this.listeners=this.listeners||{},a in this.listeners?this.listeners[a].push(b):this.listeners[a]=[b]},d.prototype.trigger=function(a){var b=Array.prototype.slice;this.listeners=this.listeners||{},a in this.listeners&&this.invoke(this.listeners[a],b.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},d.prototype.invoke=function(a,b){for(var c=0,d=a.length;d>c;c++)a[c].apply(this,b)},c.Observable=d,c.generateChars=function(a){for(var b="",c=0;a>c;c++){var d=Math.floor(36*Math.random());b+=d.toString(36)}return b},c.bind=function(a,b){return function(){a.apply(b,arguments)}},c._convertData=function(a){for(var b in a){var c=b.split("-"),d=a;if(1!==c.length){for(var e=0;e<c.length;e++){var f=c[e];f=f.substring(0,1).toLowerCase()+f.substring(1),f in d||(d[f]={}),e==c.length-1&&(d[f]=a[b]),d=d[f]}delete a[b]}}return a},c.hasScroll=function(b,c){var d=a(c),e=c.style.overflowX,f=c.style.overflowY;return e!==f||"hidden"!==f&&"visible"!==f?"scroll"===e||"scroll"===f?!0:d.innerHeight()<c.scrollHeight||d.innerWidth()<c.scrollWidth:!1},c.escapeMarkup=function(a){var b={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<ul class="select2-results__options" role="tree"></ul>');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>'),e=this.options.get("translations").get(b.message);
-d.append(c(e(b.args))),d[0].className+=" select2-results__message",this.$results.append(d)},c.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c<a.results.length;c++){var d=a.results[c],e=this.option(d);b.push(e)}this.$results.append(b)},c.prototype.position=function(a,b){var c=b.find(".select2-results");c.append(a)},c.prototype.sort=function(a){var b=this.options.get("sorter");return b(a)},c.prototype.setClasses=function(){var b=this;this.data.current(function(c){var d=a.map(c,function(a){return a.id.toString()}),e=b.$results.find(".select2-results__option[aria-selected]");e.each(function(){var b=a(this),c=a.data(this,"data"),e=""+c.id;null!=c.element&&c.element.selected||null==c.element&&a.inArray(e,d)>-1?b.attr("aria-selected","true"):b.attr("aria-selected","false")});var f=e.filter("[aria-selected=true]");f.length>0?f.first().trigger("mouseenter"):e.first().trigger("mouseenter")})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(b){var c=document.createElement("li");c.className="select2-results__option";var d={role:"treeitem","aria-selected":"false"};b.disabled&&(delete d["aria-selected"],d["aria-disabled"]="true"),null==b.id&&delete d["aria-selected"],null!=b._resultId&&(c.id=b._resultId),b.title&&(c.title=b.title),b.children&&(d.role="group",d["aria-label"]=b.text,delete d["aria-selected"]);for(var e in d){var f=d[e];c.setAttribute(e,f)}if(b.children){var g=a(c),h=document.createElement("strong");h.className="select2-results__group";a(h);this.template(b,h);for(var i=[],j=0;j<b.children.length;j++){var k=b.children[j],l=this.option(k);i.push(l)}var m=a("<ul></ul>",{"class":"select2-results__options select2-results__options--nested"});m.append(i),g.append(h),g.append(m)}else this.template(b,c);return a.data(c,"data",b),c},c.prototype.bind=function(b,c){var d=this,e=b.id+"-results";this.$results.attr("id",e),b.on("results:all",function(a){d.clear(),d.append(a.data),b.isOpen()&&d.setClasses()}),b.on("results:append",function(a){d.append(a.data),b.isOpen()&&d.setClasses()}),b.on("query",function(a){d.hideMessages(),d.showLoading(a)}),b.on("select",function(){b.isOpen()&&d.setClasses()}),b.on("unselect",function(){b.isOpen()&&d.setClasses()}),b.on("open",function(){d.$results.attr("aria-expanded","true"),d.$results.attr("aria-hidden","false"),d.setClasses(),d.ensureHighlightVisible()}),b.on("close",function(){d.$results.attr("aria-expanded","false"),d.$results.attr("aria-hidden","true"),d.$results.removeAttr("aria-activedescendant")}),b.on("results:toggle",function(){var a=d.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),b.on("results:select",function(){var a=d.getHighlightedResults();if(0!==a.length){var b=a.data("data");"true"==a.attr("aria-selected")?d.trigger("close",{}):d.trigger("select",{data:b})}}),b.on("results:previous",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a);if(0!==c){var e=c-1;0===a.length&&(e=0);var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top,h=f.offset().top,i=d.$results.scrollTop()+(h-g);0===e?d.$results.scrollTop(0):0>h-g&&d.$results.scrollTop(i)}}),b.on("results:next",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a),e=c+1;if(!(e>=b.length)){var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top+d.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=d.$results.scrollTop()+h-g;0===e?d.$results.scrollTop(0):h>g&&d.$results.scrollTop(i)}}),b.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted")}),b.on("results:message",function(a){d.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=d.$results.scrollTop(),c=d.$results.get(0).scrollHeight-d.$results.scrollTop()+a.deltaY,e=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&c<=d.$results.height();e?(d.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(d.$results.scrollTop(d.$results.get(0).scrollHeight-d.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(b){var c=a(this),e=c.data("data");return"true"===c.attr("aria-selected")?void(d.options.get("multiple")?d.trigger("unselect",{originalEvent:b,data:e}):d.trigger("close",{})):void d.trigger("select",{originalEvent:b,data:e})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(b){var c=a(this).data("data");d.getHighlightedResults().removeClass("select2-results__option--highlighted"),d.trigger("results:focus",{data:c,element:a(this)})})},c.prototype.getHighlightedResults=function(){var a=this.$results.find(".select2-results__option--highlighted");return a},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[aria-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),2>=c?this.$results.scrollTop(0):(g>this.$results.outerHeight()||0>g)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b,c);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){var a={BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46};return a}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var b=a('<span class="select2-selection" role="combobox"  aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=this.$element.data("old-tabindex")?this._tabindex=this.$element.data("old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),b.attr("title",this.$element.attr("title")),b.attr("tabindex",this._tabindex),this.$selection=b,b},d.prototype.bind=function(a,b){var d=this,e=(a.id+"-container",a.id+"-results");this.container=a,this.$selection.on("focus",function(a){d.trigger("focus",a)}),this.$selection.on("blur",function(a){d._handleBlur(a)}),this.$selection.on("keydown",function(a){d.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){d.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){d.update(a.data)}),a.on("open",function(){d.$selection.attr("aria-expanded","true"),d.$selection.attr("aria-owns",e),d._attachCloseHandler(a)}),a.on("close",function(){d.$selection.attr("aria-expanded","false"),d.$selection.removeAttr("aria-activedescendant"),d.$selection.removeAttr("aria-owns"),d.$selection.focus(),d._detachCloseHandler(a)}),a.on("enable",function(){d.$selection.attr("tabindex",d._tabindex)}),a.on("disable",function(){d.$selection.attr("tabindex","-1")})},d.prototype._handleBlur=function(b){var c=this;window.setTimeout(function(){document.activeElement==c.$selection[0]||a.contains(c.$selection[0],document.activeElement)||c.trigger("blur",b)},1)},d.prototype._attachCloseHandler=function(b){a(document.body).on("mousedown.select2."+b.id,function(b){var c=a(b.target),d=c.closest(".select2"),e=a(".select2.select2-container--open");e.each(function(){var b=a(this);if(this!=d[0]){var c=b.data("element");c.select2("close")}})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){var c=b.find(".selection");c.append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(a){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c,d){function e(){e.__super__.constructor.apply(this,arguments)}return c.Extend(e,b),e.prototype.render=function(){var a=e.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),a},e.prototype.bind=function(a,b){var c=this;e.__super__.bind.apply(this,arguments);var d=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",d),this.$selection.attr("aria-labelledby",d),this.$selection.on("mousedown",function(a){1===a.which&&c.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(a){}),this.$selection.on("blur",function(a){}),a.on("selection:update",function(a){c.update(a.data)})},e.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},e.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},e.prototype.selectionContainer=function(){return a("<span></span>")},e.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.$selection.find(".select2-selection__rendered"),d=this.display(b,c);c.empty().append(d),c.prop("title",b.title||b.text)},e}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(a,b){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('<ul class="select2-selection__rendered"></ul>'),a},d.prototype.bind=function(b,c){var e=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){e.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(b){if(!e.options.get("disabled")){var c=a(this),d=c.parent(),f=d.data("data");e.trigger("unselect",{originalEvent:b,data:f})}})},d.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},d.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},d.prototype.selectionContainer=function(){var b=a('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;</span></li>');return b},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d<a.length;d++){var e=a[d],f=this.selectionContainer(),g=this.display(e,f);f.append(g),f.prop("title",e.title||e.text),f.data("data",e),b.push(f)}var h=this.$selection.find(".select2-selection__rendered");c.appendMany(h,b)}},d}),b.define("select2/selection/placeholder",["../utils"],function(a){function b(a,b,c){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c)}return b.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},b.prototype.createPlaceholder=function(a,b){var c=this.selectionContainer();return c.html(this.display(b)),c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),c},b.prototype.update=function(a,b){var c=1==b.length&&b[0].id!=this.placeholder.id,d=b.length>1;if(d||c)return a.call(this,b);this.clear();var e=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(e)},b}),b.define("select2/selection/allowClear",["jquery","../keys"],function(a,b){function c(){}return c.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},c.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var c=this.$selection.find(".select2-selection__clear");if(0!==c.length){b.stopPropagation();for(var d=c.data("data"),e=0;e<d.length;e++){var f={data:d[e]};if(this.trigger("unselect",f),f.prevented)return}this.$element.val(this.placeholder.id).trigger("change"),this.trigger("toggle",{})}}},c.prototype._handleKeyboardClear=function(a,c,d){d.isOpen()||(c.which==b.DELETE||c.which==b.BACKSPACE)&&this._handleClear(c)},c.prototype.update=function(b,c){if(b.call(this,c),!(this.$selection.find(".select2-selection__placeholder").length>0||0===c.length)){var d=a('<span class="select2-selection__clear">&times;</span>');d.data("data",c),this.$selection.find(".select2-selection__rendered").prepend(d)}},c}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,b,d){var e=this;a.call(this,b,d),b.on("open",function(){e.$search.trigger("focus")}),b.on("close",function(){e.$search.val(""),e.$search.removeAttr("aria-activedescendant"),e.$search.trigger("focus")}),b.on("enable",function(){e.$search.prop("disabled",!1),e._transferTabIndex()}),b.on("disable",function(){e.$search.prop("disabled",!0)}),b.on("focus",function(a){e.$search.trigger("focus")}),b.on("results:focus",function(a){e.$search.attr("aria-activedescendant",a.id)}),this.$selection.on("focusin",".select2-search--inline",function(a){e.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){e._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){a.stopPropagation(),e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented();var b=a.which;if(b===c.BACKSPACE&&""===e.$search.val()){var d=e.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var f=d.data("data");e.searchRemoveChoice(f),a.preventDefault()}}});var f=document.documentMode,g=f&&11>=f;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){return g?void e.$selection.off("input.search input.searchcheck"):void e.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(g&&"input"===a.type)return void e.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&e.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c&&this.$search.focus()},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{var b=this.$search.val().length+1;a=.75*b+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting"],g=["opening","closing","selecting","unselecting"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){var a={"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"};return a}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),d+=null!=c.id?"-"+c.id.toString():"-"+a.generateChars(4)},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f<a.length;f++){var g=a[f].id;-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")});else{var d=a.id;this.$element.val(d),this.$element.trigger("change")}},d.prototype.unselect=function(a){var b=this;if(this.$element.prop("multiple"))return a.selected=!1,c(a.element).is("option")?(a.element.selected=!1,void this.$element.trigger("change")):void this.current(function(d){for(var e=[],f=0;f<d.length;f++){var g=d[f].id;g!==a.id&&-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")})},d.prototype.bind=function(a,b){var c=this;this.container=a,a.on("select",function(a){c.select(a.data)}),a.on("unselect",function(a){c.unselect(a.data)})},d.prototype.destroy=function(){this.$element.find("*").each(function(){c.removeData(this,"data")})},d.prototype.query=function(a,b){var d=[],e=this,f=this.$element.children();f.each(function(){var b=c(this);if(b.is("option")||b.is("optgroup")){var f=e.item(b),g=e.matches(a,f);null!==g&&d.push(g)}}),b({results:d})},d.prototype.addOptions=function(a){b.appendMany(this.$element,a)},d.prototype.option=function(a){var b;a.children?(b=document.createElement("optgroup"),b.label=a.text):(b=document.createElement("option"),void 0!==b.textContent?b.textContent=a.text:b.innerText=a.text),a.id&&(b.value=a.id),a.disabled&&(b.disabled=!0),a.selected&&(b.selected=!0),a.title&&(b.title=a.title);var d=c(b),e=this._normalizeItem(a);return e.element=b,c.data(b,"data",e),d},d.prototype.item=function(a){var b={};if(b=c.data(a[0],"data"),null!=b)return b;if(a.is("option"))b={id:a.val(),text:a.text(),disabled:a.prop("disabled"),selected:a.prop("selected"),title:a.prop("title")};else if(a.is("optgroup")){b={text:a.prop("label"),children:[],title:a.prop("title")};for(var d=a.children("option"),e=[],f=0;f<d.length;f++){var g=c(d[f]),h=this.item(g);e.push(h)}b.children=e}return b=this._normalizeItem(b),b.element=a[0],c.data(a[0],"data",b),b},d.prototype._normalizeItem=function(a){c.isPlainObject(a)||(a={id:a,text:a}),a=c.extend({},{text:""},a);var b={selected:!1,disabled:!1};return null!=a.id&&(a.id=a.id.toString()),null!=a.text&&(a.text=a.text.toString()),null==a._resultId&&a.id&&null!=this.container&&(a._resultId=this.generateResultId(this.container,a)),c.extend({},b,a)},d.prototype.matches=function(a,b){var c=this.options.get("matcher");return c(a,b)},d}),b.define("select2/data/array",["./select","../utils","jquery"],function(a,b,c){function d(a,b){var c=b.get("data")||[];d.__super__.constructor.call(this,a,b),this.addOptions(this.convertToOptions(c))}return b.Extend(d,a),d.prototype.select=function(a){var b=this.$element.find("option").filter(function(b,c){return c.value==a.id.toString()});0===b.length&&(b=this.option(a),this.addOptions(b)),d.__super__.select.call(this,a)},d.prototype.convertToOptions=function(a){function d(a){return function(){return c(this).val()==a.id}}for(var e=this,f=this.$element.find("option"),g=f.map(function(){return e.item(c(this)).id}).get(),h=[],i=0;i<a.length;i++){var j=this._normalizeItem(a[i]);if(c.inArray(j.id,g)>=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},l,j),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&""!==a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");if(void 0!==f&&(this.createTag=f),b.call(this,c,d),a.isArray(e))for(var g=0;g<e.length;g++){var h=e[g],i=this._normalizeItem(h),j=this.option(i);this.$element.append(j)}}return b.prototype.query=function(a,b,c){function d(a,f){for(var g=a.results,h=0;h<g.length;h++){var i=g[h],j=null!=i.children&&!d({results:i.children},!0),k=i.text===b.term;if(k||j)return f?!1:(a.data=g,void c(a))}if(f)return!0;var l=e.createTag(b);if(null!=l){var m=e.option(l);m.attr("data-select2-tag",!0),e.addOptions([m]),e.insertTag(g,l)}a.results=g,c(a)}var e=this;return this._removeOldTags(),null==b.term||null!=b.page?void a.call(this,b,c):void a.call(this,b,d)},b.prototype.createTag=function(b,c){var d=a.trim(c.term);return""===d?null:{id:d,text:d}},b.prototype.insertTag=function(a,b,c){b.unshift(c)},b.prototype._removeOldTags=function(b){var c=(this._lastTag,this.$element.find("option[data-select2-tag]"));c.each(function(){this.selected||a(this).remove()})},b}),b.define("select2/data/tokenizer",["jquery"],function(a){function b(a,b,c){var d=c.get("tokenizer");void 0!==d&&(this.tokenizer=d),a.call(this,b,c)}return b.prototype.bind=function(a,b,c){a.call(this,b,c),this.$search=b.dropdown.$search||b.selection.$search||c.find(".select2-search__field")},b.prototype.query=function(a,b,c){function d(a){e.trigger("select",{data:a})}var e=this;b.term=b.term||"";var f=this.tokenizer(b,this.options,d);f.term!==b.term&&(this.$search.length&&(this.$search.val(f.term),this.$search.focus()),b.term=f.term),a.call(this,b,c)},b.prototype.tokenizer=function(b,c,d,e){for(var f=d.get("tokenSeparators")||[],g=c.term,h=0,i=this.createTag||function(a){return{id:a.term,text:a.term}};h<g.length;){var j=g[h];if(-1!==a.inArray(j,f)){var k=g.substr(0,h),l=a.extend({},c,{term:k}),m=i(l);null!=m?(e(m),g=g.substr(h+1)||"",h=0):h++}else h++}return{term:g}},b}),b.define("select2/data/minimumInputLength",[],function(){function a(a,b,c){this.minimumInputLength=c.get("minimumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",b.term.length<this.minimumInputLength?void this.trigger("results:message",{
-message:"inputTooShort",args:{minimum:this.minimumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumInputLength",[],function(){function a(a,b,c){this.maximumInputLength=c.get("maximumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",this.maximumInputLength>0&&b.term.length>this.maximumInputLength?void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;return d.maximumSelectionLength>0&&f>=d.maximumSelectionLength?void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}}):void a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<span class="select2-dropdown"><span class="select2-results"></span></span>');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" /></span>');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val("")}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){var b=e.showSearch(a);b?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){var c=e.$results.offset().top+e.$results.outerHeight(!1),d=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1);c+50>=d&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a("<span></span>"),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){a(this).data("select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(b){var c=a(this).data("select2-scroll-position");a(this).scrollTop(c.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id,h=this.$container.parents().filter(b.hasScroll);h.off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=(this.$container.position(),this.$container.offset());f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.top<f.top-h.height,k=i.bottom>f.bottom+h.height,l={left:f.left,top:g.bottom};if("static"!==this.$dropdownParent[0].style.position){var m=this.$dropdownParent.offset();l.top-=m.top,l.left-=m.left}c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d<b.length;d++){var e=b[d];e.children?c+=a(e.children):c++}return c}function b(a,b,c,d){this.minimumResultsForSearch=c.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),a.call(this,b,c,d)}return b.prototype.showSearch=function(b,c){return a(c.data.results)<this.minimumResultsForSearch?!1:b.call(this,c)},b}),b.define("select2/dropdown/selectOnClose",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("close",function(){d._handleSelectOnClose()})},a.prototype._handleSelectOnClose=function(){var a=this.getHighlightedResults();if(!(a.length<1)){var b=a.data("data");null!=b.element&&b.element.selected||null==b.element&&b.selected||this.trigger("select",{data:b})}},a}),b.define("select2/dropdown/closeOnSelect",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("select",function(a){d._selectTriggered(a)}),b.on("unselect",function(a){d._selectTriggered(a)})},a.prototype._selectTriggered=function(a,b){var c=b.originalEvent;c&&c.ctrlKey||this.trigger("close",{})},a}),b.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(a){var b=a.input.length-a.maximum,c="Please delete "+b+" character";return 1!=b&&(c+="s"),c},inputTooShort:function(a){var b=a.minimum-a.input.length,c="Please enter "+b+" or more characters";return c},loadingMore:function(){return"Loading more results…"},maximumSelected:function(a){var b="You can only select "+a.maximum+" item";return 1!=a.maximum&&(b+="s"),b},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),b.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(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){function D(){this.reset()}D.prototype.apply=function(l){if(l=a.extend({},this.defaults,l),null==l.dataAdapter){if(null!=l.ajax?l.dataAdapter=o:null!=l.data?l.dataAdapter=n:l.dataAdapter=m,l.minimumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),(null!=l.tokenSeparators||null!=l.tokenizer)&&(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L<K.length;L++){var M=K[L],N={};try{N=k.loadPath(M)}catch(O){try{M=this.defaults.amdLanguageBase+M,N=k.loadPath(M)}catch(P){l.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+M+'" could not be automatically loaded. A fallback will be used instead.');continue}}J.extend(N)}l.translations=J}else{var Q=k.loadPath(this.defaults.amdLanguageBase+"en"),R=new k(l.language);R.extend(Q),l.translations=R}return l},D.prototype.reset=function(){function b(a){function b(a){return l[a]||a}return a.replace(/[^\u0000-\u007E]/g,b)}function c(d,e){if(""===a.trim(d.term))return e;if(e.children&&e.children.length>0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){var h=e.children[g],i=c(d,h);null==i&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var j=b(e.text).toUpperCase(),k=b(d.term).toUpperCase();return j.indexOf(k)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(this.defaults,f)};var E=new D;return E}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){var c=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),a.data("select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),a.data("data",a.data("select2Tags")),a.data("tags",!0)),a.data("ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",a.data("ajaxUrl")),a.data("ajax--url",a.data("ajaxUrl")));var e={};e=b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset?b.extend(!0,{},a[0].dataset,a.data()):a.data();var f=b.extend(!0,{},e);f=d._convertData(f);for(var g in f)b.inArray(g,c)>-1||(b.isPlainObject(this.options[g])?b.extend(this.options[g],f[g]):this.options[g]=f[g]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,c){null!=a.data("select2")&&a.data("select2").destroy(),this.$element=a,this.id=this._generateId(a),c=c||{},this.options=new b(c,a),e.__super__.constructor.call(this);var d=a.attr("tabindex")||0;a.data("old-tabindex",d),a.attr("tabindex","-1");var f=this.options.get("dataAdapter");this.dataAdapter=new f(a,this.options);var g=this.render();this._placeContainer(g);var h=this.options.get("selectionAdapter");this.selection=new h(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,g);var i=this.options.get("dropdownAdapter");this.dropdown=new i(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,g);var j=this.options.get("resultsAdapter");this.results=new j(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var k=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){k.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),a.data("select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return 0>=e?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;i>h;h+=1){var j=g[h].replace(/\s/g,""),k=j.match(c);if(null!==k&&k.length>=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this._sync=c.bind(this._syncAttributes,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._sync);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._sync)}),this._observer.observe(this.$element[0],{attributes:!0,subtree:!1})):this.$element[0].addEventListener&&this.$element[0].addEventListener("DOMAttrModified",b._sync,!1)},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open",{}),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ESC||c===d.TAB||c===d.UP&&b.altKey?(a.close(),b.preventDefault()):c===d.ENTER?(a.trigger("results:select",{}),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle",{}),b.preventDefault()):c===d.UP?(a.trigger("results:previous",{}),b.preventDefault()):c===d.DOWN&&(a.trigger("results:next",{}),b.preventDefault()):(c===d.ENTER||c===d.SPACE||c===d.DOWN&&b.altKey)&&(a.open(),b.preventDefault())})},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),(null==a||0===a.length)&&(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._sync),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&this.$element[0].removeEventListener("DOMAttrModified",this._sync,!1),this._sync=null,this.$element.off(".select2"),this.$element.attr("tabindex",this.$element.data("old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},e.prototype.render=function(){var b=a('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),b.data("element",this.$element),b},e}),b.define("jquery-mousewheel",["jquery"],function(a){return a}),b.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults"],function(a,b,c,d){if(null==a.fn.select2){var e=["open","close","destroy"];a.fn.select2=function(b){if(b=b||{},"object"==typeof b)return this.each(function(){var d=a.extend(!0,{},b);new c(a(this),d)}),this;if("string"==typeof b){var d;return this.each(function(){var c=a(this).data("select2");null==c&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2.");var e=Array.prototype.slice.call(arguments,1);d=c[b].apply(c,e)}),a.inArray(b,e)>-1?this:d}throw new Error("Invalid arguments for Select2: "+b)}}return null==a.fn.select2.defaults&&(a.fn.select2.defaults=d),c}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,c}),angular.module("sprintf",[]).filter("sprintf",function(){return function(){return sprintf.apply(null,arguments)}}).filter("fmt",["$filter",function(a){return a("sprintf")}]).filter("vsprintf",function(){return function(a,b){return vsprintf(a,b)}}).filter("vfmt",["$filter",function(a){return a("vsprintf")}]),function(a,b){"function"==typeof define&&define.amd?define(a):"undefined"!=typeof module&&"object"==typeof exports?module.exports=a():b.rangy=a()}(function(){function a(a,b){var c=typeof a[b];return c==u||!(c!=t||!a[b])||"unknown"==c}function b(a,b){return!(typeof a[b]!=t||!a[b])}function c(a,b){return typeof a[b]!=v}function d(a){return function(b,c){for(var d=c.length;d--;)if(!a(b,c[d]))return!1;return!0}}function e(a){return a&&A(a,z)&&C(a,y)}function f(a){return b(a,"body")?a.body:a.getElementsByTagName("body")[0]}function g(b){typeof console!=v&&a(console,"log")&&console.log(b)}function h(a,b){F&&b?alert(a):g(a)}function i(a){H.initialized=!0,H.supported=!1,h("Rangy is not supported in this environment. Reason: "+a,H.config.alertOnFail)}function j(a){h("Rangy warning: "+a,H.config.alertOnWarn)}function k(a){return a.message||a.description||String(a)}function l(){if(F&&!H.initialized){var b,c=!1,d=!1;a(document,"createRange")&&(b=document.createRange(),A(b,x)&&C(b,w)&&(c=!0));var h=f(document);if(!h||"body"!=h.nodeName.toLowerCase())return void i("No body element found");if(h&&a(h,"createTextRange")&&(b=h.createTextRange(),e(b)&&(d=!0)),!c&&!d)return void i("Neither Range nor TextRange are available");H.initialized=!0,H.features={implementsDomRange:c,implementsTextRange:d};var j,l;for(var m in E)(j=E[m])instanceof p&&j.init(j,H);for(var n=0,o=K.length;o>n;++n)try{K[n](H)}catch(q){l="Rangy init listener threw an exception. Continuing. Detail: "+k(q),g(l)}}}function m(a,b,c){c&&(a+=" in module "+c.name),H.warn("DEPRECATED: "+a+" is deprecated. Please use "+b+" instead.")}function n(a,b,c,d){a[b]=function(){return m(b,c,d),a[c].apply(a,G.toArray(arguments))}}function o(a){a=a||window,l();for(var b=0,c=L.length;c>b;++b)L[b](a)}function p(a,b,c){this.name=a,this.dependencies=b,this.initialized=!1,this.supported=!1,this.initializer=c}function q(a,b,c){var d=new p(a,b,function(b){if(!b.initialized){b.initialized=!0;try{c(H,b),b.supported=!0}catch(d){var e="Module '"+a+"' failed to load: "+k(d);g(e),d.stack&&g(d.stack)}}});return E[a]=d,d}function r(){}function s(){}var t="object",u="function",v="undefined",w=["startContainer","startOffset","endContainer","endOffset","collapsed","commonAncestorContainer"],x=["setStart","setStartBefore","setStartAfter","setEnd","setEndBefore","setEndAfter","collapse","selectNode","selectNodeContents","compareBoundaryPoints","deleteContents","extractContents","cloneContents","insertNode","surroundContents","cloneRange","toString","detach"],y=["boundingHeight","boundingLeft","boundingTop","boundingWidth","htmlText","text"],z=["collapse","compareEndPoints","duplicate","moveToElementText","parentElement","select","setEndPoint","getBoundingClientRect"],A=d(a),B=d(b),C=d(c),D=[].forEach?function(a,b){a.forEach(b)}:function(a,b){for(var c=0,d=a.length;d>c;++c)b(a[c],c)},E={},F=typeof window!=v&&typeof document!=v,G={isHostMethod:a,isHostObject:b,isHostProperty:c,areHostMethods:A,areHostObjects:B,areHostProperties:C,isTextRange:e,getBody:f,forEach:D},H={version:"1.3.0",initialized:!1,isBrowser:F,supported:!0,util:G,features:{},modules:E,config:{alertOnFail:!1,alertOnWarn:!1,preferTextRange:!1,autoInitialize:typeof rangyAutoInitialize==v?!0:rangyAutoInitialize}};H.fail=i,H.warn=j;var I;({}).hasOwnProperty?(G.extend=I=function(a,b,c){var d,e;for(var f in b)b.hasOwnProperty(f)&&(d=a[f],e=b[f],c&&null!==d&&"object"==typeof d&&null!==e&&"object"==typeof e&&I(d,e,!0),a[f]=e);return b.hasOwnProperty("toString")&&(a.toString=b.toString),a},G.createOptions=function(a,b){var c={};return I(c,b),a&&I(c,a),c}):i("hasOwnProperty not supported"),F||i("Rangy can only run in a browser"),function(){var a;if(F){var b=document.createElement("div");b.appendChild(document.createElement("span"));var c=[].slice;try{1==c.call(b.childNodes,0)[0].nodeType&&(a=function(a){return c.call(a,0)})}catch(d){}}a||(a=function(a){for(var b=[],c=0,d=a.length;d>c;++c)b[c]=a[c];return b}),G.toArray=a}();var J;F&&(a(document,"addEventListener")?J=function(a,b,c){a.addEventListener(b,c,!1)}:a(document,"attachEvent")?J=function(a,b,c){a.attachEvent("on"+b,c)}:i("Document does not have required addEventListener or attachEvent method"),G.addListener=J);var K=[];G.deprecationNotice=m,G.createAliasForDeprecatedMethod=n,H.init=l,H.addInitListener=function(a){H.initialized?a(H):K.push(a)};var L=[];H.addShimListener=function(a){L.push(a)},F&&(H.shim=H.createMissingNativeApi=o,n(H,"createMissingNativeApi","shim")),p.prototype={init:function(){for(var a,b,c=this.dependencies||[],d=0,e=c.length;e>d;++d){if(b=c[d],a=E[b],!(a&&a instanceof p))throw new Error("required module '"+b+"' not found");if(a.init(),!a.supported)throw new Error("required module '"+b+"' not supported")}this.initializer(this)},fail:function(a){throw this.initialized=!0,this.supported=!1,new Error(a)},warn:function(a){H.warn("Module "+this.name+": "+a)},deprecationNotice:function(a,b){H.warn("DEPRECATED: "+a+" in module "+this.name+" is deprecated. Please use "+b+" instead")},createError:function(a){return new Error("Error in Rangy "+this.name+" module: "+a)}},H.createModule=function(a){var b,c;2==arguments.length?(b=arguments[1],c=[]):(b=arguments[2],c=arguments[1]);var d=q(a,c,b);H.initialized&&H.supported&&d.init()},H.createCoreModule=function(a,b,c){q(a,b,c)},H.RangePrototype=r,H.rangePrototype=new r,H.selectionPrototype=new s,H.createCoreModule("DomUtil",[],function(a,b){function c(a){var b;return typeof a.namespaceURI==F||null===(b=a.namespaceURI)||"http://www.w3.org/1999/xhtml"==b}function d(a){var b=a.parentNode;return 1==b.nodeType?b:null}function e(a){for(var b=0;a=a.previousSibling;)++b;return b}function f(a){switch(a.nodeType){case 7:case 10:return 0;case 3:case 8:return a.length;default:return a.childNodes.length}}function g(a,b){var c,d=[];for(c=a;c;c=c.parentNode)d.push(c);for(c=b;c;c=c.parentNode)if(K(d,c))return c;return null}function h(a,b,c){for(var d=c?b:b.parentNode;d;){if(d===a)return!0;d=d.parentNode}return!1}function i(a,b){return h(a,b,!0)}function j(a,b,c){for(var d,e=c?a:a.parentNode;e;){if(d=e.parentNode,d===b)return e;e=d}return null}function k(a){var b=a.nodeType;return 3==b||4==b||8==b}function l(a){if(!a)return!1;var b=a.nodeType;return 3==b||8==b}function m(a,b){var c=b.nextSibling,d=b.parentNode;return c?d.insertBefore(a,c):d.appendChild(a),a}function n(a,b,c){var d=a.cloneNode(!1);if(d.deleteData(0,b),a.deleteData(b,a.length-b),m(d,a),c)for(var f,g=0;f=c[g++];)f.node==a&&f.offset>b?(f.node=d,f.offset-=b):f.node==a.parentNode&&f.offset>e(a)&&++f.offset;return d}function o(a){if(9==a.nodeType)return a;if(typeof a.ownerDocument!=F)return a.ownerDocument;if(typeof a.document!=F)return a.document;if(a.parentNode)return o(a.parentNode);throw b.createError("getDocument: no document found for node")}function p(a){var c=o(a);if(typeof c.defaultView!=F)return c.defaultView;
-if(typeof c.parentWindow!=F)return c.parentWindow;throw b.createError("Cannot get a window object for node")}function q(a){if(typeof a.contentDocument!=F)return a.contentDocument;if(typeof a.contentWindow!=F)return a.contentWindow.document;throw b.createError("getIframeDocument: No Document object found for iframe element")}function r(a){if(typeof a.contentWindow!=F)return a.contentWindow;if(typeof a.contentDocument!=F)return a.contentDocument.defaultView;throw b.createError("getIframeWindow: No Window object found for iframe element")}function s(a){return a&&G.isHostMethod(a,"setTimeout")&&G.isHostObject(a,"document")}function t(a,b,c){var d;if(a?G.isHostProperty(a,"nodeType")?d=1==a.nodeType&&"iframe"==a.tagName.toLowerCase()?q(a):o(a):s(a)&&(d=a.document):d=document,!d)throw b.createError(c+"(): Parameter must be a Window object or DOM node");return d}function u(a){for(var b;b=a.parentNode;)a=b;return a}function v(a,c,d,f){var h,i,k,l,m;if(a==d)return c===f?0:f>c?-1:1;if(h=j(d,a,!0))return c<=e(h)?-1:1;if(h=j(a,d,!0))return e(h)<f?-1:1;if(i=g(a,d),!i)throw new Error("comparePoints error: nodes have no common ancestor");if(k=a===i?i:j(a,i,!0),l=d===i?i:j(d,i,!0),k===l)throw b.createError("comparePoints got to case 4 and childA and childB are the same!");for(m=i.firstChild;m;){if(m===k)return-1;if(m===l)return 1;m=m.nextSibling}}function w(a){var b;try{return b=a.parentNode,!1}catch(c){return!0}}function x(a){if(!a)return"[No node]";if(L&&w(a))return"[Broken node]";if(k(a))return'"'+a.data+'"';if(1==a.nodeType){var b=a.id?' id="'+a.id+'"':"";return"<"+a.nodeName+b+">[index:"+e(a)+",length:"+a.childNodes.length+"]["+(a.innerHTML||"[innerHTML not supported]").slice(0,25)+"]"}return a.nodeName}function y(a){for(var b,c=o(a).createDocumentFragment();b=a.firstChild;)c.appendChild(b);return c}function z(a,b,c){var d=H(a),e=a.createElement("div");e.contentEditable=""+!!c,b&&(e.innerHTML=b);var f=d.firstChild;return f?d.insertBefore(e,f):d.appendChild(e),e}function A(a){return a.parentNode.removeChild(a)}function B(a){this.root=a,this._next=a}function C(a){return new B(a)}function D(a,b){this.node=a,this.offset=b}function E(a){this.code=this[a],this.codeName=a,this.message="DOMException: "+this.codeName}var F="undefined",G=a.util,H=G.getBody;G.areHostMethods(document,["createDocumentFragment","createElement","createTextNode"])||b.fail("document missing a Node creation method"),G.isHostMethod(document,"getElementsByTagName")||b.fail("document missing getElementsByTagName method");var I=document.createElement("div");G.areHostMethods(I,["insertBefore","appendChild","cloneNode"]||!G.areHostObjects(I,["previousSibling","nextSibling","childNodes","parentNode"]))||b.fail("Incomplete Element implementation"),G.isHostProperty(I,"innerHTML")||b.fail("Element is missing innerHTML property");var J=document.createTextNode("test");G.areHostMethods(J,["splitText","deleteData","insertData","appendData","cloneNode"]||!G.areHostObjects(I,["previousSibling","nextSibling","childNodes","parentNode"])||!G.areHostProperties(J,["data"]))||b.fail("Incomplete Text Node implementation");var K=function(a,b){for(var c=a.length;c--;)if(a[c]===b)return!0;return!1},L=!1;!function(){var b=document.createElement("b");b.innerHTML="1";var c=b.firstChild;b.innerHTML="<br />",L=w(c),a.features.crashyTextNodes=L}();var M;typeof window.getComputedStyle!=F?M=function(a,b){return p(a).getComputedStyle(a,null)[b]}:typeof document.documentElement.currentStyle!=F?M=function(a,b){return a.currentStyle?a.currentStyle[b]:""}:b.fail("No means of obtaining computed style properties found"),B.prototype={_current:null,hasNext:function(){return!!this._next},next:function(){var a,b,c=this._current=this._next;if(this._current)if(a=c.firstChild)this._next=a;else{for(b=null;c!==this.root&&!(b=c.nextSibling);)c=c.parentNode;this._next=b}return this._current},detach:function(){this._current=this._next=this.root=null}},D.prototype={equals:function(a){return!!a&&this.node===a.node&&this.offset==a.offset},inspect:function(){return"[DomPosition("+x(this.node)+":"+this.offset+")]"},toString:function(){return this.inspect()}},E.prototype={INDEX_SIZE_ERR:1,HIERARCHY_REQUEST_ERR:3,WRONG_DOCUMENT_ERR:4,NO_MODIFICATION_ALLOWED_ERR:7,NOT_FOUND_ERR:8,NOT_SUPPORTED_ERR:9,INVALID_STATE_ERR:11,INVALID_NODE_TYPE_ERR:24},E.prototype.toString=function(){return this.message},a.dom={arrayContains:K,isHtmlNamespace:c,parentElement:d,getNodeIndex:e,getNodeLength:f,getCommonAncestor:g,isAncestorOf:h,isOrIsAncestorOf:i,getClosestAncestorIn:j,isCharacterDataNode:k,isTextOrCommentNode:l,insertAfter:m,splitDataNode:n,getDocument:o,getWindow:p,getIframeWindow:r,getIframeDocument:q,getBody:H,isWindow:s,getContentDocument:t,getRootContainer:u,comparePoints:v,isBrokenNode:w,inspectNode:x,getComputedStyleProperty:M,createTestElement:z,removeNode:A,fragmentFromNodeChildren:y,createIterator:C,DomPosition:D},a.DOMException=E}),H.createCoreModule("DomRange",["DomUtil"],function(a,b){function c(a,b){return 3!=a.nodeType&&(P(a,b.startContainer)||P(a,b.endContainer))}function d(a){return a.document||Q(a.startContainer)}function e(a){return W(a.startContainer)}function f(a){return new L(a.parentNode,O(a))}function g(a){return new L(a.parentNode,O(a)+1)}function h(a,b,c){var d=11==a.nodeType?a.firstChild:a;return N(b)?c==b.length?J.insertAfter(a,b):b.parentNode.insertBefore(a,0==c?b:S(b,c)):c>=b.childNodes.length?b.appendChild(a):b.insertBefore(a,b.childNodes[c]),d}function i(a,b,c){if(z(a),z(b),d(b)!=d(a))throw new M("WRONG_DOCUMENT_ERR");var e=R(a.startContainer,a.startOffset,b.endContainer,b.endOffset),f=R(a.endContainer,a.endOffset,b.startContainer,b.startOffset);return c?0>=e&&f>=0:0>e&&f>0}function j(a){for(var b,c,e,f=d(a.range).createDocumentFragment();c=a.next();){if(b=a.isPartiallySelectedSubtree(),c=c.cloneNode(!b),b&&(e=a.getSubtreeIterator(),c.appendChild(j(e)),e.detach()),10==c.nodeType)throw new M("HIERARCHY_REQUEST_ERR");f.appendChild(c)}return f}function k(a,b,c){var d,e;c=c||{stop:!1};for(var f,g;f=a.next();)if(a.isPartiallySelectedSubtree()){if(b(f)===!1)return void(c.stop=!0);if(g=a.getSubtreeIterator(),k(g,b,c),g.detach(),c.stop)return}else for(d=J.createIterator(f);e=d.next();)if(b(e)===!1)return void(c.stop=!0)}function l(a){for(var b;a.next();)a.isPartiallySelectedSubtree()?(b=a.getSubtreeIterator(),l(b),b.detach()):a.remove()}function m(a){for(var b,c,e=d(a.range).createDocumentFragment();b=a.next();){if(a.isPartiallySelectedSubtree()?(b=b.cloneNode(!1),c=a.getSubtreeIterator(),b.appendChild(m(c)),c.detach()):a.remove(),10==b.nodeType)throw new M("HIERARCHY_REQUEST_ERR");e.appendChild(b)}return e}function n(a,b,c){var d,e=!(!b||!b.length),f=!!c;e&&(d=new RegExp("^("+b.join("|")+")$"));var g=[];return k(new p(a,!1),function(b){if((!e||d.test(b.nodeType))&&(!f||c(b))){var h=a.startContainer;if(b!=h||!N(h)||a.startOffset!=h.length){var i=a.endContainer;b==i&&N(i)&&0==a.endOffset||g.push(b)}}}),g}function o(a){var b="undefined"==typeof a.getName?"Range":a.getName();return"["+b+"("+J.inspectNode(a.startContainer)+":"+a.startOffset+", "+J.inspectNode(a.endContainer)+":"+a.endOffset+")]"}function p(a,b){if(this.range=a,this.clonePartiallySelectedTextNodes=b,!a.collapsed){this.sc=a.startContainer,this.so=a.startOffset,this.ec=a.endContainer,this.eo=a.endOffset;var c=a.commonAncestorContainer;this.sc===this.ec&&N(this.sc)?(this.isSingleCharacterDataNode=!0,this._first=this._last=this._next=this.sc):(this._first=this._next=this.sc!==c||N(this.sc)?T(this.sc,c,!0):this.sc.childNodes[this.so],this._last=this.ec!==c||N(this.ec)?T(this.ec,c,!0):this.ec.childNodes[this.eo-1])}}function q(a){return function(b,c){for(var d,e=c?b:b.parentNode;e;){if(d=e.nodeType,V(a,d))return e;e=e.parentNode}return null}}function r(a,b){if(ea(a,b))throw new M("INVALID_NODE_TYPE_ERR")}function s(a,b){if(!V(b,a.nodeType))throw new M("INVALID_NODE_TYPE_ERR")}function t(a,b){if(0>b||b>(N(a)?a.length:a.childNodes.length))throw new M("INDEX_SIZE_ERR")}function u(a,b){if(ca(a,!0)!==ca(b,!0))throw new M("WRONG_DOCUMENT_ERR")}function v(a){if(da(a,!0))throw new M("NO_MODIFICATION_ALLOWED_ERR")}function w(a,b){if(!a)throw new M(b)}function x(a,b){return b<=(N(a)?a.length:a.childNodes.length)}function y(a){return!!a.startContainer&&!!a.endContainer&&!(X&&(J.isBrokenNode(a.startContainer)||J.isBrokenNode(a.endContainer)))&&W(a.startContainer)==W(a.endContainer)&&x(a.startContainer,a.startOffset)&&x(a.endContainer,a.endOffset)}function z(a){if(!y(a))throw new Error("Range error: Range is not valid. This usually happens after DOM mutation. Range: ("+a.inspect()+")")}function A(a,b){z(a);var c=a.startContainer,d=a.startOffset,e=a.endContainer,f=a.endOffset,g=c===e;N(e)&&f>0&&f<e.length&&S(e,f,b),N(c)&&d>0&&d<c.length&&(c=S(c,d,b),g?(f-=d,e=c):e==c.parentNode&&f>=O(c)&&f++,d=0),a.setStartAndEnd(c,d,e,f)}function B(a){z(a);var b=a.commonAncestorContainer.parentNode.cloneNode(!1);return b.appendChild(a.cloneContents()),b.innerHTML}function C(a){a.START_TO_START=ka,a.START_TO_END=la,a.END_TO_END=ma,a.END_TO_START=na,a.NODE_BEFORE=oa,a.NODE_AFTER=pa,a.NODE_BEFORE_AND_AFTER=qa,a.NODE_INSIDE=ra}function D(a){C(a),C(a.prototype)}function E(a,b){return function(){z(this);var c,d,e=this.startContainer,f=this.startOffset,h=this.commonAncestorContainer,i=new p(this,!0);e!==h&&(c=T(e,h,!0),d=g(c),e=d.node,f=d.offset),k(i,v),i.reset();var j=a(i);return i.detach(),b(this,e,f,e,f),j}}function F(b,d){function e(a,b){return function(c){s(c,Z),s(W(c),$);var d=(a?f:g)(c);(b?h:i)(this,d.node,d.offset)}}function h(a,b,c){var e=a.endContainer,f=a.endOffset;(b!==a.startContainer||c!==a.startOffset)&&((W(b)!=W(e)||1==R(b,c,e,f))&&(e=b,f=c),d(a,b,c,e,f))}function i(a,b,c){var e=a.startContainer,f=a.startOffset;(b!==a.endContainer||c!==a.endOffset)&&((W(b)!=W(e)||-1==R(b,c,e,f))&&(e=b,f=c),d(a,e,f,b,c))}var j=function(){};j.prototype=a.rangePrototype,b.prototype=new j,K.extend(b.prototype,{setStart:function(a,b){r(a,!0),t(a,b),h(this,a,b)},setEnd:function(a,b){r(a,!0),t(a,b),i(this,a,b)},setStartAndEnd:function(){var a=arguments,b=a[0],c=a[1],e=b,f=c;switch(a.length){case 3:f=a[2];break;case 4:e=a[2],f=a[3]}d(this,b,c,e,f)},setBoundary:function(a,b,c){this["set"+(c?"Start":"End")](a,b)},setStartBefore:e(!0,!0),setStartAfter:e(!1,!0),setEndBefore:e(!0,!1),setEndAfter:e(!1,!1),collapse:function(a){z(this),a?d(this,this.startContainer,this.startOffset,this.startContainer,this.startOffset):d(this,this.endContainer,this.endOffset,this.endContainer,this.endOffset)},selectNodeContents:function(a){r(a,!0),d(this,a,0,a,U(a))},selectNode:function(a){r(a,!1),s(a,Z);var b=f(a),c=g(a);d(this,b.node,b.offset,c.node,c.offset)},extractContents:E(m,d),deleteContents:E(l,d),canSurroundContents:function(){z(this),v(this.startContainer),v(this.endContainer);var a=new p(this,!0),b=a._first&&c(a._first,this)||a._last&&c(a._last,this);return a.detach(),!b},splitBoundaries:function(){A(this)},splitBoundariesPreservingPositions:function(a){A(this,a)},normalizeBoundaries:function(){z(this);var a,b=this.startContainer,c=this.startOffset,e=this.endContainer,f=this.endOffset,g=function(a){var b=a.nextSibling;b&&b.nodeType==a.nodeType&&(e=a,f=a.length,a.appendData(b.data),Y(b))},h=function(a){var d=a.previousSibling;if(d&&d.nodeType==a.nodeType){b=a;var g=a.length;if(c=d.length,a.insertData(0,d.data),Y(d),b==e)f+=c,e=b;else if(e==a.parentNode){var h=O(a);f==h?(e=a,f=g):f>h&&f--}}},i=!0;if(N(e))f==e.length?g(e):0==f&&(a=e.previousSibling,a&&a.nodeType==e.nodeType&&(f=a.length,b==e&&(i=!1),a.appendData(e.data),Y(e),e=a));else{if(f>0){var j=e.childNodes[f-1];j&&N(j)&&g(j)}i=!this.collapsed}if(i){if(N(b))0==c?h(b):c==b.length&&(a=b.nextSibling,a&&a.nodeType==b.nodeType&&(e==a&&(e=b,f+=b.length),b.appendData(a.data),Y(a)));else if(c<b.childNodes.length){var k=b.childNodes[c];k&&N(k)&&h(k)}}else b=e,c=f;d(this,b,c,e,f)},collapseToPoint:function(a,b){r(a,!0),t(a,b),this.setStartAndEnd(a,b)}}),D(b)}function G(a){a.collapsed=a.startContainer===a.endContainer&&a.startOffset===a.endOffset,a.commonAncestorContainer=a.collapsed?a.startContainer:J.getCommonAncestor(a.startContainer,a.endContainer)}function H(a,b,c,d,e){a.startContainer=b,a.startOffset=c,a.endContainer=d,a.endOffset=e,a.document=J.getDocument(b),G(a)}function I(a){this.startContainer=a,this.startOffset=0,this.endContainer=a,this.endOffset=0,this.document=a,G(this)}var J=a.dom,K=a.util,L=J.DomPosition,M=a.DOMException,N=J.isCharacterDataNode,O=J.getNodeIndex,P=J.isOrIsAncestorOf,Q=J.getDocument,R=J.comparePoints,S=J.splitDataNode,T=J.getClosestAncestorIn,U=J.getNodeLength,V=J.arrayContains,W=J.getRootContainer,X=a.features.crashyTextNodes,Y=J.removeNode;p.prototype={_current:null,_next:null,_first:null,_last:null,isSingleCharacterDataNode:!1,reset:function(){this._current=null,this._next=this._first},hasNext:function(){return!!this._next},next:function(){var a=this._current=this._next;return a&&(this._next=a!==this._last?a.nextSibling:null,N(a)&&this.clonePartiallySelectedTextNodes&&(a===this.ec&&(a=a.cloneNode(!0)).deleteData(this.eo,a.length-this.eo),this._current===this.sc&&(a=a.cloneNode(!0)).deleteData(0,this.so))),a},remove:function(){var a,b,c=this._current;!N(c)||c!==this.sc&&c!==this.ec?c.parentNode&&Y(c):(a=c===this.sc?this.so:0,b=c===this.ec?this.eo:c.length,a!=b&&c.deleteData(a,b-a))},isPartiallySelectedSubtree:function(){var a=this._current;return c(a,this.range)},getSubtreeIterator:function(){var a;if(this.isSingleCharacterDataNode)a=this.range.cloneRange(),a.collapse(!1);else{a=new I(d(this.range));var b=this._current,c=b,e=0,f=b,g=U(b);P(b,this.sc)&&(c=this.sc,e=this.so),P(b,this.ec)&&(f=this.ec,g=this.eo),H(a,c,e,f,g)}return new p(a,this.clonePartiallySelectedTextNodes)},detach:function(){this.range=this._current=this._next=this._first=this._last=this.sc=this.so=this.ec=this.eo=null}};var Z=[1,3,4,5,7,8,10],$=[2,9,11],_=[5,6,10,12],aa=[1,3,4,5,7,8,10,11],ba=[1,3,4,5,7,8],ca=q([9,11]),da=q(_),ea=q([6,10,12]),fa=document.createElement("style"),ga=!1;try{fa.innerHTML="<b>x</b>",ga=3==fa.firstChild.nodeType}catch(ha){}a.features.htmlParsingConforms=ga;var ia=ga?function(a){var b=this.startContainer,c=Q(b);if(!b)throw new M("INVALID_STATE_ERR");var d=null;return 1==b.nodeType?d=b:N(b)&&(d=J.parentElement(b)),d=null===d||"HTML"==d.nodeName&&J.isHtmlNamespace(Q(d).documentElement)&&J.isHtmlNamespace(d)?c.createElement("body"):d.cloneNode(!1),d.innerHTML=a,J.fragmentFromNodeChildren(d)}:function(a){var b=d(this),c=b.createElement("body");return c.innerHTML=a,J.fragmentFromNodeChildren(c)},ja=["startContainer","startOffset","endContainer","endOffset","collapsed","commonAncestorContainer"],ka=0,la=1,ma=2,na=3,oa=0,pa=1,qa=2,ra=3;K.extend(a.rangePrototype,{compareBoundaryPoints:function(a,b){z(this),u(this.startContainer,b.startContainer);var c,d,e,f,g=a==na||a==ka?"start":"end",h=a==la||a==ka?"start":"end";return c=this[g+"Container"],d=this[g+"Offset"],e=b[h+"Container"],f=b[h+"Offset"],R(c,d,e,f)},insertNode:function(a){if(z(this),s(a,aa),v(this.startContainer),P(a,this.startContainer))throw new M("HIERARCHY_REQUEST_ERR");var b=h(a,this.startContainer,this.startOffset);this.setStartBefore(b)},cloneContents:function(){z(this);var a,b;if(this.collapsed)return d(this).createDocumentFragment();if(this.startContainer===this.endContainer&&N(this.startContainer))return a=this.startContainer.cloneNode(!0),a.data=a.data.slice(this.startOffset,this.endOffset),b=d(this).createDocumentFragment(),b.appendChild(a),b;var c=new p(this,!0);return a=j(c),c.detach(),a},canSurroundContents:function(){z(this),v(this.startContainer),v(this.endContainer);var a=new p(this,!0),b=a._first&&c(a._first,this)||a._last&&c(a._last,this);return a.detach(),!b},surroundContents:function(a){if(s(a,ba),!this.canSurroundContents())throw new M("INVALID_STATE_ERR");var b=this.extractContents();if(a.hasChildNodes())for(;a.lastChild;)a.removeChild(a.lastChild);h(a,this.startContainer,this.startOffset),a.appendChild(b),this.selectNode(a)},cloneRange:function(){z(this);for(var a,b=new I(d(this)),c=ja.length;c--;)a=ja[c],b[a]=this[a];return b},toString:function(){z(this);var a=this.startContainer;if(a===this.endContainer&&N(a))return 3==a.nodeType||4==a.nodeType?a.data.slice(this.startOffset,this.endOffset):"";var b=[],c=new p(this,!0);return k(c,function(a){(3==a.nodeType||4==a.nodeType)&&b.push(a.data)}),c.detach(),b.join("")},compareNode:function(a){z(this);var b=a.parentNode,c=O(a);if(!b)throw new M("NOT_FOUND_ERR");var d=this.comparePoint(b,c),e=this.comparePoint(b,c+1);return 0>d?e>0?qa:oa:e>0?pa:ra},comparePoint:function(a,b){return z(this),w(a,"HIERARCHY_REQUEST_ERR"),u(a,this.startContainer),R(a,b,this.startContainer,this.startOffset)<0?-1:R(a,b,this.endContainer,this.endOffset)>0?1:0},createContextualFragment:ia,toHtml:function(){return B(this)},intersectsNode:function(a,b){if(z(this),W(a)!=e(this))return!1;var c=a.parentNode,d=O(a);if(!c)return!0;var f=R(c,d,this.endContainer,this.endOffset),g=R(c,d+1,this.startContainer,this.startOffset);return b?0>=f&&g>=0:0>f&&g>0},isPointInRange:function(a,b){return z(this),w(a,"HIERARCHY_REQUEST_ERR"),u(a,this.startContainer),R(a,b,this.startContainer,this.startOffset)>=0&&R(a,b,this.endContainer,this.endOffset)<=0},intersectsRange:function(a){return i(this,a,!1)},intersectsOrTouchesRange:function(a){return i(this,a,!0)},intersection:function(a){if(this.intersectsRange(a)){var b=R(this.startContainer,this.startOffset,a.startContainer,a.startOffset),c=R(this.endContainer,this.endOffset,a.endContainer,a.endOffset),d=this.cloneRange();return-1==b&&d.setStart(a.startContainer,a.startOffset),1==c&&d.setEnd(a.endContainer,a.endOffset),d}return null},union:function(a){if(this.intersectsOrTouchesRange(a)){var b=this.cloneRange();return-1==R(a.startContainer,a.startOffset,this.startContainer,this.startOffset)&&b.setStart(a.startContainer,a.startOffset),1==R(a.endContainer,a.endOffset,this.endContainer,this.endOffset)&&b.setEnd(a.endContainer,a.endOffset),b}throw new M("Ranges do not intersect")},containsNode:function(a,b){return b?this.intersectsNode(a,!1):this.compareNode(a)==ra},containsNodeContents:function(a){return this.comparePoint(a,0)>=0&&this.comparePoint(a,U(a))<=0},containsRange:function(a){var b=this.intersection(a);return null!==b&&a.equals(b)},containsNodeText:function(a){var b=this.cloneRange();b.selectNode(a);var c=b.getNodes([3]);if(c.length>0){b.setStart(c[0],0);var d=c.pop();return b.setEnd(d,d.length),this.containsRange(b)}return this.containsNodeContents(a)},getNodes:function(a,b){return z(this),n(this,a,b)},getDocument:function(){return d(this)},collapseBefore:function(a){this.setEndBefore(a),this.collapse(!1)},collapseAfter:function(a){this.setStartAfter(a),this.collapse(!0)},getBookmark:function(b){var c=d(this),e=a.createRange(c);b=b||J.getBody(c),e.selectNodeContents(b);var f=this.intersection(e),g=0,h=0;return f&&(e.setEnd(f.startContainer,f.startOffset),g=e.toString().length,h=g+f.toString().length),{start:g,end:h,containerNode:b}},moveToBookmark:function(a){var b=a.containerNode,c=0;this.setStart(b,0),this.collapse(!0);for(var d,e,f,g,h=[b],i=!1,j=!1;!j&&(d=h.pop());)if(3==d.nodeType)e=c+d.length,!i&&a.start>=c&&a.start<=e&&(this.setStart(d,a.start-c),i=!0),i&&a.end>=c&&a.end<=e&&(this.setEnd(d,a.end-c),j=!0),c=e;else for(g=d.childNodes,f=g.length;f--;)h.push(g[f])},getName:function(){return"DomRange"},equals:function(a){return I.rangesEqual(this,a)},isValid:function(){return y(this)},inspect:function(){return o(this)},detach:function(){}}),F(I,H),K.extend(I,{rangeProperties:ja,RangeIterator:p,copyComparisonConstants:D,createPrototypeRange:F,inspect:o,toHtml:B,getRangeDocument:d,rangesEqual:function(a,b){return a.startContainer===b.startContainer&&a.startOffset===b.startOffset&&a.endContainer===b.endContainer&&a.endOffset===b.endOffset}}),a.DomRange=I}),H.createCoreModule("WrappedRange",["DomRange"],function(a,b){var c,d,e=a.dom,f=a.util,g=e.DomPosition,h=a.DomRange,i=e.getBody,j=e.getContentDocument,k=e.isCharacterDataNode;if(a.features.implementsDomRange&&!function(){function d(a){for(var b,c=m.length;c--;)b=m[c],a[b]=a.nativeRange[b];a.collapsed=a.startContainer===a.endContainer&&a.startOffset===a.endOffset}function g(a,b,c,d,e){var f=a.startContainer!==b||a.startOffset!=c,g=a.endContainer!==d||a.endOffset!=e,h=!a.equals(a.nativeRange);(f||g||h)&&(a.setEnd(d,e),a.setStart(b,c))}var k,l,m=h.rangeProperties;c=function(a){if(!a)throw b.createError("WrappedRange: Range must be specified");this.nativeRange=a,d(this)},h.createPrototypeRange(c,g),k=c.prototype,k.selectNode=function(a){this.nativeRange.selectNode(a),d(this)},k.cloneContents=function(){return this.nativeRange.cloneContents()},k.surroundContents=function(a){this.nativeRange.surroundContents(a),d(this)},k.collapse=function(a){this.nativeRange.collapse(a),d(this)},k.cloneRange=function(){return new c(this.nativeRange.cloneRange())},k.refresh=function(){d(this)},k.toString=function(){return this.nativeRange.toString()};var n=document.createTextNode("test");i(document).appendChild(n);var o=document.createRange();o.setStart(n,0),o.setEnd(n,0);try{o.setStart(n,1),k.setStart=function(a,b){this.nativeRange.setStart(a,b),d(this)},k.setEnd=function(a,b){this.nativeRange.setEnd(a,b),d(this)},l=function(a){return function(b){this.nativeRange[a](b),d(this)}}}catch(p){k.setStart=function(a,b){try{this.nativeRange.setStart(a,b)}catch(c){this.nativeRange.setEnd(a,b),this.nativeRange.setStart(a,b)}d(this)},k.setEnd=function(a,b){try{this.nativeRange.setEnd(a,b)}catch(c){this.nativeRange.setStart(a,b),this.nativeRange.setEnd(a,b)}d(this)},l=function(a,b){return function(c){try{this.nativeRange[a](c)}catch(e){this.nativeRange[b](c),this.nativeRange[a](c)}d(this)}}}k.setStartBefore=l("setStartBefore","setEndBefore"),k.setStartAfter=l("setStartAfter","setEndAfter"),k.setEndBefore=l("setEndBefore","setStartBefore"),k.setEndAfter=l("setEndAfter","setStartAfter"),k.selectNodeContents=function(a){this.setStartAndEnd(a,0,e.getNodeLength(a))},o.selectNodeContents(n),o.setEnd(n,3);var q=document.createRange();q.selectNodeContents(n),q.setEnd(n,4),q.setStart(n,2),-1==o.compareBoundaryPoints(o.START_TO_END,q)&&1==o.compareBoundaryPoints(o.END_TO_START,q)?k.compareBoundaryPoints=function(a,b){return b=b.nativeRange||b,a==b.START_TO_END?a=b.END_TO_START:a==b.END_TO_START&&(a=b.START_TO_END),this.nativeRange.compareBoundaryPoints(a,b)}:k.compareBoundaryPoints=function(a,b){return this.nativeRange.compareBoundaryPoints(a,b.nativeRange||b)};var r=document.createElement("div");r.innerHTML="123";var s=r.firstChild,t=i(document);t.appendChild(r),o.setStart(s,1),o.setEnd(s,2),o.deleteContents(),"13"==s.data&&(k.deleteContents=function(){this.nativeRange.deleteContents(),d(this)},k.extractContents=function(){var a=this.nativeRange.extractContents();return d(this),a}),t.removeChild(r),t=null,f.isHostMethod(o,"createContextualFragment")&&(k.createContextualFragment=function(a){return this.nativeRange.createContextualFragment(a)}),i(document).removeChild(n),k.getName=function(){return"WrappedRange"},a.WrappedRange=c,a.createNativeRange=function(a){return a=j(a,b,"createNativeRange"),a.createRange()}}(),a.features.implementsTextRange){var l=function(a){var b=a.parentElement(),c=a.duplicate();c.collapse(!0);var d=c.parentElement();c=a.duplicate(),c.collapse(!1);var f=c.parentElement(),g=d==f?d:e.getCommonAncestor(d,f);return g==b?g:e.getCommonAncestor(b,g)},m=function(a){return 0==a.compareEndPoints("StartToEnd",a)},n=function(a,b,c,d,f){var h=a.duplicate();h.collapse(c);var i=h.parentElement();if(e.isOrIsAncestorOf(b,i)||(i=b),!i.canHaveHTML){var j=new g(i.parentNode,e.getNodeIndex(i));return{boundaryPosition:j,nodeInfo:{nodeIndex:j.offset,containerElement:j.node}}}var l=e.getDocument(i).createElement("span");l.parentNode&&e.removeNode(l);for(var m,n,o,p,q,r=c?"StartToStart":"StartToEnd",s=f&&f.containerElement==i?f.nodeIndex:0,t=i.childNodes.length,u=t,v=u;;){if(v==t?i.appendChild(l):i.insertBefore(l,i.childNodes[v]),h.moveToElementText(l),m=h.compareEndPoints(r,a),0==m||s==u)break;if(-1==m){if(u==s+1)break;s=v}else u=u==s+1?s:v;v=Math.floor((s+u)/2),i.removeChild(l)}if(q=l.nextSibling,-1==m&&q&&k(q)){h.setEndPoint(c?"EndToStart":"EndToEnd",a);var w;if(/[\r\n]/.test(q.data)){var x=h.duplicate(),y=x.text.replace(/\r\n/g,"\r").length;for(w=x.moveStart("character",y);-1==(m=x.compareEndPoints("StartToEnd",x));)w++,x.moveStart("character",1)}else w=h.text.length;p=new g(q,w)}else n=(d||!c)&&l.previousSibling,o=(d||c)&&l.nextSibling,p=o&&k(o)?new g(o,0):n&&k(n)?new g(n,n.data.length):new g(i,e.getNodeIndex(l));return e.removeNode(l),{boundaryPosition:p,nodeInfo:{nodeIndex:v,containerElement:i}}},o=function(a,b){var c,d,f,g,h=a.offset,j=e.getDocument(a.node),l=i(j).createTextRange(),m=k(a.node);return m?(c=a.node,d=c.parentNode):(g=a.node.childNodes,c=h<g.length?g[h]:null,d=a.node),f=j.createElement("span"),f.innerHTML="&#feff;",c?d.insertBefore(f,c):d.appendChild(f),l.moveToElementText(f),l.collapse(!b),d.removeChild(f),m&&l[b?"moveStart":"moveEnd"]("character",h),l};d=function(a){this.textRange=a,this.refresh()},d.prototype=new h(document),d.prototype.refresh=function(){var a,b,c,d=l(this.textRange);m(this.textRange)?b=a=n(this.textRange,d,!0,!0).boundaryPosition:(c=n(this.textRange,d,!0,!1),a=c.boundaryPosition,b=n(this.textRange,d,!1,!1,c.nodeInfo).boundaryPosition),this.setStart(a.node,a.offset),this.setEnd(b.node,b.offset)},d.prototype.getName=function(){return"WrappedTextRange"},h.copyComparisonConstants(d);var p=function(a){if(a.collapsed)return o(new g(a.startContainer,a.startOffset),!0);var b=o(new g(a.startContainer,a.startOffset),!0),c=o(new g(a.endContainer,a.endOffset),!1),d=i(h.getRangeDocument(a)).createTextRange();return d.setEndPoint("StartToStart",b),d.setEndPoint("EndToEnd",c),d};if(d.rangeToTextRange=p,d.prototype.toTextRange=function(){return p(this)},a.WrappedTextRange=d,!a.features.implementsDomRange||a.config.preferTextRange){var q=function(a){return a("return this;")()}(Function);"undefined"==typeof q.Range&&(q.Range=d),a.createNativeRange=function(a){return a=j(a,b,"createNativeRange"),i(a).createTextRange()},a.WrappedRange=d}}a.createRange=function(c){return c=j(c,b,"createRange"),new a.WrappedRange(a.createNativeRange(c))},a.createRangyRange=function(a){return a=j(a,b,"createRangyRange"),new h(a)},f.createAliasForDeprecatedMethod(a,"createIframeRange","createRange"),f.createAliasForDeprecatedMethod(a,"createIframeRangyRange","createRangyRange"),a.addShimListener(function(b){var c=b.document;"undefined"==typeof c.createRange&&(c.createRange=function(){return a.createRange(c)}),c=b=null})}),H.createCoreModule("WrappedSelection",["DomRange","WrappedRange"],function(a,b){function c(a){return"string"==typeof a?/^backward(s)?$/i.test(a):!!a}function d(a,c){if(a){if(C.isWindow(a))return a;if(a instanceof r)return a.win;var d=C.getContentDocument(a,b,c);return C.getWindow(d)}return window}function e(a){return d(a,"getWinSelection").getSelection()}function f(a){return d(a,"getDocSelection").document.selection}function g(a){var b=!1;return a.anchorNode&&(b=1==C.comparePoints(a.anchorNode,a.anchorOffset,a.focusNode,a.focusOffset)),b}function h(a,b,c){var d=c?"end":"start",e=c?"start":"end";a.anchorNode=b[d+"Container"],a.anchorOffset=b[d+"Offset"],a.focusNode=b[e+"Container"],a.focusOffset=b[e+"Offset"]}function i(a){var b=a.nativeSelection;a.anchorNode=b.anchorNode,a.anchorOffset=b.anchorOffset,a.focusNode=b.focusNode,a.focusOffset=b.focusOffset}function j(a){a.anchorNode=a.focusNode=null,a.anchorOffset=a.focusOffset=0,a.rangeCount=0,a.isCollapsed=!0,a._ranges.length=0}function k(b){var c;return b instanceof F?(c=a.createNativeRange(b.getDocument()),c.setEnd(b.endContainer,b.endOffset),c.setStart(b.startContainer,b.startOffset)):b instanceof G?c=b.nativeRange:J.implementsDomRange&&b instanceof C.getWindow(b.startContainer).Range&&(c=b),c}function l(a){if(!a.length||1!=a[0].nodeType)return!1;for(var b=1,c=a.length;c>b;++b)if(!C.isAncestorOf(a[0],a[b]))return!1;return!0}function m(a){var c=a.getNodes();if(!l(c))throw b.createError("getSingleElementFromRange: range "+a.inspect()+" did not consist of a single element");return c[0]}function n(a){return!!a&&"undefined"!=typeof a.text}function o(a,b){var c=new G(b);a._ranges=[c],h(a,c,!1),a.rangeCount=1,a.isCollapsed=c.collapsed}function p(b){if(b._ranges.length=0,"None"==b.docSelection.type)j(b);else{var c=b.docSelection.createRange();if(n(c))o(b,c);else{b.rangeCount=c.length;for(var d,e=L(c.item(0)),f=0;f<b.rangeCount;++f)d=a.createRange(e),d.selectNode(c.item(f)),b._ranges.push(d);b.isCollapsed=1==b.rangeCount&&b._ranges[0].collapsed,h(b,b._ranges[b.rangeCount-1],!1)}}}function q(a,c){for(var d=a.docSelection.createRange(),e=m(c),f=L(d.item(0)),g=M(f).createControlRange(),h=0,i=d.length;i>h;++h)g.add(d.item(h));try{g.add(e)}catch(j){throw b.createError("addRange(): Element within the specified Range could not be added to control selection (does it have layout?)")}g.select(),p(a)}function r(a,b,c){this.nativeSelection=a,this.docSelection=b,this._ranges=[],this.win=c,this.refresh()}function s(a){a.win=a.anchorNode=a.focusNode=a._ranges=null,a.rangeCount=a.anchorOffset=a.focusOffset=0,a.detached=!0}function t(a,b){for(var c,d,e=ba.length;e--;)if(c=ba[e],d=c.selection,"deleteAll"==b)s(d);else if(c.win==a)return"delete"==b?(ba.splice(e,1),!0):d;return"deleteAll"==b&&(ba.length=0),null}function u(a,c){for(var d,e=L(c[0].startContainer),f=M(e).createControlRange(),g=0,h=c.length;h>g;++g){d=m(c[g]);try{f.add(d)}catch(i){throw b.createError("setRanges(): Element within one of the specified Ranges could not be added to control selection (does it have layout?)")}}f.select(),p(a)}function v(a,b){if(a.win.document!=L(b))throw new H("WRONG_DOCUMENT_ERR")}function w(b){return function(c,d){var e;this.rangeCount?(e=this.getRangeAt(0),e["set"+(b?"Start":"End")](c,d)):(e=a.createRange(this.win.document),e.setStartAndEnd(c,d)),this.setSingleRange(e,this.isBackward())}}function x(a){var b=[],c=new I(a.anchorNode,a.anchorOffset),d=new I(a.focusNode,a.focusOffset),e="function"==typeof a.getName?a.getName():"Selection";if("undefined"!=typeof a.rangeCount)for(var f=0,g=a.rangeCount;g>f;++f)b[f]=F.inspect(a.getRangeAt(f));return"["+e+"(Ranges: "+b.join(", ")+")(anchor: "+c.inspect()+", focus: "+d.inspect()+"]"}a.config.checkSelectionRanges=!0;var y,z,A="boolean",B="number",C=a.dom,D=a.util,E=D.isHostMethod,F=a.DomRange,G=a.WrappedRange,H=a.DOMException,I=C.DomPosition,J=a.features,K="Control",L=C.getDocument,M=C.getBody,N=F.rangesEqual,O=E(window,"getSelection"),P=D.isHostObject(document,"selection");J.implementsWinGetSelection=O,J.implementsDocSelection=P;var Q=P&&(!O||a.config.preferTextRange);if(Q)y=f,a.isSelectionValid=function(a){var b=d(a,"isSelectionValid").document,c=b.selection;return"None"!=c.type||L(c.createRange().parentElement())==b};else{if(!O)return b.fail("Neither document.selection or window.getSelection() detected."),!1;y=e,a.isSelectionValid=function(){return!0}}a.getNativeSelection=y;var R=y();if(!R)return b.fail("Native selection was null (possibly issue 138?)"),!1;var S=a.createNativeRange(document),T=M(document),U=D.areHostProperties(R,["anchorNode","focusNode","anchorOffset","focusOffset"]);J.selectionHasAnchorAndFocus=U;var V=E(R,"extend");J.selectionHasExtend=V;var W=typeof R.rangeCount==B;J.selectionHasRangeCount=W;var X=!1,Y=!0,Z=V?function(b,c){var d=F.getRangeDocument(c),e=a.createRange(d);e.collapseToPoint(c.endContainer,c.endOffset),b.addRange(k(e)),b.extend(c.startContainer,c.startOffset)}:null;D.areHostMethods(R,["addRange","getRangeAt","removeAllRanges"])&&typeof R.rangeCount==B&&J.implementsDomRange&&!function(){var b=window.getSelection();if(b){for(var c=b.rangeCount,d=c>1,e=[],f=g(b),h=0;c>h;++h)e[h]=b.getRangeAt(h);var i=C.createTestElement(document,"",!1),j=i.appendChild(document.createTextNode("   ")),k=document.createRange();if(k.setStart(j,1),k.collapse(!0),b.removeAllRanges(),b.addRange(k),
-Y=1==b.rangeCount,b.removeAllRanges(),!d){var l=window.navigator.appVersion.match(/Chrome\/(.*?) /);if(l&&parseInt(l[1])>=36)X=!1;else{var m=k.cloneRange();k.setStart(j,0),m.setEnd(j,3),m.setStart(j,2),b.addRange(k),b.addRange(m),X=2==b.rangeCount}}for(C.removeNode(i),b.removeAllRanges(),h=0;c>h;++h)0==h&&f?Z?Z(b,e[h]):(a.warn("Rangy initialization: original selection was backwards but selection has been restored forwards because the browser does not support Selection.extend"),b.addRange(e[h])):b.addRange(e[h])}}(),J.selectionSupportsMultipleRanges=X,J.collapsedNonEditableSelectionsSupported=Y;var $,_=!1;T&&E(T,"createControlRange")&&($=T.createControlRange(),D.areHostProperties($,["item","add"])&&(_=!0)),J.implementsControlRange=_,z=U?function(a){return a.anchorNode===a.focusNode&&a.anchorOffset===a.focusOffset}:function(a){return a.rangeCount?a.getRangeAt(a.rangeCount-1).collapsed:!1};var aa;E(R,"getRangeAt")?aa=function(a,b){try{return a.getRangeAt(b)}catch(c){return null}}:U&&(aa=function(b){var c=L(b.anchorNode),d=a.createRange(c);return d.setStartAndEnd(b.anchorNode,b.anchorOffset,b.focusNode,b.focusOffset),d.collapsed!==this.isCollapsed&&d.setStartAndEnd(b.focusNode,b.focusOffset,b.anchorNode,b.anchorOffset),d}),r.prototype=a.selectionPrototype;var ba=[],ca=function(a){if(a&&a instanceof r)return a.refresh(),a;a=d(a,"getNativeSelection");var b=t(a),c=y(a),e=P?f(a):null;return b?(b.nativeSelection=c,b.docSelection=e,b.refresh()):(b=new r(c,e,a),ba.push({win:a,selection:b})),b};a.getSelection=ca,D.createAliasForDeprecatedMethod(a,"getIframeSelection","getSelection");var da=r.prototype;if(!Q&&U&&D.areHostMethods(R,["removeAllRanges","addRange"])){da.removeAllRanges=function(){this.nativeSelection.removeAllRanges(),j(this)};var ea=function(a,b){Z(a.nativeSelection,b),a.refresh()};W?da.addRange=function(b,d){if(_&&P&&this.docSelection.type==K)q(this,b);else if(c(d)&&V)ea(this,b);else{var e;X?e=this.rangeCount:(this.removeAllRanges(),e=0);var f=k(b).cloneRange();try{this.nativeSelection.addRange(f)}catch(g){}if(this.rangeCount=this.nativeSelection.rangeCount,this.rangeCount==e+1){if(a.config.checkSelectionRanges){var i=aa(this.nativeSelection,this.rangeCount-1);i&&!N(i,b)&&(b=new G(i))}this._ranges[this.rangeCount-1]=b,h(this,b,ha(this.nativeSelection)),this.isCollapsed=z(this)}else this.refresh()}}:da.addRange=function(a,b){c(b)&&V?ea(this,a):(this.nativeSelection.addRange(k(a)),this.refresh())},da.setRanges=function(a){if(_&&P&&a.length>1)u(this,a);else{this.removeAllRanges();for(var b=0,c=a.length;c>b;++b)this.addRange(a[b])}}}else{if(!(E(R,"empty")&&E(S,"select")&&_&&Q))return b.fail("No means of selecting a Range or TextRange was found"),!1;da.removeAllRanges=function(){try{if(this.docSelection.empty(),"None"!=this.docSelection.type){var a;if(this.anchorNode)a=L(this.anchorNode);else if(this.docSelection.type==K){var b=this.docSelection.createRange();b.length&&(a=L(b.item(0)))}if(a){var c=M(a).createTextRange();c.select(),this.docSelection.empty()}}}catch(d){}j(this)},da.addRange=function(b){this.docSelection.type==K?q(this,b):(a.WrappedTextRange.rangeToTextRange(b).select(),this._ranges[0]=b,this.rangeCount=1,this.isCollapsed=this._ranges[0].collapsed,h(this,b,!1))},da.setRanges=function(a){this.removeAllRanges();var b=a.length;b>1?u(this,a):b&&this.addRange(a[0])}}da.getRangeAt=function(a){if(0>a||a>=this.rangeCount)throw new H("INDEX_SIZE_ERR");return this._ranges[a].cloneRange()};var fa;if(Q)fa=function(b){var c;a.isSelectionValid(b.win)?c=b.docSelection.createRange():(c=M(b.win.document).createTextRange(),c.collapse(!0)),b.docSelection.type==K?p(b):n(c)?o(b,c):j(b)};else if(E(R,"getRangeAt")&&typeof R.rangeCount==B)fa=function(b){if(_&&P&&b.docSelection.type==K)p(b);else if(b._ranges.length=b.rangeCount=b.nativeSelection.rangeCount,b.rangeCount){for(var c=0,d=b.rangeCount;d>c;++c)b._ranges[c]=new a.WrappedRange(b.nativeSelection.getRangeAt(c));h(b,b._ranges[b.rangeCount-1],ha(b.nativeSelection)),b.isCollapsed=z(b)}else j(b)};else{if(!U||typeof R.isCollapsed!=A||typeof S.collapsed!=A||!J.implementsDomRange)return b.fail("No means of obtaining a Range or TextRange from the user's selection was found"),!1;fa=function(a){var b,c=a.nativeSelection;c.anchorNode?(b=aa(c,0),a._ranges=[b],a.rangeCount=1,i(a),a.isCollapsed=z(a)):j(a)}}da.refresh=function(a){var b=a?this._ranges.slice(0):null,c=this.anchorNode,d=this.anchorOffset;if(fa(this),a){var e=b.length;if(e!=this._ranges.length)return!0;if(this.anchorNode!=c||this.anchorOffset!=d)return!0;for(;e--;)if(!N(b[e],this._ranges[e]))return!0;return!1}};var ga=function(a,b){var c=a.getAllRanges();a.removeAllRanges();for(var d=0,e=c.length;e>d;++d)N(b,c[d])||a.addRange(c[d]);a.rangeCount||j(a)};_&&P?da.removeRange=function(a){if(this.docSelection.type==K){for(var b,c=this.docSelection.createRange(),d=m(a),e=L(c.item(0)),f=M(e).createControlRange(),g=!1,h=0,i=c.length;i>h;++h)b=c.item(h),b!==d||g?f.add(c.item(h)):g=!0;f.select(),p(this)}else ga(this,a)}:da.removeRange=function(a){ga(this,a)};var ha;!Q&&U&&J.implementsDomRange?(ha=g,da.isBackward=function(){return ha(this)}):ha=da.isBackward=function(){return!1},da.isBackwards=da.isBackward,da.toString=function(){for(var a=[],b=0,c=this.rangeCount;c>b;++b)a[b]=""+this._ranges[b];return a.join("")},da.collapse=function(b,c){v(this,b);var d=a.createRange(b);d.collapseToPoint(b,c),this.setSingleRange(d),this.isCollapsed=!0},da.collapseToStart=function(){if(!this.rangeCount)throw new H("INVALID_STATE_ERR");var a=this._ranges[0];this.collapse(a.startContainer,a.startOffset)},da.collapseToEnd=function(){if(!this.rangeCount)throw new H("INVALID_STATE_ERR");var a=this._ranges[this.rangeCount-1];this.collapse(a.endContainer,a.endOffset)},da.selectAllChildren=function(b){v(this,b);var c=a.createRange(b);c.selectNodeContents(b),this.setSingleRange(c)},da.deleteFromDocument=function(){if(_&&P&&this.docSelection.type==K){for(var a,b=this.docSelection.createRange();b.length;)a=b.item(0),b.remove(a),C.removeNode(a);this.refresh()}else if(this.rangeCount){var c=this.getAllRanges();if(c.length){this.removeAllRanges();for(var d=0,e=c.length;e>d;++d)c[d].deleteContents();this.addRange(c[e-1])}}},da.eachRange=function(a,b){for(var c=0,d=this._ranges.length;d>c;++c)if(a(this.getRangeAt(c)))return b},da.getAllRanges=function(){var a=[];return this.eachRange(function(b){a.push(b)}),a},da.setSingleRange=function(a,b){this.removeAllRanges(),this.addRange(a,b)},da.callMethodOnEachRange=function(a,b){var c=[];return this.eachRange(function(d){c.push(d[a].apply(d,b||[]))}),c},da.setStart=w(!0),da.setEnd=w(!1),a.rangePrototype.select=function(a){ca(this.getDocument()).setSingleRange(this,a)},da.changeEachRange=function(a){var b=[],c=this.isBackward();this.eachRange(function(c){a(c),b.push(c)}),this.removeAllRanges(),c&&1==b.length?this.addRange(b[0],"backward"):this.setRanges(b)},da.containsNode=function(a,b){return this.eachRange(function(c){return c.containsNode(a,b)},!0)||!1},da.getBookmark=function(a){return{backward:this.isBackward(),rangeBookmarks:this.callMethodOnEachRange("getBookmark",[a])}},da.moveToBookmark=function(b){for(var c,d,e=[],f=0;c=b.rangeBookmarks[f++];)d=a.createRange(this.win),d.moveToBookmark(c),e.push(d);b.backward?this.setSingleRange(e[0],"backward"):this.setRanges(e)},da.saveRanges=function(){return{backward:this.isBackward(),ranges:this.callMethodOnEachRange("cloneRange")}},da.restoreRanges=function(a){this.removeAllRanges();for(var b,c=0;b=a.ranges[c];++c)this.addRange(b,a.backward&&0==c)},da.toHtml=function(){var a=[];return this.eachRange(function(b){a.push(F.toHtml(b))}),a.join("")},J.implementsTextRange&&(da.getNativeTextRange=function(){var c;if(c=this.docSelection){var d=c.createRange();if(n(d))return d;throw b.createError("getNativeTextRange: selection is a control selection")}if(this.rangeCount>0)return a.WrappedTextRange.rangeToTextRange(this.getRangeAt(0));throw b.createError("getNativeTextRange: selection contains no range")}),da.getName=function(){return"WrappedSelection"},da.inspect=function(){return x(this)},da.detach=function(){t(this.win,"delete"),s(this)},r.detachAll=function(){t(null,"deleteAll")},r.inspect=x,r.isDirectionBackward=c,a.Selection=r,a.selectionPrototype=da,a.addShimListener(function(a){"undefined"==typeof a.getSelection&&(a.getSelection=function(){return ca(a)}),a=null})});var M=!1,N=function(a){M||(M=!0,!H.initialized&&H.config.autoInitialize&&l())};return F&&("complete"==document.readyState?N():(a(document,"addEventListener")&&document.addEventListener("DOMContentLoaded",N,!1),J(window,"load",N))),H},this),function(a,b){"function"==typeof define&&define.amd?define(["./rangy-core"],a):"undefined"!=typeof module&&"object"==typeof exports?module.exports=a(require("rangy")):a(b.rangy)}(function(a){return a.createModule("ClassApplier",["WrappedSelection"],function(a,b){function c(a,b){for(var c in a)if(a.hasOwnProperty(c)&&b(c,a[c])===!1)return!1;return!0}function d(a){return a.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function e(a,b){return!!a&&new RegExp("(?:^|\\s)"+b+"(?:\\s|$)").test(a)}function f(a,b){if("object"==typeof a.classList)return a.classList.contains(b);var c="string"==typeof a.className,d=c?a.className:a.getAttribute("class");return e(d,b)}function g(a,b){if("object"==typeof a.classList)a.classList.add(b);else{var c="string"==typeof a.className,d=c?a.className:a.getAttribute("class");d?e(d,b)||(d+=" "+b):d=b,c?a.className=d:a.setAttribute("class",d)}}function h(a){var b="string"==typeof a.className;return b?a.className:a.getAttribute("class")}function j(a){return a&&a.split(/\s+/).sort().join(" ")}function k(a){return j(h(a))}function l(a,b){return k(a)==k(b)}function m(a,b){for(var c=b.split(/\s+/),e=0,g=c.length;g>e;++e)if(!f(a,d(c[e])))return!1;return!0}function n(a){var b=a.parentNode;return b&&1==b.nodeType&&!/^(textarea|style|script|select|iframe)$/i.test(b.nodeName)}function o(a,b,c,d,e){var f=a.node,g=a.offset,h=f,i=g;f==d&&g>e&&++i,f!=b||g!=c&&g!=c+1||(h=d,i+=e-c),f==b&&g>c+1&&--i,a.node=h,a.offset=i}function p(a,b,c){a.node==b&&a.offset>c&&--a.offset}function q(a,b,c,d){-1==c&&(c=b.childNodes.length);var e=a.parentNode,f=L.getNodeIndex(a);P(d,function(a){o(a,e,f,b,c)}),b.childNodes.length==c?b.appendChild(a):b.insertBefore(a,b.childNodes[c])}function r(a,b){var c=a.parentNode,d=L.getNodeIndex(a);P(b,function(a){p(a,c,d)}),L.removeNode(a)}function s(a,b,c,d,e){for(var f,g=[];f=a.firstChild;)q(f,b,c++,e),g.push(f);return d&&r(a,e),g}function t(a,b){return s(a,a.parentNode,L.getNodeIndex(a),!0,b)}function u(a,b){var c=a.cloneRange();c.selectNodeContents(b);var d=c.intersection(a),e=d?d.toString():"";return""!=e}function v(a){for(var b,c=a.getNodes([3]),d=0;(b=c[d])&&!u(a,b);)++d;for(var e=c.length-1;(b=c[e])&&!u(a,b);)--e;return c.slice(d,e+1)}function w(a,b){if(a.attributes.length!=b.attributes.length)return!1;for(var c,d,e,f=0,g=a.attributes.length;g>f;++f)if(c=a.attributes[f],e=c.name,"class"!=e){if(d=b.attributes.getNamedItem(e),null===c!=(null===d))return!1;if(c.specified!=d.specified)return!1;if(c.specified&&c.nodeValue!==d.nodeValue)return!1}return!0}function x(a,b){for(var c,d=0,e=a.attributes.length;e>d;++d)if(c=a.attributes[d].name,(!b||!N(b,c))&&a.attributes[d].specified&&"class"!=c)return!0;return!1}function y(a){var b;return a&&1==a.nodeType&&((b=a.parentNode)&&9==b.nodeType&&"on"==b.designMode||U(a)&&!U(a.parentNode))}function z(a){return(U(a)||1!=a.nodeType&&U(a.parentNode))&&!y(a)}function A(a){return a&&1==a.nodeType&&!V.test(T(a,"display"))}function B(a){if(0==a.data.length)return!0;if(W.test(a.data))return!1;var b=T(a.parentNode,"whiteSpace");switch(b){case"pre":case"pre-wrap":case"-moz-pre-wrap":return!1;case"pre-line":if(/[\r\n]/.test(a.data))return!1}return A(a.previousSibling)||A(a.nextSibling)}function C(a){var b,c,d=[];for(b=0;c=a[b++];)d.push(new M(c.startContainer,c.startOffset),new M(c.endContainer,c.endOffset));return d}function D(a,b){for(var c,d,e,f=0,g=a.length;g>f;++f)c=a[f],d=b[2*f],e=b[2*f+1],c.setStartAndEnd(d.node,d.offset,e.node,e.offset)}function E(a,b){return L.isCharacterDataNode(a)?0==b?!!a.previousSibling:b==a.length?!!a.nextSibling:!0:b>0&&b<a.childNodes.length}function F(a,c,d,e){var f,g,h=0==d;if(L.isAncestorOf(c,a))return a;if(L.isCharacterDataNode(c)){var i=L.getNodeIndex(c);if(0==d)d=i;else{if(d!=c.length)throw b.createError("splitNodeAt() should not be called with offset in the middle of a data node ("+d+" in "+c.data);d=i+1}c=c.parentNode}if(E(c,d)){f=c.cloneNode(!1),g=c.parentNode,f.id&&f.removeAttribute("id");for(var j,k=0;j=c.childNodes[d];)q(j,f,k++,e);return q(f,g,L.getNodeIndex(c)+1,e),c==a?f:F(a,g,L.getNodeIndex(f),e)}if(a!=c){f=c.parentNode;var l=L.getNodeIndex(c);return h||l++,F(a,f,l,e)}return a}function G(a,b){return a.namespaceURI==b.namespaceURI&&a.tagName.toLowerCase()==b.tagName.toLowerCase()&&l(a,b)&&w(a,b)&&"inline"==T(a,"display")&&"inline"==T(b,"display")}function H(a){var b=a?"nextSibling":"previousSibling";return function(c,d){var e=c.parentNode,f=c[b];if(f){if(f&&3==f.nodeType)return f}else if(d&&(f=e[b],f&&1==f.nodeType&&G(e,f))){var g=f[a?"firstChild":"lastChild"];if(g&&3==g.nodeType)return g}return null}}function I(a){this.isElementMerge=1==a.nodeType,this.textNodes=[];var b=this.isElementMerge?a.lastChild:a;b&&(this.textNodes[0]=b)}function J(a,b,e){var f,g,h,i,k=this;k.cssClass=k.className=a;var l=null,m={};if("object"==typeof b&&null!==b){for("undefined"!=typeof b.elementTagName&&(b.elementTagName=b.elementTagName.toLowerCase()),e=b.tagNames,l=b.elementProperties,m=b.elementAttributes,g=0;i=Z[g++];)b.hasOwnProperty(i)&&(k[i]=b[i]);f=b.normalize}else f=b;k.normalize="undefined"==typeof f?!0:f,k.attrExceptions=[];var n=document.createElement(k.elementTagName);k.elementProperties=k.copyPropertiesToElement(l,n,!0),c(m,function(a,b){k.attrExceptions.push(a),m[a]=""+b}),k.elementAttributes=m,k.elementSortedClassName=k.elementProperties.hasOwnProperty("className")?j(k.elementProperties.className+" "+a):a,k.applyToAnyTagName=!1;var o=typeof e;if("string"==o)"*"==e?k.applyToAnyTagName=!0:k.tagNames=d(e.toLowerCase()).split(/\s*,\s*/);else if("object"==o&&"number"==typeof e.length)for(k.tagNames=[],g=0,h=e.length;h>g;++g)"*"==e[g]?k.applyToAnyTagName=!0:k.tagNames.push(e[g].toLowerCase());else k.tagNames=[k.elementTagName]}function K(a,b,c){return new J(a,b,c)}var L=a.dom,M=L.DomPosition,N=L.arrayContains,O=a.util,P=O.forEach,Q="span",R=O.isHostMethod(document,"createElementNS"),S=function(){function a(a,b,c){return b&&c?" ":""}return function(b,c){if("object"==typeof b.classList)b.classList.remove(c);else{var d="string"==typeof b.className,e=d?b.className:b.getAttribute("class");e=e.replace(new RegExp("(^|\\s)"+c+"(\\s|$)"),a),d?b.className=e:b.setAttribute("class",e)}}}(),T=L.getComputedStyleProperty,U=function(){var a=document.createElement("div");return"boolean"==typeof a.isContentEditable?function(a){return a&&1==a.nodeType&&a.isContentEditable}:function(a){return a&&1==a.nodeType&&"false"!=a.contentEditable?"true"==a.contentEditable||U(a.parentNode):!1}}(),V=/^inline(-block|-table)?$/i,W=/[^\r\n\t\f \u200B]/,X=H(!1),Y=H(!0);I.prototype={doMerge:function(a){var b=this.textNodes,c=b[0];if(b.length>1){var d,e=L.getNodeIndex(c),f=[],g=0;P(b,function(b,h){d=b.parentNode,h>0&&(d.removeChild(b),d.hasChildNodes()||L.removeNode(d),a&&P(a,function(a){a.node==b&&(a.node=c,a.offset+=g),a.node==d&&a.offset>e&&(--a.offset,a.offset==e+1&&h<len-1&&(a.node=c,a.offset=g))})),f[h]=b.data,g+=b.data.length}),c.data=f.join("")}return c.data},getLength:function(){for(var a=this.textNodes.length,b=0;a--;)b+=this.textNodes[a].length;return b},toString:function(){var a=[];return P(this.textNodes,function(b,c){a[c]="'"+b.data+"'"}),"[Merge("+a.join(",")+")]"}};var Z=["elementTagName","ignoreWhiteSpace","applyToEditableOnly","useExistingElements","removeEmptyElements","onElementCreate"],$={};J.prototype={elementTagName:Q,elementProperties:{},elementAttributes:{},ignoreWhiteSpace:!0,applyToEditableOnly:!1,useExistingElements:!0,removeEmptyElements:!0,onElementCreate:null,copyPropertiesToElement:function(a,b,c){var d,e,f,h,i,k,l={};for(var m in a)if(a.hasOwnProperty(m))if(h=a[m],i=b[m],"className"==m)g(b,h),g(b,this.className),b[m]=j(b[m]),c&&(l[m]=h);else if("style"==m){e=i,c&&(l[m]=f={});for(d in a[m])a[m].hasOwnProperty(d)&&(e[d]=h[d],c&&(f[d]=e[d]));this.attrExceptions.push(m)}else b[m]=h,c&&(l[m]=b[m],k=$.hasOwnProperty(m)?$[m]:m,this.attrExceptions.push(k));return c?l:""},copyAttributesToElement:function(a,b){for(var c in a)a.hasOwnProperty(c)&&!/^class(?:Name)?$/i.test(c)&&b.setAttribute(c,a[c])},appliesToElement:function(a){return N(this.tagNames,a.tagName.toLowerCase())},getEmptyElements:function(a){var b=this;return a.getNodes([1],function(a){return b.appliesToElement(a)&&!a.hasChildNodes()})},hasClass:function(a){return 1==a.nodeType&&(this.applyToAnyTagName||this.appliesToElement(a))&&f(a,this.className)},getSelfOrAncestorWithClass:function(a){for(;a;){if(this.hasClass(a))return a;a=a.parentNode}return null},isModifiable:function(a){return!this.applyToEditableOnly||z(a)},isIgnorableWhiteSpaceNode:function(a){return this.ignoreWhiteSpace&&a&&3==a.nodeType&&B(a)},postApply:function(a,b,c,d){var e,f,g=a[0],h=a[a.length-1],j=[],k=g,l=h,m=0,n=h.length;P(a,function(a){f=X(a,!d),f?(e||(e=new I(f),j.push(e)),e.textNodes.push(a),a===g&&(k=e.textNodes[0],m=k.length),a===h&&(l=e.textNodes[0],n=e.getLength())):e=null});var o=Y(h,!d);if(o&&(e||(e=new I(h),j.push(e)),e.textNodes.push(o)),j.length){for(i=0,len=j.length;i<len;++i)j[i].doMerge(c);b.setStartAndEnd(k,m,l,n)}},createContainer:function(a){var b,c=L.getDocument(a),d=R&&!L.isHtmlNamespace(a)&&(b=a.namespaceURI)?c.createElementNS(a.namespaceURI,this.elementTagName):c.createElement(this.elementTagName);return this.copyPropertiesToElement(this.elementProperties,d,!1),this.copyAttributesToElement(this.elementAttributes,d),g(d,this.className),this.onElementCreate&&this.onElementCreate(d,this),d},elementHasProperties:function(a,b){var d=this;return c(b,function(b,c){if("className"==b)return m(a,c);if("object"==typeof c){if(!d.elementHasProperties(a[b],c))return!1}else if(a[b]!==c)return!1})},elementHasAttributes:function(a,b){return c(b,function(b,c){return a.getAttribute(b)!==c?!1:void 0})},applyToTextNode:function(a,b){if(n(a)){var c=a.parentNode;if(1==c.childNodes.length&&this.useExistingElements&&this.appliesToElement(c)&&this.elementHasProperties(c,this.elementProperties)&&this.elementHasAttributes(c,this.elementAttributes))g(c,this.className);else{var d=a.parentNode,e=this.createContainer(d);d.insertBefore(e,a),e.appendChild(a)}}},isRemovable:function(a){return a.tagName.toLowerCase()==this.elementTagName&&k(a)==this.elementSortedClassName&&this.elementHasProperties(a,this.elementProperties)&&!x(a,this.attrExceptions)&&this.elementHasAttributes(a,this.elementAttributes)&&this.isModifiable(a)},isEmptyContainer:function(a){var b=a.childNodes.length;return 1==a.nodeType&&this.isRemovable(a)&&(0==b||1==b&&this.isEmptyContainer(a.firstChild))},removeEmptyContainers:function(a){var b=this,c=a.getNodes([1],function(a){return b.isEmptyContainer(a)}),d=[a],e=C(d);P(c,function(a){r(a,e)}),D(d,e)},undoToTextNode:function(a,b,c,d){if(!b.containsNode(c)){var e=b.cloneRange();e.selectNode(c),e.isPointInRange(b.endContainer,b.endOffset)&&(F(c,b.endContainer,b.endOffset,d),b.setEndAfter(c)),e.isPointInRange(b.startContainer,b.startOffset)&&(c=F(c,b.startContainer,b.startOffset,d))}this.isRemovable(c)?t(c,d):S(c,this.className)},splitAncestorWithClass:function(a,b,c){var d=this.getSelfOrAncestorWithClass(a);d&&F(d,a,b,c)},undoToAncestor:function(a,b){this.isRemovable(a)?t(a,b):S(a,this.className)},applyToRange:function(a,b){var c=this;b=b||[];var d=C(b||[]);a.splitBoundariesPreservingPositions(d),c.removeEmptyElements&&c.removeEmptyContainers(a);var e=v(a);if(e.length){P(e,function(a){c.isIgnorableWhiteSpaceNode(a)||c.getSelfOrAncestorWithClass(a)||!c.isModifiable(a)||c.applyToTextNode(a,d)});var f=e[e.length-1];a.setStartAndEnd(e[0],0,f,f.length),c.normalize&&c.postApply(e,a,d,!1),D(b,d)}var h=c.getEmptyElements(a);P(h,function(a){g(a,c.className)})},applyToRanges:function(a){for(var b=a.length;b--;)this.applyToRange(a[b],a);return a},applyToSelection:function(b){var c=a.getSelection(b);c.setRanges(this.applyToRanges(c.getAllRanges()))},undoToRange:function(a,b){var c=this;b=b||[];var d=C(b);a.splitBoundariesPreservingPositions(d),c.removeEmptyElements&&c.removeEmptyContainers(a,d);var e,f,g=v(a),h=g[g.length-1];if(g.length){c.splitAncestorWithClass(a.endContainer,a.endOffset,d),c.splitAncestorWithClass(a.startContainer,a.startOffset,d);for(var i=0,j=g.length;j>i;++i)e=g[i],f=c.getSelfOrAncestorWithClass(e),f&&c.isModifiable(e)&&c.undoToAncestor(f,d);a.setStartAndEnd(g[0],0,h,h.length),c.normalize&&c.postApply(g,a,d,!0),D(b,d)}var k=c.getEmptyElements(a);P(k,function(a){S(a,c.className)})},undoToRanges:function(a){for(var b=a.length;b--;)this.undoToRange(a[b],a);return a},undoToSelection:function(b){var c=a.getSelection(b),d=a.getSelection(b).getAllRanges();this.undoToRanges(d),c.setRanges(d)},isAppliedToRange:function(a){if(a.collapsed||""==a.toString())return!!this.getSelfOrAncestorWithClass(a.commonAncestorContainer);var b=a.getNodes([3]);if(b.length)for(var c,d=0;c=b[d++];)if(!this.isIgnorableWhiteSpaceNode(c)&&u(a,c)&&this.isModifiable(c)&&!this.getSelfOrAncestorWithClass(c))return!1;return!0},isAppliedToRanges:function(a){var b=a.length;if(0==b)return!1;for(;b--;)if(!this.isAppliedToRange(a[b]))return!1;return!0},isAppliedToSelection:function(b){var c=a.getSelection(b);return this.isAppliedToRanges(c.getAllRanges())},toggleRange:function(a){this.isAppliedToRange(a)?this.undoToRange(a):this.applyToRange(a)},toggleSelection:function(a){this.isAppliedToSelection(a)?this.undoToSelection(a):this.applyToSelection(a)},getElementsWithClassIntersectingRange:function(a){var b=[],c=this;return a.getNodes([3],function(a){var d=c.getSelfOrAncestorWithClass(a);d&&!N(b,d)&&b.push(d)}),b},detach:function(){}},J.util={hasClass:f,addClass:g,removeClass:S,getClass:h,hasSameClasses:l,hasAllClasses:m,replaceWithOwnChildren:t,elementsHaveSameNonClassAttributes:w,elementHasNonClassAttributes:x,splitNodeAt:F,isEditableElement:U,isEditingHost:y,isEditable:z},a.CssClassApplier=a.ClassApplier=J,a.createClassApplier=K,O.createAliasForDeprecatedMethod(a,"createCssClassApplier","createClassApplier",b)}),a},this),function(a,b){"function"==typeof define&&define.amd?define(["./rangy-core"],a):"undefined"!=typeof module&&"object"==typeof exports?module.exports=a(require("rangy")):a(b.rangy)}(function(a){return a.createModule("Highlighter",["ClassApplier"],function(a,b){function c(a,b){return a.characterRange.start-b.characterRange.start}function d(a,b){return b?a.getElementById(b):m(a)}function e(a,b){this.type=a,this.converterCreator=b}function f(a,b){q[a]=new e(a,b)}function g(a){var b=q[a];if(b instanceof e)return b.create();throw new Error("Highlighter type '"+a+"' is not valid")}function h(a,b){this.start=a,this.end=b}function i(a,b,c,d,e,f){e?(this.id=e,p=Math.max(p,e+1)):this.id=p++,this.characterRange=b,this.doc=a,this.classApplier=c,this.converter=d,this.containerElementId=f||null,this.applied=!1}function j(a,b){b=b||"textContent",this.doc=a||document,this.classAppliers={},this.highlights=[],this.converter=g(b)}var k=a.dom,l=k.arrayContains,m=k.getBody,n=a.util.createOptions,o=a.util.forEach,p=1,q={};e.prototype.create=function(){var a=this.converterCreator();return a.type=this.type,a},a.registerHighlighterType=f,h.prototype={intersects:function(a){return this.start<a.end&&this.end>a.start},isContiguousWith:function(a){return this.start==a.end||this.end==a.start},union:function(a){return new h(Math.min(this.start,a.start),Math.max(this.end,a.end))},intersection:function(a){return new h(Math.max(this.start,a.start),Math.min(this.end,a.end))},getComplements:function(a){var b=[];if(this.start>=a.start){if(this.end<=a.end)return[];b.push(new h(a.end,this.end))}else b.push(new h(this.start,Math.min(this.end,a.start))),this.end>a.end&&b.push(new h(a.end,this.end));return b},toString:function(){return"[CharacterRange("+this.start+", "+this.end+")]"}},h.fromCharacterRange=function(a){return new h(a.start,a.end)};var r={rangeToCharacterRange:function(a,b){var c=a.getBookmark(b);return new h(c.start,c.end)},characterRangeToRange:function(b,c,d){var e=a.createRange(b);return e.moveToBookmark({start:c.start,end:c.end,containerNode:d}),e},serializeSelection:function(a,b){for(var c=a.getAllRanges(),d=c.length,e=[],f=1==d&&a.isBackward(),g=0,h=c.length;h>g;++g)e[g]={characterRange:this.rangeToCharacterRange(c[g],b),backward:f};return e},restoreSelection:function(a,b,c){a.removeAllRanges();for(var d,e,f,g=a.win.document,h=0,i=b.length;i>h;++h)e=b[h],f=e.characterRange,d=this.characterRangeToRange(g,e.characterRange,c),a.addRange(d,e.backward)}};f("textContent",function(){return r}),f("TextRange",function(){var b;return function(){if(!b){var c=a.modules.TextRange;if(!c)throw new Error("TextRange module is missing.");if(!c.supported)throw new Error("TextRange module is present but not supported.");b={rangeToCharacterRange:function(a,b){return h.fromCharacterRange(a.toCharacterRange(b))},characterRangeToRange:function(b,c,d){var e=a.createRange(b);return e.selectCharacters(d,c.start,c.end),e},serializeSelection:function(a,b){return a.saveCharacterRanges(b)},restoreSelection:function(a,b,c){a.restoreCharacterRanges(c,b)}}}return b}}()),i.prototype={getContainerElement:function(){return d(this.doc,this.containerElementId)},getRange:function(){return this.converter.characterRangeToRange(this.doc,this.characterRange,this.getContainerElement())},fromRange:function(a){this.characterRange=this.converter.rangeToCharacterRange(a,this.getContainerElement())},getText:function(){return this.getRange().toString()},containsElement:function(a){return this.getRange().containsNodeContents(a.firstChild)},unapply:function(){this.classApplier.undoToRange(this.getRange()),this.applied=!1},apply:function(){this.classApplier.applyToRange(this.getRange()),this.applied=!0},getHighlightElements:function(){return this.classApplier.getElementsWithClassIntersectingRange(this.getRange())},toString:function(){return"[Highlight(ID: "+this.id+", class: "+this.classApplier.className+", character range: "+this.characterRange.start+" - "+this.characterRange.end+")]"}},j.prototype={addClassApplier:function(a){this.classAppliers[a.className]=a},getHighlightForElement:function(a){for(var b=this.highlights,c=0,d=b.length;d>c;++c)if(b[c].containsElement(a))return b[c];return null},removeHighlights:function(a){for(var b,c=0,d=this.highlights.length;d>c;++c)b=this.highlights[c],l(a,b)&&(b.unapply(),this.highlights.splice(c--,1))},removeAllHighlights:function(){this.removeHighlights(this.highlights)},getIntersectingHighlights:function(a){var b=[],c=this.highlights;return o(a,function(a){o(c,function(c){a.intersectsRange(c.getRange())&&!l(b,c)&&b.push(c)})}),b},highlightCharacterRanges:function(b,c,d){var e,f,g,j=this.highlights,k=this.converter,l=this.doc,m=[],p=b?this.classAppliers[b]:null;d=n(d,{containerElementId:null,exclusive:!0});var q,r,s,t=d.containerElementId,u=d.exclusive;t&&(q=this.doc.getElementById(t),q&&(r=a.createRange(this.doc),r.selectNodeContents(q),s=new h(0,r.toString().length)));var v,w,x,y,z,A;for(e=0,f=c.length;f>e;++e)if(v=c[e],z=[],s&&(v=v.intersection(s)),v.start!=v.end){for(g=0;g<j.length;++g)x=!1,t==j[g].containerElementId&&(w=j[g].characterRange,y=p==j[g].classApplier,A=!y&&u,(w.intersects(v)||w.isContiguousWith(v))&&(y||A)&&(A&&o(w.getComplements(v),function(a){z.push(new i(l,a,j[g].classApplier,k,null,t))}),x=!0,y&&(v=w.union(v)))),x?(m.push(j[g]),j[g]=new i(l,w.union(v),p,k,null,t)):z.push(j[g]);p&&z.push(new i(l,v,p,k,null,t)),this.highlights=j=z}o(m,function(a){a.unapply()});var B=[];return o(j,function(a){a.applied||(a.apply(),B.push(a))}),B},highlightRanges:function(b,c,d){var e=[],f=this.converter;d=n(d,{containerElement:null,exclusive:!0});var g,h=d.containerElement,i=h?h.id:null;return h&&(g=a.createRange(h),g.selectNodeContents(h)),o(c,function(a){var b=h?g.intersection(a):a;e.push(f.rangeToCharacterRange(b,h||m(a.getDocument())))}),this.highlightCharacterRanges(b,e,{containerElementId:i,exclusive:d.exclusive})},highlightSelection:function(b,c){var e=this.converter,f=b?this.classAppliers[b]:!1;c=n(c,{containerElementId:null,selection:a.getSelection(this.doc),exclusive:!0});var g=c.containerElementId,i=c.exclusive,j=c.selection,k=j.win.document,l=d(k,g);if(!f&&b!==!1)throw new Error("No class applier found for class '"+b+"'");var m=e.serializeSelection(j,l),p=[];o(m,function(a){p.push(h.fromCharacterRange(a.characterRange))});var q=this.highlightCharacterRanges(b,p,{containerElementId:g,exclusive:i});return e.restoreSelection(j,m,l),q},unhighlightSelection:function(b){b=b||a.getSelection(this.doc);var c=this.getIntersectingHighlights(b.getAllRanges());return this.removeHighlights(c),b.removeAllRanges(),c},getHighlightsInSelection:function(b){return b=b||a.getSelection(this.doc),this.getIntersectingHighlights(b.getAllRanges())},selectionOverlapsHighlight:function(a){return this.getHighlightsInSelection(a).length>0},serialize:function(a){var b,d,e,f,h=this,i=h.highlights;return i.sort(c),a=n(a,{serializeHighlightText:!1,type:h.converter.type}),b=a.type,e=b!=h.converter.type,e&&(f=g(b)),d=["type:"+b],o(i,function(b){var c,g=b.characterRange;e&&(c=b.getContainerElement(),g=f.rangeToCharacterRange(h.converter.characterRangeToRange(h.doc,g,c),c));var i=[g.start,g.end,b.id,b.classApplier.className,b.containerElementId];a.serializeHighlightText&&i.push(b.getText()),d.push(i.join("$"))}),d.join("|")},deserialize:function(a){var b,c,e,f=a.split("|"),j=[],k=f[0],l=!1;if(!k||!(b=/^type:(\w+)$/.exec(k)))throw new Error("Serialized highlights are invalid.");c=b[1],c!=this.converter.type&&(e=g(c),l=!0),f.shift();for(var m,n,o,p,q,r,s=f.length;s-- >0;){if(r=f[s].split("$"),o=new h(+r[0],+r[1]),p=r[4]||null,l&&(q=d(this.doc,p),o=this.converter.rangeToCharacterRange(e.characterRangeToRange(this.doc,o,q),q)),m=this.classAppliers[r[3]],!m)throw new Error("No class applier found for class '"+r[3]+"'");n=new i(this.doc,o,m,this.converter,parseInt(r[2]),p),n.apply(),j.push(n)}this.highlights=j}},a.Highlighter=j,a.createHighlighter=function(a,b){return new j(a,b)}}),a},this),function(a,b){"function"==typeof define&&define.amd?define(["./rangy-core"],a):"undefined"!=typeof module&&"object"==typeof exports?module.exports=a(require("rangy")):a(b.rangy)}(function(a){return a.createModule("SaveRestore",["WrappedRange"],function(a,b){function c(a,b){return(b||document).getElementById(a)}function d(a,b){var c,d="selectionBoundary_"+ +new Date+"_"+(""+Math.random()).slice(2),e=o.getDocument(a.startContainer),f=a.cloneRange();return f.collapse(b),c=e.createElement("span"),c.id=d,c.style.lineHeight="0",c.style.display="none",c.className="rangySelectionBoundary",c.appendChild(e.createTextNode(r)),f.insertNode(c),c}function e(a,d,e,f){var g=c(e,a);g?(d[f?"setStartBefore":"setEndBefore"](g),p(g)):b.warn("Marker element has been removed. Cannot restore selection.")}function f(a,b){return b.compareBoundaryPoints(a.START_TO_START,a)}function g(b,c){var e,f,g=a.DomRange.getRangeDocument(b),h=b.toString(),i=q(c);return b.collapsed?(f=d(b,!1),{document:g,markerId:f.id,collapsed:!0}):(f=d(b,!1),e=d(b,!0),{document:g,startMarkerId:e.id,endMarkerId:f.id,collapsed:!1,backward:i,toString:function(){return"original text: '"+h+"', new text: '"+b.toString()+"'"}})}function h(d,f){var g=d.document;"undefined"==typeof f&&(f=!0);var h=a.createRange(g);if(d.collapsed){var i=c(d.markerId,g);if(i){i.style.display="inline";var j=i.previousSibling;j&&3==j.nodeType?(p(i),h.collapseToPoint(j,j.length)):(h.collapseBefore(i),p(i))}else b.warn("Marker element has been removed. Cannot restore selection.")}else e(g,h,d.startMarkerId,!0),e(g,h,d.endMarkerId,!1);
-return f&&h.normalizeBoundaries(),h}function i(b,d){var e,h,i=[],j=q(d);b=b.slice(0),b.sort(f);for(var k=0,l=b.length;l>k;++k)i[k]=g(b[k],j);for(k=l-1;k>=0;--k)e=b[k],h=a.DomRange.getRangeDocument(e),e.collapsed?e.collapseAfter(c(i[k].markerId,h)):(e.setEndBefore(c(i[k].endMarkerId,h)),e.setStartAfter(c(i[k].startMarkerId,h)));return i}function j(c){if(!a.isSelectionValid(c))return b.warn("Cannot save selection. This usually happens when the selection is collapsed and the selection document has lost focus."),null;var d=a.getSelection(c),e=d.getAllRanges(),f=1==e.length&&d.isBackward(),g=i(e,f);return f?d.setSingleRange(e[0],f):d.setRanges(e),{win:c,rangeInfos:g,restored:!1}}function k(a){for(var b=[],c=a.length,d=c-1;d>=0;d--)b[d]=h(a[d],!0);return b}function l(b,c){if(!b.restored){var d=b.rangeInfos,e=a.getSelection(b.win),f=k(d),g=d.length;1==g&&c&&a.features.selectionHasExtend&&d[0].backward?(e.removeAllRanges(),e.addRange(f[0],!0)):e.setRanges(f),b.restored=!0}}function m(a,b){var d=c(b,a);d&&p(d)}function n(a){for(var b,c=a.rangeInfos,d=0,e=c.length;e>d;++d)b=c[d],b.collapsed?m(a.doc,b.markerId):(m(a.doc,b.startMarkerId),m(a.doc,b.endMarkerId))}var o=a.dom,p=o.removeNode,q=a.Selection.isDirectionBackward,r="\ufeff";a.util.extend(a,{saveRange:g,restoreRange:h,saveRanges:i,restoreRanges:k,saveSelection:j,restoreSelection:l,removeMarkerElement:m,removeMarkers:n})}),a},this),function(a,b){"function"==typeof define&&define.amd?define(["./rangy-core"],a):"undefined"!=typeof module&&"object"==typeof exports?module.exports=a(require("rangy")):a(b.rangy)}(function(a){return a.createModule("Serializer",["WrappedSelection"],function(a,b){function c(a){return a.replace(/</g,"&lt;").replace(/>/g,"&gt;")}function d(a,b){b=b||[];var e=a.nodeType,f=a.childNodes,g=f.length,h=[e,a.nodeName,g].join(":"),i="",j="";switch(e){case 3:i=c(a.nodeValue);break;case 8:i="<!--"+c(a.nodeValue)+"-->";break;default:i="<"+h+">",j="</>"}i&&b.push(i);for(var k=0;g>k;++k)d(f[k],b);return j&&b.push(j),b}function e(a){var b=d(a).join("");return s(b).toString(16)}function f(a,b,c){var d=[],e=a;for(c=c||t.getDocument(a).documentElement;e&&e!=c;)d.push(t.getNodeIndex(e,!0)),e=e.parentNode;return d.join("/")+":"+b}function g(a,c,d){c||(c=(d||document).documentElement);for(var e,f=a.split(":"),g=c,h=f[0]?f[0].split("/"):[],i=h.length;i--;){if(e=parseInt(h[i],10),!(e<g.childNodes.length))throw b.createError("deserializePosition() failed: node "+t.inspectNode(g)+" has no child with index "+e+", "+i);g=g.childNodes[e]}return new t.DomPosition(g,parseInt(f[1],10))}function h(c,d,g){if(g=g||a.DomRange.getRangeDocument(c).documentElement,!t.isOrIsAncestorOf(g,c.commonAncestorContainer))throw b.createError("serializeRange(): range "+c.inspect()+" is not wholly contained within specified root node "+t.inspectNode(g));var h=f(c.startContainer,c.startOffset,g)+","+f(c.endContainer,c.endOffset,g);return d||(h+="{"+e(g)+"}"),h}function i(c,d,f){d?f=f||t.getDocument(d):(f=f||document,d=f.documentElement);var h=u.exec(c),i=h[4];if(i){var j=e(d);if(i!==j)throw b.createError("deserializeRange(): checksums of serialized range root node ("+i+") and target root node ("+j+") do not match")}var k=g(h[1],d,f),l=g(h[2],d,f),m=a.createRange(f);return m.setStartAndEnd(k.node,k.offset,l.node,l.offset),m}function j(a,b,c){b||(b=(c||document).documentElement);var d=u.exec(a),f=d[3];return!f||f===e(b)}function k(b,c,d){b=a.getSelection(b);for(var e=b.getAllRanges(),f=[],g=0,i=e.length;i>g;++g)f[g]=h(e[g],c,d);return f.join("|")}function l(b,c,d){c?d=d||t.getWindow(c):(d=d||window,c=d.document.documentElement);for(var e=b.split("|"),f=a.getSelection(d),g=[],h=0,j=e.length;j>h;++h)g[h]=i(e[h],c,d.document);return f.setRanges(g),f}function m(a,b,c){var d;b?d=c?c.document:t.getDocument(b):(c=c||window,b=c.document.documentElement);for(var e=a.split("|"),f=0,g=e.length;g>f;++f)if(!j(e[f],b,d))return!1;return!0}function n(a){for(var b,c,d=a.split(/[;,]/),e=0,f=d.length;f>e;++e)if(b=d[e].split("="),b[0].replace(/^\s+/,"")==v&&(c=b[1]))return decodeURIComponent(c.replace(/\s+$/,""));return null}function o(a){a=a||window;var b=n(a.document.cookie);b&&l(b,a.doc)}function p(b,c){b=b||window,c="object"==typeof c?c:{};var d=c.expires?";expires="+c.expires.toUTCString():"",e=c.path?";path="+c.path:"",f=c.domain?";domain="+c.domain:"",g=c.secure?";secure":"",h=k(a.getSelection(b));b.document.cookie=encodeURIComponent(v)+"="+encodeURIComponent(h)+d+e+f+g}var q="undefined",r=a.util;(typeof encodeURIComponent==q||typeof decodeURIComponent==q)&&b.fail("encodeURIComponent and/or decodeURIComponent method is missing");var s=function(){function a(a){for(var b,c=[],d=0,e=a.length;e>d;++d)b=a.charCodeAt(d),128>b?c.push(b):2048>b?c.push(b>>6|192,63&b|128):c.push(b>>12|224,b>>6&63|128,63&b|128);return c}function b(){for(var a,b,c=[],d=0;256>d;++d){for(b=d,a=8;a--;)1==(1&b)?b=b>>>1^3988292384:b>>>=1;c[d]=b>>>0}return c}function c(){return d||(d=b()),d}var d=null;return function(b){for(var d,e=a(b),f=-1,g=c(),h=0,i=e.length;i>h;++h)d=255&(f^e[h]),f=f>>>8^g[d];return(-1^f)>>>0}}(),t=a.dom,u=/^([^,]+),([^,\{]+)(\{([^}]+)\})?$/,v="rangySerializedSelection";r.extend(a,{serializePosition:f,deserializePosition:g,serializeRange:h,deserializeRange:i,canDeserializeRange:j,serializeSelection:k,deserializeSelection:l,canDeserializeSelection:m,restoreSelectionFromCookie:o,saveSelectionCookie:p,getElementChecksum:e,nodeToInfoString:d}),r.crc32=s}),a},this),function(a,b){"function"==typeof define&&define.amd?define(["./rangy-core"],a):"undefined"!=typeof module&&"object"==typeof exports?module.exports=a(require("rangy")):a(b.rangy)}(function(a){return a.createModule("TextRange",["WrappedSelection"],function(a,b){function c(a,b){function c(a,b,c){h.push({start:a,end:b,isWord:c})}for(var d,e,f,g=a.join(""),h=[],i=0;d=b.wordRegex.exec(g);){if(e=d.index,f=e+d[0].length,e>i&&c(i,e,!1),b.includeTrailingSpace)for(;$.test(a[f]);)++f;c(e,f,!0),i=f}return i<a.length&&c(i,a.length,!1),h}function d(a,b){for(var c=a.slice(b.start,b.end),d={isWord:b.isWord,chars:c,toString:function(){return c.join("")}},e=0,f=c.length;f>e;++e)c[e].token=d;return d}function e(a,b,c){for(var e,f=c(a,b),g=[],h=0;e=f[h++];)g.push(d(a,e));return g}function f(a){var b=a||"",c="string"==typeof b?b.split(""):b;return c.sort(function(a,b){return a.charCodeAt(0)-b.charCodeAt(0)}),c.join("").replace(/(.)\1+/g,"$1")}function g(a){var b,c;return a?(b=a.language||_,c={},U(c,ia[b]||ia[_]),U(c,a),c):ia[_]}function h(a,b){var c=V(a,b);return b.hasOwnProperty("wordOptions")&&(c.wordOptions=g(c.wordOptions)),b.hasOwnProperty("characterOptions")&&(c.characterOptions=V(c.characterOptions,ga)),c}function i(a,b){var c=na(a,"display",b),d=a.tagName.toLowerCase();return"block"==c&&fa&&oa.hasOwnProperty(d)?oa[d]:c}function j(a){for(var b=o(a),c=0,d=b.length;d>c;++c)if(1==b[c].nodeType&&"none"==i(b[c]))return!0;return!1}function k(a){var b;return 3==a.nodeType&&(b=a.parentNode)&&"hidden"==na(b,"visibility")}function l(a){return a&&(1==a.nodeType&&!/^(inline(-block|-table)?|none)$/.test(i(a))||9==a.nodeType||11==a.nodeType)}function m(a){return S.isCharacterDataNode(a)||!/^(area|base|basefont|br|col|frame|hr|img|input|isindex|link|meta|param)$/i.test(a.nodeName)}function n(a){for(var b=[];a.parentNode;)b.unshift(a.parentNode),a=a.parentNode;return b}function o(a){return n(a).concat([a])}function p(a){for(;a&&!a.nextSibling;)a=a.parentNode;return a?a.nextSibling:null}function q(a,b){return!b&&a.hasChildNodes()?a.firstChild:p(a)}function r(a){var b=a.previousSibling;if(b){for(a=b;a.hasChildNodes();)a=a.lastChild;return a}var c=a.parentNode;return c&&1==c.nodeType?c:null}function s(a){if(!a||3!=a.nodeType)return!1;var b=a.data;if(""===b)return!0;var c=a.parentNode;if(!c||1!=c.nodeType)return!1;var d=na(a.parentNode,"whiteSpace");return/^[\t\n\r ]+$/.test(b)&&/^(normal|nowrap)$/.test(d)||/^[\t\r ]+$/.test(b)&&"pre-line"==d}function t(a){if(""===a.data)return!0;if(!s(a))return!1;var b=a.parentNode;return b?j(a)?!0:!1:!0}function u(a){var b=a.nodeType;return 7==b||8==b||j(a)||/^(script|style)$/i.test(a.nodeName)||k(a)||t(a)}function v(a,b){var c=a.nodeType;return 7==c||8==c||1==c&&"none"==i(a,b)}function w(){this.store={}}function x(a,b,c){return function(d){var e=this.cache;if(e.hasOwnProperty(a))return pa++,e[a];qa++;var f=b.call(this,c?this[c]:this,d);return e[a]=f,f}}function y(a,b){this.node=a,this.session=b,this.cache=new w,this.positions=new w}function z(a,b){this.offset=b,this.nodeWrapper=a,this.node=a.node,this.session=a.session,this.cache=new w}function A(){return"[Position("+S.inspectNode(this.node)+":"+this.offset+")]"}function B(){return D(),Da=new Ea}function C(){return Da||B()}function D(){Da&&Da.detach(),Da=null}function E(a,c,d,e){function f(){var a=null;return c?(a=h,i||(h=h.previousVisible(),i=!h||d&&h.equals(d))):i||(a=h=h.nextVisible(),i=!h||d&&h.equals(d)),i&&(h=null),a}d&&(c?u(d.node)&&(d=a.previousVisible()):u(d.node)&&(d=d.nextVisible()));var g,h=a,i=!1,j=!1;return{next:function(){if(j)return j=!1,g;for(var a,b;a=f();)if(b=a.getCharacter(e))return g=a,a;return null},rewind:function(){if(!g)throw b.createError("createCharacterIterator: cannot rewind. Only one position can be rewound.");j=!0},dispose:function(){a=d=null}}}function F(a,b,c){function d(a){for(var b,c,d=[],e=a?f:g,h=!1,i=!1;b=e.next();){if(c=b.character,Z.test(c))i&&(i=!1,h=!0);else{if(h){e.rewind();break}i=!0}d.push(b)}return d}var f=E(a,!1,null,b),g=E(a,!0,null,b),h=c.tokenizer,i=d(!0),j=d(!1).reverse(),k=e(j.concat(i),c,h),l=i.length?k.slice(Fa(k,i[0].token)):[],m=j.length?k.slice(0,Fa(k,j.pop().token)+1):[];return{nextEndToken:function(){for(var a,b;1==l.length&&!(a=l[0]).isWord&&(b=d(!0)).length>0;)l=e(a.chars.concat(b),c,h);return l.shift()},previousStartToken:function(){for(var a,b;1==m.length&&!(a=m[0]).isWord&&(b=d(!1)).length>0;)m=e(b.reverse().concat(a.chars),c,h);return m.pop()},dispose:function(){f.dispose(),g.dispose(),l=m=null}}}function G(a,b,c,d,e){var f,g,h,i,j=0,k=a,l=Math.abs(c);if(0!==c){var m=0>c;switch(b){case Q:for(g=E(a,m,null,d);(f=g.next())&&l>j;)++j,k=f;h=f,g.dispose();break;case R:for(var n=F(a,d,e),o=m?n.previousStartToken:n.nextEndToken;(i=o())&&l>j;)i.isWord&&(++j,k=m?i.chars[0]:i.chars[i.chars.length-1]);break;default:throw new Error("movePositionBy: unit '"+b+"' not implemented")}m?(k=k.previousVisible(),j=-j):k&&k.isLeadingSpace&&!k.isTrailingSpace&&(b==R&&(g=E(a,!1,null,d),h=g.next(),g.dispose()),h&&(k=h.previousVisible()))}return{position:k,unitsMoved:j}}function H(a,b,c,d){var e=a.getRangeBoundaryPosition(b,!0),f=a.getRangeBoundaryPosition(b,!1),g=d?f:e,h=d?e:f;return E(g,!!d,h,c)}function I(a,b,c){for(var d,e=[],f=H(a,b,c);d=f.next();)e.push(d);return f.dispose(),e}function J(b,c,d){var e=a.createRange(b.node);return e.setStartAndEnd(b.node,b.offset,c.node,c.offset),!e.expand("word",{wordOptions:d})}function K(a,b,c,d,e){function f(a,b){var c=p[a].previousVisible(),d=p[b-1],f=!e.wholeWordsOnly||J(c,d,e.wordOptions);return{startPos:c,endPos:d,valid:f}}for(var g,h,i,j,k,l,m=aa(e.direction),n=E(a,m,a.session.getRangeBoundaryPosition(d,m),e.characterOptions),o="",p=[],q=null;g=n.next();)if(h=g.character,c||e.caseSensitive||(h=h.toLowerCase()),m?(p.unshift(g),o=h+o):(p.push(g),o+=h),c){if(k=b.exec(o))if(i=k.index,j=i+k[0].length,l){if(!m&&j<o.length||m&&i>0){q=f(i,j);break}}else l=!0}else if(-1!=(i=o.indexOf(b))){q=f(i,i+b.length);break}return l&&(q=f(i,j)),n.dispose(),q}function L(a){return function(){var b=!!Da,c=C(),d=[c].concat(T.toArray(arguments)),e=a.apply(this,d);return b||D(),e}}function M(a,b){return L(function(c,d,e,f){typeof e==P&&(e=d,d=Q),f=h(f,ka);var g=a;b&&(g=e>=0,this.collapse(!g));var i=G(c.getRangeBoundaryPosition(this,g),d,e,f.characterOptions,f.wordOptions),j=i.position;return this[g?"setStart":"setEnd"](j.node,j.offset),i.unitsMoved})}function N(a){return L(function(b,c){c=V(c,ga);for(var d,e=H(b,this,c,!a),f=0;(d=e.next())&&Z.test(d.character);)++f;e.dispose();var g=f>0;return g&&this[a?"moveStart":"moveEnd"]("character",a?f:-f,{characterOptions:c}),g})}function O(a){return L(function(b,c){var d=!1;return this.changeEachRange(function(b){d=b[a](c)||d}),d})}var P="undefined",Q="character",R="word",S=a.dom,T=a.util,U=T.extend,V=T.createOptions,W=S.getBody,X=/^[ \t\f\r\n]+$/,Y=/^[ \t\f\r]+$/,Z=/^[\t-\r \u0085\u00A0\u1680\u180E\u2000-\u200B\u2028\u2029\u202F\u205F\u3000]+$/,$=/^[\t \u00A0\u1680\u180E\u2000-\u200B\u202F\u205F\u3000]+$/,_="en",aa=a.Selection.isDirectionBackward,ba=!1,ca=!1,da=!1,ea=!0;!function(){var b=S.createTestElement(document,"<p>1 </p><p></p>",!0),c=b.firstChild,d=a.getSelection();d.collapse(c.lastChild,2),d.setStart(c.firstChild,0),ba=1==(""+d).length,b.innerHTML="1 <br />",d.collapse(b,2),d.setStart(b.firstChild,0),ca=1==(""+d).length,b.innerHTML="1 <p>1</p>",d.collapse(b,2),d.setStart(b.firstChild,0),da=1==(""+d).length,S.removeNode(b),d.removeAllRanges()}();var fa,ga={includeBlockContentTrailingSpace:!0,includeSpaceBeforeBr:!0,includeSpaceBeforeBlock:!0,includePreLineTrailingSpace:!0,ignoreCharacters:""},ha={includeBlockContentTrailingSpace:!ea,includeSpaceBeforeBr:!ca,includeSpaceBeforeBlock:!da,includePreLineTrailingSpace:!0},ia={en:{wordRegex:/[a-z0-9]+('[a-z0-9]+)*/gi,includeTrailingSpace:!1,tokenizer:c}},ja={caseSensitive:!1,withinRange:null,wholeWordsOnly:!1,wrap:!1,direction:"forward",wordOptions:null,characterOptions:null},ka={wordOptions:null,characterOptions:null},la={wordOptions:null,characterOptions:null,trim:!1,trimStart:!0,trimEnd:!0},ma={wordOptions:null,characterOptions:null,direction:"forward"},na=S.getComputedStyleProperty;!function(){var a=document.createElement("table"),b=W(document);b.appendChild(a),fa="block"==na(a,"display"),b.removeChild(a)}();var oa={table:"table",caption:"table-caption",colgroup:"table-column-group",col:"table-column",thead:"table-header-group",tbody:"table-row-group",tfoot:"table-footer-group",tr:"table-row",td:"table-cell",th:"table-cell"};w.prototype={get:function(a){return this.store.hasOwnProperty(a)?this.store[a]:null},set:function(a,b){return this.store[a]=b}};var pa=0,qa=0,ra={getPosition:function(a){var b=this.positions;return b.get(a)||b.set(a,new z(this,a))},toString:function(){return"[NodeWrapper("+S.inspectNode(this.node)+")]"}};y.prototype=ra;var sa="EMPTY",ta="NON_SPACE",ua="UNCOLLAPSIBLE_SPACE",va="COLLAPSIBLE_SPACE",wa="TRAILING_SPACE_BEFORE_BLOCK",xa="TRAILING_SPACE_IN_BLOCK",ya="TRAILING_SPACE_BEFORE_BR",za="PRE_LINE_TRAILING_SPACE_BEFORE_LINE_BREAK",Aa="TRAILING_LINE_BREAK_AFTER_BR",Ba="INCLUDED_TRAILING_LINE_BREAK_AFTER_BR";U(ra,{isCharacterDataNode:x("isCharacterDataNode",S.isCharacterDataNode,"node"),getNodeIndex:x("nodeIndex",S.getNodeIndex,"node"),getLength:x("nodeLength",S.getNodeLength,"node"),containsPositions:x("containsPositions",m,"node"),isWhitespace:x("isWhitespace",s,"node"),isCollapsedWhitespace:x("isCollapsedWhitespace",t,"node"),getComputedDisplay:x("computedDisplay",i,"node"),isCollapsed:x("collapsed",u,"node"),isIgnored:x("ignored",v,"node"),next:x("nextPos",q,"node"),previous:x("previous",r,"node"),getTextNodeInfo:x("textNodeInfo",function(a){var b=null,c=!1,d=na(a.parentNode,"whiteSpace"),e="pre-line"==d;return e?(b=Y,c=!0):("normal"==d||"nowrap"==d)&&(b=X,c=!0),{node:a,text:a.data,spaceRegex:b,collapseSpaces:c,preLine:e}},"node"),hasInnerText:x("hasInnerText",function(a,b){for(var c=this.session,d=c.getPosition(a.parentNode,this.getNodeIndex()+1),e=c.getPosition(a,0),f=b?d:e,g=b?e:d;f!==g;){if(f.prepopulateChar(),f.isDefinitelyNonEmpty())return!0;f=b?f.previousVisible():f.nextVisible()}return!1},"node"),isRenderedBlock:x("isRenderedBlock",function(a){for(var b=a.getElementsByTagName("br"),c=0,d=b.length;d>c;++c)if(!u(b[c]))return!0;return this.hasInnerText()},"node"),getTrailingSpace:x("trailingSpace",function(a){if("br"==a.tagName.toLowerCase())return"";switch(this.getComputedDisplay()){case"inline":for(var b=a.lastChild;b;){if(!v(b))return 1==b.nodeType?this.session.getNodeWrapper(b).getTrailingSpace():"";b=b.previousSibling}break;case"inline-block":case"inline-table":case"none":case"table-column":case"table-column-group":break;case"table-cell":return" ";default:return this.isRenderedBlock(!0)?"\n":""}return""},"node"),getLeadingSpace:x("leadingSpace",function(a){switch(this.getComputedDisplay()){case"inline":case"inline-block":case"inline-table":case"none":case"table-column":case"table-column-group":case"table-cell":break;default:return this.isRenderedBlock(!1)?"\n":""}return""},"node")});var Ca={character:"",characterType:sa,isBr:!1,prepopulateChar:function(){var a=this;if(!a.prepopulatedChar){var b=a.node,c=a.offset,d="",e=sa,f=!1;if(c>0)if(3==b.nodeType){var g=b.data,h=g.charAt(c-1),i=a.nodeWrapper.getTextNodeInfo(),j=i.spaceRegex;i.collapseSpaces?j.test(h)?c>1&&j.test(g.charAt(c-2))||(i.preLine&&"\n"===g.charAt(c)?(d=" ",e=za):(d=" ",e=va)):(d=h,e=ta,f=!0):(d=h,e=ua,f=!0)}else{var k=b.childNodes[c-1];if(k&&1==k.nodeType&&!u(k)&&("br"==k.tagName.toLowerCase()?(d="\n",a.isBr=!0,e=va,f=!1):a.checkForTrailingSpace=!0),!d){var l=b.childNodes[c];l&&1==l.nodeType&&!u(l)&&(a.checkForLeadingSpace=!0)}}a.prepopulatedChar=!0,a.character=d,a.characterType=e,a.isCharInvariant=f}},isDefinitelyNonEmpty:function(){var a=this.characterType;return a==ta||a==ua},resolveLeadingAndTrailingSpaces:function(){if(this.prepopulatedChar||this.prepopulateChar(),this.checkForTrailingSpace){var a=this.session.getNodeWrapper(this.node.childNodes[this.offset-1]).getTrailingSpace();a&&(this.isTrailingSpace=!0,this.character=a,this.characterType=va),this.checkForTrailingSpace=!1}if(this.checkForLeadingSpace){var b=this.session.getNodeWrapper(this.node.childNodes[this.offset]).getLeadingSpace();b&&(this.isLeadingSpace=!0,this.character=b,this.characterType=va),this.checkForLeadingSpace=!1}},getPrecedingUncollapsedPosition:function(a){for(var b,c=this;c=c.previousVisible();)if(b=c.getCharacter(a),""!==b)return c;return null},getCharacter:function(a){function b(){return n||(k=o.getPrecedingUncollapsedPosition(a),n=!0),k}this.resolveLeadingAndTrailingSpaces();var c,d=this.character,e=f(a.ignoreCharacters),g=""!==d&&e.indexOf(d)>-1;if(this.isCharInvariant)return c=g?"":d;var h=["character",a.includeSpaceBeforeBr,a.includeBlockContentTrailingSpace,a.includePreLineTrailingSpace,e].join("_"),i=this.cache.get(h);if(null!==i)return i;var j,k,l="",m=this.characterType==va,n=!1,o=this;return m&&(this.type==Ba?l="\n":" "==d&&(!b()||k.isTrailingSpace||"\n"==k.character||" "==k.character&&k.characterType==va)||("\n"==d&&this.isLeadingSpace?b()&&"\n"!=k.character&&(l="\n"):(j=this.nextUncollapsed(),j&&(j.isBr?this.type=ya:j.isTrailingSpace&&"\n"==j.character?this.type=xa:j.isLeadingSpace&&"\n"==j.character&&(this.type=wa),"\n"==j.character?(this.type!=ya||a.includeSpaceBeforeBr)&&(this.type!=wa||a.includeSpaceBeforeBlock)&&(this.type==xa&&j.isTrailingSpace&&!a.includeBlockContentTrailingSpace||(this.type!=za||j.type!=ta||a.includePreLineTrailingSpace)&&("\n"==d?j.isTrailingSpace?this.isTrailingSpace||this.isBr&&(j.type=Aa,b()&&k.isLeadingSpace&&!k.isTrailingSpace&&"\n"==k.character?j.character="":j.type=Ba):l="\n":" "==d&&(l=" "))):l=d)))),e.indexOf(l)>-1&&(l=""),this.cache.set(h,l),l},equals:function(a){return!!a&&this.node===a.node&&this.offset===a.offset},inspect:A,toString:function(){return this.character}};z.prototype=Ca,U(Ca,{next:x("nextPos",function(a){var b=a.nodeWrapper,c=a.node,d=a.offset,e=b.session;if(!c)return null;var f,g,h;return d==b.getLength()?(f=c.parentNode,g=f?b.getNodeIndex()+1:0):b.isCharacterDataNode()?(f=c,g=d+1):(h=c.childNodes[d],e.getNodeWrapper(h).containsPositions()?(f=h,g=0):(f=c,g=d+1)),f?e.getPosition(f,g):null}),previous:x("previous",function(a){var b,c,d,e=a.nodeWrapper,f=a.node,g=a.offset,h=e.session;return 0==g?(b=f.parentNode,c=b?e.getNodeIndex():0):e.isCharacterDataNode()?(b=f,c=g-1):(d=f.childNodes[g-1],h.getNodeWrapper(d).containsPositions()?(b=d,c=S.getNodeLength(d)):(b=f,c=g-1)),b?h.getPosition(b,c):null}),nextVisible:x("nextVisible",function(a){var b=a.next();if(!b)return null;var c=b.nodeWrapper,d=b.node,e=b;return c.isCollapsed()&&(e=c.session.getPosition(d.parentNode,c.getNodeIndex()+1)),e}),nextUncollapsed:x("nextUncollapsed",function(a){for(var b=a;b=b.nextVisible();)if(b.resolveLeadingAndTrailingSpaces(),""!==b.character)return b;return null}),previousVisible:x("previousVisible",function(a){var b=a.previous();if(!b)return null;var c=b.nodeWrapper,d=b.node,e=b;return c.isCollapsed()&&(e=c.session.getPosition(d.parentNode,c.getNodeIndex())),e})});var Da=null,Ea=function(){function a(a){var b=new w;return{get:function(c){var d=b.get(c[a]);if(d)for(var e,f=0;e=d[f++];)if(e.node===c)return e;return null},set:function(c){var d=c.node[a],e=b.get(d)||b.set(d,[]);e.push(c)}}}function b(){this.initCaches()}var c=T.isHostProperty(document.documentElement,"uniqueID");return b.prototype={initCaches:function(){this.elementCache=c?function(){var a=new w;return{get:function(b){return a.get(b.uniqueID)},set:function(b){a.set(b.node.uniqueID,b)}}}():a("tagName"),this.textNodeCache=a("data"),this.otherNodeCache=a("nodeName")},getNodeWrapper:function(a){var b;switch(a.nodeType){case 1:b=this.elementCache;break;case 3:b=this.textNodeCache;break;default:b=this.otherNodeCache}var c=b.get(a);return c||(c=new y(a,this),b.set(c)),c},getPosition:function(a,b){return this.getNodeWrapper(a).getPosition(b)},getRangeBoundaryPosition:function(a,b){var c=b?"start":"end";return this.getPosition(a[c+"Container"],a[c+"Offset"])},detach:function(){this.elementCache=this.textNodeCache=this.otherNodeCache=null}},b}();U(S,{nextNode:q,previousNode:r});var Fa=Array.prototype.indexOf?function(a,b){return a.indexOf(b)}:function(a,b){for(var c=0,d=a.length;d>c;++c)if(a[c]===b)return c;return-1};U(a.rangePrototype,{moveStart:M(!0,!1),moveEnd:M(!1,!1),move:M(!0,!0),trimStart:N(!0),trimEnd:N(!1),trim:L(function(a,b){var c=this.trimStart(b),d=this.trimEnd(b);return c||d}),expand:L(function(a,b,c){var d=!1;c=h(c,la);var e=c.characterOptions;if(b||(b=Q),b==R){var f,g,i=c.wordOptions,j=a.getRangeBoundaryPosition(this,!0),k=a.getRangeBoundaryPosition(this,!1),l=F(j,e,i),m=l.nextEndToken(),n=m.chars[0].previousVisible();if(this.collapsed)f=m;else{var o=F(k,e,i);f=o.previousStartToken()}return g=f.chars[f.chars.length-1],n.equals(j)||(this.setStart(n.node,n.offset),d=!0),g&&!g.equals(k)&&(this.setEnd(g.node,g.offset),d=!0),c.trim&&(c.trimStart&&(d=this.trimStart(e)||d),c.trimEnd&&(d=this.trimEnd(e)||d)),d}return this.moveEnd(Q,1,c)}),text:L(function(a,b){return this.collapsed?"":I(a,this,V(b,ga)).join("")}),selectCharacters:L(function(a,b,c,d,e){var f={characterOptions:e};b||(b=W(this.getDocument())),this.selectNodeContents(b),this.collapse(!0),this.moveStart("character",c,f),this.collapse(!0),this.moveEnd("character",d-c,f)}),toCharacterRange:L(function(a,b,c){b||(b=W(this.getDocument()));var d,e,f=b.parentNode,g=S.getNodeIndex(b),h=-1==S.comparePoints(this.startContainer,this.endContainer,f,g),i=this.cloneRange();return h?(i.setStartAndEnd(this.startContainer,this.startOffset,f,g),d=-i.text(c).length):(i.setStartAndEnd(f,g,this.startContainer,this.startOffset),d=i.text(c).length),e=d+this.text(c).length,{start:d,end:e}}),findText:L(function(b,c,d){d=h(d,ja),d.wholeWordsOnly&&(d.wordOptions.includeTrailingSpace=!1);var e=aa(d.direction),f=d.withinRange;f||(f=a.createRange(),f.selectNodeContents(this.getDocument()));var g=c,i=!1;"string"==typeof g?d.caseSensitive||(g=g.toLowerCase()):i=!0;var j=b.getRangeBoundaryPosition(this,!e),k=f.comparePoint(j.node,j.offset);-1===k?j=b.getRangeBoundaryPosition(f,!0):1===k&&(j=b.getRangeBoundaryPosition(f,!1));for(var l,m=j,n=!1;;)if(l=K(m,g,i,f,d)){if(l.valid)return this.setStartAndEnd(l.startPos.node,l.startPos.offset,l.endPos.node,l.endPos.offset),!0;m=e?l.startPos:l.endPos}else{if(!d.wrap||n)return!1;f=f.cloneRange(),m=b.getRangeBoundaryPosition(f,!e),f.setBoundary(j.node,j.offset,e),n=!0}}),pasteHtml:function(a){if(this.deleteContents(),a){var b=this.createContextualFragment(a),c=b.lastChild;this.insertNode(b),this.collapseAfter(c)}}}),U(a.selectionPrototype,{expand:L(function(a,b,c){this.changeEachRange(function(a){a.expand(b,c)})}),move:L(function(a,b,c,d){var e=0;if(this.focusNode){this.collapse(this.focusNode,this.focusOffset);var f=this.getRangeAt(0);d||(d={}),d.characterOptions=V(d.characterOptions,ha),e=f.move(b,c,d),this.setSingleRange(f)}return e}),trimStart:O("trimStart"),trimEnd:O("trimEnd"),trim:O("trim"),selectCharacters:L(function(b,c,d,e,f,g){var h=a.createRange(c);h.selectCharacters(c,d,e,g),this.setSingleRange(h,f)}),saveCharacterRanges:L(function(a,b,c){for(var d=this.getAllRanges(),e=d.length,f=[],g=1==e&&this.isBackward(),h=0,i=d.length;i>h;++h)f[h]={characterRange:d[h].toCharacterRange(b,c),backward:g,characterOptions:c};return f}),restoreCharacterRanges:L(function(b,c,d){this.removeAllRanges();for(var e,f,g,h=0,i=d.length;i>h;++h)f=d[h],g=f.characterRange,e=a.createRange(c),e.selectCharacters(c,g.start,g.end,f.characterOptions),this.addRange(e,f.backward)}),text:L(function(a,b){for(var c=[],d=0,e=this.rangeCount;e>d;++d)c[d]=this.getRangeAt(d).text(b);return c.join("")})}),a.innerText=function(b,c){var d=a.createRange(b);d.selectNodeContents(b);var e=d.text(c);return e},a.createWordIterator=function(a,b,c){var d=C();c=h(c,ma);var e=d.getPosition(a,b),f=F(e,c.characterOptions,c.wordOptions),g=aa(c.direction);return{next:function(){return g?f.previousStartToken():f.nextEndToken()},dispose:function(){f.dispose(),this.next=function(){}}}},a.noMutation=function(a){var b=C();a(b),D()},a.noMutation.createEntryPointFunction=L,a.textRange={isBlockNode:l,isCollapsedWhitespaceNode:t,createPosition:L(function(a,b,c){return a.getPosition(b,c)})}}),a},this),"undefined"!=typeof module&&"undefined"!=typeof exports&&module.exports===exports&&(module.exports="textAngular"),function(){"use strict";var a={ie:function(){for(var a,b=3,c=document.createElement("div"),d=c.getElementsByTagName("i");c.innerHTML="<!--[if gt IE "+ ++b+"]><i></i><![endif]-->",d[0];);return b>4?b:a}(),webkit:/AppleWebKit\/([\d.]+)/i.test(navigator.userAgent)},b=!1;a.webkit&&(document.addEventListener("mousedown",function(a){var c=a||window.event,d=c.target;if(b&&null!==d){for(var e=!1,f=d;null!==f&&"html"!==f.tagName.toLowerCase()&&!e;)e="true"===f.contentEditable,f=f.parentNode;e||(document.getElementById("textAngular-editableFix-010203040506070809").setSelectionRange(0,0),d.focus(),d.select&&d.select())}b=!1},!1),angular.element(document).ready(function(){angular.element(document.body).append(angular.element('<input id="textAngular-editableFix-010203040506070809" class="ta-hidden-input" aria-hidden="true" unselectable="on" tabIndex="-1">'))}));var c=/^(address|article|aside|audio|blockquote|canvas|dd|div|dl|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hgroup|hr|noscript|ol|output|p|pre|section|table|tfoot|ul|video)$/i,d=/^(ul|li|ol)$/i,e=/^(address|article|aside|audio|blockquote|canvas|dd|div|dl|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hgroup|hr|noscript|ol|output|p|pre|section|table|tfoot|ul|video|li)$/i;String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")});var f,g,h,i,j,k;if(a.ie>8||void 0===a.ie){for(var l=document.styleSheets,m=0;m<l.length;m++)if((0===l[m].media.length||l[m].media.mediaText.match(/(all|screen)/gi))&&l[m].href&&l[m].href.match(/textangular\.(min\.|)css/gi)){f=l[m];break}f||(f=function(){var b=document.createElement("style");return a.webkit&&b.appendChild(document.createTextNode("")),document.getElementsByTagName("head")[0].appendChild(b),b.sheet}()),g=function(a,b){return i(f,a,b)},i=function(a,b,c){var d,e;return a.cssRules?d=Math.max(a.cssRules.length-1,0):a.rules&&(d=Math.max(a.rules.length-1,0)),a.insertRule?a.insertRule(b+"{"+c+"}",d):a.addRule(b,c,d),f.rules?e=f.rules[d]:f.cssRules&&(e=f.cssRules[d]),e},k=function(a,b){var c,d;for(c=0;c<b.length;c++)if(b[c].cssText===a.cssText){d=c;break}return d},h=function(a){j(f,a)},j=function(a,b){var c=a.cssRules||a.rules;if(c&&0!==c.length){var d=k(b,c);a.removeRule?a.removeRule(d):a.deleteRule(d)}}}angular.module("textAngular.factories",[]).factory("taBrowserTag",[function(){return function(b){return b?""===b?void 0===a.ie?"div":a.ie<=8?"P":"p":a.ie<=8?b.toUpperCase():b:a.ie<=8?"P":"p"}}]).factory("taApplyCustomRenderers",["taCustomRenderers","taDOM",function(a,b){return function(c){var d=angular.element("<div></div>");return d[0].innerHTML=c,angular.forEach(a,function(a){var c=[];a.selector&&""!==a.selector?c=d.find(a.selector):a.customAttribute&&""!==a.customAttribute&&(c=b.getByAttribute(d,a.customAttribute)),angular.forEach(c,function(b){b=angular.element(b),a.selector&&""!==a.selector&&a.customAttribute&&""!==a.customAttribute?void 0!==b.attr(a.customAttribute)&&a.renderLogic(b):a.renderLogic(b)})}),d[0].innerHTML}}]).factory("taFixChrome",function(){var a=function(a){if(!a||!angular.isString(a)||a.length<=0)return a;for(var b,c,d,e=/<([^>\/]+?)style=("([^"]+)"|'([^']+)')([^>]*)>/gi,f="",g=0;b=e.exec(a);)c=b[3]||b[4],c&&c.match(/line-height: 1.[0-9]{3,12};|color: inherit; line-height: 1.1;/i)&&(c=c.replace(/( |)font-family: inherit;|( |)line-height: 1.[0-9]{3,12};|( |)color: inherit;/gi,""),d="<"+b[1].trim(),c.trim().length>0&&(d+=" style="+b[2].substring(0,1)+c+b[2].substring(0,1)),d+=b[5].trim()+">",f+=a.substring(g,b.index)+d,g=b.index+b[0].length);return f+=a.substring(g),g>0?f.replace(/<span\s?>(.*?)<\/span>(<br(\/|)>|)/gi,"$1"):a};return a}).factory("taSanitize",["$sanitize",function(a){function b(a,b){for(var c,d=0,e=0,f=/<[^>]*>/gi;c=f.exec(a);)if(e=c.index,"/"===c[0].substr(1,1)){if(0===d)break;d--}else d++;return b+a.substring(0,e)+angular.element(b)[0].outerHTML.substring(b.length)+a.substring(e)}function c(a){if(!a||!angular.isString(a)||a.length<=0)return a;for(var d,f,g,h,i,k,l=/<([^>\/]+?)style=("([^"]+)"|'([^']+)')([^>]*)>/gi,m="",n="",o=0;f=l.exec(a);){h=f[3]||f[4];var p=new RegExp(j,"i");if(angular.isString(h)&&p.test(h)){i="";for(var q=new RegExp(j,"ig");g=q.exec(h);)for(d=0;d<e.length;d++)g[2*d+2]&&(i+="<"+e[d].tag+">");k=c(a.substring(o,f.index)),n+=m.length>0?b(k,m):k,h=h.replace(new RegExp(j,"ig"),""),n+="<"+f[1].trim(),h.length>0&&(n+=' style="'+h+'"'),n+=f[5]+">",o=f.index+f[0].length,m=i}}return n+=m.length>0?b(a.substring(o),m):a.substring(o)}function d(a){if(!a||!angular.isString(a)||a.length<=0)return a;for(var b,c=/<([^>\/]+?)align=("([^"]+)"|'([^']+)')([^>]*)>/gi,d="",e=0;b=c.exec(a);){d+=a.substring(e,b.index),e=b.index+b[0].length;var f="<"+b[1]+b[5];/style=("([^"]+)"|'([^']+)')/gi.test(f)?f=f.replace(/style=("([^"]+)"|'([^']+)')/i,'style="$2$3 text-align:'+(b[3]||b[4])+';"'):f+=' style="text-align:'+(b[3]||b[4])+';"',f+=">",d+=f}return d+a.substring(e)}for(var e=[{property:"font-weight",values:["bold"],tag:"b"},{property:"font-style",values:["italic"],tag:"i"}],f=[],g=0;g<e.length;g++){for(var h="("+e[g].property+":\\s*(",i=0;i<e[g].values.length;i++)i>0&&(h+="|"),h+=e[g].values[i];h+=");)",f.push(h)}var j="("+f.join("|")+")";return function(b,e,f){if(!f)try{b=c(b)}catch(g){}b=d(b);var h;try{h=a(b),f&&(h=b)}catch(g){h=e||""}var i,j=h.match(/(<pre[^>]*>.*?<\/pre[^>]*>)/gi),k=h.replace(/(&#(9|10);)*/gi,""),l=/<pre[^>]*>.*?<\/pre[^>]*>/gi,m=0,n=0;for(h="";null!==(i=l.exec(k))&&m<j.length;)h+=k.substring(n,i.index)+j[m],n=i.index+i[0].length,m++;return h+k.substring(n)}}]).factory("taToolExecuteAction",["$q","$log",function(a,b){return function(c){void 0!==c&&(this.$editor=function(){return c});var d,e=a.defer(),f=e.promise,g=this.$editor();try{d=this.action(e,g.startAction()),f["finally"](function(){g.endAction.call(g)})}catch(h){b.error(h)}(d||void 0===d)&&e.resolve()}}]),angular.module("textAngular.DOM",["textAngular.factories"]).factory("taExecCommand",["taSelection","taBrowserTag","$document",function(a,b,e){var f=function(b,c){var d,e,f=b.find("li");for(e=f.length-1;e>=0;e--)d=angular.element("<"+c+">"+f[e].innerHTML+"</"+c+">"),b.after(d);
-b.remove(),a.setSelectionToElementEnd(d[0])},g=function(b){/(<br(|\/)>)$/i.test(b.innerHTML.trim())?a.setSelectionBeforeElement(angular.element(b).find("br")[0]):a.setSelectionToElementEnd(b)},h=function(a,b){var c=angular.element("<"+b+">"+a[0].innerHTML+"</"+b+">");a.after(c),a.remove(),g(c.find("li")[0])},i=function(a,c,d){for(var e="",f=0;f<a.length;f++)e+="<"+b("li")+">"+a[f].innerHTML+"</"+b("li")+">";var h=angular.element("<"+d+">"+e+"</"+d+">");c.after(h),c.remove(),g(h.find("li")[0])};return function(g,j){return g=b(g),function(k,l,m,n){var o,p,q,r,s,t,u,v=angular.element("<"+g+">");try{u=a.getSelectionElement()}catch(w){}var x=angular.element(u);if(void 0!==u){var y=u.tagName.toLowerCase();if("insertorderedlist"===k.toLowerCase()||"insertunorderedlist"===k.toLowerCase()){var z=b("insertorderedlist"===k.toLowerCase()?"ol":"ul");if(y===z)return f(x,g);if("li"===y&&x.parent()[0].tagName.toLowerCase()===z&&1===x.parent().children().length)return f(x.parent(),g);if("li"===y&&x.parent()[0].tagName.toLowerCase()!==z&&1===x.parent().children().length)return h(x.parent(),z);if(y.match(c)&&!x.hasClass("ta-bind")){if("ol"===y||"ul"===y)return h(x,z);var A=!1;return angular.forEach(x.children(),function(a){a.tagName.match(c)&&(A=!0)}),A?i(x.children(),x,z):i([angular.element("<div>"+u.innerHTML+"</div>")[0]],x,z)}if(y.match(c)){if(r=a.getOnlySelectedElements(),0===r.length)p=angular.element("<"+z+"><li>"+u.innerHTML+"</li></"+z+">"),x.html(""),x.append(p);else{if(1===r.length&&("ol"===r[0].tagName.toLowerCase()||"ul"===r[0].tagName.toLowerCase()))return r[0].tagName.toLowerCase()===z?f(angular.element(r[0]),g):h(angular.element(r[0]),z);q="";var B=[];for(o=0;o<r.length;o++)if(3!==r[o].nodeType){var C=angular.element(r[o]);if("li"===r[o].tagName.toLowerCase())continue;q+="ol"===r[o].tagName.toLowerCase()||"ul"===r[o].tagName.toLowerCase()?C[0].innerHTML:"span"!==r[o].tagName.toLowerCase()||"ol"!==r[o].childNodes[0].tagName.toLowerCase()&&"ul"!==r[o].childNodes[0].tagName.toLowerCase()?"<"+b("li")+">"+C[0].innerHTML+"</"+b("li")+">":C[0].childNodes[0].innerHTML,B.unshift(C)}p=angular.element("<"+z+">"+q+"</"+z+">"),B.pop().replaceWith(p),angular.forEach(B,function(a){a.remove()})}return void a.setSelectionToElementEnd(p[0])}}else{if("formatblock"===k.toLowerCase()){for(t=m.toLowerCase().replace(/[<>]/gi,""),"default"===t.trim()&&(t=g,m="<"+g+">"),p="li"===y?x.parent():x;!p[0].tagName||!p[0].tagName.match(c)&&!p.parent().attr("contenteditable");)p=p.parent(),y=(p[0].tagName||"").toLowerCase();if(y===t){r=p.children();var D=!1;for(o=0;o<r.length;o++)D=D||r[o].tagName.match(c);D?(p.after(r),s=p.next(),p.remove(),p=s):(v.append(p[0].childNodes),p.after(v),p.remove(),p=v)}else if(p.parent()[0].tagName.toLowerCase()!==t||p.parent().hasClass("ta-bind"))if(y.match(d))p.wrap(m);else{for(r=a.getOnlySelectedElements(),0===r.length&&(r=[p[0]]),o=0;o<r.length;o++)if(3===r[o].nodeType||!r[o].tagName.match(c))for(;3===r[o].nodeType||!r[o].tagName||!r[o].tagName.match(c);)r[o]=r[o].parentNode;if(angular.element(r[0]).hasClass("ta-bind"))p=angular.element(m),p[0].innerHTML=r[0].innerHTML,r[0].innerHTML=p[0].outerHTML;else if("blockquote"===t){for(q="",o=0;o<r.length;o++)q+=r[o].outerHTML;for(p=angular.element(m),p[0].innerHTML=q,r[0].parentNode.insertBefore(p[0],r[0]),o=r.length-1;o>=0;o--)r[o].parentNode&&r[o].parentNode.removeChild(r[o])}else for(o=0;o<r.length;o++)p=angular.element(m),p[0].innerHTML=r[o].innerHTML,r[o].parentNode.insertBefore(p[0],r[o]),r[o].parentNode.removeChild(r[o])}else{var E=p.parent(),F=E.contents();for(o=0;o<F.length;o++)E.parent().hasClass("ta-bind")&&3===F[o].nodeType&&(v=angular.element("<"+g+">"),v[0].innerHTML=F[o].outerHTML,F[o]=v[0]),E.parent()[0].insertBefore(F[o],E[0]);E.remove()}return void a.setSelectionToElementEnd(p[0])}if("createlink"===k.toLowerCase()){var G='<a href="'+m+'" target="'+(n.a.target?n.a.target:"")+'">',H="</a>",I=a.getSelection();if(I.collapsed)a.insertHtml(G+m+H,j);else if(rangy.getSelection().getRangeAt(0).canSurroundContents()){var J=angular.element(G+H)[0];rangy.getSelection().getRangeAt(0).surroundContents(J)}return}if("inserthtml"===k.toLowerCase())return void a.insertHtml(m,j)}}try{e[0].execCommand(k,l,m)}catch(w){}}}}]).service("taSelection",["$window","$document","taDOM",function(a,b,d){var f=b[0],g=a.rangy,h=function(a,b){return a.tagName&&a.tagName.match(/^br$/i)&&0===b&&!a.previousSibling?{element:a.parentNode,offset:0}:{element:a,offset:b}},i={getSelection:function(){var a=g.getSelection().getRangeAt(0),b=a.commonAncestorContainer,c={start:h(a.startContainer,a.startOffset),end:h(a.endContainer,a.endOffset),collapsed:a.collapsed};return b=3===b.nodeType?b.parentNode:b,b.parentNode===c.start.element||b.parentNode===c.end.element?c.container=b.parentNode:c.container=b,c},getOnlySelectedElements:function(){var a=g.getSelection().getRangeAt(0),b=a.commonAncestorContainer;return b=3===b.nodeType?b.parentNode:b,a.getNodes([1],function(a){return a.parentNode===b})},getSelectionElement:function(){return i.getSelection().container},setSelection:function(a,b,c){var d=g.createRange();d.setStart(a,b),d.setEnd(a,c),g.getSelection().setSingleRange(d)},setSelectionBeforeElement:function(a){var b=g.createRange();b.selectNode(a),b.collapse(!0),g.getSelection().setSingleRange(b)},setSelectionAfterElement:function(a){var b=g.createRange();b.selectNode(a),b.collapse(!1),g.getSelection().setSingleRange(b)},setSelectionToElementStart:function(a){var b=g.createRange();b.selectNodeContents(a),b.collapse(!0),g.getSelection().setSingleRange(b)},setSelectionToElementEnd:function(a){var b=g.createRange();b.selectNodeContents(a),b.collapse(!1),a.childNodes&&a.childNodes[a.childNodes.length-1]&&"br"===a.childNodes[a.childNodes.length-1].nodeName&&(b.startOffset=b.endOffset=b.startOffset-1),g.getSelection().setSingleRange(b)},insertHtml:function(a,b){var h,j,k,l,m,n,o,p=angular.element("<div>"+a+"</div>"),q=g.getSelection().getRangeAt(0),r=f.createDocumentFragment(),s=p[0].childNodes,t=!0;if(s.length>0){for(l=[],k=0;k<s.length;k++)"p"===s[k].nodeName.toLowerCase()&&""===s[k].innerHTML.trim()||3===s[k].nodeType&&""===s[k].nodeValue.trim()||(t=t&&!c.test(s[k].nodeName),l.push(s[k]));for(var u=0;u<l.length;u++)n=r.appendChild(l[u]);!t&&q.collapsed&&/^(|<br(|\/)>)$/i.test(q.startContainer.innerHTML)&&q.selectNode(q.startContainer)}else t=!0,n=r=f.createTextNode(a);if(t)q.deleteContents();else if(q.collapsed&&q.startContainer!==b)if(q.startContainer.innerHTML&&q.startContainer.innerHTML.match(/^<[^>]*>$/i))h=q.startContainer,1===q.startOffset?(q.setStartAfter(h),q.setEndAfter(h)):(q.setStartBefore(h),q.setEndBefore(h));else{if(3===q.startContainer.nodeType&&q.startContainer.parentNode!==b)for(h=q.startContainer.parentNode,j=h.cloneNode(),d.splitNodes(h.childNodes,h,j,q.startContainer,q.startOffset);!e.test(h.nodeName);){angular.element(h).after(j),h=h.parentNode;var v=j;j=h.cloneNode(),d.splitNodes(h.childNodes,h,j,v)}else h=q.startContainer,j=h.cloneNode(),d.splitNodes(h.childNodes,h,j,void 0,void 0,q.startOffset);if(angular.element(h).after(j),q.setStartAfter(h),q.setEndAfter(h),/^(|<br(|\/)>)$/i.test(h.innerHTML.trim())&&(q.setStartBefore(h),q.setEndBefore(h),angular.element(h).remove()),/^(|<br(|\/)>)$/i.test(j.innerHTML.trim())&&angular.element(j).remove(),"li"===h.nodeName.toLowerCase()){for(o=f.createDocumentFragment(),m=0;m<r.childNodes.length;m++)p=angular.element("<li>"),d.transferChildNodes(r.childNodes[m],p[0]),d.transferNodeAttributes(r.childNodes[m],p[0]),o.appendChild(p[0]);r=o,n&&(n=r.childNodes[r.childNodes.length-1],n=n.childNodes[n.childNodes.length-1])}}else q.deleteContents();q.insertNode(r),n&&i.setSelectionToElementEnd(n)}};return i}]).service("taDOM",function(){var a={getByAttribute:function(b,c){var d=[],e=b.children();return e.length&&angular.forEach(e,function(b){d=d.concat(a.getByAttribute(angular.element(b),c))}),void 0!==b.attr(c)&&d.push(b),d},transferChildNodes:function(a,b){for(b.innerHTML="";a.childNodes.length>0;)b.appendChild(a.childNodes[0]);return b},splitNodes:function(b,c,d,e,f,g){if(!e&&isNaN(g))throw new Error("taDOM.splitNodes requires a splitNode or splitIndex");for(var h=document.createDocumentFragment(),i=document.createDocumentFragment(),j=0;b.length>0&&(isNaN(g)||g!==j)&&b[0]!==e;)h.appendChild(b[0]),j++;for(!isNaN(f)&&f>=0&&b[0]&&(h.appendChild(document.createTextNode(b[0].nodeValue.substring(0,f))),b[0].nodeValue=b[0].nodeValue.substring(f));b.length>0;)i.appendChild(b[0]);a.transferChildNodes(h,c),a.transferChildNodes(i,d)},transferNodeAttributes:function(a,b){for(var c=0;c<a.attributes.length;c++)b.setAttribute(a.attributes[c].name,a.attributes[c].value);return b}};return a}),angular.module("textAngular.validators",[]).directive("taMaxText",function(){return{restrict:"A",require:"ngModel",link:function(a,b,c,d){var e=parseInt(a.$eval(c.taMaxText));if(isNaN(e))throw"Max text must be an integer";c.$observe("taMaxText",function(a){if(e=parseInt(a),isNaN(e))throw"Max text must be an integer";d.$dirty&&d.$validate()}),d.$validators.taMaxText=function(a){var b=angular.element("<div/>");return b.html(a),b.text().length<=e}}}}).directive("taMinText",function(){return{restrict:"A",require:"ngModel",link:function(a,b,c,d){var e=parseInt(a.$eval(c.taMinText));if(isNaN(e))throw"Min text must be an integer";c.$observe("taMinText",function(a){if(e=parseInt(a),isNaN(e))throw"Min text must be an integer";d.$dirty&&d.$validate()}),d.$validators.taMinText=function(a){var b=angular.element("<div/>");return b.html(a),!b.text().length||b.text().length>=e}}}}),angular.module("textAngular.taBind",["textAngular.factories","textAngular.DOM"]).service("_taBlankTest",[function(){var a=/<(a|abbr|acronym|bdi|bdo|big|cite|code|del|dfn|img|ins|kbd|label|map|mark|q|ruby|rp|rt|s|samp|time|tt|var)[^>]*(>|$)/i;return function(b){return function(c){if(!c)return!0;var d,e=/(^[^<]|>)[^<]/i.exec(c);return e?d=e.index:(c=c.toString().replace(/="[^"]*"/i,"").replace(/="[^"]*"/i,"").replace(/="[^"]*"/i,"").replace(/="[^"]*"/i,""),d=c.indexOf(">")),c=c.trim().substring(d,d+100),/^[^<>]+$/i.test(c)?!1:0===c.length||c===b||/^>(\s|&nbsp;)*<\/[^>]+>$/gi.test(c)?!0:/>\s*[^\s<]/i.test(c)||a.test(c)?!1:!0}}}]).directive("taButton",[function(){return{link:function(a,b,c){b.attr("unselectable","on"),b.on("mousedown",function(a,b){return b&&angular.extend(a,b),a.preventDefault(),!1})}}}]).directive("taBind",["taSanitize","$timeout","$window","$document","taFixChrome","taBrowserTag","taSelection","taSelectableElements","taApplyCustomRenderers","taOptions","_taBlankTest","$parse","taDOM","textAngularManager",function(d,f,i,j,k,l,m,o,p,q,r,s,t,u){return{priority:2,require:["ngModel","?ngModelOptions"],link:function(l,v,w,x){function y(a){var b;return R.forEach(function(c){if(c.keyCode===a.keyCode){var d=(a.metaKey?O:0)+(a.ctrlKey?N:0)+(a.shiftKey?Q:0)+(a.altKey?P:0);if(c.forbiddenModifiers&d)return;c.mustHaveModifiers.every(function(a){return d&a})&&(b=c.specialKey)}}),b}var z,A,B,C,D=x[0],E=x[1]||{},F=void 0!==v.attr("contenteditable")&&v.attr("contenteditable"),G=F||"textarea"===v[0].tagName.toLowerCase()||"input"===v[0].tagName.toLowerCase(),H=!1,I=!1,J=!1,K=w.taUnsafeSanitizer||q.disableSanitizer,L=/^(9|19|20|27|33|34|35|36|37|38|39|40|45|112|113|114|115|116|117|118|119|120|121|122|123|144|145)$/i,M=/^(8|13|32|46|59|61|107|109|173|186|187|188|189|190|191|192|219|220|221|222)$/i,N=1,O=2,P=4,Q=8,R=[{specialKey:"UndoKey",forbiddenModifiers:P+Q,mustHaveModifiers:[O+N],keyCode:90},{specialKey:"RedoKey",forbiddenModifiers:P,mustHaveModifiers:[O+N,Q],keyCode:90},{specialKey:"RedoKey",forbiddenModifiers:P+Q,mustHaveModifiers:[O+N],keyCode:89},{specialKey:"TabKey",forbiddenModifiers:O+Q+P+N,mustHaveModifiers:[],keyCode:9},{specialKey:"ShiftTabKey",forbiddenModifiers:O+P+N,mustHaveModifiers:[Q],keyCode:9}];void 0===w.taDefaultWrap&&(w.taDefaultWrap="p"),""===w.taDefaultWrap?(B="",C=void 0===a.ie?"<div><br></div>":a.ie>=11?"<p><br></p>":a.ie<=8?"<P>&nbsp;</P>":"<p>&nbsp;</p>"):(B=void 0===a.ie||a.ie>=11?"<"+w.taDefaultWrap+"><br></"+w.taDefaultWrap+">":a.ie<=8?"<"+w.taDefaultWrap.toUpperCase()+"></"+w.taDefaultWrap.toUpperCase()+">":"<"+w.taDefaultWrap+"></"+w.taDefaultWrap+">",C=void 0===a.ie||a.ie>=11?"<"+w.taDefaultWrap+"><br></"+w.taDefaultWrap+">":a.ie<=8?"<"+w.taDefaultWrap.toUpperCase()+">&nbsp;</"+w.taDefaultWrap.toUpperCase()+">":"<"+w.taDefaultWrap+">&nbsp;</"+w.taDefaultWrap+">"),E.$options||(E.$options={});var S=r(C),T=function(a){if(S(a))return a;var b=angular.element("<div>"+a+"</div>");if(0===b.children().length)a="<"+w.taDefaultWrap+">"+a+"</"+w.taDefaultWrap+">";else{var d,e=b[0].childNodes,f=!1;for(d=0;d<e.length&&!(f=e[d].nodeName.toLowerCase().match(c));d++);if(f)for(a="",d=0;d<e.length;d++){var g=e[d],h=g.nodeName.toLowerCase();if("#comment"===h)a+="<!--"+g.nodeValue+"-->";else if("#text"===h){var i=g.textContent;a+=i.trim()?"<"+w.taDefaultWrap+">"+i+"</"+w.taDefaultWrap+">":i}else if(h.match(c))a+=g.outerHTML;else{var j=g.outerHTML||g.nodeValue;a+=""!==j.trim()?"<"+w.taDefaultWrap+">"+j+"</"+w.taDefaultWrap+">":j}}else a="<"+w.taDefaultWrap+">"+a+"</"+w.taDefaultWrap+">"}return a};w.taPaste&&(A=s(w.taPaste)),v.addClass("ta-bind");var U;l["$undoManager"+(w.id||"")]=D.$undoManager={_stack:[],_index:0,_max:1e3,push:function(a){return"undefined"==typeof a||null===a||"undefined"!=typeof this.current()&&null!==this.current()&&a===this.current()?a:(this._index<this._stack.length-1&&(this._stack=this._stack.slice(0,this._index+1)),this._stack.push(a),U&&f.cancel(U),this._stack.length>this._max&&this._stack.shift(),this._index=this._stack.length-1,a)},undo:function(){return this.setToIndex(this._index-1)},redo:function(){return this.setToIndex(this._index+1)},setToIndex:function(a){return 0>a||a>this._stack.length-1?void 0:(this._index=a,this.current())},current:function(){return this._stack[this._index]}};var V,W=l["$undoTaBind"+(w.id||"")]=function(){if(!H&&F){var a=D.$undoManager.undo();"undefined"!=typeof a&&null!==a&&(ka(a),Z(a,!1),V&&f.cancel(V),V=f(function(){v[0].focus(),m.setSelectionToElementEnd(v[0])},1))}},X=l["$redoTaBind"+(w.id||"")]=function(){if(!H&&F){var a=D.$undoManager.redo();"undefined"!=typeof a&&null!==a&&(ka(a),Z(a,!1),V&&f.cancel(V),V=f(function(){v[0].focus(),m.setSelectionToElementEnd(v[0])},1))}},Y=function(){if(F)return v[0].innerHTML;if(G)return v.val();throw"textAngular Error: attempting to update non-editable taBind"},Z=function(a,b,c){J=c||!1,("undefined"==typeof b||null===b)&&(b=F),("undefined"==typeof a||null===a)&&(a=Y()),S(a)?(""!==D.$viewValue&&D.$setViewValue(""),b&&""!==D.$undoManager.current()&&D.$undoManager.push("")):(ja(),D.$viewValue!==a&&(D.$setViewValue(a),b&&D.$undoManager.push(a))),D.$render()};l["updateTaBind"+(w.id||"")]=function(){H||Z(void 0,void 0,!0)};var $=function(a){return D.$oldViewValue=d(k(a),D.$oldViewValue,K)};if(v.attr("required")&&(D.$validators.required=function(a,b){return!S(a||b)}),D.$parsers.push($),D.$parsers.unshift(T),D.$formatters.push($),D.$formatters.unshift(T),D.$formatters.unshift(function(a){return D.$undoManager.push(a||"")}),G)if(l.events={},F){var _=!1,aa=function(a){if(a&&a.trim().length){if(a.match(/class=["']*Mso(Normal|List)/i)){var b=a.match(/<!--StartFragment-->([\s\S]*?)<!--EndFragment-->/i);b=b?b[1]:a,b=b.replace(/<o:p>[\s\S]*?<\/o:p>/gi,"").replace(/class=(["']|)MsoNormal(["']|)/gi,"");var c=angular.element("<div>"+b+"</div>"),e=angular.element("<div></div>"),g={element:null,lastIndent:[],lastLi:null,isUl:!1};g.lastIndent.peek=function(){var a=this.length;return a>0?this[a-1]:void 0};for(var h=function(a){g.isUl=a,g.element=angular.element(a?"<ul>":"<ol>"),g.lastIndent=[],g.lastIndent.peek=function(){var a=this.length;return a>0?this[a-1]:void 0},g.lastLevelMatch=null},i=0;i<=c[0].childNodes.length;i++)if(c[0].childNodes[i]&&"#text"!==c[0].childNodes[i].nodeName&&"p"===c[0].childNodes[i].tagName.toLowerCase()){var j=angular.element(c[0].childNodes[i]),k=(j.attr("class")||"").match(/MsoList(Bullet|Number|Paragraph)(CxSp(First|Middle|Last)|)/i);if(k){if(j[0].childNodes.length<2||j[0].childNodes[1].childNodes.length<1)continue;var n="bullet"===k[1].toLowerCase()||"number"!==k[1].toLowerCase()&&!(/^[^0-9a-z<]*[0-9a-z]+[^0-9a-z<>]</i.test(j[0].childNodes[1].innerHTML)||/^[^0-9a-z<]*[0-9a-z]+[^0-9a-z<>]</i.test(j[0].childNodes[1].childNodes[0].innerHTML)),o=(j.attr("style")||"").match(/margin-left:([\-\.0-9]*)/i),p=parseFloat(o?o[1]:0),q=(j.attr("style")||"").match(/mso-list:l([0-9]+) level([0-9]+) lfo[0-9+]($|;)/i);if(q&&q[2]&&(p=parseInt(q[2])),q&&(!g.lastLevelMatch||q[1]!==g.lastLevelMatch[1])||!k[3]||"first"===k[3].toLowerCase()||null===g.lastIndent.peek()||g.isUl!==n&&g.lastIndent.peek()===p)h(n),e.append(g.element);else if(null!=g.lastIndent.peek()&&g.lastIndent.peek()<p)g.element=angular.element(n?"<ul>":"<ol>"),g.lastLi.append(g.element);else if(null!=g.lastIndent.peek()&&g.lastIndent.peek()>p){for(;null!=g.lastIndent.peek()&&g.lastIndent.peek()>p;)if("li"!==g.element.parent()[0].tagName.toLowerCase()){if(!/[uo]l/i.test(g.element.parent()[0].tagName.toLowerCase()))break;g.element=g.element.parent(),g.lastIndent.pop()}else g.element=g.element.parent();g.isUl="ul"===g.element[0].tagName.toLowerCase(),n!==g.isUl&&(h(n),e.append(g.element))}g.lastLevelMatch=q,p!==g.lastIndent.peek()&&g.lastIndent.push(p),g.lastLi=angular.element("<li>"),g.element.append(g.lastLi),g.lastLi.html(j.html().replace(/<!(--|)\[if !supportLists\](--|)>[\s\S]*?<!(--|)\[endif\](--|)>/gi,"")),j.remove()}else h(!1),e.append(j)}var r=function(a){a=angular.element(a);for(var b=a[0].childNodes.length-1;b>=0;b--)a.after(a[0].childNodes[b]);a.remove()};angular.forEach(e.find("span"),function(a){a.removeAttribute("lang"),a.attributes.length<=0&&r(a)}),angular.forEach(e.find("font"),r),a=e.html()}else{if(a=a.replace(/<(|\/)meta[^>]*?>/gi,""),a.match(/<[^>]*?(ta-bind)[^>]*?>/)){if(a.match(/<[^>]*?(text-angular)[^>]*?>/)){var s=angular.element("<div>"+a+"</div>");s.find("textarea").remove();for(var u=t.getByAttribute(s,"ta-bind"),w=0;w<u.length;w++){for(var x=u[w][0].parentNode.parentNode,y=0;y<u[w][0].childNodes.length;y++)x.parentNode.insertBefore(u[w][0].childNodes[y],x);x.parentNode.removeChild(x)}a=s.html().replace('<br class="Apple-interchange-newline">',"")}}else a.match(/^<span/)&&(a.match(/<span class=(\"Apple-converted-space\"|\'Apple-converted-space\')>.<\/span>/gi)||(a=a.replace(/<(|\/)span[^>]*?>/gi,"")));a=a.replace(/<br class="Apple-interchange-newline"[^>]*?>/gi,"").replace(/<span class="Apple-converted-space">( |&nbsp;)<\/span>/gi,"&nbsp;")}/<li(\s.*)?>/i.test(a)&&/(<ul(\s.*)?>|<ol(\s.*)?>).*<li(\s.*)?>/i.test(a)===!1&&(a=a.replace(/<li(\s.*)?>.*<\/li(\s.*)?>/i,"<ul>$&</ul>")),a=a.replace(/^[ |\u00A0]+/gm,function(a){for(var b="",c=0;c<a.length;c++)b+="&nbsp;";return b}).replace(/\n|\r\n|\r/g,"<br />").replace(/\t/g,"&nbsp;&nbsp;&nbsp;&nbsp;"),A&&(a=A(l,{$html:a})||a),a=d(a,"",K),m.insertHtml(a,v[0]),f(function(){D.$setViewValue(Y()),_=!1,v.removeClass("processing-paste")},0)}else _=!1,v.removeClass("processing-paste")};v.on("paste",l.events.paste=function(a,b){if(b&&angular.extend(a,b),H||_)return a.stopPropagation(),a.preventDefault(),!1;_=!0,v.addClass("processing-paste");var c,d=(a.originalEvent||a).clipboardData;if(d&&d.getData&&d.types.length>0){for(var e="",g=0;g<d.types.length;g++)e+=" "+d.types[g];return/text\/html/i.test(e)?c=d.getData("text/html"):/text\/plain/i.test(e)&&(c=d.getData("text/plain")),aa(c),a.stopPropagation(),a.preventDefault(),!1}var h=i.rangy.saveSelection(),k=angular.element('<div class="ta-hidden-input" contenteditable="true"></div>');j.find("body").append(k),k[0].focus(),f(function(){i.rangy.restoreSelection(h),aa(k[0].innerHTML),v[0].focus(),k.remove()},0)}),v.on("cut",l.events.cut=function(a){H?a.preventDefault():f(function(){D.$setViewValue(Y())},0)}),v.on("keydown",l.events.keydown=function(a,b){b&&angular.extend(a,b),a.specialKey=y(a);var c;if(q.keyMappings.forEach(function(b){a.specialKey===b.commandKeyCode&&(a.specialKey=void 0),b.testForKey(a)&&(c=b.commandKeyCode),("UndoKey"===b.commandKeyCode||"RedoKey"===b.commandKeyCode)&&(b.enablePropagation||a.preventDefault())}),"undefined"!=typeof c&&(a.specialKey=c),"undefined"==typeof a.specialKey||"UndoKey"===a.specialKey&&"RedoKey"===a.specialKey||(a.preventDefault(),u.sendKeyCommand(l,a)),!H&&("UndoKey"===a.specialKey&&(W(),a.preventDefault()),"RedoKey"===a.specialKey&&(X(),a.preventDefault()),13===a.keyCode&&!a.shiftKey)){var d,f=m.getSelectionElement();if(!f.tagName.match(e))return;var g=angular.element(B);if(/^<br(|\/)>$/i.test(f.innerHTML.trim())&&"blockquote"===f.parentNode.tagName.toLowerCase()&&!f.nextSibling){d=angular.element(f);var h=d.parent();h.after(g),d.remove(),0===h.children().length&&h.remove(),m.setSelectionToElementStart(g[0]),a.preventDefault()}else/^<[^>]+><br(|\/)><\/[^>]+>$/i.test(f.innerHTML.trim())&&"blockquote"===f.tagName.toLowerCase()&&(d=angular.element(f),d.after(g),d.remove(),m.setSelectionToElementStart(g[0]),a.preventDefault())}});var ba;if(v.on("keyup",l.events.keyup=function(a,b){if(b&&angular.extend(a,b),9===a.keyCode){var c=m.getSelection();return void(c.start.element===v[0]&&v.children().length&&m.setSelectionToElementStart(v.children()[0]))}if(U&&f.cancel(U),!H&&!L.test(a.keyCode)){if(""!==B&&13===a.keyCode&&!a.shiftKey){for(var d=m.getSelectionElement();!d.tagName.match(e)&&d!==v[0];)d=d.parentNode;if(d.tagName.toLowerCase()!==w.taDefaultWrap&&"li"!==d.tagName.toLowerCase()&&(""===d.innerHTML.trim()||"<br>"===d.innerHTML.trim())){var g=angular.element(B);angular.element(d).replaceWith(g),m.setSelectionToElementStart(g[0])}}var h=Y();""!==B&&""===h.trim()?(ka(B),m.setSelectionToElementStart(v.children()[0])):"<"!==h.substring(0,1)&&""!==w.taDefaultWrap;var i=z!==a.keyCode&&M.test(a.keyCode);ba&&f.cancel(ba),ba=f(function(){Z(h,i,!0)},E.$options.debounce||400),i||(U=f(function(){D.$undoManager.push(h)},250)),z=a.keyCode}}),v.on("blur",l.events.blur=function(){I=!1,H?(J=!0,D.$render()):Z(void 0,void 0,!0)}),w.placeholder&&(a.ie>8||void 0===a.ie)){var ca;if(!w.id)throw"textAngular Error: An unique ID is required for placeholders to work";ca=g("#"+w.id+".placeholder-text:before",'content: "'+w.placeholder+'"'),l.$on("$destroy",function(){h(ca)})}v.on("focus",l.events.focus=function(){I=!0,v.removeClass("placeholder-text"),ja()}),v.on("mouseup",l.events.mouseup=function(){var a=m.getSelection();a.start.element===v[0]&&v.children().length&&m.setSelectionToElementStart(v.children()[0])}),v.on("mousedown",l.events.mousedown=function(a,b){b&&angular.extend(a,b),a.stopPropagation()})}else{v.on("change blur",l.events.change=l.events.blur=function(){H||D.$setViewValue(Y())}),v.on("keydown",l.events.keydown=function(a,b){if(b&&angular.extend(a,b),9===a.keyCode){var c=this.selectionStart,d=this.selectionEnd,e=v.val();if(a.shiftKey){var f=e.lastIndexOf("\n",c),g=e.lastIndexOf("  ",c);-1!==g&&g>=f&&(v.val(e.substring(0,g)+e.substring(g+1)),this.selectionStart=this.selectionEnd=c-1)}else v.val(e.substring(0,c)+"   "+e.substring(d)),this.selectionStart=this.selectionEnd=c+1;a.preventDefault()}});var da=function(a,b){for(var c="",d=0;b>d;d++)c+=a;return c},ea=function(a,b,c){for(var d=0;d<a.length;d++)b.call(c,d,a[d])},fa=function(a,b){var c="",d=a.childNodes;return b++,c+=da("      ",b-1)+a.outerHTML.substring(0,4),ea(d,function(a,d){var e=d.nodeName.toLowerCase();return"#comment"===e?void(c+="<!--"+d.nodeValue+"-->"):"#text"===e?void(c+=d.textContent):void(d.outerHTML&&(c+="ul"===e||"ol"===e?"\n"+fa(d,b):"\n"+da("   ",b)+d.outerHTML))}),c+="\n"+da("       ",b-1)+a.outerHTML.substring(a.outerHTML.lastIndexOf("<"))};D.$formatters.unshift(function(a){var b=angular.element("<div>"+a+"</div>")[0].childNodes;return b.length>0&&(a="",ea(b,function(b,c){var d=c.nodeName.toLowerCase();return"#comment"===d?void(a+="<!--"+c.nodeValue+"-->"):"#text"===d?void(a+=c.textContent):void(c.outerHTML&&(a.length>0&&(a+="\n"),a+="ul"===d||"ol"===d?""+fa(c,0):""+c.outerHTML))})),a})}var ga,ha=function(a){return l.$emit("ta-element-select",this),a.preventDefault(),!1},ia=function(a,b){if(b&&angular.extend(a,b),!n&&!H){n=!0;var c;c=a.originalEvent?a.originalEvent.dataTransfer:a.dataTransfer,l.$emit("ta-drop-event",this,a,c),f(function(){n=!1,Z(void 0,void 0,!0)},100)}},ja=l["reApplyOnSelectorHandlers"+(w.id||"")]=function(){H||angular.forEach(o,function(a){v.find(a).off("click",ha).on("click",ha)})},ka=function(a){v[0].innerHTML=a},la=!1;D.$render=function(){if(!la){la=!0;var a=D.$viewValue||"";J||(F&&I&&(v.removeClass("placeholder-text"),ga&&f.cancel(ga),ga=f(function(){I||(v[0].focus(),m.setSelectionToElementEnd(v.children()[v.children().length-1])),ga=void 0},1)),F?(ka(w.placeholder?""===a?B:a:""===a?B:a),H?v.off("drop",ia):(ja(),v.on("drop",ia))):"textarea"!==v[0].tagName.toLowerCase()&&"input"!==v[0].tagName.toLowerCase()?ka(p(a)):v.val(a)),F&&w.placeholder&&(""===a?I?v.removeClass("placeholder-text"):v.addClass("placeholder-text"):v.removeClass("placeholder-text")),la=J=!1}},w.taReadonly&&(H=l.$eval(w.taReadonly),H?(v.addClass("ta-readonly"),("textarea"===v[0].tagName.toLowerCase()||"input"===v[0].tagName.toLowerCase())&&v.attr("disabled","disabled"),void 0!==v.attr("contenteditable")&&v.attr("contenteditable")&&v.removeAttr("contenteditable")):(v.removeClass("ta-readonly"),"textarea"===v[0].tagName.toLowerCase()||"input"===v[0].tagName.toLowerCase()?v.removeAttr("disabled"):F&&v.attr("contenteditable","true")),l.$watch(w.taReadonly,function(a,b){b!==a&&(a?(v.addClass("ta-readonly"),("textarea"===v[0].tagName.toLowerCase()||"input"===v[0].tagName.toLowerCase())&&v.attr("disabled","disabled"),void 0!==v.attr("contenteditable")&&v.attr("contenteditable")&&v.removeAttr("contenteditable"),angular.forEach(o,function(a){v.find(a).on("click",ha)}),v.off("drop",ia)):(v.removeClass("ta-readonly"),"textarea"===v[0].tagName.toLowerCase()||"input"===v[0].tagName.toLowerCase()?v.removeAttr("disabled"):F&&v.attr("contenteditable","true"),angular.forEach(o,function(a){v.find(a).off("click",ha)}),v.on("drop",ia)),H=a)})),F&&!H&&(angular.forEach(o,function(a){v.find(a).on("click",ha)}),v.on("drop",ia),v.on("blur",function(){a.webkit&&(b=!0)}))}}}]);var n=!1,o=angular.module("textAngular",["ngSanitize","textAngularSetup","textAngular.factories","textAngular.DOM","textAngular.validators","textAngular.taBind"]);o.config([function(){angular.forEach(taTools,function(a,b){delete taTools[b]})}]),o.run([function(){if("function"==typeof define&&define.amd)define(function(a){window.rangy=a("rangy"),window.rangy.saveSelection=a("rangy/lib/rangy-selectionsaverestore")});else if("function"==typeof require&&"undefined"!=typeof module&&"object"==typeof exports)window.rangy=require("rangy"),window.rangy.saveSelection=require("rangy/lib/rangy-selectionsaverestore");else{if(!window.rangy)throw"rangy-core.js and rangy-selectionsaverestore.js are required for textAngular to work correctly, rangy-core is not yet loaded.";if(window.rangy.init(),!window.rangy.saveSelection)throw"rangy-selectionsaverestore.js is required for textAngular to work correctly."}}]),o.directive("textAngular",["$compile","$timeout","taOptions","taSelection","taExecCommand","textAngularManager","$window","$document","$animate","$log","$q","$parse",function(a,b,c,d,e,f,g,h,i,j,k,l){return{require:"?ngModel",scope:{},restrict:"EA",priority:2,link:function(m,n,o,p){var q,r,s,t,u,v,w,x,y,z,A,B=o.serial?o.serial:Math.floor(1e16*Math.random());m._name=o.name?o.name:"textAngularEditor"+B;var C=function(a,c,d){b(function(){var b=function(){a.off(c,b),d.apply(this,arguments)};a.on(c,b)},100)};if(y=e(o.taDefaultWrap),angular.extend(m,angular.copy(c),{wrapSelection:function(a,b,c){"undo"===a.toLowerCase()?m["$undoTaBindtaTextElement"+B]():"redo"===a.toLowerCase()?m["$redoTaBindtaTextElement"+B]():(y(a,!1,b,m.defaultTagAttributes),c&&m["reApplyOnSelectorHandlerstaTextElement"+B](),m.displayElements.text[0].focus())},showHtml:m.$eval(o.taShowHtml)||!1}),o.taFocussedClass&&(m.classes.focussed=o.taFocussedClass),o.taTextEditorClass&&(m.classes.textEditor=o.taTextEditorClass),o.taHtmlEditorClass&&(m.classes.htmlEditor=o.taHtmlEditorClass),o.taDefaultTagAttributes)try{angular.extend(m.defaultTagAttributes,angular.fromJson(o.taDefaultTagAttributes))}catch(D){j.error(D)}o.taTextEditorSetup&&(m.setup.textEditorSetup=m.$parent.$eval(o.taTextEditorSetup)),o.taHtmlEditorSetup&&(m.setup.htmlEditorSetup=m.$parent.$eval(o.taHtmlEditorSetup)),o.taFileDrop?m.fileDropHandler=m.$parent.$eval(o.taFileDrop):m.fileDropHandler=m.defaultFileDropHandler,w=n[0].innerHTML,n[0].innerHTML="",m.displayElements={forminput:angular.element("<input type='hidden' tabindex='-1' style='display: none;'>"),html:angular.element("<textarea></textarea>"),text:angular.element("<div></div>"),scrollWindow:angular.element("<div class='ta-scroll-window'></div>"),popover:angular.element('<div class="popover fade bottom" style="max-width: none; width: 305px;"></div>'),popoverArrow:angular.element('<div class="arrow"></div>'),popoverContainer:angular.element('<div class="popover-content"></div>'),resize:{overlay:angular.element('<div class="ta-resizer-handle-overlay"></div>'),background:angular.element('<div class="ta-resizer-handle-background"></div>'),anchors:[angular.element('<div class="ta-resizer-handle-corner ta-resizer-handle-corner-tl"></div>'),angular.element('<div class="ta-resizer-handle-corner ta-resizer-handle-corner-tr"></div>'),angular.element('<div class="ta-resizer-handle-corner ta-resizer-handle-corner-bl"></div>'),angular.element('<div class="ta-resizer-handle-corner ta-resizer-handle-corner-br"></div>')],info:angular.element('<div class="ta-resizer-handle-info"></div>')}},m.displayElements.popover.append(m.displayElements.popoverArrow),m.displayElements.popover.append(m.displayElements.popoverContainer),m.displayElements.scrollWindow.append(m.displayElements.popover),m.displayElements.popover.on("mousedown",function(a,b){return b&&angular.extend(a,b),a.preventDefault(),!1}),m.showPopover=function(a){m.displayElements.popover.css("display","block"),m.reflowPopover(a),i.addClass(m.displayElements.popover,"in"),C(h.find("body"),"click keyup",function(){m.hidePopover()})},m.reflowPopover=function(a){m.displayElements.text[0].offsetHeight-51>a[0].offsetTop?(m.displayElements.popover.css("top",a[0].offsetTop+a[0].offsetHeight+m.displayElements.scrollWindow[0].scrollTop+"px"),m.displayElements.popover.removeClass("top").addClass("bottom")):(m.displayElements.popover.css("top",a[0].offsetTop-54+m.displayElements.scrollWindow[0].scrollTop+"px"),m.displayElements.popover.removeClass("bottom").addClass("top"));var b=m.displayElements.text[0].offsetWidth-m.displayElements.popover[0].offsetWidth,c=a[0].offsetLeft+a[0].offsetWidth/2-m.displayElements.popover[0].offsetWidth/2;m.displayElements.popover.css("left",Math.max(0,Math.min(b,c))+"px"),m.displayElements.popoverArrow.css("margin-left",Math.min(c,Math.max(0,c-b))-11+"px")},m.hidePopover=function(){m.displayElements.popover.css("display",""),m.displayElements.popoverContainer.attr("style",""),m.displayElements.popoverContainer.attr("class","popover-content"),m.displayElements.popover.removeClass("in")},m.displayElements.resize.overlay.append(m.displayElements.resize.background),angular.forEach(m.displayElements.resize.anchors,function(a){m.displayElements.resize.overlay.append(a)}),m.displayElements.resize.overlay.append(m.displayElements.resize.info),m.displayElements.scrollWindow.append(m.displayElements.resize.overlay),m.reflowResizeOverlay=function(a){a=angular.element(a)[0],m.displayElements.resize.overlay.css({display:"block",left:a.offsetLeft-5+"px",top:a.offsetTop-5+"px",width:a.offsetWidth+10+"px",height:a.offsetHeight+10+"px"}),m.displayElements.resize.info.text(a.offsetWidth+" x "+a.offsetHeight)},m.showResizeOverlay=function(a){var b=h.find("body");z=function(c){var d={width:parseInt(a.attr("width")),height:parseInt(a.attr("height")),x:c.clientX,y:c.clientY};(void 0===d.width||isNaN(d.width))&&(d.width=a[0].offsetWidth),
-(void 0===d.height||isNaN(d.height))&&(d.height=a[0].offsetHeight),m.hidePopover();var e=d.height/d.width,f=function(b){function c(a){return Math.round(Math.max(0,a))}var f={x:Math.max(0,d.width+(b.clientX-d.x)),y:Math.max(0,d.height+(b.clientY-d.y))},g=void 0!==o.taResizeForceAspectRatio,h=o.taResizeMaintainAspectRatio,i=g||h&&!b.shiftKey;if(i){var j=f.y/f.x;f.x=e>j?f.x:f.y/e,f.y=e>j?f.x*e:f.y}var k=angular.element(a);k.css("height",c(f.y)+"px"),k.css("width",c(f.x)+"px"),m.reflowResizeOverlay(a)};b.on("mousemove",f),C(b,"mouseup",function(c){c.preventDefault(),c.stopPropagation(),b.off("mousemove",f),m.showPopover(a)}),c.stopPropagation(),c.preventDefault()},m.displayElements.resize.anchors[3].off("mousedown"),m.displayElements.resize.anchors[3].on("mousedown",z),m.reflowResizeOverlay(a),C(b,"click",function(){m.hideResizeOverlay()})},m.hideResizeOverlay=function(){m.displayElements.resize.anchors[3].off("mousedown",z),m.displayElements.resize.overlay.css("display","")},m.setup.htmlEditorSetup(m.displayElements.html),m.setup.textEditorSetup(m.displayElements.text),m.displayElements.html.attr({id:"taHtmlElement"+B,"ng-show":"showHtml","ta-bind":"ta-bind","ng-model":"html","ng-model-options":n.attr("ng-model-options")}),m.displayElements.text.attr({id:"taTextElement"+B,contentEditable:"true","ta-bind":"ta-bind","ng-model":"html","ng-model-options":n.attr("ng-model-options")}),m.displayElements.scrollWindow.attr({"ng-hide":"showHtml"}),o.taDefaultWrap&&m.displayElements.text.attr("ta-default-wrap",o.taDefaultWrap),o.taUnsafeSanitizer&&(m.displayElements.text.attr("ta-unsafe-sanitizer",o.taUnsafeSanitizer),m.displayElements.html.attr("ta-unsafe-sanitizer",o.taUnsafeSanitizer)),m.displayElements.scrollWindow.append(m.displayElements.text),n.append(m.displayElements.scrollWindow),n.append(m.displayElements.html),m.displayElements.forminput.attr("name",m._name),n.append(m.displayElements.forminput),o.tabindex&&(n.removeAttr("tabindex"),m.displayElements.text.attr("tabindex",o.tabindex),m.displayElements.html.attr("tabindex",o.tabindex)),o.placeholder&&(m.displayElements.text.attr("placeholder",o.placeholder),m.displayElements.html.attr("placeholder",o.placeholder)),o.taDisabled&&(m.displayElements.text.attr("ta-readonly","disabled"),m.displayElements.html.attr("ta-readonly","disabled"),m.disabled=m.$parent.$eval(o.taDisabled),m.$parent.$watch(o.taDisabled,function(a){m.disabled=a,m.disabled?n.addClass(m.classes.disabled):n.removeClass(m.classes.disabled)})),o.taPaste&&(m._pasteHandler=function(a){return l(o.taPaste)(m.$parent,{$html:a})},m.displayElements.text.attr("ta-paste","_pasteHandler($html)")),a(m.displayElements.scrollWindow)(m),a(m.displayElements.html)(m),m.updateTaBindtaTextElement=m["updateTaBindtaTextElement"+B],m.updateTaBindtaHtmlElement=m["updateTaBindtaHtmlElement"+B],n.addClass("ta-root"),m.displayElements.scrollWindow.addClass("ta-text ta-editor "+m.classes.textEditor),m.displayElements.html.addClass("ta-html ta-editor "+m.classes.htmlEditor),m._actionRunning=!1;var E=!1;if(m.startAction=function(){return m._actionRunning=!0,E=g.rangy.saveSelection(),function(){E&&g.rangy.restoreSelection(E)}},m.endAction=function(){m._actionRunning=!1,E&&(m.showHtml?m.displayElements.html[0].focus():m.displayElements.text[0].focus(),g.rangy.removeMarkers(E)),E=!1,m.updateSelectedStyles(),m.showHtml||m["updateTaBindtaTextElement"+B]()},u=function(){m.focussed=!0,n.addClass(m.classes.focussed),x.focus(),n.triggerHandler("focus")},m.displayElements.html.on("focus",u),m.displayElements.text.on("focus",u),v=function(a){return m._actionRunning||h[0].activeElement===m.displayElements.html[0]||h[0].activeElement===m.displayElements.text[0]||(n.removeClass(m.classes.focussed),x.unfocus(),b(function(){m._bUpdateSelectedStyles=!1,n.triggerHandler("blur"),m.focussed=!1},0)),a.preventDefault(),!1},m.displayElements.html.on("blur",v),m.displayElements.text.on("blur",v),m.displayElements.text.on("paste",function(a){n.triggerHandler("paste",a)}),m.queryFormatBlockState=function(a){return!m.showHtml&&a.toLowerCase()===h[0].queryCommandValue("formatBlock").toLowerCase()},m.queryCommandState=function(a){return m.showHtml?"":h[0].queryCommandState(a)},m.switchView=function(){m.showHtml=!m.showHtml,i.enabled(!1,m.displayElements.html),i.enabled(!1,m.displayElements.text),m.showHtml?b(function(){return i.enabled(!0,m.displayElements.html),i.enabled(!0,m.displayElements.text),m.displayElements.html[0].focus()},100):b(function(){return i.enabled(!0,m.displayElements.html),i.enabled(!0,m.displayElements.text),m.displayElements.text[0].focus()},100)},o.ngModel){var F=!0;p.$render=function(){if(F){F=!1;var a=m.$parent.$eval(o.ngModel);void 0!==a&&null!==a||!w||""===w||p.$setViewValue(w)}m.displayElements.forminput.val(p.$viewValue),m.html=p.$viewValue||""},n.attr("required")&&(p.$validators.required=function(a,b){var c=a||b;return!(!c||""===c.trim())})}else m.displayElements.forminput.val(w),m.html=w;if(m.$watch("html",function(a,b){a!==b&&(o.ngModel&&p.$viewValue!==a&&p.$setViewValue(a),m.displayElements.forminput.val(a))}),o.taTargetToolbars)x=f.registerEditor(m._name,m,o.taTargetToolbars.split(","));else{var G=angular.element('<div text-angular-toolbar name="textAngularToolbar'+B+'">');o.taToolbar&&G.attr("ta-toolbar",o.taToolbar),o.taToolbarClass&&G.attr("ta-toolbar-class",o.taToolbarClass),o.taToolbarGroupClass&&G.attr("ta-toolbar-group-class",o.taToolbarGroupClass),o.taToolbarButtonClass&&G.attr("ta-toolbar-button-class",o.taToolbarButtonClass),o.taToolbarActiveButtonClass&&G.attr("ta-toolbar-active-button-class",o.taToolbarActiveButtonClass),o.taFocussedClass&&G.attr("ta-focussed-class",o.taFocussedClass),n.prepend(G),a(G)(m.$parent),x=f.registerEditor(m._name,m,["textAngularToolbar"+B])}m.$on("$destroy",function(){f.unregisterEditor(m._name),angular.element(window).off("blur")}),m.$on("ta-element-select",function(a,b){x.triggerElementSelect(a,b)&&m["reApplyOnSelectorHandlerstaTextElement"+B]()}),m.$on("ta-drop-event",function(a,c,d,e){m.displayElements.text[0].focus(),e&&e.files&&e.files.length>0?(angular.forEach(e.files,function(a){try{k.when(m.fileDropHandler(a,m.wrapSelection)||m.fileDropHandler!==m.defaultFileDropHandler&&k.when(m.defaultFileDropHandler(a,m.wrapSelection))).then(function(){m["updateTaBindtaTextElement"+B]()})}catch(b){j.error(b)}}),d.preventDefault(),d.stopPropagation()):b(function(){m["updateTaBindtaTextElement"+B]()},0)}),m._bUpdateSelectedStyles=!1,angular.element(window).on("blur",function(){m._bUpdateSelectedStyles=!1,m.focussed=!1}),m.updateSelectedStyles=function(){var a;A&&b.cancel(A),void 0!==(a=d.getSelectionElement())&&a.parentNode!==m.displayElements.text[0]?x.updateSelectedStyles(angular.element(a)):x.updateSelectedStyles(),m._bUpdateSelectedStyles&&(A=b(m.updateSelectedStyles,200))},q=function(){return m.focussed?void(m._bUpdateSelectedStyles||(m._bUpdateSelectedStyles=!0,m.$apply(function(){m.updateSelectedStyles()}))):void(m._bUpdateSelectedStyles=!1)},m.displayElements.html.on("keydown",q),m.displayElements.text.on("keydown",q),r=function(){m._bUpdateSelectedStyles=!1},m.displayElements.html.on("keyup",r),m.displayElements.text.on("keyup",r),s=function(a,b){b&&angular.extend(a,b),m.$apply(function(){return x.sendKeyCommand(a)?(m._bUpdateSelectedStyles||m.updateSelectedStyles(),a.preventDefault(),!1):void 0})},m.displayElements.html.on("keypress",s),m.displayElements.text.on("keypress",s),t=function(){m._bUpdateSelectedStyles=!1,m.$apply(function(){m.updateSelectedStyles()})},m.displayElements.html.on("mouseup",t),m.displayElements.text.on("mouseup",t)}}}]),o.service("textAngularManager",["taToolExecuteAction","taTools","taRegisterTool",function(a,b,c){var d={},e={};return{registerEditor:function(c,f,g){if(!c||""===c)throw"textAngular Error: An editor requires a name";if(!f)throw"textAngular Error: An editor requires a scope";if(e[c])throw'textAngular Error: An Editor with name "'+c+'" already exists';var h=[];return angular.forEach(g,function(a){d[a]&&h.push(d[a])}),e[c]={scope:f,toolbars:g,_registerToolbar:function(a){this.toolbars.indexOf(a.name)>=0&&h.push(a)},editorFunctions:{disable:function(){angular.forEach(h,function(a){a.disabled=!0})},enable:function(){angular.forEach(h,function(a){a.disabled=!1})},focus:function(){angular.forEach(h,function(a){a._parent=f,a.disabled=!1,a.focussed=!0,f.focussed=!0})},unfocus:function(){angular.forEach(h,function(a){a.disabled=!0,a.focussed=!1}),f.focussed=!1},updateSelectedStyles:function(a){angular.forEach(h,function(b){angular.forEach(b.tools,function(c){c.activeState&&(b._parent=f,c.active=c.activeState(a))})})},sendKeyCommand:function(c){var d=!1;return(c.ctrlKey||c.metaKey||c.specialKey)&&angular.forEach(b,function(b,e){if(b.commandKeyCode&&(b.commandKeyCode===c.which||b.commandKeyCode===c.specialKey))for(var g=0;g<h.length;g++)if(void 0!==h[g].tools[e]){a.call(h[g].tools[e],f),d=!0;break}}),d},triggerElementSelect:function(a,c){var d=function(a,b){for(var c=!0,d=0;d<b.length;d++)c=c&&a.attr(b[d]);return c},e=[],g={},i=!1;c=angular.element(c);var j=!1;if(angular.forEach(b,function(a,b){a.onElementSelect&&a.onElementSelect.element&&a.onElementSelect.element.toLowerCase()===c[0].tagName.toLowerCase()&&(!a.onElementSelect.filter||a.onElementSelect.filter(c))&&(j=j||angular.isArray(a.onElementSelect.onlyWithAttrs)&&d(c,a.onElementSelect.onlyWithAttrs),(!a.onElementSelect.onlyWithAttrs||d(c,a.onElementSelect.onlyWithAttrs))&&(g[b]=a))}),j?(angular.forEach(g,function(a,b){a.onElementSelect.onlyWithAttrs&&d(c,a.onElementSelect.onlyWithAttrs)&&e.push({name:b,tool:a})}),e.sort(function(a,b){return b.tool.onElementSelect.onlyWithAttrs.length-a.tool.onElementSelect.onlyWithAttrs.length})):angular.forEach(g,function(a,b){e.push({name:b,tool:a})}),e.length>0)for(var k=0;k<e.length;k++){for(var l=e[k].tool,m=e[k].name,n=0;n<h.length;n++)if(void 0!==h[n].tools[m]){l.onElementSelect.action.call(h[n].tools[m],a,c,f),i=!0;break}if(i)break}return i}}},e[c].editorFunctions},retrieveEditor:function(a){return e[a]},unregisterEditor:function(a){delete e[a]},registerToolbar:function(a){if(!a)throw"textAngular Error: A toolbar requires a scope";if(!a.name||""===a.name)throw"textAngular Error: A toolbar requires a name";if(d[a.name])throw'textAngular Error: A toolbar with name "'+a.name+'" already exists';d[a.name]=a,angular.forEach(e,function(b){b._registerToolbar(a)})},retrieveToolbar:function(a){return d[a]},retrieveToolbarsViaEditor:function(a){var b=[],c=this;return angular.forEach(this.retrieveEditor(a).toolbars,function(a){b.push(c.retrieveToolbar(a))}),b},unregisterToolbar:function(a){delete d[a]},updateToolsDisplay:function(a){var b=this;angular.forEach(a,function(a,c){b.updateToolDisplay(c,a)})},resetToolsDisplay:function(){var a=this;angular.forEach(b,function(b,c){a.resetToolDisplay(c)})},updateToolDisplay:function(a,b){var c=this;angular.forEach(d,function(d,e){c.updateToolbarToolDisplay(e,a,b)})},resetToolDisplay:function(a){var b=this;angular.forEach(d,function(c,d){b.resetToolbarToolDisplay(d,a)})},updateToolbarToolDisplay:function(a,b,c){if(!d[a])throw'textAngular Error: No Toolbar with name "'+a+'" exists';d[a].updateToolDisplay(b,c)},resetToolbarToolDisplay:function(a,c){if(!d[a])throw'textAngular Error: No Toolbar with name "'+a+'" exists';d[a].updateToolDisplay(c,b[c],!0)},removeTool:function(a){delete b[a],angular.forEach(d,function(b){delete b.tools[a];for(var c=0;c<b.toolbar.length;c++){for(var d,e=0;e<b.toolbar[c].length;e++){if(b.toolbar[c][e]===a){d={group:c,index:e};break}if(void 0!==d)break}void 0!==d&&(b.toolbar[d.group].slice(d.index,1),b._$element.children().eq(d.group).children().eq(d.index).remove())}})},addTool:function(a,b,e,f){c(a,b),angular.forEach(d,function(c){c.addTool(a,b,e,f)})},addToolToToolbar:function(a,b,e,f,g){c(a,b),d[e].addTool(a,b,f,g)},refreshEditor:function(a){if(!e[a])throw'textAngular Error: No Editor with name "'+a+'" exists';e[a].scope.updateTaBindtaTextElement(),e[a].scope.$$phase||e[a].scope.$digest()},sendKeyCommand:function(a,b){angular.forEach(e,function(c){return c.editorFunctions.sendKeyCommand(b)?(a._bUpdateSelectedStyles||a.updateSelectedStyles(),b.preventDefault(),!1):void 0})}}}]),o.directive("textAngularToolbar",["$compile","textAngularManager","taOptions","taTools","taToolExecuteAction","$window",function(a,b,c,d,e,f){return{scope:{name:"@"},restrict:"EA",link:function(g,h,i){if(!g.name||""===g.name)throw"textAngular Error: A toolbar requires a name";angular.extend(g,angular.copy(c)),i.taToolbar&&(g.toolbar=g.$parent.$eval(i.taToolbar)),i.taToolbarClass&&(g.classes.toolbar=i.taToolbarClass),i.taToolbarGroupClass&&(g.classes.toolbarGroup=i.taToolbarGroupClass),i.taToolbarButtonClass&&(g.classes.toolbarButton=i.taToolbarButtonClass),i.taToolbarActiveButtonClass&&(g.classes.toolbarButtonActive=i.taToolbarActiveButtonClass),i.taFocussedClass&&(g.classes.focussed=i.taFocussedClass),g.disabled=!0,g.focussed=!1,g._$element=h,h[0].innerHTML="",h.addClass("ta-toolbar "+g.classes.toolbar),g.$watch("focussed",function(){g.focussed?h.addClass(g.classes.focussed):h.removeClass(g.classes.focussed)});var j=function(b,c){var d;if(d=b&&b.display?angular.element(b.display):angular.element("<button type='button'>"),b&&b["class"]?d.addClass(b["class"]):d.addClass(g.classes.toolbarButton),d.attr("name",c.name),d.attr("ta-button","ta-button"),d.attr("ng-disabled","isDisabled()"),d.attr("tabindex","-1"),d.attr("ng-click","executeAction()"),d.attr("ng-class","displayActiveToolClass(active)"),b&&b.tooltiptext&&d.attr("title",b.tooltiptext),b&&!b.display&&!c._display&&(d[0].innerHTML="",b.buttontext&&(d[0].innerHTML=b.buttontext),b.iconclass)){var e=angular.element("<i>"),f=d[0].innerHTML;e.addClass(b.iconclass),d[0].innerHTML="",d.append(e),f&&""!==f&&d.append("&nbsp;"+f)}return c._lastToolDefinition=angular.copy(b),a(d)(c)};g.tools={},g._parent={disabled:!0,showHtml:!1,queryFormatBlockState:function(){return!1},queryCommandState:function(){return!1}};var k={$window:f,$editor:function(){return g._parent},isDisabled:function(){return"function"!=typeof this.$eval("disabled")&&this.$eval("disabled")||this.$eval("disabled()")||"html"!==this.name&&this.$editor().showHtml||this.$parent.disabled||this.$editor().disabled},displayActiveToolClass:function(a){return a?g.classes.toolbarButtonActive:""},executeAction:e};angular.forEach(g.toolbar,function(a){var b=angular.element("<div>");b.addClass(g.classes.toolbarGroup),angular.forEach(a,function(a){g.tools[a]=angular.extend(g.$new(!0),d[a],k,{name:a}),g.tools[a].$element=j(d[a],g.tools[a]),b.append(g.tools[a].$element)}),h.append(b)}),g.updateToolDisplay=function(a,b,c){var d=g.tools[a];if(d){if(d._lastToolDefinition&&!c&&(b=angular.extend({},d._lastToolDefinition,b)),null===b.buttontext&&null===b.iconclass&&null===b.display)throw'textAngular Error: Tool Definition for updating "'+a+'" does not have a valid display/iconclass/buttontext value';null===b.buttontext&&delete b.buttontext,null===b.iconclass&&delete b.iconclass,null===b.display&&delete b.display;var e=j(b,d);d.$element.replaceWith(e),d.$element=e}},g.addTool=function(a,b,c,e){g.tools[a]=angular.extend(g.$new(!0),d[a],k,{name:a}),g.tools[a].$element=j(d[a],g.tools[a]);var f;void 0===c&&(c=g.toolbar.length-1),f=angular.element(h.children()[c]),void 0===e?(f.append(g.tools[a].$element),g.toolbar[c][g.toolbar[c].length-1]=a):(f.children().eq(e).after(g.tools[a].$element),g.toolbar[c][e]=a)},b.registerToolbar(g),g.$on("$destroy",function(){b.unregisterToolbar(g.name)})}}}])}(),function(a,b,c){"use strict";function d(){this.$get=["$$sanitizeUri",function(a){return function(b){"undefined"!=typeof arguments[1]&&(arguments[1].version="taSanitize");var c=[];return g(b,l(c,function(b,c){return!/^unsafe/.test(a(b,c))})),c.join("")}}]}function e(a){var c=[],d=l(c,b.noop);return d.chars(a),c.join("")}function f(a){var b,c={},d=a.split(",");for(b=0;b<d.length;b++)c[d[b]]=!0;return c}function g(a,c){function d(a,d,f,g){if(d=b.lowercase(d),D[d])for(;k.last()&&E[k.last()];)e("",k.last());C[d]&&k.last()==d&&e("",d),g=z[d]||!!g,g||k.push(d);var i={};f.replace(p,function(a,b,c,d,e){var f=c||d||e||"";i[b]=h(f)}),c.start&&c.start(d,i,g)}function e(a,d){var e,f=0;if(d=b.lowercase(d))for(f=k.length-1;f>=0&&k[f]!=d;f--);if(f>=0){for(e=k.length-1;e>=f;e--)c.end&&c.end(k[e]);k.length=f}}"string"!=typeof a&&(a=null===a||"undefined"==typeof a?"":""+a);var f,g,i,j,k=[],l=a;for(k.last=function(){return k[k.length-1]};a;){if(j="",g=!0,k.last()&&G[k.last()])a=a.replace(new RegExp("([^]*)<\\s*\\/\\s*"+k.last()+"[^>]*>","i"),function(a,b){return b=b.replace(s,"$1").replace(v,"$1"),c.chars&&c.chars(h(b)),""}),e("",k.last());else{if(y.test(a)){if(i=a.match(y)){i[0];c.whitespace&&c.whitespace(i[0]),a=a.replace(i[0],""),g=!1}}else t.test(a)?(i=a.match(t),i&&(c.comment&&c.comment(i[1]),a=a.replace(i[0],""),g=!1)):u.test(a)?(i=a.match(u),i&&(a=a.replace(i[0],""),g=!1)):r.test(a)?(i=a.match(o),i&&(a=a.substring(i[0].length),i[0].replace(o,e),g=!1)):q.test(a)&&(i=a.match(n),i?(i[4]&&(a=a.substring(i[0].length),i[0].replace(n,d)),g=!1):(j+="<",a=a.substring(1)));g&&(f=a.indexOf("<"),j+=0>f?a:a.substring(0,f),a=0>f?"":a.substring(f),c.chars&&c.chars(h(j)))}if(a==l)throw m("badparse","The sanitizer was unable to parse the following block of html: {0}",a);l=a}e()}function h(a){if(!a)return"";var b=N.exec(a),c=b[1],d=b[3],e=b[2];return e&&(M.innerHTML=e.replace(/</g,"&lt;"),e="textContent"in M?M.textContent:M.innerText),c+e+d}function i(a){return a.replace(/&/g,"&amp;").replace(w,function(a){var b=a.charCodeAt(0),c=a.charCodeAt(1);return"&#"+(1024*(b-55296)+(c-56320)+65536)+";"}).replace(x,function(a){var b=a.charCodeAt(0);return 159>=b||173==b||b>=1536&&1540>=b||1807==b||6068==b||6069==b||b>=8204&&8207>=b||b>=8232&&8239>=b||b>=8288&&8303>=b||65279==b||b>=65520&&65535>=b?"&#"+b+";":a}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}function j(a){var c="",d=a.split(";");return b.forEach(d,function(a){var d=a.split(":");if(2==d.length){var e=O(b.lowercase(d[0])),a=O(b.lowercase(d[1]));(("color"===e||"background-color"===e)&&(a.match(/^rgb\([0-9%,\. ]*\)$/i)||a.match(/^rgba\([0-9%,\. ]*\)$/i)||a.match(/^hsl\([0-9%,\. ]*\)$/i)||a.match(/^hsla\([0-9%,\. ]*\)$/i)||a.match(/^#[0-9a-f]{3,6}$/i)||a.match(/^[a-z]*$/i))||"text-align"===e&&("left"===a||"right"===a||"center"===a||"justify"===a)||"float"===e&&("left"===a||"right"===a||"none"===a)||("width"===e||"height"===e)&&a.match(/[0-9\.]*(px|em|rem|%)/)||"direction"===e&&a.match(/^ltr|rtl|initial|inherit$/))&&(c+=e+": "+a+";")}}),c}function k(a,b,c,d){return"img"===a&&b["ta-insert-video"]&&("ta-insert-video"===c||"allowfullscreen"===c||"frameborder"===c||"contenteditable"===c&&"false"===d)?!0:!1}function l(a,c){var d=!1,e=b.bind(a,a.push);return{start:function(a,f,g){a=b.lowercase(a),!d&&G[a]&&(d=a),d||H[a]!==!0||(e("<"),e(a),b.forEach(f,function(d,g){var h=b.lowercase(g),l="img"===a&&"src"===h||"background"===h;("style"===h&&""!==(d=j(d))||k(a,f,h,d)||L[h]===!0&&(I[h]!==!0||c(d,l)))&&(e(" "),e(g),e('="'),e(i(d)),e('"'))}),e(g?"/>":">"))},comment:function(a){e(a)},whitespace:function(a){e(i(a))},end:function(a){a=b.lowercase(a),d||H[a]!==!0||(e("</"),e(a),e(">")),a==d&&(d=!1)},chars:function(a){d||e(i(a))}}}var m=b.$$minErr("$sanitize"),n=/^<((?:[a-zA-Z])[\w:-]*)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*(>?)/,o=/^<\/\s*([\w:-]+)[^>]*>/,p=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,q=/^</,r=/^<\//,s=/<!--(.*?)-->/g,t=/(^<!--.*?-->)/,u=/<!DOCTYPE([^>]*?)>/i,v=/<!\[CDATA\[(.*?)]]>/g,w=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,x=/([^\#-~| |!])/g,y=/^(\s+)/,z=f("area,br,col,hr,img,wbr,input"),A=f("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),B=f("rp,rt"),C=b.extend({},B,A),D=b.extend({},A,f("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,script,section,table,ul")),E=b.extend({},B,f("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var")),F=f("animate,animateColor,animateMotion,animateTransform,circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph,hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline,radialGradient,rect,set,stop,svg,switch,text,title,tspan,use"),G=f("script,style"),H=b.extend({},z,D,E,C,F),I=f("background,cite,href,longdesc,src,usemap,xlink:href"),J=f("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,id,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,target,title,type,valign,value,vspace,width"),K=f("accent-height,accumulate,additive,alphabetic,arabic-form,ascent,attributeName,attributeType,baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,underline-thickness,unicode,unicode-range,units-per-em,values,version,viewBox,visibility,width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan"),L=b.extend({},I,K,J),M=document.createElement("pre"),N=/^(\s*)([\s\S]*?)(\s*)$/,O=function(){return String.prototype.trim?function(a){return b.isString(a)?a.trim():a}:function(a){return b.isString(a)?a.replace(/^\s\s*/,"").replace(/\s\s*$/,""):a}}();b.module("ngSanitize",[]).provider("$sanitize",d),b.module("ngSanitize").filter("linky",["$sanitize",function(a){var c=/((ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"”’]/,d=/^mailto:/;return function(f,g){function h(a){a&&n.push(e(a))}function i(a,c){n.push("<a "),b.isDefined(g)&&n.push('target="',g,'" '),n.push('href="',a.replace(/"/g,"&quot;"),'">'),h(c),n.push("</a>")}if(!f)return f;for(var j,k,l,m=f,n=[];j=m.match(c);)k=j[0],j[2]||j[4]||(k=(j[3]?"http://":"mailto:")+k),l=j.index,h(m.substr(0,l)),i(k,j[0].replace(d,"")),m=m.substring(l+j[0].length);return h(m),a(n.join(""))}}])}(window,window.angular);var taTools={};angular.module("textAngularSetup",[]).constant("taRegisterTool",registerTextAngularTool).value("taTools",taTools).value("taOptions",{forceTextAngularSanitize:!0,keyMappings:[],toolbar:[["h1","h2","h3","h4","h5","h6","p","pre","quote"],["bold","italics","underline","strikeThrough","ul","ol","redo","undo","clear"],["justifyLeft","justifyCenter","justifyRight","justifyFull","indent","outdent"],["html","insertImage","insertLink","insertVideo","wordcount","charcount"]],classes:{focussed:"focussed",toolbar:"btn-toolbar",toolbarGroup:"btn-group",toolbarButton:"btn btn-default",toolbarButtonActive:"active",disabled:"disabled",textEditor:"form-control",htmlEditor:"form-control"},defaultTagAttributes:{a:{target:""}},setup:{textEditorSetup:function(a){},htmlEditorSetup:function(a){}},defaultFileDropHandler:function(a,b){var c=new FileReader;return"image"===a.type.substring(0,5)?(c.onload=function(){""!==c.result&&b("insertImage",c.result,!0)},c.readAsDataURL(a),!0):!1}}).value("taSelectableElements",["a","img"]).value("taCustomRenderers",[{selector:"img",customAttribute:"ta-insert-video",renderLogic:function(a){var b=angular.element("<iframe></iframe>"),c=a.prop("attributes");angular.forEach(c,function(a){b.attr(a.name,a.value)}),b.attr("src",b.attr("ta-insert-video")),a.replaceWith(b)}}]).value("taTranslations",{html:{tooltip:"Toggle html / Rich Text"},heading:{tooltip:"Heading "},p:{tooltip:"Paragraph"},pre:{tooltip:"Preformatted text"},ul:{tooltip:"Unordered List"},ol:{tooltip:"Ordered List"},quote:{tooltip:"Quote/unquote selection or paragraph"},undo:{tooltip:"Undo"},redo:{tooltip:"Redo"},bold:{tooltip:"Bold"},italic:{tooltip:"Italic"},underline:{tooltip:"Underline"},strikeThrough:{tooltip:"Strikethrough"},justifyLeft:{tooltip:"Align text left"},justifyRight:{tooltip:"Align text right"},justifyFull:{tooltip:"Justify text"},justifyCenter:{tooltip:"Center"},indent:{tooltip:"Increase indent"},outdent:{tooltip:"Decrease indent"},clear:{tooltip:"Clear formatting"},insertImage:{dialogPrompt:"Please enter an image URL to insert",tooltip:"Insert image",hotkey:"the - possibly language dependent hotkey ... for some future implementation"},insertVideo:{tooltip:"Insert video",dialogPrompt:"Please enter a youtube URL to embed"},insertLink:{tooltip:"Insert / edit link",dialogPrompt:"Please enter a URL to insert"},editLink:{reLinkButton:{tooltip:"Relink"},unLinkButton:{tooltip:"Unlink"},targetToggle:{buttontext:"Open in New Window"}},wordcount:{tooltip:"Display words Count"},charcount:{tooltip:"Display characters Count"}}).factory("taToolFunctions",["$window","taTranslations",function(a,b){return{imgOnSelectAction:function(a,b,c){var d=function(){c.updateTaBindtaTextElement(),c.hidePopover()};a.preventDefault(),c.displayElements.popover.css("width","375px");var e=c.displayElements.popoverContainer;e.empty();var f=angular.element('<div class="btn-group" style="padding-right: 6px;">'),g=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" unselectable="on" tabindex="-1">100% </button>');g.on("click",function(a){a.preventDefault(),b.css({width:"100%",height:""}),d()});var h=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" unselectable="on" tabindex="-1">50% </button>');h.on("click",function(a){a.preventDefault(),b.css({width:"50%",height:""}),d()});var i=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" unselectable="on" tabindex="-1">25% </button>');i.on("click",function(a){a.preventDefault(),b.css({width:"25%",height:""}),d()});var j=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" unselectable="on" tabindex="-1">Reset</button>');j.on("click",function(a){a.preventDefault(),b.css({width:"",height:""}),d()}),f.append(g),f.append(h),f.append(i),f.append(j),e.append(f),f=angular.element('<div class="btn-group" style="padding-right: 6px;">');var k=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" unselectable="on" tabindex="-1"><i class="fa fa-align-left"></i></button>');k.on("click",function(a){a.preventDefault(),b.css("float","left"),b.css("cssFloat","left"),b.css("styleFloat","left"),d()});var l=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" unselectable="on" tabindex="-1"><i class="fa fa-align-right"></i></button>');l.on("click",function(a){a.preventDefault(),b.css("float","right"),b.css("cssFloat","right"),b.css("styleFloat","right"),d()});var m=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" unselectable="on" tabindex="-1"><i class="fa fa-align-justify"></i></button>');m.on("click",function(a){a.preventDefault(),b.css("float",""),b.css("cssFloat",""),b.css("styleFloat",""),d()}),f.append(k),f.append(m),f.append(l),e.append(f),f=angular.element('<div class="btn-group">');var n=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" unselectable="on" tabindex="-1"><i class="fa fa-trash-o"></i></button>');n.on("click",function(a){a.preventDefault(),b.remove(),d()}),f.append(n),e.append(f),c.showPopover(b),c.showResizeOverlay(b)},aOnSelectAction:function(c,d,e){c.preventDefault(),e.displayElements.popover.css("width","436px");var f=e.displayElements.popoverContainer;f.empty(),f.css("line-height","28px");var g=angular.element('<a href="'+d.attr("href")+'" target="_blank">'+d.attr("href")+"</a>");g.css({display:"inline-block","max-width":"200px",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap","vertical-align":"middle"}),f.append(g);var h=angular.element('<div class="btn-group pull-right">'),i=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" tabindex="-1" unselectable="on" title="'+b.editLink.reLinkButton.tooltip+'"><i class="fa fa-edit icon-edit"></i></button>');i.on("click",function(c){c.preventDefault();var f=a.prompt(b.insertLink.dialogPrompt,d.attr("href"));f&&""!==f&&"http://"!==f&&(d.attr("href",f),e.updateTaBindtaTextElement()),e.hidePopover()}),h.append(i);var j=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" tabindex="-1" unselectable="on" title="'+b.editLink.unLinkButton.tooltip+'"><i class="fa fa-unlink icon-unlink"></i></button>');j.on("click",function(a){a.preventDefault(),d.replaceWith(d.contents()),e.updateTaBindtaTextElement(),e.hidePopover()}),h.append(j);var k=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" tabindex="-1" unselectable="on">'+b.editLink.targetToggle.buttontext+"</button>");"_blank"===d.attr("target")&&k.addClass("active"),k.on("click",function(a){a.preventDefault(),d.attr("target","_blank"===d.attr("target")?"":"_blank"),k.toggleClass("active"),e.updateTaBindtaTextElement()}),h.append(k),f.append(h),e.showPopover(d)},extractYoutubeVideoId:function(a){var b=/(?:youtube(?:-nocookie)?\.com\/(?:[^\/\n\s]+\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[?&]v=)|youtu\.be\/)([a-zA-Z0-9_-]{11})/i,c=a.match(b);return c&&c[1]||null}}}]).run(["taRegisterTool","$window","taTranslations","taSelection","taToolFunctions","$sanitize","taOptions",function(a,b,c,d,e,f,g){var h={};if(f("",h),g.forceTextAngularSanitize===!0&&"taSanitize"!==h.version)throw angular.$$minErr("textAngular")("textAngularSetup","The textAngular-sanitize provider has been replaced by another -- have you included angular-sanitize by mistake?");a("html",{iconclass:"fa fa-code",tooltiptext:c.html.tooltip,action:function(){this.$editor().switchView()},activeState:function(){return this.$editor().showHtml}});var i=function(a){return function(){return this.$editor().queryFormatBlockState(a)}},j=function(){return this.$editor().wrapSelection("formatBlock","<"+this.name.toUpperCase()+">")};angular.forEach(["h1","h2","h3","h4","h5","h6"],function(b){a(b.toLowerCase(),{buttontext:b.toUpperCase(),tooltiptext:c.heading.tooltip+b.charAt(1),action:j,activeState:i(b.toLowerCase())})}),a("p",{buttontext:"P",tooltiptext:c.p.tooltip,action:function(){return this.$editor().wrapSelection("formatBlock","<P>")},activeState:function(){return this.$editor().queryFormatBlockState("p")}}),a("pre",{buttontext:"pre",tooltiptext:c.pre.tooltip,action:function(){return this.$editor().wrapSelection("formatBlock","<PRE>")},activeState:function(){return this.$editor().queryFormatBlockState("pre")}}),a("ul",{iconclass:"fa fa-list-ul",tooltiptext:c.ul.tooltip,action:function(){return this.$editor().wrapSelection("insertUnorderedList",null)},activeState:function(){return this.$editor().queryCommandState("insertUnorderedList")}}),a("ol",{iconclass:"fa fa-list-ol",tooltiptext:c.ol.tooltip,action:function(){return this.$editor().wrapSelection("insertOrderedList",null)},activeState:function(){return this.$editor().queryCommandState("insertOrderedList")}}),a("quote",{iconclass:"fa fa-quote-right",tooltiptext:c.quote.tooltip,action:function(){return this.$editor().wrapSelection("formatBlock","<BLOCKQUOTE>")},activeState:function(){return this.$editor().queryFormatBlockState("blockquote");
-}}),a("undo",{iconclass:"fa fa-undo",tooltiptext:c.undo.tooltip,action:function(){return this.$editor().wrapSelection("undo",null)}}),a("redo",{iconclass:"fa fa-repeat",tooltiptext:c.redo.tooltip,action:function(){return this.$editor().wrapSelection("redo",null)}}),a("bold",{iconclass:"fa fa-bold",tooltiptext:c.bold.tooltip,action:function(){return this.$editor().wrapSelection("bold",null)},activeState:function(){return this.$editor().queryCommandState("bold")},commandKeyCode:98}),a("justifyLeft",{iconclass:"fa fa-align-left",tooltiptext:c.justifyLeft.tooltip,action:function(){return this.$editor().wrapSelection("justifyLeft",null)},activeState:function(a){if(a&&"#document"===a.nodeName)return!1;var b=!1;return a&&(b="left"===a.css("text-align")||"left"===a.attr("align")||"right"!==a.css("text-align")&&"center"!==a.css("text-align")&&"justify"!==a.css("text-align")&&!this.$editor().queryCommandState("justifyRight")&&!this.$editor().queryCommandState("justifyCenter")&&!this.$editor().queryCommandState("justifyFull")),b=b||this.$editor().queryCommandState("justifyLeft")}}),a("justifyRight",{iconclass:"fa fa-align-right",tooltiptext:c.justifyRight.tooltip,action:function(){return this.$editor().wrapSelection("justifyRight",null)},activeState:function(a){if(a&&"#document"===a.nodeName)return!1;var b=!1;return a&&(b="right"===a.css("text-align")),b=b||this.$editor().queryCommandState("justifyRight")}}),a("justifyFull",{iconclass:"fa fa-align-justify",tooltiptext:c.justifyFull.tooltip,action:function(){return this.$editor().wrapSelection("justifyFull",null)},activeState:function(a){var b=!1;return a&&(b="justify"===a.css("text-align")),b=b||this.$editor().queryCommandState("justifyFull")}}),a("justifyCenter",{iconclass:"fa fa-align-center",tooltiptext:c.justifyCenter.tooltip,action:function(){return this.$editor().wrapSelection("justifyCenter",null)},activeState:function(a){if(a&&"#document"===a.nodeName)return!1;var b=!1;return a&&(b="center"===a.css("text-align")),b=b||this.$editor().queryCommandState("justifyCenter")}}),a("indent",{iconclass:"fa fa-indent",tooltiptext:c.indent.tooltip,action:function(){return this.$editor().wrapSelection("indent",null)},activeState:function(){return this.$editor().queryFormatBlockState("blockquote")},commandKeyCode:"TabKey"}),a("outdent",{iconclass:"fa fa-outdent",tooltiptext:c.outdent.tooltip,action:function(){return this.$editor().wrapSelection("outdent",null)},activeState:function(){return!1},commandKeyCode:"ShiftTabKey"}),a("italics",{iconclass:"fa fa-italic",tooltiptext:c.italic.tooltip,action:function(){return this.$editor().wrapSelection("italic",null)},activeState:function(){return this.$editor().queryCommandState("italic")},commandKeyCode:105}),a("underline",{iconclass:"fa fa-underline",tooltiptext:c.underline.tooltip,action:function(){return this.$editor().wrapSelection("underline",null)},activeState:function(){return this.$editor().queryCommandState("underline")},commandKeyCode:117}),a("strikeThrough",{iconclass:"fa fa-strikethrough",tooltiptext:c.strikeThrough.tooltip,action:function(){return this.$editor().wrapSelection("strikeThrough",null)},activeState:function(){return document.queryCommandState("strikeThrough")}}),a("clear",{iconclass:"fa fa-ban",tooltiptext:c.clear.tooltip,action:function(a,b){var c;this.$editor().wrapSelection("removeFormat",null);var e=angular.element(d.getSelectionElement()),f=function(a){a=angular.element(a);var b=a;angular.forEach(a.children(),function(a){var c=angular.element("<p></p>");c.html(angular.element(a).html()),b.after(c),b=c}),a.remove()};if(angular.forEach(e.find("ul"),f),angular.forEach(e.find("ol"),f),"li"===e[0].tagName.toLowerCase()){var g=e[0].parentNode.childNodes,h=[],i=[],j=!1;for(c=0;c<g.length;c++)g[c]===e[0]?j=!0:j?i.push(g[c]):h.push(g[c]);var k=angular.element(e[0].parentNode),l=angular.element("<p></p>");if(l.html(angular.element(e[0]).html()),0===h.length||0===i.length)0===i.length?k.after(l):k[0].parentNode.insertBefore(l[0],k[0]),0===h.length&&0===i.length?k.remove():angular.element(e[0]).remove();else{var m=angular.element("<"+k[0].tagName+"></"+k[0].tagName+">"),n=angular.element("<"+k[0].tagName+"></"+k[0].tagName+">");for(c=0;c<h.length;c++)m.append(angular.element(h[c]));for(c=0;c<i.length;c++)n.append(angular.element(i[c]));k.after(n),k.after(l),k.after(m),k.remove()}d.setSelectionToElementEnd(l[0])}var o=this.$editor(),p=function(a){a=angular.element(a),a[0]!==o.displayElements.text[0]&&a.removeAttr("class"),angular.forEach(a.children(),p)};angular.forEach(e,p),"li"!==e[0].tagName.toLowerCase()&&"ol"!==e[0].tagName.toLowerCase()&&"ul"!==e[0].tagName.toLowerCase()&&this.$editor().wrapSelection("formatBlock","default"),b()}}),a("insertImage",{iconclass:"fa fa-picture-o",tooltiptext:c.insertImage.tooltip,action:function(){var a;return a=b.prompt(c.insertImage.dialogPrompt,"http://"),a&&""!==a&&"http://"!==a?this.$editor().wrapSelection("insertImage",a,!0):void 0},onElementSelect:{element:"img",action:e.imgOnSelectAction}}),a("insertVideo",{iconclass:"fa fa-youtube-play",tooltiptext:c.insertVideo.tooltip,action:function(){var a;if(a=b.prompt(c.insertVideo.dialogPrompt,"https://"),a&&""!==a&&"https://"!==a&&(videoId=e.extractYoutubeVideoId(a),videoId)){var d="https://www.youtube.com/embed/"+videoId,f='<img class="ta-insert-video" src="https://img.youtube.com/vi/'+videoId+'/hqdefault.jpg" ta-insert-video="'+d+'" contenteditable="false" allowfullscreen="true" frameborder="0" />';return this.$editor().wrapSelection("insertHTML",f,!0)}},onElementSelect:{element:"img",onlyWithAttrs:["ta-insert-video"],action:e.imgOnSelectAction}}),a("insertLink",{tooltiptext:c.insertLink.tooltip,iconclass:"fa fa-link",action:function(){var a;return a=b.prompt(c.insertLink.dialogPrompt,"http://"),a&&""!==a&&"http://"!==a?this.$editor().wrapSelection("createLink",a,!0):void 0},activeState:function(a){return a?"A"===a[0].tagName:!1},onElementSelect:{element:"a",action:e.aOnSelectAction}}),a("wordcount",{display:'<div id="toolbarWC" style="display:block; min-width:100px;">Words: <span ng-bind="wordcount"></span></div>',disabled:!0,wordcount:0,activeState:function(){var a=this.$editor().displayElements.text,b=a[0].innerHTML||"",c=0;return""!==b.replace(/\s*<[^>]*?>\s*/g,"")&&(c=b.replace(/<\/?(b|i|em|strong|span|u|strikethrough|a|img|small|sub|sup|label)( [^>*?])?>/gi,"").replace(/(<[^>]*?>\s*<[^>]*?>)/gi," ").replace(/(<[^>]*?>)/gi,"").replace(/\s+/gi," ").match(/\S+/g).length),this.wordcount=c,this.$editor().wordcount=c,!1}}),a("charcount",{display:'<div id="toolbarCC" style="display:block; min-width:120px;">Characters: <span ng-bind="charcount"></span></div>',disabled:!0,charcount:0,activeState:function(){var a=this.$editor().displayElements.text,b=a[0].innerText||a[0].textContent,c=b.replace(/(\r\n|\n|\r)/gm,"").replace(/^\s+/g," ").replace(/\s+$/g," ").length;return this.charcount=c,this.$editor().charcount=c,!1}})}]),angular.module("ui.navbar",["ui.bootstrap","template/navbar-ul.html","template/navbar-li.html"]).directive("tree",function(){return{restrict:"E",replace:!0,scope:{tree:"="},templateUrl:"template/navbar-ul.html"}}).directive("leaf",["$compile",function(a){return{restrict:"E",replace:!0,scope:{leaf:"="},templateUrl:"template/navbar-li.html",link:function(b,c,d){if(angular.isArray(b.leaf.subtree)){c.append('<tree tree="leaf.subtree"></tree>');for(var e=c.parent(),f=!1;e.length>0&&!f;)e.hasClass("navbar-right")&&(f=!0),e=e.parent();f?c.addClass("dropdown-submenu-right"):c.addClass("dropdown-submenu"),a(c.contents())(b)}}}}]),angular.module("template/navbar-li.html",[]).run(["$templateCache",function(a){a.put("template/navbar-li.html",'<li ng-class="{divider: leaf.name == \'divider\'}">\n    <a ui-sref="{{leaf.link}}" ng-if="leaf.name !== \'divider\'">{{leaf.name}}</a>\n</li>')}]),angular.module("template/navbar-ul.html",[]).run(["$templateCache",function(a){a.put("template/navbar-ul.html","<ul class='dropdown-menu'>\n    <leaf ng-repeat='leaf in tree' leaf='leaf'></leaf>\n</ul>")}]),function(){"use strict";var a={TAB:9,ENTER:13,ESC:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,SHIFT:16,CTRL:17,ALT:18,PAGE_UP:33,PAGE_DOWN:34,HOME:36,END:35,BACKSPACE:8,DELETE:46,COMMAND:91,MAP:{91:"COMMAND",8:"BACKSPACE",9:"TAB",13:"ENTER",16:"SHIFT",17:"CTRL",18:"ALT",19:"PAUSEBREAK",20:"CAPSLOCK",27:"ESC",32:"SPACE",33:"PAGE_UP",34:"PAGE_DOWN",35:"END",36:"HOME",37:"LEFT",38:"UP",39:"RIGHT",40:"DOWN",43:"+",44:"PRINTSCREEN",45:"INSERT",46:"DELETE",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"A",66:"B",67:"C",68:"D",69:"E",70:"F",71:"G",72:"H",73:"I",74:"J",75:"K",76:"L",77:"M",78:"N",79:"O",80:"P",81:"Q",82:"R",83:"S",84:"T",85:"U",86:"V",87:"W",88:"X",89:"Y",90:"Z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NUMLOCK",145:"SCROLLLOCK",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},isControl:function(b){var c=b.which;switch(c){case a.COMMAND:case a.SHIFT:case a.CTRL:case a.ALT:return!0}return b.metaKey?!0:!1},isFunctionKey:function(a){return a=a.which?a.which:a,a>=112&&123>=a},isVerticalMovement:function(b){return~[a.UP,a.DOWN].indexOf(b)},isHorizontalMovement:function(b){return~[a.LEFT,a.RIGHT,a.BACKSPACE,a.DELETE].indexOf(b)}};void 0===angular.element.prototype.querySelectorAll&&(angular.element.prototype.querySelectorAll=function(a){return angular.element(this[0].querySelectorAll(a))}),void 0===angular.element.prototype.closest&&(angular.element.prototype.closest=function(a){for(var b=this[0],c=b.matches||b.webkitMatchesSelector||b.mozMatchesSelector||b.msMatchesSelector;b;){if(c.bind(b)(a))return b;b=b.parentElement}return!1});var b=0,c=angular.module("ui.select",[]).constant("uiSelectConfig",{theme:"bootstrap",searchEnabled:!0,sortable:!1,placeholder:"",refreshDelay:1e3,closeOnSelect:!0,dropdownPosition:"auto",generateId:function(){return b++},appendToBody:!1}).service("uiSelectMinErr",function(){var a=angular.$$minErr("ui.select");return function(){var b=a.apply(this,arguments),c=b.message.replace(new RegExp("\nhttp://errors.angularjs.org/.*"),"");return new Error(c)}}).directive("uisTranscludeAppend",function(){return{link:function(a,b,c,d,e){e(a,function(a){b.append(a)})}}}).filter("highlight",function(){function a(a){return a.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}return function(b,c){return c&&b?b.replace(new RegExp(a(c),"gi"),'<span class="ui-select-highlight">$&</span>'):b}}).factory("uisOffset",["$document","$window",function(a,b){return function(c){var d=c[0].getBoundingClientRect();return{width:d.width||c.prop("offsetWidth"),height:d.height||c.prop("offsetHeight"),top:d.top+(b.pageYOffset||a[0].documentElement.scrollTop),left:d.left+(b.pageXOffset||a[0].documentElement.scrollLeft)}}}]);c.directive("uiSelectChoices",["uiSelectConfig","uisRepeatParser","uiSelectMinErr","$compile",function(a,b,c,d){return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(b){var c=b.parent().attr("theme")||a.theme;return c+"/choices.tpl.html"},compile:function(e,f){if(!f.repeat)throw c("repeat","Expected 'repeat' expression.");return function(e,f,g,h,i){var j=g.groupBy,k=g.groupFilter;if(h.parseRepeatAttr(g.repeat,j,k),h.disableChoiceExpression=g.uiDisableChoice,h.onHighlightCallback=g.onHighlight,h.dropdownPosition=g.position?g.position.toLowerCase():a.dropdownPosition,j){var l=f.querySelectorAll(".ui-select-choices-group");if(1!==l.length)throw c("rows","Expected 1 .ui-select-choices-group but got '{0}'.",l.length);l.attr("ng-repeat",b.getGroupNgRepeatExpression())}var m=f.querySelectorAll(".ui-select-choices-row");if(1!==m.length)throw c("rows","Expected 1 .ui-select-choices-row but got '{0}'.",m.length);m.attr("ng-repeat",h.parserResult.repeatExpression(j)).attr("ng-if","$select.open").attr("ng-click","$select.select("+h.parserResult.itemName+",false,$event)");var n=f.querySelectorAll(".ui-select-choices-row-inner");if(1!==n.length)throw c("rows","Expected 1 .ui-select-choices-row-inner but got '{0}'.",n.length);n.attr("uis-transclude-append",""),d(f,i)(e),e.$watch("$select.search",function(a){a&&!h.open&&h.multiple&&h.activate(!1,!0),h.activeIndex=h.tagging.isActivated?-1:0,h.refresh(g.refresh)}),g.$observe("refreshDelay",function(){var b=e.$eval(g.refreshDelay);h.refreshDelay=void 0!==b?b:a.refreshDelay})}}}}]),c.controller("uiSelectCtrl",["$scope","$element","$timeout","$filter","uisRepeatParser","uiSelectMinErr","uiSelectConfig","$parse",function(b,c,d,e,f,g,h,i){function j(){(n.resetSearchInput||void 0===n.resetSearchInput&&h.resetSearchInput)&&(n.search=o,n.selected&&n.items.length&&!n.multiple&&(n.activeIndex=n.items.indexOf(n.selected)))}function k(a,b){var c,d,e=[];for(c=0;c<b.length;c++)for(d=0;d<a.length;d++)a[d].name==[b[c]]&&e.push(a[d]);return e}function l(b){var c=!0;switch(b){case a.DOWN:!n.open&&n.multiple?n.activate(!1,!0):n.activeIndex<n.items.length-1&&n.activeIndex++;break;case a.UP:!n.open&&n.multiple?n.activate(!1,!0):(n.activeIndex>0||0===n.search.length&&n.tagging.isActivated&&n.activeIndex>-1)&&n.activeIndex--;break;case a.TAB:(!n.multiple||n.open)&&n.select(n.items[n.activeIndex],!0);break;case a.ENTER:n.open&&(n.tagging.isActivated||n.activeIndex>=0)?n.select(n.items[n.activeIndex]):n.activate(!1,!0);break;case a.ESC:n.close();break;default:c=!1}return c}function m(){var a=c.querySelectorAll(".ui-select-choices-content"),b=a.querySelectorAll(".ui-select-choices-row");if(b.length<1)throw g("choices","Expected multiple .ui-select-choices-row but got '{0}'.",b.length);if(!(n.activeIndex<0)){var d=b[n.activeIndex],e=d.offsetTop+d.clientHeight-a[0].scrollTop,f=a[0].offsetHeight;e>f?a[0].scrollTop+=e-f:e<d.clientHeight&&(n.isGrouped&&0===n.activeIndex?a[0].scrollTop=0:a[0].scrollTop-=d.clientHeight-e)}}var n=this,o="";if(n.placeholder=h.placeholder,n.searchEnabled=h.searchEnabled,n.sortable=h.sortable,n.refreshDelay=h.refreshDelay,n.removeSelected=!1,n.closeOnSelect=!0,n.search=o,n.activeIndex=0,n.items=[],n.open=!1,n.focus=!1,n.disabled=!1,n.selected=void 0,n.dropdownPosition="auto",n.focusser=void 0,n.resetSearchInput=!0,n.multiple=void 0,n.disableChoiceExpression=void 0,n.tagging={isActivated:!1,fct:void 0},n.taggingTokens={isActivated:!1,tokens:void 0},n.lockChoiceExpression=void 0,n.clickTriggeredSelect=!1,n.$filter=e,n.searchInput=c.querySelectorAll("input.ui-select-search"),1!==n.searchInput.length)throw g("searchInput","Expected 1 input.ui-select-search but got '{0}'.",n.searchInput.length);n.isEmpty=function(){return angular.isUndefined(n.selected)||null===n.selected||""===n.selected},n.activate=function(a,c){n.disabled||n.open||(c||j(),b.$broadcast("uis:activate"),n.open=!0,n.activeIndex=n.activeIndex>=n.items.length?0:n.activeIndex,-1===n.activeIndex&&n.taggingLabel!==!1&&(n.activeIndex=0),d(function(){n.search=a||n.search,n.searchInput[0].focus(),!n.tagging.isActivated&&n.items.length>1&&m()}))},n.findGroupByName=function(a){return n.groups&&n.groups.filter(function(b){return b.name===a})[0]},n.parseRepeatAttr=function(a,c,d){function e(a){var e=b.$eval(c);if(n.groups=[],angular.forEach(a,function(a){var b=angular.isFunction(e)?e(a):a[e],c=n.findGroupByName(b);c?c.items.push(a):n.groups.push({name:b,items:[a]})}),d){var f=b.$eval(d);angular.isFunction(f)?n.groups=f(n.groups):angular.isArray(f)&&(n.groups=k(n.groups,f))}n.items=[],n.groups.forEach(function(a){n.items=n.items.concat(a.items)})}function h(a){n.items=a}n.setItemsFn=c?e:h,n.parserResult=f.parse(a),n.isGrouped=!!c,n.itemProperty=n.parserResult.itemName;var j=n.parserResult.source,l=function(){var a=j(b);b.$uisSource=Object.keys(a).map(function(b){var c={};return c[n.parserResult.keyName]=b,c.value=a[b],c})};n.parserResult.keyName&&(l(),n.parserResult.source=i("$uisSource"+n.parserResult.filters),b.$watch(j,function(a,b){a!==b&&l()},!0)),n.refreshItems=function(a){a=a||n.parserResult.source(b);var c=n.selected;if(n.isEmpty()||angular.isArray(c)&&!c.length||!n.removeSelected)n.setItemsFn(a);else if(void 0!==a){var d=a.filter(function(a){return c&&c.indexOf(a)<0});n.setItemsFn(d)}("auto"===n.dropdownPosition||"up"===n.dropdownPosition)&&b.calculateDropdownPos()},b.$watchCollection(n.parserResult.source,function(a){if(void 0===a||null===a)n.items=[];else{if(!angular.isArray(a))throw g("items","Expected an array but got '{0}'.",a);n.refreshItems(a),n.ngModel.$modelValue=null}})};var p;n.refresh=function(a){void 0!==a&&(p&&d.cancel(p),p=d(function(){b.$eval(a)},n.refreshDelay))},n.isActive=function(a){if(!n.open)return!1;var b=n.items.indexOf(a[n.itemProperty]),c=b===n.activeIndex;return!c||0>b&&n.taggingLabel!==!1||0>b&&n.taggingLabel===!1?!1:(c&&!angular.isUndefined(n.onHighlightCallback)&&a.$eval(n.onHighlightCallback),c)},n.isDisabled=function(a){if(n.open){var b,c=n.items.indexOf(a[n.itemProperty]),d=!1;return c>=0&&!angular.isUndefined(n.disableChoiceExpression)&&(b=n.items[c],d=!!a.$eval(n.disableChoiceExpression),b._uiSelectChoiceDisabled=d),d}},n.select=function(a,c,e){if(void 0===a||!a._uiSelectChoiceDisabled){if(!n.items&&!n.search)return;if(!a||!a._uiSelectChoiceDisabled){if(n.tagging.isActivated){if(n.taggingLabel===!1)if(n.activeIndex<0){if(a=void 0!==n.tagging.fct?n.tagging.fct(n.search):n.search,!a||angular.equals(n.items[0],a))return}else a=n.items[n.activeIndex];else if(0===n.activeIndex){if(void 0===a)return;if(void 0!==n.tagging.fct&&"string"==typeof a){if(a=n.tagging.fct(n.search),!a)return}else"string"==typeof a&&(a=a.replace(n.taggingLabel,"").trim())}if(n.selected&&angular.isArray(n.selected)&&n.selected.filter(function(b){return angular.equals(b,a)}).length>0)return void n.close(c)}b.$broadcast("uis:select",a);var f={};f[n.parserResult.itemName]=a,d(function(){n.onSelectCallback(b,{$item:a,$model:n.parserResult.modelMapper(b,f)})}),n.closeOnSelect&&n.close(c),e&&"click"===e.type&&(n.clickTriggeredSelect=!0)}}},n.close=function(a){n.open&&(n.ngModel&&n.ngModel.$setTouched&&n.ngModel.$setTouched(),j(),n.open=!1,b.$broadcast("uis:close",a))},n.setFocus=function(){n.focus||n.focusInput[0].focus()},n.clear=function(a){n.select(void 0),a.stopPropagation(),d(function(){n.focusser[0].focus()},0,!1)},n.toggle=function(a){n.open?(n.close(),a.preventDefault(),a.stopPropagation()):n.activate()},n.isLocked=function(a,b){var c,d=n.selected[b];return d&&!angular.isUndefined(n.lockChoiceExpression)&&(c=!!a.$eval(n.lockChoiceExpression),d._uiSelectChoiceLocked=c),c};var q=null;n.sizeSearchInput=function(){var a=n.searchInput[0],c=n.searchInput.parent().parent()[0],e=function(){return c.clientWidth*!!a.offsetParent},f=function(b){if(0===b)return!1;var c=b-a.offsetLeft-10;return 50>c&&(c=b),n.searchInput.css("width",c+"px"),!0};n.searchInput.css("width","10px"),d(function(){null!==q||f(e())||(q=b.$watch(e,function(a){f(a)&&(q(),q=null)}))})},n.searchInput.on("keydown",function(c){var e=c.which;b.$apply(function(){var b=!1;if((n.items.length>0||n.tagging.isActivated)&&(l(e),n.taggingTokens.isActivated)){for(var f=0;f<n.taggingTokens.tokens.length;f++)n.taggingTokens.tokens[f]===a.MAP[c.keyCode]&&n.search.length>0&&(b=!0);b&&d(function(){n.searchInput.triggerHandler("tagged");var b=n.search.replace(a.MAP[c.keyCode],"").trim();n.tagging.fct&&(b=n.tagging.fct(b)),b&&n.select(b,!0)})}}),a.isVerticalMovement(e)&&n.items.length>0&&m(),(e===a.ENTER||e===a.ESC)&&(c.preventDefault(),c.stopPropagation())}),n.searchInput.on("paste",function(a){var b=a.originalEvent.clipboardData.getData("text/plain");if(b&&b.length>0&&n.taggingTokens.isActivated&&n.tagging.fct){var c=b.split(n.taggingTokens.tokens[0]);c&&c.length>0&&(angular.forEach(c,function(a){var b=n.tagging.fct(a);b&&n.select(b,!0)}),a.preventDefault(),a.stopPropagation())}}),n.searchInput.on("tagged",function(){d(function(){j()})}),b.$on("$destroy",function(){n.searchInput.off("keyup keydown tagged blur paste")})}]),c.directive("uiSelect",["$document","uiSelectConfig","uiSelectMinErr","uisOffset","$compile","$parse","$timeout",function(a,b,c,d,e,f,g){return{restrict:"EA",templateUrl:function(a,c){var d=c.theme||b.theme;return d+(angular.isDefined(c.multiple)?"/select-multiple.tpl.html":"/select.tpl.html")},replace:!0,transclude:!0,require:["uiSelect","^ngModel"],scope:!0,controller:"uiSelectCtrl",controllerAs:"$select",compile:function(e,h){return angular.isDefined(h.multiple)?e.append("<ui-select-multiple/>").removeAttr("multiple"):e.append("<ui-select-single/>"),h.inputId&&(e.querySelectorAll("input.ui-select-search")[0].id=h.inputId),function(e,h,i,j,k){function l(a){if(o.open){var b=!1;if(b=window.jQuery?window.jQuery.contains(h[0],a.target):h[0].contains(a.target),!b&&!o.clickTriggeredSelect){var c=["input","button","textarea"],d=angular.element(a.target).controller("uiSelect"),f=d&&d!==o;f||(f=~c.indexOf(a.target.tagName.toLowerCase())),o.close(f),e.$digest()}o.clickTriggeredSelect=!1}}function m(){var b=d(h);r=angular.element('<div class="ui-select-placeholder"></div>'),r[0].style.width=b.width+"px",r[0].style.height=b.height+"px",h.after(r),s=h[0].style.width,a.find("body").append(h),h[0].style.position="absolute",h[0].style.left=b.left+"px",h[0].style.top=b.top+"px",h[0].style.width=b.width+"px"}function n(){null!==r&&(r.replaceWith(h),r=null,h[0].style.position="",h[0].style.left="",h[0].style.top="",h[0].style.width=s)}var o=j[0],p=j[1];o.generatedId=b.generateId(),o.baseTitle=i.title||"Select box",o.focusserTitle=o.baseTitle+" focus",o.focusserId="focusser-"+o.generatedId,o.closeOnSelect=function(){return angular.isDefined(i.closeOnSelect)?f(i.closeOnSelect)():b.closeOnSelect}(),o.onSelectCallback=f(i.onSelect),o.onRemoveCallback=f(i.onRemove),o.limit=angular.isDefined(i.limit)?parseInt(i.limit,10):void 0,o.ngModel=p,o.choiceGrouped=function(a){return o.isGrouped&&a&&a.name},i.tabindex&&i.$observe("tabindex",function(a){o.focusInput.attr("tabindex",a),h.removeAttr("tabindex")}),e.$watch("searchEnabled",function(){var a=e.$eval(i.searchEnabled);o.searchEnabled=void 0!==a?a:b.searchEnabled}),e.$watch("sortable",function(){var a=e.$eval(i.sortable);o.sortable=void 0!==a?a:b.sortable}),i.$observe("disabled",function(){o.disabled=void 0!==i.disabled?i.disabled:!1}),i.$observe("resetSearchInput",function(){var a=e.$eval(i.resetSearchInput);o.resetSearchInput=void 0!==a?a:!0}),i.$observe("tagging",function(){if(void 0!==i.tagging){var a=e.$eval(i.tagging);o.tagging={isActivated:!0,fct:a!==!0?a:void 0}}else o.tagging={isActivated:!1,fct:void 0}}),i.$observe("taggingLabel",function(){void 0!==i.tagging&&("false"===i.taggingLabel?o.taggingLabel=!1:o.taggingLabel=void 0!==i.taggingLabel?i.taggingLabel:"(new)")}),i.$observe("taggingTokens",function(){if(void 0!==i.tagging){var a=void 0!==i.taggingTokens?i.taggingTokens.split("|"):[",","ENTER"];o.taggingTokens={isActivated:!0,tokens:a}}}),angular.isDefined(i.autofocus)&&g(function(){o.setFocus()}),angular.isDefined(i.focusOn)&&e.$on(i.focusOn,function(){g(function(){o.setFocus()})}),a.on("click",l),e.$on("$destroy",function(){a.off("click",l)}),k(e,function(a){var b=angular.element("<div>").append(a),d=b.querySelectorAll(".ui-select-match");if(d.removeAttr("ui-select-match"),d.removeAttr("data-ui-select-match"),1!==d.length)throw c("transcluded","Expected 1 .ui-select-match but got '{0}'.",d.length);h.querySelectorAll(".ui-select-match").replaceWith(d);var e=b.querySelectorAll(".ui-select-choices");if(e.removeAttr("ui-select-choices"),e.removeAttr("data-ui-select-choices"),1!==e.length)throw c("transcluded","Expected 1 .ui-select-choices but got '{0}'.",e.length);h.querySelectorAll(".ui-select-choices").replaceWith(e)});var q=e.$eval(i.appendToBody);(void 0!==q?q:b.appendToBody)&&(e.$watch("$select.open",function(a){a?m():n()}),e.$on("$destroy",function(){n()}));var r=null,s="",t=null,u="direction-up";e.$watch("$select.open",function(){("auto"===o.dropdownPosition||"up"===o.dropdownPosition)&&e.calculateDropdownPos()});var v=function(a,b){a=a||d(h),b=b||d(t),t[0].style.position="absolute",t[0].style.top=-1*b.height+"px",h.addClass(u)},w=function(a,b){h.removeClass(u),a=a||d(h),b=b||d(t),t[0].style.position="",t[0].style.top=""};e.calculateDropdownPos=function(){if(o.open){if(t=angular.element(h).querySelectorAll(".ui-select-dropdown"),0===t.length)return;t[0].style.opacity=0,g(function(){if("up"===o.dropdownPosition)v(b,c);else{h.removeClass(u);var b=d(h),c=d(t),e=a[0].documentElement.scrollTop||a[0].body.scrollTop;b.top+b.height+c.height>e+a[0].documentElement.clientHeight?v(b,c):w(b,c)}t[0].style.opacity=1})}else{if(null===t||0===t.length)return;t[0].style.position="",t[0].style.top="",h.removeClass(u)}}}}}}]),c.directive("uiSelectMatch",["uiSelectConfig",function(a){return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(b){var c=b.parent().attr("theme")||a.theme,d=b.parent().attr("multiple");return c+(d?"/match-multiple.tpl.html":"/match.tpl.html")},link:function(b,c,d,e){function f(a){e.allowClear=angular.isDefined(a)?""===a?!0:"true"===a.toLowerCase():!1}e.lockChoiceExpression=d.uiLockChoice,d.$observe("placeholder",function(b){e.placeholder=void 0!==b?b:a.placeholder}),d.$observe("allowClear",f),f(d.allowClear),e.multiple&&e.sizeSearchInput()}}}]),c.directive("uiSelectMultiple",["uiSelectMinErr","$timeout",function(b,c){return{restrict:"EA",require:["^uiSelect","^ngModel"],controller:["$scope","$timeout",function(a,b){var c,d=this,e=a.$select;a.$evalAsync(function(){c=a.ngModel}),d.activeMatchIndex=-1,d.updateModel=function(){c.$setViewValue(Date.now()),d.refreshComponent()},d.refreshComponent=function(){e.refreshItems(),e.sizeSearchInput()},d.removeChoice=function(c){var f=e.selected[c];if(!f._uiSelectChoiceLocked){var g={};g[e.parserResult.itemName]=f,e.selected.splice(c,1),d.activeMatchIndex=-1,e.sizeSearchInput(),b(function(){e.onRemoveCallback(a,{$item:f,$model:e.parserResult.modelMapper(a,g)})}),d.updateModel()}},d.getPlaceholder=function(){return e.selected&&e.selected.length?void 0:e.placeholder}}],controllerAs:"$selectMultiple",link:function(d,e,f,g){function h(a){return angular.isNumber(a.selectionStart)?a.selectionStart:a.value.length}function i(b){function c(){switch(b){case a.LEFT:return~n.activeMatchIndex?k:g;case a.RIGHT:return~n.activeMatchIndex&&i!==g?j:(l.activate(),!1);case a.BACKSPACE:return~n.activeMatchIndex?(n.removeChoice(i),k):g;case a.DELETE:return~n.activeMatchIndex?(n.removeChoice(n.activeMatchIndex),i):!1}}var d=h(l.searchInput[0]),e=l.selected.length,f=0,g=e-1,i=n.activeMatchIndex,j=n.activeMatchIndex+1,k=n.activeMatchIndex-1,m=i;return d>0||l.search.length&&b==a.RIGHT?!1:(l.close(),m=c(),l.selected.length&&m!==!1?n.activeMatchIndex=Math.min(g,Math.max(f,m)):n.activeMatchIndex=-1,!0)}function j(a){if(void 0===a||void 0===l.search)return!1;var b=a.filter(function(a){return void 0===l.search.toUpperCase()||void 0===a?!1:a.toUpperCase()===l.search.toUpperCase()}).length>0;return b}function k(a,b){var c=-1;if(angular.isArray(a))for(var d=angular.copy(a),e=0;e<d.length;e++)if(void 0===l.tagging.fct)d[e]+" "+l.taggingLabel===b&&(c=e);else{var f=d[e];f.isTag=!0,angular.equals(f,b)&&(c=e)}return c}var l=g[0],m=d.ngModel=g[1],n=d.$selectMultiple;l.multiple=!0,l.removeSelected=!0,l.focusInput=l.searchInput,m.$parsers.unshift(function(){for(var a,b={},c=[],e=l.selected.length-1;e>=0;e--)b={},b[l.parserResult.itemName]=l.selected[e],a=l.parserResult.modelMapper(d,b),c.unshift(a);return c}),m.$formatters.unshift(function(a){var b,c=l.parserResult.source(d,{$select:{search:""}}),e={};if(!c)return a;var f=[],g=function(a,c){if(a&&a.length){for(var g=a.length-1;g>=0;g--){if(e[l.parserResult.itemName]=a[g],b=l.parserResult.modelMapper(d,e),l.parserResult.trackByExp){var h=/\.(.+)/.exec(l.parserResult.trackByExp);if(h.length>0&&b[h[1]]==c[h[1]])return f.unshift(a[g]),!0}if(angular.equals(b,c))return f.unshift(a[g]),!0}return!1}};if(!a)return f;for(var h=a.length-1;h>=0;h--)g(l.selected,a[h])||g(c,a[h])||f.unshift(a[h]);return f}),d.$watchCollection(function(){return m.$modelValue},function(a,b){b!=a&&(m.$modelValue=null,n.refreshComponent())}),m.$render=function(){if(!angular.isArray(m.$viewValue)){if(!angular.isUndefined(m.$viewValue)&&null!==m.$viewValue)throw b("multiarr","Expected model value to be array but got '{0}'",m.$viewValue);l.selected=[]}l.selected=m.$viewValue,d.$evalAsync()},d.$on("uis:select",function(a,b){l.selected.length>=l.limit||(l.selected.push(b),n.updateModel())}),d.$on("uis:activate",function(){n.activeMatchIndex=-1}),d.$watch("$select.disabled",function(a,b){b&&!a&&l.sizeSearchInput()}),l.searchInput.on("keydown",function(b){var c=b.which;d.$apply(function(){var d=!1;a.isHorizontalMovement(c)&&(d=i(c)),d&&c!=a.TAB&&(b.preventDefault(),b.stopPropagation())})}),l.searchInput.on("keyup",function(b){if(a.isVerticalMovement(b.which)||d.$evalAsync(function(){l.activeIndex=l.taggingLabel===!1?-1:0}),l.tagging.isActivated&&l.search.length>0){if(b.which===a.TAB||a.isControl(b)||a.isFunctionKey(b)||b.which===a.ESC||a.isVerticalMovement(b.which))return;if(l.activeIndex=l.taggingLabel===!1?-1:0,l.taggingLabel===!1)return;var c,e,f,g,h=angular.copy(l.items),i=angular.copy(l.items),m=!1,n=-1;if(void 0!==l.tagging.fct){if(f=l.$filter("filter")(h,{isTag:!0}),f.length>0&&(g=f[0]),h.length>0&&g&&(m=!0,h=h.slice(1,h.length),i=i.slice(1,i.length)),c=l.tagging.fct(l.search),c.isTag=!0,i.filter(function(a){return angular.equals(a,l.tagging.fct(l.search))}).length>0)return;c.isTag=!0}else{if(f=l.$filter("filter")(h,function(a){return a.match(l.taggingLabel)}),f.length>0&&(g=f[0]),e=h[0],void 0!==e&&h.length>0&&g&&(m=!0,h=h.slice(1,h.length),i=i.slice(1,i.length)),c=l.search+" "+l.taggingLabel,k(l.selected,l.search)>-1)return;if(j(i.concat(l.selected)))return void(m&&(h=i,d.$evalAsync(function(){l.activeIndex=0,l.items=h})));if(j(i))return void(m&&(l.items=i.slice(1,i.length)))}m&&(n=k(l.selected,c)),n>-1?h=h.slice(n+1,h.length-1):(h=[],h.push(c),h=h.concat(i)),d.$evalAsync(function(){l.activeIndex=0,l.items=h})}}),l.searchInput.on("blur",function(){c(function(){n.activeMatchIndex=-1})})}}}]),c.directive("uiSelectSingle",["$timeout","$compile",function(b,c){return{restrict:"EA",require:["^uiSelect","^ngModel"],link:function(d,e,f,g){var h=g[0],i=g[1];i.$parsers.unshift(function(a){var b,c={};return c[h.parserResult.itemName]=a,b=h.parserResult.modelMapper(d,c)}),i.$formatters.unshift(function(a){var b,c=h.parserResult.source(d,{$select:{search:""}}),e={};if(c){var f=function(c){return e[h.parserResult.itemName]=c,b=h.parserResult.modelMapper(d,e),b==a};if(h.selected&&f(h.selected))return h.selected;for(var g=c.length-1;g>=0;g--)if(f(c[g]))return c[g]}return a}),d.$watch("$select.selected",function(a){i.$viewValue!==a&&i.$setViewValue(a)}),i.$render=function(){h.selected=i.$viewValue},d.$on("uis:select",function(a,b){h.selected=b}),d.$on("uis:close",function(a,c){b(function(){h.focusser.prop("disabled",!1),c||h.focusser[0].focus()},0,!1)}),d.$on("uis:activate",function(){j.prop("disabled",!0)});var j=angular.element("<input ng-disabled='$select.disabled' class='ui-select-focusser ui-select-offscreen' type='text' id='{{ $select.focusserId }}' aria-label='{{ $select.focusserTitle }}' aria-haspopup='true' role='button' />");c(j)(d),h.focusser=j,h.focusInput=j,e.parent().append(j),j.bind("focus",function(){d.$evalAsync(function(){h.focus=!0})}),j.bind("blur",function(){d.$evalAsync(function(){h.focus=!1})}),j.bind("keydown",function(b){return b.which===a.BACKSPACE?(b.preventDefault(),b.stopPropagation(),h.select(void 0),void d.$apply()):void(b.which===a.TAB||a.isControl(b)||a.isFunctionKey(b)||b.which===a.ESC||((b.which==a.DOWN||b.which==a.UP||b.which==a.ENTER||b.which==a.SPACE)&&(b.preventDefault(),b.stopPropagation(),h.activate()),d.$digest()))}),j.bind("keyup input",function(b){b.which===a.TAB||a.isControl(b)||a.isFunctionKey(b)||b.which===a.ESC||b.which==a.ENTER||b.which===a.BACKSPACE||(h.activate(j.val()),
-j.val(""),d.$digest())})}}}]),c.directive("uiSelectSort",["$timeout","uiSelectConfig","uiSelectMinErr",function(a,b,c){return{require:"^uiSelect",link:function(b,d,e,f){if(null===b[e.uiSelectSort])throw c("sort","Expected a list to sort");var g=angular.extend({axis:"horizontal"},b.$eval(e.uiSelectSortOptions)),h=g.axis,i="dragging",j="dropping",k="dropping-before",l="dropping-after";b.$watch(function(){return f.sortable},function(a){a?d.attr("draggable",!0):d.removeAttr("draggable")}),d.on("dragstart",function(a){d.addClass(i),(a.dataTransfer||a.originalEvent.dataTransfer).setData("text/plain",b.$index)}),d.on("dragend",function(){d.removeClass(i)});var m,n=function(a,b){this.splice(b,0,this.splice(a,1)[0])},o=function(a){a.preventDefault();var b="vertical"===h?a.offsetY||a.layerY||(a.originalEvent?a.originalEvent.offsetY:0):a.offsetX||a.layerX||(a.originalEvent?a.originalEvent.offsetX:0);b<this["vertical"===h?"offsetHeight":"offsetWidth"]/2?(d.removeClass(l),d.addClass(k)):(d.removeClass(k),d.addClass(l))},p=function(b){b.preventDefault();var c=parseInt((b.dataTransfer||b.originalEvent.dataTransfer).getData("text/plain"),10);a.cancel(m),m=a(function(){q(c)},20)},q=function(a){var c=b.$eval(e.uiSelectSort),f=c[a],g=null;g=d.hasClass(k)?a<b.$index?b.$index-1:b.$index:a<b.$index?b.$index:b.$index+1,n.apply(c,[a,g]),b.$apply(function(){b.$emit("uiSelectSort:change",{array:c,item:f,from:a,to:g})}),d.removeClass(j),d.removeClass(k),d.removeClass(l),d.off("drop",p)};d.on("dragenter",function(){d.hasClass(i)||(d.addClass(j),d.on("dragover",o),d.on("drop",p))}),d.on("dragleave",function(a){a.target==d&&(d.removeClass(j),d.removeClass(k),d.removeClass(l),d.off("dragover",o),d.off("drop",p))})}}}]),c.service("uisRepeatParser",["uiSelectMinErr","$parse",function(a,b){var c=this;c.parse=function(c){var d,e=/\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)/.test(c);if(d=c.match(/^\s*(?:([\s\S]+?)\s+as\s+)?(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+(([\w\.]+)?\s*(|\s*[\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/),!d)throw a("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",c);if(!d[6]&&e)throw a("iexp","Expected expression in form of '_item_ as (_key_, _item_) in _ObjCollection_ [ track by _id_]' but got '{0}'.",c);return{itemName:d[4]||d[2],keyName:d[3],source:b(d[3]?d[6]:d[5]),sourceName:d[6],filters:d[7],trackByExp:d[8],modelMapper:b(d[1]||d[4]||d[2]),repeatExpression:function(a){var b=this.itemName+" in "+(a?"$group.items":"$select.items");return this.trackByExp&&(b+=" track by "+this.trackByExp),b}}},c.getGroupNgRepeatExpression=function(){return"$group in $select.groups"}}])}(),angular.module("ui.select").run(["$templateCache",function(a){a.put("bootstrap/choices.tpl.html",'<ul class="ui-select-choices ui-select-choices-content ui-select-dropdown dropdown-menu" role="listbox" ng-show="$select.items.length > 0"><li class="ui-select-choices-group" id="ui-select-choices-{{ $select.generatedId }}"><div class="divider" ng-show="$select.isGrouped && $index > 0"></div><div ng-show="$select.isGrouped" class="ui-select-choices-group-label dropdown-header" ng-bind="$group.name"></div><div id="ui-select-choices-row-{{ $select.generatedId }}-{{$index}}" class="ui-select-choices-row" ng-class="{active: $select.isActive(this), disabled: $select.isDisabled(this)}" role="option"><a href="javascript:void(0)" class="ui-select-choices-row-inner"></a></div></li></ul>'),a.put("bootstrap/match-multiple.tpl.html",'<span class="ui-select-match"><span ng-repeat="$item in $select.selected"><span class="ui-select-match-item btn btn-default btn-xs" tabindex="-1" type="button" ng-disabled="$select.disabled" ng-click="$selectMultiple.activeMatchIndex = $index;" ng-class="{\'btn-primary\':$selectMultiple.activeMatchIndex === $index, \'select-locked\':$select.isLocked(this, $index)}" ui-select-sort="$select.selected"><span class="close ui-select-match-close" ng-hide="$select.disabled" ng-click="$selectMultiple.removeChoice($index)">&nbsp;&times;</span> <span uis-transclude-append=""></span></span></span></span>'),a.put("bootstrap/match.tpl.html",'<div class="ui-select-match" ng-hide="$select.open" ng-disabled="$select.disabled" ng-class="{\'btn-default-focus\':$select.focus}"><span tabindex="-1" class="btn btn-default form-control ui-select-toggle" aria-label="{{ $select.baseTitle }} activate" ng-disabled="$select.disabled" ng-click="$select.activate()" style="outline: 0;"><span ng-show="$select.isEmpty()" class="ui-select-placeholder text-muted">{{$select.placeholder}}</span> <span ng-hide="$select.isEmpty()" class="ui-select-match-text pull-left" ng-class="{\'ui-select-allow-clear\': $select.allowClear && !$select.isEmpty()}" ng-transclude=""></span> <i class="caret pull-right" ng-click="$select.toggle($event)"></i> <a ng-show="$select.allowClear && !$select.isEmpty()" aria-label="{{ $select.baseTitle }} clear" style="margin-right: 10px" ng-click="$select.clear($event)" class="btn btn-xs btn-link pull-right"><i class="glyphicon glyphicon-remove" aria-hidden="true"></i></a></span></div>'),a.put("bootstrap/select-multiple.tpl.html",'<div class="ui-select-container ui-select-multiple ui-select-bootstrap dropdown form-control" ng-class="{open: $select.open}"><div><div class="ui-select-match"></div><input type="text" autocomplete="false" autocorrect="off" autocapitalize="off" spellcheck="false" class="ui-select-search input-xs" placeholder="{{$selectMultiple.getPlaceholder()}}" ng-disabled="$select.disabled" ng-hide="$select.disabled" ng-click="$select.activate()" ng-model="$select.search" role="combobox" aria-label="{{ $select.baseTitle }}" ondrop="return false;"></div><div class="ui-select-choices"></div></div>'),a.put("bootstrap/select.tpl.html",'<div class="ui-select-container ui-select-bootstrap dropdown" ng-class="{open: $select.open}"><div class="ui-select-match"></div><input type="text" autocomplete="false" tabindex="-1" aria-expanded="true" aria-label="{{ $select.baseTitle }}" aria-owns="ui-select-choices-{{ $select.generatedId }}" aria-activedescendant="ui-select-choices-row-{{ $select.generatedId }}-{{ $select.activeIndex }}" class="form-control ui-select-search" placeholder="{{$select.placeholder}}" ng-model="$select.search" ng-show="$select.searchEnabled && $select.open"><div class="ui-select-choices"></div></div>'),a.put("selectize/choices.tpl.html",'<div ng-show="$select.open" class="ui-select-choices ui-select-dropdown selectize-dropdown single"><div class="ui-select-choices-content selectize-dropdown-content"><div class="ui-select-choices-group optgroup" role="listbox"><div ng-show="$select.isGrouped" class="ui-select-choices-group-label optgroup-header" ng-bind="$group.name"></div><div role="option" class="ui-select-choices-row" ng-class="{active: $select.isActive(this), disabled: $select.isDisabled(this)}"><div class="option ui-select-choices-row-inner" data-selectable=""></div></div></div></div></div>'),a.put("selectize/match.tpl.html",'<div ng-hide="($select.open || $select.isEmpty())" class="ui-select-match" ng-transclude=""></div>'),a.put("selectize/select.tpl.html",'<div class="ui-select-container selectize-control single" ng-class="{\'open\': $select.open}"><div class="selectize-input" ng-class="{\'focus\': $select.open, \'disabled\': $select.disabled, \'selectize-focus\' : $select.focus}" ng-click="$select.activate()"><div class="ui-select-match"></div><input type="text" autocomplete="false" tabindex="-1" class="ui-select-search ui-select-toggle" ng-click="$select.toggle($event)" placeholder="{{$select.placeholder}}" ng-model="$select.search" ng-hide="!$select.searchEnabled || ($select.selected && !$select.open)" ng-disabled="$select.disabled" aria-label="{{ $select.baseTitle }}"></div><div class="ui-select-choices"></div></div>'),a.put("select2/choices.tpl.html",'<ul class="ui-select-choices ui-select-choices-content select2-results"><li class="ui-select-choices-group" ng-class="{\'select2-result-with-children\': $select.choiceGrouped($group) }"><div ng-show="$select.choiceGrouped($group)" class="ui-select-choices-group-label select2-result-label" ng-bind="$group.name"></div><ul role="listbox" id="ui-select-choices-{{ $select.generatedId }}" ng-class="{\'select2-result-sub\': $select.choiceGrouped($group), \'select2-result-single\': !$select.choiceGrouped($group) }"><li role="option" id="ui-select-choices-row-{{ $select.generatedId }}-{{$index}}" class="ui-select-choices-row" ng-class="{\'select2-highlighted\': $select.isActive(this), \'select2-disabled\': $select.isDisabled(this)}"><div class="select2-result-label ui-select-choices-row-inner"></div></li></ul></li></ul>'),a.put("select2/match-multiple.tpl.html",'<span class="ui-select-match"><li class="ui-select-match-item select2-search-choice" ng-repeat="$item in $select.selected" ng-class="{\'select2-search-choice-focus\':$selectMultiple.activeMatchIndex === $index, \'select2-locked\':$select.isLocked(this, $index)}" ui-select-sort="$select.selected"><span uis-transclude-append=""></span> <a href="javascript:;" class="ui-select-match-close select2-search-choice-close" ng-click="$selectMultiple.removeChoice($index)" tabindex="-1"></a></li></span>'),a.put("select2/match.tpl.html",'<a class="select2-choice ui-select-match" ng-class="{\'select2-default\': $select.isEmpty()}" ng-click="$select.toggle($event)" aria-label="{{ $select.baseTitle }} select"><span ng-show="$select.isEmpty()" class="select2-chosen">{{$select.placeholder}}</span> <span ng-hide="$select.isEmpty()" class="select2-chosen" ng-transclude=""></span> <abbr ng-if="$select.allowClear && !$select.isEmpty()" class="select2-search-choice-close" ng-click="$select.clear($event)"></abbr> <span class="select2-arrow ui-select-toggle"><b></b></span></a>'),a.put("select2/select-multiple.tpl.html",'<div class="ui-select-container ui-select-multiple select2 select2-container select2-container-multi" ng-class="{\'select2-container-active select2-dropdown-open open\': $select.open, \'select2-container-disabled\': $select.disabled}"><ul class="select2-choices"><span class="ui-select-match"></span><li class="select2-search-field"><input type="text" autocomplete="false" autocorrect="off" autocapitalize="off" spellcheck="false" role="combobox" aria-expanded="true" aria-owns="ui-select-choices-{{ $select.generatedId }}" aria-label="{{ $select.baseTitle }}" aria-activedescendant="ui-select-choices-row-{{ $select.generatedId }}-{{ $select.activeIndex }}" class="select2-input ui-select-search" placeholder="{{$selectMultiple.getPlaceholder()}}" ng-disabled="$select.disabled" ng-hide="$select.disabled" ng-model="$select.search" ng-click="$select.activate()" style="width: 34px;" ondrop="return false;"></li></ul><div class="ui-select-dropdown select2-drop select2-with-searchbox select2-drop-active" ng-class="{\'select2-display-none\': !$select.open}"><div class="ui-select-choices"></div></div></div>'),a.put("select2/select.tpl.html",'<div class="ui-select-container select2 select2-container" ng-class="{\'select2-container-active select2-dropdown-open open\': $select.open, \'select2-container-disabled\': $select.disabled, \'select2-container-active\': $select.focus, \'select2-allowclear\': $select.allowClear && !$select.isEmpty()}"><div class="ui-select-match"></div><div class="ui-select-dropdown select2-drop select2-with-searchbox select2-drop-active" ng-class="{\'select2-display-none\': !$select.open}"><div class="select2-search" ng-show="$select.searchEnabled"><input type="text" autocomplete="false" autocorrect="false" autocapitalize="off" spellcheck="false" role="combobox" aria-expanded="true" aria-owns="ui-select-choices-{{ $select.generatedId }}" aria-label="{{ $select.baseTitle }}" aria-activedescendant="ui-select-choices-row-{{ $select.generatedId }}-{{ $select.activeIndex }}" class="ui-select-search select2-input" ng-model="$select.search"></div><div class="ui-select-choices"></div></div></div>')}]),function(){window.WebComponents=window.WebComponents||{flags:{}};var a="webcomponents.js",b=document.querySelector('script[src*="'+a+'"]'),c={};if(!c.noOpts){if(location.search.slice(1).split("&").forEach(function(a){var b,d=a.split("=");d[0]&&(b=d[0].match(/wc-(.+)/))&&(c[b[1]]=d[1]||!0)}),b)for(var d,e=0;d=b.attributes[e];e++)"src"!==d.name&&(c[d.name]=d.value||!0);if(c.log&&c.log.split){var f=c.log.split(",");c.log={},f.forEach(function(a){c.log[a]=!0})}else c.log={}}c.shadow=c.shadow||c.shadowdom||c.polyfill,"native"===c.shadow?c.shadow=!1:c.shadow=c.shadow||!HTMLElement.prototype.createShadowRoot,c.register&&(window.CustomElements=window.CustomElements||{flags:{}},window.CustomElements.flags.register=c.register),WebComponents.flags=c}(),WebComponents.flags.shadow&&("undefined"==typeof WeakMap&&!function(){var a=Object.defineProperty,b=Date.now()%1e9,c=function(){this.name="__st"+(1e9*Math.random()>>>0)+(b++ +"__")};c.prototype={set:function(b,c){var d=b[this.name];return d&&d[0]===b?d[1]=c:a(b,this.name,{value:[b,c],writable:!0}),this},get:function(a){var b;return(b=a[this.name])&&b[0]===a?b[1]:void 0},"delete":function(a){var b=a[this.name];return b&&b[0]===a?(b[0]=b[1]=void 0,!0):!1},has:function(a){var b=a[this.name];return b?b[0]===a:!1}},window.WeakMap=c}(),window.ShadowDOMPolyfill={},function(a){"use strict";function b(){if("undefined"!=typeof chrome&&chrome.app&&chrome.app.runtime)return!1;if(navigator.getDeviceStorage)return!1;try{var a=new Function("return true;");return a()}catch(b){return!1}}function c(a){if(!a)throw new Error("Assertion failed")}function d(a,b){for(var c=N(b),d=0;d<c.length;d++){var e=c[d];M(a,e,O(b,e))}return a}function e(a,b){for(var c=N(b),d=0;d<c.length;d++){var e=c[d];switch(e){case"arguments":case"caller":case"length":case"name":case"prototype":case"toString":continue}M(a,e,O(b,e))}return a}function f(a,b){for(var c=0;c<b.length;c++)if(b[c]in a)return b[c]}function g(a,b,c){P.value=c,M(a,b,P)}function h(a,b){var c=a.__proto__||Object.getPrototypeOf(a);if(Q)try{N(c)}catch(d){c=c.__proto__}var e=I.get(c);if(e)return e;var f=h(c),g=v(f);return s(c,g,b),g}function i(a,b){q(a,b,!0)}function j(a,b){q(b,a,!1)}function k(a){return/^on[a-z]+$/.test(a)}function l(a){return/^[a-zA-Z_$][a-zA-Z_$0-9]*$/.test(a)}function m(a){return L&&l(a)?new Function("return this.__impl4cf1e782hg__."+a):function(){return this.__impl4cf1e782hg__[a]}}function n(a){return L&&l(a)?new Function("v","this.__impl4cf1e782hg__."+a+" = v"):function(b){this.__impl4cf1e782hg__[a]=b}}function o(a){return L&&l(a)?new Function("return this.__impl4cf1e782hg__."+a+".apply(this.__impl4cf1e782hg__, arguments)"):function(){return this.__impl4cf1e782hg__[a].apply(this.__impl4cf1e782hg__,arguments)}}function p(a,b){try{return Object.getOwnPropertyDescriptor(a,b)}catch(c){return R}}function q(b,c,d,e){for(var f=N(b),g=0;g<f.length;g++){var h=f[g];if("polymerBlackList_"!==h&&!(h in c||b.polymerBlackList_&&b.polymerBlackList_[h])){Q&&b.__lookupGetter__(h);var i,j,l=p(b,h);if("function"!=typeof l.value){var q=k(h);i=q?a.getEventHandlerGetter(h):m(h),(l.writable||l.set||S)&&(j=q?a.getEventHandlerSetter(h):n(h));var r=S||l.configurable;M(c,h,{get:i,set:j,configurable:r,enumerable:l.enumerable})}else d&&(c[h]=o(h))}}}function r(a,b,c){if(null!=a){var d=a.prototype;s(d,b,c),e(b,a)}}function s(a,b,d){var e=b.prototype;c(void 0===I.get(a)),I.set(a,b),J.set(e,a),i(a,e),d&&j(e,d),g(e,"constructor",b),b.prototype=e}function t(a,b){return I.get(b.prototype)===a}function u(a){var b=Object.getPrototypeOf(a),c=h(b),d=v(c);return s(b,d,a),d}function v(a){function b(b){a.call(this,b)}var c=Object.create(a.prototype);return c.constructor=b,b.prototype=c,b}function w(a){return a&&a.__impl4cf1e782hg__}function x(a){return!w(a)}function y(a){if(null===a)return null;c(x(a));var b=a.__wrapper8e3dd93a60__;return null!=b?b:a.__wrapper8e3dd93a60__=new(h(a,a))(a)}function z(a){return null===a?null:(c(w(a)),a.__impl4cf1e782hg__)}function A(a){return a.__impl4cf1e782hg__}function B(a,b){b.__impl4cf1e782hg__=a,a.__wrapper8e3dd93a60__=b}function C(a){return a&&w(a)?z(a):a}function D(a){return a&&!w(a)?y(a):a}function E(a,b){null!==b&&(c(x(a)),c(void 0===b||w(b)),a.__wrapper8e3dd93a60__=b)}function F(a,b,c){T.get=c,M(a.prototype,b,T)}function G(a,b){F(a,b,function(){return y(this.__impl4cf1e782hg__[b])})}function H(a,b){a.forEach(function(a){b.forEach(function(b){a.prototype[b]=function(){var a=D(this);return a[b].apply(a,arguments)}})})}var I=new WeakMap,J=new WeakMap,K=Object.create(null),L=b(),M=Object.defineProperty,N=Object.getOwnPropertyNames,O=Object.getOwnPropertyDescriptor,P={value:void 0,configurable:!0,enumerable:!1,writable:!0};N(window);var Q=/Firefox/.test(navigator.userAgent),R={get:function(){},set:function(a){},configurable:!0,enumerable:!0},S=function(){var a=Object.getOwnPropertyDescriptor(Node.prototype,"nodeType");return a&&!a.get&&!a.set}(),T={get:void 0,configurable:!0,enumerable:!0};a.assert=c,a.constructorTable=I,a.defineGetter=F,a.defineWrapGetter=G,a.forwardMethodsToWrapper=H,a.isIdentifierName=l,a.isWrapper=w,a.isWrapperFor=t,a.mixin=d,a.nativePrototypeTable=J,a.oneOf=f,a.registerObject=u,a.registerWrapper=r,a.rewrap=E,a.setWrapper=B,a.unsafeUnwrap=A,a.unwrap=z,a.unwrapIfNeeded=C,a.wrap=y,a.wrapIfNeeded=D,a.wrappers=K}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a,b,c){return{index:a,removed:b,addedCount:c}}function c(){}var d=0,e=1,f=2,g=3;c.prototype={calcEditDistances:function(a,b,c,d,e,f){for(var g=f-e+1,h=c-b+1,i=new Array(g),j=0;g>j;j++)i[j]=new Array(h),i[j][0]=j;for(var k=0;h>k;k++)i[0][k]=k;for(var j=1;g>j;j++)for(var k=1;h>k;k++)if(this.equals(a[b+k-1],d[e+j-1]))i[j][k]=i[j-1][k-1];else{var l=i[j-1][k]+1,m=i[j][k-1]+1;i[j][k]=m>l?l:m}return i},spliceOperationsFromEditDistances:function(a){for(var b=a.length-1,c=a[0].length-1,h=a[b][c],i=[];b>0||c>0;)if(0!=b)if(0!=c){var j,k=a[b-1][c-1],l=a[b-1][c],m=a[b][c-1];j=m>l?k>l?l:k:k>m?m:k,j==k?(k==h?i.push(d):(i.push(e),h=k),b--,c--):j==l?(i.push(g),b--,h=l):(i.push(f),c--,h=m)}else i.push(g),b--;else i.push(f),c--;return i.reverse(),i},calcSplices:function(a,c,h,i,j,k){var l=0,m=0,n=Math.min(h-c,k-j);if(0==c&&0==j&&(l=this.sharedPrefix(a,i,n)),h==a.length&&k==i.length&&(m=this.sharedSuffix(a,i,n-l)),c+=l,j+=l,h-=m,k-=m,h-c==0&&k-j==0)return[];if(c==h){for(var o=b(c,[],0);k>j;)o.removed.push(i[j++]);return[o]}if(j==k)return[b(c,[],h-c)];for(var p=this.spliceOperationsFromEditDistances(this.calcEditDistances(a,c,h,i,j,k)),o=void 0,q=[],r=c,s=j,t=0;t<p.length;t++)switch(p[t]){case d:o&&(q.push(o),o=void 0),r++,s++;break;case e:o||(o=b(r,[],0)),o.addedCount++,r++,o.removed.push(i[s]),s++;break;case f:o||(o=b(r,[],0)),o.addedCount++,r++;break;case g:o||(o=b(r,[],0)),o.removed.push(i[s]),s++}return o&&q.push(o),q},sharedPrefix:function(a,b,c){for(var d=0;c>d;d++)if(!this.equals(a[d],b[d]))return d;return c},sharedSuffix:function(a,b,c){for(var d=a.length,e=b.length,f=0;c>f&&this.equals(a[--d],b[--e]);)f++;return f},calculateSplices:function(a,b){return this.calcSplices(a,0,a.length,b,0,b.length)},equals:function(a,b){return a===b}},a.ArraySplice=c}(window.ShadowDOMPolyfill),function(a){"use strict";function b(){g=!1;var a=f.slice(0);f=[];for(var b=0;b<a.length;b++)(0,a[b])()}function c(a){f.push(a),g||(g=!0,d(b,0))}var d,e=window.MutationObserver,f=[],g=!1;if(e){var h=1,i=new e(b),j=document.createTextNode(h);i.observe(j,{characterData:!0}),d=function(){h=(h+1)%2,j.data=h}}else d=window.setTimeout;a.setEndOfMicrotask=c}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){a.scheduled_||(a.scheduled_=!0,o.push(a),p||(k(c),p=!0))}function c(){for(p=!1;o.length;){var a=o;o=[],a.sort(function(a,b){return a.uid_-b.uid_});for(var b=0;b<a.length;b++){var c=a[b];c.scheduled_=!1;var d=c.takeRecords();f(c),d.length&&c.callback_(d,c)}}}function d(a,b){this.type=a,this.target=b,this.addedNodes=new m.NodeList,this.removedNodes=new m.NodeList,this.previousSibling=null,this.nextSibling=null,this.attributeName=null,this.attributeNamespace=null,this.oldValue=null}function e(a,b){for(;a;a=a.parentNode){var c=n.get(a);if(c)for(var d=0;d<c.length;d++){var e=c[d];e.options.subtree&&e.addTransientObserver(b)}}}function f(a){for(var b=0;b<a.nodes_.length;b++){var c=a.nodes_[b],d=n.get(c);if(!d)return;for(var e=0;e<d.length;e++){var f=d[e];f.observer===a&&f.removeTransientObservers()}}}function g(a,c,e){for(var f=Object.create(null),g=Object.create(null),h=a;h;h=h.parentNode){var i=n.get(h);if(i)for(var j=0;j<i.length;j++){var k=i[j],l=k.options;if((h===a||l.subtree)&&("attributes"!==c||l.attributes)&&("attributes"!==c||!l.attributeFilter||null===e.namespace&&-1!==l.attributeFilter.indexOf(e.name))&&("characterData"!==c||l.characterData)&&("childList"!==c||l.childList)){var m=k.observer;f[m.uid_]=m,("attributes"===c&&l.attributeOldValue||"characterData"===c&&l.characterDataOldValue)&&(g[m.uid_]=e.oldValue)}}}for(var o in f){var m=f[o],p=new d(c,a);"name"in e&&"namespace"in e&&(p.attributeName=e.name,p.attributeNamespace=e.namespace),e.addedNodes&&(p.addedNodes=e.addedNodes),e.removedNodes&&(p.removedNodes=e.removedNodes),e.previousSibling&&(p.previousSibling=e.previousSibling),e.nextSibling&&(p.nextSibling=e.nextSibling),void 0!==g[o]&&(p.oldValue=g[o]),b(m),m.records_.push(p)}}function h(a){if(this.childList=!!a.childList,this.subtree=!!a.subtree,"attributes"in a||!("attributeOldValue"in a||"attributeFilter"in a)?this.attributes=!!a.attributes:this.attributes=!0,"characterDataOldValue"in a&&!("characterData"in a)?this.characterData=!0:this.characterData=!!a.characterData,!this.attributes&&(a.attributeOldValue||"attributeFilter"in a)||!this.characterData&&a.characterDataOldValue)throw new TypeError;if(this.characterData=!!a.characterData,this.attributeOldValue=!!a.attributeOldValue,this.characterDataOldValue=!!a.characterDataOldValue,"attributeFilter"in a){if(null==a.attributeFilter||"object"!=typeof a.attributeFilter)throw new TypeError;this.attributeFilter=q.call(a.attributeFilter)}else this.attributeFilter=null}function i(a){this.callback_=a,this.nodes_=[],this.records_=[],this.uid_=++r,this.scheduled_=!1}function j(a,b,c){this.observer=a,this.target=b,this.options=c,this.transientObservedNodes=[]}var k=a.setEndOfMicrotask,l=a.wrapIfNeeded,m=a.wrappers,n=new WeakMap,o=[],p=!1,q=Array.prototype.slice,r=0;i.prototype={constructor:i,observe:function(a,b){a=l(a);var c,d=new h(b),e=n.get(a);e||n.set(a,e=[]);for(var f=0;f<e.length;f++)e[f].observer===this&&(c=e[f],c.removeTransientObservers(),c.options=d);c||(c=new j(this,a,d),e.push(c),this.nodes_.push(a))},disconnect:function(){this.nodes_.forEach(function(a){for(var b=n.get(a),c=0;c<b.length;c++){var d=b[c];if(d.observer===this){b.splice(c,1);break}}},this),this.records_=[]},takeRecords:function(){var a=this.records_;return this.records_=[],a}},j.prototype={addTransientObserver:function(a){if(a!==this.target){b(this.observer),this.transientObservedNodes.push(a);var c=n.get(a);c||n.set(a,c=[]),c.push(this)}},removeTransientObservers:function(){var a=this.transientObservedNodes;this.transientObservedNodes=[];for(var b=0;b<a.length;b++)for(var c=a[b],d=n.get(c),e=0;e<d.length;e++)if(d[e]===this){d.splice(e,1);break}}},a.enqueueMutation=g,a.registerTransientObservers=e,a.wrappers.MutationObserver=i,a.wrappers.MutationRecord=d}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a,b){this.root=a,this.parent=b}function c(a,b){if(a.treeScope_!==b){a.treeScope_=b;for(var d=a.shadowRoot;d;d=d.olderShadowRoot)d.treeScope_.parent=b;for(var e=a.firstChild;e;e=e.nextSibling)c(e,b)}}function d(c){if(c instanceof a.wrappers.Window,c.treeScope_)return c.treeScope_;var e,f=c.parentNode;return e=f?d(f):new b(c,null),c.treeScope_=e}b.prototype={get renderer(){return this.root instanceof a.wrappers.ShadowRoot?a.getRendererForHost(this.root.host):null},contains:function(a){for(;a;a=a.parent)if(a===this)return!0;return!1}},a.TreeScope=b,a.getTreeScope=d,a.setTreeScope=c}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){return a instanceof T.ShadowRoot}function c(a){return M(a).root}function d(a,d){var h=[],i=a;for(h.push(i);i;){var j=g(i);if(j&&j.length>0){for(var k=0;k<j.length;k++){var m=j[k];if(f(m)){var n=c(m),o=n.olderShadowRoot;o&&h.push(o)}h.push(m)}i=j[j.length-1]}else if(b(i)){if(l(a,i)&&e(d))break;i=i.host,h.push(i)}else i=i.parentNode,i&&h.push(i)}return h}function e(a){if(!a)return!1;switch(a.type){case"abort":case"error":case"select":case"change":case"load":case"reset":case"resize":case"scroll":case"selectstart":return!0}return!1}function f(a){return a instanceof HTMLShadowElement}function g(b){return a.getDestinationInsertionPoints(b)}function h(a,b){if(0===a.length)return b;b instanceof T.Window&&(b=b.document);for(var c=M(b),d=a[0],e=M(d),f=j(c,e),g=0;g<a.length;g++){var h=a[g];if(M(h)===f)return h}return a[a.length-1]}function i(a){for(var b=[];a;a=a.parent)b.push(a);return b}function j(a,b){for(var c=i(a),d=i(b),e=null;c.length>0&&d.length>0;){var f=c.pop(),g=d.pop();if(f!==g)break;e=f}return e}function k(a,b,c){b instanceof T.Window&&(b=b.document);var e,f=M(b),g=M(c),h=d(c,a),e=j(f,g);e||(e=g.root);for(var i=e;i;i=i.parent)for(var k=0;k<h.length;k++){var l=h[k];if(M(l)===i)return l}return null}function l(a,b){return M(a)===M(b)}function m(a){if(!V.get(a)&&(V.set(a,!0),o(S(a),S(a.target)),K)){var b=K;throw K=null,b}}function n(a){switch(a.type){case"load":case"beforeunload":case"unload":return!0}return!1}function o(b,c){if(W.get(b))throw new Error("InvalidStateError");W.set(b,!0),a.renderAllPending();var e,f,g;if(n(b)&&!b.bubbles){var h=c;h instanceof T.Document&&(g=h.defaultView)&&(f=h,e=[])}if(!e)if(c instanceof T.Window)g=c,e=[];else if(e=d(c,b),!n(b)){var h=e[e.length-1];h instanceof T.Document&&(g=h.defaultView)}return ca.set(b,e),p(b,e,g,f)&&q(b,e,g,f)&&r(b,e,g,f),$.set(b,da),Y["delete"](b,null),W["delete"](b),b.defaultPrevented}function p(a,b,c,d){var e=ea;if(c&&!s(c,a,e,b,d))return!1;for(var f=b.length-1;f>0;f--)if(!s(b[f],a,e,b,d))return!1;return!0}function q(a,b,c,d){var e=fa,f=b[0]||c;return s(f,a,e,b,d)}function r(a,b,c,d){for(var e=ga,f=1;f<b.length;f++)if(!s(b[f],a,e,b,d))return;c&&b.length>0&&s(c,a,e,b,d)}function s(a,b,c,d,e){var f=U.get(a);if(!f)return!0;var g=e||h(d,a);if(g===a){if(c===ea)return!0;c===ga&&(c=fa)}else if(c===ga&&!b.bubbles)return!0;if("relatedTarget"in b){var i=R(b),j=i.relatedTarget;if(j){if(j instanceof Object&&j.addEventListener){var l=S(j),m=k(b,a,l);if(m===g)return!0}else m=null;Z.set(b,m)}}$.set(b,c);var n=b.type,o=!1;X.set(b,g),Y.set(b,a),f.depth++;for(var p=0,q=f.length;q>p;p++){var r=f[p];if(r.removed)o=!0;else if(!(r.type!==n||!r.capture&&c===ea||r.capture&&c===ga))try{if("function"==typeof r.handler?r.handler.call(a,b):r.handler.handleEvent(b),aa.get(b))return!1}catch(s){K||(K=s)}}if(f.depth--,o&&0===f.depth){var t=f.slice();f.length=0;for(var p=0;p<t.length;p++)t[p].removed||f.push(t[p])}return!_.get(b)}function t(a,b,c){this.type=a,this.handler=b,this.capture=Boolean(c)}function u(a,b){if(!(a instanceof ha))return S(y(ha,"Event",a,b));var c=a;return ta||"beforeunload"!==c.type||this instanceof z?void P(c,this):new z(c)}function v(a){return a&&a.relatedTarget?Object.create(a,{relatedTarget:{value:R(a.relatedTarget)}}):a}function w(a,b,c){var d=window[a],e=function(b,c){return b instanceof d?void P(b,this):S(y(d,a,b,c))};if(e.prototype=Object.create(b.prototype),c&&N(e.prototype,c),d)try{O(d,e,new d("temp"))}catch(f){O(d,e,document.createEvent(a))}return e}function x(a,b){return function(){arguments[b]=R(arguments[b]);var c=R(this);c[a].apply(c,arguments)}}function y(a,b,c,d){if(ra)return new a(c,v(d));var e=R(document.createEvent(b)),f=qa[b],g=[c];return Object.keys(f).forEach(function(a){var b=null!=d&&a in d?d[a]:f[a];"relatedTarget"===a&&(b=R(b)),g.push(b)}),e["init"+b].apply(e,g),e}function z(a){u.call(this,a)}function A(a){return"function"==typeof a?!0:a&&a.handleEvent}function B(a){switch(a){case"DOMAttrModified":case"DOMAttributeNameChanged":case"DOMCharacterDataModified":case"DOMElementNameChanged":case"DOMNodeInserted":case"DOMNodeInsertedIntoDocument":case"DOMNodeRemoved":case"DOMNodeRemovedFromDocument":case"DOMSubtreeModified":return!0}return!1}function C(a){P(a,this)}function D(a){return a instanceof T.ShadowRoot&&(a=a.host),R(a)}function E(a,b){var c=U.get(a);if(c)for(var d=0;d<c.length;d++)if(!c[d].removed&&c[d].type===b)return!0;return!1}function F(a,b){for(var c=R(a);c;c=c.parentNode)if(E(S(c),b))return!0;return!1}function G(a){L(a,va)}function H(b,c,e,f){a.renderAllPending();var g=S(wa.call(Q(c),e,f));if(!g)return null;var i=d(g,null),j=i.lastIndexOf(b);return-1==j?null:(i=i.slice(0,j),h(i,b))}function I(a){return function(){var b=ba.get(this);return b&&b[a]&&b[a].value||null}}function J(a){var b=a.slice(2);return function(c){var d=ba.get(this);d||(d=Object.create(null),ba.set(this,d));var e=d[a];if(e&&this.removeEventListener(b,e.wrapped,!1),"function"==typeof c){var f=function(b){var d=c.call(this,b);d===!1?b.preventDefault():"onbeforeunload"===a&&"string"==typeof d&&(b.returnValue=d)};this.addEventListener(b,f,!1),d[a]={value:c,wrapped:f}}}}var K,L=a.forwardMethodsToWrapper,M=a.getTreeScope,N=a.mixin,O=a.registerWrapper,P=a.setWrapper,Q=a.unsafeUnwrap,R=a.unwrap,S=a.wrap,T=a.wrappers,U=(new WeakMap,new WeakMap),V=new WeakMap,W=new WeakMap,X=new WeakMap,Y=new WeakMap,Z=new WeakMap,$=new WeakMap,_=new WeakMap,aa=new WeakMap,ba=new WeakMap,ca=new WeakMap,da=0,ea=1,fa=2,ga=3;t.prototype={equals:function(a){return this.handler===a.handler&&this.type===a.type&&this.capture===a.capture},get removed(){return null===this.handler},remove:function(){this.handler=null}};var ha=window.Event;ha.prototype.polymerBlackList_={returnValue:!0,keyLocation:!0},u.prototype={get target(){return X.get(this)},get currentTarget(){return Y.get(this)},get eventPhase(){return $.get(this)},get path(){var a=ca.get(this);return a?a.slice():[]},stopPropagation:function(){_.set(this,!0)},stopImmediatePropagation:function(){_.set(this,!0),aa.set(this,!0)}};var ia=function(){var a=document.createEvent("Event");return a.initEvent("test",!0,!0),a.preventDefault(),a.defaultPrevented}();ia||(u.prototype.preventDefault=function(){this.cancelable&&(Q(this).preventDefault(),Object.defineProperty(this,"defaultPrevented",{get:function(){return!0},configurable:!0}))}),O(ha,u,document.createEvent("Event"));var ja=w("UIEvent",u),ka=w("CustomEvent",u),la={get relatedTarget(){var a=Z.get(this);return void 0!==a?a:S(R(this).relatedTarget)}},ma=N({initMouseEvent:x("initMouseEvent",14)},la),na=N({initFocusEvent:x("initFocusEvent",5)},la),oa=w("MouseEvent",ja,ma),pa=w("FocusEvent",ja,na),qa=Object.create(null),ra=function(){try{new window.FocusEvent("focus")}catch(a){return!1}return!0}();if(!ra){var sa=function(a,b,c){if(c){var d=qa[c];b=N(N({},d),b)}qa[a]=b};sa("Event",{bubbles:!1,cancelable:!1}),sa("CustomEvent",{detail:null},"Event"),sa("UIEvent",{view:null,detail:0},"Event"),sa("MouseEvent",{screenX:0,screenY:0,clientX:0,clientY:0,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null},"UIEvent"),sa("FocusEvent",{relatedTarget:null},"UIEvent")}var ta=window.BeforeUnloadEvent;z.prototype=Object.create(u.prototype),N(z.prototype,{get returnValue(){return Q(this).returnValue},set returnValue(a){Q(this).returnValue=a}}),ta&&O(ta,z);var ua=window.EventTarget,va=["addEventListener","removeEventListener","dispatchEvent"];[Node,Window].forEach(function(a){var b=a.prototype;va.forEach(function(a){Object.defineProperty(b,a+"_",{value:b[a]})})}),C.prototype={addEventListener:function(a,b,c){if(A(b)&&!B(a)){var d=new t(a,b,c),e=U.get(this);if(e){for(var f=0;f<e.length;f++)if(d.equals(e[f]))return}else e=[],e.depth=0,U.set(this,e);e.push(d);var g=D(this);g.addEventListener_(a,m,!0)}},removeEventListener:function(a,b,c){c=Boolean(c);var d=U.get(this);if(d){for(var e=0,f=!1,g=0;g<d.length;g++)d[g].type===a&&d[g].capture===c&&(e++,d[g].handler===b&&(f=!0,d[g].remove()));if(f&&1===e){var h=D(this);
-h.removeEventListener_(a,m,!0)}}},dispatchEvent:function(b){var c=R(b),d=c.type;V.set(c,!1),a.renderAllPending();var e;F(this,d)||(e=function(){},this.addEventListener(d,e,!0));try{return R(this).dispatchEvent_(c)}finally{e&&this.removeEventListener(d,e,!0)}}},ua&&O(ua,C);var wa=document.elementFromPoint;a.elementFromPoint=H,a.getEventHandlerGetter=I,a.getEventHandlerSetter=J,a.wrapEventTargetMethods=G,a.wrappers.BeforeUnloadEvent=z,a.wrappers.CustomEvent=ka,a.wrappers.Event=u,a.wrappers.EventTarget=C,a.wrappers.FocusEvent=pa,a.wrappers.MouseEvent=oa,a.wrappers.UIEvent=ja}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a,b){Object.defineProperty(a,b,p)}function c(a){j(a,this)}function d(){this.length=0,b(this,"length")}function e(a){for(var b=new d,e=0;e<a.length;e++)b[e]=new c(a[e]);return b.length=e,b}function f(a){g.call(this,a)}var g=a.wrappers.UIEvent,h=a.mixin,i=a.registerWrapper,j=a.setWrapper,k=a.unsafeUnwrap,l=a.wrap,m=window.TouchEvent;if(m){var n;try{n=document.createEvent("TouchEvent")}catch(o){return}var p={enumerable:!1};c.prototype={get target(){return l(k(this).target)}};var q={configurable:!0,enumerable:!0,get:null};["clientX","clientY","screenX","screenY","pageX","pageY","identifier","webkitRadiusX","webkitRadiusY","webkitRotationAngle","webkitForce"].forEach(function(a){q.get=function(){return k(this)[a]},Object.defineProperty(c.prototype,a,q)}),d.prototype={item:function(a){return this[a]}},f.prototype=Object.create(g.prototype),h(f.prototype,{get touches(){return e(k(this).touches)},get targetTouches(){return e(k(this).targetTouches)},get changedTouches(){return e(k(this).changedTouches)},initTouchEvent:function(){throw new Error("Not implemented")}}),i(m,f,n),a.wrappers.Touch=c,a.wrappers.TouchEvent=f,a.wrappers.TouchList=d}}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a,b){Object.defineProperty(a,b,h)}function c(){this.length=0,b(this,"length")}function d(a){if(null==a)return a;for(var b=new c,d=0,e=a.length;e>d;d++)b[d]=g(a[d]);return b.length=e,b}function e(a,b){a.prototype[b]=function(){return d(f(this)[b].apply(f(this),arguments))}}var f=a.unsafeUnwrap,g=a.wrap,h={enumerable:!1};c.prototype={item:function(a){return this[a]}},b(c.prototype,"item"),a.wrappers.NodeList=c,a.addWrapNodeListMethod=e,a.wrapNodeList=d}(window.ShadowDOMPolyfill),function(a){"use strict";a.wrapHTMLCollection=a.wrapNodeList,a.wrappers.HTMLCollection=a.wrappers.NodeList}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){A(a instanceof w)}function c(a){var b=new y;return b[0]=a,b.length=1,b}function d(a,b,c){C(b,"childList",{removedNodes:c,previousSibling:a.previousSibling,nextSibling:a.nextSibling})}function e(a,b){C(a,"childList",{removedNodes:b})}function f(a,b,d,e){if(a instanceof DocumentFragment){var f=h(a);P=!0;for(var g=f.length-1;g>=0;g--)a.removeChild(f[g]),f[g].parentNode_=b;P=!1;for(var g=0;g<f.length;g++)f[g].previousSibling_=f[g-1]||d,f[g].nextSibling_=f[g+1]||e;return d&&(d.nextSibling_=f[0]),e&&(e.previousSibling_=f[f.length-1]),f}var f=c(a),i=a.parentNode;return i&&i.removeChild(a),a.parentNode_=b,a.previousSibling_=d,a.nextSibling_=e,d&&(d.nextSibling_=a),e&&(e.previousSibling_=a),f}function g(a){if(a instanceof DocumentFragment)return h(a);var b=c(a),e=a.parentNode;return e&&d(a,e,b),b}function h(a){for(var b=new y,c=0,d=a.firstChild;d;d=d.nextSibling)b[c++]=d;return b.length=c,e(a,b),b}function i(a){return a}function j(a,b){I(a,b),a.nodeIsInserted_()}function k(a,b){for(var c=D(b),d=0;d<a.length;d++)j(a[d],c)}function l(a){I(a,new z(a,null))}function m(a){for(var b=0;b<a.length;b++)l(a[b])}function n(a,b){var c=a.nodeType===w.DOCUMENT_NODE?a:a.ownerDocument;c!==b.ownerDocument&&c.adoptNode(b)}function o(b,c){if(c.length){var d=b.ownerDocument;if(d!==c[0].ownerDocument)for(var e=0;e<c.length;e++)a.adoptNodeNoRemove(c[e],d)}}function p(a,b){o(a,b);var c=b.length;if(1===c)return K(b[0]);for(var d=K(a.ownerDocument.createDocumentFragment()),e=0;c>e;e++)d.appendChild(K(b[e]));return d}function q(a){if(void 0!==a.firstChild_)for(var b=a.firstChild_;b;){var c=b;b=b.nextSibling_,c.parentNode_=c.previousSibling_=c.nextSibling_=void 0}a.firstChild_=a.lastChild_=void 0}function r(a){if(a.invalidateShadowRenderer()){for(var b=a.firstChild;b;){A(b.parentNode===a);var c=b.nextSibling,d=K(b),e=d.parentNode;e&&X.call(e,d),b.previousSibling_=b.nextSibling_=b.parentNode_=null,b=c}a.firstChild_=a.lastChild_=null}else for(var c,f=K(a),g=f.firstChild;g;)c=g.nextSibling,X.call(f,g),g=c}function s(a){var b=a.parentNode;return b&&b.invalidateShadowRenderer()}function t(a){for(var b,c=0;c<a.length;c++)b=a[c],b.parentNode.removeChild(b)}function u(a,b,c){var d;if(d=M(c?Q.call(c,J(a),!1):R.call(J(a),!1)),b){for(var e=a.firstChild;e;e=e.nextSibling)d.appendChild(u(e,!0,c));if(a instanceof O.HTMLTemplateElement)for(var f=d.content,e=a.content.firstChild;e;e=e.nextSibling)f.appendChild(u(e,!0,c))}return d}function v(a,b){if(!b||D(a)!==D(b))return!1;for(var c=b;c;c=c.parentNode)if(c===a)return!0;return!1}function w(a){A(a instanceof S),x.call(this,a),this.parentNode_=void 0,this.firstChild_=void 0,this.lastChild_=void 0,this.nextSibling_=void 0,this.previousSibling_=void 0,this.treeScope_=void 0}var x=a.wrappers.EventTarget,y=a.wrappers.NodeList,z=a.TreeScope,A=a.assert,B=a.defineWrapGetter,C=a.enqueueMutation,D=a.getTreeScope,E=a.isWrapper,F=a.mixin,G=a.registerTransientObservers,H=a.registerWrapper,I=a.setTreeScope,J=a.unsafeUnwrap,K=a.unwrap,L=a.unwrapIfNeeded,M=a.wrap,N=a.wrapIfNeeded,O=a.wrappers,P=!1,Q=document.importNode,R=window.Node.prototype.cloneNode,S=window.Node,T=window.DocumentFragment,U=(S.prototype.appendChild,S.prototype.compareDocumentPosition),V=S.prototype.isEqualNode,W=S.prototype.insertBefore,X=S.prototype.removeChild,Y=S.prototype.replaceChild,Z=/Trident|Edge/.test(navigator.userAgent),$=Z?function(a,b){try{X.call(a,b)}catch(c){if(!(a instanceof T))throw c}}:function(a,b){X.call(a,b)};w.prototype=Object.create(x.prototype),F(w.prototype,{appendChild:function(a){return this.insertBefore(a,null)},insertBefore:function(a,c){b(a);var d;c?E(c)?d=K(c):(d=c,c=M(d)):(c=null,d=null),c&&A(c.parentNode===this);var e,h=c?c.previousSibling:this.lastChild,i=!this.invalidateShadowRenderer()&&!s(a);if(e=i?g(a):f(a,this,h,c),i)n(this,a),q(this),W.call(J(this),K(a),d);else{h||(this.firstChild_=e[0]),c||(this.lastChild_=e[e.length-1],void 0===this.firstChild_&&(this.firstChild_=this.firstChild));var j=d?d.parentNode:J(this);j?W.call(j,p(this,e),d):o(this,e)}return C(this,"childList",{addedNodes:e,nextSibling:c,previousSibling:h}),k(e,this),a},removeChild:function(a){if(b(a),a.parentNode!==this){for(var d=!1,e=(this.childNodes,this.firstChild);e;e=e.nextSibling)if(e===a){d=!0;break}if(!d)throw new Error("NotFoundError")}var f=K(a),g=a.nextSibling,h=a.previousSibling;if(this.invalidateShadowRenderer()){var i=this.firstChild,j=this.lastChild,k=f.parentNode;k&&$(k,f),i===a&&(this.firstChild_=g),j===a&&(this.lastChild_=h),h&&(h.nextSibling_=g),g&&(g.previousSibling_=h),a.previousSibling_=a.nextSibling_=a.parentNode_=void 0}else q(this),$(J(this),f);return P||C(this,"childList",{removedNodes:c(a),nextSibling:g,previousSibling:h}),G(this,a),a},replaceChild:function(a,d){b(a);var e;if(E(d)?e=K(d):(e=d,d=M(e)),d.parentNode!==this)throw new Error("NotFoundError");var h,i=d.nextSibling,j=d.previousSibling,m=!this.invalidateShadowRenderer()&&!s(a);return m?h=g(a):(i===a&&(i=a.nextSibling),h=f(a,this,j,i)),m?(n(this,a),q(this),Y.call(J(this),K(a),e)):(this.firstChild===d&&(this.firstChild_=h[0]),this.lastChild===d&&(this.lastChild_=h[h.length-1]),d.previousSibling_=d.nextSibling_=d.parentNode_=void 0,e.parentNode&&Y.call(e.parentNode,p(this,h),e)),C(this,"childList",{addedNodes:h,removedNodes:c(d),nextSibling:i,previousSibling:j}),l(d),k(h,this),d},nodeIsInserted_:function(){for(var a=this.firstChild;a;a=a.nextSibling)a.nodeIsInserted_()},hasChildNodes:function(){return null!==this.firstChild},get parentNode(){return void 0!==this.parentNode_?this.parentNode_:M(J(this).parentNode)},get firstChild(){return void 0!==this.firstChild_?this.firstChild_:M(J(this).firstChild)},get lastChild(){return void 0!==this.lastChild_?this.lastChild_:M(J(this).lastChild)},get nextSibling(){return void 0!==this.nextSibling_?this.nextSibling_:M(J(this).nextSibling)},get previousSibling(){return void 0!==this.previousSibling_?this.previousSibling_:M(J(this).previousSibling)},get parentElement(){for(var a=this.parentNode;a&&a.nodeType!==w.ELEMENT_NODE;)a=a.parentNode;return a},get textContent(){for(var a="",b=this.firstChild;b;b=b.nextSibling)b.nodeType!=w.COMMENT_NODE&&(a+=b.textContent);return a},set textContent(a){null==a&&(a="");var b=i(this.childNodes);if(this.invalidateShadowRenderer()){if(r(this),""!==a){var c=J(this).ownerDocument.createTextNode(a);this.appendChild(c)}}else q(this),J(this).textContent=a;var d=i(this.childNodes);C(this,"childList",{addedNodes:d,removedNodes:b}),m(b),k(d,this)},get childNodes(){for(var a=new y,b=0,c=this.firstChild;c;c=c.nextSibling)a[b++]=c;return a.length=b,a},cloneNode:function(a){return u(this,a)},contains:function(a){return v(this,N(a))},compareDocumentPosition:function(a){return U.call(J(this),L(a))},isEqualNode:function(a){return V.call(J(this),L(a))},normalize:function(){for(var a,b,c=i(this.childNodes),d=[],e="",f=0;f<c.length;f++)b=c[f],b.nodeType===w.TEXT_NODE?a||b.data.length?a?(e+=b.data,d.push(b)):a=b:this.removeChild(b):(a&&d.length&&(a.data+=e,t(d)),d=[],e="",a=null,b.childNodes.length&&b.normalize());a&&d.length&&(a.data+=e,t(d))}}),B(w,"ownerDocument"),H(S,w,document.createDocumentFragment()),delete w.prototype.querySelector,delete w.prototype.querySelectorAll,w.prototype=F(Object.create(x.prototype),w.prototype),a.cloneNode=u,a.nodeWasAdded=j,a.nodeWasRemoved=l,a.nodesWereAdded=k,a.nodesWereRemoved=m,a.originalInsertBefore=W,a.originalRemoveChild=X,a.snapshotNodeList=i,a.wrappers.Node=w}(window.ShadowDOMPolyfill),function(a){"use strict";function b(b,c,d,e){for(var f=null,g=null,h=0,i=b.length;i>h;h++)f=t(b[h]),!e&&(g=r(f).root)&&g instanceof a.wrappers.ShadowRoot||(d[c++]=f);return c}function c(a){return String(a).replace(/\/deep\/|::shadow|>>>/g," ")}function d(a){return String(a).replace(/:host\(([^\s]+)\)/g,"$1").replace(/([^\s]):host/g,"$1").replace(":host","*").replace(/\^|\/shadow\/|\/shadow-deep\/|::shadow|\/deep\/|::content|>>>/g," ")}function e(a,b){for(var c,d=a.firstElementChild;d;){if(d.matches(b))return d;if(c=e(d,b))return c;d=d.nextElementSibling}return null}function f(a,b){return a.matches(b)}function g(a,b,c){var d=a.localName;return d===b||d===c&&a.namespaceURI===E}function h(){return!0}function i(a,b,c){return a.localName===c}function j(a,b){return a.namespaceURI===b}function k(a,b,c){return a.namespaceURI===b&&a.localName===c}function l(a,b,c,d,e,f){for(var g=a.firstElementChild;g;)d(g,e,f)&&(c[b++]=g),b=l(g,b,c,d,e,f),g=g.nextElementSibling;return b}function m(c,d,e,f,g){var h,i=s(this),j=r(this).root;if(j instanceof a.wrappers.ShadowRoot)return l(this,d,e,c,f,null);if(i instanceof C)h=x.call(i,f);else{if(!(i instanceof D))return l(this,d,e,c,f,null);h=w.call(i,f)}return b(h,d,e,g)}function n(c,d,e,f,g){var h,i=s(this),j=r(this).root;if(j instanceof a.wrappers.ShadowRoot)return l(this,d,e,c,f,g);if(i instanceof C)h=z.call(i,f,g);else{if(!(i instanceof D))return l(this,d,e,c,f,g);h=y.call(i,f,g)}return b(h,d,e,!1)}function o(c,d,e,f,g){var h,i=s(this),j=r(this).root;if(j instanceof a.wrappers.ShadowRoot)return l(this,d,e,c,f,g);if(i instanceof C)h=B.call(i,f,g);else{if(!(i instanceof D))return l(this,d,e,c,f,g);h=A.call(i,f,g)}return b(h,d,e,!1)}var p=a.wrappers.HTMLCollection,q=a.wrappers.NodeList,r=a.getTreeScope,s=a.unsafeUnwrap,t=a.wrap,u=document.querySelector,v=document.documentElement.querySelector,w=document.querySelectorAll,x=document.documentElement.querySelectorAll,y=document.getElementsByTagName,z=document.documentElement.getElementsByTagName,A=document.getElementsByTagNameNS,B=document.documentElement.getElementsByTagNameNS,C=window.Element,D=window.HTMLDocument||window.Document,E="http://www.w3.org/1999/xhtml",F={querySelector:function(b){var d=c(b),f=d!==b;b=d;var g,h=s(this),i=r(this).root;if(i instanceof a.wrappers.ShadowRoot)return e(this,b);if(h instanceof C)g=t(v.call(h,b));else{if(!(h instanceof D))return e(this,b);g=t(u.call(h,b))}return g&&!f&&(i=r(g).root)&&i instanceof a.wrappers.ShadowRoot?e(this,b):g},querySelectorAll:function(a){var b=c(a),d=b!==a;a=b;var e=new q;return e.length=m.call(this,f,0,e,a,d),e}},G={matches:function(b){return b=d(b),a.originalMatches.call(s(this),b)}},H={getElementsByTagName:function(a){var b=new p,c="*"===a?h:g;return b.length=n.call(this,c,0,b,a,a.toLowerCase()),b},getElementsByClassName:function(a){return this.querySelectorAll("."+a)},getElementsByTagNameNS:function(a,b){var c=new p,d=null;return d="*"===a?"*"===b?h:i:"*"===b?j:k,c.length=o.call(this,d,0,c,a||null,b),c}};a.GetElementsByInterface=H,a.SelectorsInterface=F,a.MatchesInterface=G}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){for(;a&&a.nodeType!==Node.ELEMENT_NODE;)a=a.nextSibling;return a}function c(a){for(;a&&a.nodeType!==Node.ELEMENT_NODE;)a=a.previousSibling;return a}var d=a.wrappers.NodeList,e={get firstElementChild(){return b(this.firstChild)},get lastElementChild(){return c(this.lastChild)},get childElementCount(){for(var a=0,b=this.firstElementChild;b;b=b.nextElementSibling)a++;return a},get children(){for(var a=new d,b=0,c=this.firstElementChild;c;c=c.nextElementSibling)a[b++]=c;return a.length=b,a},remove:function(){var a=this.parentNode;a&&a.removeChild(this)}},f={get nextElementSibling(){return b(this.nextSibling)},get previousElementSibling(){return c(this.previousSibling)}},g={getElementById:function(a){return/[ \t\n\r\f]/.test(a)?null:this.querySelector('[id="'+a+'"]')}};a.ChildNodeInterface=f,a.NonElementParentNodeInterface=g,a.ParentNodeInterface=e}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){d.call(this,a)}var c=a.ChildNodeInterface,d=a.wrappers.Node,e=a.enqueueMutation,f=a.mixin,g=a.registerWrapper,h=a.unsafeUnwrap,i=window.CharacterData;b.prototype=Object.create(d.prototype),f(b.prototype,{get nodeValue(){return this.data},set nodeValue(a){this.data=a},get textContent(){return this.data},set textContent(a){this.data=a},get data(){return h(this).data},set data(a){var b=h(this).data;e(this,"characterData",{oldValue:b}),h(this).data=a}}),f(b.prototype,c),g(i,b,document.createTextNode("")),a.wrappers.CharacterData=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){return a>>>0}function c(a){d.call(this,a)}var d=a.wrappers.CharacterData,e=(a.enqueueMutation,a.mixin),f=a.registerWrapper,g=window.Text;c.prototype=Object.create(d.prototype),e(c.prototype,{splitText:function(a){a=b(a);var c=this.data;if(a>c.length)throw new Error("IndexSizeError");var d=c.slice(0,a),e=c.slice(a);this.data=d;var f=this.ownerDocument.createTextNode(e);return this.parentNode&&this.parentNode.insertBefore(f,this.nextSibling),f}}),f(g,c,document.createTextNode("")),a.wrappers.Text=c}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){return f(a).getAttribute("class")}function c(a,b){g(a,"attributes",{name:"class",namespace:null,oldValue:b})}function d(b){a.invalidateRendererBasedOnAttribute(b,"class")}function e(a,e,f){var g=a.ownerElement_;if(null==g)return e.apply(a,f);var h=b(g),i=e.apply(a,f);return b(g)!==h&&(c(g,h),d(g)),i}if(!window.DOMTokenList)return void console.warn("Missing DOMTokenList prototype, please include a compatible classList polyfill such as http://goo.gl/uTcepH.");var f=a.unsafeUnwrap,g=a.enqueueMutation,h=DOMTokenList.prototype.add;DOMTokenList.prototype.add=function(){e(this,h,arguments)};var i=DOMTokenList.prototype.remove;DOMTokenList.prototype.remove=function(){e(this,i,arguments)};var j=DOMTokenList.prototype.toggle;DOMTokenList.prototype.toggle=function(){return e(this,j,arguments)}}(window.ShadowDOMPolyfill),function(a){"use strict";function b(b,c){var d=b.parentNode;if(d&&d.shadowRoot){var e=a.getRendererForHost(d);e.dependsOnAttribute(c)&&e.invalidate()}}function c(a,b,c){k(a,"attributes",{name:b,namespace:null,oldValue:c})}function d(a){g.call(this,a)}var e=a.ChildNodeInterface,f=a.GetElementsByInterface,g=a.wrappers.Node,h=a.ParentNodeInterface,i=a.SelectorsInterface,j=a.MatchesInterface,k=(a.addWrapNodeListMethod,a.enqueueMutation),l=a.mixin,m=(a.oneOf,a.registerWrapper),n=a.unsafeUnwrap,o=a.wrappers,p=window.Element,q=["matches","mozMatchesSelector","msMatchesSelector","webkitMatchesSelector"].filter(function(a){return p.prototype[a]}),r=q[0],s=p.prototype[r],t=new WeakMap;d.prototype=Object.create(g.prototype),l(d.prototype,{createShadowRoot:function(){var b=new o.ShadowRoot(this);n(this).polymerShadowRoot_=b;var c=a.getRendererForHost(this);return c.invalidate(),b},get shadowRoot(){return n(this).polymerShadowRoot_||null},setAttribute:function(a,d){var e=n(this).getAttribute(a);n(this).setAttribute(a,d),c(this,a,e),b(this,a)},removeAttribute:function(a){var d=n(this).getAttribute(a);n(this).removeAttribute(a),c(this,a,d),b(this,a)},get classList(){var a=t.get(this);if(!a){if(a=n(this).classList,!a)return;a.ownerElement_=this,t.set(this,a)}return a},get className(){return n(this).className},set className(a){this.setAttribute("class",a)},get id(){return n(this).id},set id(a){this.setAttribute("id",a)}}),q.forEach(function(a){"matches"!==a&&(d.prototype[a]=function(a){return this.matches(a)})}),p.prototype.webkitCreateShadowRoot&&(d.prototype.webkitCreateShadowRoot=d.prototype.createShadowRoot),l(d.prototype,e),l(d.prototype,f),l(d.prototype,h),l(d.prototype,i),l(d.prototype,j),m(p,d,document.createElementNS(null,"x")),a.invalidateRendererBasedOnAttribute=b,a.matchesNames=q,a.originalMatches=s,a.wrappers.Element=d}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){switch(a){case"&":return"&amp;";case"<":return"&lt;";case">":return"&gt;";case'"':return"&quot;";case" ":return"&nbsp;"}}function c(a){return a.replace(B,b)}function d(a){return a.replace(C,b)}function e(a){for(var b={},c=0;c<a.length;c++)b[a[c]]=!0;return b}function f(a){if(a.namespaceURI!==F)return!0;var b=a.ownerDocument.doctype;return b&&b.publicId&&b.systemId}function g(a,b){switch(a.nodeType){case Node.ELEMENT_NODE:for(var e,g=a.tagName.toLowerCase(),i="<"+g,j=a.attributes,k=0;e=j[k];k++)i+=" "+e.name+'="'+c(e.value)+'"';return D[g]?(f(a)&&(i+="/"),i+">"):i+">"+h(a)+"</"+g+">";case Node.TEXT_NODE:var l=a.data;return b&&E[b.localName]?l:d(l);case Node.COMMENT_NODE:return"<!--"+a.data+"-->";default:throw console.error(a),new Error("not implemented")}}function h(a){a instanceof A.HTMLTemplateElement&&(a=a.content);for(var b="",c=a.firstChild;c;c=c.nextSibling)b+=g(c,a);return b}function i(a,b,c){var d=c||"div";a.textContent="";var e=y(a.ownerDocument.createElement(d));e.innerHTML=b;for(var f;f=e.firstChild;)a.appendChild(z(f))}function j(a){p.call(this,a)}function k(a,b){var c=y(a.cloneNode(!1));c.innerHTML=b;for(var d,e=y(document.createDocumentFragment());d=c.firstChild;)e.appendChild(d);return z(e)}function l(b){return function(){return a.renderAllPending(),x(this)[b]}}function m(a){q(j,a,l(a))}function n(b){Object.defineProperty(j.prototype,b,{get:l(b),set:function(c){a.renderAllPending(),x(this)[b]=c},configurable:!0,enumerable:!0})}function o(b){Object.defineProperty(j.prototype,b,{value:function(){return a.renderAllPending(),x(this)[b].apply(x(this),arguments)},configurable:!0,enumerable:!0})}var p=a.wrappers.Element,q=a.defineGetter,r=a.enqueueMutation,s=a.mixin,t=a.nodesWereAdded,u=a.nodesWereRemoved,v=a.registerWrapper,w=a.snapshotNodeList,x=a.unsafeUnwrap,y=a.unwrap,z=a.wrap,A=a.wrappers,B=/[&\u00A0"]/g,C=/[&\u00A0<>]/g,D=e(["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),E=e(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]),F="http://www.w3.org/1999/xhtml",G=/MSIE/.test(navigator.userAgent),H=window.HTMLElement,I=window.HTMLTemplateElement;j.prototype=Object.create(p.prototype),s(j.prototype,{get innerHTML(){return h(this)},set innerHTML(a){if(G&&E[this.localName])return void(this.textContent=a);var b=w(this.childNodes);this.invalidateShadowRenderer()?this instanceof A.HTMLTemplateElement?i(this.content,a):i(this,a,this.tagName):!I&&this instanceof A.HTMLTemplateElement?i(this.content,a):x(this).innerHTML=a;var c=w(this.childNodes);r(this,"childList",{addedNodes:c,removedNodes:b}),u(b),t(c,this)},get outerHTML(){return g(this,this.parentNode)},set outerHTML(a){var b=this.parentNode;if(b){b.invalidateShadowRenderer();var c=k(b,a);b.replaceChild(c,this)}},insertAdjacentHTML:function(a,b){var c,d;switch(String(a).toLowerCase()){case"beforebegin":c=this.parentNode,d=this;break;case"afterend":c=this.parentNode,d=this.nextSibling;break;case"afterbegin":c=this,d=this.firstChild;break;case"beforeend":c=this,d=null;break;default:return}var e=k(c,b);c.insertBefore(e,d)},get hidden(){return this.hasAttribute("hidden")},set hidden(a){a?this.setAttribute("hidden",""):this.removeAttribute("hidden")}}),["clientHeight","clientLeft","clientTop","clientWidth","offsetHeight","offsetLeft","offsetTop","offsetWidth","scrollHeight","scrollWidth"].forEach(m),["scrollLeft","scrollTop"].forEach(n),["getBoundingClientRect","getClientRects","scrollIntoView"].forEach(o),v(H,j,document.createElement("b")),a.wrappers.HTMLElement=j,a.getInnerHTML=h,a.setInnerHTML=i}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=a.unsafeUnwrap,g=a.wrap,h=window.HTMLCanvasElement;b.prototype=Object.create(c.prototype),d(b.prototype,{getContext:function(){var a=f(this).getContext.apply(f(this),arguments);return a&&g(a)}}),e(h,b,document.createElement("canvas")),a.wrappers.HTMLCanvasElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=window.HTMLContentElement;b.prototype=Object.create(c.prototype),d(b.prototype,{constructor:b,get select(){return this.getAttribute("select")},set select(a){this.setAttribute("select",a)},setAttribute:function(a,b){c.prototype.setAttribute.call(this,a,b),"select"===String(a).toLowerCase()&&this.invalidateShadowRenderer(!0)}}),f&&e(f,b),a.wrappers.HTMLContentElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=a.wrapHTMLCollection,g=a.unwrap,h=window.HTMLFormElement;b.prototype=Object.create(c.prototype),d(b.prototype,{get elements(){return f(g(this).elements)}}),e(h,b,document.createElement("form")),a.wrappers.HTMLFormElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){d.call(this,a)}function c(a,b){if(!(this instanceof c))throw new TypeError("DOM object constructor cannot be called as a function.");var e=f(document.createElement("img"));d.call(this,e),g(e,this),void 0!==a&&(e.width=a),void 0!==b&&(e.height=b)}var d=a.wrappers.HTMLElement,e=a.registerWrapper,f=a.unwrap,g=a.rewrap,h=window.HTMLImageElement;b.prototype=Object.create(d.prototype),e(h,b,document.createElement("img")),c.prototype=b.prototype,a.wrappers.HTMLImageElement=b,a.wrappers.Image=c}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=(a.mixin,a.wrappers.NodeList,a.registerWrapper),e=window.HTMLShadowElement;b.prototype=Object.create(c.prototype),b.prototype.constructor=b,e&&d(e,b),a.wrappers.HTMLShadowElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){if(!a.defaultView)return a;var b=l.get(a);if(!b){for(b=a.implementation.createHTMLDocument("");b.lastChild;)b.removeChild(b.lastChild);l.set(a,b)}return b}function c(a){for(var c,d=b(a.ownerDocument),e=i(d.createDocumentFragment());c=a.firstChild;)e.appendChild(c);return e}function d(a){if(e.call(this,a),!m){var b=c(a);k.set(this,j(b))}}var e=a.wrappers.HTMLElement,f=a.mixin,g=a.registerWrapper,h=a.unsafeUnwrap,i=a.unwrap,j=a.wrap,k=new WeakMap,l=new WeakMap,m=window.HTMLTemplateElement;d.prototype=Object.create(e.prototype),f(d.prototype,{constructor:d,get content(){return m?j(h(this).content):k.get(this)}}),m&&g(m,d),a.wrappers.HTMLTemplateElement=d}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.registerWrapper,e=window.HTMLMediaElement;e&&(b.prototype=Object.create(c.prototype),d(e,b,document.createElement("audio")),a.wrappers.HTMLMediaElement=b)}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){d.call(this,a)}function c(a){if(!(this instanceof c))throw new TypeError("DOM object constructor cannot be called as a function.");var b=f(document.createElement("audio"));d.call(this,b),g(b,this),b.setAttribute("preload","auto"),void 0!==a&&b.setAttribute("src",a)}var d=a.wrappers.HTMLMediaElement,e=a.registerWrapper,f=a.unwrap,g=a.rewrap,h=window.HTMLAudioElement;h&&(b.prototype=Object.create(d.prototype),e(h,b,document.createElement("audio")),c.prototype=b.prototype,a.wrappers.HTMLAudioElement=b,a.wrappers.Audio=c)}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){return a.replace(/\s+/g," ").trim()}function c(a){e.call(this,a)}function d(a,b,c,f){if(!(this instanceof d))throw new TypeError("DOM object constructor cannot be called as a function.");var g=i(document.createElement("option"));e.call(this,g),h(g,this),void 0!==a&&(g.text=a),void 0!==b&&g.setAttribute("value",b),c===!0&&g.setAttribute("selected",""),g.selected=f===!0}var e=a.wrappers.HTMLElement,f=a.mixin,g=a.registerWrapper,h=a.rewrap,i=a.unwrap,j=a.wrap,k=window.HTMLOptionElement;c.prototype=Object.create(e.prototype),f(c.prototype,{get text(){return b(this.textContent)},set text(a){this.textContent=b(String(a))},get form(){return j(i(this).form)}}),g(k,c,document.createElement("option")),d.prototype=c.prototype,a.wrappers.HTMLOptionElement=c,a.wrappers.Option=d}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=a.unwrap,g=a.wrap,h=window.HTMLSelectElement;b.prototype=Object.create(c.prototype),d(b.prototype,{add:function(a,b){"object"==typeof b&&(b=f(b)),f(this).add(f(a),b)},remove:function(a){return void 0===a?void c.prototype.remove.call(this):("object"==typeof a&&(a=f(a)),void f(this).remove(a))},get form(){return g(f(this).form)}}),e(h,b,document.createElement("select")),a.wrappers.HTMLSelectElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=a.unwrap,g=a.wrap,h=a.wrapHTMLCollection,i=window.HTMLTableElement;b.prototype=Object.create(c.prototype),d(b.prototype,{get caption(){return g(f(this).caption)},createCaption:function(){return g(f(this).createCaption())},get tHead(){return g(f(this).tHead)},createTHead:function(){return g(f(this).createTHead())},createTFoot:function(){return g(f(this).createTFoot())},get tFoot(){return g(f(this).tFoot)},get tBodies(){return h(f(this).tBodies)},createTBody:function(){return g(f(this).createTBody())},get rows(){return h(f(this).rows)},insertRow:function(a){return g(f(this).insertRow(a))}}),e(i,b,document.createElement("table")),a.wrappers.HTMLTableElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=a.wrapHTMLCollection,g=a.unwrap,h=a.wrap,i=window.HTMLTableSectionElement;b.prototype=Object.create(c.prototype),d(b.prototype,{constructor:b,get rows(){return f(g(this).rows)},insertRow:function(a){return h(g(this).insertRow(a))}}),e(i,b,document.createElement("thead")),a.wrappers.HTMLTableSectionElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=a.wrapHTMLCollection,g=a.unwrap,h=a.wrap,i=window.HTMLTableRowElement;b.prototype=Object.create(c.prototype),d(b.prototype,{get cells(){return f(g(this).cells)},insertCell:function(a){return h(g(this).insertCell(a))}}),e(i,b,document.createElement("tr")),a.wrappers.HTMLTableRowElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){switch(a.localName){case"content":return new c(a);case"shadow":return new e(a);case"template":return new f(a)}d.call(this,a)}var c=a.wrappers.HTMLContentElement,d=a.wrappers.HTMLElement,e=a.wrappers.HTMLShadowElement,f=a.wrappers.HTMLTemplateElement,g=(a.mixin,a.registerWrapper),h=window.HTMLUnknownElement;b.prototype=Object.create(d.prototype),g(h,b),a.wrappers.HTMLUnknownElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.Element,d=a.wrappers.HTMLElement,e=a.registerWrapper,f=(a.defineWrapGetter,a.unsafeUnwrap),g=a.wrap,h=a.mixin,i="http://www.w3.org/2000/svg",j=window.SVGElement,k=document.createElementNS(i,"title");if(!("classList"in k)){var l=Object.getOwnPropertyDescriptor(c.prototype,"classList");Object.defineProperty(d.prototype,"classList",l),delete c.prototype.classList}b.prototype=Object.create(c.prototype),h(b.prototype,{get ownerSVGElement(){return g(f(this).ownerSVGElement)}}),e(j,b,document.createElementNS(i,"title")),a.wrappers.SVGElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){m.call(this,a)}var c=a.mixin,d=a.registerWrapper,e=a.unwrap,f=a.wrap,g=window.SVGUseElement,h="http://www.w3.org/2000/svg",i=f(document.createElementNS(h,"g")),j=document.createElementNS(h,"use"),k=i.constructor,l=Object.getPrototypeOf(k.prototype),m=l.constructor;b.prototype=Object.create(l),"instanceRoot"in j&&c(b.prototype,{get instanceRoot(){return f(e(this).instanceRoot)},get animatedInstanceRoot(){return f(e(this).animatedInstanceRoot)}}),d(g,b,j),a.wrappers.SVGUseElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.EventTarget,d=a.mixin,e=a.registerWrapper,f=a.unsafeUnwrap,g=a.wrap,h=window.SVGElementInstance;h&&(b.prototype=Object.create(c.prototype),d(b.prototype,{get correspondingElement(){return g(f(this).correspondingElement)},get correspondingUseElement(){return g(f(this).correspondingUseElement)},get parentNode(){return g(f(this).parentNode)},get childNodes(){throw new Error("Not implemented")},get firstChild(){return g(f(this).firstChild)},get lastChild(){return g(f(this).lastChild)},get previousSibling(){return g(f(this).previousSibling)},get nextSibling(){return g(f(this).nextSibling)}}),e(h,b),a.wrappers.SVGElementInstance=b)}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){e(a,this)}var c=a.mixin,d=a.registerWrapper,e=a.setWrapper,f=a.unsafeUnwrap,g=a.unwrap,h=a.unwrapIfNeeded,i=a.wrap,j=window.CanvasRenderingContext2D;c(b.prototype,{get canvas(){return i(f(this).canvas)},drawImage:function(){arguments[0]=h(arguments[0]),f(this).drawImage.apply(f(this),arguments)},createPattern:function(){return arguments[0]=g(arguments[0]),f(this).createPattern.apply(f(this),arguments)}}),d(j,b,document.createElement("canvas").getContext("2d")),a.wrappers.CanvasRenderingContext2D=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){e(a,this)}var c=a.mixin,d=a.registerWrapper,e=a.setWrapper,f=a.unsafeUnwrap,g=a.unwrapIfNeeded,h=a.wrap,i=window.WebGLRenderingContext;if(i){c(b.prototype,{get canvas(){return h(f(this).canvas)},texImage2D:function(){arguments[5]=g(arguments[5]),f(this).texImage2D.apply(f(this),arguments)},texSubImage2D:function(){arguments[6]=g(arguments[6]),f(this).texSubImage2D.apply(f(this),arguments)}});var j=/WebKit/.test(navigator.userAgent)?{drawingBufferHeight:null,drawingBufferWidth:null}:{};d(i,b,j),a.wrappers.WebGLRenderingContext=b}}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.Node,d=a.GetElementsByInterface,e=a.NonElementParentNodeInterface,f=a.ParentNodeInterface,g=a.SelectorsInterface,h=a.mixin,i=a.registerObject,j=a.registerWrapper,k=window.DocumentFragment;
-b.prototype=Object.create(c.prototype),h(b.prototype,f),h(b.prototype,g),h(b.prototype,d),h(b.prototype,e),j(k,b,document.createDocumentFragment()),a.wrappers.DocumentFragment=b;var l=i(document.createComment(""));a.wrappers.Comment=l}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){var b=l(k(a).ownerDocument.createDocumentFragment());c.call(this,b),i(b,this);var e=a.shadowRoot;n.set(this,e),this.treeScope_=new d(this,g(e||a)),m.set(this,a)}var c=a.wrappers.DocumentFragment,d=a.TreeScope,e=a.elementFromPoint,f=a.getInnerHTML,g=a.getTreeScope,h=a.mixin,i=a.rewrap,j=a.setInnerHTML,k=a.unsafeUnwrap,l=a.unwrap,m=new WeakMap,n=new WeakMap;b.prototype=Object.create(c.prototype),h(b.prototype,{constructor:b,get innerHTML(){return f(this)},set innerHTML(a){j(this,a),this.invalidateShadowRenderer()},get olderShadowRoot(){return n.get(this)||null},get host(){return m.get(this)||null},invalidateShadowRenderer:function(){return m.get(this).invalidateShadowRenderer()},elementFromPoint:function(a,b){return e(this,this.ownerDocument,a,b)},getSelection:function(){return document.getSelection()}}),a.wrappers.ShadowRoot=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){var b=l(a).root;return b instanceof n?b.host:null}function c(b,c){if(b.shadowRoot){c=Math.min(b.childNodes.length-1,c);var d=b.childNodes[c];if(d){var e=a.getDestinationInsertionPoints(d);if(e.length>0){var f=e[0].parentNode;f.nodeType==Node.ELEMENT_NODE&&(b=f)}}}return b}function d(a){return a=k(a),b(a)||a}function e(a){g(a,this)}var f=a.registerWrapper,g=a.setWrapper,h=a.unsafeUnwrap,i=a.unwrap,j=a.unwrapIfNeeded,k=a.wrap,l=a.getTreeScope,m=window.Range,n=a.wrappers.ShadowRoot;e.prototype={get startContainer(){return d(h(this).startContainer)},get endContainer(){return d(h(this).endContainer)},get commonAncestorContainer(){return d(h(this).commonAncestorContainer)},setStart:function(a,b){a=c(a,b),h(this).setStart(j(a),b)},setEnd:function(a,b){a=c(a,b),h(this).setEnd(j(a),b)},setStartBefore:function(a){h(this).setStartBefore(j(a))},setStartAfter:function(a){h(this).setStartAfter(j(a))},setEndBefore:function(a){h(this).setEndBefore(j(a))},setEndAfter:function(a){h(this).setEndAfter(j(a))},selectNode:function(a){h(this).selectNode(j(a))},selectNodeContents:function(a){h(this).selectNodeContents(j(a))},compareBoundaryPoints:function(a,b){return h(this).compareBoundaryPoints(a,i(b))},extractContents:function(){return k(h(this).extractContents())},cloneContents:function(){return k(h(this).cloneContents())},insertNode:function(a){h(this).insertNode(j(a))},surroundContents:function(a){h(this).surroundContents(j(a))},cloneRange:function(){return k(h(this).cloneRange())},isPointInRange:function(a,b){return h(this).isPointInRange(j(a),b)},comparePoint:function(a,b){return h(this).comparePoint(j(a),b)},intersectsNode:function(a){return h(this).intersectsNode(j(a))},toString:function(){return h(this).toString()}},m.prototype.createContextualFragment&&(e.prototype.createContextualFragment=function(a){return k(h(this).createContextualFragment(a))}),f(window.Range,e,document.createRange()),a.wrappers.Range=e}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){a.previousSibling_=a.previousSibling,a.nextSibling_=a.nextSibling,a.parentNode_=a.parentNode}function c(c,e,f){var g=H(c),h=H(e),i=f?H(f):null;if(d(e),b(e),f)c.firstChild===f&&(c.firstChild_=f),f.previousSibling_=f.previousSibling;else{c.lastChild_=c.lastChild,c.lastChild===c.firstChild&&(c.firstChild_=c.firstChild);var j=I(g.lastChild);j&&(j.nextSibling_=j.nextSibling)}a.originalInsertBefore.call(g,h,i)}function d(c){var d=H(c),e=d.parentNode;if(e){var f=I(e);b(c),c.previousSibling&&(c.previousSibling.nextSibling_=c),c.nextSibling&&(c.nextSibling.previousSibling_=c),f.lastChild===c&&(f.lastChild_=c),f.firstChild===c&&(f.firstChild_=c),a.originalRemoveChild.call(e,d)}}function e(a){K.set(a,[])}function f(a){var b=K.get(a);return b||K.set(a,b=[]),b}function g(a){for(var b=[],c=0,d=a.firstChild;d;d=d.nextSibling)b[c++]=d;return b}function h(){for(var a=0;a<O.length;a++){var b=O[a],c=b.parentRenderer;c&&c.dirty||b.render()}O=[]}function i(){y=null,h()}function j(a){var b=M.get(a);return b||(b=new n(a),M.set(a,b)),b}function k(a){var b=E(a).root;return b instanceof D?b:null}function l(a){return j(a.host)}function m(a){this.skip=!1,this.node=a,this.childNodes=[]}function n(a){this.host=a,this.dirty=!1,this.invalidateAttributes(),this.associateNode(a)}function o(a){for(var b=[],c=a.firstChild;c;c=c.nextSibling)v(c)?b.push.apply(b,f(c)):b.push(c);return b}function p(a){if(a instanceof B)return a;if(a instanceof A)return null;for(var b=a.firstChild;b;b=b.nextSibling){var c=p(b);if(c)return c}return null}function q(a,b){f(b).push(a);var c=L.get(a);c?c.push(b):L.set(a,[b])}function r(a){return L.get(a)}function s(a){L.set(a,void 0)}function t(a,b){var c=b.getAttribute("select");if(!c)return!0;if(c=c.trim(),!c)return!0;if(!(a instanceof z))return!1;if(!Q.test(c))return!1;try{return a.matches(c)}catch(d){return!1}}function u(a,b){var c=r(b);return c&&c[c.length-1]===a}function v(a){return a instanceof A||a instanceof B}function w(a){return a.shadowRoot}function x(a){for(var b=[],c=a.shadowRoot;c;c=c.olderShadowRoot)b.push(c);return b}var y,z=a.wrappers.Element,A=a.wrappers.HTMLContentElement,B=a.wrappers.HTMLShadowElement,C=a.wrappers.Node,D=a.wrappers.ShadowRoot,E=(a.assert,a.getTreeScope),F=(a.mixin,a.oneOf),G=a.unsafeUnwrap,H=a.unwrap,I=a.wrap,J=a.ArraySplice,K=new WeakMap,L=new WeakMap,M=new WeakMap,N=F(window,["requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","setTimeout"]),O=[],P=new J;P.equals=function(a,b){return H(a.node)===b},m.prototype={append:function(a){var b=new m(a);return this.childNodes.push(b),b},sync:function(a){if(!this.skip){for(var b=this.node,e=this.childNodes,f=g(H(b)),h=a||new WeakMap,i=P.calculateSplices(e,f),j=0,k=0,l=0,m=0;m<i.length;m++){for(var n=i[m];l<n.index;l++)k++,e[j++].sync(h);for(var o=n.removed.length,p=0;o>p;p++){var q=I(f[k++]);h.get(q)||d(q)}for(var r=n.addedCount,s=f[k]&&I(f[k]),p=0;r>p;p++){var t=e[j++],u=t.node;c(b,u,s),h.set(u,!0),t.sync(h)}l+=r}for(var m=l;m<e.length;m++)e[m].sync(h)}}},n.prototype={render:function(a){if(this.dirty){this.invalidateAttributes();var b=this.host;this.distribution(b);var c=a||new m(b);this.buildRenderTree(c,b);var d=!a;d&&c.sync(),this.dirty=!1}},get parentRenderer(){return E(this.host).renderer},invalidate:function(){if(!this.dirty){this.dirty=!0;var a=this.parentRenderer;if(a&&a.invalidate(),O.push(this),y)return;y=window[N](i,0)}},distribution:function(a){this.resetAllSubtrees(a),this.distributionResolution(a)},resetAll:function(a){v(a)?e(a):s(a),this.resetAllSubtrees(a)},resetAllSubtrees:function(a){for(var b=a.firstChild;b;b=b.nextSibling)this.resetAll(b);a.shadowRoot&&this.resetAll(a.shadowRoot),a.olderShadowRoot&&this.resetAll(a.olderShadowRoot)},distributionResolution:function(a){if(w(a)){for(var b=a,c=o(b),d=x(b),e=0;e<d.length;e++)this.poolDistribution(d[e],c);for(var e=d.length-1;e>=0;e--){var f=d[e],g=p(f);if(g){var h=f.olderShadowRoot;h&&(c=o(h));for(var i=0;i<c.length;i++)q(c[i],g)}this.distributionResolution(f)}}for(var j=a.firstChild;j;j=j.nextSibling)this.distributionResolution(j)},poolDistribution:function(a,b){if(!(a instanceof B))if(a instanceof A){var c=a;this.updateDependentAttributes(c.getAttribute("select"));for(var d=!1,e=0;e<b.length;e++){var a=b[e];a&&t(a,c)&&(q(a,c),b[e]=void 0,d=!0)}if(!d)for(var f=c.firstChild;f;f=f.nextSibling)q(f,c)}else for(var f=a.firstChild;f;f=f.nextSibling)this.poolDistribution(f,b)},buildRenderTree:function(a,b){for(var c=this.compose(b),d=0;d<c.length;d++){var e=c[d],f=a.append(e);this.buildRenderTree(f,e)}if(w(b)){var g=j(b);g.dirty=!1}},compose:function(a){for(var b=[],c=a.shadowRoot||a,d=c.firstChild;d;d=d.nextSibling)if(v(d)){this.associateNode(c);for(var e=f(d),g=0;g<e.length;g++){var h=e[g];u(d,h)&&b.push(h)}}else b.push(d);return b},invalidateAttributes:function(){this.attributes=Object.create(null)},updateDependentAttributes:function(a){if(a){var b=this.attributes;/\.\w+/.test(a)&&(b["class"]=!0),/#\w+/.test(a)&&(b.id=!0),a.replace(/\[\s*([^\s=\|~\]]+)/g,function(a,c){b[c]=!0})}},dependsOnAttribute:function(a){return this.attributes[a]},associateNode:function(a){G(a).polymerShadowRenderer_=this}};var Q=/^(:not\()?[*.#[a-zA-Z_|]/;C.prototype.invalidateShadowRenderer=function(a){var b=G(this).polymerShadowRenderer_;return b?(b.invalidate(),!0):!1},A.prototype.getDistributedNodes=B.prototype.getDistributedNodes=function(){return h(),f(this)},z.prototype.getDestinationInsertionPoints=function(){return h(),r(this)||[]},A.prototype.nodeIsInserted_=B.prototype.nodeIsInserted_=function(){this.invalidateShadowRenderer();var a,b=k(this);b&&(a=l(b)),G(this).polymerShadowRenderer_=a,a&&a.invalidate()},a.getRendererForHost=j,a.getShadowTrees=x,a.renderAllPending=h,a.getDestinationInsertionPoints=r,a.visual={insertBefore:c,remove:d}}(window.ShadowDOMPolyfill),function(a){"use strict";function b(b){if(window[b]){d(!a.wrappers[b]);var i=function(a){c.call(this,a)};i.prototype=Object.create(c.prototype),e(i.prototype,{get form(){return h(g(this).form)}}),f(window[b],i,document.createElement(b.slice(4,-7))),a.wrappers[b]=i}}var c=a.wrappers.HTMLElement,d=a.assert,e=a.mixin,f=a.registerWrapper,g=a.unwrap,h=a.wrap,i=["HTMLButtonElement","HTMLFieldSetElement","HTMLInputElement","HTMLKeygenElement","HTMLLabelElement","HTMLLegendElement","HTMLObjectElement","HTMLOutputElement","HTMLTextAreaElement"];i.forEach(b)}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){d(a,this)}var c=a.registerWrapper,d=a.setWrapper,e=a.unsafeUnwrap,f=a.unwrap,g=a.unwrapIfNeeded,h=a.wrap,i=window.Selection;b.prototype={get anchorNode(){return h(e(this).anchorNode)},get focusNode(){return h(e(this).focusNode)},addRange:function(a){e(this).addRange(g(a))},collapse:function(a,b){e(this).collapse(g(a),b)},containsNode:function(a,b){return e(this).containsNode(g(a),b)},getRangeAt:function(a){return h(e(this).getRangeAt(a))},removeRange:function(a){e(this).removeRange(f(a))},selectAllChildren:function(a){e(this).selectAllChildren(a instanceof ShadowRoot?e(a.host):g(a))},toString:function(){return e(this).toString()}},i.prototype.extend&&(b.prototype.extend=function(a,b){e(this).extend(g(a),b)}),c(window.Selection,b,window.getSelection()),a.wrappers.Selection=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){d(a,this)}var c=a.registerWrapper,d=a.setWrapper,e=a.unsafeUnwrap,f=a.unwrapIfNeeded,g=a.wrap,h=window.TreeWalker;b.prototype={get root(){return g(e(this).root)},get currentNode(){return g(e(this).currentNode)},set currentNode(a){e(this).currentNode=f(a)},get filter(){return e(this).filter},parentNode:function(){return g(e(this).parentNode())},firstChild:function(){return g(e(this).firstChild())},lastChild:function(){return g(e(this).lastChild())},previousSibling:function(){return g(e(this).previousSibling())},previousNode:function(){return g(e(this).previousNode())},nextNode:function(){return g(e(this).nextNode())}},c(h,b),a.wrappers.TreeWalker=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){k.call(this,a),this.treeScope_=new q(this,null)}function c(a){var c=document[a];b.prototype[a]=function(){return D(c.apply(B(this),arguments))}}function d(a,b){G.call(B(b),C(a)),e(a,b)}function e(a,b){a.shadowRoot&&b.adoptNode(a.shadowRoot),a instanceof p&&f(a,b);for(var c=a.firstChild;c;c=c.nextSibling)e(c,b)}function f(a,b){var c=a.olderShadowRoot;c&&b.adoptNode(c)}function g(a){A(a,this)}function h(a,b){var c=document.implementation[b];a.prototype[b]=function(){return D(c.apply(B(this),arguments))}}function i(a,b){var c=document.implementation[b];a.prototype[b]=function(){return c.apply(B(this),arguments)}}var j=a.GetElementsByInterface,k=a.wrappers.Node,l=a.ParentNodeInterface,m=a.NonElementParentNodeInterface,n=a.wrappers.Selection,o=a.SelectorsInterface,p=a.wrappers.ShadowRoot,q=a.TreeScope,r=a.cloneNode,s=a.defineWrapGetter,t=a.elementFromPoint,u=a.forwardMethodsToWrapper,v=a.matchesNames,w=a.mixin,x=a.registerWrapper,y=a.renderAllPending,z=a.rewrap,A=a.setWrapper,B=a.unsafeUnwrap,C=a.unwrap,D=a.wrap,E=a.wrapEventTargetMethods,F=(a.wrapNodeList,new WeakMap);b.prototype=Object.create(k.prototype),s(b,"documentElement"),s(b,"body"),s(b,"head"),["createComment","createDocumentFragment","createElement","createElementNS","createEvent","createEventNS","createRange","createTextNode"].forEach(c);var G=document.adoptNode,H=document.getSelection;w(b.prototype,{adoptNode:function(a){return a.parentNode&&a.parentNode.removeChild(a),d(a,this),a},elementFromPoint:function(a,b){return t(this,this,a,b)},importNode:function(a,b){return r(a,b,B(this))},getSelection:function(){return y(),new n(H.call(C(this)))},getElementsByName:function(a){return o.querySelectorAll.call(this,"[name="+JSON.stringify(String(a))+"]")}});var I=document.createTreeWalker,J=a.wrappers.TreeWalker;if(b.prototype.createTreeWalker=function(a,b,c,d){var e=null;return c&&(c.acceptNode&&"function"==typeof c.acceptNode?e={acceptNode:function(a){return c.acceptNode(D(a))}}:"function"==typeof c&&(e=function(a){return c(D(a))})),new J(I.call(C(this),C(a),b,e,d))},document.registerElement){var K=document.registerElement;b.prototype.registerElement=function(b,c){function d(a){return a?void A(a,this):f?document.createElement(f,b):document.createElement(b)}var e,f;if(void 0!==c&&(e=c.prototype,f=c["extends"]),e||(e=Object.create(HTMLElement.prototype)),a.nativePrototypeTable.get(e))throw new Error("NotSupportedError");for(var g,h=Object.getPrototypeOf(e),i=[];h&&!(g=a.nativePrototypeTable.get(h));)i.push(h),h=Object.getPrototypeOf(h);if(!g)throw new Error("NotSupportedError");for(var j=Object.create(g),k=i.length-1;k>=0;k--)j=Object.create(j);["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"].forEach(function(a){var b=e[a];b&&(j[a]=function(){D(this)instanceof d||z(this),b.apply(D(this),arguments)})});var l={prototype:j};f&&(l["extends"]=f),d.prototype=e,d.prototype.constructor=d,a.constructorTable.set(j,d),a.nativePrototypeTable.set(e,j);K.call(C(this),b,l);return d},u([window.HTMLDocument||window.Document],["registerElement"])}u([window.HTMLBodyElement,window.HTMLDocument||window.Document,window.HTMLHeadElement,window.HTMLHtmlElement],["appendChild","compareDocumentPosition","contains","getElementsByClassName","getElementsByTagName","getElementsByTagNameNS","insertBefore","querySelector","querySelectorAll","removeChild","replaceChild"]),u([window.HTMLBodyElement,window.HTMLHeadElement,window.HTMLHtmlElement],v),u([window.HTMLDocument||window.Document],["adoptNode","importNode","contains","createComment","createDocumentFragment","createElement","createElementNS","createEvent","createEventNS","createRange","createTextNode","createTreeWalker","elementFromPoint","getElementById","getElementsByName","getSelection"]),w(b.prototype,j),w(b.prototype,l),w(b.prototype,o),w(b.prototype,m),w(b.prototype,{get implementation(){var a=F.get(this);return a?a:(a=new g(C(this).implementation),F.set(this,a),a)},get defaultView(){return D(C(this).defaultView)}}),x(window.Document,b,document.implementation.createHTMLDocument("")),window.HTMLDocument&&x(window.HTMLDocument,b),E([window.HTMLBodyElement,window.HTMLDocument||window.Document,window.HTMLHeadElement]);var L=document.implementation.createDocument;g.prototype.createDocument=function(){return arguments[2]=C(arguments[2]),D(L.apply(B(this),arguments))},h(g,"createDocumentType"),h(g,"createHTMLDocument"),i(g,"hasFeature"),x(window.DOMImplementation,g),u([window.DOMImplementation],["createDocument","createDocumentType","createHTMLDocument","hasFeature"]),a.adoptNodeNoRemove=d,a.wrappers.DOMImplementation=g,a.wrappers.Document=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.EventTarget,d=a.wrappers.Selection,e=a.mixin,f=a.registerWrapper,g=a.renderAllPending,h=a.unwrap,i=a.unwrapIfNeeded,j=a.wrap,k=window.Window,l=window.getComputedStyle,m=window.getDefaultComputedStyle,n=window.getSelection;b.prototype=Object.create(c.prototype),k.prototype.getComputedStyle=function(a,b){return j(this||window).getComputedStyle(i(a),b)},m&&(k.prototype.getDefaultComputedStyle=function(a,b){return j(this||window).getDefaultComputedStyle(i(a),b)}),k.prototype.getSelection=function(){return j(this||window).getSelection()},delete window.getComputedStyle,delete window.getDefaultComputedStyle,delete window.getSelection,["addEventListener","removeEventListener","dispatchEvent"].forEach(function(a){k.prototype[a]=function(){var b=j(this||window);return b[a].apply(b,arguments)},delete window[a]}),e(b.prototype,{getComputedStyle:function(a,b){return g(),l.call(h(this),i(a),b)},getSelection:function(){return g(),new d(n.call(h(this)))},get document(){return j(h(this).document)}}),m&&(b.prototype.getDefaultComputedStyle=function(a,b){return g(),m.call(h(this),i(a),b)}),f(k,b,window),a.wrappers.Window=b}(window.ShadowDOMPolyfill),function(a){"use strict";var b=a.unwrap,c=window.DataTransfer||window.Clipboard,d=c.prototype.setDragImage;d&&(c.prototype.setDragImage=function(a,c,e){d.call(this,b(a),c,e)})}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){var b;b=a instanceof f?a:new f(a&&e(a)),d(b,this)}var c=a.registerWrapper,d=a.setWrapper,e=a.unwrap,f=window.FormData;f&&(c(f,b,new f),a.wrappers.FormData=b)}(window.ShadowDOMPolyfill),function(a){"use strict";var b=a.unwrapIfNeeded,c=XMLHttpRequest.prototype.send;XMLHttpRequest.prototype.send=function(a){return c.call(this,b(a))}}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){var b=c[a],d=window[b];if(d){var e=document.createElement(a),f=e.constructor;window[b]=f}}var c=(a.isWrapperFor,{a:"HTMLAnchorElement",area:"HTMLAreaElement",audio:"HTMLAudioElement",base:"HTMLBaseElement",body:"HTMLBodyElement",br:"HTMLBRElement",button:"HTMLButtonElement",canvas:"HTMLCanvasElement",caption:"HTMLTableCaptionElement",col:"HTMLTableColElement",content:"HTMLContentElement",data:"HTMLDataElement",datalist:"HTMLDataListElement",del:"HTMLModElement",dir:"HTMLDirectoryElement",div:"HTMLDivElement",dl:"HTMLDListElement",embed:"HTMLEmbedElement",fieldset:"HTMLFieldSetElement",font:"HTMLFontElement",form:"HTMLFormElement",frame:"HTMLFrameElement",frameset:"HTMLFrameSetElement",h1:"HTMLHeadingElement",head:"HTMLHeadElement",hr:"HTMLHRElement",html:"HTMLHtmlElement",iframe:"HTMLIFrameElement",img:"HTMLImageElement",input:"HTMLInputElement",keygen:"HTMLKeygenElement",label:"HTMLLabelElement",legend:"HTMLLegendElement",li:"HTMLLIElement",link:"HTMLLinkElement",map:"HTMLMapElement",marquee:"HTMLMarqueeElement",menu:"HTMLMenuElement",menuitem:"HTMLMenuItemElement",meta:"HTMLMetaElement",meter:"HTMLMeterElement",object:"HTMLObjectElement",ol:"HTMLOListElement",optgroup:"HTMLOptGroupElement",option:"HTMLOptionElement",output:"HTMLOutputElement",p:"HTMLParagraphElement",param:"HTMLParamElement",pre:"HTMLPreElement",progress:"HTMLProgressElement",q:"HTMLQuoteElement",script:"HTMLScriptElement",select:"HTMLSelectElement",shadow:"HTMLShadowElement",source:"HTMLSourceElement",span:"HTMLSpanElement",style:"HTMLStyleElement",table:"HTMLTableElement",tbody:"HTMLTableSectionElement",template:"HTMLTemplateElement",textarea:"HTMLTextAreaElement",thead:"HTMLTableSectionElement",time:"HTMLTimeElement",title:"HTMLTitleElement",tr:"HTMLTableRowElement",track:"HTMLTrackElement",ul:"HTMLUListElement",video:"HTMLVideoElement"});Object.keys(c).forEach(b),Object.getOwnPropertyNames(a.wrappers).forEach(function(b){window[b]=a.wrappers[b]})}(window.ShadowDOMPolyfill),function(a){function b(a,b){var c="";return Array.prototype.forEach.call(a,function(a){c+=a.textContent+"\n\n"}),b||(c=c.replace(l,"")),c}function c(a){var b=document.createElement("style");return b.textContent=a,b}function d(a){var b=c(a);document.head.appendChild(b);var d=[];if(b.sheet)try{d=b.sheet.cssRules}catch(e){}else console.warn("sheet not found",b);return b.parentNode.removeChild(b),d}function e(){D.initialized=!0,document.body.appendChild(D);var a=D.contentDocument,b=a.createElement("base");b.href=document.baseURI,a.head.appendChild(b)}function f(a){D.initialized||e(),document.body.appendChild(D),a(D.contentDocument),document.body.removeChild(D)}function g(a,b){if(b){var e;if(a.match("@import")&&F){var g=c(a);f(function(a){a.head.appendChild(g.impl),e=Array.prototype.slice.call(g.sheet.cssRules,0),b(e)})}else e=d(a),b(e)}}function h(a){a&&j().appendChild(document.createTextNode(a))}function i(a,b){var d=c(a);d.setAttribute(b,""),d.setAttribute(H,""),document.head.appendChild(d)}function j(){return E||(E=document.createElement("style"),E.setAttribute(H,""),E[H]=!0),E}var k={strictStyling:!1,registry:{},shimStyling:function(a,c,d){var e=this.prepareRoot(a,c,d),f=this.isTypeExtension(d),g=this.makeScopeSelector(c,f),h=b(e,!0);h=this.scopeCssText(h,g),a&&(a.shimmedStyle=h),this.addCssToDocument(h,c)},shimStyle:function(a,b){return this.shimCssText(a.textContent,b)},shimCssText:function(a,b){return a=this.insertDirectives(a),this.scopeCssText(a,b)},makeScopeSelector:function(a,b){return a?b?"[is="+a+"]":a:""},isTypeExtension:function(a){return a&&a.indexOf("-")<0},prepareRoot:function(a,b,c){var d=this.registerRoot(a,b,c);return this.replaceTextInStyles(d.rootStyles,this.insertDirectives),this.removeStyles(a,d.rootStyles),this.strictStyling&&this.applyScopeToContent(a,b),d.scopeStyles},removeStyles:function(a,b){for(var c,d=0,e=b.length;e>d&&(c=b[d]);d++)c.parentNode.removeChild(c)},registerRoot:function(a,b,c){var d=this.registry[b]={root:a,name:b,extendsName:c},e=this.findStyles(a);d.rootStyles=e,d.scopeStyles=d.rootStyles;var f=this.registry[d.extendsName];return f&&(d.scopeStyles=f.scopeStyles.concat(d.scopeStyles)),d},findStyles:function(a){if(!a)return[];var b=a.querySelectorAll("style");return Array.prototype.filter.call(b,function(a){return!a.hasAttribute(I)})},applyScopeToContent:function(a,b){a&&(Array.prototype.forEach.call(a.querySelectorAll("*"),function(a){a.setAttribute(b,"")}),Array.prototype.forEach.call(a.querySelectorAll("template"),function(a){this.applyScopeToContent(a.content,b)},this))},insertDirectives:function(a){return a=this.insertPolyfillDirectivesInCssText(a),this.insertPolyfillRulesInCssText(a)},insertPolyfillDirectivesInCssText:function(a){return a=a.replace(m,function(a,b){return b.slice(0,-2)+"{"}),a.replace(n,function(a,b){return b+" {"})},insertPolyfillRulesInCssText:function(a){return a=a.replace(o,function(a,b){return b.slice(0,-1)}),a.replace(p,function(a,b,c,d){var e=a.replace(b,"").replace(c,"");return d+e})},scopeCssText:function(a,b){var c=this.extractUnscopedRulesFromCssText(a);if(a=this.insertPolyfillHostInCssText(a),a=this.convertColonHost(a),a=this.convertColonHostContext(a),a=this.convertShadowDOMSelectors(a),b){var a,d=this;g(a,function(c){a=d.scopeRules(c,b)})}return a=a+"\n"+c,a.trim()},extractUnscopedRulesFromCssText:function(a){for(var b,c="";b=q.exec(a);)c+=b[1].slice(0,-1)+"\n\n";for(;b=r.exec(a);)c+=b[0].replace(b[2],"").replace(b[1],b[3])+"\n\n";return c},convertColonHost:function(a){return this.convertColonRule(a,v,this.colonHostPartReplacer)},convertColonHostContext:function(a){return this.convertColonRule(a,w,this.colonHostContextPartReplacer)},convertColonRule:function(a,b,c){return a.replace(b,function(a,b,d,e){if(b=A,d){for(var f,g=d.split(","),h=[],i=0,j=g.length;j>i&&(f=g[i]);i++)f=f.trim(),h.push(c(b,f,e));return h.join(",")}return b+e})},colonHostContextPartReplacer:function(a,b,c){return b.match(s)?this.colonHostPartReplacer(a,b,c):a+b+c+", "+b+" "+a+c},colonHostPartReplacer:function(a,b,c){return a+b.replace(s,"")+c},convertShadowDOMSelectors:function(a){for(var b=0;b<C.length;b++)a=a.replace(C[b]," ");return a},scopeRules:function(a,b){var c="";return a&&Array.prototype.forEach.call(a,function(a){if(a.selectorText&&a.style&&void 0!==a.style.cssText)c+=this.scopeSelector(a.selectorText,b,this.strictStyling)+" {\n      ",c+=this.propertiesFromRule(a)+"\n}\n\n";else if(a.type===CSSRule.MEDIA_RULE)c+="@media "+a.media.mediaText+" {\n",c+=this.scopeRules(a.cssRules,b),c+="\n}\n\n";else try{a.cssText&&(c+=a.cssText+"\n\n")}catch(d){a.type===CSSRule.KEYFRAMES_RULE&&a.cssRules&&(c+=this.ieSafeCssTextFromKeyFrameRule(a))}},this),c},ieSafeCssTextFromKeyFrameRule:function(a){var b="@keyframes "+a.name+" {";return Array.prototype.forEach.call(a.cssRules,function(a){b+=" "+a.keyText+" {"+a.style.cssText+"}"}),b+=" }"},scopeSelector:function(a,b,c){var d=[],e=a.split(",");return e.forEach(function(a){a=a.trim(),this.selectorNeedsScoping(a,b)&&(a=c&&!a.match(A)?this.applyStrictSelectorScope(a,b):this.applySelectorScope(a,b)),d.push(a)},this),d.join(", ")},selectorNeedsScoping:function(a,b){if(Array.isArray(b))return!0;var c=this.makeScopeMatcher(b);return!a.match(c)},makeScopeMatcher:function(a){return a=a.replace(/\[/g,"\\[").replace(/\]/g,"\\]"),new RegExp("^("+a+")"+x,"m")},applySelectorScope:function(a,b){return Array.isArray(b)?this.applySelectorScopeList(a,b):this.applySimpleSelectorScope(a,b)},applySelectorScopeList:function(a,b){for(var c,d=[],e=0;c=b[e];e++)d.push(this.applySimpleSelectorScope(a,c));return d.join(", ")},applySimpleSelectorScope:function(a,b){return a.match(B)?(a=a.replace(A,b),a.replace(B,b+" ")):b+" "+a},applyStrictSelectorScope:function(a,b){b=b.replace(/\[is=([^\]]*)\]/g,"$1");var c=[" ",">","+","~"],d=a,e="["+b+"]";return c.forEach(function(a){var b=d.split(a);d=b.map(function(a){var b=a.trim().replace(B,"");return b&&c.indexOf(b)<0&&b.indexOf(e)<0&&(a=b.replace(/([^:]*)(:*)(.*)/,"$1"+e+"$2$3")),a}).join(a)}),d},insertPolyfillHostInCssText:function(a){return a.replace(z,t).replace(y,s)},propertiesFromRule:function(a){var b=a.style.cssText;a.style.content&&!a.style.content.match(/['"]+|attr/)&&(b=b.replace(/content:[^;]*;/g,"content: '"+a.style.content+"';"));var c=a.style;for(var d in c)"initial"===c[d]&&(b+=d+": initial; ");return b},replaceTextInStyles:function(a,b){a&&b&&(a instanceof Array||(a=[a]),Array.prototype.forEach.call(a,function(a){a.textContent=b.call(this,a.textContent)},this))},addCssToDocument:function(a,b){a.match("@import")?i(a,b):h(a)}},l=/\/\*[^*]*\*+([^\/*][^*]*\*+)*\//gim,m=/\/\*\s*@polyfill ([^*]*\*+([^\/*][^*]*\*+)*\/)([^{]*?){/gim,n=/polyfill-next-selector[^}]*content\:[\s]*?['"](.*?)['"][;\s]*}([^{]*?){/gim,o=/\/\*\s@polyfill-rule([^*]*\*+([^\/*][^*]*\*+)*)\//gim,p=/(polyfill-rule)[^}]*(content\:[\s]*['"](.*?)['"])[;\s]*[^}]*}/gim,q=/\/\*\s@polyfill-unscoped-rule([^*]*\*+([^\/*][^*]*\*+)*)\//gim,r=/(polyfill-unscoped-rule)[^}]*(content\:[\s]*['"](.*?)['"])[;\s]*[^}]*}/gim,s="-shadowcsshost",t="-shadowcsscontext",u=")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)",v=new RegExp("("+s+u,"gim"),w=new RegExp("("+t+u,"gim"),x="([>\\s~+[.,{:][\\s\\S]*)?$",y=/\:host/gim,z=/\:host-context/gim,A=s+"-no-combinator",B=new RegExp(s,"gim"),C=(new RegExp(t,"gim"),[/>>>/g,/::shadow/g,/::content/g,/\/deep\//g,/\/shadow\//g,/\/shadow-deep\//g,/\^\^/g,/\^/g]),D=document.createElement("iframe");D.style.display="none";var E,F=navigator.userAgent.match("Chrome"),G="shim-shadowdom",H="shim-shadowdom-css",I="no-shim";if(window.ShadowDOMPolyfill){h("style { display: none !important; }\n");var J=ShadowDOMPolyfill.wrap(document),K=J.querySelector("head");K.insertBefore(j(),K.childNodes[0]),document.addEventListener("DOMContentLoaded",function(){a.urlResolver;if(window.HTMLImports&&!HTMLImports.useNative){var b="link[rel=stylesheet]["+G+"]",c="style["+G+"]";HTMLImports.importer.documentPreloadSelectors+=","+b,HTMLImports.importer.importsPreloadSelectors+=","+b,HTMLImports.parser.documentSelectors=[HTMLImports.parser.documentSelectors,b,c].join(",");var d=HTMLImports.parser.parseGeneric;HTMLImports.parser.parseGeneric=function(a){if(!a[H]){var b=a.__importElement||a;if(!b.hasAttribute(G))return void d.call(this,a);a.__resource&&(b=a.ownerDocument.createElement("style"),b.textContent=a.__resource),HTMLImports.path.resolveUrlsInStyle(b,a.href),b.textContent=k.shimStyle(b),b.removeAttribute(G,""),b.setAttribute(H,""),b[H]=!0,b.parentNode!==K&&(a.parentNode===K?K.replaceChild(b,a):this.addElementToDocument(b)),b.__importParsed=!0,this.markParsingComplete(a),this.parseNext()}};var e=HTMLImports.parser.hasResource;HTMLImports.parser.hasResource=function(a){return"link"===a.localName&&"stylesheet"===a.rel&&a.hasAttribute(G)?a.__resource:e.call(this,a)}}})}a.ShadowCSS=k}(window.WebComponents)),function(a){window.ShadowDOMPolyfill?(window.wrap=ShadowDOMPolyfill.wrapIfNeeded,window.unwrap=ShadowDOMPolyfill.unwrapIfNeeded):window.wrap=window.unwrap=function(a){return a}}(window.WebComponents),function(a){"use strict";function b(a){return void 0!==m[a]}function c(){h.call(this),this._isInvalid=!0}function d(a){return""==a&&c.call(this),a.toLowerCase()}function e(a){var b=a.charCodeAt(0);return b>32&&127>b&&-1==[34,35,60,62,63,96].indexOf(b)?a:encodeURIComponent(a)}function f(a){var b=a.charCodeAt(0);return b>32&&127>b&&-1==[34,35,60,62,96].indexOf(b)?a:encodeURIComponent(a)}function g(a,g,h){function i(a){t.push(a)}var j=g||"scheme start",k=0,l="",r=!1,s=!1,t=[];a:for(;(a[k-1]!=o||0==k)&&!this._isInvalid;){var u=a[k];switch(j){case"scheme start":if(!u||!p.test(u)){if(g){i("Invalid scheme.");break a}l="",j="no scheme";continue}l+=u.toLowerCase(),j="scheme";break;case"scheme":if(u&&q.test(u))l+=u.toLowerCase();else{if(":"!=u){if(g){if(o==u)break a;i("Code point not allowed in scheme: "+u);break a}l="",k=0,j="no scheme";continue}if(this._scheme=l,l="",g)break a;b(this._scheme)&&(this._isRelative=!0),j="file"==this._scheme?"relative":this._isRelative&&h&&h._scheme==this._scheme?"relative or authority":this._isRelative?"authority first slash":"scheme data"}break;case"scheme data":"?"==u?(this._query="?",j="query"):"#"==u?(this._fragment="#",j="fragment"):o!=u&&" "!=u&&"\n"!=u&&"\r"!=u&&(this._schemeData+=e(u));break;case"no scheme":if(h&&b(h._scheme)){j="relative";continue}i("Missing scheme."),c.call(this);break;case"relative or authority":if("/"!=u||"/"!=a[k+1]){i("Expected /, got: "+u),j="relative";continue}j="authority ignore slashes";break;case"relative":if(this._isRelative=!0,"file"!=this._scheme&&(this._scheme=h._scheme),o==u){this._host=h._host,this._port=h._port,this._path=h._path.slice(),this._query=h._query,this._username=h._username,this._password=h._password;break a}if("/"==u||"\\"==u)"\\"==u&&i("\\ is an invalid code point."),j="relative slash";else if("?"==u)this._host=h._host,this._port=h._port,this._path=h._path.slice(),this._query="?",this._username=h._username,this._password=h._password,j="query";else{if("#"!=u){var v=a[k+1],w=a[k+2];("file"!=this._scheme||!p.test(u)||":"!=v&&"|"!=v||o!=w&&"/"!=w&&"\\"!=w&&"?"!=w&&"#"!=w)&&(this._host=h._host,this._port=h._port,this._username=h._username,this._password=h._password,this._path=h._path.slice(),this._path.pop()),j="relative path";continue}this._host=h._host,this._port=h._port,this._path=h._path.slice(),this._query=h._query,this._fragment="#",this._username=h._username,this._password=h._password,j="fragment"}break;case"relative slash":if("/"!=u&&"\\"!=u){"file"!=this._scheme&&(this._host=h._host,this._port=h._port,this._username=h._username,this._password=h._password),j="relative path";continue}"\\"==u&&i("\\ is an invalid code point."),j="file"==this._scheme?"file host":"authority ignore slashes";break;case"authority first slash":if("/"!=u){i("Expected '/', got: "+u),j="authority ignore slashes";continue}j="authority second slash";break;case"authority second slash":if(j="authority ignore slashes","/"!=u){i("Expected '/', got: "+u);continue}break;case"authority ignore slashes":if("/"!=u&&"\\"!=u){j="authority";continue}i("Expected authority, got: "+u);break;case"authority":if("@"==u){r&&(i("@ already seen."),l+="%40"),r=!0;for(var x=0;x<l.length;x++){var y=l[x];if("   "!=y&&"\n"!=y&&"\r"!=y)if(":"!=y||null!==this._password){var z=e(y);
-null!==this._password?this._password+=z:this._username+=z}else this._password="";else i("Invalid whitespace in authority.")}l=""}else{if(o==u||"/"==u||"\\"==u||"?"==u||"#"==u){k-=l.length,l="",j="host";continue}l+=u}break;case"file host":if(o==u||"/"==u||"\\"==u||"?"==u||"#"==u){2!=l.length||!p.test(l[0])||":"!=l[1]&&"|"!=l[1]?0==l.length?j="relative path start":(this._host=d.call(this,l),l="",j="relative path start"):j="relative path";continue}"     "==u||"\n"==u||"\r"==u?i("Invalid whitespace in file host."):l+=u;break;case"host":case"hostname":if(":"!=u||s){if(o==u||"/"==u||"\\"==u||"?"==u||"#"==u){if(this._host=d.call(this,l),l="",j="relative path start",g)break a;continue}"        "!=u&&"\n"!=u&&"\r"!=u?("["==u?s=!0:"]"==u&&(s=!1),l+=u):i("Invalid code point in host/hostname: "+u)}else if(this._host=d.call(this,l),l="",j="port","hostname"==g)break a;break;case"port":if(/[0-9]/.test(u))l+=u;else{if(o==u||"/"==u||"\\"==u||"?"==u||"#"==u||g){if(""!=l){var A=parseInt(l,10);A!=m[this._scheme]&&(this._port=A+""),l=""}if(g)break a;j="relative path start";continue}"        "==u||"\n"==u||"\r"==u?i("Invalid code point in port: "+u):c.call(this)}break;case"relative path start":if("\\"==u&&i("'\\' not allowed in path."),j="relative path","/"!=u&&"\\"!=u)continue;break;case"relative path":if(o!=u&&"/"!=u&&"\\"!=u&&(g||"?"!=u&&"#"!=u))" "!=u&&"\n"!=u&&"\r"!=u&&(l+=e(u));else{"\\"==u&&i("\\ not allowed in relative path.");var B;(B=n[l.toLowerCase()])&&(l=B),".."==l?(this._path.pop(),"/"!=u&&"\\"!=u&&this._path.push("")):"."==l&&"/"!=u&&"\\"!=u?this._path.push(""):"."!=l&&("file"==this._scheme&&0==this._path.length&&2==l.length&&p.test(l[0])&&"|"==l[1]&&(l=l[0]+":"),this._path.push(l)),l="","?"==u?(this._query="?",j="query"):"#"==u&&(this._fragment="#",j="fragment")}break;case"query":g||"#"!=u?o!=u&&" "!=u&&"\n"!=u&&"\r"!=u&&(this._query+=f(u)):(this._fragment="#",j="fragment");break;case"fragment":o!=u&&"      "!=u&&"\n"!=u&&"\r"!=u&&(this._fragment+=u)}k++}}function h(){this._scheme="",this._schemeData="",this._username="",this._password=null,this._host="",this._port="",this._path=[],this._query="",this._fragment="",this._isInvalid=!1,this._isRelative=!1}function i(a,b){void 0===b||b instanceof i||(b=new i(String(b))),this._url=a,h.call(this);var c=a.replace(/^[ \t\r\n\f]+|[ \t\r\n\f]+$/g,"");g.call(this,c,null,b)}var j=!1;if(!a.forceJURL)try{var k=new URL("b","http://a");k.pathname="c%20d",j="http://a/c%20d"===k.href}catch(l){}if(!j){var m=Object.create(null);m.ftp=21,m.file=0,m.gopher=70,m.http=80,m.https=443,m.ws=80,m.wss=443;var n=Object.create(null);n["%2e"]=".",n[".%2e"]="..",n["%2e."]="..",n["%2e%2e"]="..";var o=void 0,p=/[a-zA-Z]/,q=/[a-zA-Z0-9\+\-\.]/;i.prototype={toString:function(){return this.href},get href(){if(this._isInvalid)return this._url;var a="";return(""!=this._username||null!=this._password)&&(a=this._username+(null!=this._password?":"+this._password:"")+"@"),this.protocol+(this._isRelative?"//"+a+this.host:"")+this.pathname+this._query+this._fragment},set href(a){h.call(this),g.call(this,a)},get protocol(){return this._scheme+":"},set protocol(a){this._isInvalid||g.call(this,a+":","scheme start")},get host(){return this._isInvalid?"":this._port?this._host+":"+this._port:this._host},set host(a){!this._isInvalid&&this._isRelative&&g.call(this,a,"host")},get hostname(){return this._host},set hostname(a){!this._isInvalid&&this._isRelative&&g.call(this,a,"hostname")},get port(){return this._port},set port(a){!this._isInvalid&&this._isRelative&&g.call(this,a,"port")},get pathname(){return this._isInvalid?"":this._isRelative?"/"+this._path.join("/"):this._schemeData},set pathname(a){!this._isInvalid&&this._isRelative&&(this._path=[],g.call(this,a,"relative path start"))},get search(){return this._isInvalid||!this._query||"?"==this._query?"":this._query},set search(a){!this._isInvalid&&this._isRelative&&(this._query="?","?"==a[0]&&(a=a.slice(1)),g.call(this,a,"query"))},get hash(){return this._isInvalid||!this._fragment||"#"==this._fragment?"":this._fragment},set hash(a){this._isInvalid||(this._fragment="#","#"==a[0]&&(a=a.slice(1)),g.call(this,a,"fragment"))},get origin(){var a;if(this._isInvalid||!this._scheme)return"";switch(this._scheme){case"data":case"file":case"javascript":case"mailto":return"null"}return a=this.host,a?this._scheme+"://"+a:""}};var r=a.URL;r&&(i.createObjectURL=function(a){return r.createObjectURL.apply(r,arguments)},i.revokeObjectURL=function(a){r.revokeObjectURL(a)}),a.URL=i}}(self),function(a){function b(a){u.push(a),t||(t=!0,p(d))}function c(a){return window.ShadowDOMPolyfill&&window.ShadowDOMPolyfill.wrapIfNeeded(a)||a}function d(){t=!1;var a=u;u=[],a.sort(function(a,b){return a.uid_-b.uid_});var b=!1;a.forEach(function(a){var c=a.takeRecords();e(a),c.length&&(a.callback_(c,a),b=!0)}),b&&d()}function e(a){a.nodes_.forEach(function(b){var c=q.get(b);c&&c.forEach(function(b){b.observer===a&&b.removeTransientObservers()})})}function f(a,b){for(var c=a;c;c=c.parentNode){var d=q.get(c);if(d)for(var e=0;e<d.length;e++){var f=d[e],g=f.options;if(c===a||g.subtree){var h=b(g);h&&f.enqueue(h)}}}}function g(a){this.callback_=a,this.nodes_=[],this.records_=[],this.uid_=++v}function h(a,b){this.type=a,this.target=b,this.addedNodes=[],this.removedNodes=[],this.previousSibling=null,this.nextSibling=null,this.attributeName=null,this.attributeNamespace=null,this.oldValue=null}function i(a){var b=new h(a.type,a.target);return b.addedNodes=a.addedNodes.slice(),b.removedNodes=a.removedNodes.slice(),b.previousSibling=a.previousSibling,b.nextSibling=a.nextSibling,b.attributeName=a.attributeName,b.attributeNamespace=a.attributeNamespace,b.oldValue=a.oldValue,b}function j(a,b){return w=new h(a,b)}function k(a){return x?x:(x=i(w),x.oldValue=a,x)}function l(){w=x=void 0}function m(a){return a===x||a===w}function n(a,b){return a===b?a:x&&m(a)?x:null}function o(a,b,c){this.observer=a,this.target=b,this.options=c,this.transientObservedNodes=[]}if(!a.JsMutationObserver){var p,q=new WeakMap;if(/Trident|Edge/.test(navigator.userAgent))p=setTimeout;else if(window.setImmediate)p=window.setImmediate;else{var r=[],s=String(Math.random());window.addEventListener("message",function(a){if(a.data===s){var b=r;r=[],b.forEach(function(a){a()})}}),p=function(a){r.push(a),window.postMessage(s,"*")}}var t=!1,u=[],v=0;g.prototype={observe:function(a,b){if(a=c(a),!b.childList&&!b.attributes&&!b.characterData||b.attributeOldValue&&!b.attributes||b.attributeFilter&&b.attributeFilter.length&&!b.attributes||b.characterDataOldValue&&!b.characterData)throw new SyntaxError;var d=q.get(a);d||q.set(a,d=[]);for(var e,f=0;f<d.length;f++)if(d[f].observer===this){e=d[f],e.removeListeners(),e.options=b;break}e||(e=new o(this,a,b),d.push(e),this.nodes_.push(a)),e.addListeners()},disconnect:function(){this.nodes_.forEach(function(a){for(var b=q.get(a),c=0;c<b.length;c++){var d=b[c];if(d.observer===this){d.removeListeners(),b.splice(c,1);break}}},this),this.records_=[]},takeRecords:function(){var a=this.records_;return this.records_=[],a}};var w,x;o.prototype={enqueue:function(a){var c=this.observer.records_,d=c.length;if(c.length>0){var e=c[d-1],f=n(e,a);if(f)return void(c[d-1]=f)}else b(this.observer);c[d]=a},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(a){var b=this.options;b.attributes&&a.addEventListener("DOMAttrModified",this,!0),b.characterData&&a.addEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.addEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.addEventListener("DOMNodeRemoved",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(a){var b=this.options;b.attributes&&a.removeEventListener("DOMAttrModified",this,!0),b.characterData&&a.removeEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.removeEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.removeEventListener("DOMNodeRemoved",this,!0)},addTransientObserver:function(a){if(a!==this.target){this.addListeners_(a),this.transientObservedNodes.push(a);var b=q.get(a);b||q.set(a,b=[]),b.push(this)}},removeTransientObservers:function(){var a=this.transientObservedNodes;this.transientObservedNodes=[],a.forEach(function(a){this.removeListeners_(a);for(var b=q.get(a),c=0;c<b.length;c++)if(b[c]===this){b.splice(c,1);break}},this)},handleEvent:function(a){switch(a.stopImmediatePropagation(),a.type){case"DOMAttrModified":var b=a.attrName,c=a.relatedNode.namespaceURI,d=a.target,e=new j("attributes",d);e.attributeName=b,e.attributeNamespace=c;var g=a.attrChange===MutationEvent.ADDITION?null:a.prevValue;f(d,function(a){return!a.attributes||a.attributeFilter&&a.attributeFilter.length&&-1===a.attributeFilter.indexOf(b)&&-1===a.attributeFilter.indexOf(c)?void 0:a.attributeOldValue?k(g):e});break;case"DOMCharacterDataModified":var d=a.target,e=j("characterData",d),g=a.prevValue;f(d,function(a){return a.characterData?a.characterDataOldValue?k(g):e:void 0});break;case"DOMNodeRemoved":this.addTransientObserver(a.target);case"DOMNodeInserted":var h,i,m=a.target;"DOMNodeInserted"===a.type?(h=[m],i=[]):(h=[],i=[m]);var n=m.previousSibling,o=m.nextSibling,e=j("childList",a.target.parentNode);e.addedNodes=h,e.removedNodes=i,e.previousSibling=n,e.nextSibling=o,f(a.relatedNode,function(a){return a.childList?e:void 0})}l()}},a.JsMutationObserver=g,a.MutationObserver||(a.MutationObserver=g,g._isPolyfilled=!0)}}(self),function(a){"use strict";if(!window.performance){var b=Date.now();window.performance={now:function(){return Date.now()-b}}}window.requestAnimationFrame||(window.requestAnimationFrame=function(){var a=window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame;return a?function(b){return a(function(){b(performance.now())})}:function(a){return window.setTimeout(a,1e3/60)}}()),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(){return window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||function(a){clearTimeout(a)}}());var c=function(){var a=document.createEvent("Event");return a.initEvent("foo",!0,!0),a.preventDefault(),a.defaultPrevented}();if(!c){var d=Event.prototype.preventDefault;Event.prototype.preventDefault=function(){this.cancelable&&(d.call(this),Object.defineProperty(this,"defaultPrevented",{get:function(){return!0},configurable:!0}))}}var e=/Trident/.test(navigator.userAgent);if((!window.CustomEvent||e&&"function"!=typeof window.CustomEvent)&&(window.CustomEvent=function(a,b){b=b||{};var c=document.createEvent("CustomEvent");return c.initCustomEvent(a,Boolean(b.bubbles),Boolean(b.cancelable),b.detail),c},window.CustomEvent.prototype=window.Event.prototype),!window.Event||e&&"function"!=typeof window.Event){var f=window.Event;window.Event=function(a,b){b=b||{};var c=document.createEvent("Event");return c.initEvent(a,Boolean(b.bubbles),Boolean(b.cancelable)),c},window.Event.prototype=f.prototype}}(window.WebComponents),window.HTMLImports=window.HTMLImports||{flags:{}},function(a){function b(a,b){b=b||o,d(function(){f(a,b)},b)}function c(a){return"complete"===a.readyState||a.readyState===r}function d(a,b){if(c(b))a&&a();else{var e=function(){("complete"===b.readyState||b.readyState===r)&&(b.removeEventListener(s,e),d(a,b))};b.addEventListener(s,e)}}function e(a){a.target.__loaded=!0}function f(a,b){function c(){i==j&&a&&a({allImports:h,loadedImports:k,errorImports:l})}function d(a){e(a),k.push(this),i++,c()}function f(a){l.push(this),i++,c()}var h=b.querySelectorAll("link[rel=import]"),i=0,j=h.length,k=[],l=[];if(j)for(var m,n=0;j>n&&(m=h[n]);n++)g(m)?(i++,c()):(m.addEventListener("load",d),m.addEventListener("error",f));else c()}function g(a){return l?a.__loaded||a["import"]&&"loading"!==a["import"].readyState:a.__importParsed}function h(a){for(var b,c=0,d=a.length;d>c&&(b=a[c]);c++)i(b)&&j(b)}function i(a){return"link"===a.localName&&"import"===a.rel}function j(a){var b=a["import"];b?e({target:a}):(a.addEventListener("load",e),a.addEventListener("error",e))}var k="import",l=Boolean(k in document.createElement("link")),m=Boolean(window.ShadowDOMPolyfill),n=function(a){return m?window.ShadowDOMPolyfill.wrapIfNeeded(a):a},o=n(document),p={get:function(){var a=window.HTMLImports.currentScript||document.currentScript||("complete"!==document.readyState?document.scripts[document.scripts.length-1]:null);return n(a)},configurable:!0};Object.defineProperty(document,"_currentScript",p),Object.defineProperty(o,"_currentScript",p);var q=/Trident/.test(navigator.userAgent),r=q?"complete":"interactive",s="readystatechange";l&&(new MutationObserver(function(a){for(var b,c=0,d=a.length;d>c&&(b=a[c]);c++)b.addedNodes&&h(b.addedNodes)}).observe(document.head,{childList:!0}),function(){if("loading"===document.readyState)for(var a,b=document.querySelectorAll("link[rel=import]"),c=0,d=b.length;d>c&&(a=b[c]);c++)j(a)}()),b(function(a){window.HTMLImports.ready=!0,window.HTMLImports.readyTime=(new Date).getTime();var b=o.createEvent("CustomEvent");b.initCustomEvent("HTMLImportsLoaded",!0,!0,a),o.dispatchEvent(b)}),a.IMPORT_LINK_TYPE=k,a.useNative=l,a.rootDocument=o,a.whenReady=b,a.isIE=q}(window.HTMLImports),function(a){var b=[],c=function(a){b.push(a)},d=function(){b.forEach(function(b){b(a)})};a.addModule=c,a.initializeModules=d}(window.HTMLImports),window.HTMLImports.addModule(function(a){var b=/(url\()([^)]*)(\))/g,c=/(@import[\s]+(?!url\())([^;]*)(;)/g,d={resolveUrlsInStyle:function(a,b){var c=a.ownerDocument,d=c.createElement("a");return a.textContent=this.resolveUrlsInCssText(a.textContent,b,d),a},resolveUrlsInCssText:function(a,d,e){var f=this.replaceUrls(a,e,d,b);return f=this.replaceUrls(f,e,d,c)},replaceUrls:function(a,b,c,d){return a.replace(d,function(a,d,e,f){var g=e.replace(/["']/g,"");return c&&(g=new URL(g,c).href),b.href=g,g=b.href,d+"'"+g+"'"+f})}};a.path=d}),window.HTMLImports.addModule(function(a){var b={async:!0,ok:function(a){return a.status>=200&&a.status<300||304===a.status||0===a.status},load:function(c,d,e){var f=new XMLHttpRequest;return(a.flags.debug||a.flags.bust)&&(c+="?"+Math.random()),f.open("GET",c,b.async),f.addEventListener("readystatechange",function(a){if(4===f.readyState){var c=null;try{var g=f.getResponseHeader("Location");g&&(c="/"===g.substr(0,1)?location.origin+g:g)}catch(a){console.error(a.message)}d.call(e,!b.ok(f)&&f,f.response||f.responseText,c)}}),f.send(),f},loadDocument:function(a,b,c){this.load(a,b,c).responseType="document"}};a.xhr=b}),window.HTMLImports.addModule(function(a){var b=a.xhr,c=a.flags,d=function(a,b){this.cache={},this.onload=a,this.oncomplete=b,this.inflight=0,this.pending={}};d.prototype={addNodes:function(a){this.inflight+=a.length;for(var b,c=0,d=a.length;d>c&&(b=a[c]);c++)this.require(b);this.checkDone()},addNode:function(a){this.inflight++,this.require(a),this.checkDone()},require:function(a){var b=a.src||a.href;a.__nodeUrl=b,this.dedupe(b,a)||this.fetch(b,a)},dedupe:function(a,b){if(this.pending[a])return this.pending[a].push(b),!0;return this.cache[a]?(this.onload(a,b,this.cache[a]),this.tail(),!0):(this.pending[a]=[b],!1)},fetch:function(a,d){if(c.load&&console.log("fetch",a,d),a)if(a.match(/^data:/)){var e=a.split(","),f=e[0],g=e[1];g=f.indexOf(";base64")>-1?atob(g):decodeURIComponent(g),setTimeout(function(){this.receive(a,d,null,g)}.bind(this),0)}else{var h=function(b,c,e){this.receive(a,d,b,c,e)}.bind(this);b.load(a,h)}else setTimeout(function(){this.receive(a,d,{error:"href must be specified"},null)}.bind(this),0)},receive:function(a,b,c,d,e){this.cache[a]=d;for(var f,g=this.pending[a],h=0,i=g.length;i>h&&(f=g[h]);h++)this.onload(a,f,d,c,e),this.tail();this.pending[a]=null},tail:function(){--this.inflight,this.checkDone()},checkDone:function(){this.inflight||this.oncomplete()}},a.Loader=d}),window.HTMLImports.addModule(function(a){var b=function(a){this.addCallback=a,this.mo=new MutationObserver(this.handler.bind(this))};b.prototype={handler:function(a){for(var b,c=0,d=a.length;d>c&&(b=a[c]);c++)"childList"===b.type&&b.addedNodes.length&&this.addedNodes(b.addedNodes)},addedNodes:function(a){this.addCallback&&this.addCallback(a);for(var b,c=0,d=a.length;d>c&&(b=a[c]);c++)b.children&&b.children.length&&this.addedNodes(b.children)},observe:function(a){this.mo.observe(a,{childList:!0,subtree:!0})}},a.Observer=b}),window.HTMLImports.addModule(function(a){function b(a){return"link"===a.localName&&a.rel===k}function c(a){var b=d(a);return"data:text/javascript;charset=utf-8,"+encodeURIComponent(b)}function d(a){return a.textContent+e(a)}function e(a){var b=a.ownerDocument;b.__importedScripts=b.__importedScripts||0;var c=a.ownerDocument.baseURI,d=b.__importedScripts?"-"+b.__importedScripts:"";return b.__importedScripts++,"\n//# sourceURL="+c+d+".js\n"}function f(a){var b=a.ownerDocument.createElement("style");return b.textContent=a.textContent,g.resolveUrlsInStyle(b),b}var g=a.path,h=a.rootDocument,i=a.flags,j=a.isIE,k=a.IMPORT_LINK_TYPE,l="link[rel="+k+"]",m={documentSelectors:l,importsSelectors:[l,"link[rel=stylesheet]:not([type])","style:not([type])","script:not([type])",'script[type="application/javascript"]','script[type="text/javascript"]'].join(","),map:{link:"parseLink",script:"parseScript",style:"parseStyle"},dynamicElements:[],parseNext:function(){var a=this.nextToParse();a&&this.parse(a)},parse:function(a){if(this.isParsed(a))return void(i.parse&&console.log("[%s] is already parsed",a.localName));var b=this[this.map[a.localName]];b&&(this.markParsing(a),b.call(this,a))},parseDynamic:function(a,b){this.dynamicElements.push(a),b||this.parseNext()},markParsing:function(a){i.parse&&console.log("parsing",a),this.parsingElement=a},markParsingComplete:function(a){a.__importParsed=!0,this.markDynamicParsingComplete(a),a.__importElement&&(a.__importElement.__importParsed=!0,this.markDynamicParsingComplete(a.__importElement)),this.parsingElement=null,i.parse&&console.log("completed",a)},markDynamicParsingComplete:function(a){var b=this.dynamicElements.indexOf(a);b>=0&&this.dynamicElements.splice(b,1)},parseImport:function(a){if(a["import"]=a.__doc,window.HTMLImports.__importsParsingHook&&window.HTMLImports.__importsParsingHook(a),a["import"]&&(a["import"].__importParsed=!0),this.markParsingComplete(a),a.__resource&&!a.__error?a.dispatchEvent(new CustomEvent("load",{bubbles:!1})):a.dispatchEvent(new CustomEvent("error",{bubbles:!1})),a.__pending)for(var b;a.__pending.length;)b=a.__pending.shift(),b&&b({target:a});this.parseNext()},parseLink:function(a){b(a)?this.parseImport(a):(a.href=a.href,this.parseGeneric(a))},parseStyle:function(a){var b=a;a=f(a),b.__appliedElement=a,a.__importElement=b,this.parseGeneric(a)},parseGeneric:function(a){this.trackElement(a),this.addElementToDocument(a)},rootImportForElement:function(a){for(var b=a;b.ownerDocument.__importLink;)b=b.ownerDocument.__importLink;return b},addElementToDocument:function(a){var b=this.rootImportForElement(a.__importElement||a);b.parentNode.insertBefore(a,b)},trackElement:function(a,b){var c=this,d=function(e){a.removeEventListener("load",d),a.removeEventListener("error",d),b&&b(e),c.markParsingComplete(a),c.parseNext()};if(a.addEventListener("load",d),a.addEventListener("error",d),j&&"style"===a.localName){var e=!1;if(-1==a.textContent.indexOf("@import"))e=!0;else if(a.sheet){e=!0;for(var f,g=a.sheet.cssRules,h=g?g.length:0,i=0;h>i&&(f=g[i]);i++)f.type===CSSRule.IMPORT_RULE&&(e=e&&Boolean(f.styleSheet))}e&&setTimeout(function(){a.dispatchEvent(new CustomEvent("load",{bubbles:!1}))})}},parseScript:function(b){var d=document.createElement("script");d.__importElement=b,d.src=b.src?b.src:c(b),a.currentScript=b,this.trackElement(d,function(b){d.parentNode&&d.parentNode.removeChild(d),a.currentScript=null}),this.addElementToDocument(d)},nextToParse:function(){return this._mayParse=[],!this.parsingElement&&(this.nextToParseInDoc(h)||this.nextToParseDynamic())},nextToParseInDoc:function(a,c){if(a&&this._mayParse.indexOf(a)<0){this._mayParse.push(a);for(var d,e=a.querySelectorAll(this.parseSelectorsForNode(a)),f=0,g=e.length;g>f&&(d=e[f]);f++)if(!this.isParsed(d))return this.hasResource(d)?b(d)?this.nextToParseInDoc(d.__doc,d):d:void 0}return c},nextToParseDynamic:function(){return this.dynamicElements[0]},parseSelectorsForNode:function(a){var b=a.ownerDocument||a;return b===h?this.documentSelectors:this.importsSelectors},isParsed:function(a){return a.__importParsed},needsDynamicParsing:function(a){return this.dynamicElements.indexOf(a)>=0},hasResource:function(a){return b(a)&&void 0===a.__doc?!1:!0}};a.parser=m,a.IMPORT_SELECTOR=l}),window.HTMLImports.addModule(function(a){function b(a){return c(a,g)}function c(a,b){return"link"===a.localName&&a.getAttribute("rel")===b}function d(a){return!!Object.getOwnPropertyDescriptor(a,"baseURI")}function e(a,b){var c=document.implementation.createHTMLDocument(g);c._URL=b;var e=c.createElement("base");e.setAttribute("href",b),c.baseURI||d(c)||Object.defineProperty(c,"baseURI",{value:b});var f=c.createElement("meta");return f.setAttribute("charset","utf-8"),c.head.appendChild(f),c.head.appendChild(e),c.body.innerHTML=a,window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(c),c}var f=a.flags,g=a.IMPORT_LINK_TYPE,h=a.IMPORT_SELECTOR,i=a.rootDocument,j=a.Loader,k=a.Observer,l=a.parser,m={documents:{},documentPreloadSelectors:h,importsPreloadSelectors:[h].join(","),loadNode:function(a){n.addNode(a)},loadSubtree:function(a){var b=this.marshalNodes(a);n.addNodes(b)},marshalNodes:function(a){return a.querySelectorAll(this.loadSelectorsForNode(a))},loadSelectorsForNode:function(a){var b=a.ownerDocument||a;return b===i?this.documentPreloadSelectors:this.importsPreloadSelectors},loaded:function(a,c,d,g,h){if(f.load&&console.log("loaded",a,c),c.__resource=d,c.__error=g,b(c)){var i=this.documents[a];void 0===i&&(i=g?null:e(d,h||a),i&&(i.__importLink=c,this.bootDocument(i)),this.documents[a]=i),c.__doc=i}l.parseNext()},bootDocument:function(a){this.loadSubtree(a),this.observer.observe(a),l.parseNext()},loadedAll:function(){l.parseNext()}},n=new j(m.loaded.bind(m),m.loadedAll.bind(m));if(m.observer=new k,!document.baseURI){var o={get:function(){var a=document.querySelector("base");return a?a.href:window.location.href},configurable:!0};Object.defineProperty(document,"baseURI",o),Object.defineProperty(i,"baseURI",o)}a.importer=m,a.importLoader=n}),window.HTMLImports.addModule(function(a){var b=a.parser,c=a.importer,d={added:function(a){for(var d,e,f,g,h=0,i=a.length;i>h&&(g=a[h]);h++)d||(d=g.ownerDocument,e=b.isParsed(d)),f=this.shouldLoadNode(g),f&&c.loadNode(g),this.shouldParseNode(g)&&e&&b.parseDynamic(g,f)},shouldLoadNode:function(a){return 1===a.nodeType&&e.call(a,c.loadSelectorsForNode(a))},shouldParseNode:function(a){return 1===a.nodeType&&e.call(a,b.parseSelectorsForNode(a))}};c.observer.addCallback=d.added.bind(d);var e=HTMLElement.prototype.matches||HTMLElement.prototype.matchesSelector||HTMLElement.prototype.webkitMatchesSelector||HTMLElement.prototype.mozMatchesSelector||HTMLElement.prototype.msMatchesSelector}),function(a){function b(){window.HTMLImports.importer.bootDocument(d)}var c=a.initializeModules;a.isIE;if(!a.useNative){c();var d=a.rootDocument;"complete"===document.readyState||"interactive"===document.readyState&&!window.attachEvent?b():document.addEventListener("DOMContentLoaded",b)}}(window.HTMLImports),window.CustomElements=window.CustomElements||{flags:{}},function(a){var b=a.flags,c=[],d=function(a){c.push(a)},e=function(){c.forEach(function(b){b(a)})};a.addModule=d,a.initializeModules=e,a.hasNative=Boolean(document.registerElement),a.isIE=/Trident/.test(navigator.userAgent),a.useNative=!b.register&&a.hasNative&&!window.ShadowDOMPolyfill&&(!window.HTMLImports||window.HTMLImports.useNative)}(window.CustomElements),window.CustomElements.addModule(function(a){function b(a,b){c(a,function(a){return b(a)?!0:void d(a,b)}),d(a,b)}function c(a,b,d){var e=a.firstElementChild;if(!e)for(e=a.firstChild;e&&e.nodeType!==Node.ELEMENT_NODE;)e=e.nextSibling;for(;e;)b(e,d)!==!0&&c(e,b,d),e=e.nextElementSibling;return null}function d(a,c){for(var d=a.shadowRoot;d;)b(d,c),d=d.olderShadowRoot}function e(a,b){f(a,b,[])}function f(a,b,c){if(a=window.wrap(a),!(c.indexOf(a)>=0)){c.push(a);for(var d,e=a.querySelectorAll("link[rel="+g+"]"),h=0,i=e.length;i>h&&(d=e[h]);h++)d["import"]&&f(d["import"],b,c);b(a)}}var g=window.HTMLImports?window.HTMLImports.IMPORT_LINK_TYPE:"none";a.forDocumentTree=e,a.forSubtree=b}),window.CustomElements.addModule(function(a){function b(a,b){return c(a,b)||d(a,b)}function c(b,c){return a.upgrade(b,c)?!0:void(c&&g(b))}function d(a,b){t(a,function(a){return c(a,b)?!0:void 0})}function e(a){x.push(a),w||(w=!0,setTimeout(f))}function f(){w=!1;for(var a,b=x,c=0,d=b.length;d>c&&(a=b[c]);c++)a();x=[]}function g(a){v?e(function(){h(a)}):h(a)}function h(a){a.__upgraded__&&!a.__attached&&(a.__attached=!0,a.attachedCallback&&a.attachedCallback())}function i(a){j(a),t(a,function(a){j(a)})}function j(a){v?e(function(){k(a)}):k(a)}function k(a){a.__upgraded__&&a.__attached&&(a.__attached=!1,a.detachedCallback&&a.detachedCallback())}function l(a){for(var b=a,c=window.wrap(document);b;){if(b==c)return!0;b=b.parentNode||b.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&b.host}}function m(a){if(a.shadowRoot&&!a.shadowRoot.__watched){s.dom&&console.log("watching shadow-root for: ",a.localName);for(var b=a.shadowRoot;b;)p(b),b=b.olderShadowRoot}}function n(a,c){if(s.dom){var d=c[0];if(d&&"childList"===d.type&&d.addedNodes&&d.addedNodes){for(var e=d.addedNodes[0];e&&e!==document&&!e.host;)e=e.parentNode;var f=e&&(e.URL||e._URL||e.host&&e.host.localName)||"";f=f.split("/?").shift().split("/").pop()}console.group("mutations (%d) [%s]",c.length,f||"")}var g=l(a);c.forEach(function(a){"childList"===a.type&&(y(a.addedNodes,function(a){a.localName&&b(a,g)}),y(a.removedNodes,function(a){a.localName&&i(a)}))}),s.dom&&console.groupEnd()}function o(a){for(a=window.wrap(a),a||(a=window.wrap(document));a.parentNode;)a=a.parentNode;var b=a.__observer;b&&(n(a,b.takeRecords()),f())}function p(a){if(!a.__observer){var b=new MutationObserver(n.bind(this,a));b.observe(a,{childList:!0,subtree:!0}),a.__observer=b}}function q(a){a=window.wrap(a),s.dom&&console.group("upgradeDocument: ",a.baseURI.split("/").pop());var c=a===window.wrap(document);b(a,c),p(a),s.dom&&console.groupEnd()}function r(a){u(a,q)}var s=a.flags,t=a.forSubtree,u=a.forDocumentTree,v=window.MutationObserver._isPolyfilled&&s["throttle-attached"];a.hasPolyfillMutations=v,a.hasThrottledAttached=v;var w=!1,x=[],y=Array.prototype.forEach.call.bind(Array.prototype.forEach),z=Element.prototype.createShadowRoot;z&&(Element.prototype.createShadowRoot=function(){var a=z.call(this);return window.CustomElements.watchShadow(this),a}),a.watchShadow=m,a.upgradeDocumentTree=r,a.upgradeDocument=q,a.upgradeSubtree=d,a.upgradeAll=b,a.attached=g,a.takeRecords=o}),window.CustomElements.addModule(function(a){function b(b,d){if("template"===b.localName&&window.HTMLTemplateElement&&HTMLTemplateElement.decorate&&HTMLTemplateElement.decorate(b),!b.__upgraded__&&b.nodeType===Node.ELEMENT_NODE){var e=b.getAttribute("is"),f=a.getRegisteredDefinition(b.localName)||a.getRegisteredDefinition(e);if(f&&(e&&f.tag==b.localName||!e&&!f["extends"]))return c(b,f,d)}}function c(b,c,e){return g.upgrade&&console.group("upgrade:",b.localName),c.is&&b.setAttribute("is",c.is),d(b,c),b.__upgraded__=!0,f(b),e&&a.attached(b),a.upgradeSubtree(b,e),g.upgrade&&console.groupEnd(),b}function d(a,b){Object.__proto__?a.__proto__=b.prototype:(e(a,b.prototype,b["native"]),a.__proto__=b.prototype)}function e(a,b,c){for(var d={},e=b;e!==c&&e!==HTMLElement.prototype;){for(var f,g=Object.getOwnPropertyNames(e),h=0;f=g[h];h++)d[f]||(Object.defineProperty(a,f,Object.getOwnPropertyDescriptor(e,f)),d[f]=1);e=Object.getPrototypeOf(e)}}function f(a){a.createdCallback&&a.createdCallback()}var g=a.flags;a.upgrade=b,a.upgradeWithDefinition=c,a.implementPrototype=d}),window.CustomElements.addModule(function(a){function b(b,d){var i=d||{};if(!b)throw new Error("document.registerElement: first argument `name` must not be empty");if(b.indexOf("-")<0)throw new Error("document.registerElement: first argument ('name') must contain a dash ('-'). Argument provided was '"+String(b)+"'.");if(e(b))throw new Error("Failed to execute 'registerElement' on 'Document': Registration failed for type '"+String(b)+"'. The type name is invalid.");if(j(b))throw new Error("DuplicateDefinitionError: a type with name '"+String(b)+"' is already registered");return i.prototype||(i.prototype=Object.create(HTMLElement.prototype)),i.__name=b.toLowerCase(),i.lifecycle=i.lifecycle||{},i.ancestry=f(i["extends"]),g(i),h(i),c(i.prototype),k(i.__name,i),i.ctor=l(i),i.ctor.prototype=i.prototype,i.prototype.constructor=i.ctor,a.ready&&r(document),i.ctor}function c(a){if(!a.setAttribute._polyfilled){var b=a.setAttribute;a.setAttribute=function(a,c){d.call(this,a,c,b)};var c=a.removeAttribute;a.removeAttribute=function(a){d.call(this,a,null,c)},a.setAttribute._polyfilled=!0}}function d(a,b,c){a=a.toLowerCase();var d=this.getAttribute(a);c.apply(this,arguments);var e=this.getAttribute(a);this.attributeChangedCallback&&e!==d&&this.attributeChangedCallback(a,d,e)}function e(a){for(var b=0;b<w.length;b++)if(a===w[b])return!0}function f(a){var b=j(a);return b?f(b["extends"]).concat([b]):[]}function g(a){for(var b,c=a["extends"],d=0;b=a.ancestry[d];d++)c=b.is&&b.tag;a.tag=c||a.__name,c&&(a.is=a.__name)}function h(a){if(!Object.__proto__){var b=HTMLElement.prototype;if(a.is){var c=document.createElement(a.tag);b=Object.getPrototypeOf(c)}for(var d,e=a.prototype,f=!1;e;)e==b&&(f=!0),d=Object.getPrototypeOf(e),d&&(e.__proto__=d),e=d;f||console.warn(a.tag+" prototype not found in prototype chain for "+a.is),a["native"]=b}}function i(a){return t(z(a.tag),a)}function j(a){return a?x[a.toLowerCase()]:void 0}function k(a,b){x[a]=b}function l(a){return function(){return i(a)}}function m(a,b,c){return a===y?n(b,c):A(a,b)}function n(a,b){a&&(a=a.toLowerCase()),b&&(b=b.toLowerCase());var c=j(b||a);if(c){if(a==c.tag&&b==c.is)return new c.ctor;if(!b&&!c.is)return new c.ctor}var d;return b?(d=n(a),d.setAttribute("is",b),d):(d=z(a),a.indexOf("-")>=0&&u(d,HTMLElement),d)}function o(a,b){var c=a[b];a[b]=function(){var a=c.apply(this,arguments);return s(a),a}}var p,q=a.isIE,r=a.upgradeDocumentTree,s=a.upgradeAll,t=a.upgradeWithDefinition,u=a.implementPrototype,v=a.useNative,w=["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"],x={},y="http://www.w3.org/1999/xhtml",z=document.createElement.bind(document),A=document.createElementNS.bind(document);p=Object.__proto__||v?function(a,b){return a instanceof b}:function(a,b){if(a instanceof b)return!0;for(var c=a;c;){if(c===b.prototype)return!0;c=c.__proto__}return!1},o(Node.prototype,"cloneNode"),o(document,"importNode"),q&&!function(){var a=document.importNode;document.importNode=function(){var b=a.apply(document,arguments);if(b.nodeType==b.DOCUMENT_FRAGMENT_NODE){var c=document.createDocumentFragment();return c.appendChild(b),c}return b}}(),document.registerElement=b,document.createElement=n,document.createElementNS=m,a.registry=x,a["instanceof"]=p,a.reservedTagList=w,a.getRegisteredDefinition=j,document.register=document.registerElement}),function(a){function b(){f(window.wrap(document)),window.CustomElements.ready=!0;var a=window.requestAnimationFrame||function(a){setTimeout(a,16)};a(function(){setTimeout(function(){window.CustomElements.readyTime=Date.now(),window.HTMLImports&&(window.CustomElements.elapsed=window.CustomElements.readyTime-window.HTMLImports.readyTime),document.dispatchEvent(new CustomEvent("WebComponentsReady",{bubbles:!0}))})})}var c=a.useNative,d=a.initializeModules;a.isIE;if(c){var e=function(){};a.watchShadow=e,a.upgrade=e,a.upgradeAll=e,a.upgradeDocumentTree=e,a.upgradeSubtree=e,a.takeRecords=e,a["instanceof"]=function(a,b){return a instanceof b}}else d();var f=a.upgradeDocumentTree,g=a.upgradeDocument;
-if(window.wrap||(window.ShadowDOMPolyfill?(window.wrap=window.ShadowDOMPolyfill.wrapIfNeeded,window.unwrap=window.ShadowDOMPolyfill.unwrapIfNeeded):window.wrap=window.unwrap=function(a){return a}),window.HTMLImports&&(window.HTMLImports.__importsParsingHook=function(a){a["import"]&&g(wrap(a["import"]))}),"complete"===document.readyState||a.flags.eager)b();else if("interactive"!==document.readyState||window.attachEvent||window.HTMLImports&&!window.HTMLImports.ready){var h=window.HTMLImports&&!window.HTMLImports.ready?"HTMLImportsLoaded":"DOMContentLoaded";window.addEventListener(h,b)}else b()}(window.CustomElements),function(a){Function.prototype.bind||(Function.prototype.bind=function(a){var b=this,c=Array.prototype.slice.call(arguments,1);return function(){var d=c.slice();return d.push.apply(d,arguments),b.apply(a,d)}})}(window.WebComponents),function(a){var b=document.createElement("style");b.textContent="body {transition: opacity ease-in 0.2s; } \nbody[unresolved] {opacity: 0; display: block; overflow: hidden; position: relative; } \n";var c=document.querySelector("head");c.insertBefore(b,c.firstChild)}(window.WebComponents),function(a){window.Platform=a}(window.WebComponents),angular.module("ngAudio",[]).directive("ngAudio",["$compile","$q","ngAudio",function(a,b,c){return{restrict:"AEC",scope:{volume:"=",start:"=",currentTime:"=",loop:"=",clickPlay:"=",disablePreload:"="},controller:["$scope","$attrs","$element","$timeout",function(a,b,d,e){function f(){g=c.load(b.ngAudio,a),a.$audio=g,g.unbind()}var g;a.disablePreload||f(),d.on("click",function(){a.clickPlay!==!1&&(a.disablePreload&&f(),g.audio.play(),g.volume=a.volume||g.volume,g.loop=a.loop,g.currentTime=a.start||0,e(function(){g.play()},5))}),d.on("$destroy",function(){g.destroy()})}]}}]).directive("ngAudioHover",["$compile","$q","ngAudio",function(a,b,c){return{restrict:"AEC",controller:["$scope","$attrs","$element","$timeout",function(a,b,d,e){var f=c.load(b.ngAudioHover,a);d.on("mouseover rollover hover",function(){f.audio.play(),f.volume=b.volumeHover||f.volume,f.loop=b.loop,f.currentTime=b.startHover||0}),d.on("$destroy",function(){f.destroy()})}]}}]).service("localAudioFindingService",["$q",function(a){this.find=function(b){var c=a.defer(),d=document.getElementById(b);return d?c.resolve(d):c.reject(b),c.promise}}]).service("remoteAudioFindingService",["$q",function(a){this.find=function(b){var c=a.defer(),d=new Audio;return d.addEventListener("error",function(){c.reject()}),d.addEventListener("loadstart",function(){c.resolve(d)}),setTimeout(function(){d.src=b},1),c.promise}}]).service("cleverAudioFindingService",["$q","localAudioFindingService","remoteAudioFindingService",function(a,b,c){this.find=function(d){var e=a.defer();return d=d.replace("|","/"),b.find(d).then(e.resolve,function(){return c.find(d)}).then(e.resolve,e.reject),e.promise}}]).value("ngAudioGlobals",{muting:!1,songmuting:!1,performance:25,unlock:!0}).factory("NgAudioObject",["cleverAudioFindingService","$rootScope","$interval","$timeout","ngAudioGlobals",function(a,b,c,d,e){return function(d,f){function g(){o.play(),o.pause(),window.removeEventListener("click",g)}function h(){w||(A&&c.cancel(A),l&&l(),k&&k(),w=!0)}function i(){w||(k=x.$watch(function(){return{volume:y.volume,currentTime:y.currentTime,progress:y.progress,muting:y.muting,loop:y.loop,playbackRate:y.playbackRate}},function(a,b){a.currentTime!==b.currentTime&&y.setCurrentTime(a.currentTime),a.progress!==b.progress&&y.setProgress(a.progress),a.volume!==b.volume&&y.setVolume(a.volume),a.playbackRate!==b.playbackRate&&y.setPlaybackRate(a.playbackRate),n=a.loop,a.muting!==b.muting&&y.setMuting(a.muting)},!0))}function j(){k&&k(),o&&(u||e.isMuting?o.volume=0:o.volume=void 0!==y.volume?y.volume:1,p&&(o.play(),p=!1),r&&(o.pause(),o.currentTime=0,r=!1),q&&(o.pause(),q=!1),s&&(o.playbackRate=t,s=!1),m&&(o.volume=m,m=void 0),v&&(y.currentTime=o.currentTime,y.duration=o.duration,y.remaining=o.duration-o.currentTime,y.progress=o.currentTime/o.duration,y.paused=o.paused,y.src=o.src,y.currentTime>=y.duration&&z.forEach(function(a){a(y)}),n&&y.currentTime>=y.duration&&(n!==!0&&(n--,y.loop--),y.setCurrentTime(0),y.play())),u||e.isMuting||(y.volume=o.volume),y.audio=o),i()}var k,l,m,n,o,p=!1,q=!1,r=!1,s=!1,t=!1,u=!1,v=!0,w=!1,x=f||b,y=this;this.id=d,this.safeId=d.replace("/","|"),this.loop=0,this.unbind=function(){v=!1},this.play=function(){return p=!0,this};var z=[];this.complete=function(a){z.push(a)},this.pause=function(){q=!0},this.restart=function(){r=!0},this.stop=function(){this.restart()},this.setVolume=function(a){m=a},this.setPlaybackRate=function(a){t=a,s=!0},this.setMuting=function(a){u=a},this.setProgress=function(a){o&&o.duration&&isFinite(a)&&(o.currentTime=o.duration*a)},this.setCurrentTime=function(a){o&&o.duration&&(o.currentTime=a)},this.destroy=h,x.$on("$destroy",function(){h()}),a.find(d).then(function(a){o=a,e.unlock&&(window.addEventListener("click",g),o.addEventListener("playing",function(){window.removeEventListener("click",g)})),o.addEventListener("canplay",function(){y.canPlay=!0})},function(a){y.error=!0,console.warn(a)});var A=c(j,e.performance);l=x.$watch(function(){return e.performance},function(){c.cancel(A),A=c(j,e.performance)})}}]).service("ngAudio",["NgAudioObject","ngAudioGlobals",function(a,b){this.play=function(b,c){var d=new a(b,c);return d.play(),d},this.load=function(b,c){return new a(b,c)},this.mute=function(){b.muting=!0},this.unmute=function(){b.muting=!1},this.toggleMute=function(){b.muting=!b.muting},this.setUnlock=function(a){b.unlock=a}}]).filter("trackTime",function(){return function(a){var b=Math.floor(0|a),c="",d=0,e=0,f=0;return b>3599?(d=Math.floor(b/3600),e=Math.floor((b-3600*d)/60),f=b-(60*e+3600*d),1==d.toString().length&&(d="0"+Math.floor(b/3600).toString()),1==e.toString().length&&(e="0"+Math.floor((b-3600*d)/60).toString()),1==f.toString().length&&(f="0"+(b-(60*e+3600*d)).toString()),c=d+":"+e+":"+f):b>59?(e=Math.floor(b/60),f=b-60*e,1==e.toString().length&&(e="0"+Math.floor(b/60).toString()),1==f.toString().length&&(f="0"+(b-60*e).toString()),c=e+":"+f):(f=b,1==f.toString().length&&(f="0"+b.toString()),c=b+"s"),"function"==typeof Number.isNaN&&Number.isNaN(c),c}}),function(){"use strict";angular.module("ngEmoticons",["ngSanitize"]).filter("emoticons",["$sce",function(a){var b=[{text:":)","class":"smiley",code:"e60a"},{text:":D","class":"happy",code:"e608"},{text:":d","class":"happy",code:"e608"},{text:":(","class":"sad",code:"e60e"},{text:":/","class":"wondering",code:"e620"},{text:":P","class":"tongue",code:"e60c"},{text:":p","class":"tongue",code:"e60c"},{text:"3:)","class":"evil",code:"e618"},{text:"(^)","class":"thumbsup2",code:"e607"},{text:";)","class":"wink",code:"e610"},{text:":o","class":"shocked",code:"e61a"},{text:"-_-","class":"neutral",code:"e61e"},{text:"(y)","class":"thumbs-up",code:"e606"},{text:":*","class":"heart",code:"e604"},{text:"&lt;3","class":"heart",code:"e604"},{text:"<3","class":"heart",code:"e604"},{text:"&lt;/3","class":"heart-broken",code:"e605"},{text:"</3","class":"heart-broken",code:"e605"},{text:"^_^","class":"grin",code:"e612"},{text:"8-)","class":"cool",code:"e614"},{text:"8|","class":"cool",code:"e614"},{text:":S","class":"confused",code:"e61c"},{text:":s","class":"confused",code:"e61c"}],c=["bowtie","smile","laughing","blush","smiley","relaxed","smirk","heart_eyes","kissing_heart","kissing_closed_eyes","flushed","relieved","satisfied","grin","wink","stuck_out_tongue_winking_eye","stuck_out_tongue_closed_eyes","grinning","kissing","winky_face","kissing_smiling_eyes","stuck_out_tongue","sleeping","worried","frowning","anguished","open_mouth","grimacing","confused","hushed","expressionless","unamused","sweat_smile","sweat","wow","disappointed_relieved","weary","pensive","disappointed","confounded","fearful","cold_sweat","persevere","cry","sob","joy","astonished","scream","neckbeard","tired_face","angry","rage","triumph","sleepy","yum","mask","sunglasses","dizzy_face","imp","smiling_imp","neutral_face","no_mouth","innocent","alien","yellow_heart","blue_heart","purple_heart","heart","green_heart","broken_heart","heartbeat","heartpulse","two_hearts","revolving_hearts","cupid","sparkling_heart","sparkles","star","star2","dizzy","boom","collision","anger","exclamation","question","grey_exclamation","grey_question","zzz","dash","sweat_drops","notes","musical_note","fire","hankey","poop","shit","\\+1","thumbsup","-1","thumbsdown","ok_hand","punch","facepunch","fist","v","wave","hand","raised_hand","open_hands","point_up","point_down","point_left","point_right","raised_hands","pray","point_up_2","clap","muscle","metal","fu","walking","runner","running","couple","family","two_men_holding_hands","two_women_holding_hands","dancer","dancers","ok_woman","no_good","information_desk_person","raising_hand","bride_with_veil","person_with_pouting_face","person_frowning","bow","couplekiss","couple_with_heart","massage","haircut","nail_care","boy","girl","woman","man","baby","older_woman","older_man","person_with_blond_hair","man_with_gua_pi_mao","man_with_turban","construction_worker","cop","angel","princess","smiley_cat","smile_cat","heart_eyes_cat","kissing_cat","smirk_cat","scream_cat","crying_cat_face","joy_cat","pouting_cat","japanese_ogre","japanese_goblin","see_no_evil","hear_no_evil","speak_no_evil","guardsman","skull","feet","lips","kiss","droplet","ear","eyes","nose","tongue","love_letter","bust_in_silhouette","busts_in_silhouette","speech_balloon","thought_balloon","feelsgood","finnadie","goberserk","godmode","hurtrealbad","rage1","rage2","rage3","rage4","suspect","trollface","sunny","umbrella","cloud","snowflake","snowman","zap","cyclone","foggy","ocean","cat","dog","mouse","hamster","rabbit","wolf","frog","tiger","koala","bear","pig","pig_nose","cow","boar","monkey_face","monkey","horse","racehorse","camel","sheep","elephant","panda_face","snake","bird","baby_chick","hatched_chick","hatching_chick","chicken","penguin","turtle","bug","honeybee","ant","beetle","snail","octopus","tropical_fish","fish","whale","whale2","dolphin","cow2","ram","rat","water_buffalo","tiger2","rabbit2","dragon","goat","rooster","dog2","pig2","mouse2","ox","dragon_face","blowfish","crocodile","dromedary_camel","leopard","cat2","poodle","paw_prints","bouquet","cherry_blossom","tulip","four_leaf_clover","rose","sunflower","hibiscus","maple_leaf","leaves","fallen_leaf","herb","mushroom","cactus","palm_tree","evergreen_tree","deciduous_tree","chestnut","seedling","blossom","ear_of_rice","shell","globe_with_meridians","sun_with_face","full_moon_with_face","new_moon_with_face","new_moon","waxing_crescent_moon","first_quarter_moon","waxing_gibbous_moon","full_moon","waning_gibbous_moon","last_quarter_moon","waning_crescent_moon","last_quarter_moon_with_face","first_quarter_moon_with_face","moon","earth_africa","earth_americas","earth_asia","volcano","milky_way","partly_sunny","octocat","squirrel","bamboo","gift_heart","dolls","school_satchel","mortar_board","flags","fireworks","sparkler","wind_chime","rice_scene","jack_o_lantern","ghost","santa","christmas_tree","gift","bell","no_bell","tanabata_tree","tada","confetti_ball","balloon","crystal_ball","cd","dvd","floppy_disk","camera","video_camera","movie_camera","computer","tv","iphone","phone","telephone","telephone_receiver","pager","fax","minidisc","vhs","sound","speaker","mute","loudspeaker","mega","hourglass","hourglass_flowing_sand","alarm_clock","watch","radio","satellite","loop","mag","mag_right","unlock","lock","lock_with_ink_pen","closed_lock_with_key","key","bulb","flashlight","high_brightness","low_brightness","electric_plug","battery","calling","email","mailbox","postbox","bath","bathtub","shower","toilet","wrench","nut_and_bolt","hammer","seat","moneybag","yen","dollar","pound","euro","credit_card","money_with_wings","e-mail","inbox_tray","outbox_tray","envelope","incoming_envelope","postal_horn","mailbox_closed","mailbox_with_mail","mailbox_with_no_mail","door","smoking","bomb","gun","hocho","pill","syringe","page_facing_up","page_with_curl","bookmark_tabs","bar_chart","chart_with_upwards_trend","chart_with_downwards_trend","scroll","clipboard","calendar","date","card_index","file_folder","open_file_folder","scissors","pushpin","paperclip","black_nib","pencil2","straight_ruler","triangular_ruler","closed_book","green_book","blue_book","orange_book","notebook","notebook_with_decorative_cover","ledger","books","bookmark","name_badge","microscope","telescope","newspaper","football","basketball","soccer","baseball","tennis","8ball","rugby_football","bowling","golf","mountain_bicyclist","bicyclist","horse_racing","snowboarder","swimmer","surfer","ski","spades","hearts","clubs","diamonds","gem","ring","trophy","musical_score","musical_keyboard","violin","space_invader","video_game","black_joker","flower_playing_cards","game_die","dart","mahjong","clapper","memo","pencil","book","art","microphone","headphones","trumpet","saxophone","guitar","shoe","sandal","high_heel","lipstick","boot","shirt","tshirt","necktie","womans_clothes","dress","running_shirt_with_sash","jeans","kimono","bikini","ribbon","tophat","crown","womans_hat","mans_shoe","closed_umbrella","briefcase","handbag","pouch","purse","eyeglasses","fishing_pole_and_fish","coffee","tea","sake","baby_bottle","beer","beers","cocktail","tropical_drink","wine_glass","fork_and_knife","pizza","hamburger","fries","poultry_leg","meat_on_bone","spaghetti","curry","fried_shrimp","bento","sushi","fish_cake","rice_ball","rice_cracker","rice","ramen","stew","oden","dango","egg","bread","doughnut","custard","icecream","ice_cream","shaved_ice","birthday","cake","cookie","chocolate_bar","candy","lollipop","honey_pot","apple","green_apple","tangerine","lemon","cherries","grapes","watermelon","strawberry","peach","melon","banana","pear","pineapple","sweet_potato","eggplant","tomato","corn","house","house_with_garden","school","office","post_office","hospital","bank","convenience_store","love_hotel","hotel","wedding","church","department_store","european_post_office","city_sunrise","city_sunset","japanese_castle","european_castle","tent","factory","tokyo_tower","japan","mount_fuji","sunrise_over_mountains","sunrise","stars","themoreyouknow","tmyk","statue_of_liberty","bridge_at_night","carousel_horse","rainbow","ferris_wheel","fountain","roller_coaster","ship","speedboat","boat","sailboat","rowboat","anchor","rocket","airplane","helicopter","steam_locomotive","tram","mountain_railway","bike","aerial_tramway","suspension_railway","mountain_cableway","tractor","blue_car","oncoming_automobile","car","red_car","taxi","oncoming_taxi","articulated_lorry","bus","oncoming_bus","rotating_light","police_car","oncoming_police_car","fire_engine","ambulance","minibus","truck","train","station","train2","bullettrain_front","bullettrain_side","light_rail","monorail","railway_car","trolleybus","ticket","fuelpump","vertical_traffic_light","traffic_light","warning","construction","beginner","atm","slot_machine","busstop","barber","hotsprings","checkered_flag","crossed_flags","izakaya_lantern","moyai","circus_tent","performing_arts","round_pushpin","triangular_flag_on_post","jp","kr","cn","us","fr","es","it","ru","gb","uk","de","one","two","three","four","five","six","seven","eight","nine","keycap_ten","1234","zero","hash","symbols","arrow_backward","arrow_down","arrow_forward","arrow_left","capital_abcd","abcd","abc","arrow_lower_left","arrow_lower_right","arrow_right","arrow_up","arrow_upper_left","arrow_upper_right","arrow_double_down","arrow_double_up","arrow_down_small","arrow_heading_down","arrow_heading_up","leftwards_arrow_with_hook","arrow_right_hook","left_right_arrow","arrow_up_down","arrow_up_small","arrows_clockwise","arrows_counterclockwise","rewind","fast_forward","information_source","ok","twisted_rightwards_arrows","repeat","repeat_one","new","top","up","cool","free","ng","cinema","koko","signal_strength","u5272","u5408","u55b6","u6307","u6708","u6709","u6e80","u7121","u7533","u7a7a","u7981","sa","restroom","mens","womens","baby_symbol","no_smoking","parking","wheelchair","metro","baggage_claim","accept","wc","potable_water","put_litter_in_its_place","secret","congratulations","m","passport_control","left_luggage","customs","ideograph_advantage","cl","sos","id","no_entry_sign","underage","no_mobile_phones","do_not_litter","non-potable_water","no_bicycles","no_pedestrians","children_crossing","no_entry","eight_spoked_asterisk","eight_pointed_black_star","heart_decoration","vs","vibration_mode","mobile_phone_off","chart","currency_exchange","aries","taurus","gemini","cancer","leo","virgo","libra","scorpius","sagittarius","capricorn","aquarius","pisces","ophiuchus","six_pointed_star","negative_squared_cross_mark","a","b","ab","o2","diamond_shape_with_a_dot_inside","recycle","end","on","soon","clock1","clock130","clock10","clock1030","clock11","clock1130","clock12","clock1230","clock2","clock230","clock3","clock330","clock4","clock430","clock5","clock530","clock6","clock630","clock7","clock730","clock8","clock830","clock9","clock930","heavy_dollar_sign","copyright","registered","tm","x","heavy_exclamation_mark","bangbang","interrobang","o","heavy_multiplication_x","heavy_plus_sign","heavy_minus_sign","heavy_division_sign","white_flower","100","heavy_check_mark","ballot_box_with_check","radio_button","link","curly_loop","wavy_dash","part_alternation_mark","trident","black_square","white_square","white_check_mark","black_square_button","white_square_button","black_circle","white_circle","red_circle","large_blue_circle","large_blue_diamond","large_orange_diamond","small_blue_diamond","small_orange_diamond","small_red_triangle","small_red_triangle_down","shipit"];return function(d,e){function f(a){return angular.forEach(arguments,function(b){b!==a&&angular.forEach(b,function(b,c){a[c]&&a[c].constructor&&a[c].constructor===Object?f(a[c],b):a[c]=b})}),a}function g(a){var c=a.split(" ");return angular.forEach(b,function(a){for(var b=0;b<c.length;b++)c[b]===a.text&&(c[b]='<i class="icon-emoticon" title="'+a.text+'">&#x'+a.code+"</i>")}),c.join(" ")}function h(a){var b=/((href|src)=["']|)(\b(https?|ftp|file):\/\/[-A-Z0-9+()&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gi,c=a.replace(b,function(a){return'<a href="'+a+'" target="'+j.linkTarget+'">'+a+"</a>"});return c}function i(a){var b=new RegExp(":("+c.join("|")+"):","g");return a.replace(b,function(a,b){return"<i class='emoticon emoticon-"+b+"' title=':"+b+":'></i>"})}var j={link:!0,linkTarget:"_self"};return f(j,e),void 0!==d&&null!==d?"object"==typeof d?d:(d=g(d),d=i(d),j.link&&(d=h(d)),a.trustAsHtml(d)):void 0}}]).directive("ngEmoticons",["$filter","$sce","$http","$timeout","$templateCache",function(a,b,c,d,e){var f="",g='<div ng-bind-html="neText" ne-hljs></div><div class="ne-video" ng-if="video.host" class="fade">    <div class="ne-video-preview" ng-hide="nePlayVideo || !(options.video.details)">        <div class="ne-video-thumb" ng-click="nePlayVideo=!nePlayVideo">            <img ng-src="{{video.thumbnail}}" alt=""/>            <i class="fa fa-play-circle-o"></i>        </div>        <div class="ne-video-detail">            <div class="ne-video-title">                <a ng-href="{{video.url}}">{{video.title}}</a>            </div>            <div class="ne-video-desc">                {{video.description}}            </div>            <div class="ne-video-stats">                <span><i class="fa fa-eye"></i> {{video.views}}</span>                <span><i class="fa fa-heart"></i> {{video.likes}}</span>            </div>        </div>    </div>    <div class="ne-video-player" ng-if="nePlayVideo || !(options.video.details)">        <iframe ng-src="{{video.embedSrc}}" frameBorder="0" width="{{video.width}}" height="{{video.height}}" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>    </div></div><div class="ne-video" ng-if="video.basic">    <div class="ne-video-player">        <div class="player">            <video ng-src="{{video.basic}}" controls></video>        </div>    </div></div><div ng-init="neImageLong=false" ng-class="{false:\'ne-image\', true:\'ne-image ne-image-long\'}[neImageLong]"     ng-if="image.url">    <div class="ne-image-wrapper">        <img ng-src="{{image.url}}" ng-click="neImageLong=!neImageLong" alt=""/>    </div></div><div class="ne-pdf" ng-if="pdf.url">    <div class="ne-pdf-preview" ng-hide="neShowPdf">        <div class="ne-pdf-icon">            <i class="fa fa-file-pdf-o"></i>        </div>        <div class="ne-pdf-detail" >            <div class="ne-pdf-title">                <a href="">{{pdf.url}}</a>            </div>            <div class="ne-pdf-view">                <button><i class="fa fa-download"></i> <a ng-href="{{pdf.url}}" target="_blank">Download</a></button>                <button ng-click="neShowPdf=!neShowPdf"><i class="fa fa-eye"></i> View PDF</button>            </div>        </div>    </div>    <div class="ne-pdf-viewer" ng-if="neShowPdf" ng-show="neShowPdf">        <iframe ng-src="{{pdf.url}}" frameBorder="0"></iframe>    </div></div><div class="ne-audio" ng-if="audio.url">    <audio ng-src="{{audio.url}}" controls></audio></div>';return e.put(f,g),{restrict:"AE",scope:!0,templateUrl:function(a,b){return b.emoticonsTemplateUrl||f},link:function(e,f,g){function h(a){return angular.forEach(arguments,function(b){b!==a&&angular.forEach(b,function(b,c){a[c]&&a[c].constructor&&a[c].constructor===Object?h(a[c],b):a[c]=b})}),a}var i=e.$eval(g.emoticonsData),j=e.$eval(g.emoticonsOptions);e.video={},e.image={},e.pdf={},e.audio={};var k={link:!0,linkTarget:"_self",pdf:{embed:!0},image:{embed:!1},audio:{embed:!0},code:{highlight:!0,lineNumbers:!1},basicVideo:!1,video:{embed:!1,width:null,height:null,ytTheme:"dark",details:!1,thumbnailQuality:"medium",ytAuthKey:null}};h(k,j),String.prototype.trunc=function(a,b){var c=this.length>a,d=c?this.substr(0,a-1):this;return d=b&&c?d.substr(0,d.lastIndexOf(" ")):d,c?d+"...":d};var l={calcDimensions:function(a){var b={width:null,height:null};return b.width=a.video.width,b.height=a.video.height,a.video.height&&a.video.width?b:a.video.height?(b.width=a.video.height/390*640,b):a.video.width?(b.height=b.width/640*390,b):(b.width=640,b.height=390,b)},embed:function(a,d){var f=/https?:\/\/(?:[0-9A-Z-]+\.)?(?:youtu\.be\/|youtube\.com(?:\/embed\/|\/v\/|\/watch\?v=|\/ytscreeningroom\?v=|\/feeds\/api\/videos\/|\/user\S*[^\w\-\s]|\S*[^\w\-\s]))([\w\-]{11})[?=&+%\w-]*/gi;if(a.match(f)){var g=this.calcDimensions(d);return e.video.id=RegExp.$1,d.video.details?c.get("https://www.googleapis.com/youtube/v3/videos?id="+RegExp.$1+"&key="+d.video.ytAuthKey+"&part=snippet,statistics").success(function(a){var c=a.items[0];e.video.host="youtube",e.video.title=c.snippet.title,e.video.thumbnail=c.snippet.thumbnails.medium.url,e.video.description=c.snippet.description.trunc(250,!0).replace(/\n/g," ").replace(/&#10;/g," "),e.video.rawDescription=c.snippet.description,e.video.views=c.statistics.viewCount,e.video.likes=c.statistics.likeCount,e.video.uploader=c.snippet.channelTitle,e.video.uploaderPage="https://www.youtube.com/channel/"+c.snippet.channelId,e.video.uploadDate=c.snippet.publishedAt,e.video.url=b.trustAsResourceUrl("https://www.youtube.com/watch?v="+c.id),e.video.embedSrc=b.trustAsResourceUrl("https://www.youtube.com/embed/"+e.video.id+"?autoplay=1"),e.video.width=g.width,e.video.height=g.height}):(e.video.width=g.width,e.video.height=g.height,e.video.host="youtube",e.video.embedSrc=b.trustAsResourceUrl("https://www.youtube.com/embed/"+RegExp.$1+"?autoplay=0")),a}var h=/https?:\/\/(?:www\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^\/]*)\/videos\/|album\/(\d+)\/video\/|)(\d+)(?:$|\/|\?)*/gi;if(a.match(h)){var i=this.calcDimensions(d);e.video.id=RegExp.$3,d.video.details?c.get("https://vimeo.com/api/v2/video/"+RegExp.$3+".json").success(function(a){e.video.host="vimeo",e.video.title=a[0].title,e.video.rawDescription=a[0].description.replace(/\n/g,"<br/>").replace(/&#10;/g,"<br/>"),e.video.description=a[0].description.replace(/((<|&lt;)br\s*\/*(>|&gt;)\r\n)/g," ").trunc(250,!0),e.video.thumbnail=a[0].thumbnail_medium,e.video.views=a[0].stats_number_of_plays,e.video.likes=a[0].stats_number_of_likes,e.video.uploader=a[0].user_name,e.video.uploaderPage=a[0].user_url,e.video.uploadDate=a[0].uploadDate,e.video.url=a[0].url,e.video.embedSrc=b.trustAsResourceUrl("//player.vimeo.com/video/"+a[0].id+"?title=0&byline=0&portrait=0&autoplay=1"),e.video.width=i.width,e.video.height=i.height}):(e.video.width=i.width,e.video.height=i.height,e.video.host="vimeo",e.video.embedSrc=b.trustAsResourceUrl("//player.vimeo.com/video/"+RegExp.$3+"?title=0&byline=0&portrait=0&autoplay=0"))}return a},embedBasic:function(a){var c=/((?:https?):\/\/\S*\.(?:ogv|webm|mp4))/gi;return a.match(c)&&(e.video.basic=b.trustAsResourceUrl(RegExp.$1)),a}},m={embed:function(a){var c=/((?:https?):\/\/\S*\.(?:wav|mp3|ogg))/gi;return a.match(c)&&(e.audio.url=b.trustAsResourceUrl(RegExp.$1)),a}},n={embed:function(a){var b=/((?:https?):\/\/\S*\.(?:gif|jpg|jpeg|tiff|png|svg|webp))/gi;return a.match(b)&&(e.image.url=RegExp.$1),a}},o={encodeCode:function(a){return a=a.replace(/\&/gm,"&amp;"),a=a.replace(/</gm,"&lt;"),a=a.replace(/>/gm,"&gt;")},getCode:function(a){var b=this;return a=a.replace(/(`+)(\s|[a-z]+)\s*([\s\S]*?[^`])\s*\1(?!`)/gm,function(a,c,d,e){var f=e;return f=f.replace(/^([ \t]*)/g,""),f=f.replace(/[ \t]*$/g,""),f=b.encodeCode(f),f=f.replace(/:\/\//g,"~P"),'<pre><code class="ne-code '+d+'">'+f+"</code></pre>"})}},p={embed:function(a){var c=/((?:https?):\/\/\S*\.(?:pdf|PDF))/gi;return a.match(c)&&(e.pdf.url=b.trustAsResourceUrl(RegExp.$1)),a}};if(k.code.highlight){if(!window.hljs)throw"hlsj (Highlight JS is not defined.";i=o.getCode(i),d(function(){hljs.initHighlighting(),k.code.lineNumbers&&angular.element(".ne-code").each(function(){var a=1,b=$(this).text().split("\n").length,c=$("<ul/>").addClass("pre-numbering");for(angular.element(this).addClass("has-numbering").parent().append(c),a;b>=a;a++)c.append(angular.element("<li/>").text(a))})},0)}var q=a("emoticons")(i,k).$$unwrapTrustedValue();if(k.video.embed){if(!k.video.ytAuthKey)throw"Youtube authentication key is required to get data from youtube.";q=l.embed(q,k)}k.basicVideo&&(q=l.embedBasic(q)),k.audio.embed&&(q=m.embed(q)),k.image.embed&&(q=n.embed(q)),k.pdf.embed&&(q=p.embed(q)),e.neText=b.trustAsHtml(q)}}}]).directive("neHljs",["$timeout",function(a){return{restrict:"AE",link:function(b,c){a(function(){c.find(".ne-code").each(function(){hljs.highlightBlock(this)})},0)}}}])}(),function(a){"undefined"!=typeof exports?a(exports):(window.hljs=a({}),"function"==typeof define&&define.amd&&define("hljs",[],function(){return window.hljs}))}(function(a){function b(a){return a.replace(/&/gm,"&amp;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;")}function c(a){return a.nodeName.toLowerCase()}function d(a,b){var c=a&&a.exec(b);return c&&0==c.index}function e(a){return/^(no-?highlight|plain|text)$/i.test(a)}function f(a){var b,c,d,f=a.className+" ";if(f+=a.parentNode?a.parentNode.className:"",c=/\blang(?:uage)?-([\w-]+)\b/i.exec(f))return u(c[1])?c[1]:"no-highlight";for(f=f.split(/\s+/),b=0,d=f.length;d>b;b++)if(u(f[b])||e(f[b]))return f[b]}function g(a,b){var c,d={};for(c in a)d[c]=a[c];if(b)for(c in b)d[c]=b[c];return d}function h(a){var b=[];return function d(a,e){for(var f=a.firstChild;f;f=f.nextSibling)3==f.nodeType?e+=f.nodeValue.length:1==f.nodeType&&(b.push({event:"start",offset:e,node:f}),e=d(f,e),c(f).match(/br|hr|img|input/)||b.push({event:"stop",offset:e,node:f}));return e}(a,0),b}function i(a,d,e){function f(){return a.length&&d.length?a[0].offset!=d[0].offset?a[0].offset<d[0].offset?a:d:"start"==d[0].event?a:d:a.length?a:d}function g(a){function d(a){return" "+a.nodeName+'="'+b(a.value)+'"'}k+="<"+c(a)+Array.prototype.map.call(a.attributes,d).join("")+">"}function h(a){k+="</"+c(a)+">"}function i(a){("start"==a.event?g:h)(a.node)}for(var j=0,k="",l=[];a.length||d.length;){var m=f();if(k+=b(e.substr(j,m[0].offset-j)),j=m[0].offset,m==a){l.reverse().forEach(h);do i(m.splice(0,1)[0]),m=f();while(m==a&&m.length&&m[0].offset==j);l.reverse().forEach(g)}else"start"==m[0].event?l.push(m[0].node):l.pop(),i(m.splice(0,1)[0])}return k+b(e.substr(j))}function j(a){function b(a){return a&&a.source||a}function c(c,d){return new RegExp(b(c),"m"+(a.case_insensitive?"i":"")+(d?"g":""))}function d(e,f){if(!e.compiled){if(e.compiled=!0,e.keywords=e.keywords||e.beginKeywords,e.keywords){var h={},i=function(b,c){a.case_insensitive&&(c=c.toLowerCase()),c.split(" ").forEach(function(a){var c=a.split("|");h[c[0]]=[b,c[1]?Number(c[1]):1]})};"string"==typeof e.keywords?i("keyword",e.keywords):Object.keys(e.keywords).forEach(function(a){i(a,e.keywords[a])}),e.keywords=h}e.lexemesRe=c(e.lexemes||/\b\w+\b/,!0),f&&(e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")\\b"),e.begin||(e.begin=/\B|\b/),e.beginRe=c(e.begin),e.end||e.endsWithParent||(e.end=/\B|\b/),e.end&&(e.endRe=c(e.end)),e.terminator_end=b(e.end)||"",e.endsWithParent&&f.terminator_end&&(e.terminator_end+=(e.end?"|":"")+f.terminator_end)),e.illegal&&(e.illegalRe=c(e.illegal)),void 0===e.relevance&&(e.relevance=1),e.contains||(e.contains=[]);var j=[];e.contains.forEach(function(a){a.variants?a.variants.forEach(function(b){j.push(g(a,b))}):j.push("self"==a?e:a)}),e.contains=j,e.contains.forEach(function(a){d(a,e)}),e.starts&&d(e.starts,f);var k=e.contains.map(function(a){return a.beginKeywords?"\\.?("+a.begin+")\\.?":a.begin}).concat([e.terminator_end,e.illegal]).map(b).filter(Boolean);e.terminators=k.length?c(k.join("|"),!0):{exec:function(){return null}}}}d(a)}function k(a,c,e,f){function g(a,b){for(var c=0;c<b.contains.length;c++)if(d(b.contains[c].beginRe,a))return b.contains[c]}function h(a,b){if(d(a.endRe,b)){for(;a.endsParent&&a.parent;)a=a.parent;return a}return a.endsWithParent?h(a.parent,b):void 0}function i(a,b){return!e&&d(b.illegalRe,a)}function m(a,b){var c=t.case_insensitive?b[0].toLowerCase():b[0];return a.keywords.hasOwnProperty(c)&&a.keywords[c]}function n(a,b,c,d){var e=d?"":v.classPrefix,f='<span class="'+e,g=c?"":"</span>";return f+=a+'">',f+b+g}function o(){if(!y.keywords)return b(B);var a="",c=0;y.lexemesRe.lastIndex=0;for(var d=y.lexemesRe.exec(B);d;){a+=b(B.substr(c,d.index-c));var e=m(y,d);e?(C+=e[1],a+=n(e[0],b(d[0]))):a+=b(d[0]),c=y.lexemesRe.lastIndex,d=y.lexemesRe.exec(B)}return a+b(B.substr(c))}function p(){var a="string"==typeof y.subLanguage;if(a&&!w[y.subLanguage])return b(B);var c=a?k(y.subLanguage,B,!0,z[y.subLanguage]):l(B,y.subLanguage.length?y.subLanguage:void 0);return y.relevance>0&&(C+=c.relevance),a&&(z[y.subLanguage]=c.top),n(c.language,c.value,!1,!0)}function q(){return void 0!==y.subLanguage?p():o()}function r(a,c){var d=a.className?n(a.className,"",!0):"";a.returnBegin?(A+=d,B=""):a.excludeBegin?(A+=b(c)+d,B=""):(A+=d,B=c),y=Object.create(a,{parent:{value:y}})}function s(a,c){if(B+=a,void 0===c)return A+=q(),0;var d=g(c,y);if(d)return A+=q(),r(d,c),d.returnBegin?0:c.length;var e=h(y,c);if(e){var f=y;f.returnEnd||f.excludeEnd||(B+=c),A+=q();do y.className&&(A+="</span>"),C+=y.relevance,y=y.parent;while(y!=e.parent);return f.excludeEnd&&(A+=b(c)),B="",e.starts&&r(e.starts,""),f.returnEnd?0:c.length}if(i(c,y))throw new Error('Illegal lexeme "'+c+'" for mode "'+(y.className||"<unnamed>")+'"');return B+=c,c.length||1}var t=u(a);if(!t)throw new Error('Unknown language: "'+a+'"');j(t);var x,y=f||t,z={},A="";for(x=y;x!=t;x=x.parent)x.className&&(A=n(x.className,"",!0)+A);var B="",C=0;try{for(var D,E,F=0;;){if(y.terminators.lastIndex=F,D=y.terminators.exec(c),!D)break;E=s(c.substr(F,D.index-F),D[0]),F=D.index+E}for(s(c.substr(F)),x=y;x.parent;x=x.parent)x.className&&(A+="</span>");return{relevance:C,value:A,language:a,top:y}}catch(G){if(-1!=G.message.indexOf("Illegal"))return{relevance:0,value:b(c)};throw G}}function l(a,c){c=c||v.languages||Object.keys(w);var d={relevance:0,value:b(a)},e=d;return c.forEach(function(b){if(u(b)){
-var c=k(b,a,!1);c.language=b,c.relevance>e.relevance&&(e=c),c.relevance>d.relevance&&(e=d,d=c)}}),e.language&&(d.second_best=e),d}function m(a){return v.tabReplace&&(a=a.replace(/^((<[^>]+>|\t)+)/gm,function(a,b){return b.replace(/\t/g,v.tabReplace)})),v.useBR&&(a=a.replace(/\n/g,"<br>")),a}function n(a,b,c){var d=b?x[b]:c,e=[a.trim()];return a.match(/\bhljs\b/)||e.push("hljs"),-1===a.indexOf(d)&&e.push(d),e.join(" ").trim()}function o(a){var b=f(a);if(!e(b)){var c;v.useBR?(c=document.createElementNS("http://www.w3.org/1999/xhtml","div"),c.innerHTML=a.innerHTML.replace(/\n/g,"").replace(/<br[ \/]*>/g,"\n")):c=a;var d=c.textContent,g=b?k(b,d,!0):l(d),j=h(c);if(j.length){var o=document.createElementNS("http://www.w3.org/1999/xhtml","div");o.innerHTML=g.value,g.value=i(j,h(o),d)}g.value=m(g.value),a.innerHTML=g.value,a.className=n(a.className,b,g.language),a.result={language:g.language,re:g.relevance},g.second_best&&(a.second_best={language:g.second_best.language,re:g.second_best.relevance})}}function p(a){v=g(v,a)}function q(){if(!q.called){q.called=!0;var a=document.querySelectorAll("pre code");Array.prototype.forEach.call(a,o)}}function r(){addEventListener("DOMContentLoaded",q,!1),addEventListener("load",q,!1)}function s(b,c){var d=w[b]=c(a);d.aliases&&d.aliases.forEach(function(a){x[a]=b})}function t(){return Object.keys(w)}function u(a){return a=(a||"").toLowerCase(),w[a]||w[x[a]]}var v={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0},w={},x={};return a.highlight=k,a.highlightAuto=l,a.fixMarkup=m,a.highlightBlock=o,a.configure=p,a.initHighlighting=q,a.initHighlightingOnLoad=r,a.registerLanguage=s,a.listLanguages=t,a.getLanguage=u,a.inherit=g,a.IDENT_RE="[a-zA-Z]\\w*",a.UNDERSCORE_IDENT_RE="[a-zA-Z_]\\w*",a.NUMBER_RE="\\b\\d+(\\.\\d+)?",a.C_NUMBER_RE="(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",a.BINARY_NUMBER_RE="\\b(0b[01]+)",a.RE_STARTERS_RE="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",a.BACKSLASH_ESCAPE={begin:"\\\\[\\s\\S]",relevance:0},a.APOS_STRING_MODE={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[a.BACKSLASH_ESCAPE]},a.QUOTE_STRING_MODE={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[a.BACKSLASH_ESCAPE]},a.PHRASAL_WORDS_MODE={begin:/\b(a|an|the|are|I|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|like)\b/},a.COMMENT=function(b,c,d){var e=a.inherit({className:"comment",begin:b,end:c,contains:[]},d||{});return e.contains.push(a.PHRASAL_WORDS_MODE),e.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|XXX):",relevance:0}),e},a.C_LINE_COMMENT_MODE=a.COMMENT("//","$"),a.C_BLOCK_COMMENT_MODE=a.COMMENT("/\\*","\\*/"),a.HASH_COMMENT_MODE=a.COMMENT("#","$"),a.NUMBER_MODE={className:"number",begin:a.NUMBER_RE,relevance:0},a.C_NUMBER_MODE={className:"number",begin:a.C_NUMBER_RE,relevance:0},a.BINARY_NUMBER_MODE={className:"number",begin:a.BINARY_NUMBER_RE,relevance:0},a.CSS_NUMBER_MODE={className:"number",begin:a.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},a.REGEXP_MODE={className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[a.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[a.BACKSLASH_ESCAPE]}]},a.TITLE_MODE={className:"title",begin:a.IDENT_RE,relevance:0},a.UNDERSCORE_TITLE_MODE={className:"title",begin:a.UNDERSCORE_IDENT_RE,relevance:0},a.registerLanguage("1c",function(a){var b="[a-zA-Zа-яА-Я][a-zA-Z0-9_а-яА-Я]*",c="возврат дата для если и или иначе иначеесли исключение конецесли конецпопытки конецпроцедуры конецфункции конеццикла константа не перейти перем перечисление по пока попытка прервать продолжить процедура строка тогда фс функция цикл число экспорт",d="ansitooem oemtoansi ввестивидсубконто ввестидату ввестизначение ввестиперечисление ввестипериод ввестиплансчетов ввестистроку ввестичисло вопрос восстановитьзначение врег выбранныйплансчетов вызватьисключение датагод датамесяц датачисло добавитьмесяц завершитьработусистемы заголовоксистемы записьжурналарегистрации запуститьприложение зафиксироватьтранзакцию значениевстроку значениевстрокувнутр значениевфайл значениеизстроки значениеизстрокивнутр значениеизфайла имякомпьютера имяпользователя каталогвременныхфайлов каталогиб каталогпользователя каталогпрограммы кодсимв командасистемы конгода конецпериодаби конецрассчитанногопериодаби конецстандартногоинтервала конквартала конмесяца коннедели лев лог лог10 макс максимальноеколичествосубконто мин монопольныйрежим названиеинтерфейса названиенабораправ назначитьвид назначитьсчет найти найтипомеченныенаудаление найтиссылки началопериодаби началостандартногоинтервала начатьтранзакцию начгода начквартала начмесяца начнедели номерднягода номерднянедели номернеделигода нрег обработкаожидания окр описаниеошибки основнойжурналрасчетов основнойплансчетов основнойязык открытьформу открытьформумодально отменитьтранзакцию очиститьокносообщений периодстр полноеимяпользователя получитьвремята получитьдатута получитьдокументта получитьзначенияотбора получитьпозициюта получитьпустоезначение получитьта прав праводоступа предупреждение префиксавтонумерации пустаястрока пустоезначение рабочаядаттьпустоезначение рабочаядата разделительстраниц разделительстрок разм разобратьпозициюдокумента рассчитатьрегистрына рассчитатьрегистрыпо сигнал симв символтабуляции создатьобъект сокрл сокрлп сокрп сообщить состояние сохранитьзначение сред статусвозврата стрдлина стрзаменить стрколичествострок стрполучитьстроку  стрчисловхождений сформироватьпозициюдокумента счетпокоду текущаядата текущеевремя типзначения типзначениястр удалитьобъекты установитьтана установитьтапо фиксшаблон формат цел шаблон",e={className:"dquote",begin:'""'},f={className:"string",begin:'"',end:'"|$',contains:[e]},g={className:"string",begin:"\\|",end:'"|$',contains:[e]};return{case_insensitive:!0,lexemes:b,keywords:{keyword:c,built_in:d},contains:[a.C_LINE_COMMENT_MODE,a.NUMBER_MODE,f,g,{className:"function",begin:"(процедура|функция)",end:"$",lexemes:b,keywords:"процедура функция",contains:[a.inherit(a.TITLE_MODE,{begin:b}),{className:"tail",endsWithParent:!0,contains:[{className:"params",begin:"\\(",end:"\\)",lexemes:b,keywords:"знач",contains:[f,g]},{className:"export",begin:"экспорт",endsWithParent:!0,lexemes:b,keywords:"экспорт",contains:[a.C_LINE_COMMENT_MODE]}]},a.C_LINE_COMMENT_MODE]},{className:"preprocessor",begin:"#",end:"$"},{className:"date",begin:"'\\d{2}\\.\\d{2}\\.(\\d{2}|\\d{4})'"}]}}),a.registerLanguage("accesslog",function(a){return{contains:[{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+\\b",relevance:0},{className:"string",begin:'"(GET|POST|HEAD|PUT|DELETE|CONNECT|OPTIONS|PATCH|TRACE)',end:'"',keywords:"GET POST HEAD PUT DELETE CONNECT OPTIONS PATCH TRACE",illegal:"\\n",relevance:10},{className:"string",begin:/\[/,end:/\]/,illegal:"\\n"},{className:"string",begin:'"',end:'"',illegal:"\\n"}]}}),a.registerLanguage("actionscript",function(a){var b="[a-zA-Z_$][a-zA-Z0-9_$]*",c="([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)",d={className:"rest_arg",begin:"[.]{3}",end:b,relevance:10};return{aliases:["as"],keywords:{keyword:"as break case catch class const continue default delete do dynamic each else extends final finally for function get if implements import in include instanceof interface internal is namespace native new override package private protected public return set static super switch this throw try typeof use var void while with",literal:"true false null undefined"},contains:[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.C_NUMBER_MODE,{className:"package",beginKeywords:"package",end:"{",contains:[a.TITLE_MODE]},{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,contains:[{beginKeywords:"extends implements"},a.TITLE_MODE]},{className:"preprocessor",beginKeywords:"import include",end:";"},{className:"function",beginKeywords:"function",end:"[{;]",excludeEnd:!0,illegal:"\\S",contains:[a.TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",contains:[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,d]},{className:"type",begin:":",end:c,relevance:10}]}],illegal:/#/}}),a.registerLanguage("apache",function(a){var b={className:"number",begin:"[\\$%]\\d+"};return{aliases:["apacheconf"],case_insensitive:!0,contains:[a.HASH_COMMENT_MODE,{className:"tag",begin:"</?",end:">"},{className:"keyword",begin:/\w+/,relevance:0,keywords:{common:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{end:/$/,relevance:0,keywords:{literal:"on off all"},contains:[{className:"sqbracket",begin:"\\s\\[",end:"\\]$"},{className:"cbracket",begin:"[\\$%]\\{",end:"\\}",contains:["self",b]},b,a.QUOTE_STRING_MODE]}}],illegal:/\S/}}),a.registerLanguage("applescript",function(a){var b=a.inherit(a.QUOTE_STRING_MODE,{illegal:""}),c={className:"params",begin:"\\(",end:"\\)",contains:["self",a.C_NUMBER_MODE,b]},d=a.COMMENT("--","$"),e=a.COMMENT("\\(\\*","\\*\\)",{contains:["self",d]}),f=[d,e,a.HASH_COMMENT_MODE];return{aliases:["osascript"],keywords:{keyword:"about above after against and around as at back before beginning behind below beneath beside between but by considering contain contains continue copy div does eighth else end equal equals error every exit fifth first for fourth from front get given global if ignoring in into is it its last local me middle mod my ninth not of on onto or over prop property put ref reference repeat returning script second set seventh since sixth some tell tenth that the|0 then third through thru timeout times to transaction try until where while whose with without",constant:"AppleScript false linefeed return pi quote result space tab true",type:"alias application boolean class constant date file integer list number real record string text",command:"activate beep count delay launch log offset read round run say summarize write",property:"character characters contents day frontmost id item length month name paragraph paragraphs rest reverse running time version weekday word words year"},contains:[b,a.C_NUMBER_MODE,{className:"type",begin:"\\bPOSIX file\\b"},{className:"command",begin:"\\b(clipboard info|the clipboard|info for|list (disks|folder)|mount volume|path to|(close|open for) access|(get|set) eof|current date|do shell script|get volume settings|random number|set volume|system attribute|system info|time to GMT|(load|run|store) script|scripting components|ASCII (character|number)|localized string|choose (application|color|file|file name|folder|from list|remote application|URL)|display (alert|dialog))\\b|^\\s*return\\b"},{className:"constant",begin:"\\b(text item delimiters|current application|missing value)\\b"},{className:"keyword",begin:"\\b(apart from|aside from|instead of|out of|greater than|isn't|(doesn't|does not) (equal|come before|come after|contain)|(greater|less) than( or equal)?|(starts?|ends|begins?) with|contained by|comes (before|after)|a (ref|reference))\\b"},{className:"property",begin:"\\b(POSIX path|(date|time) string|quoted form)\\b"},{className:"function_start",beginKeywords:"on",illegal:"[${=;\\n]",contains:[a.UNDERSCORE_TITLE_MODE,c]}].concat(f),illegal:"//|->|=>|\\[\\["}}),a.registerLanguage("armasm",function(a){return{case_insensitive:!0,aliases:["arm"],lexemes:"\\.?"+a.IDENT_RE,keywords:{literal:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 ",preprocessor:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",built_in:"{PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @ "},contains:[{className:"keyword",begin:"\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?",end:"\\s"},a.COMMENT("[;@]","$",{relevance:0}),a.C_BLOCK_COMMENT_MODE,a.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",relevance:0},{className:"title",begin:"\\|",end:"\\|",illegal:"\\n",relevance:0},{className:"number",variants:[{begin:"[#$=]?0x[0-9a-f]+"},{begin:"[#$=]?0b[01]+"},{begin:"[#$=]\\d+"},{begin:"\\b\\d+"}],relevance:0},{className:"label",variants:[{begin:"^[a-z_\\.\\$][a-z0-9_\\.\\$]+"},{begin:"^\\s*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{begin:"[=#]\\w+"}],relevance:0}]}}),a.registerLanguage("xml",function(a){var b="[A-Za-z0-9\\._:-]+",c={begin:/<\?(php)?(?!\w)/,end:/\?>/,subLanguage:"php"},d={endsWithParent:!0,illegal:/</,relevance:0,contains:[c,{className:"attribute",begin:b,relevance:0},{begin:"=",relevance:0,contains:[{className:"value",contains:[c],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/},{begin:/[^\s\/>]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xsl","plist"],case_insensitive:!0,contains:[{className:"doctype",begin:"<!DOCTYPE",end:">",relevance:10,contains:[{begin:"\\[",end:"\\]"}]},a.COMMENT("<!--","-->",{relevance:10}),{className:"cdata",begin:"<\\!\\[CDATA\\[",end:"\\]\\]>",relevance:10},{className:"tag",begin:"<style(?=\\s|>|$)",end:">",keywords:{title:"style"},contains:[d],starts:{end:"</style>",returnEnd:!0,subLanguage:"css"}},{className:"tag",begin:"<script(?=\\s|>|$)",end:">",keywords:{title:"script"},contains:[d],starts:{end:"</script>",returnEnd:!0,subLanguage:["actionscript","javascript","handlebars"]}},c,{className:"pi",begin:/<\?\w+/,end:/\?>/,relevance:10},{className:"tag",begin:"</?",end:"/?>",contains:[{className:"title",begin:/[^ \/><\n\t]+/,relevance:0},d]}]}}),a.registerLanguage("asciidoc",function(a){return{aliases:["adoc"],contains:[a.COMMENT("^/{4,}\\n","\\n/{4,}$",{relevance:10}),a.COMMENT("^//","$",{relevance:0}),{className:"title",begin:"^\\.\\w.*$"},{begin:"^[=\\*]{4,}\\n",end:"\\n^[=\\*]{4,}$",relevance:10},{className:"header",begin:"^(={1,5}) .+?( \\1)?$",relevance:10},{className:"header",begin:"^[^\\[\\]\\n]+?\\n[=\\-~\\^\\+]{2,}$",relevance:10},{className:"attribute",begin:"^:.+?:",end:"\\s",excludeEnd:!0,relevance:10},{className:"attribute",begin:"^\\[.+?\\]$",relevance:0},{className:"blockquote",begin:"^_{4,}\\n",end:"\\n_{4,}$",relevance:10},{className:"code",begin:"^[\\-\\.]{4,}\\n",end:"\\n[\\-\\.]{4,}$",relevance:10},{begin:"^\\+{4,}\\n",end:"\\n\\+{4,}$",contains:[{begin:"<",end:">",subLanguage:"xml",relevance:0}],relevance:10},{className:"bullet",begin:"^(\\*+|\\-+|\\.+|[^\\n]+?::)\\s+"},{className:"label",begin:"^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\s+",relevance:10},{className:"strong",begin:"\\B\\*(?![\\*\\s])",end:"(\\n{2}|\\*)",contains:[{begin:"\\\\*\\w",relevance:0}]},{className:"emphasis",begin:"\\B'(?!['\\s])",end:"(\\n{2}|')",contains:[{begin:"\\\\'\\w",relevance:0}],relevance:0},{className:"emphasis",begin:"_(?![_\\s])",end:"(\\n{2}|_)",relevance:0},{className:"smartquote",variants:[{begin:"``.+?''"},{begin:"`.+?'"}]},{className:"code",begin:"(`.+?`|\\+.+?\\+)",relevance:0},{className:"code",begin:"^[ \\t]",end:"$",relevance:0},{className:"horizontal_rule",begin:"^'{3,}[ \\t]*$",relevance:10},{begin:"(link:)?(http|https|ftp|file|irc|image:?):\\S+\\[.*?\\]",returnBegin:!0,contains:[{begin:"(link|image:?):",relevance:0},{className:"link_url",begin:"\\w",end:"[^\\[]+",relevance:0},{className:"link_label",begin:"\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0,relevance:0}],relevance:10}]}}),a.registerLanguage("aspectj",function(a){var b="false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else extends implements break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws privileged aspectOf adviceexecution proceed cflowbelow cflow initialization preinitialization staticinitialization withincode target within execution getWithinTypeName handler thisJoinPoint thisJoinPointStaticPart thisEnclosingJoinPointStaticPart declare parents warning error soft precedence thisAspectInstance",c="get set args call";return{keywords:b,illegal:/<\/|#/,contains:[a.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,{className:"aspect",beginKeywords:"aspect",end:/[{;=]/,excludeEnd:!0,illegal:/[:;"\[\]]/,contains:[{beginKeywords:"extends implements pertypewithin perthis pertarget percflowbelow percflow issingleton"},a.UNDERSCORE_TITLE_MODE,{begin:/\([^\)]*/,end:/[)]+/,keywords:b+" "+c,excludeEnd:!1}]},{className:"class",beginKeywords:"class interface",end:/[{;=]/,excludeEnd:!0,relevance:0,keywords:"class interface",illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends implements"},a.UNDERSCORE_TITLE_MODE]},{beginKeywords:"pointcut after before around throwing returning",end:/[)]/,excludeEnd:!1,illegal:/["\[\]]/,contains:[{begin:a.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,contains:[a.UNDERSCORE_TITLE_MODE]}]},{begin:/[:]/,returnBegin:!0,end:/[{;]/,relevance:0,excludeEnd:!1,keywords:b,illegal:/["\[\]]/,contains:[{begin:a.UNDERSCORE_IDENT_RE+"\\s*\\(",keywords:b+" "+c},a.QUOTE_STRING_MODE]},{beginKeywords:"new throw",relevance:0},{className:"function",begin:/\w+ +\w+(\.)?\w+\s*\([^\)]*\)\s*((throws)[\w\s,]+)?[\{;]/,returnBegin:!0,end:/[{;=]/,keywords:b,excludeEnd:!0,contains:[{begin:a.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[a.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/,relevance:0,keywords:b,contains:[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_NUMBER_MODE,a.C_BLOCK_COMMENT_MODE]},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},a.C_NUMBER_MODE,{className:"annotation",begin:"@[A-Za-z]+"}]}}),a.registerLanguage("autohotkey",function(a){var b={className:"escape",begin:"`[\\s\\S]"},c=a.COMMENT(";","$",{relevance:0}),d=[{className:"built_in",begin:"A_[a-zA-Z0-9]+"},{className:"built_in",beginKeywords:"ComSpec Clipboard ClipboardAll ErrorLevel"}];return{case_insensitive:!0,keywords:{keyword:"Break Continue Else Gosub If Loop Return While",literal:"A true false NOT AND OR"},contains:d.concat([b,a.inherit(a.QUOTE_STRING_MODE,{contains:[b]}),c,{className:"number",begin:a.NUMBER_RE,relevance:0},{className:"var_expand",begin:"%",end:"%",illegal:"\\n",contains:[b]},{className:"label",contains:[b],variants:[{begin:'^[^\\n";]+::(?!=)'},{begin:'^[^\\n";]+:(?!=)',relevance:0}]},{begin:",\\s*,",relevance:10}])}}),a.registerLanguage("autoit",function(a){var b="ByRef Case Const ContinueCase ContinueLoop Default Dim Do Else ElseIf EndFunc EndIf EndSelect EndSwitch EndWith Enum Exit ExitLoop For Func Global If In Local Next ReDim Return Select Static Step Switch Then To Until Volatile WEnd While With",c="True False And Null Not Or",d="Abs ACos AdlibRegister AdlibUnRegister Asc AscW ASin Assign ATan AutoItSetOption AutoItWinGetTitle AutoItWinSetTitle Beep Binary BinaryLen BinaryMid BinaryToString BitAND BitNOT BitOR BitRotate BitShift BitXOR BlockInput Break Call CDTray Ceiling Chr ChrW ClipGet ClipPut ConsoleRead ConsoleWrite ConsoleWriteError ControlClick ControlCommand ControlDisable ControlEnable ControlFocus ControlGetFocus ControlGetHandle ControlGetPos ControlGetText ControlHide ControlListView ControlMove ControlSend ControlSetText ControlShow ControlTreeView Cos Dec DirCopy DirCreate DirGetSize DirMove DirRemove DllCall DllCallAddress DllCallbackFree DllCallbackGetPtr DllCallbackRegister DllClose DllOpen DllStructCreate DllStructGetData DllStructGetPtr DllStructGetSize DllStructSetData DriveGetDrive DriveGetFileSystem DriveGetLabel DriveGetSerial DriveGetType DriveMapAdd DriveMapDel DriveMapGet DriveSetLabel DriveSpaceFree DriveSpaceTotal DriveStatus EnvGet EnvSet EnvUpdate Eval Execute Exp FileChangeDir FileClose FileCopy FileCreateNTFSLink FileCreateShortcut FileDelete FileExists FileFindFirstFile FileFindNextFile FileFlush FileGetAttrib FileGetEncoding FileGetLongName FileGetPos FileGetShortcut FileGetShortName FileGetSize FileGetTime FileGetVersion FileInstall FileMove FileOpen FileOpenDialog FileRead FileReadLine FileReadToArray FileRecycle FileRecycleEmpty FileSaveDialog FileSelectFolder FileSetAttrib FileSetEnd FileSetPos FileSetTime FileWrite FileWriteLine Floor FtpSetProxy FuncName GUICreate GUICtrlCreateAvi GUICtrlCreateButton GUICtrlCreateCheckbox GUICtrlCreateCombo GUICtrlCreateContextMenu GUICtrlCreateDate GUICtrlCreateDummy GUICtrlCreateEdit GUICtrlCreateGraphic GUICtrlCreateGroup GUICtrlCreateIcon GUICtrlCreateInput GUICtrlCreateLabel GUICtrlCreateList GUICtrlCreateListView GUICtrlCreateListViewItem GUICtrlCreateMenu GUICtrlCreateMenuItem GUICtrlCreateMonthCal GUICtrlCreateObj GUICtrlCreatePic GUICtrlCreateProgress GUICtrlCreateRadio GUICtrlCreateSlider GUICtrlCreateTab GUICtrlCreateTabItem GUICtrlCreateTreeView GUICtrlCreateTreeViewItem GUICtrlCreateUpdown GUICtrlDelete GUICtrlGetHandle GUICtrlGetState GUICtrlRead GUICtrlRecvMsg GUICtrlRegisterListViewSort GUICtrlSendMsg GUICtrlSendToDummy GUICtrlSetBkColor GUICtrlSetColor GUICtrlSetCursor GUICtrlSetData GUICtrlSetDefBkColor GUICtrlSetDefColor GUICtrlSetFont GUICtrlSetGraphic GUICtrlSetImage GUICtrlSetLimit GUICtrlSetOnEvent GUICtrlSetPos GUICtrlSetResizing GUICtrlSetState GUICtrlSetStyle GUICtrlSetTip GUIDelete GUIGetCursorInfo GUIGetMsg GUIGetStyle GUIRegisterMsg GUISetAccelerators GUISetBkColor GUISetCoord GUISetCursor GUISetFont GUISetHelp GUISetIcon GUISetOnEvent GUISetState GUISetStyle GUIStartGroup GUISwitch Hex HotKeySet HttpSetProxy HttpSetUserAgent HWnd InetClose InetGet InetGetInfo InetGetSize InetRead IniDelete IniRead IniReadSection IniReadSectionNames IniRenameSection IniWrite IniWriteSection InputBox Int IsAdmin IsArray IsBinary IsBool IsDeclared IsDllStruct IsFloat IsFunc IsHWnd IsInt IsKeyword IsNumber IsObj IsPtr IsString Log MemGetStats Mod MouseClick MouseClickDrag MouseDown MouseGetCursor MouseGetPos MouseMove MouseUp MouseWheel MsgBox Number ObjCreate ObjCreateInterface ObjEvent ObjGet ObjName OnAutoItExitRegister OnAutoItExitUnRegister Opt Ping PixelChecksum PixelGetColor PixelSearch ProcessClose ProcessExists ProcessGetStats ProcessList ProcessSetPriority ProcessWait ProcessWaitClose ProgressOff ProgressOn ProgressSet Ptr Random RegDelete RegEnumKey RegEnumVal RegRead RegWrite Round Run RunAs RunAsWait RunWait Send SendKeepActive SetError SetExtended ShellExecute ShellExecuteWait Shutdown Sin Sleep SoundPlay SoundSetWaveVolume SplashImageOn SplashOff SplashTextOn Sqrt SRandom StatusbarGetText StderrRead StdinWrite StdioClose StdoutRead String StringAddCR StringCompare StringFormat StringFromASCIIArray StringInStr StringIsAlNum StringIsAlpha StringIsASCII StringIsDigit StringIsFloat StringIsInt StringIsLower StringIsSpace StringIsUpper StringIsXDigit StringLeft StringLen StringLower StringMid StringRegExp StringRegExpReplace StringReplace StringReverse StringRight StringSplit StringStripCR StringStripWS StringToASCIIArray StringToBinary StringTrimLeft StringTrimRight StringUpper Tan TCPAccept TCPCloseSocket TCPConnect TCPListen TCPNameToIP TCPRecv TCPSend TCPShutdown TCPStartup TimerDiff TimerInit ToolTip TrayCreateItem TrayCreateMenu TrayGetMsg TrayItemDelete TrayItemGetHandle TrayItemGetState TrayItemGetText TrayItemSetOnEvent TrayItemSetState TrayItemSetText TraySetClick TraySetIcon TraySetOnEvent TraySetPauseIcon TraySetState TraySetToolTip TrayTip UBound UDPBind UDPCloseSocket UDPOpen UDPRecv UDPSend UDPShutdown UDPStartup VarGetType WinActivate WinActive WinClose WinExists WinFlash WinGetCaretPos WinGetClassList WinGetClientSize WinGetHandle WinGetPos WinGetProcess WinGetState WinGetText WinGetTitle WinKill WinList WinMenuSelectItem WinMinimizeAll WinMinimizeAllUndo WinMove WinSetOnTop WinSetState WinSetTitle WinSetTrans WinWait WinWaitActive WinWaitClose WinWaitNotActive Array1DToHistogram ArrayAdd ArrayBinarySearch ArrayColDelete ArrayColInsert ArrayCombinations ArrayConcatenate ArrayDelete ArrayDisplay ArrayExtract ArrayFindAll ArrayInsert ArrayMax ArrayMaxIndex ArrayMin ArrayMinIndex ArrayPermute ArrayPop ArrayPush ArrayReverse ArraySearch ArrayShuffle ArraySort ArraySwap ArrayToClip ArrayToString ArrayTranspose ArrayTrim ArrayUnique Assert ChooseColor ChooseFont ClipBoard_ChangeChain ClipBoard_Close ClipBoard_CountFormats ClipBoard_Empty ClipBoard_EnumFormats ClipBoard_FormatStr ClipBoard_GetData ClipBoard_GetDataEx ClipBoard_GetFormatName ClipBoard_GetOpenWindow ClipBoard_GetOwner ClipBoard_GetPriorityFormat ClipBoard_GetSequenceNumber ClipBoard_GetViewer ClipBoard_IsFormatAvailable ClipBoard_Open ClipBoard_RegisterFormat ClipBoard_SetData ClipBoard_SetDataEx ClipBoard_SetViewer ClipPutFile ColorConvertHSLtoRGB ColorConvertRGBtoHSL ColorGetBlue ColorGetCOLORREF ColorGetGreen ColorGetRed ColorGetRGB ColorSetCOLORREF ColorSetRGB Crypt_DecryptData Crypt_DecryptFile Crypt_DeriveKey Crypt_DestroyKey Crypt_EncryptData Crypt_EncryptFile Crypt_GenRandom Crypt_HashData Crypt_HashFile Crypt_Shutdown Crypt_Startup DateAdd DateDayOfWeek DateDaysInMonth DateDiff DateIsLeapYear DateIsValid DateTimeFormat DateTimeSplit DateToDayOfWeek DateToDayOfWeekISO DateToDayValue DateToMonth Date_Time_CompareFileTime Date_Time_DOSDateTimeToArray Date_Time_DOSDateTimeToFileTime Date_Time_DOSDateTimeToStr Date_Time_DOSDateToArray Date_Time_DOSDateToStr Date_Time_DOSTimeToArray Date_Time_DOSTimeToStr Date_Time_EncodeFileTime Date_Time_EncodeSystemTime Date_Time_FileTimeToArray Date_Time_FileTimeToDOSDateTime Date_Time_FileTimeToLocalFileTime Date_Time_FileTimeToStr Date_Time_FileTimeToSystemTime Date_Time_GetFileTime Date_Time_GetLocalTime Date_Time_GetSystemTime Date_Time_GetSystemTimeAdjustment Date_Time_GetSystemTimeAsFileTime Date_Time_GetSystemTimes Date_Time_GetTickCount Date_Time_GetTimeZoneInformation Date_Time_LocalFileTimeToFileTime Date_Time_SetFileTime Date_Time_SetLocalTime Date_Time_SetSystemTime Date_Time_SetSystemTimeAdjustment Date_Time_SetTimeZoneInformation Date_Time_SystemTimeToArray Date_Time_SystemTimeToDateStr Date_Time_SystemTimeToDateTimeStr Date_Time_SystemTimeToFileTime Date_Time_SystemTimeToTimeStr Date_Time_SystemTimeToTzSpecificLocalTime Date_Time_TzSpecificLocalTimeToSystemTime DayValueToDate DebugBugReportEnv DebugCOMError DebugOut DebugReport DebugReportEx DebugReportVar DebugSetup Degree EventLog__Backup EventLog__Clear EventLog__Close EventLog__Count EventLog__DeregisterSource EventLog__Full EventLog__Notify EventLog__Oldest EventLog__Open EventLog__OpenBackup EventLog__Read EventLog__RegisterSource EventLog__Report Excel_BookAttach Excel_BookClose Excel_BookList Excel_BookNew Excel_BookOpen Excel_BookOpenText Excel_BookSave Excel_BookSaveAs Excel_Close Excel_ColumnToLetter Excel_ColumnToNumber Excel_ConvertFormula Excel_Export Excel_FilterGet Excel_FilterSet Excel_Open Excel_PictureAdd Excel_Print Excel_RangeCopyPaste Excel_RangeDelete Excel_RangeFind Excel_RangeInsert Excel_RangeLinkAddRemove Excel_RangeRead Excel_RangeReplace Excel_RangeSort Excel_RangeValidate Excel_RangeWrite Excel_SheetAdd Excel_SheetCopyMove Excel_SheetDelete Excel_SheetList FileCountLines FileCreate FileListToArray FileListToArrayRec FilePrint FileReadToArray FileWriteFromArray FileWriteLog FileWriteToLine FTP_Close FTP_Command FTP_Connect FTP_DecodeInternetStatus FTP_DirCreate FTP_DirDelete FTP_DirGetCurrent FTP_DirPutContents FTP_DirSetCurrent FTP_FileClose FTP_FileDelete FTP_FileGet FTP_FileGetSize FTP_FileOpen FTP_FilePut FTP_FileRead FTP_FileRename FTP_FileTimeLoHiToStr FTP_FindFileClose FTP_FindFileFirst FTP_FindFileNext FTP_GetLastResponseInfo FTP_ListToArray FTP_ListToArray2D FTP_ListToArrayEx FTP_Open FTP_ProgressDownload FTP_ProgressUpload FTP_SetStatusCallback GDIPlus_ArrowCapCreate GDIPlus_ArrowCapDispose GDIPlus_ArrowCapGetFillState GDIPlus_ArrowCapGetHeight GDIPlus_ArrowCapGetMiddleInset GDIPlus_ArrowCapGetWidth GDIPlus_ArrowCapSetFillState GDIPlus_ArrowCapSetHeight GDIPlus_ArrowCapSetMiddleInset GDIPlus_ArrowCapSetWidth GDIPlus_BitmapApplyEffect GDIPlus_BitmapApplyEffectEx GDIPlus_BitmapCloneArea GDIPlus_BitmapConvertFormat GDIPlus_BitmapCreateApplyEffect GDIPlus_BitmapCreateApplyEffectEx GDIPlus_BitmapCreateDIBFromBitmap GDIPlus_BitmapCreateFromFile GDIPlus_BitmapCreateFromGraphics GDIPlus_BitmapCreateFromHBITMAP GDIPlus_BitmapCreateFromHICON GDIPlus_BitmapCreateFromHICON32 GDIPlus_BitmapCreateFromMemory GDIPlus_BitmapCreateFromResource GDIPlus_BitmapCreateFromScan0 GDIPlus_BitmapCreateFromStream GDIPlus_BitmapCreateHBITMAPFromBitmap GDIPlus_BitmapDispose GDIPlus_BitmapGetHistogram GDIPlus_BitmapGetHistogramEx GDIPlus_BitmapGetHistogramSize GDIPlus_BitmapGetPixel GDIPlus_BitmapLockBits GDIPlus_BitmapSetPixel GDIPlus_BitmapUnlockBits GDIPlus_BrushClone GDIPlus_BrushCreateSolid GDIPlus_BrushDispose GDIPlus_BrushGetSolidColor GDIPlus_BrushGetType GDIPlus_BrushSetSolidColor GDIPlus_ColorMatrixCreate GDIPlus_ColorMatrixCreateGrayScale GDIPlus_ColorMatrixCreateNegative GDIPlus_ColorMatrixCreateSaturation GDIPlus_ColorMatrixCreateScale GDIPlus_ColorMatrixCreateTranslate GDIPlus_CustomLineCapClone GDIPlus_CustomLineCapCreate GDIPlus_CustomLineCapDispose GDIPlus_CustomLineCapGetStrokeCaps GDIPlus_CustomLineCapSetStrokeCaps GDIPlus_Decoders GDIPlus_DecodersGetCount GDIPlus_DecodersGetSize GDIPlus_DrawImageFX GDIPlus_DrawImageFXEx GDIPlus_DrawImagePoints GDIPlus_EffectCreate GDIPlus_EffectCreateBlur GDIPlus_EffectCreateBrightnessContrast GDIPlus_EffectCreateColorBalance GDIPlus_EffectCreateColorCurve GDIPlus_EffectCreateColorLUT GDIPlus_EffectCreateColorMatrix GDIPlus_EffectCreateHueSaturationLightness GDIPlus_EffectCreateLevels GDIPlus_EffectCreateRedEyeCorrection GDIPlus_EffectCreateSharpen GDIPlus_EffectCreateTint GDIPlus_EffectDispose GDIPlus_EffectGetParameters GDIPlus_EffectSetParameters GDIPlus_Encoders GDIPlus_EncodersGetCLSID GDIPlus_EncodersGetCount GDIPlus_EncodersGetParamList GDIPlus_EncodersGetParamListSize GDIPlus_EncodersGetSize GDIPlus_FontCreate GDIPlus_FontDispose GDIPlus_FontFamilyCreate GDIPlus_FontFamilyCreateFromCollection GDIPlus_FontFamilyDispose GDIPlus_FontFamilyGetCellAscent GDIPlus_FontFamilyGetCellDescent GDIPlus_FontFamilyGetEmHeight GDIPlus_FontFamilyGetLineSpacing GDIPlus_FontGetHeight GDIPlus_FontPrivateAddFont GDIPlus_FontPrivateAddMemoryFont GDIPlus_FontPrivateCollectionDispose GDIPlus_FontPrivateCreateCollection GDIPlus_GraphicsClear GDIPlus_GraphicsCreateFromHDC GDIPlus_GraphicsCreateFromHWND GDIPlus_GraphicsDispose GDIPlus_GraphicsDrawArc GDIPlus_GraphicsDrawBezier GDIPlus_GraphicsDrawClosedCurve GDIPlus_GraphicsDrawClosedCurve2 GDIPlus_GraphicsDrawCurve GDIPlus_GraphicsDrawCurve2 GDIPlus_GraphicsDrawEllipse GDIPlus_GraphicsDrawImage GDIPlus_GraphicsDrawImagePointsRect GDIPlus_GraphicsDrawImageRect GDIPlus_GraphicsDrawImageRectRect GDIPlus_GraphicsDrawLine GDIPlus_GraphicsDrawPath GDIPlus_GraphicsDrawPie GDIPlus_GraphicsDrawPolygon GDIPlus_GraphicsDrawRect GDIPlus_GraphicsDrawString GDIPlus_GraphicsDrawStringEx GDIPlus_GraphicsFillClosedCurve GDIPlus_GraphicsFillClosedCurve2 GDIPlus_GraphicsFillEllipse GDIPlus_GraphicsFillPath GDIPlus_GraphicsFillPie GDIPlus_GraphicsFillPolygon GDIPlus_GraphicsFillRect GDIPlus_GraphicsFillRegion GDIPlus_GraphicsGetCompositingMode GDIPlus_GraphicsGetCompositingQuality GDIPlus_GraphicsGetDC GDIPlus_GraphicsGetInterpolationMode GDIPlus_GraphicsGetSmoothingMode GDIPlus_GraphicsGetTransform GDIPlus_GraphicsMeasureCharacterRanges GDIPlus_GraphicsMeasureString GDIPlus_GraphicsReleaseDC GDIPlus_GraphicsResetClip GDIPlus_GraphicsResetTransform GDIPlus_GraphicsRestore GDIPlus_GraphicsRotateTransform GDIPlus_GraphicsSave GDIPlus_GraphicsScaleTransform GDIPlus_GraphicsSetClipPath GDIPlus_GraphicsSetClipRect GDIPlus_GraphicsSetClipRegion GDIPlus_GraphicsSetCompositingMode GDIPlus_GraphicsSetCompositingQuality GDIPlus_GraphicsSetInterpolationMode GDIPlus_GraphicsSetPixelOffsetMode GDIPlus_GraphicsSetSmoothingMode GDIPlus_GraphicsSetTextRenderingHint GDIPlus_GraphicsSetTransform GDIPlus_GraphicsTransformPoints GDIPlus_GraphicsTranslateTransform GDIPlus_HatchBrushCreate GDIPlus_HICONCreateFromBitmap GDIPlus_ImageAttributesCreate GDIPlus_ImageAttributesDispose GDIPlus_ImageAttributesSetColorKeys GDIPlus_ImageAttributesSetColorMatrix GDIPlus_ImageDispose GDIPlus_ImageGetDimension GDIPlus_ImageGetFlags GDIPlus_ImageGetGraphicsContext GDIPlus_ImageGetHeight GDIPlus_ImageGetHorizontalResolution GDIPlus_ImageGetPixelFormat GDIPlus_ImageGetRawFormat GDIPlus_ImageGetThumbnail GDIPlus_ImageGetType GDIPlus_ImageGetVerticalResolution GDIPlus_ImageGetWidth GDIPlus_ImageLoadFromFile GDIPlus_ImageLoadFromStream GDIPlus_ImageResize GDIPlus_ImageRotateFlip GDIPlus_ImageSaveToFile GDIPlus_ImageSaveToFileEx GDIPlus_ImageSaveToStream GDIPlus_ImageScale GDIPlus_LineBrushCreate GDIPlus_LineBrushCreateFromRect GDIPlus_LineBrushCreateFromRectWithAngle GDIPlus_LineBrushGetColors GDIPlus_LineBrushGetRect GDIPlus_LineBrushMultiplyTransform GDIPlus_LineBrushResetTransform GDIPlus_LineBrushSetBlend GDIPlus_LineBrushSetColors GDIPlus_LineBrushSetGammaCorrection GDIPlus_LineBrushSetLinearBlend GDIPlus_LineBrushSetPresetBlend GDIPlus_LineBrushSetSigmaBlend GDIPlus_LineBrushSetTransform GDIPlus_MatrixClone GDIPlus_MatrixCreate GDIPlus_MatrixDispose GDIPlus_MatrixGetElements GDIPlus_MatrixInvert GDIPlus_MatrixMultiply GDIPlus_MatrixRotate GDIPlus_MatrixScale GDIPlus_MatrixSetElements GDIPlus_MatrixShear GDIPlus_MatrixTransformPoints GDIPlus_MatrixTranslate GDIPlus_PaletteInitialize GDIPlus_ParamAdd GDIPlus_ParamInit GDIPlus_ParamSize GDIPlus_PathAddArc GDIPlus_PathAddBezier GDIPlus_PathAddClosedCurve GDIPlus_PathAddClosedCurve2 GDIPlus_PathAddCurve GDIPlus_PathAddCurve2 GDIPlus_PathAddCurve3 GDIPlus_PathAddEllipse GDIPlus_PathAddLine GDIPlus_PathAddLine2 GDIPlus_PathAddPath GDIPlus_PathAddPie GDIPlus_PathAddPolygon GDIPlus_PathAddRectangle GDIPlus_PathAddString GDIPlus_PathBrushCreate GDIPlus_PathBrushCreateFromPath GDIPlus_PathBrushGetCenterPoint GDIPlus_PathBrushGetFocusScales GDIPlus_PathBrushGetPointCount GDIPlus_PathBrushGetRect GDIPlus_PathBrushGetWrapMode GDIPlus_PathBrushMultiplyTransform GDIPlus_PathBrushResetTransform GDIPlus_PathBrushSetBlend GDIPlus_PathBrushSetCenterColor GDIPlus_PathBrushSetCenterPoint GDIPlus_PathBrushSetFocusScales GDIPlus_PathBrushSetGammaCorrection GDIPlus_PathBrushSetLinearBlend GDIPlus_PathBrushSetPresetBlend GDIPlus_PathBrushSetSigmaBlend GDIPlus_PathBrushSetSurroundColor GDIPlus_PathBrushSetSurroundColorsWithCount GDIPlus_PathBrushSetTransform GDIPlus_PathBrushSetWrapMode GDIPlus_PathClone GDIPlus_PathCloseFigure GDIPlus_PathCreate GDIPlus_PathCreate2 GDIPlus_PathDispose GDIPlus_PathFlatten GDIPlus_PathGetData GDIPlus_PathGetFillMode GDIPlus_PathGetLastPoint GDIPlus_PathGetPointCount GDIPlus_PathGetPoints GDIPlus_PathGetWorldBounds GDIPlus_PathIsOutlineVisiblePoint GDIPlus_PathIsVisiblePoint GDIPlus_PathIterCreate GDIPlus_PathIterDispose GDIPlus_PathIterGetSubpathCount GDIPlus_PathIterNextMarkerPath GDIPlus_PathIterNextSubpathPath GDIPlus_PathIterRewind GDIPlus_PathReset GDIPlus_PathReverse GDIPlus_PathSetFillMode GDIPlus_PathSetMarker GDIPlus_PathStartFigure GDIPlus_PathTransform GDIPlus_PathWarp GDIPlus_PathWiden GDIPlus_PathWindingModeOutline GDIPlus_PenCreate GDIPlus_PenCreate2 GDIPlus_PenDispose GDIPlus_PenGetAlignment GDIPlus_PenGetColor GDIPlus_PenGetCustomEndCap GDIPlus_PenGetDashCap GDIPlus_PenGetDashStyle GDIPlus_PenGetEndCap GDIPlus_PenGetMiterLimit GDIPlus_PenGetWidth GDIPlus_PenSetAlignment GDIPlus_PenSetColor GDIPlus_PenSetCustomEndCap GDIPlus_PenSetDashCap GDIPlus_PenSetDashStyle GDIPlus_PenSetEndCap GDIPlus_PenSetLineCap GDIPlus_PenSetLineJoin GDIPlus_PenSetMiterLimit GDIPlus_PenSetStartCap GDIPlus_PenSetWidth GDIPlus_RectFCreate GDIPlus_RegionClone GDIPlus_RegionCombinePath GDIPlus_RegionCombineRect GDIPlus_RegionCombineRegion GDIPlus_RegionCreate GDIPlus_RegionCreateFromPath GDIPlus_RegionCreateFromRect GDIPlus_RegionDispose GDIPlus_RegionGetBounds GDIPlus_RegionGetHRgn GDIPlus_RegionTransform GDIPlus_RegionTranslate GDIPlus_Shutdown GDIPlus_Startup GDIPlus_StringFormatCreate GDIPlus_StringFormatDispose GDIPlus_StringFormatGetMeasurableCharacterRangeCount GDIPlus_StringFormatSetAlign GDIPlus_StringFormatSetLineAlign GDIPlus_StringFormatSetMeasurableCharacterRanges GDIPlus_TextureCreate GDIPlus_TextureCreate2 GDIPlus_TextureCreateIA GetIP GUICtrlAVI_Close GUICtrlAVI_Create GUICtrlAVI_Destroy GUICtrlAVI_IsPlaying GUICtrlAVI_Open GUICtrlAVI_OpenEx GUICtrlAVI_Play GUICtrlAVI_Seek GUICtrlAVI_Show GUICtrlAVI_Stop GUICtrlButton_Click GUICtrlButton_Create GUICtrlButton_Destroy GUICtrlButton_Enable GUICtrlButton_GetCheck GUICtrlButton_GetFocus GUICtrlButton_GetIdealSize GUICtrlButton_GetImage GUICtrlButton_GetImageList GUICtrlButton_GetNote GUICtrlButton_GetNoteLength GUICtrlButton_GetSplitInfo GUICtrlButton_GetState GUICtrlButton_GetText GUICtrlButton_GetTextMargin GUICtrlButton_SetCheck GUICtrlButton_SetDontClick GUICtrlButton_SetFocus GUICtrlButton_SetImage GUICtrlButton_SetImageList GUICtrlButton_SetNote GUICtrlButton_SetShield GUICtrlButton_SetSize GUICtrlButton_SetSplitInfo GUICtrlButton_SetState GUICtrlButton_SetStyle GUICtrlButton_SetText GUICtrlButton_SetTextMargin GUICtrlButton_Show GUICtrlComboBoxEx_AddDir GUICtrlComboBoxEx_AddString GUICtrlComboBoxEx_BeginUpdate GUICtrlComboBoxEx_Create GUICtrlComboBoxEx_CreateSolidBitMap GUICtrlComboBoxEx_DeleteString GUICtrlComboBoxEx_Destroy GUICtrlComboBoxEx_EndUpdate GUICtrlComboBoxEx_FindStringExact GUICtrlComboBoxEx_GetComboBoxInfo GUICtrlComboBoxEx_GetComboControl GUICtrlComboBoxEx_GetCount GUICtrlComboBoxEx_GetCurSel GUICtrlComboBoxEx_GetDroppedControlRect GUICtrlComboBoxEx_GetDroppedControlRectEx GUICtrlComboBoxEx_GetDroppedState GUICtrlComboBoxEx_GetDroppedWidth GUICtrlComboBoxEx_GetEditControl GUICtrlComboBoxEx_GetEditSel GUICtrlComboBoxEx_GetEditText GUICtrlComboBoxEx_GetExtendedStyle GUICtrlComboBoxEx_GetExtendedUI GUICtrlComboBoxEx_GetImageList GUICtrlComboBoxEx_GetItem GUICtrlComboBoxEx_GetItemEx GUICtrlComboBoxEx_GetItemHeight GUICtrlComboBoxEx_GetItemImage GUICtrlComboBoxEx_GetItemIndent GUICtrlComboBoxEx_GetItemOverlayImage GUICtrlComboBoxEx_GetItemParam GUICtrlComboBoxEx_GetItemSelectedImage GUICtrlComboBoxEx_GetItemText GUICtrlComboBoxEx_GetItemTextLen GUICtrlComboBoxEx_GetList GUICtrlComboBoxEx_GetListArray GUICtrlComboBoxEx_GetLocale GUICtrlComboBoxEx_GetLocaleCountry GUICtrlComboBoxEx_GetLocaleLang GUICtrlComboBoxEx_GetLocalePrimLang GUICtrlComboBoxEx_GetLocaleSubLang GUICtrlComboBoxEx_GetMinVisible GUICtrlComboBoxEx_GetTopIndex GUICtrlComboBoxEx_GetUnicode GUICtrlComboBoxEx_InitStorage GUICtrlComboBoxEx_InsertString GUICtrlComboBoxEx_LimitText GUICtrlComboBoxEx_ReplaceEditSel GUICtrlComboBoxEx_ResetContent GUICtrlComboBoxEx_SetCurSel GUICtrlComboBoxEx_SetDroppedWidth GUICtrlComboBoxEx_SetEditSel GUICtrlComboBoxEx_SetEditText GUICtrlComboBoxEx_SetExtendedStyle GUICtrlComboBoxEx_SetExtendedUI GUICtrlComboBoxEx_SetImageList GUICtrlComboBoxEx_SetItem GUICtrlComboBoxEx_SetItemEx GUICtrlComboBoxEx_SetItemHeight GUICtrlComboBoxEx_SetItemImage GUICtrlComboBoxEx_SetItemIndent GUICtrlComboBoxEx_SetItemOverlayImage GUICtrlComboBoxEx_SetItemParam GUICtrlComboBoxEx_SetItemSelectedImage GUICtrlComboBoxEx_SetMinVisible GUICtrlComboBoxEx_SetTopIndex GUICtrlComboBoxEx_SetUnicode GUICtrlComboBoxEx_ShowDropDown GUICtrlComboBox_AddDir GUICtrlComboBox_AddString GUICtrlComboBox_AutoComplete GUICtrlComboBox_BeginUpdate GUICtrlComboBox_Create GUICtrlComboBox_DeleteString GUICtrlComboBox_Destroy GUICtrlComboBox_EndUpdate GUICtrlComboBox_FindString GUICtrlComboBox_FindStringExact GUICtrlComboBox_GetComboBoxInfo GUICtrlComboBox_GetCount GUICtrlComboBox_GetCueBanner GUICtrlComboBox_GetCurSel GUICtrlComboBox_GetDroppedControlRect GUICtrlComboBox_GetDroppedControlRectEx GUICtrlComboBox_GetDroppedState GUICtrlComboBox_GetDroppedWidth GUICtrlComboBox_GetEditSel GUICtrlComboBox_GetEditText GUICtrlComboBox_GetExtendedUI GUICtrlComboBox_GetHorizontalExtent GUICtrlComboBox_GetItemHeight GUICtrlComboBox_GetLBText GUICtrlComboBox_GetLBTextLen GUICtrlComboBox_GetList GUICtrlComboBox_GetListArray GUICtrlComboBox_GetLocale GUICtrlComboBox_GetLocaleCountry GUICtrlComboBox_GetLocaleLang GUICtrlComboBox_GetLocalePrimLang GUICtrlComboBox_GetLocaleSubLang GUICtrlComboBox_GetMinVisible GUICtrlComboBox_GetTopIndex GUICtrlComboBox_InitStorage GUICtrlComboBox_InsertString GUICtrlComboBox_LimitText GUICtrlComboBox_ReplaceEditSel GUICtrlComboBox_ResetContent GUICtrlComboBox_SelectString GUICtrlComboBox_SetCueBanner GUICtrlComboBox_SetCurSel GUICtrlComboBox_SetDroppedWidth GUICtrlComboBox_SetEditSel GUICtrlComboBox_SetEditText GUICtrlComboBox_SetExtendedUI GUICtrlComboBox_SetHorizontalExtent GUICtrlComboBox_SetItemHeight GUICtrlComboBox_SetMinVisible GUICtrlComboBox_SetTopIndex GUICtrlComboBox_ShowDropDown GUICtrlDTP_Create GUICtrlDTP_Destroy GUICtrlDTP_GetMCColor GUICtrlDTP_GetMCFont GUICtrlDTP_GetMonthCal GUICtrlDTP_GetRange GUICtrlDTP_GetRangeEx GUICtrlDTP_GetSystemTime GUICtrlDTP_GetSystemTimeEx GUICtrlDTP_SetFormat GUICtrlDTP_SetMCColor GUICtrlDTP_SetMCFont GUICtrlDTP_SetRange GUICtrlDTP_SetRangeEx GUICtrlDTP_SetSystemTime GUICtrlDTP_SetSystemTimeEx GUICtrlEdit_AppendText GUICtrlEdit_BeginUpdate GUICtrlEdit_CanUndo GUICtrlEdit_CharFromPos GUICtrlEdit_Create GUICtrlEdit_Destroy GUICtrlEdit_EmptyUndoBuffer GUICtrlEdit_EndUpdate GUICtrlEdit_Find GUICtrlEdit_FmtLines GUICtrlEdit_GetCueBanner GUICtrlEdit_GetFirstVisibleLine GUICtrlEdit_GetLimitText GUICtrlEdit_GetLine GUICtrlEdit_GetLineCount GUICtrlEdit_GetMargins GUICtrlEdit_GetModify GUICtrlEdit_GetPasswordChar GUICtrlEdit_GetRECT GUICtrlEdit_GetRECTEx GUICtrlEdit_GetSel GUICtrlEdit_GetText GUICtrlEdit_GetTextLen GUICtrlEdit_HideBalloonTip GUICtrlEdit_InsertText GUICtrlEdit_LineFromChar GUICtrlEdit_LineIndex GUICtrlEdit_LineLength GUICtrlEdit_LineScroll GUICtrlEdit_PosFromChar GUICtrlEdit_ReplaceSel GUICtrlEdit_Scroll GUICtrlEdit_SetCueBanner GUICtrlEdit_SetLimitText GUICtrlEdit_SetMargins GUICtrlEdit_SetModify GUICtrlEdit_SetPasswordChar GUICtrlEdit_SetReadOnly GUICtrlEdit_SetRECT GUICtrlEdit_SetRECTEx GUICtrlEdit_SetRECTNP GUICtrlEdit_SetRectNPEx GUICtrlEdit_SetSel GUICtrlEdit_SetTabStops GUICtrlEdit_SetText GUICtrlEdit_ShowBalloonTip GUICtrlEdit_Undo GUICtrlHeader_AddItem GUICtrlHeader_ClearFilter GUICtrlHeader_ClearFilterAll GUICtrlHeader_Create GUICtrlHeader_CreateDragImage GUICtrlHeader_DeleteItem GUICtrlHeader_Destroy GUICtrlHeader_EditFilter GUICtrlHeader_GetBitmapMargin GUICtrlHeader_GetImageList GUICtrlHeader_GetItem GUICtrlHeader_GetItemAlign GUICtrlHeader_GetItemBitmap GUICtrlHeader_GetItemCount GUICtrlHeader_GetItemDisplay GUICtrlHeader_GetItemFlags GUICtrlHeader_GetItemFormat GUICtrlHeader_GetItemImage GUICtrlHeader_GetItemOrder GUICtrlHeader_GetItemParam GUICtrlHeader_GetItemRect GUICtrlHeader_GetItemRectEx GUICtrlHeader_GetItemText GUICtrlHeader_GetItemWidth GUICtrlHeader_GetOrderArray GUICtrlHeader_GetUnicodeFormat GUICtrlHeader_HitTest GUICtrlHeader_InsertItem GUICtrlHeader_Layout GUICtrlHeader_OrderToIndex GUICtrlHeader_SetBitmapMargin GUICtrlHeader_SetFilterChangeTimeout GUICtrlHeader_SetHotDivider GUICtrlHeader_SetImageList GUICtrlHeader_SetItem GUICtrlHeader_SetItemAlign GUICtrlHeader_SetItemBitmap GUICtrlHeader_SetItemDisplay GUICtrlHeader_SetItemFlags GUICtrlHeader_SetItemFormat GUICtrlHeader_SetItemImage GUICtrlHeader_SetItemOrder GUICtrlHeader_SetItemParam GUICtrlHeader_SetItemText GUICtrlHeader_SetItemWidth GUICtrlHeader_SetOrderArray GUICtrlHeader_SetUnicodeFormat GUICtrlIpAddress_ClearAddress GUICtrlIpAddress_Create GUICtrlIpAddress_Destroy GUICtrlIpAddress_Get GUICtrlIpAddress_GetArray GUICtrlIpAddress_GetEx GUICtrlIpAddress_IsBlank GUICtrlIpAddress_Set GUICtrlIpAddress_SetArray GUICtrlIpAddress_SetEx GUICtrlIpAddress_SetFocus GUICtrlIpAddress_SetFont GUICtrlIpAddress_SetRange GUICtrlIpAddress_ShowHide GUICtrlListBox_AddFile GUICtrlListBox_AddString GUICtrlListBox_BeginUpdate GUICtrlListBox_ClickItem GUICtrlListBox_Create GUICtrlListBox_DeleteString GUICtrlListBox_Destroy GUICtrlListBox_Dir GUICtrlListBox_EndUpdate GUICtrlListBox_FindInText GUICtrlListBox_FindString GUICtrlListBox_GetAnchorIndex GUICtrlListBox_GetCaretIndex GUICtrlListBox_GetCount GUICtrlListBox_GetCurSel GUICtrlListBox_GetHorizontalExtent GUICtrlListBox_GetItemData GUICtrlListBox_GetItemHeight GUICtrlListBox_GetItemRect GUICtrlListBox_GetItemRectEx GUICtrlListBox_GetListBoxInfo GUICtrlListBox_GetLocale GUICtrlListBox_GetLocaleCountry GUICtrlListBox_GetLocaleLang GUICtrlListBox_GetLocalePrimLang GUICtrlListBox_GetLocaleSubLang GUICtrlListBox_GetSel GUICtrlListBox_GetSelCount GUICtrlListBox_GetSelItems GUICtrlListBox_GetSelItemsText GUICtrlListBox_GetText GUICtrlListBox_GetTextLen GUICtrlListBox_GetTopIndex GUICtrlListBox_InitStorage GUICtrlListBox_InsertString GUICtrlListBox_ItemFromPoint GUICtrlListBox_ReplaceString GUICtrlListBox_ResetContent GUICtrlListBox_SelectString GUICtrlListBox_SelItemRange GUICtrlListBox_SelItemRangeEx GUICtrlListBox_SetAnchorIndex GUICtrlListBox_SetCaretIndex GUICtrlListBox_SetColumnWidth GUICtrlListBox_SetCurSel GUICtrlListBox_SetHorizontalExtent GUICtrlListBox_SetItemData GUICtrlListBox_SetItemHeight GUICtrlListBox_SetLocale GUICtrlListBox_SetSel GUICtrlListBox_SetTabStops GUICtrlListBox_SetTopIndex GUICtrlListBox_Sort GUICtrlListBox_SwapString GUICtrlListBox_UpdateHScroll GUICtrlListView_AddArray GUICtrlListView_AddColumn GUICtrlListView_AddItem GUICtrlListView_AddSubItem GUICtrlListView_ApproximateViewHeight GUICtrlListView_ApproximateViewRect GUICtrlListView_ApproximateViewWidth GUICtrlListView_Arrange GUICtrlListView_BeginUpdate GUICtrlListView_CancelEditLabel GUICtrlListView_ClickItem GUICtrlListView_CopyItems GUICtrlListView_Create GUICtrlListView_CreateDragImage GUICtrlListView_CreateSolidBitMap GUICtrlListView_DeleteAllItems GUICtrlListView_DeleteColumn GUICtrlListView_DeleteItem GUICtrlListView_DeleteItemsSelected GUICtrlListView_Destroy GUICtrlListView_DrawDragImage GUICtrlListView_EditLabel GUICtrlListView_EnableGroupView GUICtrlListView_EndUpdate GUICtrlListView_EnsureVisible GUICtrlListView_FindInText GUICtrlListView_FindItem GUICtrlListView_FindNearest GUICtrlListView_FindParam GUICtrlListView_FindText GUICtrlListView_GetBkColor GUICtrlListView_GetBkImage GUICtrlListView_GetCallbackMask GUICtrlListView_GetColumn GUICtrlListView_GetColumnCount GUICtrlListView_GetColumnOrder GUICtrlListView_GetColumnOrderArray GUICtrlListView_GetColumnWidth GUICtrlListView_GetCounterPage GUICtrlListView_GetEditControl GUICtrlListView_GetExtendedListViewStyle GUICtrlListView_GetFocusedGroup GUICtrlListView_GetGroupCount GUICtrlListView_GetGroupInfo GUICtrlListView_GetGroupInfoByIndex GUICtrlListView_GetGroupRect GUICtrlListView_GetGroupViewEnabled GUICtrlListView_GetHeader GUICtrlListView_GetHotCursor GUICtrlListView_GetHotItem GUICtrlListView_GetHoverTime GUICtrlListView_GetImageList GUICtrlListView_GetISearchString GUICtrlListView_GetItem GUICtrlListView_GetItemChecked GUICtrlListView_GetItemCount GUICtrlListView_GetItemCut GUICtrlListView_GetItemDropHilited GUICtrlListView_GetItemEx GUICtrlListView_GetItemFocused GUICtrlListView_GetItemGroupID GUICtrlListView_GetItemImage GUICtrlListView_GetItemIndent GUICtrlListView_GetItemParam GUICtrlListView_GetItemPosition GUICtrlListView_GetItemPositionX GUICtrlListView_GetItemPositionY GUICtrlListView_GetItemRect GUICtrlListView_GetItemRectEx GUICtrlListView_GetItemSelected GUICtrlListView_GetItemSpacing GUICtrlListView_GetItemSpacingX GUICtrlListView_GetItemSpacingY GUICtrlListView_GetItemState GUICtrlListView_GetItemStateImage GUICtrlListView_GetItemText GUICtrlListView_GetItemTextArray GUICtrlListView_GetItemTextString GUICtrlListView_GetNextItem GUICtrlListView_GetNumberOfWorkAreas GUICtrlListView_GetOrigin GUICtrlListView_GetOriginX GUICtrlListView_GetOriginY GUICtrlListView_GetOutlineColor GUICtrlListView_GetSelectedColumn GUICtrlListView_GetSelectedCount GUICtrlListView_GetSelectedIndices GUICtrlListView_GetSelectionMark GUICtrlListView_GetStringWidth GUICtrlListView_GetSubItemRect GUICtrlListView_GetTextBkColor GUICtrlListView_GetTextColor GUICtrlListView_GetToolTips GUICtrlListView_GetTopIndex GUICtrlListView_GetUnicodeFormat GUICtrlListView_GetView GUICtrlListView_GetViewDetails GUICtrlListView_GetViewLarge GUICtrlListView_GetViewList GUICtrlListView_GetViewRect GUICtrlListView_GetViewSmall GUICtrlListView_GetViewTile GUICtrlListView_HideColumn GUICtrlListView_HitTest GUICtrlListView_InsertColumn GUICtrlListView_InsertGroup GUICtrlListView_InsertItem GUICtrlListView_JustifyColumn GUICtrlListView_MapIDToIndex GUICtrlListView_MapIndexToID GUICtrlListView_RedrawItems GUICtrlListView_RegisterSortCallBack GUICtrlListView_RemoveAllGroups GUICtrlListView_RemoveGroup GUICtrlListView_Scroll GUICtrlListView_SetBkColor GUICtrlListView_SetBkImage GUICtrlListView_SetCallBackMask GUICtrlListView_SetColumn GUICtrlListView_SetColumnOrder GUICtrlListView_SetColumnOrderArray GUICtrlListView_SetColumnWidth GUICtrlListView_SetExtendedListViewStyle GUICtrlListView_SetGroupInfo GUICtrlListView_SetHotItem GUICtrlListView_SetHoverTime GUICtrlListView_SetIconSpacing GUICtrlListView_SetImageList GUICtrlListView_SetItem GUICtrlListView_SetItemChecked GUICtrlListView_SetItemCount GUICtrlListView_SetItemCut GUICtrlListView_SetItemDropHilited GUICtrlListView_SetItemEx GUICtrlListView_SetItemFocused GUICtrlListView_SetItemGroupID GUICtrlListView_SetItemImage GUICtrlListView_SetItemIndent GUICtrlListView_SetItemParam GUICtrlListView_SetItemPosition GUICtrlListView_SetItemPosition32 GUICtrlListView_SetItemSelected GUICtrlListView_SetItemState GUICtrlListView_SetItemStateImage GUICtrlListView_SetItemText GUICtrlListView_SetOutlineColor GUICtrlListView_SetSelectedColumn GUICtrlListView_SetSelectionMark GUICtrlListView_SetTextBkColor GUICtrlListView_SetTextColor GUICtrlListView_SetToolTips GUICtrlListView_SetUnicodeFormat GUICtrlListView_SetView GUICtrlListView_SetWorkAreas GUICtrlListView_SimpleSort GUICtrlListView_SortItems GUICtrlListView_SubItemHitTest GUICtrlListView_UnRegisterSortCallBack GUICtrlMenu_AddMenuItem GUICtrlMenu_AppendMenu GUICtrlMenu_CalculatePopupWindowPosition GUICtrlMenu_CheckMenuItem GUICtrlMenu_CheckRadioItem GUICtrlMenu_CreateMenu GUICtrlMenu_CreatePopup GUICtrlMenu_DeleteMenu GUICtrlMenu_DestroyMenu GUICtrlMenu_DrawMenuBar GUICtrlMenu_EnableMenuItem GUICtrlMenu_FindItem GUICtrlMenu_FindParent GUICtrlMenu_GetItemBmp GUICtrlMenu_GetItemBmpChecked GUICtrlMenu_GetItemBmpUnchecked GUICtrlMenu_GetItemChecked GUICtrlMenu_GetItemCount GUICtrlMenu_GetItemData GUICtrlMenu_GetItemDefault GUICtrlMenu_GetItemDisabled GUICtrlMenu_GetItemEnabled GUICtrlMenu_GetItemGrayed GUICtrlMenu_GetItemHighlighted GUICtrlMenu_GetItemID GUICtrlMenu_GetItemInfo GUICtrlMenu_GetItemRect GUICtrlMenu_GetItemRectEx GUICtrlMenu_GetItemState GUICtrlMenu_GetItemStateEx GUICtrlMenu_GetItemSubMenu GUICtrlMenu_GetItemText GUICtrlMenu_GetItemType GUICtrlMenu_GetMenu GUICtrlMenu_GetMenuBackground GUICtrlMenu_GetMenuBarInfo GUICtrlMenu_GetMenuContextHelpID GUICtrlMenu_GetMenuData GUICtrlMenu_GetMenuDefaultItem GUICtrlMenu_GetMenuHeight GUICtrlMenu_GetMenuInfo GUICtrlMenu_GetMenuStyle GUICtrlMenu_GetSystemMenu GUICtrlMenu_InsertMenuItem GUICtrlMenu_InsertMenuItemEx GUICtrlMenu_IsMenu GUICtrlMenu_LoadMenu GUICtrlMenu_MapAccelerator GUICtrlMenu_MenuItemFromPoint GUICtrlMenu_RemoveMenu GUICtrlMenu_SetItemBitmaps GUICtrlMenu_SetItemBmp GUICtrlMenu_SetItemBmpChecked GUICtrlMenu_SetItemBmpUnchecked GUICtrlMenu_SetItemChecked GUICtrlMenu_SetItemData GUICtrlMenu_SetItemDefault GUICtrlMenu_SetItemDisabled GUICtrlMenu_SetItemEnabled GUICtrlMenu_SetItemGrayed GUICtrlMenu_SetItemHighlighted GUICtrlMenu_SetItemID GUICtrlMenu_SetItemInfo GUICtrlMenu_SetItemState GUICtrlMenu_SetItemSubMenu GUICtrlMenu_SetItemText GUICtrlMenu_SetItemType GUICtrlMenu_SetMenu GUICtrlMenu_SetMenuBackground GUICtrlMenu_SetMenuContextHelpID GUICtrlMenu_SetMenuData GUICtrlMenu_SetMenuDefaultItem GUICtrlMenu_SetMenuHeight GUICtrlMenu_SetMenuInfo GUICtrlMenu_SetMenuStyle GUICtrlMenu_TrackPopupMenu GUICtrlMonthCal_Create GUICtrlMonthCal_Destroy GUICtrlMonthCal_GetCalendarBorder GUICtrlMonthCal_GetCalendarCount GUICtrlMonthCal_GetColor GUICtrlMonthCal_GetColorArray GUICtrlMonthCal_GetCurSel GUICtrlMonthCal_GetCurSelStr GUICtrlMonthCal_GetFirstDOW GUICtrlMonthCal_GetFirstDOWStr GUICtrlMonthCal_GetMaxSelCount GUICtrlMonthCal_GetMaxTodayWidth GUICtrlMonthCal_GetMinReqHeight GUICtrlMonthCal_GetMinReqRect GUICtrlMonthCal_GetMinReqRectArray GUICtrlMonthCal_GetMinReqWidth GUICtrlMonthCal_GetMonthDelta GUICtrlMonthCal_GetMonthRange GUICtrlMonthCal_GetMonthRangeMax GUICtrlMonthCal_GetMonthRangeMaxStr GUICtrlMonthCal_GetMonthRangeMin GUICtrlMonthCal_GetMonthRangeMinStr GUICtrlMonthCal_GetMonthRangeSpan GUICtrlMonthCal_GetRange GUICtrlMonthCal_GetRangeMax GUICtrlMonthCal_GetRangeMaxStr GUICtrlMonthCal_GetRangeMin GUICtrlMonthCal_GetRangeMinStr GUICtrlMonthCal_GetSelRange GUICtrlMonthCal_GetSelRangeMax GUICtrlMonthCal_GetSelRangeMaxStr GUICtrlMonthCal_GetSelRangeMin GUICtrlMonthCal_GetSelRangeMinStr GUICtrlMonthCal_GetToday GUICtrlMonthCal_GetTodayStr GUICtrlMonthCal_GetUnicodeFormat GUICtrlMonthCal_HitTest GUICtrlMonthCal_SetCalendarBorder GUICtrlMonthCal_SetColor GUICtrlMonthCal_SetCurSel GUICtrlMonthCal_SetDayState GUICtrlMonthCal_SetFirstDOW GUICtrlMonthCal_SetMaxSelCount GUICtrlMonthCal_SetMonthDelta GUICtrlMonthCal_SetRange GUICtrlMonthCal_SetSelRange GUICtrlMonthCal_SetToday GUICtrlMonthCal_SetUnicodeFormat GUICtrlRebar_AddBand GUICtrlRebar_AddToolBarBand GUICtrlRebar_BeginDrag GUICtrlRebar_Create GUICtrlRebar_DeleteBand GUICtrlRebar_Destroy GUICtrlRebar_DragMove GUICtrlRebar_EndDrag GUICtrlRebar_GetBandBackColor GUICtrlRebar_GetBandBorders GUICtrlRebar_GetBandBordersEx GUICtrlRebar_GetBandChildHandle GUICtrlRebar_GetBandChildSize GUICtrlRebar_GetBandCount GUICtrlRebar_GetBandForeColor GUICtrlRebar_GetBandHeaderSize GUICtrlRebar_GetBandID GUICtrlRebar_GetBandIdealSize GUICtrlRebar_GetBandLength GUICtrlRebar_GetBandLParam GUICtrlRebar_GetBandMargins GUICtrlRebar_GetBandMarginsEx GUICtrlRebar_GetBandRect GUICtrlRebar_GetBandRectEx GUICtrlRebar_GetBandStyle GUICtrlRebar_GetBandStyleBreak GUICtrlRebar_GetBandStyleChildEdge GUICtrlRebar_GetBandStyleFixedBMP GUICtrlRebar_GetBandStyleFixedSize GUICtrlRebar_GetBandStyleGripperAlways GUICtrlRebar_GetBandStyleHidden GUICtrlRebar_GetBandStyleHideTitle GUICtrlRebar_GetBandStyleNoGripper GUICtrlRebar_GetBandStyleTopAlign GUICtrlRebar_GetBandStyleUseChevron GUICtrlRebar_GetBandStyleVariableHeight GUICtrlRebar_GetBandText GUICtrlRebar_GetBarHeight GUICtrlRebar_GetBarInfo GUICtrlRebar_GetBKColor GUICtrlRebar_GetColorScheme GUICtrlRebar_GetRowCount GUICtrlRebar_GetRowHeight GUICtrlRebar_GetTextColor GUICtrlRebar_GetToolTips GUICtrlRebar_GetUnicodeFormat GUICtrlRebar_HitTest GUICtrlRebar_IDToIndex GUICtrlRebar_MaximizeBand GUICtrlRebar_MinimizeBand GUICtrlRebar_MoveBand GUICtrlRebar_SetBandBackColor GUICtrlRebar_SetBandForeColor GUICtrlRebar_SetBandHeaderSize GUICtrlRebar_SetBandID GUICtrlRebar_SetBandIdealSize GUICtrlRebar_SetBandLength GUICtrlRebar_SetBandLParam GUICtrlRebar_SetBandStyle GUICtrlRebar_SetBandStyleBreak GUICtrlRebar_SetBandStyleChildEdge GUICtrlRebar_SetBandStyleFixedBMP GUICtrlRebar_SetBandStyleFixedSize GUICtrlRebar_SetBandStyleGripperAlways GUICtrlRebar_SetBandStyleHidden GUICtrlRebar_SetBandStyleHideTitle GUICtrlRebar_SetBandStyleNoGripper GUICtrlRebar_SetBandStyleTopAlign GUICtrlRebar_SetBandStyleUseChevron GUICtrlRebar_SetBandStyleVariableHeight GUICtrlRebar_SetBandText GUICtrlRebar_SetBarInfo GUICtrlRebar_SetBKColor GUICtrlRebar_SetColorScheme GUICtrlRebar_SetTextColor GUICtrlRebar_SetToolTips GUICtrlRebar_SetUnicodeFormat GUICtrlRebar_ShowBand GUICtrlRichEdit_AppendText GUICtrlRichEdit_AutoDetectURL GUICtrlRichEdit_CanPaste GUICtrlRichEdit_CanPasteSpecial GUICtrlRichEdit_CanRedo GUICtrlRichEdit_CanUndo GUICtrlRichEdit_ChangeFontSize GUICtrlRichEdit_Copy GUICtrlRichEdit_Create GUICtrlRichEdit_Cut GUICtrlRichEdit_Deselect GUICtrlRichEdit_Destroy GUICtrlRichEdit_EmptyUndoBuffer GUICtrlRichEdit_FindText GUICtrlRichEdit_FindTextInRange GUICtrlRichEdit_GetBkColor GUICtrlRichEdit_GetCharAttributes GUICtrlRichEdit_GetCharBkColor GUICtrlRichEdit_GetCharColor GUICtrlRichEdit_GetCharPosFromXY GUICtrlRichEdit_GetCharPosOfNextWord GUICtrlRichEdit_GetCharPosOfPreviousWord GUICtrlRichEdit_GetCharWordBreakInfo GUICtrlRichEdit_GetFirstCharPosOnLine GUICtrlRichEdit_GetFont GUICtrlRichEdit_GetLineCount GUICtrlRichEdit_GetLineLength GUICtrlRichEdit_GetLineNumberFromCharPos GUICtrlRichEdit_GetNextRedo GUICtrlRichEdit_GetNextUndo GUICtrlRichEdit_GetNumberOfFirstVisibleLine GUICtrlRichEdit_GetParaAlignment GUICtrlRichEdit_GetParaAttributes GUICtrlRichEdit_GetParaBorder GUICtrlRichEdit_GetParaIndents GUICtrlRichEdit_GetParaNumbering GUICtrlRichEdit_GetParaShading GUICtrlRichEdit_GetParaSpacing GUICtrlRichEdit_GetParaTabStops GUICtrlRichEdit_GetPasswordChar GUICtrlRichEdit_GetRECT GUICtrlRichEdit_GetScrollPos GUICtrlRichEdit_GetSel GUICtrlRichEdit_GetSelAA GUICtrlRichEdit_GetSelText GUICtrlRichEdit_GetSpaceUnit GUICtrlRichEdit_GetText GUICtrlRichEdit_GetTextInLine GUICtrlRichEdit_GetTextInRange GUICtrlRichEdit_GetTextLength GUICtrlRichEdit_GetVersion GUICtrlRichEdit_GetXYFromCharPos GUICtrlRichEdit_GetZoom GUICtrlRichEdit_GotoCharPos GUICtrlRichEdit_HideSelection GUICtrlRichEdit_InsertText GUICtrlRichEdit_IsModified GUICtrlRichEdit_IsTextSelected GUICtrlRichEdit_Paste GUICtrlRichEdit_PasteSpecial GUICtrlRichEdit_PauseRedraw GUICtrlRichEdit_Redo GUICtrlRichEdit_ReplaceText GUICtrlRichEdit_ResumeRedraw GUICtrlRichEdit_ScrollLineOrPage GUICtrlRichEdit_ScrollLines GUICtrlRichEdit_ScrollToCaret GUICtrlRichEdit_SetBkColor GUICtrlRichEdit_SetCharAttributes GUICtrlRichEdit_SetCharBkColor GUICtrlRichEdit_SetCharColor GUICtrlRichEdit_SetEventMask GUICtrlRichEdit_SetFont GUICtrlRichEdit_SetLimitOnText GUICtrlRichEdit_SetModified GUICtrlRichEdit_SetParaAlignment GUICtrlRichEdit_SetParaAttributes GUICtrlRichEdit_SetParaBorder GUICtrlRichEdit_SetParaIndents GUICtrlRichEdit_SetParaNumbering GUICtrlRichEdit_SetParaShading GUICtrlRichEdit_SetParaSpacing GUICtrlRichEdit_SetParaTabStops GUICtrlRichEdit_SetPasswordChar GUICtrlRichEdit_SetReadOnly GUICtrlRichEdit_SetRECT GUICtrlRichEdit_SetScrollPos GUICtrlRichEdit_SetSel GUICtrlRichEdit_SetSpaceUnit GUICtrlRichEdit_SetTabStops GUICtrlRichEdit_SetText GUICtrlRichEdit_SetUndoLimit GUICtrlRichEdit_SetZoom GUICtrlRichEdit_StreamFromFile GUICtrlRichEdit_StreamFromVar GUICtrlRichEdit_StreamToFile GUICtrlRichEdit_StreamToVar GUICtrlRichEdit_Undo GUICtrlSlider_ClearSel GUICtrlSlider_ClearTics GUICtrlSlider_Create GUICtrlSlider_Destroy GUICtrlSlider_GetBuddy GUICtrlSlider_GetChannelRect GUICtrlSlider_GetChannelRectEx GUICtrlSlider_GetLineSize GUICtrlSlider_GetLogicalTics GUICtrlSlider_GetNumTics GUICtrlSlider_GetPageSize GUICtrlSlider_GetPos GUICtrlSlider_GetRange GUICtrlSlider_GetRangeMax GUICtrlSlider_GetRangeMin GUICtrlSlider_GetSel GUICtrlSlider_GetSelEnd GUICtrlSlider_GetSelStart GUICtrlSlider_GetThumbLength GUICtrlSlider_GetThumbRect GUICtrlSlider_GetThumbRectEx GUICtrlSlider_GetTic GUICtrlSlider_GetTicPos GUICtrlSlider_GetToolTips GUICtrlSlider_GetUnicodeFormat GUICtrlSlider_SetBuddy GUICtrlSlider_SetLineSize GUICtrlSlider_SetPageSize GUICtrlSlider_SetPos GUICtrlSlider_SetRange GUICtrlSlider_SetRangeMax GUICtrlSlider_SetRangeMin GUICtrlSlider_SetSel GUICtrlSlider_SetSelEnd GUICtrlSlider_SetSelStart GUICtrlSlider_SetThumbLength GUICtrlSlider_SetTic GUICtrlSlider_SetTicFreq GUICtrlSlider_SetTipSide GUICtrlSlider_SetToolTips GUICtrlSlider_SetUnicodeFormat GUICtrlStatusBar_Create GUICtrlStatusBar_Destroy GUICtrlStatusBar_EmbedControl GUICtrlStatusBar_GetBorders GUICtrlStatusBar_GetBordersHorz GUICtrlStatusBar_GetBordersRect GUICtrlStatusBar_GetBordersVert GUICtrlStatusBar_GetCount GUICtrlStatusBar_GetHeight GUICtrlStatusBar_GetIcon GUICtrlStatusBar_GetParts GUICtrlStatusBar_GetRect GUICtrlStatusBar_GetRectEx GUICtrlStatusBar_GetText GUICtrlStatusBar_GetTextFlags GUICtrlStatusBar_GetTextLength GUICtrlStatusBar_GetTextLengthEx GUICtrlStatusBar_GetTipText GUICtrlStatusBar_GetUnicodeFormat GUICtrlStatusBar_GetWidth GUICtrlStatusBar_IsSimple GUICtrlStatusBar_Resize GUICtrlStatusBar_SetBkColor GUICtrlStatusBar_SetIcon GUICtrlStatusBar_SetMinHeight GUICtrlStatusBar_SetParts GUICtrlStatusBar_SetSimple GUICtrlStatusBar_SetText GUICtrlStatusBar_SetTipText GUICtrlStatusBar_SetUnicodeFormat GUICtrlStatusBar_ShowHide GUICtrlTab_ActivateTab GUICtrlTab_ClickTab GUICtrlTab_Create GUICtrlTab_DeleteAllItems GUICtrlTab_DeleteItem GUICtrlTab_DeselectAll GUICtrlTab_Destroy GUICtrlTab_FindTab GUICtrlTab_GetCurFocus GUICtrlTab_GetCurSel GUICtrlTab_GetDisplayRect GUICtrlTab_GetDisplayRectEx GUICtrlTab_GetExtendedStyle GUICtrlTab_GetImageList GUICtrlTab_GetItem GUICtrlTab_GetItemCount GUICtrlTab_GetItemImage GUICtrlTab_GetItemParam GUICtrlTab_GetItemRect GUICtrlTab_GetItemRectEx GUICtrlTab_GetItemState GUICtrlTab_GetItemText GUICtrlTab_GetRowCount GUICtrlTab_GetToolTips GUICtrlTab_GetUnicodeFormat GUICtrlTab_HighlightItem GUICtrlTab_HitTest GUICtrlTab_InsertItem GUICtrlTab_RemoveImage GUICtrlTab_SetCurFocus GUICtrlTab_SetCurSel GUICtrlTab_SetExtendedStyle GUICtrlTab_SetImageList GUICtrlTab_SetItem GUICtrlTab_SetItemImage GUICtrlTab_SetItemParam GUICtrlTab_SetItemSize GUICtrlTab_SetItemState GUICtrlTab_SetItemText GUICtrlTab_SetMinTabWidth GUICtrlTab_SetPadding GUICtrlTab_SetToolTips GUICtrlTab_SetUnicodeFormat GUICtrlToolbar_AddBitmap GUICtrlToolbar_AddButton GUICtrlToolbar_AddButtonSep GUICtrlToolbar_AddString GUICtrlToolbar_ButtonCount GUICtrlToolbar_CheckButton GUICtrlToolbar_ClickAccel GUICtrlToolbar_ClickButton GUICtrlToolbar_ClickIndex GUICtrlToolbar_CommandToIndex GUICtrlToolbar_Create GUICtrlToolbar_Customize GUICtrlToolbar_DeleteButton GUICtrlToolbar_Destroy GUICtrlToolbar_EnableButton GUICtrlToolbar_FindToolbar GUICtrlToolbar_GetAnchorHighlight GUICtrlToolbar_GetBitmapFlags GUICtrlToolbar_GetButtonBitmap GUICtrlToolbar_GetButtonInfo GUICtrlToolbar_GetButtonInfoEx GUICtrlToolbar_GetButtonParam GUICtrlToolbar_GetButtonRect GUICtrlToolbar_GetButtonRectEx GUICtrlToolbar_GetButtonSize GUICtrlToolbar_GetButtonState GUICtrlToolbar_GetButtonStyle GUICtrlToolbar_GetButtonText GUICtrlToolbar_GetColorScheme GUICtrlToolbar_GetDisabledImageList GUICtrlToolbar_GetExtendedStyle GUICtrlToolbar_GetHotImageList GUICtrlToolbar_GetHotItem GUICtrlToolbar_GetImageList GUICtrlToolbar_GetInsertMark GUICtrlToolbar_GetInsertMarkColor GUICtrlToolbar_GetMaxSize GUICtrlToolbar_GetMetrics GUICtrlToolbar_GetPadding GUICtrlToolbar_GetRows GUICtrlToolbar_GetString GUICtrlToolbar_GetStyle GUICtrlToolbar_GetStyleAltDrag GUICtrlToolbar_GetStyleCustomErase GUICtrlToolbar_GetStyleFlat GUICtrlToolbar_GetStyleList GUICtrlToolbar_GetStyleRegisterDrop GUICtrlToolbar_GetStyleToolTips GUICtrlToolbar_GetStyleTransparent GUICtrlToolbar_GetStyleWrapable GUICtrlToolbar_GetTextRows GUICtrlToolbar_GetToolTips GUICtrlToolbar_GetUnicodeFormat GUICtrlToolbar_HideButton GUICtrlToolbar_HighlightButton GUICtrlToolbar_HitTest GUICtrlToolbar_IndexToCommand GUICtrlToolbar_InsertButton GUICtrlToolbar_InsertMarkHitTest GUICtrlToolbar_IsButtonChecked GUICtrlToolbar_IsButtonEnabled GUICtrlToolbar_IsButtonHidden GUICtrlToolbar_IsButtonHighlighted GUICtrlToolbar_IsButtonIndeterminate GUICtrlToolbar_IsButtonPressed GUICtrlToolbar_LoadBitmap GUICtrlToolbar_LoadImages GUICtrlToolbar_MapAccelerator GUICtrlToolbar_MoveButton GUICtrlToolbar_PressButton GUICtrlToolbar_SetAnchorHighlight GUICtrlToolbar_SetBitmapSize GUICtrlToolbar_SetButtonBitMap GUICtrlToolbar_SetButtonInfo GUICtrlToolbar_SetButtonInfoEx GUICtrlToolbar_SetButtonParam GUICtrlToolbar_SetButtonSize GUICtrlToolbar_SetButtonState GUICtrlToolbar_SetButtonStyle GUICtrlToolbar_SetButtonText GUICtrlToolbar_SetButtonWidth GUICtrlToolbar_SetCmdID GUICtrlToolbar_SetColorScheme GUICtrlToolbar_SetDisabledImageList GUICtrlToolbar_SetDrawTextFlags GUICtrlToolbar_SetExtendedStyle GUICtrlToolbar_SetHotImageList GUICtrlToolbar_SetHotItem GUICtrlToolbar_SetImageList GUICtrlToolbar_SetIndent GUICtrlToolbar_SetIndeterminate GUICtrlToolbar_SetInsertMark GUICtrlToolbar_SetInsertMarkColor GUICtrlToolbar_SetMaxTextRows GUICtrlToolbar_SetMetrics GUICtrlToolbar_SetPadding GUICtrlToolbar_SetParent GUICtrlToolbar_SetRows GUICtrlToolbar_SetStyle GUICtrlToolbar_SetStyleAltDrag GUICtrlToolbar_SetStyleCustomErase GUICtrlToolbar_SetStyleFlat GUICtrlToolbar_SetStyleList GUICtrlToolbar_SetStyleRegisterDrop GUICtrlToolbar_SetStyleToolTips GUICtrlToolbar_SetStyleTransparent GUICtrlToolbar_SetStyleWrapable GUICtrlToolbar_SetToolTips GUICtrlToolbar_SetUnicodeFormat GUICtrlToolbar_SetWindowTheme GUICtrlTreeView_Add GUICtrlTreeView_AddChild GUICtrlTreeView_AddChildFirst GUICtrlTreeView_AddFirst GUICtrlTreeView_BeginUpdate GUICtrlTreeView_ClickItem GUICtrlTreeView_Create GUICtrlTreeView_CreateDragImage GUICtrlTreeView_CreateSolidBitMap GUICtrlTreeView_Delete GUICtrlTreeView_DeleteAll GUICtrlTreeView_DeleteChildren GUICtrlTreeView_Destroy GUICtrlTreeView_DisplayRect GUICtrlTreeView_DisplayRectEx GUICtrlTreeView_EditText GUICtrlTreeView_EndEdit GUICtrlTreeView_EndUpdate GUICtrlTreeView_EnsureVisible GUICtrlTreeView_Expand GUICtrlTreeView_ExpandedOnce GUICtrlTreeView_FindItem GUICtrlTreeView_FindItemEx GUICtrlTreeView_GetBkColor GUICtrlTreeView_GetBold GUICtrlTreeView_GetChecked GUICtrlTreeView_GetChildCount GUICtrlTreeView_GetChildren GUICtrlTreeView_GetCount GUICtrlTreeView_GetCut GUICtrlTreeView_GetDropTarget GUICtrlTreeView_GetEditControl GUICtrlTreeView_GetExpanded GUICtrlTreeView_GetFirstChild GUICtrlTreeView_GetFirstItem GUICtrlTreeView_GetFirstVisible GUICtrlTreeView_GetFocused GUICtrlTreeView_GetHeight GUICtrlTreeView_GetImageIndex GUICtrlTreeView_GetImageListIconHandle GUICtrlTreeView_GetIndent GUICtrlTreeView_GetInsertMarkColor GUICtrlTreeView_GetISearchString GUICtrlTreeView_GetItemByIndex GUICtrlTreeView_GetItemHandle GUICtrlTreeView_GetItemParam GUICtrlTreeView_GetLastChild GUICtrlTreeView_GetLineColor GUICtrlTreeView_GetNext GUICtrlTreeView_GetNextChild GUICtrlTreeView_GetNextSibling GUICtrlTreeView_GetNextVisible GUICtrlTreeView_GetNormalImageList GUICtrlTreeView_GetParentHandle GUICtrlTreeView_GetParentParam GUICtrlTreeView_GetPrev GUICtrlTreeView_GetPrevChild GUICtrlTreeView_GetPrevSibling GUICtrlTreeView_GetPrevVisible GUICtrlTreeView_GetScrollTime GUICtrlTreeView_GetSelected GUICtrlTreeView_GetSelectedImageIndex GUICtrlTreeView_GetSelection GUICtrlTreeView_GetSiblingCount GUICtrlTreeView_GetState GUICtrlTreeView_GetStateImageIndex GUICtrlTreeView_GetStateImageList GUICtrlTreeView_GetText GUICtrlTreeView_GetTextColor GUICtrlTreeView_GetToolTips GUICtrlTreeView_GetTree GUICtrlTreeView_GetUnicodeFormat GUICtrlTreeView_GetVisible GUICtrlTreeView_GetVisibleCount GUICtrlTreeView_HitTest GUICtrlTreeView_HitTestEx GUICtrlTreeView_HitTestItem GUICtrlTreeView_Index GUICtrlTreeView_InsertItem GUICtrlTreeView_IsFirstItem GUICtrlTreeView_IsParent GUICtrlTreeView_Level GUICtrlTreeView_SelectItem GUICtrlTreeView_SelectItemByIndex GUICtrlTreeView_SetBkColor GUICtrlTreeView_SetBold GUICtrlTreeView_SetChecked GUICtrlTreeView_SetCheckedByIndex GUICtrlTreeView_SetChildren GUICtrlTreeView_SetCut GUICtrlTreeView_SetDropTarget GUICtrlTreeView_SetFocused GUICtrlTreeView_SetHeight GUICtrlTreeView_SetIcon GUICtrlTreeView_SetImageIndex GUICtrlTreeView_SetIndent GUICtrlTreeView_SetInsertMark GUICtrlTreeView_SetInsertMarkColor GUICtrlTreeView_SetItemHeight GUICtrlTreeView_SetItemParam GUICtrlTreeView_SetLineColor GUICtrlTreeView_SetNormalImageList GUICtrlTreeView_SetScrollTime GUICtrlTreeView_SetSelected GUICtrlTreeView_SetSelectedImageIndex GUICtrlTreeView_SetState GUICtrlTreeView_SetStateImageIndex GUICtrlTreeView_SetStateImageList GUICtrlTreeView_SetText GUICtrlTreeView_SetTextColor GUICtrlTreeView_SetToolTips GUICtrlTreeView_SetUnicodeFormat GUICtrlTreeView_Sort GUIImageList_Add GUIImageList_AddBitmap GUIImageList_AddIcon GUIImageList_AddMasked GUIImageList_BeginDrag GUIImageList_Copy GUIImageList_Create GUIImageList_Destroy GUIImageList_DestroyIcon GUIImageList_DragEnter GUIImageList_DragLeave GUIImageList_DragMove GUIImageList_Draw GUIImageList_DrawEx GUIImageList_Duplicate GUIImageList_EndDrag GUIImageList_GetBkColor GUIImageList_GetIcon GUIImageList_GetIconHeight GUIImageList_GetIconSize GUIImageList_GetIconSizeEx GUIImageList_GetIconWidth GUIImageList_GetImageCount GUIImageList_GetImageInfoEx GUIImageList_Remove GUIImageList_ReplaceIcon GUIImageList_SetBkColor GUIImageList_SetIconSize GUIImageList_SetImageCount GUIImageList_Swap GUIScrollBars_EnableScrollBar GUIScrollBars_GetScrollBarInfoEx GUIScrollBars_GetScrollBarRect GUIScrollBars_GetScrollBarRGState GUIScrollBars_GetScrollBarXYLineButton GUIScrollBars_GetScrollBarXYThumbBottom GUIScrollBars_GetScrollBarXYThumbTop GUIScrollBars_GetScrollInfo GUIScrollBars_GetScrollInfoEx GUIScrollBars_GetScrollInfoMax GUIScrollBars_GetScrollInfoMin GUIScrollBars_GetScrollInfoPage GUIScrollBars_GetScrollInfoPos GUIScrollBars_GetScrollInfoTrackPos GUIScrollBars_GetScrollPos GUIScrollBars_GetScrollRange GUIScrollBars_Init GUIScrollBars_ScrollWindow GUIScrollBars_SetScrollInfo GUIScrollBars_SetScrollInfoMax GUIScrollBars_SetScrollInfoMin GUIScrollBars_SetScrollInfoPage GUIScrollBars_SetScrollInfoPos GUIScrollBars_SetScrollRange GUIScrollBars_ShowScrollBar GUIToolTip_Activate GUIToolTip_AddTool GUIToolTip_AdjustRect GUIToolTip_BitsToTTF GUIToolTip_Create GUIToolTip_Deactivate GUIToolTip_DelTool GUIToolTip_Destroy GUIToolTip_EnumTools GUIToolTip_GetBubbleHeight GUIToolTip_GetBubbleSize GUIToolTip_GetBubbleWidth GUIToolTip_GetCurrentTool GUIToolTip_GetDelayTime GUIToolTip_GetMargin GUIToolTip_GetMarginEx GUIToolTip_GetMaxTipWidth GUIToolTip_GetText GUIToolTip_GetTipBkColor GUIToolTip_GetTipTextColor GUIToolTip_GetTitleBitMap GUIToolTip_GetTitleText GUIToolTip_GetToolCount GUIToolTip_GetToolInfo GUIToolTip_HitTest GUIToolTip_NewToolRect GUIToolTip_Pop GUIToolTip_PopUp GUIToolTip_SetDelayTime GUIToolTip_SetMargin GUIToolTip_SetMaxTipWidth GUIToolTip_SetTipBkColor GUIToolTip_SetTipTextColor GUIToolTip_SetTitle GUIToolTip_SetToolInfo GUIToolTip_SetWindowTheme GUIToolTip_ToolExists GUIToolTip_ToolToArray GUIToolTip_TrackActivate GUIToolTip_TrackPosition GUIToolTip_Update GUIToolTip_UpdateTipText HexToString IEAction IEAttach IEBodyReadHTML IEBodyReadText IEBodyWriteHTML IECreate IECreateEmbedded IEDocGetObj IEDocInsertHTML IEDocInsertText IEDocReadHTML IEDocWriteHTML IEErrorNotify IEFormElementCheckBoxSelect IEFormElementGetCollection IEFormElementGetObjByName IEFormElementGetValue IEFormElementOptionSelect IEFormElementRadioSelect IEFormElementSetValue IEFormGetCollection IEFormGetObjByName IEFormImageClick IEFormReset IEFormSubmit IEFrameGetCollection IEFrameGetObjByName IEGetObjById IEGetObjByName IEHeadInsertEventScript IEImgClick IEImgGetCollection IEIsFrameSet IELinkClickByIndex IELinkClickByText IELinkGetCollection IELoadWait IELoadWaitTimeout IENavigate IEPropertyGet IEPropertySet IEQuit IETableGetCollection IETableWriteToArray IETagNameAllGetCollection IETagNameGetCollection IE_Example IE_Introduction IE_VersionInfo INetExplorerCapable INetGetSource INetMail INetSmtpMail IsPressed MathCheckDiv Max MemGlobalAlloc MemGlobalFree MemGlobalLock MemGlobalSize MemGlobalUnlock MemMoveMemory MemVirtualAlloc MemVirtualAllocEx MemVirtualFree MemVirtualFreeEx Min MouseTrap NamedPipes_CallNamedPipe NamedPipes_ConnectNamedPipe NamedPipes_CreateNamedPipe NamedPipes_CreatePipe NamedPipes_DisconnectNamedPipe NamedPipes_GetNamedPipeHandleState NamedPipes_GetNamedPipeInfo NamedPipes_PeekNamedPipe NamedPipes_SetNamedPipeHandleState NamedPipes_TransactNamedPipe NamedPipes_WaitNamedPipe Net_Share_ConnectionEnum Net_Share_FileClose Net_Share_FileEnum Net_Share_FileGetInfo Net_Share_PermStr Net_Share_ResourceStr Net_Share_SessionDel Net_Share_SessionEnum Net_Share_SessionGetInfo Net_Share_ShareAdd Net_Share_ShareCheck Net_Share_ShareDel Net_Share_ShareEnum Net_Share_ShareGetInfo Net_Share_ShareSetInfo Net_Share_StatisticsGetSvr Net_Share_StatisticsGetWrk Now NowCalc NowCalcDate NowDate NowTime PathFull PathGetRelative PathMake PathSplit ProcessGetName ProcessGetPriority Radian ReplaceStringInFile RunDos ScreenCapture_Capture ScreenCapture_CaptureWnd ScreenCapture_SaveImage ScreenCapture_SetBMPFormat ScreenCapture_SetJPGQuality ScreenCapture_SetTIFColorDepth ScreenCapture_SetTIFCompression Security__AdjustTokenPrivileges Security__CreateProcessWithToken Security__DuplicateTokenEx Security__GetAccountSid Security__GetLengthSid Security__GetTokenInformation Security__ImpersonateSelf Security__IsValidSid Security__LookupAccountName Security__LookupAccountSid Security__LookupPrivilegeValue Security__OpenProcessToken Security__OpenThreadToken Security__OpenThreadTokenEx Security__SetPrivilege Security__SetTokenInformation Security__SidToStringSid Security__SidTypeStr Security__StringSidToSid SendMessage SendMessageA SetDate SetTime Singleton SoundClose SoundLength SoundOpen SoundPause SoundPlay SoundPos SoundResume SoundSeek SoundStatus SoundStop SQLite_Changes SQLite_Close SQLite_Display2DResult SQLite_Encode SQLite_ErrCode SQLite_ErrMsg SQLite_Escape SQLite_Exec SQLite_FastEncode SQLite_FastEscape SQLite_FetchData SQLite_FetchNames SQLite_GetTable SQLite_GetTable2d SQLite_LastInsertRowID SQLite_LibVersion SQLite_Open SQLite_Query SQLite_QueryFinalize SQLite_QueryReset SQLite_QuerySingleRow SQLite_SafeMode SQLite_SetTimeout SQLite_Shutdown SQLite_SQLiteExe SQLite_Startup SQLite_TotalChanges StringBetween StringExplode StringInsert StringProper StringRepeat StringTitleCase StringToHex TCPIpToName TempFile TicksToTime Timer_Diff Timer_GetIdleTime Timer_GetTimerID Timer_Init Timer_KillAllTimers Timer_KillTimer Timer_SetTimer TimeToTicks VersionCompare viClose viExecCommand viFindGpib viGpibBusReset viGTL viInteractiveControl viOpen viSetAttribute viSetTimeout WeekNumberISO WinAPI_AbortPath WinAPI_ActivateKeyboardLayout WinAPI_AddClipboardFormatListener WinAPI_AddFontMemResourceEx WinAPI_AddFontResourceEx WinAPI_AddIconOverlay WinAPI_AddIconTransparency WinAPI_AddMRUString WinAPI_AdjustBitmap WinAPI_AdjustTokenPrivileges WinAPI_AdjustWindowRectEx WinAPI_AlphaBlend WinAPI_AngleArc WinAPI_AnimateWindow WinAPI_Arc WinAPI_ArcTo WinAPI_ArrayToStruct WinAPI_AssignProcessToJobObject WinAPI_AssocGetPerceivedType WinAPI_AssocQueryString WinAPI_AttachConsole WinAPI_AttachThreadInput WinAPI_BackupRead WinAPI_BackupReadAbort WinAPI_BackupSeek WinAPI_BackupWrite WinAPI_BackupWriteAbort WinAPI_Beep WinAPI_BeginBufferedPaint WinAPI_BeginDeferWindowPos WinAPI_BeginPaint WinAPI_BeginPath WinAPI_BeginUpdateResource WinAPI_BitBlt WinAPI_BringWindowToTop WinAPI_BroadcastSystemMessage WinAPI_BrowseForFolderDlg WinAPI_BufferedPaintClear WinAPI_BufferedPaintInit WinAPI_BufferedPaintSetAlpha WinAPI_BufferedPaintUnInit WinAPI_CallNextHookEx WinAPI_CallWindowProc WinAPI_CallWindowProcW WinAPI_CascadeWindows WinAPI_ChangeWindowMessageFilterEx WinAPI_CharToOem WinAPI_ChildWindowFromPointEx WinAPI_ClientToScreen WinAPI_ClipCursor WinAPI_CloseDesktop WinAPI_CloseEnhMetaFile WinAPI_CloseFigure WinAPI_CloseHandle WinAPI_CloseThemeData WinAPI_CloseWindow WinAPI_CloseWindowStation WinAPI_CLSIDFromProgID WinAPI_CoInitialize WinAPI_ColorAdjustLuma WinAPI_ColorHLSToRGB WinAPI_ColorRGBToHLS WinAPI_CombineRgn WinAPI_CombineTransform WinAPI_CommandLineToArgv WinAPI_CommDlgExtendedError WinAPI_CommDlgExtendedErrorEx WinAPI_CompareString WinAPI_CompressBitmapBits WinAPI_CompressBuffer WinAPI_ComputeCrc32 WinAPI_ConfirmCredentials WinAPI_CopyBitmap WinAPI_CopyCursor WinAPI_CopyEnhMetaFile WinAPI_CopyFileEx WinAPI_CopyIcon WinAPI_CopyImage WinAPI_CopyRect WinAPI_CopyStruct WinAPI_CoTaskMemAlloc WinAPI_CoTaskMemFree WinAPI_CoTaskMemRealloc WinAPI_CoUninitialize WinAPI_Create32BitHBITMAP WinAPI_Create32BitHICON WinAPI_CreateANDBitmap WinAPI_CreateBitmap WinAPI_CreateBitmapIndirect WinAPI_CreateBrushIndirect WinAPI_CreateBuffer WinAPI_CreateBufferFromStruct WinAPI_CreateCaret WinAPI_CreateColorAdjustment WinAPI_CreateCompatibleBitmap WinAPI_CreateCompatibleBitmapEx WinAPI_CreateCompatibleDC WinAPI_CreateDesktop WinAPI_CreateDIB WinAPI_CreateDIBColorTable WinAPI_CreateDIBitmap WinAPI_CreateDIBSection WinAPI_CreateDirectory WinAPI_CreateDirectoryEx WinAPI_CreateEllipticRgn WinAPI_CreateEmptyIcon WinAPI_CreateEnhMetaFile WinAPI_CreateEvent WinAPI_CreateFile WinAPI_CreateFileEx WinAPI_CreateFileMapping WinAPI_CreateFont WinAPI_CreateFontEx WinAPI_CreateFontIndirect WinAPI_CreateGUID WinAPI_CreateHardLink WinAPI_CreateIcon WinAPI_CreateIconFromResourceEx WinAPI_CreateIconIndirect WinAPI_CreateJobObject WinAPI_CreateMargins WinAPI_CreateMRUList WinAPI_CreateMutex WinAPI_CreateNullRgn WinAPI_CreateNumberFormatInfo WinAPI_CreateObjectID WinAPI_CreatePen WinAPI_CreatePoint WinAPI_CreatePolygonRgn WinAPI_CreateProcess WinAPI_CreateProcessWithToken WinAPI_CreateRect WinAPI_CreateRectEx WinAPI_CreateRectRgn WinAPI_CreateRectRgnIndirect WinAPI_CreateRoundRectRgn WinAPI_CreateSemaphore WinAPI_CreateSize WinAPI_CreateSolidBitmap WinAPI_CreateSolidBrush WinAPI_CreateStreamOnHGlobal WinAPI_CreateString WinAPI_CreateSymbolicLink WinAPI_CreateTransform WinAPI_CreateWindowEx WinAPI_CreateWindowStation WinAPI_DecompressBuffer WinAPI_DecryptFile WinAPI_DeferWindowPos WinAPI_DefineDosDevice WinAPI_DefRawInputProc WinAPI_DefSubclassProc WinAPI_DefWindowProc WinAPI_DefWindowProcW WinAPI_DeleteDC WinAPI_DeleteEnhMetaFile WinAPI_DeleteFile WinAPI_DeleteObject WinAPI_DeleteObjectID WinAPI_DeleteVolumeMountPoint WinAPI_DeregisterShellHookWindow WinAPI_DestroyCaret WinAPI_DestroyCursor WinAPI_DestroyIcon WinAPI_DestroyWindow WinAPI_DeviceIoControl WinAPI_DisplayStruct WinAPI_DllGetVersion WinAPI_DllInstall WinAPI_DllUninstall WinAPI_DPtoLP WinAPI_DragAcceptFiles WinAPI_DragFinish WinAPI_DragQueryFileEx WinAPI_DragQueryPoint WinAPI_DrawAnimatedRects WinAPI_DrawBitmap WinAPI_DrawEdge WinAPI_DrawFocusRect WinAPI_DrawFrameControl WinAPI_DrawIcon WinAPI_DrawIconEx WinAPI_DrawLine WinAPI_DrawShadowText WinAPI_DrawText WinAPI_DrawThemeBackground WinAPI_DrawThemeEdge WinAPI_DrawThemeIcon WinAPI_DrawThemeParentBackground WinAPI_DrawThemeText WinAPI_DrawThemeTextEx WinAPI_DuplicateEncryptionInfoFile WinAPI_DuplicateHandle WinAPI_DuplicateTokenEx WinAPI_DwmDefWindowProc WinAPI_DwmEnableBlurBehindWindow WinAPI_DwmEnableComposition WinAPI_DwmExtendFrameIntoClientArea WinAPI_DwmGetColorizationColor WinAPI_DwmGetColorizationParameters WinAPI_DwmGetWindowAttribute WinAPI_DwmInvalidateIconicBitmaps WinAPI_DwmIsCompositionEnabled WinAPI_DwmQueryThumbnailSourceSize WinAPI_DwmRegisterThumbnail WinAPI_DwmSetColorizationParameters WinAPI_DwmSetIconicLivePreviewBitmap WinAPI_DwmSetIconicThumbnail WinAPI_DwmSetWindowAttribute WinAPI_DwmUnregisterThumbnail WinAPI_DwmUpdateThumbnailProperties WinAPI_DWordToFloat WinAPI_DWordToInt WinAPI_EjectMedia WinAPI_Ellipse WinAPI_EmptyWorkingSet WinAPI_EnableWindow WinAPI_EncryptFile WinAPI_EncryptionDisable WinAPI_EndBufferedPaint WinAPI_EndDeferWindowPos WinAPI_EndPaint WinAPI_EndPath WinAPI_EndUpdateResource WinAPI_EnumChildProcess WinAPI_EnumChildWindows WinAPI_EnumDesktops WinAPI_EnumDesktopWindows WinAPI_EnumDeviceDrivers WinAPI_EnumDisplayDevices WinAPI_EnumDisplayMonitors WinAPI_EnumDisplaySettings WinAPI_EnumDllProc WinAPI_EnumFiles WinAPI_EnumFileStreams WinAPI_EnumFontFamilies WinAPI_EnumHardLinks WinAPI_EnumMRUList WinAPI_EnumPageFiles WinAPI_EnumProcessHandles WinAPI_EnumProcessModules WinAPI_EnumProcessThreads WinAPI_EnumProcessWindows WinAPI_EnumRawInputDevices WinAPI_EnumResourceLanguages WinAPI_EnumResourceNames WinAPI_EnumResourceTypes WinAPI_EnumSystemGeoID WinAPI_EnumSystemLocales WinAPI_EnumUILanguages WinAPI_EnumWindows WinAPI_EnumWindowsPopup WinAPI_EnumWindowStations WinAPI_EnumWindowsTop WinAPI_EqualMemory WinAPI_EqualRect WinAPI_EqualRgn WinAPI_ExcludeClipRect WinAPI_ExpandEnvironmentStrings WinAPI_ExtCreatePen WinAPI_ExtCreateRegion WinAPI_ExtFloodFill WinAPI_ExtractIcon WinAPI_ExtractIconEx WinAPI_ExtSelectClipRgn WinAPI_FatalAppExit WinAPI_FatalExit WinAPI_FileEncryptionStatus WinAPI_FileExists WinAPI_FileIconInit WinAPI_FileInUse WinAPI_FillMemory WinAPI_FillPath WinAPI_FillRect WinAPI_FillRgn WinAPI_FindClose WinAPI_FindCloseChangeNotification WinAPI_FindExecutable WinAPI_FindFirstChangeNotification WinAPI_FindFirstFile WinAPI_FindFirstFileName WinAPI_FindFirstStream WinAPI_FindNextChangeNotification WinAPI_FindNextFile WinAPI_FindNextFileName WinAPI_FindNextStream WinAPI_FindResource WinAPI_FindResourceEx WinAPI_FindTextDlg WinAPI_FindWindow WinAPI_FlashWindow WinAPI_FlashWindowEx WinAPI_FlattenPath WinAPI_FloatToDWord WinAPI_FloatToInt WinAPI_FlushFileBuffers WinAPI_FlushFRBuffer WinAPI_FlushViewOfFile WinAPI_FormatDriveDlg WinAPI_FormatMessage WinAPI_FrameRect WinAPI_FrameRgn WinAPI_FreeLibrary WinAPI_FreeMemory WinAPI_FreeMRUList WinAPI_FreeResource WinAPI_GdiComment WinAPI_GetActiveWindow WinAPI_GetAllUsersProfileDirectory WinAPI_GetAncestor WinAPI_GetApplicationRestartSettings WinAPI_GetArcDirection WinAPI_GetAsyncKeyState WinAPI_GetBinaryType WinAPI_GetBitmapBits WinAPI_GetBitmapDimension WinAPI_GetBitmapDimensionEx WinAPI_GetBkColor WinAPI_GetBkMode WinAPI_GetBoundsRect WinAPI_GetBrushOrg WinAPI_GetBufferedPaintBits WinAPI_GetBufferedPaintDC WinAPI_GetBufferedPaintTargetDC WinAPI_GetBufferedPaintTargetRect WinAPI_GetBValue WinAPI_GetCaretBlinkTime WinAPI_GetCaretPos WinAPI_GetCDType WinAPI_GetClassInfoEx WinAPI_GetClassLongEx WinAPI_GetClassName WinAPI_GetClientHeight WinAPI_GetClientRect WinAPI_GetClientWidth WinAPI_GetClipboardSequenceNumber WinAPI_GetClipBox WinAPI_GetClipCursor WinAPI_GetClipRgn WinAPI_GetColorAdjustment WinAPI_GetCompressedFileSize WinAPI_GetCompression WinAPI_GetConnectedDlg WinAPI_GetCurrentDirectory WinAPI_GetCurrentHwProfile WinAPI_GetCurrentObject WinAPI_GetCurrentPosition WinAPI_GetCurrentProcess WinAPI_GetCurrentProcessExplicitAppUserModelID WinAPI_GetCurrentProcessID WinAPI_GetCurrentThemeName WinAPI_GetCurrentThread WinAPI_GetCurrentThreadId WinAPI_GetCursor WinAPI_GetCursorInfo WinAPI_GetDateFormat WinAPI_GetDC WinAPI_GetDCEx WinAPI_GetDefaultPrinter WinAPI_GetDefaultUserProfileDirectory WinAPI_GetDesktopWindow WinAPI_GetDeviceCaps WinAPI_GetDeviceDriverBaseName WinAPI_GetDeviceDriverFileName WinAPI_GetDeviceGammaRamp WinAPI_GetDIBColorTable WinAPI_GetDIBits WinAPI_GetDiskFreeSpaceEx WinAPI_GetDlgCtrlID WinAPI_GetDlgItem WinAPI_GetDllDirectory WinAPI_GetDriveBusType WinAPI_GetDriveGeometryEx WinAPI_GetDriveNumber WinAPI_GetDriveType WinAPI_GetDurationFormat WinAPI_GetEffectiveClientRect WinAPI_GetEnhMetaFile WinAPI_GetEnhMetaFileBits WinAPI_GetEnhMetaFileDescription WinAPI_GetEnhMetaFileDimension WinAPI_GetEnhMetaFileHeader WinAPI_GetErrorMessage WinAPI_GetErrorMode WinAPI_GetExitCodeProcess WinAPI_GetExtended WinAPI_GetFileAttributes WinAPI_GetFileID WinAPI_GetFileInformationByHandle WinAPI_GetFileInformationByHandleEx WinAPI_GetFilePointerEx WinAPI_GetFileSizeEx WinAPI_GetFileSizeOnDisk WinAPI_GetFileTitle WinAPI_GetFileType WinAPI_GetFileVersionInfo WinAPI_GetFinalPathNameByHandle WinAPI_GetFinalPathNameByHandleEx WinAPI_GetFocus WinAPI_GetFontMemoryResourceInfo WinAPI_GetFontName WinAPI_GetFontResourceInfo WinAPI_GetForegroundWindow WinAPI_GetFRBuffer WinAPI_GetFullPathName WinAPI_GetGeoInfo WinAPI_GetGlyphOutline WinAPI_GetGraphicsMode WinAPI_GetGuiResources WinAPI_GetGUIThreadInfo WinAPI_GetGValue WinAPI_GetHandleInformation WinAPI_GetHGlobalFromStream WinAPI_GetIconDimension WinAPI_GetIconInfo WinAPI_GetIconInfoEx WinAPI_GetIdleTime WinAPI_GetKeyboardLayout WinAPI_GetKeyboardLayoutList WinAPI_GetKeyboardState WinAPI_GetKeyboardType WinAPI_GetKeyNameText WinAPI_GetKeyState WinAPI_GetLastActivePopup WinAPI_GetLastError WinAPI_GetLastErrorMessage WinAPI_GetLayeredWindowAttributes WinAPI_GetLocaleInfo WinAPI_GetLogicalDrives WinAPI_GetMapMode WinAPI_GetMemorySize WinAPI_GetMessageExtraInfo WinAPI_GetModuleFileNameEx WinAPI_GetModuleHandle WinAPI_GetModuleHandleEx WinAPI_GetModuleInformation WinAPI_GetMonitorInfo WinAPI_GetMousePos WinAPI_GetMousePosX WinAPI_GetMousePosY WinAPI_GetMUILanguage WinAPI_GetNumberFormat WinAPI_GetObject WinAPI_GetObjectID WinAPI_GetObjectInfoByHandle WinAPI_GetObjectNameByHandle WinAPI_GetObjectType WinAPI_GetOpenFileName WinAPI_GetOutlineTextMetrics WinAPI_GetOverlappedResult WinAPI_GetParent WinAPI_GetParentProcess WinAPI_GetPerformanceInfo WinAPI_GetPEType WinAPI_GetPhysicallyInstalledSystemMemory WinAPI_GetPixel WinAPI_GetPolyFillMode WinAPI_GetPosFromRect WinAPI_GetPriorityClass WinAPI_GetProcAddress WinAPI_GetProcessAffinityMask WinAPI_GetProcessCommandLine WinAPI_GetProcessFileName WinAPI_GetProcessHandleCount WinAPI_GetProcessID WinAPI_GetProcessIoCounters WinAPI_GetProcessMemoryInfo WinAPI_GetProcessName WinAPI_GetProcessShutdownParameters WinAPI_GetProcessTimes WinAPI_GetProcessUser WinAPI_GetProcessWindowStation WinAPI_GetProcessWorkingDirectory WinAPI_GetProfilesDirectory WinAPI_GetPwrCapabilities WinAPI_GetRawInputBuffer WinAPI_GetRawInputBufferLength WinAPI_GetRawInputData WinAPI_GetRawInputDeviceInfo WinAPI_GetRegionData WinAPI_GetRegisteredRawInputDevices WinAPI_GetRegKeyNameByHandle WinAPI_GetRgnBox WinAPI_GetROP2 WinAPI_GetRValue WinAPI_GetSaveFileName WinAPI_GetShellWindow WinAPI_GetStartupInfo WinAPI_GetStdHandle WinAPI_GetStockObject WinAPI_GetStretchBltMode WinAPI_GetString WinAPI_GetSysColor WinAPI_GetSysColorBrush WinAPI_GetSystemDefaultLangID WinAPI_GetSystemDefaultLCID WinAPI_GetSystemDefaultUILanguage WinAPI_GetSystemDEPPolicy WinAPI_GetSystemInfo WinAPI_GetSystemMetrics WinAPI_GetSystemPowerStatus WinAPI_GetSystemTimes WinAPI_GetSystemWow64Directory WinAPI_GetTabbedTextExtent WinAPI_GetTempFileName WinAPI_GetTextAlign WinAPI_GetTextCharacterExtra WinAPI_GetTextColor WinAPI_GetTextExtentPoint32 WinAPI_GetTextFace WinAPI_GetTextMetrics WinAPI_GetThemeAppProperties WinAPI_GetThemeBackgroundContentRect WinAPI_GetThemeBackgroundExtent WinAPI_GetThemeBackgroundRegion WinAPI_GetThemeBitmap WinAPI_GetThemeBool WinAPI_GetThemeColor WinAPI_GetThemeDocumentationProperty WinAPI_GetThemeEnumValue WinAPI_GetThemeFilename WinAPI_GetThemeFont WinAPI_GetThemeInt WinAPI_GetThemeMargins WinAPI_GetThemeMetric WinAPI_GetThemePartSize WinAPI_GetThemePosition WinAPI_GetThemePropertyOrigin WinAPI_GetThemeRect WinAPI_GetThemeString WinAPI_GetThemeSysBool WinAPI_GetThemeSysColor WinAPI_GetThemeSysColorBrush WinAPI_GetThemeSysFont WinAPI_GetThemeSysInt WinAPI_GetThemeSysSize WinAPI_GetThemeSysString WinAPI_GetThemeTextExtent WinAPI_GetThemeTextMetrics WinAPI_GetThemeTransitionDuration WinAPI_GetThreadDesktop WinAPI_GetThreadErrorMode WinAPI_GetThreadLocale WinAPI_GetThreadUILanguage WinAPI_GetTickCount WinAPI_GetTickCount64 WinAPI_GetTimeFormat WinAPI_GetTopWindow WinAPI_GetUDFColorMode WinAPI_GetUpdateRect WinAPI_GetUpdateRgn WinAPI_GetUserDefaultLangID WinAPI_GetUserDefaultLCID WinAPI_GetUserDefaultUILanguage WinAPI_GetUserGeoID WinAPI_GetUserObjectInformation WinAPI_GetVersion WinAPI_GetVersionEx WinAPI_GetVolumeInformation WinAPI_GetVolumeInformationByHandle WinAPI_GetVolumeNameForVolumeMountPoint WinAPI_GetWindow WinAPI_GetWindowDC WinAPI_GetWindowDisplayAffinity WinAPI_GetWindowExt WinAPI_GetWindowFileName WinAPI_GetWindowHeight WinAPI_GetWindowInfo WinAPI_GetWindowLong WinAPI_GetWindowOrg WinAPI_GetWindowPlacement WinAPI_GetWindowRect WinAPI_GetWindowRgn WinAPI_GetWindowRgnBox WinAPI_GetWindowSubclass WinAPI_GetWindowText WinAPI_GetWindowTheme WinAPI_GetWindowThreadProcessId WinAPI_GetWindowWidth WinAPI_GetWorkArea WinAPI_GetWorldTransform WinAPI_GetXYFromPoint WinAPI_GlobalMemoryStatus WinAPI_GradientFill WinAPI_GUIDFromString WinAPI_GUIDFromStringEx WinAPI_HashData WinAPI_HashString WinAPI_HiByte WinAPI_HideCaret WinAPI_HiDWord WinAPI_HiWord WinAPI_InflateRect WinAPI_InitMUILanguage WinAPI_InProcess WinAPI_IntersectClipRect WinAPI_IntersectRect WinAPI_IntToDWord WinAPI_IntToFloat WinAPI_InvalidateRect WinAPI_InvalidateRgn WinAPI_InvertANDBitmap WinAPI_InvertColor WinAPI_InvertRect WinAPI_InvertRgn WinAPI_IOCTL WinAPI_IsAlphaBitmap WinAPI_IsBadCodePtr WinAPI_IsBadReadPtr WinAPI_IsBadStringPtr WinAPI_IsBadWritePtr WinAPI_IsChild WinAPI_IsClassName WinAPI_IsDoorOpen WinAPI_IsElevated WinAPI_IsHungAppWindow WinAPI_IsIconic WinAPI_IsInternetConnected WinAPI_IsLoadKBLayout WinAPI_IsMemory WinAPI_IsNameInExpression WinAPI_IsNetworkAlive WinAPI_IsPathShared WinAPI_IsProcessInJob WinAPI_IsProcessorFeaturePresent WinAPI_IsRectEmpty WinAPI_IsThemeActive WinAPI_IsThemeBackgroundPartiallyTransparent WinAPI_IsThemePartDefined WinAPI_IsValidLocale WinAPI_IsWindow WinAPI_IsWindowEnabled WinAPI_IsWindowUnicode WinAPI_IsWindowVisible WinAPI_IsWow64Process WinAPI_IsWritable WinAPI_IsZoomed WinAPI_Keybd_Event WinAPI_KillTimer WinAPI_LineDDA WinAPI_LineTo WinAPI_LoadBitmap WinAPI_LoadCursor WinAPI_LoadCursorFromFile WinAPI_LoadIcon WinAPI_LoadIconMetric WinAPI_LoadIconWithScaleDown WinAPI_LoadImage WinAPI_LoadIndirectString WinAPI_LoadKeyboardLayout WinAPI_LoadLibrary WinAPI_LoadLibraryEx WinAPI_LoadMedia WinAPI_LoadResource WinAPI_LoadShell32Icon WinAPI_LoadString WinAPI_LoadStringEx WinAPI_LoByte WinAPI_LocalFree WinAPI_LockDevice WinAPI_LockFile WinAPI_LockResource WinAPI_LockWindowUpdate WinAPI_LockWorkStation WinAPI_LoDWord WinAPI_LongMid WinAPI_LookupIconIdFromDirectoryEx WinAPI_LoWord WinAPI_LPtoDP WinAPI_MAKELANGID WinAPI_MAKELCID WinAPI_MakeLong WinAPI_MakeQWord WinAPI_MakeWord WinAPI_MapViewOfFile WinAPI_MapVirtualKey WinAPI_MaskBlt WinAPI_MessageBeep WinAPI_MessageBoxCheck WinAPI_MessageBoxIndirect WinAPI_MirrorIcon WinAPI_ModifyWorldTransform WinAPI_MonitorFromPoint WinAPI_MonitorFromRect WinAPI_MonitorFromWindow WinAPI_Mouse_Event WinAPI_MoveFileEx WinAPI_MoveMemory WinAPI_MoveTo WinAPI_MoveToEx WinAPI_MoveWindow WinAPI_MsgBox WinAPI_MulDiv WinAPI_MultiByteToWideChar WinAPI_MultiByteToWideCharEx WinAPI_NtStatusToDosError WinAPI_OemToChar WinAPI_OffsetClipRgn WinAPI_OffsetPoints WinAPI_OffsetRect WinAPI_OffsetRgn WinAPI_OffsetWindowOrg WinAPI_OpenDesktop WinAPI_OpenFileById WinAPI_OpenFileDlg WinAPI_OpenFileMapping WinAPI_OpenIcon WinAPI_OpenInputDesktop WinAPI_OpenJobObject WinAPI_OpenMutex WinAPI_OpenProcess WinAPI_OpenProcessToken WinAPI_OpenSemaphore WinAPI_OpenThemeData WinAPI_OpenWindowStation WinAPI_PageSetupDlg WinAPI_PaintDesktop WinAPI_PaintRgn WinAPI_ParseURL WinAPI_ParseUserName WinAPI_PatBlt WinAPI_PathAddBackslash WinAPI_PathAddExtension WinAPI_PathAppend WinAPI_PathBuildRoot WinAPI_PathCanonicalize WinAPI_PathCommonPrefix WinAPI_PathCompactPath WinAPI_PathCompactPathEx WinAPI_PathCreateFromUrl WinAPI_PathFindExtension WinAPI_PathFindFileName WinAPI_PathFindNextComponent WinAPI_PathFindOnPath WinAPI_PathGetArgs WinAPI_PathGetCharType WinAPI_PathGetDriveNumber WinAPI_PathIsContentType WinAPI_PathIsDirectory WinAPI_PathIsDirectoryEmpty WinAPI_PathIsExe WinAPI_PathIsFileSpec WinAPI_PathIsLFNFileSpec WinAPI_PathIsRelative WinAPI_PathIsRoot WinAPI_PathIsSameRoot WinAPI_PathIsSystemFolder WinAPI_PathIsUNC WinAPI_PathIsUNCServer WinAPI_PathIsUNCServerShare WinAPI_PathMakeSystemFolder WinAPI_PathMatchSpec WinAPI_PathParseIconLocation WinAPI_PathRelativePathTo WinAPI_PathRemoveArgs WinAPI_PathRemoveBackslash WinAPI_PathRemoveExtension WinAPI_PathRemoveFileSpec WinAPI_PathRenameExtension WinAPI_PathSearchAndQualify WinAPI_PathSkipRoot WinAPI_PathStripPath WinAPI_PathStripToRoot WinAPI_PathToRegion WinAPI_PathUndecorate WinAPI_PathUnExpandEnvStrings WinAPI_PathUnmakeSystemFolder WinAPI_PathUnquoteSpaces WinAPI_PathYetAnotherMakeUniqueName WinAPI_PickIconDlg WinAPI_PlayEnhMetaFile WinAPI_PlaySound WinAPI_PlgBlt WinAPI_PointFromRect WinAPI_PolyBezier WinAPI_PolyBezierTo WinAPI_PolyDraw WinAPI_Polygon WinAPI_PostMessage WinAPI_PrimaryLangId WinAPI_PrintDlg WinAPI_PrintDlgEx WinAPI_PrintWindow WinAPI_ProgIDFromCLSID WinAPI_PtInRect WinAPI_PtInRectEx WinAPI_PtInRegion WinAPI_PtVisible WinAPI_QueryDosDevice WinAPI_QueryInformationJobObject WinAPI_QueryPerformanceCounter WinAPI_QueryPerformanceFrequency WinAPI_RadialGradientFill WinAPI_ReadDirectoryChanges WinAPI_ReadFile WinAPI_ReadProcessMemory WinAPI_Rectangle WinAPI_RectInRegion WinAPI_RectIsEmpty WinAPI_RectVisible WinAPI_RedrawWindow WinAPI_RegCloseKey WinAPI_RegConnectRegistry WinAPI_RegCopyTree WinAPI_RegCopyTreeEx WinAPI_RegCreateKey WinAPI_RegDeleteEmptyKey WinAPI_RegDeleteKey WinAPI_RegDeleteKeyValue WinAPI_RegDeleteTree WinAPI_RegDeleteTreeEx WinAPI_RegDeleteValue WinAPI_RegDisableReflectionKey WinAPI_RegDuplicateHKey WinAPI_RegEnableReflectionKey WinAPI_RegEnumKey WinAPI_RegEnumValue WinAPI_RegFlushKey WinAPI_RegisterApplicationRestart WinAPI_RegisterClass WinAPI_RegisterClassEx WinAPI_RegisterHotKey WinAPI_RegisterPowerSettingNotification WinAPI_RegisterRawInputDevices WinAPI_RegisterShellHookWindow WinAPI_RegisterWindowMessage WinAPI_RegLoadMUIString WinAPI_RegNotifyChangeKeyValue WinAPI_RegOpenKey WinAPI_RegQueryInfoKey WinAPI_RegQueryLastWriteTime WinAPI_RegQueryMultipleValues WinAPI_RegQueryReflectionKey WinAPI_RegQueryValue WinAPI_RegRestoreKey WinAPI_RegSaveKey WinAPI_RegSetValue WinAPI_ReleaseCapture WinAPI_ReleaseDC WinAPI_ReleaseMutex WinAPI_ReleaseSemaphore WinAPI_ReleaseStream WinAPI_RemoveClipboardFormatListener WinAPI_RemoveDirectory WinAPI_RemoveFontMemResourceEx WinAPI_RemoveFontResourceEx WinAPI_RemoveWindowSubclass WinAPI_ReOpenFile WinAPI_ReplaceFile WinAPI_ReplaceTextDlg WinAPI_ResetEvent WinAPI_RestartDlg WinAPI_RestoreDC WinAPI_RGB WinAPI_RotatePoints WinAPI_RoundRect WinAPI_SaveDC WinAPI_SaveFileDlg WinAPI_SaveHBITMAPToFile WinAPI_SaveHICONToFile WinAPI_ScaleWindowExt WinAPI_ScreenToClient WinAPI_SearchPath WinAPI_SelectClipPath WinAPI_SelectClipRgn WinAPI_SelectObject WinAPI_SendMessageTimeout WinAPI_SetActiveWindow WinAPI_SetArcDirection WinAPI_SetBitmapBits WinAPI_SetBitmapDimensionEx WinAPI_SetBkColor WinAPI_SetBkMode WinAPI_SetBoundsRect WinAPI_SetBrushOrg WinAPI_SetCapture WinAPI_SetCaretBlinkTime WinAPI_SetCaretPos WinAPI_SetClassLongEx WinAPI_SetColorAdjustment WinAPI_SetCompression WinAPI_SetCurrentDirectory WinAPI_SetCurrentProcessExplicitAppUserModelID WinAPI_SetCursor WinAPI_SetDCBrushColor WinAPI_SetDCPenColor WinAPI_SetDefaultPrinter WinAPI_SetDeviceGammaRamp WinAPI_SetDIBColorTable WinAPI_SetDIBits WinAPI_SetDIBitsToDevice WinAPI_SetDllDirectory WinAPI_SetEndOfFile WinAPI_SetEnhMetaFileBits WinAPI_SetErrorMode WinAPI_SetEvent WinAPI_SetFileAttributes WinAPI_SetFileInformationByHandleEx WinAPI_SetFilePointer WinAPI_SetFilePointerEx WinAPI_SetFileShortName WinAPI_SetFileValidData WinAPI_SetFocus WinAPI_SetFont WinAPI_SetForegroundWindow WinAPI_SetFRBuffer WinAPI_SetGraphicsMode WinAPI_SetHandleInformation WinAPI_SetInformationJobObject WinAPI_SetKeyboardLayout WinAPI_SetKeyboardState WinAPI_SetLastError WinAPI_SetLayeredWindowAttributes WinAPI_SetLocaleInfo WinAPI_SetMapMode WinAPI_SetMessageExtraInfo WinAPI_SetParent WinAPI_SetPixel WinAPI_SetPolyFillMode WinAPI_SetPriorityClass WinAPI_SetProcessAffinityMask WinAPI_SetProcessShutdownParameters WinAPI_SetProcessWindowStation WinAPI_SetRectRgn WinAPI_SetROP2 WinAPI_SetSearchPathMode WinAPI_SetStretchBltMode WinAPI_SetSysColors WinAPI_SetSystemCursor WinAPI_SetTextAlign WinAPI_SetTextCharacterExtra WinAPI_SetTextColor WinAPI_SetTextJustification WinAPI_SetThemeAppProperties WinAPI_SetThreadDesktop WinAPI_SetThreadErrorMode WinAPI_SetThreadExecutionState WinAPI_SetThreadLocale WinAPI_SetThreadUILanguage WinAPI_SetTimer WinAPI_SetUDFColorMode WinAPI_SetUserGeoID WinAPI_SetUserObjectInformation WinAPI_SetVolumeMountPoint WinAPI_SetWindowDisplayAffinity WinAPI_SetWindowExt WinAPI_SetWindowLong WinAPI_SetWindowOrg WinAPI_SetWindowPlacement WinAPI_SetWindowPos WinAPI_SetWindowRgn WinAPI_SetWindowsHookEx WinAPI_SetWindowSubclass WinAPI_SetWindowText WinAPI_SetWindowTheme WinAPI_SetWinEventHook WinAPI_SetWorldTransform WinAPI_SfcIsFileProtected WinAPI_SfcIsKeyProtected WinAPI_ShellAboutDlg WinAPI_ShellAddToRecentDocs WinAPI_ShellChangeNotify WinAPI_ShellChangeNotifyDeregister WinAPI_ShellChangeNotifyRegister WinAPI_ShellCreateDirectory WinAPI_ShellEmptyRecycleBin WinAPI_ShellExecute WinAPI_ShellExecuteEx WinAPI_ShellExtractAssociatedIcon WinAPI_ShellExtractIcon WinAPI_ShellFileOperation WinAPI_ShellFlushSFCache WinAPI_ShellGetFileInfo WinAPI_ShellGetIconOverlayIndex WinAPI_ShellGetImageList WinAPI_ShellGetKnownFolderIDList WinAPI_ShellGetKnownFolderPath WinAPI_ShellGetLocalizedName WinAPI_ShellGetPathFromIDList WinAPI_ShellGetSetFolderCustomSettings WinAPI_ShellGetSettings WinAPI_ShellGetSpecialFolderLocation WinAPI_ShellGetSpecialFolderPath WinAPI_ShellGetStockIconInfo WinAPI_ShellILCreateFromPath WinAPI_ShellNotifyIcon WinAPI_ShellNotifyIconGetRect WinAPI_ShellObjectProperties WinAPI_ShellOpenFolderAndSelectItems WinAPI_ShellOpenWithDlg WinAPI_ShellQueryRecycleBin WinAPI_ShellQueryUserNotificationState WinAPI_ShellRemoveLocalizedName WinAPI_ShellRestricted WinAPI_ShellSetKnownFolderPath WinAPI_ShellSetLocalizedName WinAPI_ShellSetSettings WinAPI_ShellStartNetConnectionDlg WinAPI_ShellUpdateImage WinAPI_ShellUserAuthenticationDlg WinAPI_ShellUserAuthenticationDlgEx WinAPI_ShortToWord WinAPI_ShowCaret WinAPI_ShowCursor WinAPI_ShowError WinAPI_ShowLastError WinAPI_ShowMsg WinAPI_ShowOwnedPopups WinAPI_ShowWindow WinAPI_ShutdownBlockReasonCreate WinAPI_ShutdownBlockReasonDestroy WinAPI_ShutdownBlockReasonQuery WinAPI_SizeOfResource WinAPI_StretchBlt WinAPI_StretchDIBits WinAPI_StrFormatByteSize WinAPI_StrFormatByteSizeEx WinAPI_StrFormatKBSize WinAPI_StrFromTimeInterval WinAPI_StringFromGUID WinAPI_StringLenA WinAPI_StringLenW WinAPI_StrLen WinAPI_StrokeAndFillPath WinAPI_StrokePath WinAPI_StructToArray WinAPI_SubLangId WinAPI_SubtractRect WinAPI_SwapDWord WinAPI_SwapQWord WinAPI_SwapWord WinAPI_SwitchColor WinAPI_SwitchDesktop WinAPI_SwitchToThisWindow WinAPI_SystemParametersInfo WinAPI_TabbedTextOut WinAPI_TerminateJobObject WinAPI_TerminateProcess WinAPI_TextOut WinAPI_TileWindows WinAPI_TrackMouseEvent WinAPI_TransparentBlt WinAPI_TwipsPerPixelX WinAPI_TwipsPerPixelY WinAPI_UnhookWindowsHookEx WinAPI_UnhookWinEvent WinAPI_UnionRect WinAPI_UnionStruct WinAPI_UniqueHardwareID WinAPI_UnloadKeyboardLayout WinAPI_UnlockFile WinAPI_UnmapViewOfFile WinAPI_UnregisterApplicationRestart WinAPI_UnregisterClass WinAPI_UnregisterHotKey WinAPI_UnregisterPowerSettingNotification WinAPI_UpdateLayeredWindow WinAPI_UpdateLayeredWindowEx WinAPI_UpdateLayeredWindowIndirect WinAPI_UpdateResource WinAPI_UpdateWindow WinAPI_UrlApplyScheme WinAPI_UrlCanonicalize WinAPI_UrlCombine WinAPI_UrlCompare WinAPI_UrlCreateFromPath WinAPI_UrlFixup WinAPI_UrlGetPart WinAPI_UrlHash WinAPI_UrlIs WinAPI_UserHandleGrantAccess WinAPI_ValidateRect WinAPI_ValidateRgn WinAPI_VerQueryRoot WinAPI_VerQueryValue WinAPI_VerQueryValueEx WinAPI_WaitForInputIdle WinAPI_WaitForMultipleObjects WinAPI_WaitForSingleObject WinAPI_WideCharToMultiByte WinAPI_WidenPath WinAPI_WindowFromDC WinAPI_WindowFromPoint WinAPI_WordToShort WinAPI_Wow64EnableWow64FsRedirection WinAPI_WriteConsole WinAPI_WriteFile WinAPI_WriteProcessMemory WinAPI_ZeroMemory WinNet_AddConnection WinNet_AddConnection2 WinNet_AddConnection3 WinNet_CancelConnection WinNet_CancelConnection2 WinNet_CloseEnum WinNet_ConnectionDialog WinNet_ConnectionDialog1 WinNet_DisconnectDialog WinNet_DisconnectDialog1 WinNet_EnumResource WinNet_GetConnection WinNet_GetConnectionPerformance WinNet_GetLastError WinNet_GetNetworkInformation WinNet_GetProviderName WinNet_GetResourceInformation WinNet_GetResourceParent WinNet_GetUniversalName WinNet_GetUser WinNet_OpenEnum WinNet_RestoreConnection WinNet_UseConnection Word_Create Word_DocAdd Word_DocAttach Word_DocClose Word_DocExport Word_DocFind Word_DocFindReplace Word_DocGet Word_DocLinkAdd Word_DocLinkGet Word_DocOpen Word_DocPictureAdd Word_DocPrint Word_DocRangeSet Word_DocSave Word_DocSaveAs Word_DocTableRead Word_DocTableWrite Word_Quit",e={
-variants:[a.COMMENT(";","$",{relevance:0}),a.COMMENT("#cs","#ce"),a.COMMENT("#comments-start","#comments-end")]},f={className:"variable",begin:"\\$[A-z0-9_]+"},g={className:"string",variants:[{begin:/"/,end:/"/,contains:[{begin:/""/,relevance:0}]},{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]}]},h={variants:[a.BINARY_NUMBER_MODE,a.C_NUMBER_MODE]},i={className:"preprocessor",begin:"#",end:"$",keywords:"include include-once NoTrayIcon OnAutoItStartRegister RequireAdmin pragma Au3Stripper_Ignore_Funcs Au3Stripper_Ignore_Variables Au3Stripper_Off Au3Stripper_On Au3Stripper_Parameters AutoIt3Wrapper_Add_Constants AutoIt3Wrapper_Au3Check_Parameters AutoIt3Wrapper_Au3Check_Stop_OnWarning AutoIt3Wrapper_Aut2Exe AutoIt3Wrapper_AutoIt3 AutoIt3Wrapper_AutoIt3Dir AutoIt3Wrapper_Change2CUI AutoIt3Wrapper_Compile_Both AutoIt3Wrapper_Compression AutoIt3Wrapper_EndIf AutoIt3Wrapper_Icon AutoIt3Wrapper_If_Compile AutoIt3Wrapper_If_Run AutoIt3Wrapper_Jump_To_First_Error AutoIt3Wrapper_OutFile AutoIt3Wrapper_OutFile_Type AutoIt3Wrapper_OutFile_X64 AutoIt3Wrapper_PlugIn_Funcs AutoIt3Wrapper_Res_Comment Autoit3Wrapper_Res_Compatibility AutoIt3Wrapper_Res_Description AutoIt3Wrapper_Res_Field AutoIt3Wrapper_Res_File_Add AutoIt3Wrapper_Res_FileVersion AutoIt3Wrapper_Res_FileVersion_AutoIncrement AutoIt3Wrapper_Res_Icon_Add AutoIt3Wrapper_Res_Language AutoIt3Wrapper_Res_LegalCopyright AutoIt3Wrapper_Res_ProductVersion AutoIt3Wrapper_Res_requestedExecutionLevel AutoIt3Wrapper_Res_SaveSource AutoIt3Wrapper_Run_After AutoIt3Wrapper_Run_Au3Check AutoIt3Wrapper_Run_Au3Stripper AutoIt3Wrapper_Run_Before AutoIt3Wrapper_Run_Debug_Mode AutoIt3Wrapper_Run_SciTE_Minimized AutoIt3Wrapper_Run_SciTE_OutputPane_Minimized AutoIt3Wrapper_Run_Tidy AutoIt3Wrapper_ShowProgress AutoIt3Wrapper_Testing AutoIt3Wrapper_Tidy_Stop_OnError AutoIt3Wrapper_UPX_Parameters AutoIt3Wrapper_UseUPX AutoIt3Wrapper_UseX64 AutoIt3Wrapper_Version AutoIt3Wrapper_Versioning AutoIt3Wrapper_Versioning_Parameters Tidy_Off Tidy_On Tidy_Parameters EndRegion Region",contains:[{begin:/\\\n/,relevance:0},{beginKeywords:"include",end:"$",contains:[g,{className:"string",variants:[{begin:"<",end:">"},{begin:/"/,end:/"/,contains:[{begin:/""/,relevance:0}]},{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]}]}]},g,e]},j={className:"constant",begin:"@[A-z0-9_]+"},k={className:"function",beginKeywords:"Func",end:"$",excludeEnd:!0,illegal:"\\$|\\[|%",contains:[a.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",contains:[f,g,h]}]};return{case_insensitive:!0,illegal:/\/\*/,keywords:{keyword:b,built_in:d,literal:c},contains:[e,f,g,h,i,j,k]}}),a.registerLanguage("avrasm",function(a){return{case_insensitive:!0,lexemes:"\\.?"+a.IDENT_RE,keywords:{keyword:"adc add adiw and andi asr bclr bld brbc brbs brcc brcs break breq brge brhc brhs brid brie brlo brlt brmi brne brpl brsh brtc brts brvc brvs bset bst call cbi cbr clc clh cli cln clr cls clt clv clz com cp cpc cpi cpse dec eicall eijmp elpm eor fmul fmuls fmulsu icall ijmp in inc jmp ld ldd ldi lds lpm lsl lsr mov movw mul muls mulsu neg nop or ori out pop push rcall ret reti rjmp rol ror sbc sbr sbrc sbrs sec seh sbi sbci sbic sbis sbiw sei sen ser ses set sev sez sleep spm st std sts sub subi swap tst wdr",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 r30 r31 x|0 xh xl y|0 yh yl z|0 zh zl ucsr1c udr1 ucsr1a ucsr1b ubrr1l ubrr1h ucsr0c ubrr0h tccr3c tccr3a tccr3b tcnt3h tcnt3l ocr3ah ocr3al ocr3bh ocr3bl ocr3ch ocr3cl icr3h icr3l etimsk etifr tccr1c ocr1ch ocr1cl twcr twdr twar twsr twbr osccal xmcra xmcrb eicra spmcsr spmcr portg ddrg ping portf ddrf sreg sph spl xdiv rampz eicrb eimsk gimsk gicr eifr gifr timsk tifr mcucr mcucsr tccr0 tcnt0 ocr0 assr tccr1a tccr1b tcnt1h tcnt1l ocr1ah ocr1al ocr1bh ocr1bl icr1h icr1l tccr2 tcnt2 ocr2 ocdr wdtcr sfior eearh eearl eedr eecr porta ddra pina portb ddrb pinb portc ddrc pinc portd ddrd pind spdr spsr spcr udr0 ucsr0a ucsr0b ubrr0l acsr admux adcsr adch adcl porte ddre pine pinf",preprocessor:".byte .cseg .db .def .device .dseg .dw .endmacro .equ .eseg .exit .include .list .listmac .macro .nolist .org .set"},contains:[a.C_BLOCK_COMMENT_MODE,a.COMMENT(";","$",{relevance:0}),a.C_NUMBER_MODE,a.BINARY_NUMBER_MODE,{className:"number",begin:"\\b(\\$[a-zA-Z0-9]+|0o[0-7]+)"},a.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",illegal:"[^\\\\][^']"},{className:"label",begin:"^[A-Za-z0-9_.$]+:"},{className:"preprocessor",begin:"#",end:"$"},{className:"localvars",begin:"@[0-9]+"}]}}),a.registerLanguage("axapta",function(a){return{keywords:"false int abstract private char boolean static null if for true while long throw finally protected final return void enum else break new catch byte super case short default double public try this switch continue reverse firstfast firstonly forupdate nofetch sum avg minof maxof count order group by asc desc index hint like dispaly edit client server ttsbegin ttscommit str real date container anytype common div mod",contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_NUMBER_MODE,{className:"preprocessor",begin:"#",end:"$"},{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,illegal:":",contains:[{beginKeywords:"extends implements"},a.UNDERSCORE_TITLE_MODE]}]}}),a.registerLanguage("bash",function(a){var b={className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{(.*?)}/}]},c={className:"string",begin:/"/,end:/"/,contains:[a.BACKSLASH_ESCAPE,b,{className:"variable",begin:/\$\(/,end:/\)/,contains:[a.BACKSLASH_ESCAPE]}]},d={className:"string",begin:/'/,end:/'/};return{aliases:["sh","zsh"],lexemes:/-?[a-z\.]+/,keywords:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",operator:"-ne -eq -lt -gt -f -d -e -s -l -a"},contains:[{className:"shebang",begin:/^#![^\n]+sh\s*$/,relevance:10},{className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[a.inherit(a.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},a.HASH_COMMENT_MODE,a.NUMBER_MODE,c,d,b]}}),a.registerLanguage("brainfuck",function(a){var b={className:"literal",begin:"[\\+\\-]",relevance:0};return{aliases:["bf"],contains:[a.COMMENT("[^\\[\\]\\.,\\+\\-<> \r\n]","[\\[\\]\\.,\\+\\-<> \r\n]",{returnEnd:!0,relevance:0}),{className:"title",begin:"[\\[\\]]",relevance:0},{className:"string",begin:"[\\.,]",relevance:0},{begin:/\+\+|\-\-/,returnBegin:!0,contains:[b]},b]}}),a.registerLanguage("cal",function(a){var b="div mod in and or not xor asserterror begin case do downto else end exit for if of repeat then to until while with var",c="false true",d=[a.C_LINE_COMMENT_MODE,a.COMMENT(/\{/,/\}/,{relevance:0}),a.COMMENT(/\(\*/,/\*\)/,{relevance:10})],e={className:"string",begin:/'/,end:/'/,contains:[{begin:/''/}]},f={className:"string",begin:/(#\d+)+/},g={className:"date",begin:"\\b\\d+(\\.\\d+)?(DT|D|T)",relevance:0},h={className:"variable",begin:'"',end:'"'},i={className:"function",beginKeywords:"procedure",end:/[:;]/,keywords:"procedure|10",contains:[a.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,keywords:b,contains:[e,f]}].concat(d)},j={className:"class",begin:"OBJECT (Table|Form|Report|Dataport|Codeunit|XMLport|MenuSuite|Page|Query) (\\d+) ([^\\r\\n]+)",returnBegin:!0,contains:[a.TITLE_MODE,i]};return{case_insensitive:!0,keywords:{keyword:b,literal:c},illegal:/\/\*/,contains:[e,f,g,h,a.NUMBER_MODE,j,i]}}),a.registerLanguage("capnproto",function(a){return{aliases:["capnp"],keywords:{keyword:"struct enum interface union group import using const annotation extends in of on as with from fixed",built_in:"Void Bool Int8 Int16 Int32 Int64 UInt8 UInt16 UInt32 UInt64 Float32 Float64 Text Data AnyPointer AnyStruct Capability List",literal:"true false"},contains:[a.QUOTE_STRING_MODE,a.NUMBER_MODE,a.HASH_COMMENT_MODE,{className:"shebang",begin:/@0x[\w\d]{16};/,illegal:/\n/},{className:"number",begin:/@\d+\b/},{className:"class",beginKeywords:"struct enum",end:/\{/,illegal:/\n/,contains:[a.inherit(a.TITLE_MODE,{starts:{endsWithParent:!0,excludeEnd:!0}})]},{className:"class",beginKeywords:"interface",end:/\{/,illegal:/\n/,contains:[a.inherit(a.TITLE_MODE,{starts:{endsWithParent:!0,excludeEnd:!0}})]}]}}),a.registerLanguage("ceylon",function(a){var b="assembly module package import alias class interface object given value assign void function new of extends satisfies abstracts in out return break continue throw assert dynamic if else switch case for while try catch finally then let this outer super is exists nonempty",c="shared abstract formal default actual variable late native deprecatedfinal sealed annotation suppressWarnings small",d="doc by license see throws tagged",e=c+" "+d,f={className:"subst",excludeBegin:!0,excludeEnd:!0,begin:/``/,end:/``/,keywords:b,relevance:10},g=[{className:"string",begin:'"""',end:'"""',relevance:10},{className:"string",begin:'"',end:'"',contains:[f]},{className:"string",begin:"'",end:"'"},{className:"number",begin:"#[0-9a-fA-F_]+|\\$[01_]+|[0-9_]+(?:\\.[0-9_](?:[eE][+-]?\\d+)?)?[kMGTPmunpf]?",relevance:0}];return f.contains=g,{keywords:{keyword:b,annotation:e},illegal:"\\$[^01]|#[^0-9a-fA-F]",contains:[a.C_LINE_COMMENT_MODE,a.COMMENT("/\\*","\\*/",{contains:["self"]}),{className:"annotation",begin:'@[a-z]\\w*(?:\\:"[^"]*")?'}].concat(g)}}),a.registerLanguage("clojure",function(a){var b={built_in:"def defonce cond apply if-not if-let if not not= = < > <= >= == + / * - rem quot neg? pos? delay? symbol? keyword? true? false? integer? empty? coll? list? set? ifn? fn? associative? sequential? sorted? counted? reversible? number? decimal? class? distinct? isa? float? rational? reduced? ratio? odd? even? char? seq? vector? string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . inc compare do dotimes mapcat take remove take-while drop letfn drop-last take-last drop-while while intern condp case reduced cycle split-at split-with repeat replicate iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext nthrest partition eval doseq await await-for let agent atom send send-off release-pending-sends add-watch mapv filterv remove-watch agent-error restart-agent set-error-handler error-handler set-error-mode! error-mode shutdown-agents quote var fn loop recur throw try monitor-enter monitor-exit defmacro defn defn- macroexpand macroexpand-1 for dosync and or when when-not when-let comp juxt partial sequence memoize constantly complement identity assert peek pop doto proxy defstruct first rest cons defprotocol cast coll deftype defrecord last butlast sigs reify second ffirst fnext nfirst nnext defmulti defmethod meta with-meta ns in-ns create-ns import refer keys select-keys vals key val rseq name namespace promise into transient persistent! conj! assoc! dissoc! pop! disj! use class type num float double short byte boolean bigint biginteger bigdec print-method print-dup throw-if printf format load compile get-in update-in pr pr-on newline flush read slurp read-line subvec with-open memfn time re-find re-groups rand-int rand mod locking assert-valid-fdecl alias resolve ref deref refset swap! reset! set-validator! compare-and-set! alter-meta! reset-meta! commute get-validator alter ref-set ref-history-count ref-min-history ref-max-history ensure sync io! new next conj set! to-array future future-call into-array aset gen-class reduce map filter find empty hash-map hash-set sorted-map sorted-map-by sorted-set sorted-set-by vec vector seq flatten reverse assoc dissoc list disj get union difference intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer chunk-append chunk-first chunk-rest max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec unchecked-negate unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next chunk-cons chunked-seq? prn vary-meta lazy-seq spread list* str find-keyword keyword symbol gensym force rationalize"},c="a-zA-Z_\\-!.?+*=<>&#'",d="["+c+"]["+c+"0-9/;:]*",e="[-+]?\\d+(\\.\\d+)?",f={begin:d,relevance:0},g={className:"number",begin:e,relevance:0},h=a.inherit(a.QUOTE_STRING_MODE,{illegal:null}),i=a.COMMENT(";","$",{relevance:0}),j={className:"literal",begin:/\b(true|false|nil)\b/},k={className:"collection",begin:"[\\[\\{]",end:"[\\]\\}]"},l={className:"comment",begin:"\\^"+d},m=a.COMMENT("\\^\\{","\\}"),n={className:"attribute",begin:"[:]"+d},o={className:"list",begin:"\\(",end:"\\)"},p={endsWithParent:!0,relevance:0},q={keywords:b,lexemes:d,className:"keyword",begin:d,starts:p},r=[o,h,l,m,i,n,k,g,j,f];return o.contains=[a.COMMENT("comment",""),q,p],p.contains=r,k.contains=r,{aliases:["clj"],illegal:/\S/,contains:[o,h,l,m,i,n,k,g,j]}}),a.registerLanguage("clojure-repl",function(a){return{contains:[{className:"prompt",begin:/^([\w.-]+|\s*#_)=>/,starts:{end:/$/,subLanguage:"clojure"}}]}}),a.registerLanguage("cmake",function(a){return{aliases:["cmake.in"],case_insensitive:!0,keywords:{keyword:"add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_subdirectory add_test aux_source_directory break build_command cmake_minimum_required cmake_policy configure_file create_test_sourcelist define_property else elseif enable_language enable_testing endforeach endfunction endif endmacro endwhile execute_process export find_file find_library find_package find_path find_program fltk_wrap_ui foreach function get_cmake_property get_directory_property get_filename_component get_property get_source_file_property get_target_property get_test_property if include include_directories include_external_msproject include_regular_expression install link_directories load_cache load_command macro mark_as_advanced message option output_required_files project qt_wrap_cpp qt_wrap_ui remove_definitions return separate_arguments set set_directory_properties set_property set_source_files_properties set_target_properties set_tests_properties site_name source_group string target_link_libraries try_compile try_run unset variable_watch while build_name exec_program export_library_dependencies install_files install_programs install_targets link_libraries make_directory remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file qt5_use_modules qt5_use_package qt5_wrap_cpp on off true false and or",operator:"equal less greater strless strgreater strequal matches"},contains:[{className:"envvar",begin:"\\${",end:"}"},a.HASH_COMMENT_MODE,a.QUOTE_STRING_MODE,a.NUMBER_MODE]}}),a.registerLanguage("coffeescript",function(a){var b={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",built_in:"npm require console print module global window document"},c="[A-Za-z$_][0-9A-Za-z$_]*",d={className:"subst",begin:/#\{/,end:/}/,keywords:b},e=[a.BINARY_NUMBER_MODE,a.inherit(a.C_NUMBER_MODE,{starts:{end:"(\\s*/)?",relevance:0}}),{className:"string",variants:[{begin:/'''/,end:/'''/,contains:[a.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[a.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,contains:[a.BACKSLASH_ESCAPE,d]},{begin:/"/,end:/"/,contains:[a.BACKSLASH_ESCAPE,d]}]},{className:"regexp",variants:[{begin:"///",end:"///",contains:[d,a.HASH_COMMENT_MODE]},{begin:"//[gim]*",relevance:0},{begin:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{className:"property",begin:"@"+c},{begin:"`",end:"`",excludeBegin:!0,excludeEnd:!0,subLanguage:"javascript"}];d.contains=e;var f=a.inherit(a.TITLE_MODE,{begin:c}),g="(\\(.*\\))?\\s*\\B[-=]>",h={className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:b,contains:["self"].concat(e)}]};return{aliases:["coffee","cson","iced"],keywords:b,illegal:/\/\*/,contains:e.concat([a.COMMENT("###","###"),a.HASH_COMMENT_MODE,{className:"function",begin:"^\\s*"+c+"\\s*=\\s*"+g,end:"[-=]>",returnBegin:!0,contains:[f,h]},{begin:/[:\(,=]\s*/,relevance:0,contains:[{className:"function",begin:g,end:"[-=]>",returnBegin:!0,contains:[h]}]},{className:"class",beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[f]},f]},{className:"attribute",begin:c+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}),a.registerLanguage("cpp",function(a){var b={className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"},c={className:"string",variants:[a.inherit(a.QUOTE_STRING_MODE,{begin:'((u8?|U)|L)?"'}),{begin:'(u8?|U)?R"',end:'"',contains:[a.BACKSLASH_ESCAPE]},{begin:"'\\\\?.",end:"'",illegal:"."}]},d={className:"number",variants:[{begin:"\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"},{begin:a.C_NUMBER_RE}]},e={className:"preprocessor",begin:"#",end:"$",keywords:"if else elif endif define undef warning error line pragma ifdef ifndef",contains:[{begin:/\\\n/,relevance:0},{beginKeywords:"include",end:"$",contains:[c,{className:"string",begin:"<",end:">",illegal:"\\n"}]},c,d,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},f=a.IDENT_RE+"\\s*\\(",g={keyword:"int float while private char catch export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const struct for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using class asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignof constexpr decltype noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong",built_in:"std string cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf",literal:"true false nullptr NULL"};return{aliases:["c","cc","h","c++","h++","hpp"],keywords:g,illegal:"</",contains:[b,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,d,c,e,{begin:"\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",end:">",keywords:g,contains:["self",b]},{begin:a.IDENT_RE+"::",keywords:g},{beginKeywords:"new throw return else",relevance:0},{className:"function",begin:"("+a.IDENT_RE+"[\\*&\\s]+)+"+f,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:g,illegal:/[^\w\s\*&]/,contains:[{begin:f,returnBegin:!0,contains:[a.TITLE_MODE],relevance:0},{className:"params",begin:/\(/,end:/\)/,keywords:g,relevance:0,contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,c,d]},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,e]}]}}),a.registerLanguage("crmsh",function(a){var b="primitive rsc_template",c="group clone ms master location colocation order fencing_topology rsc_ticket acl_target acl_group user role tag xml",d="property rsc_defaults op_defaults",e="params meta operations op rule attributes utilization",f="read write deny defined not_defined in_range date spec in ref reference attribute type xpath version and or lt gt tag lte gte eq ne \\",g="number string",h="Master Started Slave Stopped start promote demote stop monitor true false";return{aliases:["crm","pcmk"],case_insensitive:!0,keywords:{keyword:e,operator:f,type:g,literal:h},contains:[a.HASH_COMMENT_MODE,{beginKeywords:"node",starts:{className:"identifier",end:"\\s*([\\w_-]+:)?",starts:{className:"title",end:"\\s*[\\$\\w_][\\w_-]*"}}},{beginKeywords:b,starts:{className:"title",end:"\\s*[\\$\\w_][\\w_-]*",starts:{className:"pragma",end:"\\s*@?[\\w_][\\w_\\.:-]*"}}},{begin:"\\b("+c.split(" ").join("|")+")\\s+",keywords:c,starts:{className:"title",end:"[\\$\\w_][\\w_-]*"}},{beginKeywords:d,starts:{className:"title",end:"\\s*([\\w_-]+:)?"}},a.QUOTE_STRING_MODE,{className:"pragma",begin:"(ocf|systemd|service|lsb):[\\w_:-]+",relevance:0},{className:"number",begin:"\\b\\d+(\\.\\d+)?(ms|s|h|m)?",relevance:0},{className:"number",begin:"[-]?(infinity|inf)",relevance:0},{className:"variable",begin:/([A-Za-z\$_\#][\w_-]+)=/,relevance:0},{className:"tag",begin:"</?",end:"/?>",relevance:0}]}}),a.registerLanguage("crystal",function(a){function b(a,b){var c=[{begin:a,end:b}];return c[0].contains=c,c}var c="(_[uif](8|16|32|64))?",d="[a-zA-Z_]\\w*[!?=]?",e="!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",f="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\][=?]?",g={keyword:"abstract alias as asm begin break case class def do else elsif end ensure enum extend for fun if ifdef include instance_sizeof is_a? lib macro module next of out pointerof private protected rescue responds_to? return require self sizeof struct super then type typeof union unless until when while with yield __DIR__ __FILE__ __LINE__",literal:"false nil true"},h={className:"subst",begin:"#{",end:"}",keywords:g},i={className:"expansion",variants:[{begin:"\\{\\{",end:"\\}\\}"},{begin:"\\{%",end:"%\\}"}],keywords:g,relevance:10},j={className:"string",contains:[a.BACKSLASH_ESCAPE,h],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:"%w?\\(",end:"\\)",contains:b("\\(","\\)")},{begin:"%w?\\[",end:"\\]",contains:b("\\[","\\]")},{begin:"%w?{",end:"}",contains:b("{","}")},{begin:"%w?<",end:">",contains:b("<",">")},{begin:"%w?/",end:"/"},{begin:"%w?%",end:"%"},{begin:"%w?-",end:"-"},{begin:"%w?\\|",end:"\\|"}],relevance:0},k={begin:"("+e+")\\s*",contains:[{className:"regexp",contains:[a.BACKSLASH_ESCAPE,h],variants:[{begin:"/",end:"/[a-z]*"},{begin:"%r\\(",end:"\\)",contains:b("\\(","\\)")},{begin:"%r\\[",end:"\\]",contains:b("\\[","\\]")},{begin:"%r{",end:"}",contains:b("{","}")},{begin:"%r<",end:">",contains:b("<",">")},{begin:"%r/",end:"/"},{begin:"%r%",end:"%"},{begin:"%r-",end:"-"},{begin:"%r\\|",end:"\\|"}]}],relevance:0},l={className:"regexp",contains:[a.BACKSLASH_ESCAPE,h],variants:[{begin:"%r\\(",end:"\\)",contains:b("\\(","\\)")},{begin:"%r\\[",end:"\\]",contains:b("\\[","\\]")},{begin:"%r{",end:"}",contains:b("{","}")},{begin:"%r<",end:">",contains:b("<",">")},{begin:"%r/",end:"/"},{begin:"%r%",end:"%"},{begin:"%r-",end:"-"},{begin:"%r\\|",end:"\\|"}],relevance:0},m={className:"annotation",begin:"@\\[",end:"\\]",relevance:5},n=[i,j,k,l,m,a.HASH_COMMENT_MODE,{className:"class",beginKeywords:"class module struct",end:"$|;",illegal:/=/,contains:[a.HASH_COMMENT_MODE,a.inherit(a.TITLE_MODE,{begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{className:"inheritance",begin:"<\\s*",contains:[{className:"parent",begin:"("+a.IDENT_RE+"::)?"+a.IDENT_RE}]}]},{className:"class",beginKeywords:"lib enum union",end:"$|;",illegal:/=/,contains:[a.HASH_COMMENT_MODE,a.inherit(a.TITLE_MODE,{begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"})],relevance:10},{className:"function",beginKeywords:"def",end:/\B\b/,contains:[a.inherit(a.TITLE_MODE,{begin:f,endsParent:!0})]},{className:"function",beginKeywords:"fun macro",end:/\B\b/,contains:[a.inherit(a.TITLE_MODE,{begin:f,endsParent:!0})],relevance:5},{className:"constant",begin:"(::)?(\\b[A-Z]\\w*(::)?)+",relevance:0},{className:"symbol",begin:a.UNDERSCORE_IDENT_RE+"(\\!|\\?)?:",relevance:0},{className:"symbol",begin:":",contains:[j,{begin:f}],relevance:0},{className:"number",variants:[{begin:"\\b0b([01_]*[01])"+c},{begin:"\\b0o([0-7_]*[0-7])"+c},{begin:"\\b0x([A-Fa-f0-9_]*[A-Fa-f0-9])"+c},{begin:"\\b(([0-9][0-9_]*[0-9]|[0-9])(\\.[0-9_]*[0-9])?([eE][+-]?[0-9_]*[0-9])?)"+c}],relevance:0},{className:"variable",begin:"(\\$\\W)|((\\$|\\@\\@?|%)(\\w+))"}];return h.contains=n,m.contains=n,i.contains=n.slice(1),{aliases:["cr"],lexemes:d,keywords:g,contains:n}}),a.registerLanguage("cs",function(a){var b="abstract as base bool break byte case catch char checked const continue decimal dynamic default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long null when object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this true try typeof uint ulong unchecked unsafe ushort using virtual volatile void while async protected public private internal ascending descending from get group into join let orderby partial select set value var where yield",c=a.IDENT_RE+"(<"+a.IDENT_RE+">)?";return{aliases:["csharp"],keywords:b,illegal:/::/,contains:[a.COMMENT("///","$",{returnBegin:!0,contains:[{className:"xmlDocTag",variants:[{begin:"///",relevance:0},{begin:"<!--|-->"},{begin:"</?",end:">"}]}]}),a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{className:"preprocessor",begin:"#",end:"$",keywords:"if else elif endif define undef warning error line region endregion pragma checksum"},{className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_NUMBER_MODE,{beginKeywords:"class interface",end:/[{;=]/,illegal:/[^\s:]/,contains:[a.TITLE_MODE,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",end:/[{;=]/,illegal:/[^\s:]/,contains:[{className:"title",begin:"[a-zA-Z](\\.?\\w)*",relevance:0},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new return throw await",relevance:0},{className:"function",begin:"("+c+"\\s+)+"+a.IDENT_RE+"\\s*\\(",returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:b,contains:[{begin:a.IDENT_RE+"\\s*\\(",returnBegin:!0,contains:[a.TITLE_MODE],relevance:0},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:b,relevance:0,contains:[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_NUMBER_MODE,a.C_BLOCK_COMMENT_MODE]},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]}]}}),a.registerLanguage("css",function(a){var b="[a-zA-Z-][a-zA-Z0-9_-]*",c={className:"function",begin:b+"\\(",returnBegin:!0,excludeEnd:!0,end:"\\("},d={className:"rule",begin:/[A-Z\_\.\-]+\s*:/,returnBegin:!0,end:";",endsWithParent:!0,contains:[{className:"attribute",begin:/\S/,end:":",excludeEnd:!0,starts:{className:"value",endsWithParent:!0,excludeEnd:!0,contains:[c,a.CSS_NUMBER_MODE,a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,a.C_BLOCK_COMMENT_MODE,{className:"hexcolor",begin:"#[0-9A-Fa-f]+"},{className:"important",begin:"!important"}]}}]};return{case_insensitive:!0,illegal:/[=\/|'\$]/,contains:[a.C_BLOCK_COMMENT_MODE,{className:"id",begin:/\#[A-Za-z0-9_-]+/},{className:"class",begin:/\.[A-Za-z0-9_-]+/},{className:"attr_selector",begin:/\[/,end:/\]/,illegal:"$"},{className:"pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"']+/},{className:"at_rule",begin:"@(font-face|page)",lexemes:"[a-z-]+",keywords:"font-face page"},{className:"at_rule",begin:"@",end:"[{;]",contains:[{className:"keyword",begin:/\S+/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,contains:[c,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.CSS_NUMBER_MODE]}]},{className:"tag",begin:b,relevance:0},{className:"rules",begin:"{",end:"}",illegal:/\S/,contains:[a.C_BLOCK_COMMENT_MODE,d]}]}}),a.registerLanguage("d",function(a){var b={keyword:"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",literal:"false null true"},c="(0|[1-9][\\d_]*)",d="(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)",e="0[bB][01_]+",f="([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)",g="0[xX]"+f,h="([eE][+-]?"+d+")",i="("+d+"(\\.\\d*|"+h+")|\\d+\\."+d+d+"|\\."+c+h+"?)",j="(0[xX]("+f+"\\."+f+"|\\.?"+f+")[pP][+-]?"+d+")",k="("+c+"|"+e+"|"+g+")",l="("+j+"|"+i+")",m="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",n={className:"number",begin:"\\b"+k+"(L|u|U|Lu|LU|uL|UL)?",relevance:0},o={className:"number",begin:"\\b("+l+"([fF]|L|i|[fF]i|Li)?|"+k+"(i|[fF]i|Li))",relevance:0},p={className:"string",begin:"'("+m+"|.)",end:"'",illegal:"."},q={begin:m,relevance:0},r={className:"string",begin:'"',contains:[q],end:'"[cwd]?'},s={className:"string",begin:'[rq]"',end:'"[cwd]?',relevance:5},t={className:"string",begin:"`",end:"`[cwd]?"},u={className:"string",begin:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',relevance:10},v={className:"string",begin:'q"\\{',end:'\\}"'},w={className:"shebang",begin:"^#!",end:"$",relevance:5},x={className:"preprocessor",begin:"#(line)",end:"$",relevance:5},y={className:"keyword",begin:"@[a-zA-Z_][a-zA-Z_\\d]*"},z=a.COMMENT("\\/\\+","\\+\\/",{contains:["self"],relevance:10});return{lexemes:a.UNDERSCORE_IDENT_RE,keywords:b,contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,z,u,r,s,t,v,o,n,p,w,x,y]}}),a.registerLanguage("markdown",function(a){return{aliases:["md","mkdown","mkd"],contains:[{className:"header",variants:[{begin:"^#{1,6}",end:"$"},{begin:"^.+?\\n[=-]{2,}$"}]},{begin:"<",end:">",subLanguage:"xml",relevance:0},{className:"bullet",begin:"^([*+-]|(\\d+\\.))\\s+"},{className:"strong",begin:"[*_]{2}.+?[*_]{2}"},{className:"emphasis",variants:[{begin:"\\*.+?\\*"},{begin:"_.+?_",relevance:0}]},{className:"blockquote",begin:"^>\\s+",end:"$"},{className:"code",variants:[{begin:"`.+?`"},{begin:"^( {4}|       )",end:"$",relevance:0}]},{className:"horizontal_rule",begin:"^[-\\*]{3,}",end:"$"},{begin:"\\[.+?\\][\\(\\[].*?[\\)\\]]",returnBegin:!0,contains:[{className:"link_label",begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0,relevance:0},{className:"link_url",begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"link_reference",begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}],relevance:10},{begin:"^\\[.+\\]:",returnBegin:!0,contains:[{className:"link_reference",begin:"\\[",end:"\\]:",excludeBegin:!0,excludeEnd:!0,starts:{className:"link_url",end:"$"}}]}]}}),a.registerLanguage("dart",function(a){var b={className:"subst",begin:"\\$\\{",end:"}",keywords:"true false null this is new super"},c={className:"string",variants:[{begin:"r'''",end:"'''"},{begin:'r"""',end:'"""'},{begin:"r'",end:"'",illegal:"\\n"},{
-begin:'r"',end:'"',illegal:"\\n"},{begin:"'''",end:"'''",contains:[a.BACKSLASH_ESCAPE,b]},{begin:'"""',end:'"""',contains:[a.BACKSLASH_ESCAPE,b]},{begin:"'",end:"'",illegal:"\\n",contains:[a.BACKSLASH_ESCAPE,b]},{begin:'"',end:'"',illegal:"\\n",contains:[a.BACKSLASH_ESCAPE,b]}]};b.contains=[a.C_NUMBER_MODE,c];var d={keyword:"assert break case catch class const continue default do else enum extends false final finally for if in is new null rethrow return super switch this throw true try var void while with",literal:"abstract as dynamic export external factory get implements import library operator part set static typedef",built_in:"print Comparable DateTime Duration Function Iterable Iterator List Map Match Null Object Pattern RegExp Set Stopwatch String StringBuffer StringSink Symbol Type Uri bool double int num document window querySelector querySelectorAll Element ElementList"};return{keywords:d,contains:[c,a.COMMENT("/\\*\\*","\\*/",{subLanguage:"markdown"}),a.COMMENT("///","$",{subLanguage:"markdown"}),a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,contains:[{beginKeywords:"extends implements"},a.UNDERSCORE_TITLE_MODE]},a.C_NUMBER_MODE,{className:"annotation",begin:"@[A-Za-z]+"},{begin:"=>"}]}}),a.registerLanguage("delphi",function(a){var b="exports register file shl array record property for mod while set ally label uses raise not stored class safecall var interface or private static exit index inherited to else stdcall override shr asm far resourcestring finalization packed virtual out and protected library do xorwrite goto near function end div overload object unit begin string on inline repeat until destructor write message program with read initialization except default nil if case cdecl in downto threadvar of try pascal const external constructor type public then implementation finally published procedure",c=[a.C_LINE_COMMENT_MODE,a.COMMENT(/\{/,/\}/,{relevance:0}),a.COMMENT(/\(\*/,/\*\)/,{relevance:10})],d={className:"string",begin:/'/,end:/'/,contains:[{begin:/''/}]},e={className:"string",begin:/(#\d+)+/},f={begin:a.IDENT_RE+"\\s*=\\s*class\\s*\\(",returnBegin:!0,contains:[a.TITLE_MODE]},g={className:"function",beginKeywords:"function constructor destructor procedure",end:/[:;]/,keywords:"function constructor|10 destructor|10 procedure|10",contains:[a.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,keywords:b,contains:[d,e]}].concat(c)};return{case_insensitive:!0,keywords:b,illegal:/"|\$[G-Zg-z]|\/\*|<\/|\|/,contains:[d,e,a.NUMBER_MODE,f,g].concat(c)}}),a.registerLanguage("diff",function(a){return{aliases:["patch"],contains:[{className:"chunk",relevance:10,variants:[{begin:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{begin:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{begin:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{className:"header",variants:[{begin:/Index: /,end:/$/},{begin:/=====/,end:/=====$/},{begin:/^\-\-\-/,end:/$/},{begin:/^\*{3} /,end:/$/},{begin:/^\+\+\+/,end:/$/},{begin:/\*{5}/,end:/\*{5}$/}]},{className:"addition",begin:"^\\+",end:"$"},{className:"deletion",begin:"^\\-",end:"$"},{className:"change",begin:"^\\!",end:"$"}]}}),a.registerLanguage("django",function(a){var b={className:"filter",begin:/\|[A-Za-z]+:?/,keywords:"truncatewords removetags linebreaksbr yesno get_digit timesince random striptags filesizeformat escape linebreaks length_is ljust rjust cut urlize fix_ampersands title floatformat capfirst pprint divisibleby add make_list unordered_list urlencode timeuntil urlizetrunc wordcount stringformat linenumbers slice date dictsort dictsortreversed default_if_none pluralize lower join center default truncatewords_html upper length phone2numeric wordwrap time addslashes slugify first escapejs force_escape iriencode last safe safeseq truncatechars localize unlocalize localtime utc timezone",contains:[{className:"argument",begin:/"/,end:/"/},{className:"argument",begin:/'/,end:/'/}]};return{aliases:["jinja"],case_insensitive:!0,subLanguage:"xml",contains:[a.COMMENT(/\{%\s*comment\s*%}/,/\{%\s*endcomment\s*%}/),a.COMMENT(/\{#/,/#}/),{className:"template_tag",begin:/\{%/,end:/%}/,keywords:"comment endcomment load templatetag ifchanged endifchanged if endif firstof for endfor in ifnotequal endifnotequal widthratio extends include spaceless endspaceless regroup by as ifequal endifequal ssi now with cycle url filter endfilter debug block endblock else autoescape endautoescape csrf_token empty elif endwith static trans blocktrans endblocktrans get_static_prefix get_media_prefix plural get_current_language language get_available_languages get_current_language_bidi get_language_info get_language_info_list localize endlocalize localtime endlocaltime timezone endtimezone get_current_timezone verbatim",contains:[b]},{className:"variable",begin:/\{\{/,end:/}}/,contains:[b]}]}}),a.registerLanguage("dns",function(a){return{aliases:["bind","zone"],keywords:{keyword:"IN A AAAA AFSDB APL CAA CDNSKEY CDS CERT CNAME DHCID DLV DNAME DNSKEY DS HIP IPSECKEY KEY KX LOC MX NAPTR NS NSEC NSEC3 NSEC3PARAM PTR RRSIG RP SIG SOA SRV SSHFP TA TKEY TLSA TSIG TXT"},contains:[a.COMMENT(";","$"),{className:"operator",beginKeywords:"$TTL $GENERATE $INCLUDE $ORIGIN"},{className:"number",begin:"((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))"},{className:"number",begin:"((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])"}]}}),a.registerLanguage("dockerfile",function(a){return{aliases:["docker"],case_insensitive:!0,keywords:{built_ins:"from maintainer cmd expose add copy entrypoint volume user workdir onbuild run env label"},contains:[a.HASH_COMMENT_MODE,{keywords:{built_in:"run cmd entrypoint volume add copy workdir onbuild label"},begin:/^ *(onbuild +)?(run|cmd|entrypoint|volume|add|copy|workdir|label) +/,starts:{end:/[^\\]\n/,subLanguage:"bash"}},{keywords:{built_in:"from maintainer expose env user onbuild"},begin:/^ *(onbuild +)?(from|maintainer|expose|env|user|onbuild) +/,end:/[^\\]\n/,contains:[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.NUMBER_MODE,a.HASH_COMMENT_MODE]}]}}),a.registerLanguage("dos",function(a){var b=a.COMMENT(/@?rem\b/,/$/,{relevance:10}),c={className:"label",begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)",relevance:0};return{aliases:["bat","cmd"],case_insensitive:!0,illegal:/\/\*/,keywords:{flow:"if else goto for in do call exit not exist errorlevel defined",operator:"equ neq lss leq gtr geq",keyword:"shift cd dir echo setlocal endlocal set pause copy",stream:"prn nul lpt3 lpt2 lpt1 con com4 com3 com2 com1 aux",winutils:"ping net ipconfig taskkill xcopy ren del",built_in:"append assoc at attrib break cacls cd chcp chdir chkdsk chkntfs cls cmd color comp compact convert date dir diskcomp diskcopy doskey erase fs find findstr format ftype graftabl help keyb label md mkdir mode more move path pause print popd pushd promt rd recover rem rename replace restore rmdir shiftsort start subst time title tree type ver verify vol"},contains:[{className:"envvar",begin:/%%[^ ]|%[^ ]+?%|![^ ]+?!/},{className:"function",begin:c.begin,end:"goto:eof",contains:[a.inherit(a.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),b]},{className:"number",begin:"\\b\\d+",relevance:0},b]}}),a.registerLanguage("dust",function(a){var b="if eq ne lt lte gt gte select default math sep";return{aliases:["dst"],case_insensitive:!0,subLanguage:"xml",contains:[{className:"expression",begin:"{",end:"}",relevance:0,contains:[{className:"begin-block",begin:"#[a-zA-Z- .]+",keywords:b},{className:"string",begin:'"',end:'"'},{className:"end-block",begin:"\\/[a-zA-Z- .]+",keywords:b},{className:"variable",begin:"[a-zA-Z-.]+",keywords:b,relevance:0}]}]}}),a.registerLanguage("elixir",function(a){var b="[a-zA-Z_][a-zA-Z0-9_]*(\\!|\\?)?",c="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",d="and false then defined module in return redo retry end for true self when next until do begin unless nil break not case cond alias while ensure or include use alias fn quote",e={className:"subst",begin:"#\\{",end:"}",lexemes:b,keywords:d},f={className:"string",contains:[a.BACKSLASH_ESCAPE,e],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/}]},g={className:"function",beginKeywords:"def defp defmacro",end:/\B\b/,contains:[a.inherit(a.TITLE_MODE,{begin:b,endsParent:!0})]},h=a.inherit(g,{className:"class",beginKeywords:"defmodule defrecord",end:/\bdo\b|$|;/}),i=[f,a.HASH_COMMENT_MODE,h,g,{className:"constant",begin:"(\\b[A-Z_]\\w*(.)?)+",relevance:0},{className:"symbol",begin:":",contains:[f,{begin:c}],relevance:0},{className:"symbol",begin:b+":",relevance:0},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{className:"variable",begin:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{begin:"->"},{begin:"("+a.RE_STARTERS_RE+")\\s*",contains:[a.HASH_COMMENT_MODE,{className:"regexp",illegal:"\\n",contains:[a.BACKSLASH_ESCAPE,e],variants:[{begin:"/",end:"/[a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}],relevance:0}];return e.contains=i,{lexemes:b,keywords:d,contains:i}}),a.registerLanguage("elm",function(a){var b=[a.COMMENT("--","$"),a.COMMENT("{-","-}",{contains:["self"]})],c={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},d={className:"container",begin:"\\(",end:"\\)",illegal:'"',contains:[{className:"type",begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"}].concat(b)},e={className:"container",begin:"{",end:"}",contains:d.contains};return{keywords:"let in if then else case of where module import exposing type alias as infix infixl infixr port",contains:[{className:"module",begin:"\\bmodule\\b",end:"where",keywords:"module where",contains:[d].concat(b),illegal:"\\W\\.|;"},{className:"import",begin:"\\bimport\\b",end:"$",keywords:"import|0 as exposing",contains:[d].concat(b),illegal:"\\W\\.|;"},{className:"typedef",begin:"\\btype\\b",end:"$",keywords:"type alias",contains:[c,d,e].concat(b)},{className:"infix",beginKeywords:"infix infixl infixr",end:"$",contains:[a.C_NUMBER_MODE].concat(b)},{className:"foreign",begin:"\\bport\\b",end:"$",keywords:"port",contains:b},a.QUOTE_STRING_MODE,a.C_NUMBER_MODE,c,a.inherit(a.TITLE_MODE,{begin:"^[_a-z][\\w']*"}),{begin:"->|<-"}].concat(b)}}),a.registerLanguage("ruby",function(a){var b="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",c="and false then defined module in return redo if BEGIN retry end for true self when next until do begin unless END rescue nil else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",d={className:"doctag",begin:"@[A-Za-z]+"},e={className:"value",begin:"#<",end:">"},f=[a.COMMENT("#","$",{contains:[d]}),a.COMMENT("^\\=begin","^\\=end",{contains:[d],relevance:10}),a.COMMENT("^__END__","\\n$")],g={className:"subst",begin:"#\\{",end:"}",keywords:c},h={className:"string",contains:[a.BACKSLASH_ESCAPE,g],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:"%[qQwWx]?\\(",end:"\\)"},{begin:"%[qQwWx]?\\[",end:"\\]"},{begin:"%[qQwWx]?{",end:"}"},{begin:"%[qQwWx]?<",end:">"},{begin:"%[qQwWx]?/",end:"/"},{begin:"%[qQwWx]?%",end:"%"},{begin:"%[qQwWx]?-",end:"-"},{begin:"%[qQwWx]?\\|",end:"\\|"},{begin:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/}]},i={className:"params",begin:"\\(",end:"\\)",keywords:c},j=[h,e,{className:"class",beginKeywords:"class module",end:"$|;",illegal:/=/,contains:[a.inherit(a.TITLE_MODE,{begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{className:"inheritance",begin:"<\\s*",contains:[{className:"parent",begin:"("+a.IDENT_RE+"::)?"+a.IDENT_RE}]}].concat(f)},{className:"function",beginKeywords:"def",end:"$|;",contains:[a.inherit(a.TITLE_MODE,{begin:b}),i].concat(f)},{className:"constant",begin:"(::)?(\\b[A-Z]\\w*(::)?)+",relevance:0},{className:"symbol",begin:a.UNDERSCORE_IDENT_RE+"(\\!|\\?)?:",relevance:0},{className:"symbol",begin:":",contains:[h,{begin:b}],relevance:0},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{className:"variable",begin:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{begin:"("+a.RE_STARTERS_RE+")\\s*",contains:[e,{className:"regexp",contains:[a.BACKSLASH_ESCAPE,g],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:"%r{",end:"}[a-z]*"},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(f),relevance:0}].concat(f);g.contains=j,i.contains=j;var k="[>?]>",l="[\\w#]+\\(\\w+\\):\\d+:\\d+>",m="(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>",n=[{begin:/^\s*=>/,className:"status",starts:{end:"$",contains:j}},{className:"prompt",begin:"^("+k+"|"+l+"|"+m+")",starts:{end:"$",contains:j}}];return{aliases:["rb","gemspec","podspec","thor","irb"],keywords:c,illegal:/\/\*/,contains:f.concat(n).concat(j)}}),a.registerLanguage("erb",function(a){return{subLanguage:"xml",contains:[a.COMMENT("<%#","%>"),{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0}]}}),a.registerLanguage("erlang-repl",function(a){return{keywords:{special_functions:"spawn spawn_link self",reserved:"after and andalso|10 band begin bnot bor bsl bsr bxor case catch cond div end fun if let not of or orelse|10 query receive rem try when xor"},contains:[{className:"prompt",begin:"^[0-9]+> ",relevance:10},a.COMMENT("%","$"),{className:"number",begin:"\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)",relevance:0},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,{className:"constant",begin:"\\?(::)?([A-Z]\\w*(::)?)+"},{className:"arrow",begin:"->"},{className:"ok",begin:"ok"},{className:"exclamation_mark",begin:"!"},{className:"function_or_atom",begin:"(\\b[a-z'][a-zA-Z0-9_']*:[a-z'][a-zA-Z0-9_']*)|(\\b[a-z'][a-zA-Z0-9_']*)",relevance:0},{className:"variable",begin:"[A-Z][a-zA-Z0-9_']*",relevance:0}]}}),a.registerLanguage("erlang",function(a){var b="[a-z'][a-zA-Z0-9_']*",c="("+b+":"+b+"|"+b+")",d={keyword:"after and andalso|10 band begin bnot bor bsl bzr bxor case catch cond div end fun if let not of orelse|10 query receive rem try when xor",literal:"false true"},e=a.COMMENT("%","$"),f={className:"number",begin:"\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)",relevance:0},g={begin:"fun\\s+"+b+"/\\d+"},h={begin:c+"\\(",end:"\\)",returnBegin:!0,relevance:0,contains:[{className:"function_name",begin:c,relevance:0},{begin:"\\(",end:"\\)",endsWithParent:!0,returnEnd:!0,relevance:0}]},i={className:"tuple",begin:"{",end:"}",relevance:0},j={className:"variable",begin:"\\b_([A-Z][A-Za-z0-9_]*)?",relevance:0},k={className:"variable",begin:"[A-Z][a-zA-Z0-9_]*",relevance:0},l={begin:"#"+a.UNDERSCORE_IDENT_RE,relevance:0,returnBegin:!0,contains:[{className:"record_name",begin:"#"+a.UNDERSCORE_IDENT_RE,relevance:0},{begin:"{",end:"}",relevance:0}]},m={beginKeywords:"fun receive if try case",end:"end",keywords:d};m.contains=[e,g,a.inherit(a.APOS_STRING_MODE,{className:""}),m,h,a.QUOTE_STRING_MODE,f,i,j,k,l];var n=[e,g,m,h,a.QUOTE_STRING_MODE,f,i,j,k,l];h.contains[1].contains=n,i.contains=n,l.contains[1].contains=n;var o={className:"params",begin:"\\(",end:"\\)",contains:n};return{aliases:["erl"],keywords:d,illegal:"(</|\\*=|\\+=|-=|/\\*|\\*/|\\(\\*|\\*\\))",contains:[{className:"function",begin:"^"+b+"\\s*\\(",end:"->",returnBegin:!0,illegal:"\\(|#|//|/\\*|\\\\|:|;",contains:[o,a.inherit(a.TITLE_MODE,{begin:b})],starts:{end:";|\\.",keywords:d,contains:n}},e,{className:"pp",begin:"^-",end:"\\.",relevance:0,excludeEnd:!0,returnBegin:!0,lexemes:"-"+a.IDENT_RE,keywords:"-module -record -undef -export -ifdef -ifndef -author -copyright -doc -vsn -import -include -include_lib -compile -define -else -endif -file -behaviour -behavior -spec",contains:[o]},f,a.QUOTE_STRING_MODE,l,j,k,i,{begin:/\.$/}]}}),a.registerLanguage("fix",function(a){return{contains:[{begin:/[^\u2401\u0001]+/,end:/[\u2401\u0001]/,excludeEnd:!0,returnBegin:!0,returnEnd:!1,contains:[{begin:/([^\u2401\u0001=]+)/,end:/=([^\u2401\u0001=]+)/,returnEnd:!0,returnBegin:!1,className:"attribute"},{begin:/=/,end:/([\u2401\u0001])/,excludeEnd:!0,excludeBegin:!0,className:"string"}]}],case_insensitive:!0}}),a.registerLanguage("fortran",function(a){var b={className:"params",begin:"\\(",end:"\\)"},c={constant:".False. .True.",type:"integer real character complex logical dimension allocatable|10 parameter external implicit|10 none double precision assign intent optional pointer target in out common equivalence data",keyword:"kind do while private call intrinsic where elsewhere type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. goto save else use module select case access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit continue format pause cycle exit c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg synchronous nopass non_overridable pass protected volatile abstract extends import non_intrinsic value deferred generic final enumerator class associate bind enum c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated  c_f_pointer c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure",built_in:"alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_ofacosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image"};return{case_insensitive:!0,aliases:["f90","f95"],keywords:c,illegal:/\/\*/,contains:[a.inherit(a.APOS_STRING_MODE,{className:"string",relevance:0}),a.inherit(a.QUOTE_STRING_MODE,{className:"string",relevance:0}),{className:"function",beginKeywords:"subroutine function program",illegal:"[${=\\n]",contains:[a.UNDERSCORE_TITLE_MODE,b]},a.COMMENT("!","$",{relevance:0}),{className:"number",begin:"(?=\\b|\\+|\\-|\\.)(?=\\.\\d|\\d)(?:\\d+)?(?:\\.?\\d*)(?:[de][+-]?\\d+)?\\b\\.?",relevance:0}]}}),a.registerLanguage("fsharp",function(a){var b={begin:"<",end:">",contains:[a.inherit(a.TITLE_MODE,{begin:/'[a-zA-Z0-9_]+/})]};return{aliases:["fs"],keywords:"abstract and as assert base begin class default delegate do done downcast downto elif else end exception extern false finally for fun function global if in inherit inline interface internal lazy let match member module mutable namespace new null of open or override private public rec return sig static struct then to true try type upcast use val void when while with yield",illegal:/\/\*/,contains:[{className:"keyword",begin:/\b(yield|return|let|do)!/},{className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},{className:"string",begin:'"""',end:'"""'},a.COMMENT("\\(\\*","\\*\\)"),{className:"class",beginKeywords:"type",end:"\\(|=|$",excludeEnd:!0,contains:[a.UNDERSCORE_TITLE_MODE,b]},{className:"annotation",begin:"\\[<",end:">\\]",relevance:10},{className:"attribute",begin:"\\B('[A-Za-z])\\b",contains:[a.BACKSLASH_ESCAPE]},a.C_LINE_COMMENT_MODE,a.inherit(a.QUOTE_STRING_MODE,{illegal:null}),a.C_NUMBER_MODE]}}),a.registerLanguage("gams",function(a){var b="abort acronym acronyms alias all and assign binary card diag display else1 eps eq equation equations file files for1 free ge gt if inf integer le loop lt maximizing minimizing model models na ne negative no not option options or ord parameter parameters positive prod putpage puttl repeat sameas scalar scalars semicont semiint set1 sets smax smin solve sos1 sos2 sum system table then until using variable variables while1 xor yes";return{aliases:["gms"],case_insensitive:!0,keywords:b,contains:[{className:"section",beginKeywords:"sets parameters variables equations",end:";",contains:[{begin:"/",end:"/",contains:[a.NUMBER_MODE]}]},{className:"string",begin:"\\*{3}",end:"\\*{3}"},a.NUMBER_MODE,{className:"number",begin:"\\$[a-zA-Z0-9]+"}]}}),a.registerLanguage("gcode",function(a){var b="[A-Z_][A-Z0-9_.]*",c="\\%",d={literal:"",built_in:"",keyword:"IF DO WHILE ENDWHILE CALL ENDIF SUB ENDSUB GOTO REPEAT ENDREPEAT EQ LT GT NE GE LE OR XOR"},e={className:"preprocessor",begin:"([O])([0-9]+)"},f=[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.COMMENT(/\(/,/\)/),a.inherit(a.C_NUMBER_MODE,{begin:"([-+]?([0-9]*\\.?[0-9]+\\.?))|"+a.C_NUMBER_RE}),a.inherit(a.APOS_STRING_MODE,{illegal:null}),a.inherit(a.QUOTE_STRING_MODE,{illegal:null}),{className:"keyword",begin:"([G])([0-9]+\\.?[0-9]?)"},{className:"title",begin:"([M])([0-9]+\\.?[0-9]?)"},{className:"title",begin:"(VC|VS|#)",end:"(\\d+)"},{className:"title",begin:"(VZOFX|VZOFY|VZOFZ)"},{className:"built_in",begin:"(ATAN|ABS|ACOS|ASIN|SIN|COS|EXP|FIX|FUP|ROUND|LN|TAN)(\\[)",end:"([-+]?([0-9]*\\.?[0-9]+\\.?))(\\])"},{className:"label",variants:[{begin:"N",end:"\\d+",illegal:"\\W"}]}];return{aliases:["nc"],case_insensitive:!0,lexemes:b,keywords:d,contains:[{className:"preprocessor",begin:c},e].concat(f)}}),a.registerLanguage("gherkin",function(a){return{aliases:["feature"],keywords:"Feature Background Ability Business Need Scenario Scenarios Scenario Outline Scenario Template Examples Given And Then But When",contains:[{className:"keyword",begin:"\\*"},a.COMMENT("@[^@\r\n    ]+","$"),{begin:"\\|",end:"\\|\\w*$",contains:[{className:"string",begin:"[^|]+"}]},{className:"variable",begin:"<",end:">"},a.HASH_COMMENT_MODE,{className:"string",begin:'"""',end:'"""'},a.QUOTE_STRING_MODE]}}),a.registerLanguage("glsl",function(a){return{keywords:{keyword:"atomic_uint attribute bool break bvec2 bvec3 bvec4 case centroid coherent const continue default discard dmat2 dmat2x2 dmat2x3 dmat2x4 dmat3 dmat3x2 dmat3x3 dmat3x4 dmat4 dmat4x2 dmat4x3 dmat4x4 do double dvec2 dvec3 dvec4 else flat float for highp if iimage1D iimage1DArray iimage2D iimage2DArray iimage2DMS iimage2DMSArray iimage2DRect iimage3D iimageBuffer iimageCube iimageCubeArray image1D image1DArray image2D image2DArray image2DMS image2DMSArray image2DRect image3D imageBuffer imageCube imageCubeArray in inout int invariant isampler1D isampler1DArray isampler2D isampler2DArray isampler2DMS isampler2DMSArray isampler2DRect isampler3D isamplerBuffer isamplerCube isamplerCubeArray ivec2 ivec3 ivec4 layout lowp mat2 mat2x2 mat2x3 mat2x4 mat3 mat3x2 mat3x3 mat3x4 mat4 mat4x2 mat4x3 mat4x4 mediump noperspective out patch precision readonly restrict return sample sampler1D sampler1DArray sampler1DArrayShadow sampler1DShadow sampler2D sampler2DArray sampler2DArrayShadow sampler2DMS sampler2DMSArray sampler2DRect sampler2DRectShadow sampler2DShadow sampler3D samplerBuffer samplerCube samplerCubeArray samplerCubeArrayShadow samplerCubeShadow smooth struct subroutine switch uimage1D uimage1DArray uimage2D uimage2DArray uimage2DMS uimage2DMSArray uimage2DRect uimage3D uimageBuffer uimageCube uimageCubeArray uint uniform usampler1D usampler1DArray usampler2D usampler2DArray usampler2DMS usampler2DMSArray usampler2DRect usampler3D usamplerBuffer usamplerCube usamplerCubeArray uvec2 uvec3 uvec4 varying vec2 vec3 vec4 void volatile while writeonly",built_in:"gl_BackColor gl_BackLightModelProduct gl_BackLightProduct gl_BackMaterial gl_BackSecondaryColor gl_ClipDistance gl_ClipPlane gl_ClipVertex gl_Color gl_DepthRange gl_EyePlaneQ gl_EyePlaneR gl_EyePlaneS gl_EyePlaneT gl_Fog gl_FogCoord gl_FogFragCoord gl_FragColor gl_FragCoord gl_FragData gl_FragDepth gl_FrontColor gl_FrontFacing gl_FrontLightModelProduct gl_FrontLightProduct gl_FrontMaterial gl_FrontSecondaryColor gl_InstanceID gl_InvocationID gl_Layer gl_LightModel gl_LightSource gl_MaxAtomicCounterBindings gl_MaxAtomicCounterBufferSize gl_MaxClipDistances gl_MaxClipPlanes gl_MaxCombinedAtomicCounterBuffers gl_MaxCombinedAtomicCounters gl_MaxCombinedImageUniforms gl_MaxCombinedImageUnitsAndFragmentOutputs gl_MaxCombinedTextureImageUnits gl_MaxDrawBuffers gl_MaxFragmentAtomicCounterBuffers gl_MaxFragmentAtomicCounters gl_MaxFragmentImageUniforms gl_MaxFragmentInputComponents gl_MaxFragmentUniformComponents gl_MaxFragmentUniformVectors gl_MaxGeometryAtomicCounterBuffers gl_MaxGeometryAtomicCounters gl_MaxGeometryImageUniforms gl_MaxGeometryInputComponents gl_MaxGeometryOutputComponents gl_MaxGeometryOutputVertices gl_MaxGeometryTextureImageUnits gl_MaxGeometryTotalOutputComponents gl_MaxGeometryUniformComponents gl_MaxGeometryVaryingComponents gl_MaxImageSamples gl_MaxImageUnits gl_MaxLights gl_MaxPatchVertices gl_MaxProgramTexelOffset gl_MaxTessControlAtomicCounterBuffers gl_MaxTessControlAtomicCounters gl_MaxTessControlImageUniforms gl_MaxTessControlInputComponents gl_MaxTessControlOutputComponents gl_MaxTessControlTextureImageUnits gl_MaxTessControlTotalOutputComponents gl_MaxTessControlUniformComponents gl_MaxTessEvaluationAtomicCounterBuffers gl_MaxTessEvaluationAtomicCounters gl_MaxTessEvaluationImageUniforms gl_MaxTessEvaluationInputComponents gl_MaxTessEvaluationOutputComponents gl_MaxTessEvaluationTextureImageUnits gl_MaxTessEvaluationUniformComponents gl_MaxTessGenLevel gl_MaxTessPatchComponents gl_MaxTextureCoords gl_MaxTextureImageUnits gl_MaxTextureUnits gl_MaxVaryingComponents gl_MaxVaryingFloats gl_MaxVaryingVectors gl_MaxVertexAtomicCounterBuffers gl_MaxVertexAtomicCounters gl_MaxVertexAttribs gl_MaxVertexImageUniforms gl_MaxVertexOutputComponents gl_MaxVertexTextureImageUnits gl_MaxVertexUniformComponents gl_MaxVertexUniformVectors gl_MaxViewports gl_MinProgramTexelOffsetgl_ModelViewMatrix gl_ModelViewMatrixInverse gl_ModelViewMatrixInverseTranspose gl_ModelViewMatrixTranspose gl_ModelViewProjectionMatrix gl_ModelViewProjectionMatrixInverse gl_ModelViewProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixTranspose gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_Normal gl_NormalMatrix gl_NormalScale gl_ObjectPlaneQ gl_ObjectPlaneR gl_ObjectPlaneS gl_ObjectPlaneT gl_PatchVerticesIn gl_PerVertex gl_Point gl_PointCoord gl_PointSize gl_Position gl_PrimitiveID gl_PrimitiveIDIn gl_ProjectionMatrix gl_ProjectionMatrixInverse gl_ProjectionMatrixInverseTranspose gl_ProjectionMatrixTranspose gl_SampleID gl_SampleMask gl_SampleMaskIn gl_SamplePosition gl_SecondaryColor gl_TessCoord gl_TessLevelInner gl_TessLevelOuter gl_TexCoord gl_TextureEnvColor gl_TextureMatrixInverseTranspose gl_TextureMatrixTranspose gl_Vertex gl_VertexID gl_ViewportIndex gl_in gl_out EmitStreamVertex EmitVertex EndPrimitive EndStreamPrimitive abs acos acosh all any asin asinh atan atanh atomicCounter atomicCounterDecrement atomicCounterIncrement barrier bitCount bitfieldExtract bitfieldInsert bitfieldReverse ceil clamp cos cosh cross dFdx dFdy degrees determinant distance dot equal exp exp2 faceforward findLSB findMSB floatBitsToInt floatBitsToUint floor fma fract frexp ftransform fwidth greaterThan greaterThanEqual imageAtomicAdd imageAtomicAnd imageAtomicCompSwap imageAtomicExchange imageAtomicMax imageAtomicMin imageAtomicOr imageAtomicXor imageLoad imageStore imulExtended intBitsToFloat interpolateAtCentroid interpolateAtOffset interpolateAtSample inverse inversesqrt isinf isnan ldexp length lessThan lessThanEqual log log2 matrixCompMult max memoryBarrier min mix mod modf noise1 noise2 noise3 noise4 normalize not notEqual outerProduct packDouble2x32 packHalf2x16 packSnorm2x16 packSnorm4x8 packUnorm2x16 packUnorm4x8 pow radians reflect refract round roundEven shadow1D shadow1DLod shadow1DProj shadow1DProjLod shadow2D shadow2DLod shadow2DProj shadow2DProjLod sign sin sinh smoothstep sqrt step tan tanh texelFetch texelFetchOffset texture texture1D texture1DLod texture1DProj texture1DProjLod texture2D texture2DLod texture2DProj texture2DProjLod texture3D texture3DLod texture3DProj texture3DProjLod textureCube textureCubeLod textureGather textureGatherOffset textureGatherOffsets textureGrad textureGradOffset textureLod textureLodOffset textureOffset textureProj textureProjGrad textureProjGradOffset textureProjLod textureProjLodOffset textureProjOffset textureQueryLod textureSize transpose trunc uaddCarry uintBitsToFloat umulExtended unpackDouble2x32 unpackHalf2x16 unpackSnorm2x16 unpackSnorm4x8 unpackUnorm2x16 unpackUnorm4x8 usubBorrow gl_TextureMatrix gl_TextureMatrixInverse",literal:"true false"},illegal:'"',contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.C_NUMBER_MODE,{className:"preprocessor",begin:"#",end:"$"}]}}),a.registerLanguage("go",function(a){var b={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer",
-constant:"true false iota nil",typename:"bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{aliases:["golang"],keywords:b,illegal:"</",contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'"},{className:"string",begin:"`",end:"`"},{className:"number",begin:a.C_NUMBER_RE+"[dflsi]?",relevance:0},a.C_NUMBER_MODE]}}),a.registerLanguage("golo",function(a){return{keywords:{keyword:"println readln print import module function local return let var while for foreach times in case when match with break continue augment augmentation each find filter reduce if then else otherwise try catch finally raise throw orIfNull",typename:"DynamicObject|10 DynamicVariable struct Observable map set vector list array",literal:"true false null"},contains:[a.HASH_COMMENT_MODE,a.QUOTE_STRING_MODE,a.C_NUMBER_MODE,{className:"annotation",begin:"@[A-Za-z]+"}]}}),a.registerLanguage("gradle",function(a){return{case_insensitive:!0,keywords:{keyword:"task project allprojects subprojects artifacts buildscript configurations dependencies repositories sourceSets description delete from into include exclude source classpath destinationDir includes options sourceCompatibility targetCompatibility group flatDir doLast doFirst flatten todir fromdir ant def abstract break case catch continue default do else extends final finally for if implements instanceof native new private protected public return static switch synchronized throw throws transient try volatile while strictfp package import false null super this true antlrtask checkstyle codenarc copy boolean byte char class double float int interface long short void compile runTime file fileTree abs any append asList asWritable call collect compareTo count div dump each eachByte eachFile eachLine every find findAll flatten getAt getErr getIn getOut getText grep immutable inject inspect intersect invokeMethods isCase join leftShift minus multiply newInputStream newOutputStream newPrintWriter newReader newWriter next plus pop power previous print println push putAt read readBytes readLines reverse reverseEach round size sort splitEachLine step subMap times toInteger toList tokenize upto waitForOrKill withPrintWriter withReader withStream withWriter withWriterAppend write writeLine"},contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.NUMBER_MODE,a.REGEXP_MODE]}}),a.registerLanguage("groovy",function(a){return{keywords:{typename:"byte short char int long boolean float double void",literal:"true false null",keyword:"def as in assert trait super this abstract static volatile transient public private protected synchronized final class interface enum if else for while switch case break default continue throw throws try catch finally implements extends new import package return instanceof"},contains:[a.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{className:"string",begin:'"""',end:'"""'},{className:"string",begin:"'''",end:"'''"},{className:"string",begin:"\\$/",end:"/\\$",relevance:10},a.APOS_STRING_MODE,{className:"regexp",begin:/~?\/[^\/\n]+\//,contains:[a.BACKSLASH_ESCAPE]},a.QUOTE_STRING_MODE,{className:"shebang",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},a.BINARY_NUMBER_MODE,{className:"class",beginKeywords:"class interface trait enum",end:"{",illegal:":",contains:[{beginKeywords:"extends implements"},a.UNDERSCORE_TITLE_MODE]},a.C_NUMBER_MODE,{className:"annotation",begin:"@[A-Za-z]+"},{className:"string",begin:/[^\?]{0}[A-Za-z0-9_$]+ *:/},{begin:/\?/,end:/\:/},{className:"label",begin:"^\\s*[A-Za-z0-9_$]+:",relevance:0}],illegal:/#/}}),a.registerLanguage("haml",function(a){return{case_insensitive:!0,contains:[{className:"doctype",begin:"^!!!( (5|1\\.1|Strict|Frameset|Basic|Mobile|RDFa|XML\\b.*))?$",relevance:10},a.COMMENT("^\\s*(!=#|=#|-#|/).*$",!1,{relevance:0}),{begin:"^\\s*(-|=|!=)(?!#)",starts:{end:"\\n",subLanguage:"ruby"}},{className:"tag",begin:"^\\s*%",contains:[{className:"title",begin:"\\w+"},{className:"value",begin:"[#\\.][\\w-]+"},{begin:"{\\s*",end:"\\s*}",excludeEnd:!0,contains:[{begin:":\\w+\\s*=>",end:",\\s+",returnBegin:!0,endsWithParent:!0,contains:[{className:"symbol",begin:":\\w+"},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,{begin:"\\w+",relevance:0}]}]},{begin:"\\(\\s*",end:"\\s*\\)",excludeEnd:!0,contains:[{begin:"\\w+\\s*=",end:"\\s+",returnBegin:!0,endsWithParent:!0,contains:[{className:"attribute",begin:"\\w+",relevance:0},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,{begin:"\\w+",relevance:0}]}]}]},{className:"bullet",begin:"^\\s*[=~]\\s*",relevance:0},{begin:"#{",starts:{end:"}",subLanguage:"ruby"}}]}}),a.registerLanguage("handlebars",function(a){var b="each in with if else unless bindattr action collection debugger log outlet template unbound view yield";return{aliases:["hbs","html.hbs","html.handlebars"],case_insensitive:!0,subLanguage:"xml",contains:[{className:"expression",begin:"{{",end:"}}",contains:[{className:"begin-block",begin:"#[a-zA-Z- .]+",keywords:b},{className:"string",begin:'"',end:'"'},{className:"end-block",begin:"\\/[a-zA-Z- .]+",keywords:b},{className:"variable",begin:"[a-zA-Z-.]+",keywords:b}]}]}}),a.registerLanguage("haskell",function(a){var b=[a.COMMENT("--","$"),a.COMMENT("{-","-}",{contains:["self"]})],c={className:"pragma",begin:"{-#",end:"#-}"},d={className:"preprocessor",begin:"^#",end:"$"},e={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},f={className:"container",begin:"\\(",end:"\\)",illegal:'"',contains:[c,d,{className:"type",begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},a.inherit(a.TITLE_MODE,{begin:"[_a-z][\\w']*"})].concat(b)},g={className:"container",begin:"{",end:"}",contains:f.contains};return{aliases:["hs"],keywords:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",contains:[{className:"module",begin:"\\bmodule\\b",end:"where",keywords:"module where",contains:[f].concat(b),illegal:"\\W\\.|;"},{className:"import",begin:"\\bimport\\b",end:"$",keywords:"import|0 qualified as hiding",contains:[f].concat(b),illegal:"\\W\\.|;"},{className:"class",begin:"^(\\s*)?(class|instance)\\b",end:"where",keywords:"class family instance where",contains:[e,f].concat(b)},{className:"typedef",begin:"\\b(data|(new)?type)\\b",end:"$",keywords:"data family type newtype deriving",contains:[c,e,f,g].concat(b)},{className:"default",beginKeywords:"default",end:"$",contains:[e,f].concat(b)},{className:"infix",beginKeywords:"infix infixl infixr",end:"$",contains:[a.C_NUMBER_MODE].concat(b)},{className:"foreign",begin:"\\bforeign\\b",end:"$",keywords:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",contains:[e,a.QUOTE_STRING_MODE].concat(b)},{className:"shebang",begin:"#!\\/usr\\/bin\\/env runhaskell",end:"$"},c,d,a.QUOTE_STRING_MODE,a.C_NUMBER_MODE,e,a.inherit(a.TITLE_MODE,{begin:"^[_a-z][\\w']*"}),{begin:"->|<-"}].concat(b)}}),a.registerLanguage("haxe",function(a){var b="([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)";return{aliases:["hx"],keywords:{keyword:"break callback case cast catch class continue default do dynamic else enum extends extern for function here if implements import in inline interface never new override package private public return static super switch this throw trace try typedef untyped using var while",literal:"true false null"},contains:[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.C_NUMBER_MODE,{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,contains:[{beginKeywords:"extends implements"},a.TITLE_MODE]},{className:"preprocessor",begin:"#",end:"$",keywords:"if else elseif end error"},{className:"function",beginKeywords:"function",end:"[{;]",excludeEnd:!0,illegal:"\\S",contains:[a.TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",contains:[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},{className:"type",begin:":",end:b,relevance:10}]}]}}),a.registerLanguage("http",function(a){return{aliases:["https"],illegal:"\\S",contains:[{className:"status",begin:"^HTTP/[0-9\\.]+",end:"$",contains:[{className:"number",begin:"\\b\\d{3}\\b"}]},{className:"request",begin:"^[A-Z]+ (.*?) HTTP/[0-9\\.]+$",returnBegin:!0,end:"$",contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0}]},{className:"attribute",begin:"^\\w",end:": ",excludeEnd:!0,illegal:"\\n|\\s|=",starts:{className:"string",end:"$"}},{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}]}}),a.registerLanguage("inform7",function(a){var b="\\[",c="\\]";return{aliases:["i7"],case_insensitive:!0,keywords:{keyword:"thing room person man woman animal container supporter backdrop door scenery open closed locked inside gender is are say understand kind of rule"},contains:[{className:"string",begin:'"',end:'"',relevance:0,contains:[{className:"subst",begin:b,end:c}]},{className:"title",begin:/^(Volume|Book|Part|Chapter|Section|Table)\b/,end:"$"},{begin:/^(Check|Carry out|Report|Instead of|To|Rule|When|Before|After)\b/,end:":",contains:[{begin:"\\b\\(This",end:"\\)"}]},{className:"comment",begin:b,end:c,contains:["self"]}]}}),a.registerLanguage("ini",function(a){var b={className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]};return{aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[a.COMMENT(";","$"),a.HASH_COMMENT_MODE,{className:"title",begin:/^\s*\[+/,end:/\]+/},{className:"setting",begin:/^[a-z0-9\[\]_-]+\s*=\s*/,end:"$",contains:[{className:"value",endsWithParent:!0,keywords:"on off true false yes no",contains:[{className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)}/}]},b,{className:"number",begin:/([\+\-]+)?[\d]+_[\d_]+/},a.NUMBER_MODE],relevance:0}]}]}}),a.registerLanguage("irpf90",function(a){var b={className:"params",begin:"\\(",end:"\\)"},c={constant:".False. .True.",type:"integer real character complex logical dimension allocatable|10 parameter external implicit|10 none double precision assign intent optional pointer target in out common equivalence data",keyword:"kind do while private call intrinsic where elsewhere type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. goto save else use module select case access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit continue format pause cycle exit c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg synchronous nopass non_overridable pass protected volatile abstract extends import non_intrinsic value deferred generic final enumerator class associate bind enum c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated  c_f_pointer c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure begin_provider &begin_provider end_provider begin_shell end_shell begin_template end_template subst assert touch soft_touch provide no_dep free irp_if irp_else irp_endif irp_write irp_read",built_in:"alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_ofacosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image IRP_ALIGN irp_here"};return{case_insensitive:!0,keywords:c,illegal:/\/\*/,contains:[a.inherit(a.APOS_STRING_MODE,{className:"string",relevance:0}),a.inherit(a.QUOTE_STRING_MODE,{className:"string",relevance:0}),{className:"function",beginKeywords:"subroutine function program",illegal:"[${=\\n]",contains:[a.UNDERSCORE_TITLE_MODE,b]},a.COMMENT("!","$",{relevance:0}),a.COMMENT("begin_doc","end_doc",{relevance:10}),{className:"number",begin:"(?=\\b|\\+|\\-|\\.)(?=\\.\\d|\\d)(?:\\d+)?(?:\\.?\\d*)(?:[de][+-]?\\d+)?\\b\\.?",relevance:0}]}}),a.registerLanguage("java",function(a){var b=a.UNDERSCORE_IDENT_RE+"(<"+a.UNDERSCORE_IDENT_RE+">)?",c="false synchronized int abstract float private char boolean static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private",d="\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",e={className:"number",begin:d,relevance:0};return{aliases:["jsp"],keywords:c,illegal:/<\/|#/,contains:[a.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,{className:"class",beginKeywords:"class interface",end:/[{;=]/,excludeEnd:!0,keywords:"class interface",illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends implements"},a.UNDERSCORE_TITLE_MODE]},{beginKeywords:"new throw return else",relevance:0},{className:"function",begin:"("+b+"\\s+)+"+a.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:c,contains:[{begin:a.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[a.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_NUMBER_MODE,a.C_BLOCK_COMMENT_MODE]},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},e,{className:"annotation",begin:"@[A-Za-z]+"}]}}),a.registerLanguage("javascript",function(a){return{aliases:["js"],keywords:{keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},contains:[{className:"pi",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,{className:"string",begin:"`",end:"`",contains:[a.BACKSLASH_ESCAPE,{className:"subst",begin:"\\$\\{",end:"\\}"}]},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{className:"number",variants:[{begin:"\\b(0[bB][01]+)"},{begin:"\\b(0[oO][0-7]+)"},{begin:a.C_NUMBER_RE}],relevance:0},{begin:"("+a.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.REGEXP_MODE,{begin:/</,end:/>\s*[);\]]/,relevance:0,subLanguage:"xml"}],relevance:0},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[a.inherit(a.TITLE_MODE,{begin:/[A-Za-z$_][0-9A-Za-z$_]*/}),{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]}],illegal:/\[|%/},{begin:/\$[(.]/},{begin:"\\."+a.IDENT_RE,relevance:0},{beginKeywords:"import",end:"[;$]",keywords:"import from as",contains:[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE]},{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends"},a.UNDERSCORE_TITLE_MODE]}],illegal:/#/}}),a.registerLanguage("json",function(a){var b={literal:"true false null"},c=[a.QUOTE_STRING_MODE,a.C_NUMBER_MODE],d={className:"value",end:",",endsWithParent:!0,excludeEnd:!0,contains:c,keywords:b},e={begin:"{",end:"}",contains:[{className:"attribute",begin:'\\s*"',end:'"\\s*:\\s*',excludeBegin:!0,excludeEnd:!0,contains:[a.BACKSLASH_ESCAPE],illegal:"\\n",starts:d}],illegal:"\\S"},f={begin:"\\[",end:"\\]",contains:[a.inherit(d,{className:null})],illegal:"\\S"};return c.splice(c.length,0,e,f),{contains:c,keywords:b,illegal:"\\S"}}),a.registerLanguage("julia",function(a){var b={keyword:"in abstract baremodule begin bitstype break catch ccall const continue do else elseif end export finally for function global if immutable import importall let local macro module quote return try type typealias using while",literal:"true false ANY ARGS CPU_CORES C_NULL DL_LOAD_PATH DevNull ENDIAN_BOM ENV I|0 Inf Inf16 Inf32 InsertionSort JULIA_HOME LOAD_PATH MS_ASYNC MS_INVALIDATE MS_SYNC MergeSort NaN NaN16 NaN32 OS_NAME QuickSort RTLD_DEEPBIND RTLD_FIRST RTLD_GLOBAL RTLD_LAZY RTLD_LOCAL RTLD_NODELETE RTLD_NOLOAD RTLD_NOW RoundDown RoundFromZero RoundNearest RoundToZero RoundUp STDERR STDIN STDOUT VERSION WORD_SIZE catalan cglobal e|0 eu|0 eulergamma golden im nothing pi γ π φ",built_in:"ASCIIString AbstractArray AbstractRNG AbstractSparseArray Any ArgumentError Array Associative Base64Pipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError Box CFILE Cchar Cdouble Cfloat Char CharString Cint Clong Clonglong ClusterManager Cmd Coff_t Colon Complex Complex128 Complex32 Complex64 Condition Cptrdiff_t Cshort Csize_t Cssize_t Cuchar Cuint Culong Culonglong Cushort Cwchar_t DArray DataType DenseArray Diagonal Dict DimensionMismatch DirectIndexString Display DivideError DomainError EOFError EachLine Enumerate ErrorException Exception Expr Factorization FileMonitor FileOffset Filter Float16 Float32 Float64 FloatRange FloatingPoint Function GetfieldNode GotoNode Hermitian IO IOBuffer IOStream IPv4 IPv6 InexactError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException IntrinsicFunction KeyError LabelNode LambdaStaticData LineNumberNode LoadError LocalProcess MIME MathConst MemoryError MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode Nothing Number ObjectIdDict OrdinalRange OverflowError ParseError PollingFileWatcher ProcessExitedException ProcessGroup Ptr QuoteNode Range Range1 Ranges Rational RawFD Real Regex RegexMatch RemoteRef RepString RevString RopeString RoundingMode Set SharedArray Signed SparseMatrixCSC StackOverflowError Stat StatStruct StepRange String SubArray SubString SymTridiagonal Symbol SymbolNode Symmetric SystemError Task TextDisplay Timer TmStruct TopNode Triangular Tridiagonal Type TypeConstructor TypeError TypeName TypeVar UTF16String UTF32String UTF8String UdpSocket Uint Uint128 Uint16 Uint32 Uint64 Uint8 UndefRefError UndefVarError UniformScaling UnionType UnitRange Unsigned Vararg VersionNumber WString WeakKeyDict WeakRef Woodbury Zip"},c="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",d={lexemes:c,keywords:b},e={className:"type-annotation",begin:/::/},f={className:"subtype",begin:/<:/},g={className:"number",begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,relevance:0},h={className:"char",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},i={className:"subst",begin:/\$\(/,end:/\)/,keywords:b},j={className:"variable",begin:"\\$"+c},k={className:"string",contains:[a.BACKSLASH_ESCAPE,i,j],variants:[{begin:/\w*"/,end:/"\w*/},{begin:/\w*"""/,end:/"""\w*/}]},l={className:"string",contains:[a.BACKSLASH_ESCAPE,i,j],begin:"`",end:"`"},m={className:"macrocall",begin:"@"+c},n={className:"comment",variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#",end:"$"}]};return d.contains=[g,h,e,f,k,l,m,n,a.HASH_COMMENT_MODE],i.contains=d.contains,d}),a.registerLanguage("kotlin",function(a){var b="val var get set class trait object public open private protected final enum if else do while for when break continue throw try catch finally import package is as in return fun override default companion reified inline volatile transient native";return{keywords:{typename:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null",keyword:b},contains:[a.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{className:"type",begin:/</,end:/>/,returnBegin:!0,excludeEnd:!1,relevance:0},{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:b,illegal:/fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/,relevance:5,contains:[{begin:a.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[a.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,keywords:b,relevance:0,illegal:/\([^\(,\s:]+,/,contains:[{className:"typename",begin:/:\s*/,end:/\s*[=\)]/,excludeBegin:!0,returnEnd:!0,relevance:0}]},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},{className:"class",beginKeywords:"class trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[a.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"typename",begin:/[,:]\s*/,end:/[<\(,]|$/,excludeBegin:!0,returnEnd:!0}]},{className:"variable",beginKeywords:"var val",end:/\s*[=:$]/,excludeEnd:!0},a.QUOTE_STRING_MODE,{className:"shebang",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},a.C_NUMBER_MODE]}}),a.registerLanguage("lasso",function(a){var b="[a-zA-Z_][a-zA-Z0-9_.]*",c="<\\?(lasso(script)?|=)",d="\\]|\\?>",e={literal:"true false none minimal full all void bw nbw ew new cn ncn lt lte gt gte eq neq rx nrx ft",built_in:"array date decimal duration integer map pair string tag xml null boolean bytes keyword list locale queue set stack staticarray local var variable global data self inherited currentcapture givenblock",keyword:"error_code error_msg error_pop error_push error_reset cache database_names database_schemanames database_tablenames define_tag define_type email_batch encode_set html_comment handle handle_error header if inline iterate ljax_target link link_currentaction link_currentgroup link_currentrecord link_detail link_firstgroup link_firstrecord link_lastgroup link_lastrecord link_nextgroup link_nextrecord link_prevgroup link_prevrecord log loop namespace_using output_none portal private protect records referer referrer repeating resultset rows search_args search_arguments select sort_args sort_arguments thread_atomic value_list while abort case else if_empty if_false if_null if_true loop_abort loop_continue loop_count params params_up return return_value run_children soap_definetag soap_lastrequest soap_lastresponse tag_name ascending average by define descending do equals frozen group handle_failure import in into join let match max min on order parent protected provide public require returnhome skip split_thread sum take thread to trait type where with yield yieldhome"},f=a.COMMENT("<!--","-->",{relevance:0}),g={className:"preprocessor",begin:"\\[noprocess\\]",starts:{className:"markup",end:"\\[/noprocess\\]",returnEnd:!0,contains:[f]}},h={className:"preprocessor",begin:"\\[/noprocess|"+c},i={className:"variable",begin:"'"+b+"'"},j=[a.COMMENT("/\\*\\*!","\\*/"),a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.inherit(a.C_NUMBER_MODE,{begin:a.C_NUMBER_RE+"|(infinity|nan)\\b"}),a.inherit(a.APOS_STRING_MODE,{illegal:null}),a.inherit(a.QUOTE_STRING_MODE,{illegal:null}),{className:"string",begin:"`",end:"`"},{className:"variable",variants:[{begin:"[#$]"+b},{begin:"#",end:"\\d+",illegal:"\\W"}]},{className:"tag",begin:"::\\s*",end:b,illegal:"\\W"},{className:"attribute",variants:[{begin:"-(?!infinity)"+a.UNDERSCORE_IDENT_RE,relevance:0},{begin:"(\\.\\.\\.)"}]},{className:"subst",variants:[{begin:"->\\s*",contains:[i]},{begin:"->|\\\\|&&?|\\|\\||!(?!=|>)|(and|or|not)\\b",relevance:0}]},{className:"built_in",begin:"\\.\\.?\\s*",relevance:0,contains:[i]},{className:"class",beginKeywords:"define",returnEnd:!0,end:"\\(|=>",contains:[a.inherit(a.TITLE_MODE,{begin:a.UNDERSCORE_IDENT_RE+"(=(?!>))?"})]}];return{aliases:["ls","lassoscript"],case_insensitive:!0,lexemes:b+"|&[lg]t;",keywords:e,contains:[{className:"preprocessor",begin:d,relevance:0,starts:{className:"markup",end:"\\[|"+c,returnEnd:!0,relevance:0,contains:[f]}},g,h,{className:"preprocessor",begin:"\\[no_square_brackets",starts:{end:"\\[/no_square_brackets\\]",lexemes:b+"|&[lg]t;",keywords:e,contains:[{className:"preprocessor",begin:d,relevance:0,starts:{className:"markup",end:"\\[noprocess\\]|"+c,returnEnd:!0,contains:[f]}},g,h].concat(j)}},{className:"preprocessor",begin:"\\[",relevance:0},{className:"shebang",begin:"^#!.+lasso9\\b",relevance:10}].concat(j)}}),a.registerLanguage("less",function(a){var b="[\\w-]+",c="("+b+"|@{"+b+"})",d=[],e=[],f=function(a){return{className:"string",begin:"~?"+a+".*?"+a}},g=function(a,b,c){return{className:a,begin:b,relevance:c}},h=function(b,c,d){return a.inherit({className:b,begin:c+"\\(",end:"\\(",returnBegin:!0,excludeEnd:!0,relevance:0},d)},i={begin:"\\(",end:"\\)",contains:e,relevance:0};e.push(a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,f("'"),f('"'),a.CSS_NUMBER_MODE,g("hexcolor","#[0-9A-Fa-f]+\\b"),h("function","(url|data-uri)",{starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}}),h("function",b),i,g("variable","@@?"+b,10),g("variable","@{"+b+"}"),g("built_in","~?`[^`]*?`"),{className:"attribute",begin:b+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0});var j=e.concat({begin:"{",end:"}",contains:d}),k={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(e)},l={className:"attribute",begin:c,end:":",excludeEnd:!0,contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE],illegal:/\S/,starts:{end:"[;}]",returnEnd:!0,contains:e,illegal:"[<=$]"}},m={className:"at_rule",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",returnEnd:!0,contains:e,relevance:0}},n={className:"variable",variants:[{begin:"@"+b+"\\s*:",relevance:15},{begin:"@"+b}],starts:{end:"[;}]",returnEnd:!0,contains:j}},o={variants:[{begin:"[\\.#:&\\[]",end:"[;{}]"},{begin:c+"[^;]*{",end:"{"}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,k,g("keyword","all\\b"),g("variable","@{"+b+"}"),g("tag",c+"%?",0),g("id","#"+c),g("class","\\."+c,0),g("keyword","&",0),h("pseudo",":not"),h("keyword",":extend"),g("pseudo","::?"+c),{className:"attr_selector",begin:"\\[",end:"\\]"},{begin:"\\(",end:"\\)",contains:j},{begin:"!important"}]};return d.push(a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,m,n,o,l),{case_insensitive:!0,illegal:"[=>'/<($\"]",contains:d}}),a.registerLanguage("lisp",function(a){var b="[a-zA-Z_\\-\\+\\*\\/\\<\\=\\>\\&\\#][a-zA-Z0-9_\\-\\+\\*\\/\\<\\=\\>\\&\\#!]*",c="\\|[^]*?\\|",d="(\\-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s|D|E|F|L|S)(\\+|\\-)?\\d+)?",e={className:"shebang",begin:"^#!",end:"$"},f={className:"literal",begin:"\\b(t{1}|nil)\\b"},g={className:"number",variants:[{begin:d,relevance:0},{begin:"#(b|B)[0-1]+(/[0-1]+)?"},{begin:"#(o|O)[0-7]+(/[0-7]+)?"},{begin:"#(x|X)[0-9a-fA-F]+(/[0-9a-fA-F]+)?"},{begin:"#(c|C)\\("+d+" +"+d,end:"\\)"}]},h=a.inherit(a.QUOTE_STRING_MODE,{illegal:null}),i=a.COMMENT(";","$",{relevance:0}),j={className:"variable",begin:"\\*",end:"\\*"},k={className:"keyword",begin:"[:&]"+b},l={begin:b,relevance:0},m={begin:c},n={begin:"\\(",end:"\\)",contains:["self",f,h,g,l]},o={className:"quoted",contains:[g,h,j,k,n,l],variants:[{begin:"['`]\\(",end:"\\)"},{begin:"\\(quote ",end:"\\)",keywords:"quote"},{begin:"'"+c}]},p={className:"quoted",variants:[{begin:"'"+b},{begin:"#'"+b+"(::"+b+")*"}]},q={className:"list",begin:"\\(\\s*",end:"\\)"},r={endsWithParent:!0,relevance:0};return q.contains=[{className:"keyword",variants:[{begin:b},{begin:c}]},r],r.contains=[o,p,q,f,g,h,i,j,k,m,l],{illegal:/\S/,contains:[g,e,f,h,i,o,p,q,l]}}),a.registerLanguage("livecodeserver",function(a){var b={className:"variable",begin:"\\b[gtps][A-Z]+[A-Za-z0-9_\\-]*\\b|\\$_[A-Z]+",relevance:0},c=[a.C_BLOCK_COMMENT_MODE,a.HASH_COMMENT_MODE,a.COMMENT("--","$"),a.COMMENT("[^:]//","$")],d=a.inherit(a.TITLE_MODE,{variants:[{begin:"\\b_*rig[A-Z]+[A-Za-z0-9_\\-]*"},{begin:"\\b_[a-z0-9\\-]+"}]}),e=a.inherit(a.TITLE_MODE,{begin:"\\b([A-Za-z0-9_\\-]+)\\b"});return{case_insensitive:!1,keywords:{keyword:"$_COOKIE $_FILES $_GET $_GET_BINARY $_GET_RAW $_POST $_POST_BINARY $_POST_RAW $_SESSION $_SERVER codepoint codepoints segment segments codeunit codeunits sentence sentences trueWord trueWords paragraph after byte bytes english the until http forever descending using line real8 with seventh for stdout finally element word words fourth before black ninth sixth characters chars stderr uInt1 uInt1s uInt2 uInt2s stdin string lines relative rel any fifth items from middle mid at else of catch then third it file milliseconds seconds second secs sec int1 int1s int4 int4s internet int2 int2s normal text item last long detailed effective uInt4 uInt4s repeat end repeat URL in try into switch to words https token binfile each tenth as ticks tick system real4 by dateItems without char character ascending eighth whole dateTime numeric short first ftp integer abbreviated abbr abbrev private case while if",
-constant:"SIX TEN FORMFEED NINE ZERO NONE SPACE FOUR FALSE COLON CRLF PI COMMA ENDOFFILE EOF EIGHT FIVE QUOTE EMPTY ONE TRUE RETURN CR LINEFEED RIGHT BACKSLASH NULL SEVEN TAB THREE TWO six ten formfeed nine zero none space four false colon crlf pi comma endoffile eof eight five quote empty one true return cr linefeed right backslash null seven tab three two RIVERSION RISTATE FILE_READ_MODE FILE_WRITE_MODE FILE_WRITE_MODE DIR_WRITE_MODE FILE_READ_UMASK FILE_WRITE_UMASK DIR_READ_UMASK DIR_WRITE_UMASK",operator:"div mod wrap and or bitAnd bitNot bitOr bitXor among not in a an within contains ends with begins the keys of keys",built_in:"put abs acos aliasReference annuity arrayDecode arrayEncode asin atan atan2 average avg avgDev base64Decode base64Encode baseConvert binaryDecode binaryEncode byteOffset byteToNum cachedURL cachedURLs charToNum cipherNames codepointOffset codepointProperty codepointToNum codeunitOffset commandNames compound compress constantNames cos date dateFormat decompress directories diskSpace DNSServers exp exp1 exp2 exp10 extents files flushEvents folders format functionNames geometricMean global globals hasMemory harmonicMean hostAddress hostAddressToName hostName hostNameToAddress isNumber ISOToMac itemOffset keys len length libURLErrorData libUrlFormData libURLftpCommand libURLLastHTTPHeaders libURLLastRHHeaders libUrlMultipartFormAddPart libUrlMultipartFormData libURLVersion lineOffset ln ln1 localNames log log2 log10 longFilePath lower macToISO matchChunk matchText matrixMultiply max md5Digest median merge millisec millisecs millisecond milliseconds min monthNames nativeCharToNum normalizeText num number numToByte numToChar numToCodepoint numToNativeChar offset open openfiles openProcesses openProcessIDs openSockets paragraphOffset paramCount param params peerAddress pendingMessages platform popStdDev populationStandardDeviation populationVariance popVariance processID random randomBytes replaceText result revCreateXMLTree revCreateXMLTreeFromFile revCurrentRecord revCurrentRecordIsFirst revCurrentRecordIsLast revDatabaseColumnCount revDatabaseColumnIsNull revDatabaseColumnLengths revDatabaseColumnNames revDatabaseColumnNamed revDatabaseColumnNumbered revDatabaseColumnTypes revDatabaseConnectResult revDatabaseCursors revDatabaseID revDatabaseTableNames revDatabaseType revDataFromQuery revdb_closeCursor revdb_columnbynumber revdb_columncount revdb_columnisnull revdb_columnlengths revdb_columnnames revdb_columntypes revdb_commit revdb_connect revdb_connections revdb_connectionerr revdb_currentrecord revdb_cursorconnection revdb_cursorerr revdb_cursors revdb_dbtype revdb_disconnect revdb_execute revdb_iseof revdb_isbof revdb_movefirst revdb_movelast revdb_movenext revdb_moveprev revdb_query revdb_querylist revdb_recordcount revdb_rollback revdb_tablenames revGetDatabaseDriverPath revNumberOfRecords revOpenDatabase revOpenDatabases revQueryDatabase revQueryDatabaseBlob revQueryResult revQueryIsAtStart revQueryIsAtEnd revUnixFromMacPath revXMLAttribute revXMLAttributes revXMLAttributeValues revXMLChildContents revXMLChildNames revXMLCreateTreeFromFileWithNamespaces revXMLCreateTreeWithNamespaces revXMLDataFromXPathQuery revXMLEvaluateXPath revXMLFirstChild revXMLMatchingNode revXMLNextSibling revXMLNodeContents revXMLNumberOfChildren revXMLParent revXMLPreviousSibling revXMLRootNode revXMLRPC_CreateRequest revXMLRPC_Documents revXMLRPC_Error revXMLRPC_GetHost revXMLRPC_GetMethod revXMLRPC_GetParam revXMLText revXMLRPC_Execute revXMLRPC_GetParamCount revXMLRPC_GetParamNode revXMLRPC_GetParamType revXMLRPC_GetPath revXMLRPC_GetPort revXMLRPC_GetProtocol revXMLRPC_GetRequest revXMLRPC_GetResponse revXMLRPC_GetSocket revXMLTree revXMLTrees revXMLValidateDTD revZipDescribeItem revZipEnumerateItems revZipOpenArchives round sampVariance sec secs seconds sentenceOffset sha1Digest shell shortFilePath sin specialFolderPath sqrt standardDeviation statRound stdDev sum sysError systemVersion tan tempName textDecode textEncode tick ticks time to tokenOffset toLower toUpper transpose truewordOffset trunc uniDecode uniEncode upper URLDecode URLEncode URLStatus uuid value variableNames variance version waitDepth weekdayNames wordOffset xsltApplyStylesheet xsltApplyStylesheetFromFile xsltLoadStylesheet xsltLoadStylesheetFromFile add breakpoint cancel clear local variable file word line folder directory URL close socket process combine constant convert create new alias folder directory decrypt delete variable word line folder directory URL dispatch divide do encrypt filter get include intersect kill libURLDownloadToFile libURLFollowHttpRedirects libURLftpUpload libURLftpUploadFile libURLresetAll libUrlSetAuthCallback libURLSetCustomHTTPHeaders libUrlSetExpect100 libURLSetFTPListCommand libURLSetFTPMode libURLSetFTPStopTime libURLSetStatusCallback load multiply socket prepare process post seek rel relative read from process rename replace require resetAll resolve revAddXMLNode revAppendXML revCloseCursor revCloseDatabase revCommitDatabase revCopyFile revCopyFolder revCopyXMLNode revDeleteFolder revDeleteXMLNode revDeleteAllXMLTrees revDeleteXMLTree revExecuteSQL revGoURL revInsertXMLNode revMoveFolder revMoveToFirstRecord revMoveToLastRecord revMoveToNextRecord revMoveToPreviousRecord revMoveToRecord revMoveXMLNode revPutIntoXMLNode revRollBackDatabase revSetDatabaseDriverPath revSetXMLAttribute revXMLRPC_AddParam revXMLRPC_DeleteAllDocuments revXMLAddDTD revXMLRPC_Free revXMLRPC_FreeAll revXMLRPC_DeleteDocument revXMLRPC_DeleteParam revXMLRPC_SetHost revXMLRPC_SetMethod revXMLRPC_SetPort revXMLRPC_SetProtocol revXMLRPC_SetSocket revZipAddItemWithData revZipAddItemWithFile revZipAddUncompressedItemWithData revZipAddUncompressedItemWithFile revZipCancel revZipCloseArchive revZipDeleteItem revZipExtractItemToFile revZipExtractItemToVariable revZipSetProgressCallback revZipRenameItem revZipReplaceItemWithData revZipReplaceItemWithFile revZipOpenArchive send set sort split start stop subtract union unload wait write"},contains:[b,{className:"keyword",begin:"\\bend\\sif\\b"},{className:"function",beginKeywords:"function",end:"$",contains:[b,e,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.BINARY_NUMBER_MODE,a.C_NUMBER_MODE,d]},{className:"function",begin:"\\bend\\s+",end:"$",keywords:"end",contains:[e,d]},{className:"command",beginKeywords:"command on",end:"$",contains:[b,e,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.BINARY_NUMBER_MODE,a.C_NUMBER_MODE,d]},{className:"preprocessor",variants:[{begin:"<\\?(rev|lc|livecode)",relevance:10},{begin:"<\\?"},{begin:"\\?>"}]},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.BINARY_NUMBER_MODE,a.C_NUMBER_MODE,d].concat(c),illegal:";$|^\\[|^="}}),a.registerLanguage("livescript",function(a){var b={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger case default function var with then unless until loop of by when and or is isnt not it that otherwise from to til fallthrough super case default function var void const let enum export import native __hasProp __extends __slice __bind __indexOf",literal:"true false null undefined yes no on off it that void",built_in:"npm require console print module global window document"},c="[A-Za-z$_](?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*",d=a.inherit(a.TITLE_MODE,{begin:c}),e={className:"subst",begin:/#\{/,end:/}/,keywords:b},f={className:"subst",begin:/#[A-Za-z$_]/,end:/(?:\-[0-9A-Za-z$_]|[0-9A-Za-z$_])*/,keywords:b},g=[a.BINARY_NUMBER_MODE,{className:"number",begin:"(\\b0[xX][a-fA-F0-9_]+)|(\\b\\d(\\d|_\\d)*(\\.(\\d(\\d|_\\d)*)?)?(_*[eE]([-+]\\d(_\\d|\\d)*)?)?[_a-z]*)",relevance:0,starts:{end:"(\\s*/)?",relevance:0}},{className:"string",variants:[{begin:/'''/,end:/'''/,contains:[a.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[a.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,contains:[a.BACKSLASH_ESCAPE,e,f]},{begin:/"/,end:/"/,contains:[a.BACKSLASH_ESCAPE,e,f]},{begin:/\\/,end:/(\s|$)/,excludeEnd:!0}]},{className:"pi",variants:[{begin:"//",end:"//[gim]*",contains:[e,a.HASH_COMMENT_MODE]},{begin:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{className:"property",begin:"@"+c},{begin:"``",end:"``",excludeBegin:!0,excludeEnd:!0,subLanguage:"javascript"}];e.contains=g;var h={className:"params",begin:"\\(",returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:b,contains:["self"].concat(g)}]};return{aliases:["ls"],keywords:b,illegal:/\/\*/,contains:g.concat([a.COMMENT("\\/\\*","\\*\\/"),a.HASH_COMMENT_MODE,{className:"function",contains:[d,h],returnBegin:!0,variants:[{begin:"("+c+"\\s*(?:=|:=)\\s*)?(\\(.*\\))?\\s*\\B\\->\\*?",end:"\\->\\*?"},{begin:"("+c+"\\s*(?:=|:=)\\s*)?!?(\\(.*\\))?\\s*\\B[-~]{1,2}>\\*?",end:"[-~]{1,2}>\\*?"},{begin:"("+c+"\\s*(?:=|:=)\\s*)?(\\(.*\\))?\\s*\\B!?[-~]{1,2}>\\*?",end:"!?[-~]{1,2}>\\*?"}]},{className:"class",beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[d]},d]},{className:"attribute",begin:c+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}),a.registerLanguage("lua",function(a){var b="\\[=*\\[",c="\\]=*\\]",d={begin:b,end:c,contains:["self"]},e=[a.COMMENT("--(?!"+b+")","$"),a.COMMENT("--"+b,c,{contains:[d],relevance:10})];return{lexemes:a.UNDERSCORE_IDENT_RE,keywords:{keyword:"and break do else elseif end false for if in local nil not or repeat return then true until while",built_in:"_G _VERSION assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall coroutine debug io math os package string table"},contains:e.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[a.inherit(a.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:e}].concat(e)},a.C_NUMBER_MODE,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,{className:"string",begin:b,end:c,contains:[d],relevance:5}])}}),a.registerLanguage("makefile",function(a){var b={className:"variable",begin:/\$\(/,end:/\)/,contains:[a.BACKSLASH_ESCAPE]};return{aliases:["mk","mak"],contains:[a.HASH_COMMENT_MODE,{begin:/^\w+\s*\W*=/,returnBegin:!0,relevance:0,starts:{className:"constant",end:/\s*\W*=/,excludeEnd:!0,starts:{end:/$/,relevance:0,contains:[b]}}},{className:"title",begin:/^[\w]+:\s*$/},{className:"phony",begin:/^\.PHONY:/,end:/$/,keywords:".PHONY",lexemes:/[\.\w]+/},{begin:/^\t+/,end:/$/,relevance:0,contains:[a.QUOTE_STRING_MODE,b]}]}}),a.registerLanguage("mathematica",function(a){return{aliases:["mma"],lexemes:"(\\$|\\b)"+a.IDENT_RE+"\\b",keywords:"AbelianGroup Abort AbortKernels AbortProtect Above Abs Absolute AbsoluteCorrelation AbsoluteCorrelationFunction AbsoluteCurrentValue AbsoluteDashing AbsoluteFileName AbsoluteOptions AbsolutePointSize AbsoluteThickness AbsoluteTime AbsoluteTiming AccountingForm Accumulate Accuracy AccuracyGoal ActionDelay ActionMenu ActionMenuBox ActionMenuBoxOptions Active ActiveItem ActiveStyle AcyclicGraphQ AddOnHelpPath AddTo AdjacencyGraph AdjacencyList AdjacencyMatrix AdjustmentBox AdjustmentBoxOptions AdjustTimeSeriesForecast AffineTransform After AiryAi AiryAiPrime AiryAiZero AiryBi AiryBiPrime AiryBiZero AlgebraicIntegerQ AlgebraicNumber AlgebraicNumberDenominator AlgebraicNumberNorm AlgebraicNumberPolynomial AlgebraicNumberTrace AlgebraicRules AlgebraicRulesData Algebraics AlgebraicUnitQ Alignment AlignmentMarker AlignmentPoint All AllowedDimensions AllowGroupClose AllowInlineCells AllowKernelInitialization AllowReverseGroupClose AllowScriptLevelChange AlphaChannel AlternatingGroup AlternativeHypothesis Alternatives AmbientLight Analytic AnchoredSearch And AndersonDarlingTest AngerJ AngleBracket AngularGauge Animate AnimationCycleOffset AnimationCycleRepetitions AnimationDirection AnimationDisplayTime AnimationRate AnimationRepetitions AnimationRunning Animator AnimatorBox AnimatorBoxOptions AnimatorElements Annotation Annuity AnnuityDue Antialiasing Antisymmetric Apart ApartSquareFree Appearance AppearanceElements AppellF1 Append AppendTo Apply ArcCos ArcCosh ArcCot ArcCoth ArcCsc ArcCsch ArcSec ArcSech ArcSin ArcSinDistribution ArcSinh ArcTan ArcTanh Arg ArgMax ArgMin ArgumentCountQ ARIMAProcess ArithmeticGeometricMean ARMAProcess ARProcess Array ArrayComponents ArrayDepth ArrayFlatten ArrayPad ArrayPlot ArrayQ ArrayReshape ArrayRules Arrays Arrow Arrow3DBox ArrowBox Arrowheads AspectRatio AspectRatioFixed Assert Assuming Assumptions AstronomicalData Asynchronous AsynchronousTaskObject AsynchronousTasks AtomQ Attributes AugmentedSymmetricPolynomial AutoAction AutoDelete AutoEvaluateEvents AutoGeneratedPackage AutoIndent AutoIndentSpacings AutoItalicWords AutoloadPath AutoMatch Automatic AutomaticImageSize AutoMultiplicationSymbol AutoNumberFormatting AutoOpenNotebooks AutoOpenPalettes AutorunSequencing AutoScaling AutoScroll AutoSpacing AutoStyleOptions AutoStyleWords Axes AxesEdge AxesLabel AxesOrigin AxesStyle Axis BabyMonsterGroupB Back Background BackgroundTasksSettings Backslash Backsubstitution Backward Band BandpassFilter BandstopFilter BarabasiAlbertGraphDistribution BarChart BarChart3D BarLegend BarlowProschanImportance BarnesG BarOrigin BarSpacing BartlettHannWindow BartlettWindow BaseForm Baseline BaselinePosition BaseStyle BatesDistribution BattleLemarieWavelet Because BeckmannDistribution Beep Before Begin BeginDialogPacket BeginFrontEndInteractionPacket BeginPackage BellB BellY Below BenfordDistribution BeniniDistribution BenktanderGibratDistribution BenktanderWeibullDistribution BernoulliB BernoulliDistribution BernoulliGraphDistribution BernoulliProcess BernsteinBasis BesselFilterModel BesselI BesselJ BesselJZero BesselK BesselY BesselYZero Beta BetaBinomialDistribution BetaDistribution BetaNegativeBinomialDistribution BetaPrimeDistribution BetaRegularized BetweennessCentrality BezierCurve BezierCurve3DBox BezierCurve3DBoxOptions BezierCurveBox BezierCurveBoxOptions BezierFunction BilateralFilter Binarize BinaryFormat BinaryImageQ BinaryRead BinaryReadList BinaryWrite BinCounts BinLists Binomial BinomialDistribution BinomialProcess BinormalDistribution BiorthogonalSplineWavelet BipartiteGraphQ BirnbaumImportance BirnbaumSaundersDistribution BitAnd BitClear BitGet BitLength BitNot BitOr BitSet BitShiftLeft BitShiftRight BitXor Black BlackmanHarrisWindow BlackmanNuttallWindow BlackmanWindow Blank BlankForm BlankNullSequence BlankSequence Blend Block BlockRandom BlomqvistBeta BlomqvistBetaTest Blue Blur BodePlot BohmanWindow Bold Bookmarks Boole BooleanConsecutiveFunction BooleanConvert BooleanCountingFunction BooleanFunction BooleanGraph BooleanMaxterms BooleanMinimize BooleanMinterms Booleans BooleanTable BooleanVariables BorderDimensions BorelTannerDistribution Bottom BottomHatTransform BoundaryStyle Bounds Box BoxBaselineShift BoxData BoxDimensions Boxed Boxes BoxForm BoxFormFormatTypes BoxFrame BoxID BoxMargins BoxMatrix BoxRatios BoxRotation BoxRotationPoint BoxStyle BoxWhiskerChart Bra BracketingBar BraKet BrayCurtisDistance BreadthFirstScan Break Brown BrownForsytheTest BrownianBridgeProcess BrowserCategory BSplineBasis BSplineCurve BSplineCurve3DBox BSplineCurveBox BSplineCurveBoxOptions BSplineFunction BSplineSurface BSplineSurface3DBox BubbleChart BubbleChart3D BubbleScale BubbleSizes BulletGauge BusinessDayQ ButterflyGraph ButterworthFilterModel Button ButtonBar ButtonBox ButtonBoxOptions ButtonCell ButtonContents ButtonData ButtonEvaluator ButtonExpandable ButtonFrame ButtonFunction ButtonMargins ButtonMinHeight ButtonNote ButtonNotebook ButtonSource ButtonStyle ButtonStyleMenuListing Byte ByteCount ByteOrdering C CachedValue CacheGraphics CalendarData CalendarType CallPacket CanberraDistance Cancel CancelButton CandlestickChart Cap CapForm CapitalDifferentialD CardinalBSplineBasis CarmichaelLambda Cases Cashflow Casoratian Catalan CatalanNumber Catch CauchyDistribution CauchyWindow CayleyGraph CDF CDFDeploy CDFInformation CDFWavelet Ceiling Cell CellAutoOverwrite CellBaseline CellBoundingBox CellBracketOptions CellChangeTimes CellContents CellContext CellDingbat CellDynamicExpression CellEditDuplicate CellElementsBoundingBox CellElementSpacings CellEpilog CellEvaluationDuplicate CellEvaluationFunction CellEventActions CellFrame CellFrameColor CellFrameLabelMargins CellFrameLabels CellFrameMargins CellGroup CellGroupData CellGrouping CellGroupingRules CellHorizontalScrolling CellID CellLabel CellLabelAutoDelete CellLabelMargins CellLabelPositioning CellMargins CellObject CellOpen CellPrint CellProlog Cells CellSize CellStyle CellTags CellularAutomaton CensoredDistribution Censoring Center CenterDot CentralMoment CentralMomentGeneratingFunction CForm ChampernowneNumber ChanVeseBinarize Character CharacterEncoding CharacterEncodingsPath CharacteristicFunction CharacteristicPolynomial CharacterRange Characters ChartBaseStyle ChartElementData ChartElementDataFunction ChartElementFunction ChartElements ChartLabels ChartLayout ChartLegends ChartStyle Chebyshev1FilterModel Chebyshev2FilterModel ChebyshevDistance ChebyshevT ChebyshevU Check CheckAbort CheckAll Checkbox CheckboxBar CheckboxBox CheckboxBoxOptions ChemicalData ChessboardDistance ChiDistribution ChineseRemainder ChiSquareDistribution ChoiceButtons ChoiceDialog CholeskyDecomposition Chop Circle CircleBox CircleDot CircleMinus CirclePlus CircleTimes CirculantGraph CityData Clear ClearAll ClearAttributes ClearSystemCache ClebschGordan ClickPane Clip ClipboardNotebook ClipFill ClippingStyle ClipPlanes ClipRange Clock ClockGauge ClockwiseContourIntegral Close Closed CloseKernels ClosenessCentrality Closing ClosingAutoSave ClosingEvent ClusteringComponents CMYKColor Coarse Coefficient CoefficientArrays CoefficientDomain CoefficientList CoefficientRules CoifletWavelet Collect Colon ColonForm ColorCombine ColorConvert ColorData ColorDataFunction ColorFunction ColorFunctionScaling Colorize ColorNegate ColorOutput ColorProfileData ColorQuantize ColorReplace ColorRules ColorSelectorSettings ColorSeparate ColorSetter ColorSetterBox ColorSetterBoxOptions ColorSlider ColorSpace Column ColumnAlignments ColumnBackgrounds ColumnForm ColumnLines ColumnsEqual ColumnSpacings ColumnWidths CommonDefaultFormatTypes Commonest CommonestFilter CommonUnits CommunityBoundaryStyle CommunityGraphPlot CommunityLabels CommunityRegionStyle CompatibleUnitQ CompilationOptions CompilationTarget Compile Compiled CompiledFunction Complement CompleteGraph CompleteGraphQ CompleteKaryTree CompletionsListPacket Complex Complexes ComplexExpand ComplexInfinity ComplexityFunction ComponentMeasurements ComponentwiseContextMenu Compose ComposeList ComposeSeries Composition CompoundExpression CompoundPoissonDistribution CompoundPoissonProcess CompoundRenewalProcess Compress CompressedData Condition ConditionalExpression Conditioned Cone ConeBox ConfidenceLevel ConfidenceRange ConfidenceTransform ConfigurationPath Congruent Conjugate ConjugateTranspose Conjunction Connect ConnectedComponents ConnectedGraphQ ConnesWindow ConoverTest ConsoleMessage ConsoleMessagePacket ConsolePrint Constant ConstantArray Constants ConstrainedMax ConstrainedMin ContentPadding ContentsBoundingBox ContentSelectable ContentSize Context ContextMenu Contexts ContextToFilename ContextToFileName Continuation Continue ContinuedFraction ContinuedFractionK ContinuousAction ContinuousMarkovProcess ContinuousTimeModelQ ContinuousWaveletData ContinuousWaveletTransform ContourDetect ContourGraphics ContourIntegral ContourLabels ContourLines ContourPlot ContourPlot3D Contours ContourShading ContourSmoothing ContourStyle ContraharmonicMean Control ControlActive ControlAlignment ControllabilityGramian ControllabilityMatrix ControllableDecomposition ControllableModelQ ControllerDuration ControllerInformation ControllerInformationData ControllerLinking ControllerManipulate ControllerMethod ControllerPath ControllerState ControlPlacement ControlsRendering ControlType Convergents ConversionOptions ConversionRules ConvertToBitmapPacket ConvertToPostScript ConvertToPostScriptPacket Convolve ConwayGroupCo1 ConwayGroupCo2 ConwayGroupCo3 CoordinateChartData CoordinatesToolOptions CoordinateTransform CoordinateTransformData CoprimeQ Coproduct CopulaDistribution Copyable CopyDirectory CopyFile CopyTag CopyToClipboard CornerFilter CornerNeighbors Correlation CorrelationDistance CorrelationFunction CorrelationTest Cos Cosh CoshIntegral CosineDistance CosineWindow CosIntegral Cot Coth Count CounterAssignments CounterBox CounterBoxOptions CounterClockwiseContourIntegral CounterEvaluator CounterFunction CounterIncrements CounterStyle CounterStyleMenuListing CountRoots CountryData Covariance CovarianceEstimatorFunction CovarianceFunction CoxianDistribution CoxIngersollRossProcess CoxModel CoxModelFit CramerVonMisesTest CreateArchive CreateDialog CreateDirectory CreateDocument CreateIntermediateDirectories CreatePalette CreatePalettePacket CreateScheduledTask CreateTemporary CreateWindow CriticalityFailureImportance CriticalitySuccessImportance CriticalSection Cross CrossingDetect CrossMatrix Csc Csch CubeRoot Cubics Cuboid CuboidBox Cumulant CumulantGeneratingFunction Cup CupCap Curl CurlyDoubleQuote CurlyQuote CurrentImage CurrentlySpeakingPacket CurrentValue CurvatureFlowFilter CurveClosed Cyan CycleGraph CycleIndexPolynomial Cycles CyclicGroup Cyclotomic Cylinder CylinderBox CylindricalDecomposition D DagumDistribution DamerauLevenshteinDistance DampingFactor Darker Dashed Dashing DataCompression DataDistribution DataRange DataReversed Date DateDelimiters DateDifference DateFunction DateList DateListLogPlot DateListPlot DatePattern DatePlus DateRange DateString DateTicksFormat DaubechiesWavelet DavisDistribution DawsonF DayCount DayCountConvention DayMatchQ DayName DayPlus DayRange DayRound DeBruijnGraph Debug DebugTag Decimal DeclareKnownSymbols DeclarePackage Decompose Decrement DedekindEta Default DefaultAxesStyle DefaultBaseStyle DefaultBoxStyle DefaultButton DefaultColor DefaultControlPlacement DefaultDuplicateCellStyle DefaultDuration DefaultElement DefaultFaceGridsStyle DefaultFieldHintStyle DefaultFont DefaultFontProperties DefaultFormatType DefaultFormatTypeForStyle DefaultFrameStyle DefaultFrameTicksStyle DefaultGridLinesStyle DefaultInlineFormatType DefaultInputFormatType DefaultLabelStyle DefaultMenuStyle DefaultNaturalLanguage DefaultNewCellStyle DefaultNewInlineCellStyle DefaultNotebook DefaultOptions DefaultOutputFormatType DefaultStyle DefaultStyleDefinitions DefaultTextFormatType DefaultTextInlineFormatType DefaultTicksStyle DefaultTooltipStyle DefaultValues Defer DefineExternal DefineInputStreamMethod DefineOutputStreamMethod Definition Degree DegreeCentrality DegreeGraphDistribution DegreeLexicographic DegreeReverseLexicographic Deinitialization Del Deletable Delete DeleteBorderComponents DeleteCases DeleteContents DeleteDirectory DeleteDuplicates DeleteFile DeleteSmallComponents DeleteWithContents DeletionWarning Delimiter DelimiterFlashTime DelimiterMatching Delimiters Denominator DensityGraphics DensityHistogram DensityPlot DependentVariables Deploy Deployed Depth DepthFirstScan Derivative DerivativeFilter DescriptorStateSpace DesignMatrix Det DGaussianWavelet DiacriticalPositioning Diagonal DiagonalMatrix Dialog DialogIndent DialogInput DialogLevel DialogNotebook DialogProlog DialogReturn DialogSymbols Diamond DiamondMatrix DiceDissimilarity DictionaryLookup DifferenceDelta DifferenceOrder DifferenceRoot DifferenceRootReduce Differences DifferentialD DifferentialRoot DifferentialRootReduce DifferentiatorFilter DigitBlock DigitBlockMinimum DigitCharacter DigitCount DigitQ DihedralGroup Dilation Dimensions DiracComb DiracDelta DirectedEdge DirectedEdges DirectedGraph DirectedGraphQ DirectedInfinity Direction Directive Directory DirectoryName DirectoryQ DirectoryStack DirichletCharacter DirichletConvolve DirichletDistribution DirichletL DirichletTransform DirichletWindow DisableConsolePrintPacket DiscreteChirpZTransform DiscreteConvolve DiscreteDelta DiscreteHadamardTransform DiscreteIndicator DiscreteLQEstimatorGains DiscreteLQRegulatorGains DiscreteLyapunovSolve DiscreteMarkovProcess DiscretePlot DiscretePlot3D DiscreteRatio DiscreteRiccatiSolve DiscreteShift DiscreteTimeModelQ DiscreteUniformDistribution DiscreteVariables DiscreteWaveletData DiscreteWaveletPacketTransform DiscreteWaveletTransform Discriminant Disjunction Disk DiskBox DiskMatrix Dispatch DispersionEstimatorFunction Display DisplayAllSteps DisplayEndPacket DisplayFlushImagePacket DisplayForm DisplayFunction DisplayPacket DisplayRules DisplaySetSizePacket DisplayString DisplayTemporary DisplayWith DisplayWithRef DisplayWithVariable DistanceFunction DistanceTransform Distribute Distributed DistributedContexts DistributeDefinitions DistributionChart DistributionDomain DistributionFitTest DistributionParameterAssumptions DistributionParameterQ Dithering Div Divergence Divide DivideBy Dividers Divisible Divisors DivisorSigma DivisorSum DMSList DMSString Do DockedCells DocumentNotebook DominantColors DOSTextFormat Dot DotDashed DotEqual Dotted DoubleBracketingBar DoubleContourIntegral DoubleDownArrow DoubleLeftArrow DoubleLeftRightArrow DoubleLeftTee DoubleLongLeftArrow DoubleLongLeftRightArrow DoubleLongRightArrow DoubleRightArrow DoubleRightTee DoubleUpArrow DoubleUpDownArrow DoubleVerticalBar DoublyInfinite Down DownArrow DownArrowBar DownArrowUpArrow DownLeftRightVector DownLeftTeeVector DownLeftVector DownLeftVectorBar DownRightTeeVector DownRightVector DownRightVectorBar Downsample DownTee DownTeeArrow DownValues DragAndDrop DrawEdges DrawFrontFaces DrawHighlighted Drop DSolve Dt DualLinearProgramming DualSystemsModel DumpGet DumpSave DuplicateFreeQ Dynamic DynamicBox DynamicBoxOptions DynamicEvaluationTimeout DynamicLocation DynamicModule DynamicModuleBox DynamicModuleBoxOptions DynamicModuleParent DynamicModuleValues DynamicName DynamicNamespace DynamicReference DynamicSetting DynamicUpdating DynamicWrapper DynamicWrapperBox DynamicWrapperBoxOptions E EccentricityCentrality EdgeAdd EdgeBetweennessCentrality EdgeCapacity EdgeCapForm EdgeColor EdgeConnectivity EdgeCost EdgeCount EdgeCoverQ EdgeDashing EdgeDelete EdgeDetect EdgeForm EdgeIndex EdgeJoinForm EdgeLabeling EdgeLabels EdgeLabelStyle EdgeList EdgeOpacity EdgeQ EdgeRenderingFunction EdgeRules EdgeShapeFunction EdgeStyle EdgeThickness EdgeWeight Editable EditButtonSettings EditCellTagsSettings EditDistance EffectiveInterest Eigensystem Eigenvalues EigenvectorCentrality Eigenvectors Element ElementData Eliminate EliminationOrder EllipticE EllipticExp EllipticExpPrime EllipticF EllipticFilterModel EllipticK EllipticLog EllipticNomeQ EllipticPi EllipticReducedHalfPeriods EllipticTheta EllipticThetaPrime EmitSound EmphasizeSyntaxErrors EmpiricalDistribution Empty EmptyGraphQ EnableConsolePrintPacket Enabled Encode End EndAdd EndDialogPacket EndFrontEndInteractionPacket EndOfFile EndOfLine EndOfString EndPackage EngineeringForm Enter EnterExpressionPacket EnterTextPacket Entropy EntropyFilter Environment Epilog Equal EqualColumns EqualRows EqualTilde EquatedTo Equilibrium EquirippleFilterKernel Equivalent Erf Erfc Erfi ErlangB ErlangC ErlangDistribution Erosion ErrorBox ErrorBoxOptions ErrorNorm ErrorPacket ErrorsDialogSettings EstimatedDistribution EstimatedProcess EstimatorGains EstimatorRegulator EuclideanDistance EulerE EulerGamma EulerianGraphQ EulerPhi Evaluatable Evaluate Evaluated EvaluatePacket EvaluationCell EvaluationCompletionAction EvaluationElements EvaluationMode EvaluationMonitor EvaluationNotebook EvaluationObject EvaluationOrder Evaluator EvaluatorNames EvenQ EventData EventEvaluator EventHandler EventHandlerTag EventLabels ExactBlackmanWindow ExactNumberQ ExactRootIsolation ExampleData Except ExcludedForms ExcludePods Exclusions ExclusionsStyle Exists Exit ExitDialog Exp Expand ExpandAll ExpandDenominator ExpandFileName ExpandNumerator Expectation ExpectationE ExpectedValue ExpGammaDistribution ExpIntegralE ExpIntegralEi Exponent ExponentFunction ExponentialDistribution ExponentialFamily ExponentialGeneratingFunction ExponentialMovingAverage ExponentialPowerDistribution ExponentPosition ExponentStep Export ExportAutoReplacements ExportPacket ExportString Expression ExpressionCell ExpressionPacket ExpToTrig ExtendedGCD Extension ExtentElementFunction ExtentMarkers ExtentSize ExternalCall ExternalDataCharacterEncoding Extract ExtractArchive ExtremeValueDistribution FaceForm FaceGrids FaceGridsStyle Factor FactorComplete Factorial Factorial2 FactorialMoment FactorialMomentGeneratingFunction FactorialPower FactorInteger FactorList FactorSquareFree FactorSquareFreeList FactorTerms FactorTermsList Fail FailureDistribution False FARIMAProcess FEDisableConsolePrintPacket FeedbackSector FeedbackSectorStyle FeedbackType FEEnableConsolePrintPacket Fibonacci FieldHint FieldHintStyle FieldMasked FieldSize File FileBaseName FileByteCount FileDate FileExistsQ FileExtension FileFormat FileHash FileInformation FileName FileNameDepth FileNameDialogSettings FileNameDrop FileNameJoin FileNames FileNameSetter FileNameSplit FileNameTake FilePrint FileType FilledCurve FilledCurveBox Filling FillingStyle FillingTransform FilterRules FinancialBond FinancialData FinancialDerivative FinancialIndicator Find FindArgMax FindArgMin FindClique FindClusters FindCurvePath FindDistributionParameters FindDivisions FindEdgeCover FindEdgeCut FindEulerianCycle FindFaces FindFile FindFit FindGeneratingFunction FindGeoLocation FindGeometricTransform FindGraphCommunities FindGraphIsomorphism FindGraphPartition FindHamiltonianCycle FindIndependentEdgeSet FindIndependentVertexSet FindInstance FindIntegerNullVector FindKClan FindKClique FindKClub FindKPlex FindLibrary FindLinearRecurrence FindList FindMaximum FindMaximumFlow FindMaxValue FindMinimum FindMinimumCostFlow FindMinimumCut FindMinValue FindPermutation FindPostmanTour FindProcessParameters FindRoot FindSequenceFunction FindSettings FindShortestPath FindShortestTour FindThreshold FindVertexCover FindVertexCut Fine FinishDynamic FiniteAbelianGroupCount FiniteGroupCount FiniteGroupData First FirstPassageTimeDistribution FischerGroupFi22 FischerGroupFi23 FischerGroupFi24Prime FisherHypergeometricDistribution FisherRatioTest FisherZDistribution Fit FitAll FittedModel FixedPoint FixedPointList FlashSelection Flat Flatten FlattenAt FlatTopWindow FlipView Floor FlushPrintOutputPacket Fold FoldList Font FontColor FontFamily FontForm FontName FontOpacity FontPostScriptName FontProperties FontReencoding FontSize FontSlant FontSubstitutions FontTracking FontVariations FontWeight For ForAll Format FormatRules FormatType FormatTypeAutoConvert FormatValues FormBox FormBoxOptions FortranForm Forward ForwardBackward Fourier FourierCoefficient FourierCosCoefficient FourierCosSeries FourierCosTransform FourierDCT FourierDCTFilter FourierDCTMatrix FourierDST FourierDSTMatrix FourierMatrix FourierParameters FourierSequenceTransform FourierSeries FourierSinCoefficient FourierSinSeries FourierSinTransform FourierTransform FourierTrigSeries FractionalBrownianMotionProcess FractionalPart FractionBox FractionBoxOptions FractionLine Frame FrameBox FrameBoxOptions Framed FrameInset FrameLabel Frameless FrameMargins FrameStyle FrameTicks FrameTicksStyle FRatioDistribution FrechetDistribution FreeQ FrequencySamplingFilterKernel FresnelC FresnelS Friday FrobeniusNumber FrobeniusSolve FromCharacterCode FromCoefficientRules FromContinuedFraction FromDate FromDigits FromDMS Front FrontEndDynamicExpression FrontEndEventActions FrontEndExecute FrontEndObject FrontEndResource FrontEndResourceString FrontEndStackSize FrontEndToken FrontEndTokenExecute FrontEndValueCache FrontEndVersion FrontFaceColor FrontFaceOpacity Full FullAxes FullDefinition FullForm FullGraphics FullOptions FullSimplify Function FunctionExpand FunctionInterpolation FunctionSpace FussellVeselyImportance GaborFilter GaborMatrix GaborWavelet GainMargins GainPhaseMargins Gamma GammaDistribution GammaRegularized GapPenalty Gather GatherBy GaugeFaceElementFunction GaugeFaceStyle GaugeFrameElementFunction GaugeFrameSize GaugeFrameStyle GaugeLabels GaugeMarkers GaugeStyle GaussianFilter GaussianIntegers GaussianMatrix GaussianWindow GCD GegenbauerC General GeneralizedLinearModelFit GenerateConditions GeneratedCell GeneratedParameters GeneratingFunction Generic GenericCylindricalDecomposition GenomeData GenomeLookup GeodesicClosing GeodesicDilation GeodesicErosion GeodesicOpening GeoDestination GeodesyData GeoDirection GeoDistance GeoGridPosition GeometricBrownianMotionProcess GeometricDistribution GeometricMean GeometricMeanFilter GeometricTransformation GeometricTransformation3DBox GeometricTransformation3DBoxOptions GeometricTransformationBox GeometricTransformationBoxOptions GeoPosition GeoPositionENU GeoPositionXYZ GeoProjectionData GestureHandler GestureHandlerTag Get GetBoundingBoxSizePacket GetContext GetEnvironment GetFileName GetFrontEndOptionsDataPacket GetLinebreakInformationPacket GetMenusPacket GetPageBreakInformationPacket Glaisher GlobalClusteringCoefficient GlobalPreferences GlobalSession Glow GoldenRatio GompertzMakehamDistribution GoodmanKruskalGamma GoodmanKruskalGammaTest Goto Grad Gradient GradientFilter GradientOrientationFilter Graph GraphAssortativity GraphCenter GraphComplement GraphData GraphDensity GraphDiameter GraphDifference GraphDisjointUnion GraphDistance GraphDistanceMatrix GraphElementData GraphEmbedding GraphHighlight GraphHighlightStyle GraphHub Graphics Graphics3D Graphics3DBox Graphics3DBoxOptions GraphicsArray GraphicsBaseline GraphicsBox GraphicsBoxOptions GraphicsColor GraphicsColumn GraphicsComplex GraphicsComplex3DBox GraphicsComplex3DBoxOptions GraphicsComplexBox GraphicsComplexBoxOptions GraphicsContents GraphicsData GraphicsGrid GraphicsGridBox GraphicsGroup GraphicsGroup3DBox GraphicsGroup3DBoxOptions GraphicsGroupBox GraphicsGroupBoxOptions GraphicsGrouping GraphicsHighlightColor GraphicsRow GraphicsSpacing GraphicsStyle GraphIntersection GraphLayout GraphLinkEfficiency GraphPeriphery GraphPlot GraphPlot3D GraphPower GraphPropertyDistribution GraphQ GraphRadius GraphReciprocity GraphRoot GraphStyle GraphUnion Gray GrayLevel GreatCircleDistance Greater GreaterEqual GreaterEqualLess GreaterFullEqual GreaterGreater GreaterLess GreaterSlantEqual GreaterTilde Green Grid GridBaseline GridBox GridBoxAlignment GridBoxBackground GridBoxDividers GridBoxFrame GridBoxItemSize GridBoxItemStyle GridBoxOptions GridBoxSpacings GridCreationSettings GridDefaultElement GridElementStyleOptions GridFrame GridFrameMargins GridGraph GridLines GridLinesStyle GroebnerBasis GroupActionBase GroupCentralizer GroupElementFromWord GroupElementPosition GroupElementQ GroupElements GroupElementToWord GroupGenerators GroupMultiplicationTable GroupOrbits GroupOrder GroupPageBreakWithin GroupSetwiseStabilizer GroupStabilizer GroupStabilizerChain Gudermannian GumbelDistribution HaarWavelet HadamardMatrix HalfNormalDistribution HamiltonianGraphQ HammingDistance HammingWindow HankelH1 HankelH2 HankelMatrix HannPoissonWindow HannWindow HaradaNortonGroupHN HararyGraph HarmonicMean HarmonicMeanFilter HarmonicNumber Hash HashTable Haversine HazardFunction Head HeadCompose Heads HeavisideLambda HeavisidePi HeavisideTheta HeldGroupHe HeldPart HelpBrowserLookup HelpBrowserNotebook HelpBrowserSettings HermiteDecomposition HermiteH HermitianMatrixQ HessenbergDecomposition Hessian HexadecimalCharacter Hexahedron HexahedronBox HexahedronBoxOptions HiddenSurface HighlightGraph HighlightImage HighpassFilter HigmanSimsGroupHS HilbertFilter HilbertMatrix Histogram Histogram3D HistogramDistribution HistogramList HistogramTransform HistogramTransformInterpolation HitMissTransform HITSCentrality HodgeDual HoeffdingD HoeffdingDTest Hold HoldAll HoldAllComplete HoldComplete HoldFirst HoldForm HoldPattern HoldRest HolidayCalendar HomeDirectory HomePage Horizontal HorizontalForm HorizontalGauge HorizontalScrollPosition HornerForm HotellingTSquareDistribution HoytDistribution HTMLSave Hue HumpDownHump HumpEqual HurwitzLerchPhi HurwitzZeta HyperbolicDistribution HypercubeGraph HyperexponentialDistribution Hyperfactorial Hypergeometric0F1 Hypergeometric0F1Regularized Hypergeometric1F1 Hypergeometric1F1Regularized Hypergeometric2F1 Hypergeometric2F1Regularized HypergeometricDistribution HypergeometricPFQ HypergeometricPFQRegularized HypergeometricU Hyperlink HyperlinkCreationSettings Hyphenation HyphenationOptions HypoexponentialDistribution HypothesisTestData I Identity IdentityMatrix If IgnoreCase Im Image Image3D Image3DSlices ImageAccumulate ImageAdd ImageAdjust ImageAlign ImageApply ImageAspectRatio ImageAssemble ImageCache ImageCacheValid ImageCapture ImageChannels ImageClip ImageColorSpace ImageCompose ImageConvolve ImageCooccurrence ImageCorners ImageCorrelate ImageCorrespondingPoints ImageCrop ImageData ImageDataPacket ImageDeconvolve ImageDemosaic ImageDifference ImageDimensions ImageDistance ImageEffect ImageFeatureTrack ImageFileApply ImageFileFilter ImageFileScan ImageFilter ImageForestingComponents ImageForwardTransformation ImageHistogram ImageKeypoints ImageLevels ImageLines ImageMargins ImageMarkers ImageMeasurements ImageMultiply ImageOffset ImagePad ImagePadding ImagePartition ImagePeriodogram ImagePerspectiveTransformation ImageQ ImageRangeCache ImageReflect ImageRegion ImageResize ImageResolution ImageRotate ImageRotated ImageScaled ImageScan ImageSize ImageSizeAction ImageSizeCache ImageSizeMultipliers ImageSizeRaw ImageSubtract ImageTake ImageTransformation ImageTrim ImageType ImageValue ImageValuePositions Implies Import ImportAutoReplacements ImportString ImprovementImportance In IncidenceGraph IncidenceList IncidenceMatrix IncludeConstantBasis IncludeFileExtension IncludePods IncludeSingularTerm Increment Indent IndentingNewlineSpacings IndentMaxFraction IndependenceTest IndependentEdgeSetQ IndependentUnit IndependentVertexSetQ Indeterminate IndexCreationOptions Indexed IndexGraph IndexTag Inequality InexactNumberQ InexactNumbers Infinity Infix Information Inherited InheritScope Initialization InitializationCell InitializationCellEvaluation InitializationCellWarning InlineCounterAssignments InlineCounterIncrements InlineRules Inner Inpaint Input InputAliases InputAssumptions InputAutoReplacements InputField InputFieldBox InputFieldBoxOptions InputForm InputGrouping InputNamePacket InputNotebook InputPacket InputSettings InputStream InputString InputStringPacket InputToBoxFormPacket Insert InsertionPointObject InsertResults Inset Inset3DBox Inset3DBoxOptions InsetBox InsetBoxOptions Install InstallService InString Integer IntegerDigits IntegerExponent IntegerLength IntegerPart IntegerPartitions IntegerQ Integers IntegerString Integral Integrate Interactive InteractiveTradingChart Interlaced Interleaving InternallyBalancedDecomposition InterpolatingFunction InterpolatingPolynomial Interpolation InterpolationOrder InterpolationPoints InterpolationPrecision Interpretation InterpretationBox InterpretationBoxOptions InterpretationFunction InterpretTemplate InterquartileRange Interrupt InterruptSettings Intersection Interval IntervalIntersection IntervalMemberQ IntervalUnion Inverse InverseBetaRegularized InverseCDF InverseChiSquareDistribution InverseContinuousWaveletTransform InverseDistanceTransform InverseEllipticNomeQ InverseErf InverseErfc InverseFourier InverseFourierCosTransform InverseFourierSequenceTransform InverseFourierSinTransform InverseFourierTransform InverseFunction InverseFunctions InverseGammaDistribution InverseGammaRegularized InverseGaussianDistribution InverseGudermannian InverseHaversine InverseJacobiCD InverseJacobiCN InverseJacobiCS InverseJacobiDC InverseJacobiDN InverseJacobiDS InverseJacobiNC InverseJacobiND InverseJacobiNS InverseJacobiSC InverseJacobiSD InverseJacobiSN InverseLaplaceTransform InversePermutation InverseRadon InverseSeries InverseSurvivalFunction InverseWaveletTransform InverseWeierstrassP InverseZTransform Invisible InvisibleApplication InvisibleTimes IrreduciblePolynomialQ IsolatingInterval IsomorphicGraphQ IsotopeData Italic Item ItemBox ItemBoxOptions ItemSize ItemStyle ItoProcess JaccardDissimilarity JacobiAmplitude Jacobian JacobiCD JacobiCN JacobiCS JacobiDC JacobiDN JacobiDS JacobiNC JacobiND JacobiNS JacobiP JacobiSC JacobiSD JacobiSN JacobiSymbol JacobiZeta JankoGroupJ1 JankoGroupJ2 JankoGroupJ3 JankoGroupJ4 JarqueBeraALMTest JohnsonDistribution Join Joined JoinedCurve JoinedCurveBox JoinForm JordanDecomposition JordanModelDecomposition K KagiChart KaiserBesselWindow KaiserWindow KalmanEstimator KalmanFilter KarhunenLoeveDecomposition KaryTree KatzCentrality KCoreComponents KDistribution KelvinBei KelvinBer KelvinKei KelvinKer KendallTau KendallTauTest KernelExecute KernelMixtureDistribution KernelObject Kernels Ket Khinchin KirchhoffGraph KirchhoffMatrix KleinInvariantJ KnightTourGraph KnotData KnownUnitQ KolmogorovSmirnovTest KroneckerDelta KroneckerModelDecomposition KroneckerProduct KroneckerSymbol KuiperTest KumaraswamyDistribution Kurtosis KuwaharaFilter Label Labeled LabeledSlider LabelingFunction LabelStyle LaguerreL LambdaComponents LambertW LanczosWindow LandauDistribution Language LanguageCategory LaplaceDistribution LaplaceTransform Laplacian LaplacianFilter LaplacianGaussianFilter Large Larger Last Latitude LatitudeLongitude LatticeData LatticeReduce Launch LaunchKernels LayeredGraphPlot LayerSizeFunction LayoutInformation LCM LeafCount LeapYearQ LeastSquares LeastSquaresFilterKernel Left LeftArrow LeftArrowBar LeftArrowRightArrow LeftDownTeeVector LeftDownVector LeftDownVectorBar LeftRightArrow LeftRightVector LeftTee LeftTeeArrow LeftTeeVector LeftTriangle LeftTriangleBar LeftTriangleEqual LeftUpDownVector LeftUpTeeVector LeftUpVector LeftUpVectorBar LeftVector LeftVectorBar LegendAppearance Legended LegendFunction LegendLabel LegendLayout LegendMargins LegendMarkers LegendMarkerSize LegendreP LegendreQ LegendreType Length LengthWhile LerchPhi Less LessEqual LessEqualGreater LessFullEqual LessGreater LessLess LessSlantEqual LessTilde LetterCharacter LetterQ Level LeveneTest LeviCivitaTensor LevyDistribution Lexicographic LibraryFunction LibraryFunctionError LibraryFunctionInformation LibraryFunctionLoad LibraryFunctionUnload LibraryLoad LibraryUnload LicenseID LiftingFilterData LiftingWaveletTransform LightBlue LightBrown LightCyan Lighter LightGray LightGreen Lighting LightingAngle LightMagenta LightOrange LightPink LightPurple LightRed LightSources LightYellow Likelihood Limit LimitsPositioning LimitsPositioningTokens LindleyDistribution Line Line3DBox LinearFilter LinearFractionalTransform LinearModelFit LinearOffsetFunction LinearProgramming LinearRecurrence LinearSolve LinearSolveFunction LineBox LineBreak LinebreakAdjustments LineBreakChart LineBreakWithin LineColor LineForm LineGraph LineIndent LineIndentMaxFraction LineIntegralConvolutionPlot LineIntegralConvolutionScale LineLegend LineOpacity LineSpacing LineWrapParts LinkActivate LinkClose LinkConnect LinkConnectedQ LinkCreate LinkError LinkFlush LinkFunction LinkHost LinkInterrupt LinkLaunch LinkMode LinkObject LinkOpen LinkOptions LinkPatterns LinkProtocol LinkRead LinkReadHeld LinkReadyQ Links LinkWrite LinkWriteHeld LiouvilleLambda List Listable ListAnimate ListContourPlot ListContourPlot3D ListConvolve ListCorrelate ListCurvePathPlot ListDeconvolve ListDensityPlot Listen ListFourierSequenceTransform ListInterpolation ListLineIntegralConvolutionPlot ListLinePlot ListLogLinearPlot ListLogLogPlot ListLogPlot ListPicker ListPickerBox ListPickerBoxBackground ListPickerBoxOptions ListPlay ListPlot ListPlot3D ListPointPlot3D ListPolarPlot ListQ ListStreamDensityPlot ListStreamPlot ListSurfacePlot3D ListVectorDensityPlot ListVectorPlot ListVectorPlot3D ListZTransform Literal LiteralSearch LocalClusteringCoefficient LocalizeVariables LocationEquivalenceTest LocationTest Locator LocatorAutoCreate LocatorBox LocatorBoxOptions LocatorCentering LocatorPane LocatorPaneBox LocatorPaneBoxOptions LocatorRegion Locked Log Log10 Log2 LogBarnesG LogGamma LogGammaDistribution LogicalExpand LogIntegral LogisticDistribution LogitModelFit LogLikelihood LogLinearPlot LogLogisticDistribution LogLogPlot LogMultinormalDistribution LogNormalDistribution LogPlot LogRankTest LogSeriesDistribution LongEqual Longest LongestAscendingSequence LongestCommonSequence LongestCommonSequencePositions LongestCommonSubsequence LongestCommonSubsequencePositions LongestMatch LongForm Longitude LongLeftArrow LongLeftRightArrow LongRightArrow Loopback LoopFreeGraphQ LowerCaseQ LowerLeftArrow LowerRightArrow LowerTriangularize LowpassFilter LQEstimatorGains LQGRegulator LQOutputRegulatorGains LQRegulatorGains LUBackSubstitution LucasL LuccioSamiComponents LUDecomposition LyapunovSolve LyonsGroupLy MachineID MachineName MachineNumberQ MachinePrecision MacintoshSystemPageSetup Magenta Magnification Magnify MainSolve MaintainDynamicCaches Majority MakeBoxes MakeExpression MakeRules MangoldtLambda ManhattanDistance Manipulate Manipulator MannWhitneyTest MantissaExponent Manual Map MapAll MapAt MapIndexed MAProcess MapThread MarcumQ MardiaCombinedTest MardiaKurtosisTest MardiaSkewnessTest MarginalDistribution MarkovProcessProperties Masking MatchingDissimilarity MatchLocalNameQ MatchLocalNames MatchQ Material MathematicaNotation MathieuC MathieuCharacteristicA MathieuCharacteristicB MathieuCharacteristicExponent MathieuCPrime MathieuGroupM11 MathieuGroupM12 MathieuGroupM22 MathieuGroupM23 MathieuGroupM24 MathieuS MathieuSPrime MathMLForm MathMLText Matrices MatrixExp MatrixForm MatrixFunction MatrixLog MatrixPlot MatrixPower MatrixQ MatrixRank Max MaxBend MaxDetect MaxExtraBandwidths MaxExtraConditions MaxFeatures MaxFilter Maximize MaxIterations MaxMemoryUsed MaxMixtureKernels MaxPlotPoints MaxPoints MaxRecursion MaxStableDistribution MaxStepFraction MaxSteps MaxStepSize MaxValue MaxwellDistribution McLaughlinGroupMcL Mean MeanClusteringCoefficient MeanDegreeConnectivity MeanDeviation MeanFilter MeanGraphDistance MeanNeighborDegree MeanShift MeanShiftFilter Median MedianDeviation MedianFilter Medium MeijerG MeixnerDistribution MemberQ MemoryConstrained MemoryInUse Menu MenuAppearance MenuCommandKey MenuEvaluator MenuItem MenuPacket MenuSortingValue MenuStyle MenuView MergeDifferences Mesh MeshFunctions MeshRange MeshShading MeshStyle Message MessageDialog MessageList MessageName MessageOptions MessagePacket Messages MessagesNotebook MetaCharacters MetaInformation Method MethodOptions MexicanHatWavelet MeyerWavelet Min MinDetect MinFilter MinimalPolynomial MinimalStateSpaceModel Minimize Minors MinRecursion MinSize MinStableDistribution Minus MinusPlus MinValue Missing MissingDataMethod MittagLefflerE MixedRadix MixedRadixQuantity MixtureDistribution Mod Modal Mode Modular ModularLambda Module Modulus MoebiusMu Moment Momentary MomentConvert MomentEvaluate MomentGeneratingFunction Monday Monitor MonomialList MonomialOrder MonsterGroupM MorletWavelet MorphologicalBinarize MorphologicalBranchPoints MorphologicalComponents MorphologicalEulerNumber MorphologicalGraph MorphologicalPerimeter MorphologicalTransform Most MouseAnnotation MouseAppearance MouseAppearanceTag MouseButtons Mouseover MousePointerNote MousePosition MovingAverage MovingMedian MoyalDistribution MultiedgeStyle MultilaunchWarning MultiLetterItalics MultiLetterStyle MultilineFunction Multinomial MultinomialDistribution MultinormalDistribution MultiplicativeOrder Multiplicity Multiselection MultivariateHypergeometricDistribution MultivariatePoissonDistribution MultivariateTDistribution N NakagamiDistribution NameQ Names NamespaceBox Nand NArgMax NArgMin NBernoulliB NCache NDSolve NDSolveValue Nearest NearestFunction NeedCurrentFrontEndPackagePacket NeedCurrentFrontEndSymbolsPacket NeedlemanWunschSimilarity Needs Negative NegativeBinomialDistribution NegativeMultinomialDistribution NeighborhoodGraph Nest NestedGreaterGreater NestedLessLess NestedScriptRules NestList NestWhile NestWhileList NevilleThetaC NevilleThetaD NevilleThetaN NevilleThetaS NewPrimitiveStyle NExpectation Next NextPrime NHoldAll NHoldFirst NHoldRest NicholsGridLines NicholsPlot NIntegrate NMaximize NMaxValue NMinimize NMinValue NominalVariables NonAssociative NoncentralBetaDistribution NoncentralChiSquareDistribution NoncentralFRatioDistribution NoncentralStudentTDistribution NonCommutativeMultiply NonConstants None NonlinearModelFit NonlocalMeansFilter NonNegative NonPositive Nor NorlundB Norm Normal NormalDistribution NormalGrouping Normalize NormalizedSquaredEuclideanDistance NormalsFunction NormFunction Not NotCongruent NotCupCap NotDoubleVerticalBar Notebook NotebookApply NotebookAutoSave NotebookClose NotebookConvertSettings NotebookCreate NotebookCreateReturnObject NotebookDefault NotebookDelete NotebookDirectory NotebookDynamicExpression NotebookEvaluate NotebookEventActions NotebookFileName NotebookFind NotebookFindReturnObject NotebookGet NotebookGetLayoutInformationPacket NotebookGetMisspellingsPacket NotebookInformation NotebookInterfaceObject NotebookLocate NotebookObject NotebookOpen NotebookOpenReturnObject NotebookPath NotebookPrint NotebookPut NotebookPutReturnObject NotebookRead NotebookResetGeneratedCells Notebooks NotebookSave NotebookSaveAs NotebookSelection NotebookSetupLayoutInformationPacket NotebooksMenu NotebookWrite NotElement NotEqualTilde NotExists NotGreater NotGreaterEqual NotGreaterFullEqual NotGreaterGreater NotGreaterLess NotGreaterSlantEqual NotGreaterTilde NotHumpDownHump NotHumpEqual NotLeftTriangle NotLeftTriangleBar NotLeftTriangleEqual NotLess NotLessEqual NotLessFullEqual NotLessGreater NotLessLess NotLessSlantEqual NotLessTilde NotNestedGreaterGreater NotNestedLessLess NotPrecedes NotPrecedesEqual NotPrecedesSlantEqual NotPrecedesTilde NotReverseElement NotRightTriangle NotRightTriangleBar NotRightTriangleEqual NotSquareSubset NotSquareSubsetEqual NotSquareSuperset NotSquareSupersetEqual NotSubset NotSubsetEqual NotSucceeds NotSucceedsEqual NotSucceedsSlantEqual NotSucceedsTilde NotSuperset NotSupersetEqual NotTilde NotTildeEqual NotTildeFullEqual NotTildeTilde NotVerticalBar NProbability NProduct NProductFactors NRoots NSolve NSum NSumTerms Null NullRecords NullSpace NullWords Number NumberFieldClassNumber NumberFieldDiscriminant NumberFieldFundamentalUnits NumberFieldIntegralBasis NumberFieldNormRepresentatives NumberFieldRegulator NumberFieldRootsOfUnity NumberFieldSignature NumberForm NumberFormat NumberMarks NumberMultiplier NumberPadding NumberPoint NumberQ NumberSeparator NumberSigns NumberString Numerator NumericFunction NumericQ NuttallWindow NValues NyquistGridLines NyquistPlot O ObservabilityGramian ObservabilityMatrix ObservableDecomposition ObservableModelQ OddQ Off Offset OLEData On ONanGroupON OneIdentity Opacity Open OpenAppend Opener OpenerBox OpenerBoxOptions OpenerView OpenFunctionInspectorPacket Opening OpenRead OpenSpecialOptions OpenTemporary OpenWrite Operate OperatingSystem OptimumFlowData Optional OptionInspectorSettings OptionQ Options OptionsPacket OptionsPattern OptionValue OptionValueBox OptionValueBoxOptions Or Orange Order OrderDistribution OrderedQ Ordering Orderless OrnsteinUhlenbeckProcess Orthogonalize Out Outer OutputAutoOverwrite OutputControllabilityMatrix OutputControllableModelQ OutputForm OutputFormData OutputGrouping OutputMathEditExpression OutputNamePacket OutputResponse OutputSizeLimit OutputStream Over OverBar OverDot Overflow OverHat Overlaps Overlay OverlayBox OverlayBoxOptions Overscript OverscriptBox OverscriptBoxOptions OverTilde OverVector OwenT OwnValues PackingMethod PaddedForm Padding PadeApproximant PadLeft PadRight PageBreakAbove PageBreakBelow PageBreakWithin PageFooterLines PageFooters PageHeaderLines PageHeaders PageHeight PageRankCentrality PageWidth PairedBarChart PairedHistogram PairedSmoothHistogram PairedTTest PairedZTest PaletteNotebook PalettePath Pane PaneBox PaneBoxOptions Panel PanelBox PanelBoxOptions Paneled PaneSelector PaneSelectorBox PaneSelectorBoxOptions PaperWidth ParabolicCylinderD ParagraphIndent ParagraphSpacing ParallelArray ParallelCombine ParallelDo ParallelEvaluate Parallelization Parallelize ParallelMap ParallelNeeds ParallelProduct ParallelSubmit ParallelSum ParallelTable ParallelTry Parameter ParameterEstimator ParameterMixtureDistribution ParameterVariables ParametricFunction ParametricNDSolve ParametricNDSolveValue ParametricPlot ParametricPlot3D ParentConnect ParentDirectory ParentForm Parenthesize ParentList ParetoDistribution Part PartialCorrelationFunction PartialD ParticleData Partition PartitionsP PartitionsQ ParzenWindow PascalDistribution PassEventsDown PassEventsUp Paste PasteBoxFormInlineCells PasteButton Path PathGraph PathGraphQ Pattern PatternSequence PatternTest PauliMatrix PaulWavelet Pause PausedTime PDF PearsonChiSquareTest PearsonCorrelationTest PearsonDistribution PerformanceGoal PeriodicInterpolation Periodogram PeriodogramArray PermutationCycles PermutationCyclesQ PermutationGroup PermutationLength PermutationList PermutationListQ PermutationMax PermutationMin PermutationOrder PermutationPower PermutationProduct PermutationReplace Permutations PermutationSupport Permute PeronaMalikFilter Perpendicular PERTDistribution PetersenGraph PhaseMargins Pi Pick PIDData PIDDerivativeFilter PIDFeedforward PIDTune Piecewise PiecewiseExpand PieChart PieChart3D PillaiTrace PillaiTraceTest Pink Pivoting PixelConstrained PixelValue PixelValuePositions Placed Placeholder PlaceholderReplace Plain PlanarGraphQ Play PlayRange Plot Plot3D Plot3Matrix PlotDivision PlotJoined PlotLabel PlotLayout PlotLegends PlotMarkers PlotPoints PlotRange PlotRangeClipping PlotRangePadding PlotRegion PlotStyle Plus PlusMinus Pochhammer PodStates PodWidth Point Point3DBox PointBox PointFigureChart PointForm PointLegend PointSize PoissonConsulDistribution PoissonDistribution PoissonProcess PoissonWindow PolarAxes PolarAxesOrigin PolarGridLines PolarPlot PolarTicks PoleZeroMarkers PolyaAeppliDistribution PolyGamma Polygon Polygon3DBox Polygon3DBoxOptions PolygonBox PolygonBoxOptions PolygonHoleScale PolygonIntersections PolygonScale PolyhedronData PolyLog PolynomialExtendedGCD PolynomialForm PolynomialGCD PolynomialLCM PolynomialMod PolynomialQ PolynomialQuotient PolynomialQuotientRemainder PolynomialReduce PolynomialRemainder Polynomials PopupMenu PopupMenuBox PopupMenuBoxOptions PopupView PopupWindow Position Positive PositiveDefiniteMatrixQ PossibleZeroQ Postfix PostScript Power PowerDistribution PowerExpand PowerMod PowerModList PowerSpectralDensity PowersRepresentations PowerSymmetricPolynomial Precedence PrecedenceForm Precedes PrecedesEqual PrecedesSlantEqual PrecedesTilde Precision PrecisionGoal PreDecrement PredictionRoot PreemptProtect PreferencesPath Prefix PreIncrement Prepend PrependTo PreserveImageOptions Previous PriceGraphDistribution PrimaryPlaceholder Prime PrimeNu PrimeOmega PrimePi PrimePowerQ PrimeQ Primes PrimeZetaP PrimitiveRoot PrincipalComponents PrincipalValue Print PrintAction PrintForm PrintingCopies PrintingOptions PrintingPageRange PrintingStartingPageNumber PrintingStyleEnvironment PrintPrecision PrintTemporary Prism PrismBox PrismBoxOptions PrivateCellOptions PrivateEvaluationOptions PrivateFontOptions PrivateFrontEndOptions PrivateNotebookOptions PrivatePaths Probability ProbabilityDistribution ProbabilityPlot ProbabilityPr ProbabilityScalePlot ProbitModelFit ProcessEstimator ProcessParameterAssumptions ProcessParameterQ ProcessStateDomain ProcessTimeDomain Product ProductDistribution ProductLog ProgressIndicator ProgressIndicatorBox ProgressIndicatorBoxOptions Projection Prolog PromptForm Properties Property PropertyList PropertyValue Proportion Proportional Protect Protected ProteinData Pruning PseudoInverse Purple Put PutAppend Pyramid PyramidBox PyramidBoxOptions QBinomial QFactorial QGamma QHypergeometricPFQ QPochhammer QPolyGamma QRDecomposition QuadraticIrrationalQ Quantile QuantilePlot Quantity QuantityForm QuantityMagnitude QuantityQ QuantityUnit Quartics QuartileDeviation Quartiles QuartileSkewness QueueingNetworkProcess QueueingProcess QueueProperties Quiet Quit Quotient QuotientRemainder RadialityCentrality RadicalBox RadicalBoxOptions RadioButton RadioButtonBar RadioButtonBox RadioButtonBoxOptions Radon RamanujanTau RamanujanTauL RamanujanTauTheta RamanujanTauZ Random RandomChoice RandomComplex RandomFunction RandomGraph RandomImage RandomInteger RandomPermutation RandomPrime RandomReal RandomSample RandomSeed RandomVariate RandomWalkProcess Range RangeFilter RangeSpecification RankedMax RankedMin Raster Raster3D Raster3DBox Raster3DBoxOptions RasterArray RasterBox RasterBoxOptions Rasterize RasterSize Rational RationalFunctions Rationalize Rationals Ratios Raw RawArray RawBoxes RawData RawMedium RayleighDistribution Re Read ReadList ReadProtected Real RealBlockDiagonalForm RealDigits RealExponent Reals Reap Record RecordLists RecordSeparators Rectangle RectangleBox RectangleBoxOptions RectangleChart RectangleChart3D RecurrenceFilter RecurrenceTable RecurringDigitsForm Red Reduce RefBox ReferenceLineStyle ReferenceMarkers ReferenceMarkerStyle Refine ReflectionMatrix ReflectionTransform Refresh RefreshRate RegionBinarize RegionFunction RegionPlot RegionPlot3D RegularExpression Regularization Reinstall Release ReleaseHold ReliabilityDistribution ReliefImage ReliefPlot Remove RemoveAlphaChannel RemoveAsynchronousTask Removed RemoveInputStreamMethod RemoveOutputStreamMethod RemoveProperty RemoveScheduledTask RenameDirectory RenameFile RenderAll RenderingOptions RenewalProcess RenkoChart Repeated RepeatedNull RepeatedString Replace ReplaceAll ReplaceHeldPart ReplaceImageValue ReplaceList ReplacePart ReplacePixelValue ReplaceRepeated Resampling Rescale RescalingTransform ResetDirectory ResetMenusPacket ResetScheduledTask Residue Resolve Rest Resultant ResumePacket Return ReturnExpressionPacket ReturnInputFormPacket ReturnPacket ReturnTextPacket Reverse ReverseBiorthogonalSplineWavelet ReverseElement ReverseEquilibrium ReverseGraph ReverseUpEquilibrium RevolutionAxis RevolutionPlot3D RGBColor RiccatiSolve RiceDistribution RidgeFilter RiemannR RiemannSiegelTheta RiemannSiegelZ Riffle Right RightArrow RightArrowBar RightArrowLeftArrow RightCosetRepresentative RightDownTeeVector RightDownVector RightDownVectorBar RightTee RightTeeArrow RightTeeVector RightTriangle RightTriangleBar RightTriangleEqual RightUpDownVector RightUpTeeVector RightUpVector RightUpVectorBar RightVector RightVectorBar RiskAchievementImportance RiskReductionImportance RogersTanimotoDissimilarity Root RootApproximant RootIntervals RootLocusPlot RootMeanSquare RootOfUnityQ RootReduce Roots RootSum Rotate RotateLabel RotateLeft RotateRight RotationAction RotationBox RotationBoxOptions RotationMatrix RotationTransform Round RoundImplies RoundingRadius Row RowAlignments RowBackgrounds RowBox RowHeights RowLines RowMinHeight RowReduce RowsEqual RowSpacings RSolve RudvalisGroupRu Rule RuleCondition RuleDelayed RuleForm RulerUnits Run RunScheduledTask RunThrough RuntimeAttributes RuntimeOptions RussellRaoDissimilarity SameQ SameTest SampleDepth SampledSoundFunction SampledSoundList SampleRate SamplingPeriod SARIMAProcess SARMAProcess SatisfiabilityCount SatisfiabilityInstances SatisfiableQ Saturday Save Saveable SaveAutoDelete SaveDefinitions SawtoothWave Scale Scaled ScaleDivisions ScaledMousePosition ScaleOrigin ScalePadding ScaleRanges ScaleRangeStyle ScalingFunctions ScalingMatrix ScalingTransform Scan ScheduledTaskActiveQ ScheduledTaskData ScheduledTaskObject ScheduledTasks SchurDecomposition ScientificForm ScreenRectangle ScreenStyleEnvironment ScriptBaselineShifts ScriptLevel ScriptMinSize ScriptRules ScriptSizeMultipliers Scrollbars ScrollingOptions ScrollPosition Sec Sech SechDistribution SectionGrouping SectorChart SectorChart3D SectorOrigin SectorSpacing SeedRandom Select Selectable SelectComponents SelectedCells SelectedNotebook Selection SelectionAnimate SelectionCell SelectionCellCreateCell SelectionCellDefaultStyle SelectionCellParentStyle SelectionCreateCell SelectionDebuggerTag SelectionDuplicateCell SelectionEvaluate SelectionEvaluateCreateCell SelectionMove SelectionPlaceholder SelectionSetStyle SelectWithContents SelfLoops SelfLoopStyle SemialgebraicComponentInstances SendMail Sequence SequenceAlignment SequenceForm SequenceHold SequenceLimit Series SeriesCoefficient SeriesData SessionTime Set SetAccuracy SetAlphaChannel SetAttributes Setbacks SetBoxFormNamesPacket SetDelayed SetDirectory SetEnvironment SetEvaluationNotebook SetFileDate SetFileLoadingContext SetNotebookStatusLine SetOptions SetOptionsPacket SetPrecision SetProperty SetSelectedNotebook SetSharedFunction SetSharedVariable SetSpeechParametersPacket SetStreamPosition SetSystemOptions Setter SetterBar SetterBox SetterBoxOptions Setting SetValue Shading Shallow ShannonWavelet ShapiroWilkTest Share Sharpen ShearingMatrix ShearingTransform ShenCastanMatrix Short ShortDownArrow Shortest ShortestMatch ShortestPathFunction ShortLeftArrow ShortRightArrow ShortUpArrow Show ShowAutoStyles ShowCellBracket ShowCellLabel ShowCellTags ShowClosedCellArea ShowContents ShowControls ShowCursorTracker ShowGroupOpenCloseIcon ShowGroupOpener ShowInvisibleCharacters ShowPageBreaks ShowPredictiveInterface ShowSelection ShowShortBoxForm ShowSpecialCharacters ShowStringCharacters ShowSyntaxStyles ShrinkingDelay ShrinkWrapBoundingBox SiegelTheta SiegelTukeyTest Sign Signature SignedRankTest SignificanceLevel SignPadding SignTest SimilarityRules SimpleGraph SimpleGraphQ Simplify Sin Sinc SinghMaddalaDistribution SingleEvaluation SingleLetterItalics SingleLetterStyle SingularValueDecomposition SingularValueList SingularValuePlot SingularValues Sinh SinhIntegral SinIntegral SixJSymbol Skeleton SkeletonTransform SkellamDistribution Skewness SkewNormalDistribution Skip SliceDistribution Slider Slider2D Slider2DBox Slider2DBoxOptions SliderBox SliderBoxOptions SlideView Slot SlotSequence Small SmallCircle Smaller SmithDelayCompensator SmithWatermanSimilarity SmoothDensityHistogram SmoothHistogram SmoothHistogram3D SmoothKernelDistribution SocialMediaData Socket SokalSneathDissimilarity Solve SolveAlways SolveDelayed Sort SortBy Sound SoundAndGraphics SoundNote SoundVolume Sow Space SpaceForm Spacer Spacings Span SpanAdjustments SpanCharacterRounding SpanFromAbove SpanFromBoth SpanFromLeft SpanLineThickness SpanMaxSize SpanMinSize SpanningCharacters SpanSymmetric SparseArray SpatialGraphDistribution Speak SpeakTextPacket SpearmanRankTest SpearmanRho Spectrogram SpectrogramArray Specularity SpellingCorrection SpellingDictionaries SpellingDictionariesPath SpellingOptions SpellingSuggestionsPacket Sphere SphereBox SphericalBesselJ SphericalBesselY SphericalHankelH1 SphericalHankelH2 SphericalHarmonicY SphericalPlot3D SphericalRegion SpheroidalEigenvalue SpheroidalJoiningFactor SpheroidalPS SpheroidalPSPrime SpheroidalQS SpheroidalQSPrime SpheroidalRadialFactor SpheroidalS1 SpheroidalS1Prime SpheroidalS2 SpheroidalS2Prime Splice SplicedDistribution SplineClosed SplineDegree SplineKnots SplineWeights Split SplitBy SpokenString Sqrt SqrtBox SqrtBoxOptions Square SquaredEuclideanDistance SquareFreeQ SquareIntersection SquaresR SquareSubset SquareSubsetEqual SquareSuperset SquareSupersetEqual SquareUnion SquareWave StabilityMargins StabilityMarginsStyle StableDistribution Stack StackBegin StackComplete StackInhibit StandardDeviation StandardDeviationFilter StandardForm Standardize StandbyDistribution Star StarGraph StartAsynchronousTask StartingStepSize StartOfLine StartOfString StartScheduledTask StartupSound StateDimensions StateFeedbackGains StateOutputEstimator StateResponse StateSpaceModel StateSpaceRealization StateSpaceTransform StationaryDistribution StationaryWaveletPacketTransform StationaryWaveletTransform StatusArea StatusCentrality StepMonitor StieltjesGamma StirlingS1 StirlingS2 StopAsynchronousTask StopScheduledTask StrataVariables StratonovichProcess StreamColorFunction StreamColorFunctionScaling StreamDensityPlot StreamPlot StreamPoints StreamPosition Streams StreamScale StreamStyle String StringBreak StringByteCount StringCases StringCount StringDrop StringExpression StringForm StringFormat StringFreeQ StringInsert StringJoin StringLength StringMatchQ StringPosition StringQ StringReplace StringReplaceList StringReplacePart StringReverse StringRotateLeft StringRotateRight StringSkeleton StringSplit StringTake StringToStream StringTrim StripBoxes StripOnInput StripWrapperBoxes StrokeForm StructuralImportance StructuredArray StructuredSelection StruveH StruveL Stub StudentTDistribution Style StyleBox StyleBoxAutoDelete StyleBoxOptions StyleData StyleDefinitions StyleForm StyleKeyMapping StyleMenuListing StyleNameDialogSettings StyleNames StylePrint StyleSheetPath Subfactorial Subgraph SubMinus SubPlus SubresultantPolynomialRemainders SubresultantPolynomials Subresultants Subscript SubscriptBox SubscriptBoxOptions Subscripted Subset SubsetEqual Subsets SubStar Subsuperscript SubsuperscriptBox SubsuperscriptBoxOptions Subtract SubtractFrom SubValues Succeeds SucceedsEqual SucceedsSlantEqual SucceedsTilde SuchThat Sum SumConvergence Sunday SuperDagger SuperMinus SuperPlus Superscript SuperscriptBox SuperscriptBoxOptions Superset SupersetEqual SuperStar Surd SurdForm SurfaceColor SurfaceGraphics SurvivalDistribution SurvivalFunction SurvivalModel SurvivalModelFit SuspendPacket SuzukiDistribution SuzukiGroupSuz SwatchLegend Switch Symbol SymbolName SymletWavelet Symmetric SymmetricGroup SymmetricMatrixQ SymmetricPolynomial SymmetricReduction Symmetrize SymmetrizedArray SymmetrizedArrayRules SymmetrizedDependentComponents SymmetrizedIndependentComponents SymmetrizedReplacePart SynchronousInitialization SynchronousUpdating Syntax SyntaxForm SyntaxInformation SyntaxLength SyntaxPacket SyntaxQ SystemDialogInput SystemException SystemHelpPath SystemInformation SystemInformationData SystemOpen SystemOptions SystemsModelDelay SystemsModelDelayApproximate SystemsModelDelete SystemsModelDimensions SystemsModelExtract SystemsModelFeedbackConnect SystemsModelLabels SystemsModelOrder SystemsModelParallelConnect SystemsModelSeriesConnect SystemsModelStateFeedbackConnect SystemStub Tab TabFilling Table TableAlignments TableDepth TableDirections TableForm TableHeadings TableSpacing TableView TableViewBox TabSpacings TabView TabViewBox TabViewBoxOptions TagBox TagBoxNote TagBoxOptions TaggingRules TagSet TagSetDelayed TagStyle TagUnset Take TakeWhile Tally Tan Tanh TargetFunctions TargetUnits TautologyQ TelegraphProcess TemplateBox TemplateBoxOptions TemplateSlotSequence TemporalData Temporary TemporaryVariable TensorContract TensorDimensions TensorExpand TensorProduct TensorQ TensorRank TensorReduce TensorSymmetry TensorTranspose TensorWedge Tetrahedron TetrahedronBox TetrahedronBoxOptions TeXForm TeXSave Text Text3DBox Text3DBoxOptions TextAlignment TextBand TextBoundingBox TextBox TextCell TextClipboardType TextData TextForm TextJustification TextLine TextPacket TextParagraph TextRecognize TextRendering TextStyle Texture TextureCoordinateFunction TextureCoordinateScaling Therefore ThermometerGauge Thick Thickness Thin Thinning ThisLink ThompsonGroupTh Thread ThreeJSymbol Threshold Through Throw Thumbnail Thursday Ticks TicksStyle Tilde TildeEqual TildeFullEqual TildeTilde TimeConstrained TimeConstraint Times TimesBy TimeSeriesForecast TimeSeriesInvertibility TimeUsed TimeValue TimeZone Timing Tiny TitleGrouping TitsGroupT ToBoxes ToCharacterCode ToColor ToContinuousTimeModel ToDate ToDiscreteTimeModel ToeplitzMatrix ToExpression ToFileName Together Toggle ToggleFalse Toggler TogglerBar TogglerBox TogglerBoxOptions ToHeldExpression ToInvertibleTimeSeries TokenWords Tolerance ToLowerCase ToNumberField TooBig Tooltip TooltipBox TooltipBoxOptions TooltipDelay TooltipStyle Top TopHatTransform TopologicalSort ToRadicals ToRules ToString Total TotalHeight TotalVariationFilter TotalWidth TouchscreenAutoZoom TouchscreenControlPlacement ToUpperCase Tr Trace TraceAbove TraceAction TraceBackward TraceDepth TraceDialog TraceForward TraceInternal TraceLevel TraceOff TraceOn TraceOriginal TracePrint TraceScan TrackedSymbols TradingChart TraditionalForm TraditionalFunctionNotation TraditionalNotation TraditionalOrder TransferFunctionCancel TransferFunctionExpand TransferFunctionFactor TransferFunctionModel TransferFunctionPoles TransferFunctionTransform TransferFunctionZeros TransformationFunction TransformationFunctions TransformationMatrix TransformedDistribution TransformedField Translate TranslationTransform TransparentColor Transpose TreeForm TreeGraph TreeGraphQ TreePlot TrendStyle TriangleWave TriangularDistribution Trig TrigExpand TrigFactor TrigFactorList Trigger TrigReduce TrigToExp TrimmedMean True TrueQ TruncatedDistribution TsallisQExponentialDistribution TsallisQGaussianDistribution TTest Tube TubeBezierCurveBox TubeBezierCurveBoxOptions TubeBox TubeBSplineCurveBox TubeBSplineCurveBoxOptions Tuesday TukeyLambdaDistribution TukeyWindow Tuples TuranGraph TuringMachine Transparent UnateQ Uncompress Undefined UnderBar Underflow Underlined Underoverscript UnderoverscriptBox UnderoverscriptBoxOptions Underscript UnderscriptBox UnderscriptBoxOptions UndirectedEdge UndirectedGraph UndirectedGraphQ UndocumentedTestFEParserPacket UndocumentedTestGetSelectionPacket Unequal Unevaluated UniformDistribution UniformGraphDistribution UniformSumDistribution Uninstall Union UnionPlus Unique UnitBox UnitConvert UnitDimensions Unitize UnitRootTest UnitSimplify UnitStep UnitTriangle UnitVector Unprotect UnsameQ UnsavedVariables Unset UnsetShared UntrackedVariables Up UpArrow UpArrowBar UpArrowDownArrow Update UpdateDynamicObjects UpdateDynamicObjectsSynchronous UpdateInterval UpDownArrow UpEquilibrium UpperCaseQ UpperLeftArrow UpperRightArrow UpperTriangularize Upsample UpSet UpSetDelayed UpTee UpTeeArrow UpValues URL URLFetch URLFetchAsynchronous URLSave URLSaveAsynchronous UseGraphicsRange Using UsingFrontEnd V2Get ValidationLength Value ValueBox ValueBoxOptions ValueForm ValueQ ValuesData Variables Variance VarianceEquivalenceTest VarianceEstimatorFunction VarianceGammaDistribution VarianceTest VectorAngle VectorColorFunction VectorColorFunctionScaling VectorDensityPlot VectorGlyphData VectorPlot VectorPlot3D VectorPoints VectorQ Vectors VectorScale VectorStyle Vee Verbatim Verbose VerboseConvertToPostScriptPacket VerifyConvergence VerifySolutions VerifyTestAssumptions Version VersionNumber VertexAdd VertexCapacity VertexColors VertexComponent VertexConnectivity VertexCoordinateRules VertexCoordinates VertexCorrelationSimilarity VertexCosineSimilarity VertexCount VertexCoverQ VertexDataCoordinates VertexDegree VertexDelete VertexDiceSimilarity VertexEccentricity VertexInComponent VertexInDegree VertexIndex VertexJaccardSimilarity VertexLabeling VertexLabels VertexLabelStyle VertexList VertexNormals VertexOutComponent VertexOutDegree VertexQ VertexRenderingFunction VertexReplace VertexShape VertexShapeFunction VertexSize VertexStyle VertexTextureCoordinates VertexWeight Vertical VerticalBar VerticalForm VerticalGauge VerticalSeparator VerticalSlider VerticalTilde ViewAngle ViewCenter ViewMatrix ViewPoint ViewPointSelectorSettings ViewPort ViewRange ViewVector ViewVertical VirtualGroupData Visible VisibleCell VoigtDistribution VonMisesDistribution WaitAll WaitAsynchronousTask WaitNext WaitUntil WakebyDistribution WalleniusHypergeometricDistribution WaringYuleDistribution WatershedComponents WatsonUSquareTest WattsStrogatzGraphDistribution WaveletBestBasis WaveletFilterCoefficients WaveletImagePlot WaveletListPlot WaveletMapIndexed WaveletMatrixPlot WaveletPhi WaveletPsi WaveletScale WaveletScalogram WaveletThreshold WeaklyConnectedComponents WeaklyConnectedGraphQ WeakStationarity WeatherData WeberE Wedge Wednesday WeibullDistribution WeierstrassHalfPeriods WeierstrassInvariants WeierstrassP WeierstrassPPrime WeierstrassSigma WeierstrassZeta WeightedAdjacencyGraph WeightedAdjacencyMatrix WeightedData WeightedGraphQ Weights WelchWindow WheelGraph WhenEvent Which While White Whitespace WhitespaceCharacter WhittakerM WhittakerW WienerFilter WienerProcess WignerD WignerSemicircleDistribution WilksW WilksWTest WindowClickSelect WindowElements WindowFloating WindowFrame WindowFrameElements WindowMargins WindowMovable WindowOpacity WindowSelected WindowSize WindowStatusArea WindowTitle WindowToolbars WindowWidth With WolframAlpha WolframAlphaDate WolframAlphaQuantity WolframAlphaResult Word WordBoundary WordCharacter WordData WordSearch WordSeparators WorkingPrecision Write WriteString Wronskian XMLElement XMLObject Xnor Xor Yellow YuleDissimilarity ZernikeR ZeroSymmetric ZeroTest ZeroWidthTimes Zeta ZetaZero ZipfDistribution ZTest ZTransform $Aborted $ActivationGroupID $ActivationKey $ActivationUserRegistered $AddOnsDirectory $AssertFunction $Assumptions $AsynchronousTask $BaseDirectory $BatchInput $BatchOutput $BoxForms $ByteOrdering $Canceled $CharacterEncoding $CharacterEncodings $CommandLine $CompilationTarget $ConditionHold $ConfiguredKernels $Context $ContextPath $ControlActiveSetting $CreationDate $CurrentLink $DateStringFormat $DefaultFont $DefaultFrontEnd $DefaultImagingDevice $DefaultPath $Display $DisplayFunction $DistributedContexts $DynamicEvaluation $Echo $Epilog $ExportFormats $Failed $FinancialDataSource $FormatType $FrontEnd $FrontEndSession $GeoLocation $HistoryLength $HomeDirectory $HTTPCookies $IgnoreEOF $ImagingDevices $ImportFormats $InitialDirectory $Input $InputFileName $InputStreamMethods $Inspector $InstallationDate $InstallationDirectory $InterfaceEnvironment $IterationLimit $KernelCount $KernelID $Language $LaunchDirectory $LibraryPath $LicenseExpirationDate $LicenseID $LicenseProcesses $LicenseServer $LicenseSubprocesses $LicenseType $Line $Linked $LinkSupported $LoadedFiles $MachineAddresses $MachineDomain $MachineDomains $MachineEpsilon $MachineID $MachineName $MachinePrecision $MachineType $MaxExtraPrecision $MaxLicenseProcesses $MaxLicenseSubprocesses $MaxMachineNumber $MaxNumber $MaxPiecewiseCases $MaxPrecision $MaxRootDegree $MessageGroups $MessageList $MessagePrePrint $Messages $MinMachineNumber $MinNumber $MinorReleaseNumber $MinPrecision $ModuleNumber $NetworkLicense $NewMessage $NewSymbol $Notebooks $NumberMarks $Off $OperatingSystem $Output $OutputForms $OutputSizeLimit $OutputStreamMethods $Packages $ParentLink $ParentProcessID $PasswordFile $PatchLevelID $Path $PathnameSeparator $PerformanceGoal $PipeSupported $Post $Pre $PreferencesDirectory $PrePrint $PreRead $PrintForms $PrintLiteral $ProcessID $ProcessorCount $ProcessorType $ProductInformation $ProgramName $RandomState $RecursionLimit $ReleaseNumber $RootDirectory $ScheduledTask $ScriptCommandLine $SessionID $SetParentLink $SharedFunctions $SharedVariables $SoundDisplay $SoundDisplayFunction $SuppressInputFormHeads $SynchronousEvaluation $SyntaxHandler $System $SystemCharacterEncoding $SystemID $SystemWordLength $TemporaryDirectory $TemporaryPrefix $TextStyle $TimedOut $TimeUnit $TimeZone $TopDirectory $TraceOff $TraceOn $TracePattern $TracePostAction $TracePreAction $Urgent $UserAddOnsDirectory $UserBaseDirectory $UserDocumentsDirectory $UserName $Version $VersionNumber",
-contains:[{className:"comment",begin:/\(\*/,end:/\*\)/},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_NUMBER_MODE,{className:"list",begin:/\{/,end:/\}/,illegal:/:/}]}}),a.registerLanguage("matlab",function(a){var b=[a.C_NUMBER_MODE,{className:"string",begin:"'",end:"'",contains:[a.BACKSLASH_ESCAPE,{begin:"''"}]}],c={relevance:0,contains:[{className:"operator",begin:/'['\.]*/}]};return{keywords:{keyword:"break case catch classdef continue else elseif end enumerated events for function global if methods otherwise parfor persistent properties return spmd switch try while",built_in:"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i inf nan isnan isinf isfinite j why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson"},illegal:'(//|"|#|/\\*|\\s+/\\w+)',contains:[{className:"function",beginKeywords:"function",end:"$",contains:[a.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)"},{className:"params",begin:"\\[",end:"\\]"}]},{begin:/[a-zA-Z_][a-zA-Z_0-9]*'['\.]*/,returnBegin:!0,relevance:0,contains:[{begin:/[a-zA-Z_][a-zA-Z_0-9]*/,relevance:0},c.contains[0]]},{className:"matrix",begin:"\\[",end:"\\]",contains:b,relevance:0,starts:c},{className:"cell",begin:"\\{",end:/}/,contains:b,relevance:0,starts:c},{begin:/\)/,relevance:0,starts:c},a.COMMENT("^\\s*\\%\\{\\s*$","^\\s*\\%\\}\\s*$"),a.COMMENT("\\%","$")].concat(b)}}),a.registerLanguage("mel",function(a){return{keywords:"int float string vector matrix if else switch case default while do for in break continue global proc return about abs addAttr addAttributeEditorNodeHelp addDynamic addNewShelfTab addPP addPanelCategory addPrefixToName advanceToNextDrivenKey affectedNet affects aimConstraint air alias aliasAttr align alignCtx alignCurve alignSurface allViewFit ambientLight angle angleBetween animCone animCurveEditor animDisplay animView annotate appendStringArray applicationName applyAttrPreset applyTake arcLenDimContext arcLengthDimension arclen arrayMapper art3dPaintCtx artAttrCtx artAttrPaintVertexCtx artAttrSkinPaintCtx artAttrTool artBuildPaintMenu artFluidAttrCtx artPuttyCtx artSelectCtx artSetPaintCtx artUserPaintCtx assignCommand assignInputDevice assignViewportFactories attachCurve attachDeviceAttr attachSurface attrColorSliderGrp attrCompatibility attrControlGrp attrEnumOptionMenu attrEnumOptionMenuGrp attrFieldGrp attrFieldSliderGrp attrNavigationControlGrp attrPresetEditWin attributeExists attributeInfo attributeMenu attributeQuery autoKeyframe autoPlace bakeClip bakeFluidShading bakePartialHistory bakeResults bakeSimulation basename basenameEx batchRender bessel bevel bevelPlus binMembership bindSkin blend2 blendShape blendShapeEditor blendShapePanel blendTwoAttr blindDataType boneLattice boundary boxDollyCtx boxZoomCtx bufferCurve buildBookmarkMenu buildKeyframeMenu button buttonManip CBG cacheFile cacheFileCombine cacheFileMerge cacheFileTrack camera cameraView canCreateManip canvas capitalizeString catch catchQuiet ceil changeSubdivComponentDisplayLevel changeSubdivRegion channelBox character characterMap characterOutlineEditor characterize chdir checkBox checkBoxGrp checkDefaultRenderGlobals choice circle circularFillet clamp clear clearCache clip clipEditor clipEditorCurrentTimeCtx clipSchedule clipSchedulerOutliner clipTrimBefore closeCurve closeSurface cluster cmdFileOutput cmdScrollFieldExecuter cmdScrollFieldReporter cmdShell coarsenSubdivSelectionList collision color colorAtPoint colorEditor colorIndex colorIndexSliderGrp colorSliderButtonGrp colorSliderGrp columnLayout commandEcho commandLine commandPort compactHairSystem componentEditor compositingInterop computePolysetVolume condition cone confirmDialog connectAttr connectControl connectDynamic connectJoint connectionInfo constrain constrainValue constructionHistory container containsMultibyte contextInfo control convertFromOldLayers convertIffToPsd convertLightmap convertSolidTx convertTessellation convertUnit copyArray copyFlexor copyKey copySkinWeights cos cpButton cpCache cpClothSet cpCollision cpConstraint cpConvClothToMesh cpForces cpGetSolverAttr cpPanel cpProperty cpRigidCollisionFilter cpSeam cpSetEdit cpSetSolverAttr cpSolver cpSolverTypes cpTool cpUpdateClothUVs createDisplayLayer createDrawCtx createEditor createLayeredPsdFile createMotionField createNewShelf createNode createRenderLayer createSubdivRegion cross crossProduct ctxAbort ctxCompletion ctxEditMode ctxTraverse currentCtx currentTime currentTimeCtx currentUnit curve curveAddPtCtx curveCVCtx curveEPCtx curveEditorCtx curveIntersect curveMoveEPCtx curveOnSurface curveSketchCtx cutKey cycleCheck cylinder dagPose date defaultLightListCheckBox defaultNavigation defineDataServer defineVirtualDevice deformer deg_to_rad delete deleteAttr deleteShadingGroupsAndMaterials deleteShelfTab deleteUI deleteUnusedBrushes delrandstr detachCurve detachDeviceAttr detachSurface deviceEditor devicePanel dgInfo dgdirty dgeval dgtimer dimWhen directKeyCtx directionalLight dirmap dirname disable disconnectAttr disconnectJoint diskCache displacementToPoly displayAffected displayColor displayCull displayLevelOfDetail displayPref displayRGBColor displaySmoothness displayStats displayString displaySurface distanceDimContext distanceDimension doBlur dolly dollyCtx dopeSheetEditor dot dotProduct doubleProfileBirailSurface drag dragAttrContext draggerContext dropoffLocator duplicate duplicateCurve duplicateSurface dynCache dynControl dynExport dynExpression dynGlobals dynPaintEditor dynParticleCtx dynPref dynRelEdPanel dynRelEditor dynamicLoad editAttrLimits editDisplayLayerGlobals editDisplayLayerMembers editRenderLayerAdjustment editRenderLayerGlobals editRenderLayerMembers editor editorTemplate effector emit emitter enableDevice encodeString endString endsWith env equivalent equivalentTol erf error eval evalDeferred evalEcho event exactWorldBoundingBox exclusiveLightCheckBox exec executeForEachObject exists exp expression expressionEditorListen extendCurve extendSurface extrude fcheck fclose feof fflush fgetline fgetword file fileBrowserDialog fileDialog fileExtension fileInfo filetest filletCurve filter filterCurve filterExpand filterStudioImport findAllIntersections findAnimCurves findKeyframe findMenuItem findRelatedSkinCluster finder firstParentOf fitBspline flexor floatEq floatField floatFieldGrp floatScrollBar floatSlider floatSlider2 floatSliderButtonGrp floatSliderGrp floor flow fluidCacheInfo fluidEmitter fluidVoxelInfo flushUndo fmod fontDialog fopen formLayout format fprint frameLayout fread freeFormFillet frewind fromNativePath fwrite gamma gauss geometryConstraint getApplicationVersionAsFloat getAttr getClassification getDefaultBrush getFileList getFluidAttr getInputDeviceRange getMayaPanelTypes getModifiers getPanel getParticleAttr getPluginResource getenv getpid glRender glRenderEditor globalStitch gmatch goal gotoBindPose grabColor gradientControl gradientControlNoAttr graphDollyCtx graphSelectContext graphTrackCtx gravity grid gridLayout group groupObjectsByName HfAddAttractorToAS HfAssignAS HfBuildEqualMap HfBuildFurFiles HfBuildFurImages HfCancelAFR HfConnectASToHF HfCreateAttractor HfDeleteAS HfEditAS HfPerformCreateAS HfRemoveAttractorFromAS HfSelectAttached HfSelectAttractors HfUnAssignAS hardenPointCurve hardware hardwareRenderPanel headsUpDisplay headsUpMessage help helpLine hermite hide hilite hitTest hotBox hotkey hotkeyCheck hsv_to_rgb hudButton hudSlider hudSliderButton hwReflectionMap hwRender hwRenderLoad hyperGraph hyperPanel hyperShade hypot iconTextButton iconTextCheckBox iconTextRadioButton iconTextRadioCollection iconTextScrollList iconTextStaticLabel ikHandle ikHandleCtx ikHandleDisplayScale ikSolver ikSplineHandleCtx ikSystem ikSystemInfo ikfkDisplayMethod illustratorCurves image imfPlugins inheritTransform insertJoint insertJointCtx insertKeyCtx insertKnotCurve insertKnotSurface instance instanceable instancer intField intFieldGrp intScrollBar intSlider intSliderGrp interToUI internalVar intersect iprEngine isAnimCurve isConnected isDirty isParentOf isSameObject isTrue isValidObjectName isValidString isValidUiName isolateSelect itemFilter itemFilterAttr itemFilterRender itemFilterType joint jointCluster jointCtx jointDisplayScale jointLattice keyTangent keyframe keyframeOutliner keyframeRegionCurrentTimeCtx keyframeRegionDirectKeyCtx keyframeRegionDollyCtx keyframeRegionInsertKeyCtx keyframeRegionMoveKeyCtx keyframeRegionScaleKeyCtx keyframeRegionSelectKeyCtx keyframeRegionSetKeyCtx keyframeRegionTrackCtx keyframeStats lassoContext lattice latticeDeformKeyCtx launch launchImageEditor layerButton layeredShaderPort layeredTexturePort layout layoutDialog lightList lightListEditor lightListPanel lightlink lineIntersection linearPrecision linstep listAnimatable listAttr listCameras listConnections listDeviceAttachments listHistory listInputDeviceAxes listInputDeviceButtons listInputDevices listMenuAnnotation listNodeTypes listPanelCategories listRelatives listSets listTransforms listUnselected listerEditor loadFluid loadNewShelf loadPlugin loadPluginLanguageResources loadPrefObjects localizedPanelLabel lockNode loft log longNameOf lookThru ls lsThroughFilter lsType lsUI Mayatomr mag makeIdentity makeLive makePaintable makeRoll makeSingleSurface makeTubeOn makebot manipMoveContext manipMoveLimitsCtx manipOptions manipRotateContext manipRotateLimitsCtx manipScaleContext manipScaleLimitsCtx marker match max memory menu menuBarLayout menuEditor menuItem menuItemToShelf menuSet menuSetPref messageLine min minimizeApp mirrorJoint modelCurrentTimeCtx modelEditor modelPanel mouse movIn movOut move moveIKtoFK moveKeyCtx moveVertexAlongDirection multiProfileBirailSurface mute nParticle nameCommand nameField namespace namespaceInfo newPanelItems newton nodeCast nodeIconButton nodeOutliner nodePreset nodeType noise nonLinear normalConstraint normalize nurbsBoolean nurbsCopyUVSet nurbsCube nurbsEditUV nurbsPlane nurbsSelect nurbsSquare nurbsToPoly nurbsToPolygonsPref nurbsToSubdiv nurbsToSubdivPref nurbsUVSet nurbsViewDirectionVector objExists objectCenter objectLayer objectType objectTypeUI obsoleteProc oceanNurbsPreviewPlane offsetCurve offsetCurveOnSurface offsetSurface openGLExtension openMayaPref optionMenu optionMenuGrp optionVar orbit orbitCtx orientConstraint outlinerEditor outlinerPanel overrideModifier paintEffectsDisplay pairBlend palettePort paneLayout panel panelConfiguration panelHistory paramDimContext paramDimension paramLocator parent parentConstraint particle particleExists particleInstancer particleRenderInfo partition pasteKey pathAnimation pause pclose percent performanceOptions pfxstrokes pickWalk picture pixelMove planarSrf plane play playbackOptions playblast plugAttr plugNode pluginInfo pluginResourceUtil pointConstraint pointCurveConstraint pointLight pointMatrixMult pointOnCurve pointOnSurface pointPosition poleVectorConstraint polyAppend polyAppendFacetCtx polyAppendVertex polyAutoProjection polyAverageNormal polyAverageVertex polyBevel polyBlendColor polyBlindData polyBoolOp polyBridgeEdge polyCacheMonitor polyCheck polyChipOff polyClipboard polyCloseBorder polyCollapseEdge polyCollapseFacet polyColorBlindData polyColorDel polyColorPerVertex polyColorSet polyCompare polyCone polyCopyUV polyCrease polyCreaseCtx polyCreateFacet polyCreateFacetCtx polyCube polyCut polyCutCtx polyCylinder polyCylindricalProjection polyDelEdge polyDelFacet polyDelVertex polyDuplicateAndConnect polyDuplicateEdge polyEditUV polyEditUVShell polyEvaluate polyExtrudeEdge polyExtrudeFacet polyExtrudeVertex polyFlipEdge polyFlipUV polyForceUV polyGeoSampler polyHelix polyInfo polyInstallAction polyLayoutUV polyListComponentConversion polyMapCut polyMapDel polyMapSew polyMapSewMove polyMergeEdge polyMergeEdgeCtx polyMergeFacet polyMergeFacetCtx polyMergeUV polyMergeVertex polyMirrorFace polyMoveEdge polyMoveFacet polyMoveFacetUV polyMoveUV polyMoveVertex polyNormal polyNormalPerVertex polyNormalizeUV polyOptUvs polyOptions polyOutput polyPipe polyPlanarProjection polyPlane polyPlatonicSolid polyPoke polyPrimitive polyPrism polyProjection polyPyramid polyQuad polyQueryBlindData polyReduce polySelect polySelectConstraint polySelectConstraintMonitor polySelectCtx polySelectEditCtx polySeparate polySetToFaceNormal polySewEdge polyShortestPathCtx polySmooth polySoftEdge polySphere polySphericalProjection polySplit polySplitCtx polySplitEdge polySplitRing polySplitVertex polyStraightenUVBorder polySubdivideEdge polySubdivideFacet polyToSubdiv polyTorus polyTransfer polyTriangulate polyUVSet polyUnite polyWedgeFace popen popupMenu pose pow preloadRefEd print progressBar progressWindow projFileViewer projectCurve projectTangent projectionContext projectionManip promptDialog propModCtx propMove psdChannelOutliner psdEditTextureFile psdExport psdTextureFile putenv pwd python querySubdiv quit rad_to_deg radial radioButton radioButtonGrp radioCollection radioMenuItemCollection rampColorPort rand randomizeFollicles randstate rangeControl readTake rebuildCurve rebuildSurface recordAttr recordDevice redo reference referenceEdit referenceQuery refineSubdivSelectionList refresh refreshAE registerPluginResource rehash reloadImage removeJoint removeMultiInstance removePanelCategory rename renameAttr renameSelectionList renameUI render renderGlobalsNode renderInfo renderLayerButton renderLayerParent renderLayerPostProcess renderLayerUnparent renderManip renderPartition renderQualityNode renderSettings renderThumbnailUpdate renderWindowEditor renderWindowSelectContext renderer reorder reorderDeformers requires reroot resampleFluid resetAE resetPfxToPolyCamera resetTool resolutionNode retarget reverseCurve reverseSurface revolve rgb_to_hsv rigidBody rigidSolver roll rollCtx rootOf rot rotate rotationInterpolation roundConstantRadius rowColumnLayout rowLayout runTimeCommand runup sampleImage saveAllShelves saveAttrPreset saveFluid saveImage saveInitialState saveMenu savePrefObjects savePrefs saveShelf saveToolSettings scale scaleBrushBrightness scaleComponents scaleConstraint scaleKey scaleKeyCtx sceneEditor sceneUIReplacement scmh scriptCtx scriptEditorInfo scriptJob scriptNode scriptTable scriptToShelf scriptedPanel scriptedPanelType scrollField scrollLayout sculpt searchPathArray seed selLoadSettings select selectContext selectCurveCV selectKey selectKeyCtx selectKeyframeRegionCtx selectMode selectPref selectPriority selectType selectedNodes selectionConnection separator setAttr setAttrEnumResource setAttrMapping setAttrNiceNameResource setConstraintRestPosition setDefaultShadingGroup setDrivenKeyframe setDynamic setEditCtx setEditor setFluidAttr setFocus setInfinity setInputDeviceMapping setKeyCtx setKeyPath setKeyframe setKeyframeBlendshapeTargetWts setMenuMode setNodeNiceNameResource setNodeTypeFlag setParent setParticleAttr setPfxToPolyCamera setPluginResource setProject setStampDensity setStartupMessage setState setToolTo setUITemplate setXformManip sets shadingConnection shadingGeometryRelCtx shadingLightRelCtx shadingNetworkCompare shadingNode shapeCompare shelfButton shelfLayout shelfTabLayout shellField shortNameOf showHelp showHidden showManipCtx showSelectionInTitle showShadingGroupAttrEditor showWindow sign simplify sin singleProfileBirailSurface size sizeBytes skinCluster skinPercent smoothCurve smoothTangentSurface smoothstep snap2to2 snapKey snapMode snapTogetherCtx snapshot soft softMod softModCtx sort sound soundControl source spaceLocator sphere sphrand spotLight spotLightPreviewPort spreadSheetEditor spring sqrt squareSurface srtContext stackTrace startString startsWith stitchAndExplodeShell stitchSurface stitchSurfacePoints strcmp stringArrayCatenate stringArrayContains stringArrayCount stringArrayInsertAtIndex stringArrayIntersector stringArrayRemove stringArrayRemoveAtIndex stringArrayRemoveDuplicates stringArrayRemoveExact stringArrayToString stringToStringArray strip stripPrefixFromName stroke subdAutoProjection subdCleanTopology subdCollapse subdDuplicateAndConnect subdEditUV subdListComponentConversion subdMapCut subdMapSewMove subdMatchTopology subdMirror subdToBlind subdToPoly subdTransferUVsToCache subdiv subdivCrease subdivDisplaySmoothness substitute substituteAllString substituteGeometry substring surface surfaceSampler surfaceShaderList swatchDisplayPort switchTable symbolButton symbolCheckBox sysFile system tabLayout tan tangentConstraint texLatticeDeformContext texManipContext texMoveContext texMoveUVShellContext texRotateContext texScaleContext texSelectContext texSelectShortestPathCtx texSmudgeUVContext texWinToolCtx text textCurves textField textFieldButtonGrp textFieldGrp textManip textScrollList textToShelf textureDisplacePlane textureHairColor texturePlacementContext textureWindow threadCount threePointArcCtx timeControl timePort timerX toNativePath toggle toggleAxis toggleWindowVisibility tokenize tokenizeList tolerance tolower toolButton toolCollection toolDropped toolHasOptions toolPropertyWindow torus toupper trace track trackCtx transferAttributes transformCompare transformLimits translator trim trunc truncateFluidCache truncateHairCache tumble tumbleCtx turbulence twoPointArcCtx uiRes uiTemplate unassignInputDevice undo undoInfo ungroup uniform unit unloadPlugin untangleUV untitledFileName untrim upAxis updateAE userCtx uvLink uvSnapshot validateShelfName vectorize view2dToolCtx viewCamera viewClipPlane viewFit viewHeadOn viewLookAt viewManip viewPlace viewSet visor volumeAxis vortex waitCursor warning webBrowser webBrowserPrefs whatIs window windowPref wire wireContext workspace wrinkle wrinkleContext writeTake xbmLangPathList xform",illegal:"</",contains:[a.C_NUMBER_MODE,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,{className:"string",begin:"`",end:"`",contains:[a.BACKSLASH_ESCAPE]},{className:"variable",variants:[{begin:"\\$\\d"},{begin:"[\\$\\%\\@](\\^\\w\\b|#\\w+|[^\\s\\w{]|{\\w+}|\\w+)"},{begin:"\\*(\\^\\w\\b|#\\w+|[^\\s\\w{]|{\\w+}|\\w+)",relevance:0}]},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]}}),a.registerLanguage("mercury",function(a){var b={keyword:"module use_module import_module include_module end_module initialise mutable initialize finalize finalise interface implementation pred mode func type inst solver any_pred any_func is semidet det nondet multi erroneous failure cc_nondet cc_multi typeclass instance where pragma promise external trace atomic or_else require_complete_switch require_det require_semidet require_multi require_nondet require_cc_multi require_cc_nondet require_erroneous require_failure",pragma:"inline no_inline type_spec source_file fact_table obsolete memo loop_check minimal_model terminates does_not_terminate check_termination promise_equivalent_clauses",preprocessor:"foreign_proc foreign_decl foreign_code foreign_type foreign_import_module foreign_export_enum foreign_export foreign_enum may_call_mercury will_not_call_mercury thread_safe not_thread_safe maybe_thread_safe promise_pure promise_semipure tabled_for_io local untrailed trailed attach_to_io_state can_pass_as_mercury_type stable will_not_throw_exception may_modify_trail will_not_modify_trail may_duplicate may_not_duplicate affects_liveness does_not_affect_liveness doesnt_affect_liveness no_sharing unknown_sharing sharing",built_in:"some all not if then else true fail false try catch catch_any semidet_true semidet_false semidet_fail impure_true impure semipure"},c={className:"label",begin:"XXX",end:"$",endsWithParent:!0,relevance:0},d=a.inherit(a.C_LINE_COMMENT_MODE,{begin:"%"}),e=a.inherit(a.C_BLOCK_COMMENT_MODE,{relevance:0});d.contains.push(c),e.contains.push(c);var f={className:"number",begin:"0'.\\|0[box][0-9a-fA-F]*"},g=a.inherit(a.APOS_STRING_MODE,{relevance:0}),h=a.inherit(a.QUOTE_STRING_MODE,{relevance:0}),i={className:"constant",begin:"\\\\[abfnrtv]\\|\\\\x[0-9a-fA-F]*\\\\\\|%[-+# *.0-9]*[dioxXucsfeEgGp]",relevance:0};h.contains.push(i);var j={className:"built_in",variants:[{begin:"<=>"},{begin:"<=",relevance:0},{begin:"=>",relevance:0},{begin:"/\\\\"},{begin:"\\\\/"}]},k={className:"built_in",variants:[{begin:":-\\|-->"},{begin:"=",relevance:0}]};return{aliases:["m","moo"],keywords:b,contains:[j,k,d,e,f,a.NUMBER_MODE,g,h,{begin:/:-/}]}}),a.registerLanguage("mizar",function(a){return{keywords:"environ vocabularies notations constructors definitions registrations theorems schemes requirements begin end definition registration cluster existence pred func defpred deffunc theorem proof let take assume then thus hence ex for st holds consider reconsider such that and in provided of as from be being by means equals implies iff redefine define now not or attr is mode suppose per cases set thesis contradiction scheme reserve struct correctness compatibility coherence symmetry assymetry reflexivity irreflexivity connectedness uniqueness commutativity idempotence involutiveness projectivity",contains:[a.COMMENT("::","$")]}}),a.registerLanguage("perl",function(a){var b="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",c={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:b},d={begin:"->{",end:"}"},e={className:"variable",variants:[{begin:/\$\d/},{begin:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{begin:/[\$%@][^\s\w{]/,relevance:0}]},f=[a.BACKSLASH_ESCAPE,c,e],g=[e,a.HASH_COMMENT_MODE,a.COMMENT("^\\=\\w","\\=cut",{endsWithParent:!0}),d,{className:"string",contains:f,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*\\<",end:"\\>",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[a.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[a.BACKSLASH_ESCAPE]},{begin:"{\\w+}",contains:[],relevance:0},{begin:"-?\\w+\\s*\\=\\>",contains:[],relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+a.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[a.HASH_COMMENT_MODE,{className:"regexp",begin:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",relevance:10},{className:"regexp",begin:"(m|qr)?/",end:"/[a-z]*",contains:[a.BACKSLASH_ESCAPE],relevance:0}]},{className:"sub",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",relevance:5},{className:"operator",begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return c.contains=g,d.contains=g,{aliases:["pl"],keywords:b,contains:g}}),a.registerLanguage("mojolicious",function(a){return{subLanguage:"xml",contains:[{className:"preprocessor",begin:"^__(END|DATA)__$"},{begin:"^\\s*%{1,2}={0,2}",end:"$",subLanguage:"perl"},{begin:"<%{1,2}={0,2}",end:"={0,1}%>",subLanguage:"perl",excludeBegin:!0,excludeEnd:!0}]}}),a.registerLanguage("monkey",function(a){var b={className:"number",relevance:0,variants:[{begin:"[$][a-fA-F0-9]+"},a.NUMBER_MODE]};return{case_insensitive:!0,keywords:{keyword:"public private property continue exit extern new try catch eachin not abstract final select case default const local global field end if then else elseif endif while wend repeat until forever for to step next return module inline throw",built_in:"DebugLog DebugStop Error Print ACos ACosr ASin ASinr ATan ATan2 ATan2r ATanr Abs Abs Ceil Clamp Clamp Cos Cosr Exp Floor Log Max Max Min Min Pow Sgn Sgn Sin Sinr Sqrt Tan Tanr Seed PI HALFPI TWOPI",literal:"true false null and or shl shr mod"},illegal:/\/\*/,contains:[a.COMMENT("#rem","#end"),a.COMMENT("'","$",{relevance:0}),{className:"function",beginKeywords:"function method",end:"[(=:]|$",illegal:/\n/,contains:[a.UNDERSCORE_TITLE_MODE]},{className:"class",beginKeywords:"class interface",end:"$",contains:[{beginKeywords:"extends implements"},a.UNDERSCORE_TITLE_MODE]},{className:"variable",begin:"\\b(self|super)\\b"},{className:"preprocessor",beginKeywords:"import",end:"$"},{className:"preprocessor",begin:"\\s*#",end:"$",keywords:"if else elseif endif end then"},{className:"pi",begin:"^\\s*strict\\b"},{beginKeywords:"alias",end:"=",contains:[a.UNDERSCORE_TITLE_MODE]},a.QUOTE_STRING_MODE,b]}}),a.registerLanguage("nginx",function(a){var b={className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{/,end:/}/},{begin:"[\\$\\@]"+a.UNDERSCORE_IDENT_RE}]},c={endsWithParent:!0,lexemes:"[a-z/_]+",keywords:{built_in:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},relevance:0,illegal:"=>",contains:[a.HASH_COMMENT_MODE,{className:"string",contains:[a.BACKSLASH_ESCAPE,b],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/}]},{className:"url",begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[b]},{className:"regexp",contains:[a.BACKSLASH_ESCAPE,b],variants:[{begin:"\\s\\^",end:"\\s|{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|{|;",returnEnd:!0},{begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+[kKmMgGdshdwy]*\\b",relevance:0},b]};return{aliases:["nginxconf"],contains:[a.HASH_COMMENT_MODE,{begin:a.UNDERSCORE_IDENT_RE+"\\s",end:";|{",returnBegin:!0,contains:[{className:"title",begin:a.UNDERSCORE_IDENT_RE,starts:c}],relevance:0}],illegal:"[^\\s\\}]"}}),a.registerLanguage("nimrod",function(a){return{aliases:["nim"],keywords:{keyword:"addr and as asm bind block break|0 case|0 cast const|0 continue|0 converter discard distinct|10 div do elif else|0 end|0 enum|0 except export finally for from generic if|0 import|0 in include|0 interface is isnot|10 iterator|10 let|0 macro method|10 mixin mod nil not notin|10 object|0 of or out proc|10 ptr raise ref|10 return shl shr static template try|0 tuple type|0 using|0 var|0 when while|0 with without xor yield",literal:"shared guarded stdin stdout stderr result|10 true false"},contains:[{className:"decorator",begin:/{\./,end:/\.}/,relevance:10},{className:"string",begin:/[a-zA-Z]\w*"/,end:/"/,contains:[{begin:/""/}]},{className:"string",begin:/([a-zA-Z]\w*)?"""/,end:/"""/},a.QUOTE_STRING_MODE,{className:"type",begin:/\b[A-Z]\w+\b/,relevance:0},{className:"type",begin:/\b(int|int8|int16|int32|int64|uint|uint8|uint16|uint32|uint64|float|float32|float64|bool|char|string|cstring|pointer|expr|stmt|void|auto|any|range|array|openarray|varargs|seq|set|clong|culong|cchar|cschar|cshort|cint|csize|clonglong|cfloat|cdouble|clongdouble|cuchar|cushort|cuint|culonglong|cstringarray|semistatic)\b/},{className:"number",begin:/\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/,relevance:0},{className:"number",begin:/\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/,relevance:0},{className:"number",begin:/\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/,relevance:0},{className:"number",begin:/\b(\d[_\d]*)('?[iIuUfF](8|16|32|64))?/,relevance:0},a.HASH_COMMENT_MODE]}}),a.registerLanguage("nix",function(a){var b={keyword:"rec with let in inherit assert if else then",constant:"true false or and null",built_in:"import abort baseNameOf dirOf isNull builtins map removeAttrs throw toString derivation"},c={className:"subst",begin:/\$\{/,end:/}/,keywords:b},d={className:"variable",begin:/[a-zA-Z0-9-_]+(\s*=)/,relevance:0},e={className:"string",begin:"''",end:"''",contains:[c]},f={className:"string",begin:'"',end:'"',contains:[c]},g=[a.NUMBER_MODE,a.HASH_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,e,f,d];return c.contains=g,{aliases:["nixos"],keywords:b,contains:g}}),a.registerLanguage("nsis",function(a){var b={className:"symbol",begin:"\\$(ADMINTOOLS|APPDATA|CDBURN_AREA|CMDLINE|COMMONFILES32|COMMONFILES64|COMMONFILES|COOKIES|DESKTOP|DOCUMENTS|EXEDIR|EXEFILE|EXEPATH|FAVORITES|FONTS|HISTORY|HWNDPARENT|INSTDIR|INTERNET_CACHE|LANGUAGE|LOCALAPPDATA|MUSIC|NETHOOD|OUTDIR|PICTURES|PLUGINSDIR|PRINTHOOD|PROFILE|PROGRAMFILES32|PROGRAMFILES64|PROGRAMFILES|QUICKLAUNCH|RECENT|RESOURCES_LOCALIZED|RESOURCES|SENDTO|SMPROGRAMS|SMSTARTUP|STARTMENU|SYSDIR|TEMP|TEMPLATES|VIDEOS|WINDIR)"},c={className:"constant",begin:"\\$+{[a-zA-Z0-9_]+}"},d={className:"variable",begin:"\\$+[a-zA-Z0-9_]+",illegal:"\\(\\){}"},e={className:"constant",begin:"\\$+\\([a-zA-Z0-9_]+\\)"},f={className:"params",begin:"(ARCHIVE|FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_OFFLINE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY|HKCR|HKCU|HKDD|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_DYN_DATA|HKEY_LOCAL_MACHINE|HKEY_PERFORMANCE_DATA|HKEY_USERS|HKLM|HKPD|HKU|IDABORT|IDCANCEL|IDIGNORE|IDNO|IDOK|IDRETRY|IDYES|MB_ABORTRETRYIGNORE|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_TOPMOST|MB_USERICON|MB_YESNO|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)"},g={className:"constant",begin:"\\!(addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversionsystem|ifdef|ifmacrodef|ifmacrondef|ifndef|if|include|insertmacro|macroend|macro|makensis|packhdr|searchparse|searchreplace|tempfile|undef|verbose|warning)"};return{case_insensitive:!1,keywords:{keyword:"Abort AddBrandingImage AddSize AllowRootDirInstall AllowSkipFiles AutoCloseWindow BGFont BGGradient BrandingText BringToFront Call CallInstDLL Caption ChangeUI CheckBitmap ClearErrors CompletedText ComponentText CopyFiles CRCCheck CreateDirectory CreateFont CreateShortCut Delete DeleteINISec DeleteINIStr DeleteRegKey DeleteRegValue DetailPrint DetailsButtonText DirText DirVar DirVerify EnableWindow EnumRegKey EnumRegValue Exch Exec ExecShell ExecWait ExpandEnvStrings File FileBufSize FileClose FileErrorText FileOpen FileRead FileReadByte FileReadUTF16LE FileReadWord FileSeek FileWrite FileWriteByte FileWriteUTF16LE FileWriteWord FindClose FindFirst FindNext FindWindow FlushINI FunctionEnd GetCurInstType GetCurrentAddress GetDlgItem GetDLLVersion GetDLLVersionLocal GetErrorLevel GetFileTime GetFileTimeLocal GetFullPathName GetFunctionAddress GetInstDirError GetLabelAddress GetTempFileName Goto HideWindow Icon IfAbort IfErrors IfFileExists IfRebootFlag IfSilent InitPluginsDir InstallButtonText InstallColors InstallDir InstallDirRegKey InstProgressFlags InstType InstTypeGetText InstTypeSetText IntCmp IntCmpU IntFmt IntOp IsWindow LangString LicenseBkColor LicenseData LicenseForceSelection LicenseLangString LicenseText LoadLanguageFile LockWindow LogSet LogText ManifestDPIAware ManifestSupportedOS MessageBox MiscButtonText Name Nop OutFile Page PageCallbacks PageExEnd Pop Push Quit ReadEnvStr ReadINIStr ReadRegDWORD ReadRegStr Reboot RegDLL Rename RequestExecutionLevel ReserveFile Return RMDir SearchPath SectionEnd SectionGetFlags SectionGetInstTypes SectionGetSize SectionGetText SectionGroupEnd SectionIn SectionSetFlags SectionSetInstTypes SectionSetSize SectionSetText SendMessage SetAutoClose SetBrandingImage SetCompress SetCompressor SetCompressorDictSize SetCtlColors SetCurInstType SetDatablockOptimize SetDateSave SetDetailsPrint SetDetailsView SetErrorLevel SetErrors SetFileAttributes SetFont SetOutPath SetOverwrite SetPluginUnload SetRebootFlag SetRegView SetShellVarContext SetSilent ShowInstDetails ShowUninstDetails ShowWindow SilentInstall SilentUnInstall Sleep SpaceTexts StrCmp StrCmpS StrCpy StrLen SubCaption SubSectionEnd Unicode UninstallButtonText UninstallCaption UninstallIcon UninstallSubCaption UninstallText UninstPage UnRegDLL Var VIAddVersionKey VIFileVersion VIProductVersion WindowIcon WriteINIStr WriteRegBin WriteRegDWORD WriteRegExpandStr WriteRegStr WriteUninstaller XPStyle",
-literal:"admin all auto both colored current false force hide highest lastused leave listonly none normal notset off on open print show silent silentlog smooth textonly true user "},contains:[a.HASH_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{className:"string",begin:'"',end:'"',illegal:"\\n",contains:[{className:"symbol",begin:"\\$(\\\\(n|r|t)|\\$)"},b,c,d,e]},a.COMMENT(";","$",{relevance:0}),{className:"function",beginKeywords:"Function PageEx Section SectionGroup SubSection",end:"$"},g,c,d,e,f,a.NUMBER_MODE,{className:"literal",begin:a.IDENT_RE+"::"+a.IDENT_RE}]}}),a.registerLanguage("objectivec",function(a){var b={className:"built_in",begin:"(AV|CA|CF|CG|CI|MK|MP|NS|UI)\\w+"},c={keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},d=/[a-zA-Z@][a-zA-Z0-9_]*/,e="@interface @class @protocol @implementation";return{aliases:["mm","objc","obj-c"],keywords:c,lexemes:d,illegal:"</",contains:[b,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.C_NUMBER_MODE,a.QUOTE_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[a.BACKSLASH_ESCAPE]},{begin:"'",end:"[^\\\\]'",illegal:"[^\\\\][^']"}]},{className:"preprocessor",begin:"#",end:"$",contains:[{className:"title",variants:[{begin:'"',end:'"'},{begin:"<",end:">"}]}]},{className:"class",begin:"("+e.split(" ").join("|")+")\\b",end:"({|$)",excludeEnd:!0,keywords:e,lexemes:d,contains:[a.UNDERSCORE_TITLE_MODE]},{className:"variable",begin:"\\."+a.UNDERSCORE_IDENT_RE,relevance:0}]}}),a.registerLanguage("ocaml",function(a){return{aliases:["ml"],keywords:{keyword:"and as assert asr begin class constraint do done downto else end exception external for fun function functor if in include inherit! inherit initializer land lazy let lor lsl lsr lxor match method!|10 method mod module mutable new object of open! open or private rec sig struct then to try type val! val virtual when while with parser value",built_in:"array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 string unit in_channel out_channel ref",literal:"true false"},illegal:/\/\/|>>/,lexemes:"[a-z_]\\w*!?",contains:[{className:"literal",begin:"\\[(\\|\\|)?\\]|\\(\\)",relevance:0},a.COMMENT("\\(\\*","\\*\\)",{contains:["self"]}),{className:"symbol",begin:"'[A-Za-z_](?!')[\\w']*"},{className:"tag",begin:"`[A-Z][\\w']*"},{className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},{begin:"[a-z_]\\w*'[\\w']*"},a.inherit(a.APOS_STRING_MODE,{className:"char",relevance:0}),a.inherit(a.QUOTE_STRING_MODE,{illegal:null}),{className:"number",begin:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",relevance:0},{begin:/[-=]>/}]}}),a.registerLanguage("openscad",function(a){var b={className:"keyword",begin:"\\$(f[asn]|t|vp[rtd]|children)"},c={className:"literal",begin:"false|true|PI|undef"},d={className:"number",begin:"\\b\\d+(\\.\\d+)?(e-?\\d+)?",relevance:0},e=a.inherit(a.QUOTE_STRING_MODE,{illegal:null}),f={className:"preprocessor",keywords:"include use",begin:"include|use <",end:">"},g={className:"params",begin:"\\(",end:"\\)",contains:["self",d,e,b,c]},h={className:"built_in",begin:"[*!#%]",relevance:0},i={className:"function",beginKeywords:"module function",end:"\\=|\\{",contains:[g,a.UNDERSCORE_TITLE_MODE]};return{aliases:["scad"],keywords:{keyword:"function module include use for intersection_for if else \\%",literal:"false true PI undef",built_in:"circle square polygon text sphere cube cylinder polyhedron translate rotate scale resize mirror multmatrix color offset hull minkowski union difference intersection abs sign sin cos tan acos asin atan atan2 floor round ceil ln log pow sqrt exp rands min max concat lookup str chr search version version_num norm cross parent_module echo import import_dxf dxf_linear_extrude linear_extrude rotate_extrude surface projection render children dxf_cross dxf_dim let assign"},contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,d,f,e,b,h,i]}}),a.registerLanguage("oxygene",function(a){var b="abstract add and array as asc aspect assembly async begin break block by case class concat const copy constructor continue create default delegate desc distinct div do downto dynamic each else empty end ensure enum equals event except exit extension external false final finalize finalizer finally flags for forward from function future global group has if implementation implements implies in index inherited inline interface into invariants is iterator join locked locking loop matching method mod module namespace nested new nil not notify nullable of old on operator or order out override parallel params partial pinned private procedure property protected public queryable raise read readonly record reintroduce remove repeat require result reverse sealed select self sequence set shl shr skip static step soft take then to true try tuple type union unit unsafe until uses using var virtual raises volatile where while with write xor yield await mapped deprecated stdcall cdecl pascal register safecall overload library platform reference packed strict published autoreleasepool selector strong weak unretained",c=a.COMMENT("{","}",{relevance:0}),d=a.COMMENT("\\(\\*","\\*\\)",{relevance:10}),e={className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},f={className:"string",begin:"(#\\d+)+"},g={className:"function",beginKeywords:"function constructor destructor procedure method",end:"[:;]",keywords:"function constructor|10 destructor|10 procedure|10 method|10",contains:[a.TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",keywords:b,contains:[e,f]},c,d]};return{case_insensitive:!0,keywords:b,illegal:'("|\\$[G-Zg-z]|\\/\\*|</|=>|->)',contains:[c,d,a.C_LINE_COMMENT_MODE,e,f,a.NUMBER_MODE,g,{className:"class",begin:"=\\bclass\\b",end:"end;",keywords:b,contains:[e,f,c,d,a.C_LINE_COMMENT_MODE,g]}]}}),a.registerLanguage("parser3",function(a){var b=a.COMMENT("{","}",{contains:["self"]});return{subLanguage:"xml",relevance:0,contains:[a.COMMENT("^#","$"),a.COMMENT("\\^rem{","}",{relevance:10,contains:[b]}),{className:"preprocessor",begin:"^@(?:BASE|USE|CLASS|OPTIONS)$",relevance:10},{className:"title",begin:"@[\\w\\-]+\\[[\\w^;\\-]*\\](?:\\[[\\w^;\\-]*\\])?(?:.*)$"},{className:"variable",begin:"\\$\\{?[\\w\\-\\.\\:]+\\}?"},{className:"keyword",begin:"\\^[\\w\\-\\.\\:]+"},{className:"number",begin:"\\^#[0-9a-fA-F]+"},a.C_NUMBER_MODE]}}),a.registerLanguage("pf",function(a){var b={className:"variable",begin:/\$[\w\d#@][\w\d_]*/},c={className:"variable",begin:/</,end:/>/};return{aliases:["pf.conf"],lexemes:/[a-z0-9_<>-]+/,keywords:{built_in:"block match pass load anchor|5 antispoof|10 set table",keyword:"in out log quick on rdomain inet inet6 proto from port os to routeallow-opts divert-packet divert-reply divert-to flags group icmp-typeicmp6-type label once probability recieved-on rtable prio queuetos tag tagged user keep fragment for os dropaf-to|10 binat-to|10 nat-to|10 rdr-to|10 bitmask least-stats random round-robinsource-hash static-portdup-to reply-to route-toparent bandwidth default min max qlimitblock-policy debug fingerprints hostid limit loginterface optimizationreassemble ruleset-optimization basic none profile skip state-defaultsstate-policy timeoutconst counters persistno modulate synproxy state|5 floating if-bound no-sync pflow|10 sloppysource-track global rule max-src-nodes max-src-states max-src-connmax-src-conn-rate overload flushscrub|5 max-mss min-ttl no-df|10 random-id",literal:"all any no-route self urpf-failed egress|5 unknown"},contains:[a.HASH_COMMENT_MODE,a.NUMBER_MODE,a.QUOTE_STRING_MODE,b,c]}}),a.registerLanguage("php",function(a){var b={className:"variable",begin:"\\$+[a-zA-Z_\7f-ÿ][a-zA-Z0-9_\7f-ÿ]*"},c={className:"preprocessor",begin:/<\?(php)?|\?>/},d={className:"string",contains:[a.BACKSLASH_ESCAPE,c],variants:[{begin:'b"',end:'"'},{begin:"b'",end:"'"},a.inherit(a.APOS_STRING_MODE,{illegal:null}),a.inherit(a.QUOTE_STRING_MODE,{illegal:null})]},e={variants:[a.BINARY_NUMBER_MODE,a.C_NUMBER_MODE]};return{aliases:["php3","php4","php5","php6"],case_insensitive:!0,keywords:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",contains:[a.C_LINE_COMMENT_MODE,a.HASH_COMMENT_MODE,a.COMMENT("/\\*","\\*/",{contains:[{className:"doctag",begin:"@[A-Za-z]+"},c]}),a.COMMENT("__halt_compiler.+?;",!1,{endsWithParent:!0,keywords:"__halt_compiler",lexemes:a.UNDERSCORE_IDENT_RE}),{className:"string",begin:/<<<['"]?\w+['"]?$/,end:/^\w+;?$/,contains:[a.BACKSLASH_ESCAPE,{className:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]}]},c,b,{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",beginKeywords:"function",end:/[;{]/,excludeEnd:!0,illegal:"\\$|\\[|%",contains:[a.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",contains:["self",b,a.C_BLOCK_COMMENT_MODE,d,e]}]},{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,illegal:/[:\(\$"]/,contains:[{beginKeywords:"extends implements"},a.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",end:";",illegal:/[\.']/,contains:[a.UNDERSCORE_TITLE_MODE]},{beginKeywords:"use",end:";",contains:[a.UNDERSCORE_TITLE_MODE]},{begin:"=>"},d,e]}}),a.registerLanguage("powershell",function(a){var b={begin:"`[\\s\\S]",relevance:0},c={className:"variable",variants:[{begin:/\$[\w\d][\w\d_:]*/}]},d={className:"string",begin:/"/,end:/"/,contains:[b,c,{className:"variable",begin:/\$[A-z]/,end:/[^A-z]/}]},e={className:"string",begin:/'/,end:/'/};return{aliases:["ps"],lexemes:/-?[A-z\.\-]+/,case_insensitive:!0,keywords:{keyword:"if else foreach return function do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch",literal:"$null $true $false",built_in:"Add-Content Add-History Add-Member Add-PSSnapin Clear-Content Clear-Item Clear-Item Property Clear-Variable Compare-Object ConvertFrom-SecureString Convert-Path ConvertTo-Html ConvertTo-SecureString Copy-Item Copy-ItemProperty Export-Alias Export-Clixml Export-Console Export-Csv ForEach-Object Format-Custom Format-List Format-Table Format-Wide Get-Acl Get-Alias Get-AuthenticodeSignature Get-ChildItem Get-Command Get-Content Get-Credential Get-Culture Get-Date Get-EventLog Get-ExecutionPolicy Get-Help Get-History Get-Host Get-Item Get-ItemProperty Get-Location Get-Member Get-PfxCertificate Get-Process Get-PSDrive Get-PSProvider Get-PSSnapin Get-Service Get-TraceSource Get-UICulture Get-Unique Get-Variable Get-WmiObject Group-Object Import-Alias Import-Clixml Import-Csv Invoke-Expression Invoke-History Invoke-Item Join-Path Measure-Command Measure-Object Move-Item Move-ItemProperty New-Alias New-Item New-ItemProperty New-Object New-PSDrive New-Service New-TimeSpan New-Variable Out-Default Out-File Out-Host Out-Null Out-Printer Out-String Pop-Location Push-Location Read-Host Remove-Item Remove-ItemProperty Remove-PSDrive Remove-PSSnapin Remove-Variable Rename-Item Rename-ItemProperty Resolve-Path Restart-Service Resume-Service Select-Object Select-String Set-Acl Set-Alias Set-AuthenticodeSignature Set-Content Set-Date Set-ExecutionPolicy Set-Item Set-ItemProperty Set-Location Set-PSDebug Set-Service Set-TraceSource Set-Variable Sort-Object Split-Path Start-Service Start-Sleep Start-Transcript Stop-Process Stop-Service Stop-Transcript Suspend-Service Tee-Object Test-Path Trace-Command Update-FormatData Update-TypeData Where-Object Write-Debug Write-Error Write-Host Write-Output Write-Progress Write-Verbose Write-Warning",operator:"-ne -eq -lt -gt -ge -le -not -like -notlike -match -notmatch -contains -notcontains -in -notin -replace"},contains:[a.HASH_COMMENT_MODE,a.NUMBER_MODE,d,e,c]}}),a.registerLanguage("processing",function(a){return{keywords:{keyword:"BufferedReader PVector PFont PImage PGraphics HashMap boolean byte char color double float int long String Array FloatDict FloatList IntDict IntList JSONArray JSONObject Object StringDict StringList Table TableRow XML false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private",constant:"P2D P3D HALF_PI PI QUARTER_PI TAU TWO_PI",variable:"displayHeight displayWidth mouseY mouseX mousePressed pmouseX pmouseY key keyCode pixels focused frameCount frameRate height width",title:"setup draw",built_in:"size createGraphics beginDraw createShape loadShape PShape arc ellipse line point quad rect triangle bezier bezierDetail bezierPoint bezierTangent curve curveDetail curvePoint curveTangent curveTightness shape shapeMode beginContour beginShape bezierVertex curveVertex endContour endShape quadraticVertex vertex ellipseMode noSmooth rectMode smooth strokeCap strokeJoin strokeWeight mouseClicked mouseDragged mouseMoved mousePressed mouseReleased mouseWheel keyPressed keyPressedkeyReleased keyTyped print println save saveFrame day hour millis minute month second year background clear colorMode fill noFill noStroke stroke alpha blue brightness color green hue lerpColor red saturation modelX modelY modelZ screenX screenY screenZ ambient emissive shininess specular add createImage beginCamera camera endCamera frustum ortho perspective printCamera printProjection cursor frameRate noCursor exit loop noLoop popStyle pushStyle redraw binary boolean byte char float hex int str unbinary unhex join match matchAll nf nfc nfp nfs split splitTokens trim append arrayCopy concat expand reverse shorten sort splice subset box sphere sphereDetail createInput createReader loadBytes loadJSONArray loadJSONObject loadStrings loadTable loadXML open parseXML saveTable selectFolder selectInput beginRaw beginRecord createOutput createWriter endRaw endRecord PrintWritersaveBytes saveJSONArray saveJSONObject saveStream saveStrings saveXML selectOutput popMatrix printMatrix pushMatrix resetMatrix rotate rotateX rotateY rotateZ scale shearX shearY translate ambientLight directionalLight lightFalloff lights lightSpecular noLights normal pointLight spotLight image imageMode loadImage noTint requestImage tint texture textureMode textureWrap blend copy filter get loadPixels set updatePixels blendMode loadShader PShaderresetShader shader createFont loadFont text textFont textAlign textLeading textMode textSize textWidth textAscent textDescent abs ceil constrain dist exp floor lerp log mag map max min norm pow round sq sqrt acos asin atan atan2 cos degrees radians sin tan noise noiseDetail noiseSeed random randomGaussian randomSeed"},contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_NUMBER_MODE]}}),a.registerLanguage("profile",function(a){return{contains:[a.C_NUMBER_MODE,{className:"built_in",begin:"{",end:"}$",excludeBegin:!0,excludeEnd:!0,contains:[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE],relevance:0},{className:"filename",begin:"[a-zA-Z_][\\da-zA-Z_]+\\.[\\da-zA-Z_]{1,3}",end:":",excludeEnd:!0},{className:"header",begin:"(ncalls|tottime|cumtime)",end:"$",keywords:"ncalls tottime|10 cumtime|10 filename",relevance:10},{className:"summary",begin:"function calls",end:"$",contains:[a.C_NUMBER_MODE],relevance:10},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,{className:"function",begin:"\\(",end:"\\)$",contains:[a.UNDERSCORE_TITLE_MODE],relevance:0}]}}),a.registerLanguage("prolog",function(a){var b={className:"atom",begin:/[a-z][A-Za-z0-9_]*/,relevance:0},c={className:"name",variants:[{begin:/[A-Z][a-zA-Z0-9_]*/},{begin:/_[A-Za-z0-9_]*/}],relevance:0},d={begin:/\(/,end:/\)/,relevance:0},e={begin:/\[/,end:/\]/},f={className:"comment",begin:/%/,end:/$/,contains:[a.PHRASAL_WORDS_MODE]},g={className:"string",begin:/`/,end:/`/,contains:[a.BACKSLASH_ESCAPE]},h={className:"string",begin:/0\'(\\\'|.)/},i={className:"string",begin:/0\'\\s/},j={begin:/:-/},k=[b,c,d,j,e,f,a.C_BLOCK_COMMENT_MODE,a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,g,h,i,a.C_NUMBER_MODE];return d.contains=k,e.contains=k,{contains:k.concat([{begin:/\.$/}])}}),a.registerLanguage("protobuf",function(a){return{keywords:{keyword:"package import option optional required repeated group",built_in:"double float int32 int64 uint32 uint64 sint32 sint64 fixed32 fixed64 sfixed32 sfixed64 bool string bytes",literal:"true false"},contains:[a.QUOTE_STRING_MODE,a.NUMBER_MODE,a.C_LINE_COMMENT_MODE,{className:"class",beginKeywords:"message enum service",end:/\{/,illegal:/\n/,contains:[a.inherit(a.TITLE_MODE,{starts:{endsWithParent:!0,excludeEnd:!0}})]},{className:"function",beginKeywords:"rpc",end:/;/,excludeEnd:!0,keywords:"rpc returns"},{className:"constant",begin:/^\s*[A-Z_]+/,end:/\s*=/,excludeEnd:!0}]}}),a.registerLanguage("puppet",function(a){var b={keyword:"and case default else elsif false if in import enherits node or true undef unless main settings $string ",literal:"alias audit before loglevel noop require subscribe tag owner ensure group mode name|0 changes context force incl lens load_path onlyif provider returns root show_diff type_check en_address ip_address realname command environment hour monute month monthday special target weekday creates cwd ogoutput refresh refreshonly tries try_sleep umask backup checksum content ctime force ignore links mtime purge recurse recurselimit replace selinux_ignore_defaults selrange selrole seltype seluser source souirce_permissions sourceselect validate_cmd validate_replacement allowdupe attribute_membership auth_membership forcelocal gid ia_load_module members system host_aliases ip allowed_trunk_vlans description device_url duplex encapsulation etherchannel native_vlan speed principals allow_root auth_class auth_type authenticate_user k_of_n mechanisms rule session_owner shared options device fstype enable hasrestart directory present absent link atboot blockdevice device dump pass remounts poller_tag use message withpath adminfile allow_virtual allowcdrom category configfiles flavor install_options instance package_settings platform responsefile status uninstall_options vendor unless_system_user unless_uid binary control flags hasstatus manifest pattern restart running start stop allowdupe auths expiry gid groups home iterations key_membership keys managehome membership password password_max_age password_min_age profile_membership profiles project purge_ssh_keys role_membership roles salt shell uid baseurl cost descr enabled enablegroups exclude failovermethod gpgcheck gpgkey http_caching include includepkgs keepalive metadata_expire metalink mirrorlist priority protect proxy proxy_password proxy_username repo_gpgcheck s3_enabled skip_if_unavailable sslcacert sslclientcert sslclientkey sslverify mounted",built_in:"architecture augeasversion blockdevices boardmanufacturer boardproductname boardserialnumber cfkey dhcp_servers domain ec2_ ec2_userdata facterversion filesystems ldom fqdn gid hardwareisa hardwaremodel hostname id|0 interfaces ipaddress ipaddress_ ipaddress6 ipaddress6_ iphostnumber is_virtual kernel kernelmajversion kernelrelease kernelversion kernelrelease kernelversion lsbdistcodename lsbdistdescription lsbdistid lsbdistrelease lsbmajdistrelease lsbminordistrelease lsbrelease macaddress macaddress_ macosx_buildversion macosx_productname macosx_productversion macosx_productverson_major macosx_productversion_minor manufacturer memoryfree memorysize netmask metmask_ network_ operatingsystem operatingsystemmajrelease operatingsystemrelease osfamily partitions path physicalprocessorcount processor processorcount productname ps puppetversion rubysitedir rubyversion selinux selinux_config_mode selinux_config_policy selinux_current_mode selinux_current_mode selinux_enforced selinux_policyversion serialnumber sp_ sshdsakey sshecdsakey sshrsakey swapencrypted swapfree swapsize timezone type uniqueid uptime uptime_days uptime_hours uptime_seconds uuid virtual vlans xendomains zfs_version zonenae zones zpool_version"},c=a.COMMENT("#","$"),d="([A-Za-z_]|::)(\\w|::)*",e=a.inherit(a.TITLE_MODE,{begin:d}),f={className:"variable",begin:"\\$"+d},g={className:"string",contains:[a.BACKSLASH_ESCAPE,f],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/}]};return{aliases:["pp"],contains:[c,f,g,{beginKeywords:"class",end:"\\{|;",illegal:/=/,contains:[e,c]},{beginKeywords:"define",end:/\{/,contains:[{className:"title",begin:a.IDENT_RE,endsParent:!0}]},{begin:a.IDENT_RE+"\\s+\\{",returnBegin:!0,end:/\S/,contains:[{className:"name",begin:a.IDENT_RE},{begin:/\{/,end:/\}/,keywords:b,relevance:0,contains:[g,c,{begin:"[a-zA-Z_]+\\s*=>"},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},f]}],relevance:0}]}}),a.registerLanguage("python",function(a){var b={className:"prompt",begin:/^(>>>|\.\.\.) /},c={className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:/(u|b)?r?'''/,end:/'''/,contains:[b],relevance:10},{begin:/(u|b)?r?"""/,end:/"""/,contains:[b],relevance:10},{begin:/(u|r|ur)'/,end:/'/,relevance:10},{begin:/(u|r|ur)"/,end:/"/,relevance:10},{begin:/(b|br)'/,end:/'/},{begin:/(b|br)"/,end:/"/},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE]},d={className:"number",relevance:0,variants:[{begin:a.BINARY_NUMBER_RE+"[lLjJ]?"},{begin:"\\b(0o[0-7]+)[lLjJ]?"},{begin:a.C_NUMBER_RE+"[lLjJ]?"}]},e={className:"params",begin:/\(/,end:/\)/,contains:["self",b,d,c]};return{aliases:["py","gyp"],keywords:{keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10 None True False",built_in:"Ellipsis NotImplemented"},illegal:/(<\/|->|\?)/,contains:[b,d,c,a.HASH_COMMENT_MODE,{variants:[{className:"function",beginKeywords:"def",relevance:10},{className:"class",beginKeywords:"class"}],end:/:/,illegal:/[${=;\n,]/,contains:[a.UNDERSCORE_TITLE_MODE,e]},{className:"decorator",begin:/^[\t ]*@/,end:/$/},{begin:/\b(print|exec)\(/}]}}),a.registerLanguage("q",function(a){var b={keyword:"do while select delete by update from",constant:"0b 1b",built_in:"neg not null string reciprocal floor ceiling signum mod xbar xlog and or each scan over prior mmu lsq inv md5 ltime gtime count first var dev med cov cor all any rand sums prds mins maxs fills deltas ratios avgs differ prev next rank reverse iasc idesc asc desc msum mcount mavg mdev xrank mmin mmax xprev rotate distinct group where flip type key til get value attr cut set upsert raze union inter except cross sv vs sublist enlist read0 read1 hopen hclose hdel hsym hcount peach system ltrim rtrim trim lower upper ssr view tables views cols xcols keys xkey xcol xasc xdesc fkeys meta lj aj aj0 ij pj asof uj ww wj wj1 fby xgroup ungroup ej save load rsave rload show csv parse eval min max avg wavg wsum sin cos tan sum",typename:"`float `double int `timestamp `timespan `datetime `time `boolean `symbol `char `byte `short `long `real `month `date `minute `second `guid"};return{aliases:["k","kdb"],keywords:b,lexemes:/\b(`?)[A-Za-z0-9_]+\b/,contains:[a.C_LINE_COMMENT_MODE,a.QUOTE_STRING_MODE,a.C_NUMBER_MODE]}}),a.registerLanguage("r",function(a){var b="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{contains:[a.HASH_COMMENT_MODE,{begin:b,lexemes:b,keywords:{keyword:"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},relevance:0},{className:"number",begin:"0[xX][0-9a-fA-F]+[Li]?\\b",relevance:0},{className:"number",begin:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",relevance:0},{className:"number",begin:"\\d+\\.(?!\\d)(?:i\\b)?",relevance:0},{className:"number",begin:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{className:"number",begin:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{begin:"`",end:"`",relevance:0},{className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:'"',end:'"'},{begin:"'",end:"'"}]}]}}),a.registerLanguage("rib",function(a){return{keywords:"ArchiveRecord AreaLightSource Atmosphere Attribute AttributeBegin AttributeEnd Basis Begin Blobby Bound Clipping ClippingPlane Color ColorSamples ConcatTransform Cone CoordinateSystem CoordSysTransform CropWindow Curves Cylinder DepthOfField Detail DetailRange Disk Displacement Display End ErrorHandler Exposure Exterior Format FrameAspectRatio FrameBegin FrameEnd GeneralPolygon GeometricApproximation Geometry Hider Hyperboloid Identity Illuminate Imager Interior LightSource MakeCubeFaceEnvironment MakeLatLongEnvironment MakeShadow MakeTexture Matte MotionBegin MotionEnd NuPatch ObjectBegin ObjectEnd ObjectInstance Opacity Option Orientation Paraboloid Patch PatchMesh Perspective PixelFilter PixelSamples PixelVariance Points PointsGeneralPolygons PointsPolygons Polygon Procedural Projection Quantize ReadArchive RelativeDetail ReverseOrientation Rotate Scale ScreenWindow ShadingInterpolation ShadingRate Shutter Sides Skew SolidBegin SolidEnd Sphere SubdivisionMesh Surface TextureCoordinates Torus Transform TransformBegin TransformEnd TransformPoints Translate TrimCurve WorldBegin WorldEnd",illegal:"</",contains:[a.HASH_COMMENT_MODE,a.C_NUMBER_MODE,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE]}}),a.registerLanguage("roboconf",function(a){var b="[a-zA-Z-_][^\n{\r\n]+\\{";return{aliases:["graph","instances"],case_insensitive:!0,keywords:"import",contains:[{className:"facet",begin:"^facet "+b,end:"}",keywords:"facet installer exports children extends",contains:[a.HASH_COMMENT_MODE]},{className:"instance-of",begin:"^instance of "+b,end:"}",keywords:"name count channels instance-data instance-state instance of",contains:[{className:"keyword",begin:"[a-zA-Z-_]+( |  )*:"},a.HASH_COMMENT_MODE]},{className:"component",begin:"^"+b,end:"}",lexemes:"\\(?[a-zA-Z]+\\)?",keywords:"installer exports children extends imports facets alias (optional)",contains:[{className:"string",begin:"\\.[a-zA-Z-_]+",end:"\\s|,|;",excludeEnd:!0},a.HASH_COMMENT_MODE]},a.HASH_COMMENT_MODE]}}),a.registerLanguage("rsl",function(a){return{keywords:{keyword:"float color point normal vector matrix while for if do return else break extern continue",built_in:"abs acos ambient area asin atan atmosphere attribute calculatenormal ceil cellnoise clamp comp concat cos degrees depth Deriv diffuse distance Du Dv environment exp faceforward filterstep floor format fresnel incident length lightsource log match max min mod noise normalize ntransform opposite option phong pnoise pow printf ptlined radians random reflect refract renderinfo round setcomp setxcomp setycomp setzcomp shadow sign sin smoothstep specular specularbrdf spline sqrt step tan texture textureinfo trace transform vtransform xcomp ycomp zcomp"},illegal:"</",contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,a.C_NUMBER_MODE,{className:"preprocessor",begin:"#",end:"$"},{className:"shader",beginKeywords:"surface displacement light volume imager",end:"\\("},{className:"shading",beginKeywords:"illuminate illuminance gather",end:"\\("}]}}),a.registerLanguage("ruleslanguage",function(a){return{keywords:{keyword:"BILL_PERIOD BILL_START BILL_STOP RS_EFFECTIVE_START RS_EFFECTIVE_STOP RS_JURIS_CODE RS_OPCO_CODE INTDADDATTRIBUTE|5 INTDADDVMSG|5 INTDBLOCKOP|5 INTDBLOCKOPNA|5 INTDCLOSE|5 INTDCOUNT|5 INTDCOUNTSTATUSCODE|5 INTDCREATEMASK|5 INTDCREATEDAYMASK|5 INTDCREATEFACTORMASK|5 INTDCREATEHANDLE|5 INTDCREATEOVERRIDEDAYMASK|5 INTDCREATEOVERRIDEMASK|5 INTDCREATESTATUSCODEMASK|5 INTDCREATETOUPERIOD|5 INTDDELETE|5 INTDDIPTEST|5 INTDEXPORT|5 INTDGETERRORCODE|5 INTDGETERRORMESSAGE|5 INTDISEQUAL|5 INTDJOIN|5 INTDLOAD|5 INTDLOADACTUALCUT|5 INTDLOADDATES|5 INTDLOADHIST|5 INTDLOADLIST|5 INTDLOADLISTDATES|5 INTDLOADLISTENERGY|5 INTDLOADLISTHIST|5 INTDLOADRELATEDCHANNEL|5 INTDLOADSP|5 INTDLOADSTAGING|5 INTDLOADUOM|5 INTDLOADUOMDATES|5 INTDLOADUOMHIST|5 INTDLOADVERSION|5 INTDOPEN|5 INTDREADFIRST|5 INTDREADNEXT|5 INTDRECCOUNT|5 INTDRELEASE|5 INTDREPLACE|5 INTDROLLAVG|5 INTDROLLPEAK|5 INTDSCALAROP|5 INTDSCALE|5 INTDSETATTRIBUTE|5 INTDSETDSTPARTICIPANT|5 INTDSETSTRING|5 INTDSETVALUE|5 INTDSETVALUESTATUS|5 INTDSHIFTSTARTTIME|5 INTDSMOOTH|5 INTDSORT|5 INTDSPIKETEST|5 INTDSUBSET|5 INTDTOU|5 INTDTOURELEASE|5 INTDTOUVALUE|5 INTDUPDATESTATS|5 INTDVALUE|5 STDEV INTDDELETEEX|5 INTDLOADEXACTUAL|5 INTDLOADEXCUT|5 INTDLOADEXDATES|5 INTDLOADEX|5 INTDLOADEXRELATEDCHANNEL|5 INTDSAVEEX|5 MVLOAD|5 MVLOADACCT|5 MVLOADACCTDATES|5 MVLOADACCTHIST|5 MVLOADDATES|5 MVLOADHIST|5 MVLOADLIST|5 MVLOADLISTDATES|5 MVLOADLISTHIST|5 IF FOR NEXT DONE SELECT END CALL ABORT CLEAR CHANNEL FACTOR LIST NUMBER OVERRIDE SET WEEK DISTRIBUTIONNODE ELSE WHEN THEN OTHERWISE IENUM CSV INCLUDE LEAVE RIDER SAVE DELETE NOVALUE SECTION WARN SAVE_UPDATE DETERMINANT LABEL REPORT REVENUE EACH IN FROM TOTAL CHARGE BLOCK AND OR CSV_FILE RATE_CODE AUXILIARY_DEMAND UIDACCOUNT RS BILL_PERIOD_SELECT HOURS_PER_MONTH INTD_ERROR_STOP SEASON_SCHEDULE_NAME ACCOUNTFACTOR ARRAYUPPERBOUND CALLSTOREDPROC GETADOCONNECTION GETCONNECT GETDATASOURCE GETQUALIFIER GETUSERID HASVALUE LISTCOUNT LISTOP LISTUPDATE LISTVALUE PRORATEFACTOR RSPRORATE SETBINPATH SETDBMONITOR WQ_OPEN BILLINGHOURS DATE DATEFROMFLOAT DATETIMEFROMSTRING DATETIMETOSTRING DATETOFLOAT DAY DAYDIFF DAYNAME DBDATETIME HOUR MINUTE MONTH MONTHDIFF MONTHHOURS MONTHNAME ROUNDDATE SAMEWEEKDAYLASTYEAR SECOND WEEKDAY WEEKDIFF YEAR YEARDAY YEARSTR COMPSUM HISTCOUNT HISTMAX HISTMIN HISTMINNZ HISTVALUE MAXNRANGE MAXRANGE MINRANGE COMPIKVA COMPKVA COMPKVARFROMKQKW COMPLF IDATTR FLAG LF2KW LF2KWH MAXKW POWERFACTOR READING2USAGE AVGSEASON MAXSEASON MONTHLYMERGE SEASONVALUE SUMSEASON ACCTREADDATES ACCTTABLELOAD CONFIGADD CONFIGGET CREATEOBJECT CREATEREPORT EMAILCLIENT EXPBLKMDMUSAGE EXPMDMUSAGE EXPORT_USAGE FACTORINEFFECT GETUSERSPECIFIEDSTOP INEFFECT ISHOLIDAY RUNRATE SAVE_PROFILE SETREPORTTITLE USEREXIT WATFORRUNRATE TO TABLE ACOS ASIN ATAN ATAN2 BITAND CEIL COS COSECANT COSH COTANGENT DIVQUOT DIVREM EXP FABS FLOOR FMOD FREPM FREXPN LOG LOG10 MAX MAXN MIN MINNZ MODF POW ROUND ROUND2VALUE ROUNDINT SECANT SIN SINH SQROOT TAN TANH FLOAT2STRING FLOAT2STRINGNC INSTR LEFT LEN LTRIM MID RIGHT RTRIM STRING STRINGNC TOLOWER TOUPPER TRIM NUMDAYS READ_DATE STAGING",built_in:"IDENTIFIER OPTIONS XML_ELEMENT XML_OP XML_ELEMENT_OF DOMDOCCREATE DOMDOCLOADFILE DOMDOCLOADXML DOMDOCSAVEFILE DOMDOCGETROOT DOMDOCADDPI DOMNODEGETNAME DOMNODEGETTYPE DOMNODEGETVALUE DOMNODEGETCHILDCT DOMNODEGETFIRSTCHILD DOMNODEGETSIBLING DOMNODECREATECHILDELEMENT DOMNODESETATTRIBUTE DOMNODEGETCHILDELEMENTCT DOMNODEGETFIRSTCHILDELEMENT DOMNODEGETSIBLINGELEMENT DOMNODEGETATTRIBUTECT DOMNODEGETATTRIBUTEI DOMNODEGETATTRIBUTEBYNAME DOMNODEGETBYNAME"},contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_NUMBER_MODE,{className:"array",variants:[{begin:"#\\s+[a-zA-Z\\ \\.]*",
-relevance:0},{begin:"#[a-zA-Z\\ \\.]+"}]}]}}),a.registerLanguage("rust",function(a){var b="([uif](8|16|32|64|size))?",c=a.inherit(a.C_BLOCK_COMMENT_MODE);return c.contains.push("self"),{aliases:["rs"],keywords:{keyword:"alignof as be box break const continue crate do else enum extern false fn for if impl in let loop match mod mut offsetof once priv proc pub pure ref return self Self sizeof static struct super trait true type typeof unsafe unsized use virtual while where yield int i8 i16 i32 i64 uint u8 u32 u64 float f32 f64 str char bool",built_in:"Copy Send Sized Sync Drop Fn FnMut FnOnce drop Box ToOwned Clone PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator Option Some None Result Ok Err SliceConcatExt String ToString Vec assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln!"},lexemes:a.IDENT_RE+"!?",illegal:"</",contains:[a.C_LINE_COMMENT_MODE,c,a.inherit(a.QUOTE_STRING_MODE,{illegal:null}),{className:"string",variants:[{begin:/r(#*)".*?"\1(?!#)/},{begin:/'\\?(x\w{2}|u\w{4}|U\w{8}|.)'/},{begin:/'[a-zA-Z_][a-zA-Z0-9_]*/}]},{className:"number",variants:[{begin:"\\b0b([01_]+)"+b},{begin:"\\b0o([0-7_]+)"+b},{begin:"\\b0x([A-Fa-f0-9_]+)"+b},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+b}],relevance:0},{className:"function",beginKeywords:"fn",end:"(\\(|<)",excludeEnd:!0,contains:[a.UNDERSCORE_TITLE_MODE]},{className:"preprocessor",begin:"#\\!?\\[",end:"\\]"},{beginKeywords:"type",end:"(=|<)",contains:[a.UNDERSCORE_TITLE_MODE],illegal:"\\S"},{beginKeywords:"trait enum",end:"{",contains:[a.inherit(a.UNDERSCORE_TITLE_MODE,{endsParent:!0})],illegal:"[\\w\\d]"},{begin:a.IDENT_RE+"::"},{begin:"->"}]}}),a.registerLanguage("scala",function(a){var b={className:"annotation",begin:"@[A-Za-z]+"},c={className:"string",begin:'u?r?"""',end:'"""',relevance:10},d={className:"symbol",begin:"'\\w[\\w\\d_]*(?!')"},e={className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},f={className:"title",begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,relevance:0},g={className:"class",beginKeywords:"class object trait type",end:/[:={\[(\n;]/,contains:[{className:"keyword",beginKeywords:"extends with",relevance:10},f]},h={className:"function",beginKeywords:"def",end:/[:={\[(\n;]/,contains:[f]};return{keywords:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"},contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,c,a.QUOTE_STRING_MODE,d,e,h,g,a.C_NUMBER_MODE,b]}}),a.registerLanguage("scheme",function(a){var b="[^\\(\\)\\[\\]\\{\\}\",'`;#|\\\\\\s]+",c="(\\-|\\+)?\\d+([./]\\d+)?",d=c+"[+\\-]"+c+"i",e={built_in:"case-lambda call/cc class define-class exit-handler field import inherit init-field interface let*-values let-values let/ec mixin opt-lambda override protect provide public rename require require-for-syntax syntax syntax-case syntax-error unit/sig unless when with-syntax and begin call-with-current-continuation call-with-input-file call-with-output-file case cond define define-syntax delay do dynamic-wind else for-each if lambda let let* let-syntax letrec letrec-syntax map or syntax-rules ' * + , ,@ - ... / ; < <= = => > >= ` abs acos angle append apply asin assoc assq assv atan boolean? caar cadr call-with-input-file call-with-output-file call-with-values car cdddar cddddr cdr ceiling char->integer char-alphabetic? char-ci<=? char-ci<? char-ci=? char-ci>=? char-ci>? char-downcase char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char<? char=? char>=? char>? char? close-input-port close-output-port complex? cons cos current-input-port current-output-port denominator display eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt floor force gcd imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment lcm length list list->string list->vector list-ref list-tail list? load log magnitude make-polar make-rectangular make-string make-vector max member memq memv min modulo negative? newline not null-environment null? number->string number? numerator odd? open-input-file open-output-file output-port? pair? peek-char port? positive? procedure? quasiquote quote quotient rational? rationalize read read-char real-part real? remainder reverse round scheme-report-environment set! set-car! set-cdr! sin sqrt string string->list string->number string->symbol string-append string-ci<=? string-ci<? string-ci=? string-ci>=? string-ci>? string-copy string-fill! string-length string-ref string-set! string<=? string<? string=? string>=? string>? string? substring symbol->string symbol? tan transcript-off transcript-on truncate values vector vector->list vector-fill! vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char zero?"},f={className:"shebang",begin:"^#!",end:"$"},g={className:"literal",begin:"(#t|#f|#\\\\"+b+"|#\\\\.)"},h={className:"number",variants:[{begin:c,relevance:0},{begin:d,relevance:0},{begin:"#b[0-1]+(/[0-1]+)?"},{begin:"#o[0-7]+(/[0-7]+)?"},{begin:"#x[0-9a-f]+(/[0-9a-f]+)?"}]},i=a.QUOTE_STRING_MODE,j=[a.COMMENT(";","$",{relevance:0}),a.COMMENT("#\\|","\\|#")],k={begin:b,relevance:0},l={className:"variable",begin:"'"+b},m={endsWithParent:!0,relevance:0},n={className:"list",variants:[{begin:"\\(",end:"\\)"},{begin:"\\[",end:"\\]"}],contains:[{className:"keyword",begin:b,lexemes:b,keywords:e},m]};return m.contains=[g,h,i,k,l,n].concat(j),{illegal:/\S/,contains:[f,h,i,l,n].concat(j)}}),a.registerLanguage("scilab",function(a){var b=[a.C_NUMBER_MODE,{className:"string",begin:"'|\"",end:"'|\"",contains:[a.BACKSLASH_ESCAPE,{begin:"''"}]}];return{aliases:["sci"],keywords:{keyword:"abort break case clear catch continue do elseif else endfunction end for functionglobal if pause return resume select try then while%f %F %t %T %pi %eps %inf %nan %e %i %z %s",built_in:"abs and acos asin atan ceil cd chdir clearglobal cosh cos cumprod deff disp errorexec execstr exists exp eye gettext floor fprintf fread fsolve imag isdef isemptyisinfisnan isvector lasterror length load linspace list listfiles log10 log2 logmax min msprintf mclose mopen ones or pathconvert poly printf prod pwd rand realround sinh sin size gsort sprintf sqrt strcat strcmps tring sum system tanh tantype typename warning zeros matrix"},illegal:'("|#|/\\*|\\s+/\\w+)',contains:[{className:"function",beginKeywords:"function endfunction",end:"$",keywords:"function endfunction|10",contains:[a.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)"}]},{className:"transposed_variable",begin:"[a-zA-Z_][a-zA-Z_0-9]*('+[\\.']*|[\\.']+)",end:"",relevance:0},{className:"matrix",begin:"\\[",end:"\\]'*[\\.']*",relevance:0,contains:b},a.COMMENT("//","$")].concat(b)}}),a.registerLanguage("scss",function(a){var b="[a-zA-Z-][a-zA-Z0-9_-]*",c={className:"variable",begin:"(\\$"+b+")\\b"},d={className:"function",begin:b+"\\(",returnBegin:!0,excludeEnd:!0,end:"\\("},e={className:"hexcolor",begin:"#[0-9A-Fa-f]+"};({className:"attribute",begin:"[A-Z\\_\\.\\-]+",end:":",excludeEnd:!0,illegal:"[^\\s]",starts:{className:"value",endsWithParent:!0,excludeEnd:!0,contains:[d,e,a.CSS_NUMBER_MODE,a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,a.C_BLOCK_COMMENT_MODE,{className:"important",begin:"!important"}]}});return{case_insensitive:!0,illegal:"[=/|']",contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,d,{className:"id",begin:"\\#[A-Za-z0-9_-]+",relevance:0},{className:"class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},{className:"attr_selector",begin:"\\[",end:"\\]",illegal:"$"},{className:"tag",begin:"\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",relevance:0},{className:"pseudo",begin:":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"},{className:"pseudo",begin:"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"},c,{className:"attribute",begin:"\\b(z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",illegal:"[^\\s]"},{className:"value",begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{className:"value",begin:":",end:";",contains:[d,c,e,a.CSS_NUMBER_MODE,a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,{className:"important",begin:"!important"}]},{className:"at_rule",begin:"@",end:"[{;]",keywords:"mixin include extend for if else each while charset import debug media page content font-face namespace warn",contains:[d,c,a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,e,a.CSS_NUMBER_MODE,{className:"preprocessor",begin:"\\s[A-Za-z0-9_.-]+",relevance:0}]}]}}),a.registerLanguage("smali",function(a){var b=["add","and","cmp","cmpg","cmpl","const","div","double","float","goto","if","int","long","move","mul","neg","new","nop","not","or","rem","return","shl","shr","sput","sub","throw","ushr","xor"],c=["aget","aput","array","check","execute","fill","filled","goto/16","goto/32","iget","instance","invoke","iput","monitor","packed","sget","sparse"],d=["transient","constructor","abstract","final","synthetic","public","private","protected","static","bridge","system"];return{aliases:["smali"],contains:[{className:"string",begin:'"',end:'"',relevance:0},a.COMMENT("#","$",{relevance:0}),{className:"keyword",begin:"\\s*\\.end\\s[a-zA-Z0-9]*",relevance:1},{className:"keyword",begin:"^[ ]*\\.[a-zA-Z]*",relevance:0},{className:"keyword",begin:"\\s:[a-zA-Z_0-9]*",relevance:0},{className:"keyword",begin:"\\s("+d.join("|")+")",relevance:1},{className:"keyword",begin:"\\[",relevance:0},{className:"instruction",begin:"\\s("+b.join("|")+")\\s",relevance:1},{className:"instruction",begin:"\\s("+b.join("|")+")((\\-|/)[a-zA-Z0-9]+)+\\s",relevance:10},{className:"instruction",begin:"\\s("+c.join("|")+")((\\-|/)[a-zA-Z0-9]+)*\\s",relevance:10},{className:"class",begin:"L[^(;:\n]*;",relevance:0},{className:"function",begin:'( |->)[^(\n ;"]*\\(',relevance:0},{className:"function",begin:"\\)",relevance:0},{className:"variable",begin:"[vp][0-9]+",relevance:0}]}}),a.registerLanguage("smalltalk",function(a){var b="[a-z][a-zA-Z0-9_]*",c={className:"char",begin:"\\$.{1}"},d={className:"symbol",begin:"#"+a.UNDERSCORE_IDENT_RE};return{aliases:["st"],keywords:"self super nil true false thisContext",contains:[a.COMMENT('"','"'),a.APOS_STRING_MODE,{className:"class",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},{className:"method",begin:b+":",relevance:0},a.C_NUMBER_MODE,d,c,{className:"localvars",begin:"\\|[ ]*"+b+"([ ]+"+b+")*[ ]*\\|",returnBegin:!0,end:/\|/,illegal:/\S/,contains:[{begin:"(\\|[ ]*)?"+b}]},{className:"array",begin:"\\#\\(",end:"\\)",contains:[a.APOS_STRING_MODE,c,a.C_NUMBER_MODE,d]}]}}),a.registerLanguage("sml",function(a){return{aliases:["ml"],keywords:{keyword:"abstype and andalso as case datatype do else end eqtype exception fn fun functor handle if in include infix infixr let local nonfix of op open orelse raise rec sharing sig signature struct structure then type val with withtype where while",built_in:"array bool char exn int list option order real ref string substring vector unit word",literal:"true false NONE SOME LESS EQUAL GREATER nil"},illegal:/\/\/|>>/,lexemes:"[a-z_]\\w*!?",contains:[{className:"literal",begin:"\\[(\\|\\|)?\\]|\\(\\)"},a.COMMENT("\\(\\*","\\*\\)",{contains:["self"]}),{className:"symbol",begin:"'[A-Za-z_](?!')[\\w']*"},{className:"tag",begin:"`[A-Z][\\w']*"},{className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},{begin:"[a-z_]\\w*'[\\w']*"},a.inherit(a.APOS_STRING_MODE,{className:"char",relevance:0}),a.inherit(a.QUOTE_STRING_MODE,{illegal:null}),{className:"number",begin:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",relevance:0},{begin:/[-=]>/}]}}),a.registerLanguage("sqf",function(a){var b=["!","-","+","!=","%","&&","*","/","=","==",">",">=","<","<=","or","plus","^",":",">>","abs","accTime","acos","action","actionKeys","actionKeysImages","actionKeysNames","actionKeysNamesArray","actionName","activateAddons","activatedAddons","activateKey","addAction","addBackpack","addBackpackCargo","addBackpackCargoGlobal","addBackpackGlobal","addCamShake","addCuratorAddons","addCuratorCameraArea","addCuratorEditableObjects","addCuratorEditingArea","addCuratorPoints","addEditorObject","addEventHandler","addGoggles","addGroupIcon","addHandgunItem","addHeadgear","addItem","addItemCargo","addItemCargoGlobal","addItemPool","addItemToBackpack","addItemToUniform","addItemToVest","addLiveStats","addMagazine","addMagazine array","addMagazineAmmoCargo","addMagazineCargo","addMagazineCargoGlobal","addMagazineGlobal","addMagazinePool","addMagazines","addMagazineTurret","addMenu","addMenuItem","addMissionEventHandler","addMPEventHandler","addMusicEventHandler","addPrimaryWeaponItem","addPublicVariableEventHandler","addRating","addResources","addScore","addScoreSide","addSecondaryWeaponItem","addSwitchableUnit","addTeamMember","addToRemainsCollector","addUniform","addVehicle","addVest","addWaypoint","addWeapon","addWeaponCargo","addWeaponCargoGlobal","addWeaponGlobal","addWeaponPool","addWeaponTurret","agent","agents","AGLToASL","aimedAtTarget","aimPos","airDensityRTD","airportSide","AISFinishHeal","alive","allControls","allCurators","allDead","allDeadMen","allDisplays","allGroups","allMapMarkers","allMines","allMissionObjects","allow3DMode","allowCrewInImmobile","allowCuratorLogicIgnoreAreas","allowDamage","allowDammage","allowFileOperations","allowFleeing","allowGetIn","allPlayers","allSites","allTurrets","allUnits","allUnitsUAV","allVariables","ammo","and","animate","animateDoor","animationPhase","animationState","append","armoryPoints","arrayIntersect","asin","ASLToAGL","ASLToATL","assert","assignAsCargo","assignAsCargoIndex","assignAsCommander","assignAsDriver","assignAsGunner","assignAsTurret","assignCurator","assignedCargo","assignedCommander","assignedDriver","assignedGunner","assignedItems","assignedTarget","assignedTeam","assignedVehicle","assignedVehicleRole","assignItem","assignTeam","assignToAirport","atan","atan2","atg","ATLToASL","attachedObject","attachedObjects","attachedTo","attachObject","attachTo","attackEnabled","backpack","backpackCargo","backpackContainer","backpackItems","backpackMagazines","backpackSpaceFor","behaviour","benchmark","binocular","blufor","boundingBox","boundingBoxReal","boundingCenter","breakOut","breakTo","briefingName","buildingExit","buildingPos","buttonAction","buttonSetAction","cadetMode","call","callExtension","camCommand","camCommit","camCommitPrepared","camCommitted","camConstuctionSetParams","camCreate","camDestroy","cameraEffect","cameraEffectEnableHUD","cameraInterest","cameraOn","cameraView","campaignConfigFile","camPreload","camPreloaded","camPrepareBank","camPrepareDir","camPrepareDive","camPrepareFocus","camPrepareFov","camPrepareFovRange","camPreparePos","camPrepareRelPos","camPrepareTarget","camSetBank","camSetDir","camSetDive","camSetFocus","camSetFov","camSetFovRange","camSetPos","camSetRelPos","camSetTarget","camTarget","camUseNVG","canAdd","canAddItemToBackpack","canAddItemToUniform","canAddItemToVest","cancelSimpleTaskDestination","canFire","canMove","canSlingLoad","canStand","canUnloadInCombat","captive","captiveNum","case","catch","cbChecked","cbSetChecked","ceil","cheatsEnabled","checkAIFeature","civilian","className","clearAllItemsFromBackpack","clearBackpackCargo","clearBackpackCargoGlobal","clearGroupIcons","clearItemCargo","clearItemCargoGlobal","clearItemPool","clearMagazineCargo","clearMagazineCargoGlobal","clearMagazinePool","clearOverlay","clearRadio","clearWeaponCargo","clearWeaponCargoGlobal","clearWeaponPool","closeDialog","closeDisplay","closeOverlay","collapseObjectTree","combatMode","commandArtilleryFire","commandChat","commander","commandFire","commandFollow","commandFSM","commandGetOut","commandingMenu","commandMove","commandRadio","commandStop","commandTarget","commandWatch","comment","commitOverlay","compile","compileFinal","completedFSM","composeText","configClasses","configFile","configHierarchy","configName","configProperties","configSourceMod","configSourceModList","connectTerminalToUAV","controlNull","controlsGroupCtrl","copyFromClipboard","copyToClipboard","copyWaypoints","cos","count","countEnemy","countFriendly","countSide","countType","countUnknown","createAgent","createCenter","createDialog","createDiaryLink","createDiaryRecord","createDiarySubject","createDisplay","createGearDialog","createGroup","createGuardedPoint","createLocation","createMarker","createMarkerLocal","createMenu","createMine","createMissionDisplay","createSimpleTask","createSite","createSoundSource","createTask","createTeam","createTrigger","createUnit","createUnit array","createVehicle","createVehicle array","createVehicleCrew","createVehicleLocal","crew","ctrlActivate","ctrlAddEventHandler","ctrlAutoScrollDelay","ctrlAutoScrollRewind","ctrlAutoScrollSpeed","ctrlChecked","ctrlClassName","ctrlCommit","ctrlCommitted","ctrlCreate","ctrlDelete","ctrlEnable","ctrlEnabled","ctrlFade","ctrlHTMLLoaded","ctrlIDC","ctrlIDD","ctrlMapAnimAdd","ctrlMapAnimClear","ctrlMapAnimCommit","ctrlMapAnimDone","ctrlMapCursor","ctrlMapMouseOver","ctrlMapScale","ctrlMapScreenToWorld","ctrlMapWorldToScreen","ctrlModel","ctrlModelDirAndUp","ctrlModelScale","ctrlParent","ctrlPosition","ctrlRemoveAllEventHandlers","ctrlRemoveEventHandler","ctrlScale","ctrlSetActiveColor","ctrlSetAutoScrollDelay","ctrlSetAutoScrollRewind","ctrlSetAutoScrollSpeed","ctrlSetBackgroundColor","ctrlSetChecked","ctrlSetEventHandler","ctrlSetFade","ctrlSetFocus","ctrlSetFont","ctrlSetFontH1","ctrlSetFontH1B","ctrlSetFontH2","ctrlSetFontH2B","ctrlSetFontH3","ctrlSetFontH3B","ctrlSetFontH4","ctrlSetFontH4B","ctrlSetFontH5","ctrlSetFontH5B","ctrlSetFontH6","ctrlSetFontH6B","ctrlSetFontHeight","ctrlSetFontHeightH1","ctrlSetFontHeightH2","ctrlSetFontHeightH3","ctrlSetFontHeightH4","ctrlSetFontHeightH5","ctrlSetFontHeightH6","ctrlSetFontP","ctrlSetFontPB","ctrlSetForegroundColor","ctrlSetModel","ctrlSetModelDirAndUp","ctrlSetModelScale","ctrlSetPosition","ctrlSetScale","ctrlSetStructuredText","ctrlSetText","ctrlSetTextColor","ctrlSetTooltip","ctrlSetTooltipColorBox","ctrlSetTooltipColorShade","ctrlSetTooltipColorText","ctrlShow","ctrlShown","ctrlText","ctrlTextHeight","ctrlType","ctrlVisible","curatorAddons","curatorCamera","curatorCameraArea","curatorCameraAreaCeiling","curatorCoef","curatorEditableObjects","curatorEditingArea","curatorEditingAreaType","curatorMouseOver","curatorPoints","curatorRegisteredObjects","curatorSelected","curatorWaypointCost","currentChannel","currentCommand","currentMagazine","currentMagazineDetail","currentMagazineDetailTurret","currentMagazineTurret","currentMuzzle","currentNamespace","currentTask","currentTasks","currentThrowable","currentVisionMode","currentWaypoint","currentWeapon","currentWeaponMode","currentWeaponTurret","currentZeroing","cursorTarget","customChat","customRadio","cutFadeOut","cutObj","cutRsc","cutText","damage","date","dateToNumber","daytime","deActivateKey","debriefingText","debugFSM","debugLog","default","deg","deleteAt","deleteCenter","deleteCollection","deleteEditorObject","deleteGroup","deleteIdentity","deleteLocation","deleteMarker","deleteMarkerLocal","deleteRange","deleteResources","deleteSite","deleteStatus","deleteTeam","deleteVehicle","deleteVehicleCrew","deleteWaypoint","detach","detectedMines","diag activeMissionFSMs","diag activeSQFScripts","diag activeSQSScripts","diag captureFrame","diag captureSlowFrame","diag fps","diag fpsMin","diag frameNo","diag log","diag logSlowFrame","diag tickTime","dialog","diarySubjectExists","didJIP","didJIPOwner","difficulty","difficultyEnabled","difficultyEnabledRTD","direction","directSay","disableAI","disableCollisionWith","disableConversation","disableDebriefingStats","disableSerialization","disableTIEquipment","disableUAVConnectability","disableUserInput","displayAddEventHandler","displayCtrl","displayNull","displayRemoveAllEventHandlers","displayRemoveEventHandler","displaySetEventHandler","dissolveTeam","distance","distance2D","distanceSqr","distributionRegion","do","doArtilleryFire","doFire","doFollow","doFSM","doGetOut","doMove","doorPhase","doStop","doTarget","doWatch","drawArrow","drawEllipse","drawIcon","drawIcon3D","drawLine","drawLine3D","drawLink","drawLocation","drawRectangle","driver","drop","east","echo","editObject","editorSetEventHandler","effectiveCommander","else","emptyPositions","enableAI","enableAIFeature","enableAttack","enableCamShake","enableCaustics","enableCollisionWith","enableCopilot","enableDebriefingStats","enableDiagLegend","enableEndDialog","enableEngineArtillery","enableEnvironment","enableFatigue","enableGunLights","enableIRLasers","enableMimics","enablePersonTurret","enableRadio","enableReload","enableRopeAttach","enableSatNormalOnDetail","enableSaving","enableSentences","enableSimulation","enableSimulationGlobal","enableTeamSwitch","enableUAVConnectability","enableUAVWaypoints","endLoadingScreen","endMission","engineOn","enginesIsOnRTD","enginesRpmRTD","enginesTorqueRTD","entities","estimatedEndServerTime","estimatedTimeLeft","evalObjectArgument","everyBackpack","everyContainer","exec","execEditorScript","execFSM","execVM","exit","exitWith","exp","expectedDestination","eyeDirection","eyePos","face","faction","fadeMusic","fadeRadio","fadeSound","fadeSpeech","failMission","false","fillWeaponsFromPool","find","findCover","findDisplay","findEditorObject","findEmptyPosition","findEmptyPositionReady","findNearestEnemy","finishMissionInit","finite","fire","fireAtTarget","firstBackpack","flag","flagOwner","fleeing","floor","flyInHeight","fog","fogForecast","fogParams","for","forceAddUniform","forceEnd","forceMap","forceRespawn","forceSpeed","forceWalk","forceWeaponFire","forceWeatherChange","forEach","forEachMember","forEachMemberAgent","forEachMemberTeam","format","formation","formationDirection","formationLeader","formationMembers","formationPosition","formationTask","formatText","formLeader","freeLook","from","fromEditor","fuel","fullCrew","gearSlotAmmoCount","gearSlotData","getAllHitPointsDamage","getAmmoCargo","getArray","getArtilleryAmmo","getArtilleryComputerSettings","getArtilleryETA","getAssignedCuratorLogic","getAssignedCuratorUnit","getBackpackCargo","getBleedingRemaining","getBurningValue","getCargoIndex","getCenterOfMass","getClientState","getConnectedUAV","getDammage","getDescription","getDir","getDirVisual","getDLCs","getEditorCamera","getEditorMode","getEditorObjectScope","getElevationOffset","getFatigue","getFriend","getFSMVariable","getFuelCargo","getGroupIcon","getGroupIconParams","getGroupIcons","getHideFrom","getHit","getHitIndex","getHitPointDamage","getItemCargo","getMagazineCargo","getMarkerColor","getMarkerPos","getMarkerSize","getMarkerType","getMass","getModelInfo","getNumber","getObjectArgument","getObjectChildren","getObjectDLC","getObjectMaterials","getObjectProxy","getObjectTextures","getObjectType","getObjectViewDistance","getOxygenRemaining","getPersonUsedDLCs","getPlayerChannel","getPlayerUID","getPos","getPosASL","getPosASLVisual","getPosASLW","getPosATL","getPosATLVisual","getPosVisual","getPosWorld","getRepairCargo","getResolution","getShadowDistance","getSlingLoad","getSpeed","getSuppression","getTerrainHeightASL","getText","getVariable","getWeaponCargo","getWPPos","glanceAt","globalChat","globalRadio","goggles","goto","group","groupChat","groupFromNetId","groupIconSelectable","groupIconsVisible","groupId","groupOwner","groupRadio","groupSelectedUnits","groupSelectUnit","grpNull","gunner","gusts","halt","handgunItems","handgunMagazine","handgunWeapon","handsHit","hasInterface","hasWeapon","hcAllGroups","hcGroupParams","hcLeader","hcRemoveAllGroups","hcRemoveGroup","hcSelected","hcSelectGroup","hcSetGroup","hcShowBar","hcShownBar","headgear","hideBody","hideObject","hideObjectGlobal","hint","hintC","hintCadet","hintSilent","hmd","hostMission","htmlLoad","HUDMovementLevels","humidity","if","image","importAllGroups","importance","in","incapacitatedState","independent","inflame","inflamed","inGameUISetEventHandler","inheritsFrom","initAmbientLife","inputAction","inRangeOfArtillery","insertEditorObject","intersect","isAbleToBreathe","isAgent","isArray","isAutoHoverOn","isAutonomous","isAutotest","isBleeding","isBurning","isClass","isCollisionLightOn","isCopilotEnabled","isDedicated","isDLCAvailable","isEngineOn","isEqualTo","isFlashlightOn","isFlatEmpty","isForcedWalk","isFormationLeader","isHidden","isInRemainsCollector","isInstructorFigureEnabled","isIRLaserOn","isKeyActive","isKindOf","isLightOn","isLocalized","isManualFire","isMarkedForCollection","isMultiplayer","isNil","isNull","isNumber","isObjectHidden","isObjectRTD","isOnRoad","isPipEnabled","isPlayer","isRealTime","isServer","isShowing3DIcons","isSteamMission","isStreamFriendlyUIEnabled","isText","isTouchingGround","isTurnedOut","isTutHintsEnabled","isUAVConnectable","isUAVConnected","isUniformAllowed","isWalking","isWeaponDeployed","isWeaponRested","itemCargo","items","itemsWithMagazines","join","joinAs","joinAsSilent","joinSilent","joinString","kbAddDatabase","kbAddDatabaseTargets","kbAddTopic","kbHasTopic","kbReact","kbRemoveTopic","kbTell","kbWasSaid","keyImage","keyName","knowsAbout","land","landAt","landResult","language","laserTarget","lbAdd","lbClear","lbColor","lbCurSel","lbData","lbDelete","lbIsSelected","lbPicture","lbSelection","lbSetColor","lbSetCurSel","lbSetData","lbSetPicture","lbSetPictureColor","lbSetPictureColorDisabled","lbSetPictureColorSelected","lbSetSelectColor","lbSetSelectColorRight","lbSetSelected","lbSetTooltip","lbSetValue","lbSize","lbSort","lbSortByValue","lbText","lbValue","leader","leaderboardDeInit","leaderboardGetRows","leaderboardInit","leaveVehicle","libraryCredits","libraryDisclaimers","lifeState","lightAttachObject","lightDetachObject","lightIsOn","lightnings","limitSpeed","linearConversion","lineBreak","lineIntersects","lineIntersectsObjs","lineIntersectsSurfaces","lineIntersectsWith","linkItem","list","listObjects","ln","lnbAddArray","lnbAddColumn","lnbAddRow","lnbClear","lnbColor","lnbCurSelRow","lnbData","lnbDeleteColumn","lnbDeleteRow","lnbGetColumnsPosition","lnbPicture","lnbSetColor","lnbSetColumnsPos","lnbSetCurSelRow","lnbSetData","lnbSetPicture","lnbSetText","lnbSetValue","lnbSize","lnbText","lnbValue","load","loadAbs","loadBackpack","loadFile","loadGame","loadIdentity","loadMagazine","loadOverlay","loadStatus","loadUniform","loadVest","local","localize","locationNull","locationPosition","lock","lockCameraTo","lockCargo","lockDriver","locked","lockedCargo","lockedDriver","lockedTurret","lockTurret","lockWP","log","logEntities","lookAt","lookAtPos","magazineCargo","magazines","magazinesAllTurrets","magazinesAmmo","magazinesAmmoCargo","magazinesAmmoFull","magazinesDetail","magazinesDetailBackpack","magazinesDetailUniform","magazinesDetailVest","magazinesTurret","magazineTurretAmmo","mapAnimAdd","mapAnimClear","mapAnimCommit","mapAnimDone","mapCenterOnCamera","mapGridPosition","markAsFinishedOnSteam","markerAlpha","markerBrush","markerColor","markerDir","markerPos","markerShape","markerSize","markerText","markerType","max","members","min","mineActive","mineDetectedBy","missionConfigFile","missionName","missionNamespace","missionStart","mod","modelToWorld","modelToWorldVisual","moonIntensity","morale","move","moveInAny","moveInCargo","moveInCommander","moveInDriver","moveInGunner","moveInTurret","moveObjectToEnd","moveOut","moveTime","moveTo","moveToCompleted","moveToFailed","musicVolume","name","name location","nameSound","nearEntities","nearestBuilding","nearestLocation","nearestLocations","nearestLocationWithDubbing","nearestObject","nearestObjects","nearObjects","nearObjectsReady","nearRoads","nearSupplies","nearTargets","needReload","netId","netObjNull","newOverlay","nextMenuItemIndex","nextWeatherChange","nil","nMenuItems","not","numberToDate","objectCurators","objectFromNetId","objectParent","objNull","objStatus","onBriefingGroup","onBriefingNotes","onBriefingPlan","onBriefingTeamSwitch","onCommandModeChanged","onDoubleClick","onEachFrame","onGroupIconClick","onGroupIconOverEnter","onGroupIconOverLeave","onHCGroupSelectionChanged","onMapSingleClick","onPlayerConnected","onPlayerDisconnected","onPreloadFinished","onPreloadStarted","onShowNewObject","onTeamSwitch","openCuratorInterface","openMap","openYoutubeVideo","opfor","or","orderGetIn","overcast","overcastForecast","owner","param","params","parseNumber","parseText","parsingNamespace","particlesQuality","pi","pickWeaponPool","pitch","playableSlotsNumber","playableUnits","playAction","playActionNow","player","playerRespawnTime","playerSide","playersNumber","playGesture","playMission","playMove","playMoveNow","playMusic","playScriptedMission","playSound","playSound3D","position","positionCameraToWorld","posScreenToWorld","posWorldToScreen","ppEffectAdjust","ppEffectCommit","ppEffectCommitted","ppEffectCreate","ppEffectDestroy","ppEffectEnable","ppEffectForceInNVG","precision","preloadCamera","preloadObject","preloadSound","preloadTitleObj","preloadTitleRsc","preprocessFile","preprocessFileLineNumbers","primaryWeapon","primaryWeaponItems","primaryWeaponMagazine","priority","private","processDiaryLink","productVersion","profileName","profileNamespace","profileNameSteam","progressLoadingScreen","progressPosition","progressSetPosition","publicVariable","publicVariableClient","publicVariableServer","pushBack","putWeaponPool","queryItemsPool","queryMagazinePool","queryWeaponPool","rad","radioChannelAdd","radioChannelCreate","radioChannelRemove","radioChannelSetCallSign","radioChannelSetLabel","radioVolume","rain","rainbow","random","rank","rankId","rating","rectangular","registeredTasks","registerTask","reload","reloadEnabled","remoteControl","remoteExec","remoteExecCall","removeAction","removeAllActions","removeAllAssignedItems","removeAllContainers","removeAllCuratorAddons","removeAllCuratorCameraAreas","removeAllCuratorEditingAreas","removeAllEventHandlers","removeAllHandgunItems","removeAllItems","removeAllItemsWithMagazines","removeAllMissionEventHandlers","removeAllMPEventHandlers","removeAllMusicEventHandlers","removeAllPrimaryWeaponItems","removeAllWeapons","removeBackpack","removeBackpackGlobal","removeCuratorAddons","removeCuratorCameraArea","removeCuratorEditableObjects","removeCuratorEditingArea","removeDrawIcon","removeDrawLinks","removeEventHandler","removeFromRemainsCollector","removeGoggles","removeGroupIcon","removeHandgunItem","removeHeadgear","removeItem","removeItemFromBackpack","removeItemFromUniform","removeItemFromVest","removeItems","removeMagazine","removeMagazineGlobal","removeMagazines","removeMagazinesTurret","removeMagazineTurret","removeMenuItem","removeMissionEventHandler","removeMPEventHandler","removeMusicEventHandler","removePrimaryWeaponItem","removeSecondaryWeaponItem","removeSimpleTask","removeSwitchableUnit","removeTeamMember","removeUniform","removeVest","removeWeapon","removeWeaponGlobal","removeWeaponTurret","requiredVersion","resetCamShake","resetSubgroupDirection","resistance","resize","resources","respawnVehicle","restartEditorCamera","reveal","revealMine","reverse","reversedMouseY","roadsConnectedTo","roleDescription","ropeAttachedObjects","ropeAttachedTo","ropeAttachEnabled","ropeAttachTo","ropeCreate","ropeCut","ropeEndPosition","ropeLength","ropes","ropeUnwind","ropeUnwound","rotorsForcesRTD","rotorsRpmRTD","round","runInitScript","safeZoneH","safeZoneW","safeZoneWAbs","safeZoneX","safeZoneXAbs","safeZoneY","saveGame","saveIdentity","saveJoysticks","saveOverlay","saveProfileNamespace","saveStatus","saveVar","savingEnabled","say","say2D","say3D","scopeName","score","scoreSide","screenToWorld","scriptDone","scriptName","scriptNull","scudState","secondaryWeapon","secondaryWeaponItems","secondaryWeaponMagazine","select","selectBestPlaces","selectDiarySubject","selectedEditorObjects","selectEditorObject","selectionPosition","selectLeader","selectNoPlayer","selectPlayer","selectWeapon","selectWeaponTurret","sendAUMessage","sendSimpleCommand","sendTask","sendTaskResult","sendUDPMessage","serverCommand","serverCommandAvailable","serverCommandExecutable","serverName","serverTime","set","setAccTime","setAirportSide","setAmmo","setAmmoCargo","setAperture","setApertureNew","setArmoryPoints","setAttributes","setAutonomous","setBehaviour","setBleedingRemaining","setCameraInterest","setCamShakeDefParams","setCamShakeParams","setCamUseTi","setCaptive","setCenterOfMass","setCollisionLight","setCombatMode","setCompassOscillation","setCuratorCameraAreaCeiling","setCuratorCoef","setCuratorEditingAreaType","setCuratorWaypointCost","setCurrentChannel","setCurrentTask","setCurrentWaypoint","setDamage","setDammage","setDate","setDebriefingText","setDefaultCamera","setDestination","setDetailMapBlendPars","setDir","setDirection","setDrawIcon","setDropInterval","setEditorMode","setEditorObjectScope","setEffectCondition","setFace","setFaceAnimation","setFatigue","setFlagOwner","setFlagSide","setFlagTexture","setFog","setFog array","setFormation","setFormationTask","setFormDir","setFriend","setFromEditor","setFSMVariable","setFuel","setFuelCargo","setGroupIcon","setGroupIconParams","setGroupIconsSelectable","setGroupIconsVisible","setGroupId","setGroupIdGlobal","setGroupOwner","setGusts","setHideBehind","setHit","setHitIndex","setHitPointDamage","setHorizonParallaxCoef","setHUDMovementLevels","setIdentity","setImportance","setLeader","setLightAmbient","setLightAttenuation","setLightBrightness","setLightColor","setLightDayLight","setLightFlareMaxDistance","setLightFlareSize","setLightIntensity","setLightnings","setLightUseFlare","setLocalWindParams","setMagazineTurretAmmo","setMarkerAlpha","setMarkerAlphaLocal","setMarkerBrush","setMarkerBrushLocal","setMarkerColor","setMarkerColorLocal","setMarkerDir","setMarkerDirLocal","setMarkerPos","setMarkerPosLocal","setMarkerShape","setMarkerShapeLocal","setMarkerSize","setMarkerSizeLocal","setMarkerText","setMarkerTextLocal","setMarkerType","setMarkerTypeLocal","setMass","setMimic","setMousePosition","setMusicEffect","setMusicEventHandler","setName","setNameSound","setObjectArguments","setObjectMaterial","setObjectProxy","setObjectTexture","setObjectTextureGlobal","setObjectViewDistance","setOvercast","setOwner","setOxygenRemaining","setParticleCircle","setParticleClass","setParticleFire","setParticleParams","setParticleRandom","setPilotLight","setPiPEffect","setPitch","setPlayable","setPlayerRespawnTime","setPos","setPosASL","setPosASL2","setPosASLW","setPosATL","setPosition","setPosWorld","setRadioMsg","setRain","setRainbow","setRandomLip","setRank","setRectangular","setRepairCargo","setShadowDistance","setSide","setSimpleTaskDescription","setSimpleTaskDestination","setSimpleTaskTarget","setSimulWeatherLayers","setSize","setSkill","setSkill array","setSlingLoad","setSoundEffect","setSpeaker","setSpeech","setSpeedMode","setStatValue","setSuppression","setSystemOfUnits","setTargetAge","setTaskResult","setTaskState","setTerrainGrid","setText","setTimeMultiplier","setTitleEffect","setTriggerActivation","setTriggerArea","setTriggerStatements","setTriggerText","setTriggerTimeout","setTriggerType","setType","setUnconscious","setUnitAbility","setUnitPos","setUnitPosWeak","setUnitRank","setUnitRecoilCoefficient","setUnloadInCombat","setUserActionText","setVariable","setVectorDir","setVectorDirAndUp","setVectorUp","setVehicleAmmo","setVehicleAmmoDef","setVehicleArmor","setVehicleId","setVehicleLock","setVehiclePosition","setVehicleTiPars","setVehicleVarName","setVelocity","setVelocityTransformation","setViewDistance","setVisibleIfTreeCollapsed","setWaves","setWaypointBehaviour","setWaypointCombatMode","setWaypointCompletionRadius","setWaypointDescription","setWaypointFormation","setWaypointHousePosition","setWaypointLoiterRadius","setWaypointLoiterType","setWaypointName","setWaypointPosition","setWaypointScript","setWaypointSpeed","setWaypointStatements","setWaypointTimeout","setWaypointType","setWaypointVisible","setWeaponReloadingTime","setWind","setWindDir","setWindForce","setWindStr","setWPPos","show3DIcons","showChat","showCinemaBorder","showCommandingMenu","showCompass","showCuratorCompass","showGPS","showHUD","showLegend","showMap","shownArtilleryComputer","shownChat","shownCompass","shownCuratorCompass","showNewEditorObject","shownGPS","shownHUD","shownMap","shownPad","shownRadio","shownUAVFeed","shownWarrant","shownWatch","showPad","showRadio","showSubtitles","showUAVFeed","showWarrant","showWatch","showWaypoint","side","sideChat","sideEnemy","sideFriendly","sideLogic","sideRadio","sideUnknown","simpleTasks","simulationEnabled","simulCloudDensity","simulCloudOcclusion","simulInClouds","simulWeatherSync","sin","size","sizeOf","skill","skillFinal","skipTime","sleep","sliderPosition","sliderRange","sliderSetPosition","sliderSetRange","sliderSetSpeed","sliderSpeed","slingLoadAssistantShown","soldierMagazines","someAmmo","sort","soundVolume","spawn","speaker","speed","speedMode","splitString","sqrt","squadParams","stance","startLoadingScreen","step","stop","stopped","str","sunOrMoon","supportInfo","suppressFor","surfaceIsWater","surfaceNormal","surfaceType","swimInDepth","switch","switchableUnits","switchAction","switchCamera","switchGesture","switchLight","switchMove","synchronizedObjects","synchronizedTriggers","synchronizedWaypoints","synchronizeObjectsAdd","synchronizeObjectsRemove","synchronizeTrigger","synchronizeWaypoint","synchronizeWaypoint trigger","systemChat","systemOfUnits","tan","targetKnowledge","targetsAggregate","targetsQuery","taskChildren","taskCompleted","taskDescription","taskDestination","taskHint","taskNull","taskParent","taskResult","taskState","teamMember","teamMemberNull","teamName","teams","teamSwitch","teamSwitchEnabled","teamType","terminate","terrainIntersect","terrainIntersectASL","text","text location","textLog","textLogFormat","tg","then","throw","time","timeMultiplier","titleCut","titleFadeOut","titleObj","titleRsc","titleText","to","toArray","toLower","toString","toUpper","triggerActivated","triggerActivation","triggerArea","triggerAttachedVehicle","triggerAttachObject","triggerAttachVehicle","triggerStatements","triggerText","triggerTimeout","triggerTimeoutCurrent","triggerType","true","try","turretLocal","turretOwner","turretUnit","tvAdd","tvClear","tvCollapse","tvCount","tvCurSel","tvData","tvDelete","tvExpand","tvPicture","tvSetCurSel","tvSetData","tvSetPicture","tvSetPictureColor","tvSetTooltip","tvSetValue","tvSort","tvSortByValue","tvText","tvValue","type","typeName","typeOf","UAVControl","uiNamespace","uiSleep","unassignCurator","unassignItem","unassignTeam","unassignVehicle","underwater","uniform","uniformContainer","uniformItems","uniformMagazines","unitAddons","unitBackpack","unitPos","unitReady","unitRecoilCoefficient","units","unitsBelowHeight","unlinkItem","unlockAchievement","unregisterTask","updateDrawIcon","updateMenuItem","updateObjectTree","useAudioTimeForMoves","vectorAdd","vectorCos","vectorCrossProduct","vectorDiff","vectorDir","vectorDirVisual","vectorDistance","vectorDistanceSqr","vectorDotProduct","vectorFromTo","vectorMagnitude","vectorMagnitudeSqr","vectorMultiply","vectorNormalized","vectorUp","vectorUpVisual","vehicle","vehicleChat","vehicleRadio","vehicles","vehicleVarName","velocity","velocityModelSpace","verifySignature","vest","vestContainer","vestItems","vestMagazines","viewDistance","visibleCompass","visibleGPS","visibleMap","visiblePosition","visiblePositionASL","visibleWatch","waitUntil","waves","waypointAttachedObject","waypointAttachedVehicle","waypointAttachObject","waypointAttachVehicle","waypointBehaviour","waypointCombatMode","waypointCompletionRadius","waypointDescription","waypointFormation","waypointHousePosition","waypointLoiterRadius","waypointLoiterType","waypointName","waypointPosition","waypoints","waypointScript","waypointsEnabledUAV","waypointShow","waypointSpeed","waypointStatements","waypointTimeout","waypointTimeoutCurrent","waypointType","waypointVisible","weaponAccessories","weaponCargo","weaponDirection","weaponLowered","weapons","weaponsItems","weaponsItemsCargo","weaponState","weaponsTurret","weightRTD","west","WFSideText","while","wind","windDir","windStr","wingsForcesRTD","with","worldName","worldSize","worldToModel","worldToModelVisual","worldToScreen"],c=["case","catch","default","do","else","exit","exitWith|5","for","forEach","from","if","switch","then","throw","to","try","while","with"],d=["!","-","+","!=","%","&&","*","/","=","==",">",">=","<","<=","^",":",">>"],e=["_forEachIndex|10","_this|10","_x|10"],f=["true","false","nil"],g=b.filter(function(a){
-return-1==c.indexOf(a)&&-1==f.indexOf(a)&&-1==d.indexOf(a)});g=g.concat(e);var h={className:"string",relevance:0,variants:[{begin:'"',end:'"',contains:[{begin:'""'}]},{begin:"'",end:"'",contains:[{begin:"''"}]}]},i={className:"number",begin:a.NUMBER_RE,relevance:0},j={className:"string",variants:[a.QUOTE_STRING_MODE,{begin:"'\\\\?.",end:"'",illegal:"."}]},k={className:"preprocessor",begin:"#",end:"$",keywords:"if else elif endif define undef warning error line pragma ifdef ifndef",contains:[{begin:/\\\n/,relevance:0},{beginKeywords:"include",end:"$",contains:[j,{className:"string",begin:"<",end:">",illegal:"\\n"}]},j,i,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]};return{aliases:["sqf"],case_insensitive:!0,keywords:{keyword:c.join(" "),built_in:g.join(" "),literal:f.join(" ")},contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,i,h,k]}}),a.registerLanguage("sql",function(a){var b=a.COMMENT("--","$");return{case_insensitive:!0,illegal:/[<>{}*]/,contains:[{className:"operator",beginKeywords:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke",end:/;/,endsWithParent:!0,keywords:{keyword:"abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias allocate allow alter always analyze ancillary and any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound buffer_cache buffer_pool build bulk by byte byteordermark bytes c cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle d data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration e each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain export export_set extended extent external external_1 external_2 externally extract f failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function g general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour http i id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists k keep keep_duplicates key keys kill l language large last last_day last_insert_id last_value lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim m main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex n name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding p package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second section securefile security seed segment select self sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime t table tables tablespace tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null",built_in:"array bigint binary bit blob boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text varchar varying void"},contains:[{className:"string",begin:"'",end:"'",contains:[a.BACKSLASH_ESCAPE,{begin:"''"}]},{className:"string",begin:'"',end:'"',contains:[a.BACKSLASH_ESCAPE,{begin:'""'}]},{className:"string",begin:"`",end:"`",contains:[a.BACKSLASH_ESCAPE]},a.C_NUMBER_MODE,a.C_BLOCK_COMMENT_MODE,b]},a.C_BLOCK_COMMENT_MODE,b]}}),a.registerLanguage("stata",function(a){return{aliases:["do","ado"],case_insensitive:!0,keywords:"if else in foreach for forv forva forval forvalu forvalue forvalues by bys bysort xi quietly qui capture about ac ac_7 acprplot acprplot_7 adjust ado adopath adoupdate alpha ameans an ano anov anova anova_estat anova_terms anovadef aorder ap app appe appen append arch arch_dr arch_estat arch_p archlm areg areg_p args arima arima_dr arima_estat arima_p as asmprobit asmprobit_estat asmprobit_lf asmprobit_mfx__dlg asmprobit_p ass asse asser assert avplot avplot_7 avplots avplots_7 bcskew0 bgodfrey binreg bip0_lf biplot bipp_lf bipr_lf bipr_p biprobit bitest bitesti bitowt blogit bmemsize boot bootsamp bootstrap bootstrap_8 boxco_l boxco_p boxcox boxcox_6 boxcox_p bprobit br break brier bro brow brows browse brr brrstat bs bs_7 bsampl_w bsample bsample_7 bsqreg bstat bstat_7 bstat_8 bstrap bstrap_7 ca ca_estat ca_p cabiplot camat canon canon_8 canon_8_p canon_estat canon_p cap caprojection capt captu captur capture cat cc cchart cchart_7 cci cd censobs_table centile cf char chdir checkdlgfiles checkestimationsample checkhlpfiles checksum chelp ci cii cl class classutil clear cli clis clist clo clog clog_lf clog_p clogi clogi_sw clogit clogit_lf clogit_p clogitp clogl_sw cloglog clonevar clslistarray cluster cluster_measures cluster_stop cluster_tree cluster_tree_8 clustermat cmdlog cnr cnre cnreg cnreg_p cnreg_sw cnsreg codebook collaps4 collapse colormult_nb colormult_nw compare compress conf confi confir confirm conren cons const constr constra constrai constrain constraint continue contract copy copyright copysource cor corc corr corr2data corr_anti corr_kmo corr_smc corre correl correla correlat correlate corrgram cou coun count cox cox_p cox_sw coxbase coxhaz coxvar cprplot cprplot_7 crc cret cretu cretur creturn cross cs cscript cscript_log csi ct ct_is ctset ctst_5 ctst_st cttost cumsp cumsp_7 cumul cusum cusum_7 cutil d datasig datasign datasigna datasignat datasignatu datasignatur datasignature datetof db dbeta de dec deco decod decode deff des desc descr descri describ describe destring dfbeta dfgls dfuller di di_g dir dirstats dis discard disp disp_res disp_s displ displa display distinct do doe doed doedi doedit dotplot dotplot_7 dprobit drawnorm drop ds ds_util dstdize duplicates durbina dwstat dydx e ed edi edit egen eivreg emdef en enc enco encod encode eq erase ereg ereg_lf ereg_p ereg_sw ereghet ereghet_glf ereghet_glf_sh ereghet_gp ereghet_ilf ereghet_ilf_sh ereghet_ip eret eretu eretur ereturn err erro error est est_cfexist est_cfname est_clickable est_expand est_hold est_table est_unhold est_unholdok estat estat_default estat_summ estat_vce_only esti estimates etodow etof etomdy ex exi exit expand expandcl fac fact facto factor factor_estat factor_p factor_pca_rotated factor_rotate factormat fcast fcast_compute fcast_graph fdades fdadesc fdadescr fdadescri fdadescrib fdadescribe fdasav fdasave fdause fh_st file open file read file close file filefilter fillin find_hlp_file findfile findit findit_7 fit fl fli flis flist for5_0 form forma format fpredict frac_154 frac_adj frac_chk frac_cox frac_ddp frac_dis frac_dv frac_in frac_mun frac_pp frac_pq frac_pv frac_wgt frac_xo fracgen fracplot fracplot_7 fracpoly fracpred fron_ex fron_hn fron_p fron_tn fron_tn2 frontier ftodate ftoe ftomdy ftowdate g gamhet_glf gamhet_gp gamhet_ilf gamhet_ip gamma gamma_d2 gamma_p gamma_sw gammahet gdi_hexagon gdi_spokes ge gen gene gener genera generat generate genrank genstd genvmean gettoken gl gladder gladder_7 glim_l01 glim_l02 glim_l03 glim_l04 glim_l05 glim_l06 glim_l07 glim_l08 glim_l09 glim_l10 glim_l11 glim_l12 glim_lf glim_mu glim_nw1 glim_nw2 glim_nw3 glim_p glim_v1 glim_v2 glim_v3 glim_v4 glim_v5 glim_v6 glim_v7 glm glm_6 glm_p glm_sw glmpred glo glob globa global glogit glogit_8 glogit_p gmeans gnbre_lf gnbreg gnbreg_5 gnbreg_p gomp_lf gompe_sw gomper_p gompertz gompertzhet gomphet_glf gomphet_glf_sh gomphet_gp gomphet_ilf gomphet_ilf_sh gomphet_ip gphdot gphpen gphprint gprefs gprobi_p gprobit gprobit_8 gr gr7 gr_copy gr_current gr_db gr_describe gr_dir gr_draw gr_draw_replay gr_drop gr_edit gr_editviewopts gr_example gr_example2 gr_export gr_print gr_qscheme gr_query gr_read gr_rename gr_replay gr_save gr_set gr_setscheme gr_table gr_undo gr_use graph graph7 grebar greigen greigen_7 greigen_8 grmeanby grmeanby_7 gs_fileinfo gs_filetype gs_graphinfo gs_stat gsort gwood h hadimvo hareg hausman haver he heck_d2 heckma_p heckman heckp_lf heckpr_p heckprob hel help hereg hetpr_lf hetpr_p hetprob hettest hexdump hilite hist hist_7 histogram hlogit hlu hmeans hotel hotelling hprobit hreg hsearch icd9 icd9_ff icd9p iis impute imtest inbase include inf infi infil infile infix inp inpu input ins insheet insp inspe inspec inspect integ inten intreg intreg_7 intreg_p intrg2_ll intrg_ll intrg_ll2 ipolate iqreg ir irf irf_create irfm iri is_svy is_svysum isid istdize ivprob_1_lf ivprob_lf ivprobit ivprobit_p ivreg ivreg_footnote ivtob_1_lf ivtob_lf ivtobit ivtobit_p jackknife jacknife jknife jknife_6 jknife_8 jkstat joinby kalarma1 kap kap_3 kapmeier kappa kapwgt kdensity kdensity_7 keep ksm ksmirnov ktau kwallis l la lab labe label labelbook ladder levels levelsof leverage lfit lfit_p li lincom line linktest lis list lloghet_glf lloghet_glf_sh lloghet_gp lloghet_ilf lloghet_ilf_sh lloghet_ip llogi_sw llogis_p llogist llogistic llogistichet lnorm_lf lnorm_sw lnorma_p lnormal lnormalhet lnormhet_glf lnormhet_glf_sh lnormhet_gp lnormhet_ilf lnormhet_ilf_sh lnormhet_ip lnskew0 loadingplot loc loca local log logi logis_lf logistic logistic_p logit logit_estat logit_p loglogs logrank loneway lookfor lookup lowess lowess_7 lpredict lrecomp lroc lroc_7 lrtest ls lsens lsens_7 lsens_x lstat ltable ltable_7 ltriang lv lvr2plot lvr2plot_7 m ma mac macr macro makecns man manova manova_estat manova_p manovatest mantel mark markin markout marksample mat mat_capp mat_order mat_put_rr mat_rapp mata mata_clear mata_describe mata_drop mata_matdescribe mata_matsave mata_matuse mata_memory mata_mlib mata_mosave mata_rename mata_which matalabel matcproc matlist matname matr matri matrix matrix_input__dlg matstrik mcc mcci md0_ md1_ md1debug_ md2_ md2debug_ mds mds_estat mds_p mdsconfig mdslong mdsmat mdsshepard mdytoe mdytof me_derd mean means median memory memsize meqparse mer merg merge mfp mfx mhelp mhodds minbound mixed_ll mixed_ll_reparm mkassert mkdir mkmat mkspline ml ml_5 ml_adjs ml_bhhhs ml_c_d ml_check ml_clear ml_cnt ml_debug ml_defd ml_e0 ml_e0_bfgs ml_e0_cycle ml_e0_dfp ml_e0i ml_e1 ml_e1_bfgs ml_e1_bhhh ml_e1_cycle ml_e1_dfp ml_e2 ml_e2_cycle ml_ebfg0 ml_ebfr0 ml_ebfr1 ml_ebh0q ml_ebhh0 ml_ebhr0 ml_ebr0i ml_ecr0i ml_edfp0 ml_edfr0 ml_edfr1 ml_edr0i ml_eds ml_eer0i ml_egr0i ml_elf ml_elf_bfgs ml_elf_bhhh ml_elf_cycle ml_elf_dfp ml_elfi ml_elfs ml_enr0i ml_enrr0 ml_erdu0 ml_erdu0_bfgs ml_erdu0_bhhh ml_erdu0_bhhhq ml_erdu0_cycle ml_erdu0_dfp ml_erdu0_nrbfgs ml_exde ml_footnote ml_geqnr ml_grad0 ml_graph ml_hbhhh ml_hd0 ml_hold ml_init ml_inv ml_log ml_max ml_mlout ml_mlout_8 ml_model ml_nb0 ml_opt ml_p ml_plot ml_query ml_rdgrd ml_repor ml_s_e ml_score ml_searc ml_technique ml_unhold mleval mlf_ mlmatbysum mlmatsum mlog mlogi mlogit mlogit_footnote mlogit_p mlopts mlsum mlvecsum mnl0_ mor more mov move mprobit mprobit_lf mprobit_p mrdu0_ mrdu1_ mvdecode mvencode mvreg mvreg_estat n nbreg nbreg_al nbreg_lf nbreg_p nbreg_sw nestreg net newey newey_7 newey_p news nl nl_7 nl_9 nl_9_p nl_p nl_p_7 nlcom nlcom_p nlexp2 nlexp2_7 nlexp2a nlexp2a_7 nlexp3 nlexp3_7 nlgom3 nlgom3_7 nlgom4 nlgom4_7 nlinit nllog3 nllog3_7 nllog4 nllog4_7 nlog_rd nlogit nlogit_p nlogitgen nlogittree nlpred no nobreak noi nois noisi noisil noisily note notes notes_dlg nptrend numlabel numlist odbc old_ver olo olog ologi ologi_sw ologit ologit_p ologitp on one onew onewa oneway op_colnm op_comp op_diff op_inv op_str opr opro oprob oprob_sw oprobi oprobi_p oprobit oprobitp opts_exclusive order orthog orthpoly ou out outf outfi outfil outfile outs outsh outshe outshee outsheet ovtest pac pac_7 palette parse parse_dissim pause pca pca_8 pca_display pca_estat pca_p pca_rotate pcamat pchart pchart_7 pchi pchi_7 pcorr pctile pentium pergram pergram_7 permute permute_8 personal peto_st pkcollapse pkcross pkequiv pkexamine pkexamine_7 pkshape pksumm pksumm_7 pl plo plot plugin pnorm pnorm_7 poisgof poiss_lf poiss_sw poisso_p poisson poisson_estat post postclose postfile postutil pperron pr prais prais_e prais_e2 prais_p predict predictnl preserve print pro prob probi probit probit_estat probit_p proc_time procoverlay procrustes procrustes_estat procrustes_p profiler prog progr progra program prop proportion prtest prtesti pwcorr pwd q\\s qby qbys qchi qchi_7 qladder qladder_7 qnorm qnorm_7 qqplot qqplot_7 qreg qreg_c qreg_p qreg_sw qu quadchk quantile quantile_7 que quer query range ranksum ratio rchart rchart_7 rcof recast reclink recode reg reg3 reg3_p regdw regr regre regre_p2 regres regres_p regress regress_estat regriv_p remap ren rena renam rename renpfix repeat replace report reshape restore ret retu retur return rm rmdir robvar roccomp roccomp_7 roccomp_8 rocf_lf rocfit rocfit_8 rocgold rocplot rocplot_7 roctab roctab_7 rolling rologit rologit_p rot rota rotat rotate rotatemat rreg rreg_p ru run runtest rvfplot rvfplot_7 rvpplot rvpplot_7 sa safesum sample sampsi sav save savedresults saveold sc sca scal scala scalar scatter scm_mine sco scob_lf scob_p scobi_sw scobit scor score scoreplot scoreplot_help scree screeplot screeplot_help sdtest sdtesti se search separate seperate serrbar serrbar_7 serset set set_defaults sfrancia sh she shel shell shewhart shewhart_7 signestimationsample signrank signtest simul simul_7 simulate simulate_8 sktest sleep slogit slogit_d2 slogit_p smooth snapspan so sor sort spearman spikeplot spikeplot_7 spikeplt spline_x split sqreg sqreg_p sret sretu sretur sreturn ssc st st_ct st_hc st_hcd st_hcd_sh st_is st_issys st_note st_promo st_set st_show st_smpl st_subid stack statsby statsby_8 stbase stci stci_7 stcox stcox_estat stcox_fr stcox_fr_ll stcox_p stcox_sw stcoxkm stcoxkm_7 stcstat stcurv stcurve stcurve_7 stdes stem stepwise stereg stfill stgen stir stjoin stmc stmh stphplot stphplot_7 stphtest stphtest_7 stptime strate strate_7 streg streg_sw streset sts sts_7 stset stsplit stsum sttocc sttoct stvary stweib su suest suest_8 sum summ summa summar summari summariz summarize sunflower sureg survcurv survsum svar svar_p svmat svy svy_disp svy_dreg svy_est svy_est_7 svy_estat svy_get svy_gnbreg_p svy_head svy_header svy_heckman_p svy_heckprob_p svy_intreg_p svy_ivreg_p svy_logistic_p svy_logit_p svy_mlogit_p svy_nbreg_p svy_ologit_p svy_oprobit_p svy_poisson_p svy_probit_p svy_regress_p svy_sub svy_sub_7 svy_x svy_x_7 svy_x_p svydes svydes_8 svygen svygnbreg svyheckman svyheckprob svyintreg svyintreg_7 svyintrg svyivreg svylc svylog_p svylogit svymarkout svymarkout_8 svymean svymlog svymlogit svynbreg svyolog svyologit svyoprob svyoprobit svyopts svypois svypois_7 svypoisson svyprobit svyprobt svyprop svyprop_7 svyratio svyreg svyreg_p svyregress svyset svyset_7 svyset_8 svytab svytab_7 svytest svytotal sw sw_8 swcnreg swcox swereg swilk swlogis swlogit swologit swoprbt swpois swprobit swqreg swtobit swweib symmetry symmi symplot symplot_7 syntax sysdescribe sysdir sysuse szroeter ta tab tab1 tab2 tab_or tabd tabdi tabdis tabdisp tabi table tabodds tabodds_7 tabstat tabu tabul tabula tabulat tabulate te tempfile tempname tempvar tes test testnl testparm teststd tetrachoric time_it timer tis tob tobi tobit tobit_p tobit_sw token tokeni tokeniz tokenize tostring total translate translator transmap treat_ll treatr_p treatreg trim trnb_cons trnb_mean trpoiss_d2 trunc_ll truncr_p truncreg tsappend tset tsfill tsline tsline_ex tsreport tsrevar tsrline tsset tssmooth tsunab ttest ttesti tut_chk tut_wait tutorial tw tware_st two twoway twoway__fpfit_serset twoway__function_gen twoway__histogram_gen twoway__ipoint_serset twoway__ipoints_serset twoway__kdensity_gen twoway__lfit_serset twoway__normgen_gen twoway__pci_serset twoway__qfit_serset twoway__scatteri_serset twoway__sunflower_gen twoway_ksm_serset ty typ type typeof u unab unabbrev unabcmd update us use uselabel var var_mkcompanion var_p varbasic varfcast vargranger varirf varirf_add varirf_cgraph varirf_create varirf_ctable varirf_describe varirf_dir varirf_drop varirf_erase varirf_graph varirf_ograph varirf_rename varirf_set varirf_table varlist varlmar varnorm varsoc varstable varstable_w varstable_w2 varwle vce vec vec_fevd vec_mkphi vec_p vec_p_w vecirf_create veclmar veclmar_w vecnorm vecnorm_w vecrank vecstable verinst vers versi versio version view viewsource vif vwls wdatetof webdescribe webseek webuse weib1_lf weib2_lf weib_lf weib_lf0 weibhet_glf weibhet_glf_sh weibhet_glfa weibhet_glfa_sh weibhet_gp weibhet_ilf weibhet_ilf_sh weibhet_ilfa weibhet_ilfa_sh weibhet_ip weibu_sw weibul_p weibull weibull_c weibull_s weibullhet wh whelp whi which whil while wilc_st wilcoxon win wind windo window winexec wntestb wntestb_7 wntestq xchart xchart_7 xcorr xcorr_7 xi xi_6 xmlsav xmlsave xmluse xpose xsh xshe xshel xshell xt_iis xt_tis xtab_p xtabond xtbin_p xtclog xtcloglog xtcloglog_8 xtcloglog_d2 xtcloglog_pa_p xtcloglog_re_p xtcnt_p xtcorr xtdata xtdes xtfront_p xtfrontier xtgee xtgee_elink xtgee_estat xtgee_makeivar xtgee_p xtgee_plink xtgls xtgls_p xthaus xthausman xtht_p xthtaylor xtile xtint_p xtintreg xtintreg_8 xtintreg_d2 xtintreg_p xtivp_1 xtivp_2 xtivreg xtline xtline_ex xtlogit xtlogit_8 xtlogit_d2 xtlogit_fe_p xtlogit_pa_p xtlogit_re_p xtmixed xtmixed_estat xtmixed_p xtnb_fe xtnb_lf xtnbreg xtnbreg_pa_p xtnbreg_refe_p xtpcse xtpcse_p xtpois xtpoisson xtpoisson_d2 xtpoisson_pa_p xtpoisson_refe_p xtpred xtprobit xtprobit_8 xtprobit_d2 xtprobit_re_p xtps_fe xtps_lf xtps_ren xtps_ren_8 xtrar_p xtrc xtrc_p xtrchh xtrefe_p xtreg xtreg_be xtreg_fe xtreg_ml xtreg_pa_p xtreg_re xtregar xtrere_p xtset xtsf_ll xtsf_llti xtsum xttab xttest0 xttobit xttobit_8 xttobit_p xttrans yx yxview__barlike_draw yxview_area_draw yxview_bar_draw yxview_dot_draw yxview_dropline_draw yxview_function_draw yxview_iarrow_draw yxview_ilabels_draw yxview_normal_draw yxview_pcarrow_draw yxview_pcbarrow_draw yxview_pccapsym_draw yxview_pcscatter_draw yxview_pcspike_draw yxview_rarea_draw yxview_rbar_draw yxview_rbarm_draw yxview_rcap_draw yxview_rcapsym_draw yxview_rconnected_draw yxview_rline_draw yxview_rscatter_draw yxview_rspike_draw yxview_spike_draw yxview_sunflower_draw zap_s zinb zinb_llf zinb_plf zip zip_llf zip_p zip_plf zt_ct_5 zt_hc_5 zt_hcd_5 zt_is_5 zt_iss_5 zt_sho_5 zt_smp_5 ztbase_5 ztcox_5 ztdes_5 ztereg_5 ztfill_5 ztgen_5 ztir_5 ztjoin_5 ztnb ztnb_p ztp ztp_p zts_5 ztset_5 ztspli_5 ztsum_5 zttoct_5 ztvary_5 ztweib_5",contains:[{className:"label",variants:[{begin:"\\$\\{?[a-zA-Z0-9_]+\\}?"},{begin:"`[a-zA-Z0-9_]+'"}]},{className:"string",variants:[{begin:'`"[^\r\n]*?"\''},{begin:'"[^\r\n"]*"'}]},{className:"literal",variants:[{begin:"\\b(abs|acos|asin|atan|atan2|atanh|ceil|cloglog|comb|cos|digamma|exp|floor|invcloglog|invlogit|ln|lnfact|lnfactorial|lngamma|log|log10|max|min|mod|reldif|round|sign|sin|sqrt|sum|tan|tanh|trigamma|trunc|betaden|Binomial|binorm|binormal|chi2|chi2tail|dgammapda|dgammapdada|dgammapdadx|dgammapdx|dgammapdxdx|F|Fden|Ftail|gammaden|gammap|ibeta|invbinomial|invchi2|invchi2tail|invF|invFtail|invgammap|invibeta|invnchi2|invnFtail|invnibeta|invnorm|invnormal|invttail|nbetaden|nchi2|nFden|nFtail|nibeta|norm|normal|normalden|normd|npnchi2|tden|ttail|uniform|abbrev|char|index|indexnot|length|lower|ltrim|match|plural|proper|real|regexm|regexr|regexs|reverse|rtrim|string|strlen|strlower|strltrim|strmatch|strofreal|strpos|strproper|strreverse|strrtrim|strtrim|strupper|subinstr|subinword|substr|trim|upper|word|wordcount|_caller|autocode|byteorder|chop|clip|cond|e|epsdouble|epsfloat|group|inlist|inrange|irecode|matrix|maxbyte|maxdouble|maxfloat|maxint|maxlong|mi|minbyte|mindouble|minfloat|minint|minlong|missing|r|recode|replay|return|s|scalar|d|date|day|dow|doy|halfyear|mdy|month|quarter|week|year|d|daily|dofd|dofh|dofm|dofq|dofw|dofy|h|halfyearly|hofd|m|mofd|monthly|q|qofd|quarterly|tin|twithin|w|weekly|wofd|y|yearly|yh|ym|yofd|yq|yw|cholesky|colnumb|colsof|corr|det|diag|diag0cnt|el|get|hadamard|I|inv|invsym|issym|issymmetric|J|matmissing|matuniform|mreldif|nullmat|rownumb|rowsof|sweep|syminv|trace|vec|vecdiag)(?=\\(|$)"}]},a.COMMENT("^[      ]*\\*.*$",!1),a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]}}),a.registerLanguage("step21",function(a){var b="[A-Z_][A-Z0-9_.]*",c="END-ISO-10303-21;",d={literal:"",built_in:"",keyword:"HEADER ENDSEC DATA"},e={className:"preprocessor",begin:"ISO-10303-21;",relevance:10},f=[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.COMMENT("/\\*\\*!","\\*/"),a.C_NUMBER_MODE,a.inherit(a.APOS_STRING_MODE,{illegal:null}),a.inherit(a.QUOTE_STRING_MODE,{illegal:null}),{className:"string",begin:"'",end:"'"},{className:"label",variants:[{begin:"#",end:"\\d+",illegal:"\\W"}]}];return{aliases:["p21","step","stp"],case_insensitive:!0,lexemes:b,keywords:d,contains:[{className:"preprocessor",begin:c,relevance:10},e].concat(f)}}),a.registerLanguage("stylus",function(a){var b={className:"variable",begin:"\\$"+a.IDENT_RE},c={className:"hexcolor",begin:"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})",relevance:10},d=["charset","css","debug","extend","font-face","for","import","include","media","mixin","page","warn","while"],e=["after","before","first-letter","first-line","active","first-child","focus","hover","lang","link","visited"],f=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],g="[\\.\\s\\n\\[\\:,]",h=["align-content","align-items","align-self","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","auto","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","clip-path","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","font","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-variant-ligatures","font-weight","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inherit","initial","justify-content","left","letter-spacing","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","max-height","max-width","min-height","min-width","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","perspective","perspective-origin","pointer-events","position","quotes","resize","right","tab-size","table-layout","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"],i=["\\{","\\}","\\?","(\\bReturn\\b)","(\\bEnd\\b)","(\\bend\\b)",";","#\\s","\\*\\s","===\\s","\\|","%"];
-return{aliases:["styl"],case_insensitive:!1,illegal:"("+i.join("|")+")",keywords:"if else for in",contains:[a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,c,{begin:"\\.[a-zA-Z][a-zA-Z0-9_-]*"+g,returnBegin:!0,contains:[{className:"class",begin:"\\.[a-zA-Z][a-zA-Z0-9_-]*"}]},{begin:"\\#[a-zA-Z][a-zA-Z0-9_-]*"+g,returnBegin:!0,contains:[{className:"id",begin:"\\#[a-zA-Z][a-zA-Z0-9_-]*"}]},{begin:"\\b("+f.join("|")+")"+g,returnBegin:!0,contains:[{className:"tag",begin:"\\b[a-zA-Z][a-zA-Z0-9_-]*"}]},{className:"pseudo",begin:"&?:?:\\b("+e.join("|")+")"+g},{className:"at_rule",begin:"@("+d.join("|")+")\\b"},b,a.CSS_NUMBER_MODE,a.NUMBER_MODE,{className:"function",begin:"\\b[a-zA-Z][a-zA-Z0-9_-]*\\(.*\\)",illegal:"[\\n]",returnBegin:!0,contains:[{className:"title",begin:"\\b[a-zA-Z][a-zA-Z0-9_-]*"},{className:"params",begin:/\(/,end:/\)/,contains:[c,b,a.APOS_STRING_MODE,a.CSS_NUMBER_MODE,a.NUMBER_MODE,a.QUOTE_STRING_MODE]}]},{className:"attribute",begin:"\\b("+h.reverse().join("|")+")\\b"}]}}),a.registerLanguage("swift",function(a){var b={keyword:"__COLUMN__ __FILE__ __FUNCTION__ __LINE__ as as! as? associativity break case catch class continue convenience default defer deinit didSet do dynamic dynamicType else enum extension fallthrough false final for func get guard if import in indirect infix init inout internal is lazy left let mutating nil none nonmutating operator optional override postfix precedence prefix private protocol Protocol public repeat required rethrows return right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet",literal:"true false nil",built_in:"abs advance alignof alignofValue anyGenerator assert assertionFailure bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal fatalError filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare map max maxElement min minElement numericCast overlaps partition posix precondition preconditionFailure print println quickSort readLine reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith stride strideof strideofValue swap toString transcode underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers withUnsafePointer withUnsafePointers withVaList zip"},c={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},d=a.COMMENT("/\\*","\\*/",{contains:["self"]}),e={className:"subst",begin:/\\\(/,end:"\\)",keywords:b,contains:[]},f={className:"number",begin:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",relevance:0},g=a.inherit(a.QUOTE_STRING_MODE,{contains:[e,a.BACKSLASH_ESCAPE]});return e.contains=[f],{keywords:b,contains:[g,a.C_LINE_COMMENT_MODE,d,c,f,{className:"func",beginKeywords:"func",end:"{",excludeEnd:!0,contains:[a.inherit(a.TITLE_MODE,{begin:/[A-Za-z$_][0-9A-Za-z$_]*/,illegal:/\(/}),{className:"generics",begin:/</,end:/>/,illegal:/>/},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:b,contains:["self",f,g,a.C_BLOCK_COMMENT_MODE,{begin:":"}],illegal:/["']/}],illegal:/\[|%/},{className:"class",beginKeywords:"struct protocol class extension enum",keywords:b,end:"\\{",excludeEnd:!0,contains:[a.inherit(a.TITLE_MODE,{begin:/[A-Za-z$_][0-9A-Za-z$_]*/})]},{className:"preprocessor",begin:"(@warn_unused_result|@exported|@lazy|@noescape|@NSCopying|@NSManaged|@objc|@convention|@required|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix|@autoclosure|@testable|@available|@nonobjc|@NSApplicationMain|@UIApplicationMain)"},{beginKeywords:"import",end:/$/,contains:[a.C_LINE_COMMENT_MODE,d]}]}}),a.registerLanguage("tcl",function(a){return{aliases:["tk"],keywords:"after append apply array auto_execok auto_import auto_load auto_mkindex auto_mkindex_old auto_qualify auto_reset bgerror binary break catch cd chan clock close concat continue dde dict encoding eof error eval exec exit expr fblocked fconfigure fcopy file fileevent filename flush for foreach format gets glob global history http if incr info interp join lappend|10 lassign|10 lindex|10 linsert|10 list llength|10 load lrange|10 lrepeat|10 lreplace|10 lreverse|10 lsearch|10 lset|10 lsort|10 mathfunc mathop memory msgcat namespace open package parray pid pkg::create pkg_mkIndex platform platform::shell proc puts pwd read refchan regexp registry regsub|10 rename return safe scan seek set socket source split string subst switch tcl_endOfWord tcl_findLibrary tcl_startOfNextWord tcl_startOfPreviousWord tcl_wordBreakAfter tcl_wordBreakBefore tcltest tclvars tell time tm trace unknown unload unset update uplevel upvar variable vwait while",contains:[a.COMMENT(";[ \\t]*#","$"),a.COMMENT("^[ \\t]*#","$"),{beginKeywords:"proc",end:"[\\{]",excludeEnd:!0,contains:[{className:"symbol",begin:"[ \\t\\n\\r]+(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",end:"[ \\t\\n\\r]",endsWithParent:!0,excludeEnd:!0}]},{className:"variable",excludeEnd:!0,variants:[{begin:"\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*\\(([a-zA-Z0-9_])*\\)",end:"[^a-zA-Z0-9_\\}\\$]"},{begin:"\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",end:"(\\))?[^a-zA-Z0-9_\\}\\$]"}]},{className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[a.inherit(a.APOS_STRING_MODE,{illegal:null}),a.inherit(a.QUOTE_STRING_MODE,{illegal:null})]},{className:"number",variants:[a.BINARY_NUMBER_MODE,a.C_NUMBER_MODE]}]}}),a.registerLanguage("tex",function(a){var b={className:"command",begin:"\\\\[a-zA-Zа-яА-я]+[\\*]?"},c={className:"command",begin:"\\\\[^a-zA-Zа-яА-я0-9]"},d={className:"special",begin:"[{}\\[\\]\\&#~]",relevance:0};return{contains:[{begin:"\\\\[a-zA-Zа-яА-я]+[\\*]? *= *-?\\d*\\.?\\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?",returnBegin:!0,contains:[b,c,{className:"number",begin:" *=",end:"-?\\d*\\.?\\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?",excludeBegin:!0}],relevance:10},b,c,d,{className:"formula",begin:"\\$\\$",end:"\\$\\$",contains:[b,c,d],relevance:0},{className:"formula",begin:"\\$",end:"\\$",contains:[b,c,d],relevance:0},a.COMMENT("%","$",{relevance:0})]}}),a.registerLanguage("thrift",function(a){var b="bool byte i16 i32 i64 double string binary";return{keywords:{keyword:"namespace const typedef struct enum service exception void oneway set list map required optional",built_in:b,literal:"true false"},contains:[a.QUOTE_STRING_MODE,a.NUMBER_MODE,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{className:"class",beginKeywords:"struct enum service exception",end:/\{/,illegal:/\n/,contains:[a.inherit(a.TITLE_MODE,{starts:{endsWithParent:!0,excludeEnd:!0}})]},{begin:"\\b(set|list|map)\\s*<",end:">",keywords:b,contains:["self"]}]}}),a.registerLanguage("tp",function(a){var b={className:"number",begin:"[1-9][0-9]*",relevance:0},c={className:"comment",begin:":[^\\]]+"},d={className:"built_in",begin:"(AR|P|PAYLOAD|PR|R|SR|RSR|LBL|VR|UALM|MESSAGE|UTOOL|UFRAME|TIMER|    TIMER_OVERFLOW|JOINT_MAX_SPEED|RESUME_PROG|DIAG_REC)\\[",end:"\\]",contains:["self",b,c]},e={className:"built_in",begin:"(AI|AO|DI|DO|F|RI|RO|UI|UO|GI|GO|SI|SO)\\[",end:"\\]",contains:["self",b,a.QUOTE_STRING_MODE,c]};return{keywords:{keyword:"ABORT ACC ADJUST AND AP_LD BREAK CALL CNT COL CONDITION CONFIG DA DB DIV DETECT ELSE END ENDFOR ERR_NUM ERROR_PROG FINE FOR GP GUARD INC IF JMP LINEAR_MAX_SPEED LOCK MOD MONITOR OFFSET Offset OR OVERRIDE PAUSE PREG PTH RT_LD RUN SELECT SKIP Skip TA TB TO TOOL_OFFSET Tool_Offset UF UT UFRAME_NUM UTOOL_NUM UNLOCK WAIT X Y Z W P R STRLEN SUBSTR FINDSTR VOFFSET",constant:"ON OFF max_speed LPOS JPOS ENABLE DISABLE START STOP RESET"},contains:[d,e,{className:"keyword",begin:"/(PROG|ATTR|MN|POS|END)\\b"},{className:"keyword",begin:"(CALL|RUN|POINT_LOGIC|LBL)\\b"},{className:"keyword",begin:"\\b(ACC|CNT|Skip|Offset|PSPD|RT_LD|AP_LD|Tool_Offset)"},{className:"number",begin:"\\d+(sec|msec|mm/sec|cm/min|inch/min|deg/sec|mm|in|cm)?\\b",relevance:0},a.COMMENT("//","[;$]"),a.COMMENT("!","[;$]"),a.COMMENT("--eg:","$"),a.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"'"},a.C_NUMBER_MODE,{className:"variable",begin:"\\$[A-Za-z0-9_]+"}]}}),a.registerLanguage("twig",function(a){var b={className:"params",begin:"\\(",end:"\\)"},c="attribute block constant cycle date dump include max min parent random range source template_from_string",d={className:"function",beginKeywords:c,relevance:0,contains:[b]},e={className:"filter",begin:/\|[A-Za-z_]+:?/,keywords:"abs batch capitalize convert_encoding date date_modify default escape first format join json_encode keys last length lower merge nl2br number_format raw replace reverse round slice sort split striptags title trim upper url_encode",contains:[d]},f="autoescape block do embed extends filter flush for if import include macro sandbox set spaceless use verbatim";return f=f+" "+f.split(" ").map(function(a){return"end"+a}).join(" "),{aliases:["craftcms"],case_insensitive:!0,subLanguage:"xml",contains:[a.COMMENT(/\{#/,/#}/),{className:"template_tag",begin:/\{%/,end:/%}/,keywords:f,contains:[e,d]},{className:"variable",begin:/\{\{/,end:/}}/,contains:[e,d]}]}}),a.registerLanguage("typescript",function(a){var b={keyword:"in if for while finally var new function|0 do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class public private protected get set super static implements enum export import declare type namespace abstract",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document any number boolean string void"};return{aliases:["ts"],keywords:b,contains:[{className:"pi",begin:/^\s*['"]use strict['"]/,relevance:0},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{className:"number",variants:[{begin:"\\b(0[bB][01]+)"},{begin:"\\b(0[oO][0-7]+)"},{begin:a.C_NUMBER_RE}],relevance:0},{begin:"("+a.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.REGEXP_MODE],relevance:0},{className:"function",begin:"function",end:/[\{;]/,excludeEnd:!0,keywords:b,contains:["self",a.inherit(a.TITLE_MODE,{begin:/[A-Za-z$_][0-9A-Za-z$_]*/}),{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:b,contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE],illegal:/["'\(]/}],illegal:/\[|%/,relevance:0},{className:"constructor",beginKeywords:"constructor",end:/\{/,excludeEnd:!0,relevance:10},{className:"module",beginKeywords:"module",end:/\{/,excludeEnd:!0},{className:"interface",beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:"interface extends"},{begin:/\$[(.]/},{begin:"\\."+a.IDENT_RE,relevance:0}]}}),a.registerLanguage("vala",function(a){return{keywords:{keyword:"char uchar unichar int uint long ulong short ushort int8 int16 int32 int64 uint8 uint16 uint32 uint64 float double bool struct enum string void weak unowned owned async signal static abstract interface override while do for foreach else switch case break default return try catch public private protected internal using new this get set const stdout stdin stderr var",built_in:"DBus GLib CCode Gee Object",literal:"false true null"},contains:[{className:"class",beginKeywords:"class interface delegate namespace",end:"{",excludeEnd:!0,illegal:"[^,:\\n\\s\\.]",contains:[a.UNDERSCORE_TITLE_MODE]},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{className:"string",begin:'"""',end:'"""',relevance:5},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,a.C_NUMBER_MODE,{className:"preprocessor",begin:"^#",end:"$",relevance:2},{className:"constant",begin:" [A-Z_]+ ",relevance:0}]}}),a.registerLanguage("vbnet",function(a){return{aliases:["vb"],case_insensitive:!0,keywords:{keyword:"addhandler addressof alias and andalso aggregate ansi as assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into is isfalse isnot istrue join key let lib like loop me mid mod module mustinherit mustoverride mybase myclass namespace narrowing new next not notinheritable notoverridable of off on operator option optional or order orelse overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim rem removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly xor",built_in:"boolean byte cbool cbyte cchar cdate cdec cdbl char cint clng cobj csbyte cshort csng cstr ctype date decimal directcast double gettype getxmlnamespace iif integer long object sbyte short single string trycast typeof uinteger ulong ushort",literal:"true false nothing"},illegal:"//|{|}|endif|gosub|variant|wend",contains:[a.inherit(a.QUOTE_STRING_MODE,{contains:[{begin:'""'}]}),a.COMMENT("'","$",{returnBegin:!0,contains:[{className:"xmlDocTag",begin:"'''|<!--|-->",contains:[a.PHRASAL_WORDS_MODE]},{className:"xmlDocTag",begin:"</?",end:">",contains:[a.PHRASAL_WORDS_MODE]}]}),a.C_NUMBER_MODE,{className:"preprocessor",begin:"#",end:"$",keywords:"if else elseif end region externalsource"}]}}),a.registerLanguage("vbscript",function(a){return{aliases:["vbs"],case_insensitive:!0,keywords:{keyword:"call class const dim do loop erase execute executeglobal exit for each next function if then else on error option explicit new private property let get public randomize redim rem select case set stop sub while wend with end to elseif is or xor and not class_initialize class_terminate default preserve in me byval byref step resume goto",built_in:"lcase month vartype instrrev ubound setlocale getobject rgb getref string weekdayname rnd dateadd monthname now day minute isarray cbool round formatcurrency conversions csng timevalue second year space abs clng timeserial fixs len asc isempty maths dateserial atn timer isobject filter weekday datevalue ccur isdate instr datediff formatdatetime replace isnull right sgn array snumeric log cdbl hex chr lbound msgbox ucase getlocale cos cdate cbyte rtrim join hour oct typename trim strcomp int createobject loadpicture tan formatnumber mid scriptenginebuildversion scriptengine split scriptengineminorversion cint sin datepart ltrim sqr scriptenginemajorversion time derived eval date formatpercent exp inputbox left ascw chrw regexp server response request cstr err",literal:"true false null nothing empty"},illegal:"//",contains:[a.inherit(a.QUOTE_STRING_MODE,{contains:[{begin:'""'}]}),a.COMMENT(/'/,/$/,{relevance:0}),a.C_NUMBER_MODE]}}),a.registerLanguage("vbscript-html",function(a){return{subLanguage:"xml",contains:[{begin:"<%",end:"%>",subLanguage:"vbscript"}]}}),a.registerLanguage("verilog",function(a){return{aliases:["v"],case_insensitive:!0,keywords:{keyword:"always and assign begin buf bufif0 bufif1 case casex casez cmos deassign default defparam disable edge else end endcase endfunction endmodule endprimitive endspecify endtable endtask event for force forever fork function if ifnone initial inout input join macromodule module nand negedge nmos nor not notif0 notif1 or output parameter pmos posedge primitive pulldown pullup rcmos release repeat rnmos rpmos rtran rtranif0 rtranif1 specify specparam table task timescale tran tranif0 tranif1 wait while xnor xor",typename:"highz0 highz1 integer large medium pull0 pull1 real realtime reg scalared signed small strong0 strong1 supply0 supply0 supply1 supply1 time tri tri0 tri1 triand trior trireg vectored wand weak0 weak1 wire wor"},contains:[a.C_BLOCK_COMMENT_MODE,a.C_LINE_COMMENT_MODE,a.QUOTE_STRING_MODE,{className:"number",begin:"\\b(\\d+'(b|h|o|d|B|H|O|D))?[0-9xzXZ]+",contains:[a.BACKSLASH_ESCAPE],relevance:0},{className:"typename",begin:"\\.\\w+",relevance:0},{className:"value",begin:"#\\((?!parameter).+\\)"},{className:"keyword",begin:"\\+|-|\\*|/|%|<|>|=|#|`|\\!|&|\\||@|:|\\^|~|\\{|\\}",relevance:0}]}}),a.registerLanguage("vhdl",function(a){var b="\\d(_|\\d)*",c="[eE][-+]?"+b,d=b+"(\\."+b+")?("+c+")?",e="\\w+",f=b+"#"+e+"(\\."+e+")?#("+c+")?",g="\\b("+f+"|"+d+")";return{case_insensitive:!0,keywords:{keyword:"abs access after alias all and architecture array assert attribute begin block body buffer bus case component configuration constant context cover disconnect downto default else elsif end entity exit fairness file for force function generate generic group guarded if impure in inertial inout is label library linkage literal loop map mod nand new next nor not null of on open or others out package port postponed procedure process property protected pure range record register reject release rem report restrict restrict_guarantee return rol ror select sequence severity shared signal sla sll sra srl strong subtype then to transport type unaffected units until use variable vmode vprop vunit wait when while with xnor xor",typename:"boolean bit character severity_level integer time delay_length natural positive string bit_vector file_open_kind file_open_status std_ulogic std_ulogic_vector std_logic std_logic_vector unsigned signed boolean_vector integer_vector real_vector time_vector"},illegal:"{",contains:[a.C_BLOCK_COMMENT_MODE,a.COMMENT("--","$"),a.QUOTE_STRING_MODE,{className:"number",begin:g,relevance:0},{className:"literal",begin:"'(U|X|0|1|Z|W|L|H|-)'",contains:[a.BACKSLASH_ESCAPE]},{className:"attribute",begin:"'[A-Za-z](_?[A-Za-z0-9])*",contains:[a.BACKSLASH_ESCAPE]}]}}),a.registerLanguage("vim",function(a){return{lexemes:/[!#@\w]+/,keywords:{keyword:"N|0 P|0 X|0 a|0 ab abc abo al am an|0 ar arga argd arge argdo argg argl argu as au aug aun b|0 bN ba bad bd be bel bf bl bm bn bo bp br brea breaka breakd breakl bro bufdo buffers bun bw c|0 cN cNf ca cabc caddb cad caddf cal cat cb cc ccl cd ce cex cf cfir cgetb cgete cg changes chd che checkt cl cla clo cm cmapc cme cn cnew cnf cno cnorea cnoreme co col colo com comc comp con conf cope cp cpf cq cr cs cst cu cuna cunme cw d|0 delm deb debugg delc delf dif diffg diffo diffp diffpu diffs diffthis dig di dl dell dj dli do doautoa dp dr ds dsp e|0 ea ec echoe echoh echom echon el elsei em en endfo endf endt endw ene ex exe exi exu f|0 files filet fin fina fini fir fix fo foldc foldd folddoc foldo for fu g|0 go gr grepa gu gv ha h|0 helpf helpg helpt hi hid his i|0 ia iabc if ij il im imapc ime ino inorea inoreme int is isp iu iuna iunme j|0 ju k|0 keepa kee keepj lN lNf l|0 lad laddb laddf la lan lat lb lc lch lcl lcs le lefta let lex lf lfir lgetb lgete lg lgr lgrepa lh ll lla lli lmak lm lmapc lne lnew lnf ln loadk lo loc lockv lol lope lp lpf lr ls lt lu lua luad luaf lv lvimgrepa lw m|0 ma mak map mapc marks mat me menut mes mk mks mksp mkv mkvie mod mz mzf nbc nb nbs n|0 new nm nmapc nme nn nnoreme noa no noh norea noreme norm nu nun nunme ol o|0 om omapc ome on ono onoreme opt ou ounme ow p|0 profd prof pro promptr pc ped pe perld po popu pp pre prev ps pt ptN ptf ptj ptl ptn ptp ptr pts pu pw py3 python3 py3d py3f py pyd pyf q|0 quita qa r|0 rec red redi redr redraws reg res ret retu rew ri rightb rub rubyd rubyf rund ru rv s|0 sN san sa sal sav sb sbN sba sbf sbl sbm sbn sbp sbr scrip scripte scs se setf setg setl sf sfir sh sim sig sil sl sla sm smap smapc sme sn sni sno snor snoreme sor so spelld spe spelli spellr spellu spellw sp spr sre st sta startg startr star stopi stj sts sun sunm sunme sus sv sw sy synti sync t|0 tN tabN tabc tabdo tabe tabf tabfir tabl tabm tabnew tabn tabo tabp tabr tabs tab ta tags tc tcld tclf te tf th tj tl tm tn to tp tr try ts tu u|0 undoj undol una unh unl unlo unm unme uns up v|0 ve verb vert vim vimgrepa vi viu vie vm vmapc vme vne vn vnoreme vs vu vunme windo w|0 wN wa wh wi winc winp wn wp wq wqa ws wu wv x|0 xa xmapc xm xme xn xnoreme xu xunme y|0 z|0 ~ Next Print append abbreviate abclear aboveleft all amenu anoremenu args argadd argdelete argedit argglobal arglocal argument ascii autocmd augroup aunmenu buffer bNext ball badd bdelete behave belowright bfirst blast bmodified bnext botright bprevious brewind break breakadd breakdel breaklist browse bunload bwipeout change cNext cNfile cabbrev cabclear caddbuffer caddexpr caddfile call catch cbuffer cclose center cexpr cfile cfirst cgetbuffer cgetexpr cgetfile chdir checkpath checktime clist clast close cmap cmapclear cmenu cnext cnewer cnfile cnoremap cnoreabbrev cnoremenu copy colder colorscheme command comclear compiler continue confirm copen cprevious cpfile cquit crewind cscope cstag cunmap cunabbrev cunmenu cwindow delete delmarks debug debuggreedy delcommand delfunction diffupdate diffget diffoff diffpatch diffput diffsplit digraphs display deletel djump dlist doautocmd doautoall deletep drop dsearch dsplit edit earlier echo echoerr echohl echomsg else elseif emenu endif endfor endfunction endtry endwhile enew execute exit exusage file filetype find finally finish first fixdel fold foldclose folddoopen folddoclosed foldopen function global goto grep grepadd gui gvim hardcopy help helpfind helpgrep helptags highlight hide history insert iabbrev iabclear ijump ilist imap imapclear imenu inoremap inoreabbrev inoremenu intro isearch isplit iunmap iunabbrev iunmenu join jumps keepalt keepmarks keepjumps lNext lNfile list laddexpr laddbuffer laddfile last language later lbuffer lcd lchdir lclose lcscope left leftabove lexpr lfile lfirst lgetbuffer lgetexpr lgetfile lgrep lgrepadd lhelpgrep llast llist lmake lmap lmapclear lnext lnewer lnfile lnoremap loadkeymap loadview lockmarks lockvar lolder lopen lprevious lpfile lrewind ltag lunmap luado luafile lvimgrep lvimgrepadd lwindow move mark make mapclear match menu menutranslate messages mkexrc mksession mkspell mkvimrc mkview mode mzscheme mzfile nbclose nbkey nbsart next nmap nmapclear nmenu nnoremap nnoremenu noautocmd noremap nohlsearch noreabbrev noremenu normal number nunmap nunmenu oldfiles open omap omapclear omenu only onoremap onoremenu options ounmap ounmenu ownsyntax print profdel profile promptfind promptrepl pclose pedit perl perldo pop popup ppop preserve previous psearch ptag ptNext ptfirst ptjump ptlast ptnext ptprevious ptrewind ptselect put pwd py3do py3file python pydo pyfile quit quitall qall read recover redo redir redraw redrawstatus registers resize retab return rewind right rightbelow ruby rubydo rubyfile rundo runtime rviminfo substitute sNext sandbox sargument sall saveas sbuffer sbNext sball sbfirst sblast sbmodified sbnext sbprevious sbrewind scriptnames scriptencoding scscope set setfiletype setglobal setlocal sfind sfirst shell simalt sign silent sleep slast smagic smapclear smenu snext sniff snomagic snoremap snoremenu sort source spelldump spellgood spellinfo spellrepall spellundo spellwrong split sprevious srewind stop stag startgreplace startreplace startinsert stopinsert stjump stselect sunhide sunmap sunmenu suspend sview swapname syntax syntime syncbind tNext tabNext tabclose tabedit tabfind tabfirst tablast tabmove tabnext tabonly tabprevious tabrewind tag tcl tcldo tclfile tearoff tfirst throw tjump tlast tmenu tnext topleft tprevious trewind tselect tunmenu undo undojoin undolist unabbreviate unhide unlet unlockvar unmap unmenu unsilent update vglobal version verbose vertical vimgrep vimgrepadd visual viusage view vmap vmapclear vmenu vnew vnoremap vnoremenu vsplit vunmap vunmenu write wNext wall while winsize wincmd winpos wnext wprevious wqall wsverb wundo wviminfo xit xall xmapclear xmap xmenu xnoremap xnoremenu xunmap xunmenu yank",built_in:"abs acos add and append argc argidx argv asin atan atan2 browse browsedir bufexists buflisted bufloaded bufname bufnr bufwinnr byte2line byteidx call ceil changenr char2nr cindent clearmatches col complete complete_add complete_check confirm copy cos cosh count cscope_connection cursor deepcopy delete did_filetype diff_filler diff_hlID empty escape eval eventhandler executable exists exp expand extend feedkeys filereadable filewritable filter finddir findfile float2nr floor fmod fnameescape fnamemodify foldclosed foldclosedend foldlevel foldtext foldtextresult foreground function garbagecollect get getbufline getbufvar getchar getcharmod getcmdline getcmdpos getcmdtype getcwd getfontname getfperm getfsize getftime getftype getline getloclist getmatches getpid getpos getqflist getreg getregtype gettabvar gettabwinvar getwinposx getwinposy getwinvar glob globpath has has_key haslocaldir hasmapto histadd histdel histget histnr hlexists hlID hostname iconv indent index input inputdialog inputlist inputrestore inputsave inputsecret insert invert isdirectory islocked items join keys len libcall libcallnr line line2byte lispindent localtime log log10 luaeval map maparg mapcheck match matchadd matcharg matchdelete matchend matchlist matchstr max min mkdir mode mzeval nextnonblank nr2char or pathshorten pow prevnonblank printf pumvisible py3eval pyeval range readfile reltime reltimestr remote_expr remote_foreground remote_peek remote_read remote_send remove rename repeat resolve reverse round screenattr screenchar screencol screenrow search searchdecl searchpair searchpairpos searchpos server2client serverlist setbufvar setcmdpos setline setloclist setmatches setpos setqflist setreg settabvar settabwinvar setwinvar sha256 shellescape shiftwidth simplify sin sinh sort soundfold spellbadword spellsuggest split sqrt str2float str2nr strchars strdisplaywidth strftime stridx string strlen strpart strridx strtrans strwidth submatch substitute synconcealed synID synIDattr synIDtrans synstack system tabpagebuflist tabpagenr tabpagewinnr tagfiles taglist tan tanh tempname tolower toupper tr trunc type undofile undotree values virtcol visualmode wildmenumode winbufnr wincol winheight winline winnr winrestcmd winrestview winsaveview winwidth writefile xor"},illegal:/[{:]/,contains:[a.NUMBER_MODE,a.APOS_STRING_MODE,{className:"string",begin:/"((\\")|[^"\n])*("|\n)/},{className:"variable",begin:/[bwtglsav]:[\w\d_]*/},{className:"function",beginKeywords:"function function!",end:"$",relevance:0,contains:[a.TITLE_MODE,{className:"params",begin:"\\(",end:"\\)"}]}]}}),a.registerLanguage("x86asm",function(a){return{case_insensitive:!0,lexemes:"\\.?"+a.IDENT_RE,keywords:{keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",
-literal:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0  xmm1  xmm2  xmm3  xmm4  xmm5  xmm6  xmm7  xmm8  xmm9 xmm10  xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0  ymm1  ymm2  ymm3  ymm4  ymm5  ymm6  ymm7  ymm8  ymm9 ymm10  ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0  zmm1  zmm2  zmm3  zmm4  zmm5  zmm6  zmm7  zmm8  zmm9 zmm10  zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l",pseudo:"db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times",preprocessor:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr __FILE__ __LINE__ __SECT__  __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__  __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public ",built_in:"bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},contains:[a.COMMENT(";","$",{relevance:0}),{className:"number",variants:[{begin:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",relevance:0},{begin:"\\$[0-9][0-9A-Fa-f]*",relevance:0},{begin:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{begin:"\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"}]},a.QUOTE_STRING_MODE,{className:"string",variants:[{begin:"'",end:"[^\\\\]'"},{begin:"`",end:"[^\\\\]`"},{begin:"\\.[A-Za-z0-9]+"}],relevance:0},{className:"label",variants:[{begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)"},{begin:"^\\s*%%[A-Za-z0-9_$#@~.?]*:"}],relevance:0},{className:"argument",begin:"%[0-9]+",relevance:0},{className:"built_in",begin:"%!S+",relevance:0}]}}),a.registerLanguage("xl",function(a){var b="ObjectLoader Animate MovieCredits Slides Filters Shading Materials LensFlare Mapping VLCAudioVideo StereoDecoder PointCloud NetworkAccess RemoteControl RegExp ChromaKey Snowfall NodeJS Speech Charts",c={keyword:"if then else do while until for loop import with is as where when by data constant",literal:"true false nil",type:"integer real text name boolean symbol infix prefix postfix block tree",built_in:"in mod rem and or xor not abs sign floor ceil sqrt sin cos tan asin acos atan exp expm1 log log2 log10 log1p pi at",module:b,id:"text_length text_range text_find text_replace contains page slide basic_slide title_slide title subtitle fade_in fade_out fade_at clear_color color line_color line_width texture_wrap texture_transform texture scale_?x scale_?y scale_?z? translate_?x translate_?y translate_?z? rotate_?x rotate_?y rotate_?z? rectangle circle ellipse sphere path line_to move_to quad_to curve_to theme background contents locally time mouse_?x mouse_?y mouse_buttons"},d={className:"constant",begin:"[A-Z][A-Z_0-9]+",relevance:0},e={className:"variable",begin:"([A-Z][a-z_0-9]+)+",relevance:0},f={className:"id",begin:"[a-z][a-z_0-9]+",relevance:0},g={className:"string",begin:'"',end:'"',illegal:"\\n"},h={className:"string",begin:"'",end:"'",illegal:"\\n"},i={className:"string",begin:"<<",end:">>"},j={className:"number",begin:"[0-9]+#[0-9A-Z_]+(\\.[0-9-A-Z_]+)?#?([Ee][+-]?[0-9]+)?",relevance:10},k={className:"import",beginKeywords:"import",end:"$",keywords:{keyword:"import",module:b},relevance:0,contains:[g]},l={className:"function",begin:"[a-z].*->"};return{aliases:["tao"],lexemes:/[a-zA-Z][a-zA-Z0-9_?]*/,keywords:c,contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,g,h,i,l,k,d,e,f,j,a.NUMBER_MODE]}}),a.registerLanguage("xquery",function(a){var b="for let if while then else return where group by xquery encoding versionmodule namespace boundary-space preserve strip default collation base-uri orderingcopy-namespaces order declare import schema namespace function option in allowing emptyat tumbling window sliding window start when only end when previous next stable ascendingdescending empty greatest least some every satisfies switch case typeswitch try catch andor to union intersect instance of treat as castable cast map array delete insert intoreplace value rename copy modify update",c="false true xs:string xs:integer element item xs:date xs:datetime xs:float xs:double xs:decimal QName xs:anyURI xs:long xs:int xs:short xs:byte attribute",d={className:"variable",begin:/\$[a-zA-Z0-9\-]+/,relevance:5},e={className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},f={className:"string",variants:[{begin:/"/,end:/"/,contains:[{begin:/""/,relevance:0}]},{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]}]},g={className:"decorator",begin:"%\\w+"},h={className:"comment",begin:"\\(:",end:":\\)",relevance:10,contains:[{className:"doc",begin:"@\\w+"}]},i={begin:"{",end:"}"},j=[d,f,e,h,g,i];return i.contains=j,{aliases:["xpath","xq"],case_insensitive:!1,lexemes:/[a-zA-Z\$][a-zA-Z0-9_:\-]*/,illegal:/(proc)|(abstract)|(extends)|(until)|(#)/,keywords:{keyword:b,literal:c},contains:j}}),a.registerLanguage("zephir",function(a){var b={className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:'b"',end:'"'},{begin:"b'",end:"'"},a.inherit(a.APOS_STRING_MODE,{illegal:null}),a.inherit(a.QUOTE_STRING_MODE,{illegal:null})]},c={variants:[a.BINARY_NUMBER_MODE,a.C_NUMBER_MODE]};return{aliases:["zep"],case_insensitive:!0,keywords:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var let while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally int uint long ulong char uchar double float bool boolean stringlikely unlikely",contains:[a.C_LINE_COMMENT_MODE,a.HASH_COMMENT_MODE,a.COMMENT("/\\*","\\*/",{contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),a.COMMENT("__halt_compiler.+?;",!1,{endsWithParent:!0,keywords:"__halt_compiler",lexemes:a.UNDERSCORE_IDENT_RE}),{className:"string",begin:"<<<['\"]?\\w+['\"]?$",end:"^\\w+;",contains:[a.BACKSLASH_ESCAPE]},{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",beginKeywords:"function",end:/[;{]/,excludeEnd:!0,illegal:"\\$|\\[|%",contains:[a.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",contains:["self",a.C_BLOCK_COMMENT_MODE,b,c]}]},{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,illegal:/[:\(\$"]/,contains:[{beginKeywords:"extends implements"},a.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",end:";",illegal:/[\.']/,contains:[a.UNDERSCORE_TITLE_MODE]},{beginKeywords:"use",end:";",contains:[a.UNDERSCORE_TITLE_MODE]},{begin:"=>"},b,c]}}),a}),function(){"use strict";angular.module("ui.grid.i18n",[]),angular.module("ui.grid",["ui.grid.i18n"])}(),function(){"use strict";angular.module("ui.grid").constant("uiGridConstants",{LOG_DEBUG_MESSAGES:!0,LOG_WARN_MESSAGES:!0,LOG_ERROR_MESSAGES:!0,CUSTOM_FILTERS:/CUSTOM_FILTERS/g,COL_FIELD:/COL_FIELD/g,MODEL_COL_FIELD:/MODEL_COL_FIELD/g,TOOLTIP:/title=\"TOOLTIP\"/g,DISPLAY_CELL_TEMPLATE:/DISPLAY_CELL_TEMPLATE/g,TEMPLATE_REGEXP:/<.+>/,FUNC_REGEXP:/(\([^)]*\))?$/,DOT_REGEXP:/\./g,APOS_REGEXP:/'/g,BRACKET_REGEXP:/^(.*)((?:\s*\[\s*\d+\s*\]\s*)|(?:\s*\[\s*"(?:[^"\\]|\\.)*"\s*\]\s*)|(?:\s*\[\s*'(?:[^'\\]|\\.)*'\s*\]\s*))(.*)$/,COL_CLASS_PREFIX:"ui-grid-col",events:{GRID_SCROLL:"uiGridScroll",COLUMN_MENU_SHOWN:"uiGridColMenuShown",ITEM_DRAGGING:"uiGridItemDragStart",COLUMN_HEADER_CLICK:"uiGridColumnHeaderClick"},keymap:{TAB:9,STRG:17,CAPSLOCK:20,CTRL:17,CTRLRIGHT:18,CTRLR:18,SHIFT:16,RETURN:13,ENTER:13,BACKSPACE:8,BCKSP:8,ALT:18,ALTR:17,ALTRIGHT:17,SPACE:32,WIN:91,MAC:91,FN:null,PG_UP:33,PG_DOWN:34,UP:38,DOWN:40,LEFT:37,RIGHT:39,ESC:27,DEL:46,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123},ASC:"asc",DESC:"desc",filter:{STARTS_WITH:2,ENDS_WITH:4,EXACT:8,CONTAINS:16,GREATER_THAN:32,GREATER_THAN_OR_EQUAL:64,LESS_THAN:128,LESS_THAN_OR_EQUAL:256,NOT_EQUAL:512,SELECT:"select",INPUT:"input"},aggregationTypes:{sum:2,count:4,avg:8,min:16,max:32},CURRENCY_SYMBOLS:["ƒ","$","£","$","¤","¥","៛","₩","₱","฿","₫"],scrollDirection:{UP:"up",DOWN:"down",LEFT:"left",RIGHT:"right",NONE:"none"},dataChange:{ALL:"all",EDIT:"edit",ROW:"row",COLUMN:"column",OPTIONS:"options"},scrollbars:{NEVER:0,ALWAYS:1}})}(),angular.module("ui.grid").directive("uiGridCell",["$compile","$parse","gridUtil","uiGridConstants",function(a,b,c,d){var e={priority:0,scope:!1,require:"?^uiGrid",compile:function(){return{pre:function(b,e,f,g){function h(){var a=b.col.compiledElementFn;a(b,function(a,b){e.append(a)})}if(g&&b.col.compiledElementFn)h();else if(g&&!b.col.compiledElementFn)b.col.getCompiledElementFn().then(function(a){a(b,function(a,b){e.append(a)})});else{var i=b.col.cellTemplate.replace(d.MODEL_COL_FIELD,"row.entity."+c.preEval(b.col.field)).replace(d.COL_FIELD,"grid.getCellValue(row, col)"),j=a(i)(b);e.append(j)}},post:function(a,b,c,e){var f=a.col.getColClass(!1);b.addClass(f);var g,h=function(c){var d=b;g&&(d.removeClass(g),g=null),g=angular.isFunction(a.col.cellClass)?a.col.cellClass(a.grid,a.row,a.col,a.rowRenderIndex,a.colRenderIndex):a.col.cellClass,d.addClass(g)};a.col.cellClass&&h();var i=a.grid.registerDataChangeCallback(h,[d.dataChange.COLUMN,d.dataChange.EDIT]),j=function(c,d){if(c!==d){(g||a.col.cellClass)&&h();var e=a.col.getColClass(!1);e!==f&&(b.removeClass(f),b.addClass(e),f=e)}},k=a.$watch("row",j),l=function(){i(),k()};a.$on("$destroy",l),b.on("$destroy",l)}}}};return e}]),function(){angular.module("ui.grid").service("uiGridColumnMenuService",["i18nService","uiGridConstants","gridUtil",function(a,b,c){var d={initialize:function(a,b){a.grid=b.grid,b.columnMenuScope=a,a.menuShown=!1},setColMenuItemWatch:function(a){var b=a.$watch("col.menuItems",function(b,c){"undefined"!=typeof b&&b&&angular.isArray(b)?(b.forEach(function(b){"undefined"!=typeof b.context&&b.context||(b.context={}),b.context.col=a.col}),a.menuItems=a.defaultMenuItems.concat(b)):a.menuItems=a.defaultMenuItems});a.$on("$destroy",b)},sortable:function(a){return a.grid.options.enableSorting&&"undefined"!=typeof a.col&&a.col&&a.col.enableSorting?!0:!1},isActiveSort:function(a,b){return"undefined"!=typeof a.col&&"undefined"!=typeof a.col.sort&&"undefined"!=typeof a.col.sort.direction&&a.col.sort.direction===b},suppressRemoveSort:function(a){return a.col&&a.col.suppressRemoveSort?!0:!1},hideable:function(a){return"undefined"!=typeof a.col&&a.col&&a.col.colDef&&a.col.colDef.enableHiding===!1?!1:!0},getDefaultMenuItems:function(c){return[{title:a.getSafeText("sort.ascending"),icon:"ui-grid-icon-sort-alt-up",action:function(a){a.stopPropagation(),c.sortColumn(a,b.ASC)},shown:function(){return d.sortable(c)},active:function(){return d.isActiveSort(c,b.ASC)}},{title:a.getSafeText("sort.descending"),icon:"ui-grid-icon-sort-alt-down",action:function(a){a.stopPropagation(),c.sortColumn(a,b.DESC)},shown:function(){return d.sortable(c)},active:function(){return d.isActiveSort(c,b.DESC)}},{title:a.getSafeText("sort.remove"),icon:"ui-grid-icon-cancel",action:function(a){a.stopPropagation(),c.unsortColumn()},shown:function(){return d.sortable(c)&&"undefined"!=typeof c.col&&"undefined"!=typeof c.col.sort&&"undefined"!=typeof c.col.sort.direction&&null!==c.col.sort.direction&&!d.suppressRemoveSort(c)}},{title:a.getSafeText("column.hide"),icon:"ui-grid-icon-cancel",shown:function(){return d.hideable(c)},action:function(a){a.stopPropagation(),c.hideColumn()}},{title:a.getSafeText("columnMenu.close"),screenReaderOnly:!0,shown:function(){return!0},action:function(a){a.stopPropagation()}}]},getColumnElementPosition:function(a,b,d){var e={};return e.left=d[0].offsetLeft,e.top=d[0].offsetTop,e.parentLeft=d[0].offsetParent.offsetLeft,e.offset=0,b.grid.options.offsetLeft&&(e.offset=b.grid.options.offsetLeft),e.height=c.elementHeight(d,!0),e.width=c.elementWidth(d,!0),e},repositionMenu:function(a,b,d,e,f){var g=e[0].querySelectorAll(".ui-grid-menu"),h=b.renderContainer?b.renderContainer:"body",i=(b.grid.renderContainers[h],c.closestElm(f,".ui-grid-render-container")),j=i.getBoundingClientRect().left-a.grid.element[0].getBoundingClientRect().left,k=i.querySelectorAll(".ui-grid-viewport")[0].scrollLeft,l=b.lastMenuWidth?b.lastMenuWidth:a.lastMenuWidth?a.lastMenuWidth:170,m=b.lastMenuPaddingRight?b.lastMenuPaddingRight:a.lastMenuPaddingRight?a.lastMenuPaddingRight:10;if(0!==g.length){var n=g[0].querySelectorAll(".ui-grid-menu-mid");0===n.length||angular.element(n).hasClass("ng-hide")||(l=c.elementWidth(g,!0),a.lastMenuWidth=l,b.lastMenuWidth=l,m=parseInt(c.getStyles(angular.element(g)[0]).paddingRight,10),a.lastMenuPaddingRight=m,b.lastMenuPaddingRight=m)}var o=d.left+j-k+d.parentLeft+d.width-l+m;o<d.offset&&(o=d.offset),e.css("left",o+"px"),e.css("top",d.top+d.height+"px")}};return d}]).directive("uiGridColumnMenu",["$timeout","gridUtil","uiGridConstants","uiGridColumnMenuService","$document",function(a,b,c,d,e){var f={priority:0,scope:!0,require:"^uiGrid",templateUrl:"ui-grid/uiGridColumnMenu",replace:!0,link:function(f,g,h,i){var j=this;d.initialize(f,i),f.defaultMenuItems=d.getDefaultMenuItems(f),f.menuItems=f.defaultMenuItems,d.setColMenuItemWatch(f),f.showMenu=function(a,b,c){f.col=a;var e=d.getColumnElementPosition(f,a,b);f.menuShown?(f.colElement=b,f.colElementPosition=e,f.hideThenShow=!0,f.$broadcast("hide-menu",{originalEvent:c})):(j.shown=f.menuShown=!0,d.repositionMenu(f,a,e,g,b),f.colElement=b,f.colElementPosition=e,f.$broadcast("show-menu",{originalEvent:c}))},f.hideMenu=function(a){f.menuShown=!1,a||f.$broadcast("hide-menu")},f.$on("menu-hidden",function(){f.hideThenShow?(delete f.hideThenShow,d.repositionMenu(f,f.col,f.colElementPosition,g,f.colElement),f.$broadcast("show-menu"),f.menuShown=!0):(f.hideMenu(!0),f.col&&b.focus.bySelector(e,".ui-grid-header-cell."+f.col.getColClass()+" .ui-grid-column-menu-button",f.col.grid,!1))}),f.$on("menu-shown",function(){a(function(){d.repositionMenu(f,f.col,f.colElementPosition,g,f.colElement),delete f.colElementPosition,delete f.columnElement},200)}),f.sortColumn=function(a,b){a.stopPropagation(),f.grid.sortColumn(f.col,b,!0).then(function(){f.grid.refresh(),f.hideMenu()})},f.unsortColumn=function(){f.col.unsort(),f.grid.refresh(),f.hideMenu()};var k=function(){a(function(){var a,c=function(){return b.focus.byId("grid-menu",f.grid)};f.grid.columns.some(function(b,c){return angular.equals(b,f.col)?(a=c,!0):void 0});var d;if(f.grid.columns.some(function(b,c){if(!b.visible)return!1;if(a>c)d=b;else{if(c>a&&!d)return d=b,!0;if(c>a&&d)return!0}}),d){var g=d.getColClass();b.focus.bySelector(e,".ui-grid-header-cell."+g+" .ui-grid-header-cell-primary-focus",!0).then(angular.noop,function(a){return"canceled"!==a?c():void 0})}else c()})};f.hideColumn=function(){f.col.colDef.visible=!1,f.col.visible=!1,f.grid.queueGridRefresh(),f.hideMenu(),f.grid.api.core.notifyDataChange(c.dataChange.COLUMN),f.grid.api.core.raise.columnVisibilityChanged(f.col),k()}},controller:["$scope",function(a){var b=this;a.$watch("menuItems",function(a,c){b.menuItems=a})}]};return f}])}(),function(){"use strict";angular.module("ui.grid").directive("uiGridFilter",["$compile","$templateCache","i18nService","gridUtil",function(a,b,c,d){return{compile:function(){return{pre:function(b,c,d,e){b.col.updateFilters=function(d){if(c.children().remove(),d){var e=b.col.filterHeaderTemplate;c.append(a(e)(b))}},b.$on("$destroy",function(){delete b.col.updateFilters})},post:function(a,b,e,f){a.aria=c.getSafeText("headerCell.aria"),a.removeFilter=function(a,c){a.term=null,d.focus.bySelector(b,".ui-grid-filter-input-"+c)}}}}}}])}(),function(){"use strict";angular.module("ui.grid").directive("uiGridFooterCell",["$timeout","gridUtil","uiGridConstants","$compile",function(a,b,c,d){var e={priority:0,scope:{col:"=",row:"=",renderIndex:"="},replace:!0,require:"^uiGrid",compile:function(a,b,e){return{pre:function(a,b,c,e){var f=d(a.col.footerCellTemplate)(a);b.append(f)},post:function(a,b,d,e){a.grid=e.grid;var f=a.col.getColClass(!1);b.addClass(f);var g,h=function(c){var d=b;g&&(d.removeClass(g),g=null),g=angular.isFunction(a.col.footerCellClass)?a.col.footerCellClass(a.grid,a.row,a.col,a.rowRenderIndex,a.colRenderIndex):a.col.footerCellClass,d.addClass(g)};a.col.footerCellClass&&h(),a.col.updateAggregationValue();var i=a.grid.registerDataChangeCallback(h,[c.dataChange.COLUMN]);a.grid.api.core.on.rowsRendered(a,a.col.updateAggregationValue),a.grid.api.core.on.rowsRendered(a,h),a.$on("$destroy",i)}}}};return e}])}(),function(){"use strict";angular.module("ui.grid").directive("uiGridFooter",["$templateCache","$compile","uiGridConstants","gridUtil","$timeout",function(a,b,c,d,e){return{restrict:"EA",replace:!0,require:["^uiGrid","^uiGridRenderContainer"],scope:!0,compile:function(a,c){return{pre:function(a,c,e,f){var g=f[0],h=f[1];a.grid=g.grid,a.colContainer=h.colContainer,h.footer=c;var i=a.grid.options.footerTemplate;d.getTemplate(i).then(function(d){var e=angular.element(d),f=b(e)(a);if(c.append(f),h){var g=c[0].getElementsByClassName("ui-grid-footer-viewport")[0];g&&(h.footerViewport=g)}})},post:function(a,b,c,e){var f=e[0],g=e[1];f.grid;d.disableAnimations(b),g.footer=b;var h=b[0].getElementsByClassName("ui-grid-footer-viewport")[0];h&&(g.footerViewport=h)}}}}}])}(),function(){"use strict";angular.module("ui.grid").directive("uiGridGridFooter",["$templateCache","$compile","uiGridConstants","gridUtil","$timeout",function(a,b,c,d,e){return{restrict:"EA",replace:!0,require:"^uiGrid",scope:!0,compile:function(a,c){return{pre:function(a,c,e,f){a.grid=f.grid;var g=a.grid.options.gridFooterTemplate;d.getTemplate(g).then(function(d){var e=angular.element(d),f=b(e)(a);c.append(f)})},post:function(a,b,c,d){}}}}}])}(),function(){"use strict";angular.module("ui.grid").directive("uiGridGroupPanel",["$compile","uiGridConstants","gridUtil",function(a,b,c){var d="ui-grid/ui-grid-group-panel";return{restrict:"EA",replace:!0,require:"?^uiGrid",scope:!1,compile:function(b,e){return{pre:function(b,e,f,g){var h=b.grid.options.groupPanelTemplate||d;c.getTemplate(h).then(function(c){var d=angular.element(c),f=a(d)(b);e.append(f)})},post:function(a,b,c,d){b.bind("$destroy",function(){})}}}}}])}(),function(){"use strict";angular.module("ui.grid").directive("uiGridHeaderCell",["$compile","$timeout","$window","$document","gridUtil","uiGridConstants","ScrollEvent","i18nService",function(a,b,c,d,e,f,g,h){var i=500,j=500,k={priority:0,scope:{col:"=",row:"=",renderIndex:"="},require:["^uiGrid","^uiGridRenderContainer"],replace:!0,compile:function(){return{pre:function(b,c,d){var e=a(b.col.headerCellTemplate)(b);c.append(e)},post:function(a,c,e,g){var k=g[0],l=g[1];a.i18n={headerCell:h.getSafeText("headerCell"),sort:h.getSafeText("sort")},a.getSortDirectionAriaLabel=function(){var b=a.col,c=b.sort.direction===f.ASC?a.i18n.sort.ascending:b.sort.direction===f.DESC?a.i18n.sort.descending:a.i18n.sort.none,d=c;return b.sort.priority&&(d=d+". "+a.i18n.headerCell.priority+" "+b.sort.priority),d},a.grid=k.grid,a.renderContainer=k.grid.renderContainers[l.containerId];var m=a.col.getColClass(!1);c.addClass(m),a.menuShown=!1,a.asc=f.ASC,a.desc=f.DESC;var n,o,p=(angular.element(c[0].querySelectorAll(".ui-grid-header-cell-menu")),angular.element(c[0].querySelectorAll(".ui-grid-cell-contents"))),q=[];a.downFn=function(e){e.stopPropagation(),"undefined"!=typeof e.originalEvent&&void 0!==e.originalEvent&&(e=e.originalEvent),e.button&&0!==e.button||(o=e.pageX,a.mousedownStartTime=(new Date).getTime(),a.mousedownTimeout=b(function(){},i),a.mousedownTimeout.then(function(){a.colMenu&&k.columnMenuScope.showMenu(a.col,c,e)}),k.fireEvent(f.events.COLUMN_HEADER_CLICK,{event:e,columnName:a.col.colDef.name}),a.offAllEvents(),"touchstart"===e.type?(d.on("touchend",a.upFn),d.on("touchmove",a.moveFn)):"mousedown"===e.type&&(d.on("mouseup",a.upFn),d.on("mousemove",a.moveFn)))},a.upFn=function(c){c.stopPropagation(),b.cancel(a.mousedownTimeout),a.offAllEvents(),a.onDownEvents(c.type);var d=(new Date).getTime(),e=d-a.mousedownStartTime;e>i||a.sortable&&a.handleClick(c)},a.moveFn=function(c){var d=c.pageX-o;0!==d&&(b.cancel(a.mousedownTimeout),a.offAllEvents(),a.onDownEvents(c.type))},a.clickFn=function(b){b.stopPropagation(),p.off("click",a.clickFn)},a.offAllEvents=function(){p.off("touchstart",a.downFn),p.off("mousedown",a.downFn),d.off("touchend",a.upFn),d.off("mouseup",a.upFn),d.off("touchmove",a.moveFn),d.off("mousemove",a.moveFn),p.off("click",a.clickFn)},a.onDownEvents=function(c){switch(c){case"touchmove":case"touchend":p.on("click",a.clickFn),p.on("touchstart",a.downFn),b(function(){p.on("mousedown",a.downFn)},j);break;case"mousemove":case"mouseup":p.on("click",a.clickFn),p.on("mousedown",a.downFn),b(function(){p.on("touchstart",a.downFn)},j);break;default:p.on("click",a.clickFn),p.on("touchstart",a.downFn),p.on("mousedown",a.downFn)}};var r=function(b){var d=c;n&&(d.removeClass(n),n=null),n=angular.isFunction(a.col.headerCellClass)?a.col.headerCellClass(a.grid,a.row,a.col,a.rowRenderIndex,a.colRenderIndex):a.col.headerCellClass,d.addClass(n);var e=a.grid.renderContainers.right?a.grid.renderContainers.right:a.grid.renderContainers.body;a.isLastCol=a.col===e.visibleColumnCache[e.visibleColumnCache.length-1],k.grid.options.enableSorting&&a.col.enableSorting?a.sortable=!0:a.sortable=!1;var g=a.filterable;k.grid.options.enableFiltering&&a.col.enableFiltering?a.filterable=!0:a.filterable=!1,g!==a.filterable&&("undefined"!=typeof a.col.updateFilters&&a.col.updateFilters(a.filterable),a.filterable?(a.col.filters.forEach(function(b,c){q.push(a.$watch("col.filters["+c+"].term",function(a,b){a!==b&&(k.grid.api.core.raise.filterChanged(),k.grid.api.core.notifyDataChange(f.dataChange.COLUMN),k.grid.queueGridRefresh())}))}),a.$on("$destroy",function(){q.forEach(function(a){a()})})):q.forEach(function(a){a()})),a.col.grid.options&&a.col.grid.options.enableColumnMenus!==!1&&a.col.colDef&&a.col.colDef.enableColumnMenu!==!1?a.colMenu=!0:a.colMenu=!1,a.offAllEvents(),(a.sortable||a.colMenu)&&(a.onDownEvents(),a.$on("$destroy",function(){a.offAllEvents()}))};r();var s=a.grid.registerDataChangeCallback(r,[f.dataChange.COLUMN]);a.$on("$destroy",s),a.handleClick=function(b){var c=!1;b.shiftKey&&(c=!0),k.grid.sortColumn(a.col,c).then(function(){k.columnMenuScope&&k.columnMenuScope.hideMenu(),k.grid.refresh()})},a.toggleMenu=function(b){b.stopPropagation(),k.columnMenuScope.menuShown&&k.columnMenuScope.col===a.col?k.columnMenuScope.hideMenu():k.columnMenuScope.showMenu(a.col,c)}}}}};return k}])}(),function(){"use strict";angular.module("ui.grid").directive("uiGridHeader",["$templateCache","$compile","uiGridConstants","gridUtil","$timeout","ScrollEvent",function(a,b,c,d,e,f){var g="ui-grid/ui-grid-header",h="ui-grid/ui-grid-no-header";return{restrict:"EA",replace:!0,require:["^uiGrid","^uiGridRenderContainer"],scope:!0,compile:function(a,c){return{pre:function(a,c,e,i){function j(){m.header=m.colContainer.header=c;var a=c[0].getElementsByClassName("ui-grid-header-canvas");a.length>0?m.headerCanvas=m.colContainer.headerCanvas=a[0]:m.headerCanvas=null}function k(a){if(!l.grid.isScrollingHorizontally){var b=d.normalizeScrollLeft(m.headerViewport,l.grid),c=m.colContainer.scrollHorizontal(b),e=new f(l.grid,null,m.colContainer,f.Sources.ViewPortScroll);e.newScrollLeft=b,c>-1&&(e.x={percentage:c}),l.grid.scrollContainers(null,e)}}var l=i[0],m=i[1];a.grid=l.grid,a.colContainer=m.colContainer,j();var n;n=a.grid.options.showHeader?a.grid.options.headerTemplate?a.grid.options.headerTemplate:g:h,d.getTemplate(n).then(function(d){var e=angular.element(d),f=b(e)(a);if(c.replaceWith(f),c=f,j(),m){var g=c[0].getElementsByClassName("ui-grid-header-viewport")[0];g&&(m.headerViewport=g,angular.element(g).on("scroll",k),a.$on("$destroy",function(){angular.element(g).off("scroll",k)}))}a.grid.queueRefresh()})},post:function(a,b,c,e){function f(){var a=h.colContainer.visibleColumnCache,b="",c=0;return a.forEach(function(a){b+=a.getColClassDefinition(),c+=a.drawnWidth}),h.colContainer.canvasWidth=c,b}var g=e[0],h=e[1];g.grid;d.disableAnimations(b),h.header=b;var i=b[0].getElementsByClassName("ui-grid-header-viewport")[0];i&&(h.headerViewport=i),g&&g.grid.registerStyleComputation({priority:15,func:f})}}}}}])}(),function(){angular.module("ui.grid").service("uiGridGridMenuService",["gridUtil","i18nService","uiGridConstants",function(a,b,c){var d={initialize:function(a,b){b.gridMenuScope=a,a.grid=b,a.registeredMenuItems=[],a.$on("$destroy",function(){a.grid&&a.grid.gridMenuScope&&(a.grid.gridMenuScope=null),a.grid&&(a.grid=null),a.registeredMenuItems&&(a.registeredMenuItems=null)}),a.registeredMenuItems=[],b.api.registerMethod("core","addToGridMenu",d.addToGridMenu),b.api.registerMethod("core","removeFromGridMenu",d.removeFromGridMenu)},addToGridMenu:function(b,c){angular.isArray(c)?b.gridMenuScope?(b.gridMenuScope.registeredMenuItems=b.gridMenuScope.registeredMenuItems?b.gridMenuScope.registeredMenuItems:[],b.gridMenuScope.registeredMenuItems=b.gridMenuScope.registeredMenuItems.concat(c)):a.logError("Asked to addToGridMenu, but gridMenuScope not present.  Timing issue?  Please log issue with ui-grid"):a.logError("addToGridMenu: menuItems must be an array, and is not, not adding any items")},removeFromGridMenu:function(b,c){var d=-1;b&&b.gridMenuScope&&b.gridMenuScope.registeredMenuItems.forEach(function(b,e){b.id===c&&(d>-1?a.logError("removeFromGridMenu: found multiple items with the same id, removing only the last"):d=e)}),d>-1&&b.gridMenuScope.registeredMenuItems.splice(d,1)},getMenuItems:function(c){var e=[];c.grid.options.gridMenuCustomItems&&(angular.isArray(c.grid.options.gridMenuCustomItems)?e=e.concat(c.grid.options.gridMenuCustomItems):a.logError("gridOptions.gridMenuCustomItems must be an array, and is not"));var f=[{title:b.getSafeText("gridMenu.clearAllFilters"),action:function(a){c.grid.clearAllFilters(void 0,!0,void 0)},shown:function(){return c.grid.options.enableFiltering},order:100}];return e=e.concat(f),e=e.concat(c.registeredMenuItems),c.grid.options.gridMenuShowHideColumns!==!1&&(e=e.concat(d.showHideColumns(c))),e.sort(function(a,b){return a.order-b.order}),e},showHideColumns:function(a){var c=[];return a.grid.options.columnDefs&&0!==a.grid.options.columnDefs.length&&0!==a.grid.columns.length?(c.push({title:b.getSafeText("gridMenu.columns"),order:300}),a.grid.options.gridMenuTitleFilter=a.grid.options.gridMenuTitleFilter?a.grid.options.gridMenuTitleFilter:function(a){return a},a.grid.options.columnDefs.forEach(function(b,e){if(b.enableHiding!==!1){var f={icon:"ui-grid-icon-ok",action:function(a){a.stopPropagation(),d.toggleColumnVisibility(this.context.gridCol)},shown:function(){return this.context.gridCol.colDef.visible===!0||void 0===this.context.gridCol.colDef.visible},context:{gridCol:a.grid.getColumn(b.name||b.field)},leaveOpen:!0,order:301+2*e};d.setMenuItemTitle(f,b,a.grid),c.push(f),f={icon:"ui-grid-icon-cancel",action:function(a){a.stopPropagation(),d.toggleColumnVisibility(this.context.gridCol)},shown:function(){return!(this.context.gridCol.colDef.visible===!0||void 0===this.context.gridCol.colDef.visible)},context:{gridCol:a.grid.getColumn(b.name||b.field)},leaveOpen:!0,order:301+2*e+1},d.setMenuItemTitle(f,b,a.grid),c.push(f)}}),c):c},setMenuItemTitle:function(b,c,d){var e=d.options.gridMenuTitleFilter(c.displayName||a.readableColumnName(c.name)||c.field);"string"==typeof e?b.title=e:e.then?(b.title="",e.then(function(a){b.title=a},function(a){b.title=a})):(a.logError("Expected gridMenuTitleFilter to return a string or a promise, it has returned neither, bad config"),b.title="badconfig")},toggleColumnVisibility:function(a){a.colDef.visible=!(a.colDef.visible===!0||void 0===a.colDef.visible),a.grid.refresh(),a.grid.api.core.notifyDataChange(c.dataChange.COLUMN),a.grid.api.core.raise.columnVisibilityChanged(a)}};return d}]).directive("uiGridMenuButton",["gridUtil","uiGridConstants","uiGridGridMenuService","i18nService",function(a,b,c,d){return{priority:0,scope:!0,require:["^uiGrid"],templateUrl:"ui-grid/ui-grid-menu-button",replace:!0,link:function(b,e,f,g){var h=g[0];b.i18n={aria:d.getSafeText("gridMenu.aria")},c.initialize(b,h.grid),b.shown=!1,b.toggleMenu=function(){b.shown?(b.$broadcast("hide-menu"),b.shown=!1):(b.menuItems=c.getMenuItems(b),b.$broadcast("show-menu"),b.shown=!0)},b.$on("menu-hidden",function(){b.shown=!1,a.focus.bySelector(e,".ui-grid-icon-container")})}}}])}(),function(){angular.module("ui.grid").directive("uiGridMenu",["$compile","$timeout","$window","$document","gridUtil","uiGridConstants","i18nService",function(a,b,c,d,e,f,g){var h={priority:0,scope:{menuItems:"=",autoHide:"=?"},require:"?^uiGrid",templateUrl:"ui-grid/uiGridMenu",replace:!1,link:function(a,d,h,i){var j=this;a.i18n={close:g.getSafeText("columnMenu.close")},j.showMenu=a.showMenu=function(c,f){a.shown?a.shownMid||(a.shownMid=!0,a.$emit("menu-shown")):(a.shown=!0,b(function(){a.shownMid=!0,a.$emit("menu-shown")}));var g="click";f&&f.originalEvent&&f.originalEvent.type&&"touchstart"===f.originalEvent.type&&(g=f.originalEvent.type),angular.element(document).off("click touchstart",k),b(function(){angular.element(document).on(g,k)}),e.focus.bySelector(d,"button[type=button]",!0)},j.hideMenu=a.hideMenu=function(c,d){a.shown&&(a.shownMid=!1,b(function(){a.shownMid||(a.shown=!1,a.$emit("menu-hidden"))},200)),angular.element(document).off("click touchstart",k)},a.$on("hide-menu",function(b,c){a.hideMenu(b,c)}),a.$on("show-menu",function(b,c){a.showMenu(b,c)});var k=function(){a.shown&&a.$apply(function(){a.hideMenu()})};("undefined"==typeof a.autoHide||void 0===a.autoHide)&&(a.autoHide=!0),a.autoHide&&angular.element(c).on("resize",k),a.$on("$destroy",function(){angular.element(document).off("click touchstart",k)}),a.$on("$destroy",function(){angular.element(c).off("resize",k)}),i&&a.$on("$destroy",i.grid.api.core.on.scrollBegin(a,k)),a.$on("$destroy",a.$on(f.events.ITEM_DRAGGING,k))},controller:["$scope","$element","$attrs",function(a,b,c){}]};return h}]).directive("uiGridMenuItem",["gridUtil","$compile","i18nService",function(a,b,c){var d={priority:0,scope:{name:"=",active:"=",action:"=",icon:"=",shown:"=",context:"=",templateUrl:"=",leaveOpen:"=",screenReaderOnly:"="
-},require:["?^uiGrid","^uiGridMenu"],templateUrl:"ui-grid/uiGridMenuItem",replace:!1,compile:function(d,e){return{pre:function(c,d,e,f){f[0],f[1];c.templateUrl&&a.getTemplate(c.templateUrl).then(function(a){var e=angular.element(a),f=b(e)(c);d.replaceWith(f)})},post:function(b,d,e,f){var g=f[0];f[1];("undefined"==typeof b.shown||null===b.shown)&&(b.shown=function(){return!0}),b.itemShown=function(){var a={};return b.context&&(a.context=b.context),"undefined"!=typeof g&&g&&(a.grid=g.grid),b.shown.call(a)},b.itemAction=function(c,e){if(a.logDebug("itemAction"),c.stopPropagation(),"function"==typeof b.action){var f={};b.context&&(f.context=b.context),"undefined"!=typeof g&&g&&(f.grid=g.grid),b.action.call(f,c,e),b.leaveOpen?a.focus.bySelector(angular.element(a.closestElm(d,".ui-grid-menu-items")),"button[type=button]",!0):b.$emit("hide-menu")}},b.i18n=c.get()}}}};return d}])}(),function(){"use strict";var a=angular.module("ui.grid");angular.forEach([{tag:"Src",method:"attr"},{tag:"Text",method:"text"},{tag:"Href",method:"attr"},{tag:"Class",method:"addClass"},{tag:"Html",method:"html"},{tag:"Alt",method:"attr"},{tag:"Style",method:"css"},{tag:"Value",method:"attr"},{tag:"Id",method:"attr"},{tag:"Id",directiveName:"IdGrid",method:"attr",appendGridId:!0},{tag:"Title",method:"attr"},{tag:"Label",method:"attr",aria:!0},{tag:"Labelledby",method:"attr",aria:!0},{tag:"Labelledby",directiveName:"LabelledbyGrid",appendGridId:!0,method:"attr",aria:!0},{tag:"Describedby",method:"attr",aria:!0},{tag:"Describedby",directiveName:"DescribedbyGrid",appendGridId:!0,method:"attr",aria:!0}],function(b){var c="uiGridOneBind",d=(b.aria?c+"Aria":c)+(b.directiveName?b.directiveName:b.tag);a.directive(d,["gridUtil",function(a){return{restrict:"A",require:["?uiGrid","?^uiGrid"],link:function(c,e,f,g){var h=function(b){var e;if(c.grid)e=c.grid;else if(c.col&&c.col.grid)e=c.col.grid;else if(!g.some(function(a){return a&&a.grid?(e=a.grid,!0):void 0}))throw a.logError("["+d+"] A valid grid could not be found to bind id. Are you using this directive within the correct scope? Trying to generate id: [gridID]-"+b),new Error("No valid grid could be found");if(e){var f=new RegExp(e.id.toString());f.test(b)||(b=e.id.toString()+"-"+b)}return b},i=c.$watch(f[d],function(a){if(a){if(b.appendGridId){var c=null;angular.forEach(a.split(" "),function(a){c=(c?c+" ":"")+h(a)}),a=c}switch(b.method){case"attr":b.aria?e[b.method]("aria-"+b.tag.toLowerCase(),a):e[b.method](b.tag.toLowerCase(),a);break;case"addClass":if(angular.isObject(a)&&!angular.isArray(a)){var d=[],f=!1;if(angular.forEach(a,function(a,b){null!==a&&"undefined"!=typeof a&&(f=!0,a&&d.push(b))}),!f)return;a=d}if(!a)return;e.addClass(angular.isArray(a)?a.join(" "):a);break;default:e[b.method](a)}i()}},!0)}}}])})}(),function(){"use strict";var a=angular.module("ui.grid");a.directive("uiGridRenderContainer",["$timeout","$document","uiGridConstants","gridUtil","ScrollEvent",function(a,b,c,d,e){return{replace:!0,transclude:!0,templateUrl:"ui-grid/uiGridRenderContainer",require:["^uiGrid","uiGridRenderContainer"],scope:{containerId:"=",rowContainerName:"=",colContainerName:"=",bindScrollHorizontal:"=",bindScrollVertical:"=",enableVerticalScrollbar:"=",enableHorizontalScrollbar:"="},controller:"uiGridRenderContainer as RenderContainer",compile:function(){return{pre:function(a,b,c,d){var e=d[0],f=d[1],g=a.grid=e.grid;if(!a.rowContainerName)throw"No row render container name specified";if(!a.colContainerName)throw"No column render container name specified";if(!g.renderContainers[a.rowContainerName])throw"Row render container '"+a.rowContainerName+"' is not registered.";if(!g.renderContainers[a.colContainerName])throw"Column render container '"+a.colContainerName+"' is not registered.";var h=a.rowContainer=g.renderContainers[a.rowContainerName],i=a.colContainer=g.renderContainers[a.colContainerName];f.containerId=a.containerId,f.rowContainer=h,f.colContainer=i},post:function(a,b,c,f){function g(){var b="",c=l.canvasWidth,d=l.getViewportWidth(),e=k.getCanvasHeight(),f=k.getViewportHeight();l.needsHScrollbarPlaceholder()&&(f-=j.scrollbarHeight);var g,i;return g=i=l.getHeaderViewportWidth(),b+="\n .grid"+h.grid.id+" .ui-grid-render-container-"+a.containerId+" .ui-grid-canvas { width: "+c+"px; height: "+e+"px; }",b+="\n .grid"+h.grid.id+" .ui-grid-render-container-"+a.containerId+" .ui-grid-header-canvas { width: "+(c+j.scrollbarWidth)+"px; }",b+=o.explicitHeaderCanvasHeight?"\n .grid"+h.grid.id+" .ui-grid-render-container-"+a.containerId+" .ui-grid-header-canvas { height: "+o.explicitHeaderCanvasHeight+"px; }":"\n .grid"+h.grid.id+" .ui-grid-render-container-"+a.containerId+" .ui-grid-header-canvas { height: inherit; }",b+="\n .grid"+h.grid.id+" .ui-grid-render-container-"+a.containerId+" .ui-grid-viewport { width: "+d+"px; height: "+f+"px; }",b+="\n .grid"+h.grid.id+" .ui-grid-render-container-"+a.containerId+" .ui-grid-header-viewport { width: "+g+"px; }",b+="\n .grid"+h.grid.id+" .ui-grid-render-container-"+a.containerId+" .ui-grid-footer-canvas { width: "+(c+j.scrollbarWidth)+"px; }",b+="\n .grid"+h.grid.id+" .ui-grid-render-container-"+a.containerId+" .ui-grid-footer-viewport { width: "+i+"px; }"}var h=f[0],i=f[1],j=h.grid,k=i.rowContainer,l=i.colContainer,m=null,n=null,o=j.renderContainers[a.containerId];b.addClass("ui-grid-render-container-"+a.containerId),d.on.mousewheel(b,function(a){var b=new e(j,k,l,e.Sources.RenderContainerMouseWheel);if(0!==a.deltaY){var c=-1*a.deltaY*a.deltaFactor;m=i.viewport[0].scrollTop,b.verticalScrollLength=k.getVerticalScrollLength();var f=(m+c)/b.verticalScrollLength;f>=1&&m<b.verticalScrollLength&&(i.viewport[0].scrollTop=b.verticalScrollLength),0>f?f=0:f>1&&(f=1),b.y={percentage:f,pixels:c}}if(0!==a.deltaX){var g=a.deltaX*a.deltaFactor;n=d.normalizeScrollLeft(i.viewport,j),b.horizontalScrollLength=l.getCanvasWidth()-l.getViewportWidth();var h=(n+g)/b.horizontalScrollLength;0>h?h=0:h>1&&(h=1),b.x={percentage:h,pixels:g}}0!==a.deltaY&&(b.atTop(m)||b.atBottom(m))||0!==a.deltaX&&(b.atLeft(n)||b.atRight(n))||(a.preventDefault(),a.stopPropagation(),b.fireThrottledScrollingEvent("",b))}),b.bind("$destroy",function(){b.unbind("keydown"),["touchstart","touchmove","touchend","keydown","wheel","mousewheel","DomMouseScroll","MozMousePixelScroll"].forEach(function(a){b.unbind(a)})}),h.grid.registerStyleComputation({priority:6,func:g})}}}}}]),a.controller("uiGridRenderContainer",["$scope","gridUtil",function(a,b){}])}(),function(){"use strict";angular.module("ui.grid").directive("uiGridRow",["gridUtil",function(a){return{replace:!0,require:["^uiGrid","^uiGridRenderContainer"],scope:{row:"=uiGridRow",rowRenderIndex:"="},compile:function(){return{pre:function(a,b,c,d){function e(){a.row.getRowTemplateFn.then(function(c){var d=a.$new();c(d,function(a,c){h&&(h.remove(),i.$destroy()),b.empty().append(a),h=a,i=d})})}var f=d[0],g=d[1];f.grid;a.grid=f.grid,a.colContainer=g.colContainer;var h,i;e(),a.$watch("row.getRowTemplateFn",function(a,b){a!==b&&e()})},post:function(a,b,c,d){}}}}}])}(),function(){angular.module("ui.grid").directive("uiGridStyle",["gridUtil","$interpolate",function(a,b){return{link:function(a,c,d,e){var f=b(c.text(),!0);f&&a.$watch(f,function(a){c.text(a)})}}}])}(),function(){"use strict";angular.module("ui.grid").directive("uiGridViewport",["gridUtil","ScrollEvent","uiGridConstants","$log",function(a,b,c,d){return{replace:!0,scope:{},controllerAs:"Viewport",templateUrl:"ui-grid/uiGridViewport",require:["^uiGrid","^uiGridRenderContainer"],link:function(c,d,e,f){function g(e){var f=d[0].scrollTop,g=a.normalizeScrollLeft(d,p),h=n.scrollVertical(f),i=o.scrollHorizontal(g),j=new b(p,n,o,b.Sources.ViewPortScroll);j.newScrollLeft=g,j.newScrollTop=f,i>-1&&(j.x={percentage:i}),h>-1&&(j.y={percentage:h}),p.scrollContainers(c.$parent.containerId,j)}function h(a){m.prevScrollArgs=a;var b=a.getNewScrollTop(n,m.viewport);d[0].scrollTop=b}function i(b){m.prevScrollArgs=b;var c=b.getNewScrollLeft(o,m.viewport);d[0].scrollLeft=a.denormalizeScrollLeft(m.viewport,c,p)}function j(b){var c=b.getNewScrollLeft(o,m.viewport);m.headerViewport&&(m.headerViewport.scrollLeft=a.denormalizeScrollLeft(m.viewport,c,p))}function k(b){var c=b.getNewScrollLeft(o,m.viewport);m.footerViewport&&(m.footerViewport.scrollLeft=a.denormalizeScrollLeft(m.viewport,c,p))}var l=f[0],m=f[1];c.containerCtrl=m;var n=m.rowContainer,o=m.colContainer,p=l.grid;c.grid=l.grid,c.rowContainer=m.rowContainer,c.colContainer=m.colContainer,m.viewport=d,d.on("scroll",g);c.$parent.bindScrollVertical&&p.addVerticalScrollSync(c.$parent.containerId,h),c.$parent.bindScrollHorizontal&&(p.addHorizontalScrollSync(c.$parent.containerId,i),p.addHorizontalScrollSync(c.$parent.containerId+"header",j),p.addHorizontalScrollSync(c.$parent.containerId+"footer",k))},controller:["$scope",function(a){this.rowStyle=function(b){var c=a.rowContainer,d=a.colContainer,e={};if(0===b&&0!==c.currentTopRow){var f=c.currentTopRow*c.grid.options.rowHeight;e["margin-top"]=f+"px"}return 0!==d.currentFirstColumn&&(d.grid.isRTL()?e["margin-right"]=d.columnOffset+"px":e["margin-left"]=d.columnOffset+"px"),e}}]}}])}(),function(){angular.module("ui.grid").directive("uiGridVisible",function(){return function(a,b,c){a.$watch(c.uiGridVisible,function(a){b[a?"removeClass":"addClass"]("ui-grid-invisible")})}})}(),function(){"use strict";function a(a,b,c,d,e,f){return{templateUrl:"ui-grid/ui-grid",scope:{uiGrid:"="},replace:!0,transclude:!0,controller:"uiGridController",compile:function(){return{post:function(a,b,g,h){function i(){b[0].offsetWidth<=0&&p>q?(setTimeout(i,o),q++):c(k)}function j(){angular.element(d).on("resize",m),b.on("$destroy",function(){angular.element(d).off("resize",m)}),a.$watch(function(){return n.hasLeftContainer()},function(a,b){a!==b&&n.refreshCanvas(!0)}),a.$watch(function(){return n.hasRightContainer()},function(a,b){a!==b&&n.refreshCanvas(!0)})}function k(){n.gridWidth=a.gridWidth=e.elementWidth(b),n.canvasWidth=h.grid.gridWidth,n.gridHeight=a.gridHeight=e.elementHeight(b),n.gridHeight<n.options.rowHeight&&n.options.enableMinHeightCheck&&l(),n.refreshCanvas(!0)}function l(){var c=n.options.minRowsToShow*n.options.rowHeight,d=n.options.showHeader?n.options.headerRowHeight:0,g=n.calcFooterHeight(),h=0;n.options.enableHorizontalScrollbar===f.scrollbars.ALWAYS&&(h=e.getScrollbarWidth());var i=0;if(angular.forEach(n.options.columnDefs,function(a){a.hasOwnProperty("filter")?1>i&&(i=1):a.hasOwnProperty("filters")&&i<a.filters.length&&(i=a.filters.length)}),n.options.enableFiltering){var j=n.options.columnDefs.every(function(a){return a.enableFiltering===!1});j||i++}var k=i*d,l=d+c+g+h+k;b.css("height",l+"px"),n.gridHeight=a.gridHeight=e.elementHeight(b)}function m(c){n.gridWidth=a.gridWidth=e.elementWidth(b),n.gridHeight=a.gridHeight=e.elementHeight(b),n.refreshCanvas(!0)}var n=h.grid;h.scrollbars=[],n.element=b;var o=100,p=20,q=0;j(),k(),n.renderingComplete(),i()}}}}}angular.module("ui.grid").controller("uiGridController",["$scope","$element","$attrs","gridUtil","$q","uiGridConstants","$templateCache","gridClassFactory","$timeout","$parse","$compile",function(a,b,c,d,e,f,g,h,i,j,k){function l(a,b){a&&a!==b&&(n.grid.options.columnDefs=a,n.grid.buildColumns({orderByColumnDefs:!0}).then(function(){n.grid.preCompileCellTemplates(),n.grid.callDataChangeCallbacks(f.dataChange.COLUMN)}))}function m(b){var d=[];if(n.grid.options.fastWatch&&(b=angular.isString(a.uiGrid.data)?n.grid.appScope[a.uiGrid.data]:a.uiGrid.data),b){var g=n.grid.columns.length>(n.grid.rowHeaderColumns?n.grid.rowHeaderColumns.length:0);!g&&!c.uiGridColumns&&0===n.grid.options.columnDefs.length&&b.length>0&&n.grid.buildColumnDefsFromData(b),!g&&(n.grid.options.columnDefs.length>0||b.length>0)&&d.push(n.grid.buildColumns().then(function(){n.grid.preCompileCellTemplates()})),e.all(d).then(function(){n.grid.modifyRows(b).then(function(){n.grid.redrawInPlace(!0),a.$evalAsync(function(){n.grid.refreshCanvas(!0),n.grid.callDataChangeCallbacks(f.dataChange.ROW)})})})}}var n=this;n.grid=h.createGrid(a.uiGrid),n.grid.appScope=n.grid.appScope||a.$parent,b.addClass("grid"+n.grid.id),n.grid.rtl="rtl"===d.getStyles(b[0]).direction,a.grid=n.grid,c.uiGridColumns&&c.$observe("uiGridColumns",function(a){n.grid.options.columnDefs=a,n.grid.buildColumns().then(function(){n.grid.preCompileCellTemplates(),n.grid.refreshCanvas(!0)})});var o=[];n.grid.options.fastWatch?(n.uiGrid=a.uiGrid,angular.isString(a.uiGrid.data)?(o.push(a.$parent.$watch(a.uiGrid.data,m)),o.push(a.$parent.$watch(function(){return n.grid.appScope[a.uiGrid.data]?n.grid.appScope[a.uiGrid.data].length:void 0},m))):(o.push(a.$parent.$watch(function(){return a.uiGrid.data},m)),o.push(a.$parent.$watch(function(){return a.uiGrid.data.length},m))),o.push(a.$parent.$watch(function(){return a.uiGrid.columnDefs},l)),o.push(a.$parent.$watch(function(){return a.uiGrid.columnDefs.length},l))):(angular.isString(a.uiGrid.data)?o.push(a.$parent.$watchCollection(a.uiGrid.data,m)):o.push(a.$parent.$watchCollection(function(){return a.uiGrid.data},m)),o.push(a.$parent.$watchCollection(function(){return a.uiGrid.columnDefs},l)));var p=a.$watch(function(){return n.grid.styleComputations},function(){n.grid.refreshCanvas(!0)});a.$on("$destroy",function(){o.forEach(function(a){a()}),p()}),n.fireEvent=function(b,c){("undefined"==typeof c||void 0===c)&&(c={}),("undefined"==typeof c.grid||void 0===c.grid)&&(c.grid=n.grid),a.$broadcast(b,c)},n.innerCompile=function(b){k(b)(a)}}]),angular.module("ui.grid").directive("uiGrid",a),a.$inject=["$compile","$templateCache","$timeout","$window","gridUtil","uiGridConstants"]}(),function(){"use strict";angular.module("ui.grid").directive("uiGridPinnedContainer",["gridUtil",function(a){return{restrict:"EA",replace:!0,template:'<div class="ui-grid-pinned-container"><div ui-grid-render-container container-id="side" row-container-name="\'body\'" col-container-name="side" bind-scroll-vertical="true" class="{{ side }} ui-grid-render-container-{{ side }}"></div></div>',scope:{side:"=uiGridPinnedContainer"},require:"^uiGrid",compile:function(){return{post:function(a,b,c,d){function e(){var a=this,b=0;a.visibleColumnCache.forEach(function(a){b+=a.drawnWidth});var c=a.getViewportAdjustment();return b+=c.width}function f(){if("left"===a.side||"right"===a.side){for(var b=h.renderContainers[a.side].visibleColumnCache,c=0,d=0;d<b.length;d++){var e=b[d];c+=e.drawnWidth||e.width||0}return c}}function g(){var c="";return("left"===a.side||"right"===a.side)&&(i=f(),b.attr("style",null),c+=".grid"+h.id+" .ui-grid-pinned-container-"+a.side+", .grid"+h.id+" .ui-grid-pinned-container-"+a.side+" .ui-grid-render-container-"+a.side+" .ui-grid-viewport { width: "+i+"px; } "),c}var h=d.grid,i=0;b.addClass("ui-grid-pinned-container-"+a.side),("left"===a.side||"right"===a.side)&&(h.renderContainers[a.side].getViewportWidth=e),h.renderContainers.body.registerViewportAdjuster(function(b){return i=f(),b.width-=i,b.side=a.side,b}),h.registerStyleComputation({priority:15,func:g})}}}}}])}(),function(){angular.module("ui.grid").factory("Grid",["$q","$compile","$parse","gridUtil","uiGridConstants","GridOptions","GridColumn","GridRow","GridApi","rowSorter","rowSearcher","GridRenderContainer","$timeout","ScrollEvent",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){function o(){}var p=function(a){function b(a){g.isScrollingVertically=!1,g.api.core.raise.scrollEnd(a),g.scrollDirection=e.scrollDirection.NONE}function c(a){g.isScrollingHorizontally=!1,g.api.core.raise.scrollEnd(a),g.scrollDirection=e.scrollDirection.NONE}var g=this;if(void 0===a||"undefined"==typeof a.id||!a.id)throw new Error("No ID provided. An ID must be given when creating a grid.");if(!/^[_a-zA-Z0-9-]+$/.test(a.id))throw new Error("Grid id '"+a.id+'" is invalid. It must follow CSS selector syntax rules.');g.id=a.id,delete a.id,g.options=f.initialize(a),g.appScope=g.options.appScopeProvider,g.headerHeight=g.options.headerRowHeight,g.footerHeight=g.calcFooterHeight(),g.columnFooterHeight=g.calcColumnFooterHeight(),g.rtl=!1,g.gridHeight=0,g.gridWidth=0,g.columnBuilders=[],g.rowBuilders=[],g.rowsProcessors=[],g.columnsProcessors=[],g.styleComputations=[],g.viewportAdjusters=[],g.rowHeaderColumns=[],g.dataChangeCallbacks={},g.verticalScrollSyncCallBackFns={},g.horizontalScrollSyncCallBackFns={},g.renderContainers={},g.renderContainers.body=new l("body",g),g.cellValueGetterCache={},g.getRowTemplateFn=null,g.rows=[],g.columns=[],g.isScrollingVertically=!1,g.isScrollingHorizontally=!1,g.scrollDirection=e.scrollDirection.NONE,g.disableScrolling=!1;var h=d.debounce(b,g.options.scrollDebounce),k=d.debounce(b,0),m=d.debounce(c,g.options.scrollDebounce),n=d.debounce(c,0);g.flagScrollingVertically=function(a){g.isScrollingVertically||g.isScrollingHorizontally||g.api.core.raise.scrollBegin(a),g.isScrollingVertically=!0,0!==g.options.scrollDebounce&&a.withDelay?h(a):k(a)},g.flagScrollingHorizontally=function(a){g.isScrollingVertically||g.isScrollingHorizontally||g.api.core.raise.scrollBegin(a),g.isScrollingHorizontally=!0,0!==g.options.scrollDebounce&&a.withDelay?m(a):n(a)},g.scrollbarHeight=0,g.scrollbarWidth=0,g.options.enableHorizontalScrollbar===e.scrollbars.ALWAYS&&(g.scrollbarHeight=d.getScrollbarWidth()),g.options.enableVerticalScrollbar===e.scrollbars.ALWAYS&&(g.scrollbarWidth=d.getScrollbarWidth()),g.api=new i(g),g.api.registerMethod("core","refresh",this.refresh),g.api.registerMethod("core","queueGridRefresh",this.queueGridRefresh),g.api.registerMethod("core","refreshRows",this.refreshRows),g.api.registerMethod("core","queueRefresh",this.queueRefresh),g.api.registerMethod("core","handleWindowResize",this.handleWindowResize),g.api.registerMethod("core","addRowHeaderColumn",this.addRowHeaderColumn),g.api.registerMethod("core","scrollToIfNecessary",function(a,b){return g.scrollToIfNecessary(a,b)}),g.api.registerMethod("core","scrollTo",function(a,b){return g.scrollTo(a,b)}),g.api.registerMethod("core","registerRowsProcessor",this.registerRowsProcessor),g.api.registerMethod("core","registerColumnsProcessor",this.registerColumnsProcessor),g.api.registerMethod("core","sortHandleNulls",j.handleNulls),g.api.registerEvent("core","sortChanged"),g.api.registerEvent("core","columnVisibilityChanged"),g.api.registerMethod("core","notifyDataChange",this.notifyDataChange),g.api.registerMethod("core","clearAllFilters",this.clearAllFilters),g.registerDataChangeCallback(g.columnRefreshCallback,[e.dataChange.COLUMN]),g.registerDataChangeCallback(g.processRowsCallback,[e.dataChange.EDIT]),g.registerDataChangeCallback(g.updateFooterHeightCallback,[e.dataChange.OPTIONS]),g.registerStyleComputation({priority:10,func:g.getFooterStyles})};return p.prototype.calcFooterHeight=function(){if(!this.hasFooter())return 0;var a=0;return this.options.showGridFooter&&(a+=this.options.gridFooterHeight),a+=this.calcColumnFooterHeight()},p.prototype.calcColumnFooterHeight=function(){var a=0;return this.options.showColumnFooter&&(a+=this.options.columnFooterHeight),a},p.prototype.getFooterStyles=function(){var a=".grid"+this.id+" .ui-grid-footer-aggregates-row { height: "+this.options.columnFooterHeight+"px; }";return a+=" .grid"+this.id+" .ui-grid-footer-info { height: "+this.options.gridFooterHeight+"px; }"},p.prototype.hasFooter=function(){return this.options.showGridFooter||this.options.showColumnFooter},p.prototype.isRTL=function(){return this.rtl},p.prototype.registerColumnBuilder=function(a){this.columnBuilders.push(a)},p.prototype.buildColumnDefsFromData=function(a){this.options.columnDefs=d.getColumnsFromData(a,this.options.excludeProperties)},p.prototype.registerRowBuilder=function(a){this.rowBuilders.push(a)},p.prototype.registerDataChangeCallback=function(a,b,c){var f=d.nextUid();b||(b=[e.dataChange.ALL]),Array.isArray(b)||d.logError("Expected types to be an array or null in registerDataChangeCallback, value passed was: "+b),this.dataChangeCallbacks[f]={callback:a,types:b,_this:c};var g=this,h=function(){delete g.dataChangeCallbacks[f]};return h},p.prototype.callDataChangeCallbacks=function(a,b){angular.forEach(this.dataChangeCallbacks,function(b,c){(-1!==b.types.indexOf(e.dataChange.ALL)||-1!==b.types.indexOf(a)||a===e.dataChange.ALL)&&(b._this?b.callback.apply(b._this,this):b.callback(this))},this)},p.prototype.notifyDataChange=function(a){var b=e.dataChange;a===b.ALL||a===b.COLUMN||a===b.EDIT||a===b.ROW||a===b.OPTIONS?this.callDataChangeCallbacks(a):d.logError("Notified of a data change, but the type was not recognised, so no action taken, type was: "+a)},p.prototype.columnRefreshCallback=function(a){a.buildColumns(),a.queueGridRefresh()},p.prototype.processRowsCallback=function(a){a.queueGridRefresh()},p.prototype.updateFooterHeightCallback=function(a){a.footerHeight=a.calcFooterHeight(),a.columnFooterHeight=a.calcColumnFooterHeight()},p.prototype.getColumn=function(a){var b=this.columns.filter(function(b){return b.colDef.name===a});return b.length>0?b[0]:null},p.prototype.getColDef=function(a){var b=this.options.columnDefs.filter(function(b){return b.name===a});return b.length>0?b[0]:null},p.prototype.assignTypes=function(){var a=this;a.options.columnDefs.forEach(function(b,c){if(!b.type){var e=new g(b,c,a),f=a.rows.length>0?a.rows[0]:null;f?b.type=d.guessType(a.getCellValue(f,e)):b.type="string"}})},p.prototype.isRowHeaderColumn=function(a){return-1!==this.rowHeaderColumns.indexOf(a)},p.prototype.addRowHeaderColumn=function(a){var b=this,c=new g(a,d.nextUid(),b);c.isRowHeader=!0,b.isRTL()?(b.createRightContainer(),c.renderContainer="right"):(b.createLeftContainer(),c.renderContainer="left"),b.columnBuilders[0](a,c,b.options).then(function(){c.enableFiltering=!1,c.enableSorting=!1,c.enableHiding=!1,b.rowHeaderColumns.push(c),b.buildColumns().then(function(){b.preCompileCellTemplates(),b.queueGridRefresh()})})},p.prototype.getOnlyDataColumns=function(){var a=this,b=[];return a.columns.forEach(function(c){-1===a.rowHeaderColumns.indexOf(c)&&b.push(c)}),b},p.prototype.buildColumns=function(b){var c={orderByColumnDefs:!1};angular.extend(c,b);var e,f=this,h=[],i=f.rowHeaderColumns.length;for(e=0;e<f.columns.length;e++)f.getColDef(f.columns[e].name)||(f.columns.splice(e,1),e--);if(f.rowHeaderColumns.forEach(function(a){f.columns.unshift(a)}),f.options.columnDefs.forEach(function(a,b){f.preprocessColDef(a);var c=f.getColumn(a.name);c?c.updateColumnDef(a,!1):(c=new g(a,d.nextUid(),f),f.columns.splice(b+i,0,c)),f.columnBuilders.forEach(function(b){h.push(b.call(f,a,c,f.options))})}),c.orderByColumnDefs){var j=f.columns.slice(0),k=Math.min(f.options.columnDefs.length,f.columns.length);for(e=0;k>e;e++)f.columns[e+i].name!==f.options.columnDefs[e].name?j[e+i]=f.getColumn(f.options.columnDefs[e].name):j[e+i]=f.columns[e+i];f.columns.length=0,Array.prototype.splice.apply(f.columns,[0,0].concat(j))}return a.all(h).then(function(){f.rows.length>0&&f.assignTypes()})},p.prototype.preCompileCellTemplates=function(){var a=this,c=function(c){var d=c.cellTemplate.replace(e.MODEL_COL_FIELD,a.getQualifiedColField(c));d=d.replace(e.COL_FIELD,"grid.getCellValue(row, col)");var f=b(d);c.compiledElementFn=f,c.compiledElementFnDefer&&c.compiledElementFnDefer.resolve(c.compiledElementFn)};this.columns.forEach(function(a){a.cellTemplate?c(a):a.cellTemplatePromise&&a.cellTemplatePromise.then(function(){c(a)})})},p.prototype.getQualifiedColField=function(a){return"row.entity."+d.preEval(a.field)},p.prototype.createLeftContainer=function(){this.hasLeftContainer()||(this.renderContainers.left=new l("left",this,{disableColumnOffset:!0}))},p.prototype.createRightContainer=function(){this.hasRightContainer()||(this.renderContainers.right=new l("right",this,{disableColumnOffset:!0}))},p.prototype.hasLeftContainer=function(){return void 0!==this.renderContainers.left},p.prototype.hasRightContainer=function(){return void 0!==this.renderContainers.right},p.prototype.preprocessColDef=function(a){var b=this;if(!a.field&&!a.name)throw new Error("colDef.name or colDef.field property is required");if(void 0===a.name&&void 0!==a.field){for(var c=a.field,d=2;b.getColumn(c);)c=a.field+d.toString(),d++;a.name=c}},p.prototype.newInN=function(a,b,c,d){for(var e=this,f=[],g=0;g<b.length;g++){for(var h=d?b[g][d]:b[g],i=!1,j=0;j<a.length;j++){var k=c?a[j][c]:a[j];if(e.options.rowEquality(h,k)){i=!0;break}}i||f.push(h)}return f},p.prototype.getRow=function(a,b){var c=this;b="undefined"==typeof b?c.rows:b;var d=b.filter(function(b){return c.options.rowEquality(b.entity,a)});return d.length>0?d[0]:null},p.prototype.modifyRows=function(b){var c=this,d=c.rows.slice(0),e=c.rowHashMap||c.createRowHashMap();c.rowHashMap=c.createRowHashMap(),c.rows.length=0,b.forEach(function(a,b){var f;f=c.options.enableRowHashing?e.get(a):c.getRow(a,d),f||(f=c.processRowBuilders(new h(a,b,c))),c.rows.push(f),c.rowHashMap.put(a,f)}),c.assignTypes();var f=a.when(c.processRowsProcessors(c.rows)).then(function(a){return c.setVisibleRows(a)}),g=a.when(c.processColumnsProcessors(c.columns)).then(function(a){return c.setVisibleColumns(a)});return a.all([f,g])},p.prototype.addRows=function(a){for(var b=this,c=b.rows.length,d=0;d<a.length;d++){var e=b.processRowBuilders(new h(a[d],d+c,b));if(b.options.enableRowHashing){var f=b.rowHashMap.get(e.entity);f&&(f.row=e)}b.rows.push(e)}},p.prototype.processRowBuilders=function(a){var b=this;return b.rowBuilders.forEach(function(c){c.call(b,a,b.options)}),a},p.prototype.registerStyleComputation=function(a){this.styleComputations.push(a)},p.prototype.registerRowsProcessor=function(a,b){if(!angular.isFunction(a))throw"Attempt to register non-function rows processor: "+a;this.rowsProcessors.push({processor:a,priority:b}),this.rowsProcessors.sort(function(a,b){return a.priority-b.priority})},p.prototype.removeRowsProcessor=function(a){var b=-1;this.rowsProcessors.forEach(function(c,d){c.processor===a&&(b=d)}),-1!==b&&this.rowsProcessors.splice(b,1)},p.prototype.processRowsProcessors=function(b){function c(b,e){var g=d.rowsProcessors[b].processor;return a.when(g.call(d,e,d.columns)).then(function(a){if(!a)throw"Processor at index "+b+" did not return a set of renderable rows";if(!angular.isArray(a))throw"Processor at index "+b+" did not return an array";return b++,b<=d.rowsProcessors.length-1?c(b,a):void f.resolve(a)})}var d=this,e=b.slice(0);if(0===d.rowsProcessors.length)return a.when(e);var f=a.defer();return c(0,e),f.promise},p.prototype.setVisibleRows=function(a){var b=this;for(var c in b.renderContainers){var d=b.renderContainers[c];d.canvasHeightShouldUpdate=!0,"undefined"==typeof d.visibleRowCache?d.visibleRowCache=[]:d.visibleRowCache.length=0}for(var e=0;e<a.length;e++){var f=a[e],g="undefined"!=typeof f.renderContainer&&f.renderContainer?f.renderContainer:"body";f.visible&&b.renderContainers[g].visibleRowCache.push(f)}b.api.core.raise.rowsRendered(this.api)},p.prototype.registerColumnsProcessor=function(a,b){if(!angular.isFunction(a))throw"Attempt to register non-function rows processor: "+a;this.columnsProcessors.push({processor:a,priority:b}),this.columnsProcessors.sort(function(a,b){return a.priority-b.priority})},p.prototype.removeColumnsProcessor=function(a){var b=this.columnsProcessors.indexOf(a);"undefined"!=typeof b&&void 0!==b&&this.columnsProcessors.splice(b,1)},p.prototype.processColumnsProcessors=function(b){function c(b,g){var h=d.columnsProcessors[b].processor;return a.when(h.call(d,g,d.rows)).then(function(a){if(!a)throw"Processor at index "+b+" did not return a set of renderable rows";if(!angular.isArray(a))throw"Processor at index "+b+" did not return an array";return b++,b<=d.columnsProcessors.length-1?c(b,e):void f.resolve(e)})}var d=this,e=b.slice(0);if(0===d.columnsProcessors.length)return a.when(e);var f=a.defer();return c(0,e),f.promise},p.prototype.setVisibleColumns=function(a){var b=this;for(var c in b.renderContainers){var d=b.renderContainers[c];d.visibleColumnCache.length=0}for(var e=0;e<a.length;e++){var f=a[e];f.visible&&("undefined"!=typeof f.renderContainer&&f.renderContainer?b.renderContainers[f.renderContainer].visibleColumnCache.push(f):b.renderContainers.body.visibleColumnCache.push(f))}},p.prototype.handleWindowResize=function(a){var b=this;b.gridWidth=d.elementWidth(b.element),b.gridHeight=d.elementHeight(b.element),b.queueRefresh()},p.prototype.queueRefresh=function(){var a=this;return a.refreshCanceller&&m.cancel(a.refreshCanceller),a.refreshCanceller=m(function(){a.refreshCanvas(!0)}),a.refreshCanceller.then(function(){a.refreshCanceller=null}),a.refreshCanceller},p.prototype.queueGridRefresh=function(){var a=this;return a.gridRefreshCanceller&&m.cancel(a.gridRefreshCanceller),a.gridRefreshCanceller=m(function(){a.refresh(!0)}),a.gridRefreshCanceller.then(function(){a.gridRefreshCanceller=null}),a.gridRefreshCanceller},p.prototype.updateCanvasHeight=function(){var a=this;for(var b in a.renderContainers)if(a.renderContainers.hasOwnProperty(b)){var c=a.renderContainers[b];c.canvasHeightShouldUpdate=!0}},p.prototype.buildStyles=function(){var a=this;a.customStyles="",a.styleComputations.sort(function(a,b){return null===a.priority?1:null===b.priority?-1:null===a.priority&&null===b.priority?0:a.priority-b.priority}).forEach(function(b){var c=b.func.call(a);angular.isString(c)&&(a.customStyles+="\n"+c)})},p.prototype.minColumnsToRender=function(){var a=this,b=this.getViewportWidth(),c=0,d=0;return a.columns.forEach(function(e,f){if(b>d)d+=e.drawnWidth,c++;else{for(var g=0,h=f;h>=f-c;h--)g+=a.columns[h].drawnWidth;b>g&&c++}}),c},p.prototype.getBodyHeight=function(){var a=this.getViewportHeight();return a},p.prototype.getViewportHeight=function(){var a=this,b=this.gridHeight-this.headerHeight-this.footerHeight,c=a.getViewportAdjustment();return b+=c.height},p.prototype.getViewportWidth=function(){var a=this,b=this.gridWidth,c=a.getViewportAdjustment();return b+=c.width},p.prototype.getHeaderViewportWidth=function(){var a=this.getViewportWidth();return a},p.prototype.addVerticalScrollSync=function(a,b){this.verticalScrollSyncCallBackFns[a]=b},p.prototype.addHorizontalScrollSync=function(a,b){this.horizontalScrollSyncCallBackFns[a]=b},p.prototype.scrollContainers=function(a,b){if(b.y){var c=["body","left","right"];this.flagScrollingVertically(b),"body"===a?c=["left","right"]:"left"===a?c=["body","right"]:"right"===a&&(c=["body","left"]);for(var d=0;d<c.length;d++){var e=c[d];this.verticalScrollSyncCallBackFns[e]&&this.verticalScrollSyncCallBackFns[e](b)}}if(b.x){var f=["body","bodyheader","bodyfooter"];this.flagScrollingHorizontally(b),"body"===a&&(f=["bodyheader","bodyfooter"]);for(var g=0;g<f.length;g++){var h=f[g];this.horizontalScrollSyncCallBackFns[h]&&this.horizontalScrollSyncCallBackFns[h](b)}}},p.prototype.registerViewportAdjuster=function(a){this.viewportAdjusters.push(a)},p.prototype.removeViewportAdjuster=function(a){var b=this.viewportAdjusters.indexOf(a);"undefined"!=typeof b&&void 0!==b&&this.viewportAdjusters.splice(b,1)},p.prototype.getViewportAdjustment=function(){var a=this,b={height:0,width:0};return a.viewportAdjusters.forEach(function(a){b=a.call(this,b)}),b},p.prototype.getVisibleRowCount=function(){return this.renderContainers.body.visibleRowCache.length},p.prototype.getVisibleRows=function(){return this.renderContainers.body.visibleRowCache},p.prototype.getVisibleColumnCount=function(){return this.renderContainers.body.visibleColumnCache.length},p.prototype.searchRows=function(a){return k.search(this,a,this.columns)},p.prototype.sortByColumn=function(a){return j.sort(this,a,this.columns)},p.prototype.getCellValue=function(a,b){return"undefined"!=typeof a.entity["$$"+b.uid]?a.entity["$$"+b.uid].rendered:this.options.flatEntityAccess&&"undefined"!=typeof b.field?a.entity[b.field]:(b.cellValueGetterCache||(b.cellValueGetterCache=c(a.getEntityQualifiedColField(b))),b.cellValueGetterCache(a))},p.prototype.getCellDisplayValue=function(a,b){if(!b.cellDisplayGetterCache){var d=b.cellFilter?" | "+b.cellFilter:"";"undefined"!=typeof a.entity["$$"+b.uid]?b.cellDisplayGetterCache=c(a.entity["$$"+b.uid].rendered+d):this.options.flatEntityAccess&&"undefined"!=typeof b.field?b.cellDisplayGetterCache=c(a.entity[b.field]+d):b.cellDisplayGetterCache=c(a.getEntityQualifiedColField(b)+d);
-}return b.cellDisplayGetterCache(a)},p.prototype.getNextColumnSortPriority=function(){var a=this,b=0;return a.columns.forEach(function(a){a.sort&&a.sort.priority&&a.sort.priority>b&&(b=a.sort.priority)}),b+1},p.prototype.resetColumnSorting=function(a){var b=this;b.columns.forEach(function(b){b===a||b.suppressRemoveSort||(b.sort={})})},p.prototype.getColumnSorting=function(){var a,b=this,c=[];return a=b.columns.slice(0),a.sort(j.prioritySort).forEach(function(a){a.sort&&"undefined"!=typeof a.sort.direction&&a.sort.direction&&(a.sort.direction===e.ASC||a.sort.direction===e.DESC)&&c.push(a)}),c},p.prototype.sortColumn=function(b,c,d){var e=this,f=null;if("undefined"==typeof b||!b)throw new Error("No column parameter provided");if("boolean"==typeof c?d=c:f=c,d?b.sort.priority||(b.sort.priority=e.getNextColumnSortPriority()):(e.resetColumnSorting(b),b.sort.priority=0,b.sort.priority=e.getNextColumnSortPriority()),f)b.sort.direction=f;else{var g=b.sortDirectionCycle.indexOf(b.sort.direction?b.sort.direction:null);g=(g+1)%b.sortDirectionCycle.length,b.colDef&&b.suppressRemoveSort&&!b.sortDirectionCycle[g]&&(g=(g+1)%b.sortDirectionCycle.length),b.sortDirectionCycle[g]?b.sort.direction=b.sortDirectionCycle[g]:b.sort={}}return e.api.core.raise.sortChanged(e,e.getColumnSorting()),a.when(b)},p.prototype.renderingComplete=function(){angular.isFunction(this.options.onRegisterApi)&&this.options.onRegisterApi(this.api),this.api.core.raise.renderingComplete(this.api)},p.prototype.createRowHashMap=function(){var a=this,b=new o;return b.grid=a,b},p.prototype.refresh=function(b){var c=this,d=c.processRowsProcessors(c.rows).then(function(a){c.setVisibleRows(a)}),e=c.processColumnsProcessors(c.columns).then(function(a){c.setVisibleColumns(a)});return a.all([d,e]).then(function(){c.redrawInPlace(b),c.refreshCanvas(!0)})},p.prototype.refreshRows=function(){var a=this;return a.processRowsProcessors(a.rows).then(function(b){a.setVisibleRows(b),a.redrawInPlace(),a.refreshCanvas(!0)})},p.prototype.refreshCanvas=function(b){var c=this;b&&c.buildStyles();var e=a.defer(),f=[];for(var g in c.renderContainers)if(c.renderContainers.hasOwnProperty(g)){var h=c.renderContainers[g];if(null===h.canvasWidth||isNaN(h.canvasWidth))continue;(h.header||h.headerCanvas)&&(h.explicitHeaderHeight=h.explicitHeaderHeight||null,h.explicitHeaderCanvasHeight=h.explicitHeaderCanvasHeight||null,f.push(h))}return f.length>0?(b&&c.buildStyles(),m(function(){var a,g,h=!1,i=0,j=0,k=function(a,b){return a!==b&&(h=!0),b};for(a=0;a<f.length;a++)if(g=f[a],null!==g.canvasWidth&&!isNaN(g.canvasWidth)){if(g.header){var l=g.headerHeight=k(g.headerHeight,parseInt(d.outerElementHeight(g.header),10)),m=d.getBorderSize(g.header,"top"),n=d.getBorderSize(g.header,"bottom"),o=parseInt(l-m-n,10);o=0>o?0:o,g.innerHeaderHeight=o,!g.explicitHeaderHeight&&o>i&&(i=o)}if(g.headerCanvas){var p=g.headerCanvasHeight=k(g.headerCanvasHeight,parseInt(d.outerElementHeight(g.headerCanvas),10));!g.explicitHeaderCanvasHeight&&p>j&&(j=p)}}for(a=0;a<f.length;a++)g=f[a],i>0&&"undefined"!=typeof g.headerHeight&&null!==g.headerHeight&&(g.explicitHeaderHeight||g.headerHeight<i)&&(g.explicitHeaderHeight=k(g.explicitHeaderHeight,i)),j>0&&"undefined"!=typeof g.headerCanvasHeight&&null!==g.headerCanvasHeight&&(g.explicitHeaderCanvasHeight||g.headerCanvasHeight<j)&&(g.explicitHeaderCanvasHeight=k(g.explicitHeaderCanvasHeight,j));b&&h&&c.buildStyles(),e.resolve()})):m(function(){e.resolve()}),e.promise},p.prototype.redrawInPlace=function(a){var b=this;for(var c in b.renderContainers){var d=b.renderContainers[c];a?(d.adjustRows(d.prevScrollTop,null),d.adjustColumns(d.prevScrollLeft,null)):(d.adjustRows(null,d.prevScrolltopPercentage),d.adjustColumns(null,d.prevScrollleftPercentage))}},p.prototype.hasLeftContainerColumns=function(){return this.hasLeftContainer()&&this.renderContainers.left.renderedColumns.length>0},p.prototype.hasRightContainerColumns=function(){return this.hasRightContainer()&&this.renderContainers.right.renderedColumns.length>0},p.prototype.scrollToIfNecessary=function(b,c){var d=this,e=new n(d,"uiGrid.scrollToIfNecessary"),f=d.renderContainers.body.visibleRowCache,g=d.renderContainers.body.visibleColumnCache,h=d.renderContainers.body.prevScrollTop+d.headerHeight;h=0>h?0:h;var i=d.renderContainers.body.prevScrollLeft,j=d.renderContainers.body.prevScrollTop+d.gridHeight-d.renderContainers.body.headerHeight-d.footerHeight-d.scrollbarWidth,k=d.renderContainers.body.prevScrollLeft+Math.ceil(d.renderContainers.body.getViewportWidth());if(null!==b){var l=f.indexOf(b),m=d.renderContainers.body.getCanvasHeight()-d.renderContainers.body.getViewportHeight(),o=(l+1)*d.options.rowHeight;o=0>o?0:o;var p,q;h>o?(p=d.renderContainers.body.prevScrollTop-(h-o),q=p/m,e.y={percentage:q}):o>j&&(p=o-j+d.renderContainers.body.prevScrollTop,q=p/m,e.y={percentage:q})}if(null!==c){for(var r=g.indexOf(c),s=d.renderContainers.body.getCanvasWidth()-d.renderContainers.body.getViewportWidth(),t=0,u=0;r>u;u++){var v=g[u];t+=v.drawnWidth}t=0>t?0:t;var w=t+c.drawnWidth;w=0>w?0:w;var x,y;i>t?(x=d.renderContainers.body.prevScrollLeft-(i-t),y=x/s,y=y>1?1:y,e.x={percentage:y}):w>k&&(x=w-k+d.renderContainers.body.prevScrollLeft,y=x/s,y=y>1?1:y,e.x={percentage:y})}var z=a.defer();if(e.y||e.x){e.withDelay=!1,d.scrollContainers("",e);var A=d.api.core.on.scrollEnd(null,function(){z.resolve(e),A()})}else z.resolve();return z.promise},p.prototype.scrollTo=function(a,b){var c=null,d=null;return null!==a&&"undefined"!=typeof a&&(c=this.getRow(a)),null!==b&&"undefined"!=typeof b&&(d=this.getColumn(b.name?b.name:b.field)),this.scrollToIfNecessary(c,d)},p.prototype.clearAllFilters=function(a,b,c){return void 0===a&&(a=!0),void 0===b&&(b=!1),void 0===c&&(c=!1),this.columns.forEach(function(a){a.filters.forEach(function(a){a.term=void 0,b&&(a.condition=void 0),c&&(a.flags=void 0)})}),a?this.refreshRows():void 0},o.prototype={put:function(a,b){this[this.grid.options.rowIdentity(a)]=b},get:function(a){return this[this.grid.options.rowIdentity(a)]},remove:function(a){var b=this[a=this.grid.options.rowIdentity(a)];return delete this[a],b}},p}])}(),function(){angular.module("ui.grid").factory("GridApi",["$q","$rootScope","gridUtil","uiGridConstants","GridRow","uiGridGridMenuService",function(a,b,c,d,e,f){function g(a,c,d,e){return b.$on(a,function(a){var b=Array.prototype.slice.call(arguments);b.splice(0,1),c.apply(e?e:d.api,b)})}var h=function(a){this.grid=a,this.listeners=[],this.registerEvent("core","renderingComplete"),this.registerEvent("core","filterChanged"),this.registerMethod("core","setRowInvisible",e.prototype.setRowInvisible),this.registerMethod("core","clearRowInvisible",e.prototype.clearRowInvisible),this.registerMethod("core","getVisibleRows",this.grid.getVisibleRows),this.registerEvent("core","rowsVisibleChanged"),this.registerEvent("core","rowsRendered"),this.registerEvent("core","scrollBegin"),this.registerEvent("core","scrollEnd"),this.registerEvent("core","canvasHeightChanged")};return h.prototype.suppressEvents=function(a,b){var c=this,d=angular.isArray(a)?a:[a],e=c.listeners.filter(function(a){return d.some(function(b){return a.handler===b})});e.forEach(function(a){a.dereg()}),b(),e.forEach(function(a){a.dereg=g(a.eventId,a.handler,c.grid,a._this)})},h.prototype.registerEvent=function(a,d){var e=this;e[a]||(e[a]={});var f=e[a];f.on||(f.on={},f.raise={});var h=e.grid.id+a+d;f.raise[d]=function(){b.$emit.apply(b,[h].concat(Array.prototype.slice.call(arguments)))},f.on[d]=function(b,f,i){if(null!==b&&"undefined"==typeof b.$on)return void c.logError("asked to listen on "+a+".on."+d+" but scope wasn't passed in the input parameters.  It is legitimate to pass null, but you've passed something else, so you probably forgot to provide scope rather than did it deliberately, not registering");var j=g(h,f,e.grid,i),k={handler:f,dereg:j,eventId:h,scope:b,_this:i};e.listeners.push(k);var l=function(){k.dereg();var a=e.listeners.indexOf(k);e.listeners.splice(a,1)};return b&&b.$on("$destroy",function(){l()}),l}},h.prototype.registerEventsFromObject=function(a){var b=this,c=[];angular.forEach(a,function(a,b){var d={name:b,events:[]};angular.forEach(a,function(a,b){d.events.push(b)}),c.push(d)}),c.forEach(function(a){a.events.forEach(function(c){b.registerEvent(a.name,c)})})},h.prototype.registerMethod=function(a,b,d,e){this[a]||(this[a]={});var f=this[a];f[b]=c.createBoundedWrapper(e||this.grid,d)},h.prototype.registerMethodsFromObject=function(a,b){var c=this,d=[];angular.forEach(a,function(a,b){var c={name:b,methods:[]};angular.forEach(a,function(a,b){c.methods.push({name:b,fn:a})}),d.push(c)}),d.forEach(function(a){a.methods.forEach(function(d){c.registerMethod(a.name,d.name,d.fn,b)})})},h}])}(),function(){angular.module("ui.grid").factory("GridColumn",["gridUtil","uiGridConstants","i18nService",function(a,b,c){function d(a,c,e){var f=this;f.grid=e,f.uid=c,f.updateColumnDef(a,!0),d.prototype.hideColumn=function(){this.colDef.visible=!1},f.aggregationValue=void 0,f.updateAggregationValue=function(){if(!f.aggregationType)return void(f.aggregationValue=void 0);var a=0,c=f.grid.getVisibleRows(),d=function(){var a=[];return c.forEach(function(b){var c=f.grid.getCellValue(b,f),d=Number(c);isNaN(d)||a.push(d)}),a};angular.isFunction(f.aggregationType)?f.aggregationValue=f.aggregationType(c,f):f.aggregationType===b.aggregationTypes.count?f.aggregationValue=f.grid.getVisibleRowCount():f.aggregationType===b.aggregationTypes.sum?(d().forEach(function(b){a+=b}),f.aggregationValue=a):f.aggregationType===b.aggregationTypes.avg?(d().forEach(function(b){a+=b}),a/=d().length,f.aggregationValue=a):f.aggregationType===b.aggregationTypes.min?f.aggregationValue=Math.min.apply(null,d()):f.aggregationType===b.aggregationTypes.max?f.aggregationValue=Math.max.apply(null,d()):f.aggregationValue=" "},this.getAggregationValue=function(){return f.aggregationValue}}return d.prototype.setPropertyOrDefault=function(a,b,c){var d=this;"undefined"!=typeof a[b]&&a[b]?d[b]=a[b]:"undefined"!=typeof d[b]?d[b]=d[b]:d[b]=c?c:{}},d.prototype.updateColumnDef=function(c,e){var f=this;if(f.colDef=c,void 0===c.name)throw new Error("colDef.name is required for column at index "+f.grid.options.columnDefs.indexOf(c));if(f.displayName=void 0===c.displayName?a.readableColumnName(c.name):c.displayName,!angular.isNumber(f.width)||!f.hasCustomWidth||c.allowCustomWidthOverride){var g=c.width,h="Cannot parse column width '"+g+"' for column named '"+c.name+"'";if(f.hasCustomWidth=!1,angular.isString(g)||angular.isNumber(g))if(angular.isString(g))if(a.endsWith(g,"%")){var i=g.replace(/%/g,""),j=parseInt(i,10);if(isNaN(j))throw new Error(h);f.width=g}else if(g.match(/^(\d+)$/))f.width=parseInt(g.match(/^(\d+)$/)[1],10);else{if(!g.match(/^\*+$/))throw new Error(h);f.width=g}else f.width=g;else f.width="*"}["minWidth","maxWidth"].forEach(function(a){var b=c[a],d="Cannot parse column "+a+" '"+b+"' for column named '"+c.name+"'";if(angular.isString(b)||angular.isNumber(b))if(angular.isString(b)){if(!b.match(/^(\d+)$/))throw new Error(d);f[a]=parseInt(b.match(/^(\d+)$/)[1],10)}else f[a]=b;else f[a]="minWidth"===a?30:9e3}),f.field=void 0===c.field?c.name:c.field,"string"!=typeof f.field&&a.logError("Field is not a string, this is likely to break the code, Field is: "+f.field),f.name=c.name,f.displayName=void 0===c.displayName?a.readableColumnName(c.name):c.displayName,f.aggregationType=angular.isDefined(c.aggregationType)?c.aggregationType:null,f.footerCellTemplate=angular.isDefined(c.footerCellTemplate)?c.footerCellTemplate:null,"undefined"==typeof c.cellTooltip||c.cellTooltip===!1?f.cellTooltip=!1:c.cellTooltip===!0?f.cellTooltip=function(a,b){return f.grid.getCellValue(a,b)}:"function"==typeof c.cellTooltip?f.cellTooltip=c.cellTooltip:f.cellTooltip=function(a,b){return b.colDef.cellTooltip},"undefined"==typeof c.headerTooltip||c.headerTooltip===!1?f.headerTooltip=!1:c.headerTooltip===!0?f.headerTooltip=function(a){return a.displayName}:"function"==typeof c.headerTooltip?f.headerTooltip=c.headerTooltip:f.headerTooltip=function(a){return a.colDef.headerTooltip},f.footerCellClass=c.footerCellClass,f.cellClass=c.cellClass,f.headerCellClass=c.headerCellClass,f.cellFilter=c.cellFilter?c.cellFilter:"",f.sortCellFiltered=c.sortCellFiltered?!0:!1,f.filterCellFiltered=c.filterCellFiltered?!0:!1,f.headerCellFilter=c.headerCellFilter?c.headerCellFilter:"",f.footerCellFilter=c.footerCellFilter?c.footerCellFilter:"",f.visible=a.isNullOrUndefined(c.visible)||c.visible,f.headerClass=c.headerClass,f.enableSorting="undefined"!=typeof c.enableSorting?c.enableSorting:!0,f.sortingAlgorithm=c.sortingAlgorithm,f.sortDirectionCycle="undefined"!=typeof c.sortDirectionCycle?c.sortDirectionCycle:[null,b.ASC,b.DESC],"undefined"==typeof f.suppressRemoveSort&&(f.suppressRemoveSort="undefined"!=typeof c.suppressRemoveSort?c.suppressRemoveSort:!1),f.enableFiltering="undefined"!=typeof c.enableFiltering?c.enableFiltering:!0,f.setPropertyOrDefault(c,"menuItems",[]),e&&f.setPropertyOrDefault(c,"sort");var k=[];c.filter?k.push(c.filter):c.filters?k=c.filters:k.push({}),e?(f.setPropertyOrDefault(c,"filter"),f.setPropertyOrDefault(c,"filters",k)):f.filters.length===k.length&&f.filters.forEach(function(a,b){"undefined"!=typeof k[b].placeholder&&(a.placeholder=k[b].placeholder),"undefined"!=typeof k[b].ariaLabel&&(a.ariaLabel=k[b].ariaLabel),"undefined"!=typeof k[b].flags&&(a.flags=k[b].flags),"undefined"!=typeof k[b].type&&(a.type=k[b].type),"undefined"!=typeof k[b].selectOptions&&(a.selectOptions=k[b].selectOptions)}),d.prototype.unsort=function(){this.sort={},f.grid.api.core.raise.sortChanged(f.grid,f.grid.getColumnSorting())}},d.prototype.getColClass=function(a){var c=b.COL_CLASS_PREFIX+this.uid;return a?"."+c:c},d.prototype.isPinnedLeft=function(){return"left"===this.renderContainer},d.prototype.isPinnedRight=function(){return"right"===this.renderContainer},d.prototype.getColClassDefinition=function(){return" .grid"+this.grid.id+" "+this.getColClass(!0)+" { min-width: "+this.drawnWidth+"px; max-width: "+this.drawnWidth+"px; }"},d.prototype.getRenderContainer=function(){var a=this,b=a.renderContainer;return(null===b||""===b||void 0===b)&&(b="body"),a.grid.renderContainers[b]},d.prototype.showColumn=function(){this.colDef.visible=!0},d.prototype.getAggregationText=function(){var a=this;if(a.colDef.aggregationHideLabel)return"";if(a.colDef.aggregationLabel)return a.colDef.aggregationLabel;switch(a.colDef.aggregationType){case b.aggregationTypes.count:return c.getSafeText("aggregation.count");case b.aggregationTypes.sum:return c.getSafeText("aggregation.sum");case b.aggregationTypes.avg:return c.getSafeText("aggregation.avg");case b.aggregationTypes.min:return c.getSafeText("aggregation.min");case b.aggregationTypes.max:return c.getSafeText("aggregation.max");default:return""}},d.prototype.getCellTemplate=function(){var a=this;return a.cellTemplatePromise},d.prototype.getCompiledElementFn=function(){var a=this;return a.compiledElementFnDefer.promise},d}])}(),function(){angular.module("ui.grid").factory("GridOptions",["gridUtil","uiGridConstants",function(a,b){return{initialize:function(c){return c.onRegisterApi=c.onRegisterApi||angular.noop(),c.data=c.data||[],c.columnDefs=c.columnDefs||[],c.excludeProperties=c.excludeProperties||["$$hashKey"],c.enableRowHashing=c.enableRowHashing!==!1,c.rowIdentity=c.rowIdentity||function(b){return a.hashKey(b)},c.getRowIdentity=c.getRowIdentity||function(a){return a.$$hashKey},c.flatEntityAccess=c.flatEntityAccess===!0,c.showHeader="undefined"!=typeof c.showHeader?c.showHeader:!0,c.showHeader?c.headerRowHeight="undefined"!=typeof c.headerRowHeight?c.headerRowHeight:30:c.headerRowHeight=0,c.rowHeight=c.rowHeight||30,c.minRowsToShow="undefined"!=typeof c.minRowsToShow?c.minRowsToShow:10,c.showGridFooter=c.showGridFooter===!0,c.showColumnFooter=c.showColumnFooter===!0,c.columnFooterHeight="undefined"!=typeof c.columnFooterHeight?c.columnFooterHeight:30,c.gridFooterHeight="undefined"!=typeof c.gridFooterHeight?c.gridFooterHeight:30,c.columnWidth="undefined"!=typeof c.columnWidth?c.columnWidth:50,c.maxVisibleColumnCount="undefined"!=typeof c.maxVisibleColumnCount?c.maxVisibleColumnCount:200,c.virtualizationThreshold="undefined"!=typeof c.virtualizationThreshold?c.virtualizationThreshold:20,c.columnVirtualizationThreshold="undefined"!=typeof c.columnVirtualizationThreshold?c.columnVirtualizationThreshold:10,c.excessRows="undefined"!=typeof c.excessRows?c.excessRows:4,c.scrollThreshold="undefined"!=typeof c.scrollThreshold?c.scrollThreshold:4,c.excessColumns="undefined"!=typeof c.excessColumns?c.excessColumns:4,c.horizontalScrollThreshold="undefined"!=typeof c.horizontalScrollThreshold?c.horizontalScrollThreshold:2,c.aggregationCalcThrottle="undefined"!=typeof c.aggregationCalcThrottle?c.aggregationCalcThrottle:500,c.wheelScrollThrottle="undefined"!=typeof c.wheelScrollThrottle?c.wheelScrollThrottle:70,c.scrollDebounce="undefined"!=typeof c.scrollDebounce?c.scrollDebounce:300,c.enableSorting=c.enableSorting!==!1,c.enableFiltering=c.enableFiltering===!0,c.enableColumnMenus=c.enableColumnMenus!==!1,c.enableVerticalScrollbar="undefined"!=typeof c.enableVerticalScrollbar?c.enableVerticalScrollbar:b.scrollbars.ALWAYS,c.enableHorizontalScrollbar="undefined"!=typeof c.enableHorizontalScrollbar?c.enableHorizontalScrollbar:b.scrollbars.ALWAYS,c.enableMinHeightCheck=c.enableMinHeightCheck!==!1,c.minimumColumnSize="undefined"!=typeof c.minimumColumnSize?c.minimumColumnSize:10,c.rowEquality=c.rowEquality||function(a,b){return a===b},c.headerTemplate=c.headerTemplate||null,c.footerTemplate=c.footerTemplate||"ui-grid/ui-grid-footer",c.gridFooterTemplate=c.gridFooterTemplate||"ui-grid/ui-grid-grid-footer",c.rowTemplate=c.rowTemplate||"ui-grid/ui-grid-row",c.appScopeProvider=c.appScopeProvider||null,c}}}])}(),function(){angular.module("ui.grid").factory("GridRenderContainer",["gridUtil","uiGridConstants",function(a,b){function c(a,b,c){var d=this;d.name=a,d.grid=b,d.visibleRowCache=[],d.visibleColumnCache=[],d.renderedRows=[],d.renderedColumns=[],d.prevScrollTop=0,d.prevScrolltopPercentage=0,d.prevRowScrollIndex=0,d.prevScrollLeft=0,d.prevScrollleftPercentage=0,d.prevColumnScrollIndex=0,d.columnStyles="",d.viewportAdjusters=[],d.hasHScrollbar=!1,d.hasVScrollbar=!1,d.canvasHeightShouldUpdate=!0,d.$$canvasHeight=0,c&&angular.isObject(c)&&angular.extend(d,c),b.registerStyleComputation({priority:5,func:function(){return d.updateColumnWidths(),d.columnStyles}})}return c.prototype.reset=function(){this.visibleColumnCache.length=0,this.visibleRowCache.length=0,this.renderedRows.length=0,this.renderedColumns.length=0},c.prototype.containsColumn=function(a){return-1!==this.visibleColumnCache.indexOf(a)},c.prototype.minRowsToRender=function(){for(var a=this,b=0,c=0,d=a.getViewportHeight(),e=a.visibleRowCache.length-1;d>c&&e>=0;e--)c+=a.visibleRowCache[e].height,b++;return b},c.prototype.minColumnsToRender=function(){for(var a=this,b=this.getViewportWidth(),c=0,d=0,e=0;e<a.visibleColumnCache.length;e++){var f=a.visibleColumnCache[e];if(b>d)d+=f.drawnWidth?f.drawnWidth:0,c++;else{for(var g=0,h=e;h>=e-c;h--)g+=a.visibleColumnCache[h].drawnWidth?a.visibleColumnCache[h].drawnWidth:0;b>g&&c++}}return c},c.prototype.getVisibleRowCount=function(){return this.visibleRowCache.length},c.prototype.registerViewportAdjuster=function(a){this.viewportAdjusters.push(a)},c.prototype.removeViewportAdjuster=function(a){var b=this.viewportAdjusters.indexOf(a);b>-1&&this.viewportAdjusters.splice(b,1)},c.prototype.getViewportAdjustment=function(){var a=this,b={height:0,width:0};return a.viewportAdjusters.forEach(function(a){b=a.call(this,b)}),b},c.prototype.getMargin=function(a){var b=this,c=0;return b.viewportAdjusters.forEach(function(b){var d=b.call(this,{height:0,width:0});d.side&&d.side===a&&(c+=-1*d.width)}),c},c.prototype.getViewportHeight=function(){var a=this,b=a.headerHeight?a.headerHeight:a.grid.headerHeight,c=a.grid.gridHeight-b-a.grid.footerHeight,d=a.getViewportAdjustment();return c+=d.height},c.prototype.getViewportWidth=function(){var a=this,b=a.grid.gridWidth,c=a.getViewportAdjustment();return b+=c.width},c.prototype.getHeaderViewportWidth=function(){var a=this.getViewportWidth();return a},c.prototype.getCanvasHeight=function(){var a=this;if(!a.canvasHeightShouldUpdate)return a.$$canvasHeight;var b=a.$$canvasHeight;return a.$$canvasHeight=0,a.visibleRowCache.forEach(function(b){a.$$canvasHeight+=b.height}),a.canvasHeightShouldUpdate=!1,a.grid.api.core.raise.canvasHeightChanged(b,a.$$canvasHeight),a.$$canvasHeight},c.prototype.getVerticalScrollLength=function(){return this.getCanvasHeight()-this.getViewportHeight()+this.grid.scrollbarHeight},c.prototype.getCanvasWidth=function(){var a=this,b=a.canvasWidth;return b},c.prototype.setRenderedRows=function(a){this.renderedRows.length=a.length;for(var b=0;b<a.length;b++)this.renderedRows[b]=a[b]},c.prototype.setRenderedColumns=function(a){this.renderedColumns.length=a.length;for(var b=0;b<a.length;b++)this.renderedColumns[b]=a[b];this.updateColumnOffset()},c.prototype.updateColumnOffset=function(){for(var a=0,b=0;b<this.currentFirstColumn;b++)a+=this.visibleColumnCache[b].drawnWidth;this.columnOffset=a},c.prototype.scrollVertical=function(a){var c=-1;if(a!==this.prevScrollTop){var d=a-this.prevScrollTop;d>0&&(this.grid.scrollDirection=b.scrollDirection.DOWN),0>d&&(this.grid.scrollDirection=b.scrollDirection.UP);var e=this.getVerticalScrollLength();return c=a/e,c>1&&(c=1),0>c&&(c=0),this.adjustScrollVertical(a,c),c}},c.prototype.scrollHorizontal=function(a){var c=-1;if(a!==this.prevScrollLeft){var d=a-this.prevScrollLeft;d>0&&(this.grid.scrollDirection=b.scrollDirection.RIGHT),0>d&&(this.grid.scrollDirection=b.scrollDirection.LEFT);var e=this.canvasWidth-this.getViewportWidth();return c=0!==e?a/e:0,this.adjustScrollHorizontal(a,c),c}},c.prototype.adjustScrollVertical=function(a,b,c){(this.prevScrollTop!==a||c)&&(("undefined"==typeof a||void 0===a||null===a)&&(a=(this.getCanvasHeight()-this.getViewportHeight())*b),this.adjustRows(a,b,!1),this.prevScrollTop=a,this.prevScrolltopPercentage=b,this.grid.queueRefresh())},c.prototype.adjustScrollHorizontal=function(a,b,c){(this.prevScrollLeft!==a||c)&&(("undefined"==typeof a||void 0===a||null===a)&&(a=(this.getCanvasWidth()-this.getViewportWidth())*b),this.adjustColumns(a,b),this.prevScrollLeft=a,this.prevScrollleftPercentage=b,this.grid.queueRefresh())},c.prototype.adjustRows=function(a,b,c){var d=this,e=d.minRowsToRender(),f=d.visibleRowCache,g=f.length-e;"undefined"!=typeof b&&null!==b||!a||(b=a/d.getVerticalScrollLength());var h=Math.ceil(Math.min(g,g*b));h>g&&(h=g);var i=[];if(f.length>d.grid.options.virtualizationThreshold){if("undefined"!=typeof a&&null!==a){if(!d.grid.suppressParentScrollDown&&d.prevScrollTop<a&&h<d.prevRowScrollIndex+d.grid.options.scrollThreshold&&g>h)return;if(!d.grid.suppressParentScrollUp&&d.prevScrollTop>a&&h>d.prevRowScrollIndex-d.grid.options.scrollThreshold&&g>h)return}var j={},k={};j=Math.max(0,h-d.grid.options.excessRows),k=Math.min(f.length,h+e+d.grid.options.excessRows),i=[j,k]}else{var l=d.visibleRowCache.length;i=[0,Math.max(l,e+d.grid.options.excessRows)]}d.updateViewableRowRange(i),d.prevRowScrollIndex=h},c.prototype.adjustColumns=function(a,b){var c=this,d=c.minColumnsToRender(),e=c.visibleColumnCache,f=e.length-d;if(("undefined"==typeof b||null===b)&&a){var g=c.getCanvasWidth()-c.getViewportWidth();b=a/g}var h=Math.ceil(Math.min(f,f*b));h>f&&(h=f);var i=[];if(e.length>c.grid.options.columnVirtualizationThreshold&&c.getCanvasWidth()>c.getViewportWidth()){var j=Math.max(0,h-c.grid.options.excessColumns),k=Math.min(e.length,h+d+c.grid.options.excessColumns);i=[j,k]}else{var l=c.visibleColumnCache.length;i=[0,Math.max(l,d+c.grid.options.excessColumns)]}c.updateViewableColumnRange(i),c.prevColumnScrollIndex=h},c.prototype.updateViewableRowRange=function(a){var b=this.visibleRowCache.slice(a[0],a[1]);this.currentTopRow=a[0],this.setRenderedRows(b)},c.prototype.updateViewableColumnRange=function(a){var b=this.visibleColumnCache.slice(a[0],a[1]);this.currentFirstColumn=a[0],this.setRenderedColumns(b)},c.prototype.headerCellWrapperStyle=function(){var a=this;if(0!==a.currentFirstColumn){var b=a.columnOffset;return a.grid.isRTL()?{"margin-right":b+"px"}:{"margin-left":b+"px"}}return null},c.prototype.updateColumnWidths=function(){var b=this,c=[],d=0,e=0,f="",g=b.grid.getViewportWidth()-b.grid.scrollbarWidth,h=[];angular.forEach(b.grid.renderContainers,function(a,b){h=h.concat(a.visibleColumnCache)}),h.forEach(function(b,f){var h=0;b.visible&&(angular.isNumber(b.width)?(h=parseInt(b.width,10),e+=h,b.drawnWidth=h):a.endsWith(b.width,"%")?(h=parseInt(parseInt(b.width.replace(/%/g,""),10)/100*g),h>b.maxWidth&&(h=b.maxWidth),h<b.minWidth&&(h=b.minWidth),e+=h,b.drawnWidth=h):angular.isString(b.width)&&-1!==b.width.indexOf("*")&&(d+=b.width.length,c.push(b)))});var i=g-e;if(c.length>0){var j=i/d;c.forEach(function(a){var b=parseInt(a.width.length*j,10);b>a.maxWidth&&(b=a.maxWidth),b<a.minWidth&&(b=a.minWidth),e+=b,a.drawnWidth=b})}for(var k=function(a){a.drawnWidth<a.maxWidth&&l>0&&(a.drawnWidth++,e++,l--,m=!0)},l=g-e,m=!0;l>0&&m;)m=!1,c.forEach(k);var n=function(a){a.drawnWidth>a.minWidth&&o>0&&(a.drawnWidth--,e--,o--,m=!0)},o=e-g;for(m=!0;o>0&&m;)m=!1,c.forEach(n);var p=0;b.visibleColumnCache.forEach(function(a){a.visible&&(p+=a.drawnWidth)}),h.forEach(function(a){f+=a.getColClassDefinition()}),b.canvasWidth=p,this.columnStyles=f},c.prototype.needsHScrollbarPlaceholder=function(){return this.grid.options.enableHorizontalScrollbar&&!this.hasHScrollbar&&!this.grid.disableScrolling},c.prototype.getViewportStyle=function(){var a=this,c={};return a.hasHScrollbar=!1,a.hasVScrollbar=!1,a.grid.disableScrolling?(c["overflow-x"]="hidden",c["overflow-y"]="hidden",c):("body"===a.name?(a.hasHScrollbar=a.grid.options.enableHorizontalScrollbar!==b.scrollbars.NEVER,a.grid.isRTL()?a.grid.hasLeftContainerColumns()||(a.hasVScrollbar=a.grid.options.enableVerticalScrollbar!==b.scrollbars.NEVER):a.grid.hasRightContainerColumns()||(a.hasVScrollbar=a.grid.options.enableVerticalScrollbar!==b.scrollbars.NEVER)):"left"===a.name?a.hasVScrollbar=a.grid.isRTL()?a.grid.options.enableVerticalScrollbar!==b.scrollbars.NEVER:!1:a.hasVScrollbar=a.grid.isRTL()?!1:a.grid.options.enableVerticalScrollbar!==b.scrollbars.NEVER,c["overflow-x"]=a.hasHScrollbar?"scroll":"hidden",c["overflow-y"]=a.hasVScrollbar?"scroll":"hidden",c)},c}])}(),function(){angular.module("ui.grid").factory("GridRow",["gridUtil",function(a){function b(b,c,d){this.grid=d,this.entity=b,this.uid=a.nextUid(),this.visible=!0,this.$$height=d.options.rowHeight}return Object.defineProperty(b.prototype,"height",{get:function(){return this.$$height},set:function(a){a!==this.$$height&&(this.grid.updateCanvasHeight(),this.$$height=a)}}),b.prototype.getQualifiedColField=function(a){return"row."+this.getEntityQualifiedColField(a)},b.prototype.getEntityQualifiedColField=function(b){return a.preEval("entity."+b.field)},b.prototype.setRowInvisible=function(a){a&&a.setThisRowInvisible&&a.setThisRowInvisible("user")},b.prototype.clearRowInvisible=function(a){a&&a.clearThisRowInvisible&&a.clearThisRowInvisible("user")},b.prototype.setThisRowInvisible=function(a,b){this.invisibleReason||(this.invisibleReason={}),this.invisibleReason[a]=!0,this.evaluateRowVisibility(b)},b.prototype.clearThisRowInvisible=function(a,b){"undefined"!=typeof this.invisibleReason&&delete this.invisibleReason[a],this.evaluateRowVisibility(b)},b.prototype.evaluateRowVisibility=function(a){var b=!0;"undefined"!=typeof this.invisibleReason&&angular.forEach(this.invisibleReason,function(a,c){a&&(b=!1)}),("undefined"==typeof this.visible||this.visible!==b)&&(this.visible=b,a||(this.grid.queueGridRefresh(),this.grid.api.core.raise.rowsVisibleChanged(this)))},b}])}(),function(){"use strict";angular.module("ui.grid").factory("GridRowColumn",["$parse","$filter",function(a,b){var c=function d(a,b){if(!(this instanceof d))throw"Using GridRowColumn as a function insead of as a constructor. Must be called with `new` keyword";this.row=a,this.col=b};return c.prototype.getIntersectionValueRaw=function(){var b=a(this.row.getEntityQualifiedColField(this.col)),c=this.row;return b(c)},c.prototype.getIntersectionValueFiltered=function(){var a=this.getIntersectionValueRaw();if(this.col.cellFilter&&""!==this.col.cellFilter){var c=function(a){try{return b(a)}catch(c){return null}},d=c(this.col.cellFilter);if(d)a=d(a);else{var e,f=/([^:]*):([^:]*):?([\s\S]+)?/;null!==(e=f.exec(this.col.cellFilter))&&(a=b(e[1])(a,e[2],e[3]))}}return a},c}])}(),function(){angular.module("ui.grid").factory("ScrollEvent",["gridUtil",function(a){function b(b,c,d,e){var f=this;if(!b)throw new Error("grid argument is required");f.grid=b,f.source=e,f.withDelay=!0,f.sourceRowContainer=c,f.sourceColContainer=d,f.newScrollLeft=null,f.newScrollTop=null,f.x=null,f.y=null,f.verticalScrollLength=-9999999,f.horizontalScrollLength=-999999,f.fireThrottledScrollingEvent=a.throttle(function(a){f.grid.scrollContainers(a,f)},f.grid.options.wheelScrollThrottle,{trailing:!0})}return b.prototype.getNewScrollLeft=function(b,c){var d=this;if(!d.newScrollLeft){var e,f=b.getCanvasWidth()-b.getViewportWidth(),g=a.normalizeScrollLeft(c,d.grid);if("undefined"!=typeof d.x.percentage&&void 0!==d.x.percentage)e=d.x.percentage;else{if("undefined"==typeof d.x.pixels||void 0===d.x.pixels)throw new Error("No percentage or pixel value provided for scroll event X axis");e=d.x.percentage=(g+d.x.pixels)/f}return Math.max(0,e*f)}return d.newScrollLeft},b.prototype.getNewScrollTop=function(a,b){var c=this;if(!c.newScrollTop){var d,e=a.getVerticalScrollLength(),f=b[0].scrollTop;if("undefined"!=typeof c.y.percentage&&void 0!==c.y.percentage)d=c.y.percentage;else{if("undefined"==typeof c.y.pixels||void 0===c.y.pixels)throw new Error("No percentage or pixel value provided for scroll event Y axis");d=c.y.percentage=(f+c.y.pixels)/e}return Math.max(0,d*e)}return c.newScrollTop},b.prototype.atTop=function(a){return this.y&&(0===this.y.percentage||this.verticalScrollLength<0)&&0===a},b.prototype.atBottom=function(a){return this.y&&(1===this.y.percentage||0===this.verticalScrollLength)&&a>0},b.prototype.atLeft=function(a){return this.x&&(0===this.x.percentage||this.horizontalScrollLength<0)&&0===a},b.prototype.atRight=function(a){return this.x&&(1===this.x.percentage||0===this.horizontalScrollLength)&&a>0},b.Sources={ViewPortScroll:"ViewPortScroll",RenderContainerMouseWheel:"RenderContainerMouseWheel",RenderContainerTouchMove:"RenderContainerTouchMove",Other:99},b}])}(),function(){"use strict";angular.module("ui.grid").service("gridClassFactory",["gridUtil","$q","$compile","$templateCache","uiGridConstants","Grid","GridColumn","GridRow",function(a,b,c,d,e,f,g,h){var i={createGrid:function(d){d="undefined"!=typeof d?d:{},d.id=a.newId();var e=new f(d);if(e.options.rowTemplate){var g=b.defer();e.getRowTemplateFn=g.promise,a.getTemplate(e.options.rowTemplate).then(function(a){var b=c(a);g.resolve(b)},function(a){throw new Error("Couldn't fetch/use row template '"+e.options.rowTemplate+"'")})}return e.registerColumnBuilder(i.defaultColumnBuilder),e.registerRowBuilder(i.rowTemplateAssigner),e.registerRowsProcessor(function(a){return a.forEach(function(a){a.evaluateRowVisibility(!0)},50),a}),e.registerColumnsProcessor(function(a){return a.forEach(function(a){a.visible=!0}),a},50),e.registerColumnsProcessor(function(a){return a.forEach(function(a){a.colDef.visible===!1&&(a.visible=!1)}),a},50),e.registerRowsProcessor(e.searchRows,100),e.options.externalSort&&angular.isFunction(e.options.externalSort)?e.registerRowsProcessor(e.options.externalSort,200):e.registerRowsProcessor(e.sortByColumn,200),e},defaultColumnBuilder:function(c,d,f){var g=[],h=function(b,f,h,i,j){c[b]?d[f]=c[b]:d[f]=h,g.push(a.getTemplate(d[f]).then(function(a){angular.isFunction(a)&&(a=a());var c="cellTooltip"===j?"col.cellTooltip(row,col)":"col.headerTooltip(col)";
-j&&d[j]===!1?a=a.replace(e.TOOLTIP,""):j&&d[j]&&(a=a.replace(e.TOOLTIP,'title="{{'+c+' CUSTOM_FILTERS }}"')),i?d[b]=a.replace(e.CUSTOM_FILTERS,function(){return d[i]?"|"+d[i]:""}):d[b]=a},function(a){throw new Error("Couldn't fetch/use colDef."+b+" '"+c[b]+"'")}))};return h("cellTemplate","providedCellTemplate","ui-grid/uiGridCell","cellFilter","cellTooltip"),d.cellTemplatePromise=g[0],h("headerCellTemplate","providedHeaderCellTemplate","ui-grid/uiGridHeaderCell","headerCellFilter","headerTooltip"),h("footerCellTemplate","providedFooterCellTemplate","ui-grid/uiGridFooterCell","footerCellFilter"),h("filterHeaderTemplate","providedFilterHeaderTemplate","ui-grid/ui-grid-filter"),d.compiledElementFnDefer=b.defer(),b.all(g)},rowTemplateAssigner:function(d){var e=this;if(d.rowTemplate){var f=b.defer();d.getRowTemplateFn=f.promise,a.getTemplate(d.rowTemplate).then(function(a){var b=c(a);f.resolve(b)},function(a){throw new Error("Couldn't fetch/use row template '"+d.rowTemplate+"'")})}else d.rowTemplate=e.options.rowTemplate,d.getRowTemplateFn=e.getRowTemplateFn;return d.getRowTemplateFn}};return i}])}(),function(){function a(a){return a.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var b=angular.module("ui.grid");b.service("rowSearcher",["gridUtil","uiGridConstants",function(b,c){var d=c.filter.CONTAINS,e={};return e.getTerm=function(a){if("undefined"==typeof a.term)return a.term;var b=a.term;return"string"==typeof b&&(b=b.trim()),b},e.stripTerm=function(b){var c=e.getTerm(b);return"string"==typeof c?a(c.replace(/(^\*|\*$)/g,"")):c},e.guessCondition=function(a){if("undefined"==typeof a.term||!a.term)return d;var b=e.getTerm(a);if(/\*/.test(b)){var c="";a.flags&&a.flags.caseSensitive||(c+="i");var f=b.replace(/(\\)?\*/g,function(a,b){return b?a:"[\\s\\S]*?"});return new RegExp("^"+f+"$",c)}return d},e.setupFilters=function(a){for(var d=[],f=a.length,g=0;f>g;g++){var h=a[g];if(h.noTerm||!b.isNullOrUndefined(h.term)){var i={},j="";h.flags&&h.flags.caseSensitive||(j+="i"),b.isNullOrUndefined(h.term)||(i.term=e.stripTerm(h)),h.condition?i.condition=h.condition:i.condition=e.guessCondition(h),i.flags=angular.extend({caseSensitive:!1,date:!1},h.flags),i.condition===c.filter.STARTS_WITH&&(i.startswithRE=new RegExp("^"+i.term,j)),i.condition===c.filter.ENDS_WITH&&(i.endswithRE=new RegExp(i.term+"$",j)),i.condition===c.filter.CONTAINS&&(i.containsRE=new RegExp(i.term,j)),i.condition===c.filter.EXACT&&(i.exactRE=new RegExp("^"+i.term+"$",j)),d.push(i)}}return d},e.runColumnFilter=function(a,b,d,e){var f,g=typeof e.condition,h=e.term;if(f=d.filterCellFiltered?a.getCellDisplayValue(b,d):a.getCellValue(b,d),e.condition instanceof RegExp)return e.condition.test(f);if("function"===g)return e.condition(h,f,b,d);if(e.startswithRE)return e.startswithRE.test(f);if(e.endswithRE)return e.endswithRE.test(f);if(e.containsRE)return e.containsRE.test(f);if(e.exactRE)return e.exactRE.test(f);if(e.condition===c.filter.NOT_EQUAL){var i=new RegExp("^"+h+"$");return!i.exec(f)}if("number"==typeof f&&"string"==typeof h){var j=parseFloat(h.replace(/\\\./,".").replace(/\\\-/,"-"));isNaN(j)||(h=j)}return e.flags.date===!0&&(f=new Date(f),h=new Date(h.replace(/\\/g,""))),e.condition===c.filter.GREATER_THAN?f>h:e.condition===c.filter.GREATER_THAN_OR_EQUAL?f>=h:e.condition===c.filter.LESS_THAN?h>f:e.condition===c.filter.LESS_THAN_OR_EQUAL?h>=f:!0},e.searchColumn=function(a,b,c,d){if(a.options.useExternalFiltering)return!0;for(var f=d.length,g=0;f>g;g++){var h=d[g],i=e.runColumnFilter(a,b,c,h);if(!i)return!1}return!0},e.search=function(a,c,d){if(c){if(!a.options.enableFiltering)return c;for(var f=[],g=d.length,h=function(a){var c=!1;return a.forEach(function(a){(!b.isNullOrUndefined(a.term)&&""!==a.term||a.noTerm)&&(c=!0)}),c},i=0;g>i;i++){var j=d[i];"undefined"!=typeof j.filters&&h(j.filters)&&f.push({col:j,filters:e.setupFilters(j.filters)})}if(f.length>0){for(var k=function(a,b,c,d){b.visible&&!e.searchColumn(a,b,c,d)&&(b.visible=!1)},l=function(a,b){for(var d=c.length,e=0;d>e;e++)k(a,c[e],b.col,b.filters)},m=f.length,n=0;m>n;n++)l(a,f[n]);a.api.core.raise.rowsVisibleChanged&&a.api.core.raise.rowsVisibleChanged()}return c}},e}])}(),function(){var a=angular.module("ui.grid");a.service("rowSorter",["$parse","uiGridConstants",function(a,b){var c="("+b.CURRENCY_SYMBOLS.map(function(a){return"\\"+a}).join("|")+")?",d=(new RegExp("^[-+]?"+c+"[\\d,.]+"+c+"%?$"),{colSortFnCache:{}});return d.guessSortFn=function(a){switch(a){case"number":return d.sortNumber;case"numberStr":return d.sortNumberStr;case"boolean":return d.sortBool;case"string":return d.sortAlpha;case"date":return d.sortDate;case"object":return d.basicSort;default:throw new Error("No sorting function found for type:"+a)}},d.handleNulls=function(a,b){if(!a&&0!==a&&a!==!1||!b&&0!==b&&b!==!1){if(!a&&0!==a&&a!==!1&&!b&&0!==b&&b!==!1)return 0;if(!a&&0!==a&&a!==!1)return 1;if(!b&&0!==b&&b!==!1)return-1}return null},d.basicSort=function(a,b){var c=d.handleNulls(a,b);return null!==c?c:a===b?0:b>a?-1:1},d.sortNumber=function(a,b){var c=d.handleNulls(a,b);return null!==c?c:a-b},d.sortNumberStr=function(a,b){var c=d.handleNulls(a,b);if(null!==c)return c;var e,f,g=!1,h=!1;return e=parseFloat(a.replace(/[^0-9.-]/g,"")),isNaN(e)&&(g=!0),f=parseFloat(b.replace(/[^0-9.-]/g,"")),isNaN(f)&&(h=!0),g&&h?0:g?1:h?-1:e-f},d.sortAlpha=function(a,b){var c=d.handleNulls(a,b);if(null!==c)return c;var e=a.toString().toLowerCase(),f=b.toString().toLowerCase();return e===f?0:f>e?-1:1},d.sortDate=function(a,b){var c=d.handleNulls(a,b);if(null!==c)return c;a instanceof Date||(a=new Date(a)),b instanceof Date||(b=new Date(b));var e=a.getTime(),f=b.getTime();return e===f?0:f>e?-1:1},d.sortBool=function(a,b){var c=d.handleNulls(a,b);return null!==c?c:a&&b?0:a||b?a?1:-1:0},d.getSortFn=function(a,b,c){var e;return d.colSortFnCache[b.colDef.name]?e=d.colSortFnCache[b.colDef.name]:void 0!==b.sortingAlgorithm?(e=b.sortingAlgorithm,d.colSortFnCache[b.colDef.name]=b.sortingAlgorithm):b.sortCellFiltered&&b.cellFilter?(e=d.sortAlpha,d.colSortFnCache[b.colDef.name]=e):(e=d.guessSortFn(b.colDef.type),e?d.colSortFnCache[b.colDef.name]=e:e=d.sortAlpha),e},d.prioritySort=function(a,b){return void 0!==a.sort.priority&&void 0!==b.sort.priority?a.sort.priority<b.sort.priority?-1:a.sort.priority===b.sort.priority?0:1:a.sort.priority||0===a.sort.priority?-1:b.sort.priority||0===b.sort.priority?1:0},d.sort=function(a,c,e){if(c){if(a.options.useExternalSorting)return c;var f=[];if(e.forEach(function(a){!a.sort||a.sort.ignoreSort||!a.sort.direction||a.sort.direction!==b.ASC&&a.sort.direction!==b.DESC||f.push(a)}),f=f.sort(d.prioritySort),0===f.length)return c;var g,h,i=function(a,b){a.entity.$$uiGridIndex=b};c.forEach(i);var j=c.slice(0),k=function(c,e){for(var i,k=0,l=0;0===k&&l<f.length;){g=f[l],h=f[l].sort.direction,i=d.getSortFn(a,g,j);var m,n;g.sortCellFiltered?(m=a.getCellDisplayValue(c,g),n=a.getCellDisplayValue(e,g)):(m=a.getCellValue(c,g),n=a.getCellValue(e,g)),k=i(m,n,c,e,h),l++}return 0===k?c.entity.$$uiGridIndex-e.entity.$$uiGridIndex:h===b.ASC?k:0-k},l=c.sort(k),m=function(a,b){delete a.entity.$$uiGridIndex};return c.forEach(m),l}},d}])}(),function(){function a(a){var b=a;return"undefined"!=typeof b.length&&b.length&&(b=a[0]),b.ownerDocument.defaultView.getComputedStyle(b,null)}function b(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0,h=["Top","Right","Bottom","Left"];4>f;f+=2){var i=h[f];if("margin"===c){var j=parseFloat(e[c+i]);isNaN(j)||(g+=j)}if(d){if("content"===c){var k=parseFloat(e["padding"+i]);isNaN(k)||(g-=k)}if("margin"!==c){var l=parseFloat(e["border"+i+"Width"]);isNaN(l)||(g-=l)}}else{var m=parseFloat(e["padding"+i]);if(isNaN(m)||(g+=m),"padding"!==c){var n=parseFloat(e["border"+i+"Width"]);isNaN(n)||(g+=n)}}}return g}function c(c,d,e){var f,h=!0,i=a(c),j="border-box"===i.boxSizing;if(0>=f||null==f){if(f=i[d],(0>f||null==f)&&(f=c.style[d]),g.test(f))return f;h=j&&!0,f=parseFloat(f)||0}var k=f+b(c,d,e||(j?"border":"content"),h,i);return k}function d(b){b=angular.element(b)[0];var c=b.parentElement;return c||(c=document.getElementsByTagName("body")[0]),parseInt(a(c).fontSize)||parseInt(a(b).fontSize)||16}var e,f=angular.module("ui.grid");"function"!=typeof Function.prototype.bind&&(e=function(){var a=Array.prototype.slice;return function(b){var c=this,d=a.call(arguments,1);return d.length?function(){return arguments.length?c.apply(b,d.concat(a.call(arguments))):c.apply(b,d)}:function(){return arguments.length?c.apply(b,arguments):c.call(b)}}});var g=new RegExp("^("+/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source+")(?!px)[a-z%]+$","i"),h=/^(block|none|table(?!-c[ea]).+)/,i={position:"absolute",visibility:"hidden",display:"block"},j=["0","0","0","0"],k="uiGrid-";f.service("gridUtil",["$log","$window","$document","$http","$templateCache","$timeout","$interval","$injector","$q","$interpolate","uiGridConstants",function(f,g,l,m,n,o,p,q,r,s,t){function u(a,b){var c=angular.element(this),d=0,e=0,f=0,g=0;if(b.originalEvent&&(b=b.originalEvent),"detail"in b&&(f=-1*b.detail),"wheelDelta"in b&&(f=b.wheelDelta),"wheelDeltaY"in b&&(f=b.wheelDeltaY),"wheelDeltaX"in b&&(e=-1*b.wheelDeltaX),"axis"in b&&b.axis===b.HORIZONTAL_AXIS&&(e=-1*f,f=0),d=0===f?e:f,"deltaY"in b&&(f=-1*b.deltaY,d=f),"deltaX"in b&&(e=b.deltaX,0===f&&(d=-1*e)),0!==f||0!==e){if(1===b.deltaMode){var h=c.data("mousewheel-line-height");d*=h,f*=h,e*=h}else if(2===b.deltaMode){var i=c.data("mousewheel-page-height");d*=i,f*=i,e*=i}g=Math.max(Math.abs(f),Math.abs(e)),(!z||z>g)&&(z=g,w(b,g)&&(z/=40)),d=Math[d>=1?"floor":"ceil"](d/z),e=Math[e>=1?"floor":"ceil"](e/z),f=Math[f>=1?"floor":"ceil"](f/z),b.deltaMode=0;var j={originalEvent:b,deltaX:e,deltaY:f,deltaFactor:z,preventDefault:function(){b.preventDefault()},stopPropagation:function(){b.stopPropagation()}};y&&clearTimeout(y),y=setTimeout(v,200),a.call(c[0],j)}}function v(){z=null}function w(a,b){return"mousewheel"===a.type&&b%120===0}var x={augmentWidthOrHeight:b,getStyles:a,createBoundedWrapper:function(a,b){return function(){return b.apply(a,arguments)}},readableColumnName:function(a){return"undefined"==typeof a||void 0===a||null===a?a:("string"!=typeof a&&(a=String(a)),a.replace(/_+/g," ").replace(/^[A-Z]+$/,function(a){return angular.lowercase(angular.uppercase(a.charAt(0))+a.slice(1))}).replace(/([\w\u00C0-\u017F]+)/g,function(a){return angular.uppercase(a.charAt(0))+a.slice(1)}).replace(/(\w+?(?=[A-Z]))/g,"$1 "))},getColumnsFromData:function(a,b){var c=[];if(!a||"undefined"==typeof a[0]||void 0===a[0])return[];angular.isUndefined(b)&&(b=[]);var d=a[0];return angular.forEach(d,function(a,d){-1===b.indexOf(d)&&c.push({name:d})}),c},newId:function(){var a=(new Date).getTime();return function(){return a+=1}}(),getTemplate:function(a){if(n.get(a))return x.postProcessTemplate(n.get(a));if(a.hasOwnProperty("then"))return a.then(x.postProcessTemplate);try{if(angular.element(a).length>0)return r.when(a).then(x.postProcessTemplate)}catch(b){}return x.logDebug("fetching url",a),m({method:"GET",url:a}).then(function(b){var c=b.data.trim();return n.put(a,c),c},function(b){throw new Error("Could not get template "+a+": "+b)}).then(x.postProcessTemplate)},postProcessTemplate:function(a){var b=s.startSymbol(),c=s.endSymbol();return("{{"!==b||"}}"!==c)&&(a=a.replace(/\{\{/g,b),a=a.replace(/\}\}/g,c)),r.when(a)},guessType:function(a){var b=typeof a;switch(b){case"number":case"boolean":case"string":return b;default:return angular.isDate(a)?"date":"object"}},elementWidth:function(a){},elementHeight:function(a){},getScrollbarWidth:function(){var a=document.createElement("div");a.style.visibility="hidden",a.style.width="100px",a.style.msOverflowStyle="scrollbar",document.body.appendChild(a);var b=a.offsetWidth;a.style.overflow="scroll";var c=document.createElement("div");c.style.width="100%",a.appendChild(c);var d=c.offsetWidth;return a.parentNode.removeChild(a),b-d},swap:function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},fakeElement:function(a,b,c,d){var e,f,g=angular.element(a).clone()[0];for(f in b)g.style[f]=b[f];return angular.element(document.body).append(g),e=c.call(g,g),angular.element(g).remove(),e},normalizeWheelEvent:function(a){var b,c,d,e=a||window.event,f=([].slice.call(arguments,1),0),g=0,h=0,i=0,j=0;return e.originalEvent&&(e=e.originalEvent),e.wheelDelta&&(f=e.wheelDelta),e.detail&&(f=-1*e.detail),h=f,void 0!==e.axis&&e.axis===e.HORIZONTAL_AXIS&&(h=0,g=-1*f),e.deltaY&&(h=-1*e.deltaY,f=h),e.deltaX&&(g=e.deltaX,f=-1*g),void 0!==e.wheelDeltaY&&(h=e.wheelDeltaY),void 0!==e.wheelDeltaX&&(g=e.wheelDeltaX),i=Math.abs(f),(!b||b>i)&&(b=i),j=Math.max(Math.abs(h),Math.abs(g)),(!c||c>j)&&(c=j),d=f>0?"floor":"ceil",f=Math[d](f/b),g=Math[d](g/c),h=Math[d](h/c),{delta:f,deltaX:g,deltaY:h}},isTouchEnabled:function(){var a;return("ontouchstart"in g||g.DocumentTouch&&l instanceof DocumentTouch)&&(a=!0),a},isNullOrUndefined:function(a){return void 0===a||null===a?!0:!1},endsWith:function(a,b){return a&&b&&"string"==typeof a?-1!==a.indexOf(b,a.length-b.length):!1},arrayContainsObjectWithProperty:function(a,b,c){var d=!1;return angular.forEach(a,function(a){a[b]===c&&(d=!0)}),d},numericAndNullSort:function(a,b){return null===a?1:null===b?-1:null===a&&null===b?0:a-b},disableAnimations:function(a){var b;try{b=q.get("$animate"),angular.version.major>1||1===angular.version.major&&angular.version.minor>=4?b.enabled(a,!1):b.enabled(!1,a)}catch(c){}},enableAnimations:function(a){var b;try{return b=q.get("$animate"),angular.version.major>1||1===angular.version.major&&angular.version.minor>=4?b.enabled(a,!0):b.enabled(!0,a),b}catch(c){}},nextUid:function(){for(var a,b=j.length;b;){if(b--,a=j[b].charCodeAt(0),57===a)return j[b]="A",k+j.join("");if(90!==a)return j[b]=String.fromCharCode(a+1),k+j.join("");j[b]="0"}return j.unshift("0"),k+j.join("")},hashKey:function(a){var b,c=typeof a;return"object"===c&&null!==a?"function"==typeof(b=a.$$hashKey)?b=a.$$hashKey():"undefined"!=typeof a.$$hashKey&&a.$$hashKey?b=a.$$hashKey:void 0===b&&(b=a.$$hashKey=x.nextUid()):b=a,c+":"+b},resetUids:function(){j=["0","0","0"]},logError:function(a){t.LOG_ERROR_MESSAGES&&f.error(a)},logWarn:function(a){t.LOG_WARN_MESSAGES&&f.warn(a)},logDebug:function(){t.LOG_DEBUG_MESSAGES&&f.debug.apply(f,arguments)}};x.focus={queue:[],byId:function(a,b){this._purgeQueue();var c=o(function(){var c=(b&&b.id?b.id+"-":"")+a,d=g.document.getElementById(c);d?d.focus():x.logWarn("[focus.byId] Element id "+c+" was not found.")});return this.queue.push(c),c},byElement:function(a){if(!angular.isElement(a))return x.logWarn("Trying to focus on an element that isn't an element."),r.reject("not-element");a=angular.element(a),this._purgeQueue();var b=o(function(){a&&a[0].focus()});return this.queue.push(b),b},bySelector:function(a,b,c){var d=this;if(!angular.isElement(a))throw new Error("The parent element is not an element.");a=angular.element(a);var e=function(){var c=a[0].querySelector(b);return d.byElement(c)};if(this._purgeQueue(),c){var f=o(e);return this.queue.push(o(e)),f}return e()},_purgeQueue:function(){this.queue.forEach(function(a){o.cancel(a)}),this.queue=[]}},["width","height"].forEach(function(b){var d=angular.uppercase(b.charAt(0))+b.substr(1);x["element"+d]=function(d,e){var f=d;if(f&&"undefined"!=typeof f.length&&f.length&&(f=d[0]),f){var g=a(f);return 0===f.offsetWidth&&h.test(g.display)?x.swap(f,i,function(){return c(f,b,e)}):c(f,b,e)}return null},x["outerElement"+d]=function(a,b){return a?x["element"+d].call(this,a,b?"margin":"border"):null}}),x.closestElm=function(a,b){"undefined"!=typeof a.length&&a.length&&(a=a[0]);var c;["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"].some(function(a){return"function"==typeof document.body[a]?(c=a,!0):!1});for(var d;null!==a;){if(d=a.parentElement,null!==d&&d[c](b))return d;a=d}return null},x.type=function(a){var b=Function.prototype.toString.call(a.constructor);return b.match(/function (.*?)\(/)[1]},x.getBorderSize=function(b,c){"undefined"!=typeof b.length&&b.length&&(b=b[0]);var d=a(b);c=c?"border"+c.charAt(0).toUpperCase()+c.slice(1):"border",c+="Width";var e=parseInt(d[c],10);return isNaN(e)?0:e},x.detectBrowser=function(){var a=g.navigator.userAgent,b={chrome:/chrome/i,safari:/safari/i,firefox:/firefox/i,ie:/internet explorer|trident\//i};for(var c in b)if(b[c].test(a))return c;return"unknown"},x.rtlScrollType=function B(){if(B.type)return B.type;var a=angular.element('<div dir="rtl" style="font-size: 14px; width: 1px; height: 1px; position: absolute; top: -1000px; overflow: scroll">A</div>')[0],b="reverse";return document.body.appendChild(a),a.scrollLeft>0?b="default":(a.scrollLeft=1,0===a.scrollLeft&&(b="negative")),angular.element(a).remove(),B.type=b,b},x.normalizeScrollLeft=function(a,b){"undefined"!=typeof a.length&&a.length&&(a=a[0]);var c=a.scrollLeft;if(b.isRTL())switch(x.rtlScrollType()){case"default":return a.scrollWidth-c-a.clientWidth;case"negative":return Math.abs(c);case"reverse":return c}return c},x.denormalizeScrollLeft=function(a,b,c){if("undefined"!=typeof a.length&&a.length&&(a=a[0]),c.isRTL())switch(x.rtlScrollType()){case"default":var d=a.scrollWidth-a.clientWidth;return d-b;case"negative":return-1*b;case"reverse":return b}return b},x.preEval=function(a){var b=t.BRACKET_REGEXP.exec(a);if(b)return(b[1]?x.preEval(b[1]):b[1])+b[2]+(b[3]?x.preEval(b[3]):b[3]);a=a.replace(t.APOS_REGEXP,"\\'");var c=a.split(t.DOT_REGEXP),d=[c.shift()];return angular.forEach(c,function(a){d.push(a.replace(t.FUNC_REGEXP,"']$1"))}),d.join("['")},x.debounce=function(a,b,c){function d(){g=this,f=arguments;var d=function(){e=null,c||(h=a.apply(g,f))},i=c&&!e;return e&&o.cancel(e),e=o(d,b),i&&(h=a.apply(g,f)),h}var e,f,g,h;return d.cancel=function(){o.cancel(e),e=null},d},x.throttle=function(a,b,c){function d(b){g=+new Date,a.apply(e,f),p(function(){h=null},0,1)}c=c||{};var e,f,g=0,h=null;return function(){if(e=this,f=arguments,null===h){var a=+new Date-g;a>b?d():c.trailing&&(h=p(d,b-a,1))}}},x.on={},x.off={},x._events={},x.addOff=function(a){x.off[a]=function(b,c){var d=x._events[a].indexOf(c);d>0&&x._events[a].removeAt(d)}};var y,z,A="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"];return x.on.mousewheel=function(a,b){if(a&&b){var c=angular.element(a);c.data("mousewheel-line-height",d(c)),c.data("mousewheel-page-height",x.elementHeight(c)),c.data("mousewheel-callbacks")||c.data("mousewheel-callbacks",{});var f=c.data("mousewheel-callbacks");f[b]=(Function.prototype.bind||e).call(u,c[0],b);for(var g=A.length;g;)c.on(A[--g],f[b])}},x.off.mousewheel=function(a,b){var c=angular.element(a),d=c.data("mousewheel-callbacks"),e=d[b];if(e)for(var f=A.length;f;)c.off(A[--f],e);delete d[b],0===Object.keys(d).length&&(c.removeData("mousewheel-line-height"),c.removeData("mousewheel-page-height"),c.removeData("mousewheel-callbacks"))},x}]),f.filter("px",function(){return function(a){return a.match(/^[\d\.]+$/)?a+"px":a}})}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){var b={aggregate:{label:"položky"},groupPanel:{description:"Přesuňte záhlaví zde pro vytvoření skupiny dle sloupce."},search:{placeholder:"Hledat...",showingItems:"Zobrazuji položky:",selectedItems:"Vybrané položky:",totalItems:"Celkem položek:",size:"Velikost strany:",first:"První strana",next:"Další strana",previous:"Předchozí strana",last:"Poslední strana"},menu:{text:"Vyberte sloupec:"},sort:{ascending:"Seřadit od A-Z",descending:"Seřadit od Z-A",remove:"Odebrat seřazení"},column:{hide:"Schovat sloupec"},aggregation:{count:"celkem řádků: ",sum:"celkem: ",avg:"avg: ",min:"min.: ",max:"max.: "},pinning:{pinLeft:"Zamknout vlevo",pinRight:"Zamknout vpravo",unpin:"Odemknout"},gridMenu:{columns:"Sloupce:",importerTitle:"Importovat soubor",exporterAllAsCsv:"Exportovat všechna data do csv",exporterVisibleAsCsv:"Exportovat viditelná data do csv",exporterSelectedAsCsv:"Exportovat vybraná data do csv",exporterAllAsPdf:"Exportovat všechna data do pdf",exporterVisibleAsPdf:"Exportovat viditelná data do pdf",exporterSelectedAsPdf:"Exportovat vybraná data do pdf",clearAllFilters:"Odstranit všechny filtry"},importer:{noHeaders:"Názvy sloupců se nepodařilo získat, obsahuje soubor záhlaví?",noObjects:"Data se nepodařilo zpracovat, obsahuje soubor řádky mimo záhlaví?",invalidCsv:"Soubor nelze zpracovat, jedná se o CSV?",invalidJson:"Soubor nelze zpracovat, je to JSON?",jsonNotArray:"Soubor musí obsahovat json. Ukončuji.."},pagination:{sizes:"položek na stránku",totalItems:"položek"},grouping:{group:"Seskupit",ungroup:"Odebrat seskupení",aggregate_count:"Agregace: Count",aggregate_sum:"Agregace: Sum",aggregate_max:"Agregace: Max",aggregate_min:"Agregace: Min",aggregate_avg:"Agregace: Avg",aggregate_remove:"Agregace: Odebrat"}};return a.add("cs",b),a.add("cz",b),a.add("cs-cz",b),a.add("cs-CZ",b),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("da",{aggregate:{label:"artikler"},groupPanel:{description:"Grupér rækker udfra en kolonne ved at trække dens overskift hertil."},search:{placeholder:"Søg...",showingItems:"Viste rækker:",selectedItems:"Valgte rækker:",totalItems:"Rækker totalt:",size:"Side størrelse:",first:"Første side",next:"Næste side",previous:"Forrige side",last:"Sidste side"},menu:{text:"Vælg kolonner:"},column:{hide:"Skjul kolonne"},aggregation:{count:"samlede rækker: ",sum:"smalede: ",avg:"gns: ",min:"min: ",max:"max: "},gridMenu:{columns:"Columns:",importerTitle:"Import file",exporterAllAsCsv:"Export all data as csv",exporterVisibleAsCsv:"Export visible data as csv",exporterSelectedAsCsv:"Export selected data as csv",exporterAllAsPdf:"Export all data as pdf",exporterVisibleAsPdf:"Export visible data as pdf",exporterSelectedAsPdf:"Export selected data as pdf",clearAllFilters:"Clear all filters"},importer:{noHeaders:"Column names were unable to be derived, does the file have a header?",noObjects:"Objects were not able to be derived, was there data in the file other than headers?",invalidCsv:"File was unable to be processed, is it valid CSV?",invalidJson:"File was unable to be processed, is it valid Json?",jsonNotArray:"Imported json file must contain an array, aborting."}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("de",{aggregate:{label:"Eintrag"},groupPanel:{description:"Ziehen Sie eine Spaltenüberschrift hierhin, um nach dieser Spalte zu gruppieren."},search:{placeholder:"Suche...",showingItems:"Zeige Einträge:",selectedItems:"Ausgewählte Einträge:",totalItems:"Einträge gesamt:",size:"Einträge pro Seite:",first:"Erste Seite",next:"Nächste Seite",previous:"Vorherige Seite",last:"Letzte Seite"},menu:{text:"Spalten auswählen:"},sort:{ascending:"aufsteigend sortieren",descending:"absteigend sortieren",remove:"Sortierung zurücksetzen"},column:{hide:"Spalte ausblenden"},aggregation:{count:"Zeilen insgesamt: ",sum:"gesamt: ",avg:"Durchschnitt: ",min:"min: ",max:"max: "},pinning:{pinLeft:"Links anheften",pinRight:"Rechts anheften",unpin:"Lösen"},gridMenu:{columns:"Spalten:",importerTitle:"Datei importieren",exporterAllAsCsv:"Alle Daten als CSV exportieren",exporterVisibleAsCsv:"sichtbare Daten als CSV exportieren",exporterSelectedAsCsv:"markierte Daten als CSV exportieren",exporterAllAsPdf:"Alle Daten als PDF exportieren",exporterVisibleAsPdf:"sichtbare Daten als PDF exportieren",exporterSelectedAsPdf:"markierte Daten als CSV exportieren",clearAllFilters:"Alle filter reinigen"},importer:{noHeaders:"Es konnten keine Spaltennamen ermittelt werden. Sind in der Datei Spaltendefinitionen enthalten?",noObjects:"Es konnten keine Zeileninformationen gelesen werden, Sind in der Datei außer den Spaltendefinitionen auch Daten enthalten?",invalidCsv:"Die Datei konnte nicht eingelesen werden, ist es eine gültige CSV-Datei?",invalidJson:"Die Datei konnte nicht eingelesen werden. Enthält sie gültiges JSON?",jsonNotArray:"Die importierte JSON-Datei muß ein Array enthalten. Breche Import ab."},pagination:{sizes:"Einträge pro Seite",totalItems:"Einträge"},grouping:{group:"Gruppieren",ungroup:"Gruppierung aufheben",aggregate_count:"Agg: Anzahl",aggregate_sum:"Agg: Summe",aggregate_max:"Agg: Maximum",aggregate_min:"Agg: Minimum",aggregate_avg:"Agg: Mittelwert",aggregate_remove:"Aggregation entfernen"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("en",{headerCell:{aria:{defaultFilterLabel:"Filter for column",removeFilter:"Remove Filter",columnMenuButtonLabel:"Column Menu"},priority:"Priority:",filterLabel:"Filter for column: "},aggregate:{label:"items"},groupPanel:{description:"Drag a column header here and drop it to group by that column."},search:{placeholder:"Search...",showingItems:"Showing Items:",selectedItems:"Selected Items:",totalItems:"Total Items:",size:"Page Size:",first:"First Page",next:"Next Page",previous:"Previous Page",last:"Last Page"},menu:{text:"Choose Columns:"},sort:{ascending:"Sort Ascending",descending:"Sort Descending",none:"Sort None",remove:"Remove Sort"},column:{hide:"Hide Column"},aggregation:{count:"total rows: ",sum:"total: ",avg:"avg: ",min:"min: ",max:"max: "},pinning:{pinLeft:"Pin Left",pinRight:"Pin Right",unpin:"Unpin"},columnMenu:{close:"Close"},gridMenu:{aria:{buttonLabel:"Grid Menu"},columns:"Columns:",importerTitle:"Import file",exporterAllAsCsv:"Export all data as csv",exporterVisibleAsCsv:"Export visible data as csv",exporterSelectedAsCsv:"Export selected data as csv",exporterAllAsPdf:"Export all data as pdf",exporterVisibleAsPdf:"Export visible data as pdf",exporterSelectedAsPdf:"Export selected data as pdf",clearAllFilters:"Clear all filters"},importer:{noHeaders:"Column names were unable to be derived, does the file have a header?",noObjects:"Objects were not able to be derived, was there data in the file other than headers?",invalidCsv:"File was unable to be processed, is it valid CSV?",invalidJson:"File was unable to be processed, is it valid Json?",jsonNotArray:"Imported json file must contain an array, aborting."},pagination:{aria:{pageToFirst:"Page to first",pageBack:"Page back",pageSelected:"Selected page",pageForward:"Page forward",pageToLast:"Page to last"},sizes:"items per page",totalItems:"items",through:"through",of:"of"},grouping:{group:"Group",ungroup:"Ungroup",aggregate_count:"Agg: Count",aggregate_sum:"Agg: Sum",aggregate_max:"Agg: Max",aggregate_min:"Agg: Min",aggregate_avg:"Agg: Avg",aggregate_remove:"Agg: Remove"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("es",{aggregate:{label:"Artículos"},groupPanel:{description:"Arrastre un encabezado de columna aquí y suéltelo para agrupar por esa columna."},search:{placeholder:"Buscar...",showingItems:"Artículos Mostrados:",selectedItems:"Artículos Seleccionados:",totalItems:"Artículos Totales:",size:"Tamaño de Página:",first:"Primera Página",next:"Página Siguiente",previous:"Página Anterior",last:"Última Página"},menu:{text:"Elegir columnas:"},sort:{ascending:"Orden Ascendente",descending:"Orden Descendente",remove:"Sin Ordenar"},column:{hide:"Ocultar la columna"},aggregation:{count:"filas totales: ",sum:"total: ",avg:"media: ",min:"min: ",max:"max: "},pinning:{pinLeft:"Fijar a la Izquierda",pinRight:"Fijar a la Derecha",unpin:"Quitar Fijación"},gridMenu:{columns:"Columnas:",importerTitle:"Importar archivo",exporterAllAsCsv:"Exportar todo como csv",exporterVisibleAsCsv:"Exportar vista como csv",exporterSelectedAsCsv:"Exportar selección como csv",exporterAllAsPdf:"Exportar todo como pdf",exporterVisibleAsPdf:"Exportar vista como pdf",exporterSelectedAsPdf:"Exportar selección como pdf",clearAllFilters:"Limpiar todos los filtros"},importer:{noHeaders:"No fue posible derivar los nombres de las columnas, ¿tiene encabezados el archivo?",noObjects:"No fue posible obtener registros, ¿contiene datos el archivo, aparte de los encabezados?",invalidCsv:"No fue posible procesar el archivo, ¿es un CSV válido?",invalidJson:"No fue posible procesar el archivo, ¿es un Json válido?",jsonNotArray:"El archivo json importado debe contener un array, abortando."},pagination:{sizes:"registros por página",totalItems:"registros",of:"de"},grouping:{group:"Agrupar",ungroup:"Desagrupar",aggregate_count:"Agr: Cont",aggregate_sum:"Agr: Sum",aggregate_max:"Agr: Máx",aggregate_min:"Agr: Min",aggregate_avg:"Agr: Prom",aggregate_remove:"Agr: Quitar"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("fa",{aggregate:{label:"قلم"},groupPanel:{description:"عنوان یک ستون را بگیر و به گروهی از آن ستون رها کن."},search:{placeholder:"جستجو...",showingItems:"نمایش اقلام:",selectedItems:"قلم\200cهای انتخاب شده:",totalItems:"مجموع اقلام:",size:"اندازه\200cی صفحه:",first:"اولین صفحه",next:"صفحه\200cی\200cبعدی",previous:"صفحه\200cی\200c قبلی",last:"آخرین صفحه"},menu:{text:"ستون\200cهای انتخابی:"},sort:{ascending:"ترتیب صعودی",descending:"ترتیب نزولی",remove:"حذف مرتب کردن"},column:{hide:"پنهان\200cکردن ستون"},aggregation:{count:"تعداد: ",sum:"مجموع: ",avg:"میانگین: ",min:"کمترین: ",max:"بیشترین: "},pinning:{pinLeft:"پین کردن سمت چپ",pinRight:"پین کردن سمت راست",unpin:"حذف پین"},gridMenu:{columns:"ستون\200cها:",importerTitle:"وارد کردن فایل",exporterAllAsCsv:"خروجی تمام داده\200cها در فایل csv",exporterVisibleAsCsv:"خروجی داده\200cهای قابل مشاهده در فایل csv",exporterSelectedAsCsv:"خروجی داده\200cهای انتخاب\200cشده در فایل csv",exporterAllAsPdf:"خروجی تمام داده\200cها در فایل pdf",exporterVisibleAsPdf:"خروجی داده\200cهای قابل مشاهده در فایل pdf",exporterSelectedAsPdf:"خروجی داده\200cهای انتخاب\200cشده در فایل pdf",clearAllFilters:"پاک کردن تمام فیلتر"},importer:{noHeaders:"نام ستون قابل استخراج نیست. آیا فایل عنوان دارد؟",noObjects:"اشیا قابل استخراج نیستند. آیا به جز عنوان\200cها در فایل داده وجود دارد؟",invalidCsv:"فایل قابل پردازش نیست. آیا فرمت  csv  معتبر است؟",invalidJson:"فایل قابل پردازش نیست. آیا فرمت json   معتبر است؟",jsonNotArray:"فایل json وارد شده باید حاوی آرایه باشد. عملیات ساقط شد."},pagination:{sizes:"اقلام در هر صفحه",totalItems:"اقلام",of:"از"},grouping:{group:"گروه\200cبندی",ungroup:"حذف گروه\200cبندی",aggregate_count:"Agg: تعداد",aggregate_sum:"Agg: جمع",aggregate_max:"Agg: بیشینه",aggregate_min:"Agg: کمینه",aggregate_avg:"Agg: میانگین",aggregate_remove:"Agg: حذف"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("fi",{aggregate:{label:"rivit"},groupPanel:{description:"Raahaa ja pudota otsikko tähän ryhmittääksesi sarakkeen mukaan."},search:{placeholder:"Hae...",showingItems:"Näytetään rivejä:",selectedItems:"Valitut rivit:",totalItems:"Rivejä yht.:",size:"Näytä:",first:"Ensimmäinen sivu",next:"Seuraava sivu",previous:"Edellinen sivu",last:"Viimeinen sivu"},menu:{text:"Valitse sarakkeet:"},sort:{ascending:"Järjestä nouseva",descending:"Järjestä laskeva",remove:"Poista järjestys"},column:{hide:"Piilota sarake"},aggregation:{count:"Rivejä yht.: ",sum:"Summa: ",avg:"K.a.: ",min:"Min: ",max:"Max: "},pinning:{pinLeft:"Lukitse vasemmalle",pinRight:"Lukitse oikealle",unpin:"Poista lukitus"},gridMenu:{columns:"Sarakkeet:",importerTitle:"Tuo tiedosto",exporterAllAsCsv:"Vie tiedot csv-muodossa",exporterVisibleAsCsv:"Vie näkyvä tieto csv-muodossa",exporterSelectedAsCsv:"Vie valittu tieto csv-muodossa",exporterAllAsPdf:"Vie tiedot pdf-muodossa",exporterVisibleAsPdf:"Vie näkyvä tieto pdf-muodossa",exporterSelectedAsPdf:"Vie valittu tieto pdf-muodossa",clearAllFilters:"Puhdista kaikki suodattimet"},importer:{noHeaders:"Sarakkeen nimiä ei voitu päätellä, onko tiedostossa otsikkoriviä?",noObjects:"Tietoja ei voitu lukea, onko tiedostossa muuta kuin otsikkot?",
-invalidCsv:"Tiedostoa ei voitu käsitellä, oliko se CSV-muodossa?",invalidJson:"Tiedostoa ei voitu käsitellä, oliko se JSON-muodossa?",jsonNotArray:"Tiedosto ei sisältänyt taulukkoa, lopetetaan."}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("fr",{aggregate:{label:"éléments"},groupPanel:{description:"Faites glisser une en-tête de colonne ici pour créer un groupe de colonnes."},search:{placeholder:"Recherche...",showingItems:"Affichage des éléments :",selectedItems:"Éléments sélectionnés :",totalItems:"Nombre total d'éléments:",size:"Taille de page:",first:"Première page",next:"Page Suivante",previous:"Page précédente",last:"Dernière page"},menu:{text:"Choisir des colonnes :"},sort:{ascending:"Trier par ordre croissant",descending:"Trier par ordre décroissant",remove:"Enlever le tri"},column:{hide:"Cacher la colonne"},aggregation:{count:"lignes totales: ",sum:"total: ",avg:"moy: ",min:"min: ",max:"max: "},pinning:{pinLeft:"Épingler à gauche",pinRight:"Épingler à droite",unpin:"Détacher"},gridMenu:{columns:"Colonnes:",importerTitle:"Importer un fichier",exporterAllAsCsv:"Exporter toutes les données en CSV",exporterVisibleAsCsv:"Exporter les données visibles en CSV",exporterSelectedAsCsv:"Exporter les données sélectionnées en CSV",exporterAllAsPdf:"Exporter toutes les données en PDF",exporterVisibleAsPdf:"Exporter les données visibles en PDF",exporterSelectedAsPdf:"Exporter les données sélectionnées en PDF",clearAllFilters:"Nettoyez tous les filtres"},importer:{noHeaders:"Impossible de déterminer le nom des colonnes, le fichier possède-t-il une en-tête ?",noObjects:"Aucun objet trouvé, le fichier possède-t-il des données autres que l'en-tête ?",invalidCsv:"Le fichier n'a pas pu être traité, le CSV est-il valide ?",invalidJson:"Le fichier n'a pas pu être traité, le JSON est-il valide ?",jsonNotArray:"Le fichier JSON importé doit contenir un tableau, abandon."},pagination:{sizes:"éléments par page",totalItems:"éléments",of:"sur"},grouping:{group:"Grouper",ungroup:"Dégrouper",aggregate_count:"Agg: Compte",aggregate_sum:"Agg: Somme",aggregate_max:"Agg: Max",aggregate_min:"Agg: Min",aggregate_avg:"Agg: Moy",aggregate_remove:"Agg: Retirer"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("he",{aggregate:{label:"items"},groupPanel:{description:"גרור עמודה לכאן ושחרר בכדי לקבץ עמודה זו."},search:{placeholder:"חפש...",showingItems:"מציג:",selectedItems:'סה"כ נבחרו:',totalItems:'סה"כ רשומות:',size:"תוצאות בדף:",first:"דף ראשון",next:"דף הבא",previous:"דף קודם",last:"דף אחרון"},menu:{text:"בחר עמודות:"},sort:{ascending:"סדר עולה",descending:"סדר יורד",remove:"בטל"},column:{hide:"טור הסתר"},aggregation:{count:"total rows: ",sum:"total: ",avg:"avg: ",min:"min: ",max:"max: "},gridMenu:{columns:"Columns:",importerTitle:"Import file",exporterAllAsCsv:"Export all data as csv",exporterVisibleAsCsv:"Export visible data as csv",exporterSelectedAsCsv:"Export selected data as csv",exporterAllAsPdf:"Export all data as pdf",exporterVisibleAsPdf:"Export visible data as pdf",exporterSelectedAsPdf:"Export selected data as pdf",clearAllFilters:"Clean all filters"},importer:{noHeaders:"Column names were unable to be derived, does the file have a header?",noObjects:"Objects were not able to be derived, was there data in the file other than headers?",invalidCsv:"File was unable to be processed, is it valid CSV?",invalidJson:"File was unable to be processed, is it valid Json?",jsonNotArray:"Imported json file must contain an array, aborting."}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("hy",{aggregate:{label:"տվյալներ"},groupPanel:{description:"Ըստ սյան խմբավորելու համար քաշեք և գցեք վերնագիրն այստեղ։"},search:{placeholder:"Փնտրում...",showingItems:"Ցուցադրված տվյալներ՝",selectedItems:"Ընտրված:",totalItems:"Ընդամենը՝",size:"Տողերի քանակը էջում՝",first:"Առաջին էջ",next:"Հաջորդ էջ",previous:"Նախորդ էջ",last:"Վերջին էջ"},menu:{text:"Ընտրել սյուները:"},sort:{ascending:"Աճման կարգով",descending:"Նվազման կարգով",remove:"Հանել "},column:{hide:"Թաքցնել սյունը"},aggregation:{count:"ընդամենը տող՝ ",sum:"ընդամենը՝ ",avg:"միջին՝ ",min:"մին՝ ",max:"մաքս՝ "},pinning:{pinLeft:"Կպցնել ձախ կողմում",pinRight:"Կպցնել աջ կողմում",unpin:"Արձակել"},gridMenu:{columns:"Սյուներ:",importerTitle:"Ներմուծել ֆայլ",exporterAllAsCsv:"Արտահանել ամբողջը CSV",exporterVisibleAsCsv:"Արտահանել երևացող տվյալները CSV",exporterSelectedAsCsv:"Արտահանել ընտրված տվյալները CSV",exporterAllAsPdf:"Արտահանել PDF",exporterVisibleAsPdf:"Արտահանել երևացող տվյալները PDF",exporterSelectedAsPdf:"Արտահանել ընտրված տվյալները PDF",clearAllFilters:"Մաքրել բոլոր ֆիլտրերը"},importer:{noHeaders:"Հնարավոր չեղավ որոշել սյան վերնագրերը։ Արդյո՞ք ֆայլը ունի վերնագրեր։",noObjects:"Հնարավոր չեղավ կարդալ տվյալները։ Արդյո՞ք ֆայլում կան տվյալներ։",invalidCsv:"Հնարավոր չեղավ մշակել ֆայլը։ Արդյո՞ք այն վավեր CSV է։",invalidJson:"Հնարավոր չեղավ մշակել ֆայլը։ Արդյո՞ք այն վավեր Json է։",jsonNotArray:"Ներմուծված json ֆայլը պետք է պարունակի զանգված, կասեցվում է։"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("it",{aggregate:{label:"elementi"},groupPanel:{description:"Trascina un'intestazione all'interno del gruppo della colonna."},search:{placeholder:"Ricerca...",showingItems:"Mostra:",selectedItems:"Selezionati:",totalItems:"Totali:",size:"Tot Pagine:",first:"Prima",next:"Prossima",previous:"Precedente",last:"Ultima"},menu:{text:"Scegli le colonne:"},sort:{ascending:"Asc.",descending:"Desc.",remove:"Annulla ordinamento"},column:{hide:"Nascondi"},aggregation:{count:"righe totali: ",sum:"tot: ",avg:"media: ",min:"minimo: ",max:"massimo: "},pinning:{pinLeft:"Blocca a sx",pinRight:"Blocca a dx",unpin:"Blocca in alto"},gridMenu:{columns:"Colonne:",importerTitle:"Importa",exporterAllAsCsv:"Esporta tutti i dati in CSV",exporterVisibleAsCsv:"Esporta i dati visibili in CSV",exporterSelectedAsCsv:"Esporta i dati selezionati in CSV",exporterAllAsPdf:"Esporta tutti i dati in PDF",exporterVisibleAsPdf:"Esporta i dati visibili in PDF",exporterSelectedAsPdf:"Esporta i dati selezionati in PDF",clearAllFilters:"Pulire tutti i filtri"},importer:{noHeaders:"Impossibile reperire i nomi delle colonne, sicuro che siano indicati all'interno del file?",noObjects:"Impossibile reperire gli oggetti, sicuro che siano indicati all'interno del file?",invalidCsv:"Impossibile elaborare il file, sicuro che sia un CSV?",invalidJson:"Impossibile elaborare il file, sicuro che sia un JSON valido?",jsonNotArray:"Errore! Il file JSON da importare deve contenere un array."},grouping:{group:"Raggruppa",ungroup:"Separa",aggregate_count:"Agg: N. Elem.",aggregate_sum:"Agg: Somma",aggregate_max:"Agg: Massimo",aggregate_min:"Agg: Minimo",aggregate_avg:"Agg: Media",aggregate_remove:"Agg: Rimuovi"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("ja",{aggregate:{label:"項目"},groupPanel:{description:"ここに列ヘッダをドラッグアンドドロップして、その列でグループ化します。"},search:{placeholder:"検索...",showingItems:"表示中の項目:",selectedItems:"選択した項目:",totalItems:"項目の総数:",size:"ページサイズ:",first:"最初のページ",next:"次のページ",previous:"前のページ",last:"前のページ"},menu:{text:"列の選択:"},sort:{ascending:"昇順に並べ替え",descending:"降順に並べ替え",remove:"並べ替えの解除"},column:{hide:"列の非表示"},aggregation:{count:"合計行数: ",sum:"合計: ",avg:"平均: ",min:"最小: ",max:"最大: "},pinning:{pinLeft:"左に固定",pinRight:"右に固定",unpin:"固定解除"},gridMenu:{columns:"列:",importerTitle:"ファイルのインポート",exporterAllAsCsv:"すべてのデータをCSV形式でエクスポート",exporterVisibleAsCsv:"表示中のデータをCSV形式でエクスポート",exporterSelectedAsCsv:"選択したデータをCSV形式でエクスポート",exporterAllAsPdf:"すべてのデータをPDF形式でエクスポート",exporterVisibleAsPdf:"表示中のデータをPDF形式でエクスポート",exporterSelectedAsPdf:"選択したデータをPDF形式でエクスポート",clearAllFilters:"すべてのフィルタを清掃してください"},importer:{noHeaders:"列名を取得できません。ファイルにヘッダが含まれていることを確認してください。",noObjects:"オブジェクトを取得できません。ファイルにヘッダ以外のデータが含まれていることを確認してください。",invalidCsv:"ファイルを処理できません。ファイルが有効なCSV形式であることを確認してください。",invalidJson:"ファイルを処理できません。ファイルが有効なJSON形式であることを確認してください。",jsonNotArray:"インポートしたJSONファイルには配列が含まれている必要があります。処理を中止します。"},pagination:{sizes:"項目/ページ",totalItems:"項目"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("ko",{aggregate:{label:"아이템"},groupPanel:{description:"컬럼으로 그룹핑하기 위해서는 컬럼 헤더를 끌어 떨어뜨려 주세요."},search:{placeholder:"검색...",showingItems:"항목 보여주기:",selectedItems:"선택 항목:",totalItems:"전체 항목:",size:"페이지 크기:",first:"첫번째 페이지",next:"다음 페이지",previous:"이전 페이지",last:"마지막 페이지"},menu:{text:"컬럼을 선택하세요:"},sort:{ascending:"오름차순 정렬",descending:"내림차순 정렬",remove:"소팅 제거"},column:{hide:"컬럼 제거"},aggregation:{count:"전체 갯수: ",sum:"전체: ",avg:"평균: ",min:"최소: ",max:"최대: "},pinning:{pinLeft:"왼쪽 핀",pinRight:"오른쪽 핀",unpin:"핀 제거"},gridMenu:{columns:"컬럼:",importerTitle:"파일 가져오기",exporterAllAsCsv:"csv로 모든 데이터 내보내기",exporterVisibleAsCsv:"csv로 보이는 데이터 내보내기",exporterSelectedAsCsv:"csv로 선택된 데이터 내보내기",exporterAllAsPdf:"pdf로 모든 데이터 내보내기",exporterVisibleAsPdf:"pdf로 보이는 데이터 내보내기",exporterSelectedAsPdf:"pdf로 선택 데이터 내보내기",clearAllFilters:"모든 필터를 청소"},importer:{noHeaders:"컬럼명이 지정되어 있지 않습니다. 파일에 헤더가 명시되어 있는지 확인해 주세요.",noObjects:"데이터가 지정되어 있지 않습니다. 데이터가 파일에 있는지 확인해 주세요.",invalidCsv:"파일을 처리할 수 없습니다. 올바른 csv인지 확인해 주세요.",invalidJson:"파일을 처리할 수 없습니다. 올바른 json인지 확인해 주세요.",jsonNotArray:"json 파일은 배열을 포함해야 합니다."},pagination:{sizes:"페이지당 항목",totalItems:"전체 항목"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("nl",{aggregate:{label:"items"},groupPanel:{description:"Sleep hier een kolomnaam heen om op te groeperen."},search:{placeholder:"Zoeken...",showingItems:"Getoonde items:",selectedItems:"Geselecteerde items:",totalItems:"Totaal aantal items:",size:"Items per pagina:",first:"Eerste pagina",next:"Volgende pagina",previous:"Vorige pagina",last:"Laatste pagina"},menu:{text:"Kies kolommen:"},sort:{ascending:"Sorteer oplopend",descending:"Sorteer aflopend",remove:"Verwijder sortering"},column:{hide:"Verberg kolom"},aggregation:{count:"Aantal rijen: ",sum:"Som: ",avg:"Gemiddelde: ",min:"Min: ",max:"Max: "},pinning:{pinLeft:"Zet links vast",pinRight:"Zet rechts vast",unpin:"Maak los"},gridMenu:{columns:"Kolommen:",importerTitle:"Importeer bestand",exporterAllAsCsv:"Exporteer alle data als csv",exporterVisibleAsCsv:"Exporteer zichtbare data als csv",exporterSelectedAsCsv:"Exporteer geselecteerde data als csv",exporterAllAsPdf:"Exporteer alle data als pdf",exporterVisibleAsPdf:"Exporteer zichtbare data als pdf",exporterSelectedAsPdf:"Exporteer geselecteerde data als pdf",clearAllFilters:"Reinig alle filters"},importer:{noHeaders:"Kolomnamen kunnen niet worden afgeleid. Heeft het bestand een header?",noObjects:"Objecten kunnen niet worden afgeleid. Bevat het bestand data naast de headers?",invalidCsv:"Het bestand kan niet verwerkt worden. Is het een valide csv bestand?",invalidJson:"Het bestand kan niet verwerkt worden. Is het valide json?",jsonNotArray:"Het json bestand moet een array bevatten. De actie wordt geannuleerd."},pagination:{sizes:"items per pagina",totalItems:"items",of:"van de"},grouping:{group:"Groepeer",ungroup:"Groepering opheffen",aggregate_count:"Agg: Aantal",aggregate_sum:"Agg: Som",aggregate_max:"Agg: Max",aggregate_min:"Agg: Min",aggregate_avg:"Agg: Gem",aggregate_remove:"Agg: Verwijder"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("pt-br",{aggregate:{label:"itens"},groupPanel:{description:"Arraste e solte uma coluna aqui para agrupar por essa coluna"},search:{placeholder:"Procurar...",showingItems:"Mostrando os Itens:",selectedItems:"Items Selecionados:",totalItems:"Total de Itens:",size:"Tamanho da Página:",first:"Primeira Página",next:"Próxima Página",previous:"Página Anterior",last:"Última Página"},menu:{text:"Selecione as colunas:"},sort:{ascending:"Ordenar Ascendente",descending:"Ordenar Descendente",remove:"Remover Ordenação"},column:{hide:"Esconder coluna"},aggregation:{count:"total de linhas: ",sum:"total: ",avg:"med: ",min:"min: ",max:"max: "},pinning:{pinLeft:"Fixar Esquerda",pinRight:"Fixar Direita",unpin:"Desprender"},gridMenu:{columns:"Colunas:",importerTitle:"Importar arquivo",exporterAllAsCsv:"Exportar todos os dados como csv",exporterVisibleAsCsv:"Exportar dados visíveis como csv",exporterSelectedAsCsv:"Exportar dados selecionados como csv",exporterAllAsPdf:"Exportar todos os dados como pdf",exporterVisibleAsPdf:"Exportar dados visíveis como pdf",exporterSelectedAsPdf:"Exportar dados selecionados como pdf",clearAllFilters:"Limpar todos os filtros"},importer:{noHeaders:"Nomes de colunas não puderam ser derivados. O arquivo tem um cabeçalho?",noObjects:"Objetos não puderam ser derivados. Havia dados no arquivo, além dos cabeçalhos?",invalidCsv:"Arquivo não pode ser processado. É um CSV válido?",invalidJson:"Arquivo não pode ser processado. É um Json válido?",jsonNotArray:"Arquivo json importado tem que conter um array. Abortando."},pagination:{sizes:"itens por página",totalItems:"itens"},grouping:{group:"Agrupar",ungroup:"Desagrupar",aggregate_count:"Agr: Contar",aggregate_sum:"Agr: Soma",aggregate_max:"Agr: Max",aggregate_min:"Agr: Min",aggregate_avg:"Agr: Med",aggregate_remove:"Agr: Remover"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("pt",{aggregate:{label:"itens"},groupPanel:{description:"Arraste e solte uma coluna aqui para agrupar por essa coluna"},search:{placeholder:"Procurar...",showingItems:"Mostrando os Itens:",selectedItems:"Itens Selecionados:",totalItems:"Total de Itens:",size:"Tamanho da Página:",first:"Primeira Página",next:"Próxima Página",previous:"Página Anterior",last:"Última Página"},menu:{text:"Selecione as colunas:"},sort:{ascending:"Ordenar Ascendente",descending:"Ordenar Descendente",remove:"Remover Ordenação"},column:{hide:"Esconder coluna"},aggregation:{count:"total de linhas: ",sum:"total: ",avg:"med: ",min:"min: ",max:"max: "},pinning:{pinLeft:"Fixar Esquerda",pinRight:"Fixar Direita",unpin:"Desprender"},gridMenu:{columns:"Colunas:",importerTitle:"Importar ficheiro",exporterAllAsCsv:"Exportar todos os dados como csv",exporterVisibleAsCsv:"Exportar dados visíveis como csv",exporterSelectedAsCsv:"Exportar dados selecionados como csv",exporterAllAsPdf:"Exportar todos os dados como pdf",exporterVisibleAsPdf:"Exportar dados visíveis como pdf",exporterSelectedAsPdf:"Exportar dados selecionados como pdf",clearAllFilters:"Limpar todos os filtros"},importer:{noHeaders:"Nomes de colunas não puderam ser derivados. O ficheiro tem um cabeçalho?",noObjects:"Objetos não puderam ser derivados. Havia dados no ficheiro, além dos cabeçalhos?",invalidCsv:"Ficheiro não pode ser processado. É um CSV válido?",invalidJson:"Ficheiro não pode ser processado. É um Json válido?",jsonNotArray:"Ficheiro json importado tem que conter um array. Interrompendo."},pagination:{sizes:"itens por página",totalItems:"itens",of:"de"},grouping:{group:"Agrupar",ungroup:"Desagrupar",aggregate_count:"Agr: Contar",aggregate_sum:"Agr: Soma",aggregate_max:"Agr: Max",aggregate_min:"Agr: Min",aggregate_avg:"Agr: Med",aggregate_remove:"Agr: Remover"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("ru",{aggregate:{label:"элементы"},groupPanel:{description:"Для группировки по столбцу перетащите сюда его название."},search:{placeholder:"Поиск...",showingItems:"Показать элементы:",selectedItems:"Выбранные элементы:",totalItems:"Всего элементов:",size:"Размер страницы:",first:"Первая страница",next:"Следующая страница",previous:"Предыдущая страница",last:"Последняя страница"},menu:{text:"Выбрать столбцы:"},sort:{ascending:"По возрастанию",descending:"По убыванию",remove:"Убрать сортировку"},column:{hide:"Спрятать столбец"},aggregation:{count:"всего строк: ",sum:"итого: ",avg:"среднее: ",min:"мин: ",max:"макс: "},pinning:{pinLeft:"Закрепить слева",pinRight:"Закрепить справа",unpin:"Открепить"},gridMenu:{columns:"Столбцы:",importerTitle:"Import file",exporterAllAsCsv:"Экспортировать всё в CSV",exporterVisibleAsCsv:"Экспортировать видимые данные в CSV",exporterSelectedAsCsv:"Экспортировать выбранные данные в CSV",exporterAllAsPdf:"Экспортировать всё в PDF",exporterVisibleAsPdf:"Экспортировать видимые данные в PDF",exporterSelectedAsPdf:"Экспортировать выбранные данные в PDF",clearAllFilters:"Очистите все фильтры"},importer:{noHeaders:"Column names were unable to be derived, does the file have a header?",noObjects:"Objects were not able to be derived, was there data in the file other than headers?",invalidCsv:"File was unable to be processed, is it valid CSV?",invalidJson:"File was unable to be processed, is it valid Json?",jsonNotArray:"Imported json file must contain an array, aborting."}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("sk",{aggregate:{label:"items"},groupPanel:{description:"Pretiahni sem názov stĺpca pre zoskupenie podľa toho stĺpca."},search:{placeholder:"Hľadaj...",showingItems:"Zobrazujem položky:",selectedItems:"Vybraté položky:",totalItems:"Počet položiek:",size:"Počet:",first:"Prvá strana",next:"Ďalšia strana",previous:"Predchádzajúca strana",last:"Posledná strana"},menu:{text:"Vyberte stĺpce:"},sort:{ascending:"Zotriediť vzostupne",descending:"Zotriediť zostupne",remove:"Vymazať triedenie"},aggregation:{count:"total rows: ",sum:"total: ",avg:"avg: ",min:"min: ",max:"max: "},gridMenu:{columns:"Columns:",importerTitle:"Import file",exporterAllAsCsv:"Export all data as csv",exporterVisibleAsCsv:"Export visible data as csv",exporterSelectedAsCsv:"Export selected data as csv",exporterAllAsPdf:"Export all data as pdf",exporterVisibleAsPdf:"Export visible data as pdf",exporterSelectedAsPdf:"Export selected data as pdf",clearAllFilters:"Clear all filters"},importer:{noHeaders:"Column names were unable to be derived, does the file have a header?",noObjects:"Objects were not able to be derived, was there data in the file other than headers?",invalidCsv:"File was unable to be processed, is it valid CSV?",invalidJson:"File was unable to be processed, is it valid Json?",jsonNotArray:"Imported json file must contain an array, aborting."}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("sv",{aggregate:{label:"Artiklar"},groupPanel:{description:"Dra en kolumnrubrik hit och släpp den för att gruppera efter den kolumnen."},search:{placeholder:"Sök...",showingItems:"Visar artiklar:",selectedItems:"Valda artiklar:",totalItems:"Antal artiklar:",size:"Sidstorlek:",first:"Första sidan",next:"Nästa sida",previous:"Föregående sida",last:"Sista sidan"},menu:{text:"Välj kolumner:"},sort:{ascending:"Sortera stigande",descending:"Sortera fallande",remove:"Inaktivera sortering"},column:{hide:"Göm kolumn"},aggregation:{count:"Antal rader: ",sum:"Summa: ",avg:"Genomsnitt: ",min:"Min: ",max:"Max: "},pinning:{pinLeft:"Fäst vänster",pinRight:"Fäst höger",unpin:"Lösgör"},gridMenu:{columns:"Kolumner:",importerTitle:"Importera fil",exporterAllAsCsv:"Exportera all data som CSV",exporterVisibleAsCsv:"Exportera synlig data som CSV",exporterSelectedAsCsv:"Exportera markerad data som CSV",exporterAllAsPdf:"Exportera all data som PDF",exporterVisibleAsPdf:"Exportera synlig data som PDF",exporterSelectedAsPdf:"Exportera markerad data som PDF",clearAllFilters:"Rengör alla filter"},importer:{noHeaders:"Kolumnnamn kunde inte härledas. Har filen ett sidhuvud?",noObjects:"Objekt kunde inte härledas. Har filen data undantaget sidhuvud?",invalidCsv:"Filen kunde inte behandlas, är den en giltig CSV?",invalidJson:"Filen kunde inte behandlas, är den en giltig JSON?",jsonNotArray:"Importerad JSON-fil måste innehålla ett fält. Import avbruten."},pagination:{sizes:"Artiklar per sida",totalItems:"Artiklar"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("ta",{aggregate:{label:"உருப்படிகள்"},groupPanel:{description:"ஒரு பத்தியை குழுவாக அமைக்க அப்பத்தியின் தலைப்பை இங்கே  இழுத்து வரவும் "},search:{placeholder:"தேடல் ...",showingItems:"உருப்படிகளை காண்பித்தல்:",selectedItems:"தேர்ந்தெடுக்கப்பட்ட  உருப்படிகள்:",totalItems:"மொத்த உருப்படிகள்:",size:"பக்க அளவு: ",first:"முதல் பக்கம்",next:"அடுத்த பக்கம்",previous:"முந்தைய பக்கம் ",last:"இறுதி பக்கம்"},menu:{text:"பத்திகளை தேர்ந்தெடு:"},sort:{ascending:"மேலிருந்து கீழாக",descending:"கீழிருந்து மேலாக",remove:"வரிசையை நீக்கு"},column:{hide:"பத்தியை மறைத்து வை "},aggregation:{count:"மொத்த வரிகள்:",sum:"மொத்தம்: ",avg:"சராசரி: ",min:"குறைந்தபட்ச: ",max:"அதிகபட்ச: "},pinning:{pinLeft:"இடதுபுறமாக தைக்க ",pinRight:"வலதுபுறமாக தைக்க",unpin:"பிரி"},gridMenu:{columns:"பத்திகள்:",importerTitle:"கோப்பு : படித்தல்",exporterAllAsCsv:"எல்லா தரவுகளையும் கோப்பாக்கு: csv",exporterVisibleAsCsv:"இருக்கும் தரவுகளை கோப்பாக்கு: csv",exporterSelectedAsCsv:"தேர்ந்தெடுத்த தரவுகளை கோப்பாக்கு: csv",exporterAllAsPdf:"எல்லா தரவுகளையும் கோப்பாக்கு: pdf",exporterVisibleAsPdf:"இருக்கும் தரவுகளை கோப்பாக்கு: pdf",exporterSelectedAsPdf:"தேர்ந்தெடுத்த தரவுகளை கோப்பாக்கு: pdf",clearAllFilters:"Clear all filters"},importer:{noHeaders:"பத்தியின் தலைப்புகளை பெற இயலவில்லை, கோப்பிற்கு தலைப்பு உள்ளதா?",noObjects:"இலக்குகளை உருவாக்க முடியவில்லை, கோப்பில் தலைப்புகளை தவிர தரவு ஏதேனும் உள்ளதா? ",invalidCsv:"சரிவர நடைமுறை படுத்த இயலவில்லை, கோப்பு சரிதானா? - csv",invalidJson:"சரிவர நடைமுறை படுத்த இயலவில்லை, கோப்பு சரிதானா? - json",jsonNotArray:"படித்த கோப்பில் வரிசைகள் உள்ளது, நடைமுறை ரத்து செய் : json"},pagination:{sizes:"உருப்படிகள் / பக்கம்",totalItems:"உருப்படிகள் "},grouping:{group:"குழு",ungroup:"பிரி",aggregate_count:"மதிப்பீட்டு : எண்ணு",aggregate_sum:"மதிப்பீட்டு : கூட்டல்",aggregate_max:"மதிப்பீட்டு : அதிகபட்சம்",aggregate_min:"மதிப்பீட்டு : குறைந்தபட்சம்",aggregate_avg:"மதிப்பீட்டு : சராசரி",aggregate_remove:"மதிப்பீட்டு : நீக்கு"}}),a}])}])}(),function(){var a=["uiT","uiTranslate"],b=["t","uiTranslate"],c=angular.module("ui.grid.i18n");c.constant("i18nConstants",{MISSING:"[MISSING]",UPDATE_EVENT:"$uiI18n",LOCALE_DIRECTIVE_ALIAS:"uiI18n",DEFAULT_LANG:"en"}),c.service("i18nService",["$log","i18nConstants","$rootScope",function(a,b,c){var d={_langs:{},current:null,get:function(a){return this._langs[a.toLowerCase()]},add:function(a,b){var c=a.toLowerCase();this._langs[c]||(this._langs[c]={}),angular.extend(this._langs[c],b)},getAllLangs:function(){var a=[];if(!this._langs)return a;for(var b in this._langs)a.push(b);return a},setCurrent:function(a){this.current=a.toLowerCase()},getCurrentLang:function(){return this.current}},e={add:function(a,b){"object"==typeof a?angular.forEach(a,function(a){a&&d.add(a,b)}):d.add(a,b)},getAllLangs:function(){return d.getAllLangs()},get:function(a){var b=a?a:e.getCurrentLang();return d.get(b)},getSafeText:function(a,c){var f=c?c:e.getCurrentLang(),g=d.get(f);if(!g)return b.MISSING;for(var h=a.split("."),i=g,j=0;j<h.length;++j){if(void 0===i[h[j]]||null===i[h[j]])return b.MISSING;i=i[h[j]]}return i},setCurrentLang:function(a){a&&(d.setCurrent(a),c.$broadcast(b.UPDATE_EVENT))},getCurrentLang:function(){var a=d.getCurrentLang();return a||(a=b.DEFAULT_LANG,d.setCurrent(a)),a}};return e}]);var d=function(a,b){return{compile:function(){return{pre:function(c,d,e){var f=b.LOCALE_DIRECTIVE_ALIAS,g=c.$eval(e[f]);g?c.$watch(e[f],function(){a.setCurrentLang(g)}):e.$$observers&&e.$observe(f,function(){a.setCurrentLang(e[f]||b.DEFAULT_LANG)})}}}}};c.directive("uiI18n",["i18nService","i18nConstants",d]);var e=function(b,c,d){return{restrict:"EA",compile:function(){return{pre:function(e,f,g){var h,i=a[0],j=a[1],k=g[i]||g[j]||f.html(),l=d.MISSING+k;if(g.$$observers){var m=g[i]?i:j;h=g.$observe(m,function(a){a&&f.html(b(a)(c.getCurrentLang())||l)})}var n=b(k),o=e.$on(d.UPDATE_EVENT,function(a){h?h(g[i]||g[j]):f.html(n(c.get())||l)});e.$on("$destroy",o),f.html(n(c.get())||l)}}}}};angular.forEach(a,function(a){c.directive(a,["$parse","i18nService","i18nConstants",e])});var f=function(a,b,c){return function(d){var e=a(d);return e(b.get())||c.MISSING+d}};angular.forEach(b,function(a){c.filter(a,["$parse","i18nService","i18nConstants",f])})}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("zh-cn",{headerCell:{aria:{defaultFilterLabel:"列过滤器",removeFilter:"移除过滤器",columnMenuButtonLabel:"列菜单"},priority:"优先级:",filterLabel:"列过滤器: "},aggregate:{label:"行"},groupPanel:{description:"拖曳表头到此处进行分组"},search:{placeholder:"查找",showingItems:"已显示行数:",selectedItems:"已选择行数:",totalItems:"总行数:",size:"每页显示行数:",first:"首页",next:"下一页",previous:"上一页",last:"末页"},menu:{text:"选择列:"},sort:{ascending:"升序",descending:"降序",none:"无序",remove:"取消排序"},column:{hide:"隐藏列"},aggregation:{count:"计数:",sum:"求和:",avg:"均值:",min:"最小值:",max:"最大值:"},pinning:{pinLeft:"左侧固定",pinRight:"右侧固定",unpin:"取消固定"},columnMenu:{close:"关闭"},gridMenu:{aria:{buttonLabel:"表格菜单"},columns:"列:",importerTitle:"导入文件",exporterAllAsCsv:"导出全部数据到CSV",exporterVisibleAsCsv:"导出可见数据到CSV",exporterSelectedAsCsv:"导出已选数据到CSV",exporterAllAsPdf:"导出全部数据到PDF",exporterVisibleAsPdf:"导出可见数据到PDF",exporterSelectedAsPdf:"导出已选数据到PDF",clearAllFilters:"清除所有过滤器"},importer:{noHeaders:"无法获取列名,确定文件包含表头?",noObjects:"无法获取数据,确定文件包含数据?",invalidCsv:"无法处理文件,确定是合法的CSV文件?",invalidJson:"无法处理文件,确定是合法的JSON文件?",jsonNotArray:"导入的文件不是JSON数组!"},pagination:{aria:{pageToFirst:"第一页",pageBack:"上一页",pageSelected:"当前页",pageForward:"下一页",pageToLast:"最后一页"},sizes:"行每页",totalItems:"行",through:"至",of:"共"},grouping:{group:"分组",ungroup:"取消分组",aggregate_count:"合计: 计数",aggregate_sum:"合计: 求和",aggregate_max:"合计: 最大",aggregate_min:"合计: 最小",aggregate_avg:"合计: 平均",aggregate_remove:"合计: 移除"}}),a}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(a){a.decorator("i18nService",["$delegate",function(a){return a.add("zh-tw",{aggregate:{label:"行"},groupPanel:{description:"拖曳表頭到此處進行分組"},search:{placeholder:"查找",showingItems:"已顯示行數:",selectedItems:"已選擇行數:",totalItems:"總行數:",size:"每頁顯示行數:",first:"首頁",next:"下壹頁",previous:"上壹頁",last:"末頁"},menu:{text:"選擇列:"},sort:{ascending:"升序",descending:"降序",remove:"取消排序"},column:{hide:"隱藏列"},aggregation:{count:"計數:",sum:"求和:",avg:"均值:",min:"最小值:",max:"最大值:"},pinning:{pinLeft:"左側固定",pinRight:"右側固定",unpin:"取消固定"},gridMenu:{columns:"列:",importerTitle:"導入文件",exporterAllAsCsv:"導出全部數據到CSV",exporterVisibleAsCsv:"導出可見數據到CSV",exporterSelectedAsCsv:"導出已選數據到CSV",exporterAllAsPdf:"導出全部數據到PDF",exporterVisibleAsPdf:"導出可見數據到PDF",exporterSelectedAsPdf:"導出已選數據到PDF",clearAllFilters:"清除所有过滤器"},importer:{noHeaders:"無法獲取列名,確定文件包含表頭?",noObjects:"無法獲取數據,確定文件包含數據?",invalidCsv:"無法處理文件,確定是合法的CSV文件?",invalidJson:"無法處理文件,確定是合法的JSON文件?",jsonNotArray:"導入的文件不是JSON數組!"},pagination:{sizes:"行每頁",totalItems:"行"}}),a}])}])}(),function(){"use strict";var a=angular.module("ui.grid.autoResize",["ui.grid"]);a.directive("uiGridAutoResize",["$timeout","gridUtil",function(a,b){return{require:"uiGrid",scope:!1,link:function(a,c,d,e){function f(){i=b.elementHeight(c),h=b.elementWidth(c)}function g(){clearTimeout(j),j=setTimeout(function(){var d=b.elementHeight(c),j=b.elementWidth(c);d!==i||j!==h?(e.grid.gridHeight=d,e.grid.gridWidth=j,a.$apply(function(){e.grid.refresh().then(function(){f(),g()})})):g()},250)}var h,i;f();var j;g(),a.$on("$destroy",function(){clearTimeout(j)})}}}])}(),function(){"use strict";var a=angular.module("ui.grid.cellNav",["ui.grid"]);a.constant("uiGridCellNavConstants",{FEATURE_NAME:"gridCellNav",CELL_NAV_EVENT:"cellNav",direction:{LEFT:0,RIGHT:1,UP:2,DOWN:3,PG_UP:4,PG_DOWN:5},EVENT_TYPE:{KEYDOWN:0,CLICK:1,CLEAR:2}}),a.factory("uiGridCellNavFactory",["gridUtil","uiGridConstants","uiGridCellNavConstants","GridRowColumn","$q",function(a,b,c,d,e){var f=function(a,b,c,d){this.rows=a.visibleRowCache,this.columns=b.visibleColumnCache,this.leftColumns=c?c.visibleColumnCache:[],this.rightColumns=d?d.visibleColumnCache:[],this.bodyContainer=a};return f.prototype.getFocusableCols=function(){var a=this.leftColumns.concat(this.columns,this.rightColumns);return a.filter(function(a){return a.colDef.allowCellFocus})},f.prototype.getFocusableRows=function(){return this.rows.filter(function(a){return a.allowCellFocus!==!1})},f.prototype.getNextRowCol=function(a,b,d){switch(a){case c.direction.LEFT:return this.getRowColLeft(b,d);case c.direction.RIGHT:return this.getRowColRight(b,d);case c.direction.UP:return this.getRowColUp(b,d);case c.direction.DOWN:return this.getRowColDown(b,d);case c.direction.PG_UP:return this.getRowColPageUp(b,d);case c.direction.PG_DOWN:return this.getRowColPageDown(b,d)}},f.prototype.initializeSelection=function(){var a=this.getFocusableCols(),b=this.getFocusableRows();if(0===a.length||0===b.length)return null;return new d(b[0],a[0])},f.prototype.getRowColLeft=function(a,b){var c=this.getFocusableCols(),e=this.getFocusableRows(),f=c.indexOf(b),g=e.indexOf(a);-1===f&&(f=1);var h=0===f?c.length-1:f-1;return h>f?0===g?new d(a,c[h]):new d(e[g-1],c[h]):new d(a,c[h])},f.prototype.getRowColRight=function(a,b){var c=this.getFocusableCols(),e=this.getFocusableRows(),f=c.indexOf(b),g=e.indexOf(a);-1===f&&(f=0);var h=f===c.length-1?0:f+1;return f>h?g===e.length-1?new d(a,c[h]):new d(e[g+1],c[h]):new d(a,c[h])},f.prototype.getRowColDown=function(a,b){var c=this.getFocusableCols(),e=this.getFocusableRows(),f=c.indexOf(b),g=e.indexOf(a);return-1===f&&(f=0),g===e.length-1?new d(a,c[f]):new d(e[g+1],c[f])},f.prototype.getRowColPageDown=function(a,b){var c=this.getFocusableCols(),e=this.getFocusableRows(),f=c.indexOf(b),g=e.indexOf(a);-1===f&&(f=0);var h=this.bodyContainer.minRowsToRender();return g>=e.length-h?new d(e[e.length-1],c[f]):new d(e[g+h],c[f])},f.prototype.getRowColUp=function(a,b){var c=this.getFocusableCols(),e=this.getFocusableRows(),f=c.indexOf(b),g=e.indexOf(a);return-1===f&&(f=0),0===g?new d(a,c[f]):new d(e[g-1],c[f])},f.prototype.getRowColPageUp=function(a,b){var c=this.getFocusableCols(),e=this.getFocusableRows(),f=c.indexOf(b),g=e.indexOf(a);-1===f&&(f=0);var h=this.bodyContainer.minRowsToRender();return 0>g-h?new d(e[0],c[f]):new d(e[g-h],c[f])},f}]),a.service("uiGridCellNavService",["gridUtil","uiGridConstants","uiGridCellNavConstants","$q","uiGridCellNavFactory","GridRowColumn","ScrollEvent",function(a,b,c,d,e,f,g){var h={initializeGrid:function(a){a.registerColumnBuilder(h.cellNavColumnBuilder),a.cellNav={},a.cellNav.lastRowCol=null,a.cellNav.focusedCells=[],h.defaultGridOptions(a.options);var b={events:{cellNav:{navigate:function(a,b){},viewPortKeyDown:function(a,b){},viewPortKeyPress:function(a,b){}}},methods:{cellNav:{scrollToFocus:function(b,c){return h.scrollToFocus(a,b,c)},getFocusedCell:function(){return a.cellNav.lastRowCol},getCurrentSelection:function(){return a.cellNav.focusedCells},rowColSelectIndex:function(b){for(var c=-1,d=0;d<a.cellNav.focusedCells.length;d++)if(a.cellNav.focusedCells[d].col.uid===b.col.uid&&a.cellNav.focusedCells[d].row.uid===b.row.uid){c=d;break}return c}}}};a.api.registerEventsFromObject(b.events),a.api.registerMethodsFromObject(b.methods)},defaultGridOptions:function(a){a.modifierKeysToMultiSelectCells=a.modifierKeysToMultiSelectCells===!0},decorateRenderContainers:function(a){var b=a.hasRightContainer()?a.renderContainers.right:null,c=a.hasLeftContainer()?a.renderContainers.left:null;null!==c&&(a.renderContainers.left.cellNav=new e(a.renderContainers.body,c,b,a.renderContainers.body)),null!==b&&(a.renderContainers.right.cellNav=new e(a.renderContainers.body,b,a.renderContainers.body,c)),
-a.renderContainers.body.cellNav=new e(a.renderContainers.body,a.renderContainers.body,c,b)},getDirection:function(a){return a.keyCode===b.keymap.LEFT||a.keyCode===b.keymap.TAB&&a.shiftKey?c.direction.LEFT:a.keyCode===b.keymap.RIGHT||a.keyCode===b.keymap.TAB?c.direction.RIGHT:a.keyCode===b.keymap.UP||a.keyCode===b.keymap.ENTER&&a.shiftKey?c.direction.UP:a.keyCode===b.keymap.PG_UP?c.direction.PG_UP:a.keyCode===b.keymap.DOWN||a.keyCode===b.keymap.ENTER&&!a.ctrlKey&&!a.altKey?c.direction.DOWN:a.keyCode===b.keymap.PG_DOWN?c.direction.PG_DOWN:null},cellNavColumnBuilder:function(a,b,c){var e=[];return a.allowCellFocus=void 0===a.allowCellFocus?!0:a.allowCellFocus,d.all(e)},scrollToFocus:function(a,b,c){var d=null,e=null;return"undefined"!=typeof b&&null!==b&&(d=a.getRow(b)),"undefined"!=typeof c&&null!==c&&(e=a.getColumn(c.name?c.name:c.field)),a.api.core.scrollToIfNecessary(d,e).then(function(){var b={row:d,col:e};null!==d&&null!==e&&a.cellNav.broadcastCellNav(b)})},getLeftWidth:function(a,b){var c=0;if(!b)return c;var d=a.renderContainers.body.visibleColumnCache.indexOf(b);a.renderContainers.body.visibleColumnCache.forEach(function(a,b){d>b&&(c+=a.drawnWidth)});var e=0===d?0:(d+1)/a.renderContainers.body.visibleColumnCache.length;return c+=b.drawnWidth*e}};return h}]),a.directive("uiGridCellnav",["gridUtil","uiGridCellNavService","uiGridCellNavConstants","uiGridConstants","GridRowColumn","$timeout","$compile",function(a,b,c,d,e,f,g){return{replace:!0,priority:-150,require:"^uiGrid",scope:!1,controller:function(){},compile:function(){return{pre:function(a,f,g,h){var i=a,j=h.grid;b.initializeGrid(j),h.cellNav={},h.cellNav.makeRowCol=function(a){return a instanceof e||(a=new e(a.row,a.col)),a},h.cellNav.getActiveCell=function(){var a=f[0].getElementsByClassName("ui-grid-cell-focus");return a.length>0?a[0]:void 0},h.cellNav.broadcastCellNav=j.cellNav.broadcastCellNav=function(a,b,d){b=!(void 0===b||!b),a=h.cellNav.makeRowCol(a),h.cellNav.broadcastFocus(a,b,d),i.$broadcast(c.CELL_NAV_EVENT,a,b,d)},h.cellNav.clearFocus=j.cellNav.clearFocus=function(){j.cellNav.focusedCells=[],i.$broadcast(c.CELL_NAV_EVENT)},h.cellNav.broadcastFocus=function(a,b,c){b=!(void 0===b||!b),a=h.cellNav.makeRowCol(a);var d=a.row,f=a.col,g=h.grid.api.cellNav.rowColSelectIndex(a);if(null===j.cellNav.lastRowCol||-1===g){var i=new e(d,f);j.api.cellNav.raise.navigate(i,j.cellNav.lastRowCol),j.cellNav.lastRowCol=i,h.grid.options.modifierKeysToMultiSelectCells&&b?j.cellNav.focusedCells.push(a):j.cellNav.focusedCells=[a]}else j.options.modifierKeysToMultiSelectCells&&b&&g>=0&&j.cellNav.focusedCells.splice(g,1)},h.cellNav.handleKeyDown=function(a){var e=b.getDirection(a);if(null===e)return null;var f="body";a.uiGridTargetRenderContainerId&&(f=a.uiGridTargetRenderContainerId);var g=h.grid.api.cellNav.getFocusedCell();if(g){var i=h.grid.renderContainers[f].cellNav.getNextRowCol(e,g.row,g.col),k=h.grid.renderContainers[f].cellNav.getFocusableCols(),l=h.grid.api.cellNav.rowColSelectIndex(i);return e===c.direction.LEFT&&i.col===k[k.length-1]&&i.row===g.row&&a.keyCode===d.keymap.TAB&&a.shiftKey?(j.cellNav.focusedCells.splice(l,1),h.cellNav.clearFocus(),!0):e!==c.direction.RIGHT||i.col!==k[0]||i.row!==g.row||a.keyCode!==d.keymap.TAB||a.shiftKey?(j.scrollToIfNecessary(i.row,i.col).then(function(){h.cellNav.broadcastCellNav(i)}),a.stopPropagation(),a.preventDefault(),!1):(j.cellNav.focusedCells.splice(l,1),h.cellNav.clearFocus(),!0)}}},post:function(a,b,d,e){function f(){var d='<div id="'+h.id+'-aria-speakable" class="ui-grid-a11y-ariascreenreader-speakable ui-grid-offscreen" aria-live="assertive" role="region" aria-atomic="true" aria-hidden="false" aria-relevant="additions" >&nbsp;</div>',e=g(d)(a);b.prepend(e),a.$on(c.CELL_NAV_EVENT,function(a,b,c,d){function f(a){a!==e.text()&&(e[0].style.clip="rect(0px,0px,0px,0px)",e[0].innerHTML="",e[0].style.visibility="hidden",e[0].style.visibility="visible",""!==a&&(e[0].style.clip="auto",e[0].appendChild(document.createTextNode(a+" ")),e[0].style.visibility="hidden",e[0].style.visibility="visible"))}if(!d||"focus"!==d.type){for(var g=[],i=h.api.cellNav.getCurrentSelection(),j=0;j<i.length;j++)g.push(i[j].getIntersectionValueFiltered());var k=g.toString();f(k)}})}var h=e.grid;f()}}}}}]),a.directive("uiGridRenderContainer",["$timeout","$document","gridUtil","uiGridConstants","uiGridCellNavService","$compile","uiGridCellNavConstants",function(a,b,c,d,e,f,g){return{replace:!0,priority:-99999,require:["^uiGrid","uiGridRenderContainer","?^uiGridCellnav"],scope:!1,compile:function(){return{post:function(b,d,h,i){var j=i[0],k=i[1],l=i[2];if(j.grid.api.cellNav){var m=k.containerId,n=j.grid;if(e.decorateRenderContainers(n),"body"===m){j.grid.options.modifierKeysToMultiSelectCells?d.attr("aria-multiselectable",!0):d.attr("aria-multiselectable",!1);var o=f('<div class="ui-grid-focuser" role="region" aria-live="assertive" aria-atomic="false" tabindex="0" aria-controls="'+n.id+"-aria-speakable "+n.id+'-grid-container" aria-owns="'+n.id+'-grid-container"></div>')(b);d.append(o),o.on("focus",function(a){a.uiGridTargetRenderContainerId=m;var b=j.grid.api.cellNav.getFocusedCell();null===b&&(b=j.grid.renderContainers[m].cellNav.getNextRowCol(g.direction.DOWN,null,null),b.row&&b.col&&j.cellNav.broadcastCellNav(b))}),l.setAriaActivedescendant=function(a){d.attr("aria-activedescendant",a)},l.removeAriaActivedescendant=function(a){d.attr("aria-activedescendant")===a&&d.attr("aria-activedescendant","")},j.focus=function(){c.focus.byElement(o[0])};var p=null;o.on("keydown",function(a){a.uiGridTargetRenderContainerId=m;var b=j.grid.api.cellNav.getFocusedCell(),c=j.cellNav.handleKeyDown(a);null===c&&(j.grid.api.cellNav.raise.viewPortKeyDown(a,b),p=b)}),o.on("keypress",function(b){p&&(a(function(){j.grid.api.cellNav.raise.viewPortKeyPress(b,p)},4),p=null)}),b.$on("$destroy",function(){o.off()})}}}}}}}]),a.directive("uiGridViewport",["$timeout","$document","gridUtil","uiGridConstants","uiGridCellNavService","uiGridCellNavConstants","$log","$compile",function(a,b,c,d,e,f,g,h){return{replace:!0,priority:-99999,require:["^uiGrid","^uiGridRenderContainer","?^uiGridCellnav"],scope:!1,compile:function(){return{pre:function(a,b,c,d){},post:function(a,b,c,d){var e=d[0],f=d[1];if(e.grid.api.cellNav){var g=f.containerId;if("body"===g){var h=e.grid;h.api.core.on.scrollBegin(a,function(a){var b=e.grid.api.cellNav.getFocusedCell();null!==b&&f.colContainer.containsColumn(b.col)&&e.cellNav.clearFocus()}),h.api.core.on.scrollEnd(a,function(a){var b=e.grid.api.cellNav.getFocusedCell();null!==b&&f.colContainer.containsColumn(b.col)&&e.cellNav.broadcastCellNav(b)}),h.api.cellNav.on.navigate(a,function(){e.focus()})}}}}}}}]),a.directive("uiGridCell",["$timeout","$document","uiGridCellNavService","gridUtil","uiGridCellNavConstants","uiGridConstants","GridRowColumn",function(a,b,c,d,e,f,g){return{priority:-150,restrict:"A",require:["^uiGrid","?^uiGridCellnav"],scope:!1,link:function(a,b,c,d){function f(a){a.preventDefault()}function h(){if(!a.focused){var c=b.find("div");c.addClass("ui-grid-cell-focus"),b.attr("aria-selected",!0),k.setAriaActivedescendant(b.attr("id")),a.focused=!0}}function i(){if(a.focused){var c=b.find("div");c.removeClass("ui-grid-cell-focus"),b.attr("aria-selected",!1),k.removeAriaActivedescendant(b.attr("id")),a.focused=!1}}var j=d[0],k=d[1];if(j.grid.api.cellNav&&a.col.colDef.allowCellFocus){var l=j.grid;a.focused=!1,b.attr("tabindex",-1),b.find("div").on("click",function(b){j.cellNav.broadcastCellNav(new g(a.row,a.col),b.ctrlKey||b.metaKey,b),b.stopPropagation(),a.$apply()}),b.on("mousedown",f),j.grid.api.edit&&(j.grid.api.edit.on.beginCellEdit(a,function(){b.off("mousedown",f)}),j.grid.api.edit.on.afterCellEdit(a,function(){b.on("mousedown",f)}),j.grid.api.edit.on.cancelCellEdit(a,function(){b.on("mousedown",f)})),b.on("focus",function(b){j.cellNav.broadcastCellNav(new g(a.row,a.col),!1,b),b.stopPropagation(),a.$apply()}),a.$on(e.CELL_NAV_EVENT,function(b,c,d){var e=l.cellNav.focusedCells.some(function(b,c){return b.row===a.row&&b.col===a.col});e?h():i()}),a.$on("$destroy",function(){b.find("div").off(),b.off()})}}}}])}(),function(){"use strict";var a=angular.module("ui.grid.edit",["ui.grid"]);a.constant("uiGridEditConstants",{EDITABLE_CELL_TEMPLATE:/EDITABLE_CELL_TEMPLATE/g,EDITABLE_CELL_DIRECTIVE:/editable_cell_directive/g,events:{BEGIN_CELL_EDIT:"uiGridEventBeginCellEdit",END_CELL_EDIT:"uiGridEventEndCellEdit",CANCEL_CELL_EDIT:"uiGridEventCancelCellEdit"}}),a.service("uiGridEditService",["$q","uiGridConstants","gridUtil",function(a,b,c){var d={initializeGrid:function(a){d.defaultGridOptions(a.options),a.registerColumnBuilder(d.editColumnBuilder),a.edit={};var b={events:{edit:{afterCellEdit:function(a,b,c,d){},beginCellEdit:function(a,b,c){},cancelCellEdit:function(a,b){}}},methods:{edit:{}}};a.api.registerEventsFromObject(b.events)},defaultGridOptions:function(a){a.cellEditableCondition=void 0===a.cellEditableCondition?!0:a.cellEditableCondition,a.enableCellEditOnFocus=void 0===a.enableCellEditOnFocus?!1:a.enableCellEditOnFocus},editColumnBuilder:function(b,d,e){var f=[];return b.enableCellEdit=void 0===b.enableCellEdit?void 0===e.enableCellEdit?"object"!==b.type:e.enableCellEdit:b.enableCellEdit,b.cellEditableCondition=void 0===b.cellEditableCondition?e.cellEditableCondition:b.cellEditableCondition,b.enableCellEdit&&(b.editableCellTemplate=b.editableCellTemplate||e.editableCellTemplate||"ui-grid/cellEditor",f.push(c.getTemplate(b.editableCellTemplate).then(function(a){d.editableCellTemplate=a},function(a){throw new Error("Couldn't fetch/use colDef.editableCellTemplate '"+b.editableCellTemplate+"'")}))),b.enableCellEditOnFocus=void 0===b.enableCellEditOnFocus?e.enableCellEditOnFocus:b.enableCellEditOnFocus,a.all(f)},isStartEditKey:function(a){return a.metaKey||a.keyCode===b.keymap.ESC||a.keyCode===b.keymap.SHIFT||a.keyCode===b.keymap.CTRL||a.keyCode===b.keymap.ALT||a.keyCode===b.keymap.WIN||a.keyCode===b.keymap.CAPSLOCK||a.keyCode===b.keymap.LEFT||a.keyCode===b.keymap.TAB&&a.shiftKey||a.keyCode===b.keymap.RIGHT||a.keyCode===b.keymap.TAB||a.keyCode===b.keymap.UP||a.keyCode===b.keymap.ENTER&&a.shiftKey||a.keyCode===b.keymap.DOWN||a.keyCode===b.keymap.ENTER?!1:!0}};return d}]),a.directive("uiGridEdit",["gridUtil","uiGridEditService",function(a,b){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(a,c,d,e){b.initializeGrid(e.grid)},post:function(a,b,c,d){}}}}}]),a.directive("uiGridViewport",["uiGridEditConstants",function(a){return{replace:!0,priority:-99998,require:["^uiGrid","^uiGridRenderContainer"],scope:!1,compile:function(){return{post:function(b,c,d,e){var f=e[0];if(f.grid.api.edit&&f.grid.api.cellNav){var g=e[1].containerId;"body"===g&&(b.$on(a.events.CANCEL_CELL_EDIT,function(){f.focus()}),b.$on(a.events.END_CELL_EDIT,function(){f.focus()}))}}}}}}]),a.directive("uiGridCell",["$compile","$injector","$timeout","uiGridConstants","uiGridEditConstants","gridUtil","$parse","uiGridEditService","$rootScope",function(a,b,c,d,e,f,g,h,i){var j=500;if(b.has("uiGridCellNavService")){b.get("uiGridCellNavService")}return{priority:-100,restrict:"A",scope:!1,require:"?^uiGrid",link:function(b,k,l,m){function n(){k.on("dblclick",t),k.on("touchstart",o),m&&m.grid.api.cellNav&&(F=m.grid.api.cellNav.on.viewPortKeyDown(b,function(a,c){null!==c&&(c.row!==b.row||c.col!==b.col||b.col.colDef.enableCellEditOnFocus||r(a))}),E=m.grid.api.cellNav.on.navigate(b,function(a,d){b.col.colDef.enableCellEditOnFocus&&(d&&a.row===d.row&&a.col===d.col||a.row!==b.row||a.col!==b.col||c(function(){t()}))})),b.beginEditEventsWired=!0}function o(a){"undefined"!=typeof a.originalEvent&&void 0!==a.originalEvent&&(a=a.originalEvent),k.on("touchend",p),B=c(function(){},j),B.then(function(){setTimeout(t,0),k.off("touchend",p)})}function p(a){c.cancel(B),k.off("touchend",p)}function q(){k.off("dblclick",t),k.off("keydown",r),k.off("touchstart",o),E(),F(),b.beginEditEventsWired=!1}function r(a){h.isStartEditKey(a)&&t(a)}function s(a,c){return!c.isSaving&&(angular.isFunction(a.colDef.cellEditableCondition)?a.colDef.cellEditableCondition(b):a.colDef.cellEditableCondition)}function t(a){b.grid.api.core.scrollToIfNecessary(b.row,b.col).then(function(){u(a)})}function u(h){if(!D&&s(b.col,b.row)){A=g(b.row.getQualifiedColField(b.col)),z=A(b),y=b.col.editableCellTemplate,y=b.col.colDef.editModelField?y.replace(d.MODEL_COL_FIELD,f.preEval("row.entity."+b.col.colDef.editModelField)):y.replace(d.MODEL_COL_FIELD,b.row.getQualifiedColField(b.col)),y=y.replace(d.COL_FIELD,"grid.getCellValue(row, col)");var j=b.col.colDef.editDropdownFilter?"|"+b.col.colDef.editDropdownFilter:"";y=y.replace(d.CUSTOM_FILTERS,j);var l="text";switch(b.col.colDef.type){case"boolean":l="checkbox";break;case"number":l="number";break;case"date":l="date"}y=y.replace("INPUT_TYPE",l);var m=b.col.colDef.editDropdownRowEntityOptionsArrayPath;m?b.editDropdownOptionsArray=x(b.row.entity,m):b.editDropdownOptionsArray=b.col.colDef.editDropdownOptionsArray,b.editDropdownIdLabel=b.col.colDef.editDropdownIdLabel?b.col.colDef.editDropdownIdLabel:"id",b.editDropdownValueLabel=b.col.colDef.editDropdownValueLabel?b.col.colDef.editDropdownValueLabel:"value";var n=function(){D=!0,q();var c=angular.element(y);k.append(c),C=b.$new(),a(c)(C);var d=angular.element(k.children()[0]);d.addClass("ui-grid-cell-contents-hidden")};i.$$phase?n():b.$apply(n);var o=b.col.grid.api.core.on.scrollBegin(b,function(){b.grid.disableScrolling||(v(),b.grid.api.edit.raise.afterCellEdit(b.row.entity,b.col.colDef,A(b),z),o(),p(),r())}),p=b.$on(e.events.END_CELL_EDIT,function(){v(),b.grid.api.edit.raise.afterCellEdit(b.row.entity,b.col.colDef,A(b),z),p(),o(),r()}),r=b.$on(e.events.CANCEL_CELL_EDIT,function(){w(),r(),o(),p()});b.$broadcast(e.events.BEGIN_CELL_EDIT,h),c(function(){b.grid.api.edit.raise.beginCellEdit(b.row.entity,b.col.colDef,h)})}}function v(){if(b.grid.disableScrolling=!1,D){m&&m.grid.api.cellNav&&m.focus();var a=angular.element(k.children()[0]);C.$destroy(),angular.element(k.children()[1]).remove(),a.removeClass("ui-grid-cell-contents-hidden"),D=!1,n(),b.grid.api.core.notifyDataChange(d.dataChange.EDIT)}}function w(){b.grid.disableScrolling=!1,D&&(A.assign(b,z),b.$apply(),b.grid.api.edit.raise.cancelCellEdit(b.row.entity,b.col.colDef),v())}function x(a,b){b=b.replace(/\[(\w+)\]/g,".$1"),b=b.replace(/^\./,"");for(var c=b.split(".");c.length;){var d=c.shift();if(!(d in a))return;a=a[d]}return a}var y,z,A,B,C,D=!1;if(b.col.colDef.enableCellEdit){var E=function(){},F=function(){},G=function(){b.col.colDef.enableCellEdit&&b.row.enableCellEdit!==!1?b.beginEditEventsWired||n():b.beginEditEventsWired&&q()};G();var H=b.$watch("row",function(a,b){a!==b&&G()});b.$on("$destroy",H)}}}}]),a.directive("uiGridEditor",["gridUtil","uiGridConstants","uiGridEditConstants","$timeout","uiGridEditService",function(a,b,c,d,e){return{scope:!0,require:["?^uiGrid","?^uiGridRenderContainer","ngModel"],compile:function(){return{pre:function(a,b,c){},post:function(a,f,g,h){var i,j,k;h[0]&&(i=h[0]),h[1]&&(j=h[1]),h[2]&&(k=h[2]),a.$on(c.events.BEGIN_CELL_EDIT,function(b,c){if(d(function(){if(f[0].focus(),!a.col.colDef.enableCellEditOnFocus&&i&&i.grid.api.cellNav)try{f[0].setSelectionRange(f[0].value.length,f[0].value.length)}catch(b){}else f[0].select()}),i&&i.grid.api.cellNav)var g=i.grid.api.cellNav.on.viewPortKeyPress(a,function(a,b){e.isStartEditKey(a)&&(k.$setViewValue(String.fromCharCode(a.keyCode),a),k.$render()),g()});f.on("blur",function(b){a.stopEdit(b)})}),a.deepEdit=!1,a.stopEdit=function(b){a.inputForm&&!a.inputForm.$valid?(b.stopPropagation(),a.$emit(c.events.CANCEL_CELL_EDIT)):a.$emit(c.events.END_CELL_EDIT),a.deepEdit=!1},f.on("click",function(b){"checkbox"!==f[0].type&&(a.deepEdit=!0,d(function(){a.grid.disableScrolling=!0}))}),f.on("keydown",function(d){switch(d.keyCode){case b.keymap.ESC:d.stopPropagation(),a.$emit(c.events.CANCEL_CELL_EDIT)}if(!a.deepEdit||d.keyCode!==b.keymap.LEFT&&d.keyCode!==b.keymap.RIGHT&&d.keyCode!==b.keymap.UP&&d.keyCode!==b.keymap.DOWN)if(i&&i.grid.api.cellNav)d.uiGridTargetRenderContainerId=j.containerId,null!==i.cellNav.handleKeyDown(d)&&a.stopEdit(d);else switch(d.keyCode){case b.keymap.ENTER:case b.keymap.TAB:d.stopPropagation(),d.preventDefault(),a.stopEdit(d)}else d.stopPropagation();return!0})}}}}}]),a.directive("uiGridEditor",["$filter",function(a){function b(a){if("undefined"==typeof a||""===a)return null;var b=a.split("-");if(3!==b.length)return null;var c=parseInt(b[0],10),d=parseInt(b[1],10),e=parseInt(b[2],10);return 1>d||1>c||1>e?null:new Date(c,d-1,e)}return{priority:-100,require:"?ngModel",link:function(c,d,e,f){2===angular.version.minor&&e.type&&"date"===e.type&&f&&(f.$formatters.push(function(b){return f.$setValidity(null,!b||!isNaN(b.getTime())),a("date")(b,"yyyy-MM-dd")}),f.$parsers.push(function(a){if(a&&a.length>0){var c=b(a);return f.$setValidity(null,c&&!isNaN(c.getTime())),c}return f.$setValidity(null,!0),null}))}}}]),a.directive("uiGridEditDropdown",["uiGridConstants","uiGridEditConstants",function(a,b){return{require:["?^uiGrid","?^uiGridRenderContainer"],scope:!0,compile:function(){return{pre:function(a,b,c){},post:function(c,d,e,f){var g=f[0],h=f[1];c.$on(b.events.BEGIN_CELL_EDIT,function(){d[0].focus(),d[0].style.width=d[0].parentElement.offsetWidth-1+"px",d.on("blur",function(a){c.stopEdit(a)})}),c.stopEdit=function(a){c.$emit(b.events.END_CELL_EDIT)},d.on("keydown",function(d){switch(d.keyCode){case a.keymap.ESC:d.stopPropagation(),c.$emit(b.events.CANCEL_CELL_EDIT)}if(g&&g.grid.api.cellNav)d.uiGridTargetRenderContainerId=h.containerId,null!==g.cellNav.handleKeyDown(d)&&c.stopEdit(d);else switch(d.keyCode){case a.keymap.ENTER:case a.keymap.TAB:d.stopPropagation(),d.preventDefault(),c.stopEdit(d)}return!0})}}}}}]),a.directive("uiGridEditFileChooser",["gridUtil","uiGridConstants","uiGridEditConstants","$timeout",function(a,b,c,d){return{scope:!0,require:["?^uiGrid","?^uiGridRenderContainer"],compile:function(){return{pre:function(a,b,c){},post:function(b,d,e,f){var g,h;f[0]&&(g=f[0]),f[1]&&(h=f[1]);var i=(g.grid,function(d){var e=d.srcElement||d.target;e&&e.files&&e.files.length>0?("function"==typeof b.col.colDef.editFileChooserCallback?b.col.colDef.editFileChooserCallback(b.row,b.col,e.files):a.logError("You need to set colDef.editFileChooserCallback to use the file chooser"),e.form.reset(),b.$emit(c.events.END_CELL_EDIT)):b.$emit(c.events.CANCEL_CELL_EDIT)});d[0].addEventListener("change",i,!1),b.$on(c.events.BEGIN_CELL_EDIT,function(){d[0].focus(),d[0].select(),d.on("blur",function(a){b.$emit(c.events.END_CELL_EDIT)})})}}}}}])}(),function(){"use strict";var a=angular.module("ui.grid.expandable",["ui.grid"]);a.service("uiGridExpandableService",["gridUtil","$compile",function(a,b){var c={initializeGrid:function(b){b.expandable={},b.expandable.expandedAll=!1,b.options.enableExpandable=b.options.enableExpandable!==!1,b.options.expandableRowHeight=b.options.expandableRowHeight||150,b.options.expandableRowHeaderWidth=b.options.expandableRowHeaderWidth||40,b.options.enableExpandable&&!b.options.expandableRowTemplate&&(a.logError("You have not set the expandableRowTemplate, disabling expandable module"),b.options.enableExpandable=!1);var d={events:{expandable:{rowExpandedBeforeStateChanged:function(a,b){},rowExpandedStateChanged:function(a,b){}}},methods:{expandable:{toggleRowExpansion:function(a){var d=b.getRow(a);null!==d&&c.toggleRowExpansion(b,d)},expandAllRows:function(){c.expandAllRows(b)},collapseAllRows:function(){c.collapseAllRows(b)},toggleAllRows:function(){c.toggleAllRows(b)}}}};b.api.registerEventsFromObject(d.events),b.api.registerMethodsFromObject(d.methods)},toggleRowExpansion:function(a,b){a.api.expandable.raise.rowExpandedBeforeStateChanged(b),b.isExpanded=!b.isExpanded,angular.isUndefined(b.expandedRowHeight)&&(b.expandedRowHeight=a.options.expandableRowHeight),b.isExpanded?b.height=b.grid.options.rowHeight+b.expandedRowHeight:(b.height=b.grid.options.rowHeight,a.expandable.expandedAll=!1),a.api.expandable.raise.rowExpandedStateChanged(b)},expandAllRows:function(a,b){a.renderContainers.body.visibleRowCache.forEach(function(b){b.isExpanded||c.toggleRowExpansion(a,b)}),a.expandable.expandedAll=!0,a.queueGridRefresh()},collapseAllRows:function(a){a.renderContainers.body.visibleRowCache.forEach(function(b){b.isExpanded&&c.toggleRowExpansion(a,b)}),a.expandable.expandedAll=!1,a.queueGridRefresh()},toggleAllRows:function(a){a.expandable.expandedAll?c.collapseAllRows(a):c.expandAllRows(a)}};return c}]),a.directive("uiGridExpandable",["uiGridExpandableService","$templateCache",function(a,b){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(c,d,e,f){if(f.grid.options.enableExpandableRowHeader!==!1){var g={name:"expandableButtons",displayName:"",exporterSuppressExport:!0,enableColumnResizing:!1,enableColumnMenu:!1,width:f.grid.options.expandableRowHeaderWidth||40};g.cellTemplate=b.get("ui-grid/expandableRowHeader"),g.headerCellTemplate=b.get("ui-grid/expandableTopRowHeader"),f.grid.addRowHeaderColumn(g)}a.initializeGrid(f.grid)},post:function(a,b,c,d){}}}}}]),a.directive("uiGrid",["uiGridExpandableService","$templateCache",function(a,b){return{replace:!0,priority:599,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(a,b,c,d){d.grid.api.core.on.renderingComplete(a,function(){a.row&&a.row.grid&&a.row.grid.options&&a.row.grid.options.enableExpandable&&(d.grid.parentRow=a.row)})},post:function(a,b,c,d){}}}}}]),a.directive("uiGridExpandableRow",["uiGridExpandableService","$timeout","$compile","uiGridConstants","gridUtil","$interval","$log",function(a,b,c,d,e,f,g){return{replace:!1,priority:0,scope:!1,compile:function(){return{pre:function(a,b,d,f){e.getTemplate(a.grid.options.expandableRowTemplate).then(function(d){if(a.grid.options.expandableRowScope){var e=a.grid.options.expandableRowScope;for(var f in e)e.hasOwnProperty(f)&&(a[f]=e[f])}var g=c(d)(a);b.append(g),a.row.expandedRendered=!0})},post:function(a,b,c,d){a.$on("$destroy",function(){a.row.expandedRendered=!1})}}}}}]),a.directive("uiGridRow",["$compile","gridUtil","$templateCache",function(a,b,c){return{priority:-200,scope:!1,compile:function(a,b){return{pre:function(a,b,c,d){a.expandableRow={},a.expandableRow.shouldRenderExpand=function(){var b="body"===a.colContainer.name&&a.grid.options.enableExpandable!==!1&&a.row.isExpanded&&(!a.grid.isScrollingVertically||a.row.expandedRendered);return b},a.expandableRow.shouldRenderFiller=function(){var b=a.row.isExpanded&&("body"!==a.colContainer.name||a.grid.isScrollingVertically&&!a.row.expandedRendered);return b}},post:function(a,b,c,d){}}}}}]),a.directive("uiGridViewport",["$compile","gridUtil","$templateCache",function(a,b,c){return{priority:-200,scope:!1,compile:function(a,b){var d=angular.element(a.children().children()[0]),e=c.get("ui-grid/expandableScrollFiller"),f=c.get("ui-grid/expandableRow");return d.append(f),d.append(e),{pre:function(a,b,c,d){},post:function(a,b,c,d){}}}}}])}(),function(){"use strict";var a=angular.module("ui.grid.exporter",["ui.grid"]);a.constant("uiGridExporterConstants",{featureName:"exporter",ALL:"all",VISIBLE:"visible",SELECTED:"selected",CSV_CONTENT:"CSV_CONTENT",BUTTON_LABEL:"BUTTON_LABEL",FILE_NAME:"FILE_NAME"}),a.service("uiGridExporterService",["$q","uiGridExporterConstants","gridUtil","$compile","$interval","i18nService",function(a,b,c,d,e,f){var g={delay:100,initializeGrid:function(a){a.exporter={},this.defaultGridOptions(a.options);var b={events:{exporter:{}},methods:{exporter:{csvExport:function(b,c){g.csvExport(a,b,c)},pdfExport:function(b,c){g.pdfExport(a,b,c)}}}};a.api.registerEventsFromObject(b.events),a.api.registerMethodsFromObject(b.methods),a.api.core.addToGridMenu?g.addToMenu(a):e(function(){a.api.core.addToGridMenu&&g.addToMenu(a)},this.delay,1)},defaultGridOptions:function(a){a.exporterSuppressMenu=a.exporterSuppressMenu===!0,a.exporterMenuLabel=a.exporterMenuLabel?a.exporterMenuLabel:"Export",a.exporterSuppressColumns=a.exporterSuppressColumns?a.exporterSuppressColumns:[],a.exporterCsvColumnSeparator=a.exporterCsvColumnSeparator?a.exporterCsvColumnSeparator:",",a.exporterCsvFilename=a.exporterCsvFilename?a.exporterCsvFilename:"download.csv",a.exporterPdfFilename=a.exporterPdfFilename?a.exporterPdfFilename:"download.pdf",a.exporterOlderExcelCompatibility=a.exporterOlderExcelCompatibility===!0,a.exporterPdfDefaultStyle=a.exporterPdfDefaultStyle?a.exporterPdfDefaultStyle:{fontSize:11},a.exporterPdfTableStyle=a.exporterPdfTableStyle?a.exporterPdfTableStyle:{margin:[0,5,0,15]},a.exporterPdfTableHeaderStyle=a.exporterPdfTableHeaderStyle?a.exporterPdfTableHeaderStyle:{bold:!0,fontSize:12,color:"black"},a.exporterPdfHeader=a.exporterPdfHeader?a.exporterPdfHeader:null,a.exporterPdfFooter=a.exporterPdfFooter?a.exporterPdfFooter:null,a.exporterPdfOrientation=a.exporterPdfOrientation?a.exporterPdfOrientation:"landscape",a.exporterPdfPageSize=a.exporterPdfPageSize?a.exporterPdfPageSize:"A4",a.exporterPdfMaxGridWidth=a.exporterPdfMaxGridWidth?a.exporterPdfMaxGridWidth:720,a.exporterMenuAllData=void 0!==a.exporterMenuAllData?a.exporterMenuAllData:!0,a.exporterMenuCsv=void 0!==a.exporterMenuCsv?a.exporterMenuCsv:!0,a.exporterMenuPdf=void 0!==a.exporterMenuPdf?a.exporterMenuPdf:!0,a.exporterPdfCustomFormatter=a.exporterPdfCustomFormatter&&"function"==typeof a.exporterPdfCustomFormatter?a.exporterPdfCustomFormatter:function(a){return a},a.exporterHeaderFilterUseName=a.exporterHeaderFilterUseName===!0,a.exporterFieldCallback=a.exporterFieldCallback?a.exporterFieldCallback:function(a,b,c,d){return d},a.exporterAllDataFn=a.exporterAllDataFn?a.exporterAllDataFn:null,null==a.exporterAllDataFn&&a.exporterAllDataPromise&&(a.exporterAllDataFn=a.exporterAllDataPromise)},addToMenu:function(a){a.api.core.addToGridMenu(a,[{title:f.getSafeText("gridMenu.exporterAllAsCsv"),action:function(a){this.grid.api.exporter.csvExport(b.ALL,b.ALL)},shown:function(){return this.grid.options.exporterMenuCsv&&this.grid.options.exporterMenuAllData},order:200},{title:f.getSafeText("gridMenu.exporterVisibleAsCsv"),action:function(a){this.grid.api.exporter.csvExport(b.VISIBLE,b.VISIBLE)},shown:function(){return this.grid.options.exporterMenuCsv},order:201},{title:f.getSafeText("gridMenu.exporterSelectedAsCsv"),action:function(a){this.grid.api.exporter.csvExport(b.SELECTED,b.VISIBLE)},shown:function(){return this.grid.options.exporterMenuCsv&&this.grid.api.selection&&this.grid.api.selection.getSelectedRows().length>0},order:202},{title:f.getSafeText("gridMenu.exporterAllAsPdf"),action:function(a){this.grid.api.exporter.pdfExport(b.ALL,b.ALL)},shown:function(){return this.grid.options.exporterMenuPdf&&this.grid.options.exporterMenuAllData},order:203},{title:f.getSafeText("gridMenu.exporterVisibleAsPdf"),action:function(a){this.grid.api.exporter.pdfExport(b.VISIBLE,b.VISIBLE)},shown:function(){return this.grid.options.exporterMenuPdf},order:204},{title:f.getSafeText("gridMenu.exporterSelectedAsPdf"),action:function(a){this.grid.api.exporter.pdfExport(b.SELECTED,b.VISIBLE)},shown:function(){return this.grid.options.exporterMenuPdf&&this.grid.api.selection&&this.grid.api.selection.getSelectedRows().length>0},order:205}])},csvExport:function(a,b,c){var d=this;this.loadAllDataIfNeeded(a,b,c).then(function(){var e=a.options.showHeader?d.getColumnHeaders(a,c):[],f=d.getData(a,b,c),g=d.formatAsCsv(e,f,a.options.exporterCsvColumnSeparator);d.downloadFile(a.options.exporterCsvFilename,g,a.options.exporterOlderExcelCompatibility)})},loadAllDataIfNeeded:function(c,d,e){if(d===b.ALL&&c.rows.length!==c.options.totalItems&&c.options.exporterAllDataFn)return c.options.exporterAllDataFn().then(function(){c.modifyRows(c.options.data)});var f=a.defer();return f.resolve(),f.promise},getColumnHeaders:function(a,c){var d,e=[];if(c===b.ALL)d=a.columns;else{var f=a.renderContainers.left?a.renderContainers.left.visibleColumnCache.filter(function(a){return a.visible}):[],g=a.renderContainers.body?a.renderContainers.body.visibleColumnCache.filter(function(a){return a.visible}):[],h=a.renderContainers.right?a.renderContainers.right.visibleColumnCache.filter(function(a){return a.visible}):[];d=f.concat(g,h)}return d.forEach(function(b,c){b.colDef.exporterSuppressExport!==!0&&-1===a.options.exporterSuppressColumns.indexOf(b.name)&&e.push({name:b.field,displayName:a.options.exporterHeaderFilter?a.options.exporterHeaderFilterUseName?a.options.exporterHeaderFilter(b.name):a.options.exporterHeaderFilter(b.displayName):b.displayName,width:b.drawnWidth?b.drawnWidth:b.width,align:"number"===b.colDef.type?"right":"left"})}),e},getData:function(a,d,e){var f,g,h=[];switch(d){case b.ALL:f=a.rows;break;case b.VISIBLE:f=a.getVisibleRows();break;case b.SELECTED:a.api.selection?f=a.api.selection.getSelectedGridRows():c.logError("selection feature must be enabled to allow selected rows to be exported")}if(e===b.ALL)g=a.columns;else{var i=a.renderContainers.left?a.renderContainers.left.visibleColumnCache.filter(function(a){return a.visible}):[],j=a.renderContainers.body?a.renderContainers.body.visibleColumnCache.filter(function(a){return a.visible}):[],k=a.renderContainers.right?a.renderContainers.right.visibleColumnCache.filter(function(a){return a.visible}):[];g=i.concat(j,k)}return f.forEach(function(c,d){if(c.exporterEnableExporting!==!1){var f=[];g.forEach(function(d,g){if((d.visible||e===b.ALL)&&d.colDef.exporterSuppressExport!==!0&&-1===a.options.exporterSuppressColumns.indexOf(d.name)){var h={value:a.options.exporterFieldCallback(a,c,d,a.getCellValue(c,d))};d.colDef.exporterPdfAlign&&(h.alignment=d.colDef.exporterPdfAlign),f.push(h)}}),h.push(f)}}),h},formatAsCsv:function(a,b,c){var d=this,e=a.map(function(a){return{value:a.displayName}}),f=e.length>0?d.formatRowAsCsv(this,c)(e)+"\n":"";return f+=b.map(this.formatRowAsCsv(this,c)).join("\n")},formatRowAsCsv:function(a,b){return function(c){return c.map(a.formatFieldAsCsv).join(b)}},formatFieldAsCsv:function(a){return null==a.value?"":"number"==typeof a.value?a.value:"boolean"==typeof a.value?a.value?"TRUE":"FALSE":"string"==typeof a.value?'"'+a.value.replace(/"/g,'""')+'"':JSON.stringify(a.value)},isIE:function(){var a=navigator.userAgent.match(/(?:MSIE |Trident\/.*; rv:)(\d+)/);return a?parseInt(a[1]):!1},downloadFile:function(a,b,c){var d,e,f=document,g=f.createElement("a"),h="application/octet-stream;charset=utf-8";if(e=this.isIE(),e&&10>e){var i=f.createElement("iframe");return document.body.appendChild(i),i.contentWindow.document.open("text/html","replace"),i.contentWindow.document.write("sep=,\r\n"+b),i.contentWindow.document.close(),i.contentWindow.focus(),i.contentWindow.document.execCommand("SaveAs",!0,a),document.body.removeChild(i),!0}if(navigator.msSaveBlob)return navigator.msSaveOrOpenBlob(new Blob([c?"\ufeff":"",b],{type:h}),a);if("download"in g){var j=new Blob([c?"\ufeff":"",b],{type:h});d=URL.createObjectURL(j),g.setAttribute("download",a)}else d="data:"+h+","+encodeURIComponent(b),g.setAttribute("target","_blank");g.href=d,g.setAttribute("style","display:none;"),f.body.appendChild(g),setTimeout(function(){if(g.click)g.click();else if(document.createEvent){var a=document.createEvent("MouseEvents");a.initEvent("click",!0,!0),g.dispatchEvent(a)}f.body.removeChild(g)},this.delay)},pdfExport:function(a,b,c){var d=this;this.loadAllDataIfNeeded(a,b,c).then(function(){var e=d.getColumnHeaders(a,c),f=d.getData(a,b,c),g=d.prepareAsPdf(a,e,f);d.isIE()?d.downloadPDF(a.options.exporterPdfFilename,g):pdfMake.createPdf(g).open()})},downloadPDF:function(a,b){var c,d=document;d.createElement("a");c=this.isIE();var e,f=pdfMake.createPdf(b);f.getBuffer(function(b){if(e=new Blob([b]),c&&10>c){var f=d.createElement("iframe");return document.body.appendChild(f),f.contentWindow.document.open("text/html","replace"),f.contentWindow.document.write(e),f.contentWindow.document.close(),f.contentWindow.focus(),f.contentWindow.document.execCommand("SaveAs",!0,a),document.body.removeChild(f),
-!0}return navigator.msSaveBlob?navigator.msSaveBlob(e,a):void 0})},prepareAsPdf:function(a,b,c){var d=this.calculatePdfHeaderWidths(a,b),e=b.map(function(a){return{text:a.displayName,style:"tableHeader"}}),f=c.map(this.formatRowAsPdf(this)),g=[e].concat(f),h={pageOrientation:a.options.exporterPdfOrientation,pageSize:a.options.exporterPdfPageSize,content:[{style:"tableStyle",table:{headerRows:1,widths:d,body:g}}],styles:{tableStyle:a.options.exporterPdfTableStyle,tableHeader:a.options.exporterPdfTableHeaderStyle},defaultStyle:a.options.exporterPdfDefaultStyle};return a.options.exporterPdfLayout&&(h.layout=a.options.exporterPdfLayout),a.options.exporterPdfHeader&&(h.header=a.options.exporterPdfHeader),a.options.exporterPdfFooter&&(h.footer=a.options.exporterPdfFooter),a.options.exporterPdfCustomFormatter&&(h=a.options.exporterPdfCustomFormatter(h)),h},calculatePdfHeaderWidths:function(a,b){var c=0;b.forEach(function(a){"number"==typeof a.width&&(c+=a.width)});var d=0;b.forEach(function(a){if("*"===a.width&&(d+=100),"string"==typeof a.width&&a.width.match(/(\d)*%/)){var b=parseInt(a.width.match(/(\d)*%/)[0]);a.width=c*b/100,d+=a.width}});var e=c+d;return b.map(function(b){return"*"===b.width?b.width:b.width*a.options.exporterPdfMaxGridWidth/e})},formatRowAsPdf:function(a){return function(b){return b.map(a.formatFieldAsPdfString)}},formatFieldAsPdfString:function(a){var b;return b=null==a.value?"":"number"==typeof a.value?a.value.toString():"boolean"==typeof a.value?a.value?"TRUE":"FALSE":"string"==typeof a.value?a.value.replace(/"/g,'""'):JSON.stringify(a.value).replace(/^"/,"").replace(/"$/,""),a.alignment&&"string"==typeof a.alignment&&(b={text:b,alignment:a.alignment}),b}};return g}]),a.directive("uiGridExporter",["uiGridExporterConstants","uiGridExporterService","gridUtil","$compile",function(a,b,c,d){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,link:function(a,c,d,e){b.initializeGrid(e.grid),e.grid.exporter.$scope=a}}}])}(),function(){"use strict";var a=angular.module("ui.grid.grouping",["ui.grid","ui.grid.treeBase"]);a.constant("uiGridGroupingConstants",{featureName:"grouping",rowHeaderColName:"treeBaseRowHeaderCol",EXPANDED:"expanded",COLLAPSED:"collapsed",aggregation:{COUNT:"count",SUM:"sum",MAX:"max",MIN:"min",AVG:"avg"}}),a.service("uiGridGroupingService",["$q","uiGridGroupingConstants","gridUtil","rowSorter","GridRow","gridClassFactory","i18nService","uiGridConstants","uiGridTreeBaseService",function(a,b,c,d,e,f,g,h,i){var j={initializeGrid:function(a,b){i.initializeGrid(a,b),a.grouping={},a.grouping.groupHeaderCache={},j.defaultGridOptions(a.options),a.registerRowsProcessor(j.groupRows,400),a.registerColumnBuilder(j.groupingColumnBuilder),a.registerColumnsProcessor(j.groupingColumnProcessor,400);var c={events:{grouping:{aggregationChanged:{},groupingChanged:{}}},methods:{grouping:{getGrouping:function(b){var c=j.getGrouping(a);return c.grouping.forEach(function(a){a.colName=a.col.name,delete a.col}),c.aggregations.forEach(function(a){a.colName=a.col.name,delete a.col}),c.aggregations=c.aggregations.filter(function(a){return!a.aggregation.source||"grouping"!==a.aggregation.source}),b&&(c.rowExpandedStates=j.getRowExpandedStates(a.grouping.groupingHeaderCache)),c},setGrouping:function(b){j.setGrouping(a,b)},groupColumn:function(b){var c=a.getColumn(b);j.groupColumn(a,c)},ungroupColumn:function(b){var c=a.getColumn(b);j.ungroupColumn(a,c)},clearGrouping:function(){j.clearGrouping(a)},aggregateColumn:function(b,c,d){var e=a.getColumn(b);j.aggregateColumn(a,e,c,d)}}}};a.api.registerEventsFromObject(c.events),a.api.registerMethodsFromObject(c.methods),a.api.core.on.sortChanged(b,j.tidyPriorities)},defaultGridOptions:function(a){a.enableGrouping=a.enableGrouping!==!1,a.groupingShowCounts=a.groupingShowCounts!==!1,a.groupingNullLabel="undefined"==typeof a.groupingNullLabel?"Null":a.groupingNullLabel,a.enableGroupHeaderSelection=a.enableGroupHeaderSelection===!0},groupingColumnBuilder:function(a,d,e){if(a.enableGrouping!==!1){"undefined"==typeof d.grouping&&"undefined"!=typeof a.grouping?(d.grouping=angular.copy(a.grouping),"undefined"!=typeof d.grouping.groupPriority&&d.grouping.groupPriority>-1&&(d.treeAggregationFn=i.nativeAggregations()[b.aggregation.COUNT].aggregationFn,d.treeAggregationFinalizerFn=j.groupedFinalizerFn)):"undefined"==typeof d.grouping&&(d.grouping={}),"undefined"!=typeof d.grouping&&"undefined"!=typeof d.grouping.groupPriority&&d.grouping.groupPriority>=0&&(d.suppressRemoveSort=!0);var f={name:"ui.grid.grouping.group",title:g.get().grouping.group,icon:"ui-grid-icon-indent-right",shown:function(){return"undefined"==typeof this.context.col.grouping||"undefined"==typeof this.context.col.grouping.groupPriority||this.context.col.grouping.groupPriority<0},action:function(){j.groupColumn(this.context.col.grid,this.context.col)}},h={name:"ui.grid.grouping.ungroup",title:g.get().grouping.ungroup,icon:"ui-grid-icon-indent-left",shown:function(){return"undefined"!=typeof this.context.col.grouping&&"undefined"!=typeof this.context.col.grouping.groupPriority&&this.context.col.grouping.groupPriority>=0},action:function(){j.ungroupColumn(this.context.col.grid,this.context.col)}},k={name:"ui.grid.grouping.aggregateRemove",title:g.get().grouping.aggregate_remove,shown:function(){return"undefined"!=typeof this.context.col.treeAggregationFn},action:function(){j.aggregateColumn(this.context.col.grid,this.context.col,null)}},l=function(a,b){b=b||g.get().grouping["aggregate_"+a]||a;var e={name:"ui.grid.grouping.aggregate"+a,title:b,shown:function(){return"undefined"==typeof this.context.col.treeAggregation||"undefined"==typeof this.context.col.treeAggregation.type||this.context.col.treeAggregation.type!==a},action:function(){j.aggregateColumn(this.context.col.grid,this.context.col,a)}};c.arrayContainsObjectWithProperty(d.menuItems,"name","ui.grid.grouping.aggregate"+a)||d.menuItems.push(e)};d.colDef.groupingShowGroupingMenu!==!1&&(c.arrayContainsObjectWithProperty(d.menuItems,"name","ui.grid.grouping.group")||d.menuItems.push(f),c.arrayContainsObjectWithProperty(d.menuItems,"name","ui.grid.grouping.ungroup")||d.menuItems.push(h)),d.colDef.groupingShowAggregationMenu!==!1&&(angular.forEach(i.nativeAggregations(),function(a,b){l(b)}),angular.forEach(e.treeCustomAggregations,function(a,b){l(b,a.menuTitle)}),c.arrayContainsObjectWithProperty(d.menuItems,"name","ui.grid.grouping.aggregateRemove")||d.menuItems.push(k))}},groupingColumnProcessor:function(a,b){return a=j.moveGroupColumns(this,a,b)},groupedFinalizerFn:function(a){var b=this;"undefined"!=typeof a.groupVal?(a.rendered=a.groupVal,b.grid.options.groupingShowCounts&&"date"!==b.colDef.type&&(a.rendered+=" ("+a.value+")")):a.rendered=null},moveGroupColumns:function(a,b,c){return a.options.moveGroupColumns===!1?b:(b.forEach(function(a,b){a.groupingPosition=b}),b.sort(function(a,b){var c,d;return c=a.isRowHeader?-1e3:"undefined"==typeof a.grouping||"undefined"==typeof a.grouping.groupPriority||a.grouping.groupPriority<0?null:a.grouping.groupPriority,d=b.isRowHeader?-1e3:"undefined"==typeof b.grouping||"undefined"==typeof b.grouping.groupPriority||b.grouping.groupPriority<0?null:b.grouping.groupPriority,null!==c&&null===d?-1:null!==d&&null===c?1:null!==c&&null!==d?c-d:a.groupingPosition-b.groupingPosition}),b.forEach(function(a,b){delete a.groupingPosition}),b)},groupColumn:function(a,c){"undefined"==typeof c.grouping&&(c.grouping={});var d=j.getGrouping(a);c.grouping.groupPriority=d.grouping.length,c.sort?("undefined"==typeof c.sort.direction||null===c.sort.direction)&&(c.sort.direction=h.ASC):c.sort={direction:h.ASC},c.treeAggregation={type:b.aggregation.COUNT,source:"grouping"},c.treeAggregationFn=i.nativeAggregations()[b.aggregation.COUNT].aggregationFn,c.treeAggregationFinalizerFn=j.groupedFinalizerFn,a.api.grouping.raise.groupingChanged(c),a.api.core.raise.sortChanged(a,a.getColumnSorting()),a.queueGridRefresh()},ungroupColumn:function(a,b){"undefined"!=typeof b.grouping&&(delete b.grouping.groupPriority,delete b.treeAggregation,delete b.customTreeAggregationFinalizer,j.tidyPriorities(a),a.api.grouping.raise.groupingChanged(b),a.queueGridRefresh())},aggregateColumn:function(a,b,c){"undefined"!=typeof b.grouping&&"undefined"!=typeof b.grouping.groupPriority&&b.grouping.groupPriority>=0&&j.ungroupColumn(a,b);var d={};"undefined"!=typeof a.options.treeCustomAggregations[c]?d=a.options.treeCustomAggregations[c]:"undefined"!=typeof i.nativeAggregations()[c]&&(d=i.nativeAggregations()[c]),b.treeAggregation={type:c,label:g.get().aggregation[d.label]||d.label},b.treeAggregationFn=d.aggregationFn,b.treeAggregationFinalizerFn=d.finalizerFn,a.api.grouping.raise.aggregationChanged(b),a.queueGridRefresh()},setGrouping:function(a,b){"undefined"!=typeof b&&(j.clearGrouping(a),b.grouping&&b.grouping.length&&b.grouping.length>0&&b.grouping.forEach(function(b){var c=a.getColumn(b.colName);c&&j.groupColumn(a,c)}),b.aggregations&&b.aggregations.length&&b.aggregations.forEach(function(b){var c=a.getColumn(b.colName);c&&j.aggregateColumn(a,c,b.aggregation.type)}),b.rowExpandedStates&&j.applyRowExpandedStates(a.grouping.groupingHeaderCache,b.rowExpandedStates))},clearGrouping:function(a){var b=j.getGrouping(a);b.grouping.length>0&&b.grouping.forEach(function(b){b.col||(b.col=a.getColumn(b.colName)),j.ungroupColumn(a,b.col)}),b.aggregations.length>0&&b.aggregations.forEach(function(b){b.col||(b.col=a.getColumn(b.colName)),j.aggregateColumn(a,b.col,null)})},tidyPriorities:function(a){"undefined"!=typeof a&&"undefined"==typeof a.grid||"undefined"==typeof this.grid||(a=this.grid);var b=[],c=[];a.columns.forEach(function(a,d){"undefined"!=typeof a.grouping&&"undefined"!=typeof a.grouping.groupPriority&&a.grouping.groupPriority>=0?b.push(a):"undefined"!=typeof a.sort&&"undefined"!=typeof a.sort.priority&&a.sort.priority>=0&&c.push(a)}),b.sort(function(a,b){return a.grouping.groupPriority-b.grouping.groupPriority}),b.forEach(function(a,b){a.grouping.groupPriority=b,a.suppressRemoveSort=!0,"undefined"==typeof a.sort&&(a.sort={}),a.sort.priority=b});var d=b.length;c.sort(function(a,b){return a.sort.priority-b.sort.priority}),c.forEach(function(a,b){a.sort.priority=d,a.suppressRemoveSort=a.colDef.suppressRemoveSort,d++})},groupRows:function(a){if(0===a.length)return a;var b=this;b.grouping.oldGroupingHeaderCache=b.grouping.groupingHeaderCache||{},b.grouping.groupingHeaderCache={};for(var c=j.initialiseProcessingState(b),e=function(e,h){var i=b.getCellValue(g,e.col);e.initialised&&0===d.getSortFn(b,e.col,a)(i,e.currentValue)||(j.insertGroupHeader(b,a,f,c,h),f++)},f=0;f<a.length;f++){var g=a[f];g.visible&&c.forEach(e)}return delete b.grouping.oldGroupingHeaderCache,a},initialiseProcessingState:function(a){var b=[],c=j.getGrouping(a);return c.grouping.forEach(function(a,c){b.push({fieldName:a.field,col:a.col,initialised:!1,currentValue:null,currentRow:null})}),b},getGrouping:function(a){var b=[],c=[];return a.columns.forEach(function(a,d){a.grouping&&"undefined"!=typeof a.grouping.groupPriority&&a.grouping.groupPriority>=0&&b.push({field:a.field,col:a,groupPriority:a.grouping.groupPriority,grouping:a.grouping}),a.treeAggregation&&a.treeAggregation.type&&c.push({field:a.field,col:a,aggregation:a.treeAggregation})}),b.sort(function(a,b){return a.groupPriority-b.groupPriority}),b.forEach(function(a,b){a.grouping.groupPriority=b,a.groupPriority=b,delete a.grouping}),{grouping:b,aggregations:c}},insertGroupHeader:function(a,b,c,d,g){var h=(d[g].fieldName,d[g].col),i=a.getCellValue(b[c],h),k=i;("undefined"==typeof i||null===i)&&(k=a.options.groupingNullLabel);for(var l=a.grouping.oldGroupingHeaderCache,m=0;g>m;m++)l&&l[d[m].currentValue]&&(l=l[d[m].currentValue].children);var n;for(l&&l[i]?(n=l[i].row,n.entity={}):(n=new e({},null,a),f.rowTemplateAssigner.call(a,n)),n.entity["$$"+d[g].col.uid]={groupVal:k},n.treeLevel=g,n.groupHeader=!0,n.internalRow=!0,n.enableCellEdit=!1,n.enableSelection=a.options.enableGroupHeaderSelection,d[g].initialised=!0,d[g].currentValue=i,d[g].currentRow=n,j.finaliseProcessingState(d,g+1),b.splice(c,0,n),l=a.grouping.groupingHeaderCache,m=0;g>m;m++)l=l[d[m].currentValue].children;l[i]={row:n,children:{}}},finaliseProcessingState:function(a,b){for(var c=b;c<a.length;c++)a[c].initialised=!1,a[c].currentRow=null,a[c].currentValue=null},getRowExpandedStates:function(a){if("undefined"==typeof a)return{};var b={};return angular.forEach(a,function(a,c){b[c]={state:a.row.treeNode.state},a.children?b[c].children=j.getRowExpandedStates(a.children):b[c].children={}}),b},applyRowExpandedStates:function(a,b){"undefined"!=typeof b&&angular.forEach(b,function(b,c){a[c]&&(a[c].row.treeNode.state=b.state,b.children&&a[c].children&&j.applyRowExpandedStates(a[c].children,b.children))})}};return j}]),a.directive("uiGridGrouping",["uiGridGroupingConstants","uiGridGroupingService","$templateCache",function(a,b,c){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(a,c,d,e){e.grid.options.enableGrouping!==!1&&b.initializeGrid(e.grid,a)},post:function(a,b,c,d){}}}}}])}(),function(){"use strict";var a=angular.module("ui.grid.importer",["ui.grid"]);a.constant("uiGridImporterConstants",{featureName:"importer"}),a.service("uiGridImporterService",["$q","uiGridConstants","uiGridImporterConstants","gridUtil","$compile","$interval","i18nService","$window",function(a,b,c,d,e,f,g,h){var i={initializeGrid:function(a,b){b.importer={$scope:a},this.defaultGridOptions(b.options);var c={events:{importer:{}},methods:{importer:{importFile:function(a){i.importThisFile(b,a)}}}};b.api.registerEventsFromObject(c.events),b.api.registerMethodsFromObject(c.methods),b.options.enableImporter&&b.options.importerShowMenu&&(b.api.core.addToGridMenu?i.addToMenu(b):f(function(){b.api.core.addToGridMenu&&i.addToMenu(b)},100,1))},defaultGridOptions:function(a){a.enableImporter||void 0===a.enableImporter?h.hasOwnProperty("File")&&h.hasOwnProperty("FileReader")&&h.hasOwnProperty("FileList")&&h.hasOwnProperty("Blob")?a.enableImporter=!0:(d.logError("The File APIs are not fully supported in this browser, grid importer cannot be used."),a.enableImporter=!1):a.enableImporter=!1,a.importerProcessHeaders=a.importerProcessHeaders||i.processHeaders,a.importerHeaderFilter=a.importerHeaderFilter||function(a){return a},a.importerErrorCallback&&"function"==typeof a.importerErrorCallback||delete a.importerErrorCallback,a.enableImporter!==!0||a.importerDataAddCallback||(d.logError("You have not set an importerDataAddCallback, importer is disabled"),a.enableImporter=!1),a.importerShowMenu=a.importerShowMenu!==!1,a.importerObjectCallback=a.importerObjectCallback||function(a,b){return b}},addToMenu:function(a){a.api.core.addToGridMenu(a,[{title:g.getSafeText("gridMenu.importerTitle"),order:150},{templateUrl:"ui-grid/importerMenuItemContainer",action:function(b){this.grid.api.importer.importAFile(a)},order:151}])},importThisFile:function(a,b){if(!b)return void d.logError("No file object provided to importThisFile, should be impossible, aborting");var c=new FileReader;switch(b.type){case"application/json":c.onload=i.importJsonClosure(a);break;default:c.onload=i.importCsvClosure(a)}c.readAsText(b)},importJsonClosure:function(a){return function(b){var c,d=[],e=i.parseJson(a,b);null!==e&&(e.forEach(function(b,e){c=i.newObject(a),angular.extend(c,b),c=a.options.importerObjectCallback(a,c),d.push(c)}),i.addObjects(a,d))}},parseJson:function(a,b){var c;try{c=JSON.parse(b.target.result)}catch(d){return void i.alertError(a,"importer.invalidJson","File could not be processed, is it valid json? Content was: ",b.target.result)}return Array.isArray(c)?c:(i.alertError(a,"importer.jsonNotarray","Import failed, file is not an array, file was: ",b.target.result),[])},importCsvClosure:function(a){return function(b){var c=i.parseCsv(b);if(!c||c.length<1)return void i.alertError(a,"importer.invalidCsv","File could not be processed, is it valid csv? Content was: ",b.target.result);var d=i.createCsvObjects(a,c);return d&&0!==d.length?void i.addObjects(a,d):void i.alertError(a,"importer.noObjects","Objects were not able to be derived, content was: ",b.target.result)}},parseCsv:function(a){var b=a.target.result;return CSV.parse(b)},createCsvObjects:function(a,b){var c=a.options.importerProcessHeaders(a,b.shift());if(!c||0===c.length)return i.alertError(a,"importer.noHeaders","Column names could not be derived, content was: ",b),[];var d,e=[];return b.forEach(function(b,f){d=i.newObject(a),null!==b&&b.forEach(function(a,b){null!==c[b]&&(d[c[b]]=a)}),d=a.options.importerObjectCallback(a,d),e.push(d)}),e},processHeaders:function(a,b){var c=[];if(a.options.columnDefs&&0!==a.options.columnDefs.length){var d=i.flattenColumnDefs(a,a.options.columnDefs);return b.forEach(function(a,b){d[a]?c.push(d[a]):d[a.toLowerCase()]?c.push(d[a.toLowerCase()]):c.push(null)}),c}return b.forEach(function(a,b){c.push(a.replace(/[^0-9a-zA-Z\-_]/g,"_"))}),c},flattenColumnDefs:function(a,b){var c={};return b.forEach(function(b,d){b.name&&(c[b.name]=b.field||b.name,c[b.name.toLowerCase()]=b.field||b.name),b.field&&(c[b.field]=b.field||b.name,c[b.field.toLowerCase()]=b.field||b.name),b.displayName&&(c[b.displayName]=b.field||b.name,c[b.displayName.toLowerCase()]=b.field||b.name),b.displayName&&a.options.importerHeaderFilter&&(c[a.options.importerHeaderFilter(b.displayName)]=b.field||b.name,c[a.options.importerHeaderFilter(b.displayName).toLowerCase()]=b.field||b.name)}),c},addObjects:function(a,c,d){if(a.api.rowEdit){var e=a.registerDataChangeCallback(function(){a.api.rowEdit.setRowsDirty(c),e()},[b.dataChange.ROW]);a.importer.$scope.$on("$destroy",e)}a.importer.$scope.$apply(a.options.importerDataAddCallback(a,c))},newObject:function(a){return"undefined"!=typeof a.options&&"undefined"!=typeof a.options.importerNewObject?new a.options.importerNewObject:{}},alertError:function(a,b,c,e){a.options.importerErrorCallback?a.options.importerErrorCallback(a,b,c,e):(h.alert(g.getSafeText(b)),d.logError(c+e))}};return i}]),a.directive("uiGridImporter",["uiGridImporterConstants","uiGridImporterService","gridUtil","$compile",function(a,b,c,d){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,link:function(a,c,d,e){b.initializeGrid(a,e.grid)}}}]),a.directive("uiGridImporterMenuItem",["uiGridImporterConstants","uiGridImporterService","gridUtil","$compile",function(a,b,c,d){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,templateUrl:"ui-grid/importerMenuItem",link:function(a,d,e,f){var g=function(a){var c=a.srcElement||a.target;if(c&&c.files&&1===c.files.length){var d=c.files[0];b.importThisFile(i,d),c.form.reset()}},h=d[0].querySelectorAll(".ui-grid-importer-file-chooser"),i=f.grid;1!==h.length?c.logError("Found > 1 or < 1 file choosers within the menu item, error, cannot continue"):h[0].addEventListener("change",g,!1)}}}])}(),function(){"use strict";var a=angular.module("ui.grid.infiniteScroll",["ui.grid"]);a.service("uiGridInfiniteScrollService",["gridUtil","$compile","$timeout","uiGridConstants","ScrollEvent","$q",function(a,b,c,d,e,f){var g={initializeGrid:function(a,b){if(g.defaultGridOptions(a.options),a.options.enableInfiniteScroll){a.infiniteScroll={dataLoading:!1},g.setScrollDirections(a,a.options.infiniteScrollUp,a.options.infiniteScrollDown),a.api.core.on.scrollEnd(b,g.handleScroll);var c={events:{infiniteScroll:{needLoadMoreData:function(a,b){},needLoadMoreDataTop:function(a,b){}}},methods:{infiniteScroll:{dataLoaded:function(b,c){g.setScrollDirections(a,b,c);var d=g.adjustScroll(a).then(function(){a.infiniteScroll.dataLoading=!1});return d},resetScroll:function(b,c){return g.setScrollDirections(a,b,c),g.adjustInfiniteScrollPosition(a,0)},saveScrollPercentage:function(){a.infiniteScroll.prevScrollTop=a.renderContainers.body.prevScrollTop,a.infiniteScroll.previousVisibleRows=a.getVisibleRowCount()},dataRemovedTop:function(b,c){g.dataRemovedTop(a,b,c)},dataRemovedBottom:function(b,c){g.dataRemovedBottom(a,b,c)},setScrollDirections:function(b,c){g.setScrollDirections(a,b,c)}}}};a.api.registerEventsFromObject(c.events),a.api.registerMethodsFromObject(c.methods)}},defaultGridOptions:function(a){a.enableInfiniteScroll=a.enableInfiniteScroll!==!1,a.infiniteScrollRowsFromEnd=a.infiniteScrollRowsFromEnd||20,a.infiniteScrollUp=a.infiniteScrollUp===!0,a.infiniteScrollDown=a.infiniteScrollDown!==!1},setScrollDirections:function(a,b,c){a.infiniteScroll.scrollUp=b===!0,a.suppressParentScrollUp=b===!0,a.infiniteScroll.scrollDown=c!==!1,a.suppressParentScrollDown=c!==!1},handleScroll:function(a){if(!(a.grid.infiniteScroll&&a.grid.infiniteScroll.dataLoading||"ui.grid.adjustInfiniteScrollPosition"===a.source)&&a.y){var b,c=a.grid.options.infiniteScrollRowsFromEnd/a.grid.renderContainers.body.visibleRowCache.length;a.grid.scrollDirection===d.scrollDirection.UP?(b=a.y.percentage,c>=b&&g.loadData(a.grid)):a.grid.scrollDirection===d.scrollDirection.DOWN&&(b=1-a.y.percentage,c>=b&&g.loadData(a.grid))}},loadData:function(a){a.infiniteScroll.previousVisibleRows=a.renderContainers.body.visibleRowCache.length,a.infiniteScroll.direction=a.scrollDirection,delete a.infiniteScroll.prevScrollTop,a.scrollDirection===d.scrollDirection.UP&&a.infiniteScroll.scrollUp?(a.infiniteScroll.dataLoading=!0,a.api.infiniteScroll.raise.needLoadMoreDataTop()):a.scrollDirection===d.scrollDirection.DOWN&&a.infiniteScroll.scrollDown&&(a.infiniteScroll.dataLoading=!0,a.api.infiniteScroll.raise.needLoadMoreData())},adjustScroll:function(a){var b=f.defer();return c(function(){var e,f,h,i,j;e=a.getViewportHeight()+a.headerHeight-a.renderContainers.body.headerHeight-a.scrollbarHeight,f=a.options.rowHeight,void 0===a.infiniteScroll.direction&&g.adjustInfiniteScrollPosition(a,0),h=a.getVisibleRowCount();var k=f*h;a.infiniteScroll.scrollDown&&e>k&&a.api.infiniteScroll.raise.needLoadMoreData(),a.infiniteScroll.direction===d.scrollDirection.UP&&(i=a.infiniteScroll.prevScrollTop||0,j=i+(h-a.infiniteScroll.previousVisibleRows)*f,g.adjustInfiniteScrollPosition(a,j),c(function(){b.resolve()})),a.infiniteScroll.direction===d.scrollDirection.DOWN&&(j=a.infiniteScroll.prevScrollTop||a.infiniteScroll.previousVisibleRows*f-e,g.adjustInfiniteScrollPosition(a,j),c(function(){b.resolve()}))},0),b.promise},adjustInfiniteScrollPosition:function(a,b){var c=new e(a,null,null,"ui.grid.adjustInfiniteScrollPosition"),d=a.getVisibleRowCount(),f=a.getViewportHeight()+a.headerHeight-a.renderContainers.body.headerHeight-a.scrollbarHeight,g=a.options.rowHeight,h=d*g-f;0===b&&a.infiniteScroll.scrollUp?c.y={percentage:1/h}:c.y={percentage:b/h},a.scrollContainers("",c)},dataRemovedTop:function(a,b,c){var d,e,f,h;return g.setScrollDirections(a,b,c),d=a.renderContainers.body.visibleRowCache.length,e=a.infiniteScroll.prevScrollTop,h=a.options.rowHeight,f=e-(a.infiniteScroll.previousVisibleRows-d)*h,g.adjustInfiniteScrollPosition(a,f)},dataRemovedBottom:function(a,b,c){var d;return g.setScrollDirections(a,b,c),d=a.infiniteScroll.prevScrollTop,g.adjustInfiniteScrollPosition(a,d)}};return g}]),a.directive("uiGridInfiniteScroll",["uiGridInfiniteScrollService",function(a){return{priority:-200,scope:!1,require:"^uiGrid",compile:function(b,c,d){return{pre:function(b,c,d,e){a.initializeGrid(e.grid,b)},post:function(a,b,c){}}}}}])}(),function(){"use strict";var a=angular.module("ui.grid.moveColumns",["ui.grid"]);a.service("uiGridMoveColumnService",["$q","$timeout","$log","ScrollEvent","uiGridConstants","gridUtil",function(a,b,c,d,e,f){var g={initializeGrid:function(a){var b=this;this.registerPublicApi(a),this.defaultGridOptions(a.options),a.moveColumns={orderCache:[]},a.registerColumnBuilder(b.movableColumnBuilder),a.registerDataChangeCallback(b.verifyColumnOrder,[e.dataChange.COLUMN])},registerPublicApi:function(a){var b=this,c={events:{colMovable:{columnPositionChanged:function(a,b,c){}}},methods:{colMovable:{moveColumn:function(c,d){var e=a.columns;if(!angular.isNumber(c)||!angular.isNumber(d))return void f.logError("MoveColumn: Please provide valid values for originalPosition and finalPosition");for(var g=0,h=0;h<e.length;h++)(angular.isDefined(e[h].colDef.visible)&&e[h].colDef.visible===!1||e[h].isRowHeader===!0)&&g++;if(c>=e.length-g||d>=e.length-g)return void f.logError("MoveColumn: Invalid values for originalPosition, finalPosition");var i=function(a){for(var b=a,c=0;b>=c;c++)angular.isDefined(e[c])&&(angular.isDefined(e[c].colDef.visible)&&e[c].colDef.visible===!1||e[c].isRowHeader===!0)&&b++;return b};b.redrawColumnAtPosition(a,i(c),i(d))}}}};a.api.registerEventsFromObject(c.events),a.api.registerMethodsFromObject(c.methods)},defaultGridOptions:function(a){a.enableColumnMoving=a.enableColumnMoving!==!1},movableColumnBuilder:function(b,c,d){var e=[];return b.enableColumnMoving=void 0===b.enableColumnMoving?d.enableColumnMoving:b.enableColumnMoving,a.all(e)},updateColumnCache:function(a){a.moveColumns.orderCache=a.getOnlyDataColumns()},verifyColumnOrder:function(a){var b,c=a.rowHeaderColumns.length;angular.forEach(a.moveColumns.orderCache,function(d,e){if(b=a.columns.indexOf(d),-1!==b&&b-c!==e){var f=a.columns.splice(b,1)[0];a.columns.splice(e+c,0,f)}})},redrawColumnAtPosition:function(a,c,d){var f=a.columns,h=f[c];if(h.colDef.enableColumnMoving){if(c>d)for(var i=c;i>d;i--)f[i]=f[i-1];else if(d>c)for(var j=c;d>j;j++)f[j]=f[j+1];f[d]=h,g.updateColumnCache(a),a.queueGridRefresh(),b(function(){a.api.core.notifyDataChange(e.dataChange.COLUMN),a.api.colMovable.raise.columnPositionChanged(h.colDef,c,d)})}}};return g}]),a.directive("uiGridMoveColumns",["uiGridMoveColumnService",function(a){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(b,c,d,e){a.initializeGrid(e.grid)},post:function(a,b,c,d){}}}}}]),a.directive("uiGridHeaderCell",["$q","gridUtil","uiGridMoveColumnService","$document","$log","uiGridConstants","ScrollEvent",function(a,b,c,d,e,f,g){return{priority:-10,require:"^uiGrid",compile:function(){return{post:function(a,e,f,h){if(a.col.colDef.enableColumnMoving){var i,j,k,l,m,n,o=angular.element(e[0].querySelectorAll(".ui-grid-cell-contents")),p=!1,q=!1,r=function(b){i=a.grid.element[0].getBoundingClientRect().left,a.grid.hasLeftContainer()&&(i+=a.grid.renderContainers.left.header[0].getBoundingClientRect().width),j=b.pageX,k=0,l=i+a.grid.getViewportWidth(),"mousedown"===b.type?(d.on("mousemove",s),d.on("mouseup",t)):"touchstart"===b.type&&(d.on("touchmove",s),d.on("touchend",t))},s=function(a){var b=a.pageX-j;0!==b&&(document.onselectstart=function(){return!1},q=!0,p?p&&(x(b),j=a.pageX):w())},t=function(b){if(document.onselectstart=null,m&&(m.remove(),p=!1),v(),u(),q){for(var d=a.grid.columns,e=0,f=0;f<d.length&&d[f].colDef.name!==a.col.colDef.name;f++)e++;if(0>k){for(var g=0,h=e-1;h>=0;h--)if((angular.isUndefined(d[h].colDef.visible)||d[h].colDef.visible===!0)&&(g+=d[h].drawnWidth||d[h].width||d[h].colDef.width,g>Math.abs(k))){c.redrawColumnAtPosition(a.grid,e,h+1);break}g<Math.abs(k)&&c.redrawColumnAtPosition(a.grid,e,0)}else if(k>0){for(var i=0,j=e+1;j<d.length;j++)if((angular.isUndefined(d[j].colDef.visible)||d[j].colDef.visible===!0)&&(i+=d[j].drawnWidth||d[j].width||d[j].colDef.width,i>k)){c.redrawColumnAtPosition(a.grid,e,j-1);break}k>i&&c.redrawColumnAtPosition(a.grid,e,d.length-1)}}},u=function(){o.on("touchstart",r),o.on("mousedown",r)},v=function(){o.off("touchstart",r),o.off("mousedown",r),d.off("mousemove",s),d.off("touchmove",s),d.off("mouseup",t),d.off("touchend",t)};u();var w=function(){p=!0,m=e.clone(),e.parent().append(m),m.addClass("movingColumn");var c,d={};c="safari"===b.detectBrowser()?e[0].offsetLeft+e[0].offsetWidth-e[0].getBoundingClientRect().width:e[0].getBoundingClientRect().left,d.left=c-i+"px";var f=a.grid.element[0].getBoundingClientRect().right,g=e[0].getBoundingClientRect().right;g>f&&(n=a.col.drawnWidth+(f-g),d.width=n+"px"),m.css(d)},x=function(b){for(var c=a.grid.columns,d=0,e=0;e<c.length;e++)(angular.isUndefined(c[e].colDef.visible)||c[e].colDef.visible===!0)&&(d+=c[e].drawnWidth||c[e].width||c[e].colDef.width);var f,j=m[0].getBoundingClientRect().left-1,o=m[0].getBoundingClientRect().right;if(f=j-i+b,f=l>f?f:l,(j>=i||b>0)&&(l>=o||0>b))m.css({visibility:"visible",left:f+"px"});else if(d>Math.ceil(h.grid.gridWidth)){b*=8;var p=new g(a.col.grid,null,null,"uiGridHeaderCell.moveElement");p.x={pixels:b},p.grid.scrollContainers("",p)}for(var q=0,r=0;r<c.length;r++)if(angular.isUndefined(c[r].colDef.visible)||c[r].colDef.visible===!0){if(c[r].colDef.name===a.col.colDef.name)break;q+=c[r].drawnWidth||c[r].width||c[r].colDef.width}void 0===a.newScrollLeft?k+=b:k=a.newScrollLeft+f-q,n<a.col.drawnWidth&&(n+=Math.abs(b),m.css({width:n+"px"}))}}}}}}}])}(),function(){"use strict";var a=angular.module("ui.grid.pagination",["ng","ui.grid"]);a.service("uiGridPaginationService",["gridUtil",function(a){var b={initializeGrid:function(a){b.defaultGridOptions(a.options);var c={events:{pagination:{paginationChanged:function(a,b){}}},methods:{pagination:{getPage:function(){return a.options.enablePagination?a.options.paginationCurrentPage:null},getTotalPages:function(){return a.options.enablePagination?0===a.options.totalItems?1:Math.ceil(a.options.totalItems/a.options.paginationPageSize):null},nextPage:function(){a.options.enablePagination&&(a.options.totalItems>0?a.options.paginationCurrentPage=Math.min(a.options.paginationCurrentPage+1,c.methods.pagination.getTotalPages()):a.options.paginationCurrentPage++)},previousPage:function(){a.options.enablePagination&&(a.options.paginationCurrentPage=Math.max(a.options.paginationCurrentPage-1,1))},seek:function(b){if(a.options.enablePagination){if(!angular.isNumber(b)||1>b)throw"Invalid page number: "+b;a.options.paginationCurrentPage=Math.min(b,c.methods.pagination.getTotalPages())}}}}};a.api.registerEventsFromObject(c.events),a.api.registerMethodsFromObject(c.methods);var d=function(b){if(a.options.useExternalPagination||!a.options.enablePagination)return b;var c=parseInt(a.options.paginationPageSize,10),d=parseInt(a.options.paginationCurrentPage,10),e=b.filter(function(a){return a.visible});a.options.totalItems=e.length;var f=(d-1)*c;return f>e.length&&(d=a.options.paginationCurrentPage=1,f=(d-1)*c),e.slice(f,f+c)};a.registerRowsProcessor(d,900)},defaultGridOptions:function(b){b.enablePagination=b.enablePagination!==!1,b.enablePaginationControls=b.enablePaginationControls!==!1,b.useExternalPagination=b.useExternalPagination===!0,a.isNullOrUndefined(b.totalItems)&&(b.totalItems=0),a.isNullOrUndefined(b.paginationPageSizes)&&(b.paginationPageSizes=[250,500,1e3]),a.isNullOrUndefined(b.paginationPageSize)&&(b.paginationPageSizes.length>0?b.paginationPageSize=b.paginationPageSizes[0]:b.paginationPageSize=0),a.isNullOrUndefined(b.paginationCurrentPage)&&(b.paginationCurrentPage=1),a.isNullOrUndefined(b.paginationTemplate)&&(b.paginationTemplate="ui-grid/pagination")},onPaginationChanged:function(a,b,c){a.api.pagination.raise.paginationChanged(b,c),a.options.useExternalPagination||a.queueGridRefresh()}};return b}]),a.directive("uiGridPagination",["gridUtil","uiGridPaginationService",function(a,b){return{priority:-200,scope:!1,require:"uiGrid",link:{pre:function(c,d,e,f){b.initializeGrid(f.grid),a.getTemplate(f.grid.options.paginationTemplate).then(function(a){var b=angular.element(a);d.append(b),f.innerCompile(b)})}}}}]),a.directive("uiGridPager",["uiGridPaginationService","uiGridConstants","gridUtil","i18nService",function(a,b,c,d){return{priority:-200,scope:!0,require:"^uiGrid",link:function(e,f,g,h){var i=".ui-grid-pager-control-input";e.aria=d.getSafeText("pagination.aria"),e.paginationApi=h.grid.api.pagination,e.sizesLabel=d.getSafeText("pagination.sizes"),e.totalItemsLabel=d.getSafeText("pagination.totalItems"),e.paginationOf=d.getSafeText("pagination.of"),e.paginationThrough=d.getSafeText("pagination.through");var j=h.grid.options;h.grid.renderContainers.body.registerViewportAdjuster(function(a){return a.height=a.height-c.elementHeight(f),a});var k=h.grid.registerDataChangeCallback(function(a){
-a.options.useExternalPagination||(a.options.totalItems=a.rows.length)},[b.dataChange.ROW]);e.$on("$destroy",k);var l=function(){e.showingLow=(j.paginationCurrentPage-1)*j.paginationPageSize+1,e.showingHigh=Math.min(j.paginationCurrentPage*j.paginationPageSize,j.totalItems)},m=e.$watch("grid.options.totalItems + grid.options.paginationPageSize",l),n=e.$watch("grid.options.paginationCurrentPage + grid.options.paginationPageSize",function(b,c){if(b!==c&&void 0!==c){if(!angular.isNumber(j.paginationCurrentPage)||j.paginationCurrentPage<1)return void(j.paginationCurrentPage=1);if(j.totalItems>0&&j.paginationCurrentPage>e.paginationApi.getTotalPages())return void(j.paginationCurrentPage=e.paginationApi.getTotalPages());l(),a.onPaginationChanged(e.grid,j.paginationCurrentPage,j.paginationPageSize)}});e.$on("$destroy",function(){m(),n()}),e.cantPageForward=function(){return j.totalItems>0?j.paginationCurrentPage>=e.paginationApi.getTotalPages():j.data.length<1},e.cantPageToLast=function(){return j.totalItems>0?e.cantPageForward():!0},e.cantPageBackward=function(){return j.paginationCurrentPage<=1};var o=function(a){a&&c.focus.bySelector(f,i)};e.pageFirstPageClick=function(){e.paginationApi.seek(1),o(e.cantPageBackward())},e.pagePreviousPageClick=function(){e.paginationApi.previousPage(),o(e.cantPageBackward())},e.pageNextPageClick=function(){e.paginationApi.nextPage(),o(e.cantPageForward())},e.pageLastPageClick=function(){e.paginationApi.seek(e.paginationApi.getTotalPages()),o(e.cantPageToLast())}}}}])}(),function(){"use strict";var a=angular.module("ui.grid.pinning",["ui.grid"]);a.constant("uiGridPinningConstants",{container:{LEFT:"left",RIGHT:"right",NONE:""}}),a.service("uiGridPinningService",["gridUtil","GridRenderContainer","i18nService","uiGridPinningConstants",function(a,b,c,d){var e={initializeGrid:function(a){e.defaultGridOptions(a.options),a.registerColumnBuilder(e.pinningColumnBuilder);var b={events:{pinning:{columnPinned:function(a,b){}}},methods:{pinning:{pinColumn:function(b,c){e.pinColumn(a,b,c)}}}};a.api.registerEventsFromObject(b.events),a.api.registerMethodsFromObject(b.methods)},defaultGridOptions:function(a){a.enablePinning=a.enablePinning!==!1},pinningColumnBuilder:function(b,f,g){if(b.enablePinning=void 0===b.enablePinning?g.enablePinning:b.enablePinning,b.pinnedLeft?(f.renderContainer="left",f.grid.createLeftContainer()):b.pinnedRight&&(f.renderContainer="right",f.grid.createRightContainer()),b.enablePinning){var h={name:"ui.grid.pinning.pinLeft",title:c.get().pinning.pinLeft,icon:"ui-grid-icon-left-open",shown:function(){return"undefined"==typeof this.context.col.renderContainer||!this.context.col.renderContainer||"left"!==this.context.col.renderContainer},action:function(){e.pinColumn(this.context.col.grid,this.context.col,d.container.LEFT)}},i={name:"ui.grid.pinning.pinRight",title:c.get().pinning.pinRight,icon:"ui-grid-icon-right-open",shown:function(){return"undefined"==typeof this.context.col.renderContainer||!this.context.col.renderContainer||"right"!==this.context.col.renderContainer},action:function(){e.pinColumn(this.context.col.grid,this.context.col,d.container.RIGHT)}},j={name:"ui.grid.pinning.unpin",title:c.get().pinning.unpin,icon:"ui-grid-icon-cancel",shown:function(){return"undefined"!=typeof this.context.col.renderContainer&&null!==this.context.col.renderContainer&&"body"!==this.context.col.renderContainer},action:function(){e.pinColumn(this.context.col.grid,this.context.col,d.container.UNPIN)}};a.arrayContainsObjectWithProperty(f.menuItems,"name","ui.grid.pinning.pinLeft")||f.menuItems.push(h),a.arrayContainsObjectWithProperty(f.menuItems,"name","ui.grid.pinning.pinRight")||f.menuItems.push(i),a.arrayContainsObjectWithProperty(f.menuItems,"name","ui.grid.pinning.unpin")||f.menuItems.push(j)}},pinColumn:function(a,b,c){c===d.container.NONE?b.renderContainer=null:(b.renderContainer=c,c===d.container.LEFT?a.createLeftContainer():c===d.container.RIGHT&&a.createRightContainer()),a.refresh().then(function(){a.api.pinning.raise.columnPinned(b.colDef,c)})}};return e}]),a.directive("uiGridPinning",["gridUtil","uiGridPinningService",function(a,b){return{require:"uiGrid",scope:!1,compile:function(){return{pre:function(a,c,d,e){b.initializeGrid(e.grid)},post:function(a,b,c,d){}}}}}])}(),function(){"use strict";var a=angular.module("ui.grid.resizeColumns",["ui.grid"]);a.service("uiGridResizeColumnsService",["gridUtil","$q","$timeout",function(a,b,c){var d={defaultGridOptions:function(a){a.enableColumnResizing=a.enableColumnResizing!==!1,a.enableColumnResize===!1&&(a.enableColumnResizing=!1)},colResizerColumnBuilder:function(a,c,d){var e=[];return a.enableColumnResizing=void 0===a.enableColumnResizing?d.enableColumnResizing:a.enableColumnResizing,a.enableColumnResize===!1&&(a.enableColumnResizing=!1),b.all(e)},registerPublicApi:function(a){var b={events:{colResizable:{columnSizeChanged:function(a,b){}}}};a.api.registerEventsFromObject(b.events)},fireColumnSizeChanged:function(b,d,e){c(function(){b.api.colResizable?b.api.colResizable.raise.columnSizeChanged(d,e):a.logError("The resizeable api is not registered, this may indicate that you've included the module but not added the 'ui-grid-resize-columns' directive to your grid definition.  Cannot raise any events.")})},findTargetCol:function(a,b,c){var d=a.getRenderContainer();if("left"===b){var e=d.visibleColumnCache.indexOf(a);return d.visibleColumnCache[e-1*c]}return a}};return d}]),a.directive("uiGridResizeColumns",["gridUtil","uiGridResizeColumnsService",function(a,b){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(a,c,d,e){b.defaultGridOptions(e.grid.options),e.grid.registerColumnBuilder(b.colResizerColumnBuilder),b.registerPublicApi(e.grid)},post:function(a,b,c,d){}}}}}]),a.directive("uiGridHeaderCell",["gridUtil","$templateCache","$compile","$q","uiGridResizeColumnsService","uiGridConstants","$timeout",function(a,b,c,d,e,f,g){return{priority:-10,require:"^uiGrid",compile:function(){return{post:function(a,d,h,i){var j=i.grid;if(j.options.enableColumnResizing){var k=b.get("ui-grid/columnResizer"),l=1;j.isRTL()&&(a.position="left",l=-1);var m=function(){for(var b=d[0].getElementsByClassName("ui-grid-column-resizer"),f=0;f<b.length;f++)angular.element(b[f]).remove();var g=e.findTargetCol(a.col,"left",l),h=a.col.getRenderContainer();if(g&&0!==h.visibleColumnCache.indexOf(a.col)&&g.colDef.enableColumnResizing!==!1){var i=angular.element(k).clone();i.attr("position","left"),d.prepend(i),c(i)(a)}if(a.col.colDef.enableColumnResizing!==!1){var j=angular.element(k).clone();j.attr("position","right"),d.append(j),c(j)(a)}};m();var n=function(){g(m)},o=j.registerDataChangeCallback(n,[f.dataChange.COLUMN]);a.$on("$destroy",o)}}}}}}]),a.directive("uiGridColumnResizer",["$document","gridUtil","uiGridConstants","uiGridResizeColumnsService",function(a,b,c,d){var e=angular.element('<div class="ui-grid-resize-overlay"></div>'),f={priority:0,scope:{col:"=",position:"@",renderIndex:"="},require:"?^uiGrid",link:function(f,g,h,i){function j(a){i.grid.refreshCanvas(!0).then(function(){i.grid.queueGridRefresh()})}function k(a,b){var c=b;return a.minWidth&&c<a.minWidth?c=a.minWidth:a.maxWidth&&c>a.maxWidth&&(c=a.maxWidth),c}function l(a,b){a.originalEvent&&(a=a.originalEvent),a.preventDefault(),o=(a.targetTouches?a.targetTouches[0]:a).clientX-p,0>o?o=0:o>i.grid.gridWidth&&(o=i.grid.gridWidth);var g=d.findTargetCol(f.col,f.position,q);if(g.colDef.enableColumnResizing!==!1){i.grid.element.hasClass("column-resizing")||i.grid.element.addClass("column-resizing");var h=o-n,j=parseInt(g.drawnWidth+h*q,10);o+=(k(g,j)-j)*q,e.css({left:o+"px"}),i.fireEvent(c.events.ITEM_DRAGGING)}}function m(a,b){a.originalEvent&&(a=a.originalEvent),a.preventDefault(),i.grid.element.removeClass("column-resizing"),e.remove(),o=(a.changedTouches?a.changedTouches[0]:a).clientX-p;var c=o-n;if(0===c)return t(),void s();var g=d.findTargetCol(f.col,f.position,q);if(g.colDef.enableColumnResizing!==!1){var h=parseInt(g.drawnWidth+c*q,10);g.width=k(g,h),g.hasCustomWidth=!0,j(c),d.fireColumnSizeChanged(i.grid,g.colDef,c),t(),s()}}var n=0,o=0,p=0,q=1;i.grid.isRTL()&&(f.position="left",q=-1),"left"===f.position?g.addClass("left"):"right"===f.position&&g.addClass("right");var r=function(b,c){b.originalEvent&&(b=b.originalEvent),b.stopPropagation(),p=i.grid.element[0].getBoundingClientRect().left,n=(b.targetTouches?b.targetTouches[0]:b).clientX-p,i.grid.element.append(e),e.css({left:n}),"touchstart"===b.type?(a.on("touchend",m),a.on("touchmove",l),g.off("mousedown",r)):(a.on("mouseup",m),a.on("mousemove",l),g.off("touchstart",r))},s=function(){g.on("mousedown",r),g.on("touchstart",r)},t=function(){a.off("mouseup",m),a.off("touchend",m),a.off("mousemove",l),a.off("touchmove",l),g.off("mousedown",r),g.off("touchstart",r)};s();var u=function(a,e){a.stopPropagation();var h=d.findTargetCol(f.col,f.position,q);if(h.colDef.enableColumnResizing!==!1){var l=0,m=0,n=b.closestElm(g,".ui-grid-render-container"),o=n.querySelectorAll("."+c.COL_CLASS_PREFIX+h.uid+" .ui-grid-cell-contents");Array.prototype.forEach.call(o,function(a){var c;angular.element(a).parent().hasClass("ui-grid-header-cell")&&(c=angular.element(a).parent()[0].querySelectorAll(".ui-grid-column-menu-button")),b.fakeElement(a,{},function(a){var d=angular.element(a);d.attr("style","float: left");var e=b.elementWidth(d);if(c){var f=b.elementWidth(c);e+=f}e>l&&(l=e,m=l-e)})}),h.width=k(h,l),h.hasCustomWidth=!0,j(m),d.fireColumnSizeChanged(i.grid,h.colDef,m)}};g.on("dblclick",u),g.on("$destroy",function(){g.off("dblclick",u),t()})}};return f}])}(),function(){"use strict";var a=angular.module("ui.grid.rowEdit",["ui.grid","ui.grid.edit","ui.grid.cellNav"]);a.constant("uiGridRowEditConstants",{}),a.service("uiGridRowEditService",["$interval","$q","uiGridConstants","uiGridRowEditConstants","gridUtil",function(a,b,c,d,e){var f={initializeGrid:function(a,b){b.rowEdit={};var c={events:{rowEdit:{saveRow:function(a){}}},methods:{rowEdit:{setSavePromise:function(a,c){f.setSavePromise(b,a,c)},getDirtyRows:function(){return b.rowEdit.dirtyRows?b.rowEdit.dirtyRows:[]},getErrorRows:function(){return b.rowEdit.errorRows?b.rowEdit.errorRows:[]},flushDirtyRows:function(){return f.flushDirtyRows(b)},setRowsDirty:function(a){f.setRowsDirty(b,a)},setRowsClean:function(a){f.setRowsClean(b,a)}}}};b.api.registerEventsFromObject(c.events),b.api.registerMethodsFromObject(c.methods),b.api.core.on.renderingComplete(a,function(c){b.api.edit.on.afterCellEdit(a,f.endEditCell),b.api.edit.on.beginCellEdit(a,f.beginEditCell),b.api.edit.on.cancelCellEdit(a,f.cancelEditCell),b.api.cellNav&&b.api.cellNav.on.navigate(a,f.navigate)})},defaultGridOptions:function(a){},saveRow:function(a,b){var c=this;return function(){if(b.isSaving=!0,b.rowEditSavePromise)return b.rowEditSavePromise;var d=a.api.rowEdit.raise.saveRow(b.entity);return b.rowEditSavePromise?b.rowEditSavePromise.then(c.processSuccessPromise(a,b),c.processErrorPromise(a,b)):e.logError("A promise was not returned when saveRow event was raised, either nobody is listening to event, or event handler did not return a promise"),d}},setSavePromise:function(a,b,c){var d=a.getRow(b);d.rowEditSavePromise=c},processSuccessPromise:function(a,b){var c=this;return function(){delete b.isSaving,delete b.isDirty,delete b.isError,delete b.rowEditSaveTimer,delete b.rowEditSavePromise,c.removeRow(a.rowEdit.errorRows,b),c.removeRow(a.rowEdit.dirtyRows,b)}},processErrorPromise:function(a,b){return function(){delete b.isSaving,delete b.rowEditSaveTimer,delete b.rowEditSavePromise,b.isError=!0,a.rowEdit.errorRows||(a.rowEdit.errorRows=[]),f.isRowPresent(a.rowEdit.errorRows,b)||a.rowEdit.errorRows.push(b)}},removeRow:function(a,b){"undefined"!=typeof a&&null!==a&&a.forEach(function(c,d){c.uid===b.uid&&a.splice(d,1)})},isRowPresent:function(a,b){var c=!1;return a.forEach(function(a,d){a.uid===b.uid&&(c=!0)}),c},flushDirtyRows:function(a){var c=[];return a.api.rowEdit.getDirtyRows().forEach(function(b){f.saveRow(a,b)(),c.push(b.rowEditSavePromise)}),b.all(c)},endEditCell:function(a,b,c,d){var g=this.grid,h=g.getRow(a);return h?void((c!==d||h.isDirty)&&(g.rowEdit.dirtyRows||(g.rowEdit.dirtyRows=[]),h.isDirty||(h.isDirty=!0,g.rowEdit.dirtyRows.push(h)),delete h.isError,f.considerSetTimer(g,h))):void e.logError("Unable to find rowEntity in grid data, dirty flag cannot be set")},beginEditCell:function(a,b){var c=this.grid,d=c.getRow(a);return d?void f.cancelTimer(c,d):void e.logError("Unable to find rowEntity in grid data, timer cannot be cancelled")},cancelEditCell:function(a,b){var c=this.grid,d=c.getRow(a);return d?void f.considerSetTimer(c,d):void e.logError("Unable to find rowEntity in grid data, timer cannot be set")},navigate:function(a,b){var c=this.grid;a.row.rowEditSaveTimer&&f.cancelTimer(c,a.row),b&&b.row&&b.row!==a.row&&f.considerSetTimer(c,b.row)},considerSetTimer:function(b,c){if(f.cancelTimer(b,c),c.isDirty&&!c.isSaving&&-1!==b.options.rowEditWaitInterval){var d=b.options.rowEditWaitInterval?b.options.rowEditWaitInterval:2e3;c.rowEditSaveTimer=a(f.saveRow(b,c),d,1)}},cancelTimer:function(b,c){c.rowEditSaveTimer&&!c.isSaving&&(a.cancel(c.rowEditSaveTimer),delete c.rowEditSaveTimer)},setRowsDirty:function(a,b){var c;b.forEach(function(b,d){c=a.getRow(b),c?(a.rowEdit.dirtyRows||(a.rowEdit.dirtyRows=[]),c.isDirty||(c.isDirty=!0,a.rowEdit.dirtyRows.push(c)),delete c.isError,f.considerSetTimer(a,c)):e.logError("requested row not found in rowEdit.setRowsDirty, row was: "+b)})},setRowsClean:function(a,b){var c;b.forEach(function(b,d){c=a.getRow(b),c?(delete c.isDirty,f.removeRow(a.rowEdit.dirtyRows,c),f.cancelTimer(a,c),delete c.isError,f.removeRow(a.rowEdit.errorRows,c)):e.logError("requested row not found in rowEdit.setRowsClean, row was: "+b)})}};return f}]),a.directive("uiGridRowEdit",["gridUtil","uiGridRowEditService","uiGridEditConstants",function(a,b,c){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(a,c,d,e){b.initializeGrid(a,e.grid)},post:function(a,b,c,d){}}}}}]),a.directive("uiGridViewport",["$compile","uiGridConstants","gridUtil","$parse",function(a,b,c,d){return{priority:-200,scope:!1,compile:function(a,b){var c=angular.element(a.children().children()[0]),d=c.attr("ng-class"),e="";return e=d?d.slice(0,-1)+", 'ui-grid-row-dirty': row.isDirty, 'ui-grid-row-saving': row.isSaving, 'ui-grid-row-error': row.isError}":"{'ui-grid-row-dirty': row.isDirty, 'ui-grid-row-saving': row.isSaving, 'ui-grid-row-error': row.isError}",c.attr("ng-class",e),{pre:function(a,b,c,d){},post:function(a,b,c,d){}}}}}])}(),function(){"use strict";var a=angular.module("ui.grid.saveState",["ui.grid","ui.grid.selection","ui.grid.cellNav","ui.grid.grouping","ui.grid.pinning","ui.grid.treeView"]);a.constant("uiGridSaveStateConstants",{featureName:"saveState"}),a.service("uiGridSaveStateService",["$q","uiGridSaveStateConstants","gridUtil","$compile","$interval","uiGridConstants",function(a,b,c,d,e,f){var g={initializeGrid:function(a){a.saveState={},this.defaultGridOptions(a.options);var b={events:{saveState:{}},methods:{saveState:{save:function(){return g.save(a)},restore:function(b,c){g.restore(a,b,c)}}}};a.api.registerEventsFromObject(b.events),a.api.registerMethodsFromObject(b.methods)},defaultGridOptions:function(a){a.saveWidths=a.saveWidths!==!1,a.saveOrder=a.saveOrder!==!1,a.saveScroll=a.saveScroll===!0,a.saveFocus=a.saveScroll!==!0&&a.saveFocus!==!1,a.saveVisible=a.saveVisible!==!1,a.saveSort=a.saveSort!==!1,a.saveFilter=a.saveFilter!==!1,a.saveSelection=a.saveSelection!==!1,a.saveGrouping=a.saveGrouping!==!1,a.saveGroupingExpandedStates=a.saveGroupingExpandedStates===!0,a.savePinning=a.savePinning!==!1,a.saveTreeView=a.saveTreeView!==!1},save:function(a){var b={};return b.columns=g.saveColumns(a),b.scrollFocus=g.saveScrollFocus(a),b.selection=g.saveSelection(a),b.grouping=g.saveGrouping(a),b.treeView=g.saveTreeView(a),b},restore:function(a,b,c){c.columns&&g.restoreColumns(a,c.columns),c.scrollFocus&&g.restoreScrollFocus(a,b,c.scrollFocus),c.selection&&g.restoreSelection(a,c.selection),c.grouping&&g.restoreGrouping(a,c.grouping),c.treeView&&g.restoreTreeView(a,c.treeView),a.refresh()},saveColumns:function(a){var b=[];return a.getOnlyDataColumns().forEach(function(c){var d={};d.name=c.name,a.options.saveVisible&&(d.visible=c.visible),a.options.saveWidths&&(d.width=c.width),a.options.saveSort&&(d.sort=angular.copy(c.sort)),a.options.saveFilter&&(d.filters=[],c.filters.forEach(function(a){var b={};angular.forEach(a,function(a,c){"condition"!==c&&"$$hashKey"!==c&&"placeholder"!==c&&(b[c]=a)}),d.filters.push(b)})),a.api.pinning&&a.options.savePinning&&(d.pinned=c.renderContainer?c.renderContainer:""),b.push(d)}),b},saveScrollFocus:function(a){if(!a.api.cellNav)return{};var b={};if(a.options.saveFocus){b.focus=!0;var c=a.api.cellNav.getFocusedCell();null!==c&&(null!==c.col&&(b.colName=c.col.colDef.name),null!==c.row&&(b.rowVal=g.getRowVal(a,c.row)))}return(a.options.saveScroll||a.options.saveFocus&&!b.colName&&!b.rowVal)&&(b.focus=!1,a.renderContainers.body.prevRowScrollIndex&&(b.rowVal=g.getRowVal(a,a.renderContainers.body.visibleRowCache[a.renderContainers.body.prevRowScrollIndex])),a.renderContainers.body.prevColScrollIndex&&(b.colName=a.renderContainers.body.visibleColumnCache[a.renderContainers.body.prevColScrollIndex].name)),b},saveSelection:function(a){if(!a.api.selection||!a.options.saveSelection)return[];var b=a.api.selection.getSelectedGridRows().map(function(b){return g.getRowVal(a,b)});return b},saveGrouping:function(a){return a.api.grouping&&a.options.saveGrouping?a.api.grouping.getGrouping(a.options.saveGroupingExpandedStates):{}},saveTreeView:function(a){return a.api.treeView&&a.options.saveTreeView?a.api.treeView.getTreeView():{}},getRowVal:function(a,b){if(!b)return null;var c={};return a.options.saveRowIdentity?(c.identity=!0,c.row=a.options.saveRowIdentity(b.entity)):(c.identity=!1,c.row=a.renderContainers.body.visibleRowCache.indexOf(b)),c},restoreColumns:function(a,b){var c=!1;b.forEach(function(b,d){var e=a.getColumn(b.name);if(e&&!a.isRowHeaderColumn(e)){!a.options.saveVisible||e.visible===b.visible&&e.colDef.visible===b.visible||(e.visible=b.visible,e.colDef.visible=b.visible,a.api.core.raise.columnVisibilityChanged(e)),a.options.saveWidths&&(e.width=b.width),!a.options.saveSort||angular.equals(e.sort,b.sort)||void 0===e.sort&&angular.isEmpty(b.sort)||(e.sort=angular.copy(b.sort),c=!0),a.options.saveFilter&&!angular.equals(e.filters,b.filters)&&(b.filters.forEach(function(a,b){angular.extend(e.filters[b],a),("undefined"==typeof a.term||null===a.term)&&delete e.filters[b].term}),a.api.core.raise.filterChanged()),a.api.pinning&&a.options.savePinning&&e.renderContainer!==b.pinned&&a.api.pinning.pinColumn(e,b.pinned);var f=a.getOnlyDataColumns().indexOf(e);if(-1!==f&&a.options.saveOrder&&f!==d){var g=a.columns.splice(f+a.rowHeaderColumns.length,1)[0];a.columns.splice(d+a.rowHeaderColumns.length,0,g)}}}),c&&a.api.core.raise.sortChanged(a,a.getColumnSorting())},restoreScrollFocus:function(a,b,c){if(a.api.cellNav){var d,e;if(c.colName){var f=a.options.columnDefs.filter(function(a){return a.name===c.colName});f.length>0&&(d=f[0])}c.rowVal&&c.rowVal.row&&(e=c.rowVal.identity?g.findRowByIdentity(a,c.rowVal):a.renderContainers.body.visibleRowCache[c.rowVal.row]);var h=e&&e.entity?e.entity:null;(d||h)&&(c.focus?a.api.cellNav.scrollToFocus(h,d):a.scrollTo(h,d))}},restoreSelection:function(a,b){a.api.selection&&(a.api.selection.clearSelectedRows(),b.forEach(function(b){if(b.identity){var c=g.findRowByIdentity(a,b);c&&a.api.selection.selectRow(c.entity)}else a.api.selection.selectRowByVisibleIndex(b.row)}))},restoreGrouping:function(a,b){a.api.grouping&&"undefined"!=typeof b&&null!==b&&!angular.equals(b,{})&&a.api.grouping.setGrouping(b)},restoreTreeView:function(a,b){a.api.treeView&&"undefined"!=typeof b&&null!==b&&!angular.equals(b,{})&&a.api.treeView.setTreeView(b)},findRowByIdentity:function(a,b){if(!a.options.saveRowIdentity)return null;var c=a.rows.filter(function(c){return a.options.saveRowIdentity(c.entity)===b.row?!0:!1});return c.length>0?c[0]:null}};return g}]),a.directive("uiGridSaveState",["uiGridSaveStateConstants","uiGridSaveStateService","gridUtil","$compile",function(a,b,c,d){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,link:function(a,c,d,e){b.initializeGrid(e.grid)}}}])}(),function(){"use strict";var a=angular.module("ui.grid.selection",["ui.grid"]);a.constant("uiGridSelectionConstants",{featureName:"selection",selectionRowHeaderColName:"selectionRowHeaderCol"}),angular.module("ui.grid").config(["$provide",function(a){a.decorator("GridRow",["$delegate",function(a){return a.prototype.setSelected=function(a){this.isSelected=a,a?this.grid.selection.selectedCount++:this.grid.selection.selectedCount--},a}])}]),a.service("uiGridSelectionService",["$q","$templateCache","uiGridSelectionConstants","gridUtil",function(a,b,c,d){var e={initializeGrid:function(a){a.selection={},a.selection.lastSelectedRow=null,a.selection.selectAll=!1,a.selection.selectedCount=0,e.defaultGridOptions(a.options);var b={events:{selection:{rowSelectionChanged:function(a,b,c){},rowSelectionChangedBatch:function(a,b,c){}}},methods:{selection:{toggleRowSelection:function(b,c){var d=a.getRow(b);null!==d&&e.toggleRowSelection(a,d,c,a.options.multiSelect,a.options.noUnselect)},selectRow:function(b,c){var d=a.getRow(b);null===d||d.isSelected||e.toggleRowSelection(a,d,c,a.options.multiSelect,a.options.noUnselect)},selectRowByVisibleIndex:function(b,c){var d=a.renderContainers.body.visibleRowCache[b];null===d||"undefined"==typeof d||d.isSelected||e.toggleRowSelection(a,d,c,a.options.multiSelect,a.options.noUnselect)},unSelectRow:function(b,c){var d=a.getRow(b);null!==d&&d.isSelected&&e.toggleRowSelection(a,d,c,a.options.multiSelect,a.options.noUnselect)},selectAllRows:function(b){if(a.options.multiSelect!==!1){var c=[];a.rows.forEach(function(d){d.isSelected||d.enableSelection===!1||(d.setSelected(!0),e.decideRaiseSelectionEvent(a,d,c,b))}),e.decideRaiseSelectionBatchEvent(a,c,b),a.selection.selectAll=!0}},selectAllVisibleRows:function(b){if(a.options.multiSelect!==!1){var c=[];a.rows.forEach(function(d){d.visible?d.isSelected||d.enableSelection===!1||(d.setSelected(!0),e.decideRaiseSelectionEvent(a,d,c,b)):d.isSelected&&(d.setSelected(!1),e.decideRaiseSelectionEvent(a,d,c,b))}),e.decideRaiseSelectionBatchEvent(a,c,b),a.selection.selectAll=!0}},clearSelectedRows:function(b){e.clearSelectedRows(a,b)},getSelectedRows:function(){return e.getSelectedRows(a).map(function(a){return a.entity})},getSelectedGridRows:function(){return e.getSelectedRows(a)},setMultiSelect:function(b){a.options.multiSelect=b},setModifierKeysToMultiSelect:function(b){a.options.modifierKeysToMultiSelect=b},getSelectAllState:function(){return a.selection.selectAll}}}};a.api.registerEventsFromObject(b.events),a.api.registerMethodsFromObject(b.methods)},defaultGridOptions:function(a){a.enableRowSelection=a.enableRowSelection!==!1,a.multiSelect=a.multiSelect!==!1,a.noUnselect=a.noUnselect===!0,a.modifierKeysToMultiSelect=a.modifierKeysToMultiSelect===!0,a.enableRowHeaderSelection=a.enableRowHeaderSelection!==!1,"undefined"==typeof a.enableFullRowSelection&&(a.enableFullRowSelection=!a.enableRowHeaderSelection),a.enableSelectAll=a.enableSelectAll!==!1,a.enableSelectionBatchEvent=a.enableSelectionBatchEvent!==!1,a.selectionRowHeaderWidth=angular.isDefined(a.selectionRowHeaderWidth)?a.selectionRowHeaderWidth:30,a.enableFooterTotalSelected=a.enableFooterTotalSelected!==!1,a.isRowSelectable=angular.isDefined(a.isRowSelectable)?a.isRowSelectable:angular.noop},toggleRowSelection:function(a,b,c,d,f){var g=b.isSelected;if(b.enableSelection!==!1||g){var h;d||g?!d&&g&&(h=e.getSelectedRows(a),h.length>1&&(g=!1,e.clearSelectedRows(a,c))):e.clearSelectedRows(a,c),g&&f||(b.setSelected(!g),b.isSelected===!0&&(a.selection.lastSelectedRow=b),h=e.getSelectedRows(a),a.selection.selectAll=a.rows.length===h.length,a.api.selection.raise.rowSelectionChanged(b,c))}},shiftSelect:function(a,b,c,d){if(d){var f=e.getSelectedRows(a),g=f.length>0?a.renderContainers.body.visibleRowCache.indexOf(a.selection.lastSelectedRow):0,h=a.renderContainers.body.visibleRowCache.indexOf(b);if(g>h){var i=g;g=h,h=i}for(var j=[],k=g;h>=k;k++){var l=a.renderContainers.body.visibleRowCache[k];l&&(l.isSelected||l.enableSelection===!1||(l.setSelected(!0),a.selection.lastSelectedRow=l,e.decideRaiseSelectionEvent(a,l,j,c)))}e.decideRaiseSelectionBatchEvent(a,j,c)}},getSelectedRows:function(a){return a.rows.filter(function(a){return a.isSelected})},clearSelectedRows:function(a,b){var c=[];e.getSelectedRows(a).forEach(function(d){d.isSelected&&(d.setSelected(!1),e.decideRaiseSelectionEvent(a,d,c,b))}),e.decideRaiseSelectionBatchEvent(a,c,b),a.selection.selectAll=!1,a.selection.selectedCount=0},decideRaiseSelectionEvent:function(a,b,c,d){a.options.enableSelectionBatchEvent?c.push(b):a.api.selection.raise.rowSelectionChanged(b,d)},decideRaiseSelectionBatchEvent:function(a,b,c){b.length>0&&a.api.selection.raise.rowSelectionChangedBatch(b,c)}};return e}]),a.directive("uiGridSelection",["uiGridSelectionConstants","uiGridSelectionService","$templateCache","uiGridConstants",function(a,b,c,d){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(c,e,f,g){if(b.initializeGrid(g.grid),g.grid.options.enableRowHeaderSelection){var h={name:a.selectionRowHeaderColName,displayName:"",width:g.grid.options.selectionRowHeaderWidth,minWidth:10,cellTemplate:"ui-grid/selectionRowHeader",headerCellTemplate:"ui-grid/selectionHeaderCell",enableColumnResizing:!1,enableColumnMenu:!1,exporterSuppressExport:!0,allowCellFocus:!0};g.grid.addRowHeaderColumn(h)}var i=!1,j=function(a){return a.forEach(function(a){a.enableSelection=g.grid.options.isRowSelectable(a)}),a},k=function(){g.grid.options.isRowSelectable!==angular.noop&&i!==!0&&(g.grid.registerRowsProcessor(j,500),i=!0)};k();var l=g.grid.registerDataChangeCallback(k,[d.dataChange.OPTIONS]);c.$on("$destroy",l)},post:function(a,b,c,d){}}}}}]),a.directive("uiGridSelectionRowHeaderButtons",["$templateCache","uiGridSelectionService","gridUtil",function(a,b,c){return{replace:!0,restrict:"E",template:a.get("ui-grid/selectionRowHeaderButtons"),scope:!0,require:"^uiGrid",link:function(a,d,e,f){function g(a,c){c.stopPropagation(),c.shiftKey?b.shiftSelect(i,a,c,i.options.multiSelect):c.ctrlKey||c.metaKey?b.toggleRowSelection(i,a,c,i.options.multiSelect,i.options.noUnselect):b.toggleRowSelection(i,a,c,i.options.multiSelect&&!i.options.modifierKeysToMultiSelect,i.options.noUnselect)}function h(a){(a.ctrlKey||a.shiftKey)&&(a.target.onselectstart=function(){return!1},window.setTimeout(function(){a.target.onselectstart=null},0))}var i=f.grid;a.selectButtonClick=g,"ie"===c.detectBrowser()&&d.on("mousedown",h)}}}]),a.directive("uiGridSelectionSelectAllButtons",["$templateCache","uiGridSelectionService",function(a,b){return{replace:!0,restrict:"E",template:a.get("ui-grid/selectionSelectAllButtons"),scope:!1,link:function(a,c,d,e){var f=a.col.grid;a.headerButtonClick=function(a,c){f.selection.selectAll?(b.clearSelectedRows(f,c),f.options.noUnselect&&f.api.selection.selectRowByVisibleIndex(0,c),f.selection.selectAll=!1):f.options.multiSelect&&(f.api.selection.selectAllVisibleRows(c),f.selection.selectAll=!0)}}}}]),a.directive("uiGridViewport",["$compile","uiGridConstants","uiGridSelectionConstants","gridUtil","$parse","uiGridSelectionService",function(a,b,c,d,e,f){return{priority:-200,scope:!1,compile:function(a,b){var c=angular.element(a.children().children()[0]),d=c.attr("ng-class"),e="";return e=d?d.slice(0,-1)+",'ui-grid-row-selected': row.isSelected}":"{'ui-grid-row-selected': row.isSelected}",c.attr("ng-class",e),{pre:function(a,b,c,d){},post:function(a,b,c,d){}}}}}]),a.directive("uiGridCell",["$compile","uiGridConstants","uiGridSelectionConstants","gridUtil","$parse","uiGridSelectionService","$timeout",function(a,b,c,d,e,f,g){return{priority:-200,restrict:"A",require:"?^uiGrid",scope:!1,link:function(a,c,d,e){function h(){a.grid.options.enableRowSelection&&a.grid.options.enableFullRowSelection&&(c.addClass("ui-grid-disable-selection"),c.on("touchstart",m),c.on("touchend",n),c.on("click",l),a.registered=!0)}function i(){a.registered&&(c.removeClass("ui-grid-disable-selection"),c.off("touchstart",m),c.off("touchend",n),c.off("click",l),a.registered=!1)}var j=0,k=300;e.grid.api.cellNav&&e.grid.api.cellNav.on.viewPortKeyDown(a,function(b,c){null!==c&&c.row===a.row&&c.col===a.col&&32===b.keyCode&&"selectionRowHeaderCol"===a.col.colDef.name&&(f.toggleRowSelection(a.grid,a.row,b,a.grid.options.multiSelect&&!a.grid.options.modifierKeysToMultiSelect,a.grid.options.noUnselect),a.$apply())});var l=function(b){c.off("touchend",n),b.shiftKey?f.shiftSelect(a.grid,a.row,b,a.grid.options.multiSelect):b.ctrlKey||b.metaKey?f.toggleRowSelection(a.grid,a.row,b,a.grid.options.multiSelect,a.grid.options.noUnselect):f.toggleRowSelection(a.grid,a.row,b,a.grid.options.multiSelect&&!a.grid.options.modifierKeysToMultiSelect,a.grid.options.noUnselect),a.$apply(),g(function(){c.on("touchend",n)},k)},m=function(a){j=(new Date).getTime(),c.off("click",l)},n=function(a){var b=(new Date).getTime(),d=b-j;k>d&&l(a),g(function(){c.on("click",l)},k)};h();var o=a.grid.registerDataChangeCallback(function(){a.grid.options.enableRowSelection&&a.grid.options.enableFullRowSelection&&!a.registered?h():a.grid.options.enableRowSelection&&a.grid.options.enableFullRowSelection||!a.registered||i()},[b.dataChange.OPTIONS]);c.on("$destroy",o)}}}]),a.directive("uiGridGridFooter",["$compile","uiGridConstants","gridUtil",function(a,b,c){return{restrict:"EA",replace:!0,priority:-1e3,require:"^uiGrid",scope:!0,compile:function(b,d){return{pre:function(b,d,e,f){f.grid.options.showGridFooter&&c.getTemplate("ui-grid/gridFooterSelectedItems").then(function(c){var e=angular.element(c),f=a(e)(b);angular.element(d[0].getElementsByClassName("ui-grid-grid-footer")[0]).append(f)})},post:function(a,b,c,d){}}}}}])}(),function(){"use strict";var a=angular.module("ui.grid.treeBase",["ui.grid"]);a.constant("uiGridTreeBaseConstants",{featureName:"treeBase",rowHeaderColName:"treeBaseRowHeaderCol",EXPANDED:"expanded",COLLAPSED:"collapsed",aggregation:{COUNT:"count",SUM:"sum",MAX:"max",MIN:"min",AVG:"avg"}}),a.service("uiGridTreeBaseService",["$q","uiGridTreeBaseConstants","gridUtil","GridRow","gridClassFactory","i18nService","uiGridConstants","rowSorter",function(a,b,c,d,e,f,g,h){var i={initializeGrid:function(a,b){a.treeBase={},a.treeBase.numberLevels=0,a.treeBase.expandAll=!1,a.treeBase.tree={},i.defaultGridOptions(a.options),a.registerRowsProcessor(i.treeRows,410),a.registerColumnBuilder(i.treeBaseColumnBuilder),i.createRowHeader(a);var c={events:{treeBase:{rowExpanded:{},rowCollapsed:{}}},methods:{treeBase:{expandAllRows:function(){i.expandAllRows(a)},collapseAllRows:function(){i.collapseAllRows(a)},toggleRowTreeState:function(b){i.toggleRowTreeState(a,b)},expandRow:function(b){i.expandRow(a,b)},expandRowChildren:function(b){i.expandRowChildren(a,b)},collapseRow:function(b){i.collapseRow(a,b)},collapseRowChildren:function(b){i.collapseRowChildren(a,b)},getTreeExpandedState:function(){return{expandedState:i.getTreeState(a)}},setTreeState:function(b){i.setTreeState(a,b)},getRowChildren:function(a){return a.treeNode.children.map(function(a){return a.row})}}}};a.api.registerEventsFromObject(c.events),a.api.registerMethodsFromObject(c.methods)},defaultGridOptions:function(a){a.treeRowHeaderBaseWidth=a.treeRowHeaderBaseWidth||30,a.treeIndent=a.treeIndent||10,a.showTreeRowHeader=a.showTreeRowHeader!==!1,a.showTreeExpandNoChildren=a.showTreeExpandNoChildren!==!1,a.treeRowHeaderAlwaysVisible=a.treeRowHeaderAlwaysVisible!==!1,a.treeCustomAggregations=a.treeCustomAggregations||{}},treeBaseColumnBuilder:function(a,b,c){"undefined"!=typeof a.customTreeAggregationFn&&(b.treeAggregationFn=a.customTreeAggregationFn),
-"undefined"!=typeof a.treeAggregationType&&(b.treeAggregation={type:a.treeAggregationType},"undefined"!=typeof c.treeCustomAggregations[a.treeAggregationType]?(b.treeAggregationFn=c.treeCustomAggregations[a.treeAggregationType].aggregationFn,b.treeAggregationFinalizerFn=c.treeCustomAggregations[a.treeAggregationType].finalizerFn,b.treeAggregation.label=c.treeCustomAggregations[a.treeAggregationType].label):"undefined"!=typeof i.nativeAggregations()[a.treeAggregationType]&&(b.treeAggregationFn=i.nativeAggregations()[a.treeAggregationType].aggregationFn,b.treeAggregation.label=i.nativeAggregations()[a.treeAggregationType].label)),"undefined"!=typeof a.treeAggregationLabel&&("undefined"==typeof b.treeAggregation&&(b.treeAggregation={}),b.treeAggregation.label=a.treeAggregationLabel),b.treeAggregationUpdateEntity=a.treeAggregationUpdateEntity!==!1,"undefined"==typeof b.customTreeAggregationFinalizerFn&&(b.customTreeAggregationFinalizerFn=a.customTreeAggregationFinalizerFn)},createRowHeader:function(a){var c={name:b.rowHeaderColName,displayName:"",width:a.options.treeRowHeaderBaseWidth,minWidth:10,cellTemplate:"ui-grid/treeBaseRowHeader",headerCellTemplate:"ui-grid/treeBaseHeaderCell",enableColumnResizing:!1,enableColumnMenu:!1,exporterSuppressExport:!0,allowCellFocus:!0};c.visible=a.options.treeRowHeaderAlwaysVisible,a.addRowHeaderColumn(c)},expandAllRows:function(a){a.treeBase.tree.forEach(function(c){i.setAllNodes(a,c,b.EXPANDED)}),a.treeBase.expandAll=!0,a.queueGridRefresh()},collapseAllRows:function(a){a.treeBase.tree.forEach(function(c){i.setAllNodes(a,c,b.COLLAPSED)}),a.treeBase.expandAll=!1,a.queueGridRefresh()},setAllNodes:function(a,c,d){"undefined"!=typeof c.state&&c.state!==d&&(c.state=d,d===b.EXPANDED?a.api.treeBase.raise.rowExpanded(c.row):a.api.treeBase.raise.rowCollapsed(c.row)),c.children&&c.children.forEach(function(b){i.setAllNodes(a,b,d)})},toggleRowTreeState:function(a,c){"undefined"==typeof c.treeLevel||null===c.treeLevel||c.treeLevel<0||(c.treeNode.state===b.EXPANDED?i.collapseRow(a,c):i.expandRow(a,c),a.queueGridRefresh())},expandRow:function(a,c){"undefined"==typeof c.treeLevel||null===c.treeLevel||c.treeLevel<0||c.treeNode.state!==b.EXPANDED&&(c.treeNode.state=b.EXPANDED,a.api.treeBase.raise.rowExpanded(c),a.treeBase.expandAll=i.allExpanded(a.treeBase.tree),a.queueGridRefresh())},expandRowChildren:function(a,c){"undefined"==typeof c.treeLevel||null===c.treeLevel||c.treeLevel<0||(i.setAllNodes(a,c.treeNode,b.EXPANDED),a.treeBase.expandAll=i.allExpanded(a.treeBase.tree),a.queueGridRefresh())},collapseRow:function(a,c){"undefined"==typeof c.treeLevel||null===c.treeLevel||c.treeLevel<0||c.treeNode.state!==b.COLLAPSED&&(c.treeNode.state=b.COLLAPSED,a.treeBase.expandAll=!1,a.api.treeBase.raise.rowCollapsed(c),a.queueGridRefresh())},collapseRowChildren:function(a,c){"undefined"==typeof c.treeLevel||null===c.treeLevel||c.treeLevel<0||(i.setAllNodes(a,c.treeNode,b.COLLAPSED),a.treeBase.expandAll=!1,a.queueGridRefresh())},allExpanded:function(a){var b=!0;return a.forEach(function(a){i.allExpandedInternal(a)||(b=!1)}),b},allExpandedInternal:function(a){if(a.children&&a.children.length>0){if(a.state===b.COLLAPSED)return!1;var c=!0;return a.children.forEach(function(a){i.allExpandedInternal(a)||(c=!1)}),c}return!0},treeRows:function(a){if(0===a.length)return a;var c=this;b.EXPANDED;return c.treeBase.tree=i.createTree(c,a),i.updateRowHeaderWidth(c),i.sortTree(c),i.fixFilter(c),i.renderTree(c.treeBase.tree)},updateRowHeaderWidth:function(a){var c=a.getColumn(b.rowHeaderColName),d=a.options.treeRowHeaderBaseWidth+a.options.treeIndent*Math.max(a.treeBase.numberLevels-1,0);c&&d!==c.width&&(c.width=d,a.queueRefresh());var e=!0;a.options.showTreeRowHeader===!1&&(e=!1),a.options.treeRowHeaderAlwaysVisible===!1&&a.treeBase.numberLevels<=0&&(e=!1),c.visible!==e&&(c.visible=e,c.colDef.visible=e,a.queueGridRefresh())},renderTree:function(a){var c=[];return a.forEach(function(a){a.row.visible&&c.push(a.row),a.state===b.EXPANDED&&a.children&&a.children.length>0&&(c=c.concat(i.renderTree(a.children)))}),c},createTree:function(a,c){var d,e=-1,f=[];a.treeBase.tree=[],a.treeBase.numberLevels=0;var g=i.getAggregations(a),h=function(c){if("undefined"!=typeof c.entity.$$treeLevel&&c.treeLevel!==c.entity.$$treeLevel&&(c.treeLevel=c.entity.$$treeLevel),c.treeLevel<=e){for(;c.treeLevel<=e;){var h=f.pop();i.finaliseAggregations(h),e--}d=f.length>0?i.setCurrentState(f):b.EXPANDED}("undefined"==typeof c.treeLevel||null===c.treeLevel||c.treeLevel<0)&&c.visible&&i.aggregate(a,c,f),i.addOrUseNode(a,c,f,g),"undefined"!=typeof c.treeLevel&&null!==c.treeLevel&&c.treeLevel>=0&&(f.push(c),e++,d=i.setCurrentState(f)),a.treeBase.numberLevels<c.treeLevel+1&&(a.treeBase.numberLevels=c.treeLevel+1)};for(c.forEach(h);f.length>0;){var j=f.pop();i.finaliseAggregations(j)}return a.treeBase.tree},addOrUseNode:function(a,c,d,e){var f=[];e.forEach(function(a){f.push(i.buildAggregationObject(a.col))});var g={state:b.COLLAPSED,row:c,parentRow:null,aggregations:f,children:[]};c.treeNode&&(g.state=c.treeNode.state),d.length>0&&(g.parentRow=d[d.length-1]),c.treeNode=g,0===d.length?a.treeBase.tree.push(g):d[d.length-1].treeNode.children.push(g)},setCurrentState:function(a){var c=b.EXPANDED;return a.forEach(function(a){a.treeNode.state===b.COLLAPSED&&(c=b.COLLAPSED)}),c},sortTree:function(a){a.columns.forEach(function(a){a.sort&&a.sort.ignoreSort&&delete a.sort.ignoreSort}),a.treeBase.tree=i.sortInternal(a,a.treeBase.tree)},sortInternal:function(a,c){var d=c.map(function(a){return a.row});d=h.sort(a,d,a.columns);var e=d.map(function(a){return a.treeNode});return e.forEach(function(c){c.state===b.EXPANDED&&c.children&&c.children.length>0&&(c.children=i.sortInternal(a,c.children))}),e},fixFilter:function(a){var b;a.treeBase.tree.forEach(function(a){a.children&&a.children.length>0&&(b=a.row.visible,i.fixFilterInternal(a.children,b))})},fixFilterInternal:function(a,b){return a.forEach(function(a){a.row.visible&&!b&&(i.setParentsVisible(a),b=!0),a.children&&a.children.length>0&&i.fixFilterInternal(a.children,b&&a.row.visible)&&(b=!0)}),b},setParentsVisible:function(a){for(;a.parentRow;)a.parentRow.visible=!0,a=a.parentRow.treeNode},buildAggregationObject:function(a){var b={col:a};return a.treeAggregation&&a.treeAggregation.type&&(b.type=a.treeAggregation.type),a.treeAggregation&&a.treeAggregation.label&&(b.label=a.treeAggregation.label),b},getAggregations:function(a){var b=[];return a.columns.forEach(function(c){"undefined"!=typeof c.treeAggregationFn&&(b.push(i.buildAggregationObject(c)),a.options.showColumnFooter&&"undefined"==typeof c.colDef.aggregationType&&c.treeAggregation&&(c.treeFooterAggregation=i.buildAggregationObject(c),c.aggregationType=i.treeFooterAggregationType))}),b},aggregate:function(a,b,c){0===c.length&&b.treeNode&&b.treeNode.aggregations&&b.treeNode.aggregations.forEach(function(c){if("undefined"!=typeof c.col.treeFooterAggregation){var d=a.getCellValue(b,c.col),e=Number(d);c.col.treeAggregationFn(c.col.treeFooterAggregation,d,e,b)}}),c.forEach(function(c,d){c.treeNode.aggregations&&c.treeNode.aggregations.forEach(function(c){var e=a.getCellValue(b,c.col),f=Number(e);c.col.treeAggregationFn(c,e,f,b),0===d&&"undefined"!=typeof c.col.treeFooterAggregation&&c.col.treeAggregationFn(c.col.treeFooterAggregation,e,f,b)})})},nativeAggregations:function(){var a={count:{label:f.get().aggregation.count,menuTitle:f.get().grouping.aggregate_count,aggregationFn:function(a,b,c){"undefined"==typeof a.value?a.value=1:a.value++}},sum:{label:f.get().aggregation.sum,menuTitle:f.get().grouping.aggregate_sum,aggregationFn:function(a,b,c){isNaN(c)||("undefined"==typeof a.value?a.value=c:a.value+=c)}},min:{label:f.get().aggregation.min,menuTitle:f.get().grouping.aggregate_min,aggregationFn:function(a,b,c){"undefined"==typeof a.value?a.value=b:"undefined"!=typeof b&&null!==b&&(b<a.value||null===a.value)&&(a.value=b)}},max:{label:f.get().aggregation.max,menuTitle:f.get().grouping.aggregate_max,aggregationFn:function(a,b,c){"undefined"==typeof a.value?a.value=b:"undefined"!=typeof b&&null!==b&&(b>a.value||null===a.value)&&(a.value=b)}},avg:{label:f.get().aggregation.avg,menuTitle:f.get().grouping.aggregate_avg,aggregationFn:function(a,b,c){"undefined"==typeof a.count?a.count=1:a.count++,isNaN(c)||("undefined"==typeof a.value||"undefined"==typeof a.sum?(a.value=c,a.sum=c):(a.sum+=c,a.value=a.sum/a.count))}}};return a},finaliseAggregation:function(a,b){b.col.treeAggregationUpdateEntity&&"undefined"!=typeof a&&"undefined"!=typeof a.entity["$$"+b.col.uid]&&angular.extend(b,a.entity["$$"+b.col.uid]),"function"==typeof b.col.treeAggregationFinalizerFn&&b.col.treeAggregationFinalizerFn(b),"function"==typeof b.col.customTreeAggregationFinalizerFn&&b.col.customTreeAggregationFinalizerFn(b),"undefined"==typeof b.rendered&&(b.rendered=b.label?b.label+b.value:b.value)},finaliseAggregations:function(a){"undefined"!=typeof a.treeNode.aggregations&&a.treeNode.aggregations.forEach(function(b){if(i.finaliseAggregation(a,b),b.col.treeAggregationUpdateEntity){var c={};angular.forEach(b,function(a,d){b.hasOwnProperty(d)&&"col"!==d&&(c[d]=a)}),a.entity["$$"+b.col.uid]=c}})},treeFooterAggregationType:function(a,b){return i.finaliseAggregation(void 0,b.treeFooterAggregation),"undefined"==typeof b.treeFooterAggregation.value||null===b.treeFooterAggregation.rendered?"":b.treeFooterAggregation.rendered}};return i}]),a.directive("uiGridTreeBaseRowHeaderButtons",["$templateCache","uiGridTreeBaseService",function(a,b){return{replace:!0,restrict:"E",template:a.get("ui-grid/treeBaseRowHeaderButtons"),scope:!0,require:"^uiGrid",link:function(a,c,d,e){var f=e.grid;a.treeButtonClick=function(a,c){b.toggleRowTreeState(f,a,c)}}}}]),a.directive("uiGridTreeBaseExpandAllButtons",["$templateCache","uiGridTreeBaseService",function(a,b){return{replace:!0,restrict:"E",template:a.get("ui-grid/treeBaseExpandAllButtons"),scope:!1,link:function(a,c,d,e){var f=a.col.grid;a.headerButtonClick=function(a,c){f.treeBase.expandAll?b.collapseAllRows(f,c):b.expandAllRows(f,c)}}}}]),a.directive("uiGridViewport",["$compile","uiGridConstants","gridUtil","$parse",function(a,b,c,d){return{priority:-200,scope:!1,compile:function(a,b){var c=angular.element(a.children().children()[0]),d=c.attr("ng-class"),e="";return e=d?d.slice(0,-1)+",'ui-grid-tree-header-row': row.treeLevel > -1}":"{'ui-grid-tree-header-row': row.treeLevel > -1}",c.attr("ng-class",e),{pre:function(a,b,c,d){},post:function(a,b,c,d){}}}}}])}(),function(){"use strict";var a=angular.module("ui.grid.treeView",["ui.grid","ui.grid.treeBase"]);a.constant("uiGridTreeViewConstants",{featureName:"treeView",rowHeaderColName:"treeBaseRowHeaderCol",EXPANDED:"expanded",COLLAPSED:"collapsed",aggregation:{COUNT:"count",SUM:"sum",MAX:"max",MIN:"min",AVG:"avg"}}),a.service("uiGridTreeViewService",["$q","uiGridTreeViewConstants","uiGridTreeBaseConstants","uiGridTreeBaseService","gridUtil","GridRow","gridClassFactory","i18nService","uiGridConstants",function(a,b,c,d,e,f,g,h,i){var j={initializeGrid:function(a,b){d.initializeGrid(a,b),a.treeView={},a.registerRowsProcessor(j.adjustSorting,60);var c={events:{treeView:{}},methods:{treeView:{}}};a.api.registerEventsFromObject(c.events),a.api.registerMethodsFromObject(c.methods)},defaultGridOptions:function(a){a.enableTreeView=a.enableTreeView!==!1},adjustSorting:function(a){var b=this;return b.columns.forEach(function(a){a.sort&&(a.sort.ignoreSort=!0)}),a}};return j}]),a.directive("uiGridTreeView",["uiGridTreeViewConstants","uiGridTreeViewService","$templateCache",function(a,b,c){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(a,c,d,e){e.grid.options.enableTreeView!==!1&&b.initializeGrid(e.grid,a)},post:function(a,b,c,d){}}}}}])}(),angular.module("ui.grid").run(["$templateCache",function(a){"use strict";a.put("ui-grid/ui-grid-filter",'<div class="ui-grid-filter-container" ng-repeat="colFilter in col.filters" ng-class="{\'ui-grid-filter-cancel-button-hidden\' : colFilter.disableCancelFilterButton === true }"><div ng-if="colFilter.type !== \'select\'"><input type="text" class="ui-grid-filter-input ui-grid-filter-input-{{$index}}" ng-model="colFilter.term" ng-attr-placeholder="{{colFilter.placeholder || \'\'}}" aria-label="{{colFilter.ariaLabel || aria.defaultFilterLabel}}"><div role="button" class="ui-grid-filter-button" ng-click="removeFilter(colFilter, $index)" ng-if="!colFilter.disableCancelFilterButton" ng-disabled="colFilter.term === undefined || colFilter.term === null || colFilter.term === \'\'" ng-show="colFilter.term !== undefined && colFilter.term !== null && colFilter.term !== \'\'"><i class="ui-grid-icon-cancel" ui-grid-one-bind-aria-label="aria.removeFilter">&nbsp;</i></div></div><div ng-if="colFilter.type === \'select\'"><select class="ui-grid-filter-select ui-grid-filter-input-{{$index}}" ng-model="colFilter.term" ng-attr-placeholder="{{colFilter.placeholder || aria.defaultFilterLabel}}" aria-label="{{colFilter.ariaLabel || \'\'}}" ng-options="option.value as option.label for option in colFilter.selectOptions"><option value=""></option></select><div role="button" class="ui-grid-filter-button-select" ng-click="removeFilter(colFilter, $index)" ng-if="!colFilter.disableCancelFilterButton" ng-disabled="colFilter.term === undefined || colFilter.term === null || colFilter.term === \'\'" ng-show="colFilter.term !== undefined && colFilter.term != null"><i class="ui-grid-icon-cancel" ui-grid-one-bind-aria-label="aria.removeFilter">&nbsp;</i></div></div></div>'),a.put("ui-grid/ui-grid-footer",'<div class="ui-grid-footer-panel ui-grid-footer-aggregates-row"><!-- tfooter --><div class="ui-grid-footer ui-grid-footer-viewport"><div class="ui-grid-footer-canvas"><div class="ui-grid-footer-cell-wrapper" ng-style="colContainer.headerCellWrapperStyle()"><div role="row" class="ui-grid-footer-cell-row"><div ui-grid-footer-cell role="gridcell" ng-repeat="col in colContainer.renderedColumns track by col.uid" col="col" render-index="$index" class="ui-grid-footer-cell ui-grid-clearfix"></div></div></div></div></div></div>'),a.put("ui-grid/ui-grid-grid-footer",'<div class="ui-grid-footer-info ui-grid-grid-footer"><span>{{\'search.totalItems\' | t}} {{grid.rows.length}}</span> <span ng-if="grid.renderContainers.body.visibleRowCache.length !== grid.rows.length" class="ngLabel">({{"search.showingItems" | t}} {{grid.renderContainers.body.visibleRowCache.length}})</span></div>'),a.put("ui-grid/ui-grid-group-panel",'<div class="ui-grid-group-panel"><div ui-t="groupPanel.description" class="description" ng-show="groupings.length == 0"></div><ul ng-show="groupings.length > 0" class="ngGroupList"><li class="ngGroupItem" ng-repeat="group in configGroups"><span class="ngGroupElement"><span class="ngGroupName">{{group.displayName}} <span ng-click="removeGroup($index)" class="ngRemoveGroup">x</span></span> <span ng-hide="$last" class="ngGroupArrow"></span></span></li></ul></div>'),a.put("ui-grid/ui-grid-header",'<div role="rowgroup" class="ui-grid-header"><!-- theader --><div class="ui-grid-top-panel"><div class="ui-grid-header-viewport"><div class="ui-grid-header-canvas"><div class="ui-grid-header-cell-wrapper" ng-style="colContainer.headerCellWrapperStyle()"><div role="row" class="ui-grid-header-cell-row"><div class="ui-grid-header-cell ui-grid-clearfix" ng-repeat="col in colContainer.renderedColumns track by col.uid" ui-grid-header-cell col="col" render-index="$index"></div></div></div></div></div></div></div>'),a.put("ui-grid/ui-grid-menu-button",'<div class="ui-grid-menu-button"><div role="button" ui-grid-one-bind-id-grid="\'grid-menu\'" class="ui-grid-icon-container" ng-click="toggleMenu()" aria-haspopup="true"><i class="ui-grid-icon-menu" ui-grid-one-bind-aria-label="i18n.aria.buttonLabel">&nbsp;</i></div><div ui-grid-menu menu-items="menuItems"></div></div>'),a.put("ui-grid/ui-grid-no-header",'<div class="ui-grid-top-panel"></div>'),a.put("ui-grid/ui-grid-row","<div ng-repeat=\"(colRenderIndex, col) in colContainer.renderedColumns track by col.uid\" ui-grid-one-bind-id-grid=\"rowRenderIndex + '-' + col.uid + '-cell'\" class=\"ui-grid-cell\" ng-class=\"{ 'ui-grid-row-header-cell': col.isRowHeader }\" role=\"{{col.isRowHeader ? 'rowheader' : 'gridcell'}}\" ui-grid-cell></div>"),a.put("ui-grid/ui-grid",'<div ui-i18n="en" class="ui-grid"><!-- TODO (c0bra): add "scoped" attr here, eventually? --><style ui-grid-style>.grid{{ grid.id }} {\n      /* Styles for the grid */\n    }\n\n    .grid{{ grid.id }} .ui-grid-row, .grid{{ grid.id }} .ui-grid-cell, .grid{{ grid.id }} .ui-grid-cell .ui-grid-vertical-bar {\n      height: {{ grid.options.rowHeight }}px;\n    }\n\n    .grid{{ grid.id }} .ui-grid-row:last-child .ui-grid-cell {\n      border-bottom-width: {{ ((grid.getTotalRowHeight() < grid.getViewportHeight()) && \'1\') || \'0\' }}px;\n    }\n\n    {{ grid.verticalScrollbarStyles }}\n    {{ grid.horizontalScrollbarStyles }}\n\n    /*\n    .ui-grid[dir=rtl] .ui-grid-viewport {\n      padding-left: {{ grid.verticalScrollbarWidth }}px;\n    }\n    */\n\n    {{ grid.customStyles }}</style><div class="ui-grid-contents-wrapper"><div ui-grid-menu-button ng-if="grid.options.enableGridMenu"></div><div ng-if="grid.hasLeftContainer()" style="width: 0" ui-grid-pinned-container="\'left\'"></div><div ui-grid-render-container container-id="\'body\'" col-container-name="\'body\'" row-container-name="\'body\'" bind-scroll-horizontal="true" bind-scroll-vertical="true" enable-horizontal-scrollbar="grid.options.enableHorizontalScrollbar" enable-vertical-scrollbar="grid.options.enableVerticalScrollbar"></div><div ng-if="grid.hasRightContainer()" style="width: 0" ui-grid-pinned-container="\'right\'"></div><div ui-grid-grid-footer ng-if="grid.options.showGridFooter"></div><div ui-grid-column-menu ng-if="grid.options.enableColumnMenus"></div><div ng-transclude></div></div></div>'),a.put("ui-grid/uiGridCell",'<div class="ui-grid-cell-contents" title="TOOLTIP">{{COL_FIELD CUSTOM_FILTERS}}</div>'),a.put("ui-grid/uiGridColumnMenu",'<div class="ui-grid-column-menu"><div ui-grid-menu menu-items="menuItems"><!-- <div class="ui-grid-column-menu">\n    <div class="inner" ng-show="menuShown">\n      <ul>\n        <div ng-show="grid.options.enableSorting">\n          <li ng-click="sortColumn($event, asc)" ng-class="{ \'selected\' : col.sort.direction == asc }"><i class="ui-grid-icon-sort-alt-up"></i> Sort Ascending</li>\n          <li ng-click="sortColumn($event, desc)" ng-class="{ \'selected\' : col.sort.direction == desc }"><i class="ui-grid-icon-sort-alt-down"></i> Sort Descending</li>\n          <li ng-show="col.sort.direction" ng-click="unsortColumn()"><i class="ui-grid-icon-cancel"></i> Remove Sort</li>\n        </div>\n      </ul>\n    </div>\n  </div> --></div></div>'),a.put("ui-grid/uiGridFooterCell",'<div class="ui-grid-cell-contents" col-index="renderIndex"><div>{{ col.getAggregationText() + ( col.getAggregationValue() CUSTOM_FILTERS ) }}</div></div>'),a.put("ui-grid/uiGridHeaderCell",'<div role="columnheader" ng-class="{ \'sortable\': sortable }" ui-grid-one-bind-aria-labelledby-grid="col.uid + \'-header-text \' + col.uid + \'-sortdir-text\'" aria-sort="{{col.sort.direction == asc ? \'ascending\' : ( col.sort.direction == desc ? \'descending\' : (!col.sort.direction ? \'none\' : \'other\'))}}"><div role="button" tabindex="0" class="ui-grid-cell-contents ui-grid-header-cell-primary-focus" col-index="renderIndex" title="TOOLTIP"><span class="ui-grid-header-cell-label" ui-grid-one-bind-id-grid="col.uid + \'-header-text\'">{{ col.displayName CUSTOM_FILTERS }}</span> <span ui-grid-one-bind-id-grid="col.uid + \'-sortdir-text\'" ui-grid-visible="col.sort.direction" aria-label="{{getSortDirectionAriaLabel()}}"><i ng-class="{ \'ui-grid-icon-up-dir\': col.sort.direction == asc, \'ui-grid-icon-down-dir\': col.sort.direction == desc, \'ui-grid-icon-blank\': !col.sort.direction }" title="{{col.sort.priority ? i18n.headerCell.priority + \' \' + col.sort.priority : null}}" aria-hidden="true"></i> <sub class="ui-grid-sort-priority-number">{{col.sort.priority}}</sub></span></div><div role="button" tabindex="0" ui-grid-one-bind-id-grid="col.uid + \'-menu-button\'" class="ui-grid-column-menu-button" ng-if="grid.options.enableColumnMenus && !col.isRowHeader  && col.colDef.enableColumnMenu !== false" ng-click="toggleMenu($event)" ng-class="{\'ui-grid-column-menu-button-last-col\': isLastCol}" ui-grid-one-bind-aria-label="i18n.headerCell.aria.columnMenuButtonLabel" aria-haspopup="true"><i class="ui-grid-icon-angle-down" aria-hidden="true">&nbsp;</i></div><div ui-grid-filter></div></div>'),a.put("ui-grid/uiGridMenu",'<div class="ui-grid-menu" ng-if="shown"><div class="ui-grid-menu-mid" ng-show="shownMid"><div class="ui-grid-menu-inner"><button type="button" ng-focus="focus=true" ng-blur="focus=false" class="ui-grid-menu-close-button" ng-class="{\'ui-grid-sr-only\': (!focus)}"><i class="ui-grid-icon-cancel" ui-grid-one-bind-aria-label="i18n.close"></i></button><ul role="menu" class="ui-grid-menu-items"><li ng-repeat="item in menuItems" role="menuitem" ui-grid-menu-item ui-grid-one-bind-id="\'menuitem-\'+$index" action="item.action" name="item.title" active="item.active" icon="item.icon" shown="item.shown" context="item.context" template-url="item.templateUrl" leave-open="item.leaveOpen" screen-reader-only="item.screenReaderOnly"></li></ul></div></div></div>'),a.put("ui-grid/uiGridMenuItem",'<button type="button" class="ui-grid-menu-item" ng-click="itemAction($event, title)" ng-show="itemShown()" ng-class="{ \'ui-grid-menu-item-active\': active(), \'ui-grid-sr-only\': (!focus && screenReaderOnly) }" aria-pressed="{{active()}}" tabindex="0" ng-focus="focus=true" ng-blur="focus=false"><i ng-class="icon" aria-hidden="true">&nbsp;</i> {{ name }}</button>'),a.put("ui-grid/uiGridRenderContainer","<div role=\"grid\" ui-grid-one-bind-id-grid=\"'grid-container'\" class=\"ui-grid-render-container\" ng-style=\"{ 'margin-left': colContainer.getMargin('left') + 'px', 'margin-right': colContainer.getMargin('right') + 'px' }\"><!-- All of these dom elements are replaced in place --><div ui-grid-header></div><div ui-grid-viewport></div><div ng-if=\"colContainer.needsHScrollbarPlaceholder()\" class=\"ui-grid-scrollbar-placeholder\" ng-style=\"{height:colContainer.grid.scrollbarHeight + 'px'}\"></div><ui-grid-footer ng-if=\"grid.options.showColumnFooter\"></ui-grid-footer></div>"),a.put("ui-grid/uiGridViewport",'<div role="rowgroup" class="ui-grid-viewport" ng-style="colContainer.getViewportStyle()"><!-- tbody --><div class="ui-grid-canvas"><div ng-repeat="(rowRenderIndex, row) in rowContainer.renderedRows track by $index" class="ui-grid-row" ng-style="Viewport.rowStyle(rowRenderIndex)"><div role="row" ui-grid-row="row" row-render-index="rowRenderIndex"></div></div></div></div>'),a.put("ui-grid/cellEditor",'<div><form name="inputForm"><input type="INPUT_TYPE" ng-class="\'colt\' + col.uid" ui-grid-editor ng-model="MODEL_COL_FIELD"></form></div>'),a.put("ui-grid/dropdownEditor",'<div><form name="inputForm"><select ng-class="\'colt\' + col.uid" ui-grid-edit-dropdown ng-model="MODEL_COL_FIELD" ng-options="field[editDropdownIdLabel] as field[editDropdownValueLabel] CUSTOM_FILTERS for field in editDropdownOptionsArray"></select></form></div>'),a.put("ui-grid/fileChooserEditor",'<div><form name="inputForm"><input ng-class="\'colt\' + col.uid" ui-grid-edit-file-chooser type="file" id="files" name="files[]" ng-model="MODEL_COL_FIELD"></form></div>'),a.put("ui-grid/expandableRow",'<div ui-grid-expandable-row ng-if="expandableRow.shouldRenderExpand()" class="expandableRow" style="float:left; margin-top: 1px; margin-bottom: 1px" ng-style="{width: (grid.renderContainers.body.getCanvasWidth()) + \'px\', height: row.expandedRowHeight + \'px\'}"></div>'),a.put("ui-grid/expandableRowHeader",'<div class="ui-grid-row-header-cell ui-grid-expandable-buttons-cell"><div class="ui-grid-cell-contents"><i ng-class="{ \'ui-grid-icon-plus-squared\' : !row.isExpanded, \'ui-grid-icon-minus-squared\' : row.isExpanded }" ng-click="grid.api.expandable.toggleRowExpansion(row.entity)"></i></div></div>'),a.put("ui-grid/expandableScrollFiller","<div ng-if=\"expandableRow.shouldRenderFiller()\" ng-class=\"{scrollFiller:true, scrollFillerClass:(colContainer.name === 'body')}\" ng-style=\"{ width: (grid.getViewportWidth()) + 'px', height: row.expandedRowHeight + 2 + 'px', 'margin-left': grid.options.rowHeader.rowHeaderWidth + 'px' }\"><i class=\"ui-grid-icon-spin5 ui-grid-animate-spin\" ng-style=\"{'margin-top': ( row.expandedRowHeight/2 - 5) + 'px', 'margin-left' : ((grid.getViewportWidth() - grid.options.rowHeader.rowHeaderWidth)/2 - 5) + 'px'}\"></i></div>"),a.put("ui-grid/expandableTopRowHeader",'<div class="ui-grid-row-header-cell ui-grid-expandable-buttons-cell"><div class="ui-grid-cell-contents"><i ng-class="{ \'ui-grid-icon-plus-squared\' : !grid.expandable.expandedAll, \'ui-grid-icon-minus-squared\' : grid.expandable.expandedAll }" ng-click="grid.api.expandable.toggleAllRows()"></i></div></div>'),a.put("ui-grid/csvLink",'<span class="ui-grid-exporter-csv-link-span"><a href="data:text/csv;charset=UTF-8,CSV_CONTENT" download="FILE_NAME">LINK_LABEL</a></span>'),a.put("ui-grid/importerMenuItem",'<li class="ui-grid-menu-item"><form><input class="ui-grid-importer-file-chooser" type="file" id="files" name="files[]"></form></li>'),a.put("ui-grid/importerMenuItemContainer","<div ui-grid-importer-menu-item></div>"),a.put("ui-grid/pagination",'<div role="contentinfo" class="ui-grid-pager-panel" ui-grid-pager ng-show="grid.options.enablePaginationControls"><div role="navigation" class="ui-grid-pager-container"><div role="menubar" class="ui-grid-pager-control"><button type="button" role="menuitem" class="ui-grid-pager-first" ui-grid-one-bind-title="aria.pageToFirst" ui-grid-one-bind-aria-label="aria.pageToFirst" ng-click="pageFirstPageClick()" ng-disabled="cantPageBackward()"><div class="first-triangle"><div class="first-bar"></div></div></button> <button type="button" role="menuitem" class="ui-grid-pager-previous" ui-grid-one-bind-title="aria.pageBack" ui-grid-one-bind-aria-label="aria.pageBack" ng-click="pagePreviousPageClick()" ng-disabled="cantPageBackward()"><div class="first-triangle prev-triangle"></div></button> <input type="number" ui-grid-one-bind-title="aria.pageSelected" ui-grid-one-bind-aria-label="aria.pageSelected" class="ui-grid-pager-control-input" ng-model="grid.options.paginationCurrentPage" min="1" max="{{ paginationApi.getTotalPages() }}" required> <span class="ui-grid-pager-max-pages-number" ng-show="paginationApi.getTotalPages() > 0"><abbr ui-grid-one-bind-title="paginationOf">/</abbr> {{ paginationApi.getTotalPages() }}</span> <button type="button" role="menuitem" class="ui-grid-pager-next" ui-grid-one-bind-title="aria.pageForward" ui-grid-one-bind-aria-label="aria.pageForward" ng-click="pageNextPageClick()" ng-disabled="cantPageForward()"><div class="last-triangle next-triangle"></div></button> <button type="button" role="menuitem" class="ui-grid-pager-last" ui-grid-one-bind-title="aria.pageToLast" ui-grid-one-bind-aria-label="aria.pageToLast" ng-click="pageLastPageClick()" ng-disabled="cantPageToLast()"><div class="last-triangle"><div class="last-bar"></div></div></button></div><div class="ui-grid-pager-row-count-picker" ng-if="grid.options.paginationPageSizes.length > 1"><select ui-grid-one-bind-aria-labelledby-grid="\'items-per-page-label\'" ng-model="grid.options.paginationPageSize" ng-options="o as o for o in grid.options.paginationPageSizes"></select><span ui-grid-one-bind-id-grid="\'items-per-page-label\'" class="ui-grid-pager-row-count-label">&nbsp;{{sizesLabel}}</span></div><span ng-if="grid.options.paginationPageSizes.length <= 1" class="ui-grid-pager-row-count-label">{{grid.options.paginationPageSize}}&nbsp;{{sizesLabel}}</span></div><div class="ui-grid-pager-count-container"><div class="ui-grid-pager-count"><span ng-show="grid.options.totalItems > 0">{{showingLow}} <abbr ui-grid-one-bind-title="paginationThrough">-</abbr> {{showingHigh}} {{paginationOf}} {{grid.options.totalItems}} {{totalItemsLabel}}</span></div></div></div>'),a.put("ui-grid/columnResizer",'<div ui-grid-column-resizer ng-if="grid.options.enableColumnResizing" class="ui-grid-column-resizer" col="col" position="right" render-index="renderIndex" unselectable="on"></div>'),a.put("ui-grid/gridFooterSelectedItems",'<span ng-if="grid.selection.selectedCount !== 0 && grid.options.enableFooterTotalSelected">({{"search.selectedItems" | t}} {{grid.selection.selectedCount}})</span>'),a.put("ui-grid/selectionHeaderCell",'<div><!-- <div class="ui-grid-vertical-bar">&nbsp;</div> --><div class="ui-grid-cell-contents" col-index="renderIndex"><ui-grid-selection-select-all-buttons ng-if="grid.options.enableSelectAll"></ui-grid-selection-select-all-buttons></div></div>'),a.put("ui-grid/selectionRowHeader",'<div class="ui-grid-disable-selection"><div class="ui-grid-cell-contents"><ui-grid-selection-row-header-buttons></ui-grid-selection-row-header-buttons></div></div>'),a.put("ui-grid/selectionRowHeaderButtons",'<div class="ui-grid-selection-row-header-buttons ui-grid-icon-ok" ng-class="{\'ui-grid-row-selected\': row.isSelected}" ng-click="selectButtonClick(row, $event)">&nbsp;</div>'),a.put("ui-grid/selectionSelectAllButtons",'<div class="ui-grid-selection-row-header-buttons ui-grid-icon-ok" ng-class="{\'ui-grid-all-selected\': grid.selection.selectAll}" ng-click="headerButtonClick($event)"></div>'),a.put("ui-grid/treeBaseExpandAllButtons",'<div class="ui-grid-tree-base-row-header-buttons" ng-class="{\'ui-grid-icon-minus-squared\': grid.treeBase.numberLevels > 0 && grid.treeBase.expandAll, \'ui-grid-icon-plus-squared\': grid.treeBase.numberLevels > 0 && !grid.treeBase.expandAll}" ng-click="headerButtonClick($event)"></div>'),a.put("ui-grid/treeBaseHeaderCell",'<div><div class="ui-grid-cell-contents" col-index="renderIndex"><ui-grid-tree-base-expand-all-buttons></ui-grid-tree-base-expand-all-buttons></div></div>'),a.put("ui-grid/treeBaseRowHeader",'<div class="ui-grid-cell-contents"><ui-grid-tree-base-row-header-buttons></ui-grid-tree-base-row-header-buttons></div>'),a.put("ui-grid/treeBaseRowHeaderButtons","<div class=\"ui-grid-tree-base-row-header-buttons\" ng-class=\"{'ui-grid-tree-base-header': row.treeLevel > -1 }\" ng-click=\"treeButtonClick(row, $event)\"><i ng-class=\"{'ui-grid-icon-minus-squared': ( ( grid.options.showTreeExpandNoChildren && row.treeLevel > -1 ) || ( row.treeNode.children && row.treeNode.children.length > 0 ) ) && row.treeNode.state === 'expanded', 'ui-grid-icon-plus-squared': ( ( grid.options.showTreeExpandNoChildren && row.treeLevel > -1 ) || ( row.treeNode.children && row.treeNode.children.length > 0 ) ) && row.treeNode.state === 'collapsed'}\" ng-style=\"{'padding-left': grid.options.treeIndent * row.treeLevel + 'px'}\"></i> &nbsp;</div>")}]),function(){"use strict";function a(a){return("0"+a).slice(-2)}function b(c,d){var e=c.getDay(),f=c.getDate(),g=c.getMonth(),h=c.getFullYear(),i=c.getHours(),l=c.getMinutes(),m=c.getSeconds();return d.replace(/%([%aAbBcdeHIlmMpPSwyYZz])/g,function(d){var n,o=d[1];switch(o){case"%":return"%";case"a":return j[e].slice(0,3);case"A":return j[e];case"b":return k[g].slice(0,3);case"B":return k[g];case"c":return c.toString();case"d":return a(f);case"e":return f;case"H":return a(i);case"I":return a(b(c,"%l"));case"l":return 0===i||12===i?12:(i+12)%12;case"m":return a(g+1);case"M":return a(l);case"p":return i>11?"PM":"AM";case"P":return i>11?"pm":"am";case"S":return a(m);case"w":return e;case"y":return a(h%100);case"Y":return h;case"Z":return n=c.toString().match(/\((\w+)\)$/),n?n[1]:"";case"z":return n=c.toString().match(/\w([+-]\d\d\d\d) /),n?n[1]:""}})}function c(a){this.date=a}function d(){if(null!==l)return l;if(!("Intl"in window))return!1;var a={day:"numeric",month:"short"},b=new window.Intl.DateTimeFormat(void 0,a),c=b.format(new Date(0));return l=!!c.match(/^\d/);
-}function e(){if(null!==m)return m;if(!("Intl"in window))return!0;var a={day:"numeric",month:"short",year:"numeric"},b=new window.Intl.DateTimeFormat(void 0,a),c=b.format(new Date(0));return m=!!c.match(/\d,/)}function f(a){var b=new Date;return b.getUTCFullYear()===a.getUTCFullYear()}function g(){var a,b,c;for(b=0,c=p.length;c>b;b++)a=p[b],a.textContent=a.getFormattedDate()}function h(a){var c={weekday:{"short":"%a","long":"%A"},day:{numeric:"%e","2-digit":"%d"},month:{"short":"%b","long":"%B"},year:{numeric:"%Y","2-digit":"%y"}},e=d()?"weekday day month year":"weekday month day, year";for(var f in c){var g=c[f][a.getAttribute(f)];e=e.replace(f,g||"")}return e=e.replace(/(\s,)|(,\s$)/,""),b(a._date,e).replace(/\s+/," ").trim()}function i(a){var c={hour:a.getAttribute("hour"),minute:a.getAttribute("minute"),second:a.getAttribute("second")};for(var d in c)c[d]||delete c[d];if(0!==Object.keys(c).length){if("Intl"in window){var e=new window.Intl.DateTimeFormat(void 0,c);return e.format(a._date)}var f=c.second?"%H:%M:%S":"%H:%M";return b(a._date,f)}}var j=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],k=["January","February","March","April","May","June","July","August","September","October","November","December"];c.prototype.toString=function(){var a=this.timeElapsed();return a?a:"on "+this.formatDate()},c.prototype.timeElapsed=function(){var a=(new Date).getTime()-this.date.getTime(),b=Math.round(a/1e3),c=Math.round(b/60),d=Math.round(c/60),e=Math.round(d/24);return 0>a?"just now":10>b?"just now":45>b?b+" seconds ago":90>b?"a minute ago":45>c?c+" minutes ago":90>c?"an hour ago":24>d?d+" hours ago":36>d?"a day ago":30>e?e+" days ago":null},c.prototype.timeAgo=function(){var a=(new Date).getTime()-this.date.getTime(),b=Math.round(a/1e3),c=Math.round(b/60),d=Math.round(c/60),e=Math.round(d/24),f=Math.round(e/30),g=Math.round(f/12);return 0>a?"just now":10>b?"just now":45>b?b+" seconds ago":90>b?"a minute ago":45>c?c+" minutes ago":90>c?"an hour ago":24>d?d+" hours ago":36>d?"a day ago":30>e?e+" days ago":45>e?"a month ago":12>f?f+" months ago":18>f?"a year ago":g+" years ago"},c.prototype.microTimeAgo=function(){var a=(new Date).getTime()-this.date.getTime(),b=a/1e3,c=b/60,d=c/60,e=d/24,f=e/30,g=f/12;return 1>c?"1m":60>c?Math.round(c)+"m":24>d?Math.round(d)+"h":365>e?Math.round(e)+"d":Math.round(g)+"y"};var l=null,m=null;c.prototype.formatDate=function(){var a=d()?"%e %b":"%b %e";return f(this.date)||(a+=e()?", %Y":" %Y"),b(this.date,a)},c.prototype.formatTime=function(){if("Intl"in window){var a=new window.Intl.DateTimeFormat(void 0,{hour:"numeric",minute:"2-digit"});return a.format(this.date)}return b(this.date,"%l:%M%P")};var n,o,p=[];o="HTMLTimeElement"in window?Object.create(window.HTMLTimeElement.prototype):Object.create(window.HTMLElement.prototype),o.attributeChangedCallback=function(a,b,c){if("datetime"===a){var d=Date.parse(c);this._date=isNaN(d)?null:new Date(d)}var e=this.getFormattedTitle();e&&this.setAttribute("title",e);var f=this.getFormattedDate();f&&(this.textContent=f)},o.getFormattedTitle=function(){if(this._date){if(this.hasAttribute("title"))return this.getAttribute("title");if("Intl"in window){var a={day:"numeric",month:"short",year:"numeric",hour:"numeric",minute:"2-digit",timeZoneName:"short"},b=new window.Intl.DateTimeFormat(void 0,a);return b.format(this._date)}return this._date.toLocaleString()}};var q=Object.create(o);q.createdCallback=function(){var a=this.getAttribute("datetime");a&&this.attributeChangedCallback("datetime",null,a)},q.getFormattedDate=function(){return this._date?new c(this._date).toString():void 0},q.attachedCallback=function(){p.push(this),n||(g(),n=setInterval(g,6e4))},q.detachedCallback=function(){var a=p.indexOf(this);-1!==a&&p.splice(a,1),p.length||n&&(clearInterval(n),n=null)};var r=Object.create(q);r.getFormattedDate=function(){if(this._date){var a=this.getAttribute("format");return"micro"===a?new c(this._date).microTimeAgo():new c(this._date).timeAgo()}};var s=Object.create(o);s.createdCallback=function(){var a;(a=this.getAttribute("datetime"))&&this.attributeChangedCallback("datetime",null,a),(a=this.getAttribute("format"))&&this.attributeChangedCallback("format",null,a)},s.getFormattedDate=function(){if(this._date){var a=h(this)||"",b=i(this)||"";return(a+" "+b).trim()}},window.RelativeTimeElement=document.registerElement("relative-time",{prototype:q,"extends":"time"}),window.TimeAgoElement=document.registerElement("time-ago",{prototype:r,"extends":"time"}),window.LocalTimeElement=document.registerElement("local-time",{prototype:s,"extends":"time"})}(),function(a){"use strict";function b(b,c){if(c=c||{},c.worker&&y.WORKERS_SUPPORTED){var d=k();return d.userStep=c.step,d.userChunk=c.chunk,d.userComplete=c.complete,d.userError=c.error,c.step=r(c.step),c.chunk=r(c.chunk),c.complete=r(c.complete),c.error=r(c.error),delete c.worker,void d.postMessage({input:b,config:c,workerId:d.id})}var h=null;return"string"==typeof b?h=c.download?new e(c):new g(c):(a.File&&b instanceof File||b instanceof Object)&&(h=new f(c)),h.stream(b)}function c(a,b){function c(){"object"==typeof b&&("string"==typeof b.delimiter&&1==b.delimiter.length&&-1==y.BAD_DELIMITERS.indexOf(b.delimiter)&&(i=b.delimiter),("boolean"==typeof b.quotes||b.quotes instanceof Array)&&(h=b.quotes),"string"==typeof b.newline&&(j=b.newline))}function d(a){if("object"!=typeof a)return[];var b=[];for(var c in a)b.push(c);return b}function e(a,b){var c="";"string"==typeof a&&(a=JSON.parse(a)),"string"==typeof b&&(b=JSON.parse(b));var d=a instanceof Array&&a.length>0,e=!(b[0]instanceof Array);if(d){for(var g=0;g<a.length;g++)g>0&&(c+=i),c+=f(a[g],g);b.length>0&&(c+=j)}for(var h=0;h<b.length;h++){for(var k=d?a.length:b[h].length,l=0;k>l;l++){l>0&&(c+=i);var m=d&&e?a[l]:l;c+=f(b[h][m],l)}h<b.length-1&&(c+=j)}return c}function f(a,b){if("undefined"==typeof a||null===a)return"";a=a.toString().replace(/"/g,'""');var c="boolean"==typeof h&&h||h instanceof Array&&h[b]||g(a,y.BAD_DELIMITERS)||a.indexOf(i)>-1||" "==a.charAt(0)||" "==a.charAt(a.length-1);return c?'"'+a+'"':a}function g(a,b){for(var c=0;c<b.length;c++)if(a.indexOf(b[c])>-1)return!0;return!1}var h=!1,i=",",j="\r\n";if(c(),"string"==typeof a&&(a=JSON.parse(a)),a instanceof Array){if(!a.length||a[0]instanceof Array)return e(null,a);if("object"==typeof a[0])return e(d(a[0]),a)}else if("object"==typeof a)return"string"==typeof a.data&&(a.data=JSON.parse(a.data)),a.data instanceof Array&&(a.fields||(a.fields=a.data[0]instanceof Array?a.fields:d(a.data[0])),a.data[0]instanceof Array||"object"==typeof a.data[0]||(a.data=[a.data])),e(a.fields||[],a.data||[]);throw"exception: Unable to serialize unrecognized input"}function d(b){function c(a){var b=p(a);b.chunkSize=parseInt(b.chunkSize),a.step||a.chunk||(b.chunkSize=null),this._handle=new h(b),this._handle.streamer=this,this._config=b}this._handle=null,this._paused=!1,this._finished=!1,this._input=null,this._baseIndex=0,this._partialLine="",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},c.call(this,b),this.parseChunk=function(b){if(this.isFirstChunk&&r(this._config.beforeFirstChunk)){var c=this._config.beforeFirstChunk(b);void 0!==c&&(b=c)}this.isFirstChunk=!1;var d=this._partialLine+b;this._partialLine="";var e=this._handle.parse(d,this._baseIndex,!this._finished);if(!this._handle.paused()&&!this._handle.aborted()){var f=e.meta.cursor;this._finished||(this._partialLine=d.substring(f-this._baseIndex),this._baseIndex=f),e&&e.data&&(this._rowCount+=e.data.length);var g=this._finished||this._config.preview&&this._rowCount>=this._config.preview;if(u)a.postMessage({results:e,workerId:y.WORKER_ID,finished:g});else if(r(this._config.chunk)){if(this._config.chunk(e,this._handle),this._paused)return;e=void 0,this._completeResults=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(e.data),this._completeResults.errors=this._completeResults.errors.concat(e.errors),this._completeResults.meta=e.meta),!g||!r(this._config.complete)||e&&e.meta.aborted||this._config.complete(this._completeResults),g||e&&e.meta.paused||this._nextChunk(),e}},this._sendError=function(b){r(this._config.error)?this._config.error(b):u&&this._config.error&&a.postMessage({workerId:y.WORKER_ID,error:b,finished:!1})}}function e(a){function b(a){var b=a.getResponseHeader("Content-Range");return parseInt(b.substr(b.lastIndexOf("/")+1))}a=a||{},a.chunkSize||(a.chunkSize=y.RemoteChunkSize),d.call(this,a);var c;t?this._nextChunk=function(){this._readChunk(),this._chunkLoaded()}:this._nextChunk=function(){this._readChunk()},this.stream=function(a){this._input=a,this._nextChunk()},this._readChunk=function(){if(this._finished)return void this._chunkLoaded();if(c=new XMLHttpRequest,t||(c.onload=q(this._chunkLoaded,this),c.onerror=q(this._chunkError,this)),c.open("GET",this._input,!t),this._config.chunkSize){var a=this._start+this._config.chunkSize-1;c.setRequestHeader("Range","bytes="+this._start+"-"+a),c.setRequestHeader("If-None-Match","webkit-no-cache")}try{c.send()}catch(b){this._chunkError(b.message)}t&&0==c.status?this._chunkError():this._start+=this._config.chunkSize},this._chunkLoaded=function(){if(4==c.readyState){if(c.status<200||c.status>=400)return void this._chunkError();this._finished=!this._config.chunkSize||this._start>b(c),this.parseChunk(c.responseText)}},this._chunkError=function(a){var b=c.statusText||a;this._sendError(b)}}function f(a){a=a||{},a.chunkSize||(a.chunkSize=y.LocalChunkSize),d.call(this,a);var b,c,e="undefined"!=typeof FileReader;this.stream=function(a){this._input=a,c=a.slice||a.webkitSlice||a.mozSlice,e?(b=new FileReader,b.onload=q(this._chunkLoaded,this),b.onerror=q(this._chunkError,this)):b=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount<this._config.preview)||this._readChunk()},this._readChunk=function(){var a=this._input;if(this._config.chunkSize){var d=Math.min(this._start+this._config.chunkSize,this._input.size);a=c.call(a,this._start,d)}var f=b.readAsText(a,this._config.encoding);e||this._chunkLoaded({target:{result:f}})},this._chunkLoaded=function(a){this._start+=this._config.chunkSize,this._finished=!this._config.chunkSize||this._start>=this._input.size,this.parseChunk(a.target.result)},this._chunkError=function(){this._sendError(b.error)}}function g(a){a=a||{},d.call(this,a);var b,c;this.stream=function(a){return b=a,c=a,this._nextChunk()},this._nextChunk=function(){if(!this._finished){var a=this._config.chunkSize,b=a?c.substr(0,a):c;return c=a?c.substr(a):"",this._finished=!c,this.parseChunk(b)}}}function h(a){function b(){if(v&&m&&(j("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+y.DefaultDelimiter+"'"),m=!1),a.skipEmptyLines)for(var b=0;b<v.data.length;b++)1==v.data[b].length&&""==v.data[b][0]&&v.data.splice(b--,1);return c()&&d(),e()}function c(){return a.header&&0==u.length}function d(){if(v){for(var a=0;c()&&a<v.data.length;a++)for(var b=0;b<v.data[a].length;b++)u.push(v.data[a][b]);v.data.splice(0,1)}}function e(){if(!v||!a.header&&!a.dynamicTyping)return v;for(var b=0;b<v.data.length;b++){for(var c={},d=0;d<v.data[b].length;d++){if(a.dynamicTyping){var e=v.data[b][d];"true"==e||"TRUE"==e?v.data[b][d]=!0:"false"==e||"FALSE"==e?v.data[b][d]=!1:v.data[b][d]=h(e)}a.header&&(d>=u.length?(c.__parsed_extra||(c.__parsed_extra=[]),c.__parsed_extra.push(v.data[b][d])):c[u[d]]=v.data[b][d])}a.header&&(v.data[b]=c,d>u.length?j("FieldMismatch","TooManyFields","Too many fields: expected "+u.length+" fields but parsed "+d,b):d<u.length&&j("FieldMismatch","TooFewFields","Too few fields: expected "+u.length+" fields but parsed "+d,b))}return a.header&&v.meta&&(v.meta.fields=u),v}function f(b){for(var c,d,e,f=[",","      ","|",";",y.RECORD_SEP,y.UNIT_SEP],g=0;g<f.length;g++){var h=f[g],j=0,k=0;e=void 0;for(var l=new i({delimiter:h,preview:10}).parse(b),m=0;m<l.data.length;m++){var n=l.data[m].length;k+=n,"undefined"!=typeof e?n>1&&(j+=Math.abs(n-e),e=n):e=n}l.data.length>0&&(k/=l.data.length),("undefined"==typeof d||d>j)&&k>1.99&&(d=j,c=h)}return a.delimiter=c,{successful:!!c,bestDelimiter:c}}function g(a){a=a.substr(0,1048576);var b=a.split("\r");if(1==b.length)return"\n";for(var c=0,d=0;d<b.length;d++)"\n"==b[d][0]&&c++;return c>=b.length/2?"\r\n":"\r"}function h(a){var b=n.test(a);return b?parseFloat(a):a}function j(a,b,c,d){v.errors.push({type:a,code:b,message:c,row:d})}var k,l,m,n=/^\s*-?(\d*\.?\d+|\d+\.?\d*)(e[-+]?\d+)?\s*$/i,o=this,q=0,s=!1,t=!1,u=[],v={data:[],errors:[],meta:{}};if(r(a.step)){var w=a.step;a.step=function(d){if(v=d,c())b();else{if(b(),0==v.data.length)return;q+=d.data.length,a.preview&&q>a.preview?l.abort():w(v,o)}}}this.parse=function(c,d,e){if(a.newline||(a.newline=g(c)),m=!1,!a.delimiter){var h=f(c);h.successful?a.delimiter=h.bestDelimiter:(m=!0,a.delimiter=y.DefaultDelimiter),v.meta.delimiter=a.delimiter}var j=p(a);return a.preview&&a.header&&j.preview++,k=c,l=new i(j),v=l.parse(k,d,e),b(),s?{meta:{paused:!0}}:v||{meta:{paused:!1}}},this.paused=function(){return s},this.pause=function(){s=!0,l.abort(),k=k.substr(l.getCharIndex())},this.resume=function(){s=!1,o.streamer.parseChunk(k)},this.aborted=function(){return t},this.abort=function(){t=!0,l.abort(),v.meta.aborted=!0,r(a.complete)&&a.complete(v),k=""}}function i(a){a=a||{};var b=a.delimiter,c=a.newline,d=a.comments,e=a.step,f=a.preview,g=a.fastMode;if(("string"!=typeof b||y.BAD_DELIMITERS.indexOf(b)>-1)&&(b=","),d===b)throw"Comment character same as delimiter";d===!0?d="#":("string"!=typeof d||y.BAD_DELIMITERS.indexOf(d)>-1)&&(d=!1),"\n"!=c&&"\r"!=c&&"\r\n"!=c&&(c="\n");var h=0,i=!1;this.parse=function(a,j,k){function l(a){v.push(a),y=h}function m(b){return k?o():("undefined"==typeof b&&(b=a.substr(h)),x.push(b),h=q,l(x),u&&p(),o())}function n(b){h=b,l(x),x=[],C=a.indexOf(c,h)}function o(a){return{data:v,errors:w,meta:{delimiter:b,linebreak:c,aborted:i,truncated:!!a,cursor:y+(j||0)}}}function p(){e(o()),v=[],w=[]}if("string"!=typeof a)throw"Input must be a string";var q=a.length,r=b.length,s=c.length,t=d.length,u="function"==typeof e;h=0;var v=[],w=[],x=[],y=0;if(!a)return o();if(g||g!==!1&&-1===a.indexOf('"')){for(var z=a.split(c),A=0;A<z.length;A++){var x=z[A];if(h+=x.length,A!==z.length-1)h+=c.length;else if(k)return o();if(!d||x.substr(0,t)!=d){if(u){if(v=[],l(x.split(b)),p(),i)return o()}else l(x.split(b));if(f&&A>=f)return v=v.slice(0,f),o(!0)}}return o()}for(var B=a.indexOf(b,h),C=a.indexOf(c,h);;)if('"'!=a[h])if(d&&0===x.length&&a.substr(h,t)===d){if(-1==C)return o();h=C+s,C=a.indexOf(c,h),B=a.indexOf(b,h)}else if(-1!==B&&(C>B||-1===C))x.push(a.substring(h,B)),h=B+r,B=a.indexOf(b,h);else{if(-1===C)break;if(x.push(a.substring(h,C)),n(C+s),u&&(p(),i))return o();if(f&&v.length>=f)return o(!0)}else{var D=h;for(h++;;){var D=a.indexOf('"',D+1);if(-1===D)return k||w.push({type:"Quotes",code:"MissingQuotes",message:"Quoted field unterminated",row:v.length,index:h}),m();if(D===q-1){var E=a.substring(h,D).replace(/""/g,'"');return m(E)}if('"'!=a[D+1]){if(a[D+1]==b){x.push(a.substring(h,D).replace(/""/g,'"')),h=D+1+r,B=a.indexOf(b,h),C=a.indexOf(c,h);break}if(a.substr(D+1,s)===c){if(x.push(a.substring(h,D).replace(/""/g,'"')),n(D+1+s),B=a.indexOf(b,h),u&&(p(),i))return o();if(f&&v.length>=f)return o(!0);break}}else D++}}return m()},this.abort=function(){i=!0},this.getCharIndex=function(){return h}}function j(){var a=document.getElementsByTagName("script");return a.length?a[a.length-1].src:""}function k(){if(!y.WORKERS_SUPPORTED)return!1;if(!v&&null===y.SCRIPT_PATH)throw new Error("Script path cannot be determined automatically when Papa Parse is loaded asynchronously. You need to set Papa.SCRIPT_PATH manually.");var b=y.SCRIPT_PATH||s;b+=(-1!==b.indexOf("?")?"&":"?")+"papaworker";var c=new a.Worker(b);return c.onmessage=l,c.id=x++,w[c.id]=c,c}function l(a){var b=a.data,c=w[b.workerId],d=!1;if(b.error)c.userError(b.error,b.file);else if(b.results&&b.results.data){var e=function(){d=!0,m(b.workerId,{data:[],errors:[],meta:{aborted:!0}})},f={abort:e,pause:n,resume:n};if(r(c.userStep)){for(var g=0;g<b.results.data.length&&(c.userStep({data:[b.results.data[g]],errors:b.results.errors,meta:b.results.meta},f),!d);g++);delete b.results}else r(c.userChunk)&&(c.userChunk(b.results,f,b.file),delete b.results)}b.finished&&!d&&m(b.workerId,b.results)}function m(a,b){var c=w[a];r(c.userComplete)&&c.userComplete(b),c.terminate(),delete w[a]}function n(){throw"Not implemented."}function o(b){var c=b.data;if("undefined"==typeof y.WORKER_ID&&c&&(y.WORKER_ID=c.workerId),"string"==typeof c.input)a.postMessage({workerId:y.WORKER_ID,results:y.parse(c.input,c.config),finished:!0});else if(a.File&&c.input instanceof File||c.input instanceof Object){var d=y.parse(c.input,c.config);d&&a.postMessage({workerId:y.WORKER_ID,results:d,finished:!0})}}function p(a){if("object"!=typeof a)return a;var b=a instanceof Array?[]:{};for(var c in a)b[c]=p(a[c]);return b}function q(a,b){return function(){a.apply(b,arguments)}}function r(a){return"function"==typeof a}var s,t=!a.document&&!!a.postMessage,u=t&&/(\?|&)papaworker(=|&|$)/.test(a.location.search),v=!1,w={},x=0,y={};if(y.parse=b,y.unparse=c,y.RECORD_SEP=String.fromCharCode(30),y.UNIT_SEP=String.fromCharCode(31),y.BYTE_ORDER_MARK="\ufeff",y.BAD_DELIMITERS=["\r","\n",'"',y.BYTE_ORDER_MARK],y.WORKERS_SUPPORTED=!t&&!!a.Worker,y.SCRIPT_PATH=null,y.LocalChunkSize=10485760,y.RemoteChunkSize=5242880,y.DefaultDelimiter=",",y.Parser=i,y.ParserHandle=h,y.NetworkStreamer=e,y.FileStreamer=f,y.StringStreamer=g,"undefined"!=typeof module&&module.exports?module.exports=y:r(a.define)&&a.define.amd?define(function(){return y}):a.Papa=y,a.jQuery){var z=a.jQuery;z.fn.parse=function(b){function c(){if(0==g.length)return void(r(b.complete)&&b.complete());var a=g[0];if(r(b.before)){var c=b.before(a.file,a.inputElem);if("object"==typeof c){if("abort"==c.action)return void d("AbortError",a.file,a.inputElem,c.reason);if("skip"==c.action)return void e();"object"==typeof c.config&&(a.instanceConfig=z.extend(a.instanceConfig,c.config))}else if("skip"==c)return void e()}var f=a.instanceConfig.complete;a.instanceConfig.complete=function(b){r(f)&&f(b,a.file,a.inputElem),e()},y.parse(a.file,a.instanceConfig)}function d(a,c,d,e){r(b.error)&&b.error({name:a},c,d,e)}function e(){g.splice(0,1),c()}var f=b.config||{},g=[];return this.each(function(b){var c="INPUT"==z(this).prop("tagName").toUpperCase()&&"file"==z(this).attr("type").toLowerCase()&&a.FileReader;if(!c||!this.files||0==this.files.length)return!0;for(var d=0;d<this.files.length;d++)g.push({file:this.files[d],inputElem:this,instanceConfig:z.extend({},f)})}),c(),this}}u?a.onmessage=o:y.WORKERS_SUPPORTED&&(s=j(),document.body?document.addEventListener("DOMContentLoaded",function(){v=!0},!0):v=!0),e.prototype=Object.create(d.prototype),e.prototype.constructor=e,f.prototype=Object.create(d.prototype),f.prototype.constructor=f,g.prototype=Object.create(g.prototype),g.prototype.constructor=g}("undefined"!=typeof window?window:this),angular.module("ngPapaParse",[]),function(){"use strict";angular.module("ngPapaParse").factory("Papa",function(){if("undefined"==typeof Papa)throw new Error("angular-PapaParse's JavaScript requires PapaParse");return Papa})}.call(this),function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):"undefined"!=typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a,b){"use strict";if(!a.jstree){var c,d,e=0,f=!1,g=!1,h=!1,i=[],j=a("script:last").attr("src"),k=window.document,l=k.createElement("LI");l.setAttribute("role","treeitem"),c=k.createElement("I"),c.className="jstree-icon jstree-ocl",c.setAttribute("role","presentation"),l.appendChild(c),c=k.createElement("A"),c.className="jstree-anchor",c.setAttribute("href","#"),c.setAttribute("tabindex","-1"),d=k.createElement("I"),d.className="jstree-icon jstree-themeicon",d.setAttribute("role","presentation"),c.appendChild(d),l.appendChild(c),c=d=null,a.jstree={version:"3.2.1",defaults:{plugins:[]},plugins:{},path:j&&-1!==j.indexOf("/")?j.replace(/\/[^\/]+$/,""):"",idregex:/[\\:&!^|()\[\]<>@*'+~#";.,=\- \/${}%?`]/g,root:"#"},a.jstree.create=function(b,c){var d=new a.jstree.core(++e),f=c;return c=a.extend(!0,{},a.jstree.defaults,c),f&&f.plugins&&(c.plugins=f.plugins),a.each(c.plugins,function(a,b){"core"!==a&&(d=d.plugin(b,c[b]))}),a(b).data("jstree",d),d.init(b,c),d},a.jstree.destroy=function(){a(".jstree:jstree").jstree("destroy"),a(k).off(".jstree")},a.jstree.core=function(a){this._id=a,this._cnt=0,this._wrk=null,this._data={core:{themes:{name:!1,dots:!1,icons:!1},selected:[],last_error:{},working:!1,worker_queue:[],focused:null}}},a.jstree.reference=function(b){var c=null,d=null;if(!b||!b.id||b.tagName&&b.nodeType||(b=b.id),!d||!d.length)try{d=a(b)}catch(e){}if(!d||!d.length)try{d=a("#"+b.replace(a.jstree.idregex,"\\$&"))}catch(e){}return d&&d.length&&(d=d.closest(".jstree")).length&&(d=d.data("jstree"))?c=d:a(".jstree").each(function(){var d=a(this).data("jstree");return d&&d._model.data[b]?(c=d,!1):void 0}),c},a.fn.jstree=function(c){var d="string"==typeof c,e=Array.prototype.slice.call(arguments,1),f=null;return c!==!0||this.length?(this.each(function(){var g=a.jstree.reference(this),h=d&&g?g[c]:null;return f=d&&h?h.apply(g,e):null,g||d||c!==b&&!a.isPlainObject(c)||a.jstree.create(this,c),(g&&!d||c===!0)&&(f=g||!1),null!==f&&f!==b?!1:void 0}),null!==f&&f!==b?f:this):!1},a.expr[":"].jstree=a.expr.createPseudo(function(c){return function(c){return a(c).hasClass("jstree")&&a(c).data("jstree")!==b}}),a.jstree.defaults.core={data:!1,strings:!1,check_callback:!1,error:a.noop,animation:200,multiple:!0,themes:{name:!1,url:!1,dir:!1,dots:!0,icons:!0,stripes:!1,variant:!1,responsive:!1},expand_selected_onload:!0,worker:!0,force_text:!1,dblclick_toggle:!0},a.jstree.core.prototype={plugin:function(b,c){var d=a.jstree.plugins[b];return d?(this._data[b]={},d.prototype=this,new d(c,this)):this},init:function(b,c){this._model={data:{},changed:[],force_full_redraw:!1,redraw_timeout:!1,default_state:{loaded:!0,opened:!1,selected:!1,disabled:!1}},this._model.data[a.jstree.root]={id:a.jstree.root,parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}},this.element=a(b).addClass("jstree jstree-"+this._id),this.settings=c,this._data.core.ready=!1,this._data.core.loaded=!1,this._data.core.rtl="rtl"===this.element.css("direction"),this.element[this._data.core.rtl?"addClass":"removeClass"]("jstree-rtl"),this.element.attr("role","tree"),this.settings.core.multiple&&this.element.attr("aria-multiselectable",!0),this.element.attr("tabindex")||this.element.attr("tabindex","0"),this.bind(),this.trigger("init"),this._data.core.original_container_html=this.element.find(" > ul > li").clone(!0),this._data.core.original_container_html.find("li").addBack().contents().filter(function(){return 3===this.nodeType&&(!this.nodeValue||/^\s+$/.test(this.nodeValue))}).remove(),this.element.html("<ul class='jstree-container-ul jstree-children' role='group'><li id='j"+this._id+"_loading' class='jstree-initial-node jstree-loading jstree-leaf jstree-last' role='tree-item'><i class='jstree-icon jstree-ocl'></i><a class='jstree-anchor' href='#'><i class='jstree-icon jstree-themeicon-hidden'></i>"+this.get_string("Loading ...")+"</a></li></ul>"),this.element.attr("aria-activedescendant","j"+this._id+"_loading"),this._data.core.li_height=this.get_container_ul().children("li").first().height()||24,this.trigger("loading"),this.load_node(a.jstree.root)},destroy:function(a){if(this._wrk)try{window.URL.revokeObjectURL(this._wrk),this._wrk=null}catch(b){}a||this.element.empty(),this.teardown()},teardown:function(){this.unbind(),this.element.removeClass("jstree").removeData("jstree").find("[class^='jstree']").addBack().attr("class",function(){return this.className.replace(/jstree[^ ]*|$/gi,"")}),this.element=null},bind:function(){var b="",c=null,d=0;this.element.on("dblclick.jstree",function(a){if(a.target.tagName&&"input"===a.target.tagName.toLowerCase())return!0;if(k.selection&&k.selection.empty)k.selection.empty();else if(window.getSelection){var b=window.getSelection();try{b.removeAllRanges(),b.collapse()}catch(c){}}}).on("mousedown.jstree",a.proxy(function(a){a.target===this.element[0]&&(a.preventDefault(),d=+new Date)},this)).on("mousedown.jstree",".jstree-ocl",function(a){a.preventDefault()}).on("click.jstree",".jstree-ocl",a.proxy(function(a){this.toggle_node(a.target)},this)).on("dblclick.jstree",".jstree-anchor",a.proxy(function(a){return a.target.tagName&&"input"===a.target.tagName.toLowerCase()?!0:void(this.settings.core.dblclick_toggle&&this.toggle_node(a.target))},this)).on("click.jstree",".jstree-anchor",a.proxy(function(b){b.preventDefault(),b.currentTarget!==k.activeElement&&a(b.currentTarget).focus(),this.activate_node(b.currentTarget,b)},this)).on("keydown.jstree",".jstree-anchor",a.proxy(function(b){if(b.target.tagName&&"input"===b.target.tagName.toLowerCase())return!0;if(32!==b.which&&13!==b.which&&(b.shiftKey||b.ctrlKey||b.altKey||b.metaKey))return!0;var c=null;switch(this._data.core.rtl&&(37===b.which?b.which=39:39===b.which&&(b.which=37)),b.which){case 32:b.ctrlKey&&(b.type="click",a(b.currentTarget).trigger(b));break;case 13:b.type="click",a(b.currentTarget).trigger(b);break;case 37:b.preventDefault(),this.is_open(b.currentTarget)?this.close_node(b.currentTarget):(c=this.get_parent(b.currentTarget),c&&c.id!==a.jstree.root&&this.get_node(c,!0).children(".jstree-anchor").focus());break;case 38:b.preventDefault(),c=this.get_prev_dom(b.currentTarget),c&&c.length&&c.children(".jstree-anchor").focus();break;case 39:b.preventDefault(),this.is_closed(b.currentTarget)?this.open_node(b.currentTarget,function(a){this.get_node(a,!0).children(".jstree-anchor").focus()}):this.is_open(b.currentTarget)&&(c=this.get_node(b.currentTarget,!0).children(".jstree-children")[0],c&&a(this._firstChild(c)).children(".jstree-anchor").focus());break;case 40:b.preventDefault(),c=this.get_next_dom(b.currentTarget),c&&c.length&&c.children(".jstree-anchor").focus();break;case 106:this.open_all();break;case 36:b.preventDefault(),c=this._firstChild(this.get_container_ul()[0]),c&&a(c).children(".jstree-anchor").filter(":visible").focus();break;case 35:b.preventDefault(),this.element.find(".jstree-anchor").filter(":visible").last().focus()}},this)).on("load_node.jstree",a.proxy(function(b,c){c.status&&(c.node.id!==a.jstree.root||this._data.core.loaded||(this._data.core.loaded=!0,this._firstChild(this.get_container_ul()[0])&&this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.trigger("loaded")),this._data.core.ready||setTimeout(a.proxy(function(){if(this.element&&!this.get_container_ul().find(".jstree-loading").length){if(this._data.core.ready=!0,this._data.core.selected.length){if(this.settings.core.expand_selected_onload){var b,c,d=[];for(b=0,c=this._data.core.selected.length;c>b;b++)d=d.concat(this._model.data[this._data.core.selected[b]].parents);for(d=a.vakata.array_unique(d),b=0,c=d.length;c>b;b++)this.open_node(d[b],!1,0)}this.trigger("changed",{action:"ready",selected:this._data.core.selected})}this.trigger("ready")}},this),0))},this)).on("keypress.jstree",a.proxy(function(d){if(d.target.tagName&&"input"===d.target.tagName.toLowerCase())return!0;c&&clearTimeout(c),c=setTimeout(function(){b=""},500);var e=String.fromCharCode(d.which).toLowerCase(),f=this.element.find(".jstree-anchor").filter(":visible"),g=f.index(k.activeElement)||0,h=!1;if(b+=e,b.length>1){if(f.slice(g).each(a.proxy(function(c,d){return 0===a(d).text().toLowerCase().indexOf(b)?(a(d).focus(),h=!0,!1):void 0},this)),h)return;if(f.slice(0,g).each(a.proxy(function(c,d){return 0===a(d).text().toLowerCase().indexOf(b)?(a(d).focus(),h=!0,!1):void 0},this)),h)return}if(new RegExp("^"+e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")+"+$").test(b)){if(f.slice(g+1).each(a.proxy(function(b,c){return a(c).text().toLowerCase().charAt(0)===e?(a(c).focus(),h=!0,!1):void 0},this)),h)return;if(f.slice(0,g+1).each(a.proxy(function(b,c){return a(c).text().toLowerCase().charAt(0)===e?(a(c).focus(),h=!0,!1):void 0},this)),h)return}},this)).on("init.jstree",a.proxy(function(){var a=this.settings.core.themes;this._data.core.themes.dots=a.dots,this._data.core.themes.stripes=a.stripes,this._data.core.themes.icons=a.icons,this.set_theme(a.name||"default",a.url),this.set_theme_variant(a.variant)},this)).on("loading.jstree",a.proxy(function(){this[this._data.core.themes.dots?"show_dots":"hide_dots"](),this[this._data.core.themes.icons?"show_icons":"hide_icons"](),this[this._data.core.themes.stripes?"show_stripes":"hide_stripes"]()},this)).on("blur.jstree",".jstree-anchor",a.proxy(function(b){this._data.core.focused=null,a(b.currentTarget).filter(".jstree-hovered").mouseleave(),this.element.attr("tabindex","0")},this)).on("focus.jstree",".jstree-anchor",a.proxy(function(b){var c=this.get_node(b.currentTarget);c&&c.id&&(this._data.core.focused=c.id),this.element.find(".jstree-hovered").not(b.currentTarget).mouseleave(),a(b.currentTarget).mouseenter(),this.element.attr("tabindex","-1")},this)).on("focus.jstree",a.proxy(function(){if(+new Date-d>500&&!this._data.core.focused){d=0;var a=this.get_node(this.element.attr("aria-activedescendant"),!0);a&&a.find("> .jstree-anchor").focus()}},this)).on("mouseenter.jstree",".jstree-anchor",a.proxy(function(a){this.hover_node(a.currentTarget)},this)).on("mouseleave.jstree",".jstree-anchor",a.proxy(function(a){this.dehover_node(a.currentTarget)},this))},unbind:function(){this.element.off(".jstree"),a(k).off(".jstree-"+this._id)},trigger:function(a,b){b||(b={}),b.instance=this,this.element.triggerHandler(a.replace(".jstree","")+".jstree",b)},get_container:function(){return this.element},get_container_ul:function(){return this.element.children(".jstree-children").first()},get_string:function(b){var c=this.settings.core.strings;return a.isFunction(c)?c.call(this,b):c&&c[b]?c[b]:b},_firstChild:function(a){for(a=a?a.firstChild:null;null!==a&&1!==a.nodeType;)a=a.nextSibling;return a},_nextSibling:function(a){for(a=a?a.nextSibling:null;null!==a&&1!==a.nodeType;)a=a.nextSibling;return a},_previousSibling:function(a){for(a=a?a.previousSibling:null;null!==a&&1!==a.nodeType;)a=a.previousSibling;return a},get_node:function(b,c){b&&b.id&&(b=b.id);var d;try{if(this._model.data[b])b=this._model.data[b];else if("string"==typeof b&&this._model.data[b.replace(/^#/,"")])b=this._model.data[b.replace(/^#/,"")];else if("string"==typeof b&&(d=a("#"+b.replace(a.jstree.idregex,"\\$&"),this.element)).length&&this._model.data[d.closest(".jstree-node").attr("id")])b=this._model.data[d.closest(".jstree-node").attr("id")];else if((d=a(b,this.element)).length&&this._model.data[d.closest(".jstree-node").attr("id")])b=this._model.data[d.closest(".jstree-node").attr("id")];else{if(!(d=a(b,this.element)).length||!d.hasClass("jstree"))return!1;b=this._model.data[a.jstree.root]}return c&&(b=b.id===a.jstree.root?this.element:a("#"+b.id.replace(a.jstree.idregex,"\\$&"),this.element)),b}catch(e){return!1}},get_path:function(b,c,d){if(b=b.parents?b:this.get_node(b),!b||b.id===a.jstree.root||!b.parents)return!1;var e,f,g=[];for(g.push(d?b.id:b.text),e=0,f=b.parents.length;f>e;e++)g.push(d?b.parents[e]:this.get_text(b.parents[e]));return g=g.reverse().slice(1),c?g.join(c):g},get_next_dom:function(b,c){var d;if(b=this.get_node(b,!0),b[0]===this.element[0]){for(d=this._firstChild(this.get_container_ul()[0]);d&&0===d.offsetHeight;)d=this._nextSibling(d);return d?a(d):!1}if(!b||!b.length)return!1;if(c){d=b[0];do d=this._nextSibling(d);while(d&&0===d.offsetHeight);return d?a(d):!1}if(b.hasClass("jstree-open")){for(d=this._firstChild(b.children(".jstree-children")[0]);d&&0===d.offsetHeight;)d=this._nextSibling(d);if(null!==d)return a(d)}d=b[0];do d=this._nextSibling(d);while(d&&0===d.offsetHeight);
-return null!==d?a(d):b.parentsUntil(".jstree",".jstree-node").nextAll(".jstree-node:visible").first()},get_prev_dom:function(b,c){var d;if(b=this.get_node(b,!0),b[0]===this.element[0]){for(d=this.get_container_ul()[0].lastChild;d&&0===d.offsetHeight;)d=this._previousSibling(d);return d?a(d):!1}if(!b||!b.length)return!1;if(c){d=b[0];do d=this._previousSibling(d);while(d&&0===d.offsetHeight);return d?a(d):!1}d=b[0];do d=this._previousSibling(d);while(d&&0===d.offsetHeight);if(null!==d){for(b=a(d);b.hasClass("jstree-open");)b=b.children(".jstree-children").first().children(".jstree-node:visible:last");return b}return d=b[0].parentNode.parentNode,d&&d.className&&-1!==d.className.indexOf("jstree-node")?a(d):!1},get_parent:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.parent:!1},get_children_dom:function(a){return a=this.get_node(a,!0),a[0]===this.element[0]?this.get_container_ul().children(".jstree-node"):a&&a.length?a.children(".jstree-children").children(".jstree-node"):!1},is_parent:function(a){return a=this.get_node(a),a&&(a.state.loaded===!1||a.children.length>0)},is_loaded:function(a){return a=this.get_node(a),a&&a.state.loaded},is_loading:function(a){return a=this.get_node(a),a&&a.state&&a.state.loading},is_open:function(a){return a=this.get_node(a),a&&a.state.opened},is_closed:function(a){return a=this.get_node(a),a&&this.is_parent(a)&&!a.state.opened},is_leaf:function(a){return!this.is_parent(a)},load_node:function(b,c){var d,e,f,g,h;if(a.isArray(b))return this._load_nodes(b.slice(),c),!0;if(b=this.get_node(b),!b)return c&&c.call(this,b,!1),!1;if(b.state.loaded){for(b.state.loaded=!1,d=0,e=b.children_d.length;e>d;d++){for(f=0,g=b.parents.length;g>f;f++)this._model.data[b.parents[f]].children_d=a.vakata.array_remove_item(this._model.data[b.parents[f]].children_d,b.children_d[d]);this._model.data[b.children_d[d]].state.selected&&(h=!0,this._data.core.selected=a.vakata.array_remove_item(this._data.core.selected,b.children_d[d])),delete this._model.data[b.children_d[d]]}b.children=[],b.children_d=[],h&&this.trigger("changed",{action:"load_node",node:b,selected:this._data.core.selected})}return b.state.failed=!1,b.state.loading=!0,this.get_node(b,!0).addClass("jstree-loading").attr("aria-busy",!0),this._load_node(b,a.proxy(function(a){b=this._model.data[b.id],b.state.loading=!1,b.state.loaded=a,b.state.failed=!b.state.loaded;var d=this.get_node(b,!0),e=0,f=0,g=this._model.data,h=!1;for(e=0,f=b.children.length;f>e;e++)if(g[b.children[e]]&&!g[b.children[e]].state.hidden){h=!0;break}b.state.loaded&&!h&&d&&d.length&&!d.hasClass("jstree-leaf")&&d.removeClass("jstree-closed jstree-open").addClass("jstree-leaf"),d.removeClass("jstree-loading").attr("aria-busy",!1),this.trigger("load_node",{node:b,status:a}),c&&c.call(this,b,a)},this)),!0},_load_nodes:function(a,b,c){var d,e,f=!0,g=function(){this._load_nodes(a,b,!0)},h=this._model.data,i=[];for(d=0,e=a.length;e>d;d++)!h[a[d]]||(h[a[d]].state.loaded||h[a[d]].state.failed)&&c||(this.is_loading(a[d])||this.load_node(a[d],g),f=!1);if(f){for(d=0,e=a.length;e>d;d++)h[a[d]]&&h[a[d]].state.loaded&&i.push(a[d]);b&&!b.done&&(b.call(this,i),b.done=!0)}},load_all:function(b,c){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var d,e,f=[],g=this._model.data,h=g[b.id].children_d;for(b.state&&!b.state.loaded&&f.push(b.id),d=0,e=h.length;e>d;d++)g[h[d]]&&g[h[d]].state&&!g[h[d]].state.loaded&&f.push(h[d]);f.length?this._load_nodes(f,function(){this.load_all(b,c)}):(c&&c.call(this,b),this.trigger("load_all",{node:b}))},_load_node:function(b,c){var d,e=this.settings.core.data;return e?a.isFunction(e)?e.call(this,b,a.proxy(function(d){d===!1&&c.call(this,!1),this["string"==typeof d?"_append_html_data":"_append_json_data"](b,"string"==typeof d?a(a.parseHTML(d)).filter(function(){return 3!==this.nodeType}):d,function(a){c.call(this,a)})},this)):"object"==typeof e?e.url?(e=a.extend(!0,{},e),a.isFunction(e.url)&&(e.url=e.url.call(this,b)),a.isFunction(e.data)&&(e.data=e.data.call(this,b)),a.ajax(e).done(a.proxy(function(d,e,f){var g=f.getResponseHeader("Content-Type");return g&&-1!==g.indexOf("json")||"object"==typeof d?this._append_json_data(b,d,function(a){c.call(this,a)}):g&&-1!==g.indexOf("html")||"string"==typeof d?this._append_html_data(b,a(a.parseHTML(d)).filter(function(){return 3!==this.nodeType}),function(a){c.call(this,a)}):(this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:b.id,xhr:f})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1))},this)).fail(a.proxy(function(a){c.call(this,!1),this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:b.id,xhr:a})},this.settings.core.error.call(this,this._data.core.last_error)},this))):(d=a.isArray(e)||a.isPlainObject(e)?JSON.parse(JSON.stringify(e)):e,b.id===a.jstree.root?this._append_json_data(b,d,function(a){c.call(this,a)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_05",reason:"Could not load node",data:JSON.stringify({id:b.id})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1))):"string"==typeof e?b.id===a.jstree.root?this._append_html_data(b,a(a.parseHTML(e)).filter(function(){return 3!==this.nodeType}),function(a){c.call(this,a)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_06",reason:"Could not load node",data:JSON.stringify({id:b.id})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1)):c.call(this,!1):b.id===a.jstree.root?this._append_html_data(b,this._data.core.original_container_html.clone(!0),function(a){c.call(this,a)}):c.call(this,!1)},_node_changed:function(a){a=this.get_node(a),a&&this._model.changed.push(a.id)},_append_html_data:function(b,c,d){b=this.get_node(b),b.children=[],b.children_d=[];var e,f,g,h=c.is("ul")?c.children():c,i=b.id,j=[],k=[],l=this._model.data,m=l[i],n=this._data.core.selected.length;for(h.each(a.proxy(function(b,c){e=this._parse_model_from_html(a(c),i,m.parents.concat()),e&&(j.push(e),k.push(e),l[e].children_d.length&&(k=k.concat(l[e].children_d)))},this)),m.children=j,m.children_d=k,f=0,g=m.parents.length;g>f;f++)l[m.parents[f]].children_d=l[m.parents[f]].children_d.concat(k);this.trigger("model",{nodes:k,parent:i}),i!==a.jstree.root?(this._node_changed(i),this.redraw()):(this.get_container_ul().children(".jstree-initial-node").remove(),this.redraw(!0)),this._data.core.selected.length!==n&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),d.call(this,!0)},_append_json_data:function(b,c,d,e){if(null!==this.element){b=this.get_node(b),b.children=[],b.children_d=[],c.d&&(c=c.d,"string"==typeof c&&(c=JSON.parse(c))),a.isArray(c)||(c=[c]);var f=null,g={df:this._model.default_state,dat:c,par:b.id,m:this._model.data,t_id:this._id,t_cnt:this._cnt,sel:this._data.core.selected},h=function(a,b){a.data&&(a=a.data);var c,d,e,f,g=a.dat,h=a.par,i=[],j=[],k=[],l=a.df,m=a.t_id,n=a.t_cnt,o=a.m,p=o[h],q=a.sel,r=function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e,f,g,h,i=a.id.toString(),j={id:i,text:a.text||"",icon:a.icon!==b?a.icon:!0,parent:c,parents:d,children:a.children||[],children_d:a.children_d||[],data:a.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(e in l)l.hasOwnProperty(e)&&(j.state[e]=l[e]);if(a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(j.icon=a.data.jstree.icon),(j.icon===b||null===j.icon||""===j.icon)&&(j.icon=!0),a&&a.data&&(j.data=a.data,a.data.jstree))for(e in a.data.jstree)a.data.jstree.hasOwnProperty(e)&&(j.state[e]=a.data.jstree[e]);if(a&&"object"==typeof a.state)for(e in a.state)a.state.hasOwnProperty(e)&&(j.state[e]=a.state[e]);if(a&&"object"==typeof a.li_attr)for(e in a.li_attr)a.li_attr.hasOwnProperty(e)&&(j.li_attr[e]=a.li_attr[e]);if(j.li_attr.id||(j.li_attr.id=i),a&&"object"==typeof a.a_attr)for(e in a.a_attr)a.a_attr.hasOwnProperty(e)&&(j.a_attr[e]=a.a_attr[e]);for(a&&a.children&&a.children===!0&&(j.state.loaded=!1,j.children=[],j.children_d=[]),o[j.id]=j,e=0,f=j.children.length;f>e;e++)g=r(o[j.children[e]],j.id,d),h=o[g],j.children_d.push(g),h.children_d.length&&(j.children_d=j.children_d.concat(h.children_d));return delete a.data,delete a.children,o[j.id].original=a,j.state.selected&&k.push(j.id),j.id},s=function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e,f,g,h,i,j=!1;do j="j"+m+"_"+ ++n;while(o[j]);i={id:!1,text:"string"==typeof a?a:"",icon:"object"==typeof a&&a.icon!==b?a.icon:!0,parent:c,parents:d,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(e in l)l.hasOwnProperty(e)&&(i.state[e]=l[e]);if(a&&a.id&&(i.id=a.id.toString()),a&&a.text&&(i.text=a.text),a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(i.icon=a.data.jstree.icon),(i.icon===b||null===i.icon||""===i.icon)&&(i.icon=!0),a&&a.data&&(i.data=a.data,a.data.jstree))for(e in a.data.jstree)a.data.jstree.hasOwnProperty(e)&&(i.state[e]=a.data.jstree[e]);if(a&&"object"==typeof a.state)for(e in a.state)a.state.hasOwnProperty(e)&&(i.state[e]=a.state[e]);if(a&&"object"==typeof a.li_attr)for(e in a.li_attr)a.li_attr.hasOwnProperty(e)&&(i.li_attr[e]=a.li_attr[e]);if(i.li_attr.id&&!i.id&&(i.id=i.li_attr.id.toString()),i.id||(i.id=j),i.li_attr.id||(i.li_attr.id=i.id),a&&"object"==typeof a.a_attr)for(e in a.a_attr)a.a_attr.hasOwnProperty(e)&&(i.a_attr[e]=a.a_attr[e]);if(a&&a.children&&a.children.length){for(e=0,f=a.children.length;f>e;e++)g=s(a.children[e],i.id,d),h=o[g],i.children.push(g),h.children_d.length&&(i.children_d=i.children_d.concat(h.children_d));i.children_d=i.children_d.concat(i.children)}return a&&a.children&&a.children===!0&&(i.state.loaded=!1,i.children=[],i.children_d=[]),delete a.data,delete a.children,i.original=a,o[i.id]=i,i.state.selected&&k.push(i.id),i.id};if(g.length&&g[0].id!==b&&g[0].parent!==b){for(d=0,e=g.length;e>d;d++)g[d].children||(g[d].children=[]),o[g[d].id.toString()]=g[d];for(d=0,e=g.length;e>d;d++)o[g[d].parent.toString()].children.push(g[d].id.toString()),p.children_d.push(g[d].id.toString());for(d=0,e=p.children.length;e>d;d++)c=r(o[p.children[d]],h,p.parents.concat()),j.push(c),o[c].children_d.length&&(j=j.concat(o[c].children_d));for(d=0,e=p.parents.length;e>d;d++)o[p.parents[d]].children_d=o[p.parents[d]].children_d.concat(j);f={cnt:n,mod:o,sel:q,par:h,dpc:j,add:k}}else{for(d=0,e=g.length;e>d;d++)c=s(g[d],h,p.parents.concat()),c&&(i.push(c),j.push(c),o[c].children_d.length&&(j=j.concat(o[c].children_d)));for(p.children=i,p.children_d=j,d=0,e=p.parents.length;e>d;d++)o[p.parents[d]].children_d=o[p.parents[d]].children_d.concat(j);f={cnt:n,mod:o,sel:q,par:h,dpc:j,add:k}}return"undefined"!=typeof window&&"undefined"!=typeof window.document?f:void postMessage(f)},i=function(b,c){if(null!==this.element){if(this._cnt=b.cnt,this._model.data=b.mod,c){var e,f,g=b.add,h=b.sel,i=this._data.core.selected.slice(),j=this._model.data;if(h.length!==i.length||a.vakata.array_unique(h.concat(i)).length!==h.length){for(e=0,f=h.length;f>e;e++)-1===a.inArray(h[e],g)&&-1===a.inArray(h[e],i)&&(j[h[e]].state.selected=!1);for(e=0,f=i.length;f>e;e++)-1===a.inArray(i[e],h)&&(j[i[e]].state.selected=!0)}}b.add.length&&(this._data.core.selected=this._data.core.selected.concat(b.add)),this.trigger("model",{nodes:b.dpc,parent:b.par}),b.par!==a.jstree.root?(this._node_changed(b.par),this.redraw()):this.redraw(!0),b.add.length&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),d.call(this,!0)}};if(this.settings.core.worker&&window.Blob&&window.URL&&window.Worker)try{null===this._wrk&&(this._wrk=window.URL.createObjectURL(new window.Blob(["self.onmessage = "+h.toString()],{type:"text/javascript"}))),!this._data.core.working||e?(this._data.core.working=!0,f=new window.Worker(this._wrk),f.onmessage=a.proxy(function(a){i.call(this,a.data,!0);try{f.terminate(),f=null}catch(b){}this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1},this),g.par?f.postMessage(g):this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1):this._data.core.worker_queue.push([b,c,d,!0])}catch(j){i.call(this,h(g),!1),this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1}else i.call(this,h(g),!1)}},_parse_model_from_html:function(c,d,e){e=e?[].concat(e):[],d&&e.unshift(d);var f,g,h,i,j,k=this._model.data,l={id:!1,text:!1,icon:!0,parent:d,parents:e,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(h in this._model.default_state)this._model.default_state.hasOwnProperty(h)&&(l.state[h]=this._model.default_state[h]);if(i=a.vakata.attributes(c,!0),a.each(i,function(b,c){return c=a.trim(c),c.length?(l.li_attr[b]=c,void("id"===b&&(l.id=c.toString()))):!0}),i=c.children("a").first(),i.length&&(i=a.vakata.attributes(i,!0),a.each(i,function(b,c){c=a.trim(c),c.length&&(l.a_attr[b]=c)})),i=c.children("a").first().length?c.children("a").first().clone():c.clone(),i.children("ins, i, ul").remove(),i=i.html(),i=a("<div />").html(i),l.text=this.settings.core.force_text?i.text():i.html(),i=c.data(),l.data=i?a.extend(!0,{},i):null,l.state.opened=c.hasClass("jstree-open"),l.state.selected=c.children("a").hasClass("jstree-clicked"),l.state.disabled=c.children("a").hasClass("jstree-disabled"),l.data&&l.data.jstree)for(h in l.data.jstree)l.data.jstree.hasOwnProperty(h)&&(l.state[h]=l.data.jstree[h]);i=c.children("a").children(".jstree-themeicon"),i.length&&(l.icon=i.hasClass("jstree-themeicon-hidden")?!1:i.attr("rel")),l.state.icon!==b&&(l.icon=l.state.icon),(l.icon===b||null===l.icon||""===l.icon)&&(l.icon=!0),i=c.children("ul").children("li");do j="j"+this._id+"_"+ ++this._cnt;while(k[j]);return l.id=l.li_attr.id?l.li_attr.id.toString():j,i.length?(i.each(a.proxy(function(b,c){f=this._parse_model_from_html(a(c),l.id,e),g=this._model.data[f],l.children.push(f),g.children_d.length&&(l.children_d=l.children_d.concat(g.children_d))},this)),l.children_d=l.children_d.concat(l.children)):c.hasClass("jstree-closed")&&(l.state.loaded=!1),l.li_attr["class"]&&(l.li_attr["class"]=l.li_attr["class"].replace("jstree-closed","").replace("jstree-open","")),l.a_attr["class"]&&(l.a_attr["class"]=l.a_attr["class"].replace("jstree-clicked","").replace("jstree-disabled","")),k[l.id]=l,l.state.selected&&this._data.core.selected.push(l.id),l.id},_parse_model_from_flat_json:function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e,f,g,h,i=a.id.toString(),j=this._model.data,k=this._model.default_state,l={id:i,text:a.text||"",icon:a.icon!==b?a.icon:!0,parent:c,parents:d,children:a.children||[],children_d:a.children_d||[],data:a.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(e in k)k.hasOwnProperty(e)&&(l.state[e]=k[e]);if(a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(l.icon=a.data.jstree.icon),(l.icon===b||null===l.icon||""===l.icon)&&(l.icon=!0),a&&a.data&&(l.data=a.data,a.data.jstree))for(e in a.data.jstree)a.data.jstree.hasOwnProperty(e)&&(l.state[e]=a.data.jstree[e]);if(a&&"object"==typeof a.state)for(e in a.state)a.state.hasOwnProperty(e)&&(l.state[e]=a.state[e]);if(a&&"object"==typeof a.li_attr)for(e in a.li_attr)a.li_attr.hasOwnProperty(e)&&(l.li_attr[e]=a.li_attr[e]);if(l.li_attr.id||(l.li_attr.id=i),a&&"object"==typeof a.a_attr)for(e in a.a_attr)a.a_attr.hasOwnProperty(e)&&(l.a_attr[e]=a.a_attr[e]);for(a&&a.children&&a.children===!0&&(l.state.loaded=!1,l.children=[],l.children_d=[]),j[l.id]=l,e=0,f=l.children.length;f>e;e++)g=this._parse_model_from_flat_json(j[l.children[e]],l.id,d),h=j[g],l.children_d.push(g),h.children_d.length&&(l.children_d=l.children_d.concat(h.children_d));return delete a.data,delete a.children,j[l.id].original=a,l.state.selected&&this._data.core.selected.push(l.id),l.id},_parse_model_from_json:function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e,f,g,h,i,j=!1,k=this._model.data,l=this._model.default_state;do j="j"+this._id+"_"+ ++this._cnt;while(k[j]);i={id:!1,text:"string"==typeof a?a:"",icon:"object"==typeof a&&a.icon!==b?a.icon:!0,parent:c,parents:d,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(e in l)l.hasOwnProperty(e)&&(i.state[e]=l[e]);if(a&&a.id&&(i.id=a.id.toString()),a&&a.text&&(i.text=a.text),a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(i.icon=a.data.jstree.icon),(i.icon===b||null===i.icon||""===i.icon)&&(i.icon=!0),a&&a.data&&(i.data=a.data,a.data.jstree))for(e in a.data.jstree)a.data.jstree.hasOwnProperty(e)&&(i.state[e]=a.data.jstree[e]);if(a&&"object"==typeof a.state)for(e in a.state)a.state.hasOwnProperty(e)&&(i.state[e]=a.state[e]);if(a&&"object"==typeof a.li_attr)for(e in a.li_attr)a.li_attr.hasOwnProperty(e)&&(i.li_attr[e]=a.li_attr[e]);if(i.li_attr.id&&!i.id&&(i.id=i.li_attr.id.toString()),i.id||(i.id=j),i.li_attr.id||(i.li_attr.id=i.id),a&&"object"==typeof a.a_attr)for(e in a.a_attr)a.a_attr.hasOwnProperty(e)&&(i.a_attr[e]=a.a_attr[e]);if(a&&a.children&&a.children.length){for(e=0,f=a.children.length;f>e;e++)g=this._parse_model_from_json(a.children[e],i.id,d),h=k[g],i.children.push(g),h.children_d.length&&(i.children_d=i.children_d.concat(h.children_d));i.children_d=i.children_d.concat(i.children)}return a&&a.children&&a.children===!0&&(i.state.loaded=!1,i.children=[],i.children_d=[]),delete a.data,delete a.children,i.original=a,k[i.id]=i,i.state.selected&&this._data.core.selected.push(i.id),i.id},_redraw:function(){var b,c,d,e=this._model.force_full_redraw?this._model.data[a.jstree.root].children.concat([]):this._model.changed.concat([]),f=k.createElement("UL"),g=this._data.core.focused;for(c=0,d=e.length;d>c;c++)b=this.redraw_node(e[c],!0,this._model.force_full_redraw),b&&this._model.force_full_redraw&&f.appendChild(b);this._model.force_full_redraw&&(f.className=this.get_container_ul()[0].className,f.setAttribute("role","group"),this.element.empty().append(f)),null!==g&&(b=this.get_node(g,!0),b&&b.length&&b.children(".jstree-anchor")[0]!==k.activeElement?b.children(".jstree-anchor").focus():this._data.core.focused=null),this._model.force_full_redraw=!1,this._model.changed=[],this.trigger("redraw",{nodes:e})},redraw:function(a){a&&(this._model.force_full_redraw=!0),this._redraw()},draw_children:function(b){var c=this.get_node(b),d=!1,e=!1,f=!1,g=k;if(!c)return!1;if(c.id===a.jstree.root)return this.redraw(!0);if(b=this.get_node(b,!0),!b||!b.length)return!1;if(b.children(".jstree-children").remove(),b=b[0],c.children.length&&c.state.loaded){for(f=g.createElement("UL"),f.setAttribute("role","group"),f.className="jstree-children",d=0,e=c.children.length;e>d;d++)f.appendChild(this.redraw_node(c.children[d],!0,!0));b.appendChild(f)}},redraw_node:function(b,c,d,e){var f=this.get_node(b),g=!1,h=!1,i=!1,j=!1,m=!1,n=!1,o="",p=k,q=this._model.data,r=!1,s=null,t=0,u=0,v=!1,w=!1;if(!f)return!1;if(f.id===a.jstree.root)return this.redraw(!0);if(c=c||0===f.children.length,b=k.querySelector?this.element[0].querySelector("#"+(-1!=="0123456789".indexOf(f.id[0])?"\\3"+f.id[0]+" "+f.id.substr(1).replace(a.jstree.idregex,"\\$&"):f.id.replace(a.jstree.idregex,"\\$&"))):k.getElementById(f.id))b=a(b),d||(g=b.parent().parent()[0],g===this.element[0]&&(g=null),h=b.index()),c||!f.children.length||b.children(".jstree-children").length||(c=!0),c||(i=b.children(".jstree-children")[0]),r=b.children(".jstree-anchor")[0]===k.activeElement,b.remove();else if(c=!0,!d){if(g=f.parent!==a.jstree.root?a("#"+f.parent.replace(a.jstree.idregex,"\\$&"),this.element)[0]:null,!(null===g||g&&q[f.parent].state.opened))return!1;h=a.inArray(f.id,null===g?q[a.jstree.root].children:q[f.parent].children)}b=l.cloneNode(!0),o="jstree-node ";for(j in f.li_attr)if(f.li_attr.hasOwnProperty(j)){if("id"===j)continue;"class"!==j?b.setAttribute(j,f.li_attr[j]):o+=f.li_attr[j]}for(f.a_attr.id||(f.a_attr.id=f.id+"_anchor"),b.setAttribute("aria-selected",!!f.state.selected),b.setAttribute("aria-level",f.parents.length),b.setAttribute("aria-labelledby",f.a_attr.id),f.state.disabled&&b.setAttribute("aria-disabled",!0),j=0,m=f.children.length;m>j;j++)if(!q[f.children[j]].state.hidden){v=!0;break}if(null!==f.parent&&q[f.parent]&&!f.state.hidden&&(j=a.inArray(f.id,q[f.parent].children),w=f.id,-1!==j))for(j++,m=q[f.parent].children.length;m>j&&(q[q[f.parent].children[j]].state.hidden||(w=q[f.parent].children[j]),w===f.id);j++);f.state.hidden&&(o+=" jstree-hidden"),f.state.loaded&&!v?o+=" jstree-leaf":(o+=f.state.opened&&f.state.loaded?" jstree-open":" jstree-closed",b.setAttribute("aria-expanded",f.state.opened&&f.state.loaded)),w===f.id&&(o+=" jstree-last"),b.id=f.id,b.className=o,o=(f.state.selected?" jstree-clicked":"")+(f.state.disabled?" jstree-disabled":"");for(m in f.a_attr)if(f.a_attr.hasOwnProperty(m)){if("href"===m&&"#"===f.a_attr[m])continue;"class"!==m?b.childNodes[1].setAttribute(m,f.a_attr[m]):o+=" "+f.a_attr[m]}if(o.length&&(b.childNodes[1].className="jstree-anchor "+o),(f.icon&&f.icon!==!0||f.icon===!1)&&(f.icon===!1?b.childNodes[1].childNodes[0].className+=" jstree-themeicon-hidden":-1===f.icon.indexOf("/")&&-1===f.icon.indexOf(".")?b.childNodes[1].childNodes[0].className+=" "+f.icon+" jstree-themeicon-custom":(b.childNodes[1].childNodes[0].style.backgroundImage="url("+f.icon+")",b.childNodes[1].childNodes[0].style.backgroundPosition="center center",b.childNodes[1].childNodes[0].style.backgroundSize="auto",b.childNodes[1].childNodes[0].className+=" jstree-themeicon-custom")),this.settings.core.force_text?b.childNodes[1].appendChild(p.createTextNode(f.text)):b.childNodes[1].innerHTML+=f.text,c&&f.children.length&&(f.state.opened||e)&&f.state.loaded){for(n=p.createElement("UL"),n.setAttribute("role","group"),n.className="jstree-children",j=0,m=f.children.length;m>j;j++)n.appendChild(this.redraw_node(f.children[j],c,!0));b.appendChild(n)}if(i&&b.appendChild(i),!d){for(g||(g=this.element[0]),j=0,m=g.childNodes.length;m>j;j++)if(g.childNodes[j]&&g.childNodes[j].className&&-1!==g.childNodes[j].className.indexOf("jstree-children")){s=g.childNodes[j];break}s||(s=p.createElement("UL"),s.setAttribute("role","group"),s.className="jstree-children",g.appendChild(s)),g=s,h<g.childNodes.length?g.insertBefore(b,g.childNodes[h]):g.appendChild(b),r&&(t=this.element[0].scrollTop,u=this.element[0].scrollLeft,b.childNodes[1].focus(),this.element[0].scrollTop=t,this.element[0].scrollLeft=u)}return f.state.opened&&!f.state.loaded&&(f.state.opened=!1,setTimeout(a.proxy(function(){this.open_node(f.id,!1,0)},this),0)),b},open_node:function(c,d,e){var f,g,h,i;if(a.isArray(c)){for(c=c.slice(),f=0,g=c.length;g>f;f++)this.open_node(c[f],d,e);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?(e=e===b?this.settings.core.animation:e,this.is_closed(c)?this.is_loaded(c)?(h=this.get_node(c,!0),i=this,h.length&&(e&&h.children(".jstree-children").length&&h.children(".jstree-children").stop(!0,!0),c.children.length&&!this._firstChild(h.children(".jstree-children")[0])&&this.draw_children(c),e?(this.trigger("before_open",{node:c}),h.children(".jstree-children").css("display","none").end().removeClass("jstree-closed").addClass("jstree-open").attr("aria-expanded",!0).children(".jstree-children").stop(!0,!0).slideDown(e,function(){this.style.display="",i.trigger("after_open",{node:c})})):(this.trigger("before_open",{node:c}),h[0].className=h[0].className.replace("jstree-closed","jstree-open"),h[0].setAttribute("aria-expanded",!0))),c.state.opened=!0,d&&d.call(this,c,!0),h.length||this.trigger("before_open",{node:c}),this.trigger("open_node",{node:c}),e&&h.length||this.trigger("after_open",{node:c}),!0):this.is_loading(c)?setTimeout(a.proxy(function(){this.open_node(c,d,e)},this),500):void this.load_node(c,function(a,b){return b?this.open_node(a,d,e):d?d.call(this,a,!1):!1}):(d&&d.call(this,c,!1),!1)):!1},_open_to:function(b){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var c,d,e=b.parents;for(c=0,d=e.length;d>c;c+=1)c!==a.jstree.root&&this.open_node(e[c],!1,0);return a("#"+b.id.replace(a.jstree.idregex,"\\$&"),this.element)},close_node:function(c,d){var e,f,g,h;if(a.isArray(c)){for(c=c.slice(),e=0,f=c.length;f>e;e++)this.close_node(c[e],d);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?this.is_closed(c)?!1:(d=d===b?this.settings.core.animation:d,g=this,h=this.get_node(c,!0),h.length&&(d?h.children(".jstree-children").attr("style","display:block !important").end().removeClass("jstree-open").addClass("jstree-closed").attr("aria-expanded",!1).children(".jstree-children").stop(!0,!0).slideUp(d,function(){this.style.display="",h.children(".jstree-children").remove(),g.trigger("after_close",{node:c})}):(h[0].className=h[0].className.replace("jstree-open","jstree-closed"),h.attr("aria-expanded",!1).children(".jstree-children").remove())),c.state.opened=!1,this.trigger("close_node",{node:c}),void(d&&h.length||this.trigger("after_close",{node:c}))):!1},toggle_node:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.toggle_node(b[c]);return!0}return this.is_closed(b)?this.open_node(b):this.is_open(b)?this.close_node(b):void 0},open_all:function(b,c,d){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var e,f,g,h=b.id===a.jstree.root?this.get_container_ul():this.get_node(b,!0);if(!h.length){for(e=0,f=b.children_d.length;f>e;e++)this.is_closed(this._model.data[b.children_d[e]])&&(this._model.data[b.children_d[e]].state.opened=!0);return this.trigger("open_all",{node:b})}d=d||h,g=this,h=this.is_closed(b)?h.find(".jstree-closed").addBack():h.find(".jstree-closed"),h.each(function(){g.open_node(this,function(a,b){b&&this.is_parent(a)&&this.open_all(a,c,d)},c||0)}),0===d.find(".jstree-closed").length&&this.trigger("open_all",{node:this.get_node(d)})},close_all:function(b,c){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var d,e,f=b.id===a.jstree.root?this.get_container_ul():this.get_node(b,!0),g=this;for(f.length&&(f=this.is_open(b)?f.find(".jstree-open").addBack():f.find(".jstree-open"),a(f.get().reverse()).each(function(){g.close_node(this,c||0)})),d=0,e=b.children_d.length;e>d;d++)this._model.data[b.children_d[d]].state.opened=!1;this.trigger("close_all",{node:b})},is_disabled:function(a){return a=this.get_node(a),a&&a.state&&a.state.disabled},enable_node:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.enable_node(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.state.disabled=!1,this.get_node(b,!0).children(".jstree-anchor").removeClass("jstree-disabled").attr("aria-disabled",!1),void this.trigger("enable_node",{node:b})):!1},disable_node:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.disable_node(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.state.disabled=!0,this.get_node(b,!0).children(".jstree-anchor").addClass("jstree-disabled").attr("aria-disabled",!0),void this.trigger("disable_node",{node:b})):!1},hide_node:function(b,c){var d,e;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.hide_node(b[d],!0);return this.redraw(),!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?void(b.state.hidden||(b.state.hidden=!0,this._node_changed(b.parent),c||this.redraw(),this.trigger("hide_node",{node:b}))):!1},show_node:function(b,c){var d,e;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.show_node(b[d],!0);return this.redraw(),!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?void(b.state.hidden&&(b.state.hidden=!1,this._node_changed(b.parent),c||this.redraw(),this.trigger("show_node",{node:b}))):!1},hide_all:function(b){var c,d=this._model.data,e=[];for(c in d)d.hasOwnProperty(c)&&c!==a.jstree.root&&!d[c].state.hidden&&(d[c].state.hidden=!0,e.push(c));return this._model.force_full_redraw=!0,b||this.redraw(),this.trigger("hide_all",{nodes:e}),e},show_all:function(b){var c,d=this._model.data,e=[];for(c in d)d.hasOwnProperty(c)&&c!==a.jstree.root&&d[c].state.hidden&&(d[c].state.hidden=!1,e.push(c));return this._model.force_full_redraw=!0,b||this.redraw(),this.trigger("show_all",{nodes:e}),e},activate_node:function(a,c){if(this.is_disabled(a))return!1;if(c&&"object"==typeof c||(c={}),this._data.core.last_clicked=this._data.core.last_clicked&&this._data.core.last_clicked.id!==b?this.get_node(this._data.core.last_clicked.id):null,this._data.core.last_clicked&&!this._data.core.last_clicked.state.selected&&(this._data.core.last_clicked=null),!this._data.core.last_clicked&&this._data.core.selected.length&&(this._data.core.last_clicked=this.get_node(this._data.core.selected[this._data.core.selected.length-1])),this.settings.core.multiple&&(c.metaKey||c.ctrlKey||c.shiftKey)&&(!c.shiftKey||this._data.core.last_clicked&&this.get_parent(a)&&this.get_parent(a)===this._data.core.last_clicked.parent))if(c.shiftKey){var d,e,f=this.get_node(a).id,g=this._data.core.last_clicked.id,h=this.get_node(this._data.core.last_clicked.parent).children,i=!1;for(d=0,e=h.length;e>d;d+=1)h[d]===f&&(i=!i),h[d]===g&&(i=!i),this.is_disabled(h[d])||!i&&h[d]!==f&&h[d]!==g?this.deselect_node(h[d],!0,c):this.select_node(h[d],!0,!1,c);this.trigger("changed",{action:"select_node",node:this.get_node(a),selected:this._data.core.selected,event:c})}else this.is_selected(a)?this.deselect_node(a,!1,c):this.select_node(a,!1,!1,c);else!this.settings.core.multiple&&(c.metaKey||c.ctrlKey||c.shiftKey)&&this.is_selected(a)?this.deselect_node(a,!1,c):(this.deselect_all(!0),this.select_node(a,!1,!1,c),this._data.core.last_clicked=this.get_node(a));this.trigger("activate_node",{node:this.get_node(a),event:c})},hover_node:function(a){if(a=this.get_node(a,!0),!a||!a.length||a.children(".jstree-hovered").length)return!1;var b=this.element.find(".jstree-hovered"),c=this.element;b&&b.length&&this.dehover_node(b),a.children(".jstree-anchor").addClass("jstree-hovered"),this.trigger("hover_node",{node:this.get_node(a)}),setTimeout(function(){c.attr("aria-activedescendant",a[0].id)},0)},dehover_node:function(a){return a=this.get_node(a,!0),a&&a.length&&a.children(".jstree-hovered").length?(a.children(".jstree-anchor").removeClass("jstree-hovered"),void this.trigger("dehover_node",{node:this.get_node(a)})):!1},select_node:function(b,c,d,e){var f,g,h;if(a.isArray(b)){for(b=b.slice(),g=0,h=b.length;h>g;g++)this.select_node(b[g],c,d,e);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=this.get_node(b,!0),void(b.state.selected||(b.state.selected=!0,this._data.core.selected.push(b.id),d||(f=this._open_to(b)),f&&f.length&&f.attr("aria-selected",!0).children(".jstree-anchor").addClass("jstree-clicked"),this.trigger("select_node",{node:b,selected:this._data.core.selected,event:e}),c||this.trigger("changed",{action:"select_node",node:b,selected:this._data.core.selected,event:e})))):!1},deselect_node:function(b,c,d){var e,f,g;if(a.isArray(b)){for(b=b.slice(),e=0,f=b.length;f>e;e++)this.deselect_node(b[e],c,d);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(g=this.get_node(b,!0),void(b.state.selected&&(b.state.selected=!1,this._data.core.selected=a.vakata.array_remove_item(this._data.core.selected,b.id),g.length&&g.attr("aria-selected",!1).children(".jstree-anchor").removeClass("jstree-clicked"),this.trigger("deselect_node",{node:b,selected:this._data.core.selected,event:d}),c||this.trigger("changed",{action:"deselect_node",node:b,selected:this._data.core.selected,event:d})))):!1},select_all:function(b){var c,d,e=this._data.core.selected.concat([]);for(this._data.core.selected=this._model.data[a.jstree.root].children_d.concat(),c=0,d=this._data.core.selected.length;d>c;c++)this._model.data[this._data.core.selected[c]]&&(this._model.data[this._data.core.selected[c]].state.selected=!0);this.redraw(!0),this.trigger("select_all",{selected:this._data.core.selected}),b||this.trigger("changed",{action:"select_all",selected:this._data.core.selected,old_selection:e})},deselect_all:function(a){var b,c,d=this._data.core.selected.concat([]);for(b=0,
-c=this._data.core.selected.length;c>b;b++)this._model.data[this._data.core.selected[b]]&&(this._model.data[this._data.core.selected[b]].state.selected=!1);this._data.core.selected=[],this.element.find(".jstree-clicked").removeClass("jstree-clicked").parent().attr("aria-selected",!1),this.trigger("deselect_all",{selected:this._data.core.selected,node:d}),a||this.trigger("changed",{action:"deselect_all",selected:this._data.core.selected,old_selection:d})},is_selected:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.state.selected:!1},get_selected:function(b){return b?a.map(this._data.core.selected,a.proxy(function(a){return this.get_node(a)},this)):this._data.core.selected.slice()},get_top_selected:function(b){var c,d,e,f,g=this.get_selected(!0),h={};for(c=0,d=g.length;d>c;c++)h[g[c].id]=g[c];for(c=0,d=g.length;d>c;c++)for(e=0,f=g[c].children_d.length;f>e;e++)h[g[c].children_d[e]]&&delete h[g[c].children_d[e]];g=[];for(c in h)h.hasOwnProperty(c)&&g.push(c);return b?a.map(g,a.proxy(function(a){return this.get_node(a)},this)):g},get_bottom_selected:function(b){var c,d,e=this.get_selected(!0),f=[];for(c=0,d=e.length;d>c;c++)e[c].children.length||f.push(e[c].id);return b?a.map(f,a.proxy(function(a){return this.get_node(a)},this)):f},get_state:function(){var b,c={core:{open:[],scroll:{left:this.element.scrollLeft(),top:this.element.scrollTop()},selected:[]}};for(b in this._model.data)this._model.data.hasOwnProperty(b)&&b!==a.jstree.root&&(this._model.data[b].state.opened&&c.core.open.push(b),this._model.data[b].state.selected&&c.core.selected.push(b));return c},set_state:function(c,d){if(c){if(c.core){var e,f;if(c.core.open)return a.isArray(c.core.open)&&c.core.open.length?this._load_nodes(c.core.open,function(a){this.open_node(a,!1,0),delete c.core.open,this.set_state(c,d)},!0):(delete c.core.open,this.set_state(c,d)),!1;if(c.core.scroll)return c.core.scroll&&c.core.scroll.left!==b&&this.element.scrollLeft(c.core.scroll.left),c.core.scroll&&c.core.scroll.top!==b&&this.element.scrollTop(c.core.scroll.top),delete c.core.scroll,this.set_state(c,d),!1;if(c.core.selected)return e=this,this.deselect_all(),a.each(c.core.selected,function(a,b){e.select_node(b,!1,!0)}),delete c.core.selected,this.set_state(c,d),!1;for(f in c)c.hasOwnProperty(f)&&"core"!==f&&-1===a.inArray(f,this.settings.plugins)&&delete c[f];if(a.isEmptyObject(c.core))return delete c.core,this.set_state(c,d),!1}return a.isEmptyObject(c)?(c=null,d&&d.call(this),this.trigger("set_state"),!1):!0}return!1},refresh:function(b,c){this._data.core.state=c===!0?{}:this.get_state(),c&&a.isFunction(c)&&(this._data.core.state=c.call(this,this._data.core.state)),this._cnt=0,this._model.data={},this._model.data[a.jstree.root]={id:a.jstree.root,parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}},this._data.core.selected=[],this._data.core.last_clicked=null,this._data.core.focused=null;var d=this.get_container_ul()[0].className;b||(this.element.html("<ul class='"+d+"' role='group'><li class='jstree-initial-node jstree-loading jstree-leaf jstree-last' role='treeitem' id='j"+this._id+"_loading'><i class='jstree-icon jstree-ocl'></i><a class='jstree-anchor' href='#'><i class='jstree-icon jstree-themeicon-hidden'></i>"+this.get_string("Loading ...")+"</a></li></ul>"),this.element.attr("aria-activedescendant","j"+this._id+"_loading")),this.load_node(a.jstree.root,function(b,c){c&&(this.get_container_ul()[0].className=d,this._firstChild(this.get_container_ul()[0])&&this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.set_state(a.extend(!0,{},this._data.core.state),function(){this.trigger("refresh")})),this._data.core.state=null})},refresh_node:function(b){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var c=[],d=[];this._data.core.selected.concat([]);d.push(b.id),b.state.opened===!0&&c.push(b.id),this.get_node(b,!0).find(".jstree-open").each(function(){c.push(this.id)}),this._load_nodes(d,a.proxy(function(a){this.open_node(c,!1,0),this.select_node(this._data.core.selected),this.trigger("refresh_node",{node:b,nodes:a})},this))},set_id:function(b,c){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var d,e,f=this._model.data;for(c=c.toString(),f[b.parent].children[a.inArray(b.id,f[b.parent].children)]=c,d=0,e=b.parents.length;e>d;d++)f[b.parents[d]].children_d[a.inArray(b.id,f[b.parents[d]].children_d)]=c;for(d=0,e=b.children.length;e>d;d++)f[b.children[d]].parent=c;for(d=0,e=b.children_d.length;e>d;d++)f[b.children_d[d]].parents[a.inArray(b.id,f[b.children_d[d]].parents)]=c;return d=a.inArray(b.id,this._data.core.selected),-1!==d&&(this._data.core.selected[d]=c),d=this.get_node(b.id,!0),d&&(d.attr("id",c).children(".jstree-anchor").attr("id",c+"_anchor").end().attr("aria-labelledby",c+"_anchor"),this.element.attr("aria-activedescendant")===b.id&&this.element.attr("aria-activedescendant",c)),delete f[b.id],b.id=c,b.li_attr.id=c,f[c]=b,!0},get_text:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.text:!1},set_text:function(b,c){var d,e;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.set_text(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.text=c,this.get_node(b,!0).length&&this.redraw_node(b.id),this.trigger("set_text",{obj:b,text:c}),!0):!1},get_json:function(b,c,d){if(b=this.get_node(b||a.jstree.root),!b)return!1;c&&c.flat&&!d&&(d=[]);var e,f,g={id:b.id,text:b.text,icon:this.get_icon(b),li_attr:a.extend(!0,{},b.li_attr),a_attr:a.extend(!0,{},b.a_attr),state:{},data:c&&c.no_data?!1:a.extend(!0,{},b.data)};if(c&&c.flat?g.parent=b.parent:g.children=[],!c||!c.no_state)for(e in b.state)b.state.hasOwnProperty(e)&&(g.state[e]=b.state[e]);if(c&&c.no_id&&(delete g.id,g.li_attr&&g.li_attr.id&&delete g.li_attr.id,g.a_attr&&g.a_attr.id&&delete g.a_attr.id),c&&c.flat&&b.id!==a.jstree.root&&d.push(g),!c||!c.no_children)for(e=0,f=b.children.length;f>e;e++)c&&c.flat?this.get_json(b.children[e],c,d):g.children.push(this.get_json(b.children[e],c));return c&&c.flat?d:b.id===a.jstree.root?g.children:g},create_node:function(c,d,e,f,g){if(null===c&&(c=a.jstree.root),c=this.get_node(c),!c)return!1;if(e=e===b?"last":e,!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(c))return this.load_node(c,function(){this.create_node(c,d,e,f,!0)});d||(d={text:this.get_string("New node")}),"string"==typeof d&&(d={text:d}),d.text===b&&(d.text=this.get_string("New node"));var h,i,j,k;switch(c.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":h=this.get_node(c.parent),e=a.inArray(c.id,h.children),c=h;break;case"after":h=this.get_node(c.parent),e=a.inArray(c.id,h.children)+1,c=h;break;case"inside":case"first":e=0;break;case"last":e=c.children.length;break;default:e||(e=0)}if(e>c.children.length&&(e=c.children.length),d.id||(d.id=!0),!this.check("create_node",d,c,e))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(d.id===!0&&delete d.id,d=this._parse_model_from_json(d,c.id,c.parents.concat()),!d)return!1;for(h=this.get_node(d),i=[],i.push(d),i=i.concat(h.children_d),this.trigger("model",{nodes:i,parent:c.id}),c.children_d=c.children_d.concat(i),j=0,k=c.parents.length;k>j;j++)this._model.data[c.parents[j]].children_d=this._model.data[c.parents[j]].children_d.concat(i);for(d=h,h=[],j=0,k=c.children.length;k>j;j++)h[j>=e?j+1:j]=c.children[j];return h[e]=d.id,c.children=h,this.redraw_node(c,!0),f&&f.call(this,this.get_node(d)),this.trigger("create_node",{node:this.get_node(d),parent:c.id,position:e}),d.id},rename_node:function(b,c){var d,e,f;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.rename_node(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=b.text,this.check("rename_node",b,this.get_parent(b),c)?(this.set_text(b,c),this.trigger("rename_node",{node:b,text:c,old:f}),!0):(this.settings.core.error.call(this,this._data.core.last_error),!1)):!1},delete_node:function(b){var c,d,e,f,g,h,i,j,k,l,m,n;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.delete_node(b[c]);return!0}if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;if(e=this.get_node(b.parent),f=a.inArray(b.id,e.children),l=!1,!this.check("delete_node",b,e,f))return this.settings.core.error.call(this,this._data.core.last_error),!1;for(-1!==f&&(e.children=a.vakata.array_remove(e.children,f)),g=b.children_d.concat([]),g.push(b.id),j=0,k=g.length;k>j;j++){for(h=0,i=b.parents.length;i>h;h++)f=a.inArray(g[j],this._model.data[b.parents[h]].children_d),-1!==f&&(this._model.data[b.parents[h]].children_d=a.vakata.array_remove(this._model.data[b.parents[h]].children_d,f));this._model.data[g[j]].state.selected&&(l=!0,f=a.inArray(g[j],this._data.core.selected),-1!==f&&(this._data.core.selected=a.vakata.array_remove(this._data.core.selected,f)))}for(this.trigger("delete_node",{node:b,parent:e.id}),l&&this.trigger("changed",{action:"delete_node",node:b,selected:this._data.core.selected,parent:e.id}),j=0,k=g.length;k>j;j++)delete this._model.data[g[j]];return-1!==a.inArray(this._data.core.focused,g)&&(this._data.core.focused=null,m=this.element[0].scrollTop,n=this.element[0].scrollLeft,e.id===a.jstree.root?this.get_node(this._model.data[a.jstree.root].children[0],!0).children(".jstree-anchor").focus():this.get_node(e,!0).children(".jstree-anchor").focus(),this.element[0].scrollTop=m,this.element[0].scrollLeft=n),this.redraw_node(e,!0),!0},check:function(b,c,d,e,f){c=c&&c.id?c:this.get_node(c),d=d&&d.id?d:this.get_node(d);var g=b.match(/^move_node|copy_node|create_node$/i)?d:c,h=this.settings.core.check_callback;return"move_node"!==b&&"copy_node"!==b||f&&f.is_multi||c.id!==d.id&&a.inArray(c.id,d.children)!==e&&-1===a.inArray(d.id,c.children_d)?(g&&g.data&&(g=g.data),g&&g.functions&&(g.functions[b]===!1||g.functions[b]===!0)?(g.functions[b]===!1&&(this._data.core.last_error={error:"check",plugin:"core",id:"core_02",reason:"Node data prevents function: "+b,data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})}),g.functions[b]):h===!1||a.isFunction(h)&&h.call(this,b,c,d,e,f)===!1||h&&h[b]===!1?(this._data.core.last_error={error:"check",plugin:"core",id:"core_03",reason:"User config for core.check_callback prevents function: "+b,data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})},!1):!0):(this._data.core.last_error={error:"check",plugin:"core",id:"core_01",reason:"Moving parent inside child",data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})},!1)},last_error:function(){return this._data.core.last_error},move_node:function(c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s,t,u,v,w;if(d=this.get_node(d),e=e===b?0:e,!d)return!1;if(!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(d))return this.load_node(d,function(){this.move_node(c,d,e,f,!0,!1,i)});if(a.isArray(c)){if(1!==c.length){for(j=0,k=c.length;k>j;j++)(r=this.move_node(c[j],d,e,f,g,!1,i))&&(d=r,e="after");return this.redraw(),!0}c=c[0]}if(c=c&&c.id?c:this.get_node(c),!c||c.id===a.jstree.root)return!1;if(l=(c.parent||a.jstree.root).toString(),n=e.toString().match(/^(before|after)$/)&&d.id!==a.jstree.root?this.get_node(d.parent):d,o=i?i:this._model.data[c.id]?this:a.jstree.reference(c.id),p=!o||!o._id||this._id!==o._id,m=o&&o._id&&l&&o._model.data[l]&&o._model.data[l].children?a.inArray(c.id,o._model.data[l].children):-1,o&&o._id&&(c=o._model.data[c.id]),p)return(r=this.copy_node(c,d,e,f,g,!1,i))?(o&&o.delete_node(c),r):!1;switch(d.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":e=a.inArray(d.id,n.children);break;case"after":e=a.inArray(d.id,n.children)+1;break;case"inside":case"first":e=0;break;case"last":e=n.children.length;break;default:e||(e=0)}if(e>n.children.length&&(e=n.children.length),!this.check("move_node",c,n,e,{core:!0,origin:i,is_multi:o&&o._id&&o._id!==this._id,is_foreign:!o||!o._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(c.parent===n.id){for(q=n.children.concat(),r=a.inArray(c.id,q),-1!==r&&(q=a.vakata.array_remove(q,r),e>r&&e--),r=[],s=0,t=q.length;t>s;s++)r[s>=e?s+1:s]=q[s];r[e]=c.id,n.children=r,this._node_changed(n.id),this.redraw(n.id===a.jstree.root)}else{for(r=c.children_d.concat(),r.push(c.id),s=0,t=c.parents.length;t>s;s++){for(q=[],w=o._model.data[c.parents[s]].children_d,u=0,v=w.length;v>u;u++)-1===a.inArray(w[u],r)&&q.push(w[u]);o._model.data[c.parents[s]].children_d=q}for(o._model.data[l].children=a.vakata.array_remove_item(o._model.data[l].children,c.id),s=0,t=n.parents.length;t>s;s++)this._model.data[n.parents[s]].children_d=this._model.data[n.parents[s]].children_d.concat(r);for(q=[],s=0,t=n.children.length;t>s;s++)q[s>=e?s+1:s]=n.children[s];for(q[e]=c.id,n.children=q,n.children_d.push(c.id),n.children_d=n.children_d.concat(c.children_d),c.parent=n.id,r=n.parents.concat(),r.unshift(n.id),w=c.parents.length,c.parents=r,r=r.concat(),s=0,t=c.children_d.length;t>s;s++)this._model.data[c.children_d[s]].parents=this._model.data[c.children_d[s]].parents.slice(0,-1*w),Array.prototype.push.apply(this._model.data[c.children_d[s]].parents,r);(l===a.jstree.root||n.id===a.jstree.root)&&(this._model.force_full_redraw=!0),this._model.force_full_redraw||(this._node_changed(l),this._node_changed(n.id)),h||this.redraw()}return f&&f.call(this,c,n,e),this.trigger("move_node",{node:c,parent:n.id,position:e,old_parent:l,old_position:m,is_multi:o&&o._id&&o._id!==this._id,is_foreign:!o||!o._id,old_instance:o,new_instance:this}),c.id},copy_node:function(c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s,t;if(d=this.get_node(d),e=e===b?0:e,!d)return!1;if(!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(d))return this.load_node(d,function(){this.copy_node(c,d,e,f,!0,!1,i)});if(a.isArray(c)){if(1!==c.length){for(j=0,k=c.length;k>j;j++)(m=this.copy_node(c[j],d,e,f,g,!0,i))&&(d=m,e="after");return this.redraw(),!0}c=c[0]}if(c=c&&c.id?c:this.get_node(c),!c||c.id===a.jstree.root)return!1;switch(q=(c.parent||a.jstree.root).toString(),r=e.toString().match(/^(before|after)$/)&&d.id!==a.jstree.root?this.get_node(d.parent):d,s=i?i:this._model.data[c.id]?this:a.jstree.reference(c.id),t=!s||!s._id||this._id!==s._id,s&&s._id&&(c=s._model.data[c.id]),d.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":e=a.inArray(d.id,r.children);break;case"after":e=a.inArray(d.id,r.children)+1;break;case"inside":case"first":e=0;break;case"last":e=r.children.length;break;default:e||(e=0)}if(e>r.children.length&&(e=r.children.length),!this.check("copy_node",c,r,e,{core:!0,origin:i,is_multi:s&&s._id&&s._id!==this._id,is_foreign:!s||!s._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(p=s?s.get_json(c,{no_id:!0,no_data:!0,no_state:!0}):c,!p)return!1;if(p.id===!0&&delete p.id,p=this._parse_model_from_json(p,r.id,r.parents.concat()),!p)return!1;for(m=this.get_node(p),c&&c.state&&c.state.loaded===!1&&(m.state.loaded=!1),l=[],l.push(p),l=l.concat(m.children_d),this.trigger("model",{nodes:l,parent:r.id}),n=0,o=r.parents.length;o>n;n++)this._model.data[r.parents[n]].children_d=this._model.data[r.parents[n]].children_d.concat(l);for(l=[],n=0,o=r.children.length;o>n;n++)l[n>=e?n+1:n]=r.children[n];return l[e]=m.id,r.children=l,r.children_d.push(m.id),r.children_d=r.children_d.concat(m.children_d),r.id===a.jstree.root&&(this._model.force_full_redraw=!0),this._model.force_full_redraw||this._node_changed(r.id),h||this.redraw(r.id===a.jstree.root),f&&f.call(this,m,r,e),this.trigger("copy_node",{node:m,original:c,parent:r.id,position:e,old_parent:q,old_position:s&&s._id&&q&&s._model.data[q]&&s._model.data[q].children?a.inArray(c.id,s._model.data[q].children):-1,is_multi:s&&s._id&&s._id!==this._id,is_foreign:!s||!s._id,old_instance:s,new_instance:this}),m.id},cut:function(b){if(b||(b=this._data.core.selected.concat()),a.isArray(b)||(b=[b]),!b.length)return!1;var c,d,e,i=[];for(d=0,e=b.length;e>d;d++)c=this.get_node(b[d]),c&&c.id&&c.id!==a.jstree.root&&i.push(c);return i.length?(f=i,h=this,g="move_node",void this.trigger("cut",{node:b})):!1},copy:function(b){if(b||(b=this._data.core.selected.concat()),a.isArray(b)||(b=[b]),!b.length)return!1;var c,d,e,i=[];for(d=0,e=b.length;e>d;d++)c=this.get_node(b[d]),c&&c.id&&c.id!==a.jstree.root&&i.push(c);return i.length?(f=i,h=this,g="copy_node",void this.trigger("copy",{node:b})):!1},get_buffer:function(){return{mode:g,node:f,inst:h}},can_paste:function(){return g!==!1&&f!==!1},paste:function(a,b){return a=this.get_node(a),a&&g&&g.match(/^(copy_node|move_node)$/)&&f?(this[g](f,a,b,!1,!1,!1,h)&&this.trigger("paste",{parent:a.id,node:f,mode:g}),f=!1,g=!1,void(h=!1)):!1},clear_buffer:function(){f=!1,g=!1,h=!1,this.trigger("clear_buffer")},edit:function(b,c,d){var e,f,g,h,i,j,k,l,m,n=!1;return(b=this.get_node(b))?this.settings.core.check_callback===!1?(this._data.core.last_error={error:"check",plugin:"core",id:"core_07",reason:"Could not edit node because of check_callback"},this.settings.core.error.call(this,this._data.core.last_error),!1):(m=b,c="string"==typeof c?c:b.text,this.set_text(b,""),b=this._open_to(b),m.text=c,e=this._data.core.rtl,f=this.element.width(),this._data.core.focused=m.id,g=b.children(".jstree-anchor").focus(),h=a("<span>"),i=c,j=a("<div />",{css:{position:"absolute",top:"-200px",left:e?"0px":"-1000px",visibility:"hidden"}}).appendTo("body"),k=a("<input />",{value:i,"class":"jstree-rename-input",css:{padding:"0",border:"1px solid silver","box-sizing":"border-box",display:"inline-block",height:this._data.core.li_height+"px",lineHeight:this._data.core.li_height+"px",width:"150px"},blur:a.proxy(function(c){c.stopImmediatePropagation(),c.preventDefault();var e,f=h.children(".jstree-rename-input"),k=f.val(),l=this.settings.core.force_text;""===k&&(k=i),j.remove(),h.replaceWith(g),h.remove(),i=l?i:a("<div></div>").append(a.parseHTML(i)).html(),this.set_text(b,i),e=!!this.rename_node(b,l?a("<div></div>").text(k).text():a("<div></div>").append(a.parseHTML(k)).html()),e||this.set_text(b,i),this._data.core.focused=m.id,setTimeout(a.proxy(function(){var a=this.get_node(m.id,!0);a.length&&(this._data.core.focused=m.id,a.children(".jstree-anchor").focus())},this),0),d&&d.call(this,m,e,n)},this),keydown:function(a){var b=a.which;27===b&&(n=!0,this.value=i),(27===b||13===b||37===b||38===b||39===b||40===b||32===b)&&a.stopImmediatePropagation(),(27===b||13===b)&&(a.preventDefault(),this.blur())},click:function(a){a.stopImmediatePropagation()},mousedown:function(a){a.stopImmediatePropagation()},keyup:function(a){k.width(Math.min(j.text("pW"+this.value).width(),f))},keypress:function(a){return 13===a.which?!1:void 0}}),l={fontFamily:g.css("fontFamily")||"",fontSize:g.css("fontSize")||"",fontWeight:g.css("fontWeight")||"",fontStyle:g.css("fontStyle")||"",fontStretch:g.css("fontStretch")||"",fontVariant:g.css("fontVariant")||"",letterSpacing:g.css("letterSpacing")||"",wordSpacing:g.css("wordSpacing")||""},h.attr("class",g.attr("class")).append(g.contents().clone()).append(k),g.replaceWith(h),j.css(l),void k.css(l).width(Math.min(j.text("pW"+k[0].value).width(),f))[0].select()):!1},set_theme:function(b,c){if(!b)return!1;if(c===!0){var d=this.settings.core.themes.dir;d||(d=a.jstree.path+"/themes"),c=d+"/"+b+"/style.css"}c&&-1===a.inArray(c,i)&&(a("head").append('<link rel="stylesheet" href="'+c+'" type="text/css" />'),i.push(c)),this._data.core.themes.name&&this.element.removeClass("jstree-"+this._data.core.themes.name),this._data.core.themes.name=b,this.element.addClass("jstree-"+b),this.element[this.settings.core.themes.responsive?"addClass":"removeClass"]("jstree-"+b+"-responsive"),this.trigger("set_theme",{theme:b})},get_theme:function(){return this._data.core.themes.name},set_theme_variant:function(a){this._data.core.themes.variant&&this.element.removeClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant),this._data.core.themes.variant=a,a&&this.element.addClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant)},get_theme_variant:function(){return this._data.core.themes.variant},show_stripes:function(){this._data.core.themes.stripes=!0,this.get_container_ul().addClass("jstree-striped")},hide_stripes:function(){this._data.core.themes.stripes=!1,this.get_container_ul().removeClass("jstree-striped")},toggle_stripes:function(){this._data.core.themes.stripes?this.hide_stripes():this.show_stripes()},show_dots:function(){this._data.core.themes.dots=!0,this.get_container_ul().removeClass("jstree-no-dots")},hide_dots:function(){this._data.core.themes.dots=!1,this.get_container_ul().addClass("jstree-no-dots")},toggle_dots:function(){this._data.core.themes.dots?this.hide_dots():this.show_dots()},show_icons:function(){this._data.core.themes.icons=!0,this.get_container_ul().removeClass("jstree-no-icons")},hide_icons:function(){this._data.core.themes.icons=!1,this.get_container_ul().addClass("jstree-no-icons")},toggle_icons:function(){this._data.core.themes.icons?this.hide_icons():this.show_icons()},set_icon:function(c,d){var e,f,g,h;if(a.isArray(c)){for(c=c.slice(),e=0,f=c.length;f>e;e++)this.set_icon(c[e],d);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?(h=c.icon,c.icon=d===!0||null===d||d===b||""===d?!0:d,g=this.get_node(c,!0).children(".jstree-anchor").children(".jstree-themeicon"),d===!1?this.hide_icon(c):d===!0||null===d||d===b||""===d?(g.removeClass("jstree-themeicon-custom "+h).css("background","").removeAttr("rel"),h===!1&&this.show_icon(c)):-1===d.indexOf("/")&&-1===d.indexOf(".")?(g.removeClass(h).css("background",""),g.addClass(d+" jstree-themeicon-custom").attr("rel",d),h===!1&&this.show_icon(c)):(g.removeClass(h).css("background",""),g.addClass("jstree-themeicon-custom").css("background","url('"+d+"') center center no-repeat").attr("rel",d),h===!1&&this.show_icon(c)),!0):!1},get_icon:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.icon:!1},hide_icon:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.hide_icon(b[c]);return!0}return b=this.get_node(b),b&&b!==a.jstree.root?(b.icon=!1,this.get_node(b,!0).children(".jstree-anchor").children(".jstree-themeicon").addClass("jstree-themeicon-hidden"),!0):!1},show_icon:function(b){var c,d,e;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.show_icon(b[c]);return!0}return b=this.get_node(b),b&&b!==a.jstree.root?(e=this.get_node(b,!0),b.icon=e.length?e.children(".jstree-anchor").children(".jstree-themeicon").attr("rel"):!0,b.icon||(b.icon=!0),e.children(".jstree-anchor").children(".jstree-themeicon").removeClass("jstree-themeicon-hidden"),!0):!1}},a.vakata={},a.vakata.attributes=function(b,c){b=a(b)[0];var d=c?{}:[];return b&&b.attributes&&a.each(b.attributes,function(b,e){-1===a.inArray(e.name.toLowerCase(),["style","contenteditable","hasfocus","tabindex"])&&null!==e.value&&""!==a.trim(e.value)&&(c?d[e.name]=e.value:d.push(e.name))}),d},a.vakata.array_unique=function(a){var c,d,e=[],f={};for(c=0,d=a.length;d>c;c++)f[a[c]]===b&&(e.push(a[c]),f[a[c]]=!0);return e},a.vakata.array_remove=function(a,b,c){var d=a.slice((c||b)+1||a.length);return a.length=0>b?a.length+b:b,a.push.apply(a,d),a},a.vakata.array_remove_item=function(b,c){var d=a.inArray(c,b);return-1!==d?a.vakata.array_remove(b,d):b},a.jstree.plugins.changed=function(a,b){var c=[];this.trigger=function(a,d){var e,f;if(d||(d={}),"changed"===a.replace(".jstree","")){d.changed={selected:[],deselected:[]};var g={};for(e=0,f=c.length;f>e;e++)g[c[e]]=1;for(e=0,f=d.selected.length;f>e;e++)g[d.selected[e]]?g[d.selected[e]]=2:d.changed.selected.push(d.selected[e]);for(e=0,f=c.length;f>e;e++)1===g[c[e]]&&d.changed.deselected.push(c[e]);c=d.selected.slice()}b.trigger.call(this,a,d)},this.refresh=function(a,d){return c=[],b.refresh.apply(this,arguments)}};var m=k.createElement("I");m.className="jstree-icon jstree-checkbox",m.setAttribute("role","presentation"),a.jstree.defaults.checkbox={visible:!0,three_state:!0,whole_node:!0,keep_selected_style:!0,cascade:"",tie_selection:!0},a.jstree.plugins.checkbox=function(c,d){this.bind=function(){d.bind.call(this),this._data.checkbox.uto=!1,this._data.checkbox.selected=[],this.settings.checkbox.three_state&&(this.settings.checkbox.cascade="up+down+undetermined"),this.element.on("init.jstree",a.proxy(function(){this._data.checkbox.visible=this.settings.checkbox.visible,this.settings.checkbox.keep_selected_style||this.element.addClass("jstree-checkbox-no-clicked"),this.settings.checkbox.tie_selection&&this.element.addClass("jstree-checkbox-selection")},this)).on("loading.jstree",a.proxy(function(){this[this._data.checkbox.visible?"show_checkboxes":"hide_checkboxes"]()},this)),-1!==this.settings.checkbox.cascade.indexOf("undetermined")&&this.element.on("changed.jstree uncheck_node.jstree check_node.jstree uncheck_all.jstree check_all.jstree move_node.jstree copy_node.jstree redraw.jstree open_node.jstree",a.proxy(function(){this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(a.proxy(this._undetermined,this),50)},this)),this.settings.checkbox.tie_selection||this.element.on("model.jstree",a.proxy(function(a,b){var c,d,e=this._model.data,f=(e[b.parent],b.nodes);for(c=0,d=f.length;d>c;c++)e[f[c]].state.checked=e[f[c]].state.checked||e[f[c]].original&&e[f[c]].original.state&&e[f[c]].original.state.checked,e[f[c]].state.checked&&this._data.checkbox.selected.push(f[c])},this)),(-1!==this.settings.checkbox.cascade.indexOf("up")||-1!==this.settings.checkbox.cascade.indexOf("down"))&&this.element.on("model.jstree",a.proxy(function(b,c){var d,e,f,g,h,i,j=this._model.data,k=j[c.parent],l=c.nodes,m=[],n=this.settings.checkbox.cascade,o=this.settings.checkbox.tie_selection;if(-1!==n.indexOf("down"))if(k.state[o?"selected":"checked"]){for(e=0,f=l.length;f>e;e++)j[l[e]].state[o?"selected":"checked"]=!0;this._data[o?"core":"checkbox"].selected=this._data[o?"core":"checkbox"].selected.concat(l)}else for(e=0,f=l.length;f>e;e++)if(j[l[e]].state[o?"selected":"checked"]){for(g=0,h=j[l[e]].children_d.length;h>g;g++)j[j[l[e]].children_d[g]].state[o?"selected":"checked"]=!0;this._data[o?"core":"checkbox"].selected=this._data[o?"core":"checkbox"].selected.concat(j[l[e]].children_d)}if(-1!==n.indexOf("up")){for(e=0,f=k.children_d.length;f>e;e++)j[k.children_d[e]].children.length||m.push(j[k.children_d[e]].parent);for(m=a.vakata.array_unique(m),g=0,h=m.length;h>g;g++)for(k=j[m[g]];k&&k.id!==a.jstree.root;){for(d=0,e=0,f=k.children.length;f>e;e++)d+=j[k.children[e]].state[o?"selected":"checked"];if(d!==f)break;k.state[o?"selected":"checked"]=!0,this._data[o?"core":"checkbox"].selected.push(k.id),i=this.get_node(k,!0),i&&i.length&&i.attr("aria-selected",!0).children(".jstree-anchor").addClass(o?"jstree-clicked":"jstree-checked"),k=this.get_node(k.parent)}}this._data[o?"core":"checkbox"].selected=a.vakata.array_unique(this._data[o?"core":"checkbox"].selected)},this)).on(this.settings.checkbox.tie_selection?"select_node.jstree":"check_node.jstree",a.proxy(function(b,c){var d,e,f,g,h=c.node,i=this._model.data,j=this.get_node(h.parent),k=this.get_node(h,!0),l=this.settings.checkbox.cascade,m=this.settings.checkbox.tie_selection;if(-1!==l.indexOf("down"))for(this._data[m?"core":"checkbox"].selected=a.vakata.array_unique(this._data[m?"core":"checkbox"].selected.concat(h.children_d)),d=0,e=h.children_d.length;e>d;d++)g=i[h.children_d[d]],g.state[m?"selected":"checked"]=!0,g&&g.original&&g.original.state&&g.original.state.undetermined&&(g.original.state.undetermined=!1);if(-1!==l.indexOf("up"))for(;j&&j.id!==a.jstree.root;){for(f=0,d=0,e=j.children.length;e>d;d++)f+=i[j.children[d]].state[m?"selected":"checked"];if(f!==e)break;j.state[m?"selected":"checked"]=!0,this._data[m?"core":"checkbox"].selected.push(j.id),g=this.get_node(j,!0),g&&g.length&&g.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"),j=this.get_node(j.parent)}-1!==l.indexOf("down")&&k.length&&k.find(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked").parent().attr("aria-selected",!0)},this)).on(this.settings.checkbox.tie_selection?"deselect_all.jstree":"uncheck_all.jstree",a.proxy(function(b,c){var d,e,f,g=this.get_node(a.jstree.root),h=this._model.data;for(d=0,e=g.children_d.length;e>d;d++)f=h[g.children_d[d]],f&&f.original&&f.original.state&&f.original.state.undetermined&&(f.original.state.undetermined=!1)},this)).on(this.settings.checkbox.tie_selection?"deselect_node.jstree":"uncheck_node.jstree",a.proxy(function(b,c){var d,e,f,g=c.node,h=this.get_node(g,!0),i=this.settings.checkbox.cascade,j=this.settings.checkbox.tie_selection;if(g&&g.original&&g.original.state&&g.original.state.undetermined&&(g.original.state.undetermined=!1),-1!==i.indexOf("down"))for(d=0,e=g.children_d.length;e>d;d++)f=this._model.data[g.children_d[d]],f.state[j?"selected":"checked"]=!1,f&&f.original&&f.original.state&&f.original.state.undetermined&&(f.original.state.undetermined=!1);if(-1!==i.indexOf("up"))for(d=0,e=g.parents.length;e>d;d++)f=this._model.data[g.parents[d]],f.state[j?"selected":"checked"]=!1,f&&f.original&&f.original.state&&f.original.state.undetermined&&(f.original.state.undetermined=!1),f=this.get_node(g.parents[d],!0),f&&f.length&&f.attr("aria-selected",!1).children(".jstree-anchor").removeClass(j?"jstree-clicked":"jstree-checked");for(f=[],d=0,e=this._data[j?"core":"checkbox"].selected.length;e>d;d++)-1!==i.indexOf("down")&&-1!==a.inArray(this._data[j?"core":"checkbox"].selected[d],g.children_d)||-1!==i.indexOf("up")&&-1!==a.inArray(this._data[j?"core":"checkbox"].selected[d],g.parents)||f.push(this._data[j?"core":"checkbox"].selected[d]);this._data[j?"core":"checkbox"].selected=a.vakata.array_unique(f),-1!==i.indexOf("down")&&h.length&&h.find(".jstree-anchor").removeClass(j?"jstree-clicked":"jstree-checked").parent().attr("aria-selected",!1)},this)),-1!==this.settings.checkbox.cascade.indexOf("up")&&this.element.on("delete_node.jstree",a.proxy(function(b,c){for(var d,e,f,g,h=this.get_node(c.parent),i=this._model.data,j=this.settings.checkbox.tie_selection;h&&h.id!==a.jstree.root&&!h.state[j?"selected":"checked"];){for(f=0,d=0,e=h.children.length;e>d;d++)f+=i[h.children[d]].state[j?"selected":"checked"];if(!(e>0&&f===e))break;h.state[j?"selected":"checked"]=!0,this._data[j?"core":"checkbox"].selected.push(h.id),g=this.get_node(h,!0),g&&g.length&&g.attr("aria-selected",!0).children(".jstree-anchor").addClass(j?"jstree-clicked":"jstree-checked"),h=this.get_node(h.parent)}},this)).on("move_node.jstree",a.proxy(function(b,c){var d,e,f,g,h,i=c.is_multi,j=c.old_parent,k=this.get_node(c.parent),l=this._model.data,m=this.settings.checkbox.tie_selection;if(!i)for(d=this.get_node(j);d&&d.id!==a.jstree.root&&!d.state[m?"selected":"checked"];){for(e=0,f=0,g=d.children.length;g>f;f++)e+=l[d.children[f]].state[m?"selected":"checked"];if(!(g>0&&e===g))break;d.state[m?"selected":"checked"]=!0,this._data[m?"core":"checkbox"].selected.push(d.id),h=this.get_node(d,!0),h&&h.length&&h.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"),d=this.get_node(d.parent)}for(d=k;d&&d.id!==a.jstree.root;){for(e=0,f=0,g=d.children.length;g>f;f++)e+=l[d.children[f]].state[m?"selected":"checked"];if(e===g)d.state[m?"selected":"checked"]||(d.state[m?"selected":"checked"]=!0,this._data[m?"core":"checkbox"].selected.push(d.id),h=this.get_node(d,!0),h&&h.length&&h.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"));else{if(!d.state[m?"selected":"checked"])break;d.state[m?"selected":"checked"]=!1,this._data[m?"core":"checkbox"].selected=a.vakata.array_remove_item(this._data[m?"core":"checkbox"].selected,d.id),h=this.get_node(d,!0),h&&h.length&&h.attr("aria-selected",!1).children(".jstree-anchor").removeClass(m?"jstree-clicked":"jstree-checked")}d=this.get_node(d.parent)}},this))},this._undetermined=function(){if(null!==this.element){var c,d,e,f,g={},h=this._model.data,i=this.settings.checkbox.tie_selection,j=this._data[i?"core":"checkbox"].selected,k=[],l=this;
-for(c=0,d=j.length;d>c;c++)if(h[j[c]]&&h[j[c]].parents)for(e=0,f=h[j[c]].parents.length;f>e;e++)g[h[j[c]].parents[e]]===b&&h[j[c]].parents[e]!==a.jstree.root&&(g[h[j[c]].parents[e]]=!0,k.push(h[j[c]].parents[e]));for(this.element.find(".jstree-closed").not(":has(.jstree-children)").each(function(){var i,j=l.get_node(this);if(j.state.loaded){for(c=0,d=j.children_d.length;d>c;c++)if(i=h[j.children_d[c]],!i.state.loaded&&i.original&&i.original.state&&i.original.state.undetermined&&i.original.state.undetermined===!0)for(g[i.id]===b&&i.id!==a.jstree.root&&(g[i.id]=!0,k.push(i.id)),e=0,f=i.parents.length;f>e;e++)g[i.parents[e]]===b&&i.parents[e]!==a.jstree.root&&(g[i.parents[e]]=!0,k.push(i.parents[e]))}else if(j.original&&j.original.state&&j.original.state.undetermined&&j.original.state.undetermined===!0)for(g[j.id]===b&&j.id!==a.jstree.root&&(g[j.id]=!0,k.push(j.id)),e=0,f=j.parents.length;f>e;e++)g[j.parents[e]]===b&&j.parents[e]!==a.jstree.root&&(g[j.parents[e]]=!0,k.push(j.parents[e]))}),this.element.find(".jstree-undetermined").removeClass("jstree-undetermined"),c=0,d=k.length;d>c;c++)h[k[c]].state[i?"selected":"checked"]||(j=this.get_node(k[c],!0),j&&j.length&&j.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-undetermined"))}},this.redraw_node=function(b,c,e,f){if(b=d.redraw_node.apply(this,arguments)){var g,h,i=null,j=null;for(g=0,h=b.childNodes.length;h>g;g++)if(b.childNodes[g]&&b.childNodes[g].className&&-1!==b.childNodes[g].className.indexOf("jstree-anchor")){i=b.childNodes[g];break}i&&(!this.settings.checkbox.tie_selection&&this._model.data[b.id].state.checked&&(i.className+=" jstree-checked"),j=m.cloneNode(!1),this._model.data[b.id].state.checkbox_disabled&&(j.className+=" jstree-checkbox-disabled"),i.insertBefore(j,i.childNodes[0]))}return e||-1===this.settings.checkbox.cascade.indexOf("undetermined")||(this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(a.proxy(this._undetermined,this),50)),b},this.show_checkboxes=function(){this._data.core.themes.checkboxes=!0,this.get_container_ul().removeClass("jstree-no-checkboxes")},this.hide_checkboxes=function(){this._data.core.themes.checkboxes=!1,this.get_container_ul().addClass("jstree-no-checkboxes")},this.toggle_checkboxes=function(){this._data.core.themes.checkboxes?this.hide_checkboxes():this.show_checkboxes()},this.is_undetermined=function(b){b=this.get_node(b);var c,d,e=this.settings.checkbox.cascade,f=this.settings.checkbox.tie_selection,g=this._data[f?"core":"checkbox"].selected,h=this._model.data;if(!b||b.state[f?"selected":"checked"]===!0||-1===e.indexOf("undetermined")||-1===e.indexOf("down")&&-1===e.indexOf("up"))return!1;if(!b.state.loaded&&b.original.state.undetermined===!0)return!0;for(c=0,d=b.children_d.length;d>c;c++)if(-1!==a.inArray(b.children_d[c],g)||!h[b.children_d[c]].state.loaded&&h[b.children_d[c]].original.state.undetermined)return!0;return!1},this.disable_checkbox=function(b){var c,d,e;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.disable_checkbox(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(e=this.get_node(b,!0),void(b.state.checkbox_disabled||(b.state.checkbox_disabled=!0,e&&e.length&&e.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-checkbox-disabled"),this.trigger("disable_checkbox",{node:b})))):!1},this.enable_checkbox=function(b){var c,d,e;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.enable_checkbox(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(e=this.get_node(b,!0),void(b.state.checkbox_disabled&&(b.state.checkbox_disabled=!1,e&&e.length&&e.children(".jstree-anchor").children(".jstree-checkbox").removeClass("jstree-checkbox-disabled"),this.trigger("enable_checkbox",{node:b})))):!1},this.activate_node=function(b,c){return a(c.target).hasClass("jstree-checkbox-disabled")?!1:(this.settings.checkbox.tie_selection&&(this.settings.checkbox.whole_node||a(c.target).hasClass("jstree-checkbox"))&&(c.ctrlKey=!0),this.settings.checkbox.tie_selection||!this.settings.checkbox.whole_node&&!a(c.target).hasClass("jstree-checkbox")?d.activate_node.call(this,b,c):this.is_disabled(b)?!1:(this.is_checked(b)?this.uncheck_node(b,c):this.check_node(b,c),void this.trigger("activate_node",{node:this.get_node(b)})))},this.check_node=function(b,c){if(this.settings.checkbox.tie_selection)return this.select_node(b,!1,!0,c);var d,e,f;if(a.isArray(b)){for(b=b.slice(),e=0,f=b.length;f>e;e++)this.check_node(b[e],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(d=this.get_node(b,!0),void(b.state.checked||(b.state.checked=!0,this._data.checkbox.selected.push(b.id),d&&d.length&&d.children(".jstree-anchor").addClass("jstree-checked"),this.trigger("check_node",{node:b,selected:this._data.checkbox.selected,event:c})))):!1},this.uncheck_node=function(b,c){if(this.settings.checkbox.tie_selection)return this.deselect_node(b,!1,c);var d,e,f;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.uncheck_node(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=this.get_node(b,!0),void(b.state.checked&&(b.state.checked=!1,this._data.checkbox.selected=a.vakata.array_remove_item(this._data.checkbox.selected,b.id),f.length&&f.children(".jstree-anchor").removeClass("jstree-checked"),this.trigger("uncheck_node",{node:b,selected:this._data.checkbox.selected,event:c})))):!1},this.check_all=function(){if(this.settings.checkbox.tie_selection)return this.select_all();var b,c;this._data.checkbox.selected.concat([]);for(this._data.checkbox.selected=this._model.data[a.jstree.root].children_d.concat(),b=0,c=this._data.checkbox.selected.length;c>b;b++)this._model.data[this._data.checkbox.selected[b]]&&(this._model.data[this._data.checkbox.selected[b]].state.checked=!0);this.redraw(!0),this.trigger("check_all",{selected:this._data.checkbox.selected})},this.uncheck_all=function(){if(this.settings.checkbox.tie_selection)return this.deselect_all();var a,b,c=this._data.checkbox.selected.concat([]);for(a=0,b=this._data.checkbox.selected.length;b>a;a++)this._model.data[this._data.checkbox.selected[a]]&&(this._model.data[this._data.checkbox.selected[a]].state.checked=!1);this._data.checkbox.selected=[],this.element.find(".jstree-checked").removeClass("jstree-checked"),this.trigger("uncheck_all",{selected:this._data.checkbox.selected,node:c})},this.is_checked=function(b){return this.settings.checkbox.tie_selection?this.is_selected(b):(b=this.get_node(b),b&&b.id!==a.jstree.root?b.state.checked:!1)},this.get_checked=function(b){return this.settings.checkbox.tie_selection?this.get_selected(b):b?a.map(this._data.checkbox.selected,a.proxy(function(a){return this.get_node(a)},this)):this._data.checkbox.selected},this.get_top_checked=function(b){if(this.settings.checkbox.tie_selection)return this.get_top_selected(b);var c,d,e,f,g=this.get_checked(!0),h={};for(c=0,d=g.length;d>c;c++)h[g[c].id]=g[c];for(c=0,d=g.length;d>c;c++)for(e=0,f=g[c].children_d.length;f>e;e++)h[g[c].children_d[e]]&&delete h[g[c].children_d[e]];g=[];for(c in h)h.hasOwnProperty(c)&&g.push(c);return b?a.map(g,a.proxy(function(a){return this.get_node(a)},this)):g},this.get_bottom_checked=function(b){if(this.settings.checkbox.tie_selection)return this.get_bottom_selected(b);var c,d,e=this.get_checked(!0),f=[];for(c=0,d=e.length;d>c;c++)e[c].children.length||f.push(e[c].id);return b?a.map(f,a.proxy(function(a){return this.get_node(a)},this)):f},this.load_node=function(b,c){var e,f,g,h;if(!a.isArray(b)&&!this.settings.checkbox.tie_selection&&(h=this.get_node(b),h&&h.state.loaded))for(e=0,f=h.children_d.length;f>e;e++)this._model.data[h.children_d[e]].state.checked&&(g=!0,this._data.checkbox.selected=a.vakata.array_remove_item(this._data.checkbox.selected,h.children_d[e]));return d.load_node.apply(this,arguments)},this.get_state=function(){var a=d.get_state.apply(this,arguments);return this.settings.checkbox.tie_selection?a:(a.checkbox=this._data.checkbox.selected.slice(),a)},this.set_state=function(b,c){var e=d.set_state.apply(this,arguments);if(e&&b.checkbox){if(!this.settings.checkbox.tie_selection){this.uncheck_all();var f=this;a.each(b.checkbox,function(a,b){f.check_node(b)})}return delete b.checkbox,this.set_state(b,c),!1}return e},this.refresh=function(a,b){return this.settings.checkbox.tie_selection||(this._data.checkbox.selected=[]),d.refresh.apply(this,arguments)}},a.jstree.defaults.conditionalselect=function(){return!0},a.jstree.plugins.conditionalselect=function(a,b){this.activate_node=function(a,c){this.settings.conditionalselect.call(this,this.get_node(a),c)&&b.activate_node.call(this,a,c)}},a.jstree.defaults.contextmenu={select_node:!0,show_at_node:!0,items:function(b,c){return{create:{separator_before:!1,separator_after:!0,_disabled:!1,label:"Create",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.create_node(d,{},"last",function(a){setTimeout(function(){c.edit(a)},0)})}},rename:{separator_before:!1,separator_after:!1,_disabled:!1,label:"Rename",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.edit(d)}},remove:{separator_before:!1,icon:!1,separator_after:!1,_disabled:!1,label:"Delete",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.delete_node(c.get_selected()):c.delete_node(d)}},ccp:{separator_before:!0,icon:!1,separator_after:!1,label:"Edit",action:!1,submenu:{cut:{separator_before:!1,separator_after:!1,label:"Cut",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.cut(c.get_top_selected()):c.cut(d)}},copy:{separator_before:!1,icon:!1,separator_after:!1,label:"Copy",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.copy(c.get_top_selected()):c.copy(d)}},paste:{separator_before:!1,icon:!1,_disabled:function(b){return!a.jstree.reference(b.reference).can_paste()},separator_after:!1,label:"Paste",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.paste(d)}}}}}}},a.jstree.plugins.contextmenu=function(c,d){this.bind=function(){d.bind.call(this);var b,c,e=0,f=null;this.element.on("contextmenu.jstree",".jstree-anchor",a.proxy(function(a,b){a.preventDefault(),e=a.ctrlKey?+new Date:0,(b||f)&&(e=+new Date+1e4),f&&clearTimeout(f),this.is_loading(a.currentTarget)||this.show_contextmenu(a.currentTarget,a.pageX,a.pageY,a)},this)).on("click.jstree",".jstree-anchor",a.proxy(function(b){this._data.contextmenu.visible&&(!e||+new Date-e>250)&&a.vakata.context.hide(),e=0},this)).on("touchstart.jstree",".jstree-anchor",function(d){d.originalEvent&&d.originalEvent.changedTouches&&d.originalEvent.changedTouches[0]&&(b=d.pageX,c=d.pageY,f=setTimeout(function(){a(d.currentTarget).trigger("contextmenu",!0)},750))}).on("touchmove.vakata.jstree",function(a){f&&a.originalEvent&&a.originalEvent.changedTouches&&a.originalEvent.changedTouches[0]&&(Math.abs(b-a.pageX)>50||Math.abs(c-a.pageY)>50)&&clearTimeout(f)}).on("touchend.vakata.jstree",function(a){f&&clearTimeout(f)}),a(k).on("context_hide.vakata.jstree",a.proxy(function(){this._data.contextmenu.visible=!1},this))},this.teardown=function(){this._data.contextmenu.visible&&a.vakata.context.hide(),d.teardown.call(this)},this.show_contextmenu=function(c,d,e,f){if(c=this.get_node(c),!c||c.id===a.jstree.root)return!1;var g=this.settings.contextmenu,h=this.get_node(c,!0),i=h.children(".jstree-anchor"),j=!1,k=!1;(g.show_at_node||d===b||e===b)&&(j=i.offset(),d=j.left,e=j.top+this._data.core.li_height),this.settings.contextmenu.select_node&&!this.is_selected(c)&&this.activate_node(c,f),k=g.items,a.isFunction(k)&&(k=k.call(this,c,a.proxy(function(a){this._show_contextmenu(c,d,e,a)},this))),a.isPlainObject(k)&&this._show_contextmenu(c,d,e,k)},this._show_contextmenu=function(b,c,d,e){var f=this.get_node(b,!0),g=f.children(".jstree-anchor");a(k).one("context_show.vakata.jstree",a.proxy(function(b,c){var d="jstree-contextmenu jstree-"+this.get_theme()+"-contextmenu";a(c.element).addClass(d)},this)),this._data.contextmenu.visible=!0,a.vakata.context.show(g,{x:c,y:d},e),this.trigger("show_contextmenu",{node:b,x:c,y:d})}},function(a){var b=!1,c={element:!1,reference:!1,position_x:0,position_y:0,items:[],html:"",is_visible:!1};a.vakata.context={settings:{hide_onmouseleave:0,icons:!0},_trigger:function(b){a(k).triggerHandler("context_"+b+".vakata",{reference:c.reference,element:c.element,position:{x:c.position_x,y:c.position_y}})},_execute:function(b){return b=c.items[b],b&&(!b._disabled||a.isFunction(b._disabled)&&!b._disabled({item:b,reference:c.reference,element:c.element}))&&b.action?b.action.call(null,{item:b,reference:c.reference,element:c.element,position:{x:c.position_x,y:c.position_y}}):!1},_parse:function(b,d){if(!b)return!1;d||(c.html="",c.items=[]);var e,f="",g=!1;return d&&(f+="<ul>"),a.each(b,function(b,d){return d?(c.items.push(d),!g&&d.separator_before&&(f+="<li class='vakata-context-separator'><a href='#' "+(a.vakata.context.settings.icons?"":'style="margin-left:0px;"')+">&#160;</a></li>"),g=!1,f+="<li class='"+(d._class||"")+(d._disabled===!0||a.isFunction(d._disabled)&&d._disabled({item:d,reference:c.reference,element:c.element})?" vakata-contextmenu-disabled ":"")+"' "+(d.shortcut?" data-shortcut='"+d.shortcut+"' ":"")+">",f+="<a href='#' rel='"+(c.items.length-1)+"'>",a.vakata.context.settings.icons&&(f+="<i ",d.icon&&(f+=-1!==d.icon.indexOf("/")||-1!==d.icon.indexOf(".")?" style='background:url(\""+d.icon+"\") center center no-repeat' ":" class='"+d.icon+"' "),f+="></i><span class='vakata-contextmenu-sep'>&#160;</span>"),f+=(a.isFunction(d.label)?d.label({item:b,reference:c.reference,element:c.element}):d.label)+(d.shortcut?' <span class="vakata-contextmenu-shortcut vakata-contextmenu-shortcut-'+d.shortcut+'">'+(d.shortcut_label||"")+"</span>":"")+"</a>",d.submenu&&(e=a.vakata.context._parse(d.submenu,!0),e&&(f+=e)),f+="</li>",void(d.separator_after&&(f+="<li class='vakata-context-separator'><a href='#' "+(a.vakata.context.settings.icons?"":'style="margin-left:0px;"')+">&#160;</a></li>",g=!0))):!0}),f=f.replace(/<li class\='vakata-context-separator'\><\/li\>$/,""),d&&(f+="</ul>"),d||(c.html=f,a.vakata.context._trigger("parse")),f.length>10?f:!1},_show_submenu:function(c){if(c=a(c),c.length&&c.children("ul").length){var d=c.children("ul"),e=c.offset().left+c.outerWidth(),f=c.offset().top,g=d.width(),h=d.height(),i=a(window).width()+a(window).scrollLeft(),j=a(window).height()+a(window).scrollTop();b?c[e-(g+10+c.outerWidth())<0?"addClass":"removeClass"]("vakata-context-left"):c[e+g+10>i?"addClass":"removeClass"]("vakata-context-right"),f+h+10>j&&d.css("bottom","-1px"),d.show()}},show:function(d,e,f){var g,h,i,j,k,l,m,n,o=!0;switch(c.element&&c.element.length&&c.element.width(""),o){case!e&&!d:return!1;case!!e&&!!d:c.reference=d,c.position_x=e.x,c.position_y=e.y;break;case!e&&!!d:c.reference=d,g=d.offset(),c.position_x=g.left+d.outerHeight(),c.position_y=g.top;break;case!!e&&!d:c.position_x=e.x,c.position_y=e.y}d&&!f&&a(d).data("vakata_contextmenu")&&(f=a(d).data("vakata_contextmenu")),a.vakata.context._parse(f)&&c.element.html(c.html),c.items.length&&(c.element.appendTo("body"),h=c.element,i=c.position_x,j=c.position_y,k=h.width(),l=h.height(),m=a(window).width()+a(window).scrollLeft(),n=a(window).height()+a(window).scrollTop(),b&&(i-=h.outerWidth()-a(d).outerWidth(),i<a(window).scrollLeft()+20&&(i=a(window).scrollLeft()+20)),i+k+20>m&&(i=m-(k+20)),j+l+20>n&&(j=n-(l+20)),c.element.css({left:i,top:j}).show().find("a").first().focus().parent().addClass("vakata-context-hover"),c.is_visible=!0,a.vakata.context._trigger("show"))},hide:function(){c.is_visible&&(c.element.hide().find("ul").hide().end().find(":focus").blur().end().detach(),c.is_visible=!1,a.vakata.context._trigger("hide"))}},a(function(){b="rtl"===a("body").css("direction");var d=!1;c.element=a("<ul class='vakata-context'></ul>"),c.element.on("mouseenter","li",function(b){b.stopImmediatePropagation(),a.contains(this,b.relatedTarget)||(d&&clearTimeout(d),c.element.find(".vakata-context-hover").removeClass("vakata-context-hover").end(),a(this).siblings().find("ul").hide().end().end().parentsUntil(".vakata-context","li").addBack().addClass("vakata-context-hover"),a.vakata.context._show_submenu(this))}).on("mouseleave","li",function(b){a.contains(this,b.relatedTarget)||a(this).find(".vakata-context-hover").addBack().removeClass("vakata-context-hover")}).on("mouseleave",function(b){a(this).find(".vakata-context-hover").removeClass("vakata-context-hover"),a.vakata.context.settings.hide_onmouseleave&&(d=setTimeout(function(b){return function(){a.vakata.context.hide()}}(this),a.vakata.context.settings.hide_onmouseleave))}).on("click","a",function(b){b.preventDefault(),a(this).blur().parent().hasClass("vakata-context-disabled")||a.vakata.context._execute(a(this).attr("rel"))===!1||a.vakata.context.hide()}).on("keydown","a",function(b){var d=null;switch(b.which){case 13:case 32:b.type="mouseup",b.preventDefault(),a(b.currentTarget).trigger(b);break;case 37:c.is_visible&&(c.element.find(".vakata-context-hover").last().closest("li").first().find("ul").hide().find(".vakata-context-hover").removeClass("vakata-context-hover").end().end().children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 38:c.is_visible&&(d=c.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").prevAll("li:not(.vakata-context-separator)").first(),d.length||(d=c.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").last()),d.addClass("vakata-context-hover").children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 39:c.is_visible&&(c.element.find(".vakata-context-hover").last().children("ul").show().children("li:not(.vakata-context-separator)").removeClass("vakata-context-hover").first().addClass("vakata-context-hover").children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 40:c.is_visible&&(d=c.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").nextAll("li:not(.vakata-context-separator)").first(),d.length||(d=c.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").first()),d.addClass("vakata-context-hover").children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 27:a.vakata.context.hide(),b.preventDefault()}}).on("keydown",function(a){a.preventDefault();var b=c.element.find(".vakata-contextmenu-shortcut-"+a.which).parent();b.parent().not(".vakata-context-disabled")&&b.click()}),a(k).on("mousedown.vakata.jstree",function(b){c.is_visible&&!a.contains(c.element[0],b.target)&&a.vakata.context.hide()}).on("context_show.vakata.jstree",function(a,d){c.element.find("li:has(ul)").children("a").addClass("vakata-context-parent"),b&&c.element.addClass("vakata-context-rtl").css("direction","rtl"),c.element.find("ul").hide().end()})})}(a),a.jstree.defaults.dnd={copy:!0,open_timeout:500,is_draggable:!0,check_while_dragging:!0,always_copy:!1,inside_pos:0,drag_selection:!0,touch:!0,large_drop_target:!1,large_drag_target:!1},a.jstree.plugins.dnd=function(b,c){this.bind=function(){c.bind.call(this),this.element.on("mousedown.jstree touchstart.jstree",this.settings.dnd.large_drag_target?".jstree-node":".jstree-anchor",a.proxy(function(b){if(this.settings.dnd.large_drag_target&&a(b.target).closest(".jstree-node")[0]!==b.currentTarget)return!0;if("touchstart"===b.type&&(!this.settings.dnd.touch||"selected"===this.settings.dnd.touch&&!a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").hasClass("jstree-clicked")))return!0;var c=this.get_node(b.target),d=this.is_selected(c)&&this.settings.dnd.drag_selection?this.get_top_selected().length:1,e=d>1?d+" "+this.get_string("nodes"):this.get_text(b.currentTarget);return this.settings.core.force_text&&(e=a.vakata.html.escape(e)),c&&c.id&&c.id!==a.jstree.root&&(1===b.which||"touchstart"===b.type)&&(this.settings.dnd.is_draggable===!0||a.isFunction(this.settings.dnd.is_draggable)&&this.settings.dnd.is_draggable.call(this,d>1?this.get_top_selected(!0):[c],b))?(this.element.trigger("mousedown.jstree"),a.vakata.dnd.start(b,{jstree:!0,origin:this,obj:this.get_node(c,!0),nodes:d>1?this.get_top_selected():[c.id]},'<div id="jstree-dnd" class="jstree-'+this.get_theme()+" jstree-"+this.get_theme()+"-"+this.get_theme_variant()+" "+(this.settings.core.themes.responsive?" jstree-dnd-responsive":"")+'"><i class="jstree-icon jstree-er"></i>'+e+'<ins class="jstree-copy" style="display:none;">+</ins></div>')):void 0},this))}},a(function(){var b=!1,c=!1,d=!1,e=!1,f=a('<div id="jstree-marker">&#160;</div>').hide();a(k).on("dnd_start.vakata.jstree",function(a,c){b=!1,d=!1,c&&c.data&&c.data.jstree&&f.appendTo("body")}).on("dnd_move.vakata.jstree",function(g,h){if(e&&clearTimeout(e),h&&h.data&&h.data.jstree&&(!h.event.target.id||"jstree-marker"!==h.event.target.id)){d=h.event;var i,j,k,l,m,n,o,p,q,r,s,t,u,v,w=a.jstree.reference(h.event.target),x=!1,y=!1,z=!1;if(w&&w._data&&w._data.dnd)if(f.attr("class","jstree-"+w.get_theme()+(w.settings.core.themes.responsive?" jstree-dnd-responsive":"")),h.helper.children().attr("class","jstree-"+w.get_theme()+" jstree-"+w.get_theme()+"-"+w.get_theme_variant()+" "+(w.settings.core.themes.responsive?" jstree-dnd-responsive":"")).find(".jstree-copy").first()[h.data.origin&&(h.data.origin.settings.dnd.always_copy||h.data.origin.settings.dnd.copy&&(h.event.metaKey||h.event.ctrlKey))?"show":"hide"](),h.event.target!==w.element[0]&&h.event.target!==w.get_container_ul()[0]||0!==w.get_container_ul().children().length){if(x=w.settings.dnd.large_drop_target?a(h.event.target).closest(".jstree-node").children(".jstree-anchor"):a(h.event.target).closest(".jstree-anchor"),x&&x.length&&x.parent().is(".jstree-closed, .jstree-open, .jstree-leaf")&&(y=x.offset(),z=h.event.pageY-y.top,k=x.outerHeight(),n=k/3>z?["b","i","a"]:z>k-k/3?["a","i","b"]:z>k/2?["i","a","b"]:["i","b","a"],a.each(n,function(d,g){switch(g){case"b":i=y.left-6,j=y.top,l=w.get_parent(x),m=x.parent().index();break;case"i":u=w.settings.dnd.inside_pos,v=w.get_node(x.parent()),i=y.left-2,j=y.top+k/2+1,l=v.id,m="first"===u?0:"last"===u?v.children.length:Math.min(u,v.children.length);break;case"a":i=y.left-6,j=y.top+k,l=w.get_parent(x),m=x.parent().index()+1}for(o=!0,p=0,q=h.data.nodes.length;q>p;p++)if(r=h.data.origin&&(h.data.origin.settings.dnd.always_copy||h.data.origin.settings.dnd.copy&&(h.event.metaKey||h.event.ctrlKey))?"copy_node":"move_node",s=m,"move_node"===r&&"a"===g&&h.data.origin&&h.data.origin===w&&l===w.get_parent(h.data.nodes[p])&&(t=w.get_node(l),s>a.inArray(h.data.nodes[p],t.children)&&(s-=1)),o=o&&(w&&w.settings&&w.settings.dnd&&w.settings.dnd.check_while_dragging===!1||w.check(r,h.data.origin&&h.data.origin!==w?h.data.origin.get_node(h.data.nodes[p]):h.data.nodes[p],l,s,{dnd:!0,ref:w.get_node(x.parent()),pos:g,origin:h.data.origin,is_multi:h.data.origin&&h.data.origin!==w,is_foreign:!h.data.origin})),!o){w&&w.last_error&&(c=w.last_error());break}return"i"===g&&x.parent().is(".jstree-closed")&&w.settings.dnd.open_timeout&&(e=setTimeout(function(a,b){return function(){a.open_node(b)}}(w,x),w.settings.dnd.open_timeout)),o?(b={ins:w,par:l,pos:"i"!==g||"last"!==u||0!==m||w.is_loaded(v)?m:"last"},f.css({left:i+"px",top:j+"px"}).show(),h.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok"),c={},n=!0,!1):void 0}),n===!0))return}else{for(o=!0,p=0,q=h.data.nodes.length;q>p&&(o=o&&w.check(h.data.origin&&(h.data.origin.settings.dnd.always_copy||h.data.origin.settings.dnd.copy&&(h.event.metaKey||h.event.ctrlKey))?"copy_node":"move_node",h.data.origin&&h.data.origin!==w?h.data.origin.get_node(h.data.nodes[p]):h.data.nodes[p],a.jstree.root,"last",{dnd:!0,ref:w.get_node(a.jstree.root),pos:"i",origin:h.data.origin,is_multi:h.data.origin&&h.data.origin!==w,is_foreign:!h.data.origin}),o);p++);if(o)return b={ins:w,par:a.jstree.root,pos:"last"},f.hide(),void h.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok")}b=!1,h.helper.find(".jstree-icon").removeClass("jstree-ok").addClass("jstree-er"),f.hide()}}).on("dnd_scroll.vakata.jstree",function(a,c){c&&c.data&&c.data.jstree&&(f.hide(),b=!1,d=!1,c.helper.find(".jstree-icon").first().removeClass("jstree-ok").addClass("jstree-er"))}).on("dnd_stop.vakata.jstree",function(g,h){if(e&&clearTimeout(e),h&&h.data&&h.data.jstree){f.hide().detach();var i,j,k=[];if(b){for(i=0,j=h.data.nodes.length;j>i;i++)k[i]=h.data.origin?h.data.origin.get_node(h.data.nodes[i]):h.data.nodes[i];b.ins[h.data.origin&&(h.data.origin.settings.dnd.always_copy||h.data.origin.settings.dnd.copy&&(h.event.metaKey||h.event.ctrlKey))?"copy_node":"move_node"](k,b.par,b.pos,!1,!1,!1,h.data.origin)}else i=a(h.event.target).closest(".jstree"),i.length&&c&&c.error&&"check"===c.error&&(i=i.jstree(!0),i&&i.settings.core.error.call(this,c));d=!1,b=!1}}).on("keyup.jstree keydown.jstree",function(b,c){c=a.vakata.dnd._get(),c&&c.data&&c.data.jstree&&(c.helper.find(".jstree-copy").first()[c.data.origin&&(c.data.origin.settings.dnd.always_copy||c.data.origin.settings.dnd.copy&&(b.metaKey||b.ctrlKey))?"show":"hide"](),d&&(d.metaKey=b.metaKey,d.ctrlKey=b.ctrlKey,a.vakata.dnd._trigger("move",d)))})}),function(a){a.vakata.html={div:a("<div />"),escape:function(b){return a.vakata.html.div.text(b).html()},strip:function(b){return a.vakata.html.div.empty().append(a.parseHTML(b)).text()}};var b={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1};a.vakata.dnd={settings:{scroll_speed:10,scroll_proximity:20,helper_left:5,helper_top:10,threshold:5,threshold_touch:50},_trigger:function(b,c){var d=a.vakata.dnd._get();d.event=c,a(k).triggerHandler("dnd_"+b+".vakata",d)},_get:function(){return{data:b.data,element:b.element,helper:b.helper}},_clean:function(){b.helper&&b.helper.remove(),b.scroll_i&&(clearInterval(b.scroll_i),b.scroll_i=!1),b={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1},a(k).off("mousemove.vakata.jstree touchmove.vakata.jstree",a.vakata.dnd.drag),a(k).off("mouseup.vakata.jstree touchend.vakata.jstree",a.vakata.dnd.stop)},_scroll:function(c){if(!b.scroll_e||!b.scroll_l&&!b.scroll_t)return b.scroll_i&&(clearInterval(b.scroll_i),b.scroll_i=!1),!1;if(!b.scroll_i)return b.scroll_i=setInterval(a.vakata.dnd._scroll,100),!1;if(c===!0)return!1;var d=b.scroll_e.scrollTop(),e=b.scroll_e.scrollLeft();b.scroll_e.scrollTop(d+b.scroll_t*a.vakata.dnd.settings.scroll_speed),b.scroll_e.scrollLeft(e+b.scroll_l*a.vakata.dnd.settings.scroll_speed),(d!==b.scroll_e.scrollTop()||e!==b.scroll_e.scrollLeft())&&a.vakata.dnd._trigger("scroll",b.scroll_e)},start:function(c,d,e){"touchstart"===c.type&&c.originalEvent&&c.originalEvent.changedTouches&&c.originalEvent.changedTouches[0]&&(c.pageX=c.originalEvent.changedTouches[0].pageX,c.pageY=c.originalEvent.changedTouches[0].pageY,c.target=k.elementFromPoint(c.originalEvent.changedTouches[0].pageX-window.pageXOffset,c.originalEvent.changedTouches[0].pageY-window.pageYOffset)),b.is_drag&&a.vakata.dnd.stop({});try{c.currentTarget.unselectable="on",c.currentTarget.onselectstart=function(){return!1},c.currentTarget.style&&(c.currentTarget.style.MozUserSelect="none")}catch(f){}return b.init_x=c.pageX,b.init_y=c.pageY,b.data=d,b.is_down=!0,b.element=c.currentTarget,b.target=c.target,b.is_touch="touchstart"===c.type,e!==!1&&(b.helper=a("<div id='vakata-dnd'></div>").html(e).css({display:"block",margin:"0",padding:"0",position:"absolute",top:"-2000px",lineHeight:"16px",zIndex:"10000"})),a(k).on("mousemove.vakata.jstree touchmove.vakata.jstree",a.vakata.dnd.drag),a(k).on("mouseup.vakata.jstree touchend.vakata.jstree",a.vakata.dnd.stop),!1},drag:function(c){if("touchmove"===c.type&&c.originalEvent&&c.originalEvent.changedTouches&&c.originalEvent.changedTouches[0]&&(c.pageX=c.originalEvent.changedTouches[0].pageX,c.pageY=c.originalEvent.changedTouches[0].pageY,c.target=k.elementFromPoint(c.originalEvent.changedTouches[0].pageX-window.pageXOffset,c.originalEvent.changedTouches[0].pageY-window.pageYOffset)),b.is_down){if(!b.is_drag){if(!(Math.abs(c.pageX-b.init_x)>(b.is_touch?a.vakata.dnd.settings.threshold_touch:a.vakata.dnd.settings.threshold)||Math.abs(c.pageY-b.init_y)>(b.is_touch?a.vakata.dnd.settings.threshold_touch:a.vakata.dnd.settings.threshold)))return;b.helper&&(b.helper.appendTo("body"),b.helper_w=b.helper.outerWidth()),b.is_drag=!0,a.vakata.dnd._trigger("start",c)}var d=!1,e=!1,f=!1,g=!1,h=!1,i=!1,j=!1,l=!1,m=!1,n=!1;return b.scroll_t=0,b.scroll_l=0,b.scroll_e=!1,a(a(c.target).parentsUntil("body").addBack().get().reverse()).filter(function(){return/^auto|scroll$/.test(a(this).css("overflow"))&&(this.scrollHeight>this.offsetHeight||this.scrollWidth>this.offsetWidth)}).each(function(){var d=a(this),e=d.offset();return this.scrollHeight>this.offsetHeight&&(e.top+d.height()-c.pageY<a.vakata.dnd.settings.scroll_proximity&&(b.scroll_t=1),c.pageY-e.top<a.vakata.dnd.settings.scroll_proximity&&(b.scroll_t=-1)),this.scrollWidth>this.offsetWidth&&(e.left+d.width()-c.pageX<a.vakata.dnd.settings.scroll_proximity&&(b.scroll_l=1),c.pageX-e.left<a.vakata.dnd.settings.scroll_proximity&&(b.scroll_l=-1)),b.scroll_t||b.scroll_l?(b.scroll_e=a(this),!1):void 0}),b.scroll_e||(d=a(k),e=a(window),f=d.height(),g=e.height(),h=d.width(),i=e.width(),j=d.scrollTop(),l=d.scrollLeft(),f>g&&c.pageY-j<a.vakata.dnd.settings.scroll_proximity&&(b.scroll_t=-1),f>g&&g-(c.pageY-j)<a.vakata.dnd.settings.scroll_proximity&&(b.scroll_t=1),h>i&&c.pageX-l<a.vakata.dnd.settings.scroll_proximity&&(b.scroll_l=-1),h>i&&i-(c.pageX-l)<a.vakata.dnd.settings.scroll_proximity&&(b.scroll_l=1),(b.scroll_t||b.scroll_l)&&(b.scroll_e=d)),b.scroll_e&&a.vakata.dnd._scroll(!0),b.helper&&(m=parseInt(c.pageY+a.vakata.dnd.settings.helper_top,10),n=parseInt(c.pageX+a.vakata.dnd.settings.helper_left,10),f&&m+25>f&&(m=f-50),h&&n+b.helper_w>h&&(n=h-(b.helper_w+2)),b.helper.css({left:n+"px",top:m+"px"})),a.vakata.dnd._trigger("move",c),!1}},stop:function(c){if("touchend"===c.type&&c.originalEvent&&c.originalEvent.changedTouches&&c.originalEvent.changedTouches[0]&&(c.pageX=c.originalEvent.changedTouches[0].pageX,c.pageY=c.originalEvent.changedTouches[0].pageY,c.target=k.elementFromPoint(c.originalEvent.changedTouches[0].pageX-window.pageXOffset,c.originalEvent.changedTouches[0].pageY-window.pageYOffset)),b.is_drag)a.vakata.dnd._trigger("stop",c);else if("touchend"===c.type&&c.target===b.target){var d=setTimeout(function(){a(c.target).click()},100);a(c.target).one("click",function(){d&&clearTimeout(d)})}return a.vakata.dnd._clean(),!1}}}(a),a.jstree.defaults.massload=null,a.jstree.plugins.massload=function(b,c){this.init=function(a,b){c.init.call(this,a,b),this._data.massload={}},this._load_nodes=function(b,d,e){var f=this.settings.massload;return e&&!a.isEmptyObject(this._data.massload)?c._load_nodes.call(this,b,d,e):a.isFunction(f)?f.call(this,b,a.proxy(function(a){if(a)for(var f in a)a.hasOwnProperty(f)&&(this._data.massload[f]=a[f]);c._load_nodes.call(this,b,d,e)},this)):"object"==typeof f&&f&&f.url?(f=a.extend(!0,{},f),a.isFunction(f.url)&&(f.url=f.url.call(this,b)),a.isFunction(f.data)&&(f.data=f.data.call(this,b)),a.ajax(f).done(a.proxy(function(a,f,g){if(a)for(var h in a)a.hasOwnProperty(h)&&(this._data.massload[h]=a[h]);c._load_nodes.call(this,b,d,e)},this)).fail(a.proxy(function(a){c._load_nodes.call(this,b,d,e)},this))):c._load_nodes.call(this,b,d,e)},this._load_node=function(b,d){var e=this._data.massload[b.id];return e?this["string"==typeof e?"_append_html_data":"_append_json_data"](b,"string"==typeof e?a(a.parseHTML(e)).filter(function(){return 3!==this.nodeType}):e,function(a){d.call(this,a),
-delete this._data.massload[b.id]}):c._load_node.call(this,b,d)}},a.jstree.defaults.search={ajax:!1,fuzzy:!1,case_sensitive:!1,show_only_matches:!1,show_only_matches_children:!1,close_opened_onclear:!0,search_leaves_only:!1,search_callback:!1},a.jstree.plugins.search=function(c,d){this.bind=function(){d.bind.call(this),this._data.search.str="",this._data.search.dom=a(),this._data.search.res=[],this._data.search.opn=[],this._data.search.som=!1,this._data.search.smc=!1,this._data.search.hdn=[],this.element.on("search.jstree",a.proxy(function(b,c){if(this._data.search.som&&c.res.length){var d,e,f=this._model.data,g=[];for(d=0,e=c.res.length;e>d;d++)f[c.res[d]]&&!f[c.res[d]].state.hidden&&(g.push(c.res[d]),g=g.concat(f[c.res[d]].parents),this._data.search.smc&&(g=g.concat(f[c.res[d]].children_d)));g=a.vakata.array_remove_item(a.vakata.array_unique(g),a.jstree.root),this._data.search.hdn=this.hide_all(!0),this.show_node(g)}},this)).on("clear_search.jstree",a.proxy(function(a,b){this._data.search.som&&b.res.length&&this.show_node(this._data.search.hdn)},this))},this.search=function(c,d,e,f,g,h){if(c===!1||""===a.trim(c.toString()))return this.clear_search();f=this.get_node(f),f=f&&f.id?f.id:null,c=c.toString();var i,j,k=this.settings.search,l=k.ajax?k.ajax:!1,m=this._model.data,n=null,o=[],p=[];if(this._data.search.res.length&&!g&&this.clear_search(),e===b&&(e=k.show_only_matches),h===b&&(h=k.show_only_matches_children),!d&&l!==!1)return a.isFunction(l)?l.call(this,c,a.proxy(function(b){b&&b.d&&(b=b.d),this._load_nodes(a.isArray(b)?a.vakata.array_unique(b):[],function(){this.search(c,!0,e,f,g)},!0)},this),f):(l=a.extend({},l),l.data||(l.data={}),l.data.str=c,f&&(l.data.inside=f),a.ajax(l).fail(a.proxy(function(){this._data.core.last_error={error:"ajax",plugin:"search",id:"search_01",reason:"Could not load search parents",data:JSON.stringify(l)},this.settings.core.error.call(this,this._data.core.last_error)},this)).done(a.proxy(function(b){b&&b.d&&(b=b.d),this._load_nodes(a.isArray(b)?a.vakata.array_unique(b):[],function(){this.search(c,!0,e,f,g)},!0)},this)));if(g||(this._data.search.str=c,this._data.search.dom=a(),this._data.search.res=[],this._data.search.opn=[],this._data.search.som=e,this._data.search.smc=h),n=new a.vakata.search(c,!0,{caseSensitive:k.case_sensitive,fuzzy:k.fuzzy}),a.each(m[f?f:a.jstree.root].children_d,function(a,b){var d=m[b];d.text&&(!k.search_leaves_only||d.state.loaded&&0===d.children.length)&&(k.search_callback&&k.search_callback.call(this,c,d)||!k.search_callback&&n.search(d.text).isMatch)&&(o.push(b),p=p.concat(d.parents))}),o.length){for(p=a.vakata.array_unique(p),i=0,j=p.length;j>i;i++)p[i]!==a.jstree.root&&m[p[i]]&&this.open_node(p[i],null,0)===!0&&this._data.search.opn.push(p[i]);g?(this._data.search.dom=this._data.search.dom.add(a(this.element[0].querySelectorAll("#"+a.map(o,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #")))),this._data.search.res=a.vakata.array_unique(this._data.search.res.concat(o))):(this._data.search.dom=a(this.element[0].querySelectorAll("#"+a.map(o,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.res=o),this._data.search.dom.children(".jstree-anchor").addClass("jstree-search")}this.trigger("search",{nodes:this._data.search.dom,str:c,res:this._data.search.res,show_only_matches:e})},this.clear_search=function(){this.settings.search.close_opened_onclear&&this.close_node(this._data.search.opn,0),this.trigger("clear_search",{nodes:this._data.search.dom,str:this._data.search.str,res:this._data.search.res}),this._data.search.res.length&&(this._data.search.dom=a(this.element[0].querySelectorAll("#"+a.map(this._data.search.res,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.dom.children(".jstree-anchor").removeClass("jstree-search")),this._data.search.str="",this._data.search.res=[],this._data.search.opn=[],this._data.search.dom=a()},this.redraw_node=function(b,c,e,f){if(b=d.redraw_node.apply(this,arguments),b&&-1!==a.inArray(b.id,this._data.search.res)){var g,h,i=null;for(g=0,h=b.childNodes.length;h>g;g++)if(b.childNodes[g]&&b.childNodes[g].className&&-1!==b.childNodes[g].className.indexOf("jstree-anchor")){i=b.childNodes[g];break}i&&(i.className+=" jstree-search")}return b}},function(a){a.vakata.search=function(b,c,d){d=d||{},d=a.extend({},a.vakata.search.defaults,d),d.fuzzy!==!1&&(d.fuzzy=!0),b=d.caseSensitive?b:b.toLowerCase();var e,f,g,h,i=d.location,j=d.distance,k=d.threshold,l=b.length;return l>32&&(d.fuzzy=!1),d.fuzzy&&(e=1<<l-1,f=function(){var a={},c=0;for(c=0;l>c;c++)a[b.charAt(c)]=0;for(c=0;l>c;c++)a[b.charAt(c)]|=1<<l-c-1;return a}(),g=function(a,b){var c=a/l,d=Math.abs(i-b);return j?c+d/j:d?1:c}),h=function(a){if(a=d.caseSensitive?a:a.toLowerCase(),b===a||-1!==a.indexOf(b))return{isMatch:!0,score:0};if(!d.fuzzy)return{isMatch:!1,score:1};var c,h,j,m,n,o,p,q,r,s=a.length,t=k,u=a.indexOf(b,i),v=l+s,w=1,x=[];for(-1!==u&&(t=Math.min(g(0,u),t),u=a.lastIndexOf(b,i+l),-1!==u&&(t=Math.min(g(0,u),t))),u=-1,c=0;l>c;c++){for(j=0,m=v;m>j;)g(c,i+m)<=t?j=m:v=m,m=Math.floor((v-j)/2+j);for(v=m,o=Math.max(1,i-m+1),p=Math.min(i+m,s)+l,q=new Array(p+2),q[p+1]=(1<<c)-1,h=p;h>=o;h--)if(r=f[a.charAt(h-1)],0===c?q[h]=(q[h+1]<<1|1)&r:q[h]=(q[h+1]<<1|1)&r|((n[h+1]|n[h])<<1|1)|n[h+1],q[h]&e&&(w=g(c,h-1),t>=w)){if(t=w,u=h-1,x.push(u),!(u>i))break;o=Math.max(1,2*i-u)}if(g(c+1,i)>t)break;n=q}return{isMatch:u>=0,score:w}},c===!0?{search:h}:h(c)},a.vakata.search.defaults={location:0,distance:100,threshold:.6,fuzzy:!1,caseSensitive:!1}}(a),a.jstree.defaults.sort=function(a,b){return this.get_text(a)>this.get_text(b)?1:-1},a.jstree.plugins.sort=function(b,c){this.bind=function(){c.bind.call(this),this.element.on("model.jstree",a.proxy(function(a,b){this.sort(b.parent,!0)},this)).on("rename_node.jstree create_node.jstree",a.proxy(function(a,b){this.sort(b.parent||b.node.parent,!1),this.redraw_node(b.parent||b.node.parent,!0)},this)).on("move_node.jstree copy_node.jstree",a.proxy(function(a,b){this.sort(b.parent,!1),this.redraw_node(b.parent,!0)},this))},this.sort=function(b,c){var d,e;if(b=this.get_node(b),b&&b.children&&b.children.length&&(b.children.sort(a.proxy(this.settings.sort,this)),c))for(d=0,e=b.children_d.length;e>d;d++)this.sort(b.children_d[d],!1)}};var n=!1;a.jstree.defaults.state={key:"jstree",events:"changed.jstree open_node.jstree close_node.jstree check_node.jstree uncheck_node.jstree",ttl:!1,filter:!1},a.jstree.plugins.state=function(b,c){this.bind=function(){c.bind.call(this);var b=a.proxy(function(){this.element.on(this.settings.state.events,a.proxy(function(){n&&clearTimeout(n),n=setTimeout(a.proxy(function(){this.save_state()},this),100)},this)),this.trigger("state_ready")},this);this.element.on("ready.jstree",a.proxy(function(a,c){this.element.one("restore_state.jstree",b),this.restore_state()||b()},this))},this.save_state=function(){var b={state:this.get_state(),ttl:this.settings.state.ttl,sec:+new Date};a.vakata.storage.set(this.settings.state.key,JSON.stringify(b))},this.restore_state=function(){var b=a.vakata.storage.get(this.settings.state.key);if(b)try{b=JSON.parse(b)}catch(c){return!1}return b&&b.ttl&&b.sec&&+new Date-b.sec>b.ttl?!1:(b&&b.state&&(b=b.state),b&&a.isFunction(this.settings.state.filter)&&(b=this.settings.state.filter.call(this,b)),b?(this.element.one("set_state.jstree",function(c,d){d.instance.trigger("restore_state",{state:a.extend(!0,{},b)})}),this.set_state(b),!0):!1)},this.clear_state=function(){return a.vakata.storage.del(this.settings.state.key)}},function(a,b){a.vakata.storage={set:function(a,b){return window.localStorage.setItem(a,b)},get:function(a){return window.localStorage.getItem(a)},del:function(a){return window.localStorage.removeItem(a)}}}(a),a.jstree.defaults.types={"default":{}},a.jstree.defaults.types[a.jstree.root]={},a.jstree.plugins.types=function(c,d){this.init=function(c,e){var f,g;if(e&&e.types&&e.types["default"])for(f in e.types)if("default"!==f&&f!==a.jstree.root&&e.types.hasOwnProperty(f))for(g in e.types["default"])e.types["default"].hasOwnProperty(g)&&e.types[f][g]===b&&(e.types[f][g]=e.types["default"][g]);d.init.call(this,c,e),this._model.data[a.jstree.root].type=a.jstree.root},this.refresh=function(b,c){d.refresh.call(this,b,c),this._model.data[a.jstree.root].type=a.jstree.root},this.bind=function(){this.element.on("model.jstree",a.proxy(function(c,d){var e,f,g=this._model.data,h=d.nodes,i=this.settings.types,j="default";for(e=0,f=h.length;f>e;e++)j="default",g[h[e]].original&&g[h[e]].original.type&&i[g[h[e]].original.type]&&(j=g[h[e]].original.type),g[h[e]].data&&g[h[e]].data.jstree&&g[h[e]].data.jstree.type&&i[g[h[e]].data.jstree.type]&&(j=g[h[e]].data.jstree.type),g[h[e]].type=j,g[h[e]].icon===!0&&i[j].icon!==b&&(g[h[e]].icon=i[j].icon);g[a.jstree.root].type=a.jstree.root},this)),d.bind.call(this)},this.get_json=function(b,c,e){var f,g,h=this._model.data,i=c?a.extend(!0,{},c,{no_id:!1}):{},j=d.get_json.call(this,b,i,e);if(j===!1)return!1;if(a.isArray(j))for(f=0,g=j.length;g>f;f++)j[f].type=j[f].id&&h[j[f].id]&&h[j[f].id].type?h[j[f].id].type:"default",c&&c.no_id&&(delete j[f].id,j[f].li_attr&&j[f].li_attr.id&&delete j[f].li_attr.id,j[f].a_attr&&j[f].a_attr.id&&delete j[f].a_attr.id);else j.type=j.id&&h[j.id]&&h[j.id].type?h[j.id].type:"default",c&&c.no_id&&(j=this._delete_ids(j));return j},this._delete_ids=function(b){if(a.isArray(b)){for(var c=0,d=b.length;d>c;c++)b[c]=this._delete_ids(b[c]);return b}return delete b.id,b.li_attr&&b.li_attr.id&&delete b.li_attr.id,b.a_attr&&b.a_attr.id&&delete b.a_attr.id,b.children&&a.isArray(b.children)&&(b.children=this._delete_ids(b.children)),b},this.check=function(c,e,f,g,h){if(d.check.call(this,c,e,f,g,h)===!1)return!1;e=e&&e.id?e:this.get_node(e),f=f&&f.id?f:this.get_node(f);var i,j,k,l,m=e&&e.id?h&&h.origin?h.origin:a.jstree.reference(e.id):null;switch(m=m&&m._model&&m._model.data?m._model.data:null,c){case"create_node":case"move_node":case"copy_node":if("move_node"!==c||-1===a.inArray(e.id,f.children)){if(i=this.get_rules(f),i.max_children!==b&&-1!==i.max_children&&i.max_children===f.children.length)return this._data.core.last_error={error:"check",plugin:"types",id:"types_01",reason:"max_children prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:e&&e.id?e.id:!1,par:f&&f.id?f.id:!1})},!1;if(i.valid_children!==b&&-1!==i.valid_children&&-1===a.inArray(e.type||"default",i.valid_children))return this._data.core.last_error={error:"check",plugin:"types",id:"types_02",reason:"valid_children prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:e&&e.id?e.id:!1,par:f&&f.id?f.id:!1})},!1;if(m&&e.children_d&&e.parents){for(j=0,k=0,l=e.children_d.length;l>k;k++)j=Math.max(j,m[e.children_d[k]].parents.length);j=j-e.parents.length+1}(0>=j||j===b)&&(j=1);do{if(i.max_depth!==b&&-1!==i.max_depth&&i.max_depth<j)return this._data.core.last_error={error:"check",plugin:"types",id:"types_03",reason:"max_depth prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:e&&e.id?e.id:!1,par:f&&f.id?f.id:!1})},!1;f=this.get_node(f.parent),i=this.get_rules(f),j++}while(f)}}return!0},this.get_rules=function(a){if(a=this.get_node(a),!a)return!1;var c=this.get_type(a,!0);return c.max_depth===b&&(c.max_depth=-1),c.max_children===b&&(c.max_children=-1),c.valid_children===b&&(c.valid_children=-1),c},this.get_type=function(b,c){return b=this.get_node(b),b?c?a.extend({type:b.type},this.settings.types[b.type]):b.type:!1},this.set_type=function(c,d){var e,f,g,h,i;if(a.isArray(c)){for(c=c.slice(),f=0,g=c.length;g>f;f++)this.set_type(c[f],d);return!0}return e=this.settings.types,c=this.get_node(c),e[d]&&c?(h=c.type,i=this.get_icon(c),c.type=d,(i===!0||e[h]&&e[h].icon!==b&&i===e[h].icon)&&this.set_icon(c,e[d].icon!==b?e[d].icon:!0),!0):!1}},a.jstree.defaults.unique={case_sensitive:!1,duplicate:function(a,b){return a+" ("+b+")"}},a.jstree.plugins.unique=function(c,d){this.check=function(b,c,e,f,g){if(d.check.call(this,b,c,e,f,g)===!1)return!1;if(c=c&&c.id?c:this.get_node(c),e=e&&e.id?e:this.get_node(e),!e||!e.children)return!0;var h,i,j="rename_node"===b?f:c.text,k=[],l=this.settings.unique.case_sensitive,m=this._model.data;for(h=0,i=e.children.length;i>h;h++)k.push(l?m[e.children[h]].text:m[e.children[h]].text.toLowerCase());switch(l||(j=j.toLowerCase()),b){case"delete_node":return!0;case"rename_node":return h=-1===a.inArray(j,k)||c.text&&c.text[l?"toString":"toLowerCase"]()===j,h||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_01",reason:"Child with name "+j+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),h;case"create_node":return h=-1===a.inArray(j,k),h||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_04",reason:"Child with name "+j+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),h;case"copy_node":return h=-1===a.inArray(j,k),h||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_02",reason:"Child with name "+j+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),h;case"move_node":return h=c.parent===e.id&&(!g||!g.is_multi)||-1===a.inArray(j,k),h||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_03",reason:"Child with name "+j+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),h}return!0},this.create_node=function(c,e,f,g,h){if(!e||e.text===b){if(null===c&&(c=a.jstree.root),c=this.get_node(c),!c)return d.create_node.call(this,c,e,f,g,h);if(f=f===b?"last":f,!f.toString().match(/^(before|after)$/)&&!h&&!this.is_loaded(c))return d.create_node.call(this,c,e,f,g,h);e||(e={});var i,j,k,l,m,n=this._model.data,o=this.settings.unique.case_sensitive,p=this.settings.unique.duplicate;for(j=i=this.get_string("New node"),k=[],l=0,m=c.children.length;m>l;l++)k.push(o?n[c.children[l]].text:n[c.children[l]].text.toLowerCase());for(l=1;-1!==a.inArray(o?j:j.toLowerCase(),k);)j=p.call(this,i,++l).toString();e.text=j}return d.create_node.call(this,c,e,f,g,h)}};var o=k.createElement("DIV");if(o.setAttribute("unselectable","on"),o.setAttribute("role","presentation"),o.className="jstree-wholerow",o.innerHTML="&#160;",a.jstree.plugins.wholerow=function(b,c){this.bind=function(){c.bind.call(this),this.element.on("ready.jstree set_state.jstree",a.proxy(function(){this.hide_dots()},this)).on("init.jstree loading.jstree ready.jstree",a.proxy(function(){this.get_container_ul().addClass("jstree-wholerow-ul")},this)).on("deselect_all.jstree",a.proxy(function(a,b){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked")},this)).on("changed.jstree",a.proxy(function(a,b){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked");var c,d,e=!1;for(c=0,d=b.selected.length;d>c;c++)e=this.get_node(b.selected[c],!0),e&&e.length&&e.children(".jstree-wholerow").addClass("jstree-wholerow-clicked")},this)).on("open_node.jstree",a.proxy(function(a,b){this.get_node(b.node,!0).find(".jstree-clicked").parent().children(".jstree-wholerow").addClass("jstree-wholerow-clicked")},this)).on("hover_node.jstree dehover_node.jstree",a.proxy(function(a,b){"hover_node"===a.type&&this.is_disabled(b.node)||this.get_node(b.node,!0).children(".jstree-wholerow")["hover_node"===a.type?"addClass":"removeClass"]("jstree-wholerow-hovered")},this)).on("contextmenu.jstree",".jstree-wholerow",a.proxy(function(b){b.preventDefault();var c=a.Event("contextmenu",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey,pageX:b.pageX,pageY:b.pageY});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c)},this)).on("click.jstree",".jstree-wholerow",function(b){b.stopImmediatePropagation();var c=a.Event("click",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).focus()}).on("click.jstree",".jstree-leaf > .jstree-ocl",a.proxy(function(b){b.stopImmediatePropagation();var c=a.Event("click",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).focus()},this)).on("mouseover.jstree",".jstree-wholerow, .jstree-icon",a.proxy(function(a){return a.stopImmediatePropagation(),this.is_disabled(a.currentTarget)||this.hover_node(a.currentTarget),!1},this)).on("mouseleave.jstree",".jstree-node",a.proxy(function(a){this.dehover_node(a.currentTarget)},this))},this.teardown=function(){this.settings.wholerow&&this.element.find(".jstree-wholerow").remove(),c.teardown.call(this)},this.redraw_node=function(b,d,e,f){if(b=c.redraw_node.apply(this,arguments)){var g=o.cloneNode(!0);-1!==a.inArray(b.id,this._data.core.selected)&&(g.className+=" jstree-wholerow-clicked"),this._data.core.focused&&this._data.core.focused===b.id&&(g.className+=" jstree-wholerow-hovered"),b.insertBefore(g,b.childNodes[0])}return b}},k.registerElement&&Object&&Object.create){var p=Object.create(HTMLElement.prototype);p.createdCallback=function(){var b,c={core:{},plugins:[]};for(b in a.jstree.plugins)a.jstree.plugins.hasOwnProperty(b)&&this.attributes[b]&&(c.plugins.push(b),this.getAttribute(b)&&JSON.parse(this.getAttribute(b))&&(c[b]=JSON.parse(this.getAttribute(b))));for(b in a.jstree.defaults.core)a.jstree.defaults.core.hasOwnProperty(b)&&this.attributes[b]&&(c.core[b]=JSON.parse(this.getAttribute(b))||this.getAttribute(b));a(this).jstree(c)};try{k.registerElement("vakata-jstree",{prototype:p})}catch(q){}}}}),function(a){"use strict";function b(){var b=1;this.nodesFingerprint=function(a){return a.__uiNodeId||(a.__uiNodeId=b++),""+a.__uiNodeId+(a.id||"")+(a.text||"")+(a.type||"")},this.changeWatcher=function(b,c){var d,e=function(){var d,e,f=[];if(b)for(var h=a.isFunction(b)?b():b,i=0,j=h.length;j>i;i++)e=h[i],d=c(e),g[d]=e,f.push(d);return f},f=function(a,b){var c,d,e=[],f={};for(c=0,d=b.length;d>c;c++)f[b[c]]=!0;for(c=0,d=a.length;d>c;c++)f[a[c]]||e.push(a[c]);return e},g={},h=function(a,b){var e,h,i,j,k={},l=f(b,a);for(e=0,h=l.length;h>e;e++){var m=l[e];i=g[m],delete g[m];var n=c(i);n===m?d.onRemoved(i):(k[n]=m,d.onChanged(i))}var o=f(a,b);for(e=0,h=o.length;h>e;e++)j=o[e],i=g[j],k[j]||d.onAdded(i)};return d={subscribe:function(a,b){a.$watch(e,function(a,c){b&&b(a,c)===!1||h(a,c)},!0)},onAdded:a.noop,onChanged:a.noop,onRemoved:a.noop}}}function c(){return{restrict:"A",scope:{treeData:"=ngModel",shouldApply:"&"},controller:"jsTreeCtrl",link:function(b,c,d,e){function f(a,b,c){if(c.treeEvents)for(var d=c.treeEvents.split(";"),e=0;e<d.length;e++)if(d[e].length>0){var f=d[e].split(":")[0],g=f+".jstree",h=d[e].split(":")[1];a.tree.on(g,a.$parent.$eval(h))}}function g(){var c=d.jsTree?b.$parent.$eval(d.jsTree):{};h={},a.copy(c,h);var e=JSON.stringify(h);return h.core?h.core.data=b.treeData:h.core={data:b.treeData},e}var h=null,i=e.changeWatcher(b.treeData,e.nodesFingerprint),j=!1;b.destroy=function(){if(d.tree)if(-1!==d.tree.indexOf(".")){var a=d.tree.split(".");b.tree=b.$parent[a[0]][a[1]]=c}else b.tree=b.$parent[d.tree]=c;else b.tree=c;b.tree.jstree("destroy")},b.init=function(){b.tree.jstree(h),f(b,c,d)},i.onChanged=function(c){a.isDefined(b.tree.jstree(!0).set_type)&&b.tree.jstree(!0).set_type(c.id,c.type),b.tree.jstree(!0).rename_node(c.id,c.text)},i.onAdded=function(a){for(;j;);j=!0;var c=b.tree.jstree(!0).get_node(a.parent),d=b.tree.jstree(!0).create_node(c,a,"inside",function(){j=!1});d||(j=!1)},i.onRemoved=function(a){b.tree.jstree(!0).delete_node(a.id)},i.subscribe(b,function(){return b.shouldApply?b.shouldApply():!0}),b.$watch(g,function(){b.destroy(),b.init()})}}}var d=a.module("ngJsTree",[]);d.controller("jsTreeCtrl",b),d.directive("jsTree",c)}(angular),function(a){"use strict";if(a.URL=a.URL||a.webkitURL,a.Blob&&a.URL)try{return void new Blob}catch(b){}var c=a.BlobBuilder||a.WebKitBlobBuilder||a.MozBlobBuilder||function(a){var b=function(a){return Object.prototype.toString.call(a).match(/^\[object\s(.*)\]$/)[1]},c=function(){this.data=[]},d=function(a,b,c){this.data=a,this.size=a.length,this.type=b,this.encoding=c},e=c.prototype,f=d.prototype,g=a.FileReaderSync,h=function(a){this.code=this[this.name=a]},i="NOT_FOUND_ERR SECURITY_ERR ABORT_ERR NOT_READABLE_ERR ENCODING_ERR NO_MODIFICATION_ALLOWED_ERR INVALID_STATE_ERR SYNTAX_ERR".split(" "),j=i.length,k=a.URL||a.webkitURL||a,l=k.createObjectURL,m=k.revokeObjectURL,n=k,o=a.btoa,p=a.atob,q=a.ArrayBuffer,r=a.Uint8Array,s=/^[\w-]+:\/*\[?[\w\.:-]+\]?(?::[0-9]+)?/;for(d.fake=f.fake=!0;j--;)h.prototype[i[j]]=j+1;return k.createObjectURL||(n=a.URL=function(a){var b,c=document.createElementNS("http://www.w3.org/1999/xhtml","a");return c.href=a,"origin"in c||("data:"===c.protocol.toLowerCase()?c.origin=null:(b=a.match(s),c.origin=b&&b[1])),c}),n.createObjectURL=function(a){var b,c=a.type;return null===c&&(c="application/octet-stream"),a instanceof d?(b="data:"+c,"base64"===a.encoding?b+";base64,"+a.data:"URI"===a.encoding?b+","+decodeURIComponent(a.data):o?b+";base64,"+o(a.data):b+","+encodeURIComponent(a.data)):l?l.call(k,a):void 0},n.revokeObjectURL=function(a){"data:"!==a.substring(0,5)&&m&&m.call(k,a)},e.append=function(a){var c=this.data;if(r&&(a instanceof q||a instanceof r)){for(var e="",f=new r(a),i=0,j=f.length;j>i;i++)e+=String.fromCharCode(f[i]);c.push(e)}else if("Blob"===b(a)||"File"===b(a)){if(!g)throw new h("NOT_READABLE_ERR");var k=new g;c.push(k.readAsBinaryString(a))}else a instanceof d?"base64"===a.encoding&&p?c.push(p(a.data)):"URI"===a.encoding?c.push(decodeURIComponent(a.data)):"raw"===a.encoding&&c.push(a.data):("string"!=typeof a&&(a+=""),c.push(unescape(encodeURIComponent(a))))},e.getBlob=function(a){return arguments.length||(a=null),new d(this.data.join(""),a,"raw")},e.toString=function(){return"[object BlobBuilder]"},f.slice=function(a,b,c){var e=arguments.length;return 3>e&&(c=null),new d(this.data.slice(a,e>1?b:this.data.length),c,this.encoding)},f.toString=function(){return"[object Blob]"},f.close=function(){this.size=0,delete this.data},c}(a);a.Blob=function(a,b){var d=b?b.type||"":"",e=new c;if(a)for(var f=0,g=a.length;g>f;f++)Uint8Array&&a[f]instanceof Uint8Array?e.append(a[f].buffer):e.append(a[f]);var h=e.getBlob(d);return!h.slice&&h.webkitSlice&&(h.slice=h.webkitSlice),h};var d=Object.getPrototypeOf||function(a){return a.__proto__};a.Blob.prototype=d(new a.Blob)}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content||this);var saveAs=saveAs||function(a){"use strict";if("undefined"==typeof navigator||!/MSIE [1-9]\./.test(navigator.userAgent)){var b=a.document,c=function(){return a.URL||a.webkitURL||a},d=b.createElementNS("http://www.w3.org/1999/xhtml","a"),e="download"in d,f=function(c){var d=b.createEvent("MouseEvents");d.initMouseEvent("click",!0,!1,a,0,0,0,0,0,!1,!1,!1,!1,0,null),c.dispatchEvent(d)},g=a.webkitRequestFileSystem,h=a.requestFileSystem||g||a.mozRequestFileSystem,i=function(b){(a.setImmediate||a.setTimeout)(function(){throw b},0)},j="application/octet-stream",k=0,l=500,m=function(b){var d=function(){"string"==typeof b?c().revokeObjectURL(b):b.remove()};a.chrome?d():setTimeout(d,l)},n=function(a,b,c){b=[].concat(b);for(var d=b.length;d--;){var e=a["on"+b[d]];if("function"==typeof e)try{e.call(a,c||a)}catch(f){i(f)}}},o=function(a){return/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a.type)?new Blob(["\ufeff",a],{type:a.type}):a},p=function(b,i){b=o(b);var l,p,q,r=this,s=b.type,t=!1,u=function(){n(r,"writestart progress write writeend".split(" "))},v=function(){if((t||!l)&&(l=c().createObjectURL(b)),p)p.location.href=l;else{var d=a.open(l,"_blank");void 0==d&&"undefined"!=typeof safari&&(a.location.href=l)}r.readyState=r.DONE,u(),m(l)},w=function(a){return function(){return r.readyState!==r.DONE?a.apply(this,arguments):void 0}},x={create:!0,exclusive:!1};return r.readyState=r.INIT,i||(i="download"),e?(l=c().createObjectURL(b),d.href=l,d.download=i,f(d),r.readyState=r.DONE,u(),void m(l)):(a.chrome&&s&&s!==j&&(q=b.slice||b.webkitSlice,b=q.call(b,0,b.size,j),t=!0),g&&"download"!==i&&(i+=".download"),(s===j||g)&&(p=a),h?(k+=b.size,void h(a.TEMPORARY,k,w(function(a){a.root.getDirectory("saved",x,w(function(a){var c=function(){a.getFile(i,x,w(function(a){a.createWriter(w(function(c){c.onwriteend=function(b){p.location.href=a.toURL(),r.readyState=r.DONE,n(r,"writeend",b),m(a)},c.onerror=function(){var a=c.error;a.code!==a.ABORT_ERR&&v()},"writestart progress write abort".split(" ").forEach(function(a){c["on"+a]=r["on"+a]}),c.write(b),r.abort=function(){c.abort(),r.readyState=r.DONE},r.readyState=r.WRITING}),v)}),v)};a.getFile(i,{create:!1},w(function(a){a.remove(),c()}),w(function(a){a.code===a.NOT_FOUND_ERR?c():v()}))}),v)}),v)):void v())},q=p.prototype,r=function(a,b){return new p(a,b)};return"undefined"!=typeof navigator&&navigator.msSaveOrOpenBlob?function(a,b){return navigator.msSaveOrOpenBlob(o(a),b)}:(q.abort=function(){var a=this;a.readyState=a.DONE,n(a,"abort")},q.readyState=q.INIT=0,q.WRITING=1,q.DONE=2,q.error=q.onwritestart=q.onprogress=q.onwrite=q.onabort=q.onerror=q.onwriteend=null,r)}}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content);"undefined"!=typeof module&&module.exports?module.exports.saveAs=saveAs:"undefined"!=typeof define&&null!==define&&null!=define.amd&&define([],function(){return saveAs}),function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){!function(a){"use strict";if(a.URL=a.URL||a.webkitURL,a.Blob&&a.URL)try{return void new Blob}catch(b){}var c=a.BlobBuilder||a.WebKitBlobBuilder||a.MozBlobBuilder||function(a){var b=function(a){return Object.prototype.toString.call(a).match(/^\[object\s(.*)\]$/)[1]},c=function(){this.data=[]},d=function(a,b,c){this.data=a,this.size=a.length,this.type=b,this.encoding=c},e=c.prototype,f=d.prototype,g=a.FileReaderSync,h=function(a){this.code=this[this.name=a]},i="NOT_FOUND_ERR SECURITY_ERR ABORT_ERR NOT_READABLE_ERR ENCODING_ERR NO_MODIFICATION_ALLOWED_ERR INVALID_STATE_ERR SYNTAX_ERR".split(" "),j=i.length,k=a.URL||a.webkitURL||a,l=k.createObjectURL,m=k.revokeObjectURL,n=k,o=a.btoa,p=a.atob,q=a.ArrayBuffer,r=a.Uint8Array,s=/^[\w-]+:\/*\[?[\w\.:-]+\]?(?::[0-9]+)?/;for(d.fake=f.fake=!0;j--;)h.prototype[i[j]]=j+1;return k.createObjectURL||(n=a.URL=function(a){var b,c=document.createElementNS("http://www.w3.org/1999/xhtml","a");return c.href=a,"origin"in c||("data:"===c.protocol.toLowerCase()?c.origin=null:(b=a.match(s),c.origin=b&&b[1])),c}),n.createObjectURL=function(a){var b,c=a.type;return null===c&&(c="application/octet-stream"),a instanceof d?(b="data:"+c,"base64"===a.encoding?b+";base64,"+a.data:"URI"===a.encoding?b+","+decodeURIComponent(a.data):o?b+";base64,"+o(a.data):b+","+encodeURIComponent(a.data)):l?l.call(k,a):void 0},n.revokeObjectURL=function(a){"data:"!==a.substring(0,5)&&m&&m.call(k,a)},e.append=function(a){var c=this.data;if(r&&(a instanceof q||a instanceof r)){for(var e="",f=new r(a),i=0,j=f.length;j>i;i++)e+=String.fromCharCode(f[i]);c.push(e)}else if("Blob"===b(a)||"File"===b(a)){if(!g)throw new h("NOT_READABLE_ERR");var k=new g;c.push(k.readAsBinaryString(a))}else a instanceof d?"base64"===a.encoding&&p?c.push(p(a.data)):"URI"===a.encoding?c.push(decodeURIComponent(a.data)):"raw"===a.encoding&&c.push(a.data):("string"!=typeof a&&(a+=""),c.push(unescape(encodeURIComponent(a))))},e.getBlob=function(a){return arguments.length||(a=null),new d(this.data.join(""),a,"raw")},e.toString=function(){return"[object BlobBuilder]"},f.slice=function(a,b,c){var e=arguments.length;return 3>e&&(c=null),new d(this.data.slice(a,e>1?b:this.data.length),c,this.encoding)},f.toString=function(){return"[object Blob]"},f.close=function(){this.size=0,delete this.data},c}(a);a.Blob=function(a,b){var d=b?b.type||"":"",e=new c;if(a)for(var f=0,g=a.length;g>f;f++)Uint8Array&&a[f]instanceof Uint8Array?e.append(a[f].buffer):e.append(a[f]);var h=e.getBlob(d);return!h.slice&&h.webkitSlice&&(h.slice=h.webkitSlice),h};var d=Object.getPrototypeOf||function(a){return a.__proto__};a.Blob.prototype=d(new a.Blob)}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content||this)},{}],2:[function(a,b,c){var d=d||function(a){"use strict";if("undefined"==typeof navigator||!/MSIE [1-9]\./.test(navigator.userAgent)){var b=a.document,c=function(){return a.URL||a.webkitURL||a},d=b.createElementNS("http://www.w3.org/1999/xhtml","a"),e="download"in d,f=function(a){var b=new MouseEvent("click");a.dispatchEvent(b)},g=/Version\/[\d\.]+.*Safari/.test(navigator.userAgent),h=a.webkitRequestFileSystem,i=a.requestFileSystem||h||a.mozRequestFileSystem,j=function(b){(a.setImmediate||a.setTimeout)(function(){throw b},0)},k="application/octet-stream",l=0,m=500,n=function(b){var d=function(){"string"==typeof b?c().revokeObjectURL(b):b.remove()};a.chrome?d():setTimeout(d,m)},o=function(a,b,c){b=[].concat(b);for(var d=b.length;d--;){var e=a["on"+b[d]];if("function"==typeof e)try{e.call(a,c||a)}catch(f){j(f)}}},p=function(a){return/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a.type)?new Blob(["\ufeff",a],{type:a.type}):a},q=function(b,j,m){m||(b=p(b));var q,r,s,t=this,u=b.type,v=!1,w=function(){o(t,"writestart progress write writeend".split(" "))},x=function(){if(r&&g&&"undefined"!=typeof FileReader){var d=new FileReader;return d.onloadend=function(){var a=d.result;r.location.href="data:attachment/file"+a.slice(a.search(/[,;]/)),t.readyState=t.DONE,w()},d.readAsDataURL(b),void(t.readyState=t.INIT)}if((v||!q)&&(q=c().createObjectURL(b)),r)r.location.href=q;else{var e=a.open(q,"_blank");void 0==e&&g&&(a.location.href=q)}t.readyState=t.DONE,w(),n(q)},y=function(a){return function(){return t.readyState!==t.DONE?a.apply(this,arguments):void 0}},z={create:!0,exclusive:!1};return t.readyState=t.INIT,j||(j="download"),e?(q=c().createObjectURL(b),void setTimeout(function(){d.href=q,d.download=j,f(d),w(),n(q),t.readyState=t.DONE})):(a.chrome&&u&&u!==k&&(s=b.slice||b.webkitSlice,b=s.call(b,0,b.size,k),v=!0),h&&"download"!==j&&(j+=".download"),(u===k||h)&&(r=a),i?(l+=b.size,void i(a.TEMPORARY,l,y(function(a){a.root.getDirectory("saved",z,y(function(a){var c=function(){a.getFile(j,z,y(function(a){a.createWriter(y(function(c){c.onwriteend=function(b){r.location.href=a.toURL(),t.readyState=t.DONE,o(t,"writeend",b),n(a)},c.onerror=function(){var a=c.error;a.code!==a.ABORT_ERR&&x()},"writestart progress write abort".split(" ").forEach(function(a){c["on"+a]=t["on"+a]}),c.write(b),t.abort=function(){c.abort(),t.readyState=t.DONE},t.readyState=t.WRITING}),x)}),x)};a.getFile(j,{create:!1},y(function(a){a.remove(),c()}),y(function(a){a.code===a.NOT_FOUND_ERR?c():x()}))}),x)}),x)):void x())},r=q.prototype,s=function(a,b,c){return new q(a,b,c)};return"undefined"!=typeof navigator&&navigator.msSaveOrOpenBlob?function(a,b,c){return c||(a=p(a)),navigator.msSaveOrOpenBlob(a,b||"download")}:(r.abort=function(){var a=this;a.readyState=a.DONE,o(a,"abort")},r.readyState=r.INIT=0,r.WRITING=1,r.DONE=2,r.error=r.onwritestart=r.onprogress=r.onwrite=r.onabort=r.onerror=r.onwriteend=null,s)}}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content);
-"undefined"!=typeof b&&b.exports?b.exports.saveAs=d:"undefined"!=typeof define&&null!==define&&null!=define.amd&&define([],function(){return d})},{}],3:[function(a,b,c){"use strict";angular.module("ngFileSaver",[]).factory("FileSaver",["Blob","SaveAs","FileSaverUtils",a("./angular-file-saver.service")]).factory("FileSaverUtils",[a("./utils/utils.service.js")]).factory("Blob",["$window",a("./dependencies/blob-bundle.service.js")]).factory("SaveAs",[a("./dependencies/file-saver-bundle.service.js")])},{"./angular-file-saver.service":4,"./dependencies/blob-bundle.service.js":5,"./dependencies/file-saver-bundle.service.js":6,"./utils/utils.service.js":7}],4:[function(a,b,c){"use strict";b.exports=function(a,b,c){function d(a,d,e){try{b(a,d,e)}catch(f){c.handleErrors(f.message)}}return{saveAs:function(a,b,e){return c.isBlobInstance(a)||c.handleErrors("Data argument should be a blob instance"),c.isString(b)||c.handleErrors("Filename argument should be a string"),d(a,b,e)}}}},{}],5:[function(a,b,c){"use strict";a("Blob.js"),b.exports=function(a){return a.Blob}},{"Blob.js":1}],6:[function(a,b,c){"use strict";b.exports=function(){return a("FileSaver.js").saveAs||function(){}}},{"FileSaver.js":2}],7:[function(a,b,c){"use strict";b.exports=function(){return{handleErrors:function(a){throw new Error(a)},isString:function(a){return"string"==typeof a||a instanceof String},isUndefined:function(a){return"undefined"==typeof a},isBlobInstance:function(a){return a instanceof Blob}}}},{}]},{},[3]),function(a){function b(a,b,c){switch(arguments.length){case 2:return null!=a?a:b;case 3:return null!=a?a:null!=b?b:c;default:throw new Error("Implement me")}}function c(a,b){return za.call(a,b)}function d(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function e(a){ta.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+a)}function f(a,b){var c=!0;return m(function(){return c&&(e(a),c=!1),b.apply(this,arguments)},b)}function g(a,b){qb[a]||(e(b),qb[a]=!0)}function h(a,b){return function(c){return p(a.call(this,c),b)}}function i(a,b){return function(c){return this.localeData().ordinal(a.call(this,c),b)}}function j(){}function k(a,b){b!==!1&&F(a),n(this,a),this._d=new Date(+a._d)}function l(a){var b=y(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.week||0,g=b.day||0,h=b.hour||0,i=b.minute||0,j=b.second||0,k=b.millisecond||0;this._milliseconds=+k+1e3*j+6e4*i+36e5*h,this._days=+g+7*f,this._months=+e+3*d+12*c,this._data={},this._locale=ta.localeData(),this._bubble()}function m(a,b){for(var d in b)c(b,d)&&(a[d]=b[d]);return c(b,"toString")&&(a.toString=b.toString),c(b,"valueOf")&&(a.valueOf=b.valueOf),a}function n(a,b){var c,d,e;if("undefined"!=typeof b._isAMomentObject&&(a._isAMomentObject=b._isAMomentObject),"undefined"!=typeof b._i&&(a._i=b._i),"undefined"!=typeof b._f&&(a._f=b._f),"undefined"!=typeof b._l&&(a._l=b._l),"undefined"!=typeof b._strict&&(a._strict=b._strict),"undefined"!=typeof b._tzm&&(a._tzm=b._tzm),"undefined"!=typeof b._isUTC&&(a._isUTC=b._isUTC),"undefined"!=typeof b._offset&&(a._offset=b._offset),"undefined"!=typeof b._pf&&(a._pf=b._pf),"undefined"!=typeof b._locale&&(a._locale=b._locale),Ia.length>0)for(c in Ia)d=Ia[c],e=b[d],"undefined"!=typeof e&&(a[d]=e);return a}function o(a){return 0>a?Math.ceil(a):Math.floor(a)}function p(a,b,c){for(var d=""+Math.abs(a),e=a>=0;d.length<b;)d="0"+d;return(e?c?"+":"":"-")+d}function q(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function r(a,b){var c;return b=K(b,a),a.isBefore(b)?c=q(a,b):(c=q(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c}function s(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||(g(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period)."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=ta.duration(c,d),t(this,e,a),this}}function t(a,b,c,d){var e=b._milliseconds,f=b._days,g=b._months;d=null==d?!0:d,e&&a._d.setTime(+a._d+e*c),f&&na(a,"Date",ma(a,"Date")+f*c),g&&la(a,ma(a,"Month")+g*c),d&&ta.updateOffset(a,f||g)}function u(a){return"[object Array]"===Object.prototype.toString.call(a)}function v(a){return"[object Date]"===Object.prototype.toString.call(a)||a instanceof Date}function w(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;e>d;d++)(c&&a[d]!==b[d]||!c&&A(a[d])!==A(b[d]))&&g++;return g+f}function x(a){if(a){var b=a.toLowerCase().replace(/(.)s$/,"$1");a=jb[a]||kb[b]||b}return a}function y(a){var b,d,e={};for(d in a)c(a,d)&&(b=x(d),b&&(e[b]=a[d]));return e}function z(b){var c,d;if(0===b.indexOf("week"))c=7,d="day";else{if(0!==b.indexOf("month"))return;c=12,d="month"}ta[b]=function(e,f){var g,h,i=ta._locale[b],j=[];if("number"==typeof e&&(f=e,e=a),h=function(a){var b=ta().utc().set(d,a);return i.call(ta._locale,b,e||"")},null!=f)return h(f);for(g=0;c>g;g++)j.push(h(g));return j}}function A(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=b>=0?Math.floor(b):Math.ceil(b)),c}function B(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function C(a,b,c){return ha(ta([a,11,31+b-c]),b,c).week}function D(a){return E(a)?366:365}function E(a){return a%4===0&&a%100!==0||a%400===0}function F(a){var b;a._a&&-2===a._pf.overflow&&(b=a._a[Ba]<0||a._a[Ba]>11?Ba:a._a[Ca]<1||a._a[Ca]>B(a._a[Aa],a._a[Ba])?Ca:a._a[Da]<0||a._a[Da]>24||24===a._a[Da]&&(0!==a._a[Ea]||0!==a._a[Fa]||0!==a._a[Ga])?Da:a._a[Ea]<0||a._a[Ea]>59?Ea:a._a[Fa]<0||a._a[Fa]>59?Fa:a._a[Ga]<0||a._a[Ga]>999?Ga:-1,a._pf._overflowDayOfYear&&(Aa>b||b>Ca)&&(b=Ca),a._pf.overflow=b)}function G(b){return null==b._isValid&&(b._isValid=!isNaN(b._d.getTime())&&b._pf.overflow<0&&!b._pf.empty&&!b._pf.invalidMonth&&!b._pf.nullInput&&!b._pf.invalidFormat&&!b._pf.userInvalidated,b._strict&&(b._isValid=b._isValid&&0===b._pf.charsLeftOver&&0===b._pf.unusedTokens.length&&b._pf.bigHour===a)),b._isValid}function H(a){return a?a.toLowerCase().replace("_","-"):a}function I(a){for(var b,c,d,e,f=0;f<a.length;){for(e=H(a[f]).split("-"),b=e.length,c=H(a[f+1]),c=c?c.split("-"):null;b>0;){if(d=J(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&w(e,c,!0)>=b-1)break;b--}f++}return null}function J(a){var b=null;if(!Ha[a]&&Ja)try{b=ta.locale(),require("./locale/"+a),ta.locale(b)}catch(c){}return Ha[a]}function K(a,b){var c,d;return b._isUTC?(c=b.clone(),d=(ta.isMoment(a)||v(a)?+a:+ta(a))-+c,c._d.setTime(+c._d+d),ta.updateOffset(c,!1),c):ta(a).local()}function L(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function M(a){var b,c,d=a.match(Na);for(b=0,c=d.length;c>b;b++)pb[d[b]]?d[b]=pb[d[b]]:d[b]=L(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function N(a,b){return a.isValid()?(b=O(b,a.localeData()),lb[b]||(lb[b]=M(b)),lb[b](a)):a.localeData().invalidDate()}function O(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Oa.lastIndex=0;d>=0&&Oa.test(a);)a=a.replace(Oa,c),Oa.lastIndex=0,d-=1;return a}function P(a,b){var c,d=b._strict;switch(a){case"Q":return Za;case"DDDD":return _a;case"YYYY":case"GGGG":case"gggg":return d?ab:Ra;case"Y":case"G":case"g":return cb;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return d?bb:Sa;case"S":if(d)return Za;case"SS":if(d)return $a;case"SSS":if(d)return _a;case"DDD":return Qa;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Ua;case"a":case"A":return b._locale._meridiemParse;case"x":return Xa;case"X":return Ya;case"Z":case"ZZ":return Va;case"T":return Wa;case"SSSS":return Ta;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return d?$a:Pa;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return Pa;case"Do":return d?b._locale._ordinalParse:b._locale._ordinalParseLenient;default:return c=new RegExp(Y(X(a.replace("\\","")),"i"))}}function Q(a){a=a||"";var b=a.match(Va)||[],c=b[b.length-1]||[],d=(c+"").match(hb)||["-",0,0],e=+(60*d[1])+A(d[2]);return"+"===d[0]?-e:e}function R(a,b,c){var d,e=c._a;switch(a){case"Q":null!=b&&(e[Ba]=3*(A(b)-1));break;case"M":case"MM":null!=b&&(e[Ba]=A(b)-1);break;case"MMM":case"MMMM":d=c._locale.monthsParse(b,a,c._strict),null!=d?e[Ba]=d:c._pf.invalidMonth=b;break;case"D":case"DD":null!=b&&(e[Ca]=A(b));break;case"Do":null!=b&&(e[Ca]=A(parseInt(b.match(/\d{1,2}/)[0],10)));break;case"DDD":case"DDDD":null!=b&&(c._dayOfYear=A(b));break;case"YY":e[Aa]=ta.parseTwoDigitYear(b);break;case"YYYY":case"YYYYY":case"YYYYYY":e[Aa]=A(b);break;case"a":case"A":c._isPm=c._locale.isPM(b);break;case"h":case"hh":c._pf.bigHour=!0;case"H":case"HH":e[Da]=A(b);break;case"m":case"mm":e[Ea]=A(b);break;case"s":case"ss":e[Fa]=A(b);break;case"S":case"SS":case"SSS":case"SSSS":e[Ga]=A(1e3*("0."+b));break;case"x":c._d=new Date(A(b));break;case"X":c._d=new Date(1e3*parseFloat(b));break;case"Z":case"ZZ":c._useUTC=!0,c._tzm=Q(b);break;case"dd":case"ddd":case"dddd":d=c._locale.weekdaysParse(b),null!=d?(c._w=c._w||{},c._w.d=d):c._pf.invalidWeekday=b;break;case"w":case"ww":case"W":case"WW":case"d":case"e":case"E":a=a.substr(0,1);case"gggg":case"GGGG":case"GGGGG":a=a.substr(0,2),b&&(c._w=c._w||{},c._w[a]=A(b));break;case"gg":case"GG":c._w=c._w||{},c._w[a]=ta.parseTwoDigitYear(b)}}function S(a){var c,d,e,f,g,h,i;c=a._w,null!=c.GG||null!=c.W||null!=c.E?(g=1,h=4,d=b(c.GG,a._a[Aa],ha(ta(),1,4).year),e=b(c.W,1),f=b(c.E,1)):(g=a._locale._week.dow,h=a._locale._week.doy,d=b(c.gg,a._a[Aa],ha(ta(),g,h).year),e=b(c.w,1),null!=c.d?(f=c.d,g>f&&++e):f=null!=c.e?c.e+g:g),i=ia(d,e,f,h,g),a._a[Aa]=i.year,a._dayOfYear=i.dayOfYear}function T(a){var c,d,e,f,g=[];if(!a._d){for(e=V(a),a._w&&null==a._a[Ca]&&null==a._a[Ba]&&S(a),a._dayOfYear&&(f=b(a._a[Aa],e[Aa]),a._dayOfYear>D(f)&&(a._pf._overflowDayOfYear=!0),d=da(f,0,a._dayOfYear),a._a[Ba]=d.getUTCMonth(),a._a[Ca]=d.getUTCDate()),c=0;3>c&&null==a._a[c];++c)a._a[c]=g[c]=e[c];for(;7>c;c++)a._a[c]=g[c]=null==a._a[c]?2===c?1:0:a._a[c];24===a._a[Da]&&0===a._a[Ea]&&0===a._a[Fa]&&0===a._a[Ga]&&(a._nextDay=!0,a._a[Da]=0),a._d=(a._useUTC?da:ca).apply(null,g),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()+a._tzm),a._nextDay&&(a._a[Da]=24)}}function U(a){var b;a._d||(b=y(a._i),a._a=[b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],T(a))}function V(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function W(b){if(b._f===ta.ISO_8601)return void $(b);b._a=[],b._pf.empty=!0;var c,d,e,f,g,h=""+b._i,i=h.length,j=0;for(e=O(b._f,b._locale).match(Na)||[],c=0;c<e.length;c++)f=e[c],d=(h.match(P(f,b))||[])[0],d&&(g=h.substr(0,h.indexOf(d)),g.length>0&&b._pf.unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),pb[f]?(d?b._pf.empty=!1:b._pf.unusedTokens.push(f),R(f,d,b)):b._strict&&!d&&b._pf.unusedTokens.push(f);b._pf.charsLeftOver=i-j,h.length>0&&b._pf.unusedInput.push(h),b._pf.bigHour===!0&&b._a[Da]<=12&&(b._pf.bigHour=a),b._isPm&&b._a[Da]<12&&(b._a[Da]+=12),b._isPm===!1&&12===b._a[Da]&&(b._a[Da]=0),T(b),F(b)}function X(a){return a.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e})}function Y(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Z(a){var b,c,e,f,g;if(0===a._f.length)return a._pf.invalidFormat=!0,void(a._d=new Date(NaN));for(f=0;f<a._f.length;f++)g=0,b=n({},a),null!=a._useUTC&&(b._useUTC=a._useUTC),b._pf=d(),b._f=a._f[f],W(b),G(b)&&(g+=b._pf.charsLeftOver,g+=10*b._pf.unusedTokens.length,b._pf.score=g,(null==e||e>g)&&(e=g,c=b));m(a,c||b)}function $(a){var b,c,d=a._i,e=db.exec(d);if(e){for(a._pf.iso=!0,b=0,c=fb.length;c>b;b++)if(fb[b][1].exec(d)){a._f=fb[b][0]+(e[6]||" ");break}for(b=0,c=gb.length;c>b;b++)if(gb[b][1].exec(d)){a._f+=gb[b][0];break}d.match(Va)&&(a._f+="Z"),W(a)}else a._isValid=!1}function _(a){$(a),a._isValid===!1&&(delete a._isValid,ta.createFromInputFallback(a))}function aa(a,b){var c,d=[];for(c=0;c<a.length;++c)d.push(b(a[c],c));return d}function ba(b){var c,d=b._i;d===a?b._d=new Date:v(d)?b._d=new Date(+d):null!==(c=Ka.exec(d))?b._d=new Date(+c[1]):"string"==typeof d?_(b):u(d)?(b._a=aa(d.slice(0),function(a){return parseInt(a,10)}),T(b)):"object"==typeof d?U(b):"number"==typeof d?b._d=new Date(d):ta.createFromInputFallback(b)}function ca(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 1970>a&&h.setFullYear(a),h}function da(a){var b=new Date(Date.UTC.apply(null,arguments));return 1970>a&&b.setUTCFullYear(a),b}function ea(a,b){if("string"==typeof a)if(isNaN(a)){if(a=b.weekdaysParse(a),"number"!=typeof a)return null}else a=parseInt(a,10);return a}function fa(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function ga(a,b,c){var d=ta.duration(a).abs(),e=ya(d.as("s")),f=ya(d.as("m")),g=ya(d.as("h")),h=ya(d.as("d")),i=ya(d.as("M")),j=ya(d.as("y")),k=e<mb.s&&["s",e]||1===f&&["m"]||f<mb.m&&["mm",f]||1===g&&["h"]||g<mb.h&&["hh",g]||1===h&&["d"]||h<mb.d&&["dd",h]||1===i&&["M"]||i<mb.M&&["MM",i]||1===j&&["y"]||["yy",j];return k[2]=b,k[3]=+a>0,k[4]=c,fa.apply({},k)}function ha(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),e-7>f&&(f+=7),d=ta(a).add(f,"d"),{week:Math.ceil(d.dayOfYear()/7),year:d.year()}}function ia(a,b,c,d,e){var f,g,h=da(a,0,1).getUTCDay();return h=0===h?7:h,c=null!=c?c:e,f=e-h+(h>d?7:0)-(e>h?7:0),g=7*(b-1)+(c-e)+f+1,{year:g>0?a:a-1,dayOfYear:g>0?g:D(a-1)+g}}function ja(b){var c,d=b._i,e=b._f;return b._locale=b._locale||ta.localeData(b._l),null===d||e===a&&""===d?ta.invalid({nullInput:!0}):("string"==typeof d&&(b._i=d=b._locale.preparse(d)),ta.isMoment(d)?new k(d,!0):(e?u(e)?Z(b):W(b):ba(b),c=new k(b),c._nextDay&&(c.add(1,"d"),c._nextDay=a),c))}function ka(a,b){var c,d;if(1===b.length&&u(b[0])&&(b=b[0]),!b.length)return ta();for(c=b[0],d=1;d<b.length;++d)b[d][a](c)&&(c=b[d]);return c}function la(a,b){var c;return"string"==typeof b&&(b=a.localeData().monthsParse(b),"number"!=typeof b)?a:(c=Math.min(a.date(),B(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a)}function ma(a,b){return a._d["get"+(a._isUTC?"UTC":"")+b]()}function na(a,b,c){return"Month"===b?la(a,c):a._d["set"+(a._isUTC?"UTC":"")+b](c)}function oa(a,b){return function(c){return null!=c?(na(this,a,c),ta.updateOffset(this,b),this):ma(this,a)}}function pa(a){return 400*a/146097}function qa(a){return 146097*a/400}function ra(a){ta.duration.fn[a]=function(){return this._data[a]}}function sa(a){"undefined"==typeof ender&&(ua=xa.moment,a?xa.moment=f("Accessing Moment through the global scope is deprecated, and will be removed in an upcoming release.",ta):xa.moment=ta)}for(var ta,ua,va,wa="2.8.4",xa="undefined"!=typeof global?global:this,ya=Math.round,za=Object.prototype.hasOwnProperty,Aa=0,Ba=1,Ca=2,Da=3,Ea=4,Fa=5,Ga=6,Ha={},Ia=[],Ja="undefined"!=typeof module&&module&&module.exports,Ka=/^\/?Date\((\-?\d+)/i,La=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Ma=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,Na=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g,Oa=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Pa=/\d\d?/,Qa=/\d{1,3}/,Ra=/\d{1,4}/,Sa=/[+\-]?\d{1,6}/,Ta=/\d+/,Ua=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Va=/Z|[\+\-]\d\d:?\d\d/gi,Wa=/T/i,Xa=/[\+\-]?\d+/,Ya=/[\+\-]?\d+(\.\d{1,3})?/,Za=/\d/,$a=/\d\d/,_a=/\d{3}/,ab=/\d{4}/,bb=/[+-]?\d{6}/,cb=/[+-]?\d+/,db=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,eb="YYYY-MM-DDTHH:mm:ssZ",fb=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],gb=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],hb=/([\+\-]|\d\d)/gi,ib=("Date|Hours|Minutes|Seconds|Milliseconds".split("|"),{Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6}),jb={ms:"millisecond",s:"second",m:"minute",h:"hour",d:"day",D:"date",w:"week",W:"isoWeek",M:"month",Q:"quarter",y:"year",DDD:"dayOfYear",e:"weekday",E:"isoWeekday",gg:"weekYear",GG:"isoWeekYear"},kb={dayofyear:"dayOfYear",isoweekday:"isoWeekday",isoweek:"isoWeek",weekyear:"weekYear",isoweekyear:"isoWeekYear"},lb={},mb={s:45,m:45,h:22,d:26,M:11},nb="DDD w W M D d".split(" "),ob="M D H h m s w W".split(" "),pb={M:function(){return this.month()+1},MMM:function(a){return this.localeData().monthsShort(this,a)},MMMM:function(a){return this.localeData().months(this,a)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(a){return this.localeData().weekdaysMin(this,a)},ddd:function(a){return this.localeData().weekdaysShort(this,a)},dddd:function(a){return this.localeData().weekdays(this,a)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return p(this.year()%100,2)},YYYY:function(){return p(this.year(),4)},YYYYY:function(){return p(this.year(),5)},YYYYYY:function(){var a=this.year(),b=a>=0?"+":"-";return b+p(Math.abs(a),6)},gg:function(){return p(this.weekYear()%100,2)},gggg:function(){return p(this.weekYear(),4)},ggggg:function(){return p(this.weekYear(),5)},GG:function(){return p(this.isoWeekYear()%100,2)},GGGG:function(){return p(this.isoWeekYear(),4)},GGGGG:function(){return p(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return A(this.milliseconds()/100)},SS:function(){return p(A(this.milliseconds()/10),2)},SSS:function(){return p(this.milliseconds(),3)},SSSS:function(){return p(this.milliseconds(),3)},Z:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+p(A(a/60),2)+":"+p(A(a)%60,2)},ZZ:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+p(A(a/60),2)+p(A(a)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},x:function(){return this.valueOf()},X:function(){return this.unix()},Q:function(){return this.quarter()}},qb={},rb=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];nb.length;)va=nb.pop(),pb[va+"o"]=i(pb[va],va);for(;ob.length;)va=ob.pop(),pb[va+va]=h(pb[va],2);pb.DDDD=h(pb.DDD,3),m(j.prototype,{set:function(a){var b,c;for(c in a)b=a[c],"function"==typeof b?this[c]=b:this["_"+c]=b;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(a){return this._months[a.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(a){return this._monthsShort[a.month()]},monthsParse:function(a,b,c){var d,e,f;for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),d=0;12>d;d++){if(e=ta.utc([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp("^"+this.months(e,"").replace(".","")+"$","i"),this._shortMonthsParse[d]=new RegExp("^"+this.monthsShort(e,"").replace(".","")+"$","i")),c||this._monthsParse[d]||(f="^"+this.months(e,"")+"|^"+this.monthsShort(e,""),this._monthsParse[d]=new RegExp(f.replace(".",""),"i")),c&&"MMMM"===b&&this._longMonthsParse[d].test(a))return d;if(c&&"MMM"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d}},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(a){return this._weekdays[a.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(a){return this._weekdaysShort[a.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(a){return this._weekdaysMin[a.day()]},weekdaysParse:function(a){var b,c,d;for(this._weekdaysParse||(this._weekdaysParse=[]),b=0;7>b;b++)if(this._weekdaysParse[b]||(c=ta([2e3,1]).day(b),d="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[b]=new RegExp(d.replace(".",""),"i")),this._weekdaysParse[b].test(a))return b},_longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},longDateFormat:function(a){var b=this._longDateFormat[a];return!b&&this._longDateFormat[a.toUpperCase()]&&(b=this._longDateFormat[a.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a]=b),b},isPM:function(a){return"p"===(a+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(a,b,c){var d=this._calendar[a];return"function"==typeof d?d.apply(b,[c]):d},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(a,b,c,d){var e=this._relativeTime[c];return"function"==typeof e?e(a,b,c,d):e.replace(/%d/i,a)},pastFuture:function(a,b){var c=this._relativeTime[a>0?"future":"past"];return"function"==typeof c?c(b):c.replace(/%s/i,b)},ordinal:function(a){return this._ordinal.replace("%d",a)},_ordinal:"%d",_ordinalParse:/\d{1,2}/,preparse:function(a){return a},postformat:function(a){return a},week:function(a){return ha(a,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),ta=function(b,c,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._i=b,g._f=c,g._l=e,g._strict=f,g._isUTC=!1,g._pf=d(),ja(g)},ta.suppressDeprecationWarnings=!1,ta.createFromInputFallback=f("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),ta.min=function(){var a=[].slice.call(arguments,0);return ka("isBefore",a)},ta.max=function(){var a=[].slice.call(arguments,0);return ka("isAfter",a)},ta.utc=function(b,c,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._useUTC=!0,g._isUTC=!0,g._l=e,g._i=b,g._f=c,g._strict=f,g._pf=d(),ja(g).utc()},ta.unix=function(a){return ta(1e3*a)},ta.duration=function(a,b){var d,e,f,g,h=a,i=null;return ta.isDuration(a)?h={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(h={},b?h[b]=a:h.milliseconds=a):(i=La.exec(a))?(d="-"===i[1]?-1:1,h={y:0,d:A(i[Ca])*d,h:A(i[Da])*d,m:A(i[Ea])*d,s:A(i[Fa])*d,ms:A(i[Ga])*d}):(i=Ma.exec(a))?(d="-"===i[1]?-1:1,f=function(a){var b=a&&parseFloat(a.replace(",","."));return(isNaN(b)?0:b)*d},h={y:f(i[2]),M:f(i[3]),d:f(i[4]),h:f(i[5]),m:f(i[6]),s:f(i[7]),w:f(i[8])}):"object"==typeof h&&("from"in h||"to"in h)&&(g=r(ta(h.from),ta(h.to)),h={},h.ms=g.milliseconds,h.M=g.months),e=new l(h),ta.isDuration(a)&&c(a,"_locale")&&(e._locale=a._locale),e},ta.version=wa,ta.defaultFormat=eb,ta.ISO_8601=function(){},ta.momentProperties=Ia,ta.updateOffset=function(){},ta.relativeTimeThreshold=function(b,c){return mb[b]===a?!1:c===a?mb[b]:(mb[b]=c,!0)},ta.lang=f("moment.lang is deprecated. Use moment.locale instead.",function(a,b){return ta.locale(a,b)}),ta.locale=function(a,b){var c;return a&&(c="undefined"!=typeof b?ta.defineLocale(a,b):ta.localeData(a),c&&(ta.duration._locale=ta._locale=c)),ta._locale._abbr},ta.defineLocale=function(a,b){return null!==b?(b.abbr=a,Ha[a]||(Ha[a]=new j),Ha[a].set(b),ta.locale(a),Ha[a]):(delete Ha[a],null)},ta.langData=f("moment.langData is deprecated. Use moment.localeData instead.",function(a){return ta.localeData(a)}),ta.localeData=function(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return ta._locale;if(!u(a)){if(b=J(a))return b;a=[a]}return I(a)},ta.isMoment=function(a){return a instanceof k||null!=a&&c(a,"_isAMomentObject")},ta.isDuration=function(a){return a instanceof l};for(va=rb.length-1;va>=0;--va)z(rb[va]);ta.normalizeUnits=function(a){return x(a)},ta.invalid=function(a){var b=ta.utc(NaN);return null!=a?m(b._pf,a):b._pf.userInvalidated=!0,b},ta.parseZone=function(){return ta.apply(null,arguments).parseZone()},ta.parseTwoDigitYear=function(a){return A(a)+(A(a)>68?1900:2e3)},m(ta.fn=k.prototype,{clone:function(){return ta(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var a=ta(this).utc();return 0<a.year()&&a.year()<=9999?"function"==typeof Date.prototype.toISOString?this.toDate().toISOString():N(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):N(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")},toArray:function(){var a=this;return[a.year(),a.month(),a.date(),a.hours(),a.minutes(),a.seconds(),a.milliseconds()]},isValid:function(){return G(this)},isDSTShifted:function(){return this._a?this.isValid()&&w(this._a,(this._isUTC?ta.utc(this._a):ta(this._a)).toArray())>0:!1},parsingFlags:function(){return m({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(a){return this.zone(0,a)},local:function(a){return this._isUTC&&(this.zone(0,a),this._isUTC=!1,a&&this.add(this._dateTzOffset(),"m")),this},format:function(a){var b=N(this,a||ta.defaultFormat);return this.localeData().postformat(b)},add:s(1,"add"),subtract:s(-1,"subtract"),diff:function(a,b,c){var d,e,f,g=K(a,this),h=6e4*(this.zone()-g.zone());return b=x(b),"year"===b||"month"===b?(d=432e5*(this.daysInMonth()+g.daysInMonth()),e=12*(this.year()-g.year())+(this.month()-g.month()),f=this-ta(this).startOf("month")-(g-ta(g).startOf("month")),f-=6e4*(this.zone()-ta(this).startOf("month").zone()-(g.zone()-ta(g).startOf("month").zone())),e+=f/d,"year"===b&&(e/=12)):(d=this-g,e="second"===b?d/1e3:"minute"===b?d/6e4:"hour"===b?d/36e5:"day"===b?(d-h)/864e5:"week"===b?(d-h)/6048e5:d),c?e:o(e)},from:function(a,b){return ta.duration({to:this,from:a}).locale(this.locale()).humanize(!b)},fromNow:function(a){return this.from(ta(),a)},calendar:function(a){var b=a||ta(),c=K(b,this).startOf("day"),d=this.diff(c,"days",!0),e=-6>d?"sameElse":-1>d?"lastWeek":0>d?"lastDay":1>d?"sameDay":2>d?"nextDay":7>d?"nextWeek":"sameElse";return this.format(this.localeData().calendar(e,this,ta(b)))},isLeapYear:function(){return E(this.year())},isDST:function(){return this.zone()<this.clone().month(0).zone()||this.zone()<this.clone().month(5).zone()},day:function(a){var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=ea(a,this.localeData()),this.add(a-b,"d")):b},month:oa("Month",!0),startOf:function(a){switch(a=x(a)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===a?this.weekday(0):"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this},endOf:function(b){return b=x(b),b===a||"millisecond"===b?this:this.startOf(b).add(1,"isoWeek"===b?"week":b).subtract(1,"ms")},isAfter:function(a,b){var c;return b=x("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=ta.isMoment(a)?a:ta(a),+this>+a):(c=ta.isMoment(a)?+a:+ta(a),c<+this.clone().startOf(b))},isBefore:function(a,b){var c;return b=x("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=ta.isMoment(a)?a:ta(a),+a>+this):(c=ta.isMoment(a)?+a:+ta(a),+this.clone().endOf(b)<c)},isSame:function(a,b){var c;return b=x(b||"millisecond"),"millisecond"===b?(a=ta.isMoment(a)?a:ta(a),+this===+a):(c=+ta(a),+this.clone().startOf(b)<=c&&c<=+this.clone().endOf(b))},min:f("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(a){return a=ta.apply(null,arguments),this>a?this:a}),max:f("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(a){return a=ta.apply(null,arguments),a>this?this:a}),zone:function(a,b){var c,d=this._offset||0;return null==a?this._isUTC?d:this._dateTzOffset():("string"==typeof a&&(a=Q(a)),Math.abs(a)<16&&(a=60*a),!this._isUTC&&b&&(c=this._dateTzOffset()),this._offset=a,this._isUTC=!0,null!=c&&this.subtract(c,"m"),d!==a&&(!b||this._changeInProgress?t(this,ta.duration(d-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,ta.updateOffset(this,!0),this._changeInProgress=null)),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(a){return a=a?ta(a).zone():0,(this.zone()-a)%60===0},daysInMonth:function(){return B(this.year(),this.month())},dayOfYear:function(a){var b=ya((ta(this).startOf("day")-ta(this).startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")},quarter:function(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)},weekYear:function(a){var b=ha(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==a?b:this.add(a-b,"y")},isoWeekYear:function(a){var b=ha(this,1,4).year;return null==a?b:this.add(a-b,"y")},week:function(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")},isoWeek:function(a){var b=ha(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")},weekday:function(a){var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")},isoWeekday:function(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)},isoWeeksInYear:function(){return C(this.year(),1,4)},weeksInYear:function(){var a=this.localeData()._week;return C(this.year(),a.dow,a.doy)},get:function(a){return a=x(a),this[a]()},set:function(a,b){return a=x(a),"function"==typeof this[a]&&this[a](b),this},locale:function(b){var c;return b===a?this._locale._abbr:(c=ta.localeData(b),null!=c&&(this._locale=c),this)},lang:f("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(b){return b===a?this.localeData():this.locale(b)}),localeData:function(){return this._locale},_dateTzOffset:function(){return 15*Math.round(this._d.getTimezoneOffset()/15)}}),ta.fn.millisecond=ta.fn.milliseconds=oa("Milliseconds",!1),ta.fn.second=ta.fn.seconds=oa("Seconds",!1),ta.fn.minute=ta.fn.minutes=oa("Minutes",!1),ta.fn.hour=ta.fn.hours=oa("Hours",!0),ta.fn.date=oa("Date",!0),ta.fn.dates=f("dates accessor is deprecated. Use date instead.",oa("Date",!0)),ta.fn.year=oa("FullYear",!0),ta.fn.years=f("years accessor is deprecated. Use year instead.",oa("FullYear",!0)),ta.fn.days=ta.fn.day,ta.fn.months=ta.fn.month,ta.fn.weeks=ta.fn.week,ta.fn.isoWeeks=ta.fn.isoWeek,ta.fn.quarters=ta.fn.quarter,ta.fn.toJSON=ta.fn.toISOString,m(ta.duration.fn=l.prototype,{_bubble:function(){var a,b,c,d=this._milliseconds,e=this._days,f=this._months,g=this._data,h=0;g.milliseconds=d%1e3,a=o(d/1e3),g.seconds=a%60,b=o(a/60),g.minutes=b%60,c=o(b/60),g.hours=c%24,e+=o(c/24),h=o(pa(e)),e-=o(qa(h)),f+=o(e/30),e%=30,h+=o(f/12),f%=12,g.days=e,
-g.months=f,g.years=h},abs:function(){return this._milliseconds=Math.abs(this._milliseconds),this._days=Math.abs(this._days),this._months=Math.abs(this._months),this._data.milliseconds=Math.abs(this._data.milliseconds),this._data.seconds=Math.abs(this._data.seconds),this._data.minutes=Math.abs(this._data.minutes),this._data.hours=Math.abs(this._data.hours),this._data.months=Math.abs(this._data.months),this._data.years=Math.abs(this._data.years),this},weeks:function(){return o(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*A(this._months/12)},humanize:function(a){var b=ga(this,!a,this.localeData());return a&&(b=this.localeData().pastFuture(+this,b)),this.localeData().postformat(b)},add:function(a,b){var c=ta.duration(a,b);return this._milliseconds+=c._milliseconds,this._days+=c._days,this._months+=c._months,this._bubble(),this},subtract:function(a,b){var c=ta.duration(a,b);return this._milliseconds-=c._milliseconds,this._days-=c._days,this._months-=c._months,this._bubble(),this},get:function(a){return a=x(a),this[a.toLowerCase()+"s"]()},as:function(a){var b,c;if(a=x(a),"month"===a||"year"===a)return b=this._days+this._milliseconds/864e5,c=this._months+12*pa(b),"month"===a?c:c/12;switch(b=this._days+Math.round(qa(this._months/12)),a){case"week":return b/7+this._milliseconds/6048e5;case"day":return b+this._milliseconds/864e5;case"hour":return 24*b+this._milliseconds/36e5;case"minute":return 24*b*60+this._milliseconds/6e4;case"second":return 24*b*60*60+this._milliseconds/1e3;case"millisecond":return Math.floor(24*b*60*60*1e3)+this._milliseconds;default:throw new Error("Unknown unit "+a)}},lang:ta.fn.lang,locale:ta.fn.locale,toIsoString:f("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",function(){return this.toISOString()}),toISOString:function(){var a=Math.abs(this.years()),b=Math.abs(this.months()),c=Math.abs(this.days()),d=Math.abs(this.hours()),e=Math.abs(this.minutes()),f=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(a?a+"Y":"")+(b?b+"M":"")+(c?c+"D":"")+(d||e||f?"T":"")+(d?d+"H":"")+(e?e+"M":"")+(f?f+"S":""):"P0D"},localeData:function(){return this._locale}}),ta.duration.fn.toString=ta.duration.fn.toISOString;for(va in ib)c(ib,va)&&ra(va.toLowerCase());ta.duration.fn.asMilliseconds=function(){return this.as("ms")},ta.duration.fn.asSeconds=function(){return this.as("s")},ta.duration.fn.asMinutes=function(){return this.as("m")},ta.duration.fn.asHours=function(){return this.as("h")},ta.duration.fn.asDays=function(){return this.as("d")},ta.duration.fn.asWeeks=function(){return this.as("weeks")},ta.duration.fn.asMonths=function(){return this.as("M")},ta.duration.fn.asYears=function(){return this.as("y")},ta.locale("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===A(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),Ja?module.exports=ta:"function"==typeof define&&define.amd?(define("moment",function(a,b,c){return c.config&&c.config()&&c.config().noGlobal===!0&&(xa.moment=ua),ta}),sa(!0)):sa()}.call(this),function(a,b){if("function"==typeof define&&define.amd)define(["moment","jquery","exports"],function(c,d,e){a.daterangepicker=b(a,e,c,d)});else if("undefined"!=typeof exports){var c,d=require("moment");try{c=require("jquery")}catch(e){if(c=window.jQuery,!c)throw new Error("jQuery dependency not found")}b(a,exports,d,c)}else a.daterangepicker=b(a,{},a.moment,a.jQuery||a.Zepto||a.ender||a.$)}(this,function(a,b,c,d){var e=function(a,b,c){this.parentEl="body",this.element=d(a),this.isShowing=!1;var e='<div class="daterangepicker dropdown-menu"><div class="calendar first left"></div><div class="calendar second right"></div><div class="ranges"><div class="range_inputs"><div class="daterangepicker_start_input"><label for="daterangepicker_start"></label><input class="input-mini" type="text" name="daterangepicker_start" value="" /></div><div class="daterangepicker_end_input"><label for="daterangepicker_end"></label><input class="input-mini" type="text" name="daterangepicker_end" value="" /></div><button class="applyBtn" disabled="disabled"></button>&nbsp;<button class="cancelBtn"></button></div></div></div>';("object"!=typeof b||null===b)&&(b={}),this.parentEl=d("object"==typeof b&&b.parentEl&&d(b.parentEl).length?b.parentEl:this.parentEl),this.container=d(e).appendTo(this.parentEl),this.setOptions(b,c);var f=this.container;d.each(this.buttonClasses,function(a,b){f.find("button").addClass(b)}),this.container.find(".daterangepicker_start_input label").html(this.locale.fromLabel),this.container.find(".daterangepicker_end_input label").html(this.locale.toLabel),this.applyClass.length&&this.container.find(".applyBtn").addClass(this.applyClass),this.cancelClass.length&&this.container.find(".cancelBtn").addClass(this.cancelClass),this.container.find(".applyBtn").html(this.locale.applyLabel),this.container.find(".cancelBtn").html(this.locale.cancelLabel),this.container.find(".calendar").on("click.daterangepicker",".prev",d.proxy(this.clickPrev,this)).on("click.daterangepicker",".next",d.proxy(this.clickNext,this)).on("click.daterangepicker","td.available",d.proxy(this.clickDate,this)).on("mouseenter.daterangepicker","td.available",d.proxy(this.hoverDate,this)).on("mouseleave.daterangepicker","td.available",d.proxy(this.updateFormInputs,this)).on("change.daterangepicker","select.yearselect",d.proxy(this.updateMonthYear,this)).on("change.daterangepicker","select.monthselect",d.proxy(this.updateMonthYear,this)).on("change.daterangepicker","select.hourselect,select.minuteselect,select.secondselect,select.ampmselect",d.proxy(this.updateTime,this)),this.container.find(".ranges").on("click.daterangepicker","button.applyBtn",d.proxy(this.clickApply,this)).on("click.daterangepicker","button.cancelBtn",d.proxy(this.clickCancel,this)).on("click.daterangepicker",".daterangepicker_start_input,.daterangepicker_end_input",d.proxy(this.showCalendars,this)).on("change.daterangepicker",".daterangepicker_start_input,.daterangepicker_end_input",d.proxy(this.inputsChanged,this)).on("keydown.daterangepicker",".daterangepicker_start_input,.daterangepicker_end_input",d.proxy(this.inputsKeydown,this)).on("click.daterangepicker","li",d.proxy(this.clickRange,this)).on("mouseenter.daterangepicker","li",d.proxy(this.enterRange,this)).on("mouseleave.daterangepicker","li",d.proxy(this.updateFormInputs,this)),this.element.is("input")?this.element.on({"click.daterangepicker":d.proxy(this.show,this),"focus.daterangepicker":d.proxy(this.show,this),"keyup.daterangepicker":d.proxy(this.updateFromControl,this)}):this.element.on("click.daterangepicker",d.proxy(this.toggle,this))};e.prototype={constructor:e,setOptions:function(a,b){if(this.startDate=c().startOf("day"),this.endDate=c().endOf("day"),this.timeZone=c().zone(),this.minDate=!1,this.maxDate=!1,this.dateLimit=!1,this.showDropdowns=!1,this.showWeekNumbers=!1,this.timePicker=!1,this.timePickerSeconds=!1,this.timePickerIncrement=30,this.timePicker12Hour=!0,this.singleDatePicker=!1,this.ranges={},this.opens="right",this.element.hasClass("pull-right")&&(this.opens="left"),this.buttonClasses=["btn","btn-small btn-sm"],this.applyClass="btn-success",this.cancelClass="btn-default",this.format="MM/DD/YYYY",this.separator=" - ",this.locale={applyLabel:"Apply",cancelLabel:"Cancel",fromLabel:"From",toLabel:"To",weekLabel:"W",customRangeLabel:"Custom Range",daysOfWeek:c.weekdaysMin(),monthNames:c.monthsShort(),firstDay:c.localeData()._week.dow},this.cb=function(){},"string"==typeof a.format&&(this.format=a.format),"string"==typeof a.separator&&(this.separator=a.separator),"string"==typeof a.startDate&&(this.startDate=c(a.startDate,this.format)),"string"==typeof a.endDate&&(this.endDate=c(a.endDate,this.format)),"string"==typeof a.minDate&&(this.minDate=c(a.minDate,this.format)),"string"==typeof a.maxDate&&(this.maxDate=c(a.maxDate,this.format)),"object"==typeof a.startDate&&(this.startDate=c(a.startDate)),"object"==typeof a.endDate&&(this.endDate=c(a.endDate)),"object"==typeof a.minDate&&(this.minDate=c(a.minDate)),"object"==typeof a.maxDate&&(this.maxDate=c(a.maxDate)),"string"==typeof a.applyClass&&(this.applyClass=a.applyClass),"string"==typeof a.cancelClass&&(this.cancelClass=a.cancelClass),"object"==typeof a.dateLimit&&(this.dateLimit=a.dateLimit),"object"==typeof a.locale&&("object"==typeof a.locale.daysOfWeek&&(this.locale.daysOfWeek=a.locale.daysOfWeek.slice()),"object"==typeof a.locale.monthNames&&(this.locale.monthNames=a.locale.monthNames.slice()),"number"==typeof a.locale.firstDay&&(this.locale.firstDay=a.locale.firstDay),"string"==typeof a.locale.applyLabel&&(this.locale.applyLabel=a.locale.applyLabel),"string"==typeof a.locale.cancelLabel&&(this.locale.cancelLabel=a.locale.cancelLabel),"string"==typeof a.locale.fromLabel&&(this.locale.fromLabel=a.locale.fromLabel),"string"==typeof a.locale.toLabel&&(this.locale.toLabel=a.locale.toLabel),"string"==typeof a.locale.weekLabel&&(this.locale.weekLabel=a.locale.weekLabel),"string"==typeof a.locale.customRangeLabel&&(this.locale.customRangeLabel=a.locale.customRangeLabel)),"string"==typeof a.opens&&(this.opens=a.opens),"boolean"==typeof a.showWeekNumbers&&(this.showWeekNumbers=a.showWeekNumbers),"string"==typeof a.buttonClasses&&(this.buttonClasses=[a.buttonClasses]),"object"==typeof a.buttonClasses&&(this.buttonClasses=a.buttonClasses),"boolean"==typeof a.showDropdowns&&(this.showDropdowns=a.showDropdowns),"boolean"==typeof a.singleDatePicker&&(this.singleDatePicker=a.singleDatePicker,this.singleDatePicker&&(this.endDate=this.startDate.clone())),"boolean"==typeof a.timePicker&&(this.timePicker=a.timePicker),"boolean"==typeof a.timePickerSeconds&&(this.timePickerSeconds=a.timePickerSeconds),"number"==typeof a.timePickerIncrement&&(this.timePickerIncrement=a.timePickerIncrement),"boolean"==typeof a.timePicker12Hour&&(this.timePicker12Hour=a.timePicker12Hour),0!=this.locale.firstDay)for(var e=this.locale.firstDay;e>0;)this.locale.daysOfWeek.push(this.locale.daysOfWeek.shift()),e--;var f,g,h;if("undefined"==typeof a.startDate&&"undefined"==typeof a.endDate&&d(this.element).is("input[type=text]")){var i=d(this.element).val(),j=i.split(this.separator);f=g=null,2==j.length?(f=c(j[0],this.format),g=c(j[1],this.format)):this.singleDatePicker&&""!==i&&(f=c(i,this.format),g=c(i,this.format)),null!==f&&null!==g&&(this.startDate=f,this.endDate=g)}if("string"==typeof a.timeZone||"number"==typeof a.timeZone?(this.timeZone=a.timeZone,this.startDate.zone(this.timeZone),this.endDate.zone(this.timeZone)):this.timeZone=c(this.startDate).zone(),"object"==typeof a.ranges){for(h in a.ranges)f="string"==typeof a.ranges[h][0]?c(a.ranges[h][0],this.format):c(a.ranges[h][0]),g="string"==typeof a.ranges[h][1]?c(a.ranges[h][1],this.format):c(a.ranges[h][1]),this.minDate&&f.isBefore(this.minDate)&&(f=c(this.minDate)),this.maxDate&&g.isAfter(this.maxDate)&&(g=c(this.maxDate)),this.minDate&&g.isBefore(this.minDate)||this.maxDate&&f.isAfter(this.maxDate)||(this.ranges[h]=[f,g]);var k="<ul>";for(h in this.ranges)k+="<li>"+h+"</li>";k+="<li>"+this.locale.customRangeLabel+"</li>",k+="</ul>",this.container.find(".ranges ul").remove(),this.container.find(".ranges").prepend(k)}if("function"==typeof b&&(this.cb=b),this.timePicker||(this.startDate=this.startDate.startOf("day"),this.endDate=this.endDate.endOf("day")),this.singleDatePicker?(this.opens="right",this.container.addClass("single"),this.container.find(".calendar.right").show(),this.container.find(".calendar.left").hide(),this.timePicker?this.container.find(".ranges .daterangepicker_start_input, .ranges .daterangepicker_end_input").hide():this.container.find(".ranges").hide(),this.container.find(".calendar.right").hasClass("single")||this.container.find(".calendar.right").addClass("single")):(this.container.removeClass("single"),this.container.find(".calendar.right").removeClass("single"),this.container.find(".ranges").show()),this.oldStartDate=this.startDate.clone(),this.oldEndDate=this.endDate.clone(),this.oldChosenLabel=this.chosenLabel,this.leftCalendar={month:c([this.startDate.year(),this.startDate.month(),1,this.startDate.hour(),this.startDate.minute(),this.startDate.second()]),calendar:[]},this.rightCalendar={month:c([this.endDate.year(),this.endDate.month(),1,this.endDate.hour(),this.endDate.minute(),this.endDate.second()]),calendar:[]},"right"==this.opens||"center"==this.opens){var l=this.container.find(".calendar.first"),m=this.container.find(".calendar.second");m.hasClass("single")&&(m.removeClass("single"),l.addClass("single")),l.removeClass("left").addClass("right"),m.removeClass("right").addClass("left"),this.singleDatePicker&&(l.show(),m.hide())}"undefined"!=typeof a.ranges||this.singleDatePicker||this.container.addClass("show-calendar"),this.container.addClass("opens"+this.opens),this.updateView(),this.updateCalendars()},setStartDate:function(a){"string"==typeof a&&(this.startDate=c(a,this.format).zone(this.timeZone)),"object"==typeof a&&(this.startDate=c(a)),this.timePicker||(this.startDate=this.startDate.startOf("day")),this.oldStartDate=this.startDate.clone(),this.updateView(),this.updateCalendars(),this.updateInputText()},setEndDate:function(a){"string"==typeof a&&(this.endDate=c(a,this.format).zone(this.timeZone)),"object"==typeof a&&(this.endDate=c(a)),this.timePicker||(this.endDate=this.endDate.endOf("day")),this.oldEndDate=this.endDate.clone(),this.updateView(),this.updateCalendars(),this.updateInputText()},updateView:function(){this.leftCalendar.month.month(this.startDate.month()).year(this.startDate.year()).hour(this.startDate.hour()).minute(this.startDate.minute()),this.rightCalendar.month.month(this.endDate.month()).year(this.endDate.year()).hour(this.endDate.hour()).minute(this.endDate.minute()),this.updateFormInputs()},updateFormInputs:function(){this.container.find("input[name=daterangepicker_start]").val(this.startDate.format(this.format)),this.container.find("input[name=daterangepicker_end]").val(this.endDate.format(this.format)),this.startDate.isSame(this.endDate)||this.startDate.isBefore(this.endDate)?this.container.find("button.applyBtn").removeAttr("disabled"):this.container.find("button.applyBtn").attr("disabled","disabled")},updateFromControl:function(){if(this.element.is("input")&&this.element.val().length){var a=this.element.val().split(this.separator),b=null,d=null;2===a.length&&(b=c(a[0],this.format).zone(this.timeZone),d=c(a[1],this.format).zone(this.timeZone)),(this.singleDatePicker||null===b||null===d)&&(b=c(this.element.val(),this.format).zone(this.timeZone),d=b),d.isBefore(b)||(this.oldStartDate=this.startDate.clone(),this.oldEndDate=this.endDate.clone(),this.startDate=b,this.endDate=d,this.startDate.isSame(this.oldStartDate)&&this.endDate.isSame(this.oldEndDate)||this.notify(),this.updateCalendars())}},notify:function(){this.updateView(),this.cb(this.startDate,this.endDate,this.chosenLabel)},move:function(){var a={top:0,left:0},b=d(window).width();this.parentEl.is("body")||(a={top:this.parentEl.offset().top-this.parentEl.scrollTop(),left:this.parentEl.offset().left-this.parentEl.scrollLeft()},b=this.parentEl[0].clientWidth+this.parentEl.offset().left),"left"==this.opens?(this.container.css({top:this.element.offset().top+this.element.outerHeight()-a.top,right:b-this.element.offset().left-this.element.outerWidth(),left:"auto"}),this.container.offset().left<0&&this.container.css({right:"auto",left:9})):"center"==this.opens?(this.container.css({top:this.element.offset().top+this.element.outerHeight()-a.top,left:this.element.offset().left-a.left+this.element.outerWidth()/2-this.container.outerWidth()/2,right:"auto"}),this.container.offset().left<0&&this.container.css({right:"auto",left:9})):(this.container.css({top:this.element.offset().top+this.element.outerHeight()-a.top,left:this.element.offset().left-a.left,right:"auto"}),this.container.offset().left+this.container.outerWidth()>d(window).width()&&this.container.css({left:"auto",right:0}))},toggle:function(a){this.element.hasClass("active")?this.hide():this.show()},show:function(a){this.isShowing||(this.element.addClass("active"),this.container.show(),this.move(),this._outsideClickProxy=d.proxy(function(a){this.outsideClick(a)},this),d(document).on("mousedown.daterangepicker",this._outsideClickProxy).on("touchend.daterangepicker",this._outsideClickProxy).on("click.daterangepicker","[data-toggle=dropdown]",this._outsideClickProxy).on("focusin.daterangepicker",this._outsideClickProxy),this.isShowing=!0,this.element.trigger("show.daterangepicker",this))},outsideClick:function(a){var b=d(a.target);"focusin"==a.type||b.closest(this.element).length||b.closest(this.container).length||b.closest(".calendar-date").length||this.hide()},hide:function(a){this.isShowing&&(d(document).off(".daterangepicker"),this.element.removeClass("active"),this.container.hide(),this.startDate.isSame(this.oldStartDate)&&this.endDate.isSame(this.oldEndDate)||this.notify(),this.oldStartDate=this.startDate.clone(),this.oldEndDate=this.endDate.clone(),this.isShowing=!1,this.element.trigger("hide.daterangepicker",this))},enterRange:function(a){var b=a.target.innerHTML;if(b==this.locale.customRangeLabel)this.updateView();else{var c=this.ranges[b];this.container.find("input[name=daterangepicker_start]").val(c[0].format(this.format)),this.container.find("input[name=daterangepicker_end]").val(c[1].format(this.format))}},showCalendars:function(){this.container.addClass("show-calendar"),this.move(),this.element.trigger("showCalendar.daterangepicker",this)},hideCalendars:function(){this.container.removeClass("show-calendar"),this.element.trigger("hideCalendar.daterangepicker",this)},inputsChanged:function(a){var b=d(a.target),e=c(b.val(),this.format);if(e.isValid()){var f,g;"daterangepicker_start"===b.attr("name")?(f=e,g=this.endDate):(f=this.startDate,g=e),this.setCustomDates(f,g)}},inputsKeydown:function(a){13===a.keyCode&&(this.inputsChanged(a),this.notify())},updateInputText:function(){this.element.is("input")&&!this.singleDatePicker?this.element.val(this.startDate.format(this.format)+this.separator+this.endDate.format(this.format)):this.element.is("input")&&this.element.val(this.endDate.format(this.format))},clickRange:function(a){var b=a.target.innerHTML;if(this.chosenLabel=b,b==this.locale.customRangeLabel)this.showCalendars();else{var c=this.ranges[b];this.startDate=c[0],this.endDate=c[1],this.timePicker||(this.startDate.startOf("day"),this.endDate.endOf("day")),this.leftCalendar.month.month(this.startDate.month()).year(this.startDate.year()).hour(this.startDate.hour()).minute(this.startDate.minute()),this.rightCalendar.month.month(this.endDate.month()).year(this.endDate.year()).hour(this.endDate.hour()).minute(this.endDate.minute()),this.updateCalendars(),this.updateInputText(),this.hideCalendars(),this.hide(),this.element.trigger("apply.daterangepicker",this)}},clickPrev:function(a){var b=d(a.target).parents(".calendar");b.hasClass("left")?this.leftCalendar.month.subtract(1,"month"):this.rightCalendar.month.subtract(1,"month"),this.updateCalendars()},clickNext:function(a){var b=d(a.target).parents(".calendar");b.hasClass("left")?this.leftCalendar.month.add(1,"month"):this.rightCalendar.month.add(1,"month"),this.updateCalendars()},hoverDate:function(a){var b=d(a.target).attr("data-title"),c=b.substr(1,1),e=b.substr(3,1),f=d(a.target).parents(".calendar");f.hasClass("left")?this.container.find("input[name=daterangepicker_start]").val(this.leftCalendar.calendar[c][e].format(this.format)):this.container.find("input[name=daterangepicker_end]").val(this.rightCalendar.calendar[c][e].format(this.format))},setCustomDates:function(a,b){if(this.chosenLabel=this.locale.customRangeLabel,a.isAfter(b)){var d=this.endDate.diff(this.startDate);b=c(a).add(d,"ms")}this.startDate=a,this.endDate=b,this.updateView(),this.updateCalendars()},clickDate:function(a){var b,e,f=d(a.target).attr("data-title"),g=f.substr(1,1),h=f.substr(3,1),i=d(a.target).parents(".calendar");if(i.hasClass("left")){if(b=this.leftCalendar.calendar[g][h],e=this.endDate,"object"==typeof this.dateLimit){var j=c(b).add(this.dateLimit).startOf("day");e.isAfter(j)&&(e=j)}}else if(b=this.startDate,e=this.rightCalendar.calendar[g][h],"object"==typeof this.dateLimit){var k=c(e).subtract(this.dateLimit).startOf("day");b.isBefore(k)&&(b=k)}this.singleDatePicker&&i.hasClass("left")?e=b.clone():this.singleDatePicker&&i.hasClass("right")&&(b=e.clone()),i.find("td").removeClass("active"),d(a.target).addClass("active"),this.setCustomDates(b,e),this.timePicker||e.endOf("day"),this.singleDatePicker&&!this.timePicker&&this.clickApply()},clickApply:function(a){this.updateInputText(),this.hide(),this.element.trigger("apply.daterangepicker",this)},clickCancel:function(a){this.startDate=this.oldStartDate,this.endDate=this.oldEndDate,this.chosenLabel=this.oldChosenLabel,this.updateView(),this.updateCalendars(),this.hide(),this.element.trigger("cancel.daterangepicker",this)},updateMonthYear:function(a){var b=d(a.target).closest(".calendar").hasClass("left"),c=b?"left":"right",e=this.container.find(".calendar."+c),f=parseInt(e.find(".monthselect").val(),10),g=e.find(".yearselect").val();this[c+"Calendar"].month.month(f).year(g),this.updateCalendars()},updateTime:function(a){var b=d(a.target).closest(".calendar"),c=b.hasClass("left"),e=parseInt(b.find(".hourselect").val(),10),f=parseInt(b.find(".minuteselect").val(),10),g=0;if(this.timePickerSeconds&&(g=parseInt(b.find(".secondselect").val(),10)),this.timePicker12Hour){var h=b.find(".ampmselect").val();"PM"===h&&12>e&&(e+=12),"AM"===h&&12===e&&(e=0)}if(c){var i=this.startDate.clone();i.hour(e),i.minute(f),i.second(g),this.startDate=i,this.leftCalendar.month.hour(e).minute(f).second(g),this.singleDatePicker&&(this.endDate=i.clone())}else{var j=this.endDate.clone();j.hour(e),j.minute(f),j.second(g),this.endDate=j,this.singleDatePicker&&(this.startDate=j.clone()),this.rightCalendar.month.hour(e).minute(f).second(g)}this.updateView(),this.updateCalendars()},updateCalendars:function(){this.leftCalendar.calendar=this.buildCalendar(this.leftCalendar.month.month(),this.leftCalendar.month.year(),this.leftCalendar.month.hour(),this.leftCalendar.month.minute(),this.leftCalendar.month.second(),"left"),this.rightCalendar.calendar=this.buildCalendar(this.rightCalendar.month.month(),this.rightCalendar.month.year(),this.rightCalendar.month.hour(),this.rightCalendar.month.minute(),this.rightCalendar.month.second(),"right"),this.container.find(".calendar.left").empty().html(this.renderCalendar(this.leftCalendar.calendar,this.startDate,this.minDate,this.maxDate,"left")),this.container.find(".calendar.right").empty().html(this.renderCalendar(this.rightCalendar.calendar,this.endDate,this.singleDatePicker?this.minDate:this.startDate,this.maxDate,"right")),this.container.find(".ranges li").removeClass("active");var a=!0,b=0;for(var c in this.ranges)this.timePicker?this.startDate.isSame(this.ranges[c][0])&&this.endDate.isSame(this.ranges[c][1])&&(a=!1,this.chosenLabel=this.container.find(".ranges li:eq("+b+")").addClass("active").html()):this.startDate.format("YYYY-MM-DD")==this.ranges[c][0].format("YYYY-MM-DD")&&this.endDate.format("YYYY-MM-DD")==this.ranges[c][1].format("YYYY-MM-DD")&&(a=!1,this.chosenLabel=this.container.find(".ranges li:eq("+b+")").addClass("active").html()),b++;a&&(this.chosenLabel=this.container.find(".ranges li:last").addClass("active").html(),this.showCalendars())},buildCalendar:function(a,b,d,e,f,g){var h,i=c([b,a]).daysInMonth(),j=c([b,a,1]),k=c([b,a,i]),l=c(j).subtract(1,"month").month(),m=c(j).subtract(1,"month").year(),n=c([m,l]).daysInMonth(),o=j.day(),p=[];for(p.firstDay=j,p.lastDay=k,h=0;6>h;h++)p[h]=[];var q=n-o+this.locale.firstDay+1;q>n&&(q-=7),o==this.locale.firstDay&&(q=n-6);var r,s,t=c([m,l,q,12,e,f]).zone(this.timeZone);for(h=0,r=0,s=0;42>h;h++,r++,t=c(t).add(24,"hour"))h>0&&r%7===0&&(r=0,s++),p[s][r]=t.clone().hour(d),t.hour(12),this.minDate&&p[s][r].format("YYYY-MM-DD")==this.minDate.format("YYYY-MM-DD")&&p[s][r].isBefore(this.minDate)&&"left"==g&&(p[s][r]=this.minDate.clone()),this.maxDate&&p[s][r].format("YYYY-MM-DD")==this.maxDate.format("YYYY-MM-DD")&&p[s][r].isAfter(this.maxDate)&&"right"==g&&(p[s][r]=this.maxDate.clone());return p},renderDropdowns:function(a,b,c){for(var d=a.month(),e=a.year(),f=c&&c.year()||e+5,g=b&&b.year()||e-50,h='<select class="monthselect">',i=e==g,j=e==f,k=0;12>k;k++)(!i||k>=b.month())&&(!j||k<=c.month())&&(h+="<option value='"+k+"'"+(k===d?" selected='selected'":"")+">"+this.locale.monthNames[k]+"</option>");h+="</select>";for(var l='<select class="yearselect">',m=g;f>=m;m++)l+='<option value="'+m+'"'+(m===e?' selected="selected"':"")+">"+m+"</option>";return l+="</select>",h+l},renderCalendar:function(a,b,c,e,f){var g='<div class="calendar-date">';g+='<table class="table-condensed">',g+="<thead>",g+="<tr>",this.showWeekNumbers&&(g+="<th></th>"),g+=!c||c.isBefore(a.firstDay)?'<th class="prev available"><i class="fa fa-arrow-left icon-arrow-left glyphicon glyphicon-arrow-left"></i></th>':"<th></th>";var h=this.locale.monthNames[a[1][1].month()]+a[1][1].format(" YYYY");this.showDropdowns&&(h=this.renderDropdowns(a[1][1],c,e)),g+='<th colspan="5" class="month">'+h+"</th>",g+=!e||e.isAfter(a.lastDay)?'<th class="next available"><i class="fa fa-arrow-right icon-arrow-right glyphicon glyphicon-arrow-right"></i></th>':"<th></th>",g+="</tr>",g+="<tr>",this.showWeekNumbers&&(g+='<th class="week">'+this.locale.weekLabel+"</th>"),d.each(this.locale.daysOfWeek,function(a,b){g+="<th>"+b+"</th>"}),g+="</tr>",g+="</thead>",g+="<tbody>";for(var i=0;6>i;i++){g+="<tr>",this.showWeekNumbers&&(g+='<td class="week">'+a[i][0].week()+"</td>");for(var j=0;7>j;j++){var k="available ";k+=a[i][j].month()==a[1][1].month()?"":"off",c&&a[i][j].isBefore(c,"day")||e&&a[i][j].isAfter(e,"day")?k=" off disabled ":a[i][j].format("YYYY-MM-DD")==b.format("YYYY-MM-DD")?(k+=" active ",a[i][j].format("YYYY-MM-DD")==this.startDate.format("YYYY-MM-DD")&&(k+=" start-date "),a[i][j].format("YYYY-MM-DD")==this.endDate.format("YYYY-MM-DD")&&(k+=" end-date ")):a[i][j]>=this.startDate&&a[i][j]<=this.endDate&&(k+=" in-range ",a[i][j].isSame(this.startDate)&&(k+=" start-date "),a[i][j].isSame(this.endDate)&&(k+=" end-date "));var l="r"+i+"c"+j;g+='<td class="'+k.replace(/\s+/g," ").replace(/^\s?(.*?)\s?$/,"$1")+'" data-title="'+l+'">'+a[i][j].date()+"</td>"}g+="</tr>"}g+="</tbody>",g+="</table>",g+="</div>";var m;if(this.timePicker){g+='<div class="calendar-time">',g+='<select class="hourselect">';var n=0,o=23;c&&("left"==f||this.singleDatePicker)&&b.format("YYYY-MM-DD")==c.format("YYYY-MM-DD")&&(n=c.hour(),b.hour()<n&&b.hour(n),this.timePicker12Hour&&n>=12&&b.hour()>=12&&(n-=12),this.timePicker12Hour&&12==n&&(n=1)),e&&("right"==f||this.singleDatePicker)&&b.format("YYYY-MM-DD")==e.format("YYYY-MM-DD")&&(o=e.hour(),b.hour()>o&&b.hour(o),this.timePicker12Hour&&o>=12&&b.hour()>=12&&(o-=12));var p=0,q=23,r=b.hour();for(this.timePicker12Hour&&(p=1,q=12,r>=12&&(r-=12),0===r&&(r=12)),m=p;q>=m;m++)g+=m==r?'<option value="'+m+'" selected="selected">'+m+"</option>":n>m||m>o?'<option value="'+m+'" disabled="disabled" class="disabled">'+m+"</option>":'<option value="'+m+'">'+m+"</option>";g+="</select> : ",g+='<select class="minuteselect">';var s=0,t=59;for(c&&("left"==f||this.singleDatePicker)&&b.format("YYYY-MM-DD h A")==c.format("YYYY-MM-DD h A")&&(s=c.minute(),b.minute()<s&&b.minute(s)),e&&("right"==f||this.singleDatePicker)&&b.format("YYYY-MM-DD h A")==e.format("YYYY-MM-DD h A")&&(t=e.minute(),b.minute()>t&&b.minute(t)),m=0;60>m;m+=this.timePickerIncrement){var u=m;10>u&&(u="0"+u),g+=m==b.minute()?'<option value="'+m+'" selected="selected">'+u+"</option>":s>m||m>t?'<option value="'+m+'" disabled="disabled" class="disabled">'+u+"</option>":'<option value="'+m+'">'+u+"</option>"}if(g+="</select> ",this.timePickerSeconds){for(g+=': <select class="secondselect">',m=0;60>m;m+=this.timePickerIncrement){var u=m;10>u&&(u="0"+u),g+=m==b.second()?'<option value="'+m+'" selected="selected">'+u+"</option>":'<option value="'+m+'">'+u+"</option>"}g+="</select>"}if(this.timePicker12Hour){g+='<select class="ampmselect">';var v="",w="";c&&("left"==f||this.singleDatePicker)&&b.format("YYYY-MM-DD")==c.format("YYYY-MM-DD")&&c.hour()>=12&&(v=' disabled="disabled" class="disabled"'),e&&("right"==f||this.singleDatePicker)&&b.format("YYYY-MM-DD")==e.format("YYYY-MM-DD")&&e.hour()<12&&(w=' disabled="disabled" class="disabled"'),g+=b.hour()>=12?'<option value="AM"'+v+'>AM</option><option value="PM" selected="selected"'+w+">PM</option>":'<option value="AM" selected="selected"'+v+'>AM</option><option value="PM"'+w+">PM</option>",g+="</select>"}g+="</div>"}return g},remove:function(){this.container.remove(),this.element.off(".daterangepicker"),this.element.removeData("daterangepicker")}},d.fn.daterangepicker=function(a,b){return this.each(function(){var c=d(this);c.data("daterangepicker")&&c.data("daterangepicker").remove(),c.data("daterangepicker",new e(c,a,b))}),this}}),function(a){"use strict";a.module("ngBootstrap",[]).directive("input",["$compile","$parse","$filter",function(b,c,d){return{restrict:"E",require:"?ngModel",link:function(b,e,f,g){function h(a){return moment.isMoment(a)?a.toDate():a}function i(a){return moment.isMoment(a)?a:moment(a)}function j(a){return d("date")(h(a),l.format.replace(/Y/g,"y").replace(/D/g,"d"))}function k(a){return[j(a.startDate),j(a.endDate)].join(l.separator)}if("daterange"===f.type&&null!==g){var l={};l.format=f.format||"YYYY-MM-DD",l.separator=f.separator||" - ",l.minDate=f.minDate&&moment(f.minDate),l.maxDate=f.maxDate&&moment(f.maxDate),l.dateLimit=f.limit&&moment.duration.apply(this,f.limit.split(" ").map(function(a,b){return 0===b&&parseInt(a,10)||a})),l.ranges=f.ranges&&c(f.ranges)(b),l.locale=f.locale&&c(f.locale)(b),l.opens=f.opens||c(f.opens)(b),f.enabletimepicker&&(l.timePicker=!0,a.extend(l,c(f.enabletimepicker)(b))),g.$render=function(){g.$viewValue&&g.$viewValue.startDate&&e.val(k(g.$viewValue))},b.$watch(function(){return f.ngModel},function(a,c){return b[a]&&b[a].startDate?void(c===a&&(e.data("daterangepicker").startDate=i(b[a].startDate),e.data("daterangepicker").endDate=i(b[a].endDate),e.data("daterangepicker").updateView(),e.data("daterangepicker").updateCalendars(),e.data("daterangepicker").updateInputText())):void g.$setViewValue({startDate:moment().startOf("day"),endDate:moment().startOf("day")})}),e.daterangepicker(l,function(c,d,e){var f=g.$viewValue;a.equals(c,f.startDate)&&a.equals(d,f.endDate)||b.$apply(function(){g.$setViewValue({startDate:moment.isMoment(f.startDate)?c:c.toDate(),endDate:moment.isMoment(f.endDate)?d:d.toDate()}),g.$render()})})}}}}])}(angular),!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;"undefined"!=typeof window?b=window:"undefined"!=typeof global?b=global:"undefined"!=typeof self&&(b=self),b.io=a()}}(function(){var a;return function b(a,c,d){function e(g,h){if(!c[g]){if(!a[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);throw new Error("Cannot find module '"+g+"'")}var j=c[g]={exports:{}};a[g][0].call(j.exports,function(b){var c=a[g][1][b];return e(c?c:b)},j,j.exports,b,a,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){b.exports=a("./lib/")},{"./lib/":2}],2:[function(a,b,c){function d(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d=e(a),f=d.source,j=d.id;return b.forceNew||b["force new connection"]||!1===b.multiplex?(h("ignoring socket cache for %s",f),c=g(f,b)):(i[j]||(h("new io instance for %s",f),i[j]=g(f,b)),c=i[j]),c.socket(d.path)}var e=a("./url"),f=a("socket.io-parser"),g=a("./manager"),h=a("debug")("socket.io-client");b.exports=c=d;var i=c.managers={};c.protocol=f.protocol,c.connect=d,
-c.Manager=a("./manager"),c.Socket=a("./socket")},{"./manager":3,"./socket":5,"./url":6,debug:10,"socket.io-parser":44}],3:[function(a,b,c){function d(a,b){return this instanceof d?(a&&"object"==typeof a&&(b=a,a=void 0),b=b||{},b.path=b.path||"/socket.io",this.nsps={},this.subs=[],this.opts=b,this.reconnection(b.reconnection!==!1),this.reconnectionAttempts(b.reconnectionAttempts||1/0),this.reconnectionDelay(b.reconnectionDelay||1e3),this.reconnectionDelayMax(b.reconnectionDelayMax||5e3),this.randomizationFactor(b.randomizationFactor||.5),this.backoff=new m({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(null==b.timeout?2e4:b.timeout),this.readyState="closed",this.uri=a,this.connected=[],this.encoding=!1,this.packetBuffer=[],this.encoder=new h.Encoder,this.decoder=new h.Decoder,this.autoConnect=b.autoConnect!==!1,void(this.autoConnect&&this.open())):new d(a,b)}var e=(a("./url"),a("engine.io-client")),f=a("./socket"),g=a("component-emitter"),h=a("socket.io-parser"),i=a("./on"),j=a("component-bind"),k=(a("object-component"),a("debug")("socket.io-client:manager")),l=a("indexof"),m=a("backo2");b.exports=d,d.prototype.emitAll=function(){this.emit.apply(this,arguments);for(var a in this.nsps)this.nsps[a].emit.apply(this.nsps[a],arguments)},d.prototype.updateSocketIds=function(){for(var a in this.nsps)this.nsps[a].id=this.engine.id},g(d.prototype),d.prototype.reconnection=function(a){return arguments.length?(this._reconnection=!!a,this):this._reconnection},d.prototype.reconnectionAttempts=function(a){return arguments.length?(this._reconnectionAttempts=a,this):this._reconnectionAttempts},d.prototype.reconnectionDelay=function(a){return arguments.length?(this._reconnectionDelay=a,this.backoff&&this.backoff.setMin(a),this):this._reconnectionDelay},d.prototype.randomizationFactor=function(a){return arguments.length?(this._randomizationFactor=a,this.backoff&&this.backoff.setJitter(a),this):this._randomizationFactor},d.prototype.reconnectionDelayMax=function(a){return arguments.length?(this._reconnectionDelayMax=a,this.backoff&&this.backoff.setMax(a),this):this._reconnectionDelayMax},d.prototype.timeout=function(a){return arguments.length?(this._timeout=a,this):this._timeout},d.prototype.maybeReconnectOnOpen=function(){!this.reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()},d.prototype.open=d.prototype.connect=function(a){if(k("readyState %s",this.readyState),~this.readyState.indexOf("open"))return this;k("opening %s",this.uri),this.engine=e(this.uri,this.opts);var b=this.engine,c=this;this.readyState="opening",this.skipReconnect=!1;var d=i(b,"open",function(){c.onopen(),a&&a()}),f=i(b,"error",function(b){if(k("connect_error"),c.cleanup(),c.readyState="closed",c.emitAll("connect_error",b),a){var d=new Error("Connection error");d.data=b,a(d)}else c.maybeReconnectOnOpen()});if(!1!==this._timeout){var g=this._timeout;k("connect attempt will timeout after %d",g);var h=setTimeout(function(){k("connect attempt timed out after %d",g),d.destroy(),b.close(),b.emit("error","timeout"),c.emitAll("connect_timeout",g)},g);this.subs.push({destroy:function(){clearTimeout(h)}})}return this.subs.push(d),this.subs.push(f),this},d.prototype.onopen=function(){k("open"),this.cleanup(),this.readyState="open",this.emit("open");var a=this.engine;this.subs.push(i(a,"data",j(this,"ondata"))),this.subs.push(i(this.decoder,"decoded",j(this,"ondecoded"))),this.subs.push(i(a,"error",j(this,"onerror"))),this.subs.push(i(a,"close",j(this,"onclose")))},d.prototype.ondata=function(a){this.decoder.add(a)},d.prototype.ondecoded=function(a){this.emit("packet",a)},d.prototype.onerror=function(a){k("error",a),this.emitAll("error",a)},d.prototype.socket=function(a){var b=this.nsps[a];if(!b){b=new f(this,a),this.nsps[a]=b;var c=this;b.on("connect",function(){b.id=c.engine.id,~l(c.connected,b)||c.connected.push(b)})}return b},d.prototype.destroy=function(a){var b=l(this.connected,a);~b&&this.connected.splice(b,1),this.connected.length||this.close()},d.prototype.packet=function(a){k("writing packet %j",a);var b=this;b.encoding?b.packetBuffer.push(a):(b.encoding=!0,this.encoder.encode(a,function(a){for(var c=0;c<a.length;c++)b.engine.write(a[c]);b.encoding=!1,b.processPacketQueue()}))},d.prototype.processPacketQueue=function(){if(this.packetBuffer.length>0&&!this.encoding){var a=this.packetBuffer.shift();this.packet(a)}},d.prototype.cleanup=function(){for(var a;a=this.subs.shift();)a.destroy();this.packetBuffer=[],this.encoding=!1,this.decoder.destroy()},d.prototype.close=d.prototype.disconnect=function(){this.skipReconnect=!0,this.backoff.reset(),this.readyState="closed",this.engine&&this.engine.close()},d.prototype.onclose=function(a){k("close"),this.cleanup(),this.backoff.reset(),this.readyState="closed",this.emit("close",a),this._reconnection&&!this.skipReconnect&&this.reconnect()},d.prototype.reconnect=function(){if(this.reconnecting||this.skipReconnect)return this;var a=this;if(this.backoff.attempts>=this._reconnectionAttempts)k("reconnect failed"),this.backoff.reset(),this.emitAll("reconnect_failed"),this.reconnecting=!1;else{var b=this.backoff.duration();k("will wait %dms before reconnect attempt",b),this.reconnecting=!0;var c=setTimeout(function(){a.skipReconnect||(k("attempting reconnect"),a.emitAll("reconnect_attempt",a.backoff.attempts),a.emitAll("reconnecting",a.backoff.attempts),a.skipReconnect||a.open(function(b){b?(k("reconnect attempt error"),a.reconnecting=!1,a.reconnect(),a.emitAll("reconnect_error",b.data)):(k("reconnect success"),a.onreconnect())}))},b);this.subs.push({destroy:function(){clearTimeout(c)}})}},d.prototype.onreconnect=function(){var a=this.backoff.attempts;this.reconnecting=!1,this.backoff.reset(),this.updateSocketIds(),this.emitAll("reconnect",a)}},{"./on":4,"./socket":5,"./url":6,backo2:7,"component-bind":8,"component-emitter":9,debug:10,"engine.io-client":11,indexof:40,"object-component":41,"socket.io-parser":44}],4:[function(a,b,c){function d(a,b,c){return a.on(b,c),{destroy:function(){a.removeListener(b,c)}}}b.exports=d},{}],5:[function(a,b,c){function d(a,b){this.io=a,this.nsp=b,this.json=this,this.ids=0,this.acks={},this.io.autoConnect&&this.open(),this.receiveBuffer=[],this.sendBuffer=[],this.connected=!1,this.disconnected=!0}var e=a("socket.io-parser"),f=a("component-emitter"),g=a("to-array"),h=a("./on"),i=a("component-bind"),j=a("debug")("socket.io-client:socket"),k=a("has-binary");b.exports=c=d;var l={connect:1,connect_error:1,connect_timeout:1,disconnect:1,error:1,reconnect:1,reconnect_attempt:1,reconnect_failed:1,reconnect_error:1,reconnecting:1},m=f.prototype.emit;f(d.prototype),d.prototype.subEvents=function(){if(!this.subs){var a=this.io;this.subs=[h(a,"open",i(this,"onopen")),h(a,"packet",i(this,"onpacket")),h(a,"close",i(this,"onclose"))]}},d.prototype.open=d.prototype.connect=function(){return this.connected?this:(this.subEvents(),this.io.open(),"open"==this.io.readyState&&this.onopen(),this)},d.prototype.send=function(){var a=g(arguments);return a.unshift("message"),this.emit.apply(this,a),this},d.prototype.emit=function(a){if(l.hasOwnProperty(a))return m.apply(this,arguments),this;var b=g(arguments),c=e.EVENT;k(b)&&(c=e.BINARY_EVENT);var d={type:c,data:b};return"function"==typeof b[b.length-1]&&(j("emitting packet with ack id %d",this.ids),this.acks[this.ids]=b.pop(),d.id=this.ids++),this.connected?this.packet(d):this.sendBuffer.push(d),this},d.prototype.packet=function(a){a.nsp=this.nsp,this.io.packet(a)},d.prototype.onopen=function(){j("transport is open - connecting"),"/"!=this.nsp&&this.packet({type:e.CONNECT})},d.prototype.onclose=function(a){j("close (%s)",a),this.connected=!1,this.disconnected=!0,delete this.id,this.emit("disconnect",a)},d.prototype.onpacket=function(a){if(a.nsp==this.nsp)switch(a.type){case e.CONNECT:this.onconnect();break;case e.EVENT:this.onevent(a);break;case e.BINARY_EVENT:this.onevent(a);break;case e.ACK:this.onack(a);break;case e.BINARY_ACK:this.onack(a);break;case e.DISCONNECT:this.ondisconnect();break;case e.ERROR:this.emit("error",a.data)}},d.prototype.onevent=function(a){var b=a.data||[];j("emitting event %j",b),null!=a.id&&(j("attaching ack callback to event"),b.push(this.ack(a.id))),this.connected?m.apply(this,b):this.receiveBuffer.push(b)},d.prototype.ack=function(a){var b=this,c=!1;return function(){if(!c){c=!0;var d=g(arguments);j("sending ack %j",d);var f=k(d)?e.BINARY_ACK:e.ACK;b.packet({type:f,id:a,data:d})}}},d.prototype.onack=function(a){j("calling ack %s with %j",a.id,a.data);var b=this.acks[a.id];b.apply(this,a.data),delete this.acks[a.id]},d.prototype.onconnect=function(){this.connected=!0,this.disconnected=!1,this.emit("connect"),this.emitBuffered()},d.prototype.emitBuffered=function(){var a;for(a=0;a<this.receiveBuffer.length;a++)m.apply(this,this.receiveBuffer[a]);for(this.receiveBuffer=[],a=0;a<this.sendBuffer.length;a++)this.packet(this.sendBuffer[a]);this.sendBuffer=[]},d.prototype.ondisconnect=function(){j("server disconnect (%s)",this.nsp),this.destroy(),this.onclose("io server disconnect")},d.prototype.destroy=function(){if(this.subs){for(var a=0;a<this.subs.length;a++)this.subs[a].destroy();this.subs=null}this.io.destroy(this)},d.prototype.close=d.prototype.disconnect=function(){return this.connected&&(j("performing disconnect (%s)",this.nsp),this.packet({type:e.DISCONNECT})),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}},{"./on":4,"component-bind":8,"component-emitter":9,debug:10,"has-binary":36,"socket.io-parser":44,"to-array":48}],6:[function(a,b,c){(function(c){function d(a,b){var d=a,b=b||c.location;return null==a&&(a=b.protocol+"//"+b.host),"string"==typeof a&&("/"==a.charAt(0)&&(a="/"==a.charAt(1)?b.protocol+a:b.hostname+a),/^(https?|wss?):\/\//.test(a)||(f("protocol-less url %s",a),a="undefined"!=typeof b?b.protocol+"//"+a:"https://"+a),f("parse %s",a),d=e(a)),d.port||(/^(http|ws)$/.test(d.protocol)?d.port="80":/^(http|ws)s$/.test(d.protocol)&&(d.port="443")),d.path=d.path||"/",d.id=d.protocol+"://"+d.host+":"+d.port,d.href=d.protocol+"://"+d.host+(b&&b.port==d.port?"":":"+d.port),d}var e=a("parseuri"),f=a("debug")("socket.io-client:url");b.exports=d}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{debug:10,parseuri:42}],7:[function(a,b,c){function d(a){a=a||{},this.ms=a.min||100,this.max=a.max||1e4,this.factor=a.factor||2,this.jitter=a.jitter>0&&a.jitter<=1?a.jitter:0,this.attempts=0}b.exports=d,d.prototype.duration=function(){var a=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var b=Math.random(),c=Math.floor(b*this.jitter*a);a=0==(1&Math.floor(10*b))?a-c:a+c}return 0|Math.min(a,this.max)},d.prototype.reset=function(){this.attempts=0},d.prototype.setMin=function(a){this.ms=a},d.prototype.setMax=function(a){this.max=a},d.prototype.setJitter=function(a){this.jitter=a}},{}],8:[function(a,b,c){var d=[].slice;b.exports=function(a,b){if("string"==typeof b&&(b=a[b]),"function"!=typeof b)throw new Error("bind() requires a function");var c=d.call(arguments,2);return function(){return b.apply(a,c.concat(d.call(arguments)))}}},{}],9:[function(a,b,c){function d(a){return a?e(a):void 0}function e(a){for(var b in d.prototype)a[b]=d.prototype[b];return a}b.exports=d,d.prototype.on=d.prototype.addEventListener=function(a,b){return this._callbacks=this._callbacks||{},(this._callbacks[a]=this._callbacks[a]||[]).push(b),this},d.prototype.once=function(a,b){function c(){d.off(a,c),b.apply(this,arguments)}var d=this;return this._callbacks=this._callbacks||{},c.fn=b,this.on(a,c),this},d.prototype.off=d.prototype.removeListener=d.prototype.removeAllListeners=d.prototype.removeEventListener=function(a,b){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var c=this._callbacks[a];if(!c)return this;if(1==arguments.length)return delete this._callbacks[a],this;for(var d,e=0;e<c.length;e++)if(d=c[e],d===b||d.fn===b){c.splice(e,1);break}return this},d.prototype.emit=function(a){this._callbacks=this._callbacks||{};var b=[].slice.call(arguments,1),c=this._callbacks[a];if(c){c=c.slice(0);for(var d=0,e=c.length;e>d;++d)c[d].apply(this,b)}return this},d.prototype.listeners=function(a){return this._callbacks=this._callbacks||{},this._callbacks[a]||[]},d.prototype.hasListeners=function(a){return!!this.listeners(a).length}},{}],10:[function(a,b,c){function d(a){return d.enabled(a)?function(b){b=e(b);var c=new Date,f=c-(d[a]||c);d[a]=c,b=a+" "+b+" +"+d.humanize(f),window.console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}:function(){}}function e(a){return a instanceof Error?a.stack||a.message:a}b.exports=d,d.names=[],d.skips=[],d.enable=function(a){try{localStorage.debug=a}catch(b){}for(var c=(a||"").split(/[\s,]+/),e=c.length,f=0;e>f;f++)a=c[f].replace("*",".*?"),"-"===a[0]?d.skips.push(new RegExp("^"+a.substr(1)+"$")):d.names.push(new RegExp("^"+a+"$"))},d.disable=function(){d.enable("")},d.humanize=function(a){var b=1e3,c=6e4,d=60*c;return a>=d?(a/d).toFixed(1)+"h":a>=c?(a/c).toFixed(1)+"m":a>=b?(a/b|0)+"s":a+"ms"},d.enabled=function(a){for(var b=0,c=d.skips.length;c>b;b++)if(d.skips[b].test(a))return!1;for(var b=0,c=d.names.length;c>b;b++)if(d.names[b].test(a))return!0;return!1};try{window.localStorage&&d.enable(localStorage.debug)}catch(f){}},{}],11:[function(a,b,c){b.exports=a("./lib/")},{"./lib/":12}],12:[function(a,b,c){b.exports=a("./socket"),b.exports.parser=a("engine.io-parser")},{"./socket":13,"engine.io-parser":25}],13:[function(a,b,c){(function(c){function d(a,b){if(!(this instanceof d))return new d(a,b);if(b=b||{},a&&"object"==typeof a&&(b=a,a=null),a&&(a=k(a),b.host=a.host,b.secure="https"==a.protocol||"wss"==a.protocol,b.port=a.port,a.query&&(b.query=a.query)),this.secure=null!=b.secure?b.secure:c.location&&"https:"==location.protocol,b.host){var e=b.host.split(":");b.hostname=e.shift(),e.length?b.port=e.pop():b.port||(b.port=this.secure?"443":"80")}this.agent=b.agent||!1,this.hostname=b.hostname||(c.location?location.hostname:"localhost"),this.port=b.port||(c.location&&location.port?location.port:this.secure?443:80),this.query=b.query||{},"string"==typeof this.query&&(this.query=m.decode(this.query)),this.upgrade=!1!==b.upgrade,this.path=(b.path||"/engine.io").replace(/\/$/,"")+"/",this.forceJSONP=!!b.forceJSONP,this.jsonp=!1!==b.jsonp,this.forceBase64=!!b.forceBase64,this.enablesXDR=!!b.enablesXDR,this.timestampParam=b.timestampParam||"t",this.timestampRequests=b.timestampRequests,this.transports=b.transports||["polling","websocket"],this.readyState="",this.writeBuffer=[],this.callbackBuffer=[],this.policyPort=b.policyPort||843,this.rememberUpgrade=b.rememberUpgrade||!1,this.binaryType=null,this.onlyBinaryUpgrades=b.onlyBinaryUpgrades,this.pfx=b.pfx||null,this.key=b.key||null,this.passphrase=b.passphrase||null,this.cert=b.cert||null,this.ca=b.ca||null,this.ciphers=b.ciphers||null,this.rejectUnauthorized=b.rejectUnauthorized||null,this.open()}function e(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}var f=a("./transports"),g=a("component-emitter"),h=a("debug")("engine.io-client:socket"),i=a("indexof"),j=a("engine.io-parser"),k=a("parseuri"),l=a("parsejson"),m=a("parseqs");b.exports=d,d.priorWebsocketSuccess=!1,g(d.prototype),d.protocol=j.protocol,d.Socket=d,d.Transport=a("./transport"),d.transports=a("./transports"),d.parser=a("engine.io-parser"),d.prototype.createTransport=function(a){h('creating transport "%s"',a);var b=e(this.query);b.EIO=j.protocol,b.transport=a,this.id&&(b.sid=this.id);var c=new f[a]({agent:this.agent,hostname:this.hostname,port:this.port,secure:this.secure,path:this.path,query:b,forceJSONP:this.forceJSONP,jsonp:this.jsonp,forceBase64:this.forceBase64,enablesXDR:this.enablesXDR,timestampRequests:this.timestampRequests,timestampParam:this.timestampParam,policyPort:this.policyPort,socket:this,pfx:this.pfx,key:this.key,passphrase:this.passphrase,cert:this.cert,ca:this.ca,ciphers:this.ciphers,rejectUnauthorized:this.rejectUnauthorized});return c},d.prototype.open=function(){var a;if(this.rememberUpgrade&&d.priorWebsocketSuccess&&-1!=this.transports.indexOf("websocket"))a="websocket";else{if(0==this.transports.length){var b=this;return void setTimeout(function(){b.emit("error","No transports available")},0)}a=this.transports[0]}this.readyState="opening";var a;try{a=this.createTransport(a)}catch(c){return this.transports.shift(),void this.open()}a.open(),this.setTransport(a)},d.prototype.setTransport=function(a){h("setting transport %s",a.name);var b=this;this.transport&&(h("clearing existing transport %s",this.transport.name),this.transport.removeAllListeners()),this.transport=a,a.on("drain",function(){b.onDrain()}).on("packet",function(a){b.onPacket(a)}).on("error",function(a){b.onError(a)}).on("close",function(){b.onClose("transport close")})},d.prototype.probe=function(a){function b(){if(m.onlyBinaryUpgrades){var b=!this.supportsBinary&&m.transport.supportsBinary;l=l||b}l||(h('probe transport "%s" opened',a),k.send([{type:"ping",data:"probe"}]),k.once("packet",function(b){if(!l)if("pong"==b.type&&"probe"==b.data){if(h('probe transport "%s" pong',a),m.upgrading=!0,m.emit("upgrading",k),!k)return;d.priorWebsocketSuccess="websocket"==k.name,h('pausing current transport "%s"',m.transport.name),m.transport.pause(function(){l||"closed"!=m.readyState&&(h("changing transport and sending upgrade packet"),j(),m.setTransport(k),k.send([{type:"upgrade"}]),m.emit("upgrade",k),k=null,m.upgrading=!1,m.flush())})}else{h('probe transport "%s" failed',a);var c=new Error("probe error");c.transport=k.name,m.emit("upgradeError",c)}}))}function c(){l||(l=!0,j(),k.close(),k=null)}function e(b){var d=new Error("probe error: "+b);d.transport=k.name,c(),h('probe transport "%s" failed because of error: %s',a,b),m.emit("upgradeError",d)}function f(){e("transport closed")}function g(){e("socket closed")}function i(a){k&&a.name!=k.name&&(h('"%s" works - aborting "%s"',a.name,k.name),c())}function j(){k.removeListener("open",b),k.removeListener("error",e),k.removeListener("close",f),m.removeListener("close",g),m.removeListener("upgrading",i)}h('probing transport "%s"',a);var k=this.createTransport(a,{probe:1}),l=!1,m=this;d.priorWebsocketSuccess=!1,k.once("open",b),k.once("error",e),k.once("close",f),this.once("close",g),this.once("upgrading",i),k.open()},d.prototype.onOpen=function(){if(h("socket open"),this.readyState="open",d.priorWebsocketSuccess="websocket"==this.transport.name,this.emit("open"),this.flush(),"open"==this.readyState&&this.upgrade&&this.transport.pause){h("starting upgrade probes");for(var a=0,b=this.upgrades.length;b>a;a++)this.probe(this.upgrades[a])}},d.prototype.onPacket=function(a){if("opening"==this.readyState||"open"==this.readyState)switch(h('socket receive: type "%s", data "%s"',a.type,a.data),this.emit("packet",a),this.emit("heartbeat"),a.type){case"open":this.onHandshake(l(a.data));break;case"pong":this.setPing();break;case"error":var b=new Error("server error");b.code=a.data,this.emit("error",b);break;case"message":this.emit("data",a.data),this.emit("message",a.data)}else h('packet received with socket readyState "%s"',this.readyState)},d.prototype.onHandshake=function(a){this.emit("handshake",a),this.id=a.sid,this.transport.query.sid=a.sid,this.upgrades=this.filterUpgrades(a.upgrades),this.pingInterval=a.pingInterval,this.pingTimeout=a.pingTimeout,this.onOpen(),"closed"!=this.readyState&&(this.setPing(),this.removeListener("heartbeat",this.onHeartbeat),this.on("heartbeat",this.onHeartbeat))},d.prototype.onHeartbeat=function(a){clearTimeout(this.pingTimeoutTimer);var b=this;b.pingTimeoutTimer=setTimeout(function(){"closed"!=b.readyState&&b.onClose("ping timeout")},a||b.pingInterval+b.pingTimeout)},d.prototype.setPing=function(){var a=this;clearTimeout(a.pingIntervalTimer),a.pingIntervalTimer=setTimeout(function(){h("writing ping packet - expecting pong within %sms",a.pingTimeout),a.ping(),a.onHeartbeat(a.pingTimeout)},a.pingInterval)},d.prototype.ping=function(){this.sendPacket("ping")},d.prototype.onDrain=function(){for(var a=0;a<this.prevBufferLen;a++)this.callbackBuffer[a]&&this.callbackBuffer[a]();this.writeBuffer.splice(0,this.prevBufferLen),this.callbackBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0==this.writeBuffer.length?this.emit("drain"):this.flush()},d.prototype.flush=function(){"closed"!=this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length&&(h("flushing %d packets in socket",this.writeBuffer.length),this.transport.send(this.writeBuffer),this.prevBufferLen=this.writeBuffer.length,this.emit("flush"))},d.prototype.write=d.prototype.send=function(a,b){return this.sendPacket("message",a,b),this},d.prototype.sendPacket=function(a,b,c){if("closing"!=this.readyState&&"closed"!=this.readyState){var d={type:a,data:b};this.emit("packetCreate",d),this.writeBuffer.push(d),this.callbackBuffer.push(c),this.flush()}},d.prototype.close=function(){function a(){d.onClose("forced close"),h("socket closing - telling transport to close"),d.transport.close()}function b(){d.removeListener("upgrade",b),d.removeListener("upgradeError",b),a()}function c(){d.once("upgrade",b),d.once("upgradeError",b)}if("opening"==this.readyState||"open"==this.readyState){this.readyState="closing";var d=this;this.writeBuffer.length?this.once("drain",function(){this.upgrading?c():a()}):this.upgrading?c():a()}return this},d.prototype.onError=function(a){h("socket error %j",a),d.priorWebsocketSuccess=!1,this.emit("error",a),this.onClose("transport error",a)},d.prototype.onClose=function(a,b){if("opening"==this.readyState||"open"==this.readyState||"closing"==this.readyState){h('socket close with reason: "%s"',a);var c=this;clearTimeout(this.pingIntervalTimer),clearTimeout(this.pingTimeoutTimer),setTimeout(function(){c.writeBuffer=[],c.callbackBuffer=[],c.prevBufferLen=0},0),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),this.readyState="closed",this.id=null,this.emit("close",a,b)}},d.prototype.filterUpgrades=function(a){for(var b=[],c=0,d=a.length;d>c;c++)~i(this.transports,a[c])&&b.push(a[c]);return b}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./transport":14,"./transports":15,"component-emitter":9,debug:22,"engine.io-parser":25,indexof:40,parsejson:32,parseqs:33,parseuri:34}],14:[function(a,b,c){function d(a){this.path=a.path,this.hostname=a.hostname,this.port=a.port,this.secure=a.secure,this.query=a.query,this.timestampParam=a.timestampParam,this.timestampRequests=a.timestampRequests,this.readyState="",this.agent=a.agent||!1,this.socket=a.socket,this.enablesXDR=a.enablesXDR,this.pfx=a.pfx,this.key=a.key,this.passphrase=a.passphrase,this.cert=a.cert,this.ca=a.ca,this.ciphers=a.ciphers,this.rejectUnauthorized=a.rejectUnauthorized}var e=a("engine.io-parser"),f=a("component-emitter");b.exports=d,f(d.prototype),d.timestamps=0,d.prototype.onError=function(a,b){var c=new Error(a);return c.type="TransportError",c.description=b,this.emit("error",c),this},d.prototype.open=function(){return("closed"==this.readyState||""==this.readyState)&&(this.readyState="opening",this.doOpen()),this},d.prototype.close=function(){return("opening"==this.readyState||"open"==this.readyState)&&(this.doClose(),this.onClose()),this},d.prototype.send=function(a){if("open"!=this.readyState)throw new Error("Transport not open");this.write(a)},d.prototype.onOpen=function(){this.readyState="open",this.writable=!0,this.emit("open")},d.prototype.onData=function(a){var b=e.decodePacket(a,this.socket.binaryType);this.onPacket(b)},d.prototype.onPacket=function(a){this.emit("packet",a)},d.prototype.onClose=function(){this.readyState="closed",this.emit("close")}},{"component-emitter":9,"engine.io-parser":25}],15:[function(a,b,c){(function(b){function d(a){var c,d=!1,h=!1,i=!1!==a.jsonp;if(b.location){var j="https:"==location.protocol,k=location.port;k||(k=j?443:80),d=a.hostname!=location.hostname||k!=a.port,h=a.secure!=j}if(a.xdomain=d,a.xscheme=h,c=new e(a),"open"in c&&!a.forceJSONP)return new f(a);if(!i)throw new Error("JSONP disabled");return new g(a)}var e=a("xmlhttprequest"),f=a("./polling-xhr"),g=a("./polling-jsonp"),h=a("./websocket");c.polling=d,c.websocket=h}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./polling-jsonp":16,"./polling-xhr":17,"./websocket":19,xmlhttprequest:20}],16:[function(a,b,c){(function(c){function d(){}function e(a){f.call(this,a),this.query=this.query||{},h||(c.___eio||(c.___eio=[]),h=c.___eio),this.index=h.length;var b=this;h.push(function(a){b.onData(a)}),this.query.j=this.index,c.document&&c.addEventListener&&c.addEventListener("beforeunload",function(){b.script&&(b.script.onerror=d)},!1)}var f=a("./polling"),g=a("component-inherit");b.exports=e;var h,i=/\n/g,j=/\\n/g;g(e,f),e.prototype.supportsBinary=!1,e.prototype.doClose=function(){this.script&&(this.script.parentNode.removeChild(this.script),this.script=null),this.form&&(this.form.parentNode.removeChild(this.form),this.form=null,this.iframe=null),f.prototype.doClose.call(this)},e.prototype.doPoll=function(){var a=this,b=document.createElement("script");this.script&&(this.script.parentNode.removeChild(this.script),this.script=null),b.async=!0,b.src=this.uri(),b.onerror=function(b){a.onError("jsonp poll error",b)};var c=document.getElementsByTagName("script")[0];c.parentNode.insertBefore(b,c),this.script=b;var d="undefined"!=typeof navigator&&/gecko/i.test(navigator.userAgent);d&&setTimeout(function(){var a=document.createElement("iframe");document.body.appendChild(a),document.body.removeChild(a)},100)},e.prototype.doWrite=function(a,b){function c(){d(),b()}function d(){if(e.iframe)try{e.form.removeChild(e.iframe)}catch(a){e.onError("jsonp polling iframe removal error",a)}try{var b='<iframe src="javascript:0" name="'+e.iframeId+'">';f=document.createElement(b)}catch(a){f=document.createElement("iframe"),f.name=e.iframeId,f.src="javascript:0"}f.id=e.iframeId,e.form.appendChild(f),e.iframe=f}var e=this;if(!this.form){var f,g=document.createElement("form"),h=document.createElement("textarea"),k=this.iframeId="eio_iframe_"+this.index;g.className="socketio",g.style.position="absolute",g.style.top="-1000px",g.style.left="-1000px",g.target=k,g.method="POST",g.setAttribute("accept-charset","utf-8"),h.name="d",g.appendChild(h),document.body.appendChild(g),this.form=g,this.area=h}this.form.action=this.uri(),d(),a=a.replace(j,"\\\n"),this.area.value=a.replace(i,"\\n");try{this.form.submit()}catch(l){}this.iframe.attachEvent?this.iframe.onreadystatechange=function(){"complete"==e.iframe.readyState&&c()}:this.iframe.onload=c}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./polling":18,"component-inherit":21}],17:[function(a,b,c){(function(c){function d(){}function e(a){if(i.call(this,a),c.location){var b="https:"==location.protocol,d=location.port;d||(d=b?443:80),this.xd=a.hostname!=c.location.hostname||d!=a.port,this.xs=a.secure!=b}}function f(a){this.method=a.method||"GET",this.uri=a.uri,this.xd=!!a.xd,this.xs=!!a.xs,this.async=!1!==a.async,this.data=void 0!=a.data?a.data:null,this.agent=a.agent,this.isBinary=a.isBinary,this.supportsBinary=a.supportsBinary,this.enablesXDR=a.enablesXDR,this.pfx=a.pfx,this.key=a.key,this.passphrase=a.passphrase,this.cert=a.cert,this.ca=a.ca,this.ciphers=a.ciphers,this.rejectUnauthorized=a.rejectUnauthorized,this.create()}function g(){for(var a in f.requests)f.requests.hasOwnProperty(a)&&f.requests[a].abort()}var h=a("xmlhttprequest"),i=a("./polling"),j=a("component-emitter"),k=a("component-inherit"),l=a("debug")("engine.io-client:polling-xhr");b.exports=e,b.exports.Request=f,k(e,i),e.prototype.supportsBinary=!0,e.prototype.request=function(a){return a=a||{},a.uri=this.uri(),a.xd=this.xd,a.xs=this.xs,a.agent=this.agent||!1,a.supportsBinary=this.supportsBinary,a.enablesXDR=this.enablesXDR,a.pfx=this.pfx,a.key=this.key,a.passphrase=this.passphrase,a.cert=this.cert,a.ca=this.ca,a.ciphers=this.ciphers,a.rejectUnauthorized=this.rejectUnauthorized,new f(a)},e.prototype.doWrite=function(a,b){var c="string"!=typeof a&&void 0!==a,d=this.request({method:"POST",data:a,isBinary:c}),e=this;d.on("success",b),d.on("error",function(a){e.onError("xhr post error",a)}),this.sendXhr=d},e.prototype.doPoll=function(){l("xhr poll");var a=this.request(),b=this;a.on("data",function(a){b.onData(a)}),a.on("error",function(a){b.onError("xhr poll error",a)}),this.pollXhr=a},j(f.prototype),f.prototype.create=function(){var a={agent:this.agent,xdomain:this.xd,xscheme:this.xs,enablesXDR:this.enablesXDR};a.pfx=this.pfx,a.key=this.key,a.passphrase=this.passphrase,a.cert=this.cert,a.ca=this.ca,a.ciphers=this.ciphers,a.rejectUnauthorized=this.rejectUnauthorized;var b=this.xhr=new h(a),d=this;try{if(l("xhr open %s: %s",this.method,this.uri),b.open(this.method,this.uri,this.async),this.supportsBinary&&(b.responseType="arraybuffer"),"POST"==this.method)try{this.isBinary?b.setRequestHeader("Content-type","application/octet-stream"):b.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(e){}"withCredentials"in b&&(b.withCredentials=!0),this.hasXDR()?(b.onload=function(){d.onLoad()},b.onerror=function(){d.onError(b.responseText)}):b.onreadystatechange=function(){4==b.readyState&&(200==b.status||1223==b.status?d.onLoad():setTimeout(function(){d.onError(b.status)},0))},l("xhr data %s",this.data),b.send(this.data)}catch(e){return void setTimeout(function(){d.onError(e)},0)}c.document&&(this.index=f.requestsCount++,f.requests[this.index]=this)},f.prototype.onSuccess=function(){this.emit("success"),this.cleanup()},f.prototype.onData=function(a){this.emit("data",a),this.onSuccess()},f.prototype.onError=function(a){this.emit("error",a),this.cleanup(!0)},f.prototype.cleanup=function(a){if("undefined"!=typeof this.xhr&&null!==this.xhr){if(this.hasXDR()?this.xhr.onload=this.xhr.onerror=d:this.xhr.onreadystatechange=d,a)try{this.xhr.abort()}catch(b){}c.document&&delete f.requests[this.index],this.xhr=null}},f.prototype.onLoad=function(){var a;try{var b;try{b=this.xhr.getResponseHeader("Content-Type").split(";")[0]}catch(c){}a="application/octet-stream"===b?this.xhr.response:this.supportsBinary?"ok":this.xhr.responseText}catch(c){this.onError(c)}null!=a&&this.onData(a)},f.prototype.hasXDR=function(){return"undefined"!=typeof c.XDomainRequest&&!this.xs&&this.enablesXDR},f.prototype.abort=function(){this.cleanup()},c.document&&(f.requestsCount=0,f.requests={},c.attachEvent?c.attachEvent("onunload",g):c.addEventListener&&c.addEventListener("beforeunload",g,!1))}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./polling":18,"component-emitter":9,"component-inherit":21,debug:22,xmlhttprequest:20}],18:[function(a,b,c){function d(a){var b=a&&a.forceBase64;(!j||b)&&(this.supportsBinary=!1),e.call(this,a)}var e=a("../transport"),f=a("parseqs"),g=a("engine.io-parser"),h=a("component-inherit"),i=a("debug")("engine.io-client:polling");b.exports=d;var j=function(){var b=a("xmlhttprequest"),c=new b({xdomain:!1});return null!=c.responseType}();h(d,e),d.prototype.name="polling",d.prototype.doOpen=function(){this.poll()},d.prototype.pause=function(a){function b(){i("paused"),c.readyState="paused",a()}var c=this;if(this.readyState="pausing",this.polling||!this.writable){var d=0;this.polling&&(i("we are currently polling - waiting to pause"),d++,this.once("pollComplete",function(){i("pre-pause polling complete"),--d||b()})),this.writable||(i("we are currently writing - waiting to pause"),d++,this.once("drain",function(){i("pre-pause writing complete"),--d||b()}))}else b()},d.prototype.poll=function(){i("polling"),this.polling=!0,this.doPoll(),this.emit("poll")},d.prototype.onData=function(a){var b=this;i("polling got data %s",a);var c=function(a,c,d){return"opening"==b.readyState&&b.onOpen(),"close"==a.type?(b.onClose(),!1):void b.onPacket(a)};g.decodePayload(a,this.socket.binaryType,c),
-"closed"!=this.readyState&&(this.polling=!1,this.emit("pollComplete"),"open"==this.readyState?this.poll():i('ignoring poll - transport state "%s"',this.readyState))},d.prototype.doClose=function(){function a(){i("writing close packet"),b.write([{type:"close"}])}var b=this;"open"==this.readyState?(i("transport open - closing"),a()):(i("transport not open - deferring close"),this.once("open",a))},d.prototype.write=function(a){var b=this;this.writable=!1;var c=function(){b.writable=!0,b.emit("drain")},b=this;g.encodePayload(a,this.supportsBinary,function(a){b.doWrite(a,c)})},d.prototype.uri=function(){var a=this.query||{},b=this.secure?"https":"http",c="";return!1!==this.timestampRequests&&(a[this.timestampParam]=+new Date+"-"+e.timestamps++),this.supportsBinary||a.sid||(a.b64=1),a=f.encode(a),this.port&&("https"==b&&443!=this.port||"http"==b&&80!=this.port)&&(c=":"+this.port),a.length&&(a="?"+a),b+"://"+this.hostname+c+this.path+a}},{"../transport":14,"component-inherit":21,debug:22,"engine.io-parser":25,parseqs:33,xmlhttprequest:20}],19:[function(a,b,c){function d(a){var b=a&&a.forceBase64;b&&(this.supportsBinary=!1),e.call(this,a)}var e=a("../transport"),f=a("engine.io-parser"),g=a("parseqs"),h=a("component-inherit"),i=a("debug")("engine.io-client:websocket"),j=a("ws");b.exports=d,h(d,e),d.prototype.name="websocket",d.prototype.supportsBinary=!0,d.prototype.doOpen=function(){if(this.check()){var a=this.uri(),b=void 0,c={agent:this.agent};c.pfx=this.pfx,c.key=this.key,c.passphrase=this.passphrase,c.cert=this.cert,c.ca=this.ca,c.ciphers=this.ciphers,c.rejectUnauthorized=this.rejectUnauthorized,this.ws=new j(a,b,c),void 0===this.ws.binaryType&&(this.supportsBinary=!1),this.ws.binaryType="arraybuffer",this.addEventListeners()}},d.prototype.addEventListeners=function(){var a=this;this.ws.onopen=function(){a.onOpen()},this.ws.onclose=function(){a.onClose()},this.ws.onmessage=function(b){a.onData(b.data)},this.ws.onerror=function(b){a.onError("websocket error",b)}},"undefined"!=typeof navigator&&/iPad|iPhone|iPod/i.test(navigator.userAgent)&&(d.prototype.onData=function(a){var b=this;setTimeout(function(){e.prototype.onData.call(b,a)},0)}),d.prototype.write=function(a){function b(){c.writable=!0,c.emit("drain")}var c=this;this.writable=!1;for(var d=0,e=a.length;e>d;d++)f.encodePacket(a[d],this.supportsBinary,function(a){try{c.ws.send(a)}catch(b){i("websocket closed before onclose event")}});setTimeout(b,0)},d.prototype.onClose=function(){e.prototype.onClose.call(this)},d.prototype.doClose=function(){"undefined"!=typeof this.ws&&this.ws.close()},d.prototype.uri=function(){var a=this.query||{},b=this.secure?"wss":"ws",c="";return this.port&&("wss"==b&&443!=this.port||"ws"==b&&80!=this.port)&&(c=":"+this.port),this.timestampRequests&&(a[this.timestampParam]=+new Date),this.supportsBinary||(a.b64=1),a=g.encode(a),a.length&&(a="?"+a),b+"://"+this.hostname+c+this.path+a},d.prototype.check=function(){return!(!j||"__initialize"in j&&this.name===d.prototype.name)}},{"../transport":14,"component-inherit":21,debug:22,"engine.io-parser":25,parseqs:33,ws:35}],20:[function(a,b,c){var d=a("has-cors");b.exports=function(a){var b=a.xdomain,c=a.xscheme,e=a.enablesXDR;try{if("undefined"!=typeof XMLHttpRequest&&(!b||d))return new XMLHttpRequest}catch(f){}try{if("undefined"!=typeof XDomainRequest&&!c&&e)return new XDomainRequest}catch(f){}if(!b)try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(f){}}},{"has-cors":38}],21:[function(a,b,c){b.exports=function(a,b){var c=function(){};c.prototype=b.prototype,a.prototype=new c,a.prototype.constructor=a}},{}],22:[function(a,b,c){function d(){return"WebkitAppearance"in document.documentElement.style||window.console&&(console.firebug||console.exception&&console.table)||navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31}function e(){var a=arguments,b=this.useColors;if(a[0]=(b?"%c":"")+this.namespace+(b?" %c":" ")+a[0]+(b?"%c ":" ")+"+"+c.humanize(this.diff),!b)return a;var d="color: "+this.color;a=[a[0],d,"color: inherit"].concat(Array.prototype.slice.call(a,1));var e=0,f=0;return a[0].replace(/%[a-z%]/g,function(a){"%%"!==a&&(e++,"%c"===a&&(f=e))}),a.splice(f,0,d),a}function f(){return"object"==typeof console&&"function"==typeof console.log&&Function.prototype.apply.call(console.log,console,arguments)}function g(a){try{null==a?localStorage.removeItem("debug"):localStorage.debug=a}catch(b){}}function h(){var a;try{a=localStorage.debug}catch(b){}return a}c=b.exports=a("./debug"),c.log=f,c.formatArgs=e,c.save=g,c.load=h,c.useColors=d,c.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],c.formatters.j=function(a){return JSON.stringify(a)},c.enable(h())},{"./debug":23}],23:[function(a,b,c){function d(){return c.colors[k++%c.colors.length]}function e(a){function b(){}function e(){var a=e,b=+new Date,f=b-(j||b);a.diff=f,a.prev=j,a.curr=b,j=b,null==a.useColors&&(a.useColors=c.useColors()),null==a.color&&a.useColors&&(a.color=d());var g=Array.prototype.slice.call(arguments);g[0]=c.coerce(g[0]),"string"!=typeof g[0]&&(g=["%o"].concat(g));var h=0;g[0]=g[0].replace(/%([a-z%])/g,function(b,d){if("%%"===b)return b;h++;var e=c.formatters[d];if("function"==typeof e){var f=g[h];b=e.call(a,f),g.splice(h,1),h--}return b}),"function"==typeof c.formatArgs&&(g=c.formatArgs.apply(a,g));var i=e.log||c.log||console.log.bind(console);i.apply(a,g)}b.enabled=!1,e.enabled=!0;var f=c.enabled(a)?e:b;return f.namespace=a,f}function f(a){c.save(a);for(var b=(a||"").split(/[\s,]+/),d=b.length,e=0;d>e;e++)b[e]&&(a=b[e].replace(/\*/g,".*?"),"-"===a[0]?c.skips.push(new RegExp("^"+a.substr(1)+"$")):c.names.push(new RegExp("^"+a+"$")))}function g(){c.enable("")}function h(a){var b,d;for(b=0,d=c.skips.length;d>b;b++)if(c.skips[b].test(a))return!1;for(b=0,d=c.names.length;d>b;b++)if(c.names[b].test(a))return!0;return!1}function i(a){return a instanceof Error?a.stack||a.message:a}c=b.exports=e,c.coerce=i,c.disable=g,c.enable=f,c.enabled=h,c.humanize=a("ms"),c.names=[],c.skips=[],c.formatters={};var j,k=0},{ms:24}],24:[function(a,b,c){function d(a){var b=/^((?:\d+)?\.?\d+) *(ms|seconds?|s|minutes?|m|hours?|h|days?|d|years?|y)?$/i.exec(a);if(b){var c=parseFloat(b[1]),d=(b[2]||"ms").toLowerCase();switch(d){case"years":case"year":case"y":return c*l;case"days":case"day":case"d":return c*k;case"hours":case"hour":case"h":return c*j;case"minutes":case"minute":case"m":return c*i;case"seconds":case"second":case"s":return c*h;case"ms":return c}}}function e(a){return a>=k?Math.round(a/k)+"d":a>=j?Math.round(a/j)+"h":a>=i?Math.round(a/i)+"m":a>=h?Math.round(a/h)+"s":a+"ms"}function f(a){return g(a,k,"day")||g(a,j,"hour")||g(a,i,"minute")||g(a,h,"second")||a+" ms"}function g(a,b,c){return b>a?void 0:1.5*b>a?Math.floor(a/b)+" "+c:Math.ceil(a/b)+" "+c+"s"}var h=1e3,i=60*h,j=60*i,k=24*j,l=365.25*k;b.exports=function(a,b){return b=b||{},"string"==typeof a?d(a):b["long"]?f(a):e(a)}},{}],25:[function(a,b,c){(function(b){function d(a,b){var d="b"+c.packets[a.type]+a.data.data;return b(d)}function e(a,b,d){if(!b)return c.encodeBase64Packet(a,d);var e=a.data,f=new Uint8Array(e),g=new Uint8Array(1+e.byteLength);g[0]=r[a.type];for(var h=0;h<f.length;h++)g[h+1]=f[h];return d(g.buffer)}function f(a,b,d){if(!b)return c.encodeBase64Packet(a,d);var e=new FileReader;return e.onload=function(){a.data=e.result,c.encodePacket(a,b,!0,d)},e.readAsArrayBuffer(a.data)}function g(a,b,d){if(!b)return c.encodeBase64Packet(a,d);if(q)return f(a,b,d);var e=new Uint8Array(1);e[0]=r[a.type];var g=new u([e.buffer,a.data]);return d(g)}function h(a,b,c){for(var d=new Array(a.length),e=m(a.length,c),f=function(a,c,e){b(c,function(b,c){d[a]=c,e(b,d)})},g=0;g<a.length;g++)f(g,a[g],e)}var i=a("./keys"),j=a("has-binary"),k=a("arraybuffer.slice"),l=a("base64-arraybuffer"),m=a("after"),n=a("utf8"),o=navigator.userAgent.match(/Android/i),p=/PhantomJS/i.test(navigator.userAgent),q=o||p;c.protocol=3;var r=c.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6},s=i(r),t={type:"error",data:"parser error"},u=a("blob");c.encodePacket=function(a,c,f,h){"function"==typeof c&&(h=c,c=!1),"function"==typeof f&&(h=f,f=null);var i=void 0===a.data?void 0:a.data.buffer||a.data;if(b.ArrayBuffer&&i instanceof ArrayBuffer)return e(a,c,h);if(u&&i instanceof b.Blob)return g(a,c,h);if(i&&i.base64)return d(a,h);var j=r[a.type];return void 0!==a.data&&(j+=f?n.encode(String(a.data)):String(a.data)),h(""+j)},c.encodeBase64Packet=function(a,d){var e="b"+c.packets[a.type];if(u&&a.data instanceof u){var f=new FileReader;return f.onload=function(){var a=f.result.split(",")[1];d(e+a)},f.readAsDataURL(a.data)}var g;try{g=String.fromCharCode.apply(null,new Uint8Array(a.data))}catch(h){for(var i=new Uint8Array(a.data),j=new Array(i.length),k=0;k<i.length;k++)j[k]=i[k];g=String.fromCharCode.apply(null,j)}return e+=b.btoa(g),d(e)},c.decodePacket=function(a,b,d){if("string"==typeof a||void 0===a){if("b"==a.charAt(0))return c.decodeBase64Packet(a.substr(1),b);if(d)try{a=n.decode(a)}catch(e){return t}var f=a.charAt(0);return Number(f)==f&&s[f]?a.length>1?{type:s[f],data:a.substring(1)}:{type:s[f]}:t}var g=new Uint8Array(a),f=g[0],h=k(a,1);return u&&"blob"===b&&(h=new u([h])),{type:s[f],data:h}},c.decodeBase64Packet=function(a,c){var d=s[a.charAt(0)];if(!b.ArrayBuffer)return{type:d,data:{base64:!0,data:a.substr(1)}};var e=l.decode(a.substr(1));return"blob"===c&&u&&(e=new u([e])),{type:d,data:e}},c.encodePayload=function(a,b,d){function e(a){return a.length+":"+a}function f(a,d){c.encodePacket(a,g?b:!1,!0,function(a){d(null,e(a))})}"function"==typeof b&&(d=b,b=null);var g=j(a);return b&&g?u&&!q?c.encodePayloadAsBlob(a,d):c.encodePayloadAsArrayBuffer(a,d):a.length?void h(a,f,function(a,b){return d(b.join(""))}):d("0:")},c.decodePayload=function(a,b,d){if("string"!=typeof a)return c.decodePayloadAsBinary(a,b,d);"function"==typeof b&&(d=b,b=null);var e;if(""==a)return d(t,0,1);for(var f,g,h="",i=0,j=a.length;j>i;i++){var k=a.charAt(i);if(":"!=k)h+=k;else{if(""==h||h!=(f=Number(h)))return d(t,0,1);if(g=a.substr(i+1,f),h!=g.length)return d(t,0,1);if(g.length){if(e=c.decodePacket(g,b,!0),t.type==e.type&&t.data==e.data)return d(t,0,1);var l=d(e,i+f,j);if(!1===l)return}i+=f,h=""}}return""!=h?d(t,0,1):void 0},c.encodePayloadAsArrayBuffer=function(a,b){function d(a,b){c.encodePacket(a,!0,!0,function(a){return b(null,a)})}return a.length?void h(a,d,function(a,c){var d=c.reduce(function(a,b){var c;return c="string"==typeof b?b.length:b.byteLength,a+c.toString().length+c+2},0),e=new Uint8Array(d),f=0;return c.forEach(function(a){var b="string"==typeof a,c=a;if(b){for(var d=new Uint8Array(a.length),g=0;g<a.length;g++)d[g]=a.charCodeAt(g);c=d.buffer}b?e[f++]=0:e[f++]=1;for(var h=c.byteLength.toString(),g=0;g<h.length;g++)e[f++]=parseInt(h[g]);e[f++]=255;for(var d=new Uint8Array(c),g=0;g<d.length;g++)e[f++]=d[g]}),b(e.buffer)}):b(new ArrayBuffer(0))},c.encodePayloadAsBlob=function(a,b){function d(a,b){c.encodePacket(a,!0,!0,function(a){var c=new Uint8Array(1);if(c[0]=1,"string"==typeof a){for(var d=new Uint8Array(a.length),e=0;e<a.length;e++)d[e]=a.charCodeAt(e);a=d.buffer,c[0]=0}for(var f=a instanceof ArrayBuffer?a.byteLength:a.size,g=f.toString(),h=new Uint8Array(g.length+1),e=0;e<g.length;e++)h[e]=parseInt(g[e]);if(h[g.length]=255,u){var i=new u([c.buffer,h.buffer,a]);b(null,i)}})}h(a,d,function(a,c){return b(new u(c))})},c.decodePayloadAsBinary=function(a,b,d){"function"==typeof b&&(d=b,b=null);for(var e=a,f=[],g=!1;e.byteLength>0;){for(var h=new Uint8Array(e),i=0===h[0],j="",l=1;255!=h[l];l++){if(j.length>310){g=!0;break}j+=h[l]}if(g)return d(t,0,1);e=k(e,2+j.length),j=parseInt(j);var m=k(e,0,j);if(i)try{m=String.fromCharCode.apply(null,new Uint8Array(m))}catch(n){var o=new Uint8Array(m);m="";for(var l=0;l<o.length;l++)m+=String.fromCharCode(o[l])}f.push(m),e=k(e,j)}var p=f.length;f.forEach(function(a,e){d(c.decodePacket(a,b,!0),e,p)})}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./keys":26,after:27,"arraybuffer.slice":28,"base64-arraybuffer":29,blob:30,"has-binary":36,utf8:31}],26:[function(a,b,c){b.exports=Object.keys||function(a){var b=[],c=Object.prototype.hasOwnProperty;for(var d in a)c.call(a,d)&&b.push(d);return b}},{}],27:[function(a,b,c){function d(a,b,c){function d(a,e){if(d.count<=0)throw new Error("after called too many times");--d.count,a?(f=!0,b(a),b=c):0!==d.count||f||b(null,e)}var f=!1;return c=c||e,d.count=a,0===a?b():d}function e(){}b.exports=d},{}],28:[function(a,b,c){b.exports=function(a,b,c){var d=a.byteLength;if(b=b||0,c=c||d,a.slice)return a.slice(b,c);if(0>b&&(b+=d),0>c&&(c+=d),c>d&&(c=d),b>=d||b>=c||0===d)return new ArrayBuffer(0);for(var e=new Uint8Array(a),f=new Uint8Array(c-b),g=b,h=0;c>g;g++,h++)f[h]=e[g];return f.buffer}},{}],29:[function(a,b,c){!function(a){"use strict";c.encode=function(b){var c,d=new Uint8Array(b),e=d.length,f="";for(c=0;e>c;c+=3)f+=a[d[c]>>2],f+=a[(3&d[c])<<4|d[c+1]>>4],f+=a[(15&d[c+1])<<2|d[c+2]>>6],f+=a[63&d[c+2]];return e%3===2?f=f.substring(0,f.length-1)+"=":e%3===1&&(f=f.substring(0,f.length-2)+"=="),f},c.decode=function(b){var c,d,e,f,g,h=.75*b.length,i=b.length,j=0;"="===b[b.length-1]&&(h--,"="===b[b.length-2]&&h--);var k=new ArrayBuffer(h),l=new Uint8Array(k);for(c=0;i>c;c+=4)d=a.indexOf(b[c]),e=a.indexOf(b[c+1]),f=a.indexOf(b[c+2]),g=a.indexOf(b[c+3]),l[j++]=d<<2|e>>4,l[j++]=(15&e)<<4|f>>2,l[j++]=(3&f)<<6|63&g;return k}}("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/")},{}],30:[function(a,b,c){(function(a){function c(a){for(var b=0;b<a.length;b++){var c=a[b];if(c.buffer instanceof ArrayBuffer){var d=c.buffer;if(c.byteLength!==d.byteLength){var e=new Uint8Array(c.byteLength);e.set(new Uint8Array(d,c.byteOffset,c.byteLength)),d=e.buffer}a[b]=d}}}function d(a,b){b=b||{};var d=new f;c(a);for(var e=0;e<a.length;e++)d.append(a[e]);return b.type?d.getBlob(b.type):d.getBlob()}function e(a,b){return c(a),new Blob(a,b||{})}var f=a.BlobBuilder||a.WebKitBlobBuilder||a.MSBlobBuilder||a.MozBlobBuilder,g=function(){try{var a=new Blob(["hi"]);return 2===a.size}catch(b){return!1}}(),h=g&&function(){try{var a=new Blob([new Uint8Array([1,2])]);return 2===a.size}catch(b){return!1}}(),i=f&&f.prototype.append&&f.prototype.getBlob;b.exports=function(){return g?h?a.Blob:e:i?d:void 0}()}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],31:[function(b,c,d){(function(b){!function(e){function f(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function g(a){for(var b,c=a.length,d=-1,e="";++d<c;)b=a[d],b>65535&&(b-=65536,e+=u(b>>>10&1023|55296),b=56320|1023&b),e+=u(b);return e}function h(a){if(a>=55296&&57343>=a)throw Error("Lone surrogate U+"+a.toString(16).toUpperCase()+" is not a scalar value")}function i(a,b){return u(a>>b&63|128)}function j(a){if(0==(4294967168&a))return u(a);var b="";return 0==(4294965248&a)?b=u(a>>6&31|192):0==(4294901760&a)?(h(a),b=u(a>>12&15|224),b+=i(a,6)):0==(4292870144&a)&&(b=u(a>>18&7|240),b+=i(a,12),b+=i(a,6)),b+=u(63&a|128)}function k(a){for(var b,c=f(a),d=c.length,e=-1,g="";++e<d;)b=c[e],g+=j(b);return g}function l(){if(t>=s)throw Error("Invalid byte index");var a=255&r[t];if(t++,128==(192&a))return 63&a;throw Error("Invalid continuation byte")}function m(){var a,b,c,d,e;if(t>s)throw Error("Invalid byte index");if(t==s)return!1;if(a=255&r[t],t++,0==(128&a))return a;if(192==(224&a)){var b=l();if(e=(31&a)<<6|b,e>=128)return e;throw Error("Invalid continuation byte")}if(224==(240&a)){if(b=l(),c=l(),e=(15&a)<<12|b<<6|c,e>=2048)return h(e),e;throw Error("Invalid continuation byte")}if(240==(248&a)&&(b=l(),c=l(),d=l(),e=(15&a)<<18|b<<12|c<<6|d,e>=65536&&1114111>=e))return e;throw Error("Invalid UTF-8 detected")}function n(a){r=f(a),s=r.length,t=0;for(var b,c=[];(b=m())!==!1;)c.push(b);return g(c)}var o="object"==typeof d&&d,p="object"==typeof c&&c&&c.exports==o&&c,q="object"==typeof b&&b;(q.global===q||q.window===q)&&(e=q);var r,s,t,u=String.fromCharCode,v={version:"2.0.0",encode:k,decode:n};if("function"==typeof a&&"object"==typeof a.amd&&a.amd)a(function(){return v});else if(o&&!o.nodeType)if(p)p.exports=v;else{var w={},x=w.hasOwnProperty;for(var y in v)x.call(v,y)&&(o[y]=v[y])}else e.utf8=v}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],32:[function(a,b,c){(function(a){var c=/^[\],:{}\s]*$/,d=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,e=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,f=/(?:^|:|,)(?:\s*\[)+/g,g=/^\s+/,h=/\s+$/;b.exports=function(b){return"string"==typeof b&&b?(b=b.replace(g,"").replace(h,""),a.JSON&&JSON.parse?JSON.parse(b):c.test(b.replace(d,"@").replace(e,"]").replace(f,""))?new Function("return "+b)():void 0):null}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],33:[function(a,b,c){c.encode=function(a){var b="";for(var c in a)a.hasOwnProperty(c)&&(b.length&&(b+="&"),b+=encodeURIComponent(c)+"="+encodeURIComponent(a[c]));return b},c.decode=function(a){for(var b={},c=a.split("&"),d=0,e=c.length;e>d;d++){var f=c[d].split("=");b[decodeURIComponent(f[0])]=decodeURIComponent(f[1])}return b}},{}],34:[function(a,b,c){var d=/^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];b.exports=function(a){var b=a,c=a.indexOf("["),f=a.indexOf("]");-1!=c&&-1!=f&&(a=a.substring(0,c)+a.substring(c,f).replace(/:/g,";")+a.substring(f,a.length));for(var g=d.exec(a||""),h={},i=14;i--;)h[e[i]]=g[i]||"";return-1!=c&&-1!=f&&(h.source=b,h.host=h.host.substring(1,h.host.length-1).replace(/;/g,":"),h.authority=h.authority.replace("[","").replace("]","").replace(/;/g,":"),h.ipv6uri=!0),h}},{}],35:[function(a,b,c){function d(a,b,c){var d;return d=b?new f(a,b):new f(a)}var e=function(){return this}(),f=e.WebSocket||e.MozWebSocket;b.exports=f?d:null,f&&(d.prototype=f.prototype)},{}],36:[function(a,b,c){(function(c){function d(a){function b(a){if(!a)return!1;if(c.Buffer&&c.Buffer.isBuffer(a)||c.ArrayBuffer&&a instanceof ArrayBuffer||c.Blob&&a instanceof Blob||c.File&&a instanceof File)return!0;if(e(a)){for(var d=0;d<a.length;d++)if(b(a[d]))return!0}else if(a&&"object"==typeof a){a.toJSON&&(a=a.toJSON());for(var f in a)if(Object.prototype.hasOwnProperty.call(a,f)&&b(a[f]))return!0}return!1}return b(a)}var e=a("isarray");b.exports=d}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{isarray:37}],37:[function(a,b,c){b.exports=Array.isArray||function(a){return"[object Array]"==Object.prototype.toString.call(a)}},{}],38:[function(a,b,c){var d=a("global");try{b.exports="XMLHttpRequest"in d&&"withCredentials"in new d.XMLHttpRequest}catch(e){b.exports=!1}},{global:39}],39:[function(a,b,c){b.exports=function(){return this}()},{}],40:[function(a,b,c){var d=[].indexOf;b.exports=function(a,b){if(d)return a.indexOf(b);for(var c=0;c<a.length;++c)if(a[c]===b)return c;return-1}},{}],41:[function(a,b,c){var d=Object.prototype.hasOwnProperty;c.keys=Object.keys||function(a){var b=[];for(var c in a)d.call(a,c)&&b.push(c);return b},c.values=function(a){var b=[];for(var c in a)d.call(a,c)&&b.push(a[c]);return b},c.merge=function(a,b){for(var c in b)d.call(b,c)&&(a[c]=b[c]);return a},c.length=function(a){return c.keys(a).length},c.isEmpty=function(a){return 0==c.length(a)}},{}],42:[function(a,b,c){var d=/^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];b.exports=function(a){for(var b=d.exec(a||""),c={},f=14;f--;)c[e[f]]=b[f]||"";return c}},{}],43:[function(a,b,c){(function(b){var d=a("isarray"),e=a("./is-buffer");c.deconstructPacket=function(a){function b(a){if(!a)return a;if(e(a)){var f={_placeholder:!0,num:c.length};return c.push(a),f}if(d(a)){for(var g=new Array(a.length),h=0;h<a.length;h++)g[h]=b(a[h]);return g}if("object"==typeof a&&!(a instanceof Date)){var g={};for(var i in a)g[i]=b(a[i]);return g}return a}var c=[],f=a.data,g=a;return g.data=b(f),g.attachments=c.length,{packet:g,buffers:c}},c.reconstructPacket=function(a,b){function c(a){if(a&&a._placeholder){var e=b[a.num];return e}if(d(a)){for(var f=0;f<a.length;f++)a[f]=c(a[f]);return a}if(a&&"object"==typeof a){for(var g in a)a[g]=c(a[g]);return a}return a}return a.data=c(a.data),a.attachments=void 0,a},c.removeBlobs=function(a,c){function f(a,i,j){if(!a)return a;if(b.Blob&&a instanceof Blob||b.File&&a instanceof File){g++;var k=new FileReader;k.onload=function(){j?j[i]=this.result:h=this.result,--g||c(h)},k.readAsArrayBuffer(a)}else if(d(a))for(var l=0;l<a.length;l++)f(a[l],l,a);else if(a&&"object"==typeof a&&!e(a))for(var m in a)f(a[m],m,a)}var g=0,h=a;f(h),g||c(h)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./is-buffer":45,isarray:46}],44:[function(a,b,c){function d(){}function e(a){var b="",d=!1;return b+=a.type,(c.BINARY_EVENT==a.type||c.BINARY_ACK==a.type)&&(b+=a.attachments,b+="-"),a.nsp&&"/"!=a.nsp&&(d=!0,b+=a.nsp),null!=a.id&&(d&&(b+=",",d=!1),b+=a.id),null!=a.data&&(d&&(b+=","),b+=l.stringify(a.data)),k("encoded %j as %s",a,b),b}function f(a,b){function c(a){var c=n.deconstructPacket(a),d=e(c.packet),f=c.buffers;f.unshift(d),b(f)}n.removeBlobs(a,c)}function g(){this.reconstructor=null}function h(a){var b={},d=0;if(b.type=Number(a.charAt(0)),null==c.types[b.type])return j();if(c.BINARY_EVENT==b.type||c.BINARY_ACK==b.type){for(var e="";"-"!=a.charAt(++d)&&(e+=a.charAt(d),d!=a.length););if(e!=Number(e)||"-"!=a.charAt(d))throw new Error("Illegal attachments");b.attachments=Number(e)}if("/"==a.charAt(d+1))for(b.nsp="";++d;){var f=a.charAt(d);if(","==f)break;if(b.nsp+=f,d==a.length)break}else b.nsp="/";var g=a.charAt(d+1);if(""!==g&&Number(g)==g){for(b.id="";++d;){var f=a.charAt(d);if(null==f||Number(f)!=f){--d;break}if(b.id+=a.charAt(d),d==a.length)break}b.id=Number(b.id)}if(a.charAt(++d))try{b.data=l.parse(a.substr(d))}catch(h){return j()}return k("decoded %s as %j",a,b),b}function i(a){this.reconPack=a,this.buffers=[]}function j(a){return{type:c.ERROR,data:"parser error"}}var k=a("debug")("socket.io-parser"),l=a("json3"),m=(a("isarray"),a("component-emitter")),n=a("./binary"),o=a("./is-buffer");c.protocol=4,c.types=["CONNECT","DISCONNECT","EVENT","BINARY_EVENT","ACK","BINARY_ACK","ERROR"],c.CONNECT=0,c.DISCONNECT=1,c.EVENT=2,c.ACK=3,c.ERROR=4,c.BINARY_EVENT=5,c.BINARY_ACK=6,c.Encoder=d,c.Decoder=g,d.prototype.encode=function(a,b){if(k("encoding packet %j",a),c.BINARY_EVENT==a.type||c.BINARY_ACK==a.type)f(a,b);else{var d=e(a);b([d])}},m(g.prototype),g.prototype.add=function(a){var b;if("string"==typeof a)b=h(a),c.BINARY_EVENT==b.type||c.BINARY_ACK==b.type?(this.reconstructor=new i(b),0===this.reconstructor.reconPack.attachments&&this.emit("decoded",b)):this.emit("decoded",b);else{if(!o(a)&&!a.base64)throw new Error("Unknown type: "+a);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");b=this.reconstructor.takeBinaryData(a),b&&(this.reconstructor=null,this.emit("decoded",b))}},g.prototype.destroy=function(){this.reconstructor&&this.reconstructor.finishedReconstruction()},i.prototype.takeBinaryData=function(a){if(this.buffers.push(a),this.buffers.length==this.reconPack.attachments){var b=n.reconstructPacket(this.reconPack,this.buffers);return this.finishedReconstruction(),b}return null},i.prototype.finishedReconstruction=function(){this.reconPack=null,this.buffers=[]}},{"./binary":43,"./is-buffer":45,"component-emitter":9,debug:10,isarray:46,json3:47}],45:[function(a,b,c){(function(a){function c(b){return a.Buffer&&a.Buffer.isBuffer(b)||a.ArrayBuffer&&b instanceof ArrayBuffer}b.exports=c}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],46:[function(a,b,c){b.exports=a(37)},{}],47:[function(b,c,d){!function(b){function c(a){if(c[a]!==g)return c[a];var b;if("bug-string-char-index"==a)b="a"!="a"[0];else if("json"==a)b=c("json-stringify")&&c("json-parse");else{var d,e='{"a":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}';if("json-stringify"==a){var f=k.stringify,i="function"==typeof f&&l;if(i){(d=function(){return 1}).toJSON=d;try{i="0"===f(0)&&"0"===f(new Number)&&'""'==f(new String)&&f(h)===g&&f(g)===g&&f()===g&&"1"===f(d)&&"[1]"==f([d])&&"[null]"==f([g])&&"null"==f(null)&&"[null,null,null]"==f([g,h,null])&&f({a:[d,!0,!1,null,"\x00\b\n\f\r  "]})==e&&"1"===f(null,d)&&"[\n 1,\n 2\n]"==f([1,2],null,1)&&'"-271821-04-20T00:00:00.000Z"'==f(new Date(-864e13))&&'"+275760-09-13T00:00:00.000Z"'==f(new Date(864e13))&&'"-000001-01-01T00:00:00.000Z"'==f(new Date(-621987552e5))&&'"1969-12-31T23:59:59.999Z"'==f(new Date(-1))}catch(j){i=!1}}b=i}if("json-parse"==a){var m=k.parse;if("function"==typeof m)try{if(0===m("0")&&!m(!1)){d=m(e);var n=5==d.a.length&&1===d.a[0];if(n){try{n=!m('"     "')}catch(j){}if(n)try{n=1!==m("01")}catch(j){}if(n)try{n=1!==m("1.")}catch(j){}}}}catch(j){n=!1}b=n}}return c[a]=!!b}var e,f,g,h={}.toString,i="function"==typeof a&&a.amd,j="object"==typeof JSON&&JSON,k="object"==typeof d&&d&&!d.nodeType&&d;k&&j?(k.stringify=j.stringify,k.parse=j.parse):k=b.JSON=j||{};var l=new Date(-0xc782b5b800cec);try{l=-109252==l.getUTCFullYear()&&0===l.getUTCMonth()&&1===l.getUTCDate()&&10==l.getUTCHours()&&37==l.getUTCMinutes()&&6==l.getUTCSeconds()&&708==l.getUTCMilliseconds()}catch(m){}if(!c("json")){var n="[object Function]",o="[object Date]",p="[object Number]",q="[object String]",r="[object Array]",s="[object Boolean]",t=c("bug-string-char-index");if(!l)var u=Math.floor,v=[0,31,59,90,120,151,181,212,243,273,304,334],w=function(a,b){return v[b]+365*(a-1970)+u((a-1969+(b=+(b>1)))/4)-u((a-1901+b)/100)+u((a-1601+b)/400)};(e={}.hasOwnProperty)||(e=function(a){var b,c={};return(c.__proto__=null,c.__proto__={toString:1},c).toString!=h?e=function(a){var b=this.__proto__,c=a in(this.__proto__=null,this);return this.__proto__=b,c}:(b=c.constructor,e=function(a){var c=(this.constructor||b).prototype;return a in this&&!(a in c&&this[a]===c[a])}),c=null,e.call(this,a)});var x={"boolean":1,number:1,string:1,undefined:1},y=function(a,b){var c=typeof a[b];return"object"==c?!!a[b]:!x[c]};if(f=function(a,b){var c,d,g,i=0;(c=function(){this.valueOf=0}).prototype.valueOf=0,d=new c;for(g in d)e.call(d,g)&&i++;return c=d=null,i?f=2==i?function(a,b){var c,d={},f=h.call(a)==n;for(c in a)f&&"prototype"==c||e.call(d,c)||!(d[c]=1)||!e.call(a,c)||b(c)}:function(a,b){var c,d,f=h.call(a)==n;for(c in a)f&&"prototype"==c||!e.call(a,c)||(d="constructor"===c)||b(c);(d||e.call(a,c="constructor"))&&b(c)}:(d=["valueOf","toString","toLocaleString","propertyIsEnumerable","isPrototypeOf","hasOwnProperty","constructor"],f=function(a,b){var c,f,g=h.call(a)==n,i=!g&&"function"!=typeof a.constructor&&y(a,"hasOwnProperty")?a.hasOwnProperty:e;for(c in a)g&&"prototype"==c||!i.call(a,c)||b(c);for(f=d.length;c=d[--f];i.call(a,c)&&b(c));}),f(a,b)},!c("json-stringify")){var z={92:"\\\\",34:'\\"',8:"\\b",12:"\\f",10:"\\n",13:"\\r",9:"\\t"},A="000000",B=function(a,b){return(A+(b||0)).slice(-a)},C="\\u00",D=function(a){var b,c='"',d=0,e=a.length,f=e>10&&t;for(f&&(b=a.split(""));e>d;d++){var g=a.charCodeAt(d);switch(g){case 8:case 9:case 10:case 12:case 13:case 34:case 92:c+=z[g];break;default:if(32>g){c+=C+B(2,g.toString(16));break}c+=f?b[d]:t?a.charAt(d):a[d]}}return c+'"'},E=function(a,b,c,d,i,j,k){var l,m,n,t,v,x,y,z,A,C,F,G,H,I,J,K;try{l=b[a]}catch(L){}if("object"==typeof l&&l)if(m=h.call(l),m!=o||e.call(l,"toJSON"))"function"==typeof l.toJSON&&(m!=p&&m!=q&&m!=r||e.call(l,"toJSON"))&&(l=l.toJSON(a));else if(l>-1/0&&1/0>l){if(w){for(v=u(l/864e5),n=u(v/365.2425)+1970-1;w(n+1,0)<=v;n++);for(t=u((v-w(n,0))/30.42);w(n,t+1)<=v;t++);v=1+v-w(n,t),x=(l%864e5+864e5)%864e5,y=u(x/36e5)%24,z=u(x/6e4)%60,A=u(x/1e3)%60,C=x%1e3}else n=l.getUTCFullYear(),t=l.getUTCMonth(),v=l.getUTCDate(),y=l.getUTCHours(),z=l.getUTCMinutes(),A=l.getUTCSeconds(),C=l.getUTCMilliseconds();l=(0>=n||n>=1e4?(0>n?"-":"+")+B(6,0>n?-n:n):B(4,n))+"-"+B(2,t+1)+"-"+B(2,v)+"T"+B(2,y)+":"+B(2,z)+":"+B(2,A)+"."+B(3,C)+"Z"}else l=null;if(c&&(l=c.call(b,a,l)),null===l)return"null";if(m=h.call(l),m==s)return""+l;if(m==p)return l>-1/0&&1/0>l?""+l:"null";if(m==q)return D(""+l);if("object"==typeof l){for(I=k.length;I--;)if(k[I]===l)throw TypeError();if(k.push(l),F=[],J=j,j+=i,m==r){for(H=0,I=l.length;I>H;H++)G=E(H,l,c,d,i,j,k),F.push(G===g?"null":G);K=F.length?i?"[\n"+j+F.join(",\n"+j)+"\n"+J+"]":"["+F.join(",")+"]":"[]"}else f(d||l,function(a){var b=E(a,l,c,d,i,j,k);b!==g&&F.push(D(a)+":"+(i?" ":"")+b)}),K=F.length?i?"{\n"+j+F.join(",\n"+j)+"\n"+J+"}":"{"+F.join(",")+"}":"{}";return k.pop(),K}};k.stringify=function(a,b,c){var d,e,f,g;if("function"==typeof b||"object"==typeof b&&b)if((g=h.call(b))==n)e=b;else if(g==r){f={};for(var i,j=0,k=b.length;k>j;i=b[j++],g=h.call(i),(g==q||g==p)&&(f[i]=1));}if(c)if((g=h.call(c))==p){if((c-=c%1)>0)for(d="",c>10&&(c=10);d.length<c;d+=" ");}else g==q&&(d=c.length<=10?c:c.slice(0,10));return E("",(i={},i[""]=a,i),e,f,d,"",[])}}if(!c("json-parse")){var F,G,H=String.fromCharCode,I={92:"\\",34:'"',47:"/",98:"\b",116:" ",110:"\n",102:"\f",114:"\r"},J=function(){throw F=G=null,SyntaxError()},K=function(){for(var a,b,c,d,e,f=G,g=f.length;g>F;)switch(e=f.charCodeAt(F)){case 9:case 10:case 13:case 32:F++;break;case 123:case 125:case 91:case 93:case 58:case 44:return a=t?f.charAt(F):f[F],F++,a;case 34:for(a="@",F++;g>F;)if(e=f.charCodeAt(F),32>e)J();else if(92==e)switch(e=f.charCodeAt(++F)){case 92:case 34:case 47:case 98:case 116:case 110:case 102:case 114:a+=I[e],F++;break;case 117:for(b=++F,c=F+4;c>F;F++)e=f.charCodeAt(F),e>=48&&57>=e||e>=97&&102>=e||e>=65&&70>=e||J();a+=H("0x"+f.slice(b,F));break;default:J()}else{if(34==e)break;for(e=f.charCodeAt(F),b=F;e>=32&&92!=e&&34!=e;)e=f.charCodeAt(++F);a+=f.slice(b,F)}if(34==f.charCodeAt(F))return F++,a;J();default:if(b=F,45==e&&(d=!0,e=f.charCodeAt(++F)),e>=48&&57>=e){for(48==e&&(e=f.charCodeAt(F+1),e>=48&&57>=e)&&J(),d=!1;g>F&&(e=f.charCodeAt(F),e>=48&&57>=e);F++);if(46==f.charCodeAt(F)){for(c=++F;g>c&&(e=f.charCodeAt(c),e>=48&&57>=e);c++);c==F&&J(),F=c}if(e=f.charCodeAt(F),101==e||69==e){for(e=f.charCodeAt(++F),(43==e||45==e)&&F++,c=F;g>c&&(e=f.charCodeAt(c),e>=48&&57>=e);c++);c==F&&J(),F=c}return+f.slice(b,F)}if(d&&J(),"true"==f.slice(F,F+4))return F+=4,!0;if("false"==f.slice(F,F+5))return F+=5,!1;if("null"==f.slice(F,F+4))return F+=4,null;J()}return"$"},L=function(a){var b,c;if("$"==a&&J(),"string"==typeof a){if("@"==(t?a.charAt(0):a[0]))return a.slice(1);if("["==a){for(b=[];a=K(),"]"!=a;c||(c=!0))c&&(","==a?(a=K(),"]"==a&&J()):J()),","==a&&J(),b.push(L(a));return b}if("{"==a){for(b={};a=K(),"}"!=a;c||(c=!0))c&&(","==a?(a=K(),"}"==a&&J()):J()),(","==a||"string"!=typeof a||"@"!=(t?a.charAt(0):a[0])||":"!=K())&&J(),b[a.slice(1)]=L(K());return b}J()}return a},M=function(a,b,c){var d=N(a,b,c);d===g?delete a[b]:a[b]=d},N=function(a,b,c){var d,e=a[b];if("object"==typeof e&&e)if(h.call(e)==r)for(d=e.length;d--;)M(e,d,c);else f(e,function(a){M(e,a,c)});return c.call(a,b,e)};k.parse=function(a,b){var c,d;return F=0,G=""+a,c=L(K()),"$"!=K()&&J(),F=G=null,b&&h.call(b)==n?N((d={},d[""]=c,d),"",b):c}}}i&&a(function(){return k})}(this)},{}],48:[function(a,b,c){function d(a,b){var c=[];b=b||0;for(var d=b||0;d<a.length;d++)c[d-b]=a[d];return c}b.exports=d},{}]},{},[1])(1)});
\ No newline at end of file
similarity index 62%
rename from public/app/7b2a74e6.app.css
rename to public/app/ec36ec5b.app.css
index 530429f..6c03a00 100644 (file)
@@ -1 +1 @@
-.badge,.btn-arrow-link,.btn-lg{vertical-align:middle}.chart-tooltip,.chart-tooltip .label,.chat-form,.dashboard-stat .more,.dashboard-stat2 .display:after,.dashboard-stat2 .progress-info,.dashboard-stat2 .progress-info .progress,.dashboard-stat:after,.dropdown-menu li>a,.feeds li .col1,.feeds li:after,.form .form-actions:after,.general-item-list>.item>.item-head:after,.portlet>.portlet-title:after,.social-icons:after,.tabbable:after,.table-toolbar:after,.tiles .tile .tile-object:after,.tiles:after{clear:both}.animate-enter{-webkit-transition:1s linear all;transition:1s linear all;opacity:0}.animate-enter.animate-enter-active{opacity:1}#faxMessages::-webkit-scrollbar-track{background-color:#fff!important}#faxMessages::-webkit-scrollbar{width:5px}.interval-to{min-height:34px;padding:9px 12px}.inbox{margin-bottom:20px}.inbox .inbox{margin-bottom:0}.inbox .tab-content{overflow:inherit}.inbox .inbox-loading{display:none;font-size:22px;font-weight:300}.inbox .inbox-nav{margin:0;padding:0;list-style:none}.inbox .inbox-nav li{position:relative}.inbox .inbox-nav li a{color:#4d82a3;display:block;font-size:15px;border-left:none;text-align:left!important;padding:8px 14px;margin-bottom:1px;background:#f4f9fd}.inbox .inbox-nav li.active a,.inbox .inbox-nav li.active:hover a{color:#fff;border-left:none;background:#169ef4!important;text-decoration:none}.inbox .inbox-nav li.active b{top:12px;right:-6px;width:6px;position:absolute;display:inline-block;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:6px solid #169ef4}.inbox .inbox-nav li:hover a{color:#4d82a3;background:#eef4f7!important;text-decoration:none}.inbox .inbox-nav li.compose-btn a{color:#fff;text-shadow:none;text-align:center;margin-bottom:18px;background:#35aa47}.inbox .pagination-control,.inbox th.text-right{text-align:right}.inbox .inbox-nav li.compose-btn i,.inbox .inbox-nav li.compose-btn:hover i{top:1px;color:#fff;font-size:15px;position:relative;background:0 0!important}.inbox .inbox-nav li.compose-btn a:hover{background-color:#1d943b!important}.inbox .inbox-header{overflow:hidden}.inbox .inbox-header h1{margin:0 0 10px;color:#666}.inbox tr label,.inbox ul.inbox-nav{margin-bottom:0}.inbox .pagination-control .pagination-info{display:inline-block;padding-right:10px;font-size:14px;line-height:14px}.inbox tr{color:#777;font-size:13px}.inbox tr label{display:inline-block}.inbox tr.unread td{font-weight:600}.audio-portlet .audio-portlet-title,h1,h2,h3,h4,h5,h6{font-family:"Open Sans",sans-serif;font-weight:300}.inbox td i.icon-paper-clip{top:2px;color:#d8e0e5;font-size:17px;position:relative}.inbox tr i.icon-star,.inbox tr i.icon-trash{cursor:pointer}.inbox tr i.icon-star{color:#eceef0}.inbox tr i.icon-star:hover,.inbox tr i.inbox-started{color:#fd7b12}.inbox .table td,.inbox .table th{border:none}.inbox .table th{background:#eef4f7;border-bottom:solid 5px #fff}.inbox .inbox-drafts,.inbox-view-info{border-top:solid 1px #eee;border-bottom:solid 1px #eee}.inbox th label.inbox-select-all{color:#828f97;font-size:13px;padding:1px 4px 0}.inbox ul.inbox-nav li{padding:0}.inbox ul.inbox-nav li span{color:#828f97;font-size:12px;margin-right:10px}.inbox ul.inbox-nav i{color:#fff;padding:1px 0;font-size:15px;cursor:pointer;background:#d0dde4!important}.inbox ul.inbox-nav i:hover{background:#169ef4!important}.inbox td.text-right{width:100px;text-align:right}.inbox td.inbox-small-cells,.small-cells{width:10px}.inbox .table-hover tbody tr:hover>td,.inbox .table-hover tbody tr:hover>th,.inbox .table-striped tbody>tr:nth-child(odd)>td,.inbox .table-striped tbody>tr:nth-child(odd)>th{background:#f8fbfd;cursor:pointer}.inbox .table-hover tbody tr:hover>td,.inbox .table-hover tbody tr:hover>th{background:#eef4f7}.inbox .inbox-drafts{padding:8px 0;text-align:center}.inbox-view-header{margin-bottom:20px}.inbox-view-header h1{color:#666;font-size:22px;line-height:24px;margin-bottom:0!important}.inbox-view-header h1 a{top:-2px;color:#fff;cursor:pointer;font-size:13px;padding:2px 7px;line-height:16px;position:relative;background:#b0bcc4;display:inline-block}.inbox-view-header h1 a:hover{background:#aab5bc;text-decoration:none}.inbox-view-header i.icon-print{color:#94a4ab;cursor:pointer;font-size:14px;display:inline-block;padding:6px 8px!important;background:#edf1f4!important}.inbox-view-header i.icon-print:hover{background:#e7ebef!important}.inbox-view-info{color:#666;padding:5px 0;margin-bottom:10px}.inbox-view-info strong{color:#666;margin:0 10px 0 5px}.inbox-view-info .inbox-info-btn{text-align:right}.inbox-view-info .inbox-info-btn ul{text-align:left}.inbox-view-info button{top:2px;color:#94a4ab;font-size:13px;margin-left:4px;padding:3px 10px;position:relative;background:#edf1f4}.inbox-view-info button:hover{color:#94a4ab;background:#e7ebef}.inbox-view{color:#666;padding:15px 0 0}.inbox-view a{color:#169ce9}.inbox-attached{line-height:16px}.inbox-attached a{margin:0 2px}.inbox-attached span,.inbox-compose-btn button i{margin-right:3px}.inbox-attached img{height:auto;max-width:250px;margin-bottom:5px}.inbox-attached strong{color:#555;display:block;font-size:13px}.inbox-attached .margin-bottom-25{margin-bottom:25px}.inbox-attached .margin-bottom-15{margin-bottom:15px}.inbox-compose{margin-top:1px;border:1px solid #eee}.inbox-compose-btn{padding:8px 4px;background:#f0f6fa}.inbox-compose-attachment{padding:8px}.inbox-compose-attachment .btn{padding:4px 10px}.inbox-compose-btn button{color:#fff;font-size:14px;margin-left:4px;padding:4px 10px;background:#c0cfdd}.inbox-compose-btn button:hover{color:#fff;background:#4d90fe}.inbox-compose .inbox-form-group{margin-bottom:0;position:relative;border-bottom:solid 1px #eee}.inbox-compose .controls{margin-left:85px}.inbox-compose .inbox-form-group>label{width:80px;float:left;color:#979797;text-align:right}.inbox-compose .controls>input{border:none!important}.inbox-compose .controls-to{padding-right:55px}.inbox-compose .controls-bcc,.inbox-compose .controls-cc{padding-right:20px}.inbox-compose .inbox-form-group a.close{top:13px;right:10px;position:absolute}.inbox-compose .mail-to .inbox-cc-bcc{display:inline-block;top:7px;right:10px;color:#979797;font-size:14px;cursor:pointer;position:absolute}.inbox-compose .mail-to .inbox-bcc{margin-left:5px}.inbox-compose .mail-to inbox-bcc:hover,.inbox-compose .mail-to inbox-cc:hover{color:#777}.inbox-compose .wysihtml5{padding:0!important;margin:0!important;border:0!important}.inbox-compose .wysihtml5-sandbox{padding:0!important;margin:5px 0 0!important;display:block!important;border:0!important;width:100%!important;border-left:none;border-right:none}.inbox-compose .wysihtml5-toolbar{border:0;border-bottom:1px solid #eee}.inbox-compose .wysihtml5-toolbar>li{height:34px;margin-right:0;margin-bottom:0}.inbox-compose .wysihtml5-toolbar>li>a,.inbox-compose .wysihtml5-toolbar>li>div>a{background:#fff}.inbox-compose .wysihtml5-toolbar>li>a:hover,.inbox-compose .wysihtml5-toolbar>li>div>a:hover{background:#f1f1f1;border-radius:0}.inbox-compose .wysihtml5-toolbar .dropdown.open .dropdown-toggle,ul.wysihtml5-toolbar a.btn.wysihtml5-command-active{background:#eee!important}@media (max-width:480px){.inbox-compose .inbox-form-group>label{margin-top:7px}}#mailMessages::-webkit-scrollbar-track{background-color:#fff!important}#mailMessages::-webkit-scrollbar{width:5px}.inbox-editor{padding:10px;margin:0!important}blockquote{margin-top:20px;margin-left:10px;margin-bottom:20px;border-left:1px solid #666!important;padding-left:5px;display:block;opacity:.7;filter:alpha(opacity=70)}.wysiwyg-color-black{color:#000}.wysiwyg-color-silver{color:silver}.wysiwyg-color-gray{color:gray}.wysiwyg-color-white{color:#fff}.wysiwyg-color-maroon{color:maroon}.wysiwyg-color-red{color:red}.wysiwyg-color-purple{color:purple}.wysiwyg-color-fuchsia{color:#f0f}.wysiwyg-color-green{color:green}.wysiwyg-color-lime{color:#0f0}.wysiwyg-color-olive{color:olive}.wysiwyg-color-yellow{color:#ff0}.wysiwyg-color-navy{color:navy}.wysiwyg-color-blue{color:#00f}.wysiwyg-color-teal{color:teal}.wysiwyg-color-aqua{color:#0ff}.wysiwyg-color-orange{color:orange}.our-integrations h3{margin-bottom:0;padding:10px;background:#f9f9f9}.our-integrations small{display:block;font-size:12px;color:#999;margin-top:5px}.our-integrations .integration-info{padding:10px;overflow:hidden;background:#f5f5f5}.audio-portlet .audio-portlet-title{margin-bottom:0;padding:10px;background:#f9f9f9;font-size:17px;word-wrap:break-word;margin-top:20px;line-height:1.1;color:inherit;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.audio-portlet .audio-portlet-title a{display:block;word-wrap:break-word;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.audio-portlet .file-info{padding:10px;overflow:hidden;background:#f5f5f5;height:105px}.audio-portlet-wrapper{float:left;margin:0 0 0 20px;-webkit-animation:fadeInUpm .5s;animation:fadeInUpm .5s;-moz-transition:all .5s linear;-webkit-transition:all .5s linear;transition:all .5s linear}.animate-repeat{list-style:none;box-sizing:border-box}.animate-repeat.ng-enter,.animate-repeat.ng-leave,.animate-repeat.ng-move{-webkit-transition:all linear .5s;transition:all linear .5s}.animate-repeat.ng-enter,.animate-repeat.ng-leave.ng-leave-active,.animate-repeat.ng-move{opacity:0;max-height:0}.animate-repeat.ng-enter.ng-enter-active,.animate-repeat.ng-leave,.animate-repeat.ng-move.ng-move-active{opacity:1;max-height:600px}audio{-moz-transition:all .5s linear;-webkit-transition:all .5s linear;transition:all .5s linear;border-radius:0}@media (min-width:502px){.audio-portlet-wrapper{width:240px}.editable-error,audio{width:220px}}@media (max-width:501px){.audio-portlet-wrapper{width:320px}.editable-error,audio{width:300px}}.editable-error{white-space:pre-line}#description_div,.table-scrollable>.table>tbody>tr>th,.table-scrollable>.table>tfoot>tr>td,.table-scrollable>.table>tfoot>tr>th,.table-scrollable>.table>thead>tr>th{white-space:nowrap}#description_div{text-overflow:ellipsis;overflow:hidden;word-wrap:break-word}.portlet-title.collapsible{cursor:pointer}.group{background-color:#fff;padding:15px;border-radius:5px;border:1px solid #666}.group-conditions{margin-left:20px}.alert-group{margin-top:10px;margin-bottom:10px;border-color:#dcc896}.condition,.group{margin-top:15px;margin-bottom:15px}.ui-padding{padding-bottom:200px}div[contenteditable]{max-height:100px;overflow:auto;display:block;width:100%;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}a,button,code,div,img,input,label,li,p,pre,select,span,table,td,textarea,th,ul{-webkit-border-radius:0!important;-moz-border-radius:0!important;border-radius:0!important}.img-circle{border-radius:50%!important}.img-rounded{border-radius:6px!important}body{color:#333;font-family:"Open Sans",sans-serif;padding:0!important;margin:0!important;font-size:13px;direction:ltr}@-ms-viewport{width:device-width}@-o-viewport{width:device-width}@viewport{width:device-width}@-ms-viewport{width:auto!important}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background-color:#eaeaea;border-radius:0;box-shadow:none;border:0}::-webkit-scrollbar-thumb{background-color:#cecece;border-radius:0;box-shadow:none;border:0}::-webkit-scrollbar-thumb:hover{background-color:#aaa}.bars,.chart,.pie,.primary-font{font-family:"Open Sans",sans-serif!important}h1{font-size:33px}h2{font-size:27px}h3{font-size:23px}h4{font-size:17px}h5{font-size:13px}h6{font-size:12px}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#444}h1.block,h2.block,h3.block,h4.block,h5.block,h6.block{padding-top:10px;padding-bottom:10px}a{text-shadow:none;color:#5b9bd1}a:active,a:focus,a:hover{outline:0}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:0}.list-unstyled li>.list-unstyled{margin-left:25px}code{border:1px solid #e1e1e1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,.1);-moz-box-shadow:0 1px 4px rgba(0,0,0,.1);box-shadow:0 1px 4px rgba(0,0,0,.1)}.disabled-link .disable-target{opacity:.5!important;filter:alpha(opacity=50)!important}.disabled-link .disable-target:hover,.disabled-link:hover{cursor:not-allowed!important}a:hover{color:#3175af;cursor:pointer}.primary-link{color:#65A0D0;font-weight:600}.primary-link:hover{color:#5194ca}.rounded-2{border-radius:2px!important}.rounded-3{border-radius:3px!important}.rounded-4{border-radius:4px!important}.circle{border-radius:25px!important}.circle-right{border-radius:0 25px 25px 0!important}.circle-left{border-radius:25px 0 0 25px!important}.circle-bottom{border-radius:0 0 25px 25px!important}.circle-top{border-radius:25px 25px 0 0!important}.display-hide,.display-none{display:none}.hidden{display:none!important}.bold{font-weight:700!important}.thin{font-weight:300!important}.uppercase{text-transform:uppercase!important}.fix-margin{margin-left:0!important}.border{border:1px solid red}.font-hg{font-size:23px}.font-lg{font-size:18px}.font-md{font-size:14px}.font-sm{font-size:13px}.font-xs{font-size:11px}.inline{display:inline}.inline-block{display:inline-block}.text-align-reverse{text-align:right}.top-news a,.top-news span{text-align:left;display:block}.no-space{margin:0!important;padding:0!important}.no-margin{margin:0}.margin-bottom-5{margin-bottom:5px}.margin-bottom-10{margin-bottom:10px!important}.margin-top-10{margin-top:10px!important}.margin-top-15{margin-top:15px!important}.margin-bottom-15{margin-bottom:15px!important}.margin-bottom-20{margin-bottom:20px!important}.margin-top-20{margin-top:20px!important}.margin-bottom-25{margin-bottom:25px!important}.margin-bottom-30{margin-bottom:30px!important}.margin-right-10{margin-right:10px!important}.visible-ie8{display:none}.ie8 .visible-ie8{display:inherit!important}.visible-ie9{display:none}.ie9 .visible-ie9{display:inherit!important}.hidden-ie8{display:inherit}.ie8 .hidden-ie8{display:none!important}.hidden-ie9{display:inherit}.ie9 .hidden-ie9{display:none!important}@media (max-width:1024px){.hidden-1024{display:none}}@media (max-width:480px){.hidden-480{display:none}}@media (max-width:320px){.hidden-320{display:none}}.scrollspy-example{position:relative;height:200px;margin-top:10px;overflow:auto}.util-btn-group-margin-bottom-5 .btn-group,.util-btn-margin-bottom-5 .btn{margin-bottom:5px!important}.user-info{margin-bottom:10px!important}.user-info img{float:left;margin-right:5px}.number-stats .stat-left,.number-stats .stat-left .stat-chart{float:right}.user-info .details{display:inline-block}.user-info .label{font-weight:300;font-size:11px}.top-news{color:#fff;margin:8px 0}.top-news em{font-size:13px;margin-bottom:0;font-style:normal;display:block}.top-news em i{font-size:14px}.top-news span{font-size:18px;margin-bottom:5px}.top-news a{padding:10px;position:relative;margin-bottom:10px}.top-news a .top-news-icon{right:8px;bottom:15px;opacity:.3;font-size:35px;position:absolute;filter:alpha(opacity=30)}.blog-images{margin-bottom:0}.blog-images li{padding:0;margin:0;display:inline}.blog-images li a:hover{text-decoration:none}.blog-images li img{width:50px;height:50px;opacity:.6;margin:0 2px 8px}.blog-images li img:hover{opacity:1;box-shadow:0 0 0 4px #72c02c;transition:all .4s ease-in-out 0s;-moz-transition:all .4s ease-in-out 0s;-webkit-transition:all .4s ease-in-out 0s}.sidebar-tags li{padding:0}.sidebar-tags li a{color:#555;font-size:12px;padding:3px 5px;background:#f7f7f7;margin:0 2px 5px 0;display:inline-block}.sidebar-tags li a:hover,.sidebar-tags li a:hover i{background:#EEE;text-decoration:none;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.sidebar-tags li a i{color:#777}.ver-inline-menu{padding:0;margin:0;list-style:none}.ver-inline-menu li{position:relative;margin-bottom:1px}.ver-inline-menu li i{width:37px;height:37px;display:inline-block;color:#b9cbd5;font-size:15px;padding:12px 10px 10px 8px;margin:0 8px 0 0;text-align:center;background:#e0eaf0!important}.ver-inline-menu li a{font-size:14px;font-weight:300;color:#557386;display:block;background:#f0f6fa;border-left:solid 2px #c4d5df}.ver-inline-menu li:hover a{background:#e0eaf0;text-decoration:none}.ver-inline-menu li:hover i{color:#fff;background:#c4d5df!important}.ver-inline-menu li.active a{border-left:solid 2px #0c91e5}.ver-inline-menu li.active i{background:#0c91e5!important}.ver-inline-menu li.active a,.ver-inline-menu li.active i{color:#fff;background:#169ef4;text-decoration:none}.ver-inline-menu li.active a,.ver-inline-menu li:hover a{font-size:14px}.ver-inline-menu li.active:after{content:'';display:inline-block;border-bottom:6px solid transparent;border-top:6px solid transparent;border-left:6px solid #169ef4;position:absolute;top:12px;right:-5px}.list-separated{margin-top:10px;margin-bottom:15px}.list-separated>div{border-right1:1px solid #f5f5f5}.list-separated>div:last-child{border-right:0}@media (max-width:767px){.ver-inline-menu>li.active:after{display:none}.list-separated>div{margin-bottom:20px}}.number-stats{margin:10px 0}.number-stats .stat-number{display:inline-block;margin:0 5px}.number-stats .stat-number .title{font-size:13px;margin-bottom:3px;color:#B8C3C7}.number-stats .stat-number .number{font-size:27px;line-height:27px;color:#7D8C9D}.number-stats>div{border-right:1px solid #f5f5f5}.number-stats>div:last-child{border-right:0}.number-stats .stat-left .stat-number{float:right;text-align:right}.number-stats .stat-right{float:left!important}.number-stats .stat-right .stat-number{float:left;text-align:left}.number-stats .stat-right .stat-chart{float:left}.number-stats .stat-number{float:left;text-align:left}.number-stats .stat-chart{display:inline-block;margin:0 5px;float:left}.general-item-list>.item{padding:10px 0;border-bottom:1px solid #F1F4F7}.general-item-list>.item:last-child{border-bottom:0}.general-item-list>.item>.item-head{margin-bottom:5px}.general-item-list>.item>.item-head:after,.general-item-list>.item>.item-head:before{content:" ";display:table}.general-item-list>.item>.item-head>.item-details{display:inline-block;float:left}.general-item-list>.item>.item-head>.item-details>.item-pic{height:35px;margin-right:10px;-webkit-border-radius:100%;-moz-border-radius:100%;-ms-border-radius:100%;-o-border-radius:100%;border-radius:100%}.general-item-list>.item>.item-head>.item-details>.item-name{display:inline-block;margin-right:10px}.general-item-list>.item>.item-head>.item-details>.item-label{color:#C0C9CC}.general-item-list>.item>.item-head>.item-status{color:#C0C9CC;top:10px;position:relative;display:inline-block;float:right}.general-item-list>.item>.item-head>.item-status>.badge{margin-top:-2px}.general-item-list>.item>.item-body{color:#96a5aa}.file-drop-zone{border:2px dashed #ddd;padding:30px;text-align:center}.file-drop-zone.file-drop-zone-over{border-color:#aaa}[class*=" fa-"],[class*=" glyphicon-"],[class*=" icon-"],[class^=fa-],[class^=glyphicon-],[class^=icon-]{display:inline-block;margin-top:1px;font-size:14px;line-height:14px;-webkit-font-smoothing:antialiased}li [class*=" fa-"],li [class*=" glyphicon-"],li [class*=" icon-"],li [class^=fa-],li [class^=glyphicon-],li [class^=icon-]{display:inline-block;width:1.25em;text-align:center}li [class*=" glyphicon-"],li [class^=glyphicon-]{top:2px}li [class*=" icon-"],li [class^=icon-]{top:1px;position:relative}li [class*=" fa-"].icon-large,li [class*=" glyphicon-"].icon-large,li [class*=" icon-"].icon-large,li [class^=fa-].icon-large,li [class^=glyphicon-].icon-large,li [class^=icon-].icon-large{width:1.5625em}.fa-sm,.icon-sm{font-size:12px}.fa-lg,.icon-lg{font-size:16px!important}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.icon-state-default{color:#c6c6c6}.icon-state-success{color:#45B6AF}.icon-state-info{color:#89C4F4}.icon-state-warning{color:#dfba49}.icon-state-danger{color:#F3565D}.fa-item{font-size:14px;padding:10px 10px 10px 20px}.fa-item i{font-size:16px;display:inline-block;width:20px;color:#333}.fa-item:hover{cursor:pointer;background:#eee}.badge-danger,.badge-default,.badge-info,.badge-primary,.badge-success,.badge-warning{background-image:none}.simplelineicons-demo .item-box{display:inline-block;font-size:16px;margin:0 -.22em 1em 0;padding-left:1em;width:100%}.simplelineicons-demo .item-box .item{background-color:#fff;color:#33383e;border-radius:8px;display:inline-block;padding:10px;width:100%}.bs-glyphicons,.glyphicons-demo ul{padding-left:0;padding-bottom:1px;margin-bottom:20px;overflow:hidden;list-style:none}.simplelineicons-demo .item-box .item span{font-size:22px}@media only screen and (min-width:768px){.simplelineicons-demo .item-box{width:33.333%}}.bs-glyphicon-class{text-align:center}.glyphicons-demo ul li{float:left;width:25%;height:115px;padding:10px;margin:0 -1px -1px 0;font-size:14px;line-height:1.4;text-align:center;border:1px solid #ddd}.glyphicons-demo .glyphicon{display:block;margin:5px auto 10px;font-size:24px;color:#444}.glyphicons-demo ul li:hover{background-color:rgba(86,61,124,.1)}.badge-default,.label-default{background-color:#c6c6c6}@media (min-width:768px){.glyphicons-demo ul li{width:12.5%}}.alert.alert-borderless{border:0}.badge{font-size:11px!important;font-weight:300;height:18px;padding:3px 6px;-webkit-border-radius:12px!important;-moz-border-radius:12px!important;border-radius:12px!important;text-shadow:none!important;text-align:center}.badge.badge-roundless{-webkit-border-radius:0!important;-moz-border-radius:0!important;border-radius:0!important}.badge.badge-empty{display:inline-block;padding:0;min-width:8px;height:8px;width:8px}.badge-primary{background-color:#428bca}.badge-info{background-color:#89C4F4}.badge-success{background-color:#45B6AF}.badge-danger{background-color:#F3565D}.badge-warning{background-color:#dfba49}.nav.nav-pills>li>a>.badge,.nav.nav-stacked>li>a>.badge{margin-top:-2px}.dropdown-menu>li>a>.badge{position:absolute;margin-top:1px;right:3px;display:inline;font-size:11px;font-weight:300;text-shadow:none;height:18px;padding:3px 6px;text-align:center;vertical-align:middle;-webkit-border-radius:12px!important;-moz-border-radius:12px!important;border-radius:12px!important}.btn,.btn>i{font-size:14px}.dropdown-menu.badge-roundless{-webkit-border-radius:0!important;-moz-border-radius:0!important;border-radius:0!important}.btn{border-width:0;padding:7px 14px;outline:0!important;background-image:none!important;filter:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;text-shadow:none}.btn-group .btn.dropdown-toggle,.btn.active,.btn.dropdown-toggle,.btn:active,.btn:disabled,.btn:focus,.btn:hover,.btn[disabled]{outline:0!important;background-image:none!important;filter:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;text-shadow:none}.btn-default{border-width:1px;padding:6px 13px;color:#333;background-color:#fff;border-color:#ccc}.btn-block{display:block;width:100%;padding-left:0;padding-right:0}.btn-default.active,.btn-default:active,.btn-default:focus,.btn-default:hover,.open .btn-default.dropdown-toggle{color:#333;background-color:#ededed;border-color:#b3b3b3}.btn-default.active,.btn-default:active{background-image:none;background-color:#e0e0e0}.btn-default.active:hover,.btn-default:active:hover{background-color:#e6e6e6}.open .btn-default.dropdown-toggle{background-image:none}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-default>i{color:#aaa}.btn-default>i[class*=icon-],.btn-default>i[class^=icon-]{color:#8c8c8c}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .btn-primary.dropdown-toggle{color:#fff;background-color:#3379b5;border-color:#2a6496}.btn-primary.active,.btn-primary:active{background-image:none;background-color:#2d6ca2}.btn-primary.active:hover,.btn-primary:active:hover{background-color:#3071a9}.open .btn-primary.dropdown-toggle{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#45B6AF;border-color:#3ea49d}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .btn-success.dropdown-toggle{color:#fff;background-color:#3b9c96;border-color:#307f7a}.btn-success.active,.btn-success:active{background-image:none;background-color:#348a84}.btn-success.active:hover,.btn-success:active:hover{background-color:#37918b}.open .btn-success.dropdown-toggle{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#45B6AF;border-color:#3ea49d}.btn-success .badge{color:#45B6AF;background-color:#fff}.btn-info{color:#fff;background-color:#89C4F4;border-color:#72b8f2}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .btn-info.dropdown-toggle{color:#fff;background-color:#68b4f1;border-color:#43a1ed}.btn-info.active,.btn-info:active{background-image:none;background-color:#51a8ef}.btn-info.active:hover,.btn-info:active:hover{background-color:#5aadf0}.open .btn-info.dropdown-toggle{background-image:none}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#89C4F4;border-color:#72b8f2}.btn-info .badge{color:#89C4F4;background-color:#fff}.btn-warning{color:#fff;background-color:#dfba49;border-color:#dbb233}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .btn-warning.dropdown-toggle{color:#fff;background-color:#daae2b;border-color:#bb9521}.btn-warning.active,.btn-warning:active{background-image:none;background-color:#c89f23}.btn-warning.active:hover,.btn-warning:active:hover{background-color:#d0a625}.open .btn-warning.dropdown-toggle{background-image:none}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#dfba49;border-color:#dbb233}.btn-warning .badge{color:#dfba49;background-color:#fff}.btn-danger{color:#fff;background-color:#F3565D;border-color:#f13e46}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .btn-danger.dropdown-toggle{color:#fff;background-color:#f1353d;border-color:#ec111b}.btn-danger.active,.btn-danger:active{background-image:none;background-color:#ef1d26}.btn-danger.active:hover,.btn-danger:active:hover{background-color:#f0262f}.open .btn-danger.dropdown-toggle{background-image:none}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#F3565D;border-color:#f13e46}.btn-danger .badge{color:#F3565D;background-color:#fff}.btn-lg,.btn-lg>i{font-size:18px}.btn-lg{padding:10px 16px;line-height:1.33}.btn-sm,.btn-xs{padding:4px 10px 5px;font-size:13px;line-height:1.5}.btn-sm>i,.btn-xs>i{font-size:13px}.btn-xs{padding:1px 5px}.btn-group .input-sm .btn-default{padding-top:3px;padding-bottom:3px}.btn-arrow-link{display:inline-block;font-size:13px}.btn-arrow-link>i{font-size:14px;line-height:14px;vertical-align:top;margin:2px 3px;color:#999}.btn-arrow-link.btn-arrow-link-lg{font-size:14px}.btn-arrow-link.btn-arrow-link-lg>i{font-size:16px;line-height:16px;margin:2px 3px 1px}.btn-circle{border-radius:25px!important}.btn-circle-right{border-radius:0 25px 25px 0!important}.btn-circle-left{border-radius:25px 0 0 25px!important}.btn-circle-bottom{border-radius:0 0 25px 25px!important}.btn-circle-top{border-radius:25px 25px 0 0!important}.btn-icon-only{height:34px;width:34px;text-align:center;padding-left:0;padding-right:0}.btn-icon-only>[class^=icon-],.btn-icon-only>i{text-align:center;margin-top:2px}.btn-sm>[class*=" glyphicon-"],.btn-sm>[class^=glyphicon-],.btn-sm>i{font-size:13px}.btn-xs>[class*=" glyphicon-"],.btn-xs>[class^=glyphicon-],.btn-xs>i{font-size:11px}.btn-group.btn-group-circle>.btn:first-child{border-radius:25px 0 0 25px!important}.btn-group.btn-group-circle>.btn:last-child{border-radius:0 25px 25px 0!important}.btn-group.btn-group-devided>.btn{margin-right:5px}.btn-group.btn-group-devided>.btn:last-child{margin-right:0}.btn-group-vertical.btn-group-vertical-circle>.btn:first-child{border-radius:25px 25px 0 0!important}.btn-group-vertical.btn-group-vertical-circle>.btn:last-child{border-radius:0 0 25px 25px!important}.carousel.image-carousel .carousel-inner{padding-top:0;padding-bottom:0}.carousel.image-carousel .carousel-control i{position:absolute;top:40%}.carousel.image-carousel.image-carousel-hoverable .carousel-control i{display:none}.carousel.image-carousel.image-carousel-hoverable:hover .carousel-control i{display:inline-block}.carousel.image-carousel .carousel-control.left i{left:10px}.carousel.image-carousel .carousel-control.right i{right:10px}.carousel.image-carousel .carousel-indicators{margin-top:10px;bottom:-7px}.carousel.image-carousel .carousel-indicators li,.carousel.image-carousel .carousel-indicators li.active{background-color:#666}.carousel.image-carousel .carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px 15px 25px;background:#333;background:rgba(0,0,0,.75)}.carousel.image-carousel .carousel-caption h2,.carousel.image-carousel .carousel-caption h3,.carousel.image-carousel .carousel-caption h4,.carousel.image-carousel .carousel-caption p{text-align:left;line-height:20px;color:#fff}.carousel.image-carousel .carousel-caption h2,.carousel.image-carousel .carousel-caption h3,.carousel.image-carousel .carousel-caption h4{margin:0 0 5px}.carousel.image-carousel .carousel-caption h2 a,.carousel.image-carousel .carousel-caption h3 a,.carousel.image-carousel .carousel-caption h4 a{color:#aaa}.carousel.image-carousel .carousel-caption p{margin-bottom:0}.carousel.image-carousel .carousel-caption .item{margin:0}.bars,.chart,.pie{overflow:hidden;height:300px;width:100%;font-size:14px}.item-list.table .percent{width:30px;float:right;margin-right:10px;margin-top:3px}.chart-tooltip{z-index:100;background-color:#736e6e!important;padding:5px!important;color:#fff}.chart-tooltip .label{display:block;margin-bottom:2px}.bar-chart,.line-chart{display:none}.chats{margin:-15px 0 0;padding:0}.chats li{list-style:none;padding:5px 0;margin:10px auto;font-size:12px}.chats li .body{display:block}.chats li .avatar{height:45px;width:45px;-webkit-border-radius:50%!important;-moz-border-radius:50%!important;border-radius:50%!important}.chats li.in .avatar{float:left;margin-right:10px}.chats li.out .avatar{float:right;margin-left:10px}.chats li .name{color:#3590c1;font-size:13px;font-weight:400}.chats li .datetime{color:#333;font-size:13px;font-weight:400}.chats li .message{border-radius:5px!important;-webkit-border-readius:5px!important;-moz-border-radius:5px!important;display:block;padding:5px 20px;position:relative}.chats li.in .message{text-align:left;border:2px solid #E9E9E9;margin-left:65px;box-shadow:0 5px 10px #777}.chats li.in .message .arrow{display:block;position:absolute;top:15px;left:-8px;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-right:8px solid #e9e9e9}.chats li.out .message{border:2px solid #DFEECF;margin-right:65px;margin-left:5px;box-shadow:0 5px 10px #777}.chats li.out .message .arrow{display:block;position:absolute;top:15px;right:-8px;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:8px solid #DFEECF}.chats li.out .datetime,.chats li.out .name{text-align:right}.chat-form{margin-top:15px;padding:10px;background-color:#e9eff3;overflow:hidden}.chat-form .input-cont{margin-right:40px}.chat-form .input-cont .form-control{border:1px solid #ddd;width:100%!important;margin-top:0;background-color:#fff!important}.chat-form .input-cont .form-control:focus{border:1px solid #4b8df9!important}.chat-form .btn-cont{margin-top:-42px;position:relative;float:right;width:44px}.chat-form .btn-cont .arrow{position:absolute;top:17px;right:43px;border-top:8px solid transparent;border-bottom:8px solid transparent;border-right:8px solid #4d90fe;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.chat-form .btn-cont .btn{margin-top:8px}.chat-form .btn-cont:hover .arrow{border-right-color:#0362fd}.chat-form .btn-cont:hover .btn{background-color:#0362fd}.close{display:inline-block;margin-top:0;margin-right:0;width:9px;height:9px;background-repeat:no-repeat!important;text-indent:-10000px;outline:0;background-image:url(../../assets/images/remove-icon-small.png)!important}.dropdown.open>.dropdown-toggle,.dropup.open>.dropdown-toggle{border-color:#ddd}.dropdown-menu{min-width:175px;position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;list-style:none;text-shadow:none;padding:0;margin:10px 0 0;background-color:#fffff;box-shadow:5px 5px rgba(102,102,102,.1);border:1px solid #eee;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.dropdown-menu li.divider{background:#f1f3f6}.dropdown-menu li>a{padding:8px 14px;color:#555;text-decoration:none;display:block;font-weight:300;line-height:18px;white-space:nowrap}.dropdown-menu li>a>[class*=" fa-"],.dropdown-menu li>a>[class^=fa-]{color:#888}.dropdown-menu li>a>[class*=" icon-"],.dropdown-menu li>a>[class^=icon-]{color:#666}.dropdown-menu li>a>[class*=" glyphicon-"],.dropdown-menu li>a>[class^=glyphicon-]{color:#888}.dropdown-menu .active>a,.dropdown-menu .active>a:hover,.dropdown-menu li>a:hover{text-decoration:none;background-image:none;background-color:#f6f6f6;color:#555;filter:none}.dropdown-menu.bottom-up{top:auto;bottom:100%;margin-bottom:2px}.btn-group>.dropdown-menu,.dropdown-toggle>.dropdown-menu,.dropdown>.dropdown-menu{margin-top:10px}.btn-group>.dropdown-menu:before,.dropdown-toggle>.dropdown-menu:before,.dropdown>.dropdown-menu:before{position:absolute;top:-8px;left:9px;right:auto;display:inline-block!important;border-right:8px solid transparent;border-bottom:8px solid #e0e0e0;border-left:8px solid transparent;content:''}.btn-group>.dropdown-menu:after,.dropdown-toggle>.dropdown-menu:after,.dropdown>.dropdown-menu:after{position:absolute;top:-7px;left:10px;right:auto;display:inline-block!important;border-right:7px solid transparent;border-bottom:7px solid #fff;border-left:7px solid transparent;content:''}.btn-group>.dropdown-menu.pull-left:before,.dropdown-toggle>.dropdown-menu.pull-left:before,.dropdown>.dropdown-menu.pull-left:before{left:auto;right:9px}.btn-group>.dropdown-menu.pull-left:after,.dropdown-toggle>.dropdown-menu.pull-left:after,.dropdown>.dropdown-menu.pull-left:after{left:auto;right:10px}.btn-group>.dropdown-menu.pull-right:before,.dropdown-toggle>.dropdown-menu.pull-right:before,.dropdown>.dropdown-menu.pull-right:before{left:auto;right:9px}.btn-group>.dropdown-menu.pull-right:after,.dropdown-toggle>.dropdown-menu.pull-right:after,.dropdown>.dropdown-menu.pull-right:after{left:auto;right:10px}.btn-group.dropup>.dropdown-menu,.dropdown-toggle.dropup>.dropdown-menu,.dropdown.dropup>.dropdown-menu{margin-top:0;margin-bottom:10px}.btn-group.dropup>.dropdown-menu:after,.btn-group.dropup>.dropdown-menu:before,.dropdown-toggle.dropup>.dropdown-menu:after,.dropdown-toggle.dropup>.dropdown-menu:before,.dropdown.dropup>.dropdown-menu:after,.dropdown.dropup>.dropdown-menu:before{display:none!important}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:5px;left:100%;margin-top:-6px;margin-left:-1px}.dropdown-submenu>a:after{position:absolute;display:inline-block;font-size:14px;right:7px;top:7px;font-family:FontAwesome;height:auto;content:"\f105";font-weight:300}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px}.nav.pull-right>li>.dropdown-menu,.nav>li>.dropdown-menu.pull-right{right:0;left:auto}.nav.pull-right>li>.dropdown-menu:before,.nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.nav.pull-right>li>.dropdown-menu:after,.nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.nav.pull-right>li>.dropdown-menu .dropdown-menu,.nav>li>.dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:absolute;float:left;width:auto;margin-top:0;background-color:#fff;border:1px solid #efefef;box-shadow:5px 5px rgba(102,102,102,.1)}.navbar-nav .open .dropdown-menu>li>a{padding:6px 0 6px 13px;color:#333}.navbar-nav .open .dropdown-menu>li>a:active,.navbar-nav .open .dropdown-menu>li>a:hover{ackground-color:#eee}}.feeds li .col1,.feeds li .col1>.cont>.cont-col2{width:100%;float:left}.dropdown-checkboxes,.dropdown-content,.dropdown-radiobuttons{padding:5px}.dropdown-content form{margin:0}.dropdown.inline .dropdown-menu{display:inline-block;position:relative}.dropdown-checkboxes label,.dropdown-radiobuttons label{display:block;font-weight:300;color:#333;margin-bottom:4px;margin-top:4px}.dropdown-checkboxes label .radio,.dropdown-radiobuttons label .radio{margin-right:3px}.feeds{margin:0;padding:0;list-style:none}.feeds li{background-color:#fafafa;color:#82949a;margin-bottom:7px}.feeds li:after,.feeds li:before{display:table;line-height:0;content:""}.feeds li:last-child{margin-bottom:0}.feeds li .col1>.cont{float:left;margin-right:75px;overflow:hidden}.feeds li .col1>.cont>.cont-col1{float:left;margin-right:-100%}.feeds li .col1>.cont>.cont-col1>.label{display:inline-block;padding:5px 4px 6px 5px;vertical-align:middle;text-align:center}.feeds li .col1>.cont>.cont-col1>.label>i{text-align:center;font-size:14px}.feeds li .col1>.cont>.cont-col2>.desc{margin-left:35px;padding-top:4px;padding-bottom:5px;overflow:hidden}.modal,.modal-open{overflow-y:auto!important}.feeds li .col2{float:left;width:75px;margin-left:-75px}.feeds li .col2>.date{padding:4px 9px 5px 4px;text-align:right;font-style:italic;color:#c1cbd0}.static-info{margin-bottom:10px}.static-info .name{font-size:14px}.static-info .value{font-size:14px;font-weight:600}.static-info.align-reverse .name,.static-info.align-reverse .value{text-align:right}.help-block{margin-top:5px;margin-bottom:5px}.help-inline{font-size:13px;color:#737373;display:inline-block;padding:5px}.form-inline input{margin-bottom:0!important}.control-label{margin-top:1px}.control-label .required{color:#e02222;font-size:12px;padding-left:2px}.form{padding:0!important}.form .form-body{padding:10px}.portlet.light .form .form-body{padding-left:0;padding-right:0}.form .form-actions{padding:20px 10px;margin:0;background-color:#f5f5f5;border-top:1px solid #e5e5e5}.portlet.light .form .form-actions{background:0 0;padding-left:0;padding-right:0}.portlet .form .form-actions{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;-ms-border-radius:0 0 4px 4px;-o-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.form .form-actions:after,.form .form-actions:before{content:" ";display:table}.form .form-actions.right{padding-left:0;padding-right:10px;text-align:right}.portlet.light .form .form-actions.right{padding-right:0}.form .form-actions.left{padding-left:10px;padding-right:0;text-align:left}.checkbox-list>label.checkbox-inline:first-child,.checkbox>label,.form-horizontal .checkbox>label,.portlet.light .form .form-actions.left,.radio-list>label.radio-inline:first-child{padding-left:0}.form .form-actions.nobg{background-color:transparent}.form .form-actions.top{margin-top:0;margin-bottom:20px;border-top:0;border-bottom:1px solid #e5e5e5}.portlet.light .form .form-actions.top{background:0 0}.form .form-actions .btn-set{display:inline-block}@media (max-width:767px){.form .form-actions .btn-set{margin-bottom:3px;margin-top:3px;float:left!important}}.form .form-section{margin:30px 0 25px;padding-bottom:5px;border-bottom:1px solid #eee}.form .form-bordered .form-group .help-block,.form .form-row-seperated .form-group .help-block,.form-horizontal .radio-list>label{margin-bottom:0}.form .form-section:first-child{margin-top:5px}.checkbox,.form-horizontal .checkbox{padding:0}.checkbox-list>label{display:block}.checkbox-list>label.checkbox-inline{display:inline-block}.input-icon>i,.radio-list>label{display:block}.form-control-static,.icon-btn,.input-inline,.radio-list>label.radio-inline{display:inline-block}.form-horizontal .radio-list .radio{padding-top:1px}.form-horizontal .radio>span{margin-top:2px}.form .form-row-seperated .portlet-body{padding:0}.form .form-row-seperated .form-group{margin:0;border-bottom:1px solid #efefef;padding:15px 0}.form .form-row-seperated .form-group.last{border-bottom:0;margin-bottom:0;padding-bottom:13px}.form .form-row-seperated .form-body{padding:0}.form .form-row-seperated .form-actions{padding-left:15px!important;padding-right:15px!important}.form .form-bordered .form-group{margin:0;border-bottom:1px solid #efefef}.form .form-bordered .form-group>div{padding:15px;border-left:1px solid #efefef}.form .form-bordered .form-group.last{border-bottom:0}.form .form-bordered .form-group .control-label{padding-top:20px}@media (max-width:991px){.form .form-bordered .form-group>div{border-left:0}.form .form-bordered .form-group .control-label{padding-top:10px}}.form .form-bordered .form-group .form-control{margin:0}.form .form-bordered .form-body{margin:0;padding:0}.form .form-bordered .form-actions{margin-top:0;padding-left:16px!important;padding-right:16px!important}@media (max-width:991px){.form .form-bordered .form-actions{padding-left:15px!important;padding-right:15px!important}}.form .form-horizontal.form-bordered.form-row-stripped .form-group:nth-child(even){background-color:#fcfcfc}.form .form-horizontal.form-bordered.form-row-stripped .form-control{background:#fff!important}.form .form-horizontal.form-bordered.form-label-stripped .form-group:nth-child(even)>div{background-color:#fff}.form .form-horizontal.form-bordered.form-label-stripped .form-group:nth-child(even){background-color:#fcfcfc}.form-control::-moz-placeholder{color:#b3b3b3;opacity:1}.form-control:-ms-input-placeholder{color:#b3b3b3}.form-control::-webkit-input-placeholder{color:#b3b3b3}.form-control{font-size:14px;font-weight:400;color:#333;background-color:#fff;border:1px solid #e5e5e5;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#999;outline:0;-webkit-box-shadow:none;box-shadow:none}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}.form-control.height-auto{height:auto}.form-control.form-control-solid{background-color:#F1F3F8;border-color:#F1F3F8;color:#A6B2BA}.note .highlight,.note code,.uneditable-input{background-color:#fff}.form-control.form-control-solid:focus{border-color:#e3e7f1}.form-control.form-control-solid::-moz-placeholder{color:#acb7be;opacity:1}.form-control.form-control-solid:-ms-input-placeholder{color:#acb7be}.form-control.form-control-solid::-webkit-input-placeholder{color:#acb7be}.uneditable-input{padding:6px 12px;min-width:206px;font-size:14px;font-weight:400;height:34px;color:#333;border:1px solid #e5e5e5;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.icon-btn,.icon-btn:hover{-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-ms-transition:all .3s ease;-o-transition:all .3s ease}.input-mini{width:45px!important}.input-xsmall{width:80px!important}.input-small{width:145px!important}.input-medium{width:240px!important}.input-large{width:320px!important}.input-xlarge{width:420px!important}.input-inline{width:auto;vertical-align:middle}.form-group .input-inline{margin-right:5px}.input-sm{height:28px;padding:5px 10px;font-size:13px}select.input-sm{height:28px;line-height:28px;padding:2px 10px}@media (max-width:768px){.input-large{width:250px!important}.input-xlarge{width:300px!important}}.input-group .btn-default{border-color:#e5e5e5}.input-group .input-group-addon{border-color:#e5e5e5;background:#e5e5e5;min-width:39px}.input-group .input-group-addon>i{color:#999}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .form-control-feedback,.has-success .help-block,.has-success .help-inline,.has-success .radio,.has-success .radio-inline{color:#3c763d}input[type=text].spinner,input[type=password].spinner,input[type=datetime].spinner,input[type=datetime-local].spinner,input[type=date].spinner,input[type=month].spinner,input[type=time].spinner,input[type=week].spinner,input[type=number].spinner,input[type=email].spinner,input[type=url].spinner,input[type=search].spinner,input[type=tel].spinner,input[type=color].spinner{background-image:url(../../assets/images/input-spinner.gif)!important;background-repeat:no-repeat;background-position:right 8px}label{font-weight:400;font-size:14px}.form-control-static{margin:2px 0}.has-success .form-control{border-color:#d6e9c6;-webkit-box-shadow:none;box-shadow:none}.has-success .form-control:focus{border-color:#bbdba1;-webkit-box-shadow:none;box-shadow:none}.has-success .input-group-addon{color:#3c763d;border-color:#d6e9c6;background-color:#dff0d8}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .form-control-feedback,.has-warning .help-block,.has-warning .help-inline,.has-warning .radio,.has-warning .radio-inline{color:#8a6d3b}.has-warning .form-control{border-color:#faebcc;-webkit-box-shadow:none;box-shadow:none}.has-warning .form-control:focus{border-color:#f5d89e;-webkit-box-shadow:none;box-shadow:none}.has-warning .input-group-addon{color:#8a6d3b;border-color:#faebcc;background-color:#fcf8e3}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .form-control-feedback,.has-error .help-block,.has-error .help-inline,.has-error .radio,.has-error .radio-inline{color:#a94442}.has-error .form-control{border-color:#ebccd1;-webkit-box-shadow:none;box-shadow:none}.has-error .form-control:focus{border-color:#dca7b0;-webkit-box-shadow:none;box-shadow:none}.has-error .input-group-addon{color:#a94442;border-color:#ebccd1;background-color:#f2dede}.input-circle{border-radius:25px!important}.input-circle-right{border-radius:0 25px 25px 0!important}.input-circle-left{border-radius:25px 0 0 25px!important}.input-circle-bottom{border-radius:0 0 25px 25px!important}.input-circle-top{border-radius:25px 25px 0 0!important}.icon-btn{height:60px;min-width:80px;margin:5px 5px 0 0;border:1px solid #ddd;padding:12px 0 0;background-color:#fafafa;background-image:none;filter:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;color:#646464;text-shadow:none;text-align:center;cursor:pointer;position:relative;transition:all .3s ease}.loading-message,.page-loading{min-width:125px;vertical-align:middle}[class^=m-icon-],[class^=m-icon-big-]{background-image:url(../../assets/images/syncfusion-icons.png);background-position:0 0;background-repeat:no-repeat}.icon-btn:hover,.icon-btn:hover>.badge{-webkit-box-shadow:none;-moz-box-shadow:none}.close,.icon-btn:hover{text-shadow:0 1px 0 #fff}.icon-btn:hover{text-decoration:none;border-color:#999;color:#444;transition:all .3s ease;box-shadow:none}.icon-btn:hover>.badge{-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-ms-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease;box-shadow:none}.icon-btn>div{margin-top:5px;margin-bottom:20px;color:#000;font-size:12px;font-weight:300}.icon-btn>.badge{position:absolute;font-size:11px;font-weight:300;top:-5px;right:-5px;padding:3px 6px;color:#fff;text-shadow:none;border-width:0;border-style:solid;-webkit-border-radius:12px;-moz-border-radius:12px;border-radius:12px;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.input-group .input-icon>.form-control,.tabs-left.nav-tabs>li>a:focus,.tabs-left.nav-tabs>li>a:hover{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;-ms-border-radius:4px 0 0 4px;-o-border-radius:4px 0 0 4px}.icon-btn>i{font-size:18px}.ie8 .icon-btn:hover{filter:none}.input-icon{position:relative}.input-icon>.form-control{padding-left:33px}.input-group .input-icon>.form-control{border-radius:4px 0 0 4px}.input-icon>i{color:#ccc;position:absolute;margin:11px 2px 4px 10px;z-index:3;width:16px;height:16px;font-size:16px;text-align:center}.modal .input-icon>i{z-index:10055}.has-success .input-icon>i{color:#45B6AF}.has-warning .input-icon>i{color:#dfba49}.has-info .input-icon>i{color:#89C4F4}.has-error .input-icon>i{color:#F3565D}.input-icon.right>.form-control{padding-right:33px;padding-left:12px}.input-group .input-icon.right>.form-control{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;-ms-border-radius:0 4px 4px 0;-o-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-icon.right>i{right:8px;float:right}.input-icon.input-icon-lg>i{margin-top:16px}.input-icon.input-icon-sm>i{margin-top:8px;font-size:13px}.label{text-shadow:none!important;font-size:13px;font-weight:300;padding:3px 6px;color:#fff;font-family:"Open Sans",sans-serif}.label.label-sm{font-size:12px;padding:0 4px 1px}h1 .label,h2 .label,h3 .label,h4 .label,h5 .label,h6 .label{font-size:75%}.label-default[href]:focus,.label-default[href]:hover{background-color:#adadad}.label-primary{background-color:#428bca}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#3071a9}.label-success{background-color:#45B6AF}.label-success[href]:focus,.label-success[href]:hover{background-color:#37918b}.label-info{background-color:#89C4F4}.label-info[href]:focus,.label-info[href]:hover{background-color:#5aadf0}.label-warning{background-color:#dfba49}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#d0a625}.label-danger{background-color:#F3565D}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#f0262f}.label.label-icon{padding:4px 0 4px 4px;margin-right:2px;text-align:center!important}.label.label-icon>i{font-size:12px;text-align:center!important}.note p,.page-loading,.panel .panel-body{font-size:13px}.ie8 .label.label-icon,.ie9 .label.label-icon{padding:3px 0 3px 3px}.text-default{color:#c6c6c6}.text-primary{color:#428bca}.text-success{color:#45B6AF}.text-info{color:#89C4F4}.text-warning{color:#dfba49}.text-danger{color:#F3565D}.list-group .list-group-item-success{color:#3c763d;background-color:#dff0d8}.list-group a.list-group-item-success{color:#3c763d}.list-group a.list-group-item-success .list-group-item-heading{color:inherit}.list-group a.list-group-item-success:focus,.list-group a.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}.list-group a.list-group-item-success.active,.list-group a.list-group-item-success.active:focus,.list-group a.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group .list-group-item-info{color:#31708f;background-color:#d9edf7}.list-group a.list-group-item-info{color:#31708f}.list-group a.list-group-item-info .list-group-item-heading{color:inherit}.list-group a.list-group-item-info:focus,.list-group a.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}.list-group a.list-group-item-info.active,.list-group a.list-group-item-info.active:focus,.list-group a.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group .list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}.list-group a.list-group-item-warning{color:#8a6d3b}.list-group a.list-group-item-warning .list-group-item-heading{color:inherit}.list-group a.list-group-item-warning:focus,.list-group a.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}.list-group a.list-group-item-warning.active,.list-group a.list-group-item-warning.active:focus,.list-group a.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group .list-group-item-danger{color:#a94442;background-color:#f2dede}.list-group a.list-group-item-danger{color:#a94442}.list-group a.list-group-item-danger .list-group-item-heading{color:inherit}.list-group a.list-group-item-danger:focus,.list-group a.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}.list-group a.list-group-item-danger.active,.list-group a.list-group-item-danger.active:focus,.list-group a.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.loading-message{display:inline-block;padding:10px;margin:0 auto;color:#000!important;font-size:13px;font-weight:400;text-align:center}.loading-message.loading-message-boxed{border:1px solid #ddd;background-color:#eee;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 8px rgba(0,0,0,.1);-moz-box-shadow:0 1px 8px rgba(0,0,0,.1);box-shadow:0 1px 8px rgba(0,0,0,.1)}.loading-message>span{line-height:20px;vertical-align:middle}.page-loading{-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px;position:fixed;top:50%;left:50%;margin-left:-60px;margin-top:-30px;padding:7px;text-align:center;color:#333;border:1px solid #ddd;background-color:#eee;-webkit-box-shadow:0 1px 8px rgba(0,0,0,.1);-moz-box-shadow:0 1px 8px rgba(0,0,0,.1);box-shadow:0 1px 8px rgba(0,0,0,.1)}.block-spinner-bar>div,.page-spinner-bar>div{border-radius:100%!important;display:inline-block}.panel,.well{-webkit-box-shadow:none!important}.page-loading>span{line-height:20px;vertical-align:middle}.page-spinner-bar{position:fixed;z-index:10051;width:100px;top:40%;left:50%;margin-left:-55px;text-align:center}.page-spinner-bar>div{margin:0 5px;width:18px;height:18px;-webkit-animation:bounceDelay 1.4s infinite ease-in-out;animation:bounceDelay 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.page-spinner-bar .bounce1{-webkit-animation-delay:-.32s;animation-delay:-.32s}.page-spinner-bar .bounce2{-webkit-animation-delay:-.16s;animation-delay:-.16s}.block-spinner-bar{display:inline-block;width:80px;text-align:center}.block-spinner-bar>div{margin:0 2px;width:15px;height:15px;-webkit-animation:bounceDelay 1.4s infinite ease-in-out;animation:bounceDelay 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.note,.tabs-right.nav-tabs>li>a:focus,.tabs-right.nav-tabs>li>a:hover{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;-ms-border-radius:0 4px 4px 0;-o-border-radius:0 4px 4px 0}.block-spinner-bar .bounce1{-webkit-animation-delay:-.32s;animation-delay:-.32s}.block-spinner-bar .bounce2{-webkit-animation-delay:-.16s;animation-delay:-.16s}[class^=m-icon-]{display:inline-block;width:14px;height:14px;margin-top:3px;line-height:14px;vertical-align:top}[class^=m-icon-big-]{display:inline-block;width:30px;height:30px;margin:6px;vertical-align:middle}.btn.m-icon-big{padding:9px 16px 8px}.btn.m-icon-big.m-icon-only{padding:9px 8px 8px 0}.btn.m-icon-big [class^=m-icon-big-]{margin:0 0 0 10px}.btn.m-icon-ony>i{margin-left:0}.btn.m-icon{padding:7px 14px}.btn.m-icon [class^=m-icon-]{margin:4px 0 0 5px}.btn.m-icon.m-icon-only{padding:7px 10px 7px 6px}.m-icon-white{background-image:url(../../assets/images/syncfusion-icons-white.png)}.m-icon-swapright{background-position:-27px -10px}.m-icon-swapdown{background-position:-68px -10px}.m-icon-swapleft{background-position:-8px -10px}.m-icon-swapup{background-position:-46px -10px}.m-icon-big-swapright{background-position:-42px -28px}.m-icon-big-swapdown{background-position:-115px -28px}.m-icon-big-swapleft{background-position:-6px -28px}.m-icon-big-swapup{background-position:-78px -28px}.modal{z-index:10050;outline:0}.modal .modal-header{border-bottom:1px solid #EFEFEF}.modal .modal-header h3{font-weight:300}.modal .modal-header .close{margin-top:0!important}.modal .modal-dialog{z-index:10051}.modal>.loading{position:absolute;top:50%;left:50%;margin-top:-22px;margin-left:-22px}.modal.in .page-loading{display:none}.modal-open-noscroll{overflow-y:hidden!important}.modal-full.modal-dialog{width:99%}@media (max-width:768px){.modal-full.modal-dialog{width:auto}}.note{margin:0 0 20px;padding:15px 30px 15px 15px;border-left:5px solid #eee;border-radius:0 4px 4px 0}.note h1,.note h2,.note h3,.note h4,.note h5,.note h6{margin-top:0}.note h1 .close,.note h2 .close,.note h3 .close,.note h4 .close,.note h5 .close,.note h6 .close{margin-right:-10px}.note p:last-child{margin-bottom:0}.note.note-default{background-color:#d3d3d3;border-color:#a0a0a0;color:#333,80%}.note.note-default.note-bordered{background-color:#c9c9c9;border-color:#a5a5a5}.note.note-primary{background-color:#5697d0;border-color:#2a7696;color:#D8E3F2,80%}.note.note-primary.note-bordered{background-color:#468dcb;border-color:#2c7c9e}.note.note-success{background-color:#eef7ea;border-color:#bbdba1;color:#3c763d,80%}.note.note-success.note-bordered{background-color:#e2f1dc;border-color:#c1dea8}.note.note-info{background-color:#eef7fb;border-color:#91d9e8;color:#31708f,80%}.note.note-info.note-bordered{background-color:#ddeff8;border-color:#9adcea}.note.note-warning{background-color:#fcf8e3;border-color:#f2cf87;color:#8a6d3b,80%}.note.note-warning.note-bordered{background-color:#faf3d1;border-color:#f3d390}.note.note-danger{background-color:#f9f0f0;border-color:#dca7b0;color:#a94442,80%}.note.note-danger.note-bordered{background-color:#f3e2e2;border-color:#dfaeb7}.pagination{margin:10px 0}.pagination.pagination-circle>li:first-child>a{border-radius:25px 0 0 25px!important}.pagination.pagination-circle>li:last-child>a{border-radius:0 25px 25px 0!important}.dashboard-stat,.portlet{-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px}.pagination .active>a,.pagination .active>a:hover{background:#eee;border-color:#ddd;color:#333}.panel{-moz-box-shadow:none!important;box-shadow:none!important}.panel-group .panel{overflow:visible}.panel .panel-title>a:hover{text-decoration:none}.accordion .panel .panel-heading,.accordion .panel .panel-title{padding:0}.accordion .panel .panel-title .accordion-toggle{display:block;padding:10px 15px}.accordion .panel .panel-title .accordion-toggle.accordion-toggle-styled{background:url(../../assets/images/accordion-plusminus.png) right -19px no-repeat;margin-right:15px}.accordion .panel .panel-title .accordion-toggle.accordion-toggle-styled.collapsed{background-position:right 12px}.panel-default{border-color:#e0e0e0}.panel-default>.panel-heading{color:#333;background-color:#f9f9f9;border-color:#e0e0e0}.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#e0e0e0}.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#e0e0e0}.panel-primary{border-color:#3595bd}.panel-primary>.panel-heading{color:#D8E3F2;background-color:#428bca;border-color:#3595bd}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#3595bd}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#3595bd}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.accordion-heading{background:#eee}.accordion-heading a,.accordion-heading a:hover{text-decoration:none}.popover{box-shadow:5px 5px rgba(102,102,102,.1);padding:0}.portlet.calendar .fc-button,.progress{-webkit-box-shadow:none;-moz-box-shadow:none}.popover .popover-title{margin:0!important}.popover.name .popover-content,.popover.name .popover-title,name .popover .popover-content{color:#F3565D}.popovers.yellow+.popover,.popovers.yellow+.popover .popover-content,.popovers.yellow+.popover .popover-title{background:#ff0}.page-portlet-fullscreen{overflow:hidden}.portlet{margin-top:0;margin-bottom:25px;padding:0;border-radius:4px}.portlet.portlet-fullscreen{z-index:10060;margin:0;position:fixed;top:0;left:0;bottom:0;right:0;width:100%;height:100%;background:#fff}.portlet.portlet-fullscreen>.portlet-body{overflow-y:auto;overflow-x:hidden;padding:0 10px}.portlet.portlet-fullscreen>.portlet-title{padding:0 10px}.portlet>.portlet-title{border-bottom:1px solid #eee;padding:0;margin-bottom:10px;min-height:41px;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;-ms-border-radius:4px 4px 0 0;-o-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.portlet>.portlet-title:after,.portlet>.portlet-title:before{content:" ";display:table}.portlet>.portlet-title>.caption{float:left;display:inline-block;font-size:18px;line-height:18px;font-weight:300;padding:10px 0}.portlet>.portlet-title>.caption.bold{font-weight:400}.portlet>.portlet-title>.caption>i{float:left;margin-top:4px;display:inline-block;font-size:13px;margin-right:5px;color:#666}.portlet>.portlet-title>.caption>i.glyphicon{margin-top:2px}.portlet>.portlet-title>.caption>.caption-helper{padding:0;margin:0;line-height:13px;color:#9eacb4;font-size:13px;font-weight:400}.portlet>.portlet-title>.actions{float:right;display:inline-block;padding:6px 0}.portlet>.portlet-title>.actions>.dropdown-menu i{color:#555}.portlet>.portlet-title>.actions>.btn,.portlet>.portlet-title>.actions>.btn-group>.btn,.portlet>.portlet-title>.actions>.btn-group>.btn.btn-sm,.portlet>.portlet-title>.actions>.btn.btn-sm{padding:4px 10px;font-size:13px;line-height:1.5}.portlet>.portlet-title>.actions>.btn-group>.btn.btn-default,.portlet>.portlet-title>.actions>.btn-group>.btn.btn-sm.btn-default,.portlet>.portlet-title>.actions>.btn.btn-default,.portlet>.portlet-title>.actions>.btn.btn-sm.btn-default{padding:3px 9px}.portlet>.portlet-title>.actions>.btn-group>.btn.btn-sm>i,.portlet>.portlet-title>.actions>.btn-group>.btn>i,.portlet>.portlet-title>.actions>.btn.btn-sm>i,.portlet>.portlet-title>.actions>.btn>i{font-size:13px}.portlet>.portlet-title>.actions .btn-icon-only{padding:5px 7px 3px}.portlet>.portlet-title>.actions .btn-icon-only.btn-default{padding:4px 6px 2px}.portlet>.portlet-title>.actions .btn-icon-only.btn-default>i{font-size:14px}.portlet>.portlet-title>.actions .btn-icon-only.btn-default.fullscreen{font-family:FontAwesome;color:#a0a0a0;padding-top:3px}.portlet>.portlet-title>.actions .btn-icon-only.btn-default.fullscreen.btn-sm{padding:3px!important;height:27px;width:27px}.portlet>.portlet-title>.actions .btn-icon-only.btn-default.fullscreen:before{content:"\f065"}.portlet>.portlet-title>.actions .btn-icon-only.btn-default.fullscreen.on:before{content:"\f066"}.portlet>.portlet-title>.tools{float:right;display:inline-block;padding:12px 0 8px}.portlet>.portlet-title>.tools>a{display:inline-block;height:16px;margin-left:5px;opacity:1;filter:alpha(opacity=100)}.portlet>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon.png);background-repeat:no-repeat;width:11px}.portlet>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon.png);background-repeat:no-repeat;width:12px}.portlet>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon.png);width:13px}.portlet>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon.png);width:14px;visibility:visible}.portlet>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon.png);width:14px;visibility:visible}.portlet>.portlet-title>.tools>a.fullscreen{display:inline-block;top:-3px;position:relative;font-size:13px;font-family:FontAwesome;color:#ACACAC}.portlet>.portlet-title>.tools>a.fullscreen:before{content:"\f065"}.portlet>.portlet-title>.tools>a.fullscreen.on:before{content:"\f066"}.portlet>.portlet-title>.tools>a:hover{text-decoration:none;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;-o-transition:all .1s ease-in-out;-ms-transition:all .1s ease-in-out;transition:all .1s ease-in-out;opacity:.8;filter:alpha(opacity=80)}.portlet>.portlet-title>.pagination{float:right;display:inline-block;margin:2px 0 0;border:0;padding:4px 0}.portlet>.portlet-title>.nav-tabs{background:0 0;margin:0;float:right;display:inline-block;border:0}.portlet>.portlet-title>.nav-tabs>li{background:0 0;margin:0;border:0}.portlet>.portlet-title>.nav-tabs>li>a{background:0 0;margin:5px 0 0 1px;border:0;padding:8px 10px;color:#fff}.portlet>.portlet-title>.nav-tabs>li.active>a,.portlet>.portlet-title>.nav-tabs>li:hover>a{color:#333;background:#fff;border:0}.portlet>.portlet-body{clear:both;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;-ms-border-radius:0 0 4px 4px;-o-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.portlet>.portlet-empty{min-height:125px}.portlet.full-height-content{margin-bottom:0}.portlet.bordered{border-left:2px solid #e6e9ec!important}.portlet.bordered>.portlet-title{border-bottom:0}.portlet.solid{padding:0 10px 10px;border:0}.portlet.solid>.portlet-title{border-bottom:0;margin-bottom:10px}.portlet.solid>.portlet-title>.caption{padding:16px 0 2px}.portlet.solid>.portlet-title>.actions{padding:12px 0 6px}.portlet.solid>.portlet-title>.tools{padding:14px 0 6px}.portlet.solid.bordered>.portlet-title{margin-bottom:10px}.portlet.box{padding:0!important}.portlet.box>.portlet-title{border-bottom:0;padding:0 10px;margin-bottom:0;color:#fff}.portlet.box>.portlet-title>.caption{padding:11px 0 9px}.portlet.box>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.box>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.box>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.box>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.box>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.box>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box>.portlet-title>.actions{padding:7px 0 5px}.portlet.box>.portlet-body{background-color:#fff;padding:10px}.portlet.box.portlet-fullscreen>.portlet-body{padding:10px}.portlet.light{padding:12px 20px 15px;background-color:#fff}.portlet.light.bordered{border:1px solid #e1e1e1!important}.portlet.light.bordered>.portlet-title{border-bottom:1px solid #eee}.portlet.light.bg-inverse{background:#F7F7F7}.portlet.light>.portlet-title{padding:0;min-height:48px}.portlet.light>.portlet-title>.caption{color:#666;padding:10px 0}.portlet.light>.portlet-title>.caption>.caption-subject{font-size:16px}.portlet.light>.portlet-title>.caption>i{color:#777;font-size:15px;font-weight:300;margin-top:3px}.portlet.light>.portlet-title>.caption.caption-md>.caption-subject{font-size:15px}.portlet.light>.portlet-title>.caption.caption-md>i{font-size:14px}.portlet.light>.portlet-title>.actions{padding:6px 0 14px}.portlet.light>.portlet-title>.actions .btn-default{color:#666}.portlet.light>.portlet-title>.actions .btn-icon-only{height:27px;width:27px}.portlet.light>.portlet-title>.actions .dropdown-menu li>a{color:#555}.portlet.light>.portlet-title>.inputs{float:right;display:inline-block;padding:4px 0}.portlet.light>.portlet-title>.inputs>.portlet-input .input-icon>i{font-size:14px;margin-top:9px}.portlet.light>.portlet-title>.inputs>.portlet-input .input-icon>.form-control{height:30px;padding:2px 26px 3px 10px;font-size:13px}.portlet.light>.portlet-title>.inputs>.portlet-input>.form-control{height:30px;padding:3px 10px;font-size:13px}.portlet.light>.portlet-title>.pagination{padding:2px 0 13px}.portlet.light>.portlet-title>.tools{padding:10px 0 13px;margin-top:2px}.portlet.light>.portlet-title>.nav-tabs>li{margin:0;padding:0}.portlet.light>.portlet-title>.nav-tabs>li>a{margin:0;padding:12px 13px 13px;font-size:13px;color:#666}.portlet.light>.portlet-title>.nav-tabs>li.active>a,.portlet.light>.portlet-title>.nav-tabs>li:hover>a{margin:0;background:0 0;color:#333}.blue.btn.active,.blue.btn:active,.btn.default.active,.btn.default:active,.open .blue.btn.dropdown-toggle,.open .btn.default.dropdown-toggle,.progress,.progress-striped .progress>.progress-bar-default,.progress-striped .progress>.progress-bar-info,.progress-striped .progress>.progress-bar-success,.progress-striped .progress>.progress-bar-warning{background-image:none}.portlet.light.form-fit{padding:0}.portlet.light.form-fit>.portlet-title{padding:17px 20px 10px;margin-bottom:0}.portlet.light .portlet-body{padding-top:8px}.portlet.light.portlet-fullscreen>.portlet-body{padding:8px 0}.tab-pane>p:last-child{margin-bottom:0}.tabs-reversed>li{float:right;margin-right:0}.tabs-reversed>li>a{margin-right:0}.portlet-sortable:not(.portlet-fullscreen)>.portlet-title{cursor:move}.portlet-sortable-placeholder{border:2px dashed #eee;margin-bottom:25px}.portlet-sortable-empty{height:45px}.progress{border:0;filter:none;box-shadow:none}.progress.progress-sm{height:12px}.progress>.progress-bar-default{background-color:#c6c6c6}.progress>.progress-bar-success{background-color:#45B6AF}.progress>.progress-bar-info{background-color:#89C4F4}.progress>.progress-bar-danger{background-color:#F3565D}.progress-striped .progress>.progress-bar-danger{background-image:none}.progress>.progress-bar-warning{background-color:#dfba49}.dashboard-stat{display:block;margin-bottom:25px;overflow:hidden;border-radius:4px}.dashboard-stat:after,.dashboard-stat:before{content:" ";display:table}.portlet .dashboard-stat:last-child{margin-bottom:0}.dashboard-stat .visual{width:80px;height:80px;display:block;float:left;padding-top:10px;padding-left:15px;margin-bottom:15px;font-size:35px;line-height:35px}.dashboard-stat .visual>i{margin-left:-35px;font-size:110px;line-height:110px}.dashboard-stat .details{position:absolute;right:15px;padding-right:15px}.dashboard-stat .details .number{padding-top:25px;text-align:right;font-size:34px;line-height:36px;letter-spacing:-1px;margin-bottom:0;font-weight:300}.dashboard-stat .details .desc{text-align:right;font-size:16px;letter-spacing:0;font-weight:300}.dashboard-stat .more{display:block;padding:6px 10px;position:relative;text-transform:uppercase;font-weight:300;font-size:11px;opacity:.7;filter:alpha(opacity=70)}.dashboard-stat .more:hover{text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.dashboard-stat .more>i{display:inline-block;margin-top:1px;float:right}.dashboard-stat-light{padding-bottom:20px;margin-bottom:20px}.dashboard-stat-light .details{margin-bottom:5px}.dashboard-stat-light .details .number{font-weight:300;margin-bottom:0}.dashboard-stat2,.dashboard-stat2 .display{margin-bottom:20px}.dashboard-stat2{-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px;background:#fff;padding:15px 15px 30px}.dashboard-stat2 .display:after,.dashboard-stat2 .display:before{content:" ";display:table}.dashboard-stat2 .display .number{float:left;display:inline-block}.dashboard-stat2 .display .number h3{margin:0 0 2px;padding:0;font-size:30px;font-weight:400}.dashboard-stat2 .display .number h3>small{font-size:23px}.dashboard-stat2 .display .number small{font-size:14px;color:#AAB5BC;font-weight:600;text-transform:uppercase}.dashboard-stat2 .display .icon{display:inline-block;float:right;padding:7px 0 0}.dashboard-stat2 .display .icon>i{color:#cbd4e0;font-size:26px}.dashboard-stat2 .progress-info .progress{margin:0;height:4px;display:block}.dashboard-stat2 .progress-info .status{margin-top:5px;font-size:11px;color:#AAB5BC;font-weight:600;text-transform:uppercase}.dashboard-stat2 .progress-info .status .status-title{float:left;display:inline-block}.dashboard-stat2 .progress-info .status .status-number{float:right;display:inline-block}.text-stat h3{margin-top:5px;margin-bottom:0;font-size:18px}.text-stat span{font-size:13px!important}@media (max-width:767px){.text-stat{margin-top:20px}}.social-icons{padding:0;margin:0}.social-icons:after,.social-icons:before{content:" ";display:table}.social-icons li{float:left;display:inline;list-style:none;margin-right:5px;margin-bottom:5px;text-indent:-9999px}.social-icons li>a{-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;width:28px;height:28px;display:block;background-position:0 0;background-repeat:no-repeat;transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-webkit-transition:all .3s ease-in-out}.social-icons li:hover>a{background-position:0 -38px}.social-icons li .amazon{background:url(../../assets/images/social/amazon.png) no-repeat}.social-icons li .behance{background:url(../../assets/images/social/behance.png) no-repeat}.social-icons li .blogger{background:url(../../assets/images/social/blogger.png) no-repeat}.social-icons li .deviantart{background:url(../../assets/images/social/deviantart.png) no-repeat}.social-icons li .dribbble{background:url(../../assets/images/social/dribbble.png) no-repeat}.social-icons li .dropbox{background:url(../../assets/images/social/dropbox.png) no-repeat}.social-icons li .evernote{background:url(../../assets/images/social/evernote.png) no-repeat}.social-icons li .facebook{background:url(../../assets/images/social/facebook.png) no-repeat}.social-icons li .forrst{background:url(../../assets/images/social/forrst.png) no-repeat}.social-icons li .github{background:url(../../assets/images/social/github.png) no-repeat}.social-icons li .googleplus{background:url(../../assets/images/social/googleplus.png) no-repeat}.social-icons li .jolicloud{background:url(../../assets/images/social/jolicloud.png) no-repeat}.social-icons li .last-fm{background:url(../../assets/images/social/last-fm.png) no-repeat}.social-icons li .linkedin{background:url(../../assets/images/social/linkedin.png) no-repeat}.social-icons li .picasa{background:url(../../assets/images/social/picasa.png) no-repeat}.social-icons li .pintrest{background:url(../../assets/images/social/pintrest.png) no-repeat}.social-icons li .rss{background:url(../../assets/images/social/rss.png) no-repeat}.social-icons li .skype{background:url(../../assets/images/social/skype.png) no-repeat}.social-icons li .spotify{background:url(../../assets/images/social/spotify.png) no-repeat}.social-icons li .stumbleupon{background:url(../../assets/images/social/stumbleupon.png) no-repeat}.social-icons li .tumblr{background:url(../../assets/images/social/tumblr.png) no-repeat}.social-icons li .twitter{background:url(../../assets/images/social/twitter.png) no-repeat}.social-icons li .vimeo{background:url(../../assets/images/social/vimeo.png) no-repeat}.social-icons li .wordpress{background:url(../../assets/images/social/wordpress.png) no-repeat}.social-icons li .xing{background:url(../../assets/images/social/xing.png) no-repeat}.social-icons li .yahoo{background:url(../../assets/images/social/yahoo.png) no-repeat}.social-icons li .youtube{background:url(../../assets/images/social/youtube.png) no-repeat}.social-icons li .vk{background:url(../../assets/images/social/vk.png) no-repeat}.social-icons li .instagram{background:url(../../assets/images/social/instagram.png) no-repeat}.social-icons li .reddit{background:url(../../assets/images/social/reddit.png) no-repeat}.social-icons li .aboutme{background:url(../../assets/images/social/aboutme.png) no-repeat}.social-icons li .flickr{background:url(../../assets/images/social/flickr.png) no-repeat}.social-icons li .foursquare{background:url(../../assets/images/social/foursquare.png) no-repeat}.social-icons li .gravatar{background:url(../../assets/images/social/gravatar.png) no-repeat}.social-icons li .klout{background:url(../../assets/images/social/klout.png) no-repeat}.social-icons li .myspace{background:url(../../assets/images/social/myspace.png) no-repeat}.social-icons li .quora{background:url(../../assets/images/social/quora.png) no-repeat}.social-icons.social-icons-color>li>a{opacity:.7;background-position:0 -38px!important}.social-icons.social-icons-color>li>a:hover{opacity:1}.social-icons.social-icons-circle>li>a{border-radius:25px!important}.social-icon{display:inline-block!important;width:28px;height:28px;background-position:0 0;background-repeat:no-repeat;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-webkit-transition:all .3s ease-in-out}.social-icon.social-icon-circle{border-radius:25px!important}.social-icon.amazon{background:url(../../assets/images/social/amazon.png) no-repeat}.social-icon.behance{background:url(../../assets/images/social/behance.png) no-repeat}.social-icon.blogger{background:url(../../assets/images/social/blogger.png) no-repeat}.social-icon.deviantart{background:url(../../assets/images/social/deviantart.png) no-repeat}.social-icon.dribbble{background:url(../../assets/images/social/dribbble.png) no-repeat}.social-icon.dropbox{background:url(../../assets/images/social/dropbox.png) no-repeat}.social-icon.evernote{background:url(../../assets/images/social/evernote.png) no-repeat}.social-icon.facebook{background:url(../../assets/images/social/facebook.png) no-repeat}.social-icon.forrst{background:url(../../assets/images/social/forrst.png) no-repeat}.social-icon.github{background:url(../../assets/images/social/github.png) no-repeat}.social-icon.googleplus{background:url(../../assets/images/social/googleplus.png) no-repeat}.social-icon.jolicloud{background:url(../../assets/images/social/jolicloud.png) no-repeat}.social-icon.last-fm{background:url(../../assets/images/social/last-fm.png) no-repeat}.social-icon.linkedin{background:url(../../assets/images/social/linkedin.png) no-repeat}.social-icon.picasa{background:url(../../assets/images/social/picasa.png) no-repeat}.social-icon.pintrest{background:url(../../assets/images/social/pintrest.png) no-repeat}.social-icon.rss{background:url(../../assets/images/social/rss.png) no-repeat}.social-icon.skype{background:url(../../assets/images/social/skype.png) no-repeat}.social-icon.spotify{background:url(../../assets/images/social/spotify.png) no-repeat}.social-icon.stumbleupon{background:url(../../assets/images/social/stumbleupon.png) no-repeat}.social-icon.tumblr{background:url(../../assets/images/social/tumblr.png) no-repeat}.social-icon.twitter{background:url(../../assets/images/social/twitter.png) no-repeat}.social-icon.vimeo{background:url(../../assets/images/social/vimeo.png) no-repeat}.social-icon.wordpress{background:url(../../assets/images/social/wordpress.png) no-repeat}.social-icon.xing{background:url(../../assets/images/social/xing.png) no-repeat}.social-icon.yahoo{background:url(../../assets/images/social/yahoo.png) no-repeat}.social-icon.youtube{background:url(../../assets/images/social/youtube.png) no-repeat}.social-icon.vk{background:url(../../assets/images/social/vk.png) no-repeat}.social-icon.instagram{background:url(../../assets/images/social/instagram.png) no-repeat}.social-icon.reddit{background:url(../../assets/images/social/reddit.png) no-repeat}.social-icon.aboutme{background:url(../../assets/images/social/aboutme.png) no-repeat}.social-icon.flickr{background:url(../../assets/images/social/flickr.png) no-repeat}.social-icon.foursquare{background:url(../../assets/images/social/foursquare.png) no-repeat}.social-icon.gravatar{background:url(../../assets/images/social/gravatar.png) no-repeat}.social-icon.klout{background:url(../../assets/images/social/klout.png) no-repeat}.social-icon.myspace{background:url(../../assets/images/social/myspace.png) no-repeat}.social-icon.quora{background:url(../../assets/images/social/quora.png) no-repeat}.social-icon:hover{background-position:0 -38px}.social-icon-color{opacity:.7;background-position:0 -38px!important}.social-icon-color:hover{opacity:1}.table.table-bordered thead>tr>th{border-bottom:0}.table tr.heading>th{background-color:#eee!important}.table td .img-responsive{width:100%}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background:#a6c8e6;color:#132339}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background:#92bce0}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background:#dff0d8;color:#3c763d}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background:#d9edf7;color:#31708f}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background:#fcf8e3;color:#8a6d3b}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background:#f2dede;color:#a94442}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background:#ebcccc}.table-scrollable{width:100%;overflow-x:auto;overflow-y:hidden;border:1px solid #ddd;margin:10px 0!important}.table-scrollable.table-scrollable-borderless,.table-scrollable>.table-bordered{border:0}.table-scrollable>.table{width:100%!important;margin:0!important;background-color:#fff}.table-scrollable>.table-bordered>tbody>tr>td:first-child,.table-scrollable>.table-bordered>tbody>tr>th:first-child,.table-scrollable>.table-bordered>tfoot>tr>td:first-child,.table-scrollable>.table-bordered>tfoot>tr>th:first-child,.table-scrollable>.table-bordered>thead>tr>td:first-child,.table-scrollable>.table-bordered>thead>tr>th:first-child{border-left:0}.table-scrollable>.table-bordered>tbody>tr>td:last-child,.table-scrollable>.table-bordered>tbody>tr>th:last-child,.table-scrollable>.table-bordered>tfoot>tr>td:last-child,.table-scrollable>.table-bordered>tfoot>tr>th:last-child,.table-scrollable>.table-bordered>thead>tr>td:last-child,.table-scrollable>.table-bordered>thead>tr>th:last-child{border-right:0}.table-scrollable>.table-bordered>tbody>tr:last-child>td,.table-scrollable>.table-bordered>tbody>tr:last-child>th,.table-scrollable>.table-bordered>tfoot>tr:last-child>td,.table-scrollable>.table-bordered>tfoot>tr:last-child>th,.table-scrollable>.table-bordered>thead>tr:last-child>td,.table-scrollable>.table-bordered>thead>tr:last-child>th{border-bottom:0}.flip-scroll table{width:100%}@media only screen and (max-width:768px){.flip-scroll .flip-content:after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0}.flip-scroll * html .flip-content{zoom:1}.flip-scroll td,.flip-scroll th{margin:0;vertical-align:top}.flip-scroll th{border:0!important;border-bottom:1px solid #ddd!important;border-right:1px solid #ddd!important;font-size:13px!important;padding:5px;width:auto!important;display:block;text-align:right}.flip-scroll table{border-collapse:collapse;border-spacing:0;display:block;position:relative;width:100%}.flip-scroll thead{display:block;float:left}.flip-scroll tbody{display:block;width:auto;position:relative;overflow-x:auto;white-space:nowrap}.flip-scroll thead tr{display:block}.flip-scroll tbody tr{display:inline-block;vertical-align:top;margin-left:-5px}.flip-scroll td{display:block;min-height:1.25em;text-align:left;border-top:0!important;border-left:0!important;border-right:0!important;border-bottom:0}.flip-scroll th{border-left:0}.flip-scroll tbody tr{border-left:1px solid #ddd}.flip-scroll td:last-child,.flip-scroll th:last-child{border-bottom:1px solid #ddd}}.centered-td,.page-404,.tiles .tile .tile-body>i{text-align:center}.table-toolbar{margin-bottom:15px}.table-toolbar:after,.table-toolbar:before{content:" ";display:table}.table.table-full-width{width:100%!important}.table .btn{margin-top:0;margin-left:0;margin-right:5px}.table thead tr th{font-size:14px;font-weight:600}.table-advance{margin-bottom:10px!important}.table-advance thead{color:#999}.table-advance thead tr th{background-color:#DDD;font-size:14px;font-weight:400;color:#666}.table-advance div.danger,.table-advance div.important,.table-advance div.info,.table-advance div.success,.table-advance div.warning{position:absolute;margin-top:-5px;float:left;width:2px;height:30px;margin-right:20px!important}.table-advance tr td{border-left-width:0}.table-advance tr td:first-child{border-left-width:1px!important}.table-advance tr td.highlight:first-child a{margin-left:15px}.table-advance td.highlight div.primary{border-left:2px solid #428bca}.table-advance td.highlight div.success{border-left:2px solid #45B6AF}.table-advance td.highlight div.info{border-left:2px solid #89C4F4}.table-advance td.highlight div.warning{border-left:2px solid #dfba49}.table-advance td.highlight div.danger{border-left:2px solid #F3565D}@media (max-width:767px){.table-advance tr>td.highlight:first-child a{margin-left:8px}}.table.table-light{border:0!important}.table.table-light>thead>tr:hover>th{background:0 0}.table.table-light>thead>tr.uppercase{text-transform:uppercase}.table.table-light>thead>tr>th{font-weight:600;font-size:13px;color:#a7b3b9;font-family:"Open Sans",sans-serif;border:0;border-bottom:1px solid #F2F5F8}.table.table-light>tbody>tr:last-child>td{border:0}.table.table-light>tbody>tr>td{border:0;border-bottom:1px solid #F2F5F8;color:#9ca8b0;vertical-align:middle}.table.table-light>tbody>tr>td.fit{width:1px;padding-right:3px}.table.table-light>tbody>tr>td .user-pic{display:inline-block;vertical-align:middle;height:30px;-webkit-border-radius:100%;-moz-border-radius:100%;-ms-border-radius:100%;-o-border-radius:100%;border-radius:100%}.table.table-light.table-hover>tbody>tr:hover>td,.table.table-light.table-hover>tbody>tr:hover>th,.table.table-light.table-hover>tbody>tr>td:hover,.table.table-light.table-hover>tbody>tr>th:hover{background:#f9fafb}.nav-pills,.nav-tabs{margin-bottom:10px}.nav-pills>li>a,.nav-tabs>li>a{font-size:14px}.nav-pills>li>a>.badge,.nav-tabs>li>a>.badge{margin-top:-3px}.nav-pills>li .dropdown-menu:after,.nav-pills>li .dropdown-menu:before,.nav-tabs>li .dropdown-menu:after,.nav-tabs>li .dropdown-menu:before{display:none}.nav-pills.nav-pills-sm>li>a,.nav-pills.nav-tabs-sm>li>a,.nav-tabs.nav-pills-sm>li>a,.nav-tabs.nav-tabs-sm>li>a{font-size:13px}.nav-pills .dropdown.open>.dropdown-toggle,.nav-tabs .dropdown.open>.dropdown-toggle{background:#eee;color:#0d638f;border-color:transparent}.tabs-left.nav-tabs,.tabs-right.nav-tabs{border-bottom:0}.tabs-left.nav-tabs>li,.tabs-right.nav-tabs>li{float:none}.tabs-left.nav-tabs>li>a,.tabs-right.nav-tabs>li>a{margin-right:0;margin-bottom:3px}.tabs-left.nav-tabs{border-right:1px solid #ddd}.tabs-left.nav-tabs>li>a{display:block;margin-right:-1px}.tabs-left.nav-tabs>li>a:focus,.tabs-left.nav-tabs>li>a:hover{border-radius:4px 0 0 4px;border-color:#eee #ddd #eee #eee}.tabs-left.nav-tabs>li.active>a,.tabs-left.nav-tabs>li.active>a:hover>li.active>a:focus{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;-ms-border-radius:4px 0 0 4px;-o-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;border-color:#ddd transparent #ddd #ddd}.tabs-right.nav-tabs{border-left:1px solid #ddd}.tabs-right.nav-tabs>li>a{display:block;margin-left:-1px}.tabbable:after,.tabbable:before,.tiles:after,.tiles:before{display:table;content:" "}.tabs-right.nav-tabs>li>a:focus,.tabs-right.nav-tabs>li>a:hover{border-radius:0 4px 4px 0;border-color:#eee #eee #eee #ddd}.tabs-right.nav-tabs>li.active>a,.tabs-right.nav-tabs>li.active>a:hover>li.active>a:focus{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;-ms-border-radius:0 4px 4px 0;-o-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;border-color:#ddd #ddd #ddd transparent}.tabs-below>.nav-pills,.tabs-below>.nav-tabs{border-bottom:0;margin-bottom:0;margin-top:10px}.tabs-below>.nav-tabs{border-top:1px solid #ddd;margin-bottom:0;margin-top:10px}.tabs-below>.nav-tabs>li>a{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a:focus,.tabs-below>.nav-tabs>li>a:hover{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>li>a .dropdown-menu{-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.tabs-below>.nav-tabs .active a,.tabs-below>.nav-tabs .active a:hover .active a:focus{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;-ms-border-radius:0 0 4px 4px;-o-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;border-color:transparent #ddd #ddd}.tabbable-custom{margin-bottom:15px;padding:0;overflow:hidden}.tabbable-custom>.nav-tabs{border:none;margin:0}.tabbable-custom>.nav-tabs>li.active>a,.tabbable-custom>.nav-tabs>li>a{-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0}.tabbable-custom>.nav-tabs>li{margin-right:2px;border-top:2px solid transparent}.tabbable-custom>.nav-tabs>li>a{margin-right:0;border-radius:0}.tabbable-custom>.nav-tabs>li>a:hover{background:0 0;border-color:transparent}.tabbable-custom>.nav-tabs>li.active{border-top:3px solid #F3565D;margin-top:0;position:relative}.tabbable-custom>.nav-tabs>li.active>a{border-top:none;font-weight:400;border-radius:0}.tabbable-custom>.nav-tabs>li.active>a:hover{-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;border-top:none;background:#fff;border-color:#d4d4d4 #d4d4d4 transparent}.tabbable-custom>.tab-content{background-color:#fff;border:1px solid #ddd;padding:10px;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;-ms-border-radius:0 0 4px 4px;-o-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabbable-custom.nav-justified>.tab-content{margin-top:-1px}.tabbable-custom.boxless>.tab-content{padding:15px 0;border-left:none;border-right:none;border-bottom:none}.tabbable-custom.tabs-below.nav-justified .tab-content{margin-top:0;margin-bottom:-2px;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;-ms-border-radius:4px 4px 0 0;-o-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.tabbable-custom.tabbable-full-width>.nav-tabs>li>a{color:#424242;font-size:15px;padding:9px 15px}.tabbable-custom.tabbable-full-width>.tab-content{padding:15px 0;border-left:none;border-right:none;border-bottom:none}.tabbable-custom.tabs-below .nav-tabs>li>a{border-top:none;border-bottom:2px solid transparent;margin-top:-1px}.tabbable-custom.tabs-below .nav-tabs>li.active{border-top:none;border-bottom:3px solid #d12610;margin-bottom:0;position:relative}.tabbable-custom.tabs-below .nav-tabs>li.active>a{border-bottom:none}.tabbable-custom.tabs-below .nav-tabs>li.active>a:hover{background:#fff;border-color:#d4d4d4 #d4d4d4 transparent}.tabbable-custom.tabbable-noborder .tab-content,.tabbable-custom.tabbable-noborder>.nav-tabs>li>a{border:0}.tabbable-line>.nav-tabs{border:none;margin:0}.tabbable-line>.nav-tabs>li{margin-right:2px}.tabbable-line>.nav-tabs>li>a{border:0;margin-right:0;color:#737373}.tabbable-line>.nav-tabs>li>a>i{color:#a6a6a6}.tabbable-line>.nav-tabs>li.open,.tabbable-line>.nav-tabs>li:hover{border-bottom:4px solid #fbcdcf}.tabbable-line>.nav-tabs>li.open>a,.tabbable-line>.nav-tabs>li:hover>a{border:0;background:0 0!important;color:#333}.tabbable-line>.nav-tabs>li.open>a>i,.tabbable-line>.nav-tabs>li:hover>a>i{color:#a6a6a6}.tabbable-line>.nav-tabs>li.open .dropdown-menu,.tabbable-line>.nav-tabs>li:hover .dropdown-menu{margin-top:0}.tabbable-line>.nav-tabs>li.active{border-bottom:4px solid #F3565D;position:relative}.tabbable-line>.nav-tabs>li.active>a{border:0;color:#333}.tabbable-line>.nav-tabs>li.active>a>i{color:#404040}.tabbable-line>.tab-content{margin-top:-3px;background-color:#fff;border:0;border-top:1px solid #eee;padding:15px 0}.portlet .tabbable-line>.tab-content{padding-bottom:0}.tabbable-line.tabs-below>.nav-tabs>li{border-top:4px solid transparent}.tabbable-line.tabs-below>.nav-tabs>li>a{margin-top:0}.tabbable-line.tabs-below>.nav-tabs>li:hover{border-bottom:0;border-top:4px solid #fbcdcf}.tabbable-line.tabs-below>.nav-tabs>li.active{margin-bottom:-2px;border-bottom:0;border-top:4px solid #F3565D}.tabbable-line.tabs-below>.tab-content{margin-top:-10px;border-top:0;border-bottom:1px solid #eee;padding-bottom:15px}.tiles{margin-right:-10px}.tiles .tile{display:block;float:left;height:135px;width:135px!important;cursor:pointer;text-decoration:none;color:#fff;position:relative;font-weight:300;font-size:12px;letter-spacing:.02em;line-height:20px;overflow:hidden;border:4px solid transparent;margin:0 10px 10px 0}.tiles .tile .tile-body>.content,.tiles .tile.image .tile-body h3,.tiles .tile.selected .check:after{display:inline-block}.tiles .tile:after,.tiles .tile:before{content:"";float:left}.tiles .tile.double{width:280px!important}.tiles .tile.double-down{height:280px!important}.tiles .tile.double-down i{margin-top:95px}.tiles .tile:hover{border-color:#aaa!important}.tiles .tile.selected,.tiles .tile:active{border-color:#ccc!important}.tiles .tile.selected .corner:after{content:"";display:inline-block;border-left:40px solid transparent;border-bottom:40px solid transparent;border-right:40px solid #ccc;position:absolute;top:-3px;right:-3px}.tiles .tile.selected .check:after{font-family:FontAwesome;font-size:13px;content:"\f00c";position:absolute;top:2px;right:2px}.tiles .tile.icon{padding:0}.tiles .tile.image .tile-body{padding:0!important}.tiles .tile.image .tile-body>img{width:100%;height:auto;min-height:100%;max-width:100%}.tiles .tile .tile-body{height:100%;vertical-align:top;padding:10px;overflow:hidden;position:relative;font-weight:400;font-size:12px;color:#fff;margin-bottom:10px}.tiles .tile .tile-body p{font-weight:400;font-size:13px;color:#fff;overflow:hidden}.tiles .tile .tile-body p:active{color:rgba(0,0,0,.4)}.tiles .tile .tile-body p:hover{color:#fff}.tiles .tile .tile-body img{float:left;margin-right:10px}.tiles .tile .tile-body img.pull-right{float:right!important;margin-left:10px;margin-right:0}.tiles .tile .tile-body>i{margin-top:17px;display:block;font-size:56px;line-height:56px}.tiles .tile .tile-body h1,.tiles .tile .tile-body h2,.tiles .tile .tile-body h3,.tiles .tile .tile-body h4,.tiles .tile .tile-body h5,.tiles .tile .tile-body h6,.tiles .tile .tile-body p{padding:0;margin:0;line-height:14px}.tiles .tile .tile-body h1:hover,.tiles .tile .tile-body h2:hover,.tiles .tile .tile-body h3:hover,.tiles .tile .tile-body h4:hover,.tiles .tile .tile-body h5:hover,.tiles .tile .tile-body h6:hover,.tiles .tile .tile-body p:hover{color:#fff}.tiles .tile .tile-body h3,.tiles .tile .tile-body h4{margin-bottom:5px}.tiles .tile .tile-object{position:absolute;bottom:0;left:0;right:0;min-height:30px;background-color:transparent}.tiles .tile .tile-object:after,.tiles .tile .tile-object:before{display:table;content:""}.tiles .tile .tile-object>.name{position:absolute;bottom:0;left:0;margin-bottom:5px;margin-left:10px;margin-right:15px;font-weight:400;font-size:13px;color:#fff}.tiles .tile .tile-object>.name>i{vertical-align:middle;display:block;font-size:24px;height:18px;width:24px}.tiles .tile .tile-object>.number{position:absolute;bottom:0;right:0;color:#fff;text-align:center;font-weight:600;font-size:14px;letter-spacing:.01em;line-height:14px;margin-bottom:8px;margin-right:10px}.well{background-color:#eee;border:0;-moz-box-shadow:none!important;box-shadow:none!important}.blue.btn,.btn.default{border-color:""}@-webkit-keyframes fadeInUpm{0%{opacity:0;-webkit-transform:translateY(15px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInUpm{0%{opacity:0;-moz-transform:translateY(15px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInUpm{0%{opacity:0;-o-transform:translateY(15px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInUpm{0%{opacity:0;transform:translateY(15px)}100%{opacity:1;transform:translateY(0)}}.fade-in-up{-webkit-animation:fadeInUpm .5s;animation:fadeInUpm .5s}@-webkit-keyframes bounceDelay{0%,100%,80%{-webkit-transform:scale(0)}40%{-webkit-transform:scale(1)}}@keyframes bounceDelay{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}.btn.default{color:#333;background-color:#E5E5E5}.btn.default.active,.btn.default:active,.btn.default:focus,.btn.default:hover,.open .btn.default.dropdown-toggle{color:#333;background-color:#d3d3d3}.btn.default.active,.btn.default:active{background-color:#c6c6c6}.btn.default.active:hover,.btn.default:active:hover{background-color:#ccc}.btn.default.disabled,.btn.default.disabled.active,.btn.default.disabled:active,.btn.default.disabled:focus,.btn.default.disabled:hover,.btn.default[disabled],.btn.default[disabled].active,.btn.default[disabled]:active,.btn.default[disabled]:focus,.btn.default[disabled]:hover,fieldset[disabled] .btn.default,fieldset[disabled] .btn.default.active,fieldset[disabled] .btn.default:active,fieldset[disabled] .btn.default:focus,fieldset[disabled] .btn.default:hover{background-color:#E5E5E5}.btn.default .badge{color:#E5E5E5;background-color:#333}.blue.btn{color:#FFF;background-color:#4B8DF8}.blue.btn.active,.blue.btn:active,.blue.btn:focus,.blue.btn:hover,.open .blue.btn.dropdown-toggle{color:#FFF;background-color:#2977f7}.blue.btn.active,.blue.btn:active{background-color:#1068f6}.blue.btn.active:hover,.blue.btn:active:hover{background-color:#1a6ef6}.blue.btn.disabled,.blue.btn.disabled.active,.blue.btn.disabled:active,.blue.btn.disabled:focus,.blue.btn.disabled:hover,.blue.btn[disabled],.blue.btn[disabled].active,.blue.btn[disabled]:active,.blue.btn[disabled]:focus,.blue.btn[disabled]:hover,fieldset[disabled] .blue.btn,fieldset[disabled] .blue.btn.active,fieldset[disabled] .blue.btn:active,fieldset[disabled] .blue.btn:focus,fieldset[disabled] .blue.btn:hover{background-color:#4B8DF8}.blue.btn .badge{color:#4B8DF8;background-color:#FFF}.portlet.blue,.portlet.box.blue>.portlet-title,.portlet>.portlet-body.blue{background-color:#4B8DF8}.btn.blue-stripe{border-left:3px solid #4B8DF8}.portlet.solid.blue>.portlet-body,.portlet.solid.blue>.portlet-title{border:0;color:#FFF}.portlet.solid.blue>.portlet-title>.caption>i{color:#FFF}.portlet.solid.blue>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.blue>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.blue>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.blue>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.blue>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.blue>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.blue{border:1px solid #7cacfa;border-top:0}.portlet.box.blue>.portlet-title>.caption,.portlet.box.blue>.portlet-title>.caption>i{color:#FFF}.portlet.box.blue>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #b7d1fc;color:#d0e1fd}.portlet.box.blue>.portlet-title>.actions .btn-default>i{color:#deeafe}.portlet.box.blue>.portlet-title>.actions .btn-default.active,.portlet.box.blue>.portlet-title>.actions .btn-default:active,.portlet.box.blue>.portlet-title>.actions .btn-default:focus,.portlet.box.blue>.portlet-title>.actions .btn-default:hover{border:1px solid #e8f0fe;color:#fff}.dashboard-stat.blue{background-color:#4B8DF8}.dashboard-stat.blue.dashboard-stat-light:hover{background-color:#3781f7}.dashboard-stat.blue .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.blue .details .number{color:#FFF}.dashboard-stat.blue .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.blue .more{color:#FFF;background-color:#3781f7}.bg-blue{border-color:#4B8DF8!important;background-image:none!important;background-color:#4B8DF8!important;color:#FFF!important}.font-blue{color:#4B8DF8!important}.progress-bar.blue{background:#4B8DF8!important;color:#FFF!important}.blue-madison.btn{color:#FFF;background-color:#578ebe;border-color:""}.blue-madison.btn.active,.blue-madison.btn:active,.blue-madison.btn:focus,.blue-madison.btn:hover,.open .blue-madison.btn.dropdown-toggle{color:#FFF;background-color:#437cae}.blue-madison.btn.active,.blue-madison.btn:active{background-image:none;background-color:#3c6f9c}.blue-madison.btn.active:hover,.blue-madison.btn:active:hover{background-color:#3f74a3}.open .blue-madison.btn.dropdown-toggle{background-image:none}.blue-madison.btn.disabled,.blue-madison.btn.disabled.active,.blue-madison.btn.disabled:active,.blue-madison.btn.disabled:focus,.blue-madison.btn.disabled:hover,.blue-madison.btn[disabled],.blue-madison.btn[disabled].active,.blue-madison.btn[disabled]:active,.blue-madison.btn[disabled]:focus,.blue-madison.btn[disabled]:hover,fieldset[disabled] .blue-madison.btn,fieldset[disabled] .blue-madison.btn.active,fieldset[disabled] .blue-madison.btn:active,fieldset[disabled] .blue-madison.btn:focus,fieldset[disabled] .blue-madison.btn:hover{background-color:#578ebe}.blue-madison.btn .badge{color:#578ebe;background-color:#FFF}.portlet.blue-madison,.portlet.box.blue-madison>.portlet-title,.portlet>.portlet-body.blue-madison{background-color:#578ebe}.btn.blue-madison-stripe{border-left:3px solid #578ebe}.portlet.solid.blue-madison>.portlet-body,.portlet.solid.blue-madison>.portlet-title{border:0;color:#FFF}.portlet.solid.blue-madison>.portlet-title>.caption>i{color:#FFF}.portlet.solid.blue-madison>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.blue-madison>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.blue-madison>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.blue-madison>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.blue-madison>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.blue-madison>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.blue-madison{border:1px solid #7ca7cc;border-top:0}.portlet.box.blue-madison>.portlet-title>.caption,.portlet.box.blue-madison>.portlet-title>.caption>i{color:#FFF}.portlet.box.blue-madison>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #a8c4dd;color:#bad1e4}.portlet.box.blue-madison>.portlet-title>.actions .btn-default>i{color:#c5d8e9}.portlet.box.blue-madison>.portlet-title>.actions .btn-default.active,.portlet.box.blue-madison>.portlet-title>.actions .btn-default:active,.portlet.box.blue-madison>.portlet-title>.actions .btn-default:focus,.portlet.box.blue-madison>.portlet-title>.actions .btn-default:hover{border:1px solid #cdddec;color:#dfeaf3}.dashboard-stat.blue-madison{background-color:#578ebe}.dashboard-stat.blue-madison.dashboard-stat-light:hover{background-color:#4884b8}.dashboard-stat.blue-madison .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.blue-madison .details .number{color:#FFF}.dashboard-stat.blue-madison .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.blue-madison .more{color:#FFF;background-color:#4884b8}.bg-blue-madison{border-color:#578ebe!important;background-image:none!important;background-color:#578ebe!important;color:#FFF!important}.font-blue-madison{color:#578ebe!important}.progress-bar.blue-madison{background:#578ebe!important;color:#FFF!important}.blue-chambray.btn{color:#FFF;background-color:#2C3E50;border-color:""}.blue-chambray.btn.active,.blue-chambray.btn:active,.blue-chambray.btn:focus,.blue-chambray.btn:hover,.open .blue-chambray.btn.dropdown-toggle{color:#FFF;background-color:#1f2c39}.blue-chambray.btn.active,.blue-chambray.btn:active{background-image:none;background-color:#161f29}.blue-chambray.btn.active:hover,.blue-chambray.btn:active:hover{background-color:#1a242f}.open .blue-chambray.btn.dropdown-toggle{background-image:none}.blue-chambray.btn.disabled,.blue-chambray.btn.disabled.active,.blue-chambray.btn.disabled:active,.blue-chambray.btn.disabled:focus,.blue-chambray.btn.disabled:hover,.blue-chambray.btn[disabled],.blue-chambray.btn[disabled].active,.blue-chambray.btn[disabled]:active,.blue-chambray.btn[disabled]:focus,.blue-chambray.btn[disabled]:hover,fieldset[disabled] .blue-chambray.btn,fieldset[disabled] .blue-chambray.btn.active,fieldset[disabled] .blue-chambray.btn:active,fieldset[disabled] .blue-chambray.btn:focus,fieldset[disabled] .blue-chambray.btn:hover{background-color:#2C3E50}.blue-chambray.btn .badge{color:#2C3E50;background-color:#FFF}.portlet.blue-chambray,.portlet.box.blue-chambray>.portlet-title,.portlet>.portlet-body.blue-chambray{background-color:#2C3E50}.btn.blue-chambray-stripe{border-left:3px solid #2C3E50}.portlet.solid.blue-chambray>.portlet-body,.portlet.solid.blue-chambray>.portlet-title{border:0;color:#FFF}.portlet.solid.blue-chambray>.portlet-title>.caption>i{color:#FFF}.portlet.solid.blue-chambray>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.blue-chambray>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.blue-chambray>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.blue-chambray>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.blue-chambray>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.blue-chambray>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.blue-chambray{border:1px solid #3e5771;border-top:0}.portlet.box.blue-chambray>.portlet-title>.caption,.portlet.box.blue-chambray>.portlet-title>.caption>i{color:#FFF}.portlet.box.blue-chambray>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #547698;color:#5f83a7}.portlet.box.blue-chambray>.portlet-title>.actions .btn-default>i{color:#698aac}.portlet.box.blue-chambray>.portlet-title>.actions .btn-default.active,.portlet.box.blue-chambray>.portlet-title>.actions .btn-default:active,.portlet.box.blue-chambray>.portlet-title>.actions .btn-default:focus,.portlet.box.blue-chambray>.portlet-title>.actions .btn-default:hover{border:1px solid #6f90b0;color:#809cb9}.dashboard-stat.blue-chambray{background-color:#2C3E50}.dashboard-stat.blue-chambray.dashboard-stat-light:hover{background-color:#253443}.dashboard-stat.blue-chambray .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.blue-chambray .details .number{color:#FFF}.dashboard-stat.blue-chambray .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.blue-chambray .more{color:#FFF;background-color:#253443}.bg-blue-chambray{border-color:#2C3E50!important;background-image:none!important;background-color:#2C3E50!important;color:#FFF!important}.font-blue-chambray{color:#2C3E50!important}.progress-bar.blue-chambray{background:#2C3E50!important;color:#FFF!important}.blue-ebonyclay.btn{color:#FFF;background-color:#22313F;border-color:""}.blue-ebonyclay.btn.active,.blue-ebonyclay.btn:active,.blue-ebonyclay.btn:focus,.blue-ebonyclay.btn:hover,.open .blue-ebonyclay.btn.dropdown-toggle{color:#FFF;background-color:#151f28}.blue-ebonyclay.btn.active,.blue-ebonyclay.btn:active{background-image:none;background-color:#0d1217}.blue-ebonyclay.btn.active:hover,.blue-ebonyclay.btn:active:hover{background-color:#10171e}.open .blue-ebonyclay.btn.dropdown-toggle{background-image:none}.blue-ebonyclay.btn.disabled,.blue-ebonyclay.btn.disabled.active,.blue-ebonyclay.btn.disabled:active,.blue-ebonyclay.btn.disabled:focus,.blue-ebonyclay.btn.disabled:hover,.blue-ebonyclay.btn[disabled],.blue-ebonyclay.btn[disabled].active,.blue-ebonyclay.btn[disabled]:active,.blue-ebonyclay.btn[disabled]:focus,.blue-ebonyclay.btn[disabled]:hover,fieldset[disabled] .blue-ebonyclay.btn,fieldset[disabled] .blue-ebonyclay.btn.active,fieldset[disabled] .blue-ebonyclay.btn:active,fieldset[disabled] .blue-ebonyclay.btn:focus,fieldset[disabled] .blue-ebonyclay.btn:hover{background-color:#22313F}.blue-ebonyclay.btn .badge{color:#22313F;background-color:#FFF}.portlet.blue-ebonyclay,.portlet.box.blue-ebonyclay>.portlet-title,.portlet>.portlet-body.blue-ebonyclay{background-color:#22313F}.btn.blue-ebonyclay-stripe{border-left:3px solid #22313F}.portlet.solid.blue-ebonyclay>.portlet-body,.portlet.solid.blue-ebonyclay>.portlet-title{border:0;color:#FFF}.portlet.solid.blue-ebonyclay>.portlet-title>.caption>i{color:#FFF}.portlet.solid.blue-ebonyclay>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.blue-ebonyclay>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.blue-ebonyclay>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.blue-ebonyclay>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.blue-ebonyclay>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.blue-ebonyclay>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.blue-ebonyclay{border:1px solid #344b60;border-top:0}.portlet.box.blue-ebonyclay>.portlet-title>.caption,.portlet.box.blue-ebonyclay>.portlet-title>.caption>i{color:#FFF}.portlet.box.blue-ebonyclay>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #496a88;color:#527798}.portlet.box.blue-ebonyclay>.portlet-title>.actions .btn-default>i{color:#587ea2}.portlet.box.blue-ebonyclay>.portlet-title>.actions .btn-default.active,.portlet.box.blue-ebonyclay>.portlet-title>.actions .btn-default:active,.portlet.box.blue-ebonyclay>.portlet-title>.actions .btn-default:focus,.portlet.box.blue-ebonyclay>.portlet-title>.actions .btn-default:hover{border:1px solid #5d83a7;color:#6d90b0}.dashboard-stat.blue-ebonyclay{background-color:#22313F}.dashboard-stat.blue-ebonyclay.dashboard-stat-light:hover{background-color:#1b2732}.dashboard-stat.blue-ebonyclay .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.blue-ebonyclay .details .number{color:#FFF}.dashboard-stat.blue-ebonyclay .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.blue-ebonyclay .more{color:#FFF;background-color:#1b2732}.bg-blue-ebonyclay{border-color:#22313F!important;background-image:none!important;background-color:#22313F!important;color:#FFF!important}.font-blue-ebonyclay{color:#22313F!important}.progress-bar.blue-ebonyclay{background:#22313F!important;color:#FFF!important}.blue-hoki.btn{color:#FFF;background-color:#67809F;border-color:""}.blue-hoki.btn.active,.blue-hoki.btn:active,.blue-hoki.btn:focus,.blue-hoki.btn:hover,.open .blue-hoki.btn.dropdown-toggle{color:#FFF;background-color:#586e8b}.blue-hoki.btn.active,.blue-hoki.btn:active{background-image:none;background-color:#4e627b}.blue-hoki.btn.active:hover,.blue-hoki.btn:active:hover{background-color:#526781}.open .blue-hoki.btn.dropdown-toggle{background-image:none}.blue-hoki.btn.disabled,.blue-hoki.btn.disabled.active,.blue-hoki.btn.disabled:active,.blue-hoki.btn.disabled:focus,.blue-hoki.btn.disabled:hover,.blue-hoki.btn[disabled],.blue-hoki.btn[disabled].active,.blue-hoki.btn[disabled]:active,.blue-hoki.btn[disabled]:focus,.blue-hoki.btn[disabled]:hover,fieldset[disabled] .blue-hoki.btn,fieldset[disabled] .blue-hoki.btn.active,fieldset[disabled] .blue-hoki.btn:active,fieldset[disabled] .blue-hoki.btn:focus,fieldset[disabled] .blue-hoki.btn:hover{background-color:#67809F}.blue-hoki.btn .badge{color:#67809F;background-color:#FFF}.portlet.blue-hoki,.portlet.box.blue-hoki>.portlet-title,.portlet>.portlet-body.blue-hoki{background-color:#67809F}.btn.blue-hoki-stripe{border-left:3px solid #67809F}.portlet.solid.blue-hoki>.portlet-body,.portlet.solid.blue-hoki>.portlet-title{border:0;color:#FFF}.portlet.solid.blue-hoki>.portlet-title>.caption>i{color:#FFF}.portlet.solid.blue-hoki>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.blue-hoki>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.blue-hoki>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.blue-hoki>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.blue-hoki>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.blue-hoki>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.blue-hoki{border:1px solid #869ab3;border-top:0}.portlet.box.blue-hoki>.portlet-title>.caption,.portlet.box.blue-hoki>.portlet-title>.caption>i{color:#FFF}.portlet.box.blue-hoki>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #acb9ca;color:#bbc7d4}.portlet.box.blue-hoki>.portlet-title>.actions .btn-default>i{color:#c5ceda}.portlet.box.blue-hoki>.portlet-title>.actions .btn-default.active,.portlet.box.blue-hoki>.portlet-title>.actions .btn-default:active,.portlet.box.blue-hoki>.portlet-title>.actions .btn-default:focus,.portlet.box.blue-hoki>.portlet-title>.actions .btn-default:hover{border:1px solid #cbd4de;color:#dbe1e8}.dashboard-stat.blue-hoki{background-color:#67809F}.dashboard-stat.blue-hoki.dashboard-stat-light:hover{background-color:#5e7694}.dashboard-stat.blue-hoki .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.blue-hoki .details .number{color:#FFF}.dashboard-stat.blue-hoki .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.blue-hoki .more{color:#FFF;background-color:#5e7694}.bg-blue-hoki{border-color:#67809F!important;background-image:none!important;background-color:#67809F!important;color:#FFF!important}.font-blue-hoki{color:#67809F!important}.progress-bar.blue-hoki{background:#67809F!important;color:#FFF!important}.blue-steel.btn{color:#FFF;background-color:#4B77BE;border-color:""}.blue-steel.btn.active,.blue-steel.btn:active,.blue-steel.btn:focus,.blue-steel.btn:hover,.open .blue-steel.btn.dropdown-toggle{color:#FFF;background-color:#3d66a8}.blue-steel.btn.active,.blue-steel.btn:active{background-image:none;background-color:#365b96}.blue-steel.btn.active:hover,.blue-steel.btn:active:hover{background-color:#395f9d}.open .blue-steel.btn.dropdown-toggle{background-image:none}.blue-steel.btn.disabled,.blue-steel.btn.disabled.active,.blue-steel.btn.disabled:active,.blue-steel.btn.disabled:focus,.blue-steel.btn.disabled:hover,.blue-steel.btn[disabled],.blue-steel.btn[disabled].active,.blue-steel.btn[disabled]:active,.blue-steel.btn[disabled]:focus,.blue-steel.btn[disabled]:hover,fieldset[disabled] .blue-steel.btn,fieldset[disabled] .blue-steel.btn.active,fieldset[disabled] .blue-steel.btn:active,fieldset[disabled] .blue-steel.btn:focus,fieldset[disabled] .blue-steel.btn:hover{background-color:#4B77BE}.blue-steel.btn .badge{color:#4B77BE;background-color:#FFF}.portlet.blue-steel,.portlet.box.blue-steel>.portlet-title,.portlet>.portlet-body.blue-steel{background-color:#4B77BE}.btn.blue-steel-stripe{border-left:3px solid #4B77BE}.portlet.solid.blue-steel>.portlet-body,.portlet.solid.blue-steel>.portlet-title{border:0;color:#FFF}.portlet.solid.blue-steel>.portlet-title>.caption>i{color:#FFF}.portlet.solid.blue-steel>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.blue-steel>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.blue-steel>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.blue-steel>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.blue-steel>.portlet-title>.tools>a.collapse{background-image:url(../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.blue-steel>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.blue-steel{border:1px solid #7093cc;border-top:0}.portlet.box.blue-steel>.portlet-title>.caption,.portlet.box.blue-steel>.portlet-title>.caption>i{color:#FFF}.portlet.box.blue-steel>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #9db5dc;color:#b0c3e3}.portlet.box.blue-steel>.portlet-title>.actions .btn-default>i{color:#bbcce7}.portlet.box.blue-steel>.portlet-title>.actions .btn-default.active,.portlet.box.blue-steel>.portlet-title>.actions .btn-default:active,.portlet.box.blue-steel>.portlet-title>.actions .btn-default:focus,.portlet.box.blue-steel>.portlet-title>.actions .btn-default:hover{border:1px solid #c3d2e9;color:#d6e0f0}.dashboard-stat.blue-steel{background-color:#4B77BE}.dashboard-stat.blue-steel.dashboard-stat-light:hover{background-color:#416db4}.dashboard-stat.blue-steel .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.blue-steel .details .number{color:#FFF}.dashboard-stat.blue-steel .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.blue-steel .more{color:#FFF;background-color:#416db4}.bg-blue-steel{border-color:#4B77BE!important;background-image:none!important;background-color:#4B77BE!important;color:#FFF!important}.font-blue-steel{color:#4B77BE!important}.progress-bar.blue-steel{background:#4B77BE!important;color:#FFF!important}.blue-soft.btn{color:#FFF;background-color:#4c87b9;border-color:""}.blue-soft.btn.active,.blue-soft.btn:active,.blue-soft.btn:focus,.blue-soft.btn:hover,.open .blue-soft.btn.dropdown-toggle{color:#FFF;background-color:#3f75a2}.blue-soft.btn.active,.blue-soft.btn:active{background-image:none;background-color:#386890}.blue-soft.btn.active:hover,.blue-soft.btn:active:hover{background-color:#3b6d97}.open .blue-soft.btn.dropdown-toggle{background-image:none}.blue-soft.btn.disabled,.blue-soft.btn.disabled.active,.blue-soft.btn.disabled:active,.blue-soft.btn.disabled:focus,.blue-soft.btn.disabled:hover,.blue-soft.btn[disabled],.blue-soft.btn[disabled].active,.blue-soft.btn[disabled]:active,.blue-soft.btn[disabled]:focus,.blue-soft.btn[disabled]:hover,fieldset[disabled] .blue-soft.btn,fieldset[disabled] .blue-soft.btn.active,fieldset[disabled] .blue-soft.btn:active,fieldset[disabled] .blue-soft.btn:focus,fieldset[disabled] .blue-soft.btn:hover{background-color:#4c87b9}.blue-soft.btn .badge{color:#4c87b9;background-color:#FFF}.portlet.blue-soft,.portlet.box.blue-soft>.portlet-title,.portlet>.portlet-body.blue-soft{background-color:#4c87b9}.btn.blue-soft-stripe{border-left:3px solid #4c87b9}.portlet.solid.blue-soft>.portlet-body,.portlet.solid.blue-soft>.portlet-title{border:0;color:#FFF}.portlet.solid.blue-soft>.portlet-title>.caption>i{color:#FFF}.portlet.solid.blue-soft>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.blue-soft>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.blue-soft>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.blue-soft>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.blue-soft>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.blue-soft>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.blue-soft{border:1px solid #71a0c7;border-top:0}.portlet.box.blue-soft>.portlet-title>.caption,.portlet.box.blue-soft>.portlet-title>.caption>i{color:#FFF}.portlet.box.blue-soft>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #9dbdd9;color:#afc9e0}.portlet.box.blue-soft>.portlet-title>.actions .btn-default>i{color:#bad1e4}.portlet.box.blue-soft>.portlet-title>.actions .btn-default.active,.portlet.box.blue-soft>.portlet-title>.actions .btn-default:active,.portlet.box.blue-soft>.portlet-title>.actions .btn-default:focus,.portlet.box.blue-soft>.portlet-title>.actions .btn-default:hover{border:1px solid #c1d6e7;color:#d4e2ee}.dashboard-stat.blue-soft{background-color:#4c87b9}.dashboard-stat.blue-soft.dashboard-stat-light:hover{background-color:#447dad}.dashboard-stat.blue-soft .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.blue-soft .details .number{color:#FFF}.dashboard-stat.blue-soft .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.blue-soft .more{color:#FFF;background-color:#447dad}.bg-blue-soft{border-color:#4c87b9!important;background-image:none!important;background-color:#4c87b9!important;color:#FFF!important}.font-blue-soft{color:#4c87b9!important}.progress-bar.blue-soft{background:#4c87b9!important;color:#FFF!important}.blue-dark.btn{color:#FFF;background-color:#5e738b;border-color:""}.blue-dark.btn.active,.blue-dark.btn:active,.blue-dark.btn:focus,.blue-dark.btn:hover,.open .blue-dark.btn.dropdown-toggle{color:#FFF;background-color:#506176}.blue-dark.btn.active,.blue-dark.btn:active{background-image:none;background-color:#455566}.blue-dark.btn.active:hover,.blue-dark.btn:active:hover{background-color:#495a6d}.open .blue-dark.btn.dropdown-toggle{background-image:none}.blue-dark.btn.disabled,.blue-dark.btn.disabled.active,.blue-dark.btn.disabled:active,.blue-dark.btn.disabled:focus,.blue-dark.btn.disabled:hover,.blue-dark.btn[disabled],.blue-dark.btn[disabled].active,.blue-dark.btn[disabled]:active,.blue-dark.btn[disabled]:focus,.blue-dark.btn[disabled]:hover,fieldset[disabled] .blue-dark.btn,fieldset[disabled] .blue-dark.btn.active,fieldset[disabled] .blue-dark.btn:active,fieldset[disabled] .blue-dark.btn:focus,fieldset[disabled] .blue-dark.btn:hover{background-color:#5e738b}.blue-dark.btn .badge{color:#5e738b;background-color:#FFF}.portlet.blue-dark,.portlet.box.blue-dark>.portlet-title,.portlet>.portlet-body.blue-dark{background-color:#5e738b}.btn.blue-dark-stripe{border-left:3px solid #5e738b}.portlet.solid.blue-dark>.portlet-body,.portlet.solid.blue-dark>.portlet-title{border:0;color:#FFF}.portlet.solid.blue-dark>.portlet-title>.caption>i{color:#FFF}.portlet.solid.blue-dark>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.blue-dark>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.blue-dark>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.blue-dark>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.blue-dark>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.blue-dark>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.blue-dark{border:1px solid #788da4;border-top:0}.portlet.box.blue-dark>.portlet-title>.caption,.portlet.box.blue-dark>.portlet-title>.caption>i{color:#FFF}.portlet.box.blue-dark>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #9dacbd;color:#acb8c7}.portlet.box.blue-dark>.portlet-title>.actions .btn-default>i{color:#b5c0cd}.portlet.box.blue-dark>.portlet-title>.actions .btn-default.active,.portlet.box.blue-dark>.portlet-title>.actions .btn-default:active,.portlet.box.blue-dark>.portlet-title>.actions .btn-default:focus,.portlet.box.blue-dark>.portlet-title>.actions .btn-default:hover{border:1px solid #bbc5d1;color:#cad2db}.dashboard-stat.blue-dark{background-color:#5e738b}.dashboard-stat.blue-dark.dashboard-stat-light:hover{background-color:#56697f}.dashboard-stat.blue-dark .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.blue-dark .details .number{color:#FFF}.dashboard-stat.blue-dark .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.blue-dark .more{color:#FFF;background-color:#56697f}.bg-blue-dark{border-color:#5e738b!important;background-image:none!important;background-color:#5e738b!important;color:#FFF!important}.font-blue-dark{color:#5e738b!important}.progress-bar.blue-dark{background:#5e738b!important;color:#FFF!important}.blue-sharp.btn{color:#FFF;background-color:#5C9BD1;border-color:""}.blue-sharp.btn.active,.blue-sharp.btn:active,.blue-sharp.btn:focus,.blue-sharp.btn:hover,.open .blue-sharp.btn.dropdown-toggle{color:#FFF;background-color:#408ac9}.blue-sharp.btn.active,.blue-sharp.btn:active{background-image:none;background-color:#357dbb}.blue-sharp.btn.active:hover,.blue-sharp.btn:active:hover{background-color:#3782c3}.open .blue-sharp.btn.dropdown-toggle{background-image:none}.blue-sharp.btn.disabled,.blue-sharp.btn.disabled.active,.blue-sharp.btn.disabled:active,.blue-sharp.btn.disabled:focus,.blue-sharp.btn.disabled:hover,.blue-sharp.btn[disabled],.blue-sharp.btn[disabled].active,.blue-sharp.btn[disabled]:active,.blue-sharp.btn[disabled]:focus,.blue-sharp.btn[disabled]:hover,fieldset[disabled] .blue-sharp.btn,fieldset[disabled] .blue-sharp.btn.active,fieldset[disabled] .blue-sharp.btn:active,fieldset[disabled] .blue-sharp.btn:focus,fieldset[disabled] .blue-sharp.btn:hover{background-color:#5C9BD1}.blue-sharp.btn .badge{color:#5C9BD1;background-color:#FFF}.portlet.blue-sharp,.portlet.box.blue-sharp>.portlet-title,.portlet>.portlet-body.blue-sharp{background-color:#5C9BD1}.btn.blue-sharp-stripe{border-left:3px solid #5C9BD1}.portlet.solid.blue-sharp>.portlet-body,.portlet.solid.blue-sharp>.portlet-title{border:0;color:#FFF}.portlet.solid.blue-sharp>.portlet-title>.caption>i{color:#FFF}.portlet.solid.blue-sharp>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.blue-sharp>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.blue-sharp>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.blue-sharp>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.blue-sharp>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.blue-sharp>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.blue-sharp{border:1px solid #84b3dc;border-top:0}.portlet.box.blue-sharp>.portlet-title>.caption,.portlet.box.blue-sharp>.portlet-title>.caption>i{color:#FFF}.portlet.box.blue-sharp>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #b4d1ea;color:#c7ddef}.portlet.box.blue-sharp>.portlet-title>.actions .btn-default>i{color:#d3e4f3}.portlet.box.blue-sharp>.portlet-title>.actions .btn-default.active,.portlet.box.blue-sharp>.portlet-title>.actions .btn-default:active,.portlet.box.blue-sharp>.portlet-title>.actions .btn-default:focus,.portlet.box.blue-sharp>.portlet-title>.actions .btn-default:hover{border:1px solid #dbe9f5;color:#eff5fb}.dashboard-stat.blue-sharp{background-color:#5C9BD1}.dashboard-stat.blue-sharp.dashboard-stat-light:hover{background-color:#4c91cd}.dashboard-stat.blue-sharp .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.blue-sharp .details .number{color:#FFF}.dashboard-stat.blue-sharp .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.blue-sharp .more{color:#FFF;background-color:#4c91cd}.bg-blue-sharp{border-color:#5C9BD1!important;background-image:none!important;background-color:#5C9BD1!important;color:#FFF!important}.font-blue-sharp{color:#5C9BD1!important}.progress-bar.blue-sharp{background:#5C9BD1!important;color:#FFF!important}.green.btn{color:#FFF;background-color:#35aa47;border-color:""}.green.btn.active,.green.btn:active,.green.btn:focus,.green.btn:hover,.open .green.btn.dropdown-toggle{color:#FFF;background-color:#2d8f3c}.green.btn.active,.green.btn:active{background-image:none;background-color:#267b34}.green.btn.active:hover,.green.btn:active:hover{background-color:#298337}.open .green.btn.dropdown-toggle{background-image:none}.green.btn.disabled,.green.btn.disabled.active,.green.btn.disabled:active,.green.btn.disabled:focus,.green.btn.disabled:hover,.green.btn[disabled],.green.btn[disabled].active,.green.btn[disabled]:active,.green.btn[disabled]:focus,.green.btn[disabled]:hover,fieldset[disabled] .green.btn,fieldset[disabled] .green.btn.active,fieldset[disabled] .green.btn:active,fieldset[disabled] .green.btn:focus,fieldset[disabled] .green.btn:hover{background-color:#35aa47}.green.btn .badge{color:#35aa47;background-color:#FFF}.portlet.box.green>.portlet-title,.portlet.green,.portlet>.portlet-body.green{background-color:#35aa47}.btn.green-stripe{border-left:3px solid #35aa47}.portlet.solid.green>.portlet-body,.portlet.solid.green>.portlet-title{border:0;color:#FFF}.portlet.solid.green>.portlet-title>.caption>i{color:#FFF}.portlet.solid.green>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.green>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.green>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.green>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.green>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.green>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.green{border:1px solid #4bc75e;border-top:0}.portlet.box.green>.portlet-title>.caption,.portlet.box.green>.portlet-title>.caption>i{color:#FFF}.portlet.box.green>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #7ad588;color:#8ddc99}.portlet.box.green>.portlet-title>.actions .btn-default>i{color:#99dfa4}.portlet.box.green>.portlet-title>.actions .btn-default.active,.portlet.box.green>.portlet-title>.actions .btn-default:active,.portlet.box.green>.portlet-title>.actions .btn-default:focus,.portlet.box.green>.portlet-title>.actions .btn-default:hover{border:1px solid #a1e2ab;color:#b4e8bc}.dashboard-stat.green{background-color:#35aa47}.dashboard-stat.green.dashboard-stat-light:hover{background-color:#309a41}.dashboard-stat.green .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.green .details .number{color:#FFF}.dashboard-stat.green .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.green .more{color:#FFF;background-color:#309a41}.bg-green{border-color:#35aa47!important;background-image:none!important;background-color:#35aa47!important;color:#FFF!important}.font-green{color:#35aa47!important}.progress-bar.green{background:#35aa47!important;color:#FFF!important}.green-meadow.btn{color:#FFF;background-color:#1BBC9B;border-color:""}.green-meadow.btn.active,.green-meadow.btn:active,.green-meadow.btn:focus,.green-meadow.btn:hover,.open .green-meadow.btn.dropdown-toggle{color:#FFF;background-color:#179d81}.green-meadow.btn.active,.green-meadow.btn:active{background-image:none;background-color:#13866f}.green-meadow.btn.active:hover,.green-meadow.btn:active:hover{background-color:#158f76}.open .green-meadow.btn.dropdown-toggle{background-image:none}.green-meadow.btn.disabled,.green-meadow.btn.disabled.active,.green-meadow.btn.disabled:active,.green-meadow.btn.disabled:focus,.green-meadow.btn.disabled:hover,.green-meadow.btn[disabled],.green-meadow.btn[disabled].active,.green-meadow.btn[disabled]:active,.green-meadow.btn[disabled]:focus,.green-meadow.btn[disabled]:hover,fieldset[disabled] .green-meadow.btn,fieldset[disabled] .green-meadow.btn.active,fieldset[disabled] .green-meadow.btn:active,fieldset[disabled] .green-meadow.btn:focus,fieldset[disabled] .green-meadow.btn:hover{background-color:#1BBC9B}.green-meadow.btn .badge{color:#1BBC9B;background-color:#FFF}.portlet.box.green-meadow>.portlet-title,.portlet.green-meadow,.portlet>.portlet-body.green-meadow{background-color:#1BBC9B}.btn.green-meadow-stripe{border-left:3px solid #1BBC9B}.portlet.solid.green-meadow>.portlet-body,.portlet.solid.green-meadow>.portlet-title{border:0;color:#FFF}.portlet.solid.green-meadow>.portlet-title>.caption>i{color:#FFF}.portlet.solid.green-meadow>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.green-meadow>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.green-meadow>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.green-meadow>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.green-meadow>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.green-meadow>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.green-meadow{border:1px solid #2ae0bb;border-top:0}.portlet.box.green-meadow>.portlet-title>.caption,.portlet.box.green-meadow>.portlet-title>.caption>i{color:#FFF}.portlet.box.green-meadow>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #5fe8cc;color:#75ebd3}.portlet.box.green-meadow>.portlet-title>.actions .btn-default>i{color:#83edd7}.portlet.box.green-meadow>.portlet-title>.actions .btn-default.active,.portlet.box.green-meadow>.portlet-title>.actions .btn-default:active,.portlet.box.green-meadow>.portlet-title>.actions .btn-default:focus,.portlet.box.green-meadow>.portlet-title>.actions .btn-default:hover{border:1px solid #8ceeda;color:#a2f2e1}.dashboard-stat.green-meadow{background-color:#1BBC9B}.dashboard-stat.green-meadow.dashboard-stat-light:hover{background-color:#18aa8c}.dashboard-stat.green-meadow .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.green-meadow .details .number{color:#FFF}.dashboard-stat.green-meadow .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.green-meadow .more{color:#FFF;background-color:#18aa8c}.bg-green-meadow{border-color:#1BBC9B!important;background-image:none!important;background-color:#1BBC9B!important;color:#FFF!important}.font-green-meadow{color:#1BBC9B!important}.progress-bar.green-meadow{background:#1BBC9B!important;color:#FFF!important}.green-seagreen.btn{color:#FFF;background-color:#1BA39C;border-color:""}.green-seagreen.btn.active,.green-seagreen.btn:active,.green-seagreen.btn:focus,.green-seagreen.btn:hover,.open .green-seagreen.btn.dropdown-toggle{color:#FFF;background-color:#16847f}.green-seagreen.btn.active,.green-seagreen.btn:active{background-image:none;background-color:#126e6a}.green-seagreen.btn.active:hover,.green-seagreen.btn:active:hover{background-color:#147772}.open .green-seagreen.btn.dropdown-toggle{background-image:none}.green-seagreen.btn.disabled,.green-seagreen.btn.disabled.active,.green-seagreen.btn.disabled:active,.green-seagreen.btn.disabled:focus,.green-seagreen.btn.disabled:hover,.green-seagreen.btn[disabled],.green-seagreen.btn[disabled].active,.green-seagreen.btn[disabled]:active,.green-seagreen.btn[disabled]:focus,.green-seagreen.btn[disabled]:hover,fieldset[disabled] .green-seagreen.btn,fieldset[disabled] .green-seagreen.btn.active,fieldset[disabled] .green-seagreen.btn:active,fieldset[disabled] .green-seagreen.btn:focus,fieldset[disabled] .green-seagreen.btn:hover{background-color:#1BA39C}.green-seagreen.btn .badge{color:#1BA39C;background-color:#FFF}.portlet.box.green-seagreen>.portlet-title,.portlet.green-seagreen,.portlet>.portlet-body.green-seagreen{background-color:#1BA39C}.btn.green-seagreen-stripe{border-left:3px solid #1BA39C}.portlet.solid.green-seagreen>.portlet-body,.portlet.solid.green-seagreen>.portlet-title{border:0;color:#FFF}.portlet.solid.green-seagreen>.portlet-title>.caption>i{color:#FFF}.portlet.solid.green-seagreen>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.green-seagreen>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.green-seagreen>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.green-seagreen>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.green-seagreen>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.green-seagreen>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.green-seagreen{border:1px solid #22cfc6;border-top:0}.portlet.box.green-seagreen>.portlet-title>.caption,.portlet.box.green-seagreen>.portlet-title>.caption>i{color:#FFF}.portlet.box.green-seagreen>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #4de1da;color:#63e5de}.portlet.box.green-seagreen>.portlet-title>.actions .btn-default>i{color:#70e7e1}.portlet.box.green-seagreen>.portlet-title>.actions .btn-default.active,.portlet.box.green-seagreen>.portlet-title>.actions .btn-default:active,.portlet.box.green-seagreen>.portlet-title>.actions .btn-default:focus,.portlet.box.green-seagreen>.portlet-title>.actions .btn-default:hover{border:1px solid #78e9e3;color:#8eece8}.dashboard-stat.green-seagreen{background-color:#1BA39C}.dashboard-stat.green-seagreen.dashboard-stat-light:hover{background-color:#18918b}.dashboard-stat.green-seagreen .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.green-seagreen .details .number{color:#FFF}.dashboard-stat.green-seagreen .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.green-seagreen .more{color:#FFF;background-color:#18918b}.bg-green-seagreen{border-color:#1BA39C!important;background-image:none!important;background-color:#1BA39C!important;color:#FFF!important}.font-green-seagreen{color:#1BA39C!important}.progress-bar.green-seagreen{background:#1BA39C!important;color:#FFF!important}.green-turquoise.btn{color:#FFF;background-color:#36D7B7;border-color:""}.green-turquoise.btn.active,.green-turquoise.btn:active,.green-turquoise.btn:focus,.green-turquoise.btn:hover,.open .green-turquoise.btn.dropdown-toggle{color:#FFF;background-color:#27c3a4}.green-turquoise.btn.active,.green-turquoise.btn:active{background-image:none;background-color:#22ad92}.green-turquoise.btn.active:hover,.green-turquoise.btn:active:hover{background-color:#24b699}.open .green-turquoise.btn.dropdown-toggle{background-image:none}.green-turquoise.btn.disabled,.green-turquoise.btn.disabled.active,.green-turquoise.btn.disabled:active,.green-turquoise.btn.disabled:focus,.green-turquoise.btn.disabled:hover,.green-turquoise.btn[disabled],.green-turquoise.btn[disabled].active,.green-turquoise.btn[disabled]:active,.green-turquoise.btn[disabled]:focus,.green-turquoise.btn[disabled]:hover,fieldset[disabled] .green-turquoise.btn,fieldset[disabled] .green-turquoise.btn.active,fieldset[disabled] .green-turquoise.btn:active,fieldset[disabled] .green-turquoise.btn:focus,fieldset[disabled] .green-turquoise.btn:hover{background-color:#36D7B7}.green-turquoise.btn .badge{color:#36D7B7;background-color:#FFF}.portlet.box.green-turquoise>.portlet-title,.portlet.green-turquoise,.portlet>.portlet-body.green-turquoise{background-color:#36D7B7}.btn.green-turquoise-stripe{border-left:3px solid #36D7B7}.portlet.solid.green-turquoise>.portlet-body,.portlet.solid.green-turquoise>.portlet-title{border:0;color:#FFF}.portlet.solid.green-turquoise>.portlet-title>.caption>i{color:#FFF}.portlet.solid.green-turquoise>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.green-turquoise>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.green-turquoise>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.green-turquoise>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.green-turquoise>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.green-turquoise>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.green-turquoise{border:1px solid #61dfc6;border-top:0}.portlet.box.green-turquoise>.portlet-title>.caption,.portlet.box.green-turquoise>.portlet-title>.caption>i{color:#FFF}.portlet.box.green-turquoise>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #94ead9;color:#a9eee0}.portlet.box.green-turquoise>.portlet-title>.actions .btn-default>i{color:#b6f0e5}.portlet.box.green-turquoise>.portlet-title>.actions .btn-default.active,.portlet.box.green-turquoise>.portlet-title>.actions .btn-default:active,.portlet.box.green-turquoise>.portlet-title>.actions .btn-default:focus,.portlet.box.green-turquoise>.portlet-title>.actions .btn-default:hover{border:1px solid #bef2e8;color:#d3f6ef}.dashboard-stat.green-turquoise{background-color:#36D7B7}.dashboard-stat.green-turquoise.dashboard-stat-light:hover{background-color:#29cfae}.dashboard-stat.green-turquoise .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.green-turquoise .details .number{color:#FFF}.dashboard-stat.green-turquoise .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.green-turquoise .more{color:#FFF;background-color:#29cfae}.bg-green-turquoise{border-color:#36D7B7!important;background-image:none!important;background-color:#36D7B7!important;color:#FFF!important}.font-green-turquoise{color:#36D7B7!important}.progress-bar.green-turquoise{background:#36D7B7!important;color:#FFF!important}.green-haze.btn{color:#FFF;background-color:#44b6ae;border-color:""}.green-haze.btn.active,.green-haze.btn:active,.green-haze.btn:focus,.green-haze.btn:hover,.open .green-haze.btn.dropdown-toggle{color:#FFF;background-color:#3a9c95}.green-haze.btn.active,.green-haze.btn:active{background-image:none;background-color:#338983}.green-haze.btn.active:hover,.green-haze.btn:active:hover{background-color:#36918b}.open .green-haze.btn.dropdown-toggle{background-image:none}.green-haze.btn.disabled,.green-haze.btn.disabled.active,.green-haze.btn.disabled:active,.green-haze.btn.disabled:focus,.green-haze.btn.disabled:hover,.green-haze.btn[disabled],.green-haze.btn[disabled].active,.green-haze.btn[disabled]:active,.green-haze.btn[disabled]:focus,.green-haze.btn[disabled]:hover,fieldset[disabled] .green-haze.btn,fieldset[disabled] .green-haze.btn.active,fieldset[disabled] .green-haze.btn:active,fieldset[disabled] .green-haze.btn:focus,fieldset[disabled] .green-haze.btn:hover{background-color:#44b6ae}.green-haze.btn .badge{color:#44b6ae;background-color:#FFF}.portlet.box.green-haze>.portlet-title,.portlet.green-haze,.portlet>.portlet-body.green-haze{background-color:#44b6ae}.btn.green-haze-stripe{border-left:3px solid #44b6ae}.portlet.solid.green-haze>.portlet-body,.portlet.solid.green-haze>.portlet-title{border:0;color:#FFF}.portlet.solid.green-haze>.portlet-title>.caption>i{color:#FFF}.portlet.solid.green-haze>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.green-haze>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.green-haze>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.green-haze>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.green-haze>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.green-haze>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.green-haze{border:1px solid #67c6bf;border-top:0}.portlet.box.green-haze>.portlet-title>.caption,.portlet.box.green-haze>.portlet-title>.caption>i{color:#FFF}.portlet.box.green-haze>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #93d7d2;color:#a6deda}.portlet.box.green-haze>.portlet-title>.actions .btn-default>i{color:#b1e2de}.portlet.box.green-haze>.portlet-title>.actions .btn-default.active,.portlet.box.green-haze>.portlet-title>.actions .btn-default:active,.portlet.box.green-haze>.portlet-title>.actions .btn-default:focus,.portlet.box.green-haze>.portlet-title>.actions .btn-default:hover{border:1px solid #b9e5e2;color:#cbece9}.dashboard-stat.green-haze{background-color:#44b6ae}.dashboard-stat.green-haze.dashboard-stat-light:hover{background-color:#3ea7a0}.dashboard-stat.green-haze .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.green-haze .details .number{color:#FFF}.dashboard-stat.green-haze .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.green-haze .more{color:#FFF;background-color:#3ea7a0}.bg-green-haze{border-color:#44b6ae!important;background-image:none!important;background-color:#44b6ae!important;color:#FFF!important}.font-green-haze{color:#44b6ae!important}.progress-bar.green-haze{background:#44b6ae!important;color:#FFF!important}.green-jungle.btn{color:#FFF;background-color:#26C281;border-color:""}.green-jungle.btn.active,.green-jungle.btn:active,.green-jungle.btn:focus,.green-jungle.btn:hover,.open .green-jungle.btn.dropdown-toggle{color:#FFF;background-color:#20a46d}.green-jungle.btn.active,.green-jungle.btn:active{background-image:none;background-color:#1c8f5f}.green-jungle.btn.active:hover,.green-jungle.btn:active:hover{background-color:#1e9765}.open .green-jungle.btn.dropdown-toggle{background-image:none}.green-jungle.btn.disabled,.green-jungle.btn.disabled.active,.green-jungle.btn.disabled:active,.green-jungle.btn.disabled:focus,.green-jungle.btn.disabled:hover,.green-jungle.btn[disabled],.green-jungle.btn[disabled].active,.green-jungle.btn[disabled]:active,.green-jungle.btn[disabled]:focus,.green-jungle.btn[disabled]:hover,fieldset[disabled] .green-jungle.btn,fieldset[disabled] .green-jungle.btn.active,fieldset[disabled] .green-jungle.btn:active,fieldset[disabled] .green-jungle.btn:focus,fieldset[disabled] .green-jungle.btn:hover{background-color:#26C281}.green-jungle.btn .badge{color:#26C281;background-color:#FFF}.portlet.box.green-jungle>.portlet-title,.portlet.green-jungle,.portlet>.portlet-body.green-jungle{background-color:#26C281}.btn.green-jungle-stripe{border-left:3px solid #26C281}.portlet.solid.green-jungle>.portlet-body,.portlet.solid.green-jungle>.portlet-title{border:0;color:#FFF}.portlet.solid.green-jungle>.portlet-title>.caption>i{color:#FFF}.portlet.solid.green-jungle>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.green-jungle>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.green-jungle>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.green-jungle>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.green-jungle>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.green-jungle>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.green-jungle{border:1px solid #41da9a;border-top:0}.portlet.box.green-jungle>.portlet-title>.caption,.portlet.box.green-jungle>.portlet-title>.caption>i{color:#FFF}.portlet.box.green-jungle>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #74e4b5;color:#8ae8c1}.portlet.box.green-jungle>.portlet-title>.actions .btn-default>i{color:#96ebc8}.portlet.box.green-jungle>.portlet-title>.actions .btn-default.active,.portlet.box.green-jungle>.portlet-title>.actions .btn-default:active,.portlet.box.green-jungle>.portlet-title>.actions .btn-default:focus,.portlet.box.green-jungle>.portlet-title>.actions .btn-default:hover{border:1px solid #9feccc;color:#b4f0d7}.dashboard-stat.green-jungle{background-color:#26C281}.dashboard-stat.green-jungle.dashboard-stat-light:hover{background-color:#23b176}.dashboard-stat.green-jungle .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.green-jungle .details .number{color:#FFF}.dashboard-stat.green-jungle .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.green-jungle .more{color:#FFF;background-color:#23b176}.bg-green-jungle{border-color:#26C281!important;background-image:none!important;background-color:#26C281!important;color:#FFF!important}.font-green-jungle{color:#26C281!important}.progress-bar.green-jungle{background:#26C281!important;color:#FFF!important}.green-sharp.btn{color:#FFF;background-color:#4DB3A2;border-color:""}.green-sharp.btn.active,.green-sharp.btn:active,.green-sharp.btn:focus,.green-sharp.btn:hover,.open .green-sharp.btn.dropdown-toggle{color:#FFF;background-color:#429a8c}.green-sharp.btn.active,.green-sharp.btn:active{background-image:none;background-color:#3a897b}.green-sharp.btn.active:hover,.green-sharp.btn:active:hover{background-color:#3d9082}.open .green-sharp.btn.dropdown-toggle{background-image:none}.green-sharp.btn.disabled,.green-sharp.btn.disabled.active,.green-sharp.btn.disabled:active,.green-sharp.btn.disabled:focus,.green-sharp.btn.disabled:hover,.green-sharp.btn[disabled],.green-sharp.btn[disabled].active,.green-sharp.btn[disabled]:active,.green-sharp.btn[disabled]:focus,.green-sharp.btn[disabled]:hover,fieldset[disabled] .green-sharp.btn,fieldset[disabled] .green-sharp.btn.active,fieldset[disabled] .green-sharp.btn:active,fieldset[disabled] .green-sharp.btn:focus,fieldset[disabled] .green-sharp.btn:hover{background-color:#4DB3A2}.green-sharp.btn .badge{color:#4DB3A2;background-color:#FFF}.portlet.box.green-sharp>.portlet-title,.portlet.green-sharp,.portlet>.portlet-body.green-sharp{background-color:#4DB3A2}.btn.green-sharp-stripe{border-left:3px solid #4DB3A2}.portlet.solid.green-sharp>.portlet-body,.portlet.solid.green-sharp>.portlet-title{border:0;color:#FFF}.portlet.solid.green-sharp>.portlet-title>.caption>i{color:#FFF}.portlet.solid.green-sharp>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.green-sharp>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.green-sharp>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.green-sharp>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.green-sharp>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.green-sharp>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.green-sharp{border:1px solid #71c2b5;border-top:0}.portlet.box.green-sharp>.portlet-title>.caption,.portlet.box.green-sharp>.portlet-title>.caption>i{color:#FFF}.portlet.box.green-sharp>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #9cd5cb;color:#addcd4}.portlet.box.green-sharp>.portlet-title>.actions .btn-default>i{color:#b8e1da}.portlet.box.green-sharp>.portlet-title>.actions .btn-default.active,.portlet.box.green-sharp>.portlet-title>.actions .btn-default:active,.portlet.box.green-sharp>.portlet-title>.actions .btn-default:focus,.portlet.box.green-sharp>.portlet-title>.actions .btn-default:hover{border:1px solid #bfe4de;color:#d1ebe7}.dashboard-stat.green-sharp{background-color:#4DB3A2}.dashboard-stat.green-sharp.dashboard-stat-light:hover{background-color:#46a595}.dashboard-stat.green-sharp .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.green-sharp .details .number{color:#FFF}.dashboard-stat.green-sharp .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.green-sharp .more{color:#FFF;background-color:#46a595}.bg-green-sharp{border-color:#4DB3A2!important;background-image:none!important;background-color:#4DB3A2!important;color:#FFF!important}.font-green-sharp{color:#4DB3A2!important}.progress-bar.green-sharp{background:#4DB3A2!important;color:#FFF!important}.green-soft.btn{color:#FFF;background-color:#3faba4;border-color:""}.green-soft.btn.active,.green-soft.btn:active,.green-soft.btn:focus,.green-soft.btn:hover,.open .green-soft.btn.dropdown-toggle{color:#FFF;background-color:#35918b}.green-soft.btn.active,.green-soft.btn:active{background-image:none;background-color:#2f7e79}.green-soft.btn.active:hover,.green-soft.btn:active:hover{background-color:#318680}.open .green-soft.btn.dropdown-toggle{background-image:none}.green-soft.btn.disabled,.green-soft.btn.disabled.active,.green-soft.btn.disabled:active,.green-soft.btn.disabled:focus,.green-soft.btn.disabled:hover,.green-soft.btn[disabled],.green-soft.btn[disabled].active,.green-soft.btn[disabled]:active,.green-soft.btn[disabled]:focus,.green-soft.btn[disabled]:hover,fieldset[disabled] .green-soft.btn,fieldset[disabled] .green-soft.btn.active,fieldset[disabled] .green-soft.btn:active,fieldset[disabled] .green-soft.btn:focus,fieldset[disabled] .green-soft.btn:hover{background-color:#3faba4}.green-soft.btn .badge{color:#3faba4;background-color:#FFF}.portlet.box.green-soft>.portlet-title,.portlet.green-soft,.portlet>.portlet-body.green-soft{background-color:#3faba4}.btn.green-soft-stripe{border-left:3px solid #3faba4}.portlet.solid.green-soft>.portlet-body,.portlet.solid.green-soft>.portlet-title{border:0;color:#FFF}.portlet.solid.green-soft>.portlet-title>.caption>i{color:#FFF}.portlet.solid.green-soft>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.green-soft>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.green-soft>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.green-soft>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.green-soft>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.green-soft>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.green-soft{border:1px solid #5bc2bc;border-top:0}.portlet.box.green-soft>.portlet-title>.caption,.portlet.box.green-soft>.portlet-title>.caption>i{color:#FFF}.portlet.box.green-soft>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #87d3ce;color:#9adad6}.portlet.box.green-soft>.portlet-title>.actions .btn-default>i{color:#a5deda}.portlet.box.green-soft>.portlet-title>.actions .btn-default.active,.portlet.box.green-soft>.portlet-title>.actions .btn-default:active,.portlet.box.green-soft>.portlet-title>.actions .btn-default:focus,.portlet.box.green-soft>.portlet-title>.actions .btn-default:hover{border:1px solid #ade1dd;color:#bfe7e5}.dashboard-stat.green-soft{background-color:#3faba4}.dashboard-stat.green-soft.dashboard-stat-light:hover{background-color:#3a9c96}.dashboard-stat.green-soft .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.green-soft .details .number{color:#FFF}.dashboard-stat.green-soft .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.green-soft .more{color:#FFF;background-color:#3a9c96}.bg-green-soft{border-color:#3faba4!important;background-image:none!important;background-color:#3faba4!important;color:#FFF!important}.font-green-soft{color:#3faba4!important}.progress-bar.green-soft{background:#3faba4!important;color:#FFF!important}.grey.btn{color:#333;background-color:#E5E5E5;border-color:""}.grey.btn.active,.grey.btn:active,.grey.btn:focus,.grey.btn:hover,.open .grey.btn.dropdown-toggle{color:#333;background-color:#d3d3d3}.grey.btn.active,.grey.btn:active{background-image:none;background-color:#c6c6c6}.grey.btn.active:hover,.grey.btn:active:hover{background-color:#ccc}.open .grey.btn.dropdown-toggle{background-image:none}.grey.btn.disabled,.grey.btn.disabled.active,.grey.btn.disabled:active,.grey.btn.disabled:focus,.grey.btn.disabled:hover,.grey.btn[disabled],.grey.btn[disabled].active,.grey.btn[disabled]:active,.grey.btn[disabled]:focus,.grey.btn[disabled]:hover,fieldset[disabled] .grey.btn,fieldset[disabled] .grey.btn.active,fieldset[disabled] .grey.btn:active,fieldset[disabled] .grey.btn:focus,fieldset[disabled] .grey.btn:hover{background-color:#E5E5E5}.grey.btn .badge{color:#E5E5E5;background-color:#333}.portlet.box.grey>.portlet-title,.portlet.grey,.portlet>.portlet-body.grey{background-color:#E5E5E5}.btn.grey-stripe{border-left:3px solid #E5E5E5}.portlet.solid.grey>.portlet-body,.portlet.solid.grey>.portlet-title{border:0;color:#333}.portlet.solid.grey>.portlet-title>.caption>i{color:#333}.portlet.solid.grey>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.grey>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.grey>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.grey>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.grey>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.grey>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.grey{border:1px solid #fff;border-top:0}.portlet.box.grey>.portlet-title>.caption,.portlet.box.grey>.portlet-title>.caption>i{color:#333}.portlet.box.grey>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #fff;color:#fff}.portlet.box.grey>.portlet-title>.actions .btn-default>i{color:#fff}.portlet.box.grey>.portlet-title>.actions .btn-default.active,.portlet.box.grey>.portlet-title>.actions .btn-default:active,.portlet.box.grey>.portlet-title>.actions .btn-default:focus,.portlet.box.grey>.portlet-title>.actions .btn-default:hover{border:1px solid #fff;color:#fff}.dashboard-stat.grey{background-color:#E5E5E5}.dashboard-stat.grey.dashboard-stat-light:hover{background-color:#dbdbdb}.dashboard-stat.grey .visual>i{color:#333;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.grey .details .number{color:#333}.dashboard-stat.grey .details .desc{color:#333;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.grey .more{color:#333;background-color:#dbdbdb}.bg-grey{border-color:#E5E5E5!important;background-image:none!important;background-color:#E5E5E5!important;color:#333!important}.font-grey{color:#E5E5E5!important}.progress-bar.grey{background:#E5E5E5!important;color:#333!important}.grey-steel.btn{color:#80898e;background-color:#e9edef;border-color:""}.grey-steel.btn.active,.grey-steel.btn:active,.grey-steel.btn:focus,.grey-steel.btn:hover,.open .grey-steel.btn.dropdown-toggle{color:#80898e;background-color:#d4dce0}.grey-steel.btn.active,.grey-steel.btn:active{background-image:none;background-color:#c6d0d5}.grey-steel.btn.active:hover,.grey-steel.btn:active:hover{background-color:#cbd5da}.open .grey-steel.btn.dropdown-toggle{background-image:none}.grey-steel.btn.disabled,.grey-steel.btn.disabled.active,.grey-steel.btn.disabled:active,.grey-steel.btn.disabled:focus,.grey-steel.btn.disabled:hover,.grey-steel.btn[disabled],.grey-steel.btn[disabled].active,.grey-steel.btn[disabled]:active,.grey-steel.btn[disabled]:focus,.grey-steel.btn[disabled]:hover,fieldset[disabled] .grey-steel.btn,fieldset[disabled] .grey-steel.btn.active,fieldset[disabled] .grey-steel.btn:active,fieldset[disabled] .grey-steel.btn:focus,fieldset[disabled] .grey-steel.btn:hover{background-color:#e9edef}.grey-steel.btn .badge{color:#e9edef;background-color:#80898e}.portlet.box.grey-steel>.portlet-title,.portlet.grey-steel,.portlet>.portlet-body.grey-steel{background-color:#e9edef}.btn.grey-steel-stripe{border-left:3px solid #e9edef}.portlet.solid.grey-steel>.portlet-body,.portlet.solid.grey-steel>.portlet-title{border:0;color:#80898e}.portlet.solid.grey-steel>.portlet-title>.caption>i{color:#80898e}.portlet.solid.grey-steel>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.grey-steel>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.grey-steel>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.grey-steel>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.grey-steel>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.grey-steel>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.grey-steel{border:1px solid #fff;border-top:0}.portlet.box.grey-steel>.portlet-title>.caption,.portlet.box.grey-steel>.portlet-title>.caption>i{color:#80898e}.portlet.box.grey-steel>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #fff;color:#fff}.portlet.box.grey-steel>.portlet-title>.actions .btn-default>i{color:#fff}.portlet.box.grey-steel>.portlet-title>.actions .btn-default.active,.portlet.box.grey-steel>.portlet-title>.actions .btn-default:active,.portlet.box.grey-steel>.portlet-title>.actions .btn-default:focus,.portlet.box.grey-steel>.portlet-title>.actions .btn-default:hover{border:1px solid #fff;color:#fff}.dashboard-stat.grey-steel{background-color:#e9edef}.dashboard-stat.grey-steel.dashboard-stat-light:hover{background-color:#dde3e6}.dashboard-stat.grey-steel .visual>i{color:#80898e;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.grey-steel .details .number{color:#80898e}.dashboard-stat.grey-steel .details .desc{color:#80898e;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.grey-steel .more{color:#80898e;background-color:#dde3e6}.bg-grey-steel{border-color:#e9edef!important;background-image:none!important;background-color:#e9edef!important;color:#80898e!important}.font-grey-steel{color:#e9edef!important}.progress-bar.grey-steel{background:#e9edef!important;color:#80898e!important}.grey-cararra.btn{color:#333;background-color:#fafafa;border-color:""}.grey-cararra.btn.active,.grey-cararra.btn:active,.grey-cararra.btn:focus,.grey-cararra.btn:hover,.open .grey-cararra.btn.dropdown-toggle{color:#333;background-color:#e8e8e8}.grey-cararra.btn.active,.grey-cararra.btn:active{background-image:none;background-color:#dbdbdb}.grey-cararra.btn.active:hover,.grey-cararra.btn:active:hover{background-color:#e1e1e1}.open .grey-cararra.btn.dropdown-toggle{background-image:none}.grey-cararra.btn.disabled,.grey-cararra.btn.disabled.active,.grey-cararra.btn.disabled:active,.grey-cararra.btn.disabled:focus,.grey-cararra.btn.disabled:hover,.grey-cararra.btn[disabled],.grey-cararra.btn[disabled].active,.grey-cararra.btn[disabled]:active,.grey-cararra.btn[disabled]:focus,.grey-cararra.btn[disabled]:hover,fieldset[disabled] .grey-cararra.btn,fieldset[disabled] .grey-cararra.btn.active,fieldset[disabled] .grey-cararra.btn:active,fieldset[disabled] .grey-cararra.btn:focus,fieldset[disabled] .grey-cararra.btn:hover{background-color:#fafafa}.grey-cararra.btn .badge{color:#fafafa;background-color:#333}.portlet.box.grey-cararra>.portlet-title,.portlet.grey-cararra,.portlet>.portlet-body.grey-cararra{background-color:#fafafa}.btn.grey-cararra-stripe{border-left:3px solid #fafafa}.portlet.solid.grey-cararra>.portlet-body,.portlet.solid.grey-cararra>.portlet-title{border:0;color:#333}.portlet.solid.grey-cararra>.portlet-title>.caption>i{color:#333}.portlet.solid.grey-cararra>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.grey-cararra>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.grey-cararra>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.grey-cararra>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.grey-cararra>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.grey-cararra>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.grey-cararra{border:1px solid #fff;border-top:0}.portlet.box.grey-cararra>.portlet-title>.caption,.portlet.box.grey-cararra>.portlet-title>.caption>i{color:#333}.portlet.box.grey-cararra>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #fff;color:#fff}.portlet.box.grey-cararra>.portlet-title>.actions .btn-default>i{color:#fff}.portlet.box.grey-cararra>.portlet-title>.actions .btn-default.active,.portlet.box.grey-cararra>.portlet-title>.actions .btn-default:active,.portlet.box.grey-cararra>.portlet-title>.actions .btn-default:focus,.portlet.box.grey-cararra>.portlet-title>.actions .btn-default:hover{border:1px solid #fff;color:#fff}.dashboard-stat.grey-cararra{background-color:#fafafa}.dashboard-stat.grey-cararra.dashboard-stat-light:hover{background-color:#f0f0f0}.dashboard-stat.grey-cararra .visual>i{color:#333;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.grey-cararra .details .number{color:#333}.dashboard-stat.grey-cararra .details .desc{color:#333;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.grey-cararra .more{color:#333;background-color:#f0f0f0}.bg-grey-cararra{border-color:#fafafa!important;background-image:none!important;background-color:#fafafa!important;color:#333!important}.font-grey-cararra{color:#fafafa!important}.progress-bar.grey-cararra{background:#fafafa!important;color:#333!important}.grey-gallery.btn{color:#fff;background-color:#555;border-color:""}.grey-gallery.btn.active,.grey-gallery.btn:active,.grey-gallery.btn:focus,.grey-gallery.btn:hover,.open .grey-gallery.btn.dropdown-toggle{color:#fff;background-color:#434343}.grey-gallery.btn.active,.grey-gallery.btn:active{background-image:none;background-color:#363636}.grey-gallery.btn.active:hover,.grey-gallery.btn:active:hover{background-color:#3b3b3b}.open .grey-gallery.btn.dropdown-toggle{background-image:none}.grey-gallery.btn.disabled,.grey-gallery.btn.disabled.active,.grey-gallery.btn.disabled:active,.grey-gallery.btn.disabled:focus,.grey-gallery.btn.disabled:hover,.grey-gallery.btn[disabled],.grey-gallery.btn[disabled].active,.grey-gallery.btn[disabled]:active,.grey-gallery.btn[disabled]:focus,.grey-gallery.btn[disabled]:hover,fieldset[disabled] .grey-gallery.btn,fieldset[disabled] .grey-gallery.btn.active,fieldset[disabled] .grey-gallery.btn:active,fieldset[disabled] .grey-gallery.btn:focus,fieldset[disabled] .grey-gallery.btn:hover{background-color:#555}.grey-gallery.btn .badge{color:#555;background-color:#fff}.portlet.box.grey-gallery>.portlet-title,.portlet.grey-gallery,.portlet>.portlet-body.grey-gallery{background-color:#555}.btn.grey-gallery-stripe{border-left:3px solid #555}.portlet.solid.grey-gallery>.portlet-body,.portlet.solid.grey-gallery>.portlet-title{border:0;color:#fff}.portlet.solid.grey-gallery>.portlet-title>.caption>i{color:#fff}.portlet.solid.grey-gallery>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.grey-gallery>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.grey-gallery>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.grey-gallery>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.grey-gallery>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.grey-gallery>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.grey-gallery{border:1px solid #6e6e6e;border-top:0}.portlet.box.grey-gallery>.portlet-title>.caption,.portlet.box.grey-gallery>.portlet-title>.caption>i{color:#fff}.portlet.box.grey-gallery>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #8d8d8d;color:#9a9a9a}.portlet.box.grey-gallery>.portlet-title>.actions .btn-default>i{color:#a2a2a2}.portlet.box.grey-gallery>.portlet-title>.actions .btn-default.active,.portlet.box.grey-gallery>.portlet-title>.actions .btn-default:active,.portlet.box.grey-gallery>.portlet-title>.actions .btn-default:focus,.portlet.box.grey-gallery>.portlet-title>.actions .btn-default:hover{border:1px solid #a7a7a7;color:#b3b3b3}.dashboard-stat.grey-gallery{background-color:#555}.dashboard-stat.grey-gallery.dashboard-stat-light:hover{background-color:#4b4b4b}.dashboard-stat.grey-gallery .visual>i{color:#fff;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.grey-gallery .details .number{color:#fff}.dashboard-stat.grey-gallery .details .desc{color:#fff;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.grey-gallery .more{color:#fff;background-color:#4b4b4b}.bg-grey-gallery{border-color:#555!important;background-image:none!important;background-color:#555!important;color:#fff!important}.font-grey-gallery{color:#555!important}.progress-bar.grey-gallery{background:#555!important;color:#fff!important}.grey-cascade.btn{color:#FFF;background-color:#95A5A6;border-color:""}.grey-cascade.btn.active,.grey-cascade.btn:active,.grey-cascade.btn:focus,.grey-cascade.btn:hover,.open .grey-cascade.btn.dropdown-toggle{color:#FFF;background-color:#829596}.grey-cascade.btn.active,.grey-cascade.btn:active{background-image:none;background-color:#74898a}.grey-cascade.btn.active:hover,.grey-cascade.btn:active:hover{background-color:#798d8f}.open .grey-cascade.btn.dropdown-toggle{background-image:none}.grey-cascade.btn.disabled,.grey-cascade.btn.disabled.active,.grey-cascade.btn.disabled:active,.grey-cascade.btn.disabled:focus,.grey-cascade.btn.disabled:hover,.grey-cascade.btn[disabled],.grey-cascade.btn[disabled].active,.grey-cascade.btn[disabled]:active,.grey-cascade.btn[disabled]:focus,.grey-cascade.btn[disabled]:hover,fieldset[disabled] .grey-cascade.btn,fieldset[disabled] .grey-cascade.btn.active,fieldset[disabled] .grey-cascade.btn:active,fieldset[disabled] .grey-cascade.btn:focus,fieldset[disabled] .grey-cascade.btn:hover{background-color:#95A5A6}.grey-cascade.btn .badge{color:#95A5A6;background-color:#FFF}.portlet.box.grey-cascade>.portlet-title,.portlet.grey-cascade,.portlet>.portlet-body.grey-cascade{background-color:#95A5A6}.btn.grey-cascade-stripe{border-left:3px solid #95A5A6}.portlet.solid.grey-cascade>.portlet-body,.portlet.solid.grey-cascade>.portlet-title{border:0;color:#FFF}.portlet.solid.grey-cascade>.portlet-title>.caption>i{color:#FFF}.portlet.solid.grey-cascade>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.grey-cascade>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.grey-cascade>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.grey-cascade>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.grey-cascade>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.grey-cascade>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.grey-cascade{border:1px solid #b1bdbd;border-top:0}.portlet.box.grey-cascade>.portlet-title>.caption,.portlet.box.grey-cascade>.portlet-title>.caption>i{color:#FFF}.portlet.box.grey-cascade>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #d2d9d9;color:#e0e5e5}.portlet.box.grey-cascade>.portlet-title>.actions .btn-default>i{color:#e8ecec}.portlet.box.grey-cascade>.portlet-title>.actions .btn-default.active,.portlet.box.grey-cascade>.portlet-title>.actions .btn-default:active,.portlet.box.grey-cascade>.portlet-title>.actions .btn-default:focus,.portlet.box.grey-cascade>.portlet-title>.actions .btn-default:hover{border:1px solid #eef0f0;color:#fcfcfc}.dashboard-stat.grey-cascade{background-color:#95A5A6}.dashboard-stat.grey-cascade.dashboard-stat-light:hover{background-color:#8a9c9d}.dashboard-stat.grey-cascade .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.grey-cascade .details .number{color:#FFF}.dashboard-stat.grey-cascade .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.grey-cascade .more{color:#FFF;background-color:#8a9c9d}.bg-grey-cascade{border-color:#95A5A6!important;background-image:none!important;background-color:#95A5A6!important;color:#FFF!important}.font-grey-cascade{color:#95A5A6!important}.progress-bar.grey-cascade{background:#95A5A6!important;color:#FFF!important}.grey-silver.btn{color:#FAFCFB;background-color:#BFBFBF;border-color:""}.grey-silver.btn.active,.grey-silver.btn:active,.grey-silver.btn:focus,.grey-silver.btn:hover,.open .grey-silver.btn.dropdown-toggle{color:#FAFCFB;background-color:#adadad}.grey-silver.btn.active,.grey-silver.btn:active{background-image:none;background-color:#a0a0a0}.grey-silver.btn.active:hover,.grey-silver.btn:active:hover{background-color:#a6a6a6}.open .grey-silver.btn.dropdown-toggle{background-image:none}.grey-silver.btn.disabled,.grey-silver.btn.disabled.active,.grey-silver.btn.disabled:active,.grey-silver.btn.disabled:focus,.grey-silver.btn.disabled:hover,.grey-silver.btn[disabled],.grey-silver.btn[disabled].active,.grey-silver.btn[disabled]:active,.grey-silver.btn[disabled]:focus,.grey-silver.btn[disabled]:hover,fieldset[disabled] .grey-silver.btn,fieldset[disabled] .grey-silver.btn.active,fieldset[disabled] .grey-silver.btn:active,fieldset[disabled] .grey-silver.btn:focus,fieldset[disabled] .grey-silver.btn:hover{background-color:#BFBFBF}.grey-silver.btn .badge{color:#BFBFBF;background-color:#FAFCFB}.portlet.box.grey-silver>.portlet-title,.portlet.grey-silver,.portlet>.portlet-body.grey-silver{background-color:#BFBFBF}.btn.grey-silver-stripe{border-left:3px solid #BFBFBF}.portlet.solid.grey-silver>.portlet-body,.portlet.solid.grey-silver>.portlet-title{border:0;color:#FAFCFB}.portlet.solid.grey-silver>.portlet-title>.caption>i{color:#FAFCFB}.portlet.solid.grey-silver>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.grey-silver>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.grey-silver>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.grey-silver>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.grey-silver>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.grey-silver>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.grey-silver{border:1px solid #d9d9d9;border-top:0}.portlet.box.grey-silver>.portlet-title>.caption,.portlet.box.grey-silver>.portlet-title>.caption>i{color:#FAFCFB}.portlet.box.grey-silver>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #f7f7f7;color:#fff}.portlet.box.grey-silver>.portlet-title>.actions .btn-default>i{color:#fff}.portlet.box.grey-silver>.portlet-title>.actions .btn-default.active,.portlet.box.grey-silver>.portlet-title>.actions .btn-default:active,.portlet.box.grey-silver>.portlet-title>.actions .btn-default:focus,.portlet.box.grey-silver>.portlet-title>.actions .btn-default:hover{border:1px solid #fff;color:#fff}.dashboard-stat.grey-silver{background-color:#BFBFBF}.dashboard-stat.grey-silver.dashboard-stat-light:hover{background-color:#b5b5b5}.dashboard-stat.grey-silver .visual>i{color:#FAFCFB;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.grey-silver .details .number{color:#FAFCFB}.dashboard-stat.grey-silver .details .desc{color:#FAFCFB;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.grey-silver .more{color:#FAFCFB;background-color:#b5b5b5}.bg-grey-silver{border-color:#BFBFBF!important;background-image:none!important;background-color:#BFBFBF!important;color:#FAFCFB!important}.font-grey-silver{color:#BFBFBF!important}.progress-bar.grey-silver{background:#BFBFBF!important;color:#FAFCFB!important}.grey-salsa.btn{color:#FAFCFB;background-color:#ACB5C3;border-color:""}.grey-salsa.btn.active,.grey-salsa.btn:active,.grey-salsa.btn:focus,.grey-salsa.btn:hover,.open .grey-salsa.btn.dropdown-toggle{color:#FAFCFB;background-color:#97a3b4}.grey-salsa.btn.active,.grey-salsa.btn:active{background-image:none;background-color:#8895a9}.grey-salsa.btn.active:hover,.grey-salsa.btn:active:hover{background-color:#8e9bae}.open .grey-salsa.btn.dropdown-toggle{background-image:none}.grey-salsa.btn.disabled,.grey-salsa.btn.disabled.active,.grey-salsa.btn.disabled:active,.grey-salsa.btn.disabled:focus,.grey-salsa.btn.disabled:hover,.grey-salsa.btn[disabled],.grey-salsa.btn[disabled].active,.grey-salsa.btn[disabled]:active,.grey-salsa.btn[disabled]:focus,.grey-salsa.btn[disabled]:hover,fieldset[disabled] .grey-salsa.btn,fieldset[disabled] .grey-salsa.btn.active,fieldset[disabled] .grey-salsa.btn:active,fieldset[disabled] .grey-salsa.btn:focus,fieldset[disabled] .grey-salsa.btn:hover{background-color:#ACB5C3}.grey-salsa.btn .badge{color:#ACB5C3;background-color:#FAFCFB}.portlet.box.grey-salsa>.portlet-title,.portlet.grey-salsa,.portlet>.portlet-body.grey-salsa{background-color:#ACB5C3}.btn.grey-salsa-stripe{border-left:3px solid #ACB5C3}.portlet.solid.grey-salsa>.portlet-body,.portlet.solid.grey-salsa>.portlet-title{border:0;color:#FAFCFB}.portlet.solid.grey-salsa>.portlet-title>.caption>i{color:#FAFCFB}.portlet.solid.grey-salsa>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.grey-salsa>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.grey-salsa>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.grey-salsa>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.grey-salsa>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.grey-salsa>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.grey-salsa{border:1px solid #cacfd8;border-top:0}.portlet.box.grey-salsa>.portlet-title>.caption,.portlet.box.grey-salsa>.portlet-title>.caption>i{color:#FAFCFB}.portlet.box.grey-salsa>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #edeff2;color:#fcfcfd}.portlet.box.grey-salsa>.portlet-title>.actions .btn-default>i{color:#fff}.portlet.box.grey-salsa>.portlet-title>.actions .btn-default.active,.portlet.box.grey-salsa>.portlet-title>.actions .btn-default:active,.portlet.box.grey-salsa>.portlet-title>.actions .btn-default:focus,.portlet.box.grey-salsa>.portlet-title>.actions .btn-default:hover{border:1px solid #fff;color:#fff}.dashboard-stat.grey-salsa{background-color:#ACB5C3}.dashboard-stat.grey-salsa.dashboard-stat-light:hover{background-color:#a0aaba}.dashboard-stat.grey-salsa .visual>i{color:#FAFCFB;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.grey-salsa .details .number{color:#FAFCFB}.dashboard-stat.grey-salsa .details .desc{color:#FAFCFB;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.grey-salsa .more{color:#FAFCFB;background-color:#a0aaba}.bg-grey-salsa{border-color:#ACB5C3!important;background-image:none!important;background-color:#ACB5C3!important;color:#FAFCFB!important}.font-grey-salsa{color:#ACB5C3!important}.progress-bar.grey-salsa{background:#ACB5C3!important;color:#FAFCFB!important}.grey-salt.btn{color:#FAFCFB;background-color:#bfcad1;border-color:""}.grey-salt.btn.active,.grey-salt.btn:active,.grey-salt.btn:focus,.grey-salt.btn:hover,.open .grey-salt.btn.dropdown-toggle{color:#FAFCFB;background-color:#aab9c2}.grey-salt.btn.active,.grey-salt.btn:active{background-image:none;background-color:#9badb7}.grey-salt.btn.active:hover,.grey-salt.btn:active:hover{background-color:#a1b1bc}.open .grey-salt.btn.dropdown-toggle{background-image:none}.grey-salt.btn.disabled,.grey-salt.btn.disabled.active,.grey-salt.btn.disabled:active,.grey-salt.btn.disabled:focus,.grey-salt.btn.disabled:hover,.grey-salt.btn[disabled],.grey-salt.btn[disabled].active,.grey-salt.btn[disabled]:active,.grey-salt.btn[disabled]:focus,.grey-salt.btn[disabled]:hover,fieldset[disabled] .grey-salt.btn,fieldset[disabled] .grey-salt.btn.active,fieldset[disabled] .grey-salt.btn:active,fieldset[disabled] .grey-salt.btn:focus,fieldset[disabled] .grey-salt.btn:hover{background-color:#bfcad1}.grey-salt.btn .badge{color:#bfcad1;background-color:#FAFCFB}.portlet.box.grey-salt>.portlet-title,.portlet.grey-salt,.portlet>.portlet-body.grey-salt{background-color:#bfcad1}.btn.grey-salt-stripe{border-left:3px solid #bfcad1}.portlet.solid.grey-salt>.portlet-body,.portlet.solid.grey-salt>.portlet-title{border:0;color:#FAFCFB}.portlet.solid.grey-salt>.portlet-title>.caption>i{color:#FAFCFB}.portlet.solid.grey-salt>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.grey-salt>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.grey-salt>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.grey-salt>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.grey-salt>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.grey-salt>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.grey-salt{border:1px solid #dde3e6;border-top:0}.portlet.box.grey-salt>.portlet-title>.caption,.portlet.box.grey-salt>.portlet-title>.caption>i{color:#FAFCFB}.portlet.box.grey-salt>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #fff;color:#fff}.portlet.box.grey-salt>.portlet-title>.actions .btn-default>i{color:#fff}.portlet.box.grey-salt>.portlet-title>.actions .btn-default.active,.portlet.box.grey-salt>.portlet-title>.actions .btn-default:active,.portlet.box.grey-salt>.portlet-title>.actions .btn-default:focus,.portlet.box.grey-salt>.portlet-title>.actions .btn-default:hover{border:1px solid #fff;color:#fff}.dashboard-stat.grey-salt{background-color:#bfcad1}.dashboard-stat.grey-salt.dashboard-stat-light:hover{background-color:#b3c0c8}.dashboard-stat.grey-salt .visual>i{color:#FAFCFB;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.grey-salt .details .number{color:#FAFCFB}.dashboard-stat.grey-salt .details .desc{color:#FAFCFB;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.grey-salt .more{color:#FAFCFB;background-color:#b3c0c8}.bg-grey-salt{border-color:#bfcad1!important;background-image:none!important;background-color:#bfcad1!important;color:#FAFCFB!important}.font-grey-salt{color:#bfcad1!important}.progress-bar.grey-salt{background:#bfcad1!important;color:#FAFCFB!important}.grey-mint.btn{color:#FAFCFB;background-color:#9eacb4;border-color:""}.grey-mint.btn.active,.grey-mint.btn:active,.grey-mint.btn:focus,.grey-mint.btn:hover,.open .grey-mint.btn.dropdown-toggle{color:#FAFCFB;background-color:#8a9ba4}.grey-mint.btn.active,.grey-mint.btn:active{background-image:none;background-color:#7b8e99}.grey-mint.btn.active:hover,.grey-mint.btn:active:hover{background-color:#81939e}.open .grey-mint.btn.dropdown-toggle{background-image:none}.grey-mint.btn.disabled,.grey-mint.btn.disabled.active,.grey-mint.btn.disabled:active,.grey-mint.btn.disabled:focus,.grey-mint.btn.disabled:hover,.grey-mint.btn[disabled],.grey-mint.btn[disabled].active,.grey-mint.btn[disabled]:active,.grey-mint.btn[disabled]:focus,.grey-mint.btn[disabled]:hover,fieldset[disabled] .grey-mint.btn,fieldset[disabled] .grey-mint.btn.active,fieldset[disabled] .grey-mint.btn:active,fieldset[disabled] .grey-mint.btn:focus,fieldset[disabled] .grey-mint.btn:hover{background-color:#9eacb4}.grey-mint.btn .badge{color:#9eacb4;background-color:#FAFCFB}.portlet.box.grey-mint>.portlet-title,.portlet.grey-mint,.portlet>.portlet-body.grey-mint{background-color:#9eacb4}.btn.grey-mint-stripe{border-left:3px solid #9eacb4}.portlet.solid.grey-mint>.portlet-body,.portlet.solid.grey-mint>.portlet-title{border:0;color:#FAFCFB}.portlet.solid.grey-mint>.portlet-title>.caption>i{color:#FAFCFB}.portlet.solid.grey-mint>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.grey-mint>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.grey-mint>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.grey-mint>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.grey-mint>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.grey-mint>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.grey-mint{border:1px solid #bbc5ca;border-top:0}.portlet.box.grey-mint>.portlet-title>.caption,.portlet.box.grey-mint>.portlet-title>.caption>i{color:#FAFCFB}.portlet.box.grey-mint>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #dde2e5;color:#eceef0}.portlet.box.grey-mint>.portlet-title>.actions .btn-default>i{color:#f4f6f7}.portlet.box.grey-mint>.portlet-title>.actions .btn-default.active,.portlet.box.grey-mint>.portlet-title>.actions .btn-default:active,.portlet.box.grey-mint>.portlet-title>.actions .btn-default:focus,.portlet.box.grey-mint>.portlet-title>.actions .btn-default:hover{border:1px solid #fafbfb;color:#fff}.dashboard-stat.grey-mint{background-color:#9eacb4}.dashboard-stat.grey-mint.dashboard-stat-light:hover{background-color:#92a2ab}.dashboard-stat.grey-mint .visual>i{color:#FAFCFB;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.grey-mint .details .number{color:#FAFCFB}.dashboard-stat.grey-mint .details .desc{color:#FAFCFB;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.grey-mint .more{color:#FAFCFB;background-color:#92a2ab}.bg-grey-mint{border-color:#9eacb4!important;background-image:none!important;background-color:#9eacb4!important;color:#FAFCFB!important}.font-grey-mint{color:#9eacb4!important}.progress-bar.grey-mint{background:#9eacb4!important;color:#FAFCFB!important}.red.btn{color:#FFF;background-color:#d84a38;border-color:""}.open .red.btn.dropdown-toggle,.red.btn.active,.red.btn:active,.red.btn:focus,.red.btn:hover{color:#FFF;background-color:#c63927}.red.btn.active,.red.btn:active{background-image:none;background-color:#b03223}.red.btn.active:hover,.red.btn:active:hover{background-color:#b93524}.open .red.btn.dropdown-toggle{background-image:none}.red.btn.disabled,.red.btn.disabled.active,.red.btn.disabled:active,.red.btn.disabled:focus,.red.btn.disabled:hover,.red.btn[disabled],.red.btn[disabled].active,.red.btn[disabled]:active,.red.btn[disabled]:focus,.red.btn[disabled]:hover,fieldset[disabled] .red.btn,fieldset[disabled] .red.btn.active,fieldset[disabled] .red.btn:active,fieldset[disabled] .red.btn:focus,fieldset[disabled] .red.btn:hover{background-color:#d84a38}.red.btn .badge{color:#d84a38;background-color:#FFF}.portlet.box.red>.portlet-title,.portlet.red,.portlet>.portlet-body.red{background-color:#d84a38}.btn.red-stripe{border-left:3px solid #d84a38}.portlet.solid.red>.portlet-body,.portlet.solid.red>.portlet-title{border:0;color:#FFF}.portlet.solid.red>.portlet-title>.caption>i{color:#FFF}.portlet.solid.red>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.red>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.red>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.red>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.red>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.red>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.red{border:1px solid #e07163;border-top:0}.portlet.box.red>.portlet-title>.caption,.portlet.box.red>.portlet-title>.caption>i{color:#FFF}.portlet.box.red>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #ea9f96;color:#efb3ab}.portlet.box.red>.portlet-title>.actions .btn-default>i{color:#f1beb8}.portlet.box.red>.portlet-title>.actions .btn-default.active,.portlet.box.red>.portlet-title>.actions .btn-default:active,.portlet.box.red>.portlet-title>.actions .btn-default:focus,.portlet.box.red>.portlet-title>.actions .btn-default:hover{border:1px solid #f3c6c0;color:#f7dad6}.dashboard-stat.red{background-color:#d84a38}.dashboard-stat.red.dashboard-stat-light:hover{background-color:#d23c29}.dashboard-stat.red .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.red .details .number{color:#FFF}.dashboard-stat.red .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.red .more{color:#FFF;background-color:#d23c29}.bg-red{border-color:#d84a38!important;background-image:none!important;background-color:#d84a38!important;color:#FFF!important}.font-red{color:#d84a38!important}.progress-bar.red{background:#d84a38!important;color:#FFF!important}.red-pink.btn{color:#FFF;background-color:#E08283;border-color:""}.open .red-pink.btn.dropdown-toggle,.red-pink.btn.active,.red-pink.btn:active,.red-pink.btn:focus,.red-pink.btn:hover{color:#FFF;background-color:#d96567}.red-pink.btn.active,.red-pink.btn:active{background-image:none;background-color:#d45152}.red-pink.btn.active:hover,.red-pink.btn:active:hover{background-color:#d6595a}.open .red-pink.btn.dropdown-toggle{background-image:none}.red-pink.btn.disabled,.red-pink.btn.disabled.active,.red-pink.btn.disabled:active,.red-pink.btn.disabled:focus,.red-pink.btn.disabled:hover,.red-pink.btn[disabled],.red-pink.btn[disabled].active,.red-pink.btn[disabled]:active,.red-pink.btn[disabled]:focus,.red-pink.btn[disabled]:hover,fieldset[disabled] .red-pink.btn,fieldset[disabled] .red-pink.btn.active,fieldset[disabled] .red-pink.btn:active,fieldset[disabled] .red-pink.btn:focus,fieldset[disabled] .red-pink.btn:hover{background-color:#E08283}.red-pink.btn .badge{color:#E08283;background-color:#FFF}.portlet.box.red-pink>.portlet-title,.portlet.red-pink,.portlet>.portlet-body.red-pink{background-color:#E08283}.btn.red-pink-stripe{border-left:3px solid #E08283}.portlet.solid.red-pink>.portlet-body,.portlet.solid.red-pink>.portlet-title{border:0;color:#FFF}.portlet.solid.red-pink>.portlet-title>.caption>i{color:#FFF}.portlet.solid.red-pink>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.red-pink>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.red-pink>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.red-pink>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.red-pink>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.red-pink>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.red-pink{border:1px solid #eaabac;border-top:0}.portlet.box.red-pink>.portlet-title>.caption,.portlet.box.red-pink>.portlet-title>.caption>i{color:#FFF}.portlet.box.red-pink>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #f6dcdc;color:#fbf0f0}.portlet.box.red-pink>.portlet-title>.actions .btn-default>i{color:#fefdfd}.portlet.box.red-pink>.portlet-title>.actions .btn-default.active,.portlet.box.red-pink>.portlet-title>.actions .btn-default:active,.portlet.box.red-pink>.portlet-title>.actions .btn-default:focus,.portlet.box.red-pink>.portlet-title>.actions .btn-default:hover{border:1px solid #fff;color:#fff}.dashboard-stat.red-pink{background-color:#E08283}.dashboard-stat.red-pink.dashboard-stat-light:hover{background-color:#dc7273}.dashboard-stat.red-pink .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.red-pink .details .number{color:#FFF}.dashboard-stat.red-pink .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.red-pink .more{color:#FFF;background-color:#dc7273}.bg-red-pink{border-color:#E08283!important;background-image:none!important;background-color:#E08283!important;color:#FFF!important}.font-red-pink{color:#E08283!important}.progress-bar.red-pink{background:#E08283!important;color:#FFF!important}.red-sunglo.btn{color:#FFF;background-color:#E26A6A;border-color:""}.open .red-sunglo.btn.dropdown-toggle,.red-sunglo.btn.active,.red-sunglo.btn:active,.red-sunglo.btn:focus,.red-sunglo.btn:hover{color:#FFF;background-color:#dc4c4c}.red-sunglo.btn.active,.red-sunglo.btn:active{background-image:none;background-color:#d83737}.red-sunglo.btn.active:hover,.red-sunglo.btn:active:hover{background-color:#da3f3f}.open .red-sunglo.btn.dropdown-toggle{background-image:none}.red-sunglo.btn.disabled,.red-sunglo.btn.disabled.active,.red-sunglo.btn.disabled:active,.red-sunglo.btn.disabled:focus,.red-sunglo.btn.disabled:hover,.red-sunglo.btn[disabled],.red-sunglo.btn[disabled].active,.red-sunglo.btn[disabled]:active,.red-sunglo.btn[disabled]:focus,.red-sunglo.btn[disabled]:hover,fieldset[disabled] .red-sunglo.btn,fieldset[disabled] .red-sunglo.btn.active,fieldset[disabled] .red-sunglo.btn:active,fieldset[disabled] .red-sunglo.btn:focus,fieldset[disabled] .red-sunglo.btn:hover{background-color:#E26A6A}.red-sunglo.btn .badge{color:#E26A6A;background-color:#FFF}.portlet.box.red-sunglo>.portlet-title,.portlet.red-sunglo,.portlet>.portlet-body.red-sunglo{background-color:#E26A6A}.btn.red-sunglo-stripe{border-left:3px solid #E26A6A}.portlet.solid.red-sunglo>.portlet-body,.portlet.solid.red-sunglo>.portlet-title{border:0;color:#FFF}.portlet.solid.red-sunglo>.portlet-title>.caption>i{color:#FFF}.portlet.solid.red-sunglo>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.red-sunglo>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.red-sunglo>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.red-sunglo>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.red-sunglo>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.red-sunglo>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.red-sunglo{border:1px solid #ea9595;border-top:0}.portlet.box.red-sunglo>.portlet-title>.caption,.portlet.box.red-sunglo>.portlet-title>.caption>i{color:#FFF}.portlet.box.red-sunglo>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #f4c8c8;color:#f8dddd}.portlet.box.red-sunglo>.portlet-title>.actions .btn-default>i{color:#fbeaea}.portlet.box.red-sunglo>.portlet-title>.actions .btn-default.active,.portlet.box.red-sunglo>.portlet-title>.actions .btn-default:active,.portlet.box.red-sunglo>.portlet-title>.actions .btn-default:focus,.portlet.box.red-sunglo>.portlet-title>.actions .btn-default:hover{border:1px solid #fdf3f3;color:#fff}.dashboard-stat.red-sunglo{background-color:#E26A6A}.dashboard-stat.red-sunglo.dashboard-stat-light:hover{background-color:#df5959}.dashboard-stat.red-sunglo .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.red-sunglo .details .number{color:#FFF}.dashboard-stat.red-sunglo .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.red-sunglo .more{color:#FFF;background-color:#df5959}.bg-red-sunglo{border-color:#E26A6A!important;background-image:none!important;background-color:#E26A6A!important;color:#FFF!important}.font-red-sunglo{color:#E26A6A!important}.progress-bar.red-sunglo{background:#E26A6A!important;color:#FFF!important}.red-intense.btn{color:#FFF;background-color:#e35b5a;border-color:""}.open .red-intense.btn.dropdown-toggle,.red-intense.btn.active,.red-intense.btn:active,.red-intense.btn:focus,.red-intense.btn:hover{color:#FFF;background-color:#de3d3b}.red-intense.btn.active,.red-intense.btn:active{background-image:none;background-color:#da2726}.red-intense.btn.active:hover,.red-intense.btn:active:hover{background-color:#dc302e}.open .red-intense.btn.dropdown-toggle{background-image:none}.red-intense.btn.disabled,.red-intense.btn.disabled.active,.red-intense.btn.disabled:active,.red-intense.btn.disabled:focus,.red-intense.btn.disabled:hover,.red-intense.btn[disabled],.red-intense.btn[disabled].active,.red-intense.btn[disabled]:active,.red-intense.btn[disabled]:focus,.red-intense.btn[disabled]:hover,fieldset[disabled] .red-intense.btn,fieldset[disabled] .red-intense.btn.active,fieldset[disabled] .red-intense.btn:active,fieldset[disabled] .red-intense.btn:focus,fieldset[disabled] .red-intense.btn:hover{background-color:#e35b5a}.red-intense.btn .badge{color:#e35b5a;background-color:#FFF}.portlet.box.red-intense>.portlet-title,.portlet.red-intense,.portlet>.portlet-body.red-intense{background-color:#e35b5a}.btn.red-intense-stripe{border-left:3px solid #e35b5a}.portlet.solid.red-intense>.portlet-body,.portlet.solid.red-intense>.portlet-title{border:0;color:#FFF}.portlet.solid.red-intense>.portlet-title>.caption>i{color:#FFF}.portlet.solid.red-intense>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.red-intense>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.red-intense>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.red-intense>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.red-intense>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.red-intense>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.red-intense{border:1px solid #ea8686;border-top:0}.portlet.box.red-intense>.portlet-title>.caption,.portlet.box.red-intense>.portlet-title>.caption>i{color:#FFF}.portlet.box.red-intense>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #f3baba;color:#f7d0d0}.portlet.box.red-intense>.portlet-title>.actions .btn-default>i{color:#f9dddd}.portlet.box.red-intense>.portlet-title>.actions .btn-default.active,.portlet.box.red-intense>.portlet-title>.actions .btn-default:active,.portlet.box.red-intense>.portlet-title>.actions .btn-default:focus,.portlet.box.red-intense>.portlet-title>.actions .btn-default:hover{border:1px solid #fbe6e6;color:#fefbfb}.dashboard-stat.red-intense{background-color:#e35b5a}.dashboard-stat.red-intense.dashboard-stat-light:hover{background-color:#e04a49}.dashboard-stat.red-intense .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.red-intense .details .number{color:#FFF}.dashboard-stat.red-intense .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.red-intense .more{color:#FFF;background-color:#e04a49}.bg-red-intense{border-color:#e35b5a!important;background-image:none!important;background-color:#e35b5a!important;color:#FFF!important}.font-red-intense{color:#e35b5a!important}.progress-bar.red-intense{background:#e35b5a!important;color:#FFF!important}.red-thunderbird.btn{color:#FFF;background-color:#D91E18;border-color:""}.open .red-thunderbird.btn.dropdown-toggle,.red-thunderbird.btn.active,.red-thunderbird.btn:active,.red-thunderbird.btn:focus,.red-thunderbird.btn:hover{color:#FFF;background-color:#b91a14}.red-thunderbird.btn.active,.red-thunderbird.btn:active{background-image:none;background-color:#a21612}.red-thunderbird.btn.active:hover,.red-thunderbird.btn:active:hover{background-color:#ab1813}.open .red-thunderbird.btn.dropdown-toggle{background-image:none}.red-thunderbird.btn.disabled,.red-thunderbird.btn.disabled.active,.red-thunderbird.btn.disabled:active,.red-thunderbird.btn.disabled:focus,.red-thunderbird.btn.disabled:hover,.red-thunderbird.btn[disabled],.red-thunderbird.btn[disabled].active,.red-thunderbird.btn[disabled]:active,.red-thunderbird.btn[disabled]:focus,.red-thunderbird.btn[disabled]:hover,fieldset[disabled] .red-thunderbird.btn,fieldset[disabled] .red-thunderbird.btn.active,fieldset[disabled] .red-thunderbird.btn:active,fieldset[disabled] .red-thunderbird.btn:focus,fieldset[disabled] .red-thunderbird.btn:hover{background-color:#D91E18}.red-thunderbird.btn .badge{color:#D91E18;background-color:#FFF}.portlet.box.red-thunderbird>.portlet-title,.portlet.red-thunderbird,.portlet>.portlet-body.red-thunderbird{background-color:#D91E18}.btn.red-thunderbird-stripe{border-left:3px solid #D91E18}.portlet.solid.red-thunderbird>.portlet-body,.portlet.solid.red-thunderbird>.portlet-title{border:0;color:#FFF}.portlet.solid.red-thunderbird>.portlet-title>.caption>i{color:#FFF}.portlet.solid.red-thunderbird>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.red-thunderbird>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.red-thunderbird>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.red-thunderbird>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.red-thunderbird>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.red-thunderbird>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.red-thunderbird{border:1px solid #e9403b;border-top:0}.portlet.box.red-thunderbird>.portlet-title>.caption,.portlet.box.red-thunderbird>.portlet-title>.caption>i{color:#FFF}.portlet.box.red-thunderbird>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #ef7672;color:#f28c89}.portlet.box.red-thunderbird>.portlet-title>.actions .btn-default>i{color:#f39997}.portlet.box.red-thunderbird>.portlet-title>.actions .btn-default.active,.portlet.box.red-thunderbird>.portlet-title>.actions .btn-default:active,.portlet.box.red-thunderbird>.portlet-title>.actions .btn-default:focus,.portlet.box.red-thunderbird>.portlet-title>.actions .btn-default:hover{border:1px solid #f4a2a0;color:#f7b9b7}.dashboard-stat.red-thunderbird{background-color:#D91E18}.dashboard-stat.red-thunderbird.dashboard-stat-light:hover{background-color:#c71b16}.dashboard-stat.red-thunderbird .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.red-thunderbird .details .number{color:#FFF}.dashboard-stat.red-thunderbird .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.red-thunderbird .more{color:#FFF;background-color:#c71b16}.bg-red-thunderbird{border-color:#D91E18!important;background-image:none!important;background-color:#D91E18!important;color:#FFF!important}.font-red-thunderbird{color:#D91E18!important}.progress-bar.red-thunderbird{background:#D91E18!important;color:#FFF!important}.red-flamingo.btn{color:#FFF;background-color:#EF4836;border-color:""}.open .red-flamingo.btn.dropdown-toggle,.red-flamingo.btn.active,.red-flamingo.btn:active,.red-flamingo.btn:focus,.red-flamingo.btn:hover{color:#FFF;background-color:#ec2a15}.red-flamingo.btn.active,.red-flamingo.btn:active{background-image:none;background-color:#d72411}.red-flamingo.btn.active:hover,.red-flamingo.btn:active:hover{background-color:#e02612}.open .red-flamingo.btn.dropdown-toggle{background-image:none}.red-flamingo.btn.disabled,.red-flamingo.btn.disabled.active,.red-flamingo.btn.disabled:active,.red-flamingo.btn.disabled:focus,.red-flamingo.btn.disabled:hover,.red-flamingo.btn[disabled],.red-flamingo.btn[disabled].active,.red-flamingo.btn[disabled]:active,.red-flamingo.btn[disabled]:focus,.red-flamingo.btn[disabled]:hover,fieldset[disabled] .red-flamingo.btn,fieldset[disabled] .red-flamingo.btn.active,fieldset[disabled] .red-flamingo.btn:active,fieldset[disabled] .red-flamingo.btn:focus,fieldset[disabled] .red-flamingo.btn:hover{background-color:#EF4836}.red-flamingo.btn .badge{color:#EF4836;background-color:#FFF}.portlet.box.red-flamingo>.portlet-title,.portlet.red-flamingo,.portlet>.portlet-body.red-flamingo{background-color:#EF4836}.btn.red-flamingo-stripe{border-left:3px solid #EF4836}.portlet.solid.red-flamingo>.portlet-body,.portlet.solid.red-flamingo>.portlet-title{border:0;color:#FFF}.portlet.solid.red-flamingo>.portlet-title>.caption>i{color:#FFF}.portlet.solid.red-flamingo>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.red-flamingo>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.red-flamingo>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.red-flamingo>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.red-flamingo>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.red-flamingo>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.red-flamingo{border:1px solid #f37365;border-top:0}.portlet.box.red-flamingo>.portlet-title>.caption,.portlet.box.red-flamingo>.portlet-title>.caption>i{color:#FFF}.portlet.box.red-flamingo>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #f7a79e;color:#f9bcb6}.portlet.box.red-flamingo>.portlet-title>.actions .btn-default>i{color:#fac9c4}.portlet.box.red-flamingo>.portlet-title>.actions .btn-default.active,.portlet.box.red-flamingo>.portlet-title>.actions .btn-default:active,.portlet.box.red-flamingo>.portlet-title>.actions .btn-default:focus,.portlet.box.red-flamingo>.portlet-title>.actions .btn-default:hover{border:1px solid #fbd2cd;color:#fde7e5}.dashboard-stat.red-flamingo{background-color:#EF4836}.dashboard-stat.red-flamingo.dashboard-stat-light:hover{background-color:#ed3723}.dashboard-stat.red-flamingo .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.red-flamingo .details .number{color:#FFF}.dashboard-stat.red-flamingo .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.red-flamingo .more{color:#FFF;background-color:#ed3723}.bg-red-flamingo{border-color:#EF4836!important;background-image:none!important;background-color:#EF4836!important;color:#FFF!important}.font-red-flamingo{color:#EF4836!important}.progress-bar.red-flamingo{background:#EF4836!important;color:#FFF!important}.red-soft.btn{color:#FFF;background-color:#d05454;border-color:""}.open .red-soft.btn.dropdown-toggle,.red-soft.btn.active,.red-soft.btn:active,.red-soft.btn:focus,.red-soft.btn:hover{color:#FFF;background-color:#c83838}.red-soft.btn.active,.red-soft.btn:active{background-image:none;background-color:#b53232}.red-soft.btn.active:hover,.red-soft.btn:active:hover{background-color:#bd3434}.open .red-soft.btn.dropdown-toggle{background-image:none}.red-soft.btn.disabled,.red-soft.btn.disabled.active,.red-soft.btn.disabled:active,.red-soft.btn.disabled:focus,.red-soft.btn.disabled:hover,.red-soft.btn[disabled],.red-soft.btn[disabled].active,.red-soft.btn[disabled]:active,.red-soft.btn[disabled]:focus,.red-soft.btn[disabled]:hover,fieldset[disabled] .red-soft.btn,fieldset[disabled] .red-soft.btn.active,fieldset[disabled] .red-soft.btn:active,fieldset[disabled] .red-soft.btn:focus,fieldset[disabled] .red-soft.btn:hover{background-color:#d05454}.red-soft.btn .badge{color:#d05454;background-color:#FFF}.portlet.box.red-soft>.portlet-title,.portlet.red-soft,.portlet>.portlet-body.red-soft{background-color:#d05454}.btn.red-soft-stripe{border-left:3px solid #d05454}.portlet.solid.red-soft>.portlet-body,.portlet.solid.red-soft>.portlet-title{border:0;color:#FFF}.portlet.solid.red-soft>.portlet-title>.caption>i{color:#FFF}.portlet.solid.red-soft>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.red-soft>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.red-soft>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.red-soft>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.red-soft>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.red-soft>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.red-soft{border:1px solid #db7c7c;border-top:0}.portlet.box.red-soft>.portlet-title>.caption,.portlet.box.red-soft>.portlet-title>.caption>i{color:#FFF}.portlet.box.red-soft>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #e8acac;color:#eec0c0}.portlet.box.red-soft>.portlet-title>.actions .btn-default>i{color:#f1cccc}.portlet.box.red-soft>.portlet-title>.actions .btn-default.active,.portlet.box.red-soft>.portlet-title>.actions .btn-default:active,.portlet.box.red-soft>.portlet-title>.actions .btn-default:focus,.portlet.box.red-soft>.portlet-title>.actions .btn-default:hover{border:1px solid #f3d4d4;color:#f9e8e8}.dashboard-stat.red-soft{background-color:#d05454}.dashboard-stat.red-soft.dashboard-stat-light:hover{background-color:#c44}.dashboard-stat.red-soft .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.red-soft .details .number{color:#FFF}.dashboard-stat.red-soft .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.red-soft .more{color:#FFF;background-color:#c44}.bg-red-soft{border-color:#d05454!important;background-image:none!important;background-color:#d05454!important;color:#FFF!important}.font-red-soft{color:#d05454!important}.progress-bar.red-soft{background:#d05454!important;color:#FFF!important}.red-haze.btn{color:#FFF;background-color:#f36a5a;border-color:""}.open .red-haze.btn.dropdown-toggle,.red-haze.btn.active,.red-haze.btn:active,.red-haze.btn:focus,.red-haze.btn:hover{color:#FFF;background-color:#f14c39}.red-haze.btn.active,.red-haze.btn:active{background-image:none;background-color:#ef3621}.red-haze.btn.active:hover,.red-haze.btn:active:hover{background-color:#f03f2a}.open .red-haze.btn.dropdown-toggle{background-image:none}.red-haze.btn.disabled,.red-haze.btn.disabled.active,.red-haze.btn.disabled:active,.red-haze.btn.disabled:focus,.red-haze.btn.disabled:hover,.red-haze.btn[disabled],.red-haze.btn[disabled].active,.red-haze.btn[disabled]:active,.red-haze.btn[disabled]:focus,.red-haze.btn[disabled]:hover,fieldset[disabled] .red-haze.btn,fieldset[disabled] .red-haze.btn.active,fieldset[disabled] .red-haze.btn:active,fieldset[disabled] .red-haze.btn:focus,fieldset[disabled] .red-haze.btn:hover{background-color:#f36a5a}.red-haze.btn .badge{color:#f36a5a;background-color:#FFF}.portlet.box.red-haze>.portlet-title,.portlet.red-haze,.portlet>.portlet-body.red-haze{background-color:#f36a5a}.btn.red-haze-stripe{border-left:3px solid #f36a5a}.portlet.solid.red-haze>.portlet-body,.portlet.solid.red-haze>.portlet-title{border:0;color:#FFF}.portlet.solid.red-haze>.portlet-title>.caption>i{color:#FFF}.portlet.solid.red-haze>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.red-haze>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.red-haze>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.red-haze>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.red-haze>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.red-haze>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.red-haze{border:1px solid #f6958a;border-top:0}.portlet.box.red-haze>.portlet-title>.caption,.portlet.box.red-haze>.portlet-title>.caption>i{color:#FFF}.portlet.box.red-haze>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #fbc8c3;color:#fcdeda}.portlet.box.red-haze>.portlet-title>.actions .btn-default>i{color:#fdebe9}.portlet.box.red-haze>.portlet-title>.actions .btn-default.active,.portlet.box.red-haze>.portlet-title>.actions .btn-default:active,.portlet.box.red-haze>.portlet-title>.actions .btn-default:focus,.portlet.box.red-haze>.portlet-title>.actions .btn-default:hover{border:1px solid #fef3f2;color:#fff}.dashboard-stat.red-haze{background-color:#f36a5a}.dashboard-stat.red-haze.dashboard-stat-light:hover{background-color:#f25947}.dashboard-stat.red-haze .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.red-haze .details .number{color:#FFF}.dashboard-stat.red-haze .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.red-haze .more{color:#FFF;background-color:#f25947}.bg-red-haze{border-color:#f36a5a!important;background-image:none!important;background-color:#f36a5a!important;color:#FFF!important}.font-red-haze{color:#f36a5a!important}.progress-bar.red-haze{background:#f36a5a!important;color:#FFF!important}.yellow.btn{color:#FFF;background-color:#FFB848;border-color:""}.open .yellow.btn.dropdown-toggle,.yellow.btn.active,.yellow.btn:active,.yellow.btn:focus,.yellow.btn:hover{color:#FFF;background-color:#ffaa24}.yellow.btn.active,.yellow.btn:active{background-image:none;background-color:#ffa00b}.yellow.btn.active:hover,.yellow.btn:active:hover{background-color:#ffa415}.open .yellow.btn.dropdown-toggle{background-image:none}.yellow.btn.disabled,.yellow.btn.disabled.active,.yellow.btn.disabled:active,.yellow.btn.disabled:focus,.yellow.btn.disabled:hover,.yellow.btn[disabled],.yellow.btn[disabled].active,.yellow.btn[disabled]:active,.yellow.btn[disabled]:focus,.yellow.btn[disabled]:hover,fieldset[disabled] .yellow.btn,fieldset[disabled] .yellow.btn.active,fieldset[disabled] .yellow.btn:active,fieldset[disabled] .yellow.btn:focus,fieldset[disabled] .yellow.btn:hover{background-color:#FFB848}.yellow.btn .badge{color:#FFB848;background-color:#FFF}.portlet.box.yellow>.portlet-title,.portlet.yellow,.portlet>.portlet-body.yellow{background-color:#FFB848}.btn.yellow-stripe{border-left:3px solid #FFB848}.portlet.solid.yellow>.portlet-body,.portlet.solid.yellow>.portlet-title{border:0;color:#FFF}.portlet.solid.yellow>.portlet-title>.caption>i{color:#FFF}.portlet.solid.yellow>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.yellow>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.yellow>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.yellow>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.yellow>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.yellow>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.yellow{border:1px solid #ffcc7b;border-top:0}.portlet.box.yellow>.portlet-title>.caption,.portlet.box.yellow>.portlet-title>.caption>i{color:#FFF}.portlet.box.yellow>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #ffe4b8;color:#ffedd2}.portlet.box.yellow>.portlet-title>.actions .btn-default>i{color:#fff3e1}.portlet.box.yellow>.portlet-title>.actions .btn-default.active,.portlet.box.yellow>.portlet-title>.actions .btn-default:active,.portlet.box.yellow>.portlet-title>.actions .btn-default:focus,.portlet.box.yellow>.portlet-title>.actions .btn-default:hover{border:1px solid #fff7eb;color:#fff}.dashboard-stat.yellow{background-color:#FFB848}.dashboard-stat.yellow.dashboard-stat-light:hover{background-color:#ffb034}.dashboard-stat.yellow .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.yellow .details .number{color:#FFF}.dashboard-stat.yellow .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.yellow .more{color:#FFF;background-color:#ffb034}.bg-yellow{border-color:#FFB848!important;background-image:none!important;background-color:#FFB848!important;color:#FFF!important}.font-yellow{color:#FFB848!important}.progress-bar.yellow{background:#FFB848!important;color:#FFF!important}.yellow-gold.btn{color:#FFF;background-color:#E87E04;border-color:""}.open .yellow-gold.btn.dropdown-toggle,.yellow-gold.btn.active,.yellow-gold.btn:active,.yellow-gold.btn:focus,.yellow-gold.btn:hover{color:#FFF;background-color:#c56b03}.yellow-gold.btn.active,.yellow-gold.btn:active{background-image:none;background-color:#ac5d03}.yellow-gold.btn.active:hover,.yellow-gold.btn:active:hover{background-color:#b66303}.open .yellow-gold.btn.dropdown-toggle{background-image:none}.yellow-gold.btn.disabled,.yellow-gold.btn.disabled.active,.yellow-gold.btn.disabled:active,.yellow-gold.btn.disabled:focus,.yellow-gold.btn.disabled:hover,.yellow-gold.btn[disabled],.yellow-gold.btn[disabled].active,.yellow-gold.btn[disabled]:active,.yellow-gold.btn[disabled]:focus,.yellow-gold.btn[disabled]:hover,fieldset[disabled] .yellow-gold.btn,fieldset[disabled] .yellow-gold.btn.active,fieldset[disabled] .yellow-gold.btn:active,fieldset[disabled] .yellow-gold.btn:focus,fieldset[disabled] .yellow-gold.btn:hover{background-color:#E87E04}.yellow-gold.btn .badge{color:#E87E04;background-color:#FFF}.portlet.box.yellow-gold>.portlet-title,.portlet.yellow-gold,.portlet>.portlet-body.yellow-gold{background-color:#E87E04}.btn.yellow-gold-stripe{border-left:3px solid #E87E04}.portlet.solid.yellow-gold>.portlet-body,.portlet.solid.yellow-gold>.portlet-title{border:0;color:#FFF}.portlet.solid.yellow-gold>.portlet-title>.caption>i{color:#FFF}.portlet.solid.yellow-gold>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.yellow-gold>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.yellow-gold>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.yellow-gold>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.yellow-gold>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.yellow-gold>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.yellow-gold{border:1px solid #fb9724;border-top:0}.portlet.box.yellow-gold>.portlet-title>.caption,.portlet.box.yellow-gold>.portlet-title>.caption>i{color:#FFF}.portlet.box.yellow-gold>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #fcb460;color:#fdbf79}.portlet.box.yellow-gold>.portlet-title>.actions .btn-default>i{color:#fdc788}.portlet.box.yellow-gold>.portlet-title>.actions .btn-default.active,.portlet.box.yellow-gold>.portlet-title>.actions .btn-default:active,.portlet.box.yellow-gold>.portlet-title>.actions .btn-default:focus,.portlet.box.yellow-gold>.portlet-title>.actions .btn-default:hover{border:1px solid #fdcb92;color:#fed7ab}.dashboard-stat.yellow-gold{background-color:#E87E04}.dashboard-stat.yellow-gold.dashboard-stat-light:hover{background-color:#d47304}.dashboard-stat.yellow-gold .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.yellow-gold .details .number{color:#FFF}.dashboard-stat.yellow-gold .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.yellow-gold .more{color:#FFF;background-color:#d47304}.bg-yellow-gold{border-color:#E87E04!important;background-image:none!important;background-color:#E87E04!important;color:#FFF!important}.font-yellow-gold{color:#E87E04!important}.progress-bar.yellow-gold{background:#E87E04!important;color:#FFF!important}.yellow-casablanca.btn{color:#FFF;background-color:#f2784b;border-color:""}.open .yellow-casablanca.btn.dropdown-toggle,.yellow-casablanca.btn.active,.yellow-casablanca.btn:active,.yellow-casablanca.btn:focus,.yellow-casablanca.btn:hover{color:#FFF;background-color:#f05f2a}.yellow-casablanca.btn.active,.yellow-casablanca.btn:active{background-image:none;background-color:#ee4d12}.yellow-casablanca.btn.active:hover,.yellow-casablanca.btn:active:hover{background-color:#ef541b}.open .yellow-casablanca.btn.dropdown-toggle{background-image:none}.yellow-casablanca.btn.disabled,.yellow-casablanca.btn.disabled.active,.yellow-casablanca.btn.disabled:active,.yellow-casablanca.btn.disabled:focus,.yellow-casablanca.btn.disabled:hover,.yellow-casablanca.btn[disabled],.yellow-casablanca.btn[disabled].active,.yellow-casablanca.btn[disabled]:active,.yellow-casablanca.btn[disabled]:focus,.yellow-casablanca.btn[disabled]:hover,fieldset[disabled] .yellow-casablanca.btn,fieldset[disabled] .yellow-casablanca.btn.active,fieldset[disabled] .yellow-casablanca.btn:active,fieldset[disabled] .yellow-casablanca.btn:focus,fieldset[disabled] .yellow-casablanca.btn:hover{background-color:#f2784b}.yellow-casablanca.btn .badge{color:#f2784b;background-color:#FFF}.portlet.box.yellow-casablanca>.portlet-title,.portlet.yellow-casablanca,.portlet>.portlet-body.yellow-casablanca{background-color:#f2784b}.btn.yellow-casablanca-stripe{border-left:3px solid #f2784b}.portlet.solid.yellow-casablanca>.portlet-body,.portlet.solid.yellow-casablanca>.portlet-title{border:0;color:#FFF}.portlet.solid.yellow-casablanca>.portlet-title>.caption>i{color:#FFF}.portlet.solid.yellow-casablanca>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.yellow-casablanca>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.yellow-casablanca>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.yellow-casablanca>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.yellow-casablanca>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.yellow-casablanca>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.yellow-casablanca{border:1px solid #f59c7b;border-top:0}.portlet.box.yellow-casablanca>.portlet-title>.caption,.portlet.box.yellow-casablanca>.portlet-title>.caption>i{color:#FFF}.portlet.box.yellow-casablanca>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #fac6b4;color:#fbd8cb}.portlet.box.yellow-casablanca>.portlet-title>.actions .btn-default>i{color:#fce3da}.portlet.box.yellow-casablanca>.portlet-title>.actions .btn-default.active,.portlet.box.yellow-casablanca>.portlet-title>.actions .btn-default:active,.portlet.box.yellow-casablanca>.portlet-title>.actions .btn-default:focus,.portlet.box.yellow-casablanca>.portlet-title>.actions .btn-default:hover{border:1px solid #fdeae3;color:#fffcfb}.dashboard-stat.yellow-casablanca{background-color:#f2784b}.dashboard-stat.yellow-casablanca.dashboard-stat-light:hover{background-color:#f16a38}.dashboard-stat.yellow-casablanca .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.yellow-casablanca .details .number{color:#FFF}.dashboard-stat.yellow-casablanca .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.yellow-casablanca .more{color:#FFF;background-color:#f16a38}.bg-yellow-casablanca{border-color:#f2784b!important;background-image:none!important;background-color:#f2784b!important;color:#FFF!important}.font-yellow-casablanca{color:#f2784b!important}.progress-bar.yellow-casablanca{background:#f2784b!important;color:#FFF!important}.yellow-crusta.btn{color:#FFF;background-color:#f3c200;border-color:""}.open .yellow-crusta.btn.dropdown-toggle,.yellow-crusta.btn.active,.yellow-crusta.btn:active,.yellow-crusta.btn:focus,.yellow-crusta.btn:hover{color:#FFF;background-color:#cfa500}.yellow-crusta.btn.active,.yellow-crusta.btn:active{background-image:none;background-color:#b69100}.yellow-crusta.btn.active:hover,.yellow-crusta.btn:active:hover{background-color:#c09900}.open .yellow-crusta.btn.dropdown-toggle{background-image:none}.yellow-crusta.btn.disabled,.yellow-crusta.btn.disabled.active,.yellow-crusta.btn.disabled:active,.yellow-crusta.btn.disabled:focus,.yellow-crusta.btn.disabled:hover,.yellow-crusta.btn[disabled],.yellow-crusta.btn[disabled].active,.yellow-crusta.btn[disabled]:active,.yellow-crusta.btn[disabled]:focus,.yellow-crusta.btn[disabled]:hover,fieldset[disabled] .yellow-crusta.btn,fieldset[disabled] .yellow-crusta.btn.active,fieldset[disabled] .yellow-crusta.btn:active,fieldset[disabled] .yellow-crusta.btn:focus,fieldset[disabled] .yellow-crusta.btn:hover{background-color:#f3c200}.yellow-crusta.btn .badge{color:#f3c200;background-color:#FFF}.portlet.box.yellow-crusta>.portlet-title,.portlet.yellow-crusta,.portlet>.portlet-body.yellow-crusta{background-color:#f3c200}.btn.yellow-crusta-stripe{border-left:3px solid #f3c200}.portlet.solid.yellow-crusta>.portlet-body,.portlet.solid.yellow-crusta>.portlet-title{border:0;color:#FFF}.portlet.solid.yellow-crusta>.portlet-title>.caption>i{color:#FFF}.portlet.solid.yellow-crusta>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.yellow-crusta>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.yellow-crusta>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.yellow-crusta>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.yellow-crusta>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.yellow-crusta>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.yellow-crusta{border:1px solid #ffd327;border-top:0}.portlet.box.yellow-crusta>.portlet-title>.caption,.portlet.box.yellow-crusta>.portlet-title>.caption>i{color:#FFF}.portlet.box.yellow-crusta>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #ffe064;color:#ffe57e}.portlet.box.yellow-crusta>.portlet-title>.actions .btn-default>i{color:#ffe88d}.portlet.box.yellow-crusta>.portlet-title>.actions .btn-default.active,.portlet.box.yellow-crusta>.portlet-title>.actions .btn-default:active,.portlet.box.yellow-crusta>.portlet-title>.actions .btn-default:focus,.portlet.box.yellow-crusta>.portlet-title>.actions .btn-default:hover{border:1px solid #ffea97;color:#ffefb1}.dashboard-stat.yellow-crusta{background-color:#f3c200}.dashboard-stat.yellow-crusta.dashboard-stat-light:hover{background-color:#dfb200}.dashboard-stat.yellow-crusta .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.yellow-crusta .details .number{color:#FFF}.dashboard-stat.yellow-crusta .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.yellow-crusta .more{color:#FFF;background-color:#dfb200}.bg-yellow-crusta{border-color:#f3c200!important;background-image:none!important;background-color:#f3c200!important;color:#FFF!important}.font-yellow-crusta{color:#f3c200!important}.progress-bar.yellow-crusta{background:#f3c200!important;color:#FFF!important}.yellow-lemon.btn{color:#FFF;background-color:#F7CA18;border-color:""}.open .yellow-lemon.btn.dropdown-toggle,.yellow-lemon.btn.active,.yellow-lemon.btn:active,.yellow-lemon.btn:focus,.yellow-lemon.btn:hover{color:#FFF;background-color:#e3b708}.yellow-lemon.btn.active,.yellow-lemon.btn:active{background-image:none;background-color:#cba307}.yellow-lemon.btn.active:hover,.yellow-lemon.btn:active:hover{background-color:#d5ab07}.open .yellow-lemon.btn.dropdown-toggle{background-image:none}.yellow-lemon.btn.disabled,.yellow-lemon.btn.disabled.active,.yellow-lemon.btn.disabled:active,.yellow-lemon.btn.disabled:focus,.yellow-lemon.btn.disabled:hover,.yellow-lemon.btn[disabled],.yellow-lemon.btn[disabled].active,.yellow-lemon.btn[disabled]:active,.yellow-lemon.btn[disabled]:focus,.yellow-lemon.btn[disabled]:hover,fieldset[disabled] .yellow-lemon.btn,fieldset[disabled] .yellow-lemon.btn.active,fieldset[disabled] .yellow-lemon.btn:active,fieldset[disabled] .yellow-lemon.btn:focus,fieldset[disabled] .yellow-lemon.btn:hover{background-color:#F7CA18}.yellow-lemon.btn .badge{color:#F7CA18;background-color:#FFF}.portlet.box.yellow-lemon>.portlet-title,.portlet.yellow-lemon,.portlet>.portlet-body.yellow-lemon{background-color:#F7CA18}.btn.yellow-lemon-stripe{border-left:3px solid #F7CA18}.portlet.solid.yellow-lemon>.portlet-body,.portlet.solid.yellow-lemon>.portlet-title{border:0;color:#FFF}.portlet.solid.yellow-lemon>.portlet-title>.caption>i{color:#FFF}.portlet.solid.yellow-lemon>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.yellow-lemon>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.yellow-lemon>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.yellow-lemon>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.yellow-lemon>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.yellow-lemon>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.yellow-lemon{border:1px solid #f9d549;border-top:0}.portlet.box.yellow-lemon>.portlet-title>.caption,.portlet.box.yellow-lemon>.portlet-title>.caption>i{color:#FFF}.portlet.box.yellow-lemon>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #fbe384;color:#fce99d}.portlet.box.yellow-lemon>.portlet-title>.actions .btn-default>i{color:#fcecac}.portlet.box.yellow-lemon>.portlet-title>.actions .btn-default.active,.portlet.box.yellow-lemon>.portlet-title>.actions .btn-default:active,.portlet.box.yellow-lemon>.portlet-title>.actions .btn-default:focus,.portlet.box.yellow-lemon>.portlet-title>.actions .btn-default:hover{border:1px solid #fceeb6;color:#fdf4ce}.dashboard-stat.yellow-lemon{background-color:#F7CA18}.dashboard-stat.yellow-lemon.dashboard-stat-light:hover{background-color:#f2c308}.dashboard-stat.yellow-lemon .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.yellow-lemon .details .number{color:#FFF}.dashboard-stat.yellow-lemon .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.yellow-lemon .more{color:#FFF;background-color:#f2c308}.bg-yellow-lemon{border-color:#F7CA18!important;background-image:none!important;background-color:#F7CA18!important;color:#FFF!important}.font-yellow-lemon{color:#F7CA18!important}.progress-bar.yellow-lemon{background:#F7CA18!important;color:#FFF!important}.yellow-saffron.btn{color:#FFF;background-color:#F4D03F;border-color:""}.open .yellow-saffron.btn.dropdown-toggle,.yellow-saffron.btn.active,.yellow-saffron.btn:active,.yellow-saffron.btn:focus,.yellow-saffron.btn:hover{color:#FFF;background-color:#f2c81d}.yellow-saffron.btn.active,.yellow-saffron.btn:active{background-image:none;background-color:#e8bd0d}.yellow-saffron.btn.active:hover,.yellow-saffron.btn:active:hover{background-color:#f1c40f}.open .yellow-saffron.btn.dropdown-toggle{background-image:none}.yellow-saffron.btn.disabled,.yellow-saffron.btn.disabled.active,.yellow-saffron.btn.disabled:active,.yellow-saffron.btn.disabled:focus,.yellow-saffron.btn.disabled:hover,.yellow-saffron.btn[disabled],.yellow-saffron.btn[disabled].active,.yellow-saffron.btn[disabled]:active,.yellow-saffron.btn[disabled]:focus,.yellow-saffron.btn[disabled]:hover,fieldset[disabled] .yellow-saffron.btn,fieldset[disabled] .yellow-saffron.btn.active,fieldset[disabled] .yellow-saffron.btn:active,fieldset[disabled] .yellow-saffron.btn:focus,fieldset[disabled] .yellow-saffron.btn:hover{background-color:#F4D03F}.yellow-saffron.btn .badge{color:#F4D03F;background-color:#FFF}.portlet.box.yellow-saffron>.portlet-title,.portlet.yellow-saffron,.portlet>.portlet-body.yellow-saffron{background-color:#F4D03F}.btn.yellow-saffron-stripe{border-left:3px solid #F4D03F}.portlet.solid.yellow-saffron>.portlet-body,.portlet.solid.yellow-saffron>.portlet-title{border:0;color:#FFF}.portlet.solid.yellow-saffron>.portlet-title>.caption>i{color:#FFF}.portlet.solid.yellow-saffron>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.yellow-saffron>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.yellow-saffron>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.yellow-saffron>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.yellow-saffron>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.yellow-saffron>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.yellow-saffron{border:1px solid #f7dc6f;border-top:0}.portlet.box.yellow-saffron>.portlet-title>.caption,.portlet.box.yellow-saffron>.portlet-title>.caption>i{color:#FFF}.portlet.box.yellow-saffron>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #faeaa9;color:#fbf0c1}.portlet.box.yellow-saffron>.portlet-title>.actions .btn-default>i{color:#fcf3d0}.portlet.box.yellow-saffron>.portlet-title>.actions .btn-default.active,.portlet.box.yellow-saffron>.portlet-title>.actions .btn-default:active,.portlet.box.yellow-saffron>.portlet-title>.actions .btn-default:focus,.portlet.box.yellow-saffron>.portlet-title>.actions .btn-default:hover{border:1px solid #fdf6d9;color:#fefcf1}.dashboard-stat.yellow-saffron{background-color:#F4D03F}.dashboard-stat.yellow-saffron.dashboard-stat-light:hover{background-color:#f3cb2c}.dashboard-stat.yellow-saffron .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.yellow-saffron .details .number{color:#FFF}.dashboard-stat.yellow-saffron .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.yellow-saffron .more{color:#FFF;background-color:#f3cb2c}.bg-yellow-saffron{border-color:#F4D03F!important;background-image:none!important;background-color:#F4D03F!important;color:#FFF!important}.font-yellow-saffron{color:#F4D03F!important}.progress-bar.yellow-saffron{background:#F4D03F!important;color:#FFF!important}.purple.btn{color:#FFF;background-color:#8E44AD;border-color:""}.open .purple.btn.dropdown-toggle,.purple.btn.active,.purple.btn:active,.purple.btn:focus,.purple.btn:hover{color:#FFF;background-color:#793a93}.purple.btn.active,.purple.btn:active{background-image:none;background-color:#6a3381}.purple.btn.active:hover,.purple.btn:active:hover{background-color:#703688}.open .purple.btn.dropdown-toggle{background-image:none}.purple.btn.disabled,.purple.btn.disabled.active,.purple.btn.disabled:active,.purple.btn.disabled:focus,.purple.btn.disabled:hover,.purple.btn[disabled],.purple.btn[disabled].active,.purple.btn[disabled]:active,.purple.btn[disabled]:focus,.purple.btn[disabled]:hover,fieldset[disabled] .purple.btn,fieldset[disabled] .purple.btn.active,fieldset[disabled] .purple.btn:active,fieldset[disabled] .purple.btn:focus,fieldset[disabled] .purple.btn:hover{background-color:#8E44AD}.purple.btn .badge{color:#8E44AD;background-color:#FFF}.portlet.box.purple>.portlet-title,.portlet.purple,.portlet>.portlet-body.purple{background-color:#8E44AD}.btn.purple-stripe{border-left:3px solid #8E44AD}.portlet.solid.purple>.portlet-body,.portlet.solid.purple>.portlet-title{border:0;color:#FFF}.portlet.solid.purple>.portlet-title>.caption>i{color:#FFF}.portlet.solid.purple>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.purple>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.purple>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.purple>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.purple>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.purple>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.purple{border:1px solid #a563c1;border-top:0}.portlet.box.purple>.portlet-title>.caption,.portlet.box.purple>.portlet-title>.caption>i{color:#FFF}.portlet.box.purple>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #bf8ed3;color:#c9a1da}.portlet.box.purple>.portlet-title>.actions .btn-default>i{color:#cfacde}.portlet.box.purple>.portlet-title>.actions .btn-default.active,.portlet.box.purple>.portlet-title>.actions .btn-default:active,.portlet.box.purple>.portlet-title>.actions .btn-default:focus,.portlet.box.purple>.portlet-title>.actions .btn-default:hover{border:1px solid #d4b3e1;color:#dec5e8}.dashboard-stat.purple{background-color:#8E44AD}.dashboard-stat.purple.dashboard-stat-light:hover{background-color:#823e9e}.dashboard-stat.purple .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.purple .details .number{color:#FFF}.dashboard-stat.purple .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.purple .more{color:#FFF;background-color:#823e9e}.bg-purple{border-color:#8E44AD!important;background-image:none!important;background-color:#8E44AD!important;color:#FFF!important}.font-purple{color:#8E44AD!important}.progress-bar.purple{background:#8E44AD!important;color:#FFF!important}.purple-plum.btn{color:#FFF;background-color:#8775a7;border-color:""}.open .purple-plum.btn.dropdown-toggle,.purple-plum.btn.active,.purple-plum.btn:active,.purple-plum.btn:focus,.purple-plum.btn:hover{color:#FFF;background-color:#746198}.purple-plum.btn.active,.purple-plum.btn:active{background-image:none;background-color:#685788}.purple-plum.btn.active:hover,.purple-plum.btn:active:hover{background-color:#6d5b8e}.open .purple-plum.btn.dropdown-toggle{background-image:none}.purple-plum.btn.disabled,.purple-plum.btn.disabled.active,.purple-plum.btn.disabled:active,.purple-plum.btn.disabled:focus,.purple-plum.btn.disabled:hover,.purple-plum.btn[disabled],.purple-plum.btn[disabled].active,.purple-plum.btn[disabled]:active,.purple-plum.btn[disabled]:focus,.purple-plum.btn[disabled]:hover,fieldset[disabled] .purple-plum.btn,fieldset[disabled] .purple-plum.btn.active,fieldset[disabled] .purple-plum.btn:active,fieldset[disabled] .purple-plum.btn:focus,fieldset[disabled] .purple-plum.btn:hover{background-color:#8775a7}.purple-plum.btn .badge{color:#8775a7;background-color:#FFF}.portlet.box.purple-plum>.portlet-title,.portlet.purple-plum,.portlet>.portlet-body.purple-plum{background-color:#8775a7}.btn.purple-plum-stripe{border-left:3px solid #8775a7}.portlet.solid.purple-plum>.portlet-body,.portlet.solid.purple-plum>.portlet-title{border:0;color:#FFF}.portlet.solid.purple-plum>.portlet-title>.caption>i{color:#FFF}.portlet.solid.purple-plum>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.purple-plum>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.purple-plum>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.purple-plum>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.purple-plum>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.purple-plum>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.purple-plum{border:1px solid #a294bb;border-top:0}.portlet.box.purple-plum>.portlet-title>.caption,.portlet.box.purple-plum>.portlet-title>.caption>i{color:#FFF}.portlet.box.purple-plum>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #c3bad3;color:#d0c9dd}.portlet.box.purple-plum>.portlet-title>.actions .btn-default>i{color:#d8d2e3}.portlet.box.purple-plum>.portlet-title>.actions .btn-default.active,.portlet.box.purple-plum>.portlet-title>.actions .btn-default:active,.portlet.box.purple-plum>.portlet-title>.actions .btn-default:focus,.portlet.box.purple-plum>.portlet-title>.actions .btn-default:hover{border:1px solid #ded9e7;color:#ebe8f0}.dashboard-stat.purple-plum{background-color:#8775a7}.dashboard-stat.purple-plum.dashboard-stat-light:hover{background-color:#7c699f}.dashboard-stat.purple-plum .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.purple-plum .details .number{color:#FFF}.dashboard-stat.purple-plum .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.purple-plum .more{color:#FFF;background-color:#7c699f}.bg-purple-plum{border-color:#8775a7!important;background-image:none!important;background-color:#8775a7!important;color:#FFF!important}.font-purple-plum{color:#8775a7!important}.progress-bar.purple-plum{background:#8775a7!important;color:#FFF!important}.purple-medium.btn{color:#FFF;background-color:#BF55EC;border-color:""}.open .purple-medium.btn.dropdown-toggle,.purple-medium.btn.active,.purple-medium.btn:active,.purple-medium.btn:focus,.purple-medium.btn:hover{color:#FFF;background-color:#b335e8}.purple-medium.btn.active,.purple-medium.btn:active{background-image:none;background-color:#aa1ee6}.purple-medium.btn.active:hover,.purple-medium.btn:active:hover{background-color:#ae27e7}.open .purple-medium.btn.dropdown-toggle{background-image:none}.purple-medium.btn.disabled,.purple-medium.btn.disabled.active,.purple-medium.btn.disabled:active,.purple-medium.btn.disabled:focus,.purple-medium.btn.disabled:hover,.purple-medium.btn[disabled],.purple-medium.btn[disabled].active,.purple-medium.btn[disabled]:active,.purple-medium.btn[disabled]:focus,.purple-medium.btn[disabled]:hover,fieldset[disabled] .purple-medium.btn,fieldset[disabled] .purple-medium.btn.active,fieldset[disabled] .purple-medium.btn:active,fieldset[disabled] .purple-medium.btn:focus,fieldset[disabled] .purple-medium.btn:hover{background-color:#BF55EC}.purple-medium.btn .badge{color:#BF55EC;background-color:#FFF}.portlet.box.purple-medium>.portlet-title,.portlet.purple-medium,.portlet>.portlet-body.purple-medium{background-color:#BF55EC}.btn.purple-medium-stripe{border-left:3px solid #BF55EC}.portlet.solid.purple-medium>.portlet-body,.portlet.solid.purple-medium>.portlet-title{border:0;color:#FFF}.portlet.solid.purple-medium>.portlet-title>.caption>i{color:#FFF}.portlet.solid.purple-medium>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.purple-medium>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.purple-medium>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.purple-medium>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.purple-medium>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.purple-medium>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.purple-medium{border:1px solid #d083f1;border-top:0}.portlet.box.purple-medium>.portlet-title>.caption,.portlet.box.purple-medium>.portlet-title>.caption>i{color:#FFF}.portlet.box.purple-medium>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #e5baf7;color:#eed1fa}.portlet.box.purple-medium>.portlet-title>.actions .btn-default>i{color:#f3dffb}.portlet.box.purple-medium>.portlet-title>.actions .btn-default.active,.portlet.box.purple-medium>.portlet-title>.actions .btn-default:active,.portlet.box.purple-medium>.portlet-title>.actions .btn-default:focus,.portlet.box.purple-medium>.portlet-title>.actions .btn-default:hover{border:1px solid #f6e8fc;color:#fff}.dashboard-stat.purple-medium{background-color:#BF55EC}.dashboard-stat.purple-medium.dashboard-stat-light:hover{background-color:#b843ea}.dashboard-stat.purple-medium .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.purple-medium .details .number{color:#FFF}.dashboard-stat.purple-medium .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.purple-medium .more{color:#FFF;background-color:#b843ea}.bg-purple-medium{border-color:#BF55EC!important;background-image:none!important;background-color:#BF55EC!important;color:#FFF!important}.font-purple-medium{color:#BF55EC!important}.progress-bar.purple-medium{background:#BF55EC!important;color:#FFF!important}.purple-studio.btn{color:#FFF;background-color:#8E44AD;border-color:""}.open .purple-studio.btn.dropdown-toggle,.purple-studio.btn.active,.purple-studio.btn:active,.purple-studio.btn:focus,.purple-studio.btn:hover{color:#FFF;background-color:#793a93}.purple-studio.btn.active,.purple-studio.btn:active{background-image:none;background-color:#6a3381}.purple-studio.btn.active:hover,.purple-studio.btn:active:hover{background-color:#703688}.open .purple-studio.btn.dropdown-toggle{background-image:none}.purple-studio.btn.disabled,.purple-studio.btn.disabled.active,.purple-studio.btn.disabled:active,.purple-studio.btn.disabled:focus,.purple-studio.btn.disabled:hover,.purple-studio.btn[disabled],.purple-studio.btn[disabled].active,.purple-studio.btn[disabled]:active,.purple-studio.btn[disabled]:focus,.purple-studio.btn[disabled]:hover,fieldset[disabled] .purple-studio.btn,fieldset[disabled] .purple-studio.btn.active,fieldset[disabled] .purple-studio.btn:active,fieldset[disabled] .purple-studio.btn:focus,fieldset[disabled] .purple-studio.btn:hover{background-color:#8E44AD}.purple-studio.btn .badge{color:#8E44AD;background-color:#FFF}.portlet.box.purple-studio>.portlet-title,.portlet.purple-studio,.portlet>.portlet-body.purple-studio{background-color:#8E44AD}.btn.purple-studio-stripe{border-left:3px solid #8E44AD}.portlet.solid.purple-studio>.portlet-body,.portlet.solid.purple-studio>.portlet-title{border:0;color:#FFF}.portlet.solid.purple-studio>.portlet-title>.caption>i{color:#FFF}.portlet.solid.purple-studio>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.purple-studio>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.purple-studio>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.purple-studio>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.purple-studio>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.purple-studio>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.purple-studio{border:1px solid #a563c1;border-top:0}.portlet.box.purple-studio>.portlet-title>.caption,.portlet.box.purple-studio>.portlet-title>.caption>i{color:#FFF}.portlet.box.purple-studio>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #bf8ed3;color:#c9a1da}.portlet.box.purple-studio>.portlet-title>.actions .btn-default>i{color:#cfacde}.portlet.box.purple-studio>.portlet-title>.actions .btn-default.active,.portlet.box.purple-studio>.portlet-title>.actions .btn-default:active,.portlet.box.purple-studio>.portlet-title>.actions .btn-default:focus,.portlet.box.purple-studio>.portlet-title>.actions .btn-default:hover{border:1px solid #d4b3e1;color:#dec5e8}.dashboard-stat.purple-studio{background-color:#8E44AD}.dashboard-stat.purple-studio.dashboard-stat-light:hover{background-color:#823e9e}.dashboard-stat.purple-studio .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.purple-studio .details .number{color:#FFF}.dashboard-stat.purple-studio .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.purple-studio .more{color:#FFF;background-color:#823e9e}.bg-purple-studio{border-color:#8E44AD!important;background-image:none!important;background-color:#8E44AD!important;color:#FFF!important}.font-purple-studio{color:#8E44AD!important}.progress-bar.purple-studio{background:#8E44AD!important;color:#FFF!important}.purple-wisteria.btn{color:#FFF;background-color:#9B59B6;border-color:""}.open .purple-wisteria.btn.dropdown-toggle,.purple-wisteria.btn.active,.purple-wisteria.btn:active,.purple-wisteria.btn:focus,.purple-wisteria.btn:hover{color:#FFF;background-color:#8948a3}.purple-wisteria.btn.active,.purple-wisteria.btn:active{background-image:none;background-color:#7a4092}.purple-wisteria.btn.active:hover,.purple-wisteria.btn:active:hover{background-color:#804399}.open .purple-wisteria.btn.dropdown-toggle{background-image:none}.purple-wisteria.btn.disabled,.purple-wisteria.btn.disabled.active,.purple-wisteria.btn.disabled:active,.purple-wisteria.btn.disabled:focus,.purple-wisteria.btn.disabled:hover,.purple-wisteria.btn[disabled],.purple-wisteria.btn[disabled].active,.purple-wisteria.btn[disabled]:active,.purple-wisteria.btn[disabled]:focus,.purple-wisteria.btn[disabled]:hover,fieldset[disabled] .purple-wisteria.btn,fieldset[disabled] .purple-wisteria.btn.active,fieldset[disabled] .purple-wisteria.btn:active,fieldset[disabled] .purple-wisteria.btn:focus,fieldset[disabled] .purple-wisteria.btn:hover{background-color:#9B59B6}.purple-wisteria.btn .badge{color:#9B59B6;background-color:#FFF}.portlet.box.purple-wisteria>.portlet-title,.portlet.purple-wisteria,.portlet>.portlet-body.purple-wisteria{background-color:#9B59B6}.btn.purple-wisteria-stripe{border-left:3px solid #9B59B6}.portlet.solid.purple-wisteria>.portlet-body,.portlet.solid.purple-wisteria>.portlet-title{border:0;color:#FFF}.portlet.solid.purple-wisteria>.portlet-title>.caption>i{color:#FFF}.portlet.solid.purple-wisteria>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.purple-wisteria>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.purple-wisteria>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.purple-wisteria>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.purple-wisteria>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.purple-wisteria>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.purple-wisteria{border:1px solid #b07cc6;border-top:0}.portlet.box.purple-wisteria>.portlet-title>.caption,.portlet.box.purple-wisteria>.portlet-title>.caption>i{color:#FFF}.portlet.box.purple-wisteria>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #caa7d8;color:#d5b9e0}.portlet.box.purple-wisteria>.portlet-title>.actions .btn-default>i{color:#dbc3e5}.portlet.box.purple-wisteria>.portlet-title>.actions .btn-default.active,.portlet.box.purple-wisteria>.portlet-title>.actions .btn-default:active,.portlet.box.purple-wisteria>.portlet-title>.actions .btn-default:focus,.portlet.box.purple-wisteria>.portlet-title>.actions .btn-default:hover{border:1px solid #dfcae8;color:#eadcf0}.dashboard-stat.purple-wisteria{background-color:#9B59B6}.dashboard-stat.purple-wisteria.dashboard-stat-light:hover{background-color:#924dae}.dashboard-stat.purple-wisteria .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.purple-wisteria .details .number{color:#FFF}.dashboard-stat.purple-wisteria .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.purple-wisteria .more{color:#FFF;background-color:#924dae}.bg-purple-wisteria{border-color:#9B59B6!important;background-image:none!important;background-color:#9B59B6!important;color:#FFF!important}.font-purple-wisteria{color:#9B59B6!important}.progress-bar.purple-wisteria{background:#9B59B6!important;color:#FFF!important}.purple-seance.btn{color:#FFF;background-color:#9A12B3;border-color:""}.open .purple-seance.btn.dropdown-toggle,.purple-seance.btn.active,.purple-seance.btn:active,.purple-seance.btn:focus,.purple-seance.btn:hover{color:#FFF;background-color:#7e0f93}.purple-seance.btn.active,.purple-seance.btn:active{background-image:none;background-color:#6a0c7b}.purple-seance.btn.active:hover,.purple-seance.btn:active:hover{background-color:#720d85}.open .purple-seance.btn.dropdown-toggle{background-image:none}.purple-seance.btn.disabled,.purple-seance.btn.disabled.active,.purple-seance.btn.disabled:active,.purple-seance.btn.disabled:focus,.purple-seance.btn.disabled:hover,.purple-seance.btn[disabled],.purple-seance.btn[disabled].active,.purple-seance.btn[disabled]:active,.purple-seance.btn[disabled]:focus,.purple-seance.btn[disabled]:hover,fieldset[disabled] .purple-seance.btn,fieldset[disabled] .purple-seance.btn.active,fieldset[disabled] .purple-seance.btn:active,fieldset[disabled] .purple-seance.btn:focus,fieldset[disabled] .purple-seance.btn:hover{background-color:#9A12B3}.purple-seance.btn .badge{color:#9A12B3;background-color:#FFF}.portlet.box.purple-seance>.portlet-title,.portlet.purple-seance,.portlet>.portlet-body.purple-seance{background-color:#9A12B3}.btn.purple-seance-stripe{border-left:3px solid #9A12B3}.portlet.solid.purple-seance>.portlet-body,.portlet.solid.purple-seance>.portlet-title{border:0;color:#FFF}.portlet.solid.purple-seance>.portlet-title>.caption>i{color:#FFF}.portlet.solid.purple-seance>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.purple-seance>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.purple-seance>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.purple-seance>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.purple-seance>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.purple-seance>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.purple-seance{border:1px solid #c217e1;border-top:0}.portlet.box.purple-seance>.portlet-title>.caption,.portlet.box.purple-seance>.portlet-title>.caption>i{color:#FFF}.portlet.box.purple-seance>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #d349ed;color:#d960ef}.portlet.box.purple-seance>.portlet-title>.actions .btn-default>i{color:#dc6ef0}.portlet.box.purple-seance>.portlet-title>.actions .btn-default.active,.portlet.box.purple-seance>.portlet-title>.actions .btn-default:active,.portlet.box.purple-seance>.portlet-title>.actions .btn-default:focus,.portlet.box.purple-seance>.portlet-title>.actions .btn-default:hover{border:1px solid #de77f1;color:#e48ef4}.dashboard-stat.purple-seance{background-color:#9A12B3}.dashboard-stat.purple-seance.dashboard-stat-light:hover{background-color:#8a10a0}.dashboard-stat.purple-seance .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.purple-seance .details .number{color:#FFF}.dashboard-stat.purple-seance .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.purple-seance .more{color:#FFF;background-color:#8a10a0}.bg-purple-seance{border-color:#9A12B3!important;background-image:none!important;background-color:#9A12B3!important;color:#FFF!important}.font-purple-seance{color:#9A12B3!important}.progress-bar.purple-seance{background:#9A12B3!important;color:#FFF!important}.purple-intense.btn{color:#FFF;background-color:#8775a7;border-color:""}.open .purple-intense.btn.dropdown-toggle,.purple-intense.btn.active,.purple-intense.btn:active,.purple-intense.btn:focus,.purple-intense.btn:hover{color:#FFF;background-color:#746198}.purple-intense.btn.active,.purple-intense.btn:active{background-image:none;background-color:#685788}.purple-intense.btn.active:hover,.purple-intense.btn:active:hover{background-color:#6d5b8e}.open .purple-intense.btn.dropdown-toggle{background-image:none}.purple-intense.btn.disabled,.purple-intense.btn.disabled.active,.purple-intense.btn.disabled:active,.purple-intense.btn.disabled:focus,.purple-intense.btn.disabled:hover,.purple-intense.btn[disabled],.purple-intense.btn[disabled].active,.purple-intense.btn[disabled]:active,.purple-intense.btn[disabled]:focus,.purple-intense.btn[disabled]:hover,fieldset[disabled] .purple-intense.btn,fieldset[disabled] .purple-intense.btn.active,fieldset[disabled] .purple-intense.btn:active,fieldset[disabled] .purple-intense.btn:focus,fieldset[disabled] .purple-intense.btn:hover{background-color:#8775a7}.purple-intense.btn .badge{color:#8775a7;background-color:#FFF}.portlet.box.purple-intense>.portlet-title,.portlet.purple-intense,.portlet>.portlet-body.purple-intense{background-color:#8775a7}.btn.purple-intense-stripe{border-left:3px solid #8775a7}.portlet.solid.purple-intense>.portlet-body,.portlet.solid.purple-intense>.portlet-title{border:0;color:#FFF}.portlet.solid.purple-intense>.portlet-title>.caption>i{color:#FFF}.portlet.solid.purple-intense>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.purple-intense>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.purple-intense>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.purple-intense>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.purple-intense>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.purple-intense>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.purple-intense{border:1px solid #a294bb;border-top:0}.portlet.box.purple-intense>.portlet-title>.caption,.portlet.box.purple-intense>.portlet-title>.caption>i{color:#FFF}.portlet.box.purple-intense>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #c3bad3;color:#d0c9dd}.portlet.box.purple-intense>.portlet-title>.actions .btn-default>i{color:#d8d2e3}.portlet.box.purple-intense>.portlet-title>.actions .btn-default.active,.portlet.box.purple-intense>.portlet-title>.actions .btn-default:active,.portlet.box.purple-intense>.portlet-title>.actions .btn-default:focus,.portlet.box.purple-intense>.portlet-title>.actions .btn-default:hover{border:1px solid #ded9e7;color:#ebe8f0}.dashboard-stat.purple-intense{background-color:#8775a7}.dashboard-stat.purple-intense.dashboard-stat-light:hover{background-color:#7c699f}.dashboard-stat.purple-intense .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.purple-intense .details .number{color:#FFF}.dashboard-stat.purple-intense .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.purple-intense .more{color:#FFF;background-color:#7c699f}.bg-purple-intense{border-color:#8775a7!important;background-image:none!important;background-color:#8775a7!important;color:#FFF!important}.font-purple-intense{color:#8775a7!important}.progress-bar.purple-intense{background:#8775a7!important;color:#FFF!important}.purple-sharp.btn{color:#FFF;background-color:#796799;border-color:""}.open .purple-sharp.btn.dropdown-toggle,.purple-sharp.btn.active,.purple-sharp.btn:active,.purple-sharp.btn:focus,.purple-sharp.btn:hover{color:#FFF;background-color:#685884}.purple-sharp.btn.active,.purple-sharp.btn:active{background-image:none;background-color:#5c4e75}.purple-sharp.btn.active:hover,.purple-sharp.btn:active:hover{background-color:#61527b}.open .purple-sharp.btn.dropdown-toggle{background-image:none}.purple-sharp.btn.disabled,.purple-sharp.btn.disabled.active,.purple-sharp.btn.disabled:active,.purple-sharp.btn.disabled:focus,.purple-sharp.btn.disabled:hover,.purple-sharp.btn[disabled],.purple-sharp.btn[disabled].active,.purple-sharp.btn[disabled]:active,.purple-sharp.btn[disabled]:focus,.purple-sharp.btn[disabled]:hover,fieldset[disabled] .purple-sharp.btn,fieldset[disabled] .purple-sharp.btn.active,fieldset[disabled] .purple-sharp.btn:active,fieldset[disabled] .purple-sharp.btn:focus,fieldset[disabled] .purple-sharp.btn:hover{background-color:#796799}.purple-sharp.btn .badge{color:#796799;background-color:#FFF}.portlet.box.purple-sharp>.portlet-title,.portlet.purple-sharp,.portlet>.portlet-body.purple-sharp{background-color:#796799}.btn.purple-sharp-stripe{border-left:3px solid #796799}.portlet.solid.purple-sharp>.portlet-body,.portlet.solid.purple-sharp>.portlet-title{border:0;color:#FFF}.portlet.solid.purple-sharp>.portlet-title>.caption>i{color:#FFF}.portlet.solid.purple-sharp>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.purple-sharp>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.purple-sharp>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.purple-sharp>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.purple-sharp>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.purple-sharp>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.purple-sharp{border:1px solid #9486ad;border-top:0}.portlet.box.purple-sharp>.portlet-title>.caption,.portlet.box.purple-sharp>.portlet-title>.caption>i{color:#FFF}.portlet.box.purple-sharp>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #b4aac6;color:#c2b9d0}.portlet.box.purple-sharp>.portlet-title>.actions .btn-default>i{color:#cac3d6}.portlet.box.purple-sharp>.portlet-title>.actions .btn-default.active,.portlet.box.purple-sharp>.portlet-title>.actions .btn-default:active,.portlet.box.purple-sharp>.portlet-title>.actions .btn-default:focus,.portlet.box.purple-sharp>.portlet-title>.actions .btn-default:hover{border:1px solid #cfc9db;color:#ddd8e5}.dashboard-stat.purple-sharp{background-color:#796799}.dashboard-stat.purple-sharp.dashboard-stat-light:hover{background-color:#6f5f8d}.dashboard-stat.purple-sharp .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.purple-sharp .details .number{color:#FFF}.dashboard-stat.purple-sharp .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.purple-sharp .more{color:#FFF;background-color:#6f5f8d}.bg-purple-sharp{border-color:#796799!important;background-image:none!important;background-color:#796799!important;color:#FFF!important}.font-purple-sharp{color:#796799!important}.progress-bar.purple-sharp{background:#796799!important;color:#FFF!important}.purple-soft.btn{color:#FFF;background-color:#8877a9;border-color:""}.open .purple-soft.btn.dropdown-toggle,.purple-soft.btn.active,.purple-soft.btn:active,.purple-soft.btn:focus,.purple-soft.btn:hover{color:#FFF;background-color:#75629b}.purple-soft.btn.active,.purple-soft.btn:active{background-image:none;background-color:#69588b}.purple-soft.btn.active:hover,.purple-soft.btn:active:hover{background-color:#6e5c91}.open .purple-soft.btn.dropdown-toggle{background-image:none}.purple-soft.btn.disabled,.purple-soft.btn.disabled.active,.purple-soft.btn.disabled:active,.purple-soft.btn.disabled:focus,.purple-soft.btn.disabled:hover,.purple-soft.btn[disabled],.purple-soft.btn[disabled].active,.purple-soft.btn[disabled]:active,.purple-soft.btn[disabled]:focus,.purple-soft.btn[disabled]:hover,fieldset[disabled] .purple-soft.btn,fieldset[disabled] .purple-soft.btn.active,fieldset[disabled] .purple-soft.btn:active,fieldset[disabled] .purple-soft.btn:focus,fieldset[disabled] .purple-soft.btn:hover{background-color:#8877a9}.purple-soft.btn .badge{color:#8877a9;background-color:#FFF}.portlet.box.purple-soft>.portlet-title,.portlet.purple-soft,.portlet>.portlet-body.purple-soft{background-color:#8877a9}.btn.purple-soft-stripe{border-left:3px solid #8877a9}.portlet.solid.purple-soft>.portlet-body,.portlet.solid.purple-soft>.portlet-title{border:0;color:#FFF}.portlet.solid.purple-soft>.portlet-title>.caption>i{color:#FFF}.portlet.solid.purple-soft>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.purple-soft>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.purple-soft>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.purple-soft>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.purple-soft>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.purple-soft>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.purple-soft{border:1px solid #a396bd;border-top:0}.portlet.box.purple-soft>.portlet-title>.caption,.portlet.box.purple-soft>.portlet-title>.caption>i{color:#FFF}.portlet.box.purple-soft>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #c4bcd4;color:#d2cbde}.portlet.box.purple-soft>.portlet-title>.actions .btn-default>i{color:#dad5e4}.portlet.box.purple-soft>.portlet-title>.actions .btn-default.active,.portlet.box.purple-soft>.portlet-title>.actions .btn-default:active,.portlet.box.purple-soft>.portlet-title>.actions .btn-default:focus,.portlet.box.purple-soft>.portlet-title>.actions .btn-default:hover{border:1px solid #dfdbe8;color:#edebf2}.dashboard-stat.purple-soft{background-color:#8877a9}.dashboard-stat.purple-soft.dashboard-stat-light:hover{background-color:#7d6ba1}.dashboard-stat.purple-soft .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.purple-soft .details .number{color:#FFF}.dashboard-stat.purple-soft .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.purple-soft .more{color:#FFF;background-color:#7d6ba1}.bg-purple-soft{border-color:#8877a9!important;background-image:none!important;background-color:#8877a9!important;color:#FFF!important}.font-purple-soft{color:#8877a9!important}.progress-bar.purple-soft{background:#8877a9!important;color:#FFF!important}.btn-transparent.btn{background:0 0;color:#888}@-moz-keyframes whirly-loader{0%{-moz-transform:rotate(0);transform:rotate(0)}100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes whirly-loader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes whirly-loader{0%{-moz-transform:rotate(0);-ms-transform:rotate(0);-webkit-transform:rotate(0);transform:rotate(0)}100%{-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.whirly-loader:not(:required){overflow:hidden;position:relative;text-indent:-9999px;display:inline-block;width:8px;height:8px;background:0 0;-moz-border-radius:100%;-webkit-border-radius:100%;border-radius:100%;-moz-box-shadow:#FA4C61 0 26px 0 6px,#FA4C61 .91px 26.05px 0 5.93px,#FA4C61 1.82px 26.07px 0 5.87px,#FA4C61 2.74px 26.06px 0 5.8px,#FA4C61 3.66px 26.01px 0 5.73px,#FA4C61 4.57px 25.93px 0 5.67px,#FA4C61 5.49px 25.82px 0 5.6px,#FA4C61 6.4px 25.68px 0 5.53px,#FA4C61 7.31px 25.51px 0 5.47px,#FA4C61 8.22px 25.3px 0 5.4px,#FA4C61 9.12px 25.06px 0 5.33px,#FA4C61 10.01px 24.79px 0 5.27px,#FA4C61 10.9px 24.48px 0 5.2px,#FA4C61 11.78px 24.15px 0 5.13px,#FA4C61 12.64px 23.78px 0 5.07px,#FA4C61 13.5px 23.38px 0 5px,#FA4C61 14.34px 22.95px 0 4.93px,#FA4C61 15.17px 22.49px 0 4.87px,#FA4C61 15.99px 22.01px 0 4.8px,#FA4C61 16.79px 21.49px 0 4.73px,#FA4C61 17.57px 20.94px 0 4.67px,#FA4C61 18.33px 20.36px 0 4.6px,#FA4C61 19.08px 19.76px 0 4.53px,#FA4C61 19.81px 19.13px 0 4.47px,#FA4C61 20.51px 18.47px 0 4.4px,#FA4C61 21.19px 17.78px 0 4.33px,#FA4C61 21.85px 17.07px 0 4.27px,#FA4C61 22.49px 16.34px 0 4.2px,#FA4C61 23.1px 15.58px 0 4.13px,#FA4C61 23.69px 14.8px 0 4.07px,#FA4C61 24.25px 14px 0 4px,#FA4C61 24.78px 13.18px 0 3.93px,#FA4C61 25.29px 12.33px 0 3.87px,#FA4C61 25.76px 11.47px 0 3.8px,#FA4C61 26.21px 10.59px 0 3.73px,#FA4C61 26.62px 9.69px 0 3.67px,#FA4C61 27.01px 8.78px 0 3.6px,#FA4C61 27.36px 7.85px 0 3.53px,#FA4C61 27.69px 6.9px 0 3.47px,#FA4C61 27.98px 5.95px 0 3.4px,#FA4C61 28.23px 4.98px 0 3.33px,#FA4C61 28.45px 4px 0 3.27px,#FA4C61 28.64px 3.01px 0 3.2px,#FA4C61 28.8px 2.01px 0 3.13px,#FA4C61 28.92px 1.01px 0 3.07px,#FA4C61 29px 0 0 3px,#FA4C61 29.05px -1.01px 0 2.93px,#FA4C61 29.06px -2.03px 0 2.87px,#FA4C61 29.04px -3.05px 0 2.8px,#FA4C61 28.98px -4.07px 0 2.73px,#FA4C61 28.89px -5.09px 0 2.67px,#FA4C61 28.76px -6.11px 0 2.6px,#FA4C61 28.59px -7.13px 0 2.53px,#FA4C61 28.39px -8.14px 0 2.47px,#FA4C61 28.15px -9.15px 0 2.4px,#FA4C61 27.88px -10.15px 0 2.33px,#FA4C61 27.57px -11.14px 0 2.27px,#FA4C61 27.22px -12.12px 0 2.2px,#FA4C61 26.84px -13.09px 0 2.13px,#FA4C61 26.43px -14.05px 0 2.07px,#FA4C61 25.98px -15px 0 2px,#FA4C61 25.5px -15.93px 0 1.93px,#FA4C61 24.98px -16.85px 0 1.87px,#FA4C61 24.43px -17.75px 0 1.8px,#FA4C61 23.85px -18.63px 0 1.73px,#FA4C61 23.24px -19.5px 0 1.67px,#FA4C61 22.59px -20.34px 0 1.6px,#FA4C61 21.92px -21.16px 0 1.53px,#FA4C61 21.21px -21.96px 0 1.47px,#FA4C61 20.48px -22.74px 0 1.4px,#FA4C61 19.71px -23.49px 0 1.33px,#FA4C61 18.92px -24.22px 0 1.27px,#FA4C61 18.1px -24.92px 0 1.2px,#FA4C61 17.26px -25.59px 0 1.13px,#FA4C61 16.39px -26.23px 0 1.07px,#FA4C61 15.5px -26.85px 0 1px,#FA4C61 14.58px -27.43px 0 .93px,#FA4C61 13.65px -27.98px 0 .87px,#FA4C61 12.69px -28.5px 0 .8px,#FA4C61 11.71px -28.99px 0 .73px,#FA4C61 10.72px -29.44px 0 .67px,#FA4C61 9.7px -29.86px 0 .6px,#FA4C61 8.67px -30.25px 0 .53px,#FA4C61 7.63px -30.6px 0 .47px,#FA4C61 6.57px -30.91px 0 .4px,#FA4C61 5.5px -31.19px 0 .33px,#FA4C61 4.42px -31.42px 0 .27px,#FA4C61 3.32px -31.63px 0 .2px,#FA4C61 2.22px -31.79px 0 .13px,#FA4C61 1.11px -31.91px 0 .07px,#FA4C61 0 -32px 0 0,#FA4C61 -1.12px -32.05px 0 -.07px,#FA4C61 -2.24px -32.06px 0 -.13px,#FA4C61 -3.37px -32.02px 0 -.2px,#FA4C61 -4.49px -31.95px 0 -.27px,#FA4C61 -5.61px -31.84px 0 -.33px,#FA4C61 -6.74px -31.69px 0 -.4px,#FA4C61 -7.85px -31.5px 0 -.47px,#FA4C61 -8.97px -31.27px 0 -.53px,#FA4C61 -10.07px -31px 0 -.6px,#FA4C61 -11.17px -30.7px 0 -.67px,#FA4C61 -12.26px -30.35px 0 -.73px,#FA4C61 -13.34px -29.96px 0 -.8px,#FA4C61 -14.41px -29.54px 0 -.87px,#FA4C61 -15.46px -29.08px 0 -.93px,#FA4C61 -16.5px -28.58px 0 -1px,#FA4C61 -17.52px -28.04px 0 -1.07px,#FA4C61 -18.53px -27.47px 0 -1.13px,#FA4C61 -19.51px -26.86px 0 -1.2px,#FA4C61 -20.48px -26.21px 0 -1.27px,#FA4C61 -21.43px -25.53px 0 -1.33px,#FA4C61 -22.35px -24.82px 0 -1.4px,#FA4C61 -23.25px -24.07px 0 -1.47px,#FA4C61 -24.12px -23.29px 0 -1.53px,#FA4C61 -24.97px -22.48px 0 -1.6px,#FA4C61 -25.79px -21.64px 0 -1.67px,#FA4C61 -26.58px -20.77px 0 -1.73px,#FA4C61 -27.34px -19.87px 0 -1.8px,#FA4C61 -28.08px -18.94px 0 -1.87px,#FA4C61 -28.78px -17.98px 0 -1.93px,#FA4C61 -29.44px -17px 0 -2px,#FA4C61 -30.08px -15.99px 0 -2.07px,#FA4C61 -30.68px -14.96px 0 -2.13px,#FA4C61 -31.24px -13.91px 0 -2.2px,#FA4C61 -31.77px -12.84px 0 -2.27px,#FA4C61 -32.26px -11.74px 0 -2.33px,#FA4C61 -32.72px -10.63px 0 -2.4px,#FA4C61 -33.13px -9.5px 0 -2.47px,#FA4C61 -33.51px -8.35px 0 -2.53px,#FA4C61 -33.84px -7.19px 0 -2.6px,#FA4C61 -34.14px -6.02px 0 -2.67px,#FA4C61 -34.4px -4.83px 0 -2.73px,#FA4C61 -34.61px -3.64px 0 -2.8px,#FA4C61 -34.78px -2.43px 0 -2.87px,#FA4C61 -34.91px -1.22px 0 -2.93px,#FA4C61 -35px 0 0 -3px,#FA4C61 -35.05px 1.22px 0 -3.07px,#FA4C61 -35.05px 2.45px 0 -3.13px,#FA4C61 -35.01px 3.68px 0 -3.2px,#FA4C61 -34.92px 4.91px 0 -3.27px,#FA4C61 -34.8px 6.14px 0 -3.33px,#FA4C61 -34.63px 7.36px 0 -3.4px,#FA4C61 -34.41px 8.58px 0 -3.47px,#FA4C61 -34.16px 9.79px 0 -3.53px,#FA4C61 -33.86px 11px 0 -3.6px,#FA4C61 -33.52px 12.2px 0 -3.67px,#FA4C61 -33.13px 13.39px 0 -3.73px,#FA4C61 -32.7px 14.56px 0 -3.8px,#FA4C61 -32.24px 15.72px 0 -3.87px,#FA4C61 -31.73px 16.87px 0 -3.93px,#FA4C61 -31.18px 18px 0 -4px,#FA4C61 -30.59px 19.11px 0 -4.07px,#FA4C61 -29.96px 20.21px 0 -4.13px,#FA4C61 -29.29px 21.28px 0 -4.2px,#FA4C61 -28.58px 22.33px 0 -4.27px,#FA4C61 -27.83px 23.35px 0 -4.33px,#FA4C61 -27.05px 24.36px 0 -4.4px,#FA4C61 -26.23px 25.33px 0 -4.47px,#FA4C61 -25.38px 26.28px 0 -4.53px,#FA4C61 -24.49px 27.2px 0 -4.6px,#FA4C61 -23.57px 28.09px 0 -4.67px,#FA4C61 -22.62px 28.95px 0 -4.73px,#FA4C61 -21.63px 29.77px 0 -4.8px,#FA4C61 -20.62px 30.56px 0 -4.87px,#FA4C61 -19.57px 31.32px 0 -4.93px,#FA4C61 -18.5px 32.04px 0 -5px,#FA4C61 -17.4px 32.73px 0 -5.07px,#FA4C61 -16.28px 33.38px 0 -5.13px,#FA4C61 -15.13px 33.98px 0 -5.2px,#FA4C61 -13.96px 34.55px 0 -5.27px,#FA4C61 -12.77px 35.08px 0 -5.33px,#FA4C61 -11.56px 35.57px 0 -5.4px,#FA4C61 -10.33px 36.02px 0 -5.47px,#FA4C61 -9.08px 36.42px 0 -5.53px,#FA4C61 -7.82px 36.78px 0 -5.6px,#FA4C61 -6.54px 37.09px 0 -5.67px,#FA4C61 -5.25px 37.37px 0 -5.73px,#FA4C61 -3.95px 37.59px 0 -5.8px,#FA4C61 -2.64px 37.77px 0 -5.87px,#FA4C61 -1.32px 37.91px 0 -5.93px;-webkit-box-shadow:#FA4C61 0 26px 0 6px,#FA4C61 .91px 26.05px 0 5.93px,#FA4C61 1.82px 26.07px 0 5.87px,#FA4C61 2.74px 26.06px 0 5.8px,#FA4C61 3.66px 26.01px 0 5.73px,#FA4C61 4.57px 25.93px 0 5.67px,#FA4C61 5.49px 25.82px 0 5.6px,#FA4C61 6.4px 25.68px 0 5.53px,#FA4C61 7.31px 25.51px 0 5.47px,#FA4C61 8.22px 25.3px 0 5.4px,#FA4C61 9.12px 25.06px 0 5.33px,#FA4C61 10.01px 24.79px 0 5.27px,#FA4C61 10.9px 24.48px 0 5.2px,#FA4C61 11.78px 24.15px 0 5.13px,#FA4C61 12.64px 23.78px 0 5.07px,#FA4C61 13.5px 23.38px 0 5px,#FA4C61 14.34px 22.95px 0 4.93px,#FA4C61 15.17px 22.49px 0 4.87px,#FA4C61 15.99px 22.01px 0 4.8px,#FA4C61 16.79px 21.49px 0 4.73px,#FA4C61 17.57px 20.94px 0 4.67px,#FA4C61 18.33px 20.36px 0 4.6px,#FA4C61 19.08px 19.76px 0 4.53px,#FA4C61 19.81px 19.13px 0 4.47px,#FA4C61 20.51px 18.47px 0 4.4px,#FA4C61 21.19px 17.78px 0 4.33px,#FA4C61 21.85px 17.07px 0 4.27px,#FA4C61 22.49px 16.34px 0 4.2px,#FA4C61 23.1px 15.58px 0 4.13px,#FA4C61 23.69px 14.8px 0 4.07px,#FA4C61 24.25px 14px 0 4px,#FA4C61 24.78px 13.18px 0 3.93px,#FA4C61 25.29px 12.33px 0 3.87px,#FA4C61 25.76px 11.47px 0 3.8px,#FA4C61 26.21px 10.59px 0 3.73px,#FA4C61 26.62px 9.69px 0 3.67px,#FA4C61 27.01px 8.78px 0 3.6px,#FA4C61 27.36px 7.85px 0 3.53px,#FA4C61 27.69px 6.9px 0 3.47px,#FA4C61 27.98px 5.95px 0 3.4px,#FA4C61 28.23px 4.98px 0 3.33px,#FA4C61 28.45px 4px 0 3.27px,#FA4C61 28.64px 3.01px 0 3.2px,#FA4C61 28.8px 2.01px 0 3.13px,#FA4C61 28.92px 1.01px 0 3.07px,#FA4C61 29px 0 0 3px,#FA4C61 29.05px -1.01px 0 2.93px,#FA4C61 29.06px -2.03px 0 2.87px,#FA4C61 29.04px -3.05px 0 2.8px,#FA4C61 28.98px -4.07px 0 2.73px,#FA4C61 28.89px -5.09px 0 2.67px,#FA4C61 28.76px -6.11px 0 2.6px,#FA4C61 28.59px -7.13px 0 2.53px,#FA4C61 28.39px -8.14px 0 2.47px,#FA4C61 28.15px -9.15px 0 2.4px,#FA4C61 27.88px -10.15px 0 2.33px,#FA4C61 27.57px -11.14px 0 2.27px,#FA4C61 27.22px -12.12px 0 2.2px,#FA4C61 26.84px -13.09px 0 2.13px,#FA4C61 26.43px -14.05px 0 2.07px,#FA4C61 25.98px -15px 0 2px,#FA4C61 25.5px -15.93px 0 1.93px,#FA4C61 24.98px -16.85px 0 1.87px,#FA4C61 24.43px -17.75px 0 1.8px,#FA4C61 23.85px -18.63px 0 1.73px,#FA4C61 23.24px -19.5px 0 1.67px,#FA4C61 22.59px -20.34px 0 1.6px,#FA4C61 21.92px -21.16px 0 1.53px,#FA4C61 21.21px -21.96px 0 1.47px,#FA4C61 20.48px -22.74px 0 1.4px,#FA4C61 19.71px -23.49px 0 1.33px,#FA4C61 18.92px -24.22px 0 1.27px,#FA4C61 18.1px -24.92px 0 1.2px,#FA4C61 17.26px -25.59px 0 1.13px,#FA4C61 16.39px -26.23px 0 1.07px,#FA4C61 15.5px -26.85px 0 1px,#FA4C61 14.58px -27.43px 0 .93px,#FA4C61 13.65px -27.98px 0 .87px,#FA4C61 12.69px -28.5px 0 .8px,#FA4C61 11.71px -28.99px 0 .73px,#FA4C61 10.72px -29.44px 0 .67px,#FA4C61 9.7px -29.86px 0 .6px,#FA4C61 8.67px -30.25px 0 .53px,#FA4C61 7.63px -30.6px 0 .47px,#FA4C61 6.57px -30.91px 0 .4px,#FA4C61 5.5px -31.19px 0 .33px,#FA4C61 4.42px -31.42px 0 .27px,#FA4C61 3.32px -31.63px 0 .2px,#FA4C61 2.22px -31.79px 0 .13px,#FA4C61 1.11px -31.91px 0 .07px,#FA4C61 0 -32px 0 0,#FA4C61 -1.12px -32.05px 0 -.07px,#FA4C61 -2.24px -32.06px 0 -.13px,#FA4C61 -3.37px -32.02px 0 -.2px,#FA4C61 -4.49px -31.95px 0 -.27px,#FA4C61 -5.61px -31.84px 0 -.33px,#FA4C61 -6.74px -31.69px 0 -.4px,#FA4C61 -7.85px -31.5px 0 -.47px,#FA4C61 -8.97px -31.27px 0 -.53px,#FA4C61 -10.07px -31px 0 -.6px,#FA4C61 -11.17px -30.7px 0 -.67px,#FA4C61 -12.26px -30.35px 0 -.73px,#FA4C61 -13.34px -29.96px 0 -.8px,#FA4C61 -14.41px -29.54px 0 -.87px,#FA4C61 -15.46px -29.08px 0 -.93px,#FA4C61 -16.5px -28.58px 0 -1px,#FA4C61 -17.52px -28.04px 0 -1.07px,#FA4C61 -18.53px -27.47px 0 -1.13px,#FA4C61 -19.51px -26.86px 0 -1.2px,#FA4C61 -20.48px -26.21px 0 -1.27px,#FA4C61 -21.43px -25.53px 0 -1.33px,#FA4C61 -22.35px -24.82px 0 -1.4px,#FA4C61 -23.25px -24.07px 0 -1.47px,#FA4C61 -24.12px -23.29px 0 -1.53px,#FA4C61 -24.97px -22.48px 0 -1.6px,#FA4C61 -25.79px -21.64px 0 -1.67px,#FA4C61 -26.58px -20.77px 0 -1.73px,#FA4C61 -27.34px -19.87px 0 -1.8px,#FA4C61 -28.08px -18.94px 0 -1.87px,#FA4C61 -28.78px -17.98px 0 -1.93px,#FA4C61 -29.44px -17px 0 -2px,#FA4C61 -30.08px -15.99px 0 -2.07px,#FA4C61 -30.68px -14.96px 0 -2.13px,#FA4C61 -31.24px -13.91px 0 -2.2px,#FA4C61 -31.77px -12.84px 0 -2.27px,#FA4C61 -32.26px -11.74px 0 -2.33px,#FA4C61 -32.72px -10.63px 0 -2.4px,#FA4C61 -33.13px -9.5px 0 -2.47px,#FA4C61 -33.51px -8.35px 0 -2.53px,#FA4C61 -33.84px -7.19px 0 -2.6px,#FA4C61 -34.14px -6.02px 0 -2.67px,#FA4C61 -34.4px -4.83px 0 -2.73px,#FA4C61 -34.61px -3.64px 0 -2.8px,#FA4C61 -34.78px -2.43px 0 -2.87px,#FA4C61 -34.91px -1.22px 0 -2.93px,#FA4C61 -35px 0 0 -3px,#FA4C61 -35.05px 1.22px 0 -3.07px,#FA4C61 -35.05px 2.45px 0 -3.13px,#FA4C61 -35.01px 3.68px 0 -3.2px,#FA4C61 -34.92px 4.91px 0 -3.27px,#FA4C61 -34.8px 6.14px 0 -3.33px,#FA4C61 -34.63px 7.36px 0 -3.4px,#FA4C61 -34.41px 8.58px 0 -3.47px,#FA4C61 -34.16px 9.79px 0 -3.53px,#FA4C61 -33.86px 11px 0 -3.6px,#FA4C61 -33.52px 12.2px 0 -3.67px,#FA4C61 -33.13px 13.39px 0 -3.73px,#FA4C61 -32.7px 14.56px 0 -3.8px,#FA4C61 -32.24px 15.72px 0 -3.87px,#FA4C61 -31.73px 16.87px 0 -3.93px,#FA4C61 -31.18px 18px 0 -4px,#FA4C61 -30.59px 19.11px 0 -4.07px,#FA4C61 -29.96px 20.21px 0 -4.13px,#FA4C61 -29.29px 21.28px 0 -4.2px,#FA4C61 -28.58px 22.33px 0 -4.27px,#FA4C61 -27.83px 23.35px 0 -4.33px,#FA4C61 -27.05px 24.36px 0 -4.4px,#FA4C61 -26.23px 25.33px 0 -4.47px,#FA4C61 -25.38px 26.28px 0 -4.53px,#FA4C61 -24.49px 27.2px 0 -4.6px,#FA4C61 -23.57px 28.09px 0 -4.67px,#FA4C61 -22.62px 28.95px 0 -4.73px,#FA4C61 -21.63px 29.77px 0 -4.8px,#FA4C61 -20.62px 30.56px 0 -4.87px,#FA4C61 -19.57px 31.32px 0 -4.93px,#FA4C61 -18.5px 32.04px 0 -5px,#FA4C61 -17.4px 32.73px 0 -5.07px,#FA4C61 -16.28px 33.38px 0 -5.13px,#FA4C61 -15.13px 33.98px 0 -5.2px,#FA4C61 -13.96px 34.55px 0 -5.27px,#FA4C61 -12.77px 35.08px 0 -5.33px,#FA4C61 -11.56px 35.57px 0 -5.4px,#FA4C61 -10.33px 36.02px 0 -5.47px,#FA4C61 -9.08px 36.42px 0 -5.53px,#FA4C61 -7.82px 36.78px 0 -5.6px,#FA4C61 -6.54px 37.09px 0 -5.67px,#FA4C61 -5.25px 37.37px 0 -5.73px,#FA4C61 -3.95px 37.59px 0 -5.8px,#FA4C61 -2.64px 37.77px 0 -5.87px,#FA4C61 -1.32px 37.91px 0 -5.93px;box-shadow:#FA4C61 0 26px 0 6px,#FA4C61 .91px 26.05px 0 5.93px,#FA4C61 1.82px 26.07px 0 5.87px,#FA4C61 2.74px 26.06px 0 5.8px,#FA4C61 3.66px 26.01px 0 5.73px,#FA4C61 4.57px 25.93px 0 5.67px,#FA4C61 5.49px 25.82px 0 5.6px,#FA4C61 6.4px 25.68px 0 5.53px,#FA4C61 7.31px 25.51px 0 5.47px,#FA4C61 8.22px 25.3px 0 5.4px,#FA4C61 9.12px 25.06px 0 5.33px,#FA4C61 10.01px 24.79px 0 5.27px,#FA4C61 10.9px 24.48px 0 5.2px,#FA4C61 11.78px 24.15px 0 5.13px,#FA4C61 12.64px 23.78px 0 5.07px,#FA4C61 13.5px 23.38px 0 5px,#FA4C61 14.34px 22.95px 0 4.93px,#FA4C61 15.17px 22.49px 0 4.87px,#FA4C61 15.99px 22.01px 0 4.8px,#FA4C61 16.79px 21.49px 0 4.73px,#FA4C61 17.57px 20.94px 0 4.67px,#FA4C61 18.33px 20.36px 0 4.6px,#FA4C61 19.08px 19.76px 0 4.53px,#FA4C61 19.81px 19.13px 0 4.47px,#FA4C61 20.51px 18.47px 0 4.4px,#FA4C61 21.19px 17.78px 0 4.33px,#FA4C61 21.85px 17.07px 0 4.27px,#FA4C61 22.49px 16.34px 0 4.2px,#FA4C61 23.1px 15.58px 0 4.13px,#FA4C61 23.69px 14.8px 0 4.07px,#FA4C61 24.25px 14px 0 4px,#FA4C61 24.78px 13.18px 0 3.93px,#FA4C61 25.29px 12.33px 0 3.87px,#FA4C61 25.76px 11.47px 0 3.8px,#FA4C61 26.21px 10.59px 0 3.73px,#FA4C61 26.62px 9.69px 0 3.67px,#FA4C61 27.01px 8.78px 0 3.6px,#FA4C61 27.36px 7.85px 0 3.53px,#FA4C61 27.69px 6.9px 0 3.47px,#FA4C61 27.98px 5.95px 0 3.4px,#FA4C61 28.23px 4.98px 0 3.33px,#FA4C61 28.45px 4px 0 3.27px,#FA4C61 28.64px 3.01px 0 3.2px,#FA4C61 28.8px 2.01px 0 3.13px,#FA4C61 28.92px 1.01px 0 3.07px,#FA4C61 29px 0 0 3px,#FA4C61 29.05px -1.01px 0 2.93px,#FA4C61 29.06px -2.03px 0 2.87px,#FA4C61 29.04px -3.05px 0 2.8px,#FA4C61 28.98px -4.07px 0 2.73px,#FA4C61 28.89px -5.09px 0 2.67px,#FA4C61 28.76px -6.11px 0 2.6px,#FA4C61 28.59px -7.13px 0 2.53px,#FA4C61 28.39px -8.14px 0 2.47px,#FA4C61 28.15px -9.15px 0 2.4px,#FA4C61 27.88px -10.15px 0 2.33px,#FA4C61 27.57px -11.14px 0 2.27px,#FA4C61 27.22px -12.12px 0 2.2px,#FA4C61 26.84px -13.09px 0 2.13px,#FA4C61 26.43px -14.05px 0 2.07px,#FA4C61 25.98px -15px 0 2px,#FA4C61 25.5px -15.93px 0 1.93px,#FA4C61 24.98px -16.85px 0 1.87px,#FA4C61 24.43px -17.75px 0 1.8px,#FA4C61 23.85px -18.63px 0 1.73px,#FA4C61 23.24px -19.5px 0 1.67px,#FA4C61 22.59px -20.34px 0 1.6px,#FA4C61 21.92px -21.16px 0 1.53px,#FA4C61 21.21px -21.96px 0 1.47px,#FA4C61 20.48px -22.74px 0 1.4px,#FA4C61 19.71px -23.49px 0 1.33px,#FA4C61 18.92px -24.22px 0 1.27px,#FA4C61 18.1px -24.92px 0 1.2px,#FA4C61 17.26px -25.59px 0 1.13px,#FA4C61 16.39px -26.23px 0 1.07px,#FA4C61 15.5px -26.85px 0 1px,#FA4C61 14.58px -27.43px 0 .93px,#FA4C61 13.65px -27.98px 0 .87px,#FA4C61 12.69px -28.5px 0 .8px,#FA4C61 11.71px -28.99px 0 .73px,#FA4C61 10.72px -29.44px 0 .67px,#FA4C61 9.7px -29.86px 0 .6px,#FA4C61 8.67px -30.25px 0 .53px,#FA4C61 7.63px -30.6px 0 .47px,#FA4C61 6.57px -30.91px 0 .4px,#FA4C61 5.5px -31.19px 0 .33px,#FA4C61 4.42px -31.42px 0 .27px,#FA4C61 3.32px -31.63px 0 .2px,#FA4C61 2.22px -31.79px 0 .13px,#FA4C61 1.11px -31.91px 0 .07px,#FA4C61 0 -32px 0 0,#FA4C61 -1.12px -32.05px 0 -.07px,#FA4C61 -2.24px -32.06px 0 -.13px,#FA4C61 -3.37px -32.02px 0 -.2px,#FA4C61 -4.49px -31.95px 0 -.27px,#FA4C61 -5.61px -31.84px 0 -.33px,#FA4C61 -6.74px -31.69px 0 -.4px,#FA4C61 -7.85px -31.5px 0 -.47px,#FA4C61 -8.97px -31.27px 0 -.53px,#FA4C61 -10.07px -31px 0 -.6px,#FA4C61 -11.17px -30.7px 0 -.67px,#FA4C61 -12.26px -30.35px 0 -.73px,#FA4C61 -13.34px -29.96px 0 -.8px,#FA4C61 -14.41px -29.54px 0 -.87px,#FA4C61 -15.46px -29.08px 0 -.93px,#FA4C61 -16.5px -28.58px 0 -1px,#FA4C61 -17.52px -28.04px 0 -1.07px,#FA4C61 -18.53px -27.47px 0 -1.13px,#FA4C61 -19.51px -26.86px 0 -1.2px,#FA4C61 -20.48px -26.21px 0 -1.27px,#FA4C61 -21.43px -25.53px 0 -1.33px,#FA4C61 -22.35px -24.82px 0 -1.4px,#FA4C61 -23.25px -24.07px 0 -1.47px,#FA4C61 -24.12px -23.29px 0 -1.53px,#FA4C61 -24.97px -22.48px 0 -1.6px,#FA4C61 -25.79px -21.64px 0 -1.67px,#FA4C61 -26.58px -20.77px 0 -1.73px,#FA4C61 -27.34px -19.87px 0 -1.8px,#FA4C61 -28.08px -18.94px 0 -1.87px,#FA4C61 -28.78px -17.98px 0 -1.93px,#FA4C61 -29.44px -17px 0 -2px,#FA4C61 -30.08px -15.99px 0 -2.07px,#FA4C61 -30.68px -14.96px 0 -2.13px,#FA4C61 -31.24px -13.91px 0 -2.2px,#FA4C61 -31.77px -12.84px 0 -2.27px,#FA4C61 -32.26px -11.74px 0 -2.33px,#FA4C61 -32.72px -10.63px 0 -2.4px,#FA4C61 -33.13px -9.5px 0 -2.47px,#FA4C61 -33.51px -8.35px 0 -2.53px,#FA4C61 -33.84px -7.19px 0 -2.6px,#FA4C61 -34.14px -6.02px 0 -2.67px,#FA4C61 -34.4px -4.83px 0 -2.73px,#FA4C61 -34.61px -3.64px 0 -2.8px,#FA4C61 -34.78px -2.43px 0 -2.87px,#FA4C61 -34.91px -1.22px 0 -2.93px,#FA4C61 -35px 0 0 -3px,#FA4C61 -35.05px 1.22px 0 -3.07px,#FA4C61 -35.05px 2.45px 0 -3.13px,#FA4C61 -35.01px 3.68px 0 -3.2px,#FA4C61 -34.92px 4.91px 0 -3.27px,#FA4C61 -34.8px 6.14px 0 -3.33px,#FA4C61 -34.63px 7.36px 0 -3.4px,#FA4C61 -34.41px 8.58px 0 -3.47px,#FA4C61 -34.16px 9.79px 0 -3.53px,#FA4C61 -33.86px 11px 0 -3.6px,#FA4C61 -33.52px 12.2px 0 -3.67px,#FA4C61 -33.13px 13.39px 0 -3.73px,#FA4C61 -32.7px 14.56px 0 -3.8px,#FA4C61 -32.24px 15.72px 0 -3.87px,#FA4C61 -31.73px 16.87px 0 -3.93px,#FA4C61 -31.18px 18px 0 -4px,#FA4C61 -30.59px 19.11px 0 -4.07px,#FA4C61 -29.96px 20.21px 0 -4.13px,#FA4C61 -29.29px 21.28px 0 -4.2px,#FA4C61 -28.58px 22.33px 0 -4.27px,#FA4C61 -27.83px 23.35px 0 -4.33px,#FA4C61 -27.05px 24.36px 0 -4.4px,#FA4C61 -26.23px 25.33px 0 -4.47px,#FA4C61 -25.38px 26.28px 0 -4.53px,#FA4C61 -24.49px 27.2px 0 -4.6px,#FA4C61 -23.57px 28.09px 0 -4.67px,#FA4C61 -22.62px 28.95px 0 -4.73px,#FA4C61 -21.63px 29.77px 0 -4.8px,#FA4C61 -20.62px 30.56px 0 -4.87px,#FA4C61 -19.57px 31.32px 0 -4.93px,#FA4C61 -18.5px 32.04px 0 -5px,#FA4C61 -17.4px 32.73px 0 -5.07px,#FA4C61 -16.28px 33.38px 0 -5.13px,#FA4C61 -15.13px 33.98px 0 -5.2px,#FA4C61 -13.96px 34.55px 0 -5.27px,#FA4C61 -12.77px 35.08px 0 -5.33px,#FA4C61 -11.56px 35.57px 0 -5.4px,#FA4C61 -10.33px 36.02px 0 -5.47px,#FA4C61 -9.08px 36.42px 0 -5.53px,#FA4C61 -7.82px 36.78px 0 -5.6px,#FA4C61 -6.54px 37.09px 0 -5.67px,#FA4C61 -5.25px 37.37px 0 -5.73px,#FA4C61 -3.95px 37.59px 0 -5.8px,#FA4C61 -2.64px 37.77px 0 -5.87px,#FA4C61 -1.32px 37.91px 0 -5.93px;-moz-animation:whirly-loader 1.25s infinite linear;-webkit-animation:whirly-loader 1.25s infinite linear;animation:whirly-loader 1.25s infinite linear;-moz-transform-origin:50% 50%;-ms-transform-origin:50% 50%;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}.float-right{float:right}.float-left{float:left}.checker{width:19px;height:19px}.collapse.am-collapse{animation-duration:.3s;animation-timing-function:ease;animation-fill-mode:backwards;overflow:hidden}.message-info{float:right;color:#d3d3d3;margin-right:5px}[ui-view].ng-enter{-webkit-animation:fadeInUpm .5s;animation:fadeInUpm .5s}.steps,.steps-indicator{padding-bottom:20px!important}.ui-sortable,.ui-sortable-handle{cursor:move}.step .btn:not(.ui-select-toggle,.remove-condition){margin-bottom:10px}.mbottom20{margin-bottom:20px}.pbottom20{padding-bottom:20px}.break-overflow{overflow-wrap:break-word}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;opacity:.2;filter:alpha(opacity=20)}.alert{padding:15px!important;margin-bottom:20px!important;border:1px solid transparent!important;border-radius:4px!important}.alert h4{margin-top:0!important;color:inherit!important}.alert .alert-link{font-weight:700!important}.alert>p,.alert>ul{margin-bottom:0!important}.alert>p+p{margin-top:5px!important}.alert-dismissable,.alert-dismissible{padding-right:35px!important}.alert-dismissable .close,.alert-dismissible .close{position:relative!important;top:-2px!important;right:-21px!important;color:inherit!important}.alert-success{background-color:#dff0d8!important;border-color:#d6e9c6!important;color:#3c763d!important}.alert-success hr{border-top-color:#c9e2b3!important}.alert-success .alert-link{color:#2b542c!important}.alert-info{background-color:#d9edf7!important;border-color:#bce8f1!important;color:#31708f!important}.alert-info hr{border-top-color:#a6e1ec!important}.alert-info .alert-link{color:#245269!important}.alert-warning{background-color:#fcf8e3!important;border-color:#faebcc!important;color:#8a6d3b!important}.alert-warning hr{border-top-color:#f7e1b5!important}.alert-warning .alert-link{color:#66512c!important}.alert-danger{background-color:#f2dede!important;border-color:#ebccd1!important;color:#a94442!important}.alert-danger hr{border-top-color:#e4b9c0!important}.alert-danger .alert-link{color:#843534!important}.alert .close{text-indent:inherit!important;background-image:none!important;width:auto!important}.page-404 .number{position:relative;top:35px;display:inline-block;letter-spacing:-10px;margin-top:0;margin-bottom:10px;line-height:128px;font-size:128px;font-weight:300;color:#7bbbd6;text-align:right}.page-404 .details{margin-left:40px;display:inline-block;padding-top:0;text-align:left}.sounds-title-icon{font-size:17px}.ui-select-multiple input.ui-select-search{width:100%!important}.modal.fade,.over-topbar{z-index:9996!important}.list-group-item-custom{border:none}.pointer-cursor{cursor:pointer!important}.select-group-father{font-weight:700!important}.select-group-son{font-style:italic!important}@media (max-height:908px){.modal-body-scroll{max-height:325px;overflow-y:scroll}}.widget .dashboard-stat{margin-bottom:0!important}.widget .panel-body{padding:0}.left-margin{margin-left:20px}.contact-portlet{overflow-x:hidden;overflow-y:auto;height:337px}.contact-tab{background:#F1F3FA;padding-top:20px}.contact-tab-container{padding-left:20px;padding-right:20px}.col-fixed,.tree-row{float:left}.col-fixed{width:277px;margin-right:15px}.tree-row{width:calc(100% - 277px + 15px)}.tree-search{float:left;display:inline-block;line-height:18px;font-weight:300;padding:10px 0}.report-field-handle{width:66px;height:66px;background-image:url(../../assets/images/move.png);background-repeat:no-repeat;background-size:66px 66px}.ui-sortable-helper{display:table}.report-field-remove{width:66px;height:66px;text-align:center}.ui-select-choices-row-inner div,.ui-select-match-text{width:100%;text-overflow:ellipsis;overflow:hidden}.portlet.light .portlet-title{padding:0;min-height:48px}.portlet .portlet-title{border-bottom:1px solid #eee;padding:0;margin-bottom:10px;min-height:41px;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;-ms-border-radius:4px 4px 0 0;-o-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.ui-select-match-text{padding-right:20px}.ui-select-toggle>.btn.btn-link{margin-right:10px;top:6px;position:absolute;right:10px}.page-header.navbar{background-color:#2b3643}.page-header.navbar .top-menu .navbar-nav>li.dropdown .dropdown-toggle>i{color:#79869a}.page-header.navbar .top-menu .navbar-nav>li.dropdown .dropdown-toggle .badge.badge-default{background-color:#EA4C61;color:#fff}.page-header.navbar .top-menu .navbar-nav>li.dropdown .dropdown-toggle:hover,.page-header.navbar .top-menu .navbar-nav>li.dropdown.open .dropdown-toggle{background-color:#3f4f62}.page-header.navbar .top-menu .navbar-nav>li.dropdown .dropdown-toggle:hover>i,.page-header.navbar .top-menu .navbar-nav>li.dropdown.open .dropdown-toggle>i{color:#a4aebb}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu{border-color:#e7eaf0}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu:after{border-bottom-color:#eaedf2}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu>li.external{background:#eaedf2}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu>li.external>h3{color:#62878f}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu>li.external>a{color:#5b9bd1}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu>li.external>a:hover{color:#3175af;text-decoration:underline}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu .dropdown-menu-list>li>a{border-bottom:1px solid #EFF2F6!important;color:#888}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu .dropdown-menu-list>li>a:hover{background:#f8f9fa}.page-header.navbar .top-menu .navbar-nav>li.dropdown-notification .dropdown-menu .dropdown-menu-list>li>a .time{background:#f1f1f1}.page-header.navbar .top-menu .navbar-nav>li.dropdown-notification .dropdown-menu .dropdown-menu-list>li>a:hover .time{background:#e4e4e4}.page-header.navbar .top-menu .navbar-nav>li.dropdown-inbox>.dropdown-toggle>.circle{background-color:#EA4C61;color:#fff}.page-header.navbar .top-menu .navbar-nav>li.dropdown-inbox>.dropdown-toggle>.corner{border-color:transparent transparent transparent #EA4C61}.page-header.navbar .top-menu .navbar-nav>li.dropdown-inbox .dropdown-menu .dropdown-menu-list .subject .from{color:#5b9bd1}.page-header.navbar .top-menu .navbar-nav>li.dropdown-language>.dropdown-toggle>.langname,.page-header.navbar .top-menu .navbar-nav>li.dropdown-user>.dropdown-toggle>.username,.page-header.navbar .top-menu .navbar-nav>li.dropdown-user>.dropdown-toggle>i{color:#c6cfda}.page-header.navbar .top-menu .navbar-nav>li.dropdown-tasks .dropdown-menu .dropdown-menu-list .progress{background-color:#dfe2e9}.page-header.navbar .top-menu .navbar-nav>li.dropdown-user>.dropdown-menu{width:195px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-dark .dropdown-menu{background:#3f4f62;border:0}.page-header.navbar .top-menu .navbar-nav>li.dropdown-dark .dropdown-menu:after{border-bottom-color:#3f4f62}.page-header.navbar .top-menu .navbar-nav>li.dropdown-dark .dropdown-menu>li.external{background:#2f3b49}.page-header.navbar .top-menu .navbar-nav>li.dropdown-dark .dropdown-menu>li.external>h3{color:#adbaca}.page-header.navbar .top-menu .navbar-nav>li.dropdown-dark .dropdown-menu>li.external>a:hover{color:#87b6dd}.page-header.navbar .top-menu .navbar-nav>li.dropdown-dark .dropdown-menu .dropdown-menu-list>li a,.page-header.navbar .top-menu .navbar-nav>li.dropdown-dark .dropdown-menu.dropdown-menu-default>li a{color:#bcc7d4;border-bottom:1px solid #4b5e75!important}.page-header.navbar .top-menu .navbar-nav>li.dropdown-dark .dropdown-menu .dropdown-menu-list>li a>i,.page-header.navbar .top-menu .navbar-nav>li.dropdown-dark .dropdown-menu.dropdown-menu-default>li a>i{color:#9dadc0}.page-header.navbar .top-menu .navbar-nav>li.dropdown-dark .dropdown-menu .dropdown-menu-list>li a:hover,.page-header.navbar .top-menu .navbar-nav>li.dropdown-dark .dropdown-menu.dropdown-menu-default>li a:hover{background:#47596e}.page-header.navbar .top-menu .navbar-nav>li.dropdown-dark .dropdown-menu.dropdown-menu-default>li a{border-bottom:0!important}.page-header.navbar .top-menu .navbar-nav>li.dropdown-dark .dropdown-menu.dropdown-menu-default>li.divider{background:#4b5e75}.page-header.navbar .top-menu .navbar-nav>li.dropdown-notification.dropdown-dark .dropdown-menu .dropdown-menu-list>li>a .time{background:#354353}.page-header.navbar .top-menu .navbar-nav>li.dropdown-notification.dropdown-dark .dropdown-menu .dropdown-menu-list>li>a:hover .time{background:#2b3643}.page-header.navbar .search-form{background:#232c37}.page-header.navbar .search-form.open,.page-header.navbar .search-form:hover{background:#3f4f62}.page-header.navbar .search-form .input-group .form-control{color:#959fad}.page-header.navbar .search-form .input-group .form-control::-moz-placeholder{color:#929cab;opacity:1}.page-header.navbar .search-form .input-group .form-control:-ms-input-placeholder{color:#929cab}.page-header.navbar .search-form .input-group .form-control::-webkit-input-placeholder{color:#929cab}.page-header.navbar .search-form .input-group .input-group-btn .btn.submit>i{color:#959fad}.page-header.navbar .menu-toggler{background-image:url(../../assets/images/sidebar_toggler_icon_darkblue.png)}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu{box-shadow:5px 5px rgba(63,79,98,.2)}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu .mega-menu-content .mega-menu-submenu li>h3,.page-header.navbar .hor-menu .navbar-nav>li>a{color:#c6cfda}.page-header.navbar .hor-menu .navbar-nav>li>a>i{color:#788ea8}.page-header.navbar .hor-menu .navbar-nav>li.open>a,.page-header.navbar .hor-menu .navbar-nav>li>a:hover{color:#d5dce4;background:#3f4f62!important}.page-header.navbar .hor-menu .navbar-nav>li.open>a>i,.page-header.navbar .hor-menu .navbar-nav>li>a:hover>i{color:#889bb2}.page-header.navbar .hor-menu .navbar-nav>li.active>a,.page-header.navbar .hor-menu .navbar-nav>li.current>a{color:#fff;background:#EA4C61!important}.page-header.navbar .hor-menu .navbar-nav>li.active>a>i,.page-header.navbar .hor-menu .navbar-nav>li.current>a>i{color:#788ea8}.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu{box-shadow:5px 5px rgba(63,79,98,.2);background:#3f4f62}.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li>a,.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li>a>i{color:#c6cfda}.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li:hover>a{color:#f1f3f6;background:#47596e}.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li:hover>a>i{color:#f1f3f6}.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li.active>a,.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li.active>a:hover,.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li.current>a,.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li.current>a:hover{color:#f1f3f6;background:#47596e}.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li.active>a:hover>i,.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li.active>a>i,.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li.current>a:hover>i,.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li.current>a>i{color:#f1f3f6}.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li.divider{background-color:#495c72}.page-header.navbar .hor-menu .navbar-nav>li .dropdown-submenu>a:after{color:#c6cfda}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li.mega-menu-dropdown>.dropdown-menu{box-shadow:5px 5px rgba(102,102,102,.1)}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li.mega-menu-dropdown>.dropdown-menu .mega-menu-content .mega-menu-submenu li>h3{color:#666}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li>a{color:#c6cfda}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li>a>i{color:#788ea8}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li>a:hover{color:#d5dce4;background:#3f4f62}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li>a:hover>i{color:#889bb2}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li.open>a{color:#333!important;background:#fff!important}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li.open>a>i{color:#333!important}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li.active>a,.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li.active>a:hover,.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li.current>a,.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li.current>a:hover{color:#fff;background:#EA4C61}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li.active>a:hover>i,.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li.active>a>i,.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li.current>a:hover>i,.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li.current>a>i{color:#788ea8}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu{box-shadow:5px 5px rgba(102,102,102,.1);background:#fff;border:1px solid #efeff5}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu li>a{color:#000}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu li>a>i{color:#888}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu li:hover>a{color:#000;background:#f2f2f7}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu li:hover>a>i{color:#666}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu li.active>a,.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu li.active>a:hover,.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu li.current>a,.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu li.current>a:hover{color:#000;background:#f2f2f7}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu li.active>a:hover>i,.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu li.active>a>i,.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu li.current>a:hover>i,.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu li.current>a>i{color:#666}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu li.divider{background-color:#f2f2f7}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li>.dropdown-menu{border-top:0}.page-sidebar,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover{background-color:#364150}.page-sidebar .page-sidebar-menu>li>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li>a{color:#b4bcc8}.page-sidebar .page-sidebar-menu>li>a>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li>a>i{color:#606C7D}.page-sidebar .page-sidebar-menu>li>a>i[class*=icon-],.page-sidebar .page-sidebar-menu>li>a>i[class^=icon-],.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li>a>i[class*=icon-],.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li>a>i[class^=icon-]{color:#6b788b}.page-sidebar .page-sidebar-menu>li>a>.arrow.open:before,.page-sidebar .page-sidebar-menu>li>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li>a>.arrow:before{color:#606C7D}.page-sidebar .page-sidebar-menu>li.heading>h3,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.heading>h3{color:#708096}.page-sidebar .page-sidebar-menu>li.open>a,.page-sidebar .page-sidebar-menu>li:hover>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.open>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li:hover>a{background:#2C3542;color:#b4bcc8}.page-sidebar .page-sidebar-menu>li.open>a>.arrow.open:before,.page-sidebar .page-sidebar-menu>li.open>a>.arrow:before,.page-sidebar .page-sidebar-menu>li.open>a>i,.page-sidebar .page-sidebar-menu>li:hover>a>.arrow.open:before,.page-sidebar .page-sidebar-menu>li:hover>a>.arrow:before,.page-sidebar .page-sidebar-menu>li:hover>a>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.open>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.open>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.open>a>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li:hover>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li:hover>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li:hover>a>i{color:#606C7D}.page-sidebar .page-sidebar-menu>li.active.open>a,.page-sidebar .page-sidebar-menu>li.active>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active.open>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active>a{background:#EA4C61;border-top-color:transparent;color:#fff}.page-sidebar .page-sidebar-menu>li.active.open>a:hover,.page-sidebar .page-sidebar-menu>li.active>a:hover,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active.open>a:hover,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active>a:hover{background:#EA4C61}.page-sidebar .page-sidebar-menu>li.active.open>a>.arrow.open:before,.page-sidebar .page-sidebar-menu>li.active.open>a>.arrow:before,.page-sidebar .page-sidebar-menu>li.active.open>a>i,.page-sidebar .page-sidebar-menu>li.active>a>.arrow.open:before,.page-sidebar .page-sidebar-menu>li.active>a>.arrow:before,.page-sidebar .page-sidebar-menu>li.active>a>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active.open>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active.open>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active.open>a>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active>a>i{color:#fff}.page-sidebar .page-sidebar-menu>li.active+li>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active+li>a{border-top-color:transparent}.page-sidebar .page-sidebar-menu>li.active.open+li>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active.open+li>a{border-top-color:#3d4957}.page-sidebar .page-sidebar-menu>li:last-child>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li:last-child>a{border-bottom:1px solid transparent!important}.page-sidebar .page-sidebar-menu li:hover>a>.arrow.open:before,.page-sidebar .page-sidebar-menu li:hover>a>.arrow:before,.page-sidebar .page-sidebar-menu li>a>.arrow.open:before,.page-sidebar .page-sidebar-menu li>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu li:hover>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu li:hover>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu li>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu li>a>.arrow:before{color:#606C7D}.page-sidebar .page-sidebar-menu li.active>a>.arrow.open:before,.page-sidebar .page-sidebar-menu li.active>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu li.active>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu li.active>a>.arrow:before{color:#fff}.page-sidebar-closed .page-sidebar .page-sidebar-menu:hover .sub-menu,.page-sidebar-closed .page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu:hover .sub-menu{background-color:#364150}.page-sidebar .page-sidebar-menu .sub-menu>li>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li>a{color:#b4bcc8}.page-sidebar .page-sidebar-menu .sub-menu>li>a>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li>a>i{color:#606C7D}.page-sidebar .page-sidebar-menu .sub-menu>li>a>i[class*=icon-],.page-sidebar .page-sidebar-menu .sub-menu>li>a>i[class^=icon-],.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li>a>i[class*=icon-],.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li>a>i[class^=icon-]{color:#6b788b}.page-sidebar .page-sidebar-menu .sub-menu>li>a>.arrow.open:before,.page-sidebar .page-sidebar-menu .sub-menu>li>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li>a>.arrow:before{color:#606C7D}.page-sidebar .page-sidebar-menu .sub-menu>li.active>a,.page-sidebar .page-sidebar-menu .sub-menu>li.open>a,.page-sidebar .page-sidebar-menu .sub-menu>li:hover>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li.active>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li.open>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li:hover>a{background:#3e4b5c!important}.page-sidebar .page-sidebar-menu .sub-menu>li.active>a>i,.page-sidebar .page-sidebar-menu .sub-menu>li.open>a>i,.page-sidebar .page-sidebar-menu .sub-menu>li:hover>a>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li.active>a>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li.open>a>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li:hover>a>i{color:#959fae}.page-sidebar .page-sidebar-menu .sub-menu>li.active>a>.arrow.open:before,.page-sidebar .page-sidebar-menu .sub-menu>li.active>a>.arrow:before,.page-sidebar .page-sidebar-menu .sub-menu>li.open>a>.arrow.open:before,.page-sidebar .page-sidebar-menu .sub-menu>li.open>a>.arrow:before,.page-sidebar .page-sidebar-menu .sub-menu>li:hover>a>.arrow.open:before,.page-sidebar .page-sidebar-menu .sub-menu>li:hover>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li.active>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li.active>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li.open>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li.open>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li:hover>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li:hover>a>.arrow:before{color:#606C7D}.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.open>a,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li:hover>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li.open>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li:hover>a{background:#3a4656}.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li.active>a{background:#3e4b5c;border-left:4px solid #EA4C61;color:#f1f1f1}.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a:hover,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active>a:hover,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a:hover,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li.active>a:hover{border-left:4px solid #EA4C61;background:#3a4656}.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a>.arrow.open:before,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a>.arrow:before,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a>i,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active>a>.arrow.open:before,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active>a>.arrow:before,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active>a>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li.active>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li.active>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li.active>a>i{color:#eee}.page-sidebar .sidebar-search .input-group .input-group-btn .btn>i,.page-sidebar-closed .page-sidebar .sidebar-search.open .remove>i,.page-sidebar-closed .page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.open .remove>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group .input-group-btn .btn>i{color:#4e5c6f}.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu{background:#3a4656}.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu>li.active>a,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu>li.open>a,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu>li:hover>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu>li.active>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu>li.open>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu>li:hover>a{background:#3e4b5c!important}.page-sidebar .sidebar-toggler,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-toggler{background:url(../assets/images/sidebar_inline_toggler_icon_darkblue.jpg)}.page-sidebar .sidebar-search .input-group,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group{border-bottom:1px solid #435060}.page-sidebar .sidebar-search .input-group .form-control,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group .form-control{background-color:#364150;color:#4e5c6f}.page-sidebar .sidebar-search .input-group .form-control::-moz-placeholder,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group .form-control::-moz-placeholder{color:#4e5c6f;opacity:1}.page-sidebar .sidebar-search .input-group .form-control:-ms-input-placeholder,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group .form-control:-ms-input-placeholder{color:#4e5c6f}.page-sidebar .sidebar-search .input-group .form-control::-webkit-input-placeholder,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group .form-control::-webkit-input-placeholder{color:#4e5c6f}.page-sidebar .sidebar-search.sidebar-search-bordered .input-group,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.sidebar-search-bordered .input-group{border:1px solid #435060}.page-sidebar-closed .page-sidebar .sidebar-search.open .input-group,.page-sidebar-closed .page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.open .input-group{background-color:#364150}.page-sidebar-closed .page-sidebar .sidebar-search.sidebar-search-solid .input-group,.page-sidebar-closed .page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.sidebar-search-solid .input-group{background:0 0}.page-sidebar .sidebar-search.sidebar-search-solid .input-group,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.sidebar-search-solid .input-group{border:1px solid #2c3541;background:#2c3541}.page-sidebar .sidebar-search.sidebar-search-solid .input-group .form-control,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.sidebar-search-solid .input-group .form-control{background:#2c3541}.page-sidebar .sidebar-search.sidebar-search-solid.open .input-group,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.sidebar-search-solid.open .input-group{border:1px solid #364150;background:#364150}.page-sidebar .sidebar-search.sidebar-search-solid.open .input-group .form-control,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.sidebar-search-solid.open .input-group .form-control{background:#364150}.page-sidebar-reversed .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a,.page-sidebar-reversed .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a:hover,.page-sidebar-reversed .page-sidebar-menu.page-sidebar-menu-light>li.active>a,.page-sidebar-reversed .page-sidebar-menu.page-sidebar-menu-light>li.active>a:hover{border-left:0;border-right:4px solid #EA4C61}.page-quick-sidebar-wrapper,.page-quick-sidebar-wrapper .page-quick-sidebar{background:#435468}.page-quick-sidebar-toggler{background:#576d87}.page-quick-sidebar-toggler:hover{background:#51667e}.page-quick-sidebar-toggler>i,.page-quick-sidebar-wrapper{color:#d1d6de}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li>a{color:#c9ced7;background:#576d87}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li>a:hover{background:#4d6178}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li.open>a{color:#c9ced7;background:#576d87}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li.active>a{border:0;background:#435468}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li .dropdown-menu{border:0;background:#576d87;box-shadow:5px 5px rgba(142,160,182,.1)}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li .dropdown-menu:after,.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li .dropdown-menu:before{border-bottom:7px solid #576d87}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li .dropdown-menu>li>a{color:#d1d6de}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li .dropdown-menu>li>a>i{color:#ccd1d9}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li .dropdown-menu>li>a:hover{background:#5d7591;color:#d1d6de}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li .dropdown-menu>li>a:hover>i{color:#d4d9e0}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li .dropdown-menu>li.active>a{background:#59708a;color:#d1d6de}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li .dropdown-menu>li.divider{background-color:#5d7591}.page-quick-sidebar-wrapper .page-quick-sidebar .list-heading{color:#a5afbd}.page-quick-sidebar-wrapper .page-quick-sidebar .list-items>li{border-bottom-color:#495c72}.page-quick-sidebar-wrapper .page-quick-sidebar .list-items>li:hover{background:#495c72}.page-quick-sidebar-wrapper .page-quick-sidebar-item .page-quick-sidebar-nav .page-quick-sidebar-back-to-list{color:#c9ced7}.page-quick-sidebar-wrapper .page-quick-sidebar-chat .page-quick-sidebar-chat-users .quicksidebar-search .input-group{border-bottom:1px solid #435060}.page-quick-sidebar-wrapper .page-quick-sidebar-chat .page-quick-sidebar-chat-users .quicksidebar-search .input-group .form-control{background-color:#435468;color:#c9ced7}.page-quick-sidebar-wrapper .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media .media-body .media-heading-sub{color:#9ca7b7}.page-quick-sidebar-wrapper .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media .media-body .media-heading-small{color:#919cae}.page-quick-sidebar-wrapper .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post .datetime,.page-quick-sidebar-wrapper .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post .name{color:#bdc4ce}.page-quick-sidebar-wrapper .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post .message{color:#c9ced7;background:#576d87}.page-quick-sidebar-wrapper .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post.in .message .arrow{border-right-color:#576d87}.page-quick-sidebar-wrapper .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post.out .message .arrow{border-left-color:#576d87}.page-quick-sidebar-wrapper .page-quick-sidebar-alerts .page-quick-sidebar-alerts-list .feeds li a{color:#b7bfca}.page-quick-sidebar-wrapper .page-quick-sidebar-alerts .page-quick-sidebar-alerts-list .feeds li a .desc{text-decoration:underline}.page-quick-sidebar-wrapper .page-quick-sidebar-alerts .page-quick-sidebar-alerts-list .feeds li .desc{color:#b1b9c6}.page-quick-sidebar-wrapper .page-quick-sidebar-alerts .page-quick-sidebar-alerts-list .feeds li .date{color:#919cae}.page-footer .page-footer-inner{color:#98a6ba}.page-footer-fixed .page-footer{background-color:#28303b}@media (min-width:992px){.page-sidebar-menu.page-sidebar-menu-hover-submenu>li:hover>.sub-menu{box-shadow:5px 5px rgba(44,53,66,.2)}.page-sidebar-menu.page-sidebar-menu-hover-submenu>li:hover>.sub-menu.sidebar-search-wrapper,.page-sidebar-menu.page-sidebar-menu-hover-submenu>li:hover>.sub-menu.sidebar-toggler-wrapper{box-shadow:none}.page-sidebar-menu.page-sidebar-menu-closed>li:hover{box-shadow:5px 5px rgba(44,53,66,.2)}.page-sidebar-menu.page-sidebar-menu-closed>li:hover.sidebar-search-wrapper,.page-sidebar-menu.page-sidebar-menu-closed>li:hover.sidebar-toggler-wrapper{box-shadow:none}.page-sidebar-menu.page-sidebar-menu-closed>li:hover>.sub-menu{box-shadow:5px 5px rgba(44,53,66,.2)}.page-sidebar-menu.page-sidebar-menu-closed>li:hover>.sub-menu.sidebar-search-wrapper,.page-sidebar-menu.page-sidebar-menu-closed>li:hover>.sub-menu.sidebar-toggler-wrapper{box-shadow:none}.page-sidebar-menu.page-sidebar-menu-light.page-sidebar-menu-closed>li.heading{padding:0;margin-top:15px;margin-bottom:15px;border-top:1px solid #3d4957!important}.page-sidebar-fixed:not(.page-footer-fixed) .page-content{border-bottom:0}.page-sidebar-fixed:not(.page-footer-fixed) .page-footer{background-color:#fff}.page-sidebar-fixed:not(.page-footer-fixed) .page-footer .page-footer-inner{color:#333}.page-boxed{background-color:#303a47!important}.page-boxed .page-container{background-color:#364150;border-left:1px solid #3d4957;border-bottom:1px solid #3d4957}.page-boxed.page-sidebar-reversed .page-container{border-left:0;border-right:1px solid #3d4957}.page-boxed.page-sidebar-fixed .page-container{border-left:0;border-bottom:0}.page-boxed.page-sidebar-reversed.page-sidebar-fixed .page-container{border-left:0;border-right:0;border-bottom:0}.page-boxed.page-sidebar-fixed .page-sidebar{border-left:1px solid #3d4957}.page-boxed.page-sidebar-reversed.page-sidebar-fixed .page-sidebar{border-right:1px solid #3d4957;border-left:0}.page-boxed.page-sidebar-fixed.page-footer-fixed .page-footer{background-color:#303a47!important}.page-boxed.page-sidebar-fixed.page-footer-fixed .page-footer .page-footer-inner{color:#98a6ba}.page-sidebar-menu-hover-submenu li:hover a>.arrow{border-right:8px solid #323c4b}.page-sidebar-reversed .page-sidebar-menu-hover-submenu li:hover a>.arrow{border-left:8px solid #323c4b}.page-sidebar-menu-hover-submenu li:hover>.sub-menu{background:#323c4b!important}}.pace .pace-progress-inner,.page-header.navbar,.page-header.navbar .top-menu .navbar-nav>li.dropdown-tasks .dropdown-menu .dropdown-menu-list>li .progress .progress-bar{box-shadow:none}@media (max-width:991px){.page-sidebar{background-color:#28303b}.page-sidebar .page-sidebar-menu>li>a{border-top:1px solid #364150}.page-sidebar .page-sidebar-menu>li.open>a,.page-sidebar .page-sidebar-menu>li:hover>a{background:#2e3744}.page-sidebar .page-sidebar-menu>li:last-child>a{border-bottom:0!important}.page-sidebar .page-sidebar-menu .sidebar-search input,.page-sidebar .page-sidebar-menu>li .sub-menu{background-color:#28303b!important}.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a:hover,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active>a,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active>a:hover,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.open>a,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li:hover>a{background:#2e3744}.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu{background:#28303b!important}.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu>li.active>a,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu>li.open>a,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu>li:hover>a{background:#2e3744!important}}@media (max-width:480px){.page-header.navbar .top-menu{background-color:#364150}.page-header-fixed-mobile .page-header.navbar .top-menu{background-color:#2b3643}.page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-toggle{background-color:#415265}.page-header-fixed-mobile .page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-toggle{background:0 0}.page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-toggle:hover{background-color:#3f4f62}}body{background-color:#364150}.block-spinner-bar>div,.page-spinner-bar>div{background:#20c5ad}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url(https://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTQzyDMXhdD8sAj6OAJTFsBI.woff2) format('woff2')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url(https://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTQ7aC6SjiAOpAWOKfJDfVRY.woff2) format('woff2');unicode-range:U+0460-052F,U+20B4,U+2DE0-2DFF,U+A640-A69F}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url(https://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTRdwxCXfZpKo5kWAx_74bHs.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url(https://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTSGUML8f7tzeB6gGvgki0bE.woff2) format('woff2');unicode-range:U+02BC,U+0900-097F,U+1CD0-1CF6,U+1CF8-1CF9,U+200B-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FB}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url(https://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTZ6vnaPZw6nYDxM4SVEMFKg.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url(https://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTfy1_HTwRwgtl1cPga3Fy3Y.woff2) format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url(https://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTfgrLsWo7Jk1KvZser0olKY.woff2) format('woff2');unicode-range:U+0102-0103,U+1EA0-1EF1,U+20AB}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url(https://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTYjoYw3YTyktCCer_ilOlhE.woff2) format('woff2');unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url(https://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTRampu5_7CjHW5spxoeN3Vs.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url(https://fonts.gstatic.com/s/opensans/v13/TCmDhmS1RRL7aqhqZW19hwLUuEpTyoUstqEm5AMlJo4.woff2) format('woff2')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url(https://fonts.gstatic.com/s/opensans/v13/K88pR3goAWT7BTt32Z01m4X0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');unicode-range:U+0460-052F,U+20B4,U+2DE0-2DFF,U+A640-A69F}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url(https://fonts.gstatic.com/s/opensans/v13/RjgO7rYTmqiVp7vzi-Q5UYX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url(https://fonts.gstatic.com/s/opensans/v13/ttwNtsRpgsxVmgGGmiUOEoX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');unicode-range:U+02BC,U+0900-097F,U+1CD0-1CF6,U+1CF8-1CF9,U+200B-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FB}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url(https://fonts.gstatic.com/s/opensans/v13/LWCjsQkB6EMdfHrEVqA1KYX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url(https://fonts.gstatic.com/s/opensans/v13/xozscpT2726on7jbcb_pAoX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url(https://fonts.gstatic.com/s/opensans/v13/59ZRklaO5bWGqF5A9baEEYX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');unicode-range:U+0102-0103,U+1EA0-1EF1,U+20AB}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url(https://fonts.gstatic.com/s/opensans/v13/u-WUoqrET9fUeobQW7jkRYX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url(https://fonts.gstatic.com/s/opensans/v13/cJZKeOuBrn4kERxqtaUH3ZBw1xU1rKptJj_0jans920.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;src:local('Open Sans Semibold'),local('OpenSans-Semibold'),url(https://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNSgzyDMXhdD8sAj6OAJTFsBI.woff2) format('woff2')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;src:local('Open Sans Semibold'),local('OpenSans-Semibold'),url(https://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNSg7aC6SjiAOpAWOKfJDfVRY.woff2) format('woff2');unicode-range:U+0460-052F,U+20B4,U+2DE0-2DFF,U+A640-A69F}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;src:local('Open Sans Semibold'),local('OpenSans-Semibold'),url(https://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNShdwxCXfZpKo5kWAx_74bHs.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;src:local('Open Sans Semibold'),local('OpenSans-Semibold'),url(https://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNSiGUML8f7tzeB6gGvgki0bE.woff2) format('woff2');unicode-range:U+02BC,U+0900-097F,U+1CD0-1CF6,U+1CF8-1CF9,U+200B-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FB}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;src:local('Open Sans Semibold'),local('OpenSans-Semibold'),url(https://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNSp6vnaPZw6nYDxM4SVEMFKg.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;src:local('Open Sans Semibold'),local('OpenSans-Semibold'),url(https://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNSvy1_HTwRwgtl1cPga3Fy3Y.woff2) format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;src:local('Open Sans Semibold'),local('OpenSans-Semibold'),url(https://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNSvgrLsWo7Jk1KvZser0olKY.woff2) format('woff2');unicode-range:U+0102-0103,U+1EA0-1EF1,U+20AB}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;src:local('Open Sans Semibold'),local('OpenSans-Semibold'),url(https://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNSojoYw3YTyktCCer_ilOlhE.woff2) format('woff2');unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;src:local('Open Sans Semibold'),local('OpenSans-Semibold'),url(https://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNShampu5_7CjHW5spxoeN3Vs.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzAzyDMXhdD8sAj6OAJTFsBI.woff2) format('woff2')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzA7aC6SjiAOpAWOKfJDfVRY.woff2) format('woff2');unicode-range:U+0460-052F,U+20B4,U+2DE0-2DFF,U+A640-A69F}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzBdwxCXfZpKo5kWAx_74bHs.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzCGUML8f7tzeB6gGvgki0bE.woff2) format('woff2');unicode-range:U+02BC,U+0900-097F,U+1CD0-1CF6,U+1CF8-1CF9,U+200B-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FB}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzJ6vnaPZw6nYDxM4SVEMFKg.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzPy1_HTwRwgtl1cPga3Fy3Y.woff2) format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzPgrLsWo7Jk1KvZser0olKY.woff2) format('woff2');unicode-range:U+0102-0103,U+1EA0-1EF1,U+20AB}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzIjoYw3YTyktCCer_ilOlhE.woff2) format('woff2');unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzBampu5_7CjHW5spxoeN3Vs.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000}@media print{body{background-color:#fff!important}.hidden-print,.page-bar,.page-footer,.page-quick-sidebar-wrapper,.page-sidebar-wrapper,.theme-panel{display:none}.no-page-break{page-break-after:avoid}.page-container{margin:0!important;padding:0!important}.page-content{min-height:300px!important;padding:0 20px 20px!important;margin:0!important}}.page-header.navbar{width:100%;margin:0;border:0;padding:0;height:46px;min-height:46px;filter:none;background-image:none}.page-header.navbar.navbar-fixed-top,.page-header.navbar.navbar-static-top{z-index:9995}.page-header.navbar .page-logo{float:left;display:block;width:235px;height:46px;padding-left:20px;padding-right:20px}.page-sidebar-closed.page-sidebar-closed-hide-logo .page-header.navbar .page-logo{padding:0}.page-header.navbar .page-logo>.logo-image,.page-header.navbar .page-logo>a{display:inline-block;float:left}.page-header.navbar .page-logo .logo-default{margin:16px 0 0}.page-header.navbar .page-logo .logo-mini{display:none;margin-left:5px}.page-header.navbar .page-logo .text-logo{padding-left:20px;padding-top:12px}.page-header.navbar .search-form{display:inline-block;width:46px;position:relative;float:left;transition:all .6s}.page-header.navbar .search-form .input-group .form-control{height:46px;border:0;background:0 0!important;font-size:13px;padding-left:0;margin-left:12px;text-indent:-150000px}.page-header.navbar .search-form .input-group .form-control:hover{cursor:pointer}.page-header.navbar .search-form .input-group .input-group-btn{height:46px}.page-header.navbar .search-form .input-group .input-group-btn .btn.submit{margin-left:-24px;padding:0;width:46px;background:0 0;margin-top:4px;display:block}.page-header.navbar .search-form .input-group .input-group-btn .btn.submit>i{font-size:15px}.page-header.navbar .search-form.open{transition:all .6s;width:300px!important}.page-header.navbar .search-form.open .input-group .form-control{text-indent:0}.page-header.navbar .search-form.open .input-group .form-control:hover{cursor:text}.page-header.navbar .search-form.open .input-group .input-group-btn .btn.submit{margin-left:0}.page-header.navbar .menu-toggler{display:block;cursor:pointer;opacity:.7;filter:alpha(opacity=70);width:24px;height:24px;background-repeat:no-repeat;background-position:center center}.page-header.navbar .menu-toggler:hover,.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu .dropdown-menu-list>li>a:hover{opacity:1;filter:alpha(opacity=100)}.page-header.navbar .menu-toggler.sidebar-toggler{float:right;margin:11px 0 0}.page-sidebar-closed.page-sidebar-closed-hide-logo .page-header.navbar .menu-toggler.sidebar-toggler{margin-right:10.5px}.page-header.navbar .menu-toggler.responsive-toggler{display:none;float:right;margin:11px 6px 0}.page-header.navbar .top-menu{margin:0;padding:0;float:right}.page-header.navbar .top-menu .navbar-nav{padding:0;margin-right:20px;display:block}.page-header.navbar .top-menu .navbar-nav>li.dropdown{margin:0;padding:0 4px;height:46px;display:inline-block}.page-header.navbar .top-menu .navbar-nav>li.dropdown:last-child{padding-right:0}.page-header.navbar .top-menu .navbar-nav>li.dropdown>.dropdown-toggle{margin:0;padding:17px 10px 9px}.page-header.navbar .top-menu .navbar-nav>li.dropdown>.dropdown-toggle:last-child{padding-right:0}.page-header.navbar .top-menu .navbar-nav>li.dropdown>.dropdown-toggle>i{font-size:17px}.page-header.navbar .top-menu .navbar-nav>li.dropdown>.dropdown-toggle>i.glyphicon{font-size:16px}.page-header.navbar .top-menu .navbar-nav>li.dropdown>.dropdown-toggle>.badge{font-family:"Open Sans",sans-serif;position:absolute;top:10px;right:20px;font-weight:300px;padding:3px 6px}.page-header.navbar .top-menu .navbar-nav>li.dropdown>.dropdown-toggle:focus{background:0 0}.page-header.navbar .top-menu .navbar-nav>li.dropdown .dropdown-menu{margin-top:3px;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.page-header.navbar .top-menu .navbar-nav>li.dropdown .dropdown-menu:before{position:absolute;top:-7px;right:9px;display:inline-block!important;border-right:7px solid transparent;border-bottom:7px solid #eee;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,.2);content:''}.page-header.navbar .top-menu .navbar-nav>li.dropdown .dropdown-menu:after{position:absolute;top:-6px;right:10px;display:inline-block!important;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.page-header.navbar .top-menu .navbar-nav>li.dropdown .dropdown-menu>li>a{color:#555}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu{min-width:160px;max-width:275px;width:275px;z-index:9995}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu>li.external{display:block;overflow:hidden;padding:15px;letter-spacing:.5px;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;-ms-border-radius:4px 4px 0 0;-o-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu>li.external>h3{margin:0;padding:0;float:left;font-size:13px;display:inline-block}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu>li.external>a{display:inline-block;padding:0;background:0 0;clear:inherit;font-size:13px;font-weight:300;position:absolute;right:10px;border:0;margin-top:-1px}.page-bar:after,.page-container:after,.page-footer:after,.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media .media-object:after,.page-sidebar .page-sidebar-menu>li.sidebar-search-wrapper:after,.page-sidebar .page-sidebar-menu>li.sidebar-toggler-wrapper:after,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.sidebar-search-wrapper:after,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.sidebar-toggler-wrapper:after{clear:both}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu .dropdown-menu-list{padding-right:0!important;padding-left:0;list-style:none}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu .dropdown-menu-list>li>a{display:block;clear:both;font-weight:300;line-height:20px;white-space:normal;font-size:13px;padding:16px 15px 18px;text-shadow:none}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu .dropdown-menu-list>li:first-child a{border-top:none}.page-header.navbar .top-menu .navbar-nav>li.dropdown-notification .dropdown-menu .dropdown-menu-list>li a .details{overflow:hidden}.page-header.navbar .top-menu .navbar-nav>li.dropdown-notification .dropdown-menu .dropdown-menu-list>li a .details .label-icon{margin-right:10px;-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;-o-border-radius:50%;border-radius:50%}.page-header.navbar .top-menu .navbar-nav>li.dropdown-notification .dropdown-menu .dropdown-menu-list>li a .details .label-icon i{margin-right:2px;margin-left:1px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-notification .dropdown-menu .dropdown-menu-list>li a .details .label-icon .badge{right:15px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-notification .dropdown-menu .dropdown-menu-list>li a .time{float:right;max-width:75px;font-size:11px;font-weight:400;opacity:.7;filter:alpha(opacity=70);text-align:right;padding:1px 5px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-inbox>.dropdown-menu .dropdown-menu-list>li .photo{float:left;margin:0 6px 6px 0}.page-header.navbar .top-menu .navbar-nav>li.dropdown-inbox>.dropdown-menu .dropdown-menu-list>li .photo img{height:40px;width:40px;-webkit-border-radius:50%!important;-moz-border-radius:50%!important;-ms-border-radius:50%!important;-o-border-radius:50%!important;border-radius:50%!important}.page-header.navbar .top-menu .navbar-nav>li.dropdown-inbox>.dropdown-menu .dropdown-menu-list>li .subject{display:block;margin-left:46px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-inbox>.dropdown-menu .dropdown-menu-list>li .subject .from{font-size:13px;font-weight:600}.page-header.navbar .top-menu .navbar-nav>li.dropdown-inbox>.dropdown-menu .dropdown-menu-list>li .subject .time{font-size:12px;font-weight:400;opacity:.5;filter:alpha(opacity=50);float:right}.page-header.navbar .top-menu .navbar-nav>li.dropdown-inbox>.dropdown-menu .dropdown-menu-list>li .message{display:block!important;font-size:12px;line-height:1.3;margin-left:46px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-tasks .dropdown-menu .dropdown-menu-list>li .task{margin-bottom:5px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-tasks .dropdown-menu .dropdown-menu-list>li .task .desc{font-size:13px;font-weight:300}.page-header.navbar .top-menu .navbar-nav>li.dropdown-tasks .dropdown-menu .dropdown-menu-list>li .task .percent{float:right;font-weight:600;display:inline-block}.page-header.navbar .top-menu .navbar-nav>li.dropdown-tasks .dropdown-menu .dropdown-menu-list>li .progress{display:block;height:8px;margin:8px 0 2px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-toggle{padding:14px 6px 12px 8px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-toggle>.username{display:inline-block;font-size:13px;font-weight:300}.page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-toggle>img{float:left;margin-top:-5px;margin-right:5px;height:29px;display:inline-block}.page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-toggle>i{display:inline-block;margin:0;font-size:13px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-menu{width:175px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-menu>li>a{font-size:14px;font-weight:300}.page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-menu>li>a i{width:15px;display:inline-block;margin-right:9px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-menu>li>a .badge{margin-right:10px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-language{padding-left:0;padding-right:0;margin:0}.page-header.navbar .top-menu .navbar-nav>li.dropdown-language>.dropdown-toggle{padding:14px 3px 12px 7px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-language>.dropdown-toggle>img{margin-bottom:2px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-language>.dropdown-toggle>i{font-size:14px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-language>.dropdown-menu>li>a{font-size:13px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-language>.dropdown-menu>li>a>img{margin-bottom:2px;margin-right:5px}.page-header.navbar .top-menu .navbar-nav li.dropdown-dark .dropdown-menu:before{border-left:none;border-right:none}.page-header.navbar .top-menu .navbar-nav li.dropdown-dark .dropdown-menu .dropdown-menu-list>li.external a{background:0 0!important;border:none!important}@media (min-width:768px){.page-header.navbar .search-form.search-form-expanded{width:200px}.page-header.navbar .search-form.search-form-expanded .input-group .form-control{text-indent:0}.page-header.navbar .search-form.search-form-expanded .input-group .form-control:hover{cursor:text}.page-header.navbar .search-form.search-form-expanded .input-group .input-group-btn .btn.submit{margin-left:0}}.page-header.navbar .container{position:relative}.page-header.navbar .hor-menu .navbar-nav,.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown{position:static}.page-header.navbar .hor-menu{margin:0;float:left}.page-header.navbar .hor-menu .navbar-nav.navbar-right .dropdown-menu{left:auto;right:0}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu{left:auto;width:auto}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu .mega-menu-content{font-family:"Open Sans",sans-serif;padding:15px;margin:0}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu .mega-menu-content.mega-menu-responsive-content{padding:10px 18px 10px 45px}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu .mega-menu-content .mega-menu-submenu{padding:0;margin:0}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu .mega-menu-content .mega-menu-submenu:last-child{border-right:0}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu .mega-menu-content .mega-menu-submenu li{padding:1px!important;margin:0!important;list-style:none}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu .mega-menu-content .mega-menu-submenu li>h3{margin-top:5px;padding-left:6px;font-size:15px;font-weight:400}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu .mega-menu-content .mega-menu-submenu li>a{white-space:normal;font-family:"Open Sans",sans-serif;padding:7px;margin:0;font-size:14px;font-weight:300}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu .mega-menu-content .mega-menu-submenu li>a.iconify{padding:7px 7px 7px 30px}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu .mega-menu-content .mega-menu-submenu li>a.iconify>i{position:absolute;top:auto!important;margin-left:-24px;font-size:15px;margin-top:3px!important}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu .mega-menu-content .mega-menu-submenu li>a .badge,.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu .mega-menu-content .mega-menu-submenu li>a .label{margin-left:5px}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown.mega-menu-full .dropdown-menu{left:20px;right:20px}.page-header.navbar .hor-menu .navbar-nav>li.menu-dropdown .dropdown-menu:after,.page-header.navbar .hor-menu .navbar-nav>li.menu-dropdown .dropdown-menu:before{display:none!important}.page-header.navbar .hor-menu .navbar-nav>li>a{font-size:14px;font-weight:400;padding:13px}.page-header.navbar .hor-menu .navbar-nav>li>a:focus{background:0 0!important}.page-header.navbar .hor-menu .navbar-nav>li.active .selected,.page-header.navbar .hor-menu .navbar-nav>li.current .selected{left:50%;bottom:0;position:absolute;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid transparent;display:inline-block;margin:0 0 -6px -7px;width:0;height:0}.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu{margin-top:0;border:none}.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li>a{font-family:"Open Sans",sans-serif;font-size:14px;font-weight:300;padding:9px 10px;white-space:normal}.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li>a .badge,.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li>a .label{font-weight:300}.page-header.navbar .hor-menu .navbar-nav>li.classic-menu-dropdown .dropdown-menu{min-width:195px;max-width:235px}.page-header.navbar .hor-menu .navbar-nav>li .dropdown-submenu>.dropdown-menu{top:0}.page-header.navbar .hor-menu .navbar-nav>li .dropdown-submenu>a:after{top:9px;right:10px}@media (min-width:992px) and (max-width:1200px){.page-boxed .page-header.navbar .top-menu .navbar-nav>li.dropdown-language .dropdown-toggle .langname,.page-boxed .page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-toggle .username.username-hide-on-mobile{display:none}}@media (min-width:992px){.page-sidebar-closed.page-sidebar-closed-hide-logo .page-header.navbar .page-logo{padding:0;width:45px}.page-sidebar-closed.page-sidebar-closed-hide-logo .page-header.navbar .page-logo .logo-default{display:none}.page-boxed .page-header.navbar .page-logo{width:236px}.page-boxed .page-header.navbar .top-menu .navbar-nav{margin-right:0}.page-sidebar-closed.page-sidebar-closed-hide-logo.page-boxed .page-header.navbar .page-logo{width:46px}.page-boxed.page-sidebar-fixed .page-header.navbar .page-logo{width:235px}}@media (max-width:991px){.page-header.navbar{padding:0 20px;position:relative;clear:both}.page-header.navbar .page-logo{width:auto;padding:0;margin-right:10px;margin-left:0!important;padding-left:0!important}.page-header.navbar .page-logo img{margin-left:4px!important}.page-header.navbar .menu-toggler.sidebar-toggler{display:none!important}.page-header.navbar .menu-toggler.responsive-toggler{display:inline-block}.page-header.navbar .top-menu .navbar-nav{display:inline-block;margin:0 10px 0 0}.page-header.navbar .top-menu .navbar-nav>li{float:left}.page-header.navbar .top-menu .navbar-nav .nav li.dropdown i{display:inline-block;position:relative;top:1px;right:0}.page-header.navbar .top-menu .navbar-nav .open .dropdown-menu{position:absolute}.page-header-fixed.page-header-fixed-mobile .navbar-fixed-top{position:fixed}.page-boxed .page-header.navbar>.container{max-width:none!important;margin:0!important;padding:0!important}}@media (min-width:768px) and (max-width:991px){.page-boxed .page-header.navbar{margin:auto!important;padding:0}.page-boxed .page-header.navbar>.container{margin:auto!important}}@media (max-width:767px){.page-header.navbar{padding:0 10px}.page-header.navbar .page-logo{width:auto}.page-header.navbar .search-form.open{z-index:3;left:10px;right:10px;position:absolute;width:auto!important}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended>.dropdown-menu{max-width:255px;width:255px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-notification .dropdown-menu{margin-right:-190px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-notification .dropdown-menu:after,.page-header.navbar .top-menu .navbar-nav>li.dropdown-notification .dropdown-menu:before{margin-right:190px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-inbox .dropdown-menu{margin-right:-150px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-inbox .dropdown-menu:after,.page-header.navbar .top-menu .navbar-nav>li.dropdown-inbox .dropdown-menu:before{margin-right:150px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-tasks .dropdown-menu{margin-right:-110px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-tasks .dropdown-menu:after,.page-header.navbar .top-menu .navbar-nav>li.dropdown-tasks .dropdown-menu:before{margin-right:110px}}@media (max-width:580px){.page-header.navbar .top-menu .navbar-nav>li.dropdown-language .dropdown-toggle .langname,.page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-toggle .username.username-hide-on-mobile{display:none}}@media (max-width:480px){.page-header-fixed.page-header-fixed-mobile .page-header.navbar{height:92px}.page-header.navbar .top-menu{display:block;clear:both}.page-header.navbar .top-menu .navbar-nav{margin-right:0}.page-header.navbar .top-menu .navbar-nav>li.dropdown .dropdown-toggle{padding:17px 6px 9px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-language .dropdown-toggle{padding:14px 4px 12px 2px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-toggle{padding:14px 0 12px 2px}}.pace .pace-progress{z-index:10000;top:44px;height:2px}.pace .pace-activity{top:48px;right:22px;border-radius:10px!important}.page-container{margin:0;padding:0;position:relative}.page-container:after,.page-container:before{content:" ";display:table}.page-header-fixed .page-container{margin-top:46px}.page-footer-fixed.page-footer-fixed-mobile .page-container{margin-bottom:20px!important}@media (min-width:992px){.page-footer-fixed .page-container{margin-bottom:20px!important}}@media (max-width:991px){.page-container{margin:0!important;padding:0!important}.page-header-fixed.page-header-fixed-mobile .page-container{margin-top:46px!important}}@media (max-width:480px){.page-header-fixed .pace .pace-progress{top:92px}.page-header-fixed .pace .pace-activity{top:188px;right:15px}.page-header-fixed.page-header-fixed-mobile .page-container{margin-top:92px!important}}.ie8 .page-sidebar{width:235px;float:left;position:relative;margin-right:-100%}.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover.navbar-collapse,.page-sidebar.navbar-collapse{padding:0;box-shadow:none}.page-sidebar .page-sidebar-menu,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu{list-style:none;margin:0;padding:0}.page-sidebar .page-sidebar-menu>li,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li{display:block;margin:0;padding:0;border:0}.page-sidebar .page-sidebar-menu>li.sidebar-search-wrapper,.page-sidebar .page-sidebar-menu>li.sidebar-toggler-wrapper,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.sidebar-search-wrapper,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.sidebar-toggler-wrapper{border:0!important}.page-sidebar .page-sidebar-menu>li.sidebar-search-wrapper:after,.page-sidebar .page-sidebar-menu>li.sidebar-search-wrapper:before,.page-sidebar .page-sidebar-menu>li.sidebar-toggler-wrapper:after,.page-sidebar .page-sidebar-menu>li.sidebar-toggler-wrapper:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.sidebar-search-wrapper:after,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.sidebar-search-wrapper:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.sidebar-toggler-wrapper:after,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.sidebar-toggler-wrapper:before{content:" ";display:table}.page-sidebar .page-sidebar-menu>li.start>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.start>a{border-top-color:transparent!important}.page-sidebar .page-sidebar-menu>li.last>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.last>a{border-bottom-color:transparent!important}.page-sidebar .page-sidebar-menu>li>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li>a{display:block;position:relative;margin:0;border:0;padding:10px 15px;text-decoration:none;font-size:14px;font-weight:300}.page-sidebar .page-sidebar-menu>li>a>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li>a>i{font-size:16px;margin-right:5px;text-shadow:none}.page-sidebar .page-sidebar-menu>li>a>i.glyphicon,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li>a>i.glyphicon{top:3px;margin-left:1px;margin-right:4px}.page-sidebar .page-sidebar-menu>li>a>[class^=icon-],.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li>a>[class^=icon-]{top:2px;margin-left:1px;margin-right:4px}.page-sidebar-fixed .page-sidebar .page-sidebar-menu>li>a,.page-sidebar-fixed .page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li>a{transition:all .2s ease}.page-sidebar-reversed.page-sidebar-fixed .page-sidebar .page-sidebar-menu>li>a,.page-sidebar-reversed.page-sidebar-fixed .page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li>a{transition:none}.page-sidebar .page-sidebar-menu>li.heading,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.heading{padding:15px}.page-sidebar .page-sidebar-menu>li.heading>h3,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.heading>h3{margin:0;padding:0;font-size:14px;font-weight:300}.page-sidebar .page-sidebar-menu>li.heading+li>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.heading+li>a{border-top:0}.page-sidebar .page-sidebar-menu>li.open>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.open>a{font-size:14px}.page-sidebar .page-sidebar-menu>li.active>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active>a{border:none;text-shadow:none;font-size:14px}.page-sidebar .page-sidebar-menu>li.active>a>.selected,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active>a>.selected{display:block;float:right;position:absolute;right:0;top:8px;background:0 0;width:0;height:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-right:12px solid #fff}.page-sidebar-reversed .page-sidebar .page-sidebar-menu>li.active>a>.selected,.page-sidebar-reversed .page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active>a>.selected{right:auto;left:0;border-right:0;border-left:8px solid #fff}.page-container-bg-solid .page-sidebar .page-sidebar-menu>li.active>a>.selected,.page-container-bg-solid .page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active>a>.selected{border-color:transparent #F1F3FA transparent transparent}.page-container-bg-solid.page-sidebar-reversed .page-sidebar .page-sidebar-menu>li.active>a>.selected,.page-container-bg-solid.page-sidebar-reversed .page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active>a>.selected{border-color:transparent transparent transparent #F1F3FA}.page-sidebar .page-sidebar-menu li>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu li>a>.arrow:before{float:right;width:10px;text-align:center;margin-top:-1px;margin-right:5px;margin-left:5px;display:inline;font-size:16px;font-family:FontAwesome;height:auto;content:"\f104";font-weight:300;text-shadow:none}.page-sidebar .page-sidebar-menu li>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu li>a>.arrow.open:before{content:"\f107"}.page-sidebar .page-sidebar-menu li>a>.badge,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu li>a>.badge{float:right;margin-top:1px;margin-right:0}.page-sidebar .page-sidebar-menu .sub-menu,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu{list-style:none;display:none;padding:0;margin:8px 0}.page-sidebar .page-sidebar-menu .sub-menu li,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu li{background:0 0;margin:0;padding:0;margin-top:1px!important}.page-sidebar .page-sidebar-menu .sub-menu li>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu li>a{display:block;margin:0;padding:6px 15px 6px 43px;text-decoration:none;font-size:14px;font-weight:300;background:0 0}.page-sidebar .page-sidebar-menu .sub-menu li>a>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu li>a>i{font-size:14px}.page-sidebar .page-sidebar-menu .sub-menu li>.sub-menu,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu li>.sub-menu{margin:0}.page-sidebar .page-sidebar-menu .sub-menu li>.sub-menu>li>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu li>.sub-menu>li>a{padding-left:60px}.page-sidebar .page-sidebar-menu .sub-menu li>.sub-menu>li>.sub-menu,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu li>.sub-menu>li>.sub-menu{margin:0}.page-sidebar .page-sidebar-menu .sub-menu li>.sub-menu>li>.sub-menu>li>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu li>.sub-menu>li>.sub-menu>li>a{padding-left:80px}.page-sidebar .page-sidebar-menu li.active>.sub-menu,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu li.active>.sub-menu{display:block}.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li>a{border:0;margin:0;padding-left:11px;border-left:4px solid transparent}.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu{margin:0;padding:1px 0}.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu li>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu li>a{padding-top:8px;padding-bottom:8px}.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu li:first-child,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu li:first-child{margin-top:0!important}.page-sidebar-reversed .page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li>a,.page-sidebar-reversed .page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li>a{padding-left:15px;padding-right:11px;border-left:0;border-right:4px solid transparent}.page-sidebar .sidebar-toggler,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-toggler{display:block;cursor:pointer;opacity:.7;filter:alpha(opacity=70);width:30px;height:27px;margin-top:15px;margin-right:19px;float:right;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.page-sidebar .sidebar-toggler:hover,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-toggler:hover{filter:alpha(opacity=100);opacity:1}.page-sidebar .sidebar-search,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search{padding:0;margin:22px 18px}.page-sidebar .sidebar-search .remove,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .remove{display:none}.page-sidebar .sidebar-search .remove>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .remove>i{font-size:16px}.page-sidebar .sidebar-search .input-group,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group{-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.page-sidebar .sidebar-search .input-group .form-control,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group .form-control{border:0;font-size:14px;padding:0;height:auto;line-height:auto;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.page-sidebar .sidebar-search .input-group .input-group-btn .btn,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group .input-group-btn .btn{padding:2px 0 0;background-color:transparent;background-repeat:no-repeat;background-position:100% 3px}.page-sidebar .sidebar-search .input-group .input-group-btn .btn>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group .input-group-btn .btn>i{font-size:15px}.page-sidebar .sidebar-search.sidebar-search-bordered,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.sidebar-search-bordered{margin:25px 18px}.page-sidebar .sidebar-search.sidebar-search-bordered .input-group .form-control,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.sidebar-search-bordered .input-group .form-control{font-size:13px;padding:6px 8px}.page-sidebar .sidebar-search.sidebar-search-bordered .input-group .input-group-btn .btn,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.sidebar-search-bordered .input-group .input-group-btn .btn{margin-right:6px}@media (min-width:992px){.page-full-width .page-sidebar,.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li.open>.sub-menu,.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li>.sub-menu{display:none!important}.page-sidebar{width:235px;float:left;position:relative;margin-right:-100%}.page-sidebar.navbar-collapse{max-height:none!important}.page-sidebar-reversed .page-sidebar{float:right;margin-right:0;margin-left:-100%}.page-sidebar-reversed.page-sidebar-fixed .page-sidebar{margin-left:-235px}.page-sidebar-reversed.page-sidebar-fixed .page-sidebar-wrapper{position:relative;float:right}.page-sidebar-fixed .page-sidebar{position:fixed!important;margin-left:0;top:46px}.page-sidebar-fixed .page-sidebar-menu>li.last{margin-bottom:15px!important}.page-sidebar-closed .page-sidebar,.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed{width:45px!important}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover{width:256px!important;position:relative!important;z-index:10000;display:block!important}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover>a{-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0;-ms-border-radius:0 4px 0 0;-o-border-radius:0 4px 0 0;border-radius:0 4px 0 0}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover>a>i{margin-right:10px}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover>a>.title{display:inline!important;padding-left:15px}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover>a>.badge{display:block!important}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover>a>.selected{display:none}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover.heading{width:45px!important;box-shadow:none}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover>.sub-menu{width:210px;position:absolute;z-index:2000;left:46px;margin-top:0;top:100%;display:block!important;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;-ms-border-radius:0 0 4px 4px;-o-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover>.sub-menu>li>a{padding-left:15px!important}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover>.sub-menu>li>.sub-menu>li>a{padding-left:30px!important}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover>.sub-menu>li>.sub-menu>li>.sub-menu>li>a{padding-left:45px!important}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li.heading>h3{display:none}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li.sidebar-toggler-wrapper .sidebar-toggler{margin-right:8px}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li.sidebar-search-wrapper:hover,.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li.sidebar-toggler-wrapper:hover{width:45px!important}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li>a{padding-left:11px}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li>a .selected{right:-3px!important}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li>a>.arrow,.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li>a>.badge,.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li>a>.title{display:none!important}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-toggler{margin-left:3px;margin-right:3px}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search .input-group{border-color:transparent;margin-left:-4px}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search .input-group .form-control{display:none}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search .input-group .input-group-btn .btn{display:block}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search.sidebar-search-bordered .input-group{padding:5px 0 3px}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search.open{height:39px;margin-top:14px;margin-bottom:14px}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search.open .input-group{width:210px;position:relative;z-index:1;margin-left:24px;padding:0}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search.open .input-group .form-control{background:0 0;border:0;display:block;padding:8px}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search.open .input-group .input-group-btn .btn{display:block;margin-right:8px;margin-top:1px}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search.open .remove{background-repeat:no-repeat;width:11px;height:11px;margin:9px -5px 9px -7px;display:block;float:left}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search.open.sidebar-search-bordered{height:36px;margin-top:23px;margin-bottom:23px}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search.open.sidebar-search-bordered .input-group{padding:0}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-light.page-sidebar-menu-closed>li>a{padding-right:11px;padding-left:7px}.page-sidebar-closed.page-sidebar-reversed .page-sidebar{margin-left:-45px;width:45px}.page-sidebar-closed.page-sidebar-reversed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li>.sub-menu{left:auto;right:46px}.page-sidebar-closed.page-sidebar-reversed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover{margin-left:-211px}.page-sidebar-closed.page-sidebar-reversed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover>a{-webkit-border-radius:4px 0 0;-moz-border-radius:4px 0 0;-ms-border-radius:4px 0 0 0;-o-border-radius:4px 0 0;border-radius:4px 0 0}.page-sidebar-closed.page-sidebar-reversed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover>a>.title{padding-left:0;padding-right:15px}.page-sidebar-closed.page-sidebar-reversed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover>a>i{margin-right:0;margin-left:2px}.page-sidebar-closed.page-sidebar-reversed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li.sidebar-search-wrapper:hover,.page-sidebar-closed.page-sidebar-reversed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li.sidebar-toggler-wrapper:hover{margin-left:0}.page-sidebar-closed.page-sidebar-reversed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search.open .input-group{margin-left:-227px}.page-sidebar-closed.page-sidebar-reversed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search.open .input-group .input-group-btn .btn{margin-right:10px!important}.page-sidebar-closed.page-sidebar-reversed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search.open .remove{margin:9px 4px 12px -16px!important;float:right!important}.page-sidebar-closed.page-sidebar-reversed .page-sidebar .page-sidebar-menu.page-sidebar-menu-light.page-sidebar-menu-closed>li>a{padding-right:7px;padding-left:11px}.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover{width:235px!important;display:absolute;z-index:10000}.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu{width:235px!important}.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .selected{display:none!important}.page-sidebar-closed.page-sidebar-fixed.page-sidebar-reversed .page-sidebar:hover{width:235px!important;display:absolute;z-index:10000;margin-left:-235px!important}.page-sidebar-closed.page-sidebar-fixed.page-sidebar-reversed .page-sidebar:hover .page-sidebar-menu{width:235px!important}.page-sidebar-closed.page-sidebar-hide .page-sidebar{display:none!important}.page-sidebar-menu.page-sidebar-menu-hover-submenu li .sub-menu{display:none;width:210px;z-index:2000;position:absolute;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.page-sidebar-menu.page-sidebar-menu-hover-submenu li .sub-menu>li>a{margin:3px}.page-sidebar-menu.page-sidebar-menu-hover-submenu li.active .sub-menu,.page-sidebar-menu.page-sidebar-menu-hover-submenu li.open .sub-menu{display:none!important}.page-sidebar-menu.page-sidebar-menu-hover-submenu li a>.arrow{display:none}.page-sidebar-menu.page-sidebar-menu-hover-submenu li:hover>a>.arrow{display:block;float:right;position:absolute;right:0;margin-top:-20px;background:0 0;width:0;height:0;border-style:solid;border-top:12px double transparent;border-bottom:12px double transparent;border-left:0}.page-sidebar-menu.page-sidebar-menu-hover-submenu li:hover>a>.arrow:after,.page-sidebar-menu.page-sidebar-menu-hover-submenu li:hover>a>.arrow:before{display:none}.page-sidebar-reversed .page-sidebar-menu.page-sidebar-menu-hover-submenu li:hover>a>.arrow{right:auto;left:0;border-right:0}.page-sidebar-menu.page-sidebar-menu-hover-submenu li:hover>.sub-menu{display:inline-block!important}.page-sidebar-menu.page-sidebar-menu-hover-submenu>li:hover>a>.arrow{z-index:1;right:0;margin-top:-23px}.page-sidebar-menu.page-sidebar-menu-hover-submenu>li:hover>a>.selected{display:none}.page-sidebar-menu.page-sidebar-menu-hover-submenu>li:hover>.sub-menu{margin-left:235px;margin-top:-40px}.page-sidebar-reversed .page-sidebar-menu.page-sidebar-menu-hover-submenu>li:hover>.sub-menu{margin-left:-210px!important}.page-sidebar-closed .page-sidebar-menu.page-sidebar-menu-hover-submenu>li:hover>.sub-menu{margin-left:0}.page-sidebar-menu.page-sidebar-menu-hover-submenu>li:hover>.sub-menu>li>a{padding-left:15px}.page-sidebar-menu.page-sidebar-menu-hover-submenu>li:hover>.sub-menu>li .sub-menu{margin-left:210px;margin-top:-38px!important}.page-sidebar-reversed .page-sidebar-menu.page-sidebar-menu-hover-submenu>li:hover>.sub-menu>li .sub-menu{margin-left:-210px!important}.page-sidebar-menu.page-sidebar-menu-hover-submenu>li:hover>.sub-menu>li .sub-menu>li>a{padding-left:10px;padding-right:10px}.page-sidebar-menu.page-sidebar-menu-light.page-sidebar-menu-hover-submenu li:hover>.sub-menu,.page-sidebar-menu.page-sidebar-menu-light.page-sidebar-menu-hover-submenu li:hover>.sub-menu>li>.sub-menu{margin-top:-41px}}@media (max-width:991px){.page-sidebar,.page-sidebar.navbar-collapse.in{border-top:0!important;margin:20px}.page-sidebar .sidebar-toggler{display:none}.page-sidebar .selected,.page-sidebar.navbar-collapse.collapse{display:none!important}.page-sidebar.navbar-collapse{max-height:none}.page-sidebar.navbar-collapse.in{position:relative;overflow:hidden!important;overflow-y:auto!important;display:block!important}.page-sidebar.navbar-collapse.navbar-no-scroll{max-height:none!important}.page-sidebar .mega-menu-responsive-content{padding:10px 18px 10px 45px}.page-full-width .page-sidebar-menu{display:block}}@media (min-width:768px) and (max-width:991px){.page-sidebar .btn-navbar.collapsed .arrow{display:none}.page-sidebar .btn-navbar .arrow{position:absolute;right:25px;width:0;height:0;top:50px;border-bottom:15px solid #5f646b;border-left:15px solid transparent;border-right:15px solid transparent}}.page-header .top-menu .dropdown-quick-sidebar-toggler>.dropdown-toggle{padding:17px 10px 9px!important}.page-header .top-menu .dropdown-quick-sidebar-toggler>.dropdown-toggle i{top:0}.page-quick-sidebar-open .page-header .top-menu .dropdown-quick-sidebar-toggler>.dropdown-toggle i:before{content:"\e066"}.page-quick-sidebar-wrapper{transition:right .3s;z-index:9994;position:fixed;top:46px;bottom:0;right:-270px;width:270px;overflow:hidden}.page-quick-sidebar-wrapper.phonebar{top:0}.page-footer-fixed .page-quick-sidebar-wrapper{bottom:33px}.page-quick-sidebar-full-height .page-quick-sidebar-wrapper{top:0;bottom:0}.page-quick-sidebar-open .page-quick-sidebar-wrapper{transition:right .3s;right:0}.page-quick-sidebar-toggler{overflow:hidden;z-index:9994;display:none;width:28px;height:27px;position:fixed;top:19px;right:15px;text-align:center;padding-top:6px}.page-quick-sidebar-open .page-quick-sidebar-toggler{display:inline-block}.page-quick-sidebar-toggler>i{font-size:17px}@media (max-width:480px){.page-sidebar,.page-sidebar.in{margin:0 10px 10px!important}.page-header-fixed.page-header-fixed-mobile .page-sidebar,.page-header-fixed.page-header-fixed-mobile .page-sidebar.in{margin-top:10px!important}.page-quick-sidebar-wrapper{top:92px}.page-quick-sidebar-toggler{top:65px}}.page-content-wrapper,.page-footer,.page-header,.page-sidebar-wrapper{transition:margin .3s}.page-quick-sidebar-open.page-quick-sidebar-push-content .page-content-wrapper,.page-quick-sidebar-open.page-quick-sidebar-push-content .page-sidebar-wrapper{transition:margin-left .3s;margin-left:-270px}.page-quick-sidebar-open.page-quick-sidebar-push-content .page-footer{transition:margin-right .3s;margin-right:270px;margin-left:-270px}.page-sidebar-reversed.page-quick-sidebar-open.page-quick-sidebar-push-content .page-sidebar-wrapper{transition:margin-right .3s;margin-right:270px}.page-quick-sidebar-open.page-quick-sidebar-push-content.page-quick-sidebar-full-height .page-header{transition:margin-left .3s;margin-left:-270px}.page-quick-sidebar-open.page-quick-sidebar-push-content.page-footer-fixed:not(.page-quick-sidebar-full-height) .page-footer{margin-left:0;margin-right:0}.page-quick-sidebar-open.page-quick-sidebar-over-content-transparent .page-quick-sidebar-wrapper{opacity:.9;filter:alpha(opacity=90)}@media (max-width:991px){.page-quick-sidebar-open.page-quick-sidebar-push-content .page-sidebar-wrapper{display:none}}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified{margin:0;padding:0}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li{display:table-cell!important;width:1%!important}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li>a{padding:15px;border:0;height:46px;font-size:13px;text-transform:uppercase;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li>a>.badge{position:absolute;top:12px;right:3px}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li>a:hover{border:0}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li .dropdown-menu{margin-top:8px;margin-right:20px}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li .dropdown-menu:before{position:absolute;top:-7px;right:19px;display:inline-block!important;border-right:7px solid transparent;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,.2);content:''}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li .dropdown-menu:after{position:absolute;top:-6px;right:20px;display:inline-block!important;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>.tab-content{margin:0;padding:0}.page-quick-sidebar-wrapper .page-quick-sidebar .list-heading{font-size:16px;margin:10px}.page-quick-sidebar-wrapper .page-quick-sidebar .list-items{margin:0;padding:0;list-style:none}.page-quick-sidebar-wrapper .page-quick-sidebar .list-items>li{margin:0;padding:10px;background:0 0;border-bottom-width:1px;border-bottom-style:solid}.page-quick-sidebar-wrapper .page-quick-sidebar .list-items>li:last-child{border-bottom:0}.page-quick-sidebar-wrapper .page-quick-sidebar .list-items.borderless li{border:0}.page-quick-sidebar-wrapper .page-quick-sidebar .inner-content{margin:10px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-list{position:absolute!important;width:270px!important;transition:margin .3s}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-item{position:absolute!important;width:270px!important;transition:margin .3s;margin-left:270px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-item .page-quick-sidebar-nav{padding:0 10px 5px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-item .page-quick-sidebar-nav .page-quick-sidebar-back-to-list{vertical-align:middle;display:inline-block;font-size:14px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-item .page-quick-sidebar-nav .page-quick-sidebar-back-to-list>i{font-size:17px;line-height:17px;vertical-align:top;margin-right:3px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-content-item-shown .page-quick-sidebar-list{transition:margin .3s;margin-left:-270px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-content-item-shown .page-quick-sidebar-list .slimScrollBar,.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-content-item-shown .page-quick-sidebar-list .slimScrollRail{display:none!important}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-content-item-shown .page-quick-sidebar-item{transition:margin .3s;margin-left:0}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-users{padding:10px 0;position:relative}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media{padding:12px 10px 11px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media .media-object{border-radius:50%!important;width:38.57px;opacity:.8;filter:alpha(opacity=80);float:left;margin-right:10px}.page-quick-sidebar-wrapper .page-quick-sidebar-chat .page-quick-sidebar-chat-users .quicksidebar-search{padding:0;margin:10px 22px}.page-quick-sidebar-wrapper .page-quick-sidebar-chat .page-quick-sidebar-chat-users .quicksidebar-search .input-group .form-control{border:0;font-size:14px;padding:0;height:auto}.page-quick-sidebar-wrapper .page-quick-sidebar-chat .page-quick-sidebar-chat-users .quicksidebar-search .input-group .input-group-btn .btn{padding:2px 0 0;background-color:transparent;background-repeat:no-repeat;background-position:100% 3px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media .media-object:after,.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media .media-object:before{content:" ";display:table}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media:hover{cursor:pointer}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media:hover .media-object{opacity:1;filter:alpha(opacity=100)}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media .media-body .media-heading{margin:5px 0 0;font-size:14px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media .media-body .media-heading-sub{font-size:11px;text-transform:uppercase}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media .media-body .media-heading-small{font-size:10px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media .media-status{margin-top:10px;right:10px;position:absolute;display:inline-block}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages{padding:0 10px;position:relative}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post{transition:display .3s;padding:5px 0;margin:10px auto;font-size:12px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post .body{display:block;word-wrap:break-word}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post .avatar{width:38.57px;border-radius:50%!important}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post.in .avatar{float:left;margin-right:10px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post.out .avatar{float:right;margin-left:10px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post .name{font-size:12px;font-weight:300}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post .datetime{font-size:12px;font-weight:300;text-style:italic}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post .message{display:block;padding:5px;position:relative}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post.in .message{text-align:left;margin-left:55px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post.in .message .arrow{display:block;position:absolute;top:9px;left:-6px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right-width:6px;border-right-style:solid}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post.out .message{margin-right:55px;text-align:right}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post.out .message .arrow{display:block;position:absolute;top:9px;right:-6px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left-width:6px;border-left-style:solid}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post.out .datetime,.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post.out .name{text-align:right}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-form{padding:20px 10px 15px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-form .input-group .form-control{font-size:13px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-alerts .page-quick-sidebar-alerts-list{padding:10px 0;position:relative}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-alerts .page-quick-sidebar-alerts-list .feeds li .label{margin-top:5px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-alerts .page-quick-sidebar-alerts-list .feeds li .desc{padding:0}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-settings .page-quick-sidebar-settings-list{padding:10px 0;position:relative}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-settings .page-quick-sidebar-settings-list .list-items li .bootstrap-switch{margin-top:-3px;float:right;border:0;min-width:59px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-settings .page-quick-sidebar-settings-list .list-items li .form-control{width:75px!important;padding:4px!important;float:right;border:0;margin-top:-4px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-settings .page-quick-sidebar-settings-list .list-items li select.form-control{padding:4px 0!important}.page-title{padding:0;font-size:28px;letter-spacing:-1px;display:block;color:#666;margin:0 0 15px;font-weight:300;font-family:"Open Sans",sans-serif}.page-title small{font-size:14px;letter-spacing:0;font-weight:300;color:#888}.page-container-bg-solid .page-title{color:#666;margin-bottom:20px;margin-top:20px}.page-container-bg-solid .page-title small{color:#666}.page-bar{padding:0;background-color:#f7f7f7;margin-bottom:25px;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.page-bar:after,.page-bar:before{content:" ";display:table}.page-bar .page-breadcrumb{display:inline-block;float:left;padding:8px;margin:0;list-style:none}.page-bar .page-breadcrumb>li{display:inline-block}.ie8 .page-bar .page-breadcrumb>li{margin-right:1px}.page-bar .page-breadcrumb>li>a,.page-bar .page-breadcrumb>li>span{color:#888;font-size:14px;text-shadow:none}.page-bar .page-breadcrumb>li>i{color:#aaa;font-size:14px;text-shadow:none}.page-bar .page-breadcrumb>li>i[class*=icon-],.page-bar .page-breadcrumb>li>i[class^=icon-]{color:gray}.page-bar .page-toolbar{display:inline-block;float:right;padding:0}.page-bar .page-toolbar .btn-fit-height{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;-ms-border-radius:0 4px 4px 0;-o-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;padding-top:8px;padding-bottom:8px}.page-container-bg-solid .page-bar{position:relative;padding:0 20px;background-color:#fff;margin:-25px -20px 0}.page-container-bg-solid .page-bar .page-breadcrumb{padding:11px 0}.page-container-bg-solid .page-bar .page-breadcrumb>li>a,.page-container-bg-solid .page-bar .page-breadcrumb>li>span{color:#888}.page-container-bg-solid .page-bar .page-breadcrumb>li>i{color:#aaa}.page-container-bg-solid .page-bar .page-breadcrumb>li>i[class*=icon-],.page-container-bg-solid .page-bar .page-breadcrumb>li>i[class^=icon-]{color:#8c8c8c}.page-container-bg-solid .page-bar .page-toolbar{padding:6px 0}.page-container-bg-solid .page-bar .page-toolbar .btn{margin-top:-2px}.page-container-bg-solid .page-bar .page-toolbar .btn.btn-sm{margin-top:0}.page-content{margin-top:0;padding:0;background-color:#fff}.page-container-bg-solid .page-content{background:#F1F3FA}.page-full-width .page-content{margin-left:0!important}@media (min-width:992px){.page-content-wrapper{float:left;width:100%}.page-content-wrapper .page-content{margin-left:235px;margin-top:0;min-height:600px;padding:25px 20px 10px}.page-content-wrapper .page-content.no-min-height{min-height:auto}.page-sidebar-fixed.page-sidebar-hover-on .page-content-wrapper .page-content{margin-left:45px}.page-sidebar-reversed .page-content-wrapper .page-content{margin-left:0!important;margin-right:235px!important}.page-sidebar-reversed.page-sidebar-fixed.page-sidebar-hover-on .page-content-wrapper .page-content{margin-left:0;margin-right:45px}.page-sidebar-reversed.page-sidebar-closed .page-content-wrapper .page-content{margin-left:0!important;margin-right:45px!important}.page-sidebar-closed .page-content-wrapper .page-content{margin-left:45px!important}.page-full-width .page-content-wrapper .page-content,.page-sidebar-closed.page-sidebar-hide .page-content-wrapper .page-content{margin-left:0!important}.page-sidebar-closed.page-sidebar-reversed.page-sidebar-hide .page-content-wrapper .page-content{margin-right:0!important}}@media (max-width:991px){.page-container-bg-solid .page-bar{margin-top:-20px}.page-boxed>.container{max-width:none!important;margin:0!important;padding:0!important}.page-content-wrapper .page-content{margin:0!important;padding:20px!important;min-height:280px}}@media (min-width:768px) and (max-width:991px){.page-boxed>.container{margin:auto!important}}@media (max-width:767px){.page-content-wrapper .page-content{padding:20px 10px 10px!important;overflow:hidden}.page-content-wrapper .page-content .page-title{margin-bottom:20px;font-size:18px}.page-content-wrapper .page-content .page-title small{font-size:13px;padding-top:3px}}@media (max-width:480px){.page-content-wrapper .page-content .page-title small{display:block;clear:both}}.page-footer{padding:8px 20px 5px;font-size:12px;height:33px}.page-footer:after,.page-footer:before{content:" ";display:table}.page-footer .page-footer-inner{float:left;display:inline-block}.page-footer-fixed.page-footer-fixed-mobile .page-footer{position:fixed;left:0;right:0;z-index:10000;bottom:0}.page-footer-fixed.page-footer-fixed-mobile.page-sidebar-fixed .page-footer{margin-left:0!important}@media (min-width:992px){.page-footer{clear:left}.page-footer-fixed .page-footer{position:fixed;left:0;right:0;z-index:10000;bottom:0}.page-sidebar-fixed.page-sidebar-closed .page-footer{margin-left:45px}.page-sidebar-fixed.page-footer-fixed .page-footer{margin-left:0!important}.page-sidebar-fixed .page-footer{margin-left:235px;padding:8px 20px 5px}.page-boxed .page-footer{padding:8px 0 5px}.page-boxed.page-sidebar-fixed .page-footer{padding-right:20px;padding-left:20px}.page-sidebar-reversed.page-sidebar-fixed .page-footer{margin-left:0;margin-right:235px;padding:8px 20px 5px}.page-sidebar-reversed.page-sidebar-fixed.page-footer-fixed .page-footer{margin-left:0;margin-right:0}.page-sidebar-reversed.page-sidebar-fixed.page-sidebar-closed .page-footer{margin-right:45px}}.aside .aside-dialog .aside-footer:after,.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.container-fluid:after,.container:after,.dataTable,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after,.scroller-footer:after{clear:both}@media (max-width:991px){.page-boxed .page-footer{padding-left:0;padding-right:0}}@media (max-width:767px){.page-boxed .page-footer,.page-footer{padding-left:10px;padding-right:10px}.page-footer-fixed .page-footer .container{padding-left:0;padding-right:0}}.scroll-to-top{padding:1px;text-align:center;position:fixed;bottom:10px;z-index:10001;display:none;right:10px}.theme-panel>.toggler,.theme-panel>.toggler-close{padding:20px;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;top:4px;cursor:pointer}.scroll-to-top>i{display:inline-block;color:#687991;font-size:30px;opacity:.6;filter:alpha(opacity=60)}.scroll-to-top:hover{cursor:pointer}.scroll-to-top:hover>i{opacity:1;filter:alpha(opacity=100)}@media (min-width:992px){.scroll-to-top{right:20px}}@media (max-width:991px){.scroll-to-top{bottom:10px;right:10px}.scroll-to-top>i{font-size:28px}}.theme-panel{width:420px;margin-top:-13px;margin-right:0;z-index:100;float:right;position:relative}.theme-panel>.toggler{right:0;position:absolute;background:url(../img/icon-color.png) center no-repeat #d5dade;border-radius:4px}.theme-panel>.toggler:hover{background-color:#3d3d3d!important}.theme-panel>.toggler-close{display:none;right:0;z-index:101;position:absolute;background:url(../img/icon-color-close.png) center no-repeat #3d3d3d!important;border-radius:4px}.theme-panel>.toggler-close:hover{background-color:#222!important}.theme-panel>.theme-options{top:4px;right:0;display:none;position:absolute;z-index:100;background:#3d3d3d;box-shadow:5px 5px rgba(61,61,61,.1);-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.modal-open .colorpicker,.modal-open .datepicker,.modal-open .daterangepicker,.modal-open .datetimepicker{z-index:10055!important}.theme-panel>.theme-options>.theme-option{color:#cfcfcf;padding:10px;border-top:1px solid #444;margin-top:0;margin-bottom:0}.theme-panel>.theme-options>.theme-option>span{text-transform:uppercase;display:inline-block;width:145px;font-size:13px;font-weight:300}.theme-panel>.theme-options>.theme-option>select.form-control{display:inline;width:135px;padding:2px;text-transform:lowercase}.theme-panel>.theme-options>.theme-option.theme-colors{border-top:0}.theme-panel>.theme-options>.theme-option.theme-colors>span{display:block;width:auto}.theme-panel>.theme-options>.theme-option.theme-colors>ul{list-style:none;padding:0;display:block;margin-bottom:10px!important;margin-top:15px}.colorpicker.dropdown-menu,.daterangepicker.dropdown-menu,.datetimepicker.dropdown-menu{padding:5px}.theme-panel>.theme-options>.theme-option.theme-colors>ul>li{width:40px;height:40px;margin:0 4px;cursor:pointer;list-style:none;float:left;border:1px solid #707070}.theme-panel>.theme-options>.theme-option.theme-colors>ul>li:first-child{margin-left:0}.theme-panel>.theme-options>.theme-option.theme-colors>ul>li.current,.theme-panel>.theme-options>.theme-option.theme-colors>ul>li:hover{border:2px solid #d64635}.theme-panel>.theme-options>.theme-option.theme-colors>ul>li.color-default{background:#333438}.theme-panel>.theme-options>.theme-option.theme-colors>ul>li.color-darkblue{background:#2b3643}.theme-panel>.theme-options>.theme-option.theme-colors>ul>li.color-blue{background:#2D5F8B}.theme-panel>.theme-options>.theme-option.theme-colors>ul>li.color-grey{background:#697380}.theme-panel>.theme-options>.theme-option.theme-colors>ul>li.color-light{background:#F9FAFD}.theme-panel>.theme-options>.theme-option.theme-colors>ul>li.color-light2{background:#F1F1F1}.page-container-bg-solid .theme-panel{position:absolute;margin-top:30px;margin-right:20px;right:0}.page-container-bg-solid .theme-panel>.toggler{background:url(../img/icon-color.png) center no-repeat #BFCAD1}.page-container-bg-solid.page-sidebar-reversed .theme-panel{margin-right:255px}.page-on-load{background:#fefefe}.datepicker .active,.datepicker .active:hover,.datepicker .selected,.datepicker .today{background-image:none!important;filter:none!important}.page-on-load .page-container,.page-on-load .page-footer,.page-on-load .page-header,.page-on-load>.clearfix{display:none;transition:all 2s}.input-group.color .input-group-btn i{position:absolute;display:block;cursor:pointer;width:20px;height:20px;right:6px}.datepaginator a{font-family:'Open Sans';font-size:13px;font-weight:300}.datepicker table td,.datepicker table th,.datetimepicker table td,.datetimepicker table th{font-family:'Open Sans'!important}#dp-calendar{right:4px!important}.datepaginator .fa-angle-right:before{content:"\f105"}.datepaginator .fa-angle-left:before{content:"\f104"}.datepicker.dropdown-menu{padding:5px;box-shadow:5px 5px rgba(102,102,102,.1);border:1px solid #efefef}.datepicker .selected{background-color:#909090!important}.datepicker .active{background-color:#4b8df8!important}.datepicker .active:hover{background-color:#2678FC!important}.datepicker .input-daterange input{text-align:left}.datepicker table td{color:#000;font-weight:300!important}.datepicker table th{color:#333;font-weight:400!important}.daterangepicker{margin-top:4px}.daterangepicker td{text-shadow:none}.daterangepicker td.active{background-color:#4b8df8;background-image:none;filter:none}.datetimepicker .active,.datetimepicker .active:hover{filter:none!important;background-image:none!important}.daterangepicker th{font-weight:400;font-size:14px}.daterangepicker .ranges input[type=text]{width:70px!important;font-size:11px;vertical-align:middle}.daterangepicker .ranges label{font-weight:300;display:block}.daterangepicker .ranges .btn{margin-top:10px}.daterangepicker .ranges li{color:#333}.daterangepicker .ranges li.active,.daterangepicker .ranges li:hover{background:#4b8df8!important;border:1px solid #4b8df8!important;color:#fff}.daterangepicker .range_inputs input{margin-bottom:0!important}.daterangepicker .fa-angle-right:before{content:"\f105"}.daterangepicker .fa-angle-left:before,.datetimepicker .fa-angle-left:before{content:"\f104"}.datetimepicker table td{color:#000;font-weight:300!important}.datetimepicker table th{font-weight:400!important}.datetimepicker .active{background-color:#4b8df8!important}.datetimepicker .active:hover{background-color:#2678FC!important}.datetimepicker .fa-angle-right:before{content:"\f105"}.editable-input table,.editable-input table td,.editable-input table th,.editable-input table tr{border:0!important}.editable-input .combodate select{margin-bottom:5px}.fileinput{margin-bottom:0}.fileinput .close{float:none}.fileinput .input-group{white-space:nowrap;overflow:hidden}.md-input{padding:5px!important;border-bottom:0!important;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;-ms-border-radius:0 0 4px 4px;-o-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.md-editor{-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.md-editor .btn-toolbar{margin-left:0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;-ms-border-radius:4px 4px 0 0;-o-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.md-editor .btn-toolbar .btn-group .btn-sm.btn{padding-bottom:3px}.md-editor .btn-toolbar .btn-group .btn-primary{padding-top:5px;padding-bottom:7px}.md-editor.active{border:1px solid #999;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important}.has-error .md-editor{border:1px solid #ebccd1!important}.has-success .md-editor{border:1px solid #d6e9c6!important}.has-warning .md-editor{border:1px solid #faebcc!important}.modal-open.page-overflow .modal-scrollable,.modal-open.page-overflow .page-container,.modal-open.page-overflow .page-container .navbar-fixed-bottom,.modal-open.page-overflow .page-container .navbar-fixed-top{overflow-y:auto!important}.modal-scrollable{overflow:hidden!important}.modal-backdrop{position:fixed}.bootstrap-select .btn{border-color:#e5e5e5}.has-error .bootstrap-select .btn{border-color:#ebccd1}.has-success .bootstrap-select .btn{border-color:#d6e9c6}.has-warning .bootstrap-select .btn{border-color:#faebcc}.bootstrap-select.open .btn,.bootstrap-select.open.dropup .btn{border-color:#999}.bootstrap-select .btn:focus{outline:0!important;outline-offset:0}.bootstrap-select.btn-group .dropdown-menu{margin-top:1px}.bootstrap-select.btn-group .dropdown-menu>li>dt>.text{font-weight:600;font-family:'Open Sans';font-size:14px}.bootstrap-select.btn-group .dropdown-menu .text-muted{color:#999!important}.bootstrap-select .caret{border:0;width:auto;height:auto;margin-top:-10px!important}.bootstrap-select .caret:before{content:"\f107";display:inline-block;border:0;font-family:FontAwesome;font-style:normal;font-weight:400}.form-wizard .steps>li>a.step>.desc,.form-wizard .steps>li>a.step>.number{display:inline-block;font-size:16px;font-weight:300}.bootstrap-select .selected i{color:#aaa}.bootstrap-select .dropdown-menu{z-index:9999!important}.bootstrap-switch{border-color:#e5e5e5}.bootstrap-switch.bootstrap-switch-focused{box-shadow:none;border-color:#e5e5e5}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary{color:#fff;background:#428bca}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info{color:#fff;background:#89C4F4}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success{color:#fff;background:#45B6AF}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning{color:#fff;background:#dfba49}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger{color:#fff;background:#F3565D}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default{color:#444;background:#ececec}.portlet>.portlet-title>.actions>.bootstrap-switch{border-color:transparent;margin-top:0}.bootstrap-timepicker-widget table td a{padding:4px 0}.bootstrap-timepicker-widget input,.bootstrap-timepicker-widget input:focus{outline:0!important;border:0}.modal-open .bootstrap-timepicker-widget{z-index:10055!important}.bootstrap-timepicker-widget.timepicker-orient-bottom:after,.bootstrap-timepicker-widget.timepicker-orient-bottom:before{top:auto}.toast{-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important;background-color:#030303}.toast-success{background-color:#51a351}.toast-error{background-color:#bd362f}.toast-info{background-color:#2f96b4}.toast-warning{background-color:#f89406}.toast .toast-close-button{display:inline-block;margin-top:0;margin-right:0;text-indent:-100000px;width:11px;height:16px;background-repeat:no-repeat!important;background-image:url(../../assets/images/portlet-remove-icon-white.png)!important}.form-wizard .steps,.form-wizard .steps>li>a.step{background-color:#fff;background-image:none;border:0;box-shadow:none;filter:none}.toast-top-center{top:12px;margin:0 auto 0 -150px;left:50%}.toast-bottom-center{bottom:12px;margin:0 auto 0 -150px;left:50%}.form-wizard .progress{margin-bottom:30px}.form-wizard .steps{padding:10px 0;margin-bottom:15px}.form-wizard .steps>li>a.step:hover{background:0 0}.form-wizard .steps>li>a.step>.number{background-color:#eee;text-align:center!important;padding:11px 15px 13px;margin-right:10px;height:45px;width:45px;-webkit-border-radius:50%!important;-moz-border-radius:50%!important;border-radius:50%!important}.form-wizard .steps>li>a.step>.desc>i{display:none}.form-wizard .steps>li.active>a.step .number{background-color:#45B6AF;color:#fff}.form-wizard .steps>li.active>a.step .desc{color:#333}.form-wizard .steps>li.done>a.step .number{background-color:#dfba49;color:#fff}.form-wizard .steps>li.done>a.step .desc{color:#333}.form-wizard .steps>li.done>a.step .desc i{font-size:12px;font-weight:400;color:#999;display:inline-block}@media (min-width:768px) and (max-width:1200px){.form-wizard .step .desc{margin-top:10px;display:block}}.wysihtml5-sandbox{width:100%!important}.wysihtml5-toolbar li{margin:0;height:29px}.wysihtml5-toolbar li .dropdown-menu{margin-top:5px}.has-error .wysihtml5-sandbox{border:1px solid #ebccd1!important}.has-success .wysihtml5-sandbox{border:1px solid #d6e9c6!important}.has-warning .wysihtml5-sandbox{border:1px solid #faebcc!important}.note-editor{border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.note-editor .note-toolbar{border-bottom:1px solid #e5e5e5;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;-ms-border-radius:4px 4px 0 0;-o-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.note-editor .note-statusbar{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;-ms-border-radius:0 0 4px 4px;-o-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.note-editor .note-statusbar .note-resizebar{border-top:1px solid #e5e5e5}.note-editor.fullscreen{z-index:11000;width:100%!important}.note-editor .dropdown-menu:before{left:9px;right:auto}.note-editor .dropdown-menu:after{left:10px;right:auto}.note-link-dialog .checkbox{margin-left:20px}.has-error .note-editor{border:1px solid #ebccd1!important}.has-success .note-editor{border:1px solid #d6e9c6!important}.has-warning .note-editor{border:1px solid #faebcc!important}.bootbox .bootbox-close-button{margin-top:0!important}.cke{-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.cke .cke-top{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;-ms-border-radius:4px 4px 0 0;-o-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.cke .cke-bottom{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;-ms-border-radius:0 0 4px 4px;-o-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.cke_bottom,.cke_dialog,.cke_dialog_footer,.cke_dialog_title,.cke_inner,.cke_reset,.cke_top{background-image:none!important;filter:none;border-top:0;border-bottom:0;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important;text-shadow:none}.cke_dialog_tab,.cke_dialog_ui_button,.cke_dialog_ui_input_text{filter:none;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;background-image:none!important}.cke_dialog_tab,.cke_dialog_ui_button{box-shadow:none!important;text-shadow:none!important}.cke_dialog_tab:hover,.cke_dialog_ui_button:hover{text-decoration:none;text-shadow:none}.cke_dialog_ui_input_text{box-shadow:none!important}.cke_button,.cke_combo_button,.cke_toolbar,.cke_toolgroup{background-image:none!important;filter:none!important;border:0;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important}.cke_button,.cke_combo_button,.cke_hc.cke_panel_listItem a,.cke_panel_grouptitle{background-image:none!important;filter:none;text-shadow:none}.cke_button:hover,.cke_combo_button:hover{background-color:#ddd}.cke_toolbar_break{background-image:none!important;filter:none!important;border:0;box-shadow:none!important;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;-ms-box-shadow:none!important;-o-box-shadow:none!important}.has-error .cke{border:1px solid #ebccd1!important}.has-success .cke{border:1px solid #d6e9c6!important}.has-warning .cke{border:1px solid #faebcc!important}.modal-open .clockface{z-index:10055!important}.clockface .cell .inner.active,.clockface .cell .outer.active{background-color:#4b8df8!important;background-image:none;filter:none}.dataTable{width:100%;margin-top:5px}.dataTables_filter .form-control{margin-left:4px}.dataTables_filter label{line-height:32px}.dataTable .row-details{margin-top:3px;display:inline-block;cursor:pointer;width:14px;height:14px}.dataTable .row-details.row-details-close{background:url(../img/datatable-row-openclose.png) no-repeat}.dataTable .row-details.row-details-open{background:url(../img/datatable-row-openclose.png) 0 -23px no-repeat}.dataTable .details{background-color:#eee}.dataTable .details td,.dataTable .details th{padding:4px;background:0 0;border:0}.dataTable .details tr:hover td,.dataTable .details tr:hover th{background:0 0}.dataTable .details tr:nth-child(even) td,.dataTable .details tr:nth-child(even) th,.dataTable .details tr:nth-child(odd) td,.dataTable .details tr:nth-child(odd) th{background-color:#eee}.dataTable>thead>tr>th.sorting,.dataTable>thead>tr>th.sorting_asc,.dataTable>thead>tr>th.sorting_desc{padding-right:18px}.dataTable .table-checkbox{width:8px!important}@media (max-width:768px){.form-wizard .steps>li>a{text-align:left}.dataTables_wrapper .dataTables_filter .form-control,.dataTables_wrapper .dataTables_length .form-control{display:inline-block}.dataTables_wrapper .dataTables_info{top:17px}.dataTables_wrapper .dataTables_paginate{margin-top:-15px}}@media (max-width:480px){.dataTables_wrapper .dataTables_filter .form-control{width:175px!important}.dataTables_wrapper .dataTables_paginate{float:left;margin-top:20px}}.dataTables_processing{position:fixed;top:50%;left:50%;min-width:125px;margin-left:0;padding:7px;text-align:center;color:#333;font-size:13px;border:1px solid #ddd;background-color:#eee;vertical-align:middle;-webkit-box-shadow:0 1px 8px rgba(0,0,0,.1);-moz-box-shadow:0 1px 8px rgba(0,0,0,.1);box-shadow:0 1px 8px rgba(0,0,0,.1)}.dataTables_processing span{line-height:15px;vertical-align:middle}.dataTables_empty{text-align:center}.tabletools-btn-group{margin:0 0 10px}.tabletools-btn-group>.btn{margin-right:5px}.tabletools-btn-group>.btn:last-child{margin-right:0}.tabletools-dropdown-on-portlet{margin-top:-55px;float:right}.tabletools-dropdown-on-portlet>.btn{margin-right:5px}.tabletools-dropdown-on-portlet>.btn:last-child{margin-right:0}.DTTT_Print{background-color:#fff}.DTTT_Print .DTTT_PrintMessage{display:none}@media print{.DTTT_Print .DTTT_PrintMessage{display:inline-block}}.DTTT_Print .DTTT_Print_Info{display:block;position:fixed;top:35px;font-size:18px;width:700px;left:50%;margin-left:-350px;text-align:center}.DTTT_Print .page-footer,.DTTT_Print .page-header,.DTTT_Print .page-sidebar{display:none}.DTTT_Print .page-content-wrapper{float:none}.DTTT_Print .row,.DTTT_Print [class*=col-]{padding:0;margin:0}.DTTT_Print .page-content{margin:50px auto!important;border:0!important;width:800px!important;padding:0!important}.DTTT_Print .page-content .portlet{border:0;padding:0}.DTTT_Print .page-content .portlet .portlet-body{padding:0}.DTTT_Print .page-content .dataTables_wrapper{padding:0;margin:0;box-shadow:5px 5px rgba(102,102,102,.1)}@media print{.DTTT_Print .page-content .dataTables_wrapper{box-shadow:none}}.paging_bootstrap_extended{margin:0!important;padding:0!important;float:none!important;font-size:13px}.dataTables_extended_wrapper .seperator{padding:0 2px}.dataTables_extended_wrapper div.dataTables_info,.dataTables_extended_wrapper div.dataTables_length,.dataTables_extended_wrapper div.dataTables_paginate{display:inline-block;float:none!important;padding:0!important;margin:0!important;position:static!important}@media (max-width:480px){.dataTables_extended_wrapper div.dataTables_info,.dataTables_extended_wrapper div.dataTables_length,.dataTables_extended_wrapper div.dataTables_paginate{display:block;margin-bottom:10px!important}.dataTables_extended_wrapper .seperator{display:none!important}}.dataTables_extended_wrapper div.dataTables_length label{margin:0!important;padding:0!important;font-size:13px;float:none!important;display:inline-block!important}.table-container .table-actions-wrapper{display:none}.dataTables_scroll{margin-bottom:10px}.dataTables_scrollHead{border-bottom:2px solid #ddd!important}.dataTables_scrollHead thead th{border-bottom:0!important}.dataTables_scrollBody{border-bottom:1px solid #ddd!important}.dropzone{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.fancybox-overlay{z-index:100000}.fancybox-opened{z-index:100001}.spinner-buttons.btn-group-vertical .btn{text-align:center;margin:0;height:17px;width:22px;padding-left:6px;padding-right:6px;padding-top:0}.page-style-rounded .spinner-buttons.btn-group-vertical .btn.spinner-up{border-radius:0;border-top-right-radius:4px!important}.page-style-rounded .spinner-buttons.btn-group-vertical .btn.spinner-down{border-radius:0 0 4px}.external-event{display:inline-block;cursor:move;margin-bottom:5px;margin-left:5px}.fc-scroller{overflow-y:auto;overflow-x:hidden}.fc-month-view .fc-scroller{height:auto!important}.portlet .event-form-title{font-size:14px;margin-top:4px;font-weight:400;margin-bottom:10px}.portlet.calendar .fc-button{box-shadow:none;text-shadow:none;border:0 #ddd;height:35px;padding:6px 8px 7px;margin-left:2px;background:0 0;color:#fff;top:-45px;outline:0!important;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;-ms-border-radius:4px 4px 0 0;-o-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;border-style:none solid}.portlet.calendar .fc-toolbar{margin-bottom:0}.portlet.calendar .fc-toolbar h2{margin-top:3px;font-size:17px}.portlet.calendar .fc-button .fc-icon-left-single-arrow,.portlet.calendar .fc-button .fc-icon-right-single-arrow{font-family:FontAwesome;font-size:16px}.portlet.calendar .fc-header{margin-bottom:-21px}.portlet.calendar .fc-button-prev{padding-right:10px;padding-left:8px}.portlet.calendar .fc-button-next{padding-right:8px;padding-left:10px}.portlet.calendar .fc-button.fc-state-active,.portlet.calendar .fc-button.fc-state-hover{color:#666;background-color:#fff}.portlet.calendar .fc-button.fc-state-disabled{color:#ddd}.portlet.calendar .fc-button .fc-icon-left-single-arrow:after{content:""}.portlet.calendar .fc-button .fc-icon-left-single-arrow:before{content:"\f104"}.portlet.calendar .fc-button .fc-icon-right-single-arrow:after{content:""}.portlet.calendar .fc-button .fc-icon-right-single-arrow:before{content:"\f105"}.portlet.calendar .fc-text-arrow{font-size:22px;font-family:"Courier New",Courier,monospace;vertical-align:baseline}.portlet.calendar .fc-event .fc-time,.portlet.calendar .fc-event .fc-title{text-align:left;color:#fff;font-size:13px;font-weight:300;float:left}.portlet.calendar .fc-event{border:0;background-color:#69a4e0;color:#fff}.portlet.calendar .fc-event .fc-content{border:0}.portlet.calendar .fc-header-title h2{font-size:14px;line-height:20px;font-weight:400;color:#111}.portlet.calendar .fc-widget-header{background-image:none;filter:none;background-color:#eee;text-transform:uppercase;font-weight:300}.portlet.calendar.light .fc-button{top:-60px;color:#666;text-transform:uppercase;font-size:12px;padding-bottom:35px}.portlet.calendar.light .fc-button .fc-text-arrow{margin-top:-6px;display:inline-block}.portlet.calendar.light .fc-button.fc-state-active,.portlet.calendar.light .fc-button.fc-state-hover{color:#333;border-bottom:2px solid #45B6AF}.portlet.calendar.light .fc-button.fc-state-disabled{color:#aaa}.portlet.calendar .mobile .fc-button{padding:0 6px 20px;margin-left:2px;border:0;background-color:#ddd;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;color:#000;text-shadow:none;text-align:center}.portlet.calendar .mobile .fc-button.fc-state-active,.portlet.calendar .mobile .fc-button.fc-state-hover{background-color:#eee}.portlet.calendar .mobile .fc-button.fc-state-disabled{color:#bbb}.portlet.calendar .mobile .fc-button-prev{margin-right:5px;margin-top:-2px}.portlet.calendar .mobile .fc-button-next{margin-right:0;margin-top:-2px}.portlet.calendar .mobile .fc-header-space{margin:0;padding:0;width:0}.portlet.calendar .mobile .fc-header-left{position:absolute;z-index:10}.portlet.calendar .mobile .fc-header-left .fc-button{top:-2px}.portlet.calendar .mobile .fc-header-right{position:relative;right:0}.portlet.calendar .mobile .fc-header-right .fc-button{top:35px}.portlet.calendar .mobile .fc-content{margin-top:53px}.gmaps{height:300px;width:100%}.gmaps img{max-width:none}#gmap_static div{background-repeat:no-repeat;background-position:50% 50%;display:block;height:300px}#gmap_routes_instructions{margin-top:10px;margin-bottom:0}#gritter-notice-wrapper{right:1px!important}.gritter-close{left:auto!important;right:3px!important}.gritter-title{font-family:"Open Sans";font-size:18px;font-weight:300}.easy-pie-chart .number{font-size:14px!important;position:relative;text-align:center;height:75px;line-height:75px}.easy-pie-chart .number canvas{position:absolute;top:0;left:0}.bs-example,.sparkline-chart,.vmaps{position:relative}.blueimp-gallery .close{background-image:url(../../assets/images/portlet-remove-icon-white.png)!important;margin-top:-2px}.blueimp-gallery .next,.blueimp-gallery .prev{border-radius:23px!important}.ms-container .ms-list{border:1px solid #e5e5e5;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ms-container .ms-optgroup-label{font-size:14px}.jquery-notific8-message,.ms-container .ms-selectable li.ms-elem-selectable,.ms-container .ms-selection li.ms-elem-selection{font-size:13px}.ms-container .ms-list.ms-focus{border-color:#999;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ms-container .ms-selectable li.ms-hover,.ms-container .ms-selection li.ms-hover{color:#333;background-color:#eee}.ms-container .form-control{margin-bottom:5px}[class*=jquery-notific8],[class*=jquery-notific8]:after,[class*=jquery-notific8]:before{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.left .jquery-notific8-close-sticky span,.right .jquery-notific8-close-sticky span{font-size:10px}.jquery-notific8-heading{font-weight:300;font-size:16px}.password-strength .password-verdict{display:inline-block;margin-top:6px;margin-left:5px}.password-strength .progress{margin-top:5px;margin-bottom:0}.password-strength .progress-bar{padding:2px}.scroller{padding:0 12px 0 0;margin:0;overflow:hidden}.scroller-footer{margin-top:10px}.scroller-footer:after,.scroller-footer:before{content:" ";display:table}.portlet-body .slimScrollBar{margin-right:0}.jqstooltip{width:auto!important;height:auto!important}.easy-pie-chart,.sparkline-chart{text-align:center}.sparkline-chart{margin-top:15px}.easy-pie-chart .number{font-weight:300;width:85px;margin:0 auto}.sparkline-chart .number{width:100px;margin:0 auto 10px}.easy-pie-chart .title,.sparkline-chart .title{display:block;text-align:center;color:#333;font-weight:300;font-size:16px;margin-top:5px;margin-bottom:10px}.easy-pie-chart .title:hover,.sparkline-chart .title:hover{color:#666;text-decoration:none}.easy-pie-chart .title>i,.sparkline-chart .title>i{margin-top:5px}div.tagsinput{min-height:35px;height:auto!important;margin:0;padding:5px 5px 0;overflow:auto}div.tagsinput span.tag{background:#aaa;color:#fff;border:0;padding:3px 6px;margin-top:0;margin-bottom:5px}div.tagsinput input{padding:3px 6px;width:75px!important}div.tagsinput span.tag a{color:#fff}div.tagsinput .not_valid{color:#fff;padding:3px 6px;background-color:#e02222}.slider{border:0;padding:0;display:block;margin:12px 5px;min-height:11px}.vakata-context li a .vakata-contextmenu-sep,.vakata-context li a i,iframe[src="about:blank"]{display:none}.ui-slider-vertical{width:11px}.ui-slider-horizontal .ui-slider-handle{top:-3px}.ui-slider-vertical .ui-slider-handle{left:-3px}.bs-example+.highlight:after,.bs-example:after{left:15px;text-transform:uppercase;letter-spacing:1px}.ui-slider-handle,.ui-slider-vertical{filter:none!important;background-image:none!important}.jqvmap-zoomin,.jqvmap-zoomout{height:16px;width:16px;background-color:#666}.vmaps{overflow:hidden;height:300px}.jstree-default .jstree-clicked{border:0;background-color:#e1e1e1;box-shadow:none}.jstree-default .jstree-hovered{border:0;background-color:#eee;box-shadow:none}.jstree-default .jstree-wholerow-clicked,.jstree-wholerow .jstree-wholerow-clicked{background:#e1e1e1;border:0;box-shadow:none}.jstree-default .jstree-wholerow-hovered,.jstree-wholerow .jstree-wholerow-hovered{border:0;background-color:#eee;box-shadow:none}.jstree-icon.icon-lg{margin-top:1px}.jstree-open>.jstree-anchor>.fa-folder:before{margin-left:2px;content:"\f07c"}.jstree-default.jstree-rtl .jstree-last{background:no-repeat}.vakata-context,.vakata-context ul{padding:0;min-width:125px;background-color:#fff;font-size:14px;font-family:"Segoe UI",Helvetica,Arial,sans-serif;box-shadow:5px 5px rgba(102,102,102,.1);border:1px solid #efefef}.vakata-context li{border:0}.vakata-context li a{padding:0 10px;border:0}.vakata-context .vakata-context-hover>a,.vakata-context li a:hover{background-color:#eee;color:#333;box-shadow:none;margin:0}.vakata-context .vakata-context-hover>a .ins,.vakata-context .vakata-context-hover>a .span,.vakata-context li a:hover .ins,.vakata-context li a:hover .span{border:0!important}.vakata-context li a ins,.vakata-context li a span{display:none;border:0!important}.vakata-context .vakata-context-separator a,.vakata-context-rtl .vakata-context-separator a{margin:0;border:0}.jstree-rename-input{background-color:#fff!important;border:1px solid #e5e5e5!important;outline:0!important;padding:2px 6px!important;margin-right:-4px!important}.noUi-control{margin:9px 0}.noUi-primary .noUi-connect,.noUi-primary.noUi-connect{background:#428bca}.noUi-info .noUi-connect,.noUi-info.noUi-connect{background:#89C4F4}.noUi-success .noUi-connect,.noUi-success.noUi-connect{background:#45B6AF}.noUi-warning .noUi-connect,.noUi-warning.noUi-connect{background:#dfba49}.noUi-danger .noUi-connect,.noUi-danger.noUi-connect{background:#F3565D}.noUi-default .noUi-connect,.noUi-default.noUi-connect{background:#c6c6c6}.form-recaptcha-img{margin-bottom:10px;clear:both;border:1px solid #e5e5e5;padding:5px}.form-control .select2-choice{border:1px solid #e5e5e5;background-color:#fff;background-image:none;filter:none;height:34px;padding:3px 0 0 12px}.select2-container.select2-drop-above .select2-choice{border-bottom-color:#e5e5e5;background-color:#fff;background-image:none;filter:none}.select2-drop{border:1px solid #e5e5e5;background-color:#fff;background-image:none;-webkit-box-shadow:none;box-shadow:none;filter:none;border-top:0}.select2-drop-auto-width{border-top:1px solid #e5e5e5}.select2-drop.select2-drop-above{border-top:1px solid #e5e5e5;-webkit-box-shadow:none;box-shadow:none}.select2-drop-active{border:1px solid #999;border-top:0}.select2-container .select2-choice .select2-arrow{background-image:none;background-color:#fff;filter:none;border-left:1px solid #e5e5e5}.select2-container.select2-container-active .select2-arrow,.select2-container.select2-dropdown-open .select2-arrow{border-left:0!important}.select2-container .select2-choice .select2-arrow b{background-position:0 1px}.select2-search input{background-color:#fff!important;filter:none;margin:5px 0 0;border:1px solid #e5e5e5;webkit-appearance:none!important;color:#333;outline:0;height:auto!important;min-height:26px;padding:6px!important;line-height:20px;font-size:14px;font-weight:400;vertical-align:top;-webkit-box-shadow:none;box-shadow:none}.form-control.select2-container{border:0;height:auto!important;padding:0}.select2-container-active .select2-choice,.select2-container-active .select2-choices{border:1px solid #999!important;-webkit-box-shadow:none!important;box-shadow:none!important}.select2-dropdown-open .select2-choice{border-bottom:0!important;background-image:none;background-color:#fff;filter:none;-webkit-box-shadow:none!important;box-shadow:none!important}.select2-dropdown-open.select2-drop-above .select2-choice,.select2-dropdown-open.select2-drop-above .select2-choices{border:1px solid #999!important;border-top:0!important;background-image:none;background-color:#fff;filter:none;-webkit-box-shadow:none!important;box-shadow:none!important}.select2-drop.select2-drop-above.select2-drop-active{border:1px solid #999!important;border-bottom:0!important}.select2-dropdown-open .select2-choice .select2-arrow b{background-position:-18px 1px}.select2-results{margin:5px 0}.select2-results .select2-highlighted{background:#eee;color:#333}.select2-results li em{background:#feffde;font-style:normal}.select2-results .select2-highlighted em{background:0 0}.select2-results .select2-highlighted ul{background:#fff;color:#000}.select2-results .select2-no-results,.select2-results .select2-searching,.select2-results .select2-selection-limit{padding:3px 7px 4px;background:#f4f4f4;display:list-item}.select2-container-multi,.select2-container-multi .select2-choices{-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.select2-container-multi.select2-dropdown-open,.select2-container-multi.select2-dropdown-open .select2-choices{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;-ms-border-radius:4px 4px 0 0;-o-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.select2-container-multi.select2-dropdown-open.select2-drop-above,.select2-container-multi.select2-dropdown-open.select2-drop-above .select2-choices{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;-ms-border-radius:0 0 4px 4px;-o-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.select2-container-multi .select2-choices{padding-left:6px;min-height:34px;border:1px solid #e5e5e5;background-image:none;background-color:#fff;filter:none;-webkit-box-shadow:none!important;box-shadow:none!important}.select2-container-multi.select2-container-active .select2-choices{border:1px solid #999!important;background-image:none;background-color:#fff;filter:none;-webkit-box-shadow:none!important;box-shadow:none!important}.select2-container-multi .select2-choices .select2-search-choice{padding:3px 5px 3px 18px;margin:5px 0 3px 5px;border:1px solid #e5e5e5;background-image:none;background-color:#fff;filter:none;-webkit-box-shadow:none!important;box-shadow:none!important}.has-warning .select2-container .select2-choice,.has-warning .select2-container .select2-choices,.has-warning .select2-container.select2-dropdown-open .select2-choice,.has-warning .select2-container.select2-dropdown-open .select2-choices{border-color:#faebcc}.has-warning .select2-container.select2-dropdown-open .select2-choice>span{color:#faebcc}.has-error .select2-container .select2-choice,.has-error .select2-container .select2-choices,.has-error .select2-container.select2-dropdown-open .select2-choice,.has-error .select2-container.select2-dropdown-open .select2-choices{border-color:#ebccd1}.has-error .select2-container.select2-dropdown-open .select2-choice>span{color:#ebccd1}.has-success .select2-container .select2-choice,.has-success .select2-container .select2-choices,.has-success .select2-container.select2-dropdown-open .select2-choice,.has-success .select2-container.select2-dropdown-open .select2-choices{border-color:#d6e9c6}.has-success .select2-container.select2-dropdown-open .select2-choice>span{color:#d6e9c6}.modal-open .select2-drop-mask{z-index:10051}.modal-open .select2-drop{z-index:10052}.modal-open .select2-search{z-index:10053}.form-control.input-lg .select2-choice{height:46px;padding:10px 16px}.select2-container.input-lg .select2-choice .select2-arrow b{background-position:0 7px}.form-control.input-sm .select2-choice{height:30px;padding:1px 10px 5px}.select2-container.input-sm .select2-choice .select2-arrow b{background-position:0 0}.checker{margin-top:-2px!important;margin-right:2px!important}.checker input,.radio input{outline:0!important}.alert,.aside:focus,.btn[bs-select],.timepicker.dropdown-menu button,[tabindex="-1"]{outline:0}div.checker.disabled span,div.checker.disabled.active span{background-position:-152px -260px}div.checker.disabled:hover,div.radio.disabled:hover{cursor:not-allowed}div.checker,div.radio{margin-right:0;margin-left:3px}.portlet-body-morris-fit{margin-right:-20px;margin-left:-20px;margin-bottom:-15px}.portlet-body-morris-fit>svg{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;-ms-border-radius:0 0 4px 4px;-o-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.morris-hover.morris-default-style .morris-hover-row-label{text-align:left;font-weight:400;font-size:15px;color:#7D8C9D;font-family:"Open Sans",sans-serif}.morris-hover.morris-default-style .morris-hover-point{text-align:left;font-size:14px;font-weight:400;font-family:"Open Sans",sans-serif}.icheck-list>label{display:block;margin-bottom:8px}.icheck-list>label:last-child{margin-bottom:0}.form-horizontal .icheck-inline{margin-top:8px}.icheck-inline>label{display:inline-block;margin-left:15px}.icheck-inline>label:first-child{margin-left:0}div[class*=icheckbox_],div[class*=iradio_]{margin-right:5px;top:-1px!important}.icheck-colors{padding:0;margin:0;list-style:none}.icheck-colors>li{padding:0;margin:4px;float:left;display:inline-block;height:20px;width:20px;background:#000;opacity:.6;filter:alpha(opacity=60)}.icheck-colors>li:first-child{margin-left:0}.icheck-colors>li:hover{opacity:1;filter:alpha(opacity=100);cursor:pointer}.icheck-colors>li.active{height:26px;margin-top:0;opacity:.6;filter:alpha(opacity=60)}.icheck-colors>li.red{background:#d54e21}.icheck-colors>li.green{background:#78a300}.icheck-colors>li.blue{background:#0e76a8}.icheck-colors>li.aero{background:#9cc2cb}.icheck-colors>li.grey{background:#73716e}.icheck-colors>li.orange{background:#f70}.icheck-colors>li.yellow{background:#fc0}.icheck-colors>li.pink{background:#ff66b5}.icheck-colors>li.purple{background:#6a5a8c}.ui-select-match-close{margin-top:5px!important;margin-left:5px!important}.modal.disabled{-webkit-animation:noop!important;animation:noop!important}.modal.disabled.am-fade-and-slide-top .modal-dialog{-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-fill-mode:backwards;animation-fill-mode:backwards;-webkit-animation-name:fadeAndSlideFromTop;animation-name:fadeAndSlideFromTop}.modal.disabled.am-fade-and-scale .modal-dialog,.tab-pane.am-fade{-webkit-animation-duration:.3s;-webkit-animation-fill-mode:backwards}.modal.disabled.am-fade-and-slide-top.ng-enter .modal-dialog{visibility:hidden;-webkit-animation-name:fadeAndSlideFromTop;animation-name:fadeAndSlideFromTop}.modal.disabled.am-fade-and-slide-top.ng-enter-active .modal-dialog,.modal.disabled.am-fade-and-slide-top.ng-leave-active .modal-dialog{visibility:visible}.modal.disabled.am-fade-and-slide-top.ng-leave .modal-dialog{-webkit-animation-name:fadeAndSlideToTop;animation-name:fadeAndSlideToTop}.modal.disabled.am-fade-and-scale .modal-dialog{animation-duration:.3s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;animation-fill-mode:backwards;-webkit-animation-name:fadeAndScaleIn;animation-name:fadeAndScaleIn}.modal.disabled.am-fade-and-scale.ng-enter .modal-dialog{visibility:hidden;-webkit-animation-name:fadeAndScaleIn;animation-name:fadeAndScaleIn}.modal.disabled.am-fade-and-scale.ng-enter-active .modal-dialog,.modal.disabled.am-fade-and-scale.ng-leave-active .modal-dialog{visibility:visible}.modal.disabled.am-fade-and-scale.ng-leave .modal-dialog{-webkit-animation-name:fadeAndScaleOut;animation-name:fadeAndScaleOut}@-webkit-keyframes noop{from,to{opacity:1}}@keyframes noop{from,to{opacity:1}}.bs-example{padding:45px 15px 15px;margin:0 -15px 15px;background-color:#fafafa;box-shadow:inset 0 3px 6px rgba(0,0,0,.05);border-color:#e5e5e5 #eee #eee;border-style:solid;border-width:1px 0}.bs-example:after{content:"Example";position:absolute;top:15px;font-size:12px;font-weight:700;color:#bbb}.bs-example+.highlight{margin:-15px -15px 15px;border-radius:0;border-width:0 0 1px}@media (min-width:768px){.bs-example,.bs-example+.highlight{margin-left:0;margin-right:0;border-width:1px}.bs-example{background-color:#fff;border-color:#ddd;border-radius:4px 4px 0 0;box-shadow:none}.bs-example+.highlight{margin-top:-16px;border-bottom-left-radius:4px;border-bottom-right-radius:4px}}.bs-example .container{width:auto}.bs-example>.alert:last-child,.bs-example>.form-control:last-child,.bs-example>.jumbotron:last-child,.bs-example>.list-group:last-child,.bs-example>.navbar:last-child,.bs-example>.panel:last-child,.bs-example>.progress:last-child,.bs-example>.table-responsive:last-child>.table,.bs-example>.table:last-child,.bs-example>.well:last-child,.bs-example>blockquote:last-child,.bs-example>ol:last-child,.bs-example>p:last-child,.bs-example>ul:last-child{margin-bottom:0}.bs-example>p>.close{float:none}.bs-example .nav-tabs{margin-bottom:15px}.bs-footer{padding-top:40px;padding-bottom:30px;margin-top:100px;color:#787878;text-align:center;border-top:1px solid #e6e6e6}.bs-docs-nav .navbar-brand,.bs-masthead-links a{color:#fff}.bs-docs-nav,.bs-docs-nav .navbar-collapse{border-color:#a33f3e}.footer-links{margin:10px 0;padding-left:0}.footer-links li{display:inline;padding:0 2px}.footer-links li:first-child{padding-left:0}@media (min-width:768px){.bs-footer{text-align:left}.bs-footer p{margin-bottom:0}}.bs-masthead{position:relative;padding:30px 15px;text-align:center;text-shadow:0 1px 0 rgba(0,0,0,.15)}.bs-masthead h1{font-size:50px;line-height:1;color:#fff}.bs-masthead .btn-outline-inverse{margin:10px}.bs-masthead-links{margin-top:20px;margin-bottom:40px;padding:0 15px;list-style:none;text-align:center}.bs-masthead-links li{display:inline}.bs-masthead-links li+li{margin-left:20px}@media (min-width:768px){.bs-masthead{text-align:left;padding-top:140px;padding-bottom:140px}.bs-masthead h1{font-size:100px}.bs-masthead .lead{margin-right:25%;font-size:30px}.bs-masthead .btn-outline-inverse{width:auto;margin:20px 5px 20px 0;padding:18px 24px;font-size:21px}.bs-masthead-links{padding:0;text-align:left}}.bs-docs-nav{background-color:#b94846;box-shadow:0 1px 0 rgba(255,255,255,.1);text-shadow:0 -1px 0 rgba(0,0,0,.15)}.bs-docs-nav .navbar-nav>li>a{-webkit-transition:color .15s linear;transition:color .15s linear;color:#f9f1f1}.bs-docs-nav .navbar-nav>li>a:hover{color:#fff}.bs-docs-nav .navbar-nav>.active>a,.bs-docs-nav .navbar-nav>.active>a:hover{background-color:#a33f3e;color:#fff}.bs-docs-nav .navbar-toggle{border-color:#b94846}.bs-docs-nav .navbar-toggle:hover{border-color:#a33f3e;background-color:#a33f3e}.bs-old-docs{padding:15px 20px;color:#787878;background-color:#fafafa;border-top:1px solid #fff;border-bottom:1px solid #e6e6e6}.bs-old-docs strong{color:#545454}@media (max-width:991px){.navbar-toggle{margin-left:15px;display:block!important;float:left}.bs-sidebar.affix{position:static!important}}.bs-header .container,.select.dropdown-menu.select-multiple li{position:relative}.bs-sidenav{margin-top:40px;margin-bottom:20px;width:124px}.bs-sidebar .nav>li>a{display:block;font-size:13px;font-weight:500;color:#999;padding:4px 15px;text-align:right}.bs-sidebar .nav>li>a:focus,.bs-sidebar .nav>li>a:hover{padding-right:14px;color:#b94846;text-decoration:none;background-color:transparent;border-right:1px solid #b94846}.bs-sidebar .nav>.active:focus>a,.bs-sidebar .nav>.active:hover>a,.bs-sidebar .nav>.active>a{padding-right:13px;font-weight:700;color:#b94846;background-color:transparent;border-right:2px solid #b94846}.bs-sidebar .nav .nav{display:none;padding-bottom:10px}.bs-sidebar .nav .nav>li>a{padding-top:2px;padding-bottom:2px;padding-right:30px;font-size:12px;font-weight:400}.bs-sidebar .nav .nav>li>a:focus,.bs-sidebar .nav .nav>li>a:hover{padding-right:29px}.bs-sidebar .nav .nav>.active:focus>a,.bs-sidebar .nav .nav>.active:hover>a,.bs-sidebar .nav .nav>.active>a{font-weight:500;padding-right:28px}@media (min-width:992px){.bs-sidebar .nav>.active>ul{display:block}.bs-sidebar.affix .bs-sidenav,.bs-sidebar.affix-bottom .bs-sidenav{margin-top:0;margin-bottom:0}}h1[id],h2[id]{margin-top:-45px}@media (min-width:1200px){.bs-sidebar{margin-right:30px}}.am-fade.aside-backdrop,.am-fade.modal-backdrop{background-color:rgba(0,0,0,.5)}.bs-docs-aside{min-width:200px}h1[id]{padding-top:80px}h2[id]{padding-top:60px}.bs-header{padding:30px 15px 40px;font-size:16px;text-align:center;text-shadow:0 1px 0 rgba(0,0,0,.15)}.bs-header h1{color:#fff}.bs-header p{font-weight:300;line-height:1.5}@media (min-width:768px){.bs-header{font-size:21px;text-align:left}.bs-header h1{font-size:60px;line-height:1}}@media (min-width:992px){.bs-header h1,.bs-header p{margin-right:300px}}.highlight{display:none;padding:9px 14px;margin-bottom:14px;background-color:#f6f6f8;border:1px solid #e2e2e9;border-radius:4px}.highlight pre{padding:0;margin-top:0;margin-bottom:0;background-color:transparent;border:0;white-space:nowrap}.highlight pre code{font-size:inherit;color:#333}.highlight pre .lineno{display:inline-block;width:22px;padding-right:5px;margin-right:10px;text-align:right;color:#bebec5}@media (min-width:481px){.highlight{display:block}}input.ng-dirty.ng-invalid,select.ng-dirty.ng-invalid,textarea.ng-dirty.ng-invalid{color:#b94a48;border-color:#ee5f5b}input.ng-dirty.ng-invalid:focus,select.ng-dirty.ng-invalid:focus,textarea.ng-dirty.ng-invalid:focus{border-color:#e9322d;box-shadow:0 0 6px #f8b9b7}input:focus.ng-pristine.ng-invalid,select:focus.ng-pristine.ng-invalid,textarea:focus.ng-pristine.ng-invalid{color:#555;border:1px solid #ccc;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}input:focus.ng-pristine.ng-invalid:focus,select:focus.ng-pristine.ng-invalid:focus,textarea:focus.ng-pristine.ng-invalid:focus{border-color:rgba(82,168,236,.8);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6)}body .modal{overflow-y:hidden}body.modal-open{overflow-y:visible!important}.lt-ie9 .bs-sidebar{display:none!important}.modal-backdrop{z-index:1040;bottom:0}.select.dropdown-menu.select-multiple li>i{color:#fff;display:none;position:absolute;top:5px;right:10px}.bs-example+.highlight,body{position:relative}.alert.bottom-right,.alert.top,.alert.top-right{right:0}.select.dropdown-menu.select-multiple li.active>i{display:block}body{padding-top:50px}.bs-example-scope{font-size:85%}.bs-example-scope+.bs-example{margin:-15px -15px 15px}.bs-example-scope+.bs-example+.highlight>pre{border-radius:0 0 4px 4px}.aside.bs-docs-aside .aside-header{background:#b94846}.aside.bs-docs-aside .nav{margin:0}.bs-docs-social{max-height:200px}.bs-docs-social ul{list-style:none;padding:1em 0 0}.bs-docs-social ul li{height:30px}@media (max-width:991px){.bs-docs-social ul li{display:inline-block}}.bs-docs-home,.bs-header{color:#fff;background:url(../assets/images/triangular-red.png) #b94846;padding-bottom:20px}pre>code{background:0 0}.bs-example+.highlight code{padding:2.5em .5em 1em}.alert.bottom-right .close,.alert.top-right .close{padding-left:10px}.alert.bottom-left .close,.alert.top-left .close{padding-right:10px}.bs-example+.highlight:after{content:"Source";position:absolute;top:15px;font-size:12px;font-weight:700;color:#bbb}.edit-plunkr,.panel-heading[role=tab] .panel-title a,a[ng-click],input[type=checkbox]{cursor:pointer}.twitter-follow-button{position:relative;top:5px;margin-left:10px}.tab-pane.am-fade{animation-duration:.3s;-webkit-animation-timing-function:ease;animation-timing-function:ease;animation-fill-mode:backwards;opacity:1}.am-collapse,.panel-collapse.am-collapse{-webkit-animation-duration:.3s;-webkit-animation-fill-mode:backwards;overflow:hidden}.panel-collapse.am-collapse{animation-duration:.3s;-webkit-animation-timing-function:ease;animation-timing-function:ease;animation-fill-mode:backwards}.am-collapse,.am-flip-x{-webkit-animation-timing-function:ease}.panel-collapse.am-collapse2{-webkit-transition:.3s ease max-height;transition:.3s ease max-height;max-height:100px;overflow:hidden}.panel-collapse.am-collapse2.in-remove{max-height:100px;display:block}.panel-collapse.am-collapse2.in-add{max-height:0}@-webkit-keyframes expand{from{max-height:0}to{max-height:100px}}@keyframes expand{from{max-height:0}to{max-height:100px}}@-webkit-keyframes collapse{from{max-height:100px}to{max-height:0}}@keyframes collapse{from{max-height:100px}to{max-height:0}}.am-collapse{animation-duration:.3s;animation-timing-function:ease;animation-fill-mode:backwards;opacity:1}.am-fade,.am-flip-x{-webkit-animation-fill-mode:backwards}.am-collapse.am-collapse-add,.am-collapse.ng-hide-remove,.am-collapse.ng-move{-webkit-animation-name:expand;animation-name:expand}.am-collapse.am-collapse-remove,.am-collapse.ng-hide{-webkit-animation-name:collapse;animation-name:collapse}.am-collapse.ng-enter{visibility:hidden;-webkit-animation-name:expand;animation-name:expand;-webkit-animation-play-state:paused;animation-play-state:paused}.am-collapse.ng-enter.ng-enter-active{visibility:visible;-webkit-animation-play-state:running;animation-play-state:running}.am-collapse.ng-leave{-webkit-animation-name:collapse;animation-name:collapse;-webkit-animation-play-state:paused;animation-play-state:paused}.am-collapse.ng-leave.ng-leave-active{-webkit-animation-play-state:running;animation-play-state:running}@-webkit-keyframes expand{from{max-height:0}to{max-height:500px}}@keyframes expand{from{max-height:0}to{max-height:500px}}@-webkit-keyframes collapse{from{max-height:500px}to{max-height:0}}@keyframes collapse{from{max-height:500px}to{max-height:0}}.panel-collapse.am-collapse.in-remove{-webkit-animation-name:collapse;animation-name:collapse;display:block}.panel-collapse.am-collapse.in-add{-webkit-animation-name:expand;animation-name:expand}.am-fade{-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:linear;animation-timing-function:linear;animation-fill-mode:backwards;opacity:1}.am-fade.am-fade-add,.am-fade.ng-hide-remove,.am-fade.ng-move{-webkit-animation-name:fadeIn;animation-name:fadeIn}.am-fade.am-fade-remove,.am-fade.ng-hide{-webkit-animation-name:fadeOut;animation-name:fadeOut}.am-fade.ng-enter{visibility:hidden;-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-play-state:paused;animation-play-state:paused}.am-fade.ng-enter.ng-enter-active{visibility:visible;-webkit-animation-play-state:running;animation-play-state:running}.am-fade.ng-leave{-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-play-state:paused;animation-play-state:paused}.am-fade.ng-leave.ng-leave-active{-webkit-animation-play-state:running;animation-play-state:running}@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}.tab-pane.am-fade.active-remove{display:none!important}.tab-pane.am-fade.active-add{-webkit-animation-name:fadeIn;animation-name:fadeIn}.aside-backdrop.am-fade,.modal-backdrop.am-fade{background:rgba(0,0,0,.5);-webkit-animation-duration:.15s;animation-duration:.15s}.aside-backdrop.am-fade.ng-leave,.modal-backdrop.am-fade.ng-leave{-webkit-animation-delay:.3s;animation-delay:.3s}.am-flip-x{-webkit-animation-duration:.4s;animation-duration:.4s;animation-timing-function:ease;animation-fill-mode:backwards}.am-flip-x-linear,.am-slide-top{-webkit-animation-fill-mode:backwards}.am-flip-x.am-flip-x-add,.am-flip-x.ng-hide-remove,.am-flip-x.ng-move{-webkit-animation-name:flipInXBounce;animation-name:flipInXBounce}.am-flip-x.am-flip-x-remove,.am-flip-x.ng-hide{-webkit-animation-name:flipOutX;animation-name:flipOutX}.am-flip-x.ng-enter{visibility:hidden;-webkit-animation-name:flipInXBounce;animation-name:flipInXBounce;-webkit-animation-play-state:paused;animation-play-state:paused}.am-flip-x.ng-enter.ng-enter-active{visibility:visible;-webkit-animation-play-state:running;animation-play-state:running}.am-flip-x.ng-leave{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-animation-play-state:paused;animation-play-state:paused}.am-flip-x.ng-leave.ng-leave-active{-webkit-animation-play-state:running;animation-play-state:running}.am-flip-x-linear{-webkit-animation-duration:.4s;animation-duration:.4s;-webkit-animation-timing-function:ease;animation-timing-function:ease;animation-fill-mode:backwards}.am-slide-right,.am-slide-top{-webkit-animation-duration:.3s;-webkit-animation-timing-function:ease-in-out}.am-flip-x-linear.am-flip-x-add,.am-flip-x-linear.ng-hide-remove,.am-flip-x-linear.ng-move{-webkit-animation-name:flipInX;animation-name:flipInX}.am-flip-x-linear.am-flip-x-remove,.am-flip-x-linear.ng-hide{-webkit-animation-name:flipOutX;animation-name:flipOutX}.am-flip-x-linear.ng-enter{visibility:hidden;-webkit-animation-name:flipInX;animation-name:flipInX;-webkit-animation-play-state:paused;animation-play-state:paused}.am-flip-x-linear.ng-enter.ng-enter-active{visibility:visible;-webkit-animation-play-state:running;animation-play-state:running}.am-flip-x-linear.ng-leave{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-animation-play-state:paused;animation-play-state:paused}.am-flip-x-linear.ng-leave.ng-leave-active{-webkit-animation-play-state:running;animation-play-state:running}@-webkit-keyframes flipInX{from{opacity:0;-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg)}to{opacity:1;-webkit-transform:perspective(400px) rotateX(0);transform:perspective(400px) rotateX(0)}}@keyframes flipInX{from{opacity:0;-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg)}to{opacity:1;-webkit-transform:perspective(400px) rotateX(0);transform:perspective(400px) rotateX(0)}}@-webkit-keyframes flipInXBounce{from{opacity:0;-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg)}40%{-webkit-transform:perspective(400px) rotateX(-10deg);transform:perspective(400px) rotateX(-10deg)}70%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg)}to{opacity:1;-webkit-transform:perspective(400px) rotateX(0);transform:perspective(400px) rotateX(0)}}@keyframes flipInXBounce{from{opacity:0;-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg)}40%{-webkit-transform:perspective(400px) rotateX(-10deg);transform:perspective(400px) rotateX(-10deg)}70%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg)}to{opacity:1;-webkit-transform:perspective(400px) rotateX(0);transform:perspective(400px) rotateX(0)}}@-webkit-keyframes flipOutX{from{opacity:1;-webkit-transform:perspective(400px) rotateX(0);transform:perspective(400px) rotateX(0)}to{opacity:0;-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg)}}@keyframes flipOutX{from{opacity:1;-webkit-transform:perspective(400px) rotateX(0);transform:perspective(400px) rotateX(0)}to{opacity:0;-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg)}}.am-slide-top{animation-duration:.3s;animation-timing-function:ease-in-out;animation-fill-mode:backwards}.am-slide-bottom,.am-slide-right{-webkit-animation-fill-mode:backwards}.am-slide-top.am-slide-top-add,.am-slide-top.ng-hide-remove,.am-slide-top.ng-move{-webkit-animation-name:slideFromTop;animation-name:slideFromTop}.am-slide-top.am-slide-top-remove,.am-slide-top.ng-hide{-webkit-animation-name:slideToTop;animation-name:slideToTop}.am-slide-top.ng-enter{visibility:hidden;-webkit-animation-name:slideFromTop;animation-name:slideFromTop;-webkit-animation-play-state:paused;animation-play-state:paused}.am-slide-top.ng-enter.ng-enter-active{visibility:visible;-webkit-animation-play-state:running;animation-play-state:running}.am-slide-top.ng-leave{-webkit-animation-name:slideToTop;animation-name:slideToTop;-webkit-animation-play-state:paused;animation-play-state:paused}.am-slide-top.ng-leave.ng-leave-active{-webkit-animation-play-state:running;animation-play-state:running}.am-slide-right{animation-duration:.3s;animation-timing-function:ease-in-out;animation-fill-mode:backwards}.am-slide-bottom,.am-slide-left{-webkit-animation-duration:.3s;-webkit-animation-timing-function:ease-in-out}.am-slide-right.am-slide-right-add,.am-slide-right.ng-hide-remove,.am-slide-right.ng-move{-webkit-animation-name:slideFromRight;animation-name:slideFromRight}.am-slide-right.am-slide-right-remove,.am-slide-right.ng-hide{-webkit-animation-name:slideToRight;animation-name:slideToRight}.am-slide-right.ng-enter{visibility:hidden;-webkit-animation-name:slideFromRight;animation-name:slideFromRight;-webkit-animation-play-state:paused;animation-play-state:paused}.am-slide-right.ng-enter.ng-enter-active{visibility:visible;-webkit-animation-play-state:running;animation-play-state:running}.am-slide-right.ng-leave{-webkit-animation-name:slideToRight;animation-name:slideToRight;-webkit-animation-play-state:paused;animation-play-state:paused}.am-slide-right.ng-leave.ng-leave-active{-webkit-animation-play-state:running;animation-play-state:running}.am-slide-bottom{animation-duration:.3s;animation-timing-function:ease-in-out;animation-fill-mode:backwards}.am-fade-and-slide-top,.am-slide-left{-webkit-animation-fill-mode:backwards}.am-slide-bottom.am-slide-bottom-add,.am-slide-bottom.ng-hide-remove,.am-slide-bottom.ng-move{-webkit-animation-name:slideFromBottom;animation-name:slideFromBottom}.am-slide-bottom.am-slide-bottom-remove,.am-slide-bottom.ng-hide{-webkit-animation-name:slideToBottom;animation-name:slideToBottom}.am-slide-bottom.ng-enter{visibility:hidden;-webkit-animation-name:slideFromBottom;animation-name:slideFromBottom;-webkit-animation-play-state:paused;animation-play-state:paused}.am-slide-bottom.ng-enter.ng-enter-active{visibility:visible;-webkit-animation-play-state:running;animation-play-state:running}.am-slide-bottom.ng-leave{-webkit-animation-name:slideToBottom;animation-name:slideToBottom;-webkit-animation-play-state:paused;animation-play-state:paused}.am-slide-bottom.ng-leave.ng-leave-active{-webkit-animation-play-state:running;animation-play-state:running}.am-slide-left{animation-duration:.3s;animation-timing-function:ease-in-out;animation-fill-mode:backwards}.am-fade-and-slide-right,.am-fade-and-slide-top{-webkit-animation-duration:.3s;-webkit-animation-timing-function:ease-in-out}.am-slide-left.am-slide-left-add,.am-slide-left.ng-hide-remove,.am-slide-left.ng-move{-webkit-animation-name:slideFromLeft;animation-name:slideFromLeft}.am-slide-left.am-slide-left-remove,.am-slide-left.ng-hide{-webkit-animation-name:slideToLeft;animation-name:slideToLeft}.am-slide-left.ng-enter{visibility:hidden;-webkit-animation-name:slideFromLeft;animation-name:slideFromLeft;-webkit-animation-play-state:paused;animation-play-state:paused}.am-slide-left.ng-enter.ng-enter-active{visibility:visible;-webkit-animation-play-state:running;animation-play-state:running}.am-slide-left.ng-leave{-webkit-animation-name:slideToLeft;animation-name:slideToLeft;-webkit-animation-play-state:paused;animation-play-state:paused}.am-slide-left.ng-leave.ng-leave-active{-webkit-animation-play-state:running;animation-play-state:running}@-webkit-keyframes slideFromTop{from{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes slideFromTop{from{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@-webkit-keyframes slideToTop{to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes slideToTop{to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@-webkit-keyframes slideFromRight{from{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes slideFromRight{from{-webkit-transform:translateX(100%);transform:translateX(100%)}}@-webkit-keyframes slideToRight{to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes slideToRight{to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@-webkit-keyframes slideFromBottom{from{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes slideFromBottom{from{-webkit-transform:translateY(100%);transform:translateY(100%)}}@-webkit-keyframes slideToBottom{to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes slideToBottom{to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@-webkit-keyframes slideFromLeft{from{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes slideFromLeft{from{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@-webkit-keyframes slideToLeft{to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes slideToLeft{to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.am-fade-and-slide-top{animation-duration:.3s;animation-timing-function:ease-in-out;animation-fill-mode:backwards}.am-fade-and-slide-top.am-fade-and-slide-top-add,.am-fade-and-slide-top.ng-hide-remove,.am-fade-and-slide-top.ng-move{-webkit-animation-name:fadeAndSlideFromTop;animation-name:fadeAndSlideFromTop}.am-fade-and-slide-top.am-fade-and-slide-top-remove,.am-fade-and-slide-top.ng-hide{-webkit-animation-name:fadeAndSlideToTop;animation-name:fadeAndSlideToTop}.am-fade-and-slide-top.ng-enter{visibility:hidden;-webkit-animation-name:fadeAndSlideFromTop;animation-name:fadeAndSlideFromTop;-webkit-animation-play-state:paused;animation-play-state:paused}.am-fade-and-slide-top.ng-enter.ng-enter-active{visibility:visible;-webkit-animation-play-state:running;animation-play-state:running}.am-fade-and-slide-top.ng-leave{-webkit-animation-name:fadeAndSlideToTop;animation-name:fadeAndSlideToTop;-webkit-animation-play-state:paused;animation-play-state:paused}.am-fade-and-slide-top.ng-leave.ng-leave-active{-webkit-animation-play-state:running;animation-play-state:running}.am-fade-and-slide-right{animation-duration:.3s;animation-timing-function:ease-in-out;-webkit-animation-fill-mode:backwards;animation-fill-mode:backwards}.am-fade-and-slide-bottom,.am-fade-and-slide-left{-webkit-animation-duration:.3s;-webkit-animation-timing-function:ease-in-out}.am-fade-and-slide-right.am-fade-and-slide-right-add,.am-fade-and-slide-right.ng-hide-remove,.am-fade-and-slide-right.ng-move{-webkit-animation-name:fadeAndSlideFromRight;animation-name:fadeAndSlideFromRight}.am-fade-and-slide-right.am-fade-and-slide-right-remove,.am-fade-and-slide-right.ng-hide{-webkit-animation-name:fadeAndSlideToRight;animation-name:fadeAndSlideToRight}.am-fade-and-slide-right.ng-enter{visibility:hidden;-webkit-animation-name:fadeAndSlideFromRight;animation-name:fadeAndSlideFromRight;-webkit-animation-play-state:paused;animation-play-state:paused}.am-fade-and-slide-right.ng-enter.ng-enter-active{visibility:visible;-webkit-animation-play-state:running;animation-play-state:running}.am-fade-and-slide-right.ng-leave{-webkit-animation-name:fadeAndSlideToRight;animation-name:fadeAndSlideToRight;-webkit-animation-play-state:paused;animation-play-state:paused}.am-fade-and-slide-right.ng-leave.ng-leave-active{-webkit-animation-play-state:running;animation-play-state:running}.am-fade-and-slide-bottom{animation-duration:.3s;animation-timing-function:ease-in-out;-webkit-animation-fill-mode:backwards;animation-fill-mode:backwards}.am-fade-and-slide-bottom.am-fade-and-slide-bottom-add,.am-fade-and-slide-bottom.ng-hide-remove,.am-fade-and-slide-bottom.ng-move{-webkit-animation-name:fadeAndSlideFromBottom;animation-name:fadeAndSlideFromBottom}.am-fade-and-slide-bottom.am-fade-and-slide-bottom-remove,.am-fade-and-slide-bottom.ng-hide{-webkit-animation-name:fadeAndSlideToBottom;animation-name:fadeAndSlideToBottom}.am-fade-and-slide-bottom.ng-enter{visibility:hidden;-webkit-animation-name:fadeAndSlideFromBottom;animation-name:fadeAndSlideFromBottom;-webkit-animation-play-state:paused;animation-play-state:paused}.am-fade-and-slide-bottom.ng-enter.ng-enter-active{visibility:visible;-webkit-animation-play-state:running;animation-play-state:running}.am-fade-and-slide-bottom.ng-leave{-webkit-animation-name:fadeAndSlideToBottom;animation-name:fadeAndSlideToBottom;-webkit-animation-play-state:paused;animation-play-state:paused}.am-fade-and-slide-bottom.ng-leave.ng-leave-active{-webkit-animation-play-state:running;animation-play-state:running}.am-fade-and-slide-left{animation-duration:.3s;animation-timing-function:ease-in-out;-webkit-animation-fill-mode:backwards;animation-fill-mode:backwards}.am-fade-and-slide-left.am-fade-and-slide-left-add,.am-fade-and-slide-left.ng-hide-remove,.am-fade-and-slide-left.ng-move{-webkit-animation-fill-mode:backwards;animation-fill-mode:backwards;-webkit-animation-name:fadeAndSlideFromLeft;animation-name:fadeAndSlideFromLeft}.am-fade-and-slide-left.am-fade-and-slide-left-remove,.am-fade-and-slide-left.ng-hide{-webkit-animation-name:fadeAndSlideToLeft;animation-name:fadeAndSlideToLeft}.am-fade-and-slide-left.ng-enter{visibility:hidden;-webkit-animation-name:fadeAndSlideFromLeft;animation-name:fadeAndSlideFromLeft;-webkit-animation-play-state:paused;animation-play-state:paused}.am-fade-and-slide-left.ng-enter.ng-enter-active{visibility:visible;-webkit-animation-play-state:running;animation-play-state:running}.am-fade-and-slide-left.ng-leave{-webkit-animation-name:fadeAndSlideToLeft;animation-name:fadeAndSlideToLeft;-webkit-animation-play-state:paused;animation-play-state:paused}.am-fade-and-slide-left.ng-leave.ng-leave-active{-webkit-animation-play-state:running;animation-play-state:running}@-webkit-keyframes fadeAndSlideFromTop{from{opacity:0;-webkit-transform:translateY(-20%);transform:translateY(-20%)}to{opacity:1}}@keyframes fadeAndSlideFromTop{from{opacity:0;-webkit-transform:translateY(-20%);transform:translateY(-20%)}to{opacity:1}}@-webkit-keyframes fadeAndSlideToTop{from{opacity:1}to{opacity:0;-webkit-transform:translateY(-20%);transform:translateY(-20%)}}@keyframes fadeAndSlideToTop{from{opacity:1}to{opacity:0;-webkit-transform:translateY(-20%);transform:translateY(-20%)}}@-webkit-keyframes fadeAndSlideFromRight{from{opacity:0;-webkit-transform:translateX(20%);transform:translateX(20%)}to{opacity:1}}@keyframes fadeAndSlideFromRight{from{opacity:0;-webkit-transform:translateX(20%);transform:translateX(20%)}to{opacity:1}}@-webkit-keyframes fadeAndSlideToRight{from{opacity:1}to{opacity:0;-webkit-transform:translateX(20%);transform:translateX(20%)}}@keyframes fadeAndSlideToRight{from{opacity:1}to{opacity:0;-webkit-transform:translateX(20%);transform:translateX(20%)}}@-webkit-keyframes fadeAndSlideFromBottom{from{opacity:0;-webkit-transform:translateY(20%);transform:translateY(20%)}to{opacity:1}}@keyframes fadeAndSlideFromBottom{from{opacity:0;-webkit-transform:translateY(20%);transform:translateY(20%)}to{opacity:1}}@-webkit-keyframes fadeAndSlideToBottom{from{opacity:1}to{opacity:0;-webkit-transform:translateY(20%);transform:translateY(20%)}}@keyframes fadeAndSlideToBottom{from{opacity:1}to{opacity:0;-webkit-transform:translateY(20%);transform:translateY(20%)}}@-webkit-keyframes fadeAndSlideFromLeft{from{opacity:0;-webkit-transform:translateX(-20%);transform:translateX(-20%)}to{opacity:1}}@keyframes fadeAndSlideFromLeft{from{opacity:0;-webkit-transform:translateX(-20%);transform:translateX(-20%)}to{opacity:1}}@-webkit-keyframes fadeAndSlideToLeft{from{opacity:1}to{opacity:0;-webkit-transform:translateX(-20%);transform:translateX(-20%)}}@keyframes fadeAndSlideToLeft{from{opacity:1}to{opacity:0;-webkit-transform:translateX(-20%);transform:translateX(-20%)}}.am-fade-and-scale{-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-fill-mode:backwards;animation-fill-mode:backwards}.am-fade-and-scale.am-fade-and-scale-add,.am-fade-and-scale.ng-enter,.am-fade-and-scale.ng-hide-remove,.am-fade-and-scale.ng-move{-webkit-animation-name:fadeAndScaleIn;animation-name:fadeAndScaleIn}.am-fade-and-scale.am-fade-and-scale-remove,.am-fade-and-scale.ng-hide,.am-fade-and-scale.ng-leave{-webkit-animation-name:fadeAndScaleOut;animation-name:fadeAndScaleOut}.am-fade-and-scale.ng-enter{visibility:hidden;-webkit-animation-name:fadeAndScaleIn;animation-name:fadeAndScaleIn;-webkit-animation-play-state:paused;animation-play-state:paused}.am-fade-and-scale.ng-enter.ng-enter-active{visibility:visible;-webkit-animation-play-state:running;animation-play-state:running}.am-fade-and-scale.ng-leave{-webkit-animation-name:fadeAndScaleOut;animation-name:fadeAndScaleOut;-webkit-animation-play-state:paused;animation-play-state:paused}.am-fade-and-scale.ng-leave.ng-leave-active{-webkit-animation-play-state:running;animation-play-state:running}@-webkit-keyframes fadeAndScaleIn{from{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}to{opacity:1}}@keyframes fadeAndScaleIn{from{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}to{opacity:1}}@-webkit-keyframes fadeAndScaleOut{from{opacity:1}to{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}}@keyframes fadeAndScaleOut{from{opacity:1}to{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}}.alert.bottom,.alert.bottom-left,.alert.bottom-right,.alert.top,.alert.top-left,.alert.top-right{position:fixed;z-index:1050;margin:20px}.alert.top,.alert.top-left,.alert.top-right{top:50px}.alert.top{left:0}.alert.top-left{left:0}.alert.bottom,.alert.bottom-left,.alert.bottom-right{bottom:0}.alert.bottom{right:0;left:0}.alert.bottom-left{left:0}.aside .aside-dialog .aside-footer:after,.aside .aside-dialog .aside-footer:before,.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{content:" ";display:table}.aside{position:fixed;top:0;bottom:0;z-index:1049;overflow:auto;min-width:320px;background:#fff}@media (max-width:991px){.aside{min-width:240px}}.aside.left{right:auto;left:0}.aside.right{right:0;left:auto}.aside .aside-dialog .aside-header{border-bottom:1px solid #e5e5e5;min-height:16.43px;padding:6px 15px;background:#337ab7;color:#fff}.aside .aside-dialog .aside-header .close{margin-right:-8px;padding:4px 8px;color:#fff;font-size:25px;opacity:.8}.aside .aside-dialog .aside-body{position:relative;padding:15px}.aside .aside-dialog .aside-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.aside .aside-dialog .aside-footer .btn+.btn{margin-left:5px;margin-bottom:0}.aside .aside-dialog .aside-footer .btn-group .btn+.btn{margin-left:-1px}.aside .aside-dialog .aside-footer .btn-block+.btn-block{margin-left:0}.aside-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.aside-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.aside-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.datepicker.dropdown-menu{width:250px;height:270px}.datepicker.dropdown-menu button{outline:0;border:0}.datepicker.dropdown-menu tbody{height:180px}.datepicker.dropdown-menu tbody button{padding:6px}.datepicker.dropdown-menu.datepicker-mode-1 tbody button,.datepicker.dropdown-menu.datepicker-mode-2 tbody button{height:65px}.callout{margin:20px 0;padding:20px;border-left:3px solid #eee}.callout h4{margin-top:0;margin-bottom:5px}.popover.top-left,.popover.top-right{margin-top:-10px}.callout p:last-child{margin-bottom:0}.callout-danger{border-color:#eed3d7;background-color:#fdf7f7}.callout-danger h4{color:#b94a48}.callout-warning{border-color:#faebcc;background-color:#faf8f0}.callout-warning h4{color:#8a6d3b}.callout-info{border-color:#bce8f1;background-color:#f4f8fa}.callout-info h4{color:#34789a}.modal.center .modal-dialog{position:fixed;top:40%;left:50%;min-width:320px;max-width:630px;width:50%;-webkit-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.popover.top-left .arrow{margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px;left:10%}.popover.top-left .arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.bottom-left,.popover.bottom-right{margin-top:10px}.popover.top-right .arrow{margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px;left:90%}.popover.top-right .arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.bottom-left .arrow{margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px;left:10%}.popover.bottom-left .arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.bottom-right .arrow{margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px;left:90%}.popover.bottom-right .arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.timepicker.dropdown-menu{padding:0 4px}.timepicker.dropdown-menu button{border:0}.timepicker.dropdown-menu tbody button{padding:6px}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-group-xs>.btn{font-size:12px;line-height:1.5;border-radius:3px}.btn-group-sm>.btn{padding:5px 10px}.btn-group-xs>.btn{padding:1px 5px}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{content:" ";display:table}.tooltip.tooltip-info.top .tooltip-arrow,.tooltip.tooltip-info.top-left .tooltip-arrow,.tooltip.tooltip-info.top-right .tooltip-arrow{border-top-color:#d9edf7}.tooltip.tooltip-info.right .tooltip-arrow{border-right-color:#d9edf7}.tooltip.tooltip-info.bottom .tooltip-arrow,.tooltip.tooltip-info.bottom-left .tooltip-arrow,.tooltip.tooltip-info.bottom-right .tooltip-arrow{border-bottom-color:#d9edf7}.tooltip.tooltip-info.left .tooltip-arrow{border-left-color:#d9edf7}.tooltip.tooltip-info .tooltip-inner{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.tooltip.tooltip-info .tooltip-inner hr{border-top-color:#a6e1ec}.tooltip.tooltip-info .tooltip-inner .alert-link{color:#245269}.tooltip.tooltip-success.top .tooltip-arrow,.tooltip.tooltip-success.top-left .tooltip-arrow,.tooltip.tooltip-success.top-right .tooltip-arrow{border-top-color:#dff0d8}.tooltip.tooltip-success.right .tooltip-arrow{border-right-color:#dff0d8}.tooltip.tooltip-success.bottom .tooltip-arrow,.tooltip.tooltip-success.bottom-left .tooltip-arrow,.tooltip.tooltip-success.bottom-right .tooltip-arrow{border-bottom-color:#dff0d8}.tooltip.tooltip-success.left .tooltip-arrow{border-left-color:#dff0d8}.tooltip.tooltip-success .tooltip-inner{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.tooltip.tooltip-success .tooltip-inner hr{border-top-color:#c9e2b3}.tooltip.tooltip-success .tooltip-inner .alert-link{color:#2b542c}.tooltip.tooltip-danger.top .tooltip-arrow,.tooltip.tooltip-danger.top-left .tooltip-arrow,.tooltip.tooltip-danger.top-right .tooltip-arrow{border-top-color:#f2dede}.tooltip.tooltip-danger.right .tooltip-arrow{border-right-color:#f2dede}.tooltip.tooltip-danger.bottom .tooltip-arrow,.tooltip.tooltip-danger.bottom-left .tooltip-arrow,.tooltip.tooltip-danger.bottom-right .tooltip-arrow{border-bottom-color:#f2dede}.tooltip.tooltip-danger.left .tooltip-arrow{border-left-color:#f2dede}.tooltip.tooltip-danger .tooltip-inner{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.tooltip.tooltip-danger .tooltip-inner hr{border-top-color:#e4b9c0}.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;border-width:5px 5px 0;border-top-color:#000;margin-left:-5px}.tooltip.tooltip-danger .tooltip-inner .alert-link{color:#843534}.tooltip.top-left{margin-top:-3px;padding:5px 0}.tooltip.top-left .tooltip-arrow{left:10%}.tooltip.top-right{margin-top:-3px;padding:5px 0}.tooltip.bottom-left,.tooltip.bottom-right{margin-top:3px;padding:5px 0}.tooltip.top-right .tooltip-arrow{left:90%}.tooltip.bottom-left .tooltip-arrow{top:0;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000;left:10%}.tooltip.bottom-right .tooltip-arrow{top:0;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000;left:90%}
\ No newline at end of file
+.badge,.btn-arrow-link,.btn-lg{vertical-align:middle}.chart-tooltip,.chart-tooltip .label,.chat-form,.dashboard-stat .more,.dashboard-stat2 .display:after,.dashboard-stat2 .progress-info,.dashboard-stat2 .progress-info .progress,.dashboard-stat:after,.dropdown-menu li>a,.feeds li .col1,.feeds li:after,.form .form-actions:after,.general-item-list>.item>.item-head:after,.portlet>.portlet-title:after,.social-icons:after,.tabbable:after,.table-toolbar:after,.tiles .tile .tile-object:after,.tiles:after{clear:both}.animate-enter{-webkit-transition:1s linear all;transition:1s linear all;opacity:0}.animate-enter.animate-enter-active{opacity:1}#faxMessages::-webkit-scrollbar-track{background-color:#fff!important}#faxMessages::-webkit-scrollbar{width:5px}.interval-to{min-height:34px;padding:9px 12px}.inbox{margin-bottom:20px}.inbox .inbox{margin-bottom:0}.inbox .tab-content{overflow:inherit}.inbox .inbox-loading{display:none;font-size:22px;font-weight:300}.inbox .inbox-nav{margin:0;padding:0;list-style:none}.inbox .inbox-nav li{position:relative}.inbox .inbox-nav li a{color:#4d82a3;display:block;font-size:15px;border-left:none;text-align:left!important;padding:8px 14px;margin-bottom:1px;background:#f4f9fd}.inbox .inbox-nav li.active a,.inbox .inbox-nav li.active:hover a{color:#fff;border-left:none;background:#169ef4!important;text-decoration:none}.inbox .inbox-nav li.active b{top:12px;right:-6px;width:6px;position:absolute;display:inline-block;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:6px solid #169ef4}.inbox .inbox-nav li:hover a{color:#4d82a3;background:#eef4f7!important;text-decoration:none}.inbox .inbox-nav li.compose-btn a{color:#fff;text-shadow:none;text-align:center;margin-bottom:18px;background:#35aa47}.inbox .pagination-control,.inbox th.text-right{text-align:right}.inbox .inbox-nav li.compose-btn i,.inbox .inbox-nav li.compose-btn:hover i{top:1px;color:#fff;font-size:15px;position:relative;background:0 0!important}.inbox .inbox-nav li.compose-btn a:hover{background-color:#1d943b!important}.inbox .inbox-header{overflow:hidden}.inbox .inbox-header h1{margin:0 0 10px;color:#666}.inbox tr label,.inbox ul.inbox-nav{margin-bottom:0}.inbox .pagination-control .pagination-info{display:inline-block;padding-right:10px;font-size:14px;line-height:14px}.inbox tr{color:#777;font-size:13px}.inbox tr label{display:inline-block}.inbox tr.unread td{font-weight:600}.audio-portlet .audio-portlet-title,h1,h2,h3,h4,h5,h6{font-family:"Open Sans",sans-serif;font-weight:300}.inbox td i.icon-paper-clip{top:2px;color:#d8e0e5;font-size:17px;position:relative}.inbox tr i.icon-star,.inbox tr i.icon-trash{cursor:pointer}.inbox tr i.icon-star{color:#eceef0}.inbox tr i.icon-star:hover,.inbox tr i.inbox-started{color:#fd7b12}.inbox .table td,.inbox .table th{border:none}.inbox .table th{background:#eef4f7;border-bottom:solid 5px #fff}.inbox .inbox-drafts,.inbox-view-info{border-top:solid 1px #eee;border-bottom:solid 1px #eee}.inbox th label.inbox-select-all{color:#828f97;font-size:13px;padding:1px 4px 0}.inbox ul.inbox-nav li{padding:0}.inbox ul.inbox-nav li span{color:#828f97;font-size:12px;margin-right:10px}.inbox ul.inbox-nav i{color:#fff;padding:1px 0;font-size:15px;cursor:pointer;background:#d0dde4!important}.inbox ul.inbox-nav i:hover{background:#169ef4!important}.inbox td.text-right{width:100px;text-align:right}.inbox td.inbox-small-cells,.small-cells{width:10px}.inbox .table-hover tbody tr:hover>td,.inbox .table-hover tbody tr:hover>th,.inbox .table-striped tbody>tr:nth-child(odd)>td,.inbox .table-striped tbody>tr:nth-child(odd)>th{background:#f8fbfd;cursor:pointer}.inbox .table-hover tbody tr:hover>td,.inbox .table-hover tbody tr:hover>th{background:#eef4f7}.inbox .inbox-drafts{padding:8px 0;text-align:center}.inbox-view-header{margin-bottom:20px}.inbox-view-header h1{color:#666;font-size:22px;line-height:24px;margin-bottom:0!important}.inbox-view-header h1 a{top:-2px;color:#fff;cursor:pointer;font-size:13px;padding:2px 7px;line-height:16px;position:relative;background:#b0bcc4;display:inline-block}.inbox-view-header h1 a:hover{background:#aab5bc;text-decoration:none}.inbox-view-header i.icon-print{color:#94a4ab;cursor:pointer;font-size:14px;display:inline-block;padding:6px 8px!important;background:#edf1f4!important}.inbox-view-header i.icon-print:hover{background:#e7ebef!important}.inbox-view-info{color:#666;padding:5px 0;margin-bottom:10px}.inbox-view-info strong{color:#666;margin:0 10px 0 5px}.inbox-view-info .inbox-info-btn{text-align:right}.inbox-view-info .inbox-info-btn ul{text-align:left}.inbox-view-info button{top:2px;color:#94a4ab;font-size:13px;margin-left:4px;padding:3px 10px;position:relative;background:#edf1f4}.inbox-view-info button:hover{color:#94a4ab;background:#e7ebef}.inbox-view{color:#666;padding:15px 0 0}.inbox-view a{color:#169ce9}.inbox-attached{line-height:16px}.inbox-attached a{margin:0 2px}.inbox-attached span,.inbox-compose-btn button i{margin-right:3px}.inbox-attached img{height:auto;max-width:250px;margin-bottom:5px}.inbox-attached strong{color:#555;display:block;font-size:13px}.inbox-attached .margin-bottom-25{margin-bottom:25px}.inbox-attached .margin-bottom-15{margin-bottom:15px}.inbox-compose{margin-top:1px;border:1px solid #eee}.inbox-compose-btn{padding:8px 4px;background:#f0f6fa}.inbox-compose-attachment{padding:8px}.inbox-compose-attachment .btn{padding:4px 10px}.inbox-compose-btn button{color:#fff;font-size:14px;margin-left:4px;padding:4px 10px;background:#c0cfdd}.inbox-compose-btn button:hover{color:#fff;background:#4d90fe}.inbox-compose .inbox-form-group{margin-bottom:0;position:relative;border-bottom:solid 1px #eee}.inbox-compose .controls{margin-left:85px}.inbox-compose .inbox-form-group>label{width:80px;float:left;color:#979797;text-align:right}.inbox-compose .controls>input{border:none!important}.inbox-compose .controls-to{padding-right:55px}.inbox-compose .controls-bcc,.inbox-compose .controls-cc{padding-right:20px}.inbox-compose .inbox-form-group a.close{top:13px;right:10px;position:absolute}.inbox-compose .mail-to .inbox-cc-bcc{display:inline-block;top:7px;right:10px;color:#979797;font-size:14px;cursor:pointer;position:absolute}.inbox-compose .mail-to .inbox-bcc{margin-left:5px}.inbox-compose .mail-to inbox-bcc:hover,.inbox-compose .mail-to inbox-cc:hover{color:#777}.inbox-compose .wysihtml5{padding:0!important;margin:0!important;border:0!important}.inbox-compose .wysihtml5-sandbox{padding:0!important;margin:5px 0 0!important;display:block!important;border:0!important;width:100%!important;border-left:none;border-right:none}.inbox-compose .wysihtml5-toolbar{border:0;border-bottom:1px solid #eee}.inbox-compose .wysihtml5-toolbar>li{height:34px;margin-right:0;margin-bottom:0}.inbox-compose .wysihtml5-toolbar>li>a,.inbox-compose .wysihtml5-toolbar>li>div>a{background:#fff}.inbox-compose .wysihtml5-toolbar>li>a:hover,.inbox-compose .wysihtml5-toolbar>li>div>a:hover{background:#f1f1f1;border-radius:0}.inbox-compose .wysihtml5-toolbar .dropdown.open .dropdown-toggle,ul.wysihtml5-toolbar a.btn.wysihtml5-command-active{background:#eee!important}@media (max-width:480px){.inbox-compose .inbox-form-group>label{margin-top:7px}}#mailMessages::-webkit-scrollbar-track{background-color:#fff!important}#mailMessages::-webkit-scrollbar{width:5px}.inbox-editor{padding:10px;margin:0!important}blockquote{margin-top:20px;margin-left:10px;margin-bottom:20px;border-left:1px solid #666!important;padding-left:5px;display:block;opacity:.7;filter:alpha(opacity=70)}.wysiwyg-color-black{color:#000}.wysiwyg-color-silver{color:silver}.wysiwyg-color-gray{color:gray}.wysiwyg-color-white{color:#fff}.wysiwyg-color-maroon{color:maroon}.wysiwyg-color-red{color:red}.wysiwyg-color-purple{color:purple}.wysiwyg-color-fuchsia{color:#f0f}.wysiwyg-color-green{color:green}.wysiwyg-color-lime{color:#0f0}.wysiwyg-color-olive{color:olive}.wysiwyg-color-yellow{color:#ff0}.wysiwyg-color-navy{color:navy}.wysiwyg-color-blue{color:#00f}.wysiwyg-color-teal{color:teal}.wysiwyg-color-aqua{color:#0ff}.wysiwyg-color-orange{color:orange}.our-integrations h3{margin-bottom:0;padding:10px;background:#f9f9f9}.our-integrations small{display:block;font-size:12px;color:#999;margin-top:5px}.our-integrations .integration-info{padding:10px;overflow:hidden;background:#f5f5f5}.audio-portlet .audio-portlet-title{margin-bottom:0;padding:10px;background:#f9f9f9;font-size:17px;word-wrap:break-word;margin-top:20px;line-height:1.1;color:inherit;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.audio-portlet .audio-portlet-title a{display:block;word-wrap:break-word;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.audio-portlet .file-info{padding:10px;overflow:hidden;background:#f5f5f5;height:105px}.audio-portlet-wrapper{float:left;margin:0 0 0 20px;-webkit-animation:fadeInUpm .5s;animation:fadeInUpm .5s;-moz-transition:all .5s linear;-webkit-transition:all .5s linear;transition:all .5s linear}.animate-repeat{list-style:none;box-sizing:border-box}.animate-repeat.ng-enter,.animate-repeat.ng-leave,.animate-repeat.ng-move{-webkit-transition:all linear .5s;transition:all linear .5s}.animate-repeat.ng-enter,.animate-repeat.ng-leave.ng-leave-active,.animate-repeat.ng-move{opacity:0;max-height:0}.animate-repeat.ng-enter.ng-enter-active,.animate-repeat.ng-leave,.animate-repeat.ng-move.ng-move-active{opacity:1;max-height:600px}audio{-moz-transition:all .5s linear;-webkit-transition:all .5s linear;transition:all .5s linear;border-radius:0}@media (min-width:502px){.audio-portlet-wrapper{width:240px}.editable-error,audio{width:220px}}@media (max-width:501px){.audio-portlet-wrapper{width:320px}.editable-error,audio{width:300px}}.editable-error{white-space:pre-line}#description_div,.table-scrollable>.table>tbody>tr>th,.table-scrollable>.table>tfoot>tr>td,.table-scrollable>.table>tfoot>tr>th,.table-scrollable>.table>thead>tr>th{white-space:nowrap}#description_div{text-overflow:ellipsis;overflow:hidden;word-wrap:break-word}.portlet-title.collapsible{cursor:pointer}.group{background-color:#fff;padding:15px;border-radius:5px;border:1px solid #666}.group-conditions{margin-left:20px}.alert-group{margin-top:10px;margin-bottom:10px;border-color:#dcc896}.condition,.group{margin-top:15px;margin-bottom:15px}.ui-padding{padding-bottom:200px}div[contenteditable]{max-height:100px;overflow:auto;display:block;width:100%;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}a,button,code,div,img,input,label,li,p,pre,select,span,table,td,textarea,th,ul{-webkit-border-radius:0!important;-moz-border-radius:0!important;border-radius:0!important}.img-circle{border-radius:50%!important}.img-rounded{border-radius:6px!important}body{color:#333;font-family:"Open Sans",sans-serif;padding:0!important;margin:0!important;font-size:13px;direction:ltr}@-ms-viewport{width:device-width}@-o-viewport{width:device-width}@viewport{width:device-width}@-ms-viewport{width:auto!important}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background-color:#eaeaea;border-radius:0;box-shadow:none;border:0}::-webkit-scrollbar-thumb{background-color:#cecece;border-radius:0;box-shadow:none;border:0}::-webkit-scrollbar-thumb:hover{background-color:#aaa}.bars,.chart,.pie,.primary-font{font-family:"Open Sans",sans-serif!important}h1{font-size:33px}h2{font-size:27px}h3{font-size:23px}h4{font-size:17px}h5{font-size:13px}h6{font-size:12px}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#444}h1.block,h2.block,h3.block,h4.block,h5.block,h6.block{padding-top:10px;padding-bottom:10px}a{text-shadow:none;color:#5b9bd1}a:active,a:focus,a:hover{outline:0}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:0}.list-unstyled li>.list-unstyled{margin-left:25px}code{border:1px solid #e1e1e1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,.1);-moz-box-shadow:0 1px 4px rgba(0,0,0,.1);box-shadow:0 1px 4px rgba(0,0,0,.1)}.disabled-link .disable-target{opacity:.5!important;filter:alpha(opacity=50)!important}.disabled-link .disable-target:hover,.disabled-link:hover{cursor:not-allowed!important}a:hover{color:#3175af;cursor:pointer}.primary-link{color:#65A0D0;font-weight:600}.primary-link:hover{color:#5194ca}.rounded-2{border-radius:2px!important}.rounded-3{border-radius:3px!important}.rounded-4{border-radius:4px!important}.circle{border-radius:25px!important}.circle-right{border-radius:0 25px 25px 0!important}.circle-left{border-radius:25px 0 0 25px!important}.circle-bottom{border-radius:0 0 25px 25px!important}.circle-top{border-radius:25px 25px 0 0!important}.display-hide,.display-none{display:none}.hidden{display:none!important}.bold{font-weight:700!important}.thin{font-weight:300!important}.uppercase{text-transform:uppercase!important}.fix-margin{margin-left:0!important}.border{border:1px solid red}.font-hg{font-size:23px}.font-lg{font-size:18px}.font-md{font-size:14px}.font-sm{font-size:13px}.font-xs{font-size:11px}.inline{display:inline}.inline-block{display:inline-block}.text-align-reverse{text-align:right}.top-news a,.top-news span{text-align:left;display:block}.no-space{margin:0!important;padding:0!important}.no-margin{margin:0}.margin-bottom-5{margin-bottom:5px}.margin-bottom-10{margin-bottom:10px!important}.margin-top-10{margin-top:10px!important}.margin-top-15{margin-top:15px!important}.margin-bottom-15{margin-bottom:15px!important}.margin-bottom-20{margin-bottom:20px!important}.margin-top-20{margin-top:20px!important}.margin-bottom-25{margin-bottom:25px!important}.margin-bottom-30{margin-bottom:30px!important}.margin-right-10{margin-right:10px!important}.visible-ie8{display:none}.ie8 .visible-ie8{display:inherit!important}.visible-ie9{display:none}.ie9 .visible-ie9{display:inherit!important}.hidden-ie8{display:inherit}.ie8 .hidden-ie8{display:none!important}.hidden-ie9{display:inherit}.ie9 .hidden-ie9{display:none!important}@media (max-width:1024px){.hidden-1024{display:none}}@media (max-width:480px){.hidden-480{display:none}}@media (max-width:320px){.hidden-320{display:none}}.scrollspy-example{position:relative;height:200px;margin-top:10px;overflow:auto}.util-btn-group-margin-bottom-5 .btn-group,.util-btn-margin-bottom-5 .btn{margin-bottom:5px!important}.user-info{margin-bottom:10px!important}.user-info img{float:left;margin-right:5px}.number-stats .stat-left,.number-stats .stat-left .stat-chart{float:right}.user-info .details{display:inline-block}.user-info .label{font-weight:300;font-size:11px}.top-news{color:#fff;margin:8px 0}.top-news em{font-size:13px;margin-bottom:0;font-style:normal;display:block}.top-news em i{font-size:14px}.top-news span{font-size:18px;margin-bottom:5px}.top-news a{padding:10px;position:relative;margin-bottom:10px}.top-news a .top-news-icon{right:8px;bottom:15px;opacity:.3;font-size:35px;position:absolute;filter:alpha(opacity=30)}.blog-images{margin-bottom:0}.blog-images li{padding:0;margin:0;display:inline}.blog-images li a:hover{text-decoration:none}.blog-images li img{width:50px;height:50px;opacity:.6;margin:0 2px 8px}.blog-images li img:hover{opacity:1;box-shadow:0 0 0 4px #72c02c;transition:all .4s ease-in-out 0s;-moz-transition:all .4s ease-in-out 0s;-webkit-transition:all .4s ease-in-out 0s}.sidebar-tags li{padding:0}.sidebar-tags li a{color:#555;font-size:12px;padding:3px 5px;background:#f7f7f7;margin:0 2px 5px 0;display:inline-block}.sidebar-tags li a:hover,.sidebar-tags li a:hover i{background:#EEE;text-decoration:none;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.sidebar-tags li a i{color:#777}.ver-inline-menu{padding:0;margin:0;list-style:none}.ver-inline-menu li{position:relative;margin-bottom:1px}.ver-inline-menu li i{width:37px;height:37px;display:inline-block;color:#b9cbd5;font-size:15px;padding:12px 10px 10px 8px;margin:0 8px 0 0;text-align:center;background:#e0eaf0!important}.ver-inline-menu li a{font-size:14px;font-weight:300;color:#557386;display:block;background:#f0f6fa;border-left:solid 2px #c4d5df}.ver-inline-menu li:hover a{background:#e0eaf0;text-decoration:none}.ver-inline-menu li:hover i{color:#fff;background:#c4d5df!important}.ver-inline-menu li.active a{border-left:solid 2px #0c91e5}.ver-inline-menu li.active i{background:#0c91e5!important}.ver-inline-menu li.active a,.ver-inline-menu li.active i{color:#fff;background:#169ef4;text-decoration:none}.ver-inline-menu li.active a,.ver-inline-menu li:hover a{font-size:14px}.ver-inline-menu li.active:after{content:'';display:inline-block;border-bottom:6px solid transparent;border-top:6px solid transparent;border-left:6px solid #169ef4;position:absolute;top:12px;right:-5px}.list-separated{margin-top:10px;margin-bottom:15px}.list-separated>div{border-right1:1px solid #f5f5f5}.list-separated>div:last-child{border-right:0}@media (max-width:767px){.ver-inline-menu>li.active:after{display:none}.list-separated>div{margin-bottom:20px}}.number-stats{margin:10px 0}.number-stats .stat-number{display:inline-block;margin:0 5px}.number-stats .stat-number .title{font-size:13px;margin-bottom:3px;color:#B8C3C7}.number-stats .stat-number .number{font-size:27px;line-height:27px;color:#7D8C9D}.number-stats>div{border-right:1px solid #f5f5f5}.number-stats>div:last-child{border-right:0}.number-stats .stat-left .stat-number{float:right;text-align:right}.number-stats .stat-right{float:left!important}.number-stats .stat-right .stat-number{float:left;text-align:left}.number-stats .stat-right .stat-chart{float:left}.number-stats .stat-number{float:left;text-align:left}.number-stats .stat-chart{display:inline-block;margin:0 5px;float:left}.general-item-list>.item{padding:10px 0;border-bottom:1px solid #F1F4F7}.general-item-list>.item:last-child{border-bottom:0}.general-item-list>.item>.item-head{margin-bottom:5px}.general-item-list>.item>.item-head:after,.general-item-list>.item>.item-head:before{content:" ";display:table}.general-item-list>.item>.item-head>.item-details{display:inline-block;float:left}.general-item-list>.item>.item-head>.item-details>.item-pic{height:35px;margin-right:10px;-webkit-border-radius:100%;-moz-border-radius:100%;-ms-border-radius:100%;-o-border-radius:100%;border-radius:100%}.general-item-list>.item>.item-head>.item-details>.item-name{display:inline-block;margin-right:10px}.general-item-list>.item>.item-head>.item-details>.item-label{color:#C0C9CC}.general-item-list>.item>.item-head>.item-status{color:#C0C9CC;top:10px;position:relative;display:inline-block;float:right}.general-item-list>.item>.item-head>.item-status>.badge{margin-top:-2px}.general-item-list>.item>.item-body{color:#96a5aa}.file-drop-zone{border:2px dashed #ddd;padding:30px;text-align:center}.file-drop-zone.file-drop-zone-over{border-color:#aaa}[class*=" fa-"],[class*=" glyphicon-"],[class*=" icon-"],[class^=fa-],[class^=glyphicon-],[class^=icon-]{display:inline-block;margin-top:1px;font-size:14px;line-height:14px;-webkit-font-smoothing:antialiased}li [class*=" fa-"],li [class*=" glyphicon-"],li [class*=" icon-"],li [class^=fa-],li [class^=glyphicon-],li [class^=icon-]{display:inline-block;width:1.25em;text-align:center}li [class*=" glyphicon-"],li [class^=glyphicon-]{top:2px}li [class*=" icon-"],li [class^=icon-]{top:1px;position:relative}li [class*=" fa-"].icon-large,li [class*=" glyphicon-"].icon-large,li [class*=" icon-"].icon-large,li [class^=fa-].icon-large,li [class^=glyphicon-].icon-large,li [class^=icon-].icon-large{width:1.5625em}.fa-sm,.icon-sm{font-size:12px}.fa-lg,.icon-lg{font-size:16px!important}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.icon-state-default{color:#c6c6c6}.icon-state-success{color:#45B6AF}.icon-state-info{color:#89C4F4}.icon-state-warning{color:#dfba49}.icon-state-danger{color:#F3565D}.fa-item{font-size:14px;padding:10px 10px 10px 20px}.fa-item i{font-size:16px;display:inline-block;width:20px;color:#333}.fa-item:hover{cursor:pointer;background:#eee}.badge-danger,.badge-default,.badge-info,.badge-primary,.badge-success,.badge-warning{background-image:none}.simplelineicons-demo .item-box{display:inline-block;font-size:16px;margin:0 -.22em 1em 0;padding-left:1em;width:100%}.simplelineicons-demo .item-box .item{background-color:#fff;color:#33383e;border-radius:8px;display:inline-block;padding:10px;width:100%}.bs-glyphicons,.glyphicons-demo ul{padding-left:0;padding-bottom:1px;margin-bottom:20px;overflow:hidden;list-style:none}.simplelineicons-demo .item-box .item span{font-size:22px}@media only screen and (min-width:768px){.simplelineicons-demo .item-box{width:33.333%}}.bs-glyphicon-class{text-align:center}.glyphicons-demo ul li{float:left;width:25%;height:115px;padding:10px;margin:0 -1px -1px 0;font-size:14px;line-height:1.4;text-align:center;border:1px solid #ddd}.glyphicons-demo .glyphicon{display:block;margin:5px auto 10px;font-size:24px;color:#444}.glyphicons-demo ul li:hover{background-color:rgba(86,61,124,.1)}.badge-default,.label-default{background-color:#c6c6c6}@media (min-width:768px){.glyphicons-demo ul li{width:12.5%}}.alert.alert-borderless{border:0}.badge{font-size:11px!important;font-weight:300;height:18px;padding:3px 6px;-webkit-border-radius:12px!important;-moz-border-radius:12px!important;border-radius:12px!important;text-shadow:none!important;text-align:center}.badge.badge-roundless{-webkit-border-radius:0!important;-moz-border-radius:0!important;border-radius:0!important}.badge.badge-empty{display:inline-block;padding:0;min-width:8px;height:8px;width:8px}.badge-primary{background-color:#428bca}.badge-info{background-color:#89C4F4}.badge-success{background-color:#45B6AF}.badge-danger{background-color:#F3565D}.badge-warning{background-color:#dfba49}.nav.nav-pills>li>a>.badge,.nav.nav-stacked>li>a>.badge{margin-top:-2px}.dropdown-menu>li>a>.badge{position:absolute;margin-top:1px;right:3px;display:inline;font-size:11px;font-weight:300;text-shadow:none;height:18px;padding:3px 6px;text-align:center;vertical-align:middle;-webkit-border-radius:12px!important;-moz-border-radius:12px!important;border-radius:12px!important}.btn,.btn>i{font-size:14px}.dropdown-menu.badge-roundless{-webkit-border-radius:0!important;-moz-border-radius:0!important;border-radius:0!important}.btn{border-width:0;padding:7px 14px;outline:0!important;background-image:none!important;filter:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;text-shadow:none}.btn-group .btn.dropdown-toggle,.btn.active,.btn.dropdown-toggle,.btn:active,.btn:disabled,.btn:focus,.btn:hover,.btn[disabled]{outline:0!important;background-image:none!important;filter:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;text-shadow:none}.btn-default{border-width:1px;padding:6px 13px;color:#333;background-color:#fff;border-color:#ccc}.btn-block{display:block;width:100%;padding-left:0;padding-right:0}.btn-default.active,.btn-default:active,.btn-default:focus,.btn-default:hover,.open .btn-default.dropdown-toggle{color:#333;background-color:#ededed;border-color:#b3b3b3}.btn-default.active,.btn-default:active{background-image:none;background-color:#e0e0e0}.btn-default.active:hover,.btn-default:active:hover{background-color:#e6e6e6}.open .btn-default.dropdown-toggle{background-image:none}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-default>i{color:#aaa}.btn-default>i[class*=icon-],.btn-default>i[class^=icon-]{color:#8c8c8c}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .btn-primary.dropdown-toggle{color:#fff;background-color:#3379b5;border-color:#2a6496}.btn-primary.active,.btn-primary:active{background-image:none;background-color:#2d6ca2}.btn-primary.active:hover,.btn-primary:active:hover{background-color:#3071a9}.open .btn-primary.dropdown-toggle{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#45B6AF;border-color:#3ea49d}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .btn-success.dropdown-toggle{color:#fff;background-color:#3b9c96;border-color:#307f7a}.btn-success.active,.btn-success:active{background-image:none;background-color:#348a84}.btn-success.active:hover,.btn-success:active:hover{background-color:#37918b}.open .btn-success.dropdown-toggle{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#45B6AF;border-color:#3ea49d}.btn-success .badge{color:#45B6AF;background-color:#fff}.btn-info{color:#fff;background-color:#89C4F4;border-color:#72b8f2}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .btn-info.dropdown-toggle{color:#fff;background-color:#68b4f1;border-color:#43a1ed}.btn-info.active,.btn-info:active{background-image:none;background-color:#51a8ef}.btn-info.active:hover,.btn-info:active:hover{background-color:#5aadf0}.open .btn-info.dropdown-toggle{background-image:none}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#89C4F4;border-color:#72b8f2}.btn-info .badge{color:#89C4F4;background-color:#fff}.btn-warning{color:#fff;background-color:#dfba49;border-color:#dbb233}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .btn-warning.dropdown-toggle{color:#fff;background-color:#daae2b;border-color:#bb9521}.btn-warning.active,.btn-warning:active{background-image:none;background-color:#c89f23}.btn-warning.active:hover,.btn-warning:active:hover{background-color:#d0a625}.open .btn-warning.dropdown-toggle{background-image:none}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#dfba49;border-color:#dbb233}.btn-warning .badge{color:#dfba49;background-color:#fff}.btn-danger{color:#fff;background-color:#F3565D;border-color:#f13e46}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .btn-danger.dropdown-toggle{color:#fff;background-color:#f1353d;border-color:#ec111b}.btn-danger.active,.btn-danger:active{background-image:none;background-color:#ef1d26}.btn-danger.active:hover,.btn-danger:active:hover{background-color:#f0262f}.open .btn-danger.dropdown-toggle{background-image:none}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#F3565D;border-color:#f13e46}.btn-danger .badge{color:#F3565D;background-color:#fff}.btn-lg,.btn-lg>i{font-size:18px}.btn-lg{padding:10px 16px;line-height:1.33}.btn-sm,.btn-xs{padding:4px 10px 5px;font-size:13px;line-height:1.5}.btn-sm>i,.btn-xs>i{font-size:13px}.btn-xs{padding:1px 5px}.btn-group .input-sm .btn-default{padding-top:3px;padding-bottom:3px}.btn-arrow-link{display:inline-block;font-size:13px}.btn-arrow-link>i{font-size:14px;line-height:14px;vertical-align:top;margin:2px 3px;color:#999}.btn-arrow-link.btn-arrow-link-lg{font-size:14px}.btn-arrow-link.btn-arrow-link-lg>i{font-size:16px;line-height:16px;margin:2px 3px 1px}.btn-circle{border-radius:25px!important}.btn-circle-right{border-radius:0 25px 25px 0!important}.btn-circle-left{border-radius:25px 0 0 25px!important}.btn-circle-bottom{border-radius:0 0 25px 25px!important}.btn-circle-top{border-radius:25px 25px 0 0!important}.btn-icon-only{height:34px;width:34px;text-align:center;padding-left:0;padding-right:0}.btn-icon-only>[class^=icon-],.btn-icon-only>i{text-align:center;margin-top:2px}.btn-sm>[class*=" glyphicon-"],.btn-sm>[class^=glyphicon-],.btn-sm>i{font-size:13px}.btn-xs>[class*=" glyphicon-"],.btn-xs>[class^=glyphicon-],.btn-xs>i{font-size:11px}.btn-group.btn-group-circle>.btn:first-child{border-radius:25px 0 0 25px!important}.btn-group.btn-group-circle>.btn:last-child{border-radius:0 25px 25px 0!important}.btn-group.btn-group-devided>.btn{margin-right:5px}.btn-group.btn-group-devided>.btn:last-child{margin-right:0}.btn-group-vertical.btn-group-vertical-circle>.btn:first-child{border-radius:25px 25px 0 0!important}.btn-group-vertical.btn-group-vertical-circle>.btn:last-child{border-radius:0 0 25px 25px!important}.carousel.image-carousel .carousel-inner{padding-top:0;padding-bottom:0}.carousel.image-carousel .carousel-control i{position:absolute;top:40%}.carousel.image-carousel.image-carousel-hoverable .carousel-control i{display:none}.carousel.image-carousel.image-carousel-hoverable:hover .carousel-control i{display:inline-block}.carousel.image-carousel .carousel-control.left i{left:10px}.carousel.image-carousel .carousel-control.right i{right:10px}.carousel.image-carousel .carousel-indicators{margin-top:10px;bottom:-7px}.carousel.image-carousel .carousel-indicators li,.carousel.image-carousel .carousel-indicators li.active{background-color:#666}.carousel.image-carousel .carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px 15px 25px;background:#333;background:rgba(0,0,0,.75)}.carousel.image-carousel .carousel-caption h2,.carousel.image-carousel .carousel-caption h3,.carousel.image-carousel .carousel-caption h4,.carousel.image-carousel .carousel-caption p{text-align:left;line-height:20px;color:#fff}.carousel.image-carousel .carousel-caption h2,.carousel.image-carousel .carousel-caption h3,.carousel.image-carousel .carousel-caption h4{margin:0 0 5px}.carousel.image-carousel .carousel-caption h2 a,.carousel.image-carousel .carousel-caption h3 a,.carousel.image-carousel .carousel-caption h4 a{color:#aaa}.carousel.image-carousel .carousel-caption p{margin-bottom:0}.carousel.image-carousel .carousel-caption .item{margin:0}.bars,.chart,.pie{overflow:hidden;height:300px;width:100%;font-size:14px}.item-list.table .percent{width:30px;float:right;margin-right:10px;margin-top:3px}.chart-tooltip{z-index:100;background-color:#736e6e!important;padding:5px!important;color:#fff}.chart-tooltip .label{display:block;margin-bottom:2px}.bar-chart,.line-chart{display:none}.chats{margin:-15px 0 0;padding:0}.chats li{list-style:none;padding:5px 0;margin:10px auto;font-size:12px}.chats li .body{display:block}.chats li .avatar{height:45px;width:45px;-webkit-border-radius:50%!important;-moz-border-radius:50%!important;border-radius:50%!important}.chats li.in .avatar{float:left;margin-right:10px}.chats li.out .avatar{float:right;margin-left:10px}.chats li .name{color:#3590c1;font-size:13px;font-weight:400}.chats li .datetime{color:#333;font-size:13px;font-weight:400}.chats li .message{border-radius:5px!important;-webkit-border-readius:5px!important;-moz-border-radius:5px!important;display:block;padding:5px 20px;position:relative}.chats li.in .message{text-align:left;border:2px solid #E9E9E9;margin-left:65px;box-shadow:0 5px 10px #777}.chats li.in .message .arrow{display:block;position:absolute;top:15px;left:-8px;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-right:8px solid #e9e9e9}.chats li.out .message{border:2px solid #DFEECF;margin-right:65px;margin-left:5px;box-shadow:0 5px 10px #777}.chats li.out .message .arrow{display:block;position:absolute;top:15px;right:-8px;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:8px solid #DFEECF}.chats li.out .datetime,.chats li.out .name{text-align:right}.chat-form{margin-top:15px;padding:10px;background-color:#e9eff3;overflow:hidden}.chat-form .input-cont{margin-right:40px}.chat-form .input-cont .form-control{border:1px solid #ddd;width:100%!important;margin-top:0;background-color:#fff!important}.chat-form .input-cont .form-control:focus{border:1px solid #4b8df9!important}.chat-form .btn-cont{margin-top:-42px;position:relative;float:right;width:44px}.chat-form .btn-cont .arrow{position:absolute;top:17px;right:43px;border-top:8px solid transparent;border-bottom:8px solid transparent;border-right:8px solid #4d90fe;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.chat-form .btn-cont .btn{margin-top:8px}.chat-form .btn-cont:hover .arrow{border-right-color:#0362fd}.chat-form .btn-cont:hover .btn{background-color:#0362fd}.close{display:inline-block;margin-top:0;margin-right:0;width:9px;height:9px;background-repeat:no-repeat!important;text-indent:-10000px;outline:0;background-image:url(../../assets/images/remove-icon-small.png)!important}.dropdown.open>.dropdown-toggle,.dropup.open>.dropdown-toggle{border-color:#ddd}.dropdown-menu{min-width:175px;position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;list-style:none;text-shadow:none;padding:0;margin:10px 0 0;background-color:#fffff;box-shadow:5px 5px rgba(102,102,102,.1);border:1px solid #eee;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.dropdown-menu li.divider{background:#f1f3f6}.dropdown-menu li>a{padding:8px 14px;color:#555;text-decoration:none;display:block;font-weight:300;line-height:18px;white-space:nowrap}.dropdown-menu li>a>[class*=" fa-"],.dropdown-menu li>a>[class^=fa-]{color:#888}.dropdown-menu li>a>[class*=" icon-"],.dropdown-menu li>a>[class^=icon-]{color:#666}.dropdown-menu li>a>[class*=" glyphicon-"],.dropdown-menu li>a>[class^=glyphicon-]{color:#888}.dropdown-menu .active>a,.dropdown-menu .active>a:hover,.dropdown-menu li>a:hover{text-decoration:none;background-image:none;background-color:#f6f6f6;color:#555;filter:none}.dropdown-menu.bottom-up{top:auto;bottom:100%;margin-bottom:2px}.btn-group>.dropdown-menu,.dropdown-toggle>.dropdown-menu,.dropdown>.dropdown-menu{margin-top:10px}.btn-group>.dropdown-menu:before,.dropdown-toggle>.dropdown-menu:before,.dropdown>.dropdown-menu:before{position:absolute;top:-8px;left:9px;right:auto;display:inline-block!important;border-right:8px solid transparent;border-bottom:8px solid #e0e0e0;border-left:8px solid transparent;content:''}.btn-group>.dropdown-menu:after,.dropdown-toggle>.dropdown-menu:after,.dropdown>.dropdown-menu:after{position:absolute;top:-7px;left:10px;right:auto;display:inline-block!important;border-right:7px solid transparent;border-bottom:7px solid #fff;border-left:7px solid transparent;content:''}.btn-group>.dropdown-menu.pull-left:before,.dropdown-toggle>.dropdown-menu.pull-left:before,.dropdown>.dropdown-menu.pull-left:before{left:auto;right:9px}.btn-group>.dropdown-menu.pull-left:after,.dropdown-toggle>.dropdown-menu.pull-left:after,.dropdown>.dropdown-menu.pull-left:after{left:auto;right:10px}.btn-group>.dropdown-menu.pull-right:before,.dropdown-toggle>.dropdown-menu.pull-right:before,.dropdown>.dropdown-menu.pull-right:before{left:auto;right:9px}.btn-group>.dropdown-menu.pull-right:after,.dropdown-toggle>.dropdown-menu.pull-right:after,.dropdown>.dropdown-menu.pull-right:after{left:auto;right:10px}.btn-group.dropup>.dropdown-menu,.dropdown-toggle.dropup>.dropdown-menu,.dropdown.dropup>.dropdown-menu{margin-top:0;margin-bottom:10px}.btn-group.dropup>.dropdown-menu:after,.btn-group.dropup>.dropdown-menu:before,.dropdown-toggle.dropup>.dropdown-menu:after,.dropdown-toggle.dropup>.dropdown-menu:before,.dropdown.dropup>.dropdown-menu:after,.dropdown.dropup>.dropdown-menu:before{display:none!important}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:5px;left:100%;margin-top:-6px;margin-left:-1px}.dropdown-submenu>a:after{position:absolute;display:inline-block;font-size:14px;right:7px;top:7px;font-family:FontAwesome;height:auto;content:"\f105";font-weight:300}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px}.nav.pull-right>li>.dropdown-menu,.nav>li>.dropdown-menu.pull-right{right:0;left:auto}.nav.pull-right>li>.dropdown-menu:before,.nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.nav.pull-right>li>.dropdown-menu:after,.nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.nav.pull-right>li>.dropdown-menu .dropdown-menu,.nav>li>.dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:absolute;float:left;width:auto;margin-top:0;background-color:#fff;border:1px solid #efefef;box-shadow:5px 5px rgba(102,102,102,.1)}.navbar-nav .open .dropdown-menu>li>a{padding:6px 0 6px 13px;color:#333}.navbar-nav .open .dropdown-menu>li>a:active,.navbar-nav .open .dropdown-menu>li>a:hover{ackground-color:#eee}}.feeds li .col1,.feeds li .col1>.cont>.cont-col2{width:100%;float:left}.dropdown-checkboxes,.dropdown-content,.dropdown-radiobuttons{padding:5px}.dropdown-content form{margin:0}.dropdown.inline .dropdown-menu{display:inline-block;position:relative}.dropdown-checkboxes label,.dropdown-radiobuttons label{display:block;font-weight:300;color:#333;margin-bottom:4px;margin-top:4px}.dropdown-checkboxes label .radio,.dropdown-radiobuttons label .radio{margin-right:3px}.feeds{margin:0;padding:0;list-style:none}.feeds li{background-color:#fafafa;color:#82949a;margin-bottom:7px}.feeds li:after,.feeds li:before{display:table;line-height:0;content:""}.feeds li:last-child{margin-bottom:0}.feeds li .col1>.cont{float:left;margin-right:75px;overflow:hidden}.feeds li .col1>.cont>.cont-col1{float:left;margin-right:-100%}.feeds li .col1>.cont>.cont-col1>.label{display:inline-block;padding:5px 4px 6px 5px;vertical-align:middle;text-align:center}.feeds li .col1>.cont>.cont-col1>.label>i{text-align:center;font-size:14px}.feeds li .col1>.cont>.cont-col2>.desc{margin-left:35px;padding-top:4px;padding-bottom:5px;overflow:hidden}.modal,.modal-open{overflow-y:auto!important}.feeds li .col2{float:left;width:75px;margin-left:-75px}.feeds li .col2>.date{padding:4px 9px 5px 4px;text-align:right;font-style:italic;color:#c1cbd0}.static-info{margin-bottom:10px}.static-info .name{font-size:14px}.static-info .value{font-size:14px;font-weight:600}.static-info.align-reverse .name,.static-info.align-reverse .value{text-align:right}.help-block{margin-top:5px;margin-bottom:5px}.help-inline{font-size:13px;color:#737373;display:inline-block;padding:5px}.form-inline input{margin-bottom:0!important}.control-label{margin-top:1px}.control-label .required{color:#e02222;font-size:12px;padding-left:2px}.form{padding:0!important}.form .form-body{padding:10px}.portlet.light .form .form-body{padding-left:0;padding-right:0}.form .form-actions{padding:20px 10px;margin:0;background-color:#f5f5f5;border-top:1px solid #e5e5e5}.portlet.light .form .form-actions{background:0 0;padding-left:0;padding-right:0}.portlet .form .form-actions{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;-ms-border-radius:0 0 4px 4px;-o-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.form .form-actions:after,.form .form-actions:before{content:" ";display:table}.form .form-actions.right{padding-left:0;padding-right:10px;text-align:right}.portlet.light .form .form-actions.right{padding-right:0}.form .form-actions.left{padding-left:10px;padding-right:0;text-align:left}.checkbox-list>label.checkbox-inline:first-child,.checkbox>label,.form-horizontal .checkbox>label,.portlet.light .form .form-actions.left,.radio-list>label.radio-inline:first-child{padding-left:0}.form .form-actions.nobg{background-color:transparent}.form .form-actions.top{margin-top:0;margin-bottom:20px;border-top:0;border-bottom:1px solid #e5e5e5}.portlet.light .form .form-actions.top{background:0 0}.form .form-actions .btn-set{display:inline-block}@media (max-width:767px){.form .form-actions .btn-set{margin-bottom:3px;margin-top:3px;float:left!important}}.form .form-section{margin:30px 0 25px;padding-bottom:5px;border-bottom:1px solid #eee}.form .form-bordered .form-group .help-block,.form .form-row-seperated .form-group .help-block,.form-horizontal .radio-list>label{margin-bottom:0}.form .form-section:first-child{margin-top:5px}.checkbox,.form-horizontal .checkbox{padding:0}.checkbox-list>label{display:block}.checkbox-list>label.checkbox-inline{display:inline-block}.input-icon>i,.radio-list>label{display:block}.form-control-static,.icon-btn,.input-inline,.radio-list>label.radio-inline{display:inline-block}.form-horizontal .radio-list .radio{padding-top:1px}.form-horizontal .radio>span{margin-top:2px}.form .form-row-seperated .portlet-body{padding:0}.form .form-row-seperated .form-group{margin:0;border-bottom:1px solid #efefef;padding:15px 0}.form .form-row-seperated .form-group.last{border-bottom:0;margin-bottom:0;padding-bottom:13px}.form .form-row-seperated .form-body{padding:0}.form .form-row-seperated .form-actions{padding-left:15px!important;padding-right:15px!important}.form .form-bordered .form-group{margin:0;border-bottom:1px solid #efefef}.form .form-bordered .form-group>div{padding:15px;border-left:1px solid #efefef}.form .form-bordered .form-group.last{border-bottom:0}.form .form-bordered .form-group .control-label{padding-top:20px}@media (max-width:991px){.form .form-bordered .form-group>div{border-left:0}.form .form-bordered .form-group .control-label{padding-top:10px}}.form .form-bordered .form-group .form-control{margin:0}.form .form-bordered .form-body{margin:0;padding:0}.form .form-bordered .form-actions{margin-top:0;padding-left:16px!important;padding-right:16px!important}@media (max-width:991px){.form .form-bordered .form-actions{padding-left:15px!important;padding-right:15px!important}}.form .form-horizontal.form-bordered.form-row-stripped .form-group:nth-child(even){background-color:#fcfcfc}.form .form-horizontal.form-bordered.form-row-stripped .form-control{background:#fff!important}.form .form-horizontal.form-bordered.form-label-stripped .form-group:nth-child(even)>div{background-color:#fff}.form .form-horizontal.form-bordered.form-label-stripped .form-group:nth-child(even){background-color:#fcfcfc}.form-control::-moz-placeholder{color:#b3b3b3;opacity:1}.form-control:-ms-input-placeholder{color:#b3b3b3}.form-control::-webkit-input-placeholder{color:#b3b3b3}.form-control{font-size:14px;font-weight:400;color:#333;background-color:#fff;border:1px solid #e5e5e5;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#999;outline:0;-webkit-box-shadow:none;box-shadow:none}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}.form-control.height-auto{height:auto}.form-control.form-control-solid{background-color:#F1F3F8;border-color:#F1F3F8;color:#A6B2BA}.note .highlight,.note code,.uneditable-input{background-color:#fff}.form-control.form-control-solid:focus{border-color:#e3e7f1}.form-control.form-control-solid::-moz-placeholder{color:#acb7be;opacity:1}.form-control.form-control-solid:-ms-input-placeholder{color:#acb7be}.form-control.form-control-solid::-webkit-input-placeholder{color:#acb7be}.uneditable-input{padding:6px 12px;min-width:206px;font-size:14px;font-weight:400;height:34px;color:#333;border:1px solid #e5e5e5;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.icon-btn,.icon-btn:hover{-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-ms-transition:all .3s ease;-o-transition:all .3s ease}.input-mini{width:45px!important}.input-xsmall{width:80px!important}.input-small{width:145px!important}.input-medium{width:240px!important}.input-large{width:320px!important}.input-xlarge{width:420px!important}.input-inline{width:auto;vertical-align:middle}.form-group .input-inline{margin-right:5px}.input-sm{height:28px;padding:5px 10px;font-size:13px}select.input-sm{height:28px;line-height:28px;padding:2px 10px}@media (max-width:768px){.input-large{width:250px!important}.input-xlarge{width:300px!important}}.input-group .btn-default{border-color:#e5e5e5}.input-group .input-group-addon{border-color:#e5e5e5;background:#e5e5e5;min-width:39px}.input-group .input-group-addon>i{color:#999}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .form-control-feedback,.has-success .help-block,.has-success .help-inline,.has-success .radio,.has-success .radio-inline{color:#3c763d}input[type=text].spinner,input[type=password].spinner,input[type=datetime].spinner,input[type=datetime-local].spinner,input[type=date].spinner,input[type=month].spinner,input[type=time].spinner,input[type=week].spinner,input[type=number].spinner,input[type=email].spinner,input[type=url].spinner,input[type=search].spinner,input[type=tel].spinner,input[type=color].spinner{background-image:url(../../assets/images/input-spinner.gif)!important;background-repeat:no-repeat;background-position:right 8px}label{font-weight:400;font-size:14px}.form-control-static{margin:2px 0}.has-success .form-control{border-color:#d6e9c6;-webkit-box-shadow:none;box-shadow:none}.has-success .form-control:focus{border-color:#bbdba1;-webkit-box-shadow:none;box-shadow:none}.has-success .input-group-addon{color:#3c763d;border-color:#d6e9c6;background-color:#dff0d8}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .form-control-feedback,.has-warning .help-block,.has-warning .help-inline,.has-warning .radio,.has-warning .radio-inline{color:#8a6d3b}.has-warning .form-control{border-color:#faebcc;-webkit-box-shadow:none;box-shadow:none}.has-warning .form-control:focus{border-color:#f5d89e;-webkit-box-shadow:none;box-shadow:none}.has-warning .input-group-addon{color:#8a6d3b;border-color:#faebcc;background-color:#fcf8e3}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .form-control-feedback,.has-error .help-block,.has-error .help-inline,.has-error .radio,.has-error .radio-inline{color:#a94442}.has-error .form-control{border-color:#ebccd1;-webkit-box-shadow:none;box-shadow:none}.has-error .form-control:focus{border-color:#dca7b0;-webkit-box-shadow:none;box-shadow:none}.has-error .input-group-addon{color:#a94442;border-color:#ebccd1;background-color:#f2dede}.input-circle{border-radius:25px!important}.input-circle-right{border-radius:0 25px 25px 0!important}.input-circle-left{border-radius:25px 0 0 25px!important}.input-circle-bottom{border-radius:0 0 25px 25px!important}.input-circle-top{border-radius:25px 25px 0 0!important}.icon-btn{height:60px;min-width:80px;margin:5px 5px 0 0;border:1px solid #ddd;padding:12px 0 0;background-color:#fafafa;background-image:none;filter:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;color:#646464;text-shadow:none;text-align:center;cursor:pointer;position:relative;transition:all .3s ease}.loading-message,.page-loading{min-width:125px;vertical-align:middle}[class^=m-icon-],[class^=m-icon-big-]{background-image:url(../../assets/images/syncfusion-icons.png);background-position:0 0;background-repeat:no-repeat}.icon-btn:hover,.icon-btn:hover>.badge{-webkit-box-shadow:none;-moz-box-shadow:none}.close,.icon-btn:hover{text-shadow:0 1px 0 #fff}.icon-btn:hover{text-decoration:none;border-color:#999;color:#444;transition:all .3s ease;box-shadow:none}.icon-btn:hover>.badge{-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-ms-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease;box-shadow:none}.icon-btn>div{margin-top:5px;margin-bottom:20px;color:#000;font-size:12px;font-weight:300}.icon-btn>.badge{position:absolute;font-size:11px;font-weight:300;top:-5px;right:-5px;padding:3px 6px;color:#fff;text-shadow:none;border-width:0;border-style:solid;-webkit-border-radius:12px;-moz-border-radius:12px;border-radius:12px;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.input-group .input-icon>.form-control,.tabs-left.nav-tabs>li>a:focus,.tabs-left.nav-tabs>li>a:hover{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;-ms-border-radius:4px 0 0 4px;-o-border-radius:4px 0 0 4px}.icon-btn>i{font-size:18px}.ie8 .icon-btn:hover{filter:none}.input-icon{position:relative}.input-icon>.form-control{padding-left:33px}.input-group .input-icon>.form-control{border-radius:4px 0 0 4px}.input-icon>i{color:#ccc;position:absolute;margin:11px 2px 4px 10px;z-index:3;width:16px;height:16px;font-size:16px;text-align:center}.modal .input-icon>i{z-index:10055}.has-success .input-icon>i{color:#45B6AF}.has-warning .input-icon>i{color:#dfba49}.has-info .input-icon>i{color:#89C4F4}.has-error .input-icon>i{color:#F3565D}.input-icon.right>.form-control{padding-right:33px;padding-left:12px}.input-group .input-icon.right>.form-control{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;-ms-border-radius:0 4px 4px 0;-o-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-icon.right>i{right:8px;float:right}.input-icon.input-icon-lg>i{margin-top:16px}.input-icon.input-icon-sm>i{margin-top:8px;font-size:13px}.label{text-shadow:none!important;font-size:13px;font-weight:300;padding:3px 6px;color:#fff;font-family:"Open Sans",sans-serif}.label.label-sm{font-size:12px;padding:0 4px 1px}h1 .label,h2 .label,h3 .label,h4 .label,h5 .label,h6 .label{font-size:75%}.label-default[href]:focus,.label-default[href]:hover{background-color:#adadad}.label-primary{background-color:#428bca}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#3071a9}.label-success{background-color:#45B6AF}.label-success[href]:focus,.label-success[href]:hover{background-color:#37918b}.label-info{background-color:#89C4F4}.label-info[href]:focus,.label-info[href]:hover{background-color:#5aadf0}.label-warning{background-color:#dfba49}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#d0a625}.label-danger{background-color:#F3565D}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#f0262f}.label.label-icon{padding:4px 0 4px 4px;margin-right:2px;text-align:center!important}.label.label-icon>i{font-size:12px;text-align:center!important}.note p,.page-loading,.panel .panel-body{font-size:13px}.ie8 .label.label-icon,.ie9 .label.label-icon{padding:3px 0 3px 3px}.text-default{color:#c6c6c6}.text-primary{color:#428bca}.text-success{color:#45B6AF}.text-info{color:#89C4F4}.text-warning{color:#dfba49}.text-danger{color:#F3565D}.list-group .list-group-item-success{color:#3c763d;background-color:#dff0d8}.list-group a.list-group-item-success{color:#3c763d}.list-group a.list-group-item-success .list-group-item-heading{color:inherit}.list-group a.list-group-item-success:focus,.list-group a.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}.list-group a.list-group-item-success.active,.list-group a.list-group-item-success.active:focus,.list-group a.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group .list-group-item-info{color:#31708f;background-color:#d9edf7}.list-group a.list-group-item-info{color:#31708f}.list-group a.list-group-item-info .list-group-item-heading{color:inherit}.list-group a.list-group-item-info:focus,.list-group a.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}.list-group a.list-group-item-info.active,.list-group a.list-group-item-info.active:focus,.list-group a.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group .list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}.list-group a.list-group-item-warning{color:#8a6d3b}.list-group a.list-group-item-warning .list-group-item-heading{color:inherit}.list-group a.list-group-item-warning:focus,.list-group a.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}.list-group a.list-group-item-warning.active,.list-group a.list-group-item-warning.active:focus,.list-group a.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group .list-group-item-danger{color:#a94442;background-color:#f2dede}.list-group a.list-group-item-danger{color:#a94442}.list-group a.list-group-item-danger .list-group-item-heading{color:inherit}.list-group a.list-group-item-danger:focus,.list-group a.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}.list-group a.list-group-item-danger.active,.list-group a.list-group-item-danger.active:focus,.list-group a.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.loading-message{display:inline-block;padding:10px;margin:0 auto;color:#000!important;font-size:13px;font-weight:400;text-align:center}.loading-message.loading-message-boxed{border:1px solid #ddd;background-color:#eee;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 8px rgba(0,0,0,.1);-moz-box-shadow:0 1px 8px rgba(0,0,0,.1);box-shadow:0 1px 8px rgba(0,0,0,.1)}.loading-message>span{line-height:20px;vertical-align:middle}.page-loading{-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px;position:fixed;top:50%;left:50%;margin-left:-60px;margin-top:-30px;padding:7px;text-align:center;color:#333;border:1px solid #ddd;background-color:#eee;-webkit-box-shadow:0 1px 8px rgba(0,0,0,.1);-moz-box-shadow:0 1px 8px rgba(0,0,0,.1);box-shadow:0 1px 8px rgba(0,0,0,.1)}.block-spinner-bar>div,.page-spinner-bar>div{border-radius:100%!important;display:inline-block}.panel,.well{-webkit-box-shadow:none!important}.page-loading>span{line-height:20px;vertical-align:middle}.page-spinner-bar{position:fixed;z-index:10051;width:100px;top:40%;left:50%;margin-left:-55px;text-align:center}.page-spinner-bar>div{margin:0 5px;width:18px;height:18px;-webkit-animation:bounceDelay 1.4s infinite ease-in-out;animation:bounceDelay 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.page-spinner-bar .bounce1{-webkit-animation-delay:-.32s;animation-delay:-.32s}.page-spinner-bar .bounce2{-webkit-animation-delay:-.16s;animation-delay:-.16s}.block-spinner-bar{display:inline-block;width:80px;text-align:center}.block-spinner-bar>div{margin:0 2px;width:15px;height:15px;-webkit-animation:bounceDelay 1.4s infinite ease-in-out;animation:bounceDelay 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.note,.tabs-right.nav-tabs>li>a:focus,.tabs-right.nav-tabs>li>a:hover{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;-ms-border-radius:0 4px 4px 0;-o-border-radius:0 4px 4px 0}.block-spinner-bar .bounce1{-webkit-animation-delay:-.32s;animation-delay:-.32s}.block-spinner-bar .bounce2{-webkit-animation-delay:-.16s;animation-delay:-.16s}[class^=m-icon-]{display:inline-block;width:14px;height:14px;margin-top:3px;line-height:14px;vertical-align:top}[class^=m-icon-big-]{display:inline-block;width:30px;height:30px;margin:6px;vertical-align:middle}.btn.m-icon-big{padding:9px 16px 8px}.btn.m-icon-big.m-icon-only{padding:9px 8px 8px 0}.btn.m-icon-big [class^=m-icon-big-]{margin:0 0 0 10px}.btn.m-icon-ony>i{margin-left:0}.btn.m-icon{padding:7px 14px}.btn.m-icon [class^=m-icon-]{margin:4px 0 0 5px}.btn.m-icon.m-icon-only{padding:7px 10px 7px 6px}.m-icon-white{background-image:url(../../assets/images/syncfusion-icons-white.png)}.m-icon-swapright{background-position:-27px -10px}.m-icon-swapdown{background-position:-68px -10px}.m-icon-swapleft{background-position:-8px -10px}.m-icon-swapup{background-position:-46px -10px}.m-icon-big-swapright{background-position:-42px -28px}.m-icon-big-swapdown{background-position:-115px -28px}.m-icon-big-swapleft{background-position:-6px -28px}.m-icon-big-swapup{background-position:-78px -28px}.modal{z-index:10050;outline:0}.modal .modal-header{border-bottom:1px solid #EFEFEF}.modal .modal-header h3{font-weight:300}.modal .modal-header .close{margin-top:0!important}.modal .modal-dialog{z-index:10051}.modal>.loading{position:absolute;top:50%;left:50%;margin-top:-22px;margin-left:-22px}.modal.in .page-loading{display:none}.modal-open-noscroll{overflow-y:hidden!important}.modal-full.modal-dialog{width:99%}@media (max-width:768px){.modal-full.modal-dialog{width:auto}}.note{margin:0 0 20px;padding:15px 30px 15px 15px;border-left:5px solid #eee;border-radius:0 4px 4px 0}.note h1,.note h2,.note h3,.note h4,.note h5,.note h6{margin-top:0}.note h1 .close,.note h2 .close,.note h3 .close,.note h4 .close,.note h5 .close,.note h6 .close{margin-right:-10px}.note p:last-child{margin-bottom:0}.note.note-default{background-color:#d3d3d3;border-color:#a0a0a0;color:#333,80%}.note.note-default.note-bordered{background-color:#c9c9c9;border-color:#a5a5a5}.note.note-primary{background-color:#5697d0;border-color:#2a7696;color:#D8E3F2,80%}.note.note-primary.note-bordered{background-color:#468dcb;border-color:#2c7c9e}.note.note-success{background-color:#eef7ea;border-color:#bbdba1;color:#3c763d,80%}.note.note-success.note-bordered{background-color:#e2f1dc;border-color:#c1dea8}.note.note-info{background-color:#eef7fb;border-color:#91d9e8;color:#31708f,80%}.note.note-info.note-bordered{background-color:#ddeff8;border-color:#9adcea}.note.note-warning{background-color:#fcf8e3;border-color:#f2cf87;color:#8a6d3b,80%}.note.note-warning.note-bordered{background-color:#faf3d1;border-color:#f3d390}.note.note-danger{background-color:#f9f0f0;border-color:#dca7b0;color:#a94442,80%}.note.note-danger.note-bordered{background-color:#f3e2e2;border-color:#dfaeb7}.pagination{margin:10px 0}.pagination.pagination-circle>li:first-child>a{border-radius:25px 0 0 25px!important}.pagination.pagination-circle>li:last-child>a{border-radius:0 25px 25px 0!important}.dashboard-stat,.portlet{-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px}.pagination .active>a,.pagination .active>a:hover{background:#eee;border-color:#ddd;color:#333}.panel{-moz-box-shadow:none!important;box-shadow:none!important}.panel-group .panel{overflow:visible}.panel .panel-title>a:hover{text-decoration:none}.accordion .panel .panel-heading,.accordion .panel .panel-title{padding:0}.accordion .panel .panel-title .accordion-toggle{display:block;padding:10px 15px}.accordion .panel .panel-title .accordion-toggle.accordion-toggle-styled{background:url(../../assets/images/accordion-plusminus.png) right -19px no-repeat;margin-right:15px}.accordion .panel .panel-title .accordion-toggle.accordion-toggle-styled.collapsed{background-position:right 12px}.panel-default{border-color:#e0e0e0}.panel-default>.panel-heading{color:#333;background-color:#f9f9f9;border-color:#e0e0e0}.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#e0e0e0}.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#e0e0e0}.panel-primary{border-color:#3595bd}.panel-primary>.panel-heading{color:#D8E3F2;background-color:#428bca;border-color:#3595bd}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#3595bd}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#3595bd}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.accordion-heading{background:#eee}.accordion-heading a,.accordion-heading a:hover{text-decoration:none}.popover{box-shadow:5px 5px rgba(102,102,102,.1);padding:0}.portlet.calendar .fc-button,.progress{-webkit-box-shadow:none;-moz-box-shadow:none}.popover .popover-title{margin:0!important}.popover.name .popover-content,.popover.name .popover-title,name .popover .popover-content{color:#F3565D}.popovers.yellow+.popover,.popovers.yellow+.popover .popover-content,.popovers.yellow+.popover .popover-title{background:#ff0}.page-portlet-fullscreen{overflow:hidden}.portlet{margin-top:0;margin-bottom:25px;padding:0;border-radius:4px}.portlet.portlet-fullscreen{z-index:10060;margin:0;position:fixed;top:0;left:0;bottom:0;right:0;width:100%;height:100%;background:#fff}.portlet.portlet-fullscreen>.portlet-body{overflow-y:auto;overflow-x:hidden;padding:0 10px}.portlet.portlet-fullscreen>.portlet-title{padding:0 10px}.portlet>.portlet-title{border-bottom:1px solid #eee;padding:0;margin-bottom:10px;min-height:41px;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;-ms-border-radius:4px 4px 0 0;-o-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.portlet>.portlet-title:after,.portlet>.portlet-title:before{content:" ";display:table}.portlet>.portlet-title>.caption{float:left;display:inline-block;font-size:18px;line-height:18px;font-weight:300;padding:10px 0}.portlet>.portlet-title>.caption.bold{font-weight:400}.portlet>.portlet-title>.caption>i{float:left;margin-top:4px;display:inline-block;font-size:13px;margin-right:5px;color:#666}.portlet>.portlet-title>.caption>i.glyphicon{margin-top:2px}.portlet>.portlet-title>.caption>.caption-helper{padding:0;margin:0;line-height:13px;color:#9eacb4;font-size:13px;font-weight:400}.portlet>.portlet-title>.actions{float:right;display:inline-block;padding:6px 0}.portlet>.portlet-title>.actions>.dropdown-menu i{color:#555}.portlet>.portlet-title>.actions>.btn,.portlet>.portlet-title>.actions>.btn-group>.btn,.portlet>.portlet-title>.actions>.btn-group>.btn.btn-sm,.portlet>.portlet-title>.actions>.btn.btn-sm{padding:4px 10px;font-size:13px;line-height:1.5}.portlet>.portlet-title>.actions>.btn-group>.btn.btn-default,.portlet>.portlet-title>.actions>.btn-group>.btn.btn-sm.btn-default,.portlet>.portlet-title>.actions>.btn.btn-default,.portlet>.portlet-title>.actions>.btn.btn-sm.btn-default{padding:3px 9px}.portlet>.portlet-title>.actions>.btn-group>.btn.btn-sm>i,.portlet>.portlet-title>.actions>.btn-group>.btn>i,.portlet>.portlet-title>.actions>.btn.btn-sm>i,.portlet>.portlet-title>.actions>.btn>i{font-size:13px}.portlet>.portlet-title>.actions .btn-icon-only{padding:5px 7px 3px}.portlet>.portlet-title>.actions .btn-icon-only.btn-default{padding:4px 6px 2px}.portlet>.portlet-title>.actions .btn-icon-only.btn-default>i{font-size:14px}.portlet>.portlet-title>.actions .btn-icon-only.btn-default.fullscreen{font-family:FontAwesome;color:#a0a0a0;padding-top:3px}.portlet>.portlet-title>.actions .btn-icon-only.btn-default.fullscreen.btn-sm{padding:3px!important;height:27px;width:27px}.portlet>.portlet-title>.actions .btn-icon-only.btn-default.fullscreen:before{content:"\f065"}.portlet>.portlet-title>.actions .btn-icon-only.btn-default.fullscreen.on:before{content:"\f066"}.portlet>.portlet-title>.tools{float:right;display:inline-block;padding:12px 0 8px}.portlet>.portlet-title>.tools>a{display:inline-block;height:16px;margin-left:5px;opacity:1;filter:alpha(opacity=100)}.portlet>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon.png);background-repeat:no-repeat;width:11px}.portlet>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon.png);background-repeat:no-repeat;width:12px}.portlet>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon.png);width:13px}.portlet>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon.png);width:14px;visibility:visible}.portlet>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon.png);width:14px;visibility:visible}.portlet>.portlet-title>.tools>a.fullscreen{display:inline-block;top:-3px;position:relative;font-size:13px;font-family:FontAwesome;color:#ACACAC}.portlet>.portlet-title>.tools>a.fullscreen:before{content:"\f065"}.portlet>.portlet-title>.tools>a.fullscreen.on:before{content:"\f066"}.portlet>.portlet-title>.tools>a:hover{text-decoration:none;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;-o-transition:all .1s ease-in-out;-ms-transition:all .1s ease-in-out;transition:all .1s ease-in-out;opacity:.8;filter:alpha(opacity=80)}.portlet>.portlet-title>.pagination{float:right;display:inline-block;margin:2px 0 0;border:0;padding:4px 0}.portlet>.portlet-title>.nav-tabs{background:0 0;margin:0;float:right;display:inline-block;border:0}.portlet>.portlet-title>.nav-tabs>li{background:0 0;margin:0;border:0}.portlet>.portlet-title>.nav-tabs>li>a{background:0 0;margin:5px 0 0 1px;border:0;padding:8px 10px;color:#fff}.portlet>.portlet-title>.nav-tabs>li.active>a,.portlet>.portlet-title>.nav-tabs>li:hover>a{color:#333;background:#fff;border:0}.portlet>.portlet-body{clear:both;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;-ms-border-radius:0 0 4px 4px;-o-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.portlet>.portlet-empty{min-height:125px}.portlet.full-height-content{margin-bottom:0}.portlet.bordered{border-left:2px solid #e6e9ec!important}.portlet.bordered>.portlet-title{border-bottom:0}.portlet.solid{padding:0 10px 10px;border:0}.portlet.solid>.portlet-title{border-bottom:0;margin-bottom:10px}.portlet.solid>.portlet-title>.caption{padding:16px 0 2px}.portlet.solid>.portlet-title>.actions{padding:12px 0 6px}.portlet.solid>.portlet-title>.tools{padding:14px 0 6px}.portlet.solid.bordered>.portlet-title{margin-bottom:10px}.portlet.box{padding:0!important}.portlet.box>.portlet-title{border-bottom:0;padding:0 10px;margin-bottom:0;color:#fff}.portlet.box>.portlet-title>.caption{padding:11px 0 9px}.portlet.box>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.box>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.box>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.box>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.box>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.box>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box>.portlet-title>.actions{padding:7px 0 5px}.portlet.box>.portlet-body{background-color:#fff;padding:10px}.portlet.box.portlet-fullscreen>.portlet-body{padding:10px}.portlet.light{padding:12px 20px 15px;background-color:#fff}.portlet.light.bordered{border:1px solid #e1e1e1!important}.portlet.light.bordered>.portlet-title{border-bottom:1px solid #eee}.portlet.light.bg-inverse{background:#F7F7F7}.portlet.light>.portlet-title{padding:0;min-height:48px}.portlet.light>.portlet-title>.caption{color:#666;padding:10px 0}.portlet.light>.portlet-title>.caption>.caption-subject{font-size:16px}.portlet.light>.portlet-title>.caption>i{color:#777;font-size:15px;font-weight:300;margin-top:3px}.portlet.light>.portlet-title>.caption.caption-md>.caption-subject{font-size:15px}.portlet.light>.portlet-title>.caption.caption-md>i{font-size:14px}.portlet.light>.portlet-title>.actions{padding:6px 0 14px}.portlet.light>.portlet-title>.actions .btn-default{color:#666}.portlet.light>.portlet-title>.actions .btn-icon-only{height:27px;width:27px}.portlet.light>.portlet-title>.actions .dropdown-menu li>a{color:#555}.portlet.light>.portlet-title>.inputs{float:right;display:inline-block;padding:4px 0}.portlet.light>.portlet-title>.inputs>.portlet-input .input-icon>i{font-size:14px;margin-top:9px}.portlet.light>.portlet-title>.inputs>.portlet-input .input-icon>.form-control{height:30px;padding:2px 26px 3px 10px;font-size:13px}.portlet.light>.portlet-title>.inputs>.portlet-input>.form-control{height:30px;padding:3px 10px;font-size:13px}.portlet.light>.portlet-title>.pagination{padding:2px 0 13px}.portlet.light>.portlet-title>.tools{padding:10px 0 13px;margin-top:2px}.portlet.light>.portlet-title>.nav-tabs>li{margin:0;padding:0}.portlet.light>.portlet-title>.nav-tabs>li>a{margin:0;padding:12px 13px 13px;font-size:13px;color:#666}.portlet.light>.portlet-title>.nav-tabs>li.active>a,.portlet.light>.portlet-title>.nav-tabs>li:hover>a{margin:0;background:0 0;color:#333}.blue.btn.active,.blue.btn:active,.btn.default.active,.btn.default:active,.open .blue.btn.dropdown-toggle,.open .btn.default.dropdown-toggle,.progress,.progress-striped .progress>.progress-bar-default,.progress-striped .progress>.progress-bar-info,.progress-striped .progress>.progress-bar-success,.progress-striped .progress>.progress-bar-warning{background-image:none}.portlet.light.form-fit{padding:0}.portlet.light.form-fit>.portlet-title{padding:17px 20px 10px;margin-bottom:0}.portlet.light .portlet-body{padding-top:8px}.portlet.light.portlet-fullscreen>.portlet-body{padding:8px 0}.tab-pane>p:last-child{margin-bottom:0}.tabs-reversed>li{float:right;margin-right:0}.tabs-reversed>li>a{margin-right:0}.portlet-sortable:not(.portlet-fullscreen)>.portlet-title{cursor:move}.portlet-sortable-placeholder{border:2px dashed #eee;margin-bottom:25px}.portlet-sortable-empty{height:45px}.progress{border:0;filter:none;box-shadow:none}.progress.progress-sm{height:12px}.progress>.progress-bar-default{background-color:#c6c6c6}.progress>.progress-bar-success{background-color:#45B6AF}.progress>.progress-bar-info{background-color:#89C4F4}.progress>.progress-bar-danger{background-color:#F3565D}.progress-striped .progress>.progress-bar-danger{background-image:none}.progress>.progress-bar-warning{background-color:#dfba49}.dashboard-stat{display:block;margin-bottom:25px;overflow:hidden;border-radius:4px}.dashboard-stat:after,.dashboard-stat:before{content:" ";display:table}.portlet .dashboard-stat:last-child{margin-bottom:0}.dashboard-stat .visual{width:80px;height:80px;display:block;float:left;padding-top:10px;padding-left:15px;margin-bottom:15px;font-size:35px;line-height:35px}.dashboard-stat .visual>i{margin-left:-35px;font-size:110px;line-height:110px}.dashboard-stat .details{position:absolute;right:15px;padding-right:15px}.dashboard-stat .details .number{padding-top:25px;text-align:right;font-size:34px;line-height:36px;letter-spacing:-1px;margin-bottom:0;font-weight:300}.dashboard-stat .details .desc{text-align:right;font-size:16px;letter-spacing:0;font-weight:300}.dashboard-stat .more{display:block;padding:6px 10px;position:relative;text-transform:uppercase;font-weight:300;font-size:11px;opacity:.7;filter:alpha(opacity=70)}.dashboard-stat .more:hover{text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.dashboard-stat .more>i{display:inline-block;margin-top:1px;float:right}.dashboard-stat-light{padding-bottom:20px;margin-bottom:20px}.dashboard-stat-light .details{margin-bottom:5px}.dashboard-stat-light .details .number{font-weight:300;margin-bottom:0}.dashboard-stat2,.dashboard-stat2 .display{margin-bottom:20px}.dashboard-stat2{-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px;background:#fff;padding:15px 15px 30px}.dashboard-stat2 .display:after,.dashboard-stat2 .display:before{content:" ";display:table}.dashboard-stat2 .display .number{float:left;display:inline-block}.dashboard-stat2 .display .number h3{margin:0 0 2px;padding:0;font-size:30px;font-weight:400}.dashboard-stat2 .display .number h3>small{font-size:23px}.dashboard-stat2 .display .number small{font-size:14px;color:#AAB5BC;font-weight:600;text-transform:uppercase}.dashboard-stat2 .display .icon{display:inline-block;float:right;padding:7px 0 0}.dashboard-stat2 .display .icon>i{color:#cbd4e0;font-size:26px}.dashboard-stat2 .progress-info .progress{margin:0;height:4px;display:block}.dashboard-stat2 .progress-info .status{margin-top:5px;font-size:11px;color:#AAB5BC;font-weight:600;text-transform:uppercase}.dashboard-stat2 .progress-info .status .status-title{float:left;display:inline-block}.dashboard-stat2 .progress-info .status .status-number{float:right;display:inline-block}.text-stat h3{margin-top:5px;margin-bottom:0;font-size:18px}.text-stat span{font-size:13px!important}@media (max-width:767px){.text-stat{margin-top:20px}}.social-icons{padding:0;margin:0}.social-icons:after,.social-icons:before{content:" ";display:table}.social-icons li{float:left;display:inline;list-style:none;margin-right:5px;margin-bottom:5px;text-indent:-9999px}.social-icons li>a{-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;width:28px;height:28px;display:block;background-position:0 0;background-repeat:no-repeat;transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-webkit-transition:all .3s ease-in-out}.social-icons li:hover>a{background-position:0 -38px}.social-icons li .amazon{background:url(../../assets/images/social/amazon.png) no-repeat}.social-icons li .behance{background:url(../../assets/images/social/behance.png) no-repeat}.social-icons li .blogger{background:url(../../assets/images/social/blogger.png) no-repeat}.social-icons li .deviantart{background:url(../../assets/images/social/deviantart.png) no-repeat}.social-icons li .dribbble{background:url(../../assets/images/social/dribbble.png) no-repeat}.social-icons li .dropbox{background:url(../../assets/images/social/dropbox.png) no-repeat}.social-icons li .evernote{background:url(../../assets/images/social/evernote.png) no-repeat}.social-icons li .facebook{background:url(../../assets/images/social/facebook.png) no-repeat}.social-icons li .forrst{background:url(../../assets/images/social/forrst.png) no-repeat}.social-icons li .github{background:url(../../assets/images/social/github.png) no-repeat}.social-icons li .googleplus{background:url(../../assets/images/social/googleplus.png) no-repeat}.social-icons li .jolicloud{background:url(../../assets/images/social/jolicloud.png) no-repeat}.social-icons li .last-fm{background:url(../../assets/images/social/last-fm.png) no-repeat}.social-icons li .linkedin{background:url(../../assets/images/social/linkedin.png) no-repeat}.social-icons li .picasa{background:url(../../assets/images/social/picasa.png) no-repeat}.social-icons li .pintrest{background:url(../../assets/images/social/pintrest.png) no-repeat}.social-icons li .rss{background:url(../../assets/images/social/rss.png) no-repeat}.social-icons li .skype{background:url(../../assets/images/social/skype.png) no-repeat}.social-icons li .spotify{background:url(../../assets/images/social/spotify.png) no-repeat}.social-icons li .stumbleupon{background:url(../../assets/images/social/stumbleupon.png) no-repeat}.social-icons li .tumblr{background:url(../../assets/images/social/tumblr.png) no-repeat}.social-icons li .twitter{background:url(../../assets/images/social/twitter.png) no-repeat}.social-icons li .vimeo{background:url(../../assets/images/social/vimeo.png) no-repeat}.social-icons li .wordpress{background:url(../../assets/images/social/wordpress.png) no-repeat}.social-icons li .xing{background:url(../../assets/images/social/xing.png) no-repeat}.social-icons li .yahoo{background:url(../../assets/images/social/yahoo.png) no-repeat}.social-icons li .youtube{background:url(../../assets/images/social/youtube.png) no-repeat}.social-icons li .vk{background:url(../../assets/images/social/vk.png) no-repeat}.social-icons li .instagram{background:url(../../assets/images/social/instagram.png) no-repeat}.social-icons li .reddit{background:url(../../assets/images/social/reddit.png) no-repeat}.social-icons li .aboutme{background:url(../../assets/images/social/aboutme.png) no-repeat}.social-icons li .flickr{background:url(../../assets/images/social/flickr.png) no-repeat}.social-icons li .foursquare{background:url(../../assets/images/social/foursquare.png) no-repeat}.social-icons li .gravatar{background:url(../../assets/images/social/gravatar.png) no-repeat}.social-icons li .klout{background:url(../../assets/images/social/klout.png) no-repeat}.social-icons li .myspace{background:url(../../assets/images/social/myspace.png) no-repeat}.social-icons li .quora{background:url(../../assets/images/social/quora.png) no-repeat}.social-icons.social-icons-color>li>a{opacity:.7;background-position:0 -38px!important}.social-icons.social-icons-color>li>a:hover{opacity:1}.social-icons.social-icons-circle>li>a{border-radius:25px!important}.social-icon{display:inline-block!important;width:28px;height:28px;background-position:0 0;background-repeat:no-repeat;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-webkit-transition:all .3s ease-in-out}.social-icon.social-icon-circle{border-radius:25px!important}.social-icon.amazon{background:url(../../assets/images/social/amazon.png) no-repeat}.social-icon.behance{background:url(../../assets/images/social/behance.png) no-repeat}.social-icon.blogger{background:url(../../assets/images/social/blogger.png) no-repeat}.social-icon.deviantart{background:url(../../assets/images/social/deviantart.png) no-repeat}.social-icon.dribbble{background:url(../../assets/images/social/dribbble.png) no-repeat}.social-icon.dropbox{background:url(../../assets/images/social/dropbox.png) no-repeat}.social-icon.evernote{background:url(../../assets/images/social/evernote.png) no-repeat}.social-icon.facebook{background:url(../../assets/images/social/facebook.png) no-repeat}.social-icon.forrst{background:url(../../assets/images/social/forrst.png) no-repeat}.social-icon.github{background:url(../../assets/images/social/github.png) no-repeat}.social-icon.googleplus{background:url(../../assets/images/social/googleplus.png) no-repeat}.social-icon.jolicloud{background:url(../../assets/images/social/jolicloud.png) no-repeat}.social-icon.last-fm{background:url(../../assets/images/social/last-fm.png) no-repeat}.social-icon.linkedin{background:url(../../assets/images/social/linkedin.png) no-repeat}.social-icon.picasa{background:url(../../assets/images/social/picasa.png) no-repeat}.social-icon.pintrest{background:url(../../assets/images/social/pintrest.png) no-repeat}.social-icon.rss{background:url(../../assets/images/social/rss.png) no-repeat}.social-icon.skype{background:url(../../assets/images/social/skype.png) no-repeat}.social-icon.spotify{background:url(../../assets/images/social/spotify.png) no-repeat}.social-icon.stumbleupon{background:url(../../assets/images/social/stumbleupon.png) no-repeat}.social-icon.tumblr{background:url(../../assets/images/social/tumblr.png) no-repeat}.social-icon.twitter{background:url(../../assets/images/social/twitter.png) no-repeat}.social-icon.vimeo{background:url(../../assets/images/social/vimeo.png) no-repeat}.social-icon.wordpress{background:url(../../assets/images/social/wordpress.png) no-repeat}.social-icon.xing{background:url(../../assets/images/social/xing.png) no-repeat}.social-icon.yahoo{background:url(../../assets/images/social/yahoo.png) no-repeat}.social-icon.youtube{background:url(../../assets/images/social/youtube.png) no-repeat}.social-icon.vk{background:url(../../assets/images/social/vk.png) no-repeat}.social-icon.instagram{background:url(../../assets/images/social/instagram.png) no-repeat}.social-icon.reddit{background:url(../../assets/images/social/reddit.png) no-repeat}.social-icon.aboutme{background:url(../../assets/images/social/aboutme.png) no-repeat}.social-icon.flickr{background:url(../../assets/images/social/flickr.png) no-repeat}.social-icon.foursquare{background:url(../../assets/images/social/foursquare.png) no-repeat}.social-icon.gravatar{background:url(../../assets/images/social/gravatar.png) no-repeat}.social-icon.klout{background:url(../../assets/images/social/klout.png) no-repeat}.social-icon.myspace{background:url(../../assets/images/social/myspace.png) no-repeat}.social-icon.quora{background:url(../../assets/images/social/quora.png) no-repeat}.social-icon:hover{background-position:0 -38px}.social-icon-color{opacity:.7;background-position:0 -38px!important}.social-icon-color:hover{opacity:1}.table.table-bordered thead>tr>th{border-bottom:0}.table tr.heading>th{background-color:#eee!important}.table td .img-responsive{width:100%}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background:#a6c8e6;color:#132339}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background:#92bce0}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background:#dff0d8;color:#3c763d}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background:#d9edf7;color:#31708f}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background:#fcf8e3;color:#8a6d3b}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background:#f2dede;color:#a94442}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background:#ebcccc}.table-scrollable{width:100%;overflow-x:auto;overflow-y:hidden;border:1px solid #ddd;margin:10px 0!important}.table-scrollable.table-scrollable-borderless,.table-scrollable>.table-bordered{border:0}.table-scrollable>.table{width:100%!important;margin:0!important;background-color:#fff}.table-scrollable>.table-bordered>tbody>tr>td:first-child,.table-scrollable>.table-bordered>tbody>tr>th:first-child,.table-scrollable>.table-bordered>tfoot>tr>td:first-child,.table-scrollable>.table-bordered>tfoot>tr>th:first-child,.table-scrollable>.table-bordered>thead>tr>td:first-child,.table-scrollable>.table-bordered>thead>tr>th:first-child{border-left:0}.table-scrollable>.table-bordered>tbody>tr>td:last-child,.table-scrollable>.table-bordered>tbody>tr>th:last-child,.table-scrollable>.table-bordered>tfoot>tr>td:last-child,.table-scrollable>.table-bordered>tfoot>tr>th:last-child,.table-scrollable>.table-bordered>thead>tr>td:last-child,.table-scrollable>.table-bordered>thead>tr>th:last-child{border-right:0}.table-scrollable>.table-bordered>tbody>tr:last-child>td,.table-scrollable>.table-bordered>tbody>tr:last-child>th,.table-scrollable>.table-bordered>tfoot>tr:last-child>td,.table-scrollable>.table-bordered>tfoot>tr:last-child>th,.table-scrollable>.table-bordered>thead>tr:last-child>td,.table-scrollable>.table-bordered>thead>tr:last-child>th{border-bottom:0}.flip-scroll table{width:100%}@media only screen and (max-width:768px){.flip-scroll .flip-content:after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0}.flip-scroll * html .flip-content{zoom:1}.flip-scroll td,.flip-scroll th{margin:0;vertical-align:top}.flip-scroll th{border:0!important;border-bottom:1px solid #ddd!important;border-right:1px solid #ddd!important;font-size:13px!important;padding:5px;width:auto!important;display:block;text-align:right}.flip-scroll table{border-collapse:collapse;border-spacing:0;display:block;position:relative;width:100%}.flip-scroll thead{display:block;float:left}.flip-scroll tbody{display:block;width:auto;position:relative;overflow-x:auto;white-space:nowrap}.flip-scroll thead tr{display:block}.flip-scroll tbody tr{display:inline-block;vertical-align:top;margin-left:-5px}.flip-scroll td{display:block;min-height:1.25em;text-align:left;border-top:0!important;border-left:0!important;border-right:0!important;border-bottom:0}.flip-scroll th{border-left:0}.flip-scroll tbody tr{border-left:1px solid #ddd}.flip-scroll td:last-child,.flip-scroll th:last-child{border-bottom:1px solid #ddd}}.centered-td,.page-404,.tiles .tile .tile-body>i{text-align:center}.table-toolbar{margin-bottom:15px}.table-toolbar:after,.table-toolbar:before{content:" ";display:table}.table.table-full-width{width:100%!important}.table .btn{margin-top:0;margin-left:0;margin-right:5px}.table thead tr th{font-size:14px;font-weight:600}.table-advance{margin-bottom:10px!important}.table-advance thead{color:#999}.table-advance thead tr th{background-color:#DDD;font-size:14px;font-weight:400;color:#666}.table-advance div.danger,.table-advance div.important,.table-advance div.info,.table-advance div.success,.table-advance div.warning{position:absolute;margin-top:-5px;float:left;width:2px;height:30px;margin-right:20px!important}.table-advance tr td{border-left-width:0}.table-advance tr td:first-child{border-left-width:1px!important}.table-advance tr td.highlight:first-child a{margin-left:15px}.table-advance td.highlight div.primary{border-left:2px solid #428bca}.table-advance td.highlight div.success{border-left:2px solid #45B6AF}.table-advance td.highlight div.info{border-left:2px solid #89C4F4}.table-advance td.highlight div.warning{border-left:2px solid #dfba49}.table-advance td.highlight div.danger{border-left:2px solid #F3565D}@media (max-width:767px){.table-advance tr>td.highlight:first-child a{margin-left:8px}}.table.table-light{border:0!important}.table.table-light>thead>tr:hover>th{background:0 0}.table.table-light>thead>tr.uppercase{text-transform:uppercase}.table.table-light>thead>tr>th{font-weight:600;font-size:13px;color:#a7b3b9;font-family:"Open Sans",sans-serif;border:0;border-bottom:1px solid #F2F5F8}.table.table-light>tbody>tr:last-child>td{border:0}.table.table-light>tbody>tr>td{border:0;border-bottom:1px solid #F2F5F8;color:#9ca8b0;vertical-align:middle}.table.table-light>tbody>tr>td.fit{width:1px;padding-right:3px}.table.table-light>tbody>tr>td .user-pic{display:inline-block;vertical-align:middle;height:30px;-webkit-border-radius:100%;-moz-border-radius:100%;-ms-border-radius:100%;-o-border-radius:100%;border-radius:100%}.table.table-light.table-hover>tbody>tr:hover>td,.table.table-light.table-hover>tbody>tr:hover>th,.table.table-light.table-hover>tbody>tr>td:hover,.table.table-light.table-hover>tbody>tr>th:hover{background:#f9fafb}.nav-pills,.nav-tabs{margin-bottom:10px}.nav-pills>li>a,.nav-tabs>li>a{font-size:14px}.nav-pills>li>a>.badge,.nav-tabs>li>a>.badge{margin-top:-3px}.nav-pills>li .dropdown-menu:after,.nav-pills>li .dropdown-menu:before,.nav-tabs>li .dropdown-menu:after,.nav-tabs>li .dropdown-menu:before{display:none}.nav-pills.nav-pills-sm>li>a,.nav-pills.nav-tabs-sm>li>a,.nav-tabs.nav-pills-sm>li>a,.nav-tabs.nav-tabs-sm>li>a{font-size:13px}.nav-pills .dropdown.open>.dropdown-toggle,.nav-tabs .dropdown.open>.dropdown-toggle{background:#eee;color:#0d638f;border-color:transparent}.tabs-left.nav-tabs,.tabs-right.nav-tabs{border-bottom:0}.tabs-left.nav-tabs>li,.tabs-right.nav-tabs>li{float:none}.tabs-left.nav-tabs>li>a,.tabs-right.nav-tabs>li>a{margin-right:0;margin-bottom:3px}.tabs-left.nav-tabs{border-right:1px solid #ddd}.tabs-left.nav-tabs>li>a{display:block;margin-right:-1px}.tabs-left.nav-tabs>li>a:focus,.tabs-left.nav-tabs>li>a:hover{border-radius:4px 0 0 4px;border-color:#eee #ddd #eee #eee}.tabs-left.nav-tabs>li.active>a,.tabs-left.nav-tabs>li.active>a:hover>li.active>a:focus{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;-ms-border-radius:4px 0 0 4px;-o-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;border-color:#ddd transparent #ddd #ddd}.tabs-right.nav-tabs{border-left:1px solid #ddd}.tabs-right.nav-tabs>li>a{display:block;margin-left:-1px}.tabbable:after,.tabbable:before,.tiles:after,.tiles:before{display:table;content:" "}.tabs-right.nav-tabs>li>a:focus,.tabs-right.nav-tabs>li>a:hover{border-radius:0 4px 4px 0;border-color:#eee #eee #eee #ddd}.tabs-right.nav-tabs>li.active>a,.tabs-right.nav-tabs>li.active>a:hover>li.active>a:focus{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;-ms-border-radius:0 4px 4px 0;-o-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;border-color:#ddd #ddd #ddd transparent}.tabs-below>.nav-pills,.tabs-below>.nav-tabs{border-bottom:0;margin-bottom:0;margin-top:10px}.tabs-below>.nav-tabs{border-top:1px solid #ddd;margin-bottom:0;margin-top:10px}.tabs-below>.nav-tabs>li>a{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a:focus,.tabs-below>.nav-tabs>li>a:hover{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>li>a .dropdown-menu{-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.tabs-below>.nav-tabs .active a,.tabs-below>.nav-tabs .active a:hover .active a:focus{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;-ms-border-radius:0 0 4px 4px;-o-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;border-color:transparent #ddd #ddd}.tabbable-custom{margin-bottom:15px;padding:0;overflow:hidden}.tabbable-custom>.nav-tabs{border:none;margin:0}.tabbable-custom>.nav-tabs>li.active>a,.tabbable-custom>.nav-tabs>li>a{-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0}.tabbable-custom>.nav-tabs>li{margin-right:2px;border-top:2px solid transparent}.tabbable-custom>.nav-tabs>li>a{margin-right:0;border-radius:0}.tabbable-custom>.nav-tabs>li>a:hover{background:0 0;border-color:transparent}.tabbable-custom>.nav-tabs>li.active{border-top:3px solid #F3565D;margin-top:0;position:relative}.tabbable-custom>.nav-tabs>li.active>a{border-top:none;font-weight:400;border-radius:0}.tabbable-custom>.nav-tabs>li.active>a:hover{-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;border-top:none;background:#fff;border-color:#d4d4d4 #d4d4d4 transparent}.tabbable-custom>.tab-content{background-color:#fff;border:1px solid #ddd;padding:10px;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;-ms-border-radius:0 0 4px 4px;-o-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabbable-custom.nav-justified>.tab-content{margin-top:-1px}.tabbable-custom.boxless>.tab-content{padding:15px 0;border-left:none;border-right:none;border-bottom:none}.tabbable-custom.tabs-below.nav-justified .tab-content{margin-top:0;margin-bottom:-2px;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;-ms-border-radius:4px 4px 0 0;-o-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.tabbable-custom.tabbable-full-width>.nav-tabs>li>a{color:#424242;font-size:15px;padding:9px 15px}.tabbable-custom.tabbable-full-width>.tab-content{padding:15px 0;border-left:none;border-right:none;border-bottom:none}.tabbable-custom.tabs-below .nav-tabs>li>a{border-top:none;border-bottom:2px solid transparent;margin-top:-1px}.tabbable-custom.tabs-below .nav-tabs>li.active{border-top:none;border-bottom:3px solid #d12610;margin-bottom:0;position:relative}.tabbable-custom.tabs-below .nav-tabs>li.active>a{border-bottom:none}.tabbable-custom.tabs-below .nav-tabs>li.active>a:hover{background:#fff;border-color:#d4d4d4 #d4d4d4 transparent}.tabbable-custom.tabbable-noborder .tab-content,.tabbable-custom.tabbable-noborder>.nav-tabs>li>a{border:0}.tabbable-line>.nav-tabs{border:none;margin:0}.tabbable-line>.nav-tabs>li{margin-right:2px}.tabbable-line>.nav-tabs>li>a{border:0;margin-right:0;color:#737373}.tabbable-line>.nav-tabs>li>a>i{color:#a6a6a6}.tabbable-line>.nav-tabs>li.open,.tabbable-line>.nav-tabs>li:hover{border-bottom:4px solid #fbcdcf}.tabbable-line>.nav-tabs>li.open>a,.tabbable-line>.nav-tabs>li:hover>a{border:0;background:0 0!important;color:#333}.tabbable-line>.nav-tabs>li.open>a>i,.tabbable-line>.nav-tabs>li:hover>a>i{color:#a6a6a6}.tabbable-line>.nav-tabs>li.open .dropdown-menu,.tabbable-line>.nav-tabs>li:hover .dropdown-menu{margin-top:0}.tabbable-line>.nav-tabs>li.active{border-bottom:4px solid #F3565D;position:relative}.tabbable-line>.nav-tabs>li.active>a{border:0;color:#333}.tabbable-line>.nav-tabs>li.active>a>i{color:#404040}.tabbable-line>.tab-content{margin-top:-3px;background-color:#fff;border:0;border-top:1px solid #eee;padding:15px 0}.portlet .tabbable-line>.tab-content{padding-bottom:0}.tabbable-line.tabs-below>.nav-tabs>li{border-top:4px solid transparent}.tabbable-line.tabs-below>.nav-tabs>li>a{margin-top:0}.tabbable-line.tabs-below>.nav-tabs>li:hover{border-bottom:0;border-top:4px solid #fbcdcf}.tabbable-line.tabs-below>.nav-tabs>li.active{margin-bottom:-2px;border-bottom:0;border-top:4px solid #F3565D}.tabbable-line.tabs-below>.tab-content{margin-top:-10px;border-top:0;border-bottom:1px solid #eee;padding-bottom:15px}.tiles{margin-right:-10px}.tiles .tile{display:block;float:left;height:135px;width:135px!important;cursor:pointer;text-decoration:none;color:#fff;position:relative;font-weight:300;font-size:12px;letter-spacing:.02em;line-height:20px;overflow:hidden;border:4px solid transparent;margin:0 10px 10px 0}.tiles .tile .tile-body>.content,.tiles .tile.image .tile-body h3,.tiles .tile.selected .check:after{display:inline-block}.tiles .tile:after,.tiles .tile:before{content:"";float:left}.tiles .tile.double{width:280px!important}.tiles .tile.double-down{height:280px!important}.tiles .tile.double-down i{margin-top:95px}.tiles .tile:hover{border-color:#aaa!important}.tiles .tile.selected,.tiles .tile:active{border-color:#ccc!important}.tiles .tile.selected .corner:after{content:"";display:inline-block;border-left:40px solid transparent;border-bottom:40px solid transparent;border-right:40px solid #ccc;position:absolute;top:-3px;right:-3px}.tiles .tile.selected .check:after{font-family:FontAwesome;font-size:13px;content:"\f00c";position:absolute;top:2px;right:2px}.tiles .tile.icon{padding:0}.tiles .tile.image .tile-body{padding:0!important}.tiles .tile.image .tile-body>img{width:100%;height:auto;min-height:100%;max-width:100%}.tiles .tile .tile-body{height:100%;vertical-align:top;padding:10px;overflow:hidden;position:relative;font-weight:400;font-size:12px;color:#fff;margin-bottom:10px}.tiles .tile .tile-body p{font-weight:400;font-size:13px;color:#fff;overflow:hidden}.tiles .tile .tile-body p:active{color:rgba(0,0,0,.4)}.tiles .tile .tile-body p:hover{color:#fff}.tiles .tile .tile-body img{float:left;margin-right:10px}.tiles .tile .tile-body img.pull-right{float:right!important;margin-left:10px;margin-right:0}.tiles .tile .tile-body>i{margin-top:17px;display:block;font-size:56px;line-height:56px}.tiles .tile .tile-body h1,.tiles .tile .tile-body h2,.tiles .tile .tile-body h3,.tiles .tile .tile-body h4,.tiles .tile .tile-body h5,.tiles .tile .tile-body h6,.tiles .tile .tile-body p{padding:0;margin:0;line-height:14px}.tiles .tile .tile-body h1:hover,.tiles .tile .tile-body h2:hover,.tiles .tile .tile-body h3:hover,.tiles .tile .tile-body h4:hover,.tiles .tile .tile-body h5:hover,.tiles .tile .tile-body h6:hover,.tiles .tile .tile-body p:hover{color:#fff}.tiles .tile .tile-body h3,.tiles .tile .tile-body h4{margin-bottom:5px}.tiles .tile .tile-object{position:absolute;bottom:0;left:0;right:0;min-height:30px;background-color:transparent}.tiles .tile .tile-object:after,.tiles .tile .tile-object:before{display:table;content:""}.tiles .tile .tile-object>.name{position:absolute;bottom:0;left:0;margin-bottom:5px;margin-left:10px;margin-right:15px;font-weight:400;font-size:13px;color:#fff}.tiles .tile .tile-object>.name>i{vertical-align:middle;display:block;font-size:24px;height:18px;width:24px}.tiles .tile .tile-object>.number{position:absolute;bottom:0;right:0;color:#fff;text-align:center;font-weight:600;font-size:14px;letter-spacing:.01em;line-height:14px;margin-bottom:8px;margin-right:10px}.well{background-color:#eee;border:0;-moz-box-shadow:none!important;box-shadow:none!important}.blue.btn,.btn.default{border-color:""}@-webkit-keyframes fadeInUpm{0%{opacity:0;-webkit-transform:translateY(15px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInUpm{0%{opacity:0;-moz-transform:translateY(15px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInUpm{0%{opacity:0;-o-transform:translateY(15px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInUpm{0%{opacity:0;transform:translateY(15px)}100%{opacity:1;transform:translateY(0)}}.fade-in-up{-webkit-animation:fadeInUpm .5s;animation:fadeInUpm .5s}@-webkit-keyframes bounceDelay{0%,100%,80%{-webkit-transform:scale(0)}40%{-webkit-transform:scale(1)}}@keyframes bounceDelay{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}.btn.default{color:#333;background-color:#E5E5E5}.btn.default.active,.btn.default:active,.btn.default:focus,.btn.default:hover,.open .btn.default.dropdown-toggle{color:#333;background-color:#d3d3d3}.btn.default.active,.btn.default:active{background-color:#c6c6c6}.btn.default.active:hover,.btn.default:active:hover{background-color:#ccc}.btn.default.disabled,.btn.default.disabled.active,.btn.default.disabled:active,.btn.default.disabled:focus,.btn.default.disabled:hover,.btn.default[disabled],.btn.default[disabled].active,.btn.default[disabled]:active,.btn.default[disabled]:focus,.btn.default[disabled]:hover,fieldset[disabled] .btn.default,fieldset[disabled] .btn.default.active,fieldset[disabled] .btn.default:active,fieldset[disabled] .btn.default:focus,fieldset[disabled] .btn.default:hover{background-color:#E5E5E5}.btn.default .badge{color:#E5E5E5;background-color:#333}.blue.btn{color:#FFF;background-color:#4B8DF8}.blue.btn.active,.blue.btn:active,.blue.btn:focus,.blue.btn:hover,.open .blue.btn.dropdown-toggle{color:#FFF;background-color:#2977f7}.blue.btn.active,.blue.btn:active{background-color:#1068f6}.blue.btn.active:hover,.blue.btn:active:hover{background-color:#1a6ef6}.blue.btn.disabled,.blue.btn.disabled.active,.blue.btn.disabled:active,.blue.btn.disabled:focus,.blue.btn.disabled:hover,.blue.btn[disabled],.blue.btn[disabled].active,.blue.btn[disabled]:active,.blue.btn[disabled]:focus,.blue.btn[disabled]:hover,fieldset[disabled] .blue.btn,fieldset[disabled] .blue.btn.active,fieldset[disabled] .blue.btn:active,fieldset[disabled] .blue.btn:focus,fieldset[disabled] .blue.btn:hover{background-color:#4B8DF8}.blue.btn .badge{color:#4B8DF8;background-color:#FFF}.portlet.blue,.portlet.box.blue>.portlet-title,.portlet>.portlet-body.blue{background-color:#4B8DF8}.btn.blue-stripe{border-left:3px solid #4B8DF8}.portlet.solid.blue>.portlet-body,.portlet.solid.blue>.portlet-title{border:0;color:#FFF}.portlet.solid.blue>.portlet-title>.caption>i{color:#FFF}.portlet.solid.blue>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.blue>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.blue>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.blue>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.blue>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.blue>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.blue{border:1px solid #7cacfa;border-top:0}.portlet.box.blue>.portlet-title>.caption,.portlet.box.blue>.portlet-title>.caption>i{color:#FFF}.portlet.box.blue>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #b7d1fc;color:#d0e1fd}.portlet.box.blue>.portlet-title>.actions .btn-default>i{color:#deeafe}.portlet.box.blue>.portlet-title>.actions .btn-default.active,.portlet.box.blue>.portlet-title>.actions .btn-default:active,.portlet.box.blue>.portlet-title>.actions .btn-default:focus,.portlet.box.blue>.portlet-title>.actions .btn-default:hover{border:1px solid #e8f0fe;color:#fff}.dashboard-stat.blue{background-color:#4B8DF8}.dashboard-stat.blue.dashboard-stat-light:hover{background-color:#3781f7}.dashboard-stat.blue .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.blue .details .number{color:#FFF}.dashboard-stat.blue .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.blue .more{color:#FFF;background-color:#3781f7}.bg-blue{border-color:#4B8DF8!important;background-image:none!important;background-color:#4B8DF8!important;color:#FFF!important}.font-blue{color:#4B8DF8!important}.progress-bar.blue{background:#4B8DF8!important;color:#FFF!important}.blue-madison.btn{color:#FFF;background-color:#578ebe;border-color:""}.blue-madison.btn.active,.blue-madison.btn:active,.blue-madison.btn:focus,.blue-madison.btn:hover,.open .blue-madison.btn.dropdown-toggle{color:#FFF;background-color:#437cae}.blue-madison.btn.active,.blue-madison.btn:active{background-image:none;background-color:#3c6f9c}.blue-madison.btn.active:hover,.blue-madison.btn:active:hover{background-color:#3f74a3}.open .blue-madison.btn.dropdown-toggle{background-image:none}.blue-madison.btn.disabled,.blue-madison.btn.disabled.active,.blue-madison.btn.disabled:active,.blue-madison.btn.disabled:focus,.blue-madison.btn.disabled:hover,.blue-madison.btn[disabled],.blue-madison.btn[disabled].active,.blue-madison.btn[disabled]:active,.blue-madison.btn[disabled]:focus,.blue-madison.btn[disabled]:hover,fieldset[disabled] .blue-madison.btn,fieldset[disabled] .blue-madison.btn.active,fieldset[disabled] .blue-madison.btn:active,fieldset[disabled] .blue-madison.btn:focus,fieldset[disabled] .blue-madison.btn:hover{background-color:#578ebe}.blue-madison.btn .badge{color:#578ebe;background-color:#FFF}.portlet.blue-madison,.portlet.box.blue-madison>.portlet-title,.portlet>.portlet-body.blue-madison{background-color:#578ebe}.btn.blue-madison-stripe{border-left:3px solid #578ebe}.portlet.solid.blue-madison>.portlet-body,.portlet.solid.blue-madison>.portlet-title{border:0;color:#FFF}.portlet.solid.blue-madison>.portlet-title>.caption>i{color:#FFF}.portlet.solid.blue-madison>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.blue-madison>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.blue-madison>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.blue-madison>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.blue-madison>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.blue-madison>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.blue-madison{border:1px solid #7ca7cc;border-top:0}.portlet.box.blue-madison>.portlet-title>.caption,.portlet.box.blue-madison>.portlet-title>.caption>i{color:#FFF}.portlet.box.blue-madison>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #a8c4dd;color:#bad1e4}.portlet.box.blue-madison>.portlet-title>.actions .btn-default>i{color:#c5d8e9}.portlet.box.blue-madison>.portlet-title>.actions .btn-default.active,.portlet.box.blue-madison>.portlet-title>.actions .btn-default:active,.portlet.box.blue-madison>.portlet-title>.actions .btn-default:focus,.portlet.box.blue-madison>.portlet-title>.actions .btn-default:hover{border:1px solid #cdddec;color:#dfeaf3}.dashboard-stat.blue-madison{background-color:#578ebe}.dashboard-stat.blue-madison.dashboard-stat-light:hover{background-color:#4884b8}.dashboard-stat.blue-madison .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.blue-madison .details .number{color:#FFF}.dashboard-stat.blue-madison .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.blue-madison .more{color:#FFF;background-color:#4884b8}.bg-blue-madison{border-color:#578ebe!important;background-image:none!important;background-color:#578ebe!important;color:#FFF!important}.font-blue-madison{color:#578ebe!important}.progress-bar.blue-madison{background:#578ebe!important;color:#FFF!important}.blue-chambray.btn{color:#FFF;background-color:#2C3E50;border-color:""}.blue-chambray.btn.active,.blue-chambray.btn:active,.blue-chambray.btn:focus,.blue-chambray.btn:hover,.open .blue-chambray.btn.dropdown-toggle{color:#FFF;background-color:#1f2c39}.blue-chambray.btn.active,.blue-chambray.btn:active{background-image:none;background-color:#161f29}.blue-chambray.btn.active:hover,.blue-chambray.btn:active:hover{background-color:#1a242f}.open .blue-chambray.btn.dropdown-toggle{background-image:none}.blue-chambray.btn.disabled,.blue-chambray.btn.disabled.active,.blue-chambray.btn.disabled:active,.blue-chambray.btn.disabled:focus,.blue-chambray.btn.disabled:hover,.blue-chambray.btn[disabled],.blue-chambray.btn[disabled].active,.blue-chambray.btn[disabled]:active,.blue-chambray.btn[disabled]:focus,.blue-chambray.btn[disabled]:hover,fieldset[disabled] .blue-chambray.btn,fieldset[disabled] .blue-chambray.btn.active,fieldset[disabled] .blue-chambray.btn:active,fieldset[disabled] .blue-chambray.btn:focus,fieldset[disabled] .blue-chambray.btn:hover{background-color:#2C3E50}.blue-chambray.btn .badge{color:#2C3E50;background-color:#FFF}.portlet.blue-chambray,.portlet.box.blue-chambray>.portlet-title,.portlet>.portlet-body.blue-chambray{background-color:#2C3E50}.btn.blue-chambray-stripe{border-left:3px solid #2C3E50}.portlet.solid.blue-chambray>.portlet-body,.portlet.solid.blue-chambray>.portlet-title{border:0;color:#FFF}.portlet.solid.blue-chambray>.portlet-title>.caption>i{color:#FFF}.portlet.solid.blue-chambray>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.blue-chambray>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.blue-chambray>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.blue-chambray>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.blue-chambray>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.blue-chambray>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.blue-chambray{border:1px solid #3e5771;border-top:0}.portlet.box.blue-chambray>.portlet-title>.caption,.portlet.box.blue-chambray>.portlet-title>.caption>i{color:#FFF}.portlet.box.blue-chambray>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #547698;color:#5f83a7}.portlet.box.blue-chambray>.portlet-title>.actions .btn-default>i{color:#698aac}.portlet.box.blue-chambray>.portlet-title>.actions .btn-default.active,.portlet.box.blue-chambray>.portlet-title>.actions .btn-default:active,.portlet.box.blue-chambray>.portlet-title>.actions .btn-default:focus,.portlet.box.blue-chambray>.portlet-title>.actions .btn-default:hover{border:1px solid #6f90b0;color:#809cb9}.dashboard-stat.blue-chambray{background-color:#2C3E50}.dashboard-stat.blue-chambray.dashboard-stat-light:hover{background-color:#253443}.dashboard-stat.blue-chambray .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.blue-chambray .details .number{color:#FFF}.dashboard-stat.blue-chambray .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.blue-chambray .more{color:#FFF;background-color:#253443}.bg-blue-chambray{border-color:#2C3E50!important;background-image:none!important;background-color:#2C3E50!important;color:#FFF!important}.font-blue-chambray{color:#2C3E50!important}.progress-bar.blue-chambray{background:#2C3E50!important;color:#FFF!important}.blue-ebonyclay.btn{color:#FFF;background-color:#22313F;border-color:""}.blue-ebonyclay.btn.active,.blue-ebonyclay.btn:active,.blue-ebonyclay.btn:focus,.blue-ebonyclay.btn:hover,.open .blue-ebonyclay.btn.dropdown-toggle{color:#FFF;background-color:#151f28}.blue-ebonyclay.btn.active,.blue-ebonyclay.btn:active{background-image:none;background-color:#0d1217}.blue-ebonyclay.btn.active:hover,.blue-ebonyclay.btn:active:hover{background-color:#10171e}.open .blue-ebonyclay.btn.dropdown-toggle{background-image:none}.blue-ebonyclay.btn.disabled,.blue-ebonyclay.btn.disabled.active,.blue-ebonyclay.btn.disabled:active,.blue-ebonyclay.btn.disabled:focus,.blue-ebonyclay.btn.disabled:hover,.blue-ebonyclay.btn[disabled],.blue-ebonyclay.btn[disabled].active,.blue-ebonyclay.btn[disabled]:active,.blue-ebonyclay.btn[disabled]:focus,.blue-ebonyclay.btn[disabled]:hover,fieldset[disabled] .blue-ebonyclay.btn,fieldset[disabled] .blue-ebonyclay.btn.active,fieldset[disabled] .blue-ebonyclay.btn:active,fieldset[disabled] .blue-ebonyclay.btn:focus,fieldset[disabled] .blue-ebonyclay.btn:hover{background-color:#22313F}.blue-ebonyclay.btn .badge{color:#22313F;background-color:#FFF}.portlet.blue-ebonyclay,.portlet.box.blue-ebonyclay>.portlet-title,.portlet>.portlet-body.blue-ebonyclay{background-color:#22313F}.btn.blue-ebonyclay-stripe{border-left:3px solid #22313F}.portlet.solid.blue-ebonyclay>.portlet-body,.portlet.solid.blue-ebonyclay>.portlet-title{border:0;color:#FFF}.portlet.solid.blue-ebonyclay>.portlet-title>.caption>i{color:#FFF}.portlet.solid.blue-ebonyclay>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.blue-ebonyclay>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.blue-ebonyclay>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.blue-ebonyclay>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.blue-ebonyclay>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.blue-ebonyclay>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.blue-ebonyclay{border:1px solid #344b60;border-top:0}.portlet.box.blue-ebonyclay>.portlet-title>.caption,.portlet.box.blue-ebonyclay>.portlet-title>.caption>i{color:#FFF}.portlet.box.blue-ebonyclay>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #496a88;color:#527798}.portlet.box.blue-ebonyclay>.portlet-title>.actions .btn-default>i{color:#587ea2}.portlet.box.blue-ebonyclay>.portlet-title>.actions .btn-default.active,.portlet.box.blue-ebonyclay>.portlet-title>.actions .btn-default:active,.portlet.box.blue-ebonyclay>.portlet-title>.actions .btn-default:focus,.portlet.box.blue-ebonyclay>.portlet-title>.actions .btn-default:hover{border:1px solid #5d83a7;color:#6d90b0}.dashboard-stat.blue-ebonyclay{background-color:#22313F}.dashboard-stat.blue-ebonyclay.dashboard-stat-light:hover{background-color:#1b2732}.dashboard-stat.blue-ebonyclay .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.blue-ebonyclay .details .number{color:#FFF}.dashboard-stat.blue-ebonyclay .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.blue-ebonyclay .more{color:#FFF;background-color:#1b2732}.bg-blue-ebonyclay{border-color:#22313F!important;background-image:none!important;background-color:#22313F!important;color:#FFF!important}.font-blue-ebonyclay{color:#22313F!important}.progress-bar.blue-ebonyclay{background:#22313F!important;color:#FFF!important}.blue-hoki.btn{color:#FFF;background-color:#67809F;border-color:""}.blue-hoki.btn.active,.blue-hoki.btn:active,.blue-hoki.btn:focus,.blue-hoki.btn:hover,.open .blue-hoki.btn.dropdown-toggle{color:#FFF;background-color:#586e8b}.blue-hoki.btn.active,.blue-hoki.btn:active{background-image:none;background-color:#4e627b}.blue-hoki.btn.active:hover,.blue-hoki.btn:active:hover{background-color:#526781}.open .blue-hoki.btn.dropdown-toggle{background-image:none}.blue-hoki.btn.disabled,.blue-hoki.btn.disabled.active,.blue-hoki.btn.disabled:active,.blue-hoki.btn.disabled:focus,.blue-hoki.btn.disabled:hover,.blue-hoki.btn[disabled],.blue-hoki.btn[disabled].active,.blue-hoki.btn[disabled]:active,.blue-hoki.btn[disabled]:focus,.blue-hoki.btn[disabled]:hover,fieldset[disabled] .blue-hoki.btn,fieldset[disabled] .blue-hoki.btn.active,fieldset[disabled] .blue-hoki.btn:active,fieldset[disabled] .blue-hoki.btn:focus,fieldset[disabled] .blue-hoki.btn:hover{background-color:#67809F}.blue-hoki.btn .badge{color:#67809F;background-color:#FFF}.portlet.blue-hoki,.portlet.box.blue-hoki>.portlet-title,.portlet>.portlet-body.blue-hoki{background-color:#67809F}.btn.blue-hoki-stripe{border-left:3px solid #67809F}.portlet.solid.blue-hoki>.portlet-body,.portlet.solid.blue-hoki>.portlet-title{border:0;color:#FFF}.portlet.solid.blue-hoki>.portlet-title>.caption>i{color:#FFF}.portlet.solid.blue-hoki>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.blue-hoki>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.blue-hoki>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.blue-hoki>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.blue-hoki>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.blue-hoki>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.blue-hoki{border:1px solid #869ab3;border-top:0}.portlet.box.blue-hoki>.portlet-title>.caption,.portlet.box.blue-hoki>.portlet-title>.caption>i{color:#FFF}.portlet.box.blue-hoki>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #acb9ca;color:#bbc7d4}.portlet.box.blue-hoki>.portlet-title>.actions .btn-default>i{color:#c5ceda}.portlet.box.blue-hoki>.portlet-title>.actions .btn-default.active,.portlet.box.blue-hoki>.portlet-title>.actions .btn-default:active,.portlet.box.blue-hoki>.portlet-title>.actions .btn-default:focus,.portlet.box.blue-hoki>.portlet-title>.actions .btn-default:hover{border:1px solid #cbd4de;color:#dbe1e8}.dashboard-stat.blue-hoki{background-color:#67809F}.dashboard-stat.blue-hoki.dashboard-stat-light:hover{background-color:#5e7694}.dashboard-stat.blue-hoki .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.blue-hoki .details .number{color:#FFF}.dashboard-stat.blue-hoki .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.blue-hoki .more{color:#FFF;background-color:#5e7694}.bg-blue-hoki{border-color:#67809F!important;background-image:none!important;background-color:#67809F!important;color:#FFF!important}.font-blue-hoki{color:#67809F!important}.progress-bar.blue-hoki{background:#67809F!important;color:#FFF!important}.blue-steel.btn{color:#FFF;background-color:#4B77BE;border-color:""}.blue-steel.btn.active,.blue-steel.btn:active,.blue-steel.btn:focus,.blue-steel.btn:hover,.open .blue-steel.btn.dropdown-toggle{color:#FFF;background-color:#3d66a8}.blue-steel.btn.active,.blue-steel.btn:active{background-image:none;background-color:#365b96}.blue-steel.btn.active:hover,.blue-steel.btn:active:hover{background-color:#395f9d}.open .blue-steel.btn.dropdown-toggle{background-image:none}.blue-steel.btn.disabled,.blue-steel.btn.disabled.active,.blue-steel.btn.disabled:active,.blue-steel.btn.disabled:focus,.blue-steel.btn.disabled:hover,.blue-steel.btn[disabled],.blue-steel.btn[disabled].active,.blue-steel.btn[disabled]:active,.blue-steel.btn[disabled]:focus,.blue-steel.btn[disabled]:hover,fieldset[disabled] .blue-steel.btn,fieldset[disabled] .blue-steel.btn.active,fieldset[disabled] .blue-steel.btn:active,fieldset[disabled] .blue-steel.btn:focus,fieldset[disabled] .blue-steel.btn:hover{background-color:#4B77BE}.blue-steel.btn .badge{color:#4B77BE;background-color:#FFF}.portlet.blue-steel,.portlet.box.blue-steel>.portlet-title,.portlet>.portlet-body.blue-steel{background-color:#4B77BE}.btn.blue-steel-stripe{border-left:3px solid #4B77BE}.portlet.solid.blue-steel>.portlet-body,.portlet.solid.blue-steel>.portlet-title{border:0;color:#FFF}.portlet.solid.blue-steel>.portlet-title>.caption>i{color:#FFF}.portlet.solid.blue-steel>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.blue-steel>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.blue-steel>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.blue-steel>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.blue-steel>.portlet-title>.tools>a.collapse{background-image:url(../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.blue-steel>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.blue-steel{border:1px solid #7093cc;border-top:0}.portlet.box.blue-steel>.portlet-title>.caption,.portlet.box.blue-steel>.portlet-title>.caption>i{color:#FFF}.portlet.box.blue-steel>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #9db5dc;color:#b0c3e3}.portlet.box.blue-steel>.portlet-title>.actions .btn-default>i{color:#bbcce7}.portlet.box.blue-steel>.portlet-title>.actions .btn-default.active,.portlet.box.blue-steel>.portlet-title>.actions .btn-default:active,.portlet.box.blue-steel>.portlet-title>.actions .btn-default:focus,.portlet.box.blue-steel>.portlet-title>.actions .btn-default:hover{border:1px solid #c3d2e9;color:#d6e0f0}.dashboard-stat.blue-steel{background-color:#4B77BE}.dashboard-stat.blue-steel.dashboard-stat-light:hover{background-color:#416db4}.dashboard-stat.blue-steel .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.blue-steel .details .number{color:#FFF}.dashboard-stat.blue-steel .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.blue-steel .more{color:#FFF;background-color:#416db4}.bg-blue-steel{border-color:#4B77BE!important;background-image:none!important;background-color:#4B77BE!important;color:#FFF!important}.font-blue-steel{color:#4B77BE!important}.progress-bar.blue-steel{background:#4B77BE!important;color:#FFF!important}.blue-soft.btn{color:#FFF;background-color:#4c87b9;border-color:""}.blue-soft.btn.active,.blue-soft.btn:active,.blue-soft.btn:focus,.blue-soft.btn:hover,.open .blue-soft.btn.dropdown-toggle{color:#FFF;background-color:#3f75a2}.blue-soft.btn.active,.blue-soft.btn:active{background-image:none;background-color:#386890}.blue-soft.btn.active:hover,.blue-soft.btn:active:hover{background-color:#3b6d97}.open .blue-soft.btn.dropdown-toggle{background-image:none}.blue-soft.btn.disabled,.blue-soft.btn.disabled.active,.blue-soft.btn.disabled:active,.blue-soft.btn.disabled:focus,.blue-soft.btn.disabled:hover,.blue-soft.btn[disabled],.blue-soft.btn[disabled].active,.blue-soft.btn[disabled]:active,.blue-soft.btn[disabled]:focus,.blue-soft.btn[disabled]:hover,fieldset[disabled] .blue-soft.btn,fieldset[disabled] .blue-soft.btn.active,fieldset[disabled] .blue-soft.btn:active,fieldset[disabled] .blue-soft.btn:focus,fieldset[disabled] .blue-soft.btn:hover{background-color:#4c87b9}.blue-soft.btn .badge{color:#4c87b9;background-color:#FFF}.portlet.blue-soft,.portlet.box.blue-soft>.portlet-title,.portlet>.portlet-body.blue-soft{background-color:#4c87b9}.btn.blue-soft-stripe{border-left:3px solid #4c87b9}.portlet.solid.blue-soft>.portlet-body,.portlet.solid.blue-soft>.portlet-title{border:0;color:#FFF}.portlet.solid.blue-soft>.portlet-title>.caption>i{color:#FFF}.portlet.solid.blue-soft>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.blue-soft>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.blue-soft>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.blue-soft>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.blue-soft>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.blue-soft>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.blue-soft{border:1px solid #71a0c7;border-top:0}.portlet.box.blue-soft>.portlet-title>.caption,.portlet.box.blue-soft>.portlet-title>.caption>i{color:#FFF}.portlet.box.blue-soft>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #9dbdd9;color:#afc9e0}.portlet.box.blue-soft>.portlet-title>.actions .btn-default>i{color:#bad1e4}.portlet.box.blue-soft>.portlet-title>.actions .btn-default.active,.portlet.box.blue-soft>.portlet-title>.actions .btn-default:active,.portlet.box.blue-soft>.portlet-title>.actions .btn-default:focus,.portlet.box.blue-soft>.portlet-title>.actions .btn-default:hover{border:1px solid #c1d6e7;color:#d4e2ee}.dashboard-stat.blue-soft{background-color:#4c87b9}.dashboard-stat.blue-soft.dashboard-stat-light:hover{background-color:#447dad}.dashboard-stat.blue-soft .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.blue-soft .details .number{color:#FFF}.dashboard-stat.blue-soft .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.blue-soft .more{color:#FFF;background-color:#447dad}.bg-blue-soft{border-color:#4c87b9!important;background-image:none!important;background-color:#4c87b9!important;color:#FFF!important}.font-blue-soft{color:#4c87b9!important}.progress-bar.blue-soft{background:#4c87b9!important;color:#FFF!important}.blue-dark.btn{color:#FFF;background-color:#5e738b;border-color:""}.blue-dark.btn.active,.blue-dark.btn:active,.blue-dark.btn:focus,.blue-dark.btn:hover,.open .blue-dark.btn.dropdown-toggle{color:#FFF;background-color:#506176}.blue-dark.btn.active,.blue-dark.btn:active{background-image:none;background-color:#455566}.blue-dark.btn.active:hover,.blue-dark.btn:active:hover{background-color:#495a6d}.open .blue-dark.btn.dropdown-toggle{background-image:none}.blue-dark.btn.disabled,.blue-dark.btn.disabled.active,.blue-dark.btn.disabled:active,.blue-dark.btn.disabled:focus,.blue-dark.btn.disabled:hover,.blue-dark.btn[disabled],.blue-dark.btn[disabled].active,.blue-dark.btn[disabled]:active,.blue-dark.btn[disabled]:focus,.blue-dark.btn[disabled]:hover,fieldset[disabled] .blue-dark.btn,fieldset[disabled] .blue-dark.btn.active,fieldset[disabled] .blue-dark.btn:active,fieldset[disabled] .blue-dark.btn:focus,fieldset[disabled] .blue-dark.btn:hover{background-color:#5e738b}.blue-dark.btn .badge{color:#5e738b;background-color:#FFF}.portlet.blue-dark,.portlet.box.blue-dark>.portlet-title,.portlet>.portlet-body.blue-dark{background-color:#5e738b}.btn.blue-dark-stripe{border-left:3px solid #5e738b}.portlet.solid.blue-dark>.portlet-body,.portlet.solid.blue-dark>.portlet-title{border:0;color:#FFF}.portlet.solid.blue-dark>.portlet-title>.caption>i{color:#FFF}.portlet.solid.blue-dark>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.blue-dark>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.blue-dark>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.blue-dark>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.blue-dark>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.blue-dark>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.blue-dark{border:1px solid #788da4;border-top:0}.portlet.box.blue-dark>.portlet-title>.caption,.portlet.box.blue-dark>.portlet-title>.caption>i{color:#FFF}.portlet.box.blue-dark>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #9dacbd;color:#acb8c7}.portlet.box.blue-dark>.portlet-title>.actions .btn-default>i{color:#b5c0cd}.portlet.box.blue-dark>.portlet-title>.actions .btn-default.active,.portlet.box.blue-dark>.portlet-title>.actions .btn-default:active,.portlet.box.blue-dark>.portlet-title>.actions .btn-default:focus,.portlet.box.blue-dark>.portlet-title>.actions .btn-default:hover{border:1px solid #bbc5d1;color:#cad2db}.dashboard-stat.blue-dark{background-color:#5e738b}.dashboard-stat.blue-dark.dashboard-stat-light:hover{background-color:#56697f}.dashboard-stat.blue-dark .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.blue-dark .details .number{color:#FFF}.dashboard-stat.blue-dark .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.blue-dark .more{color:#FFF;background-color:#56697f}.bg-blue-dark{border-color:#5e738b!important;background-image:none!important;background-color:#5e738b!important;color:#FFF!important}.font-blue-dark{color:#5e738b!important}.progress-bar.blue-dark{background:#5e738b!important;color:#FFF!important}.blue-sharp.btn{color:#FFF;background-color:#5C9BD1;border-color:""}.blue-sharp.btn.active,.blue-sharp.btn:active,.blue-sharp.btn:focus,.blue-sharp.btn:hover,.open .blue-sharp.btn.dropdown-toggle{color:#FFF;background-color:#408ac9}.blue-sharp.btn.active,.blue-sharp.btn:active{background-image:none;background-color:#357dbb}.blue-sharp.btn.active:hover,.blue-sharp.btn:active:hover{background-color:#3782c3}.open .blue-sharp.btn.dropdown-toggle{background-image:none}.blue-sharp.btn.disabled,.blue-sharp.btn.disabled.active,.blue-sharp.btn.disabled:active,.blue-sharp.btn.disabled:focus,.blue-sharp.btn.disabled:hover,.blue-sharp.btn[disabled],.blue-sharp.btn[disabled].active,.blue-sharp.btn[disabled]:active,.blue-sharp.btn[disabled]:focus,.blue-sharp.btn[disabled]:hover,fieldset[disabled] .blue-sharp.btn,fieldset[disabled] .blue-sharp.btn.active,fieldset[disabled] .blue-sharp.btn:active,fieldset[disabled] .blue-sharp.btn:focus,fieldset[disabled] .blue-sharp.btn:hover{background-color:#5C9BD1}.blue-sharp.btn .badge{color:#5C9BD1;background-color:#FFF}.portlet.blue-sharp,.portlet.box.blue-sharp>.portlet-title,.portlet>.portlet-body.blue-sharp{background-color:#5C9BD1}.btn.blue-sharp-stripe{border-left:3px solid #5C9BD1}.portlet.solid.blue-sharp>.portlet-body,.portlet.solid.blue-sharp>.portlet-title{border:0;color:#FFF}.portlet.solid.blue-sharp>.portlet-title>.caption>i{color:#FFF}.portlet.solid.blue-sharp>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.blue-sharp>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.blue-sharp>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.blue-sharp>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.blue-sharp>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.blue-sharp>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.blue-sharp{border:1px solid #84b3dc;border-top:0}.portlet.box.blue-sharp>.portlet-title>.caption,.portlet.box.blue-sharp>.portlet-title>.caption>i{color:#FFF}.portlet.box.blue-sharp>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #b4d1ea;color:#c7ddef}.portlet.box.blue-sharp>.portlet-title>.actions .btn-default>i{color:#d3e4f3}.portlet.box.blue-sharp>.portlet-title>.actions .btn-default.active,.portlet.box.blue-sharp>.portlet-title>.actions .btn-default:active,.portlet.box.blue-sharp>.portlet-title>.actions .btn-default:focus,.portlet.box.blue-sharp>.portlet-title>.actions .btn-default:hover{border:1px solid #dbe9f5;color:#eff5fb}.dashboard-stat.blue-sharp{background-color:#5C9BD1}.dashboard-stat.blue-sharp.dashboard-stat-light:hover{background-color:#4c91cd}.dashboard-stat.blue-sharp .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.blue-sharp .details .number{color:#FFF}.dashboard-stat.blue-sharp .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.blue-sharp .more{color:#FFF;background-color:#4c91cd}.bg-blue-sharp{border-color:#5C9BD1!important;background-image:none!important;background-color:#5C9BD1!important;color:#FFF!important}.font-blue-sharp{color:#5C9BD1!important}.progress-bar.blue-sharp{background:#5C9BD1!important;color:#FFF!important}.green.btn{color:#FFF;background-color:#35aa47;border-color:""}.green.btn.active,.green.btn:active,.green.btn:focus,.green.btn:hover,.open .green.btn.dropdown-toggle{color:#FFF;background-color:#2d8f3c}.green.btn.active,.green.btn:active{background-image:none;background-color:#267b34}.green.btn.active:hover,.green.btn:active:hover{background-color:#298337}.open .green.btn.dropdown-toggle{background-image:none}.green.btn.disabled,.green.btn.disabled.active,.green.btn.disabled:active,.green.btn.disabled:focus,.green.btn.disabled:hover,.green.btn[disabled],.green.btn[disabled].active,.green.btn[disabled]:active,.green.btn[disabled]:focus,.green.btn[disabled]:hover,fieldset[disabled] .green.btn,fieldset[disabled] .green.btn.active,fieldset[disabled] .green.btn:active,fieldset[disabled] .green.btn:focus,fieldset[disabled] .green.btn:hover{background-color:#35aa47}.green.btn .badge{color:#35aa47;background-color:#FFF}.portlet.box.green>.portlet-title,.portlet.green,.portlet>.portlet-body.green{background-color:#35aa47}.btn.green-stripe{border-left:3px solid #35aa47}.portlet.solid.green>.portlet-body,.portlet.solid.green>.portlet-title{border:0;color:#FFF}.portlet.solid.green>.portlet-title>.caption>i{color:#FFF}.portlet.solid.green>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.green>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.green>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.green>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.green>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.green>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.green{border:1px solid #4bc75e;border-top:0}.portlet.box.green>.portlet-title>.caption,.portlet.box.green>.portlet-title>.caption>i{color:#FFF}.portlet.box.green>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #7ad588;color:#8ddc99}.portlet.box.green>.portlet-title>.actions .btn-default>i{color:#99dfa4}.portlet.box.green>.portlet-title>.actions .btn-default.active,.portlet.box.green>.portlet-title>.actions .btn-default:active,.portlet.box.green>.portlet-title>.actions .btn-default:focus,.portlet.box.green>.portlet-title>.actions .btn-default:hover{border:1px solid #a1e2ab;color:#b4e8bc}.dashboard-stat.green{background-color:#35aa47}.dashboard-stat.green.dashboard-stat-light:hover{background-color:#309a41}.dashboard-stat.green .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.green .details .number{color:#FFF}.dashboard-stat.green .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.green .more{color:#FFF;background-color:#309a41}.bg-green{border-color:#35aa47!important;background-image:none!important;background-color:#35aa47!important;color:#FFF!important}.font-green{color:#35aa47!important}.progress-bar.green{background:#35aa47!important;color:#FFF!important}.green-meadow.btn{color:#FFF;background-color:#1BBC9B;border-color:""}.green-meadow.btn.active,.green-meadow.btn:active,.green-meadow.btn:focus,.green-meadow.btn:hover,.open .green-meadow.btn.dropdown-toggle{color:#FFF;background-color:#179d81}.green-meadow.btn.active,.green-meadow.btn:active{background-image:none;background-color:#13866f}.green-meadow.btn.active:hover,.green-meadow.btn:active:hover{background-color:#158f76}.open .green-meadow.btn.dropdown-toggle{background-image:none}.green-meadow.btn.disabled,.green-meadow.btn.disabled.active,.green-meadow.btn.disabled:active,.green-meadow.btn.disabled:focus,.green-meadow.btn.disabled:hover,.green-meadow.btn[disabled],.green-meadow.btn[disabled].active,.green-meadow.btn[disabled]:active,.green-meadow.btn[disabled]:focus,.green-meadow.btn[disabled]:hover,fieldset[disabled] .green-meadow.btn,fieldset[disabled] .green-meadow.btn.active,fieldset[disabled] .green-meadow.btn:active,fieldset[disabled] .green-meadow.btn:focus,fieldset[disabled] .green-meadow.btn:hover{background-color:#1BBC9B}.green-meadow.btn .badge{color:#1BBC9B;background-color:#FFF}.portlet.box.green-meadow>.portlet-title,.portlet.green-meadow,.portlet>.portlet-body.green-meadow{background-color:#1BBC9B}.btn.green-meadow-stripe{border-left:3px solid #1BBC9B}.portlet.solid.green-meadow>.portlet-body,.portlet.solid.green-meadow>.portlet-title{border:0;color:#FFF}.portlet.solid.green-meadow>.portlet-title>.caption>i{color:#FFF}.portlet.solid.green-meadow>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.green-meadow>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.green-meadow>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.green-meadow>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.green-meadow>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.green-meadow>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.green-meadow{border:1px solid #2ae0bb;border-top:0}.portlet.box.green-meadow>.portlet-title>.caption,.portlet.box.green-meadow>.portlet-title>.caption>i{color:#FFF}.portlet.box.green-meadow>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #5fe8cc;color:#75ebd3}.portlet.box.green-meadow>.portlet-title>.actions .btn-default>i{color:#83edd7}.portlet.box.green-meadow>.portlet-title>.actions .btn-default.active,.portlet.box.green-meadow>.portlet-title>.actions .btn-default:active,.portlet.box.green-meadow>.portlet-title>.actions .btn-default:focus,.portlet.box.green-meadow>.portlet-title>.actions .btn-default:hover{border:1px solid #8ceeda;color:#a2f2e1}.dashboard-stat.green-meadow{background-color:#1BBC9B}.dashboard-stat.green-meadow.dashboard-stat-light:hover{background-color:#18aa8c}.dashboard-stat.green-meadow .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.green-meadow .details .number{color:#FFF}.dashboard-stat.green-meadow .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.green-meadow .more{color:#FFF;background-color:#18aa8c}.bg-green-meadow{border-color:#1BBC9B!important;background-image:none!important;background-color:#1BBC9B!important;color:#FFF!important}.font-green-meadow{color:#1BBC9B!important}.progress-bar.green-meadow{background:#1BBC9B!important;color:#FFF!important}.green-seagreen.btn{color:#FFF;background-color:#1BA39C;border-color:""}.green-seagreen.btn.active,.green-seagreen.btn:active,.green-seagreen.btn:focus,.green-seagreen.btn:hover,.open .green-seagreen.btn.dropdown-toggle{color:#FFF;background-color:#16847f}.green-seagreen.btn.active,.green-seagreen.btn:active{background-image:none;background-color:#126e6a}.green-seagreen.btn.active:hover,.green-seagreen.btn:active:hover{background-color:#147772}.open .green-seagreen.btn.dropdown-toggle{background-image:none}.green-seagreen.btn.disabled,.green-seagreen.btn.disabled.active,.green-seagreen.btn.disabled:active,.green-seagreen.btn.disabled:focus,.green-seagreen.btn.disabled:hover,.green-seagreen.btn[disabled],.green-seagreen.btn[disabled].active,.green-seagreen.btn[disabled]:active,.green-seagreen.btn[disabled]:focus,.green-seagreen.btn[disabled]:hover,fieldset[disabled] .green-seagreen.btn,fieldset[disabled] .green-seagreen.btn.active,fieldset[disabled] .green-seagreen.btn:active,fieldset[disabled] .green-seagreen.btn:focus,fieldset[disabled] .green-seagreen.btn:hover{background-color:#1BA39C}.green-seagreen.btn .badge{color:#1BA39C;background-color:#FFF}.portlet.box.green-seagreen>.portlet-title,.portlet.green-seagreen,.portlet>.portlet-body.green-seagreen{background-color:#1BA39C}.btn.green-seagreen-stripe{border-left:3px solid #1BA39C}.portlet.solid.green-seagreen>.portlet-body,.portlet.solid.green-seagreen>.portlet-title{border:0;color:#FFF}.portlet.solid.green-seagreen>.portlet-title>.caption>i{color:#FFF}.portlet.solid.green-seagreen>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.green-seagreen>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.green-seagreen>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.green-seagreen>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.green-seagreen>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.green-seagreen>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.green-seagreen{border:1px solid #22cfc6;border-top:0}.portlet.box.green-seagreen>.portlet-title>.caption,.portlet.box.green-seagreen>.portlet-title>.caption>i{color:#FFF}.portlet.box.green-seagreen>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #4de1da;color:#63e5de}.portlet.box.green-seagreen>.portlet-title>.actions .btn-default>i{color:#70e7e1}.portlet.box.green-seagreen>.portlet-title>.actions .btn-default.active,.portlet.box.green-seagreen>.portlet-title>.actions .btn-default:active,.portlet.box.green-seagreen>.portlet-title>.actions .btn-default:focus,.portlet.box.green-seagreen>.portlet-title>.actions .btn-default:hover{border:1px solid #78e9e3;color:#8eece8}.dashboard-stat.green-seagreen{background-color:#1BA39C}.dashboard-stat.green-seagreen.dashboard-stat-light:hover{background-color:#18918b}.dashboard-stat.green-seagreen .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.green-seagreen .details .number{color:#FFF}.dashboard-stat.green-seagreen .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.green-seagreen .more{color:#FFF;background-color:#18918b}.bg-green-seagreen{border-color:#1BA39C!important;background-image:none!important;background-color:#1BA39C!important;color:#FFF!important}.font-green-seagreen{color:#1BA39C!important}.progress-bar.green-seagreen{background:#1BA39C!important;color:#FFF!important}.green-turquoise.btn{color:#FFF;background-color:#36D7B7;border-color:""}.green-turquoise.btn.active,.green-turquoise.btn:active,.green-turquoise.btn:focus,.green-turquoise.btn:hover,.open .green-turquoise.btn.dropdown-toggle{color:#FFF;background-color:#27c3a4}.green-turquoise.btn.active,.green-turquoise.btn:active{background-image:none;background-color:#22ad92}.green-turquoise.btn.active:hover,.green-turquoise.btn:active:hover{background-color:#24b699}.open .green-turquoise.btn.dropdown-toggle{background-image:none}.green-turquoise.btn.disabled,.green-turquoise.btn.disabled.active,.green-turquoise.btn.disabled:active,.green-turquoise.btn.disabled:focus,.green-turquoise.btn.disabled:hover,.green-turquoise.btn[disabled],.green-turquoise.btn[disabled].active,.green-turquoise.btn[disabled]:active,.green-turquoise.btn[disabled]:focus,.green-turquoise.btn[disabled]:hover,fieldset[disabled] .green-turquoise.btn,fieldset[disabled] .green-turquoise.btn.active,fieldset[disabled] .green-turquoise.btn:active,fieldset[disabled] .green-turquoise.btn:focus,fieldset[disabled] .green-turquoise.btn:hover{background-color:#36D7B7}.green-turquoise.btn .badge{color:#36D7B7;background-color:#FFF}.portlet.box.green-turquoise>.portlet-title,.portlet.green-turquoise,.portlet>.portlet-body.green-turquoise{background-color:#36D7B7}.btn.green-turquoise-stripe{border-left:3px solid #36D7B7}.portlet.solid.green-turquoise>.portlet-body,.portlet.solid.green-turquoise>.portlet-title{border:0;color:#FFF}.portlet.solid.green-turquoise>.portlet-title>.caption>i{color:#FFF}.portlet.solid.green-turquoise>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.green-turquoise>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.green-turquoise>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.green-turquoise>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.green-turquoise>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.green-turquoise>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.green-turquoise{border:1px solid #61dfc6;border-top:0}.portlet.box.green-turquoise>.portlet-title>.caption,.portlet.box.green-turquoise>.portlet-title>.caption>i{color:#FFF}.portlet.box.green-turquoise>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #94ead9;color:#a9eee0}.portlet.box.green-turquoise>.portlet-title>.actions .btn-default>i{color:#b6f0e5}.portlet.box.green-turquoise>.portlet-title>.actions .btn-default.active,.portlet.box.green-turquoise>.portlet-title>.actions .btn-default:active,.portlet.box.green-turquoise>.portlet-title>.actions .btn-default:focus,.portlet.box.green-turquoise>.portlet-title>.actions .btn-default:hover{border:1px solid #bef2e8;color:#d3f6ef}.dashboard-stat.green-turquoise{background-color:#36D7B7}.dashboard-stat.green-turquoise.dashboard-stat-light:hover{background-color:#29cfae}.dashboard-stat.green-turquoise .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.green-turquoise .details .number{color:#FFF}.dashboard-stat.green-turquoise .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.green-turquoise .more{color:#FFF;background-color:#29cfae}.bg-green-turquoise{border-color:#36D7B7!important;background-image:none!important;background-color:#36D7B7!important;color:#FFF!important}.font-green-turquoise{color:#36D7B7!important}.progress-bar.green-turquoise{background:#36D7B7!important;color:#FFF!important}.green-haze.btn{color:#FFF;background-color:#44b6ae;border-color:""}.green-haze.btn.active,.green-haze.btn:active,.green-haze.btn:focus,.green-haze.btn:hover,.open .green-haze.btn.dropdown-toggle{color:#FFF;background-color:#3a9c95}.green-haze.btn.active,.green-haze.btn:active{background-image:none;background-color:#338983}.green-haze.btn.active:hover,.green-haze.btn:active:hover{background-color:#36918b}.open .green-haze.btn.dropdown-toggle{background-image:none}.green-haze.btn.disabled,.green-haze.btn.disabled.active,.green-haze.btn.disabled:active,.green-haze.btn.disabled:focus,.green-haze.btn.disabled:hover,.green-haze.btn[disabled],.green-haze.btn[disabled].active,.green-haze.btn[disabled]:active,.green-haze.btn[disabled]:focus,.green-haze.btn[disabled]:hover,fieldset[disabled] .green-haze.btn,fieldset[disabled] .green-haze.btn.active,fieldset[disabled] .green-haze.btn:active,fieldset[disabled] .green-haze.btn:focus,fieldset[disabled] .green-haze.btn:hover{background-color:#44b6ae}.green-haze.btn .badge{color:#44b6ae;background-color:#FFF}.portlet.box.green-haze>.portlet-title,.portlet.green-haze,.portlet>.portlet-body.green-haze{background-color:#44b6ae}.btn.green-haze-stripe{border-left:3px solid #44b6ae}.portlet.solid.green-haze>.portlet-body,.portlet.solid.green-haze>.portlet-title{border:0;color:#FFF}.portlet.solid.green-haze>.portlet-title>.caption>i{color:#FFF}.portlet.solid.green-haze>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.green-haze>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.green-haze>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.green-haze>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.green-haze>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.green-haze>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.green-haze{border:1px solid #67c6bf;border-top:0}.portlet.box.green-haze>.portlet-title>.caption,.portlet.box.green-haze>.portlet-title>.caption>i{color:#FFF}.portlet.box.green-haze>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #93d7d2;color:#a6deda}.portlet.box.green-haze>.portlet-title>.actions .btn-default>i{color:#b1e2de}.portlet.box.green-haze>.portlet-title>.actions .btn-default.active,.portlet.box.green-haze>.portlet-title>.actions .btn-default:active,.portlet.box.green-haze>.portlet-title>.actions .btn-default:focus,.portlet.box.green-haze>.portlet-title>.actions .btn-default:hover{border:1px solid #b9e5e2;color:#cbece9}.dashboard-stat.green-haze{background-color:#44b6ae}.dashboard-stat.green-haze.dashboard-stat-light:hover{background-color:#3ea7a0}.dashboard-stat.green-haze .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.green-haze .details .number{color:#FFF}.dashboard-stat.green-haze .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.green-haze .more{color:#FFF;background-color:#3ea7a0}.bg-green-haze{border-color:#44b6ae!important;background-image:none!important;background-color:#44b6ae!important;color:#FFF!important}.font-green-haze{color:#44b6ae!important}.progress-bar.green-haze{background:#44b6ae!important;color:#FFF!important}.green-jungle.btn{color:#FFF;background-color:#26C281;border-color:""}.green-jungle.btn.active,.green-jungle.btn:active,.green-jungle.btn:focus,.green-jungle.btn:hover,.open .green-jungle.btn.dropdown-toggle{color:#FFF;background-color:#20a46d}.green-jungle.btn.active,.green-jungle.btn:active{background-image:none;background-color:#1c8f5f}.green-jungle.btn.active:hover,.green-jungle.btn:active:hover{background-color:#1e9765}.open .green-jungle.btn.dropdown-toggle{background-image:none}.green-jungle.btn.disabled,.green-jungle.btn.disabled.active,.green-jungle.btn.disabled:active,.green-jungle.btn.disabled:focus,.green-jungle.btn.disabled:hover,.green-jungle.btn[disabled],.green-jungle.btn[disabled].active,.green-jungle.btn[disabled]:active,.green-jungle.btn[disabled]:focus,.green-jungle.btn[disabled]:hover,fieldset[disabled] .green-jungle.btn,fieldset[disabled] .green-jungle.btn.active,fieldset[disabled] .green-jungle.btn:active,fieldset[disabled] .green-jungle.btn:focus,fieldset[disabled] .green-jungle.btn:hover{background-color:#26C281}.green-jungle.btn .badge{color:#26C281;background-color:#FFF}.portlet.box.green-jungle>.portlet-title,.portlet.green-jungle,.portlet>.portlet-body.green-jungle{background-color:#26C281}.btn.green-jungle-stripe{border-left:3px solid #26C281}.portlet.solid.green-jungle>.portlet-body,.portlet.solid.green-jungle>.portlet-title{border:0;color:#FFF}.portlet.solid.green-jungle>.portlet-title>.caption>i{color:#FFF}.portlet.solid.green-jungle>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.green-jungle>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.green-jungle>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.green-jungle>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.green-jungle>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.green-jungle>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.green-jungle{border:1px solid #41da9a;border-top:0}.portlet.box.green-jungle>.portlet-title>.caption,.portlet.box.green-jungle>.portlet-title>.caption>i{color:#FFF}.portlet.box.green-jungle>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #74e4b5;color:#8ae8c1}.portlet.box.green-jungle>.portlet-title>.actions .btn-default>i{color:#96ebc8}.portlet.box.green-jungle>.portlet-title>.actions .btn-default.active,.portlet.box.green-jungle>.portlet-title>.actions .btn-default:active,.portlet.box.green-jungle>.portlet-title>.actions .btn-default:focus,.portlet.box.green-jungle>.portlet-title>.actions .btn-default:hover{border:1px solid #9feccc;color:#b4f0d7}.dashboard-stat.green-jungle{background-color:#26C281}.dashboard-stat.green-jungle.dashboard-stat-light:hover{background-color:#23b176}.dashboard-stat.green-jungle .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.green-jungle .details .number{color:#FFF}.dashboard-stat.green-jungle .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.green-jungle .more{color:#FFF;background-color:#23b176}.bg-green-jungle{border-color:#26C281!important;background-image:none!important;background-color:#26C281!important;color:#FFF!important}.font-green-jungle{color:#26C281!important}.progress-bar.green-jungle{background:#26C281!important;color:#FFF!important}.green-sharp.btn{color:#FFF;background-color:#4DB3A2;border-color:""}.green-sharp.btn.active,.green-sharp.btn:active,.green-sharp.btn:focus,.green-sharp.btn:hover,.open .green-sharp.btn.dropdown-toggle{color:#FFF;background-color:#429a8c}.green-sharp.btn.active,.green-sharp.btn:active{background-image:none;background-color:#3a897b}.green-sharp.btn.active:hover,.green-sharp.btn:active:hover{background-color:#3d9082}.open .green-sharp.btn.dropdown-toggle{background-image:none}.green-sharp.btn.disabled,.green-sharp.btn.disabled.active,.green-sharp.btn.disabled:active,.green-sharp.btn.disabled:focus,.green-sharp.btn.disabled:hover,.green-sharp.btn[disabled],.green-sharp.btn[disabled].active,.green-sharp.btn[disabled]:active,.green-sharp.btn[disabled]:focus,.green-sharp.btn[disabled]:hover,fieldset[disabled] .green-sharp.btn,fieldset[disabled] .green-sharp.btn.active,fieldset[disabled] .green-sharp.btn:active,fieldset[disabled] .green-sharp.btn:focus,fieldset[disabled] .green-sharp.btn:hover{background-color:#4DB3A2}.green-sharp.btn .badge{color:#4DB3A2;background-color:#FFF}.portlet.box.green-sharp>.portlet-title,.portlet.green-sharp,.portlet>.portlet-body.green-sharp{background-color:#4DB3A2}.btn.green-sharp-stripe{border-left:3px solid #4DB3A2}.portlet.solid.green-sharp>.portlet-body,.portlet.solid.green-sharp>.portlet-title{border:0;color:#FFF}.portlet.solid.green-sharp>.portlet-title>.caption>i{color:#FFF}.portlet.solid.green-sharp>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.green-sharp>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.green-sharp>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.green-sharp>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.green-sharp>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.green-sharp>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.green-sharp{border:1px solid #71c2b5;border-top:0}.portlet.box.green-sharp>.portlet-title>.caption,.portlet.box.green-sharp>.portlet-title>.caption>i{color:#FFF}.portlet.box.green-sharp>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #9cd5cb;color:#addcd4}.portlet.box.green-sharp>.portlet-title>.actions .btn-default>i{color:#b8e1da}.portlet.box.green-sharp>.portlet-title>.actions .btn-default.active,.portlet.box.green-sharp>.portlet-title>.actions .btn-default:active,.portlet.box.green-sharp>.portlet-title>.actions .btn-default:focus,.portlet.box.green-sharp>.portlet-title>.actions .btn-default:hover{border:1px solid #bfe4de;color:#d1ebe7}.dashboard-stat.green-sharp{background-color:#4DB3A2}.dashboard-stat.green-sharp.dashboard-stat-light:hover{background-color:#46a595}.dashboard-stat.green-sharp .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.green-sharp .details .number{color:#FFF}.dashboard-stat.green-sharp .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.green-sharp .more{color:#FFF;background-color:#46a595}.bg-green-sharp{border-color:#4DB3A2!important;background-image:none!important;background-color:#4DB3A2!important;color:#FFF!important}.font-green-sharp{color:#4DB3A2!important}.progress-bar.green-sharp{background:#4DB3A2!important;color:#FFF!important}.green-soft.btn{color:#FFF;background-color:#3faba4;border-color:""}.green-soft.btn.active,.green-soft.btn:active,.green-soft.btn:focus,.green-soft.btn:hover,.open .green-soft.btn.dropdown-toggle{color:#FFF;background-color:#35918b}.green-soft.btn.active,.green-soft.btn:active{background-image:none;background-color:#2f7e79}.green-soft.btn.active:hover,.green-soft.btn:active:hover{background-color:#318680}.open .green-soft.btn.dropdown-toggle{background-image:none}.green-soft.btn.disabled,.green-soft.btn.disabled.active,.green-soft.btn.disabled:active,.green-soft.btn.disabled:focus,.green-soft.btn.disabled:hover,.green-soft.btn[disabled],.green-soft.btn[disabled].active,.green-soft.btn[disabled]:active,.green-soft.btn[disabled]:focus,.green-soft.btn[disabled]:hover,fieldset[disabled] .green-soft.btn,fieldset[disabled] .green-soft.btn.active,fieldset[disabled] .green-soft.btn:active,fieldset[disabled] .green-soft.btn:focus,fieldset[disabled] .green-soft.btn:hover{background-color:#3faba4}.green-soft.btn .badge{color:#3faba4;background-color:#FFF}.portlet.box.green-soft>.portlet-title,.portlet.green-soft,.portlet>.portlet-body.green-soft{background-color:#3faba4}.btn.green-soft-stripe{border-left:3px solid #3faba4}.portlet.solid.green-soft>.portlet-body,.portlet.solid.green-soft>.portlet-title{border:0;color:#FFF}.portlet.solid.green-soft>.portlet-title>.caption>i{color:#FFF}.portlet.solid.green-soft>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.green-soft>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.green-soft>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.green-soft>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.green-soft>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.green-soft>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.green-soft{border:1px solid #5bc2bc;border-top:0}.portlet.box.green-soft>.portlet-title>.caption,.portlet.box.green-soft>.portlet-title>.caption>i{color:#FFF}.portlet.box.green-soft>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #87d3ce;color:#9adad6}.portlet.box.green-soft>.portlet-title>.actions .btn-default>i{color:#a5deda}.portlet.box.green-soft>.portlet-title>.actions .btn-default.active,.portlet.box.green-soft>.portlet-title>.actions .btn-default:active,.portlet.box.green-soft>.portlet-title>.actions .btn-default:focus,.portlet.box.green-soft>.portlet-title>.actions .btn-default:hover{border:1px solid #ade1dd;color:#bfe7e5}.dashboard-stat.green-soft{background-color:#3faba4}.dashboard-stat.green-soft.dashboard-stat-light:hover{background-color:#3a9c96}.dashboard-stat.green-soft .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.green-soft .details .number{color:#FFF}.dashboard-stat.green-soft .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.green-soft .more{color:#FFF;background-color:#3a9c96}.bg-green-soft{border-color:#3faba4!important;background-image:none!important;background-color:#3faba4!important;color:#FFF!important}.font-green-soft{color:#3faba4!important}.progress-bar.green-soft{background:#3faba4!important;color:#FFF!important}.grey.btn{color:#333;background-color:#E5E5E5;border-color:""}.grey.btn.active,.grey.btn:active,.grey.btn:focus,.grey.btn:hover,.open .grey.btn.dropdown-toggle{color:#333;background-color:#d3d3d3}.grey.btn.active,.grey.btn:active{background-image:none;background-color:#c6c6c6}.grey.btn.active:hover,.grey.btn:active:hover{background-color:#ccc}.open .grey.btn.dropdown-toggle{background-image:none}.grey.btn.disabled,.grey.btn.disabled.active,.grey.btn.disabled:active,.grey.btn.disabled:focus,.grey.btn.disabled:hover,.grey.btn[disabled],.grey.btn[disabled].active,.grey.btn[disabled]:active,.grey.btn[disabled]:focus,.grey.btn[disabled]:hover,fieldset[disabled] .grey.btn,fieldset[disabled] .grey.btn.active,fieldset[disabled] .grey.btn:active,fieldset[disabled] .grey.btn:focus,fieldset[disabled] .grey.btn:hover{background-color:#E5E5E5}.grey.btn .badge{color:#E5E5E5;background-color:#333}.portlet.box.grey>.portlet-title,.portlet.grey,.portlet>.portlet-body.grey{background-color:#E5E5E5}.btn.grey-stripe{border-left:3px solid #E5E5E5}.portlet.solid.grey>.portlet-body,.portlet.solid.grey>.portlet-title{border:0;color:#333}.portlet.solid.grey>.portlet-title>.caption>i{color:#333}.portlet.solid.grey>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.grey>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.grey>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.grey>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.grey>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.grey>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.grey{border:1px solid #fff;border-top:0}.portlet.box.grey>.portlet-title>.caption,.portlet.box.grey>.portlet-title>.caption>i{color:#333}.portlet.box.grey>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #fff;color:#fff}.portlet.box.grey>.portlet-title>.actions .btn-default>i{color:#fff}.portlet.box.grey>.portlet-title>.actions .btn-default.active,.portlet.box.grey>.portlet-title>.actions .btn-default:active,.portlet.box.grey>.portlet-title>.actions .btn-default:focus,.portlet.box.grey>.portlet-title>.actions .btn-default:hover{border:1px solid #fff;color:#fff}.dashboard-stat.grey{background-color:#E5E5E5}.dashboard-stat.grey.dashboard-stat-light:hover{background-color:#dbdbdb}.dashboard-stat.grey .visual>i{color:#333;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.grey .details .number{color:#333}.dashboard-stat.grey .details .desc{color:#333;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.grey .more{color:#333;background-color:#dbdbdb}.bg-grey{border-color:#E5E5E5!important;background-image:none!important;background-color:#E5E5E5!important;color:#333!important}.font-grey{color:#E5E5E5!important}.progress-bar.grey{background:#E5E5E5!important;color:#333!important}.grey-steel.btn{color:#80898e;background-color:#e9edef;border-color:""}.grey-steel.btn.active,.grey-steel.btn:active,.grey-steel.btn:focus,.grey-steel.btn:hover,.open .grey-steel.btn.dropdown-toggle{color:#80898e;background-color:#d4dce0}.grey-steel.btn.active,.grey-steel.btn:active{background-image:none;background-color:#c6d0d5}.grey-steel.btn.active:hover,.grey-steel.btn:active:hover{background-color:#cbd5da}.open .grey-steel.btn.dropdown-toggle{background-image:none}.grey-steel.btn.disabled,.grey-steel.btn.disabled.active,.grey-steel.btn.disabled:active,.grey-steel.btn.disabled:focus,.grey-steel.btn.disabled:hover,.grey-steel.btn[disabled],.grey-steel.btn[disabled].active,.grey-steel.btn[disabled]:active,.grey-steel.btn[disabled]:focus,.grey-steel.btn[disabled]:hover,fieldset[disabled] .grey-steel.btn,fieldset[disabled] .grey-steel.btn.active,fieldset[disabled] .grey-steel.btn:active,fieldset[disabled] .grey-steel.btn:focus,fieldset[disabled] .grey-steel.btn:hover{background-color:#e9edef}.grey-steel.btn .badge{color:#e9edef;background-color:#80898e}.portlet.box.grey-steel>.portlet-title,.portlet.grey-steel,.portlet>.portlet-body.grey-steel{background-color:#e9edef}.btn.grey-steel-stripe{border-left:3px solid #e9edef}.portlet.solid.grey-steel>.portlet-body,.portlet.solid.grey-steel>.portlet-title{border:0;color:#80898e}.portlet.solid.grey-steel>.portlet-title>.caption>i{color:#80898e}.portlet.solid.grey-steel>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.grey-steel>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.grey-steel>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.grey-steel>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.grey-steel>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.grey-steel>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.grey-steel{border:1px solid #fff;border-top:0}.portlet.box.grey-steel>.portlet-title>.caption,.portlet.box.grey-steel>.portlet-title>.caption>i{color:#80898e}.portlet.box.grey-steel>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #fff;color:#fff}.portlet.box.grey-steel>.portlet-title>.actions .btn-default>i{color:#fff}.portlet.box.grey-steel>.portlet-title>.actions .btn-default.active,.portlet.box.grey-steel>.portlet-title>.actions .btn-default:active,.portlet.box.grey-steel>.portlet-title>.actions .btn-default:focus,.portlet.box.grey-steel>.portlet-title>.actions .btn-default:hover{border:1px solid #fff;color:#fff}.dashboard-stat.grey-steel{background-color:#e9edef}.dashboard-stat.grey-steel.dashboard-stat-light:hover{background-color:#dde3e6}.dashboard-stat.grey-steel .visual>i{color:#80898e;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.grey-steel .details .number{color:#80898e}.dashboard-stat.grey-steel .details .desc{color:#80898e;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.grey-steel .more{color:#80898e;background-color:#dde3e6}.bg-grey-steel{border-color:#e9edef!important;background-image:none!important;background-color:#e9edef!important;color:#80898e!important}.font-grey-steel{color:#e9edef!important}.progress-bar.grey-steel{background:#e9edef!important;color:#80898e!important}.grey-cararra.btn{color:#333;background-color:#fafafa;border-color:""}.grey-cararra.btn.active,.grey-cararra.btn:active,.grey-cararra.btn:focus,.grey-cararra.btn:hover,.open .grey-cararra.btn.dropdown-toggle{color:#333;background-color:#e8e8e8}.grey-cararra.btn.active,.grey-cararra.btn:active{background-image:none;background-color:#dbdbdb}.grey-cararra.btn.active:hover,.grey-cararra.btn:active:hover{background-color:#e1e1e1}.open .grey-cararra.btn.dropdown-toggle{background-image:none}.grey-cararra.btn.disabled,.grey-cararra.btn.disabled.active,.grey-cararra.btn.disabled:active,.grey-cararra.btn.disabled:focus,.grey-cararra.btn.disabled:hover,.grey-cararra.btn[disabled],.grey-cararra.btn[disabled].active,.grey-cararra.btn[disabled]:active,.grey-cararra.btn[disabled]:focus,.grey-cararra.btn[disabled]:hover,fieldset[disabled] .grey-cararra.btn,fieldset[disabled] .grey-cararra.btn.active,fieldset[disabled] .grey-cararra.btn:active,fieldset[disabled] .grey-cararra.btn:focus,fieldset[disabled] .grey-cararra.btn:hover{background-color:#fafafa}.grey-cararra.btn .badge{color:#fafafa;background-color:#333}.portlet.box.grey-cararra>.portlet-title,.portlet.grey-cararra,.portlet>.portlet-body.grey-cararra{background-color:#fafafa}.btn.grey-cararra-stripe{border-left:3px solid #fafafa}.portlet.solid.grey-cararra>.portlet-body,.portlet.solid.grey-cararra>.portlet-title{border:0;color:#333}.portlet.solid.grey-cararra>.portlet-title>.caption>i{color:#333}.portlet.solid.grey-cararra>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.grey-cararra>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.grey-cararra>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.grey-cararra>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.grey-cararra>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.grey-cararra>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.grey-cararra{border:1px solid #fff;border-top:0}.portlet.box.grey-cararra>.portlet-title>.caption,.portlet.box.grey-cararra>.portlet-title>.caption>i{color:#333}.portlet.box.grey-cararra>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #fff;color:#fff}.portlet.box.grey-cararra>.portlet-title>.actions .btn-default>i{color:#fff}.portlet.box.grey-cararra>.portlet-title>.actions .btn-default.active,.portlet.box.grey-cararra>.portlet-title>.actions .btn-default:active,.portlet.box.grey-cararra>.portlet-title>.actions .btn-default:focus,.portlet.box.grey-cararra>.portlet-title>.actions .btn-default:hover{border:1px solid #fff;color:#fff}.dashboard-stat.grey-cararra{background-color:#fafafa}.dashboard-stat.grey-cararra.dashboard-stat-light:hover{background-color:#f0f0f0}.dashboard-stat.grey-cararra .visual>i{color:#333;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.grey-cararra .details .number{color:#333}.dashboard-stat.grey-cararra .details .desc{color:#333;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.grey-cararra .more{color:#333;background-color:#f0f0f0}.bg-grey-cararra{border-color:#fafafa!important;background-image:none!important;background-color:#fafafa!important;color:#333!important}.font-grey-cararra{color:#fafafa!important}.progress-bar.grey-cararra{background:#fafafa!important;color:#333!important}.grey-gallery.btn{color:#fff;background-color:#555;border-color:""}.grey-gallery.btn.active,.grey-gallery.btn:active,.grey-gallery.btn:focus,.grey-gallery.btn:hover,.open .grey-gallery.btn.dropdown-toggle{color:#fff;background-color:#434343}.grey-gallery.btn.active,.grey-gallery.btn:active{background-image:none;background-color:#363636}.grey-gallery.btn.active:hover,.grey-gallery.btn:active:hover{background-color:#3b3b3b}.open .grey-gallery.btn.dropdown-toggle{background-image:none}.grey-gallery.btn.disabled,.grey-gallery.btn.disabled.active,.grey-gallery.btn.disabled:active,.grey-gallery.btn.disabled:focus,.grey-gallery.btn.disabled:hover,.grey-gallery.btn[disabled],.grey-gallery.btn[disabled].active,.grey-gallery.btn[disabled]:active,.grey-gallery.btn[disabled]:focus,.grey-gallery.btn[disabled]:hover,fieldset[disabled] .grey-gallery.btn,fieldset[disabled] .grey-gallery.btn.active,fieldset[disabled] .grey-gallery.btn:active,fieldset[disabled] .grey-gallery.btn:focus,fieldset[disabled] .grey-gallery.btn:hover{background-color:#555}.grey-gallery.btn .badge{color:#555;background-color:#fff}.portlet.box.grey-gallery>.portlet-title,.portlet.grey-gallery,.portlet>.portlet-body.grey-gallery{background-color:#555}.btn.grey-gallery-stripe{border-left:3px solid #555}.portlet.solid.grey-gallery>.portlet-body,.portlet.solid.grey-gallery>.portlet-title{border:0;color:#fff}.portlet.solid.grey-gallery>.portlet-title>.caption>i{color:#fff}.portlet.solid.grey-gallery>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.grey-gallery>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.grey-gallery>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.grey-gallery>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.grey-gallery>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.grey-gallery>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.grey-gallery{border:1px solid #6e6e6e;border-top:0}.portlet.box.grey-gallery>.portlet-title>.caption,.portlet.box.grey-gallery>.portlet-title>.caption>i{color:#fff}.portlet.box.grey-gallery>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #8d8d8d;color:#9a9a9a}.portlet.box.grey-gallery>.portlet-title>.actions .btn-default>i{color:#a2a2a2}.portlet.box.grey-gallery>.portlet-title>.actions .btn-default.active,.portlet.box.grey-gallery>.portlet-title>.actions .btn-default:active,.portlet.box.grey-gallery>.portlet-title>.actions .btn-default:focus,.portlet.box.grey-gallery>.portlet-title>.actions .btn-default:hover{border:1px solid #a7a7a7;color:#b3b3b3}.dashboard-stat.grey-gallery{background-color:#555}.dashboard-stat.grey-gallery.dashboard-stat-light:hover{background-color:#4b4b4b}.dashboard-stat.grey-gallery .visual>i{color:#fff;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.grey-gallery .details .number{color:#fff}.dashboard-stat.grey-gallery .details .desc{color:#fff;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.grey-gallery .more{color:#fff;background-color:#4b4b4b}.bg-grey-gallery{border-color:#555!important;background-image:none!important;background-color:#555!important;color:#fff!important}.font-grey-gallery{color:#555!important}.progress-bar.grey-gallery{background:#555!important;color:#fff!important}.grey-cascade.btn{color:#FFF;background-color:#95A5A6;border-color:""}.grey-cascade.btn.active,.grey-cascade.btn:active,.grey-cascade.btn:focus,.grey-cascade.btn:hover,.open .grey-cascade.btn.dropdown-toggle{color:#FFF;background-color:#829596}.grey-cascade.btn.active,.grey-cascade.btn:active{background-image:none;background-color:#74898a}.grey-cascade.btn.active:hover,.grey-cascade.btn:active:hover{background-color:#798d8f}.open .grey-cascade.btn.dropdown-toggle{background-image:none}.grey-cascade.btn.disabled,.grey-cascade.btn.disabled.active,.grey-cascade.btn.disabled:active,.grey-cascade.btn.disabled:focus,.grey-cascade.btn.disabled:hover,.grey-cascade.btn[disabled],.grey-cascade.btn[disabled].active,.grey-cascade.btn[disabled]:active,.grey-cascade.btn[disabled]:focus,.grey-cascade.btn[disabled]:hover,fieldset[disabled] .grey-cascade.btn,fieldset[disabled] .grey-cascade.btn.active,fieldset[disabled] .grey-cascade.btn:active,fieldset[disabled] .grey-cascade.btn:focus,fieldset[disabled] .grey-cascade.btn:hover{background-color:#95A5A6}.grey-cascade.btn .badge{color:#95A5A6;background-color:#FFF}.portlet.box.grey-cascade>.portlet-title,.portlet.grey-cascade,.portlet>.portlet-body.grey-cascade{background-color:#95A5A6}.btn.grey-cascade-stripe{border-left:3px solid #95A5A6}.portlet.solid.grey-cascade>.portlet-body,.portlet.solid.grey-cascade>.portlet-title{border:0;color:#FFF}.portlet.solid.grey-cascade>.portlet-title>.caption>i{color:#FFF}.portlet.solid.grey-cascade>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.grey-cascade>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.grey-cascade>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.grey-cascade>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.grey-cascade>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.grey-cascade>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.grey-cascade{border:1px solid #b1bdbd;border-top:0}.portlet.box.grey-cascade>.portlet-title>.caption,.portlet.box.grey-cascade>.portlet-title>.caption>i{color:#FFF}.portlet.box.grey-cascade>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #d2d9d9;color:#e0e5e5}.portlet.box.grey-cascade>.portlet-title>.actions .btn-default>i{color:#e8ecec}.portlet.box.grey-cascade>.portlet-title>.actions .btn-default.active,.portlet.box.grey-cascade>.portlet-title>.actions .btn-default:active,.portlet.box.grey-cascade>.portlet-title>.actions .btn-default:focus,.portlet.box.grey-cascade>.portlet-title>.actions .btn-default:hover{border:1px solid #eef0f0;color:#fcfcfc}.dashboard-stat.grey-cascade{background-color:#95A5A6}.dashboard-stat.grey-cascade.dashboard-stat-light:hover{background-color:#8a9c9d}.dashboard-stat.grey-cascade .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.grey-cascade .details .number{color:#FFF}.dashboard-stat.grey-cascade .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.grey-cascade .more{color:#FFF;background-color:#8a9c9d}.bg-grey-cascade{border-color:#95A5A6!important;background-image:none!important;background-color:#95A5A6!important;color:#FFF!important}.font-grey-cascade{color:#95A5A6!important}.progress-bar.grey-cascade{background:#95A5A6!important;color:#FFF!important}.grey-silver.btn{color:#FAFCFB;background-color:#BFBFBF;border-color:""}.grey-silver.btn.active,.grey-silver.btn:active,.grey-silver.btn:focus,.grey-silver.btn:hover,.open .grey-silver.btn.dropdown-toggle{color:#FAFCFB;background-color:#adadad}.grey-silver.btn.active,.grey-silver.btn:active{background-image:none;background-color:#a0a0a0}.grey-silver.btn.active:hover,.grey-silver.btn:active:hover{background-color:#a6a6a6}.open .grey-silver.btn.dropdown-toggle{background-image:none}.grey-silver.btn.disabled,.grey-silver.btn.disabled.active,.grey-silver.btn.disabled:active,.grey-silver.btn.disabled:focus,.grey-silver.btn.disabled:hover,.grey-silver.btn[disabled],.grey-silver.btn[disabled].active,.grey-silver.btn[disabled]:active,.grey-silver.btn[disabled]:focus,.grey-silver.btn[disabled]:hover,fieldset[disabled] .grey-silver.btn,fieldset[disabled] .grey-silver.btn.active,fieldset[disabled] .grey-silver.btn:active,fieldset[disabled] .grey-silver.btn:focus,fieldset[disabled] .grey-silver.btn:hover{background-color:#BFBFBF}.grey-silver.btn .badge{color:#BFBFBF;background-color:#FAFCFB}.portlet.box.grey-silver>.portlet-title,.portlet.grey-silver,.portlet>.portlet-body.grey-silver{background-color:#BFBFBF}.btn.grey-silver-stripe{border-left:3px solid #BFBFBF}.portlet.solid.grey-silver>.portlet-body,.portlet.solid.grey-silver>.portlet-title{border:0;color:#FAFCFB}.portlet.solid.grey-silver>.portlet-title>.caption>i{color:#FAFCFB}.portlet.solid.grey-silver>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.grey-silver>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.grey-silver>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.grey-silver>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.grey-silver>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.grey-silver>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.grey-silver{border:1px solid #d9d9d9;border-top:0}.portlet.box.grey-silver>.portlet-title>.caption,.portlet.box.grey-silver>.portlet-title>.caption>i{color:#FAFCFB}.portlet.box.grey-silver>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #f7f7f7;color:#fff}.portlet.box.grey-silver>.portlet-title>.actions .btn-default>i{color:#fff}.portlet.box.grey-silver>.portlet-title>.actions .btn-default.active,.portlet.box.grey-silver>.portlet-title>.actions .btn-default:active,.portlet.box.grey-silver>.portlet-title>.actions .btn-default:focus,.portlet.box.grey-silver>.portlet-title>.actions .btn-default:hover{border:1px solid #fff;color:#fff}.dashboard-stat.grey-silver{background-color:#BFBFBF}.dashboard-stat.grey-silver.dashboard-stat-light:hover{background-color:#b5b5b5}.dashboard-stat.grey-silver .visual>i{color:#FAFCFB;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.grey-silver .details .number{color:#FAFCFB}.dashboard-stat.grey-silver .details .desc{color:#FAFCFB;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.grey-silver .more{color:#FAFCFB;background-color:#b5b5b5}.bg-grey-silver{border-color:#BFBFBF!important;background-image:none!important;background-color:#BFBFBF!important;color:#FAFCFB!important}.font-grey-silver{color:#BFBFBF!important}.progress-bar.grey-silver{background:#BFBFBF!important;color:#FAFCFB!important}.grey-salsa.btn{color:#FAFCFB;background-color:#ACB5C3;border-color:""}.grey-salsa.btn.active,.grey-salsa.btn:active,.grey-salsa.btn:focus,.grey-salsa.btn:hover,.open .grey-salsa.btn.dropdown-toggle{color:#FAFCFB;background-color:#97a3b4}.grey-salsa.btn.active,.grey-salsa.btn:active{background-image:none;background-color:#8895a9}.grey-salsa.btn.active:hover,.grey-salsa.btn:active:hover{background-color:#8e9bae}.open .grey-salsa.btn.dropdown-toggle{background-image:none}.grey-salsa.btn.disabled,.grey-salsa.btn.disabled.active,.grey-salsa.btn.disabled:active,.grey-salsa.btn.disabled:focus,.grey-salsa.btn.disabled:hover,.grey-salsa.btn[disabled],.grey-salsa.btn[disabled].active,.grey-salsa.btn[disabled]:active,.grey-salsa.btn[disabled]:focus,.grey-salsa.btn[disabled]:hover,fieldset[disabled] .grey-salsa.btn,fieldset[disabled] .grey-salsa.btn.active,fieldset[disabled] .grey-salsa.btn:active,fieldset[disabled] .grey-salsa.btn:focus,fieldset[disabled] .grey-salsa.btn:hover{background-color:#ACB5C3}.grey-salsa.btn .badge{color:#ACB5C3;background-color:#FAFCFB}.portlet.box.grey-salsa>.portlet-title,.portlet.grey-salsa,.portlet>.portlet-body.grey-salsa{background-color:#ACB5C3}.btn.grey-salsa-stripe{border-left:3px solid #ACB5C3}.portlet.solid.grey-salsa>.portlet-body,.portlet.solid.grey-salsa>.portlet-title{border:0;color:#FAFCFB}.portlet.solid.grey-salsa>.portlet-title>.caption>i{color:#FAFCFB}.portlet.solid.grey-salsa>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.grey-salsa>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.grey-salsa>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.grey-salsa>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.grey-salsa>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.grey-salsa>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.grey-salsa{border:1px solid #cacfd8;border-top:0}.portlet.box.grey-salsa>.portlet-title>.caption,.portlet.box.grey-salsa>.portlet-title>.caption>i{color:#FAFCFB}.portlet.box.grey-salsa>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #edeff2;color:#fcfcfd}.portlet.box.grey-salsa>.portlet-title>.actions .btn-default>i{color:#fff}.portlet.box.grey-salsa>.portlet-title>.actions .btn-default.active,.portlet.box.grey-salsa>.portlet-title>.actions .btn-default:active,.portlet.box.grey-salsa>.portlet-title>.actions .btn-default:focus,.portlet.box.grey-salsa>.portlet-title>.actions .btn-default:hover{border:1px solid #fff;color:#fff}.dashboard-stat.grey-salsa{background-color:#ACB5C3}.dashboard-stat.grey-salsa.dashboard-stat-light:hover{background-color:#a0aaba}.dashboard-stat.grey-salsa .visual>i{color:#FAFCFB;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.grey-salsa .details .number{color:#FAFCFB}.dashboard-stat.grey-salsa .details .desc{color:#FAFCFB;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.grey-salsa .more{color:#FAFCFB;background-color:#a0aaba}.bg-grey-salsa{border-color:#ACB5C3!important;background-image:none!important;background-color:#ACB5C3!important;color:#FAFCFB!important}.font-grey-salsa{color:#ACB5C3!important}.progress-bar.grey-salsa{background:#ACB5C3!important;color:#FAFCFB!important}.grey-salt.btn{color:#FAFCFB;background-color:#bfcad1;border-color:""}.grey-salt.btn.active,.grey-salt.btn:active,.grey-salt.btn:focus,.grey-salt.btn:hover,.open .grey-salt.btn.dropdown-toggle{color:#FAFCFB;background-color:#aab9c2}.grey-salt.btn.active,.grey-salt.btn:active{background-image:none;background-color:#9badb7}.grey-salt.btn.active:hover,.grey-salt.btn:active:hover{background-color:#a1b1bc}.open .grey-salt.btn.dropdown-toggle{background-image:none}.grey-salt.btn.disabled,.grey-salt.btn.disabled.active,.grey-salt.btn.disabled:active,.grey-salt.btn.disabled:focus,.grey-salt.btn.disabled:hover,.grey-salt.btn[disabled],.grey-salt.btn[disabled].active,.grey-salt.btn[disabled]:active,.grey-salt.btn[disabled]:focus,.grey-salt.btn[disabled]:hover,fieldset[disabled] .grey-salt.btn,fieldset[disabled] .grey-salt.btn.active,fieldset[disabled] .grey-salt.btn:active,fieldset[disabled] .grey-salt.btn:focus,fieldset[disabled] .grey-salt.btn:hover{background-color:#bfcad1}.grey-salt.btn .badge{color:#bfcad1;background-color:#FAFCFB}.portlet.box.grey-salt>.portlet-title,.portlet.grey-salt,.portlet>.portlet-body.grey-salt{background-color:#bfcad1}.btn.grey-salt-stripe{border-left:3px solid #bfcad1}.portlet.solid.grey-salt>.portlet-body,.portlet.solid.grey-salt>.portlet-title{border:0;color:#FAFCFB}.portlet.solid.grey-salt>.portlet-title>.caption>i{color:#FAFCFB}.portlet.solid.grey-salt>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.grey-salt>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.grey-salt>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.grey-salt>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.grey-salt>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.grey-salt>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.grey-salt{border:1px solid #dde3e6;border-top:0}.portlet.box.grey-salt>.portlet-title>.caption,.portlet.box.grey-salt>.portlet-title>.caption>i{color:#FAFCFB}.portlet.box.grey-salt>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #fff;color:#fff}.portlet.box.grey-salt>.portlet-title>.actions .btn-default>i{color:#fff}.portlet.box.grey-salt>.portlet-title>.actions .btn-default.active,.portlet.box.grey-salt>.portlet-title>.actions .btn-default:active,.portlet.box.grey-salt>.portlet-title>.actions .btn-default:focus,.portlet.box.grey-salt>.portlet-title>.actions .btn-default:hover{border:1px solid #fff;color:#fff}.dashboard-stat.grey-salt{background-color:#bfcad1}.dashboard-stat.grey-salt.dashboard-stat-light:hover{background-color:#b3c0c8}.dashboard-stat.grey-salt .visual>i{color:#FAFCFB;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.grey-salt .details .number{color:#FAFCFB}.dashboard-stat.grey-salt .details .desc{color:#FAFCFB;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.grey-salt .more{color:#FAFCFB;background-color:#b3c0c8}.bg-grey-salt{border-color:#bfcad1!important;background-image:none!important;background-color:#bfcad1!important;color:#FAFCFB!important}.font-grey-salt{color:#bfcad1!important}.progress-bar.grey-salt{background:#bfcad1!important;color:#FAFCFB!important}.grey-mint.btn{color:#FAFCFB;background-color:#9eacb4;border-color:""}.grey-mint.btn.active,.grey-mint.btn:active,.grey-mint.btn:focus,.grey-mint.btn:hover,.open .grey-mint.btn.dropdown-toggle{color:#FAFCFB;background-color:#8a9ba4}.grey-mint.btn.active,.grey-mint.btn:active{background-image:none;background-color:#7b8e99}.grey-mint.btn.active:hover,.grey-mint.btn:active:hover{background-color:#81939e}.open .grey-mint.btn.dropdown-toggle{background-image:none}.grey-mint.btn.disabled,.grey-mint.btn.disabled.active,.grey-mint.btn.disabled:active,.grey-mint.btn.disabled:focus,.grey-mint.btn.disabled:hover,.grey-mint.btn[disabled],.grey-mint.btn[disabled].active,.grey-mint.btn[disabled]:active,.grey-mint.btn[disabled]:focus,.grey-mint.btn[disabled]:hover,fieldset[disabled] .grey-mint.btn,fieldset[disabled] .grey-mint.btn.active,fieldset[disabled] .grey-mint.btn:active,fieldset[disabled] .grey-mint.btn:focus,fieldset[disabled] .grey-mint.btn:hover{background-color:#9eacb4}.grey-mint.btn .badge{color:#9eacb4;background-color:#FAFCFB}.portlet.box.grey-mint>.portlet-title,.portlet.grey-mint,.portlet>.portlet-body.grey-mint{background-color:#9eacb4}.btn.grey-mint-stripe{border-left:3px solid #9eacb4}.portlet.solid.grey-mint>.portlet-body,.portlet.solid.grey-mint>.portlet-title{border:0;color:#FAFCFB}.portlet.solid.grey-mint>.portlet-title>.caption>i{color:#FAFCFB}.portlet.solid.grey-mint>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.grey-mint>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.grey-mint>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.grey-mint>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.grey-mint>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.grey-mint>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.grey-mint{border:1px solid #bbc5ca;border-top:0}.portlet.box.grey-mint>.portlet-title>.caption,.portlet.box.grey-mint>.portlet-title>.caption>i{color:#FAFCFB}.portlet.box.grey-mint>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #dde2e5;color:#eceef0}.portlet.box.grey-mint>.portlet-title>.actions .btn-default>i{color:#f4f6f7}.portlet.box.grey-mint>.portlet-title>.actions .btn-default.active,.portlet.box.grey-mint>.portlet-title>.actions .btn-default:active,.portlet.box.grey-mint>.portlet-title>.actions .btn-default:focus,.portlet.box.grey-mint>.portlet-title>.actions .btn-default:hover{border:1px solid #fafbfb;color:#fff}.dashboard-stat.grey-mint{background-color:#9eacb4}.dashboard-stat.grey-mint.dashboard-stat-light:hover{background-color:#92a2ab}.dashboard-stat.grey-mint .visual>i{color:#FAFCFB;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.grey-mint .details .number{color:#FAFCFB}.dashboard-stat.grey-mint .details .desc{color:#FAFCFB;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.grey-mint .more{color:#FAFCFB;background-color:#92a2ab}.bg-grey-mint{border-color:#9eacb4!important;background-image:none!important;background-color:#9eacb4!important;color:#FAFCFB!important}.font-grey-mint{color:#9eacb4!important}.progress-bar.grey-mint{background:#9eacb4!important;color:#FAFCFB!important}.red.btn{color:#FFF;background-color:#d84a38;border-color:""}.open .red.btn.dropdown-toggle,.red.btn.active,.red.btn:active,.red.btn:focus,.red.btn:hover{color:#FFF;background-color:#c63927}.red.btn.active,.red.btn:active{background-image:none;background-color:#b03223}.red.btn.active:hover,.red.btn:active:hover{background-color:#b93524}.open .red.btn.dropdown-toggle{background-image:none}.red.btn.disabled,.red.btn.disabled.active,.red.btn.disabled:active,.red.btn.disabled:focus,.red.btn.disabled:hover,.red.btn[disabled],.red.btn[disabled].active,.red.btn[disabled]:active,.red.btn[disabled]:focus,.red.btn[disabled]:hover,fieldset[disabled] .red.btn,fieldset[disabled] .red.btn.active,fieldset[disabled] .red.btn:active,fieldset[disabled] .red.btn:focus,fieldset[disabled] .red.btn:hover{background-color:#d84a38}.red.btn .badge{color:#d84a38;background-color:#FFF}.portlet.box.red>.portlet-title,.portlet.red,.portlet>.portlet-body.red{background-color:#d84a38}.btn.red-stripe{border-left:3px solid #d84a38}.portlet.solid.red>.portlet-body,.portlet.solid.red>.portlet-title{border:0;color:#FFF}.portlet.solid.red>.portlet-title>.caption>i{color:#FFF}.portlet.solid.red>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.red>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.red>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.red>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.red>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.red>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.red{border:1px solid #e07163;border-top:0}.portlet.box.red>.portlet-title>.caption,.portlet.box.red>.portlet-title>.caption>i{color:#FFF}.portlet.box.red>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #ea9f96;color:#efb3ab}.portlet.box.red>.portlet-title>.actions .btn-default>i{color:#f1beb8}.portlet.box.red>.portlet-title>.actions .btn-default.active,.portlet.box.red>.portlet-title>.actions .btn-default:active,.portlet.box.red>.portlet-title>.actions .btn-default:focus,.portlet.box.red>.portlet-title>.actions .btn-default:hover{border:1px solid #f3c6c0;color:#f7dad6}.dashboard-stat.red{background-color:#d84a38}.dashboard-stat.red.dashboard-stat-light:hover{background-color:#d23c29}.dashboard-stat.red .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.red .details .number{color:#FFF}.dashboard-stat.red .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.red .more{color:#FFF;background-color:#d23c29}.bg-red{border-color:#d84a38!important;background-image:none!important;background-color:#d84a38!important;color:#FFF!important}.font-red{color:#d84a38!important}.progress-bar.red{background:#d84a38!important;color:#FFF!important}.red-pink.btn{color:#FFF;background-color:#E08283;border-color:""}.open .red-pink.btn.dropdown-toggle,.red-pink.btn.active,.red-pink.btn:active,.red-pink.btn:focus,.red-pink.btn:hover{color:#FFF;background-color:#d96567}.red-pink.btn.active,.red-pink.btn:active{background-image:none;background-color:#d45152}.red-pink.btn.active:hover,.red-pink.btn:active:hover{background-color:#d6595a}.open .red-pink.btn.dropdown-toggle{background-image:none}.red-pink.btn.disabled,.red-pink.btn.disabled.active,.red-pink.btn.disabled:active,.red-pink.btn.disabled:focus,.red-pink.btn.disabled:hover,.red-pink.btn[disabled],.red-pink.btn[disabled].active,.red-pink.btn[disabled]:active,.red-pink.btn[disabled]:focus,.red-pink.btn[disabled]:hover,fieldset[disabled] .red-pink.btn,fieldset[disabled] .red-pink.btn.active,fieldset[disabled] .red-pink.btn:active,fieldset[disabled] .red-pink.btn:focus,fieldset[disabled] .red-pink.btn:hover{background-color:#E08283}.red-pink.btn .badge{color:#E08283;background-color:#FFF}.portlet.box.red-pink>.portlet-title,.portlet.red-pink,.portlet>.portlet-body.red-pink{background-color:#E08283}.btn.red-pink-stripe{border-left:3px solid #E08283}.portlet.solid.red-pink>.portlet-body,.portlet.solid.red-pink>.portlet-title{border:0;color:#FFF}.portlet.solid.red-pink>.portlet-title>.caption>i{color:#FFF}.portlet.solid.red-pink>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.red-pink>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.red-pink>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.red-pink>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.red-pink>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.red-pink>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.red-pink{border:1px solid #eaabac;border-top:0}.portlet.box.red-pink>.portlet-title>.caption,.portlet.box.red-pink>.portlet-title>.caption>i{color:#FFF}.portlet.box.red-pink>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #f6dcdc;color:#fbf0f0}.portlet.box.red-pink>.portlet-title>.actions .btn-default>i{color:#fefdfd}.portlet.box.red-pink>.portlet-title>.actions .btn-default.active,.portlet.box.red-pink>.portlet-title>.actions .btn-default:active,.portlet.box.red-pink>.portlet-title>.actions .btn-default:focus,.portlet.box.red-pink>.portlet-title>.actions .btn-default:hover{border:1px solid #fff;color:#fff}.dashboard-stat.red-pink{background-color:#E08283}.dashboard-stat.red-pink.dashboard-stat-light:hover{background-color:#dc7273}.dashboard-stat.red-pink .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.red-pink .details .number{color:#FFF}.dashboard-stat.red-pink .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.red-pink .more{color:#FFF;background-color:#dc7273}.bg-red-pink{border-color:#E08283!important;background-image:none!important;background-color:#E08283!important;color:#FFF!important}.font-red-pink{color:#E08283!important}.progress-bar.red-pink{background:#E08283!important;color:#FFF!important}.red-sunglo.btn{color:#FFF;background-color:#E26A6A;border-color:""}.open .red-sunglo.btn.dropdown-toggle,.red-sunglo.btn.active,.red-sunglo.btn:active,.red-sunglo.btn:focus,.red-sunglo.btn:hover{color:#FFF;background-color:#dc4c4c}.red-sunglo.btn.active,.red-sunglo.btn:active{background-image:none;background-color:#d83737}.red-sunglo.btn.active:hover,.red-sunglo.btn:active:hover{background-color:#da3f3f}.open .red-sunglo.btn.dropdown-toggle{background-image:none}.red-sunglo.btn.disabled,.red-sunglo.btn.disabled.active,.red-sunglo.btn.disabled:active,.red-sunglo.btn.disabled:focus,.red-sunglo.btn.disabled:hover,.red-sunglo.btn[disabled],.red-sunglo.btn[disabled].active,.red-sunglo.btn[disabled]:active,.red-sunglo.btn[disabled]:focus,.red-sunglo.btn[disabled]:hover,fieldset[disabled] .red-sunglo.btn,fieldset[disabled] .red-sunglo.btn.active,fieldset[disabled] .red-sunglo.btn:active,fieldset[disabled] .red-sunglo.btn:focus,fieldset[disabled] .red-sunglo.btn:hover{background-color:#E26A6A}.red-sunglo.btn .badge{color:#E26A6A;background-color:#FFF}.portlet.box.red-sunglo>.portlet-title,.portlet.red-sunglo,.portlet>.portlet-body.red-sunglo{background-color:#E26A6A}.btn.red-sunglo-stripe{border-left:3px solid #E26A6A}.portlet.solid.red-sunglo>.portlet-body,.portlet.solid.red-sunglo>.portlet-title{border:0;color:#FFF}.portlet.solid.red-sunglo>.portlet-title>.caption>i{color:#FFF}.portlet.solid.red-sunglo>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.red-sunglo>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.red-sunglo>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.red-sunglo>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.red-sunglo>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.red-sunglo>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.red-sunglo{border:1px solid #ea9595;border-top:0}.portlet.box.red-sunglo>.portlet-title>.caption,.portlet.box.red-sunglo>.portlet-title>.caption>i{color:#FFF}.portlet.box.red-sunglo>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #f4c8c8;color:#f8dddd}.portlet.box.red-sunglo>.portlet-title>.actions .btn-default>i{color:#fbeaea}.portlet.box.red-sunglo>.portlet-title>.actions .btn-default.active,.portlet.box.red-sunglo>.portlet-title>.actions .btn-default:active,.portlet.box.red-sunglo>.portlet-title>.actions .btn-default:focus,.portlet.box.red-sunglo>.portlet-title>.actions .btn-default:hover{border:1px solid #fdf3f3;color:#fff}.dashboard-stat.red-sunglo{background-color:#E26A6A}.dashboard-stat.red-sunglo.dashboard-stat-light:hover{background-color:#df5959}.dashboard-stat.red-sunglo .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.red-sunglo .details .number{color:#FFF}.dashboard-stat.red-sunglo .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.red-sunglo .more{color:#FFF;background-color:#df5959}.bg-red-sunglo{border-color:#E26A6A!important;background-image:none!important;background-color:#E26A6A!important;color:#FFF!important}.font-red-sunglo{color:#E26A6A!important}.progress-bar.red-sunglo{background:#E26A6A!important;color:#FFF!important}.red-intense.btn{color:#FFF;background-color:#e35b5a;border-color:""}.open .red-intense.btn.dropdown-toggle,.red-intense.btn.active,.red-intense.btn:active,.red-intense.btn:focus,.red-intense.btn:hover{color:#FFF;background-color:#de3d3b}.red-intense.btn.active,.red-intense.btn:active{background-image:none;background-color:#da2726}.red-intense.btn.active:hover,.red-intense.btn:active:hover{background-color:#dc302e}.open .red-intense.btn.dropdown-toggle{background-image:none}.red-intense.btn.disabled,.red-intense.btn.disabled.active,.red-intense.btn.disabled:active,.red-intense.btn.disabled:focus,.red-intense.btn.disabled:hover,.red-intense.btn[disabled],.red-intense.btn[disabled].active,.red-intense.btn[disabled]:active,.red-intense.btn[disabled]:focus,.red-intense.btn[disabled]:hover,fieldset[disabled] .red-intense.btn,fieldset[disabled] .red-intense.btn.active,fieldset[disabled] .red-intense.btn:active,fieldset[disabled] .red-intense.btn:focus,fieldset[disabled] .red-intense.btn:hover{background-color:#e35b5a}.red-intense.btn .badge{color:#e35b5a;background-color:#FFF}.portlet.box.red-intense>.portlet-title,.portlet.red-intense,.portlet>.portlet-body.red-intense{background-color:#e35b5a}.btn.red-intense-stripe{border-left:3px solid #e35b5a}.portlet.solid.red-intense>.portlet-body,.portlet.solid.red-intense>.portlet-title{border:0;color:#FFF}.portlet.solid.red-intense>.portlet-title>.caption>i{color:#FFF}.portlet.solid.red-intense>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.red-intense>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.red-intense>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.red-intense>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.red-intense>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.red-intense>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.red-intense{border:1px solid #ea8686;border-top:0}.portlet.box.red-intense>.portlet-title>.caption,.portlet.box.red-intense>.portlet-title>.caption>i{color:#FFF}.portlet.box.red-intense>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #f3baba;color:#f7d0d0}.portlet.box.red-intense>.portlet-title>.actions .btn-default>i{color:#f9dddd}.portlet.box.red-intense>.portlet-title>.actions .btn-default.active,.portlet.box.red-intense>.portlet-title>.actions .btn-default:active,.portlet.box.red-intense>.portlet-title>.actions .btn-default:focus,.portlet.box.red-intense>.portlet-title>.actions .btn-default:hover{border:1px solid #fbe6e6;color:#fefbfb}.dashboard-stat.red-intense{background-color:#e35b5a}.dashboard-stat.red-intense.dashboard-stat-light:hover{background-color:#e04a49}.dashboard-stat.red-intense .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.red-intense .details .number{color:#FFF}.dashboard-stat.red-intense .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.red-intense .more{color:#FFF;background-color:#e04a49}.bg-red-intense{border-color:#e35b5a!important;background-image:none!important;background-color:#e35b5a!important;color:#FFF!important}.font-red-intense{color:#e35b5a!important}.progress-bar.red-intense{background:#e35b5a!important;color:#FFF!important}.red-thunderbird.btn{color:#FFF;background-color:#D91E18;border-color:""}.open .red-thunderbird.btn.dropdown-toggle,.red-thunderbird.btn.active,.red-thunderbird.btn:active,.red-thunderbird.btn:focus,.red-thunderbird.btn:hover{color:#FFF;background-color:#b91a14}.red-thunderbird.btn.active,.red-thunderbird.btn:active{background-image:none;background-color:#a21612}.red-thunderbird.btn.active:hover,.red-thunderbird.btn:active:hover{background-color:#ab1813}.open .red-thunderbird.btn.dropdown-toggle{background-image:none}.red-thunderbird.btn.disabled,.red-thunderbird.btn.disabled.active,.red-thunderbird.btn.disabled:active,.red-thunderbird.btn.disabled:focus,.red-thunderbird.btn.disabled:hover,.red-thunderbird.btn[disabled],.red-thunderbird.btn[disabled].active,.red-thunderbird.btn[disabled]:active,.red-thunderbird.btn[disabled]:focus,.red-thunderbird.btn[disabled]:hover,fieldset[disabled] .red-thunderbird.btn,fieldset[disabled] .red-thunderbird.btn.active,fieldset[disabled] .red-thunderbird.btn:active,fieldset[disabled] .red-thunderbird.btn:focus,fieldset[disabled] .red-thunderbird.btn:hover{background-color:#D91E18}.red-thunderbird.btn .badge{color:#D91E18;background-color:#FFF}.portlet.box.red-thunderbird>.portlet-title,.portlet.red-thunderbird,.portlet>.portlet-body.red-thunderbird{background-color:#D91E18}.btn.red-thunderbird-stripe{border-left:3px solid #D91E18}.portlet.solid.red-thunderbird>.portlet-body,.portlet.solid.red-thunderbird>.portlet-title{border:0;color:#FFF}.portlet.solid.red-thunderbird>.portlet-title>.caption>i{color:#FFF}.portlet.solid.red-thunderbird>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.red-thunderbird>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.red-thunderbird>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.red-thunderbird>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.red-thunderbird>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.red-thunderbird>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.red-thunderbird{border:1px solid #e9403b;border-top:0}.portlet.box.red-thunderbird>.portlet-title>.caption,.portlet.box.red-thunderbird>.portlet-title>.caption>i{color:#FFF}.portlet.box.red-thunderbird>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #ef7672;color:#f28c89}.portlet.box.red-thunderbird>.portlet-title>.actions .btn-default>i{color:#f39997}.portlet.box.red-thunderbird>.portlet-title>.actions .btn-default.active,.portlet.box.red-thunderbird>.portlet-title>.actions .btn-default:active,.portlet.box.red-thunderbird>.portlet-title>.actions .btn-default:focus,.portlet.box.red-thunderbird>.portlet-title>.actions .btn-default:hover{border:1px solid #f4a2a0;color:#f7b9b7}.dashboard-stat.red-thunderbird{background-color:#D91E18}.dashboard-stat.red-thunderbird.dashboard-stat-light:hover{background-color:#c71b16}.dashboard-stat.red-thunderbird .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.red-thunderbird .details .number{color:#FFF}.dashboard-stat.red-thunderbird .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.red-thunderbird .more{color:#FFF;background-color:#c71b16}.bg-red-thunderbird{border-color:#D91E18!important;background-image:none!important;background-color:#D91E18!important;color:#FFF!important}.font-red-thunderbird{color:#D91E18!important}.progress-bar.red-thunderbird{background:#D91E18!important;color:#FFF!important}.red-flamingo.btn{color:#FFF;background-color:#EF4836;border-color:""}.open .red-flamingo.btn.dropdown-toggle,.red-flamingo.btn.active,.red-flamingo.btn:active,.red-flamingo.btn:focus,.red-flamingo.btn:hover{color:#FFF;background-color:#ec2a15}.red-flamingo.btn.active,.red-flamingo.btn:active{background-image:none;background-color:#d72411}.red-flamingo.btn.active:hover,.red-flamingo.btn:active:hover{background-color:#e02612}.open .red-flamingo.btn.dropdown-toggle{background-image:none}.red-flamingo.btn.disabled,.red-flamingo.btn.disabled.active,.red-flamingo.btn.disabled:active,.red-flamingo.btn.disabled:focus,.red-flamingo.btn.disabled:hover,.red-flamingo.btn[disabled],.red-flamingo.btn[disabled].active,.red-flamingo.btn[disabled]:active,.red-flamingo.btn[disabled]:focus,.red-flamingo.btn[disabled]:hover,fieldset[disabled] .red-flamingo.btn,fieldset[disabled] .red-flamingo.btn.active,fieldset[disabled] .red-flamingo.btn:active,fieldset[disabled] .red-flamingo.btn:focus,fieldset[disabled] .red-flamingo.btn:hover{background-color:#EF4836}.red-flamingo.btn .badge{color:#EF4836;background-color:#FFF}.portlet.box.red-flamingo>.portlet-title,.portlet.red-flamingo,.portlet>.portlet-body.red-flamingo{background-color:#EF4836}.btn.red-flamingo-stripe{border-left:3px solid #EF4836}.portlet.solid.red-flamingo>.portlet-body,.portlet.solid.red-flamingo>.portlet-title{border:0;color:#FFF}.portlet.solid.red-flamingo>.portlet-title>.caption>i{color:#FFF}.portlet.solid.red-flamingo>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.red-flamingo>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.red-flamingo>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.red-flamingo>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.red-flamingo>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.red-flamingo>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.red-flamingo{border:1px solid #f37365;border-top:0}.portlet.box.red-flamingo>.portlet-title>.caption,.portlet.box.red-flamingo>.portlet-title>.caption>i{color:#FFF}.portlet.box.red-flamingo>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #f7a79e;color:#f9bcb6}.portlet.box.red-flamingo>.portlet-title>.actions .btn-default>i{color:#fac9c4}.portlet.box.red-flamingo>.portlet-title>.actions .btn-default.active,.portlet.box.red-flamingo>.portlet-title>.actions .btn-default:active,.portlet.box.red-flamingo>.portlet-title>.actions .btn-default:focus,.portlet.box.red-flamingo>.portlet-title>.actions .btn-default:hover{border:1px solid #fbd2cd;color:#fde7e5}.dashboard-stat.red-flamingo{background-color:#EF4836}.dashboard-stat.red-flamingo.dashboard-stat-light:hover{background-color:#ed3723}.dashboard-stat.red-flamingo .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.red-flamingo .details .number{color:#FFF}.dashboard-stat.red-flamingo .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.red-flamingo .more{color:#FFF;background-color:#ed3723}.bg-red-flamingo{border-color:#EF4836!important;background-image:none!important;background-color:#EF4836!important;color:#FFF!important}.font-red-flamingo{color:#EF4836!important}.progress-bar.red-flamingo{background:#EF4836!important;color:#FFF!important}.red-soft.btn{color:#FFF;background-color:#d05454;border-color:""}.open .red-soft.btn.dropdown-toggle,.red-soft.btn.active,.red-soft.btn:active,.red-soft.btn:focus,.red-soft.btn:hover{color:#FFF;background-color:#c83838}.red-soft.btn.active,.red-soft.btn:active{background-image:none;background-color:#b53232}.red-soft.btn.active:hover,.red-soft.btn:active:hover{background-color:#bd3434}.open .red-soft.btn.dropdown-toggle{background-image:none}.red-soft.btn.disabled,.red-soft.btn.disabled.active,.red-soft.btn.disabled:active,.red-soft.btn.disabled:focus,.red-soft.btn.disabled:hover,.red-soft.btn[disabled],.red-soft.btn[disabled].active,.red-soft.btn[disabled]:active,.red-soft.btn[disabled]:focus,.red-soft.btn[disabled]:hover,fieldset[disabled] .red-soft.btn,fieldset[disabled] .red-soft.btn.active,fieldset[disabled] .red-soft.btn:active,fieldset[disabled] .red-soft.btn:focus,fieldset[disabled] .red-soft.btn:hover{background-color:#d05454}.red-soft.btn .badge{color:#d05454;background-color:#FFF}.portlet.box.red-soft>.portlet-title,.portlet.red-soft,.portlet>.portlet-body.red-soft{background-color:#d05454}.btn.red-soft-stripe{border-left:3px solid #d05454}.portlet.solid.red-soft>.portlet-body,.portlet.solid.red-soft>.portlet-title{border:0;color:#FFF}.portlet.solid.red-soft>.portlet-title>.caption>i{color:#FFF}.portlet.solid.red-soft>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.red-soft>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.red-soft>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.red-soft>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.red-soft>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.red-soft>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.red-soft{border:1px solid #db7c7c;border-top:0}.portlet.box.red-soft>.portlet-title>.caption,.portlet.box.red-soft>.portlet-title>.caption>i{color:#FFF}.portlet.box.red-soft>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #e8acac;color:#eec0c0}.portlet.box.red-soft>.portlet-title>.actions .btn-default>i{color:#f1cccc}.portlet.box.red-soft>.portlet-title>.actions .btn-default.active,.portlet.box.red-soft>.portlet-title>.actions .btn-default:active,.portlet.box.red-soft>.portlet-title>.actions .btn-default:focus,.portlet.box.red-soft>.portlet-title>.actions .btn-default:hover{border:1px solid #f3d4d4;color:#f9e8e8}.dashboard-stat.red-soft{background-color:#d05454}.dashboard-stat.red-soft.dashboard-stat-light:hover{background-color:#c44}.dashboard-stat.red-soft .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.red-soft .details .number{color:#FFF}.dashboard-stat.red-soft .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.red-soft .more{color:#FFF;background-color:#c44}.bg-red-soft{border-color:#d05454!important;background-image:none!important;background-color:#d05454!important;color:#FFF!important}.font-red-soft{color:#d05454!important}.progress-bar.red-soft{background:#d05454!important;color:#FFF!important}.red-haze.btn{color:#FFF;background-color:#f36a5a;border-color:""}.open .red-haze.btn.dropdown-toggle,.red-haze.btn.active,.red-haze.btn:active,.red-haze.btn:focus,.red-haze.btn:hover{color:#FFF;background-color:#f14c39}.red-haze.btn.active,.red-haze.btn:active{background-image:none;background-color:#ef3621}.red-haze.btn.active:hover,.red-haze.btn:active:hover{background-color:#f03f2a}.open .red-haze.btn.dropdown-toggle{background-image:none}.red-haze.btn.disabled,.red-haze.btn.disabled.active,.red-haze.btn.disabled:active,.red-haze.btn.disabled:focus,.red-haze.btn.disabled:hover,.red-haze.btn[disabled],.red-haze.btn[disabled].active,.red-haze.btn[disabled]:active,.red-haze.btn[disabled]:focus,.red-haze.btn[disabled]:hover,fieldset[disabled] .red-haze.btn,fieldset[disabled] .red-haze.btn.active,fieldset[disabled] .red-haze.btn:active,fieldset[disabled] .red-haze.btn:focus,fieldset[disabled] .red-haze.btn:hover{background-color:#f36a5a}.red-haze.btn .badge{color:#f36a5a;background-color:#FFF}.portlet.box.red-haze>.portlet-title,.portlet.red-haze,.portlet>.portlet-body.red-haze{background-color:#f36a5a}.btn.red-haze-stripe{border-left:3px solid #f36a5a}.portlet.solid.red-haze>.portlet-body,.portlet.solid.red-haze>.portlet-title{border:0;color:#FFF}.portlet.solid.red-haze>.portlet-title>.caption>i{color:#FFF}.portlet.solid.red-haze>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.red-haze>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.red-haze>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.red-haze>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.red-haze>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.red-haze>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.red-haze{border:1px solid #f6958a;border-top:0}.portlet.box.red-haze>.portlet-title>.caption,.portlet.box.red-haze>.portlet-title>.caption>i{color:#FFF}.portlet.box.red-haze>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #fbc8c3;color:#fcdeda}.portlet.box.red-haze>.portlet-title>.actions .btn-default>i{color:#fdebe9}.portlet.box.red-haze>.portlet-title>.actions .btn-default.active,.portlet.box.red-haze>.portlet-title>.actions .btn-default:active,.portlet.box.red-haze>.portlet-title>.actions .btn-default:focus,.portlet.box.red-haze>.portlet-title>.actions .btn-default:hover{border:1px solid #fef3f2;color:#fff}.dashboard-stat.red-haze{background-color:#f36a5a}.dashboard-stat.red-haze.dashboard-stat-light:hover{background-color:#f25947}.dashboard-stat.red-haze .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.red-haze .details .number{color:#FFF}.dashboard-stat.red-haze .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.red-haze .more{color:#FFF;background-color:#f25947}.bg-red-haze{border-color:#f36a5a!important;background-image:none!important;background-color:#f36a5a!important;color:#FFF!important}.font-red-haze{color:#f36a5a!important}.progress-bar.red-haze{background:#f36a5a!important;color:#FFF!important}.yellow.btn{color:#FFF;background-color:#FFB848;border-color:""}.open .yellow.btn.dropdown-toggle,.yellow.btn.active,.yellow.btn:active,.yellow.btn:focus,.yellow.btn:hover{color:#FFF;background-color:#ffaa24}.yellow.btn.active,.yellow.btn:active{background-image:none;background-color:#ffa00b}.yellow.btn.active:hover,.yellow.btn:active:hover{background-color:#ffa415}.open .yellow.btn.dropdown-toggle{background-image:none}.yellow.btn.disabled,.yellow.btn.disabled.active,.yellow.btn.disabled:active,.yellow.btn.disabled:focus,.yellow.btn.disabled:hover,.yellow.btn[disabled],.yellow.btn[disabled].active,.yellow.btn[disabled]:active,.yellow.btn[disabled]:focus,.yellow.btn[disabled]:hover,fieldset[disabled] .yellow.btn,fieldset[disabled] .yellow.btn.active,fieldset[disabled] .yellow.btn:active,fieldset[disabled] .yellow.btn:focus,fieldset[disabled] .yellow.btn:hover{background-color:#FFB848}.yellow.btn .badge{color:#FFB848;background-color:#FFF}.portlet.box.yellow>.portlet-title,.portlet.yellow,.portlet>.portlet-body.yellow{background-color:#FFB848}.btn.yellow-stripe{border-left:3px solid #FFB848}.portlet.solid.yellow>.portlet-body,.portlet.solid.yellow>.portlet-title{border:0;color:#FFF}.portlet.solid.yellow>.portlet-title>.caption>i{color:#FFF}.portlet.solid.yellow>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.yellow>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.yellow>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.yellow>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.yellow>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.yellow>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.yellow{border:1px solid #ffcc7b;border-top:0}.portlet.box.yellow>.portlet-title>.caption,.portlet.box.yellow>.portlet-title>.caption>i{color:#FFF}.portlet.box.yellow>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #ffe4b8;color:#ffedd2}.portlet.box.yellow>.portlet-title>.actions .btn-default>i{color:#fff3e1}.portlet.box.yellow>.portlet-title>.actions .btn-default.active,.portlet.box.yellow>.portlet-title>.actions .btn-default:active,.portlet.box.yellow>.portlet-title>.actions .btn-default:focus,.portlet.box.yellow>.portlet-title>.actions .btn-default:hover{border:1px solid #fff7eb;color:#fff}.dashboard-stat.yellow{background-color:#FFB848}.dashboard-stat.yellow.dashboard-stat-light:hover{background-color:#ffb034}.dashboard-stat.yellow .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.yellow .details .number{color:#FFF}.dashboard-stat.yellow .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.yellow .more{color:#FFF;background-color:#ffb034}.bg-yellow{border-color:#FFB848!important;background-image:none!important;background-color:#FFB848!important;color:#FFF!important}.font-yellow{color:#FFB848!important}.progress-bar.yellow{background:#FFB848!important;color:#FFF!important}.yellow-gold.btn{color:#FFF;background-color:#E87E04;border-color:""}.open .yellow-gold.btn.dropdown-toggle,.yellow-gold.btn.active,.yellow-gold.btn:active,.yellow-gold.btn:focus,.yellow-gold.btn:hover{color:#FFF;background-color:#c56b03}.yellow-gold.btn.active,.yellow-gold.btn:active{background-image:none;background-color:#ac5d03}.yellow-gold.btn.active:hover,.yellow-gold.btn:active:hover{background-color:#b66303}.open .yellow-gold.btn.dropdown-toggle{background-image:none}.yellow-gold.btn.disabled,.yellow-gold.btn.disabled.active,.yellow-gold.btn.disabled:active,.yellow-gold.btn.disabled:focus,.yellow-gold.btn.disabled:hover,.yellow-gold.btn[disabled],.yellow-gold.btn[disabled].active,.yellow-gold.btn[disabled]:active,.yellow-gold.btn[disabled]:focus,.yellow-gold.btn[disabled]:hover,fieldset[disabled] .yellow-gold.btn,fieldset[disabled] .yellow-gold.btn.active,fieldset[disabled] .yellow-gold.btn:active,fieldset[disabled] .yellow-gold.btn:focus,fieldset[disabled] .yellow-gold.btn:hover{background-color:#E87E04}.yellow-gold.btn .badge{color:#E87E04;background-color:#FFF}.portlet.box.yellow-gold>.portlet-title,.portlet.yellow-gold,.portlet>.portlet-body.yellow-gold{background-color:#E87E04}.btn.yellow-gold-stripe{border-left:3px solid #E87E04}.portlet.solid.yellow-gold>.portlet-body,.portlet.solid.yellow-gold>.portlet-title{border:0;color:#FFF}.portlet.solid.yellow-gold>.portlet-title>.caption>i{color:#FFF}.portlet.solid.yellow-gold>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.yellow-gold>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.yellow-gold>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.yellow-gold>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.yellow-gold>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.yellow-gold>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.yellow-gold{border:1px solid #fb9724;border-top:0}.portlet.box.yellow-gold>.portlet-title>.caption,.portlet.box.yellow-gold>.portlet-title>.caption>i{color:#FFF}.portlet.box.yellow-gold>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #fcb460;color:#fdbf79}.portlet.box.yellow-gold>.portlet-title>.actions .btn-default>i{color:#fdc788}.portlet.box.yellow-gold>.portlet-title>.actions .btn-default.active,.portlet.box.yellow-gold>.portlet-title>.actions .btn-default:active,.portlet.box.yellow-gold>.portlet-title>.actions .btn-default:focus,.portlet.box.yellow-gold>.portlet-title>.actions .btn-default:hover{border:1px solid #fdcb92;color:#fed7ab}.dashboard-stat.yellow-gold{background-color:#E87E04}.dashboard-stat.yellow-gold.dashboard-stat-light:hover{background-color:#d47304}.dashboard-stat.yellow-gold .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.yellow-gold .details .number{color:#FFF}.dashboard-stat.yellow-gold .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.yellow-gold .more{color:#FFF;background-color:#d47304}.bg-yellow-gold{border-color:#E87E04!important;background-image:none!important;background-color:#E87E04!important;color:#FFF!important}.font-yellow-gold{color:#E87E04!important}.progress-bar.yellow-gold{background:#E87E04!important;color:#FFF!important}.yellow-casablanca.btn{color:#FFF;background-color:#f2784b;border-color:""}.open .yellow-casablanca.btn.dropdown-toggle,.yellow-casablanca.btn.active,.yellow-casablanca.btn:active,.yellow-casablanca.btn:focus,.yellow-casablanca.btn:hover{color:#FFF;background-color:#f05f2a}.yellow-casablanca.btn.active,.yellow-casablanca.btn:active{background-image:none;background-color:#ee4d12}.yellow-casablanca.btn.active:hover,.yellow-casablanca.btn:active:hover{background-color:#ef541b}.open .yellow-casablanca.btn.dropdown-toggle{background-image:none}.yellow-casablanca.btn.disabled,.yellow-casablanca.btn.disabled.active,.yellow-casablanca.btn.disabled:active,.yellow-casablanca.btn.disabled:focus,.yellow-casablanca.btn.disabled:hover,.yellow-casablanca.btn[disabled],.yellow-casablanca.btn[disabled].active,.yellow-casablanca.btn[disabled]:active,.yellow-casablanca.btn[disabled]:focus,.yellow-casablanca.btn[disabled]:hover,fieldset[disabled] .yellow-casablanca.btn,fieldset[disabled] .yellow-casablanca.btn.active,fieldset[disabled] .yellow-casablanca.btn:active,fieldset[disabled] .yellow-casablanca.btn:focus,fieldset[disabled] .yellow-casablanca.btn:hover{background-color:#f2784b}.yellow-casablanca.btn .badge{color:#f2784b;background-color:#FFF}.portlet.box.yellow-casablanca>.portlet-title,.portlet.yellow-casablanca,.portlet>.portlet-body.yellow-casablanca{background-color:#f2784b}.btn.yellow-casablanca-stripe{border-left:3px solid #f2784b}.portlet.solid.yellow-casablanca>.portlet-body,.portlet.solid.yellow-casablanca>.portlet-title{border:0;color:#FFF}.portlet.solid.yellow-casablanca>.portlet-title>.caption>i{color:#FFF}.portlet.solid.yellow-casablanca>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.yellow-casablanca>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.yellow-casablanca>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.yellow-casablanca>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.yellow-casablanca>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.yellow-casablanca>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.yellow-casablanca{border:1px solid #f59c7b;border-top:0}.portlet.box.yellow-casablanca>.portlet-title>.caption,.portlet.box.yellow-casablanca>.portlet-title>.caption>i{color:#FFF}.portlet.box.yellow-casablanca>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #fac6b4;color:#fbd8cb}.portlet.box.yellow-casablanca>.portlet-title>.actions .btn-default>i{color:#fce3da}.portlet.box.yellow-casablanca>.portlet-title>.actions .btn-default.active,.portlet.box.yellow-casablanca>.portlet-title>.actions .btn-default:active,.portlet.box.yellow-casablanca>.portlet-title>.actions .btn-default:focus,.portlet.box.yellow-casablanca>.portlet-title>.actions .btn-default:hover{border:1px solid #fdeae3;color:#fffcfb}.dashboard-stat.yellow-casablanca{background-color:#f2784b}.dashboard-stat.yellow-casablanca.dashboard-stat-light:hover{background-color:#f16a38}.dashboard-stat.yellow-casablanca .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.yellow-casablanca .details .number{color:#FFF}.dashboard-stat.yellow-casablanca .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.yellow-casablanca .more{color:#FFF;background-color:#f16a38}.bg-yellow-casablanca{border-color:#f2784b!important;background-image:none!important;background-color:#f2784b!important;color:#FFF!important}.font-yellow-casablanca{color:#f2784b!important}.progress-bar.yellow-casablanca{background:#f2784b!important;color:#FFF!important}.yellow-crusta.btn{color:#FFF;background-color:#f3c200;border-color:""}.open .yellow-crusta.btn.dropdown-toggle,.yellow-crusta.btn.active,.yellow-crusta.btn:active,.yellow-crusta.btn:focus,.yellow-crusta.btn:hover{color:#FFF;background-color:#cfa500}.yellow-crusta.btn.active,.yellow-crusta.btn:active{background-image:none;background-color:#b69100}.yellow-crusta.btn.active:hover,.yellow-crusta.btn:active:hover{background-color:#c09900}.open .yellow-crusta.btn.dropdown-toggle{background-image:none}.yellow-crusta.btn.disabled,.yellow-crusta.btn.disabled.active,.yellow-crusta.btn.disabled:active,.yellow-crusta.btn.disabled:focus,.yellow-crusta.btn.disabled:hover,.yellow-crusta.btn[disabled],.yellow-crusta.btn[disabled].active,.yellow-crusta.btn[disabled]:active,.yellow-crusta.btn[disabled]:focus,.yellow-crusta.btn[disabled]:hover,fieldset[disabled] .yellow-crusta.btn,fieldset[disabled] .yellow-crusta.btn.active,fieldset[disabled] .yellow-crusta.btn:active,fieldset[disabled] .yellow-crusta.btn:focus,fieldset[disabled] .yellow-crusta.btn:hover{background-color:#f3c200}.yellow-crusta.btn .badge{color:#f3c200;background-color:#FFF}.portlet.box.yellow-crusta>.portlet-title,.portlet.yellow-crusta,.portlet>.portlet-body.yellow-crusta{background-color:#f3c200}.btn.yellow-crusta-stripe{border-left:3px solid #f3c200}.portlet.solid.yellow-crusta>.portlet-body,.portlet.solid.yellow-crusta>.portlet-title{border:0;color:#FFF}.portlet.solid.yellow-crusta>.portlet-title>.caption>i{color:#FFF}.portlet.solid.yellow-crusta>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.yellow-crusta>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.yellow-crusta>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.yellow-crusta>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.yellow-crusta>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.yellow-crusta>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.yellow-crusta{border:1px solid #ffd327;border-top:0}.portlet.box.yellow-crusta>.portlet-title>.caption,.portlet.box.yellow-crusta>.portlet-title>.caption>i{color:#FFF}.portlet.box.yellow-crusta>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #ffe064;color:#ffe57e}.portlet.box.yellow-crusta>.portlet-title>.actions .btn-default>i{color:#ffe88d}.portlet.box.yellow-crusta>.portlet-title>.actions .btn-default.active,.portlet.box.yellow-crusta>.portlet-title>.actions .btn-default:active,.portlet.box.yellow-crusta>.portlet-title>.actions .btn-default:focus,.portlet.box.yellow-crusta>.portlet-title>.actions .btn-default:hover{border:1px solid #ffea97;color:#ffefb1}.dashboard-stat.yellow-crusta{background-color:#f3c200}.dashboard-stat.yellow-crusta.dashboard-stat-light:hover{background-color:#dfb200}.dashboard-stat.yellow-crusta .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.yellow-crusta .details .number{color:#FFF}.dashboard-stat.yellow-crusta .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.yellow-crusta .more{color:#FFF;background-color:#dfb200}.bg-yellow-crusta{border-color:#f3c200!important;background-image:none!important;background-color:#f3c200!important;color:#FFF!important}.font-yellow-crusta{color:#f3c200!important}.progress-bar.yellow-crusta{background:#f3c200!important;color:#FFF!important}.yellow-lemon.btn{color:#FFF;background-color:#F7CA18;border-color:""}.open .yellow-lemon.btn.dropdown-toggle,.yellow-lemon.btn.active,.yellow-lemon.btn:active,.yellow-lemon.btn:focus,.yellow-lemon.btn:hover{color:#FFF;background-color:#e3b708}.yellow-lemon.btn.active,.yellow-lemon.btn:active{background-image:none;background-color:#cba307}.yellow-lemon.btn.active:hover,.yellow-lemon.btn:active:hover{background-color:#d5ab07}.open .yellow-lemon.btn.dropdown-toggle{background-image:none}.yellow-lemon.btn.disabled,.yellow-lemon.btn.disabled.active,.yellow-lemon.btn.disabled:active,.yellow-lemon.btn.disabled:focus,.yellow-lemon.btn.disabled:hover,.yellow-lemon.btn[disabled],.yellow-lemon.btn[disabled].active,.yellow-lemon.btn[disabled]:active,.yellow-lemon.btn[disabled]:focus,.yellow-lemon.btn[disabled]:hover,fieldset[disabled] .yellow-lemon.btn,fieldset[disabled] .yellow-lemon.btn.active,fieldset[disabled] .yellow-lemon.btn:active,fieldset[disabled] .yellow-lemon.btn:focus,fieldset[disabled] .yellow-lemon.btn:hover{background-color:#F7CA18}.yellow-lemon.btn .badge{color:#F7CA18;background-color:#FFF}.portlet.box.yellow-lemon>.portlet-title,.portlet.yellow-lemon,.portlet>.portlet-body.yellow-lemon{background-color:#F7CA18}.btn.yellow-lemon-stripe{border-left:3px solid #F7CA18}.portlet.solid.yellow-lemon>.portlet-body,.portlet.solid.yellow-lemon>.portlet-title{border:0;color:#FFF}.portlet.solid.yellow-lemon>.portlet-title>.caption>i{color:#FFF}.portlet.solid.yellow-lemon>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.yellow-lemon>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.yellow-lemon>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.yellow-lemon>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.yellow-lemon>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.yellow-lemon>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.yellow-lemon{border:1px solid #f9d549;border-top:0}.portlet.box.yellow-lemon>.portlet-title>.caption,.portlet.box.yellow-lemon>.portlet-title>.caption>i{color:#FFF}.portlet.box.yellow-lemon>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #fbe384;color:#fce99d}.portlet.box.yellow-lemon>.portlet-title>.actions .btn-default>i{color:#fcecac}.portlet.box.yellow-lemon>.portlet-title>.actions .btn-default.active,.portlet.box.yellow-lemon>.portlet-title>.actions .btn-default:active,.portlet.box.yellow-lemon>.portlet-title>.actions .btn-default:focus,.portlet.box.yellow-lemon>.portlet-title>.actions .btn-default:hover{border:1px solid #fceeb6;color:#fdf4ce}.dashboard-stat.yellow-lemon{background-color:#F7CA18}.dashboard-stat.yellow-lemon.dashboard-stat-light:hover{background-color:#f2c308}.dashboard-stat.yellow-lemon .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.yellow-lemon .details .number{color:#FFF}.dashboard-stat.yellow-lemon .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.yellow-lemon .more{color:#FFF;background-color:#f2c308}.bg-yellow-lemon{border-color:#F7CA18!important;background-image:none!important;background-color:#F7CA18!important;color:#FFF!important}.font-yellow-lemon{color:#F7CA18!important}.progress-bar.yellow-lemon{background:#F7CA18!important;color:#FFF!important}.yellow-saffron.btn{color:#FFF;background-color:#F4D03F;border-color:""}.open .yellow-saffron.btn.dropdown-toggle,.yellow-saffron.btn.active,.yellow-saffron.btn:active,.yellow-saffron.btn:focus,.yellow-saffron.btn:hover{color:#FFF;background-color:#f2c81d}.yellow-saffron.btn.active,.yellow-saffron.btn:active{background-image:none;background-color:#e8bd0d}.yellow-saffron.btn.active:hover,.yellow-saffron.btn:active:hover{background-color:#f1c40f}.open .yellow-saffron.btn.dropdown-toggle{background-image:none}.yellow-saffron.btn.disabled,.yellow-saffron.btn.disabled.active,.yellow-saffron.btn.disabled:active,.yellow-saffron.btn.disabled:focus,.yellow-saffron.btn.disabled:hover,.yellow-saffron.btn[disabled],.yellow-saffron.btn[disabled].active,.yellow-saffron.btn[disabled]:active,.yellow-saffron.btn[disabled]:focus,.yellow-saffron.btn[disabled]:hover,fieldset[disabled] .yellow-saffron.btn,fieldset[disabled] .yellow-saffron.btn.active,fieldset[disabled] .yellow-saffron.btn:active,fieldset[disabled] .yellow-saffron.btn:focus,fieldset[disabled] .yellow-saffron.btn:hover{background-color:#F4D03F}.yellow-saffron.btn .badge{color:#F4D03F;background-color:#FFF}.portlet.box.yellow-saffron>.portlet-title,.portlet.yellow-saffron,.portlet>.portlet-body.yellow-saffron{background-color:#F4D03F}.btn.yellow-saffron-stripe{border-left:3px solid #F4D03F}.portlet.solid.yellow-saffron>.portlet-body,.portlet.solid.yellow-saffron>.portlet-title{border:0;color:#FFF}.portlet.solid.yellow-saffron>.portlet-title>.caption>i{color:#FFF}.portlet.solid.yellow-saffron>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.yellow-saffron>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.yellow-saffron>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.yellow-saffron>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.yellow-saffron>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.yellow-saffron>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.yellow-saffron{border:1px solid #f7dc6f;border-top:0}.portlet.box.yellow-saffron>.portlet-title>.caption,.portlet.box.yellow-saffron>.portlet-title>.caption>i{color:#FFF}.portlet.box.yellow-saffron>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #faeaa9;color:#fbf0c1}.portlet.box.yellow-saffron>.portlet-title>.actions .btn-default>i{color:#fcf3d0}.portlet.box.yellow-saffron>.portlet-title>.actions .btn-default.active,.portlet.box.yellow-saffron>.portlet-title>.actions .btn-default:active,.portlet.box.yellow-saffron>.portlet-title>.actions .btn-default:focus,.portlet.box.yellow-saffron>.portlet-title>.actions .btn-default:hover{border:1px solid #fdf6d9;color:#fefcf1}.dashboard-stat.yellow-saffron{background-color:#F4D03F}.dashboard-stat.yellow-saffron.dashboard-stat-light:hover{background-color:#f3cb2c}.dashboard-stat.yellow-saffron .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.yellow-saffron .details .number{color:#FFF}.dashboard-stat.yellow-saffron .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.yellow-saffron .more{color:#FFF;background-color:#f3cb2c}.bg-yellow-saffron{border-color:#F4D03F!important;background-image:none!important;background-color:#F4D03F!important;color:#FFF!important}.font-yellow-saffron{color:#F4D03F!important}.progress-bar.yellow-saffron{background:#F4D03F!important;color:#FFF!important}.purple.btn{color:#FFF;background-color:#8E44AD;border-color:""}.open .purple.btn.dropdown-toggle,.purple.btn.active,.purple.btn:active,.purple.btn:focus,.purple.btn:hover{color:#FFF;background-color:#793a93}.purple.btn.active,.purple.btn:active{background-image:none;background-color:#6a3381}.purple.btn.active:hover,.purple.btn:active:hover{background-color:#703688}.open .purple.btn.dropdown-toggle{background-image:none}.purple.btn.disabled,.purple.btn.disabled.active,.purple.btn.disabled:active,.purple.btn.disabled:focus,.purple.btn.disabled:hover,.purple.btn[disabled],.purple.btn[disabled].active,.purple.btn[disabled]:active,.purple.btn[disabled]:focus,.purple.btn[disabled]:hover,fieldset[disabled] .purple.btn,fieldset[disabled] .purple.btn.active,fieldset[disabled] .purple.btn:active,fieldset[disabled] .purple.btn:focus,fieldset[disabled] .purple.btn:hover{background-color:#8E44AD}.purple.btn .badge{color:#8E44AD;background-color:#FFF}.portlet.box.purple>.portlet-title,.portlet.purple,.portlet>.portlet-body.purple{background-color:#8E44AD}.btn.purple-stripe{border-left:3px solid #8E44AD}.portlet.solid.purple>.portlet-body,.portlet.solid.purple>.portlet-title{border:0;color:#FFF}.portlet.solid.purple>.portlet-title>.caption>i{color:#FFF}.portlet.solid.purple>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.purple>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.purple>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.purple>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.purple>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.purple>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.purple{border:1px solid #a563c1;border-top:0}.portlet.box.purple>.portlet-title>.caption,.portlet.box.purple>.portlet-title>.caption>i{color:#FFF}.portlet.box.purple>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #bf8ed3;color:#c9a1da}.portlet.box.purple>.portlet-title>.actions .btn-default>i{color:#cfacde}.portlet.box.purple>.portlet-title>.actions .btn-default.active,.portlet.box.purple>.portlet-title>.actions .btn-default:active,.portlet.box.purple>.portlet-title>.actions .btn-default:focus,.portlet.box.purple>.portlet-title>.actions .btn-default:hover{border:1px solid #d4b3e1;color:#dec5e8}.dashboard-stat.purple{background-color:#8E44AD}.dashboard-stat.purple.dashboard-stat-light:hover{background-color:#823e9e}.dashboard-stat.purple .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.purple .details .number{color:#FFF}.dashboard-stat.purple .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.purple .more{color:#FFF;background-color:#823e9e}.bg-purple{border-color:#8E44AD!important;background-image:none!important;background-color:#8E44AD!important;color:#FFF!important}.font-purple{color:#8E44AD!important}.progress-bar.purple{background:#8E44AD!important;color:#FFF!important}.purple-plum.btn{color:#FFF;background-color:#8775a7;border-color:""}.open .purple-plum.btn.dropdown-toggle,.purple-plum.btn.active,.purple-plum.btn:active,.purple-plum.btn:focus,.purple-plum.btn:hover{color:#FFF;background-color:#746198}.purple-plum.btn.active,.purple-plum.btn:active{background-image:none;background-color:#685788}.purple-plum.btn.active:hover,.purple-plum.btn:active:hover{background-color:#6d5b8e}.open .purple-plum.btn.dropdown-toggle{background-image:none}.purple-plum.btn.disabled,.purple-plum.btn.disabled.active,.purple-plum.btn.disabled:active,.purple-plum.btn.disabled:focus,.purple-plum.btn.disabled:hover,.purple-plum.btn[disabled],.purple-plum.btn[disabled].active,.purple-plum.btn[disabled]:active,.purple-plum.btn[disabled]:focus,.purple-plum.btn[disabled]:hover,fieldset[disabled] .purple-plum.btn,fieldset[disabled] .purple-plum.btn.active,fieldset[disabled] .purple-plum.btn:active,fieldset[disabled] .purple-plum.btn:focus,fieldset[disabled] .purple-plum.btn:hover{background-color:#8775a7}.purple-plum.btn .badge{color:#8775a7;background-color:#FFF}.portlet.box.purple-plum>.portlet-title,.portlet.purple-plum,.portlet>.portlet-body.purple-plum{background-color:#8775a7}.btn.purple-plum-stripe{border-left:3px solid #8775a7}.portlet.solid.purple-plum>.portlet-body,.portlet.solid.purple-plum>.portlet-title{border:0;color:#FFF}.portlet.solid.purple-plum>.portlet-title>.caption>i{color:#FFF}.portlet.solid.purple-plum>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.purple-plum>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.purple-plum>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.purple-plum>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.purple-plum>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.purple-plum>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.purple-plum{border:1px solid #a294bb;border-top:0}.portlet.box.purple-plum>.portlet-title>.caption,.portlet.box.purple-plum>.portlet-title>.caption>i{color:#FFF}.portlet.box.purple-plum>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #c3bad3;color:#d0c9dd}.portlet.box.purple-plum>.portlet-title>.actions .btn-default>i{color:#d8d2e3}.portlet.box.purple-plum>.portlet-title>.actions .btn-default.active,.portlet.box.purple-plum>.portlet-title>.actions .btn-default:active,.portlet.box.purple-plum>.portlet-title>.actions .btn-default:focus,.portlet.box.purple-plum>.portlet-title>.actions .btn-default:hover{border:1px solid #ded9e7;color:#ebe8f0}.dashboard-stat.purple-plum{background-color:#8775a7}.dashboard-stat.purple-plum.dashboard-stat-light:hover{background-color:#7c699f}.dashboard-stat.purple-plum .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.purple-plum .details .number{color:#FFF}.dashboard-stat.purple-plum .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.purple-plum .more{color:#FFF;background-color:#7c699f}.bg-purple-plum{border-color:#8775a7!important;background-image:none!important;background-color:#8775a7!important;color:#FFF!important}.font-purple-plum{color:#8775a7!important}.progress-bar.purple-plum{background:#8775a7!important;color:#FFF!important}.purple-medium.btn{color:#FFF;background-color:#BF55EC;border-color:""}.open .purple-medium.btn.dropdown-toggle,.purple-medium.btn.active,.purple-medium.btn:active,.purple-medium.btn:focus,.purple-medium.btn:hover{color:#FFF;background-color:#b335e8}.purple-medium.btn.active,.purple-medium.btn:active{background-image:none;background-color:#aa1ee6}.purple-medium.btn.active:hover,.purple-medium.btn:active:hover{background-color:#ae27e7}.open .purple-medium.btn.dropdown-toggle{background-image:none}.purple-medium.btn.disabled,.purple-medium.btn.disabled.active,.purple-medium.btn.disabled:active,.purple-medium.btn.disabled:focus,.purple-medium.btn.disabled:hover,.purple-medium.btn[disabled],.purple-medium.btn[disabled].active,.purple-medium.btn[disabled]:active,.purple-medium.btn[disabled]:focus,.purple-medium.btn[disabled]:hover,fieldset[disabled] .purple-medium.btn,fieldset[disabled] .purple-medium.btn.active,fieldset[disabled] .purple-medium.btn:active,fieldset[disabled] .purple-medium.btn:focus,fieldset[disabled] .purple-medium.btn:hover{background-color:#BF55EC}.purple-medium.btn .badge{color:#BF55EC;background-color:#FFF}.portlet.box.purple-medium>.portlet-title,.portlet.purple-medium,.portlet>.portlet-body.purple-medium{background-color:#BF55EC}.btn.purple-medium-stripe{border-left:3px solid #BF55EC}.portlet.solid.purple-medium>.portlet-body,.portlet.solid.purple-medium>.portlet-title{border:0;color:#FFF}.portlet.solid.purple-medium>.portlet-title>.caption>i{color:#FFF}.portlet.solid.purple-medium>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.purple-medium>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.purple-medium>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.purple-medium>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.purple-medium>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.purple-medium>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.purple-medium{border:1px solid #d083f1;border-top:0}.portlet.box.purple-medium>.portlet-title>.caption,.portlet.box.purple-medium>.portlet-title>.caption>i{color:#FFF}.portlet.box.purple-medium>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #e5baf7;color:#eed1fa}.portlet.box.purple-medium>.portlet-title>.actions .btn-default>i{color:#f3dffb}.portlet.box.purple-medium>.portlet-title>.actions .btn-default.active,.portlet.box.purple-medium>.portlet-title>.actions .btn-default:active,.portlet.box.purple-medium>.portlet-title>.actions .btn-default:focus,.portlet.box.purple-medium>.portlet-title>.actions .btn-default:hover{border:1px solid #f6e8fc;color:#fff}.dashboard-stat.purple-medium{background-color:#BF55EC}.dashboard-stat.purple-medium.dashboard-stat-light:hover{background-color:#b843ea}.dashboard-stat.purple-medium .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.purple-medium .details .number{color:#FFF}.dashboard-stat.purple-medium .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.purple-medium .more{color:#FFF;background-color:#b843ea}.bg-purple-medium{border-color:#BF55EC!important;background-image:none!important;background-color:#BF55EC!important;color:#FFF!important}.font-purple-medium{color:#BF55EC!important}.progress-bar.purple-medium{background:#BF55EC!important;color:#FFF!important}.purple-studio.btn{color:#FFF;background-color:#8E44AD;border-color:""}.open .purple-studio.btn.dropdown-toggle,.purple-studio.btn.active,.purple-studio.btn:active,.purple-studio.btn:focus,.purple-studio.btn:hover{color:#FFF;background-color:#793a93}.purple-studio.btn.active,.purple-studio.btn:active{background-image:none;background-color:#6a3381}.purple-studio.btn.active:hover,.purple-studio.btn:active:hover{background-color:#703688}.open .purple-studio.btn.dropdown-toggle{background-image:none}.purple-studio.btn.disabled,.purple-studio.btn.disabled.active,.purple-studio.btn.disabled:active,.purple-studio.btn.disabled:focus,.purple-studio.btn.disabled:hover,.purple-studio.btn[disabled],.purple-studio.btn[disabled].active,.purple-studio.btn[disabled]:active,.purple-studio.btn[disabled]:focus,.purple-studio.btn[disabled]:hover,fieldset[disabled] .purple-studio.btn,fieldset[disabled] .purple-studio.btn.active,fieldset[disabled] .purple-studio.btn:active,fieldset[disabled] .purple-studio.btn:focus,fieldset[disabled] .purple-studio.btn:hover{background-color:#8E44AD}.purple-studio.btn .badge{color:#8E44AD;background-color:#FFF}.portlet.box.purple-studio>.portlet-title,.portlet.purple-studio,.portlet>.portlet-body.purple-studio{background-color:#8E44AD}.btn.purple-studio-stripe{border-left:3px solid #8E44AD}.portlet.solid.purple-studio>.portlet-body,.portlet.solid.purple-studio>.portlet-title{border:0;color:#FFF}.portlet.solid.purple-studio>.portlet-title>.caption>i{color:#FFF}.portlet.solid.purple-studio>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.purple-studio>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.purple-studio>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.purple-studio>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.purple-studio>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.purple-studio>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.purple-studio{border:1px solid #a563c1;border-top:0}.portlet.box.purple-studio>.portlet-title>.caption,.portlet.box.purple-studio>.portlet-title>.caption>i{color:#FFF}.portlet.box.purple-studio>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #bf8ed3;color:#c9a1da}.portlet.box.purple-studio>.portlet-title>.actions .btn-default>i{color:#cfacde}.portlet.box.purple-studio>.portlet-title>.actions .btn-default.active,.portlet.box.purple-studio>.portlet-title>.actions .btn-default:active,.portlet.box.purple-studio>.portlet-title>.actions .btn-default:focus,.portlet.box.purple-studio>.portlet-title>.actions .btn-default:hover{border:1px solid #d4b3e1;color:#dec5e8}.dashboard-stat.purple-studio{background-color:#8E44AD}.dashboard-stat.purple-studio.dashboard-stat-light:hover{background-color:#823e9e}.dashboard-stat.purple-studio .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.purple-studio .details .number{color:#FFF}.dashboard-stat.purple-studio .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.purple-studio .more{color:#FFF;background-color:#823e9e}.bg-purple-studio{border-color:#8E44AD!important;background-image:none!important;background-color:#8E44AD!important;color:#FFF!important}.font-purple-studio{color:#8E44AD!important}.progress-bar.purple-studio{background:#8E44AD!important;color:#FFF!important}.purple-wisteria.btn{color:#FFF;background-color:#9B59B6;border-color:""}.open .purple-wisteria.btn.dropdown-toggle,.purple-wisteria.btn.active,.purple-wisteria.btn:active,.purple-wisteria.btn:focus,.purple-wisteria.btn:hover{color:#FFF;background-color:#8948a3}.purple-wisteria.btn.active,.purple-wisteria.btn:active{background-image:none;background-color:#7a4092}.purple-wisteria.btn.active:hover,.purple-wisteria.btn:active:hover{background-color:#804399}.open .purple-wisteria.btn.dropdown-toggle{background-image:none}.purple-wisteria.btn.disabled,.purple-wisteria.btn.disabled.active,.purple-wisteria.btn.disabled:active,.purple-wisteria.btn.disabled:focus,.purple-wisteria.btn.disabled:hover,.purple-wisteria.btn[disabled],.purple-wisteria.btn[disabled].active,.purple-wisteria.btn[disabled]:active,.purple-wisteria.btn[disabled]:focus,.purple-wisteria.btn[disabled]:hover,fieldset[disabled] .purple-wisteria.btn,fieldset[disabled] .purple-wisteria.btn.active,fieldset[disabled] .purple-wisteria.btn:active,fieldset[disabled] .purple-wisteria.btn:focus,fieldset[disabled] .purple-wisteria.btn:hover{background-color:#9B59B6}.purple-wisteria.btn .badge{color:#9B59B6;background-color:#FFF}.portlet.box.purple-wisteria>.portlet-title,.portlet.purple-wisteria,.portlet>.portlet-body.purple-wisteria{background-color:#9B59B6}.btn.purple-wisteria-stripe{border-left:3px solid #9B59B6}.portlet.solid.purple-wisteria>.portlet-body,.portlet.solid.purple-wisteria>.portlet-title{border:0;color:#FFF}.portlet.solid.purple-wisteria>.portlet-title>.caption>i{color:#FFF}.portlet.solid.purple-wisteria>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.purple-wisteria>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.purple-wisteria>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.purple-wisteria>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.purple-wisteria>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.purple-wisteria>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.purple-wisteria{border:1px solid #b07cc6;border-top:0}.portlet.box.purple-wisteria>.portlet-title>.caption,.portlet.box.purple-wisteria>.portlet-title>.caption>i{color:#FFF}.portlet.box.purple-wisteria>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #caa7d8;color:#d5b9e0}.portlet.box.purple-wisteria>.portlet-title>.actions .btn-default>i{color:#dbc3e5}.portlet.box.purple-wisteria>.portlet-title>.actions .btn-default.active,.portlet.box.purple-wisteria>.portlet-title>.actions .btn-default:active,.portlet.box.purple-wisteria>.portlet-title>.actions .btn-default:focus,.portlet.box.purple-wisteria>.portlet-title>.actions .btn-default:hover{border:1px solid #dfcae8;color:#eadcf0}.dashboard-stat.purple-wisteria{background-color:#9B59B6}.dashboard-stat.purple-wisteria.dashboard-stat-light:hover{background-color:#924dae}.dashboard-stat.purple-wisteria .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.purple-wisteria .details .number{color:#FFF}.dashboard-stat.purple-wisteria .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.purple-wisteria .more{color:#FFF;background-color:#924dae}.bg-purple-wisteria{border-color:#9B59B6!important;background-image:none!important;background-color:#9B59B6!important;color:#FFF!important}.font-purple-wisteria{color:#9B59B6!important}.progress-bar.purple-wisteria{background:#9B59B6!important;color:#FFF!important}.purple-seance.btn{color:#FFF;background-color:#9A12B3;border-color:""}.open .purple-seance.btn.dropdown-toggle,.purple-seance.btn.active,.purple-seance.btn:active,.purple-seance.btn:focus,.purple-seance.btn:hover{color:#FFF;background-color:#7e0f93}.purple-seance.btn.active,.purple-seance.btn:active{background-image:none;background-color:#6a0c7b}.purple-seance.btn.active:hover,.purple-seance.btn:active:hover{background-color:#720d85}.open .purple-seance.btn.dropdown-toggle{background-image:none}.purple-seance.btn.disabled,.purple-seance.btn.disabled.active,.purple-seance.btn.disabled:active,.purple-seance.btn.disabled:focus,.purple-seance.btn.disabled:hover,.purple-seance.btn[disabled],.purple-seance.btn[disabled].active,.purple-seance.btn[disabled]:active,.purple-seance.btn[disabled]:focus,.purple-seance.btn[disabled]:hover,fieldset[disabled] .purple-seance.btn,fieldset[disabled] .purple-seance.btn.active,fieldset[disabled] .purple-seance.btn:active,fieldset[disabled] .purple-seance.btn:focus,fieldset[disabled] .purple-seance.btn:hover{background-color:#9A12B3}.purple-seance.btn .badge{color:#9A12B3;background-color:#FFF}.portlet.box.purple-seance>.portlet-title,.portlet.purple-seance,.portlet>.portlet-body.purple-seance{background-color:#9A12B3}.btn.purple-seance-stripe{border-left:3px solid #9A12B3}.portlet.solid.purple-seance>.portlet-body,.portlet.solid.purple-seance>.portlet-title{border:0;color:#FFF}.portlet.solid.purple-seance>.portlet-title>.caption>i{color:#FFF}.portlet.solid.purple-seance>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.purple-seance>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.purple-seance>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.purple-seance>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.purple-seance>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.purple-seance>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.purple-seance{border:1px solid #c217e1;border-top:0}.portlet.box.purple-seance>.portlet-title>.caption,.portlet.box.purple-seance>.portlet-title>.caption>i{color:#FFF}.portlet.box.purple-seance>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #d349ed;color:#d960ef}.portlet.box.purple-seance>.portlet-title>.actions .btn-default>i{color:#dc6ef0}.portlet.box.purple-seance>.portlet-title>.actions .btn-default.active,.portlet.box.purple-seance>.portlet-title>.actions .btn-default:active,.portlet.box.purple-seance>.portlet-title>.actions .btn-default:focus,.portlet.box.purple-seance>.portlet-title>.actions .btn-default:hover{border:1px solid #de77f1;color:#e48ef4}.dashboard-stat.purple-seance{background-color:#9A12B3}.dashboard-stat.purple-seance.dashboard-stat-light:hover{background-color:#8a10a0}.dashboard-stat.purple-seance .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.purple-seance .details .number{color:#FFF}.dashboard-stat.purple-seance .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.purple-seance .more{color:#FFF;background-color:#8a10a0}.bg-purple-seance{border-color:#9A12B3!important;background-image:none!important;background-color:#9A12B3!important;color:#FFF!important}.font-purple-seance{color:#9A12B3!important}.progress-bar.purple-seance{background:#9A12B3!important;color:#FFF!important}.purple-intense.btn{color:#FFF;background-color:#8775a7;border-color:""}.open .purple-intense.btn.dropdown-toggle,.purple-intense.btn.active,.purple-intense.btn:active,.purple-intense.btn:focus,.purple-intense.btn:hover{color:#FFF;background-color:#746198}.purple-intense.btn.active,.purple-intense.btn:active{background-image:none;background-color:#685788}.purple-intense.btn.active:hover,.purple-intense.btn:active:hover{background-color:#6d5b8e}.open .purple-intense.btn.dropdown-toggle{background-image:none}.purple-intense.btn.disabled,.purple-intense.btn.disabled.active,.purple-intense.btn.disabled:active,.purple-intense.btn.disabled:focus,.purple-intense.btn.disabled:hover,.purple-intense.btn[disabled],.purple-intense.btn[disabled].active,.purple-intense.btn[disabled]:active,.purple-intense.btn[disabled]:focus,.purple-intense.btn[disabled]:hover,fieldset[disabled] .purple-intense.btn,fieldset[disabled] .purple-intense.btn.active,fieldset[disabled] .purple-intense.btn:active,fieldset[disabled] .purple-intense.btn:focus,fieldset[disabled] .purple-intense.btn:hover{background-color:#8775a7}.purple-intense.btn .badge{color:#8775a7;background-color:#FFF}.portlet.box.purple-intense>.portlet-title,.portlet.purple-intense,.portlet>.portlet-body.purple-intense{background-color:#8775a7}.btn.purple-intense-stripe{border-left:3px solid #8775a7}.portlet.solid.purple-intense>.portlet-body,.portlet.solid.purple-intense>.portlet-title{border:0;color:#FFF}.portlet.solid.purple-intense>.portlet-title>.caption>i{color:#FFF}.portlet.solid.purple-intense>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.purple-intense>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.purple-intense>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.purple-intense>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.purple-intense>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.purple-intense>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.purple-intense{border:1px solid #a294bb;border-top:0}.portlet.box.purple-intense>.portlet-title>.caption,.portlet.box.purple-intense>.portlet-title>.caption>i{color:#FFF}.portlet.box.purple-intense>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #c3bad3;color:#d0c9dd}.portlet.box.purple-intense>.portlet-title>.actions .btn-default>i{color:#d8d2e3}.portlet.box.purple-intense>.portlet-title>.actions .btn-default.active,.portlet.box.purple-intense>.portlet-title>.actions .btn-default:active,.portlet.box.purple-intense>.portlet-title>.actions .btn-default:focus,.portlet.box.purple-intense>.portlet-title>.actions .btn-default:hover{border:1px solid #ded9e7;color:#ebe8f0}.dashboard-stat.purple-intense{background-color:#8775a7}.dashboard-stat.purple-intense.dashboard-stat-light:hover{background-color:#7c699f}.dashboard-stat.purple-intense .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.purple-intense .details .number{color:#FFF}.dashboard-stat.purple-intense .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.purple-intense .more{color:#FFF;background-color:#7c699f}.bg-purple-intense{border-color:#8775a7!important;background-image:none!important;background-color:#8775a7!important;color:#FFF!important}.font-purple-intense{color:#8775a7!important}.progress-bar.purple-intense{background:#8775a7!important;color:#FFF!important}.purple-sharp.btn{color:#FFF;background-color:#796799;border-color:""}.open .purple-sharp.btn.dropdown-toggle,.purple-sharp.btn.active,.purple-sharp.btn:active,.purple-sharp.btn:focus,.purple-sharp.btn:hover{color:#FFF;background-color:#685884}.purple-sharp.btn.active,.purple-sharp.btn:active{background-image:none;background-color:#5c4e75}.purple-sharp.btn.active:hover,.purple-sharp.btn:active:hover{background-color:#61527b}.open .purple-sharp.btn.dropdown-toggle{background-image:none}.purple-sharp.btn.disabled,.purple-sharp.btn.disabled.active,.purple-sharp.btn.disabled:active,.purple-sharp.btn.disabled:focus,.purple-sharp.btn.disabled:hover,.purple-sharp.btn[disabled],.purple-sharp.btn[disabled].active,.purple-sharp.btn[disabled]:active,.purple-sharp.btn[disabled]:focus,.purple-sharp.btn[disabled]:hover,fieldset[disabled] .purple-sharp.btn,fieldset[disabled] .purple-sharp.btn.active,fieldset[disabled] .purple-sharp.btn:active,fieldset[disabled] .purple-sharp.btn:focus,fieldset[disabled] .purple-sharp.btn:hover{background-color:#796799}.purple-sharp.btn .badge{color:#796799;background-color:#FFF}.portlet.box.purple-sharp>.portlet-title,.portlet.purple-sharp,.portlet>.portlet-body.purple-sharp{background-color:#796799}.btn.purple-sharp-stripe{border-left:3px solid #796799}.portlet.solid.purple-sharp>.portlet-body,.portlet.solid.purple-sharp>.portlet-title{border:0;color:#FFF}.portlet.solid.purple-sharp>.portlet-title>.caption>i{color:#FFF}.portlet.solid.purple-sharp>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.purple-sharp>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.purple-sharp>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.purple-sharp>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.purple-sharp>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.purple-sharp>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.purple-sharp{border:1px solid #9486ad;border-top:0}.portlet.box.purple-sharp>.portlet-title>.caption,.portlet.box.purple-sharp>.portlet-title>.caption>i{color:#FFF}.portlet.box.purple-sharp>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #b4aac6;color:#c2b9d0}.portlet.box.purple-sharp>.portlet-title>.actions .btn-default>i{color:#cac3d6}.portlet.box.purple-sharp>.portlet-title>.actions .btn-default.active,.portlet.box.purple-sharp>.portlet-title>.actions .btn-default:active,.portlet.box.purple-sharp>.portlet-title>.actions .btn-default:focus,.portlet.box.purple-sharp>.portlet-title>.actions .btn-default:hover{border:1px solid #cfc9db;color:#ddd8e5}.dashboard-stat.purple-sharp{background-color:#796799}.dashboard-stat.purple-sharp.dashboard-stat-light:hover{background-color:#6f5f8d}.dashboard-stat.purple-sharp .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.purple-sharp .details .number{color:#FFF}.dashboard-stat.purple-sharp .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.purple-sharp .more{color:#FFF;background-color:#6f5f8d}.bg-purple-sharp{border-color:#796799!important;background-image:none!important;background-color:#796799!important;color:#FFF!important}.font-purple-sharp{color:#796799!important}.progress-bar.purple-sharp{background:#796799!important;color:#FFF!important}.purple-soft.btn{color:#FFF;background-color:#8877a9;border-color:""}.open .purple-soft.btn.dropdown-toggle,.purple-soft.btn.active,.purple-soft.btn:active,.purple-soft.btn:focus,.purple-soft.btn:hover{color:#FFF;background-color:#75629b}.purple-soft.btn.active,.purple-soft.btn:active{background-image:none;background-color:#69588b}.purple-soft.btn.active:hover,.purple-soft.btn:active:hover{background-color:#6e5c91}.open .purple-soft.btn.dropdown-toggle{background-image:none}.purple-soft.btn.disabled,.purple-soft.btn.disabled.active,.purple-soft.btn.disabled:active,.purple-soft.btn.disabled:focus,.purple-soft.btn.disabled:hover,.purple-soft.btn[disabled],.purple-soft.btn[disabled].active,.purple-soft.btn[disabled]:active,.purple-soft.btn[disabled]:focus,.purple-soft.btn[disabled]:hover,fieldset[disabled] .purple-soft.btn,fieldset[disabled] .purple-soft.btn.active,fieldset[disabled] .purple-soft.btn:active,fieldset[disabled] .purple-soft.btn:focus,fieldset[disabled] .purple-soft.btn:hover{background-color:#8877a9}.purple-soft.btn .badge{color:#8877a9;background-color:#FFF}.portlet.box.purple-soft>.portlet-title,.portlet.purple-soft,.portlet>.portlet-body.purple-soft{background-color:#8877a9}.btn.purple-soft-stripe{border-left:3px solid #8877a9}.portlet.solid.purple-soft>.portlet-body,.portlet.solid.purple-soft>.portlet-title{border:0;color:#FFF}.portlet.solid.purple-soft>.portlet-title>.caption>i{color:#FFF}.portlet.solid.purple-soft>.portlet-title>.tools>a.remove{background-image:url(../../assets/images/portlet-remove-icon-white.png)}.portlet.solid.purple-soft>.portlet-title>.tools>a.config{background-image:url(../../assets/images/portlet-config-icon-white.png)}.portlet.solid.purple-soft>.portlet-title>.tools>a.reload{background-image:url(../../assets/images/portlet-reload-icon-white.png)}.portlet.solid.purple-soft>.portlet-title>.tools>a.expand{background-image:url(../../assets/images/portlet-expand-icon-white.png)}.portlet.solid.purple-soft>.portlet-title>.tools>a.collapse{background-image:url(../../assets/images/portlet-collapse-icon-white.png)}.portlet.solid.purple-soft>.portlet-title>.tools>a.fullscreen{color:#fdfdfd}.portlet.box.purple-soft{border:1px solid #a396bd;border-top:0}.portlet.box.purple-soft>.portlet-title>.caption,.portlet.box.purple-soft>.portlet-title>.caption>i{color:#FFF}.portlet.box.purple-soft>.portlet-title>.actions .btn-default{background:0 0!important;border:1px solid #c4bcd4;color:#d2cbde}.portlet.box.purple-soft>.portlet-title>.actions .btn-default>i{color:#dad5e4}.portlet.box.purple-soft>.portlet-title>.actions .btn-default.active,.portlet.box.purple-soft>.portlet-title>.actions .btn-default:active,.portlet.box.purple-soft>.portlet-title>.actions .btn-default:focus,.portlet.box.purple-soft>.portlet-title>.actions .btn-default:hover{border:1px solid #dfdbe8;color:#edebf2}.dashboard-stat.purple-soft{background-color:#8877a9}.dashboard-stat.purple-soft.dashboard-stat-light:hover{background-color:#7d6ba1}.dashboard-stat.purple-soft .visual>i{color:#FFF;opacity:.1;filter:alpha(opacity=10)}.dashboard-stat.purple-soft .details .number{color:#FFF}.dashboard-stat.purple-soft .details .desc{color:#FFF;opacity:1;filter:alpha(opacity=100)}.dashboard-stat.purple-soft .more{color:#FFF;background-color:#7d6ba1}.bg-purple-soft{border-color:#8877a9!important;background-image:none!important;background-color:#8877a9!important;color:#FFF!important}.font-purple-soft{color:#8877a9!important}.progress-bar.purple-soft{background:#8877a9!important;color:#FFF!important}.btn-transparent.btn{background:0 0;color:#888}@-moz-keyframes whirly-loader{0%{-moz-transform:rotate(0);transform:rotate(0)}100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes whirly-loader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes whirly-loader{0%{-moz-transform:rotate(0);-ms-transform:rotate(0);-webkit-transform:rotate(0);transform:rotate(0)}100%{-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.whirly-loader:not(:required){overflow:hidden;position:relative;text-indent:-9999px;display:inline-block;width:8px;height:8px;background:0 0;-moz-border-radius:100%;-webkit-border-radius:100%;border-radius:100%;-moz-box-shadow:#FA4C61 0 26px 0 6px,#FA4C61 .91px 26.05px 0 5.93px,#FA4C61 1.82px 26.07px 0 5.87px,#FA4C61 2.74px 26.06px 0 5.8px,#FA4C61 3.66px 26.01px 0 5.73px,#FA4C61 4.57px 25.93px 0 5.67px,#FA4C61 5.49px 25.82px 0 5.6px,#FA4C61 6.4px 25.68px 0 5.53px,#FA4C61 7.31px 25.51px 0 5.47px,#FA4C61 8.22px 25.3px 0 5.4px,#FA4C61 9.12px 25.06px 0 5.33px,#FA4C61 10.01px 24.79px 0 5.27px,#FA4C61 10.9px 24.48px 0 5.2px,#FA4C61 11.78px 24.15px 0 5.13px,#FA4C61 12.64px 23.78px 0 5.07px,#FA4C61 13.5px 23.38px 0 5px,#FA4C61 14.34px 22.95px 0 4.93px,#FA4C61 15.17px 22.49px 0 4.87px,#FA4C61 15.99px 22.01px 0 4.8px,#FA4C61 16.79px 21.49px 0 4.73px,#FA4C61 17.57px 20.94px 0 4.67px,#FA4C61 18.33px 20.36px 0 4.6px,#FA4C61 19.08px 19.76px 0 4.53px,#FA4C61 19.81px 19.13px 0 4.47px,#FA4C61 20.51px 18.47px 0 4.4px,#FA4C61 21.19px 17.78px 0 4.33px,#FA4C61 21.85px 17.07px 0 4.27px,#FA4C61 22.49px 16.34px 0 4.2px,#FA4C61 23.1px 15.58px 0 4.13px,#FA4C61 23.69px 14.8px 0 4.07px,#FA4C61 24.25px 14px 0 4px,#FA4C61 24.78px 13.18px 0 3.93px,#FA4C61 25.29px 12.33px 0 3.87px,#FA4C61 25.76px 11.47px 0 3.8px,#FA4C61 26.21px 10.59px 0 3.73px,#FA4C61 26.62px 9.69px 0 3.67px,#FA4C61 27.01px 8.78px 0 3.6px,#FA4C61 27.36px 7.85px 0 3.53px,#FA4C61 27.69px 6.9px 0 3.47px,#FA4C61 27.98px 5.95px 0 3.4px,#FA4C61 28.23px 4.98px 0 3.33px,#FA4C61 28.45px 4px 0 3.27px,#FA4C61 28.64px 3.01px 0 3.2px,#FA4C61 28.8px 2.01px 0 3.13px,#FA4C61 28.92px 1.01px 0 3.07px,#FA4C61 29px 0 0 3px,#FA4C61 29.05px -1.01px 0 2.93px,#FA4C61 29.06px -2.03px 0 2.87px,#FA4C61 29.04px -3.05px 0 2.8px,#FA4C61 28.98px -4.07px 0 2.73px,#FA4C61 28.89px -5.09px 0 2.67px,#FA4C61 28.76px -6.11px 0 2.6px,#FA4C61 28.59px -7.13px 0 2.53px,#FA4C61 28.39px -8.14px 0 2.47px,#FA4C61 28.15px -9.15px 0 2.4px,#FA4C61 27.88px -10.15px 0 2.33px,#FA4C61 27.57px -11.14px 0 2.27px,#FA4C61 27.22px -12.12px 0 2.2px,#FA4C61 26.84px -13.09px 0 2.13px,#FA4C61 26.43px -14.05px 0 2.07px,#FA4C61 25.98px -15px 0 2px,#FA4C61 25.5px -15.93px 0 1.93px,#FA4C61 24.98px -16.85px 0 1.87px,#FA4C61 24.43px -17.75px 0 1.8px,#FA4C61 23.85px -18.63px 0 1.73px,#FA4C61 23.24px -19.5px 0 1.67px,#FA4C61 22.59px -20.34px 0 1.6px,#FA4C61 21.92px -21.16px 0 1.53px,#FA4C61 21.21px -21.96px 0 1.47px,#FA4C61 20.48px -22.74px 0 1.4px,#FA4C61 19.71px -23.49px 0 1.33px,#FA4C61 18.92px -24.22px 0 1.27px,#FA4C61 18.1px -24.92px 0 1.2px,#FA4C61 17.26px -25.59px 0 1.13px,#FA4C61 16.39px -26.23px 0 1.07px,#FA4C61 15.5px -26.85px 0 1px,#FA4C61 14.58px -27.43px 0 .93px,#FA4C61 13.65px -27.98px 0 .87px,#FA4C61 12.69px -28.5px 0 .8px,#FA4C61 11.71px -28.99px 0 .73px,#FA4C61 10.72px -29.44px 0 .67px,#FA4C61 9.7px -29.86px 0 .6px,#FA4C61 8.67px -30.25px 0 .53px,#FA4C61 7.63px -30.6px 0 .47px,#FA4C61 6.57px -30.91px 0 .4px,#FA4C61 5.5px -31.19px 0 .33px,#FA4C61 4.42px -31.42px 0 .27px,#FA4C61 3.32px -31.63px 0 .2px,#FA4C61 2.22px -31.79px 0 .13px,#FA4C61 1.11px -31.91px 0 .07px,#FA4C61 0 -32px 0 0,#FA4C61 -1.12px -32.05px 0 -.07px,#FA4C61 -2.24px -32.06px 0 -.13px,#FA4C61 -3.37px -32.02px 0 -.2px,#FA4C61 -4.49px -31.95px 0 -.27px,#FA4C61 -5.61px -31.84px 0 -.33px,#FA4C61 -6.74px -31.69px 0 -.4px,#FA4C61 -7.85px -31.5px 0 -.47px,#FA4C61 -8.97px -31.27px 0 -.53px,#FA4C61 -10.07px -31px 0 -.6px,#FA4C61 -11.17px -30.7px 0 -.67px,#FA4C61 -12.26px -30.35px 0 -.73px,#FA4C61 -13.34px -29.96px 0 -.8px,#FA4C61 -14.41px -29.54px 0 -.87px,#FA4C61 -15.46px -29.08px 0 -.93px,#FA4C61 -16.5px -28.58px 0 -1px,#FA4C61 -17.52px -28.04px 0 -1.07px,#FA4C61 -18.53px -27.47px 0 -1.13px,#FA4C61 -19.51px -26.86px 0 -1.2px,#FA4C61 -20.48px -26.21px 0 -1.27px,#FA4C61 -21.43px -25.53px 0 -1.33px,#FA4C61 -22.35px -24.82px 0 -1.4px,#FA4C61 -23.25px -24.07px 0 -1.47px,#FA4C61 -24.12px -23.29px 0 -1.53px,#FA4C61 -24.97px -22.48px 0 -1.6px,#FA4C61 -25.79px -21.64px 0 -1.67px,#FA4C61 -26.58px -20.77px 0 -1.73px,#FA4C61 -27.34px -19.87px 0 -1.8px,#FA4C61 -28.08px -18.94px 0 -1.87px,#FA4C61 -28.78px -17.98px 0 -1.93px,#FA4C61 -29.44px -17px 0 -2px,#FA4C61 -30.08px -15.99px 0 -2.07px,#FA4C61 -30.68px -14.96px 0 -2.13px,#FA4C61 -31.24px -13.91px 0 -2.2px,#FA4C61 -31.77px -12.84px 0 -2.27px,#FA4C61 -32.26px -11.74px 0 -2.33px,#FA4C61 -32.72px -10.63px 0 -2.4px,#FA4C61 -33.13px -9.5px 0 -2.47px,#FA4C61 -33.51px -8.35px 0 -2.53px,#FA4C61 -33.84px -7.19px 0 -2.6px,#FA4C61 -34.14px -6.02px 0 -2.67px,#FA4C61 -34.4px -4.83px 0 -2.73px,#FA4C61 -34.61px -3.64px 0 -2.8px,#FA4C61 -34.78px -2.43px 0 -2.87px,#FA4C61 -34.91px -1.22px 0 -2.93px,#FA4C61 -35px 0 0 -3px,#FA4C61 -35.05px 1.22px 0 -3.07px,#FA4C61 -35.05px 2.45px 0 -3.13px,#FA4C61 -35.01px 3.68px 0 -3.2px,#FA4C61 -34.92px 4.91px 0 -3.27px,#FA4C61 -34.8px 6.14px 0 -3.33px,#FA4C61 -34.63px 7.36px 0 -3.4px,#FA4C61 -34.41px 8.58px 0 -3.47px,#FA4C61 -34.16px 9.79px 0 -3.53px,#FA4C61 -33.86px 11px 0 -3.6px,#FA4C61 -33.52px 12.2px 0 -3.67px,#FA4C61 -33.13px 13.39px 0 -3.73px,#FA4C61 -32.7px 14.56px 0 -3.8px,#FA4C61 -32.24px 15.72px 0 -3.87px,#FA4C61 -31.73px 16.87px 0 -3.93px,#FA4C61 -31.18px 18px 0 -4px,#FA4C61 -30.59px 19.11px 0 -4.07px,#FA4C61 -29.96px 20.21px 0 -4.13px,#FA4C61 -29.29px 21.28px 0 -4.2px,#FA4C61 -28.58px 22.33px 0 -4.27px,#FA4C61 -27.83px 23.35px 0 -4.33px,#FA4C61 -27.05px 24.36px 0 -4.4px,#FA4C61 -26.23px 25.33px 0 -4.47px,#FA4C61 -25.38px 26.28px 0 -4.53px,#FA4C61 -24.49px 27.2px 0 -4.6px,#FA4C61 -23.57px 28.09px 0 -4.67px,#FA4C61 -22.62px 28.95px 0 -4.73px,#FA4C61 -21.63px 29.77px 0 -4.8px,#FA4C61 -20.62px 30.56px 0 -4.87px,#FA4C61 -19.57px 31.32px 0 -4.93px,#FA4C61 -18.5px 32.04px 0 -5px,#FA4C61 -17.4px 32.73px 0 -5.07px,#FA4C61 -16.28px 33.38px 0 -5.13px,#FA4C61 -15.13px 33.98px 0 -5.2px,#FA4C61 -13.96px 34.55px 0 -5.27px,#FA4C61 -12.77px 35.08px 0 -5.33px,#FA4C61 -11.56px 35.57px 0 -5.4px,#FA4C61 -10.33px 36.02px 0 -5.47px,#FA4C61 -9.08px 36.42px 0 -5.53px,#FA4C61 -7.82px 36.78px 0 -5.6px,#FA4C61 -6.54px 37.09px 0 -5.67px,#FA4C61 -5.25px 37.37px 0 -5.73px,#FA4C61 -3.95px 37.59px 0 -5.8px,#FA4C61 -2.64px 37.77px 0 -5.87px,#FA4C61 -1.32px 37.91px 0 -5.93px;-webkit-box-shadow:#FA4C61 0 26px 0 6px,#FA4C61 .91px 26.05px 0 5.93px,#FA4C61 1.82px 26.07px 0 5.87px,#FA4C61 2.74px 26.06px 0 5.8px,#FA4C61 3.66px 26.01px 0 5.73px,#FA4C61 4.57px 25.93px 0 5.67px,#FA4C61 5.49px 25.82px 0 5.6px,#FA4C61 6.4px 25.68px 0 5.53px,#FA4C61 7.31px 25.51px 0 5.47px,#FA4C61 8.22px 25.3px 0 5.4px,#FA4C61 9.12px 25.06px 0 5.33px,#FA4C61 10.01px 24.79px 0 5.27px,#FA4C61 10.9px 24.48px 0 5.2px,#FA4C61 11.78px 24.15px 0 5.13px,#FA4C61 12.64px 23.78px 0 5.07px,#FA4C61 13.5px 23.38px 0 5px,#FA4C61 14.34px 22.95px 0 4.93px,#FA4C61 15.17px 22.49px 0 4.87px,#FA4C61 15.99px 22.01px 0 4.8px,#FA4C61 16.79px 21.49px 0 4.73px,#FA4C61 17.57px 20.94px 0 4.67px,#FA4C61 18.33px 20.36px 0 4.6px,#FA4C61 19.08px 19.76px 0 4.53px,#FA4C61 19.81px 19.13px 0 4.47px,#FA4C61 20.51px 18.47px 0 4.4px,#FA4C61 21.19px 17.78px 0 4.33px,#FA4C61 21.85px 17.07px 0 4.27px,#FA4C61 22.49px 16.34px 0 4.2px,#FA4C61 23.1px 15.58px 0 4.13px,#FA4C61 23.69px 14.8px 0 4.07px,#FA4C61 24.25px 14px 0 4px,#FA4C61 24.78px 13.18px 0 3.93px,#FA4C61 25.29px 12.33px 0 3.87px,#FA4C61 25.76px 11.47px 0 3.8px,#FA4C61 26.21px 10.59px 0 3.73px,#FA4C61 26.62px 9.69px 0 3.67px,#FA4C61 27.01px 8.78px 0 3.6px,#FA4C61 27.36px 7.85px 0 3.53px,#FA4C61 27.69px 6.9px 0 3.47px,#FA4C61 27.98px 5.95px 0 3.4px,#FA4C61 28.23px 4.98px 0 3.33px,#FA4C61 28.45px 4px 0 3.27px,#FA4C61 28.64px 3.01px 0 3.2px,#FA4C61 28.8px 2.01px 0 3.13px,#FA4C61 28.92px 1.01px 0 3.07px,#FA4C61 29px 0 0 3px,#FA4C61 29.05px -1.01px 0 2.93px,#FA4C61 29.06px -2.03px 0 2.87px,#FA4C61 29.04px -3.05px 0 2.8px,#FA4C61 28.98px -4.07px 0 2.73px,#FA4C61 28.89px -5.09px 0 2.67px,#FA4C61 28.76px -6.11px 0 2.6px,#FA4C61 28.59px -7.13px 0 2.53px,#FA4C61 28.39px -8.14px 0 2.47px,#FA4C61 28.15px -9.15px 0 2.4px,#FA4C61 27.88px -10.15px 0 2.33px,#FA4C61 27.57px -11.14px 0 2.27px,#FA4C61 27.22px -12.12px 0 2.2px,#FA4C61 26.84px -13.09px 0 2.13px,#FA4C61 26.43px -14.05px 0 2.07px,#FA4C61 25.98px -15px 0 2px,#FA4C61 25.5px -15.93px 0 1.93px,#FA4C61 24.98px -16.85px 0 1.87px,#FA4C61 24.43px -17.75px 0 1.8px,#FA4C61 23.85px -18.63px 0 1.73px,#FA4C61 23.24px -19.5px 0 1.67px,#FA4C61 22.59px -20.34px 0 1.6px,#FA4C61 21.92px -21.16px 0 1.53px,#FA4C61 21.21px -21.96px 0 1.47px,#FA4C61 20.48px -22.74px 0 1.4px,#FA4C61 19.71px -23.49px 0 1.33px,#FA4C61 18.92px -24.22px 0 1.27px,#FA4C61 18.1px -24.92px 0 1.2px,#FA4C61 17.26px -25.59px 0 1.13px,#FA4C61 16.39px -26.23px 0 1.07px,#FA4C61 15.5px -26.85px 0 1px,#FA4C61 14.58px -27.43px 0 .93px,#FA4C61 13.65px -27.98px 0 .87px,#FA4C61 12.69px -28.5px 0 .8px,#FA4C61 11.71px -28.99px 0 .73px,#FA4C61 10.72px -29.44px 0 .67px,#FA4C61 9.7px -29.86px 0 .6px,#FA4C61 8.67px -30.25px 0 .53px,#FA4C61 7.63px -30.6px 0 .47px,#FA4C61 6.57px -30.91px 0 .4px,#FA4C61 5.5px -31.19px 0 .33px,#FA4C61 4.42px -31.42px 0 .27px,#FA4C61 3.32px -31.63px 0 .2px,#FA4C61 2.22px -31.79px 0 .13px,#FA4C61 1.11px -31.91px 0 .07px,#FA4C61 0 -32px 0 0,#FA4C61 -1.12px -32.05px 0 -.07px,#FA4C61 -2.24px -32.06px 0 -.13px,#FA4C61 -3.37px -32.02px 0 -.2px,#FA4C61 -4.49px -31.95px 0 -.27px,#FA4C61 -5.61px -31.84px 0 -.33px,#FA4C61 -6.74px -31.69px 0 -.4px,#FA4C61 -7.85px -31.5px 0 -.47px,#FA4C61 -8.97px -31.27px 0 -.53px,#FA4C61 -10.07px -31px 0 -.6px,#FA4C61 -11.17px -30.7px 0 -.67px,#FA4C61 -12.26px -30.35px 0 -.73px,#FA4C61 -13.34px -29.96px 0 -.8px,#FA4C61 -14.41px -29.54px 0 -.87px,#FA4C61 -15.46px -29.08px 0 -.93px,#FA4C61 -16.5px -28.58px 0 -1px,#FA4C61 -17.52px -28.04px 0 -1.07px,#FA4C61 -18.53px -27.47px 0 -1.13px,#FA4C61 -19.51px -26.86px 0 -1.2px,#FA4C61 -20.48px -26.21px 0 -1.27px,#FA4C61 -21.43px -25.53px 0 -1.33px,#FA4C61 -22.35px -24.82px 0 -1.4px,#FA4C61 -23.25px -24.07px 0 -1.47px,#FA4C61 -24.12px -23.29px 0 -1.53px,#FA4C61 -24.97px -22.48px 0 -1.6px,#FA4C61 -25.79px -21.64px 0 -1.67px,#FA4C61 -26.58px -20.77px 0 -1.73px,#FA4C61 -27.34px -19.87px 0 -1.8px,#FA4C61 -28.08px -18.94px 0 -1.87px,#FA4C61 -28.78px -17.98px 0 -1.93px,#FA4C61 -29.44px -17px 0 -2px,#FA4C61 -30.08px -15.99px 0 -2.07px,#FA4C61 -30.68px -14.96px 0 -2.13px,#FA4C61 -31.24px -13.91px 0 -2.2px,#FA4C61 -31.77px -12.84px 0 -2.27px,#FA4C61 -32.26px -11.74px 0 -2.33px,#FA4C61 -32.72px -10.63px 0 -2.4px,#FA4C61 -33.13px -9.5px 0 -2.47px,#FA4C61 -33.51px -8.35px 0 -2.53px,#FA4C61 -33.84px -7.19px 0 -2.6px,#FA4C61 -34.14px -6.02px 0 -2.67px,#FA4C61 -34.4px -4.83px 0 -2.73px,#FA4C61 -34.61px -3.64px 0 -2.8px,#FA4C61 -34.78px -2.43px 0 -2.87px,#FA4C61 -34.91px -1.22px 0 -2.93px,#FA4C61 -35px 0 0 -3px,#FA4C61 -35.05px 1.22px 0 -3.07px,#FA4C61 -35.05px 2.45px 0 -3.13px,#FA4C61 -35.01px 3.68px 0 -3.2px,#FA4C61 -34.92px 4.91px 0 -3.27px,#FA4C61 -34.8px 6.14px 0 -3.33px,#FA4C61 -34.63px 7.36px 0 -3.4px,#FA4C61 -34.41px 8.58px 0 -3.47px,#FA4C61 -34.16px 9.79px 0 -3.53px,#FA4C61 -33.86px 11px 0 -3.6px,#FA4C61 -33.52px 12.2px 0 -3.67px,#FA4C61 -33.13px 13.39px 0 -3.73px,#FA4C61 -32.7px 14.56px 0 -3.8px,#FA4C61 -32.24px 15.72px 0 -3.87px,#FA4C61 -31.73px 16.87px 0 -3.93px,#FA4C61 -31.18px 18px 0 -4px,#FA4C61 -30.59px 19.11px 0 -4.07px,#FA4C61 -29.96px 20.21px 0 -4.13px,#FA4C61 -29.29px 21.28px 0 -4.2px,#FA4C61 -28.58px 22.33px 0 -4.27px,#FA4C61 -27.83px 23.35px 0 -4.33px,#FA4C61 -27.05px 24.36px 0 -4.4px,#FA4C61 -26.23px 25.33px 0 -4.47px,#FA4C61 -25.38px 26.28px 0 -4.53px,#FA4C61 -24.49px 27.2px 0 -4.6px,#FA4C61 -23.57px 28.09px 0 -4.67px,#FA4C61 -22.62px 28.95px 0 -4.73px,#FA4C61 -21.63px 29.77px 0 -4.8px,#FA4C61 -20.62px 30.56px 0 -4.87px,#FA4C61 -19.57px 31.32px 0 -4.93px,#FA4C61 -18.5px 32.04px 0 -5px,#FA4C61 -17.4px 32.73px 0 -5.07px,#FA4C61 -16.28px 33.38px 0 -5.13px,#FA4C61 -15.13px 33.98px 0 -5.2px,#FA4C61 -13.96px 34.55px 0 -5.27px,#FA4C61 -12.77px 35.08px 0 -5.33px,#FA4C61 -11.56px 35.57px 0 -5.4px,#FA4C61 -10.33px 36.02px 0 -5.47px,#FA4C61 -9.08px 36.42px 0 -5.53px,#FA4C61 -7.82px 36.78px 0 -5.6px,#FA4C61 -6.54px 37.09px 0 -5.67px,#FA4C61 -5.25px 37.37px 0 -5.73px,#FA4C61 -3.95px 37.59px 0 -5.8px,#FA4C61 -2.64px 37.77px 0 -5.87px,#FA4C61 -1.32px 37.91px 0 -5.93px;box-shadow:#FA4C61 0 26px 0 6px,#FA4C61 .91px 26.05px 0 5.93px,#FA4C61 1.82px 26.07px 0 5.87px,#FA4C61 2.74px 26.06px 0 5.8px,#FA4C61 3.66px 26.01px 0 5.73px,#FA4C61 4.57px 25.93px 0 5.67px,#FA4C61 5.49px 25.82px 0 5.6px,#FA4C61 6.4px 25.68px 0 5.53px,#FA4C61 7.31px 25.51px 0 5.47px,#FA4C61 8.22px 25.3px 0 5.4px,#FA4C61 9.12px 25.06px 0 5.33px,#FA4C61 10.01px 24.79px 0 5.27px,#FA4C61 10.9px 24.48px 0 5.2px,#FA4C61 11.78px 24.15px 0 5.13px,#FA4C61 12.64px 23.78px 0 5.07px,#FA4C61 13.5px 23.38px 0 5px,#FA4C61 14.34px 22.95px 0 4.93px,#FA4C61 15.17px 22.49px 0 4.87px,#FA4C61 15.99px 22.01px 0 4.8px,#FA4C61 16.79px 21.49px 0 4.73px,#FA4C61 17.57px 20.94px 0 4.67px,#FA4C61 18.33px 20.36px 0 4.6px,#FA4C61 19.08px 19.76px 0 4.53px,#FA4C61 19.81px 19.13px 0 4.47px,#FA4C61 20.51px 18.47px 0 4.4px,#FA4C61 21.19px 17.78px 0 4.33px,#FA4C61 21.85px 17.07px 0 4.27px,#FA4C61 22.49px 16.34px 0 4.2px,#FA4C61 23.1px 15.58px 0 4.13px,#FA4C61 23.69px 14.8px 0 4.07px,#FA4C61 24.25px 14px 0 4px,#FA4C61 24.78px 13.18px 0 3.93px,#FA4C61 25.29px 12.33px 0 3.87px,#FA4C61 25.76px 11.47px 0 3.8px,#FA4C61 26.21px 10.59px 0 3.73px,#FA4C61 26.62px 9.69px 0 3.67px,#FA4C61 27.01px 8.78px 0 3.6px,#FA4C61 27.36px 7.85px 0 3.53px,#FA4C61 27.69px 6.9px 0 3.47px,#FA4C61 27.98px 5.95px 0 3.4px,#FA4C61 28.23px 4.98px 0 3.33px,#FA4C61 28.45px 4px 0 3.27px,#FA4C61 28.64px 3.01px 0 3.2px,#FA4C61 28.8px 2.01px 0 3.13px,#FA4C61 28.92px 1.01px 0 3.07px,#FA4C61 29px 0 0 3px,#FA4C61 29.05px -1.01px 0 2.93px,#FA4C61 29.06px -2.03px 0 2.87px,#FA4C61 29.04px -3.05px 0 2.8px,#FA4C61 28.98px -4.07px 0 2.73px,#FA4C61 28.89px -5.09px 0 2.67px,#FA4C61 28.76px -6.11px 0 2.6px,#FA4C61 28.59px -7.13px 0 2.53px,#FA4C61 28.39px -8.14px 0 2.47px,#FA4C61 28.15px -9.15px 0 2.4px,#FA4C61 27.88px -10.15px 0 2.33px,#FA4C61 27.57px -11.14px 0 2.27px,#FA4C61 27.22px -12.12px 0 2.2px,#FA4C61 26.84px -13.09px 0 2.13px,#FA4C61 26.43px -14.05px 0 2.07px,#FA4C61 25.98px -15px 0 2px,#FA4C61 25.5px -15.93px 0 1.93px,#FA4C61 24.98px -16.85px 0 1.87px,#FA4C61 24.43px -17.75px 0 1.8px,#FA4C61 23.85px -18.63px 0 1.73px,#FA4C61 23.24px -19.5px 0 1.67px,#FA4C61 22.59px -20.34px 0 1.6px,#FA4C61 21.92px -21.16px 0 1.53px,#FA4C61 21.21px -21.96px 0 1.47px,#FA4C61 20.48px -22.74px 0 1.4px,#FA4C61 19.71px -23.49px 0 1.33px,#FA4C61 18.92px -24.22px 0 1.27px,#FA4C61 18.1px -24.92px 0 1.2px,#FA4C61 17.26px -25.59px 0 1.13px,#FA4C61 16.39px -26.23px 0 1.07px,#FA4C61 15.5px -26.85px 0 1px,#FA4C61 14.58px -27.43px 0 .93px,#FA4C61 13.65px -27.98px 0 .87px,#FA4C61 12.69px -28.5px 0 .8px,#FA4C61 11.71px -28.99px 0 .73px,#FA4C61 10.72px -29.44px 0 .67px,#FA4C61 9.7px -29.86px 0 .6px,#FA4C61 8.67px -30.25px 0 .53px,#FA4C61 7.63px -30.6px 0 .47px,#FA4C61 6.57px -30.91px 0 .4px,#FA4C61 5.5px -31.19px 0 .33px,#FA4C61 4.42px -31.42px 0 .27px,#FA4C61 3.32px -31.63px 0 .2px,#FA4C61 2.22px -31.79px 0 .13px,#FA4C61 1.11px -31.91px 0 .07px,#FA4C61 0 -32px 0 0,#FA4C61 -1.12px -32.05px 0 -.07px,#FA4C61 -2.24px -32.06px 0 -.13px,#FA4C61 -3.37px -32.02px 0 -.2px,#FA4C61 -4.49px -31.95px 0 -.27px,#FA4C61 -5.61px -31.84px 0 -.33px,#FA4C61 -6.74px -31.69px 0 -.4px,#FA4C61 -7.85px -31.5px 0 -.47px,#FA4C61 -8.97px -31.27px 0 -.53px,#FA4C61 -10.07px -31px 0 -.6px,#FA4C61 -11.17px -30.7px 0 -.67px,#FA4C61 -12.26px -30.35px 0 -.73px,#FA4C61 -13.34px -29.96px 0 -.8px,#FA4C61 -14.41px -29.54px 0 -.87px,#FA4C61 -15.46px -29.08px 0 -.93px,#FA4C61 -16.5px -28.58px 0 -1px,#FA4C61 -17.52px -28.04px 0 -1.07px,#FA4C61 -18.53px -27.47px 0 -1.13px,#FA4C61 -19.51px -26.86px 0 -1.2px,#FA4C61 -20.48px -26.21px 0 -1.27px,#FA4C61 -21.43px -25.53px 0 -1.33px,#FA4C61 -22.35px -24.82px 0 -1.4px,#FA4C61 -23.25px -24.07px 0 -1.47px,#FA4C61 -24.12px -23.29px 0 -1.53px,#FA4C61 -24.97px -22.48px 0 -1.6px,#FA4C61 -25.79px -21.64px 0 -1.67px,#FA4C61 -26.58px -20.77px 0 -1.73px,#FA4C61 -27.34px -19.87px 0 -1.8px,#FA4C61 -28.08px -18.94px 0 -1.87px,#FA4C61 -28.78px -17.98px 0 -1.93px,#FA4C61 -29.44px -17px 0 -2px,#FA4C61 -30.08px -15.99px 0 -2.07px,#FA4C61 -30.68px -14.96px 0 -2.13px,#FA4C61 -31.24px -13.91px 0 -2.2px,#FA4C61 -31.77px -12.84px 0 -2.27px,#FA4C61 -32.26px -11.74px 0 -2.33px,#FA4C61 -32.72px -10.63px 0 -2.4px,#FA4C61 -33.13px -9.5px 0 -2.47px,#FA4C61 -33.51px -8.35px 0 -2.53px,#FA4C61 -33.84px -7.19px 0 -2.6px,#FA4C61 -34.14px -6.02px 0 -2.67px,#FA4C61 -34.4px -4.83px 0 -2.73px,#FA4C61 -34.61px -3.64px 0 -2.8px,#FA4C61 -34.78px -2.43px 0 -2.87px,#FA4C61 -34.91px -1.22px 0 -2.93px,#FA4C61 -35px 0 0 -3px,#FA4C61 -35.05px 1.22px 0 -3.07px,#FA4C61 -35.05px 2.45px 0 -3.13px,#FA4C61 -35.01px 3.68px 0 -3.2px,#FA4C61 -34.92px 4.91px 0 -3.27px,#FA4C61 -34.8px 6.14px 0 -3.33px,#FA4C61 -34.63px 7.36px 0 -3.4px,#FA4C61 -34.41px 8.58px 0 -3.47px,#FA4C61 -34.16px 9.79px 0 -3.53px,#FA4C61 -33.86px 11px 0 -3.6px,#FA4C61 -33.52px 12.2px 0 -3.67px,#FA4C61 -33.13px 13.39px 0 -3.73px,#FA4C61 -32.7px 14.56px 0 -3.8px,#FA4C61 -32.24px 15.72px 0 -3.87px,#FA4C61 -31.73px 16.87px 0 -3.93px,#FA4C61 -31.18px 18px 0 -4px,#FA4C61 -30.59px 19.11px 0 -4.07px,#FA4C61 -29.96px 20.21px 0 -4.13px,#FA4C61 -29.29px 21.28px 0 -4.2px,#FA4C61 -28.58px 22.33px 0 -4.27px,#FA4C61 -27.83px 23.35px 0 -4.33px,#FA4C61 -27.05px 24.36px 0 -4.4px,#FA4C61 -26.23px 25.33px 0 -4.47px,#FA4C61 -25.38px 26.28px 0 -4.53px,#FA4C61 -24.49px 27.2px 0 -4.6px,#FA4C61 -23.57px 28.09px 0 -4.67px,#FA4C61 -22.62px 28.95px 0 -4.73px,#FA4C61 -21.63px 29.77px 0 -4.8px,#FA4C61 -20.62px 30.56px 0 -4.87px,#FA4C61 -19.57px 31.32px 0 -4.93px,#FA4C61 -18.5px 32.04px 0 -5px,#FA4C61 -17.4px 32.73px 0 -5.07px,#FA4C61 -16.28px 33.38px 0 -5.13px,#FA4C61 -15.13px 33.98px 0 -5.2px,#FA4C61 -13.96px 34.55px 0 -5.27px,#FA4C61 -12.77px 35.08px 0 -5.33px,#FA4C61 -11.56px 35.57px 0 -5.4px,#FA4C61 -10.33px 36.02px 0 -5.47px,#FA4C61 -9.08px 36.42px 0 -5.53px,#FA4C61 -7.82px 36.78px 0 -5.6px,#FA4C61 -6.54px 37.09px 0 -5.67px,#FA4C61 -5.25px 37.37px 0 -5.73px,#FA4C61 -3.95px 37.59px 0 -5.8px,#FA4C61 -2.64px 37.77px 0 -5.87px,#FA4C61 -1.32px 37.91px 0 -5.93px;-moz-animation:whirly-loader 1.25s infinite linear;-webkit-animation:whirly-loader 1.25s infinite linear;animation:whirly-loader 1.25s infinite linear;-moz-transform-origin:50% 50%;-ms-transform-origin:50% 50%;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}.demo{background-image:url(../../assets/images/demo.png)}.float-right{float:right}.float-left{float:left}.checker{width:19px;height:19px}.collapse.am-collapse{animation-duration:.3s;animation-timing-function:ease;animation-fill-mode:backwards;overflow:hidden}.message-info{float:right;color:#d3d3d3;margin-right:5px}[ui-view].ng-enter{-webkit-animation:fadeInUpm .5s;animation:fadeInUpm .5s}.steps,.steps-indicator{padding-bottom:20px!important}.ui-sortable,.ui-sortable-handle{cursor:move}.step .btn:not(.ui-select-toggle,.remove-condition){margin-bottom:10px}.mbottom20{margin-bottom:20px}.pbottom20{padding-bottom:20px}.break-overflow{overflow-wrap:break-word}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;opacity:.2;filter:alpha(opacity=20)}.alert{padding:15px!important;margin-bottom:20px!important;border:1px solid transparent!important;border-radius:4px!important}.alert h4{margin-top:0!important;color:inherit!important}.alert .alert-link{font-weight:700!important}.alert>p,.alert>ul{margin-bottom:0!important}.alert>p+p{margin-top:5px!important}.alert-dismissable,.alert-dismissible{padding-right:35px!important}.alert-dismissable .close,.alert-dismissible .close{position:relative!important;top:-2px!important;right:-21px!important;color:inherit!important}.alert-success{background-color:#dff0d8!important;border-color:#d6e9c6!important;color:#3c763d!important}.alert-success hr{border-top-color:#c9e2b3!important}.alert-success .alert-link{color:#2b542c!important}.alert-info{background-color:#d9edf7!important;border-color:#bce8f1!important;color:#31708f!important}.alert-info hr{border-top-color:#a6e1ec!important}.alert-info .alert-link{color:#245269!important}.alert-warning{background-color:#fcf8e3!important;border-color:#faebcc!important;color:#8a6d3b!important}.alert-warning hr{border-top-color:#f7e1b5!important}.alert-warning .alert-link{color:#66512c!important}.alert-danger{background-color:#f2dede!important;border-color:#ebccd1!important;color:#a94442!important}.alert-danger hr{border-top-color:#e4b9c0!important}.alert-danger .alert-link{color:#843534!important}.alert .close{text-indent:inherit!important;background-image:none!important;width:auto!important}.page-404 .number{position:relative;top:35px;display:inline-block;letter-spacing:-10px;margin-top:0;margin-bottom:10px;line-height:128px;font-size:128px;font-weight:300;color:#7bbbd6;text-align:right}.page-404 .details{margin-left:40px;display:inline-block;padding-top:0;text-align:left}.sounds-title-icon{font-size:17px}.ui-select-multiple input.ui-select-search{width:100%!important}.modal.fade,.over-topbar{z-index:9996!important}.list-group-item-custom{border:none}.pointer-cursor{cursor:pointer!important}.select-group-father{font-weight:700!important}.select-group-son{font-style:italic!important}@media (max-height:908px){.modal-body-scroll{max-height:325px;overflow-y:scroll}}.widget .dashboard-stat{margin-bottom:0!important}.widget .panel-body{padding:0}.left-margin{margin-left:20px}.contact-portlet{overflow-x:hidden;overflow-y:auto;height:337px}.contact-tab{background:#F1F3FA;padding-top:20px}.contact-tab-container{padding-left:20px;padding-right:20px}.col-fixed,.tree-row{float:left}.col-fixed{width:277px;margin-right:15px}.tree-row{width:calc(100% - 277px + 15px)}.tree-search{float:left;display:inline-block;line-height:18px;font-weight:300;padding:10px 0}.report-field-handle{width:66px;height:66px;background-image:url(../../assets/images/move.png);background-repeat:no-repeat;background-size:66px 66px}.ui-sortable-helper{display:table}.report-field-remove{width:66px;height:66px;text-align:center}.ui-select-choices-row-inner div,.ui-select-match-text{width:100%;text-overflow:ellipsis;overflow:hidden}.portlet.light .portlet-title{padding:0;min-height:48px}.portlet .portlet-title{border-bottom:1px solid #eee;padding:0;margin-bottom:10px;min-height:41px;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;-ms-border-radius:4px 4px 0 0;-o-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.ui-select-match-text{padding-right:20px}.ui-select-toggle>.btn.btn-link{margin-right:10px;top:6px;position:absolute;right:10px}.extract-grid{min-height:600px}body>[uib-modal-window]:not([modal-render]){display:none}.page-header.navbar{background-color:#2b3643}.page-header.navbar .top-menu .navbar-nav>li.dropdown .dropdown-toggle>i{color:#79869a}.page-header.navbar .top-menu .navbar-nav>li.dropdown .dropdown-toggle .badge.badge-default{background-color:#EA4C61;color:#fff}.page-header.navbar .top-menu .navbar-nav>li.dropdown .dropdown-toggle:hover,.page-header.navbar .top-menu .navbar-nav>li.dropdown.open .dropdown-toggle{background-color:#3f4f62}.page-header.navbar .top-menu .navbar-nav>li.dropdown .dropdown-toggle:hover>i,.page-header.navbar .top-menu .navbar-nav>li.dropdown.open .dropdown-toggle>i{color:#a4aebb}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu{border-color:#e7eaf0}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu:after{border-bottom-color:#eaedf2}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu>li.external{background:#eaedf2}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu>li.external>h3{color:#62878f}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu>li.external>a{color:#5b9bd1}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu>li.external>a:hover{color:#3175af;text-decoration:underline}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu .dropdown-menu-list>li>a{border-bottom:1px solid #EFF2F6!important;color:#888}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu .dropdown-menu-list>li>a:hover{background:#f8f9fa}.page-header.navbar .top-menu .navbar-nav>li.dropdown-notification .dropdown-menu .dropdown-menu-list>li>a .time{background:#f1f1f1}.page-header.navbar .top-menu .navbar-nav>li.dropdown-notification .dropdown-menu .dropdown-menu-list>li>a:hover .time{background:#e4e4e4}.page-header.navbar .top-menu .navbar-nav>li.dropdown-inbox>.dropdown-toggle>.circle{background-color:#EA4C61;color:#fff}.page-header.navbar .top-menu .navbar-nav>li.dropdown-inbox>.dropdown-toggle>.corner{border-color:transparent transparent transparent #EA4C61}.page-header.navbar .top-menu .navbar-nav>li.dropdown-inbox .dropdown-menu .dropdown-menu-list .subject .from{color:#5b9bd1}.page-header.navbar .top-menu .navbar-nav>li.dropdown-language>.dropdown-toggle>.langname,.page-header.navbar .top-menu .navbar-nav>li.dropdown-user>.dropdown-toggle>.username,.page-header.navbar .top-menu .navbar-nav>li.dropdown-user>.dropdown-toggle>i{color:#c6cfda}.page-header.navbar .top-menu .navbar-nav>li.dropdown-tasks .dropdown-menu .dropdown-menu-list .progress{background-color:#dfe2e9}.page-header.navbar .top-menu .navbar-nav>li.dropdown-user>.dropdown-menu{width:195px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-dark .dropdown-menu{background:#3f4f62;border:0}.page-header.navbar .top-menu .navbar-nav>li.dropdown-dark .dropdown-menu:after{border-bottom-color:#3f4f62}.page-header.navbar .top-menu .navbar-nav>li.dropdown-dark .dropdown-menu>li.external{background:#2f3b49}.page-header.navbar .top-menu .navbar-nav>li.dropdown-dark .dropdown-menu>li.external>h3{color:#adbaca}.page-header.navbar .top-menu .navbar-nav>li.dropdown-dark .dropdown-menu>li.external>a:hover{color:#87b6dd}.page-header.navbar .top-menu .navbar-nav>li.dropdown-dark .dropdown-menu .dropdown-menu-list>li a,.page-header.navbar .top-menu .navbar-nav>li.dropdown-dark .dropdown-menu.dropdown-menu-default>li a{color:#bcc7d4;border-bottom:1px solid #4b5e75!important}.page-header.navbar .top-menu .navbar-nav>li.dropdown-dark .dropdown-menu .dropdown-menu-list>li a>i,.page-header.navbar .top-menu .navbar-nav>li.dropdown-dark .dropdown-menu.dropdown-menu-default>li a>i{color:#9dadc0}.page-header.navbar .top-menu .navbar-nav>li.dropdown-dark .dropdown-menu .dropdown-menu-list>li a:hover,.page-header.navbar .top-menu .navbar-nav>li.dropdown-dark .dropdown-menu.dropdown-menu-default>li a:hover{background:#47596e}.page-header.navbar .top-menu .navbar-nav>li.dropdown-dark .dropdown-menu.dropdown-menu-default>li a{border-bottom:0!important}.page-header.navbar .top-menu .navbar-nav>li.dropdown-dark .dropdown-menu.dropdown-menu-default>li.divider{background:#4b5e75}.page-header.navbar .top-menu .navbar-nav>li.dropdown-notification.dropdown-dark .dropdown-menu .dropdown-menu-list>li>a .time{background:#354353}.page-header.navbar .top-menu .navbar-nav>li.dropdown-notification.dropdown-dark .dropdown-menu .dropdown-menu-list>li>a:hover .time{background:#2b3643}.page-header.navbar .search-form{background:#232c37}.page-header.navbar .search-form.open,.page-header.navbar .search-form:hover{background:#3f4f62}.page-header.navbar .search-form .input-group .form-control{color:#959fad}.page-header.navbar .search-form .input-group .form-control::-moz-placeholder{color:#929cab;opacity:1}.page-header.navbar .search-form .input-group .form-control:-ms-input-placeholder{color:#929cab}.page-header.navbar .search-form .input-group .form-control::-webkit-input-placeholder{color:#929cab}.page-header.navbar .search-form .input-group .input-group-btn .btn.submit>i{color:#959fad}.page-header.navbar .menu-toggler{background-image:url(../../assets/images/sidebar_toggler_icon_darkblue.png)}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu{box-shadow:5px 5px rgba(63,79,98,.2)}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu .mega-menu-content .mega-menu-submenu li>h3,.page-header.navbar .hor-menu .navbar-nav>li>a{color:#c6cfda}.page-header.navbar .hor-menu .navbar-nav>li>a>i{color:#788ea8}.page-header.navbar .hor-menu .navbar-nav>li.open>a,.page-header.navbar .hor-menu .navbar-nav>li>a:hover{color:#d5dce4;background:#3f4f62!important}.page-header.navbar .hor-menu .navbar-nav>li.open>a>i,.page-header.navbar .hor-menu .navbar-nav>li>a:hover>i{color:#889bb2}.page-header.navbar .hor-menu .navbar-nav>li.active>a,.page-header.navbar .hor-menu .navbar-nav>li.current>a{color:#fff;background:#EA4C61!important}.page-header.navbar .hor-menu .navbar-nav>li.active>a>i,.page-header.navbar .hor-menu .navbar-nav>li.current>a>i{color:#788ea8}.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu{box-shadow:5px 5px rgba(63,79,98,.2);background:#3f4f62}.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li>a,.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li>a>i{color:#c6cfda}.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li:hover>a{color:#f1f3f6;background:#47596e}.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li:hover>a>i{color:#f1f3f6}.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li.active>a,.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li.active>a:hover,.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li.current>a,.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li.current>a:hover{color:#f1f3f6;background:#47596e}.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li.active>a:hover>i,.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li.active>a>i,.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li.current>a:hover>i,.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li.current>a>i{color:#f1f3f6}.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li.divider{background-color:#495c72}.page-header.navbar .hor-menu .navbar-nav>li .dropdown-submenu>a:after{color:#c6cfda}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li.mega-menu-dropdown>.dropdown-menu{box-shadow:5px 5px rgba(102,102,102,.1)}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li.mega-menu-dropdown>.dropdown-menu .mega-menu-content .mega-menu-submenu li>h3{color:#666}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li>a{color:#c6cfda}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li>a>i{color:#788ea8}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li>a:hover{color:#d5dce4;background:#3f4f62}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li>a:hover>i{color:#889bb2}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li.open>a{color:#333!important;background:#fff!important}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li.open>a>i{color:#333!important}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li.active>a,.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li.active>a:hover,.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li.current>a,.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li.current>a:hover{color:#fff;background:#EA4C61}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li.active>a:hover>i,.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li.active>a>i,.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li.current>a:hover>i,.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li.current>a>i{color:#788ea8}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu{box-shadow:5px 5px rgba(102,102,102,.1);background:#fff;border:1px solid #efeff5}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu li>a{color:#000}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu li>a>i{color:#888}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu li:hover>a{color:#000;background:#f2f2f7}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu li:hover>a>i{color:#666}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu li.active>a,.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu li.active>a:hover,.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu li.current>a,.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu li.current>a:hover{color:#000;background:#f2f2f7}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu li.active>a:hover>i,.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu li.active>a>i,.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu li.current>a:hover>i,.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu li.current>a>i{color:#666}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li .dropdown-menu li.divider{background-color:#f2f2f7}.page-header.navbar .hor-menu.hor-menu-light .navbar-nav>li>.dropdown-menu{border-top:0}.page-sidebar,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover{background-color:#364150}.page-sidebar .page-sidebar-menu>li>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li>a{color:#b4bcc8}.page-sidebar .page-sidebar-menu>li>a>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li>a>i{color:#606C7D}.page-sidebar .page-sidebar-menu>li>a>i[class*=icon-],.page-sidebar .page-sidebar-menu>li>a>i[class^=icon-],.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li>a>i[class*=icon-],.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li>a>i[class^=icon-]{color:#6b788b}.page-sidebar .page-sidebar-menu>li>a>.arrow.open:before,.page-sidebar .page-sidebar-menu>li>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li>a>.arrow:before{color:#606C7D}.page-sidebar .page-sidebar-menu>li.heading>h3,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.heading>h3{color:#708096}.page-sidebar .page-sidebar-menu>li.open>a,.page-sidebar .page-sidebar-menu>li:hover>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.open>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li:hover>a{background:#2C3542;color:#b4bcc8}.page-sidebar .page-sidebar-menu>li.open>a>.arrow.open:before,.page-sidebar .page-sidebar-menu>li.open>a>.arrow:before,.page-sidebar .page-sidebar-menu>li.open>a>i,.page-sidebar .page-sidebar-menu>li:hover>a>.arrow.open:before,.page-sidebar .page-sidebar-menu>li:hover>a>.arrow:before,.page-sidebar .page-sidebar-menu>li:hover>a>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.open>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.open>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.open>a>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li:hover>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li:hover>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li:hover>a>i{color:#606C7D}.page-sidebar .page-sidebar-menu>li.active.open>a,.page-sidebar .page-sidebar-menu>li.active>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active.open>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active>a{background:#EA4C61;border-top-color:transparent;color:#fff}.page-sidebar .page-sidebar-menu>li.active.open>a:hover,.page-sidebar .page-sidebar-menu>li.active>a:hover,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active.open>a:hover,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active>a:hover{background:#EA4C61}.page-sidebar .page-sidebar-menu>li.active.open>a>.arrow.open:before,.page-sidebar .page-sidebar-menu>li.active.open>a>.arrow:before,.page-sidebar .page-sidebar-menu>li.active.open>a>i,.page-sidebar .page-sidebar-menu>li.active>a>.arrow.open:before,.page-sidebar .page-sidebar-menu>li.active>a>.arrow:before,.page-sidebar .page-sidebar-menu>li.active>a>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active.open>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active.open>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active.open>a>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active>a>i{color:#fff}.page-sidebar .page-sidebar-menu>li.active+li>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active+li>a{border-top-color:transparent}.page-sidebar .page-sidebar-menu>li.active.open+li>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active.open+li>a{border-top-color:#3d4957}.page-sidebar .page-sidebar-menu>li:last-child>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li:last-child>a{border-bottom:1px solid transparent!important}.page-sidebar .page-sidebar-menu li:hover>a>.arrow.open:before,.page-sidebar .page-sidebar-menu li:hover>a>.arrow:before,.page-sidebar .page-sidebar-menu li>a>.arrow.open:before,.page-sidebar .page-sidebar-menu li>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu li:hover>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu li:hover>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu li>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu li>a>.arrow:before{color:#606C7D}.page-sidebar .page-sidebar-menu li.active>a>.arrow.open:before,.page-sidebar .page-sidebar-menu li.active>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu li.active>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu li.active>a>.arrow:before{color:#fff}.page-sidebar-closed .page-sidebar .page-sidebar-menu:hover .sub-menu,.page-sidebar-closed .page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu:hover .sub-menu{background-color:#364150}.page-sidebar .page-sidebar-menu .sub-menu>li>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li>a{color:#b4bcc8}.page-sidebar .page-sidebar-menu .sub-menu>li>a>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li>a>i{color:#606C7D}.page-sidebar .page-sidebar-menu .sub-menu>li>a>i[class*=icon-],.page-sidebar .page-sidebar-menu .sub-menu>li>a>i[class^=icon-],.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li>a>i[class*=icon-],.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li>a>i[class^=icon-]{color:#6b788b}.page-sidebar .page-sidebar-menu .sub-menu>li>a>.arrow.open:before,.page-sidebar .page-sidebar-menu .sub-menu>li>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li>a>.arrow:before{color:#606C7D}.page-sidebar .page-sidebar-menu .sub-menu>li.active>a,.page-sidebar .page-sidebar-menu .sub-menu>li.open>a,.page-sidebar .page-sidebar-menu .sub-menu>li:hover>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li.active>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li.open>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li:hover>a{background:#3e4b5c!important}.page-sidebar .page-sidebar-menu .sub-menu>li.active>a>i,.page-sidebar .page-sidebar-menu .sub-menu>li.open>a>i,.page-sidebar .page-sidebar-menu .sub-menu>li:hover>a>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li.active>a>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li.open>a>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li:hover>a>i{color:#959fae}.page-sidebar .page-sidebar-menu .sub-menu>li.active>a>.arrow.open:before,.page-sidebar .page-sidebar-menu .sub-menu>li.active>a>.arrow:before,.page-sidebar .page-sidebar-menu .sub-menu>li.open>a>.arrow.open:before,.page-sidebar .page-sidebar-menu .sub-menu>li.open>a>.arrow:before,.page-sidebar .page-sidebar-menu .sub-menu>li:hover>a>.arrow.open:before,.page-sidebar .page-sidebar-menu .sub-menu>li:hover>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li.active>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li.active>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li.open>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li.open>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li:hover>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu>li:hover>a>.arrow:before{color:#606C7D}.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.open>a,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li:hover>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li.open>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li:hover>a{background:#3a4656}.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li.active>a{background:#3e4b5c;border-left:4px solid #EA4C61;color:#f1f1f1}.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a:hover,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active>a:hover,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a:hover,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li.active>a:hover{border-left:4px solid #EA4C61;background:#3a4656}.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a>.arrow.open:before,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a>.arrow:before,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a>i,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active>a>.arrow.open:before,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active>a>.arrow:before,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active>a>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li.active>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li.active>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li.active>a>i{color:#eee}.page-sidebar .sidebar-search .input-group .input-group-btn .btn>i,.page-sidebar-closed .page-sidebar .sidebar-search.open .remove>i,.page-sidebar-closed .page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.open .remove>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group .input-group-btn .btn>i{color:#4e5c6f}.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu{background:#3a4656}.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu>li.active>a,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu>li.open>a,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu>li:hover>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu>li.active>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu>li.open>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu>li:hover>a{background:#3e4b5c!important}.page-sidebar .sidebar-toggler,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-toggler{background:url(../assets/images/sidebar_inline_toggler_icon_darkblue.jpg)}.page-sidebar .sidebar-search .input-group,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group{border-bottom:1px solid #435060}.page-sidebar .sidebar-search .input-group .form-control,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group .form-control{background-color:#364150;color:#4e5c6f}.page-sidebar .sidebar-search .input-group .form-control::-moz-placeholder,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group .form-control::-moz-placeholder{color:#4e5c6f;opacity:1}.page-sidebar .sidebar-search .input-group .form-control:-ms-input-placeholder,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group .form-control:-ms-input-placeholder{color:#4e5c6f}.page-sidebar .sidebar-search .input-group .form-control::-webkit-input-placeholder,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group .form-control::-webkit-input-placeholder{color:#4e5c6f}.page-sidebar .sidebar-search.sidebar-search-bordered .input-group,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.sidebar-search-bordered .input-group{border:1px solid #435060}.page-sidebar-closed .page-sidebar .sidebar-search.open .input-group,.page-sidebar-closed .page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.open .input-group{background-color:#364150}.page-sidebar-closed .page-sidebar .sidebar-search.sidebar-search-solid .input-group,.page-sidebar-closed .page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.sidebar-search-solid .input-group{background:0 0}.page-sidebar .sidebar-search.sidebar-search-solid .input-group,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.sidebar-search-solid .input-group{border:1px solid #2c3541;background:#2c3541}.page-sidebar .sidebar-search.sidebar-search-solid .input-group .form-control,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.sidebar-search-solid .input-group .form-control{background:#2c3541}.page-sidebar .sidebar-search.sidebar-search-solid.open .input-group,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.sidebar-search-solid.open .input-group{border:1px solid #364150;background:#364150}.page-sidebar .sidebar-search.sidebar-search-solid.open .input-group .form-control,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.sidebar-search-solid.open .input-group .form-control{background:#364150}.page-sidebar-reversed .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a,.page-sidebar-reversed .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a:hover,.page-sidebar-reversed .page-sidebar-menu.page-sidebar-menu-light>li.active>a,.page-sidebar-reversed .page-sidebar-menu.page-sidebar-menu-light>li.active>a:hover{border-left:0;border-right:4px solid #EA4C61}.page-quick-sidebar-wrapper,.page-quick-sidebar-wrapper .page-quick-sidebar{background:#435468}.page-quick-sidebar-toggler{background:#576d87}.page-quick-sidebar-toggler:hover{background:#51667e}.page-quick-sidebar-toggler>i,.page-quick-sidebar-wrapper{color:#d1d6de}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li>a{color:#c9ced7;background:#576d87}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li>a:hover{background:#4d6178}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li.open>a{color:#c9ced7;background:#576d87}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li.active>a{border:0;background:#435468}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li .dropdown-menu{border:0;background:#576d87;box-shadow:5px 5px rgba(142,160,182,.1)}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li .dropdown-menu:after,.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li .dropdown-menu:before{border-bottom:7px solid #576d87}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li .dropdown-menu>li>a{color:#d1d6de}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li .dropdown-menu>li>a>i{color:#ccd1d9}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li .dropdown-menu>li>a:hover{background:#5d7591;color:#d1d6de}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li .dropdown-menu>li>a:hover>i{color:#d4d9e0}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li .dropdown-menu>li.active>a{background:#59708a;color:#d1d6de}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li .dropdown-menu>li.divider{background-color:#5d7591}.page-quick-sidebar-wrapper .page-quick-sidebar .list-heading{color:#a5afbd}.page-quick-sidebar-wrapper .page-quick-sidebar .list-items>li{border-bottom-color:#495c72}.page-quick-sidebar-wrapper .page-quick-sidebar .list-items>li:hover{background:#495c72}.page-quick-sidebar-wrapper .page-quick-sidebar-item .page-quick-sidebar-nav .page-quick-sidebar-back-to-list{color:#c9ced7}.page-quick-sidebar-wrapper .page-quick-sidebar-chat .page-quick-sidebar-chat-users .quicksidebar-search .input-group{border-bottom:1px solid #435060}.page-quick-sidebar-wrapper .page-quick-sidebar-chat .page-quick-sidebar-chat-users .quicksidebar-search .input-group .form-control{background-color:#435468;color:#c9ced7}.page-quick-sidebar-wrapper .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media .media-body .media-heading-sub{color:#9ca7b7}.page-quick-sidebar-wrapper .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media .media-body .media-heading-small{color:#919cae}.page-quick-sidebar-wrapper .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post .datetime,.page-quick-sidebar-wrapper .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post .name{color:#bdc4ce}.page-quick-sidebar-wrapper .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post .message{color:#c9ced7;background:#576d87}.page-quick-sidebar-wrapper .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post.in .message .arrow{border-right-color:#576d87}.page-quick-sidebar-wrapper .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post.out .message .arrow{border-left-color:#576d87}.page-quick-sidebar-wrapper .page-quick-sidebar-alerts .page-quick-sidebar-alerts-list .feeds li a{color:#b7bfca}.page-quick-sidebar-wrapper .page-quick-sidebar-alerts .page-quick-sidebar-alerts-list .feeds li a .desc{text-decoration:underline}.page-quick-sidebar-wrapper .page-quick-sidebar-alerts .page-quick-sidebar-alerts-list .feeds li .desc{color:#b1b9c6}.page-quick-sidebar-wrapper .page-quick-sidebar-alerts .page-quick-sidebar-alerts-list .feeds li .date{color:#919cae}.page-footer .page-footer-inner{color:#98a6ba}.page-footer-fixed .page-footer{background-color:#28303b}@media (min-width:992px){.page-sidebar-menu.page-sidebar-menu-hover-submenu>li:hover>.sub-menu{box-shadow:5px 5px rgba(44,53,66,.2)}.page-sidebar-menu.page-sidebar-menu-hover-submenu>li:hover>.sub-menu.sidebar-search-wrapper,.page-sidebar-menu.page-sidebar-menu-hover-submenu>li:hover>.sub-menu.sidebar-toggler-wrapper{box-shadow:none}.page-sidebar-menu.page-sidebar-menu-closed>li:hover{box-shadow:5px 5px rgba(44,53,66,.2)}.page-sidebar-menu.page-sidebar-menu-closed>li:hover.sidebar-search-wrapper,.page-sidebar-menu.page-sidebar-menu-closed>li:hover.sidebar-toggler-wrapper{box-shadow:none}.page-sidebar-menu.page-sidebar-menu-closed>li:hover>.sub-menu{box-shadow:5px 5px rgba(44,53,66,.2)}.page-sidebar-menu.page-sidebar-menu-closed>li:hover>.sub-menu.sidebar-search-wrapper,.page-sidebar-menu.page-sidebar-menu-closed>li:hover>.sub-menu.sidebar-toggler-wrapper{box-shadow:none}.page-sidebar-menu.page-sidebar-menu-light.page-sidebar-menu-closed>li.heading{padding:0;margin-top:15px;margin-bottom:15px;border-top:1px solid #3d4957!important}.page-sidebar-fixed:not(.page-footer-fixed) .page-content{border-bottom:0}.page-sidebar-fixed:not(.page-footer-fixed) .page-footer{background-color:#fff}.page-sidebar-fixed:not(.page-footer-fixed) .page-footer .page-footer-inner{color:#333}.page-boxed{background-color:#303a47!important}.page-boxed .page-container{background-color:#364150;border-left:1px solid #3d4957;border-bottom:1px solid #3d4957}.page-boxed.page-sidebar-reversed .page-container{border-left:0;border-right:1px solid #3d4957}.page-boxed.page-sidebar-fixed .page-container{border-left:0;border-bottom:0}.page-boxed.page-sidebar-reversed.page-sidebar-fixed .page-container{border-left:0;border-right:0;border-bottom:0}.page-boxed.page-sidebar-fixed .page-sidebar{border-left:1px solid #3d4957}.page-boxed.page-sidebar-reversed.page-sidebar-fixed .page-sidebar{border-right:1px solid #3d4957;border-left:0}.page-boxed.page-sidebar-fixed.page-footer-fixed .page-footer{background-color:#303a47!important}.page-boxed.page-sidebar-fixed.page-footer-fixed .page-footer .page-footer-inner{color:#98a6ba}.page-sidebar-menu-hover-submenu li:hover a>.arrow{border-right:8px solid #323c4b}.page-sidebar-reversed .page-sidebar-menu-hover-submenu li:hover a>.arrow{border-left:8px solid #323c4b}.page-sidebar-menu-hover-submenu li:hover>.sub-menu{background:#323c4b!important}}.pace .pace-progress-inner,.page-header.navbar,.page-header.navbar .top-menu .navbar-nav>li.dropdown-tasks .dropdown-menu .dropdown-menu-list>li .progress .progress-bar{box-shadow:none}@media (max-width:991px){.page-sidebar{background-color:#28303b}.page-sidebar .page-sidebar-menu>li>a{border-top:1px solid #364150}.page-sidebar .page-sidebar-menu>li.open>a,.page-sidebar .page-sidebar-menu>li:hover>a{background:#2e3744}.page-sidebar .page-sidebar-menu>li:last-child>a{border-bottom:0!important}.page-sidebar .page-sidebar-menu .sidebar-search input,.page-sidebar .page-sidebar-menu>li .sub-menu{background-color:#28303b!important}.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active.open>a:hover,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active>a,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.active>a:hover,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li.open>a,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li:hover>a{background:#2e3744}.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu{background:#28303b!important}.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu>li.active>a,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu>li.open>a,.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu>li:hover>a{background:#2e3744!important}}@media (max-width:480px){.page-header.navbar .top-menu{background-color:#364150}.page-header-fixed-mobile .page-header.navbar .top-menu{background-color:#2b3643}.page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-toggle{background-color:#415265}.page-header-fixed-mobile .page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-toggle{background:0 0}.page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-toggle:hover{background-color:#3f4f62}}body{background-color:#364150}.block-spinner-bar>div,.page-spinner-bar>div{background:#20c5ad}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url(https://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTQzyDMXhdD8sAj6OAJTFsBI.woff2) format('woff2')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url(https://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTQ7aC6SjiAOpAWOKfJDfVRY.woff2) format('woff2');unicode-range:U+0460-052F,U+20B4,U+2DE0-2DFF,U+A640-A69F}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url(https://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTRdwxCXfZpKo5kWAx_74bHs.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url(https://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTSGUML8f7tzeB6gGvgki0bE.woff2) format('woff2');unicode-range:U+02BC,U+0900-097F,U+1CD0-1CF6,U+1CF8-1CF9,U+200B-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FB}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url(https://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTZ6vnaPZw6nYDxM4SVEMFKg.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url(https://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTfy1_HTwRwgtl1cPga3Fy3Y.woff2) format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url(https://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTfgrLsWo7Jk1KvZser0olKY.woff2) format('woff2');unicode-range:U+0102-0103,U+1EA0-1EF1,U+20AB}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url(https://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTYjoYw3YTyktCCer_ilOlhE.woff2) format('woff2');unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url(https://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTRampu5_7CjHW5spxoeN3Vs.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url(https://fonts.gstatic.com/s/opensans/v13/TCmDhmS1RRL7aqhqZW19hwLUuEpTyoUstqEm5AMlJo4.woff2) format('woff2')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url(https://fonts.gstatic.com/s/opensans/v13/K88pR3goAWT7BTt32Z01m4X0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');unicode-range:U+0460-052F,U+20B4,U+2DE0-2DFF,U+A640-A69F}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url(https://fonts.gstatic.com/s/opensans/v13/RjgO7rYTmqiVp7vzi-Q5UYX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url(https://fonts.gstatic.com/s/opensans/v13/ttwNtsRpgsxVmgGGmiUOEoX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');unicode-range:U+02BC,U+0900-097F,U+1CD0-1CF6,U+1CF8-1CF9,U+200B-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FB}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url(https://fonts.gstatic.com/s/opensans/v13/LWCjsQkB6EMdfHrEVqA1KYX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url(https://fonts.gstatic.com/s/opensans/v13/xozscpT2726on7jbcb_pAoX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url(https://fonts.gstatic.com/s/opensans/v13/59ZRklaO5bWGqF5A9baEEYX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');unicode-range:U+0102-0103,U+1EA0-1EF1,U+20AB}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url(https://fonts.gstatic.com/s/opensans/v13/u-WUoqrET9fUeobQW7jkRYX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url(https://fonts.gstatic.com/s/opensans/v13/cJZKeOuBrn4kERxqtaUH3ZBw1xU1rKptJj_0jans920.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;src:local('Open Sans Semibold'),local('OpenSans-Semibold'),url(https://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNSgzyDMXhdD8sAj6OAJTFsBI.woff2) format('woff2')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;src:local('Open Sans Semibold'),local('OpenSans-Semibold'),url(https://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNSg7aC6SjiAOpAWOKfJDfVRY.woff2) format('woff2');unicode-range:U+0460-052F,U+20B4,U+2DE0-2DFF,U+A640-A69F}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;src:local('Open Sans Semibold'),local('OpenSans-Semibold'),url(https://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNShdwxCXfZpKo5kWAx_74bHs.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;src:local('Open Sans Semibold'),local('OpenSans-Semibold'),url(https://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNSiGUML8f7tzeB6gGvgki0bE.woff2) format('woff2');unicode-range:U+02BC,U+0900-097F,U+1CD0-1CF6,U+1CF8-1CF9,U+200B-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FB}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;src:local('Open Sans Semibold'),local('OpenSans-Semibold'),url(https://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNSp6vnaPZw6nYDxM4SVEMFKg.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;src:local('Open Sans Semibold'),local('OpenSans-Semibold'),url(https://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNSvy1_HTwRwgtl1cPga3Fy3Y.woff2) format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;src:local('Open Sans Semibold'),local('OpenSans-Semibold'),url(https://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNSvgrLsWo7Jk1KvZser0olKY.woff2) format('woff2');unicode-range:U+0102-0103,U+1EA0-1EF1,U+20AB}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;src:local('Open Sans Semibold'),local('OpenSans-Semibold'),url(https://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNSojoYw3YTyktCCer_ilOlhE.woff2) format('woff2');unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;src:local('Open Sans Semibold'),local('OpenSans-Semibold'),url(https://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNShampu5_7CjHW5spxoeN3Vs.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzAzyDMXhdD8sAj6OAJTFsBI.woff2) format('woff2')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzA7aC6SjiAOpAWOKfJDfVRY.woff2) format('woff2');unicode-range:U+0460-052F,U+20B4,U+2DE0-2DFF,U+A640-A69F}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzBdwxCXfZpKo5kWAx_74bHs.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzCGUML8f7tzeB6gGvgki0bE.woff2) format('woff2');unicode-range:U+02BC,U+0900-097F,U+1CD0-1CF6,U+1CF8-1CF9,U+200B-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FB}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzJ6vnaPZw6nYDxM4SVEMFKg.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzPy1_HTwRwgtl1cPga3Fy3Y.woff2) format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzPgrLsWo7Jk1KvZser0olKY.woff2) format('woff2');unicode-range:U+0102-0103,U+1EA0-1EF1,U+20AB}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzIjoYw3YTyktCCer_ilOlhE.woff2) format('woff2');unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzBampu5_7CjHW5spxoeN3Vs.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000}@media print{body{background-color:#fff!important}.hidden-print,.page-bar,.page-footer,.page-quick-sidebar-wrapper,.page-sidebar-wrapper,.theme-panel{display:none}.no-page-break{page-break-after:avoid}.page-container{margin:0!important;padding:0!important}.page-content{min-height:300px!important;padding:0 20px 20px!important;margin:0!important}}.page-header.navbar{width:100%;margin:0;border:0;padding:0;height:46px;min-height:46px;filter:none;background-image:none}.page-header.navbar.navbar-fixed-top,.page-header.navbar.navbar-static-top{z-index:9995}.page-header.navbar .page-logo{float:left;display:block;width:235px;height:46px;padding-left:20px;padding-right:20px}.page-sidebar-closed.page-sidebar-closed-hide-logo .page-header.navbar .page-logo{padding:0}.page-header.navbar .page-logo>.logo-image,.page-header.navbar .page-logo>a{display:inline-block;float:left}.page-header.navbar .page-logo .logo-default{margin:16px 0 0}.page-header.navbar .page-logo .logo-mini{display:none;margin-left:5px}.page-header.navbar .page-logo .text-logo{padding-left:20px;padding-top:12px}.page-header.navbar .search-form{display:inline-block;width:46px;position:relative;float:left;transition:all .6s}.page-header.navbar .search-form .input-group .form-control{height:46px;border:0;background:0 0!important;font-size:13px;padding-left:0;margin-left:12px;text-indent:-150000px}.page-header.navbar .search-form .input-group .form-control:hover{cursor:pointer}.page-header.navbar .search-form .input-group .input-group-btn{height:46px}.page-header.navbar .search-form .input-group .input-group-btn .btn.submit{margin-left:-24px;padding:0;width:46px;background:0 0;margin-top:4px;display:block}.page-header.navbar .search-form .input-group .input-group-btn .btn.submit>i{font-size:15px}.page-header.navbar .search-form.open{transition:all .6s;width:300px!important}.page-header.navbar .search-form.open .input-group .form-control{text-indent:0}.page-header.navbar .search-form.open .input-group .form-control:hover{cursor:text}.page-header.navbar .search-form.open .input-group .input-group-btn .btn.submit{margin-left:0}.page-header.navbar .menu-toggler{display:block;cursor:pointer;opacity:.7;filter:alpha(opacity=70);width:24px;height:24px;background-repeat:no-repeat;background-position:center center}.page-header.navbar .menu-toggler:hover,.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu .dropdown-menu-list>li>a:hover{opacity:1;filter:alpha(opacity=100)}.page-header.navbar .menu-toggler.sidebar-toggler{float:right;margin:11px 0 0}.page-sidebar-closed.page-sidebar-closed-hide-logo .page-header.navbar .menu-toggler.sidebar-toggler{margin-right:10.5px}.page-header.navbar .menu-toggler.responsive-toggler{display:none;float:right;margin:11px 6px 0}.page-header.navbar .top-menu{margin:0;padding:0;float:right}.page-header.navbar .top-menu .navbar-nav{padding:0;margin-right:20px;display:block}.page-header.navbar .top-menu .navbar-nav>li.dropdown{margin:0;padding:0 4px;height:46px;display:inline-block}.page-header.navbar .top-menu .navbar-nav>li.dropdown:last-child{padding-right:0}.page-header.navbar .top-menu .navbar-nav>li.dropdown>.dropdown-toggle{margin:0;padding:17px 10px 9px}.page-header.navbar .top-menu .navbar-nav>li.dropdown>.dropdown-toggle:last-child{padding-right:0}.page-header.navbar .top-menu .navbar-nav>li.dropdown>.dropdown-toggle>i{font-size:17px}.page-header.navbar .top-menu .navbar-nav>li.dropdown>.dropdown-toggle>i.glyphicon{font-size:16px}.page-header.navbar .top-menu .navbar-nav>li.dropdown>.dropdown-toggle>.badge{font-family:"Open Sans",sans-serif;position:absolute;top:10px;right:20px;font-weight:300px;padding:3px 6px}.page-header.navbar .top-menu .navbar-nav>li.dropdown>.dropdown-toggle:focus{background:0 0}.page-header.navbar .top-menu .navbar-nav>li.dropdown .dropdown-menu{margin-top:3px;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.page-header.navbar .top-menu .navbar-nav>li.dropdown .dropdown-menu:before{position:absolute;top:-7px;right:9px;display:inline-block!important;border-right:7px solid transparent;border-bottom:7px solid #eee;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,.2);content:''}.page-header.navbar .top-menu .navbar-nav>li.dropdown .dropdown-menu:after{position:absolute;top:-6px;right:10px;display:inline-block!important;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.page-header.navbar .top-menu .navbar-nav>li.dropdown .dropdown-menu>li>a{color:#555}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu{min-width:160px;max-width:275px;width:275px;z-index:9995}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu>li.external{display:block;overflow:hidden;padding:15px;letter-spacing:.5px;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;-ms-border-radius:4px 4px 0 0;-o-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu>li.external>h3{margin:0;padding:0;float:left;font-size:13px;display:inline-block}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu>li.external>a{display:inline-block;padding:0;background:0 0;clear:inherit;font-size:13px;font-weight:300;position:absolute;right:10px;border:0;margin-top:-1px}.page-bar:after,.page-container:after,.page-footer:after,.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media .media-object:after,.page-sidebar .page-sidebar-menu>li.sidebar-search-wrapper:after,.page-sidebar .page-sidebar-menu>li.sidebar-toggler-wrapper:after,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.sidebar-search-wrapper:after,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.sidebar-toggler-wrapper:after{clear:both}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu .dropdown-menu-list{padding-right:0!important;padding-left:0;list-style:none}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu .dropdown-menu-list>li>a{display:block;clear:both;font-weight:300;line-height:20px;white-space:normal;font-size:13px;padding:16px 15px 18px;text-shadow:none}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended .dropdown-menu .dropdown-menu-list>li:first-child a{border-top:none}.page-header.navbar .top-menu .navbar-nav>li.dropdown-notification .dropdown-menu .dropdown-menu-list>li a .details{overflow:hidden}.page-header.navbar .top-menu .navbar-nav>li.dropdown-notification .dropdown-menu .dropdown-menu-list>li a .details .label-icon{margin-right:10px;-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;-o-border-radius:50%;border-radius:50%}.page-header.navbar .top-menu .navbar-nav>li.dropdown-notification .dropdown-menu .dropdown-menu-list>li a .details .label-icon i{margin-right:2px;margin-left:1px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-notification .dropdown-menu .dropdown-menu-list>li a .details .label-icon .badge{right:15px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-notification .dropdown-menu .dropdown-menu-list>li a .time{float:right;max-width:75px;font-size:11px;font-weight:400;opacity:.7;filter:alpha(opacity=70);text-align:right;padding:1px 5px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-inbox>.dropdown-menu .dropdown-menu-list>li .photo{float:left;margin:0 6px 6px 0}.page-header.navbar .top-menu .navbar-nav>li.dropdown-inbox>.dropdown-menu .dropdown-menu-list>li .photo img{height:40px;width:40px;-webkit-border-radius:50%!important;-moz-border-radius:50%!important;-ms-border-radius:50%!important;-o-border-radius:50%!important;border-radius:50%!important}.page-header.navbar .top-menu .navbar-nav>li.dropdown-inbox>.dropdown-menu .dropdown-menu-list>li .subject{display:block;margin-left:46px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-inbox>.dropdown-menu .dropdown-menu-list>li .subject .from{font-size:13px;font-weight:600}.page-header.navbar .top-menu .navbar-nav>li.dropdown-inbox>.dropdown-menu .dropdown-menu-list>li .subject .time{font-size:12px;font-weight:400;opacity:.5;filter:alpha(opacity=50);float:right}.page-header.navbar .top-menu .navbar-nav>li.dropdown-inbox>.dropdown-menu .dropdown-menu-list>li .message{display:block!important;font-size:12px;line-height:1.3;margin-left:46px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-tasks .dropdown-menu .dropdown-menu-list>li .task{margin-bottom:5px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-tasks .dropdown-menu .dropdown-menu-list>li .task .desc{font-size:13px;font-weight:300}.page-header.navbar .top-menu .navbar-nav>li.dropdown-tasks .dropdown-menu .dropdown-menu-list>li .task .percent{float:right;font-weight:600;display:inline-block}.page-header.navbar .top-menu .navbar-nav>li.dropdown-tasks .dropdown-menu .dropdown-menu-list>li .progress{display:block;height:8px;margin:8px 0 2px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-toggle{padding:14px 6px 12px 8px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-toggle>.username{display:inline-block;font-size:13px;font-weight:300}.page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-toggle>img{float:left;margin-top:-5px;margin-right:5px;height:29px;display:inline-block}.page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-toggle>i{display:inline-block;margin:0;font-size:13px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-menu{width:175px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-menu>li>a{font-size:14px;font-weight:300}.page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-menu>li>a i{width:15px;display:inline-block;margin-right:9px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-menu>li>a .badge{margin-right:10px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-language{padding-left:0;padding-right:0;margin:0}.page-header.navbar .top-menu .navbar-nav>li.dropdown-language>.dropdown-toggle{padding:14px 3px 12px 7px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-language>.dropdown-toggle>img{margin-bottom:2px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-language>.dropdown-toggle>i{font-size:14px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-language>.dropdown-menu>li>a{font-size:13px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-language>.dropdown-menu>li>a>img{margin-bottom:2px;margin-right:5px}.page-header.navbar .top-menu .navbar-nav li.dropdown-dark .dropdown-menu:before{border-left:none;border-right:none}.page-header.navbar .top-menu .navbar-nav li.dropdown-dark .dropdown-menu .dropdown-menu-list>li.external a{background:0 0!important;border:none!important}@media (min-width:768px){.page-header.navbar .search-form.search-form-expanded{width:200px}.page-header.navbar .search-form.search-form-expanded .input-group .form-control{text-indent:0}.page-header.navbar .search-form.search-form-expanded .input-group .form-control:hover{cursor:text}.page-header.navbar .search-form.search-form-expanded .input-group .input-group-btn .btn.submit{margin-left:0}}.page-header.navbar .container{position:relative}.page-header.navbar .hor-menu .navbar-nav,.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown{position:static}.page-header.navbar .hor-menu{margin:0;float:left}.page-header.navbar .hor-menu .navbar-nav.navbar-right .dropdown-menu{left:auto;right:0}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu{left:auto;width:auto}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu .mega-menu-content{font-family:"Open Sans",sans-serif;padding:15px;margin:0}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu .mega-menu-content.mega-menu-responsive-content{padding:10px 18px 10px 45px}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu .mega-menu-content .mega-menu-submenu{padding:0;margin:0}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu .mega-menu-content .mega-menu-submenu:last-child{border-right:0}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu .mega-menu-content .mega-menu-submenu li{padding:1px!important;margin:0!important;list-style:none}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu .mega-menu-content .mega-menu-submenu li>h3{margin-top:5px;padding-left:6px;font-size:15px;font-weight:400}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu .mega-menu-content .mega-menu-submenu li>a{white-space:normal;font-family:"Open Sans",sans-serif;padding:7px;margin:0;font-size:14px;font-weight:300}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu .mega-menu-content .mega-menu-submenu li>a.iconify{padding:7px 7px 7px 30px}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu .mega-menu-content .mega-menu-submenu li>a.iconify>i{position:absolute;top:auto!important;margin-left:-24px;font-size:15px;margin-top:3px!important}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu .mega-menu-content .mega-menu-submenu li>a .badge,.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown>.dropdown-menu .mega-menu-content .mega-menu-submenu li>a .label{margin-left:5px}.page-header.navbar .hor-menu .navbar-nav>li.mega-menu-dropdown.mega-menu-full .dropdown-menu{left:20px;right:20px}.page-header.navbar .hor-menu .navbar-nav>li.menu-dropdown .dropdown-menu:after,.page-header.navbar .hor-menu .navbar-nav>li.menu-dropdown .dropdown-menu:before{display:none!important}.page-header.navbar .hor-menu .navbar-nav>li>a{font-size:14px;font-weight:400;padding:13px}.page-header.navbar .hor-menu .navbar-nav>li>a:focus{background:0 0!important}.page-header.navbar .hor-menu .navbar-nav>li.active .selected,.page-header.navbar .hor-menu .navbar-nav>li.current .selected{left:50%;bottom:0;position:absolute;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid transparent;display:inline-block;margin:0 0 -6px -7px;width:0;height:0}.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu{margin-top:0;border:none}.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li>a{font-family:"Open Sans",sans-serif;font-size:14px;font-weight:300;padding:9px 10px;white-space:normal}.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li>a .badge,.page-header.navbar .hor-menu .navbar-nav>li .dropdown-menu li>a .label{font-weight:300}.page-header.navbar .hor-menu .navbar-nav>li.classic-menu-dropdown .dropdown-menu{min-width:195px;max-width:235px}.page-header.navbar .hor-menu .navbar-nav>li .dropdown-submenu>.dropdown-menu{top:0}.page-header.navbar .hor-menu .navbar-nav>li .dropdown-submenu>a:after{top:9px;right:10px}@media (min-width:992px) and (max-width:1200px){.page-boxed .page-header.navbar .top-menu .navbar-nav>li.dropdown-language .dropdown-toggle .langname,.page-boxed .page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-toggle .username.username-hide-on-mobile{display:none}}@media (min-width:992px){.page-sidebar-closed.page-sidebar-closed-hide-logo .page-header.navbar .page-logo{padding:0;width:45px}.page-sidebar-closed.page-sidebar-closed-hide-logo .page-header.navbar .page-logo .logo-default{display:none}.page-boxed .page-header.navbar .page-logo{width:236px}.page-boxed .page-header.navbar .top-menu .navbar-nav{margin-right:0}.page-sidebar-closed.page-sidebar-closed-hide-logo.page-boxed .page-header.navbar .page-logo{width:46px}.page-boxed.page-sidebar-fixed .page-header.navbar .page-logo{width:235px}}@media (max-width:991px){.page-header.navbar{padding:0 20px;position:relative;clear:both}.page-header.navbar .page-logo{width:auto;padding:0;margin-right:10px;margin-left:0!important;padding-left:0!important}.page-header.navbar .page-logo img{margin-left:4px!important}.page-header.navbar .menu-toggler.sidebar-toggler{display:none!important}.page-header.navbar .menu-toggler.responsive-toggler{display:inline-block}.page-header.navbar .top-menu .navbar-nav{display:inline-block;margin:0 10px 0 0}.page-header.navbar .top-menu .navbar-nav>li{float:left}.page-header.navbar .top-menu .navbar-nav .nav li.dropdown i{display:inline-block;position:relative;top:1px;right:0}.page-header.navbar .top-menu .navbar-nav .open .dropdown-menu{position:absolute}.page-header-fixed.page-header-fixed-mobile .navbar-fixed-top{position:fixed}.page-boxed .page-header.navbar>.container{max-width:none!important;margin:0!important;padding:0!important}}@media (min-width:768px) and (max-width:991px){.page-boxed .page-header.navbar{margin:auto!important;padding:0}.page-boxed .page-header.navbar>.container{margin:auto!important}}@media (max-width:767px){.page-header.navbar{padding:0 10px}.page-header.navbar .page-logo{width:auto}.page-header.navbar .search-form.open{z-index:3;left:10px;right:10px;position:absolute;width:auto!important}.page-header.navbar .top-menu .navbar-nav>li.dropdown-extended>.dropdown-menu{max-width:255px;width:255px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-notification .dropdown-menu{margin-right:-190px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-notification .dropdown-menu:after,.page-header.navbar .top-menu .navbar-nav>li.dropdown-notification .dropdown-menu:before{margin-right:190px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-inbox .dropdown-menu{margin-right:-150px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-inbox .dropdown-menu:after,.page-header.navbar .top-menu .navbar-nav>li.dropdown-inbox .dropdown-menu:before{margin-right:150px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-tasks .dropdown-menu{margin-right:-110px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-tasks .dropdown-menu:after,.page-header.navbar .top-menu .navbar-nav>li.dropdown-tasks .dropdown-menu:before{margin-right:110px}}@media (max-width:580px){.page-header.navbar .top-menu .navbar-nav>li.dropdown-language .dropdown-toggle .langname,.page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-toggle .username.username-hide-on-mobile{display:none}}@media (max-width:480px){.page-header-fixed.page-header-fixed-mobile .page-header.navbar{height:92px}.page-header.navbar .top-menu{display:block;clear:both}.page-header.navbar .top-menu .navbar-nav{margin-right:0}.page-header.navbar .top-menu .navbar-nav>li.dropdown .dropdown-toggle{padding:17px 6px 9px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-language .dropdown-toggle{padding:14px 4px 12px 2px}.page-header.navbar .top-menu .navbar-nav>li.dropdown-user .dropdown-toggle{padding:14px 0 12px 2px}}.pace .pace-progress{z-index:10000;top:44px;height:2px}.pace .pace-activity{top:48px;right:22px;border-radius:10px!important}.page-container{margin:0;padding:0;position:relative}.page-container:after,.page-container:before{content:" ";display:table}.page-header-fixed .page-container{margin-top:46px}.page-footer-fixed.page-footer-fixed-mobile .page-container{margin-bottom:20px!important}@media (min-width:992px){.page-footer-fixed .page-container{margin-bottom:20px!important}}@media (max-width:991px){.page-container{margin:0!important;padding:0!important}.page-header-fixed.page-header-fixed-mobile .page-container{margin-top:46px!important}}@media (max-width:480px){.page-header-fixed .pace .pace-progress{top:92px}.page-header-fixed .pace .pace-activity{top:188px;right:15px}.page-header-fixed.page-header-fixed-mobile .page-container{margin-top:92px!important}}.ie8 .page-sidebar{width:235px;float:left;position:relative;margin-right:-100%}.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover.navbar-collapse,.page-sidebar.navbar-collapse{padding:0;box-shadow:none}.page-sidebar .page-sidebar-menu,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu{list-style:none;margin:0;padding:0}.page-sidebar .page-sidebar-menu>li,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li{display:block;margin:0;padding:0;border:0}.page-sidebar .page-sidebar-menu>li.sidebar-search-wrapper,.page-sidebar .page-sidebar-menu>li.sidebar-toggler-wrapper,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.sidebar-search-wrapper,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.sidebar-toggler-wrapper{border:0!important}.page-sidebar .page-sidebar-menu>li.sidebar-search-wrapper:after,.page-sidebar .page-sidebar-menu>li.sidebar-search-wrapper:before,.page-sidebar .page-sidebar-menu>li.sidebar-toggler-wrapper:after,.page-sidebar .page-sidebar-menu>li.sidebar-toggler-wrapper:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.sidebar-search-wrapper:after,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.sidebar-search-wrapper:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.sidebar-toggler-wrapper:after,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.sidebar-toggler-wrapper:before{content:" ";display:table}.page-sidebar .page-sidebar-menu>li.start>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.start>a{border-top-color:transparent!important}.page-sidebar .page-sidebar-menu>li.last>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.last>a{border-bottom-color:transparent!important}.page-sidebar .page-sidebar-menu>li>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li>a{display:block;position:relative;margin:0;border:0;padding:10px 15px;text-decoration:none;font-size:14px;font-weight:300}.page-sidebar .page-sidebar-menu>li>a>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li>a>i{font-size:16px;margin-right:5px;text-shadow:none}.page-sidebar .page-sidebar-menu>li>a>i.glyphicon,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li>a>i.glyphicon{top:3px;margin-left:1px;margin-right:4px}.page-sidebar .page-sidebar-menu>li>a>[class^=icon-],.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li>a>[class^=icon-]{top:2px;margin-left:1px;margin-right:4px}.page-sidebar-fixed .page-sidebar .page-sidebar-menu>li>a,.page-sidebar-fixed .page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li>a{transition:all .2s ease}.page-sidebar-reversed.page-sidebar-fixed .page-sidebar .page-sidebar-menu>li>a,.page-sidebar-reversed.page-sidebar-fixed .page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li>a{transition:none}.page-sidebar .page-sidebar-menu>li.heading,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.heading{padding:15px}.page-sidebar .page-sidebar-menu>li.heading>h3,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.heading>h3{margin:0;padding:0;font-size:14px;font-weight:300}.page-sidebar .page-sidebar-menu>li.heading+li>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.heading+li>a{border-top:0}.page-sidebar .page-sidebar-menu>li.open>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.open>a{font-size:14px}.page-sidebar .page-sidebar-menu>li.active>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active>a{border:none;text-shadow:none;font-size:14px}.page-sidebar .page-sidebar-menu>li.active>a>.selected,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active>a>.selected{display:block;float:right;position:absolute;right:0;top:8px;background:0 0;width:0;height:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-right:12px solid #fff}.page-sidebar-reversed .page-sidebar .page-sidebar-menu>li.active>a>.selected,.page-sidebar-reversed .page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active>a>.selected{right:auto;left:0;border-right:0;border-left:8px solid #fff}.page-container-bg-solid .page-sidebar .page-sidebar-menu>li.active>a>.selected,.page-container-bg-solid .page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active>a>.selected{border-color:transparent #F1F3FA transparent transparent}.page-container-bg-solid.page-sidebar-reversed .page-sidebar .page-sidebar-menu>li.active>a>.selected,.page-container-bg-solid.page-sidebar-reversed .page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu>li.active>a>.selected{border-color:transparent transparent transparent #F1F3FA}.page-sidebar .page-sidebar-menu li>a>.arrow:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu li>a>.arrow:before{float:right;width:10px;text-align:center;margin-top:-1px;margin-right:5px;margin-left:5px;display:inline;font-size:16px;font-family:FontAwesome;height:auto;content:"\f104";font-weight:300;text-shadow:none}.page-sidebar .page-sidebar-menu li>a>.arrow.open:before,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu li>a>.arrow.open:before{content:"\f107"}.page-sidebar .page-sidebar-menu li>a>.badge,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu li>a>.badge{float:right;margin-top:1px;margin-right:0}.page-sidebar .page-sidebar-menu .sub-menu,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu{list-style:none;display:none;padding:0;margin:8px 0}.page-sidebar .page-sidebar-menu .sub-menu li,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu li{background:0 0;margin:0;padding:0;margin-top:1px!important}.page-sidebar .page-sidebar-menu .sub-menu li>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu li>a{display:block;margin:0;padding:6px 15px 6px 43px;text-decoration:none;font-size:14px;font-weight:300;background:0 0}.page-sidebar .page-sidebar-menu .sub-menu li>a>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu li>a>i{font-size:14px}.page-sidebar .page-sidebar-menu .sub-menu li>.sub-menu,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu li>.sub-menu{margin:0}.page-sidebar .page-sidebar-menu .sub-menu li>.sub-menu>li>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu li>.sub-menu>li>a{padding-left:60px}.page-sidebar .page-sidebar-menu .sub-menu li>.sub-menu>li>.sub-menu,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu li>.sub-menu>li>.sub-menu{margin:0}.page-sidebar .page-sidebar-menu .sub-menu li>.sub-menu>li>.sub-menu>li>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu li>.sub-menu>li>.sub-menu>li>a{padding-left:80px}.page-sidebar .page-sidebar-menu li.active>.sub-menu,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu li.active>.sub-menu{display:block}.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li>a{border:0;margin:0;padding-left:11px;border-left:4px solid transparent}.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu{margin:0;padding:1px 0}.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu li>a,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu li>a{padding-top:8px;padding-bottom:8px}.page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu li:first-child,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li .sub-menu li:first-child{margin-top:0!important}.page-sidebar-reversed .page-sidebar .page-sidebar-menu.page-sidebar-menu-light>li>a,.page-sidebar-reversed .page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light>li>a{padding-left:15px;padding-right:11px;border-left:0;border-right:4px solid transparent}.page-sidebar .sidebar-toggler,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-toggler{display:block;cursor:pointer;opacity:.7;filter:alpha(opacity=70);width:30px;height:27px;margin-top:15px;margin-right:19px;float:right;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.page-sidebar .sidebar-toggler:hover,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-toggler:hover{filter:alpha(opacity=100);opacity:1}.page-sidebar .sidebar-search,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search{padding:0;margin:22px 18px}.page-sidebar .sidebar-search .remove,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .remove{display:none}.page-sidebar .sidebar-search .remove>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .remove>i{font-size:16px}.page-sidebar .sidebar-search .input-group,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group{-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.page-sidebar .sidebar-search .input-group .form-control,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group .form-control{border:0;font-size:14px;padding:0;height:auto;line-height:auto;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.page-sidebar .sidebar-search .input-group .input-group-btn .btn,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group .input-group-btn .btn{padding:2px 0 0;background-color:transparent;background-repeat:no-repeat;background-position:100% 3px}.page-sidebar .sidebar-search .input-group .input-group-btn .btn>i,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group .input-group-btn .btn>i{font-size:15px}.page-sidebar .sidebar-search.sidebar-search-bordered,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.sidebar-search-bordered{margin:25px 18px}.page-sidebar .sidebar-search.sidebar-search-bordered .input-group .form-control,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.sidebar-search-bordered .input-group .form-control{font-size:13px;padding:6px 8px}.page-sidebar .sidebar-search.sidebar-search-bordered .input-group .input-group-btn .btn,.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.sidebar-search-bordered .input-group .input-group-btn .btn{margin-right:6px}@media (min-width:992px){.page-full-width .page-sidebar,.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li.open>.sub-menu,.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li>.sub-menu{display:none!important}.page-sidebar{width:235px;float:left;position:relative;margin-right:-100%}.page-sidebar.navbar-collapse{max-height:none!important}.page-sidebar-reversed .page-sidebar{float:right;margin-right:0;margin-left:-100%}.page-sidebar-reversed.page-sidebar-fixed .page-sidebar{margin-left:-235px}.page-sidebar-reversed.page-sidebar-fixed .page-sidebar-wrapper{position:relative;float:right}.page-sidebar-fixed .page-sidebar{position:fixed!important;margin-left:0;top:46px}.page-sidebar-fixed .page-sidebar-menu>li.last{margin-bottom:15px!important}.page-sidebar-closed .page-sidebar,.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed{width:45px!important}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover{width:256px!important;position:relative!important;z-index:10000;display:block!important}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover>a{-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0;-ms-border-radius:0 4px 0 0;-o-border-radius:0 4px 0 0;border-radius:0 4px 0 0}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover>a>i{margin-right:10px}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover>a>.title{display:inline!important;padding-left:15px}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover>a>.badge{display:block!important}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover>a>.selected{display:none}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover.heading{width:45px!important;box-shadow:none}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover>.sub-menu{width:210px;position:absolute;z-index:2000;left:46px;margin-top:0;top:100%;display:block!important;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;-ms-border-radius:0 0 4px 4px;-o-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover>.sub-menu>li>a{padding-left:15px!important}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover>.sub-menu>li>.sub-menu>li>a{padding-left:30px!important}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover>.sub-menu>li>.sub-menu>li>.sub-menu>li>a{padding-left:45px!important}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li.heading>h3{display:none}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li.sidebar-toggler-wrapper .sidebar-toggler{margin-right:8px}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li.sidebar-search-wrapper:hover,.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li.sidebar-toggler-wrapper:hover{width:45px!important}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li>a{padding-left:11px}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li>a .selected{right:-3px!important}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li>a>.arrow,.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li>a>.badge,.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li>a>.title{display:none!important}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-toggler{margin-left:3px;margin-right:3px}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search .input-group{border-color:transparent;margin-left:-4px}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search .input-group .form-control{display:none}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search .input-group .input-group-btn .btn{display:block}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search.sidebar-search-bordered .input-group{padding:5px 0 3px}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search.open{height:39px;margin-top:14px;margin-bottom:14px}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search.open .input-group{width:210px;position:relative;z-index:1;margin-left:24px;padding:0}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search.open .input-group .form-control{background:0 0;border:0;display:block;padding:8px}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search.open .input-group .input-group-btn .btn{display:block;margin-right:8px;margin-top:1px}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search.open .remove{background-repeat:no-repeat;width:11px;height:11px;margin:9px -5px 9px -7px;display:block;float:left}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search.open.sidebar-search-bordered{height:36px;margin-top:23px;margin-bottom:23px}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search.open.sidebar-search-bordered .input-group{padding:0}.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-light.page-sidebar-menu-closed>li>a{padding-right:11px;padding-left:7px}.page-sidebar-closed.page-sidebar-reversed .page-sidebar{margin-left:-45px;width:45px}.page-sidebar-closed.page-sidebar-reversed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li>.sub-menu{left:auto;right:46px}.page-sidebar-closed.page-sidebar-reversed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover{margin-left:-211px}.page-sidebar-closed.page-sidebar-reversed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover>a{-webkit-border-radius:4px 0 0;-moz-border-radius:4px 0 0;-ms-border-radius:4px 0 0 0;-o-border-radius:4px 0 0;border-radius:4px 0 0}.page-sidebar-closed.page-sidebar-reversed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover>a>.title{padding-left:0;padding-right:15px}.page-sidebar-closed.page-sidebar-reversed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li:hover>a>i{margin-right:0;margin-left:2px}.page-sidebar-closed.page-sidebar-reversed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li.sidebar-search-wrapper:hover,.page-sidebar-closed.page-sidebar-reversed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed>li.sidebar-toggler-wrapper:hover{margin-left:0}.page-sidebar-closed.page-sidebar-reversed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search.open .input-group{margin-left:-227px}.page-sidebar-closed.page-sidebar-reversed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search.open .input-group .input-group-btn .btn{margin-right:10px!important}.page-sidebar-closed.page-sidebar-reversed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search.open .remove{margin:9px 4px 12px -16px!important;float:right!important}.page-sidebar-closed.page-sidebar-reversed .page-sidebar .page-sidebar-menu.page-sidebar-menu-light.page-sidebar-menu-closed>li>a{padding-right:7px;padding-left:11px}.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover{width:235px!important;display:absolute;z-index:10000}.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu{width:235px!important}.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .selected{display:none!important}.page-sidebar-closed.page-sidebar-fixed.page-sidebar-reversed .page-sidebar:hover{width:235px!important;display:absolute;z-index:10000;margin-left:-235px!important}.page-sidebar-closed.page-sidebar-fixed.page-sidebar-reversed .page-sidebar:hover .page-sidebar-menu{width:235px!important}.page-sidebar-closed.page-sidebar-hide .page-sidebar{display:none!important}.page-sidebar-menu.page-sidebar-menu-hover-submenu li .sub-menu{display:none;width:210px;z-index:2000;position:absolute;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.page-sidebar-menu.page-sidebar-menu-hover-submenu li .sub-menu>li>a{margin:3px}.page-sidebar-menu.page-sidebar-menu-hover-submenu li.active .sub-menu,.page-sidebar-menu.page-sidebar-menu-hover-submenu li.open .sub-menu{display:none!important}.page-sidebar-menu.page-sidebar-menu-hover-submenu li a>.arrow{display:none}.page-sidebar-menu.page-sidebar-menu-hover-submenu li:hover>a>.arrow{display:block;float:right;position:absolute;right:0;margin-top:-20px;background:0 0;width:0;height:0;border-style:solid;border-top:12px double transparent;border-bottom:12px double transparent;border-left:0}.page-sidebar-menu.page-sidebar-menu-hover-submenu li:hover>a>.arrow:after,.page-sidebar-menu.page-sidebar-menu-hover-submenu li:hover>a>.arrow:before{display:none}.page-sidebar-reversed .page-sidebar-menu.page-sidebar-menu-hover-submenu li:hover>a>.arrow{right:auto;left:0;border-right:0}.page-sidebar-menu.page-sidebar-menu-hover-submenu li:hover>.sub-menu{display:inline-block!important}.page-sidebar-menu.page-sidebar-menu-hover-submenu>li:hover>a>.arrow{z-index:1;right:0;margin-top:-23px}.page-sidebar-menu.page-sidebar-menu-hover-submenu>li:hover>a>.selected{display:none}.page-sidebar-menu.page-sidebar-menu-hover-submenu>li:hover>.sub-menu{margin-left:235px;margin-top:-40px}.page-sidebar-reversed .page-sidebar-menu.page-sidebar-menu-hover-submenu>li:hover>.sub-menu{margin-left:-210px!important}.page-sidebar-closed .page-sidebar-menu.page-sidebar-menu-hover-submenu>li:hover>.sub-menu{margin-left:0}.page-sidebar-menu.page-sidebar-menu-hover-submenu>li:hover>.sub-menu>li>a{padding-left:15px}.page-sidebar-menu.page-sidebar-menu-hover-submenu>li:hover>.sub-menu>li .sub-menu{margin-left:210px;margin-top:-38px!important}.page-sidebar-reversed .page-sidebar-menu.page-sidebar-menu-hover-submenu>li:hover>.sub-menu>li .sub-menu{margin-left:-210px!important}.page-sidebar-menu.page-sidebar-menu-hover-submenu>li:hover>.sub-menu>li .sub-menu>li>a{padding-left:10px;padding-right:10px}.page-sidebar-menu.page-sidebar-menu-light.page-sidebar-menu-hover-submenu li:hover>.sub-menu,.page-sidebar-menu.page-sidebar-menu-light.page-sidebar-menu-hover-submenu li:hover>.sub-menu>li>.sub-menu{margin-top:-41px}}@media (max-width:991px){.page-sidebar,.page-sidebar.navbar-collapse.in{border-top:0!important;margin:20px}.page-sidebar .sidebar-toggler{display:none}.page-sidebar .selected,.page-sidebar.navbar-collapse.collapse{display:none!important}.page-sidebar.navbar-collapse{max-height:none}.page-sidebar.navbar-collapse.in{position:relative;overflow:hidden!important;overflow-y:auto!important;display:block!important}.page-sidebar.navbar-collapse.navbar-no-scroll{max-height:none!important}.page-sidebar .mega-menu-responsive-content{padding:10px 18px 10px 45px}.page-full-width .page-sidebar-menu{display:block}}@media (min-width:768px) and (max-width:991px){.page-sidebar .btn-navbar.collapsed .arrow{display:none}.page-sidebar .btn-navbar .arrow{position:absolute;right:25px;width:0;height:0;top:50px;border-bottom:15px solid #5f646b;border-left:15px solid transparent;border-right:15px solid transparent}}.page-header .top-menu .dropdown-quick-sidebar-toggler>.dropdown-toggle{padding:17px 10px 9px!important}.page-header .top-menu .dropdown-quick-sidebar-toggler>.dropdown-toggle i{top:0}.page-quick-sidebar-open .page-header .top-menu .dropdown-quick-sidebar-toggler>.dropdown-toggle i:before{content:"\e066"}.page-quick-sidebar-wrapper{transition:right .3s;z-index:9994;position:fixed;top:46px;bottom:0;right:-270px;width:270px;overflow:hidden}.page-quick-sidebar-wrapper.phonebar{top:0}.page-footer-fixed .page-quick-sidebar-wrapper{bottom:33px}.page-quick-sidebar-full-height .page-quick-sidebar-wrapper{top:0;bottom:0}.page-quick-sidebar-open .page-quick-sidebar-wrapper{transition:right .3s;right:0}.page-quick-sidebar-toggler{overflow:hidden;z-index:9994;display:none;width:28px;height:27px;position:fixed;top:19px;right:15px;text-align:center;padding-top:6px}.page-quick-sidebar-open .page-quick-sidebar-toggler{display:inline-block}.page-quick-sidebar-toggler>i{font-size:17px}@media (max-width:480px){.page-sidebar,.page-sidebar.in{margin:0 10px 10px!important}.page-header-fixed.page-header-fixed-mobile .page-sidebar,.page-header-fixed.page-header-fixed-mobile .page-sidebar.in{margin-top:10px!important}.page-quick-sidebar-wrapper{top:92px}.page-quick-sidebar-toggler{top:65px}}.page-content-wrapper,.page-footer,.page-header,.page-sidebar-wrapper{transition:margin .3s}.page-quick-sidebar-open.page-quick-sidebar-push-content .page-content-wrapper,.page-quick-sidebar-open.page-quick-sidebar-push-content .page-sidebar-wrapper{transition:margin-left .3s;margin-left:-270px}.page-quick-sidebar-open.page-quick-sidebar-push-content .page-footer{transition:margin-right .3s;margin-right:270px;margin-left:-270px}.page-sidebar-reversed.page-quick-sidebar-open.page-quick-sidebar-push-content .page-sidebar-wrapper{transition:margin-right .3s;margin-right:270px}.page-quick-sidebar-open.page-quick-sidebar-push-content.page-quick-sidebar-full-height .page-header{transition:margin-left .3s;margin-left:-270px}.page-quick-sidebar-open.page-quick-sidebar-push-content.page-footer-fixed:not(.page-quick-sidebar-full-height) .page-footer{margin-left:0;margin-right:0}.page-quick-sidebar-open.page-quick-sidebar-over-content-transparent .page-quick-sidebar-wrapper{opacity:.9;filter:alpha(opacity=90)}@media (max-width:991px){.page-quick-sidebar-open.page-quick-sidebar-push-content .page-sidebar-wrapper{display:none}}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified{margin:0;padding:0}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li{display:table-cell!important;width:1%!important}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li>a{padding:15px;border:0;height:46px;font-size:13px;text-transform:uppercase;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li>a>.badge{position:absolute;top:12px;right:3px}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li>a:hover{border:0}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li .dropdown-menu{margin-top:8px;margin-right:20px}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li .dropdown-menu:before{position:absolute;top:-7px;right:19px;display:inline-block!important;border-right:7px solid transparent;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,.2);content:''}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>li .dropdown-menu:after{position:absolute;top:-6px;right:20px;display:inline-block!important;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.page-quick-sidebar-wrapper .page-quick-sidebar .nav-justified>.tab-content{margin:0;padding:0}.page-quick-sidebar-wrapper .page-quick-sidebar .list-heading{font-size:16px;margin:10px}.page-quick-sidebar-wrapper .page-quick-sidebar .list-items{margin:0;padding:0;list-style:none}.page-quick-sidebar-wrapper .page-quick-sidebar .list-items>li{margin:0;padding:10px;background:0 0;border-bottom-width:1px;border-bottom-style:solid}.page-quick-sidebar-wrapper .page-quick-sidebar .list-items>li:last-child{border-bottom:0}.page-quick-sidebar-wrapper .page-quick-sidebar .list-items.borderless li{border:0}.page-quick-sidebar-wrapper .page-quick-sidebar .inner-content{margin:10px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-list{position:absolute!important;width:270px!important;transition:margin .3s}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-item{position:absolute!important;width:270px!important;transition:margin .3s;margin-left:270px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-item .page-quick-sidebar-nav{padding:0 10px 5px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-item .page-quick-sidebar-nav .page-quick-sidebar-back-to-list{vertical-align:middle;display:inline-block;font-size:14px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-item .page-quick-sidebar-nav .page-quick-sidebar-back-to-list>i{font-size:17px;line-height:17px;vertical-align:top;margin-right:3px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-content-item-shown .page-quick-sidebar-list{transition:margin .3s;margin-left:-270px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-content-item-shown .page-quick-sidebar-list .slimScrollBar,.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-content-item-shown .page-quick-sidebar-list .slimScrollRail{display:none!important}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-content-item-shown .page-quick-sidebar-item{transition:margin .3s;margin-left:0}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-users{padding:10px 0;position:relative}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media{padding:12px 10px 11px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media .media-object{border-radius:50%!important;width:38.57px;opacity:.8;filter:alpha(opacity=80);float:left;margin-right:10px}.page-quick-sidebar-wrapper .page-quick-sidebar-chat .page-quick-sidebar-chat-users .quicksidebar-search{padding:0;margin:10px 22px}.page-quick-sidebar-wrapper .page-quick-sidebar-chat .page-quick-sidebar-chat-users .quicksidebar-search .input-group .form-control{border:0;font-size:14px;padding:0;height:auto}.page-quick-sidebar-wrapper .page-quick-sidebar-chat .page-quick-sidebar-chat-users .quicksidebar-search .input-group .input-group-btn .btn{padding:2px 0 0;background-color:transparent;background-repeat:no-repeat;background-position:100% 3px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media .media-object:after,.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media .media-object:before{content:" ";display:table}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media:hover{cursor:pointer}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media:hover .media-object{opacity:1;filter:alpha(opacity=100)}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media .media-body .media-heading{margin:5px 0 0;font-size:14px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media .media-body .media-heading-sub{font-size:11px;text-transform:uppercase}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media .media-body .media-heading-small{font-size:10px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media .media-status{margin-top:10px;right:10px;position:absolute;display:inline-block}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages{padding:0 10px;position:relative}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post{transition:display .3s;padding:5px 0;margin:10px auto;font-size:12px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post .body{display:block;word-wrap:break-word}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post .avatar{width:38.57px;border-radius:50%!important}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post.in .avatar{float:left;margin-right:10px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post.out .avatar{float:right;margin-left:10px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post .name{font-size:12px;font-weight:300}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post .datetime{font-size:12px;font-weight:300;text-style:italic}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post .message{display:block;padding:5px;position:relative}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post.in .message{text-align:left;margin-left:55px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post.in .message .arrow{display:block;position:absolute;top:9px;left:-6px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right-width:6px;border-right-style:solid}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post.out .message{margin-right:55px;text-align:right}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post.out .message .arrow{display:block;position:absolute;top:9px;right:-6px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left-width:6px;border-left-style:solid}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post.out .datetime,.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-messages .post.out .name{text-align:right}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-form{padding:20px 10px 15px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-user .page-quick-sidebar-chat-user-form .input-group .form-control{font-size:13px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-alerts .page-quick-sidebar-alerts-list{padding:10px 0;position:relative}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-alerts .page-quick-sidebar-alerts-list .feeds li .label{margin-top:5px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-alerts .page-quick-sidebar-alerts-list .feeds li .desc{padding:0}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-settings .page-quick-sidebar-settings-list{padding:10px 0;position:relative}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-settings .page-quick-sidebar-settings-list .list-items li .bootstrap-switch{margin-top:-3px;float:right;border:0;min-width:59px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-settings .page-quick-sidebar-settings-list .list-items li .form-control{width:75px!important;padding:4px!important;float:right;border:0;margin-top:-4px}.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-settings .page-quick-sidebar-settings-list .list-items li select.form-control{padding:4px 0!important}.page-title{padding:0;font-size:28px;letter-spacing:-1px;display:block;color:#666;margin:0 0 15px;font-weight:300;font-family:"Open Sans",sans-serif}.page-title small{font-size:14px;letter-spacing:0;font-weight:300;color:#888}.page-container-bg-solid .page-title{color:#666;margin-bottom:20px;margin-top:20px}.page-container-bg-solid .page-title small{color:#666}.page-bar{padding:0;background-color:#f7f7f7;margin-bottom:25px;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.page-bar:after,.page-bar:before{content:" ";display:table}.page-bar .page-breadcrumb{display:inline-block;float:left;padding:8px;margin:0;list-style:none}.page-bar .page-breadcrumb>li{display:inline-block}.ie8 .page-bar .page-breadcrumb>li{margin-right:1px}.page-bar .page-breadcrumb>li>a,.page-bar .page-breadcrumb>li>span{color:#888;font-size:14px;text-shadow:none}.page-bar .page-breadcrumb>li>i{color:#aaa;font-size:14px;text-shadow:none}.page-bar .page-breadcrumb>li>i[class*=icon-],.page-bar .page-breadcrumb>li>i[class^=icon-]{color:gray}.page-bar .page-toolbar{display:inline-block;float:right;padding:0}.page-bar .page-toolbar .btn-fit-height{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;-ms-border-radius:0 4px 4px 0;-o-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;padding-top:8px;padding-bottom:8px}.page-container-bg-solid .page-bar{position:relative;padding:0 20px;background-color:#fff;margin:-25px -20px 0}.page-container-bg-solid .page-bar .page-breadcrumb{padding:11px 0}.page-container-bg-solid .page-bar .page-breadcrumb>li>a,.page-container-bg-solid .page-bar .page-breadcrumb>li>span{color:#888}.page-container-bg-solid .page-bar .page-breadcrumb>li>i{color:#aaa}.page-container-bg-solid .page-bar .page-breadcrumb>li>i[class*=icon-],.page-container-bg-solid .page-bar .page-breadcrumb>li>i[class^=icon-]{color:#8c8c8c}.page-container-bg-solid .page-bar .page-toolbar{padding:6px 0}.page-container-bg-solid .page-bar .page-toolbar .btn{margin-top:-2px}.page-container-bg-solid .page-bar .page-toolbar .btn.btn-sm{margin-top:0}.page-content{margin-top:0;padding:0;background-color:#fff}.page-container-bg-solid .page-content{background:#F1F3FA}.page-full-width .page-content{margin-left:0!important}@media (min-width:992px){.page-content-wrapper{float:left;width:100%}.page-content-wrapper .page-content{margin-left:235px;margin-top:0;min-height:600px;padding:25px 20px 10px}.page-content-wrapper .page-content.no-min-height{min-height:auto}.page-sidebar-fixed.page-sidebar-hover-on .page-content-wrapper .page-content{margin-left:45px}.page-sidebar-reversed .page-content-wrapper .page-content{margin-left:0!important;margin-right:235px!important}.page-sidebar-reversed.page-sidebar-fixed.page-sidebar-hover-on .page-content-wrapper .page-content{margin-left:0;margin-right:45px}.page-sidebar-reversed.page-sidebar-closed .page-content-wrapper .page-content{margin-left:0!important;margin-right:45px!important}.page-sidebar-closed .page-content-wrapper .page-content{margin-left:45px!important}.page-full-width .page-content-wrapper .page-content,.page-sidebar-closed.page-sidebar-hide .page-content-wrapper .page-content{margin-left:0!important}.page-sidebar-closed.page-sidebar-reversed.page-sidebar-hide .page-content-wrapper .page-content{margin-right:0!important}}@media (max-width:991px){.page-container-bg-solid .page-bar{margin-top:-20px}.page-boxed>.container{max-width:none!important;margin:0!important;padding:0!important}.page-content-wrapper .page-content{margin:0!important;padding:20px!important;min-height:280px}}@media (min-width:768px) and (max-width:991px){.page-boxed>.container{margin:auto!important}}@media (max-width:767px){.page-content-wrapper .page-content{padding:20px 10px 10px!important;overflow:hidden}.page-content-wrapper .page-content .page-title{margin-bottom:20px;font-size:18px}.page-content-wrapper .page-content .page-title small{font-size:13px;padding-top:3px}}@media (max-width:480px){.page-content-wrapper .page-content .page-title small{display:block;clear:both}}.page-footer{padding:8px 20px 5px;font-size:12px;height:33px}.page-footer:after,.page-footer:before{content:" ";display:table}.page-footer .page-footer-inner{float:left;display:inline-block}.page-footer-fixed.page-footer-fixed-mobile .page-footer{position:fixed;left:0;right:0;z-index:10000;bottom:0}.page-footer-fixed.page-footer-fixed-mobile.page-sidebar-fixed .page-footer{margin-left:0!important}@media (min-width:992px){.page-footer{clear:left}.page-footer-fixed .page-footer{position:fixed;left:0;right:0;z-index:10000;bottom:0}.page-sidebar-fixed.page-sidebar-closed .page-footer{margin-left:45px}.page-sidebar-fixed.page-footer-fixed .page-footer{margin-left:0!important}.page-sidebar-fixed .page-footer{margin-left:235px;padding:8px 20px 5px}.page-boxed .page-footer{padding:8px 0 5px}.page-boxed.page-sidebar-fixed .page-footer{padding-right:20px;padding-left:20px}.page-sidebar-reversed.page-sidebar-fixed .page-footer{margin-left:0;margin-right:235px;padding:8px 20px 5px}.page-sidebar-reversed.page-sidebar-fixed.page-footer-fixed .page-footer{margin-left:0;margin-right:0}.page-sidebar-reversed.page-sidebar-fixed.page-sidebar-closed .page-footer{margin-right:45px}}.aside .aside-dialog .aside-footer:after,.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.container-fluid:after,.container:after,.dataTable,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after,.scroller-footer:after{clear:both}@media (max-width:991px){.page-boxed .page-footer{padding-left:0;padding-right:0}}@media (max-width:767px){.page-boxed .page-footer,.page-footer{padding-left:10px;padding-right:10px}.page-footer-fixed .page-footer .container{padding-left:0;padding-right:0}}.scroll-to-top{padding:1px;text-align:center;position:fixed;bottom:10px;z-index:10001;display:none;right:10px}.theme-panel>.toggler,.theme-panel>.toggler-close{padding:20px;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;top:4px;cursor:pointer}.scroll-to-top>i{display:inline-block;color:#687991;font-size:30px;opacity:.6;filter:alpha(opacity=60)}.scroll-to-top:hover{cursor:pointer}.scroll-to-top:hover>i{opacity:1;filter:alpha(opacity=100)}@media (min-width:992px){.scroll-to-top{right:20px}}@media (max-width:991px){.scroll-to-top{bottom:10px;right:10px}.scroll-to-top>i{font-size:28px}}.theme-panel{width:420px;margin-top:-13px;margin-right:0;z-index:100;float:right;position:relative}.theme-panel>.toggler{right:0;position:absolute;background:url(../img/icon-color.png) center no-repeat #d5dade;border-radius:4px}.theme-panel>.toggler:hover{background-color:#3d3d3d!important}.theme-panel>.toggler-close{display:none;right:0;z-index:101;position:absolute;background:url(../img/icon-color-close.png) center no-repeat #3d3d3d!important;border-radius:4px}.theme-panel>.toggler-close:hover{background-color:#222!important}.theme-panel>.theme-options{top:4px;right:0;display:none;position:absolute;z-index:100;background:#3d3d3d;box-shadow:5px 5px rgba(61,61,61,.1);-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.modal-open .colorpicker,.modal-open .datepicker,.modal-open .daterangepicker,.modal-open .datetimepicker{z-index:10055!important}.theme-panel>.theme-options>.theme-option{color:#cfcfcf;padding:10px;border-top:1px solid #444;margin-top:0;margin-bottom:0}.theme-panel>.theme-options>.theme-option>span{text-transform:uppercase;display:inline-block;width:145px;font-size:13px;font-weight:300}.theme-panel>.theme-options>.theme-option>select.form-control{display:inline;width:135px;padding:2px;text-transform:lowercase}.theme-panel>.theme-options>.theme-option.theme-colors{border-top:0}.theme-panel>.theme-options>.theme-option.theme-colors>span{display:block;width:auto}.theme-panel>.theme-options>.theme-option.theme-colors>ul{list-style:none;padding:0;display:block;margin-bottom:10px!important;margin-top:15px}.colorpicker.dropdown-menu,.daterangepicker.dropdown-menu,.datetimepicker.dropdown-menu{padding:5px}.theme-panel>.theme-options>.theme-option.theme-colors>ul>li{width:40px;height:40px;margin:0 4px;cursor:pointer;list-style:none;float:left;border:1px solid #707070}.theme-panel>.theme-options>.theme-option.theme-colors>ul>li:first-child{margin-left:0}.theme-panel>.theme-options>.theme-option.theme-colors>ul>li.current,.theme-panel>.theme-options>.theme-option.theme-colors>ul>li:hover{border:2px solid #d64635}.theme-panel>.theme-options>.theme-option.theme-colors>ul>li.color-default{background:#333438}.theme-panel>.theme-options>.theme-option.theme-colors>ul>li.color-darkblue{background:#2b3643}.theme-panel>.theme-options>.theme-option.theme-colors>ul>li.color-blue{background:#2D5F8B}.theme-panel>.theme-options>.theme-option.theme-colors>ul>li.color-grey{background:#697380}.theme-panel>.theme-options>.theme-option.theme-colors>ul>li.color-light{background:#F9FAFD}.theme-panel>.theme-options>.theme-option.theme-colors>ul>li.color-light2{background:#F1F1F1}.page-container-bg-solid .theme-panel{position:absolute;margin-top:30px;margin-right:20px;right:0}.page-container-bg-solid .theme-panel>.toggler{background:url(../img/icon-color.png) center no-repeat #BFCAD1}.page-container-bg-solid.page-sidebar-reversed .theme-panel{margin-right:255px}.page-on-load{background:#fefefe}.datepicker .active,.datepicker .active:hover,.datepicker .selected,.datepicker .today{background-image:none!important;filter:none!important}.page-on-load .page-container,.page-on-load .page-footer,.page-on-load .page-header,.page-on-load>.clearfix{display:none;transition:all 2s}.input-group.color .input-group-btn i{position:absolute;display:block;cursor:pointer;width:20px;height:20px;right:6px}.datepaginator a{font-family:'Open Sans';font-size:13px;font-weight:300}.datepicker table td,.datepicker table th,.datetimepicker table td,.datetimepicker table th{font-family:'Open Sans'!important}#dp-calendar{right:4px!important}.datepaginator .fa-angle-right:before{content:"\f105"}.datepaginator .fa-angle-left:before{content:"\f104"}.datepicker.dropdown-menu{padding:5px;box-shadow:5px 5px rgba(102,102,102,.1);border:1px solid #efefef}.datepicker .selected{background-color:#909090!important}.datepicker .active{background-color:#4b8df8!important}.datepicker .active:hover{background-color:#2678FC!important}.datepicker .input-daterange input{text-align:left}.datepicker table td{color:#000;font-weight:300!important}.datepicker table th{color:#333;font-weight:400!important}.daterangepicker{margin-top:4px}.daterangepicker td{text-shadow:none}.daterangepicker td.active{background-color:#4b8df8;background-image:none;filter:none}.datetimepicker .active,.datetimepicker .active:hover{filter:none!important;background-image:none!important}.daterangepicker th{font-weight:400;font-size:14px}.daterangepicker .ranges input[type=text]{width:70px!important;font-size:11px;vertical-align:middle}.daterangepicker .ranges label{font-weight:300;display:block}.daterangepicker .ranges .btn{margin-top:10px}.daterangepicker .ranges li{color:#333}.daterangepicker .ranges li.active,.daterangepicker .ranges li:hover{background:#4b8df8!important;border:1px solid #4b8df8!important;color:#fff}.daterangepicker .range_inputs input{margin-bottom:0!important}.daterangepicker .fa-angle-right:before{content:"\f105"}.daterangepicker .fa-angle-left:before,.datetimepicker .fa-angle-left:before{content:"\f104"}.datetimepicker table td{color:#000;font-weight:300!important}.datetimepicker table th{font-weight:400!important}.datetimepicker .active{background-color:#4b8df8!important}.datetimepicker .active:hover{background-color:#2678FC!important}.datetimepicker .fa-angle-right:before{content:"\f105"}.editable-input table,.editable-input table td,.editable-input table th,.editable-input table tr{border:0!important}.editable-input .combodate select{margin-bottom:5px}.fileinput{margin-bottom:0}.fileinput .close{float:none}.fileinput .input-group{white-space:nowrap;overflow:hidden}.md-input{padding:5px!important;border-bottom:0!important;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;-ms-border-radius:0 0 4px 4px;-o-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.md-editor{-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.md-editor .btn-toolbar{margin-left:0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;-ms-border-radius:4px 4px 0 0;-o-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.md-editor .btn-toolbar .btn-group .btn-sm.btn{padding-bottom:3px}.md-editor .btn-toolbar .btn-group .btn-primary{padding-top:5px;padding-bottom:7px}.md-editor.active{border:1px solid #999;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important}.has-error .md-editor{border:1px solid #ebccd1!important}.has-success .md-editor{border:1px solid #d6e9c6!important}.has-warning .md-editor{border:1px solid #faebcc!important}.modal-open.page-overflow .modal-scrollable,.modal-open.page-overflow .page-container,.modal-open.page-overflow .page-container .navbar-fixed-bottom,.modal-open.page-overflow .page-container .navbar-fixed-top{overflow-y:auto!important}.modal-scrollable{overflow:hidden!important}.modal-backdrop{position:fixed}.bootstrap-select .btn{border-color:#e5e5e5}.has-error .bootstrap-select .btn{border-color:#ebccd1}.has-success .bootstrap-select .btn{border-color:#d6e9c6}.has-warning .bootstrap-select .btn{border-color:#faebcc}.bootstrap-select.open .btn,.bootstrap-select.open.dropup .btn{border-color:#999}.bootstrap-select .btn:focus{outline:0!important;outline-offset:0}.bootstrap-select.btn-group .dropdown-menu{margin-top:1px}.bootstrap-select.btn-group .dropdown-menu>li>dt>.text{font-weight:600;font-family:'Open Sans';font-size:14px}.bootstrap-select.btn-group .dropdown-menu .text-muted{color:#999!important}.bootstrap-select .caret{border:0;width:auto;height:auto;margin-top:-10px!important}.bootstrap-select .caret:before{content:"\f107";display:inline-block;border:0;font-family:FontAwesome;font-style:normal;font-weight:400}.form-wizard .steps>li>a.step>.desc,.form-wizard .steps>li>a.step>.number{display:inline-block;font-size:16px;font-weight:300}.bootstrap-select .selected i{color:#aaa}.bootstrap-select .dropdown-menu{z-index:9999!important}.bootstrap-switch{border-color:#e5e5e5}.bootstrap-switch.bootstrap-switch-focused{box-shadow:none;border-color:#e5e5e5}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary{color:#fff;background:#428bca}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info{color:#fff;background:#89C4F4}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success{color:#fff;background:#45B6AF}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning{color:#fff;background:#dfba49}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger{color:#fff;background:#F3565D}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default{color:#444;background:#ececec}.portlet>.portlet-title>.actions>.bootstrap-switch{border-color:transparent;margin-top:0}.bootstrap-timepicker-widget table td a{padding:4px 0}.bootstrap-timepicker-widget input,.bootstrap-timepicker-widget input:focus{outline:0!important;border:0}.modal-open .bootstrap-timepicker-widget{z-index:10055!important}.bootstrap-timepicker-widget.timepicker-orient-bottom:after,.bootstrap-timepicker-widget.timepicker-orient-bottom:before{top:auto}.toast{-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important;background-color:#030303}.toast-success{background-color:#51a351}.toast-error{background-color:#bd362f}.toast-info{background-color:#2f96b4}.toast-warning{background-color:#f89406}.toast .toast-close-button{display:inline-block;margin-top:0;margin-right:0;text-indent:-100000px;width:11px;height:16px;background-repeat:no-repeat!important;background-image:url(../../assets/images/portlet-remove-icon-white.png)!important}.form-wizard .steps,.form-wizard .steps>li>a.step{background-color:#fff;background-image:none;border:0;box-shadow:none;filter:none}.toast-top-center{top:12px;margin:0 auto 0 -150px;left:50%}.toast-bottom-center{bottom:12px;margin:0 auto 0 -150px;left:50%}.form-wizard .progress{margin-bottom:30px}.form-wizard .steps{padding:10px 0;margin-bottom:15px}.form-wizard .steps>li>a.step:hover{background:0 0}.form-wizard .steps>li>a.step>.number{background-color:#eee;text-align:center!important;padding:11px 15px 13px;margin-right:10px;height:45px;width:45px;-webkit-border-radius:50%!important;-moz-border-radius:50%!important;border-radius:50%!important}.form-wizard .steps>li>a.step>.desc>i{display:none}.form-wizard .steps>li.active>a.step .number{background-color:#45B6AF;color:#fff}.form-wizard .steps>li.active>a.step .desc{color:#333}.form-wizard .steps>li.done>a.step .number{background-color:#dfba49;color:#fff}.form-wizard .steps>li.done>a.step .desc{color:#333}.form-wizard .steps>li.done>a.step .desc i{font-size:12px;font-weight:400;color:#999;display:inline-block}@media (min-width:768px) and (max-width:1200px){.form-wizard .step .desc{margin-top:10px;display:block}}.wysihtml5-sandbox{width:100%!important}.wysihtml5-toolbar li{margin:0;height:29px}.wysihtml5-toolbar li .dropdown-menu{margin-top:5px}.has-error .wysihtml5-sandbox{border:1px solid #ebccd1!important}.has-success .wysihtml5-sandbox{border:1px solid #d6e9c6!important}.has-warning .wysihtml5-sandbox{border:1px solid #faebcc!important}.note-editor{border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.note-editor .note-toolbar{border-bottom:1px solid #e5e5e5;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;-ms-border-radius:4px 4px 0 0;-o-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.note-editor .note-statusbar{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;-ms-border-radius:0 0 4px 4px;-o-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.note-editor .note-statusbar .note-resizebar{border-top:1px solid #e5e5e5}.note-editor.fullscreen{z-index:11000;width:100%!important}.note-editor .dropdown-menu:before{left:9px;right:auto}.note-editor .dropdown-menu:after{left:10px;right:auto}.note-link-dialog .checkbox{margin-left:20px}.has-error .note-editor{border:1px solid #ebccd1!important}.has-success .note-editor{border:1px solid #d6e9c6!important}.has-warning .note-editor{border:1px solid #faebcc!important}.bootbox .bootbox-close-button{margin-top:0!important}.cke{-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.cke .cke-top{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;-ms-border-radius:4px 4px 0 0;-o-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.cke .cke-bottom{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;-ms-border-radius:0 0 4px 4px;-o-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.cke_bottom,.cke_dialog,.cke_dialog_footer,.cke_dialog_title,.cke_inner,.cke_reset,.cke_top{background-image:none!important;filter:none;border-top:0;border-bottom:0;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important;text-shadow:none}.cke_dialog_tab,.cke_dialog_ui_button,.cke_dialog_ui_input_text{filter:none;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;background-image:none!important}.cke_dialog_tab,.cke_dialog_ui_button{box-shadow:none!important;text-shadow:none!important}.cke_dialog_tab:hover,.cke_dialog_ui_button:hover{text-decoration:none;text-shadow:none}.cke_dialog_ui_input_text{box-shadow:none!important}.cke_button,.cke_combo_button,.cke_toolbar,.cke_toolgroup{background-image:none!important;filter:none!important;border:0;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important}.cke_button,.cke_combo_button,.cke_hc.cke_panel_listItem a,.cke_panel_grouptitle{background-image:none!important;filter:none;text-shadow:none}.cke_button:hover,.cke_combo_button:hover{background-color:#ddd}.cke_toolbar_break{background-image:none!important;filter:none!important;border:0;box-shadow:none!important;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;-ms-box-shadow:none!important;-o-box-shadow:none!important}.has-error .cke{border:1px solid #ebccd1!important}.has-success .cke{border:1px solid #d6e9c6!important}.has-warning .cke{border:1px solid #faebcc!important}.modal-open .clockface{z-index:10055!important}.clockface .cell .inner.active,.clockface .cell .outer.active{background-color:#4b8df8!important;background-image:none;filter:none}.dataTable{width:100%;margin-top:5px}.dataTables_filter .form-control{margin-left:4px}.dataTables_filter label{line-height:32px}.dataTable .row-details{margin-top:3px;display:inline-block;cursor:pointer;width:14px;height:14px}.dataTable .row-details.row-details-close{background:url(../img/datatable-row-openclose.png) no-repeat}.dataTable .row-details.row-details-open{background:url(../img/datatable-row-openclose.png) 0 -23px no-repeat}.dataTable .details{background-color:#eee}.dataTable .details td,.dataTable .details th{padding:4px;background:0 0;border:0}.dataTable .details tr:hover td,.dataTable .details tr:hover th{background:0 0}.dataTable .details tr:nth-child(even) td,.dataTable .details tr:nth-child(even) th,.dataTable .details tr:nth-child(odd) td,.dataTable .details tr:nth-child(odd) th{background-color:#eee}.dataTable>thead>tr>th.sorting,.dataTable>thead>tr>th.sorting_asc,.dataTable>thead>tr>th.sorting_desc{padding-right:18px}.dataTable .table-checkbox{width:8px!important}@media (max-width:768px){.form-wizard .steps>li>a{text-align:left}.dataTables_wrapper .dataTables_filter .form-control,.dataTables_wrapper .dataTables_length .form-control{display:inline-block}.dataTables_wrapper .dataTables_info{top:17px}.dataTables_wrapper .dataTables_paginate{margin-top:-15px}}@media (max-width:480px){.dataTables_wrapper .dataTables_filter .form-control{width:175px!important}.dataTables_wrapper .dataTables_paginate{float:left;margin-top:20px}}.dataTables_processing{position:fixed;top:50%;left:50%;min-width:125px;margin-left:0;padding:7px;text-align:center;color:#333;font-size:13px;border:1px solid #ddd;background-color:#eee;vertical-align:middle;-webkit-box-shadow:0 1px 8px rgba(0,0,0,.1);-moz-box-shadow:0 1px 8px rgba(0,0,0,.1);box-shadow:0 1px 8px rgba(0,0,0,.1)}.dataTables_processing span{line-height:15px;vertical-align:middle}.dataTables_empty{text-align:center}.tabletools-btn-group{margin:0 0 10px}.tabletools-btn-group>.btn{margin-right:5px}.tabletools-btn-group>.btn:last-child{margin-right:0}.tabletools-dropdown-on-portlet{margin-top:-55px;float:right}.tabletools-dropdown-on-portlet>.btn{margin-right:5px}.tabletools-dropdown-on-portlet>.btn:last-child{margin-right:0}.DTTT_Print{background-color:#fff}.DTTT_Print .DTTT_PrintMessage{display:none}@media print{.DTTT_Print .DTTT_PrintMessage{display:inline-block}}.DTTT_Print .DTTT_Print_Info{display:block;position:fixed;top:35px;font-size:18px;width:700px;left:50%;margin-left:-350px;text-align:center}.DTTT_Print .page-footer,.DTTT_Print .page-header,.DTTT_Print .page-sidebar{display:none}.DTTT_Print .page-content-wrapper{float:none}.DTTT_Print .row,.DTTT_Print [class*=col-]{padding:0;margin:0}.DTTT_Print .page-content{margin:50px auto!important;border:0!important;width:800px!important;padding:0!important}.DTTT_Print .page-content .portlet{border:0;padding:0}.DTTT_Print .page-content .portlet .portlet-body{padding:0}.DTTT_Print .page-content .dataTables_wrapper{padding:0;margin:0;box-shadow:5px 5px rgba(102,102,102,.1)}@media print{.DTTT_Print .page-content .dataTables_wrapper{box-shadow:none}}.paging_bootstrap_extended{margin:0!important;padding:0!important;float:none!important;font-size:13px}.dataTables_extended_wrapper .seperator{padding:0 2px}.dataTables_extended_wrapper div.dataTables_info,.dataTables_extended_wrapper div.dataTables_length,.dataTables_extended_wrapper div.dataTables_paginate{display:inline-block;float:none!important;padding:0!important;margin:0!important;position:static!important}@media (max-width:480px){.dataTables_extended_wrapper div.dataTables_info,.dataTables_extended_wrapper div.dataTables_length,.dataTables_extended_wrapper div.dataTables_paginate{display:block;margin-bottom:10px!important}.dataTables_extended_wrapper .seperator{display:none!important}}.dataTables_extended_wrapper div.dataTables_length label{margin:0!important;padding:0!important;font-size:13px;float:none!important;display:inline-block!important}.table-container .table-actions-wrapper{display:none}.dataTables_scroll{margin-bottom:10px}.dataTables_scrollHead{border-bottom:2px solid #ddd!important}.dataTables_scrollHead thead th{border-bottom:0!important}.dataTables_scrollBody{border-bottom:1px solid #ddd!important}.dropzone{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.fancybox-overlay{z-index:100000}.fancybox-opened{z-index:100001}.spinner-buttons.btn-group-vertical .btn{text-align:center;margin:0;height:17px;width:22px;padding-left:6px;padding-right:6px;padding-top:0}.page-style-rounded .spinner-buttons.btn-group-vertical .btn.spinner-up{border-radius:0;border-top-right-radius:4px!important}.page-style-rounded .spinner-buttons.btn-group-vertical .btn.spinner-down{border-radius:0 0 4px}.external-event{display:inline-block;cursor:move;margin-bottom:5px;margin-left:5px}.fc-scroller{overflow-y:auto;overflow-x:hidden}.fc-month-view .fc-scroller{height:auto!important}.portlet .event-form-title{font-size:14px;margin-top:4px;font-weight:400;margin-bottom:10px}.portlet.calendar .fc-button{box-shadow:none;text-shadow:none;border:0 #ddd;height:35px;padding:6px 8px 7px;margin-left:2px;background:0 0;color:#fff;top:-45px;outline:0!important;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;-ms-border-radius:4px 4px 0 0;-o-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;border-style:none solid}.portlet.calendar .fc-toolbar{margin-bottom:0}.portlet.calendar .fc-toolbar h2{margin-top:3px;font-size:17px}.portlet.calendar .fc-button .fc-icon-left-single-arrow,.portlet.calendar .fc-button .fc-icon-right-single-arrow{font-family:FontAwesome;font-size:16px}.portlet.calendar .fc-header{margin-bottom:-21px}.portlet.calendar .fc-button-prev{padding-right:10px;padding-left:8px}.portlet.calendar .fc-button-next{padding-right:8px;padding-left:10px}.portlet.calendar .fc-button.fc-state-active,.portlet.calendar .fc-button.fc-state-hover{color:#666;background-color:#fff}.portlet.calendar .fc-button.fc-state-disabled{color:#ddd}.portlet.calendar .fc-button .fc-icon-left-single-arrow:after{content:""}.portlet.calendar .fc-button .fc-icon-left-single-arrow:before{content:"\f104"}.portlet.calendar .fc-button .fc-icon-right-single-arrow:after{content:""}.portlet.calendar .fc-button .fc-icon-right-single-arrow:before{content:"\f105"}.portlet.calendar .fc-text-arrow{font-size:22px;font-family:"Courier New",Courier,monospace;vertical-align:baseline}.portlet.calendar .fc-event .fc-time,.portlet.calendar .fc-event .fc-title{text-align:left;color:#fff;font-size:13px;font-weight:300;float:left}.portlet.calendar .fc-event{border:0;background-color:#69a4e0;color:#fff}.portlet.calendar .fc-event .fc-content{border:0}.portlet.calendar .fc-header-title h2{font-size:14px;line-height:20px;font-weight:400;color:#111}.portlet.calendar .fc-widget-header{background-image:none;filter:none;background-color:#eee;text-transform:uppercase;font-weight:300}.portlet.calendar.light .fc-button{top:-60px;color:#666;text-transform:uppercase;font-size:12px;padding-bottom:35px}.portlet.calendar.light .fc-button .fc-text-arrow{margin-top:-6px;display:inline-block}.portlet.calendar.light .fc-button.fc-state-active,.portlet.calendar.light .fc-button.fc-state-hover{color:#333;border-bottom:2px solid #45B6AF}.portlet.calendar.light .fc-button.fc-state-disabled{color:#aaa}.portlet.calendar .mobile .fc-button{padding:0 6px 20px;margin-left:2px;border:0;background-color:#ddd;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;color:#000;text-shadow:none;text-align:center}.portlet.calendar .mobile .fc-button.fc-state-active,.portlet.calendar .mobile .fc-button.fc-state-hover{background-color:#eee}.portlet.calendar .mobile .fc-button.fc-state-disabled{color:#bbb}.portlet.calendar .mobile .fc-button-prev{margin-right:5px;margin-top:-2px}.portlet.calendar .mobile .fc-button-next{margin-right:0;margin-top:-2px}.portlet.calendar .mobile .fc-header-space{margin:0;padding:0;width:0}.portlet.calendar .mobile .fc-header-left{position:absolute;z-index:10}.portlet.calendar .mobile .fc-header-left .fc-button{top:-2px}.portlet.calendar .mobile .fc-header-right{position:relative;right:0}.portlet.calendar .mobile .fc-header-right .fc-button{top:35px}.portlet.calendar .mobile .fc-content{margin-top:53px}.gmaps{height:300px;width:100%}.gmaps img{max-width:none}#gmap_static div{background-repeat:no-repeat;background-position:50% 50%;display:block;height:300px}#gmap_routes_instructions{margin-top:10px;margin-bottom:0}#gritter-notice-wrapper{right:1px!important}.gritter-close{left:auto!important;right:3px!important}.gritter-title{font-family:"Open Sans";font-size:18px;font-weight:300}.easy-pie-chart .number{font-size:14px!important;position:relative;text-align:center;height:75px;line-height:75px}.easy-pie-chart .number canvas{position:absolute;top:0;left:0}.bs-example,.sparkline-chart,.vmaps{position:relative}.blueimp-gallery .close{background-image:url(../../assets/images/portlet-remove-icon-white.png)!important;margin-top:-2px}.blueimp-gallery .next,.blueimp-gallery .prev{border-radius:23px!important}.ms-container .ms-list{border:1px solid #e5e5e5;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ms-container .ms-optgroup-label{font-size:14px}.jquery-notific8-message,.ms-container .ms-selectable li.ms-elem-selectable,.ms-container .ms-selection li.ms-elem-selection{font-size:13px}.ms-container .ms-list.ms-focus{border-color:#999;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ms-container .ms-selectable li.ms-hover,.ms-container .ms-selection li.ms-hover{color:#333;background-color:#eee}.ms-container .form-control{margin-bottom:5px}[class*=jquery-notific8],[class*=jquery-notific8]:after,[class*=jquery-notific8]:before{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.left .jquery-notific8-close-sticky span,.right .jquery-notific8-close-sticky span{font-size:10px}.jquery-notific8-heading{font-weight:300;font-size:16px}.password-strength .password-verdict{display:inline-block;margin-top:6px;margin-left:5px}.password-strength .progress{margin-top:5px;margin-bottom:0}.password-strength .progress-bar{padding:2px}.scroller{padding:0 12px 0 0;margin:0;overflow:hidden}.scroller-footer{margin-top:10px}.scroller-footer:after,.scroller-footer:before{content:" ";display:table}.portlet-body .slimScrollBar{margin-right:0}.jqstooltip{width:auto!important;height:auto!important}.easy-pie-chart,.sparkline-chart{text-align:center}.sparkline-chart{margin-top:15px}.easy-pie-chart .number{font-weight:300;width:85px;margin:0 auto}.sparkline-chart .number{width:100px;margin:0 auto 10px}.easy-pie-chart .title,.sparkline-chart .title{display:block;text-align:center;color:#333;font-weight:300;font-size:16px;margin-top:5px;margin-bottom:10px}.easy-pie-chart .title:hover,.sparkline-chart .title:hover{color:#666;text-decoration:none}.easy-pie-chart .title>i,.sparkline-chart .title>i{margin-top:5px}div.tagsinput{min-height:35px;height:auto!important;margin:0;padding:5px 5px 0;overflow:auto}div.tagsinput span.tag{background:#aaa;color:#fff;border:0;padding:3px 6px;margin-top:0;margin-bottom:5px}div.tagsinput input{padding:3px 6px;width:75px!important}div.tagsinput span.tag a{color:#fff}div.tagsinput .not_valid{color:#fff;padding:3px 6px;background-color:#e02222}.slider{border:0;padding:0;display:block;margin:12px 5px;min-height:11px}.vakata-context li a .vakata-contextmenu-sep,.vakata-context li a i,iframe[src="about:blank"]{display:none}.ui-slider-vertical{width:11px}.ui-slider-horizontal .ui-slider-handle{top:-3px}.ui-slider-vertical .ui-slider-handle{left:-3px}.bs-example+.highlight:after,.bs-example:after{left:15px;text-transform:uppercase;letter-spacing:1px}.ui-slider-handle,.ui-slider-vertical{filter:none!important;background-image:none!important}.jqvmap-zoomin,.jqvmap-zoomout{height:16px;width:16px;background-color:#666}.vmaps{overflow:hidden;height:300px}.jstree-default .jstree-clicked{border:0;background-color:#e1e1e1;box-shadow:none}.jstree-default .jstree-hovered{border:0;background-color:#eee;box-shadow:none}.jstree-default .jstree-wholerow-clicked,.jstree-wholerow .jstree-wholerow-clicked{background:#e1e1e1;border:0;box-shadow:none}.jstree-default .jstree-wholerow-hovered,.jstree-wholerow .jstree-wholerow-hovered{border:0;background-color:#eee;box-shadow:none}.jstree-icon.icon-lg{margin-top:1px}.jstree-open>.jstree-anchor>.fa-folder:before{margin-left:2px;content:"\f07c"}.jstree-default.jstree-rtl .jstree-last{background:no-repeat}.vakata-context,.vakata-context ul{padding:0;min-width:125px;background-color:#fff;font-size:14px;font-family:"Segoe UI",Helvetica,Arial,sans-serif;box-shadow:5px 5px rgba(102,102,102,.1);border:1px solid #efefef}.vakata-context li{border:0}.vakata-context li a{padding:0 10px;border:0}.vakata-context .vakata-context-hover>a,.vakata-context li a:hover{background-color:#eee;color:#333;box-shadow:none;margin:0}.vakata-context .vakata-context-hover>a .ins,.vakata-context .vakata-context-hover>a .span,.vakata-context li a:hover .ins,.vakata-context li a:hover .span{border:0!important}.vakata-context li a ins,.vakata-context li a span{display:none;border:0!important}.vakata-context .vakata-context-separator a,.vakata-context-rtl .vakata-context-separator a{margin:0;border:0}.jstree-rename-input{background-color:#fff!important;border:1px solid #e5e5e5!important;outline:0!important;padding:2px 6px!important;margin-right:-4px!important}.noUi-control{margin:9px 0}.noUi-primary .noUi-connect,.noUi-primary.noUi-connect{background:#428bca}.noUi-info .noUi-connect,.noUi-info.noUi-connect{background:#89C4F4}.noUi-success .noUi-connect,.noUi-success.noUi-connect{background:#45B6AF}.noUi-warning .noUi-connect,.noUi-warning.noUi-connect{background:#dfba49}.noUi-danger .noUi-connect,.noUi-danger.noUi-connect{background:#F3565D}.noUi-default .noUi-connect,.noUi-default.noUi-connect{background:#c6c6c6}.form-recaptcha-img{margin-bottom:10px;clear:both;border:1px solid #e5e5e5;padding:5px}.form-control .select2-choice{border:1px solid #e5e5e5;background-color:#fff;background-image:none;filter:none;height:34px;padding:3px 0 0 12px}.select2-container.select2-drop-above .select2-choice{border-bottom-color:#e5e5e5;background-color:#fff;background-image:none;filter:none}.select2-drop{border:1px solid #e5e5e5;background-color:#fff;background-image:none;-webkit-box-shadow:none;box-shadow:none;filter:none;border-top:0}.select2-drop-auto-width{border-top:1px solid #e5e5e5}.select2-drop.select2-drop-above{border-top:1px solid #e5e5e5;-webkit-box-shadow:none;box-shadow:none}.select2-drop-active{border:1px solid #999;border-top:0}.select2-container .select2-choice .select2-arrow{background-image:none;background-color:#fff;filter:none;border-left:1px solid #e5e5e5}.select2-container.select2-container-active .select2-arrow,.select2-container.select2-dropdown-open .select2-arrow{border-left:0!important}.select2-container .select2-choice .select2-arrow b{background-position:0 1px}.select2-search input{background-color:#fff!important;filter:none;margin:5px 0 0;border:1px solid #e5e5e5;webkit-appearance:none!important;color:#333;outline:0;height:auto!important;min-height:26px;padding:6px!important;line-height:20px;font-size:14px;font-weight:400;vertical-align:top;-webkit-box-shadow:none;box-shadow:none}.form-control.select2-container{border:0;height:auto!important;padding:0}.select2-container-active .select2-choice,.select2-container-active .select2-choices{border:1px solid #999!important;-webkit-box-shadow:none!important;box-shadow:none!important}.select2-dropdown-open .select2-choice{border-bottom:0!important;background-image:none;background-color:#fff;filter:none;-webkit-box-shadow:none!important;box-shadow:none!important}.select2-dropdown-open.select2-drop-above .select2-choice,.select2-dropdown-open.select2-drop-above .select2-choices{border:1px solid #999!important;border-top:0!important;background-image:none;background-color:#fff;filter:none;-webkit-box-shadow:none!important;box-shadow:none!important}.select2-drop.select2-drop-above.select2-drop-active{border:1px solid #999!important;border-bottom:0!important}.select2-dropdown-open .select2-choice .select2-arrow b{background-position:-18px 1px}.select2-results{margin:5px 0}.select2-results .select2-highlighted{background:#eee;color:#333}.select2-results li em{background:#feffde;font-style:normal}.select2-results .select2-highlighted em{background:0 0}.select2-results .select2-highlighted ul{background:#fff;color:#000}.select2-results .select2-no-results,.select2-results .select2-searching,.select2-results .select2-selection-limit{padding:3px 7px 4px;background:#f4f4f4;display:list-item}.select2-container-multi,.select2-container-multi .select2-choices{-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.select2-container-multi.select2-dropdown-open,.select2-container-multi.select2-dropdown-open .select2-choices{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;-ms-border-radius:4px 4px 0 0;-o-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.select2-container-multi.select2-dropdown-open.select2-drop-above,.select2-container-multi.select2-dropdown-open.select2-drop-above .select2-choices{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;-ms-border-radius:0 0 4px 4px;-o-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.select2-container-multi .select2-choices{padding-left:6px;min-height:34px;border:1px solid #e5e5e5;background-image:none;background-color:#fff;filter:none;-webkit-box-shadow:none!important;box-shadow:none!important}.select2-container-multi.select2-container-active .select2-choices{border:1px solid #999!important;background-image:none;background-color:#fff;filter:none;-webkit-box-shadow:none!important;box-shadow:none!important}.select2-container-multi .select2-choices .select2-search-choice{padding:3px 5px 3px 18px;margin:5px 0 3px 5px;border:1px solid #e5e5e5;background-image:none;background-color:#fff;filter:none;-webkit-box-shadow:none!important;box-shadow:none!important}.has-warning .select2-container .select2-choice,.has-warning .select2-container .select2-choices,.has-warning .select2-container.select2-dropdown-open .select2-choice,.has-warning .select2-container.select2-dropdown-open .select2-choices{border-color:#faebcc}.has-warning .select2-container.select2-dropdown-open .select2-choice>span{color:#faebcc}.has-error .select2-container .select2-choice,.has-error .select2-container .select2-choices,.has-error .select2-container.select2-dropdown-open .select2-choice,.has-error .select2-container.select2-dropdown-open .select2-choices{border-color:#ebccd1}.has-error .select2-container.select2-dropdown-open .select2-choice>span{color:#ebccd1}.has-success .select2-container .select2-choice,.has-success .select2-container .select2-choices,.has-success .select2-container.select2-dropdown-open .select2-choice,.has-success .select2-container.select2-dropdown-open .select2-choices{border-color:#d6e9c6}.has-success .select2-container.select2-dropdown-open .select2-choice>span{color:#d6e9c6}.modal-open .select2-drop-mask{z-index:10051}.modal-open .select2-drop{z-index:10052}.modal-open .select2-search{z-index:10053}.form-control.input-lg .select2-choice{height:46px;padding:10px 16px}.select2-container.input-lg .select2-choice .select2-arrow b{background-position:0 7px}.form-control.input-sm .select2-choice{height:30px;padding:1px 10px 5px}.select2-container.input-sm .select2-choice .select2-arrow b{background-position:0 0}.checker{margin-top:-2px!important;margin-right:2px!important}.checker input,.radio input{outline:0!important}.alert,.aside:focus,.btn[bs-select],.timepicker.dropdown-menu button,[tabindex="-1"]{outline:0}div.checker.disabled span,div.checker.disabled.active span{background-position:-152px -260px}div.checker.disabled:hover,div.radio.disabled:hover{cursor:not-allowed}div.checker,div.radio{margin-right:0;margin-left:3px}.portlet-body-morris-fit{margin-right:-20px;margin-left:-20px;margin-bottom:-15px}.portlet-body-morris-fit>svg{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;-ms-border-radius:0 0 4px 4px;-o-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.morris-hover.morris-default-style .morris-hover-row-label{text-align:left;font-weight:400;font-size:15px;color:#7D8C9D;font-family:"Open Sans",sans-serif}.morris-hover.morris-default-style .morris-hover-point{text-align:left;font-size:14px;font-weight:400;font-family:"Open Sans",sans-serif}.icheck-list>label{display:block;margin-bottom:8px}.icheck-list>label:last-child{margin-bottom:0}.form-horizontal .icheck-inline{margin-top:8px}.icheck-inline>label{display:inline-block;margin-left:15px}.icheck-inline>label:first-child{margin-left:0}div[class*=icheckbox_],div[class*=iradio_]{margin-right:5px;top:-1px!important}.icheck-colors{padding:0;margin:0;list-style:none}.icheck-colors>li{padding:0;margin:4px;float:left;display:inline-block;height:20px;width:20px;background:#000;opacity:.6;filter:alpha(opacity=60)}.icheck-colors>li:first-child{margin-left:0}.icheck-colors>li:hover{opacity:1;filter:alpha(opacity=100);cursor:pointer}.icheck-colors>li.active{height:26px;margin-top:0;opacity:.6;filter:alpha(opacity=60)}.icheck-colors>li.red{background:#d54e21}.icheck-colors>li.green{background:#78a300}.icheck-colors>li.blue{background:#0e76a8}.icheck-colors>li.aero{background:#9cc2cb}.icheck-colors>li.grey{background:#73716e}.icheck-colors>li.orange{background:#f70}.icheck-colors>li.yellow{background:#fc0}.icheck-colors>li.pink{background:#ff66b5}.icheck-colors>li.purple{background:#6a5a8c}.ui-select-match-close{margin-top:5px!important;margin-left:5px!important}.modal.disabled{-webkit-animation:noop!important;animation:noop!important}.modal.disabled.am-fade-and-slide-top .modal-dialog{-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-fill-mode:backwards;animation-fill-mode:backwards;-webkit-animation-name:fadeAndSlideFromTop;animation-name:fadeAndSlideFromTop}.modal.disabled.am-fade-and-scale .modal-dialog,.tab-pane.am-fade{-webkit-animation-duration:.3s;-webkit-animation-fill-mode:backwards}.modal.disabled.am-fade-and-slide-top.ng-enter .modal-dialog{visibility:hidden;-webkit-animation-name:fadeAndSlideFromTop;animation-name:fadeAndSlideFromTop}.modal.disabled.am-fade-and-slide-top.ng-enter-active .modal-dialog,.modal.disabled.am-fade-and-slide-top.ng-leave-active .modal-dialog{visibility:visible}.modal.disabled.am-fade-and-slide-top.ng-leave .modal-dialog{-webkit-animation-name:fadeAndSlideToTop;animation-name:fadeAndSlideToTop}.modal.disabled.am-fade-and-scale .modal-dialog{animation-duration:.3s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;animation-fill-mode:backwards;-webkit-animation-name:fadeAndScaleIn;animation-name:fadeAndScaleIn}.modal.disabled.am-fade-and-scale.ng-enter .modal-dialog{visibility:hidden;-webkit-animation-name:fadeAndScaleIn;animation-name:fadeAndScaleIn}.modal.disabled.am-fade-and-scale.ng-enter-active .modal-dialog,.modal.disabled.am-fade-and-scale.ng-leave-active .modal-dialog{visibility:visible}.modal.disabled.am-fade-and-scale.ng-leave .modal-dialog{-webkit-animation-name:fadeAndScaleOut;animation-name:fadeAndScaleOut}@-webkit-keyframes noop{from,to{opacity:1}}@keyframes noop{from,to{opacity:1}}.bs-example{padding:45px 15px 15px;margin:0 -15px 15px;background-color:#fafafa;box-shadow:inset 0 3px 6px rgba(0,0,0,.05);border-color:#e5e5e5 #eee #eee;border-style:solid;border-width:1px 0}.bs-example:after{content:"Example";position:absolute;top:15px;font-size:12px;font-weight:700;color:#bbb}.bs-example+.highlight{margin:-15px -15px 15px;border-radius:0;border-width:0 0 1px}@media (min-width:768px){.bs-example,.bs-example+.highlight{margin-left:0;margin-right:0;border-width:1px}.bs-example{background-color:#fff;border-color:#ddd;border-radius:4px 4px 0 0;box-shadow:none}.bs-example+.highlight{margin-top:-16px;border-bottom-left-radius:4px;border-bottom-right-radius:4px}}.bs-example .container{width:auto}.bs-example>.alert:last-child,.bs-example>.form-control:last-child,.bs-example>.jumbotron:last-child,.bs-example>.list-group:last-child,.bs-example>.navbar:last-child,.bs-example>.panel:last-child,.bs-example>.progress:last-child,.bs-example>.table-responsive:last-child>.table,.bs-example>.table:last-child,.bs-example>.well:last-child,.bs-example>blockquote:last-child,.bs-example>ol:last-child,.bs-example>p:last-child,.bs-example>ul:last-child{margin-bottom:0}.bs-example>p>.close{float:none}.bs-example .nav-tabs{margin-bottom:15px}.bs-footer{padding-top:40px;padding-bottom:30px;margin-top:100px;color:#787878;text-align:center;border-top:1px solid #e6e6e6}.bs-docs-nav .navbar-brand,.bs-masthead-links a{color:#fff}.bs-docs-nav,.bs-docs-nav .navbar-collapse{border-color:#a33f3e}.footer-links{margin:10px 0;padding-left:0}.footer-links li{display:inline;padding:0 2px}.footer-links li:first-child{padding-left:0}@media (min-width:768px){.bs-footer{text-align:left}.bs-footer p{margin-bottom:0}}.bs-masthead{position:relative;padding:30px 15px;text-align:center;text-shadow:0 1px 0 rgba(0,0,0,.15)}.bs-masthead h1{font-size:50px;line-height:1;color:#fff}.bs-masthead .btn-outline-inverse{margin:10px}.bs-masthead-links{margin-top:20px;margin-bottom:40px;padding:0 15px;list-style:none;text-align:center}.bs-masthead-links li{display:inline}.bs-masthead-links li+li{margin-left:20px}@media (min-width:768px){.bs-masthead{text-align:left;padding-top:140px;padding-bottom:140px}.bs-masthead h1{font-size:100px}.bs-masthead .lead{margin-right:25%;font-size:30px}.bs-masthead .btn-outline-inverse{width:auto;margin:20px 5px 20px 0;padding:18px 24px;font-size:21px}.bs-masthead-links{padding:0;text-align:left}}.bs-docs-nav{background-color:#b94846;box-shadow:0 1px 0 rgba(255,255,255,.1);text-shadow:0 -1px 0 rgba(0,0,0,.15)}.bs-docs-nav .navbar-nav>li>a{-webkit-transition:color .15s linear;transition:color .15s linear;color:#f9f1f1}.bs-docs-nav .navbar-nav>li>a:hover{color:#fff}.bs-docs-nav .navbar-nav>.active>a,.bs-docs-nav .navbar-nav>.active>a:hover{background-color:#a33f3e;color:#fff}.bs-docs-nav .navbar-toggle{border-color:#b94846}.bs-docs-nav .navbar-toggle:hover{border-color:#a33f3e;background-color:#a33f3e}.bs-old-docs{padding:15px 20px;color:#787878;background-color:#fafafa;border-top:1px solid #fff;border-bottom:1px solid #e6e6e6}.bs-old-docs strong{color:#545454}@media (max-width:991px){.navbar-toggle{margin-left:15px;display:block!important;float:left}.bs-sidebar.affix{position:static!important}}.bs-header .container,.select.dropdown-menu.select-multiple li{position:relative}.bs-sidenav{margin-top:40px;margin-bottom:20px;width:124px}.bs-sidebar .nav>li>a{display:block;font-size:13px;font-weight:500;color:#999;padding:4px 15px;text-align:right}.bs-sidebar .nav>li>a:focus,.bs-sidebar .nav>li>a:hover{padding-right:14px;color:#b94846;text-decoration:none;background-color:transparent;border-right:1px solid #b94846}.bs-sidebar .nav>.active:focus>a,.bs-sidebar .nav>.active:hover>a,.bs-sidebar .nav>.active>a{padding-right:13px;font-weight:700;color:#b94846;background-color:transparent;border-right:2px solid #b94846}.bs-sidebar .nav .nav{display:none;padding-bottom:10px}.bs-sidebar .nav .nav>li>a{padding-top:2px;padding-bottom:2px;padding-right:30px;font-size:12px;font-weight:400}.bs-sidebar .nav .nav>li>a:focus,.bs-sidebar .nav .nav>li>a:hover{padding-right:29px}.bs-sidebar .nav .nav>.active:focus>a,.bs-sidebar .nav .nav>.active:hover>a,.bs-sidebar .nav .nav>.active>a{font-weight:500;padding-right:28px}@media (min-width:992px){.bs-sidebar .nav>.active>ul{display:block}.bs-sidebar.affix .bs-sidenav,.bs-sidebar.affix-bottom .bs-sidenav{margin-top:0;margin-bottom:0}}h1[id],h2[id]{margin-top:-45px}@media (min-width:1200px){.bs-sidebar{margin-right:30px}}.am-fade.aside-backdrop,.am-fade.modal-backdrop{background-color:rgba(0,0,0,.5)}.bs-docs-aside{min-width:200px}h1[id]{padding-top:80px}h2[id]{padding-top:60px}.bs-header{padding:30px 15px 40px;font-size:16px;text-align:center;text-shadow:0 1px 0 rgba(0,0,0,.15)}.bs-header h1{color:#fff}.bs-header p{font-weight:300;line-height:1.5}@media (min-width:768px){.bs-header{font-size:21px;text-align:left}.bs-header h1{font-size:60px;line-height:1}}@media (min-width:992px){.bs-header h1,.bs-header p{margin-right:300px}}.highlight{display:none;padding:9px 14px;margin-bottom:14px;background-color:#f6f6f8;border:1px solid #e2e2e9;border-radius:4px}.highlight pre{padding:0;margin-top:0;margin-bottom:0;background-color:transparent;border:0;white-space:nowrap}.highlight pre code{font-size:inherit;color:#333}.highlight pre .lineno{display:inline-block;width:22px;padding-right:5px;margin-right:10px;text-align:right;color:#bebec5}@media (min-width:481px){.highlight{display:block}}input.ng-dirty.ng-invalid,select.ng-dirty.ng-invalid,textarea.ng-dirty.ng-invalid{color:#b94a48;border-color:#ee5f5b}input.ng-dirty.ng-invalid:focus,select.ng-dirty.ng-invalid:focus,textarea.ng-dirty.ng-invalid:focus{border-color:#e9322d;box-shadow:0 0 6px #f8b9b7}input:focus.ng-pristine.ng-invalid,select:focus.ng-pristine.ng-invalid,textarea:focus.ng-pristine.ng-invalid{color:#555;border:1px solid #ccc;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}input:focus.ng-pristine.ng-invalid:focus,select:focus.ng-pristine.ng-invalid:focus,textarea:focus.ng-pristine.ng-invalid:focus{border-color:rgba(82,168,236,.8);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6)}body .modal{overflow-y:hidden}body.modal-open{overflow-y:visible!important}.lt-ie9 .bs-sidebar{display:none!important}.modal-backdrop{z-index:1040;bottom:0}.select.dropdown-menu.select-multiple li>i{color:#fff;display:none;position:absolute;top:5px;right:10px}.bs-example+.highlight,body{position:relative}.alert.bottom-right,.alert.top,.alert.top-right{right:0}.select.dropdown-menu.select-multiple li.active>i{display:block}body{padding-top:50px}.bs-example-scope{font-size:85%}.bs-example-scope+.bs-example{margin:-15px -15px 15px}.bs-example-scope+.bs-example+.highlight>pre{border-radius:0 0 4px 4px}.aside.bs-docs-aside .aside-header{background:#b94846}.aside.bs-docs-aside .nav{margin:0}.bs-docs-social{max-height:200px}.bs-docs-social ul{list-style:none;padding:1em 0 0}.bs-docs-social ul li{height:30px}@media (max-width:991px){.bs-docs-social ul li{display:inline-block}}.bs-docs-home,.bs-header{color:#fff;background:url(../assets/images/triangular-red.png) #b94846;padding-bottom:20px}pre>code{background:0 0}.bs-example+.highlight code{padding:2.5em .5em 1em}.alert.bottom-right .close,.alert.top-right .close{padding-left:10px}.alert.bottom-left .close,.alert.top-left .close{padding-right:10px}.bs-example+.highlight:after{content:"Source";position:absolute;top:15px;font-size:12px;font-weight:700;color:#bbb}.edit-plunkr,.panel-heading[role=tab] .panel-title a,a[ng-click],input[type=checkbox]{cursor:pointer}.twitter-follow-button{position:relative;top:5px;margin-left:10px}.tab-pane.am-fade{animation-duration:.3s;-webkit-animation-timing-function:ease;animation-timing-function:ease;animation-fill-mode:backwards;opacity:1}.am-collapse,.panel-collapse.am-collapse{-webkit-animation-duration:.3s;-webkit-animation-fill-mode:backwards;overflow:hidden}.panel-collapse.am-collapse{animation-duration:.3s;-webkit-animation-timing-function:ease;animation-timing-function:ease;animation-fill-mode:backwards}.am-collapse,.am-flip-x{-webkit-animation-timing-function:ease}.panel-collapse.am-collapse2{-webkit-transition:.3s ease max-height;transition:.3s ease max-height;max-height:100px;overflow:hidden}.panel-collapse.am-collapse2.in-remove{max-height:100px;display:block}.panel-collapse.am-collapse2.in-add{max-height:0}@-webkit-keyframes expand{from{max-height:0}to{max-height:100px}}@keyframes expand{from{max-height:0}to{max-height:100px}}@-webkit-keyframes collapse{from{max-height:100px}to{max-height:0}}@keyframes collapse{from{max-height:100px}to{max-height:0}}.am-collapse{animation-duration:.3s;animation-timing-function:ease;animation-fill-mode:backwards;opacity:1}.am-fade,.am-flip-x{-webkit-animation-fill-mode:backwards}.am-collapse.am-collapse-add,.am-collapse.ng-hide-remove,.am-collapse.ng-move{-webkit-animation-name:expand;animation-name:expand}.am-collapse.am-collapse-remove,.am-collapse.ng-hide{-webkit-animation-name:collapse;animation-name:collapse}.am-collapse.ng-enter{visibility:hidden;-webkit-animation-name:expand;animation-name:expand;-webkit-animation-play-state:paused;animation-play-state:paused}.am-collapse.ng-enter.ng-enter-active{visibility:visible;-webkit-animation-play-state:running;animation-play-state:running}.am-collapse.ng-leave{-webkit-animation-name:collapse;animation-name:collapse;-webkit-animation-play-state:paused;animation-play-state:paused}.am-collapse.ng-leave.ng-leave-active{-webkit-animation-play-state:running;animation-play-state:running}@-webkit-keyframes expand{from{max-height:0}to{max-height:500px}}@keyframes expand{from{max-height:0}to{max-height:500px}}@-webkit-keyframes collapse{from{max-height:500px}to{max-height:0}}@keyframes collapse{from{max-height:500px}to{max-height:0}}.panel-collapse.am-collapse.in-remove{-webkit-animation-name:collapse;animation-name:collapse;display:block}.panel-collapse.am-collapse.in-add{-webkit-animation-name:expand;animation-name:expand}.am-fade{-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:linear;animation-timing-function:linear;animation-fill-mode:backwards;opacity:1}.am-fade.am-fade-add,.am-fade.ng-hide-remove,.am-fade.ng-move{-webkit-animation-name:fadeIn;animation-name:fadeIn}.am-fade.am-fade-remove,.am-fade.ng-hide{-webkit-animation-name:fadeOut;animation-name:fadeOut}.am-fade.ng-enter{visibility:hidden;-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-play-state:paused;animation-play-state:paused}.am-fade.ng-enter.ng-enter-active{visibility:visible;-webkit-animation-play-state:running;animation-play-state:running}.am-fade.ng-leave{-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-play-state:paused;animation-play-state:paused}.am-fade.ng-leave.ng-leave-active{-webkit-animation-play-state:running;animation-play-state:running}@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}.tab-pane.am-fade.active-remove{display:none!important}.tab-pane.am-fade.active-add{-webkit-animation-name:fadeIn;animation-name:fadeIn}.aside-backdrop.am-fade,.modal-backdrop.am-fade{background:rgba(0,0,0,.5);-webkit-animation-duration:.15s;animation-duration:.15s}.aside-backdrop.am-fade.ng-leave,.modal-backdrop.am-fade.ng-leave{-webkit-animation-delay:.3s;animation-delay:.3s}.am-flip-x{-webkit-animation-duration:.4s;animation-duration:.4s;animation-timing-function:ease;animation-fill-mode:backwards}.am-flip-x-linear,.am-slide-top{-webkit-animation-fill-mode:backwards}.am-flip-x.am-flip-x-add,.am-flip-x.ng-hide-remove,.am-flip-x.ng-move{-webkit-animation-name:flipInXBounce;animation-name:flipInXBounce}.am-flip-x.am-flip-x-remove,.am-flip-x.ng-hide{-webkit-animation-name:flipOutX;animation-name:flipOutX}.am-flip-x.ng-enter{visibility:hidden;-webkit-animation-name:flipInXBounce;animation-name:flipInXBounce;-webkit-animation-play-state:paused;animation-play-state:paused}.am-flip-x.ng-enter.ng-enter-active{visibility:visible;-webkit-animation-play-state:running;animation-play-state:running}.am-flip-x.ng-leave{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-animation-play-state:paused;animation-play-state:paused}.am-flip-x.ng-leave.ng-leave-active{-webkit-animation-play-state:running;animation-play-state:running}.am-flip-x-linear{-webkit-animation-duration:.4s;animation-duration:.4s;-webkit-animation-timing-function:ease;animation-timing-function:ease;animation-fill-mode:backwards}.am-slide-right,.am-slide-top{-webkit-animation-duration:.3s;-webkit-animation-timing-function:ease-in-out}.am-flip-x-linear.am-flip-x-add,.am-flip-x-linear.ng-hide-remove,.am-flip-x-linear.ng-move{-webkit-animation-name:flipInX;animation-name:flipInX}.am-flip-x-linear.am-flip-x-remove,.am-flip-x-linear.ng-hide{-webkit-animation-name:flipOutX;animation-name:flipOutX}.am-flip-x-linear.ng-enter{visibility:hidden;-webkit-animation-name:flipInX;animation-name:flipInX;-webkit-animation-play-state:paused;animation-play-state:paused}.am-flip-x-linear.ng-enter.ng-enter-active{visibility:visible;-webkit-animation-play-state:running;animation-play-state:running}.am-flip-x-linear.ng-leave{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-animation-play-state:paused;animation-play-state:paused}.am-flip-x-linear.ng-leave.ng-leave-active{-webkit-animation-play-state:running;animation-play-state:running}@-webkit-keyframes flipInX{from{opacity:0;-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg)}to{opacity:1;-webkit-transform:perspective(400px) rotateX(0);transform:perspective(400px) rotateX(0)}}@keyframes flipInX{from{opacity:0;-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg)}to{opacity:1;-webkit-transform:perspective(400px) rotateX(0);transform:perspective(400px) rotateX(0)}}@-webkit-keyframes flipInXBounce{from{opacity:0;-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg)}40%{-webkit-transform:perspective(400px) rotateX(-10deg);transform:perspective(400px) rotateX(-10deg)}70%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg)}to{opacity:1;-webkit-transform:perspective(400px) rotateX(0);transform:perspective(400px) rotateX(0)}}@keyframes flipInXBounce{from{opacity:0;-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg)}40%{-webkit-transform:perspective(400px) rotateX(-10deg);transform:perspective(400px) rotateX(-10deg)}70%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg)}to{opacity:1;-webkit-transform:perspective(400px) rotateX(0);transform:perspective(400px) rotateX(0)}}@-webkit-keyframes flipOutX{from{opacity:1;-webkit-transform:perspective(400px) rotateX(0);transform:perspective(400px) rotateX(0)}to{opacity:0;-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg)}}@keyframes flipOutX{from{opacity:1;-webkit-transform:perspective(400px) rotateX(0);transform:perspective(400px) rotateX(0)}to{opacity:0;-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg)}}.am-slide-top{animation-duration:.3s;animation-timing-function:ease-in-out;animation-fill-mode:backwards}.am-slide-bottom,.am-slide-right{-webkit-animation-fill-mode:backwards}.am-slide-top.am-slide-top-add,.am-slide-top.ng-hide-remove,.am-slide-top.ng-move{-webkit-animation-name:slideFromTop;animation-name:slideFromTop}.am-slide-top.am-slide-top-remove,.am-slide-top.ng-hide{-webkit-animation-name:slideToTop;animation-name:slideToTop}.am-slide-top.ng-enter{visibility:hidden;-webkit-animation-name:slideFromTop;animation-name:slideFromTop;-webkit-animation-play-state:paused;animation-play-state:paused}.am-slide-top.ng-enter.ng-enter-active{visibility:visible;-webkit-animation-play-state:running;animation-play-state:running}.am-slide-top.ng-leave{-webkit-animation-name:slideToTop;animation-name:slideToTop;-webkit-animation-play-state:paused;animation-play-state:paused}.am-slide-top.ng-leave.ng-leave-active{-webkit-animation-play-state:running;animation-play-state:running}.am-slide-right{animation-duration:.3s;animation-timing-function:ease-in-out;animation-fill-mode:backwards}.am-slide-bottom,.am-slide-left{-webkit-animation-duration:.3s;-webkit-animation-timing-function:ease-in-out}.am-slide-right.am-slide-right-add,.am-slide-right.ng-hide-remove,.am-slide-right.ng-move{-webkit-animation-name:slideFromRight;animation-name:slideFromRight}.am-slide-right.am-slide-right-remove,.am-slide-right.ng-hide{-webkit-animation-name:slideToRight;animation-name:slideToRight}.am-slide-right.ng-enter{visibility:hidden;-webkit-animation-name:slideFromRight;animation-name:slideFromRight;-webkit-animation-play-state:paused;animation-play-state:paused}.am-slide-right.ng-enter.ng-enter-active{visibility:visible;-webkit-animation-play-state:running;animation-play-state:running}.am-slide-right.ng-leave{-webkit-animation-name:slideToRight;animation-name:slideToRight;-webkit-animation-play-state:paused;animation-play-state:paused}.am-slide-right.ng-leave.ng-leave-active{-webkit-animation-play-state:running;animation-play-state:running}.am-slide-bottom{animation-duration:.3s;animation-timing-function:ease-in-out;animation-fill-mode:backwards}.am-fade-and-slide-top,.am-slide-left{-webkit-animation-fill-mode:backwards}.am-slide-bottom.am-slide-bottom-add,.am-slide-bottom.ng-hide-remove,.am-slide-bottom.ng-move{-webkit-animation-name:slideFromBottom;animation-name:slideFromBottom}.am-slide-bottom.am-slide-bottom-remove,.am-slide-bottom.ng-hide{-webkit-animation-name:slideToBottom;animation-name:slideToBottom}.am-slide-bottom.ng-enter{visibility:hidden;-webkit-animation-name:slideFromBottom;animation-name:slideFromBottom;-webkit-animation-play-state:paused;animation-play-state:paused}.am-slide-bottom.ng-enter.ng-enter-active{visibility:visible;-webkit-animation-play-state:running;animation-play-state:running}.am-slide-bottom.ng-leave{-webkit-animation-name:slideToBottom;animation-name:slideToBottom;-webkit-animation-play-state:paused;animation-play-state:paused}.am-slide-bottom.ng-leave.ng-leave-active{-webkit-animation-play-state:running;animation-play-state:running}.am-slide-left{animation-duration:.3s;animation-timing-function:ease-in-out;animation-fill-mode:backwards}.am-fade-and-slide-right,.am-fade-and-slide-top{-webkit-animation-duration:.3s;-webkit-animation-timing-function:ease-in-out}.am-slide-left.am-slide-left-add,.am-slide-left.ng-hide-remove,.am-slide-left.ng-move{-webkit-animation-name:slideFromLeft;animation-name:slideFromLeft}.am-slide-left.am-slide-left-remove,.am-slide-left.ng-hide{-webkit-animation-name:slideToLeft;animation-name:slideToLeft}.am-slide-left.ng-enter{visibility:hidden;-webkit-animation-name:slideFromLeft;animation-name:slideFromLeft;-webkit-animation-play-state:paused;animation-play-state:paused}.am-slide-left.ng-enter.ng-enter-active{visibility:visible;-webkit-animation-play-state:running;animation-play-state:running}.am-slide-left.ng-leave{-webkit-animation-name:slideToLeft;animation-name:slideToLeft;-webkit-animation-play-state:paused;animation-play-state:paused}.am-slide-left.ng-leave.ng-leave-active{-webkit-animation-play-state:running;animation-play-state:running}@-webkit-keyframes slideFromTop{from{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes slideFromTop{from{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@-webkit-keyframes slideToTop{to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes slideToTop{to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@-webkit-keyframes slideFromRight{from{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes slideFromRight{from{-webkit-transform:translateX(100%);transform:translateX(100%)}}@-webkit-keyframes slideToRight{to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes slideToRight{to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@-webkit-keyframes slideFromBottom{from{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes slideFromBottom{from{-webkit-transform:translateY(100%);transform:translateY(100%)}}@-webkit-keyframes slideToBottom{to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes slideToBottom{to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@-webkit-keyframes slideFromLeft{from{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes slideFromLeft{from{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@-webkit-keyframes slideToLeft{to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes slideToLeft{to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.am-fade-and-slide-top{animation-duration:.3s;animation-timing-function:ease-in-out;animation-fill-mode:backwards}.am-fade-and-slide-top.am-fade-and-slide-top-add,.am-fade-and-slide-top.ng-hide-remove,.am-fade-and-slide-top.ng-move{-webkit-animation-name:fadeAndSlideFromTop;animation-name:fadeAndSlideFromTop}.am-fade-and-slide-top.am-fade-and-slide-top-remove,.am-fade-and-slide-top.ng-hide{-webkit-animation-name:fadeAndSlideToTop;animation-name:fadeAndSlideToTop}.am-fade-and-slide-top.ng-enter{visibility:hidden;-webkit-animation-name:fadeAndSlideFromTop;animation-name:fadeAndSlideFromTop;-webkit-animation-play-state:paused;animation-play-state:paused}.am-fade-and-slide-top.ng-enter.ng-enter-active{visibility:visible;-webkit-animation-play-state:running;animation-play-state:running}.am-fade-and-slide-top.ng-leave{-webkit-animation-name:fadeAndSlideToTop;animation-name:fadeAndSlideToTop;-webkit-animation-play-state:paused;animation-play-state:paused}.am-fade-and-slide-top.ng-leave.ng-leave-active{-webkit-animation-play-state:running;animation-play-state:running}.am-fade-and-slide-right{animation-duration:.3s;animation-timing-function:ease-in-out;-webkit-animation-fill-mode:backwards;animation-fill-mode:backwards}.am-fade-and-slide-bottom,.am-fade-and-slide-left{-webkit-animation-duration:.3s;-webkit-animation-timing-function:ease-in-out}.am-fade-and-slide-right.am-fade-and-slide-right-add,.am-fade-and-slide-right.ng-hide-remove,.am-fade-and-slide-right.ng-move{-webkit-animation-name:fadeAndSlideFromRight;animation-name:fadeAndSlideFromRight}.am-fade-and-slide-right.am-fade-and-slide-right-remove,.am-fade-and-slide-right.ng-hide{-webkit-animation-name:fadeAndSlideToRight;animation-name:fadeAndSlideToRight}.am-fade-and-slide-right.ng-enter{visibility:hidden;-webkit-animation-name:fadeAndSlideFromRight;animation-name:fadeAndSlideFromRight;-webkit-animation-play-state:paused;animation-play-state:paused}.am-fade-and-slide-right.ng-enter.ng-enter-active{visibility:visible;-webkit-animation-play-state:running;animation-play-state:running}.am-fade-and-slide-right.ng-leave{-webkit-animation-name:fadeAndSlideToRight;animation-name:fadeAndSlideToRight;-webkit-animation-play-state:paused;animation-play-state:paused}.am-fade-and-slide-right.ng-leave.ng-leave-active{-webkit-animation-play-state:running;animation-play-state:running}.am-fade-and-slide-bottom{animation-duration:.3s;animation-timing-function:ease-in-out;-webkit-animation-fill-mode:backwards;animation-fill-mode:backwards}.am-fade-and-slide-bottom.am-fade-and-slide-bottom-add,.am-fade-and-slide-bottom.ng-hide-remove,.am-fade-and-slide-bottom.ng-move{-webkit-animation-name:fadeAndSlideFromBottom;animation-name:fadeAndSlideFromBottom}.am-fade-and-slide-bottom.am-fade-and-slide-bottom-remove,.am-fade-and-slide-bottom.ng-hide{-webkit-animation-name:fadeAndSlideToBottom;animation-name:fadeAndSlideToBottom}.am-fade-and-slide-bottom.ng-enter{visibility:hidden;-webkit-animation-name:fadeAndSlideFromBottom;animation-name:fadeAndSlideFromBottom;-webkit-animation-play-state:paused;animation-play-state:paused}.am-fade-and-slide-bottom.ng-enter.ng-enter-active{visibility:visible;-webkit-animation-play-state:running;animation-play-state:running}.am-fade-and-slide-bottom.ng-leave{-webkit-animation-name:fadeAndSlideToBottom;animation-name:fadeAndSlideToBottom;-webkit-animation-play-state:paused;animation-play-state:paused}.am-fade-and-slide-bottom.ng-leave.ng-leave-active{-webkit-animation-play-state:running;animation-play-state:running}.am-fade-and-slide-left{animation-duration:.3s;animation-timing-function:ease-in-out;-webkit-animation-fill-mode:backwards;animation-fill-mode:backwards}.am-fade-and-slide-left.am-fade-and-slide-left-add,.am-fade-and-slide-left.ng-hide-remove,.am-fade-and-slide-left.ng-move{-webkit-animation-fill-mode:backwards;animation-fill-mode:backwards;-webkit-animation-name:fadeAndSlideFromLeft;animation-name:fadeAndSlideFromLeft}.am-fade-and-slide-left.am-fade-and-slide-left-remove,.am-fade-and-slide-left.ng-hide{-webkit-animation-name:fadeAndSlideToLeft;animation-name:fadeAndSlideToLeft}.am-fade-and-slide-left.ng-enter{visibility:hidden;-webkit-animation-name:fadeAndSlideFromLeft;animation-name:fadeAndSlideFromLeft;-webkit-animation-play-state:paused;animation-play-state:paused}.am-fade-and-slide-left.ng-enter.ng-enter-active{visibility:visible;-webkit-animation-play-state:running;animation-play-state:running}.am-fade-and-slide-left.ng-leave{-webkit-animation-name:fadeAndSlideToLeft;animation-name:fadeAndSlideToLeft;-webkit-animation-play-state:paused;animation-play-state:paused}.am-fade-and-slide-left.ng-leave.ng-leave-active{-webkit-animation-play-state:running;animation-play-state:running}@-webkit-keyframes fadeAndSlideFromTop{from{opacity:0;-webkit-transform:translateY(-20%);transform:translateY(-20%)}to{opacity:1}}@keyframes fadeAndSlideFromTop{from{opacity:0;-webkit-transform:translateY(-20%);transform:translateY(-20%)}to{opacity:1}}@-webkit-keyframes fadeAndSlideToTop{from{opacity:1}to{opacity:0;-webkit-transform:translateY(-20%);transform:translateY(-20%)}}@keyframes fadeAndSlideToTop{from{opacity:1}to{opacity:0;-webkit-transform:translateY(-20%);transform:translateY(-20%)}}@-webkit-keyframes fadeAndSlideFromRight{from{opacity:0;-webkit-transform:translateX(20%);transform:translateX(20%)}to{opacity:1}}@keyframes fadeAndSlideFromRight{from{opacity:0;-webkit-transform:translateX(20%);transform:translateX(20%)}to{opacity:1}}@-webkit-keyframes fadeAndSlideToRight{from{opacity:1}to{opacity:0;-webkit-transform:translateX(20%);transform:translateX(20%)}}@keyframes fadeAndSlideToRight{from{opacity:1}to{opacity:0;-webkit-transform:translateX(20%);transform:translateX(20%)}}@-webkit-keyframes fadeAndSlideFromBottom{from{opacity:0;-webkit-transform:translateY(20%);transform:translateY(20%)}to{opacity:1}}@keyframes fadeAndSlideFromBottom{from{opacity:0;-webkit-transform:translateY(20%);transform:translateY(20%)}to{opacity:1}}@-webkit-keyframes fadeAndSlideToBottom{from{opacity:1}to{opacity:0;-webkit-transform:translateY(20%);transform:translateY(20%)}}@keyframes fadeAndSlideToBottom{from{opacity:1}to{opacity:0;-webkit-transform:translateY(20%);transform:translateY(20%)}}@-webkit-keyframes fadeAndSlideFromLeft{from{opacity:0;-webkit-transform:translateX(-20%);transform:translateX(-20%)}to{opacity:1}}@keyframes fadeAndSlideFromLeft{from{opacity:0;-webkit-transform:translateX(-20%);transform:translateX(-20%)}to{opacity:1}}@-webkit-keyframes fadeAndSlideToLeft{from{opacity:1}to{opacity:0;-webkit-transform:translateX(-20%);transform:translateX(-20%)}}@keyframes fadeAndSlideToLeft{from{opacity:1}to{opacity:0;-webkit-transform:translateX(-20%);transform:translateX(-20%)}}.am-fade-and-scale{-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-fill-mode:backwards;animation-fill-mode:backwards}.am-fade-and-scale.am-fade-and-scale-add,.am-fade-and-scale.ng-enter,.am-fade-and-scale.ng-hide-remove,.am-fade-and-scale.ng-move{-webkit-animation-name:fadeAndScaleIn;animation-name:fadeAndScaleIn}.am-fade-and-scale.am-fade-and-scale-remove,.am-fade-and-scale.ng-hide,.am-fade-and-scale.ng-leave{-webkit-animation-name:fadeAndScaleOut;animation-name:fadeAndScaleOut}.am-fade-and-scale.ng-enter{visibility:hidden;-webkit-animation-name:fadeAndScaleIn;animation-name:fadeAndScaleIn;-webkit-animation-play-state:paused;animation-play-state:paused}.am-fade-and-scale.ng-enter.ng-enter-active{visibility:visible;-webkit-animation-play-state:running;animation-play-state:running}.am-fade-and-scale.ng-leave{-webkit-animation-name:fadeAndScaleOut;animation-name:fadeAndScaleOut;-webkit-animation-play-state:paused;animation-play-state:paused}.am-fade-and-scale.ng-leave.ng-leave-active{-webkit-animation-play-state:running;animation-play-state:running}@-webkit-keyframes fadeAndScaleIn{from{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}to{opacity:1}}@keyframes fadeAndScaleIn{from{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}to{opacity:1}}@-webkit-keyframes fadeAndScaleOut{from{opacity:1}to{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}}@keyframes fadeAndScaleOut{from{opacity:1}to{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}}.alert.bottom,.alert.bottom-left,.alert.bottom-right,.alert.top,.alert.top-left,.alert.top-right{position:fixed;z-index:1050;margin:20px}.alert.top,.alert.top-left,.alert.top-right{top:50px}.alert.top{left:0}.alert.top-left{left:0}.alert.bottom,.alert.bottom-left,.alert.bottom-right{bottom:0}.alert.bottom{right:0;left:0}.alert.bottom-left{left:0}.aside .aside-dialog .aside-footer:after,.aside .aside-dialog .aside-footer:before,.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{content:" ";display:table}.aside{position:fixed;top:0;bottom:0;z-index:1049;overflow:auto;min-width:320px;background:#fff}@media (max-width:991px){.aside{min-width:240px}}.aside.left{right:auto;left:0}.aside.right{right:0;left:auto}.aside .aside-dialog .aside-header{border-bottom:1px solid #e5e5e5;min-height:16.43px;padding:6px 15px;background:#337ab7;color:#fff}.aside .aside-dialog .aside-header .close{margin-right:-8px;padding:4px 8px;color:#fff;font-size:25px;opacity:.8}.aside .aside-dialog .aside-body{position:relative;padding:15px}.aside .aside-dialog .aside-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.aside .aside-dialog .aside-footer .btn+.btn{margin-left:5px;margin-bottom:0}.aside .aside-dialog .aside-footer .btn-group .btn+.btn{margin-left:-1px}.aside .aside-dialog .aside-footer .btn-block+.btn-block{margin-left:0}.aside-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.aside-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.aside-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.datepicker.dropdown-menu{width:250px;height:270px}.datepicker.dropdown-menu button{outline:0;border:0}.datepicker.dropdown-menu tbody{height:180px}.datepicker.dropdown-menu tbody button{padding:6px}.datepicker.dropdown-menu.datepicker-mode-1 tbody button,.datepicker.dropdown-menu.datepicker-mode-2 tbody button{height:65px}.callout{margin:20px 0;padding:20px;border-left:3px solid #eee}.callout h4{margin-top:0;margin-bottom:5px}.popover.top-left,.popover.top-right{margin-top:-10px}.callout p:last-child{margin-bottom:0}.callout-danger{border-color:#eed3d7;background-color:#fdf7f7}.callout-danger h4{color:#b94a48}.callout-warning{border-color:#faebcc;background-color:#faf8f0}.callout-warning h4{color:#8a6d3b}.callout-info{border-color:#bce8f1;background-color:#f4f8fa}.callout-info h4{color:#34789a}.modal.center .modal-dialog{position:fixed;top:40%;left:50%;min-width:320px;max-width:630px;width:50%;-webkit-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.popover.top-left .arrow{margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px;left:10%}.popover.top-left .arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.bottom-left,.popover.bottom-right{margin-top:10px}.popover.top-right .arrow{margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px;left:90%}.popover.top-right .arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.bottom-left .arrow{margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px;left:10%}.popover.bottom-left .arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.bottom-right .arrow{margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px;left:90%}.popover.bottom-right .arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.timepicker.dropdown-menu{padding:0 4px}.timepicker.dropdown-menu button{border:0}.timepicker.dropdown-menu tbody button{padding:6px}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-group-xs>.btn{font-size:12px;line-height:1.5;border-radius:3px}.btn-group-sm>.btn{padding:5px 10px}.btn-group-xs>.btn{padding:1px 5px}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{content:" ";display:table}.tooltip.tooltip-info.top .tooltip-arrow,.tooltip.tooltip-info.top-left .tooltip-arrow,.tooltip.tooltip-info.top-right .tooltip-arrow{border-top-color:#d9edf7}.tooltip.tooltip-info.right .tooltip-arrow{border-right-color:#d9edf7}.tooltip.tooltip-info.bottom .tooltip-arrow,.tooltip.tooltip-info.bottom-left .tooltip-arrow,.tooltip.tooltip-info.bottom-right .tooltip-arrow{border-bottom-color:#d9edf7}.tooltip.tooltip-info.left .tooltip-arrow{border-left-color:#d9edf7}.tooltip.tooltip-info .tooltip-inner{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.tooltip.tooltip-info .tooltip-inner hr{border-top-color:#a6e1ec}.tooltip.tooltip-info .tooltip-inner .alert-link{color:#245269}.tooltip.tooltip-success.top .tooltip-arrow,.tooltip.tooltip-success.top-left .tooltip-arrow,.tooltip.tooltip-success.top-right .tooltip-arrow{border-top-color:#dff0d8}.tooltip.tooltip-success.right .tooltip-arrow{border-right-color:#dff0d8}.tooltip.tooltip-success.bottom .tooltip-arrow,.tooltip.tooltip-success.bottom-left .tooltip-arrow,.tooltip.tooltip-success.bottom-right .tooltip-arrow{border-bottom-color:#dff0d8}.tooltip.tooltip-success.left .tooltip-arrow{border-left-color:#dff0d8}.tooltip.tooltip-success .tooltip-inner{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.tooltip.tooltip-success .tooltip-inner hr{border-top-color:#c9e2b3}.tooltip.tooltip-success .tooltip-inner .alert-link{color:#2b542c}.tooltip.tooltip-danger.top .tooltip-arrow,.tooltip.tooltip-danger.top-left .tooltip-arrow,.tooltip.tooltip-danger.top-right .tooltip-arrow{border-top-color:#f2dede}.tooltip.tooltip-danger.right .tooltip-arrow{border-right-color:#f2dede}.tooltip.tooltip-danger.bottom .tooltip-arrow,.tooltip.tooltip-danger.bottom-left .tooltip-arrow,.tooltip.tooltip-danger.bottom-right .tooltip-arrow{border-bottom-color:#f2dede}.tooltip.tooltip-danger.left .tooltip-arrow{border-left-color:#f2dede}.tooltip.tooltip-danger .tooltip-inner{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.tooltip.tooltip-danger .tooltip-inner hr{border-top-color:#e4b9c0}.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;border-width:5px 5px 0;border-top-color:#000;margin-left:-5px}.tooltip.tooltip-danger .tooltip-inner .alert-link{color:#843534}.tooltip.top-left{margin-top:-3px;padding:5px 0}.tooltip.top-left .tooltip-arrow{left:10%}.tooltip.top-right{margin-top:-3px;padding:5px 0}.tooltip.bottom-left,.tooltip.bottom-right{margin-top:3px;padding:5px 0}.tooltip.top-right .tooltip-arrow{left:90%}.tooltip.bottom-left .tooltip-arrow{top:0;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000;left:10%}.tooltip.bottom-right .tooltip-arrow{top:0;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000;left:90%}
\ No newline at end of file
index 654c465..29171d5 100644 (file)
@@ -67,6 +67,9 @@ Change Quick Sidebar Width
   margin-left: -370px;
 }
 */
+.demo {
+  background-image:url('../../images/demo.png');
+}
 
 .float-right{
   float: right;
@@ -396,3 +399,11 @@ width: auto !important;
   position: absolute;
   right: 10px;
 }
+
+.extract-grid{
+  min-height: 600px;
+}
+
+body > [uib-modal-window]:not([modal-render]) {
+    display: none;
+}
diff --git a/public/assets/css/jstree-metronic/32px.png b/public/assets/css/jstree-metronic/32px.png
new file mode 100644 (file)
index 0000000..41f28ef
Binary files /dev/null and b/public/assets/css/jstree-metronic/32px.png differ
diff --git a/public/assets/css/jstree-metronic/32px_line.png b/public/assets/css/jstree-metronic/32px_line.png
new file mode 100644 (file)
index 0000000..4bc79e6
Binary files /dev/null and b/public/assets/css/jstree-metronic/32px_line.png differ
diff --git a/public/assets/css/jstree-metronic/32px_original.png b/public/assets/css/jstree-metronic/32px_original.png
new file mode 100644 (file)
index 0000000..1532715
Binary files /dev/null and b/public/assets/css/jstree-metronic/32px_original.png differ
diff --git a/public/assets/css/jstree-metronic/40px.png b/public/assets/css/jstree-metronic/40px.png
new file mode 100644 (file)
index 0000000..56110bf
Binary files /dev/null and b/public/assets/css/jstree-metronic/40px.png differ
diff --git a/public/assets/css/jstree-metronic/style.css b/public/assets/css/jstree-metronic/style.css
new file mode 100644 (file)
index 0000000..018b57c
--- /dev/null
@@ -0,0 +1,952 @@
+/* jsTree default theme */
+.jstree-node,
+.jstree-children,
+.jstree-container-ul {
+  display: block;
+  margin: 0;
+  padding: 0;
+  list-style-type: none;
+  list-style-image: none;
+}
+.jstree-node {
+  white-space: nowrap;
+}
+.jstree-anchor {
+  display: inline-block;
+  color: black;
+  white-space: nowrap;
+  padding: 0 4px 0 1px;
+  margin: 0;
+  vertical-align: top;
+}
+.jstree-anchor:focus {
+  outline: 0;
+}
+.jstree-anchor,
+.jstree-anchor:link,
+.jstree-anchor:visited,
+.jstree-anchor:hover,
+.jstree-anchor:active {
+  text-decoration: none;
+  color: inherit;
+}
+.jstree-icon {
+  display: inline-block;
+  text-decoration: none;
+  margin: 0;
+  padding: 0;
+  vertical-align: top;
+  text-align: center;
+}
+.jstree-icon:empty {
+  display: inline-block;
+  text-decoration: none;
+  margin: 0;
+  padding: 0;
+  vertical-align: top;
+  text-align: center;
+}
+.jstree-ocl {
+  cursor: pointer;
+}
+.jstree-leaf > .jstree-ocl {
+  cursor: default;
+}
+.jstree .jstree-open > .jstree-children {
+  display: block;
+}
+.jstree .jstree-closed > .jstree-children,
+.jstree .jstree-leaf > .jstree-children {
+  display: none;
+}
+.jstree-anchor > .jstree-themeicon {
+  margin-right: 2px;
+}
+.jstree-no-icons .jstree-themeicon,
+.jstree-anchor > .jstree-themeicon-hidden {
+  display: none;
+}
+.jstree-rtl .jstree-anchor {
+  padding: 0 1px 0 4px;
+}
+.jstree-rtl .jstree-anchor > .jstree-themeicon {
+  margin-left: 2px;
+  margin-right: 0;
+}
+.jstree-rtl .jstree-node {
+  margin-left: 0;
+}
+.jstree-rtl .jstree-container-ul > .jstree-node {
+  margin-right: 0;
+}
+.jstree-wholerow-ul {
+  position: relative;
+  display: inline-block;
+  min-width: 100%;
+}
+.jstree-wholerow-ul .jstree-leaf > .jstree-ocl {
+  cursor: pointer;
+}
+.jstree-wholerow-ul .jstree-anchor,
+.jstree-wholerow-ul .jstree-icon {
+  position: relative;
+}
+.jstree-wholerow-ul .jstree-wholerow {
+  width: 100%;
+  cursor: pointer;
+  position: absolute;
+  left: 0;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+.vakata-context {
+  display: none;
+}
+.vakata-context,
+.vakata-context ul {
+  margin: 0;
+  padding: 2px;
+  position: absolute;
+  background: #f5f5f5;
+  border: 1px solid #979797;
+  -moz-box-shadow: 5px 5px 4px -4px #666666;
+  -webkit-box-shadow: 2px 2px 2px #999999;
+  box-shadow: 2px 2px 2px #999999;
+}
+.vakata-context ul {
+  list-style: none;
+  left: 100%;
+  margin-top: -2.7em;
+  margin-left: -4px;
+}
+.vakata-context .vakata-context-right ul {
+  left: auto;
+  right: 100%;
+  margin-left: auto;
+  margin-right: -4px;
+}
+.vakata-context li {
+  list-style: none;
+  display: inline;
+}
+.vakata-context li > a {
+  display: block;
+  padding: 0 2em 0 2em;
+  text-decoration: none;
+  width: auto;
+  color: black;
+  white-space: nowrap;
+  line-height: 2.4em;
+  -moz-text-shadow: 1px 1px 0 white;
+  -webkit-text-shadow: 1px 1px 0 white;
+  text-shadow: 1px 1px 0 white;
+  -moz-border-radius: 1px;
+  -webkit-border-radius: 1px;
+  border-radius: 1px;
+}
+.vakata-context li > a:hover {
+  position: relative;
+  background-color: #e8eff7;
+  -moz-box-shadow: 0 0 2px #0a6aa1;
+  -webkit-box-shadow: 0 0 2px #0a6aa1;
+  box-shadow: 0 0 2px #0a6aa1;
+}
+.vakata-context li > a.vakata-context-parent {
+  background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==");
+  background-position: right center;
+  background-repeat: no-repeat;
+}
+.vakata-context li > a:focus {
+  outline: 0;
+}
+.vakata-context .vakata-context-hover > a {
+  position: relative;
+  background-color: #e8eff7;
+  -moz-box-shadow: 0 0 2px #0a6aa1;
+  -webkit-box-shadow: 0 0 2px #0a6aa1;
+  box-shadow: 0 0 2px #0a6aa1;
+}
+.vakata-context .vakata-context-separator a,
+.vakata-context .vakata-context-separator a:hover {
+  background: white;
+  border: 0;
+  border-top: 1px solid #e2e3e3;
+  height: 1px;
+  min-height: 1px;
+  max-height: 1px;
+  padding: 0;
+  margin: 0 0 0 2.4em;
+  border-left: 1px solid #e0e0e0;
+  -moz-text-shadow: 0 0 0 transparent;
+  -webkit-text-shadow: 0 0 0 transparent;
+  text-shadow: 0 0 0 transparent;
+  -moz-box-shadow: 0 0 0 transparent;
+  -webkit-box-shadow: 0 0 0 transparent;
+  box-shadow: 0 0 0 transparent;
+  -moz-border-radius: 0;
+  -webkit-border-radius: 0;
+  border-radius: 0;
+}
+.vakata-context .vakata-contextmenu-disabled a,
+.vakata-context .vakata-contextmenu-disabled a:hover {
+  color: silver;
+  background-color: transparent;
+  border: 0;
+  box-shadow: 0 0 0;
+}
+.vakata-context li > a > i {
+  text-decoration: none;
+  display: inline-block;
+  width: 2.4em;
+  height: 2.4em;
+  background: transparent;
+  margin: 0 0 0 -2em;
+  vertical-align: top;
+  text-align: center;
+  line-height: 2.4em;
+}
+.vakata-context li > a > i:empty {
+  width: 2.4em;
+  line-height: 2.4em;
+}
+.vakata-context li > a .vakata-contextmenu-sep {
+  display: inline-block;
+  width: 1px;
+  height: 2.4em;
+  background: white;
+  margin: 0 0.5em 0 0;
+  border-left: 1px solid #e2e3e3;
+}
+.vakata-context .vakata-contextmenu-shortcut {
+  font-size: 0.8em;
+  color: silver;
+  opacity: 0.5;
+  display: none;
+}
+.vakata-context-rtl ul {
+  left: auto;
+  right: 100%;
+  margin-left: auto;
+  margin-right: -4px;
+}
+.vakata-context-rtl li > a.vakata-context-parent {
+  background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7");
+  background-position: left center;
+  background-repeat: no-repeat;
+}
+.vakata-context-rtl .vakata-context-separator > a {
+  margin: 0 2.4em 0 0;
+  border-left: 0;
+  border-right: 1px solid #e2e3e3;
+}
+.vakata-context-rtl .vakata-context-left ul {
+  right: auto;
+  left: 100%;
+  margin-left: -4px;
+  margin-right: auto;
+}
+.vakata-context-rtl li > a > i {
+  margin: 0 -2em 0 0;
+}
+.vakata-context-rtl li > a .vakata-contextmenu-sep {
+  margin: 0 0 0 0.5em;
+  border-left-color: white;
+  background: #e2e3e3;
+}
+#jstree-marker {
+  position: absolute;
+  top: 0;
+  left: 0;
+  margin: 0;
+  padding: 0;
+  border-right: 0;
+  border-top: 5px solid transparent;
+  border-bottom: 5px solid transparent;
+  border-left: 5px solid;
+  width: 0;
+  height: 0;
+  font-size: 0;
+  line-height: 0;
+}
+#jstree-dnd {
+  line-height: 16px;
+  margin: 0;
+  padding: 4px;
+}
+#jstree-dnd .jstree-icon,
+#jstree-dnd .jstree-copy {
+  display: inline-block;
+  text-decoration: none;
+  margin: 0 2px 0 0;
+  padding: 0;
+  width: 16px;
+  height: 16px;
+}
+#jstree-dnd .jstree-ok {
+  background: green;
+}
+#jstree-dnd .jstree-er {
+  background: red;
+}
+#jstree-dnd .jstree-copy {
+  margin: 0 2px 0 2px;
+}
+.jstree-default .jstree-node,
+.jstree-default .jstree-icon {
+  background-repeat: no-repeat;
+  background-color: transparent;
+}
+.jstree-default .jstree-anchor,
+.jstree-default .jstree-wholerow {
+  transition: background-color 0.15s, box-shadow 0.15s;
+}
+.jstree-default .jstree-hovered {
+  background: #eee;
+  border-radius: 2px;
+  box-shadow: inset 0 0 1px #ccc;
+}
+.jstree-default .jstree-clicked {
+  background: #e1e1e1;
+  border-radius: 2px;
+  box-shadow: inset 0 0 1px #999;
+}
+.jstree-default .jstree-no-icons .jstree-anchor > .jstree-themeicon {
+  display: none;
+}
+.jstree-default .jstree-disabled {
+  background: transparent;
+  color: #666;
+}
+.jstree-default .jstree-disabled.jstree-hovered {
+  background: transparent;
+  box-shadow: none;
+}
+.jstree-default .jstree-disabled.jstree-clicked {
+  background: #efefef;
+}
+.jstree-default .jstree-disabled > .jstree-icon {
+  opacity: 0.8;
+  filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");
+  /* Firefox 10+ */
+  filter: gray;
+  /* IE6-9 */
+  -webkit-filter: grayscale(100%);
+  /* Chrome 19+ & Safari 6+ */
+}
+.jstree-default .jstree-search {
+  font-style: italic;
+  color: #8b0000;
+  font-weight: bold;
+}
+.jstree-default .jstree-no-checkboxes .jstree-checkbox {
+  display: none !important;
+}
+.jstree-default.jstree-checkbox-no-clicked .jstree-clicked {
+  background: transparent;
+  box-shadow: none;
+}
+.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered {
+  background: #e7f4f9;
+}
+.jstree-default.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked {
+  background: transparent;
+}
+.jstree-default.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered {
+  background: #e7f4f9;
+}
+#jstree-dnd.jstree-default .jstree-ok,
+#jstree-dnd.jstree-default .jstree-er {
+  background-image: url("32px.png");
+  background-repeat: no-repeat;
+  background-color: transparent;
+}
+#jstree-dnd.jstree-default i {
+  background: transparent;
+  width: 16px;
+  height: 16px;
+}
+#jstree-dnd.jstree-default .jstree-ok {
+  background-position: -9px -71px;
+}
+#jstree-dnd.jstree-default .jstree-er {
+  background-position: -39px -71px;
+}
+.jstree-default > .jstree-striped {
+  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") left top repeat;
+}
+.jstree-default > .jstree-wholerow-ul .jstree-hovered,
+.jstree-default > .jstree-wholerow-ul .jstree-clicked {
+  background: transparent;
+  box-shadow: none;
+  border-radius: 0;
+}
+.jstree-default .jstree-wholerow {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
+}
+.jstree-default .jstree-wholerow-hovered {
+  background: #e7f4f9;
+}
+.jstree-default .jstree-wholerow-clicked {
+  background: #beebff;
+  background: -moz-linear-gradient(top, #beebff 0%, #a8e4ff 100%);
+  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #beebff), color-stop(100%, #a8e4ff));
+  background: -webkit-linear-gradient(top, #beebff 0%, #a8e4ff 100%);
+  background: -o-linear-gradient(top, #beebff 0%, #a8e4ff 100%);
+  background: -ms-linear-gradient(top, #beebff 0%, #a8e4ff 100%);
+  background: linear-gradient(to bottom, #beebff 0%, #a8e4ff 100%);
+  /*filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='@color1', endColorstr='@color2',GradientType=0 );*/
+}
+.jstree-default .jstree-node {
+  min-height: 24px;
+  line-height: 24px;
+  margin-left: 24px;
+  min-width: 24px;
+}
+.jstree-default .jstree-anchor {
+  line-height: 24px;
+  height: 24px;
+}
+.jstree-default .jstree-icon {
+  width: 24px;
+  height: 24px;
+  line-height: 24px;
+}
+.jstree-default .jstree-icon:empty {
+  width: 24px;
+  height: 24px;
+  line-height: 24px;
+}
+.jstree-default.jstree-rtl .jstree-node {
+  margin-right: 24px;
+}
+.jstree-default .jstree-wholerow {
+  height: 24px;
+}
+.jstree-default .jstree-node,
+.jstree-default .jstree-icon {
+  background-image: url("32px.png");
+}
+.jstree-default .jstree-node {
+  background-position: -292px -4px;
+  background-repeat: repeat-y;
+}
+.jstree-default .jstree-last {
+  background: transparent;
+}
+.jstree-default .jstree-open > .jstree-ocl {
+  background-position: -132px -4px;
+}
+.jstree-default .jstree-closed > .jstree-ocl {
+  background-position: -100px -4px;
+}
+.jstree-default .jstree-leaf > .jstree-ocl {
+  background-position: -68px -4px;
+}
+.jstree-default .jstree-themeicon {
+  background-position: -260px -4px;
+}
+.jstree-default > .jstree-no-dots .jstree-node,
+.jstree-default > .jstree-no-dots .jstree-leaf > .jstree-ocl {
+  background: transparent;
+}
+.jstree-default > .jstree-no-dots .jstree-open > .jstree-ocl {
+  background-position: -36px -4px;
+}
+.jstree-default > .jstree-no-dots .jstree-closed > .jstree-ocl {
+  background-position: -4px -4px;
+}
+.jstree-default .jstree-disabled {
+  background: transparent;
+}
+.jstree-default .jstree-disabled.jstree-hovered {
+  background: transparent;
+}
+.jstree-default .jstree-disabled.jstree-clicked {
+  background: #efefef;
+}
+.jstree-default .jstree-checkbox {
+  background-position: -164px -4px;
+}
+.jstree-default .jstree-checkbox:hover {
+  background-position: -164px -36px;
+}
+.jstree-default .jstree-clicked > .jstree-checkbox {
+  background-position: -228px -4px;
+}
+.jstree-default .jstree-clicked > .jstree-checkbox:hover {
+  background-position: -228px -36px;
+}
+.jstree-default .jstree-anchor > .jstree-undetermined {
+  background-position: -196px -4px;
+}
+.jstree-default .jstree-anchor > .jstree-undetermined:hover {
+  background-position: -196px -36px;
+}
+.jstree-default > .jstree-striped {
+  background-size: auto 48px;
+}
+.jstree-default.jstree-rtl .jstree-node {
+  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");
+  background-position: 100% 1px;
+  background-repeat: repeat-y;
+}
+.jstree-default.jstree-rtl .jstree-last {
+  background: transparent;
+}
+.jstree-default.jstree-rtl .jstree-open > .jstree-ocl {
+  background-position: -132px -36px;
+}
+.jstree-default.jstree-rtl .jstree-closed > .jstree-ocl {
+  background-position: -100px -36px;
+}
+.jstree-default.jstree-rtl .jstree-leaf > .jstree-ocl {
+  background-position: -68px -36px;
+}
+.jstree-default.jstree-rtl > .jstree-no-dots .jstree-node,
+.jstree-default.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl {
+  background: transparent;
+}
+.jstree-default.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl {
+  background-position: -36px -36px;
+}
+.jstree-default.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl {
+  background-position: -4px -36px;
+}
+.jstree-default .jstree-themeicon-custom {
+  background-color: transparent;
+  background-image: none;
+  background-position: 0 0;
+}
+.jstree-default > .jstree-container-ul .jstree-loading > .jstree-ocl {
+  background: url("throbber.gif") center center no-repeat;
+}
+.jstree-default .jstree-file {
+  background: url("32px.png") -100px -68px no-repeat;
+}
+.jstree-default .jstree-folder {
+  background: url("32px.png") -260px -4px no-repeat;
+}
+.jstree-default.jstree-rtl .jstree-node {
+  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");
+}
+.jstree-default.jstree-rtl .jstree-last {
+  background: transparent;
+}
+.jstree-default-small .jstree-node {
+  min-height: 18px;
+  line-height: 18px;
+  margin-left: 18px;
+  min-width: 18px;
+}
+.jstree-default-small .jstree-anchor {
+  line-height: 18px;
+  height: 18px;
+}
+.jstree-default-small .jstree-icon {
+  width: 18px;
+  height: 18px;
+  line-height: 18px;
+}
+.jstree-default-small .jstree-icon:empty {
+  width: 18px;
+  height: 18px;
+  line-height: 18px;
+}
+.jstree-default-small.jstree-rtl .jstree-node {
+  margin-right: 18px;
+}
+.jstree-default-small .jstree-wholerow {
+  height: 18px;
+}
+.jstree-default-small .jstree-node,
+.jstree-default-small .jstree-icon {
+  background-image: url("32px.png");
+}
+.jstree-default-small .jstree-node {
+  background-position: -295px -7px;
+  background-repeat: repeat-y;
+}
+.jstree-default-small .jstree-last {
+  background: transparent;
+}
+.jstree-default-small .jstree-open > .jstree-ocl {
+  background-position: -135px -7px;
+}
+.jstree-default-small .jstree-closed > .jstree-ocl {
+  background-position: -103px -7px;
+}
+.jstree-default-small .jstree-leaf > .jstree-ocl {
+  background-position: -71px -7px;
+}
+.jstree-default-small .jstree-themeicon {
+  background-position: -263px -7px;
+}
+.jstree-default-small > .jstree-no-dots .jstree-node,
+.jstree-default-small > .jstree-no-dots .jstree-leaf > .jstree-ocl {
+  background: transparent;
+}
+.jstree-default-small > .jstree-no-dots .jstree-open > .jstree-ocl {
+  background-position: -39px -7px;
+}
+.jstree-default-small > .jstree-no-dots .jstree-closed > .jstree-ocl {
+  background-position: -7px -7px;
+}
+.jstree-default-small .jstree-disabled {
+  background: transparent;
+}
+.jstree-default-small .jstree-disabled.jstree-hovered {
+  background: transparent;
+}
+.jstree-default-small .jstree-disabled.jstree-clicked {
+  background: #efefef;
+}
+.jstree-default-small .jstree-checkbox {
+  background-position: -167px -7px;
+}
+.jstree-default-small .jstree-checkbox:hover {
+  background-position: -167px -39px;
+}
+.jstree-default-small .jstree-clicked > .jstree-checkbox {
+  background-position: -231px -7px;
+}
+.jstree-default-small .jstree-clicked > .jstree-checkbox:hover {
+  background-position: -231px -39px;
+}
+.jstree-default-small .jstree-anchor > .jstree-undetermined {
+  background-position: -199px -7px;
+}
+.jstree-default-small .jstree-anchor > .jstree-undetermined:hover {
+  background-position: -199px -39px;
+}
+.jstree-default-small > .jstree-striped {
+  background-size: auto 36px;
+}
+.jstree-default-small.jstree-rtl .jstree-node {
+  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");
+  background-position: 100% 1px;
+  background-repeat: repeat-y;
+}
+.jstree-default-small.jstree-rtl .jstree-last {
+  background: transparent;
+}
+.jstree-default-small.jstree-rtl .jstree-open > .jstree-ocl {
+  background-position: -135px -39px;
+}
+.jstree-default-small.jstree-rtl .jstree-closed > .jstree-ocl {
+  background-position: -103px -39px;
+}
+.jstree-default-small.jstree-rtl .jstree-leaf > .jstree-ocl {
+  background-position: -71px -39px;
+}
+.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-node,
+.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl {
+  background: transparent;
+}
+.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl {
+  background-position: -39px -39px;
+}
+.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl {
+  background-position: -7px -39px;
+}
+.jstree-default-small .jstree-themeicon-custom {
+  background-color: transparent;
+  background-image: none;
+  background-position: 0 0;
+}
+.jstree-default-small > .jstree-container-ul .jstree-loading > .jstree-ocl {
+  background: url("throbber.gif") center center no-repeat;
+}
+.jstree-default-small .jstree-file {
+  background: url("32px.png") -103px -71px no-repeat;
+}
+.jstree-default-small .jstree-folder {
+  background: url("32px.png") -263px -7px no-repeat;
+}
+.jstree-default-small.jstree-rtl .jstree-node {
+  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==");
+}
+.jstree-default-small.jstree-rtl .jstree-last {
+  background: transparent;
+}
+.jstree-default-large .jstree-node {
+  min-height: 32px;
+  line-height: 32px;
+  margin-left: 32px;
+  min-width: 32px;
+}
+.jstree-default-large .jstree-anchor {
+  line-height: 32px;
+  height: 32px;
+}
+.jstree-default-large .jstree-icon {
+  width: 32px;
+  height: 32px;
+  line-height: 32px;
+}
+.jstree-default-large .jstree-icon:empty {
+  width: 32px;
+  height: 32px;
+  line-height: 32px;
+}
+.jstree-default-large.jstree-rtl .jstree-node {
+  margin-right: 32px;
+}
+.jstree-default-large .jstree-wholerow {
+  height: 32px;
+}
+.jstree-default-large .jstree-node,
+.jstree-default-large .jstree-icon {
+  background-image: url("32px.png");
+}
+.jstree-default-large .jstree-node {
+  background-position: -288px 0px;
+  background-repeat: repeat-y;
+}
+.jstree-default-large .jstree-last {
+  background: transparent;
+}
+.jstree-default-large .jstree-open > .jstree-ocl {
+  background-position: -128px 0px;
+}
+.jstree-default-large .jstree-closed > .jstree-ocl {
+  background-position: -96px 0px;
+}
+.jstree-default-large .jstree-leaf > .jstree-ocl {
+  background-position: -64px 0px;
+}
+.jstree-default-large .jstree-themeicon {
+  background-position: -256px 0px;
+}
+.jstree-default-large > .jstree-no-dots .jstree-node,
+.jstree-default-large > .jstree-no-dots .jstree-leaf > .jstree-ocl {
+  background: transparent;
+}
+.jstree-default-large > .jstree-no-dots .jstree-open > .jstree-ocl {
+  background-position: -32px 0px;
+}
+.jstree-default-large > .jstree-no-dots .jstree-closed > .jstree-ocl {
+  background-position: 0px 0px;
+}
+.jstree-default-large .jstree-disabled {
+  background: transparent;
+}
+.jstree-default-large .jstree-disabled.jstree-hovered {
+  background: transparent;
+}
+.jstree-default-large .jstree-disabled.jstree-clicked {
+  background: #efefef;
+}
+.jstree-default-large .jstree-checkbox {
+  background-position: -160px 0px;
+}
+.jstree-default-large .jstree-checkbox:hover {
+  background-position: -160px -32px;
+}
+.jstree-default-large .jstree-clicked > .jstree-checkbox {
+  background-position: -224px 0px;
+}
+.jstree-default-large .jstree-clicked > .jstree-checkbox:hover {
+  background-position: -224px -32px;
+}
+.jstree-default-large .jstree-anchor > .jstree-undetermined {
+  background-position: -192px 0px;
+}
+.jstree-default-large .jstree-anchor > .jstree-undetermined:hover {
+  background-position: -192px -32px;
+}
+.jstree-default-large > .jstree-striped {
+  background-size: auto 64px;
+}
+.jstree-default-large.jstree-rtl .jstree-node {
+  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");
+  background-position: 100% 1px;
+  background-repeat: repeat-y;
+}
+.jstree-default-large.jstree-rtl .jstree-last {
+  background: transparent;
+}
+.jstree-default-large.jstree-rtl .jstree-open > .jstree-ocl {
+  background-position: -128px -32px;
+}
+.jstree-default-large.jstree-rtl .jstree-closed > .jstree-ocl {
+  background-position: -96px -32px;
+}
+.jstree-default-large.jstree-rtl .jstree-leaf > .jstree-ocl {
+  background-position: -64px -32px;
+}
+.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-node,
+.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl {
+  background: transparent;
+}
+.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl {
+  background-position: -32px -32px;
+}
+.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl {
+  background-position: 0px -32px;
+}
+.jstree-default-large .jstree-themeicon-custom {
+  background-color: transparent;
+  background-image: none;
+  background-position: 0 0;
+}
+.jstree-default-large > .jstree-container-ul .jstree-loading > .jstree-ocl {
+  background: url("throbber.gif") center center no-repeat;
+}
+.jstree-default-large .jstree-file {
+  background: url("32px.png") -96px -64px no-repeat;
+}
+.jstree-default-large .jstree-folder {
+  background: url("32px.png") -256px 0px no-repeat;
+}
+.jstree-default-large.jstree-rtl .jstree-node {
+  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==");
+}
+.jstree-default-large.jstree-rtl .jstree-last {
+  background: transparent;
+}
+@media (max-width: 768px) {
+  .jstree-default-responsive {
+    /*
+               .jstree-open > .jstree-ocl,
+               .jstree-closed > .jstree-ocl { border-radius:20px; background-color:white; }
+               */
+  }
+  .jstree-default-responsive .jstree-icon {
+    background-image: url("40px.png");
+  }
+  .jstree-default-responsive .jstree-node,
+  .jstree-default-responsive .jstree-leaf > .jstree-ocl {
+    background: transparent;
+  }
+  .jstree-default-responsive .jstree-node {
+    min-height: 40px;
+    line-height: 40px;
+    margin-left: 40px;
+    min-width: 40px;
+    white-space: nowrap;
+  }
+  .jstree-default-responsive .jstree-anchor {
+    line-height: 40px;
+    height: 40px;
+  }
+  .jstree-default-responsive .jstree-icon,
+  .jstree-default-responsive .jstree-icon:empty {
+    width: 40px;
+    height: 40px;
+    line-height: 40px;
+  }
+  .jstree-default-responsive > .jstree-container-ul > .jstree-node {
+    margin-left: 0;
+  }
+  .jstree-default-responsive.jstree-rtl .jstree-node {
+    margin-left: 0;
+    margin-right: 40px;
+  }
+  .jstree-default-responsive.jstree-rtl .jstree-container-ul > .jstree-node {
+    margin-right: 0;
+  }
+  .jstree-default-responsive .jstree-ocl,
+  .jstree-default-responsive .jstree-themeicon,
+  .jstree-default-responsive .jstree-checkbox {
+    background-size: 120px 200px;
+  }
+  .jstree-default-responsive .jstree-leaf > .jstree-ocl {
+    background: transparent;
+  }
+  .jstree-default-responsive .jstree-open > .jstree-ocl {
+    background-position: 0 0px !important;
+  }
+  .jstree-default-responsive .jstree-closed > .jstree-ocl {
+    background-position: 0 -40px !important;
+  }
+  .jstree-default-responsive.jstree-rtl .jstree-closed > .jstree-ocl {
+    background-position: -40px 0px !important;
+  }
+  .jstree-default-responsive .jstree-themeicon {
+    background-position: -40px -40px;
+  }
+  .jstree-default-responsive .jstree-checkbox,
+  .jstree-default-responsive .jstree-checkbox:hover {
+    background-position: -40px -80px;
+  }
+  .jstree-default-responsive .jstree-clicked > .jstree-checkbox,
+  .jstree-default-responsive .jstree-clicked > .jstree-checkbox:hover {
+    background-position: 0 -80px;
+  }
+  .jstree-default-responsive .jstree-anchor > .jstree-undetermined,
+  .jstree-default-responsive .jstree-anchor > .jstree-undetermined:hover {
+    background-position: 0 -120px;
+  }
+  .jstree-default-responsive .jstree-anchor {
+    font-weight: bold;
+    font-size: 1.1em;
+    text-shadow: 1px 1px white;
+  }
+  .jstree-default-responsive > .jstree-striped {
+    background: transparent;
+  }
+  .jstree-default-responsive .jstree-wholerow {
+    border-top: 1px solid rgba(255, 255, 255, 0.7);
+    border-bottom: 1px solid rgba(64, 64, 64, 0.2);
+    background: #ebebeb;
+    height: 40px;
+  }
+  .jstree-default-responsive .jstree-wholerow-hovered {
+    background: #e7f4f9;
+  }
+  .jstree-default-responsive .jstree-wholerow-clicked {
+    background: #beebff;
+  }
+  .jstree-default-responsive .jstree-children .jstree-last > .jstree-wholerow {
+    box-shadow: inset 0 -6px 3px -5px #666666;
+  }
+  .jstree-default-responsive .jstree-children .jstree-open > .jstree-wholerow {
+    box-shadow: inset 0 6px 3px -5px #666666;
+    border-top: 0;
+  }
+  .jstree-default-responsive .jstree-children .jstree-open + .jstree-open {
+    box-shadow: none;
+  }
+  .jstree-default-responsive .jstree-node,
+  .jstree-default-responsive .jstree-icon,
+  .jstree-default-responsive .jstree-node > .jstree-ocl,
+  .jstree-default-responsive .jstree-themeicon,
+  .jstree-default-responsive .jstree-checkbox {
+    background-image: url("40px.png");
+    background-size: 120px 200px;
+  }
+  .jstree-default-responsive .jstree-node {
+    background-position: -80px 0;
+    background-repeat: repeat-y;
+  }
+  .jstree-default-responsive .jstree-last {
+    background: transparent;
+  }
+  .jstree-default-responsive .jstree-leaf > .jstree-ocl {
+    background-position: -40px -120px;
+  }
+  .jstree-default-responsive .jstree-last > .jstree-ocl {
+    background-position: -40px -160px;
+  }
+  .jstree-default-responsive .jstree-themeicon-custom {
+    background-color: transparent;
+    background-image: none;
+    background-position: 0 0;
+  }
+  .jstree-default-responsive .jstree-file {
+    background: url("40px.png") 0 -160px no-repeat;
+    background-size: 120px 200px;
+  }
+  .jstree-default-responsive .jstree-folder {
+    background: url("40px.png") -40px -40px no-repeat;
+    background-size: 120px 200px;
+  }
+}
+.jstree-default > .jstree-container-ul > .jstree-node {
+  margin-left: 0;
+  margin-right: 0;
+}
diff --git a/public/assets/css/jstree-metronic/style.min.css b/public/assets/css/jstree-metronic/style.min.css
new file mode 100644 (file)
index 0000000..c39e284
--- /dev/null
@@ -0,0 +1 @@
+.jstree-node,.jstree-children,.jstree-container-ul{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-node{white-space:nowrap}.jstree-anchor{display:inline-block;color:#000;white-space:nowrap;padding:0 4px 0 1px;margin:0;vertical-align:top}.jstree-anchor:focus{outline:0}.jstree-anchor,.jstree-anchor:link,.jstree-anchor:visited,.jstree-anchor:hover,.jstree-anchor:active{text-decoration:none;color:inherit}.jstree-icon{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-icon:empty{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-ocl{cursor:pointer}.jstree-leaf>.jstree-ocl{cursor:default}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-no-icons .jstree-themeicon,.jstree-anchor>.jstree-themeicon-hidden{display:none}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{position:relative;display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-leaf>.jstree-ocl{cursor:pointer}.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon{position:relative}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vakata-context{display:none}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;-moz-box-shadow:5px 5px 4px -4px #666;-webkit-box-shadow:2px 2px 2px #999;box-shadow:2px 2px 2px #999}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-right ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none;display:inline}.vakata-context li>a{display:block;padding:0 2em;text-decoration:none;width:auto;color:#000;white-space:nowrap;line-height:2.4em;-moz-text-shadow:1px 1px 0 #fff;-webkit-text-shadow:1px 1px 0 #fff;text-shadow:1px 1px 0 #fff;-moz-border-radius:1px;-webkit-border-radius:1px;border-radius:1px}.vakata-context li>a:hover{position:relative;background-color:#e8eff7;-moz-box-shadow:0 0 2px #0a6aa1;-webkit-box-shadow:0 0 2px #0a6aa1;box-shadow:0 0 2px #0a6aa1}.vakata-context li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==);background-position:right center;background-repeat:no-repeat}.vakata-context li>a:focus{outline:0}.vakata-context .vakata-context-hover>a{position:relative;background-color:#e8eff7;-moz-box-shadow:0 0 2px #0a6aa1;-webkit-box-shadow:0 0 2px #0a6aa1;box-shadow:0 0 2px #0a6aa1}.vakata-context .vakata-context-separator a,.vakata-context .vakata-context-separator a:hover{background:#fff;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;-moz-text-shadow:0 0 0 transparent;-webkit-text-shadow:0 0 0 transparent;text-shadow:0 0 0 transparent;-moz-box-shadow:0 0 0 transparent;-webkit-box-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;box-shadow:0 0 0}.vakata-context li>a>i{text-decoration:none;display:inline-block;width:2.4em;height:2.4em;background:0 0;margin:0 0 0 -2em;vertical-align:top;text-align:center;line-height:2.4em}.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;width:1px;height:2.4em;background:#fff;margin:0 .5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:.8em;color:silver;opacity:.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7);background-position:left center;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 .5em;border-left-color:#fff;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-icon,#jstree-dnd .jstree-copy{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-repeat:no-repeat;background-color:transparent}.jstree-default .jstree-anchor,.jstree-default .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default .jstree-hovered{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #ccc}.jstree-default .jstree-clicked{background:#beebff;border-radius:2px;box-shadow:inset 0 0 1px #999}.jstree-default .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default .jstree-disabled{background:0 0;color:#666}.jstree-default .jstree-disabled.jstree-hovered{background:0 0;box-shadow:none}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default .jstree-search{font-style:italic;color:#8b0000;font-weight:700}.jstree-default .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked{background:0 0;box-shadow:none}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#e7f4f9}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:0 0}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#e7f4f9}#jstree-dnd.jstree-default .jstree-ok,#jstree-dnd.jstree-default .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default i{background:0 0;width:16px;height:16px}#jstree-dnd.jstree-default .jstree-ok{background-position:-9px -71px}#jstree-dnd.jstree-default .jstree-er{background-position:-39px -71px}.jstree-default>.jstree-striped{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==) left top repeat}.jstree-default>.jstree-wholerow-ul .jstree-hovered,.jstree-default>.jstree-wholerow-ul .jstree-clicked{background:0 0;box-shadow:none;border-radius:0}.jstree-default .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.jstree-default .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default .jstree-wholerow-clicked{background:#beebff;background:-moz-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#beebff),color-stop(100%,#a8e4ff));background:-webkit-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:-o-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:-ms-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:linear-gradient(to bottom,#beebff 0,#a8e4ff 100%)}.jstree-default .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px}.jstree-default .jstree-anchor{line-height:24px;height:24px}.jstree-default .jstree-icon{width:24px;height:24px;line-height:24px}.jstree-default .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default.jstree-rtl .jstree-node{margin-right:24px}.jstree-default .jstree-wholerow{height:24px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-image:url(32px.png)}.jstree-default .jstree-node{background-position:-292px -4px;background-repeat:repeat-y}.jstree-default .jstree-last{background:0 0}.jstree-default .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default .jstree-themeicon{background-position:-260px -4px}.jstree-default>.jstree-no-dots .jstree-node,.jstree-default>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default .jstree-disabled{background:0 0}.jstree-default .jstree-disabled.jstree-hovered{background:0 0}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-checkbox{background-position:-164px -4px}.jstree-default .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default .jstree-clicked>.jstree-checkbox{background-position:-228px -4px}.jstree-default .jstree-clicked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default>.jstree-striped{background-size:auto 48px}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default .jstree-file{background:url(32px.png) -100px -68px no-repeat}.jstree-default .jstree-folder{background:url(32px.png) -260px -4px no-repeat}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==)}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px}.jstree-default-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-small .jstree-icon{width:18px;height:18px;line-height:18px}.jstree-default-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default-small.jstree-rtl .jstree-node{margin-right:18px}.jstree-default-small .jstree-wholerow{height:18px}.jstree-default-small .jstree-node,.jstree-default-small .jstree-icon{background-image:url(32px.png)}.jstree-default-small .jstree-node{background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-small .jstree-last{background:0 0}.jstree-default-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-small>.jstree-no-dots .jstree-node,.jstree-default-small>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-small .jstree-disabled{background:0 0}.jstree-default-small .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-small .jstree-clicked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-small .jstree-clicked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-small>.jstree-striped{background-size:auto 36px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-small .jstree-file{background:url(32px.png) -103px -71px no-repeat}.jstree-default-small .jstree-folder{background:url(32px.png) -263px -7px no-repeat}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==)}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px}.jstree-default-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-large .jstree-icon{width:32px;height:32px;line-height:32px}.jstree-default-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-large.jstree-rtl .jstree-node{margin-right:32px}.jstree-default-large .jstree-wholerow{height:32px}.jstree-default-large .jstree-node,.jstree-default-large .jstree-icon{background-image:url(32px.png)}.jstree-default-large .jstree-node{background-position:-288px 0;background-repeat:repeat-y}.jstree-default-large .jstree-last{background:0 0}.jstree-default-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-large .jstree-themeicon{background-position:-256px 0}.jstree-default-large>.jstree-no-dots .jstree-node,.jstree-default-large>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.jstree-default-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-large .jstree-disabled{background:0 0}.jstree-default-large .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-large .jstree-checkbox{background-position:-160px 0}.jstree-default-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-large .jstree-clicked>.jstree-checkbox{background-position:-224px 0}.jstree-default-large .jstree-clicked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-large>.jstree-striped{background-size:auto 64px}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}.jstree-default-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 -32px}.jstree-default-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-large .jstree-file{background:url(32px.png) -96px -64px no-repeat}.jstree-default-large .jstree-folder{background:url(32px.png) -256px 0 no-repeat}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==)}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}@media (max-width:768px){.jstree-default-responsive .jstree-icon{background-image:url(40px.png)}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-responsive .jstree-anchor{line-height:40px;height:40px}.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0}.jstree-default-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px}.jstree-default-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-responsive .jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-size:120px 200px}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-open>.jstree-ocl{background-position:0 0!important}.jstree-default-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px!important}.jstree-default-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0!important}.jstree-default-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-responsive .jstree-clicked>.jstree-checkbox,.jstree-default-responsive .jstree-clicked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-responsive .jstree-anchor{font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}.jstree-default-responsive>.jstree-striped{background:0 0}.jstree-default-responsive .jstree-wholerow{border-top:1px solid rgba(255,255,255,.7);border-bottom:1px solid rgba(64,64,64,.2);background:#ebebeb;height:40px}.jstree-default-responsive .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default-responsive .jstree-wholerow-clicked{background:#beebff}.jstree-default-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #666}.jstree-default-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #666;border-top:0}.jstree-default-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-node>.jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-image:url(40px.png);background-size:120px 200px}.jstree-default-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-responsive .jstree-last{background:0 0}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-responsive .jstree-file{background:url(40px.png) 0 -160px no-repeat;background-size:120px 200px}.jstree-default-responsive .jstree-folder{background:url(40px.png) -40px -40px no-repeat;background-size:120px 200px}}.jstree-default>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}
\ No newline at end of file
diff --git a/public/assets/css/jstree-metronic/throbber.gif b/public/assets/css/jstree-metronic/throbber.gif
new file mode 100644 (file)
index 0000000..1b5b2fd
Binary files /dev/null and b/public/assets/css/jstree-metronic/throbber.gif differ
diff --git a/public/assets/images/demo.png b/public/assets/images/demo.png
new file mode 100644 (file)
index 0000000..2199b86
Binary files /dev/null and b/public/assets/images/demo.png differ
index dc9285e..c024b9d 100644 (file)
@@ -6,13 +6,19 @@
   "APPLICATION_TABLE": "Table",
   "APPLICATION_ALIAS": "Alias",
   "APPLICATION_COPY_REPORT": "Copy Report",
+  "MESSAGE_REPORT_EXTRACTING": "Your report is being elaborated, you will find it under the 'Extracted reports' section..",
   "APPLICATION_COPY_TO": "Copy To",
   "APPLICATION_DATE_RANGE": "Date Range",
   "APPLICATION_COPY": "Copy",
+  "APPLICATION_SAVE_TO_CSV": "To CSV",
+  "APPLICATION_SAVE_TO_PDF": "To PDF",
   "APPLICATION_EXTRACT": "Extract",
+  "APPLICATION_REPORT_PREVIEW": "Report Preview",
   "APPLICATION_EXTRACT_REPORT": "Extract Report",
   "APPLICATION_EXPORT": "Export",
   "APPLICATION_FUNCTION": "Function",
+  "APPLICATION_MANAGE": "Manage",
+  "APPLICATION_RUN": "Run",
   "MESSAGE_SELECT_A_FIELD": "Select at least one table field!",
   "APPLICATION_GROUP_BY": "Group By",
   "APPLICATION_BUILD": "Build",
   "APPLICATION_RANDOM_PERIODIC_ANNOUNCE": "Random periodic announcements",
   "MESSAGE_NO_AVAILABLE_MAILS": "No available mails",
   "APPLICATION_PREVIEW": "Preview",
+  "APPLICATION_TEST_PREVIEW": "Test Preview",
   "APPLICATION_WEIGHT": "Weight",
   "APPLICATION_WRAPUPTIME": "Wrapup Time",
   "APPLICATION_RETRY": "Retry",
index 11e58ae..e963d5a 100644 (file)
@@ -7,12 +7,16 @@
   "APPLICATION_ALIAS": "Alias",
   "APPLICATION_COPY_REPORT": "Copia Report",
   "APPLICATION_COPY_TO": "Copia In",
+  "MESSAGE_REPORT_EXTRACTING": "Il tuo report è in elaborazione, lo troverai nella sezione 'Report Estratti'",
   "APPLICATION_DATE_RANGE": "Intervallo Date",
   "APPLICATION_COPY": "Copia",
   "APPLICATION_EXPORT": "Esporta",
   "APPLICATION_EXTRACT": "Estrai",
+  "APPLICATION_REPORT_PREVIEW": "Anteprima Report",
   "APPLICATION_EXTRACT_REPORT": "Estrai Report",
   "APPLICATION_FUNCTION": "Funzione",
+  "APPLICATION_MANAGE": "Gestisci",
+  "APPLICATION_RUN": "Esegui",
   "MESSAGE_SELECT_A_FIELD": "Seleziona almeno un campo della tabella!",
   "APPLICATION_GROUP_BY": "Group By",
   "APPLICATION_ORDER_BY": "Order By",
   "APPLICATION_IDENTIFIER": "Identificatore",
   "APPLICATION_CHAT": "Chat",
   "APPLICATION_PREVIEW": "Anteprima",
+  "APPLICATION_TEST_PREVIEW": "Test Anteprima",
   "APPLICATION_WEIGHT": "Peso",
   "APPLICATION_WRAPUPTIME": "Wrapup Time",
   "APPLICATION_RETRY": "Tentativi",
@@ -569,7 +569,7 @@ function OpenDialog(editorUi) {
        col1.appendChild(label);
 
        var req = new XMLHttpRequest();
-       req.open('GET', '/api/square/projects', false); // `false` makes the request synchronous
+       req.open('GET', '/api/jscripty/projects', false); // `false` makes the request synchronous
        req.setRequestHeader('Authorization', 'Bearer ' + editorUi.editor.data.token);
        req.send(null);
        var res = [];
@@ -597,7 +597,7 @@ function OpenDialog(editorUi) {
        var save = mxUtils.button(mxResources.get('open'), function() {
                console.log(select);
                console.log(select.value);
-               window.open('square/project/' + select.value, '_blank');
+               window.open('jscripty/project/' + select.value, '_blank');
                editorUi.hideDialog();
        });
        save.className = 'btn blue';
@@ -842,7 +842,7 @@ function GeneralDialog(editorUi, cell) {
                                input = createDropdownFromApi('/api/trunks', value, 'name', 'id', editorUi, true);
                                break;
                        case 'variable_id':
-                               input = createDropdownFromApi('/api/square/variables', value, 'name', 'id', editorUi, true); //mettere true dopo la pagination
+                               input = createDropdownFromApi('/api/jscripty/variables', value, 'name', 'id', editorUi, true); //mettere true dopo la pagination
                                break;
                        case 'model':
                                input = createDropdownFromArray(ISPEECHASRMODEL, value);
@@ -882,14 +882,66 @@ function GeneralDialog(editorUi, cell) {
                                input.className = 'form-control';
                                break;
                        case 'text':
-                       case 'key':
-                       case 'query':
-                       case 'condition':
-                       case 'command':
+                       case 'Zendesk':
+                               var input = document.createElement('select');
+                               var option = document.createElement('option');
+                               option.text = '-- None --';
+                               option.value = '';
+                               input.appendChild(option);
+                               var selectValues = ['Yes', 'No'];
+                               selectValues.forEach(function(elem) {
+                                       option = document.createElement('option');
+                                       console.log(elem);
+                                       option.text = elem;
+                                       option.value = elem;
+                                       option.selected = (elem == value);
+                                       input.appendChild(option);
+                               })
+                               input.className = 'form-control';
+                               break;
+                       case 'Summary':
+                               var input = document.createElement('select');
+                               var option = document.createElement('option');
+                               option.text = '-- None --';
+                               option.value = '';
+                               input.appendChild(option);
+                               var selectValues = ['Yes', 'No'];
+                               selectValues.forEach(function(elem) {
+                                       option = document.createElement('option');
+                                       console.log(elem);
+                                       option.text = elem;
+                                       option.value = elem;
+                                       option.selected = (elem == value);
+                                       input.appendChild(option);
+                               })
+                               input.className = 'form-control';
+                               break;
+                       case 'Text':
+                               input = document.createElement('textarea');
+                               input.innerHTML = value;
+                               input.className = 'form-control';
+                               break;
+                       case 'Body':
                                input = document.createElement('textarea');
                                input.innerHTML = value;
                                input.className = 'form-control';
                                break;
+                       case 'question':
+                               input = document.createElement('textarea');
+                               input.innerHTML = value;
+                               input.className = 'form-control';
+                               break;
+                       case 'other':
+                               var input = document.createElement('input');
+                               input.setAttribute('type', 'checkbox');
+                               console.log('attr value', value);
+                               if (value == 'true') {
+                                       input.setAttribute('checked', true);
+                               } else {
+                                       input.removeAttribute("checked");
+
+                               }
+                               break;
                        default:
                                input = document.createElement('input');
                                input.setAttribute('value', value);
@@ -922,8 +974,14 @@ function GeneralDialog(editorUi, cell) {
                        for (var i = 0; i < cell.value.attributes.length; i++) {
                                var id = '_' + cell.value.attributes[i].name;
                                var name = cell.value.attributes[i].name;
-                               console.log(name, document.getElementById(id).value);
-                               cell.setAttribute(name, document.getElementById(id).value);
+
+                               if (name == 'other') {
+                                       cell.setAttribute(name, document.getElementById(id).checked);
+                                       console.log(name, document.getElementById(id).checked);
+                               } else {
+                                       console.log(name, document.getElementById(id).value);
+                                       cell.setAttribute(name, document.getElementById(id).value);
+                               }
                        };
                        graph.refresh(cell);
                        editorUi.hideDialog();
@@ -91,121 +91,32 @@ EditorUi = function(editor, container) {
 
        // Giuseppe Careri
        // Defines invalid connections along with the error messages that they produce.
-       this.createMultiplicities(graph.multiplicities, ['start', 'finally', 'end'], [
-               [1, 1],
-               [1, 1],
-               [0, 0]
-       ], [
-               [0, 0],
-               [0, 0],
-               [1, 'n']
-       ]);
-       this.createMultiplicities(graph.multiplicities, ['answer', 'hangup', 'dial',
-               'ext_dial', 'queue', 'voicemail', 'callback'
+
+       this.createMultiplicities(graph.multiplicities, ['start', 'end', 'input',
+               'question', 'email'
        ], [
                [1, 1],
                [0, 0],
-               [0, 1],
-               [0, 1],
-               [0, 1],
-               [1, 1],
-               [0, 1]
-       ], [
-               [1, 'n'],
-               [1, 'n'],
-               [1, 'n'],
-               [1, 'n'],
-               [1, 'n'],
-               [1, 'n'],
-               [1, 'n']
-       ]);
-       this.createMultiplicities(graph.multiplicities, ['set', 'math'], [
                [1, 1],
-               [1, 1]
-       ], [
                [1, 'n'],
                [1, 'n']
-       ]);
-       this.createMultiplicities(graph.multiplicities, ['background', 'playback',
-               'menu', 'saydigits', 'saynumber', 'sayphonetic', 'tts', 'ispeechtts', 'getdigits'
-       ], [
-               [1, 'n'],
-               [1, 1],
-               [1, 'n'],
-               [1, 1],
-               [1, 1],
-               [1, 1],
-               [1, 1],
-               [1, 1],
-               [1, 'n']
-       ], [
-               [1, 'n'],
-               [1, 'n'],
-               [1, 'n'],
-               [1, 'n'],
-               [1, 'n'],
-               [1, 'n'],
-               [1, 'n'],
-               [1, 'n'],
-               [1, 'n']
-       ]);
-       this.createMultiplicities(graph.multiplicities, ['record'], [
-               [1, 1]
-       ], [
-               [1, 'n']
-       ]);
-       this.createMultiplicities(graph.multiplicities, ['database', 'ispeechasr'], [
-               [1, 1],
-               [1, 1]
-       ], [
-               [1, 'n'],
-               [1, 'n']
-       ]);
-       this.createMultiplicities(graph.multiplicities, ['gotoc', 'gotoif',
-               'gotoiftime', 'gotoifmultitime', 'vswitch'
        ], [
                [0, 0],
-               [1, 2],
-               [1, 2],
-               [1, 2],
-               [1, 'n']
-       ], [
-               [1, 'n'],
-               [1, 'n'],
-               [1, 'n'],
-               [1, 'n'],
-               [1, 'n']
-       ]);
-       this.createMultiplicities(graph.multiplicities, ['queuelog', 'goal'], [
-               [1, 1],
-               [1, 1]
-       ], [
-               [1, 'n'],
-               [1, 'n']
-       ]);
-       this.createMultiplicities(graph.multiplicities, ['noop', 'system', 'agi',
-               'subproject', 'custom_app'
-       ], [
-               [1, 1],
-               [1, 1],
-               [0, 1],
-               [0, 1],
-               [0, 1]
-       ], [
-               [1, 'n'],
                [1, 'n'],
                [1, 'n'],
                [1, 'n'],
                [1, 'n']
+
        ]);
 
+
        // Giuseppe Careri
        // Processes a doubleclick on an optional cell and fires a <dblclick> event.
        // The event is fired initially.
        // If the graph is enabled and the event has not been consumed, then <edit> is called with the given cell.
        // The event is ignored if no cell was specified.
        graph.dblClick = function(evt, cell) {
-               var edges = ['background', 'gotoif', 'gotoiftime', 'menu', 'getdigits', 'vswitch'];
+               var edges = ['input', 'question'];
                var mxe = new mxEventObject(mxEvent.DOUBLE_CLICK, 'event', evt, 'cell',
                        cell);
                this.fireEvent(mxe);
@@ -434,7 +345,7 @@ EditorUi.prototype.new = function(name) {
                                                                editor.setStatus('Project ' + JSON.parse(xhr.response).name +
                                                                        ' is opening in new window!');
                                                                setTimeout(function() {
-                                                                       window.open('square/project/' + JSON.parse(xhr.response).id,
+                                                                       window.open('jscripty/project/' + JSON.parse(xhr.response).id,
                                                                                '_blank');
                                                                }, 1500);
                                                        } else {
@@ -507,7 +418,7 @@ EditorUi.prototype.save = function(name) {
                                        xhr.onerror = function(e) {
                                                mxUtils.alert(xhr.statusText);
                                        };
-                                       xhr.send('preproduction=' + xml);
+                                       xhr.send('draft=' + xml);
                                } else {
                                        mxUtils.alert(mxResources.get('drawingTooLarge'));
                                        mxUtils.popup(xml);
@@ -531,7 +442,7 @@ EditorUi.prototype.save = function(name) {
  */
 EditorUi.prototype.saveAs = function(name) {
        var editor = this.editor;
-
+       console.log(name);
        if (name != null) {
                var xml = mxUtils.getPrettyXml(this.editor.getGraphXml());
                try {
@@ -560,7 +471,7 @@ EditorUi.prototype.saveAs = function(name) {
                                                                editor.setStatus('Project ' + JSON.parse(xhr.response).name +
                                                                        ' is opening in new window!');
                                                                setTimeout(function() {
-                                                                       window.open('square/project/' + JSON.parse(xhr.response).id,
+                                                                       window.open('jscripty/project/' + JSON.parse(xhr.response).id,
                                                                                '_blank');
                                                                }, 1500);
                                                        } else {
@@ -573,7 +484,7 @@ EditorUi.prototype.saveAs = function(name) {
                                                mxUtils.alert(xhr.statusText);
                                        };
                                        xhr.send('description=project_cloned&name=' + name +
-                                               '&preproduction=' + xml + '&production=' + xml);
+                                               '&draft=' + xml + '&production=' + xml);
                                } else {
                                        mxUtils.alert(mxResources.get('drawingTooLarge'));
                                        mxUtils.popup(xml);
@@ -595,61 +506,141 @@ EditorUi.prototype.saveAs = function(name) {
 /**
  * Plush the current graph under the given project name.
  */
+EditorUi.prototype.validate = function(a, b) {
+       var graph = this.editor.graph;
+       a = null != a ? a : graph.model.getRoot();
+       b = null != b ? b : {};
+       for (var c = !0, d = graph.model.getChildCount(a), e = 0; e < d; e++) {
+               var f = graph.model.getChildAt(a, e),
+                       g = b;
+               graph.isValidRoot(f) && (g = {});
+               g = this.validate(f, g);
+               null != g ? graph.setCellWarning(f, g.replace(/\n/g, "\x3cbr\x3e")) : graph.setCellWarning(f, null);
+               c = c && null == g
+       }
+       d = "";
+       if (graph.model.isVertex(a)) {
+               switch (a.value.nodeName) {
+                       case 'question':
+                               d = (a.value.getAttribute('question') !== "") ? "" :
+                                       'Content is empty' + "\n";
+                               break;
+                       case 'form':
+                               d = (a.value.getAttribute('question') !== "") ? "" :
+                                       'Content is empty' + "\n";
+                               break;
+                       case 'start':
+                               d = this.validateBlock('start') ? '' : "Only one Start block is allowed" + "\n";
+                               break;
+               }
+       }
+
+       if (graph.model.isEdge(a)) {
+               var z = graph.model.getCell(a.source.getId());
+               switch (z.value.nodeName) {
+                       case 'question':
+                               var patt = /^[a-zA-Z0-9][a-zA-Z0-9\s]*$/;
+                               var str = String(a.getValue());
+                               if ((str == 'undefined') || (str == 'null')) {
+                                       str = ' ';
+                               }
+                               var res = str.split(",");
+                               res.forEach(function(entry) {
+                                       d = d + ((patt.test(entry.trim())) ? "" : 'Can not be empty' + "\n");
+                               });
+                               break;
+
+               }
+       }
+
+       graph.isCellCollapsed(a) && !c && (d += (mxResources.get(graph.containsValidationErrorsResource) || graph.containsValidationErrorsResource) + "\n");
+       d = graph.model.isEdge(a) ? d + (graph.getEdgeValidationError(a, graph.model.getTerminal(a, !0), graph.model.getTerminal(a, !1)) || "") : d + (graph.getCellValidationError(a) || "");
+       e = graph.validateCell(a, b);
+       null != e && (d += e);
+       null == graph.model.getParent(a) && graph.view.validate();
+       return 0 < d.length || !c ? d : null
+}
+
+EditorUi.prototype.validateBlock = function(blockName) {
+       var graph = this.editor.graph;
+       var parent = graph.getDefaultParent();
+       var count = 0;
+       // var model = graph.getModel();
+       //We can also use model.getChildren(parent)
+       parent.children.forEach(function(n) {
+               if (graph.model.isVertex(n) && n.value.nodeName == blockName) {
+                       count++;
+               }
+       });
+       return count > 1 ? false : true;
+}
+
 EditorUi.prototype.publish = function(name) {
+
        var editor = this.editor;
 
        if (name != null) {
-               var xml = mxUtils.getPrettyXml(this.editor.getGraphXml());
-               try {
-                       if (useLocalStorage) {
-                               if (localStorage.getItem(name) != null &&
-                                       !mxUtils.confirm(mxResources.get('replace', [name]))) {
-                                       return;
-                               }
 
-                               localStorage.setItem(name, xml);
-                               this.editor.setStatus(mxResources.get('saved') + ' ' + new Date());
-                       } else {
-                               console.log(xml.length);
-                               console.log(MAX_REQUEST_SIZE);
-                               if (xml.length < MAX_REQUEST_SIZE) {
-                                       xml = encodeURIComponent(xml);
+               var response = this.validate();
+               if (response === null) {
+                       var xml = mxUtils.getPrettyXml(this.editor.getGraphXml());
+                       try {
+                               if (useLocalStorage) {
+                                       if (localStorage.getItem(name) != null &&
+                                               !mxUtils.confirm(mxResources.get('replace', [name]))) {
+                                               return;
+                                       }
 
-                                       var xhr = new XMLHttpRequest();
-                                       xhr.open("PUT", SAVE_URL + this.editor.data.id, true);
-                                       xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
-                                       xhr.setRequestHeader('Authorization', 'Bearer ' + editor.data.token);
-                                       xhr.onload = function(e) {
-                                               if (xhr.readyState === 4) {
-                                                       if (xhr.status === 200) {
-                                                               editor.setStatus('Published at ' + JSON.parse(xhr.response).updatedAt +
-                                                                       ' (' + xhr.status + ' ' + xhr.statusText + ')');
-                                                       } else {
-                                                               editor.setStatus('Error saving project: ' +
-                                                                       JSON.parse(xhr.response).errors[0].message);
-                                                       }
-                                               }
-                                       };
-                                       xhr.onerror = function(e) {
-                                               mxUtils.alert(xhr.statusText);
-                                       };
-                                       xhr.send('preproduction=' + xml + '&production=' + xml);
+                                       localStorage.setItem(name, xml);
+                                       this.editor.setStatus(mxResources.get('saved') + ' ' + new Date());
                                } else {
-                                       mxUtils.alert(mxResources.get('drawingTooLarge'));
-                                       mxUtils.popup(xml);
+                                       console.log(xml.length);
+                                       console.log(MAX_REQUEST_SIZE);
+                                       if (xml.length < MAX_REQUEST_SIZE) {
+                                               xml = encodeURIComponent(xml);
+
+                                               var xhr = new XMLHttpRequest();
+                                               xhr.open("PUT", SAVE_URL + this.editor.data.id, true);
+                                               xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
+                                               xhr.setRequestHeader('Authorization', 'Bearer ' + editor.data.token);
+                                               xhr.onload = function(e) {
+                                                       if (xhr.readyState === 4) {
+                                                               if (xhr.status === 200) {
+                                                                       editor.setStatus('Published at ' + JSON.parse(xhr.response).updatedAt +
+                                                                               ' (' + xhr.status + ' ' + xhr.statusText + ')');
+                                                               } else {
+                                                                       editor.setStatus('Error saving project: ' +
+                                                                               JSON.parse(xhr.response).errors[0].message);
+                                                               }
+                                                       }
+                                               };
+                                               xhr.onerror = function(e) {
+                                                       mxUtils.alert(xhr.statusText);
+                                               };
+                                               xhr.send('draft=' + xml + '&production=' + xml);
+                                       } else {
+                                               mxUtils.alert(mxResources.get('drawingTooLarge'));
+                                               mxUtils.popup(xml);
 
-                                       return;
+                                               return;
+                                       }
                                }
-                       }
 
-                       this.editor.filename = name;
-                       this.editor.modified = false;
-               } catch (e) {
-                       this.editor.setStatus('Error publishing file');
+                               this.editor.filename = name;
+                               this.editor.modified = false;
+                       } catch (e) {
+                               this.editor.setStatus('Error publishing file');
+                       }
+               } else {
+                       editor.setStatus('Error publishing project: ');
                }
        } else {
                this.editor.setStatus('Error publishing file');
        }
+       // }
+
+
+
 };
 
 /**
@@ -1310,7 +1301,7 @@ EditorUi.prototype.createMultiplicities = function(graph, cells, source,
        target) {
        for (var i = 0; i < cells.length; i++) {
                graph.push(new mxMultiplicity(true, cells[i], null, null, source[i][0],
-                       source[i][1], null, mxResources.get(cells[i]) + ' must have ' + source[i][0] + ' outcoming edge.', null));
+                       source[i][1], null, mxResources.get(cells[i]) + ' must have ' + source[i][0] + ' outgoing edge.', null));
                graph.push(new mxMultiplicity(false, cells[i], null, null, target[i][0],
                        target[i][1], null, mxResources.get(cells[i]) + ' must have ' + target[i][0] + ' incoming edge.', null));
        };
@@ -72,53 +72,12 @@ Sidebar.prototype.init = function() {
        var dir = STENCIL_PATH;
        console.log(dir);
 
-       this.addImagePalette('entry', mxResources.get('entry'), dir + '/entry/',
-               '_128x128.png', ['start', 'finally', 'end'], [mxResources.get('start'),
-                       mxResources.get('finally'), mxResources.get('end')
+       this.addImagePalette('entry', mxResources.get('application'), dir + '/',
+               '_128x128.png', ['start', 'question', 'input', 'end', 'email'], [mxResources.get('start'),
+                       mxResources.get('question'), mxResources.get('input'), mxResources.get('end'), mxResources.get('email')
                ]);
-       this.addImagePalette('call_management', mxResources.get('call_management'),
-               dir + '/call_management/', '_128x128.png', ['answer', 'hangup', 'dial',
-                       'ext_dial', 'queue', 'voicemail'
-                       // , 'callback'
-               ], [mxResources.get('answer'), mxResources.get('hangup'), mxResources.get(
-                               'dial'), mxResources.get('ext_dial'), mxResources.get('queue'),
-                       mxResources.get('voicemail')
-                       // , mxResources.get('callback')
-               ]);
-       this.addImagePalette('variable', mxResources.get('variable'), dir +
-               '/variable/', '_128x128.png', ['set', 'math'], [mxResources.get('set'),
-                       mxResources.get('math')
-               ]);
-       this.addImagePalette('playback', mxResources.get('playback'), dir +
-               '/playback/', '_128x128.png', ['playback', 'menu',
-                       'saydigits', 'saynumber', 'sayphonetic', 'tts', 'ispeechtts', 'getdigits'
-               ], [mxResources.get('playback'), mxResources
-                       .get('menu'), mxResources.get('saydigits'), mxResources.get('saynumber'),
-                       mxResources.get('sayphonetic'), mxResources.get('tts'), mxResources.get('ispeechtts'), mxResources.get('getdigits')
-               ]);
-       this.addImagePalette('recording', mxResources.get('recording'), dir +
-               '/recording/', '_128x128.png', ['record'], [mxResources.get('record')]);
-       this.addImagePalette('integrationServer', mxResources.get('integrationServer'),
-               dir + '/integration_server/', '_128x128.png', ['database', 'ispeechasr'], [
-                       mxResources.get('database'), mxResources.get('ispeechasr')
-               ]);
-       this.addImagePalette('callflow', mxResources.get('callflow'), dir +
-               '/callflow/', '_128x128.png', ['gotoc', 'gotoif', 'gotoiftime', 'vswitch'], [
-                       mxResources.get('gotoc'), mxResources.get('gotoif'), mxResources.get(
-                               'gotoiftime'), mxResources.get('vswitch')
-               ]);
-       this.addImagePalette('stats', mxResources.get('stats'), dir + '/stats/',
-               '_128x128.png', [
-                       // 'queuelog', 'goal'
-               ], [
-                       // mxResources.get('queuelog'),
-                       // mxResources.get('goal')
-               ]);
-       this.addImagePalette('general', mxResources.get('general'), dir + '/general/',
-               '_128x128.png', ['noop', 'system', 'agi', 'subproject','custom_app'], [mxResources.get(
-                       'noop'), mxResources.get('system'), mxResources.get('agi'), mxResources.get(
-                       'subproject'),mxResources.get(
-                       'custom_app')]);
+
+       // this.addBpmnPalette(dir, false);
 
 };
 
@@ -301,7 +260,7 @@ Sidebar.prototype.showTooltip = function(elt, cells, title, showLabel) {
                                // Workaround for ignored position CSS style in IE9
                                // (changes to relative without the following line)
                                // Added width of the page-sidebar
-                               left += document.getElementById('page-sidebar').offsetWidth;
+                               //              left += document.getElementById('page-sidebar').offsetWidth;
                                // Added static height of the page-navbar
                                top += 90;
 
@@ -450,6 +409,7 @@ Sidebar.prototype.createItem = function(cells, title, showLabel) {
        return elt;
 };
 
+
 /**
  * Creates a drop handler for inserting the given cells.
  */
@@ -505,10 +465,11 @@ Sidebar.prototype.createDragSource = function(elt, dropHandler, preview) {
                dropHandler,
                preview, 0, 0, this.editorUi.editor.graph.autoscroll, true, true);
 
+
+
        // Allows drop into cell only if target is a valid root
        dragSource.getDropTarget = function(graph, x, y) {
                var target = mxDragSource.prototype.getDropTarget.apply(this, arguments);
-
                if (!graph.isValidRoot(target)) {
                        target = null;
                }
@@ -519,6 +480,8 @@ Sidebar.prototype.createDragSource = function(elt, dropHandler, preview) {
        return dragSource;
 };
 
+
+
 /**
  * Adds a handler for inserting the cell with a single click.
  */
@@ -575,135 +538,26 @@ Sidebar.prototype.createVertexTemplate = function(style, width, height, value,
        var values = [];
 
        switch (value) {
-               case 'answer':
-                       break;
-               case 'ispeechasr':
-                       variables = ['key', 'model', 'ispeech_asr_language'];
-                       values = ['', 0, 'it-IT'];
-                       break;
-               case 'playback':
-                       variables = ['file_id', 'opts'];
-                       values = ['0'];
-                       break;
-               case 'background':
-                       variables = ['file_id', 'response', 'digit'];
-                       values = ['0', '5', '1'];
-                       break;
-               case 'menu':
-                       variables = ['file_id', 'response', 'digit', 'retry', 'variable_id'];
-                       values = ['0', '5', '1', '1', '0'];
-                       break;
-               case 'getdigits':
-                       variables = ['file_id', 'response', 'mindigit', 'maxdigit', 'retry', 'variable_id'];
-                       values = ['0', '5', '1', '10', '1', '0'];
-                       break;
-               case 'custom_app':
-                       variables = ['application', 'options'];
-                       values = ['',''];
-                       break;
-               case 'set':
-                       variables = ['variable_id', 'variable_value'];
-                       values = ['0', ''];
-                       break;
-               case 'database':
-                       variables = ['odbc_id', 'query', 'variable_id'];
-                       values = ['0', '', '0'];
-                       break;
-               case 'noop':
-                       variables = ['output'];
-                       values = [];
-                       break;
-               case 'gotoc':
-                       variables = ['context', 'extension'];
-                       values = [];
-                       break;
-               case 'system':
-                       variables = ['variable_id', 'command'];
-                       values = [];
-                       break;
-               case 'agi':
-                       variables = ['args', 'command'];
-                       values = [];
-                       break;
-               case 'gotoif':
-                       variables = ['condition'];
-                       values = [];
-                       break;
-               case 'gotoiftime':
-                       variables = ['interval_id'];
-                       values = ['0'];
-                       break;
-               case 'gotoifmultitime':
-                       variables = ['interval_id'];
-                       values = ['0'];
-                       break;
-               case 'vswitch':
-                       variables = ['variable_id'];
-                       values = ['0'];
-                       break;
-               case 'saydigits':
-                       variables = ['digits', 'escape_digits'];
-                       values = ['', '#'];
-                       break;
-               case 'saynumber':
-                       variables = ['number', 'escape_digits'];
-                       values = ['', '#'];
-                       break;
-               case 'sayphonetic':
-                       variables = ['text', 'escape_digits'];
-                       values = ['', '#'];
-                       break;
-               case 'record':
-                       variables = ['file', 'timeout', 'escape_digits'];
-                       values = ['', '-1', '#'];
-                       break;
-               case 'dial':
-                       variables = ['sip_id', 'timeout', 'custom_app', 'url'];
-                       values = ['0', '60'];
-                       break;
-               case 'ext_dial':
-                       variables = ['phone', 'trunk_id', 'timeout', 'opts', 'url'];
-                       values = ['', '0', '60'];
-                       break;
-               case 'tts':
-                       variables = ['text', 'google_tts_language'];
-                       values = ['', 'it'];
-                       break;
-               case 'ispeechtts':
-                       variables = ['text', 'key', 'ispeech_tts_language'];
-                       values = ['', '', 'euritalianfemale'];
-                       break;
-               case 'queue':
-                       variables = ['queue_id', 'opts', 'url', 'file_id', 'timeout', 'agi',
-                               'macro', 'gosub', 'position'
-                       ];
-                       values = ['0', '', '', '0', '300'];
-                       break;
-               case 'voicemail':
-                       variables = ['boxnumber', 'context', 'opts'];
-                       values = ['', 'from-voicemail'];
-                       break;
-               case 'subproject':
-                       variables = ['project_id'];
-                       values = ['0'];
-                       break;
-               case 'math':
-                       variables = ['operation', 'variable_id'];
-                       values = ['', '0'];
-                       break;
-               case 'queuelog':
-                       variables = ['queuename', 'agent', 'queue_event', 'data1', 'data2', 'data3',
-                               'data4', 'data5'
-                       ];
-                       values = [];
-                       break;
-               case 'goal':
-                       variables = ['goalname'];
-                       values = [];
-                       break;
-               case 'callback':
-                       variables = ['list_id'];
-                       values = ['0', '{CALLERID(num)}'];
+
+               // case 'start':
+               //      variables = ['Text'];
+               //      values = [];
+               //      break;
+               case 'question':
+                       variables = ['question', 'other'];
+                       values = ['', 'false'];
+                       break;
+               case 'input':
+                       variables = ['question', 'Type'];
+                       values = [''];
+                       break;
+                       // case 'end':
+                       //      variables = ['Text', 'Zendesk', 'Summary'];
+                       //      values = [];
+                       //      break;
+               case 'email':
+                       variables = ["Host", "Username", "Password", "To", "Subject", "Body"];
+                       values = [''];
                        break;
                default:
                        variables = [];
@@ -721,6 +575,8 @@ Sidebar.prototype.createVertexTemplate = function(style, width, height, value,
                showLabel);
 };
 
+
+
 /**
  * Creates a drop handler for inserting the given cells.
  */
@@ -789,6 +645,7 @@ Sidebar.prototype.createEdgeTemplateFromCells = function(cells, width, height,
        }));
 
        // Shows a tooltip with the rendered cell
+       touchStyle = false;
        if (!touchStyle) {
                mxEvent.addListener(elt, 'mousemove', mxUtils.bind(this, function(evt) {
                        this.showTooltip(elt, cells, title, showLabel);
@@ -901,3 +758,30 @@ Sidebar.prototype.addImagePalette = function(id, title, prefix, postfix, items,
                }
        }));
 };
+// ***********modified***************
+// Sidebar.prototype.addBpmnPalette = function(dir, expand) {
+//     //Abigael Dawit
+//
+//     var fns = [
+//             this.createVertexTemplate(
+//                     'text;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;',
+//                     40, 20, 'Text', 'Text', null),
+//             //this.createVertexTemplate('shape=ext;rounded=1;whiteSpace=wrap;dashed=1;dashPattern=1 4;', 120, 80, 'Event\nSub-Process', 'Event Sub-Process', null),
+//             this.createVertexTemplate('shape=swimlane;whiteSpace=wrap;startSize=60;',
+//                     120, 160, 'Container', 'Container', null),
+//             //      this.createVertexTemplate('shape=ellipse;', 120, 160, 'Ellips', 'Ellipse', null)
+//             this.createVertexTemplate(
+//                     'shape=swimlane;html=1;horizontal=0;swimlaneFillColor=white;swimlaneLine=0;fillColor=none;rounded=1;verticalAlign=middle',
+//                     300, 120, 'Lane', 'Lane', null)
+//
+//     ]
+//
+//     this.addPalette('utility', 'Utility ', false, mxUtils.bind(this, function(
+//             content) {
+//             //var showTitles = titles != null;
+//             for (var i = 0; i < fns.length; i++) {
+//                     content.appendChild(fns[i]);
+//             }
+//     }));
+//
+// };
@@ -28,11 +28,11 @@ var MAX_HEIGHT = 12000;
 var EXPORT_URL = 'http://exp.draw.io/ImageExport2/export';
 var SHARE_HOST = 'http://localhost:3000';
 
-var SAVE_URL = 'api/square/projects/';
+var SAVE_URL = 'api/jscripty/projects/';
 var VARIABLE_URL = 'api/square/variables/';
 
 // Paths and files
-var STENCIL_PATH = '/assets/plugins/mxgraph/stencils';
+var STENCIL_PATH = '/assets/plugins/jscripty/stencils';
 var SHAPES_PATH = '/assets/plugins/mxgraph/shapes';
 var IMAGE_PATH = '/assets/plugins/mxgraph/images';
 // Path for images inside the diagram
@@ -40,11 +40,11 @@ var IMAGE_PATH = '/assets/plugins/mxgraph/images';
 //var ICONFINDER_PATH = 'iconfinder';
 var STYLE_PATH = '/assets/plugins/mxgraph/styles';
 var CSS_PATH = '/assets/plugins/mxgraph/styles';
-var OPEN_FORM = 'api/square/projects/open';
-var TEMPLATE_PATH = '/assets/plugins/mxgraph/templates';
+var OPEN_FORM = 'api/jscripty/projects/open';
+var TEMPLATE_PATH = '/assets/plugins/jscripty/templates';
 
 // Directory for i18 files and basename for main i18n file
-var RESOURCES_PATH = '/assets/plugins/mxgraph/resources';
+var RESOURCES_PATH = '/assets/plugins/jscripty/resources';
 var RESOURCE_BASE = RESOURCES_PATH + '/dia';
 
 // Specifies connection mode for touch devices (at least one should be true)
@@ -52,7 +52,20 @@ var tapAndHoldStartsConnection = true;
 var showConnectorImg = true;
 
 var mxLoadResources = false;
-var mxLanguage = 'it';
+// var mxLanguage = '';
+console.log('custom', localStorage.getItem("NG_TRANSLATE_LANG_KEY"));
+switch (localStorage.getItem("NG_TRANSLATE_LANG_KEY")) {
+       case 'en_EN':
+               mxLanguage = 'en';
+               break;
+       case 'it':
+               mxLanguage = 'it';
+               break;
+       default:
+               mxLanguage = 'it';
+}
+console.log('mxLanguage', mxLanguage);
+
 var mxLanguages = ['ar', 'bs', 'cs', 'da', 'de', 'el', 'es', 'es-ar', 'fr',
        'hu', 'id', 'it', 'ja', 'ko', 'nl', 'no', 'pl', 'pt-br', 'pt', 'ro', 'ru',
        'sr', 'sv', 'th', 'tr', 'uk', 'zh'
@@ -1,5 +1,30 @@
 # *DO NOT DIRECTLY EDIT THIS FILE, IT IS AUTOMATICALLY GENERATED AND IT IS BASED ON:*
 # https://docs.google.com/spreadsheet/ccc?key=0AmQEO36liL4FdDJLWVNMaVV2UmRKSnpXU09MYkdGbEE
+#Applications
+application=Applications
+start=Start
+end=End
+input=Input
+question=Question
+email=Email
+Type=Type
+Host=Host
+Username=Username
+Password=Password
+To=To
+Subject=Subject
+Body=Body
+Zendesk=Zendesk
+Summary=Summary
+text=Text
+Text=Text
+label=Label
+saveAs=save As
+publish=Publish
+variable=Variable
+name=Name
+other=Other
+#
 aboutDrawio=About draw.io
 access_denied=Access denied
 actualSize=Actual Size
@@ -207,7 +232,7 @@ selectEdges=Select Edges
 selectFont=Select a font
 selectVertices=Select Vertices
 sendMessage=Send
-sessionTimeoutOnSave=Your session has timed out and you have been disconnected from the Google Drive. Press OK to login and save. 
+sessionTimeoutOnSave=Your session has timed out and you have been disconnected from the Google Drive. Press OK to login and save.
 setAsDefaultEdge=Set as default edge
 shadow=Shadow
 shape=Shape
@@ -264,11 +264,30 @@ retry=Retry
 #Set
 name=Name
 value=Value
-#Entry
-entry=Entry
+#Applications
+application=Applications
 start=Start
-finally=Finally
 end=End
+input=Input
+question=Question
+email=Email
+Type=Type
+Host=Host
+Username=Username
+Password=Password
+To=To
+Subject=Subject
+Body=Body
+Zendesk=Zendesk
+Summary=Summary
+Text=Text
+other=Other
+
+#Entry
+#entry=Entry
+#start=Start
+#finally=Finally
+#end=End
 #Variable
 variable=Variable
 set=Set
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..37e779efdda69de04f797da53ad602e5ff376233
Binary files /dev/null and b/public/assets/plugins/jscripty/stencils/input_128x128.png differ
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..0ee212ccd2f43b2839d9782116e0155ff620fbfb
Binary files /dev/null and b/public/assets/plugins/jscripty/stencils/question_128x128.png differ
diff --git a/public/assets/plugins/jscripty/stencils/input_128x128.png b/public/assets/plugins/jscripty/stencils/input_128x128.png
similarity index 100%
copy from
copy to public/assets/plugins/jscripty/stencils/input_128x128.png
diff --git a/public/assets/plugins/jscripty/stencils/question_128x128.png b/public/assets/plugins/jscripty/stencils/question_128x128.png
similarity index 100%
copy from
copy to public/assets/plugins/jscripty/stencils/question_128x128.png
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..2b0d961b8c101790490c7b97270610541293f2cb
Binary files /dev/null and b/public/assets/plugins/mxgraph/images/warning.gif differ
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..cf53cddc3cb57809786855ed3f2d7c1248cc688d
Binary files /dev/null and b/public/assets/plugins/mxgraph/images/warning.png differ
index 93d223df2bbcd34178e3144673d0c594e7a044f8..b0067ec5e976778f0f90d9deff773c5469f47bee 100644 (file)
 var mxClient = {
-    VERSION: "2.0.0.0",
-    IS_IE: 0 <= navigator.userAgent.indexOf("MSIE"),
-    IS_IE6: 0 <= navigator.userAgent.indexOf("MSIE 6"),
-    IS_QUIRKS: 0 <= navigator.userAgent.indexOf("MSIE") && (null == document.documentMode || 5 == document.documentMode),
-    VML_PREFIX: "v",
-    OFFICE_PREFIX: "o",
-    IS_NS: 0 <= navigator.userAgent.indexOf("Mozilla/") && 0 > navigator.userAgent.indexOf("MSIE"),
-    IS_OP: 0 <= navigator.userAgent.indexOf("Opera/"),
-    IS_OT: 0 > navigator.userAgent.indexOf("Presto/2.4.") && 0 > navigator.userAgent.indexOf("Presto/2.3.") && 0 > navigator.userAgent.indexOf("Presto/2.2.") &&
-        0 > navigator.userAgent.indexOf("Presto/2.1.") && 0 > navigator.userAgent.indexOf("Presto/2.0.") && 0 > navigator.userAgent.indexOf("Presto/1."),
-    IS_SF: 0 <= navigator.userAgent.indexOf("AppleWebKit/") && 0 > navigator.userAgent.indexOf("Chrome/"),
-    IS_GC: 0 <= navigator.userAgent.indexOf("Chrome/"),
-    IS_MT: 0 <= navigator.userAgent.indexOf("Firefox/") && 0 > navigator.userAgent.indexOf("Firefox/1.") && 0 > navigator.userAgent.indexOf("Firefox/2.") || 0 <= navigator.userAgent.indexOf("Iceweasel/") && 0 > navigator.userAgent.indexOf("Iceweasel/1.") &&
-        0 > navigator.userAgent.indexOf("Iceweasel/2.") || 0 <= navigator.userAgent.indexOf("SeaMonkey/") && 0 > navigator.userAgent.indexOf("SeaMonkey/1.") || 0 <= navigator.userAgent.indexOf("Iceape/") && 0 > navigator.userAgent.indexOf("Iceape/1."),
-    IS_SVG: 0 <= navigator.userAgent.indexOf("Firefox/") || 0 <= navigator.userAgent.indexOf("Iceweasel/") || 0 <= navigator.userAgent.indexOf("Seamonkey/") || 0 <= navigator.userAgent.indexOf("Iceape/") || 0 <= navigator.userAgent.indexOf("Galeon/") || 0 <= navigator.userAgent.indexOf("Epiphany/") || 0 <=
-        navigator.userAgent.indexOf("AppleWebKit/") || 0 <= navigator.userAgent.indexOf("Gecko/") || 0 <= navigator.userAgent.indexOf("Opera/"),
-    NO_FO: 0 <= navigator.userAgent.indexOf("Firefox/1.") || 0 <= navigator.userAgent.indexOf("Iceweasel/1.") || 0 <= navigator.userAgent.indexOf("Firefox/2.") || 0 <= navigator.userAgent.indexOf("Iceweasel/2.") || 0 <= navigator.userAgent.indexOf("SeaMonkey/1.") || 0 <= navigator.userAgent.indexOf("Iceape/1.") || 0 <= navigator.userAgent.indexOf("Camino/1.") || 0 <= navigator.userAgent.indexOf("Epiphany/2.") ||
-        0 <= navigator.userAgent.indexOf("Opera/") || 0 <= navigator.userAgent.indexOf("MSIE") || 0 <= navigator.userAgent.indexOf("Mozilla/2."),
-    IS_VML: "MICROSOFT INTERNET EXPLORER" == navigator.appName.toUpperCase(),
-    IS_MAC: 0 < navigator.userAgent.toUpperCase().indexOf("MACINTOSH"),
-    IS_TOUCH: 0 < navigator.userAgent.toUpperCase().indexOf("IPAD") || 0 < navigator.userAgent.toUpperCase().indexOf("IPOD") || 0 < navigator.userAgent.toUpperCase().indexOf("IPHONE") || 0 < navigator.userAgent.toUpperCase().indexOf("ANDROID"),
-    IS_LOCAL: 0 > document.location.href.indexOf("http://") &&
-        0 > document.location.href.indexOf("https://"),
-    isBrowserSupported: function() {
-        return mxClient.IS_VML || mxClient.IS_SVG
-    },
-    link: function(a, b, c) {
-        c = c || document;
-        if (mxClient.IS_IE6) c.write('\x3clink rel\x3d"' + a + '" href\x3d"' + b + '" charset\x3d"ISO-8859-1" type\x3d"text/css"/\x3e');
-        else {
-            var d = c.createElement("link");
-            d.setAttribute("rel", a);
-            d.setAttribute("href", b);
-            d.setAttribute("charset", "ISO-8859-1");
-            d.setAttribute("type", "text/css");
-            c.getElementsByTagName("head")[0].appendChild(d)
-        }
-    },
-    include: function(a) {
-        document.write('\x3cscript src\x3d"' +
-            a + '"\x3e\x3c/script\x3e')
-    },
-    dispose: function() {
-        for (var a = 0; a < mxEvent.objects.length; a++) null != mxEvent.objects[a].mxListenerList && mxEvent.removeAllListeners(mxEvent.objects[a])
-    }
-};
-mxClient.IS_OP && mxClient.IS_OT ? mxClient.CSS_PREFIX = "O" : mxClient.IS_SF || mxClient.IS_GC ? mxClient.CSS_PREFIX = "Webkit" : mxClient.IS_MT ? mxClient.CSS_PREFIX = "Moz" : mxClient.IS_IE && 9 <= document.documentMode && (mxClient.CSS_PREFIX = "ms");
+  VERSION: "2.0.0.0",
+  IS_IE: 0 <= navigator.userAgent.indexOf("MSIE"),
+  IS_IE6: 0 <= navigator.userAgent.indexOf("MSIE 6"),
+  IS_QUIRKS: 0 <= navigator.userAgent.indexOf("MSIE") && (null == document.documentMode || 5 == document.documentMode),
+  VML_PREFIX: "v",
+  OFFICE_PREFIX: "o",
+  IS_NS: 0 <= navigator.userAgent.indexOf("Mozilla/") && 0 > navigator.userAgent.indexOf("MSIE"),
+  IS_OP: 0 <= navigator.userAgent.indexOf("Opera/"),
+  IS_OT: 0 > navigator.userAgent.indexOf("Presto/2.4.") && 0 > navigator.userAgent.indexOf("Presto/2.3.") && 0 > navigator.userAgent.indexOf("Presto/2.2.") &&
+    0 > navigator.userAgent.indexOf("Presto/2.1.") && 0 > navigator.userAgent.indexOf("Presto/2.0.") && 0 > navigator.userAgent.indexOf("Presto/1."),
+  IS_SF: 0 <= navigator.userAgent.indexOf("AppleWebKit/") && 0 > navigator.userAgent.indexOf("Chrome/"),
+  IS_GC: 0 <= navigator.userAgent.indexOf("Chrome/"),
+  IS_MT: 0 <= navigator.userAgent.indexOf("Firefox/") && 0 > navigator.userAgent.indexOf("Firefox/1.") && 0 > navigator.userAgent.indexOf("Firefox/2.") || 0 <= navigator.userAgent.indexOf(
+      "Iceweasel/") && 0 > navigator.userAgent.indexOf("Iceweasel/1.") &&
+    0 > navigator.userAgent.indexOf("Iceweasel/2.") || 0 <= navigator.userAgent.indexOf("SeaMonkey/") && 0 > navigator.userAgent.indexOf("SeaMonkey/1.") || 0 <= navigator.userAgent.indexOf(
+      "Iceape/") && 0 > navigator.userAgent.indexOf("Iceape/1."),
+  IS_SVG: 0 <= navigator.userAgent.indexOf("Firefox/") || 0 <= navigator.userAgent.indexOf("Iceweasel/") || 0 <= navigator.userAgent.indexOf("Seamonkey/") || 0 <= navigator.userAgent.indexOf(
+      "Iceape/") || 0 <= navigator.userAgent.indexOf("Galeon/") || 0 <= navigator.userAgent.indexOf("Epiphany/") || 0 <=
+    navigator.userAgent.indexOf("AppleWebKit/") || 0 <= navigator.userAgent.indexOf("Gecko/") || 0 <= navigator.userAgent.indexOf("Opera/"),
+  NO_FO: 0 <= navigator.userAgent.indexOf("Firefox/1.") || 0 <= navigator.userAgent.indexOf("Iceweasel/1.") || 0 <= navigator.userAgent.indexOf("Firefox/2.") || 0 <= navigator.userAgent.indexOf(
+      "Iceweasel/2.") || 0 <= navigator.userAgent.indexOf("SeaMonkey/1.") || 0 <= navigator.userAgent.indexOf("Iceape/1.") || 0 <= navigator.userAgent.indexOf("Camino/1.") || 0 <= navigator.userAgent
+    .indexOf("Epiphany/2.") ||
+    0 <= navigator.userAgent.indexOf("Opera/") || 0 <= navigator.userAgent.indexOf("MSIE") || 0 <= navigator.userAgent.indexOf("Mozilla/2."),
+  IS_VML: "MICROSOFT INTERNET EXPLORER" == navigator.appName.toUpperCase(),
+  IS_MAC: 0 < navigator.userAgent.toUpperCase().indexOf("MACINTOSH"),
+  IS_TOUCH: 0 < navigator.userAgent.toUpperCase().indexOf("IPAD") || 0 < navigator.userAgent.toUpperCase().indexOf("IPOD") || 0 < navigator.userAgent.toUpperCase().indexOf("IPHONE") || 0 <
+    navigator.userAgent.toUpperCase().indexOf("ANDROID"),
+  IS_LOCAL: 0 > document.location.href.indexOf("http://") &&
+    0 > document.location.href.indexOf("https://"),
+  isBrowserSupported: function() {
+    return mxClient.IS_VML || mxClient.IS_SVG
+  },
+  link: function(a, b, c) {
+    c = c || document;
+    if (mxClient.IS_IE6) c.write('\x3clink rel\x3d"' + a + '" href\x3d"' + b + '" charset\x3d"ISO-8859-1" type\x3d"text/css"/\x3e');
+    else {
+      var d = c.createElement("link");
+      d.setAttribute("rel", a);
+      d.setAttribute("href", b);
+      d.setAttribute("charset", "ISO-8859-1");
+      d.setAttribute("type", "text/css");
+      c.getElementsByTagName("head")[0].appendChild(d)
+    }
+  },
+  include: function(a) {
+    document.write('\x3cscript src\x3d"' +
+      a + '"\x3e\x3c/script\x3e')
+  },
+  dispose: function() {
+    for (var a = 0; a < mxEvent.objects.length; a++) null != mxEvent.objects[a].mxListenerList && mxEvent.removeAllListeners(mxEvent.objects[a])
+  }
+};
+mxClient.IS_OP && mxClient.IS_OT ? mxClient.CSS_PREFIX = "O" : mxClient.IS_SF || mxClient.IS_GC ? mxClient.CSS_PREFIX = "Webkit" : mxClient.IS_MT ? mxClient.CSS_PREFIX = "Moz" : mxClient.IS_IE && 9 <=
+  document.documentMode && (mxClient.CSS_PREFIX = "ms");
 "undefined" == typeof mxLoadResources && (mxLoadResources = !0);
 "undefined" == typeof mxResourceExtension && (mxResourceExtension = ".txt");
 "undefined" == typeof mxLoadStylesheets && (mxLoadStylesheets = !0);
-"undefined" != typeof mxBasePath && 0 < mxBasePath.length ? ("/" == mxBasePath.substring(mxBasePath.length - 1) && (mxBasePath = mxBasePath.substring(0, mxBasePath.length - 1)), mxClient.basePath = mxBasePath) : mxClient.basePath = ".";
-"undefined" != typeof mxImageBasePath && 0 < mxImageBasePath.length ? ("/" == mxImageBasePath.substring(mxImageBasePath.length - 1) && (mxImageBasePath = mxImageBasePath.substring(0, mxImageBasePath.length - 1)), mxClient.imageBasePath = mxImageBasePath) : mxClient.imageBasePath = mxClient.basePath + "/images";
+"undefined" != typeof mxBasePath && 0 < mxBasePath.length ? ("/" == mxBasePath.substring(mxBasePath.length - 1) && (mxBasePath = mxBasePath.substring(0, mxBasePath.length - 1)), mxClient.basePath =
+  mxBasePath) : mxClient.basePath = ".";
+"undefined" != typeof mxImageBasePath && 0 < mxImageBasePath.length ? ("/" == mxImageBasePath.substring(mxImageBasePath.length - 1) && (mxImageBasePath = mxImageBasePath.substring(0, mxImageBasePath.length -
+  1)), mxClient.imageBasePath = mxImageBasePath) : mxClient.imageBasePath = mxClient.basePath + "/images";
 mxClient.language = "undefined" != typeof mxLanguage ? mxLanguage : mxClient.IS_IE ? navigator.userLanguage : navigator.language;
 mxClient.defaultLanguage = "undefined" != typeof mxDefaultLanguage ? mxDefaultLanguage : "en";
 mxLoadStylesheets && mxClient.link("stylesheet", mxClient.basePath + "/css/common.css");
 "undefined" != typeof mxLanguages && (mxClient.languages = mxLanguages);
 if (mxClient.IS_IE) {
-    if (9 <= document.documentMode) mxClient.IS_VML = !1, mxClient.IS_SVG = !0;
-    else {
-        8 == document.documentMode ? (document.namespaces.add(mxClient.VML_PREFIX, "urn:schemas-microsoft-com:vml", "#default#VML"), document.namespaces.add(mxClient.OFFICE_PREFIX, "urn:schemas-microsoft-com:office:office", "#default#VML")) : (document.namespaces.add(mxClient.VML_PREFIX, "urn:schemas-microsoft-com:vml"), document.namespaces.add(mxClient.OFFICE_PREFIX, "urn:schemas-microsoft-com:office:office"));
-        var ss = document.createStyleSheet();
-        ss.cssText = "v\\:*{behavior:url(#default#VML)}o\\:*{behavior:url(#default#VML)}";
-        mxLoadStylesheets && mxClient.link("stylesheet", mxClient.basePath + "/css/explorer.css")
-    }
-    window.attachEvent("onunload", mxClient.dispose)
+  if (9 <= document.documentMode) mxClient.IS_VML = !1, mxClient.IS_SVG = !0;
+  else {
+    8 == document.documentMode ? (document.namespaces.add(mxClient.VML_PREFIX, "urn:schemas-microsoft-com:vml", "#default#VML"), document.namespaces.add(mxClient.OFFICE_PREFIX,
+      "urn:schemas-microsoft-com:office:office", "#default#VML")) : (document.namespaces.add(mxClient.VML_PREFIX, "urn:schemas-microsoft-com:vml"), document.namespaces.add(mxClient.OFFICE_PREFIX,
+      "urn:schemas-microsoft-com:office:office"));
+    var ss = document.createStyleSheet();
+    ss.cssText = "v\\:*{behavior:url(#default#VML)}o\\:*{behavior:url(#default#VML)}";
+    mxLoadStylesheets && mxClient.link("stylesheet", mxClient.basePath + "/css/explorer.css")
+  }
+  window.attachEvent("onunload", mxClient.dispose)
 }
 var mxLog = {
-        consoleName: "Console",
-        TRACE: !1,
-        DEBUG: !0,
-        WARN: !0,
-        buffer: "",
-        init: function() {
-            if (null == mxLog.window && null != document.body) {
-                var a = mxLog.consoleName + " - mxGraph " + mxClient.VERSION,
-                    b = document.createElement("table");
-                b.setAttribute("width", "100%");
-                b.setAttribute("height", "100%");
-                var c = document.createElement("tbody"),
-                    d = document.createElement("tr"),
-                    e = document.createElement("td");
-                e.style.verticalAlign = "top";
-                mxLog.textarea = document.createElement("textarea");
-                mxLog.textarea.setAttribute("readOnly", "true");
-                mxLog.textarea.style.height = "100%";
-                mxLog.textarea.style.resize = "none";
-                mxLog.textarea.value = mxLog.buffer;
-                mxLog.textarea.style.width = mxClient.IS_NS && "BackCompat" != document.compatMode ? "99%" : "100%";
-                e.appendChild(mxLog.textarea);
-                d.appendChild(e);
-                c.appendChild(d);
-                d = document.createElement("tr");
-                mxLog.td = document.createElement("td");
-                mxLog.td.style.verticalAlign = "top";
-                mxLog.td.setAttribute("height", "30px");
-                d.appendChild(mxLog.td);
-                c.appendChild(d);
-                b.appendChild(c);
-                mxLog.addButton("Info", function(a) {
-                    mxLog.info()
-                });
-                mxLog.addButton("DOM", function(a) {
-                    a = mxUtils.getInnerHtml(document.body);
-                    mxLog.debug(a)
-                });
-                mxLog.addButton("Trace", function(a) {
-                    mxLog.TRACE = !mxLog.TRACE;
-                    mxLog.TRACE ? mxLog.debug("Tracing enabled") : mxLog.debug("Tracing disabled")
-                });
-                mxLog.addButton("Copy", function(a) {
-                    try {
-                        mxUtils.copy(mxLog.textarea.value)
-                    } catch (b) {
-                        mxUtils.alert(b)
-                    }
-                });
-                mxLog.addButton("Show", function(a) {
-                    try {
-                        mxUtils.popup(mxLog.textarea.value)
-                    } catch (b) {
-                        mxUtils.alert(b)
-                    }
-                });
-                mxLog.addButton("Clear", function(a) {
-                    mxLog.textarea.value = ""
-                });
-                d = c = 0;
-                "number" === typeof window.innerWidth ? (c = window.innerHeight, d = window.innerWidth) : (c = document.documentElement.clientHeight || document.body.clientHeight, d = document.body.clientWidth);
-                mxLog.window = new mxWindow(a, b, Math.max(0, d - 320), Math.max(0, c - 210), 300, 160);
-                mxLog.window.setMaximizable(!0);
-                mxLog.window.setScrollable(!1);
-                mxLog.window.setResizable(!0);
-                mxLog.window.setClosable(!0);
-                mxLog.window.destroyOnClose = !1;
-                if ((mxClient.IS_NS || mxClient.IS_IE) && !mxClient.IS_GC && !mxClient.IS_SF && "BackCompat" != document.compatMode) {
-                    var f =
-                        mxLog.window.getElement(),
-                        a = function(a, b) {
-                            mxLog.textarea.style.height = Math.max(0, f.offsetHeight - 70) + "px"
-                        };
-                    mxLog.window.addListener(mxEvent.RESIZE_END, a);
-                    mxLog.window.addListener(mxEvent.MAXIMIZE, a);
-                    mxLog.window.addListener(mxEvent.NORMALIZE, a);
-                    mxLog.textarea.style.height = "92px"
-                }
-            }
-        },
-        info: function() {
-            mxLog.writeln(mxUtils.toString(navigator))
-        },
-        addButton: function(a, b) {
-            var c = document.createElement("button");
-            mxUtils.write(c, a);
-            mxEvent.addListener(c, "click", b);
-            mxLog.td.appendChild(c)
-        },
-        isVisible: function() {
-            return null !=
-                mxLog.window ? mxLog.window.isVisible() : !1
-        },
-        show: function() {
-            mxLog.setVisible(!0)
-        },
-        setVisible: function(a) {
-            null == mxLog.window && mxLog.init();
-            null != mxLog.window && mxLog.window.setVisible(a)
-        },
-        enter: function(a) {
-            if (mxLog.TRACE) return mxLog.writeln("Entering " + a), (new Date).getTime()
-        },
-        leave: function(a, b) {
-            if (mxLog.TRACE) {
-                var c = 0 != b ? " (" + ((new Date).getTime() - b) + " ms)" : "";
-                mxLog.writeln("Leaving " + a + c)
-            }
-        },
-        debug: function() {
-            mxLog.DEBUG && mxLog.writeln.apply(this, arguments)
-        },
-        warn: function() {
-            mxLog.WARN && mxLog.writeln.apply(this,
-                arguments)
-        },
-        write: function() {
-            for (var a = "", b = 0; b < arguments.length; b++) a += arguments[b], b < arguments.length - 1 && (a += " ");
-            null != mxLog.textarea ? (mxLog.textarea.value += a, 0 <= navigator.userAgent.indexOf("Presto/2.5") && (mxLog.textarea.style.visibility = "hidden", mxLog.textarea.style.visibility = "visible"), mxLog.textarea.scrollTop = mxLog.textarea.scrollHeight) : mxLog.buffer += a
-        },
-        writeln: function() {
-            for (var a = "", b = 0; b < arguments.length; b++) a += arguments[b], b < arguments.length - 1 && (a += " ");
-            mxLog.write(a + "\n")
+    consoleName: "Console",
+    TRACE: !1,
+    DEBUG: !0,
+    WARN: !0,
+    buffer: "",
+    init: function() {
+      if (null == mxLog.window && null != document.body) {
+        var a = mxLog.consoleName + " - mxGraph " + mxClient.VERSION,
+          b = document.createElement("table");
+        b.setAttribute("width", "100%");
+        b.setAttribute("height", "100%");
+        var c = document.createElement("tbody"),
+          d = document.createElement("tr"),
+          e = document.createElement("td");
+        e.style.verticalAlign = "top";
+        mxLog.textarea = document.createElement("textarea");
+        mxLog.textarea.setAttribute("readOnly", "true");
+        mxLog.textarea.style.height = "100%";
+        mxLog.textarea.style.resize = "none";
+        mxLog.textarea.value = mxLog.buffer;
+        mxLog.textarea.style.width = mxClient.IS_NS && "BackCompat" != document.compatMode ? "99%" : "100%";
+        e.appendChild(mxLog.textarea);
+        d.appendChild(e);
+        c.appendChild(d);
+        d = document.createElement("tr");
+        mxLog.td = document.createElement("td");
+        mxLog.td.style.verticalAlign = "top";
+        mxLog.td.setAttribute("height", "30px");
+        d.appendChild(mxLog.td);
+        c.appendChild(d);
+        b.appendChild(c);
+        mxLog.addButton("Info", function(a) {
+          mxLog.info()
+        });
+        mxLog.addButton("DOM", function(a) {
+          a = mxUtils.getInnerHtml(document.body);
+          mxLog.debug(a)
+        });
+        mxLog.addButton("Trace", function(a) {
+          mxLog.TRACE = !mxLog.TRACE;
+          mxLog.TRACE ? mxLog.debug("Tracing enabled") : mxLog.debug("Tracing disabled")
+        });
+        mxLog.addButton("Copy", function(a) {
+          try {
+            mxUtils.copy(mxLog.textarea.value)
+          } catch (b) {
+            mxUtils.alert(b)
+          }
+        });
+        mxLog.addButton("Show", function(a) {
+          try {
+            mxUtils.popup(mxLog.textarea.value)
+          } catch (b) {
+            mxUtils.alert(b)
+          }
+        });
+        mxLog.addButton("Clear", function(a) {
+          mxLog.textarea.value = ""
+        });
+        d = c = 0;
+        "number" === typeof window.innerWidth ? (c = window.innerHeight, d = window.innerWidth) : (c = document.documentElement.clientHeight || document.body.clientHeight, d = document.body.clientWidth);
+        mxLog.window = new mxWindow(a, b, Math.max(0, d - 320), Math.max(0, c - 210), 300, 160);
+        mxLog.window.setMaximizable(!0);
+        mxLog.window.setScrollable(!1);
+        mxLog.window.setResizable(!0);
+        mxLog.window.setClosable(!0);
+        mxLog.window.destroyOnClose = !1;
+        if ((mxClient.IS_NS || mxClient.IS_IE) && !mxClient.IS_GC && !mxClient.IS_SF && "BackCompat" != document.compatMode) {
+          var f =
+            mxLog.window.getElement(),
+            a = function(a, b) {
+              mxLog.textarea.style.height = Math.max(0, f.offsetHeight - 70) + "px"
+            };
+          mxLog.window.addListener(mxEvent.RESIZE_END, a);
+          mxLog.window.addListener(mxEvent.MAXIMIZE, a);
+          mxLog.window.addListener(mxEvent.NORMALIZE, a);
+          mxLog.textarea.style.height = "92px"
         }
+      }
     },
-    mxObjectIdentity = {
-        FIELD_NAME: "mxObjectId",
-        counter: 0,
-        get: function(a) {
-            if ("object" == typeof a && null == a[mxObjectIdentity.FIELD_NAME]) {
-                var b = mxUtils.getFunctionName(a.constructor);
-                a[mxObjectIdentity.FIELD_NAME] = b + "#" + mxObjectIdentity.counter++
-            }
-            return a[mxObjectIdentity.FIELD_NAME]
-        },
-        clear: function(a) {
-            "object" == typeof a && delete a[mxObjectIdentity.FIELD_NAME]
-        }
-    };
+    info: function() {
+      mxLog.writeln(mxUtils.toString(navigator))
+    },
+    addButton: function(a, b) {
+      var c = document.createElement("button");
+      mxUtils.write(c, a);
+      mxEvent.addListener(c, "click", b);
+      mxLog.td.appendChild(c)
+    },
+    isVisible: function() {
+      return null !=
+        mxLog.window ? mxLog.window.isVisible() : !1
+    },
+    show: function() {
+      mxLog.setVisible(!0)
+    },
+    setVisible: function(a) {
+      null == mxLog.window && mxLog.init();
+      null != mxLog.window && mxLog.window.setVisible(a)
+    },
+    enter: function(a) {
+      if (mxLog.TRACE) return mxLog.writeln("Entering " + a), (new Date).getTime()
+    },
+    leave: function(a, b) {
+      if (mxLog.TRACE) {
+        var c = 0 != b ? " (" + ((new Date).getTime() - b) + " ms)" : "";
+        mxLog.writeln("Leaving " + a + c)
+      }
+    },
+    debug: function() {
+      mxLog.DEBUG && mxLog.writeln.apply(this, arguments)
+    },
+    warn: function() {
+      mxLog.WARN && mxLog.writeln.apply(this,
+        arguments)
+    },
+    write: function() {
+      for (var a = "", b = 0; b < arguments.length; b++) a += arguments[b], b < arguments.length - 1 && (a += " ");
+      null != mxLog.textarea ? (mxLog.textarea.value += a, 0 <= navigator.userAgent.indexOf("Presto/2.5") && (mxLog.textarea.style.visibility = "hidden", mxLog.textarea.style.visibility = "visible"),
+        mxLog.textarea.scrollTop = mxLog.textarea.scrollHeight) : mxLog.buffer += a
+    },
+    writeln: function() {
+      for (var a = "", b = 0; b < arguments.length; b++) a += arguments[b], b < arguments.length - 1 && (a += " ");
+      mxLog.write(a + "\n")
+    }
+  },
+  mxObjectIdentity = {
+    FIELD_NAME: "mxObjectId",
+    counter: 0,
+    get: function(a) {
+      if ("object" == typeof a && null == a[mxObjectIdentity.FIELD_NAME]) {
+        var b = mxUtils.getFunctionName(a.constructor);
+        a[mxObjectIdentity.FIELD_NAME] = b + "#" + mxObjectIdentity.counter++
+      }
+      return a[mxObjectIdentity.FIELD_NAME]
+    },
+    clear: function(a) {
+      "object" == typeof a && delete a[mxObjectIdentity.FIELD_NAME]
+    }
+  };
 
 function mxDictionary() {
-    this.clear()
+  this.clear()
 }
 mxDictionary.prototype.map = null;
 mxDictionary.prototype.clear = function() {
-    this.map = {}
+  this.map = {}
 };
 mxDictionary.prototype.get = function(a) {
-    a = mxObjectIdentity.get(a);
-    return this.map[a]
+  a = mxObjectIdentity.get(a);
+  return this.map[a]
 };
 mxDictionary.prototype.put = function(a, b) {
-    var c = mxObjectIdentity.get(a),
-        d = this.map[c];
-    this.map[c] = b;
-    return d
+  var c = mxObjectIdentity.get(a),
+    d = this.map[c];
+  this.map[c] = b;
+  return d
 };
 mxDictionary.prototype.remove = function(a) {
-    a = mxObjectIdentity.get(a);
-    var b = this.map[a];
-    delete this.map[a];
-    return b
+  a = mxObjectIdentity.get(a);
+  var b = this.map[a];
+  delete this.map[a];
+  return b
 };
 mxDictionary.prototype.getKeys = function() {
-    var a = [],
-        b;
-    for (b in this.map) a.push(b);
-    return a
+  var a = [],
+    b;
+  for (b in this.map) a.push(b);
+  return a
 };
 mxDictionary.prototype.getValues = function() {
-    var a = [],
-        b;
-    for (b in this.map) a.push(this.map[b]);
-    return a
+  var a = [],
+    b;
+  for (b in this.map) a.push(this.map[b]);
+  return a
 };
 mxDictionary.prototype.visit = function(a) {
-    for (var b in this.map) a(b, this.map[b])
+  for (var b in this.map) a(b, this.map[b])
 };
 var mxResources = {
-    resources: [],
-    extension: mxResourceExtension,
-    resourcesEncoded: !1,
-    loadDefaultBundle: !0,
-    loadSpecialBundle: !0,
-    isLanguageSupported: function(a) {
-        return null != mxClient.languages ? 0 <= mxUtils.indexOf(mxClient.languages, a) : !0
-    },
-    getDefaultBundle: function(a, b) {
-        return mxResources.loadDefaultBundle || !mxResources.isLanguageSupported(b) ? a + mxResources.extension : null
-    },
-    getSpecialBundle: function(a, b) {
-        if (null == mxClient.languages || !this.isLanguageSupported(b)) {
-            var c = b.indexOf("-");
-            0 < c && (b = b.substring(0, c))
-        }
-        return mxResources.loadSpecialBundle &&
-            mxResources.isLanguageSupported(b) && b != mxClient.defaultLanguage ? a + "_" + b + mxResources.extension : null
-    },
-    add: function(a, b) {
-        b = null != b ? b : mxClient.language.toLowerCase();
-        if (b != mxConstants.NONE) {
-            var c = mxResources.getDefaultBundle(a, b);
-            if (null != c) try {
-                var d = mxUtils.load(c);
-                d.isReady() && mxResources.parse(d.getText())
-            } catch (e) {}
-            c = mxResources.getSpecialBundle(a, b);
-            if (null != c) try {
-                d = mxUtils.load(c), d.isReady() && mxResources.parse(d.getText())
-            } catch (f) {}
-        }
-    },
-    parse: function(a) {
-        if (null != a) {
-            a = a.split("\n");
-            for (var b = 0; b <
-                a.length; b++)
-                if ("#" != a[b].charAt(0)) {
-                    var c = a[b].indexOf("\x3d");
-                    if (0 < c) {
-                        var d = a[b].substring(0, c),
-                            e = a[b].length;
-                        13 == a[b].charCodeAt(e - 1) && e--;
-                        c = a[b].substring(c + 1, e);
-                        this.resourcesEncoded ? (c = c.replace(/\\(?=u[a-fA-F\d]{4})/g, "%"), mxResources.resources[d] = unescape(c)) : mxResources.resources[d] = c
-                    }
-                }
-        }
-    },
-    get: function(a, b, c) {
-        a = mxResources.resources[a];
-        null == a && (a = c);
-        if (null != a && null != b) {
-            c = [];
-            for (var d = null, e = 0; e < a.length; e++) {
-                var f = a.charAt(e);
-                "{" == f ? d = "" : null != d && "}" == f ? (d = parseInt(d) - 1, 0 <= d && d < b.length &&
-                    c.push(b[d]), d = null) : null != d ? d += f : c.push(f)
-            }
-            a = c.join("")
+  resources: [],
+  extension: mxResourceExtension,
+  resourcesEncoded: !1,
+  loadDefaultBundle: !0,
+  loadSpecialBundle: !0,
+  isLanguageSupported: function(a) {
+    return null != mxClient.languages ? 0 <= mxUtils.indexOf(mxClient.languages, a) : !0
+  },
+  getDefaultBundle: function(a, b) {
+    return mxResources.loadDefaultBundle || !mxResources.isLanguageSupported(b) ? a + mxResources.extension : null
+  },
+  getSpecialBundle: function(a, b) {
+    if (null == mxClient.languages || !this.isLanguageSupported(b)) {
+      var c = b.indexOf("-");
+      0 < c && (b = b.substring(0, c))
+    }
+    return mxResources.loadSpecialBundle &&
+      mxResources.isLanguageSupported(b) && b != mxClient.defaultLanguage ? a + "_" + b + mxResources.extension : null
+  },
+  add: function(a, b) {
+    b = null != b ? b : mxClient.language.toLowerCase();
+    if (b != mxConstants.NONE) {
+      var c = mxResources.getDefaultBundle(a, b);
+      if (null != c) try {
+        var d = mxUtils.load(c);
+        d.isReady() && mxResources.parse(d.getText())
+      } catch (e) {}
+      c = mxResources.getSpecialBundle(a, b);
+      if (null != c) try {
+        d = mxUtils.load(c), d.isReady() && mxResources.parse(d.getText())
+      } catch (f) {}
+    }
+  },
+  parse: function(a) {
+    if (null != a) {
+      a = a.split("\n");
+      for (var b = 0; b <
+        a.length; b++)
+        if ("#" != a[b].charAt(0)) {
+          var c = a[b].indexOf("\x3d");
+          if (0 < c) {
+            var d = a[b].substring(0, c),
+              e = a[b].length;
+            13 == a[b].charCodeAt(e - 1) && e--;
+            c = a[b].substring(c + 1, e);
+            this.resourcesEncoded ? (c = c.replace(/\\(?=u[a-fA-F\d]{4})/g, "%"), mxResources.resources[d] = unescape(c)) : mxResources.resources[d] = c
+          }
         }
-        return a
     }
+  },
+  get: function(a, b, c) {
+    a = mxResources.resources[a];
+    null == a && (a = c);
+    if (null != a && null != b) {
+      c = [];
+      for (var d = null, e = 0; e < a.length; e++) {
+        var f = a.charAt(e);
+        "{" == f ? d = "" : null != d && "}" == f ? (d = parseInt(d) - 1, 0 <= d && d < b.length &&
+          c.push(b[d]), d = null) : null != d ? d += f : c.push(f)
+      }
+      a = c.join("")
+    }
+    return a
+  }
 };
 
 function mxPoint(a, b) {
-    this.x = null != a ? a : 0;
-    this.y = null != b ? b : 0
+  this.x = null != a ? a : 0;
+  this.y = null != b ? b : 0
 }
 mxPoint.prototype.x = null;
 mxPoint.prototype.y = null;
 mxPoint.prototype.equals = function(a) {
-    return a.x == this.x && a.y == this.y
+  return a.x == this.x && a.y == this.y
 };
 mxPoint.prototype.clone = function() {
-    return mxUtils.clone(this)
+  return mxUtils.clone(this)
 };
 
 function mxRectangle(a, b, c, d) {
-    mxPoint.call(this, a, b);
-    this.width = null != c ? c : 0;
-    this.height = null != d ? d : 0
+  mxPoint.call(this, a, b);
+  this.width = null != c ? c : 0;
+  this.height = null != d ? d : 0
 }
 mxRectangle.prototype = new mxPoint;
 mxRectangle.prototype.constructor = mxRectangle;
 mxRectangle.prototype.width = null;
 mxRectangle.prototype.height = null;
 mxRectangle.prototype.setRect = function(a, b, c, d) {
-    this.x = a;
-    this.y = b;
-    this.width = c;
-    this.height = d
+  this.x = a;
+  this.y = b;
+  this.width = c;
+  this.height = d
 };
 mxRectangle.prototype.getCenterX = function() {
-    return this.x + this.width / 2
+  return this.x + this.width / 2
 };
 mxRectangle.prototype.getCenterY = function() {
-    return this.y + this.height / 2
+  return this.y + this.height / 2
 };
 mxRectangle.prototype.add = function(a) {
-    if (null != a) {
-        var b = Math.min(this.x, a.x),
-            c = Math.min(this.y, a.y),
-            d = Math.max(this.x + this.width, a.x + a.width);
-        a = Math.max(this.y + this.height, a.y + a.height);
-        this.x = b;
-        this.y = c;
-        this.width = d - b;
-        this.height = a - c
-    }
+  if (null != a) {
+    var b = Math.min(this.x, a.x),
+      c = Math.min(this.y, a.y),
+      d = Math.max(this.x + this.width, a.x + a.width);
+    a = Math.max(this.y + this.height, a.y + a.height);
+    this.x = b;
+    this.y = c;
+    this.width = d - b;
+    this.height = a - c
+  }
 };
 mxRectangle.prototype.grow = function(a) {
-    this.x -= a;
-    this.y -= a;
-    this.width += 2 * a;
-    this.height += 2 * a
+  this.x -= a;
+  this.y -= a;
+  this.width += 2 * a;
+  this.height += 2 * a
 };
 mxRectangle.prototype.getPoint = function() {
-    return new mxPoint(this.x, this.y)
+  return new mxPoint(this.x, this.y)
 };
 mxRectangle.prototype.equals = function(a) {
-    return a.x == this.x && a.y == this.y && a.width == this.width && a.height == this.height
+  return a.x == this.x && a.y == this.y && a.width == this.width && a.height == this.height
 };
 var mxEffects = {
-        animateChanges: function(a, b, c) {
-            var d = 0,
-                e = function() {
-                    for (var g = !1, h = 0; h < b.length; h++) {
-                        var k = b[h];
-                        if (k instanceof mxGeometryChange || k instanceof mxTerminalChange || k instanceof mxValueChange || k instanceof mxChildChange || k instanceof mxStyleChange) {
-                            var l = a.getView().getState(k.cell || k.child, !1);
-                            if (null != l)
-                                if (g = !0, k.constructor != mxGeometryChange || a.model.isEdge(k.cell)) mxUtils.setOpacity(l.shape.node, 100 * d / 10);
-                                else {
-                                    var m = a.getView().scale,
-                                        n = (k.geometry.x - k.previous.x) * m,
-                                        p = (k.geometry.y -
-                                            k.previous.y) * m,
-                                        q = (k.geometry.width - k.previous.width) * m,
-                                        m = (k.geometry.height - k.previous.height) * m;
-                                    0 == d ? (l.x -= n, l.y -= p, l.width -= q, l.height -= m) : (l.x += n / 10, l.y += p / 10, l.width += q / 10, l.height += m / 10);
-                                    a.cellRenderer.redraw(l);
-                                    mxEffects.cascadeOpacity(a, k.cell, 100 * d / 10)
-                                }
-                        }
-                    }
-                    10 > d && g ? (d++, window.setTimeout(e, f)) : null != c && c()
-                },
-                f = 30;
-            e()
-        },
-        cascadeOpacity: function(a, b, c) {
-            for (var d = a.model.getChildCount(b), e = 0; e < d; e++) {
-                var f = a.model.getChildAt(b, e),
-                    g = a.getView().getState(f);
-                null != g && (mxUtils.setOpacity(g.shape.node,
-                    c), mxEffects.cascadeOpacity(a, f, c))
-            }
-            b = a.model.getEdges(b);
-            if (null != b)
-                for (e = 0; e < b.length; e++) d = a.getView().getState(b[e]), null != d && mxUtils.setOpacity(d.shape.node, c)
-        },
-        fadeOut: function(a, b, c, d, e, f) {
-            d = d || 40;
-            e = e || 30;
-            var g = b || 100;
-            mxUtils.setOpacity(a, g);
-            if (f || null == f) {
-                var h = function() {
-                    g = Math.max(g - d, 0);
-                    mxUtils.setOpacity(a, g);
-                    0 < g ? window.setTimeout(h, e) : (a.style.visibility = "hidden", c && a.parentNode && a.parentNode.removeChild(a))
-                };
-                window.setTimeout(h, e)
-            } else a.style.visibility = "hidden", c && a.parentNode && a.parentNode.removeChild(a)
-        }
-    },
-    mxUtils = {
-        errorResource: "none" != mxClient.language ? "error" : "",
-        closeResource: "none" != mxClient.language ? "close" : "",
-        errorImage: mxClient.imageBasePath + "/error.gif",
-        removeCursors: function(a) {
-            null != a.style && (a.style.cursor = "");
-            a = a.childNodes;
-            if (null != a)
-                for (var b = a.length, c = 0; c < b; c += 1) mxUtils.removeCursors(a[c])
-        },
-        getCurrentStyle: function() {
-            return mxClient.IS_IE ? function(a) {
-                return null != a ? a.currentStyle : null
-            } : function(a) {
-                return null != a ? window.getComputedStyle(a, "") : null
-            }
-        }(),
-        hasScrollbars: function(a) {
-            a = mxUtils.getCurrentStyle(a);
-            return null != a && ("scroll" == a.overflow || "auto" == a.overflow)
-        },
-        bind: function(a, b) {
-            return function() {
-                return b.apply(a, arguments)
-            }
-        },
-        eval: function(a) {
-            var b = null;
-            if (0 <= a.indexOf("function")) try {
-                eval("var _mxJavaScriptExpression\x3d" + a), b = _mxJavaScriptExpression, _mxJavaScriptExpression = null
-            } catch (c) {
-                mxLog.warn(c.message + " while evaluating " + a)
-            } else try {
-                b = eval(a)
-            } catch (d) {
-                mxLog.warn(d.message + " while evaluating " + a)
-            }
-            return b
-        },
-        findNode: function(a, b, c) {
-            var d = a.getAttribute(b);
-            if (null != d && d == c) return a;
-            for (a =
-                a.firstChild; null != a;) {
-                d = mxUtils.findNode(a, b, c);
-                if (null != d) return d;
-                a = a.nextSibling
-            }
-            return null
-        },
-        findNodeByAttribute: function() {
-            return 9 <= document.documentMode ? function(a, b, c) {
-                var d = null;
-                if (null != a)
-                    if (a.nodeType == mxConstants.NODETYPE_ELEMENT && a.getAttribute(b) == c) d = a;
-                    else
-                        for (a = a.firstChild; null != a && null == d;) d = mxUtils.findNodeByAttribute(a, b, c), a = a.nextSibling;
-                return d
-            } : mxClient.IS_IE ? function(a, b, c) {
-                return null == a ? null : a.ownerDocument.selectSingleNode("//*[@" + b + "\x3d'" + c + "']")
-            } : function(a, b, c) {
-                return null ==
-                    a ? null : a.ownerDocument.evaluate("//*[@" + b + "\x3d'" + c + "']", a.ownerDocument, null, XPathResult.ANY_TYPE, null).iterateNext()
-            }
-        }(),
-        getFunctionName: function(a) {
-            var b = null;
-            if (null != a)
-                if (null != a.name) b = a.name;
-                else {
-                    a = a.toString();
-                    for (b = 9;
-                        " " == a.charAt(b);) b++;
-                    var c = a.indexOf("(", b),
-                        b = a.substring(b, c)
-                }
-            return b
-        },
-        indexOf: function(a, b) {
-            if (null != a && null != b)
-                for (var c = 0; c < a.length; c++)
-                    if (a[c] == b) return c;
-            return -1
-        },
-        remove: function(a, b) {
-            var c = null;
-            if ("object" == typeof b)
-                for (var d = mxUtils.indexOf(b, a); 0 <= d;) b.splice(d,
-                    1), c = a, d = mxUtils.indexOf(b, a);
-            for (var e in b) b[e] == a && (delete b[e], c = a);
-            return c
-        },
-        isNode: function(a, b, c, d) {
-            return null != a && !isNaN(a.nodeType) && (null == b || a.nodeName.toLowerCase() == b.toLowerCase()) ? null == c || a.getAttribute(c) == d : !1
-        },
-        getChildNodes: function(a, b) {
-            b = b || mxConstants.NODETYPE_ELEMENT;
-            for (var c = [], d = a.firstChild; null != d;) d.nodeType == b && c.push(d), d = d.nextSibling;
-            return c
-        },
-        createXmlDocument: function() {
-            var a = null;
-            document.implementation && document.implementation.createDocument ? a = document.implementation.createDocument("",
-                "", null) : window.ActiveXObject && (a = new ActiveXObject("Microsoft.XMLDOM"));
-            return a
-        },
-        parseXml: function() {
-            return mxClient.IS_IE && ("undefined" === typeof document.documentMode || 9 > document.documentMode) ? function(a) {
-                var b = mxUtils.createXmlDocument();
-                b.async = "false";
-                b.loadXML(a);
-                return b
-            } : function(a) {
-                return (new DOMParser).parseFromString(a, "text/xml")
-            }
-        }(),
-        clearSelection: function() {
-            if (document.selection) return function() {
-                document.selection.empty()
-            };
-            if (window.getSelection) return function() {
-                window.getSelection().removeAllRanges()
-            }
-        }(),
-        getPrettyXml: function(a, b, c) {
-            var d = [];
-            if (null != a)
-                if (b = b || "  ", c = c || "", a.nodeType == mxConstants.NODETYPE_TEXT) d.push(a.nodeValue);
-                else {
-                    d.push(c + "\x3c" + a.nodeName);
-                    var e = a.attributes;
-                    if (null != e)
-                        for (var f = 0; f < e.length; f++) {
-                            var g = mxUtils.htmlEntities(e[f].nodeValue);
-                            d.push(" " + e[f].nodeName + '\x3d"' + g + '"')
-                        }
-                    e = a.firstChild;
-                    if (null != e) {
-                        for (d.push("\x3e\n"); null != e;) d.push(mxUtils.getPrettyXml(e, b, c + b)), e = e.nextSibling;
-                        d.push(c + "\x3c/" + a.nodeName + "\x3e\n")
-                    } else d.push("/\x3e\n")
-                }
-            return d.join("")
-        },
-        removeWhitespace: function(a,
-            b) {
-            for (var c = b ? a.previousSibling : a.nextSibling; null != c && c.nodeType == mxConstants.NODETYPE_TEXT;) {
-                var d = b ? c.previousSibling : c.nextSibling,
-                    e = mxUtils.getTextContent(c);
-                0 == mxUtils.trim(e).length && c.parentNode.removeChild(c);
-                c = d
-            }
-        },
-        htmlEntities: function(a, b) {
-            a = (a || "").replace(/&/g, "\x26amp;");
-            a = a.replace(/"/g, "\x26quot;");
-            a = a.replace(/\'/g, "\x26#39;");
-            a = a.replace(/</g, "\x26lt;");
-            a = a.replace(/>/g, "\x26gt;");
-            if (null == b || b) a = a.replace(/\n/g, "\x26#xa;");
-            return a
-        },
-        isVml: function(a) {
-            return null != a && "urn:schemas-microsoft-com:vml" ==
-                a.tagUrn
-        },
-        getXml: function(a, b) {
-            var c = "";
-            null != a && (c = a.xml, c = null == c ? a.innerHTML ? a.innerHTML : (new XMLSerializer).serializeToString(a) : c.replace(/\r\n\t[\t]*/g, "").replace(/>\r\n/g, "\x3e").replace(/\r\n/g, "\n"));
-            return c = c.replace(/\n/g, b || "\x26#xa;")
-        },
-        getTextContent: function(a) {
-            var b = "";
-            null != a && (null != a.firstChild && (a = a.firstChild), b = a.nodeValue || "");
-            return b
-        },
-        getInnerHtml: function() {
-            return mxClient.IS_IE ? function(a) {
-                return null != a ? a.innerHTML : ""
-            } : function(a) {
-                return null != a ? (new XMLSerializer).serializeToString(a) :
-                    ""
-            }
-        }(),
-        getOuterHtml: function() {
-            return mxClient.IS_IE ? function(a) {
-                if (null != a) {
-                    if (null != a.outerHTML) return a.outerHTML;
-                    var b = [];
-                    b.push("\x3c" + a.nodeName);
-                    var c = a.attributes;
-                    if (null != c)
-                        for (var d = 0; d < c.length; d++) {
-                            var e = c[d].nodeValue;
-                            null != e && 0 < e.length && (b.push(" "), b.push(c[d].nodeName), b.push('\x3d"'), b.push(e), b.push('"'))
-                        }
-                    0 == a.innerHTML.length ? b.push("/\x3e") : (b.push("\x3e"), b.push(a.innerHTML), b.push("\x3c/" + a.nodeName + "\x3e"));
-                    return b.join("")
-                }
-                return ""
-            } : function(a) {
-                return null != a ? (new XMLSerializer).serializeToString(a) :
-                    ""
-            }
-        }(),
-        write: function(a, b) {
-            var c = a.ownerDocument.createTextNode(b);
-            null != a && a.appendChild(c);
-            return c
-        },
-        writeln: function(a, b) {
-            var c = a.ownerDocument.createTextNode(b);
-            null != a && (a.appendChild(c), a.appendChild(document.createElement("br")));
-            return c
-        },
-        br: function(a, b) {
-            b = b || 1;
-            for (var c = null, d = 0; d < b; d++) null != a && (c = a.ownerDocument.createElement("br"), a.appendChild(c));
-            return c
-        },
-        button: function(a, b, c) {
-            c = null != c ? c : document;
-            c = c.createElement("button");
-            mxUtils.write(c, a);
-            mxEvent.addListener(c, "click", function(a) {
-                b(a)
-            });
-            return c
-        },
-        para: function(a, b) {
-            var c = document.createElement("p");
-            mxUtils.write(c, b);
-            null != a && a.appendChild(c);
-            return c
-        },
-        addTransparentBackgroundFilter: function(a) {
-            a.style.filter += "progid:DXImageTransform.Microsoft.AlphaImageLoader(src\x3d'" + mxClient.imageBasePath + "/transparent.gif', sizingMethod\x3d'scale')"
-        },
-        linkAction: function(a, b, c, d, e) {
-            return mxUtils.link(a, b, function() {
-                c.execute(d)
-            }, e)
-        },
-        linkInvoke: function(a, b, c, d, e, f) {
-            return mxUtils.link(a, b, function() {
-                c[d](e)
-            }, f)
-        },
-        link: function(a, b, c, d) {
-            var e =
-                document.createElement("span");
-            e.style.color = "blue";
-            e.style.textDecoration = "underline";
-            e.style.cursor = "pointer";
-            null != d && (e.style.paddingLeft = d + "px");
-            mxEvent.addListener(e, "click", c);
-            mxUtils.write(e, b);
-            null != a && a.appendChild(e);
-            return e
-        },
-        fit: function(a) {
-            var b = parseInt(a.offsetLeft),
-                c = parseInt(a.offsetWidth),
-                d = document.body,
-                e = document.documentElement,
-                f = (d.scrollLeft || e.scrollLeft) + (d.clientWidth || e.clientWidth);
-            b + c > f && (a.style.left = Math.max(d.scrollLeft || e.scrollLeft, f - c) + "px");
-            b = parseInt(a.offsetTop);
-            c = parseInt(a.offsetHeight);
-            f = (d.scrollTop || e.scrollTop) + Math.max(d.clientHeight || 0, e.clientHeight);
-            b + c > f && (a.style.top = Math.max(d.scrollTop || e.scrollTop, f - c) + "px")
-        },
-        open: function(a) {
-            if (mxClient.IS_NS) {
-                try {
-                    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect")
-                } catch (b) {
-                    return mxUtils.alert("Permission to read file denied."), ""
-                }
-                var c = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
-                c.initWithPath(a);
-                if (!c.exists()) return mxUtils.alert("File not found."),
-                    "";
-                a = Components.classes["@mozilla.org/network/file-input-stream;1"].createInstance(Components.interfaces.nsIFileInputStream);
-                a.init(c, 1, 4, null);
-                c = Components.classes["@mozilla.org/scriptableinputstream;1"].createInstance(Components.interfaces.nsIScriptableInputStream);
-                c.init(a);
-                return c.read(c.available())
-            }
-            c = (new ActiveXObject("Scripting.FileSystemObject")).OpenTextFile(a, 1);
-            a = c.readAll();
-            c.close();
-            return a
-        },
-        save: function(a, b) {
-            if (mxClient.IS_NS) {
-                try {
-                    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect")
-                } catch (c) {
-                    mxUtils.alert("Permission to write file denied.");
-                    return
-                }
-                var d = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
-                d.initWithPath(a);
-                d.exists() || d.create(0, 420);
-                var e = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream);
-                e.init(d, 34, 4, null);
-                e.write(b, b.length);
-                e.flush();
-                e.close()
-            } else d = (new ActiveXObject("Scripting.FileSystemObject")).CreateTextFile(a, !0), d.Write(b), d.Close()
-        },
-        saveAs: function(a) {
-            var b = document.createElement("iframe");
-            b.setAttribute("src", "");
-            b.style.visibility = "hidden";
-            document.body.appendChild(b);
-            try {
-                if (mxClient.IS_NS) {
-                    var c = b.contentDocument;
-                    c.open();
-                    c.write(a);
-                    c.close();
-                    try {
-                        netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"), b.focus(), saveDocument(c)
-                    } catch (d) {
-                        mxUtils.alert("Permission to save document denied.")
-                    }
-                } else c = b.contentWindow.document, c.write(a), c.execCommand("SaveAs", !1, document.location)
-            } finally {
-                document.body.removeChild(b)
-            }
-        },
-        copy: function(a) {
-            if (window.clipboardData) window.clipboardData.setData("Text",
-                a);
-            else {
-                netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
-                var b = Components.classes["@mozilla.org/widget/clipboard;1"].createInstance(Components.interfaces.nsIClipboard);
-                if (b) {
-                    var c = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
-                    if (c) {
-                        c.addDataFlavor("text/unicode");
-                        var d = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
-                        d.data = a;
-                        c.setTransferData("text/unicode",
-                            d, 2 * a.length);
-                        b.setData(c, null, Components.interfaces.nsIClipboard.kGlobalClipboard)
-                    }
-                }
-            }
-        },
-        load: function(a) {
-            a = new mxXmlRequest(a, null, "GET", !1);
-            a.send();
-            return a
-        },
-        get: function(a, b, c) {
-            return (new mxXmlRequest(a, null, "GET")).send(b, c)
-        },
-        post: function(a, b, c, d) {
-            return (new mxXmlRequest(a, b)).send(c, d)
-        },
-        submit: function(a, b, c, d) {
-            return (new mxXmlRequest(a, b)).simulate(c, d)
-        },
-        loadInto: function(a, b, c) {
-            mxClient.IS_IE ? b.onreadystatechange = function() {
-                4 == b.readyState && c()
-            } : b.addEventListener("load", c, !1);
-            b.load(a)
-        },
-        getValue: function(a, b, c) {
-            a = null != a ? a[b] : null;
-            null == a && (a = c);
-            return a
-        },
-        getNumber: function(a, b, c) {
-            a = null != a ? a[b] : null;
-            null == a && (a = c || 0);
-            return Number(a)
-        },
-        getColor: function(a, b, c) {
-            a = null != a ? a[b] : null;
-            null == a ? a = c : a == mxConstants.NONE && (a = null);
-            return a
-        },
-        clone: function(a, b, c) {
-            c = null != c ? c : !1;
-            var d = null;
-            if (null != a && "function" == typeof a.constructor) {
-                var d = new a.constructor,
-                    e;
-                for (e in a)
-                    if (e != mxObjectIdentity.FIELD_NAME && (null == b || 0 > mxUtils.indexOf(b, e))) d[e] = !c && "object" == typeof a[e] ? mxUtils.clone(a[e]) : a[e]
-            }
-            return d
-        },
-        equalPoints: function(a, b) {
-            if (null == a && null != b || null != a && null == b || null != a && null != b && a.length != b.length) return !1;
-            if (null != a && null != b)
-                for (var c = 0; c < a.length; c++)
-                    if (a[c] == b[c] || null != a[c] && !a[c].equals(b[c])) return !1;
-            return !0
-        },
-        equalEntries: function(a, b) {
-            if (null == a && null != b || null != a && null == b || null != a && null != b && a.length != b.length) return !1;
-            if (null != a && null != b)
-                for (var c in a)
-                    if (a[c] != b[c]) return !1;
-            return !0
-        },
-        extend: function(a, b) {
-            var c = function() {};
-            c.prototype = b.prototype;
-            a.prototype = new c;
-            a.prototype.constructor =
-                a
-        },
-        toString: function(a) {
-            var b = "",
-                c;
-            for (c in a) try {
-                if (null == a[c]) b += c + " \x3d [null]\n";
-                else if ("function" == typeof a[c]) b += c + " \x3d\x3e [Function]\n";
-                else if ("object" == typeof a[c]) var d = mxUtils.getFunctionName(a[c].constructor),
-                    b = b + (c + " \x3d\x3e [" + d + "]\n");
-                else b += c + " \x3d " + a[c] + "\n"
-            } catch (e) {
-                b += c + "\x3d" + e.message
-            }
-            return b
-        },
-        toRadians: function(a) {
-            return Math.PI * a / 180
-        },
-        arcToCurves: function(a, b, c, d, e, f, g, h, k) {
-            h -= a;
-            k -= b;
-            if (0 === c || 0 === d) return p;
-            c = Math.abs(c);
-            d = Math.abs(d);
-            var l = -h / 2,
-                m = -k / 2,
-                n = Math.cos(e *
-                    Math.PI / 180),
-                p = Math.sin(e * Math.PI / 180);
-            e = n * l + p * m;
-            var l = -1 * p * l + n * m,
-                m = e * e,
-                q = l * l,
-                s = c * c,
-                r = d * d,
-                t = m / s + q / r;
-            1 < t ? (c *= Math.sqrt(t), d *= Math.sqrt(t), f = 0) : (t = 1, f === g && (t = -1), f = t * Math.sqrt((s * r - s * q - r * m) / (s * q + r * m)));
-            m = f * c * l / d;
-            q = -1 * f * d * e / c;
-            h = n * m - p * q + h / 2;
-            k = p * m + n * q + k / 2;
-            s = Math.atan2((l - q) / d, (e - m) / c) - Math.atan2(0, 1);
-            f = 0 <= s ? s : 2 * Math.PI + s;
-            s = Math.atan2((-l - q) / d, (-e - m) / c) - Math.atan2((l - q) / d, (e - m) / c);
-            e = 0 <= s ? s : 2 * Math.PI + s;
-            0 == g && 0 < e ? e -= 2 * Math.PI : 0 != g && 0 > e && (e += 2 * Math.PI);
-            g = 2 * e / Math.PI;
-            g = Math.ceil(0 > g ? -1 * g : g);
-            e /= g;
-            l = 8 / 3 * Math.sin(e /
-                4) * Math.sin(e / 4) / Math.sin(e / 2);
-            m = n * c;
-            n *= d;
-            c *= p;
-            d *= p;
-            for (var v = Math.cos(f), w = Math.sin(f), q = -l * (m * w + d * v), s = -l * (c * w - n * v), t = r = 0, p = [], u = 0; u < g; ++u) {
-                f += e;
-                var v = Math.cos(f),
-                    w = Math.sin(f),
-                    r = m * v - d * w + h,
-                    t = c * v + n * w + k,
-                    y = -l * (m * w + d * v),
-                    v = -l * (c * w - n * v),
-                    w = 6 * u;
-                p[w] = Number(q + a);
-                p[w + 1] = Number(s + b);
-                p[w + 2] = Number(r - y + a);
-                p[w + 3] = Number(t - v + b);
-                p[w + 4] = Number(r + a);
-                p[w + 5] = Number(t + b);
-                q = r + y;
-                s = t + v
-            }
-            return p
-        },
-        getBoundingBox: function(a, b) {
-            var c = null;
-            if (null != a && null != b && 0 != b) {
-                var d = mxUtils.toRadians(b),
-                    c = Math.cos(d),
-                    e = Math.sin(d),
-                    f =
-                    new mxPoint(a.x + a.width / 2, a.y + a.height / 2),
-                    g = new mxPoint(a.x, a.y),
-                    d = new mxPoint(a.x + a.width, a.y),
-                    h = new mxPoint(d.x, a.y + a.height),
-                    k = new mxPoint(a.x, h.y),
-                    g = mxUtils.getRotatedPoint(g, c, e, f),
-                    d = mxUtils.getRotatedPoint(d, c, e, f),
-                    h = mxUtils.getRotatedPoint(h, c, e, f),
-                    k = mxUtils.getRotatedPoint(k, c, e, f),
-                    c = new mxRectangle(g.x, g.y, 0, 0);
-                c.add(new mxRectangle(d.x, d.y, 0, 0));
-                c.add(new mxRectangle(h.x, h.y, 0, 0));
-                c.add(new mxRectangle(k.x, k.y, 0, 0))
-            }
-            return c
-        },
-        getRotatedPoint: function(a, b, c, d) {
-            d = null != d ? d : new mxPoint;
-            var e =
-                a.x - d.x;
-            a = a.y - d.y;
-            return new mxPoint(e * b - a * c + d.x, a * b + e * c + d.y)
-        },
-        getPortConstraints: function(a, b, c, d) {
-            a = mxUtils.getValue(a.style, mxConstants.STYLE_PORT_CONSTRAINT, null);
-            if (null == a) return d;
-            d = a.toString();
-            a = mxConstants.DIRECTION_MASK_NONE;
-            0 <= d.indexOf(mxConstants.DIRECTION_NORTH) && (a |= mxConstants.DIRECTION_MASK_NORTH);
-            0 <= d.indexOf(mxConstants.DIRECTION_WEST) && (a |= mxConstants.DIRECTION_MASK_WEST);
-            0 <= d.indexOf(mxConstants.DIRECTION_SOUTH) && (a |= mxConstants.DIRECTION_MASK_SOUTH);
-            0 <= d.indexOf(mxConstants.DIRECTION_EAST) &&
-                (a |= mxConstants.DIRECTION_MASK_EAST);
-            return a
-        },
-        reversePortConstraints: function(a) {
-            var b = 0,
-                b = (a & mxConstants.DIRECTION_MASK_WEST) << 3,
-                b = b | (a & mxConstants.DIRECTION_MASK_NORTH) << 1,
-                b = b | (a & mxConstants.DIRECTION_MASK_SOUTH) >> 1;
-            return b |= (a & mxConstants.DIRECTION_MASK_EAST) >> 3
-        },
-        findNearestSegment: function(a, b, c) {
-            var d = -1;
-            if (0 < a.absolutePoints.length)
-                for (var e = a.absolutePoints[0], f = null, g = 1; g < a.absolutePoints.length; g++) {
-                    var h = a.absolutePoints[g],
-                        e = mxUtils.ptSegDistSq(e.x, e.y, h.x, h.y, b, c);
-                    if (null == f || e < f) f =
-                        e, d = g - 1;
-                    e = h
-                }
-            return d
-        },
-        rectangleIntersectsSegment: function(a, b, c) {
-            var d = a.y,
-                e = a.x,
-                f = d + a.height,
-                g = e + a.width;
-            a = b.x;
-            var h = c.x;
-            b.x > c.x && (a = c.x, h = b.x);
-            h > g && (h = g);
-            a < e && (a = e);
-            if (a > h) return !1;
-            var e = b.y,
-                g = c.y,
-                k = c.x - b.x;
-            1E-7 < Math.abs(k) && (c = (c.y - b.y) / k, b = b.y - c * b.x, e = c * a + b, g = c * h + b);
-            e > g && (b = g, g = e, e = b);
-            g > f && (g = f);
-            e < d && (e = d);
-            return e > g ? !1 : !0
-        },
-        contains: function(a, b, c) {
-            return a.x <= b && a.x + a.width >= b && a.y <= c && a.y + a.height >= c
-        },
-        intersects: function(a, b) {
-            var c = a.width,
-                d = a.height,
-                e = b.width,
-                f = b.height;
-            if (0 >= e || 0 >= f || 0 >= c ||
-                0 >= d) return !1;
-            var g = a.x,
-                h = a.y,
-                k = b.x,
-                l = b.y,
-                e = e + k,
-                f = f + l,
-                c = c + g,
-                d = d + h;
-            return (e < k || e > g) && (f < l || f > h) && (c < g || c > k) && (d < h || d > l)
-        },
-        intersectsHotspot: function(a, b, c, d, e, f) {
-            d = null != d ? d : 1;
-            e = null != e ? e : 0;
-            f = null != f ? f : 0;
-            if (0 < d) {
-                var g = a.getCenterX(),
-                    h = a.getCenterY(),
-                    k = a.width,
-                    l = a.height,
-                    m = mxUtils.getValue(a.style, mxConstants.STYLE_STARTSIZE) * a.view.scale;
-                0 < m && (mxUtils.getValue(a.style, mxConstants.STYLE_HORIZONTAL, !0) ? (h = a.y + m / 2, l = m) : (g = a.x + m / 2, k = m));
-                k = Math.max(e, k * d);
-                l = Math.max(e, l * d);
-                0 < f && (k = Math.min(k, f), l = Math.min(l,
-                    f));
-                d = new mxRectangle(g - k / 2, h - l / 2, k, l);
-                g = mxUtils.toRadians(mxUtils.getValue(a.style, mxConstants.STYLE_ROTATION) || 0);
-                0 != g && (e = Math.cos(-g), f = Math.sin(-g), g = new mxPoint(a.getCenterX(), a.getCenterY()), a = mxUtils.getRotatedPoint(new mxPoint(b, c), e, f, g), b = a.x, c = a.y);
-                return mxUtils.contains(d, b, c)
-            }
-            return !0
-        },
-        getOffset: function(a, b) {
-            var c = 0,
-                d = 0;
-            if (null != b && b) var e = document.body,
-                f = document.documentElement,
-                c = c + (e.scrollLeft || f.scrollLeft),
-                d = d + (e.scrollTop || f.scrollTop);
-            for (; a.offsetParent;) c += a.offsetLeft, d +=
-                a.offsetTop, a = a.offsetParent;
-            return new mxPoint(c, d)
-        },
-        getScrollOrigin: function(a) {
-            for (var b = document.body, c = document.documentElement, d = new mxPoint(b.scrollLeft || c.scrollLeft, b.scrollTop || c.scrollTop); null != a && a != b && a != c;) !isNaN(a.scrollLeft) && !isNaN(a.scrollTop) && (d.x += a.scrollLeft, d.y += a.scrollTop), a = a.parentNode;
-            return d
-        },
-        convertPoint: function(a, b, c) {
-            var d = mxUtils.getScrollOrigin(a);
-            a = mxUtils.getOffset(a);
-            a.x -= d.x;
-            a.y -= d.y;
-            return new mxPoint(b - a.x, c - a.y)
-        },
-        ltrim: function(a, b) {
-            return a.replace(RegExp("^[" +
-                (b || "\\s") + "]+", "g"), "")
-        },
-        rtrim: function(a, b) {
-            return a.replace(RegExp("[" + (b || "\\s") + "]+$", "g"), "")
-        },
-        trim: function(a, b) {
-            return mxUtils.ltrim(mxUtils.rtrim(a, b), b)
-        },
-        isNumeric: function(a) {
-            return null != a && (null == a.length || 0 < a.length && 0 > a.indexOf("0x") && 0 > a.indexOf("0X")) && !isNaN(a)
-        },
-        mod: function(a, b) {
-            return (a % b + b) % b
-        },
-        intersection: function(a, b, c, d, e, f, g, h) {
-            var k = (h - f) * (c - a) - (g - e) * (d - b);
-            g = ((g - e) * (b - f) - (h - f) * (a - e)) / k;
-            e = ((c - a) * (b - f) - (d - b) * (a - e)) / k;
-            return 0 <= g && 1 >= g && 0 <= e && 1 >= e ? new mxPoint(a + g * (c - a), b + g *
-                (d - b)) : null
-        },
-        ptSegDistSq: function(a, b, c, d, e, f) {
-            c -= a;
-            d -= b;
-            e -= a;
-            f -= b;
-            0 >= e * c + f * d ? c = 0 : (e = c - e, f = d - f, a = e * c + f * d, c = 0 >= a ? 0 : a * a / (c * c + d * d));
-            e = e * e + f * f - c;
-            0 > e && (e = 0);
-            return e
-        },
-        relativeCcw: function(a, b, c, d, e, f) {
-            c -= a;
-            d -= b;
-            e -= a;
-            f -= b;
-            a = e * d - f * c;
-            0 == a && (a = e * c + f * d, 0 < a && (a = (e - c) * c + (f - d) * d, 0 > a && (a = 0)));
-            return 0 > a ? -1 : 0 < a ? 1 : 0
-        },
-        animateChanges: function(a, b) {
-            mxEffects.animateChanges.apply(this, arguments)
-        },
-        cascadeOpacity: function(a, b, c) {
-            mxEffects.cascadeOpacity.apply(this, arguments)
-        },
-        fadeOut: function(a, b, c, d, e, f) {
-            mxEffects.fadeOut.apply(this,
-                arguments)
-        },
-        setOpacity: function(a, b) {
-            mxUtils.isVml(a) ? a.style.filter = 100 <= b ? null : "alpha(opacity\x3d" + b / 5 + ")" : mxClient.IS_IE && ("undefined" === typeof document.documentMode || 9 > document.documentMode) ? a.style.filter = 100 <= b ? null : "alpha(opacity\x3d" + b + ")" : a.style.opacity = b / 100
-        },
-        createImage: function(a) {
-            var b = null;
-            mxClient.IS_IE6 && "CSS1Compat" != document.compatMode ? (b = document.createElement(mxClient.VML_PREFIX + ":image"), b.setAttribute("src", a), b.style.borderStyle = "none") : (b = document.createElement("img"), b.setAttribute("src",
-                a), b.setAttribute("border", "0"));
-            return b
-        },
-        sortCells: function(a, b) {
-            b = null != b ? b : !0;
-            var c = new mxDictionary;
-            a.sort(function(a, e) {
-                var f = c.get(a);
-                null == f && (f = mxCellPath.create(a).split(mxCellPath.PATH_SEPARATOR), c.put(a, f));
-                var g = c.get(e);
-                null == g && (g = mxCellPath.create(e).split(mxCellPath.PATH_SEPARATOR), c.put(e, g));
-                f = mxCellPath.compare(f, g);
-                return 0 == f ? 0 : 0 < f == b ? 1 : -1
-            });
-            return a
-        },
-        getStylename: function(a) {
-            return null != a && (a = a.split(";")[0], 0 > a.indexOf("\x3d")) ? a : ""
-        },
-        getStylenames: function(a) {
-            var b = [];
-            if (null !=
-                a) {
-                a = a.split(";");
-                for (var c = 0; c < a.length; c++) 0 > a[c].indexOf("\x3d") && b.push(a[c])
-            }
-            return b
-        },
-        indexOfStylename: function(a, b) {
-            if (null != a && null != b)
-                for (var c = a.split(";"), d = 0, e = 0; e < c.length; e++) {
-                    if (c[e] == b) return d;
-                    d += c[e].length + 1
-                }
-            return -1
-        },
-        addStylename: function(a, b) {
-            0 > mxUtils.indexOfStylename(a, b) && (null == a ? a = "" : 0 < a.length && ";" != a.charAt(a.length - 1) && (a += ";"), a += b);
-            return a
-        },
-        removeStylename: function(a, b) {
-            var c = [];
-            if (null != a)
-                for (var d = a.split(";"), e = 0; e < d.length; e++) d[e] != b && c.push(d[e]);
-            return c.join(";")
-        },
-        removeAllStylenames: function(a) {
-            var b = [];
-            if (null != a) {
-                a = a.split(";");
-                for (var c = 0; c < a.length; c++) 0 <= a[c].indexOf("\x3d") && b.push(a[c])
-            }
-            return b.join(";")
-        },
-        setCellStyles: function(a, b, c, d) {
-            if (null != b && 0 < b.length) {
-                a.beginUpdate();
-                try {
-                    for (var e = 0; e < b.length; e++)
-                        if (null != b[e]) {
-                            var f = mxUtils.setStyle(a.getStyle(b[e]), c, d);
-                            a.setStyle(b[e], f)
-                        }
-                } finally {
-                    a.endUpdate()
-                }
-            }
-        },
-        setStyle: function(a, b, c) {
-            var d = null != c && ("undefined" == typeof c.length || 0 < c.length);
-            if (null == a || 0 == a.length) d && (a = b + "\x3d" + c);
-            else {
-                var e = a.indexOf(b +
-                    "\x3d");
-                0 > e ? d && (d = ";" == a.charAt(a.length - 1) ? "" : ";", a = a + d + b + "\x3d" + c) : (b = d ? b + "\x3d" + c : "", c = a.indexOf(";", e), d || c++, a = a.substring(0, e) + b + (c > e ? a.substring(c) : ""))
-            }
-            return a
-        },
-        setCellStyleFlags: function(a, b, c, d, e) {
-            if (null != b && 0 < b.length) {
-                a.beginUpdate();
-                try {
-                    for (var f = 0; f < b.length; f++)
-                        if (null != b[f]) {
-                            var g = mxUtils.setStyleFlag(a.getStyle(b[f]), c, d, e);
-                            a.setStyle(b[f], g)
-                        }
-                } finally {
-                    a.endUpdate()
-                }
-            }
-        },
-        setStyleFlag: function(a, b, c, d) {
-            if (null == a || 0 == a.length) a = d || null == d ? b + "\x3d" + c : b + "\x3d0";
-            else {
-                var e = a.indexOf(b +
-                    "\x3d");
-                if (0 > e) e = ";" == a.charAt(a.length - 1) ? "" : ";", a = d || null == d ? a + e + b + "\x3d" + c : a + e + b + "\x3d0";
+    animateChanges: function(a, b, c) {
+      var d = 0,
+        e = function() {
+          for (var g = !1, h = 0; h < b.length; h++) {
+            var k = b[h];
+            if (k instanceof mxGeometryChange || k instanceof mxTerminalChange || k instanceof mxValueChange || k instanceof mxChildChange || k instanceof mxStyleChange) {
+              var l = a.getView().getState(k.cell || k.child, !1);
+              if (null != l)
+                if (g = !0, k.constructor != mxGeometryChange || a.model.isEdge(k.cell)) mxUtils.setOpacity(l.shape.node, 100 * d / 10);
                 else {
-                    var f = a.indexOf(";", e),
-                        g = "",
-                        g = 0 > f ? a.substring(e + b.length + 1) : a.substring(e + b.length + 1, f),
-                        g = null == d ? parseInt(g) ^ c : d ? parseInt(g) | c : parseInt(g) & ~c;
-                    a = a.substring(0, e) + b + "\x3d" + g + (0 <= f ? a.substring(f) : "")
+                  var m = a.getView().scale,
+                    n = (k.geometry.x - k.previous.x) * m,
+                    p = (k.geometry.y -
+                      k.previous.y) * m,
+                    q = (k.geometry.width - k.previous.width) * m,
+                    m = (k.geometry.height - k.previous.height) * m;
+                  0 == d ? (l.x -= n, l.y -= p, l.width -= q, l.height -= m) : (l.x += n / 10, l.y += p / 10, l.width += q / 10, l.height += m / 10);
+                  a.cellRenderer.redraw(l);
+                  mxEffects.cascadeOpacity(a, k.cell, 100 * d / 10)
                 }
             }
-            return a
+          }
+          10 > d && g ? (d++, window.setTimeout(e, f)) : null != c && c()
         },
-        getAlignmentAsPoint: function(a, b) {
-            var c = 0,
-                d = 0;
-            a == mxConstants.ALIGN_CENTER ? c = -0.5 : a == mxConstants.ALIGN_RIGHT && (c = -1);
-            b == mxConstants.ALIGN_MIDDLE ? d = -0.5 : b == mxConstants.ALIGN_BOTTOM && (d = -1);
-            return new mxPoint(c,
-                d)
-        },
-        getSizeForString: function(a, b, c) {
-            b = null != b ? b : mxConstants.DEFAULT_FONTSIZE;
-            c = null != c ? c : mxConstants.DEFAULT_FONTFAMILY;
-            var d = document.createElement("div");
-            d.style.fontFamily = c;
-            d.style.fontSize = Math.round(b) + "px";
-            d.style.lineHeight = Math.round(b * mxConstants.LINE_HEIGHT) + "px";
-            d.style.position = "absolute";
-            d.style.whiteSpace = "nowrap";
-            d.style.visibility = "hidden";
-            d.style.display = mxClient.IS_QUIRKS ? "inline" : "inline-block";
-            d.style.zoom = "1";
-            d.innerHTML = a;
-            document.body.appendChild(d);
-            a = new mxRectangle(0, 0,
-                d.offsetWidth, d.offsetHeight);
-            document.body.removeChild(d);
-            return a
-        },
-        getViewXml: function(a, b, c, d, e) {
-            d = null != d ? d : 0;
-            e = null != e ? e : 0;
-            b = null != b ? b : 1;
-            null == c && (c = [a.getModel().getRoot()]);
-            var f = a.getView(),
-                g = null,
-                h = f.isEventsEnabled();
-            f.setEventsEnabled(!1);
-            var k = f.drawPane,
-                l = f.overlayPane;
-            a.dialect == mxConstants.DIALECT_SVG ? (f.drawPane = document.createElementNS(mxConstants.NS_SVG, "g"), f.canvas.appendChild(f.drawPane), f.overlayPane = document.createElementNS(mxConstants.NS_SVG, "g")) : (f.drawPane = f.drawPane.cloneNode(!1),
-                f.canvas.appendChild(f.drawPane), f.overlayPane = f.overlayPane.cloneNode(!1));
-            f.canvas.appendChild(f.overlayPane);
-            var m = f.getTranslate();
-            f.translate = new mxPoint(d, e);
-            b = new mxTemporaryCellStates(a.getView(), b, c);
-            try {
-                g = (new mxCodec).encode(a.getView())
-            } finally {
-                b.destroy(), f.translate = m, f.canvas.removeChild(f.drawPane), f.canvas.removeChild(f.overlayPane), f.drawPane = k, f.overlayPane = l, f.setEventsEnabled(h)
+        f = 30;
+      e()
+    },
+    cascadeOpacity: function(a, b, c) {
+      for (var d = a.model.getChildCount(b), e = 0; e < d; e++) {
+        var f = a.model.getChildAt(b, e),
+          g = a.getView().getState(f);
+        null != g && (mxUtils.setOpacity(g.shape.node,
+          c), mxEffects.cascadeOpacity(a, f, c))
+      }
+      b = a.model.getEdges(b);
+      if (null != b)
+        for (e = 0; e < b.length; e++) d = a.getView().getState(b[e]), null != d && mxUtils.setOpacity(d.shape.node, c)
+    },
+    fadeOut: function(a, b, c, d, e, f) {
+      d = d || 40;
+      e = e || 30;
+      var g = b || 100;
+      mxUtils.setOpacity(a, g);
+      if (f || null == f) {
+        var h = function() {
+          g = Math.max(g - d, 0);
+          mxUtils.setOpacity(a, g);
+          0 < g ? window.setTimeout(h, e) : (a.style.visibility = "hidden", c && a.parentNode && a.parentNode.removeChild(a))
+        };
+        window.setTimeout(h, e)
+      } else a.style.visibility = "hidden", c && a.parentNode && a.parentNode.removeChild(a)
+    }
+  },
+  mxUtils = {
+    errorResource: "none" != mxClient.language ? "error" : "",
+    closeResource: "none" != mxClient.language ? "close" : "",
+    errorImage: mxClient.imageBasePath + "/error.gif",
+    removeCursors: function(a) {
+      null != a.style && (a.style.cursor = "");
+      a = a.childNodes;
+      if (null != a)
+        for (var b = a.length, c = 0; c < b; c += 1) mxUtils.removeCursors(a[c])
+    },
+    getCurrentStyle: function() {
+      return mxClient.IS_IE ? function(a) {
+        return null != a ? a.currentStyle : null
+      } : function(a) {
+        return null != a ? window.getComputedStyle(a, "") : null
+      }
+    }(),
+    hasScrollbars: function(a) {
+      a = mxUtils.getCurrentStyle(a);
+      return null != a && ("scroll" == a.overflow || "auto" == a.overflow)
+    },
+    bind: function(a, b) {
+      return function() {
+        return b.apply(a, arguments)
+      }
+    },
+    eval: function(a) {
+      var b = null;
+      if (0 <= a.indexOf("function")) try {
+        eval("var _mxJavaScriptExpression\x3d" + a), b = _mxJavaScriptExpression, _mxJavaScriptExpression = null
+      } catch (c) {
+        mxLog.warn(c.message + " while evaluating " + a)
+      } else try {
+        b = eval(a)
+      } catch (d) {
+        mxLog.warn(d.message + " while evaluating " + a)
+      }
+      return b
+    },
+    findNode: function(a, b, c) {
+      var d = a.getAttribute(b);
+      if (null != d && d == c) return a;
+      for (a =
+        a.firstChild; null != a;) {
+        d = mxUtils.findNode(a, b, c);
+        if (null != d) return d;
+        a = a.nextSibling
+      }
+      return null
+    },
+    findNodeByAttribute: function() {
+      return 9 <= document.documentMode ? function(a, b, c) {
+        var d = null;
+        if (null != a)
+          if (a.nodeType == mxConstants.NODETYPE_ELEMENT && a.getAttribute(b) == c) d = a;
+          else
+            for (a = a.firstChild; null != a && null == d;) d = mxUtils.findNodeByAttribute(a, b, c), a = a.nextSibling;
+        return d
+      } : mxClient.IS_IE ? function(a, b, c) {
+        return null == a ? null : a.ownerDocument.selectSingleNode("//*[@" + b + "\x3d'" + c + "']")
+      } : function(a, b, c) {
+        return null ==
+          a ? null : a.ownerDocument.evaluate("//*[@" + b + "\x3d'" + c + "']", a.ownerDocument, null, XPathResult.ANY_TYPE, null).iterateNext()
+      }
+    }(),
+    getFunctionName: function(a) {
+      var b = null;
+      if (null != a)
+        if (null != a.name) b = a.name;
+        else {
+          a = a.toString();
+          for (b = 9;
+            " " == a.charAt(b);) b++;
+          var c = a.indexOf("(", b),
+            b = a.substring(b, c)
+        }
+      return b
+    },
+    indexOf: function(a, b) {
+      if (null != a && null != b)
+        for (var c = 0; c < a.length; c++)
+          if (a[c] == b) return c;
+      return -1
+    },
+    remove: function(a, b) {
+      var c = null;
+      if ("object" == typeof b)
+        for (var d = mxUtils.indexOf(b, a); 0 <= d;) b.splice(d,
+          1), c = a, d = mxUtils.indexOf(b, a);
+      for (var e in b) b[e] == a && (delete b[e], c = a);
+      return c
+    },
+    isNode: function(a, b, c, d) {
+      return null != a && !isNaN(a.nodeType) && (null == b || a.nodeName.toLowerCase() == b.toLowerCase()) ? null == c || a.getAttribute(c) == d : !1
+    },
+    getChildNodes: function(a, b) {
+      b = b || mxConstants.NODETYPE_ELEMENT;
+      for (var c = [], d = a.firstChild; null != d;) d.nodeType == b && c.push(d), d = d.nextSibling;
+      return c
+    },
+    createXmlDocument: function() {
+      var a = null;
+      document.implementation && document.implementation.createDocument ? a = document.implementation.createDocument("",
+        "", null) : window.ActiveXObject && (a = new ActiveXObject("Microsoft.XMLDOM"));
+      return a
+    },
+    parseXml: function() {
+      return mxClient.IS_IE && ("undefined" === typeof document.documentMode || 9 > document.documentMode) ? function(a) {
+        var b = mxUtils.createXmlDocument();
+        b.async = "false";
+        b.loadXML(a);
+        return b
+      } : function(a) {
+        return (new DOMParser).parseFromString(a, "text/xml")
+      }
+    }(),
+    clearSelection: function() {
+      if (document.selection) return function() {
+        document.selection.empty()
+      };
+      if (window.getSelection) return function() {
+        window.getSelection().removeAllRanges()
+      }
+    }(),
+    getPrettyXml: function(a, b, c) {
+      var d = [];
+      if (null != a)
+        if (b = b || "  ", c = c || "", a.nodeType == mxConstants.NODETYPE_TEXT) d.push(a.nodeValue);
+        else {
+          d.push(c + "\x3c" + a.nodeName);
+          var e = a.attributes;
+          if (null != e)
+            for (var f = 0; f < e.length; f++) {
+              var g = mxUtils.htmlEntities(e[f].nodeValue);
+              d.push(" " + e[f].nodeName + '\x3d"' + g + '"')
             }
-            return g
-        },
-        getScaleForPageCount: function(a, b, c, d) {
-            if (1 > a) return 1;
-            c = null != c ? c : mxConstants.PAGE_FORMAT_A4_PORTRAIT;
-            d = null != d ? d : 0;
-            var e = c.width - 2 * d;
-            c = c.height - 2 * d;
-            d = b.getGraphBounds().clone();
-            b = b.getView().getScale();
-            d.width /= b;
-            d.height /= b;
-            b = d.width;
-            c = b / d.height / (e / c);
-            d = Math.sqrt(a);
-            var f = Math.sqrt(c);
-            c = d * f;
-            d /= f;
-            if (1 > c && d > a) {
-                var g = d / a;
-                d = a;
-                c /= g
+          e = a.firstChild;
+          if (null != e) {
+            for (d.push("\x3e\n"); null != e;) d.push(mxUtils.getPrettyXml(e, b, c + b)), e = e.nextSibling;
+            d.push(c + "\x3c/" + a.nodeName + "\x3e\n")
+          } else d.push("/\x3e\n")
+        }
+      return d.join("")
+    },
+    removeWhitespace: function(a,
+      b) {
+      for (var c = b ? a.previousSibling : a.nextSibling; null != c && c.nodeType == mxConstants.NODETYPE_TEXT;) {
+        var d = b ? c.previousSibling : c.nextSibling,
+          e = mxUtils.getTextContent(c);
+        0 == mxUtils.trim(e).length && c.parentNode.removeChild(c);
+        c = d
+      }
+    },
+    htmlEntities: function(a, b) {
+      a = (a || "").replace(/&/g, "\x26amp;");
+      a = a.replace(/"/g, "\x26quot;");
+      a = a.replace(/\'/g, "\x26#39;");
+      a = a.replace(/</g, "\x26lt;");
+      a = a.replace(/>/g, "\x26gt;");
+      if (null == b || b) a = a.replace(/\n/g, "\x26#xa;");
+      return a
+    },
+    isVml: function(a) {
+      return null != a && "urn:schemas-microsoft-com:vml" ==
+        a.tagUrn
+    },
+    getXml: function(a, b) {
+      var c = "";
+      null != a && (c = a.xml, c = null == c ? a.innerHTML ? a.innerHTML : (new XMLSerializer).serializeToString(a) : c.replace(/\r\n\t[\t]*/g, "").replace(/>\r\n/g, "\x3e").replace(/\r\n/g, "\n"));
+      return c = c.replace(/\n/g, b || "\x26#xa;")
+    },
+    getTextContent: function(a) {
+      var b = "";
+      null != a && (null != a.firstChild && (a = a.firstChild), b = a.nodeValue || "");
+      return b
+    },
+    getInnerHtml: function() {
+      return mxClient.IS_IE ? function(a) {
+        return null != a ? a.innerHTML : ""
+      } : function(a) {
+        return null != a ? (new XMLSerializer).serializeToString(a) :
+          ""
+      }
+    }(),
+    getOuterHtml: function() {
+      return mxClient.IS_IE ? function(a) {
+        if (null != a) {
+          if (null != a.outerHTML) return a.outerHTML;
+          var b = [];
+          b.push("\x3c" + a.nodeName);
+          var c = a.attributes;
+          if (null != c)
+            for (var d = 0; d < c.length; d++) {
+              var e = c[d].nodeValue;
+              null != e && 0 < e.length && (b.push(" "), b.push(c[d].nodeName), b.push('\x3d"'), b.push(e), b.push('"'))
             }
-            1 > d && c > a && (g = c / a, c = a, d /= g);
-            g = Math.ceil(c) * Math.ceil(d);
-            for (f = 0; g > a;) {
-                var g = Math.floor(c) / c,
-                    h = Math.floor(d) / d;
-                1 == g && (g = Math.floor(c - 1) / c);
-                1 == h && (h = Math.floor(d - 1) / d);
-                g = g > h ? g : h;
-                c *= g;
-                d *= g;
-                g = Math.ceil(c) * Math.ceil(d);
-                f++;
-                if (10 < f) break
+          0 == a.innerHTML.length ? b.push("/\x3e") : (b.push("\x3e"), b.push(a.innerHTML), b.push("\x3c/" + a.nodeName + "\x3e"));
+          return b.join("")
+        }
+        return ""
+      } : function(a) {
+        return null != a ? (new XMLSerializer).serializeToString(a) :
+          ""
+      }
+    }(),
+    write: function(a, b) {
+      var c = a.ownerDocument.createTextNode(b);
+      null != a && a.appendChild(c);
+      return c
+    },
+    writeln: function(a, b) {
+      var c = a.ownerDocument.createTextNode(b);
+      null != a && (a.appendChild(c), a.appendChild(document.createElement("br")));
+      return c
+    },
+    br: function(a, b) {
+      b = b || 1;
+      for (var c = null, d = 0; d < b; d++) null != a && (c = a.ownerDocument.createElement("br"), a.appendChild(c));
+      return c
+    },
+    button: function(a, b, c) {
+      c = null != c ? c : document;
+      c = c.createElement("button");
+      mxUtils.write(c, a);
+      mxEvent.addListener(c, "click", function(a) {
+        b(a)
+      });
+      return c
+    },
+    para: function(a, b) {
+      var c = document.createElement("p");
+      mxUtils.write(c, b);
+      null != a && a.appendChild(c);
+      return c
+    },
+    addTransparentBackgroundFilter: function(a) {
+      a.style.filter += "progid:DXImageTransform.Microsoft.AlphaImageLoader(src\x3d'" + mxClient.imageBasePath + "/transparent.gif', sizingMethod\x3d'scale')"
+    },
+    linkAction: function(a, b, c, d, e) {
+      return mxUtils.link(a, b, function() {
+        c.execute(d)
+      }, e)
+    },
+    linkInvoke: function(a, b, c, d, e, f) {
+      return mxUtils.link(a, b, function() {
+        c[d](e)
+      }, f)
+    },
+    link: function(a, b, c, d) {
+      var e =
+        document.createElement("span");
+      e.style.color = "blue";
+      e.style.textDecoration = "underline";
+      e.style.cursor = "pointer";
+      null != d && (e.style.paddingLeft = d + "px");
+      mxEvent.addListener(e, "click", c);
+      mxUtils.write(e, b);
+      null != a && a.appendChild(e);
+      return e
+    },
+    fit: function(a) {
+      var b = parseInt(a.offsetLeft),
+        c = parseInt(a.offsetWidth),
+        d = document.body,
+        e = document.documentElement,
+        f = (d.scrollLeft || e.scrollLeft) + (d.clientWidth || e.clientWidth);
+      b + c > f && (a.style.left = Math.max(d.scrollLeft || e.scrollLeft, f - c) + "px");
+      b = parseInt(a.offsetTop);
+      c = parseInt(a.offsetHeight);
+      f = (d.scrollTop || e.scrollTop) + Math.max(d.clientHeight || 0, e.clientHeight);
+      b + c > f && (a.style.top = Math.max(d.scrollTop || e.scrollTop, f - c) + "px")
+    },
+    open: function(a) {
+      if (mxClient.IS_NS) {
+        try {
+          netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect")
+        } catch (b) {
+          return mxUtils.alert("Permission to read file denied."), ""
+        }
+        var c = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
+        c.initWithPath(a);
+        if (!c.exists()) return mxUtils.alert("File not found."),
+          "";
+        a = Components.classes["@mozilla.org/network/file-input-stream;1"].createInstance(Components.interfaces.nsIFileInputStream);
+        a.init(c, 1, 4, null);
+        c = Components.classes["@mozilla.org/scriptableinputstream;1"].createInstance(Components.interfaces.nsIScriptableInputStream);
+        c.init(a);
+        return c.read(c.available())
+      }
+      c = (new ActiveXObject("Scripting.FileSystemObject")).OpenTextFile(a, 1);
+      a = c.readAll();
+      c.close();
+      return a
+    },
+    save: function(a, b) {
+      if (mxClient.IS_NS) {
+        try {
+          netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect")
+        } catch (c) {
+          mxUtils.alert("Permission to write file denied.");
+          return
+        }
+        var d = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
+        d.initWithPath(a);
+        d.exists() || d.create(0, 420);
+        var e = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream);
+        e.init(d, 34, 4, null);
+        e.write(b, b.length);
+        e.flush();
+        e.close()
+      } else d = (new ActiveXObject("Scripting.FileSystemObject")).CreateTextFile(a, !0), d.Write(b), d.Close()
+    },
+    saveAs: function(a) {
+      var b = document.createElement("iframe");
+      b.setAttribute("src", "");
+      b.style.visibility = "hidden";
+      document.body.appendChild(b);
+      try {
+        if (mxClient.IS_NS) {
+          var c = b.contentDocument;
+          c.open();
+          c.write(a);
+          c.close();
+          try {
+            netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"), b.focus(), saveDocument(c)
+          } catch (d) {
+            mxUtils.alert("Permission to save document denied.")
+          }
+        } else c = b.contentWindow.document, c.write(a), c.execCommand("SaveAs", !1, document.location)
+      } finally {
+        document.body.removeChild(b)
+      }
+    },
+    copy: function(a) {
+      if (window.clipboardData) window.clipboardData.setData("Text",
+        a);
+      else {
+        netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+        var b = Components.classes["@mozilla.org/widget/clipboard;1"].createInstance(Components.interfaces.nsIClipboard);
+        if (b) {
+          var c = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
+          if (c) {
+            c.addDataFlavor("text/unicode");
+            var d = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
+            d.data = a;
+            c.setTransferData("text/unicode",
+              d, 2 * a.length);
+            b.setData(c, null, Components.interfaces.nsIClipboard.kGlobalClipboard)
+          }
+        }
+      }
+    },
+    load: function(a) {
+      a = new mxXmlRequest(a, null, "GET", !1);
+      a.send();
+      return a
+    },
+    get: function(a, b, c) {
+      return (new mxXmlRequest(a, null, "GET")).send(b, c)
+    },
+    post: function(a, b, c, d) {
+      return (new mxXmlRequest(a, b)).send(c, d)
+    },
+    submit: function(a, b, c, d) {
+      return (new mxXmlRequest(a, b)).simulate(c, d)
+    },
+    loadInto: function(a, b, c) {
+      mxClient.IS_IE ? b.onreadystatechange = function() {
+        4 == b.readyState && c()
+      } : b.addEventListener("load", c, !1);
+      b.load(a)
+    },
+    getValue: function(a, b, c) {
+      a = null != a ? a[b] : null;
+      null == a && (a = c);
+      return a
+    },
+    getNumber: function(a, b, c) {
+      a = null != a ? a[b] : null;
+      null == a && (a = c || 0);
+      return Number(a)
+    },
+    getColor: function(a, b, c) {
+      a = null != a ? a[b] : null;
+      null == a ? a = c : a == mxConstants.NONE && (a = null);
+      return a
+    },
+    clone: function(a, b, c) {
+      c = null != c ? c : !1;
+      var d = null;
+      if (null != a && "function" == typeof a.constructor) {
+        var d = new a.constructor,
+          e;
+        for (e in a)
+          if (e != mxObjectIdentity.FIELD_NAME && (null == b || 0 > mxUtils.indexOf(b, e))) d[e] = !c && "object" == typeof a[e] ? mxUtils.clone(a[e]) : a[e]
+      }
+      return d
+    },
+    equalPoints: function(a, b) {
+      if (null == a && null != b || null != a && null == b || null != a && null != b && a.length != b.length) return !1;
+      if (null != a && null != b)
+        for (var c = 0; c < a.length; c++)
+          if (a[c] == b[c] || null != a[c] && !a[c].equals(b[c])) return !1;
+      return !0
+    },
+    equalEntries: function(a, b) {
+      if (null == a && null != b || null != a && null == b || null != a && null != b && a.length != b.length) return !1;
+      if (null != a && null != b)
+        for (var c in a)
+          if (a[c] != b[c]) return !1;
+      return !0
+    },
+    extend: function(a, b) {
+      var c = function() {};
+      c.prototype = b.prototype;
+      a.prototype = new c;
+      a.prototype.constructor =
+        a
+    },
+    toString: function(a) {
+      var b = "",
+        c;
+      for (c in a) try {
+        if (null == a[c]) b += c + " \x3d [null]\n";
+        else if ("function" == typeof a[c]) b += c + " \x3d\x3e [Function]\n";
+        else if ("object" == typeof a[c]) var d = mxUtils.getFunctionName(a[c].constructor),
+          b = b + (c + " \x3d\x3e [" + d + "]\n");
+        else b += c + " \x3d " + a[c] + "\n"
+      } catch (e) {
+        b += c + "\x3d" + e.message
+      }
+      return b
+    },
+    toRadians: function(a) {
+      return Math.PI * a / 180
+    },
+    arcToCurves: function(a, b, c, d, e, f, g, h, k) {
+      h -= a;
+      k -= b;
+      if (0 === c || 0 === d) return p;
+      c = Math.abs(c);
+      d = Math.abs(d);
+      var l = -h / 2,
+        m = -k / 2,
+        n = Math.cos(e *
+          Math.PI / 180),
+        p = Math.sin(e * Math.PI / 180);
+      e = n * l + p * m;
+      var l = -1 * p * l + n * m,
+        m = e * e,
+        q = l * l,
+        s = c * c,
+        r = d * d,
+        t = m / s + q / r;
+      1 < t ? (c *= Math.sqrt(t), d *= Math.sqrt(t), f = 0) : (t = 1, f === g && (t = -1), f = t * Math.sqrt((s * r - s * q - r * m) / (s * q + r * m)));
+      m = f * c * l / d;
+      q = -1 * f * d * e / c;
+      h = n * m - p * q + h / 2;
+      k = p * m + n * q + k / 2;
+      s = Math.atan2((l - q) / d, (e - m) / c) - Math.atan2(0, 1);
+      f = 0 <= s ? s : 2 * Math.PI + s;
+      s = Math.atan2((-l - q) / d, (-e - m) / c) - Math.atan2((l - q) / d, (e - m) / c);
+      e = 0 <= s ? s : 2 * Math.PI + s;
+      0 == g && 0 < e ? e -= 2 * Math.PI : 0 != g && 0 > e && (e += 2 * Math.PI);
+      g = 2 * e / Math.PI;
+      g = Math.ceil(0 > g ? -1 * g : g);
+      e /= g;
+      l = 8 / 3 * Math.sin(e /
+        4) * Math.sin(e / 4) / Math.sin(e / 2);
+      m = n * c;
+      n *= d;
+      c *= p;
+      d *= p;
+      for (var v = Math.cos(f), w = Math.sin(f), q = -l * (m * w + d * v), s = -l * (c * w - n * v), t = r = 0, p = [], u = 0; u < g; ++u) {
+        f += e;
+        var v = Math.cos(f),
+          w = Math.sin(f),
+          r = m * v - d * w + h,
+          t = c * v + n * w + k,
+          y = -l * (m * w + d * v),
+          v = -l * (c * w - n * v),
+          w = 6 * u;
+        p[w] = Number(q + a);
+        p[w + 1] = Number(s + b);
+        p[w + 2] = Number(r - y + a);
+        p[w + 3] = Number(t - v + b);
+        p[w + 4] = Number(r + a);
+        p[w + 5] = Number(t + b);
+        q = r + y;
+        s = t + v
+      }
+      return p
+    },
+    getBoundingBox: function(a, b) {
+      var c = null;
+      if (null != a && null != b && 0 != b) {
+        var d = mxUtils.toRadians(b),
+          c = Math.cos(d),
+          e = Math.sin(d),
+          f =
+          new mxPoint(a.x + a.width / 2, a.y + a.height / 2),
+          g = new mxPoint(a.x, a.y),
+          d = new mxPoint(a.x + a.width, a.y),
+          h = new mxPoint(d.x, a.y + a.height),
+          k = new mxPoint(a.x, h.y),
+          g = mxUtils.getRotatedPoint(g, c, e, f),
+          d = mxUtils.getRotatedPoint(d, c, e, f),
+          h = mxUtils.getRotatedPoint(h, c, e, f),
+          k = mxUtils.getRotatedPoint(k, c, e, f),
+          c = new mxRectangle(g.x, g.y, 0, 0);
+        c.add(new mxRectangle(d.x, d.y, 0, 0));
+        c.add(new mxRectangle(h.x, h.y, 0, 0));
+        c.add(new mxRectangle(k.x, k.y, 0, 0))
+      }
+      return c
+    },
+    getRotatedPoint: function(a, b, c, d) {
+      d = null != d ? d : new mxPoint;
+      var e =
+        a.x - d.x;
+      a = a.y - d.y;
+      return new mxPoint(e * b - a * c + d.x, a * b + e * c + d.y)
+    },
+    getPortConstraints: function(a, b, c, d) {
+      a = mxUtils.getValue(a.style, mxConstants.STYLE_PORT_CONSTRAINT, null);
+      if (null == a) return d;
+      d = a.toString();
+      a = mxConstants.DIRECTION_MASK_NONE;
+      0 <= d.indexOf(mxConstants.DIRECTION_NORTH) && (a |= mxConstants.DIRECTION_MASK_NORTH);
+      0 <= d.indexOf(mxConstants.DIRECTION_WEST) && (a |= mxConstants.DIRECTION_MASK_WEST);
+      0 <= d.indexOf(mxConstants.DIRECTION_SOUTH) && (a |= mxConstants.DIRECTION_MASK_SOUTH);
+      0 <= d.indexOf(mxConstants.DIRECTION_EAST) &&
+        (a |= mxConstants.DIRECTION_MASK_EAST);
+      return a
+    },
+    reversePortConstraints: function(a) {
+      var b = 0,
+        b = (a & mxConstants.DIRECTION_MASK_WEST) << 3,
+        b = b | (a & mxConstants.DIRECTION_MASK_NORTH) << 1,
+        b = b | (a & mxConstants.DIRECTION_MASK_SOUTH) >> 1;
+      return b |= (a & mxConstants.DIRECTION_MASK_EAST) >> 3
+    },
+    findNearestSegment: function(a, b, c) {
+      var d = -1;
+      if (0 < a.absolutePoints.length)
+        for (var e = a.absolutePoints[0], f = null, g = 1; g < a.absolutePoints.length; g++) {
+          var h = a.absolutePoints[g],
+            e = mxUtils.ptSegDistSq(e.x, e.y, h.x, h.y, b, c);
+          if (null == f || e < f) f =
+            e, d = g - 1;
+          e = h
+        }
+      return d
+    },
+    rectangleIntersectsSegment: function(a, b, c) {
+      var d = a.y,
+        e = a.x,
+        f = d + a.height,
+        g = e + a.width;
+      a = b.x;
+      var h = c.x;
+      b.x > c.x && (a = c.x, h = b.x);
+      h > g && (h = g);
+      a < e && (a = e);
+      if (a > h) return !1;
+      var e = b.y,
+        g = c.y,
+        k = c.x - b.x;
+      1E-7 < Math.abs(k) && (c = (c.y - b.y) / k, b = b.y - c * b.x, e = c * a + b, g = c * h + b);
+      e > g && (b = g, g = e, e = b);
+      g > f && (g = f);
+      e < d && (e = d);
+      return e > g ? !1 : !0
+    },
+    contains: function(a, b, c) {
+      return a.x <= b && a.x + a.width >= b && a.y <= c && a.y + a.height >= c
+    },
+    intersects: function(a, b) {
+      var c = a.width,
+        d = a.height,
+        e = b.width,
+        f = b.height;
+      if (0 >= e || 0 >= f || 0 >= c ||
+        0 >= d) return !1;
+      var g = a.x,
+        h = a.y,
+        k = b.x,
+        l = b.y,
+        e = e + k,
+        f = f + l,
+        c = c + g,
+        d = d + h;
+      return (e < k || e > g) && (f < l || f > h) && (c < g || c > k) && (d < h || d > l)
+    },
+    intersectsHotspot: function(a, b, c, d, e, f) {
+      d = null != d ? d : 1;
+      e = null != e ? e : 0;
+      f = null != f ? f : 0;
+      if (0 < d) {
+        var g = a.getCenterX(),
+          h = a.getCenterY(),
+          k = a.width,
+          l = a.height,
+          m = mxUtils.getValue(a.style, mxConstants.STYLE_STARTSIZE) * a.view.scale;
+        0 < m && (mxUtils.getValue(a.style, mxConstants.STYLE_HORIZONTAL, !0) ? (h = a.y + m / 2, l = m) : (g = a.x + m / 2, k = m));
+        k = Math.max(e, k * d);
+        l = Math.max(e, l * d);
+        0 < f && (k = Math.min(k, f), l = Math.min(l,
+          f));
+        d = new mxRectangle(g - k / 2, h - l / 2, k, l);
+        g = mxUtils.toRadians(mxUtils.getValue(a.style, mxConstants.STYLE_ROTATION) || 0);
+        0 != g && (e = Math.cos(-g), f = Math.sin(-g), g = new mxPoint(a.getCenterX(), a.getCenterY()), a = mxUtils.getRotatedPoint(new mxPoint(b, c), e, f, g), b = a.x, c = a.y);
+        return mxUtils.contains(d, b, c)
+      }
+      return !0
+    },
+    getOffset: function(a, b) {
+      var c = 0,
+        d = 0;
+      if (null != b && b) var e = document.body,
+        f = document.documentElement,
+        c = c + (e.scrollLeft || f.scrollLeft),
+        d = d + (e.scrollTop || f.scrollTop);
+      for (; a.offsetParent;) c += a.offsetLeft, d +=
+        a.offsetTop, a = a.offsetParent;
+      return new mxPoint(c, d)
+    },
+    getScrollOrigin: function(a) {
+      for (var b = document.body, c = document.documentElement, d = new mxPoint(b.scrollLeft || c.scrollLeft, b.scrollTop || c.scrollTop); null != a && a != b && a != c;) !isNaN(a.scrollLeft) && !
+        isNaN(a.scrollTop) && (d.x += a.scrollLeft, d.y += a.scrollTop), a = a.parentNode;
+      return d
+    },
+    convertPoint: function(a, b, c) {
+      var d = mxUtils.getScrollOrigin(a);
+      a = mxUtils.getOffset(a);
+      a.x -= d.x;
+      a.y -= d.y;
+      return new mxPoint(b - a.x, c - a.y)
+    },
+    ltrim: function(a, b) {
+      return a.replace(RegExp("^[" +
+        (b || "\\s") + "]+", "g"), "")
+    },
+    rtrim: function(a, b) {
+      return a.replace(RegExp("[" + (b || "\\s") + "]+$", "g"), "")
+    },
+    trim: function(a, b) {
+      return mxUtils.ltrim(mxUtils.rtrim(a, b), b)
+    },
+    isNumeric: function(a) {
+      return null != a && (null == a.length || 0 < a.length && 0 > a.indexOf("0x") && 0 > a.indexOf("0X")) && !isNaN(a)
+    },
+    mod: function(a, b) {
+      return (a % b + b) % b
+    },
+    intersection: function(a, b, c, d, e, f, g, h) {
+      var k = (h - f) * (c - a) - (g - e) * (d - b);
+      g = ((g - e) * (b - f) - (h - f) * (a - e)) / k;
+      e = ((c - a) * (b - f) - (d - b) * (a - e)) / k;
+      return 0 <= g && 1 >= g && 0 <= e && 1 >= e ? new mxPoint(a + g * (c - a), b + g *
+        (d - b)) : null
+    },
+    ptSegDistSq: function(a, b, c, d, e, f) {
+      c -= a;
+      d -= b;
+      e -= a;
+      f -= b;
+      0 >= e * c + f * d ? c = 0 : (e = c - e, f = d - f, a = e * c + f * d, c = 0 >= a ? 0 : a * a / (c * c + d * d));
+      e = e * e + f * f - c;
+      0 > e && (e = 0);
+      return e
+    },
+    relativeCcw: function(a, b, c, d, e, f) {
+      c -= a;
+      d -= b;
+      e -= a;
+      f -= b;
+      a = e * d - f * c;
+      0 == a && (a = e * c + f * d, 0 < a && (a = (e - c) * c + (f - d) * d, 0 > a && (a = 0)));
+      return 0 > a ? -1 : 0 < a ? 1 : 0
+    },
+    animateChanges: function(a, b) {
+      mxEffects.animateChanges.apply(this, arguments)
+    },
+    cascadeOpacity: function(a, b, c) {
+      mxEffects.cascadeOpacity.apply(this, arguments)
+    },
+    fadeOut: function(a, b, c, d, e, f) {
+      mxEffects.fadeOut.apply(this,
+        arguments)
+    },
+    setOpacity: function(a, b) {
+      mxUtils.isVml(a) ? a.style.filter = 100 <= b ? null : "alpha(opacity\x3d" + b / 5 + ")" : mxClient.IS_IE && ("undefined" === typeof document.documentMode || 9 > document.documentMode) ? a.style
+        .filter = 100 <= b ? null : "alpha(opacity\x3d" + b + ")" : a.style.opacity = b / 100
+    },
+    createImage: function(a) {
+      var b = null;
+      mxClient.IS_IE6 && "CSS1Compat" != document.compatMode ? (b = document.createElement(mxClient.VML_PREFIX + ":image"), b.setAttribute("src", a), b.style.borderStyle = "none") : (b = document.createElement(
+        "img"), b.setAttribute("src",
+        a), b.setAttribute("border", "0"));
+      return b
+    },
+    sortCells: function(a, b) {
+      b = null != b ? b : !0;
+      var c = new mxDictionary;
+      a.sort(function(a, e) {
+        var f = c.get(a);
+        null == f && (f = mxCellPath.create(a).split(mxCellPath.PATH_SEPARATOR), c.put(a, f));
+        var g = c.get(e);
+        null == g && (g = mxCellPath.create(e).split(mxCellPath.PATH_SEPARATOR), c.put(e, g));
+        f = mxCellPath.compare(f, g);
+        return 0 == f ? 0 : 0 < f == b ? 1 : -1
+      });
+      return a
+    },
+    getStylename: function(a) {
+      return null != a && (a = a.split(";")[0], 0 > a.indexOf("\x3d")) ? a : ""
+    },
+    getStylenames: function(a) {
+      var b = [];
+      if (null !=
+        a) {
+        a = a.split(";");
+        for (var c = 0; c < a.length; c++) 0 > a[c].indexOf("\x3d") && b.push(a[c])
+      }
+      return b
+    },
+    indexOfStylename: function(a, b) {
+      if (null != a && null != b)
+        for (var c = a.split(";"), d = 0, e = 0; e < c.length; e++) {
+          if (c[e] == b) return d;
+          d += c[e].length + 1
+        }
+      return -1
+    },
+    addStylename: function(a, b) {
+      0 > mxUtils.indexOfStylename(a, b) && (null == a ? a = "" : 0 < a.length && ";" != a.charAt(a.length - 1) && (a += ";"), a += b);
+      return a
+    },
+    removeStylename: function(a, b) {
+      var c = [];
+      if (null != a)
+        for (var d = a.split(";"), e = 0; e < d.length; e++) d[e] != b && c.push(d[e]);
+      return c.join(";")
+    },
+    removeAllStylenames: function(a) {
+      var b = [];
+      if (null != a) {
+        a = a.split(";");
+        for (var c = 0; c < a.length; c++) 0 <= a[c].indexOf("\x3d") && b.push(a[c])
+      }
+      return b.join(";")
+    },
+    setCellStyles: function(a, b, c, d) {
+      if (null != b && 0 < b.length) {
+        a.beginUpdate();
+        try {
+          for (var e = 0; e < b.length; e++)
+            if (null != b[e]) {
+              var f = mxUtils.setStyle(a.getStyle(b[e]), c, d);
+              a.setStyle(b[e], f)
             }
-            return 0.99999 * (e * c / b)
-        },
-        show: function(a,
-            b, c, d) {
-            c = null != c ? c : 0;
-            d = null != d ? d : 0;
-            null == b ? b = window.open().document : b.open();
-            var e = a.getGraphBounds();
-            c = -e.x + c;
-            d = -e.y + d;
-            if (mxClient.IS_IE) {
-                for (var e = "\x3chtml\x3e\x3chead\x3e", f = document.getElementsByTagName("base"), g = 0; g < f.length; g++) e += f[g].outerHTML;
-                e += "\x3cstyle\x3e";
-                for (g = 0; g < document.styleSheets.length; g++) try {
-                    e += document.styleSheets(g).cssText
-                } catch (h) {}
-                e += "\x3c/style\x3e\x3c/head\x3e";
-                e += "\x3cbody\x3e";
-                e += a.container.innerHTML;
-                e += "\x3c/body\x3e";
-                e += "\x3chtml\x3e";
-                b.writeln(e);
-                b.close();
-                a =
-                    b.body.getElementsByTagName("DIV")[0];
-                null != a && (a.style.position = "absolute", a.style.left = c + "px", a.style.top = d + "px")
-            } else {
-                b.writeln("\x3chtml");
-                b.writeln("\x3chead\x3e");
-                f = document.getElementsByTagName("base");
-                for (g = 0; g < f.length; g++) b.writeln(mxUtils.getOuterHtml(f[g]));
-                f = document.getElementsByTagName("link");
-                for (g = 0; g < f.length; g++) b.writeln(mxUtils.getOuterHtml(f[g]));
-                f = document.getElementsByTagName("style");
-                for (g = 0; g < f.length; g++) b.writeln(mxUtils.getOuterHtml(f[g]));
-                b.writeln("\x3c/head\x3e");
-                b.writeln("\x3c/html\x3e");
-                b.close();
-                null == b.body && b.documentElement.appendChild(b.createElement("body"));
-                b.body.style.overflow = "auto";
-                for (a = a.container.firstChild; null != a;) g = a.cloneNode(!0), b.body.appendChild(g), a = a.nextSibling;
-                a = b.getElementsByTagName("g")[0];
-                null != a && (a.setAttribute("transform", "translate(" + c + "," + d + ")"), c = a.ownerSVGElement, c.setAttribute("width", e.width + Math.max(e.x, 0) + 3), c.setAttribute("height", e.height + Math.max(e.y, 0) + 3))
+        } finally {
+          a.endUpdate()
+        }
+      }
+    },
+    setStyle: function(a, b, c) {
+      var d = null != c && ("undefined" == typeof c.length || 0 < c.length);
+      if (null == a || 0 == a.length) d && (a = b + "\x3d" + c);
+      else {
+        var e = a.indexOf(b +
+          "\x3d");
+        0 > e ? d && (d = ";" == a.charAt(a.length - 1) ? "" : ";", a = a + d + b + "\x3d" + c) : (b = d ? b + "\x3d" + c : "", c = a.indexOf(";", e), d || c++, a = a.substring(0, e) + b + (c > e ?
+          a.substring(c) : ""))
+      }
+      return a
+    },
+    setCellStyleFlags: function(a, b, c, d, e) {
+      if (null != b && 0 < b.length) {
+        a.beginUpdate();
+        try {
+          for (var f = 0; f < b.length; f++)
+            if (null != b[f]) {
+              var g = mxUtils.setStyleFlag(a.getStyle(b[f]), c, d, e);
+              a.setStyle(b[f], g)
             }
-            mxUtils.removeCursors(b.body);
-            return b
-        },
-        printScreen: function(a) {
-            var b = window.open();
-            mxUtils.show(a, b.document);
-            a = function() {
-                b.focus();
-                b.print();
-                b.close()
-            };
-            mxClient.IS_GC ? b.setTimeout(a, 500) : a()
-        },
-        popup: function(a, b) {
-            if (b) {
-                var c = document.createElement("div");
-                c.style.overflow = "scroll";
-                c.style.width = "636px";
-                c.style.height = "460px";
-                var d = document.createElement("pre");
-                d.innerHTML = mxUtils.htmlEntities(a, !1).replace(/\n/g, "\x3cbr\x3e").replace(/ /g, "\x26nbsp;");
-                c.appendChild(d);
-                c = new mxWindow("Popup Window", c, document.body.clientWidth / 2 - 320, (document.body.clientHeight || document.documentElement.clientHeight) /
-                    2 - 240, 640, 480, !1, !0);
-                c.setClosable(!0);
-                c.setVisible(!0)
-            } else mxClient.IS_NS ? (c = window.open(), c.document.writeln("\x3cpre\x3e" + mxUtils.htmlEntities(a) + "\x3c/pre"), c.document.close()) : (c = window.open(), d = c.document.createElement("pre"), d.innerHTML = mxUtils.htmlEntities(a, !1).replace(/\n/g, "\x3cbr\x3e").replace(/ /g, "\x26nbsp;"), c.document.body.appendChild(d))
-        },
-        alert: function(a) {
-            alert(a)
-        },
-        prompt: function(a, b) {
-            return prompt(a, b)
-        },
-        confirm: function(a) {
-            return confirm(a)
-        },
-        error: function(a, b, c, d) {
-            var e = document.createElement("div");
-            e.style.padding = "20px";
-            var f = document.createElement("img");
-            f.setAttribute("src", d || mxUtils.errorImage);
-            f.setAttribute("valign", "bottom");
-            f.style.verticalAlign = "middle";
-            e.appendChild(f);
-            e.appendChild(document.createTextNode("\u00a0"));
-            e.appendChild(document.createTextNode("\u00a0"));
-            e.appendChild(document.createTextNode("\u00a0"));
-            mxUtils.write(e, a);
-            a = document.body.clientWidth;
-            d = document.body.clientHeight || document.documentElement.clientHeight;
-            var g = new mxWindow(mxResources.get(mxUtils.errorResource) ||
-                mxUtils.errorResource, e, (a - b) / 2, d / 4, b, null, !1, !0);
-            c && (mxUtils.br(e), b = document.createElement("p"), c = document.createElement("button"), mxClient.IS_IE ? c.style.cssText = "float:right" : c.setAttribute("style", "float:right"), mxEvent.addListener(c, "click", function(a) {
-                g.destroy()
-            }), mxUtils.write(c, mxResources.get(mxUtils.closeResource) || mxUtils.closeResource), b.appendChild(c), e.appendChild(b), mxUtils.br(e), g.setClosable(!0));
-            g.setVisible(!0);
-            return g
-        },
-        makeDraggable: function(a, b, c, d, e, f, g, h, k, l) {
-            a = new mxDragSource(a,
-                c);
-            a.dragOffset = new mxPoint(null != e ? e : 0, null != f ? f : mxConstants.TOOLTIP_VERTICAL_OFFSET);
-            a.autoscroll = g;
-            a.setGuidesEnabled(!1);
-            null != k && (a.highlightDropTargets = k);
-            null != l && (a.getDropTarget = l);
-            a.getGraphForEvent = function(a) {
-                return "function" == typeof b ? b(a) : b
-            };
-            null != d && (a.createDragElement = function() {
-                return d.cloneNode(!0)
-            }, h && (a.createPreviewElement = function(a) {
-                var b = d.cloneNode(!0),
-                    c = parseInt(b.style.width),
-                    e = parseInt(b.style.height);
-                b.style.width = Math.round(c * a.view.scale) + "px";
-                b.style.height = Math.round(e *
-                    a.view.scale) + "px";
-                return b
-            }));
-            return a
+        } finally {
+          a.endUpdate()
         }
+      }
     },
-    mxConstants = {
-        DEFAULT_HOTSPOT: 0.3,
-        MIN_HOTSPOT_SIZE: 8,
-        MAX_HOTSPOT_SIZE: 0,
-        RENDERING_HINT_EXACT: "exact",
-        RENDERING_HINT_FASTER: "faster",
-        RENDERING_HINT_FASTEST: "fastest",
-        DIALECT_SVG: "svg",
-        DIALECT_VML: "vml",
-        DIALECT_MIXEDHTML: "mixedHtml",
-        DIALECT_PREFERHTML: "preferHtml",
-        DIALECT_STRICTHTML: "strictHtml",
-        NS_SVG: "http://www.w3.org/2000/svg",
-        NS_XHTML: "http://www.w3.org/1999/xhtml",
-        NS_XLINK: "http://www.w3.org/1999/xlink",
-        SHADOWCOLOR: "gray",
-        SHADOW_OFFSET_X: 2,
-        SHADOW_OFFSET_Y: 3,
-        SHADOW_OPACITY: 1,
-        NODETYPE_ELEMENT: 1,
-        NODETYPE_ATTRIBUTE: 2,
-        NODETYPE_TEXT: 3,
-        NODETYPE_CDATA: 4,
-        NODETYPE_ENTITY_REFERENCE: 5,
-        NODETYPE_ENTITY: 6,
-        NODETYPE_PROCESSING_INSTRUCTION: 7,
-        NODETYPE_COMMENT: 8,
-        NODETYPE_DOCUMENT: 9,
-        NODETYPE_DOCUMENTTYPE: 10,
-        NODETYPE_DOCUMENT_FRAGMENT: 11,
-        NODETYPE_NOTATION: 12,
-        TOOLTIP_VERTICAL_OFFSET: 16,
-        DEFAULT_VALID_COLOR: "#00FF00",
-        DEFAULT_INVALID_COLOR: "#FF0000",
-        HIGHLIGHT_STROKEWIDTH: 3,
-        CURSOR_MOVABLE_VERTEX: "move",
-        CURSOR_MOVABLE_EDGE: "move",
-        CURSOR_LABEL_HANDLE: "default",
-        CURSOR_BEND_HANDLE: "pointer",
-        CURSOR_CONNECT: "pointer",
-        HIGHLIGHT_COLOR: "#00FF00",
-        CONNECT_TARGET_COLOR: "#0000FF",
-        INVALID_CONNECT_TARGET_COLOR: "#FF0000",
-        DROP_TARGET_COLOR: "#0000FF",
-        VALID_COLOR: "#00FF00",
-        INVALID_COLOR: "#FF0000",
-        EDGE_SELECTION_COLOR: "#00FF00",
-        VERTEX_SELECTION_COLOR: "#00FF00",
-        VERTEX_SELECTION_STROKEWIDTH: 1,
-        EDGE_SELECTION_STROKEWIDTH: 1,
-        VERTEX_SELECTION_DASHED: !0,
-        EDGE_SELECTION_DASHED: !0,
-        GUIDE_COLOR: "#FF0000",
-        GUIDE_STROKEWIDTH: 1,
-        OUTLINE_COLOR: "#0099FF",
-        OUTLINE_STROKEWIDTH: mxClient.IS_IE ? 2 : 3,
-        HANDLE_SIZE: 7,
-        LABEL_HANDLE_SIZE: 4,
-        HANDLE_FILLCOLOR: "#00FF00",
-        HANDLE_STROKECOLOR: "black",
-        LABEL_HANDLE_FILLCOLOR: "yellow",
-        CONNECT_HANDLE_FILLCOLOR: "#0000FF",
-        LOCKED_HANDLE_FILLCOLOR: "#FF0000",
-        OUTLINE_HANDLE_FILLCOLOR: "#00FFFF",
-        OUTLINE_HANDLE_STROKECOLOR: "#0033FF",
-        DEFAULT_FONTFAMILY: "Arial,Helvetica",
-        DEFAULT_FONTSIZE: 11,
-        LINE_HEIGHT: 1.2,
-        DEFAULT_FONTSTYLE: 0,
-        DEFAULT_STARTSIZE: 40,
-        DEFAULT_MARKERSIZE: 6,
-        DEFAULT_IMAGESIZE: 24,
-        ENTITY_SEGMENT: 30,
-        RECTANGLE_ROUNDING_FACTOR: 0.15,
-        LINE_ARCSIZE: 20,
-        ARROW_SPACING: 10,
-        ARROW_WIDTH: 30,
-        ARROW_SIZE: 30,
-        PAGE_FORMAT_A4_PORTRAIT: new mxRectangle(0,
-            0, 826, 1169),
-        PAGE_FORMAT_A4_LANDSCAPE: new mxRectangle(0, 0, 1169, 826),
-        PAGE_FORMAT_LETTER_PORTRAIT: new mxRectangle(0, 0, 850, 1100),
-        PAGE_FORMAT_LETTER_LANDSCAPE: new mxRectangle(0, 0, 1100, 850),
-        NONE: "none",
-        STYLE_PERIMETER: "perimeter",
-        STYLE_SOURCE_PORT: "sourcePort",
-        STYLE_TARGET_PORT: "targetPort",
-        STYLE_PORT_CONSTRAINT: "portConstraint",
-        STYLE_OPACITY: "opacity",
-        STYLE_TEXT_OPACITY: "textOpacity",
-        STYLE_OVERFLOW: "overflow",
-        STYLE_ORTHOGONAL: "orthogonal",
-        STYLE_EXIT_X: "exitX",
-        STYLE_EXIT_Y: "exitY",
-        STYLE_EXIT_PERIMETER: "exitPerimeter",
-        STYLE_ENTRY_X: "entryX",
-        STYLE_ENTRY_Y: "entryY",
-        STYLE_ENTRY_PERIMETER: "entryPerimeter",
-        STYLE_WHITE_SPACE: "whiteSpace",
-        STYLE_ROTATION: "rotation",
-        STYLE_FILLCOLOR: "fillColor",
-        STYLE_SWIMLANE_FILLCOLOR: "swimlaneFillColor",
-        STYLE_GRADIENTCOLOR: "gradientColor",
-        STYLE_GRADIENT_DIRECTION: "gradientDirection",
-        STYLE_STROKECOLOR: "strokeColor",
-        STYLE_SEPARATORCOLOR: "separatorColor",
-        STYLE_STROKEWIDTH: "strokeWidth",
-        STYLE_ALIGN: "align",
-        STYLE_VERTICAL_ALIGN: "verticalAlign",
-        STYLE_LABEL_POSITION: "labelPosition",
-        STYLE_VERTICAL_LABEL_POSITION: "verticalLabelPosition",
-        STYLE_IMAGE_ASPECT: "imageAspect",
-        STYLE_IMAGE_ALIGN: "imageAlign",
-        STYLE_IMAGE_VERTICAL_ALIGN: "imageVerticalAlign",
-        STYLE_GLASS: "glass",
-        STYLE_IMAGE: "image",
-        STYLE_IMAGE_WIDTH: "imageWidth",
-        STYLE_IMAGE_HEIGHT: "imageHeight",
-        STYLE_IMAGE_BACKGROUND: "imageBackground",
-        STYLE_IMAGE_BORDER: "imageBorder",
-        STYLE_FLIPH: "flipH",
-        STYLE_FLIPV: "flipV",
-        STYLE_NOLABEL: "noLabel",
-        STYLE_NOEDGESTYLE: "noEdgeStyle",
-        STYLE_LABEL_BACKGROUNDCOLOR: "labelBackgroundColor",
-        STYLE_LABEL_BORDERCOLOR: "labelBorderColor",
-        STYLE_LABEL_PADDING: "labelPadding",
-        STYLE_INDICATOR_SHAPE: "indicatorShape",
-        STYLE_INDICATOR_IMAGE: "indicatorImage",
-        STYLE_INDICATOR_COLOR: "indicatorColor",
-        STYLE_INDICATOR_STROKECOLOR: "indicatorStrokeColor",
-        STYLE_INDICATOR_GRADIENTCOLOR: "indicatorGradientColor",
-        STYLE_INDICATOR_SPACING: "indicatorSpacing",
-        STYLE_INDICATOR_WIDTH: "indicatorWidth",
-        STYLE_INDICATOR_HEIGHT: "indicatorHeight",
-        STYLE_INDICATOR_DIRECTION: "indicatorDirection",
-        STYLE_SHADOW: "shadow",
-        STYLE_SEGMENT: "segment",
-        STYLE_ENDARROW: "endArrow",
-        STYLE_STARTARROW: "startArrow",
-        STYLE_ENDSIZE: "endSize",
-        STYLE_STARTSIZE: "startSize",
-        STYLE_SWIMLANE_LINE: "swimlaneLine",
-        STYLE_ENDFILL: "endFill",
-        STYLE_STARTFILL: "startFill",
-        STYLE_DASHED: "dashed",
-        STYLE_DASH_PATTERN: "dashPattern",
-        STYLE_ROUNDED: "rounded",
-        STYLE_CURVED: "curved",
-        STYLE_ARCSIZE: "arcSize",
-        STYLE_SMOOTH: "smooth",
-        STYLE_SOURCE_PERIMETER_SPACING: "sourcePerimeterSpacing",
-        STYLE_TARGET_PERIMETER_SPACING: "targetPerimeterSpacing",
-        STYLE_PERIMETER_SPACING: "perimeterSpacing",
-        STYLE_SPACING: "spacing",
-        STYLE_SPACING_TOP: "spacingTop",
-        STYLE_SPACING_LEFT: "spacingLeft",
-        STYLE_SPACING_BOTTOM: "spacingBottom",
-        STYLE_SPACING_RIGHT: "spacingRight",
-        STYLE_HORIZONTAL: "horizontal",
-        STYLE_DIRECTION: "direction",
-        STYLE_ELBOW: "elbow",
-        STYLE_FONTCOLOR: "fontColor",
-        STYLE_FONTFAMILY: "fontFamily",
-        STYLE_FONTSIZE: "fontSize",
-        STYLE_FONTSTYLE: "fontStyle",
-        STYLE_AUTOSIZE: "autosize",
-        STYLE_FOLDABLE: "foldable",
-        STYLE_EDITABLE: "editable",
-        STYLE_BENDABLE: "bendable",
-        STYLE_MOVABLE: "movable",
-        STYLE_RESIZABLE: "resizable",
-        STYLE_CLONEABLE: "cloneable",
-        STYLE_DELETABLE: "deletable",
-        STYLE_SHAPE: "shape",
-        STYLE_EDGE: "edgeStyle",
-        STYLE_LOOP: "loopStyle",
-        STYLE_ROUTING_CENTER_X: "routingCenterX",
-        STYLE_ROUTING_CENTER_Y: "routingCenterY",
-        FONT_BOLD: 1,
-        FONT_ITALIC: 2,
-        FONT_UNDERLINE: 4,
-        FONT_SHADOW: 8,
-        SHAPE_RECTANGLE: "rectangle",
-        SHAPE_ELLIPSE: "ellipse",
-        SHAPE_DOUBLE_ELLIPSE: "doubleEllipse",
-        SHAPE_RHOMBUS: "rhombus",
-        SHAPE_LINE: "line",
-        SHAPE_IMAGE: "image",
-        SHAPE_ARROW: "arrow",
-        SHAPE_LABEL: "label",
-        SHAPE_CYLINDER: "cylinder",
-        SHAPE_SWIMLANE: "swimlane",
-        SHAPE_CONNECTOR: "connector",
-        SHAPE_ACTOR: "actor",
-        SHAPE_CLOUD: "cloud",
-        SHAPE_TRIANGLE: "triangle",
-        SHAPE_HEXAGON: "hexagon",
-        ARROW_CLASSIC: "classic",
-        ARROW_BLOCK: "block",
-        ARROW_OPEN: "open",
-        ARROW_OVAL: "oval",
-        ARROW_DIAMOND: "diamond",
-        ARROW_DIAMOND_THIN: "diamondThin",
-        ALIGN_LEFT: "left",
-        ALIGN_CENTER: "center",
-        ALIGN_RIGHT: "right",
-        ALIGN_TOP: "top",
-        ALIGN_MIDDLE: "middle",
-        ALIGN_BOTTOM: "bottom",
-        DIRECTION_NORTH: "north",
-        DIRECTION_SOUTH: "south",
-        DIRECTION_EAST: "east",
-        DIRECTION_WEST: "west",
-        DIRECTION_MASK_NONE: 0,
-        DIRECTION_MASK_WEST: 1,
-        DIRECTION_MASK_NORTH: 2,
-        DIRECTION_MASK_SOUTH: 4,
-        DIRECTION_MASK_EAST: 8,
-        DIRECTION_MASK_ALL: 15,
-        ELBOW_VERTICAL: "vertical",
-        ELBOW_HORIZONTAL: "horizontal",
-        EDGESTYLE_ELBOW: "elbowEdgeStyle",
-        EDGESTYLE_ENTITY_RELATION: "entityRelationEdgeStyle",
-        EDGESTYLE_LOOP: "loopEdgeStyle",
-        EDGESTYLE_SIDETOSIDE: "sideToSideEdgeStyle",
-        EDGESTYLE_TOPTOBOTTOM: "topToBottomEdgeStyle",
-        EDGESTYLE_ORTHOGONAL: "orthogonalEdgeStyle",
-        EDGESTYLE_SEGMENT: "segmentEdgeStyle",
-        PERIMETER_ELLIPSE: "ellipsePerimeter",
-        PERIMETER_RECTANGLE: "rectanglePerimeter",
-        PERIMETER_RHOMBUS: "rhombusPerimeter",
-        PERIMETER_TRIANGLE: "trianglePerimeter"
-    };
+    setStyleFlag: function(a, b, c, d) {
+      if (null == a || 0 == a.length) a = d || null == d ? b + "\x3d" + c : b + "\x3d0";
+      else {
+        var e = a.indexOf(b +
+          "\x3d");
+        if (0 > e) e = ";" == a.charAt(a.length - 1) ? "" : ";", a = d || null == d ? a + e + b + "\x3d" + c : a + e + b + "\x3d0";
+        else {
+          var f = a.indexOf(";", e),
+            g = "",
+            g = 0 > f ? a.substring(e + b.length + 1) : a.substring(e + b.length + 1, f),
+            g = null == d ? parseInt(g) ^ c : d ? parseInt(g) | c : parseInt(g) & ~c;
+          a = a.substring(0, e) + b + "\x3d" + g + (0 <= f ? a.substring(f) : "")
+        }
+      }
+      return a
+    },
+    getAlignmentAsPoint: function(a, b) {
+      var c = 0,
+        d = 0;
+      a == mxConstants.ALIGN_CENTER ? c = -0.5 : a == mxConstants.ALIGN_RIGHT && (c = -1);
+      b == mxConstants.ALIGN_MIDDLE ? d = -0.5 : b == mxConstants.ALIGN_BOTTOM && (d = -1);
+      return new mxPoint(c,
+        d)
+    },
+    getSizeForString: function(a, b, c) {
+      b = null != b ? b : mxConstants.DEFAULT_FONTSIZE;
+      c = null != c ? c : mxConstants.DEFAULT_FONTFAMILY;
+      var d = document.createElement("div");
+      d.style.fontFamily = c;
+      d.style.fontSize = Math.round(b) + "px";
+      d.style.lineHeight = Math.round(b * mxConstants.LINE_HEIGHT) + "px";
+      d.style.position = "absolute";
+      d.style.whiteSpace = "nowrap";
+      d.style.visibility = "hidden";
+      d.style.display = mxClient.IS_QUIRKS ? "inline" : "inline-block";
+      d.style.zoom = "1";
+      d.innerHTML = a;
+      document.body.appendChild(d);
+      a = new mxRectangle(0, 0,
+        d.offsetWidth, d.offsetHeight);
+      document.body.removeChild(d);
+      return a
+    },
+    getViewXml: function(a, b, c, d, e) {
+      d = null != d ? d : 0;
+      e = null != e ? e : 0;
+      b = null != b ? b : 1;
+      null == c && (c = [a.getModel().getRoot()]);
+      var f = a.getView(),
+        g = null,
+        h = f.isEventsEnabled();
+      f.setEventsEnabled(!1);
+      var k = f.drawPane,
+        l = f.overlayPane;
+      a.dialect == mxConstants.DIALECT_SVG ? (f.drawPane = document.createElementNS(mxConstants.NS_SVG, "g"), f.canvas.appendChild(f.drawPane), f.overlayPane = document.createElementNS(mxConstants.NS_SVG,
+        "g")) : (f.drawPane = f.drawPane.cloneNode(!1),
+        f.canvas.appendChild(f.drawPane), f.overlayPane = f.overlayPane.cloneNode(!1));
+      f.canvas.appendChild(f.overlayPane);
+      var m = f.getTranslate();
+      f.translate = new mxPoint(d, e);
+      b = new mxTemporaryCellStates(a.getView(), b, c);
+      try {
+        g = (new mxCodec).encode(a.getView())
+      } finally {
+        b.destroy(), f.translate = m, f.canvas.removeChild(f.drawPane), f.canvas.removeChild(f.overlayPane), f.drawPane = k, f.overlayPane = l, f.setEventsEnabled(h)
+      }
+      return g
+    },
+    getScaleForPageCount: function(a, b, c, d) {
+      if (1 > a) return 1;
+      c = null != c ? c : mxConstants.PAGE_FORMAT_A4_PORTRAIT;
+      d = null != d ? d : 0;
+      var e = c.width - 2 * d;
+      c = c.height - 2 * d;
+      d = b.getGraphBounds().clone();
+      b = b.getView().getScale();
+      d.width /= b;
+      d.height /= b;
+      b = d.width;
+      c = b / d.height / (e / c);
+      d = Math.sqrt(a);
+      var f = Math.sqrt(c);
+      c = d * f;
+      d /= f;
+      if (1 > c && d > a) {
+        var g = d / a;
+        d = a;
+        c /= g
+      }
+      1 > d && c > a && (g = c / a, c = a, d /= g);
+      g = Math.ceil(c) * Math.ceil(d);
+      for (f = 0; g > a;) {
+        var g = Math.floor(c) / c,
+          h = Math.floor(d) / d;
+        1 == g && (g = Math.floor(c - 1) / c);
+        1 == h && (h = Math.floor(d - 1) / d);
+        g = g > h ? g : h;
+        c *= g;
+        d *= g;
+        g = Math.ceil(c) * Math.ceil(d);
+        f++;
+        if (10 < f) break
+      }
+      return 0.99999 * (e * c / b)
+    },
+    show: function(a,
+      b, c, d) {
+      c = null != c ? c : 0;
+      d = null != d ? d : 0;
+      null == b ? b = window.open().document : b.open();
+      var e = a.getGraphBounds();
+      c = -e.x + c;
+      d = -e.y + d;
+      if (mxClient.IS_IE) {
+        for (var e = "\x3chtml\x3e\x3chead\x3e", f = document.getElementsByTagName("base"), g = 0; g < f.length; g++) e += f[g].outerHTML;
+        e += "\x3cstyle\x3e";
+        for (g = 0; g < document.styleSheets.length; g++) try {
+          e += document.styleSheets(g).cssText
+        } catch (h) {}
+        e += "\x3c/style\x3e\x3c/head\x3e";
+        e += "\x3cbody\x3e";
+        e += a.container.innerHTML;
+        e += "\x3c/body\x3e";
+        e += "\x3chtml\x3e";
+        b.writeln(e);
+        b.close();
+        a =
+          b.body.getElementsByTagName("DIV")[0];
+        null != a && (a.style.position = "absolute", a.style.left = c + "px", a.style.top = d + "px")
+      } else {
+        b.writeln("\x3chtml");
+        b.writeln("\x3chead\x3e");
+        f = document.getElementsByTagName("base");
+        for (g = 0; g < f.length; g++) b.writeln(mxUtils.getOuterHtml(f[g]));
+        f = document.getElementsByTagName("link");
+        for (g = 0; g < f.length; g++) b.writeln(mxUtils.getOuterHtml(f[g]));
+        f = document.getElementsByTagName("style");
+        for (g = 0; g < f.length; g++) b.writeln(mxUtils.getOuterHtml(f[g]));
+        b.writeln("\x3c/head\x3e");
+        b.writeln("\x3c/html\x3e");
+        b.close();
+        null == b.body && b.documentElement.appendChild(b.createElement("body"));
+        b.body.style.overflow = "auto";
+        for (a = a.container.firstChild; null != a;) g = a.cloneNode(!0), b.body.appendChild(g), a = a.nextSibling;
+        a = b.getElementsByTagName("g")[0];
+        null != a && (a.setAttribute("transform", "translate(" + c + "," + d + ")"), c = a.ownerSVGElement, c.setAttribute("width", e.width + Math.max(e.x, 0) + 3), c.setAttribute("height", e.height +
+          Math.max(e.y, 0) + 3))
+      }
+      mxUtils.removeCursors(b.body);
+      return b
+    },
+    printScreen: function(a) {
+      var b = window.open();
+      mxUtils.show(a, b.document);
+      a = function() {
+        b.focus();
+        b.print();
+        b.close()
+      };
+      mxClient.IS_GC ? b.setTimeout(a, 500) : a()
+    },
+    popup: function(a, b) {
+      if (b) {
+        var c = document.createElement("div");
+        c.style.overflow = "scroll";
+        c.style.width = "636px";
+        c.style.height = "460px";
+        var d = document.createElement("pre");
+        d.innerHTML = mxUtils.htmlEntities(a, !1).replace(/\n/g, "\x3cbr\x3e").replace(/ /g, "\x26nbsp;");
+        c.appendChild(d);
+        c = new mxWindow("Popup Window", c, document.body.clientWidth / 2 - 320, (document.body.clientHeight || document.documentElement.clientHeight) /
+          2 - 240, 640, 480, !1, !0);
+        c.setClosable(!0);
+        c.setVisible(!0)
+      } else mxClient.IS_NS ? (c = window.open(), c.document.writeln("\x3cpre\x3e" + mxUtils.htmlEntities(a) + "\x3c/pre"), c.document.close()) : (c = window.open(), d = c.document.createElement(
+        "pre"), d.innerHTML = mxUtils.htmlEntities(a, !1).replace(/\n/g, "\x3cbr\x3e").replace(/ /g, "\x26nbsp;"), c.document.body.appendChild(d))
+    },
+    alert: function(a) {
+      alert(a)
+    },
+    prompt: function(a, b) {
+      return prompt(a, b)
+    },
+    confirm: function(a) {
+      return confirm(a)
+    },
+    error: function(a, b, c, d) {
+      var e = document.createElement("div");
+      e.style.padding = "20px";
+      var f = document.createElement("img");
+      f.setAttribute("src", d || mxUtils.errorImage);
+      f.setAttribute("valign", "bottom");
+      f.style.verticalAlign = "middle";
+      e.appendChild(f);
+      e.appendChild(document.createTextNode("\u00a0"));
+      e.appendChild(document.createTextNode("\u00a0"));
+      e.appendChild(document.createTextNode("\u00a0"));
+      mxUtils.write(e, a);
+      a = document.body.clientWidth;
+      d = document.body.clientHeight || document.documentElement.clientHeight;
+      var g = new mxWindow(mxResources.get(mxUtils.errorResource) ||
+        mxUtils.errorResource, e, (a - b) / 2, d / 4, b, null, !1, !0);
+      c && (mxUtils.br(e), b = document.createElement("p"), c = document.createElement("button"), mxClient.IS_IE ? c.style.cssText = "float:right" : c.setAttribute("style", "float:right"), mxEvent.addListener(
+        c, "click",
+        function(a) {
+          g.destroy()
+        }), mxUtils.write(c, mxResources.get(mxUtils.closeResource) || mxUtils.closeResource), b.appendChild(c), e.appendChild(b), mxUtils.br(e), g.setClosable(!0));
+      g.setVisible(!0);
+      return g
+    },
+    makeDraggable: function(a, b, c, d, e, f, g, h, k, l) {
+      a = new mxDragSource(a,
+        c);
+      a.dragOffset = new mxPoint(null != e ? e : 0, null != f ? f : mxConstants.TOOLTIP_VERTICAL_OFFSET);
+      a.autoscroll = g;
+      a.setGuidesEnabled(!1);
+      null != k && (a.highlightDropTargets = k);
+      null != l && (a.getDropTarget = l);
+      a.getGraphForEvent = function(a) {
+        return "function" == typeof b ? b(a) : b
+      };
+      null != d && (a.createDragElement = function() {
+        return d.cloneNode(!0)
+      }, h && (a.createPreviewElement = function(a) {
+        var b = d.cloneNode(!0),
+          c = parseInt(b.style.width),
+          e = parseInt(b.style.height);
+        b.style.width = Math.round(c * a.view.scale) + "px";
+        b.style.height = Math.round(e *
+          a.view.scale) + "px";
+        return b
+      }));
+      return a
+    }
+  },
+  mxConstants = {
+    DEFAULT_HOTSPOT: 0.3,
+    MIN_HOTSPOT_SIZE: 8,
+    MAX_HOTSPOT_SIZE: 0,
+    RENDERING_HINT_EXACT: "exact",
+    RENDERING_HINT_FASTER: "faster",
+    RENDERING_HINT_FASTEST: "fastest",
+    DIALECT_SVG: "svg",
+    DIALECT_VML: "vml",
+    DIALECT_MIXEDHTML: "mixedHtml",
+    DIALECT_PREFERHTML: "preferHtml",
+    DIALECT_STRICTHTML: "strictHtml",
+    NS_SVG: "http://www.w3.org/2000/svg",
+    NS_XHTML: "http://www.w3.org/1999/xhtml",
+    NS_XLINK: "http://www.w3.org/1999/xlink",
+    SHADOWCOLOR: "gray",
+    SHADOW_OFFSET_X: 2,
+    SHADOW_OFFSET_Y: 3,
+    SHADOW_OPACITY: 1,
+    NODETYPE_ELEMENT: 1,
+    NODETYPE_ATTRIBUTE: 2,
+    NODETYPE_TEXT: 3,
+    NODETYPE_CDATA: 4,
+    NODETYPE_ENTITY_REFERENCE: 5,
+    NODETYPE_ENTITY: 6,
+    NODETYPE_PROCESSING_INSTRUCTION: 7,
+    NODETYPE_COMMENT: 8,
+    NODETYPE_DOCUMENT: 9,
+    NODETYPE_DOCUMENTTYPE: 10,
+    NODETYPE_DOCUMENT_FRAGMENT: 11,
+    NODETYPE_NOTATION: 12,
+    TOOLTIP_VERTICAL_OFFSET: 16,
+    DEFAULT_VALID_COLOR: "#00FF00",
+    DEFAULT_INVALID_COLOR: "#FF0000",
+    HIGHLIGHT_STROKEWIDTH: 3,
+    CURSOR_MOVABLE_VERTEX: "move",
+    CURSOR_MOVABLE_EDGE: "move",
+    CURSOR_LABEL_HANDLE: "default",
+    CURSOR_BEND_HANDLE: "pointer",
+    CURSOR_CONNECT: "pointer",
+    HIGHLIGHT_COLOR: "#00FF00",
+    CONNECT_TARGET_COLOR: "#0000FF",
+    INVALID_CONNECT_TARGET_COLOR: "#FF0000",
+    DROP_TARGET_COLOR: "#0000FF",
+    VALID_COLOR: "#00FF00",
+    INVALID_COLOR: "#FF0000",
+    EDGE_SELECTION_COLOR: "#00FF00",
+    VERTEX_SELECTION_COLOR: "#00FF00",
+    VERTEX_SELECTION_STROKEWIDTH: 1,
+    EDGE_SELECTION_STROKEWIDTH: 1,
+    VERTEX_SELECTION_DASHED: !0,
+    EDGE_SELECTION_DASHED: !0,
+    GUIDE_COLOR: "#FF0000",
+    GUIDE_STROKEWIDTH: 1,
+    OUTLINE_COLOR: "#0099FF",
+    OUTLINE_STROKEWIDTH: mxClient.IS_IE ? 2 : 3,
+    HANDLE_SIZE: 7,
+    LABEL_HANDLE_SIZE: 4,
+    HANDLE_FILLCOLOR: "#00FF00",
+    HANDLE_STROKECOLOR: "black",
+    LABEL_HANDLE_FILLCOLOR: "yellow",
+    CONNECT_HANDLE_FILLCOLOR: "#0000FF",
+    LOCKED_HANDLE_FILLCOLOR: "#FF0000",
+    OUTLINE_HANDLE_FILLCOLOR: "#00FFFF",
+    OUTLINE_HANDLE_STROKECOLOR: "#0033FF",
+    DEFAULT_FONTFAMILY: "Arial,Helvetica",
+    DEFAULT_FONTSIZE: 11,
+    LINE_HEIGHT: 1.2,
+    DEFAULT_FONTSTYLE: 0,
+    DEFAULT_STARTSIZE: 40,
+    DEFAULT_MARKERSIZE: 6,
+    DEFAULT_IMAGESIZE: 24,
+    ENTITY_SEGMENT: 30,
+    RECTANGLE_ROUNDING_FACTOR: 0.15,
+    LINE_ARCSIZE: 20,
+    ARROW_SPACING: 10,
+    ARROW_WIDTH: 30,
+    ARROW_SIZE: 30,
+    PAGE_FORMAT_A4_PORTRAIT: new mxRectangle(0,
+      0, 826, 1169),
+    PAGE_FORMAT_A4_LANDSCAPE: new mxRectangle(0, 0, 1169, 826),
+    PAGE_FORMAT_LETTER_PORTRAIT: new mxRectangle(0, 0, 850, 1100),
+    PAGE_FORMAT_LETTER_LANDSCAPE: new mxRectangle(0, 0, 1100, 850),
+    NONE: "none",
+    STYLE_PERIMETER: "perimeter",
+    STYLE_SOURCE_PORT: "sourcePort",
+    STYLE_TARGET_PORT: "targetPort",
+    STYLE_PORT_CONSTRAINT: "portConstraint",
+    STYLE_OPACITY: "opacity",
+    STYLE_TEXT_OPACITY: "textOpacity",
+    STYLE_OVERFLOW: "overflow",
+    STYLE_ORTHOGONAL: "orthogonal",
+    STYLE_EXIT_X: "exitX",
+    STYLE_EXIT_Y: "exitY",
+    STYLE_EXIT_PERIMETER: "exitPerimeter",
+    STYLE_ENTRY_X: "entryX",
+    STYLE_ENTRY_Y: "entryY",
+    STYLE_ENTRY_PERIMETER: "entryPerimeter",
+    STYLE_WHITE_SPACE: "whiteSpace",
+    STYLE_ROTATION: "rotation",
+    STYLE_FILLCOLOR: "fillColor",
+    STYLE_SWIMLANE_FILLCOLOR: "swimlaneFillColor",
+    STYLE_GRADIENTCOLOR: "gradientColor",
+    STYLE_GRADIENT_DIRECTION: "gradientDirection",
+    STYLE_STROKECOLOR: "strokeColor",
+    STYLE_SEPARATORCOLOR: "separatorColor",
+    STYLE_STROKEWIDTH: "strokeWidth",
+    STYLE_ALIGN: "align",
+    STYLE_VERTICAL_ALIGN: "verticalAlign",
+    STYLE_LABEL_POSITION: "labelPosition",
+    STYLE_VERTICAL_LABEL_POSITION: "verticalLabelPosition",
+    STYLE_IMAGE_ASPECT: "imageAspect",
+    STYLE_IMAGE_ALIGN: "imageAlign",
+    STYLE_IMAGE_VERTICAL_ALIGN: "imageVerticalAlign",
+    STYLE_GLASS: "glass",
+    STYLE_IMAGE: "image",
+    STYLE_IMAGE_WIDTH: "imageWidth",
+    STYLE_IMAGE_HEIGHT: "imageHeight",
+    STYLE_IMAGE_BACKGROUND: "imageBackground",
+    STYLE_IMAGE_BORDER: "imageBorder",
+    STYLE_FLIPH: "flipH",
+    STYLE_FLIPV: "flipV",
+    STYLE_NOLABEL: "noLabel",
+    STYLE_NOEDGESTYLE: "noEdgeStyle",
+    STYLE_LABEL_BACKGROUNDCOLOR: "labelBackgroundColor",
+    STYLE_LABEL_BORDERCOLOR: "labelBorderColor",
+    STYLE_LABEL_PADDING: "labelPadding",
+    STYLE_INDICATOR_SHAPE: "indicatorShape",
+    STYLE_INDICATOR_IMAGE: "indicatorImage",
+    STYLE_INDICATOR_COLOR: "indicatorColor",
+    STYLE_INDICATOR_STROKECOLOR: "indicatorStrokeColor",
+    STYLE_INDICATOR_GRADIENTCOLOR: "indicatorGradientColor",
+    STYLE_INDICATOR_SPACING: "indicatorSpacing",
+    STYLE_INDICATOR_WIDTH: "indicatorWidth",
+    STYLE_INDICATOR_HEIGHT: "indicatorHeight",
+    STYLE_INDICATOR_DIRECTION: "indicatorDirection",
+    STYLE_SHADOW: "shadow",
+    STYLE_SEGMENT: "segment",
+    STYLE_ENDARROW: "endArrow",
+    STYLE_STARTARROW: "startArrow",
+    STYLE_ENDSIZE: "endSize",
+    STYLE_STARTSIZE: "startSize",
+    STYLE_SWIMLANE_LINE: "swimlaneLine",
+    STYLE_ENDFILL: "endFill",
+    STYLE_STARTFILL: "startFill",
+    STYLE_DASHED: "dashed",
+    STYLE_DASH_PATTERN: "dashPattern",
+    STYLE_ROUNDED: "rounded",
+    STYLE_CURVED: "curved",
+    STYLE_ARCSIZE: "arcSize",
+    STYLE_SMOOTH: "smooth",
+    STYLE_SOURCE_PERIMETER_SPACING: "sourcePerimeterSpacing",
+    STYLE_TARGET_PERIMETER_SPACING: "targetPerimeterSpacing",
+    STYLE_PERIMETER_SPACING: "perimeterSpacing",
+    STYLE_SPACING: "spacing",
+    STYLE_SPACING_TOP: "spacingTop",
+    STYLE_SPACING_LEFT: "spacingLeft",
+    STYLE_SPACING_BOTTOM: "spacingBottom",
+    STYLE_SPACING_RIGHT: "spacingRight",
+    STYLE_HORIZONTAL: "horizontal",
+    STYLE_DIRECTION: "direction",
+    STYLE_ELBOW: "elbow",
+    STYLE_FONTCOLOR: "fontColor",
+    STYLE_FONTFAMILY: "fontFamily",
+    STYLE_FONTSIZE: "fontSize",
+    STYLE_FONTSTYLE: "fontStyle",
+    STYLE_AUTOSIZE: "autosize",
+    STYLE_FOLDABLE: "foldable",
+    STYLE_EDITABLE: "editable",
+    STYLE_BENDABLE: "bendable",
+    STYLE_MOVABLE: "movable",
+    STYLE_RESIZABLE: "resizable",
+    STYLE_CLONEABLE: "cloneable",
+    STYLE_DELETABLE: "deletable",
+    STYLE_SHAPE: "shape",
+    STYLE_EDGE: "edgeStyle",
+    STYLE_LOOP: "loopStyle",
+    STYLE_ROUTING_CENTER_X: "routingCenterX",
+    STYLE_ROUTING_CENTER_Y: "routingCenterY",
+    FONT_BOLD: 1,
+    FONT_ITALIC: 2,
+    FONT_UNDERLINE: 4,
+    FONT_SHADOW: 8,
+    SHAPE_RECTANGLE: "rectangle",
+    SHAPE_ELLIPSE: "ellipse",
+    SHAPE_DOUBLE_ELLIPSE: "doubleEllipse",
+    SHAPE_RHOMBUS: "rhombus",
+    SHAPE_LINE: "line",
+    SHAPE_IMAGE: "image",
+    SHAPE_ARROW: "arrow",
+    SHAPE_LABEL: "label",
+    SHAPE_CYLINDER: "cylinder",
+    SHAPE_SWIMLANE: "swimlane",
+    SHAPE_CONNECTOR: "connector",
+    SHAPE_ACTOR: "actor",
+    SHAPE_CLOUD: "cloud",
+    SHAPE_TRIANGLE: "triangle",
+    SHAPE_HEXAGON: "hexagon",
+    ARROW_CLASSIC: "classic",
+    ARROW_BLOCK: "block",
+    ARROW_OPEN: "open",
+    ARROW_OVAL: "oval",
+    ARROW_DIAMOND: "diamond",
+    ARROW_DIAMOND_THIN: "diamondThin",
+    ALIGN_LEFT: "left",
+    ALIGN_CENTER: "center",
+    ALIGN_RIGHT: "right",
+    ALIGN_TOP: "top",
+    ALIGN_MIDDLE: "middle",
+    ALIGN_BOTTOM: "bottom",
+    DIRECTION_NORTH: "north",
+    DIRECTION_SOUTH: "south",
+    DIRECTION_EAST: "east",
+    DIRECTION_WEST: "west",
+    DIRECTION_MASK_NONE: 0,
+    DIRECTION_MASK_WEST: 1,
+    DIRECTION_MASK_NORTH: 2,
+    DIRECTION_MASK_SOUTH: 4,
+    DIRECTION_MASK_EAST: 8,
+    DIRECTION_MASK_ALL: 15,
+    ELBOW_VERTICAL: "vertical",
+    ELBOW_HORIZONTAL: "horizontal",
+    EDGESTYLE_ELBOW: "elbowEdgeStyle",
+    EDGESTYLE_ENTITY_RELATION: "entityRelationEdgeStyle",
+    EDGESTYLE_LOOP: "loopEdgeStyle",
+    EDGESTYLE_SIDETOSIDE: "sideToSideEdgeStyle",
+    EDGESTYLE_TOPTOBOTTOM: "topToBottomEdgeStyle",
+    EDGESTYLE_ORTHOGONAL: "orthogonalEdgeStyle",
+    EDGESTYLE_SEGMENT: "segmentEdgeStyle",
+    PERIMETER_ELLIPSE: "ellipsePerimeter",
+    PERIMETER_RECTANGLE: "rectanglePerimeter",
+    PERIMETER_RHOMBUS: "rhombusPerimeter",
+    PERIMETER_TRIANGLE: "trianglePerimeter"
+  };
 
 function mxEventObject(a) {
-    this.name = a;
-    this.properties = [];
-    for (var b = 1; b < arguments.length; b += 2) null != arguments[b + 1] && (this.properties[arguments[b]] = arguments[b + 1])
+  this.name = a;
+  this.properties = [];
+  for (var b = 1; b < arguments.length; b += 2) null != arguments[b + 1] && (this.properties[arguments[b]] = arguments[b + 1])
 }
 mxEventObject.prototype.name = null;
 mxEventObject.prototype.properties = null;
 mxEventObject.prototype.consumed = !1;
 mxEventObject.prototype.getName = function() {
-    return this.name
+  return this.name
 };
 mxEventObject.prototype.getProperties = function() {
-    return this.properties
+  return this.properties
 };
 mxEventObject.prototype.getProperty = function(a) {
-    return this.properties[a]
+  return this.properties[a]
 };
 mxEventObject.prototype.isConsumed = function() {
-    return this.consumed
+  return this.consumed
 };
 mxEventObject.prototype.consume = function() {
-    this.consumed = !0
+  this.consumed = !0
 };
 
 function mxMouseEvent(a, b) {
-    this.evt = a;
-    this.state = b
+  this.evt = a;
+  this.state = b
 }
 mxMouseEvent.prototype.consumed = !1;
 mxMouseEvent.prototype.evt = null;
@@ -1710,342 +1731,343 @@ mxMouseEvent.prototype.graphX = null;
 mxMouseEvent.prototype.graphY = null;
 mxMouseEvent.prototype.state = null;
 mxMouseEvent.prototype.getEvent = function() {
-    return this.evt
+  return this.evt
 };
 mxMouseEvent.prototype.getSource = function() {
-    return mxEvent.getSource(this.evt)
+  return mxEvent.getSource(this.evt)
 };
 mxMouseEvent.prototype.isSource = function(a) {
-    if (null != a)
-        for (var b = this.getSource(); null != b;) {
-            if (b == a.node) return !0;
-            b = b.parentNode
-        }
-    return !1
+  if (null != a)
+    for (var b = this.getSource(); null != b;) {
+      if (b == a.node) return !0;
+      b = b.parentNode
+    }
+  return !1
 };
 mxMouseEvent.prototype.getX = function() {
-    return mxEvent.getClientX(this.getEvent())
+  return mxEvent.getClientX(this.getEvent())
 };
 mxMouseEvent.prototype.getY = function() {
-    return mxEvent.getClientY(this.getEvent())
+  return mxEvent.getClientY(this.getEvent())
 };
 mxMouseEvent.prototype.getGraphX = function() {
-    return this.graphX
+  return this.graphX
 };
 mxMouseEvent.prototype.getGraphY = function() {
-    return this.graphY
+  return this.graphY
 };
 mxMouseEvent.prototype.getState = function() {
-    return this.state
+  return this.state
 };
 mxMouseEvent.prototype.getCell = function() {
-    var a = this.getState();
-    return null != a ? a.cell : null
+  var a = this.getState();
+  return null != a ? a.cell : null
 };
 mxMouseEvent.prototype.isPopupTrigger = function() {
-    return mxEvent.isPopupTrigger(this.getEvent())
+  return mxEvent.isPopupTrigger(this.getEvent())
 };
 mxMouseEvent.prototype.isConsumed = function() {
-    return this.consumed
+  return this.consumed
 };
 mxMouseEvent.prototype.consume = function(a) {
-    (null != a ? a : 1) && this.evt.preventDefault && this.evt.preventDefault();
-    this.evt.returnValue = !1;
-    this.consumed = !0
+  (null != a ? a : 1) && this.evt.preventDefault && this.evt.preventDefault();
+  this.evt.returnValue = !1;
+  this.consumed = !0
 };
 
 function mxEventSource(a) {
-    this.setEventSource(a)
+  this.setEventSource(a)
 }
 mxEventSource.prototype.eventListeners = null;
 mxEventSource.prototype.eventsEnabled = !0;
 mxEventSource.prototype.eventSource = null;
 mxEventSource.prototype.isEventsEnabled = function() {
-    return this.eventsEnabled
+  return this.eventsEnabled
 };
 mxEventSource.prototype.setEventsEnabled = function(a) {
-    this.eventsEnabled = a
+  this.eventsEnabled = a
 };
 mxEventSource.prototype.getEventSource = function() {
-    return this.eventSource
+  return this.eventSource
 };
 mxEventSource.prototype.setEventSource = function(a) {
-    this.eventSource = a
+  this.eventSource = a
 };
 mxEventSource.prototype.addListener = function(a, b) {
-    null == this.eventListeners && (this.eventListeners = []);
-    this.eventListeners.push(a);
-    this.eventListeners.push(b)
+  null == this.eventListeners && (this.eventListeners = []);
+  this.eventListeners.push(a);
+  this.eventListeners.push(b)
 };
 mxEventSource.prototype.removeListener = function(a) {
-    if (null != this.eventListeners)
-        for (var b = 0; b < this.eventListeners.length;) this.eventListeners[b + 1] == a ? this.eventListeners.splice(b, 2) : b += 2
+  if (null != this.eventListeners)
+    for (var b = 0; b < this.eventListeners.length;) this.eventListeners[b + 1] == a ? this.eventListeners.splice(b, 2) : b += 2
 };
 mxEventSource.prototype.fireEvent = function(a, b) {
-    if (null != this.eventListeners && this.isEventsEnabled()) {
-        null == a && (a = new mxEventObject);
-        null == b && (b = this.getEventSource());
-        null == b && (b = this);
-        for (var c = [b, a], d = 0; d < this.eventListeners.length; d += 2) {
-            var e = this.eventListeners[d];
-            (null == e || e == a.getName()) && this.eventListeners[d + 1].apply(this, c)
-        }
+  if (null != this.eventListeners && this.isEventsEnabled()) {
+    null == a && (a = new mxEventObject);
+    null == b && (b = this.getEventSource());
+    null == b && (b = this);
+    for (var c = [b, a], d = 0; d < this.eventListeners.length; d += 2) {
+      var e = this.eventListeners[d];
+      (null == e || e == a.getName()) && this.eventListeners[d + 1].apply(this, c)
     }
+  }
 };
 var mxEvent = {
-    objects: [],
-    addListener: function() {
-        var a = function(a, c, d) {
-            null == a.mxListenerList && (a.mxListenerList = [], mxEvent.objects.push(a));
-            a.mxListenerList.push({
-                name: c,
-                f: d
-            })
-        };
-        return window.addEventListener ? function(b, c, d) {
-            b.addEventListener(c, d, !1);
-            a(b, c, d)
-        } : function(b, c, d) {
-            b.attachEvent("on" + c, d);
-            a(b, c, d)
-        }
-    }(),
-    removeListener: function() {
-        var a = function(a, c, d) {
-            if (null != a.mxListenerList) {
-                c = a.mxListenerList.length;
-                for (var e = 0; e < c; e++)
-                    if (a.mxListenerList[e].f == d) {
-                        a.mxListenerList.splice(e, 1);
-                        break
-                    }
-                0 ==
-                    a.mxListenerList.length && (a.mxListenerList = null)
-            }
-        };
-        return window.removeEventListener ? function(b, c, d) {
-            b.removeEventListener(c, d, !1);
-            a(b, c, d)
-        } : function(b, c, d) {
-            b.detachEvent("on" + c, d);
-            a(b, c, d)
-        }
-    }(),
-    removeAllListeners: function(a) {
-        var b = a.mxListenerList;
-        if (null != b)
-            for (; 0 < b.length;) {
-                var c = b[0];
-                mxEvent.removeListener(a, c.name, c.f)
-            }
-    },
-    addGestureListeners: function(a, b, c, d) {
-        null != b && mxEvent.addListener(a, "mousedown", b);
-        null != c && mxEvent.addListener(a, "mousemove", c);
-        null != d && mxEvent.addListener(a, "mouseup", d);
-        mxClient.IS_TOUCH && (null != b && mxEvent.addListener(a, "touchstart", b), null != c && mxEvent.addListener(a, "touchmove", c), null != d && mxEvent.addListener(a, "touchend", d))
-    },
-    removeGestureListeners: function(a, b, c, d) {
-        null != b && mxEvent.removeListener(a, "mousedown", b);
-        null != c && mxEvent.removeListener(a, "mousemove", c);
-        null != d && mxEvent.removeListener(a, "mouseup", d);
-        mxClient.IS_TOUCH && (null != b && mxEvent.removeListener(a, "touchstart", b), null != c && mxEvent.removeListener(a, "touchmove", c), null != d && mxEvent.removeListener(a, "touchend",
-            d))
-    },
-    redirectMouseEvents: function(a, b, c, d, e, f, g) {
-        var h = function(a) {
-            return "function" == typeof c ? c(a) : c
-        };
-        mxEvent.addGestureListeners(a, function(a) {
-            null != d ? d(a) : mxEvent.isConsumed(a) || b.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(a, h(a)))
-        }, function(a) {
-            null != e ? e(a) : mxEvent.isConsumed(a) || b.fireMouseEvent(mxEvent.MOUSE_MOVE, new mxMouseEvent(a, h(a)))
-        }, function(a) {
-            null != f ? f(a) : mxEvent.isConsumed(a) || b.fireMouseEvent(mxEvent.MOUSE_UP, new mxMouseEvent(a, h(a)))
-        });
-        mxEvent.addListener(a, "dblclick", function(a) {
-            if (null !=
-                g) g(a);
-            else if (!mxEvent.isConsumed(a)) {
-                var c = h(a);
-                b.dblClick(a, null != c ? c.cell : null)
-            }
-        })
-    },
-    release: function(a) {
-        if (null != a && (mxEvent.removeAllListeners(a), a = a.childNodes, null != a))
-            for (var b = a.length, c = 0; c < b; c += 1) mxEvent.release(a[c])
-    },
-    addMouseWheelListener: function(a) {
-        if (null != a) {
-            var b = function(b) {
-                null == b && (b = window.event);
-                var d = 0,
-                    d = mxClient.IS_NS && !mxClient.IS_SF && !mxClient.IS_GC ? -b.detail / 2 : b.wheelDelta / 120;
-                0 != d && a(b, 0 < d)
-            };
-            mxClient.IS_NS ? mxEvent.addListener(window, mxClient.IS_SF || mxClient.IS_GC ? "mousewheel" :
-                "DOMMouseScroll", b) : mxEvent.addListener(document, "mousewheel", b)
-        }
-    },
-    disableContextMenu: function() {
-        return mxClient.IS_IE && ("undefined" === typeof document.documentMode || 9 > document.documentMode) ? function(a) {
-            mxEvent.addListener(a, "contextmenu", function() {
-                return !1
-            })
-        } : function(a) {
-            a.setAttribute("oncontextmenu", "return false;")
-        }
-    }(),
-    getSource: function(a) {
-        return null != a.srcElement ? a.srcElement : a.target
-    },
-    isConsumed: function(a) {
-        return null != a.isConsumed && a.isConsumed
-    },
-    isLeftMouseButton: function(a) {
-        return a.button ==
-            (mxClient.IS_IE && ("undefined" === typeof document.documentMode || 9 > document.documentMode) ? 1 : 0)
-    },
-    isRightMouseButton: function(a) {
-        return 2 == a.button
-    },
-    isPopupTrigger: function(a) {
-        return mxEvent.isRightMouseButton(a) || mxEvent.isShiftDown(a) && !mxEvent.isControlDown(a)
-    },
-    isShiftDown: function(a) {
-        return null != a ? a.shiftKey : !1
-    },
-    isAltDown: function(a) {
-        return null != a ? a.altKey : !1
-    },
-    isControlDown: function(a) {
-        return null != a ? a.ctrlKey : !1
-    },
-    isMetaDown: function(a) {
-        return null != a ? a.metaKey : !1
-    },
-    getMainEvent: function(a) {
-        ("touchstart" ==
-            a.type || "touchmove" == a.type) && null != a.touches && null != a.touches[0] ? a = a.touches[0] : "touchend" == a.type && (null != a.changedTouches && null != a.changedTouches[0]) && (a = a.changedTouches[0]);
-        return a
-    },
-    getClientX: function(a) {
-        return mxEvent.getMainEvent(a).clientX
-    },
-    getClientY: function(a) {
-        return mxEvent.getMainEvent(a).clientY
-    },
-    consume: function(a, b, c) {
-        c = null != c ? c : !0;
-        if (null != b ? b : 1) a.preventDefault ? (c && a.stopPropagation(), a.preventDefault()) : c && (a.cancelBubble = !0);
-        a.isConsumed = !0;
-        a.returnValue = !1
-    },
-    LABEL_HANDLE: -1,
-    ROTATION_HANDLE: -2,
-    MOUSE_DOWN: "mouseDown",
-    MOUSE_MOVE: "mouseMove",
-    MOUSE_UP: "mouseUp",
-    ACTIVATE: "activate",
-    RESIZE_START: "resizeStart",
-    RESIZE: "resize",
-    RESIZE_END: "resizeEnd",
-    MOVE_START: "moveStart",
-    MOVE: "move",
-    MOVE_END: "moveEnd",
-    PAN_START: "panStart",
-    PAN: "pan",
-    PAN_END: "panEnd",
-    MINIMIZE: "minimize",
-    NORMALIZE: "normalize",
-    MAXIMIZE: "maximize",
-    HIDE: "hide",
-    SHOW: "show",
-    CLOSE: "close",
-    DESTROY: "destroy",
-    REFRESH: "refresh",
-    SIZE: "size",
-    SELECT: "select",
-    FIRED: "fired",
-    GET: "get",
-    RECEIVE: "receive",
-    CONNECT: "connect",
-    DISCONNECT: "disconnect",
-    SUSPEND: "suspend",
-    RESUME: "resume",
-    MARK: "mark",
-    SESSION: "session",
-    ROOT: "root",
-    POST: "post",
-    OPEN: "open",
-    SAVE: "save",
-    BEFORE_ADD_VERTEX: "beforeAddVertex",
-    ADD_VERTEX: "addVertex",
-    AFTER_ADD_VERTEX: "afterAddVertex",
-    DONE: "done",
-    EXECUTE: "execute",
-    EXECUTED: "executed",
-    BEGIN_UPDATE: "beginUpdate",
-    START_EDIT: "startEdit",
-    END_UPDATE: "endUpdate",
-    END_EDIT: "endEdit",
-    BEFORE_UNDO: "beforeUndo",
-    UNDO: "undo",
-    REDO: "redo",
-    CHANGE: "change",
-    NOTIFY: "notify",
-    LAYOUT_CELLS: "layoutCells",
-    CLICK: "click",
-    SCALE: "scale",
-    TRANSLATE: "translate",
-    SCALE_AND_TRANSLATE: "scaleAndTranslate",
-    UP: "up",
-    DOWN: "down",
-    ADD: "add",
-    REMOVE: "remove",
-    CLEAR: "clear",
-    ADD_CELLS: "addCells",
-    CELLS_ADDED: "cellsAdded",
-    MOVE_CELLS: "moveCells",
-    CELLS_MOVED: "cellsMoved",
-    RESIZE_CELLS: "resizeCells",
-    CELLS_RESIZED: "cellsResized",
-    TOGGLE_CELLS: "toggleCells",
-    CELLS_TOGGLED: "cellsToggled",
-    ORDER_CELLS: "orderCells",
-    CELLS_ORDERED: "cellsOrdered",
-    REMOVE_CELLS: "removeCells",
-    CELLS_REMOVED: "cellsRemoved",
-    GROUP_CELLS: "groupCells",
-    UNGROUP_CELLS: "ungroupCells",
-    REMOVE_CELLS_FROM_PARENT: "removeCellsFromParent",
-    FOLD_CELLS: "foldCells",
-    CELLS_FOLDED: "cellsFolded",
-    ALIGN_CELLS: "alignCells",
-    LABEL_CHANGED: "labelChanged",
-    CONNECT_CELL: "connectCell",
-    CELL_CONNECTED: "cellConnected",
-    SPLIT_EDGE: "splitEdge",
-    FLIP_EDGE: "flipEdge",
-    START_EDITING: "startEditing",
-    ADD_OVERLAY: "addOverlay",
-    REMOVE_OVERLAY: "removeOverlay",
-    UPDATE_CELL_SIZE: "updateCellSize",
-    ESCAPE: "escape",
-    CLICK: "click",
-    DOUBLE_CLICK: "doubleClick",
-    START: "start",
-    RESET: "reset"
+  objects: [],
+  addListener: function() {
+    var a = function(a, c, d) {
+      null == a.mxListenerList && (a.mxListenerList = [], mxEvent.objects.push(a));
+      a.mxListenerList.push({
+        name: c,
+        f: d
+      })
+    };
+    return window.addEventListener ? function(b, c, d) {
+      b.addEventListener(c, d, !1);
+      a(b, c, d)
+    } : function(b, c, d) {
+      b.attachEvent("on" + c, d);
+      a(b, c, d)
+    }
+  }(),
+  removeListener: function() {
+    var a = function(a, c, d) {
+      if (null != a.mxListenerList) {
+        c = a.mxListenerList.length;
+        for (var e = 0; e < c; e++)
+          if (a.mxListenerList[e].f == d) {
+            a.mxListenerList.splice(e, 1);
+            break
+          }
+        0 ==
+          a.mxListenerList.length && (a.mxListenerList = null)
+      }
+    };
+    return window.removeEventListener ? function(b, c, d) {
+      b.removeEventListener(c, d, !1);
+      a(b, c, d)
+    } : function(b, c, d) {
+      b.detachEvent("on" + c, d);
+      a(b, c, d)
+    }
+  }(),
+  removeAllListeners: function(a) {
+    var b = a.mxListenerList;
+    if (null != b)
+      for (; 0 < b.length;) {
+        var c = b[0];
+        mxEvent.removeListener(a, c.name, c.f)
+      }
+  },
+  addGestureListeners: function(a, b, c, d) {
+    null != b && mxEvent.addListener(a, "mousedown", b);
+    null != c && mxEvent.addListener(a, "mousemove", c);
+    null != d && mxEvent.addListener(a, "mouseup", d);
+    mxClient.IS_TOUCH && (null != b && mxEvent.addListener(a, "touchstart", b), null != c && mxEvent.addListener(a, "touchmove", c), null != d && mxEvent.addListener(a, "touchend", d))
+  },
+  removeGestureListeners: function(a, b, c, d) {
+    null != b && mxEvent.removeListener(a, "mousedown", b);
+    null != c && mxEvent.removeListener(a, "mousemove", c);
+    null != d && mxEvent.removeListener(a, "mouseup", d);
+    mxClient.IS_TOUCH && (null != b && mxEvent.removeListener(a, "touchstart", b), null != c && mxEvent.removeListener(a, "touchmove", c), null != d && mxEvent.removeListener(a, "touchend",
+      d))
+  },
+  redirectMouseEvents: function(a, b, c, d, e, f, g) {
+    var h = function(a) {
+      return "function" == typeof c ? c(a) : c
+    };
+    mxEvent.addGestureListeners(a, function(a) {
+      null != d ? d(a) : mxEvent.isConsumed(a) || b.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(a, h(a)))
+    }, function(a) {
+      null != e ? e(a) : mxEvent.isConsumed(a) || b.fireMouseEvent(mxEvent.MOUSE_MOVE, new mxMouseEvent(a, h(a)))
+    }, function(a) {
+      null != f ? f(a) : mxEvent.isConsumed(a) || b.fireMouseEvent(mxEvent.MOUSE_UP, new mxMouseEvent(a, h(a)))
+    });
+    mxEvent.addListener(a, "dblclick", function(a) {
+      if (null !=
+        g) g(a);
+      else if (!mxEvent.isConsumed(a)) {
+        var c = h(a);
+        b.dblClick(a, null != c ? c.cell : null)
+      }
+    })
+  },
+  release: function(a) {
+    if (null != a && (mxEvent.removeAllListeners(a), a = a.childNodes, null != a))
+      for (var b = a.length, c = 0; c < b; c += 1) mxEvent.release(a[c])
+  },
+  addMouseWheelListener: function(a) {
+    if (null != a) {
+      var b = function(b) {
+        null == b && (b = window.event);
+        var d = 0,
+          d = mxClient.IS_NS && !mxClient.IS_SF && !mxClient.IS_GC ? -b.detail / 2 : b.wheelDelta / 120;
+        0 != d && a(b, 0 < d)
+      };
+      mxClient.IS_NS ? mxEvent.addListener(window, mxClient.IS_SF || mxClient.IS_GC ? "mousewheel" :
+        "DOMMouseScroll", b) : mxEvent.addListener(document, "mousewheel", b)
+    }
+  },
+  disableContextMenu: function() {
+    return mxClient.IS_IE && ("undefined" === typeof document.documentMode || 9 > document.documentMode) ? function(a) {
+      mxEvent.addListener(a, "contextmenu", function() {
+        return !1
+      })
+    } : function(a) {
+      a.setAttribute("oncontextmenu", "return false;")
+    }
+  }(),
+  getSource: function(a) {
+    return null != a.srcElement ? a.srcElement : a.target
+  },
+  isConsumed: function(a) {
+    return null != a.isConsumed && a.isConsumed
+  },
+  isLeftMouseButton: function(a) {
+    return a.button ==
+      (mxClient.IS_IE && ("undefined" === typeof document.documentMode || 9 > document.documentMode) ? 1 : 0)
+  },
+  isRightMouseButton: function(a) {
+    return 2 == a.button
+  },
+  isPopupTrigger: function(a) {
+    return mxEvent.isRightMouseButton(a) || mxEvent.isShiftDown(a) && !mxEvent.isControlDown(a)
+  },
+  isShiftDown: function(a) {
+    return null != a ? a.shiftKey : !1
+  },
+  isAltDown: function(a) {
+    return null != a ? a.altKey : !1
+  },
+  isControlDown: function(a) {
+    return null != a ? a.ctrlKey : !1
+  },
+  isMetaDown: function(a) {
+    return null != a ? a.metaKey : !1
+  },
+  getMainEvent: function(a) {
+    ("touchstart" ==
+      a.type || "touchmove" == a.type) && null != a.touches && null != a.touches[0] ? a = a.touches[0] : "touchend" == a.type && (null != a.changedTouches && null != a.changedTouches[0]) && (a =
+      a.changedTouches[0]);
+    return a
+  },
+  getClientX: function(a) {
+    return mxEvent.getMainEvent(a).clientX
+  },
+  getClientY: function(a) {
+    return mxEvent.getMainEvent(a).clientY
+  },
+  consume: function(a, b, c) {
+    c = null != c ? c : !0;
+    if (null != b ? b : 1) a.preventDefault ? (c && a.stopPropagation(), a.preventDefault()) : c && (a.cancelBubble = !0);
+    a.isConsumed = !0;
+    a.returnValue = !1
+  },
+  LABEL_HANDLE: -1,
+  ROTATION_HANDLE: -2,
+  MOUSE_DOWN: "mouseDown",
+  MOUSE_MOVE: "mouseMove",
+  MOUSE_UP: "mouseUp",
+  ACTIVATE: "activate",
+  RESIZE_START: "resizeStart",
+  RESIZE: "resize",
+  RESIZE_END: "resizeEnd",
+  MOVE_START: "moveStart",
+  MOVE: "move",
+  MOVE_END: "moveEnd",
+  PAN_START: "panStart",
+  PAN: "pan",
+  PAN_END: "panEnd",
+  MINIMIZE: "minimize",
+  NORMALIZE: "normalize",
+  MAXIMIZE: "maximize",
+  HIDE: "hide",
+  SHOW: "show",
+  CLOSE: "close",
+  DESTROY: "destroy",
+  REFRESH: "refresh",
+  SIZE: "size",
+  SELECT: "select",
+  FIRED: "fired",
+  GET: "get",
+  RECEIVE: "receive",
+  CONNECT: "connect",
+  DISCONNECT: "disconnect",
+  SUSPEND: "suspend",
+  RESUME: "resume",
+  MARK: "mark",
+  SESSION: "session",
+  ROOT: "root",
+  POST: "post",
+  OPEN: "open",
+  SAVE: "save",
+  BEFORE_ADD_VERTEX: "beforeAddVertex",
+  ADD_VERTEX: "addVertex",
+  AFTER_ADD_VERTEX: "afterAddVertex",
+  DONE: "done",
+  EXECUTE: "execute",
+  EXECUTED: "executed",
+  BEGIN_UPDATE: "beginUpdate",
+  START_EDIT: "startEdit",
+  END_UPDATE: "endUpdate",
+  END_EDIT: "endEdit",
+  BEFORE_UNDO: "beforeUndo",
+  UNDO: "undo",
+  REDO: "redo",
+  CHANGE: "change",
+  NOTIFY: "notify",
+  LAYOUT_CELLS: "layoutCells",
+  CLICK: "click",
+  SCALE: "scale",
+  TRANSLATE: "translate",
+  SCALE_AND_TRANSLATE: "scaleAndTranslate",
+  UP: "up",
+  DOWN: "down",
+  ADD: "add",
+  REMOVE: "remove",
+  CLEAR: "clear",
+  ADD_CELLS: "addCells",
+  CELLS_ADDED: "cellsAdded",
+  MOVE_CELLS: "moveCells",
+  CELLS_MOVED: "cellsMoved",
+  RESIZE_CELLS: "resizeCells",
+  CELLS_RESIZED: "cellsResized",
+  TOGGLE_CELLS: "toggleCells",
+  CELLS_TOGGLED: "cellsToggled",
+  ORDER_CELLS: "orderCells",
+  CELLS_ORDERED: "cellsOrdered",
+  REMOVE_CELLS: "removeCells",
+  CELLS_REMOVED: "cellsRemoved",
+  GROUP_CELLS: "groupCells",
+  UNGROUP_CELLS: "ungroupCells",
+  REMOVE_CELLS_FROM_PARENT: "removeCellsFromParent",
+  FOLD_CELLS: "foldCells",
+  CELLS_FOLDED: "cellsFolded",
+  ALIGN_CELLS: "alignCells",
+  LABEL_CHANGED: "labelChanged",
+  CONNECT_CELL: "connectCell",
+  CELL_CONNECTED: "cellConnected",
+  SPLIT_EDGE: "splitEdge",
+  FLIP_EDGE: "flipEdge",
+  START_EDITING: "startEditing",
+  ADD_OVERLAY: "addOverlay",
+  REMOVE_OVERLAY: "removeOverlay",
+  UPDATE_CELL_SIZE: "updateCellSize",
+  ESCAPE: "escape",
+  CLICK: "click",
+  DOUBLE_CLICK: "doubleClick",
+  START: "start",
+  RESET: "reset"
 };
 
 function mxXmlRequest(a, b, c, d, e, f) {
-    this.url = a;
-    this.params = b;
-    this.method = c || "POST";
-    this.async = null != d ? d : !0;
-    this.username = e;
-    this.password = f
+  this.url = a;
+  this.params = b;
+  this.method = c || "POST";
+  this.async = null != d ? d : !0;
+  this.username = e;
+  this.password = f
 }
 mxXmlRequest.prototype.url = null;
 mxXmlRequest.prototype.params = null;
@@ -2056,118 +2078,119 @@ mxXmlRequest.prototype.username = null;
 mxXmlRequest.prototype.password = null;
 mxXmlRequest.prototype.request = null;
 mxXmlRequest.prototype.isBinary = function() {
-    return this.binary
+  return this.binary
 };
 mxXmlRequest.prototype.setBinary = function(a) {
-    this.binary = a
+  this.binary = a
 };
 mxXmlRequest.prototype.getText = function() {
-    return this.request.responseText
+  return this.request.responseText
 };
 mxXmlRequest.prototype.isReady = function() {
-    return 4 == this.request.readyState
+  return 4 == this.request.readyState
 };
 mxXmlRequest.prototype.getDocumentElement = function() {
-    var a = this.getXml();
-    return null != a ? a.documentElement : null
+  var a = this.getXml();
+  return null != a ? a.documentElement : null
 };
 mxXmlRequest.prototype.getXml = function() {
-    var a = this.request.responseXML;
-    if (9 <= document.documentMode || null == a || null == a.documentElement) a = mxUtils.parseXml(this.request.responseText);
-    return a
+  var a = this.request.responseXML;
+  if (9 <= document.documentMode || null == a || null == a.documentElement) a = mxUtils.parseXml(this.request.responseText);
+  return a
 };
 mxXmlRequest.prototype.getText = function() {
-    return this.request.responseText
+  return this.request.responseText
 };
 mxXmlRequest.prototype.getStatus = function() {
-    return this.request.status
+  return this.request.status
 };
 mxXmlRequest.prototype.create = function() {
-    if (window.XMLHttpRequest) return function() {
-        var a = new XMLHttpRequest;
-        this.isBinary() && a.overrideMimeType && a.overrideMimeType("text/plain; charset\x3dx-user-defined");
-        return a
-    };
-    if ("undefined" != typeof ActiveXObject) return function() {
-        return new ActiveXObject("Microsoft.XMLHTTP")
-    }
+  if (window.XMLHttpRequest) return function() {
+    var a = new XMLHttpRequest;
+    this.isBinary() && a.overrideMimeType && a.overrideMimeType("text/plain; charset\x3dx-user-defined");
+    return a
+  };
+  if ("undefined" != typeof ActiveXObject) return function() {
+    return new ActiveXObject("Microsoft.XMLHTTP")
+  }
 }();
 mxXmlRequest.prototype.send = function(a, b) {
-    this.request = this.create();
-    null != this.request && (null != a && (this.request.onreadystatechange = mxUtils.bind(this, function() {
-        this.isReady() && (a(this), this.onreadystatechaange = null)
-    })), this.request.open(this.method, this.url, this.async, this.username, this.password), this.setRequestHeaders(this.request, this.params), this.request.send(this.params))
+  this.request = this.create();
+  null != this.request && (null != a && (this.request.onreadystatechange = mxUtils.bind(this, function() {
+    this.isReady() && (a(this), this.onreadystatechaange = null)
+  })), this.request.open(this.method, this.url, this.async, this.username, this.password), this.setRequestHeaders(this.request, this.params), this.request.send(this.params))
 };
 mxXmlRequest.prototype.setRequestHeaders = function(a, b) {
-    null != b && a.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
+  null != b && a.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
 };
 mxXmlRequest.prototype.simulate = function(a, b) {
-    a = a || document;
-    var c = null;
-    a == document && (c = window.onbeforeunload, window.onbeforeunload = null);
-    var d = a.createElement("form");
-    d.setAttribute("method", this.method);
-    d.setAttribute("action", this.url);
-    null != b && d.setAttribute("target", b);
-    d.style.display = "none";
-    d.style.visibility = "hidden";
-    for (var e = 0 < this.params.indexOf("\x26") ? this.params.split("\x26") : this.params.split(), f = 0; f < e.length; f++) {
-        var g = e[f].indexOf("\x3d");
-        if (0 < g) {
-            var h = e[f].substring(0, g),
-                k = e[f].substring(g +
-                    1),
-                g = a.createElement("textarea");
-            g.setAttribute("name", h);
-            k = k.replace(/\n/g, "\x26#xa;");
-            h = a.createTextNode(k);
-            g.appendChild(h);
-            d.appendChild(g)
-        }
-    }
-    a.body.appendChild(d);
-    d.submit();
-    a.body.removeChild(d);
-    null != c && (window.onbeforeunload = c)
+  a = a || document;
+  var c = null;
+  a == document && (c = window.onbeforeunload, window.onbeforeunload = null);
+  var d = a.createElement("form");
+  d.setAttribute("method", this.method);
+  d.setAttribute("action", this.url);
+  null != b && d.setAttribute("target", b);
+  d.style.display = "none";
+  d.style.visibility = "hidden";
+  for (var e = 0 < this.params.indexOf("\x26") ? this.params.split("\x26") : this.params.split(), f = 0; f < e.length; f++) {
+    var g = e[f].indexOf("\x3d");
+    if (0 < g) {
+      var h = e[f].substring(0, g),
+        k = e[f].substring(g +
+          1),
+        g = a.createElement("textarea");
+      g.setAttribute("name", h);
+      k = k.replace(/\n/g, "\x26#xa;");
+      h = a.createTextNode(k);
+      g.appendChild(h);
+      d.appendChild(g)
+    }
+  }
+  a.body.appendChild(d);
+  d.submit();
+  a.body.removeChild(d);
+  null != c && (window.onbeforeunload = c)
 };
 var mxClipboard = {
-    STEPSIZE: 10,
-    insertCount: 1,
-    cells: null,
-    isEmpty: function() {
-        return null == mxClipboard.cells
-    },
-    cut: function(a, b) {
-        b = mxClipboard.copy(a, b);
-        mxClipboard.insertCount = 0;
-        mxClipboard.removeCells(a, b);
-        return b
-    },
-    removeCells: function(a, b) {
-        a.removeCells(b)
-    },
-    copy: function(a, b) {
-        b = b || a.getSelectionCells();
-        var c = a.getExportableCells(b);
-        mxClipboard.insertCount = 1;
-        mxClipboard.cells = a.cloneCells(c);
-        return c
-    },
-    paste: function(a) {
-        if (null != mxClipboard.cells) {
-            var b = a.getImportableCells(mxClipboard.cells),
-                c = mxClipboard.insertCount *
-                mxClipboard.STEPSIZE,
-                d = a.getDefaultParent(),
-                b = a.importCells(b, c, c, d);
-            mxClipboard.insertCount++;
-            a.setSelectionCells(b)
-        }
-    }
+  STEPSIZE: 10,
+  insertCount: 1,
+  cells: null,
+  isEmpty: function() {
+    return null == mxClipboard.cells
+  },
+  cut: function(a, b) {
+    b = mxClipboard.copy(a, b);
+    mxClipboard.insertCount = 0;
+    mxClipboard.removeCells(a, b);
+    return b
+  },
+  removeCells: function(a, b) {
+    a.removeCells(b)
+  },
+  copy: function(a, b) {
+    b = b || a.getSelectionCells();
+    var c = a.getExportableCells(b);
+    mxClipboard.insertCount = 1;
+    mxClipboard.cells = a.cloneCells(c);
+    return c
+  },
+  paste: function(a) {
+    if (null != mxClipboard.cells) {
+      var b = a.getImportableCells(mxClipboard.cells),
+        c = mxClipboard.insertCount *
+        mxClipboard.STEPSIZE,
+        d = a.getDefaultParent(),
+        b = a.importCells(b, c, c, d);
+      mxClipboard.insertCount++;
+      a.setSelectionCells(b)
+    }
+  }
 };
 
 function mxWindow(a, b, c, d, e, f, g, h, k, l) {
-    null != b && (g = null != g ? g : !0, this.content = b, this.init(c, d, e, f, l), this.installMaximizeHandler(), this.installMinimizeHandler(), this.installCloseHandler(), this.setMinimizable(g), this.setTitle(a), (null == h || h) && this.installMoveHandler(), null != k && null != k.parentNode ? k.parentNode.replaceChild(this.div, k) : document.body.appendChild(this.div))
+  null != b && (g = null != g ? g : !0, this.content = b, this.init(c, d, e, f, l), this.installMaximizeHandler(), this.installMinimizeHandler(), this.installCloseHandler(), this.setMinimizable(g),
+    this.setTitle(a), (null == h || h) && this.installMoveHandler(), null != k && null != k.parentNode ? k.parentNode.replaceChild(this.div, k) : document.body.appendChild(this.div))
 }
 mxWindow.prototype = new mxEventSource;
 mxWindow.prototype.constructor = mxWindow;
@@ -2183,423 +2206,426 @@ mxWindow.prototype.title = !1;
 mxWindow.prototype.content = !1;
 mxWindow.prototype.destroyOnClose = !0;
 mxWindow.prototype.init = function(a, b, c, d, e) {
-    e = null != e ? e : "mxWindow";
-    this.div = document.createElement("div");
-    this.div.className = e;
-    this.div.style.left = a + "px";
-    this.div.style.top = b + "px";
-    this.table = document.createElement("table");
-    this.table.className = e;
-    null != c && (mxClient.IS_IE || (this.div.style.width = c + "px"), this.table.style.width = c + "px");
-    null != d && (mxClient.IS_IE || (this.div.style.height = d + "px"), this.table.style.height = d + "px");
-    a = document.createElement("tbody");
-    b = document.createElement("tr");
-    this.title = document.createElement("td");
-    this.title.className = e + "Title";
-    b.appendChild(this.title);
-    a.appendChild(b);
-    b = document.createElement("tr");
-    this.td = document.createElement("td");
-    this.td.className = e + "Pane";
-    this.contentWrapper = document.createElement("div");
-    this.contentWrapper.className = e + "Pane";
-    this.contentWrapper.style.width = "100%";
-    this.contentWrapper.appendChild(this.content);
-    if (mxClient.IS_IE || "DIV" != this.content.nodeName.toUpperCase()) this.contentWrapper.style.height = "100%";
-    this.td.appendChild(this.contentWrapper);
-    b.appendChild(this.td);
-    a.appendChild(b);
-    this.table.appendChild(a);
-    this.div.appendChild(this.table);
-    e = mxUtils.bind(this, function(a) {
-        this.activate()
-    });
-    mxEvent.addListener(this.title, "mousedown", e);
-    mxEvent.addListener(this.table, "mousedown", e);
-    mxClient.IS_TOUCH && (mxEvent.addListener(this.title, "touchstart", e), mxEvent.addListener(this.table, "touchstart", e));
-    this.hide()
+  e = null != e ? e : "mxWindow";
+  this.div = document.createElement("div");
+  this.div.className = e;
+  this.div.style.left = a + "px";
+  this.div.style.top = b + "px";
+  this.table = document.createElement("table");
+  this.table.className = e;
+  null != c && (mxClient.IS_IE || (this.div.style.width = c + "px"), this.table.style.width = c + "px");
+  null != d && (mxClient.IS_IE || (this.div.style.height = d + "px"), this.table.style.height = d + "px");
+  a = document.createElement("tbody");
+  b = document.createElement("tr");
+  this.title = document.createElement("td");
+  this.title.className = e + "Title";
+  b.appendChild(this.title);
+  a.appendChild(b);
+  b = document.createElement("tr");
+  this.td = document.createElement("td");
+  this.td.className = e + "Pane";
+  this.contentWrapper = document.createElement("div");
+  this.contentWrapper.className = e + "Pane";
+  this.contentWrapper.style.width = "100%";
+  this.contentWrapper.appendChild(this.content);
+  if (mxClient.IS_IE || "DIV" != this.content.nodeName.toUpperCase()) this.contentWrapper.style.height = "100%";
+  this.td.appendChild(this.contentWrapper);
+  b.appendChild(this.td);
+  a.appendChild(b);
+  this.table.appendChild(a);
+  this.div.appendChild(this.table);
+  e = mxUtils.bind(this, function(a) {
+    this.activate()
+  });
+  mxEvent.addListener(this.title, "mousedown", e);
+  mxEvent.addListener(this.table, "mousedown", e);
+  mxClient.IS_TOUCH && (mxEvent.addListener(this.title, "touchstart", e), mxEvent.addListener(this.table, "touchstart", e));
+  this.hide()
 };
 mxWindow.prototype.setTitle = function(a) {
-    for (var b = this.title.firstChild; null != b;) {
-        var c = b.nextSibling;
-        b.nodeType == mxConstants.NODETYPE_TEXT && b.parentNode.removeChild(b);
-        b = c
-    }
-    mxUtils.write(this.title, a || "")
+  for (var b = this.title.firstChild; null != b;) {
+    var c = b.nextSibling;
+    b.nodeType == mxConstants.NODETYPE_TEXT && b.parentNode.removeChild(b);
+    b = c
+  }
+  mxUtils.write(this.title, a || "")
 };
 mxWindow.prototype.setScrollable = function(a) {
-    0 > navigator.userAgent.indexOf("Presto/2.5") && (this.contentWrapper.style.overflow = a ? "auto" : "hidden")
+  0 > navigator.userAgent.indexOf("Presto/2.5") && (this.contentWrapper.style.overflow = a ? "auto" : "hidden")
 };
 mxWindow.prototype.activate = function() {
-    if (mxWindow.activeWindow != this) {
-        var a = mxUtils.getCurrentStyle(this.getElement()),
-            a = null != a ? a.zIndex : 3;
-        if (mxWindow.activeWindow) {
-            var b = mxWindow.activeWindow.getElement();
-            null != b && null != b.style && (b.style.zIndex = a)
-        }
-        b = mxWindow.activeWindow;
-        this.getElement().style.zIndex = parseInt(a) + 1;
-        mxWindow.activeWindow = this;
-        this.fireEvent(new mxEventObject(mxEvent.ACTIVATE, "previousWindow", b))
-    }
+  if (mxWindow.activeWindow != this) {
+    var a = mxUtils.getCurrentStyle(this.getElement()),
+      a = null != a ? a.zIndex : 3;
+    if (mxWindow.activeWindow) {
+      var b = mxWindow.activeWindow.getElement();
+      null != b && null != b.style && (b.style.zIndex = a)
+    }
+    b = mxWindow.activeWindow;
+    this.getElement().style.zIndex = parseInt(a) + 1;
+    mxWindow.activeWindow = this;
+    this.fireEvent(new mxEventObject(mxEvent.ACTIVATE, "previousWindow", b))
+  }
 };
 mxWindow.prototype.getElement = function() {
-    return this.div
+  return this.div
 };
 mxWindow.prototype.fit = function() {
-    mxUtils.fit(this.div)
+  mxUtils.fit(this.div)
 };
 mxWindow.prototype.isResizable = function() {
-    return null != this.resize ? "none" != this.resize.style.display : !1
+  return null != this.resize ? "none" != this.resize.style.display : !1
 };
 mxWindow.prototype.setResizable = function(a) {
-    a ? null == this.resize ? (this.resize = document.createElement("img"), this.resize.style.position = "absolute", this.resize.style.bottom = "2px", this.resize.style.right = "2px", this.resize.setAttribute("src", mxClient.imageBasePath + "/resize.gif"), this.resize.style.cursor = "nw-resize", mxEvent.addGestureListeners(this.resize, mxUtils.bind(this, function(a) {
-            this.activate();
-            var c = mxEvent.getClientX(a),
-                d = mxEvent.getClientY(a),
-                e = this.div.offsetWidth,
-                f = this.div.offsetHeight,
-                g = mxUtils.bind(this,
-                    function(a) {
-                        var b = mxEvent.getClientX(a) - c,
-                            g = mxEvent.getClientY(a) - d;
-                        this.setSize(e + b, f + g);
-                        this.fireEvent(new mxEventObject(mxEvent.RESIZE, "event", a));
-                        mxEvent.consume(a)
-                    }),
-                h = mxUtils.bind(this, function(a) {
-                    mxEvent.removeGestureListeners(document, null, g, h);
-                    this.fireEvent(new mxEventObject(mxEvent.RESIZE_END, "event", a));
-                    mxEvent.consume(a)
-                });
-            mxEvent.addGestureListeners(document, null, g, h);
-            this.fireEvent(new mxEventObject(mxEvent.RESIZE_START, "event", a));
+  a ? null == this.resize ? (this.resize = document.createElement("img"), this.resize.style.position = "absolute", this.resize.style.bottom = "2px", this.resize.style.right = "2px", this.resize.setAttribute(
+      "src", mxClient.imageBasePath + "/resize.gif"), this.resize.style.cursor = "nw-resize", mxEvent.addGestureListeners(this.resize, mxUtils.bind(this, function(a) {
+      this.activate();
+      var c = mxEvent.getClientX(a),
+        d = mxEvent.getClientY(a),
+        e = this.div.offsetWidth,
+        f = this.div.offsetHeight,
+        g = mxUtils.bind(this,
+          function(a) {
+            var b = mxEvent.getClientX(a) - c,
+              g = mxEvent.getClientY(a) - d;
+            this.setSize(e + b, f + g);
+            this.fireEvent(new mxEventObject(mxEvent.RESIZE, "event", a));
             mxEvent.consume(a)
-        }), null, null), this.div.appendChild(this.resize)) :
-        this.resize.style.display = "inline" : null != this.resize && (this.resize.style.display = "none")
+          }),
+        h = mxUtils.bind(this, function(a) {
+          mxEvent.removeGestureListeners(document, null, g, h);
+          this.fireEvent(new mxEventObject(mxEvent.RESIZE_END, "event", a));
+          mxEvent.consume(a)
+        });
+      mxEvent.addGestureListeners(document, null, g, h);
+      this.fireEvent(new mxEventObject(mxEvent.RESIZE_START, "event", a));
+      mxEvent.consume(a)
+    }), null, null), this.div.appendChild(this.resize)) :
+    this.resize.style.display = "inline" : null != this.resize && (this.resize.style.display = "none")
 };
 mxWindow.prototype.setSize = function(a, b) {
-    a = Math.max(this.minimumSize.width, a);
-    b = Math.max(this.minimumSize.height, b);
-    mxClient.IS_IE || (this.div.style.width = a + "px", this.div.style.height = b + "px");
-    this.table.style.width = a + "px";
-    this.table.style.height = b + "px";
-    mxClient.IS_IE || (this.contentWrapper.style.height = this.div.offsetHeight - this.title.offsetHeight - 2 + "px")
+  a = Math.max(this.minimumSize.width, a);
+  b = Math.max(this.minimumSize.height, b);
+  mxClient.IS_IE || (this.div.style.width = a + "px", this.div.style.height = b + "px");
+  this.table.style.width = a + "px";
+  this.table.style.height = b + "px";
+  mxClient.IS_IE || (this.contentWrapper.style.height = this.div.offsetHeight - this.title.offsetHeight - 2 + "px")
 };
 mxWindow.prototype.setMinimizable = function(a) {
-    this.minimize.style.display = a ? "" : "none"
+  this.minimize.style.display = a ? "" : "none"
 };
 mxWindow.prototype.getMinimumSize = function() {
-    return new mxRectangle(0, 0, 0, this.title.offsetHeight)
+  return new mxRectangle(0, 0, 0, this.title.offsetHeight)
 };
 mxWindow.prototype.installMinimizeHandler = function() {
-    this.minimize = document.createElement("img");
-    this.minimize.setAttribute("src", this.minimizeImage);
-    this.minimize.setAttribute("align", "right");
-    this.minimize.setAttribute("title", "Minimize");
-    this.minimize.style.cursor = "pointer";
-    this.minimize.style.marginRight = "1px";
-    this.minimize.style.display = "none";
-    this.title.appendChild(this.minimize);
-    var a = !1,
-        b = null,
-        c = null,
-        d = mxUtils.bind(this, function(d) {
-            this.activate();
-            if (a) a = !1, this.minimize.setAttribute("src",
-                this.minimizeImage), this.minimize.setAttribute("title", "Minimize"), this.contentWrapper.style.display = "", this.maximize.style.display = b, mxClient.IS_IE || (this.div.style.height = c), this.table.style.height = c, null != this.resize && (this.resize.style.visibility = ""), this.fireEvent(new mxEventObject(mxEvent.NORMALIZE, "event", d));
-            else {
-                a = !0;
-                this.minimize.setAttribute("src", this.normalizeImage);
-                this.minimize.setAttribute("title", "Normalize");
-                this.contentWrapper.style.display = "none";
-                b = this.maximize.style.display;
-                this.maximize.style.display = "none";
-                c = this.table.style.height;
-                var f = this.getMinimumSize();
-                0 < f.height && (mxClient.IS_IE || (this.div.style.height = f.height + "px"), this.table.style.height = f.height + "px");
-                0 < f.width && (mxClient.IS_IE || (this.div.style.width = f.width + "px"), this.table.style.width = f.width + "px");
-                null != this.resize && (this.resize.style.visibility = "hidden");
-                this.fireEvent(new mxEventObject(mxEvent.MINIMIZE, "event", d))
-            }
-            mxEvent.consume(d)
-        });
-    mxEvent.addListener(this.minimize, "mousedown", d);
-    mxClient.IS_TOUCH &&
-        mxEvent.addListener(this.minimize, "touchstart", d)
+  this.minimize = document.createElement("img");
+  this.minimize.setAttribute("src", this.minimizeImage);
+  this.minimize.setAttribute("align", "right");
+  this.minimize.setAttribute("title", "Minimize");
+  this.minimize.style.cursor = "pointer";
+  this.minimize.style.marginRight = "1px";
+  this.minimize.style.display = "none";
+  this.title.appendChild(this.minimize);
+  var a = !1,
+    b = null,
+    c = null,
+    d = mxUtils.bind(this, function(d) {
+      this.activate();
+      if (a) a = !1, this.minimize.setAttribute("src",
+        this.minimizeImage), this.minimize.setAttribute("title", "Minimize"), this.contentWrapper.style.display = "", this.maximize.style.display = b, mxClient.IS_IE || (this.div.style.height =
+        c), this.table.style.height = c, null != this.resize && (this.resize.style.visibility = ""), this.fireEvent(new mxEventObject(mxEvent.NORMALIZE, "event", d));
+      else {
+        a = !0;
+        this.minimize.setAttribute("src", this.normalizeImage);
+        this.minimize.setAttribute("title", "Normalize");
+        this.contentWrapper.style.display = "none";
+        b = this.maximize.style.display;
+        this.maximize.style.display = "none";
+        c = this.table.style.height;
+        var f = this.getMinimumSize();
+        0 < f.height && (mxClient.IS_IE || (this.div.style.height = f.height + "px"), this.table.style.height = f.height + "px");
+        0 < f.width && (mxClient.IS_IE || (this.div.style.width = f.width + "px"), this.table.style.width = f.width + "px");
+        null != this.resize && (this.resize.style.visibility = "hidden");
+        this.fireEvent(new mxEventObject(mxEvent.MINIMIZE, "event", d))
+      }
+      mxEvent.consume(d)
+    });
+  mxEvent.addListener(this.minimize, "mousedown", d);
+  mxClient.IS_TOUCH &&
+    mxEvent.addListener(this.minimize, "touchstart", d)
 };
 mxWindow.prototype.setMaximizable = function(a) {
-    this.maximize.style.display = a ? "" : "none"
+  this.maximize.style.display = a ? "" : "none"
 };
 mxWindow.prototype.installMaximizeHandler = function() {
-    this.maximize = document.createElement("img");
-    this.maximize.setAttribute("src", this.maximizeImage);
-    this.maximize.setAttribute("align", "right");
-    this.maximize.setAttribute("title", "Maximize");
-    this.maximize.style.cursor = "default";
-    this.maximize.style.marginLeft = "1px";
-    this.maximize.style.cursor = "pointer";
-    this.maximize.style.display = "none";
-    this.title.appendChild(this.maximize);
-    var a = !1,
-        b = null,
-        c = null,
-        d = null,
-        e = null,
-        f = mxUtils.bind(this, function(f) {
-            this.activate();
-            if ("none" != this.maximize.style.display) {
-                if (a) {
-                    a = !1;
-                    this.maximize.setAttribute("src", this.maximizeImage);
-                    this.maximize.setAttribute("title", "Maximize");
-                    this.contentWrapper.style.display = "";
-                    this.minimize.style.visibility = "";
-                    this.div.style.left = b + "px";
-                    this.div.style.top = c + "px";
-                    if (!mxClient.IS_IE && (this.div.style.height = d, this.div.style.width = e, h = mxUtils.getCurrentStyle(this.contentWrapper), "auto" == h.overflow || null != this.resize)) this.contentWrapper.style.height = this.div.offsetHeight - this.title.offsetHeight -
-                        2 + "px";
-                    this.table.style.height = d;
-                    this.table.style.width = e;
-                    null != this.resize && (this.resize.style.visibility = "");
-                    this.fireEvent(new mxEventObject(mxEvent.NORMALIZE, "event", f))
-                } else {
-                    a = !0;
-                    this.maximize.setAttribute("src", this.normalizeImage);
-                    this.maximize.setAttribute("title", "Normalize");
-                    this.contentWrapper.style.display = "";
-                    this.minimize.style.visibility = "hidden";
-                    b = parseInt(this.div.style.left);
-                    c = parseInt(this.div.style.top);
-                    d = this.table.style.height;
-                    e = this.table.style.width;
-                    this.div.style.left = "0px";
-                    this.div.style.top = "0px";
-                    mxClient.IS_IE || (this.div.style.height = document.body.clientHeight - 2 + "px", this.div.style.width = document.body.clientWidth - 2 + "px");
-                    this.table.style.width = document.body.clientWidth - 2 + "px";
-                    this.table.style.height = document.body.clientHeight - 2 + "px";
-                    null != this.resize && (this.resize.style.visibility = "hidden");
-                    if (!mxClient.IS_IE) {
-                        var h = mxUtils.getCurrentStyle(this.contentWrapper);
-                        if ("auto" == h.overflow || null != this.resize) this.contentWrapper.style.height = this.div.offsetHeight - this.title.offsetHeight -
-                            2 + "px"
-                    }
-                    this.fireEvent(new mxEventObject(mxEvent.MAXIMIZE, "event", f))
-                }
-                mxEvent.consume(f)
-            }
-        });
-    mxEvent.addGestureListeners(this.maximize, f);
-    mxEvent.addListener(this.title, "dblclick", f)
+  this.maximize = document.createElement("img");
+  this.maximize.setAttribute("src", this.maximizeImage);
+  this.maximize.setAttribute("align", "right");
+  this.maximize.setAttribute("title", "Maximize");
+  this.maximize.style.cursor = "default";
+  this.maximize.style.marginLeft = "1px";
+  this.maximize.style.cursor = "pointer";
+  this.maximize.style.display = "none";
+  this.title.appendChild(this.maximize);
+  var a = !1,
+    b = null,
+    c = null,
+    d = null,
+    e = null,
+    f = mxUtils.bind(this, function(f) {
+      this.activate();
+      if ("none" != this.maximize.style.display) {
+        if (a) {
+          a = !1;
+          this.maximize.setAttribute("src", this.maximizeImage);
+          this.maximize.setAttribute("title", "Maximize");
+          this.contentWrapper.style.display = "";
+          this.minimize.style.visibility = "";
+          this.div.style.left = b + "px";
+          this.div.style.top = c + "px";
+          if (!mxClient.IS_IE && (this.div.style.height = d, this.div.style.width = e, h = mxUtils.getCurrentStyle(this.contentWrapper), "auto" == h.overflow || null != this.resize)) this.contentWrapper
+            .style.height = this.div.offsetHeight - this.title.offsetHeight -
+            2 + "px";
+          this.table.style.height = d;
+          this.table.style.width = e;
+          null != this.resize && (this.resize.style.visibility = "");
+          this.fireEvent(new mxEventObject(mxEvent.NORMALIZE, "event", f))
+        } else {
+          a = !0;
+          this.maximize.setAttribute("src", this.normalizeImage);
+          this.maximize.setAttribute("title", "Normalize");
+          this.contentWrapper.style.display = "";
+          this.minimize.style.visibility = "hidden";
+          b = parseInt(this.div.style.left);
+          c = parseInt(this.div.style.top);
+          d = this.table.style.height;
+          e = this.table.style.width;
+          this.div.style.left = "0px";
+          this.div.style.top = "0px";
+          mxClient.IS_IE || (this.div.style.height = document.body.clientHeight - 2 + "px", this.div.style.width = document.body.clientWidth - 2 + "px");
+          this.table.style.width = document.body.clientWidth - 2 + "px";
+          this.table.style.height = document.body.clientHeight - 2 + "px";
+          null != this.resize && (this.resize.style.visibility = "hidden");
+          if (!mxClient.IS_IE) {
+            var h = mxUtils.getCurrentStyle(this.contentWrapper);
+            if ("auto" == h.overflow || null != this.resize) this.contentWrapper.style.height = this.div.offsetHeight - this.title.offsetHeight -
+              2 + "px"
+          }
+          this.fireEvent(new mxEventObject(mxEvent.MAXIMIZE, "event", f))
+        }
+        mxEvent.consume(f)
+      }
+    });
+  mxEvent.addGestureListeners(this.maximize, f);
+  mxEvent.addListener(this.title, "dblclick", f)
 };
 mxWindow.prototype.installMoveHandler = function() {
-    this.title.style.cursor = "move";
-    mxEvent.addGestureListeners(this.title, mxUtils.bind(this, function(a) {
-        var b = mxEvent.getClientX(a),
-            c = mxEvent.getClientY(a),
-            d = this.getX(),
-            e = this.getY(),
-            f = mxUtils.bind(this, function(a) {
-                var f = mxEvent.getClientX(a) - b,
-                    g = mxEvent.getClientY(a) - c;
-                this.setLocation(d + f, e + g);
-                this.fireEvent(new mxEventObject(mxEvent.MOVE, "event", a));
-                mxEvent.consume(a)
-            }),
-            g = mxUtils.bind(this, function(a) {
-                mxEvent.removeGestureListeners(document, null, f,
-                    g);
-                this.fireEvent(new mxEventObject(mxEvent.MOVE_END, "event", a));
-                mxEvent.consume(a)
-            });
-        mxEvent.addGestureListeners(document, null, f, g);
-        this.fireEvent(new mxEventObject(mxEvent.MOVE_START, "event", a));
+  this.title.style.cursor = "move";
+  mxEvent.addGestureListeners(this.title, mxUtils.bind(this, function(a) {
+    var b = mxEvent.getClientX(a),
+      c = mxEvent.getClientY(a),
+      d = this.getX(),
+      e = this.getY(),
+      f = mxUtils.bind(this, function(a) {
+        var f = mxEvent.getClientX(a) - b,
+          g = mxEvent.getClientY(a) - c;
+        this.setLocation(d + f, e + g);
+        this.fireEvent(new mxEventObject(mxEvent.MOVE, "event", a));
         mxEvent.consume(a)
-    }))
+      }),
+      g = mxUtils.bind(this, function(a) {
+        mxEvent.removeGestureListeners(document, null, f,
+          g);
+        this.fireEvent(new mxEventObject(mxEvent.MOVE_END, "event", a));
+        mxEvent.consume(a)
+      });
+    mxEvent.addGestureListeners(document, null, f, g);
+    this.fireEvent(new mxEventObject(mxEvent.MOVE_START, "event", a));
+    mxEvent.consume(a)
+  }))
 };
 mxWindow.prototype.setLocation = function(a, b) {
-    this.div.style.left = a + "px";
-    this.div.style.top = b + "px"
+  this.div.style.left = a + "px";
+  this.div.style.top = b + "px"
 };
 mxWindow.prototype.getX = function() {
-    return parseInt(this.div.style.left)
+  return parseInt(this.div.style.left)
 };
 mxWindow.prototype.getY = function() {
-    return parseInt(this.div.style.top)
+  return parseInt(this.div.style.top)
 };
 mxWindow.prototype.installCloseHandler = function() {
-    this.closeImg = document.createElement("img");
-    this.closeImg.setAttribute("src", this.closeImage);
-    this.closeImg.setAttribute("align", "right");
-    this.closeImg.setAttribute("title", "Close");
-    this.closeImg.style.marginLeft = "2px";
-    this.closeImg.style.cursor = "pointer";
-    this.closeImg.style.display = "none";
-    this.title.insertBefore(this.closeImg, this.title.firstChild);
-    mxEvent.addGestureListeners(this.closeImg, mxUtils.bind(this, function(a) {
-        this.fireEvent(new mxEventObject(mxEvent.CLOSE,
-            "event", a));
-        this.destroyOnClose ? this.destroy() : this.setVisible(!1);
-        mxEvent.consume(a)
-    }))
+  this.closeImg = document.createElement("img");
+  this.closeImg.setAttribute("src", this.closeImage);
+  this.closeImg.setAttribute("align", "right");
+  this.closeImg.setAttribute("title", "Close");
+  this.closeImg.style.marginLeft = "2px";
+  this.closeImg.style.cursor = "pointer";
+  this.closeImg.style.display = "none";
+  this.title.insertBefore(this.closeImg, this.title.firstChild);
+  mxEvent.addGestureListeners(this.closeImg, mxUtils.bind(this, function(a) {
+    this.fireEvent(new mxEventObject(mxEvent.CLOSE,
+      "event", a));
+    this.destroyOnClose ? this.destroy() : this.setVisible(!1);
+    mxEvent.consume(a)
+  }))
 };
 mxWindow.prototype.setImage = function(a) {
-    this.image = document.createElement("img");
-    this.image.setAttribute("src", a);
-    this.image.setAttribute("align", "left");
-    this.image.style.marginRight = "4px";
-    this.image.style.marginLeft = "0px";
-    this.image.style.marginTop = "-2px";
-    this.title.insertBefore(this.image, this.title.firstChild)
+  this.image = document.createElement("img");
+  this.image.setAttribute("src", a);
+  this.image.setAttribute("align", "left");
+  this.image.style.marginRight = "4px";
+  this.image.style.marginLeft = "0px";
+  this.image.style.marginTop = "-2px";
+  this.title.insertBefore(this.image, this.title.firstChild)
 };
 mxWindow.prototype.setClosable = function(a) {
-    this.closeImg.style.display = a ? "" : "none"
+  this.closeImg.style.display = a ? "" : "none"
 };
 mxWindow.prototype.isVisible = function() {
-    return null != this.div ? "hidden" != this.div.style.visibility : !1
+  return null != this.div ? "hidden" != this.div.style.visibility : !1
 };
 mxWindow.prototype.setVisible = function(a) {
-    null != this.div && this.isVisible() != a && (a ? this.show() : this.hide())
+  null != this.div && this.isVisible() != a && (a ? this.show() : this.hide())
 };
 mxWindow.prototype.show = function() {
-    this.div.style.visibility = "";
-    this.activate();
-    var a = mxUtils.getCurrentStyle(this.contentWrapper);
-    if (!mxClient.IS_IE && ("auto" == a.overflow || null != this.resize)) this.contentWrapper.style.height = this.div.offsetHeight - this.title.offsetHeight - 2 + "px";
-    this.fireEvent(new mxEventObject(mxEvent.SHOW))
+  this.div.style.visibility = "";
+  this.activate();
+  var a = mxUtils.getCurrentStyle(this.contentWrapper);
+  if (!mxClient.IS_IE && ("auto" == a.overflow || null != this.resize)) this.contentWrapper.style.height = this.div.offsetHeight - this.title.offsetHeight - 2 + "px";
+  this.fireEvent(new mxEventObject(mxEvent.SHOW))
 };
 mxWindow.prototype.hide = function() {
-    this.div.style.visibility = "hidden";
-    this.fireEvent(new mxEventObject(mxEvent.HIDE))
+  this.div.style.visibility = "hidden";
+  this.fireEvent(new mxEventObject(mxEvent.HIDE))
 };
 mxWindow.prototype.destroy = function() {
-    this.fireEvent(new mxEventObject(mxEvent.DESTROY));
-    null != this.div && (mxEvent.release(this.div), this.div.parentNode.removeChild(this.div), this.div = null);
-    this.contentWrapper = this.content = this.title = null
+  this.fireEvent(new mxEventObject(mxEvent.DESTROY));
+  null != this.div && (mxEvent.release(this.div), this.div.parentNode.removeChild(this.div), this.div = null);
+  this.contentWrapper = this.content = this.title = null
 };
 
 function mxForm(a) {
-    this.table = document.createElement("table");
-    this.table.className = a;
-    this.body = document.createElement("tbody");
-    this.table.appendChild(this.body)
+  this.table = document.createElement("table");
+  this.table.className = a;
+  this.body = document.createElement("tbody");
+  this.table.appendChild(this.body)
 }
 mxForm.prototype.table = null;
 mxForm.prototype.body = !1;
 mxForm.prototype.getTable = function() {
-    return this.table
+  return this.table
 };
 mxForm.prototype.addButtons = function(a, b) {
-    var c = document.createElement("tr"),
-        d = document.createElement("td");
-    c.appendChild(d);
-    var d = document.createElement("td"),
-        e = document.createElement("button");
-    mxUtils.write(e, mxResources.get("ok") || "OK");
-    d.appendChild(e);
-    mxEvent.addListener(e, "click", function() {
-        a()
-    });
+  var c = document.createElement("tr"),
+    d = document.createElement("td");
+  c.appendChild(d);
+  var d = document.createElement("td"),
     e = document.createElement("button");
-    mxUtils.write(e, mxResources.get("cancel") || "Cancel");
-    d.appendChild(e);
-    mxEvent.addListener(e, "click", function() {
-        b()
-    });
-    c.appendChild(d);
-    this.body.appendChild(c)
+  mxUtils.write(e, mxResources.get("ok") || "OK");
+  d.appendChild(e);
+  mxEvent.addListener(e, "click", function() {
+    a()
+  });
+  e = document.createElement("button");
+  mxUtils.write(e, mxResources.get("cancel") || "Cancel");
+  d.appendChild(e);
+  mxEvent.addListener(e, "click", function() {
+    b()
+  });
+  c.appendChild(d);
+  this.body.appendChild(c)
 };
 mxForm.prototype.addText = function(a, b) {
-    var c = document.createElement("input");
-    c.setAttribute("type", "text");
-    c.value = b;
-    return this.addField(a, c)
+  var c = document.createElement("input");
+  c.setAttribute("type", "text");
+  c.value = b;
+  return this.addField(a, c)
 };
 mxForm.prototype.addCheckbox = function(a, b) {
-    var c = document.createElement("input");
-    c.setAttribute("type", "checkbox");
-    this.addField(a, c);
-    b && (c.checked = !0);
-    return c
+  var c = document.createElement("input");
+  c.setAttribute("type", "checkbox");
+  this.addField(a, c);
+  b && (c.checked = !0);
+  return c
 };
 mxForm.prototype.addTextarea = function(a, b, c) {
-    var d = document.createElement("textarea");
-    mxClient.IS_NS && c--;
-    d.setAttribute("rows", c || 2);
-    d.value = b;
-    return this.addField(a, d)
+  var d = document.createElement("textarea");
+  mxClient.IS_NS && c--;
+  d.setAttribute("rows", c || 2);
+  d.value = b;
+  return this.addField(a, d)
 };
 mxForm.prototype.addCombo = function(a, b, c) {
-    var d = document.createElement("select");
-    null != c && d.setAttribute("size", c);
-    b && d.setAttribute("multiple", "true");
-    return this.addField(a, d)
+  var d = document.createElement("select");
+  null != c && d.setAttribute("size", c);
+  b && d.setAttribute("multiple", "true");
+  return this.addField(a, d)
 };
 mxForm.prototype.addOption = function(a, b, c, d) {
-    var e = document.createElement("option");
-    mxUtils.writeln(e, b);
-    e.setAttribute("value", c);
-    d && e.setAttribute("selected", d);
-    a.appendChild(e)
+  var e = document.createElement("option");
+  mxUtils.writeln(e, b);
+  e.setAttribute("value", c);
+  d && e.setAttribute("selected", d);
+  a.appendChild(e)
 };
 mxForm.prototype.addField = function(a, b) {
-    var c = document.createElement("tr"),
-        d = document.createElement("td");
-    mxUtils.write(d, a);
-    c.appendChild(d);
+  var c = document.createElement("tr"),
     d = document.createElement("td");
-    d.appendChild(b);
-    c.appendChild(d);
-    this.body.appendChild(c);
-    return b
+  mxUtils.write(d, a);
+  c.appendChild(d);
+  d = document.createElement("td");
+  d.appendChild(b);
+  c.appendChild(d);
+  this.body.appendChild(c);
+  return b
 };
 
 function mxImage(a, b, c) {
-    this.src = a;
-    this.width = b;
-    this.height = c
+  this.src = a;
+  this.width = b;
+  this.height = c
 }
 mxImage.prototype.src = null;
 mxImage.prototype.width = null;
 mxImage.prototype.height = null;
 
 function mxDivResizer(a, b) {
-    if ("div" == a.nodeName.toLowerCase()) {
-        null == b && (b = window);
-        this.div = a;
-        var c = mxUtils.getCurrentStyle(a);
-        null != c && (this.resizeWidth = "auto" == c.width, this.resizeHeight = "auto" == c.height);
-        mxEvent.addListener(b, "resize", mxUtils.bind(this, function(a) {
-            this.handlingResize || (this.handlingResize = !0, this.resize(), this.handlingResize = !1)
-        }));
-        this.resize()
-    }
+  if ("div" == a.nodeName.toLowerCase()) {
+    null == b && (b = window);
+    this.div = a;
+    var c = mxUtils.getCurrentStyle(a);
+    null != c && (this.resizeWidth = "auto" == c.width, this.resizeHeight = "auto" == c.height);
+    mxEvent.addListener(b, "resize", mxUtils.bind(this, function(a) {
+      this.handlingResize || (this.handlingResize = !0, this.resize(), this.handlingResize = !1)
+    }));
+    this.resize()
+  }
 }
 mxDivResizer.prototype.resizeWidth = !0;
 mxDivResizer.prototype.resizeHeight = !0;
 mxDivResizer.prototype.handlingResize = !1;
 mxDivResizer.prototype.resize = function() {
-    var a = this.getDocumentWidth(),
-        b = this.getDocumentHeight(),
-        c = parseInt(this.div.style.left),
-        d = parseInt(this.div.style.right),
-        e = parseInt(this.div.style.top),
-        f = parseInt(this.div.style.bottom);
-    this.resizeWidth && (!isNaN(c) && !isNaN(d) && 0 <= c && 0 <= d && 0 < a - d - c) && (this.div.style.width = a - d - c + "px");
-    this.resizeHeight && (!isNaN(e) && !isNaN(f) && 0 <= e && 0 <= f && 0 < b - e - f) && (this.div.style.height = b - e - f + "px")
+  var a = this.getDocumentWidth(),
+    b = this.getDocumentHeight(),
+    c = parseInt(this.div.style.left),
+    d = parseInt(this.div.style.right),
+    e = parseInt(this.div.style.top),
+    f = parseInt(this.div.style.bottom);
+  this.resizeWidth && (!isNaN(c) && !isNaN(d) && 0 <= c && 0 <= d && 0 < a - d - c) && (this.div.style.width = a - d - c + "px");
+  this.resizeHeight && (!isNaN(e) && !isNaN(f) && 0 <= e && 0 <= f && 0 < b - e - f) && (this.div.style.height = b - e - f + "px")
 };
 mxDivResizer.prototype.getDocumentWidth = function() {
-    return document.body.clientWidth
+  return document.body.clientWidth
 };
 mxDivResizer.prototype.getDocumentHeight = function() {
-    return document.body.clientHeight
+  return document.body.clientHeight
 };
 
 function mxDragSource(a, b) {
-    this.element = a;
-    this.dropHandler = b;
-    mxEvent.addGestureListeners(a, mxUtils.bind(this, this.mouseDown))
+  this.element = a;
+  this.dropHandler = b;
+  mxEvent.addGestureListeners(a, mxUtils.bind(this, this.mouseDown))
 }
 mxDragSource.prototype.element = null;
 mxDragSource.prototype.dropHandler = null;
@@ -2619,141 +2645,142 @@ mxDragSource.prototype.highlightDropTargets = !0;
 mxDragSource.prototype.dragElementZIndex = 100;
 mxDragSource.prototype.dragElementOpacity = 70;
 mxDragSource.prototype.isEnabled = function() {
-    return this.enabled
+  return this.enabled
 };
 mxDragSource.prototype.setEnabled = function(a) {
-    this.enabled = a
+  this.enabled = a
 };
 mxDragSource.prototype.isGuidesEnabled = function() {
-    return this.guidesEnabled
+  return this.guidesEnabled
 };
 mxDragSource.prototype.setGuidesEnabled = function(a) {
-    this.guidesEnabled = a
+  this.guidesEnabled = a
 };
 mxDragSource.prototype.isGridEnabled = function() {
-    return this.gridEnabled
+  return this.gridEnabled
 };
 mxDragSource.prototype.setGridEnabled = function(a) {
-    this.gridEnabled = a
+  this.gridEnabled = a
 };
 mxDragSource.prototype.getGraphForEvent = function(a) {
-    return null
+  return null
 };
 mxDragSource.prototype.getDropTarget = function(a, b, c) {
-    return a.getCellAt(b, c)
+  return a.getCellAt(b, c)
 };
 mxDragSource.prototype.createDragElement = function(a) {
-    return this.element.cloneNode(!0)
+  return this.element.cloneNode(!0)
 };
 mxDragSource.prototype.createPreviewElement = function(a) {
-    return null
+  return null
 };
 mxDragSource.prototype.mouseDown = function(a) {
-    this.enabled && (!mxEvent.isConsumed(a) && null == this.mouseMoveHandler) && (this.startDrag(a), this.mouseMoveHandler = mxUtils.bind(this, this.mouseMove), this.mouseUpHandler = mxUtils.bind(this, this.mouseUp), mxEvent.addGestureListeners(document, null, this.mouseMoveHandler, this.mouseUpHandler), mxEvent.consume(a, !0, !1))
+  this.enabled && (!mxEvent.isConsumed(a) && null == this.mouseMoveHandler) && (this.startDrag(a), this.mouseMoveHandler = mxUtils.bind(this, this.mouseMove), this.mouseUpHandler = mxUtils.bind(
+    this, this.mouseUp), mxEvent.addGestureListeners(document, null, this.mouseMoveHandler, this.mouseUpHandler), mxEvent.consume(a, !0, !1))
 };
 mxDragSource.prototype.startDrag = function(a) {
-    this.dragElement = this.createDragElement(a);
-    this.dragElement.style.position = "absolute";
-    this.dragElement.style.zIndex = this.dragElementZIndex;
-    mxUtils.setOpacity(this.dragElement, this.dragElementOpacity)
+  this.dragElement = this.createDragElement(a);
+  this.dragElement.style.position = "absolute";
+  this.dragElement.style.zIndex = this.dragElementZIndex;
+  mxUtils.setOpacity(this.dragElement, this.dragElementOpacity)
 };
 mxDragSource.prototype.stopDrag = function(a) {
-    null != this.dragElement && (null != this.dragElement.parentNode && this.dragElement.parentNode.removeChild(this.dragElement), this.dragElement = null)
+  null != this.dragElement && (null != this.dragElement.parentNode && this.dragElement.parentNode.removeChild(this.dragElement), this.dragElement = null)
 };
 mxDragSource.prototype.graphContainsEvent = function(a, b) {
-    var c = mxEvent.getClientX(b),
-        d = mxEvent.getClientY(b),
-        e = mxUtils.getOffset(a.container),
-        f = mxUtils.getScrollOrigin();
-    return c >= e.x - f.x && d >= e.y - f.y && c <= e.x - f.x + a.container.offsetWidth && d <= e.y - f.y + a.container.offsetHeight
+  var c = mxEvent.getClientX(b),
+    d = mxEvent.getClientY(b),
+    e = mxUtils.getOffset(a.container),
+    f = mxUtils.getScrollOrigin();
+  return c >= e.x - f.x && d >= e.y - f.y && c <= e.x - f.x + a.container.offsetWidth && d <= e.y - f.y + a.container.offsetHeight
 };
 mxDragSource.prototype.mouseMove = function(a) {
-    var b = this.getGraphForEvent(a);
-    null != b && !this.graphContainsEvent(b, a) && (b = null);
-    b != this.currentGraph && (null != this.currentGraph && this.dragExit(this.currentGraph), this.currentGraph = b, null != this.currentGraph && this.dragEnter(this.currentGraph));
-    null != this.currentGraph && this.dragOver(this.currentGraph, a);
-    if (null != this.dragElement && (null == this.previewElement || "visible" != this.previewElement.style.visibility)) {
-        var b = mxEvent.getClientX(a),
-            c = mxEvent.getClientY(a);
-        null == this.dragElement.parentNode && document.body.appendChild(this.dragElement);
-        this.dragElement.style.visibility = "visible";
-        null != this.dragOffset && (b += this.dragOffset.x, c += this.dragOffset.y);
-        b += document.body.scrollLeft || document.documentElement.scrollLeft;
-        c += document.body.scrollTop || document.documentElement.scrollTop;
-        this.dragElement.style.left = b + "px";
-        this.dragElement.style.top = c + "px"
-    } else null != this.dragElement && (this.dragElement.style.visibility = "hidden");
-    mxEvent.consume(a)
+  var b = this.getGraphForEvent(a);
+  null != b && !this.graphContainsEvent(b, a) && (b = null);
+  b != this.currentGraph && (null != this.currentGraph && this.dragExit(this.currentGraph), this.currentGraph = b, null != this.currentGraph && this.dragEnter(this.currentGraph));
+  null != this.currentGraph && this.dragOver(this.currentGraph, a);
+  if (null != this.dragElement && (null == this.previewElement || "visible" != this.previewElement.style.visibility)) {
+    var b = mxEvent.getClientX(a),
+      c = mxEvent.getClientY(a);
+    null == this.dragElement.parentNode && document.body.appendChild(this.dragElement);
+    this.dragElement.style.visibility = "visible";
+    null != this.dragOffset && (b += this.dragOffset.x, c += this.dragOffset.y);
+    b += document.body.scrollLeft || document.documentElement.scrollLeft;
+    c += document.body.scrollTop || document.documentElement.scrollTop;
+    this.dragElement.style.left = b + "px";
+    this.dragElement.style.top = c + "px"
+  } else null != this.dragElement && (this.dragElement.style.visibility = "hidden");
+  mxEvent.consume(a)
 };
 mxDragSource.prototype.mouseUp = function(a) {
-    if (null != this.currentGraph) {
-        if (null != this.currentPoint && (null == this.previewElement || "hidden" != this.previewElement.style.visibility)) {
-            var b = this.currentGraph.view.scale,
-                c = this.currentGraph.view.translate;
-            this.drop(this.currentGraph, a, this.currentDropTarget, this.currentPoint.x / b - c.x, this.currentPoint.y / b - c.y)
-        }
-        this.dragExit(this.currentGraph)
-    }
-    this.stopDrag(a);
-    mxEvent.removeGestureListeners(document, null, this.mouseMoveHandler, this.mouseUpHandler);
-    this.currentGraph =
-        this.mouseUpHandler = this.mouseMoveHandler = null;
-    mxEvent.consume(a)
+  if (null != this.currentGraph) {
+    if (null != this.currentPoint && (null == this.previewElement || "hidden" != this.previewElement.style.visibility)) {
+      var b = this.currentGraph.view.scale,
+        c = this.currentGraph.view.translate;
+      this.drop(this.currentGraph, a, this.currentDropTarget, this.currentPoint.x / b - c.x, this.currentPoint.y / b - c.y)
+    }
+    this.dragExit(this.currentGraph)
+  }
+  this.stopDrag(a);
+  mxEvent.removeGestureListeners(document, null, this.mouseMoveHandler, this.mouseUpHandler);
+  this.currentGraph =
+    this.mouseUpHandler = this.mouseMoveHandler = null;
+  mxEvent.consume(a)
 };
 mxDragSource.prototype.dragEnter = function(a) {
-    a.isMouseDown = !0;
-    this.previewElement = this.createPreviewElement(a);
-    this.isGuidesEnabled() && null != this.previewElement && (this.currentGuide = new mxGuide(a, a.graphHandler.getGuideStates()));
-    this.highlightDropTargets && (this.currentHighlight = new mxCellHighlight(a, mxConstants.DROP_TARGET_COLOR))
+  a.isMouseDown = !0;
+  this.previewElement = this.createPreviewElement(a);
+  this.isGuidesEnabled() && null != this.previewElement && (this.currentGuide = new mxGuide(a, a.graphHandler.getGuideStates()));
+  this.highlightDropTargets && (this.currentHighlight = new mxCellHighlight(a, mxConstants.DROP_TARGET_COLOR))
 };
 mxDragSource.prototype.dragExit = function(a) {
-    this.currentPoint = this.currentDropTarget = null;
-    a.isMouseDown = !1;
-    null != this.previewElement && (null != this.previewElement.parentNode && this.previewElement.parentNode.removeChild(this.previewElement), this.previewElement = null);
-    null != this.currentGuide && (this.currentGuide.destroy(), this.currentGuide = null);
-    null != this.currentHighlight && (this.currentHighlight.destroy(), this.currentHighlight = null)
+  this.currentPoint = this.currentDropTarget = null;
+  a.isMouseDown = !1;
+  null != this.previewElement && (null != this.previewElement.parentNode && this.previewElement.parentNode.removeChild(this.previewElement), this.previewElement = null);
+  null != this.currentGuide && (this.currentGuide.destroy(), this.currentGuide = null);
+  null != this.currentHighlight && (this.currentHighlight.destroy(), this.currentHighlight = null)
 };
 mxDragSource.prototype.dragOver = function(a, b) {
-    var c = mxUtils.getOffset(a.container),
-        d = mxUtils.getScrollOrigin(a.container),
-        e = mxEvent.getClientX(b) - c.x + d.x,
-        c = mxEvent.getClientY(b) - c.y + d.y;
-    a.autoScroll && (null == this.autoscroll || this.autoscroll) && a.scrollPointToVisible(e, c, a.autoExtend);
-    null != this.currentHighlight && a.isDropEnabled() && (this.currentDropTarget = this.getDropTarget(a, e, c), d = a.getView().getState(this.currentDropTarget), this.currentHighlight.highlight(d));
-    if (null != this.previewElement) {
-        null == this.previewElement.parentNode &&
-            (a.container.appendChild(this.previewElement), this.previewElement.style.zIndex = "3", this.previewElement.style.position = "absolute");
-        var d = this.isGridEnabled() && a.isGridEnabledEvent(b),
-            f = !0;
-        if (null != this.currentGuide && this.currentGuide.isEnabledForEvent(b)) var f = parseInt(this.previewElement.style.width),
-            g = parseInt(this.previewElement.style.height),
-            f = new mxRectangle(0, 0, f, g),
-            c = new mxPoint(e, c),
-            c = this.currentGuide.move(f, c, d),
-            f = !1,
-            e = c.x,
-            c = c.y;
-        else if (d) var d = a.view.scale,
-            g = a.view.translate,
-            h = a.gridSize /
-            2,
-            e = (a.snap(e / d - g.x - h) + g.x) * d,
-            c = (a.snap(c / d - g.y - h) + g.y) * d;
-        null != this.currentGuide && f && this.currentGuide.hide();
-        null != this.previewOffset && (e += this.previewOffset.x, c += this.previewOffset.y);
-        this.previewElement.style.left = Math.round(e) + "px";
-        this.previewElement.style.top = Math.round(c) + "px";
-        this.previewElement.style.visibility = "visible"
-    }
-    this.currentPoint = new mxPoint(e, c)
+  var c = mxUtils.getOffset(a.container),
+    d = mxUtils.getScrollOrigin(a.container),
+    e = mxEvent.getClientX(b) - c.x + d.x,
+    c = mxEvent.getClientY(b) - c.y + d.y;
+  a.autoScroll && (null == this.autoscroll || this.autoscroll) && a.scrollPointToVisible(e, c, a.autoExtend);
+  null != this.currentHighlight && a.isDropEnabled() && (this.currentDropTarget = this.getDropTarget(a, e, c), d = a.getView().getState(this.currentDropTarget), this.currentHighlight.highlight(d));
+  if (null != this.previewElement) {
+    null == this.previewElement.parentNode &&
+      (a.container.appendChild(this.previewElement), this.previewElement.style.zIndex = "3", this.previewElement.style.position = "absolute");
+    var d = this.isGridEnabled() && a.isGridEnabledEvent(b),
+      f = !0;
+    if (null != this.currentGuide && this.currentGuide.isEnabledForEvent(b)) var f = parseInt(this.previewElement.style.width),
+      g = parseInt(this.previewElement.style.height),
+      f = new mxRectangle(0, 0, f, g),
+      c = new mxPoint(e, c),
+      c = this.currentGuide.move(f, c, d),
+      f = !1,
+      e = c.x,
+      c = c.y;
+    else if (d) var d = a.view.scale,
+      g = a.view.translate,
+      h = a.gridSize /
+      2,
+      e = (a.snap(e / d - g.x - h) + g.x) * d,
+      c = (a.snap(c / d - g.y - h) + g.y) * d;
+    null != this.currentGuide && f && this.currentGuide.hide();
+    null != this.previewOffset && (e += this.previewOffset.x, c += this.previewOffset.y);
+    this.previewElement.style.left = Math.round(e) + "px";
+    this.previewElement.style.top = Math.round(c) + "px";
+    this.previewElement.style.visibility = "visible"
+  }
+  this.currentPoint = new mxPoint(e, c)
 };
 mxDragSource.prototype.drop = function(a, b, c, d, e) {
-    this.dropHandler(a, b, c, d, e);
-    a.container.focus()
+  this.dropHandler(a, b, c, d, e);
+  a.container.focus()
 };
 
 function mxToolbar(a) {
-    this.container = a
+  this.container = a
 }
 mxToolbar.prototype = new mxEventSource;
 mxToolbar.prototype.constructor = mxToolbar;
@@ -2762,149 +2789,150 @@ mxToolbar.prototype.enabled = !0;
 mxToolbar.prototype.noReset = !1;
 mxToolbar.prototype.updateDefaultMode = !0;
 mxToolbar.prototype.addItem = function(a, b, c, d, e, f) {
-    var g = document.createElement(null != b ? "img" : "button"),
-        h = e || (null != f ? "mxToolbarMode" : "mxToolbarItem");
-    g.className = h;
-    g.setAttribute("src", b);
-    null != a && (null != b ? g.setAttribute("title", a) : mxUtils.write(g, a));
-    this.container.appendChild(g);
-    null != c && (mxEvent.addListener(g, "click", c), mxClient.IS_TOUCH && mxEvent.addListener(g, "touchend", c));
-    a = mxUtils.bind(this, function(a) {
-        null != d ? g.setAttribute("src", b) : g.style.backgroundColor = ""
-    });
-    mxEvent.addGestureListeners(g,
-        mxUtils.bind(this, function(a) {
-            null != d ? g.setAttribute("src", d) : g.style.backgroundColor = "gray";
-            if (null != f) {
-                null == this.menu && (this.menu = new mxPopupMenu, this.menu.init());
-                var b = this.currentImg;
-                this.menu.isMenuShowing() && this.menu.hideMenu();
-                b != g && (this.currentImg = g, this.menu.factoryMethod = f, b = new mxPoint(g.offsetLeft, g.offsetTop + g.offsetHeight), this.menu.popup(b.x, b.y, null, a), this.menu.isMenuShowing() && (g.className = h + "Selected", this.menu.hideMenu = function() {
-                    mxPopupMenu.prototype.hideMenu.apply(this);
-                    g.className = h;
-                    this.currentImg = null
-                }))
-            }
-        }), null, a);
-    mxEvent.addListener(g, "mouseout", a);
-    return g
+  var g = document.createElement(null != b ? "img" : "button"),
+    h = e || (null != f ? "mxToolbarMode" : "mxToolbarItem");
+  g.className = h;
+  g.setAttribute("src", b);
+  null != a && (null != b ? g.setAttribute("title", a) : mxUtils.write(g, a));
+  this.container.appendChild(g);
+  null != c && (mxEvent.addListener(g, "click", c), mxClient.IS_TOUCH && mxEvent.addListener(g, "touchend", c));
+  a = mxUtils.bind(this, function(a) {
+    null != d ? g.setAttribute("src", b) : g.style.backgroundColor = ""
+  });
+  mxEvent.addGestureListeners(g,
+    mxUtils.bind(this, function(a) {
+      null != d ? g.setAttribute("src", d) : g.style.backgroundColor = "gray";
+      if (null != f) {
+        null == this.menu && (this.menu = new mxPopupMenu, this.menu.init());
+        var b = this.currentImg;
+        this.menu.isMenuShowing() && this.menu.hideMenu();
+        b != g && (this.currentImg = g, this.menu.factoryMethod = f, b = new mxPoint(g.offsetLeft, g.offsetTop + g.offsetHeight), this.menu.popup(b.x, b.y, null, a), this.menu.isMenuShowing() &&
+          (g.className = h + "Selected", this.menu.hideMenu = function() {
+            mxPopupMenu.prototype.hideMenu.apply(this);
+            g.className = h;
+            this.currentImg = null
+          }))
+      }
+    }), null, a);
+  mxEvent.addListener(g, "mouseout", a);
+  return g
 };
 mxToolbar.prototype.addCombo = function(a) {
-    var b = document.createElement("div");
-    b.style.display = "inline";
-    b.className = "mxToolbarComboContainer";
-    var c = document.createElement("select");
-    c.className = a || "mxToolbarCombo";
-    b.appendChild(c);
-    this.container.appendChild(b);
-    return c
+  var b = document.createElement("div");
+  b.style.display = "inline";
+  b.className = "mxToolbarComboContainer";
+  var c = document.createElement("select");
+  c.className = a || "mxToolbarCombo";
+  b.appendChild(c);
+  this.container.appendChild(b);
+  return c
 };
 mxToolbar.prototype.addActionCombo = function(a, b) {
-    var c = document.createElement("select");
-    c.className = b || "mxToolbarCombo";
-    this.addOption(c, a, null);
-    mxEvent.addListener(c, "change", function(a) {
-        var b = c.options[c.selectedIndex];
-        c.selectedIndex = 0;
-        null != b.funct && b.funct(a)
-    });
-    this.container.appendChild(c);
-    return c
+  var c = document.createElement("select");
+  c.className = b || "mxToolbarCombo";
+  this.addOption(c, a, null);
+  mxEvent.addListener(c, "change", function(a) {
+    var b = c.options[c.selectedIndex];
+    c.selectedIndex = 0;
+    null != b.funct && b.funct(a)
+  });
+  this.container.appendChild(c);
+  return c
 };
 mxToolbar.prototype.addOption = function(a, b, c) {
-    var d = document.createElement("option");
-    mxUtils.writeln(d, b);
-    "function" == typeof c ? d.funct = c : d.setAttribute("value", c);
-    a.appendChild(d);
-    return d
+  var d = document.createElement("option");
+  mxUtils.writeln(d, b);
+  "function" == typeof c ? d.funct = c : d.setAttribute("value", c);
+  a.appendChild(d);
+  return d
 };
 mxToolbar.prototype.addSwitchMode = function(a, b, c, d, e) {
-    var f = document.createElement("img");
-    f.initialClassName = e || "mxToolbarMode";
-    f.className = f.initialClassName;
-    f.setAttribute("src", b);
-    f.altIcon = d;
-    null != a && f.setAttribute("title", a);
-    mxEvent.addListener(f, "click", mxUtils.bind(this, function(a) {
-        a = this.selectedMode.altIcon;
-        null != a ? (this.selectedMode.altIcon = this.selectedMode.getAttribute("src"), this.selectedMode.setAttribute("src", a)) : this.selectedMode.className = this.selectedMode.initialClassName;
-        this.updateDefaultMode &&
-            (this.defaultMode = f);
-        this.selectedMode = f;
-        a = f.altIcon;
-        null != a ? (f.altIcon = f.getAttribute("src"), f.setAttribute("src", a)) : f.className = f.initialClassName + "Selected";
-        this.fireEvent(new mxEventObject(mxEvent.SELECT));
-        c()
-    }));
-    this.container.appendChild(f);
-    null == this.defaultMode && (this.defaultMode = f, this.selectMode(f), c());
-    return f
+  var f = document.createElement("img");
+  f.initialClassName = e || "mxToolbarMode";
+  f.className = f.initialClassName;
+  f.setAttribute("src", b);
+  f.altIcon = d;
+  null != a && f.setAttribute("title", a);
+  mxEvent.addListener(f, "click", mxUtils.bind(this, function(a) {
+    a = this.selectedMode.altIcon;
+    null != a ? (this.selectedMode.altIcon = this.selectedMode.getAttribute("src"), this.selectedMode.setAttribute("src", a)) : this.selectedMode.className = this.selectedMode.initialClassName;
+    this.updateDefaultMode &&
+      (this.defaultMode = f);
+    this.selectedMode = f;
+    a = f.altIcon;
+    null != a ? (f.altIcon = f.getAttribute("src"), f.setAttribute("src", a)) : f.className = f.initialClassName + "Selected";
+    this.fireEvent(new mxEventObject(mxEvent.SELECT));
+    c()
+  }));
+  this.container.appendChild(f);
+  null == this.defaultMode && (this.defaultMode = f, this.selectMode(f), c());
+  return f
 };
 mxToolbar.prototype.addMode = function(a, b, c, d, e, f) {
-    f = null != f ? f : !0;
-    var g = document.createElement(null != b ? "img" : "button");
-    g.initialClassName = e || "mxToolbarMode";
-    g.className = g.initialClassName;
-    g.setAttribute("src", b);
-    g.altIcon = d;
-    null != a && g.setAttribute("title", a);
-    this.enabled && f && (mxEvent.addListener(g, "click", mxUtils.bind(this, function(a) {
-            this.selectMode(g, c);
-            this.noReset = !1
-        })), mxEvent.addListener(g, "dblclick", mxUtils.bind(this, function(a) {
-            this.selectMode(g, c);
-            this.noReset = !0
-        })), null == this.defaultMode &&
-        (this.defaultMode = g, this.defaultFunction = c, this.selectMode(g, c)));
-    this.container.appendChild(g);
-    return g
+  f = null != f ? f : !0;
+  var g = document.createElement(null != b ? "img" : "button");
+  g.initialClassName = e || "mxToolbarMode";
+  g.className = g.initialClassName;
+  g.setAttribute("src", b);
+  g.altIcon = d;
+  null != a && g.setAttribute("title", a);
+  this.enabled && f && (mxEvent.addListener(g, "click", mxUtils.bind(this, function(a) {
+      this.selectMode(g, c);
+      this.noReset = !1
+    })), mxEvent.addListener(g, "dblclick", mxUtils.bind(this, function(a) {
+      this.selectMode(g, c);
+      this.noReset = !0
+    })), null == this.defaultMode &&
+    (this.defaultMode = g, this.defaultFunction = c, this.selectMode(g, c)));
+  this.container.appendChild(g);
+  return g
 };
 mxToolbar.prototype.selectMode = function(a, b) {
-    if (this.selectedMode != a) {
-        if (null != this.selectedMode) {
-            var c = this.selectedMode.altIcon;
-            null != c ? (this.selectedMode.altIcon = this.selectedMode.getAttribute("src"), this.selectedMode.setAttribute("src", c)) : this.selectedMode.className = this.selectedMode.initialClassName
-        }
-        this.selectedMode = a;
-        c = this.selectedMode.altIcon;
-        null != c ? (this.selectedMode.altIcon = this.selectedMode.getAttribute("src"), this.selectedMode.setAttribute("src", c)) : this.selectedMode.className = this.selectedMode.initialClassName +
-            "Selected";
-        this.fireEvent(new mxEventObject(mxEvent.SELECT, "function", b))
-    }
+  if (this.selectedMode != a) {
+    if (null != this.selectedMode) {
+      var c = this.selectedMode.altIcon;
+      null != c ? (this.selectedMode.altIcon = this.selectedMode.getAttribute("src"), this.selectedMode.setAttribute("src", c)) : this.selectedMode.className = this.selectedMode.initialClassName
+    }
+    this.selectedMode = a;
+    c = this.selectedMode.altIcon;
+    null != c ? (this.selectedMode.altIcon = this.selectedMode.getAttribute("src"), this.selectedMode.setAttribute("src", c)) : this.selectedMode.className = this.selectedMode.initialClassName +
+      "Selected";
+    this.fireEvent(new mxEventObject(mxEvent.SELECT, "function", b))
+  }
 };
 mxToolbar.prototype.resetMode = function(a) {
-    (a || !this.noReset) && this.selectedMode != this.defaultMode && this.selectMode(this.defaultMode, this.defaultFunction)
+  (a || !this.noReset) && this.selectedMode != this.defaultMode && this.selectMode(this.defaultMode, this.defaultFunction)
 };
 mxToolbar.prototype.addSeparator = function(a) {
-    return this.addItem(null, a, null)
+  return this.addItem(null, a, null)
 };
 mxToolbar.prototype.addBreak = function() {
-    mxUtils.br(this.container)
+  mxUtils.br(this.container)
 };
 mxToolbar.prototype.addLine = function() {
-    var a = document.createElement("hr");
-    a.style.marginRight = "6px";
-    a.setAttribute("size", "1");
-    this.container.appendChild(a)
+  var a = document.createElement("hr");
+  a.style.marginRight = "6px";
+  a.setAttribute("size", "1");
+  this.container.appendChild(a)
 };
 mxToolbar.prototype.destroy = function() {
-    mxEvent.release(this.container);
-    this.selectedMode = this.defaultFunction = this.defaultMode = this.container = null;
-    null != this.menu && this.menu.destroy()
+  mxEvent.release(this.container);
+  this.selectedMode = this.defaultFunction = this.defaultMode = this.container = null;
+  null != this.menu && this.menu.destroy()
 };
 
 function mxSession(a, b, c, d) {
-    this.model = a;
-    this.urlInit = b;
-    this.urlPoll = c;
-    this.urlNotify = d;
-    null != a && (this.codec = new mxCodec, this.codec.lookup = function(b) {
-        return a.getCell(b)
-    });
-    a.addListener(mxEvent.NOTIFY, mxUtils.bind(this, function(a, b) {
-        var c = b.getProperty("edit");
-        (null != c && this.debug || this.connected && !this.suspended) && this.notify("\x3cedit\x3e" + this.encodeChanges(c.changes, c.undone) + "\x3c/edit\x3e")
-    }))
+  this.model = a;
+  this.urlInit = b;
+  this.urlPoll = c;
+  this.urlNotify = d;
+  null != a && (this.codec = new mxCodec, this.codec.lookup = function(b) {
+    return a.getCell(b)
+  });
+  a.addListener(mxEvent.NOTIFY, mxUtils.bind(this, function(a, b) {
+    var c = b.getProperty("edit");
+    (null != c && this.debug || this.connected && !this.suspended) && this.notify("\x3cedit\x3e" + this.encodeChanges(c.changes, c.undone) + "\x3c/edit\x3e")
+  }))
 }
 mxSession.prototype = new mxEventSource;
 mxSession.prototype.constructor = mxSession;
@@ -2923,120 +2951,123 @@ mxSession.prototype.connected = !1;
 mxSession.prototype.suspended = !1;
 mxSession.prototype.polling = !1;
 mxSession.prototype.start = function() {
-    this.debug ? (this.connected = !0, this.fireEvent(new mxEventObject(mxEvent.CONNECT))) : this.connected || this.get(this.urlInit, mxUtils.bind(this, function(a) {
-        this.connected = !0;
-        this.fireEvent(new mxEventObject(mxEvent.CONNECT));
-        this.poll()
-    }))
+  this.debug ? (this.connected = !0, this.fireEvent(new mxEventObject(mxEvent.CONNECT))) : this.connected || this.get(this.urlInit, mxUtils.bind(this, function(a) {
+    this.connected = !0;
+    this.fireEvent(new mxEventObject(mxEvent.CONNECT));
+    this.poll()
+  }))
 };
 mxSession.prototype.suspend = function() {
-    this.connected && !this.suspended && (this.suspended = !0, this.fireEvent(new mxEventObject(mxEvent.SUSPEND)))
+  this.connected && !this.suspended && (this.suspended = !0, this.fireEvent(new mxEventObject(mxEvent.SUSPEND)))
 };
 mxSession.prototype.resume = function(a, b, c) {
-    this.connected && this.suspended && (this.suspended = !1, this.fireEvent(new mxEventObject(mxEvent.RESUME)), this.polling || this.poll())
+  this.connected && this.suspended && (this.suspended = !1, this.fireEvent(new mxEventObject(mxEvent.RESUME)), this.polling || this.poll())
 };
 mxSession.prototype.stop = function(a) {
-    this.connected && (this.connected = !1);
-    this.fireEvent(new mxEventObject(mxEvent.DISCONNECT, "reason", a))
+  this.connected && (this.connected = !1);
+  this.fireEvent(new mxEventObject(mxEvent.DISCONNECT, "reason", a))
 };
 mxSession.prototype.poll = function() {
-    this.connected && !this.suspended && null != this.urlPoll ? (this.polling = !0, this.get(this.urlPoll, mxUtils.bind(this, function() {
-        this.poll()
-    }))) : this.polling = !1
+  this.connected && !this.suspended && null != this.urlPoll ? (this.polling = !0, this.get(this.urlPoll, mxUtils.bind(this, function() {
+    this.poll()
+  }))) : this.polling = !1
 };
 mxSession.prototype.notify = function(a, b, c) {
-    null != a && 0 < a.length && (null != this.urlNotify && (this.debug ? (mxLog.show(), mxLog.debug("mxSession.notify: " + this.urlNotify + " xml\x3d" + a)) : (a = "\x3cmessage\x3e\x3cdelta\x3e" + a + "\x3c/delta\x3e\x3c/message\x3e", this.escapePostData && (a = encodeURIComponent(a)), mxUtils.post(this.urlNotify, "xml\x3d" + a, b, c))), this.sent += a.length, this.fireEvent(new mxEventObject(mxEvent.NOTIFY, "url", this.urlNotify, "xml", a)))
+  null != a && 0 < a.length && (null != this.urlNotify && (this.debug ? (mxLog.show(), mxLog.debug("mxSession.notify: " + this.urlNotify + " xml\x3d" + a)) : (a = "\x3cmessage\x3e\x3cdelta\x3e" + a +
+    "\x3c/delta\x3e\x3c/message\x3e", this.escapePostData && (a = encodeURIComponent(a)), mxUtils.post(this.urlNotify, "xml\x3d" + a, b, c))), this.sent += a.length, this.fireEvent(new mxEventObject(
+    mxEvent.NOTIFY, "url", this.urlNotify, "xml", a)))
 };
 mxSession.prototype.get = function(a, b, c) {
-    if ("undefined" != typeof mxUtils) {
-        var d = mxUtils.bind(this, function(a) {
-            null != c ? c(a) : this.stop(a)
-        });
-        mxUtils.get(a, mxUtils.bind(this, function(c) {
-                if ("undefined" != typeof mxUtils)
-                    if (c.isReady() && 404 != c.getStatus()) {
-                        if (this.received += c.getText().length, this.fireEvent(new mxEventObject(mxEvent.GET, "url", a, "request", c)), this.isValidResponse(c)) {
-                            if (0 < c.getText().length) {
-                                var f = c.getDocumentElement();
-                                null == f ? d("Invalid response: " + c.getText()) : this.receive(f)
-                            }
-                            null != b && b(c)
-                        }
-                    } else d("Response not ready")
-            }),
-            function(a) {
-                d("Transmission error")
-            })
-    }
+  if ("undefined" != typeof mxUtils) {
+    var d = mxUtils.bind(this, function(a) {
+      null != c ? c(a) : this.stop(a)
+    });
+    mxUtils.get(a, mxUtils.bind(this, function(c) {
+        if ("undefined" != typeof mxUtils)
+          if (c.isReady() && 404 != c.getStatus()) {
+            if (this.received += c.getText().length, this.fireEvent(new mxEventObject(mxEvent.GET, "url", a, "request", c)), this.isValidResponse(c)) {
+              if (0 < c.getText().length) {
+                var f = c.getDocumentElement();
+                null == f ? d("Invalid response: " + c.getText()) : this.receive(f)
+              }
+              null != b && b(c)
+            }
+          } else d("Response not ready")
+      }),
+      function(a) {
+        d("Transmission error")
+      })
+  }
 };
 mxSession.prototype.isValidResponse = function(a) {
-    return 0 > a.getText().indexOf("\x3c?php")
+  return 0 > a.getText().indexOf("\x3c?php")
 };
 mxSession.prototype.encodeChanges = function(a, b) {
-    for (var c = "", d = b ? -1 : 1, e = b ? a.length - 1 : 0; 0 <= e && e < a.length; e += d) var f = this.codec.encode(a[e]),
-        c = c + mxUtils.getXml(f, this.linefeed);
-    return c
+  for (var c = "", d = b ? -1 : 1, e = b ? a.length - 1 : 0; 0 <= e && e < a.length; e += d) var f = this.codec.encode(a[e]),
+    c = c + mxUtils.getXml(f, this.linefeed);
+  return c
 };
 mxSession.prototype.receive = function(a) {
-    if (null != a && a.nodeType == mxConstants.NODETYPE_ELEMENT) {
-        var b = a.getAttribute("namespace");
-        null != b && (this.model.prefix = b + "-");
-        for (b = a.firstChild; null != b;) {
-            var c = b.nodeName.toLowerCase();
-            "state" == c ? this.processState(b) : "delta" == c && this.processDelta(b);
-            b = b.nextSibling
-        }
-        this.fireEvent(new mxEventObject(mxEvent.RECEIVE, "node", a))
+  if (null != a && a.nodeType == mxConstants.NODETYPE_ELEMENT) {
+    var b = a.getAttribute("namespace");
+    null != b && (this.model.prefix = b + "-");
+    for (b = a.firstChild; null != b;) {
+      var c = b.nodeName.toLowerCase();
+      "state" == c ? this.processState(b) : "delta" == c && this.processDelta(b);
+      b = b.nextSibling
     }
+    this.fireEvent(new mxEventObject(mxEvent.RECEIVE, "node", a))
+  }
 };
 mxSession.prototype.processState = function(a) {
-    (new mxCodec(a.ownerDocument)).decode(a.firstChild, this.model)
+  (new mxCodec(a.ownerDocument)).decode(a.firstChild, this.model)
 };
 mxSession.prototype.processDelta = function(a) {
-    for (a = a.firstChild; null != a;) "edit" == a.nodeName && this.processEdit(a), a = a.nextSibling
+  for (a = a.firstChild; null != a;) "edit" == a.nodeName && this.processEdit(a), a = a.nextSibling
 };
 mxSession.prototype.processEdit = function(a) {
-    a = this.decodeChanges(a);
-    if (0 < a.length) {
-        var b = this.createUndoableEdit(a);
-        this.model.fireEvent(new mxEventObject(mxEvent.CHANGE, "edit", b, "changes", a));
-        this.model.fireEvent(new mxEventObject(mxEvent.UNDO, "edit", b));
-        this.fireEvent(new mxEventObject(mxEvent.FIRED, "edit", b))
-    }
+  a = this.decodeChanges(a);
+  if (0 < a.length) {
+    var b = this.createUndoableEdit(a);
+    this.model.fireEvent(new mxEventObject(mxEvent.CHANGE, "edit", b, "changes", a));
+    this.model.fireEvent(new mxEventObject(mxEvent.UNDO, "edit", b));
+    this.fireEvent(new mxEventObject(mxEvent.FIRED, "edit", b))
+  }
 };
 mxSession.prototype.createUndoableEdit = function(a) {
-    var b = new mxUndoableEdit(this.model, this.significantRemoteChanges);
-    b.changes = a;
-    b.notify = function() {
-        b.source.fireEvent(new mxEventObject(mxEvent.CHANGE, "edit", b, "changes", b.changes));
-        b.source.fireEvent(new mxEventObject(mxEvent.NOTIFY, "edit", b, "changes", b.changes))
-    };
-    return b
+  var b = new mxUndoableEdit(this.model, this.significantRemoteChanges);
+  b.changes = a;
+  b.notify = function() {
+    b.source.fireEvent(new mxEventObject(mxEvent.CHANGE, "edit", b, "changes", b.changes));
+    b.source.fireEvent(new mxEventObject(mxEvent.NOTIFY, "edit", b, "changes", b.changes))
+  };
+  return b
 };
 mxSession.prototype.decodeChanges = function(a) {
-    this.codec.document = a.ownerDocument;
-    var b = [];
-    for (a = a.firstChild; null != a;) {
-        var c = this.decodeChange(a);
-        null != c && b.push(c);
-        a = a.nextSibling
-    }
-    return b
+  this.codec.document = a.ownerDocument;
+  var b = [];
+  for (a = a.firstChild; null != a;) {
+    var c = this.decodeChange(a);
+    null != c && b.push(c);
+    a = a.nextSibling
+  }
+  return b
 };
 mxSession.prototype.decodeChange = function(a) {
-    var b = null;
-    a.nodeType == mxConstants.NODETYPE_ELEMENT && (b = "mxRootChange" == a.nodeName ? (new mxCodec(a.ownerDocument)).decode(a) : this.codec.decode(a), null != b && (b.model = this.model, b.execute(), "mxChildChange" == a.nodeName && null == b.parent && this.cellRemoved(b.child)));
-    return b
+  var b = null;
+  a.nodeType == mxConstants.NODETYPE_ELEMENT && (b = "mxRootChange" == a.nodeName ? (new mxCodec(a.ownerDocument)).decode(a) : this.codec.decode(a), null != b && (b.model = this.model, b.execute(),
+    "mxChildChange" == a.nodeName && null == b.parent && this.cellRemoved(b.child)));
+  return b
 };
 mxSession.prototype.cellRemoved = function(a, b) {
-    this.codec.putObject(a.getId(), a);
-    for (var c = this.model.getChildCount(a), d = 0; d < c; d++) this.cellRemoved(this.model.getChildAt(a, d))
+  this.codec.putObject(a.getId(), a);
+  for (var c = this.model.getChildCount(a), d = 0; d < c; d++) this.cellRemoved(this.model.getChildAt(a, d))
 };
 
 function mxUndoableEdit(a, b) {
-    this.source = a;
-    this.changes = [];
-    this.significant = null != b ? b : !0
+  this.source = a;
+  this.changes = [];
+  this.significant = null != b ? b : !0
 }
 mxUndoableEdit.prototype.source = null;
 mxUndoableEdit.prototype.changes = null;
@@ -3044,48 +3075,48 @@ mxUndoableEdit.prototype.significant = null;
 mxUndoableEdit.prototype.undone = !1;
 mxUndoableEdit.prototype.redone = !1;
 mxUndoableEdit.prototype.isEmpty = function() {
-    return 0 == this.changes.length
+  return 0 == this.changes.length
 };
 mxUndoableEdit.prototype.isSignificant = function() {
-    return this.significant
+  return this.significant
 };
 mxUndoableEdit.prototype.add = function(a) {
-    this.changes.push(a)
+  this.changes.push(a)
 };
 mxUndoableEdit.prototype.notify = function() {};
 mxUndoableEdit.prototype.die = function() {};
 mxUndoableEdit.prototype.undo = function() {
-    if (!this.undone) {
-        this.source.fireEvent(new mxEventObject(mxEvent.START_EDIT));
-        for (var a = this.changes.length - 1; 0 <= a; a--) {
-            var b = this.changes[a];
-            null != b.execute ? b.execute() : null != b.undo && b.undo();
-            this.source.fireEvent(new mxEventObject(mxEvent.EXECUTED, "change", b))
-        }
-        this.undone = !0;
-        this.redone = !1;
-        this.source.fireEvent(new mxEventObject(mxEvent.END_EDIT))
-    }
-    this.notify()
+  if (!this.undone) {
+    this.source.fireEvent(new mxEventObject(mxEvent.START_EDIT));
+    for (var a = this.changes.length - 1; 0 <= a; a--) {
+      var b = this.changes[a];
+      null != b.execute ? b.execute() : null != b.undo && b.undo();
+      this.source.fireEvent(new mxEventObject(mxEvent.EXECUTED, "change", b))
+    }
+    this.undone = !0;
+    this.redone = !1;
+    this.source.fireEvent(new mxEventObject(mxEvent.END_EDIT))
+  }
+  this.notify()
 };
 mxUndoableEdit.prototype.redo = function() {
-    if (!this.redone) {
-        this.source.fireEvent(new mxEventObject(mxEvent.START_EDIT));
-        for (var a = this.changes.length, b = 0; b < a; b++) {
-            var c = this.changes[b];
-            null != c.execute ? c.execute() : null != c.redo && c.redo();
-            this.source.fireEvent(new mxEventObject(mxEvent.EXECUTED, "change", c))
-        }
-        this.undone = !1;
-        this.redone = !0;
-        this.source.fireEvent(new mxEventObject(mxEvent.END_EDIT))
-    }
-    this.notify()
+  if (!this.redone) {
+    this.source.fireEvent(new mxEventObject(mxEvent.START_EDIT));
+    for (var a = this.changes.length, b = 0; b < a; b++) {
+      var c = this.changes[b];
+      null != c.execute ? c.execute() : null != c.redo && c.redo();
+      this.source.fireEvent(new mxEventObject(mxEvent.EXECUTED, "change", c))
+    }
+    this.undone = !1;
+    this.redone = !0;
+    this.source.fireEvent(new mxEventObject(mxEvent.END_EDIT))
+  }
+  this.notify()
 };
 
 function mxUndoManager(a) {
-    this.size = null != a ? a : 100;
-    this.clear()
+  this.size = null != a ? a : 100;
+  this.clear()
 }
 mxUndoManager.prototype = new mxEventSource;
 mxUndoManager.prototype.constructor = mxUndoManager;
@@ -3093,168 +3124,169 @@ mxUndoManager.prototype.size = null;
 mxUndoManager.prototype.history = null;
 mxUndoManager.prototype.indexOfNextAdd = 0;
 mxUndoManager.prototype.isEmpty = function() {
-    return 0 == this.history.length
+  return 0 == this.history.length
 };
 mxUndoManager.prototype.clear = function() {
-    this.history = [];
-    this.indexOfNextAdd = 0;
-    this.fireEvent(new mxEventObject(mxEvent.CLEAR))
+  this.history = [];
+  this.indexOfNextAdd = 0;
+  this.fireEvent(new mxEventObject(mxEvent.CLEAR))
 };
 mxUndoManager.prototype.canUndo = function() {
-    return 0 < this.indexOfNextAdd
+  return 0 < this.indexOfNextAdd
 };
 mxUndoManager.prototype.undo = function() {
-    for (; 0 < this.indexOfNextAdd;) {
-        var a = this.history[--this.indexOfNextAdd];
-        a.undo();
-        if (a.isSignificant()) {
-            this.fireEvent(new mxEventObject(mxEvent.UNDO, "edit", a));
-            break
-        }
+  for (; 0 < this.indexOfNextAdd;) {
+    var a = this.history[--this.indexOfNextAdd];
+    a.undo();
+    if (a.isSignificant()) {
+      this.fireEvent(new mxEventObject(mxEvent.UNDO, "edit", a));
+      break
     }
+  }
 };
 mxUndoManager.prototype.canRedo = function() {
-    return this.indexOfNextAdd < this.history.length
+  return this.indexOfNextAdd < this.history.length
 };
 mxUndoManager.prototype.redo = function() {
-    for (var a = this.history.length; this.indexOfNextAdd < a;) {
-        var b = this.history[this.indexOfNextAdd++];
-        b.redo();
-        if (b.isSignificant()) {
-            this.fireEvent(new mxEventObject(mxEvent.REDO, "edit", b));
-            break
-        }
+  for (var a = this.history.length; this.indexOfNextAdd < a;) {
+    var b = this.history[this.indexOfNextAdd++];
+    b.redo();
+    if (b.isSignificant()) {
+      this.fireEvent(new mxEventObject(mxEvent.REDO, "edit", b));
+      break
     }
+  }
 };
 mxUndoManager.prototype.undoableEditHappened = function(a) {
-    this.trim();
-    0 < this.size && this.size == this.history.length && this.history.shift();
-    this.history.push(a);
-    this.indexOfNextAdd = this.history.length;
-    this.fireEvent(new mxEventObject(mxEvent.ADD, "edit", a))
+  this.trim();
+  0 < this.size && this.size == this.history.length && this.history.shift();
+  this.history.push(a);
+  this.indexOfNextAdd = this.history.length;
+  this.fireEvent(new mxEventObject(mxEvent.ADD, "edit", a))
 };
 mxUndoManager.prototype.trim = function() {
-    if (this.history.length > this.indexOfNextAdd)
-        for (var a = this.history.splice(this.indexOfNextAdd, this.history.length - this.indexOfNextAdd), b = 0; b < a.length; b++) a[b].die()
+  if (this.history.length > this.indexOfNextAdd)
+    for (var a = this.history.splice(this.indexOfNextAdd, this.history.length - this.indexOfNextAdd), b = 0; b < a.length; b++) a[b].die()
 };
 var mxUrlConverter = function(a) {
-    var b = !0,
-        c = null,
-        d = null;
-    return {
-        isEnabled: function() {
-            return b
-        },
-        setEnabled: function(a) {
-            b = a
-        },
-        getBaseUrl: function() {
-            return c
-        },
-        setBaseUrl: function(a) {
-            c = a
-        },
-        getBaseDomain: function() {
-            return c
-        },
-        setBaseDomain: function(a) {
-            c = a
-        },
-        isRelativeUrl: function(a) {
-            return "http://" != a.substring(0, 7) && "https://" != a.substring(0, 8) && "data:image" != a.substring(0, 10)
-        },
-        convert: function(a) {
-            if (b && this.isRelativeUrl(a)) {
-                if (null == c) {
-                    d = location.protocol + "//" + location.host;
-                    c = d + location.pathname;
-                    var f = c.lastIndexOf("/");
-                    0 < f && (c = c.substring(0, f + 1))
-                }
-                a = "/" == a.charAt(0) ? d + a : c + a
-            }
-            return a
+  var b = !0,
+    c = null,
+    d = null;
+  return {
+    isEnabled: function() {
+      return b
+    },
+    setEnabled: function(a) {
+      b = a
+    },
+    getBaseUrl: function() {
+      return c
+    },
+    setBaseUrl: function(a) {
+      c = a
+    },
+    getBaseDomain: function() {
+      return c
+    },
+    setBaseDomain: function(a) {
+      c = a
+    },
+    isRelativeUrl: function(a) {
+      return "http://" != a.substring(0, 7) && "https://" != a.substring(0, 8) && "data:image" != a.substring(0, 10)
+    },
+    convert: function(a) {
+      if (b && this.isRelativeUrl(a)) {
+        if (null == c) {
+          d = location.protocol + "//" + location.host;
+          c = d + location.pathname;
+          var f = c.lastIndexOf("/");
+          0 < f && (c = c.substring(0, f + 1))
         }
+        a = "/" == a.charAt(0) ? d + a : c + a
+      }
+      return a
     }
+  }
 };
 
 function mxPanningManager(a) {
-    this.thread = null;
-    this.active = !1;
-    this.dy = this.dx = this.t0y = this.t0x = this.tdy = this.tdx = 0;
-    this.scrollbars = !1;
-    this.scrollTop = this.scrollLeft = 0;
-    this.mouseListener = {
-        mouseDown: function(a, b) {},
-        mouseMove: function(a, b) {},
-        mouseUp: mxUtils.bind(this, function(a, b) {
-            this.active && this.stop()
-        })
-    };
-    a.addMouseListener(this.mouseListener);
-    mxEvent.addListener(document, "mouseup", mxUtils.bind(this, function() {
-        this.active && this.stop()
-    }));
-    var b = mxUtils.bind(this, function() {
-        this.scrollbars = mxUtils.hasScrollbars(a.container);
-        this.scrollLeft = a.container.scrollLeft;
-        this.scrollTop = a.container.scrollTop;
-        return window.setInterval(mxUtils.bind(this, function() {
-            this.tdx -= this.dx;
-            this.tdy -= this.dy;
-            if (this.scrollbars) {
-                var b = -a.container.scrollLeft - Math.ceil(this.dx),
-                    d = -a.container.scrollTop - Math.ceil(this.dy);
-                a.panGraph(b, d);
-                a.panDx = this.scrollLeft - a.container.scrollLeft;
-                a.panDy = this.scrollTop - a.container.scrollTop;
-                a.fireEvent(new mxEventObject(mxEvent.PAN))
-            } else a.panGraph(this.getDx(), this.getDy())
-        }), this.delay)
-    });
-    this.isActive =
-        function() {
-            return active
-        };
-    this.getDx = function() {
-        return Math.round(this.tdx)
-    };
-    this.getDy = function() {
-        return Math.round(this.tdy)
-    };
-    this.start = function() {
-        this.t0x = a.view.translate.x;
-        this.t0y = a.view.translate.y;
-        this.active = !0
-    };
-    this.panTo = function(c, d, e, f) {
-        this.active || this.start();
-        this.scrollLeft = a.container.scrollLeft;
-        this.scrollTop = a.container.scrollTop;
-        f = null != f ? f : 0;
-        var g = a.container;
-        this.dx = c + (null != e ? e : 0) - g.scrollLeft - g.clientWidth;
-        0 > this.dx && Math.abs(this.dx) < this.border ? this.dx = this.border + this.dx :
-            this.dx = this.handleMouseOut ? Math.max(this.dx, 0) : 0;
-        0 == this.dx && (this.dx = c - g.scrollLeft, this.dx = 0 < this.dx && this.dx < this.border ? this.dx - this.border : this.handleMouseOut ? Math.min(0, this.dx) : 0);
-        this.dy = d + f - g.scrollTop - g.clientHeight;
-        0 > this.dy && Math.abs(this.dy) < this.border ? this.dy = this.border + this.dy : this.dy = this.handleMouseOut ? Math.max(this.dy, 0) : 0;
-        0 == this.dy && (this.dy = d - g.scrollTop, this.dy = 0 < this.dy && this.dy < this.border ? this.dy - this.border : this.handleMouseOut ? Math.min(0, this.dy) : 0);
-        0 != this.dx || 0 != this.dy ?
-            (this.dx *= this.damper, this.dy *= this.damper, null == this.thread && (this.thread = b())) : null != this.thread && (window.clearInterval(this.thread), this.thread = null)
-    };
-    this.stop = function() {
-        if (this.active)
-            if (this.active = !1, null != this.thread && (window.clearInterval(this.thread), this.thread = null), this.tdy = this.tdx = 0, this.scrollbars) a.panDx = 0, a.panDy = 0, a.fireEvent(new mxEventObject(mxEvent.PAN));
-            else {
-                var b = a.panDx,
-                    d = a.panDy;
-                if (0 != b || 0 != d) a.panGraph(0, 0), a.view.setTranslate(this.t0x + b / a.view.scale, this.t0y + d / a.view.scale)
-            }
+  this.thread = null;
+  this.active = !1;
+  this.dy = this.dx = this.t0y = this.t0x = this.tdy = this.tdx = 0;
+  this.scrollbars = !1;
+  this.scrollTop = this.scrollLeft = 0;
+  this.mouseListener = {
+    mouseDown: function(a, b) {},
+    mouseMove: function(a, b) {},
+    mouseUp: mxUtils.bind(this, function(a, b) {
+      this.active && this.stop()
+    })
+  };
+  a.addMouseListener(this.mouseListener);
+  mxEvent.addListener(document, "mouseup", mxUtils.bind(this, function() {
+    this.active && this.stop()
+  }));
+  var b = mxUtils.bind(this, function() {
+    this.scrollbars = mxUtils.hasScrollbars(a.container);
+    this.scrollLeft = a.container.scrollLeft;
+    this.scrollTop = a.container.scrollTop;
+    return window.setInterval(mxUtils.bind(this, function() {
+      this.tdx -= this.dx;
+      this.tdy -= this.dy;
+      if (this.scrollbars) {
+        var b = -a.container.scrollLeft - Math.ceil(this.dx),
+          d = -a.container.scrollTop - Math.ceil(this.dy);
+        a.panGraph(b, d);
+        a.panDx = this.scrollLeft - a.container.scrollLeft;
+        a.panDy = this.scrollTop - a.container.scrollTop;
+        a.fireEvent(new mxEventObject(mxEvent.PAN))
+      } else a.panGraph(this.getDx(), this.getDy())
+    }), this.delay)
+  });
+  this.isActive =
+    function() {
+      return active
     };
-    this.destroy = function() {
-        a.removeMouseListener(this.mouseListener)
-    }
+  this.getDx = function() {
+    return Math.round(this.tdx)
+  };
+  this.getDy = function() {
+    return Math.round(this.tdy)
+  };
+  this.start = function() {
+    this.t0x = a.view.translate.x;
+    this.t0y = a.view.translate.y;
+    this.active = !0
+  };
+  this.panTo = function(c, d, e, f) {
+    this.active || this.start();
+    this.scrollLeft = a.container.scrollLeft;
+    this.scrollTop = a.container.scrollTop;
+    f = null != f ? f : 0;
+    var g = a.container;
+    this.dx = c + (null != e ? e : 0) - g.scrollLeft - g.clientWidth;
+    0 > this.dx && Math.abs(this.dx) < this.border ? this.dx = this.border + this.dx :
+      this.dx = this.handleMouseOut ? Math.max(this.dx, 0) : 0;
+    0 == this.dx && (this.dx = c - g.scrollLeft, this.dx = 0 < this.dx && this.dx < this.border ? this.dx - this.border : this.handleMouseOut ? Math.min(0, this.dx) : 0);
+    this.dy = d + f - g.scrollTop - g.clientHeight;
+    0 > this.dy && Math.abs(this.dy) < this.border ? this.dy = this.border + this.dy : this.dy = this.handleMouseOut ? Math.max(this.dy, 0) : 0;
+    0 == this.dy && (this.dy = d - g.scrollTop, this.dy = 0 < this.dy && this.dy < this.border ? this.dy - this.border : this.handleMouseOut ? Math.min(0, this.dy) : 0);
+    0 != this.dx || 0 != this.dy ?
+      (this.dx *= this.damper, this.dy *= this.damper, null == this.thread && (this.thread = b())) : null != this.thread && (window.clearInterval(this.thread), this.thread = null)
+  };
+  this.stop = function() {
+    if (this.active)
+      if (this.active = !1, null != this.thread && (window.clearInterval(this.thread), this.thread = null), this.tdy = this.tdx = 0, this.scrollbars) a.panDx = 0, a.panDy = 0, a.fireEvent(new mxEventObject(
+        mxEvent.PAN));
+      else {
+        var b = a.panDx,
+          d = a.panDy;
+        if (0 != b || 0 != d) a.panGraph(0, 0), a.view.setTranslate(this.t0x + b / a.view.scale, this.t0y + d / a.view.scale)
+      }
+  };
+  this.destroy = function() {
+    a.removeMouseListener(this.mouseListener)
+  }
 }
 mxPanningManager.prototype.damper = 1 / 6;
 mxPanningManager.prototype.delay = 10;
@@ -3262,8 +3294,8 @@ mxPanningManager.prototype.handleMouseOut = !0;
 mxPanningManager.prototype.border = 0;
 
 function mxPopupMenu(a) {
-    this.factoryMethod = a;
-    null != a && this.init()
+  this.factoryMethod = a;
+  null != a && this.init()
 }
 mxPopupMenu.prototype = new mxEventSource;
 mxPopupMenu.prototype.constructor = mxPopupMenu;
@@ -3277,139 +3309,141 @@ mxPopupMenu.prototype.autoExpand = !1;
 mxPopupMenu.prototype.smartSeparators = !1;
 mxPopupMenu.prototype.labels = !0;
 mxPopupMenu.prototype.init = function() {
-    this.table = document.createElement("table");
-    this.table.className = "mxPopupMenu";
-    this.tbody = document.createElement("tbody");
-    this.table.appendChild(this.tbody);
-    this.div = document.createElement("div");
-    this.div.className = "mxPopupMenu";
-    this.div.style.display = "inline";
-    this.div.style.zIndex = this.zIndex;
-    this.div.appendChild(this.table);
-    mxEvent.disableContextMenu(this.div)
+  this.table = document.createElement("table");
+  this.table.className = "mxPopupMenu";
+  this.tbody = document.createElement("tbody");
+  this.table.appendChild(this.tbody);
+  this.div = document.createElement("div");
+  this.div.className = "mxPopupMenu";
+  this.div.style.display = "inline";
+  this.div.style.zIndex = this.zIndex;
+  this.div.appendChild(this.table);
+  mxEvent.disableContextMenu(this.div)
 };
 mxPopupMenu.prototype.isEnabled = function() {
-    return this.enabled
+  return this.enabled
 };
 mxPopupMenu.prototype.setEnabled = function(a) {
-    this.enabled = a
+  this.enabled = a
 };
 mxPopupMenu.prototype.isPopupTrigger = function(a) {
-    return a.isPopupTrigger() || this.useLeftButtonForPopup && mxEvent.isLeftMouseButton(a.getEvent())
+  return a.isPopupTrigger() || this.useLeftButtonForPopup && mxEvent.isLeftMouseButton(a.getEvent())
 };
 mxPopupMenu.prototype.addItem = function(a, b, c, d, e, f) {
-    d = d || this;
-    this.itemCount++;
-    d.willAddSeparator && (d.containsItems && this.addSeparator(d, !0), d.willAddSeparator = !1);
-    d.containsItems = !0;
-    var g = document.createElement("tr");
-    g.className = "mxPopupMenuItem";
-    var h = document.createElement("td");
-    h.className = "mxPopupMenuIcon";
-    null != b ? (e = document.createElement("img"), e.src = b, h.appendChild(e)) : null != e && (b = document.createElement("div"), b.className = e, h.appendChild(b));
-    g.appendChild(h);
-    this.labels && (h = document.createElement("td"),
-        h.className = "mxPopupMenuItem" + (null != f && !f ? " disabled" : ""), mxUtils.write(h, a), h.align = "left", g.appendChild(h), a = document.createElement("td"), a.className = "mxPopupMenuItem" + (null != f && !f ? " disabled" : ""), a.style.paddingRight = "6px", a.style.textAlign = "right", g.appendChild(a), null == d.div && this.createSubmenu(d));
-    d.tbody.appendChild(g);
-    if (null == f || f) mxEvent.addGestureListeners(g, mxUtils.bind(this, function(a) {
-        this.eventReceiver = g;
-        d.activeRow != g && d.activeRow != d && (null != d.activeRow && null != d.activeRow.div.parentNode &&
-            this.hideSubmenu(d), null != g.div && (this.showSubmenu(d, g), d.activeRow = g));
-        mxEvent.consume(a)
-    }), mxUtils.bind(this, function(a) {
-        d.activeRow != g && d.activeRow != d && (null != d.activeRow && null != d.activeRow.div.parentNode && this.hideSubmenu(d), this.autoExpand && null != g.div && (this.showSubmenu(d, g), d.activeRow = g));
-        g.className = "mxPopupMenuItemHover"
-    }), mxUtils.bind(this, function(a) {
-        this.eventReceiver == g && (d.activeRow != g && this.hideMenu(), null != c && c(a));
-        this.eventReceiver = null;
-        mxEvent.consume(a)
-    })), mxEvent.addListener(g,
-        "mouseout", mxUtils.bind(this, function(a) {
-            g.className = "mxPopupMenuItem"
-        }));
-    return g
+  d = d || this;
+  this.itemCount++;
+  d.willAddSeparator && (d.containsItems && this.addSeparator(d, !0), d.willAddSeparator = !1);
+  d.containsItems = !0;
+  var g = document.createElement("tr");
+  g.className = "mxPopupMenuItem";
+  var h = document.createElement("td");
+  h.className = "mxPopupMenuIcon";
+  null != b ? (e = document.createElement("img"), e.src = b, h.appendChild(e)) : null != e && (b = document.createElement("div"), b.className = e, h.appendChild(b));
+  g.appendChild(h);
+  this.labels && (h = document.createElement("td"),
+    h.className = "mxPopupMenuItem" + (null != f && !f ? " disabled" : ""), mxUtils.write(h, a), h.align = "left", g.appendChild(h), a = document.createElement("td"), a.className =
+    "mxPopupMenuItem" + (null != f && !f ? " disabled" : ""), a.style.paddingRight = "6px", a.style.textAlign = "right", g.appendChild(a), null == d.div && this.createSubmenu(d));
+  d.tbody.appendChild(g);
+  if (null == f || f) mxEvent.addGestureListeners(g, mxUtils.bind(this, function(a) {
+    this.eventReceiver = g;
+    d.activeRow != g && d.activeRow != d && (null != d.activeRow && null != d.activeRow.div.parentNode &&
+      this.hideSubmenu(d), null != g.div && (this.showSubmenu(d, g), d.activeRow = g));
+    mxEvent.consume(a)
+  }), mxUtils.bind(this, function(a) {
+    d.activeRow != g && d.activeRow != d && (null != d.activeRow && null != d.activeRow.div.parentNode && this.hideSubmenu(d), this.autoExpand && null != g.div && (this.showSubmenu(d, g), d.activeRow =
+      g));
+    g.className = "mxPopupMenuItemHover"
+  }), mxUtils.bind(this, function(a) {
+    this.eventReceiver == g && (d.activeRow != g && this.hideMenu(), null != c && c(a));
+    this.eventReceiver = null;
+    mxEvent.consume(a)
+  })), mxEvent.addListener(g,
+    "mouseout", mxUtils.bind(this, function(a) {
+      g.className = "mxPopupMenuItem"
+    }));
+  return g
 };
 mxPopupMenu.prototype.createSubmenu = function(a) {
-    a.table = document.createElement("table");
-    a.table.className = "mxPopupMenu";
-    a.tbody = document.createElement("tbody");
-    a.table.appendChild(a.tbody);
-    a.div = document.createElement("div");
-    a.div.className = "mxPopupMenu";
-    a.div.style.position = "absolute";
-    a.div.style.display = "inline";
-    a.div.style.zIndex = this.zIndex;
-    a.div.appendChild(a.table);
-    var b = document.createElement("img");
-    b.setAttribute("src", this.submenuImage);
-    td = a.firstChild.nextSibling.nextSibling;
-    td.appendChild(b)
+  a.table = document.createElement("table");
+  a.table.className = "mxPopupMenu";
+  a.tbody = document.createElement("tbody");
+  a.table.appendChild(a.tbody);
+  a.div = document.createElement("div");
+  a.div.className = "mxPopupMenu";
+  a.div.style.position = "absolute";
+  a.div.style.display = "inline";
+  a.div.style.zIndex = this.zIndex;
+  a.div.appendChild(a.table);
+  var b = document.createElement("img");
+  b.setAttribute("src", this.submenuImage);
+  td = a.firstChild.nextSibling.nextSibling;
+  td.appendChild(b)
 };
 mxPopupMenu.prototype.showSubmenu = function(a, b) {
-    if (null != b.div) {
-        b.div.style.left = a.div.offsetLeft + b.offsetLeft + b.offsetWidth - 1 + "px";
-        b.div.style.top = a.div.offsetTop + b.offsetTop + "px";
-        document.body.appendChild(b.div);
-        var c = parseInt(b.div.offsetLeft),
-            d = parseInt(b.div.offsetWidth),
-            e = document.body,
-            f = document.documentElement;
-        if (c + d > (e.scrollLeft || f.scrollLeft) + (e.clientWidth || f.clientWidth)) b.div.style.left = a.div.offsetLeft - d + (mxClient.IS_IE ? 6 : -6) + "px";
-        mxUtils.fit(b.div)
-    }
+  if (null != b.div) {
+    b.div.style.left = a.div.offsetLeft + b.offsetLeft + b.offsetWidth - 1 + "px";
+    b.div.style.top = a.div.offsetTop + b.offsetTop + "px";
+    document.body.appendChild(b.div);
+    var c = parseInt(b.div.offsetLeft),
+      d = parseInt(b.div.offsetWidth),
+      e = document.body,
+      f = document.documentElement;
+    if (c + d > (e.scrollLeft || f.scrollLeft) + (e.clientWidth || f.clientWidth)) b.div.style.left = a.div.offsetLeft - d + (mxClient.IS_IE ? 6 : -6) + "px";
+    mxUtils.fit(b.div)
+  }
 };
 mxPopupMenu.prototype.addSeparator = function(a, b) {
-    a = a || this;
-    if (this.smartSeparators && !b) a.willAddSeparator = !0;
-    else if (null != a.tbody) {
-        a.willAddSeparator = !1;
-        var c = document.createElement("tr"),
-            d = document.createElement("td");
-        d.className = "mxPopupMenuIcon";
-        d.style.padding = "0 0 0 0px";
-        c.appendChild(d);
-        d = document.createElement("td");
-        d.style.padding = "0 0 0 0px";
-        d.setAttribute("colSpan", "2");
-        var e = document.createElement("hr");
-        e.setAttribute("size", "1");
-        d.appendChild(e);
-        c.appendChild(d);
-        a.tbody.appendChild(c)
-    }
+  a = a || this;
+  if (this.smartSeparators && !b) a.willAddSeparator = !0;
+  else if (null != a.tbody) {
+    a.willAddSeparator = !1;
+    var c = document.createElement("tr"),
+      d = document.createElement("td");
+    d.className = "mxPopupMenuIcon";
+    d.style.padding = "0 0 0 0px";
+    c.appendChild(d);
+    d = document.createElement("td");
+    d.style.padding = "0 0 0 0px";
+    d.setAttribute("colSpan", "2");
+    var e = document.createElement("hr");
+    e.setAttribute("size", "1");
+    d.appendChild(e);
+    c.appendChild(d);
+    a.tbody.appendChild(c)
+  }
 };
 mxPopupMenu.prototype.popup = function(a, b, c, d) {
-    if (null != this.div && null != this.tbody && null != this.factoryMethod) {
-        this.div.style.left = a + "px";
-        for (this.div.style.top = b + "px"; null != this.tbody.firstChild;) mxEvent.release(this.tbody.firstChild), this.tbody.removeChild(this.tbody.firstChild);
-        this.itemCount = 0;
-        this.factoryMethod(this, c, d);
-        0 < this.itemCount && (this.showMenu(), this.fireEvent(new mxEventObject(mxEvent.SHOW)))
-    }
+  if (null != this.div && null != this.tbody && null != this.factoryMethod) {
+    this.div.style.left = a + "px";
+    for (this.div.style.top = b + "px"; null != this.tbody.firstChild;) mxEvent.release(this.tbody.firstChild), this.tbody.removeChild(this.tbody.firstChild);
+    this.itemCount = 0;
+    this.factoryMethod(this, c, d);
+    0 < this.itemCount && (this.showMenu(), this.fireEvent(new mxEventObject(mxEvent.SHOW)))
+  }
 };
 mxPopupMenu.prototype.isMenuShowing = function() {
-    return null != this.div && this.div.parentNode == document.body
+  return null != this.div && this.div.parentNode == document.body
 };
 mxPopupMenu.prototype.showMenu = function() {
-    9 <= document.documentMode && (this.div.style.filter = "none");
-    document.body.appendChild(this.div);
-    mxUtils.fit(this.div)
+  9 <= document.documentMode && (this.div.style.filter = "none");
+  document.body.appendChild(this.div);
+  mxUtils.fit(this.div)
 };
 mxPopupMenu.prototype.hideMenu = function() {
-    null != this.div && (null != this.div.parentNode && this.div.parentNode.removeChild(this.div), this.hideSubmenu(this), this.containsItems = !1)
+  null != this.div && (null != this.div.parentNode && this.div.parentNode.removeChild(this.div), this.hideSubmenu(this), this.containsItems = !1)
 };
 mxPopupMenu.prototype.hideSubmenu = function(a) {
-    null != a.activeRow && (this.hideSubmenu(a.activeRow), null != a.activeRow.div.parentNode && a.activeRow.div.parentNode.removeChild(a.activeRow.div), a.activeRow = null)
+  null != a.activeRow && (this.hideSubmenu(a.activeRow), null != a.activeRow.div.parentNode && a.activeRow.div.parentNode.removeChild(a.activeRow.div), a.activeRow = null)
 };
 mxPopupMenu.prototype.destroy = function() {
-    null != this.div && (mxEvent.release(this.div), null != this.div.parentNode && this.div.parentNode.removeChild(this.div), this.div = null)
+  null != this.div && (mxEvent.release(this.div), null != this.div.parentNode && this.div.parentNode.removeChild(this.div), this.div = null)
 };
 
 function mxAutoSaveManager(a) {
-    this.changeHandler = mxUtils.bind(this, function(a, c) {
-        this.isEnabled() && this.graphModelChanged(c.getProperty("edit").changes)
-    });
-    this.setGraph(a)
+  this.changeHandler = mxUtils.bind(this, function(a, c) {
+    this.isEnabled() && this.graphModelChanged(c.getProperty("edit").changes)
+  });
+  this.setGraph(a)
 }
 mxAutoSaveManager.prototype = new mxEventSource;
 mxAutoSaveManager.prototype.constructor = mxAutoSaveManager;
@@ -3422,51 +3456,51 @@ mxAutoSaveManager.prototype.lastSnapshot = 0;
 mxAutoSaveManager.prototype.enabled = !0;
 mxAutoSaveManager.prototype.changeHandler = null;
 mxAutoSaveManager.prototype.isEnabled = function() {
-    return this.enabled
+  return this.enabled
 };
 mxAutoSaveManager.prototype.setEnabled = function(a) {
-    this.enabled = a
+  this.enabled = a
 };
 mxAutoSaveManager.prototype.setGraph = function(a) {
-    null != this.graph && this.graph.getModel().removeListener(this.changeHandler);
-    this.graph = a;
-    null != this.graph && this.graph.getModel().addListener(mxEvent.CHANGE, this.changeHandler)
+  null != this.graph && this.graph.getModel().removeListener(this.changeHandler);
+  this.graph = a;
+  null != this.graph && this.graph.getModel().addListener(mxEvent.CHANGE, this.changeHandler)
 };
 mxAutoSaveManager.prototype.save = function() {};
 mxAutoSaveManager.prototype.graphModelChanged = function(a) {
-    a = ((new Date).getTime() - this.lastSnapshot) / 1E3;
-    a > this.autoSaveDelay || this.ignoredChanges >= this.autoSaveThreshold && a > this.autoSaveThrottle ? (this.save(), this.reset()) : this.ignoredChanges++
+  a = ((new Date).getTime() - this.lastSnapshot) / 1E3;
+  a > this.autoSaveDelay || this.ignoredChanges >= this.autoSaveThreshold && a > this.autoSaveThrottle ? (this.save(), this.reset()) : this.ignoredChanges++
 };
 mxAutoSaveManager.prototype.reset = function() {
-    this.lastSnapshot = (new Date).getTime();
-    this.ignoredChanges = 0
+  this.lastSnapshot = (new Date).getTime();
+  this.ignoredChanges = 0
 };
 mxAutoSaveManager.prototype.destroy = function() {
-    this.setGraph(null)
+  this.setGraph(null)
 };
 
 function mxAnimation(a) {
-    this.delay = null != a ? a : 20
+  this.delay = null != a ? a : 20
 }
 mxAnimation.prototype = new mxEventSource;
 mxAnimation.prototype.constructor = mxAnimation;
 mxAnimation.prototype.delay = null;
 mxAnimation.prototype.thread = null;
 mxAnimation.prototype.startAnimation = function() {
-    null == this.thread && (this.thread = window.setInterval(mxUtils.bind(this, this.updateAnimation), this.delay))
+  null == this.thread && (this.thread = window.setInterval(mxUtils.bind(this, this.updateAnimation), this.delay))
 };
 mxAnimation.prototype.updateAnimation = function() {
-    this.fireEvent(new mxEventObject(mxEvent.EXECUTE))
+  this.fireEvent(new mxEventObject(mxEvent.EXECUTE))
 };
 mxAnimation.prototype.stopAnimation = function() {
-    null != this.thread && (window.clearInterval(this.thread), this.thread = null, this.fireEvent(new mxEventObject(mxEvent.DONE)))
+  null != this.thread && (window.clearInterval(this.thread), this.thread = null, this.fireEvent(new mxEventObject(mxEvent.DONE)))
 };
 
 function mxMorphing(a, b, c, d) {
-    mxAnimation.call(this, d);
-    this.graph = a;
-    this.steps = null != b ? b : 6;
-    this.ease = null != c ? c : 1.5
+  mxAnimation.call(this, d);
+  this.graph = a;
+  this.steps = null != b ? b : 6;
+  this.ease = null != c ? c : 1.5
 }
 mxMorphing.prototype = new mxAnimation;
 mxMorphing.prototype.constructor = mxMorphing;
@@ -3476,93 +3510,93 @@ mxMorphing.prototype.step = 0;
 mxMorphing.prototype.ease = null;
 mxMorphing.prototype.cells = null;
 mxMorphing.prototype.updateAnimation = function() {
-    var a = new mxCellStatePreview(this.graph);
-    if (null != this.cells)
-        for (var b = 0; b < this.cells.length; b++) this.animateCell(cells[b], a, !1);
-    else this.animateCell(this.graph.getModel().getRoot(), a, !0);
-    this.show(a);
-    (a.isEmpty() || this.step++ >= this.steps) && this.stopAnimation()
+  var a = new mxCellStatePreview(this.graph);
+  if (null != this.cells)
+    for (var b = 0; b < this.cells.length; b++) this.animateCell(cells[b], a, !1);
+  else this.animateCell(this.graph.getModel().getRoot(), a, !0);
+  this.show(a);
+  (a.isEmpty() || this.step++ >= this.steps) && this.stopAnimation()
 };
 mxMorphing.prototype.show = function(a) {
-    a.show()
+  a.show()
 };
 mxMorphing.prototype.animateCell = function(a, b, c) {
-    var d = this.graph.getView().getState(a),
-        e = null;
-    if (null != d && (e = this.getDelta(d), this.graph.getModel().isVertex(a) && (0 != e.x || 0 != e.y))) {
-        var f = this.graph.view.getTranslate(),
-            g = this.graph.view.getScale();
-        e.x += f.x * g;
-        e.y += f.y * g;
-        b.moveState(d, -e.x / this.ease, -e.y / this.ease)
-    }
-    if (c && !this.stopRecursion(d, e)) {
-        d = this.graph.getModel().getChildCount(a);
-        for (e = 0; e < d; e++) this.animateCell(this.graph.getModel().getChildAt(a, e), b, c)
-    }
+  var d = this.graph.getView().getState(a),
+    e = null;
+  if (null != d && (e = this.getDelta(d), this.graph.getModel().isVertex(a) && (0 != e.x || 0 != e.y))) {
+    var f = this.graph.view.getTranslate(),
+      g = this.graph.view.getScale();
+    e.x += f.x * g;
+    e.y += f.y * g;
+    b.moveState(d, -e.x / this.ease, -e.y / this.ease)
+  }
+  if (c && !this.stopRecursion(d, e)) {
+    d = this.graph.getModel().getChildCount(a);
+    for (e = 0; e < d; e++) this.animateCell(this.graph.getModel().getChildAt(a, e), b, c)
+  }
 };
 mxMorphing.prototype.stopRecursion = function(a, b) {
-    return null != b && (0 != b.x || 0 != b.y)
+  return null != b && (0 != b.x || 0 != b.y)
 };
 mxMorphing.prototype.getDelta = function(a) {
-    var b = this.getOriginForCell(a.cell),
-        c = this.graph.getView().getTranslate(),
-        d = this.graph.getView().getScale();
-    a = new mxPoint(a.x / d - c.x, a.y / d - c.y);
-    return new mxPoint((b.x - a.x) * d, (b.y - a.y) * d)
+  var b = this.getOriginForCell(a.cell),
+    c = this.graph.getView().getTranslate(),
+    d = this.graph.getView().getScale();
+  a = new mxPoint(a.x / d - c.x, a.y / d - c.y);
+  return new mxPoint((b.x - a.x) * d, (b.y - a.y) * d)
 };
 mxMorphing.prototype.getOriginForCell = function(a) {
-    var b = null;
-    null != a && (b = this.getOriginForCell(this.graph.getModel().getParent(a)), a = this.graph.getCellGeometry(a), null != a && (b.x += a.x, b.y += a.y));
-    null == b && (b = this.graph.view.getTranslate(), b = new mxPoint(-b.x, -b.y));
-    return b
+  var b = null;
+  null != a && (b = this.getOriginForCell(this.graph.getModel().getParent(a)), a = this.graph.getCellGeometry(a), null != a && (b.x += a.x, b.y += a.y));
+  null == b && (b = this.graph.view.getTranslate(), b = new mxPoint(-b.x, -b.y));
+  return b
 };
 
 function mxImageBundle(a) {
-    this.images = [];
-    this.alt = null != a ? a : !1
+  this.images = [];
+  this.alt = null != a ? a : !1
 }
 mxImageBundle.prototype.images = null;
 mxImageBundle.prototype.images = null;
 mxImageBundle.prototype.putImage = function(a, b, c) {
-    this.images[a] = {
-        value: b,
-        fallback: c
-    }
+  this.images[a] = {
+    value: b,
+    fallback: c
+  }
 };
 mxImageBundle.prototype.getImage = function(a) {
-    var b = null;
-    null != a && (a = this.images[a], null != a && (b = this.alt ? a.fallback : a.value));
-    return b
+  var b = null;
+  null != a && (a = this.images[a], null != a && (b = this.alt ? a.fallback : a.value));
+  return b
 };
 
 function mxImageExport() {}
 mxImageExport.prototype.includeOverlays = !1;
 mxImageExport.prototype.drawState = function(a, b) {
-    null != a && (this.visitStatesRecursive(a, b, this.drawCellState), this.includeOverlays && this.visitStatesRecursive(a, b, this.drawOverlays))
+  null != a && (this.visitStatesRecursive(a, b, this.drawCellState), this.includeOverlays && this.visitStatesRecursive(a, b, this.drawOverlays))
 };
 mxImageExport.prototype.visitStatesRecursive = function(a, b, c) {
-    if (null != a) {
-        c(a, b);
-        for (var d = a.view.graph, e = d.model.getChildCount(a.cell), f = 0; f < e; f++) {
-            var g = d.view.getState(d.model.getChildAt(a.cell, f));
-            this.visitStatesRecursive(g, b, c)
-        }
+  if (null != a) {
+    c(a, b);
+    for (var d = a.view.graph, e = d.model.getChildCount(a.cell), f = 0; f < e; f++) {
+      var g = d.view.getState(d.model.getChildAt(a.cell, f));
+      this.visitStatesRecursive(g, b, c)
     }
+  }
 };
 mxImageExport.prototype.drawCellState = function(a, b) {
-    a.shape instanceof mxShape && (b.save(), a.shape.paint(b), b.restore());
-    null != a.text && (b.save(), a.text.paint(b), b.restore())
+  a.shape instanceof mxShape && (b.save(), a.shape.paint(b), b.restore());
+  null != a.text && (b.save(), a.text.paint(b), b.restore())
 };
 mxImageExport.prototype.drawOverlays = function(a, b) {
-    null != a.overlays && a.overlays.visit(function(a, d) {
-        d instanceof mxShape && d.paint(b)
-    })
+  null != a.overlays && a.overlays.visit(function(a, d) {
+    d instanceof mxShape && d.paint(b)
+  })
 };
 
 function mxAbstractCanvas2D() {
-    this.converter = this.createUrlConverter();
-    this.reset()
+  this.converter = this.createUrlConverter();
+  this.reset()
 }
 mxAbstractCanvas2D.prototype.state = null;
 mxAbstractCanvas2D.prototype.states = null;
@@ -3577,563 +3611,566 @@ mxAbstractCanvas2D.prototype.curveOp = "C";
 mxAbstractCanvas2D.prototype.closeOp = "Z";
 mxAbstractCanvas2D.prototype.pointerEvents = !1;
 mxAbstractCanvas2D.prototype.createUrlConverter = function() {
-    return new mxUrlConverter
+  return new mxUrlConverter
 };
 mxAbstractCanvas2D.prototype.reset = function() {
-    this.state = this.createState();
-    this.states = []
+  this.state = this.createState();
+  this.states = []
 };
 mxAbstractCanvas2D.prototype.createState = function() {
-    return {
-        dx: 0,
-        dy: 0,
-        scale: 1,
-        alpha: 1,
-        fillColor: null,
-        fillAlpha: 1,
-        gradientColor: null,
-        gradientAlpha: 1,
-        gradientDirection: null,
-        strokeColor: null,
-        strokeWidth: 1,
-        dashed: !1,
-        dashPattern: "3 3",
-        lineCap: "flat",
-        lineJoin: "miter",
-        miterLimit: 10,
-        fontColor: "#000000",
-        fontBackgroundColor: null,
-        fontBorderColor: null,
-        fontSize: mxConstants.DEFAULT_FONTSIZE,
-        fontFamily: mxConstants.DEFAULT_FONTFAMILY,
-        fontStyle: 0,
-        shadow: !1,
-        shadowColor: mxConstants.SHADOWCOLOR,
-        shadowAlpha: mxConstants.SHADOW_OPACITY,
-        shadowDx: mxConstants.SHADOW_OFFSET_X,
-        shadowDy: mxConstants.SHADOW_OFFSET_Y,
-        rotation: 0,
-        rotationCx: 0,
-        rotationCy: 0
-    }
+  return {
+    dx: 0,
+    dy: 0,
+    scale: 1,
+    alpha: 1,
+    fillColor: null,
+    fillAlpha: 1,
+    gradientColor: null,
+    gradientAlpha: 1,
+    gradientDirection: null,
+    strokeColor: null,
+    strokeWidth: 1,
+    dashed: !1,
+    dashPattern: "3 3",
+    lineCap: "flat",
+    lineJoin: "miter",
+    miterLimit: 10,
+    fontColor: "#000000",
+    fontBackgroundColor: null,
+    fontBorderColor: null,
+    fontSize: mxConstants.DEFAULT_FONTSIZE,
+    fontFamily: mxConstants.DEFAULT_FONTFAMILY,
+    fontStyle: 0,
+    shadow: !1,
+    shadowColor: mxConstants.SHADOWCOLOR,
+    shadowAlpha: mxConstants.SHADOW_OPACITY,
+    shadowDx: mxConstants.SHADOW_OFFSET_X,
+    shadowDy: mxConstants.SHADOW_OFFSET_Y,
+    rotation: 0,
+    rotationCx: 0,
+    rotationCy: 0
+  }
 };
 mxAbstractCanvas2D.prototype.format = function(a) {
-    return Math.round(parseFloat(a))
+  return Math.round(parseFloat(a))
 };
 mxAbstractCanvas2D.prototype.addOp = function() {
-    if (null != this.path && (this.path.push(arguments[0]), 2 < arguments.length))
-        for (var a = this.state, b = 2; b < arguments.length; b += 2) this.lastX = arguments[b - 1], this.lastY = arguments[b], this.path.push(this.format((this.lastX + a.dx) * a.scale)), this.path.push(this.format((this.lastY + a.dy) * a.scale))
+  if (null != this.path && (this.path.push(arguments[0]), 2 < arguments.length))
+    for (var a = this.state, b = 2; b < arguments.length; b += 2) this.lastX = arguments[b - 1], this.lastY = arguments[b], this.path.push(this.format((this.lastX + a.dx) * a.scale)), this.path.push(
+      this.format((this.lastY + a.dy) * a.scale))
 };
 mxAbstractCanvas2D.prototype.rotatePoint = function(a, b, c, d, e) {
-    c *= Math.PI / 180;
-    return mxUtils.getRotatedPoint(new mxPoint(a, b), Math.cos(c), Math.sin(c), new mxPoint(d, e))
+  c *= Math.PI / 180;
+  return mxUtils.getRotatedPoint(new mxPoint(a, b), Math.cos(c), Math.sin(c), new mxPoint(d, e))
 };
 mxAbstractCanvas2D.prototype.save = function() {
-    this.states.push(this.state);
-    this.state = mxUtils.clone(this.state)
+  this.states.push(this.state);
+  this.state = mxUtils.clone(this.state)
 };
 mxAbstractCanvas2D.prototype.restore = function() {
-    this.state = this.states.pop()
+  this.state = this.states.pop()
 };
 mxAbstractCanvas2D.prototype.scale = function(a) {
-    this.state.scale *= a;
-    this.state.strokeWidth *= a
+  this.state.scale *= a;
+  this.state.strokeWidth *= a
 };
 mxAbstractCanvas2D.prototype.translate = function(a, b) {
-    this.state.dx += a;
-    this.state.dy += b
+  this.state.dx += a;
+  this.state.dy += b
 };
 mxAbstractCanvas2D.prototype.setAlpha = function(a) {
-    this.state.alpha = a
+  this.state.alpha = a
 };
 mxAbstractCanvas2D.prototype.setFillColor = function(a) {
-    a == mxConstants.NONE && (a = null);
-    this.state.fillColor = a;
-    this.state.gradientColor = null
+  a == mxConstants.NONE && (a = null);
+  this.state.fillColor = a;
+  this.state.gradientColor = null
 };
 mxAbstractCanvas2D.prototype.setGradient = function(a, b, c, d, e, f, g, h, k) {
-    c = this.state;
-    c.fillColor = a;
-    c.fillAlpha = null != h ? h : 1;
-    c.gradientColor = b;
-    c.gradientAlpha = null != k ? k : 1;
-    c.gradientDirection = g
+  c = this.state;
+  c.fillColor = a;
+  c.fillAlpha = null != h ? h : 1;
+  c.gradientColor = b;
+  c.gradientAlpha = null != k ? k : 1;
+  c.gradientDirection = g
 };
 mxAbstractCanvas2D.prototype.setStrokeColor = function(a) {
-    a == mxConstants.NONE && (a = null);
-    this.state.strokeColor = a
+  a == mxConstants.NONE && (a = null);
+  this.state.strokeColor = a
 };
 mxAbstractCanvas2D.prototype.setStrokeWidth = function(a) {
-    this.state.strokeWidth = a
+  this.state.strokeWidth = a
 };
 mxAbstractCanvas2D.prototype.setDashed = function(a) {
-    this.state.dashed = a
+  this.state.dashed = a
 };
 mxAbstractCanvas2D.prototype.setDashPattern = function(a) {
-    this.state.dashPattern = a
+  this.state.dashPattern = a
 };
 mxAbstractCanvas2D.prototype.setLineCap = function(a) {
-    this.state.lineCap = a
+  this.state.lineCap = a
 };
 mxAbstractCanvas2D.prototype.setLineJoin = function(a) {
-    this.state.lineJoin = a
+  this.state.lineJoin = a
 };
 mxAbstractCanvas2D.prototype.setMiterLimit = function(a) {
-    this.state.miterLimit = a
+  this.state.miterLimit = a
 };
 mxAbstractCanvas2D.prototype.setFontColor = function(a) {
-    a == mxConstants.NONE && (a = null);
-    this.state.fontColor = a
+  a == mxConstants.NONE && (a = null);
+  this.state.fontColor = a
 };
 mxAbstractCanvas2D.prototype.setFontBackgroundColor = function(a) {
-    a == mxConstants.NONE && (a = null);
-    this.state.fontBackgroundColor = a
+  a == mxConstants.NONE && (a = null);
+  this.state.fontBackgroundColor = a
 };
 mxAbstractCanvas2D.prototype.setFontBorderColor = function(a) {
-    a == mxConstants.NONE && (a = null);
-    this.state.fontBorderColor = a
+  a == mxConstants.NONE && (a = null);
+  this.state.fontBorderColor = a
 };
 mxAbstractCanvas2D.prototype.setFontSize = function(a) {
-    this.state.fontSize = a
+  this.state.fontSize = a
 };
 mxAbstractCanvas2D.prototype.setFontFamily = function(a) {
-    this.state.fontFamily = a
+  this.state.fontFamily = a
 };
 mxAbstractCanvas2D.prototype.setFontStyle = function(a) {
-    null == a && (a = 0);
-    this.state.fontStyle = a
+  null == a && (a = 0);
+  this.state.fontStyle = a
 };
 mxAbstractCanvas2D.prototype.setShadow = function(a) {
-    this.state.shadow = a
+  this.state.shadow = a
 };
 mxAbstractCanvas2D.prototype.setShadowColor = function(a) {
-    a == mxConstants.NONE && (a = null);
-    this.state.shadowColor = a
+  a == mxConstants.NONE && (a = null);
+  this.state.shadowColor = a
 };
 mxAbstractCanvas2D.prototype.setShadowAlpha = function(a) {
-    this.state.shadowAlpha = a
+  this.state.shadowAlpha = a
 };
 mxAbstractCanvas2D.prototype.setShadowOffset = function(a, b) {
-    this.state.shadowDx = a;
-    this.state.shadowDy = b
+  this.state.shadowDx = a;
+  this.state.shadowDy = b
 };
 mxAbstractCanvas2D.prototype.begin = function() {
-    this.lastY = this.lastX = 0;
-    this.path = []
+  this.lastY = this.lastX = 0;
+  this.path = []
 };
 mxAbstractCanvas2D.prototype.moveTo = function(a, b) {
-    this.addOp(this.moveOp, a, b)
+  this.addOp(this.moveOp, a, b)
 };
 mxAbstractCanvas2D.prototype.lineTo = function(a, b) {
-    this.addOp(this.lineOp, a, b)
+  this.addOp(this.lineOp, a, b)
 };
 mxAbstractCanvas2D.prototype.quadTo = function(a, b, c, d) {
-    this.addOp(this.quadOp, a, b, c, d)
+  this.addOp(this.quadOp, a, b, c, d)
 };
 mxAbstractCanvas2D.prototype.curveTo = function(a, b, c, d, e, f) {
-    this.addOp(this.curveOp, a, b, c, d, e, f)
+  this.addOp(this.curveOp, a, b, c, d, e, f)
 };
 mxAbstractCanvas2D.prototype.arcTo = function(a, b, c, d, e, f, g) {
-    a = mxUtils.arcToCurves(this.lastX, this.lastY, a, b, c, d, e, f, g);
-    for (b = 0; b < a.length; b += 6) this.curveTo(a[b], a[b + 1], a[b + 2], a[b + 3], a[b + 4], a[b + 5])
+  a = mxUtils.arcToCurves(this.lastX, this.lastY, a, b, c, d, e, f, g);
+  for (b = 0; b < a.length; b += 6) this.curveTo(a[b], a[b + 1], a[b + 2], a[b + 3], a[b + 4], a[b + 5])
 };
 mxAbstractCanvas2D.prototype.close = function(a, b, c, d, e, f) {
-    this.addOp(this.closeOp)
+  this.addOp(this.closeOp)
 };
 mxAbstractCanvas2D.prototype.end = function() {};
 
 function mxXmlCanvas2D(a) {
-    mxAbstractCanvas2D.call(this);
-    this.root = a;
-    this.writeDefaults()
+  mxAbstractCanvas2D.call(this);
+  this.root = a;
+  this.writeDefaults()
 }
 mxUtils.extend(mxXmlCanvas2D, mxAbstractCanvas2D);
 mxXmlCanvas2D.prototype.textEnabled = !0;
 mxXmlCanvas2D.prototype.compressed = !0;
 mxXmlCanvas2D.prototype.writeDefaults = function() {
-    var a;
-    a = this.createElement("fontfamily");
-    a.setAttribute("family", mxConstants.DEFAULT_FONTFAMILY);
-    this.root.appendChild(a);
-    a = this.createElement("fontsize");
-    a.setAttribute("size", mxConstants.DEFAULT_FONTSIZE);
-    this.root.appendChild(a);
-    a = this.createElement("shadowcolor");
-    a.setAttribute("color", mxConstants.SHADOWCOLOR);
-    this.root.appendChild(a);
-    a = this.createElement("shadowalpha");
-    a.setAttribute("alpha", mxConstants.SHADOW_OPACITY);
-    this.root.appendChild(a);
-    a = this.createElement("shadowoffset");
-    a.setAttribute("dx", mxConstants.SHADOW_OFFSET_X);
-    a.setAttribute("dy", mxConstants.SHADOW_OFFSET_Y);
-    this.root.appendChild(a)
+  var a;
+  a = this.createElement("fontfamily");
+  a.setAttribute("family", mxConstants.DEFAULT_FONTFAMILY);
+  this.root.appendChild(a);
+  a = this.createElement("fontsize");
+  a.setAttribute("size", mxConstants.DEFAULT_FONTSIZE);
+  this.root.appendChild(a);
+  a = this.createElement("shadowcolor");
+  a.setAttribute("color", mxConstants.SHADOWCOLOR);
+  this.root.appendChild(a);
+  a = this.createElement("shadowalpha");
+  a.setAttribute("alpha", mxConstants.SHADOW_OPACITY);
+  this.root.appendChild(a);
+  a = this.createElement("shadowoffset");
+  a.setAttribute("dx", mxConstants.SHADOW_OFFSET_X);
+  a.setAttribute("dy", mxConstants.SHADOW_OFFSET_Y);
+  this.root.appendChild(a)
 };
 mxXmlCanvas2D.prototype.format = function(a) {
-    return parseFloat(parseFloat(a).toFixed(2))
+  return parseFloat(parseFloat(a).toFixed(2))
 };
 mxXmlCanvas2D.prototype.createElement = function(a) {
-    return this.root.ownerDocument.createElement(a)
+  return this.root.ownerDocument.createElement(a)
 };
 mxXmlCanvas2D.prototype.save = function() {
-    this.compressed && mxAbstractCanvas2D.prototype.save.apply(this, arguments);
-    this.root.appendChild(this.createElement("save"))
+  this.compressed && mxAbstractCanvas2D.prototype.save.apply(this, arguments);
+  this.root.appendChild(this.createElement("save"))
 };
 mxXmlCanvas2D.prototype.restore = function() {
-    this.compressed && mxAbstractCanvas2D.prototype.restore.apply(this, arguments);
-    this.root.appendChild(this.createElement("restore"))
+  this.compressed && mxAbstractCanvas2D.prototype.restore.apply(this, arguments);
+  this.root.appendChild(this.createElement("restore"))
 };
 mxXmlCanvas2D.prototype.scale = function(a) {
-    if (this.compressed) {
-        if (this.state.scale == a) return;
-        mxAbstractCanvas2D.prototype.setAlpha.apply(this, arguments)
-    }
-    var b = this.createElement("scale");
-    b.setAttribute("scale", a);
-    this.root.appendChild(b)
+  if (this.compressed) {
+    if (this.state.scale == a) return;
+    mxAbstractCanvas2D.prototype.setAlpha.apply(this, arguments)
+  }
+  var b = this.createElement("scale");
+  b.setAttribute("scale", a);
+  this.root.appendChild(b)
 };
 mxXmlCanvas2D.prototype.translate = function(a, b) {
-    var c = this.createElement("translate");
-    c.setAttribute("dx", this.format(a));
-    c.setAttribute("dy", this.format(b));
-    this.root.appendChild(c)
+  var c = this.createElement("translate");
+  c.setAttribute("dx", this.format(a));
+  c.setAttribute("dy", this.format(b));
+  this.root.appendChild(c)
 };
 mxXmlCanvas2D.prototype.rotate = function(a, b, c, d, e) {
-    var f = this.createElement("rotate");
-    if (0 != a || b || c) f.setAttribute("theta", this.format(a)), f.setAttribute("flipH", b ? "1" : "0"), f.setAttribute("flipV", c ? "1" : "0"), f.setAttribute("cx", this.format(d)), f.setAttribute("cy", this.format(e)), this.root.appendChild(f)
+  var f = this.createElement("rotate");
+  if (0 != a || b || c) f.setAttribute("theta", this.format(a)), f.setAttribute("flipH", b ? "1" : "0"), f.setAttribute("flipV", c ? "1" : "0"), f.setAttribute("cx", this.format(d)), f.setAttribute(
+    "cy", this.format(e)), this.root.appendChild(f)
 };
 mxXmlCanvas2D.prototype.setAlpha = function(a) {
-    if (this.compressed) {
-        if (this.state.alpha == a) return;
-        mxAbstractCanvas2D.prototype.setAlpha.apply(this, arguments)
-    }
-    var b = this.createElement("alpha");
-    b.setAttribute("alpha", this.format(a));
-    this.root.appendChild(b)
+  if (this.compressed) {
+    if (this.state.alpha == a) return;
+    mxAbstractCanvas2D.prototype.setAlpha.apply(this, arguments)
+  }
+  var b = this.createElement("alpha");
+  b.setAttribute("alpha", this.format(a));
+  this.root.appendChild(b)
 };
 mxXmlCanvas2D.prototype.setFillColor = function(a) {
-    a == mxConstants.NONE && (a = null);
-    if (this.compressed) {
-        if (this.state.fillColor == a) return;
-        mxAbstractCanvas2D.prototype.setFillColor.apply(this, arguments)
-    }
-    var b = this.createElement("fillcolor");
-    b.setAttribute("color", null != a ? a : mxConstants.NONE);
-    this.root.appendChild(b)
+  a == mxConstants.NONE && (a = null);
+  if (this.compressed) {
+    if (this.state.fillColor == a) return;
+    mxAbstractCanvas2D.prototype.setFillColor.apply(this, arguments)
+  }
+  var b = this.createElement("fillcolor");
+  b.setAttribute("color", null != a ? a : mxConstants.NONE);
+  this.root.appendChild(b)
 };
 mxXmlCanvas2D.prototype.setGradient = function(a, b, c, d, e, f, g, h, k) {
-    if (null != a && null != b) {
-        mxAbstractCanvas2D.prototype.setGradient.apply(this, arguments);
-        var l = this.createElement("gradient");
-        l.setAttribute("c1", a);
-        l.setAttribute("c2", b);
-        l.setAttribute("x", this.format(c));
-        l.setAttribute("y", this.format(d));
-        l.setAttribute("w", this.format(e));
-        l.setAttribute("h", this.format(f));
-        null != g && l.setAttribute("direction", g);
-        null != h && l.setAttribute("alpha1", h);
-        null != k && l.setAttribute("alpha2", k);
-        this.root.appendChild(l)
-    }
+  if (null != a && null != b) {
+    mxAbstractCanvas2D.prototype.setGradient.apply(this, arguments);
+    var l = this.createElement("gradient");
+    l.setAttribute("c1", a);
+    l.setAttribute("c2", b);
+    l.setAttribute("x", this.format(c));
+    l.setAttribute("y", this.format(d));
+    l.setAttribute("w", this.format(e));
+    l.setAttribute("h", this.format(f));
+    null != g && l.setAttribute("direction", g);
+    null != h && l.setAttribute("alpha1", h);
+    null != k && l.setAttribute("alpha2", k);
+    this.root.appendChild(l)
+  }
 };
 mxXmlCanvas2D.prototype.setStrokeColor = function(a) {
-    a == mxConstants.NONE && (a = null);
-    if (this.compressed) {
-        if (this.state.strokeColor == a) return;
-        mxAbstractCanvas2D.prototype.setStrokeColor.apply(this, arguments)
-    }
-    var b = this.createElement("strokecolor");
-    b.setAttribute("color", null != a ? a : mxConstants.NONE);
-    this.root.appendChild(b)
+  a == mxConstants.NONE && (a = null);
+  if (this.compressed) {
+    if (this.state.strokeColor == a) return;
+    mxAbstractCanvas2D.prototype.setStrokeColor.apply(this, arguments)
+  }
+  var b = this.createElement("strokecolor");
+  b.setAttribute("color", null != a ? a : mxConstants.NONE);
+  this.root.appendChild(b)
 };
 mxXmlCanvas2D.prototype.setStrokeWidth = function(a) {
-    if (this.compressed) {
-        if (this.state.strokeWidth == a) return;
-        mxAbstractCanvas2D.prototype.setStrokeWidth.apply(this, arguments)
-    }
-    var b = this.createElement("strokewidth");
-    b.setAttribute("width", this.format(a));
-    this.root.appendChild(b)
+  if (this.compressed) {
+    if (this.state.strokeWidth == a) return;
+    mxAbstractCanvas2D.prototype.setStrokeWidth.apply(this, arguments)
+  }
+  var b = this.createElement("strokewidth");
+  b.setAttribute("width", this.format(a));
+  this.root.appendChild(b)
 };
 mxXmlCanvas2D.prototype.setDashed = function(a) {
-    if (this.compressed) {
-        if (this.state.dashed == a) return;
-        mxAbstractCanvas2D.prototype.setDashed.apply(this, arguments)
-    }
-    var b = this.createElement("dashed");
-    b.setAttribute("dashed", a ? "1" : "0");
-    this.root.appendChild(b)
+  if (this.compressed) {
+    if (this.state.dashed == a) return;
+    mxAbstractCanvas2D.prototype.setDashed.apply(this, arguments)
+  }
+  var b = this.createElement("dashed");
+  b.setAttribute("dashed", a ? "1" : "0");
+  this.root.appendChild(b)
 };
 mxXmlCanvas2D.prototype.setDashPattern = function(a) {
-    if (this.compressed) {
-        if (this.state.dashPattern == a) return;
-        mxAbstractCanvas2D.prototype.setDashPattern.apply(this, arguments)
-    }
-    var b = this.createElement("dashpattern");
-    b.setAttribute("pattern", a);
-    this.root.appendChild(b)
+  if (this.compressed) {
+    if (this.state.dashPattern == a) return;
+    mxAbstractCanvas2D.prototype.setDashPattern.apply(this, arguments)
+  }
+  var b = this.createElement("dashpattern");
+  b.setAttribute("pattern", a);
+  this.root.appendChild(b)
 };
 mxXmlCanvas2D.prototype.setLineCap = function(a) {
-    if (this.compressed) {
-        if (this.state.lineCap == a) return;
-        mxAbstractCanvas2D.prototype.setLineCap.apply(this, arguments)
-    }
-    var b = this.createElement("linecap");
-    b.setAttribute("cap", a);
-    this.root.appendChild(b)
+  if (this.compressed) {
+    if (this.state.lineCap == a) return;
+    mxAbstractCanvas2D.prototype.setLineCap.apply(this, arguments)
+  }
+  var b = this.createElement("linecap");
+  b.setAttribute("cap", a);
+  this.root.appendChild(b)
 };
 mxXmlCanvas2D.prototype.setLineJoin = function(a) {
-    if (this.compressed) {
-        if (this.state.lineJoin == a) return;
-        mxAbstractCanvas2D.prototype.setLineJoin.apply(this, arguments)
-    }
-    var b = this.createElement("linejoin");
-    b.setAttribute("join", a);
-    this.root.appendChild(b)
+  if (this.compressed) {
+    if (this.state.lineJoin == a) return;
+    mxAbstractCanvas2D.prototype.setLineJoin.apply(this, arguments)
+  }
+  var b = this.createElement("linejoin");
+  b.setAttribute("join", a);
+  this.root.appendChild(b)
 };
 mxXmlCanvas2D.prototype.setMiterLimit = function(a) {
-    if (this.compressed) {
-        if (this.state.miterLimit == a) return;
-        mxAbstractCanvas2D.prototype.setMiterLimit.apply(this, arguments)
-    }
-    var b = this.createElement("miterlimit");
-    b.setAttribute("limit", a);
-    this.root.appendChild(b)
+  if (this.compressed) {
+    if (this.state.miterLimit == a) return;
+    mxAbstractCanvas2D.prototype.setMiterLimit.apply(this, arguments)
+  }
+  var b = this.createElement("miterlimit");
+  b.setAttribute("limit", a);
+  this.root.appendChild(b)
 };
 mxXmlCanvas2D.prototype.setFontColor = function(a) {
-    if (this.textEnabled) {
-        a == mxConstants.NONE && (a = null);
-        if (this.compressed) {
-            if (this.state.fontColor == a) return;
-            mxAbstractCanvas2D.prototype.setFontColor.apply(this, arguments)
-        }
-        var b = this.createElement("fontcolor");
-        b.setAttribute("color", null != a ? a : mxConstants.NONE);
-        this.root.appendChild(b)
+  if (this.textEnabled) {
+    a == mxConstants.NONE && (a = null);
+    if (this.compressed) {
+      if (this.state.fontColor == a) return;
+      mxAbstractCanvas2D.prototype.setFontColor.apply(this, arguments)
     }
+    var b = this.createElement("fontcolor");
+    b.setAttribute("color", null != a ? a : mxConstants.NONE);
+    this.root.appendChild(b)
+  }
 };
 mxXmlCanvas2D.prototype.setFontBackgroundColor = function(a) {
-    if (this.textEnabled) {
-        a == mxConstants.NONE && (a = null);
-        if (this.compressed) {
-            if (this.state.fontBackgroundColor == a) return;
-            mxAbstractCanvas2D.prototype.setFontBackgroundColor.apply(this, arguments)
-        }
-        var b = this.createElement("fontbackgroundcolor");
-        b.setAttribute("color", null != a ? a : mxConstants.NONE);
-        this.root.appendChild(b)
+  if (this.textEnabled) {
+    a == mxConstants.NONE && (a = null);
+    if (this.compressed) {
+      if (this.state.fontBackgroundColor == a) return;
+      mxAbstractCanvas2D.prototype.setFontBackgroundColor.apply(this, arguments)
     }
+    var b = this.createElement("fontbackgroundcolor");
+    b.setAttribute("color", null != a ? a : mxConstants.NONE);
+    this.root.appendChild(b)
+  }
 };
 mxXmlCanvas2D.prototype.setFontBorderColor = function(a) {
-    if (this.textEnabled) {
-        a == mxConstants.NONE && (a = null);
-        if (this.compressed) {
-            if (this.state.fontBorderColor == a) return;
-            mxAbstractCanvas2D.prototype.setFontBorderColor.apply(this, arguments)
-        }
-        var b = this.createElement("fontbordercolor");
-        b.setAttribute("color", null != a ? a : mxConstants.NONE);
-        this.root.appendChild(b)
+  if (this.textEnabled) {
+    a == mxConstants.NONE && (a = null);
+    if (this.compressed) {
+      if (this.state.fontBorderColor == a) return;
+      mxAbstractCanvas2D.prototype.setFontBorderColor.apply(this, arguments)
     }
+    var b = this.createElement("fontbordercolor");
+    b.setAttribute("color", null != a ? a : mxConstants.NONE);
+    this.root.appendChild(b)
+  }
 };
 mxXmlCanvas2D.prototype.setFontSize = function(a) {
-    if (this.textEnabled) {
-        if (this.compressed) {
-            if (this.state.fontSize == a) return;
-            mxAbstractCanvas2D.prototype.setFontSize.apply(this, arguments)
-        }
-        var b = this.createElement("fontsize");
-        b.setAttribute("size", a);
-        this.root.appendChild(b)
+  if (this.textEnabled) {
+    if (this.compressed) {
+      if (this.state.fontSize == a) return;
+      mxAbstractCanvas2D.prototype.setFontSize.apply(this, arguments)
     }
+    var b = this.createElement("fontsize");
+    b.setAttribute("size", a);
+    this.root.appendChild(b)
+  }
 };
 mxXmlCanvas2D.prototype.setFontFamily = function(a) {
-    if (this.textEnabled) {
-        if (this.compressed) {
-            if (this.state.fontFamily == a) return;
-            mxAbstractCanvas2D.prototype.setFontFamily.apply(this, arguments)
-        }
-        var b = this.createElement("fontfamily");
-        b.setAttribute("family", a);
-        this.root.appendChild(b)
+  if (this.textEnabled) {
+    if (this.compressed) {
+      if (this.state.fontFamily == a) return;
+      mxAbstractCanvas2D.prototype.setFontFamily.apply(this, arguments)
     }
+    var b = this.createElement("fontfamily");
+    b.setAttribute("family", a);
+    this.root.appendChild(b)
+  }
 };
 mxXmlCanvas2D.prototype.setFontStyle = function(a) {
-    if (this.textEnabled) {
-        null == a && (a = 0);
-        if (this.compressed) {
-            if (this.state.fontStyle == a) return;
-            mxAbstractCanvas2D.prototype.setFontStyle.apply(this, arguments)
-        }
-        var b = this.createElement("fontstyle");
-        b.setAttribute("style", a);
-        this.root.appendChild(b)
-    }
-};
-mxXmlCanvas2D.prototype.setShadow = function(a) {
+  if (this.textEnabled) {
+    null == a && (a = 0);
     if (this.compressed) {
-        if (this.state.shadow == a) return;
-        mxAbstractCanvas2D.prototype.setShadow.apply(this, arguments)
+      if (this.state.fontStyle == a) return;
+      mxAbstractCanvas2D.prototype.setFontStyle.apply(this, arguments)
     }
-    var b = this.createElement("shadow");
-    b.setAttribute("enabled", a ? "1" : "0");
+    var b = this.createElement("fontstyle");
+    b.setAttribute("style", a);
     this.root.appendChild(b)
+  }
+};
+mxXmlCanvas2D.prototype.setShadow = function(a) {
+  if (this.compressed) {
+    if (this.state.shadow == a) return;
+    mxAbstractCanvas2D.prototype.setShadow.apply(this, arguments)
+  }
+  var b = this.createElement("shadow");
+  b.setAttribute("enabled", a ? "1" : "0");
+  this.root.appendChild(b)
 };
 mxXmlCanvas2D.prototype.setShadowColor = function(a) {
-    if (this.compressed) {
-        a == mxConstants.NONE && (a = null);
-        if (this.state.shadowColor == a) return;
-        mxAbstractCanvas2D.prototype.setShadowColor.apply(this, arguments)
-    }
-    var b = this.createElement("shadowcolor");
-    b.setAttribute("color", null != a ? a : mxConstants.NONE);
-    this.root.appendChild(b)
+  if (this.compressed) {
+    a == mxConstants.NONE && (a = null);
+    if (this.state.shadowColor == a) return;
+    mxAbstractCanvas2D.prototype.setShadowColor.apply(this, arguments)
+  }
+  var b = this.createElement("shadowcolor");
+  b.setAttribute("color", null != a ? a : mxConstants.NONE);
+  this.root.appendChild(b)
 };
 mxXmlCanvas2D.prototype.setShadowAlpha = function(a) {
-    if (this.compressed) {
-        if (this.state.shadowAlpha == a) return;
-        mxAbstractCanvas2D.prototype.setShadowAlpha.apply(this, arguments)
-    }
-    var b = this.createElement("shadowalpha");
-    b.setAttribute("alpha", a);
-    this.root.appendChild(b)
+  if (this.compressed) {
+    if (this.state.shadowAlpha == a) return;
+    mxAbstractCanvas2D.prototype.setShadowAlpha.apply(this, arguments)
+  }
+  var b = this.createElement("shadowalpha");
+  b.setAttribute("alpha", a);
+  this.root.appendChild(b)
 };
 mxXmlCanvas2D.prototype.setShadowOffset = function(a, b) {
-    if (this.compressed) {
-        if (this.state.shadowDx == a && this.state.shadowDy == b) return;
-        mxAbstractCanvas2D.prototype.setShadowOffset.apply(this, arguments)
-    }
-    var c = this.createElement("shadowoffset");
-    c.setAttribute("dx", a);
-    c.setAttribute("dy", b);
-    this.root.appendChild(c)
+  if (this.compressed) {
+    if (this.state.shadowDx == a && this.state.shadowDy == b) return;
+    mxAbstractCanvas2D.prototype.setShadowOffset.apply(this, arguments)
+  }
+  var c = this.createElement("shadowoffset");
+  c.setAttribute("dx", a);
+  c.setAttribute("dy", b);
+  this.root.appendChild(c)
 };
 mxXmlCanvas2D.prototype.rect = function(a, b, c, d) {
-    var e = this.createElement("rect");
-    e.setAttribute("x", this.format(a));
-    e.setAttribute("y", this.format(b));
-    e.setAttribute("w", this.format(c));
-    e.setAttribute("h", this.format(d));
-    this.root.appendChild(e)
+  var e = this.createElement("rect");
+  e.setAttribute("x", this.format(a));
+  e.setAttribute("y", this.format(b));
+  e.setAttribute("w", this.format(c));
+  e.setAttribute("h", this.format(d));
+  this.root.appendChild(e)
 };
 mxXmlCanvas2D.prototype.roundrect = function(a, b, c, d, e, f) {
-    var g = this.createElement("roundrect");
-    g.setAttribute("x", this.format(a));
-    g.setAttribute("y", this.format(b));
-    g.setAttribute("w", this.format(c));
-    g.setAttribute("h", this.format(d));
-    g.setAttribute("dx", this.format(e));
-    g.setAttribute("dy", this.format(f));
-    this.root.appendChild(g)
+  var g = this.createElement("roundrect");
+  g.setAttribute("x", this.format(a));
+  g.setAttribute("y", this.format(b));
+  g.setAttribute("w", this.format(c));
+  g.setAttribute("h", this.format(d));
+  g.setAttribute("dx", this.format(e));
+  g.setAttribute("dy", this.format(f));
+  this.root.appendChild(g)
 };
 mxXmlCanvas2D.prototype.ellipse = function(a, b, c, d) {
-    var e = this.createElement("ellipse");
-    e.setAttribute("x", this.format(a));
-    e.setAttribute("y", this.format(b));
-    e.setAttribute("w", this.format(c));
-    e.setAttribute("h", this.format(d));
-    this.root.appendChild(e)
+  var e = this.createElement("ellipse");
+  e.setAttribute("x", this.format(a));
+  e.setAttribute("y", this.format(b));
+  e.setAttribute("w", this.format(c));
+  e.setAttribute("h", this.format(d));
+  this.root.appendChild(e)
 };
 mxXmlCanvas2D.prototype.image = function(a, b, c, d, e, f, g, h) {
-    e = this.converter.convert(e);
-    var k = this.createElement("image");
-    k.setAttribute("x", this.format(a));
-    k.setAttribute("y", this.format(b));
-    k.setAttribute("w", this.format(c));
-    k.setAttribute("h", this.format(d));
-    k.setAttribute("src", e);
-    k.setAttribute("aspect", f ? "1" : "0");
-    k.setAttribute("flipH", g ? "1" : "0");
-    k.setAttribute("flipV", h ? "1" : "0");
-    this.root.appendChild(k)
+  e = this.converter.convert(e);
+  var k = this.createElement("image");
+  k.setAttribute("x", this.format(a));
+  k.setAttribute("y", this.format(b));
+  k.setAttribute("w", this.format(c));
+  k.setAttribute("h", this.format(d));
+  k.setAttribute("src", e);
+  k.setAttribute("aspect", f ? "1" : "0");
+  k.setAttribute("flipH", g ? "1" : "0");
+  k.setAttribute("flipV", h ? "1" : "0");
+  this.root.appendChild(k)
 };
 mxXmlCanvas2D.prototype.begin = function() {
-    this.root.appendChild(this.createElement("begin"));
-    this.lastY = this.lastX = 0
+  this.root.appendChild(this.createElement("begin"));
+  this.lastY = this.lastX = 0
 };
 mxXmlCanvas2D.prototype.moveTo = function(a, b) {
-    var c = this.createElement("move");
-    c.setAttribute("x", this.format(a));
-    c.setAttribute("y", this.format(b));
-    this.root.appendChild(c);
-    this.lastX = a;
-    this.lastY = b
+  var c = this.createElement("move");
+  c.setAttribute("x", this.format(a));
+  c.setAttribute("y", this.format(b));
+  this.root.appendChild(c);
+  this.lastX = a;
+  this.lastY = b
 };
 mxXmlCanvas2D.prototype.lineTo = function(a, b) {
-    var c = this.createElement("line");
-    c.setAttribute("x", this.format(a));
-    c.setAttribute("y", this.format(b));
-    this.root.appendChild(c);
-    this.lastX = a;
-    this.lastY = b
+  var c = this.createElement("line");
+  c.setAttribute("x", this.format(a));
+  c.setAttribute("y", this.format(b));
+  this.root.appendChild(c);
+  this.lastX = a;
+  this.lastY = b
 };
 mxXmlCanvas2D.prototype.quadTo = function(a, b, c, d) {
-    var e = this.createElement("quad");
-    e.setAttribute("x1", this.format(a));
-    e.setAttribute("y1", this.format(b));
-    e.setAttribute("x2", this.format(c));
-    e.setAttribute("y2", this.format(d));
-    this.root.appendChild(e);
-    this.lastX = c;
-    this.lastY = d
+  var e = this.createElement("quad");
+  e.setAttribute("x1", this.format(a));
+  e.setAttribute("y1", this.format(b));
+  e.setAttribute("x2", this.format(c));
+  e.setAttribute("y2", this.format(d));
+  this.root.appendChild(e);
+  this.lastX = c;
+  this.lastY = d
 };
 mxXmlCanvas2D.prototype.curveTo = function(a, b, c, d, e, f) {
-    var g = this.createElement("curve");
-    g.setAttribute("x1", this.format(a));
-    g.setAttribute("y1", this.format(b));
-    g.setAttribute("x2", this.format(c));
-    g.setAttribute("y2", this.format(d));
-    g.setAttribute("x3", this.format(e));
-    g.setAttribute("y3", this.format(f));
-    this.root.appendChild(g);
-    this.lastX = e;
-    this.lastY = f
+  var g = this.createElement("curve");
+  g.setAttribute("x1", this.format(a));
+  g.setAttribute("y1", this.format(b));
+  g.setAttribute("x2", this.format(c));
+  g.setAttribute("y2", this.format(d));
+  g.setAttribute("x3", this.format(e));
+  g.setAttribute("y3", this.format(f));
+  this.root.appendChild(g);
+  this.lastX = e;
+  this.lastY = f
 };
 mxXmlCanvas2D.prototype.close = function() {
-    this.root.appendChild(this.createElement("close"))
+  this.root.appendChild(this.createElement("close"))
 };
 mxXmlCanvas2D.prototype.text = function(a, b, c, d, e, f, g, h, k, l, m, n) {
-    if (this.textEnabled && null != e) {
-        mxUtils.isNode(e) && (e = mxUtils.getOuterHtml(e));
-        var p = this.createElement("text");
-        p.setAttribute("x", this.format(a));
-        p.setAttribute("y", this.format(b));
-        p.setAttribute("w", this.format(c));
-        p.setAttribute("h", this.format(d));
-        p.setAttribute("str", e);
-        null != f && p.setAttribute("align", f);
-        null != g && p.setAttribute("valign", g);
-        p.setAttribute("wrap", h ? "1" : "0");
-        null == k && (k = "");
-        p.setAttribute("format", k);
-        null != l && p.setAttribute("fill",
-            l ? "1" : "0");
-        null != m && p.setAttribute("clip", m ? "1" : "0");
-        null != n && p.setAttribute("rotation", n);
-        this.root.appendChild(p)
-    }
+  if (this.textEnabled && null != e) {
+    mxUtils.isNode(e) && (e = mxUtils.getOuterHtml(e));
+    var p = this.createElement("text");
+    p.setAttribute("x", this.format(a));
+    p.setAttribute("y", this.format(b));
+    p.setAttribute("w", this.format(c));
+    p.setAttribute("h", this.format(d));
+    p.setAttribute("str", e);
+    null != f && p.setAttribute("align", f);
+    null != g && p.setAttribute("valign", g);
+    p.setAttribute("wrap", h ? "1" : "0");
+    null == k && (k = "");
+    p.setAttribute("format", k);
+    null != l && p.setAttribute("fill",
+      l ? "1" : "0");
+    null != m && p.setAttribute("clip", m ? "1" : "0");
+    null != n && p.setAttribute("rotation", n);
+    this.root.appendChild(p)
+  }
 };
 mxXmlCanvas2D.prototype.stroke = function() {
-    this.root.appendChild(this.createElement("stroke"))
+  this.root.appendChild(this.createElement("stroke"))
 };
 mxXmlCanvas2D.prototype.fill = function() {
-    this.root.appendChild(this.createElement("fill"))
+  this.root.appendChild(this.createElement("fill"))
 };
 mxXmlCanvas2D.prototype.fillAndStroke = function() {
-    this.root.appendChild(this.createElement("fillstroke"))
+  this.root.appendChild(this.createElement("fillstroke"))
 };
 
 function mxSvgCanvas2D(a, b) {
-    mxAbstractCanvas2D.call(this);
-    this.root = a;
-    this.gradients = [];
-    this.defs = null;
-    this.styleEnabled = null != b ? b : !1;
-    var c = null;
-    if (a.ownerDocument != document)
-        for (c = a; null != c && "svg" != c.nodeName;) c = c.parentNode;
-    null != c && (0 < c.getElementsByTagName("defs").length && (this.defs = c.getElementsByTagName("defs")[0]), null == this.defs && (this.defs = this.createElement("defs"), null != c.firstChild ? c.insertBefore(this.defs, c.firstChild) : c.appendChild(this.defs)), this.styleEnabled && this.defs.appendChild(this.createStyle()))
+  mxAbstractCanvas2D.call(this);
+  this.root = a;
+  this.gradients = [];
+  this.defs = null;
+  this.styleEnabled = null != b ? b : !1;
+  var c = null;
+  if (a.ownerDocument != document)
+    for (c = a; null != c && "svg" != c.nodeName;) c = c.parentNode;
+  null != c && (0 < c.getElementsByTagName("defs").length && (this.defs = c.getElementsByTagName("defs")[0]), null == this.defs && (this.defs = this.createElement("defs"), null != c.firstChild ? c.insertBefore(
+    this.defs, c.firstChild) : c.appendChild(this.defs)), this.styleEnabled && this.defs.appendChild(this.createStyle()))
 }
 mxUtils.extend(mxSvgCanvas2D, mxAbstractCanvas2D);
 mxSvgCanvas2D.prototype.node = null;
@@ -4144,363 +4181,384 @@ mxSvgCanvas2D.prototype.strokeTolerance = 0;
 mxSvgCanvas2D.prototype.refCount = 0;
 mxSvgCanvas2D.prototype.blockImagePointerEvents = !1;
 mxSvgCanvas2D.prototype.reset = function() {
-    mxAbstractCanvas2D.prototype.reset.apply(this, arguments);
-    this.gradients = []
+  mxAbstractCanvas2D.prototype.reset.apply(this, arguments);
+  this.gradients = []
 };
 mxSvgCanvas2D.prototype.createStyle = function(a) {
-    a = this.createElement("style");
-    a.setAttribute("type", "text/css");
-    mxUtils.write(a, "svg{font-family:" + mxConstants.DEFAULT_FONTFAMILY + ";font-size:" + mxConstants.DEFAULT_FONTSIZE + ";fill:none;stroke-miterlimit:10}");
-    return a
+  a = this.createElement("style");
+  a.setAttribute("type", "text/css");
+  mxUtils.write(a, "svg{font-family:" + mxConstants.DEFAULT_FONTFAMILY + ";font-size:" + mxConstants.DEFAULT_FONTSIZE + ";fill:none;stroke-miterlimit:10}");
+  return a
 };
 mxSvgCanvas2D.prototype.createElement = function(a, b) {
-    if (null != this.root.ownerDocument.createElementNS) return this.root.ownerDocument.createElementNS(b || mxConstants.NS_SVG, a);
-    var c = this.root.ownerDocument.createElement(a);
-    null != b && c.setAttribute("xmlns", b);
-    return c
+  if (null != this.root.ownerDocument.createElementNS) return this.root.ownerDocument.createElementNS(b || mxConstants.NS_SVG, a);
+  var c = this.root.ownerDocument.createElement(a);
+  null != b && c.setAttribute("xmlns", b);
+  return c
 };
 mxSvgCanvas2D.prototype.createGradientId = function(a, b, c, d, e) {
-    "#" == a.charAt(0) && (a = a.substring(1));
-    "#" == b.charAt(0) && (b = b.substring(1));
-    a = a.toLowerCase() + "-" + c;
-    b = b.toLowerCase() + "-" + d;
-    c = null;
-    null == e || e == mxConstants.DIRECTION_SOUTH ? c = "s" : e == mxConstants.DIRECTION_EAST ? c = "e" : (d = a, a = b, b = d, e == mxConstants.DIRECTION_NORTH ? c = "s" : e == mxConstants.DIRECTION_WEST && (c = "e"));
-    return "mx-gradient-" + a + "-" + b + "-" + c
+  "#" == a.charAt(0) && (a = a.substring(1));
+  "#" == b.charAt(0) && (b = b.substring(1));
+  a = a.toLowerCase() + "-" + c;
+  b = b.toLowerCase() + "-" + d;
+  c = null;
+  null == e || e == mxConstants.DIRECTION_SOUTH ? c = "s" : e == mxConstants.DIRECTION_EAST ? c = "e" : (d = a, a = b, b = d, e == mxConstants.DIRECTION_NORTH ? c = "s" : e == mxConstants.DIRECTION_WEST &&
+    (c = "e"));
+  return "mx-gradient-" + a + "-" + b + "-" + c
 };
 mxSvgCanvas2D.prototype.getSvgGradient = function(a, b, c, d, e) {
-    var f = this.createGradientId(a, b, c, d, e),
-        g = this.gradients[f];
-    if (null == g) {
-        var h = this.root.ownerSVGElement,
-            k = 0,
-            l = f + "-" + k;
-        if (null != h)
-            for (g = h.ownerDocument.getElementById(l); null != g && g.ownerSVGElement != h;) l = f + "-" + k++, g = h.ownerDocument.getElementById(l);
-        else l = "id" + ++this.refCount;
-        null == g && (g = this.createSvgGradient(a, b, c, d, e), g.setAttribute("id", l), null != this.defs ? this.defs.appendChild(g) : h.appendChild(g));
-        this.gradients[f] = g
-    }
-    return g.getAttribute("id")
+  var f = this.createGradientId(a, b, c, d, e),
+    g = this.gradients[f];
+  if (null == g) {
+    var h = this.root.ownerSVGElement,
+      k = 0,
+      l = f + "-" + k;
+    if (null != h)
+      for (g = h.ownerDocument.getElementById(l); null != g && g.ownerSVGElement != h;) l = f + "-" + k++, g = h.ownerDocument.getElementById(l);
+    else l = "id" + ++this.refCount;
+    null == g && (g = this.createSvgGradient(a, b, c, d, e), g.setAttribute("id", l), null != this.defs ? this.defs.appendChild(g) : h.appendChild(g));
+    this.gradients[f] = g
+  }
+  return g.getAttribute("id")
 };
 mxSvgCanvas2D.prototype.createSvgGradient = function(a, b, c, d, e) {
-    var f = this.createElement("linearGradient");
-    f.setAttribute("x1", "0%");
-    f.setAttribute("y1", "0%");
-    f.setAttribute("x2", "0%");
-    f.setAttribute("y2", "0%");
-    null == e || e == mxConstants.DIRECTION_SOUTH ? f.setAttribute("y2", "100%") : e == mxConstants.DIRECTION_EAST ? f.setAttribute("x2", "100%") : e == mxConstants.DIRECTION_NORTH ? f.setAttribute("y1", "100%") : e == mxConstants.DIRECTION_WEST && f.setAttribute("x1", "100%");
-    c = 1 > c ? ";stop-opacity:" + c : "";
-    e = this.createElement("stop");
-    e.setAttribute("offset", "0%");
-    e.setAttribute("style", "stop-color:" + a + c);
-    f.appendChild(e);
-    c = 1 > d ? ";stop-opacity:" + d : "";
-    e = this.createElement("stop");
-    e.setAttribute("offset", "100%");
-    e.setAttribute("style", "stop-color:" + b + c);
-    f.appendChild(e);
-    return f
+  var f = this.createElement("linearGradient");
+  f.setAttribute("x1", "0%");
+  f.setAttribute("y1", "0%");
+  f.setAttribute("x2", "0%");
+  f.setAttribute("y2", "0%");
+  null == e || e == mxConstants.DIRECTION_SOUTH ? f.setAttribute("y2", "100%") : e == mxConstants.DIRECTION_EAST ? f.setAttribute("x2", "100%") : e == mxConstants.DIRECTION_NORTH ? f.setAttribute(
+    "y1", "100%") : e == mxConstants.DIRECTION_WEST && f.setAttribute("x1", "100%");
+  c = 1 > c ? ";stop-opacity:" + c : "";
+  e = this.createElement("stop");
+  e.setAttribute("offset", "0%");
+  e.setAttribute("style", "stop-color:" + a + c);
+  f.appendChild(e);
+  c = 1 > d ? ";stop-opacity:" + d : "";
+  e = this.createElement("stop");
+  e.setAttribute("offset", "100%");
+  e.setAttribute("style", "stop-color:" + b + c);
+  f.appendChild(e);
+  return f
 };
 mxSvgCanvas2D.prototype.addNode = function(a, b) {
-    var c = this.node,
-        d = this.state;
-    if (null != c) {
-        if ("path" == c.nodeName)
-            if (null != this.path && 0 < this.path.length) c.setAttribute("d", this.path.join(" "));
-            else return;
-        a && null != d.fillColor ? this.updateFill() : this.styleEnabled || ("ellipse" == c.nodeName && mxClient.IS_NS && !mxClient.IS_GC && !mxClient.IS_SF ? c.setAttribute("fill", "transparent") : c.setAttribute("fill", "none"), a = !1);
-        b && null != d.strokeColor ? this.updateStroke() : this.styleEnabled || c.setAttribute("stroke", "none");
-        null !=
-            d.transform && 0 < d.transform.length && c.setAttribute("transform", d.transform);
-        d.shadow && this.root.appendChild(this.createShadow(c));
-        0 < this.strokeTolerance && !a && this.root.appendChild(this.createTolerance(c));
-        this.pointerEvents && ("path" != c.nodeName || this.path[this.path.length - 1] == this.closeOp) && c.setAttribute("pointer-events", "all");
-        this.root.appendChild(c)
-    }
+  var c = this.node,
+    d = this.state;
+  if (null != c) {
+    if ("path" == c.nodeName)
+      if (null != this.path && 0 < this.path.length) c.setAttribute("d", this.path.join(" "));
+      else return;
+    a && null != d.fillColor ? this.updateFill() : this.styleEnabled || ("ellipse" == c.nodeName && mxClient.IS_NS && !mxClient.IS_GC && !mxClient.IS_SF ? c.setAttribute("fill", "transparent") : c.setAttribute(
+      "fill", "none"), a = !1);
+    b && null != d.strokeColor ? this.updateStroke() : this.styleEnabled || c.setAttribute("stroke", "none");
+    null !=
+      d.transform && 0 < d.transform.length && c.setAttribute("transform", d.transform);
+    d.shadow && this.root.appendChild(this.createShadow(c));
+    0 < this.strokeTolerance && !a && this.root.appendChild(this.createTolerance(c));
+    this.pointerEvents && ("path" != c.nodeName || this.path[this.path.length - 1] == this.closeOp) && c.setAttribute("pointer-events", "all");
+    this.root.appendChild(c)
+  }
 };
 mxSvgCanvas2D.prototype.updateFill = function() {
-    var a = this.state;
-    1 > a.alpha && this.node.setAttribute("fill-opacity", a.alpha);
-    null != a.fillColor && (null != a.gradientColor ? (a = this.getSvgGradient(a.fillColor, a.gradientColor, a.fillAlpha, a.gradientAlpha, a.gradientDirection), this.node.setAttribute("fill", "url(#" + a + ")")) : this.node.setAttribute("fill", a.fillColor.toLowerCase()))
+  var a = this.state;
+  1 > a.alpha && this.node.setAttribute("fill-opacity", a.alpha);
+  null != a.fillColor && (null != a.gradientColor ? (a = this.getSvgGradient(a.fillColor, a.gradientColor, a.fillAlpha, a.gradientAlpha, a.gradientDirection), this.node.setAttribute("fill", "url(#" +
+    a + ")")) : this.node.setAttribute("fill", a.fillColor.toLowerCase()))
 };
 mxSvgCanvas2D.prototype.updateStroke = function() {
-    var a = this.state;
-    this.node.setAttribute("stroke", a.strokeColor.toLowerCase());
-    1 > a.alpha && this.node.setAttribute("stroke-opacity", a.alpha);
-    var b = Math.max(1, this.format(a.strokeWidth * a.scale));
-    1 != b && this.node.setAttribute("stroke-width", b);
-    "path" == this.node.nodeName && this.updateStrokeAttributes();
-    a.dashed && this.node.setAttribute("stroke-dasharray", this.createDashPattern(b))
+  var a = this.state;
+  this.node.setAttribute("stroke", a.strokeColor.toLowerCase());
+  1 > a.alpha && this.node.setAttribute("stroke-opacity", a.alpha);
+  var b = Math.max(1, this.format(a.strokeWidth * a.scale));
+  1 != b && this.node.setAttribute("stroke-width", b);
+  "path" == this.node.nodeName && this.updateStrokeAttributes();
+  a.dashed && this.node.setAttribute("stroke-dasharray", this.createDashPattern(b))
 };
 mxSvgCanvas2D.prototype.updateStrokeAttributes = function() {
-    var a = this.state;
-    null != a.lineJoin && "miter" != a.lineJoin && this.node.setAttribute("stroke-linejoin", a.lineJoin);
-    if (null != a.lineCap) {
-        var b = a.lineCap;
-        "flat" == b && (b = "butt");
-        "butt" != b && this.node.setAttribute("stroke-linecap", b)
-    }
-    null != a.miterLimit && (!this.styleEnabled || 10 != a.miterLimit) && this.node.setAttribute("stroke-miterlimit", a.miterLimit)
+  var a = this.state;
+  null != a.lineJoin && "miter" != a.lineJoin && this.node.setAttribute("stroke-linejoin", a.lineJoin);
+  if (null != a.lineCap) {
+    var b = a.lineCap;
+    "flat" == b && (b = "butt");
+    "butt" != b && this.node.setAttribute("stroke-linecap", b)
+  }
+  null != a.miterLimit && (!this.styleEnabled || 10 != a.miterLimit) && this.node.setAttribute("stroke-miterlimit", a.miterLimit)
 };
 mxSvgCanvas2D.prototype.createDashPattern = function(a) {
-    var b = this.state.dashPattern.split(" "),
-        c = [];
-    if (0 < b.length)
-        for (var d = 0; d < b.length; d++) c[d] = Number(b[d]) * a;
-    return c.join(" ")
+  var b = this.state.dashPattern.split(" "),
+    c = [];
+  if (0 < b.length)
+    for (var d = 0; d < b.length; d++) c[d] = Number(b[d]) * a;
+  return c.join(" ")
 };
 mxSvgCanvas2D.prototype.createTolerance = function(a) {
-    a = a.cloneNode(!0);
-    var b = parseFloat(a.getAttribute("stroke-width") || 1) + this.strokeTolerance;
-    a.setAttribute("pointer-events", "stroke");
-    a.setAttribute("visibility", "hidden");
-    a.removeAttribute("stroke-dasharray");
-    a.setAttribute("stroke-width", b);
-    a.setAttribute("fill", "none");
-    a.setAttribute("stroke", mxClient.IS_OP ? "none" : "white");
-    return a
+  a = a.cloneNode(!0);
+  var b = parseFloat(a.getAttribute("stroke-width") || 1) + this.strokeTolerance;
+  a.setAttribute("pointer-events", "stroke");
+  a.setAttribute("visibility", "hidden");
+  a.removeAttribute("stroke-dasharray");
+  a.setAttribute("stroke-width", b);
+  a.setAttribute("fill", "none");
+  a.setAttribute("stroke", mxClient.IS_OP ? "none" : "white");
+  return a
 };
 mxSvgCanvas2D.prototype.createShadow = function(a) {
-    a = a.cloneNode(!0);
-    var b = this.state;
-    "none" != a.getAttribute("fill") && a.setAttribute("fill", b.shadowColor);
-    "none" != a.getAttribute("stroke") && a.setAttribute("stroke", b.shadowColor);
-    a.setAttribute("transform", "translate(" + this.format(b.shadowDx * b.scale) + "," + this.format(b.shadowDy * b.scale) + ")" + (b.transform || ""));
-    a.setAttribute("opacity", b.shadowAlpha);
-    return a
+  a = a.cloneNode(!0);
+  var b = this.state;
+  "none" != a.getAttribute("fill") && a.setAttribute("fill", b.shadowColor);
+  "none" != a.getAttribute("stroke") && a.setAttribute("stroke", b.shadowColor);
+  a.setAttribute("transform", "translate(" + this.format(b.shadowDx * b.scale) + "," + this.format(b.shadowDy * b.scale) + ")" + (b.transform || ""));
+  a.setAttribute("opacity", b.shadowAlpha);
+  return a
 };
 mxSvgCanvas2D.prototype.rotate = function(a, b, c, d, e) {
-    if (0 != a || b || c) {
-        var f = this.state;
-        d += f.dx;
-        e += f.dy;
-        d *= f.scale;
-        e *= f.scale;
-        f.transform = f.transform || "";
-        if (b && c) a += 180;
-        else if (b ^ c) {
-            var g = b ? d : 0,
-                h = b ? -1 : 1,
-                k = c ? e : 0,
-                l = c ? -1 : 1;
-            f.transform += "translate(" + this.format(g) + "," + this.format(k) + ")scale(" + this.format(h) + "," + this.format(l) + ")translate(" + this.format(-g) + "," + this.format(-k) + ")"
-        }
-        if (b ? !c : c) a *= -1;
-        0 != a && (f.transform += "rotate(" + this.format(a) + "," + this.format(d) + "," + this.format(e) + ")");
-        f.rotation += a;
-        f.rotationCx =
-            d;
-        f.rotationCy = e
+  if (0 != a || b || c) {
+    var f = this.state;
+    d += f.dx;
+    e += f.dy;
+    d *= f.scale;
+    e *= f.scale;
+    f.transform = f.transform || "";
+    if (b && c) a += 180;
+    else if (b ^ c) {
+      var g = b ? d : 0,
+        h = b ? -1 : 1,
+        k = c ? e : 0,
+        l = c ? -1 : 1;
+      f.transform += "translate(" + this.format(g) + "," + this.format(k) + ")scale(" + this.format(h) + "," + this.format(l) + ")translate(" + this.format(-g) + "," + this.format(-k) + ")"
     }
+    if (b ? !c : c) a *= -1;
+    0 != a && (f.transform += "rotate(" + this.format(a) + "," + this.format(d) + "," + this.format(e) + ")");
+    f.rotation += a;
+    f.rotationCx =
+      d;
+    f.rotationCy = e
+  }
 };
 mxSvgCanvas2D.prototype.begin = function() {
-    mxAbstractCanvas2D.prototype.begin.apply(this, arguments);
-    this.node = this.createElement("path")
+  mxAbstractCanvas2D.prototype.begin.apply(this, arguments);
+  this.node = this.createElement("path")
 };
 mxSvgCanvas2D.prototype.rect = function(a, b, c, d) {
-    var e = this.state,
-        f = this.createElement("rect");
-    f.setAttribute("x", this.format((a + e.dx) * e.scale));
-    f.setAttribute("y", this.format((b + e.dy) * e.scale));
-    f.setAttribute("width", this.format(c * e.scale));
-    f.setAttribute("height", this.format(d * e.scale));
-    this.node = f
+  var e = this.state,
+    f = this.createElement("rect");
+  f.setAttribute("x", this.format((a + e.dx) * e.scale));
+  f.setAttribute("y", this.format((b + e.dy) * e.scale));
+  f.setAttribute("width", this.format(c * e.scale));
+  f.setAttribute("height", this.format(d * e.scale));
+  this.node = f
 };
 mxSvgCanvas2D.prototype.roundrect = function(a, b, c, d, e, f) {
-    this.rect(a, b, c, d);
-    0 < e && this.node.setAttribute("rx", this.format(e * this.state.scale));
-    0 < f && this.node.setAttribute("ry", this.format(f * this.state.scale))
+  this.rect(a, b, c, d);
+  0 < e && this.node.setAttribute("rx", this.format(e * this.state.scale));
+  0 < f && this.node.setAttribute("ry", this.format(f * this.state.scale))
 };
 mxSvgCanvas2D.prototype.ellipse = function(a, b, c, d) {
-    var e = this.state,
-        f = this.createElement("ellipse");
-    f.setAttribute("cx", Math.round((a + c / 2 + e.dx) * e.scale));
-    f.setAttribute("cy", Math.round((b + d / 2 + e.dy) * e.scale));
-    f.setAttribute("rx", c / 2 * e.scale);
-    f.setAttribute("ry", d / 2 * e.scale);
-    this.node = f
+  var e = this.state,
+    f = this.createElement("ellipse");
+  f.setAttribute("cx", Math.round((a + c / 2 + e.dx) * e.scale));
+  f.setAttribute("cy", Math.round((b + d / 2 + e.dy) * e.scale));
+  f.setAttribute("rx", c / 2 * e.scale);
+  f.setAttribute("ry", d / 2 * e.scale);
+  this.node = f
 };
 mxSvgCanvas2D.prototype.image = function(a, b, c, d, e, f, g, h) {
-    e = this.converter.convert(e);
-    f = null != f ? f : !0;
-    g = null != g ? g : !1;
-    h = null != h ? h : !1;
-    var k = this.state;
-    a += k.dx;
-    b += k.dy;
-    var l = this.createElement("image");
-    l.setAttribute("x", this.format(a * k.scale));
-    l.setAttribute("y", this.format(b * k.scale));
-    l.setAttribute("width", this.format(c * k.scale));
-    l.setAttribute("height", this.format(d * k.scale));
-    null == l.setAttributeNS ? l.setAttribute("xlink:href", e) : l.setAttributeNS(mxConstants.NS_XLINK, "href", e);
-    f || l.setAttribute("preserveAspectRatio",
-        "none");
-    1 > k.alpha && l.setAttribute("opacity", k.alpha);
-    e = this.state.transform || "";
-    if (g || h) {
-        var m = f = 1,
-            n = 0,
-            p = 0;
-        g && (f = -1, n = -c - 2 * a);
-        h && (m = -1, p = -d - 2 * b);
-        e += "scale(" + f + "," + m + ")translate(" + n + "," + p + ")"
-    }
-    0 < e.length && l.setAttribute("transform", e);
-    this.root.appendChild(l);
-    this.blockImagePointerEvents && (l.setAttribute("style", "pointer-events:none"), l = this.createElement("rect"), l.setAttribute("visibility", "hidden"), l.setAttribute("pointer-events", "fill"), l.setAttribute("x", this.format(a * k.scale)), l.setAttribute("y",
-        this.format(b * k.scale)), l.setAttribute("width", this.format(c * k.scale)), l.setAttribute("height", this.format(d * k.scale)), this.root.appendChild(l))
+  e = this.converter.convert(e);
+  f = null != f ? f : !0;
+  g = null != g ? g : !1;
+  h = null != h ? h : !1;
+  var k = this.state;
+  a += k.dx;
+  b += k.dy;
+  var l = this.createElement("image");
+  l.setAttribute("x", this.format(a * k.scale));
+  l.setAttribute("y", this.format(b * k.scale));
+  l.setAttribute("width", this.format(c * k.scale));
+  l.setAttribute("height", this.format(d * k.scale));
+  null == l.setAttributeNS ? l.setAttribute("xlink:href", e) : l.setAttributeNS(mxConstants.NS_XLINK, "href", e);
+  f || l.setAttribute("preserveAspectRatio",
+    "none");
+  1 > k.alpha && l.setAttribute("opacity", k.alpha);
+  e = this.state.transform || "";
+  if (g || h) {
+    var m = f = 1,
+      n = 0,
+      p = 0;
+    g && (f = -1, n = -c - 2 * a);
+    h && (m = -1, p = -d - 2 * b);
+    e += "scale(" + f + "," + m + ")translate(" + n + "," + p + ")"
+  }
+  0 < e.length && l.setAttribute("transform", e);
+  this.root.appendChild(l);
+  this.blockImagePointerEvents && (l.setAttribute("style", "pointer-events:none"), l = this.createElement("rect"), l.setAttribute("visibility", "hidden"), l.setAttribute("pointer-events", "fill"),
+    l.setAttribute("x", this.format(a * k.scale)), l.setAttribute("y",
+      this.format(b * k.scale)), l.setAttribute("width", this.format(c * k.scale)), l.setAttribute("height", this.format(d * k.scale)), this.root.appendChild(l))
 };
 mxSvgCanvas2D.prototype.createDiv = function(a, b, c, d, e) {
-    c = this.state;
-    d = "display:inline-block;font-size:" + Math.round(c.fontSize) + "px;font-family:" + c.fontFamily + ";color:" + c.fontColor + ";line-height:" + Math.round(c.fontSize * mxConstants.LINE_HEIGHT) + "px;" + d;
-    (c.fontStyle & mxConstants.FONT_BOLD) == mxConstants.FONT_BOLD && (d += "font-weight:bold;");
-    (c.fontStyle & mxConstants.FONT_ITALIC) == mxConstants.FONT_ITALIC && (d += "font-style:italic;");
-    (c.fontStyle & mxConstants.FONT_UNDERLINE) == mxConstants.FONT_UNDERLINE && (d += "font-decoration:underline;");
-    b == mxConstants.ALIGN_CENTER ? d += "text-align:center;" : b == mxConstants.ALIGN_RIGHT && (d += "text-align:right;");
-    b = "";
-    null != c.fontBackgroundColor && (b += "background-color:" + c.fontBackgroundColor + ";");
-    null != c.fontBorderColor && (b += "border:1px solid " + c.fontBorderColor + ";");
-    mxUtils.isNode(a) || (c = document.createElement("textarea"), c.innerHTML = a.replace(/&lt;/g, "\x26amp;lt;").replace(/&gt;/g, "\x26amp;gt;").replace(/</g, "\x26lt;").replace(/>/g, "\x26gt;"), a = c.value, e ? d += b : 0 < b.length && (a = '\x3cdiv xmlns\x3d"http://www.w3.org/1999/xhtml" style\x3d"display:inline-block;' +
-        b + '"\x3e' + a + "\x3c/div\x3e"));
-    if (!mxClient.IS_IE && document.createElementNS) return e = document.createElementNS("http://www.w3.org/1999/xhtml", "div"), e.setAttribute("style", d), mxUtils.isNode(a) ? this.root.ownerDocument != document ? e.appendChild(a.cloneNode(!0)) : e.appendChild(a) : e.innerHTML = a, e;
-    mxUtils.isNode(a) && this.root.ownerDocument != document && (a = a.outerHTML);
-    a = a.replace(/<br>/g, "\x3cbr /\x3e").replace(/<hr>/g, "\x3chr /\x3e");
-    return mxUtils.parseXml('\x3cdiv xmlns\x3d"http://www.w3.org/1999/xhtml" style\x3d"' +
-        d + '"\x3e' + a + "\x3c/div\x3e").documentElement
+  c = this.state;
+  d = "display:inline-block;font-size:" + Math.round(c.fontSize) + "px;font-family:" + c.fontFamily + ";color:" + c.fontColor + ";line-height:" + Math.round(c.fontSize * mxConstants.LINE_HEIGHT) +
+    "px;" + d;
+  (c.fontStyle & mxConstants.FONT_BOLD) == mxConstants.FONT_BOLD && (d += "font-weight:bold;");
+  (c.fontStyle & mxConstants.FONT_ITALIC) == mxConstants.FONT_ITALIC && (d += "font-style:italic;");
+  (c.fontStyle & mxConstants.FONT_UNDERLINE) == mxConstants.FONT_UNDERLINE && (d += "font-decoration:underline;");
+  b == mxConstants.ALIGN_CENTER ? d += "text-align:center;" : b == mxConstants.ALIGN_RIGHT && (d += "text-align:right;");
+  b = "";
+  null != c.fontBackgroundColor && (b += "background-color:" + c.fontBackgroundColor + ";");
+  null != c.fontBorderColor && (b += "border:1px solid " + c.fontBorderColor + ";");
+  mxUtils.isNode(a) || (c = document.createElement("textarea"), c.innerHTML = a.replace(/&lt;/g, "\x26amp;lt;").replace(/&gt;/g, "\x26amp;gt;").replace(/</g, "\x26lt;").replace(/>/g, "\x26gt;"), a =
+    c.value, e ? d += b : 0 < b.length && (a = '\x3cdiv xmlns\x3d"http://www.w3.org/1999/xhtml" style\x3d"display:inline-block;' +
+      b + '"\x3e' + a + "\x3c/div\x3e"));
+  if (!mxClient.IS_IE && document.createElementNS) return e = document.createElementNS("http://www.w3.org/1999/xhtml", "div"), e.setAttribute("style", d), mxUtils.isNode(a) ? this.root.ownerDocument !=
+    document ? e.appendChild(a.cloneNode(!0)) : e.appendChild(a) : e.innerHTML = a, e;
+  mxUtils.isNode(a) && this.root.ownerDocument != document && (a = a.outerHTML);
+  a = a.replace(/<br>/g, "\x3cbr /\x3e").replace(/<hr>/g, "\x3chr /\x3e");
+  return mxUtils.parseXml('\x3cdiv xmlns\x3d"http://www.w3.org/1999/xhtml" style\x3d"' +
+    d + '"\x3e' + a + "\x3c/div\x3e").documentElement
 };
 mxSvgCanvas2D.prototype.text = function(a, b, c, d, e, f, g, h, k, l, m, n) {
-    if (this.textEnabled && null != e) {
-        n = null != n ? n : 0;
-        var p = this.state;
-        a += p.dx;
-        b += p.dy;
-        if (this.foEnabled && "html" == k) {
-            var q = "vertical-align:top;";
-            m ? (q += "overflow:hidden;", 0 < d && (q += "max-height:" + Math.round(d) + "px;"), 0 < c && (q += "width:" + Math.round(c) + "px;")) : l && (q += "width:" + Math.round(c) + "px;", 0 < d && (q += "max-height:" + Math.round(d) + "px;"));
-            h ? (!m && 0 < c && (q += "width:" + Math.round(c) + "px;"), q += "white-space:normal;") : q += "white-space:nowrap;";
-            h = this.createElement("g");
-            1 > p.alpha && h.setAttribute("opacity", p.alpha);
-            k = this.createElement("foreignObject");
-            k.setAttribute("pointer-events", "all");
-            q = this.createDiv(e, f, g, q, l);
-            if (null != q) {
-                h.appendChild(k);
-                this.root.appendChild(h);
-                var s = 0;
-                if (mxClient.IS_IE && !mxClient.IS_SVG) {
-                    var r = document.createElement("div");
-                    r.style.cssText = q.getAttribute("style");
-                    r.style.display = mxClient.IS_QUIRKS ? "inline" : "inline-block";
-                    r.style.visibility = "hidden";
-                    r.innerHTML = mxUtils.isNode(e) ? e.outerHTML : e;
-                    document.body.appendChild(r);
-                    s = r.offsetWidth;
-                    d = mxClient.IS_QUIRKS && 0 < d && m ? Math.min(d, r.offsetHeight + 2) : r.offsetHeight;
-                    r.parentNode.removeChild(r);
-                    k.appendChild(q)
-                } else this.root.ownerDocument != document ? (q.style.visibility = "hidden", document.body.appendChild(q), s = q.offsetWidth, d = q.offsetHeight, k.appendChild(q), q.style.visibility = "") : (k.appendChild(q), s = q.offsetWidth, d = q.offsetHeight);
-                c = l ? Math.max(c, s) : s;
-                1 > p.alpha && h.setAttribute("opacity", p.alpha);
-                l = e = 0;
-                f == mxConstants.ALIGN_CENTER ? e -= c / 2 : f == mxConstants.ALIGN_RIGHT && (e -= c);
-                a += e;
-                g == mxConstants.ALIGN_MIDDLE ?
-                    l -= d / 2 : g == mxConstants.ALIGN_BOTTOM && (l -= d);
-                b += l;
-                f = 1 != p.scale ? "scale(" + p.scale + ")" : "";
-                0 != p.rotation && this.rotateHtml ? (f += "rotate(" + p.rotation + "," + c / 2 + "," + d / 2 + ")", b = this.rotatePoint((a + c / 2) * p.scale, (b + d / 2) * p.scale, p.rotation, p.rotationCx, p.rotationCy), a = b.x - c * p.scale / 2, b = b.y - d * p.scale / 2) : (a *= p.scale, b *= p.scale);
-                0 != n && (f += "rotate(" + n + "," + -e + "," + -l + ")");
-                h.setAttribute("transform", "translate(" + Math.round(a) + "," + Math.round(b) + ")" + f);
-                k.setAttribute("width", Math.round(Math.max(1, c)));
-                k.setAttribute("height",
-                    Math.round(Math.max(1, d)))
-            }
-        } else this.plainText(a, b, c, d, e, f, g, h, l, m, n)
-    }
+  if (this.textEnabled && null != e) {
+    n = null != n ? n : 0;
+    var p = this.state;
+    a += p.dx;
+    b += p.dy;
+    if (this.foEnabled && "html" == k) {
+      var q = "vertical-align:top;";
+      m ? (q += "overflow:hidden;", 0 < d && (q += "max-height:" + Math.round(d) + "px;"), 0 < c && (q += "width:" + Math.round(c) + "px;")) : l && (q += "width:" + Math.round(c) + "px;", 0 < d &&
+        (q += "max-height:" + Math.round(d) + "px;"));
+      h ? (!m && 0 < c && (q += "width:" + Math.round(c) + "px;"), q += "white-space:normal;") : q += "white-space:nowrap;";
+      h = this.createElement("g");
+      1 > p.alpha && h.setAttribute("opacity", p.alpha);
+      k = this.createElement("foreignObject");
+      k.setAttribute("pointer-events", "all");
+      q = this.createDiv(e, f, g, q, l);
+      if (null != q) {
+        h.appendChild(k);
+        this.root.appendChild(h);
+        var s = 0;
+        if (mxClient.IS_IE && !mxClient.IS_SVG) {
+          var r = document.createElement("div");
+          r.style.cssText = q.getAttribute("style");
+          r.style.display = mxClient.IS_QUIRKS ? "inline" : "inline-block";
+          r.style.visibility = "hidden";
+          r.innerHTML = mxUtils.isNode(e) ? e.outerHTML : e;
+          document.body.appendChild(r);
+          s = r.offsetWidth;
+          d = mxClient.IS_QUIRKS && 0 < d && m ? Math.min(d, r.offsetHeight + 2) : r.offsetHeight;
+          r.parentNode.removeChild(r);
+          k.appendChild(q)
+        } else this.root.ownerDocument != document ? (q.style.visibility = "hidden", document.body.appendChild(q), s = q.offsetWidth, d = q.offsetHeight, k.appendChild(q), q.style.visibility = "") :
+          (k.appendChild(q), s = q.offsetWidth, d = q.offsetHeight);
+        c = l ? Math.max(c, s) : s;
+        1 > p.alpha && h.setAttribute("opacity", p.alpha);
+        l = e = 0;
+        f == mxConstants.ALIGN_CENTER ? e -= c / 2 : f == mxConstants.ALIGN_RIGHT && (e -= c);
+        a += e;
+        g == mxConstants.ALIGN_MIDDLE ?
+          l -= d / 2 : g == mxConstants.ALIGN_BOTTOM && (l -= d);
+        b += l;
+        f = 1 != p.scale ? "scale(" + p.scale + ")" : "";
+        0 != p.rotation && this.rotateHtml ? (f += "rotate(" + p.rotation + "," + c / 2 + "," + d / 2 + ")", b = this.rotatePoint((a + c / 2) * p.scale, (b + d / 2) * p.scale, p.rotation, p.rotationCx,
+          p.rotationCy), a = b.x - c * p.scale / 2, b = b.y - d * p.scale / 2) : (a *= p.scale, b *= p.scale);
+        0 != n && (f += "rotate(" + n + "," + -e + "," + -l + ")");
+        h.setAttribute("transform", "translate(" + Math.round(a) + "," + Math.round(b) + ")" + f);
+        k.setAttribute("width", Math.round(Math.max(1, c)));
+        k.setAttribute("height",
+          Math.round(Math.max(1, d)))
+      }
+    } else this.plainText(a, b, c, d, e, f, g, h, l, m, n)
+  }
 };
 mxSvgCanvas2D.prototype.createClip = function(a, b, c, d) {
-    a = Math.round(a);
-    b = Math.round(b);
-    c = Math.round(c);
-    d = Math.round(d);
-    for (var e = "mx-clip-" + a + "-" + b + "-" + c + "-" + d, f = 0, g = e + "-" + f; null != document.getElementById(g);) g = e + "-" + ++f;
-    clip = this.createElement("clipPath");
-    clip.setAttribute("id", g);
-    e = this.createElement("rect");
-    e.setAttribute("x", a);
-    e.setAttribute("y", b);
-    e.setAttribute("width", c);
-    e.setAttribute("height", d);
-    clip.appendChild(e);
-    return clip
+  a = Math.round(a);
+  b = Math.round(b);
+  c = Math.round(c);
+  d = Math.round(d);
+  for (var e = "mx-clip-" + a + "-" + b + "-" + c + "-" + d, f = 0, g = e + "-" + f; null != document.getElementById(g);) g = e + "-" + ++f;
+  clip = this.createElement("clipPath");
+  clip.setAttribute("id", g);
+  e = this.createElement("rect");
+  e.setAttribute("x", a);
+  e.setAttribute("y", b);
+  e.setAttribute("width", c);
+  e.setAttribute("height", d);
+  clip.appendChild(e);
+  return clip
 };
 mxSvgCanvas2D.prototype.plainText = function(a, b, c, d, e, f, g, h, k, l, m) {
-    m = null != m ? m : 0;
-    h = this.state;
-    var n = Math.round(h.fontSize),
-        p = this.createElement("g"),
-        q = h.transform || "";
-    0 != m && (q += "rotate(" + m + "," + this.format(a * h.scale) + "," + this.format(b * h.scale) + ")");
-    if (l && 0 < c && 0 < d) {
-        var s = a;
-        m = b;
-        f == mxConstants.ALIGN_CENTER ? s -= c / 2 : f == mxConstants.ALIGN_RIGHT && (s -= c);
-        g == mxConstants.ALIGN_MIDDLE ? m -= d / 2 : g == mxConstants.ALIGN_BOTTOM && (m -= d);
-        m = this.createClip(s * h.scale - 2, m * h.scale - 2, c * h.scale + 4, d * h.scale + 4);
-        null != this.defs ? this.defs.appendChild(m) :
-            this.root.appendChild(m);
-        p.setAttribute("clip-path", "url(#" + m.getAttribute("id") + ")")
-    }
-    this.updateFont(p, f);
-    m = f == mxConstants.ALIGN_RIGHT ? "end" : f == mxConstants.ALIGN_CENTER ? "middle" : "start";
-    "start" != m && p.setAttribute("text-anchor", m);
-    (!this.styleEnabled || n != mxConstants.DEFAULT_FONTSIZE) && p.setAttribute("font-size", Math.round(n * h.scale) + "px");
-    0 < q.length && p.setAttribute("transform", q);
-    1 > h.alpha && p.setAttribute("opacity", h.alpha);
-    var q = e.split("\n"),
-        s = Math.round(n * mxConstants.LINE_HEIGHT),
-        r = n + (q.length -
-            1) * s;
-    m = b + n - 1;
-    g == mxConstants.ALIGN_MIDDLE ? (d = (this.matchHtmlAlignment && l && 0 < d ? Math.min(r, d) : r) / 2, m -= d + 1) : g == mxConstants.ALIGN_BOTTOM && (d = this.matchHtmlAlignment && l && 0 < d ? Math.min(r, d) : r, m -= d + 2);
-    for (d = 0; d < q.length; d++) 0 < q[d].length && 0 < mxUtils.trim(q[d]).length && (l = this.createElement("text"), l.setAttribute("x", this.format(a * h.scale)), l.setAttribute("y", this.format(m * h.scale)), mxUtils.write(l, q[d]), p.appendChild(l)), m += s;
-    this.root.appendChild(p);
-    this.addTextBackground(p, e, a, b, c, r, f, g, k)
+  m = null != m ? m : 0;
+  h = this.state;
+  var n = Math.round(h.fontSize),
+    p = this.createElement("g"),
+    q = h.transform || "";
+  0 != m && (q += "rotate(" + m + "," + this.format(a * h.scale) + "," + this.format(b * h.scale) + ")");
+  if (l && 0 < c && 0 < d) {
+    var s = a;
+    m = b;
+    f == mxConstants.ALIGN_CENTER ? s -= c / 2 : f == mxConstants.ALIGN_RIGHT && (s -= c);
+    g == mxConstants.ALIGN_MIDDLE ? m -= d / 2 : g == mxConstants.ALIGN_BOTTOM && (m -= d);
+    m = this.createClip(s * h.scale - 2, m * h.scale - 2, c * h.scale + 4, d * h.scale + 4);
+    null != this.defs ? this.defs.appendChild(m) :
+      this.root.appendChild(m);
+    p.setAttribute("clip-path", "url(#" + m.getAttribute("id") + ")")
+  }
+  this.updateFont(p, f);
+  m = f == mxConstants.ALIGN_RIGHT ? "end" : f == mxConstants.ALIGN_CENTER ? "middle" : "start";
+  "start" != m && p.setAttribute("text-anchor", m);
+  (!this.styleEnabled || n != mxConstants.DEFAULT_FONTSIZE) && p.setAttribute("font-size", Math.round(n * h.scale) + "px");
+  0 < q.length && p.setAttribute("transform", q);
+  1 > h.alpha && p.setAttribute("opacity", h.alpha);
+  var q = e.split("\n"),
+    s = Math.round(n * mxConstants.LINE_HEIGHT),
+    r = n + (q.length -
+      1) * s;
+  m = b + n - 1;
+  g == mxConstants.ALIGN_MIDDLE ? (d = (this.matchHtmlAlignment && l && 0 < d ? Math.min(r, d) : r) / 2, m -= d + 1) : g == mxConstants.ALIGN_BOTTOM && (d = this.matchHtmlAlignment && l && 0 < d ?
+    Math.min(r, d) : r, m -= d + 2);
+  for (d = 0; d < q.length; d++) 0 < q[d].length && 0 < mxUtils.trim(q[d]).length && (l = this.createElement("text"), l.setAttribute("x", this.format(a * h.scale)), l.setAttribute("y", this.format(
+    m * h.scale)), mxUtils.write(l, q[d]), p.appendChild(l)), m += s;
+  this.root.appendChild(p);
+  this.addTextBackground(p, e, a, b, c, r, f, g, k)
 };
 mxSvgCanvas2D.prototype.updateFont = function(a) {
-    var b = this.state;
-    a.setAttribute("fill", b.fontColor);
-    (!this.styleEnabled || b.fontFamily != mxConstants.DEFAULT_FONTFAMILY) && a.setAttribute("font-family", b.fontFamily);
-    (b.fontStyle & mxConstants.FONT_BOLD) == mxConstants.FONT_BOLD && a.setAttribute("font-weight", "bold");
-    (b.fontStyle & mxConstants.FONT_ITALIC) == mxConstants.FONT_ITALIC && a.setAttribute("font-style", "italic");
-    (b.fontStyle & mxConstants.FONT_UNDERLINE) == mxConstants.FONT_UNDERLINE && a.setAttribute("text-decoration",
-        "underline")
+  var b = this.state;
+  a.setAttribute("fill", b.fontColor);
+  (!this.styleEnabled || b.fontFamily != mxConstants.DEFAULT_FONTFAMILY) && a.setAttribute("font-family", b.fontFamily);
+  (b.fontStyle & mxConstants.FONT_BOLD) == mxConstants.FONT_BOLD && a.setAttribute("font-weight", "bold");
+  (b.fontStyle & mxConstants.FONT_ITALIC) == mxConstants.FONT_ITALIC && a.setAttribute("font-style", "italic");
+  (b.fontStyle & mxConstants.FONT_UNDERLINE) == mxConstants.FONT_UNDERLINE && a.setAttribute("text-decoration",
+    "underline")
 };
 mxSvgCanvas2D.prototype.addTextBackground = function(a, b, c, d, e, f, g, h, k) {
-    var l = this.state;
-    if (null != l.fontBackgroundColor || null != l.fontBorderColor) {
-        var m = null;
-        k ? (g == mxConstants.ALIGN_CENTER ? c -= e / 2 : g == mxConstants.ALIGN_RIGHT && (c -= e), h == mxConstants.ALIGN_MIDDLE ? d -= f / 2 : h == mxConstants.ALIGN_BOTTOM && (d -= f), m = new mxRectangle((c + 1) * l.scale, d * l.scale, (e - 2) * l.scale, (f + 2) * l.scale)) : null != a.getBBox && this.root.ownerDocument == document ? (m = a.getBBox(), b = mxClient.IS_IE && mxClient.IS_SVG, m = new mxRectangle(m.x, m.y + (b ? 0 :
-            1), m.width, m.height + (b ? 1 : 0))) : (m = document.createElement("div"), m.style.lineHeight = Math.round(l.fontSize * mxConstants.LINE_HEIGHT) + "px", m.style.fontSize = Math.round(l.fontSize) + "px", m.style.fontFamily = l.fontFamily, m.style.whiteSpace = "nowrap", m.style.position = "absolute", m.style.visibility = "hidden", m.style.display = mxClient.IS_QUIRKS ? "inline" : "inline-block", m.style.zoom = "1", (l.fontStyle & mxConstants.FONT_BOLD) == mxConstants.FONT_BOLD && (m.style.fontWeight = "bold"), (l.fontStyle & mxConstants.FONT_ITALIC) == mxConstants.FONT_ITALIC &&
-            (m.style.fontStyle = "italic"), b = mxUtils.htmlEntities(b, !1), m.innerHTML = b.replace(/\n/g, "\x3cbr/\x3e"), document.body.appendChild(m), e = m.offsetWidth, f = m.offsetHeight, m.parentNode.removeChild(m), g == mxConstants.ALIGN_CENTER ? c -= e / 2 : g == mxConstants.ALIGN_RIGHT && (c -= e), h == mxConstants.ALIGN_MIDDLE ? d -= f / 2 : h == mxConstants.ALIGN_BOTTOM && (d -= f), m = new mxRectangle((c + 1) * l.scale, (d + 2) * l.scale, e * l.scale, (f + 1) * l.scale));
-        null != m && (b = this.createElement("rect"), b.setAttribute("fill", l.fontBackgroundColor || "none"), b.setAttribute("stroke",
-            l.fontBorderColor || "none"), b.setAttribute("x", Math.floor(m.x - 1)), b.setAttribute("y", Math.floor(m.y - 1)), b.setAttribute("width", Math.ceil(m.width + 2)), b.setAttribute("height", Math.ceil(m.height)), l = null != l.fontBorderColor ? Math.max(1, this.format(l.scale)) : 0, b.setAttribute("stroke-width", l), this.root.ownerDocument == document && 1 == mxUtils.mod(l, 2) && b.setAttribute("transform", "translate(0.5, 0.5)"), a.insertBefore(b, a.firstChild))
-    }
+  var l = this.state;
+  if (null != l.fontBackgroundColor || null != l.fontBorderColor) {
+    var m = null;
+    k ? (g == mxConstants.ALIGN_CENTER ? c -= e / 2 : g == mxConstants.ALIGN_RIGHT && (c -= e), h == mxConstants.ALIGN_MIDDLE ? d -= f / 2 : h == mxConstants.ALIGN_BOTTOM && (d -= f), m = new mxRectangle(
+      (c + 1) * l.scale, d * l.scale, (e - 2) * l.scale, (f + 2) * l.scale)) : null != a.getBBox && this.root.ownerDocument == document ? (m = a.getBBox(), b = mxClient.IS_IE && mxClient.IS_SVG,
+      m = new mxRectangle(m.x, m.y + (b ? 0 :
+        1), m.width, m.height + (b ? 1 : 0))) : (m = document.createElement("div"), m.style.lineHeight = Math.round(l.fontSize * mxConstants.LINE_HEIGHT) + "px", m.style.fontSize = Math.round(l.fontSize) +
+      "px", m.style.fontFamily = l.fontFamily, m.style.whiteSpace = "nowrap", m.style.position = "absolute", m.style.visibility = "hidden", m.style.display = mxClient.IS_QUIRKS ? "inline" :
+      "inline-block", m.style.zoom = "1", (l.fontStyle & mxConstants.FONT_BOLD) == mxConstants.FONT_BOLD && (m.style.fontWeight = "bold"), (l.fontStyle & mxConstants.FONT_ITALIC) == mxConstants.FONT_ITALIC &&
+      (m.style.fontStyle = "italic"), b = mxUtils.htmlEntities(b, !1), m.innerHTML = b.replace(/\n/g, "\x3cbr/\x3e"), document.body.appendChild(m), e = m.offsetWidth, f = m.offsetHeight, m.parentNode
+      .removeChild(m), g == mxConstants.ALIGN_CENTER ? c -= e / 2 : g == mxConstants.ALIGN_RIGHT && (c -= e), h == mxConstants.ALIGN_MIDDLE ? d -= f / 2 : h == mxConstants.ALIGN_BOTTOM && (d -= f),
+      m = new mxRectangle((c + 1) * l.scale, (d + 2) * l.scale, e * l.scale, (f + 1) * l.scale));
+    null != m && (b = this.createElement("rect"), b.setAttribute("fill", l.fontBackgroundColor || "none"), b.setAttribute("stroke",
+      l.fontBorderColor || "none"), b.setAttribute("x", Math.floor(m.x - 1)), b.setAttribute("y", Math.floor(m.y - 1)), b.setAttribute("width", Math.ceil(m.width + 2)), b.setAttribute("height",
+      Math.ceil(m.height)), l = null != l.fontBorderColor ? Math.max(1, this.format(l.scale)) : 0, b.setAttribute("stroke-width", l), this.root.ownerDocument == document && 1 == mxUtils.mod(l,
+      2) && b.setAttribute("transform", "translate(0.5, 0.5)"), a.insertBefore(b, a.firstChild))
+  }
 };
 mxSvgCanvas2D.prototype.stroke = function() {
-    this.addNode(!1, !0)
+  this.addNode(!1, !0)
 };
 mxSvgCanvas2D.prototype.fill = function() {
-    this.addNode(!0, !1)
+  this.addNode(!0, !1)
 };
 mxSvgCanvas2D.prototype.fillAndStroke = function() {
-    this.addNode(!0, !0)
+  this.addNode(!0, !0)
 };
 var mxVmlCanvas2D = function(a) {
-    mxAbstractCanvas2D.call(this);
-    this.root = a
+  mxAbstractCanvas2D.call(this);
+  this.root = a
 };
 mxUtils.extend(mxVmlCanvas2D, mxAbstractCanvas2D);
 mxVmlCanvas2D.prototype.node = null;
@@ -4512,275 +4570,286 @@ mxVmlCanvas2D.prototype.closeOp = "x";
 mxVmlCanvas2D.prototype.rotatedHtmlBackground = "";
 mxVmlCanvas2D.prototype.vmlScale = 1;
 mxVmlCanvas2D.prototype.addNode = function(a, b) {
-    var c = this.node,
-        d = this.state;
-    if (null != c) {
-        if ("shape" == c.nodeName)
-            if (null != this.path && 0 < this.path.length) c.path = this.path.join(" ") + " e", c.style.width = this.root.style.width, c.style.height = this.root.style.height, c.coordsize = parseInt(c.style.width) + " " + parseInt(c.style.height);
-            else return;
-        c.strokeweight = this.format(Math.max(1, d.strokeWidth * d.scale / this.vmlScale)) + "px";
-        d.shadow && this.root.appendChild(this.createShadow(c, a && null != d.fillColor, b && null != d.strokeColor));
-        b && null != d.strokeColor ? (c.stroked = "true", c.strokecolor = d.strokeColor) : c.stroked = "false";
-        c.appendChild(this.createStroke());
-        a && null != d.fillColor ? c.appendChild(this.createFill()) : this.pointerEvents && ("shape" != c.nodeName || this.path[this.path.length - 1] == this.closeOp) ? c.appendChild(this.createTransparentFill()) : c.filled = "false";
-        this.root.appendChild(c)
-    }
+  var c = this.node,
+    d = this.state;
+  if (null != c) {
+    if ("shape" == c.nodeName)
+      if (null != this.path && 0 < this.path.length) c.path = this.path.join(" ") + " e", c.style.width = this.root.style.width, c.style.height = this.root.style.height, c.coordsize = parseInt(c.style
+        .width) + " " + parseInt(c.style.height);
+      else return;
+    c.strokeweight = this.format(Math.max(1, d.strokeWidth * d.scale / this.vmlScale)) + "px";
+    d.shadow && this.root.appendChild(this.createShadow(c, a && null != d.fillColor, b && null != d.strokeColor));
+    b && null != d.strokeColor ? (c.stroked = "true", c.strokecolor = d.strokeColor) : c.stroked = "false";
+    c.appendChild(this.createStroke());
+    a && null != d.fillColor ? c.appendChild(this.createFill()) : this.pointerEvents && ("shape" != c.nodeName || this.path[this.path.length - 1] == this.closeOp) ? c.appendChild(this.createTransparentFill()) :
+      c.filled = "false";
+    this.root.appendChild(c)
+  }
 };
 mxVmlCanvas2D.prototype.createTransparentFill = function() {
-    var a = document.createElement(mxClient.VML_PREFIX + ":fill");
-    a.src = mxClient.imageBasePath + "/transparent.gif";
-    a.type = "tile";
-    return a
+  var a = document.createElement(mxClient.VML_PREFIX + ":fill");
+  a.src = mxClient.imageBasePath + "/transparent.gif";
+  a.type = "tile";
+  return a
 };
 mxVmlCanvas2D.prototype.createFill = function() {
-    var a = this.state,
-        b = document.createElement(mxClient.VML_PREFIX + ":fill");
-    b.color = a.fillColor;
-    if (null != a.gradientColor) {
-        b.type = "gradient";
-        b.method = "none";
-        b.color2 = a.gradientColor;
-        var c = 180 - a.rotation,
-            c = a.gradientDirection == mxConstants.DIRECTION_WEST ? c - (90 + ("x" == this.root.style.flip ? 180 : 0)) : a.gradientDirection == mxConstants.DIRECTION_EAST ? c + (90 + ("x" == this.root.style.flip ? 180 : 0)) : a.gradientDirection == mxConstants.DIRECTION_NORTH ? c - (180 + ("y" == this.root.style.flip ?
-                -180 : 0)) : c + ("y" == this.root.style.flip ? -180 : 0);
-        if ("x" == this.root.style.flip || "y" == this.root.style.flip) c *= -1;
-        b.angle = mxUtils.mod(c, 360);
-        b.opacity = 100 * a.alpha * a.fillAlpha + "%";
-        b.setAttribute(mxClient.OFFICE_PREFIX + ":opacity2", 100 * a.alpha * a.gradientAlpha + "%")
-    } else 1 > a.alpha && (b.opacity = 100 * a.alpha + "%");
-    return b
+  var a = this.state,
+    b = document.createElement(mxClient.VML_PREFIX + ":fill");
+  b.color = a.fillColor;
+  if (null != a.gradientColor) {
+    b.type = "gradient";
+    b.method = "none";
+    b.color2 = a.gradientColor;
+    var c = 180 - a.rotation,
+      c = a.gradientDirection == mxConstants.DIRECTION_WEST ? c - (90 + ("x" == this.root.style.flip ? 180 : 0)) : a.gradientDirection == mxConstants.DIRECTION_EAST ? c + (90 + ("x" == this.root.style
+        .flip ? 180 : 0)) : a.gradientDirection == mxConstants.DIRECTION_NORTH ? c - (180 + ("y" == this.root.style.flip ?
+        -180 : 0)) : c + ("y" == this.root.style.flip ? -180 : 0);
+    if ("x" == this.root.style.flip || "y" == this.root.style.flip) c *= -1;
+    b.angle = mxUtils.mod(c, 360);
+    b.opacity = 100 * a.alpha * a.fillAlpha + "%";
+    b.setAttribute(mxClient.OFFICE_PREFIX + ":opacity2", 100 * a.alpha * a.gradientAlpha + "%")
+  } else 1 > a.alpha && (b.opacity = 100 * a.alpha + "%");
+  return b
 };
 mxVmlCanvas2D.prototype.createStroke = function() {
-    var a = this.state,
-        b = document.createElement(mxClient.VML_PREFIX + ":stroke");
-    b.endcap = a.lineCap || "flat";
-    b.joinstyle = a.lineJoin || "miter";
-    b.miterlimit = a.miterLimit || "10";
-    1 > a.alpha && (b.opacity = 100 * a.alpha + "%");
-    a.dashed && (b.dashstyle = this.getVmlDashStyle());
-    return b
+  var a = this.state,
+    b = document.createElement(mxClient.VML_PREFIX + ":stroke");
+  b.endcap = a.lineCap || "flat";
+  b.joinstyle = a.lineJoin || "miter";
+  b.miterlimit = a.miterLimit || "10";
+  1 > a.alpha && (b.opacity = 100 * a.alpha + "%");
+  a.dashed && (b.dashstyle = this.getVmlDashStyle());
+  return b
 };
 mxVmlCanvas2D.prototype.getVmlDashStyle = function() {
-    var a = "dash";
-    if (null != this.state.dashPattern) {
-        var b = this.state.dashPattern.split(" ");
-        0 < b.length && 1 == b[0] && (a = "0 2")
-    }
-    return a
+  var a = "dash";
+  if (null != this.state.dashPattern) {
+    var b = this.state.dashPattern.split(" ");
+    0 < b.length && 1 == b[0] && (a = "0 2")
+  }
+  return a
 };
 mxVmlCanvas2D.prototype.createShadow = function(a, b, c) {
-    var d = this.state,
-        e = -d.rotation * (Math.PI / 180),
-        f = Math.cos(e),
-        e = Math.sin(e),
-        g = d.shadowDx * d.scale,
-        h = d.shadowDy * d.scale;
-    "x" == this.root.style.flip ? g *= -1 : "y" == this.root.style.flip && (h *= -1);
-    var k = a.cloneNode(!0);
-    k.style.marginLeft = Math.round(g * f - h * e) + "px";
-    k.style.marginTop = Math.round(g * e + h * f) + "px";
-    8 == document.documentMode && (k.strokeweight = a.strokeweight, "shape" == a.nodeName && (k.path = this.path.join(" ") + " e", k.style.width = this.root.style.width, k.style.height =
-        this.root.style.height, k.coordsize = parseInt(a.style.width) + " " + parseInt(a.style.height)));
-    c ? (k.strokecolor = d.shadowColor, k.appendChild(this.createShadowStroke())) : k.stroked = "false";
-    b ? k.appendChild(this.createShadowFill()) : k.filled = "false";
-    return k
+  var d = this.state,
+    e = -d.rotation * (Math.PI / 180),
+    f = Math.cos(e),
+    e = Math.sin(e),
+    g = d.shadowDx * d.scale,
+    h = d.shadowDy * d.scale;
+  "x" == this.root.style.flip ? g *= -1 : "y" == this.root.style.flip && (h *= -1);
+  var k = a.cloneNode(!0);
+  k.style.marginLeft = Math.round(g * f - h * e) + "px";
+  k.style.marginTop = Math.round(g * e + h * f) + "px";
+  8 == document.documentMode && (k.strokeweight = a.strokeweight, "shape" == a.nodeName && (k.path = this.path.join(" ") + " e", k.style.width = this.root.style.width, k.style.height =
+    this.root.style.height, k.coordsize = parseInt(a.style.width) + " " + parseInt(a.style.height)));
+  c ? (k.strokecolor = d.shadowColor, k.appendChild(this.createShadowStroke())) : k.stroked = "false";
+  b ? k.appendChild(this.createShadowFill()) : k.filled = "false";
+  return k
 };
 mxVmlCanvas2D.prototype.createShadowFill = function() {
-    var a = document.createElement(mxClient.VML_PREFIX + ":fill");
-    a.color = this.state.shadowColor;
-    a.opacity = 100 * this.state.alpha * this.state.shadowAlpha + "%";
-    return a
+  var a = document.createElement(mxClient.VML_PREFIX + ":fill");
+  a.color = this.state.shadowColor;
+  a.opacity = 100 * this.state.alpha * this.state.shadowAlpha + "%";
+  return a
 };
 mxVmlCanvas2D.prototype.createShadowStroke = function() {
-    var a = this.createStroke();
-    a.opacity = 100 * this.state.alpha * this.state.shadowAlpha + "%";
-    return a
+  var a = this.createStroke();
+  a.opacity = 100 * this.state.alpha * this.state.shadowAlpha + "%";
+  return a
 };
 mxVmlCanvas2D.prototype.rotate = function(a, b, c, d, e) {
-    b && c ? a += 180 : b ? this.root.style.flip = "x" : c && (this.root.style.flip = "y");
-    if (b ? !c : c) a *= -1;
-    this.root.style.rotation = a;
-    this.state.rotation += a;
-    this.state.rotationCx = d;
-    this.state.rotationCy = e
+  b && c ? a += 180 : b ? this.root.style.flip = "x" : c && (this.root.style.flip = "y");
+  if (b ? !c : c) a *= -1;
+  this.root.style.rotation = a;
+  this.state.rotation += a;
+  this.state.rotationCx = d;
+  this.state.rotationCy = e
 };
 mxVmlCanvas2D.prototype.begin = function() {
-    mxAbstractCanvas2D.prototype.begin.apply(this, arguments);
-    this.node = document.createElement(mxClient.VML_PREFIX + ":shape");
-    this.node.style.position = "absolute"
+  mxAbstractCanvas2D.prototype.begin.apply(this, arguments);
+  this.node = document.createElement(mxClient.VML_PREFIX + ":shape");
+  this.node.style.position = "absolute"
 };
 mxVmlCanvas2D.prototype.quadTo = function(a, b, c, d) {
-    var e = this.state,
-        f = (this.lastX + e.dx) * e.scale,
-        g = (this.lastY + e.dy) * e.scale;
-    a = (a + e.dx) * e.scale;
-    b = (b + e.dy) * e.scale;
-    c = (c + e.dx) * e.scale;
-    d = (d + e.dy) * e.scale;
-    var g = g + 2 / 3 * (b - g),
-        h = c + 2 / 3 * (a - c);
-    b = d + 2 / 3 * (b - d);
-    this.path.push("c " + this.format(f + 2 / 3 * (a - f)) + " " + this.format(g) + " " + this.format(h) + " " + this.format(b) + " " + this.format(c) + " " + this.format(d));
-    this.lastX = c / e.scale - e.dx;
-    this.lastY = d / e.scale - e.dy
+  var e = this.state,
+    f = (this.lastX + e.dx) * e.scale,
+    g = (this.lastY + e.dy) * e.scale;
+  a = (a + e.dx) * e.scale;
+  b = (b + e.dy) * e.scale;
+  c = (c + e.dx) * e.scale;
+  d = (d + e.dy) * e.scale;
+  var g = g + 2 / 3 * (b - g),
+    h = c + 2 / 3 * (a - c);
+  b = d + 2 / 3 * (b - d);
+  this.path.push("c " + this.format(f + 2 / 3 * (a - f)) + " " + this.format(g) + " " + this.format(h) + " " + this.format(b) + " " + this.format(c) + " " + this.format(d));
+  this.lastX = c / e.scale - e.dx;
+  this.lastY = d / e.scale - e.dy
 };
 mxVmlCanvas2D.prototype.createRect = function(a, b, c, d, e) {
-    var f = this.state;
-    a = document.createElement(a);
-    a.style.position = "absolute";
-    a.style.left = this.format((b + f.dx) * f.scale) + "px";
-    a.style.top = this.format((c + f.dy) * f.scale) + "px";
-    a.style.width = this.format(d * f.scale) + "px";
-    a.style.height = this.format(e * f.scale) + "px";
-    return a
+  var f = this.state;
+  a = document.createElement(a);
+  a.style.position = "absolute";
+  a.style.left = this.format((b + f.dx) * f.scale) + "px";
+  a.style.top = this.format((c + f.dy) * f.scale) + "px";
+  a.style.width = this.format(d * f.scale) + "px";
+  a.style.height = this.format(e * f.scale) + "px";
+  return a
 };
 mxVmlCanvas2D.prototype.rect = function(a, b, c, d) {
-    this.node = this.createRect(mxClient.VML_PREFIX + ":rect", a, b, c, d)
+  this.node = this.createRect(mxClient.VML_PREFIX + ":rect", a, b, c, d)
 };
 mxVmlCanvas2D.prototype.roundrect = function(a, b, c, d, e, f) {
-    this.node = this.createRect(mxClient.VML_PREFIX + ":roundrect", a, b, c, d);
-    this.node.setAttribute("arcsize", Math.max(100 * e / c, 100 * f / d) + "%")
+  this.node = this.createRect(mxClient.VML_PREFIX + ":roundrect", a, b, c, d);
+  this.node.setAttribute("arcsize", Math.max(100 * e / c, 100 * f / d) + "%")
 };
 mxVmlCanvas2D.prototype.ellipse = function(a, b, c, d) {
-    this.node = this.createRect(mxClient.VML_PREFIX + ":oval", a, b, c, d)
+  this.node = this.createRect(mxClient.VML_PREFIX + ":oval", a, b, c, d)
 };
 mxVmlCanvas2D.prototype.image = function(a, b, c, d, e, f, g, h) {
-    var k = null;
-    f ? (k = this.createRect(mxClient.VML_PREFIX + ":rect", a, b, c, d), k.stroked = "false", a = document.createElement(mxClient.VML_PREFIX + ":fill"), a.aspect = f ? "atmost" : "ignore", a.rotate = "true", a.type = "frame", a.src = e, k.appendChild(a)) : (k = this.createRect(mxClient.VML_PREFIX + ":image", a, b, c, d), k.src = e);
-    g && h ? k.style.rotation = "180" : g ? k.style.flip = "x" : h && (k.style.flip = "y");
-    1 > this.state.alpha && (k.style.filter += "alpha(opacity\x3d" + 100 * this.state.alpha + ")");
-    this.root.appendChild(k)
+  var k = null;
+  f ? (k = this.createRect(mxClient.VML_PREFIX + ":rect", a, b, c, d), k.stroked = "false", a = document.createElement(mxClient.VML_PREFIX + ":fill"), a.aspect = f ? "atmost" : "ignore", a.rotate =
+    "true", a.type = "frame", a.src = e, k.appendChild(a)) : (k = this.createRect(mxClient.VML_PREFIX + ":image", a, b, c, d), k.src = e);
+  g && h ? k.style.rotation = "180" : g ? k.style.flip = "x" : h && (k.style.flip = "y");
+  1 > this.state.alpha && (k.style.filter += "alpha(opacity\x3d" + 100 * this.state.alpha + ")");
+  this.root.appendChild(k)
 };
 mxVmlCanvas2D.prototype.createDiv = function(a, b, c, d) {
-    c = document.createElement("div");
-    var e = this.state,
-        f = "";
-    null != e.fontBackgroundColor && (f += "background-color:" + e.fontBackgroundColor + ";");
-    null != e.fontBorderColor && (f += "border:1px solid " + e.fontBorderColor + ";");
-    mxUtils.isNode(a) ? c.appendChild(a) : 0 < f.length && !d ? (d = document.createElement("div"), d.style.cssText = f, d.style.display = mxClient.IS_QUIRKS ? "inline" : "inline-block", d.style.zoom = "1", d.innerHTML = a, c.appendChild(d)) : (c.style.cssText = f, c.innerHTML = a);
-    a = c.style;
-    a.fontSize = Math.round(e.fontSize / this.vmlScale) + "px";
-    a.fontFamily = e.fontFamily;
-    a.color = e.fontColor;
-    a.verticalAlign = "top";
-    a.textAlign = b || "left";
-    a.lineHeight = Math.round(e.fontSize * mxConstants.LINE_HEIGHT / this.vmlScale) + "px";
-    (e.fontStyle & mxConstants.FONT_BOLD) == mxConstants.FONT_BOLD && (a.fontWeight = "bold");
-    (e.fontStyle & mxConstants.FONT_ITALIC) == mxConstants.FONT_ITALIC && (a.fontStyle = "italic");
-    (e.fontStyle & mxConstants.FONT_UNDERLINE) == mxConstants.FONT_UNDERLINE && (a.fontDecoration = "underline");
-    return c
+  c = document.createElement("div");
+  var e = this.state,
+    f = "";
+  null != e.fontBackgroundColor && (f += "background-color:" + e.fontBackgroundColor + ";");
+  null != e.fontBorderColor && (f += "border:1px solid " + e.fontBorderColor + ";");
+  mxUtils.isNode(a) ? c.appendChild(a) : 0 < f.length && !d ? (d = document.createElement("div"), d.style.cssText = f, d.style.display = mxClient.IS_QUIRKS ? "inline" : "inline-block", d.style.zoom =
+    "1", d.innerHTML = a, c.appendChild(d)) : (c.style.cssText = f, c.innerHTML = a);
+  a = c.style;
+  a.fontSize = Math.round(e.fontSize / this.vmlScale) + "px";
+  a.fontFamily = e.fontFamily;
+  a.color = e.fontColor;
+  a.verticalAlign = "top";
+  a.textAlign = b || "left";
+  a.lineHeight = Math.round(e.fontSize * mxConstants.LINE_HEIGHT / this.vmlScale) + "px";
+  (e.fontStyle & mxConstants.FONT_BOLD) == mxConstants.FONT_BOLD && (a.fontWeight = "bold");
+  (e.fontStyle & mxConstants.FONT_ITALIC) == mxConstants.FONT_ITALIC && (a.fontStyle = "italic");
+  (e.fontStyle & mxConstants.FONT_UNDERLINE) == mxConstants.FONT_UNDERLINE && (a.fontDecoration = "underline");
+  return c
 };
 mxVmlCanvas2D.prototype.text = function(a, b, c, d, e, f, g, h, k, l, m, n) {
-    if (this.textEnabled && null != e) {
-        var p = this.state;
-        if ("html" == k) {
-            null != p.rotation && (b = this.rotatePoint(a, b, p.rotation, p.rotationCx, p.rotationCy), a = b.x, b = b.y);
-            8 == document.documentMode ? (a += p.dx, b += p.dy) : (a *= p.scale, b *= p.scale);
-            k = 8 == document.documentMode ? document.createElement(mxClient.VML_PREFIX + ":group") : document.createElement("div");
-            k.style.position = "absolute";
-            k.style.display = "inline";
-            k.style.left = this.format(a) + "px";
-            k.style.top = this.format(b) +
-                "px";
-            k.style.zoom = p.scale;
-            var q = document.createElement("div");
-            q.style.position = "relative";
-            q.style.display = "inline";
-            var s = mxUtils.getAlignmentAsPoint(f, g),
-                r = s.x,
-                s = s.y;
-            e = this.createDiv(e, f, g, l);
-            f = document.createElement("div");
-            h ? (!m && 0 < c && (e.style.width = Math.round(c) + "px"), e.style.whiteSpace = "normal") : e.style.whiteSpace = "nowrap";
-            h = p.rotation + (n || 0);
-            this.rotateHtml && 0 != h ? (f.style.display = "inline", f.style.zoom = "1", f.appendChild(e), 8 == document.documentMode && "DIV" != this.root.nodeName ? (q.appendChild(f), k.appendChild(q)) :
-                k.appendChild(f)) : 8 == document.documentMode ? (q.appendChild(e), k.appendChild(q)) : (e.style.display = "inline", k.appendChild(e));
-            "DIV" != this.root.nodeName ? (n = document.createElement(mxClient.VML_PREFIX + ":rect"), n.stroked = "false", n.filled = "false", n.appendChild(k), this.root.appendChild(n)) : this.root.appendChild(k);
-            m ? (e.style.overflow = "hidden", 0 < c && (e.style.width = Math.round(c) + "px"), 0 < d && 8 == document.documentMode && (e.style.maxHeight = Math.round(d) + "px")) : l && (e.style.width = c + "px", 0 < d && (e.style.maxHeight = Math.round(d) +
-                "px"));
-            if (this.rotateHtml && 0 != h) {
-                c = h * (Math.PI / 180);
-                h = parseFloat(parseFloat(Math.cos(c)).toFixed(8));
-                n = parseFloat(parseFloat(Math.sin(-c)).toFixed(8));
-                c %= 2 * Math.PI;
-                0 > c && (c += 2 * Math.PI);
-                c %= Math.PI;
-                c > Math.PI / 2 && (c = Math.PI - c);
-                g = Math.cos(c);
-                var t = Math.sin(c);
-                8 == document.documentMode && (e.style.display = "inline-block", f.style.display = "inline-block", q.style.display = "inline-block");
-                e.style.visibility = "hidden";
-                document.body.appendChild(e);
-                c = e.offsetWidth;
-                q = e.offsetHeight;
-                if (mxClient.IS_QUIRKS && (m || l) && q > d) q =
-                    d, e.style.height = q + "px";
-                d = q;
-                m = (d - d * g + c * -t) / 2 - n * c * (r + 0.5) + h * d * (s + 0.5);
-                l = (c - c * g + d * -t) / 2 + h * c * (r + 0.5) + n * d * (s + 0.5);
-                "group" == k.nodeName && "DIV" == this.root.nodeName ? (r = document.createElement("div"), r.style.display = "inline-block", r.style.position = "absolute", r.style.left = this.format(a + (l - c / 2) * p.scale) + "px", r.style.top = this.format(b + (m - d / 2) * p.scale) + "px", k.parentNode.appendChild(r), r.appendChild(k)) : (p = 8 == document.documentMode ? 1 : p.scale, k.style.left = this.format(a + (l - c / 2) * p) + "px", k.style.top = this.format(b + (m -
-                    d / 2) * p) + "px");
-                f.style.filter = "progid:DXImageTransform.Microsoft.Matrix(M11\x3d" + h + ", M12\x3d" + n + ", M21\x3d" + -n + ", M22\x3d" + h + ", sizingMethod\x3d'auto expand')";
-                f.style.backgroundColor = this.rotatedHtmlBackground;
-                1 > this.state.alpha && (f.style.filter += "alpha(opacity\x3d" + 100 * this.state.alpha + ")");
-                e.style.visibility = "";
-                f.appendChild(e)
-            } else 8 != document.documentMode ? (e.style.verticalAlign = "top", 1 > this.state.alpha && (k.style.filter = "alpha(opacity\x3d" + 100 * this.state.alpha + ")"), p = e.parentNode, e.style.visibility =
-                "hidden", document.body.appendChild(e), c = e.offsetWidth, q = e.offsetHeight, mxClient.IS_QUIRKS && (m && q > d) && (q = d, e.style.height = q + "px"), d = q, e.style.visibility = "", p.appendChild(e), k.style.left = this.format(a + c * r * this.state.scale) + "px", k.style.top = this.format(b + d * s * this.state.scale) + "px") : (1 > this.state.alpha && (e.style.filter = "alpha(opacity\x3d" + 100 * this.state.alpha + ")"), q.style.left = 100 * r + "%", q.style.top = 100 * s + "%")
-        } else this.plainText(a, b, c, d, mxUtils.htmlEntities(e, !1), f, g, h, k, l, m, n)
-    }
+  if (this.textEnabled && null != e) {
+    var p = this.state;
+    if ("html" == k) {
+      null != p.rotation && (b = this.rotatePoint(a, b, p.rotation, p.rotationCx, p.rotationCy), a = b.x, b = b.y);
+      8 == document.documentMode ? (a += p.dx, b += p.dy) : (a *= p.scale, b *= p.scale);
+      k = 8 == document.documentMode ? document.createElement(mxClient.VML_PREFIX + ":group") : document.createElement("div");
+      k.style.position = "absolute";
+      k.style.display = "inline";
+      k.style.left = this.format(a) + "px";
+      k.style.top = this.format(b) +
+        "px";
+      k.style.zoom = p.scale;
+      var q = document.createElement("div");
+      q.style.position = "relative";
+      q.style.display = "inline";
+      var s = mxUtils.getAlignmentAsPoint(f, g),
+        r = s.x,
+        s = s.y;
+      e = this.createDiv(e, f, g, l);
+      f = document.createElement("div");
+      h ? (!m && 0 < c && (e.style.width = Math.round(c) + "px"), e.style.whiteSpace = "normal") : e.style.whiteSpace = "nowrap";
+      h = p.rotation + (n || 0);
+      this.rotateHtml && 0 != h ? (f.style.display = "inline", f.style.zoom = "1", f.appendChild(e), 8 == document.documentMode && "DIV" != this.root.nodeName ? (q.appendChild(f), k.appendChild(q)) :
+        k.appendChild(f)) : 8 == document.documentMode ? (q.appendChild(e), k.appendChild(q)) : (e.style.display = "inline", k.appendChild(e));
+      "DIV" != this.root.nodeName ? (n = document.createElement(mxClient.VML_PREFIX + ":rect"), n.stroked = "false", n.filled = "false", n.appendChild(k), this.root.appendChild(n)) : this.root.appendChild(
+        k);
+      m ? (e.style.overflow = "hidden", 0 < c && (e.style.width = Math.round(c) + "px"), 0 < d && 8 == document.documentMode && (e.style.maxHeight = Math.round(d) + "px")) : l && (e.style.width = c +
+        "px", 0 < d && (e.style.maxHeight = Math.round(d) +
+          "px"));
+      if (this.rotateHtml && 0 != h) {
+        c = h * (Math.PI / 180);
+        h = parseFloat(parseFloat(Math.cos(c)).toFixed(8));
+        n = parseFloat(parseFloat(Math.sin(-c)).toFixed(8));
+        c %= 2 * Math.PI;
+        0 > c && (c += 2 * Math.PI);
+        c %= Math.PI;
+        c > Math.PI / 2 && (c = Math.PI - c);
+        g = Math.cos(c);
+        var t = Math.sin(c);
+        8 == document.documentMode && (e.style.display = "inline-block", f.style.display = "inline-block", q.style.display = "inline-block");
+        e.style.visibility = "hidden";
+        document.body.appendChild(e);
+        c = e.offsetWidth;
+        q = e.offsetHeight;
+        if (mxClient.IS_QUIRKS && (m || l) && q > d) q =
+          d, e.style.height = q + "px";
+        d = q;
+        m = (d - d * g + c * -t) / 2 - n * c * (r + 0.5) + h * d * (s + 0.5);
+        l = (c - c * g + d * -t) / 2 + h * c * (r + 0.5) + n * d * (s + 0.5);
+        "group" == k.nodeName && "DIV" == this.root.nodeName ? (r = document.createElement("div"), r.style.display = "inline-block", r.style.position = "absolute", r.style.left = this.format(a + (l -
+          c / 2) * p.scale) + "px", r.style.top = this.format(b + (m - d / 2) * p.scale) + "px", k.parentNode.appendChild(r), r.appendChild(k)) : (p = 8 == document.documentMode ? 1 : p.scale, k.style
+          .left = this.format(a + (l - c / 2) * p) + "px", k.style.top = this.format(b + (m -
+            d / 2) * p) + "px");
+        f.style.filter = "progid:DXImageTransform.Microsoft.Matrix(M11\x3d" + h + ", M12\x3d" + n + ", M21\x3d" + -n + ", M22\x3d" + h + ", sizingMethod\x3d'auto expand')";
+        f.style.backgroundColor = this.rotatedHtmlBackground;
+        1 > this.state.alpha && (f.style.filter += "alpha(opacity\x3d" + 100 * this.state.alpha + ")");
+        e.style.visibility = "";
+        f.appendChild(e)
+      } else 8 != document.documentMode ? (e.style.verticalAlign = "top", 1 > this.state.alpha && (k.style.filter = "alpha(opacity\x3d" + 100 * this.state.alpha + ")"), p = e.parentNode, e.style.visibility =
+        "hidden", document.body.appendChild(e), c = e.offsetWidth, q = e.offsetHeight, mxClient.IS_QUIRKS && (m && q > d) && (q = d, e.style.height = q + "px"), d = q, e.style.visibility = "", p.appendChild(
+          e), k.style.left = this.format(a + c * r * this.state.scale) + "px", k.style.top = this.format(b + d * s * this.state.scale) + "px") : (1 > this.state.alpha && (e.style.filter =
+        "alpha(opacity\x3d" + 100 * this.state.alpha + ")"), q.style.left = 100 * r + "%", q.style.top = 100 * s + "%")
+    } else this.plainText(a, b, c, d, mxUtils.htmlEntities(e, !1), f, g, h, k, l, m, n)
+  }
 };
 mxVmlCanvas2D.prototype.plainText = function(a, b, c, d, e, f, g, h, k, l, m, n) {
-    d = this.state;
-    a = (a + d.dx) * d.scale;
-    b = (b + d.dy) * d.scale;
-    c = document.createElement(mxClient.VML_PREFIX + ":shape");
-    c.style.width = "1px";
-    c.style.height = "1px";
-    c.stroked = "false";
-    l = document.createElement(mxClient.VML_PREFIX + ":fill");
-    l.color = d.fontColor;
-    l.opacity = 100 * d.alpha + "%";
-    c.appendChild(l);
-    l = document.createElement(mxClient.VML_PREFIX + ":path");
-    l.textpathok = "true";
-    l.v = "m " + this.format(0) + " " + this.format(0) + " l " + this.format(1) + " " + this.format(0);
-    c.appendChild(l);
-    l = document.createElement(mxClient.VML_PREFIX + ":textpath");
-    l.style.cssText = "v-text-align:" + f;
-    l.style.align = f;
-    l.style.fontFamily = d.fontFamily;
-    l.string = e;
-    l.on = "true";
-    f = Math.round(d.fontSize * d.scale / this.vmlScale);
-    l.style.fontSize = f + "px";
-    (d.fontStyle & mxConstants.FONT_BOLD) == mxConstants.FONT_BOLD && (l.style.fontWeight = "bold");
-    (d.fontStyle & mxConstants.FONT_ITALIC) == mxConstants.FONT_ITALIC && (l.style.fontStyle = "italic");
-    (d.fontStyle & mxConstants.FONT_UNDERLINE) == mxConstants.FONT_UNDERLINE &&
-        (l.style.textDecoration = "underline");
-    e = e.split("\n");
-    d = f + (e.length - 1) * f * mxConstants.LINE_HEIGHT;
-    f = e = 0;
-    g == mxConstants.ALIGN_BOTTOM ? f = -d / 2 : g != mxConstants.ALIGN_MIDDLE && (f = d / 2);
-    null != n && (c.style.rotation = n, g = n * (Math.PI / 180), e = Math.sin(g) * f, f *= Math.cos(g));
-    c.appendChild(l);
-    c.style.left = this.format(a - e) + "px";
-    c.style.top = this.format(b + f) + "px";
-    this.root.appendChild(c)
+  d = this.state;
+  a = (a + d.dx) * d.scale;
+  b = (b + d.dy) * d.scale;
+  c = document.createElement(mxClient.VML_PREFIX + ":shape");
+  c.style.width = "1px";
+  c.style.height = "1px";
+  c.stroked = "false";
+  l = document.createElement(mxClient.VML_PREFIX + ":fill");
+  l.color = d.fontColor;
+  l.opacity = 100 * d.alpha + "%";
+  c.appendChild(l);
+  l = document.createElement(mxClient.VML_PREFIX + ":path");
+  l.textpathok = "true";
+  l.v = "m " + this.format(0) + " " + this.format(0) + " l " + this.format(1) + " " + this.format(0);
+  c.appendChild(l);
+  l = document.createElement(mxClient.VML_PREFIX + ":textpath");
+  l.style.cssText = "v-text-align:" + f;
+  l.style.align = f;
+  l.style.fontFamily = d.fontFamily;
+  l.string = e;
+  l.on = "true";
+  f = Math.round(d.fontSize * d.scale / this.vmlScale);
+  l.style.fontSize = f + "px";
+  (d.fontStyle & mxConstants.FONT_BOLD) == mxConstants.FONT_BOLD && (l.style.fontWeight = "bold");
+  (d.fontStyle & mxConstants.FONT_ITALIC) == mxConstants.FONT_ITALIC && (l.style.fontStyle = "italic");
+  (d.fontStyle & mxConstants.FONT_UNDERLINE) == mxConstants.FONT_UNDERLINE &&
+    (l.style.textDecoration = "underline");
+  e = e.split("\n");
+  d = f + (e.length - 1) * f * mxConstants.LINE_HEIGHT;
+  f = e = 0;
+  g == mxConstants.ALIGN_BOTTOM ? f = -d / 2 : g != mxConstants.ALIGN_MIDDLE && (f = d / 2);
+  null != n && (c.style.rotation = n, g = n * (Math.PI / 180), e = Math.sin(g) * f, f *= Math.cos(g));
+  c.appendChild(l);
+  c.style.left = this.format(a - e) + "px";
+  c.style.top = this.format(b + f) + "px";
+  this.root.appendChild(c)
 };
 mxVmlCanvas2D.prototype.stroke = function() {
-    this.addNode(!1, !0)
+  this.addNode(!1, !0)
 };
 mxVmlCanvas2D.prototype.fill = function() {
-    this.addNode(!0, !1)
+  this.addNode(!0, !1)
 };
 mxVmlCanvas2D.prototype.fillAndStroke = function() {
-    this.addNode(!0, !0)
+  this.addNode(!0, !0)
 };
 
 function mxGuide(a, b) {
-    this.graph = a;
-    this.setStates(b)
+  this.graph = a;
+  this.setStates(b)
 }
 mxGuide.prototype.graph = null;
 mxGuide.prototype.states = null;
@@ -4789,88 +4858,93 @@ mxGuide.prototype.vertical = !0;
 mxGuide.prototype.guideX = null;
 mxGuide.prototype.guideY = null;
 mxGuide.prototype.setStates = function(a) {
-    this.states = a
+  this.states = a
 };
 mxGuide.prototype.isEnabledForEvent = function(a) {
-    return !0
+  return !0
 };
 mxGuide.prototype.getGuideTolerance = function() {
-    return this.graph.gridSize * this.graph.view.scale / 2
+  return this.graph.gridSize * this.graph.view.scale / 2
 };
 mxGuide.prototype.createGuideShape = function(a) {
-    a = new mxPolyline([], mxConstants.GUIDE_COLOR, mxConstants.GUIDE_STROKEWIDTH);
-    a.isDashed = !0;
-    return a
+  a = new mxPolyline([], mxConstants.GUIDE_COLOR, mxConstants.GUIDE_STROKEWIDTH);
+  a.isDashed = !0;
+  return a
 };
 mxGuide.prototype.move = function(a, b, c) {
-    if (null != this.states && (this.horizontal || this.vertical) && null != a && null != b) {
-        var d = this.graph.getView().translate,
-            e = this.graph.getView().scale,
-            f = b.x,
-            g = b.y,
-            h = !1,
-            k = !1,
-            l = this.getGuideTolerance(),
-            m = l,
-            n = l,
-            l = a.clone();
-        l.x += b.x;
-        l.y += b.y;
-        var p = l.x,
-            q = l.x + l.width,
-            s = l.getCenterX(),
-            r = l.y,
-            t = l.y + l.height,
-            v = l.getCenterY();
-        b = function(b) {
-            b += this.graph.panDx;
-            var c = !1;
-            Math.abs(b - s) < m ? (f = b - a.getCenterX(), m = Math.abs(b - s), c = !0) : Math.abs(b - p) < m ? (f = b - a.x, m = Math.abs(b - p), c = !0) : Math.abs(b -
-                q) < m && (f = b - a.x - a.width, m = Math.abs(b - q), c = !0);
-            if (c) {
-                null == this.guideX && (this.guideX = this.createGuideShape(!0), this.guideX.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_VML : mxConstants.DIALECT_SVG, this.guideX.pointerEvents = !1, this.guideX.init(this.graph.getView().getOverlayPane()));
-                var d = this.graph.container;
-                b -= this.graph.panDx;
-                this.guideX.points = [new mxPoint(b, -this.graph.panDy), new mxPoint(b, d.scrollHeight - 3 - this.graph.panDy)]
-            }
-            h = h || c
-        };
-        for (var l = function(b) {
-                b += this.graph.panDy;
-                var c = !1;
-                Math.abs(b - v) < n ? (g = b - a.getCenterY(), n = Math.abs(b - v), c = !0) : Math.abs(b - r) < n ? (g = b - a.y, n = Math.abs(b - r), c = !0) : Math.abs(b - t) < n && (g = b - a.y - a.height, n = Math.abs(b - t), c = !0);
-                if (c) {
-                    null == this.guideY && (this.guideY = this.createGuideShape(!1), this.guideY.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_VML : mxConstants.DIALECT_SVG, this.guideY.pointerEvents = !1, this.guideY.init(this.graph.getView().getOverlayPane()));
-                    var d = this.graph.container;
-                    b -= this.graph.panDy;
-                    this.guideY.points = [new mxPoint(-this.graph.panDx,
-                        b), new mxPoint(d.scrollWidth - 3 - this.graph.panDx, b)]
-                }
-                k = k || c
-            }, w = 0; w < this.states.length; w++) {
-            var u = this.states[w];
-            null != u && (this.horizontal && (b.call(this, u.getCenterX()), b.call(this, u.x), b.call(this, u.x + u.width)), this.vertical && (l.call(this, u.getCenterY()), l.call(this, u.y), l.call(this, u.y + u.height)))
-        }!h && null != this.guideX ? this.guideX.node.style.visibility = "hidden" : null != this.guideX && (this.guideX.node.style.visibility = "visible", this.guideX.redraw());
-        !k && null != this.guideY ? this.guideY.node.style.visibility =
-            "hidden" : null != this.guideY && (this.guideY.node.style.visibility = "visible", this.guideY.redraw());
-        c && (h || (c = a.x - (this.graph.snap(a.x / e - d.x) + d.x) * e, f = this.graph.snap(f / e) * e - c), k || (d = a.y - (this.graph.snap(a.y / e - d.y) + d.y) * e, g = this.graph.snap(g / e) * e - d));
-        b = new mxPoint(f, g)
-    }
-    return b
+  if (null != this.states && (this.horizontal || this.vertical) && null != a && null != b) {
+    var d = this.graph.getView().translate,
+      e = this.graph.getView().scale,
+      f = b.x,
+      g = b.y,
+      h = !1,
+      k = !1,
+      l = this.getGuideTolerance(),
+      m = l,
+      n = l,
+      l = a.clone();
+    l.x += b.x;
+    l.y += b.y;
+    var p = l.x,
+      q = l.x + l.width,
+      s = l.getCenterX(),
+      r = l.y,
+      t = l.y + l.height,
+      v = l.getCenterY();
+    b = function(b) {
+      b += this.graph.panDx;
+      var c = !1;
+      Math.abs(b - s) < m ? (f = b - a.getCenterX(), m = Math.abs(b - s), c = !0) : Math.abs(b - p) < m ? (f = b - a.x, m = Math.abs(b - p), c = !0) : Math.abs(b -
+        q) < m && (f = b - a.x - a.width, m = Math.abs(b - q), c = !0);
+      if (c) {
+        null == this.guideX && (this.guideX = this.createGuideShape(!0), this.guideX.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_VML : mxConstants.DIALECT_SVG,
+          this.guideX.pointerEvents = !1, this.guideX.init(this.graph.getView().getOverlayPane()));
+        var d = this.graph.container;
+        b -= this.graph.panDx;
+        this.guideX.points = [new mxPoint(b, -this.graph.panDy), new mxPoint(b, d.scrollHeight - 3 - this.graph.panDy)]
+      }
+      h = h || c
+    };
+    for (var l = function(b) {
+        b += this.graph.panDy;
+        var c = !1;
+        Math.abs(b - v) < n ? (g = b - a.getCenterY(), n = Math.abs(b - v), c = !0) : Math.abs(b - r) < n ? (g = b - a.y, n = Math.abs(b - r), c = !0) : Math.abs(b - t) < n && (g = b - a.y - a.height,
+          n = Math.abs(b - t), c = !0);
+        if (c) {
+          null == this.guideY && (this.guideY = this.createGuideShape(!1), this.guideY.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_VML : mxConstants.DIALECT_SVG,
+            this.guideY.pointerEvents = !1, this.guideY.init(this.graph.getView().getOverlayPane()));
+          var d = this.graph.container;
+          b -= this.graph.panDy;
+          this.guideY.points = [new mxPoint(-this.graph.panDx,
+            b), new mxPoint(d.scrollWidth - 3 - this.graph.panDx, b)]
+        }
+        k = k || c
+      }, w = 0; w < this.states.length; w++) {
+      var u = this.states[w];
+      null != u && (this.horizontal && (b.call(this, u.getCenterX()), b.call(this, u.x), b.call(this, u.x + u.width)), this.vertical && (l.call(this, u.getCenterY()), l.call(this, u.y), l.call(this,
+        u.y + u.height)))
+    }!h && null != this.guideX ? this.guideX.node.style.visibility = "hidden" : null != this.guideX && (this.guideX.node.style.visibility = "visible", this.guideX.redraw());
+    !k && null != this.guideY ? this.guideY.node.style.visibility =
+      "hidden" : null != this.guideY && (this.guideY.node.style.visibility = "visible", this.guideY.redraw());
+    c && (h || (c = a.x - (this.graph.snap(a.x / e - d.x) + d.x) * e, f = this.graph.snap(f / e) * e - c), k || (d = a.y - (this.graph.snap(a.y / e - d.y) + d.y) * e, g = this.graph.snap(g / e) * e -
+      d));
+    b = new mxPoint(f, g)
+  }
+  return b
 };
 mxGuide.prototype.hide = function() {
-    null != this.guideX && (this.guideX.node.style.visibility = "hidden");
-    null != this.guideY && (this.guideY.node.style.visibility = "hidden")
+  null != this.guideX && (this.guideX.node.style.visibility = "hidden");
+  null != this.guideY && (this.guideY.node.style.visibility = "hidden")
 };
 mxGuide.prototype.destroy = function() {
-    null != this.guideX && (this.guideX.destroy(), this.guideX = null);
-    null != this.guideY && (this.guideY.destroy(), this.guideY = null)
+  null != this.guideX && (this.guideX.destroy(), this.guideX = null);
+  null != this.guideY && (this.guideY.destroy(), this.guideY = null)
 };
 
 function mxStencil(a) {
-    this.desc = a;
-    this.parseDescription();
-    this.parseConstraints()
+  this.desc = a;
+  this.parseDescription();
+  this.parseConstraints()
 }
 mxStencil.defaultLocalized = !1;
 mxStencil.prototype.desc = null;
@@ -4882,131 +4956,136 @@ mxStencil.prototype.bgNode = null;
 mxStencil.prototype.fgNode = null;
 mxStencil.prototype.strokewidth = null;
 mxStencil.prototype.parseDescription = function() {
-    this.fgNode = this.desc.getElementsByTagName("foreground")[0];
-    this.bgNode = this.desc.getElementsByTagName("background")[0];
-    this.w0 = Number(this.desc.getAttribute("w") || 100);
-    this.h0 = Number(this.desc.getAttribute("h") || 100);
-    var a = this.desc.getAttribute("aspect");
-    this.aspect = null != a ? a : "variable";
-    a = this.desc.getAttribute("strokewidth");
-    this.strokewidth = null != a ? a : "1"
+  this.fgNode = this.desc.getElementsByTagName("foreground")[0];
+  this.bgNode = this.desc.getElementsByTagName("background")[0];
+  this.w0 = Number(this.desc.getAttribute("w") || 100);
+  this.h0 = Number(this.desc.getAttribute("h") || 100);
+  var a = this.desc.getAttribute("aspect");
+  this.aspect = null != a ? a : "variable";
+  a = this.desc.getAttribute("strokewidth");
+  this.strokewidth = null != a ? a : "1"
 };
 mxStencil.prototype.parseConstraints = function() {
-    var a = this.desc.getElementsByTagName("connections")[0];
-    if (null != a && (a = mxUtils.getChildNodes(a), null != a && 0 < a.length)) {
-        this.constraints = [];
-        for (var b = 0; b < a.length; b++) this.constraints.push(this.parseConstraint(a[b]))
-    }
+  var a = this.desc.getElementsByTagName("connections")[0];
+  if (null != a && (a = mxUtils.getChildNodes(a), null != a && 0 < a.length)) {
+    this.constraints = [];
+    for (var b = 0; b < a.length; b++) this.constraints.push(this.parseConstraint(a[b]))
+  }
 };
 mxStencil.prototype.parseConstraint = function(a) {
-    var b = Number(a.getAttribute("x")),
-        c = Number(a.getAttribute("y"));
-    a = "1" == a.getAttribute("perimeter");
-    return new mxConnectionConstraint(new mxPoint(b, c), a)
+  var b = Number(a.getAttribute("x")),
+    c = Number(a.getAttribute("y"));
+  a = "1" == a.getAttribute("perimeter");
+  return new mxConnectionConstraint(new mxPoint(b, c), a)
 };
 mxStencil.prototype.evaluateTextAttribute = function(a, b, c) {
-    b = this.evaluateAttribute(a, b, c);
-    a = a.getAttribute("localized");
-    if (mxStencil.defaultLocalized && null == a || "1" == a) b = mxResources.get(b);
-    return b
+  b = this.evaluateAttribute(a, b, c);
+  a = a.getAttribute("localized");
+  if (mxStencil.defaultLocalized && null == a || "1" == a) b = mxResources.get(b);
+  return b
 };
 mxStencil.prototype.evaluateAttribute = function(a, b, c) {
-    b = a.getAttribute(b);
-    null == b && (a = mxUtils.getTextContent(a), null != a && (a = mxUtils.eval(a), "function" == typeof a && (b = a(c))));
-    return b
+  b = a.getAttribute(b);
+  null == b && (a = mxUtils.getTextContent(a), null != a && (a = mxUtils.eval(a), "function" == typeof a && (b = a(c))));
+  return b
 };
 mxStencil.prototype.drawShape = function(a, b, c, d, e, f) {
-    this.drawChildren(a, b, c, d, e, f, this.bgNode, !1);
-    this.drawChildren(a, b, c, d, e, f, this.fgNode, !0)
+  this.drawChildren(a, b, c, d, e, f, this.bgNode, !1);
+  this.drawChildren(a, b, c, d, e, f, this.fgNode, !0)
 };
 mxStencil.prototype.drawChildren = function(a, b, c, d, e, f, g, h) {
-    if (null != g) {
-        var k = mxUtils.getValue(b.style, mxConstants.STYLE_DIRECTION, null);
-        c = this.computeAspect(b.style, c, d, e, f, k);
-        d = Math.min(c.width, c.height);
-        d = "inherit" == this.strokewidth ? Number(mxUtils.getNumber(b.style, mxConstants.STYLE_STROKEWIDTH, 1)) : Number(this.strokewidth) * d;
-        a.setStrokeWidth(d);
-        for (g = g.firstChild; null != g;) g.nodeType == mxConstants.NODETYPE_ELEMENT && this.drawNode(a, b, g, c, h), g = g.nextSibling
-    }
+  if (null != g) {
+    var k = mxUtils.getValue(b.style, mxConstants.STYLE_DIRECTION, null);
+    c = this.computeAspect(b.style, c, d, e, f, k);
+    d = Math.min(c.width, c.height);
+    d = "inherit" == this.strokewidth ? Number(mxUtils.getNumber(b.style, mxConstants.STYLE_STROKEWIDTH, 1)) : Number(this.strokewidth) * d;
+    a.setStrokeWidth(d);
+    for (g = g.firstChild; null != g;) g.nodeType == mxConstants.NODETYPE_ELEMENT && this.drawNode(a, b, g, c, h), g = g.nextSibling
+  }
 };
 mxStencil.prototype.computeAspect = function(a, b, c, d, e, f) {
-    a = b;
-    b = d / this.w0;
-    var g = e / this.h0;
-    if (f = "north" == f || "south" == f) {
-        g = d / this.h0;
-        b = e / this.w0;
-        var h = (d - e) / 2;
-        a += h;
-        c -= h
-    }
-    "fixed" == this.aspect && (b = g = Math.min(b, g), f ? (a += (e - this.w0 * b) / 2, c += (d - this.h0 * g) / 2) : (a += (d - this.w0 * b) / 2, c += (e - this.h0 * g) / 2));
-    return new mxRectangle(a, c, b, g)
+  a = b;
+  b = d / this.w0;
+  var g = e / this.h0;
+  if (f = "north" == f || "south" == f) {
+    g = d / this.h0;
+    b = e / this.w0;
+    var h = (d - e) / 2;
+    a += h;
+    c -= h
+  }
+  "fixed" == this.aspect && (b = g = Math.min(b, g), f ? (a += (e - this.w0 * b) / 2, c += (d - this.h0 * g) / 2) : (a += (d - this.w0 * b) / 2, c += (e - this.h0 * g) / 2));
+  return new mxRectangle(a, c, b, g)
 };
 mxStencil.prototype.drawNode = function(a, b, c, d, e) {
-    var f = c.nodeName,
-        g = d.x,
-        h = d.y,
-        k = d.width,
-        l = d.height,
-        m = Math.min(k, l);
-    if ("save" == f) a.save();
-    else if ("restore" == f) a.restore();
-    else if ("path" == f) {
-        a.begin();
-        for (c = c.firstChild; null != c;) c.nodeType == mxConstants.NODETYPE_ELEMENT && this.drawNode(a, b, c, d, e), c = c.nextSibling
-    } else if ("close" == f) a.close();
-    else if ("move" == f) a.moveTo(g + Number(c.getAttribute("x")) * k, h + Number(c.getAttribute("y")) * l);
-    else if ("line" == f) a.lineTo(g + Number(c.getAttribute("x")) * k, h + Number(c.getAttribute("y")) *
-        l);
-    else if ("quad" == f) a.quadTo(g + Number(c.getAttribute("x1")) * k, h + Number(c.getAttribute("y1")) * l, g + Number(c.getAttribute("x2")) * k, h + Number(c.getAttribute("y2")) * l);
-    else if ("curve" == f) a.curveTo(g + Number(c.getAttribute("x1")) * k, h + Number(c.getAttribute("y1")) * l, g + Number(c.getAttribute("x2")) * k, h + Number(c.getAttribute("y2")) * l, g + Number(c.getAttribute("x3")) * k, h + Number(c.getAttribute("y3")) * l);
-    else if ("arc" == f) a.arcTo(Number(c.getAttribute("rx")) * k, Number(c.getAttribute("ry")) * l, Number(c.getAttribute("x-axis-rotation")),
-        Number(c.getAttribute("large-arc-flag")), Number(c.getAttribute("sweep-flag")), g + Number(c.getAttribute("x")) * k, h + Number(c.getAttribute("y")) * l);
-    else if ("rect" == f) a.rect(g + Number(c.getAttribute("x")) * k, h + Number(c.getAttribute("y")) * l, Number(c.getAttribute("w")) * k, Number(c.getAttribute("h")) * l);
-    else if ("roundrect" == f) b = c.getAttribute("arcsize"), 0 == b && (b = 100 * mxConstants.RECTANGLE_ROUNDING_FACTOR), m = Number(c.getAttribute("w")) * k, d = Number(c.getAttribute("h")) * l, b = Number(b) / 100, b = Math.min(m * b, d * b), a.roundrect(g +
-        Number(c.getAttribute("x")) * k, h + Number(c.getAttribute("y")) * l, m, d, b, b);
-    else if ("ellipse" == f) a.ellipse(g + Number(c.getAttribute("x")) * k, h + Number(c.getAttribute("y")) * l, Number(c.getAttribute("w")) * k, Number(c.getAttribute("h")) * l);
-    else if ("image" == f) b = this.evaluateAttribute(c, "src", b), a.image(g + Number(c.getAttribute("x")) * k, h + Number(c.getAttribute("y")) * l, Number(c.getAttribute("w")) * k, Number(c.getAttribute("h")) * l, b, !1, "1" == c.getAttribute("flipH"), "1" == c.getAttribute("flipV"));
-    else if ("text" == f) {
-        m = this.evaluateTextAttribute(c,
-            "str", b);
-        d = "1" == c.getAttribute("vertical") ? -90 : 0;
-        if ("0" == c.getAttribute("align-shape")) {
-            var n = b.rotation,
-                p = 1 == mxUtils.getValue(b.style, mxConstants.STYLE_FLIPH, 0);
-            b = 1 == mxUtils.getValue(b.style, mxConstants.STYLE_FLIPV, 0);
-            d = p && b ? d - n : p || b ? d + n : d - n
-        }
-        d -= c.getAttribute("rotation");
-        a.text(g + Number(c.getAttribute("x")) * k, h + Number(c.getAttribute("y")) * l, 0, 0, m, c.getAttribute("align") || "left", c.getAttribute("valign") || "top", !1, "", !1, !1, d)
-    } else if ("include-shape" == f) n = mxStencilRegistry.getStencil(c.getAttribute("name")),
-        null != n && (g += Number(c.getAttribute("x")) * k, h += Number(c.getAttribute("y")) * l, m = Number(c.getAttribute("w")) * k, d = Number(c.getAttribute("h")) * l, n.drawShape(a, b, g, h, m, d));
-    else if ("fillstroke" == f) a.fillAndStroke();
-    else if ("fill" == f) a.fill();
-    else if ("stroke" == f) a.stroke();
-    else if ("strokewidth" == f) a.setStrokeWidth(Number(c.getAttribute("width")) * m);
-    else if ("dashed" == f) a.setDashed("1" == c.getAttribute("dashed"));
-    else if ("dashpattern" == f) {
-        if (c = c.getAttribute("pattern"), null != c) {
-            c = c.split(" ");
-            k = [];
-            for (l = 0; l <
-                c.length; l++) 0 < c[l].length && k.push(Number(c[l]) * m);
-            c = k.join(" ");
-            a.setDashPattern(c)
-        }
-    } else "strokecolor" == f ? a.setStrokeColor(c.getAttribute("color")) : "linecap" == f ? a.setLineCap(c.getAttribute("cap")) : "linejoin" == f ? a.setLineJoin(c.getAttribute("join")) : "miterlimit" == f ? a.setMiterLimit(Number(c.getAttribute("limit"))) : "fillcolor" == f ? a.setFillColor(c.getAttribute("color")) : "alpha" == f ? a.setAlpha(c.getAttribute("alpha")) : "fontcolor" == f ? a.setFontColor(c.getAttribute("color")) : "fontstyle" == f ? a.setFontStyle(c.getAttribute("style")) :
-        "fontfamily" == f ? a.setFontFamily(c.getAttribute("family")) : "fontsize" == f && a.setFontSize(Number(c.getAttribute("size")) * m);
-    e && ("fillstroke" == f || "fill" == f || "stroke" == f) && a.setShadow(!1)
+  var f = c.nodeName,
+    g = d.x,
+    h = d.y,
+    k = d.width,
+    l = d.height,
+    m = Math.min(k, l);
+  if ("save" == f) a.save();
+  else if ("restore" == f) a.restore();
+  else if ("path" == f) {
+    a.begin();
+    for (c = c.firstChild; null != c;) c.nodeType == mxConstants.NODETYPE_ELEMENT && this.drawNode(a, b, c, d, e), c = c.nextSibling
+  } else if ("close" == f) a.close();
+  else if ("move" == f) a.moveTo(g + Number(c.getAttribute("x")) * k, h + Number(c.getAttribute("y")) * l);
+  else if ("line" == f) a.lineTo(g + Number(c.getAttribute("x")) * k, h + Number(c.getAttribute("y")) *
+    l);
+  else if ("quad" == f) a.quadTo(g + Number(c.getAttribute("x1")) * k, h + Number(c.getAttribute("y1")) * l, g + Number(c.getAttribute("x2")) * k, h + Number(c.getAttribute("y2")) * l);
+  else if ("curve" == f) a.curveTo(g + Number(c.getAttribute("x1")) * k, h + Number(c.getAttribute("y1")) * l, g + Number(c.getAttribute("x2")) * k, h + Number(c.getAttribute("y2")) * l, g + Number(
+    c.getAttribute("x3")) * k, h + Number(c.getAttribute("y3")) * l);
+  else if ("arc" == f) a.arcTo(Number(c.getAttribute("rx")) * k, Number(c.getAttribute("ry")) * l, Number(c.getAttribute("x-axis-rotation")),
+    Number(c.getAttribute("large-arc-flag")), Number(c.getAttribute("sweep-flag")), g + Number(c.getAttribute("x")) * k, h + Number(c.getAttribute("y")) * l);
+  else if ("rect" == f) a.rect(g + Number(c.getAttribute("x")) * k, h + Number(c.getAttribute("y")) * l, Number(c.getAttribute("w")) * k, Number(c.getAttribute("h")) * l);
+  else if ("roundrect" == f) b = c.getAttribute("arcsize"), 0 == b && (b = 100 * mxConstants.RECTANGLE_ROUNDING_FACTOR), m = Number(c.getAttribute("w")) * k, d = Number(c.getAttribute("h")) * l, b =
+    Number(b) / 100, b = Math.min(m * b, d * b), a.roundrect(g +
+      Number(c.getAttribute("x")) * k, h + Number(c.getAttribute("y")) * l, m, d, b, b);
+  else if ("ellipse" == f) a.ellipse(g + Number(c.getAttribute("x")) * k, h + Number(c.getAttribute("y")) * l, Number(c.getAttribute("w")) * k, Number(c.getAttribute("h")) * l);
+  else if ("image" == f) b = this.evaluateAttribute(c, "src", b), a.image(g + Number(c.getAttribute("x")) * k, h + Number(c.getAttribute("y")) * l, Number(c.getAttribute("w")) * k, Number(c.getAttribute(
+    "h")) * l, b, !1, "1" == c.getAttribute("flipH"), "1" == c.getAttribute("flipV"));
+  else if ("text" == f) {
+    m = this.evaluateTextAttribute(c,
+      "str", b);
+    d = "1" == c.getAttribute("vertical") ? -90 : 0;
+    if ("0" == c.getAttribute("align-shape")) {
+      var n = b.rotation,
+        p = 1 == mxUtils.getValue(b.style, mxConstants.STYLE_FLIPH, 0);
+      b = 1 == mxUtils.getValue(b.style, mxConstants.STYLE_FLIPV, 0);
+      d = p && b ? d - n : p || b ? d + n : d - n
+    }
+    d -= c.getAttribute("rotation");
+    a.text(g + Number(c.getAttribute("x")) * k, h + Number(c.getAttribute("y")) * l, 0, 0, m, c.getAttribute("align") || "left", c.getAttribute("valign") || "top", !1, "", !1, !1, d)
+  } else if ("include-shape" == f) n = mxStencilRegistry.getStencil(c.getAttribute("name")),
+    null != n && (g += Number(c.getAttribute("x")) * k, h += Number(c.getAttribute("y")) * l, m = Number(c.getAttribute("w")) * k, d = Number(c.getAttribute("h")) * l, n.drawShape(a, b, g, h, m, d));
+  else if ("fillstroke" == f) a.fillAndStroke();
+  else if ("fill" == f) a.fill();
+  else if ("stroke" == f) a.stroke();
+  else if ("strokewidth" == f) a.setStrokeWidth(Number(c.getAttribute("width")) * m);
+  else if ("dashed" == f) a.setDashed("1" == c.getAttribute("dashed"));
+  else if ("dashpattern" == f) {
+    if (c = c.getAttribute("pattern"), null != c) {
+      c = c.split(" ");
+      k = [];
+      for (l = 0; l <
+        c.length; l++) 0 < c[l].length && k.push(Number(c[l]) * m);
+      c = k.join(" ");
+      a.setDashPattern(c)
+    }
+  } else "strokecolor" == f ? a.setStrokeColor(c.getAttribute("color")) : "linecap" == f ? a.setLineCap(c.getAttribute("cap")) : "linejoin" == f ? a.setLineJoin(c.getAttribute("join")) :
+    "miterlimit" == f ? a.setMiterLimit(Number(c.getAttribute("limit"))) : "fillcolor" == f ? a.setFillColor(c.getAttribute("color")) : "alpha" == f ? a.setAlpha(c.getAttribute("alpha")) :
+    "fontcolor" == f ? a.setFontColor(c.getAttribute("color")) : "fontstyle" == f ? a.setFontStyle(c.getAttribute("style")) :
+    "fontfamily" == f ? a.setFontFamily(c.getAttribute("family")) : "fontsize" == f && a.setFontSize(Number(c.getAttribute("size")) * m);
+  e && ("fillstroke" == f || "fill" == f || "stroke" == f) && a.setShadow(!1)
 };
 
 function mxShape(a) {
-    this.stencil = a;
-    this.strokewidth = 1;
-    this.rotation = 0;
-    this.opacity = 100;
-    this.flipV = this.flipH = !1
+  this.stencil = a;
+  this.strokewidth = 1;
+  this.rotation = 0;
+  this.opacity = 100;
+  this.flipV = this.flipH = !1
 }
 mxShape.prototype.dialect = null;
 mxShape.prototype.scale = 1;
@@ -5022,660 +5101,668 @@ mxShape.prototype.pointerEvents = !0;
 mxShape.prototype.stencilPointerEvents = !1;
 mxShape.prototype.vmlScale = 1;
 mxShape.prototype.init = function(a) {
-    null == this.node && (this.node = this.create(a), null != a && a.appendChild(this.node))
+  null == this.node && (this.node = this.create(a), null != a && a.appendChild(this.node))
 };
 mxShape.prototype.isParseVml = function() {
-    return !0
+  return !0
 };
 mxShape.prototype.isHtmlAllowed = function() {
-    return !1
+  return !1
 };
 mxShape.prototype.getSvgScreenOffset = function() {
-    return 1 == mxUtils.mod(Math.max(1, Math.round(this.strokewidth * this.scale)), 2) ? 0.5 : 0
+  return 1 == mxUtils.mod(Math.max(1, Math.round(this.strokewidth * this.scale)), 2) ? 0.5 : 0
 };
 mxShape.prototype.create = function(a) {
-    var b = null;
-    return b = null != a.ownerSVGElement ? this.createSvg(a) : 8 == document.documentMode || this.dialect == mxConstants.DIALECT_SVG || this.dialect != mxConstants.DIALECT_VML && this.isHtmlAllowed() ? this.createHtml(a) : this.createVml(a)
+  var b = null;
+  return b = null != a.ownerSVGElement ? this.createSvg(a) : 8 == document.documentMode || this.dialect == mxConstants.DIALECT_SVG || this.dialect != mxConstants.DIALECT_VML && this.isHtmlAllowed() ?
+    this.createHtml(a) : this.createVml(a)
 };
 mxShape.prototype.createSvg = function() {
-    return document.createElementNS(mxConstants.NS_SVG, "g")
+  return document.createElementNS(mxConstants.NS_SVG, "g")
 };
 mxShape.prototype.createVml = function() {
-    var a = document.createElement(mxClient.VML_PREFIX + ":group");
-    a.style.position = "absolute";
-    return a
+  var a = document.createElement(mxClient.VML_PREFIX + ":group");
+  a.style.position = "absolute";
+  return a
 };
 mxShape.prototype.createHtml = function() {
-    var a = document.createElement("div");
-    a.style.position = "absolute";
-    return a
+  var a = document.createElement("div");
+  a.style.position = "absolute";
+  return a
 };
 mxShape.prototype.reconfigure = function() {
-    this.redraw()
+  this.redraw()
 };
 mxShape.prototype.redraw = function() {
-    this.updateBoundsFromPoints();
-    this.checkBounds() ? (this.node.style.visibility = "", "DIV" == this.node.nodeName && this.isHtmlAllowed() ? this.redrawHtmlShape() : this.redrawShape(), this.updateBoundingBox()) : (this.node.style.visibility = "hidden", this.boundingBox = null)
+  this.updateBoundsFromPoints();
+  this.checkBounds() ? (this.node.style.visibility = "", "DIV" == this.node.nodeName && this.isHtmlAllowed() ? this.redrawHtmlShape() : this.redrawShape(), this.updateBoundingBox()) : (this.node.style
+    .visibility = "hidden", this.boundingBox = null)
 };
 mxShape.prototype.updateBoundsFromPoints = function() {
-    var a = this.points;
-    if (null != a && 0 < a.length && null != a[0]) {
-        this.bounds = new mxRectangle(Number(a[0].x), Number(a[0].y), 1, 1);
-        for (var b = 1; b < this.points.length; b++) null != a[b] && this.bounds.add(new mxRectangle(Number(a[b].x), Number(a[b].y), 1, 1))
-    }
+  var a = this.points;
+  if (null != a && 0 < a.length && null != a[0]) {
+    this.bounds = new mxRectangle(Number(a[0].x), Number(a[0].y), 1, 1);
+    for (var b = 1; b < this.points.length; b++) null != a[b] && this.bounds.add(new mxRectangle(Number(a[b].x), Number(a[b].y), 1, 1))
+  }
 };
 mxShape.prototype.checkBounds = function() {
-    return null != this.bounds && !isNaN(this.bounds.x) && !isNaN(this.bounds.y) && !isNaN(this.bounds.width) && !isNaN(this.bounds.height) && 0 < this.bounds.width && 0 < this.bounds.height
+  return null != this.bounds && !isNaN(this.bounds.x) && !isNaN(this.bounds.y) && !isNaN(this.bounds.width) && !isNaN(this.bounds.height) && 0 < this.bounds.width && 0 < this.bounds.height
 };
 mxShape.prototype.createVmlGroup = function() {
-    var a = document.createElement(mxClient.VML_PREFIX + ":group");
-    a.style.position = "absolute";
-    a.style.width = this.node.style.width;
-    a.style.height = this.node.style.height;
-    return a
+  var a = document.createElement(mxClient.VML_PREFIX + ":group");
+  a.style.position = "absolute";
+  a.style.width = this.node.style.width;
+  a.style.height = this.node.style.height;
+  return a
 };
 mxShape.prototype.redrawShape = function() {
-    var a = this.createCanvas();
-    for (a.pointerEvents = this.pointerEvents; this.node.hasChildNodes();) this.node.removeChild(this.node.lastChild);
-    this.paint(a);
-    this.node != a.root && this.node.insertAdjacentHTML("beforeend", a.root.outerHTML);
-    "DIV" == this.node.nodeName && 8 == document.documentMode && (this.node.style.filter = "", (null == this.stencil || !this.stencilPointerEvents) && mxUtils.addTransparentBackgroundFilter(this.node));
-    this.destroyCanvas(a)
+  var a = this.createCanvas();
+  for (a.pointerEvents = this.pointerEvents; this.node.hasChildNodes();) this.node.removeChild(this.node.lastChild);
+  this.paint(a);
+  this.node != a.root && this.node.insertAdjacentHTML("beforeend", a.root.outerHTML);
+  "DIV" == this.node.nodeName && 8 == document.documentMode && (this.node.style.filter = "", (null == this.stencil || !this.stencilPointerEvents) && mxUtils.addTransparentBackgroundFilter(this.node));
+  this.destroyCanvas(a)
 };
 mxShape.prototype.createCanvas = function() {
-    var a = null,
-        b = null;
-    if (null != this.node.ownerSVGElement) a = new mxSvgCanvas2D(this.node, !1), a.strokeTolerance = this.svgStrokeTolerance, a.blockImagePointerEvents = mxClient.IS_NS && !mxClient.IS_SF && !mxClient.IS_GC, b = this.getSvgScreenOffset(), 0 != b ? this.node.setAttribute("transform", "translate(" + b + "," + b + ")") : this.node.removeAttribute("transform");
-    else {
-        this.updateVmlContainer();
-        var c = Math.max(1, Math.round(this.bounds.width)),
-            d = Math.max(1, Math.round(this.bounds.height)),
-            b = 8 == document.documentMode && this.isParseVml() ? this.createVmlGroup() : this.node,
-            a = new mxVmlCanvas2D(b, !1);
-        "" != b.tagUrn && (b.coordsize = c * this.vmlScale + "," + d * this.vmlScale, a.scale(this.vmlScale), a.vmlScale = this.vmlScale);
-        b = this.scale;
-        a.translate(-Math.round(this.bounds.x / b), -Math.round(this.bounds.y / b))
-    }
-    return a
+  var a = null,
+    b = null;
+  if (null != this.node.ownerSVGElement) a = new mxSvgCanvas2D(this.node, !1), a.strokeTolerance = this.svgStrokeTolerance, a.blockImagePointerEvents = mxClient.IS_NS && !mxClient.IS_SF && !
+    mxClient.IS_GC, b = this.getSvgScreenOffset(), 0 != b ? this.node.setAttribute("transform", "translate(" + b + "," + b + ")") : this.node.removeAttribute("transform");
+  else {
+    this.updateVmlContainer();
+    var c = Math.max(1, Math.round(this.bounds.width)),
+      d = Math.max(1, Math.round(this.bounds.height)),
+      b = 8 == document.documentMode && this.isParseVml() ? this.createVmlGroup() : this.node,
+      a = new mxVmlCanvas2D(b, !1);
+    "" != b.tagUrn && (b.coordsize = c * this.vmlScale + "," + d * this.vmlScale, a.scale(this.vmlScale), a.vmlScale = this.vmlScale);
+    b = this.scale;
+    a.translate(-Math.round(this.bounds.x / b), -Math.round(this.bounds.y / b))
+  }
+  return a
 };
 mxShape.prototype.updateVmlContainer = function() {
-    this.node.style.left = Math.round(this.bounds.x) + "px";
-    this.node.style.top = Math.round(this.bounds.y) + "px";
-    var a = Math.max(1, Math.round(this.bounds.width)),
-        b = Math.max(1, Math.round(this.bounds.height));
-    this.node.style.width = a + "px";
-    this.node.style.height = b + "px";
-    this.node.style.overflow = "visible"
+  this.node.style.left = Math.round(this.bounds.x) + "px";
+  this.node.style.top = Math.round(this.bounds.y) + "px";
+  var a = Math.max(1, Math.round(this.bounds.width)),
+    b = Math.max(1, Math.round(this.bounds.height));
+  this.node.style.width = a + "px";
+  this.node.style.height = b + "px";
+  this.node.style.overflow = "visible"
 };
 mxShape.prototype.destroyCanvas = function(a) {
-    if (a instanceof mxSvgCanvas2D) {
-        for (var b in a.gradients) {
-            var c = a.gradients[b];
-            c.mxRefCount = (c.mxRefCount || 0) + 1
-        }
-        this.releaseSvgGradients(this.oldGradients);
-        this.oldGradients = a.gradients
+  if (a instanceof mxSvgCanvas2D) {
+    for (var b in a.gradients) {
+      var c = a.gradients[b];
+      c.mxRefCount = (c.mxRefCount || 0) + 1
     }
+    this.releaseSvgGradients(this.oldGradients);
+    this.oldGradients = a.gradients
+  }
 };
 mxShape.prototype.paint = function(a) {
-    var b = this.scale,
-        c = this.bounds.x / b,
-        d = this.bounds.y / b,
-        e = this.bounds.width / b,
-        f = this.bounds.height / b;
-    if (this.isPaintBoundsInverted()) var g = (e - f) / 2,
-        c = c + g,
-        d = d - g,
-        g = e,
-        e = f,
-        f = g;
-    this.updateTransform(a, c, d, e, f);
-    this.configureCanvas(a, c, d, e, f);
-    if (null != this.stencil) this.paintStencilShape(a, c, d, e, f);
-    else if (a.setStrokeWidth(this.strokewidth), null != this.points) {
-        c = [];
-        for (d = 0; d < this.points.length; d++) c.push(new mxPoint(this.points[d].x / b, this.points[d].y / b));
-        this.paintEdgeShape(a,
-            c)
-    } else this.paintVertexShape(a, c, d, e, f)
+  var b = this.scale,
+    c = this.bounds.x / b,
+    d = this.bounds.y / b,
+    e = this.bounds.width / b,
+    f = this.bounds.height / b;
+  if (this.isPaintBoundsInverted()) var g = (e - f) / 2,
+    c = c + g,
+    d = d - g,
+    g = e,
+    e = f,
+    f = g;
+  this.updateTransform(a, c, d, e, f);
+  this.configureCanvas(a, c, d, e, f);
+  if (null != this.stencil) this.paintStencilShape(a, c, d, e, f);
+  else if (a.setStrokeWidth(this.strokewidth), null != this.points) {
+    c = [];
+    for (d = 0; d < this.points.length; d++) c.push(new mxPoint(this.points[d].x / b, this.points[d].y / b));
+    this.paintEdgeShape(a,
+      c)
+  } else this.paintVertexShape(a, c, d, e, f)
 };
 mxShape.prototype.configureCanvas = function(a, b, c, d, e) {
-    var f = null;
-    null != this.style && (f = this.style.dashPattern);
-    a.setAlpha(this.opacity / 100);
-    null != this.isShadow && a.setShadow(this.isShadow);
-    null != this.isDashed && a.setDashed(this.isDashed);
-    null != f && a.setDashPattern(f);
-    null != this.gradient ? (b = this.getGradientBounds(a, b, c, d, e), a.setGradient(this.fill, this.gradient, b.x, b.y, b.width, b.height, this.gradientDirection)) : a.setFillColor(this.fill);
-    a.setStrokeColor(this.stroke)
+  var f = null;
+  null != this.style && (f = this.style.dashPattern);
+  a.setAlpha(this.opacity / 100);
+  null != this.isShadow && a.setShadow(this.isShadow);
+  null != this.isDashed && a.setDashed(this.isDashed);
+  null != f && a.setDashPattern(f);
+  null != this.gradient ? (b = this.getGradientBounds(a, b, c, d, e), a.setGradient(this.fill, this.gradient, b.x, b.y, b.width, b.height, this.gradientDirection)) : a.setFillColor(this.fill);
+  a.setStrokeColor(this.stroke)
 };
 mxShape.prototype.getGradientBounds = function(a, b, c, d, e) {
-    return new mxRectangle(b, c, d, e)
+  return new mxRectangle(b, c, d, e)
 };
 mxShape.prototype.updateTransform = function(a, b, c, d, e) {
-    a.scale(this.scale);
-    a.rotate(this.getShapeRotation(), this.flipH, this.flipV, b + d / 2, c + e / 2)
+  a.scale(this.scale);
+  a.rotate(this.getShapeRotation(), this.flipH, this.flipV, b + d / 2, c + e / 2)
 };
 mxShape.prototype.paintStencilShape = function(a, b, c, d, e) {
-    this.stencilPointerEvents && (this.dialect == mxConstants.DIALECT_SVG ? this.addTransparentBackgroundRectangle(this.node, b, c, d, e) : 8 != document.documentMode && this.setTransparentBackgroundImage(this.node));
-    this.stencil.drawShape(a, this, b, c, d, e)
+  this.stencilPointerEvents && (this.dialect == mxConstants.DIALECT_SVG ? this.addTransparentBackgroundRectangle(this.node, b, c, d, e) : 8 != document.documentMode && this.setTransparentBackgroundImage(
+    this.node));
+  this.stencil.drawShape(a, this, b, c, d, e)
 };
 mxShape.prototype.paintVertexShape = function(a, b, c, d, e) {
-    this.paintBackground(a, b, c, d, e);
-    a.setShadow(!1);
-    this.paintForeground(a, b, c, d, e)
+  this.paintBackground(a, b, c, d, e);
+  a.setShadow(!1);
+  this.paintForeground(a, b, c, d, e)
 };
 mxShape.prototype.paintBackground = function(a, b, c, d, e) {};
 mxShape.prototype.paintForeground = function(a, b, c, d, e) {};
 mxShape.prototype.paintEdgeShape = function(a, b) {};
 mxShape.prototype.getArcSize = function(a, b) {
-    var c = mxUtils.getValue(this.style, mxConstants.STYLE_ARCSIZE, 100 * mxConstants.RECTANGLE_ROUNDING_FACTOR) / 100;
-    return Math.min(a * c, b * c)
+  var c = mxUtils.getValue(this.style, mxConstants.STYLE_ARCSIZE, 100 * mxConstants.RECTANGLE_ROUNDING_FACTOR) / 100;
+  return Math.min(a * c, b * c)
 };
 mxShape.prototype.paintGlassEffect = function(a, b, c, d, e, f) {
-    var g = Math.ceil(this.strokewidth / 2);
-    a.setGradient("#ffffff", "#ffffff", b, c, d, 0.6 * e, "south", 0.9, 0.1);
-    a.begin();
-    f += 2 * g;
-    this.isRounded ? (a.moveTo(b - g + f, c - g), a.quadTo(b - g, c - g, b - g, c - g + f), a.lineTo(b - g, c + 0.4 * e), a.quadTo(b + 0.5 * d, c + 0.7 * e, b + d + g, c + 0.4 * e), a.lineTo(b + d + g, c - g + f), a.quadTo(b + d + g, c - g, b + d + g - f, c - g)) : (a.moveTo(b - g, c - g), a.lineTo(b - g, c + 0.4 * e), a.quadTo(b + 0.5 * d, c + 0.7 * e, b + d + g, c + 0.4 * e), a.lineTo(b + d + g, c - g));
-    a.close();
-    a.fill()
+  var g = Math.ceil(this.strokewidth / 2);
+  a.setGradient("#ffffff", "#ffffff", b, c, d, 0.6 * e, "south", 0.9, 0.1);
+  a.begin();
+  f += 2 * g;
+  this.isRounded ? (a.moveTo(b - g + f, c - g), a.quadTo(b - g, c - g, b - g, c - g + f), a.lineTo(b - g, c + 0.4 * e), a.quadTo(b + 0.5 * d, c + 0.7 * e, b + d + g, c + 0.4 * e), a.lineTo(b + d +
+    g, c - g + f), a.quadTo(b + d + g, c - g, b + d + g - f, c - g)) : (a.moveTo(b - g, c - g), a.lineTo(b - g, c + 0.4 * e), a.quadTo(b + 0.5 * d, c + 0.7 * e, b + d + g, c + 0.4 * e), a.lineTo(
+    b + d + g, c - g));
+  a.close();
+  a.fill()
 };
 mxShape.prototype.apply = function(a) {
-    this.state = a;
-    this.style = a.style;
-    if (null != this.style) {
-        this.fill = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, this.fill);
-        this.gradient = mxUtils.getValue(this.style, mxConstants.STYLE_GRADIENTCOLOR, this.gradient);
-        this.gradientDirection = mxUtils.getValue(this.style, mxConstants.STYLE_GRADIENT_DIRECTION, this.gradientDirection);
-        this.opacity = mxUtils.getValue(this.style, mxConstants.STYLE_OPACITY, this.opacity);
-        this.stroke = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR,
-            this.stroke);
-        this.strokewidth = mxUtils.getNumber(this.style, mxConstants.STYLE_STROKEWIDTH, this.strokewidth);
-        this.spacing = mxUtils.getValue(this.style, mxConstants.STYLE_SPACING, this.spacing);
-        this.startSize = mxUtils.getNumber(this.style, mxConstants.STYLE_STARTSIZE, this.startSize);
-        this.endSize = mxUtils.getNumber(this.style, mxConstants.STYLE_ENDSIZE, this.endSize);
-        this.startArrow = mxUtils.getValue(this.style, mxConstants.STYLE_STARTARROW, this.startArrow);
-        this.endArrow = mxUtils.getValue(this.style, mxConstants.STYLE_ENDARROW,
-            this.endArrow);
-        this.rotation = mxUtils.getValue(this.style, mxConstants.STYLE_ROTATION, this.rotation);
-        this.direction = mxUtils.getValue(this.style, mxConstants.STYLE_DIRECTION, this.direction);
-        this.flipH = 1 == mxUtils.getValue(this.style, mxConstants.STYLE_FLIPH, 0);
-        this.flipV = 1 == mxUtils.getValue(this.style, mxConstants.STYLE_FLIPV, 0);
-        null != this.stencil && (this.flipH = 1 == mxUtils.getValue(this.style, "stencilFlipH", 0) || this.flipH, this.flipV = 1 == mxUtils.getValue(this.style, "stencilFlipV", 0) || this.flipV);
-        if ("north" ==
-            this.direction || "south" == this.direction) a = this.flipH, this.flipH = this.flipV, this.flipV = a;
-        this.isShadow = 1 == mxUtils.getValue(this.style, mxConstants.STYLE_SHADOW, this.isShadow);
-        this.isDashed = 1 == mxUtils.getValue(this.style, mxConstants.STYLE_DASHED, this.isDashed);
-        this.isRounded = 1 == mxUtils.getValue(this.style, mxConstants.STYLE_ROUNDED, this.isRounded);
-        this.glass = 1 == mxUtils.getValue(this.style, mxConstants.STYLE_GLASS, this.glass);
-        "none" == this.fill && (this.fill = null);
-        "none" == this.gradient && (this.gradient = null);
-        "none" == this.stroke && (this.stroke = null)
-    }
+  this.state = a;
+  this.style = a.style;
+  if (null != this.style) {
+    this.fill = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, this.fill);
+    this.gradient = mxUtils.getValue(this.style, mxConstants.STYLE_GRADIENTCOLOR, this.gradient);
+    this.gradientDirection = mxUtils.getValue(this.style, mxConstants.STYLE_GRADIENT_DIRECTION, this.gradientDirection);
+    this.opacity = mxUtils.getValue(this.style, mxConstants.STYLE_OPACITY, this.opacity);
+    this.stroke = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR,
+      this.stroke);
+    this.strokewidth = mxUtils.getNumber(this.style, mxConstants.STYLE_STROKEWIDTH, this.strokewidth);
+    this.spacing = mxUtils.getValue(this.style, mxConstants.STYLE_SPACING, this.spacing);
+    this.startSize = mxUtils.getNumber(this.style, mxConstants.STYLE_STARTSIZE, this.startSize);
+    this.endSize = mxUtils.getNumber(this.style, mxConstants.STYLE_ENDSIZE, this.endSize);
+    this.startArrow = mxUtils.getValue(this.style, mxConstants.STYLE_STARTARROW, this.startArrow);
+    this.endArrow = mxUtils.getValue(this.style, mxConstants.STYLE_ENDARROW,
+      this.endArrow);
+    this.rotation = mxUtils.getValue(this.style, mxConstants.STYLE_ROTATION, this.rotation);
+    this.direction = mxUtils.getValue(this.style, mxConstants.STYLE_DIRECTION, this.direction);
+    this.flipH = 1 == mxUtils.getValue(this.style, mxConstants.STYLE_FLIPH, 0);
+    this.flipV = 1 == mxUtils.getValue(this.style, mxConstants.STYLE_FLIPV, 0);
+    null != this.stencil && (this.flipH = 1 == mxUtils.getValue(this.style, "stencilFlipH", 0) || this.flipH, this.flipV = 1 == mxUtils.getValue(this.style, "stencilFlipV", 0) || this.flipV);
+    if ("north" ==
+      this.direction || "south" == this.direction) a = this.flipH, this.flipH = this.flipV, this.flipV = a;
+    this.isShadow = 1 == mxUtils.getValue(this.style, mxConstants.STYLE_SHADOW, this.isShadow);
+    this.isDashed = 1 == mxUtils.getValue(this.style, mxConstants.STYLE_DASHED, this.isDashed);
+    this.isRounded = 1 == mxUtils.getValue(this.style, mxConstants.STYLE_ROUNDED, this.isRounded);
+    this.glass = 1 == mxUtils.getValue(this.style, mxConstants.STYLE_GLASS, this.glass);
+    "none" == this.fill && (this.fill = null);
+    "none" == this.gradient && (this.gradient = null);
+    "none" == this.stroke && (this.stroke = null)
+  }
 };
 mxShape.prototype.setCursor = function(a) {
-    null == a && (a = "");
-    this.cursor = a;
-    null != this.node && (this.node.style.cursor = a)
+  null == a && (a = "");
+  this.cursor = a;
+  null != this.node && (this.node.style.cursor = a)
 };
 mxShape.prototype.getCursor = function() {
-    return this.cursor
+  return this.cursor
 };
 mxShape.prototype.updateBoundingBox = function() {
-    if (null != this.bounds) {
-        var a = this.createBoundingBox();
-        if (null != a) {
-            this.augmentBoundingBox(a);
-            var b = this.getShapeRotation();
-            0 != b && (a = mxUtils.getBoundingBox(a, b));
-            a.x = Math.floor(a.x);
-            a.y = Math.floor(a.y);
-            a.width = Math.ceil(a.width);
-            a.height = Math.ceil(a.height)
-        }
-        this.boundingBox = a
+  if (null != this.bounds) {
+    var a = this.createBoundingBox();
+    if (null != a) {
+      this.augmentBoundingBox(a);
+      var b = this.getShapeRotation();
+      0 != b && (a = mxUtils.getBoundingBox(a, b));
+      a.x = Math.floor(a.x);
+      a.y = Math.floor(a.y);
+      a.width = Math.ceil(a.width);
+      a.height = Math.ceil(a.height)
     }
+    this.boundingBox = a
+  }
 };
 mxShape.prototype.createBoundingBox = function() {
-    var a = this.bounds.clone();
-    if (this.isPaintBoundsInverted()) {
-        var b = (a.width - a.height) / 2;
-        a.x += b;
-        a.y -= b;
-        b = a.width;
-        a.width = a.height;
-        a.height = b
-    }
-    return a
+  var a = this.bounds.clone();
+  if (this.isPaintBoundsInverted()) {
+    var b = (a.width - a.height) / 2;
+    a.x += b;
+    a.y -= b;
+    b = a.width;
+    a.width = a.height;
+    a.height = b
+  }
+  return a
 };
 mxShape.prototype.augmentBoundingBox = function(a) {
-    this.isShadow && (a.width += Math.ceil(mxConstants.SHADOW_OFFSET_X * this.scale), a.height += Math.ceil(mxConstants.SHADOW_OFFSET_Y * this.scale));
-    var b = Math.ceil(this.strokewidth * this.scale);
-    a.grow(Math.ceil(b / 2))
+  this.isShadow && (a.width += Math.ceil(mxConstants.SHADOW_OFFSET_X * this.scale), a.height += Math.ceil(mxConstants.SHADOW_OFFSET_Y * this.scale));
+  var b = Math.ceil(this.strokewidth * this.scale);
+  a.grow(Math.ceil(b / 2))
 };
 mxShape.prototype.isPaintBoundsInverted = function() {
-    return null == this.stencil && ("north" == this.direction || "south" == this.direction)
+  return null == this.stencil && ("north" == this.direction || "south" == this.direction)
 };
 mxShape.prototype.getRotation = function() {
-    return null != this.rotation ? this.rotation : 0
+  return null != this.rotation ? this.rotation : 0
 };
 mxShape.prototype.getTextRotation = function() {
-    var a = this.getRotation();
-    1 != mxUtils.getValue(this.style, mxConstants.STYLE_HORIZONTAL, 1) && (a += mxText.prototype.verticalTextRotation);
-    return a
+  var a = this.getRotation();
+  1 != mxUtils.getValue(this.style, mxConstants.STYLE_HORIZONTAL, 1) && (a += mxText.prototype.verticalTextRotation);
+  return a
 };
 mxShape.prototype.getShapeRotation = function() {
-    var a = this.getRotation();
-    null != this.direction && ("north" == this.direction ? a += 270 : "west" == this.direction ? a += 180 : "south" == this.direction && (a += 90));
-    return a
+  var a = this.getRotation();
+  null != this.direction && ("north" == this.direction ? a += 270 : "west" == this.direction ? a += 180 : "south" == this.direction && (a += 90));
+  return a
 };
 mxShape.prototype.addTransparentBackgroundRectangle = function(a, b, c, d, e) {
-    a = document.createElementNS(mxConstants.NS_SVG, "rect");
-    a.setAttribute("x", b);
-    a.setAttribute("y", c);
-    a.setAttribute("width", d);
-    a.setAttribute("height", e);
-    a.setAttribute("fill", "none");
-    a.setAttribute("stroke", "none");
-    a.setAttribute("pointer-events", "all");
-    this.node.appendChild(a)
+  a = document.createElementNS(mxConstants.NS_SVG, "rect");
+  a.setAttribute("x", b);
+  a.setAttribute("y", c);
+  a.setAttribute("width", d);
+  a.setAttribute("height", e);
+  a.setAttribute("fill", "none");
+  a.setAttribute("stroke", "none");
+  a.setAttribute("pointer-events", "all");
+  this.node.appendChild(a)
 };
 mxShape.prototype.setTransparentBackgroundImage = function(a) {
-    a.style.backgroundImage = "url('" + mxClient.imageBasePath + "/transparent.gif')"
+  a.style.backgroundImage = "url('" + mxClient.imageBasePath + "/transparent.gif')"
 };
 mxShape.prototype.releaseSvgGradients = function(a) {
-    if (null != a)
-        for (var b in a) {
-            var c = a[b];
-            c.mxRefCount = (c.mxRefCount || 0) - 1;
-            0 == c.mxRefCount && null != c.parentNode && c.parentNode.removeChild(c)
-        }
+  if (null != a)
+    for (var b in a) {
+      var c = a[b];
+      c.mxRefCount = (c.mxRefCount || 0) - 1;
+      0 == c.mxRefCount && null != c.parentNode && c.parentNode.removeChild(c)
+    }
 };
 mxShape.prototype.destroy = function() {
-    null != this.node && (mxEvent.release(this.node), null != this.node.parentNode && this.node.parentNode.removeChild(this.node), this.node = null);
-    this.releaseSvgGradients(this.oldGradients);
-    this.oldGradients = null
+  null != this.node && (mxEvent.release(this.node), null != this.node.parentNode && this.node.parentNode.removeChild(this.node), this.node = null);
+  this.releaseSvgGradients(this.oldGradients);
+  this.oldGradients = null
 };
 var mxStencilRegistry = {
-        stencils: [],
-        addStencil: function(a, b) {
-            mxStencilRegistry.stencils[a] = b
-        },
-        getStencil: function(a) {
-            return mxStencilRegistry.stencils[a]
-        }
+    stencils: [],
+    addStencil: function(a, b) {
+      mxStencilRegistry.stencils[a] = b
     },
-    mxMarker = {
-        markers: [],
-        addMarker: function(a, b) {
-            mxMarker.markers[a] = b
-        },
-        createMarker: function(a, b, c, d, e, f, g, h, k, l) {
-            var m = mxMarker.markers[c];
-            return null != m ? m(a, b, c, d, e, f, g, h, k, l) : null
-        }
-    };
-(function() {
-    function a(a, b, e, f, g, h, k, l, m, n) {
-        b = 1.118 * g * m;
-        l = 1.118 * h * m;
-        g *= k + m;
-        h *= k + m;
-        var p = f.clone();
-        p.x -= b;
-        p.y -= l;
-        k = e != mxConstants.ARROW_CLASSIC ? 1 : 0.75;
-        f.x += -g * k - b;
-        f.y += -h * k - l;
-        return function() {
-            a.begin();
-            a.moveTo(p.x, p.y);
-            a.lineTo(p.x - g - h / 2, p.y - h + g / 2);
-            e == mxConstants.ARROW_CLASSIC && a.lineTo(p.x - 3 * g / 4, p.y - 3 * h / 4);
-            a.lineTo(p.x + h / 2 - g, p.y - h - g / 2);
-            a.close();
-            n ? a.fillAndStroke() : a.stroke()
-        }
+    getStencil: function(a) {
+      return mxStencilRegistry.stencils[a]
+    }
+  },
+  mxMarker = {
+    markers: [],
+    addMarker: function(a, b) {
+      mxMarker.markers[a] = b
+    },
+    createMarker: function(a, b, c, d, e, f, g, h, k, l) {
+      var m = mxMarker.markers[c];
+      return null != m ? m(a, b, c, d, e, f, g, h, k, l) : null
     }
+  };
+(function() {
+  function a(a, b, e, f, g, h, k, l, m, n) {
+    b = 1.118 * g * m;
+    l = 1.118 * h * m;
+    g *= k + m;
+    h *= k + m;
+    var p = f.clone();
+    p.x -= b;
+    p.y -= l;
+    k = e != mxConstants.ARROW_CLASSIC ? 1 : 0.75;
+    f.x += -g * k - b;
+    f.y += -h * k - l;
+    return function() {
+      a.begin();
+      a.moveTo(p.x, p.y);
+      a.lineTo(p.x - g - h / 2, p.y - h + g / 2);
+      e == mxConstants.ARROW_CLASSIC && a.lineTo(p.x - 3 * g / 4, p.y - 3 * h / 4);
+      a.lineTo(p.x + h / 2 - g, p.y - h - g / 2);
+      a.close();
+      n ? a.fillAndStroke() : a.stroke()
+    }
+  }
 
-    function b(a, b, e, f, g, h, k, l, m, n) {
-        l = e == mxConstants.ARROW_DIAMOND ? 0.7071 : 0.9862;
-        b = g * m * l;
-        l *= h * m;
-        g *= k + m;
-        h *= k + m;
-        var p = f.clone();
-        p.x -= b;
-        p.y -= l;
-        f.x += -g - b;
-        f.y += -h - l;
-        var q = e == mxConstants.ARROW_DIAMOND ? 2 : 3.4;
-        return function() {
-            a.begin();
-            a.moveTo(p.x, p.y);
-            a.lineTo(p.x - g / 2 - h / q, p.y + g / q - h / 2);
-            a.lineTo(p.x - g, p.y - h);
-            a.lineTo(p.x - g / 2 + h / q, p.y - h / 2 - g / q);
-            a.close();
-            n ? a.fillAndStroke() : a.stroke()
-        }
-    }
-    mxMarker.addMarker("classic", a);
-    mxMarker.addMarker("block", a);
-    mxMarker.addMarker("open", function(a, b, e, f, g, h, k, l, m, n) {
-        b = 1.118 * g * m;
-        e = 1.118 * h * m;
-        g *= k + m;
-        h *= k + m;
-        var p = f.clone();
-        p.x -= b;
-        p.y -= e;
-        f.x += 2 * -b;
-        f.y += 2 * -e;
-        return function() {
-            a.begin();
-            a.moveTo(p.x - g -
-                h / 2, p.y - h + g / 2);
-            a.lineTo(p.x, p.y);
-            a.lineTo(p.x + h / 2 - g, p.y - h - g / 2);
-            a.stroke()
-        }
-    });
-    mxMarker.addMarker("oval", function(a, b, e, f, g, h, k, l, m, n) {
-        var p = k / 2,
-            q = f.clone();
-        f.x -= g * p;
-        f.y -= h * p;
-        return function() {
-            a.ellipse(q.x - p, q.y - p, k, k);
-            n ? a.fillAndStroke() : a.stroke()
-        }
-    });
-    mxMarker.addMarker("diamond", b);
-    mxMarker.addMarker("diamondThin", b)
+  function b(a, b, e, f, g, h, k, l, m, n) {
+    l = e == mxConstants.ARROW_DIAMOND ? 0.7071 : 0.9862;
+    b = g * m * l;
+    l *= h * m;
+    g *= k + m;
+    h *= k + m;
+    var p = f.clone();
+    p.x -= b;
+    p.y -= l;
+    f.x += -g - b;
+    f.y += -h - l;
+    var q = e == mxConstants.ARROW_DIAMOND ? 2 : 3.4;
+    return function() {
+      a.begin();
+      a.moveTo(p.x, p.y);
+      a.lineTo(p.x - g / 2 - h / q, p.y + g / q - h / 2);
+      a.lineTo(p.x - g, p.y - h);
+      a.lineTo(p.x - g / 2 + h / q, p.y - h / 2 - g / q);
+      a.close();
+      n ? a.fillAndStroke() : a.stroke()
+    }
+  }
+  mxMarker.addMarker("classic", a);
+  mxMarker.addMarker("block", a);
+  mxMarker.addMarker("open", function(a, b, e, f, g, h, k, l, m, n) {
+    b = 1.118 * g * m;
+    e = 1.118 * h * m;
+    g *= k + m;
+    h *= k + m;
+    var p = f.clone();
+    p.x -= b;
+    p.y -= e;
+    f.x += 2 * -b;
+    f.y += 2 * -e;
+    return function() {
+      a.begin();
+      a.moveTo(p.x - g -
+        h / 2, p.y - h + g / 2);
+      a.lineTo(p.x, p.y);
+      a.lineTo(p.x + h / 2 - g, p.y - h - g / 2);
+      a.stroke()
+    }
+  });
+  mxMarker.addMarker("oval", function(a, b, e, f, g, h, k, l, m, n) {
+    var p = k / 2,
+      q = f.clone();
+    f.x -= g * p;
+    f.y -= h * p;
+    return function() {
+      a.ellipse(q.x - p, q.y - p, k, k);
+      n ? a.fillAndStroke() : a.stroke()
+    }
+  });
+  mxMarker.addMarker("diamond", b);
+  mxMarker.addMarker("diamondThin", b)
 })();
 
 function mxActor(a, b, c, d) {
-    mxShape.call(this);
-    this.bounds = a;
-    this.fill = b;
-    this.stroke = c;
-    this.strokewidth = null != d ? d : 1
+  mxShape.call(this);
+  this.bounds = a;
+  this.fill = b;
+  this.stroke = c;
+  this.strokewidth = null != d ? d : 1
 }
 mxUtils.extend(mxActor, mxShape);
 mxActor.prototype.paintVertexShape = function(a, b, c, d, e) {
-    a.translate(b, c);
-    a.begin();
-    this.redrawPath(a, b, c, d, e);
-    a.fillAndStroke()
+  a.translate(b, c);
+  a.begin();
+  this.redrawPath(a, b, c, d, e);
+  a.fillAndStroke()
 };
 mxActor.prototype.redrawPath = function(a, b, c, d, e) {
-    b = d / 3;
-    a.moveTo(0, e);
-    a.curveTo(0, 3 * e / 5, 0, 2 * e / 5, d / 2, 2 * e / 5);
-    a.curveTo(d / 2 - b, 2 * e / 5, d / 2 - b, 0, d / 2, 0);
-    a.curveTo(d / 2 + b, 0, d / 2 + b, 2 * e / 5, d / 2, 2 * e / 5);
-    a.curveTo(d, 2 * e / 5, d, 3 * e / 5, d, e);
-    a.close()
+  b = d / 3;
+  a.moveTo(0, e);
+  a.curveTo(0, 3 * e / 5, 0, 2 * e / 5, d / 2, 2 * e / 5);
+  a.curveTo(d / 2 - b, 2 * e / 5, d / 2 - b, 0, d / 2, 0);
+  a.curveTo(d / 2 + b, 0, d / 2 + b, 2 * e / 5, d / 2, 2 * e / 5);
+  a.curveTo(d, 2 * e / 5, d, 3 * e / 5, d, e);
+  a.close()
 };
 
 function mxCloud(a, b, c, d) {
-    mxActor.call(this);
-    this.bounds = a;
-    this.fill = b;
-    this.stroke = c;
-    this.strokewidth = null != d ? d : 1
+  mxActor.call(this);
+  this.bounds = a;
+  this.fill = b;
+  this.stroke = c;
+  this.strokewidth = null != d ? d : 1
 }
 mxUtils.extend(mxCloud, mxActor);
 mxCloud.prototype.redrawPath = function(a, b, c, d, e) {
-    a.moveTo(0.25 * d, 0.25 * e);
-    a.curveTo(0.05 * d, 0.25 * e, 0, 0.5 * e, 0.16 * d, 0.55 * e);
-    a.curveTo(0, 0.66 * e, 0.18 * d, 0.9 * e, 0.31 * d, 0.8 * e);
-    a.curveTo(0.4 * d, e, 0.7 * d, e, 0.8 * d, 0.8 * e);
-    a.curveTo(d, 0.8 * e, d, 0.6 * e, 0.875 * d, 0.5 * e);
-    a.curveTo(d, 0.3 * e, 0.8 * d, 0.1 * e, 0.625 * d, 0.2 * e);
-    a.curveTo(0.5 * d, 0.05 * e, 0.3 * d, 0.05 * e, 0.25 * d, 0.25 * e);
-    a.close()
+  a.moveTo(0.25 * d, 0.25 * e);
+  a.curveTo(0.05 * d, 0.25 * e, 0, 0.5 * e, 0.16 * d, 0.55 * e);
+  a.curveTo(0, 0.66 * e, 0.18 * d, 0.9 * e, 0.31 * d, 0.8 * e);
+  a.curveTo(0.4 * d, e, 0.7 * d, e, 0.8 * d, 0.8 * e);
+  a.curveTo(d, 0.8 * e, d, 0.6 * e, 0.875 * d, 0.5 * e);
+  a.curveTo(d, 0.3 * e, 0.8 * d, 0.1 * e, 0.625 * d, 0.2 * e);
+  a.curveTo(0.5 * d, 0.05 * e, 0.3 * d, 0.05 * e, 0.25 * d, 0.25 * e);
+  a.close()
 };
 
 function mxRectangleShape(a, b, c, d) {
-    mxShape.call(this);
-    this.bounds = a;
-    this.fill = b;
-    this.stroke = c;
-    this.strokewidth = null != d ? d : 1
+  mxShape.call(this);
+  this.bounds = a;
+  this.fill = b;
+  this.stroke = c;
+  this.strokewidth = null != d ? d : 1
 }
 mxUtils.extend(mxRectangleShape, mxShape);
 mxRectangleShape.prototype.isHtmlAllowed = function() {
-    return !this.isRounded && !this.glass && 0 == this.rotation
+  return !this.isRounded && !this.glass && 0 == this.rotation
 };
 mxRectangleShape.prototype.paintBackground = function(a, b, c, d, e) {
-    if (this.isRounded) {
-        var f = mxUtils.getValue(this.style, mxConstants.STYLE_ARCSIZE, 100 * mxConstants.RECTANGLE_ROUNDING_FACTOR) / 100,
-            f = Math.min(d * f, e * f);
-        a.roundrect(b, c, d, e, f, f)
-    } else a.rect(b, c, d, e);
-    a.fillAndStroke()
+  if (this.isRounded) {
+    var f = mxUtils.getValue(this.style, mxConstants.STYLE_ARCSIZE, 100 * mxConstants.RECTANGLE_ROUNDING_FACTOR) / 100,
+      f = Math.min(d * f, e * f);
+    a.roundrect(b, c, d, e, f, f)
+  } else a.rect(b, c, d, e);
+  a.fillAndStroke()
 };
 mxRectangleShape.prototype.paintForeground = function(a, b, c, d, e) {
-    this.glass && this.paintGlassEffect(a, b, c, d, e, this.getArcSize(d + this.strokewidth, e + this.strokewidth))
+  this.glass && this.paintGlassEffect(a, b, c, d, e, this.getArcSize(d + this.strokewidth, e + this.strokewidth))
 };
 mxRectangleShape.prototype.redrawHtmlShape = function() {
-    this.updateHtmlBounds(this.node);
-    this.updateHtmlFilters(this.node);
-    this.updateHtmlColors(this.node)
+  this.updateHtmlBounds(this.node);
+  this.updateHtmlFilters(this.node);
+  this.updateHtmlColors(this.node)
 };
 mxRectangleShape.prototype.updateHtmlBounds = function(a) {
-    var b = 9 <= document.documentMode ? 0 : Math.ceil(this.strokewidth * this.scale);
-    a.style.borderWidth = Math.max(1, b) + "px";
-    a.style.overflow = "hidden";
-    a.style.left = Math.round(this.bounds.x - b / 2) + "px";
-    a.style.top = Math.round(this.bounds.y - b / 2) + "px";
-    "CSS1Compat" == document.compatMode && (b = -b);
-    a.style.width = Math.round(Math.max(0, this.bounds.width + b)) + "px";
-    a.style.height = Math.round(Math.max(0, this.bounds.height + b)) + "px"
+  var b = 9 <= document.documentMode ? 0 : Math.ceil(this.strokewidth * this.scale);
+  a.style.borderWidth = Math.max(1, b) + "px";
+  a.style.overflow = "hidden";
+  a.style.left = Math.round(this.bounds.x - b / 2) + "px";
+  a.style.top = Math.round(this.bounds.y - b / 2) + "px";
+  "CSS1Compat" == document.compatMode && (b = -b);
+  a.style.width = Math.round(Math.max(0, this.bounds.width + b)) + "px";
+  a.style.height = Math.round(Math.max(0, this.bounds.height + b)) + "px"
 };
 mxRectangleShape.prototype.updateHtmlColors = function(a) {
-    var b = this.stroke;
-    null != b && b != mxConstants.NONE ? (a.style.borderColor = b, this.isDashed ? a.style.borderStyle = "dashed" : 0 < this.strokewidth && (a.style.borderStyle = "solid"), a.style.borderWidth = Math.max(1, Math.ceil(this.strokewidth * this.scale)) + "px") : a.style.borderWidth = "0px";
-    b = this.fill;
-    null != b && b != mxConstants.NONE ? (a.style.backgroundColor = b, a.style.backgroundImage = "none") : this.pointerEvents ? a.style.backgroundColor = "transparent" : 8 == document.documentMode ?
-        mxUtils.addTransparentBackgroundFilter(a) : this.setTransparentBackgroundImage(a)
+  var b = this.stroke;
+  null != b && b != mxConstants.NONE ? (a.style.borderColor = b, this.isDashed ? a.style.borderStyle = "dashed" : 0 < this.strokewidth && (a.style.borderStyle = "solid"), a.style.borderWidth = Math
+    .max(1, Math.ceil(this.strokewidth * this.scale)) + "px") : a.style.borderWidth = "0px";
+  b = this.fill;
+  null != b && b != mxConstants.NONE ? (a.style.backgroundColor = b, a.style.backgroundImage = "none") : this.pointerEvents ? a.style.backgroundColor = "transparent" : 8 == document.documentMode ?
+    mxUtils.addTransparentBackgroundFilter(a) : this.setTransparentBackgroundImage(a)
 };
 mxRectangleShape.prototype.updateHtmlFilters = function(a) {
-    var b = "";
-    100 > this.opacity && (b += "alpha(opacity\x3d" + this.opacity + ")");
-    this.isShadow && (b += "progid:DXImageTransform.Microsoft.dropShadow (OffX\x3d'" + Math.round(mxConstants.SHADOW_OFFSET_X * this.scale) + "', OffY\x3d'" + Math.round(mxConstants.SHADOW_OFFSET_Y * this.scale) + "', Color\x3d'" + mxConstants.SHADOWCOLOR + "')");
-    if (this.gradient) {
-        var c = this.fill,
-            d = this.gradient,
-            e = "0",
-            f = {
-                east: 0,
-                south: 1,
-                west: 2,
-                north: 3
-            },
-            g = null != this.direction ? f[this.direction] : 0;
-        null !=
-            this.gradientDirection && (g = mxUtils.mod(g + f[this.gradientDirection] - 1, 4));
-        1 == g ? (e = "1", f = c, c = d, d = f) : 2 == g ? (f = c, c = d, d = f) : 3 == g && (e = "1");
-        b += "progid:DXImageTransform.Microsoft.gradient(startColorStr\x3d'" + c + "', endColorStr\x3d'" + d + "', gradientType\x3d'" + e + "')"
-    }
-    a.style.filter = b
+  var b = "";
+  100 > this.opacity && (b += "alpha(opacity\x3d" + this.opacity + ")");
+  this.isShadow && (b += "progid:DXImageTransform.Microsoft.dropShadow (OffX\x3d'" + Math.round(mxConstants.SHADOW_OFFSET_X * this.scale) + "', OffY\x3d'" + Math.round(mxConstants.SHADOW_OFFSET_Y *
+    this.scale) + "', Color\x3d'" + mxConstants.SHADOWCOLOR + "')");
+  if (this.gradient) {
+    var c = this.fill,
+      d = this.gradient,
+      e = "0",
+      f = {
+        east: 0,
+        south: 1,
+        west: 2,
+        north: 3
+      },
+      g = null != this.direction ? f[this.direction] : 0;
+    null !=
+      this.gradientDirection && (g = mxUtils.mod(g + f[this.gradientDirection] - 1, 4));
+    1 == g ? (e = "1", f = c, c = d, d = f) : 2 == g ? (f = c, c = d, d = f) : 3 == g && (e = "1");
+    b += "progid:DXImageTransform.Microsoft.gradient(startColorStr\x3d'" + c + "', endColorStr\x3d'" + d + "', gradientType\x3d'" + e + "')"
+  }
+  a.style.filter = b
 };
 
 function mxEllipse(a, b, c, d) {
-    mxShape.call(this);
-    this.bounds = a;
-    this.fill = b;
-    this.stroke = c;
-    this.strokewidth = null != d ? d : 1
+  mxShape.call(this);
+  this.bounds = a;
+  this.fill = b;
+  this.stroke = c;
+  this.strokewidth = null != d ? d : 1
 }
 mxUtils.extend(mxEllipse, mxShape);
 mxEllipse.prototype.paintVertexShape = function(a, b, c, d, e) {
-    a.ellipse(b, c, d, e);
-    a.fillAndStroke()
+  a.ellipse(b, c, d, e);
+  a.fillAndStroke()
 };
 
 function mxDoubleEllipse(a, b, c, d) {
-    mxShape.call(this);
-    this.bounds = a;
-    this.fill = b;
-    this.stroke = c;
-    this.strokewidth = null != d ? d : 1
+  mxShape.call(this);
+  this.bounds = a;
+  this.fill = b;
+  this.stroke = c;
+  this.strokewidth = null != d ? d : 1
 }
 mxUtils.extend(mxDoubleEllipse, mxShape);
 mxDoubleEllipse.prototype.vmlScale = 10;
 mxDoubleEllipse.prototype.paintBackground = function(a, b, c, d, e) {
-    a.ellipse(b, c, d, e);
-    a.fillAndStroke()
+  a.ellipse(b, c, d, e);
+  a.fillAndStroke()
 };
 mxDoubleEllipse.prototype.paintForeground = function(a, b, c, d, e) {
-    var f = Math.min(4, Math.min(d / 5, e / 5));
-    d -= 2 * f;
-    e -= 2 * f;
-    0 < d && 0 < e && a.ellipse(b + f, c + f, d, e);
-    a.stroke()
+  var f = Math.min(4, Math.min(d / 5, e / 5));
+  d -= 2 * f;
+  e -= 2 * f;
+  0 < d && 0 < e && a.ellipse(b + f, c + f, d, e);
+  a.stroke()
 };
 
 function mxRhombus(a, b, c, d) {
-    mxShape.call(this);
-    this.bounds = a;
-    this.fill = b;
-    this.stroke = c;
-    this.strokewidth = null != d ? d : 1
+  mxShape.call(this);
+  this.bounds = a;
+  this.fill = b;
+  this.stroke = c;
+  this.strokewidth = null != d ? d : 1
 }
 mxUtils.extend(mxRhombus, mxShape);
 mxRhombus.prototype.paintVertexShape = function(a, b, c, d, e) {
-    var f = d / 2,
-        g = e / 2;
-    a.begin();
-    a.moveTo(b + f, c);
-    a.lineTo(b + d, c + g);
-    a.lineTo(b + f, c + e);
-    a.lineTo(b, c + g);
-    a.close();
-    a.fillAndStroke()
+  var f = d / 2,
+    g = e / 2;
+  a.begin();
+  a.moveTo(b + f, c);
+  a.lineTo(b + d, c + g);
+  a.lineTo(b + f, c + e);
+  a.lineTo(b, c + g);
+  a.close();
+  a.fillAndStroke()
 };
 
 function mxPolyline(a, b, c) {
-    mxShape.call(this);
-    this.points = a;
-    this.stroke = b;
-    this.strokewidth = null != c ? c : 1
+  mxShape.call(this);
+  this.points = a;
+  this.stroke = b;
+  this.strokewidth = null != c ? c : 1
 }
 mxUtils.extend(mxPolyline, mxShape);
 mxPolyline.prototype.getRotation = function() {
-    return 0
+  return 0
 };
 mxPolyline.prototype.paintEdgeShape = function(a, b) {
-    this.paintLine(a, b, this.isRounded)
+  this.paintLine(a, b, this.isRounded)
 };
 mxPolyline.prototype.paintLine = function(a, b, c) {
-    var d = mxUtils.getValue(this.style, mxConstants.STYLE_ARCSIZE, mxConstants.LINE_ARCSIZE) / 2,
-        e = b[0],
-        f = b[b.length - 1];
-    a.begin();
-    a.moveTo(e.x, e.y);
-    for (var g = 1; g < b.length - 1; g++) {
-        var h = b[g],
-            k = e.x - h.x,
-            e = e.y - h.y;
-        if (c && g < b.length - 1 && (0 != k || 0 != e)) {
-            var l = Math.sqrt(k * k + e * e),
-                k = k * Math.min(d, l / 2) / l,
-                e = e * Math.min(d, l / 2) / l;
-            a.lineTo(h.x + k, h.y + e);
-            e = b[g + 1];
-            k = e.x - h.x;
-            e = e.y - h.y;
-            l = Math.max(1, Math.sqrt(k * k + e * e));
-            k = k * Math.min(d, l / 2) / l;
-            e = e * Math.min(d, l / 2) / l;
-            k = h.x + k;
-            e = h.y + e;
-            a.quadTo(h.x,
-                h.y, k, e);
-            h = new mxPoint(k, e)
-        } else a.lineTo(h.x, h.y);
-        e = h
-    }
-    a.lineTo(f.x, f.y);
-    a.stroke()
+  var d = mxUtils.getValue(this.style, mxConstants.STYLE_ARCSIZE, mxConstants.LINE_ARCSIZE) / 2,
+    e = b[0],
+    f = b[b.length - 1];
+  a.begin();
+  a.moveTo(e.x, e.y);
+  for (var g = 1; g < b.length - 1; g++) {
+    var h = b[g],
+      k = e.x - h.x,
+      e = e.y - h.y;
+    if (c && g < b.length - 1 && (0 != k || 0 != e)) {
+      var l = Math.sqrt(k * k + e * e),
+        k = k * Math.min(d, l / 2) / l,
+        e = e * Math.min(d, l / 2) / l;
+      a.lineTo(h.x + k, h.y + e);
+      e = b[g + 1];
+      k = e.x - h.x;
+      e = e.y - h.y;
+      l = Math.max(1, Math.sqrt(k * k + e * e));
+      k = k * Math.min(d, l / 2) / l;
+      e = e * Math.min(d, l / 2) / l;
+      k = h.x + k;
+      e = h.y + e;
+      a.quadTo(h.x,
+        h.y, k, e);
+      h = new mxPoint(k, e)
+    } else a.lineTo(h.x, h.y);
+    e = h
+  }
+  a.lineTo(f.x, f.y);
+  a.stroke()
 };
 
 function mxArrow(a, b, c, d, e, f, g) {
-    mxShape.call(this);
-    this.points = a;
-    this.fill = b;
-    this.stroke = c;
-    this.strokewidth = null != d ? d : 1;
-    this.arrowWidth = null != e ? e : mxConstants.ARROW_WIDTH;
-    this.spacing = null != f ? f : mxConstants.ARROW_SPACING;
-    this.endSize = null != g ? g : mxConstants.ARROW_SIZE
+  mxShape.call(this);
+  this.points = a;
+  this.fill = b;
+  this.stroke = c;
+  this.strokewidth = null != d ? d : 1;
+  this.arrowWidth = null != e ? e : mxConstants.ARROW_WIDTH;
+  this.spacing = null != f ? f : mxConstants.ARROW_SPACING;
+  this.endSize = null != g ? g : mxConstants.ARROW_SIZE
 }
 mxUtils.extend(mxArrow, mxShape);
 mxArrow.prototype.paintEdgeShape = function(a, b) {
-    var c = mxConstants.ARROW_SPACING,
-        d = mxConstants.ARROW_WIDTH,
-        e = mxConstants.ARROW_SIZE,
-        f = b[0],
-        g = b[b.length - 1],
-        h = g.x - f.x,
-        k = g.y - f.y,
-        l = Math.sqrt(h * h + k * k),
-        m = l - 2 * c - e,
-        h = h / l,
-        k = k / l,
-        l = d * k / 3,
-        d = -d * h / 3,
-        e = f.x - l / 2 + c * h,
-        f = f.y - d / 2 + c * k,
-        n = e + l,
-        p = f + d,
-        q = n + m * h,
-        m = p + m * k,
-        s = q + l,
-        r = m + d,
-        t = s - 3 * l,
-        v = r - 3 * d;
-    a.begin();
-    a.moveTo(e, f);
-    a.lineTo(n, p);
-    a.lineTo(q, m);
-    a.lineTo(s, r);
-    a.lineTo(g.x - c * h, g.y - c * k);
-    a.lineTo(t, v);
-    a.lineTo(t + l, v + d);
-    a.close();
-    a.fillAndStroke()
+  var c = mxConstants.ARROW_SPACING,
+    d = mxConstants.ARROW_WIDTH,
+    e = mxConstants.ARROW_SIZE,
+    f = b[0],
+    g = b[b.length - 1],
+    h = g.x - f.x,
+    k = g.y - f.y,
+    l = Math.sqrt(h * h + k * k),
+    m = l - 2 * c - e,
+    h = h / l,
+    k = k / l,
+    l = d * k / 3,
+    d = -d * h / 3,
+    e = f.x - l / 2 + c * h,
+    f = f.y - d / 2 + c * k,
+    n = e + l,
+    p = f + d,
+    q = n + m * h,
+    m = p + m * k,
+    s = q + l,
+    r = m + d,
+    t = s - 3 * l,
+    v = r - 3 * d;
+  a.begin();
+  a.moveTo(e, f);
+  a.lineTo(n, p);
+  a.lineTo(q, m);
+  a.lineTo(s, r);
+  a.lineTo(g.x - c * h, g.y - c * k);
+  a.lineTo(t, v);
+  a.lineTo(t + l, v + d);
+  a.close();
+  a.fillAndStroke()
 };
 
 function mxText(a, b, c, d, e, f, g, h, k, l, m, n, p, q, s, r, t, v, w, u) {
-    mxShape.call(this);
-    this.value = a;
-    this.bounds = b;
-    this.color = null != e ? e : "black";
-    this.align = null != c ? c : "";
-    this.valign = null != d ? d : "";
-    this.family = null != f ? f : mxConstants.DEFAULT_FONTFAMILY;
-    this.size = null != g ? g : mxConstants.DEFAULT_FONTSIZE;
-    this.fontStyle = null != h ? h : mxConstants.DEFAULT_FONTSTYLE;
-    this.spacing = parseInt(k || 2);
-    this.spacingTop = this.spacing + parseInt(l || 0);
-    this.spacingRight = this.spacing + parseInt(m || 0);
-    this.spacingBottom = this.spacing + parseInt(n || 0);
-    this.spacingLeft = this.spacing + parseInt(p || 0);
-    this.horizontal = null != q ? q : !0;
-    this.background = s;
-    this.border = r;
-    this.wrap = null != t ? t : !1;
-    this.clipped = null != v ? v : !1;
-    this.overflow = null != w ? w : "visible";
-    this.labelPadding = null != u ? u : 0;
-    this.rotation = 0
+  mxShape.call(this);
+  this.value = a;
+  this.bounds = b;
+  this.color = null != e ? e : "black";
+  this.align = null != c ? c : "";
+  this.valign = null != d ? d : "";
+  this.family = null != f ? f : mxConstants.DEFAULT_FONTFAMILY;
+  this.size = null != g ? g : mxConstants.DEFAULT_FONTSIZE;
+  this.fontStyle = null != h ? h : mxConstants.DEFAULT_FONTSTYLE;
+  this.spacing = parseInt(k || 2);
+  this.spacingTop = this.spacing + parseInt(l || 0);
+  this.spacingRight = this.spacing + parseInt(m || 0);
+  this.spacingBottom = this.spacing + parseInt(n || 0);
+  this.spacingLeft = this.spacing + parseInt(p || 0);
+  this.horizontal = null != q ? q : !0;
+  this.background = s;
+  this.border = r;
+  this.wrap = null != t ? t : !1;
+  this.clipped = null != v ? v : !1;
+  this.overflow = null != w ? w : "visible";
+  this.labelPadding = null != u ? u : 0;
+  this.rotation = 0
 }
 mxUtils.extend(mxText, mxShape);
 mxText.prototype.baseSpacingTop = 0;
@@ -5687,309 +5774,320 @@ mxText.prototype.verticalTextRotation = -90;
 mxText.prototype.ignoreClippedStringSize = !0;
 mxText.prototype.ignoreStringSize = !1;
 mxText.prototype.isParseVml = function() {
-    return !1
+  return !1
 };
 mxText.prototype.isHtmlAllowed = function() {
-    return 8 != document.documentMode
+  return 8 != document.documentMode
 };
 mxText.prototype.getSvgScreenOffset = function() {
-    return 0
+  return 0
 };
 mxText.prototype.checkBounds = function() {
-    return null != this.bounds && !isNaN(this.bounds.x) && !isNaN(this.bounds.y) && !isNaN(this.bounds.width) && !isNaN(this.bounds.height)
+  return null != this.bounds && !isNaN(this.bounds.x) && !isNaN(this.bounds.y) && !isNaN(this.bounds.width) && !isNaN(this.bounds.height)
 };
 mxText.prototype.updateBoundingBox = function() {
-    var a = this.node;
-    8 == document.documentMode && null != a.firstChild && (a = a.firstChild, null != a.firstChild && (a = a.firstChild));
-    this.boundingBox = this.bounds.clone();
-    var b = this.getTextRotation();
-    if (!this.ignoreStringSize && null != a && "fill" != this.overflow && (!this.clipped || !this.ignoreClippedStringSize)) {
-        var c = null,
-            d = null;
-        if (null != a.ownerSVGElement)
-            if (null != a.firstChild && null != a.firstChild.firstChild && "foreignObject" == a.firstChild.firstChild.nodeName) a = a.firstChild.firstChild,
-                c = this.wrap ? this.bounds.width : parseInt(a.getAttribute("width")) * this.scale, d = parseInt(a.getAttribute("height")) * this.scale;
-            else {
-                b = a.getBBox();
-                if (0 == b.width && 0 == b.height) return;
-                this.boundingBox = new mxRectangle(b.x, b.y, b.width, b.height);
-                b = 0
-            } else d = this.state.view.textDiv, null != this.offsetWidth && null != this.offsetHeight ? (c = this.wrap ? this.bounds.width : this.offsetWidth * this.scale, d = this.offsetHeight * this.scale) : null != d ? (this.updateFont(d), this.updateSize(d), mxUtils.isNode(this.value) ? d.innerHTML = this.value.outerHTML :
-            (c = this.replaceLinefeeds ? this.value.replace(/\n/g, "\x3cbr/\x3e") : this.value, d.innerHTML = c), c = this.wrap ? this.bounds.width : d.offsetWidth * this.scale, d = d.offsetHeight * this.scale) : (c = this.wrap ? this.bounds.width : a.offsetWidth * this.scale, d = a.offsetHeight * this.scale);
-        null != c && null != d && (this.boundingBox = new mxRectangle(this.bounds.x + this.margin.x * c, this.bounds.y + this.margin.y * d, c, d))
-    } else this.boundingBox.x += this.margin.x * this.boundingBox.width, this.boundingBox.y += this.margin.y * this.boundingBox.height;
-    null !=
-        this.boundingBox && (0 != b && (b = mxUtils.getBoundingBox(this.boundingBox, b), this.boundingBox.x = b.x, this.boundingBox.y = b.y, mxClient.IS_QUIRKS || (this.boundingBox.width = b.width, this.boundingBox.height = b.height)), this.boundingBox.x = Math.floor(this.boundingBox.x), this.boundingBox.y = Math.floor(this.boundingBox.y), this.boundingBox.width = Math.ceil(this.boundingBox.width), this.boundingBox.height = Math.ceil(this.boundingBox.height))
+  var a = this.node;
+  8 == document.documentMode && null != a.firstChild && (a = a.firstChild, null != a.firstChild && (a = a.firstChild));
+  this.boundingBox = this.bounds.clone();
+  var b = this.getTextRotation();
+  if (!this.ignoreStringSize && null != a && "fill" != this.overflow && (!this.clipped || !this.ignoreClippedStringSize)) {
+    var c = null,
+      d = null;
+    if (null != a.ownerSVGElement)
+      if (null != a.firstChild && null != a.firstChild.firstChild && "foreignObject" == a.firstChild.firstChild.nodeName) a = a.firstChild.firstChild,
+        c = this.wrap ? this.bounds.width : parseInt(a.getAttribute("width")) * this.scale, d = parseInt(a.getAttribute("height")) * this.scale;
+      else {
+        b = a.getBBox();
+        if (0 == b.width && 0 == b.height) return;
+        this.boundingBox = new mxRectangle(b.x, b.y, b.width, b.height);
+        b = 0
+      } else d = this.state.view.textDiv, null != this.offsetWidth && null != this.offsetHeight ? (c = this.wrap ? this.bounds.width : this.offsetWidth * this.scale, d = this.offsetHeight * this.scale) :
+      null != d ? (this.updateFont(d), this.updateSize(d), mxUtils.isNode(this.value) ? d.innerHTML = this.value.outerHTML :
+        (c = this.replaceLinefeeds ? this.value.replace(/\n/g, "\x3cbr/\x3e") : this.value, d.innerHTML = c), c = this.wrap ? this.bounds.width : d.offsetWidth * this.scale, d = d.offsetHeight *
+        this.scale) : (c = this.wrap ? this.bounds.width : a.offsetWidth * this.scale, d = a.offsetHeight * this.scale);
+    null != c && null != d && (this.boundingBox = new mxRectangle(this.bounds.x + this.margin.x * c, this.bounds.y + this.margin.y * d, c, d))
+  } else this.boundingBox.x += this.margin.x * this.boundingBox.width, this.boundingBox.y += this.margin.y * this.boundingBox.height;
+  null !=
+    this.boundingBox && (0 != b && (b = mxUtils.getBoundingBox(this.boundingBox, b), this.boundingBox.x = b.x, this.boundingBox.y = b.y, mxClient.IS_QUIRKS || (this.boundingBox.width = b.width,
+      this.boundingBox.height = b.height)), this.boundingBox.x = Math.floor(this.boundingBox.x), this.boundingBox.y = Math.floor(this.boundingBox.y), this.boundingBox.width = Math.ceil(this.boundingBox
+      .width), this.boundingBox.height = Math.ceil(this.boundingBox.height))
 };
 mxText.prototype.getShapeRotation = function() {
-    return 0
+  return 0
 };
 mxText.prototype.getTextRotation = function() {
-    return null != this.state && null != this.state.shape ? this.state.shape.getTextRotation() : 0
+  return null != this.state && null != this.state.shape ? this.state.shape.getTextRotation() : 0
 };
 mxText.prototype.isPaintBoundsInverted = function() {
-    return !this.horizontal && null != this.state && this.state.view.graph.model.isVertex(this.state.cell)
+  return !this.horizontal && null != this.state && this.state.view.graph.model.isVertex(this.state.cell)
 };
 mxText.prototype.configureCanvas = function(a, b, c, d, e) {
-    mxShape.prototype.configureCanvas.apply(this, arguments);
-    a.setFontColor(this.color);
-    a.setFontBackgroundColor(this.background);
-    a.setFontBorderColor(this.border);
-    a.setFontFamily(this.family);
-    a.setFontSize(this.size);
-    a.setFontStyle(this.fontStyle)
+  mxShape.prototype.configureCanvas.apply(this, arguments);
+  a.setFontColor(this.color);
+  a.setFontBackgroundColor(this.background);
+  a.setFontBorderColor(this.border);
+  a.setFontFamily(this.family);
+  a.setFontSize(this.size);
+  a.setFontStyle(this.fontStyle)
 };
 mxText.prototype.updateVmlContainer = function() {
-    this.node.style.left = Math.round(this.bounds.x) + "px";
-    this.node.style.top = Math.round(this.bounds.y) + "px";
-    this.node.style.width = "1px";
-    this.node.style.height = "1px";
-    this.node.style.overflow = "visible"
+  this.node.style.left = Math.round(this.bounds.x) + "px";
+  this.node.style.top = Math.round(this.bounds.y) + "px";
+  this.node.style.width = "1px";
+  this.node.style.height = "1px";
+  this.node.style.overflow = "visible"
 };
 mxText.prototype.paint = function(a) {
-    var b = this.scale,
-        c = this.bounds.x / b,
-        d = this.bounds.y / b,
-        e = this.bounds.width / b,
-        b = this.bounds.height / b;
-    this.updateTransform(a, c, d, e, b);
-    this.configureCanvas(a, c, d, e, b);
-    var f = mxUtils.isNode(this.value) || this.dialect == mxConstants.DIALECT_STRICTHTML,
-        g = f || a instanceof mxVmlCanvas2D ? "html" : "",
-        h = this.value;
-    !f && "html" == g && (h = mxUtils.htmlEntities(h, !1));
-    h = !mxUtils.isNode(this.value) && this.replaceLinefeeds && "html" == g ? h.replace(/\n/g, "\x3cbr/\x3e") : h;
-    a.text(c, d, e, b, h, this.align,
-        this.valign, this.wrap, g, "fill" == this.overflow, this.clipped, this.getTextRotation())
+  var b = this.scale,
+    c = this.bounds.x / b,
+    d = this.bounds.y / b,
+    e = this.bounds.width / b,
+    b = this.bounds.height / b;
+  this.updateTransform(a, c, d, e, b);
+  this.configureCanvas(a, c, d, e, b);
+  var f = mxUtils.isNode(this.value) || this.dialect == mxConstants.DIALECT_STRICTHTML,
+    g = f || a instanceof mxVmlCanvas2D ? "html" : "",
+    h = this.value;
+  !f && "html" == g && (h = mxUtils.htmlEntities(h, !1));
+  h = !mxUtils.isNode(this.value) && this.replaceLinefeeds && "html" == g ? h.replace(/\n/g, "\x3cbr/\x3e") : h;
+  a.text(c, d, e, b, h, this.align,
+    this.valign, this.wrap, g, "fill" == this.overflow, this.clipped, this.getTextRotation())
 };
 mxText.prototype.redrawHtmlShape = function() {
-    var a = this.node.style;
-    a.opacity = 1 > this.opacity ? this.opacity : "";
-    a.overflow = "";
-    a.width = "";
-    a.height = "";
-    this.updateFont(this.node);
-    this.updateSize(this.node);
-    this.updateValue();
-    this.offsetHeight = this.offsetWidth = null;
-    null != mxClient.CSS_PREFIX ? this.updateHtmlTransform() : this.updateHtmlFilter()
+  var a = this.node.style;
+  a.opacity = 1 > this.opacity ? this.opacity : "";
+  a.overflow = "";
+  a.width = "";
+  a.height = "";
+  this.updateFont(this.node);
+  this.updateSize(this.node);
+  this.updateValue();
+  this.offsetHeight = this.offsetWidth = null;
+  null != mxClient.CSS_PREFIX ? this.updateHtmlTransform() : this.updateHtmlFilter()
 };
 mxText.prototype.updateHtmlTransform = function() {
-    var a = this.getTextRotation(),
-        b = this.node.style,
-        c = this.margin.x,
-        d = this.margin.y;
-    0 != a ? (b[mxClient.CSS_PREFIX + "TransformOrigin"] = 100 * -c + "% " + 100 * -d + "%", b[mxClient.CSS_PREFIX + "Transform"] = "translate(" + 100 * c + "%," + 100 * d + "%)scale(" + this.scale + ") rotate(" + a + "deg)") : (b[mxClient.CSS_PREFIX + "TransformOrigin"] = "0% 0%", b[mxClient.CSS_PREFIX + "Transform"] = "scale(" + this.scale + ")translate(" + 100 * c + "%," + 100 * d + "%)");
-    b.left = Math.round(this.bounds.x) + "px";
-    b.top = Math.round(this.bounds.y) +
-        "px"
+  var a = this.getTextRotation(),
+    b = this.node.style,
+    c = this.margin.x,
+    d = this.margin.y;
+  0 != a ? (b[mxClient.CSS_PREFIX + "TransformOrigin"] = 100 * -c + "% " + 100 * -d + "%", b[mxClient.CSS_PREFIX + "Transform"] = "translate(" + 100 * c + "%," + 100 * d + "%)scale(" + this.scale +
+    ") rotate(" + a + "deg)") : (b[mxClient.CSS_PREFIX + "TransformOrigin"] = "0% 0%", b[mxClient.CSS_PREFIX + "Transform"] = "scale(" + this.scale + ")translate(" + 100 * c + "%," + 100 * d +
+    "%)");
+  b.left = Math.round(this.bounds.x) + "px";
+  b.top = Math.round(this.bounds.y) +
+    "px"
 };
 mxText.prototype.updateHtmlFilter = function() {
-    var a = this.node.style,
-        b = this.margin.x,
-        c = this.margin.y,
-        d = this.scale;
-    a.filter = "";
-    var e = 0,
-        f = 0,
-        g = null != this.state ? this.state.view.textDiv : null;
-    if (null != g) {
-        g.style.overflow = "";
-        g.style.height = "";
-        g.style.width = "";
-        this.updateFont(g);
-        this.updateSize(g);
-        if (mxUtils.isNode(this.value)) g.innerHTML = this.value.outerHTML;
-        else {
-            var h = this.value;
-            this.dialect != mxConstants.DIALECT_STRICTHTML && (h = mxUtils.htmlEntities(h, !1));
-            h = this.replaceLinefeeds ? h.replace(/\n/g, "\x3cbr/\x3e") : h;
-            g.innerHTML = h
-        }
-        e = g.offsetWidth + 2;
-        f = g.offsetHeight + 2
-    } else e = this.node.offsetWidth, f = this.node.offsetHeight + 1;
-    this.offsetWidth = e;
-    this.offsetHeight = f;
-    g = this.bounds.width / d;
-    h = this.bounds.height / d;
-    mxClient.IS_QUIRKS && (this.clipped || "fill" == this.overflow) && 0 < h ? (h = Math.min(h, f), a.height = Math.round(h + 1) + "px") : h = f;
-    "fill" != this.overflow && (mxClient.IS_QUIRKS && (this.clipped || this.wrap) && 0 < g ? (g = Math.min(g, e), a.width = Math.round(g) + "px") : g = e);
-    var h = h * d,
-        g = g * d,
-        e = this.getTextRotation() * (Math.PI / 180),
-        f = parseFloat(parseFloat(Math.cos(e)).toFixed(8)),
-        k = parseFloat(parseFloat(Math.sin(-e)).toFixed(8)),
-        e = e % (2 * Math.PI);
-    0 > e && (e += 2 * Math.PI);
-    e %= Math.PI;
-    e > Math.PI / 2 && (e = Math.PI - e);
-    var l = Math.cos(e),
-        m = Math.sin(-e),
-        b = g * -(b + 0.5),
-        c = h * -(c + 0.5),
-        n = (h - h * l + g * m) / 2 + k * b - f * c;
-    0 != e && (a.filter = "progid:DXImageTransform.Microsoft.Matrix(M11\x3d" + f + ", M12\x3d" + k + ", M21\x3d" + -k + ", M22\x3d" + f + ", sizingMethod\x3d'auto expand')");
-    a.zoom = d;
-    a.left = Math.round(this.bounds.x + ((g - g * l + h * m) / 2 - f * b - k * c) - g / 2) + "px";
-    a.top = Math.round(this.bounds.y + n - h / 2) + "px"
+  var a = this.node.style,
+    b = this.margin.x,
+    c = this.margin.y,
+    d = this.scale;
+  a.filter = "";
+  var e = 0,
+    f = 0,
+    g = null != this.state ? this.state.view.textDiv : null;
+  if (null != g) {
+    g.style.overflow = "";
+    g.style.height = "";
+    g.style.width = "";
+    this.updateFont(g);
+    this.updateSize(g);
+    if (mxUtils.isNode(this.value)) g.innerHTML = this.value.outerHTML;
+    else {
+      var h = this.value;
+      this.dialect != mxConstants.DIALECT_STRICTHTML && (h = mxUtils.htmlEntities(h, !1));
+      h = this.replaceLinefeeds ? h.replace(/\n/g, "\x3cbr/\x3e") : h;
+      g.innerHTML = h
+    }
+    e = g.offsetWidth + 2;
+    f = g.offsetHeight + 2
+  } else e = this.node.offsetWidth, f = this.node.offsetHeight + 1;
+  this.offsetWidth = e;
+  this.offsetHeight = f;
+  g = this.bounds.width / d;
+  h = this.bounds.height / d;
+  mxClient.IS_QUIRKS && (this.clipped || "fill" == this.overflow) && 0 < h ? (h = Math.min(h, f), a.height = Math.round(h + 1) + "px") : h = f;
+  "fill" != this.overflow && (mxClient.IS_QUIRKS && (this.clipped || this.wrap) && 0 < g ? (g = Math.min(g, e), a.width = Math.round(g) + "px") : g = e);
+  var h = h * d,
+    g = g * d,
+    e = this.getTextRotation() * (Math.PI / 180),
+    f = parseFloat(parseFloat(Math.cos(e)).toFixed(8)),
+    k = parseFloat(parseFloat(Math.sin(-e)).toFixed(8)),
+    e = e % (2 * Math.PI);
+  0 > e && (e += 2 * Math.PI);
+  e %= Math.PI;
+  e > Math.PI / 2 && (e = Math.PI - e);
+  var l = Math.cos(e),
+    m = Math.sin(-e),
+    b = g * -(b + 0.5),
+    c = h * -(c + 0.5),
+    n = (h - h * l + g * m) / 2 + k * b - f * c;
+  0 != e && (a.filter = "progid:DXImageTransform.Microsoft.Matrix(M11\x3d" + f + ", M12\x3d" + k + ", M21\x3d" + -k + ", M22\x3d" + f + ", sizingMethod\x3d'auto expand')");
+  a.zoom = d;
+  a.left = Math.round(this.bounds.x + ((g - g * l + h * m) / 2 - f * b - k * c) - g / 2) + "px";
+  a.top = Math.round(this.bounds.y + n - h / 2) + "px"
 };
 mxText.prototype.updateValue = function() {
-    if (mxUtils.isNode(this.value)) this.node.innerHTML = "", this.node.appendChild(this.value);
-    else {
-        var a = this.value;
-        this.dialect != mxConstants.DIALECT_STRICTHTML && (a = mxUtils.htmlEntities(a, !1));
-        var a = this.replaceLinefeeds ? a.replace(/\n/g, "\x3cbr/\x3e") : a,
-            b = null != this.background && this.background != mxConstants.NONE ? this.background : null,
-            c = null != this.border && this.border != mxConstants.NONE ? this.border : null;
-        if (null != b || null != c)
-            if ("fill" == this.overflow) null != b && (this.node.style.backgroundColor =
-                b), null != c && (this.node.style.border = "1px solid " + c);
-            else {
-                var d = "";
-                null != b && (d += "background-color:" + b + ";");
-                null != c && (d += "border:1px solid " + c + ";");
-                a = '\x3cdiv style\x3d"zoom:1;' + d + "display:inline-block;_display:inline;padding-bottom:1px;padding-right:1px;line-height:" + this.node.style.lineHeight + '"\x3e' + a + "\x3c/div\x3e";
-                this.node.style.lineHeight = ""
-            }
-        this.node.innerHTML = a
-    }
+  if (mxUtils.isNode(this.value)) this.node.innerHTML = "", this.node.appendChild(this.value);
+  else {
+    var a = this.value;
+    this.dialect != mxConstants.DIALECT_STRICTHTML && (a = mxUtils.htmlEntities(a, !1));
+    var a = this.replaceLinefeeds ? a.replace(/\n/g, "\x3cbr/\x3e") : a,
+      b = null != this.background && this.background != mxConstants.NONE ? this.background : null,
+      c = null != this.border && this.border != mxConstants.NONE ? this.border : null;
+    if (null != b || null != c)
+      if ("fill" == this.overflow) null != b && (this.node.style.backgroundColor =
+        b), null != c && (this.node.style.border = "1px solid " + c);
+      else {
+        var d = "";
+        null != b && (d += "background-color:" + b + ";");
+        null != c && (d += "border:1px solid " + c + ";");
+        a = '\x3cdiv style\x3d"zoom:1;' + d + "display:inline-block;_display:inline;padding-bottom:1px;padding-right:1px;line-height:" + this.node.style.lineHeight + '"\x3e' + a + "\x3c/div\x3e";
+        this.node.style.lineHeight = ""
+      }
+    this.node.innerHTML = a
+  }
 };
 mxText.prototype.updateFont = function(a) {
-    a = a.style;
-    a.lineHeight = Math.round(this.size * mxConstants.LINE_HEIGHT) + "px";
-    a.fontSize = Math.round(this.size) + "px";
-    a.fontFamily = this.family;
-    a.verticalAlign = "top";
-    a.color = this.color;
-    a.fontWeight = (this.fontStyle & mxConstants.FONT_BOLD) == mxConstants.FONT_BOLD ? "bold" : "";
-    a.fontStyle = (this.fontStyle & mxConstants.FONT_ITALIC) == mxConstants.FONT_ITALIC ? "italic" : "";
-    a.fontDecoration = (this.fontStyle & mxConstants.FONT_UNDERLINE) == mxConstants.FONT_UNDERLINE ? "underline" : "";
-    a.textAlign =
-        this.align == mxConstants.ALIGN_CENTER ? "center" : this.align == mxConstants.ALIGN_RIGHT ? "right" : "left"
+  a = a.style;
+  a.lineHeight = Math.round(this.size * mxConstants.LINE_HEIGHT) + "px";
+  a.fontSize = Math.round(this.size) + "px";
+  a.fontFamily = this.family;
+  a.verticalAlign = "top";
+  a.color = this.color;
+  a.fontWeight = (this.fontStyle & mxConstants.FONT_BOLD) == mxConstants.FONT_BOLD ? "bold" : "";
+  a.fontStyle = (this.fontStyle & mxConstants.FONT_ITALIC) == mxConstants.FONT_ITALIC ? "italic" : "";
+  a.fontDecoration = (this.fontStyle & mxConstants.FONT_UNDERLINE) == mxConstants.FONT_UNDERLINE ? "underline" : "";
+  a.textAlign =
+    this.align == mxConstants.ALIGN_CENTER ? "center" : this.align == mxConstants.ALIGN_RIGHT ? "right" : "left"
 };
 mxText.prototype.updateSize = function(a) {
-    var b = Math.round(this.bounds.width / this.scale),
-        c = Math.round(this.bounds.height / this.scale);
-    a = a.style;
-    this.clipped ? (a.overflow = "hidden", 0 < c && (a.maxHeight = c + "px"), 0 < b && (a.width = b + "px")) : "fill" == this.overflow && (a.width = b + "px", 0 < c && (a.maxHeight = c + "px"));
-    this.wrap ? (!this.clipped && 0 < b && (a.width = b + "px"), a.whiteSpace = "normal") : a.whiteSpace = "nowrap"
+  var b = Math.round(this.bounds.width / this.scale),
+    c = Math.round(this.bounds.height / this.scale);
+  a = a.style;
+  this.clipped ? (a.overflow = "hidden", 0 < c && (a.maxHeight = c + "px"), 0 < b && (a.width = b + "px")) : "fill" == this.overflow && (a.width = b + "px", 0 < c && (a.maxHeight = c + "px"));
+  this.wrap ? (!this.clipped && 0 < b && (a.width = b + "px"), a.whiteSpace = "normal") : a.whiteSpace = "nowrap"
 };
 mxText.prototype.updateMargin = function() {
-    this.margin = mxUtils.getAlignmentAsPoint(this.align, this.valign)
+  this.margin = mxUtils.getAlignmentAsPoint(this.align, this.valign)
 };
 mxText.prototype.getSpacing = function() {
-    var a = 0,
-        b = 0,
-        a = this.align == mxConstants.ALIGN_CENTER ? (this.spacingLeft - this.spacingRight) / 2 : this.align == mxConstants.ALIGN_RIGHT ? -this.spacingRight - this.baseSpacingRight : this.spacingLeft + this.baseSpacingLeft,
-        b = this.valign == mxConstants.ALIGN_MIDDLE ? (this.spacingTop - this.spacingBottom) / 2 : this.valign == mxConstants.ALIGN_BOTTOM ? -this.spacingBottom - this.baseSpacingBottom : this.spacingTop + this.baseSpacingTop;
-    return new mxPoint(a, b)
+  var a = 0,
+    b = 0,
+    a = this.align == mxConstants.ALIGN_CENTER ? (this.spacingLeft - this.spacingRight) / 2 : this.align == mxConstants.ALIGN_RIGHT ? -this.spacingRight - this.baseSpacingRight : this.spacingLeft +
+    this.baseSpacingLeft,
+    b = this.valign == mxConstants.ALIGN_MIDDLE ? (this.spacingTop - this.spacingBottom) / 2 : this.valign == mxConstants.ALIGN_BOTTOM ? -this.spacingBottom - this.baseSpacingBottom : this.spacingTop +
+    this.baseSpacingTop;
+  return new mxPoint(a, b)
 };
 
 function mxTriangle() {
-    mxActor.call(this)
+  mxActor.call(this)
 }
 mxUtils.extend(mxTriangle, mxActor);
 mxTriangle.prototype.redrawPath = function(a, b, c, d, e) {
-    a.moveTo(0, 0);
-    a.lineTo(d, 0.5 * e);
-    a.lineTo(0, e);
-    a.close()
+  a.moveTo(0, 0);
+  a.lineTo(d, 0.5 * e);
+  a.lineTo(0, e);
+  a.close()
 };
 
 function mxHexagon() {
-    mxActor.call(this)
+  mxActor.call(this)
 }
 mxUtils.extend(mxHexagon, mxActor);
 mxHexagon.prototype.redrawPath = function(a, b, c, d, e) {
-    a.moveTo(0.25 * d, 0);
-    a.lineTo(0.75 * d, 0);
-    a.lineTo(d, 0.5 * e);
-    a.lineTo(0.75 * d, e);
-    a.lineTo(0.25 * d, e);
-    a.lineTo(0, 0.5 * e);
-    a.close()
+  a.moveTo(0.25 * d, 0);
+  a.lineTo(0.75 * d, 0);
+  a.lineTo(d, 0.5 * e);
+  a.lineTo(0.75 * d, e);
+  a.lineTo(0.25 * d, e);
+  a.lineTo(0, 0.5 * e);
+  a.close()
 };
 
 function mxLine(a, b, c) {
-    mxShape.call(this);
-    this.bounds = a;
-    this.stroke = b;
-    this.strokewidth = null != c ? c : 1
+  mxShape.call(this);
+  this.bounds = a;
+  this.stroke = b;
+  this.strokewidth = null != c ? c : 1
 }
 mxUtils.extend(mxLine, mxShape);
 mxLine.prototype.paintVertexShape = function(a, b, c, d, e) {
-    c += e / 2;
-    a.begin();
-    a.moveTo(b, c);
-    a.lineTo(b + d, c);
-    a.stroke()
+  c += e / 2;
+  a.begin();
+  a.moveTo(b, c);
+  a.lineTo(b + d, c);
+  a.stroke()
 };
 
 function mxImageShape(a, b, c, d, e) {
-    mxShape.call(this);
-    this.bounds = a;
-    this.image = b;
-    this.fill = c;
-    this.stroke = d;
-    this.strokewidth = null != e ? e : 1;
-    this.shadow = !1
+  mxShape.call(this);
+  this.bounds = a;
+  this.image = b;
+  this.fill = c;
+  this.stroke = d;
+  this.strokewidth = null != e ? e : 1;
+  this.shadow = !1
 }
 mxUtils.extend(mxImageShape, mxRectangleShape);
 mxImageShape.prototype.preserveImageAspect = !0;
 mxImageShape.prototype.getSvgScreenOffset = function() {
-    return !mxClient.IS_IE ? 0.5 : 0
+  return !mxClient.IS_IE ? 0.5 : 0
 };
 mxImageShape.prototype.apply = function(a) {
-    mxShape.prototype.apply.apply(this, arguments);
-    this.gradient = this.stroke = this.fill = null;
-    null != this.style && (this.fill = mxUtils.getValue(this.style, mxConstants.STYLE_IMAGE_BACKGROUND), this.stroke = mxUtils.getValue(this.style, mxConstants.STYLE_IMAGE_BORDER), this.preserveImageAspect = 1 == mxUtils.getNumber(this.style, mxConstants.STYLE_IMAGE_ASPECT, 1), this.flipH = this.flipH || 1 == mxUtils.getValue(this.style, "imageFlipH", 0), this.flipV = this.flipV || 1 == mxUtils.getValue(this.style,
-        "imageFlipV", 0))
+  mxShape.prototype.apply.apply(this, arguments);
+  this.gradient = this.stroke = this.fill = null;
+  null != this.style && (this.fill = mxUtils.getValue(this.style, mxConstants.STYLE_IMAGE_BACKGROUND), this.stroke = mxUtils.getValue(this.style, mxConstants.STYLE_IMAGE_BORDER), this.preserveImageAspect =
+    1 == mxUtils.getNumber(this.style, mxConstants.STYLE_IMAGE_ASPECT, 1), this.flipH = this.flipH || 1 == mxUtils.getValue(this.style, "imageFlipH", 0), this.flipV = this.flipV || 1 == mxUtils.getValue(
+      this.style,
+      "imageFlipV", 0))
 };
 mxImageShape.prototype.isHtmlAllowed = function() {
-    return !this.preserveImageAspect
+  return !this.preserveImageAspect
 };
 mxImageShape.prototype.createHtml = function() {
-    var a = document.createElement("div");
-    a.style.position = "absolute";
-    return a
+  var a = document.createElement("div");
+  a.style.position = "absolute";
+  return a
 };
 mxImageShape.prototype.paintVertexShape = function(a, b, c, d, e) {
-    if (null != this.image) {
-        var f = mxUtils.getValue(this.style, mxConstants.STYLE_IMAGE_BACKGROUND, null),
-            g = mxUtils.getValue(this.style, mxConstants.STYLE_IMAGE_BORDER, null);
-        if (null != f || null != g) a.setFillColor(f), a.setStrokeColor(g), a.rect(b, c, d, e), a.fillAndStroke();
-        a.image(b, c, d, e, this.image, this.preserveImageAspect, !1, !1)
-    } else mxRectangleShape.prototype.paintBackground.apply(this, arguments)
+  if (null != this.image) {
+    var f = mxUtils.getValue(this.style, mxConstants.STYLE_IMAGE_BACKGROUND, null),
+      g = mxUtils.getValue(this.style, mxConstants.STYLE_IMAGE_BORDER, null);
+    if (null != f || null != g) a.setFillColor(f), a.setStrokeColor(g), a.rect(b, c, d, e), a.fillAndStroke();
+    a.image(b, c, d, e, this.image, this.preserveImageAspect, !1, !1)
+  } else mxRectangleShape.prototype.paintBackground.apply(this, arguments)
 };
 mxImageShape.prototype.redrawHtmlShape = function() {
-    this.node.style.left = Math.round(this.bounds.x) + "px";
-    this.node.style.top = Math.round(this.bounds.y) + "px";
-    this.node.style.width = Math.max(0, Math.round(this.bounds.width)) + "px";
-    this.node.style.height = Math.max(0, Math.round(this.bounds.height)) + "px";
-    this.node.style.backgroundColor = this.fill || "";
-    this.node.style.borderColor = this.stroke || "";
-    this.node.innerHTML = "";
-    if (null != this.image) {
-        var a = document.createElement(mxClient.IS_IE6 || null == mxClient.CSS_PREFIX && 0 !=
-            this.rotation ? mxClient.VML_PREFIX + ":image" : "img");
-        a.style.position = "absolute";
-        a.src = this.image;
-        var b = 100 > this.opacity ? "alpha(opacity\x3d" + this.opacity + ")" : "";
-        this.node.style.filter = b;
-        this.flipH && this.flipV ? b += "progid:DXImageTransform.Microsoft.BasicImage(rotation\x3d2)" : this.flipH ? b += "progid:DXImageTransform.Microsoft.BasicImage(mirror\x3d1)" : this.flipV && (b += "progid:DXImageTransform.Microsoft.BasicImage(rotation\x3d2, mirror\x3d1)");
-        a.style.filter != b && (a.style.filter = b);
-        "image" == a.nodeName ? a.style.rotation =
-            this.rotation : a.style[mxClient.CSS_PREFIX + "Transform"] = "rotate(" + this.rotation + "deg)";
-        a.style.width = this.node.style.width;
-        a.style.height = this.node.style.height;
-        this.node.style.backgroundImage = "";
-        this.node.appendChild(a)
-    } else this.setTransparentBackgroundImage(this.node)
+  this.node.style.left = Math.round(this.bounds.x) + "px";
+  this.node.style.top = Math.round(this.bounds.y) + "px";
+  this.node.style.width = Math.max(0, Math.round(this.bounds.width)) + "px";
+  this.node.style.height = Math.max(0, Math.round(this.bounds.height)) + "px";
+  this.node.style.backgroundColor = this.fill || "";
+  this.node.style.borderColor = this.stroke || "";
+  this.node.innerHTML = "";
+  if (null != this.image) {
+    var a = document.createElement(mxClient.IS_IE6 || null == mxClient.CSS_PREFIX && 0 !=
+      this.rotation ? mxClient.VML_PREFIX + ":image" : "img");
+    a.style.position = "absolute";
+    a.src = this.image;
+    var b = 100 > this.opacity ? "alpha(opacity\x3d" + this.opacity + ")" : "";
+    this.node.style.filter = b;
+    this.flipH && this.flipV ? b += "progid:DXImageTransform.Microsoft.BasicImage(rotation\x3d2)" : this.flipH ? b += "progid:DXImageTransform.Microsoft.BasicImage(mirror\x3d1)" : this.flipV && (b +=
+      "progid:DXImageTransform.Microsoft.BasicImage(rotation\x3d2, mirror\x3d1)");
+    a.style.filter != b && (a.style.filter = b);
+    "image" == a.nodeName ? a.style.rotation =
+      this.rotation : a.style[mxClient.CSS_PREFIX + "Transform"] = "rotate(" + this.rotation + "deg)";
+    a.style.width = this.node.style.width;
+    a.style.height = this.node.style.height;
+    this.node.style.backgroundImage = "";
+    this.node.appendChild(a)
+  } else this.setTransparentBackgroundImage(this.node)
 };
 
 function mxLabel(a, b, c, d) {
-    mxRectangleShape.call(this, a, b, c, d)
+  mxRectangleShape.call(this, a, b, c, d)
 }
 mxUtils.extend(mxLabel, mxRectangleShape);
 mxLabel.prototype.imageSize = mxConstants.DEFAULT_IMAGESIZE;
@@ -5997,220 +6095,225 @@ mxLabel.prototype.spacing = 2;
 mxLabel.prototype.indicatorSize = 10;
 mxLabel.prototype.indicatorSpacing = 2;
 mxLabel.prototype.init = function(a) {
-    mxShape.prototype.init.apply(this, arguments);
-    null != this.indicatorColor && null != this.indicatorShape && (this.indicator = new this.indicatorShape, this.indicator.dialect = this.dialect, this.indicator.bounds = this.bounds, this.indicator.fill = this.indicatorColor, this.indicator.stroke = this.indicatorColor, this.indicator.gradient = this.indicatorGradientColor, this.indicator.direction = this.indicatorDirection, this.indicator.init(this.node))
+  mxShape.prototype.init.apply(this, arguments);
+  null != this.indicatorColor && null != this.indicatorShape && (this.indicator = new this.indicatorShape, this.indicator.dialect = this.dialect, this.indicator.bounds = this.bounds, this.indicator
+    .fill = this.indicatorColor, this.indicator.stroke = this.indicatorColor, this.indicator.gradient = this.indicatorGradientColor, this.indicator.direction = this.indicatorDirection, this.indicator
+    .init(this.node))
 };
 mxLabel.prototype.redraw = function() {
-    null != this.indicator && (this.indicator.fill = this.indicatorColor, this.indicator.stroke = this.indicatorColor, this.indicator.gradient = this.indicatorGradientColor, this.indicator.direction = this.indicatorDirection);
-    mxShape.prototype.redraw.apply(this, arguments)
+  null != this.indicator && (this.indicator.fill = this.indicatorColor, this.indicator.stroke = this.indicatorColor, this.indicator.gradient = this.indicatorGradientColor, this.indicator.direction =
+    this.indicatorDirection);
+  mxShape.prototype.redraw.apply(this, arguments)
 };
 mxLabel.prototype.isHtmlAllowed = function() {
-    return mxRectangleShape.prototype.isHtmlAllowed.apply(this, arguments) && null == this.indicatorColor && null == this.indicatorShape
+  return mxRectangleShape.prototype.isHtmlAllowed.apply(this, arguments) && null == this.indicatorColor && null == this.indicatorShape
 };
 mxLabel.prototype.paintForeground = function(a, b, c, d, e) {
-    this.paintImage(a, b, c, d, e);
-    this.paintIndicator(a, b, c, d, e);
-    mxRectangleShape.prototype.paintForeground.apply(this, arguments)
+  this.paintImage(a, b, c, d, e);
+  this.paintIndicator(a, b, c, d, e);
+  mxRectangleShape.prototype.paintForeground.apply(this, arguments)
 };
 mxLabel.prototype.paintImage = function(a, b, c, d, e) {
-    null != this.image && (b = this.getImageBounds(b, c, d, e), a.image(b.x, b.y, b.width, b.height, this.image, !1, !1, !1))
+  null != this.image && (b = this.getImageBounds(b, c, d, e), a.image(b.x, b.y, b.width, b.height, this.image, !1, !1, !1))
 };
 mxLabel.prototype.getImageBounds = function(a, b, c, d) {
-    var e = mxUtils.getValue(this.style, mxConstants.STYLE_IMAGE_ALIGN, mxConstants.ALIGN_LEFT),
-        f = mxUtils.getValue(this.style, mxConstants.STYLE_IMAGE_VERTICAL_ALIGN, mxConstants.ALIGN_MIDDLE),
-        g = mxUtils.getNumber(this.style, mxConstants.STYLE_IMAGE_WIDTH, mxConstants.DEFAULT_IMAGESIZE),
-        h = mxUtils.getNumber(this.style, mxConstants.STYLE_IMAGE_HEIGHT, mxConstants.DEFAULT_IMAGESIZE),
-        k = mxUtils.getNumber(this.style, mxConstants.STYLE_SPACING, this.spacing) + 5;
-    a = e == mxConstants.ALIGN_CENTER ?
-        a + (c - g) / 2 : e == mxConstants.ALIGN_RIGHT ? a + (c - g - k) : a + k;
-    b = f == mxConstants.ALIGN_TOP ? b + k : f == mxConstants.ALIGN_BOTTOM ? b + (d - h - k) : b + (d - h) / 2;
-    return new mxRectangle(a, b, g, h)
+  var e = mxUtils.getValue(this.style, mxConstants.STYLE_IMAGE_ALIGN, mxConstants.ALIGN_LEFT),
+    f = mxUtils.getValue(this.style, mxConstants.STYLE_IMAGE_VERTICAL_ALIGN, mxConstants.ALIGN_MIDDLE),
+    g = mxUtils.getNumber(this.style, mxConstants.STYLE_IMAGE_WIDTH, mxConstants.DEFAULT_IMAGESIZE),
+    h = mxUtils.getNumber(this.style, mxConstants.STYLE_IMAGE_HEIGHT, mxConstants.DEFAULT_IMAGESIZE),
+    k = mxUtils.getNumber(this.style, mxConstants.STYLE_SPACING, this.spacing) + 5;
+  a = e == mxConstants.ALIGN_CENTER ?
+    a + (c - g) / 2 : e == mxConstants.ALIGN_RIGHT ? a + (c - g - k) : a + k;
+  b = f == mxConstants.ALIGN_TOP ? b + k : f == mxConstants.ALIGN_BOTTOM ? b + (d - h - k) : b + (d - h) / 2;
+  return new mxRectangle(a, b, g, h)
 };
 mxLabel.prototype.paintIndicator = function(a, b, c, d, e) {
-    null != this.indicator ? (this.indicator.bounds = this.getIndicatorBounds(b, c, d, e), this.indicator.paint(a)) : null != this.indicatorImage && (b = this.getIndicatorBounds(b, c, d, e), a.image(b.x, b.y, b.width, b.height, this.indicatorImage, !1, !1, !1))
+  null != this.indicator ? (this.indicator.bounds = this.getIndicatorBounds(b, c, d, e), this.indicator.paint(a)) : null != this.indicatorImage && (b = this.getIndicatorBounds(b, c, d, e), a.image(
+    b.x, b.y, b.width, b.height, this.indicatorImage, !1, !1, !1))
 };
 mxLabel.prototype.getIndicatorBounds = function(a, b, c, d) {
-    var e = mxUtils.getValue(this.style, mxConstants.STYLE_IMAGE_ALIGN, mxConstants.ALIGN_LEFT),
-        f = mxUtils.getValue(this.style, mxConstants.STYLE_IMAGE_VERTICAL_ALIGN, mxConstants.ALIGN_MIDDLE),
-        g = mxUtils.getNumber(this.style, mxConstants.STYLE_INDICATOR_WIDTH, this.indicatorSize),
-        h = mxUtils.getNumber(this.style, mxConstants.STYLE_INDICATOR_HEIGHT, this.indicatorSize),
-        k = this.spacing + 5;
-    a = e == mxConstants.ALIGN_RIGHT ? a + (c - g - k) : e == mxConstants.ALIGN_CENTER ? a + (c - g) /
-        2 : a + k;
-    b = f == mxConstants.ALIGN_BOTTOM ? b + (d - h - k) : f == mxConstants.ALIGN_TOP ? b + k : b + (d - h) / 2;
-    return new mxRectangle(a, b, g, h)
+  var e = mxUtils.getValue(this.style, mxConstants.STYLE_IMAGE_ALIGN, mxConstants.ALIGN_LEFT),
+    f = mxUtils.getValue(this.style, mxConstants.STYLE_IMAGE_VERTICAL_ALIGN, mxConstants.ALIGN_MIDDLE),
+    g = mxUtils.getNumber(this.style, mxConstants.STYLE_INDICATOR_WIDTH, this.indicatorSize),
+    h = mxUtils.getNumber(this.style, mxConstants.STYLE_INDICATOR_HEIGHT, this.indicatorSize),
+    k = this.spacing + 5;
+  a = e == mxConstants.ALIGN_RIGHT ? a + (c - g - k) : e == mxConstants.ALIGN_CENTER ? a + (c - g) /
+    2 : a + k;
+  b = f == mxConstants.ALIGN_BOTTOM ? b + (d - h - k) : f == mxConstants.ALIGN_TOP ? b + k : b + (d - h) / 2;
+  return new mxRectangle(a, b, g, h)
 };
 mxLabel.prototype.redrawHtmlShape = function() {
-    for (mxRectangleShape.prototype.redrawHtmlShape.apply(this, arguments); this.node.hasChildNodes();) this.node.removeChild(this.node.lastChild);
-    if (null != this.image) {
-        var a = document.createElement("img");
-        a.style.position = "relative";
-        a.setAttribute("border", "0");
-        var b = this.getImageBounds(this.bounds.x, this.bounds.y, this.bounds.width, this.bounds.height);
-        b.x -= this.bounds.x;
-        b.y -= this.bounds.y;
-        a.style.left = Math.round(b.x) + "px";
-        a.style.top = Math.round(b.y) + "px";
-        a.style.width =
-            Math.round(b.width) + "px";
-        a.style.height = Math.round(b.height) + "px";
-        a.src = this.image;
-        this.node.appendChild(a)
-    }
+  for (mxRectangleShape.prototype.redrawHtmlShape.apply(this, arguments); this.node.hasChildNodes();) this.node.removeChild(this.node.lastChild);
+  if (null != this.image) {
+    var a = document.createElement("img");
+    a.style.position = "relative";
+    a.setAttribute("border", "0");
+    var b = this.getImageBounds(this.bounds.x, this.bounds.y, this.bounds.width, this.bounds.height);
+    b.x -= this.bounds.x;
+    b.y -= this.bounds.y;
+    a.style.left = Math.round(b.x) + "px";
+    a.style.top = Math.round(b.y) + "px";
+    a.style.width =
+      Math.round(b.width) + "px";
+    a.style.height = Math.round(b.height) + "px";
+    a.src = this.image;
+    this.node.appendChild(a)
+  }
 };
 
 function mxCylinder(a, b, c, d) {
-    mxShape.call(this);
-    this.bounds = a;
-    this.fill = b;
-    this.stroke = c;
-    this.strokewidth = null != d ? d : 1
+  mxShape.call(this);
+  this.bounds = a;
+  this.fill = b;
+  this.stroke = c;
+  this.strokewidth = null != d ? d : 1
 }
 mxUtils.extend(mxCylinder, mxShape);
 mxCylinder.prototype.maxHeight = 40;
 mxCylinder.prototype.svgStrokeTolerance = 0;
 mxCylinder.prototype.paintVertexShape = function(a, b, c, d, e) {
-    a.translate(b, c);
-    a.begin();
-    this.redrawPath(a, b, c, d, e, !1);
-    a.fillAndStroke();
-    a.setShadow(!1);
-    a.begin();
-    this.redrawPath(a, b, c, d, e, !0);
-    a.stroke()
+  a.translate(b, c);
+  a.begin();
+  this.redrawPath(a, b, c, d, e, !1);
+  a.fillAndStroke();
+  a.setShadow(!1);
+  a.begin();
+  this.redrawPath(a, b, c, d, e, !0);
+  a.stroke()
 };
 mxCylinder.prototype.redrawPath = function(a, b, c, d, e, f) {
-    b = Math.min(this.maxHeight, Math.round(e / 5));
-    if (f && null != this.fill || !f && null == this.fill) a.moveTo(0, b), a.curveTo(0, 2 * b, d, 2 * b, d, b), f || (a.stroke(), a.begin());
-    f || (a.moveTo(0, b), a.curveTo(0, -b / 3, d, -b / 3, d, b), a.lineTo(d, e - b), a.curveTo(d, e + b / 3, 0, e + b / 3, 0, e - b), a.close())
+  b = Math.min(this.maxHeight, Math.round(e / 5));
+  if (f && null != this.fill || !f && null == this.fill) a.moveTo(0, b), a.curveTo(0, 2 * b, d, 2 * b, d, b), f || (a.stroke(), a.begin());
+  f || (a.moveTo(0, b), a.curveTo(0, -b / 3, d, -b / 3, d, b), a.lineTo(d, e - b), a.curveTo(d, e + b / 3, 0, e + b / 3, 0, e - b), a.close())
 };
 
 function mxConnector(a, b, c) {
-    mxPolyline.call(this, a, b, c)
+  mxPolyline.call(this, a, b, c)
 }
 mxUtils.extend(mxConnector, mxPolyline);
 mxConnector.prototype.paintEdgeShape = function(a, b) {
-    var c = this.createMarker(a, b, !0),
-        d = this.createMarker(a, b, !1);
-    null == this.style || 1 != this.style[mxConstants.STYLE_CURVED] ? this.paintLine(a, b, this.isRounded) : this.paintCurvedLine(a, b);
-    a.setFillColor(this.stroke);
-    a.setShadow(!1);
-    a.setDashed(!1);
-    null != c && c();
-    null != d && d()
+  var c = this.createMarker(a, b, !0),
+    d = this.createMarker(a, b, !1);
+  null == this.style || 1 != this.style[mxConstants.STYLE_CURVED] ? this.paintLine(a, b, this.isRounded) : this.paintCurvedLine(a, b);
+  a.setFillColor(this.stroke);
+  a.setShadow(!1);
+  a.setDashed(!1);
+  null != c && c();
+  null != d && d()
 };
 mxConnector.prototype.paintCurvedLine = function(a, b) {
-    a.begin();
-    var c = b[0],
-        d = b.length;
-    a.moveTo(c.x, c.y);
-    for (c = 1; c < d - 2; c++) {
-        var e = b[c],
-            f = b[c + 1];
-        a.quadTo(e.x, e.y, (e.x + f.x) / 2, (e.y + f.y) / 2)
-    }
-    e = b[d - 2];
-    f = b[d - 1];
-    a.quadTo(e.x, e.y, f.x, f.y);
-    a.stroke()
+  a.begin();
+  var c = b[0],
+    d = b.length;
+  a.moveTo(c.x, c.y);
+  for (c = 1; c < d - 2; c++) {
+    var e = b[c],
+      f = b[c + 1];
+    a.quadTo(e.x, e.y, (e.x + f.x) / 2, (e.y + f.y) / 2)
+  }
+  e = b[d - 2];
+  f = b[d - 1];
+  a.quadTo(e.x, e.y, f.x, f.y);
+  a.stroke()
 };
 mxConnector.prototype.createMarker = function(a, b, c) {
-    var d = b.length,
-        e = c ? b[1] : b[d - 2];
-    b = c ? b[0] : b[d - 1];
-    var d = b.x - e.x,
-        f = b.y - e.y,
-        g = Math.max(1, Math.sqrt(d * d + f * f)),
-        e = d / g,
-        d = f / g,
-        f = mxUtils.getNumber(this.style, c ? mxConstants.STYLE_STARTSIZE : mxConstants.STYLE_ENDSIZE, mxConstants.DEFAULT_MARKERSIZE),
-        g = mxUtils.getValue(this.style, c ? mxConstants.STYLE_STARTARROW : mxConstants.STYLE_ENDARROW);
-    return mxMarker.createMarker(a, this, g, b, e, d, f, c, this.strokewidth, 0 != this.style[c ? mxConstants.STYLE_STARTFILL : mxConstants.STYLE_ENDFILL])
+  var d = b.length,
+    e = c ? b[1] : b[d - 2];
+  b = c ? b[0] : b[d - 1];
+  var d = b.x - e.x,
+    f = b.y - e.y,
+    g = Math.max(1, Math.sqrt(d * d + f * f)),
+    e = d / g,
+    d = f / g,
+    f = mxUtils.getNumber(this.style, c ? mxConstants.STYLE_STARTSIZE : mxConstants.STYLE_ENDSIZE, mxConstants.DEFAULT_MARKERSIZE),
+    g = mxUtils.getValue(this.style, c ? mxConstants.STYLE_STARTARROW : mxConstants.STYLE_ENDARROW);
+  return mxMarker.createMarker(a, this, g, b, e, d, f, c, this.strokewidth, 0 != this.style[c ? mxConstants.STYLE_STARTFILL : mxConstants.STYLE_ENDFILL])
 };
 mxConnector.prototype.augmentBoundingBox = function(a) {
-    mxShape.prototype.augmentBoundingBox.apply(this, arguments);
-    var b = 0;
-    mxUtils.getValue(this.style, mxConstants.STYLE_STARTARROW, mxConstants.NONE) != mxConstants.NONE && (b = mxUtils.getNumber(this.style, mxConstants.STYLE_STARTSIZE, mxConstants.DEFAULT_MARKERSIZE) + 1);
-    mxUtils.getValue(this.style, mxConstants.STYLE_ENDARROW, mxConstants.NONE) != mxConstants.NONE && (b = Math.max(b, mxUtils.getNumber(this.style, mxConstants.STYLE_ENDSIZE, mxConstants.DEFAULT_MARKERSIZE)) +
-        1);
-    a.grow(Math.ceil(b * this.scale))
+  mxShape.prototype.augmentBoundingBox.apply(this, arguments);
+  var b = 0;
+  mxUtils.getValue(this.style, mxConstants.STYLE_STARTARROW, mxConstants.NONE) != mxConstants.NONE && (b = mxUtils.getNumber(this.style, mxConstants.STYLE_STARTSIZE, mxConstants.DEFAULT_MARKERSIZE) +
+    1);
+  mxUtils.getValue(this.style, mxConstants.STYLE_ENDARROW, mxConstants.NONE) != mxConstants.NONE && (b = Math.max(b, mxUtils.getNumber(this.style, mxConstants.STYLE_ENDSIZE, mxConstants.DEFAULT_MARKERSIZE)) +
+    1);
+  a.grow(Math.ceil(b * this.scale))
 };
 
 function mxSwimlane(a, b, c, d) {
-    mxShape.call(this);
-    this.bounds = a;
-    this.fill = b;
-    this.stroke = c;
-    this.strokewidth = null != d ? d : 1
+  mxShape.call(this);
+  this.bounds = a;
+  this.fill = b;
+  this.stroke = c;
+  this.strokewidth = null != d ? d : 1
 }
 mxUtils.extend(mxSwimlane, mxShape);
 mxSwimlane.prototype.imageSize = 16;
 mxSwimlane.prototype.getGradientBounds = function(a, b, c, d, e) {
-    a = Math.min(e, mxUtils.getValue(this.style, mxConstants.STYLE_STARTSIZE, mxConstants.DEFAULT_STARTSIZE));
-    return new mxRectangle(b, c, d, a)
+  a = Math.min(e, mxUtils.getValue(this.style, mxConstants.STYLE_STARTSIZE, mxConstants.DEFAULT_STARTSIZE));
+  return new mxRectangle(b, c, d, a)
 };
 mxSwimlane.prototype.getRotation = function() {
-    var a = mxShape.prototype.getRotation.apply(this, arguments);
-    1 != mxUtils.getValue(this.style, mxConstants.STYLE_HORIZONTAL, 1) && (a += mxText.prototype.verticalTextRotation);
-    return a
+  var a = mxShape.prototype.getRotation.apply(this, arguments);
+  1 != mxUtils.getValue(this.style, mxConstants.STYLE_HORIZONTAL, 1) && (a += mxText.prototype.verticalTextRotation);
+  return a
 };
 mxSwimlane.prototype.getTextRotation = function() {
-    return this.getRotation()
+  return this.getRotation()
 };
 mxSwimlane.prototype.isPaintBoundsInverted = function() {
-    return mxShape.prototype.isPaintBoundsInverted.apply(this, arguments) || 1 != mxUtils.getValue(this.style, mxConstants.STYLE_HORIZONTAL, 1)
+  return mxShape.prototype.isPaintBoundsInverted.apply(this, arguments) || 1 != mxUtils.getValue(this.style, mxConstants.STYLE_HORIZONTAL, 1)
 };
 mxSwimlane.prototype.getArcSize = function(a, b, c) {
-    a = mxUtils.getValue(this.style, mxConstants.STYLE_ARCSIZE, 100 * mxConstants.RECTANGLE_ROUNDING_FACTOR) / 100;
-    return 3 * c * a
+  a = mxUtils.getValue(this.style, mxConstants.STYLE_ARCSIZE, 100 * mxConstants.RECTANGLE_ROUNDING_FACTOR) / 100;
+  return 3 * c * a
 };
 mxSwimlane.prototype.paintVertexShape = function(a, b, c, d, e) {
-    var f = Math.min(e, mxUtils.getValue(this.style, mxConstants.STYLE_STARTSIZE, mxConstants.DEFAULT_STARTSIZE)),
-        g = mxUtils.getValue(this.style, mxConstants.STYLE_SWIMLANE_FILLCOLOR, mxConstants.NONE),
-        h = 1 == mxUtils.getValue(this.style, mxConstants.STYLE_SWIMLANE_LINE, 1),
-        k = 0;
-    a.translate(b, c);
-    this.isRounded ? (k = this.getArcSize(d, e, f), this.paintRoundedSwimlane(a, b, c, d, e, f, k, g, h)) : this.paintSwimlane(a, b, c, d, e, f, g, h);
-    g = mxUtils.getValue(this.style, mxConstants.STYLE_SEPARATORCOLOR,
-        mxConstants.NONE);
-    this.paintSeparator(a, d, f, e, g);
-    null != this.image && (e = this.getImageBounds(b, f, d, e), a.image(e.x - b, e.y - c, e.width, e.height, this.image, !1, !1, !1));
-    this.glass && (a.setShadow(!1), this.paintGlassEffect(a, 0, 0, d, f, k))
+  var f = Math.min(e, mxUtils.getValue(this.style, mxConstants.STYLE_STARTSIZE, mxConstants.DEFAULT_STARTSIZE)),
+    g = mxUtils.getValue(this.style, mxConstants.STYLE_SWIMLANE_FILLCOLOR, mxConstants.NONE),
+    h = 1 == mxUtils.getValue(this.style, mxConstants.STYLE_SWIMLANE_LINE, 1),
+    k = 0;
+  a.translate(b, c);
+  this.isRounded ? (k = this.getArcSize(d, e, f), this.paintRoundedSwimlane(a, b, c, d, e, f, k, g, h)) : this.paintSwimlane(a, b, c, d, e, f, g, h);
+  g = mxUtils.getValue(this.style, mxConstants.STYLE_SEPARATORCOLOR,
+    mxConstants.NONE);
+  this.paintSeparator(a, d, f, e, g);
+  null != this.image && (e = this.getImageBounds(b, f, d, e), a.image(e.x - b, e.y - c, e.width, e.height, this.image, !1, !1, !1));
+  this.glass && (a.setShadow(!1), this.paintGlassEffect(a, 0, 0, d, f, k))
 };
 mxSwimlane.prototype.paintSwimlane = function(a, b, c, d, e, f, g, h) {
-    g != mxConstants.NONE && (a.save(), a.setFillColor(g), a.rect(0, 0, d, e), a.fillAndStroke(), a.restore(), a.setShadow(!1));
-    a.begin();
-    a.moveTo(0, f);
-    a.lineTo(0, 0);
-    a.lineTo(d, 0);
-    a.lineTo(d, f);
-    h && a.close();
-    a.fillAndStroke();
-    f < e && g == mxConstants.NONE && (a.pointerEvents = !1, a.begin(), a.moveTo(0, f), a.lineTo(0, e), a.lineTo(d, e), a.lineTo(d, f), a.stroke())
+  g != mxConstants.NONE && (a.save(), a.setFillColor(g), a.rect(0, 0, d, e), a.fillAndStroke(), a.restore(), a.setShadow(!1));
+  a.begin();
+  a.moveTo(0, f);
+  a.lineTo(0, 0);
+  a.lineTo(d, 0);
+  a.lineTo(d, f);
+  h && a.close();
+  a.fillAndStroke();
+  f < e && g == mxConstants.NONE && (a.pointerEvents = !1, a.begin(), a.moveTo(0, f), a.lineTo(0, e), a.lineTo(d, e), a.lineTo(d, f), a.stroke())
 };
 mxSwimlane.prototype.paintRoundedSwimlane = function(a, b, c, d, e, f, g, h, k) {
-    h != mxConstants.NONE && (a.save(), a.setFillColor(h), a.roundrect(0, 0, d, e, g, g), a.fillAndStroke(), a.restore(), a.setShadow(!1));
-    a.begin();
-    a.moveTo(d, f);
-    a.lineTo(d, g);
-    a.quadTo(d, 0, d - Math.min(d / 2, g), 0);
-    a.lineTo(Math.min(d / 2, g), 0);
-    a.quadTo(0, 0, 0, g);
-    a.lineTo(0, f);
-    k && a.close();
-    a.fillAndStroke();
-    f < e && h == mxConstants.NONE && (a.pointerEvents = !1, a.begin(), a.moveTo(0, f), a.lineTo(0, e - g), a.quadTo(0, e, Math.min(d / 2, g), e), a.lineTo(d - Math.min(d / 2, g), e),
-        a.quadTo(d, e, d, e - g), a.lineTo(d, f), a.stroke())
+  h != mxConstants.NONE && (a.save(), a.setFillColor(h), a.roundrect(0, 0, d, e, g, g), a.fillAndStroke(), a.restore(), a.setShadow(!1));
+  a.begin();
+  a.moveTo(d, f);
+  a.lineTo(d, g);
+  a.quadTo(d, 0, d - Math.min(d / 2, g), 0);
+  a.lineTo(Math.min(d / 2, g), 0);
+  a.quadTo(0, 0, 0, g);
+  a.lineTo(0, f);
+  k && a.close();
+  a.fillAndStroke();
+  f < e && h == mxConstants.NONE && (a.pointerEvents = !1, a.begin(), a.moveTo(0, f), a.lineTo(0, e - g), a.quadTo(0, e, Math.min(d / 2, g), e), a.lineTo(d - Math.min(d / 2, g), e),
+    a.quadTo(d, e, d, e - g), a.lineTo(d, f), a.stroke())
 };
 mxSwimlane.prototype.paintSeparator = function(a, b, c, d, e) {
-    e != mxConstants.NONE && (a.setStrokeColor(e), a.setDashed(!0), a.begin(), a.moveTo(b, c), a.lineTo(b, d), a.stroke(), a.setDashed(!1))
+  e != mxConstants.NONE && (a.setStrokeColor(e), a.setDashed(!0), a.begin(), a.moveTo(b, c), a.lineTo(b, d), a.stroke(), a.setDashed(!1))
 };
 mxSwimlane.prototype.getImageBounds = function(a, b, c, d) {
-    return new mxRectangle(a + c - this.imageSize, b, this.imageSize, this.imageSize)
+  return new mxRectangle(a + c - this.imageSize, b, this.imageSize, this.imageSize)
 };
 
 function mxGraphLayout(a) {
-    this.graph = a
+  this.graph = a
 }
 mxGraphLayout.prototype.graph = null;
 mxGraphLayout.prototype.useBoundingBox = !0;
@@ -6218,128 +6321,129 @@ mxGraphLayout.prototype.parent = null;
 mxGraphLayout.prototype.moveCell = function(a, b, c) {};
 mxGraphLayout.prototype.execute = function(a) {};
 mxGraphLayout.prototype.getGraph = function() {
-    return this.graph
+  return this.graph
 };
 mxGraphLayout.prototype.getConstraint = function(a, b, c, d) {
-    c = this.graph.view.getState(b);
-    b = null != c ? c.style : this.graph.getCellStyle(b);
-    return null != b ? b[a] : null
+  c = this.graph.view.getState(b);
+  b = null != c ? c.style : this.graph.getCellStyle(b);
+  return null != b ? b[a] : null
 };
 mxGraphLayout.traverse = function(a, b, c, d, e) {
-    if (null != c && null != a) {
-        b = null != b ? b : !0;
-        e = e || [];
-        var f = mxCellPath.create(a);
-        if (null == e[f] && (e[f] = a, d = c(a, d), null == d || d))
-            if (d = this.graph.model.getEdgeCount(a), 0 < d)
-                for (f = 0; f < d; f++) {
-                    var g = this.graph.model.getEdgeAt(a, f),
-                        h = this.graph.model.getTerminal(g, !0) == a;
-                    if (!b || h) h = this.graph.view.getVisibleTerminal(g, !h), this.traverse(h, b, c, g, e)
-                }
-    }
+  if (null != c && null != a) {
+    b = null != b ? b : !0;
+    e = e || [];
+    var f = mxCellPath.create(a);
+    if (null == e[f] && (e[f] = a, d = c(a, d), null == d || d))
+      if (d = this.graph.model.getEdgeCount(a), 0 < d)
+        for (f = 0; f < d; f++) {
+          var g = this.graph.model.getEdgeAt(a, f),
+            h = this.graph.model.getTerminal(g, !0) == a;
+          if (!b || h) h = this.graph.view.getVisibleTerminal(g, !h), this.traverse(h, b, c, g, e)
+        }
+  }
 };
 mxGraphLayout.prototype.isVertexMovable = function(a) {
-    return this.graph.isCellMovable(a)
+  return this.graph.isCellMovable(a)
 };
 mxGraphLayout.prototype.isVertexIgnored = function(a) {
-    return !this.graph.getModel().isVertex(a) || !this.graph.isCellVisible(a)
+  return !this.graph.getModel().isVertex(a) || !this.graph.isCellVisible(a)
 };
 mxGraphLayout.prototype.isEdgeIgnored = function(a) {
-    var b = this.graph.getModel();
-    return !b.isEdge(a) || !this.graph.isCellVisible(a) || null == b.getTerminal(a, !0) || null == b.getTerminal(a, !1)
+  var b = this.graph.getModel();
+  return !b.isEdge(a) || !this.graph.isCellVisible(a) || null == b.getTerminal(a, !0) || null == b.getTerminal(a, !1)
 };
 mxGraphLayout.prototype.setEdgeStyleEnabled = function(a, b) {
-    this.graph.setCellStyles(mxConstants.STYLE_NOEDGESTYLE, b ? "0" : "1", [a])
+  this.graph.setCellStyles(mxConstants.STYLE_NOEDGESTYLE, b ? "0" : "1", [a])
 };
 mxGraphLayout.prototype.setOrthogonalEdge = function(a, b) {
-    this.graph.setCellStyles(mxConstants.STYLE_ORTHOGONAL, b ? "1" : "0", [a])
+  this.graph.setCellStyles(mxConstants.STYLE_ORTHOGONAL, b ? "1" : "0", [a])
 };
 mxGraphLayout.prototype.getParentOffset = function(a) {
-    var b = new mxPoint;
-    if (null != a && a != this.parent) {
-        var c = this.graph.getModel();
-        if (c.isAncestor(this.parent, a))
-            for (var d = c.getGeometry(a); a != this.parent;) b.x += d.x, b.y += d.y, a = c.getParent(a), d = c.getGeometry(a)
-    }
-    return b
+  var b = new mxPoint;
+  if (null != a && a != this.parent) {
+    var c = this.graph.getModel();
+    if (c.isAncestor(this.parent, a))
+      for (var d = c.getGeometry(a); a != this.parent;) b.x += d.x, b.y += d.y, a = c.getParent(a), d = c.getGeometry(a)
+  }
+  return b
 };
 mxGraphLayout.prototype.setEdgePoints = function(a, b) {
-    if (null != a) {
-        var c = this.graph.model,
-            d = c.getGeometry(a);
-        null == d ? (d = new mxGeometry, d.setRelative(!0)) : d = d.clone();
-        if (null != this.parent && null != b)
-            for (var e = c.getParent(a), e = this.getParentOffset(e), f = 0; f < b.length; f++) b[f].x -= e.x, b[f].y -= e.y;
-        d.points = b;
-        c.setGeometry(a, d)
-    }
+  if (null != a) {
+    var c = this.graph.model,
+      d = c.getGeometry(a);
+    null == d ? (d = new mxGeometry, d.setRelative(!0)) : d = d.clone();
+    if (null != this.parent && null != b)
+      for (var e = c.getParent(a), e = this.getParentOffset(e), f = 0; f < b.length; f++) b[f].x -= e.x, b[f].y -= e.y;
+    d.points = b;
+    c.setGeometry(a, d)
+  }
 };
 mxGraphLayout.prototype.setVertexLocation = function(a, b, c) {
-    var d = this.graph.getModel(),
-        e = d.getGeometry(a),
-        f = null;
-    if (null != e) {
-        f = new mxRectangle(b, c, e.width, e.height);
-        if (this.useBoundingBox) {
-            var g = this.graph.getView().getState(a);
-            if (null != g && null != g.text && null != g.text.boundingBox) {
-                var h = this.graph.getView().scale,
-                    k = g.text.boundingBox;
-                g.text.boundingBox.x < g.x && (b += (g.x - k.x) / h, f.width = k.width);
-                g.text.boundingBox.y < g.y && (c += (g.y - k.y) / h, f.height = k.height)
-            }
-        }
-        null != this.parent && (g = d.getParent(a), null != g && g !=
-            this.parent && (g = this.getParentOffset(g), b -= g.x, c -= g.y));
-        if (e.x != b || e.y != c) e = e.clone(), e.x = b, e.y = c, d.setGeometry(a, e)
-    }
-    return f
+  var d = this.graph.getModel(),
+    e = d.getGeometry(a),
+    f = null;
+  if (null != e) {
+    f = new mxRectangle(b, c, e.width, e.height);
+    if (this.useBoundingBox) {
+      var g = this.graph.getView().getState(a);
+      if (null != g && null != g.text && null != g.text.boundingBox) {
+        var h = this.graph.getView().scale,
+          k = g.text.boundingBox;
+        g.text.boundingBox.x < g.x && (b += (g.x - k.x) / h, f.width = k.width);
+        g.text.boundingBox.y < g.y && (c += (g.y - k.y) / h, f.height = k.height)
+      }
+    }
+    null != this.parent && (g = d.getParent(a), null != g && g !=
+      this.parent && (g = this.getParentOffset(g), b -= g.x, c -= g.y));
+    if (e.x != b || e.y != c) e = e.clone(), e.x = b, e.y = c, d.setGeometry(a, e)
+  }
+  return f
 };
 mxGraphLayout.prototype.getVertexBounds = function(a) {
-    var b = this.graph.getModel().getGeometry(a);
-    if (this.useBoundingBox) {
-        var c = this.graph.getView().getState(a);
-        if (null != c && null != c.text && null != c.text.boundingBox) var d = this.graph.getView().scale,
-            e = c.text.boundingBox,
-            f = Math.max(c.x - e.x, 0) / d,
-            g = Math.max(c.y - e.y, 0) / d,
-            h = Math.max(e.x + e.width - (c.x + c.width), 0) / d,
-            c = Math.max(e.y + e.height - (c.y + c.height), 0) / d,
-            b = new mxRectangle(b.x - f, b.y - g, b.width + f + h, b.height + g + c)
-    }
-    null != this.parent && (a = this.graph.getModel().getParent(a),
-        b = b.clone(), null != a && a != this.parent && (a = this.getParentOffset(a), b.x += a.x, b.y += a.y));
-    return new mxRectangle(b.x, b.y, b.width, b.height)
+  var b = this.graph.getModel().getGeometry(a);
+  if (this.useBoundingBox) {
+    var c = this.graph.getView().getState(a);
+    if (null != c && null != c.text && null != c.text.boundingBox) var d = this.graph.getView().scale,
+      e = c.text.boundingBox,
+      f = Math.max(c.x - e.x, 0) / d,
+      g = Math.max(c.y - e.y, 0) / d,
+      h = Math.max(e.x + e.width - (c.x + c.width), 0) / d,
+      c = Math.max(e.y + e.height - (c.y + c.height), 0) / d,
+      b = new mxRectangle(b.x - f, b.y - g, b.width + f + h, b.height + g + c)
+  }
+  null != this.parent && (a = this.graph.getModel().getParent(a),
+    b = b.clone(), null != a && a != this.parent && (a = this.getParentOffset(a), b.x += a.x, b.y += a.y));
+  return new mxRectangle(b.x, b.y, b.width, b.height)
 };
 mxGraphLayout.prototype.arrangeGroups = function(a, b) {
-    this.graph.getModel().beginUpdate();
-    try {
-        for (var c = a.length - 1; 0 <= c; c--) {
-            var d = a[c],
-                e = this.graph.getChildVertices(d),
-                f = this.graph.getBoundingBoxFromGeometry(e),
-                g = this.graph.getCellGeometry(d),
-                h = 0,
-                k = 0;
-            if (this.graph.isSwimlane(d)) var l = this.graph.getStartSize(d),
-                h = l.width,
-                k = l.height;
-            null != f && null != g && (g = g.clone(), g.x = g.x + f.x - b - h, g.y = g.y + f.y - b - k, g.width = f.width + 2 * b + h, g.height = f.height + 2 * b + k, this.graph.getModel().setGeometry(d, g), this.graph.moveCells(e,
-                b + h - f.x, b + k - f.y))
-        }
-    } finally {
-        this.graph.getModel().endUpdate()
+  this.graph.getModel().beginUpdate();
+  try {
+    for (var c = a.length - 1; 0 <= c; c--) {
+      var d = a[c],
+        e = this.graph.getChildVertices(d),
+        f = this.graph.getBoundingBoxFromGeometry(e),
+        g = this.graph.getCellGeometry(d),
+        h = 0,
+        k = 0;
+      if (this.graph.isSwimlane(d)) var l = this.graph.getStartSize(d),
+        h = l.width,
+        k = l.height;
+      null != f && null != g && (g = g.clone(), g.x = g.x + f.x - b - h, g.y = g.y + f.y - b - k, g.width = f.width + 2 * b + h, g.height = f.height + 2 * b + k, this.graph.getModel().setGeometry(d,
+        g), this.graph.moveCells(e,
+        b + h - f.x, b + k - f.y))
     }
+  } finally {
+    this.graph.getModel().endUpdate()
+  }
 };
 
 function mxStackLayout(a, b, c, d, e, f) {
-    mxGraphLayout.call(this, a);
-    this.horizontal = null != b ? b : !0;
-    this.spacing = null != c ? c : 0;
-    this.x0 = null != d ? d : 0;
-    this.y0 = null != e ? e : 0;
-    this.border = null != f ? f : 0
+  mxGraphLayout.call(this, a);
+  this.horizontal = null != b ? b : !0;
+  this.spacing = null != c ? c : 0;
+  this.x0 = null != d ? d : 0;
+  this.y0 = null != e ? e : 0;
+  this.border = null != f ? f : 0
 }
 mxStackLayout.prototype = new mxGraphLayout;
 mxStackLayout.prototype.constructor = mxStackLayout;
@@ -6354,84 +6458,87 @@ mxStackLayout.prototype.resizeParent = !1;
 mxStackLayout.prototype.resizeLast = !1;
 mxStackLayout.prototype.wrap = null;
 mxStackLayout.prototype.isHorizontal = function() {
-    return this.horizontal
+  return this.horizontal
 };
 mxStackLayout.prototype.moveCell = function(a, b, c) {
-    var d = this.graph.getModel(),
-        e = d.getParent(a),
-        f = this.isHorizontal();
-    if (null != a && null != e) {
-        var g = 0,
-            h = 0,
-            k = d.getChildCount(e);
-        b = f ? b : c;
-        g = this.graph.getView().getState(e);
-        null != g && (b -= f ? g.x : g.y);
-        for (g = 0; g < k; g++)
-            if (c = d.getChildAt(e, g), c != a && (c = d.getGeometry(c), null != c)) {
-                c = f ? c.x + c.width / 2 : c.y + c.height / 2;
-                if (h < b && c > b) break;
-                h = c
-            }
-        f = e.getIndex(a);
-        f = Math.max(0, g - (g > f ? 1 : 0));
-        d.add(e, a, f)
-    }
+  var d = this.graph.getModel(),
+    e = d.getParent(a),
+    f = this.isHorizontal();
+  if (null != a && null != e) {
+    var g = 0,
+      h = 0,
+      k = d.getChildCount(e);
+    b = f ? b : c;
+    g = this.graph.getView().getState(e);
+    null != g && (b -= f ? g.x : g.y);
+    for (g = 0; g < k; g++)
+      if (c = d.getChildAt(e, g), c != a && (c = d.getGeometry(c), null != c)) {
+        c = f ? c.x + c.width / 2 : c.y + c.height / 2;
+        if (h < b && c > b) break;
+        h = c
+      }
+    f = e.getIndex(a);
+    f = Math.max(0, g - (g > f ? 1 : 0));
+    d.add(e, a, f)
+  }
 };
 mxStackLayout.prototype.getParentSize = function(a) {
-    var b = this.graph.getModel(),
-        c = b.getGeometry(a);
-    if (null != this.graph.container && (null == c && b.isLayer(a) || a == this.graph.getView().currentRoot)) c = new mxRectangle(0, 0, this.graph.container.offsetWidth - 1, this.graph.container.offsetHeight - 1);
-    return c
+  var b = this.graph.getModel(),
+    c = b.getGeometry(a);
+  if (null != this.graph.container && (null == c && b.isLayer(a) || a == this.graph.getView().currentRoot)) c = new mxRectangle(0, 0, this.graph.container.offsetWidth - 1, this.graph.container.offsetHeight -
+    1);
+  return c
 };
 mxStackLayout.prototype.execute = function(a) {
-    if (null != a) {
-        var b = this.isHorizontal(),
-            c = this.graph.getModel(),
-            d = this.getParentSize(a),
-            e = 0;
-        null != d && (e = b ? d.height : d.width);
-        var e = e - (2 * this.spacing + 2 * this.border),
-            f = this.x0 + this.border,
-            g = this.y0 + this.border;
-        if (this.graph.isSwimlane(a)) {
-            var h = this.graph.getCellStyle(a),
-                k = mxUtils.getValue(h, mxConstants.STYLE_STARTSIZE, mxConstants.DEFAULT_STARTSIZE),
-                h = mxUtils.getValue(h, mxConstants.STYLE_HORIZONTAL, !0);
-            b == h && (e -= k);
-            b ? g += k : f += k
-        }
-        c.beginUpdate();
-        try {
-            for (var k = 0,
-                    h = null, l = c.getChildCount(a), m = 0; m < l; m++) {
-                var n = c.getChildAt(a, m);
-                if (!this.isVertexIgnored(n) && this.isVertexMovable(n)) {
-                    var p = c.getGeometry(n);
-                    if (null != p) {
-                        p = p.clone();
-                        if (null != this.wrap && null != h && (b && h.x + h.width + p.width + 2 * this.spacing > this.wrap || !b && h.y + h.height + p.height + 2 * this.spacing > this.wrap)) h = null, b ? g += k + this.spacing : f += k + this.spacing, k = 0;
-                        k = Math.max(k, b ? p.height : p.width);
-                        null != h ? b ? p.x = h.x + h.width + this.spacing : p.y = h.y + h.height + this.spacing : this.keepFirstLocation || (b ? p.x = f : p.y = g);
-                        b ? p.y = g : p.x = f;
-                        this.fill && 0 < e && (b ? p.height = e : p.width = e);
-                        c.setGeometry(n, p);
-                        h = p
-                    }
-                }
-            }
-            this.resizeParent && null != d && null != h && !this.graph.isCellCollapsed(a) ? (d = d.clone(), b ? d.width = h.x + h.width + this.spacing : d.height = h.y + h.height + this.spacing, c.setGeometry(a, d)) : this.resizeLast && (null != d && null != h) && (b ? h.width = d.width - h.x - this.spacing : h.height = d.height - h.y - this.spacing)
-        } finally {
-            c.endUpdate()
+  if (null != a) {
+    var b = this.isHorizontal(),
+      c = this.graph.getModel(),
+      d = this.getParentSize(a),
+      e = 0;
+    null != d && (e = b ? d.height : d.width);
+    var e = e - (2 * this.spacing + 2 * this.border),
+      f = this.x0 + this.border,
+      g = this.y0 + this.border;
+    if (this.graph.isSwimlane(a)) {
+      var h = this.graph.getCellStyle(a),
+        k = mxUtils.getValue(h, mxConstants.STYLE_STARTSIZE, mxConstants.DEFAULT_STARTSIZE),
+        h = mxUtils.getValue(h, mxConstants.STYLE_HORIZONTAL, !0);
+      b == h && (e -= k);
+      b ? g += k : f += k
+    }
+    c.beginUpdate();
+    try {
+      for (var k = 0,
+          h = null, l = c.getChildCount(a), m = 0; m < l; m++) {
+        var n = c.getChildAt(a, m);
+        if (!this.isVertexIgnored(n) && this.isVertexMovable(n)) {
+          var p = c.getGeometry(n);
+          if (null != p) {
+            p = p.clone();
+            if (null != this.wrap && null != h && (b && h.x + h.width + p.width + 2 * this.spacing > this.wrap || !b && h.y + h.height + p.height + 2 * this.spacing > this.wrap)) h = null, b ? g +=
+              k + this.spacing : f += k + this.spacing, k = 0;
+            k = Math.max(k, b ? p.height : p.width);
+            null != h ? b ? p.x = h.x + h.width + this.spacing : p.y = h.y + h.height + this.spacing : this.keepFirstLocation || (b ? p.x = f : p.y = g);
+            b ? p.y = g : p.x = f;
+            this.fill && 0 < e && (b ? p.height = e : p.width = e);
+            c.setGeometry(n, p);
+            h = p
+          }
         }
+      }
+      this.resizeParent && null != d && null != h && !this.graph.isCellCollapsed(a) ? (d = d.clone(), b ? d.width = h.x + h.width + this.spacing : d.height = h.y + h.height + this.spacing, c.setGeometry(
+        a, d)) : this.resizeLast && (null != d && null != h) && (b ? h.width = d.width - h.x - this.spacing : h.height = d.height - h.y - this.spacing)
+    } finally {
+      c.endUpdate()
     }
+  }
 };
 
 function mxPartitionLayout(a, b, c, d) {
-    mxGraphLayout.call(this, a);
-    this.horizontal = null != b ? b : !0;
-    this.spacing = c || 0;
-    this.border = d || 0
+  mxGraphLayout.call(this, a);
+  this.horizontal = null != b ? b : !0;
+  this.spacing = c || 0;
+  this.border = d || 0
 }
 mxPartitionLayout.prototype = new mxGraphLayout;
 mxPartitionLayout.prototype.constructor = mxPartitionLayout;
@@ -6440,69 +6547,71 @@ mxPartitionLayout.prototype.spacing = null;
 mxPartitionLayout.prototype.border = null;
 mxPartitionLayout.prototype.resizeVertices = !0;
 mxPartitionLayout.prototype.isHorizontal = function() {
-    return this.horizontal
+  return this.horizontal
 };
 mxPartitionLayout.prototype.moveCell = function(a, b, c) {
-    c = this.graph.getModel();
-    var d = c.getParent(a);
-    if (null != a && null != d) {
-        for (var e = 0, f = 0, g = c.getChildCount(d), e = 0; e < g; e++) {
-            var h = c.getChildAt(d, e),
-                h = this.getVertexBounds(h);
-            if (null != h) {
-                h = h.x + h.width / 2;
-                if (f < b && h > b) break;
-                f = h
-            }
-        }
-        b = d.getIndex(a);
-        b = Math.max(0, e - (e > b ? 1 : 0));
-        c.add(d, a, b)
-    }
+  c = this.graph.getModel();
+  var d = c.getParent(a);
+  if (null != a && null != d) {
+    for (var e = 0, f = 0, g = c.getChildCount(d), e = 0; e < g; e++) {
+      var h = c.getChildAt(d, e),
+        h = this.getVertexBounds(h);
+      if (null != h) {
+        h = h.x + h.width / 2;
+        if (f < b && h > b) break;
+        f = h
+      }
+    }
+    b = d.getIndex(a);
+    b = Math.max(0, e - (e > b ? 1 : 0));
+    c.add(d, a, b)
+  }
 };
 mxPartitionLayout.prototype.execute = function(a) {
-    var b = this.isHorizontal(),
-        c = this.graph.getModel(),
-        d = c.getGeometry(a);
-    if (null != this.graph.container && (null == d && c.isLayer(a) || a == this.graph.getView().currentRoot)) d = new mxRectangle(0, 0, this.graph.container.offsetWidth - 1, this.graph.container.offsetHeight - 1);
-    if (null != d) {
-        for (var e = [], f = c.getChildCount(a), g = 0; g < f; g++) {
-            var h = c.getChildAt(a, g);
-            !this.isVertexIgnored(h) && this.isVertexMovable(h) && e.push(h)
-        }
-        f = e.length;
-        if (0 < f) {
-            var k = this.border,
-                l = this.border,
-                m = b ?
-                d.height : d.width,
-                m = m - 2 * this.border;
-            a = this.graph.isSwimlane(a) ? this.graph.getStartSize(a) : new mxRectangle;
-            m -= b ? a.height : a.width;
-            k += a.width;
-            l += a.height;
-            a = this.border + (f - 1) * this.spacing;
-            d = b ? (d.width - k - a) / f : (d.height - l - a) / f;
-            if (0 < d) {
-                c.beginUpdate();
-                try {
-                    for (g = 0; g < f; g++) {
-                        var h = e[g],
-                            n = c.getGeometry(h);
-                        null != n && (n = n.clone(), n.x = k, n.y = l, b ? (this.resizeVertices && (n.width = d, n.height = m), k += d + this.spacing) : (this.resizeVertices && (n.height = d, n.width = m), l += d + this.spacing), c.setGeometry(h, n))
-                    }
-                } finally {
-                    c.endUpdate()
-                }
-            }
+  var b = this.isHorizontal(),
+    c = this.graph.getModel(),
+    d = c.getGeometry(a);
+  if (null != this.graph.container && (null == d && c.isLayer(a) || a == this.graph.getView().currentRoot)) d = new mxRectangle(0, 0, this.graph.container.offsetWidth - 1, this.graph.container.offsetHeight -
+    1);
+  if (null != d) {
+    for (var e = [], f = c.getChildCount(a), g = 0; g < f; g++) {
+      var h = c.getChildAt(a, g);
+      !this.isVertexIgnored(h) && this.isVertexMovable(h) && e.push(h)
+    }
+    f = e.length;
+    if (0 < f) {
+      var k = this.border,
+        l = this.border,
+        m = b ?
+        d.height : d.width,
+        m = m - 2 * this.border;
+      a = this.graph.isSwimlane(a) ? this.graph.getStartSize(a) : new mxRectangle;
+      m -= b ? a.height : a.width;
+      k += a.width;
+      l += a.height;
+      a = this.border + (f - 1) * this.spacing;
+      d = b ? (d.width - k - a) / f : (d.height - l - a) / f;
+      if (0 < d) {
+        c.beginUpdate();
+        try {
+          for (g = 0; g < f; g++) {
+            var h = e[g],
+              n = c.getGeometry(h);
+            null != n && (n = n.clone(), n.x = k, n.y = l, b ? (this.resizeVertices && (n.width = d, n.height = m), k += d + this.spacing) : (this.resizeVertices && (n.height = d, n.width = m), l +=
+              d + this.spacing), c.setGeometry(h, n))
+          }
+        } finally {
+          c.endUpdate()
         }
+      }
     }
+  }
 };
 
 function mxCompactTreeLayout(a, b, c) {
-    mxGraphLayout.call(this, a);
-    this.horizontal = null != b ? b : !0;
-    this.invert = null != c ? c : !1
+  mxGraphLayout.call(this, a);
+  this.horizontal = null != b ? b : !0;
+  this.invert = null != c ? c : !1
 }
 mxCompactTreeLayout.prototype = new mxGraphLayout;
 mxCompactTreeLayout.prototype.constructor = mxCompactTreeLayout;
@@ -6521,235 +6630,240 @@ mxCompactTreeLayout.prototype.minEdgeJetty = 8;
 mxCompactTreeLayout.prototype.channelBuffer = 4;
 mxCompactTreeLayout.prototype.edgeRouting = !0;
 mxCompactTreeLayout.prototype.isVertexIgnored = function(a) {
-    return mxGraphLayout.prototype.isVertexIgnored.apply(this, arguments) || 0 == this.graph.getConnections(a).length
+  return mxGraphLayout.prototype.isVertexIgnored.apply(this, arguments) || 0 == this.graph.getConnections(a).length
 };
 mxCompactTreeLayout.prototype.isHorizontal = function() {
-    return this.horizontal
+  return this.horizontal
 };
 mxCompactTreeLayout.prototype.execute = function(a, b) {
-    this.parent = a;
-    var c = this.graph.getModel();
-    if (null == b)
-        if (0 < this.graph.getEdges(a, c.getParent(a), this.invert, !this.invert, !1).length) b = a;
-        else {
-            var d = this.graph.findTreeRoots(a, !0, this.invert);
-            if (0 < d.length)
-                for (var e = 0; e < d.length; e++)
-                    if (!this.isVertexIgnored(d[e]) && 0 < this.graph.getEdges(d[e], null, this.invert, !this.invert, !1).length) {
-                        b = d[e];
-                        break
-                    }
+  this.parent = a;
+  var c = this.graph.getModel();
+  if (null == b)
+    if (0 < this.graph.getEdges(a, c.getParent(a), this.invert, !this.invert, !1).length) b = a;
+    else {
+      var d = this.graph.findTreeRoots(a, !0, this.invert);
+      if (0 < d.length)
+        for (var e = 0; e < d.length; e++)
+          if (!this.isVertexIgnored(d[e]) && 0 < this.graph.getEdges(d[e], null, this.invert, !this.invert, !1).length) {
+            b = d[e];
+            break
+          }
+    }
+  if (null != b) {
+    this.parentsChanged = this.resizeParent ? {} : null;
+    c.beginUpdate();
+    try {
+      var f = this.dfs(b, a);
+      if (null !=
+        f) {
+        this.layout(f);
+        var g = this.graph.gridSize,
+          d = g;
+        if (!this.moveTree) {
+          var h = this.getVertexBounds(b);
+          null != h && (g = h.x, d = h.y)
         }
-    if (null != b) {
-        this.parentsChanged = this.resizeParent ? {} : null;
-        c.beginUpdate();
-        try {
-            var f = this.dfs(b, a);
-            if (null !=
-                f) {
-                this.layout(f);
-                var g = this.graph.gridSize,
-                    d = g;
-                if (!this.moveTree) {
-                    var h = this.getVertexBounds(b);
-                    null != h && (g = h.x, d = h.y)
-                }
-                h = null;
-                h = this.isHorizontal() ? this.horizontalLayout(f, g, d) : this.verticalLayout(f, null, g, d);
-                if (null != h) {
-                    var k = e = 0;
-                    0 > h.x && (e = Math.abs(g - h.x));
-                    0 > h.y && (k = Math.abs(d - h.y));
-                    (0 != e || 0 != k) && this.moveNode(f, e, k);
-                    this.resizeParent && this.adjustParents();
-                    this.edgeRouting && this.localEdgeProcessing(f)
-                }
-            }
-        } finally {
-            c.endUpdate()
+        h = null;
+        h = this.isHorizontal() ? this.horizontalLayout(f, g, d) : this.verticalLayout(f, null, g, d);
+        if (null != h) {
+          var k = e = 0;
+          0 > h.x && (e = Math.abs(g - h.x));
+          0 > h.y && (k = Math.abs(d - h.y));
+          (0 != e || 0 != k) && this.moveNode(f, e, k);
+          this.resizeParent && this.adjustParents();
+          this.edgeRouting && this.localEdgeProcessing(f)
         }
+      }
+    } finally {
+      c.endUpdate()
     }
+  }
 };
 mxCompactTreeLayout.prototype.moveNode = function(a, b, c) {
-    a.x += b;
-    a.y += c;
-    this.apply(a);
-    for (a = a.child; null != a;) this.moveNode(a, b, c), a = a.next
+  a.x += b;
+  a.y += c;
+  this.apply(a);
+  for (a = a.child; null != a;) this.moveNode(a, b, c), a = a.next
 };
 mxCompactTreeLayout.prototype.dfs = function(a, b, c) {
-    c = null != c ? c : [];
-    var d = mxCellPath.create(a),
-        e = null;
-    if (null != a && null == c[d] && !this.isVertexIgnored(a)) {
-        c[d] = a;
-        var e = this.createNode(a),
-            d = this.graph.getModel(),
-            f = null;
-        a = this.graph.getEdges(a, b, this.invert, !this.invert, !1, !0);
-        for (var g = this.graph.getView(), h = 0; h < a.length; h++) {
-            var k = a[h];
-            if (!this.isEdgeIgnored(k)) {
-                this.resetEdges && this.setEdgePoints(k, null);
-                this.edgeRouting && (this.setEdgeStyleEnabled(k, !1), this.setEdgePoints(k, null));
-                var l = g.getState(k),
-                    k = null != l ? l.getVisibleTerminal(this.invert) : g.getVisibleTerminal(k, this.invert),
-                    l = this.dfs(k, b, c);
-                null != l && null != d.getGeometry(k) && (null == f ? e.child = l : f.next = l, f = l)
-            }
-        }
-    }
-    return e
+  c = null != c ? c : [];
+  var d = mxCellPath.create(a),
+    e = null;
+  if (null != a && null == c[d] && !this.isVertexIgnored(a)) {
+    c[d] = a;
+    var e = this.createNode(a),
+      d = this.graph.getModel(),
+      f = null;
+    a = this.graph.getEdges(a, b, this.invert, !this.invert, !1, !0);
+    for (var g = this.graph.getView(), h = 0; h < a.length; h++) {
+      var k = a[h];
+      if (!this.isEdgeIgnored(k)) {
+        this.resetEdges && this.setEdgePoints(k, null);
+        this.edgeRouting && (this.setEdgeStyleEnabled(k, !1), this.setEdgePoints(k, null));
+        var l = g.getState(k),
+          k = null != l ? l.getVisibleTerminal(this.invert) : g.getVisibleTerminal(k, this.invert),
+          l = this.dfs(k, b, c);
+        null != l && null != d.getGeometry(k) && (null == f ? e.child = l : f.next = l, f = l)
+      }
+    }
+  }
+  return e
 };
 mxCompactTreeLayout.prototype.layout = function(a) {
-    if (null != a) {
-        for (var b = a.child; null != b;) this.layout(b), b = b.next;
-        null != a.child ? this.attachParent(a, this.join(a)) : this.layoutLeaf(a)
-    }
+  if (null != a) {
+    for (var b = a.child; null != b;) this.layout(b), b = b.next;
+    null != a.child ? this.attachParent(a, this.join(a)) : this.layoutLeaf(a)
+  }
 };
 mxCompactTreeLayout.prototype.horizontalLayout = function(a, b, c, d) {
-    a.x += b + a.offsetX;
-    a.y += c + a.offsetY;
-    d = this.apply(a, d);
-    b = a.child;
-    if (null != b) {
-        d = this.horizontalLayout(b, a.x, a.y, d);
-        c = a.y + b.offsetY;
-        for (var e = b.next; null != e;) d = this.horizontalLayout(e, a.x + b.offsetX, c, d), c += e.offsetY, e = e.next
-    }
-    return d
+  a.x += b + a.offsetX;
+  a.y += c + a.offsetY;
+  d = this.apply(a, d);
+  b = a.child;
+  if (null != b) {
+    d = this.horizontalLayout(b, a.x, a.y, d);
+    c = a.y + b.offsetY;
+    for (var e = b.next; null != e;) d = this.horizontalLayout(e, a.x + b.offsetX, c, d), c += e.offsetY, e = e.next
+  }
+  return d
 };
 mxCompactTreeLayout.prototype.verticalLayout = function(a, b, c, d, e) {
-    a.x += c + a.offsetY;
-    a.y += d + a.offsetX;
-    e = this.apply(a, e);
-    b = a.child;
-    if (null != b) {
-        e = this.verticalLayout(b, a, a.x, a.y, e);
-        c = a.x + b.offsetY;
-        for (d = b.next; null != d;) e = this.verticalLayout(d, a, c, a.y + b.offsetX, e), c += d.offsetY, d = d.next
-    }
-    return e
+  a.x += c + a.offsetY;
+  a.y += d + a.offsetX;
+  e = this.apply(a, e);
+  b = a.child;
+  if (null != b) {
+    e = this.verticalLayout(b, a, a.x, a.y, e);
+    c = a.x + b.offsetY;
+    for (d = b.next; null != d;) e = this.verticalLayout(d, a, c, a.y + b.offsetX, e), c += d.offsetY, d = d.next
+  }
+  return e
 };
 mxCompactTreeLayout.prototype.attachParent = function(a, b) {
-    var c = this.nodeDistance + this.levelDistance,
-        d = (b - a.width) / 2 - this.nodeDistance,
-        e = d + a.width + 2 * this.nodeDistance - b;
-    a.child.offsetX = c + a.height;
-    a.child.offsetY = e;
-    a.contour.upperHead = this.createLine(a.height, 0, this.createLine(c, e, a.contour.upperHead));
-    a.contour.lowerHead = this.createLine(a.height, 0, this.createLine(c, d, a.contour.lowerHead))
+  var c = this.nodeDistance + this.levelDistance,
+    d = (b - a.width) / 2 - this.nodeDistance,
+    e = d + a.width + 2 * this.nodeDistance - b;
+  a.child.offsetX = c + a.height;
+  a.child.offsetY = e;
+  a.contour.upperHead = this.createLine(a.height, 0, this.createLine(c, e, a.contour.upperHead));
+  a.contour.lowerHead = this.createLine(a.height, 0, this.createLine(c, d, a.contour.lowerHead))
 };
 mxCompactTreeLayout.prototype.layoutLeaf = function(a) {
-    var b = 2 * this.nodeDistance;
-    a.contour.upperTail = this.createLine(a.height + b, 0);
-    a.contour.upperHead = a.contour.upperTail;
-    a.contour.lowerTail = this.createLine(0, -a.width - b);
-    a.contour.lowerHead = this.createLine(a.height + b, 0, a.contour.lowerTail)
+  var b = 2 * this.nodeDistance;
+  a.contour.upperTail = this.createLine(a.height + b, 0);
+  a.contour.upperHead = a.contour.upperTail;
+  a.contour.lowerTail = this.createLine(0, -a.width - b);
+  a.contour.lowerHead = this.createLine(a.height + b, 0, a.contour.lowerTail)
 };
 mxCompactTreeLayout.prototype.join = function(a) {
-    var b = 2 * this.nodeDistance,
-        c = a.child;
-    a.contour = c.contour;
-    for (var d = c.width + b, e = d, c = c.next; null != c;) {
-        var f = this.merge(a.contour, c.contour);
-        c.offsetY = f + d;
-        c.offsetX = 0;
-        d = c.width + b;
-        e += f + d;
-        c = c.next
-    }
-    return e
+  var b = 2 * this.nodeDistance,
+    c = a.child;
+  a.contour = c.contour;
+  for (var d = c.width + b, e = d, c = c.next; null != c;) {
+    var f = this.merge(a.contour, c.contour);
+    c.offsetY = f + d;
+    c.offsetX = 0;
+    d = c.width + b;
+    e += f + d;
+    c = c.next
+  }
+  return e
 };
 mxCompactTreeLayout.prototype.merge = function(a, b) {
-    for (var c = 0, d = 0, e = 0, f = a.lowerHead, g = b.upperHead; null != g && null != f;) {
-        var h = this.offset(c, d, g.dx, g.dy, f.dx, f.dy),
-            d = d + h,
-            e = e + h;
-        c + g.dx <= f.dx ? (c += g.dx, d += g.dy, g = g.next) : (c -= f.dx, d -= f.dy, f = f.next)
-    }
-    null != g ? (c = this.bridge(a.upperTail, 0, 0, g, c, d), a.upperTail = null != c.next ? b.upperTail : c, a.lowerTail = b.lowerTail) : (c = this.bridge(b.lowerTail, c, d, f, 0, 0), null == c.next && (a.lowerTail = c));
-    a.lowerHead = b.lowerHead;
-    return e
+  for (var c = 0, d = 0, e = 0, f = a.lowerHead, g = b.upperHead; null != g && null != f;) {
+    var h = this.offset(c, d, g.dx, g.dy, f.dx, f.dy),
+      d = d + h,
+      e = e + h;
+    c + g.dx <= f.dx ? (c += g.dx, d += g.dy, g = g.next) : (c -= f.dx, d -= f.dy, f = f.next)
+  }
+  null != g ? (c = this.bridge(a.upperTail, 0, 0, g, c, d), a.upperTail = null != c.next ? b.upperTail : c, a.lowerTail = b.lowerTail) : (c = this.bridge(b.lowerTail, c, d, f, 0, 0), null == c.next &&
+    (a.lowerTail = c));
+  a.lowerHead = b.lowerHead;
+  return e
 };
 mxCompactTreeLayout.prototype.offset = function(a, b, c, d, e, f) {
-    var g = 0;
-    if (e <= a || 0 >= a + c) return 0;
-    g = 0 < e * d - c * f ? 0 > a ? a * d / c - b : 0 < a ? a * f / e - b : -b : e < a + c ? f - (b + (e - a) * d / c) : e > a + c ? (c + a) * f / e - (b + d) : f - (b + d);
-    return 0 < g ? g : 0
+  var g = 0;
+  if (e <= a || 0 >= a + c) return 0;
+  g = 0 < e * d - c * f ? 0 > a ? a * d / c - b : 0 < a ? a * f / e - b : -b : e < a + c ? f - (b + (e - a) * d / c) : e > a + c ? (c + a) * f / e - (b + d) : f - (b + d);
+  return 0 < g ? g : 0
 };
 mxCompactTreeLayout.prototype.bridge = function(a, b, c, d, e, f) {
-    b = e + d.dx - b;
-    e = e = 0;
-    0 == d.dx ? e = d.dy : (e = b * d.dy, e /= d.dx);
-    b = this.createLine(b, e, d.next);
-    a.next = this.createLine(0, f + d.dy - e - c, b);
-    return b
+  b = e + d.dx - b;
+  e = e = 0;
+  0 == d.dx ? e = d.dy : (e = b * d.dy, e /= d.dx);
+  b = this.createLine(b, e, d.next);
+  a.next = this.createLine(0, f + d.dy - e - c, b);
+  return b
 };
 mxCompactTreeLayout.prototype.createNode = function(a) {
-    var b = {};
-    b.cell = a;
-    b.x = 0;
-    b.y = 0;
-    b.width = 0;
-    b.height = 0;
-    a = this.getVertexBounds(a);
-    null != a && (this.isHorizontal() ? (b.width = a.height, b.height = a.width) : (b.width = a.width, b.height = a.height));
-    b.offsetX = 0;
-    b.offsetY = 0;
-    b.contour = {};
-    return b
+  var b = {};
+  b.cell = a;
+  b.x = 0;
+  b.y = 0;
+  b.width = 0;
+  b.height = 0;
+  a = this.getVertexBounds(a);
+  null != a && (this.isHorizontal() ? (b.width = a.height, b.height = a.width) : (b.width = a.width, b.height = a.height));
+  b.offsetX = 0;
+  b.offsetY = 0;
+  b.contour = {};
+  return b
 };
 mxCompactTreeLayout.prototype.apply = function(a, b) {
-    var c = this.graph.getModel(),
-        d = a.cell,
-        e = c.getGeometry(d);
-    null != d && null != e && (this.isVertexMovable(d) && (e = this.setVertexLocation(d, a.x, a.y), this.resizeParent && (c = c.getParent(d), d = mxCellPath.create(c), null == this.parentsChanged[d] && (this.parentsChanged[d] = c))), b = null == b ? new mxRectangle(e.x, e.y, e.width, e.height) : new mxRectangle(Math.min(b.x, e.x), Math.min(b.y, e.y), Math.max(b.x + b.width, e.x + e.width), Math.max(b.y + b.height, e.y + e.height)));
-    return b
+  var c = this.graph.getModel(),
+    d = a.cell,
+    e = c.getGeometry(d);
+  null != d && null != e && (this.isVertexMovable(d) && (e = this.setVertexLocation(d, a.x, a.y), this.resizeParent && (c = c.getParent(d), d = mxCellPath.create(c), null == this.parentsChanged[d] &&
+    (this.parentsChanged[d] = c))), b = null == b ? new mxRectangle(e.x, e.y, e.width, e.height) : new mxRectangle(Math.min(b.x, e.x), Math.min(b.y, e.y), Math.max(b.x + b.width, e.x + e.width),
+    Math.max(b.y + b.height, e.y + e.height)));
+  return b
 };
 mxCompactTreeLayout.prototype.createLine = function(a, b, c) {
-    var d = {};
-    d.dx = a;
-    d.dy = b;
-    d.next = c;
-    return d
+  var d = {};
+  d.dx = a;
+  d.dy = b;
+  d.next = c;
+  return d
 };
 mxCompactTreeLayout.prototype.adjustParents = function() {
-    var a = [],
-        b;
-    for (b in this.parentsChanged) a.push(this.parentsChanged[b]);
-    this.arrangeGroups(mxUtils.sortCells(a, !0), this.groupPadding)
+  var a = [],
+    b;
+  for (b in this.parentsChanged) a.push(this.parentsChanged[b]);
+  this.arrangeGroups(mxUtils.sortCells(a, !0), this.groupPadding)
 };
 mxCompactTreeLayout.prototype.localEdgeProcessing = function(a) {
-    this.processNodeOutgoing(a);
-    for (a = a.child; null != a;) this.localEdgeProcessing(a), a = a.next
+  this.processNodeOutgoing(a);
+  for (a = a.child; null != a;) this.localEdgeProcessing(a), a = a.next
 };
 mxCompactTreeLayout.prototype.processNodeOutgoing = function(a) {
-    for (var b = a.child, c = a.cell, d = 0, e = []; null != b;) {
-        d++;
-        var f = b.x;
-        this.horizontal && (f = b.y);
-        e.push(new WeightedCellSorter(b, f));
-        b = b.next
-    }
-    e.sort(WeightedCellSorter.prototype.compare);
-    var f = a.width,
-        g = (d + 1) * this.prefHozEdgeSep;
-    f > g + 2 * this.prefHozEdgeSep && (f -= 2 * this.prefHozEdgeSep);
-    a = f / d;
-    b = a / 2;
-    f > g + 2 * this.prefHozEdgeSep && (b += this.prefHozEdgeSep);
-    for (var f = this.minEdgeJetty - this.prefVertEdgeOff, g = 0, h = this.getVertexBounds(c), k = 0; k < e.length; k++) {
-        for (var l =
-                e[k].cell.cell, m = this.getVertexBounds(l), l = this.graph.getEdgesBetween(c, l, !1), n = [], p = 0, q = 0, s = 0; s < l.length; s++) this.horizontal ? (p = h.x + h.width, q = h.y + b, n.push(new mxPoint(p, q)), p = h.x + h.width + f, n.push(new mxPoint(p, q)), q = m.y + m.height / 2) : (p = h.x + b, q = h.y + h.height, n.push(new mxPoint(p, q)), q = h.y + h.height + f, n.push(new mxPoint(p, q)), p = m.x + m.width / 2), n.push(new mxPoint(p, q)), this.setEdgePoints(l[s], n);
-        k < d / 2 ? f += this.prefVertEdgeOff : k > d / 2 && (f -= this.prefVertEdgeOff);
-        b += a;
-        g = Math.max(g, f)
-    }
+  for (var b = a.child, c = a.cell, d = 0, e = []; null != b;) {
+    d++;
+    var f = b.x;
+    this.horizontal && (f = b.y);
+    e.push(new WeightedCellSorter(b, f));
+    b = b.next
+  }
+  e.sort(WeightedCellSorter.prototype.compare);
+  var f = a.width,
+    g = (d + 1) * this.prefHozEdgeSep;
+  f > g + 2 * this.prefHozEdgeSep && (f -= 2 * this.prefHozEdgeSep);
+  a = f / d;
+  b = a / 2;
+  f > g + 2 * this.prefHozEdgeSep && (b += this.prefHozEdgeSep);
+  for (var f = this.minEdgeJetty - this.prefVertEdgeOff, g = 0, h = this.getVertexBounds(c), k = 0; k < e.length; k++) {
+    for (var l =
+        e[k].cell.cell, m = this.getVertexBounds(l), l = this.graph.getEdgesBetween(c, l, !1), n = [], p = 0, q = 0, s = 0; s < l.length; s++) this.horizontal ? (p = h.x + h.width, q = h.y + b, n.push(
+      new mxPoint(p, q)), p = h.x + h.width + f, n.push(new mxPoint(p, q)), q = m.y + m.height / 2) : (p = h.x + b, q = h.y + h.height, n.push(new mxPoint(p, q)), q = h.y + h.height + f, n.push(
+      new mxPoint(p, q)), p = m.x + m.width / 2), n.push(new mxPoint(p, q)), this.setEdgePoints(l[s], n);
+    k < d / 2 ? f += this.prefVertEdgeOff : k > d / 2 && (f -= this.prefVertEdgeOff);
+    b += a;
+    g = Math.max(g, f)
+  }
 };
 
 function WeightedCellSorter(a, b) {
-    this.cell = a;
-    this.weightedValue = b
+  this.cell = a;
+  this.weightedValue = b
 }
 WeightedCellSorter.prototype.weightedValue = 0;
 WeightedCellSorter.prototype.nudge = !1;
@@ -6757,11 +6871,11 @@ WeightedCellSorter.prototype.visited = !1;
 WeightedCellSorter.prototype.rankIndex = null;
 WeightedCellSorter.prototype.cell = null;
 WeightedCellSorter.prototype.compare = function(a, b) {
-    return null != a && null != b ? b.weightedValue > a.weightedValue ? 1 : b.weightedValue < a.weightedValue ? -1 : b.nudge ? 1 : -1 : 0
+  return null != a && null != b ? b.weightedValue > a.weightedValue ? 1 : b.weightedValue < a.weightedValue ? -1 : b.nudge ? 1 : -1 : 0
 };
 
 function mxFastOrganicLayout(a) {
-    mxGraphLayout.call(this, a)
+  mxGraphLayout.call(this, a)
 }
 mxFastOrganicLayout.prototype = new mxGraphLayout;
 mxFastOrganicLayout.prototype.constructor = mxFastOrganicLayout;
@@ -6779,133 +6893,135 @@ mxFastOrganicLayout.prototype.maxIterations = 0;
 mxFastOrganicLayout.prototype.iteration = 0;
 mxFastOrganicLayout.prototype.allowedToRun = !0;
 mxFastOrganicLayout.prototype.isVertexIgnored = function(a) {
-    return mxGraphLayout.prototype.isVertexIgnored.apply(this, arguments) || 0 == this.graph.getConnections(a).length
+  return mxGraphLayout.prototype.isVertexIgnored.apply(this, arguments) || 0 == this.graph.getConnections(a).length
 };
 mxFastOrganicLayout.prototype.execute = function(a) {
-    var b = this.graph.getModel();
-    this.vertexArray = [];
-    for (var c = this.graph.getChildVertices(a), d = 0; d < c.length; d++) this.isVertexIgnored(c[d]) || this.vertexArray.push(c[d]);
-    var e = this.useInputOrigin ? this.graph.view.getBounds(this.vertexArray) : null,
-        f = this.vertexArray.length;
-    this.indices = [];
-    this.dispX = [];
-    this.dispY = [];
-    this.cellLocation = [];
-    this.isMoveable = [];
-    this.neighbours = [];
-    this.radius = [];
-    this.radiusSquared = [];
-    0.0010 > this.forceConstant && (this.forceConstant =
-        0.0010);
-    this.forceConstantSquared = this.forceConstant * this.forceConstant;
-    for (d = 0; d < this.vertexArray.length; d++) {
-        var g = this.vertexArray[d];
-        this.cellLocation[d] = [];
-        var h = mxCellPath.create(g);
-        this.indices[h] = d;
-        var k = this.getVertexBounds(g),
-            l = k.width,
-            m = k.height,
-            n = k.x,
-            p = k.y;
-        this.cellLocation[d][0] = n + l / 2;
-        this.cellLocation[d][1] = p + m / 2;
-        this.radius[d] = Math.min(l, m);
-        this.radiusSquared[d] = this.radius[d] * this.radius[d]
-    }
-    b.beginUpdate();
-    try {
-        for (d = 0; d < f; d++) {
-            this.dispX[d] = 0;
-            this.dispY[d] = 0;
-            this.isMoveable[d] = this.isVertexMovable(this.vertexArray[d]);
-            var q = this.graph.getConnections(this.vertexArray[d], a),
-                c = this.graph.getOpposites(q, this.vertexArray[d]);
-            this.neighbours[d] = [];
-            for (l = 0; l < c.length; l++) {
-                this.resetEdges && this.graph.resetEdge(q[l]);
-                this.disableEdgeStyle && this.setEdgeStyleEnabled(q[l], !1);
-                var h = mxCellPath.create(c[l]),
-                    s = this.indices[h];
-                this.neighbours[d][l] = null != s ? s : d
-            }
-        }
-        this.temperature = this.initialTemp;
-        0 == this.maxIterations && (this.maxIterations = 20 * Math.sqrt(f));
-        for (this.iteration = 0; this.iteration < this.maxIterations; this.iteration++) {
-            if (!this.allowedToRun) return;
-            this.calcRepulsion();
-            this.calcAttraction();
-            this.calcPositions();
-            this.reduceTemperature()
-        }
-        a = c = null;
-        for (d = 0; d < this.vertexArray.length; d++) g = this.vertexArray[d], this.isVertexMovable(g) && (k = this.getVertexBounds(g), null != k && (this.cellLocation[d][0] -= k.width / 2, this.cellLocation[d][1] -= k.height / 2, n = this.graph.snap(this.cellLocation[d][0]), p = this.graph.snap(this.cellLocation[d][1]), this.setVertexLocation(g, n, p), c = null == c ? n : Math.min(c, n), a = null == a ? p : Math.min(a, p)));
-        d = -(c || 0) + 1;
-        g = -(a || 0) + 1;
-        null != e && (d += e.x,
-            g += e.y);
-        this.graph.moveCells(this.vertexArray, d, g)
-    } finally {
-        b.endUpdate()
-    }
+  var b = this.graph.getModel();
+  this.vertexArray = [];
+  for (var c = this.graph.getChildVertices(a), d = 0; d < c.length; d++) this.isVertexIgnored(c[d]) || this.vertexArray.push(c[d]);
+  var e = this.useInputOrigin ? this.graph.view.getBounds(this.vertexArray) : null,
+    f = this.vertexArray.length;
+  this.indices = [];
+  this.dispX = [];
+  this.dispY = [];
+  this.cellLocation = [];
+  this.isMoveable = [];
+  this.neighbours = [];
+  this.radius = [];
+  this.radiusSquared = [];
+  0.0010 > this.forceConstant && (this.forceConstant =
+    0.0010);
+  this.forceConstantSquared = this.forceConstant * this.forceConstant;
+  for (d = 0; d < this.vertexArray.length; d++) {
+    var g = this.vertexArray[d];
+    this.cellLocation[d] = [];
+    var h = mxCellPath.create(g);
+    this.indices[h] = d;
+    var k = this.getVertexBounds(g),
+      l = k.width,
+      m = k.height,
+      n = k.x,
+      p = k.y;
+    this.cellLocation[d][0] = n + l / 2;
+    this.cellLocation[d][1] = p + m / 2;
+    this.radius[d] = Math.min(l, m);
+    this.radiusSquared[d] = this.radius[d] * this.radius[d]
+  }
+  b.beginUpdate();
+  try {
+    for (d = 0; d < f; d++) {
+      this.dispX[d] = 0;
+      this.dispY[d] = 0;
+      this.isMoveable[d] = this.isVertexMovable(this.vertexArray[d]);
+      var q = this.graph.getConnections(this.vertexArray[d], a),
+        c = this.graph.getOpposites(q, this.vertexArray[d]);
+      this.neighbours[d] = [];
+      for (l = 0; l < c.length; l++) {
+        this.resetEdges && this.graph.resetEdge(q[l]);
+        this.disableEdgeStyle && this.setEdgeStyleEnabled(q[l], !1);
+        var h = mxCellPath.create(c[l]),
+          s = this.indices[h];
+        this.neighbours[d][l] = null != s ? s : d
+      }
+    }
+    this.temperature = this.initialTemp;
+    0 == this.maxIterations && (this.maxIterations = 20 * Math.sqrt(f));
+    for (this.iteration = 0; this.iteration < this.maxIterations; this.iteration++) {
+      if (!this.allowedToRun) return;
+      this.calcRepulsion();
+      this.calcAttraction();
+      this.calcPositions();
+      this.reduceTemperature()
+    }
+    a = c = null;
+    for (d = 0; d < this.vertexArray.length; d++) g = this.vertexArray[d], this.isVertexMovable(g) && (k = this.getVertexBounds(g), null != k && (this.cellLocation[d][0] -= k.width / 2, this.cellLocation[
+        d][1] -= k.height / 2, n = this.graph.snap(this.cellLocation[d][0]), p = this.graph.snap(this.cellLocation[d][1]), this.setVertexLocation(g, n, p), c = null == c ? n : Math.min(c, n), a =
+      null == a ? p : Math.min(a, p)));
+    d = -(c || 0) + 1;
+    g = -(a || 0) + 1;
+    null != e && (d += e.x,
+      g += e.y);
+    this.graph.moveCells(this.vertexArray, d, g)
+  } finally {
+    b.endUpdate()
+  }
 };
 mxFastOrganicLayout.prototype.calcPositions = function() {
-    for (var a = 0; a < this.vertexArray.length; a++)
-        if (this.isMoveable[a]) {
-            var b = Math.sqrt(this.dispX[a] * this.dispX[a] + this.dispY[a] * this.dispY[a]);
-            0.0010 > b && (b = 0.0010);
-            var c = this.dispX[a] / b * Math.min(b, this.temperature),
-                b = this.dispY[a] / b * Math.min(b, this.temperature);
-            this.dispX[a] = 0;
-            this.dispY[a] = 0;
-            this.cellLocation[a][0] += c;
-            this.cellLocation[a][1] += b
-        }
+  for (var a = 0; a < this.vertexArray.length; a++)
+    if (this.isMoveable[a]) {
+      var b = Math.sqrt(this.dispX[a] * this.dispX[a] + this.dispY[a] * this.dispY[a]);
+      0.0010 > b && (b = 0.0010);
+      var c = this.dispX[a] / b * Math.min(b, this.temperature),
+        b = this.dispY[a] / b * Math.min(b, this.temperature);
+      this.dispX[a] = 0;
+      this.dispY[a] = 0;
+      this.cellLocation[a][0] += c;
+      this.cellLocation[a][1] += b
+    }
 };
 mxFastOrganicLayout.prototype.calcAttraction = function() {
-    for (var a = 0; a < this.vertexArray.length; a++)
-        for (var b = 0; b < this.neighbours[a].length; b++) {
-            var c = this.neighbours[a][b];
-            if (a != c && this.isMoveable[a] && this.isMoveable[c]) {
-                var d = this.cellLocation[a][0] - this.cellLocation[c][0],
-                    e = this.cellLocation[a][1] - this.cellLocation[c][1],
-                    f = d * d + e * e - this.radiusSquared[a] - this.radiusSquared[c];
-                f < this.minDistanceLimitSquared && (f = this.minDistanceLimitSquared);
-                var g = Math.sqrt(f),
-                    f = f / this.forceConstant,
-                    d = d / g * f,
-                    e = e / g * f;
-                this.dispX[a] -= d;
-                this.dispY[a] -= e;
-                this.dispX[c] += d;
-                this.dispY[c] += e
-            }
-        }
+  for (var a = 0; a < this.vertexArray.length; a++)
+    for (var b = 0; b < this.neighbours[a].length; b++) {
+      var c = this.neighbours[a][b];
+      if (a != c && this.isMoveable[a] && this.isMoveable[c]) {
+        var d = this.cellLocation[a][0] - this.cellLocation[c][0],
+          e = this.cellLocation[a][1] - this.cellLocation[c][1],
+          f = d * d + e * e - this.radiusSquared[a] - this.radiusSquared[c];
+        f < this.minDistanceLimitSquared && (f = this.minDistanceLimitSquared);
+        var g = Math.sqrt(f),
+          f = f / this.forceConstant,
+          d = d / g * f,
+          e = e / g * f;
+        this.dispX[a] -= d;
+        this.dispY[a] -= e;
+        this.dispX[c] += d;
+        this.dispY[c] += e
+      }
+    }
 };
 mxFastOrganicLayout.prototype.calcRepulsion = function() {
-    for (var a = this.vertexArray.length, b = 0; b < a; b++)
-        for (var c = b; c < a; c++) {
-            if (!this.allowedToRun) return;
-            if (c != b && this.isMoveable[b] && this.isMoveable[c]) {
-                var d = this.cellLocation[b][0] - this.cellLocation[c][0],
-                    e = this.cellLocation[b][1] - this.cellLocation[c][1];
-                0 == d && (d = 0.01 + Math.random());
-                0 == e && (e = 0.01 + Math.random());
-                var f = Math.sqrt(d * d + e * e),
-                    g = f - this.radius[b] - this.radius[c];
-                g > this.maxDistanceLimit || (g < this.minDistanceLimit && (g = this.minDistanceLimit), g = this.forceConstantSquared /
-                    g, d = d / f * g, e = e / f * g, this.dispX[b] += d, this.dispY[b] += e, this.dispX[c] -= d, this.dispY[c] -= e)
-            }
-        }
+  for (var a = this.vertexArray.length, b = 0; b < a; b++)
+    for (var c = b; c < a; c++) {
+      if (!this.allowedToRun) return;
+      if (c != b && this.isMoveable[b] && this.isMoveable[c]) {
+        var d = this.cellLocation[b][0] - this.cellLocation[c][0],
+          e = this.cellLocation[b][1] - this.cellLocation[c][1];
+        0 == d && (d = 0.01 + Math.random());
+        0 == e && (e = 0.01 + Math.random());
+        var f = Math.sqrt(d * d + e * e),
+          g = f - this.radius[b] - this.radius[c];
+        g > this.maxDistanceLimit || (g < this.minDistanceLimit && (g = this.minDistanceLimit), g = this.forceConstantSquared /
+          g, d = d / f * g, e = e / f * g, this.dispX[b] += d, this.dispY[b] += e, this.dispX[c] -= d, this.dispY[c] -= e)
+      }
+    }
 };
 mxFastOrganicLayout.prototype.reduceTemperature = function() {
-    this.temperature = this.initialTemp * (1 - this.iteration / this.maxIterations)
+  this.temperature = this.initialTemp * (1 - this.iteration / this.maxIterations)
 };
 
 function mxCircleLayout(a, b) {
-    mxGraphLayout.call(this, a);
-    this.radius = null != b ? b : 100
+  mxGraphLayout.call(this, a);
+  this.radius = null != b ? b : 100
 }
 mxCircleLayout.prototype = new mxGraphLayout;
 mxCircleLayout.prototype.constructor = mxCircleLayout;
@@ -6916,156 +7032,157 @@ mxCircleLayout.prototype.y0 = 0;
 mxCircleLayout.prototype.resetEdges = !0;
 mxCircleLayout.prototype.disableEdgeStyle = !0;
 mxCircleLayout.prototype.execute = function(a) {
-    var b = this.graph.getModel();
-    b.beginUpdate();
-    try {
-        for (var c = 0, d = null, e = null, f = [], g = b.getChildCount(a), h = 0; h < g; h++) {
-            var k = b.getChildAt(a, h);
-            if (this.isVertexIgnored(k)) this.isEdgeIgnored(k) || (this.resetEdges && this.graph.resetEdge(k), this.disableEdgeStyle && this.setEdgeStyleEnabled(k, !1));
-            else {
-                f.push(k);
-                var l = this.getVertexBounds(k),
-                    d = null == d ? l.y : Math.min(d, l.y),
-                    e = null == e ? l.x : Math.min(e, l.x),
-                    c = Math.max(c, Math.max(l.width, l.height))
-            }
-        }
-        var m = this.getRadius(f.length,
-            c);
-        this.moveCircle && (e = this.x0, d = this.y0);
-        this.circle(f, m, e, d)
-    } finally {
-        b.endUpdate()
-    }
+  var b = this.graph.getModel();
+  b.beginUpdate();
+  try {
+    for (var c = 0, d = null, e = null, f = [], g = b.getChildCount(a), h = 0; h < g; h++) {
+      var k = b.getChildAt(a, h);
+      if (this.isVertexIgnored(k)) this.isEdgeIgnored(k) || (this.resetEdges && this.graph.resetEdge(k), this.disableEdgeStyle && this.setEdgeStyleEnabled(k, !1));
+      else {
+        f.push(k);
+        var l = this.getVertexBounds(k),
+          d = null == d ? l.y : Math.min(d, l.y),
+          e = null == e ? l.x : Math.min(e, l.x),
+          c = Math.max(c, Math.max(l.width, l.height))
+      }
+    }
+    var m = this.getRadius(f.length,
+      c);
+    this.moveCircle && (e = this.x0, d = this.y0);
+    this.circle(f, m, e, d)
+  } finally {
+    b.endUpdate()
+  }
 };
 mxCircleLayout.prototype.getRadius = function(a, b) {
-    return Math.max(a * b / Math.PI, this.radius)
+  return Math.max(a * b / Math.PI, this.radius)
 };
 mxCircleLayout.prototype.circle = function(a, b, c, d) {
-    for (var e = a.length, f = 2 * Math.PI / e, g = 0; g < e; g++) this.isVertexMovable(a[g]) && this.setVertexLocation(a[g], c + b + b * Math.sin(g * f), d + b + b * Math.cos(g * f))
+  for (var e = a.length, f = 2 * Math.PI / e, g = 0; g < e; g++) this.isVertexMovable(a[g]) && this.setVertexLocation(a[g], c + b + b * Math.sin(g * f), d + b + b * Math.cos(g * f))
 };
 
 function mxParallelEdgeLayout(a) {
-    mxGraphLayout.call(this, a)
+  mxGraphLayout.call(this, a)
 }
 mxParallelEdgeLayout.prototype = new mxGraphLayout;
 mxParallelEdgeLayout.prototype.constructor = mxParallelEdgeLayout;
 mxParallelEdgeLayout.prototype.spacing = 20;
 mxParallelEdgeLayout.prototype.execute = function(a) {
-    a = this.findParallels(a);
-    this.graph.model.beginUpdate();
-    try {
-        for (var b in a) {
-            var c = a[b];
-            1 < c.length && this.layout(c)
-        }
-    } finally {
-        this.graph.model.endUpdate()
+  a = this.findParallels(a);
+  this.graph.model.beginUpdate();
+  try {
+    for (var b in a) {
+      var c = a[b];
+      1 < c.length && this.layout(c)
     }
+  } finally {
+    this.graph.model.endUpdate()
+  }
 };
 mxParallelEdgeLayout.prototype.findParallels = function(a) {
-    for (var b = this.graph.getModel(), c = [], d = b.getChildCount(a), e = 0; e < d; e++) {
-        var f = b.getChildAt(a, e);
-        if (!this.isEdgeIgnored(f)) {
-            var g = this.getEdgeId(f);
-            null != g && (null == c[g] && (c[g] = []), c[g].push(f))
-        }
+  for (var b = this.graph.getModel(), c = [], d = b.getChildCount(a), e = 0; e < d; e++) {
+    var f = b.getChildAt(a, e);
+    if (!this.isEdgeIgnored(f)) {
+      var g = this.getEdgeId(f);
+      null != g && (null == c[g] && (c[g] = []), c[g].push(f))
     }
-    return c
+  }
+  return c
 };
 mxParallelEdgeLayout.prototype.getEdgeId = function(a) {
-    var b = this.graph.getView(),
-        c = b.getState(a),
-        d = null != c ? c.getVisibleTerminal(!0) : b.getVisibleTerminal(a, !0);
-    a = null != c ? c.getVisibleTerminal(!1) : b.getVisibleTerminal(a, !1);
-    return null != d && null != a ? (d = mxCellPath.create(d), a = mxCellPath.create(a), d > a ? a + "-" + d : d + "-" + a) : null
+  var b = this.graph.getView(),
+    c = b.getState(a),
+    d = null != c ? c.getVisibleTerminal(!0) : b.getVisibleTerminal(a, !0);
+  a = null != c ? c.getVisibleTerminal(!1) : b.getVisibleTerminal(a, !1);
+  return null != d && null != a ? (d = mxCellPath.create(d), a = mxCellPath.create(a), d > a ? a + "-" + d : d + "-" + a) : null
 };
 mxParallelEdgeLayout.prototype.layout = function(a) {
-    var b = a[0],
-        c = this.graph.getModel(),
-        d = c.getGeometry(c.getTerminal(b, !0)),
-        e = c.getGeometry(c.getTerminal(b, !1));
-    if (d == e)
-        for (var b = d.x + d.width + this.spacing, c = d.y + d.height / 2, f = 0; f < a.length; f++) this.route(a[f], b, c), b += this.spacing;
-    else if (null != d && null != e)
-        for (var b = d.x + d.width / 2, c = d.y + d.height / 2, f = e.x + e.width / 2 - b, g = e.y + e.height / 2 - c, e = Math.sqrt(f * f + g * g), d = g * this.spacing / e, e = f * this.spacing / e, b = b + f / 2 + d * (a.length - 1) / 2, c = c + g / 2 - e * (a.length - 1) / 2, f = 0; f < a.length; f++) this.route(a[f],
-            b, c), b -= d, c += e
+  var b = a[0],
+    c = this.graph.getModel(),
+    d = c.getGeometry(c.getTerminal(b, !0)),
+    e = c.getGeometry(c.getTerminal(b, !1));
+  if (d == e)
+    for (var b = d.x + d.width + this.spacing, c = d.y + d.height / 2, f = 0; f < a.length; f++) this.route(a[f], b, c), b += this.spacing;
+  else if (null != d && null != e)
+    for (var b = d.x + d.width / 2, c = d.y + d.height / 2, f = e.x + e.width / 2 - b, g = e.y + e.height / 2 - c, e = Math.sqrt(f * f + g * g), d = g * this.spacing / e, e = f * this.spacing / e,
+        b = b + f / 2 + d * (a.length - 1) / 2, c = c + g / 2 - e * (a.length - 1) / 2, f = 0; f < a.length; f++) this.route(a[f],
+      b, c), b -= d, c += e
 };
 mxParallelEdgeLayout.prototype.route = function(a, b, c) {
-    this.graph.isCellMovable(a) && this.setEdgePoints(a, [new mxPoint(b, c)])
+  this.graph.isCellMovable(a) && this.setEdgePoints(a, [new mxPoint(b, c)])
 };
 
 function mxCompositeLayout(a, b, c) {
-    mxGraphLayout.call(this, a);
-    this.layouts = b;
-    this.master = c
+  mxGraphLayout.call(this, a);
+  this.layouts = b;
+  this.master = c
 }
 mxCompositeLayout.prototype = new mxGraphLayout;
 mxCompositeLayout.prototype.constructor = mxCompositeLayout;
 mxCompositeLayout.prototype.layouts = null;
 mxCompositeLayout.prototype.master = null;
 mxCompositeLayout.prototype.moveCell = function(a, b, c) {
-    null != this.master ? this.master.move.apply(this.master, arguments) : this.layouts[0].move.apply(this.layouts[0], arguments)
+  null != this.master ? this.master.move.apply(this.master, arguments) : this.layouts[0].move.apply(this.layouts[0], arguments)
 };
 mxCompositeLayout.prototype.execute = function(a) {
-    var b = this.graph.getModel();
-    b.beginUpdate();
-    try {
-        for (var c = 0; c < this.layouts.length; c++) this.layouts[c].execute.apply(this.layouts[c], arguments)
-    } finally {
-        b.endUpdate()
-    }
+  var b = this.graph.getModel();
+  b.beginUpdate();
+  try {
+    for (var c = 0; c < this.layouts.length; c++) this.layouts[c].execute.apply(this.layouts[c], arguments)
+  } finally {
+    b.endUpdate()
+  }
 };
 
 function mxEdgeLabelLayout(a, b) {
-    mxGraphLayout.call(this, a)
+  mxGraphLayout.call(this, a)
 }
 mxEdgeLabelLayout.prototype = new mxGraphLayout;
 mxEdgeLabelLayout.prototype.constructor = mxEdgeLabelLayout;
 mxEdgeLabelLayout.prototype.execute = function(a) {
-    for (var b = this.graph.view, c = this.graph.getModel(), d = [], e = [], f = c.getChildCount(a), g = 0; g < f; g++) {
-        var h = c.getChildAt(a, g),
-            k = b.getState(h);
-        null != k && (this.isVertexIgnored(h) ? this.isEdgeIgnored(h) || d.push(k) : e.push(k))
-    }
-    this.placeLabels(e, d)
+  for (var b = this.graph.view, c = this.graph.getModel(), d = [], e = [], f = c.getChildCount(a), g = 0; g < f; g++) {
+    var h = c.getChildAt(a, g),
+      k = b.getState(h);
+    null != k && (this.isVertexIgnored(h) ? this.isEdgeIgnored(h) || d.push(k) : e.push(k))
+  }
+  this.placeLabels(e, d)
 };
 mxEdgeLabelLayout.prototype.placeLabels = function(a, b) {
-    var c = this.graph.getModel();
-    c.beginUpdate();
-    try {
-        for (var d = 0; d < b.length; d++) {
-            var e = b[d];
-            if (null != e && null != e.text && null != e.text.boundingBox)
-                for (var f = 0; f < a.length; f++) {
-                    var g = a[f];
-                    null != g && this.avoid(e, g)
-                }
+  var c = this.graph.getModel();
+  c.beginUpdate();
+  try {
+    for (var d = 0; d < b.length; d++) {
+      var e = b[d];
+      if (null != e && null != e.text && null != e.text.boundingBox)
+        for (var f = 0; f < a.length; f++) {
+          var g = a[f];
+          null != g && this.avoid(e, g)
         }
-    } finally {
-        c.endUpdate()
     }
+  } finally {
+    c.endUpdate()
+  }
 };
 mxEdgeLabelLayout.prototype.avoid = function(a, b) {
-    var c = this.graph.getModel(),
-        d = a.text.boundingBox;
-    if (mxUtils.intersects(d, b)) {
-        var e = -d.y - d.height + b.y,
-            f = -d.y + b.y + b.height,
-            e = Math.abs(e) < Math.abs(f) ? e : f,
-            f = -d.x - d.width + b.x,
-            d = -d.x + b.x + b.width,
-            d = Math.abs(f) < Math.abs(d) ? f : d;
-        Math.abs(d) < Math.abs(e) ? e = 0 : d = 0;
-        f = c.getGeometry(a.cell);
-        null != f && (f = f.clone(), null != f.offset ? (f.offset.x += d, f.offset.y += e) : f.offset = new mxPoint(d, e), c.setGeometry(a.cell, f))
-    }
+  var c = this.graph.getModel(),
+    d = a.text.boundingBox;
+  if (mxUtils.intersects(d, b)) {
+    var e = -d.y - d.height + b.y,
+      f = -d.y + b.y + b.height,
+      e = Math.abs(e) < Math.abs(f) ? e : f,
+      f = -d.x - d.width + b.x,
+      d = -d.x + b.x + b.width,
+      d = Math.abs(f) < Math.abs(d) ? f : d;
+    Math.abs(d) < Math.abs(e) ? e = 0 : d = 0;
+    f = c.getGeometry(a.cell);
+    null != f && (f = f.clone(), null != f.offset ? (f.offset.x += d, f.offset.y += e) : f.offset = new mxPoint(d, e), c.setGeometry(a.cell, f))
+  }
 };
 
 function mxGraphAbstractHierarchyCell() {
-    this.x = [];
-    this.y = [];
-    this.temp = []
+  this.x = [];
+  this.y = [];
+  this.temp = []
 }
 mxGraphAbstractHierarchyCell.prototype.maxRank = -1;
 mxGraphAbstractHierarchyCell.prototype.minRank = -1;
@@ -7077,36 +7194,36 @@ mxGraphAbstractHierarchyCell.prototype.nextLayerConnectedCells = null;
 mxGraphAbstractHierarchyCell.prototype.previousLayerConnectedCells = null;
 mxGraphAbstractHierarchyCell.prototype.temp = null;
 mxGraphAbstractHierarchyCell.prototype.getNextLayerConnectedCells = function(a) {
-    return null
+  return null
 };
 mxGraphAbstractHierarchyCell.prototype.getPreviousLayerConnectedCells = function(a) {
-    return null
+  return null
 };
 mxGraphAbstractHierarchyCell.prototype.isEdge = function() {
-    return !1
+  return !1
 };
 mxGraphAbstractHierarchyCell.prototype.isVertex = function() {
-    return !1
+  return !1
 };
 mxGraphAbstractHierarchyCell.prototype.getGeneralPurposeVariable = function(a) {
-    return null
+  return null
 };
 mxGraphAbstractHierarchyCell.prototype.setGeneralPurposeVariable = function(a, b) {
-    return null
+  return null
 };
 mxGraphAbstractHierarchyCell.prototype.setX = function(a, b) {
-    this.isVertex() ? this.x[0] = b : this.isEdge() && (this.x[a - this.minRank - 1] = b)
+  this.isVertex() ? this.x[0] = b : this.isEdge() && (this.x[a - this.minRank - 1] = b)
 };
 mxGraphAbstractHierarchyCell.prototype.getX = function(a) {
-    return this.isVertex() ? this.x[0] : this.isEdge() ? this.x[a - this.minRank - 1] : 0
+  return this.isVertex() ? this.x[0] : this.isEdge() ? this.x[a - this.minRank - 1] : 0
 };
 mxGraphAbstractHierarchyCell.prototype.setY = function(a, b) {
-    this.isVertex() ? this.y[0] = b : this.isEdge() && (this.y[a - this.minRank - 1] = b)
+  this.isVertex() ? this.y[0] = b : this.isEdge() && (this.y[a - this.minRank - 1] = b)
 };
 
 function mxGraphHierarchyNode(a) {
-    mxGraphAbstractHierarchyCell.apply(this, arguments);
-    this.cell = a
+  mxGraphAbstractHierarchyCell.apply(this, arguments);
+  this.cell = a
 }
 mxGraphHierarchyNode.prototype = new mxGraphAbstractHierarchyCell;
 mxGraphHierarchyNode.prototype.constructor = mxGraphHierarchyNode;
@@ -7115,54 +7232,54 @@ mxGraphHierarchyNode.prototype.connectsAsTarget = [];
 mxGraphHierarchyNode.prototype.connectsAsSource = [];
 mxGraphHierarchyNode.prototype.hashCode = !1;
 mxGraphHierarchyNode.prototype.getRankValue = function(a) {
-    return this.maxRank
+  return this.maxRank
 };
 mxGraphHierarchyNode.prototype.getNextLayerConnectedCells = function(a) {
-    if (null == this.nextLayerConnectedCells) {
-        this.nextLayerConnectedCells = [];
-        this.nextLayerConnectedCells[0] = [];
-        for (var b = 0; b < this.connectsAsTarget.length; b++) {
-            var c = this.connectsAsTarget[b]; - 1 == c.maxRank || c.maxRank == a + 1 ? this.nextLayerConnectedCells[0].push(c.source) : this.nextLayerConnectedCells[0].push(c)
-        }
+  if (null == this.nextLayerConnectedCells) {
+    this.nextLayerConnectedCells = [];
+    this.nextLayerConnectedCells[0] = [];
+    for (var b = 0; b < this.connectsAsTarget.length; b++) {
+      var c = this.connectsAsTarget[b]; - 1 == c.maxRank || c.maxRank == a + 1 ? this.nextLayerConnectedCells[0].push(c.source) : this.nextLayerConnectedCells[0].push(c)
     }
-    return this.nextLayerConnectedCells[0]
+  }
+  return this.nextLayerConnectedCells[0]
 };
 mxGraphHierarchyNode.prototype.getPreviousLayerConnectedCells = function(a) {
-    if (null == this.previousLayerConnectedCells) {
-        this.previousLayerConnectedCells = [];
-        this.previousLayerConnectedCells[0] = [];
-        for (var b = 0; b < this.connectsAsSource.length; b++) {
-            var c = this.connectsAsSource[b]; - 1 == c.minRank || c.minRank == a - 1 ? this.previousLayerConnectedCells[0].push(c.target) : this.previousLayerConnectedCells[0].push(c)
-        }
+  if (null == this.previousLayerConnectedCells) {
+    this.previousLayerConnectedCells = [];
+    this.previousLayerConnectedCells[0] = [];
+    for (var b = 0; b < this.connectsAsSource.length; b++) {
+      var c = this.connectsAsSource[b]; - 1 == c.minRank || c.minRank == a - 1 ? this.previousLayerConnectedCells[0].push(c.target) : this.previousLayerConnectedCells[0].push(c)
     }
-    return this.previousLayerConnectedCells[0]
+  }
+  return this.previousLayerConnectedCells[0]
 };
 mxGraphHierarchyNode.prototype.isVertex = function() {
-    return !0
+  return !0
 };
 mxGraphHierarchyNode.prototype.getGeneralPurposeVariable = function(a) {
-    return this.temp[0]
+  return this.temp[0]
 };
 mxGraphHierarchyNode.prototype.setGeneralPurposeVariable = function(a, b) {
-    this.temp[0] = b
+  this.temp[0] = b
 };
 mxGraphHierarchyNode.prototype.isAncestor = function(a) {
-    if (null != a && null != this.hashCode && null != a.hashCode && this.hashCode.length < a.hashCode.length) {
-        if (this.hashCode == a.hashCode) return !0;
-        if (null == this.hashCode || null == this.hashCode) return !1;
-        for (var b = 0; b < this.hashCode.length; b++)
-            if (this.hashCode[b] != a.hashCode[b]) return !1;
-        return !0
-    }
-    return !1
+  if (null != a && null != this.hashCode && null != a.hashCode && this.hashCode.length < a.hashCode.length) {
+    if (this.hashCode == a.hashCode) return !0;
+    if (null == this.hashCode || null == this.hashCode) return !1;
+    for (var b = 0; b < this.hashCode.length; b++)
+      if (this.hashCode[b] != a.hashCode[b]) return !1;
+    return !0
+  }
+  return !1
 };
 mxGraphHierarchyNode.prototype.getCoreCell = function() {
-    return this.cell
+  return this.cell
 };
 
 function mxGraphHierarchyEdge(a) {
-    mxGraphAbstractHierarchyCell.apply(this, arguments);
-    this.edges = a
+  mxGraphAbstractHierarchyCell.apply(this, arguments);
+  this.edges = a
 }
 mxGraphHierarchyEdge.prototype = new mxGraphAbstractHierarchyCell;
 mxGraphHierarchyEdge.prototype.constructor = mxGraphHierarchyEdge;
@@ -7171,66 +7288,68 @@ mxGraphHierarchyEdge.prototype.source = null;
 mxGraphHierarchyEdge.prototype.target = null;
 mxGraphHierarchyEdge.prototype.isReversed = !1;
 mxGraphHierarchyEdge.prototype.invert = function(a) {
-    a = this.source;
-    this.source = this.target;
-    this.target = a;
-    this.isReversed = !this.isReversed
+  a = this.source;
+  this.source = this.target;
+  this.target = a;
+  this.isReversed = !this.isReversed
 };
 mxGraphHierarchyEdge.prototype.getNextLayerConnectedCells = function(a) {
-    if (null == this.nextLayerConnectedCells) {
-        this.nextLayerConnectedCells = [];
-        for (var b = 0; b < this.temp.length; b++) this.nextLayerConnectedCells[b] = [], b == this.temp.length - 1 ? this.nextLayerConnectedCells[b].push(this.source) : this.nextLayerConnectedCells[b].push(this)
-    }
-    return this.nextLayerConnectedCells[a - this.minRank - 1]
+  if (null == this.nextLayerConnectedCells) {
+    this.nextLayerConnectedCells = [];
+    for (var b = 0; b < this.temp.length; b++) this.nextLayerConnectedCells[b] = [], b == this.temp.length - 1 ? this.nextLayerConnectedCells[b].push(this.source) : this.nextLayerConnectedCells[b].push(
+      this)
+  }
+  return this.nextLayerConnectedCells[a - this.minRank - 1]
 };
 mxGraphHierarchyEdge.prototype.getPreviousLayerConnectedCells = function(a) {
-    if (null == this.previousLayerConnectedCells) {
-        this.previousLayerConnectedCells = [];
-        for (var b = 0; b < this.temp.length; b++) this.previousLayerConnectedCells[b] = [], 0 == b ? this.previousLayerConnectedCells[b].push(this.target) : this.previousLayerConnectedCells[b].push(this)
-    }
-    return this.previousLayerConnectedCells[a - this.minRank - 1]
+  if (null == this.previousLayerConnectedCells) {
+    this.previousLayerConnectedCells = [];
+    for (var b = 0; b < this.temp.length; b++) this.previousLayerConnectedCells[b] = [], 0 == b ? this.previousLayerConnectedCells[b].push(this.target) : this.previousLayerConnectedCells[b].push(
+      this)
+  }
+  return this.previousLayerConnectedCells[a - this.minRank - 1]
 };
 mxGraphHierarchyEdge.prototype.isEdge = function() {
-    return !0
+  return !0
 };
 mxGraphHierarchyEdge.prototype.getGeneralPurposeVariable = function(a) {
-    return this.temp[a - this.minRank - 1]
+  return this.temp[a - this.minRank - 1]
 };
 mxGraphHierarchyEdge.prototype.setGeneralPurposeVariable = function(a, b) {
-    this.temp[a - this.minRank - 1] = b
+  this.temp[a - this.minRank - 1] = b
 };
 mxGraphHierarchyEdge.prototype.getCoreCell = function() {
-    return null != this.edges && 0 < this.edges.length ? this.edges[0] : null
+  return null != this.edges && 0 < this.edges.length ? this.edges[0] : null
 };
 
 function mxGraphHierarchyModel(a, b, c, d, e) {
-    a.getGraph();
-    this.tightenToSource = e;
-    this.roots = c;
-    this.parent = d;
-    this.vertexMapper = {};
-    this.edgeMapper = {};
-    this.maxRank = 0;
-    c = [];
-    null == b && (b = this.graph.getChildVertices(d));
-    this.maxRank = this.SOURCESCANSTARTRANK;
-    this.createInternalCells(a, b, c);
-    for (d = 0; d < b.length; d++) {
-        e = c[d].connectsAsSource;
-        for (var f = 0; f < e.length; f++) {
-            var g = e[f],
-                h = g.edges;
-            if (null != h && 0 < h.length) {
-                var h = h[0],
-                    k = a.getVisibleTerminal(h, !1),
-                    k = mxCellPath.create(k),
-                    k = this.vertexMapper[k];
-                c[d] == k && (k = a.getVisibleTerminal(h, !0), k = mxCellPath.create(k), k = this.vertexMapper[k]);
-                null != k && c[d] != k && (g.target = k, 0 == k.connectsAsTarget.length && (k.connectsAsTarget = []), 0 > mxUtils.indexOf(k.connectsAsTarget, g) && k.connectsAsTarget.push(g))
-            }
-        }
-        c[d].temp[0] = 1
-    }
+  a.getGraph();
+  this.tightenToSource = e;
+  this.roots = c;
+  this.parent = d;
+  this.vertexMapper = {};
+  this.edgeMapper = {};
+  this.maxRank = 0;
+  c = [];
+  null == b && (b = this.graph.getChildVertices(d));
+  this.maxRank = this.SOURCESCANSTARTRANK;
+  this.createInternalCells(a, b, c);
+  for (d = 0; d < b.length; d++) {
+    e = c[d].connectsAsSource;
+    for (var f = 0; f < e.length; f++) {
+      var g = e[f],
+        h = g.edges;
+      if (null != h && 0 < h.length) {
+        var h = h[0],
+          k = a.getVisibleTerminal(h, !1),
+          k = mxCellPath.create(k),
+          k = this.vertexMapper[k];
+        c[d] == k && (k = a.getVisibleTerminal(h, !0), k = mxCellPath.create(k), k = this.vertexMapper[k]);
+        null != k && c[d] != k && (g.target = k, 0 == k.connectsAsTarget.length && (k.connectsAsTarget = []), 0 > mxUtils.indexOf(k.connectsAsTarget, g) && k.connectsAsTarget.push(g))
+      }
+    }
+    c[d].temp[0] = 1
+  }
 }
 mxGraphHierarchyModel.prototype.maxRank = null;
 mxGraphHierarchyModel.prototype.vertexMapper = null;
@@ -7242,136 +7361,137 @@ mxGraphHierarchyModel.prototype.dfsCount = 0;
 mxGraphHierarchyModel.prototype.SOURCESCANSTARTRANK = 1E8;
 mxGraphHierarchyModel.prototype.tightenToSource = !1;
 mxGraphHierarchyModel.prototype.createInternalCells = function(a, b, c) {
-    for (var d = a.getGraph(), e = 0; e < b.length; e++) {
-        c[e] = new mxGraphHierarchyNode(b[e]);
-        var f = mxCellPath.create(b[e]);
-        this.vertexMapper[f] = c[e];
-        f = a.getEdges(b[e]);
-        c[e].connectsAsSource = [];
-        for (var g = 0; g < f.length; g++) {
-            var h = a.getVisibleTerminal(f[g], !1);
-            if (h != b[e] && h != b[e] && a.graph.model.isVertex(h) && !a.isVertexIgnored(h)) {
-                var k = a.getEdgesBetween(b[e], h, !1),
-                    l = a.getEdgesBetween(b[e], h, !0),
-                    h = mxCellPath.create(k[0]);
-                if (null != k && 0 < k.length && null ==
-                    this.edgeMapper[h] && 2 * l.length >= k.length) {
-                    for (var l = new mxGraphHierarchyEdge(k), m = 0; m < k.length; m++) {
-                        var n = k[m],
-                            h = mxCellPath.create(n);
-                        this.edgeMapper[h] = l;
-                        d.resetEdge(n);
-                        a.disableEdgeStyle && (a.setEdgeStyleEnabled(n, !1), a.setOrthogonalEdge(n, !0))
-                    }
-                    l.source = c[e];
-                    0 > mxUtils.indexOf(c[e].connectsAsSource, l) && c[e].connectsAsSource.push(l)
-                }
-            }
+  for (var d = a.getGraph(), e = 0; e < b.length; e++) {
+    c[e] = new mxGraphHierarchyNode(b[e]);
+    var f = mxCellPath.create(b[e]);
+    this.vertexMapper[f] = c[e];
+    f = a.getEdges(b[e]);
+    c[e].connectsAsSource = [];
+    for (var g = 0; g < f.length; g++) {
+      var h = a.getVisibleTerminal(f[g], !1);
+      if (h != b[e] && h != b[e] && a.graph.model.isVertex(h) && !a.isVertexIgnored(h)) {
+        var k = a.getEdgesBetween(b[e], h, !1),
+          l = a.getEdgesBetween(b[e], h, !0),
+          h = mxCellPath.create(k[0]);
+        if (null != k && 0 < k.length && null ==
+          this.edgeMapper[h] && 2 * l.length >= k.length) {
+          for (var l = new mxGraphHierarchyEdge(k), m = 0; m < k.length; m++) {
+            var n = k[m],
+              h = mxCellPath.create(n);
+            this.edgeMapper[h] = l;
+            d.resetEdge(n);
+            a.disableEdgeStyle && (a.setEdgeStyleEnabled(n, !1), a.setOrthogonalEdge(n, !0))
+          }
+          l.source = c[e];
+          0 > mxUtils.indexOf(c[e].connectsAsSource, l) && c[e].connectsAsSource.push(l)
         }
-        c[e].temp[0] = 0
+      }
     }
+    c[e].temp[0] = 0
+  }
 };
 mxGraphHierarchyModel.prototype.initialRank = function() {
-    var a = [];
-    if (null != this.roots)
-        for (var b = 0; b < this.roots.length; b++) {
-            var c = mxCellPath.create(this.roots[b]),
-                c = this.vertexMapper[c];
-            null != c && a.push(c)
-        }
-    for (var d in this.vertexMapper) c = this.vertexMapper[d], c.temp[0] = -1;
-    for (var e = a.slice(); 0 < a.length;) {
-        var c = a[0],
-            f, g;
-        f = c.connectsAsTarget;
-        g = c.connectsAsSource;
-        for (var h = !0, k = this.SOURCESCANSTARTRANK, b = 0; b < f.length; b++) {
-            var l = f[b];
-            if (5270620 == l.temp[0]) l = l.source, k = Math.min(k, l.temp[0] - 1);
-            else {
-                h = !1;
-                break
-            }
-        }
-        if (h) {
-            c.temp[0] =
-                k;
-            this.maxRank = Math.min(this.maxRank, k);
-            if (null != g)
-                for (b = 0; b < g.length; b++) l = g[b], l.temp[0] = 5270620, l = l.target, -1 == l.temp[0] && (a.push(l), l.temp[0] = -2);
-            a.shift()
-        } else if (b = a.shift(), a.push(c), b == c && 1 == a.length) break
-    }
-    for (d in this.vertexMapper) c = this.vertexMapper[d], c.temp[0] -= this.maxRank;
-    for (b = 0; b < e.length; b++) {
-        c = e[b];
-        a = 0;
-        f = c.connectsAsSource;
-        for (d = 0; d < f.length; d++) l = f[d], l = l.target, c.temp[0] = Math.max(a, l.temp[0] + 1), a = c.temp[0]
-    }
-    this.maxRank = this.SOURCESCANSTARTRANK - this.maxRank
+  var a = [];
+  if (null != this.roots)
+    for (var b = 0; b < this.roots.length; b++) {
+      var c = mxCellPath.create(this.roots[b]),
+        c = this.vertexMapper[c];
+      null != c && a.push(c)
+    }
+  for (var d in this.vertexMapper) c = this.vertexMapper[d], c.temp[0] = -1;
+  for (var e = a.slice(); 0 < a.length;) {
+    var c = a[0],
+      f, g;
+    f = c.connectsAsTarget;
+    g = c.connectsAsSource;
+    for (var h = !0, k = this.SOURCESCANSTARTRANK, b = 0; b < f.length; b++) {
+      var l = f[b];
+      if (5270620 == l.temp[0]) l = l.source, k = Math.min(k, l.temp[0] - 1);
+      else {
+        h = !1;
+        break
+      }
+    }
+    if (h) {
+      c.temp[0] =
+        k;
+      this.maxRank = Math.min(this.maxRank, k);
+      if (null != g)
+        for (b = 0; b < g.length; b++) l = g[b], l.temp[0] = 5270620, l = l.target, -1 == l.temp[0] && (a.push(l), l.temp[0] = -2);
+      a.shift()
+    } else if (b = a.shift(), a.push(c), b == c && 1 == a.length) break
+  }
+  for (d in this.vertexMapper) c = this.vertexMapper[d], c.temp[0] -= this.maxRank;
+  for (b = 0; b < e.length; b++) {
+    c = e[b];
+    a = 0;
+    f = c.connectsAsSource;
+    for (d = 0; d < f.length; d++) l = f[d], l = l.target, c.temp[0] = Math.max(a, l.temp[0] + 1), a = c.temp[0]
+  }
+  this.maxRank = this.SOURCESCANSTARTRANK - this.maxRank
 };
 mxGraphHierarchyModel.prototype.fixRanks = function() {
-    var a = [];
-    this.ranks = [];
-    for (var b = 0; b < this.maxRank + 1; b++) a[b] = [], this.ranks[b] = a[b];
-    var c = null;
-    if (null != this.roots)
-        for (var d = this.roots, c = [], b = 0; b < d.length; b++) {
-            var e = mxCellPath.create(d[b]);
-            c[b] = this.vertexMapper[e]
-        }
-    this.visit(function(b, c, d, e, l) {
-        0 == l && (0 > c.maxRank && 0 > c.minRank) && (a[c.temp[0]].push(c), c.maxRank = c.temp[0], c.minRank = c.temp[0], c.temp[0] = a[c.maxRank].length - 1);
-        if (null != b && null != d && 1 < b.maxRank - c.maxRank) {
-            d.maxRank = b.maxRank;
-            d.minRank =
-                c.maxRank;
-            d.temp = [];
-            d.x = [];
-            d.y = [];
-            for (b = d.minRank + 1; b < d.maxRank; b++) a[b].push(d), d.setGeneralPurposeVariable(b, a[b].length - 1)
-        }
-    }, c, !1, null)
+  var a = [];
+  this.ranks = [];
+  for (var b = 0; b < this.maxRank + 1; b++) a[b] = [], this.ranks[b] = a[b];
+  var c = null;
+  if (null != this.roots)
+    for (var d = this.roots, c = [], b = 0; b < d.length; b++) {
+      var e = mxCellPath.create(d[b]);
+      c[b] = this.vertexMapper[e]
+    }
+  this.visit(function(b, c, d, e, l) {
+    0 == l && (0 > c.maxRank && 0 > c.minRank) && (a[c.temp[0]].push(c), c.maxRank = c.temp[0], c.minRank = c.temp[0], c.temp[0] = a[c.maxRank].length - 1);
+    if (null != b && null != d && 1 < b.maxRank - c.maxRank) {
+      d.maxRank = b.maxRank;
+      d.minRank =
+        c.maxRank;
+      d.temp = [];
+      d.x = [];
+      d.y = [];
+      for (b = d.minRank + 1; b < d.maxRank; b++) a[b].push(d), d.setGeneralPurposeVariable(b, a[b].length - 1)
+    }
+  }, c, !1, null)
 };
 mxGraphHierarchyModel.prototype.visit = function(a, b, c, d) {
-    if (null != b) {
-        for (var e = 0; e < b.length; e++) {
-            var f = b[e];
-            null != f && (null == d && (d = {}), c ? (f.hashCode = [], f.hashCode[0] = this.dfsCount, f.hashCode[1] = e, this.extendedDfs(null, f, null, a, d, f.hashCode, e, 0)) : this.dfs(null, f, null, a, d, 0))
-        }
-        this.dfsCount++
+  if (null != b) {
+    for (var e = 0; e < b.length; e++) {
+      var f = b[e];
+      null != f && (null == d && (d = {}), c ? (f.hashCode = [], f.hashCode[0] = this.dfsCount, f.hashCode[1] = e, this.extendedDfs(null, f, null, a, d, f.hashCode, e, 0)) : this.dfs(null, f, null,
+        a, d, 0))
     }
+    this.dfsCount++
+  }
 };
 mxGraphHierarchyModel.prototype.dfs = function(a, b, c, d, e, f) {
-    if (null != b) {
-        var g = mxCellPath.create(b.cell);
-        if (null == e[g]) {
-            e[g] = b;
-            d(a, b, c, f, 0);
-            a = b.connectsAsSource.slice();
-            for (c = 0; c < a.length; c++) g = a[c], this.dfs(b, g.target, g, d, e, f + 1)
-        } else d(a, b, c, f, 1)
-    }
+  if (null != b) {
+    var g = mxCellPath.create(b.cell);
+    if (null == e[g]) {
+      e[g] = b;
+      d(a, b, c, f, 0);
+      a = b.connectsAsSource.slice();
+      for (c = 0; c < a.length; c++) g = a[c], this.dfs(b, g.target, g, d, e, f + 1)
+    } else d(a, b, c, f, 1)
+  }
 };
 mxGraphHierarchyModel.prototype.extendedDfs = function(a, b, c, d, e, f, g, h) {
-    if (null != b) {
-        if (null != a && (null == b.hashCode || b.hashCode[0] != a.hashCode[0])) f = a.hashCode.length + 1, b.hashCode = a.hashCode.slice(), b.hashCode[f - 1] = g;
-        g = mxCellPath.create(b.cell);
-        if (null == e[g]) {
-            e[g] = b;
-            d(a, b, c, h, 0);
-            a = b.connectsAsSource.slice();
-            for (c = 0; c < a.length; c++) g = a[c], this.extendedDfs(b, g.target, g, d, e, b.hashCode, c, h + 1)
-        } else d(a, b, c, h, 1)
-    }
+  if (null != b) {
+    if (null != a && (null == b.hashCode || b.hashCode[0] != a.hashCode[0])) f = a.hashCode.length + 1, b.hashCode = a.hashCode.slice(), b.hashCode[f - 1] = g;
+    g = mxCellPath.create(b.cell);
+    if (null == e[g]) {
+      e[g] = b;
+      d(a, b, c, h, 0);
+      a = b.connectsAsSource.slice();
+      for (c = 0; c < a.length; c++) g = a[c], this.extendedDfs(b, g.target, g, d, e, b.hashCode, c, h + 1)
+    } else d(a, b, c, h, 1)
+  }
 };
 
 function mxHierarchicalLayoutStage() {}
 mxHierarchicalLayoutStage.prototype.execute = function(a) {};
 
 function mxMedianHybridCrossingReduction(a) {
-    this.layout = a
+  this.layout = a
 }
 mxMedianHybridCrossingReduction.prototype = new mxHierarchicalLayoutStage;
 mxMedianHybridCrossingReduction.prototype.constructor = mxMedianHybridCrossingReduction;
@@ -7382,189 +7502,189 @@ mxMedianHybridCrossingReduction.prototype.currentBestCrossings = 0;
 mxMedianHybridCrossingReduction.prototype.iterationsWithoutImprovement = 0;
 mxMedianHybridCrossingReduction.prototype.maxNoImprovementIterations = 2;
 mxMedianHybridCrossingReduction.prototype.execute = function(a) {
-    a = this.layout.getModel();
-    this.nestedBestRanks = [];
-    for (var b = 0; b < a.ranks.length; b++) this.nestedBestRanks[b] = a.ranks[b].slice();
-    for (var c = 0, d = this.calculateCrossings(a), b = 0; b < this.maxIterations && c < this.maxNoImprovementIterations; b++) {
-        this.weightedMedian(b, a);
-        this.transpose(b, a);
-        var e = this.calculateCrossings(a);
-        if (e < d) {
-            d = e;
-            for (e = c = 0; e < this.nestedBestRanks.length; e++)
-                for (var f = a.ranks[e], g = 0; g < f.length; g++) {
-                    var h = f[g];
-                    this.nestedBestRanks[e][h.getGeneralPurposeVariable(e)] =
-                        h
-                }
-        } else {
-            c++;
-            for (e = 0; e < this.nestedBestRanks.length; e++) {
-                f = a.ranks[e];
-                for (g = 0; g < f.length; g++) h = f[g], h.setGeneralPurposeVariable(e, g)
-            }
+  a = this.layout.getModel();
+  this.nestedBestRanks = [];
+  for (var b = 0; b < a.ranks.length; b++) this.nestedBestRanks[b] = a.ranks[b].slice();
+  for (var c = 0, d = this.calculateCrossings(a), b = 0; b < this.maxIterations && c < this.maxNoImprovementIterations; b++) {
+    this.weightedMedian(b, a);
+    this.transpose(b, a);
+    var e = this.calculateCrossings(a);
+    if (e < d) {
+      d = e;
+      for (e = c = 0; e < this.nestedBestRanks.length; e++)
+        for (var f = a.ranks[e], g = 0; g < f.length; g++) {
+          var h = f[g];
+          this.nestedBestRanks[e][h.getGeneralPurposeVariable(e)] =
+            h
         }
-        if (0 == d) break
-    }
-    c = [];
-    d = [];
-    for (b = 0; b < a.maxRank + 1; b++) d[b] = [], c[b] = d[b];
-    for (b = 0; b < this.nestedBestRanks.length; b++)
-        for (e = 0; e < this.nestedBestRanks[b].length; e++) d[b].push(this.nestedBestRanks[b][e]);
-    a.ranks = c
+    } else {
+      c++;
+      for (e = 0; e < this.nestedBestRanks.length; e++) {
+        f = a.ranks[e];
+        for (g = 0; g < f.length; g++) h = f[g], h.setGeneralPurposeVariable(e, g)
+      }
+    }
+    if (0 == d) break
+  }
+  c = [];
+  d = [];
+  for (b = 0; b < a.maxRank + 1; b++) d[b] = [], c[b] = d[b];
+  for (b = 0; b < this.nestedBestRanks.length; b++)
+    for (e = 0; e < this.nestedBestRanks[b].length; e++) d[b].push(this.nestedBestRanks[b][e]);
+  a.ranks = c
 };
 mxMedianHybridCrossingReduction.prototype.calculateCrossings = function(a) {
-    for (var b = a.ranks.length, c = 0, d = 1; d < b; d++) c += this.calculateRankCrossing(d, a);
-    return c
+  for (var b = a.ranks.length, c = 0, d = 1; d < b; d++) c += this.calculateRankCrossing(d, a);
+  return c
 };
 mxMedianHybridCrossingReduction.prototype.calculateRankCrossing = function(a, b) {
-    for (var c = 0, d = b.ranks[a], e = d.length, f = b.ranks[a - 1].length, g = [], h = 0; h < e; h++) g[h] = [];
-    for (h = 0; h < d.length; h++)
-        for (var k = d[h], l = k.getGeneralPurposeVariable(a), m = k.getPreviousLayerConnectedCells(a), k = 0; k < m.length; k++) {
-            var n = m[k].getGeneralPurposeVariable(a - 1);
-            g[l][n] = 201207
-        }
-    for (h = 0; h < e; h++)
-        for (k = 0; k < f; k++)
-            if (201207 == g[h][k]) {
-                for (d = h + 1; d < e; d++)
-                    for (l = 0; l < k; l++) 201207 == g[d][l] && c++;
-                for (d = 0; d < h; d++)
-                    for (l = k + 1; l < f; l++) 201207 == g[d][l] &&
-                        c++
-            }
-    return c / 2
+  for (var c = 0, d = b.ranks[a], e = d.length, f = b.ranks[a - 1].length, g = [], h = 0; h < e; h++) g[h] = [];
+  for (h = 0; h < d.length; h++)
+    for (var k = d[h], l = k.getGeneralPurposeVariable(a), m = k.getPreviousLayerConnectedCells(a), k = 0; k < m.length; k++) {
+      var n = m[k].getGeneralPurposeVariable(a - 1);
+      g[l][n] = 201207
+    }
+  for (h = 0; h < e; h++)
+    for (k = 0; k < f; k++)
+      if (201207 == g[h][k]) {
+        for (d = h + 1; d < e; d++)
+          for (l = 0; l < k; l++) 201207 == g[d][l] && c++;
+        for (d = 0; d < h; d++)
+          for (l = k + 1; l < f; l++) 201207 == g[d][l] &&
+            c++
+      }
+  return c / 2
 };
 mxMedianHybridCrossingReduction.prototype.transpose = function(a, b) {
-    for (var c = !0, d = 0; c && 10 > d++;)
-        for (var e = 1 == a % 2 && 1 == d % 2, c = !1, f = 0; f < b.ranks.length; f++) {
-            for (var g = b.ranks[f], h = [], k = 0; k < g.length; k++) {
-                var l = g[k],
-                    m = l.getGeneralPurposeVariable(f);
-                0 > m && (m = k);
-                h[m] = l
-            }
-            for (var n = m = l = null, p = null, q = null, s = null, r = null, t = null, v = null, w = null, k = 0; k < g.length - 1; k++) {
-                if (0 == k) {
-                    for (var v = h[k], l = v.getNextLayerConnectedCells(f), m = v.getPreviousLayerConnectedCells(f), q = [], s = [], u = 0; u < l.length; u++) q[u] = l[u].getGeneralPurposeVariable(f + 1);
-                    for (u = 0; u < m.length; u++) s[u] = m[u].getGeneralPurposeVariable(f - 1)
-                } else l = n, m = p, q = r, s = t, v = w;
-                w = h[k + 1];
-                n = w.getNextLayerConnectedCells(f);
-                p = w.getPreviousLayerConnectedCells(f);
-                r = [];
-                t = [];
-                for (u = 0; u < n.length; u++) r[u] = n[u].getGeneralPurposeVariable(f + 1);
-                for (u = 0; u < p.length; u++) t[u] = p[u].getGeneralPurposeVariable(f - 1);
-                for (var y = 0, z = 0, u = 0; u < q.length; u++)
-                    for (var x = 0; x < r.length; x++) q[u] > r[x] && y++, q[u] < r[x] && z++;
-                for (u = 0; u < s.length; u++)
-                    for (x = 0; x < t.length; x++) s[u] > t[x] && y++, s[u] < t[x] && z++;
-                if (z < y || z == y && e) n = v.getGeneralPurposeVariable(f),
-                    v.setGeneralPurposeVariable(f, w.getGeneralPurposeVariable(f)), w.setGeneralPurposeVariable(f, n), n = l, p = m, r = q, t = s, w = v, e || (c = !0)
-            }
-        }
+  for (var c = !0, d = 0; c && 10 > d++;)
+    for (var e = 1 == a % 2 && 1 == d % 2, c = !1, f = 0; f < b.ranks.length; f++) {
+      for (var g = b.ranks[f], h = [], k = 0; k < g.length; k++) {
+        var l = g[k],
+          m = l.getGeneralPurposeVariable(f);
+        0 > m && (m = k);
+        h[m] = l
+      }
+      for (var n = m = l = null, p = null, q = null, s = null, r = null, t = null, v = null, w = null, k = 0; k < g.length - 1; k++) {
+        if (0 == k) {
+          for (var v = h[k], l = v.getNextLayerConnectedCells(f), m = v.getPreviousLayerConnectedCells(f), q = [], s = [], u = 0; u < l.length; u++) q[u] = l[u].getGeneralPurposeVariable(f + 1);
+          for (u = 0; u < m.length; u++) s[u] = m[u].getGeneralPurposeVariable(f - 1)
+        } else l = n, m = p, q = r, s = t, v = w;
+        w = h[k + 1];
+        n = w.getNextLayerConnectedCells(f);
+        p = w.getPreviousLayerConnectedCells(f);
+        r = [];
+        t = [];
+        for (u = 0; u < n.length; u++) r[u] = n[u].getGeneralPurposeVariable(f + 1);
+        for (u = 0; u < p.length; u++) t[u] = p[u].getGeneralPurposeVariable(f - 1);
+        for (var y = 0, z = 0, u = 0; u < q.length; u++)
+          for (var x = 0; x < r.length; x++) q[u] > r[x] && y++, q[u] < r[x] && z++;
+        for (u = 0; u < s.length; u++)
+          for (x = 0; x < t.length; x++) s[u] > t[x] && y++, s[u] < t[x] && z++;
+        if (z < y || z == y && e) n = v.getGeneralPurposeVariable(f),
+          v.setGeneralPurposeVariable(f, w.getGeneralPurposeVariable(f)), w.setGeneralPurposeVariable(f, n), n = l, p = m, r = q, t = s, w = v, e || (c = !0)
+      }
+    }
 };
 mxMedianHybridCrossingReduction.prototype.weightedMedian = function(a, b) {
-    var c = 0 == a % 2;
-    if (c)
-        for (var d = b.maxRank - 1; 0 <= d; d--) this.medianRank(d, c);
-    else
-        for (d = 1; d < b.maxRank; d++) this.medianRank(d, c)
+  var c = 0 == a % 2;
+  if (c)
+    for (var d = b.maxRank - 1; 0 <= d; d--) this.medianRank(d, c);
+  else
+    for (d = 1; d < b.maxRank; d++) this.medianRank(d, c)
 };
 mxMedianHybridCrossingReduction.prototype.medianRank = function(a, b) {
-    for (var c = this.nestedBestRanks[a].length, d = [], e = [], f = 0; f < c; f++) {
-        var g = this.nestedBestRanks[a][f],
-            h = new MedianCellSorter;
-        h.cell = g;
-        var k;
-        k = b ? g.getNextLayerConnectedCells(a) : g.getPreviousLayerConnectedCells(a);
-        var l;
-        l = b ? a + 1 : a - 1;
-        null != k && 0 != k.length ? (h.medianValue = this.medianValue(k, l), d.push(h)) : e[g.getGeneralPurposeVariable(a)] = !0
-    }
-    d.sort(MedianCellSorter.prototype.compare);
-    for (f = 0; f < c; f++) null == e[f] && (g = d.shift().cell, g.setGeneralPurposeVariable(a,
-        f))
+  for (var c = this.nestedBestRanks[a].length, d = [], e = [], f = 0; f < c; f++) {
+    var g = this.nestedBestRanks[a][f],
+      h = new MedianCellSorter;
+    h.cell = g;
+    var k;
+    k = b ? g.getNextLayerConnectedCells(a) : g.getPreviousLayerConnectedCells(a);
+    var l;
+    l = b ? a + 1 : a - 1;
+    null != k && 0 != k.length ? (h.medianValue = this.medianValue(k, l), d.push(h)) : e[g.getGeneralPurposeVariable(a)] = !0
+  }
+  d.sort(MedianCellSorter.prototype.compare);
+  for (f = 0; f < c; f++) null == e[f] && (g = d.shift().cell, g.setGeneralPurposeVariable(a,
+    f))
 };
 mxMedianHybridCrossingReduction.prototype.medianValue = function(a, b) {
-    for (var c = [], d = 0, e = 0; e < a.length; e++) {
-        var f = a[e];
-        c[d++] = f.getGeneralPurposeVariable(b)
-    }
-    c.sort(function(a, b) {
-        return a - b
-    });
-    if (1 == d % 2) return c[Math.floor(d / 2)];
-    if (2 == d) return (c[0] + c[1]) / 2;
-    e = d / 2;
-    f = c[e - 1] - c[0];
-    d = c[d - 1] - c[e];
-    return (c[e - 1] * d + c[e] * f) / (f + d)
+  for (var c = [], d = 0, e = 0; e < a.length; e++) {
+    var f = a[e];
+    c[d++] = f.getGeneralPurposeVariable(b)
+  }
+  c.sort(function(a, b) {
+    return a - b
+  });
+  if (1 == d % 2) return c[Math.floor(d / 2)];
+  if (2 == d) return (c[0] + c[1]) / 2;
+  e = d / 2;
+  f = c[e - 1] - c[0];
+  d = c[d - 1] - c[e];
+  return (c[e - 1] * d + c[e] * f) / (f + d)
 };
 
 function MedianCellSorter() {}
 MedianCellSorter.prototype.medianValue = 0;
 MedianCellSorter.prototype.cell = !1;
 MedianCellSorter.prototype.compare = function(a, b) {
-    return null != a && null != b ? b.medianValue > a.medianValue ? -1 : b.medianValue < a.medianValue ? 1 : 0 : 0
+  return null != a && null != b ? b.medianValue > a.medianValue ? -1 : b.medianValue < a.medianValue ? 1 : 0 : 0
 };
 
 function mxMinimumCycleRemover(a) {
-    this.layout = a
+  this.layout = a
 }
 mxMinimumCycleRemover.prototype = new mxHierarchicalLayoutStage;
 mxMinimumCycleRemover.prototype.constructor = mxMinimumCycleRemover;
 mxMinimumCycleRemover.prototype.layout = null;
 mxMinimumCycleRemover.prototype.execute = function(a) {
-    var b = this.layout.getModel(),
-        c = {},
-        d = mxUtils.clone(b.vertexMapper, null, !0),
-        e = null;
-    if (null != b.roots) {
-        var f = b.roots,
-            e = [];
-        for (a = 0; a < f.length; a++) {
-            var g = mxCellPath.create(f[a]);
-            e[a] = b.vertexMapper[g]
-        }
-    }
-    b.visit(function(a, b, e, f, g) {
-        b.isAncestor(a) && (e.invert(), mxUtils.remove(e, a.connectsAsSource), a.connectsAsTarget.push(e), mxUtils.remove(e, b.connectsAsTarget), b.connectsAsSource.push(e));
-        a = mxCellPath.create(b.cell);
-        c[a] = b;
-        delete d[a]
-    }, e, !0, null);
+  var b = this.layout.getModel(),
+    c = {},
+    d = mxUtils.clone(b.vertexMapper, null, !0),
     e = null;
-    0 <
-        d.lenth && (e = mxUtils.clone(d, null, !0));
-    a = mxUtils.clone(c, null, !0);
-    b.visit(function(a, b, e, f, g) {
-        b.isAncestor(a) && (e.invert(), mxUtils.remove(e, a.connectsAsSource), b.connectsAsSource.push(e), a.connectsAsTarget.push(e), mxUtils.remove(e, b.connectsAsTarget));
-        a = mxCellPath.create(b.cell);
-        c[a] = b;
-        delete d[a]
-    }, d, !0, a);
-    f = this.layout.getGraph();
-    if (null != e && 0 < e.length) {
-        b = b.roots;
-        for (a = 0; a < e.length; a++) g = e[a].cell, 0 == f.getIncomingEdges(g).length && b.push(g)
-    }
+  if (null != b.roots) {
+    var f = b.roots,
+      e = [];
+    for (a = 0; a < f.length; a++) {
+      var g = mxCellPath.create(f[a]);
+      e[a] = b.vertexMapper[g]
+    }
+  }
+  b.visit(function(a, b, e, f, g) {
+    b.isAncestor(a) && (e.invert(), mxUtils.remove(e, a.connectsAsSource), a.connectsAsTarget.push(e), mxUtils.remove(e, b.connectsAsTarget), b.connectsAsSource.push(e));
+    a = mxCellPath.create(b.cell);
+    c[a] = b;
+    delete d[a]
+  }, e, !0, null);
+  e = null;
+  0 <
+    d.lenth && (e = mxUtils.clone(d, null, !0));
+  a = mxUtils.clone(c, null, !0);
+  b.visit(function(a, b, e, f, g) {
+    b.isAncestor(a) && (e.invert(), mxUtils.remove(e, a.connectsAsSource), b.connectsAsSource.push(e), a.connectsAsTarget.push(e), mxUtils.remove(e, b.connectsAsTarget));
+    a = mxCellPath.create(b.cell);
+    c[a] = b;
+    delete d[a]
+  }, d, !0, a);
+  f = this.layout.getGraph();
+  if (null != e && 0 < e.length) {
+    b = b.roots;
+    for (a = 0; a < e.length; a++) g = e[a].cell, 0 == f.getIncomingEdges(g).length && b.push(g)
+  }
 };
 
 function mxCoordinateAssignment(a, b, c, d, e, f) {
-    this.layout = a;
-    this.intraCellSpacing = b;
-    this.interRankCellSpacing = c;
-    this.orientation = d;
-    this.initialX = e;
-    this.parallelEdgeSpacing = f
+  this.layout = a;
+  this.intraCellSpacing = b;
+  this.interRankCellSpacing = c;
+  this.orientation = d;
+  this.initialX = e;
+  this.parallelEdgeSpacing = f
 }
 var mxHierarchicalEdgeStyle = {
-    ORTHOGONAL: 1,
-    POLYLINE: 2,
-    STRAIGHT: 3,
-    CURVE: 4
+  ORTHOGONAL: 1,
+  POLYLINE: 2,
+  STRAIGHT: 3,
+  CURVE: 4
 };
 mxCoordinateAssignment.prototype = new mxHierarchicalLayoutStage;
 mxCoordinateAssignment.prototype.constructor = mxCoordinateAssignment;
@@ -7594,388 +7714,399 @@ mxCoordinateAssignment.prototype.nextLayerConnectedCache = null;
 mxCoordinateAssignment.prototype.previousLayerConnectedCache = null;
 mxCoordinateAssignment.prototype.groupPadding = 10;
 mxCoordinateAssignment.prototype.printStatus = function() {
-    var a = this.layout.getModel();
-    mxLog.show();
-    mxLog.writeln("\x3d\x3d\x3d\x3d\x3d\x3dCoord assignment debug\x3d\x3d\x3d\x3d\x3d\x3d\x3d");
-    for (var b = 0; b < a.ranks.length; b++) {
-        mxLog.write("Rank ", b, " : ");
-        for (var c = a.ranks[b], d = 0; d < c.length; d++) mxLog.write(c[d].getGeneralPurposeVariable(b), "  ");
-        mxLog.writeln()
-    }
-    mxLog.writeln("\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d")
+  var a = this.layout.getModel();
+  mxLog.show();
+  mxLog.writeln("\x3d\x3d\x3d\x3d\x3d\x3dCoord assignment debug\x3d\x3d\x3d\x3d\x3d\x3d\x3d");
+  for (var b = 0; b < a.ranks.length; b++) {
+    mxLog.write("Rank ", b, " : ");
+    for (var c = a.ranks[b], d = 0; d < c.length; d++) mxLog.write(c[d].getGeneralPurposeVariable(b), "  ");
+    mxLog.writeln()
+  }
+  mxLog.writeln("\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d")
 };
 mxCoordinateAssignment.prototype.execute = function(a) {
-    this.jettyPositions = [];
-    a = this.layout.getModel();
-    this.currentXDelta = 0;
-    this.initialCoords(this.layout.getGraph(), a);
-    this.fineTuning && this.minNode(a);
-    var b = 1E8;
-    if (this.fineTuning)
-        for (var c = 0; c < this.maxIterations; c++) {
-            0 != c && (this.medianPos(c, a), this.minNode(a));
-            if (this.currentXDelta < b) {
-                for (var d = 0; d < a.ranks.length; d++)
-                    for (var e = a.ranks[d], f = 0; f < e.length; f++) {
-                        var g = e[f];
-                        g.setX(d, g.getGeneralPurposeVariable(d))
-                    }
-                b = this.currentXDelta
-            } else
-                for (d = 0; d < a.ranks.length; d++) {
-                    e =
-                        a.ranks[d];
-                    for (f = 0; f < e.length; f++) g = e[f], g.setGeneralPurposeVariable(d, g.getX(d))
-                }
-            this.minPath(this.layout.getGraph(), a);
-            this.currentXDelta = 0
+  this.jettyPositions = [];
+  a = this.layout.getModel();
+  this.currentXDelta = 0;
+  this.initialCoords(this.layout.getGraph(), a);
+  this.fineTuning && this.minNode(a);
+  var b = 1E8;
+  if (this.fineTuning)
+    for (var c = 0; c < this.maxIterations; c++) {
+      0 != c && (this.medianPos(c, a), this.minNode(a));
+      if (this.currentXDelta < b) {
+        for (var d = 0; d < a.ranks.length; d++)
+          for (var e = a.ranks[d], f = 0; f < e.length; f++) {
+            var g = e[f];
+            g.setX(d, g.getGeneralPurposeVariable(d))
+          }
+        b = this.currentXDelta
+      } else
+        for (d = 0; d < a.ranks.length; d++) {
+          e =
+            a.ranks[d];
+          for (f = 0; f < e.length; f++) g = e[f], g.setGeneralPurposeVariable(d, g.getX(d))
         }
-    this.setCellLocations(this.layout.getGraph(), a)
+      this.minPath(this.layout.getGraph(), a);
+      this.currentXDelta = 0
+    }
+  this.setCellLocations(this.layout.getGraph(), a)
 };
 mxCoordinateAssignment.prototype.minNode = function(a) {
-    for (var b = [], c = [], d = [], e = 0; e <= a.maxRank; e++) {
-        d[e] = a.ranks[e];
-        for (var f = 0; f < d[e].length; f++) {
-            var g = d[e][f],
-                h = new WeightedCellSorter(g, e);
-            h.rankIndex = f;
-            h.visited = !0;
-            b.push(h);
-            g = mxCellPath.create(g.getCoreCell());
-            c[g] = h
-        }
-    }
-    a = 10 * b.length;
-    for (f = 0; 0 < b.length && f <= a;) {
-        var h = b.shift(),
-            e = h.cell,
-            k = h.weightedValue,
-            l = parseInt(h.rankIndex),
-            g = e.getNextLayerConnectedCells(k),
-            m = e.getPreviousLayerConnectedCells(k),
-            n = g.length,
-            p = m.length,
-            q = this.medianXValue(g, k + 1),
-            s =
-            this.medianXValue(m, k - 1),
-            r = n + p,
-            t = e.getGeneralPurposeVariable(k),
-            v = t;
-        0 < r && (v = (q * n + s * p) / r);
-        n = !1;
-        v < t - 1 ? 0 == l ? (e.setGeneralPurposeVariable(k, v), n = !0) : (l = d[k][l - 1], t = l.getGeneralPurposeVariable(k), t = t + l.width / 2 + this.intraCellSpacing + e.width / 2, t < v ? (e.setGeneralPurposeVariable(k, v), n = !0) : t < e.getGeneralPurposeVariable(k) - 1 && (e.setGeneralPurposeVariable(k, t), n = !0)) : v > t + 1 && (l == d[k].length - 1 ? (e.setGeneralPurposeVariable(k, v), n = !0) : (l = d[k][l + 1], t = l.getGeneralPurposeVariable(k), t = t - l.width / 2 - this.intraCellSpacing -
-            e.width / 2, t > v ? (e.setGeneralPurposeVariable(k, v), n = !0) : t > e.getGeneralPurposeVariable(k) + 1 && (e.setGeneralPurposeVariable(k, t), n = !0)));
-        if (n) {
-            for (e = 0; e < g.length; e++) k = g[e], k = mxCellPath.create(k.getCoreCell()), k = c[k], null != k && !1 == k.visited && (k.visited = !0, b.push(k));
-            for (e = 0; e < m.length; e++) k = m[e], k = mxCellPath.create(k.getCoreCell()), k = c[k], null != k && !1 == k.visited && (k.visited = !0, b.push(k))
-        }
-        h.visited = !1;
-        f++
-    }
+  for (var b = [], c = [], d = [], e = 0; e <= a.maxRank; e++) {
+    d[e] = a.ranks[e];
+    for (var f = 0; f < d[e].length; f++) {
+      var g = d[e][f],
+        h = new WeightedCellSorter(g, e);
+      h.rankIndex = f;
+      h.visited = !0;
+      b.push(h);
+      g = mxCellPath.create(g.getCoreCell());
+      c[g] = h
+    }
+  }
+  a = 10 * b.length;
+  for (f = 0; 0 < b.length && f <= a;) {
+    var h = b.shift(),
+      e = h.cell,
+      k = h.weightedValue,
+      l = parseInt(h.rankIndex),
+      g = e.getNextLayerConnectedCells(k),
+      m = e.getPreviousLayerConnectedCells(k),
+      n = g.length,
+      p = m.length,
+      q = this.medianXValue(g, k + 1),
+      s =
+      this.medianXValue(m, k - 1),
+      r = n + p,
+      t = e.getGeneralPurposeVariable(k),
+      v = t;
+    0 < r && (v = (q * n + s * p) / r);
+    n = !1;
+    v < t - 1 ? 0 == l ? (e.setGeneralPurposeVariable(k, v), n = !0) : (l = d[k][l - 1], t = l.getGeneralPurposeVariable(k), t = t + l.width / 2 + this.intraCellSpacing + e.width / 2, t < v ? (e.setGeneralPurposeVariable(
+      k, v), n = !0) : t < e.getGeneralPurposeVariable(k) - 1 && (e.setGeneralPurposeVariable(k, t), n = !0)) : v > t + 1 && (l == d[k].length - 1 ? (e.setGeneralPurposeVariable(k, v), n = !0) :
+      (l = d[k][l + 1], t = l.getGeneralPurposeVariable(k), t = t - l.width / 2 - this.intraCellSpacing -
+        e.width / 2, t > v ? (e.setGeneralPurposeVariable(k, v), n = !0) : t > e.getGeneralPurposeVariable(k) + 1 && (e.setGeneralPurposeVariable(k, t), n = !0)));
+    if (n) {
+      for (e = 0; e < g.length; e++) k = g[e], k = mxCellPath.create(k.getCoreCell()), k = c[k], null != k && !1 == k.visited && (k.visited = !0, b.push(k));
+      for (e = 0; e < m.length; e++) k = m[e], k = mxCellPath.create(k.getCoreCell()), k = c[k], null != k && !1 == k.visited && (k.visited = !0, b.push(k))
+    }
+    h.visited = !1;
+    f++
+  }
 };
 mxCoordinateAssignment.prototype.medianPos = function(a, b) {
-    if (0 == a % 2)
-        for (var c = b.maxRank; 0 < c; c--) this.rankMedianPosition(c - 1, b, c);
-    else
-        for (c = 0; c < b.maxRank - 1; c++) this.rankMedianPosition(c + 1, b, c)
+  if (0 == a % 2)
+    for (var c = b.maxRank; 0 < c; c--) this.rankMedianPosition(c - 1, b, c);
+  else
+    for (c = 0; c < b.maxRank - 1; c++) this.rankMedianPosition(c + 1, b, c)
 };
 mxCoordinateAssignment.prototype.rankMedianPosition = function(a, b, c) {
-    b = b.ranks[a];
-    for (var d = [], e = [], f = 0; f < b.length; f++) {
-        var g = b[f];
-        d[f] = new WeightedCellSorter;
-        d[f].cell = g;
-        d[f].rankIndex = f;
-        var h = mxCellPath.create(g.getCoreCell());
-        e[h] = d[f];
-        var k = null,
-            k = c < a ? g.getPreviousLayerConnectedCells(a) : g.getNextLayerConnectedCells(a);
-        d[f].weightedValue = this.calculatedWeightedValue(g, k)
-    }
-    d.sort(WeightedCellSorter.prototype.compare);
-    for (f = 0; f < d.length; f++) {
-        h = 0;
-        g = d[f].cell;
-        h = 0;
-        k = c < a ? g.getPreviousLayerConnectedCells(a).slice() :
-            g.getNextLayerConnectedCells(a).slice();
-        null != k && (h = k.length, h = 0 < h ? this.medianXValue(k, c) : g.getGeneralPurposeVariable(a));
-        for (var l = 0, k = -1E8, m = d[f].rankIndex - 1; 0 <= m;) {
-            var n = mxCellPath.create(b[m].getCoreCell()),
-                n = e[n];
-            if (null != n) {
-                var p = n.cell;
-                n.visited ? (k = p.getGeneralPurposeVariable(a) + p.width / 2 + this.intraCellSpacing + l + g.width / 2, m = -1) : (l += p.width + this.intraCellSpacing, m--)
-            }
-        }
-        l = 0;
-        p = 1E8;
-        for (m = d[f].rankIndex + 1; m < d.length;)
-            if (n = mxCellPath.create(b[m].getCoreCell()), n = e[n], null != n) {
-                var q = n.cell;
-                n.visited ?
-                    (p = q.getGeneralPurposeVariable(a) - q.width / 2 - this.intraCellSpacing - l - g.width / 2, m = d.length) : (l += q.width + this.intraCellSpacing, m++)
-            }
-        h >= k && h <= p ? g.setGeneralPurposeVariable(a, h) : h < k ? (g.setGeneralPurposeVariable(a, k), this.currentXDelta += k - h) : h > p && (g.setGeneralPurposeVariable(a, p), this.currentXDelta += h - p);
-        d[f].visited = !0
-    }
+  b = b.ranks[a];
+  for (var d = [], e = [], f = 0; f < b.length; f++) {
+    var g = b[f];
+    d[f] = new WeightedCellSorter;
+    d[f].cell = g;
+    d[f].rankIndex = f;
+    var h = mxCellPath.create(g.getCoreCell());
+    e[h] = d[f];
+    var k = null,
+      k = c < a ? g.getPreviousLayerConnectedCells(a) : g.getNextLayerConnectedCells(a);
+    d[f].weightedValue = this.calculatedWeightedValue(g, k)
+  }
+  d.sort(WeightedCellSorter.prototype.compare);
+  for (f = 0; f < d.length; f++) {
+    h = 0;
+    g = d[f].cell;
+    h = 0;
+    k = c < a ? g.getPreviousLayerConnectedCells(a).slice() :
+      g.getNextLayerConnectedCells(a).slice();
+    null != k && (h = k.length, h = 0 < h ? this.medianXValue(k, c) : g.getGeneralPurposeVariable(a));
+    for (var l = 0, k = -1E8, m = d[f].rankIndex - 1; 0 <= m;) {
+      var n = mxCellPath.create(b[m].getCoreCell()),
+        n = e[n];
+      if (null != n) {
+        var p = n.cell;
+        n.visited ? (k = p.getGeneralPurposeVariable(a) + p.width / 2 + this.intraCellSpacing + l + g.width / 2, m = -1) : (l += p.width + this.intraCellSpacing, m--)
+      }
+    }
+    l = 0;
+    p = 1E8;
+    for (m = d[f].rankIndex + 1; m < d.length;)
+      if (n = mxCellPath.create(b[m].getCoreCell()), n = e[n], null != n) {
+        var q = n.cell;
+        n.visited ?
+          (p = q.getGeneralPurposeVariable(a) - q.width / 2 - this.intraCellSpacing - l - g.width / 2, m = d.length) : (l += q.width + this.intraCellSpacing, m++)
+      }
+    h >= k && h <= p ? g.setGeneralPurposeVariable(a, h) : h < k ? (g.setGeneralPurposeVariable(a, k), this.currentXDelta += k - h) : h > p && (g.setGeneralPurposeVariable(a, p), this.currentXDelta +=
+      h - p);
+    d[f].visited = !0
+  }
 };
 mxCoordinateAssignment.prototype.calculatedWeightedValue = function(a, b) {
-    for (var c = 0, d = 0; d < b.length; d++) {
-        var e = b[d];
-        a.isVertex() && e.isVertex() ? c++ : c = a.isEdge() && e.isEdge() ? c + 8 : c + 2
-    }
-    return c
+  for (var c = 0, d = 0; d < b.length; d++) {
+    var e = b[d];
+    a.isVertex() && e.isVertex() ? c++ : c = a.isEdge() && e.isEdge() ? c + 8 : c + 2
+  }
+  return c
 };
 mxCoordinateAssignment.prototype.medianXValue = function(a, b) {
-    if (0 == a.length) return 0;
-    for (var c = [], d = 0; d < a.length; d++) c[d] = a[d].getGeneralPurposeVariable(b);
-    c.sort(function(a, b) {
-        return a - b
-    });
-    if (1 == a.length % 2) return c[Math.floor(a.length / 2)];
-    d = a.length / 2;
-    return (c[d - 1] + c[d]) / 2
+  if (0 == a.length) return 0;
+  for (var c = [], d = 0; d < a.length; d++) c[d] = a[d].getGeneralPurposeVariable(b);
+  c.sort(function(a, b) {
+    return a - b
+  });
+  if (1 == a.length % 2) return c[Math.floor(a.length / 2)];
+  d = a.length / 2;
+  return (c[d - 1] + c[d]) / 2
 };
 mxCoordinateAssignment.prototype.initialCoords = function(a, b) {
-    this.calculateWidestRank(a, b);
-    for (var c = this.widestRank; 0 <= c; c--) c < b.maxRank && this.rankCoordinates(c, a, b);
-    for (c = this.widestRank + 1; c <= b.maxRank; c++) 0 < c && this.rankCoordinates(c, a, b)
+  this.calculateWidestRank(a, b);
+  for (var c = this.widestRank; 0 <= c; c--) c < b.maxRank && this.rankCoordinates(c, a, b);
+  for (c = this.widestRank + 1; c <= b.maxRank; c++) 0 < c && this.rankCoordinates(c, a, b)
 };
 mxCoordinateAssignment.prototype.rankCoordinates = function(a, b, c) {
-    b = c.ranks[a];
-    c = 0;
-    for (var d = this.initialX + (this.widestRankValue - this.rankWidths[a]) / 2, e = !1, f = 0; f < b.length; f++) {
-        var g = b[f];
-        if (g.isVertex()) {
-            var h = this.layout.getVertexBounds(g.cell);
-            null != h ? this.orientation == mxConstants.DIRECTION_NORTH || this.orientation == mxConstants.DIRECTION_SOUTH ? (g.width = h.width, g.height = h.height) : (g.width = h.height, g.height = h.width) : e = !0;
-            c = Math.max(c, g.height)
-        } else g.isEdge() && (h = 1, null != g.edges ? h = g.edges.length : mxLog.warn("edge.edges is null"),
-            g.width = (h - 1) * this.parallelEdgeSpacing);
-        d += g.width / 2;
-        g.setX(a, d);
-        g.setGeneralPurposeVariable(a, d);
-        d += g.width / 2;
-        d += this.intraCellSpacing
-    }!0 == e && mxLog.warn("At least one cell has no bounds")
+  b = c.ranks[a];
+  c = 0;
+  for (var d = this.initialX + (this.widestRankValue - this.rankWidths[a]) / 2, e = !1, f = 0; f < b.length; f++) {
+    var g = b[f];
+    if (g.isVertex()) {
+      var h = this.layout.getVertexBounds(g.cell);
+      null != h ? this.orientation == mxConstants.DIRECTION_NORTH || this.orientation == mxConstants.DIRECTION_SOUTH ? (g.width = h.width, g.height = h.height) : (g.width = h.height, g.height = h.width) :
+        e = !0;
+      c = Math.max(c, g.height)
+    } else g.isEdge() && (h = 1, null != g.edges ? h = g.edges.length : mxLog.warn("edge.edges is null"),
+      g.width = (h - 1) * this.parallelEdgeSpacing);
+    d += g.width / 2;
+    g.setX(a, d);
+    g.setGeneralPurposeVariable(a, d);
+    d += g.width / 2;
+    d += this.intraCellSpacing
+  }!0 == e && mxLog.warn("At least one cell has no bounds")
 };
 mxCoordinateAssignment.prototype.calculateWidestRank = function(a, b) {
-    var c = -this.interRankCellSpacing,
-        d = 0;
-    this.rankWidths = [];
-    this.rankY = [];
-    for (var e = b.maxRank; 0 <= e; e--) {
-        for (var f = 0, g = b.ranks[e], h = this.initialX, k = !1, l = 0; l < g.length; l++) {
-            var m = g[l];
-            if (m.isVertex()) {
-                var n = this.layout.getVertexBounds(m.cell);
-                null != n ? this.orientation == mxConstants.DIRECTION_NORTH || this.orientation == mxConstants.DIRECTION_SOUTH ? (m.width = n.width, m.height = n.height) : (m.width = n.height, m.height = n.width) : k = !0;
-                f = Math.max(f, m.height)
-            } else m.isEdge() &&
-                (n = 1, null != m.edges ? n = m.edges.length : mxLog.warn("edge.edges is null"), m.width = (n - 1) * this.parallelEdgeSpacing);
-            h += m.width / 2;
-            m.setX(e, h);
-            m.setGeneralPurposeVariable(e, h);
-            h += m.width / 2;
-            h += this.intraCellSpacing;
-            h > this.widestRankValue && (this.widestRankValue = h, this.widestRank = e);
-            this.rankWidths[e] = h
-        }!0 == k && mxLog.warn("At least one cell has no bounds");
-        this.rankY[e] = c;
-        h = f / 2 + d / 2 + this.interRankCellSpacing;
-        d = f;
-        c = this.orientation == mxConstants.DIRECTION_NORTH || this.orientation == mxConstants.DIRECTION_WEST ? c + h : c -
-            h;
-        for (l = 0; l < g.length; l++) g[l].setY(e, c)
-    }
+  var c = -this.interRankCellSpacing,
+    d = 0;
+  this.rankWidths = [];
+  this.rankY = [];
+  for (var e = b.maxRank; 0 <= e; e--) {
+    for (var f = 0, g = b.ranks[e], h = this.initialX, k = !1, l = 0; l < g.length; l++) {
+      var m = g[l];
+      if (m.isVertex()) {
+        var n = this.layout.getVertexBounds(m.cell);
+        null != n ? this.orientation == mxConstants.DIRECTION_NORTH || this.orientation == mxConstants.DIRECTION_SOUTH ? (m.width = n.width, m.height = n.height) : (m.width = n.height, m.height = n
+          .width) : k = !0;
+        f = Math.max(f, m.height)
+      } else m.isEdge() &&
+        (n = 1, null != m.edges ? n = m.edges.length : mxLog.warn("edge.edges is null"), m.width = (n - 1) * this.parallelEdgeSpacing);
+      h += m.width / 2;
+      m.setX(e, h);
+      m.setGeneralPurposeVariable(e, h);
+      h += m.width / 2;
+      h += this.intraCellSpacing;
+      h > this.widestRankValue && (this.widestRankValue = h, this.widestRank = e);
+      this.rankWidths[e] = h
+    }!0 == k && mxLog.warn("At least one cell has no bounds");
+    this.rankY[e] = c;
+    h = f / 2 + d / 2 + this.interRankCellSpacing;
+    d = f;
+    c = this.orientation == mxConstants.DIRECTION_NORTH || this.orientation == mxConstants.DIRECTION_WEST ? c + h : c -
+      h;
+    for (l = 0; l < g.length; l++) g[l].setY(e, c)
+  }
 };
 mxCoordinateAssignment.prototype.minPath = function(a, b) {
-    var c = b.edgeMapper,
-        d;
-    for (d in c) {
-        var e = c[d];
-        if (!(1 > e.maxRank - e.minRank - 1)) {
-            for (var f = e.getGeneralPurposeVariable(e.minRank + 1), g = !0, h = 0, k = e.minRank + 2; k < e.maxRank; k++) {
-                var l = e.getGeneralPurposeVariable(k);
-                f != l ? (g = !1, f = l) : h++
-            }
-            if (!g) {
-                for (var g = f = 0, l = [], m = [], n = e.getGeneralPurposeVariable(e.minRank + 1), k = e.minRank + 1; k < e.maxRank - 1; k++) {
-                    var p = e.getX(k + 1);
-                    n == p ? (l[k - e.minRank - 1] = n, f++) : this.repositionValid(b, e, k + 1, n) ? (l[k - e.minRank - 1] = n, f++) : n = l[k - e.minRank -
-                        1] = p
-                }
-                n = e.getX(k);
-                for (k = e.maxRank - 1; k > e.minRank + 1; k--) p = e.getX(k - 1), n == p ? (m[k - e.minRank - 2] = n, g++) : this.repositionValid(b, e, k - 1, n) ? (m[k - e.minRank - 2] = n, g++) : (m[k - e.minRank - 2] = e.getX(k - 1), n = p);
-                if (g > h || f > h)
-                    if (g >= f)
-                        for (k = e.maxRank - 2; k > e.minRank; k--) e.setX(k, m[k - e.minRank - 1]);
-                    else if (f > g)
-                    for (k = e.minRank + 2; k < e.maxRank; k++) e.setX(k, l[k - e.minRank - 2])
-            }
+  var c = b.edgeMapper,
+    d;
+  for (d in c) {
+    var e = c[d];
+    if (!(1 > e.maxRank - e.minRank - 1)) {
+      for (var f = e.getGeneralPurposeVariable(e.minRank + 1), g = !0, h = 0, k = e.minRank + 2; k < e.maxRank; k++) {
+        var l = e.getGeneralPurposeVariable(k);
+        f != l ? (g = !1, f = l) : h++
+      }
+      if (!g) {
+        for (var g = f = 0, l = [], m = [], n = e.getGeneralPurposeVariable(e.minRank + 1), k = e.minRank + 1; k < e.maxRank - 1; k++) {
+          var p = e.getX(k + 1);
+          n == p ? (l[k - e.minRank - 1] = n, f++) : this.repositionValid(b, e, k + 1, n) ? (l[k - e.minRank - 1] = n, f++) : n = l[k - e.minRank -
+            1] = p
         }
-    }
+        n = e.getX(k);
+        for (k = e.maxRank - 1; k > e.minRank + 1; k--) p = e.getX(k - 1), n == p ? (m[k - e.minRank - 2] = n, g++) : this.repositionValid(b, e, k - 1, n) ? (m[k - e.minRank - 2] = n, g++) : (m[k -
+          e.minRank - 2] = e.getX(k - 1), n = p);
+        if (g > h || f > h)
+          if (g >= f)
+            for (k = e.maxRank - 2; k > e.minRank; k--) e.setX(k, m[k - e.minRank - 1]);
+          else if (f > g)
+          for (k = e.minRank + 2; k < e.maxRank; k++) e.setX(k, l[k - e.minRank - 2])
+      }
+    }
+  }
 };
 mxCoordinateAssignment.prototype.repositionValid = function(a, b, c, d) {
-    a = a.ranks[c];
-    for (var e = -1, f = 0; f < a.length; f++)
-        if (b == a[f]) {
-            e = f;
-            break
-        }
-    if (0 > e) return !1;
-    f = b.getGeneralPurposeVariable(c);
-    if (d < f) {
-        if (0 == e) return !0;
-        a = a[e - 1];
-        c = a.getGeneralPurposeVariable(c);
-        c = c + a.width / 2 + this.intraCellSpacing + b.width / 2;
-        if (!(c <= d)) return !1
-    } else if (d > f) {
-        if (e == a.length - 1) return !0;
-        a = a[e + 1];
-        c = a.getGeneralPurposeVariable(c);
-        c = c - a.width / 2 - this.intraCellSpacing - b.width / 2;
-        if (!(c >= d)) return !1
-    }
-    return !0
+  a = a.ranks[c];
+  for (var e = -1, f = 0; f < a.length; f++)
+    if (b == a[f]) {
+      e = f;
+      break
+    }
+  if (0 > e) return !1;
+  f = b.getGeneralPurposeVariable(c);
+  if (d < f) {
+    if (0 == e) return !0;
+    a = a[e - 1];
+    c = a.getGeneralPurposeVariable(c);
+    c = c + a.width / 2 + this.intraCellSpacing + b.width / 2;
+    if (!(c <= d)) return !1
+  } else if (d > f) {
+    if (e == a.length - 1) return !0;
+    a = a[e + 1];
+    c = a.getGeneralPurposeVariable(c);
+    c = c - a.width / 2 - this.intraCellSpacing - b.width / 2;
+    if (!(c >= d)) return !1
+  }
+  return !0
 };
 mxCoordinateAssignment.prototype.setCellLocations = function(a, b) {
-    this.rankTopY = [];
-    this.rankBottomY = [];
-    for (var c = 0; c < b.ranks.length; c++) this.rankTopY[c] = Number.MAX_VALUE, this.rankBottomY[c] = 0;
-    c = null;
-    this.layout.resizeParent && (c = {});
-    var d = b.edgeMapper,
-        e = b.vertexMapper,
-        f;
-    for (f in e) {
-        var g = e[f];
-        this.setVertexLocation(g);
-        if (this.layout.resizeParent) {
-            var g = a.model.getParent(g.cell),
-                h = mxCellPath.create(g);
-            null == c[h] && (c[h] = g)
-        }
-    }
-    this.layout.resizeParent && null != c && this.adjustParents(c);
-    (this.edgeStyle == mxHierarchicalEdgeStyle.ORTHOGONAL ||
-        this.edgeStyle == mxHierarchicalEdgeStyle.POLYLINE || this.edgeStyle == mxHierarchicalEdgeStyle.CURVE) && this.localEdgeProcessing(b);
-    for (f in d) this.setEdgePosition(d[f])
+  this.rankTopY = [];
+  this.rankBottomY = [];
+  for (var c = 0; c < b.ranks.length; c++) this.rankTopY[c] = Number.MAX_VALUE, this.rankBottomY[c] = 0;
+  c = null;
+  this.layout.resizeParent && (c = {});
+  var d = b.edgeMapper,
+    e = b.vertexMapper,
+    f;
+  for (f in e) {
+    var g = e[f];
+    this.setVertexLocation(g);
+    if (this.layout.resizeParent) {
+      var g = a.model.getParent(g.cell),
+        h = mxCellPath.create(g);
+      null == c[h] && (c[h] = g)
+    }
+  }
+  this.layout.resizeParent && null != c && this.adjustParents(c);
+  (this.edgeStyle == mxHierarchicalEdgeStyle.ORTHOGONAL ||
+    this.edgeStyle == mxHierarchicalEdgeStyle.POLYLINE || this.edgeStyle == mxHierarchicalEdgeStyle.CURVE) && this.localEdgeProcessing(b);
+  for (f in d) this.setEdgePosition(d[f])
 };
 mxCoordinateAssignment.prototype.adjustParents = function(a) {
-    var b = [],
-        c;
-    for (c in a) b.push(a[c]);
-    this.layout.arrangeGroups(mxUtils.sortCells(b, !0), this.groupPadding)
+  var b = [],
+    c;
+  for (c in a) b.push(a[c]);
+  this.layout.arrangeGroups(mxUtils.sortCells(b, !0), this.groupPadding)
 };
 mxCoordinateAssignment.prototype.localEdgeProcessing = function(a) {
-    for (var b = 0; b < a.ranks.length; b++)
-        for (var c = a.ranks[b], d = 0; d < c.length; d++) {
-            var e = c[d];
-            if (e.isVertex())
-                for (var f = e.getPreviousLayerConnectedCells(b), g = b - 1, h = 0; 2 > h; h++) {
-                    if (-1 < g && g < a.ranks.length && null != f && 0 < f.length) {
-                        for (var k = [], l = 0; l < f.length; l++) {
-                            var m = new WeightedCellSorter(f[l], f[l].getX(g));
-                            k.push(m)
-                        }
-                        k.sort(WeightedCellSorter.prototype.compare);
-                        for (var m = e.x[0] - e.width / 2, n = m + e.width, p = f = 0, g = [], l = 0; l < k.length; l++) {
-                            var q = k[l].cell,
-                                s;
-                            if (q.isVertex()) {
-                                s = 0 == h ? e.connectsAsSource : e.connectsAsTarget;
-                                for (var r = 0; r < s.length; r++)
-                                    if (s[r].source == q || s[r].target == q) f += s[r].edges.length, p++, g.push(s[r])
-                            } else f += q.edges.length, p++, g.push(q)
-                        }
-                        e.width > (f + 1) * this.prefHozEdgeSep + 2 * this.prefHozEdgeSep && (m += this.prefHozEdgeSep, n -= this.prefHozEdgeSep);
-                        k = (n - m) / f;
-                        m += k / 2;
-                        n = this.minEdgeJetty - this.prefVertEdgeOff;
-                        for (l = p = 0; l < g.length; l++) {
-                            q = g[l].edges.length;
-                            r = mxCellPath.create(g[l].edges[0]);
-                            s = this.jettyPositions[r];
-                            null == s && (s = [], this.jettyPositions[r] =
-                                s);
-                            l < f / 2 ? n += this.prefVertEdgeOff : l > f / 2 && (n -= this.prefVertEdgeOff);
-                            for (r = 0; r < q; r++) s[4 * r + 2 * h] = m, m += k, s[4 * r + 2 * h + 1] = n;
-                            p = Math.max(p, n)
-                        }
-                    }
-                    f = e.getNextLayerConnectedCells(b);
-                    g = b + 1
-                }
-        }
-};
-mxCoordinateAssignment.prototype.setEdgePosition = function(a) {
-    var b = 0;
-    if (101207 != a.temp[0]) {
-        var c = a.maxRank,
-            d = a.minRank;
-        c == d && (c = a.source.maxRank, d = a.target.minRank);
-        for (var e = 0, f = mxCellPath.create(a.edges[0]), f = this.jettyPositions[f], g = a.isReversed ? a.target.cell : a.source.cell, h = this.layout.graph, k = 0; k < a.edges.length; k++) {
-            var l = a.edges[k],
-                m = this.layout.getVisibleTerminal(l, !0),
-                n = h.model.getTerminal(l, !0),
-                p = [],
-                q = a.isReversed;
-            m != g && (q = !q);
-            if (null != f) {
-                var s = q ? 2 : 0,
-                    r = q ? this.rankTopY[d] : this.rankBottomY[c],
-                    t = f[4 * e + 1 + s];
-                q && (t = -t);
-                r += t;
-                s = f[4 * e + s];
-                n = h.model.getTerminal(l, !0);
-                this.layout.isPort(n) && h.model.getParent(n) == m && (s = h.view.getState(n), s = null != s ? s.x : m.geometry.x + a.source.width * n.geometry.x);
-                this.orientation == mxConstants.DIRECTION_NORTH || this.orientation == mxConstants.DIRECTION_SOUTH ? (p.push(new mxPoint(s, r)), this.edgeStyle == mxHierarchicalEdgeStyle.CURVE && p.push(new mxPoint(s, r + t))) : (p.push(new mxPoint(r, s)), this.edgeStyle == mxHierarchicalEdgeStyle.CURVE && p.push(new mxPoint(r + t, s)))
+  for (var b = 0; b < a.ranks.length; b++)
+    for (var c = a.ranks[b], d = 0; d < c.length; d++) {
+      var e = c[d];
+      if (e.isVertex())
+        for (var f = e.getPreviousLayerConnectedCells(b), g = b - 1, h = 0; 2 > h; h++) {
+          if (-1 < g && g < a.ranks.length && null != f && 0 < f.length) {
+            for (var k = [], l = 0; l < f.length; l++) {
+              var m = new WeightedCellSorter(f[l], f[l].getX(g));
+              k.push(m)
+            }
+            k.sort(WeightedCellSorter.prototype.compare);
+            for (var m = e.x[0] - e.width / 2, n = m + e.width, p = f = 0, g = [], l = 0; l < k.length; l++) {
+              var q = k[l].cell,
+                s;
+              if (q.isVertex()) {
+                s = 0 == h ? e.connectsAsSource : e.connectsAsTarget;
+                for (var r = 0; r < s.length; r++)
+                  if (s[r].source == q || s[r].target == q) f += s[r].edges.length, p++, g.push(s[r])
+              } else f += q.edges.length, p++, g.push(q)
             }
-            s = a.x.length -
-                1;
-            r = t = -1;
-            m = a.maxRank - 1;
-            q && (s = 0, t = a.x.length, r = 1, m = a.minRank + 1);
-            for (; a.maxRank != a.minRank && s != t; s += r) {
-                var n = a.x[s] + b,
-                    v = (this.rankTopY[m] + this.rankBottomY[m + 1]) / 2,
-                    w = (this.rankTopY[m - 1] + this.rankBottomY[m]) / 2;
-                if (q) var u = v,
-                    v = w,
-                    w = u;
-                this.orientation == mxConstants.DIRECTION_NORTH || this.orientation == mxConstants.DIRECTION_SOUTH ? (p.push(new mxPoint(n, v)), p.push(new mxPoint(n, w))) : (p.push(new mxPoint(v, n)), p.push(new mxPoint(w, n)));
-                this.limitX = Math.max(this.limitX, n);
-                m += r
+            e.width > (f + 1) * this.prefHozEdgeSep + 2 * this.prefHozEdgeSep && (m += this.prefHozEdgeSep, n -= this.prefHozEdgeSep);
+            k = (n - m) / f;
+            m += k / 2;
+            n = this.minEdgeJetty - this.prefVertEdgeOff;
+            for (l = p = 0; l < g.length; l++) {
+              q = g[l].edges.length;
+              r = mxCellPath.create(g[l].edges[0]);
+              s = this.jettyPositions[r];
+              null == s && (s = [], this.jettyPositions[r] =
+                s);
+              l < f / 2 ? n += this.prefVertEdgeOff : l > f / 2 && (n -= this.prefVertEdgeOff);
+              for (r = 0; r < q; r++) s[4 * r + 2 * h] = m, m += k, s[4 * r + 2 * h + 1] = n;
+              p = Math.max(p, n)
             }
-            null != f && (s = q ? 2 : 0, r = q ? this.rankBottomY[c] :
-                this.rankTopY[d], t = f[4 * e + 3 - s], q && (t = -t), r -= t, s = f[4 * e + 2 - s], q = h.model.getTerminal(l, !1), m = this.layout.getVisibleTerminal(l, !1), this.layout.isPort(q) && h.model.getParent(q) == m && (s = h.view.getState(q), s = null != s ? s.x : m.geometry.x + a.target.width * q.geometry.x), this.orientation == mxConstants.DIRECTION_NORTH || this.orientation == mxConstants.DIRECTION_SOUTH ? (this.edgeStyle == mxHierarchicalEdgeStyle.CURVE && p.push(new mxPoint(s, r - t)), p.push(new mxPoint(s, r))) : (this.edgeStyle == mxHierarchicalEdgeStyle.CURVE && p.push(new mxPoint(r -
-                    t, s)), p.push(new mxPoint(r, s))));
-            a.isReversed && this.processReversedEdge(a, l);
-            this.layout.setEdgePoints(l, p);
-            b = 0 == b ? this.parallelEdgeSpacing : 0 < b ? -b : -b + this.parallelEdgeSpacing;
-            e++
+          }
+          f = e.getNextLayerConnectedCells(b);
+          g = b + 1
         }
-        a.temp[0] = 101207
     }
 };
+mxCoordinateAssignment.prototype.setEdgePosition = function(a) {
+  var b = 0;
+  if (101207 != a.temp[0]) {
+    var c = a.maxRank,
+      d = a.minRank;
+    c == d && (c = a.source.maxRank, d = a.target.minRank);
+    for (var e = 0, f = mxCellPath.create(a.edges[0]), f = this.jettyPositions[f], g = a.isReversed ? a.target.cell : a.source.cell, h = this.layout.graph, k = 0; k < a.edges.length; k++) {
+      var l = a.edges[k],
+        m = this.layout.getVisibleTerminal(l, !0),
+        n = h.model.getTerminal(l, !0),
+        p = [],
+        q = a.isReversed;
+      m != g && (q = !q);
+      if (null != f) {
+        var s = q ? 2 : 0,
+          r = q ? this.rankTopY[d] : this.rankBottomY[c],
+          t = f[4 * e + 1 + s];
+        q && (t = -t);
+        r += t;
+        s = f[4 * e + s];
+        n = h.model.getTerminal(l, !0);
+        this.layout.isPort(n) && h.model.getParent(n) == m && (s = h.view.getState(n), s = null != s ? s.x : m.geometry.x + a.source.width * n.geometry.x);
+        this.orientation == mxConstants.DIRECTION_NORTH || this.orientation == mxConstants.DIRECTION_SOUTH ? (p.push(new mxPoint(s, r)), this.edgeStyle == mxHierarchicalEdgeStyle.CURVE && p.push(
+          new mxPoint(s, r + t))) : (p.push(new mxPoint(r, s)), this.edgeStyle == mxHierarchicalEdgeStyle.CURVE && p.push(new mxPoint(r + t, s)))
+      }
+      s = a.x.length -
+        1;
+      r = t = -1;
+      m = a.maxRank - 1;
+      q && (s = 0, t = a.x.length, r = 1, m = a.minRank + 1);
+      for (; a.maxRank != a.minRank && s != t; s += r) {
+        var n = a.x[s] + b,
+          v = (this.rankTopY[m] + this.rankBottomY[m + 1]) / 2,
+          w = (this.rankTopY[m - 1] + this.rankBottomY[m]) / 2;
+        if (q) var u = v,
+          v = w,
+          w = u;
+        this.orientation == mxConstants.DIRECTION_NORTH || this.orientation == mxConstants.DIRECTION_SOUTH ? (p.push(new mxPoint(n, v)), p.push(new mxPoint(n, w))) : (p.push(new mxPoint(v, n)), p.push(
+          new mxPoint(w, n)));
+        this.limitX = Math.max(this.limitX, n);
+        m += r
+      }
+      null != f && (s = q ? 2 : 0, r = q ? this.rankBottomY[c] :
+        this.rankTopY[d], t = f[4 * e + 3 - s], q && (t = -t), r -= t, s = f[4 * e + 2 - s], q = h.model.getTerminal(l, !1), m = this.layout.getVisibleTerminal(l, !1), this.layout.isPort(q) && h.model
+        .getParent(q) == m && (s = h.view.getState(q), s = null != s ? s.x : m.geometry.x + a.target.width * q.geometry.x), this.orientation == mxConstants.DIRECTION_NORTH || this.orientation ==
+        mxConstants.DIRECTION_SOUTH ? (this.edgeStyle == mxHierarchicalEdgeStyle.CURVE && p.push(new mxPoint(s, r - t)), p.push(new mxPoint(s, r))) : (this.edgeStyle == mxHierarchicalEdgeStyle.CURVE &&
+          p.push(new mxPoint(r -
+            t, s)), p.push(new mxPoint(r, s))));
+      a.isReversed && this.processReversedEdge(a, l);
+      this.layout.setEdgePoints(l, p);
+      b = 0 == b ? this.parallelEdgeSpacing : 0 < b ? -b : -b + this.parallelEdgeSpacing;
+      e++
+    }
+    a.temp[0] = 101207
+  }
+};
 mxCoordinateAssignment.prototype.setVertexLocation = function(a) {
-    var b = a.cell,
-        c = a.x[0] - a.width / 2,
-        d = a.y[0] - a.height / 2;
-    this.rankTopY[a.minRank] = Math.min(this.rankTopY[a.minRank], d);
-    this.rankBottomY[a.minRank] = Math.max(this.rankBottomY[a.minRank], d + a.height);
-    this.orientation == mxConstants.DIRECTION_NORTH || this.orientation == mxConstants.DIRECTION_SOUTH ? this.layout.setVertexLocation(b, c, d) : this.layout.setVertexLocation(b, d, c);
-    this.limitX = Math.max(this.limitX, c + a.width)
+  var b = a.cell,
+    c = a.x[0] - a.width / 2,
+    d = a.y[0] - a.height / 2;
+  this.rankTopY[a.minRank] = Math.min(this.rankTopY[a.minRank], d);
+  this.rankBottomY[a.minRank] = Math.max(this.rankBottomY[a.minRank], d + a.height);
+  this.orientation == mxConstants.DIRECTION_NORTH || this.orientation == mxConstants.DIRECTION_SOUTH ? this.layout.setVertexLocation(b, c, d) : this.layout.setVertexLocation(b, d, c);
+  this.limitX = Math.max(this.limitX, c + a.width)
 };
 mxCoordinateAssignment.prototype.processReversedEdge = function(a, b) {};
 
 function WeightedCellSorter(a, b) {
-    this.cell = a;
-    this.weightedValue = b
+  this.cell = a;
+  this.weightedValue = b
 }
 WeightedCellSorter.prototype.weightedValue = 0;
 WeightedCellSorter.prototype.nudge = !1;
@@ -7983,13 +8114,13 @@ WeightedCellSorter.prototype.visited = !1;
 WeightedCellSorter.prototype.rankIndex = null;
 WeightedCellSorter.prototype.cell = null;
 WeightedCellSorter.prototype.compare = function(a, b) {
-    return null != a && null != b ? b.weightedValue > a.weightedValue ? -1 : b.weightedValue < a.weightedValue ? 1 : b.nudge ? -1 : 1 : 0
+  return null != a && null != b ? b.weightedValue > a.weightedValue ? -1 : b.weightedValue < a.weightedValue ? 1 : b.nudge ? -1 : 1 : 0
 };
 
 function mxHierarchicalLayout(a, b, c) {
-    mxGraphLayout.call(this, a);
-    this.orientation = null != b ? b : mxConstants.DIRECTION_NORTH;
-    this.deterministic = null != c ? c : !0
+  mxGraphLayout.call(this, a);
+  this.orientation = null != b ? b : mxConstants.DIRECTION_NORTH;
+  this.deterministic = null != c ? c : !0
 }
 mxHierarchicalLayout.prototype = new mxGraphLayout;
 mxHierarchicalLayout.prototype.constructor = mxHierarchicalLayout;
@@ -8009,167 +8140,168 @@ mxHierarchicalLayout.prototype.traverseAncestors = !0;
 mxHierarchicalLayout.prototype.model = null;
 mxHierarchicalLayout.prototype.edgesCache = null;
 mxHierarchicalLayout.prototype.getModel = function() {
-    return this.model
+  return this.model
 };
 mxHierarchicalLayout.prototype.execute = function(a, b) {
-    this.parent = a;
-    var c = this.graph.model;
-    this.edgesCache = {};
-    if (!(null == b && null == a)) {
-        if (null != b && null != a) {
-            for (var d = [], e = 0; e < b.length; e++) c.isAncestor(a, b[e]) && d.push(b[e]);
-            this.roots = d
-        } else this.roots = b;
-        c.beginUpdate();
-        try {
-            this.run(a), this.resizeParent && !this.graph.isCellCollapsed(a) && this.graph.updateGroupBounds([a], this.parentBorder, this.moveParent)
-        } finally {
-            c.endUpdate()
-        }
+  this.parent = a;
+  var c = this.graph.model;
+  this.edgesCache = {};
+  if (!(null == b && null == a)) {
+    if (null != b && null != a) {
+      for (var d = [], e = 0; e < b.length; e++) c.isAncestor(a, b[e]) && d.push(b[e]);
+      this.roots = d
+    } else this.roots = b;
+    c.beginUpdate();
+    try {
+      this.run(a), this.resizeParent && !this.graph.isCellCollapsed(a) && this.graph.updateGroupBounds([a], this.parentBorder, this.moveParent)
+    } finally {
+      c.endUpdate()
     }
+  }
 };
 mxHierarchicalLayout.prototype.findRoots = function(a, b) {
-    var c = [];
-    if (null != a && null != b) {
-        var d = this.graph.model,
-            e = null,
-            f = -1E5,
-            g;
-        for (g in b) {
-            var h = b[g];
-            if (d.isVertex(h) && this.graph.isCellVisible(h)) {
-                for (var k = this.getEdges(h), l = 0, m = 0, n = 0; n < k.length; n++) this.getVisibleTerminal(k[n], !0) == h ? l++ : m++;
-                0 == m && 0 < l && c.push(h);
-                k = l - m;
-                k > f && (f = k, e = h)
-            }
-        }
-        0 == c.length && null != e && c.push(e)
-    }
-    return c
+  var c = [];
+  if (null != a && null != b) {
+    var d = this.graph.model,
+      e = null,
+      f = -1E5,
+      g;
+    for (g in b) {
+      var h = b[g];
+      if (d.isVertex(h) && this.graph.isCellVisible(h)) {
+        for (var k = this.getEdges(h), l = 0, m = 0, n = 0; n < k.length; n++) this.getVisibleTerminal(k[n], !0) == h ? l++ : m++;
+        0 == m && 0 < l && c.push(h);
+        k = l - m;
+        k > f && (f = k, e = h)
+      }
+    }
+    0 == c.length && null != e && c.push(e)
+  }
+  return c
 };
 mxHierarchicalLayout.prototype.getEdges = function(a) {
-    var b = mxCellPath.create(a);
-    if (null != this.edgesCache[b]) return this.edgesCache[b];
-    for (var c = this.graph.model, d = [], e = this.graph.isCellCollapsed(a), f = c.getChildCount(a), g = 0; g < f; g++) {
-        var h = c.getChildAt(a, g);
-        if (this.isPort(h)) d = d.concat(c.getEdges(h, !0, !0));
-        else if (e || !this.graph.isCellVisible(h)) d = d.concat(c.getEdges(h, !0, !0))
-    }
-    d = d.concat(c.getEdges(a, !0, !0));
-    c = [];
-    for (g = 0; g < d.length; g++) e = this.getVisibleTerminal(d[g], !0), f = this.getVisibleTerminal(d[g], !1), (e == f || e != f && (f == a && (null == this.parent || this.graph.isValidAncestor(e, this.parent, this.traverseAncestors)) || e == a && (null == this.parent || this.graph.isValidAncestor(f, this.parent, this.traverseAncestors)))) && c.push(d[g]);
-    return this.edgesCache[b] = c
+  var b = mxCellPath.create(a);
+  if (null != this.edgesCache[b]) return this.edgesCache[b];
+  for (var c = this.graph.model, d = [], e = this.graph.isCellCollapsed(a), f = c.getChildCount(a), g = 0; g < f; g++) {
+    var h = c.getChildAt(a, g);
+    if (this.isPort(h)) d = d.concat(c.getEdges(h, !0, !0));
+    else if (e || !this.graph.isCellVisible(h)) d = d.concat(c.getEdges(h, !0, !0))
+  }
+  d = d.concat(c.getEdges(a, !0, !0));
+  c = [];
+  for (g = 0; g < d.length; g++) e = this.getVisibleTerminal(d[g], !0), f = this.getVisibleTerminal(d[g], !1), (e == f || e != f && (f == a && (null == this.parent || this.graph.isValidAncestor(e,
+    this.parent, this.traverseAncestors)) || e == a && (null == this.parent || this.graph.isValidAncestor(f, this.parent, this.traverseAncestors)))) && c.push(d[g]);
+  return this.edgesCache[b] = c
 };
 mxHierarchicalLayout.prototype.getVisibleTerminal = function(a, b) {
-    var c = this.graph.view.getState(a),
-        c = null != c ? c.getVisibleTerminal(b) : this.graph.view.getVisibleTerminal(a, b);
-    this.isPort(c) && (c = this.graph.model.getParent(c));
-    return c
+  var c = this.graph.view.getState(a),
+    c = null != c ? c.getVisibleTerminal(b) : this.graph.view.getVisibleTerminal(a, b);
+  this.isPort(c) && (c = this.graph.model.getParent(c));
+  return c
 };
 mxHierarchicalLayout.prototype.run = function(a) {
-    var b = [],
-        c = [];
-    if (null == this.roots && null != a) {
-        var d = {};
-        this.filterDescendants(a, d);
-        this.roots = [];
-        var e = !0,
-            f;
-        for (f in d)
-            if (null != d[f]) {
-                e = !1;
-                break
-            }
-        for (; !e;) {
-            for (var g = this.findRoots(a, d), e = 0; e < g.length; e++) {
-                var h = [];
-                b.push(h);
-                this.traverse(g[e], !0, null, c, h, b, d)
-            }
-            for (e = 0; e < g.length; e++) this.roots.push(g[e]);
-            e = !0;
-            for (f in d)
-                if (null != d[f]) {
-                    e = !1;
-                    break
-                }
+  var b = [],
+    c = [];
+  if (null == this.roots && null != a) {
+    var d = {};
+    this.filterDescendants(a, d);
+    this.roots = [];
+    var e = !0,
+      f;
+    for (f in d)
+      if (null != d[f]) {
+        e = !1;
+        break
+      }
+    for (; !e;) {
+      for (var g = this.findRoots(a, d), e = 0; e < g.length; e++) {
+        var h = [];
+        b.push(h);
+        this.traverse(g[e], !0, null, c, h, b, d)
+      }
+      for (e = 0; e < g.length; e++) this.roots.push(g[e]);
+      e = !0;
+      for (f in d)
+        if (null != d[f]) {
+          e = !1;
+          break
         }
-    } else
-        for (e = 0; e < roots.length; e++) h = [], b.push(h), traverse(roots.get(e), !0, null, c, h, b, null);
-    for (e = c = 0; e < b.length; e++) {
-        h =
-            b[e];
-        d = [];
-        for (f in h) d.push(h[f]);
-        this.model = new mxGraphHierarchyModel(this, d, this.roots, a, this.tightenToSource);
-        this.cycleStage(a);
-        this.layeringStage();
-        this.crossingStage(a);
-        c = this.placementStage(c, a)
     }
+  } else
+    for (e = 0; e < roots.length; e++) h = [], b.push(h), traverse(roots.get(e), !0, null, c, h, b, null);
+  for (e = c = 0; e < b.length; e++) {
+    h =
+      b[e];
+    d = [];
+    for (f in h) d.push(h[f]);
+    this.model = new mxGraphHierarchyModel(this, d, this.roots, a, this.tightenToSource);
+    this.cycleStage(a);
+    this.layeringStage();
+    this.crossingStage(a);
+    c = this.placementStage(c, a)
+  }
 };
 mxHierarchicalLayout.prototype.filterDescendants = function(a, b) {
-    var c = this.graph.model;
-    c.isVertex(a) && (a != this.parent && this.graph.isCellVisible(a)) && (b[mxCellPath.create(a)] = a);
-    if (this.traverseAncestors || a == this.parent && this.graph.isCellVisible(a))
-        for (var d = c.getChildCount(a), e = 0; e < d; e++) {
-            var f = c.getChildAt(a, e);
-            this.isPort(f) || this.filterDescendants(f, b)
-        }
+  var c = this.graph.model;
+  c.isVertex(a) && (a != this.parent && this.graph.isCellVisible(a)) && (b[mxCellPath.create(a)] = a);
+  if (this.traverseAncestors || a == this.parent && this.graph.isCellVisible(a))
+    for (var d = c.getChildCount(a), e = 0; e < d; e++) {
+      var f = c.getChildAt(a, e);
+      this.isPort(f) || this.filterDescendants(f, b)
+    }
 };
 mxHierarchicalLayout.prototype.isPort = function(a) {
-    return a.geometry.relative ? !0 : !1
+  return a.geometry.relative ? !0 : !1
 };
 mxHierarchicalLayout.prototype.getEdgesBetween = function(a, b, c) {
-    c = null != c ? c : !1;
-    for (var d = this.getEdges(a), e = [], f = 0; f < d.length; f++) {
-        var g = this.getVisibleTerminal(d[f], !0),
-            h = this.getVisibleTerminal(d[f], !1);
-        (g == a && h == b || !c && g == b && h == a) && e.push(d[f])
-    }
-    return e
+  c = null != c ? c : !1;
+  for (var d = this.getEdges(a), e = [], f = 0; f < d.length; f++) {
+    var g = this.getVisibleTerminal(d[f], !0),
+      h = this.getVisibleTerminal(d[f], !1);
+    (g == a && h == b || !c && g == b && h == a) && e.push(d[f])
+  }
+  return e
 };
 mxHierarchicalLayout.prototype.traverse = function(a, b, c, d, e, f, g) {
-    if (null != a && null != d) {
-        var h = mxCellPath.create(a);
-        if (null == d[h] && (null == g || null != g[h])) {
-            null == e[h] && (e[h] = a);
-            null == d[h] && (d[h] = a);
-            delete g[h];
-            var k = this.getEdges(a);
-            for (c = 0; c < k.length; c++)
-                if (h = this.getVisibleTerminal(k[c], !0) == a, !b || h) h = this.getVisibleTerminal(k[c], !h), e = this.traverse(h, b, k[c], d, e, f, g)
-        } else if (null == e[h])
-            for (c = 0; c < f.length; c++)
-                if (a = f[c], null != a[h]) {
-                    for (k in e) a[k] = e[k];
-                    f.pop();
-                    return a
-                }
-    }
-    return e
+  if (null != a && null != d) {
+    var h = mxCellPath.create(a);
+    if (null == d[h] && (null == g || null != g[h])) {
+      null == e[h] && (e[h] = a);
+      null == d[h] && (d[h] = a);
+      delete g[h];
+      var k = this.getEdges(a);
+      for (c = 0; c < k.length; c++)
+        if (h = this.getVisibleTerminal(k[c], !0) == a, !b || h) h = this.getVisibleTerminal(k[c], !h), e = this.traverse(h, b, k[c], d, e, f, g)
+    } else if (null == e[h])
+      for (c = 0; c < f.length; c++)
+        if (a = f[c], null != a[h]) {
+          for (k in e) a[k] = e[k];
+          f.pop();
+          return a
+        }
+  }
+  return e
 };
 mxHierarchicalLayout.prototype.cycleStage = function(a) {
-    (new mxMinimumCycleRemover(this)).execute(a)
+  (new mxMinimumCycleRemover(this)).execute(a)
 };
 mxHierarchicalLayout.prototype.layeringStage = function() {
-    this.model.initialRank();
-    this.model.fixRanks()
+  this.model.initialRank();
+  this.model.fixRanks()
 };
 mxHierarchicalLayout.prototype.crossingStage = function(a) {
-    (new mxMedianHybridCrossingReduction(this)).execute(a)
+  (new mxMedianHybridCrossingReduction(this)).execute(a)
 };
 mxHierarchicalLayout.prototype.placementStage = function(a, b) {
-    var c = new mxCoordinateAssignment(this, this.intraCellSpacing, this.interRankCellSpacing, this.orientation, a, this.parallelEdgeSpacing);
-    c.fineTuning = this.fineTuning;
-    c.execute(b);
-    return c.limitX + this.interHierarchySpacing
+  var c = new mxCoordinateAssignment(this, this.intraCellSpacing, this.interRankCellSpacing, this.orientation, a, this.parallelEdgeSpacing);
+  c.fineTuning = this.fineTuning;
+  c.execute(b);
+  return c.limitX + this.interHierarchySpacing
 };
 
 function mxGraphModel(a) {
-    this.currentEdit = this.createUndoableEdit();
-    null != a ? this.setRoot(a) : this.clear()
+  this.currentEdit = this.createUndoableEdit();
+  null != a ? this.setRoot(a) : this.clear()
 }
 mxGraphModel.prototype = new mxEventSource;
 mxGraphModel.prototype.constructor = mxGraphModel;
@@ -8184,600 +8316,601 @@ mxGraphModel.prototype.currentEdit = null;
 mxGraphModel.prototype.updateLevel = 0;
 mxGraphModel.prototype.endingUpdate = !1;
 mxGraphModel.prototype.clear = function() {
-    this.setRoot(this.createRoot())
+  this.setRoot(this.createRoot())
 };
 mxGraphModel.prototype.isCreateIds = function() {
-    return this.createIds
+  return this.createIds
 };
 mxGraphModel.prototype.setCreateIds = function(a) {
-    this.createIds = a
+  this.createIds = a
 };
 mxGraphModel.prototype.createRoot = function() {
-    var a = new mxCell;
-    a.insert(new mxCell);
-    return a
+  var a = new mxCell;
+  a.insert(new mxCell);
+  return a
 };
 mxGraphModel.prototype.getCell = function(a) {
-    return null != this.cells ? this.cells[a] : null
+  return null != this.cells ? this.cells[a] : null
 };
 mxGraphModel.prototype.filterCells = function(a, b) {
-    var c = null;
-    if (null != a)
-        for (var c = [], d = 0; d < a.length; d++) b(a[d]) && c.push(a[d]);
-    return c
+  var c = null;
+  if (null != a)
+    for (var c = [], d = 0; d < a.length; d++) b(a[d]) && c.push(a[d]);
+  return c
 };
 mxGraphModel.prototype.getDescendants = function(a) {
-    return this.filterDescendants(null, a)
+  return this.filterDescendants(null, a)
 };
 mxGraphModel.prototype.filterDescendants = function(a, b) {
-    var c = [];
-    b = b || this.getRoot();
-    (null == a || a(b)) && c.push(b);
-    for (var d = this.getChildCount(b), e = 0; e < d; e++) var f = this.getChildAt(b, e),
-        c = c.concat(this.filterDescendants(a, f));
-    return c
+  var c = [];
+  b = b || this.getRoot();
+  (null == a || a(b)) && c.push(b);
+  for (var d = this.getChildCount(b), e = 0; e < d; e++) var f = this.getChildAt(b, e),
+    c = c.concat(this.filterDescendants(a, f));
+  return c
 };
 mxGraphModel.prototype.getRoot = function(a) {
-    var b = a || this.root;
-    if (null != a)
-        for (; null != a;) b = a, a = this.getParent(a);
-    return b
+  var b = a || this.root;
+  if (null != a)
+    for (; null != a;) b = a, a = this.getParent(a);
+  return b
 };
 mxGraphModel.prototype.setRoot = function(a) {
-    this.execute(new mxRootChange(this, a));
-    return a
+  this.execute(new mxRootChange(this, a));
+  return a
 };
 mxGraphModel.prototype.rootChanged = function(a) {
-    var b = this.root;
-    this.root = a;
-    this.nextId = 0;
-    this.cells = null;
-    this.cellAdded(a);
-    return b
+  var b = this.root;
+  this.root = a;
+  this.nextId = 0;
+  this.cells = null;
+  this.cellAdded(a);
+  return b
 };
 mxGraphModel.prototype.isRoot = function(a) {
-    return null != a && this.root == a
+  return null != a && this.root == a
 };
 mxGraphModel.prototype.isLayer = function(a) {
-    return this.isRoot(this.getParent(a))
+  return this.isRoot(this.getParent(a))
 };
 mxGraphModel.prototype.isAncestor = function(a, b) {
-    for (; null != b && b != a;) b = this.getParent(b);
-    return b == a
+  for (; null != b && b != a;) b = this.getParent(b);
+  return b == a
 };
 mxGraphModel.prototype.contains = function(a) {
-    return this.isAncestor(this.root, a)
+  return this.isAncestor(this.root, a)
 };
 mxGraphModel.prototype.getParent = function(a) {
-    return null != a ? a.getParent() : null
+  return null != a ? a.getParent() : null
 };
 mxGraphModel.prototype.add = function(a, b, c) {
-    if (b != a && null != a && null != b) {
-        null == c && (c = this.getChildCount(a));
-        var d = a != this.getParent(b);
-        this.execute(new mxChildChange(this, a, b, c));
-        this.maintainEdgeParent && d && this.updateEdgeParents(b)
-    }
-    return b
+  if (b != a && null != a && null != b) {
+    null == c && (c = this.getChildCount(a));
+    var d = a != this.getParent(b);
+    this.execute(new mxChildChange(this, a, b, c));
+    this.maintainEdgeParent && d && this.updateEdgeParents(b)
+  }
+  return b
 };
 mxGraphModel.prototype.cellAdded = function(a) {
-    if (null != a) {
-        null == a.getId() && this.createIds && a.setId(this.createId(a));
-        if (null != a.getId()) {
-            var b = this.getCell(a.getId());
-            if (b != a) {
-                for (; null != b;) a.setId(this.createId(a)), b = this.getCell(a.getId());
-                null == this.cells && (this.cells = {});
-                this.cells[a.getId()] = a
-            }
-        }
-        mxUtils.isNumeric(a.getId()) && (this.nextId = Math.max(this.nextId, a.getId()));
-        for (var b = this.getChildCount(a), c = 0; c < b; c++) this.cellAdded(this.getChildAt(a, c))
-    }
+  if (null != a) {
+    null == a.getId() && this.createIds && a.setId(this.createId(a));
+    if (null != a.getId()) {
+      var b = this.getCell(a.getId());
+      if (b != a) {
+        for (; null != b;) a.setId(this.createId(a)), b = this.getCell(a.getId());
+        null == this.cells && (this.cells = {});
+        this.cells[a.getId()] = a
+      }
+    }
+    mxUtils.isNumeric(a.getId()) && (this.nextId = Math.max(this.nextId, a.getId()));
+    for (var b = this.getChildCount(a), c = 0; c < b; c++) this.cellAdded(this.getChildAt(a, c))
+  }
 };
 mxGraphModel.prototype.createId = function(a) {
-    a = this.nextId;
-    this.nextId++;
-    return this.prefix + a + this.postfix
+  a = this.nextId;
+  this.nextId++;
+  return this.prefix + a + this.postfix
 };
 mxGraphModel.prototype.updateEdgeParents = function(a, b) {
-    b = b || this.getRoot(a);
-    for (var c = this.getChildCount(a), d = 0; d < c; d++) {
-        var e = this.getChildAt(a, d);
-        this.updateEdgeParents(e, b)
-    }
-    e = this.getEdgeCount(a);
-    c = [];
-    for (d = 0; d < e; d++) c.push(this.getEdgeAt(a, d));
-    for (d = 0; d < c.length; d++) e = c[d], this.isAncestor(b, e) && this.updateEdgeParent(e, b)
+  b = b || this.getRoot(a);
+  for (var c = this.getChildCount(a), d = 0; d < c; d++) {
+    var e = this.getChildAt(a, d);
+    this.updateEdgeParents(e, b)
+  }
+  e = this.getEdgeCount(a);
+  c = [];
+  for (d = 0; d < e; d++) c.push(this.getEdgeAt(a, d));
+  for (d = 0; d < c.length; d++) e = c[d], this.isAncestor(b, e) && this.updateEdgeParent(e, b)
 };
 mxGraphModel.prototype.updateEdgeParent = function(a, b) {
-    for (var c = this.getTerminal(a, !0), d = this.getTerminal(a, !1), e = null; null != c && !this.isEdge(c) && null != c.geometry && c.geometry.relative;) c = this.getParent(c);
-    for (; null != d && !this.isEdge(d) && null != d.geometry && d.geometry.relative;) d = this.getParent(d);
-    if (this.isAncestor(b, c) && this.isAncestor(b, d) && (e = c == d ? this.getParent(c) : this.getNearestCommonAncestor(c, d), null != e && (this.getParent(e) != this.root || this.isAncestor(e, a)) && this.getParent(a) != e)) {
-        c = this.getGeometry(a);
-        if (null != c) {
-            var f = this.getOrigin(this.getParent(a)),
-                g = this.getOrigin(e),
-                d = g.x - f.x,
-                f = g.y - f.y,
-                c = c.clone();
-            c.translate(-d, -f);
-            this.setGeometry(a, c)
-        }
-        this.add(e, a, this.getChildCount(e))
+  for (var c = this.getTerminal(a, !0), d = this.getTerminal(a, !1), e = null; null != c && !this.isEdge(c) && null != c.geometry && c.geometry.relative;) c = this.getParent(c);
+  for (; null != d && !this.isEdge(d) && null != d.geometry && d.geometry.relative;) d = this.getParent(d);
+  if (this.isAncestor(b, c) && this.isAncestor(b, d) && (e = c == d ? this.getParent(c) : this.getNearestCommonAncestor(c, d), null != e && (this.getParent(e) != this.root || this.isAncestor(e, a)) &&
+      this.getParent(a) != e)) {
+    c = this.getGeometry(a);
+    if (null != c) {
+      var f = this.getOrigin(this.getParent(a)),
+        g = this.getOrigin(e),
+        d = g.x - f.x,
+        f = g.y - f.y,
+        c = c.clone();
+      c.translate(-d, -f);
+      this.setGeometry(a, c)
     }
+    this.add(e, a, this.getChildCount(e))
+  }
 };
 mxGraphModel.prototype.getOrigin = function(a) {
-    var b = null;
-    null != a ? (b = this.getOrigin(this.getParent(a)), this.isEdge(a) || (a = this.getGeometry(a), null != a && (b.x += a.x, b.y += a.y))) : b = new mxPoint;
-    return b
+  var b = null;
+  null != a ? (b = this.getOrigin(this.getParent(a)), this.isEdge(a) || (a = this.getGeometry(a), null != a && (b.x += a.x, b.y += a.y))) : b = new mxPoint;
+  return b
 };
 mxGraphModel.prototype.getNearestCommonAncestor = function(a, b) {
-    if (null != a && null != b) {
-        var c = mxCellPath.create(b);
-        if (null != c && 0 < c.length) {
-            var d = a,
-                e = mxCellPath.create(d);
-            if (c.length < e.length) var d = b,
-                f = e,
-                e = c,
-                c = f;
-            for (; null != d;) {
-                f = this.getParent(d);
-                if (0 == c.indexOf(e + mxCellPath.PATH_SEPARATOR) && null != f) return d;
-                e = mxCellPath.getParentPath(e);
-                d = f
-            }
-        }
-    }
-    return null
+  if (null != a && null != b) {
+    var c = mxCellPath.create(b);
+    if (null != c && 0 < c.length) {
+      var d = a,
+        e = mxCellPath.create(d);
+      if (c.length < e.length) var d = b,
+        f = e,
+        e = c,
+        c = f;
+      for (; null != d;) {
+        f = this.getParent(d);
+        if (0 == c.indexOf(e + mxCellPath.PATH_SEPARATOR) && null != f) return d;
+        e = mxCellPath.getParentPath(e);
+        d = f
+      }
+    }
+  }
+  return null
 };
 mxGraphModel.prototype.remove = function(a) {
-    a == this.root ? this.setRoot(null) : null != this.getParent(a) && this.execute(new mxChildChange(this, null, a));
-    return a
+  a == this.root ? this.setRoot(null) : null != this.getParent(a) && this.execute(new mxChildChange(this, null, a));
+  return a
 };
 mxGraphModel.prototype.cellRemoved = function(a) {
-    if (null != a && null != this.cells) {
-        for (var b = this.getChildCount(a) - 1; 0 <= b; b--) this.cellRemoved(this.getChildAt(a, b));
-        null != this.cells && null != a.getId() && delete this.cells[a.getId()]
-    }
+  if (null != a && null != this.cells) {
+    for (var b = this.getChildCount(a) - 1; 0 <= b; b--) this.cellRemoved(this.getChildAt(a, b));
+    null != this.cells && null != a.getId() && delete this.cells[a.getId()]
+  }
 };
 mxGraphModel.prototype.parentForCellChanged = function(a, b, c) {
-    var d = this.getParent(a);
-    null != b ? (b != d || d.getIndex(a) != c) && b.insert(a, c) : null != d && (c = d.getIndex(a), d.remove(c));
-    !this.contains(d) && null != b ? this.cellAdded(a) : null == b && this.cellRemoved(a);
-    return d
+  var d = this.getParent(a);
+  null != b ? (b != d || d.getIndex(a) != c) && b.insert(a, c) : null != d && (c = d.getIndex(a), d.remove(c));
+  !this.contains(d) && null != b ? this.cellAdded(a) : null == b && this.cellRemoved(a);
+  return d
 };
 mxGraphModel.prototype.getChildCount = function(a) {
-    return null != a ? a.getChildCount() : 0
+  return null != a ? a.getChildCount() : 0
 };
 mxGraphModel.prototype.getChildAt = function(a, b) {
-    return null != a ? a.getChildAt(b) : null
+  return null != a ? a.getChildAt(b) : null
 };
 mxGraphModel.prototype.getChildren = function(a) {
-    return null != a ? a.children : null
+  return null != a ? a.children : null
 };
 mxGraphModel.prototype.getChildVertices = function(a) {
-    return this.getChildCells(a, !0, !1)
+  return this.getChildCells(a, !0, !1)
 };
 mxGraphModel.prototype.getChildEdges = function(a) {
-    return this.getChildCells(a, !1, !0)
+  return this.getChildCells(a, !1, !0)
 };
 mxGraphModel.prototype.getChildCells = function(a, b, c) {
-    b = null != b ? b : !1;
-    c = null != c ? c : !1;
-    for (var d = this.getChildCount(a), e = [], f = 0; f < d; f++) {
-        var g = this.getChildAt(a, f);
-        (!c && !b || c && this.isEdge(g) || b && this.isVertex(g)) && e.push(g)
-    }
-    return e
+  b = null != b ? b : !1;
+  c = null != c ? c : !1;
+  for (var d = this.getChildCount(a), e = [], f = 0; f < d; f++) {
+    var g = this.getChildAt(a, f);
+    (!c && !b || c && this.isEdge(g) || b && this.isVertex(g)) && e.push(g)
+  }
+  return e
 };
 mxGraphModel.prototype.getTerminal = function(a, b) {
-    return null != a ? a.getTerminal(b) : null
+  return null != a ? a.getTerminal(b) : null
 };
 mxGraphModel.prototype.setTerminal = function(a, b, c) {
-    var d = b != this.getTerminal(a, c);
-    this.execute(new mxTerminalChange(this, a, b, c));
-    this.maintainEdgeParent && d && this.updateEdgeParent(a, this.getRoot());
-    return b
+  var d = b != this.getTerminal(a, c);
+  this.execute(new mxTerminalChange(this, a, b, c));
+  this.maintainEdgeParent && d && this.updateEdgeParent(a, this.getRoot());
+  return b
 };
 mxGraphModel.prototype.setTerminals = function(a, b, c) {
-    this.beginUpdate();
-    try {
-        this.setTerminal(a, b, !0), this.setTerminal(a, c, !1)
-    } finally {
-        this.endUpdate()
-    }
+  this.beginUpdate();
+  try {
+    this.setTerminal(a, b, !0), this.setTerminal(a, c, !1)
+  } finally {
+    this.endUpdate()
+  }
 };
 mxGraphModel.prototype.terminalForCellChanged = function(a, b, c) {
-    var d = this.getTerminal(a, c);
-    null != b ? b.insertEdge(a, c) : null != d && d.removeEdge(a, c);
-    return d
+  var d = this.getTerminal(a, c);
+  null != b ? b.insertEdge(a, c) : null != d && d.removeEdge(a, c);
+  return d
 };
 mxGraphModel.prototype.getEdgeCount = function(a) {
-    return null != a ? a.getEdgeCount() : 0
+  return null != a ? a.getEdgeCount() : 0
 };
 mxGraphModel.prototype.getEdgeAt = function(a, b) {
-    return null != a ? a.getEdgeAt(b) : null
+  return null != a ? a.getEdgeAt(b) : null
 };
 mxGraphModel.prototype.getDirectedEdgeCount = function(a, b, c) {
-    for (var d = 0, e = this.getEdgeCount(a), f = 0; f < e; f++) {
-        var g = this.getEdgeAt(a, f);
-        g != c && this.getTerminal(g, b) == a && d++
-    }
-    return d
+  for (var d = 0, e = this.getEdgeCount(a), f = 0; f < e; f++) {
+    var g = this.getEdgeAt(a, f);
+    g != c && this.getTerminal(g, b) == a && d++
+  }
+  return d
 };
 mxGraphModel.prototype.getConnections = function(a) {
-    return this.getEdges(a, !0, !0, !1)
+  return this.getEdges(a, !0, !0, !1)
 };
 mxGraphModel.prototype.getIncomingEdges = function(a) {
-    return this.getEdges(a, !0, !1, !1)
+  return this.getEdges(a, !0, !1, !1)
 };
 mxGraphModel.prototype.getOutgoingEdges = function(a) {
-    return this.getEdges(a, !1, !0, !1)
+  return this.getEdges(a, !1, !0, !1)
 };
 mxGraphModel.prototype.getEdges = function(a, b, c, d) {
-    b = null != b ? b : !0;
-    c = null != c ? c : !0;
-    d = null != d ? d : !0;
-    for (var e = this.getEdgeCount(a), f = [], g = 0; g < e; g++) {
-        var h = this.getEdgeAt(a, g),
-            k = this.getTerminal(h, !0),
-            l = this.getTerminal(h, !1);
-        (d && k == l || k != l && (b && l == a || c && k == a)) && f.push(h)
-    }
-    return f
+  b = null != b ? b : !0;
+  c = null != c ? c : !0;
+  d = null != d ? d : !0;
+  for (var e = this.getEdgeCount(a), f = [], g = 0; g < e; g++) {
+    var h = this.getEdgeAt(a, g),
+      k = this.getTerminal(h, !0),
+      l = this.getTerminal(h, !1);
+    (d && k == l || k != l && (b && l == a || c && k == a)) && f.push(h)
+  }
+  return f
 };
 mxGraphModel.prototype.getEdgesBetween = function(a, b, c) {
-    c = null != c ? c : !1;
-    var d = this.getEdgeCount(a),
-        e = this.getEdgeCount(b),
-        f = a,
-        g = d;
-    e < d && (g = e, f = b);
-    d = [];
-    for (e = 0; e < g; e++) {
-        var h = this.getEdgeAt(f, e),
-            k = this.getTerminal(h, !0),
-            l = this.getTerminal(h, !1),
-            m = l == a && k == b;
-        (k == a && l == b || !c && m) && d.push(h)
-    }
-    return d
+  c = null != c ? c : !1;
+  var d = this.getEdgeCount(a),
+    e = this.getEdgeCount(b),
+    f = a,
+    g = d;
+  e < d && (g = e, f = b);
+  d = [];
+  for (e = 0; e < g; e++) {
+    var h = this.getEdgeAt(f, e),
+      k = this.getTerminal(h, !0),
+      l = this.getTerminal(h, !1),
+      m = l == a && k == b;
+    (k == a && l == b || !c && m) && d.push(h)
+  }
+  return d
 };
 mxGraphModel.prototype.getOpposites = function(a, b, c, d) {
-    c = null != c ? c : !0;
-    d = null != d ? d : !0;
-    var e = [];
-    if (null != a)
-        for (var f = 0; f < a.length; f++) {
-            var g = this.getTerminal(a[f], !0),
-                h = this.getTerminal(a[f], !1);
-            g == b && null != h && h != b && d ? e.push(h) : h == b && (null != g && g != b && c) && e.push(g)
-        }
-    return e
+  c = null != c ? c : !0;
+  d = null != d ? d : !0;
+  var e = [];
+  if (null != a)
+    for (var f = 0; f < a.length; f++) {
+      var g = this.getTerminal(a[f], !0),
+        h = this.getTerminal(a[f], !1);
+      g == b && null != h && h != b && d ? e.push(h) : h == b && (null != g && g != b && c) && e.push(g)
+    }
+  return e
 };
 mxGraphModel.prototype.getTopmostCells = function(a) {
-    for (var b = [], c = 0; c < a.length; c++) {
-        for (var d = a[c], e = !0, f = this.getParent(d); null != f;) {
-            if (0 <= mxUtils.indexOf(a, f)) {
-                e = !1;
-                break
-            }
-            f = this.getParent(f)
-        }
-        e && b.push(d)
+  for (var b = [], c = 0; c < a.length; c++) {
+    for (var d = a[c], e = !0, f = this.getParent(d); null != f;) {
+      if (0 <= mxUtils.indexOf(a, f)) {
+        e = !1;
+        break
+      }
+      f = this.getParent(f)
     }
-    return b
+    e && b.push(d)
+  }
+  return b
 };
 mxGraphModel.prototype.isVertex = function(a) {
-    return null != a ? a.isVertex() : !1
+  return null != a ? a.isVertex() : !1
 };
 mxGraphModel.prototype.isEdge = function(a) {
-    return null != a ? a.isEdge() : !1
+  return null != a ? a.isEdge() : !1
 };
 mxGraphModel.prototype.isConnectable = function(a) {
-    return null != a ? a.isConnectable() : !1
+  return null != a ? a.isConnectable() : !1
 };
 mxGraphModel.prototype.getValue = function(a) {
-    return null != a ? a.getValue() : null
+  return null != a ? a.getValue() : null
 };
 mxGraphModel.prototype.setValue = function(a, b) {
-    this.execute(new mxValueChange(this, a, b));
-    return b
+  this.execute(new mxValueChange(this, a, b));
+  return b
 };
 mxGraphModel.prototype.valueForCellChanged = function(a, b) {
-    return a.valueChanged(b)
+  return a.valueChanged(b)
 };
 mxGraphModel.prototype.getGeometry = function(a, b) {
-    return null != a ? a.getGeometry() : null
+  return null != a ? a.getGeometry() : null
 };
 mxGraphModel.prototype.setGeometry = function(a, b) {
-    b != this.getGeometry(a) && this.execute(new mxGeometryChange(this, a, b));
-    return b
+  b != this.getGeometry(a) && this.execute(new mxGeometryChange(this, a, b));
+  return b
 };
 mxGraphModel.prototype.geometryForCellChanged = function(a, b) {
-    var c = this.getGeometry(a);
-    a.setGeometry(b);
-    return c
+  var c = this.getGeometry(a);
+  a.setGeometry(b);
+  return c
 };
 mxGraphModel.prototype.getStyle = function(a) {
-    return null != a ? a.getStyle() : null
+  return null != a ? a.getStyle() : null
 };
 mxGraphModel.prototype.setStyle = function(a, b) {
-    b != this.getStyle(a) && this.execute(new mxStyleChange(this, a, b));
-    return b
+  b != this.getStyle(a) && this.execute(new mxStyleChange(this, a, b));
+  return b
 };
 mxGraphModel.prototype.styleForCellChanged = function(a, b) {
-    var c = this.getStyle(a);
-    a.setStyle(b);
-    return c
+  var c = this.getStyle(a);
+  a.setStyle(b);
+  return c
 };
 mxGraphModel.prototype.isCollapsed = function(a) {
-    return null != a ? a.isCollapsed() : !1
+  return null != a ? a.isCollapsed() : !1
 };
 mxGraphModel.prototype.setCollapsed = function(a, b) {
-    b != this.isCollapsed(a) && this.execute(new mxCollapseChange(this, a, b));
-    return b
+  b != this.isCollapsed(a) && this.execute(new mxCollapseChange(this, a, b));
+  return b
 };
 mxGraphModel.prototype.collapsedStateForCellChanged = function(a, b) {
-    var c = this.isCollapsed(a);
-    a.setCollapsed(b);
-    return c
+  var c = this.isCollapsed(a);
+  a.setCollapsed(b);
+  return c
 };
 mxGraphModel.prototype.isVisible = function(a) {
-    return null != a ? a.isVisible() : !1
+  return null != a ? a.isVisible() : !1
 };
 mxGraphModel.prototype.setVisible = function(a, b) {
-    b != this.isVisible(a) && this.execute(new mxVisibleChange(this, a, b));
-    return b
+  b != this.isVisible(a) && this.execute(new mxVisibleChange(this, a, b));
+  return b
 };
 mxGraphModel.prototype.visibleStateForCellChanged = function(a, b) {
-    var c = this.isVisible(a);
-    a.setVisible(b);
-    return c
+  var c = this.isVisible(a);
+  a.setVisible(b);
+  return c
 };
 mxGraphModel.prototype.execute = function(a) {
-    a.execute();
-    this.beginUpdate();
-    this.currentEdit.add(a);
-    this.fireEvent(new mxEventObject(mxEvent.EXECUTE, "change", a));
-    this.fireEvent(new mxEventObject(mxEvent.EXECUTED, "change", a));
-    this.endUpdate()
+  a.execute();
+  this.beginUpdate();
+  this.currentEdit.add(a);
+  this.fireEvent(new mxEventObject(mxEvent.EXECUTE, "change", a));
+  this.fireEvent(new mxEventObject(mxEvent.EXECUTED, "change", a));
+  this.endUpdate()
 };
 mxGraphModel.prototype.beginUpdate = function() {
-    this.updateLevel++;
-    this.fireEvent(new mxEventObject(mxEvent.BEGIN_UPDATE));
-    1 == this.updateLevel && this.fireEvent(new mxEventObject(mxEvent.START_EDIT))
+  this.updateLevel++;
+  this.fireEvent(new mxEventObject(mxEvent.BEGIN_UPDATE));
+  1 == this.updateLevel && this.fireEvent(new mxEventObject(mxEvent.START_EDIT))
 };
 mxGraphModel.prototype.endUpdate = function() {
-    this.updateLevel--;
-    0 == this.updateLevel && this.fireEvent(new mxEventObject(mxEvent.END_EDIT));
-    if (!this.endingUpdate) {
-        this.endingUpdate = 0 == this.updateLevel;
-        this.fireEvent(new mxEventObject(mxEvent.END_UPDATE, "edit", this.currentEdit));
-        try {
-            if (this.endingUpdate && !this.currentEdit.isEmpty()) {
-                this.fireEvent(new mxEventObject(mxEvent.BEFORE_UNDO, "edit", this.currentEdit));
-                var a = this.currentEdit;
-                this.currentEdit = this.createUndoableEdit();
-                a.notify();
-                this.fireEvent(new mxEventObject(mxEvent.UNDO,
-                    "edit", a))
-            }
-        } finally {
-            this.endingUpdate = !1
-        }
+  this.updateLevel--;
+  0 == this.updateLevel && this.fireEvent(new mxEventObject(mxEvent.END_EDIT));
+  if (!this.endingUpdate) {
+    this.endingUpdate = 0 == this.updateLevel;
+    this.fireEvent(new mxEventObject(mxEvent.END_UPDATE, "edit", this.currentEdit));
+    try {
+      if (this.endingUpdate && !this.currentEdit.isEmpty()) {
+        this.fireEvent(new mxEventObject(mxEvent.BEFORE_UNDO, "edit", this.currentEdit));
+        var a = this.currentEdit;
+        this.currentEdit = this.createUndoableEdit();
+        a.notify();
+        this.fireEvent(new mxEventObject(mxEvent.UNDO,
+          "edit", a))
+      }
+    } finally {
+      this.endingUpdate = !1
     }
+  }
 };
 mxGraphModel.prototype.createUndoableEdit = function() {
-    var a = new mxUndoableEdit(this, !0);
-    a.notify = function() {
-        a.source.fireEvent(new mxEventObject(mxEvent.CHANGE, "edit", a, "changes", a.changes));
-        a.source.fireEvent(new mxEventObject(mxEvent.NOTIFY, "edit", a, "changes", a.changes))
-    };
-    return a
+  var a = new mxUndoableEdit(this, !0);
+  a.notify = function() {
+    a.source.fireEvent(new mxEventObject(mxEvent.CHANGE, "edit", a, "changes", a.changes));
+    a.source.fireEvent(new mxEventObject(mxEvent.NOTIFY, "edit", a, "changes", a.changes))
+  };
+  return a
 };
 mxGraphModel.prototype.mergeChildren = function(a, b, c) {
-    c = null != c ? c : !0;
-    this.beginUpdate();
-    try {
-        var d = {};
-        this.mergeChildrenImpl(a, b, c, d);
-        for (var e in d) {
-            var f = d[e],
-                g = this.getTerminal(f, !0);
-            null != g && (g = d[mxCellPath.create(g)], this.setTerminal(f, g, !0));
-            g = this.getTerminal(f, !1);
-            null != g && (g = d[mxCellPath.create(g)], this.setTerminal(f, g, !1))
-        }
-    } finally {
-        this.endUpdate()
-    }
+  c = null != c ? c : !0;
+  this.beginUpdate();
+  try {
+    var d = {};
+    this.mergeChildrenImpl(a, b, c, d);
+    for (var e in d) {
+      var f = d[e],
+        g = this.getTerminal(f, !0);
+      null != g && (g = d[mxCellPath.create(g)], this.setTerminal(f, g, !0));
+      g = this.getTerminal(f, !1);
+      null != g && (g = d[mxCellPath.create(g)], this.setTerminal(f, g, !1))
+    }
+  } finally {
+    this.endUpdate()
+  }
 };
 mxGraphModel.prototype.mergeChildrenImpl = function(a, b, c, d) {
-    this.beginUpdate();
-    try {
-        for (var e = a.getChildCount(), f = 0; f < e; f++) {
-            var g = a.getChildAt(f);
-            if ("function" == typeof g.getId) {
-                var h = g.getId(),
-                    k = null != h && (!this.isEdge(g) || !c) ? this.getCell(h) : null;
-                if (null == k) {
-                    var l = g.clone();
-                    l.setId(h);
-                    l.setTerminal(g.getTerminal(!0), !0);
-                    l.setTerminal(g.getTerminal(!1), !1);
-                    k = b.insert(l);
-                    this.cellAdded(k)
-                }
-                d[mxCellPath.create(g)] = k;
-                this.mergeChildrenImpl(g, k, c, d)
-            }
+  this.beginUpdate();
+  try {
+    for (var e = a.getChildCount(), f = 0; f < e; f++) {
+      var g = a.getChildAt(f);
+      if ("function" == typeof g.getId) {
+        var h = g.getId(),
+          k = null != h && (!this.isEdge(g) || !c) ? this.getCell(h) : null;
+        if (null == k) {
+          var l = g.clone();
+          l.setId(h);
+          l.setTerminal(g.getTerminal(!0), !0);
+          l.setTerminal(g.getTerminal(!1), !1);
+          k = b.insert(l);
+          this.cellAdded(k)
         }
-    } finally {
-        this.endUpdate()
+        d[mxCellPath.create(g)] = k;
+        this.mergeChildrenImpl(g, k, c, d)
+      }
     }
+  } finally {
+    this.endUpdate()
+  }
 };
 mxGraphModel.prototype.getParents = function(a) {
-    var b = [];
-    if (null != a)
-        for (var c = {}, d = 0; d < a.length; d++) {
-            var e = this.getParent(a[d]);
-            if (null != e) {
-                var f = mxCellPath.create(e);
-                null == c[f] && (c[f] = e, b.push(e))
-            }
-        }
-    return b
+  var b = [];
+  if (null != a)
+    for (var c = {}, d = 0; d < a.length; d++) {
+      var e = this.getParent(a[d]);
+      if (null != e) {
+        var f = mxCellPath.create(e);
+        null == c[f] && (c[f] = e, b.push(e))
+      }
+    }
+  return b
 };
 mxGraphModel.prototype.cloneCell = function(a) {
-    return null != a ? this.cloneCells([a], !0)[0] : null
+  return null != a ? this.cloneCells([a], !0)[0] : null
 };
 mxGraphModel.prototype.cloneCells = function(a, b) {
-    for (var c = {}, d = [], e = 0; e < a.length; e++) null != a[e] ? d.push(this.cloneCellImpl(a[e], c, b)) : d.push(null);
-    for (e = 0; e < d.length; e++) null != d[e] && this.restoreClone(d[e], a[e], c);
-    return d
+  for (var c = {}, d = [], e = 0; e < a.length; e++) null != a[e] ? d.push(this.cloneCellImpl(a[e], c, b)) : d.push(null);
+  for (e = 0; e < d.length; e++) null != d[e] && this.restoreClone(d[e], a[e], c);
+  return d
 };
 mxGraphModel.prototype.cloneCellImpl = function(a, b, c) {
-    var d = this.cellCloned(a);
-    b[mxObjectIdentity.get(a)] = d;
-    if (c) {
-        c = this.getChildCount(a);
-        for (var e = 0; e < c; e++) {
-            var f = this.cloneCellImpl(this.getChildAt(a, e), b, !0);
-            d.insert(f)
-        }
+  var d = this.cellCloned(a);
+  b[mxObjectIdentity.get(a)] = d;
+  if (c) {
+    c = this.getChildCount(a);
+    for (var e = 0; e < c; e++) {
+      var f = this.cloneCellImpl(this.getChildAt(a, e), b, !0);
+      d.insert(f)
     }
-    return d
+  }
+  return d
 };
 mxGraphModel.prototype.cellCloned = function(a) {
-    return a.clone()
+  return a.clone()
 };
 mxGraphModel.prototype.restoreClone = function(a, b, c) {
-    var d = this.getTerminal(b, !0);
-    null != d && (d = c[mxObjectIdentity.get(d)], null != d && d.insertEdge(a, !0));
-    d = this.getTerminal(b, !1);
-    null != d && (d = c[mxObjectIdentity.get(d)], null != d && d.insertEdge(a, !1));
-    for (var d = this.getChildCount(a), e = 0; e < d; e++) this.restoreClone(this.getChildAt(a, e), this.getChildAt(b, e), c)
+  var d = this.getTerminal(b, !0);
+  null != d && (d = c[mxObjectIdentity.get(d)], null != d && d.insertEdge(a, !0));
+  d = this.getTerminal(b, !1);
+  null != d && (d = c[mxObjectIdentity.get(d)], null != d && d.insertEdge(a, !1));
+  for (var d = this.getChildCount(a), e = 0; e < d; e++) this.restoreClone(this.getChildAt(a, e), this.getChildAt(b, e), c)
 };
 
 function mxRootChange(a, b) {
-    this.model = a;
-    this.previous = this.root = b
+  this.model = a;
+  this.previous = this.root = b
 }
 mxRootChange.prototype.execute = function() {
-    this.root = this.previous;
-    this.previous = this.model.rootChanged(this.previous)
+  this.root = this.previous;
+  this.previous = this.model.rootChanged(this.previous)
 };
 
 function mxChildChange(a, b, c, d) {
-    this.model = a;
-    this.previous = this.parent = b;
-    this.child = c;
-    this.previousIndex = this.index = d
+  this.model = a;
+  this.previous = this.parent = b;
+  this.child = c;
+  this.previousIndex = this.index = d
 }
 mxChildChange.prototype.execute = function() {
-    var a = this.model.getParent(this.child),
-        b = null != a ? a.getIndex(this.child) : 0;
-    null == this.previous && this.connect(this.child, !1);
-    a = this.model.parentForCellChanged(this.child, this.previous, this.previousIndex);
-    null != this.previous && this.connect(this.child, !0);
-    this.parent = this.previous;
-    this.previous = a;
-    this.index = this.previousIndex;
-    this.previousIndex = b
+  var a = this.model.getParent(this.child),
+    b = null != a ? a.getIndex(this.child) : 0;
+  null == this.previous && this.connect(this.child, !1);
+  a = this.model.parentForCellChanged(this.child, this.previous, this.previousIndex);
+  null != this.previous && this.connect(this.child, !0);
+  this.parent = this.previous;
+  this.previous = a;
+  this.index = this.previousIndex;
+  this.previousIndex = b
 };
 mxChildChange.prototype.connect = function(a, b) {
-    b = null != b ? b : !0;
-    var c = a.getTerminal(!0),
-        d = a.getTerminal(!1);
-    null != c && (b ? this.model.terminalForCellChanged(a, c, !0) : this.model.terminalForCellChanged(a, null, !0));
-    null != d && (b ? this.model.terminalForCellChanged(a, d, !1) : this.model.terminalForCellChanged(a, null, !1));
-    a.setTerminal(c, !0);
-    a.setTerminal(d, !1);
-    c = this.model.getChildCount(a);
-    for (d = 0; d < c; d++) this.connect(this.model.getChildAt(a, d), b)
+  b = null != b ? b : !0;
+  var c = a.getTerminal(!0),
+    d = a.getTerminal(!1);
+  null != c && (b ? this.model.terminalForCellChanged(a, c, !0) : this.model.terminalForCellChanged(a, null, !0));
+  null != d && (b ? this.model.terminalForCellChanged(a, d, !1) : this.model.terminalForCellChanged(a, null, !1));
+  a.setTerminal(c, !0);
+  a.setTerminal(d, !1);
+  c = this.model.getChildCount(a);
+  for (d = 0; d < c; d++) this.connect(this.model.getChildAt(a, d), b)
 };
 
 function mxTerminalChange(a, b, c, d) {
-    this.model = a;
-    this.cell = b;
-    this.previous = this.terminal = c;
-    this.source = d
+  this.model = a;
+  this.cell = b;
+  this.previous = this.terminal = c;
+  this.source = d
 }
 mxTerminalChange.prototype.execute = function() {
-    this.terminal = this.previous;
-    this.previous = this.model.terminalForCellChanged(this.cell, this.previous, this.source)
+  this.terminal = this.previous;
+  this.previous = this.model.terminalForCellChanged(this.cell, this.previous, this.source)
 };
 
 function mxValueChange(a, b, c) {
-    this.model = a;
-    this.cell = b;
-    this.previous = this.value = c
+  this.model = a;
+  this.cell = b;
+  this.previous = this.value = c
 }
 mxValueChange.prototype.execute = function() {
-    this.value = this.previous;
-    this.previous = this.model.valueForCellChanged(this.cell, this.previous)
+  this.value = this.previous;
+  this.previous = this.model.valueForCellChanged(this.cell, this.previous)
 };
 
 function mxStyleChange(a, b, c) {
-    this.model = a;
-    this.cell = b;
-    this.previous = this.style = c
+  this.model = a;
+  this.cell = b;
+  this.previous = this.style = c
 }
 mxStyleChange.prototype.execute = function() {
-    this.style = this.previous;
-    this.previous = this.model.styleForCellChanged(this.cell, this.previous)
+  this.style = this.previous;
+  this.previous = this.model.styleForCellChanged(this.cell, this.previous)
 };
 
 function mxGeometryChange(a, b, c) {
-    this.model = a;
-    this.cell = b;
-    this.previous = this.geometry = c
+  this.model = a;
+  this.cell = b;
+  this.previous = this.geometry = c
 }
 mxGeometryChange.prototype.execute = function() {
-    this.geometry = this.previous;
-    this.previous = this.model.geometryForCellChanged(this.cell, this.previous)
+  this.geometry = this.previous;
+  this.previous = this.model.geometryForCellChanged(this.cell, this.previous)
 };
 
 function mxCollapseChange(a, b, c) {
-    this.model = a;
-    this.cell = b;
-    this.previous = this.collapsed = c
+  this.model = a;
+  this.cell = b;
+  this.previous = this.collapsed = c
 }
 mxCollapseChange.prototype.execute = function() {
-    this.collapsed = this.previous;
-    this.previous = this.model.collapsedStateForCellChanged(this.cell, this.previous)
+  this.collapsed = this.previous;
+  this.previous = this.model.collapsedStateForCellChanged(this.cell, this.previous)
 };
 
 function mxVisibleChange(a, b, c) {
-    this.model = a;
-    this.cell = b;
-    this.previous = this.visible = c
+  this.model = a;
+  this.cell = b;
+  this.previous = this.visible = c
 }
 mxVisibleChange.prototype.execute = function() {
-    this.visible = this.previous;
-    this.previous = this.model.visibleStateForCellChanged(this.cell, this.previous)
+  this.visible = this.previous;
+  this.previous = this.model.visibleStateForCellChanged(this.cell, this.previous)
 };
 
 function mxCellAttributeChange(a, b, c) {
-    this.cell = a;
-    this.attribute = b;
-    this.previous = this.value = c
+  this.cell = a;
+  this.attribute = b;
+  this.previous = this.value = c
 }
 mxCellAttributeChange.prototype.execute = function() {
-    var a = this.cell.getAttribute(this.attribute);
-    null == this.previous ? this.cell.value.removeAttribute(this.attribute) : this.cell.setAttribute(this.attribute, this.previous);
-    this.previous = a
+  var a = this.cell.getAttribute(this.attribute);
+  null == this.previous ? this.cell.value.removeAttribute(this.attribute) : this.cell.setAttribute(this.attribute, this.previous);
+  this.previous = a
 };
 
 function mxCell(a, b, c) {
-    this.value = a;
-    this.setGeometry(b);
-    this.setStyle(c);
-    if (null != this.onInit) this.onInit()
+  this.value = a;
+  this.setGeometry(b);
+  this.setStyle(c);
+  if (null != this.onInit) this.onInit()
 }
 mxCell.prototype.id = null;
 mxCell.prototype.value = null;
@@ -8795,149 +8928,151 @@ mxCell.prototype.children = null;
 mxCell.prototype.edges = null;
 mxCell.prototype.mxTransient = "id value parent source target children edges".split(" ");
 mxCell.prototype.getId = function() {
-    return this.id
+  return this.id
 };
 mxCell.prototype.setId = function(a) {
-    this.id = a
+  this.id = a
 };
 mxCell.prototype.getValue = function() {
-    return this.value
+  return this.value
 };
 mxCell.prototype.setValue = function(a) {
-    this.value = a
+  this.value = a
 };
 mxCell.prototype.valueChanged = function(a) {
-    var b = this.getValue();
-    this.setValue(a);
-    return b
+  var b = this.getValue();
+  this.setValue(a);
+  return b
 };
 mxCell.prototype.getGeometry = function() {
-    return this.geometry
+  return this.geometry
 };
 mxCell.prototype.setGeometry = function(a) {
-    this.geometry = a
+  this.geometry = a
 };
 mxCell.prototype.getStyle = function() {
-    return this.style
+  return this.style
 };
 mxCell.prototype.setStyle = function(a) {
-    this.style = a
+  this.style = a
 };
 mxCell.prototype.isVertex = function() {
-    return this.vertex
+  return this.vertex
 };
 mxCell.prototype.setVertex = function(a) {
-    this.vertex = a
+  this.vertex = a
 };
 mxCell.prototype.isEdge = function() {
-    return this.edge
+  return this.edge
 };
 mxCell.prototype.setEdge = function(a) {
-    this.edge = a
+  this.edge = a
 };
 mxCell.prototype.isConnectable = function() {
-    return this.connectable
+  return this.connectable
 };
 mxCell.prototype.setConnectable = function(a) {
-    this.connectable = a
+  this.connectable = a
 };
 mxCell.prototype.isVisible = function() {
-    return this.visible
+  return this.visible
 };
 mxCell.prototype.setVisible = function(a) {
-    this.visible = a
+  this.visible = a
 };
 mxCell.prototype.isCollapsed = function() {
-    return this.collapsed
+  return this.collapsed
 };
 mxCell.prototype.setCollapsed = function(a) {
-    this.collapsed = a
+  this.collapsed = a
 };
 mxCell.prototype.getParent = function() {
-    return this.parent
+  return this.parent
 };
 mxCell.prototype.setParent = function(a) {
-    this.parent = a
+  this.parent = a
 };
 mxCell.prototype.getTerminal = function(a) {
-    return a ? this.source : this.target
+  return a ? this.source : this.target
 };
 mxCell.prototype.setTerminal = function(a, b) {
-    b ? this.source = a : this.target = a;
-    return a
+  b ? this.source = a : this.target = a;
+  return a
 };
 mxCell.prototype.getChildCount = function() {
-    return null == this.children ? 0 : this.children.length
+  return null == this.children ? 0 : this.children.length
 };
 mxCell.prototype.getIndex = function(a) {
-    return mxUtils.indexOf(this.children, a)
+  return mxUtils.indexOf(this.children, a)
 };
 mxCell.prototype.getChildAt = function(a) {
-    return null == this.children ? null : this.children[a]
+  return null == this.children ? null : this.children[a]
 };
 mxCell.prototype.insert = function(a, b) {
-    null != a && (null == b && (b = this.getChildCount(), a.getParent() == this && b--), a.removeFromParent(), a.setParent(this), null == this.children ? (this.children = [], this.children.push(a)) : this.children.splice(b, 0, a));
-    return a
+  null != a && (null == b && (b = this.getChildCount(), a.getParent() == this && b--), a.removeFromParent(), a.setParent(this), null == this.children ? (this.children = [], this.children.push(a)) :
+    this.children.splice(b, 0, a));
+  return a
 };
 mxCell.prototype.remove = function(a) {
-    var b = null;
-    null != this.children && 0 <= a && (b = this.getChildAt(a), null != b && (this.children.splice(a, 1), b.setParent(null)));
-    return b
+  var b = null;
+  null != this.children && 0 <= a && (b = this.getChildAt(a), null != b && (this.children.splice(a, 1), b.setParent(null)));
+  return b
 };
 mxCell.prototype.removeFromParent = function() {
-    if (null != this.parent) {
-        var a = this.parent.getIndex(this);
-        this.parent.remove(a)
-    }
+  if (null != this.parent) {
+    var a = this.parent.getIndex(this);
+    this.parent.remove(a)
+  }
 };
 mxCell.prototype.getEdgeCount = function() {
-    return null == this.edges ? 0 : this.edges.length
+  return null == this.edges ? 0 : this.edges.length
 };
 mxCell.prototype.getEdgeIndex = function(a) {
-    return mxUtils.indexOf(this.edges, a)
+  return mxUtils.indexOf(this.edges, a)
 };
 mxCell.prototype.getEdgeAt = function(a) {
-    return null == this.edges ? null : this.edges[a]
+  return null == this.edges ? null : this.edges[a]
 };
 mxCell.prototype.insertEdge = function(a, b) {
-    if (null != a && (a.removeFromTerminal(b), a.setTerminal(this, b), null == this.edges || a.getTerminal(!b) != this || 0 > mxUtils.indexOf(this.edges, a))) null == this.edges && (this.edges = []), this.edges.push(a);
-    return a
+  if (null != a && (a.removeFromTerminal(b), a.setTerminal(this, b), null == this.edges || a.getTerminal(!b) != this || 0 > mxUtils.indexOf(this.edges, a))) null == this.edges && (this.edges = []),
+    this.edges.push(a);
+  return a
 };
 mxCell.prototype.removeEdge = function(a, b) {
-    if (null != a) {
-        if (a.getTerminal(!b) != this && null != this.edges) {
-            var c = this.getEdgeIndex(a);
-            0 <= c && this.edges.splice(c, 1)
-        }
-        a.setTerminal(null, b)
+  if (null != a) {
+    if (a.getTerminal(!b) != this && null != this.edges) {
+      var c = this.getEdgeIndex(a);
+      0 <= c && this.edges.splice(c, 1)
     }
-    return a
+    a.setTerminal(null, b)
+  }
+  return a
 };
 mxCell.prototype.removeFromTerminal = function(a) {
-    var b = this.getTerminal(a);
-    null != b && b.removeEdge(this, a)
+  var b = this.getTerminal(a);
+  null != b && b.removeEdge(this, a)
 };
 mxCell.prototype.getAttribute = function(a, b) {
-    var c = this.getValue();
-    return (null != c && c.nodeType == mxConstants.NODETYPE_ELEMENT ? c.getAttribute(a) : null) || b
+  var c = this.getValue();
+  return (null != c && c.nodeType == mxConstants.NODETYPE_ELEMENT ? c.getAttribute(a) : null) || b
 };
 mxCell.prototype.setAttribute = function(a, b) {
-    var c = this.getValue();
-    null != c && c.nodeType == mxConstants.NODETYPE_ELEMENT && c.setAttribute(a, b)
+  var c = this.getValue();
+  null != c && c.nodeType == mxConstants.NODETYPE_ELEMENT && c.setAttribute(a, b)
 };
 mxCell.prototype.clone = function() {
-    var a = mxUtils.clone(this, this.mxTransient);
-    a.setValue(this.cloneValue());
-    return a
+  var a = mxUtils.clone(this, this.mxTransient);
+  a.setValue(this.cloneValue());
+  return a
 };
 mxCell.prototype.cloneValue = function() {
-    var a = this.getValue();
-    null != a && ("function" == typeof a.clone ? a = a.clone() : isNaN(a.nodeType) || (a = a.cloneNode(!0)));
-    return a
+  var a = this.getValue();
+  null != a && ("function" == typeof a.clone ? a = a.clone() : isNaN(a.nodeType) || (a = a.cloneNode(!0)));
+  return a
 };
 
 function mxGeometry(a, b, c, d) {
-    mxRectangle.call(this, a, b, c, d)
+  mxRectangle.call(this, a, b, c, d)
 }
 mxGeometry.prototype = new mxRectangle;
 mxGeometry.prototype.constructor = mxGeometry;
@@ -8949,170 +9084,178 @@ mxGeometry.prototype.points = null;
 mxGeometry.prototype.offset = null;
 mxGeometry.prototype.relative = !1;
 mxGeometry.prototype.swap = function() {
-    if (null != this.alternateBounds) {
-        var a = new mxRectangle(this.x, this.y, this.width, this.height);
-        this.x = this.alternateBounds.x;
-        this.y = this.alternateBounds.y;
-        this.width = this.alternateBounds.width;
-        this.height = this.alternateBounds.height;
-        this.alternateBounds = a
-    }
+  if (null != this.alternateBounds) {
+    var a = new mxRectangle(this.x, this.y, this.width, this.height);
+    this.x = this.alternateBounds.x;
+    this.y = this.alternateBounds.y;
+    this.width = this.alternateBounds.width;
+    this.height = this.alternateBounds.height;
+    this.alternateBounds = a
+  }
 };
 mxGeometry.prototype.getTerminalPoint = function(a) {
-    return a ? this.sourcePoint : this.targetPoint
+  return a ? this.sourcePoint : this.targetPoint
 };
 mxGeometry.prototype.setTerminalPoint = function(a, b) {
-    b ? this.sourcePoint = a : this.targetPoint = a;
-    return a
+  b ? this.sourcePoint = a : this.targetPoint = a;
+  return a
 };
 mxGeometry.prototype.translate = function(a, b) {
-    this.clone();
-    this.relative || (this.x += a, this.y += b);
-    null != this.sourcePoint && (this.sourcePoint.x += a, this.sourcePoint.y += b);
-    null != this.targetPoint && (this.targetPoint.x += a, this.targetPoint.y += b);
-    if (this.TRANSLATE_CONTROL_POINTS && null != this.points)
-        for (var c = this.points.length, d = 0; d < c; d++) {
-            var e = this.points[d];
-            null != e && (e.x += a, e.y += b)
-        }
+  this.clone();
+  this.relative || (this.x += a, this.y += b);
+  null != this.sourcePoint && (this.sourcePoint.x += a, this.sourcePoint.y += b);
+  null != this.targetPoint && (this.targetPoint.x += a, this.targetPoint.y += b);
+  if (this.TRANSLATE_CONTROL_POINTS && null != this.points)
+    for (var c = this.points.length, d = 0; d < c; d++) {
+      var e = this.points[d];
+      null != e && (e.x += a, e.y += b)
+    }
 };
 var mxCellPath = {
-        PATH_SEPARATOR: ".",
-        create: function(a) {
-            var b = "";
-            if (null != a)
-                for (var c = a.getParent(); null != c;) b = c.getIndex(a) + mxCellPath.PATH_SEPARATOR + b, a = c, c = a.getParent();
-            a = b.length;
-            1 < a && (b = b.substring(0, a - 1));
-            return b
-        },
-        getParentPath: function(a) {
-            if (null != a) {
-                var b = a.lastIndexOf(mxCellPath.PATH_SEPARATOR);
-                if (0 <= b) return a.substring(0, b);
-                if (0 < a.length) return ""
-            }
-            return null
-        },
-        resolve: function(a, b) {
-            var c = a;
-            if (null != b)
-                for (var d = b.split(mxCellPath.PATH_SEPARATOR), e = 0; e < d.length; e++) c = c.getChildAt(parseInt(d[e]));
-            return c
-        },
-        compare: function(a, b) {
-            for (var c = Math.min(a.length, b.length), d = 0, e = 0; e < c; e++)
-                if (a[e] != b[e]) {
-                    0 == a[e].length || 0 == b[e].length ? d = a[e] == b[e] ? 0 : a[e] > b[e] ? 1 : -1 : (c = parseInt(a[e]), e = parseInt(b[e]), d = c == e ? 0 : c > e ? 1 : -1);
-                    break
-                }
-            0 == d && (c = a.length, e = b.length, c != e && (d = c > e ? 1 : -1));
-            return d
-        }
+    PATH_SEPARATOR: ".",
+    create: function(a) {
+      var b = "";
+      if (null != a)
+        for (var c = a.getParent(); null != c;) b = c.getIndex(a) + mxCellPath.PATH_SEPARATOR + b, a = c, c = a.getParent();
+      a = b.length;
+      1 < a && (b = b.substring(0, a - 1));
+      return b
     },
-    mxPerimeter = {
-        RectanglePerimeter: function(a, b, c, d) {
-            b = a.getCenterX();
-            var e = a.getCenterY(),
-                f = Math.atan2(c.y - e, c.x - b),
-                g = new mxPoint(0, 0),
-                h = Math.PI,
-                k = Math.PI / 2 - f,
-                l = Math.atan2(a.height, a.width);
-            f < -h + l || f > h - l ? (g.x = a.x, g.y = e - a.width *
-                Math.tan(f) / 2) : f < -l ? (g.y = a.y, g.x = b - a.height * Math.tan(k) / 2) : f < l ? (g.x = a.x + a.width, g.y = e + a.width * Math.tan(f) / 2) : (g.y = a.y + a.height, g.x = b + a.height * Math.tan(k) / 2);
-            d && (c.x >= a.x && c.x <= a.x + a.width ? g.x = c.x : c.y >= a.y && c.y <= a.y + a.height && (g.y = c.y), c.x < a.x ? g.x = a.x : c.x > a.x + a.width && (g.x = a.x + a.width), c.y < a.y ? g.y = a.y : c.y > a.y + a.height && (g.y = a.y + a.height));
-            return g
-        },
-        EllipsePerimeter: function(a, b, c, d) {
-            var e = a.x,
-                f = a.y,
-                g = a.width / 2,
-                h = a.height / 2,
-                k = e + g,
-                l = f + h;
-            b = c.x;
-            c = c.y;
-            var m = parseInt(b - k),
-                n = parseInt(c - l);
-            if (0 == m && 0 != n) return new mxPoint(k,
-                l + h * n / Math.abs(n));
-            if (0 == m && 0 == n) return new mxPoint(b, c);
-            if (d) {
-                if (c >= f && c <= f + a.height) return a = c - l, a = Math.sqrt(g * g * (1 - a * a / (h * h))) || 0, b <= e && (a = -a), new mxPoint(k + a, c);
-                if (b >= e && b <= e + a.width) return a = b - k, a = Math.sqrt(h * h * (1 - a * a / (g * g))) || 0, c <= f && (a = -a), new mxPoint(b, l + a)
-            }
-            e = n / m;
-            l -= e * k;
-            f = g * g * e * e + h * h;
-            a = -2 * k * f;
-            h = Math.sqrt(a * a - 4 * f * (g * g * e * e * k * k + h * h * k * k - g * g * h * h));
-            g = (-a + h) / (2 * f);
-            h = (-a - h) / (2 * f);
-            k = e * g + l;
-            l = e * h + l;
-            e = Math.sqrt(Math.pow(g - b, 2) + Math.pow(k - c, 2));
-            b = Math.sqrt(Math.pow(h - b, 2) + Math.pow(l - c, 2));
-            f = c = 0;
-            e < b ? (c =
-                g, f = k) : (c = h, f = l);
-            return new mxPoint(c, f)
-        },
-        RhombusPerimeter: function(a, b, c, d) {
-            b = a.x;
-            var e = a.y,
-                f = a.width;
-            a = a.height;
-            var g = b + f / 2,
-                h = e + a / 2,
-                k = c.x;
-            c = c.y;
-            if (g == k) return h > c ? new mxPoint(g, e) : new mxPoint(g, e + a);
-            if (h == c) return g > k ? new mxPoint(b, h) : new mxPoint(b + f, h);
-            var l = g,
-                m = h;
-            d && (k >= b && k <= b + f ? l = k : c >= e && c <= e + a && (m = c));
-            return k < g ? c < h ? mxUtils.intersection(k, c, l, m, g, e, b, h) : mxUtils.intersection(k, c, l, m, g, e + a, b, h) : c < h ? mxUtils.intersection(k, c, l, m, g, e, b + f, h) : mxUtils.intersection(k, c, l, m, g, e + a, b + f, h)
-        },
-        TrianglePerimeter: function(a,
-            b, c, d) {
-            b = null != b ? b.style[mxConstants.STYLE_DIRECTION] : null;
-            var e = b == mxConstants.DIRECTION_NORTH || b == mxConstants.DIRECTION_SOUTH,
-                f = a.x,
-                g = a.y,
-                h = a.width;
-            a = a.height;
-            var k = f + h / 2,
-                l = g + a / 2,
-                m = new mxPoint(f, g),
-                n = new mxPoint(f + h, l),
-                p = new mxPoint(f, g + a);
-            b == mxConstants.DIRECTION_NORTH ? (m = p, n = new mxPoint(k, g), p = new mxPoint(f + h, g + a)) : b == mxConstants.DIRECTION_SOUTH ? (n = new mxPoint(k, g + a), p = new mxPoint(f + h, g)) : b == mxConstants.DIRECTION_WEST && (m = new mxPoint(f + h, g), n = new mxPoint(f, l), p = new mxPoint(f + h, g + a));
-            var q = c.x -
-                k,
-                s = c.y - l,
-                q = e ? Math.atan2(q, s) : Math.atan2(s, q),
-                r = e ? Math.atan2(h, a) : Math.atan2(a, h),
-                s = !1,
-                s = b == mxConstants.DIRECTION_NORTH || b == mxConstants.DIRECTION_WEST ? q > -r && q < r : q < -Math.PI + r || q > Math.PI - r,
-                r = null;
-            s ? r = d && (e && c.x >= m.x && c.x <= p.x || !e && c.y >= m.y && c.y <= p.y) ? e ? new mxPoint(c.x, m.y) : new mxPoint(m.x, c.y) : b == mxConstants.DIRECTION_NORTH ? new mxPoint(f + h / 2 + a * Math.tan(q) / 2, g + a) : b == mxConstants.DIRECTION_SOUTH ? new mxPoint(f + h / 2 - a * Math.tan(q) / 2, g) : b == mxConstants.DIRECTION_WEST ? new mxPoint(f + h, g + a / 2 + h * Math.tan(q) / 2) : new mxPoint(f,
-                g + a / 2 - h * Math.tan(q) / 2) : (d && (d = new mxPoint(k, l), c.y >= g && c.y <= g + a ? (d.x = e ? k : b == mxConstants.DIRECTION_WEST ? f + h : f, d.y = c.y) : c.x >= f && c.x <= f + h && (d.x = c.x, d.y = !e ? l : b == mxConstants.DIRECTION_NORTH ? g + a : g), k = d.x, l = d.y), r = e && c.x <= f + h / 2 || !e && c.y <= g + a / 2 ? mxUtils.intersection(c.x, c.y, k, l, m.x, m.y, n.x, n.y) : mxUtils.intersection(c.x, c.y, k, l, n.x, n.y, p.x, p.y));
-            null == r && (r = new mxPoint(k, l));
-            return r
+    getParentPath: function(a) {
+      if (null != a) {
+        var b = a.lastIndexOf(mxCellPath.PATH_SEPARATOR);
+        if (0 <= b) return a.substring(0, b);
+        if (0 < a.length) return ""
+      }
+      return null
+    },
+    resolve: function(a, b) {
+      var c = a;
+      if (null != b)
+        for (var d = b.split(mxCellPath.PATH_SEPARATOR), e = 0; e < d.length; e++) c = c.getChildAt(parseInt(d[e]));
+      return c
+    },
+    compare: function(a, b) {
+      for (var c = Math.min(a.length, b.length), d = 0, e = 0; e < c; e++)
+        if (a[e] != b[e]) {
+          0 == a[e].length || 0 == b[e].length ? d = a[e] == b[e] ? 0 : a[e] > b[e] ? 1 : -1 : (c = parseInt(a[e]), e = parseInt(b[e]), d = c == e ? 0 : c > e ? 1 : -1);
+          break
         }
-    };
+      0 == d && (c = a.length, e = b.length, c != e && (d = c > e ? 1 : -1));
+      return d
+    }
+  },
+  mxPerimeter = {
+    RectanglePerimeter: function(a, b, c, d) {
+      b = a.getCenterX();
+      var e = a.getCenterY(),
+        f = Math.atan2(c.y - e, c.x - b),
+        g = new mxPoint(0, 0),
+        h = Math.PI,
+        k = Math.PI / 2 - f,
+        l = Math.atan2(a.height, a.width);
+      f < -h + l || f > h - l ? (g.x = a.x, g.y = e - a.width *
+        Math.tan(f) / 2) : f < -l ? (g.y = a.y, g.x = b - a.height * Math.tan(k) / 2) : f < l ? (g.x = a.x + a.width, g.y = e + a.width * Math.tan(f) / 2) : (g.y = a.y + a.height, g.x = b + a.height *
+        Math.tan(k) / 2);
+      d && (c.x >= a.x && c.x <= a.x + a.width ? g.x = c.x : c.y >= a.y && c.y <= a.y + a.height && (g.y = c.y), c.x < a.x ? g.x = a.x : c.x > a.x + a.width && (g.x = a.x + a.width), c.y < a.y ? g.y =
+        a.y : c.y > a.y + a.height && (g.y = a.y + a.height));
+      return g
+    },
+    EllipsePerimeter: function(a, b, c, d) {
+      var e = a.x,
+        f = a.y,
+        g = a.width / 2,
+        h = a.height / 2,
+        k = e + g,
+        l = f + h;
+      b = c.x;
+      c = c.y;
+      var m = parseInt(b - k),
+        n = parseInt(c - l);
+      if (0 == m && 0 != n) return new mxPoint(k,
+        l + h * n / Math.abs(n));
+      if (0 == m && 0 == n) return new mxPoint(b, c);
+      if (d) {
+        if (c >= f && c <= f + a.height) return a = c - l, a = Math.sqrt(g * g * (1 - a * a / (h * h))) || 0, b <= e && (a = -a), new mxPoint(k + a, c);
+        if (b >= e && b <= e + a.width) return a = b - k, a = Math.sqrt(h * h * (1 - a * a / (g * g))) || 0, c <= f && (a = -a), new mxPoint(b, l + a)
+      }
+      e = n / m;
+      l -= e * k;
+      f = g * g * e * e + h * h;
+      a = -2 * k * f;
+      h = Math.sqrt(a * a - 4 * f * (g * g * e * e * k * k + h * h * k * k - g * g * h * h));
+      g = (-a + h) / (2 * f);
+      h = (-a - h) / (2 * f);
+      k = e * g + l;
+      l = e * h + l;
+      e = Math.sqrt(Math.pow(g - b, 2) + Math.pow(k - c, 2));
+      b = Math.sqrt(Math.pow(h - b, 2) + Math.pow(l - c, 2));
+      f = c = 0;
+      e < b ? (c =
+        g, f = k) : (c = h, f = l);
+      return new mxPoint(c, f)
+    },
+    RhombusPerimeter: function(a, b, c, d) {
+      b = a.x;
+      var e = a.y,
+        f = a.width;
+      a = a.height;
+      var g = b + f / 2,
+        h = e + a / 2,
+        k = c.x;
+      c = c.y;
+      if (g == k) return h > c ? new mxPoint(g, e) : new mxPoint(g, e + a);
+      if (h == c) return g > k ? new mxPoint(b, h) : new mxPoint(b + f, h);
+      var l = g,
+        m = h;
+      d && (k >= b && k <= b + f ? l = k : c >= e && c <= e + a && (m = c));
+      return k < g ? c < h ? mxUtils.intersection(k, c, l, m, g, e, b, h) : mxUtils.intersection(k, c, l, m, g, e + a, b, h) : c < h ? mxUtils.intersection(k, c, l, m, g, e, b + f, h) : mxUtils.intersection(
+        k, c, l, m, g, e + a, b + f, h)
+    },
+    TrianglePerimeter: function(a,
+      b, c, d) {
+      b = null != b ? b.style[mxConstants.STYLE_DIRECTION] : null;
+      var e = b == mxConstants.DIRECTION_NORTH || b == mxConstants.DIRECTION_SOUTH,
+        f = a.x,
+        g = a.y,
+        h = a.width;
+      a = a.height;
+      var k = f + h / 2,
+        l = g + a / 2,
+        m = new mxPoint(f, g),
+        n = new mxPoint(f + h, l),
+        p = new mxPoint(f, g + a);
+      b == mxConstants.DIRECTION_NORTH ? (m = p, n = new mxPoint(k, g), p = new mxPoint(f + h, g + a)) : b == mxConstants.DIRECTION_SOUTH ? (n = new mxPoint(k, g + a), p = new mxPoint(f + h, g)) :
+        b == mxConstants.DIRECTION_WEST && (m = new mxPoint(f + h, g), n = new mxPoint(f, l), p = new mxPoint(f + h, g + a));
+      var q = c.x -
+        k,
+        s = c.y - l,
+        q = e ? Math.atan2(q, s) : Math.atan2(s, q),
+        r = e ? Math.atan2(h, a) : Math.atan2(a, h),
+        s = !1,
+        s = b == mxConstants.DIRECTION_NORTH || b == mxConstants.DIRECTION_WEST ? q > -r && q < r : q < -Math.PI + r || q > Math.PI - r,
+        r = null;
+      s ? r = d && (e && c.x >= m.x && c.x <= p.x || !e && c.y >= m.y && c.y <= p.y) ? e ? new mxPoint(c.x, m.y) : new mxPoint(m.x, c.y) : b == mxConstants.DIRECTION_NORTH ? new mxPoint(f + h / 2 +
+        a * Math.tan(q) / 2, g + a) : b == mxConstants.DIRECTION_SOUTH ? new mxPoint(f + h / 2 - a * Math.tan(q) / 2, g) : b == mxConstants.DIRECTION_WEST ? new mxPoint(f + h, g + a / 2 + h *
+        Math.tan(q) / 2) : new mxPoint(f,
+        g + a / 2 - h * Math.tan(q) / 2) : (d && (d = new mxPoint(k, l), c.y >= g && c.y <= g + a ? (d.x = e ? k : b == mxConstants.DIRECTION_WEST ? f + h : f, d.y = c.y) : c.x >= f && c.x <= f +
+        h && (d.x = c.x, d.y = !e ? l : b == mxConstants.DIRECTION_NORTH ? g + a : g), k = d.x, l = d.y), r = e && c.x <= f + h / 2 || !e && c.y <= g + a / 2 ? mxUtils.intersection(c.x, c.y, k,
+        l, m.x, m.y, n.x, n.y) : mxUtils.intersection(c.x, c.y, k, l, n.x, n.y, p.x, p.y));
+      null == r && (r = new mxPoint(k, l));
+      return r
+    }
+  };
 
 function mxPrintPreview(a, b, c, d, e, f, g, h, k) {
-    this.graph = a;
-    this.scale = null != b ? b : 1 / a.pageScale;
-    this.border = null != d ? d : 0;
-    this.pageFormat = null != c ? c : a.pageFormat;
-    this.title = null != h ? h : "Printer-friendly version";
-    this.x0 = null != e ? e : 0;
-    this.y0 = null != f ? f : 0;
-    this.borderColor = g;
-    this.pageSelector = null != k ? k : !0
+  this.graph = a;
+  this.scale = null != b ? b : 1 / a.pageScale;
+  this.border = null != d ? d : 0;
+  this.pageFormat = null != c ? c : a.pageFormat;
+  this.title = null != h ? h : "Printer-friendly version";
+  this.x0 = null != e ? e : 0;
+  this.y0 = null != f ? f : 0;
+  this.borderColor = g;
+  this.pageSelector = null != k ? k : !0
 }
 mxPrintPreview.prototype.graph = null;
 mxPrintPreview.prototype.pageFormat = null;
@@ -9128,279 +9271,281 @@ mxPrintPreview.prototype.pageSelector = null;
 mxPrintPreview.prototype.wnd = null;
 mxPrintPreview.prototype.pageCount = 0;
 mxPrintPreview.prototype.getWindow = function() {
-    return this.wnd
+  return this.wnd
 };
 mxPrintPreview.prototype.getDoctype = function() {
-    var a = "";
-    8 == document.documentMode && (a = '\x3cmeta http-equiv\x3d"X-UA-Compatible" content\x3d"IE\x3d8"\x3e');
-    return a
+  var a = "";
+  8 == document.documentMode && (a = '\x3cmeta http-equiv\x3d"X-UA-Compatible" content\x3d"IE\x3d8"\x3e');
+  return a
 };
 mxPrintPreview.prototype.open = function(a) {
-    var b = this.graph.cellRenderer.initializeOverlay,
-        c = null;
-    try {
-        this.printOverlays && (this.graph.cellRenderer.initializeOverlay = function(a, b) {
-            b.init(a.view.getDrawPane())
-        });
-        if (null == this.wnd) {
-            this.wnd = window.open();
-            var d = this.wnd.document,
-                e = this.getDoctype();
-            null != e && 0 < e.length && d.writeln(e);
-            d.writeln("\x3chtml\x3e");
-            d.writeln("\x3chead\x3e");
-            this.writeHead(d, a);
-            d.writeln("\x3c/head\x3e");
-            d.writeln('\x3cbody class\x3d"mxPage"\x3e');
-            mxClient.link("stylesheet", mxClient.basePath +
-                "/css/common.css", d);
-            mxClient.IS_VML && (d.namespaces.add("v", "urn:schemas-microsoft-com:vml"), d.namespaces.add("o", "urn:schemas-microsoft-com:office:office"), d.createStyleSheet().cssText = "v\\:*{behavior:url(#default#VML)}o\\:*{behavior:url(#default#VML)}", mxClient.link("stylesheet", mxClient.basePath + "/css/explorer.css", d));
-            var f = this.graph.getGraphBounds().clone(),
-                g = this.graph.getView().getScale(),
-                h = g / this.scale,
-                k = this.graph.getView().getTranslate();
-            this.autoOrigin || (this.x0 = -k.x * this.scale, this.y0 = -k.y * this.scale, f.width += f.x, f.height += f.y, f.x = 0, this.border = f.y = 0);
-            f.width /= h;
-            f.height /= h;
-            var l = this.pageFormat.width - 2 * this.border,
-                m = this.pageFormat.height - 2 * this.border,
-                n = Math.max(1, Math.ceil((f.width + this.x0) / l)),
-                p = Math.max(1, Math.ceil((f.height + this.y0) / m));
-            this.pageCount = n * p;
-            var q = mxUtils.bind(this, function() {
-                if (this.pageSelector && (1 < p || 1 < n)) {
-                    var a = this.createPageSelector(p, n);
-                    d.body.appendChild(a);
-                    if (mxClient.IS_IE) {
-                        a.style.position = "absolute";
-                        var b = function() {
-                            a.style.top = d.body.scrollTop +
-                                10 + "px"
-                        };
-                        mxEvent.addListener(this.wnd, "scroll", function(a) {
-                            b()
-                        });
-                        mxEvent.addListener(this.wnd, "resize", function(a) {
-                            b()
-                        })
-                    }
-                }
-            });
-            a = function(a, b) {
-                null != this.borderColor && (a.style.borderColor = this.borderColor, a.style.borderStyle = "solid", a.style.borderWidth = "1px");
-                a.style.background = "white";
-                b && (a.style.pageBreakAfter = "always");
-                mxClient.IS_IE ? (d.writeln(a.outerHTML), a.parentNode.removeChild(a)) : (a.parentNode.removeChild(a), d.body.appendChild(a));
-                if (b) {
-                    var c = d.createElement("hr");
-                    c.className = "mxPageBreak";
-                    d.body.appendChild(c)
-                }
+  var b = this.graph.cellRenderer.initializeOverlay,
+    c = null;
+  try {
+    this.printOverlays && (this.graph.cellRenderer.initializeOverlay = function(a, b) {
+      b.init(a.view.getDrawPane())
+    });
+    if (null == this.wnd) {
+      this.wnd = window.open();
+      var d = this.wnd.document,
+        e = this.getDoctype();
+      null != e && 0 < e.length && d.writeln(e);
+      d.writeln("\x3chtml\x3e");
+      d.writeln("\x3chead\x3e");
+      this.writeHead(d, a);
+      d.writeln("\x3c/head\x3e");
+      d.writeln('\x3cbody class\x3d"mxPage"\x3e');
+      mxClient.link("stylesheet", mxClient.basePath +
+        "/css/common.css", d);
+      mxClient.IS_VML && (d.namespaces.add("v", "urn:schemas-microsoft-com:vml"), d.namespaces.add("o", "urn:schemas-microsoft-com:office:office"), d.createStyleSheet().cssText =
+        "v\\:*{behavior:url(#default#VML)}o\\:*{behavior:url(#default#VML)}", mxClient.link("stylesheet", mxClient.basePath + "/css/explorer.css", d));
+      var f = this.graph.getGraphBounds().clone(),
+        g = this.graph.getView().getScale(),
+        h = g / this.scale,
+        k = this.graph.getView().getTranslate();
+      this.autoOrigin || (this.x0 = -k.x * this.scale, this.y0 = -k.y * this.scale, f.width += f.x, f.height += f.y, f.x = 0, this.border = f.y = 0);
+      f.width /= h;
+      f.height /= h;
+      var l = this.pageFormat.width - 2 * this.border,
+        m = this.pageFormat.height - 2 * this.border,
+        n = Math.max(1, Math.ceil((f.width + this.x0) / l)),
+        p = Math.max(1, Math.ceil((f.height + this.y0) / m));
+      this.pageCount = n * p;
+      var q = mxUtils.bind(this, function() {
+        if (this.pageSelector && (1 < p || 1 < n)) {
+          var a = this.createPageSelector(p, n);
+          d.body.appendChild(a);
+          if (mxClient.IS_IE) {
+            a.style.position = "absolute";
+            var b = function() {
+              a.style.top = d.body.scrollTop +
+                10 + "px"
             };
-            var s = this.getCoverPages(this.pageFormat.width, this.pageFormat.height);
-            if (null != s)
-                for (var r = 0; r < s.length; r++) a(s[r], !0);
-            for (var t = this.getAppendices(this.pageFormat.width, this.pageFormat.height), r = 0; r < p; r++)
-                for (var v = r * m / this.scale - this.y0 / this.scale + (f.y - k.y * g) / g, s = 0; s < n; s++) {
-                    if (null == this.wnd) return null;
-                    var w = s * l / this.scale - this.x0 / this.scale + (f.x - k.x * g) / g,
-                        u = r * n + s + 1,
-                        c = this.renderPage(this.pageFormat.width, this.pageFormat.height, mxUtils.bind(this, function(a) {
-                            this.addGraphFragment(-w, -v, this.scale, u, a)
-                        }));
-                    c.setAttribute("id", "mxPage-" + u);
-                    a(c, null != t || r < p - 1 || s < n - 1)
-                }
-            if (null != t)
-                for (r = 0; r < t.length; r++) a(t[r], r < t.length);
-            d.writeln("\x3c/body\x3e");
-            d.writeln("\x3c/html\x3e");
-            d.close();
-            q();
-            mxEvent.release(d.body)
+            mxEvent.addListener(this.wnd, "scroll", function(a) {
+              b()
+            });
+            mxEvent.addListener(this.wnd, "resize", function(a) {
+              b()
+            })
+          }
         }
-        this.wnd.focus()
-    } catch (y) {
-        null != c && null != c.parentNode && c.parentNode.removeChild(c)
-    } finally {
-        this.graph.cellRenderer.initializeOverlay = b
-    }
-    return this.wnd
+      });
+      a = function(a, b) {
+        null != this.borderColor && (a.style.borderColor = this.borderColor, a.style.borderStyle = "solid", a.style.borderWidth = "1px");
+        a.style.background = "white";
+        b && (a.style.pageBreakAfter = "always");
+        mxClient.IS_IE ? (d.writeln(a.outerHTML), a.parentNode.removeChild(a)) : (a.parentNode.removeChild(a), d.body.appendChild(a));
+        if (b) {
+          var c = d.createElement("hr");
+          c.className = "mxPageBreak";
+          d.body.appendChild(c)
+        }
+      };
+      var s = this.getCoverPages(this.pageFormat.width, this.pageFormat.height);
+      if (null != s)
+        for (var r = 0; r < s.length; r++) a(s[r], !0);
+      for (var t = this.getAppendices(this.pageFormat.width, this.pageFormat.height), r = 0; r < p; r++)
+        for (var v = r * m / this.scale - this.y0 / this.scale + (f.y - k.y * g) / g, s = 0; s < n; s++) {
+          if (null == this.wnd) return null;
+          var w = s * l / this.scale - this.x0 / this.scale + (f.x - k.x * g) / g,
+            u = r * n + s + 1,
+            c = this.renderPage(this.pageFormat.width, this.pageFormat.height, mxUtils.bind(this, function(a) {
+              this.addGraphFragment(-w, -v, this.scale, u, a)
+            }));
+          c.setAttribute("id", "mxPage-" + u);
+          a(c, null != t || r < p - 1 || s < n - 1)
+        }
+      if (null != t)
+        for (r = 0; r < t.length; r++) a(t[r], r < t.length);
+      d.writeln("\x3c/body\x3e");
+      d.writeln("\x3c/html\x3e");
+      d.close();
+      q();
+      mxEvent.release(d.body)
+    }
+    this.wnd.focus()
+  } catch (y) {
+    null != c && null != c.parentNode && c.parentNode.removeChild(c)
+  } finally {
+    this.graph.cellRenderer.initializeOverlay = b
+  }
+  return this.wnd
 };
 mxPrintPreview.prototype.writeHead = function(a, b) {
-    null != this.title && a.writeln("\x3ctitle\x3e" + this.title + "\x3c/title\x3e");
-    a.writeln('\x3cstyle type\x3d"text/css"\x3e');
-    a.writeln("@media print {");
-    a.writeln("  table.mxPageSelector { display: none; }");
-    a.writeln("  hr.mxPageBreak { display: none; }");
-    a.writeln("}");
-    a.writeln("@media screen {");
-    a.writeln("  table.mxPageSelector { position: fixed; right: 10px; top: 10px;font-family: Arial; font-size:10pt; border: solid 1px darkgray;background: white; border-collapse:collapse; }");
-    a.writeln("  table.mxPageSelector td { border: solid 1px gray; padding:4px; }");
-    a.writeln("  body.mxPage { background: gray; }");
-    a.writeln("}");
-    null != b && a.writeln(b);
-    a.writeln("\x3c/style\x3e")
+  null != this.title && a.writeln("\x3ctitle\x3e" + this.title + "\x3c/title\x3e");
+  a.writeln('\x3cstyle type\x3d"text/css"\x3e');
+  a.writeln("@media print {");
+  a.writeln("  table.mxPageSelector { display: none; }");
+  a.writeln("  hr.mxPageBreak { display: none; }");
+  a.writeln("}");
+  a.writeln("@media screen {");
+  a.writeln("  table.mxPageSelector { position: fixed; right: 10px; top: 10px;font-family: Arial; font-size:10pt; border: solid 1px darkgray;background: white; border-collapse:collapse; }");
+  a.writeln("  table.mxPageSelector td { border: solid 1px gray; padding:4px; }");
+  a.writeln("  body.mxPage { background: gray; }");
+  a.writeln("}");
+  null != b && a.writeln(b);
+  a.writeln("\x3c/style\x3e")
 };
 mxPrintPreview.prototype.createPageSelector = function(a, b) {
-    var c = this.wnd.document,
-        d = c.createElement("table");
-    d.className = "mxPageSelector";
-    d.setAttribute("border", "0");
-    for (var e = c.createElement("tbody"), f = 0; f < a; f++) {
-        for (var g = c.createElement("tr"), h = 0; h < b; h++) {
-            var k = f * b + h + 1,
-                l = c.createElement("td");
-            if (!mxClient.IS_NS || mxClient.IS_SF || mxClient.IS_GC) {
-                var m = c.createElement("a");
-                m.setAttribute("href", "#mxPage-" + k);
-                mxUtils.write(m, k, c);
-                l.appendChild(m)
-            } else mxUtils.write(l, k, c);
-            g.appendChild(l)
-        }
-        e.appendChild(g)
-    }
-    d.appendChild(e);
-    return d
+  var c = this.wnd.document,
+    d = c.createElement("table");
+  d.className = "mxPageSelector";
+  d.setAttribute("border", "0");
+  for (var e = c.createElement("tbody"), f = 0; f < a; f++) {
+    for (var g = c.createElement("tr"), h = 0; h < b; h++) {
+      var k = f * b + h + 1,
+        l = c.createElement("td");
+      if (!mxClient.IS_NS || mxClient.IS_SF || mxClient.IS_GC) {
+        var m = c.createElement("a");
+        m.setAttribute("href", "#mxPage-" + k);
+        mxUtils.write(m, k, c);
+        l.appendChild(m)
+      } else mxUtils.write(l, k, c);
+      g.appendChild(l)
+    }
+    e.appendChild(g)
+  }
+  d.appendChild(e);
+  return d
 };
 mxPrintPreview.prototype.renderPage = function(a, b, c) {
-    var d = document.createElement("div");
-    try {
-        d.style.width = a + "px";
-        d.style.height = b + "px";
-        d.style.overflow = "hidden";
-        d.style.pageBreakInside = "avoid";
-        d.style.position = "relative";
-        var e = document.createElement("div");
-        e.style.top = this.border + "px";
-        e.style.left = this.border + "px";
-        e.style.width = a - 2 * this.border + "px";
-        e.style.height = b - 2 * this.border + "px";
-        e.style.overflow = "hidden";
-        this.graph.dialect == mxConstants.DIALECT_VML && (e.style.position = "absolute");
-        d.appendChild(e);
-        document.body.appendChild(d);
-        c(e)
-    } catch (f) {
-        throw d.parentNode.removeChild(d), f;
-    }
-    return d
+  var d = document.createElement("div");
+  try {
+    d.style.width = a + "px";
+    d.style.height = b + "px";
+    d.style.overflow = "hidden";
+    d.style.pageBreakInside = "avoid";
+    d.style.position = "relative";
+    var e = document.createElement("div");
+    e.style.top = this.border + "px";
+    e.style.left = this.border + "px";
+    e.style.width = a - 2 * this.border + "px";
+    e.style.height = b - 2 * this.border + "px";
+    e.style.overflow = "hidden";
+    this.graph.dialect == mxConstants.DIALECT_VML && (e.style.position = "absolute");
+    d.appendChild(e);
+    document.body.appendChild(d);
+    c(e)
+  } catch (f) {
+    throw d.parentNode.removeChild(d), f;
+  }
+  return d
 };
 mxPrintPreview.prototype.addGraphFragment = function(a, b, c, d, e) {
-    d = this.graph.getView();
-    var f = this.graph.container;
-    this.graph.container = e;
-    var g = d.getCanvas(),
-        h = d.getBackgroundPane(),
-        k = d.getDrawPane(),
-        l = d.getOverlayPane();
-    this.graph.dialect == mxConstants.DIALECT_SVG ? d.createSvg() : this.graph.dialect == mxConstants.DIALECT_VML ? d.createVml() : d.createHtml();
-    var m = d.isEventsEnabled();
-    d.setEventsEnabled(!1);
-    var n = this.graph.isEnabled();
-    this.graph.setEnabled(!1);
-    var p = d.getTranslate();
-    d.translate = new mxPoint(a,
-        b);
-    a = null;
-    try {
-        var q = [this.graph.getModel().getRoot()];
-        a = new mxTemporaryCellStates(d, c, q)
-    } finally {
-        if (mxClient.IS_IE) d.overlayPane.innerHTML = "";
-        else
-            for (c = e.firstChild; null != c;) q = c.nextSibling, b = c.nodeName.toLowerCase(), "svg" == b ? (c.setAttribute("width", parseInt(e.style.width)), c.setAttribute("height", parseInt(e.style.height))) : "default" != c.style.cursor && "table" != b && c.parentNode.removeChild(c), c = q;
-        d.overlayPane.parentNode.removeChild(d.overlayPane);
-        this.graph.setEnabled(n);
-        this.graph.container = f;
-        d.canvas =
-            g;
-        d.backgroundPane = h;
-        d.drawPane = k;
-        d.overlayPane = l;
-        d.translate = p;
-        a.destroy();
-        d.setEventsEnabled(m)
-    }
+  d = this.graph.getView();
+  var f = this.graph.container;
+  this.graph.container = e;
+  var g = d.getCanvas(),
+    h = d.getBackgroundPane(),
+    k = d.getDrawPane(),
+    l = d.getOverlayPane();
+  this.graph.dialect == mxConstants.DIALECT_SVG ? d.createSvg() : this.graph.dialect == mxConstants.DIALECT_VML ? d.createVml() : d.createHtml();
+  var m = d.isEventsEnabled();
+  d.setEventsEnabled(!1);
+  var n = this.graph.isEnabled();
+  this.graph.setEnabled(!1);
+  var p = d.getTranslate();
+  d.translate = new mxPoint(a,
+    b);
+  a = null;
+  try {
+    var q = [this.graph.getModel().getRoot()];
+    a = new mxTemporaryCellStates(d, c, q)
+  } finally {
+    if (mxClient.IS_IE) d.overlayPane.innerHTML = "";
+    else
+      for (c = e.firstChild; null != c;) q = c.nextSibling, b = c.nodeName.toLowerCase(), "svg" == b ? (c.setAttribute("width", parseInt(e.style.width)), c.setAttribute("height", parseInt(e.style.height))) :
+        "default" != c.style.cursor && "table" != b && c.parentNode.removeChild(c), c = q;
+    d.overlayPane.parentNode.removeChild(d.overlayPane);
+    this.graph.setEnabled(n);
+    this.graph.container = f;
+    d.canvas =
+      g;
+    d.backgroundPane = h;
+    d.drawPane = k;
+    d.overlayPane = l;
+    d.translate = p;
+    a.destroy();
+    d.setEventsEnabled(m)
+  }
 };
 mxPrintPreview.prototype.getCoverPages = function() {
-    return null
+  return null
 };
 mxPrintPreview.prototype.getAppendices = function() {
-    return null
+  return null
 };
 mxPrintPreview.prototype.print = function() {
-    var a = this.open();
-    null != a && a.print()
+  var a = this.open();
+  null != a && a.print()
 };
 mxPrintPreview.prototype.close = function() {
-    null != this.wnd && (this.wnd.close(), this.wnd = null)
+  null != this.wnd && (this.wnd.close(), this.wnd = null)
 };
 
 function mxStylesheet() {
-    this.styles = {};
-    this.putDefaultVertexStyle(this.createDefaultVertexStyle());
-    this.putDefaultEdgeStyle(this.createDefaultEdgeStyle())
+  this.styles = {};
+  this.putDefaultVertexStyle(this.createDefaultVertexStyle());
+  this.putDefaultEdgeStyle(this.createDefaultEdgeStyle())
 }
 mxStylesheet.prototype.createDefaultVertexStyle = function() {
-    var a = {};
-    a[mxConstants.STYLE_SHAPE] = mxConstants.SHAPE_RECTANGLE;
-    a[mxConstants.STYLE_PERIMETER] = mxPerimeter.RectanglePerimeter;
-    a[mxConstants.STYLE_VERTICAL_ALIGN] = mxConstants.ALIGN_MIDDLE;
-    a[mxConstants.STYLE_ALIGN] = mxConstants.ALIGN_CENTER;
-    a[mxConstants.STYLE_FILLCOLOR] = "#C3D9FF";
-    a[mxConstants.STYLE_STROKECOLOR] = "#6482B9";
-    a[mxConstants.STYLE_FONTCOLOR] = "#774400";
-    return a
+  var a = {};
+  a[mxConstants.STYLE_SHAPE] = mxConstants.SHAPE_RECTANGLE;
+  a[mxConstants.STYLE_PERIMETER] = mxPerimeter.RectanglePerimeter;
+  a[mxConstants.STYLE_VERTICAL_ALIGN] = mxConstants.ALIGN_MIDDLE;
+  a[mxConstants.STYLE_ALIGN] = mxConstants.ALIGN_CENTER;
+  a[mxConstants.STYLE_FILLCOLOR] = "#C3D9FF";
+  a[mxConstants.STYLE_STROKECOLOR] = "#6482B9";
+  a[mxConstants.STYLE_FONTCOLOR] = "#774400";
+  return a
 };
 mxStylesheet.prototype.createDefaultEdgeStyle = function() {
-    var a = {};
-    a[mxConstants.STYLE_SHAPE] = mxConstants.SHAPE_CONNECTOR;
-    a[mxConstants.STYLE_ENDARROW] = mxConstants.ARROW_CLASSIC;
-    a[mxConstants.STYLE_VERTICAL_ALIGN] = mxConstants.ALIGN_MIDDLE;
-    a[mxConstants.STYLE_ALIGN] = mxConstants.ALIGN_CENTER;
-    a[mxConstants.STYLE_STROKECOLOR] = "#6482B9";
-    a[mxConstants.STYLE_FONTCOLOR] = "#446299";
-    return a
+  var a = {};
+  a[mxConstants.STYLE_SHAPE] = mxConstants.SHAPE_CONNECTOR;
+  a[mxConstants.STYLE_ENDARROW] = mxConstants.ARROW_CLASSIC;
+  a[mxConstants.STYLE_VERTICAL_ALIGN] = mxConstants.ALIGN_MIDDLE;
+  a[mxConstants.STYLE_ALIGN] = mxConstants.ALIGN_CENTER;
+  a[mxConstants.STYLE_STROKECOLOR] = "#6482B9";
+  a[mxConstants.STYLE_FONTCOLOR] = "#446299";
+  return a
 };
 mxStylesheet.prototype.putDefaultVertexStyle = function(a) {
-    this.putCellStyle("defaultVertex", a)
+  this.putCellStyle("defaultVertex", a)
 };
 mxStylesheet.prototype.putDefaultEdgeStyle = function(a) {
-    this.putCellStyle("defaultEdge", a)
+  this.putCellStyle("defaultEdge", a)
 };
 mxStylesheet.prototype.getDefaultVertexStyle = function() {
-    return this.styles.defaultVertex
+  return this.styles.defaultVertex
 };
 mxStylesheet.prototype.getDefaultEdgeStyle = function() {
-    return this.styles.defaultEdge
+  return this.styles.defaultEdge
 };
 mxStylesheet.prototype.putCellStyle = function(a, b) {
-    this.styles[a] = b
+  this.styles[a] = b
 };
 mxStylesheet.prototype.getCellStyle = function(a, b) {
-    var c = b;
-    if (null != a && 0 < a.length)
-        for (var d = a.split(";"), c = null != c && ";" != a.charAt(0) ? mxUtils.clone(c) : {}, e = 0; e < d.length; e++) {
-            var f = d[e],
-                g = f.indexOf("\x3d");
-            if (0 <= g) {
-                var h = f.substring(0, g),
-                    f = f.substring(g + 1);
-                f == mxConstants.NONE ? delete c[h] : mxUtils.isNumeric(f) ? c[h] = parseFloat(f) : c[h] = f
-            } else if (f = this.styles[f], null != f)
-                for (h in f) c[h] = f[h]
-        }
-    return c
+  var c = b;
+  if (null != a && 0 < a.length)
+    for (var d = a.split(";"), c = null != c && ";" != a.charAt(0) ? mxUtils.clone(c) : {}, e = 0; e < d.length; e++) {
+      var f = d[e],
+        g = f.indexOf("\x3d");
+      if (0 <= g) {
+        var h = f.substring(0, g),
+          f = f.substring(g + 1);
+        f == mxConstants.NONE ? delete c[h] : mxUtils.isNumeric(f) ? c[h] = parseFloat(f) : c[h] = f
+      } else if (f = this.styles[f], null != f)
+        for (h in f) c[h] = f[h]
+    }
+  return c
 };
 
 function mxCellState(a, b, c) {
-    this.view = a;
-    this.cell = b;
-    this.style = c;
-    this.origin = new mxPoint;
-    this.absoluteOffset = new mxPoint
+  this.view = a;
+  this.cell = b;
+  this.style = c;
+  this.origin = new mxPoint;
+  this.absoluteOffset = new mxPoint
 }
 mxCellState.prototype = new mxRectangle;
 mxCellState.prototype.constructor = mxCellState;
@@ -9421,61 +9566,62 @@ mxCellState.prototype.segments = null;
 mxCellState.prototype.shape = null;
 mxCellState.prototype.text = null;
 mxCellState.prototype.getPerimeterBounds = function(a, b) {
-    a = a || 0;
-    b = null != b ? b : new mxRectangle(this.x, this.y, this.width, this.height);
-    if (null != this.shape && null != this.shape.stencil) {
-        var c = this.shape.stencil.computeAspect(this.style, b.x, b.y, b.width, b.height);
-        b.x = c.x;
-        b.y = c.y;
-        b.width = this.shape.stencil.w0 * c.width;
-        b.height = this.shape.stencil.h0 * c.height
-    }
-    0 != a && b.grow(a);
-    return b
+  a = a || 0;
+  b = null != b ? b : new mxRectangle(this.x, this.y, this.width, this.height);
+  if (null != this.shape && null != this.shape.stencil) {
+    var c = this.shape.stencil.computeAspect(this.style, b.x, b.y, b.width, b.height);
+    b.x = c.x;
+    b.y = c.y;
+    b.width = this.shape.stencil.w0 * c.width;
+    b.height = this.shape.stencil.h0 * c.height
+  }
+  0 != a && b.grow(a);
+  return b
 };
 mxCellState.prototype.setAbsoluteTerminalPoint = function(a, b) {
-    b ? (null == this.absolutePoints && (this.absolutePoints = []), 0 == this.absolutePoints.length ? this.absolutePoints.push(a) : this.absolutePoints[0] = a) : null == this.absolutePoints ? (this.absolutePoints = [], this.absolutePoints.push(null), this.absolutePoints.push(a)) : 1 == this.absolutePoints.length ? this.absolutePoints.push(a) : this.absolutePoints[this.absolutePoints.length - 1] = a
+  b ? (null == this.absolutePoints && (this.absolutePoints = []), 0 == this.absolutePoints.length ? this.absolutePoints.push(a) : this.absolutePoints[0] = a) : null == this.absolutePoints ? (this.absolutePoints = [],
+    this.absolutePoints.push(null), this.absolutePoints.push(a)) : 1 == this.absolutePoints.length ? this.absolutePoints.push(a) : this.absolutePoints[this.absolutePoints.length - 1] = a
 };
 mxCellState.prototype.setCursor = function(a) {
-    null != this.shape && this.shape.setCursor(a);
-    null != this.text && this.text.setCursor(a)
+  null != this.shape && this.shape.setCursor(a);
+  null != this.text && this.text.setCursor(a)
 };
 mxCellState.prototype.getVisibleTerminal = function(a) {
-    a = this.getVisibleTerminalState(a);
-    return null != a ? a.cell : null
+  a = this.getVisibleTerminalState(a);
+  return null != a ? a.cell : null
 };
 mxCellState.prototype.getVisibleTerminalState = function(a) {
-    return a ? this.visibleSourceState : this.visibleTargetState
+  return a ? this.visibleSourceState : this.visibleTargetState
 };
 mxCellState.prototype.setVisibleTerminalState = function(a, b) {
-    b ? this.visibleSourceState = a : this.visibleTargetState = a
+  b ? this.visibleSourceState = a : this.visibleTargetState = a
 };
 mxCellState.prototype.destroy = function() {
-    this.view.graph.cellRenderer.destroy(this)
+  this.view.graph.cellRenderer.destroy(this)
 };
 mxCellState.prototype.clone = function() {
-    var a = new mxCellState(this.view, this.cell, this.style);
-    if (null != this.absolutePoints) {
-        a.absolutePoints = [];
-        for (var b = 0; b < this.absolutePoints.length; b++) a.absolutePoints[b] = this.absolutePoints[b].clone()
-    }
-    null != this.origin && (a.origin = this.origin.clone());
-    null != this.absoluteOffset && (a.absoluteOffset = this.absoluteOffset.clone());
-    null != this.boundingBox && (a.boundingBox = this.boundingBox.clone());
-    a.terminalDistance = this.terminalDistance;
-    a.segments = this.segments;
-    a.length =
-        this.length;
-    a.x = this.x;
-    a.y = this.y;
-    a.width = this.width;
-    a.height = this.height;
-    return a
+  var a = new mxCellState(this.view, this.cell, this.style);
+  if (null != this.absolutePoints) {
+    a.absolutePoints = [];
+    for (var b = 0; b < this.absolutePoints.length; b++) a.absolutePoints[b] = this.absolutePoints[b].clone()
+  }
+  null != this.origin && (a.origin = this.origin.clone());
+  null != this.absoluteOffset && (a.absoluteOffset = this.absoluteOffset.clone());
+  null != this.boundingBox && (a.boundingBox = this.boundingBox.clone());
+  a.terminalDistance = this.terminalDistance;
+  a.segments = this.segments;
+  a.length =
+    this.length;
+  a.x = this.x;
+  a.y = this.y;
+  a.width = this.width;
+  a.height = this.height;
+  return a
 };
 
 function mxGraphSelectionModel(a) {
-    this.graph = a;
-    this.cells = []
+  this.graph = a;
+  this.cells = []
 }
 mxGraphSelectionModel.prototype = new mxEventSource;
 mxGraphSelectionModel.prototype.constructor = mxGraphSelectionModel;
@@ -9484,95 +9630,95 @@ mxGraphSelectionModel.prototype.updatingSelectionResource = "none" != mxClient.l
 mxGraphSelectionModel.prototype.graph = null;
 mxGraphSelectionModel.prototype.singleSelection = !1;
 mxGraphSelectionModel.prototype.isSingleSelection = function() {
-    return this.singleSelection
+  return this.singleSelection
 };
 mxGraphSelectionModel.prototype.setSingleSelection = function(a) {
-    this.singleSelection = a
+  this.singleSelection = a
 };
 mxGraphSelectionModel.prototype.isSelected = function(a) {
-    return null != a ? 0 <= mxUtils.indexOf(this.cells, a) : !1
+  return null != a ? 0 <= mxUtils.indexOf(this.cells, a) : !1
 };
 mxGraphSelectionModel.prototype.isEmpty = function() {
-    return 0 == this.cells.length
+  return 0 == this.cells.length
 };
 mxGraphSelectionModel.prototype.clear = function() {
-    this.changeSelection(null, this.cells)
+  this.changeSelection(null, this.cells)
 };
 mxGraphSelectionModel.prototype.setCell = function(a) {
-    null != a && this.setCells([a])
+  null != a && this.setCells([a])
 };
 mxGraphSelectionModel.prototype.setCells = function(a) {
-    if (null != a) {
-        this.singleSelection && (a = [this.getFirstSelectableCell(a)]);
-        for (var b = [], c = 0; c < a.length; c++) this.graph.isCellSelectable(a[c]) && b.push(a[c]);
-        this.changeSelection(b, this.cells)
-    }
+  if (null != a) {
+    this.singleSelection && (a = [this.getFirstSelectableCell(a)]);
+    for (var b = [], c = 0; c < a.length; c++) this.graph.isCellSelectable(a[c]) && b.push(a[c]);
+    this.changeSelection(b, this.cells)
+  }
 };
 mxGraphSelectionModel.prototype.getFirstSelectableCell = function(a) {
-    if (null != a)
-        for (var b = 0; b < a.length; b++)
-            if (this.graph.isCellSelectable(a[b])) return a[b];
-    return null
+  if (null != a)
+    for (var b = 0; b < a.length; b++)
+      if (this.graph.isCellSelectable(a[b])) return a[b];
+  return null
 };
 mxGraphSelectionModel.prototype.addCell = function(a) {
-    null != a && this.addCells([a])
+  null != a && this.addCells([a])
 };
 mxGraphSelectionModel.prototype.addCells = function(a) {
-    if (null != a) {
-        var b = null;
-        this.singleSelection && (b = this.cells, a = [this.getFirstSelectableCell(a)]);
-        for (var c = [], d = 0; d < a.length; d++) !this.isSelected(a[d]) && this.graph.isCellSelectable(a[d]) && c.push(a[d]);
-        this.changeSelection(c, b)
-    }
+  if (null != a) {
+    var b = null;
+    this.singleSelection && (b = this.cells, a = [this.getFirstSelectableCell(a)]);
+    for (var c = [], d = 0; d < a.length; d++) !this.isSelected(a[d]) && this.graph.isCellSelectable(a[d]) && c.push(a[d]);
+    this.changeSelection(c, b)
+  }
 };
 mxGraphSelectionModel.prototype.removeCell = function(a) {
-    null != a && this.removeCells([a])
+  null != a && this.removeCells([a])
 };
 mxGraphSelectionModel.prototype.removeCells = function(a) {
-    if (null != a) {
-        for (var b = [], c = 0; c < a.length; c++) this.isSelected(a[c]) && b.push(a[c]);
-        this.changeSelection(null, b)
-    }
+  if (null != a) {
+    for (var b = [], c = 0; c < a.length; c++) this.isSelected(a[c]) && b.push(a[c]);
+    this.changeSelection(null, b)
+  }
 };
 mxGraphSelectionModel.prototype.changeSelection = function(a, b) {
-    if (null != a && 0 < a.length && null != a[0] || null != b && 0 < b.length && null != b[0]) {
-        var c = new mxSelectionChange(this, a, b);
-        c.execute();
-        var d = new mxUndoableEdit(this, !1);
-        d.add(c);
-        this.fireEvent(new mxEventObject(mxEvent.UNDO, "edit", d))
-    }
+  if (null != a && 0 < a.length && null != a[0] || null != b && 0 < b.length && null != b[0]) {
+    var c = new mxSelectionChange(this, a, b);
+    c.execute();
+    var d = new mxUndoableEdit(this, !1);
+    d.add(c);
+    this.fireEvent(new mxEventObject(mxEvent.UNDO, "edit", d))
+  }
 };
 mxGraphSelectionModel.prototype.cellAdded = function(a) {
-    null != a && !this.isSelected(a) && this.cells.push(a)
+  null != a && !this.isSelected(a) && this.cells.push(a)
 };
 mxGraphSelectionModel.prototype.cellRemoved = function(a) {
-    null != a && (a = mxUtils.indexOf(this.cells, a), 0 <= a && this.cells.splice(a, 1))
+  null != a && (a = mxUtils.indexOf(this.cells, a), 0 <= a && this.cells.splice(a, 1))
 };
 
 function mxSelectionChange(a, b, c) {
-    this.selectionModel = a;
-    this.added = null != b ? b.slice() : null;
-    this.removed = null != c ? c.slice() : null
+  this.selectionModel = a;
+  this.added = null != b ? b.slice() : null;
+  this.removed = null != c ? c.slice() : null
 }
 mxSelectionChange.prototype.execute = function() {
-    var a = mxLog.enter("mxSelectionChange.execute");
-    window.status = mxResources.get(this.selectionModel.updatingSelectionResource) || this.selectionModel.updatingSelectionResource;
-    if (null != this.removed)
-        for (var b = 0; b < this.removed.length; b++) this.selectionModel.cellRemoved(this.removed[b]);
-    if (null != this.added)
-        for (b = 0; b < this.added.length; b++) this.selectionModel.cellAdded(this.added[b]);
-    b = this.added;
-    this.added = this.removed;
-    this.removed = b;
-    window.status = mxResources.get(this.selectionModel.doneResource) ||
-        this.selectionModel.doneResource;
-    mxLog.leave("mxSelectionChange.execute", a);
-    this.selectionModel.fireEvent(new mxEventObject(mxEvent.CHANGE, "added", this.added, "removed", this.removed))
+  var a = mxLog.enter("mxSelectionChange.execute");
+  window.status = mxResources.get(this.selectionModel.updatingSelectionResource) || this.selectionModel.updatingSelectionResource;
+  if (null != this.removed)
+    for (var b = 0; b < this.removed.length; b++) this.selectionModel.cellRemoved(this.removed[b]);
+  if (null != this.added)
+    for (b = 0; b < this.added.length; b++) this.selectionModel.cellAdded(this.added[b]);
+  b = this.added;
+  this.added = this.removed;
+  this.removed = b;
+  window.status = mxResources.get(this.selectionModel.doneResource) ||
+    this.selectionModel.doneResource;
+  mxLog.leave("mxSelectionChange.execute", a);
+  this.selectionModel.fireEvent(new mxEventObject(mxEvent.CHANGE, "added", this.added, "removed", this.removed))
 };
 
 function mxCellEditor(a) {
-    this.graph = a
+  this.graph = a
 }
 mxCellEditor.prototype.graph = null;
 mxCellEditor.prototype.textarea = null;
@@ -9583,181 +9729,188 @@ mxCellEditor.prototype.autoSize = !0;
 mxCellEditor.prototype.emptyLabelText = "";
 mxCellEditor.prototype.textNode = "";
 mxCellEditor.prototype.init = function() {
-    this.textarea = document.createElement("textarea");
-    this.textarea.className = "mxCellEditor";
-    this.textarea.style.position = "absolute";
-    this.textarea.style.overflow = "visible";
-    this.textarea.setAttribute("cols", "20");
-    this.textarea.setAttribute("rows", "4");
-    mxClient.IS_NS && (this.textarea.style.resize = "none");
-    mxEvent.addListener(this.textarea, "blur", mxUtils.bind(this, function(a) {
-        this.focusLost()
-    }));
-    mxEvent.addListener(this.textarea, "keydown", mxUtils.bind(this, function(a) {
-        mxEvent.isConsumed(a) ||
-            (113 == a.keyCode || this.graph.isEnterStopsCellEditing() && 13 == a.keyCode && !mxEvent.isControlDown(a) && !mxEvent.isShiftDown(a) ? (this.graph.stopEditing(!1), mxEvent.consume(a)) : 27 == a.keyCode ? (this.graph.stopEditing(!0), mxEvent.consume(a)) : (this.clearOnChange && (this.clearOnChange = !1, this.textarea.value = ""), this.setModified(!0)))
-    }));
-    mxEvent.addListener(this.textarea, "keypress", mxUtils.bind(this, function(a) {
-        this.autoSize && !mxEvent.isConsumed(a) && setTimeout(mxUtils.bind(this, function() {
-            this.resize()
-        }), 0)
-    }))
+  this.textarea = document.createElement("textarea");
+  this.textarea.className = "mxCellEditor";
+  this.textarea.style.position = "absolute";
+  this.textarea.style.overflow = "visible";
+  this.textarea.setAttribute("cols", "20");
+  this.textarea.setAttribute("rows", "4");
+  mxClient.IS_NS && (this.textarea.style.resize = "none");
+  mxEvent.addListener(this.textarea, "blur", mxUtils.bind(this, function(a) {
+    this.focusLost()
+  }));
+  mxEvent.addListener(this.textarea, "keydown", mxUtils.bind(this, function(a) {
+    mxEvent.isConsumed(a) ||
+      (113 == a.keyCode || this.graph.isEnterStopsCellEditing() && 13 == a.keyCode && !mxEvent.isControlDown(a) && !mxEvent.isShiftDown(a) ? (this.graph.stopEditing(!1), mxEvent.consume(a)) :
+        27 == a.keyCode ? (this.graph.stopEditing(!0), mxEvent.consume(a)) : (this.clearOnChange && (this.clearOnChange = !1, this.textarea.value = ""), this.setModified(!0)))
+  }));
+  mxEvent.addListener(this.textarea, "keypress", mxUtils.bind(this, function(a) {
+    this.autoSize && !mxEvent.isConsumed(a) && setTimeout(mxUtils.bind(this, function() {
+      this.resize()
+    }), 0)
+  }))
 };
 mxCellEditor.prototype.resize = function() {
-    if (null != this.textDiv) {
-        var a = this.graph.getView().getState(this.editingCell),
-            b = this.graph.isLabelClipped(a.cell),
-            c = this.graph.isWrapping(a.cell);
-        if (this.graph.getModel().isEdge(a.cell)) this.bounds.x = a.absoluteOffset.x, this.bounds.y = a.absoluteOffset.y, this.bounds.width = 0, this.bounds.height = 0;
-        else if (null != this.bounds) {
-            this.bounds.x = a.x;
-            this.bounds.y = a.y;
-            this.bounds.width = a.width;
-            this.bounds.height = a.height;
-            var d = mxUtils.getValue(a.style, mxConstants.STYLE_LABEL_POSITION,
-                mxConstants.ALIGN_CENTER);
-            d == mxConstants.ALIGN_LEFT ? this.bounds.x -= a.width : d == mxConstants.ALIGN_RIGHT && (this.bounds.x += a.width);
-            d = mxUtils.getValue(a.style, mxConstants.STYLE_VERTICAL_LABEL_POSITION, mxConstants.ALIGN_MIDDLE);
-            d == mxConstants.ALIGN_TOP ? this.bounds.y -= a.height : d == mxConstants.ALIGN_BOTTOM && (this.bounds.y += a.height)
-        }
-        d = this.textarea.value;
-        if ("\n" == d.charAt(d.length - 1) || "" == d) d += "\x26nbsp;";
-        d = mxUtils.htmlEntities(d, !1);
-        c ? (this.textDiv.style.whiteSpace = "normal", this.textDiv.style.width = this.bounds.width +
-            "px") : d = d.replace(/ /g, "\x26nbsp;");
-        d = d.replace(/\n/g, "\x3cbr/\x3e");
-        this.textDiv.innerHTML = d;
-        var d = this.textDiv.offsetWidth + 30,
-            e = this.textDiv.offsetHeight + 16,
-            d = Math.max(d, 40),
-            e = Math.max(e, 20);
-        b && (d = Math.min(this.bounds.width - 4, d), e = Math.min(this.bounds.height, e));
-        var f = null != a.text ? a.text.margin : null;
-        null == f && (f = mxUtils.getValue(a.style, mxConstants.STYLE_ALIGN, mxConstants.ALIGN_CENTER), a = mxUtils.getValue(a.style, mxConstants.STYLE_VERTICAL_ALIGN, mxConstants.ALIGN_MIDDLE), f = mxUtils.getAlignmentAsPoint(f,
-            a));
-        if (null != f) {
-            if (b || !c) this.textarea.style.left = Math.max(0, Math.round(this.bounds.x - f.x * this.bounds.width + f.x * d) - 3) + "px";
-            this.textarea.style.top = Math.max(0, Math.round(this.bounds.y - f.y * this.bounds.height + f.y * e) + 4) + "px"
-        }
-        if (b || !c) this.textarea.style.width = d + "px";
-        this.textarea.style.height = e + "px"
-    }
+  if (null != this.textDiv) {
+    var a = this.graph.getView().getState(this.editingCell),
+      b = this.graph.isLabelClipped(a.cell),
+      c = this.graph.isWrapping(a.cell);
+    if (this.graph.getModel().isEdge(a.cell)) this.bounds.x = a.absoluteOffset.x, this.bounds.y = a.absoluteOffset.y, this.bounds.width = 0, this.bounds.height = 0;
+    else if (null != this.bounds) {
+      this.bounds.x = a.x;
+      this.bounds.y = a.y;
+      this.bounds.width = a.width;
+      this.bounds.height = a.height;
+      var d = mxUtils.getValue(a.style, mxConstants.STYLE_LABEL_POSITION,
+        mxConstants.ALIGN_CENTER);
+      d == mxConstants.ALIGN_LEFT ? this.bounds.x -= a.width : d == mxConstants.ALIGN_RIGHT && (this.bounds.x += a.width);
+      d = mxUtils.getValue(a.style, mxConstants.STYLE_VERTICAL_LABEL_POSITION, mxConstants.ALIGN_MIDDLE);
+      d == mxConstants.ALIGN_TOP ? this.bounds.y -= a.height : d == mxConstants.ALIGN_BOTTOM && (this.bounds.y += a.height)
+    }
+    d = this.textarea.value;
+    if ("\n" == d.charAt(d.length - 1) || "" == d) d += "\x26nbsp;";
+    d = mxUtils.htmlEntities(d, !1);
+    c ? (this.textDiv.style.whiteSpace = "normal", this.textDiv.style.width = this.bounds.width +
+      "px") : d = d.replace(/ /g, "\x26nbsp;");
+    d = d.replace(/\n/g, "\x3cbr/\x3e");
+    this.textDiv.innerHTML = d;
+    var d = this.textDiv.offsetWidth + 30,
+      e = this.textDiv.offsetHeight + 16,
+      d = Math.max(d, 40),
+      e = Math.max(e, 20);
+    b && (d = Math.min(this.bounds.width - 4, d), e = Math.min(this.bounds.height, e));
+    var f = null != a.text ? a.text.margin : null;
+    null == f && (f = mxUtils.getValue(a.style, mxConstants.STYLE_ALIGN, mxConstants.ALIGN_CENTER), a = mxUtils.getValue(a.style, mxConstants.STYLE_VERTICAL_ALIGN, mxConstants.ALIGN_MIDDLE), f =
+      mxUtils.getAlignmentAsPoint(f,
+        a));
+    if (null != f) {
+      if (b || !c) this.textarea.style.left = Math.max(0, Math.round(this.bounds.x - f.x * this.bounds.width + f.x * d) - 3) + "px";
+      this.textarea.style.top = Math.max(0, Math.round(this.bounds.y - f.y * this.bounds.height + f.y * e) + 4) + "px"
+    }
+    if (b || !c) this.textarea.style.width = d + "px";
+    this.textarea.style.height = e + "px"
+  }
 };
 mxCellEditor.prototype.isModified = function() {
-    return this.modified
+  return this.modified
 };
 mxCellEditor.prototype.setModified = function(a) {
-    this.modified = a
+  this.modified = a
 };
 mxCellEditor.prototype.focusLost = function() {
-    this.stopEditing(!this.graph.isInvokesStopCellEditing())
+  this.stopEditing(!this.graph.isInvokesStopCellEditing())
 };
 mxCellEditor.prototype.startEditing = function(a, b) {
-    null == this.textarea && this.init();
-    this.stopEditing(!0);
-    var c = this.graph.getView().getState(a);
-    if (null != c) {
-        this.editingCell = a;
-        this.trigger = b;
-        this.textNode = null;
-        null != c.text && this.isHideLabel(c) && (this.textNode = c.text.node, this.textNode.style.visibility = "hidden");
-        var d = this.graph.getView().scale,
-            d = mxUtils.getValue(c.style, mxConstants.STYLE_FONTSIZE, mxConstants.DEFAULT_FONTSIZE) * d,
-            e = mxUtils.getValue(c.style, mxConstants.STYLE_FONTFAMILY, mxConstants.DEFAULT_FONTFAMILY),
-            f = mxUtils.getValue(c.style, mxConstants.STYLE_FONTCOLOR, "black"),
-            g = mxUtils.getValue(c.style, mxConstants.STYLE_ALIGN, mxConstants.ALIGN_LEFT),
-            h = (mxUtils.getValue(c.style, mxConstants.STYLE_FONTSTYLE, 0) & mxConstants.FONT_BOLD) == mxConstants.FONT_BOLD,
-            k = (mxUtils.getValue(c.style, mxConstants.STYLE_FONTSTYLE, 0) & mxConstants.FONT_ITALIC) == mxConstants.FONT_ITALIC,
-            l = (mxUtils.getValue(c.style, mxConstants.STYLE_FONTSTYLE, 0) & mxConstants.FONT_UNDERLINE) == mxConstants.FONT_UNDERLINE;
-        this.textarea.style.fontSize = Math.round(d) +
-            "px";
-        this.textarea.style.lineHeight = Math.round(d * mxConstants.LINE_HEIGHT) + "px";
-        this.textarea.style.fontFamily = e;
-        this.textarea.style.textAlign = g;
-        this.textarea.style.color = f;
-        this.textarea.style.fontWeight = h ? "bold" : "normal";
-        this.textarea.style.fontStyle = k ? "italic" : "";
-        this.textarea.style.textDecoration = l ? "underline" : "";
-        this.textarea.style.overflow = "auto";
-        this.textarea.style.outline = "none";
-        this.bounds = d = this.getEditorBounds(c);
-        this.textarea.style.left = d.x + "px";
-        this.textarea.style.top = d.y + "px";
-        this.textarea.style.width =
-            d.width + "px";
-        this.textarea.style.height = d.height + "px";
-        this.textarea.style.zIndex = 5;
-        c = this.getInitialValue(c, b);
-        null == c || 0 == c.length ? (c = this.getEmptyLabelText(), this.clearOnChange = !0) : this.clearOnChange = !1;
-        this.setModified(!1);
-        this.textarea.value = c;
-        this.graph.container.appendChild(this.textarea);
-        "none" != this.textarea.style.display && (this.autoSize && (this.textDiv = this.createTextDiv(), document.body.appendChild(this.textDiv), this.resize()), this.textarea.focus(), this.textarea.select())
-    }
+  null == this.textarea && this.init();
+  this.stopEditing(!0);
+  var c = this.graph.getView().getState(a);
+  if (null != c) {
+    this.editingCell = a;
+    this.trigger = b;
+    this.textNode = null;
+    null != c.text && this.isHideLabel(c) && (this.textNode = c.text.node, this.textNode.style.visibility = "hidden");
+    var d = this.graph.getView().scale,
+      d = mxUtils.getValue(c.style, mxConstants.STYLE_FONTSIZE, mxConstants.DEFAULT_FONTSIZE) * d,
+      e = mxUtils.getValue(c.style, mxConstants.STYLE_FONTFAMILY, mxConstants.DEFAULT_FONTFAMILY),
+      f = mxUtils.getValue(c.style, mxConstants.STYLE_FONTCOLOR, "black"),
+      g = mxUtils.getValue(c.style, mxConstants.STYLE_ALIGN, mxConstants.ALIGN_LEFT),
+      h = (mxUtils.getValue(c.style, mxConstants.STYLE_FONTSTYLE, 0) & mxConstants.FONT_BOLD) == mxConstants.FONT_BOLD,
+      k = (mxUtils.getValue(c.style, mxConstants.STYLE_FONTSTYLE, 0) & mxConstants.FONT_ITALIC) == mxConstants.FONT_ITALIC,
+      l = (mxUtils.getValue(c.style, mxConstants.STYLE_FONTSTYLE, 0) & mxConstants.FONT_UNDERLINE) == mxConstants.FONT_UNDERLINE;
+    this.textarea.style.fontSize = Math.round(d) +
+      "px";
+    this.textarea.style.lineHeight = Math.round(d * mxConstants.LINE_HEIGHT) + "px";
+    this.textarea.style.fontFamily = e;
+    this.textarea.style.textAlign = g;
+    this.textarea.style.color = f;
+    this.textarea.style.fontWeight = h ? "bold" : "normal";
+    this.textarea.style.fontStyle = k ? "italic" : "";
+    this.textarea.style.textDecoration = l ? "underline" : "";
+    this.textarea.style.overflow = "auto";
+    this.textarea.style.outline = "none";
+    this.bounds = d = this.getEditorBounds(c);
+    this.textarea.style.left = d.x + "px";
+    this.textarea.style.top = d.y + "px";
+    this.textarea.style.width =
+      d.width + "px";
+    this.textarea.style.height = d.height + "px";
+    this.textarea.style.zIndex = 5;
+    c = this.getInitialValue(c, b);
+    null == c || 0 == c.length ? (c = this.getEmptyLabelText(), this.clearOnChange = !0) : this.clearOnChange = !1;
+    this.setModified(!1);
+    this.textarea.value = c;
+    this.graph.container.appendChild(this.textarea);
+    "none" != this.textarea.style.display && (this.autoSize && (this.textDiv = this.createTextDiv(), document.body.appendChild(this.textDiv), this.resize()), this.textarea.focus(), this.textarea.select())
+  }
 };
 mxCellEditor.prototype.createTextDiv = function() {
-    var a = document.createElement("div"),
-        b = a.style;
-    b.position = "absolute";
-    b.whiteSpace = "nowrap";
-    b.visibility = "hidden";
-    b.display = mxClient.IS_QUIRKS ? "inline" : "inline-block";
-    b.zoom = "1";
-    b.verticalAlign = "top";
-    b.lineHeight = this.textarea.style.lineHeight;
-    b.fontSize = this.textarea.style.fontSize;
-    b.fontFamily = this.textarea.style.fontFamily;
-    b.fontWeight = this.textarea.style.fontWeight;
-    b.textAlign = this.textarea.style.textAlign;
-    b.fontStyle = this.textarea.style.fontStyle;
-    b.textDecoration = this.textarea.style.textDecoration;
-    return a
+  var a = document.createElement("div"),
+    b = a.style;
+  b.position = "absolute";
+  b.whiteSpace = "nowrap";
+  b.visibility = "hidden";
+  b.display = mxClient.IS_QUIRKS ? "inline" : "inline-block";
+  b.zoom = "1";
+  b.verticalAlign = "top";
+  b.lineHeight = this.textarea.style.lineHeight;
+  b.fontSize = this.textarea.style.fontSize;
+  b.fontFamily = this.textarea.style.fontFamily;
+  b.fontWeight = this.textarea.style.fontWeight;
+  b.textAlign = this.textarea.style.textAlign;
+  b.fontStyle = this.textarea.style.fontStyle;
+  b.textDecoration = this.textarea.style.textDecoration;
+  return a
 };
 mxCellEditor.prototype.stopEditing = function(a) {
-    null != this.editingCell && (null != this.textNode && (this.textNode.style.visibility = "visible", this.textNode = null), !a && this.isModified() && this.graph.labelChanged(this.editingCell, this.getCurrentValue(), this.trigger), null != this.textDiv && (document.body.removeChild(this.textDiv), this.textDiv = null), this.bounds = this.trigger = this.editingCell = null, this.textarea.blur(), this.textarea.parentNode.removeChild(this.textarea))
+  null != this.editingCell && (null != this.textNode && (this.textNode.style.visibility = "visible", this.textNode = null), !a && this.isModified() && this.graph.labelChanged(this.editingCell, this
+      .getCurrentValue(), this.trigger), null != this.textDiv && (document.body.removeChild(this.textDiv), this.textDiv = null), this.bounds = this.trigger = this.editingCell = null, this.textarea
+    .blur(), this.textarea.parentNode.removeChild(this.textarea))
 };
 mxCellEditor.prototype.getInitialValue = function(a, b) {
-    return this.graph.getEditingValue(a.cell, b)
+  return this.graph.getEditingValue(a.cell, b)
 };
 mxCellEditor.prototype.getCurrentValue = function() {
-    return this.textarea.value.replace(/\r/g, "")
+  return this.textarea.value.replace(/\r/g, "")
 };
 mxCellEditor.prototype.isHideLabel = function(a) {
-    return !0
+  return !0
 };
 mxCellEditor.prototype.getMinimumSize = function(a) {
-    var b = this.graph.getView().scale;
-    return new mxRectangle(0, 0, null == a.text ? 30 : a.text.size * b + 20, "left" == this.textarea.style.textAlign ? 120 : 40)
+  var b = this.graph.getView().scale;
+  return new mxRectangle(0, 0, null == a.text ? 30 : a.text.size * b + 20, "left" == this.textarea.style.textAlign ? 120 : 40)
 };
 mxCellEditor.prototype.getEditorBounds = function(a) {
-    var b = this.graph.getModel().isEdge(a.cell),
-        c = this.graph.getView().scale,
-        d = this.getMinimumSize(a),
-        e = d.width,
-        d = d.height,
-        f = parseInt(a.style[mxConstants.STYLE_SPACING] || 2) * c,
-        g = parseInt(a.style[mxConstants.STYLE_SPACING_TOP] || 0) * c + f,
-        h = parseInt(a.style[mxConstants.STYLE_SPACING_RIGHT] || 0) * c + f,
-        k = parseInt(a.style[mxConstants.STYLE_SPACING_BOTTOM] || 0) * c + f,
-        c = parseInt(a.style[mxConstants.STYLE_SPACING_LEFT] || 0) * c + f,
-        h = new mxRectangle(a.x, a.y, Math.max(e, a.width -
-            c - h), Math.max(d, a.height - g - k));
-    b ? (h.x = a.absoluteOffset.x, h.y = a.absoluteOffset.y, null != a.text && null != a.text.boundingBox && (0 < a.text.boundingBox.x && (h.x = a.text.boundingBox.x), 0 < a.text.boundingBox.y && (h.y = a.text.boundingBox.y))) : null != a.text && null != a.text.boundingBox && (h.x = Math.min(h.x, a.text.boundingBox.x), h.y = Math.min(h.y, a.text.boundingBox.y));
-    h.x += c;
-    h.y += g;
-    null != a.text && null != a.text.boundingBox && (b ? (h.width = Math.max(e, a.text.boundingBox.width), h.height = Math.max(d, a.text.boundingBox.height)) : (h.width =
-        Math.max(h.width, a.text.boundingBox.width), h.height = Math.max(h.height, a.text.boundingBox.height)));
-    this.graph.getModel().isVertex(a.cell) && (b = mxUtils.getValue(a.style, mxConstants.STYLE_LABEL_POSITION, mxConstants.ALIGN_CENTER), b == mxConstants.ALIGN_LEFT ? h.x -= a.width : b == mxConstants.ALIGN_RIGHT && (h.x += a.width), b = mxUtils.getValue(a.style, mxConstants.STYLE_VERTICAL_LABEL_POSITION, mxConstants.ALIGN_MIDDLE), b == mxConstants.ALIGN_TOP ? h.y -= a.height : b == mxConstants.ALIGN_BOTTOM && (h.y += a.height));
-    return h
+  var b = this.graph.getModel().isEdge(a.cell),
+    c = this.graph.getView().scale,
+    d = this.getMinimumSize(a),
+    e = d.width,
+    d = d.height,
+    f = parseInt(a.style[mxConstants.STYLE_SPACING] || 2) * c,
+    g = parseInt(a.style[mxConstants.STYLE_SPACING_TOP] || 0) * c + f,
+    h = parseInt(a.style[mxConstants.STYLE_SPACING_RIGHT] || 0) * c + f,
+    k = parseInt(a.style[mxConstants.STYLE_SPACING_BOTTOM] || 0) * c + f,
+    c = parseInt(a.style[mxConstants.STYLE_SPACING_LEFT] || 0) * c + f,
+    h = new mxRectangle(a.x, a.y, Math.max(e, a.width -
+      c - h), Math.max(d, a.height - g - k));
+  b ? (h.x = a.absoluteOffset.x, h.y = a.absoluteOffset.y, null != a.text && null != a.text.boundingBox && (0 < a.text.boundingBox.x && (h.x = a.text.boundingBox.x), 0 < a.text.boundingBox.y && (h.y =
+    a.text.boundingBox.y))) : null != a.text && null != a.text.boundingBox && (h.x = Math.min(h.x, a.text.boundingBox.x), h.y = Math.min(h.y, a.text.boundingBox.y));
+  h.x += c;
+  h.y += g;
+  null != a.text && null != a.text.boundingBox && (b ? (h.width = Math.max(e, a.text.boundingBox.width), h.height = Math.max(d, a.text.boundingBox.height)) : (h.width =
+    Math.max(h.width, a.text.boundingBox.width), h.height = Math.max(h.height, a.text.boundingBox.height)));
+  this.graph.getModel().isVertex(a.cell) && (b = mxUtils.getValue(a.style, mxConstants.STYLE_LABEL_POSITION, mxConstants.ALIGN_CENTER), b == mxConstants.ALIGN_LEFT ? h.x -= a.width : b ==
+    mxConstants.ALIGN_RIGHT && (h.x += a.width), b = mxUtils.getValue(a.style, mxConstants.STYLE_VERTICAL_LABEL_POSITION, mxConstants.ALIGN_MIDDLE), b == mxConstants.ALIGN_TOP ? h.y -= a.height :
+    b == mxConstants.ALIGN_BOTTOM && (h.y += a.height));
+  return h
 };
 mxCellEditor.prototype.getEmptyLabelText = function(a) {
-    return this.emptyLabelText
+  return this.emptyLabelText
 };
 mxCellEditor.prototype.getEditingCell = function() {
-    return this.editingCell
+  return this.editingCell
 };
 mxCellEditor.prototype.destroy = function() {
-    null != this.textarea && (mxEvent.release(this.textarea), null != this.textarea.parentNode && this.textarea.parentNode.removeChild(this.textarea), this.textarea = null)
+  null != this.textarea && (mxEvent.release(this.textarea), null != this.textarea.parentNode && this.textarea.parentNode.removeChild(this.textarea), this.textarea = null)
 };
 
 function mxCellRenderer() {}
@@ -9767,7 +9920,7 @@ mxCellRenderer.prototype.defaultTextShape = mxText;
 mxCellRenderer.prototype.legacyControlPosition = !0;
 mxCellRenderer.prototype.defaultShapes = {};
 mxCellRenderer.registerShape = function(a, b) {
-    mxCellRenderer.prototype.defaultShapes[a] = b
+  mxCellRenderer.prototype.defaultShapes[a] = b
 };
 mxCellRenderer.registerShape(mxConstants.SHAPE_RECTANGLE, mxRectangleShape);
 mxCellRenderer.registerShape(mxConstants.SHAPE_ELLIPSE, mxEllipse);
@@ -9785,700 +9938,736 @@ mxCellRenderer.registerShape(mxConstants.SHAPE_SWIMLANE, mxSwimlane);
 mxCellRenderer.registerShape(mxConstants.SHAPE_IMAGE, mxImageShape);
 mxCellRenderer.registerShape(mxConstants.SHAPE_LABEL, mxLabel);
 mxCellRenderer.prototype.initialize = function(a, b) {
-    var c = a.view.graph.getModel();
-    if (null != a.view.graph.container && null == a.shape && a.cell != a.view.currentRoot && (c.isVertex(a.cell) || c.isEdge(a.cell)))
-        if (this.createShape(a), null != a.shape && (null == b || b)) this.initializeShape(a), a.view.graph.ordered || c.isEdge(a.cell) ? a.invalidOrder = !0 : a.view.graph.keepEdgesInForeground && null != this.firstEdge && (this.firstEdge.parentNode == a.shape.node.parentNode ? this.insertState(a, this.firstEdge) : this.firstEdge = null), a.shape.scale =
-            a.view.scale, this.createCellOverlays(a), this.installListeners(a)
+  var c = a.view.graph.getModel();
+  if (null != a.view.graph.container && null == a.shape && a.cell != a.view.currentRoot && (c.isVertex(a.cell) || c.isEdge(a.cell)))
+    if (this.createShape(a), null != a.shape && (null == b || b)) this.initializeShape(a), a.view.graph.ordered || c.isEdge(a.cell) ? a.invalidOrder = !0 : a.view.graph.keepEdgesInForeground &&
+      null != this.firstEdge && (this.firstEdge.parentNode == a.shape.node.parentNode ? this.insertState(a, this.firstEdge) : this.firstEdge = null), a.shape.scale =
+      a.view.scale, this.createCellOverlays(a), this.installListeners(a)
 };
 mxCellRenderer.prototype.initializeShape = function(a) {
-    a.shape.init(a.view.getDrawPane())
+  a.shape.init(a.view.getDrawPane())
 };
 mxCellRenderer.prototype.getPreviousStateInContainer = function(a, b) {
-    for (var c = null, d = a.view.graph, e = d.getModel(), f = a.cell, g = e.getParent(f); null != g && null == c;) c = this.findPreviousStateInContainer(d, g, f, b), f = g, g = e.getParent(f);
-    return c
+  for (var c = null, d = a.view.graph, e = d.getModel(), f = a.cell, g = e.getParent(f); null != g && null == c;) c = this.findPreviousStateInContainer(d, g, f, b), f = g, g = e.getParent(f);
+  return c
 };
 mxCellRenderer.prototype.findPreviousStateInContainer = function(a, b, c, d) {
-    var e = null,
-        f = a.getModel();
-    for (c = null != c ? b.getIndex(c) - 1 : f.getChildCount(b) - 1; 0 <= c && null == e; c--) e = this.findPreviousStateInContainer(a, f.getChildAt(b, c), null, d);
-    if (null == e && (e = a.view.getState(b), null != e && (null == e.shape || null == e.shape.node || e.shape.node.parentNode != d))) e = null;
-    return e
+  var e = null,
+    f = a.getModel();
+  for (c = null != c ? b.getIndex(c) - 1 : f.getChildCount(b) - 1; 0 <= c && null == e; c--) e = this.findPreviousStateInContainer(a, f.getChildAt(b, c), null, d);
+  if (null == e && (e = a.view.getState(b), null != e && (null == e.shape || null == e.shape.node || e.shape.node.parentNode != d))) e = null;
+  return e
 };
 mxCellRenderer.prototype.order = function(a) {
-    var b = a.shape.node.parentNode,
-        c = this.getPreviousStateInContainer(a, b),
-        d = b.firstChild;
-    null != c && (d = c.shape.node, null != c.text && (null != c.text.node && c.text.node.parentNode == b) && (d = c.text.node), d = d.nextSibling);
-    this.insertState(a, d)
+  var b = a.shape.node.parentNode,
+    c = this.getPreviousStateInContainer(a, b),
+    d = b.firstChild;
+  null != c && (d = c.shape.node, null != c.text && (null != c.text.node && c.text.node.parentNode == b) && (d = c.text.node), d = d.nextSibling);
+  this.insertState(a, d)
 };
 mxCellRenderer.prototype.orderEdge = function(a) {
-    var b = a.view,
-        c = b.graph.getModel();
-    if (b.graph.keepEdgesInForeground) {
-        if (null == this.firstEdge || null == this.firstEdge.parentNode || this.firstEdge.parentNode != a.shape.node.parentNode) this.firstEdge = a.shape.node
-    } else if (b.graph.keepEdgesInBackground) {
-        var d = a.shape.node,
-            e = d.parentNode,
-            c = c.getParent(a.cell),
-            b = b.getState(c),
-            e = null != b && null != b.shape && null != b.shape.node ? b.shape.node.nextSibling : e.firstChild;
-        null != e && e != d && this.insertState(a, e)
-    }
+  var b = a.view,
+    c = b.graph.getModel();
+  if (b.graph.keepEdgesInForeground) {
+    if (null == this.firstEdge || null == this.firstEdge.parentNode || this.firstEdge.parentNode != a.shape.node.parentNode) this.firstEdge = a.shape.node
+  } else if (b.graph.keepEdgesInBackground) {
+    var d = a.shape.node,
+      e = d.parentNode,
+      c = c.getParent(a.cell),
+      b = b.getState(c),
+      e = null != b && null != b.shape && null != b.shape.node ? b.shape.node.nextSibling : e.firstChild;
+    null != e && e != d && this.insertState(a, e)
+  }
 };
 mxCellRenderer.prototype.insertState = function(a, b) {
-    a.shape.node.parentNode.insertBefore(a.shape.node, b);
-    null != a.text && (null != a.text.node && a.text.node.parentNode == a.shape.node.parentNode) && a.shape.node.parentNode.insertBefore(a.text.node, a.shape.node.nextSibling)
+  a.shape.node.parentNode.insertBefore(a.shape.node, b);
+  null != a.text && (null != a.text.node && a.text.node.parentNode == a.shape.node.parentNode) && a.shape.node.parentNode.insertBefore(a.text.node, a.shape.node.nextSibling)
 };
 mxCellRenderer.prototype.createShape = function(a) {
-    if (null != a.style) {
-        var b = mxStencilRegistry.getStencil(a.style[mxConstants.STYLE_SHAPE]);
-        null != b ? a.shape = new mxShape(b) : (b = this.getShapeConstructor(a), a.shape = new b);
-        a.shape.points = a.absolutePoints;
-        a.shape.bounds = new mxRectangle(a.x, a.y, a.width, a.height);
-        a.shape.dialect = a.view.graph.dialect;
-        this.configureShape(a)
-    }
+  if (null != a.style) {
+    var b = mxStencilRegistry.getStencil(a.style[mxConstants.STYLE_SHAPE]);
+    null != b ? a.shape = new mxShape(b) : (b = this.getShapeConstructor(a), a.shape = new b);
+    a.shape.points = a.absolutePoints;
+    a.shape.bounds = new mxRectangle(a.x, a.y, a.width, a.height);
+    a.shape.dialect = a.view.graph.dialect;
+    this.configureShape(a)
+  }
 };
 mxCellRenderer.prototype.getShape = function(a) {
-    return null != a ? mxCellRenderer.prototype.defaultShapes[a] : null
+  return null != a ? mxCellRenderer.prototype.defaultShapes[a] : null
 };
 mxCellRenderer.prototype.getShapeConstructor = function(a) {
-    var b = this.getShape(a.style[mxConstants.STYLE_SHAPE]);
-    null == b && (b = a.view.graph.getModel().isEdge(a.cell) ? this.defaultEdgeShape : this.defaultVertexShape);
-    return b
+  var b = this.getShape(a.style[mxConstants.STYLE_SHAPE]);
+  null == b && (b = a.view.graph.getModel().isEdge(a.cell) ? this.defaultEdgeShape : this.defaultVertexShape);
+  return b
 };
 mxCellRenderer.prototype.configureShape = function(a) {
-    a.shape.apply(a);
-    a.shape.image = a.view.graph.getImage(a);
-    a.shape.indicatorShape = this.getShape(a.view.graph.getIndicatorShape(a));
-    a.shape.indicatorColor = a.view.graph.getIndicatorColor(a);
-    a.shape.indicatorGradientColor = a.view.graph.getIndicatorGradientColor(a);
-    a.shape.indicatorDirection = a.style[mxConstants.STYLE_INDICATOR_DIRECTION];
-    a.shape.indicatorImage = a.view.graph.getIndicatorImage(a);
-    this.postConfigureShape(a)
+  a.shape.apply(a);
+  a.shape.image = a.view.graph.getImage(a);
+  a.shape.indicatorShape = this.getShape(a.view.graph.getIndicatorShape(a));
+  a.shape.indicatorColor = a.view.graph.getIndicatorColor(a);
+  a.shape.indicatorGradientColor = a.view.graph.getIndicatorGradientColor(a);
+  a.shape.indicatorDirection = a.style[mxConstants.STYLE_INDICATOR_DIRECTION];
+  a.shape.indicatorImage = a.view.graph.getIndicatorImage(a);
+  this.postConfigureShape(a)
 };
 mxCellRenderer.prototype.postConfigureShape = function(a) {
-    null != a.shape && (this.resolveColor(a, "indicatorColor", mxConstants.STYLE_FILLCOLOR), this.resolveColor(a, "indicatorGradientColor", mxConstants.STYLE_GRADIENTCOLOR), this.resolveColor(a, "fill", mxConstants.STYLE_FILLCOLOR), this.resolveColor(a, "stroke", mxConstants.STYLE_STROKECOLOR), this.resolveColor(a, "gradient", mxConstants.STYLE_GRADIENTCOLOR))
+  null != a.shape && (this.resolveColor(a, "indicatorColor", mxConstants.STYLE_FILLCOLOR), this.resolveColor(a, "indicatorGradientColor", mxConstants.STYLE_GRADIENTCOLOR), this.resolveColor(a,
+    "fill", mxConstants.STYLE_FILLCOLOR), this.resolveColor(a, "stroke", mxConstants.STYLE_STROKECOLOR), this.resolveColor(a, "gradient", mxConstants.STYLE_GRADIENTCOLOR))
 };
 mxCellRenderer.prototype.resolveColor = function(a, b, c) {
-    var d = a.shape[b],
-        e = a.view.graph,
-        f = null;
-    "inherit" == d ? f = e.model.getParent(a.cell) : "swimlane" == d ? (f = null != e.model.getTerminal(a.cell, !1) ? e.model.getTerminal(a.cell, !1) : a.cell, f = e.getSwimlane(f), c = e.swimlaneIndicatorColorAttribute) : "indicated" == d && (a.shape[b] = a.shape.indicatorColor);
-    null != f && (d = e.getView().getState(f), a.shape[b] = null, null != d && (a.shape[b] = null != d.shape && "indicatorColor" != b ? d.shape[b] : d.style[c]))
+  var d = a.shape[b],
+    e = a.view.graph,
+    f = null;
+  "inherit" == d ? f = e.model.getParent(a.cell) : "swimlane" == d ? (f = null != e.model.getTerminal(a.cell, !1) ? e.model.getTerminal(a.cell, !1) : a.cell, f = e.getSwimlane(f), c = e.swimlaneIndicatorColorAttribute) :
+    "indicated" == d && (a.shape[b] = a.shape.indicatorColor);
+  null != f && (d = e.getView().getState(f), a.shape[b] = null, null != d && (a.shape[b] = null != d.shape && "indicatorColor" != b ? d.shape[b] : d.style[c]))
 };
 mxCellRenderer.prototype.getLabelValue = function(a) {
-    return a.view.graph.getLabel(a.cell)
+  return a.view.graph.getLabel(a.cell)
 };
 mxCellRenderer.prototype.createLabel = function(a, b) {
-    var c = a.view.graph;
-    c.getModel().isEdge(a.cell);
-    if (0 < a.style[mxConstants.STYLE_FONTSIZE] || null == a.style[mxConstants.STYLE_FONTSIZE]) {
-        var d = c.isHtmlLabel(a.cell) || null != b && mxUtils.isNode(b);
-        a.text = new this.defaultTextShape(b, new mxRectangle, a.style[mxConstants.STYLE_ALIGN] || mxConstants.ALIGN_CENTER, c.getVerticalAlign(a), a.style[mxConstants.STYLE_FONTCOLOR], a.style[mxConstants.STYLE_FONTFAMILY], a.style[mxConstants.STYLE_FONTSIZE], a.style[mxConstants.STYLE_FONTSTYLE],
-            a.style[mxConstants.STYLE_SPACING], a.style[mxConstants.STYLE_SPACING_TOP], a.style[mxConstants.STYLE_SPACING_RIGHT], a.style[mxConstants.STYLE_SPACING_BOTTOM], a.style[mxConstants.STYLE_SPACING_LEFT], a.style[mxConstants.STYLE_HORIZONTAL], a.style[mxConstants.STYLE_LABEL_BACKGROUNDCOLOR], a.style[mxConstants.STYLE_LABEL_BORDERCOLOR], c.isWrapping(a.cell) && c.isHtmlLabel(a.cell), c.isLabelClipped(a.cell), a.style[mxConstants.STYLE_OVERFLOW], a.style[mxConstants.STYLE_LABEL_PADDING]);
-        a.text.opacity = mxUtils.getValue(a.style,
-            mxConstants.STYLE_TEXT_OPACITY, 100);
-        a.text.dialect = d ? mxConstants.DIALECT_STRICTHTML : a.view.graph.dialect;
-        a.text.state = a;
-        this.initializeLabel(a);
-        var e = !1,
-            f = function(b) {
-                var d = a;
-                if (mxClient.IS_TOUCH || e) d = mxEvent.getClientX(b), b = mxEvent.getClientY(b), b = mxUtils.convertPoint(c.container, d, b), d = c.view.getState(c.getCellAt(b.x, b.y));
-                return d
-            };
-        mxEvent.addGestureListeners(a.text.node, mxUtils.bind(this, function(b) {
-            this.isLabelEvent(a, b) && (c.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(b, a)), e = c.dialect !=
-                mxConstants.DIALECT_SVG && "IMG" == mxEvent.getSource(b).nodeName)
-        }), mxUtils.bind(this, function(b) {
-            this.isLabelEvent(a, b) && c.fireMouseEvent(mxEvent.MOUSE_MOVE, new mxMouseEvent(b, f(b)))
-        }), mxUtils.bind(this, function(b) {
-            this.isLabelEvent(a, b) && (c.fireMouseEvent(mxEvent.MOUSE_UP, new mxMouseEvent(b, f(b))), e = !1)
-        }));
-        mxEvent.addListener(a.text.node, "dblclick", mxUtils.bind(this, function(b) {
-            this.isLabelEvent(a, b) && (c.dblClick(b, a.cell), mxEvent.consume(b))
-        }))
-    }
+  var c = a.view.graph;
+  c.getModel().isEdge(a.cell);
+  if (0 < a.style[mxConstants.STYLE_FONTSIZE] || null == a.style[mxConstants.STYLE_FONTSIZE]) {
+    var d = c.isHtmlLabel(a.cell) || null != b && mxUtils.isNode(b);
+    a.text = new this.defaultTextShape(b, new mxRectangle, a.style[mxConstants.STYLE_ALIGN] || mxConstants.ALIGN_CENTER, c.getVerticalAlign(a), a.style[mxConstants.STYLE_FONTCOLOR], a.style[
+        mxConstants.STYLE_FONTFAMILY], a.style[mxConstants.STYLE_FONTSIZE], a.style[mxConstants.STYLE_FONTSTYLE],
+      a.style[mxConstants.STYLE_SPACING], a.style[mxConstants.STYLE_SPACING_TOP], a.style[mxConstants.STYLE_SPACING_RIGHT], a.style[mxConstants.STYLE_SPACING_BOTTOM], a.style[mxConstants.STYLE_SPACING_LEFT],
+      a.style[mxConstants.STYLE_HORIZONTAL], a.style[mxConstants.STYLE_LABEL_BACKGROUNDCOLOR], a.style[mxConstants.STYLE_LABEL_BORDERCOLOR], c.isWrapping(a.cell) && c.isHtmlLabel(a.cell), c.isLabelClipped(
+        a.cell), a.style[mxConstants.STYLE_OVERFLOW], a.style[mxConstants.STYLE_LABEL_PADDING]);
+    a.text.opacity = mxUtils.getValue(a.style,
+      mxConstants.STYLE_TEXT_OPACITY, 100);
+    a.text.dialect = d ? mxConstants.DIALECT_STRICTHTML : a.view.graph.dialect;
+    a.text.state = a;
+    this.initializeLabel(a);
+    var e = !1,
+      f = function(b) {
+        var d = a;
+        if (mxClient.IS_TOUCH || e) d = mxEvent.getClientX(b), b = mxEvent.getClientY(b), b = mxUtils.convertPoint(c.container, d, b), d = c.view.getState(c.getCellAt(b.x, b.y));
+        return d
+      };
+    mxEvent.addGestureListeners(a.text.node, mxUtils.bind(this, function(b) {
+      this.isLabelEvent(a, b) && (c.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(b, a)), e = c.dialect !=
+        mxConstants.DIALECT_SVG && "IMG" == mxEvent.getSource(b).nodeName)
+    }), mxUtils.bind(this, function(b) {
+      this.isLabelEvent(a, b) && c.fireMouseEvent(mxEvent.MOUSE_MOVE, new mxMouseEvent(b, f(b)))
+    }), mxUtils.bind(this, function(b) {
+      this.isLabelEvent(a, b) && (c.fireMouseEvent(mxEvent.MOUSE_UP, new mxMouseEvent(b, f(b))), e = !1)
+    }));
+    mxEvent.addListener(a.text.node, "dblclick", mxUtils.bind(this, function(b) {
+      this.isLabelEvent(a, b) && (c.dblClick(b, a.cell), mxEvent.consume(b))
+    }))
+  }
 };
 mxCellRenderer.prototype.initializeLabel = function(a) {
-    var b = a.view.graph;
-    a.text.dialect != mxConstants.DIALECT_SVG && (mxClient.IS_SVG && mxClient.NO_FO ? a.text.init(b.container) : mxUtils.isVml(a.view.getDrawPane()) && (null != a.shape.label ? a.text.init(a.shape.label) : a.text.init(a.shape.node)));
-    null == a.text.node && (a.text.init(a.view.getDrawPane()), null != a.shape && null != a.text && a.shape.node.parentNode.insertBefore(a.text.node, a.shape.node.nextSibling))
+  var b = a.view.graph;
+  a.text.dialect != mxConstants.DIALECT_SVG && (mxClient.IS_SVG && mxClient.NO_FO ? a.text.init(b.container) : mxUtils.isVml(a.view.getDrawPane()) && (null != a.shape.label ? a.text.init(a.shape.label) :
+    a.text.init(a.shape.node)));
+  null == a.text.node && (a.text.init(a.view.getDrawPane()), null != a.shape && null != a.text && a.shape.node.parentNode.insertBefore(a.text.node, a.shape.node.nextSibling))
 };
 mxCellRenderer.prototype.createCellOverlays = function(a) {
-    var b = a.view.graph.getCellOverlays(a.cell),
-        c = null;
-    if (null != b)
-        for (var c = new mxDictionary, d = 0; d < b.length; d++) {
-            var e = null != a.overlays ? a.overlays.remove(b[d]) : null;
-            null == e && (e = new mxImageShape(new mxRectangle, b[d].image.src), e.dialect = a.view.graph.dialect, e.preserveImageAspect = !1, e.overlay = b[d], this.initializeOverlay(a, e), this.installCellOverlayListeners(a, b[d], e), null != b[d].cursor && (e.node.style.cursor = b[d].cursor));
-            c.put(b[d], e)
-        }
-    null != a.overlays &&
-        a.overlays.visit(function(a, b) {
-            b.destroy()
-        });
-    a.overlays = c
+  var b = a.view.graph.getCellOverlays(a.cell),
+    c = null;
+  if (null != b)
+    for (var c = new mxDictionary, d = 0; d < b.length; d++) {
+      var e = null != a.overlays ? a.overlays.remove(b[d]) : null;
+      null == e && (e = new mxImageShape(new mxRectangle, b[d].image.src), e.dialect = a.view.graph.dialect, e.preserveImageAspect = !1, e.overlay = b[d], this.initializeOverlay(a, e), this.installCellOverlayListeners(
+        a, b[d], e), null != b[d].cursor && (e.node.style.cursor = b[d].cursor));
+      c.put(b[d], e)
+    }
+  null != a.overlays &&
+    a.overlays.visit(function(a, b) {
+      b.destroy()
+    });
+  a.overlays = c
 };
 mxCellRenderer.prototype.initializeOverlay = function(a, b) {
-    b.init(a.view.getOverlayPane())
+  b.init(a.view.getOverlayPane())
 };
 mxCellRenderer.prototype.installCellOverlayListeners = function(a, b, c) {
-    var d = a.view.graph;
-    mxEvent.addListener(c.node, "click", function(c) {
-        d.isEditing() && d.stopEditing(!d.isInvokesStopCellEditing());
-        b.fireEvent(new mxEventObject(mxEvent.CLICK, "event", c, "cell", a.cell))
-    });
-    mxEvent.addGestureListeners(c.node, function(a) {
-        mxEvent.consume(a)
-    }, function(b) {
-        d.fireMouseEvent(mxEvent.MOUSE_MOVE, new mxMouseEvent(b, a))
-    });
-    mxClient.IS_TOUCH && mxEvent.addListener(c.node, "touchend", function(c) {
-        b.fireEvent(new mxEventObject(mxEvent.CLICK,
-            "event", c, "cell", a.cell))
-    })
+  var d = a.view.graph;
+  mxEvent.addListener(c.node, "click", function(c) {
+    d.isEditing() && d.stopEditing(!d.isInvokesStopCellEditing());
+    b.fireEvent(new mxEventObject(mxEvent.CLICK, "event", c, "cell", a.cell))
+  });
+  mxEvent.addGestureListeners(c.node, function(a) {
+    mxEvent.consume(a)
+  }, function(b) {
+    d.fireMouseEvent(mxEvent.MOUSE_MOVE, new mxMouseEvent(b, a))
+  });
+  mxClient.IS_TOUCH && mxEvent.addListener(c.node, "touchend", function(c) {
+    b.fireEvent(new mxEventObject(mxEvent.CLICK,
+      "event", c, "cell", a.cell))
+  })
 };
 mxCellRenderer.prototype.createControl = function(a) {
-    var b = a.view.graph,
-        c = b.getFoldingImage(a);
-    if (b.foldingEnabled && null != c) {
-        if (null == a.control) {
-            var d = new mxRectangle(0, 0, c.width, c.height);
-            a.control = new mxImageShape(d, c.src);
-            a.control.preserveImageAspect = !1;
-            a.control.dialect = b.dialect;
-            this.initControl(a, a.control, !0, function(c) {
-                if (b.isEnabled()) {
-                    var d = !b.isCellCollapsed(a.cell);
-                    b.foldCells(d, !1, [a.cell]);
-                    mxEvent.consume(c)
-                }
-            })
+  var b = a.view.graph,
+    c = b.getFoldingImage(a);
+  if (b.foldingEnabled && null != c) {
+    if (null == a.control) {
+      var d = new mxRectangle(0, 0, c.width, c.height);
+      a.control = new mxImageShape(d, c.src);
+      a.control.preserveImageAspect = !1;
+      a.control.dialect = b.dialect;
+      this.initControl(a, a.control, !0, function(c) {
+        if (b.isEnabled()) {
+          var d = !b.isCellCollapsed(a.cell);
+          b.foldCells(d, !1, [a.cell]);
+          mxEvent.consume(c)
         }
-    } else null != a.control && (a.control.destroy(), a.control = null)
+      })
+    }
+  } else null != a.control && (a.control.destroy(), a.control = null)
 };
 mxCellRenderer.prototype.initControl = function(a, b, c, d) {
-    var e = a.view.graph;
-    e.isHtmlLabel(a.cell) && mxClient.NO_FO && e.dialect == mxConstants.DIALECT_SVG ? (b.dialect = mxConstants.DIALECT_PREFERHTML, b.init(e.container), b.node.style.zIndex = 1) : b.init(a.view.getOverlayPane());
-    b = b.innerNode || b.node;
-    d && (e.isEnabled() && (b.style.cursor = "pointer"), mxEvent.addListener(b, "click", d));
-    c && mxEvent.addGestureListeners(b, function(b) {
-        e.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(b, a));
-        mxEvent.consume(b)
-    }, function(b) {
-        e.fireMouseEvent(mxEvent.MOUSE_MOVE,
-            new mxMouseEvent(b, a))
-    });
-    return b
+  var e = a.view.graph;
+  e.isHtmlLabel(a.cell) && mxClient.NO_FO && e.dialect == mxConstants.DIALECT_SVG ? (b.dialect = mxConstants.DIALECT_PREFERHTML, b.init(e.container), b.node.style.zIndex = 1) : b.init(a.view.getOverlayPane());
+  b = b.innerNode || b.node;
+  d && (e.isEnabled() && (b.style.cursor = "pointer"), mxEvent.addListener(b, "click", d));
+  c && mxEvent.addGestureListeners(b, function(b) {
+    e.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(b, a));
+    mxEvent.consume(b)
+  }, function(b) {
+    e.fireMouseEvent(mxEvent.MOUSE_MOVE,
+      new mxMouseEvent(b, a))
+  });
+  return b
 };
 mxCellRenderer.prototype.isShapeEvent = function(a, b) {
-    return !0
+  return !0
 };
 mxCellRenderer.prototype.isLabelEvent = function(a, b) {
-    return !0
+  return !0
 };
 mxCellRenderer.prototype.installListeners = function(a) {
-    var b = a.view.graph,
-        c = function(c) {
-            var d = a;
-            if (b.dialect != mxConstants.DIALECT_SVG && "IMG" == mxEvent.getSource(c).nodeName || mxClient.IS_TOUCH) d = mxEvent.getClientX(c), c = mxEvent.getClientY(c), c = mxUtils.convertPoint(b.container, d, c), d = b.view.getState(b.getCellAt(c.x, c.y));
-            return d
-        },
-        d = !1;
-    mxEvent.addListener(a.shape.node, "gesturestart", mxUtils.bind(this, function(a) {
-        b.lastTouchTime = 0;
-        d = !0;
-        mxEvent.consume(a)
-    }));
-    mxEvent.addGestureListeners(a.shape.node, mxUtils.bind(this,
-        function(c) {
-            this.isShapeEvent(a, c) && !d ? b.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(c, null != a.shape && mxEvent.getSource(c) == a.shape.content ? null : a)) : d && mxEvent.consume(c)
-        }), mxUtils.bind(this, function(e) {
-        this.isShapeEvent(a, e) && !d ? b.fireMouseEvent(mxEvent.MOUSE_MOVE, new mxMouseEvent(e, null != a.shape && mxEvent.getSource(e) == a.shape.content ? null : c(e))) : d && mxEvent.consume(e)
+  var b = a.view.graph,
+    c = function(c) {
+      var d = a;
+      if (b.dialect != mxConstants.DIALECT_SVG && "IMG" == mxEvent.getSource(c).nodeName || mxClient.IS_TOUCH) d = mxEvent.getClientX(c), c = mxEvent.getClientY(c), c = mxUtils.convertPoint(b.container,
+        d, c), d = b.view.getState(b.getCellAt(c.x, c.y));
+      return d
+    },
+    d = !1;
+  mxEvent.addListener(a.shape.node, "gesturestart", mxUtils.bind(this, function(a) {
+    b.lastTouchTime = 0;
+    d = !0;
+    mxEvent.consume(a)
+  }));
+  mxEvent.addGestureListeners(a.shape.node, mxUtils.bind(this,
+    function(c) {
+      this.isShapeEvent(a, c) && !d ? b.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(c, null != a.shape && mxEvent.getSource(c) == a.shape.content ? null : a)) : d && mxEvent.consume(c)
     }), mxUtils.bind(this, function(e) {
-        this.isShapeEvent(a, e) && !d ? b.fireMouseEvent(mxEvent.MOUSE_UP, new mxMouseEvent(e, null != a.shape &&
-            mxEvent.getSource(e) == a.shape.content ? null : c(e))) : d && mxEvent.consume(e)
-    }));
-    var e = mxClient.IS_TOUCH ? "gestureend" : "dblclick";
-    mxEvent.addListener(a.shape.node, e, mxUtils.bind(this, function(c) {
-        d = !1;
-        "gestureend" == e ? (b.lastTouchTime = 0, b.gestureEnabled && (b.handleGesture(a, c), mxEvent.consume(c))) : this.isShapeEvent(a, c) && (b.dblClick(c, null != a.shape && mxEvent.getSource(c) == a.shape.content ? null : a.cell), mxEvent.consume(c))
-    }))
+    this.isShapeEvent(a, e) && !d ? b.fireMouseEvent(mxEvent.MOUSE_MOVE, new mxMouseEvent(e, null != a.shape && mxEvent.getSource(e) == a.shape.content ? null : c(e))) : d && mxEvent.consume(
+      e)
+  }), mxUtils.bind(this, function(e) {
+    this.isShapeEvent(a, e) && !d ? b.fireMouseEvent(mxEvent.MOUSE_UP, new mxMouseEvent(e, null != a.shape &&
+      mxEvent.getSource(e) == a.shape.content ? null : c(e))) : d && mxEvent.consume(e)
+  }));
+  var e = mxClient.IS_TOUCH ? "gestureend" : "dblclick";
+  mxEvent.addListener(a.shape.node, e, mxUtils.bind(this, function(c) {
+    d = !1;
+    "gestureend" == e ? (b.lastTouchTime = 0, b.gestureEnabled && (b.handleGesture(a, c), mxEvent.consume(c))) : this.isShapeEvent(a, c) && (b.dblClick(c, null != a.shape && mxEvent.getSource(
+      c) == a.shape.content ? null : a.cell), mxEvent.consume(c))
+  }))
 };
 mxCellRenderer.prototype.redrawLabel = function(a, b) {
-    var c = this.getLabelValue(a);
-    if (null == a.text && null != c && (mxUtils.isNode(c) || 0 < c.length)) this.createLabel(a, c);
-    else if (null != a.text && (null == c || 0 == c.length)) a.text.destroy(), a.text = null;
-    if (null != a.text) {
-        var d = a.view.graph,
-            e = d.isWrapping(a.cell),
-            d = d.isLabelClipped(a.cell),
-            f = this.getLabelBounds(a);
-        if (b || a.text.value != c || a.text.isWrapping != e || a.text.isClipping != d || a.text.scale != a.view.scale || !a.text.bounds.equals(f)) a.text.value = c, a.text.bounds = f, a.text.scale =
-            this.getTextScale(a), a.text.isWrapping = e, a.text.isClipping = d, a.text.redraw()
-    }
+  var c = this.getLabelValue(a);
+  if (null == a.text && null != c && (mxUtils.isNode(c) || 0 < c.length)) this.createLabel(a, c);
+  else if (null != a.text && (null == c || 0 == c.length)) a.text.destroy(), a.text = null;
+  if (null != a.text) {
+    var d = a.view.graph,
+      e = d.isWrapping(a.cell),
+      d = d.isLabelClipped(a.cell),
+      f = this.getLabelBounds(a);
+    if (b || a.text.value != c || a.text.isWrapping != e || a.text.isClipping != d || a.text.scale != a.view.scale || !a.text.bounds.equals(f)) a.text.value = c, a.text.bounds = f, a.text.scale =
+      this.getTextScale(a), a.text.isWrapping = e, a.text.isClipping = d, a.text.redraw()
+  }
 };
 mxCellRenderer.prototype.getTextScale = function(a) {
-    return a.view.scale
+  return a.view.scale
 };
 mxCellRenderer.prototype.getLabelBounds = function(a) {
-    var b = a.view.graph,
-        c = a.view.scale,
-        d = b.getModel().isEdge(a.cell),
-        e = new mxRectangle(a.absoluteOffset.x, a.absoluteOffset.y);
-    a.text.updateMargin();
-    d ? (d = a.text.getSpacing(), e.x += d.x * c, e.y += d.y * c, b = b.getCellGeometry(a.cell), null != b && (e.width = Math.max(0, a.text.margin.x * b.width * c - a.text.spacingLeft * c - a.text.spacingRight * c), e.height = Math.max(0, a.text.margin.y * b.height * c - a.text.spacingTop * c - a.text.spacingBottom * c))) : (a.text.isPaintBoundsInverted() && (d = e.x,
-        e.x = e.y, e.y = d), e.x += a.x, e.y += a.y, e.width = Math.max(1, a.width), e.height = Math.max(1, a.height), b.isSwimlane(a.cell) && (b = b.getStartSize(a.cell), 0 < b.width ? (d = Math.min(e.width, b.width * c), a.shape.flipH && (e.x += e.width - d), e.width = d) : 0 < b.height && (d = Math.min(e.height, b.height * c), a.shape.flipV && (e.y += e.height - d), e.height = d)), this.rotateLabelBounds(a, e));
-    return e
+  var b = a.view.graph,
+    c = a.view.scale,
+    d = b.getModel().isEdge(a.cell),
+    e = new mxRectangle(a.absoluteOffset.x, a.absoluteOffset.y);
+  a.text.updateMargin();
+  d ? (d = a.text.getSpacing(), e.x += d.x * c, e.y += d.y * c, b = b.getCellGeometry(a.cell), null != b && (e.width = Math.max(0, a.text.margin.x * b.width * c - a.text.spacingLeft * c - a.text.spacingRight *
+    c), e.height = Math.max(0, a.text.margin.y * b.height * c - a.text.spacingTop * c - a.text.spacingBottom * c))) : (a.text.isPaintBoundsInverted() && (d = e.x,
+      e.x = e.y, e.y = d), e.x += a.x, e.y += a.y, e.width = Math.max(1, a.width), e.height = Math.max(1, a.height), b.isSwimlane(a.cell) && (b = b.getStartSize(a.cell), 0 < b.width ? (d = Math.min(
+      e.width, b.width * c), a.shape.flipH && (e.x += e.width - d), e.width = d) : 0 < b.height && (d = Math.min(e.height, b.height * c), a.shape.flipV && (e.y += e.height - d), e.height = d)),
+    this.rotateLabelBounds(a, e));
+  return e
 };
 mxCellRenderer.prototype.rotateLabelBounds = function(a, b) {
-    if (a.text.isPaintBoundsInverted()) {
-        var c = (a.width - a.height) / 2;
-        b.x += c;
-        b.y -= c;
-        c = b.width;
-        b.width = b.height;
-        b.height = c
-    }
-    b.x -= a.text.margin.x * b.width;
-    b.y -= a.text.margin.y * b.height;
-    if ("fill" != a.style[mxConstants.STYLE_OVERFLOW]) {
-        var c = a.view.scale,
-            d = a.text.getSpacing();
-        b.x += d.x * c;
-        b.y += d.y * c;
-        b.width = Math.max(0, b.width - a.text.spacingLeft * c - a.text.spacingRight * c);
-        b.height = Math.max(0, b.height - a.text.spacingTop * c - a.text.spacingBottom * c)
-    }
-    var e = a.text.getTextRotation();
-    if (0 != e && (null != a && a.view.graph.model.isVertex(a.cell)) && (c = a.getCenterX(), d = a.getCenterY(), b.x != c || b.y != d)) e *= Math.PI / 180, pt = mxUtils.getRotatedPoint(new mxPoint(b.x, b.y), Math.cos(e), Math.sin(e), new mxPoint(c, d)), b.x = pt.x, b.y = pt.y
+  if (a.text.isPaintBoundsInverted()) {
+    var c = (a.width - a.height) / 2;
+    b.x += c;
+    b.y -= c;
+    c = b.width;
+    b.width = b.height;
+    b.height = c
+  }
+  b.x -= a.text.margin.x * b.width;
+  b.y -= a.text.margin.y * b.height;
+  if ("fill" != a.style[mxConstants.STYLE_OVERFLOW]) {
+    var c = a.view.scale,
+      d = a.text.getSpacing();
+    b.x += d.x * c;
+    b.y += d.y * c;
+    b.width = Math.max(0, b.width - a.text.spacingLeft * c - a.text.spacingRight * c);
+    b.height = Math.max(0, b.height - a.text.spacingTop * c - a.text.spacingBottom * c)
+  }
+  var e = a.text.getTextRotation();
+  if (0 != e && (null != a && a.view.graph.model.isVertex(a.cell)) && (c = a.getCenterX(), d = a.getCenterY(), b.x != c || b.y != d)) e *= Math.PI / 180, pt = mxUtils.getRotatedPoint(new mxPoint(b.x,
+    b.y), Math.cos(e), Math.sin(e), new mxPoint(c, d)), b.x = pt.x, b.y = pt.y
 };
 mxCellRenderer.prototype.redrawCellOverlays = function(a, b) {
-    this.createCellOverlays(a);
-    if (null != a.overlays) {
-        var c = mxUtils.mod(mxUtils.getValue(a.style, mxConstants.STYLE_ROTATION, 0), 90),
-            d = mxUtils.toRadians(c),
-            e = Math.cos(d),
-            f = Math.sin(d);
-        a.overlays.visit(function(d, h) {
-            var k = h.overlay.getBounds(a);
-            if (!a.view.graph.getModel().isEdge(a.cell) && null != a.shape && 0 != c) {
-                var l = k.getCenterX(),
-                    m = k.getCenterY(),
-                    m = mxUtils.getRotatedPoint(new mxPoint(l, m), e, f, new mxPoint(a.getCenterX(), a.getCenterY())),
-                    l = m.x,
-                    m = m.y;
-                k.x =
-                    Math.round(l - k.width / 2);
-                k.y = Math.round(m - k.height / 2)
-            }
-            if (b || null == h.bounds || h.scale != a.view.scale || !h.bounds.equals(k)) h.bounds = k, h.scale = a.view.scale, h.redraw()
-        })
-    }
+  this.createCellOverlays(a);
+  if (null != a.overlays) {
+    var c = mxUtils.mod(mxUtils.getValue(a.style, mxConstants.STYLE_ROTATION, 0), 90),
+      d = mxUtils.toRadians(c),
+      e = Math.cos(d),
+      f = Math.sin(d);
+    a.overlays.visit(function(d, h) {
+      var k = h.overlay.getBounds(a);
+      if (!a.view.graph.getModel().isEdge(a.cell) && null != a.shape && 0 != c) {
+        var l = k.getCenterX(),
+          m = k.getCenterY(),
+          m = mxUtils.getRotatedPoint(new mxPoint(l, m), e, f, new mxPoint(a.getCenterX(), a.getCenterY())),
+          l = m.x,
+          m = m.y;
+        k.x =
+          Math.round(l - k.width / 2);
+        k.y = Math.round(m - k.height / 2)
+      }
+      if (b || null == h.bounds || h.scale != a.view.scale || !h.bounds.equals(k)) h.bounds = k, h.scale = a.view.scale, h.redraw()
+    })
+  }
 };
 mxCellRenderer.prototype.redrawControl = function(a, b) {
-    if (null != a.control) {
-        var c = this.getControlBounds(a),
-            d = this.legacyControlPosition ? mxUtils.getValue(a.style, mxConstants.STYLE_ROTATION, 0) : a.shape.getTextRotation(),
-            e = a.view.scale;
-        if (b || a.control.scale != e || !a.control.bounds.equals(c) || a.control.rotation != d) a.control.rotation = d, a.control.bounds = c, a.control.scale = e, a.control.redraw()
-    }
+  if (null != a.control) {
+    var c = this.getControlBounds(a),
+      d = this.legacyControlPosition ? mxUtils.getValue(a.style, mxConstants.STYLE_ROTATION, 0) : a.shape.getTextRotation(),
+      e = a.view.scale;
+    if (b || a.control.scale != e || !a.control.bounds.equals(c) || a.control.rotation != d) a.control.rotation = d, a.control.bounds = c, a.control.scale = e, a.control.redraw()
+  }
 };
 mxCellRenderer.prototype.getControlBounds = function(a) {
-    if (null != a.control) {
-        var b = a.control.scale,
-            c = a.control.bounds.width / b,
-            b = a.control.bounds.height / b,
-            d = a.view.scale,
-            e = a.getCenterX(),
-            f = a.getCenterY();
-        if (!a.view.graph.getModel().isEdge(a.cell) && (e = a.x + c * d, f = a.y + b * d, null != a.shape)) {
-            var g = a.shape.getShapeRotation();
-            if (this.legacyControlPosition) g = mxUtils.getValue(a.style, mxConstants.STYLE_ROTATION, 0);
-            else if (a.shape.isPaintBoundsInverted()) var h = (a.width - a.height) / 2,
-                e = e + h,
-                f = f - h;
-            0 != g && (h = mxUtils.toRadians(g),
-                g = Math.cos(h), h = Math.sin(h), f = mxUtils.getRotatedPoint(new mxPoint(e, f), g, h, new mxPoint(a.getCenterX(), a.getCenterY())), e = f.x, f = f.y)
-        }
-        return a.view.graph.getModel().isEdge(a.cell), new mxRectangle(Math.round(e - c / 2 * d), Math.round(f - b / 2 * d), Math.round(c * d), Math.round(b * d))
-    }
-    return null
+  if (null != a.control) {
+    var b = a.control.scale,
+      c = a.control.bounds.width / b,
+      b = a.control.bounds.height / b,
+      d = a.view.scale,
+      e = a.getCenterX(),
+      f = a.getCenterY();
+    if (!a.view.graph.getModel().isEdge(a.cell) && (e = a.x + c * d, f = a.y + b * d, null != a.shape)) {
+      var g = a.shape.getShapeRotation();
+      if (this.legacyControlPosition) g = mxUtils.getValue(a.style, mxConstants.STYLE_ROTATION, 0);
+      else if (a.shape.isPaintBoundsInverted()) var h = (a.width - a.height) / 2,
+        e = e + h,
+        f = f - h;
+      0 != g && (h = mxUtils.toRadians(g),
+        g = Math.cos(h), h = Math.sin(h), f = mxUtils.getRotatedPoint(new mxPoint(e, f), g, h, new mxPoint(a.getCenterX(), a.getCenterY())), e = f.x, f = f.y)
+    }
+    return a.view.graph.getModel().isEdge(a.cell), new mxRectangle(Math.round(e - c / 2 * d), Math.round(f - b / 2 * d), Math.round(c * d), Math.round(b * d))
+  }
+  return null
 };
 mxCellRenderer.prototype.redraw = function(a, b, c) {
-    if (null != a.shape) {
-        var d = !1;
-        a.view.graph.getModel().isEdge(a.cell);
-        reconfigure = null != b ? b : !1;
-        this.createControl(a);
-        if (a.orderChanged || a.invalidOrder) a.view.graph.ordered ? this.order(a) : this.orderEdge(a);
-        if (a.orderChanged || !mxUtils.equalEntries(a.shape.style, a.style)) this.configureShape(a), b = !0;
-        delete a.invalidOrder;
-        delete a.orderChanged;
-        if (b || null == a.shape.bounds || a.shape.scale != a.view.scale || !a.shape.bounds.equals(a) || !mxUtils.equalPoints(a.shape.points,
-                a.absolutePoints)) d = !0, a.shape.points = null != a.absolutePoints ? a.absolutePoints.slice() : null, a.shape.bounds = new mxRectangle(a.x, a.y, a.width, a.height), a.shape.scale = a.view.scale, null == c || c ? a.shape.redraw() : a.shape.updateBoundingBox();
-        if (null == c || c) this.redrawLabel(a, d), this.redrawCellOverlays(a, d), this.redrawControl(a, d)
-    }
+  if (null != a.shape) {
+    var d = !1;
+    a.view.graph.getModel().isEdge(a.cell);
+    reconfigure = null != b ? b : !1;
+    this.createControl(a);
+    if (a.orderChanged || a.invalidOrder) a.view.graph.ordered ? this.order(a) : this.orderEdge(a);
+    if (a.orderChanged || !mxUtils.equalEntries(a.shape.style, a.style)) this.configureShape(a), b = !0;
+    delete a.invalidOrder;
+    delete a.orderChanged;
+    if (b || null == a.shape.bounds || a.shape.scale != a.view.scale || !a.shape.bounds.equals(a) || !mxUtils.equalPoints(a.shape.points,
+        a.absolutePoints)) d = !0, a.shape.points = null != a.absolutePoints ? a.absolutePoints.slice() : null, a.shape.bounds = new mxRectangle(a.x, a.y, a.width, a.height), a.shape.scale = a.view
+      .scale, null == c || c ? a.shape.redraw() : a.shape.updateBoundingBox();
+    if (null == c || c) this.redrawLabel(a, d), this.redrawCellOverlays(a, d), this.redrawControl(a, d)
+  }
 };
 mxCellRenderer.prototype.destroy = function(a) {
-    null != a.shape && (null != a.text && (a.text.destroy(), a.text = null), null != a.overlays && (a.overlays.visit(function(a, c) {
-        c.destroy()
-    }), a.overlays = null), null != a.control && (a.control.destroy(), a.control = null), a.shape.destroy(), a.shape = null)
+  null != a.shape && (null != a.text && (a.text.destroy(), a.text = null), null != a.overlays && (a.overlays.visit(function(a, c) {
+    c.destroy()
+  }), a.overlays = null), null != a.control && (a.control.destroy(), a.control = null), a.shape.destroy(), a.shape = null)
 };
 var mxEdgeStyle = {
-        EntityRelation: function(a, b, c, d, e) {
-            var f = a.view,
-                g = f.graph;
-            d = mxUtils.getValue(a.style, mxConstants.STYLE_SEGMENT, mxConstants.ENTITY_SEGMENT) * f.scale;
-            var h = a.absolutePoints,
-                k = h[0],
-                l = h[h.length - 1],
-                h = !1;
-            if (null != k) b = new mxCellState, b.x = k.x, b.y = k.y;
-            else if (null != b) {
-                var m = mxUtils.getPortConstraints(b, a, !0, mxConstants.DIRECTION_MASK_NONE);
-                m != mxConstants.DIRECTION_MASK_NONE ? h = m == mxConstants.DIRECTION_MASK_WEST : (k = g.getCellGeometry(b.cell), k.relative ? h = 0.5 >= k.x : null != c && (h = c.x + c.width < b.x))
-            } else return;
-            k = !0;
-            null != l ? (c = new mxCellState, c.x = l.x, c.y = l.y) : null != c && (m = mxUtils.getPortConstraints(c, a, !1, mxConstants.DIRECTION_MASK_NONE), m != mxConstants.DIRECTION_MASK_NONE ? k = m == mxConstants.DIRECTION_MASK_WEST : (a = g.getCellGeometry(c.cell), a.relative ? k = 0.5 >= a.x : null != b && (k = b.x + b.width < c.x)));
-            null != b && null != c && (a = h ? b.x : b.x + b.width, b = f.getRoutingCenterY(b), g = k ? c.x : c.x + c.width, c = f.getRoutingCenterY(c), f = new mxPoint(a + (h ? -d : d), b), l = new mxPoint(g + (k ? -d : d), c), h == k ? (d = h ? Math.min(a, g) - d : Math.max(a, g) + d, e.push(new mxPoint(d,
-                b)), e.push(new mxPoint(d, c))) : (f.x < l.x == h ? (d = b + (c - b) / 2, e.push(f), e.push(new mxPoint(f.x, d)), e.push(new mxPoint(l.x, d))) : e.push(f), e.push(l)))
-        },
-        Loop: function(a, b, c, d, e) {
-            if (null != b) {
-                c = a.view;
-                var f = c.graph;
-                d = null != d && 0 < d.length ? d[0] : null;
-                null != d && (d = c.transformControlPoint(a, d), mxUtils.contains(b, d.x, d.y) && (d = null));
-                var g = 0,
-                    h = 0,
-                    k = 0,
-                    l = 0,
-                    f = mxUtils.getValue(a.style, mxConstants.STYLE_SEGMENT, f.gridSize) * c.scale;
-                a = mxUtils.getValue(a.style, mxConstants.STYLE_DIRECTION, mxConstants.DIRECTION_WEST);
-                a == mxConstants.DIRECTION_NORTH ||
-                    a == mxConstants.DIRECTION_SOUTH ? (g = c.getRoutingCenterX(b), h = f) : (k = c.getRoutingCenterY(b), l = f);
-                null == d || d.x < b.x || d.x > b.x + b.width ? null != d ? (g = d.x, l = Math.max(Math.abs(k - d.y), l)) : a == mxConstants.DIRECTION_NORTH ? k = b.y - 2 * h : a == mxConstants.DIRECTION_SOUTH ? k = b.y + b.height + 2 * h : g = a == mxConstants.DIRECTION_EAST ? b.x - 2 * l : b.x + b.width + 2 * l : null != d && (g = c.getRoutingCenterX(b), h = Math.max(Math.abs(g - d.x), l), k = d.y, l = 0);
-                e.push(new mxPoint(g - h, k - l));
-                e.push(new mxPoint(g + h, k + l))
-            }
-        },
-        ElbowConnector: function(a, b, c, d, e) {
-            var f = null !=
-                d && 0 < d.length ? d[0] : null,
-                g = !1,
-                h = !1;
-            if (null != b && null != c)
-                if (null != f) var k = Math.min(b.x, c.x),
-                    l = Math.max(b.x + b.width, c.x + c.width),
-                    h = Math.min(b.y, c.y),
-                    m = Math.max(b.y + b.height, c.y + c.height),
-                    f = a.view.transformControlPoint(a, f),
-                    g = f.y < h || f.y > m,
-                    h = f.x < k || f.x > l;
-                else k = Math.max(b.x, c.x), l = Math.min(b.x + b.width, c.x + c.width), g = k == l, g || (h = Math.max(b.y, c.y), m = Math.min(b.y + b.height, c.y + c.height), h = h == m);
-                !h && (g || a.style[mxConstants.STYLE_ELBOW] == mxConstants.ELBOW_VERTICAL) ? mxEdgeStyle.TopToBottom(a, b, c, d, e) : mxEdgeStyle.SideToSide(a,
-                b, c, d, e)
-        },
-        SideToSide: function(a, b, c, d, e) {
-            var f = a.view;
-            d = null != d && 0 < d.length ? d[0] : null;
-            var g = a.absolutePoints,
-                h = g[0],
-                g = g[g.length - 1];
-            null != d && (d = f.transformControlPoint(a, d));
-            null != h && (b = new mxCellState, b.x = h.x, b.y = h.y);
-            null != g && (c = new mxCellState, c.x = g.x, c.y = g.y);
-            null != b && null != c && (a = Math.max(b.x, c.x), h = Math.min(b.x + b.width, c.x + c.width), a = null != d ? d.x : h + (a - h) / 2, h = f.getRoutingCenterY(b), f = f.getRoutingCenterY(c), null != d && (d.y >= b.y && d.y <= b.y + b.height && (h = d.y), d.y >= c.y && d.y <= c.y + c.height && (f = d.y)), !mxUtils.contains(c,
-                a, h) && !mxUtils.contains(b, a, h) && e.push(new mxPoint(a, h)), !mxUtils.contains(c, a, f) && !mxUtils.contains(b, a, f) && e.push(new mxPoint(a, f)), 1 == e.length && (null != d ? !mxUtils.contains(c, a, d.y) && !mxUtils.contains(b, a, d.y) && e.push(new mxPoint(a, d.y)) : (f = Math.max(b.y, c.y), b = Math.min(b.y + b.height, c.y + c.height), e.push(new mxPoint(a, f + (b - f) / 2)))))
-        },
-        TopToBottom: function(a, b, c, d, e) {
-            var f = a.view;
-            d = null != d && 0 < d.length ? d[0] : null;
-            var g = a.absolutePoints,
-                h = g[0],
-                g = g[g.length - 1];
-            null != d && (d = f.transformControlPoint(a, d));
-            null !=
-                h && (b = new mxCellState, b.x = h.x, b.y = h.y);
-            null != g && (c = new mxCellState, c.x = g.x, c.y = g.y);
-            null != b && null != c && (h = Math.max(b.y, c.y), g = Math.min(b.y + b.height, c.y + c.height), a = f.getRoutingCenterX(b), null != d && (d.x >= b.x && d.x <= b.x + b.width) && (a = d.x), h = null != d ? d.y : g + (h - g) / 2, !mxUtils.contains(c, a, h) && !mxUtils.contains(b, a, h) && e.push(new mxPoint(a, h)), a = null != d && d.x >= c.x && d.x <= c.x + c.width ? d.x : f.getRoutingCenterX(c), !mxUtils.contains(c, a, h) && !mxUtils.contains(b, a, h) && e.push(new mxPoint(a, h)), 1 == e.length && (null != d && 1 ==
-                e.length ? !mxUtils.contains(c, d.x, h) && !mxUtils.contains(b, d.x, h) && e.push(new mxPoint(d.x, h)) : (f = Math.max(b.x, c.x), b = Math.min(b.x + b.width, c.x + c.width), e.push(new mxPoint(f + (b - f) / 2, h)))))
-        },
-        SegmentConnector: function(a, b, c, d, e) {
-            var f = a.absolutePoints,
-                g = !0,
-                h = null,
-                k = f[0];
-            null == k && null != b ? k = new mxPoint(a.view.getRoutingCenterX(b), a.view.getRoutingCenterY(b)) : null != k && (k = k.clone());
-            var l = f.length - 1;
-            if (null != d && 0 < d.length) {
-                for (var h = a.view.transformControlPoint(a, d[0]), m = b, n = f[0], p = !1, q = !1, p = h, s = d.length, r =
-                        0; 2 > r; r++) {
-                    var t = null != n && n.x == p.x,
-                        v = null != n && n.y == p.y,
-                        w = null != m && p.y >= m.y && p.y <= m.y + m.height,
-                        m = null != m && p.x >= m.x && p.x <= m.x + m.width,
-                        p = v || null == n && w,
-                        q = t || null == n && m;
-                    if (null != n && !v && !t && (w || m)) {
-                        g = w ? !1 : !0;
-                        break
-                    }
-                    if (q || p) {
-                        g = p;
-                        1 == r && (g = 0 == d.length % 2 ? p : q);
-                        break
-                    }
-                    m = c;
-                    n = f[l];
-                    p = a.view.transformControlPoint(a, d[s - 1])
-                }
-                g && (null != f[0] && f[0].y != h.y || null == f[0] && null != b && (h.y < b.y || h.y > b.y + b.height)) ? e.push(new mxPoint(k.x, h.y)) : !g && (null != f[0] && f[0].x != h.x || null == f[0] && null != b && (h.x < b.x || h.x > b.x + b.width)) && e.push(new mxPoint(h.x,
-                    k.y));
-                g ? k.y = h.y : k.x = h.x;
-                for (r = 0; r < d.length; r++) g = !g, h = a.view.transformControlPoint(a, d[r]), g ? k.y = h.y : k.x = h.x, e.push(k.clone())
-            } else h = k, g = !0;
-            k = f[l];
-            null == k && null != c && (k = new mxPoint(a.view.getRoutingCenterX(c), a.view.getRoutingCenterY(c)));
-            g && (null != f[l] && f[l].y != h.y || null == f[l] && null != c && (h.y < c.y || h.y > c.y + c.height)) ? e.push(new mxPoint(k.x, h.y)) : !g && (null != f[l] && f[l].x != h.x || null == f[l] && null != c && (h.x < c.x || h.x > c.x + c.width)) && e.push(new mxPoint(h.x, k.y));
-            if (null == f[0] && null != b)
-                for (; 1 < e.length && mxUtils.contains(b,
-                        e[1].x, e[1].y);) e = e.splice(1, 1);
-            if (null == f[l] && null != c)
-                for (; 1 < e.length && mxUtils.contains(c, e[e.length - 1].x, e[e.length - 1].y);) e = e.splice(e.length - 1, 1)
-        },
-        orthBuffer: 10,
-        dirVectors: [
-            [-1, 0],
-            [0, -1],
-            [1, 0],
-            [0, 1],
-            [-1, 0],
-            [0, -1],
-            [1, 0]
-        ],
-        wayPoints1: [
-            [0, 0],
-            [0, 0],
-            [0, 0],
-            [0, 0],
-            [0, 0],
-            [0, 0],
-            [0, 0],
-            [0, 0],
-            [0, 0],
-            [0, 0],
-            [0, 0],
-            [0, 0]
-        ],
-        routePatterns: [
-            [
-                [513, 2308, 2081, 2562],
-                [513, 1090, 514, 2184, 2114, 2561],
-                [513, 1090, 514, 2564, 2184, 2562],
-                [513, 2308, 2561, 1090, 514, 2568, 2308]
-            ],
-            [
-                [514, 1057, 513, 2308, 2081, 2562],
-                [514, 2184, 2114, 2561],
-                [514, 2184,
-                    2562, 1057, 513, 2564, 2184
-                ],
-                [514, 1057, 513, 2568, 2308, 2561]
-            ],
-            [
-                [1090, 514, 1057, 513, 2308, 2081, 2562],
-                [2114, 2561],
-                [1090, 2562, 1057, 513, 2564, 2184],
-                [1090, 514, 1057, 513, 2308, 2561, 2568]
-            ],
-            [
-                [2081, 2562],
-                [1057, 513, 1090, 514, 2184, 2114, 2561],
-                [1057, 513, 1090, 514, 2184, 2562, 2564],
-                [1057, 2561, 1090, 514, 2568, 2308]
-            ]
-        ],
-        inlineRoutePatterns: [
-            [null, [2114, 2568], null, null],
-            [null, [514, 2081, 2114, 2568], null, null],
-            [null, [2114, 2561], null, null],
-            [
-                [2081, 2562],
-                [1057, 2114, 2568],
-                [2184, 2562], null
-            ]
-        ],
-        vertexSeperations: [],
-        limits: [
-            [0, 0, 0, 0, 0, 0, 0, 0, 0],
-            [0, 0, 0, 0, 0, 0, 0, 0, 0]
-        ],
-        LEFT_MASK: 32,
-        TOP_MASK: 64,
-        RIGHT_MASK: 128,
-        BOTTOM_MASK: 256,
-        LEFT: 1,
-        TOP: 2,
-        RIGHT: 4,
-        BOTTOM: 8,
-        SIDE_MASK: 480,
-        CENTER_MASK: 512,
-        SOURCE_MASK: 1024,
-        TARGET_MASK: 2048,
-        VERTEX_MASK: 3072,
-        OrthConnector: function(a, b, c, d, e) {
-            var f = a.view.graph,
-                g = null == b ? !1 : f.getModel().isEdge(b.cell),
-                f = null == c ? !1 : f.getModel().isEdge(c.cell);
-            if (null != d && 0 < d.length || g || f) mxEdgeStyle.SegmentConnector(a, b, c, d, e);
-            else {
-                d = a.absolutePoints;
-                var h = d[0],
-                    k = d[d.length - 1];
-                d = null != b ? b.x : h.x;
-                var g = null != b ? b.y : h.y,
-                    l = null != b ? b.width :
-                    1,
-                    m = null != b ? b.height : 1,
-                    n = null != c ? c.x : k.x,
-                    p = null != c ? c.y : k.y,
-                    q = null != c ? c.width : 1,
-                    s = null != c ? c.height : 1,
-                    f = a.view.scale * mxEdgeStyle.orthBuffer,
-                    r = [mxConstants.DIRECTION_MASK_ALL, mxConstants.DIRECTION_MASK_ALL];
-                null != b && (r[0] = mxUtils.getPortConstraints(b, a, !0, mxConstants.DIRECTION_MASK_ALL));
-                null != c && (r[1] = mxUtils.getPortConstraints(c, a, !1, mxConstants.DIRECTION_MASK_ALL));
-                a = [0, 0];
-                d = [
-                    [d, g, l, m],
-                    [n, p, q, s]
-                ];
-                for (l = 0; 2 > l; l++) mxEdgeStyle.limits[l][1] = d[l][0] - f, mxEdgeStyle.limits[l][2] = d[l][1] - f, mxEdgeStyle.limits[l][4] =
-                    d[l][0] + d[l][2] + f, mxEdgeStyle.limits[l][8] = d[l][1] + d[l][3] + f;
-                l = d[0][0] + d[0][2] / 2 - (d[1][0] + d[1][2] / 2);
-                m = d[0][1] + d[0][3] / 2 - (d[1][1] + d[1][3] / 2);
-                g = 0;
-                0 > l ? g = 0 > m ? 2 : 1 : 0 >= m && (g = 3, 0 == l && (g = 2));
-                m = null;
-                null != b && (m = h);
-                b = [
-                    [0.5, 0.5],
-                    [0.5, 0.5]
-                ];
-                for (l = 0; 2 > l; l++) null != m && (b[l][0] = (m.x - d[l][0]) / d[l][2], 0.01 > b[l][0] ? a[l] = mxConstants.DIRECTION_MASK_WEST : 0.99 < b[l][0] && (a[l] = mxConstants.DIRECTION_MASK_EAST), b[l][1] = (m.y - d[l][1]) / d[l][3], 0.01 > b[l][1] ? a[l] = mxConstants.DIRECTION_MASK_NORTH : 0.99 < b[l][1] && (a[l] = mxConstants.DIRECTION_MASK_SOUTH)),
-                    m = null, null != c && (m = k);
-                l = d[0][1] - (d[1][1] + d[1][3]);
-                m = d[0][0] - (d[1][0] + d[1][2]);
-                n = d[1][1] - (d[0][1] + d[0][3]);
-                p = d[1][0] - (d[0][0] + d[0][2]);
-                mxEdgeStyle.vertexSeperations[1] = Math.max(m - 2 * f, 0);
-                mxEdgeStyle.vertexSeperations[2] = Math.max(l - 2 * f, 0);
-                mxEdgeStyle.vertexSeperations[4] = Math.max(n - 2 * f, 0);
-                mxEdgeStyle.vertexSeperations[3] = Math.max(p - 2 * f, 0);
-                c = [];
-                h = [];
-                k = [];
-                h[0] = m >= p ? mxConstants.DIRECTION_MASK_WEST : mxConstants.DIRECTION_MASK_EAST;
-                k[0] = l >= n ? mxConstants.DIRECTION_MASK_NORTH : mxConstants.DIRECTION_MASK_SOUTH;
-                h[1] = mxUtils.reversePortConstraints(h[0]);
-                k[1] = mxUtils.reversePortConstraints(k[0]);
-                m = m >= p ? m : p;
-                n = l >= n ? l : n;
-                p = [
-                    [0, 0],
-                    [0, 0]
-                ];
-                q = !1;
-                for (l = 0; 2 > l; l++) 0 == a[l] && (0 == (h[l] & r[l]) && (h[l] = mxUtils.reversePortConstraints(h[l])), 0 == (k[l] & r[l]) && (k[l] = mxUtils.reversePortConstraints(k[l])), p[l][0] = k[l], p[l][1] = h[l]);
-                n > 2 * f && m > 2 * f && (0 < (h[0] & r[0]) && 0 < (k[1] & r[1]) ? (p[0][0] = h[0], p[0][1] = k[0], p[1][0] = k[1], p[1][1] = h[1], q = !0) : 0 < (k[0] & r[0]) && 0 < (h[1] & r[1]) && (p[0][0] = k[0], p[0][1] = h[0], p[1][0] = h[1], p[1][1] = k[1], q = !0));
-                n > 2 * f && !q &&
-                    (p[0][0] = k[0], p[0][1] = h[0], p[1][0] = k[1], p[1][1] = h[1], q = !0);
-                m > 2 * f && !q && (p[0][0] = h[0], p[0][1] = k[0], p[1][0] = h[1], p[1][1] = k[1]);
-                for (l = 0; 2 > l; l++)
-                    if (0 == a[l] && (0 == (p[l][0] & r[l]) && (p[l][0] = p[l][1]), c[l] = p[l][0] & r[l], c[l] |= (p[l][1] & r[l]) << 8, c[l] |= (p[1 - l][l] & r[l]) << 16, c[l] |= (p[1 - l][1 - l] & r[l]) << 24, 0 == (c[l] & 15) && (c[l] <<= 8), 0 == (c[l] & 3840) && (c[l] = c[l] & 15 | c[l] >> 8), 0 == (c[l] & 983040) && (c[l] = c[l] & 65535 | (c[l] & 251658240) >> 8), a[l] = c[l] & 15, r[l] == mxConstants.DIRECTION_MASK_WEST || r[l] == mxConstants.DIRECTION_MASK_NORTH || r[l] ==
-                            mxConstants.DIRECTION_MASK_EAST || r[l] == mxConstants.DIRECTION_MASK_SOUTH)) a[l] = r[l];
-                l = a[0] == mxConstants.DIRECTION_MASK_EAST ? 3 : a[0];
-                r = a[1] == mxConstants.DIRECTION_MASK_EAST ? 3 : a[1];
-                l -= g;
-                r -= g;
-                1 > l && (l += 4);
-                1 > r && (r += 4);
-                r = mxEdgeStyle.routePatterns[l - 1][r - 1];
-                mxEdgeStyle.wayPoints1[0][0] = d[0][0];
-                mxEdgeStyle.wayPoints1[0][1] = d[0][1];
-                switch (a[0]) {
-                    case mxConstants.DIRECTION_MASK_WEST:
-                        mxEdgeStyle.wayPoints1[0][0] -= f;
-                        mxEdgeStyle.wayPoints1[0][1] += b[0][1] * d[0][3];
-                        break;
-                    case mxConstants.DIRECTION_MASK_SOUTH:
-                        mxEdgeStyle.wayPoints1[0][0] +=
-                            b[0][0] * d[0][2];
-                        mxEdgeStyle.wayPoints1[0][1] += d[0][3] + f;
-                        break;
-                    case mxConstants.DIRECTION_MASK_EAST:
-                        mxEdgeStyle.wayPoints1[0][0] += d[0][2] + f;
-                        mxEdgeStyle.wayPoints1[0][1] += b[0][1] * d[0][3];
-                        break;
-                    case mxConstants.DIRECTION_MASK_NORTH:
-                        mxEdgeStyle.wayPoints1[0][0] += b[0][0] * d[0][2], mxEdgeStyle.wayPoints1[0][1] -= f
-                }
-                f = 0;
-                h = c = 0 < (a[0] & (mxConstants.DIRECTION_MASK_EAST | mxConstants.DIRECTION_MASK_WEST)) ? 0 : 1;
-                for (l = k = 0; l < r.length; l++) {
-                    k = r[l] & 15;
-                    s = k == mxConstants.DIRECTION_MASK_EAST ? 3 : k;
-                    s += g;
-                    4 < s && (s -= 4);
-                    m = mxEdgeStyle.dirVectors[s -
-                        1];
-                    k = 0 < s % 2 ? 0 : 1;
-                    k != c && (f++, mxEdgeStyle.wayPoints1[f][0] = mxEdgeStyle.wayPoints1[f - 1][0], mxEdgeStyle.wayPoints1[f][1] = mxEdgeStyle.wayPoints1[f - 1][1]);
-                    var t = 0 < (r[l] & mxEdgeStyle.TARGET_MASK),
-                        q = 0 < (r[l] & mxEdgeStyle.SOURCE_MASK),
-                        n = (r[l] & mxEdgeStyle.SIDE_MASK) >> 5,
-                        n = n << g;
-                    15 < n && (n >>= 4);
-                    p = 0 < (r[l] & mxEdgeStyle.CENTER_MASK);
-                    (q || t) && 9 > n ? (s = 0, q = q ? 0 : 1, s = p && 0 == k ? d[q][0] + b[q][0] * d[q][2] : p ? d[q][1] + b[q][1] * d[q][3] : mxEdgeStyle.limits[q][n], 0 == k ? (n = (s - mxEdgeStyle.wayPoints1[f][0]) * m[0], 0 < n && (mxEdgeStyle.wayPoints1[f][0] +=
-                        m[0] * n)) : (n = (s - mxEdgeStyle.wayPoints1[f][1]) * m[1], 0 < n && (mxEdgeStyle.wayPoints1[f][1] += m[1] * n))) : p && (mxEdgeStyle.wayPoints1[f][0] += m[0] * Math.abs(mxEdgeStyle.vertexSeperations[s] / 2), mxEdgeStyle.wayPoints1[f][1] += m[1] * Math.abs(mxEdgeStyle.vertexSeperations[s] / 2));
-                    0 < f && mxEdgeStyle.wayPoints1[f][k] == mxEdgeStyle.wayPoints1[f - 1][k] ? f-- : c = k
-                }
-                for (l = 0; l <= f && !(l == f && ((0 < (a[1] & (mxConstants.DIRECTION_MASK_EAST | mxConstants.DIRECTION_MASK_WEST)) ? 0 : 1) == h ? 0 : 1) != (f + 1) % 2); l++) e.push(new mxPoint(mxEdgeStyle.wayPoints1[l][0],
-                    mxEdgeStyle.wayPoints1[l][1]))
-            }
-        },
-        getRoutePattern: function(a, b, c, d) {
-            var e = a[0] == mxConstants.DIRECTION_MASK_EAST ? 3 : a[0];
-            a = a[1] == mxConstants.DIRECTION_MASK_EAST ? 3 : a[1];
-            e -= b;
-            a -= b;
-            1 > e && (e += 4);
-            1 > a && (a += 4);
-            b = routePatterns[e - 1][a - 1];
-            if (0 == c || 0 == d) null != inlineRoutePatterns[e - 1][a - 1] && (b = inlineRoutePatterns[e - 1][a - 1]);
-            return b
+    EntityRelation: function(a, b, c, d, e) {
+      var f = a.view,
+        g = f.graph;
+      d = mxUtils.getValue(a.style, mxConstants.STYLE_SEGMENT, mxConstants.ENTITY_SEGMENT) * f.scale;
+      var h = a.absolutePoints,
+        k = h[0],
+        l = h[h.length - 1],
+        h = !1;
+      if (null != k) b = new mxCellState, b.x = k.x, b.y = k.y;
+      else if (null != b) {
+        var m = mxUtils.getPortConstraints(b, a, !0, mxConstants.DIRECTION_MASK_NONE);
+        m != mxConstants.DIRECTION_MASK_NONE ? h = m == mxConstants.DIRECTION_MASK_WEST : (k = g.getCellGeometry(b.cell), k.relative ? h = 0.5 >= k.x : null != c && (h = c.x + c.width < b.x))
+      } else return;
+      k = !0;
+      null != l ? (c = new mxCellState, c.x = l.x, c.y = l.y) : null != c && (m = mxUtils.getPortConstraints(c, a, !1, mxConstants.DIRECTION_MASK_NONE), m != mxConstants.DIRECTION_MASK_NONE ? k = m ==
+        mxConstants.DIRECTION_MASK_WEST : (a = g.getCellGeometry(c.cell), a.relative ? k = 0.5 >= a.x : null != b && (k = b.x + b.width < c.x)));
+      null != b && null != c && (a = h ? b.x : b.x + b.width, b = f.getRoutingCenterY(b), g = k ? c.x : c.x + c.width, c = f.getRoutingCenterY(c), f = new mxPoint(a + (h ? -d : d), b), l = new mxPoint(
+        g + (k ? -d : d), c), h == k ? (d = h ? Math.min(a, g) - d : Math.max(a, g) + d, e.push(new mxPoint(d,
+        b)), e.push(new mxPoint(d, c))) : (f.x < l.x == h ? (d = b + (c - b) / 2, e.push(f), e.push(new mxPoint(f.x, d)), e.push(new mxPoint(l.x, d))) : e.push(f), e.push(l)))
+    },
+    Loop: function(a, b, c, d, e) {
+      if (null != b) {
+        c = a.view;
+        var f = c.graph;
+        d = null != d && 0 < d.length ? d[0] : null;
+        null != d && (d = c.transformControlPoint(a, d), mxUtils.contains(b, d.x, d.y) && (d = null));
+        var g = 0,
+          h = 0,
+          k = 0,
+          l = 0,
+          f = mxUtils.getValue(a.style, mxConstants.STYLE_SEGMENT, f.gridSize) * c.scale;
+        a = mxUtils.getValue(a.style, mxConstants.STYLE_DIRECTION, mxConstants.DIRECTION_WEST);
+        a == mxConstants.DIRECTION_NORTH ||
+          a == mxConstants.DIRECTION_SOUTH ? (g = c.getRoutingCenterX(b), h = f) : (k = c.getRoutingCenterY(b), l = f);
+        null == d || d.x < b.x || d.x > b.x + b.width ? null != d ? (g = d.x, l = Math.max(Math.abs(k - d.y), l)) : a == mxConstants.DIRECTION_NORTH ? k = b.y - 2 * h : a == mxConstants.DIRECTION_SOUTH ?
+          k = b.y + b.height + 2 * h : g = a == mxConstants.DIRECTION_EAST ? b.x - 2 * l : b.x + b.width + 2 * l : null != d && (g = c.getRoutingCenterX(b), h = Math.max(Math.abs(g - d.x), l), k =
+            d.y, l = 0);
+        e.push(new mxPoint(g - h, k - l));
+        e.push(new mxPoint(g + h, k + l))
+      }
+    },
+    ElbowConnector: function(a, b, c, d, e) {
+      var f = null !=
+        d && 0 < d.length ? d[0] : null,
+        g = !1,
+        h = !1;
+      if (null != b && null != c)
+        if (null != f) var k = Math.min(b.x, c.x),
+          l = Math.max(b.x + b.width, c.x + c.width),
+          h = Math.min(b.y, c.y),
+          m = Math.max(b.y + b.height, c.y + c.height),
+          f = a.view.transformControlPoint(a, f),
+          g = f.y < h || f.y > m,
+          h = f.x < k || f.x > l;
+        else k = Math.max(b.x, c.x), l = Math.min(b.x + b.width, c.x + c.width), g = k == l, g || (h = Math.max(b.y, c.y), m = Math.min(b.y + b.height, c.y + c.height), h = h == m);
+        !h && (g || a.style[mxConstants.STYLE_ELBOW] == mxConstants.ELBOW_VERTICAL) ? mxEdgeStyle.TopToBottom(a, b, c, d, e) : mxEdgeStyle.SideToSide(a,
+        b, c, d, e)
+    },
+    SideToSide: function(a, b, c, d, e) {
+      var f = a.view;
+      d = null != d && 0 < d.length ? d[0] : null;
+      var g = a.absolutePoints,
+        h = g[0],
+        g = g[g.length - 1];
+      null != d && (d = f.transformControlPoint(a, d));
+      null != h && (b = new mxCellState, b.x = h.x, b.y = h.y);
+      null != g && (c = new mxCellState, c.x = g.x, c.y = g.y);
+      null != b && null != c && (a = Math.max(b.x, c.x), h = Math.min(b.x + b.width, c.x + c.width), a = null != d ? d.x : h + (a - h) / 2, h = f.getRoutingCenterY(b), f = f.getRoutingCenterY(c),
+        null != d && (d.y >= b.y && d.y <= b.y + b.height && (h = d.y), d.y >= c.y && d.y <= c.y + c.height && (f = d.y)), !mxUtils.contains(c,
+          a, h) && !mxUtils.contains(b, a, h) && e.push(new mxPoint(a, h)), !mxUtils.contains(c, a, f) && !mxUtils.contains(b, a, f) && e.push(new mxPoint(a, f)), 1 == e.length && (null != d ? !
+          mxUtils.contains(c, a, d.y) && !mxUtils.contains(b, a, d.y) && e.push(new mxPoint(a, d.y)) : (f = Math.max(b.y, c.y), b = Math.min(b.y + b.height, c.y + c.height), e.push(new mxPoint(a,
+            f + (b - f) / 2)))))
+    },
+    TopToBottom: function(a, b, c, d, e) {
+      var f = a.view;
+      d = null != d && 0 < d.length ? d[0] : null;
+      var g = a.absolutePoints,
+        h = g[0],
+        g = g[g.length - 1];
+      null != d && (d = f.transformControlPoint(a, d));
+      null !=
+        h && (b = new mxCellState, b.x = h.x, b.y = h.y);
+      null != g && (c = new mxCellState, c.x = g.x, c.y = g.y);
+      null != b && null != c && (h = Math.max(b.y, c.y), g = Math.min(b.y + b.height, c.y + c.height), a = f.getRoutingCenterX(b), null != d && (d.x >= b.x && d.x <= b.x + b.width) && (a = d.x), h =
+        null != d ? d.y : g + (h - g) / 2, !mxUtils.contains(c, a, h) && !mxUtils.contains(b, a, h) && e.push(new mxPoint(a, h)), a = null != d && d.x >= c.x && d.x <= c.x + c.width ? d.x : f.getRoutingCenterX(
+          c), !mxUtils.contains(c, a, h) && !mxUtils.contains(b, a, h) && e.push(new mxPoint(a, h)), 1 == e.length && (null != d && 1 ==
+          e.length ? !mxUtils.contains(c, d.x, h) && !mxUtils.contains(b, d.x, h) && e.push(new mxPoint(d.x, h)) : (f = Math.max(b.x, c.x), b = Math.min(b.x + b.width, c.x + c.width), e.push(new mxPoint(
+            f + (b - f) / 2, h)))))
+    },
+    SegmentConnector: function(a, b, c, d, e) {
+      var f = a.absolutePoints,
+        g = !0,
+        h = null,
+        k = f[0];
+      null == k && null != b ? k = new mxPoint(a.view.getRoutingCenterX(b), a.view.getRoutingCenterY(b)) : null != k && (k = k.clone());
+      var l = f.length - 1;
+      if (null != d && 0 < d.length) {
+        for (var h = a.view.transformControlPoint(a, d[0]), m = b, n = f[0], p = !1, q = !1, p = h, s = d.length, r =
+            0; 2 > r; r++) {
+          var t = null != n && n.x == p.x,
+            v = null != n && n.y == p.y,
+            w = null != m && p.y >= m.y && p.y <= m.y + m.height,
+            m = null != m && p.x >= m.x && p.x <= m.x + m.width,
+            p = v || null == n && w,
+            q = t || null == n && m;
+          if (null != n && !v && !t && (w || m)) {
+            g = w ? !1 : !0;
+            break
+          }
+          if (q || p) {
+            g = p;
+            1 == r && (g = 0 == d.length % 2 ? p : q);
+            break
+          }
+          m = c;
+          n = f[l];
+          p = a.view.transformControlPoint(a, d[s - 1])
         }
+        g && (null != f[0] && f[0].y != h.y || null == f[0] && null != b && (h.y < b.y || h.y > b.y + b.height)) ? e.push(new mxPoint(k.x, h.y)) : !g && (null != f[0] && f[0].x != h.x || null == f[
+          0] && null != b && (h.x < b.x || h.x > b.x + b.width)) && e.push(new mxPoint(h.x,
+          k.y));
+        g ? k.y = h.y : k.x = h.x;
+        for (r = 0; r < d.length; r++) g = !g, h = a.view.transformControlPoint(a, d[r]), g ? k.y = h.y : k.x = h.x, e.push(k.clone())
+      } else h = k, g = !0;
+      k = f[l];
+      null == k && null != c && (k = new mxPoint(a.view.getRoutingCenterX(c), a.view.getRoutingCenterY(c)));
+      g && (null != f[l] && f[l].y != h.y || null == f[l] && null != c && (h.y < c.y || h.y > c.y + c.height)) ? e.push(new mxPoint(k.x, h.y)) : !g && (null != f[l] && f[l].x != h.x || null == f[l] &&
+        null != c && (h.x < c.x || h.x > c.x + c.width)) && e.push(new mxPoint(h.x, k.y));
+      if (null == f[0] && null != b)
+        for (; 1 < e.length && mxUtils.contains(b,
+            e[1].x, e[1].y);) e = e.splice(1, 1);
+      if (null == f[l] && null != c)
+        for (; 1 < e.length && mxUtils.contains(c, e[e.length - 1].x, e[e.length - 1].y);) e = e.splice(e.length - 1, 1)
     },
-    mxStyleRegistry = {
-        values: [],
-        putValue: function(a, b) {
-            mxStyleRegistry.values[a] = b
-        },
-        getValue: function(a) {
-            return mxStyleRegistry.values[a]
-        },
-        getName: function(a) {
-            for (var b in mxStyleRegistry.values)
-                if (mxStyleRegistry.values[b] ==
-                    a) return b;
-            return null
+    orthBuffer: 10,
+    dirVectors: [
+      [-1, 0],
+      [0, -1],
+      [1, 0],
+      [0, 1],
+      [-1, 0],
+      [0, -1],
+      [1, 0]
+    ],
+    wayPoints1: [
+      [0, 0],
+      [0, 0],
+      [0, 0],
+      [0, 0],
+      [0, 0],
+      [0, 0],
+      [0, 0],
+      [0, 0],
+      [0, 0],
+      [0, 0],
+      [0, 0],
+      [0, 0]
+    ],
+    routePatterns: [
+      [
+        [513, 2308, 2081, 2562],
+        [513, 1090, 514, 2184, 2114, 2561],
+        [513, 1090, 514, 2564, 2184, 2562],
+        [513, 2308, 2561, 1090, 514, 2568, 2308]
+      ],
+      [
+        [514, 1057, 513, 2308, 2081, 2562],
+        [514, 2184, 2114, 2561],
+        [514, 2184,
+          2562, 1057, 513, 2564, 2184
+        ],
+        [514, 1057, 513, 2568, 2308, 2561]
+      ],
+      [
+        [1090, 514, 1057, 513, 2308, 2081, 2562],
+        [2114, 2561],
+        [1090, 2562, 1057, 513, 2564, 2184],
+        [1090, 514, 1057, 513, 2308, 2561, 2568]
+      ],
+      [
+        [2081, 2562],
+        [1057, 513, 1090, 514, 2184, 2114, 2561],
+        [1057, 513, 1090, 514, 2184, 2562, 2564],
+        [1057, 2561, 1090, 514, 2568, 2308]
+      ]
+    ],
+    inlineRoutePatterns: [
+      [null, [2114, 2568], null, null],
+      [null, [514, 2081, 2114, 2568], null, null],
+      [null, [2114, 2561], null, null],
+      [
+        [2081, 2562],
+        [1057, 2114, 2568],
+        [2184, 2562], null
+      ]
+    ],
+    vertexSeperations: [],
+    limits: [
+      [0, 0, 0, 0, 0, 0, 0, 0, 0],
+      [0, 0, 0, 0, 0, 0, 0, 0, 0]
+    ],
+    LEFT_MASK: 32,
+    TOP_MASK: 64,
+    RIGHT_MASK: 128,
+    BOTTOM_MASK: 256,
+    LEFT: 1,
+    TOP: 2,
+    RIGHT: 4,
+    BOTTOM: 8,
+    SIDE_MASK: 480,
+    CENTER_MASK: 512,
+    SOURCE_MASK: 1024,
+    TARGET_MASK: 2048,
+    VERTEX_MASK: 3072,
+    OrthConnector: function(a, b, c, d, e) {
+      var f = a.view.graph,
+        g = null == b ? !1 : f.getModel().isEdge(b.cell),
+        f = null == c ? !1 : f.getModel().isEdge(c.cell);
+      if (null != d && 0 < d.length || g || f) mxEdgeStyle.SegmentConnector(a, b, c, d, e);
+      else {
+        d = a.absolutePoints;
+        var h = d[0],
+          k = d[d.length - 1];
+        d = null != b ? b.x : h.x;
+        var g = null != b ? b.y : h.y,
+          l = null != b ? b.width :
+          1,
+          m = null != b ? b.height : 1,
+          n = null != c ? c.x : k.x,
+          p = null != c ? c.y : k.y,
+          q = null != c ? c.width : 1,
+          s = null != c ? c.height : 1,
+          f = a.view.scale * mxEdgeStyle.orthBuffer,
+          r = [mxConstants.DIRECTION_MASK_ALL, mxConstants.DIRECTION_MASK_ALL];
+        null != b && (r[0] = mxUtils.getPortConstraints(b, a, !0, mxConstants.DIRECTION_MASK_ALL));
+        null != c && (r[1] = mxUtils.getPortConstraints(c, a, !1, mxConstants.DIRECTION_MASK_ALL));
+        a = [0, 0];
+        d = [
+          [d, g, l, m],
+          [n, p, q, s]
+        ];
+        for (l = 0; 2 > l; l++) mxEdgeStyle.limits[l][1] = d[l][0] - f, mxEdgeStyle.limits[l][2] = d[l][1] - f, mxEdgeStyle.limits[l][4] =
+          d[l][0] + d[l][2] + f, mxEdgeStyle.limits[l][8] = d[l][1] + d[l][3] + f;
+        l = d[0][0] + d[0][2] / 2 - (d[1][0] + d[1][2] / 2);
+        m = d[0][1] + d[0][3] / 2 - (d[1][1] + d[1][3] / 2);
+        g = 0;
+        0 > l ? g = 0 > m ? 2 : 1 : 0 >= m && (g = 3, 0 == l && (g = 2));
+        m = null;
+        null != b && (m = h);
+        b = [
+          [0.5, 0.5],
+          [0.5, 0.5]
+        ];
+        for (l = 0; 2 > l; l++) null != m && (b[l][0] = (m.x - d[l][0]) / d[l][2], 0.01 > b[l][0] ? a[l] = mxConstants.DIRECTION_MASK_WEST : 0.99 < b[l][0] && (a[l] = mxConstants.DIRECTION_MASK_EAST),
+            b[l][1] = (m.y - d[l][1]) / d[l][3], 0.01 > b[l][1] ? a[l] = mxConstants.DIRECTION_MASK_NORTH : 0.99 < b[l][1] && (a[l] = mxConstants.DIRECTION_MASK_SOUTH)),
+          m = null, null != c && (m = k);
+        l = d[0][1] - (d[1][1] + d[1][3]);
+        m = d[0][0] - (d[1][0] + d[1][2]);
+        n = d[1][1] - (d[0][1] + d[0][3]);
+        p = d[1][0] - (d[0][0] + d[0][2]);
+        mxEdgeStyle.vertexSeperations[1] = Math.max(m - 2 * f, 0);
+        mxEdgeStyle.vertexSeperations[2] = Math.max(l - 2 * f, 0);
+        mxEdgeStyle.vertexSeperations[4] = Math.max(n - 2 * f, 0);
+        mxEdgeStyle.vertexSeperations[3] = Math.max(p - 2 * f, 0);
+        c = [];
+        h = [];
+        k = [];
+        h[0] = m >= p ? mxConstants.DIRECTION_MASK_WEST : mxConstants.DIRECTION_MASK_EAST;
+        k[0] = l >= n ? mxConstants.DIRECTION_MASK_NORTH : mxConstants.DIRECTION_MASK_SOUTH;
+        h[1] = mxUtils.reversePortConstraints(h[0]);
+        k[1] = mxUtils.reversePortConstraints(k[0]);
+        m = m >= p ? m : p;
+        n = l >= n ? l : n;
+        p = [
+          [0, 0],
+          [0, 0]
+        ];
+        q = !1;
+        for (l = 0; 2 > l; l++) 0 == a[l] && (0 == (h[l] & r[l]) && (h[l] = mxUtils.reversePortConstraints(h[l])), 0 == (k[l] & r[l]) && (k[l] = mxUtils.reversePortConstraints(k[l])), p[l][0] = k[l],
+          p[l][1] = h[l]);
+        n > 2 * f && m > 2 * f && (0 < (h[0] & r[0]) && 0 < (k[1] & r[1]) ? (p[0][0] = h[0], p[0][1] = k[0], p[1][0] = k[1], p[1][1] = h[1], q = !0) : 0 < (k[0] & r[0]) && 0 < (h[1] & r[1]) && (p[0]
+          [0] = k[0], p[0][1] = h[0], p[1][0] = h[1], p[1][1] = k[1], q = !0));
+        n > 2 * f && !q &&
+          (p[0][0] = k[0], p[0][1] = h[0], p[1][0] = k[1], p[1][1] = h[1], q = !0);
+        m > 2 * f && !q && (p[0][0] = h[0], p[0][1] = k[0], p[1][0] = h[1], p[1][1] = k[1]);
+        for (l = 0; 2 > l; l++)
+          if (0 == a[l] && (0 == (p[l][0] & r[l]) && (p[l][0] = p[l][1]), c[l] = p[l][0] & r[l], c[l] |= (p[l][1] & r[l]) << 8, c[l] |= (p[1 - l][l] & r[l]) << 16, c[l] |= (p[1 - l][1 - l] & r[l]) <<
+              24, 0 == (c[l] & 15) && (c[l] <<= 8), 0 == (c[l] & 3840) && (c[l] = c[l] & 15 | c[l] >> 8), 0 == (c[l] & 983040) && (c[l] = c[l] & 65535 | (c[l] & 251658240) >> 8), a[l] = c[l] & 15,
+              r[l] == mxConstants.DIRECTION_MASK_WEST || r[l] == mxConstants.DIRECTION_MASK_NORTH || r[l] ==
+              mxConstants.DIRECTION_MASK_EAST || r[l] == mxConstants.DIRECTION_MASK_SOUTH)) a[l] = r[l];
+        l = a[0] == mxConstants.DIRECTION_MASK_EAST ? 3 : a[0];
+        r = a[1] == mxConstants.DIRECTION_MASK_EAST ? 3 : a[1];
+        l -= g;
+        r -= g;
+        1 > l && (l += 4);
+        1 > r && (r += 4);
+        r = mxEdgeStyle.routePatterns[l - 1][r - 1];
+        mxEdgeStyle.wayPoints1[0][0] = d[0][0];
+        mxEdgeStyle.wayPoints1[0][1] = d[0][1];
+        switch (a[0]) {
+          case mxConstants.DIRECTION_MASK_WEST:
+            mxEdgeStyle.wayPoints1[0][0] -= f;
+            mxEdgeStyle.wayPoints1[0][1] += b[0][1] * d[0][3];
+            break;
+          case mxConstants.DIRECTION_MASK_SOUTH:
+            mxEdgeStyle.wayPoints1[0][0] +=
+              b[0][0] * d[0][2];
+            mxEdgeStyle.wayPoints1[0][1] += d[0][3] + f;
+            break;
+          case mxConstants.DIRECTION_MASK_EAST:
+            mxEdgeStyle.wayPoints1[0][0] += d[0][2] + f;
+            mxEdgeStyle.wayPoints1[0][1] += b[0][1] * d[0][3];
+            break;
+          case mxConstants.DIRECTION_MASK_NORTH:
+            mxEdgeStyle.wayPoints1[0][0] += b[0][0] * d[0][2], mxEdgeStyle.wayPoints1[0][1] -= f
         }
-    };
+        f = 0;
+        h = c = 0 < (a[0] & (mxConstants.DIRECTION_MASK_EAST | mxConstants.DIRECTION_MASK_WEST)) ? 0 : 1;
+        for (l = k = 0; l < r.length; l++) {
+          k = r[l] & 15;
+          s = k == mxConstants.DIRECTION_MASK_EAST ? 3 : k;
+          s += g;
+          4 < s && (s -= 4);
+          m = mxEdgeStyle.dirVectors[s -
+            1];
+          k = 0 < s % 2 ? 0 : 1;
+          k != c && (f++, mxEdgeStyle.wayPoints1[f][0] = mxEdgeStyle.wayPoints1[f - 1][0], mxEdgeStyle.wayPoints1[f][1] = mxEdgeStyle.wayPoints1[f - 1][1]);
+          var t = 0 < (r[l] & mxEdgeStyle.TARGET_MASK),
+            q = 0 < (r[l] & mxEdgeStyle.SOURCE_MASK),
+            n = (r[l] & mxEdgeStyle.SIDE_MASK) >> 5,
+            n = n << g;
+          15 < n && (n >>= 4);
+          p = 0 < (r[l] & mxEdgeStyle.CENTER_MASK);
+          (q || t) && 9 > n ? (s = 0, q = q ? 0 : 1, s = p && 0 == k ? d[q][0] + b[q][0] * d[q][2] : p ? d[q][1] + b[q][1] * d[q][3] : mxEdgeStyle.limits[q][n], 0 == k ? (n = (s - mxEdgeStyle.wayPoints1[
+            f][0]) * m[0], 0 < n && (mxEdgeStyle.wayPoints1[f][0] +=
+            m[0] * n)) : (n = (s - mxEdgeStyle.wayPoints1[f][1]) * m[1], 0 < n && (mxEdgeStyle.wayPoints1[f][1] += m[1] * n))) : p && (mxEdgeStyle.wayPoints1[f][0] += m[0] * Math.abs(mxEdgeStyle.vertexSeperations[
+            s] / 2), mxEdgeStyle.wayPoints1[f][1] += m[1] * Math.abs(mxEdgeStyle.vertexSeperations[s] / 2));
+          0 < f && mxEdgeStyle.wayPoints1[f][k] == mxEdgeStyle.wayPoints1[f - 1][k] ? f-- : c = k
+        }
+        for (l = 0; l <= f && !(l == f && ((0 < (a[1] & (mxConstants.DIRECTION_MASK_EAST | mxConstants.DIRECTION_MASK_WEST)) ? 0 : 1) == h ? 0 : 1) != (f + 1) % 2); l++) e.push(new mxPoint(
+          mxEdgeStyle.wayPoints1[l][0],
+          mxEdgeStyle.wayPoints1[l][1]))
+      }
+    },
+    getRoutePattern: function(a, b, c, d) {
+      var e = a[0] == mxConstants.DIRECTION_MASK_EAST ? 3 : a[0];
+      a = a[1] == mxConstants.DIRECTION_MASK_EAST ? 3 : a[1];
+      e -= b;
+      a -= b;
+      1 > e && (e += 4);
+      1 > a && (a += 4);
+      b = routePatterns[e - 1][a - 1];
+      if (0 == c || 0 == d) null != inlineRoutePatterns[e - 1][a - 1] && (b = inlineRoutePatterns[e - 1][a - 1]);
+      return b
+    }
+  },
+  mxStyleRegistry = {
+    values: [],
+    putValue: function(a, b) {
+      mxStyleRegistry.values[a] = b
+    },
+    getValue: function(a) {
+      return mxStyleRegistry.values[a]
+    },
+    getName: function(a) {
+      for (var b in mxStyleRegistry.values)
+        if (mxStyleRegistry.values[b] ==
+          a) return b;
+      return null
+    }
+  };
 mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ELBOW, mxEdgeStyle.ElbowConnector);
 mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ENTITY_RELATION, mxEdgeStyle.EntityRelation);
 mxStyleRegistry.putValue(mxConstants.EDGESTYLE_LOOP, mxEdgeStyle.Loop);
@@ -10492,10 +10681,10 @@ mxStyleRegistry.putValue(mxConstants.PERIMETER_RHOMBUS, mxPerimeter.RhombusPerim
 mxStyleRegistry.putValue(mxConstants.PERIMETER_TRIANGLE, mxPerimeter.TrianglePerimeter);
 
 function mxGraphView(a) {
-    this.graph = a;
-    this.translate = new mxPoint;
-    this.graphBounds = new mxRectangle;
-    this.states = new mxDictionary
+  this.graph = a;
+  this.translate = new mxPoint;
+  this.graphBounds = new mxRectangle;
+  this.states = new mxDictionary
 }
 mxGraphView.prototype = new mxEventSource;
 mxGraphView.prototype.constructor = mxGraphView;
@@ -10513,692 +10702,706 @@ mxGraphView.prototype.scale = 1;
 mxGraphView.prototype.translate = null;
 mxGraphView.prototype.updateStyle = !1;
 mxGraphView.prototype.getGraphBounds = function() {
-    return this.graphBounds
+  return this.graphBounds
 };
 mxGraphView.prototype.setGraphBounds = function(a) {
-    this.graphBounds = a
+  this.graphBounds = a
 };
 mxGraphView.prototype.getBounds = function(a) {
-    var b = null;
-    if (null != a && 0 < a.length)
-        for (var c = this.graph.getModel(), d = 0; d < a.length; d++)
-            if (c.isVertex(a[d]) || c.isEdge(a[d])) {
-                var e = this.getState(a[d]);
-                null != e && (null == b ? b = new mxRectangle(e.x, e.y, e.width, e.height) : b.add(e))
-            }
-    return b
+  var b = null;
+  if (null != a && 0 < a.length)
+    for (var c = this.graph.getModel(), d = 0; d < a.length; d++)
+      if (c.isVertex(a[d]) || c.isEdge(a[d])) {
+        var e = this.getState(a[d]);
+        null != e && (null == b ? b = new mxRectangle(e.x, e.y, e.width, e.height) : b.add(e))
+      }
+  return b
 };
 mxGraphView.prototype.setCurrentRoot = function(a) {
-    if (this.currentRoot != a) {
-        var b = new mxCurrentRootChange(this, a);
-        b.execute();
-        var c = new mxUndoableEdit(this, !1);
-        c.add(b);
-        this.fireEvent(new mxEventObject(mxEvent.UNDO, "edit", c));
-        this.graph.sizeDidChange()
-    }
-    return a
+  if (this.currentRoot != a) {
+    var b = new mxCurrentRootChange(this, a);
+    b.execute();
+    var c = new mxUndoableEdit(this, !1);
+    c.add(b);
+    this.fireEvent(new mxEventObject(mxEvent.UNDO, "edit", c));
+    this.graph.sizeDidChange()
+  }
+  return a
 };
 mxGraphView.prototype.scaleAndTranslate = function(a, b, c) {
-    var d = this.scale,
-        e = new mxPoint(this.translate.x, this.translate.y);
-    if (this.scale != a || this.translate.x != b || this.translate.y != c) this.scale = a, this.translate.x = b, this.translate.y = c, this.isEventsEnabled() && (this.revalidate(), this.graph.sizeDidChange());
-    this.fireEvent(new mxEventObject(mxEvent.SCALE_AND_TRANSLATE, "scale", a, "previousScale", d, "translate", this.translate, "previousTranslate", e))
+  var d = this.scale,
+    e = new mxPoint(this.translate.x, this.translate.y);
+  if (this.scale != a || this.translate.x != b || this.translate.y != c) this.scale = a, this.translate.x = b, this.translate.y = c, this.isEventsEnabled() && (this.revalidate(), this.graph.sizeDidChange());
+  this.fireEvent(new mxEventObject(mxEvent.SCALE_AND_TRANSLATE, "scale", a, "previousScale", d, "translate", this.translate, "previousTranslate", e))
 };
 mxGraphView.prototype.getScale = function() {
-    return this.scale
+  return this.scale
 };
 mxGraphView.prototype.setScale = function(a) {
-    var b = this.scale;
-    this.scale != a && (this.scale = a, this.isEventsEnabled() && (this.revalidate(), this.graph.sizeDidChange()));
-    this.fireEvent(new mxEventObject(mxEvent.SCALE, "scale", a, "previousScale", b))
+  var b = this.scale;
+  this.scale != a && (this.scale = a, this.isEventsEnabled() && (this.revalidate(), this.graph.sizeDidChange()));
+  this.fireEvent(new mxEventObject(mxEvent.SCALE, "scale", a, "previousScale", b))
 };
 mxGraphView.prototype.getTranslate = function() {
-    return this.translate
+  return this.translate
 };
 mxGraphView.prototype.setTranslate = function(a, b) {
-    var c = new mxPoint(this.translate.x, this.translate.y);
-    if (this.translate.x != a || this.translate.y != b) this.translate.x = a, this.translate.y = b, this.isEventsEnabled() && (this.revalidate(), this.graph.sizeDidChange());
-    this.fireEvent(new mxEventObject(mxEvent.TRANSLATE, "translate", this.translate, "previousTranslate", c))
+  var c = new mxPoint(this.translate.x, this.translate.y);
+  if (this.translate.x != a || this.translate.y != b) this.translate.x = a, this.translate.y = b, this.isEventsEnabled() && (this.revalidate(), this.graph.sizeDidChange());
+  this.fireEvent(new mxEventObject(mxEvent.TRANSLATE, "translate", this.translate, "previousTranslate", c))
 };
 mxGraphView.prototype.refresh = function() {
-    null != this.currentRoot && this.clear();
-    this.revalidate()
+  null != this.currentRoot && this.clear();
+  this.revalidate()
 };
 mxGraphView.prototype.revalidate = function() {
-    this.invalidate();
-    this.validate()
+  this.invalidate();
+  this.validate()
 };
 mxGraphView.prototype.clear = function(a, b, c) {
-    var d = this.graph.getModel();
-    a = a || d.getRoot();
-    b = null != b ? b : !1;
-    c = null != c ? c : !0;
-    this.removeState(a);
-    if (c && (b || a != this.currentRoot)) {
-        c = d.getChildCount(a);
-        for (var e = 0; e < c; e++) this.clear(d.getChildAt(a, e), b)
-    } else this.invalidate(a)
+  var d = this.graph.getModel();
+  a = a || d.getRoot();
+  b = null != b ? b : !1;
+  c = null != c ? c : !0;
+  this.removeState(a);
+  if (c && (b || a != this.currentRoot)) {
+    c = d.getChildCount(a);
+    for (var e = 0; e < c; e++) this.clear(d.getChildAt(a, e), b)
+  } else this.invalidate(a)
 };
 mxGraphView.prototype.invalidate = function(a, b, c, d) {
-    var e = this.graph.getModel();
-    a = a || e.getRoot();
-    b = null != b ? b : !0;
-    c = null != c ? c : !0;
-    d = null != d ? d : !1;
-    var f = this.getState(a);
-    null != f && (f.invalid = !0, d && (f.orderChanged = !0));
-    if (b)
-        for (var g = e.getChildCount(a), f = 0; f < g; f++) {
-            var h = e.getChildAt(a, f);
-            this.invalidate(h, b, c, d)
-        }
-    if (c) {
-        d = e.getEdgeCount(a);
-        for (f = 0; f < d; f++) this.invalidate(e.getEdgeAt(a, f), b, c)
-    }
+  var e = this.graph.getModel();
+  a = a || e.getRoot();
+  b = null != b ? b : !0;
+  c = null != c ? c : !0;
+  d = null != d ? d : !1;
+  var f = this.getState(a);
+  null != f && (f.invalid = !0, d && (f.orderChanged = !0));
+  if (b)
+    for (var g = e.getChildCount(a), f = 0; f < g; f++) {
+      var h = e.getChildAt(a, f);
+      this.invalidate(h, b, c, d)
+    }
+  if (c) {
+    d = e.getEdgeCount(a);
+    for (f = 0; f < d; f++) this.invalidate(e.getEdgeAt(a, f), b, c)
+  }
 };
 mxGraphView.prototype.validate = function(a) {
-    var b = mxLog.enter("mxGraphView.validate");
-    window.status = mxResources.get(this.updatingDocumentResource) || this.updatingDocumentResource;
-    var c = null;
-    if (this.optimizeVmlReflows && null != this.canvas && null == this.textDiv && (8 == document.documentMode || mxClient.IS_QUIRKS)) {
-        c = this.canvas.style.display;
-        this.canvas.style.display = "none";
-        var d = document.createElement("div");
-        d.style.position = "absolute";
-        d.style.whiteSpace = "nowrap";
-        d.style.visibility = "hidden";
-        d.style.display = mxClient.IS_QUIRKS ?
-            "inline" : "inline-block";
-        d.style.zoom = "1";
-        document.body.appendChild(d);
-        this.textDiv = d
-    }
-    a = a || (null != this.currentRoot ? this.currentRoot : this.graph.getModel().getRoot());
-    this.validateBounds(null, a);
-    a = this.validatePoints(null, a);
-    null == a && (a = new mxRectangle);
-    this.setGraphBounds(a);
-    this.validateBackground();
-    null != c && (this.canvas.style.display = c, document.body.removeChild(this.textDiv), this.textDiv = null);
-    window.status = mxResources.get(this.doneResource) || this.doneResource;
-    mxLog.leave("mxGraphView.validate", b)
+  var b = mxLog.enter("mxGraphView.validate");
+  window.status = mxResources.get(this.updatingDocumentResource) || this.updatingDocumentResource;
+  var c = null;
+  if (this.optimizeVmlReflows && null != this.canvas && null == this.textDiv && (8 == document.documentMode || mxClient.IS_QUIRKS)) {
+    c = this.canvas.style.display;
+    this.canvas.style.display = "none";
+    var d = document.createElement("div");
+    d.style.position = "absolute";
+    d.style.whiteSpace = "nowrap";
+    d.style.visibility = "hidden";
+    d.style.display = mxClient.IS_QUIRKS ?
+      "inline" : "inline-block";
+    d.style.zoom = "1";
+    document.body.appendChild(d);
+    this.textDiv = d
+  }
+  a = a || (null != this.currentRoot ? this.currentRoot : this.graph.getModel().getRoot());
+  this.validateBounds(null, a);
+  a = this.validatePoints(null, a);
+  null == a && (a = new mxRectangle);
+  this.setGraphBounds(a);
+  this.validateBackground();
+  null != c && (this.canvas.style.display = c, document.body.removeChild(this.textDiv), this.textDiv = null);
+  window.status = mxResources.get(this.doneResource) || this.doneResource;
+  mxLog.leave("mxGraphView.validate", b)
 };
 mxGraphView.prototype.createBackgroundPageShape = function(a) {
-    return new mxRectangleShape(a, "white", "black")
+  return new mxRectangleShape(a, "white", "black")
 };
 mxGraphView.prototype.validateBackground = function() {
-    var a = this.graph.getBackgroundImage();
-    if (null != a) {
-        if (null == this.backgroundImage || this.backgroundImage.image != a.src) {
-            null != this.backgroundImage && this.backgroundImage.destroy();
-            var b = new mxRectangle(0, 0, 1, 1);
-            this.backgroundImage = new mxImageShape(b, a.src);
-            this.backgroundImage.dialect = this.graph.dialect;
-            this.backgroundImage.init(this.backgroundPane);
-            this.backgroundImage.redraw()
-        }
-        this.redrawBackgroundImage(this.backgroundImage, a)
-    } else null != this.backgroundImage &&
-        (this.backgroundImage.destroy(), this.backgroundImage = null);
-    this.graph.pageVisible ? (b = this.getBackgroundPageBounds(), null == this.backgroundPageShape ? (this.backgroundPageShape = this.createBackgroundPageShape(b), this.backgroundPageShape.scale = this.scale, this.backgroundPageShape.isShadow = !0, this.backgroundPageShape.dialect = this.graph.dialect, this.backgroundPageShape.init(this.backgroundPane), this.backgroundPageShape.redraw(), mxEvent.addListener(this.backgroundPageShape.node, "dblclick", mxUtils.bind(this,
-        function(a) {
-            this.graph.dblClick(a)
-        })), mxEvent.addGestureListeners(this.backgroundPageShape.node, mxUtils.bind(this, function(a) {
-        this.graph.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(a))
+  var a = this.graph.getBackgroundImage();
+  if (null != a) {
+    if (null == this.backgroundImage || this.backgroundImage.image != a.src) {
+      null != this.backgroundImage && this.backgroundImage.destroy();
+      var b = new mxRectangle(0, 0, 1, 1);
+      this.backgroundImage = new mxImageShape(b, a.src);
+      this.backgroundImage.dialect = this.graph.dialect;
+      this.backgroundImage.init(this.backgroundPane);
+      this.backgroundImage.redraw()
+    }
+    this.redrawBackgroundImage(this.backgroundImage, a)
+  } else null != this.backgroundImage &&
+    (this.backgroundImage.destroy(), this.backgroundImage = null);
+  this.graph.pageVisible ? (b = this.getBackgroundPageBounds(), null == this.backgroundPageShape ? (this.backgroundPageShape = this.createBackgroundPageShape(b), this.backgroundPageShape.scale =
+    this.scale, this.backgroundPageShape.isShadow = !0, this.backgroundPageShape.dialect = this.graph.dialect, this.backgroundPageShape.init(this.backgroundPane), this.backgroundPageShape.redraw(),
+    mxEvent.addListener(this.backgroundPageShape.node, "dblclick", mxUtils.bind(this,
+      function(a) {
+        this.graph.dblClick(a)
+      })), mxEvent.addGestureListeners(this.backgroundPageShape.node, mxUtils.bind(this, function(a) {
+      this.graph.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(a))
     }), mxUtils.bind(this, function(a) {
-        null != this.graph.tooltipHandler && this.graph.tooltipHandler.isHideOnHover() && this.graph.tooltipHandler.hide();
-        this.graph.isMouseDown && !mxEvent.isConsumed(a) && this.graph.fireMouseEvent(mxEvent.MOUSE_MOVE, new mxMouseEvent(a))
+      null != this.graph.tooltipHandler && this.graph.tooltipHandler.isHideOnHover() && this.graph.tooltipHandler.hide();
+      this.graph.isMouseDown && !mxEvent.isConsumed(a) && this.graph.fireMouseEvent(mxEvent.MOUSE_MOVE, new mxMouseEvent(a))
     }), mxUtils.bind(this, function(a) {
-        this.graph.fireMouseEvent(mxEvent.MOUSE_UP,
-            new mxMouseEvent(a))
-    }))) : (this.backgroundPageShape.scale = this.scale, this.backgroundPageShape.bounds = b, this.backgroundPageShape.redraw())) : null != this.backgroundPageShape && (this.backgroundPageShape.destroy(), this.backgroundPageShape = null)
+      this.graph.fireMouseEvent(mxEvent.MOUSE_UP,
+        new mxMouseEvent(a))
+    }))) : (this.backgroundPageShape.scale = this.scale, this.backgroundPageShape.bounds = b, this.backgroundPageShape.redraw())) : null != this.backgroundPageShape && (this.backgroundPageShape.destroy(),
+    this.backgroundPageShape = null)
 };
 mxGraphView.prototype.getBackgroundPageBounds = function() {
-    var a = this.graph.pageFormat,
-        b = this.scale * this.graph.pageScale;
-    return new mxRectangle(this.scale * this.translate.x, this.scale * this.translate.y, a.width * b, a.height * b)
+  var a = this.graph.pageFormat,
+    b = this.scale * this.graph.pageScale;
+  return new mxRectangle(this.scale * this.translate.x, this.scale * this.translate.y, a.width * b, a.height * b)
 };
 mxGraphView.prototype.redrawBackgroundImage = function(a, b) {
-    a.scale = this.scale;
-    a.bounds.x = this.scale * this.translate.x;
-    a.bounds.y = this.scale * this.translate.y;
-    a.bounds.width = this.scale * b.width;
-    a.bounds.height = this.scale * b.height;
-    a.redraw()
+  a.scale = this.scale;
+  a.bounds.x = this.scale * this.translate.x;
+  a.bounds.y = this.scale * this.translate.y;
+  a.bounds.width = this.scale * b.width;
+  a.bounds.height = this.scale * b.height;
+  a.redraw()
 };
 mxGraphView.prototype.validateBounds = function(a, b) {
-    var c = this.graph.getModel(),
-        d = this.getState(b, !0);
-    if (null != d && d.invalid) {
-        if (this.graph.isCellVisible(b)) {
-            if (b != this.currentRoot && null != a) {
-                d.absoluteOffset.x = 0;
-                d.absoluteOffset.y = 0;
-                d.origin.x = a.origin.x;
-                d.origin.y = a.origin.y;
-                var e = this.graph.getCellGeometry(b);
-                if (null != e) {
-                    if (!c.isEdge(b)) {
-                        var f = e.offset || this.EMPTY_POINT;
-                        e.relative ? (d.origin.x += e.x * a.width / this.scale + f.x, d.origin.y += e.y * a.height / this.scale + f.y) : (d.absoluteOffset.x = this.scale * f.x, d.absoluteOffset.y =
-                            this.scale * f.y, d.origin.x += e.x, d.origin.y += e.y)
-                    }
-                    d.x = this.scale * (this.translate.x + d.origin.x);
-                    d.y = this.scale * (this.translate.y + d.origin.y);
-                    d.width = this.scale * e.width;
-                    d.height = this.scale * e.height;
-                    if (c.isVertex(b)) {
-                        if (e.relative && (f = mxUtils.toRadians(a.style[mxConstants.STYLE_ROTATION] || "0"), 0 != f)) {
-                            var e = Math.cos(f),
-                                f = Math.sin(f),
-                                g = new mxPoint(d.getCenterX(), d.getCenterY()),
-                                h = new mxPoint(a.getCenterX(), a.getCenterY()),
-                                e = mxUtils.getRotatedPoint(g, e, f, h);
-                            d.x = e.x - d.width / 2;
-                            d.y = e.y - d.height / 2
-                        }
-                        this.updateVertexLabelOffset(d)
-                    }
-                }
+  var c = this.graph.getModel(),
+    d = this.getState(b, !0);
+  if (null != d && d.invalid) {
+    if (this.graph.isCellVisible(b)) {
+      if (b != this.currentRoot && null != a) {
+        d.absoluteOffset.x = 0;
+        d.absoluteOffset.y = 0;
+        d.origin.x = a.origin.x;
+        d.origin.y = a.origin.y;
+        var e = this.graph.getCellGeometry(b);
+        if (null != e) {
+          if (!c.isEdge(b)) {
+            var f = e.offset || this.EMPTY_POINT;
+            e.relative ? (d.origin.x += e.x * a.width / this.scale + f.x, d.origin.y += e.y * a.height / this.scale + f.y) : (d.absoluteOffset.x = this.scale * f.x, d.absoluteOffset.y =
+              this.scale * f.y, d.origin.x += e.x, d.origin.y += e.y)
+          }
+          d.x = this.scale * (this.translate.x + d.origin.x);
+          d.y = this.scale * (this.translate.y + d.origin.y);
+          d.width = this.scale * e.width;
+          d.height = this.scale * e.height;
+          if (c.isVertex(b)) {
+            if (e.relative && (f = mxUtils.toRadians(a.style[mxConstants.STYLE_ROTATION] || "0"), 0 != f)) {
+              var e = Math.cos(f),
+                f = Math.sin(f),
+                g = new mxPoint(d.getCenterX(), d.getCenterY()),
+                h = new mxPoint(a.getCenterX(), a.getCenterY()),
+                e = mxUtils.getRotatedPoint(g, e, f, h);
+              d.x = e.x - d.width / 2;
+              d.y = e.y - d.height / 2
             }
-        } else this.removeState(b);
-        f = this.graph.getChildOffsetForCell(b);
-        null != f && (d.origin.x += f.x, d.origin.y += f.y)
-    }
-    if (null != d && (!this.graph.isCellCollapsed(b) || b == this.currentRoot)) {
-        e = c.getChildCount(b);
-        for (f = 0; f < e; f++) g = c.getChildAt(b, f), this.validateBounds(d, g)
-    }
+            this.updateVertexLabelOffset(d)
+          }
+        }
+      }
+    } else this.removeState(b);
+    f = this.graph.getChildOffsetForCell(b);
+    null != f && (d.origin.x += f.x, d.origin.y += f.y)
+  }
+  if (null != d && (!this.graph.isCellCollapsed(b) || b == this.currentRoot)) {
+    e = c.getChildCount(b);
+    for (f = 0; f < e; f++) g = c.getChildAt(b, f), this.validateBounds(d, g)
+  }
 };
 mxGraphView.prototype.updateVertexLabelOffset = function(a) {
-    var b = mxUtils.getValue(a.style, mxConstants.STYLE_LABEL_POSITION, mxConstants.ALIGN_CENTER);
-    b == mxConstants.ALIGN_LEFT ? a.absoluteOffset.x -= a.width : b == mxConstants.ALIGN_RIGHT && (a.absoluteOffset.x += a.width);
-    b = mxUtils.getValue(a.style, mxConstants.STYLE_VERTICAL_LABEL_POSITION, mxConstants.ALIGN_MIDDLE);
-    b == mxConstants.ALIGN_TOP ? a.absoluteOffset.y -= a.height : b == mxConstants.ALIGN_BOTTOM && (a.absoluteOffset.y += a.height)
+  var b = mxUtils.getValue(a.style, mxConstants.STYLE_LABEL_POSITION, mxConstants.ALIGN_CENTER);
+  b == mxConstants.ALIGN_LEFT ? a.absoluteOffset.x -= a.width : b == mxConstants.ALIGN_RIGHT && (a.absoluteOffset.x += a.width);
+  b = mxUtils.getValue(a.style, mxConstants.STYLE_VERTICAL_LABEL_POSITION, mxConstants.ALIGN_MIDDLE);
+  b == mxConstants.ALIGN_TOP ? a.absoluteOffset.y -= a.height : b == mxConstants.ALIGN_BOTTOM && (a.absoluteOffset.y += a.height)
 };
 mxGraphView.prototype.validatePoints = function(a, b) {
-    var c = this.graph.getModel(),
-        d = this.getState(b),
-        e = null;
-    if (null != d) {
-        if (d.invalid) {
-            var f = this.graph.getCellGeometry(b);
-            if (null != f && c.isEdge(b)) {
-                var g = this.getState(this.getVisibleTerminal(b, !0));
-                d.setVisibleTerminalState(g, !0);
-                if (null != g && c.isEdge(g.cell) && !c.isAncestor(g.cell, b)) {
-                    var h = this.getState(c.getParent(g.cell));
-                    this.validatePoints(h, g.cell)
-                }
-                var k = this.getState(this.getVisibleTerminal(b, !1));
-                d.setVisibleTerminalState(k, !1);
-                null != k && (c.isEdge(k.cell) &&
-                    !c.isAncestor(k.cell, b)) && (h = this.getState(c.getParent(k.cell)), this.validatePoints(h, k.cell));
-                this.updateFixedTerminalPoints(d, g, k);
-                this.updatePoints(d, f.points, g, k);
-                this.updateFloatingTerminalPoints(d, g, k);
-                this.updateEdgeBounds(d);
-                this.updateEdgeLabelOffset(d)
-            } else null != f && (f.relative && null != a && c.isEdge(a.cell)) && (f = this.getPoint(a, f), null != f && (d.x = f.x, d.y = f.y, f.x = f.x / this.scale - this.translate.x, f.y = f.y / this.scale - this.translate.y, d.origin = f, this.childMoved(a, d)));
-            d.invalid = !1;
-            b != this.currentRoot &&
-                this.graph.cellRenderer.redraw(d, !1, this.isRendering())
+  var c = this.graph.getModel(),
+    d = this.getState(b),
+    e = null;
+  if (null != d) {
+    if (d.invalid) {
+      var f = this.graph.getCellGeometry(b);
+      if (null != f && c.isEdge(b)) {
+        var g = this.getState(this.getVisibleTerminal(b, !0));
+        d.setVisibleTerminalState(g, !0);
+        if (null != g && c.isEdge(g.cell) && !c.isAncestor(g.cell, b)) {
+          var h = this.getState(c.getParent(g.cell));
+          this.validatePoints(h, g.cell)
         }
-        if (c.isEdge(b) || c.isVertex(b)) null != d.shape && null != d.shape.boundingBox && (e = d.shape.boundingBox.clone()), null != d.text && !this.graph.isLabelClipped(d.cell) && null != d.text.boundingBox && (null != e ? e.add(d.text.boundingBox) : e = d.text.boundingBox.clone())
-    }
-    if (null != d && (!this.graph.isCellCollapsed(b) || b == this.currentRoot)) {
-        f = c.getChildCount(b);
-        for (g = 0; g < f; g++) h = c.getChildAt(b, g), h = this.validatePoints(d, h), null != h && (null == e ? e = h : e.add(h))
-    }
-    return e
+        var k = this.getState(this.getVisibleTerminal(b, !1));
+        d.setVisibleTerminalState(k, !1);
+        null != k && (c.isEdge(k.cell) &&
+          !c.isAncestor(k.cell, b)) && (h = this.getState(c.getParent(k.cell)), this.validatePoints(h, k.cell));
+        this.updateFixedTerminalPoints(d, g, k);
+        this.updatePoints(d, f.points, g, k);
+        this.updateFloatingTerminalPoints(d, g, k);
+        this.updateEdgeBounds(d);
+        this.updateEdgeLabelOffset(d)
+      } else null != f && (f.relative && null != a && c.isEdge(a.cell)) && (f = this.getPoint(a, f), null != f && (d.x = f.x, d.y = f.y, f.x = f.x / this.scale - this.translate.x, f.y = f.y / this.scale -
+        this.translate.y, d.origin = f, this.childMoved(a, d)));
+      d.invalid = !1;
+      b != this.currentRoot &&
+        this.graph.cellRenderer.redraw(d, !1, this.isRendering())
+    }
+    if (c.isEdge(b) || c.isVertex(b)) null != d.shape && null != d.shape.boundingBox && (e = d.shape.boundingBox.clone()), null != d.text && !this.graph.isLabelClipped(d.cell) && null != d.text.boundingBox &&
+      (null != e ? e.add(d.text.boundingBox) : e = d.text.boundingBox.clone())
+  }
+  if (null != d && (!this.graph.isCellCollapsed(b) || b == this.currentRoot)) {
+    f = c.getChildCount(b);
+    for (g = 0; g < f; g++) h = c.getChildAt(b, g), h = this.validatePoints(d, h), null != h && (null == e ? e = h : e.add(h))
+  }
+  return e
 };
 mxGraphView.prototype.childMoved = function(a, b) {
-    var c = b.cell;
-    if (!this.graph.isCellCollapsed(c) || c == this.currentRoot)
-        for (var d = this.graph.getModel(), e = d.getChildCount(c), f = 0; f < e; f++) this.validateBounds(b, d.getChildAt(c, f))
+  var c = b.cell;
+  if (!this.graph.isCellCollapsed(c) || c == this.currentRoot)
+    for (var d = this.graph.getModel(), e = d.getChildCount(c), f = 0; f < e; f++) this.validateBounds(b, d.getChildAt(c, f))
 };
 mxGraphView.prototype.updateFixedTerminalPoints = function(a, b, c) {
-    this.updateFixedTerminalPoint(a, b, !0, this.graph.getConnectionConstraint(a, b, !0));
-    this.updateFixedTerminalPoint(a, c, !1, this.graph.getConnectionConstraint(a, c, !1))
+  this.updateFixedTerminalPoint(a, b, !0, this.graph.getConnectionConstraint(a, b, !0));
+  this.updateFixedTerminalPoint(a, c, !1, this.graph.getConnectionConstraint(a, c, !1))
 };
 mxGraphView.prototype.updateFixedTerminalPoint = function(a, b, c, d) {
-    var e = null;
-    null != d && (e = this.graph.getConnectionPoint(b, d));
-    if (null == e && null == b) {
-        b = this.scale;
-        d = this.translate;
-        var f = a.origin,
-            e = this.graph.getCellGeometry(a.cell).getTerminalPoint(c);
-        null != e && (e = new mxPoint(b * (d.x + e.x + f.x), b * (d.y + e.y + f.y)))
-    }
-    a.setAbsoluteTerminalPoint(e, c)
+  var e = null;
+  null != d && (e = this.graph.getConnectionPoint(b, d));
+  if (null == e && null == b) {
+    b = this.scale;
+    d = this.translate;
+    var f = a.origin,
+      e = this.graph.getCellGeometry(a.cell).getTerminalPoint(c);
+    null != e && (e = new mxPoint(b * (d.x + e.x + f.x), b * (d.y + e.y + f.y)))
+  }
+  a.setAbsoluteTerminalPoint(e, c)
 };
 mxGraphView.prototype.updatePoints = function(a, b, c, d) {
-    if (null != a) {
-        var e = [];
-        e.push(a.absolutePoints[0]);
-        var f = this.getEdgeStyle(a, b, c, d);
-        if (null != f) c = this.getTerminalPort(a, c, !0), d = this.getTerminalPort(a, d, !1), f(a, c, d, b, e);
-        else if (null != b)
-            for (f = 0; f < b.length; f++) null != b[f] && (d = mxUtils.clone(b[f]), e.push(this.transformControlPoint(a, d)));
-        b = a.absolutePoints;
-        e.push(b[b.length - 1]);
-        a.absolutePoints = e
-    }
+  if (null != a) {
+    var e = [];
+    e.push(a.absolutePoints[0]);
+    var f = this.getEdgeStyle(a, b, c, d);
+    if (null != f) c = this.getTerminalPort(a, c, !0), d = this.getTerminalPort(a, d, !1), f(a, c, d, b, e);
+    else if (null != b)
+      for (f = 0; f < b.length; f++) null != b[f] && (d = mxUtils.clone(b[f]), e.push(this.transformControlPoint(a, d)));
+    b = a.absolutePoints;
+    e.push(b[b.length - 1]);
+    a.absolutePoints = e
+  }
 };
 mxGraphView.prototype.transformControlPoint = function(a, b) {
-    var c = a.origin;
-    return new mxPoint(this.scale * (b.x + this.translate.x + c.x), this.scale * (b.y + this.translate.y + c.y))
+  var c = a.origin;
+  return new mxPoint(this.scale * (b.x + this.translate.x + c.x), this.scale * (b.y + this.translate.y + c.y))
 };
 mxGraphView.prototype.getEdgeStyle = function(a, b, c, d) {
-    a = null != c && c == d ? mxUtils.getValue(a.style, mxConstants.STYLE_LOOP, this.graph.defaultLoopStyle) : !mxUtils.getValue(a.style, mxConstants.STYLE_NOEDGESTYLE, !1) ? a.style[mxConstants.STYLE_EDGE] : null;
-    "string" == typeof a && (b = mxStyleRegistry.getValue(a), null == b && this.isAllowEval() && (b = mxUtils.eval(a)), a = b);
-    return "function" == typeof a ? a : null
+  a = null != c && c == d ? mxUtils.getValue(a.style, mxConstants.STYLE_LOOP, this.graph.defaultLoopStyle) : !mxUtils.getValue(a.style, mxConstants.STYLE_NOEDGESTYLE, !1) ? a.style[mxConstants.STYLE_EDGE] :
+    null;
+  "string" == typeof a && (b = mxStyleRegistry.getValue(a), null == b && this.isAllowEval() && (b = mxUtils.eval(a)), a = b);
+  return "function" == typeof a ? a : null
 };
 mxGraphView.prototype.updateFloatingTerminalPoints = function(a, b, c) {
-    var d = a.absolutePoints,
-        e = d[0];
-    null == d[d.length - 1] && null != c && this.updateFloatingTerminalPoint(a, c, b, !1);
-    null == e && null != b && this.updateFloatingTerminalPoint(a, b, c, !0)
+  var d = a.absolutePoints,
+    e = d[0];
+  null == d[d.length - 1] && null != c && this.updateFloatingTerminalPoint(a, c, b, !1);
+  null == e && null != b && this.updateFloatingTerminalPoint(a, b, c, !0)
 };
 mxGraphView.prototype.updateFloatingTerminalPoint = function(a, b, c, d) {
-    b = this.getTerminalPort(a, b, d);
-    var e = this.getNextPoint(a, c, d),
-        f = this.graph.isOrthogonal(a);
-    c = mxUtils.toRadians(Number(b.style[mxConstants.STYLE_ROTATION] || "0"));
-    var g = new mxPoint(b.getCenterX(), b.getCenterY());
-    if (0 != c) var h = Math.cos(-c),
-        k = Math.sin(-c),
-        e = mxUtils.getRotatedPoint(e, h, k, g);
-    h = parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING] || 0);
-    h += parseFloat(a.style[d ? mxConstants.STYLE_SOURCE_PERIMETER_SPACING : mxConstants.STYLE_TARGET_PERIMETER_SPACING] ||
-        0);
-    b = this.getPerimeterPoint(b, e, 0 == c && f, h);
-    0 != c && (h = Math.cos(c), k = Math.sin(c), b = mxUtils.getRotatedPoint(b, h, k, g));
-    a.setAbsoluteTerminalPoint(b, d)
+  b = this.getTerminalPort(a, b, d);
+  var e = this.getNextPoint(a, c, d),
+    f = this.graph.isOrthogonal(a);
+  c = mxUtils.toRadians(Number(b.style[mxConstants.STYLE_ROTATION] || "0"));
+  var g = new mxPoint(b.getCenterX(), b.getCenterY());
+  if (0 != c) var h = Math.cos(-c),
+    k = Math.sin(-c),
+    e = mxUtils.getRotatedPoint(e, h, k, g);
+  h = parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING] || 0);
+  h += parseFloat(a.style[d ? mxConstants.STYLE_SOURCE_PERIMETER_SPACING : mxConstants.STYLE_TARGET_PERIMETER_SPACING] ||
+    0);
+  b = this.getPerimeterPoint(b, e, 0 == c && f, h);
+  0 != c && (h = Math.cos(c), k = Math.sin(c), b = mxUtils.getRotatedPoint(b, h, k, g));
+  a.setAbsoluteTerminalPoint(b, d)
 };
 mxGraphView.prototype.getTerminalPort = function(a, b, c) {
-    a = mxUtils.getValue(a.style, c ? mxConstants.STYLE_SOURCE_PORT : mxConstants.STYLE_TARGET_PORT);
-    null != a && (a = this.getState(this.graph.getModel().getCell(a)), null != a && (b = a));
-    return b
+  a = mxUtils.getValue(a.style, c ? mxConstants.STYLE_SOURCE_PORT : mxConstants.STYLE_TARGET_PORT);
+  null != a && (a = this.getState(this.graph.getModel().getCell(a)), null != a && (b = a));
+  return b
 };
 mxGraphView.prototype.getPerimeterPoint = function(a, b, c, d) {
-    var e = null;
-    if (null != a) {
-        var f = this.getPerimeterFunction(a);
-        if (null != f && null != b && (d = this.getPerimeterBounds(a, d), 0 < d.width || 0 < d.height)) e = f(d, a, b, c);
-        null == e && (e = this.getPoint(a))
-    }
-    return e
+  var e = null;
+  if (null != a) {
+    var f = this.getPerimeterFunction(a);
+    if (null != f && null != b && (d = this.getPerimeterBounds(a, d), 0 < d.width || 0 < d.height)) e = f(d, a, b, c);
+    null == e && (e = this.getPoint(a))
+  }
+  return e
 };
 mxGraphView.prototype.getRoutingCenterX = function(a) {
-    var b = null != a.style ? parseFloat(a.style[mxConstants.STYLE_ROUTING_CENTER_X]) || 0 : 0;
-    return a.getCenterX() + b * a.width
+  var b = null != a.style ? parseFloat(a.style[mxConstants.STYLE_ROUTING_CENTER_X]) || 0 : 0;
+  return a.getCenterX() + b * a.width
 };
 mxGraphView.prototype.getRoutingCenterY = function(a) {
-    var b = null != a.style ? parseFloat(a.style[mxConstants.STYLE_ROUTING_CENTER_Y]) || 0 : 0;
-    return a.getCenterY() + b * a.height
+  var b = null != a.style ? parseFloat(a.style[mxConstants.STYLE_ROUTING_CENTER_Y]) || 0 : 0;
+  return a.getCenterY() + b * a.height
 };
 mxGraphView.prototype.getPerimeterBounds = function(a, b) {
-    b = null != b ? b : 0;
-    null != a && (b += parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING] || 0));
-    return a.getPerimeterBounds(b * this.scale)
+  b = null != b ? b : 0;
+  null != a && (b += parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING] || 0));
+  return a.getPerimeterBounds(b * this.scale)
 };
 mxGraphView.prototype.getPerimeterFunction = function(a) {
-    a = a.style[mxConstants.STYLE_PERIMETER];
-    if ("string" == typeof a) {
-        var b = mxStyleRegistry.getValue(a);
-        null == b && this.isAllowEval() && (b = mxUtils.eval(a));
-        a = b
-    }
-    return "function" == typeof a ? a : null
+  a = a.style[mxConstants.STYLE_PERIMETER];
+  if ("string" == typeof a) {
+    var b = mxStyleRegistry.getValue(a);
+    null == b && this.isAllowEval() && (b = mxUtils.eval(a));
+    a = b
+  }
+  return "function" == typeof a ? a : null
 };
 mxGraphView.prototype.getNextPoint = function(a, b, c) {
-    a = a.absolutePoints;
-    var d = null;
-    if (null != a && (c || 2 < a.length || null == b)) d = a.length, d = a[c ? Math.min(1, d - 1) : Math.max(0, d - 2)];
-    null == d && null != b && (d = new mxPoint(b.getCenterX(), b.getCenterY()));
-    return d
+  a = a.absolutePoints;
+  var d = null;
+  if (null != a && (c || 2 < a.length || null == b)) d = a.length, d = a[c ? Math.min(1, d - 1) : Math.max(0, d - 2)];
+  null == d && null != b && (d = new mxPoint(b.getCenterX(), b.getCenterY()));
+  return d
 };
 mxGraphView.prototype.getVisibleTerminal = function(a, b) {
-    for (var c = this.graph.getModel(), d = c.getTerminal(a, b), e = d; null != d && d != this.currentRoot;) {
-        if (!this.graph.isCellVisible(e) || this.graph.isCellCollapsed(d)) e = d;
-        d = c.getParent(d)
-    }
-    c.getParent(e) == c.getRoot() && (e = null);
-    return e
+  for (var c = this.graph.getModel(), d = c.getTerminal(a, b), e = d; null != d && d != this.currentRoot;) {
+    if (!this.graph.isCellVisible(e) || this.graph.isCellCollapsed(d)) e = d;
+    d = c.getParent(d)
+  }
+  c.getParent(e) == c.getRoot() && (e = null);
+  return e
 };
 mxGraphView.prototype.updateEdgeBounds = function(a) {
-    var b = a.absolutePoints;
-    a.length = 0;
-    if (null != b && 0 < b.length) {
-        var c = b[0],
-            d = b[b.length - 1];
-        if (null == c || null == d) a.cell != this.currentRoot && this.clear(a.cell, !0);
-        else {
-            if (c.x != d.x || c.y != d.y) {
-                var e = d.x - c.x,
-                    f = d.y - c.y;
-                a.terminalDistance = Math.sqrt(e * e + f * f)
-            } else a.terminalDistance = 0;
-            var d = 0,
-                g = [],
-                f = c;
-            if (null != f) {
-                for (var c = f.x, h = f.y, k = c, l = h, m = 1; m < b.length; m++) {
-                    var n = b[m];
-                    null != n && (e = f.x - n.x, f = f.y - n.y, e = Math.sqrt(e * e + f * f), g.push(e), d += e, f = n, c = Math.min(f.x, c), h = Math.min(f.y,
-                        h), k = Math.max(f.x, k), l = Math.max(f.y, l))
-                }
-                a.length = d;
-                a.segments = g;
-                a.x = c;
-                a.y = h;
-                a.width = Math.max(1, k - c);
-                a.height = Math.max(1, l - h)
-            }
+  var b = a.absolutePoints;
+  a.length = 0;
+  if (null != b && 0 < b.length) {
+    var c = b[0],
+      d = b[b.length - 1];
+    if (null == c || null == d) a.cell != this.currentRoot && this.clear(a.cell, !0);
+    else {
+      if (c.x != d.x || c.y != d.y) {
+        var e = d.x - c.x,
+          f = d.y - c.y;
+        a.terminalDistance = Math.sqrt(e * e + f * f)
+      } else a.terminalDistance = 0;
+      var d = 0,
+        g = [],
+        f = c;
+      if (null != f) {
+        for (var c = f.x, h = f.y, k = c, l = h, m = 1; m < b.length; m++) {
+          var n = b[m];
+          null != n && (e = f.x - n.x, f = f.y - n.y, e = Math.sqrt(e * e + f * f), g.push(e), d += e, f = n, c = Math.min(f.x, c), h = Math.min(f.y,
+            h), k = Math.max(f.x, k), l = Math.max(f.y, l))
         }
+        a.length = d;
+        a.segments = g;
+        a.x = c;
+        a.y = h;
+        a.width = Math.max(1, k - c);
+        a.height = Math.max(1, l - h)
+      }
     }
+  }
 };
 mxGraphView.prototype.getPoint = function(a, b) {
-    var c = a.getCenterX(),
-        d = a.getCenterY();
-    if (null != a.segments && (null == b || b.relative)) {
-        for (var e = a.absolutePoints.length, f = ((null != b ? b.x / 2 : 0) + 0.5) * a.length, g = a.segments[0], h = 0, k = 1; f > h + g && k < e - 1;) h += g, g = a.segments[k++];
-        e = 0 == g ? 0 : (f - h) / g;
-        f = a.absolutePoints[k - 1];
-        k = a.absolutePoints[k];
-        if (null != f && null != k) {
-            h = c = d = 0;
-            if (null != b) {
-                var d = b.y,
-                    l = b.offset;
-                null != l && (c = l.x, h = l.y)
-            }
-            l = k.x - f.x;
-            k = k.y - f.y;
-            c = f.x + l * e + ((0 == g ? 0 : k / g) * d + c) * this.scale;
-            d = f.y + k * e - ((0 == g ? 0 : l / g) * d - h) * this.scale
-        }
-    } else null !=
-        b && (l = b.offset, null != l && (c += l.x, d += l.y));
-    return new mxPoint(c, d)
+  var c = a.getCenterX(),
+    d = a.getCenterY();
+  if (null != a.segments && (null == b || b.relative)) {
+    for (var e = a.absolutePoints.length, f = ((null != b ? b.x / 2 : 0) + 0.5) * a.length, g = a.segments[0], h = 0, k = 1; f > h + g && k < e - 1;) h += g, g = a.segments[k++];
+    e = 0 == g ? 0 : (f - h) / g;
+    f = a.absolutePoints[k - 1];
+    k = a.absolutePoints[k];
+    if (null != f && null != k) {
+      h = c = d = 0;
+      if (null != b) {
+        var d = b.y,
+          l = b.offset;
+        null != l && (c = l.x, h = l.y)
+      }
+      l = k.x - f.x;
+      k = k.y - f.y;
+      c = f.x + l * e + ((0 == g ? 0 : k / g) * d + c) * this.scale;
+      d = f.y + k * e - ((0 == g ? 0 : l / g) * d - h) * this.scale
+    }
+  } else null !=
+    b && (l = b.offset, null != l && (c += l.x, d += l.y));
+  return new mxPoint(c, d)
 };
 mxGraphView.prototype.getRelativePoint = function(a, b, c) {
-    var d = this.graph.getModel().getGeometry(a.cell);
-    if (null != d) {
-        var e = a.absolutePoints.length;
-        if (d.relative && 1 < e) {
-            for (var d = a.length, f = a.segments, g = a.absolutePoints[0], h = a.absolutePoints[1], k = mxUtils.ptSegDistSq(g.x, g.y, h.x, h.y, b, c), l = 0, m = 0, n = 0, p = 2; p < e; p++) m += f[p - 2], h = a.absolutePoints[p], g = mxUtils.ptSegDistSq(g.x, g.y, h.x, h.y, b, c), g <= k && (k = g, l = p - 1, n = m), g = h;
-            e = f[l];
-            g = a.absolutePoints[l];
-            h = a.absolutePoints[l + 1];
-            k = h.x;
-            f = h.y;
-            a = g.x - k;
-            l = g.y - f;
-            k = b - k;
-            f = c - f;
-            k = a - k;
-            f = l - f;
-            f = k * a + f * l;
-            a = Math.sqrt(0 >= f ? 0 : f * f / (a * a + l * l));
-            a > e && (a = e);
-            e = Math.sqrt(mxUtils.ptSegDistSq(g.x, g.y, h.x, h.y, b, c)); - 1 == mxUtils.relativeCcw(g.x, g.y, h.x, h.y, b, c) && (e = -e);
-            return new mxPoint(-2 * ((d / 2 - n - a) / d), e / this.scale)
-        }
-    }
-    return new mxPoint
+  var d = this.graph.getModel().getGeometry(a.cell);
+  if (null != d) {
+    var e = a.absolutePoints.length;
+    if (d.relative && 1 < e) {
+      for (var d = a.length, f = a.segments, g = a.absolutePoints[0], h = a.absolutePoints[1], k = mxUtils.ptSegDistSq(g.x, g.y, h.x, h.y, b, c), l = 0, m = 0, n = 0, p = 2; p < e; p++) m += f[p -
+        2], h = a.absolutePoints[p], g = mxUtils.ptSegDistSq(g.x, g.y, h.x, h.y, b, c), g <= k && (k = g, l = p - 1, n = m), g = h;
+      e = f[l];
+      g = a.absolutePoints[l];
+      h = a.absolutePoints[l + 1];
+      k = h.x;
+      f = h.y;
+      a = g.x - k;
+      l = g.y - f;
+      k = b - k;
+      f = c - f;
+      k = a - k;
+      f = l - f;
+      f = k * a + f * l;
+      a = Math.sqrt(0 >= f ? 0 : f * f / (a * a + l * l));
+      a > e && (a = e);
+      e = Math.sqrt(mxUtils.ptSegDistSq(g.x, g.y, h.x, h.y, b, c)); - 1 == mxUtils.relativeCcw(g.x, g.y, h.x, h.y, b, c) && (e = -e);
+      return new mxPoint(-2 * ((d / 2 - n - a) / d), e / this.scale)
+    }
+  }
+  return new mxPoint
 };
 mxGraphView.prototype.updateEdgeLabelOffset = function(a) {
-    var b = a.absolutePoints;
-    a.absoluteOffset.x = a.getCenterX();
-    a.absoluteOffset.y = a.getCenterY();
-    if (null != b && 0 < b.length && null != a.segments) {
-        var c = this.graph.getCellGeometry(a.cell);
-        if (c.relative) {
-            var d = this.getPoint(a, c);
-            null != d && (a.absoluteOffset = d)
-        } else {
-            var d = b[0],
-                e = b[b.length - 1];
-            if (null != d && null != e) {
-                var b = e.x - d.x,
-                    f = e.y - d.y,
-                    g = e = 0,
-                    c = c.offset;
-                null != c && (e = c.x, g = c.y);
-                c = d.y + f / 2 + g * this.scale;
-                a.absoluteOffset.x = d.x + b / 2 + e * this.scale;
-                a.absoluteOffset.y = c
-            }
-        }
-    }
+  var b = a.absolutePoints;
+  a.absoluteOffset.x = a.getCenterX();
+  a.absoluteOffset.y = a.getCenterY();
+  if (null != b && 0 < b.length && null != a.segments) {
+    var c = this.graph.getCellGeometry(a.cell);
+    if (c.relative) {
+      var d = this.getPoint(a, c);
+      null != d && (a.absoluteOffset = d)
+    } else {
+      var d = b[0],
+        e = b[b.length - 1];
+      if (null != d && null != e) {
+        var b = e.x - d.x,
+          f = e.y - d.y,
+          g = e = 0,
+          c = c.offset;
+        null != c && (e = c.x, g = c.y);
+        c = d.y + f / 2 + g * this.scale;
+        a.absoluteOffset.x = d.x + b / 2 + e * this.scale;
+        a.absoluteOffset.y = c
+      }
+    }
+  }
 };
 mxGraphView.prototype.getState = function(a, b) {
-    b = b || !1;
-    var c = null;
-    null != a && (c = this.states.get(a), this.graph.isCellVisible(a) && (null == c && b && this.graph.isCellVisible(a) ? (c = this.createState(a), this.states.put(a, c)) : b && (null != c && this.updateStyle) && (c.style = this.graph.getCellStyle(a))));
-    return c
+  b = b || !1;
+  var c = null;
+  null != a && (c = this.states.get(a), this.graph.isCellVisible(a) && (null == c && b && this.graph.isCellVisible(a) ? (c = this.createState(a), this.states.put(a, c)) : b && (null != c && this.updateStyle) &&
+    (c.style = this.graph.getCellStyle(a))));
+  return c
 };
 mxGraphView.prototype.isRendering = function() {
-    return this.rendering
+  return this.rendering
 };
 mxGraphView.prototype.setRendering = function(a) {
-    this.rendering = a
+  this.rendering = a
 };
 mxGraphView.prototype.isAllowEval = function() {
-    return this.allowEval
+  return this.allowEval
 };
 mxGraphView.prototype.setAllowEval = function(a) {
-    this.allowEval = a
+  this.allowEval = a
 };
 mxGraphView.prototype.getStates = function() {
-    return this.states
+  return this.states
 };
 mxGraphView.prototype.setStates = function(a) {
-    this.states = a
+  this.states = a
 };
 mxGraphView.prototype.getCellStates = function(a) {
-    if (null == a) return this.states;
-    for (var b = [], c = 0; c < a.length; c++) {
-        var d = this.getState(a[c]);
-        null != d && b.push(d)
-    }
-    return b
+  if (null == a) return this.states;
+  for (var b = [], c = 0; c < a.length; c++) {
+    var d = this.getState(a[c]);
+    null != d && b.push(d)
+  }
+  return b
 };
 mxGraphView.prototype.removeState = function(a) {
-    var b = null;
-    null != a && (b = this.states.remove(a), null != b && (this.graph.cellRenderer.destroy(b), b.destroy()));
-    return b
+  var b = null;
+  null != a && (b = this.states.remove(a), null != b && (this.graph.cellRenderer.destroy(b), b.destroy()));
+  return b
 };
 mxGraphView.prototype.createState = function(a) {
-    var b = this.graph.getCellStyle(a);
-    a = new mxCellState(this, a, b);
-    this.graph.cellRenderer.initialize(a, this.isRendering());
-    return a
+  var b = this.graph.getCellStyle(a);
+  a = new mxCellState(this, a, b);
+  this.graph.cellRenderer.initialize(a, this.isRendering());
+  return a
 };
 mxGraphView.prototype.getCanvas = function() {
-    return this.canvas
+  return this.canvas
 };
 mxGraphView.prototype.getBackgroundPane = function() {
-    return this.backgroundPane
+  return this.backgroundPane
 };
 mxGraphView.prototype.getDrawPane = function() {
-    return this.drawPane
+  return this.drawPane
 };
 mxGraphView.prototype.getOverlayPane = function() {
-    return this.overlayPane
+  return this.overlayPane
 };
 mxGraphView.prototype.isContainerEvent = function(a) {
-    a = mxEvent.getSource(a);
-    return a == this.graph.container || a.parentNode == this.backgroundPane || null != a.parentNode && a.parentNode.parentNode == this.backgroundPane || a == this.canvas.parentNode || a == this.canvas || a == this.backgroundPane || a == this.drawPane || a == this.overlayPane
+  a = mxEvent.getSource(a);
+  return a == this.graph.container || a.parentNode == this.backgroundPane || null != a.parentNode && a.parentNode.parentNode == this.backgroundPane || a == this.canvas.parentNode || a == this.canvas ||
+    a == this.backgroundPane || a == this.drawPane || a == this.overlayPane
 };
 mxGraphView.prototype.isScrollEvent = function(a) {
-    var b = mxUtils.getOffset(this.graph.container);
-    a = new mxPoint(a.clientX - b.x, a.clientY - b.y);
-    var b = this.graph.container.offsetWidth,
-        c = this.graph.container.clientWidth;
-    if (b > c && a.x > c + 2 && a.x <= b) return !0;
-    b = this.graph.container.offsetHeight;
-    c = this.graph.container.clientHeight;
-    return b > c && a.y > c + 2 && a.y <= b ? !0 : !1
+  var b = mxUtils.getOffset(this.graph.container);
+  a = new mxPoint(a.clientX - b.x, a.clientY - b.y);
+  var b = this.graph.container.offsetWidth,
+    c = this.graph.container.clientWidth;
+  if (b > c && a.x > c + 2 && a.x <= b) return !0;
+  b = this.graph.container.offsetHeight;
+  c = this.graph.container.clientHeight;
+  return b > c && a.y > c + 2 && a.y <= b ? !0 : !1
 };
 mxGraphView.prototype.init = function() {
-    this.installListeners();
-    var a = this.graph;
-    a.dialect == mxConstants.DIALECT_SVG ? this.createSvg() : a.dialect == mxConstants.DIALECT_VML ? this.createVml() : this.createHtml()
+  this.installListeners();
+  var a = this.graph;
+  a.dialect == mxConstants.DIALECT_SVG ? this.createSvg() : a.dialect == mxConstants.DIALECT_VML ? this.createVml() : this.createHtml()
 };
 mxGraphView.prototype.installListeners = function() {
-    var a = this.graph,
-        b = a.container;
-    if (null != b) {
-        mxEvent.addGestureListeners(b, mxUtils.bind(this, function(b) {
-            mxClient.IS_TOUCH && a.isEditing() && a.stopEditing(!a.isInvokesStopCellEditing());
-            this.isContainerEvent(b) && (!mxClient.IS_IE && !mxClient.IS_GC && !mxClient.IS_OP && !mxClient.IS_SF || !this.isScrollEvent(b)) && a.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(b))
-        }), mxUtils.bind(this, function(b) {
-            this.isContainerEvent(b) && a.fireMouseEvent(mxEvent.MOUSE_MOVE,
-                new mxMouseEvent(b))
-        }), mxUtils.bind(this, function(b) {
-            this.isContainerEvent(b) && a.fireMouseEvent(mxEvent.MOUSE_UP, new mxMouseEvent(b))
-        }));
-        mxEvent.addListener(b, "dblclick", mxUtils.bind(this, function(b) {
-            a.dblClick(b)
-        }));
-        var c = function(c) {
-            var e = null;
-            mxClient.IS_TOUCH && (e = mxEvent.getClientX(c), c = mxEvent.getClientY(c), c = mxUtils.convertPoint(b, e, c), e = a.view.getState(a.getCellAt(c.x, c.y)));
-            return e
-        };
-        a.addMouseListener({
-            mouseDown: function(b, c) {
-                a.panningHandler.hideMenu()
-            },
-            mouseMove: function() {},
-            mouseUp: function() {}
-        });
-        this.moveHandler = mxUtils.bind(this, function(b) {
-            null != a.tooltipHandler && a.tooltipHandler.isHideOnHover() && a.tooltipHandler.hide();
-            this.captureDocumentGesture && (a.isMouseDown && !mxEvent.isConsumed(b)) && a.fireMouseEvent(mxEvent.MOUSE_MOVE, new mxMouseEvent(b, c(b)))
-        });
-        this.endHandler = mxUtils.bind(this, function(b) {
-            this.captureDocumentGesture && a.fireMouseEvent(mxEvent.MOUSE_UP, new mxMouseEvent(b))
-        });
-        mxEvent.addGestureListeners(document, null, this.moveHandler, this.endHandler)
-    }
+  var a = this.graph,
+    b = a.container;
+  if (null != b) {
+    mxEvent.addGestureListeners(b, mxUtils.bind(this, function(b) {
+      mxClient.IS_TOUCH && a.isEditing() && a.stopEditing(!a.isInvokesStopCellEditing());
+      this.isContainerEvent(b) && (!mxClient.IS_IE && !mxClient.IS_GC && !mxClient.IS_OP && !mxClient.IS_SF || !this.isScrollEvent(b)) && a.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(
+        b))
+    }), mxUtils.bind(this, function(b) {
+      this.isContainerEvent(b) && a.fireMouseEvent(mxEvent.MOUSE_MOVE,
+        new mxMouseEvent(b))
+    }), mxUtils.bind(this, function(b) {
+      this.isContainerEvent(b) && a.fireMouseEvent(mxEvent.MOUSE_UP, new mxMouseEvent(b))
+    }));
+    mxEvent.addListener(b, "dblclick", mxUtils.bind(this, function(b) {
+      a.dblClick(b)
+    }));
+    var c = function(c) {
+      var e = null;
+      mxClient.IS_TOUCH && (e = mxEvent.getClientX(c), c = mxEvent.getClientY(c), c = mxUtils.convertPoint(b, e, c), e = a.view.getState(a.getCellAt(c.x, c.y)));
+      return e
+    };
+    a.addMouseListener({
+      mouseDown: function(b, c) {
+        a.panningHandler.hideMenu()
+      },
+      mouseMove: function() {},
+      mouseUp: function() {}
+    });
+    this.moveHandler = mxUtils.bind(this, function(b) {
+      null != a.tooltipHandler && a.tooltipHandler.isHideOnHover() && a.tooltipHandler.hide();
+      this.captureDocumentGesture && (a.isMouseDown && !mxEvent.isConsumed(b)) && a.fireMouseEvent(mxEvent.MOUSE_MOVE, new mxMouseEvent(b, c(b)))
+    });
+    this.endHandler = mxUtils.bind(this, function(b) {
+      this.captureDocumentGesture && a.fireMouseEvent(mxEvent.MOUSE_UP, new mxMouseEvent(b))
+    });
+    mxEvent.addGestureListeners(document, null, this.moveHandler, this.endHandler)
+  }
 };
 mxGraphView.prototype.createHtml = function() {
-    var a = this.graph.container;
-    null != a && (this.canvas = this.createHtmlPane("100%", "100%"), this.backgroundPane = this.createHtmlPane("1px", "1px"), this.drawPane = this.createHtmlPane("1px", "1px"), this.overlayPane = this.createHtmlPane("1px", "1px"), this.canvas.appendChild(this.backgroundPane), this.canvas.appendChild(this.drawPane), this.canvas.appendChild(this.overlayPane), a.appendChild(this.canvas), mxClient.IS_QUIRKS && (a = mxUtils.bind(this, function(a) {
-        a = this.getGraphBounds();
-        this.updateHtmlCanvasSize(a.x + a.width + this.graph.border, a.y + a.height + this.graph.border)
+  var a = this.graph.container;
+  null != a && (this.canvas = this.createHtmlPane("100%", "100%"), this.backgroundPane = this.createHtmlPane("1px", "1px"), this.drawPane = this.createHtmlPane("1px", "1px"), this.overlayPane =
+    this.createHtmlPane("1px", "1px"), this.canvas.appendChild(this.backgroundPane), this.canvas.appendChild(this.drawPane), this.canvas.appendChild(this.overlayPane), a.appendChild(this.canvas),
+    mxClient.IS_QUIRKS && (a = mxUtils.bind(this, function(a) {
+      a = this.getGraphBounds();
+      this.updateHtmlCanvasSize(a.x + a.width + this.graph.border, a.y + a.height + this.graph.border)
     }), mxEvent.addListener(window, "resize", a)))
 };
 mxGraphView.prototype.updateHtmlCanvasSize = function(a, b) {
-    if (null != this.graph.container) {
-        var c = this.graph.container.offsetHeight;
-        this.canvas.style.width = this.graph.container.offsetWidth < a ? a + "px" : "100%";
-        this.canvas.style.height = c < b ? b + "px" : "100%"
-    }
+  if (null != this.graph.container) {
+    var c = this.graph.container.offsetHeight;
+    this.canvas.style.width = this.graph.container.offsetWidth < a ? a + "px" : "100%";
+    this.canvas.style.height = c < b ? b + "px" : "100%"
+  }
 };
 mxGraphView.prototype.createHtmlPane = function(a, b) {
-    var c = document.createElement("DIV");
-    null != a && null != b ? (c.style.position = "absolute", c.style.left = "0px", c.style.top = "0px", c.style.width = a, c.style.height = b) : c.style.position = "relative";
-    return c
+  var c = document.createElement("DIV");
+  null != a && null != b ? (c.style.position = "absolute", c.style.left = "0px", c.style.top = "0px", c.style.width = a, c.style.height = b) : c.style.position = "relative";
+  return c
 };
 mxGraphView.prototype.createVml = function() {
-    var a = this.graph.container;
-    if (null != a) {
-        var b = a.offsetWidth,
-            c = a.offsetHeight;
-        this.canvas = this.createVmlPane(b, c);
-        this.backgroundPane = this.createVmlPane(b, c);
-        this.drawPane = this.createVmlPane(b, c);
-        this.overlayPane = this.createVmlPane(b, c);
-        this.canvas.appendChild(this.backgroundPane);
-        this.canvas.appendChild(this.drawPane);
-        this.canvas.appendChild(this.overlayPane);
-        a.appendChild(this.canvas)
-    }
+  var a = this.graph.container;
+  if (null != a) {
+    var b = a.offsetWidth,
+      c = a.offsetHeight;
+    this.canvas = this.createVmlPane(b, c);
+    this.backgroundPane = this.createVmlPane(b, c);
+    this.drawPane = this.createVmlPane(b, c);
+    this.overlayPane = this.createVmlPane(b, c);
+    this.canvas.appendChild(this.backgroundPane);
+    this.canvas.appendChild(this.drawPane);
+    this.canvas.appendChild(this.overlayPane);
+    a.appendChild(this.canvas)
+  }
 };
 mxGraphView.prototype.createVmlPane = function(a, b) {
-    var c = document.createElement(mxClient.VML_PREFIX + ":group");
-    c.style.position = "absolute";
-    c.style.left = "0px";
-    c.style.top = "0px";
-    c.style.width = a + "px";
-    c.style.height = b + "px";
-    c.setAttribute("coordsize", a + "," + b);
-    c.setAttribute("coordorigin", "0,0");
-    return c
+  var c = document.createElement(mxClient.VML_PREFIX + ":group");
+  c.style.position = "absolute";
+  c.style.left = "0px";
+  c.style.top = "0px";
+  c.style.width = a + "px";
+  c.style.height = b + "px";
+  c.setAttribute("coordsize", a + "," + b);
+  c.setAttribute("coordorigin", "0,0");
+  return c
 };
 mxGraphView.prototype.createSvg = function() {
-    var a = this.graph.container;
-    this.canvas = document.createElementNS(mxConstants.NS_SVG, "g");
-    this.backgroundPane = document.createElementNS(mxConstants.NS_SVG, "g");
-    this.canvas.appendChild(this.backgroundPane);
-    this.drawPane = document.createElementNS(mxConstants.NS_SVG, "g");
-    this.canvas.appendChild(this.drawPane);
-    this.overlayPane = document.createElementNS(mxConstants.NS_SVG, "g");
-    this.canvas.appendChild(this.overlayPane);
-    var b = document.createElementNS(mxConstants.NS_SVG,
-        "svg");
-    b.style.width = "100%";
-    b.style.height = "100%";
-    b.style.display = "block";
-    b.appendChild(this.canvas);
-    null != a && (a.appendChild(b), "static" == mxUtils.getCurrentStyle(a).position && (a.style.position = "relative"))
+  var a = this.graph.container;
+  this.canvas = document.createElementNS(mxConstants.NS_SVG, "g");
+  this.backgroundPane = document.createElementNS(mxConstants.NS_SVG, "g");
+  this.canvas.appendChild(this.backgroundPane);
+  this.drawPane = document.createElementNS(mxConstants.NS_SVG, "g");
+  this.canvas.appendChild(this.drawPane);
+  this.overlayPane = document.createElementNS(mxConstants.NS_SVG, "g");
+  this.canvas.appendChild(this.overlayPane);
+  var b = document.createElementNS(mxConstants.NS_SVG,
+    "svg");
+  b.style.width = "100%";
+  b.style.height = "100%";
+  b.style.display = "block";
+  b.appendChild(this.canvas);
+  null != a && (a.appendChild(b), "static" == mxUtils.getCurrentStyle(a).position && (a.style.position = "relative"))
 };
 mxGraphView.prototype.destroy = function() {
-    var a = null != this.canvas ? this.canvas.ownerSVGElement : null;
-    null == a && (a = this.canvas);
-    null != a && null != a.parentNode && (this.clear(this.currentRoot, !0), mxEvent.removeGestureListeners(document, null, this.moveHandler, this.endHandler), mxEvent.release(this.graph.container), a.parentNode.removeChild(a), this.overlayPane = this.drawPane = this.backgroundPane = this.canvas = this.endHandler = this.moveHandler = null)
+  var a = null != this.canvas ? this.canvas.ownerSVGElement : null;
+  null == a && (a = this.canvas);
+  null != a && null != a.parentNode && (this.clear(this.currentRoot, !0), mxEvent.removeGestureListeners(document, null, this.moveHandler, this.endHandler), mxEvent.release(this.graph.container), a
+    .parentNode.removeChild(a), this.overlayPane = this.drawPane = this.backgroundPane = this.canvas = this.endHandler = this.moveHandler = null)
 };
 
 function mxCurrentRootChange(a, b) {
-    this.view = a;
-    this.previous = this.root = b;
-    this.isUp = null == b;
-    if (!this.isUp)
-        for (var c = this.view.currentRoot, d = this.view.graph.getModel(); null != c;) {
-            if (c == b) {
-                this.isUp = !0;
-                break
-            }
-            c = d.getParent(c)
-        }
+  this.view = a;
+  this.previous = this.root = b;
+  this.isUp = null == b;
+  if (!this.isUp)
+    for (var c = this.view.currentRoot, d = this.view.graph.getModel(); null != c;) {
+      if (c == b) {
+        this.isUp = !0;
+        break
+      }
+      c = d.getParent(c)
+    }
 }
 mxCurrentRootChange.prototype.execute = function() {
-    var a = this.view.currentRoot;
-    this.view.currentRoot = this.previous;
-    this.previous = a;
-    a = this.view.graph.getTranslateForRoot(this.view.currentRoot);
-    null != a && (this.view.translate = new mxPoint(-a.x, -a.y));
-    this.view.fireEvent(new mxEventObject(this.isUp ? mxEvent.UP : mxEvent.DOWN, "root", this.view.currentRoot, "previous", this.previous));
-    this.isUp ? (this.view.clear(this.view.currentRoot, !0), this.view.validate()) : this.view.refresh();
-    this.isUp = !this.isUp
+  var a = this.view.currentRoot;
+  this.view.currentRoot = this.previous;
+  this.previous = a;
+  a = this.view.graph.getTranslateForRoot(this.view.currentRoot);
+  null != a && (this.view.translate = new mxPoint(-a.x, -a.y));
+  this.view.fireEvent(new mxEventObject(this.isUp ? mxEvent.UP : mxEvent.DOWN, "root", this.view.currentRoot, "previous", this.previous));
+  this.isUp ? (this.view.clear(this.view.currentRoot, !0), this.view.validate()) : this.view.refresh();
+  this.isUp = !this.isUp
 };
 
 function mxGraph(a, b, c, d) {
-    this.mouseListeners = null;
-    this.renderHint = c;
-    this.dialect = mxClient.IS_SVG ? mxConstants.DIALECT_SVG : c == mxConstants.RENDERING_HINT_EXACT && mxClient.IS_VML ? mxConstants.DIALECT_VML : c == mxConstants.RENDERING_HINT_FASTEST ? mxConstants.DIALECT_STRICTHTML : c == mxConstants.RENDERING_HINT_FASTER ? mxConstants.DIALECT_PREFERHTML : mxConstants.DIALECT_MIXEDHTML;
-    this.model = null != b ? b : new mxGraphModel;
-    this.multiplicities = [];
-    this.imageBundles = [];
-    this.cellRenderer = this.createCellRenderer();
-    this.setSelectionModel(this.createSelectionModel());
-    this.setStylesheet(null != d ? d : this.createStylesheet());
-    this.view = this.createGraphView();
-    this.graphModelChangeListener = mxUtils.bind(this, function(a, b) {
-        this.graphModelChanged(b.getProperty("edit").changes)
-    });
-    this.model.addListener(mxEvent.CHANGE, this.graphModelChangeListener);
-    this.createHandlers();
-    null != a && this.init(a);
-    this.view.revalidate()
+  this.mouseListeners = null;
+  this.renderHint = c;
+  this.dialect = mxClient.IS_SVG ? mxConstants.DIALECT_SVG : c == mxConstants.RENDERING_HINT_EXACT && mxClient.IS_VML ? mxConstants.DIALECT_VML : c == mxConstants.RENDERING_HINT_FASTEST ? mxConstants
+    .DIALECT_STRICTHTML : c == mxConstants.RENDERING_HINT_FASTER ? mxConstants.DIALECT_PREFERHTML : mxConstants.DIALECT_MIXEDHTML;
+  this.model = null != b ? b : new mxGraphModel;
+  this.multiplicities = [];
+  this.imageBundles = [];
+  this.cellRenderer = this.createCellRenderer();
+  this.setSelectionModel(this.createSelectionModel());
+  this.setStylesheet(null != d ? d : this.createStylesheet());
+  this.view = this.createGraphView();
+  this.graphModelChangeListener = mxUtils.bind(this, function(a, b) {
+    this.graphModelChanged(b.getProperty("edit").changes)
+  });
+  this.model.addListener(mxEvent.CHANGE, this.graphModelChangeListener);
+  this.createHandlers();
+  null != a && this.init(a);
+  this.view.revalidate()
 }
 mxLoadResources && mxResources.add(mxClient.basePath + "/resources/graph");
 mxGraph.prototype = new mxEventSource;
@@ -11305,2361 +11508,2410 @@ mxGraph.prototype.panDx = 0;
 mxGraph.prototype.panDy = 0;
 mxGraph.prototype.collapsedImage = new mxImage(mxClient.imageBasePath + "/collapsed.gif", 9, 9);
 mxGraph.prototype.expandedImage = new mxImage(mxClient.imageBasePath + "/expanded.gif", 9, 9);
-mxGraph.prototype.warningImage = new mxImage(mxClient.imageBasePath + "/warning" + (mxClient.IS_MAC ? ".png" : ".gif"), 16, 16);
+// mxGraph.prototype.warningImage = new mxImage(mxClient.imageBasePath + "/warning" + (mxClient.IS_MAC ? ".png" : ".gif"), 16, 16);
+mxGraph.prototype.warningImage = new mxImage("/assets/plugins/mxgraph/images/warning.gif", 16, 16);
+
+
 mxGraph.prototype.alreadyConnectedResource = "none" != mxClient.language ? "alreadyConnected" : "";
 mxGraph.prototype.containsValidationErrorsResource = "none" != mxClient.language ? "containsValidationErrors" : "";
 mxGraph.prototype.collapseExpandResource = "none" != mxClient.language ? "collapse-expand" : "";
 mxGraph.prototype.init = function(a) {
-    this.container = a;
-    this.cellEditor = this.createCellEditor();
-    this.view.init();
-    this.sizeDidChange();
-    mxClient.IS_IE && (mxEvent.addListener(window, "unload", mxUtils.bind(this, function() {
-        this.destroy()
-    })), mxEvent.addListener(a, "selectstart", mxUtils.bind(this, function() {
-        return this.isEditing()
-    })));
-    8 == document.documentMode && a.insertAdjacentHTML("beforeend", '\x3cv:group style\x3d"DISPLAY: none;"\x3e\x3c/v:group\x3e')
+  this.container = a;
+  this.cellEditor = this.createCellEditor();
+  this.view.init();
+  this.sizeDidChange();
+  mxClient.IS_IE && (mxEvent.addListener(window, "unload", mxUtils.bind(this, function() {
+    this.destroy()
+  })), mxEvent.addListener(a, "selectstart", mxUtils.bind(this, function() {
+    return this.isEditing()
+  })));
+  8 == document.documentMode && a.insertAdjacentHTML("beforeend", '\x3cv:group style\x3d"DISPLAY: none;"\x3e\x3c/v:group\x3e')
 };
 mxGraph.prototype.createHandlers = function(a) {
-    this.tooltipHandler = new mxTooltipHandler(this);
-    this.tooltipHandler.setEnabled(!1);
-    this.panningHandler = new mxPanningHandler(this);
-    this.panningHandler.panningEnabled = !1;
-    this.selectionCellsHandler = new mxSelectionCellsHandler(this);
-    this.connectionHandler = new mxConnectionHandler(this);
-    this.connectionHandler.setEnabled(!1);
-    this.graphHandler = new mxGraphHandler(this)
+  this.tooltipHandler = new mxTooltipHandler(this);
+  this.tooltipHandler.setEnabled(!1);
+  this.panningHandler = new mxPanningHandler(this);
+  this.panningHandler.panningEnabled = !1;
+  this.selectionCellsHandler = new mxSelectionCellsHandler(this);
+  this.connectionHandler = new mxConnectionHandler(this);
+  this.connectionHandler.setEnabled(!1);
+  this.graphHandler = new mxGraphHandler(this)
 };
 mxGraph.prototype.createSelectionModel = function() {
-    return new mxGraphSelectionModel(this)
+  return new mxGraphSelectionModel(this)
 };
 mxGraph.prototype.createStylesheet = function() {
-    return new mxStylesheet
+  return new mxStylesheet
 };
 mxGraph.prototype.createGraphView = function() {
-    return new mxGraphView(this)
+  return new mxGraphView(this)
 };
 mxGraph.prototype.createCellRenderer = function() {
-    return new mxCellRenderer
+  return new mxCellRenderer
 };
 mxGraph.prototype.createCellEditor = function() {
-    return new mxCellEditor(this)
+  return new mxCellEditor(this)
 };
 mxGraph.prototype.getModel = function() {
-    return this.model
+  return this.model
 };
 mxGraph.prototype.getView = function() {
-    return this.view
+  return this.view
 };
 mxGraph.prototype.getStylesheet = function() {
-    return this.stylesheet
+  return this.stylesheet
 };
 mxGraph.prototype.setStylesheet = function(a) {
-    this.stylesheet = a
+  this.stylesheet = a
 };
 mxGraph.prototype.getSelectionModel = function() {
-    return this.selectionModel
+  return this.selectionModel
 };
 mxGraph.prototype.setSelectionModel = function(a) {
-    this.selectionModel = a
+  this.selectionModel = a
 };
 mxGraph.prototype.getSelectionCellsForChanges = function(a) {
-    for (var b = [], c = 0; c < a.length; c++) {
-        var d = a[c];
-        if (d.constructor != mxRootChange) {
-            var e = null;
-            d instanceof mxChildChange && null == d.previous ? e = d.child : null != d.cell && d.cell instanceof mxCell && (e = d.cell);
-            null != e && 0 > mxUtils.indexOf(b, e) && b.push(e)
-        }
+  for (var b = [], c = 0; c < a.length; c++) {
+    var d = a[c];
+    if (d.constructor != mxRootChange) {
+      var e = null;
+      d instanceof mxChildChange && null == d.previous ? e = d.child : null != d.cell && d.cell instanceof mxCell && (e = d.cell);
+      null != e && 0 > mxUtils.indexOf(b, e) && b.push(e)
     }
-    return this.getModel().getTopmostCells(b)
+  }
+  return this.getModel().getTopmostCells(b)
 };
 mxGraph.prototype.graphModelChanged = function(a) {
-    for (var b = 0; b < a.length; b++) this.processChange(a[b]);
-    this.removeSelectionCells(this.getRemovedCellsForChanges(a));
-    this.view.validate();
-    this.sizeDidChange()
+  for (var b = 0; b < a.length; b++) this.processChange(a[b]);
+  this.removeSelectionCells(this.getRemovedCellsForChanges(a));
+  this.view.validate();
+  this.sizeDidChange()
 };
 mxGraph.prototype.getRemovedCellsForChanges = function(a) {
-    for (var b = [], c = 0; c < a.length; c++) {
-        var d = a[c];
-        if (d instanceof mxRootChange) break;
-        else d instanceof mxChildChange ? null != d.previous && null == d.parent && (b = b.concat(this.model.getDescendants(d.child))) : d instanceof mxVisibleChange && (b = b.concat(this.model.getDescendants(d.cell)))
-    }
-    return b
+  for (var b = [], c = 0; c < a.length; c++) {
+    var d = a[c];
+    if (d instanceof mxRootChange) break;
+    else d instanceof mxChildChange ? null != d.previous && null == d.parent && (b = b.concat(this.model.getDescendants(d.child))) : d instanceof mxVisibleChange && (b = b.concat(this.model.getDescendants(
+      d.cell)))
+  }
+  return b
 };
 mxGraph.prototype.processChange = function(a) {
-    if (a instanceof mxRootChange) this.clearSelection(), this.removeStateForCell(a.previous), this.resetViewOnRootChange && (this.view.scale = 1, this.view.translate.x = 0, this.view.translate.y = 0), this.fireEvent(new mxEventObject(mxEvent.ROOT));
-    else if (a instanceof mxChildChange) {
-        var b = this.model.getParent(a.child);
-        null != b ? this.view.invalidate(a.child, !0, !1, null != a.previous) : (this.removeStateForCell(a.child), this.view.currentRoot == a.child && this.home());
-        b != a.previous &&
-            (null != b && this.view.invalidate(b, !1, !1), null != a.previous && this.view.invalidate(a.previous, !1, !1))
-    } else a instanceof mxTerminalChange || a instanceof mxGeometryChange ? this.view.invalidate(a.cell) : a instanceof mxValueChange ? this.view.invalidate(a.cell, !1, !1) : a instanceof mxStyleChange ? (this.view.invalidate(a.cell, !0, !0, !1), this.view.removeState(a.cell)) : null != a.cell && a.cell instanceof mxCell && this.removeStateForCell(a.cell)
+  if (a instanceof mxRootChange) this.clearSelection(), this.removeStateForCell(a.previous), this.resetViewOnRootChange && (this.view.scale = 1, this.view.translate.x = 0, this.view.translate.y = 0),
+    this.fireEvent(new mxEventObject(mxEvent.ROOT));
+  else if (a instanceof mxChildChange) {
+    var b = this.model.getParent(a.child);
+    null != b ? this.view.invalidate(a.child, !0, !1, null != a.previous) : (this.removeStateForCell(a.child), this.view.currentRoot == a.child && this.home());
+    b != a.previous &&
+      (null != b && this.view.invalidate(b, !1, !1), null != a.previous && this.view.invalidate(a.previous, !1, !1))
+  } else a instanceof mxTerminalChange || a instanceof mxGeometryChange ? this.view.invalidate(a.cell) : a instanceof mxValueChange ? this.view.invalidate(a.cell, !1, !1) : a instanceof mxStyleChange ?
+    (this.view.invalidate(a.cell, !0, !0, !1), this.view.removeState(a.cell)) : null != a.cell && a.cell instanceof mxCell && this.removeStateForCell(a.cell)
 };
 mxGraph.prototype.removeStateForCell = function(a) {
-    for (var b = this.model.getChildCount(a), c = 0; c < b; c++) this.removeStateForCell(this.model.getChildAt(a, c));
-    this.view.removeState(a)
+  for (var b = this.model.getChildCount(a), c = 0; c < b; c++) this.removeStateForCell(this.model.getChildAt(a, c));
+  this.view.removeState(a)
 };
 mxGraph.prototype.addCellOverlay = function(a, b) {
-    null == a.overlays && (a.overlays = []);
-    a.overlays.push(b);
-    var c = this.view.getState(a);
-    null != c && this.cellRenderer.redraw(c);
-    this.fireEvent(new mxEventObject(mxEvent.ADD_OVERLAY, "cell", a, "overlay", b));
-    return b
+  null == a.overlays && (a.overlays = []);
+  a.overlays.push(b);
+  var c = this.view.getState(a);
+  null != c && this.cellRenderer.redraw(c);
+  this.fireEvent(new mxEventObject(mxEvent.ADD_OVERLAY, "cell", a, "overlay", b));
+  return b
 };
 mxGraph.prototype.getCellOverlays = function(a) {
-    return a.overlays
+  return a.overlays
 };
 mxGraph.prototype.removeCellOverlay = function(a, b) {
-    if (null == b) this.removeCellOverlays(a);
-    else {
-        var c = mxUtils.indexOf(a.overlays, b);
-        0 <= c ? (a.overlays.splice(c, 1), 0 == a.overlays.length && (a.overlays = null), c = this.view.getState(a), null != c && this.cellRenderer.redraw(c), this.fireEvent(new mxEventObject(mxEvent.REMOVE_OVERLAY, "cell", a, "overlay", b))) : b = null
-    }
-    return b
+  if (null == b) this.removeCellOverlays(a);
+  else {
+    var c = mxUtils.indexOf(a.overlays, b);
+    0 <= c ? (a.overlays.splice(c, 1), 0 == a.overlays.length && (a.overlays = null), c = this.view.getState(a), null != c && this.cellRenderer.redraw(c), this.fireEvent(new mxEventObject(mxEvent.REMOVE_OVERLAY,
+      "cell", a, "overlay", b))) : b = null
+  }
+  return b
 };
 mxGraph.prototype.removeCellOverlays = function(a) {
-    var b = a.overlays;
-    if (null != b) {
-        a.overlays = null;
-        var c = this.view.getState(a);
-        null != c && this.cellRenderer.redraw(c);
-        for (c = 0; c < b.length; c++) this.fireEvent(new mxEventObject(mxEvent.REMOVE_OVERLAY, "cell", a, "overlay", b[c]))
-    }
-    return b
+  var b = a.overlays;
+  if (null != b) {
+    a.overlays = null;
+    var c = this.view.getState(a);
+    null != c && this.cellRenderer.redraw(c);
+    for (c = 0; c < b.length; c++) this.fireEvent(new mxEventObject(mxEvent.REMOVE_OVERLAY, "cell", a, "overlay", b[c]))
+  }
+  return b
 };
 mxGraph.prototype.clearCellOverlays = function(a) {
-    a = null != a ? a : this.model.getRoot();
-    this.removeCellOverlays(a);
-    for (var b = this.model.getChildCount(a), c = 0; c < b; c++) {
-        var d = this.model.getChildAt(a, c);
-        this.clearCellOverlays(d)
-    }
+  a = null != a ? a : this.model.getRoot();
+  this.removeCellOverlays(a);
+  for (var b = this.model.getChildCount(a), c = 0; c < b; c++) {
+    var d = this.model.getChildAt(a, c);
+    this.clearCellOverlays(d)
+  }
 };
 mxGraph.prototype.setCellWarning = function(a, b, c, d) {
-    if (null != b && 0 < b.length) return c = null != c ? c : this.warningImage, b = new mxCellOverlay(c, "\x3cfont color\x3dred\x3e" + b + "\x3c/font\x3e"), d && b.addListener(mxEvent.CLICK, mxUtils.bind(this, function(b, c) {
-        this.isEnabled() && this.setSelectionCell(a)
+  if (null != b && 0 < b.length) return c = null != c ? c : this.warningImage, b = new mxCellOverlay(c, "\x3cfont color\x3dred\x3e" + b + "\x3c/font\x3e"), d && b.addListener(mxEvent.CLICK, mxUtils
+    .bind(this, function(b, c) {
+      this.isEnabled() && this.setSelectionCell(a)
     })), this.addCellOverlay(a, b);
-    this.removeCellOverlays(a);
-    return null
+  this.removeCellOverlays(a);
+  return null
 };
 mxGraph.prototype.startEditing = function(a) {
-    this.startEditingAtCell(null, a)
+  this.startEditingAtCell(null, a)
 };
 mxGraph.prototype.startEditingAtCell = function(a, b) {
-    null == a && (a = this.getSelectionCell(), null != a && !this.isCellEditable(a) && (a = null));
-    null != a && (this.fireEvent(new mxEventObject(mxEvent.START_EDITING, "cell", a, "event", b)), this.cellEditor.startEditing(a, b))
+  null == a && (a = this.getSelectionCell(), null != a && !this.isCellEditable(a) && (a = null));
+  null != a && (this.fireEvent(new mxEventObject(mxEvent.START_EDITING, "cell", a, "event", b)), this.cellEditor.startEditing(a, b))
 };
 mxGraph.prototype.getEditingValue = function(a, b) {
-    return this.convertValueToString(a)
+  return this.convertValueToString(a)
 };
 mxGraph.prototype.stopEditing = function(a) {
-    this.cellEditor.stopEditing(a)
+  this.cellEditor.stopEditing(a)
 };
 mxGraph.prototype.labelChanged = function(a, b, c) {
-    this.model.beginUpdate();
-    try {
-        this.cellLabelChanged(a, b, this.isAutoSizeCell(a)), this.fireEvent(new mxEventObject(mxEvent.LABEL_CHANGED, "cell", a, "value", b, "event", c))
-    } finally {
-        this.model.endUpdate()
-    }
-    return a
+  this.model.beginUpdate();
+  try {
+    this.cellLabelChanged(a, b, this.isAutoSizeCell(a)), this.fireEvent(new mxEventObject(mxEvent.LABEL_CHANGED, "cell", a, "value", b, "event", c))
+  } finally {
+    this.model.endUpdate()
+  }
+  return a
 };
 mxGraph.prototype.cellLabelChanged = function(a, b, c) {
-    this.model.beginUpdate();
-    try {
-        this.model.setValue(a, b), c && this.cellSizeUpdated(a, !1)
-    } finally {
-        this.model.endUpdate()
-    }
+  this.model.beginUpdate();
+  try {
+    this.model.setValue(a, b), c && this.cellSizeUpdated(a, !1)
+  } finally {
+    this.model.endUpdate()
+  }
 };
 mxGraph.prototype.escape = function(a) {
-    this.stopEditing(!0);
-    this.connectionHandler.reset();
-    this.graphHandler.reset();
-    a = this.getSelectionCells();
-    for (var b = 0; b < a.length; b++) {
-        var c = this.view.getState(a[b]);
-        null != c && null != c.handler && c.handler.reset()
-    }
+  this.stopEditing(!0);
+  this.connectionHandler.reset();
+  this.graphHandler.reset();
+  a = this.getSelectionCells();
+  for (var b = 0; b < a.length; b++) {
+    var c = this.view.getState(a[b]);
+    null != c && null != c.handler && c.handler.reset()
+  }
 };
 mxGraph.prototype.click = function(a) {
-    var b = a.getEvent(),
-        c = a.getCell(),
-        d = new mxEventObject(mxEvent.CLICK, "event", b, "cell", c);
-    a.isConsumed() && d.consume();
-    this.fireEvent(d);
-    this.isEnabled() && (!mxEvent.isConsumed(b) && !d.isConsumed()) && (null != c ? this.selectCellForEvent(c, b) : (c = null, this.isSwimlaneSelectionEnabled() && (c = this.getSwimlaneAt(a.getGraphX(), a.getGraphY())), null != c ? this.selectCellForEvent(c, b) : this.isToggleEvent(b) || this.clearSelection()))
+  var b = a.getEvent(),
+    c = a.getCell(),
+    d = new mxEventObject(mxEvent.CLICK, "event", b, "cell", c);
+  a.isConsumed() && d.consume();
+  this.fireEvent(d);
+  this.isEnabled() && (!mxEvent.isConsumed(b) && !d.isConsumed()) && (null != c ? this.selectCellForEvent(c, b) : (c = null, this.isSwimlaneSelectionEnabled() && (c = this.getSwimlaneAt(a.getGraphX(),
+    a.getGraphY())), null != c ? this.selectCellForEvent(c, b) : this.isToggleEvent(b) || this.clearSelection()))
 };
 mxGraph.prototype.dblClick = function(a, b) {
-    var c = new mxEventObject(mxEvent.DOUBLE_CLICK, "event", a, "cell", b);
-    this.fireEvent(c);
-    this.isEnabled() && (!mxEvent.isConsumed(a) && !c.isConsumed() && null != b && this.isCellEditable(b)) && this.startEditingAtCell(b, a)
+  var c = new mxEventObject(mxEvent.DOUBLE_CLICK, "event", a, "cell", b);
+  this.fireEvent(c);
+  this.isEnabled() && (!mxEvent.isConsumed(a) && !c.isConsumed() && null != b && this.isCellEditable(b)) && this.startEditingAtCell(b, a)
 };
 mxGraph.prototype.scrollPointToVisible = function(a, b, c, d) {
-    if (!this.timerAutoScroll && (this.ignoreScrollbars || mxUtils.hasScrollbars(this.container))) {
-        var e = this.container;
-        d = null != d ? d : 20;
-        if (a >= e.scrollLeft && b >= e.scrollTop && a <= e.scrollLeft + e.clientWidth && b <= e.scrollTop + e.clientHeight) {
-            var f = e.scrollLeft + e.clientWidth - a;
-            if (f < d) {
-                if (a = e.scrollLeft, e.scrollLeft += d - f, c && a == e.scrollLeft) {
-                    if (this.dialect == mxConstants.DIALECT_SVG) {
-                        a = this.view.getDrawPane().ownerSVGElement;
-                        var g = this.container.scrollWidth + d - f
-                    } else g =
-                        Math.max(e.clientWidth, e.scrollWidth) + d - f, a = this.view.getCanvas();
-                    a.style.width = g + "px";
-                    e.scrollLeft += d - f
-                }
-            } else f = a - e.scrollLeft, f < d && (e.scrollLeft -= d - f);
-            f = e.scrollTop + e.clientHeight - b;
-            f < d ? (a = e.scrollTop, e.scrollTop += d - f, a == e.scrollTop && c && (this.dialect == mxConstants.DIALECT_SVG ? (a = this.view.getDrawPane().ownerSVGElement, b = this.container.scrollHeight + d - f) : (b = Math.max(e.clientHeight, e.scrollHeight) + d - f, a = this.view.getCanvas()), a.style.height = b + "px", e.scrollTop += d - f)) : (f = b - e.scrollTop, f < d && (e.scrollTop -=
-                d - f))
+  if (!this.timerAutoScroll && (this.ignoreScrollbars || mxUtils.hasScrollbars(this.container))) {
+    var e = this.container;
+    d = null != d ? d : 20;
+    if (a >= e.scrollLeft && b >= e.scrollTop && a <= e.scrollLeft + e.clientWidth && b <= e.scrollTop + e.clientHeight) {
+      var f = e.scrollLeft + e.clientWidth - a;
+      if (f < d) {
+        if (a = e.scrollLeft, e.scrollLeft += d - f, c && a == e.scrollLeft) {
+          if (this.dialect == mxConstants.DIALECT_SVG) {
+            a = this.view.getDrawPane().ownerSVGElement;
+            var g = this.container.scrollWidth + d - f
+          } else g =
+            Math.max(e.clientWidth, e.scrollWidth) + d - f, a = this.view.getCanvas();
+          a.style.width = g + "px";
+          e.scrollLeft += d - f
         }
-    } else this.allowAutoPanning && !this.panningHandler.active && (null == this.panningManager && (this.panningManager = this.createPanningManager()), this.panningManager.panTo(a + this.panDx, b + this.panDy))
+      } else f = a - e.scrollLeft, f < d && (e.scrollLeft -= d - f);
+      f = e.scrollTop + e.clientHeight - b;
+      f < d ? (a = e.scrollTop, e.scrollTop += d - f, a == e.scrollTop && c && (this.dialect == mxConstants.DIALECT_SVG ? (a = this.view.getDrawPane().ownerSVGElement, b = this.container.scrollHeight +
+        d - f) : (b = Math.max(e.clientHeight, e.scrollHeight) + d - f, a = this.view.getCanvas()), a.style.height = b + "px", e.scrollTop += d - f)) : (f = b - e.scrollTop, f < d && (e.scrollTop -=
+        d - f))
+    }
+  } else this.allowAutoPanning && !this.panningHandler.active && (null == this.panningManager && (this.panningManager = this.createPanningManager()), this.panningManager.panTo(a + this.panDx, b +
+    this.panDy))
 };
 mxGraph.prototype.createPanningManager = function() {
-    return new mxPanningManager(this)
+  return new mxPanningManager(this)
 };
 mxGraph.prototype.getBorderSizes = function() {
-    function a(a) {
-        var b = 0,
-            b = "thin" == a ? 2 : "medium" == a ? 4 : "thick" == a ? 6 : parseInt(a);
-        isNaN(b) && (b = 0);
-        return b
-    }
-    var b = mxUtils.getCurrentStyle(this.container),
-        c = new mxRectangle;
-    c.x = a(b.borderLeftWidth) + parseInt(b.paddingLeft || 0);
-    c.y = a(b.borderTopWidth) + parseInt(b.paddingTop || 0);
-    c.width = a(b.borderRightWidth) + parseInt(b.paddingRight || 0);
-    c.height = a(b.borderBottomWidth) + parseInt(b.paddingBottom || 0);
-    return c
+  function a(a) {
+    var b = 0,
+      b = "thin" == a ? 2 : "medium" == a ? 4 : "thick" == a ? 6 : parseInt(a);
+    isNaN(b) && (b = 0);
+    return b
+  }
+  var b = mxUtils.getCurrentStyle(this.container),
+    c = new mxRectangle;
+  c.x = a(b.borderLeftWidth) + parseInt(b.paddingLeft || 0);
+  c.y = a(b.borderTopWidth) + parseInt(b.paddingTop || 0);
+  c.width = a(b.borderRightWidth) + parseInt(b.paddingRight || 0);
+  c.height = a(b.borderBottomWidth) + parseInt(b.paddingBottom || 0);
+  return c
 };
 mxGraph.prototype.getPreferredPageSize = function(a, b, c) {
-    a = this.view.scale;
-    var d = this.view.translate,
-        e = this.pageFormat,
-        f = a * this.pageScale,
-        e = new mxRectangle(0, 0, e.width * f, e.height * f);
-    b = this.pageBreaksVisible ? Math.ceil(b / e.width) : 1;
-    c = this.pageBreaksVisible ? Math.ceil(c / e.height) : 1;
-    return new mxRectangle(0, 0, b * e.width + 2 + d.x / a, c * e.height + 2 + d.y / a)
+  a = this.view.scale;
+  var d = this.view.translate,
+    e = this.pageFormat,
+    f = a * this.pageScale,
+    e = new mxRectangle(0, 0, e.width * f, e.height * f);
+  b = this.pageBreaksVisible ? Math.ceil(b / e.width) : 1;
+  c = this.pageBreaksVisible ? Math.ceil(c / e.height) : 1;
+  return new mxRectangle(0, 0, b * e.width + 2 + d.x / a, c * e.height + 2 + d.y / a)
 };
 mxGraph.prototype.sizeDidChange = function() {
-    var a = this.getGraphBounds();
-    if (null != this.container) {
-        var b = this.getBorder(),
-            c = Math.max(0, a.x + a.width + 1 + b),
-            b = Math.max(0, a.y + a.height + 1 + b);
-        null != this.minimumContainerSize && (c = Math.max(c, this.minimumContainerSize.width), b = Math.max(b, this.minimumContainerSize.height));
-        this.resizeContainer && this.doResizeContainer(c, b);
-        if (this.preferPageSize || !mxClient.IS_IE && this.pageVisible) {
-            var d = this.getPreferredPageSize(a, c, b);
-            null != d && (c = d.width, b = d.height)
-        }
-        null != this.minimumGraphSize &&
-            (c = Math.max(c, this.minimumGraphSize.width * this.view.scale), b = Math.max(b, this.minimumGraphSize.height * this.view.scale));
-        c = Math.ceil(c - 1);
-        b = Math.ceil(b - 1);
-        this.dialect == mxConstants.DIALECT_SVG ? (d = this.view.getDrawPane().ownerSVGElement, d.style.minWidth = Math.max(1, c) + "px", d.style.minHeight = Math.max(1, b) + "px", d.style.width = "100%", d.style.height = "100%") : mxClient.IS_QUIRKS ? this.view.updateHtmlCanvasSize(Math.max(1, c), Math.max(1, b)) : (this.view.canvas.style.minWidth = Math.max(1, c) + "px", this.view.canvas.style.minHeight =
-            Math.max(1, b) + "px");
-        this.updatePageBreaks(this.pageBreaksVisible, c - 1, b - 1)
-    }
-    this.fireEvent(new mxEventObject(mxEvent.SIZE, "bounds", a))
+  var a = this.getGraphBounds();
+  if (null != this.container) {
+    var b = this.getBorder(),
+      c = Math.max(0, a.x + a.width + 1 + b),
+      b = Math.max(0, a.y + a.height + 1 + b);
+    null != this.minimumContainerSize && (c = Math.max(c, this.minimumContainerSize.width), b = Math.max(b, this.minimumContainerSize.height));
+    this.resizeContainer && this.doResizeContainer(c, b);
+    if (this.preferPageSize || !mxClient.IS_IE && this.pageVisible) {
+      var d = this.getPreferredPageSize(a, c, b);
+      null != d && (c = d.width, b = d.height)
+    }
+    null != this.minimumGraphSize &&
+      (c = Math.max(c, this.minimumGraphSize.width * this.view.scale), b = Math.max(b, this.minimumGraphSize.height * this.view.scale));
+    c = Math.ceil(c - 1);
+    b = Math.ceil(b - 1);
+    this.dialect == mxConstants.DIALECT_SVG ? (d = this.view.getDrawPane().ownerSVGElement, d.style.minWidth = Math.max(1, c) + "px", d.style.minHeight = Math.max(1, b) + "px", d.style.width =
+      "100%", d.style.height = "100%") : mxClient.IS_QUIRKS ? this.view.updateHtmlCanvasSize(Math.max(1, c), Math.max(1, b)) : (this.view.canvas.style.minWidth = Math.max(1, c) + "px", this.view.canvas
+      .style.minHeight =
+      Math.max(1, b) + "px");
+    this.updatePageBreaks(this.pageBreaksVisible, c - 1, b - 1)
+  }
+  this.fireEvent(new mxEventObject(mxEvent.SIZE, "bounds", a))
 };
 mxGraph.prototype.doResizeContainer = function(a, b) {
-    if (mxClient.IS_IE)
-        if (mxClient.IS_QUIRKS) {
-            var c = this.getBorderSizes();
-            a += Math.max(2, c.x + c.width + 1);
-            b += Math.max(2, c.y + c.height + 1)
-        } else 9 <= document.documentMode ? (a += 3, b += 5) : (a += 1, b += 1);
-    else b += 1;
-    null != this.maximumContainerSize && (a = Math.min(this.maximumContainerSize.width, a), b = Math.min(this.maximumContainerSize.height, b));
-    this.container.style.width = Math.ceil(a) + "px";
-    this.container.style.height = Math.ceil(b) + "px"
+  if (mxClient.IS_IE)
+    if (mxClient.IS_QUIRKS) {
+      var c = this.getBorderSizes();
+      a += Math.max(2, c.x + c.width + 1);
+      b += Math.max(2, c.y + c.height + 1)
+    } else 9 <= document.documentMode ? (a += 3, b += 5) : (a += 1, b += 1);
+  else b += 1;
+  null != this.maximumContainerSize && (a = Math.min(this.maximumContainerSize.width, a), b = Math.min(this.maximumContainerSize.height, b));
+  this.container.style.width = Math.ceil(a) + "px";
+  this.container.style.height = Math.ceil(b) + "px"
 };
 mxGraph.prototype.updatePageBreaks = function(a, b, c) {
-    var d = this.view.scale,
-        e = this.view.translate,
-        f = this.pageFormat,
-        g = d * this.pageScale,
-        e = new mxRectangle(d * e.x, d * e.y, f.width * g, f.height * g);
-    a = a && Math.min(e.width, e.height) > this.minPageBreakDist;
-    e.x = mxUtils.mod(e.x, e.width);
-    e.y = mxUtils.mod(e.y, e.height);
-    f = a ? Math.ceil((b - e.x) / e.width) : 0;
-    a = a ? Math.ceil((c - e.y) / e.height) : 0;
-    null == this.horizontalPageBreaks && 0 < f && (this.horizontalPageBreaks = []);
-    if (null != this.horizontalPageBreaks) {
-        for (g = 0; g <= f; g++) {
-            var h = [new mxPoint(e.x +
-                g * e.width, 1), new mxPoint(e.x + g * e.width, c)];
-            null != this.horizontalPageBreaks[g] ? (this.horizontalPageBreaks[g].scale = 1, this.horizontalPageBreaks[g].points = h, this.horizontalPageBreaks[g].redraw()) : (h = new mxPolyline(h, this.pageBreakColor, this.scale), h.dialect = this.dialect, h.isDashed = this.pageBreakDashed, h.scale = d, h.init(this.view.backgroundPane), h.redraw(), this.horizontalPageBreaks[g] = h)
-        }
-        for (g = f; g < this.horizontalPageBreaks.length; g++) this.horizontalPageBreaks[g].destroy();
-        this.horizontalPageBreaks.splice(f,
-            this.horizontalPageBreaks.length - f)
-    }
-    null == this.verticalPageBreaks && 0 < a && (this.verticalPageBreaks = []);
-    if (null != this.verticalPageBreaks) {
-        for (g = 0; g <= a; g++) h = [new mxPoint(1, e.y + g * e.height), new mxPoint(b, e.y + g * e.height)], null != this.verticalPageBreaks[g] ? (this.verticalPageBreaks[g].scale = 1, this.verticalPageBreaks[g].points = h, this.verticalPageBreaks[g].redraw()) : (h = new mxPolyline(h, this.pageBreakColor, d), h.dialect = this.dialect, h.isDashed = this.pageBreakDashed, h.scale = d, h.init(this.view.backgroundPane), h.redraw(),
-            this.verticalPageBreaks[g] = h);
-        for (g = a; g < this.verticalPageBreaks.length; g++) this.verticalPageBreaks[g].destroy();
-        this.verticalPageBreaks.splice(a, this.verticalPageBreaks.length - a)
-    }
+  var d = this.view.scale,
+    e = this.view.translate,
+    f = this.pageFormat,
+    g = d * this.pageScale,
+    e = new mxRectangle(d * e.x, d * e.y, f.width * g, f.height * g);
+  a = a && Math.min(e.width, e.height) > this.minPageBreakDist;
+  e.x = mxUtils.mod(e.x, e.width);
+  e.y = mxUtils.mod(e.y, e.height);
+  f = a ? Math.ceil((b - e.x) / e.width) : 0;
+  a = a ? Math.ceil((c - e.y) / e.height) : 0;
+  null == this.horizontalPageBreaks && 0 < f && (this.horizontalPageBreaks = []);
+  if (null != this.horizontalPageBreaks) {
+    for (g = 0; g <= f; g++) {
+      var h = [new mxPoint(e.x +
+        g * e.width, 1), new mxPoint(e.x + g * e.width, c)];
+      null != this.horizontalPageBreaks[g] ? (this.horizontalPageBreaks[g].scale = 1, this.horizontalPageBreaks[g].points = h, this.horizontalPageBreaks[g].redraw()) : (h = new mxPolyline(h, this.pageBreakColor,
+        this.scale), h.dialect = this.dialect, h.isDashed = this.pageBreakDashed, h.scale = d, h.init(this.view.backgroundPane), h.redraw(), this.horizontalPageBreaks[g] = h)
+    }
+    for (g = f; g < this.horizontalPageBreaks.length; g++) this.horizontalPageBreaks[g].destroy();
+    this.horizontalPageBreaks.splice(f,
+      this.horizontalPageBreaks.length - f)
+  }
+  null == this.verticalPageBreaks && 0 < a && (this.verticalPageBreaks = []);
+  if (null != this.verticalPageBreaks) {
+    for (g = 0; g <= a; g++) h = [new mxPoint(1, e.y + g * e.height), new mxPoint(b, e.y + g * e.height)], null != this.verticalPageBreaks[g] ? (this.verticalPageBreaks[g].scale = 1, this.verticalPageBreaks[
+      g].points = h, this.verticalPageBreaks[g].redraw()) : (h = new mxPolyline(h, this.pageBreakColor, d), h.dialect = this.dialect, h.isDashed = this.pageBreakDashed, h.scale = d, h.init(this.view
+        .backgroundPane), h.redraw(),
+      this.verticalPageBreaks[g] = h);
+    for (g = a; g < this.verticalPageBreaks.length; g++) this.verticalPageBreaks[g].destroy();
+    this.verticalPageBreaks.splice(a, this.verticalPageBreaks.length - a)
+  }
 };
 mxGraph.prototype.getCellStyle = function(a) {
-    var b = this.model.getStyle(a),
-        c = null,
-        c = this.model.isEdge(a) ? this.stylesheet.getDefaultEdgeStyle() : this.stylesheet.getDefaultVertexStyle();
-    null != b && (c = this.postProcessCellStyle(this.stylesheet.getCellStyle(b, c)));
-    null == c && (c = mxGraph.prototype.EMPTY_ARRAY);
-    return c
+  var b = this.model.getStyle(a),
+    c = null,
+    c = this.model.isEdge(a) ? this.stylesheet.getDefaultEdgeStyle() : this.stylesheet.getDefaultVertexStyle();
+  null != b && (c = this.postProcessCellStyle(this.stylesheet.getCellStyle(b, c)));
+  null == c && (c = mxGraph.prototype.EMPTY_ARRAY);
+  return c
 };
 mxGraph.prototype.postProcessCellStyle = function(a) {
-    if (null != a) {
-        var b = a[mxConstants.STYLE_IMAGE],
-            c = this.getImageFromBundles(b);
-        null != c ? a[mxConstants.STYLE_IMAGE] = c : c = b;
-        null != c && "data:image/" == c.substring(0, 11) && (b = c.indexOf(","), 0 < b && (c = c.substring(0, b) + ";base64," + c.substring(b + 1)), a[mxConstants.STYLE_IMAGE] = c)
-    }
-    return a
+  if (null != a) {
+    var b = a[mxConstants.STYLE_IMAGE],
+      c = this.getImageFromBundles(b);
+    null != c ? a[mxConstants.STYLE_IMAGE] = c : c = b;
+    null != c && "data:image/" == c.substring(0, 11) && (b = c.indexOf(","), 0 < b && (c = c.substring(0, b) + ";base64," + c.substring(b + 1)), a[mxConstants.STYLE_IMAGE] = c)
+  }
+  return a
 };
 mxGraph.prototype.setCellStyle = function(a, b) {
-    b = b || this.getSelectionCells();
-    if (null != b) {
-        this.model.beginUpdate();
-        try {
-            for (var c = 0; c < b.length; c++) this.model.setStyle(b[c], a)
-        } finally {
-            this.model.endUpdate()
-        }
+  b = b || this.getSelectionCells();
+  if (null != b) {
+    this.model.beginUpdate();
+    try {
+      for (var c = 0; c < b.length; c++) this.model.setStyle(b[c], a)
+    } finally {
+      this.model.endUpdate()
     }
+  }
 };
 mxGraph.prototype.toggleCellStyle = function(a, b, c) {
-    c = c || this.getSelectionCell();
-    this.toggleCellStyles(a, b, [c])
+  c = c || this.getSelectionCell();
+  this.toggleCellStyles(a, b, [c])
 };
 mxGraph.prototype.toggleCellStyles = function(a, b, c) {
-    b = null != b ? b : !1;
-    c = c || this.getSelectionCells();
-    if (null != c && 0 < c.length) {
-        var d = this.view.getState(c[0]),
-            d = null != d ? d.style : this.getCellStyle(c[0]);
-        null != d && (b = mxUtils.getValue(d, a, b) ? 0 : 1, this.setCellStyles(a, b, c))
-    }
+  b = null != b ? b : !1;
+  c = c || this.getSelectionCells();
+  if (null != c && 0 < c.length) {
+    var d = this.view.getState(c[0]),
+      d = null != d ? d.style : this.getCellStyle(c[0]);
+    null != d && (b = mxUtils.getValue(d, a, b) ? 0 : 1, this.setCellStyles(a, b, c))
+  }
 };
 mxGraph.prototype.setCellStyles = function(a, b, c) {
-    c = c || this.getSelectionCells();
-    mxUtils.setCellStyles(this.model, c, a, b)
+  c = c || this.getSelectionCells();
+  mxUtils.setCellStyles(this.model, c, a, b)
 };
 mxGraph.prototype.toggleCellStyleFlags = function(a, b, c) {
-    this.setCellStyleFlags(a, b, null, c)
+  this.setCellStyleFlags(a, b, null, c)
 };
 mxGraph.prototype.setCellStyleFlags = function(a, b, c, d) {
-    d = d || this.getSelectionCells();
-    if (null != d && 0 < d.length) {
-        if (null == c) {
-            var e = this.view.getState(d[0]),
-                e = null != e ? e.style : this.getCellStyle(d[0]);
-            null != e && (c = (parseInt(e[a] || 0) & b) != b)
-        }
-        mxUtils.setCellStyleFlags(this.model, d, a, b, c)
+  d = d || this.getSelectionCells();
+  if (null != d && 0 < d.length) {
+    if (null == c) {
+      var e = this.view.getState(d[0]),
+        e = null != e ? e.style : this.getCellStyle(d[0]);
+      null != e && (c = (parseInt(e[a] || 0) & b) != b)
     }
+    mxUtils.setCellStyleFlags(this.model, d, a, b, c)
+  }
 };
 mxGraph.prototype.alignCells = function(a, b, c) {
-    null == b && (b = this.getSelectionCells());
-    if (null != b && 1 < b.length) {
-        if (null == c)
-            for (var d = 0; d < b.length; d++) {
-                var e = this.getCellGeometry(b[d]);
-                if (null != e && !this.model.isEdge(b[d]))
-                    if (null == c)
-                        if (a == mxConstants.ALIGN_CENTER) {
-                            c = e.x + e.width / 2;
-                            break
-                        } else if (a == mxConstants.ALIGN_RIGHT) c = e.x + e.width;
-                else if (a == mxConstants.ALIGN_TOP) c = e.y;
-                else if (a == mxConstants.ALIGN_MIDDLE) {
-                    c = e.y + e.height / 2;
-                    break
-                } else c = a == mxConstants.ALIGN_BOTTOM ? e.y + e.height : e.x;
-                else c = a == mxConstants.ALIGN_RIGHT ?
-                    Math.max(c, e.x + e.width) : a == mxConstants.ALIGN_TOP ? Math.min(c, e.y) : a == mxConstants.ALIGN_BOTTOM ? Math.max(c, e.y + e.height) : Math.min(c, e.x)
-            }
-        if (null != c) {
-            this.model.beginUpdate();
-            try {
-                for (d = 0; d < b.length; d++) e = this.getCellGeometry(b[d]), null != e && !this.model.isEdge(b[d]) && (e = e.clone(), a == mxConstants.ALIGN_CENTER ? e.x = c - e.width / 2 : a == mxConstants.ALIGN_RIGHT ? e.x = c - e.width : a == mxConstants.ALIGN_TOP ? e.y = c : a == mxConstants.ALIGN_MIDDLE ? e.y = c - e.height / 2 : a == mxConstants.ALIGN_BOTTOM ? e.y = c - e.height : e.x = c, this.model.setGeometry(b[d],
-                    e));
-                this.fireEvent(new mxEventObject(mxEvent.ALIGN_CELLS, "align", a, "cells", b))
-            } finally {
-                this.model.endUpdate()
-            }
-        }
+  null == b && (b = this.getSelectionCells());
+  if (null != b && 1 < b.length) {
+    if (null == c)
+      for (var d = 0; d < b.length; d++) {
+        var e = this.getCellGeometry(b[d]);
+        if (null != e && !this.model.isEdge(b[d]))
+          if (null == c)
+            if (a == mxConstants.ALIGN_CENTER) {
+              c = e.x + e.width / 2;
+              break
+            } else if (a == mxConstants.ALIGN_RIGHT) c = e.x + e.width;
+        else if (a == mxConstants.ALIGN_TOP) c = e.y;
+        else if (a == mxConstants.ALIGN_MIDDLE) {
+          c = e.y + e.height / 2;
+          break
+        } else c = a == mxConstants.ALIGN_BOTTOM ? e.y + e.height : e.x;
+        else c = a == mxConstants.ALIGN_RIGHT ?
+          Math.max(c, e.x + e.width) : a == mxConstants.ALIGN_TOP ? Math.min(c, e.y) : a == mxConstants.ALIGN_BOTTOM ? Math.max(c, e.y + e.height) : Math.min(c, e.x)
+      }
+    if (null != c) {
+      this.model.beginUpdate();
+      try {
+        for (d = 0; d < b.length; d++) e = this.getCellGeometry(b[d]), null != e && !this.model.isEdge(b[d]) && (e = e.clone(), a == mxConstants.ALIGN_CENTER ? e.x = c - e.width / 2 : a ==
+          mxConstants.ALIGN_RIGHT ? e.x = c - e.width : a == mxConstants.ALIGN_TOP ? e.y = c : a == mxConstants.ALIGN_MIDDLE ? e.y = c - e.height / 2 : a == mxConstants.ALIGN_BOTTOM ? e.y = c - e
+          .height : e.x = c, this.model.setGeometry(b[d],
+            e));
+        this.fireEvent(new mxEventObject(mxEvent.ALIGN_CELLS, "align", a, "cells", b))
+      } finally {
+        this.model.endUpdate()
+      }
     }
-    return b
+  }
+  return b
 };
 mxGraph.prototype.flipEdge = function(a) {
-    if (null != a && null != this.alternateEdgeStyle) {
-        this.model.beginUpdate();
-        try {
-            var b = this.model.getStyle(a);
-            null == b || 0 == b.length ? this.model.setStyle(a, this.alternateEdgeStyle) : this.model.setStyle(a, null);
-            this.resetEdge(a);
-            this.fireEvent(new mxEventObject(mxEvent.FLIP_EDGE, "edge", a))
-        } finally {
-            this.model.endUpdate()
-        }
+  if (null != a && null != this.alternateEdgeStyle) {
+    this.model.beginUpdate();
+    try {
+      var b = this.model.getStyle(a);
+      null == b || 0 == b.length ? this.model.setStyle(a, this.alternateEdgeStyle) : this.model.setStyle(a, null);
+      this.resetEdge(a);
+      this.fireEvent(new mxEventObject(mxEvent.FLIP_EDGE, "edge", a))
+    } finally {
+      this.model.endUpdate()
     }
-    return a
+  }
+  return a
 };
 mxGraph.prototype.addImageBundle = function(a) {
-    this.imageBundles.push(a)
+  this.imageBundles.push(a)
 };
 mxGraph.prototype.removeImageBundle = function(a) {
-    for (var b = [], c = 0; c < this.imageBundles.length; c++) this.imageBundles[c] != a && b.push(this.imageBundles[c]);
-    this.imageBundles = b
+  for (var b = [], c = 0; c < this.imageBundles.length; c++) this.imageBundles[c] != a && b.push(this.imageBundles[c]);
+  this.imageBundles = b
 };
 mxGraph.prototype.getImageFromBundles = function(a) {
-    if (null != a)
-        for (var b = 0; b < this.imageBundles.length; b++) {
-            var c = this.imageBundles[b].getImage(a);
-            if (null != c) return c
-        }
-    return null
+  if (null != a)
+    for (var b = 0; b < this.imageBundles.length; b++) {
+      var c = this.imageBundles[b].getImage(a);
+      if (null != c) return c
+    }
+  return null
 };
 mxGraph.prototype.orderCells = function(a, b) {
-    null == b && (b = mxUtils.sortCells(this.getSelectionCells(), !0));
+  null == b && (b = mxUtils.sortCells(this.getSelectionCells(), !0));
+  this.model.beginUpdate();
+  try {
+    this.cellsOrdered(b, a), this.fireEvent(new mxEventObject(mxEvent.ORDER_CELLS, "back", a, "cells", b))
+  } finally {
+    this.model.endUpdate()
+  }
+  return b
+};
+mxGraph.prototype.cellsOrdered = function(a, b) {
+  if (null != a) {
     this.model.beginUpdate();
     try {
-        this.cellsOrdered(b, a), this.fireEvent(new mxEventObject(mxEvent.ORDER_CELLS, "back", a, "cells", b))
+      for (var c = 0; c < a.length; c++) {
+        var d = this.model.getParent(a[c]);
+        b ? this.model.add(d, a[c], c) : this.model.add(d, a[c], this.model.getChildCount(d) - 1)
+      }
+      this.fireEvent(new mxEventObject(mxEvent.CELLS_ORDERED, "back", b, "cells", a))
     } finally {
-        this.model.endUpdate()
-    }
-    return b
-};
-mxGraph.prototype.cellsOrdered = function(a, b) {
-    if (null != a) {
-        this.model.beginUpdate();
-        try {
-            for (var c = 0; c < a.length; c++) {
-                var d = this.model.getParent(a[c]);
-                b ? this.model.add(d, a[c], c) : this.model.add(d, a[c], this.model.getChildCount(d) - 1)
-            }
-            this.fireEvent(new mxEventObject(mxEvent.CELLS_ORDERED, "back", b, "cells", a))
-        } finally {
-            this.model.endUpdate()
-        }
+      this.model.endUpdate()
     }
+  }
 };
 mxGraph.prototype.groupCells = function(a, b, c) {
-    null == c && (c = mxUtils.sortCells(this.getSelectionCells(), !0));
-    c = this.getCellsForGroup(c);
-    null == a && (a = this.createGroupCell(c));
-    var d = this.getBoundsForGroup(a, c, b);
-    if (0 < c.length && null != d) {
-        var e = this.model.getParent(a);
-        null == e && (e = this.model.getParent(c[0]));
-        this.model.beginUpdate();
-        try {
-            null == this.getCellGeometry(a) && this.model.setGeometry(a, new mxGeometry);
-            var f = this.model.getChildCount(e);
-            this.cellsAdded([a], e, f, null, null, !1);
-            f = this.model.getChildCount(a);
-            this.cellsAdded(c, a, f, null, null, !1, !1);
-            this.cellsMoved(c, -d.x, -d.y, !1, !0);
-            this.cellsResized([a], [d]);
-            this.fireEvent(new mxEventObject(mxEvent.GROUP_CELLS, "group", a, "border", b, "cells", c))
-        } finally {
-            this.model.endUpdate()
-        }
+  null == c && (c = mxUtils.sortCells(this.getSelectionCells(), !0));
+  c = this.getCellsForGroup(c);
+  null == a && (a = this.createGroupCell(c));
+  var d = this.getBoundsForGroup(a, c, b);
+  if (0 < c.length && null != d) {
+    var e = this.model.getParent(a);
+    null == e && (e = this.model.getParent(c[0]));
+    this.model.beginUpdate();
+    try {
+      null == this.getCellGeometry(a) && this.model.setGeometry(a, new mxGeometry);
+      var f = this.model.getChildCount(e);
+      this.cellsAdded([a], e, f, null, null, !1);
+      f = this.model.getChildCount(a);
+      this.cellsAdded(c, a, f, null, null, !1, !1);
+      this.cellsMoved(c, -d.x, -d.y, !1, !0);
+      this.cellsResized([a], [d]);
+      this.fireEvent(new mxEventObject(mxEvent.GROUP_CELLS, "group", a, "border", b, "cells", c))
+    } finally {
+      this.model.endUpdate()
     }
-    return a
+  }
+  return a
 };
 mxGraph.prototype.getCellsForGroup = function(a) {
-    var b = [];
-    if (null != a && 0 < a.length) {
-        var c = this.model.getParent(a[0]);
-        b.push(a[0]);
-        for (var d = 1; d < a.length; d++) this.model.getParent(a[d]) == c && b.push(a[d])
-    }
-    return b
+  var b = [];
+  if (null != a && 0 < a.length) {
+    var c = this.model.getParent(a[0]);
+    b.push(a[0]);
+    for (var d = 1; d < a.length; d++) this.model.getParent(a[d]) == c && b.push(a[d])
+  }
+  return b
 };
 mxGraph.prototype.getBoundsForGroup = function(a, b, c) {
-    b = this.getBoundingBoxFromGeometry(b);
-    null != b && (this.isSwimlane(a) && (a = this.getStartSize(a), b.x -= a.width, b.y -= a.height, b.width += a.width, b.height += a.height), b.x -= c, b.y -= c, b.width += 2 * c, b.height += 2 * c);
-    return b
+  b = this.getBoundingBoxFromGeometry(b);
+  null != b && (this.isSwimlane(a) && (a = this.getStartSize(a), b.x -= a.width, b.y -= a.height, b.width += a.width, b.height += a.height), b.x -= c, b.y -= c, b.width += 2 * c, b.height += 2 * c);
+  return b
 };
 mxGraph.prototype.createGroupCell = function(a) {
-    a = new mxCell("");
-    a.setVertex(!0);
-    a.setConnectable(!1);
-    return a
+  a = new mxCell("");
+  a.setVertex(!0);
+  a.setConnectable(!1);
+  return a
 };
 mxGraph.prototype.ungroupCells = function(a) {
-    var b = [];
-    if (null == a) {
-        a = this.getSelectionCells();
-        for (var c = [], d = 0; d < a.length; d++) 0 < this.model.getChildCount(a[d]) && c.push(a[d]);
-        a = c
-    }
-    if (null != a && 0 < a.length) {
-        this.model.beginUpdate();
-        try {
-            for (d = 0; d < a.length; d++) {
-                var e = this.model.getChildren(a[d]);
-                if (null != e && 0 < e.length) {
-                    var e = e.slice(),
-                        f = this.model.getParent(a[d]),
-                        g = this.model.getChildCount(f);
-                    this.cellsAdded(e, f, g, null, null, !0);
-                    b = b.concat(e)
-                }
-            }
-            this.cellsRemoved(this.addAllEdges(a));
-            this.fireEvent(new mxEventObject(mxEvent.UNGROUP_CELLS,
-                "cells", a))
-        } finally {
-            this.model.endUpdate()
-        }
-    }
-    return b
-};
-mxGraph.prototype.removeCellsFromParent = function(a) {
-    null == a && (a = this.getSelectionCells());
+  var b = [];
+  if (null == a) {
+    a = this.getSelectionCells();
+    for (var c = [], d = 0; d < a.length; d++) 0 < this.model.getChildCount(a[d]) && c.push(a[d]);
+    a = c
+  }
+  if (null != a && 0 < a.length) {
     this.model.beginUpdate();
     try {
-        var b = this.getDefaultParent(),
-            c = this.model.getChildCount(b);
-        this.cellsAdded(a, b, c, null, null, !0);
-        this.fireEvent(new mxEventObject(mxEvent.REMOVE_CELLS_FROM_PARENT, "cells", a))
+      for (d = 0; d < a.length; d++) {
+        var e = this.model.getChildren(a[d]);
+        if (null != e && 0 < e.length) {
+          var e = e.slice(),
+            f = this.model.getParent(a[d]),
+            g = this.model.getChildCount(f);
+          this.cellsAdded(e, f, g, null, null, !0);
+          b = b.concat(e)
+        }
+      }
+      this.cellsRemoved(this.addAllEdges(a));
+      this.fireEvent(new mxEventObject(mxEvent.UNGROUP_CELLS,
+        "cells", a))
     } finally {
-        this.model.endUpdate()
+      this.model.endUpdate()
     }
-    return a
+  }
+  return b
+};
+mxGraph.prototype.removeCellsFromParent = function(a) {
+  null == a && (a = this.getSelectionCells());
+  this.model.beginUpdate();
+  try {
+    var b = this.getDefaultParent(),
+      c = this.model.getChildCount(b);
+    this.cellsAdded(a, b, c, null, null, !0);
+    this.fireEvent(new mxEventObject(mxEvent.REMOVE_CELLS_FROM_PARENT, "cells", a))
+  } finally {
+    this.model.endUpdate()
+  }
+  return a
 };
 mxGraph.prototype.updateGroupBounds = function(a, b, c) {
-    null == a && (a = this.getSelectionCells());
-    b = null != b ? b : 0;
-    c = null != c ? c : !1;
-    this.model.beginUpdate();
-    try {
-        for (var d = 0; d < a.length; d++) {
-            var e = this.getCellGeometry(a[d]);
-            if (null != e) {
-                var f = this.getChildCells(a[d]);
-                if (null != f && 0 < f.length) {
-                    var g = this.getBoundingBoxFromGeometry(f);
-                    if (0 < g.width && 0 < g.height) {
-                        var h = this.isSwimlane(a[d]) ? this.getStartSize(a[d]) : new mxRectangle,
-                            e = e.clone();
-                        c && (e.x += g.x - h.width - b, e.y += g.y - h.height - b);
-                        e.width = g.width + h.width + 2 * b;
-                        e.height =
-                            g.height + h.height + 2 * b;
-                        this.model.setGeometry(a[d], e);
-                        this.moveCells(f, -g.x + h.width + b, -g.y + h.height + b)
-                    }
-                }
-            }
+  null == a && (a = this.getSelectionCells());
+  b = null != b ? b : 0;
+  c = null != c ? c : !1;
+  this.model.beginUpdate();
+  try {
+    for (var d = 0; d < a.length; d++) {
+      var e = this.getCellGeometry(a[d]);
+      if (null != e) {
+        var f = this.getChildCells(a[d]);
+        if (null != f && 0 < f.length) {
+          var g = this.getBoundingBoxFromGeometry(f);
+          if (0 < g.width && 0 < g.height) {
+            var h = this.isSwimlane(a[d]) ? this.getStartSize(a[d]) : new mxRectangle,
+              e = e.clone();
+            c && (e.x += g.x - h.width - b, e.y += g.y - h.height - b);
+            e.width = g.width + h.width + 2 * b;
+            e.height =
+              g.height + h.height + 2 * b;
+            this.model.setGeometry(a[d], e);
+            this.moveCells(f, -g.x + h.width + b, -g.y + h.height + b)
+          }
         }
-    } finally {
-        this.model.endUpdate()
+      }
     }
-    return a
+  } finally {
+    this.model.endUpdate()
+  }
+  return a
 };
 mxGraph.prototype.cloneCells = function(a, b) {
-    b = null != b ? b : !0;
-    var c = null;
-    if (null != a) {
-        for (var d = {}, c = [], e = 0; e < a.length; e++) {
-            var f = mxCellPath.create(a[e]);
-            d[f] = a[e];
-            c.push(a[e])
-        }
-        if (0 < c.length)
-            for (var f = this.view.scale, g = this.view.translate, c = this.model.cloneCells(a, !0), e = 0; e < a.length; e++)
-                if (!b && this.model.isEdge(c[e]) && null != this.getEdgeValidationError(c[e], this.model.getTerminal(c[e], !0), this.model.getTerminal(c[e], !1))) c[e] = null;
-                else {
-                    var h = this.model.getGeometry(c[e]);
-                    if (null != h) {
-                        var k = this.view.getState(a[e]),
-                            l = this.view.getState(this.model.getParent(a[e]));
-                        if (null != k && null != l) {
-                            var m = l.origin.x,
-                                l = l.origin.y;
-                            if (this.model.isEdge(c[e])) {
-                                for (var k = k.absolutePoints, n = this.model.getTerminal(a[e], !0), p = mxCellPath.create(n); null != n && null == d[p];) n = this.model.getParent(n), p = mxCellPath.create(n);
-                                null == n && h.setTerminalPoint(new mxPoint(k[0].x / f - g.x, k[0].y / f - g.y), !0);
-                                n = this.model.getTerminal(a[e], !1);
-                                for (p = mxCellPath.create(n); null != n && null == d[p];) n = this.model.getParent(n), p = mxCellPath.create(n);
-                                null == n && (n = k.length -
-                                    1, h.setTerminalPoint(new mxPoint(k[n].x / f - g.x, k[n].y / f - g.y), !1));
-                                h = h.points;
-                                if (null != h)
-                                    for (k = 0; k < h.length; k++) h[k].x += m, h[k].y += l
-                            } else h.x += m, h.y += l
-                        }
-                    }
-                } else c = []
-    }
-    return c
+  b = null != b ? b : !0;
+  var c = null;
+  if (null != a) {
+    for (var d = {}, c = [], e = 0; e < a.length; e++) {
+      var f = mxCellPath.create(a[e]);
+      d[f] = a[e];
+      c.push(a[e])
+    }
+    if (0 < c.length)
+      for (var f = this.view.scale, g = this.view.translate, c = this.model.cloneCells(a, !0), e = 0; e < a.length; e++)
+        if (!b && this.model.isEdge(c[e]) && null != this.getEdgeValidationError(c[e], this.model.getTerminal(c[e], !0), this.model.getTerminal(c[e], !1))) c[e] = null;
+        else {
+          var h = this.model.getGeometry(c[e]);
+          if (null != h) {
+            var k = this.view.getState(a[e]),
+              l = this.view.getState(this.model.getParent(a[e]));
+            if (null != k && null != l) {
+              var m = l.origin.x,
+                l = l.origin.y;
+              if (this.model.isEdge(c[e])) {
+                for (var k = k.absolutePoints, n = this.model.getTerminal(a[e], !0), p = mxCellPath.create(n); null != n && null == d[p];) n = this.model.getParent(n), p = mxCellPath.create(n);
+                null == n && h.setTerminalPoint(new mxPoint(k[0].x / f - g.x, k[0].y / f - g.y), !0);
+                n = this.model.getTerminal(a[e], !1);
+                for (p = mxCellPath.create(n); null != n && null == d[p];) n = this.model.getParent(n), p = mxCellPath.create(n);
+                null == n && (n = k.length -
+                  1, h.setTerminalPoint(new mxPoint(k[n].x / f - g.x, k[n].y / f - g.y), !1));
+                h = h.points;
+                if (null != h)
+                  for (k = 0; k < h.length; k++) h[k].x += m, h[k].y += l
+              } else h.x += m, h.y += l
+            }
+          }
+        } else c = []
+  }
+  return c
 };
 mxGraph.prototype.insertVertex = function(a, b, c, d, e, f, g, h, k) {
-    b = this.createVertex(a, b, c, d, e, f, g, h, k);
-    return this.addCell(b, a)
+  b = this.createVertex(a, b, c, d, e, f, g, h, k);
+  return this.addCell(b, a)
 };
 mxGraph.prototype.createVertex = function(a, b, c, d, e, f, g, h, k) {
-    a = new mxGeometry(d, e, f, g);
-    a.relative = null != k ? k : !1;
-    c = new mxCell(c, a, h);
-    c.setId(b);
-    c.setVertex(!0);
-    c.setConnectable(!0);
-    return c
+  a = new mxGeometry(d, e, f, g);
+  a.relative = null != k ? k : !1;
+  c = new mxCell(c, a, h);
+  c.setId(b);
+  c.setVertex(!0);
+  c.setConnectable(!0);
+  return c
 };
 mxGraph.prototype.insertEdge = function(a, b, c, d, e, f) {
-    b = this.createEdge(a, b, c, d, e, f);
-    return this.addEdge(b, a, d, e)
+  b = this.createEdge(a, b, c, d, e, f);
+  return this.addEdge(b, a, d, e)
 };
 mxGraph.prototype.createEdge = function(a, b, c, d, e, f) {
-    a = new mxCell(c, new mxGeometry, f);
-    a.setId(b);
-    a.setEdge(!0);
-    a.geometry.relative = !0;
-    return a
+  a = new mxCell(c, new mxGeometry, f);
+  a.setId(b);
+  a.setEdge(!0);
+  a.geometry.relative = !0;
+  return a
 };
 mxGraph.prototype.addEdge = function(a, b, c, d, e) {
-    return this.addCell(a, b, e, c, d)
+  return this.addCell(a, b, e, c, d)
 };
 mxGraph.prototype.addCell = function(a, b, c, d, e) {
-    return this.addCells([a], b, c, d, e)[0]
+  return this.addCells([a], b, c, d, e)[0]
 };
 mxGraph.prototype.addCells = function(a, b, c, d, e) {
-    null == b && (b = this.getDefaultParent());
-    null == c && (c = this.model.getChildCount(b));
-    this.model.beginUpdate();
-    try {
-        this.cellsAdded(a, b, c, d, e, !1, !0), this.fireEvent(new mxEventObject(mxEvent.ADD_CELLS, "cells", a, "parent", b, "index", c, "source", d, "target", e))
-    } finally {
-        this.model.endUpdate()
-    }
-    return a
+  null == b && (b = this.getDefaultParent());
+  null == c && (c = this.model.getChildCount(b));
+  this.model.beginUpdate();
+  try {
+    this.cellsAdded(a, b, c, d, e, !1, !0), this.fireEvent(new mxEventObject(mxEvent.ADD_CELLS, "cells", a, "parent", b, "index", c, "source", d, "target", e))
+  } finally {
+    this.model.endUpdate()
+  }
+  return a
 };
 mxGraph.prototype.cellsAdded = function(a, b, c, d, e, f, g) {
-    if (null != a && null != b && null != c) {
-        this.model.beginUpdate();
-        try {
-            for (var h = f ? this.view.getState(b) : null, k = null != h ? h.origin : null, l = new mxPoint(0, 0), h = 0; h < a.length; h++)
-                if (null == a[h]) c--;
-                else {
-                    var m = this.model.getParent(a[h]);
-                    if (null != k && a[h] != b && b != m) {
-                        var n = this.view.getState(m),
-                            p = null != n ? n.origin : l,
-                            q = this.model.getGeometry(a[h]);
-                        if (null != q) {
-                            var s = p.x - k.x,
-                                r = p.y - k.y,
-                                q = q.clone();
-                            q.translate(s, r);
-                            !q.relative && (this.model.isVertex(a[h]) && !this.isAllowNegativeCoordinates()) &&
-                                (q.x = Math.max(0, q.x), q.y = Math.max(0, q.y));
-                            this.model.setGeometry(a[h], q)
-                        }
-                    }
-                    b == m && c + h > this.model.getChildCount(b) && c--;
-                    this.model.add(b, a[h], c + h);
-                    this.isExtendParentsOnAdd() && this.isExtendParent(a[h]) && this.extendParent(a[h]);
-                    (null == g || g) && this.constrainChild(a[h]);
-                    null != d && this.cellConnected(a[h], d, !0);
-                    null != e && this.cellConnected(a[h], e, !1)
-                }
-            this.fireEvent(new mxEventObject(mxEvent.CELLS_ADDED, "cells", a, "parent", b, "index", c, "source", d, "target", e, "absolute", f))
-        } finally {
-            this.model.endUpdate()
-        }
-    }
-};
-mxGraph.prototype.removeCells = function(a, b) {
-    b = null != b ? b : !0;
-    null == a && (a = this.getDeletableCells(this.getSelectionCells()));
-    b && (a = this.getDeletableCells(this.addAllEdges(a)));
+  if (null != a && null != b && null != c) {
     this.model.beginUpdate();
     try {
-        this.cellsRemoved(a), this.fireEvent(new mxEventObject(mxEvent.REMOVE_CELLS, "cells", a, "includeEdges", b))
-    } finally {
-        this.model.endUpdate()
-    }
-    return a
-};
-mxGraph.prototype.cellsRemoved = function(a) {
-    if (null != a && 0 < a.length) {
-        var b = this.view.scale,
-            c = this.view.translate;
-        this.model.beginUpdate();
-        try {
-            for (var d = {}, e = 0; e < a.length; e++) {
-                var f = mxCellPath.create(a[e]);
-                d[f] = a[e]
-            }
-            for (e = 0; e < a.length; e++) {
-                for (var g = this.getConnections(a[e]), h = 0; h < g.length; h++)
-                    if (f = mxCellPath.create(g[h]), null == d[f]) {
-                        var k = this.model.getGeometry(g[h]);
-                        if (null != k) {
-                            var l = this.view.getState(g[h]);
-                            if (null != l) {
-                                var k = k.clone(),
-                                    m = l.getVisibleTerminal(!0) == a[e],
-                                    n = l.absolutePoints,
-                                    p = m ? 0 : n.length -
-                                    1;
-                                k.setTerminalPoint(new mxPoint(n[p].x / b - c.x, n[p].y / b - c.y), m);
-                                this.model.setTerminal(g[h], null, m);
-                                this.model.setGeometry(g[h], k)
-                            }
-                        }
-                    }
-                this.model.remove(a[e])
+      for (var h = f ? this.view.getState(b) : null, k = null != h ? h.origin : null, l = new mxPoint(0, 0), h = 0; h < a.length; h++)
+        if (null == a[h]) c--;
+        else {
+          var m = this.model.getParent(a[h]);
+          if (null != k && a[h] != b && b != m) {
+            var n = this.view.getState(m),
+              p = null != n ? n.origin : l,
+              q = this.model.getGeometry(a[h]);
+            if (null != q) {
+              var s = p.x - k.x,
+                r = p.y - k.y,
+                q = q.clone();
+              q.translate(s, r);
+              !q.relative && (this.model.isVertex(a[h]) && !this.isAllowNegativeCoordinates()) &&
+                (q.x = Math.max(0, q.x), q.y = Math.max(0, q.y));
+              this.model.setGeometry(a[h], q)
             }
-            this.fireEvent(new mxEventObject(mxEvent.CELLS_REMOVED, "cells", a))
-        } finally {
-            this.model.endUpdate()
+          }
+          b == m && c + h > this.model.getChildCount(b) && c--;
+          this.model.add(b, a[h], c + h);
+          this.isExtendParentsOnAdd() && this.isExtendParent(a[h]) && this.extendParent(a[h]);
+          (null == g || g) && this.constrainChild(a[h]);
+          null != d && this.cellConnected(a[h], d, !0);
+          null != e && this.cellConnected(a[h], e, !1)
         }
+      this.fireEvent(new mxEventObject(mxEvent.CELLS_ADDED, "cells", a, "parent", b, "index", c, "source", d, "target", e, "absolute", f))
+    } finally {
+      this.model.endUpdate()
     }
+  }
 };
-mxGraph.prototype.splitEdge = function(a, b, c, d, e) {
-    d = d || 0;
-    e = e || 0;
-    null == c && (c = this.cloneCells([a])[0]);
-    var f = this.model.getParent(a),
-        g = this.model.getTerminal(a, !0);
+mxGraph.prototype.removeCells = function(a, b) {
+  b = null != b ? b : !0;
+  null == a && (a = this.getDeletableCells(this.getSelectionCells()));
+  b && (a = this.getDeletableCells(this.addAllEdges(a)));
+  this.model.beginUpdate();
+  try {
+    this.cellsRemoved(a), this.fireEvent(new mxEventObject(mxEvent.REMOVE_CELLS, "cells", a, "includeEdges", b))
+  } finally {
+    this.model.endUpdate()
+  }
+  return a
+};
+mxGraph.prototype.cellsRemoved = function(a) {
+  if (null != a && 0 < a.length) {
+    var b = this.view.scale,
+      c = this.view.translate;
     this.model.beginUpdate();
     try {
-        this.cellsMoved(b, d, e, !1, !1), this.cellsAdded(b, f, this.model.getChildCount(f), null, null, !0), this.cellsAdded([c], f, this.model.getChildCount(f), g, b[0], !1), this.cellConnected(a, b[0], !0), this.fireEvent(new mxEventObject(mxEvent.SPLIT_EDGE, "edge", a, "cells", b, "newEdge", c, "dx", d, "dy", e))
+      for (var d = {}, e = 0; e < a.length; e++) {
+        var f = mxCellPath.create(a[e]);
+        d[f] = a[e]
+      }
+      for (e = 0; e < a.length; e++) {
+        for (var g = this.getConnections(a[e]), h = 0; h < g.length; h++)
+          if (f = mxCellPath.create(g[h]), null == d[f]) {
+            var k = this.model.getGeometry(g[h]);
+            if (null != k) {
+              var l = this.view.getState(g[h]);
+              if (null != l) {
+                var k = k.clone(),
+                  m = l.getVisibleTerminal(!0) == a[e],
+                  n = l.absolutePoints,
+                  p = m ? 0 : n.length -
+                  1;
+                k.setTerminalPoint(new mxPoint(n[p].x / b - c.x, n[p].y / b - c.y), m);
+                this.model.setTerminal(g[h], null, m);
+                this.model.setGeometry(g[h], k)
+              }
+            }
+          }
+        this.model.remove(a[e])
+      }
+      this.fireEvent(new mxEventObject(mxEvent.CELLS_REMOVED, "cells", a))
     } finally {
-        this.model.endUpdate()
+      this.model.endUpdate()
     }
-    return c
+  }
+};
+mxGraph.prototype.splitEdge = function(a, b, c, d, e) {
+  d = d || 0;
+  e = e || 0;
+  null == c && (c = this.cloneCells([a])[0]);
+  var f = this.model.getParent(a),
+    g = this.model.getTerminal(a, !0);
+  this.model.beginUpdate();
+  try {
+    this.cellsMoved(b, d, e, !1, !1), this.cellsAdded(b, f, this.model.getChildCount(f), null, null, !0), this.cellsAdded([c], f, this.model.getChildCount(f), g, b[0], !1), this.cellConnected(a, b[
+      0], !0), this.fireEvent(new mxEventObject(mxEvent.SPLIT_EDGE, "edge", a, "cells", b, "newEdge", c, "dx", d, "dy", e))
+  } finally {
+    this.model.endUpdate()
+  }
+  return c
 };
 mxGraph.prototype.toggleCells = function(a, b, c) {
-    null == b && (b = this.getSelectionCells());
-    c && (b = this.addAllEdges(b));
+  null == b && (b = this.getSelectionCells());
+  c && (b = this.addAllEdges(b));
+  this.model.beginUpdate();
+  try {
+    this.cellsToggled(b, a), this.fireEvent(new mxEventObject(mxEvent.TOGGLE_CELLS, "show", a, "cells", b, "includeEdges", c))
+  } finally {
+    this.model.endUpdate()
+  }
+  return b
+};
+mxGraph.prototype.cellsToggled = function(a, b) {
+  if (null != a && 0 < a.length) {
     this.model.beginUpdate();
     try {
-        this.cellsToggled(b, a), this.fireEvent(new mxEventObject(mxEvent.TOGGLE_CELLS, "show", a, "cells", b, "includeEdges", c))
+      for (var c = 0; c < a.length; c++) this.model.setVisible(a[c], b)
     } finally {
-        this.model.endUpdate()
-    }
-    return b
-};
-mxGraph.prototype.cellsToggled = function(a, b) {
-    if (null != a && 0 < a.length) {
-        this.model.beginUpdate();
-        try {
-            for (var c = 0; c < a.length; c++) this.model.setVisible(a[c], b)
-        } finally {
-            this.model.endUpdate()
-        }
+      this.model.endUpdate()
     }
+  }
 };
 mxGraph.prototype.foldCells = function(a, b, c, d) {
-    b = null != b ? b : !1;
-    null == c && (c = this.getFoldableCells(this.getSelectionCells(), a));
-    this.stopEditing(!1);
+  b = null != b ? b : !1;
+  null == c && (c = this.getFoldableCells(this.getSelectionCells(), a));
+  this.stopEditing(!1);
+  this.model.beginUpdate();
+  try {
+    this.cellsFolded(c, a, b, d), this.fireEvent(new mxEventObject(mxEvent.FOLD_CELLS, "collapse", a, "recurse", b, "cells", c))
+  } finally {
+    this.model.endUpdate()
+  }
+  return c
+};
+mxGraph.prototype.cellsFolded = function(a, b, c, d) {
+  if (null != a && 0 < a.length) {
     this.model.beginUpdate();
     try {
-        this.cellsFolded(c, a, b, d), this.fireEvent(new mxEventObject(mxEvent.FOLD_CELLS, "collapse", a, "recurse", b, "cells", c))
+      for (var e = 0; e < a.length; e++)
+        if ((!d || this.isCellFoldable(a[e], b)) && b != this.isCellCollapsed(a[e]))
+          if (this.model.setCollapsed(a[e], b), this.swapBounds(a[e], b), this.isExtendParent(a[e]) && this.extendParent(a[e]), c) {
+            var f = this.model.getChildren(a[e]);
+            this.foldCells(f, b, c)
+          }
+      this.fireEvent(new mxEventObject(mxEvent.CELLS_FOLDED, "cells", a, "collapse", b, "recurse", c))
     } finally {
-        this.model.endUpdate()
-    }
-    return c
-};
-mxGraph.prototype.cellsFolded = function(a, b, c, d) {
-    if (null != a && 0 < a.length) {
-        this.model.beginUpdate();
-        try {
-            for (var e = 0; e < a.length; e++)
-                if ((!d || this.isCellFoldable(a[e], b)) && b != this.isCellCollapsed(a[e]))
-                    if (this.model.setCollapsed(a[e], b), this.swapBounds(a[e], b), this.isExtendParent(a[e]) && this.extendParent(a[e]), c) {
-                        var f = this.model.getChildren(a[e]);
-                        this.foldCells(f, b, c)
-                    }
-            this.fireEvent(new mxEventObject(mxEvent.CELLS_FOLDED, "cells", a, "collapse", b, "recurse", c))
-        } finally {
-            this.model.endUpdate()
-        }
+      this.model.endUpdate()
     }
+  }
 };
 mxGraph.prototype.swapBounds = function(a, b) {
-    if (null != a) {
-        var c = this.model.getGeometry(a);
-        null != c && (c = c.clone(), this.updateAlternateBounds(a, c, b), c.swap(), this.model.setGeometry(a, c))
-    }
+  if (null != a) {
+    var c = this.model.getGeometry(a);
+    null != c && (c = c.clone(), this.updateAlternateBounds(a, c, b), c.swap(), this.model.setGeometry(a, c))
+  }
 };
 mxGraph.prototype.updateAlternateBounds = function(a, b, c) {
-    if (null != a && null != b) {
-        c = this.view.getState(a);
-        c = null != c ? c.style : this.getCellStyle(a);
-        if (null == b.alternateBounds) {
-            var d = b;
-            this.collapseToPreferredSize && (a = this.getPreferredSizeForCell(a), null != a && (d = a, a = mxUtils.getValue(c, mxConstants.STYLE_STARTSIZE), 0 < a && (d.height = Math.max(d.height, a))));
-            b.alternateBounds = new mxRectangle(0, 0, d.width, d.height)
-        }
-        if (null != b.alternateBounds) {
-            b.alternateBounds.x = b.x;
-            b.alternateBounds.y = b.y;
-            var e = mxUtils.toRadians(c[mxConstants.STYLE_ROTATION] ||
-                "0");
-            0 != e && (a = b.alternateBounds.getCenterX() - b.getCenterX(), c = b.alternateBounds.getCenterY() - b.getCenterY(), d = Math.cos(e), e = Math.sin(e), b.alternateBounds.x += d * a - e * c - a, b.alternateBounds.y += e * a + d * c - c)
-        }
-    }
+  if (null != a && null != b) {
+    c = this.view.getState(a);
+    c = null != c ? c.style : this.getCellStyle(a);
+    if (null == b.alternateBounds) {
+      var d = b;
+      this.collapseToPreferredSize && (a = this.getPreferredSizeForCell(a), null != a && (d = a, a = mxUtils.getValue(c, mxConstants.STYLE_STARTSIZE), 0 < a && (d.height = Math.max(d.height, a))));
+      b.alternateBounds = new mxRectangle(0, 0, d.width, d.height)
+    }
+    if (null != b.alternateBounds) {
+      b.alternateBounds.x = b.x;
+      b.alternateBounds.y = b.y;
+      var e = mxUtils.toRadians(c[mxConstants.STYLE_ROTATION] ||
+        "0");
+      0 != e && (a = b.alternateBounds.getCenterX() - b.getCenterX(), c = b.alternateBounds.getCenterY() - b.getCenterY(), d = Math.cos(e), e = Math.sin(e), b.alternateBounds.x += d * a - e * c - a,
+        b.alternateBounds.y += e * a + d * c - c)
+    }
+  }
 };
 mxGraph.prototype.addAllEdges = function(a) {
-    var b = a.slice();
-    return b = b.concat(this.getAllEdges(a))
+  var b = a.slice();
+  return b = b.concat(this.getAllEdges(a))
 };
 mxGraph.prototype.getAllEdges = function(a) {
-    var b = [];
-    if (null != a)
-        for (var c = 0; c < a.length; c++) {
-            for (var d = this.model.getEdgeCount(a[c]), e = 0; e < d; e++) b.push(this.model.getEdgeAt(a[c], e));
-            d = this.model.getChildren(a[c]);
-            b = b.concat(this.getAllEdges(d))
-        }
-    return b
+  var b = [];
+  if (null != a)
+    for (var c = 0; c < a.length; c++) {
+      for (var d = this.model.getEdgeCount(a[c]), e = 0; e < d; e++) b.push(this.model.getEdgeAt(a[c], e));
+      d = this.model.getChildren(a[c]);
+      b = b.concat(this.getAllEdges(d))
+    }
+  return b
 };
 mxGraph.prototype.updateCellSize = function(a, b) {
-    b = null != b ? b : !1;
-    this.model.beginUpdate();
-    try {
-        this.cellSizeUpdated(a, b), this.fireEvent(new mxEventObject(mxEvent.UPDATE_CELL_SIZE, "cell", a, "ignoreChildren", b))
-    } finally {
-        this.model.endUpdate()
-    }
-    return a
+  b = null != b ? b : !1;
+  this.model.beginUpdate();
+  try {
+    this.cellSizeUpdated(a, b), this.fireEvent(new mxEventObject(mxEvent.UPDATE_CELL_SIZE, "cell", a, "ignoreChildren", b))
+  } finally {
+    this.model.endUpdate()
+  }
+  return a
 };
 mxGraph.prototype.cellSizeUpdated = function(a, b) {
-    if (null != a) {
-        this.model.beginUpdate();
-        try {
-            var c = this.getPreferredSizeForCell(a),
-                d = this.model.getGeometry(a);
-            if (null != c && null != d) {
-                var e = this.isCellCollapsed(a),
-                    d = d.clone();
-                if (this.isSwimlane(a)) {
-                    var f = this.view.getState(a),
-                        g = null != f ? f.style : this.getCellStyle(a),
-                        h = this.model.getStyle(a);
-                    null == h && (h = "");
-                    mxUtils.getValue(g, mxConstants.STYLE_HORIZONTAL, !0) ? (h = mxUtils.setStyle(h, mxConstants.STYLE_STARTSIZE, c.height + 8), e && (d.height = c.height + 8), d.width = c.width) :
-                        (h = mxUtils.setStyle(h, mxConstants.STYLE_STARTSIZE, c.width + 8), e && (d.width = c.width + 8), d.height = c.height);
-                    this.model.setStyle(a, h)
-                } else d.width = c.width, d.height = c.height;
-                if (!b && !e) {
-                    var k = this.view.getBounds(this.model.getChildren(a));
-                    if (null != k) {
-                        var l = this.view.translate,
-                            m = this.view.scale,
-                            n = (k.y + k.height) / m - d.y - l.y;
-                        d.width = Math.max(d.width, (k.x + k.width) / m - d.x - l.x);
-                        d.height = Math.max(d.height, n)
-                    }
-                }
-                this.cellsResized([a], [d])
-            }
-        } finally {
-            this.model.endUpdate()
+  if (null != a) {
+    this.model.beginUpdate();
+    try {
+      var c = this.getPreferredSizeForCell(a),
+        d = this.model.getGeometry(a);
+      if (null != c && null != d) {
+        var e = this.isCellCollapsed(a),
+          d = d.clone();
+        if (this.isSwimlane(a)) {
+          var f = this.view.getState(a),
+            g = null != f ? f.style : this.getCellStyle(a),
+            h = this.model.getStyle(a);
+          null == h && (h = "");
+          mxUtils.getValue(g, mxConstants.STYLE_HORIZONTAL, !0) ? (h = mxUtils.setStyle(h, mxConstants.STYLE_STARTSIZE, c.height + 8), e && (d.height = c.height + 8), d.width = c.width) :
+            (h = mxUtils.setStyle(h, mxConstants.STYLE_STARTSIZE, c.width + 8), e && (d.width = c.width + 8), d.height = c.height);
+          this.model.setStyle(a, h)
+        } else d.width = c.width, d.height = c.height;
+        if (!b && !e) {
+          var k = this.view.getBounds(this.model.getChildren(a));
+          if (null != k) {
+            var l = this.view.translate,
+              m = this.view.scale,
+              n = (k.y + k.height) / m - d.y - l.y;
+            d.width = Math.max(d.width, (k.x + k.width) / m - d.x - l.x);
+            d.height = Math.max(d.height, n)
+          }
         }
+        this.cellsResized([a], [d])
+      }
+    } finally {
+      this.model.endUpdate()
     }
+  }
 };
 mxGraph.prototype.getPreferredSizeForCell = function(a) {
-    var b = null;
-    if (null != a) {
-        var c = this.view.getState(a),
-            d = null != c ? c.style : this.getCellStyle(a);
-        if (null != d && !this.model.isEdge(a)) {
-            var e = d[mxConstants.STYLE_FONTSIZE] || mxConstants.DEFAULT_FONTSIZE,
-                f = 0,
-                b = 0;
-            if ((null != this.getImage(c) || null != d[mxConstants.STYLE_IMAGE]) && d[mxConstants.STYLE_SHAPE] == mxConstants.SHAPE_LABEL) d[mxConstants.STYLE_VERTICAL_ALIGN] == mxConstants.ALIGN_MIDDLE && (f += parseFloat(d[mxConstants.STYLE_IMAGE_WIDTH]) || mxLabel.prototype.imageSize),
-                d[mxConstants.STYLE_ALIGN] != mxConstants.ALIGN_CENTER && (b += parseFloat(d[mxConstants.STYLE_IMAGE_HEIGHT]) || mxLabel.prototype.imageSize);
-            f += 2 * (d[mxConstants.STYLE_SPACING] || 0);
-            f += d[mxConstants.STYLE_SPACING_LEFT] || 0;
-            f += d[mxConstants.STYLE_SPACING_RIGHT] || 0;
-            b += 2 * (d[mxConstants.STYLE_SPACING] || 0);
-            b += d[mxConstants.STYLE_SPACING_TOP] || 0;
-            b += d[mxConstants.STYLE_SPACING_BOTTOM] || 0;
-            c = this.getFoldingImage(c);
-            null != c && (f += c.width + 8);
-            c = this.getLabel(a);
-            null != c && 0 < c.length ? (this.isHtmlLabel(a) || (c = c.replace(/\n/g,
-                "\x3cbr\x3e")), e = mxUtils.getSizeForString(c, e, d[mxConstants.STYLE_FONTFAMILY]), a = e.width + f, b = e.height + b, mxUtils.getValue(d, mxConstants.STYLE_HORIZONTAL, !0) || (d = b, b = a, a = d), this.gridEnabled && (a = this.snap(a + this.gridSize / 2), b = this.snap(b + this.gridSize / 2)), b = new mxRectangle(0, 0, a, b)) : (d = 4 * this.gridSize, b = new mxRectangle(0, 0, d, d))
-        }
-    }
-    return b
+  var b = null;
+  if (null != a) {
+    var c = this.view.getState(a),
+      d = null != c ? c.style : this.getCellStyle(a);
+    if (null != d && !this.model.isEdge(a)) {
+      var e = d[mxConstants.STYLE_FONTSIZE] || mxConstants.DEFAULT_FONTSIZE,
+        f = 0,
+        b = 0;
+      if ((null != this.getImage(c) || null != d[mxConstants.STYLE_IMAGE]) && d[mxConstants.STYLE_SHAPE] == mxConstants.SHAPE_LABEL) d[mxConstants.STYLE_VERTICAL_ALIGN] == mxConstants.ALIGN_MIDDLE &&
+        (f += parseFloat(d[mxConstants.STYLE_IMAGE_WIDTH]) || mxLabel.prototype.imageSize),
+        d[mxConstants.STYLE_ALIGN] != mxConstants.ALIGN_CENTER && (b += parseFloat(d[mxConstants.STYLE_IMAGE_HEIGHT]) || mxLabel.prototype.imageSize);
+      f += 2 * (d[mxConstants.STYLE_SPACING] || 0);
+      f += d[mxConstants.STYLE_SPACING_LEFT] || 0;
+      f += d[mxConstants.STYLE_SPACING_RIGHT] || 0;
+      b += 2 * (d[mxConstants.STYLE_SPACING] || 0);
+      b += d[mxConstants.STYLE_SPACING_TOP] || 0;
+      b += d[mxConstants.STYLE_SPACING_BOTTOM] || 0;
+      c = this.getFoldingImage(c);
+      null != c && (f += c.width + 8);
+      c = this.getLabel(a);
+      null != c && 0 < c.length ? (this.isHtmlLabel(a) || (c = c.replace(/\n/g,
+        "\x3cbr\x3e")), e = mxUtils.getSizeForString(c, e, d[mxConstants.STYLE_FONTFAMILY]), a = e.width + f, b = e.height + b, mxUtils.getValue(d, mxConstants.STYLE_HORIZONTAL, !0) || (d = b,
+        b = a, a = d), this.gridEnabled && (a = this.snap(a + this.gridSize / 2), b = this.snap(b + this.gridSize / 2)), b = new mxRectangle(0, 0, a, b)) : (d = 4 * this.gridSize, b = new mxRectangle(
+        0, 0, d, d))
+    }
+  }
+  return b
 };
 mxGraph.prototype.handleGesture = function(a, b) {
-    if (0.2 < Math.abs(1 - b.scale)) {
-        var c = this.view.scale,
-            d = this.view.translate,
-            e = a.width * b.scale,
-            f = a.height * b.scale,
-            g = a.y - (f - a.height) / 2,
-            c = new mxRectangle(this.snap((a.x - (e - a.width) / 2) / c) - d.x, this.snap(g / c) - d.y, this.snap(e / c), this.snap(f / c));
-        this.resizeCell(a.cell, c)
-    }
+  if (0.2 < Math.abs(1 - b.scale)) {
+    var c = this.view.scale,
+      d = this.view.translate,
+      e = a.width * b.scale,
+      f = a.height * b.scale,
+      g = a.y - (f - a.height) / 2,
+      c = new mxRectangle(this.snap((a.x - (e - a.width) / 2) / c) - d.x, this.snap(g / c) - d.y, this.snap(e / c), this.snap(f / c));
+    this.resizeCell(a.cell, c)
+  }
 };
 mxGraph.prototype.resizeCell = function(a, b) {
-    return this.resizeCells([a], [b])[0]
+  return this.resizeCells([a], [b])[0]
 };
 mxGraph.prototype.resizeCells = function(a, b) {
-    this.model.beginUpdate();
-    try {
-        this.cellsResized(a, b), this.fireEvent(new mxEventObject(mxEvent.RESIZE_CELLS, "cells", a, "bounds", b))
-    } finally {
-        this.model.endUpdate()
-    }
-    return a
+  this.model.beginUpdate();
+  try {
+    this.cellsResized(a, b), this.fireEvent(new mxEventObject(mxEvent.RESIZE_CELLS, "cells", a, "bounds", b))
+  } finally {
+    this.model.endUpdate()
+  }
+  return a
 };
 mxGraph.prototype.cellsResized = function(a, b) {
-    if (null != a && null != b && a.length == b.length) {
-        this.model.beginUpdate();
-        try {
-            for (var c = 0; c < a.length; c++) {
-                var d = b[c],
-                    e = this.model.getGeometry(a[c]);
-                if (null != e && (e.x != d.x || e.y != d.y || e.width != d.width || e.height != d.height)) {
-                    e = e.clone();
-                    if (e.relative) {
-                        var f = e.offset;
-                        null != f && (f.x += d.x - e.x, f.y += d.y - e.y)
-                    } else e.x = d.x, e.y = d.y;
-                    e.width = d.width;
-                    e.height = d.height;
-                    !e.relative && (this.model.isVertex(a[c]) && !this.isAllowNegativeCoordinates()) && (e.x = Math.max(0, e.x), e.y = Math.max(0,
-                        e.y));
-                    this.model.setGeometry(a[c], e);
-                    this.isExtendParent(a[c]) && this.extendParent(a[c])
-                }
-            }
-            this.resetEdgesOnResize && this.resetEdges(a);
-            this.fireEvent(new mxEventObject(mxEvent.CELLS_RESIZED, "cells", a, "bounds", b))
-        } finally {
-            this.model.endUpdate()
+  if (null != a && null != b && a.length == b.length) {
+    this.model.beginUpdate();
+    try {
+      for (var c = 0; c < a.length; c++) {
+        var d = b[c],
+          e = this.model.getGeometry(a[c]);
+        if (null != e && (e.x != d.x || e.y != d.y || e.width != d.width || e.height != d.height)) {
+          e = e.clone();
+          if (e.relative) {
+            var f = e.offset;
+            null != f && (f.x += d.x - e.x, f.y += d.y - e.y)
+          } else e.x = d.x, e.y = d.y;
+          e.width = d.width;
+          e.height = d.height;
+          !e.relative && (this.model.isVertex(a[c]) && !this.isAllowNegativeCoordinates()) && (e.x = Math.max(0, e.x), e.y = Math.max(0,
+            e.y));
+          this.model.setGeometry(a[c], e);
+          this.isExtendParent(a[c]) && this.extendParent(a[c])
         }
+      }
+      this.resetEdgesOnResize && this.resetEdges(a);
+      this.fireEvent(new mxEventObject(mxEvent.CELLS_RESIZED, "cells", a, "bounds", b))
+    } finally {
+      this.model.endUpdate()
     }
+  }
 };
 mxGraph.prototype.extendParent = function(a) {
-    if (null != a) {
-        var b = this.model.getParent(a),
-            c = this.model.getGeometry(b);
-        if (null != b && (null != c && !this.isCellCollapsed(b)) && (a = this.model.getGeometry(a), null != a && (c.width < a.x + a.width || c.height < a.y + a.height))) c = c.clone(), c.width = Math.max(c.width, a.x + a.width), c.height = Math.max(c.height, a.y + a.height), this.cellsResized([b], [c])
-    }
+  if (null != a) {
+    var b = this.model.getParent(a),
+      c = this.model.getGeometry(b);
+    if (null != b && (null != c && !this.isCellCollapsed(b)) && (a = this.model.getGeometry(a), null != a && (c.width < a.x + a.width || c.height < a.y + a.height))) c = c.clone(), c.width = Math.max(
+      c.width, a.x + a.width), c.height = Math.max(c.height, a.y + a.height), this.cellsResized([b], [c])
+  }
 };
 mxGraph.prototype.importCells = function(a, b, c, d, e) {
-    return this.moveCells(a, b, c, !0, d, e)
+  return this.moveCells(a, b, c, !0, d, e)
 };
 mxGraph.prototype.moveCells = function(a, b, c, d, e, f) {
-    b = null != b ? b : 0;
-    c = null != c ? c : 0;
-    d = null != d ? d : !1;
-    if (null != a && (0 != b || 0 != c || d || null != e)) {
-        this.model.beginUpdate();
-        try {
-            d && (a = this.cloneCells(a, this.isCloneInvalidEdges()), null == e && (e = this.getDefaultParent()));
-            var g = this.isAllowNegativeCoordinates();
-            null != e && this.setAllowNegativeCoordinates(!0);
-            this.cellsMoved(a, b, c, !d && this.isDisconnectOnMove() && this.isAllowDanglingEdges(), null == e);
-            this.setAllowNegativeCoordinates(g);
-            if (null != e) {
-                var h = this.model.getChildCount(e);
-                this.cellsAdded(a, e, h, null, null, !0)
-            }
-            this.fireEvent(new mxEventObject(mxEvent.MOVE_CELLS, "cells", a, "dx", b, "dy", c, "clone", d, "target", e, "event", f))
-        } finally {
-            this.model.endUpdate()
-        }
+  b = null != b ? b : 0;
+  c = null != c ? c : 0;
+  d = null != d ? d : !1;
+  if (null != a && (0 != b || 0 != c || d || null != e)) {
+    this.model.beginUpdate();
+    try {
+      d && (a = this.cloneCells(a, this.isCloneInvalidEdges()), null == e && (e = this.getDefaultParent()));
+      var g = this.isAllowNegativeCoordinates();
+      null != e && this.setAllowNegativeCoordinates(!0);
+      this.cellsMoved(a, b, c, !d && this.isDisconnectOnMove() && this.isAllowDanglingEdges(), null == e);
+      this.setAllowNegativeCoordinates(g);
+      if (null != e) {
+        var h = this.model.getChildCount(e);
+        this.cellsAdded(a, e, h, null, null, !0)
+      }
+      this.fireEvent(new mxEventObject(mxEvent.MOVE_CELLS, "cells", a, "dx", b, "dy", c, "clone", d, "target", e, "event", f))
+    } finally {
+      this.model.endUpdate()
     }
-    return a
+  }
+  return a
 };
 mxGraph.prototype.cellsMoved = function(a, b, c, d, e) {
-    if (null != a && (0 != b || 0 != c)) {
-        this.model.beginUpdate();
-        try {
-            d && this.disconnectGraph(a);
-            for (var f = 0; f < a.length; f++) this.translateCell(a[f], b, c), e && this.constrainChild(a[f]);
-            this.resetEdgesOnMove && this.resetEdges(a);
-            this.fireEvent(new mxEventObject(mxEvent.CELLS_MOVED, "cells", a, "dx", c, "dy", c, "disconnect", d))
-        } finally {
-            this.model.endUpdate()
-        }
+  if (null != a && (0 != b || 0 != c)) {
+    this.model.beginUpdate();
+    try {
+      d && this.disconnectGraph(a);
+      for (var f = 0; f < a.length; f++) this.translateCell(a[f], b, c), e && this.constrainChild(a[f]);
+      this.resetEdgesOnMove && this.resetEdges(a);
+      this.fireEvent(new mxEventObject(mxEvent.CELLS_MOVED, "cells", a, "dx", c, "dy", c, "disconnect", d))
+    } finally {
+      this.model.endUpdate()
     }
+  }
 };
 mxGraph.prototype.translateCell = function(a, b, c) {
-    var d = this.model.getGeometry(a);
-    null != d && (d = d.clone(), d.translate(b, c), !d.relative && (this.model.isVertex(a) && !this.isAllowNegativeCoordinates()) && (d.x = Math.max(0, d.x), d.y = Math.max(0, d.y)), d.relative && !this.model.isEdge(a) && (null == d.offset ? d.offset = new mxPoint(b, c) : (d.offset.x += b, d.offset.y += c)), this.model.setGeometry(a, d))
+  var d = this.model.getGeometry(a);
+  null != d && (d = d.clone(), d.translate(b, c), !d.relative && (this.model.isVertex(a) && !this.isAllowNegativeCoordinates()) && (d.x = Math.max(0, d.x), d.y = Math.max(0, d.y)), d.relative && !
+    this.model.isEdge(a) && (null == d.offset ? d.offset = new mxPoint(b, c) : (d.offset.x += b, d.offset.y += c)), this.model.setGeometry(a, d))
 };
 mxGraph.prototype.getCellContainmentArea = function(a) {
-    if (null != a && !this.model.isEdge(a)) {
-        var b = this.model.getParent(a);
-        if (b == this.getDefaultParent() || b == this.getCurrentRoot()) return this.getMaximumGraphBounds();
-        if (null != b && b != this.getDefaultParent()) {
-            var c = this.model.getGeometry(b);
-            if (null != c) {
-                var d = a = 0,
-                    e = c.width,
-                    c = c.height;
-                this.isSwimlane(b) && (b = this.getStartSize(b), a = b.width, e -= b.width, d = b.height, c -= b.height);
-                return new mxRectangle(a, d, e, c)
-            }
-        }
-    }
-    return null
+  if (null != a && !this.model.isEdge(a)) {
+    var b = this.model.getParent(a);
+    if (b == this.getDefaultParent() || b == this.getCurrentRoot()) return this.getMaximumGraphBounds();
+    if (null != b && b != this.getDefaultParent()) {
+      var c = this.model.getGeometry(b);
+      if (null != c) {
+        var d = a = 0,
+          e = c.width,
+          c = c.height;
+        this.isSwimlane(b) && (b = this.getStartSize(b), a = b.width, e -= b.width, d = b.height, c -= b.height);
+        return new mxRectangle(a, d, e, c)
+      }
+    }
+  }
+  return null
 };
 mxGraph.prototype.getMaximumGraphBounds = function() {
-    return this.maximumGraphBounds
+  return this.maximumGraphBounds
 };
 mxGraph.prototype.constrainChild = function(a) {
-    if (null != a) {
-        var b = this.model.getGeometry(a),
-            c = this.isConstrainChild(a) ? this.getCellContainmentArea(a) : this.getMaximumGraphBounds();
-        if (null != b && null != c && !b.relative && (b.x < c.x || b.y < c.y || c.width < b.x + b.width || c.height < b.y + b.height)) a = this.getOverlap(a), 0 < c.width && (b.x = Math.min(b.x, c.x + c.width - (1 - a) * b.width)), 0 < c.height && (b.y = Math.min(b.y, c.y + c.height - (1 - a) * b.height)), b.x = Math.max(b.x, c.x - b.width * a), b.y = Math.max(b.y, c.y - b.height * a)
-    }
+  if (null != a) {
+    var b = this.model.getGeometry(a),
+      c = this.isConstrainChild(a) ? this.getCellContainmentArea(a) : this.getMaximumGraphBounds();
+    if (null != b && null != c && !b.relative && (b.x < c.x || b.y < c.y || c.width < b.x + b.width || c.height < b.y + b.height)) a = this.getOverlap(a), 0 < c.width && (b.x = Math.min(b.x, c.x +
+      c.width - (1 - a) * b.width)), 0 < c.height && (b.y = Math.min(b.y, c.y + c.height - (1 - a) * b.height)), b.x = Math.max(b.x, c.x - b.width * a), b.y = Math.max(b.y, c.y - b.height * a)
+  }
 };
 mxGraph.prototype.resetEdges = function(a) {
-    if (null != a) {
-        for (var b = {}, c = 0; c < a.length; c++) {
-            var d = mxCellPath.create(a[c]);
-            b[d] = a[c]
-        }
-        this.model.beginUpdate();
-        try {
-            for (c = 0; c < a.length; c++) {
-                var e = this.model.getEdges(a[c]);
-                if (null != e)
-                    for (d = 0; d < e.length; d++) {
-                        var f = this.view.getState(e[d]),
-                            g = null != f ? f.getVisibleTerminal(!0) : this.view.getVisibleTerminal(e[d], !0),
-                            h = null != f ? f.getVisibleTerminal(!1) : this.view.getVisibleTerminal(e[d], !1),
-                            k = mxCellPath.create(g),
-                            l = mxCellPath.create(h);
-                        (null == b[k] || null == b[l]) && this.resetEdge(e[d])
-                    }
-                this.resetEdges(this.model.getChildren(a[c]))
-            }
-        } finally {
-            this.model.endUpdate()
-        }
+  if (null != a) {
+    for (var b = {}, c = 0; c < a.length; c++) {
+      var d = mxCellPath.create(a[c]);
+      b[d] = a[c]
+    }
+    this.model.beginUpdate();
+    try {
+      for (c = 0; c < a.length; c++) {
+        var e = this.model.getEdges(a[c]);
+        if (null != e)
+          for (d = 0; d < e.length; d++) {
+            var f = this.view.getState(e[d]),
+              g = null != f ? f.getVisibleTerminal(!0) : this.view.getVisibleTerminal(e[d], !0),
+              h = null != f ? f.getVisibleTerminal(!1) : this.view.getVisibleTerminal(e[d], !1),
+              k = mxCellPath.create(g),
+              l = mxCellPath.create(h);
+            (null == b[k] || null == b[l]) && this.resetEdge(e[d])
+          }
+        this.resetEdges(this.model.getChildren(a[c]))
+      }
+    } finally {
+      this.model.endUpdate()
     }
+  }
 };
 mxGraph.prototype.resetEdge = function(a) {
-    var b = this.model.getGeometry(a);
-    null != b && (null != b.points && 0 < b.points.length) && (b = b.clone(), b.points = [], this.model.setGeometry(a, b));
-    return a
+  var b = this.model.getGeometry(a);
+  null != b && (null != b.points && 0 < b.points.length) && (b = b.clone(), b.points = [], this.model.setGeometry(a, b));
+  return a
 };
 mxGraph.prototype.getAllConnectionConstraints = function(a, b) {
-    return null != a && null != a.shape && null != a.shape.stencil ? a.shape.stencil.constraints : null
+  return null != a && null != a.shape && null != a.shape.stencil ? a.shape.stencil.constraints : null
 };
 mxGraph.prototype.getConnectionConstraint = function(a, b, c) {
-    b = null;
-    var d = a.style[c ? mxConstants.STYLE_EXIT_X : mxConstants.STYLE_ENTRY_X];
-    if (null != d) {
-        var e = a.style[c ? mxConstants.STYLE_EXIT_Y : mxConstants.STYLE_ENTRY_Y];
-        null != e && (b = new mxPoint(parseFloat(d), parseFloat(e)))
-    }
-    d = !1;
-    null != b && (d = mxUtils.getValue(a.style, c ? mxConstants.STYLE_EXIT_PERIMETER : mxConstants.STYLE_ENTRY_PERIMETER, !0));
-    return new mxConnectionConstraint(b, d)
+  b = null;
+  var d = a.style[c ? mxConstants.STYLE_EXIT_X : mxConstants.STYLE_ENTRY_X];
+  if (null != d) {
+    var e = a.style[c ? mxConstants.STYLE_EXIT_Y : mxConstants.STYLE_ENTRY_Y];
+    null != e && (b = new mxPoint(parseFloat(d), parseFloat(e)))
+  }
+  d = !1;
+  null != b && (d = mxUtils.getValue(a.style, c ? mxConstants.STYLE_EXIT_PERIMETER : mxConstants.STYLE_ENTRY_PERIMETER, !0));
+  return new mxConnectionConstraint(b, d)
 };
 mxGraph.prototype.setConnectionConstraint = function(a, b, c, d) {
-    if (null != d) {
-        this.model.beginUpdate();
-        try {
-            null == d || null == d.point ? (this.setCellStyles(c ? mxConstants.STYLE_EXIT_X : mxConstants.STYLE_ENTRY_X, null, [a]), this.setCellStyles(c ? mxConstants.STYLE_EXIT_Y : mxConstants.STYLE_ENTRY_Y, null, [a]), this.setCellStyles(c ? mxConstants.STYLE_EXIT_PERIMETER : mxConstants.STYLE_ENTRY_PERIMETER, null, [a])) : null != d.point && (this.setCellStyles(c ? mxConstants.STYLE_EXIT_X : mxConstants.STYLE_ENTRY_X, d.point.x, [a]), this.setCellStyles(c ?
-                mxConstants.STYLE_EXIT_Y : mxConstants.STYLE_ENTRY_Y, d.point.y, [a]), d.perimeter ? this.setCellStyles(c ? mxConstants.STYLE_EXIT_PERIMETER : mxConstants.STYLE_ENTRY_PERIMETER, null, [a]) : this.setCellStyles(c ? mxConstants.STYLE_EXIT_PERIMETER : mxConstants.STYLE_ENTRY_PERIMETER, "0", [a]))
-        } finally {
-            this.model.endUpdate()
-        }
+  if (null != d) {
+    this.model.beginUpdate();
+    try {
+      null == d || null == d.point ? (this.setCellStyles(c ? mxConstants.STYLE_EXIT_X : mxConstants.STYLE_ENTRY_X, null, [a]), this.setCellStyles(c ? mxConstants.STYLE_EXIT_Y : mxConstants.STYLE_ENTRY_Y,
+        null, [a]), this.setCellStyles(c ? mxConstants.STYLE_EXIT_PERIMETER : mxConstants.STYLE_ENTRY_PERIMETER, null, [a])) : null != d.point && (this.setCellStyles(c ? mxConstants.STYLE_EXIT_X :
+        mxConstants.STYLE_ENTRY_X, d.point.x, [a]), this.setCellStyles(c ?
+        mxConstants.STYLE_EXIT_Y : mxConstants.STYLE_ENTRY_Y, d.point.y, [a]), d.perimeter ? this.setCellStyles(c ? mxConstants.STYLE_EXIT_PERIMETER : mxConstants.STYLE_ENTRY_PERIMETER, null, [
+        a
+      ]) : this.setCellStyles(c ? mxConstants.STYLE_EXIT_PERIMETER : mxConstants.STYLE_ENTRY_PERIMETER, "0", [a]))
+    } finally {
+      this.model.endUpdate()
     }
+  }
 };
 mxGraph.prototype.getConnectionPoint = function(a, b) {
-    var c = null;
-    if (null != a) {
-        var d = this.view.getPerimeterBounds(a),
-            e = new mxPoint(d.getCenterX(), d.getCenterY()),
-            f = a.style[mxConstants.STYLE_DIRECTION],
-            g = 0;
-        if (null != f && ("north" == f ? g += 270 : "west" == f ? g += 180 : "south" == f && (g += 90), "north" == f || "south" == f)) {
-            d.x += d.width / 2 - d.height / 2;
-            d.y += d.height / 2 - d.width / 2;
-            var h = d.width;
-            d.width = d.height;
-            d.height = h
-        }
-        if (null != b.point) {
-            var k = c = 1,
-                l = 0,
-                m = 0;
-            if (this.getModel().isVertex(a.cell)) {
-                var n = a.style[mxConstants.STYLE_FLIPH],
-                    p =
-                    a.style[mxConstants.STYLE_FLIPV];
-                null != a.shape.stencil && (n = 1 == mxUtils.getValue(a.style, "stencilFlipH", 0) || n, p = 1 == mxUtils.getValue(a.style, "stencilFlipV", 0) || p);
-                if ("north" == f || "south" == f) h = n, n = p, p = h;
-                n && (c = -1, l = -d.width);
-                p && (k = -1, m = -d.height)
-            }
-            c = new mxPoint(d.x + b.point.x * d.width * c - l, d.y + b.point.y * d.height * k - m)
-        }
-        f = a.style[mxConstants.STYLE_ROTATION] || 0;
-        b.perimeter ? (0 != g && null != c && (h = d = 0, 90 == g ? h = 1 : 180 == g ? d = -1 : 270 == f && (h = -1), c = mxUtils.getRotatedPoint(c, d, h, e)), null != c && b.perimeter && (c = this.view.getPerimeterPoint(a,
-            c, !1))) : f += g;
-        0 != f && null != c && (g = mxUtils.toRadians(f), d = Math.cos(g), h = Math.sin(g), c = mxUtils.getRotatedPoint(c, d, h, e))
-    }
-    return c
+  var c = null;
+  if (null != a) {
+    var d = this.view.getPerimeterBounds(a),
+      e = new mxPoint(d.getCenterX(), d.getCenterY()),
+      f = a.style[mxConstants.STYLE_DIRECTION],
+      g = 0;
+    if (null != f && ("north" == f ? g += 270 : "west" == f ? g += 180 : "south" == f && (g += 90), "north" == f || "south" == f)) {
+      d.x += d.width / 2 - d.height / 2;
+      d.y += d.height / 2 - d.width / 2;
+      var h = d.width;
+      d.width = d.height;
+      d.height = h
+    }
+    if (null != b.point) {
+      var k = c = 1,
+        l = 0,
+        m = 0;
+      if (this.getModel().isVertex(a.cell)) {
+        var n = a.style[mxConstants.STYLE_FLIPH],
+          p =
+          a.style[mxConstants.STYLE_FLIPV];
+        null != a.shape.stencil && (n = 1 == mxUtils.getValue(a.style, "stencilFlipH", 0) || n, p = 1 == mxUtils.getValue(a.style, "stencilFlipV", 0) || p);
+        if ("north" == f || "south" == f) h = n, n = p, p = h;
+        n && (c = -1, l = -d.width);
+        p && (k = -1, m = -d.height)
+      }
+      c = new mxPoint(d.x + b.point.x * d.width * c - l, d.y + b.point.y * d.height * k - m)
+    }
+    f = a.style[mxConstants.STYLE_ROTATION] || 0;
+    b.perimeter ? (0 != g && null != c && (h = d = 0, 90 == g ? h = 1 : 180 == g ? d = -1 : 270 == f && (h = -1), c = mxUtils.getRotatedPoint(c, d, h, e)), null != c && b.perimeter && (c = this.view
+      .getPerimeterPoint(a,
+        c, !1))) : f += g;
+    0 != f && null != c && (g = mxUtils.toRadians(f), d = Math.cos(g), h = Math.sin(g), c = mxUtils.getRotatedPoint(c, d, h, e))
+  }
+  return c
 };
 mxGraph.prototype.connectCell = function(a, b, c, d) {
+  this.model.beginUpdate();
+  try {
+    var e = this.model.getTerminal(a, c);
+    this.cellConnected(a, b, c, d);
+    this.fireEvent(new mxEventObject(mxEvent.CONNECT_CELL, "edge", a, "terminal", b, "source", c, "previous", e))
+  } finally {
+    this.model.endUpdate()
+  }
+  return a
+};
+mxGraph.prototype.cellConnected = function(a, b, c, d) {
+  if (null != a) {
     this.model.beginUpdate();
     try {
-        var e = this.model.getTerminal(a, c);
-        this.cellConnected(a, b, c, d);
-        this.fireEvent(new mxEventObject(mxEvent.CONNECT_CELL, "edge", a, "terminal", b, "source", c, "previous", e))
+      var e = this.model.getTerminal(a, c);
+      this.setConnectionConstraint(a, b, c, d);
+      this.isPortsEnabled() && (d = null, this.isPort(b) && (d = b.getId(), b = this.getTerminalForPort(b, c)), this.setCellStyles(c ? mxConstants.STYLE_SOURCE_PORT : mxConstants.STYLE_TARGET_PORT,
+        d, [a]));
+      this.model.setTerminal(a, b, c);
+      this.resetEdgesOnConnect && this.resetEdge(a);
+      this.fireEvent(new mxEventObject(mxEvent.CELL_CONNECTED, "edge", a, "terminal", b, "source",
+        c, "previous", e))
     } finally {
-        this.model.endUpdate()
-    }
-    return a
-};
-mxGraph.prototype.cellConnected = function(a, b, c, d) {
-    if (null != a) {
-        this.model.beginUpdate();
-        try {
-            var e = this.model.getTerminal(a, c);
-            this.setConnectionConstraint(a, b, c, d);
-            this.isPortsEnabled() && (d = null, this.isPort(b) && (d = b.getId(), b = this.getTerminalForPort(b, c)), this.setCellStyles(c ? mxConstants.STYLE_SOURCE_PORT : mxConstants.STYLE_TARGET_PORT, d, [a]));
-            this.model.setTerminal(a, b, c);
-            this.resetEdgesOnConnect && this.resetEdge(a);
-            this.fireEvent(new mxEventObject(mxEvent.CELL_CONNECTED, "edge", a, "terminal", b, "source",
-                c, "previous", e))
-        } finally {
-            this.model.endUpdate()
-        }
+      this.model.endUpdate()
     }
+  }
 };
 mxGraph.prototype.disconnectGraph = function(a) {
-    if (null != a) {
-        this.model.beginUpdate();
-        try {
-            for (var b = this.view.scale, c = this.view.translate, d = {}, e = 0; e < a.length; e++) {
-                var f = mxCellPath.create(a[e]);
-                d[f] = a[e]
-            }
-            for (e = 0; e < a.length; e++)
-                if (this.model.isEdge(a[e])) {
-                    var g = this.model.getGeometry(a[e]);
-                    if (null != g) {
-                        var h = this.view.getState(a[e]),
-                            k = this.view.getState(this.model.getParent(a[e]));
-                        if (null != h && null != k) {
-                            var g = g.clone(),
-                                l = -k.origin.x,
-                                m = -k.origin.y,
-                                n = h.absolutePoints,
-                                p = this.model.getTerminal(a[e], !0);
-                            if (null !=
-                                p && this.isCellDisconnectable(a[e], p, !0)) {
-                                for (var q = mxCellPath.create(p); null != p && null == d[q];) p = this.model.getParent(p), q = mxCellPath.create(p);
-                                null == p && (g.setTerminalPoint(new mxPoint(n[0].x / b - c.x + l, n[0].y / b - c.y + m), !0), this.model.setTerminal(a[e], null, !0))
-                            }
-                            var s = this.model.getTerminal(a[e], !1);
-                            if (null != s && this.isCellDisconnectable(a[e], s, !1)) {
-                                for (var r = mxCellPath.create(s); null != s && null == d[r];) s = this.model.getParent(s), r = mxCellPath.create(s);
-                                if (null == s) {
-                                    var t = n.length - 1;
-                                    g.setTerminalPoint(new mxPoint(n[t].x /
-                                        b - c.x + l, n[t].y / b - c.y + m), !1);
-                                    this.model.setTerminal(a[e], null, !1)
-                                }
-                            }
-                            this.model.setGeometry(a[e], g)
-                        }
-                    }
+  if (null != a) {
+    this.model.beginUpdate();
+    try {
+      for (var b = this.view.scale, c = this.view.translate, d = {}, e = 0; e < a.length; e++) {
+        var f = mxCellPath.create(a[e]);
+        d[f] = a[e]
+      }
+      for (e = 0; e < a.length; e++)
+        if (this.model.isEdge(a[e])) {
+          var g = this.model.getGeometry(a[e]);
+          if (null != g) {
+            var h = this.view.getState(a[e]),
+              k = this.view.getState(this.model.getParent(a[e]));
+            if (null != h && null != k) {
+              var g = g.clone(),
+                l = -k.origin.x,
+                m = -k.origin.y,
+                n = h.absolutePoints,
+                p = this.model.getTerminal(a[e], !0);
+              if (null !=
+                p && this.isCellDisconnectable(a[e], p, !0)) {
+                for (var q = mxCellPath.create(p); null != p && null == d[q];) p = this.model.getParent(p), q = mxCellPath.create(p);
+                null == p && (g.setTerminalPoint(new mxPoint(n[0].x / b - c.x + l, n[0].y / b - c.y + m), !0), this.model.setTerminal(a[e], null, !0))
+              }
+              var s = this.model.getTerminal(a[e], !1);
+              if (null != s && this.isCellDisconnectable(a[e], s, !1)) {
+                for (var r = mxCellPath.create(s); null != s && null == d[r];) s = this.model.getParent(s), r = mxCellPath.create(s);
+                if (null == s) {
+                  var t = n.length - 1;
+                  g.setTerminalPoint(new mxPoint(n[t].x /
+                    b - c.x + l, n[t].y / b - c.y + m), !1);
+                  this.model.setTerminal(a[e], null, !1)
                 }
-        } finally {
-            this.model.endUpdate()
+              }
+              this.model.setGeometry(a[e], g)
+            }
+          }
         }
+    } finally {
+      this.model.endUpdate()
     }
+  }
 };
 mxGraph.prototype.getCurrentRoot = function() {
-    return this.view.currentRoot
+  return this.view.currentRoot
 };
 mxGraph.prototype.getTranslateForRoot = function(a) {
-    return null
+  return null
 };
 mxGraph.prototype.isPort = function(a) {
-    return !1
+  return !1
 };
 mxGraph.prototype.getTerminalForPort = function(a, b) {
-    return this.model.getParent(a)
+  return this.model.getParent(a)
 };
 mxGraph.prototype.getChildOffsetForCell = function(a) {
-    return null
+  return null
 };
 mxGraph.prototype.enterGroup = function(a) {
-    a = a || this.getSelectionCell();
-    null != a && this.isValidRoot(a) && (this.view.setCurrentRoot(a), this.clearSelection())
+  a = a || this.getSelectionCell();
+  null != a && this.isValidRoot(a) && (this.view.setCurrentRoot(a), this.clearSelection())
 };
 mxGraph.prototype.exitGroup = function() {
-    var a = this.model.getRoot(),
-        b = this.getCurrentRoot();
-    if (null != b) {
-        for (var c = this.model.getParent(b); c != a && !this.isValidRoot(c) && this.model.getParent(c) != a;) c = this.model.getParent(c);
-        c == a || this.model.getParent(c) == a ? this.view.setCurrentRoot(null) : this.view.setCurrentRoot(c);
-        null != this.view.getState(b) && this.setSelectionCell(b)
-    }
+  var a = this.model.getRoot(),
+    b = this.getCurrentRoot();
+  if (null != b) {
+    for (var c = this.model.getParent(b); c != a && !this.isValidRoot(c) && this.model.getParent(c) != a;) c = this.model.getParent(c);
+    c == a || this.model.getParent(c) == a ? this.view.setCurrentRoot(null) : this.view.setCurrentRoot(c);
+    null != this.view.getState(b) && this.setSelectionCell(b)
+  }
 };
 mxGraph.prototype.home = function() {
-    var a = this.getCurrentRoot();
-    null != a && (this.view.setCurrentRoot(null), null != this.view.getState(a) && this.setSelectionCell(a))
+  var a = this.getCurrentRoot();
+  null != a && (this.view.setCurrentRoot(null), null != this.view.getState(a) && this.setSelectionCell(a))
 };
 mxGraph.prototype.isValidRoot = function(a) {
-    return null != a
+  return null != a
 };
 mxGraph.prototype.getGraphBounds = function() {
-    return this.view.getGraphBounds()
+  return this.view.getGraphBounds()
 };
 mxGraph.prototype.getCellBounds = function(a, b, c) {
-    var d = [a];
-    b && (d = d.concat(this.model.getEdges(a)));
-    d = this.view.getBounds(d);
-    if (c) {
-        c = this.model.getChildCount(a);
-        for (var e = 0; e < c; e++) {
-            var f = this.getCellBounds(this.model.getChildAt(a, e), b, !0);
-            null != d ? d.add(f) : d = f
-        }
+  var d = [a];
+  b && (d = d.concat(this.model.getEdges(a)));
+  d = this.view.getBounds(d);
+  if (c) {
+    c = this.model.getChildCount(a);
+    for (var e = 0; e < c; e++) {
+      var f = this.getCellBounds(this.model.getChildAt(a, e), b, !0);
+      null != d ? d.add(f) : d = f
     }
-    return d
+  }
+  return d
 };
 mxGraph.prototype.getBoundingBoxFromGeometry = function(a, b) {
-    b = null != b ? b : !1;
-    var c = null;
-    if (null != a)
-        for (var d = 0; d < a.length; d++)
-            if (b || this.model.isVertex(a[d])) {
-                var e = this.getCellGeometry(a[d]);
-                if (null != e) {
-                    var f = e.points;
-                    if (null != f && 0 < f.length) {
-                        for (var g = new mxRectangle(f[0].x, f[0].y, 0, 0), h = function(a) {
-                                null != a && g.add(new mxRectangle(a.x, a.y, 0, 0))
-                            }, k = 1; k < f.length; k++) h(f[k]);
-                        h(e.getTerminalPoint(!0));
-                        h(e.getTerminalPoint(!1))
-                    }
-                    null == c ? c = new mxRectangle(e.x, e.y, e.width, e.height) : c.add(e)
-                }
-            }
-    return c
+  b = null != b ? b : !1;
+  var c = null;
+  if (null != a)
+    for (var d = 0; d < a.length; d++)
+      if (b || this.model.isVertex(a[d])) {
+        var e = this.getCellGeometry(a[d]);
+        if (null != e) {
+          var f = e.points;
+          if (null != f && 0 < f.length) {
+            for (var g = new mxRectangle(f[0].x, f[0].y, 0, 0), h = function(a) {
+                null != a && g.add(new mxRectangle(a.x, a.y, 0, 0))
+              }, k = 1; k < f.length; k++) h(f[k]);
+            h(e.getTerminalPoint(!0));
+            h(e.getTerminalPoint(!1))
+          }
+          null == c ? c = new mxRectangle(e.x, e.y, e.width, e.height) : c.add(e)
+        }
+      }
+  return c
 };
 mxGraph.prototype.refresh = function(a) {
-    this.view.clear(a, null == a);
-    this.view.validate();
-    this.sizeDidChange();
-    this.fireEvent(new mxEventObject(mxEvent.REFRESH))
+  this.view.clear(a, null == a);
+  this.view.validate();
+  this.sizeDidChange();
+  this.fireEvent(new mxEventObject(mxEvent.REFRESH))
 };
 mxGraph.prototype.snap = function(a) {
-    this.gridEnabled && (a = Math.round(a / this.gridSize) * this.gridSize);
-    return a
+  this.gridEnabled && (a = Math.round(a / this.gridSize) * this.gridSize);
+  return a
 };
 mxGraph.prototype.panGraph = function(a, b) {
-    if (this.useScrollbarsForPanning && mxUtils.hasScrollbars(this.container)) this.container.scrollLeft = -a, this.container.scrollTop = -b;
-    else {
-        var c = this.view.getCanvas();
-        if (this.dialect == mxConstants.DIALECT_SVG)
-            if (0 == a && 0 == b) {
-                if (mxClient.IS_IE ? c.setAttribute("transform", "translate(" + a + "," + b + ")") : c.removeAttribute("transform"), null != this.shiftPreview1) {
-                    for (var d = this.shiftPreview1.firstChild; null != d;) {
-                        var e = d.nextSibling;
-                        this.container.appendChild(d);
-                        d = e
-                    }
-                    this.shiftPreview1.parentNode.removeChild(this.shiftPreview1);
-                    this.shiftPreview1 = null;
-                    this.container.appendChild(c.parentNode);
-                    for (d = this.shiftPreview2.firstChild; null != d;) e = d.nextSibling, this.container.appendChild(d), d = e;
-                    this.shiftPreview2.parentNode.removeChild(this.shiftPreview2);
-                    this.shiftPreview2 = null
-                }
-            } else {
-                c.setAttribute("transform", "translate(" + a + "," + b + ")");
-                if (null == this.shiftPreview1) {
-                    this.shiftPreview1 = document.createElement("div");
-                    this.shiftPreview1.style.position = "absolute";
-                    this.shiftPreview1.style.overflow = "visible";
-                    this.shiftPreview2 = document.createElement("div");
-                    this.shiftPreview2.style.position = "absolute";
-                    this.shiftPreview2.style.overflow = "visible";
-                    for (var f = this.shiftPreview1, d = this.container.firstChild; null != d;) e = d.nextSibling, d != c.parentNode ? f.appendChild(d) : f = this.shiftPreview2, d = e;
-                    this.container.insertBefore(this.shiftPreview1, c.parentNode);
-                    this.container.appendChild(this.shiftPreview2)
-                }
-                this.shiftPreview1.style.left = a + "px";
-                this.shiftPreview1.style.top = b + "px";
-                this.shiftPreview2.style.left = a + "px";
-                this.shiftPreview2.style.top = b + "px"
-            } else c.style.left =
-            a + "px", c.style.top = b + "px";
-        this.panDx = a;
-        this.panDy = b;
-        this.fireEvent(new mxEventObject(mxEvent.PAN))
-    }
+  if (this.useScrollbarsForPanning && mxUtils.hasScrollbars(this.container)) this.container.scrollLeft = -a, this.container.scrollTop = -b;
+  else {
+    var c = this.view.getCanvas();
+    if (this.dialect == mxConstants.DIALECT_SVG)
+      if (0 == a && 0 == b) {
+        if (mxClient.IS_IE ? c.setAttribute("transform", "translate(" + a + "," + b + ")") : c.removeAttribute("transform"), null != this.shiftPreview1) {
+          for (var d = this.shiftPreview1.firstChild; null != d;) {
+            var e = d.nextSibling;
+            this.container.appendChild(d);
+            d = e
+          }
+          this.shiftPreview1.parentNode.removeChild(this.shiftPreview1);
+          this.shiftPreview1 = null;
+          this.container.appendChild(c.parentNode);
+          for (d = this.shiftPreview2.firstChild; null != d;) e = d.nextSibling, this.container.appendChild(d), d = e;
+          this.shiftPreview2.parentNode.removeChild(this.shiftPreview2);
+          this.shiftPreview2 = null
+        }
+      } else {
+        c.setAttribute("transform", "translate(" + a + "," + b + ")");
+        if (null == this.shiftPreview1) {
+          this.shiftPreview1 = document.createElement("div");
+          this.shiftPreview1.style.position = "absolute";
+          this.shiftPreview1.style.overflow = "visible";
+          this.shiftPreview2 = document.createElement("div");
+          this.shiftPreview2.style.position = "absolute";
+          this.shiftPreview2.style.overflow = "visible";
+          for (var f = this.shiftPreview1, d = this.container.firstChild; null != d;) e = d.nextSibling, d != c.parentNode ? f.appendChild(d) : f = this.shiftPreview2, d = e;
+          this.container.insertBefore(this.shiftPreview1, c.parentNode);
+          this.container.appendChild(this.shiftPreview2)
+        }
+        this.shiftPreview1.style.left = a + "px";
+        this.shiftPreview1.style.top = b + "px";
+        this.shiftPreview2.style.left = a + "px";
+        this.shiftPreview2.style.top = b + "px"
+      } else c.style.left =
+      a + "px", c.style.top = b + "px";
+    this.panDx = a;
+    this.panDy = b;
+    this.fireEvent(new mxEventObject(mxEvent.PAN))
+  }
 };
 mxGraph.prototype.zoomIn = function() {
-    this.zoom(this.zoomFactor)
+  this.zoom(this.zoomFactor)
 };
 mxGraph.prototype.zoomOut = function() {
-    this.zoom(1 / this.zoomFactor)
+  this.zoom(1 / this.zoomFactor)
 };
 mxGraph.prototype.zoomActual = function() {
-    1 == this.view.scale ? this.view.setTranslate(0, 0) : (this.view.translate.x = 0, this.view.translate.y = 0, this.view.setScale(1))
+  1 == this.view.scale ? this.view.setTranslate(0, 0) : (this.view.translate.x = 0, this.view.translate.y = 0, this.view.setScale(1))
 };
 mxGraph.prototype.zoomTo = function(a, b) {
-    this.zoom(a / this.view.scale, b)
+  this.zoom(a / this.view.scale, b)
 };
 mxGraph.prototype.zoom = function(a, b) {
-    b = null != b ? b : this.centerZoom;
-    var c = this.view.scale * a,
-        d = this.view.getState(this.getSelectionCell());
-    if (this.keepSelectionVisibleOnZoom && null != d) d = new mxRectangle(d.x * a, d.y * a, d.width * a, d.height * a), this.view.scale = c, this.scrollRectToVisible(d) || (this.view.revalidate(), this.view.setScale(c));
-    else if (b && !mxUtils.hasScrollbars(this.container)) {
-        var d = this.container.offsetWidth,
-            e = this.container.offsetHeight;
-        if (1 < a) var f = (a - 1) / (2 * c),
-            d = d * -f,
-            e = e * -f;
-        else f = (1 / a - 1) / (2 * this.view.scale),
-            d *= f, e *= f;
-        this.view.scaleAndTranslate(c, this.view.translate.x + d, this.view.translate.y + e)
-    } else this.view.setScale(c), mxUtils.hasScrollbars(this.container) && (e = d = 0, b && (d = this.container.offsetWidth * (a - 1) / 2, e = this.container.offsetHeight * (a - 1) / 2), this.container.scrollLeft = Math.round(this.container.scrollLeft * a + d), this.container.scrollTop = Math.round(this.container.scrollTop * a + e))
+  b = null != b ? b : this.centerZoom;
+  var c = this.view.scale * a,
+    d = this.view.getState(this.getSelectionCell());
+  if (this.keepSelectionVisibleOnZoom && null != d) d = new mxRectangle(d.x * a, d.y * a, d.width * a, d.height * a), this.view.scale = c, this.scrollRectToVisible(d) || (this.view.revalidate(),
+    this.view.setScale(c));
+  else if (b && !mxUtils.hasScrollbars(this.container)) {
+    var d = this.container.offsetWidth,
+      e = this.container.offsetHeight;
+    if (1 < a) var f = (a - 1) / (2 * c),
+      d = d * -f,
+      e = e * -f;
+    else f = (1 / a - 1) / (2 * this.view.scale),
+      d *= f, e *= f;
+    this.view.scaleAndTranslate(c, this.view.translate.x + d, this.view.translate.y + e)
+  } else this.view.setScale(c), mxUtils.hasScrollbars(this.container) && (e = d = 0, b && (d = this.container.offsetWidth * (a - 1) / 2, e = this.container.offsetHeight * (a - 1) / 2), this.container
+    .scrollLeft = Math.round(this.container.scrollLeft * a + d), this.container.scrollTop = Math.round(this.container.scrollTop * a + e))
 };
 mxGraph.prototype.zoomToRect = function(a) {
-    var b = this.container.clientWidth / a.width / (this.container.clientHeight / a.height);
-    a.x = Math.max(0, a.x);
-    a.y = Math.max(0, a.y);
-    var c = Math.min(this.container.scrollWidth, a.x + a.width),
-        d = Math.min(this.container.scrollHeight, a.y + a.height);
-    a.width = c - a.x;
-    a.height = d - a.y;
-    1 > b ? (b = a.height / b, c = (b - a.height) / 2, a.height = b, b = Math.min(a.y, c), a.y -= b, d = Math.min(this.container.scrollHeight, a.y + a.height), a.height = d - a.y) : (b *= a.width, c = (b - a.width) / 2, a.width = b, b = Math.min(a.x, c), a.x -= b,
-        c = Math.min(this.container.scrollWidth, a.x + a.width), a.width = c - a.x);
-    b = this.container.clientWidth / a.width;
-    c = this.view.scale * b;
-    mxUtils.hasScrollbars(this.container) ? (this.view.setScale(c), this.container.scrollLeft = Math.round(a.x * b), this.container.scrollTop = Math.round(a.y * b)) : this.view.scaleAndTranslate(c, this.view.translate.x - a.x / this.view.scale, this.view.translate.y - a.y / this.view.scale)
+  var b = this.container.clientWidth / a.width / (this.container.clientHeight / a.height);
+  a.x = Math.max(0, a.x);
+  a.y = Math.max(0, a.y);
+  var c = Math.min(this.container.scrollWidth, a.x + a.width),
+    d = Math.min(this.container.scrollHeight, a.y + a.height);
+  a.width = c - a.x;
+  a.height = d - a.y;
+  1 > b ? (b = a.height / b, c = (b - a.height) / 2, a.height = b, b = Math.min(a.y, c), a.y -= b, d = Math.min(this.container.scrollHeight, a.y + a.height), a.height = d - a.y) : (b *= a.width, c =
+    (b - a.width) / 2, a.width = b, b = Math.min(a.x, c), a.x -= b,
+    c = Math.min(this.container.scrollWidth, a.x + a.width), a.width = c - a.x);
+  b = this.container.clientWidth / a.width;
+  c = this.view.scale * b;
+  mxUtils.hasScrollbars(this.container) ? (this.view.setScale(c), this.container.scrollLeft = Math.round(a.x * b), this.container.scrollTop = Math.round(a.y * b)) : this.view.scaleAndTranslate(c,
+    this.view.translate.x - a.x / this.view.scale, this.view.translate.y - a.y / this.view.scale)
 };
 mxGraph.prototype.fit = function(a, b) {
-    if (null != this.container) {
-        a = null != a ? a : 0;
-        b = null != b ? b : !1;
-        var c = this.container.clientWidth,
-            d = this.container.clientHeight,
-            e = this.view.getGraphBounds();
-        b && (null != e.x && null != e.y) && (e.width += e.x, e.height += e.y, e.x = 0, e.y = 0);
-        var f = this.view.scale,
-            g = e.width / f,
-            h = e.height / f;
-        null != this.backgroundImage && (g = Math.max(g, this.backgroundImage.width - e.x / f), h = Math.max(h, this.backgroundImage.height - e.y / f));
-        var k = b ? a : 2 * a,
-            c = Math.floor(100 * Math.min(c / (g + k), d / (h + k))) / 100;
-        null != this.minFitScale &&
-            (c = Math.max(c, this.minFitScale));
-        null != this.maxFitScale && (c = Math.min(c, this.maxFitScale));
-        b ? this.view.scale != c && this.view.setScale(c) : mxUtils.hasScrollbars(this.container) ? (this.view.setScale(c), null != e.x && (this.container.scrollLeft = Math.round(e.x / f) * c - a - Math.max(0, (this.container.clientWidth - g * c) / 2)), null != e.y && (this.container.scrollTop = Math.round(e.y / f) * c - a - Math.max(0, (this.container.clientHeight - h * c) / 2))) : this.view.scaleAndTranslate(c, null != e.x ? Math.floor(this.view.translate.x - e.x / f + a + 1) : a, null !=
-            e.y ? Math.floor(this.view.translate.y - e.y / f + a + 1) : a)
-    }
-    return this.view.scale
+  if (null != this.container) {
+    a = null != a ? a : 0;
+    b = null != b ? b : !1;
+    var c = this.container.clientWidth,
+      d = this.container.clientHeight,
+      e = this.view.getGraphBounds();
+    b && (null != e.x && null != e.y) && (e.width += e.x, e.height += e.y, e.x = 0, e.y = 0);
+    var f = this.view.scale,
+      g = e.width / f,
+      h = e.height / f;
+    null != this.backgroundImage && (g = Math.max(g, this.backgroundImage.width - e.x / f), h = Math.max(h, this.backgroundImage.height - e.y / f));
+    var k = b ? a : 2 * a,
+      c = Math.floor(100 * Math.min(c / (g + k), d / (h + k))) / 100;
+    null != this.minFitScale &&
+      (c = Math.max(c, this.minFitScale));
+    null != this.maxFitScale && (c = Math.min(c, this.maxFitScale));
+    b ? this.view.scale != c && this.view.setScale(c) : mxUtils.hasScrollbars(this.container) ? (this.view.setScale(c), null != e.x && (this.container.scrollLeft = Math.round(e.x / f) * c - a -
+        Math.max(0, (this.container.clientWidth - g * c) / 2)), null != e.y && (this.container.scrollTop = Math.round(e.y / f) * c - a - Math.max(0, (this.container.clientHeight - h * c) / 2))) :
+      this.view.scaleAndTranslate(c, null != e.x ? Math.floor(this.view.translate.x - e.x / f + a + 1) : a, null !=
+        e.y ? Math.floor(this.view.translate.y - e.y / f + a + 1) : a)
+  }
+  return this.view.scale
 };
 mxGraph.prototype.scrollCellToVisible = function(a, b) {
-    var c = -this.view.translate.x,
-        d = -this.view.translate.y,
-        e = this.view.getState(a);
-    null != e && (c = new mxRectangle(c + e.x, d + e.y, e.width, e.height), b && null != this.container && (d = this.container.clientWidth, e = this.container.clientHeight, c.x = c.getCenterX() - d / 2, c.width = d, c.y = c.getCenterY() - e / 2, c.height = e), this.scrollRectToVisible(c) && this.view.setTranslate(this.view.translate.x, this.view.translate.y))
+  var c = -this.view.translate.x,
+    d = -this.view.translate.y,
+    e = this.view.getState(a);
+  null != e && (c = new mxRectangle(c + e.x, d + e.y, e.width, e.height), b && null != this.container && (d = this.container.clientWidth, e = this.container.clientHeight, c.x = c.getCenterX() - d /
+    2, c.width = d, c.y = c.getCenterY() - e / 2, c.height = e), this.scrollRectToVisible(c) && this.view.setTranslate(this.view.translate.x, this.view.translate.y))
 };
 mxGraph.prototype.scrollRectToVisible = function(a) {
-    var b = !1;
-    if (null != a) {
-        var c = this.container.offsetWidth,
-            d = this.container.offsetHeight,
-            e = Math.min(c, a.width),
-            f = Math.min(d, a.height);
-        if (mxUtils.hasScrollbars(this.container)) {
-            c = this.container;
-            a.x += this.view.translate.x;
-            a.y += this.view.translate.y;
-            var g = c.scrollLeft - a.x,
-                d = Math.max(g - c.scrollLeft, 0);
-            0 < g ? c.scrollLeft -= g + 2 : (g = a.x + e - c.scrollLeft - c.clientWidth, 0 < g && (c.scrollLeft += g + 2));
-            e = c.scrollTop - a.y;
-            g = Math.max(0, e - c.scrollTop);
-            0 < e ? c.scrollTop -= e + 2 : (e = a.y +
-                f - c.scrollTop - c.clientHeight, 0 < e && (c.scrollTop += e + 2));
-            !this.useScrollbarsForPanning && (0 != d || 0 != g) && this.view.setTranslate(d, g)
-        } else {
-            var g = -this.view.translate.x,
-                h = -this.view.translate.y,
-                k = this.view.scale;
-            a.x + e > g + c && (this.view.translate.x -= (a.x + e - c - g) / k, b = !0);
-            a.y + f > h + d && (this.view.translate.y -= (a.y + f - d - h) / k, b = !0);
-            a.x < g && (this.view.translate.x += (g - a.x) / k, b = !0);
-            a.y < h && (this.view.translate.y += (h - a.y) / k, b = !0);
-            b && (this.view.refresh(), null != this.selectionCellsHandler && this.selectionCellsHandler.refresh())
-        }
-    }
-    return b
+  var b = !1;
+  if (null != a) {
+    var c = this.container.offsetWidth,
+      d = this.container.offsetHeight,
+      e = Math.min(c, a.width),
+      f = Math.min(d, a.height);
+    if (mxUtils.hasScrollbars(this.container)) {
+      c = this.container;
+      a.x += this.view.translate.x;
+      a.y += this.view.translate.y;
+      var g = c.scrollLeft - a.x,
+        d = Math.max(g - c.scrollLeft, 0);
+      0 < g ? c.scrollLeft -= g + 2 : (g = a.x + e - c.scrollLeft - c.clientWidth, 0 < g && (c.scrollLeft += g + 2));
+      e = c.scrollTop - a.y;
+      g = Math.max(0, e - c.scrollTop);
+      0 < e ? c.scrollTop -= e + 2 : (e = a.y +
+        f - c.scrollTop - c.clientHeight, 0 < e && (c.scrollTop += e + 2));
+      !this.useScrollbarsForPanning && (0 != d || 0 != g) && this.view.setTranslate(d, g)
+    } else {
+      var g = -this.view.translate.x,
+        h = -this.view.translate.y,
+        k = this.view.scale;
+      a.x + e > g + c && (this.view.translate.x -= (a.x + e - c - g) / k, b = !0);
+      a.y + f > h + d && (this.view.translate.y -= (a.y + f - d - h) / k, b = !0);
+      a.x < g && (this.view.translate.x += (g - a.x) / k, b = !0);
+      a.y < h && (this.view.translate.y += (h - a.y) / k, b = !0);
+      b && (this.view.refresh(), null != this.selectionCellsHandler && this.selectionCellsHandler.refresh())
+    }
+  }
+  return b
 };
 mxGraph.prototype.getCellGeometry = function(a) {
-    return this.model.getGeometry(a)
+  return this.model.getGeometry(a)
 };
 mxGraph.prototype.isCellVisible = function(a) {
-    return this.model.isVisible(a)
+  return this.model.isVisible(a)
 };
 mxGraph.prototype.isCellCollapsed = function(a) {
-    return this.model.isCollapsed(a)
+  return this.model.isCollapsed(a)
 };
 mxGraph.prototype.isCellConnectable = function(a) {
-    return this.model.isConnectable(a)
+  return this.model.isConnectable(a)
 };
 mxGraph.prototype.isOrthogonal = function(a) {
-    var b = a.style[mxConstants.STYLE_ORTHOGONAL];
-    if (null != b) return b;
-    a = this.view.getEdgeStyle(a);
-    return a == mxEdgeStyle.SegmentConnector || a == mxEdgeStyle.ElbowConnector || a == mxEdgeStyle.SideToSide || a == mxEdgeStyle.TopToBottom || a == mxEdgeStyle.EntityRelation || a == mxEdgeStyle.OrthConnector
+  var b = a.style[mxConstants.STYLE_ORTHOGONAL];
+  if (null != b) return b;
+  a = this.view.getEdgeStyle(a);
+  return a == mxEdgeStyle.SegmentConnector || a == mxEdgeStyle.ElbowConnector || a == mxEdgeStyle.SideToSide || a == mxEdgeStyle.TopToBottom || a == mxEdgeStyle.EntityRelation || a == mxEdgeStyle.OrthConnector
 };
 mxGraph.prototype.isLoop = function(a) {
-    var b = a.getVisibleTerminalState(!0);
-    a = a.getVisibleTerminalState(!1);
-    return null != b && b == a
+  var b = a.getVisibleTerminalState(!0);
+  a = a.getVisibleTerminalState(!1);
+  return null != b && b == a
 };
 mxGraph.prototype.isCloneEvent = function(a) {
-    return mxEvent.isControlDown(a)
+  return mxEvent.isControlDown(a)
 };
 mxGraph.prototype.isToggleEvent = function(a) {
-    return mxClient.IS_MAC ? mxEvent.isMetaDown(a) : mxEvent.isControlDown(a)
+  return mxClient.IS_MAC ? mxEvent.isMetaDown(a) : mxEvent.isControlDown(a)
 };
 mxGraph.prototype.isGridEnabledEvent = function(a) {
-    return null != a && !mxEvent.isAltDown(a)
+  return null != a && !mxEvent.isAltDown(a)
 };
 mxGraph.prototype.isConstrainedEvent = function(a) {
-    return mxEvent.isShiftDown(a)
+  return mxEvent.isShiftDown(a)
 };
 mxGraph.prototype.isForceMarqueeEvent = function(a) {
-    return mxEvent.isAltDown(a)
+  return mxEvent.isAltDown(a)
 };
 mxGraph.prototype.validationAlert = function(a) {
-    mxUtils.alert(a)
+  mxUtils.alert(a)
 };
 mxGraph.prototype.isEdgeValid = function(a, b, c) {
-    return null == this.getEdgeValidationError(a, b, c)
+  return null == this.getEdgeValidationError(a, b, c)
 };
 mxGraph.prototype.getEdgeValidationError = function(a, b, c) {
-    if (null != a && !this.isAllowDanglingEdges() && (null == b || null == c)) return "";
-    if (null != a && null == this.model.getTerminal(a, !0) && null == this.model.getTerminal(a, !1)) return null;
-    if (!this.allowLoops && b == c && null != b || !this.isValidConnection(b, c)) return "";
-    if (null != b && null != c) {
-        var d = "";
-        if (!this.multigraph) {
-            var e = this.model.getEdgesBetween(b, c, !0);
-            if (1 < e.length || 1 == e.length && e[0] != a) d += (mxResources.get(this.alreadyConnectedResource) || this.alreadyConnectedResource) +
-                "\n"
-        }
-        var e = this.model.getDirectedEdgeCount(b, !0, a),
-            f = this.model.getDirectedEdgeCount(c, !1, a);
-        if (null != this.multiplicities)
-            for (var g = 0; g < this.multiplicities.length; g++) {
-                var h = this.multiplicities[g].check(this, a, b, c, e, f);
-                null != h && (d += h)
-            }
-        h = this.validateEdge(a, b, c);
-        null != h && (d += h);
-        return 0 < d.length ? d : null
+  if (null != a && !this.isAllowDanglingEdges() && (null == b || null == c)) return "";
+  if (null != a && null == this.model.getTerminal(a, !0) && null == this.model.getTerminal(a, !1)) return null;
+  if (!this.allowLoops && b == c && null != b || !this.isValidConnection(b, c)) return "";
+  if (null != b && null != c) {
+    var d = "";
+    if (!this.multigraph) {
+      var e = this.model.getEdgesBetween(b, c, !0);
+      if (1 < e.length || 1 == e.length && e[0] != a) d += (mxResources.get(this.alreadyConnectedResource) || this.alreadyConnectedResource) +
+        "\n"
     }
-    return this.allowDanglingEdges ? null : ""
+    var e = this.model.getDirectedEdgeCount(b, !0, a),
+      f = this.model.getDirectedEdgeCount(c, !1, a);
+    if (null != this.multiplicities)
+      for (var g = 0; g < this.multiplicities.length; g++) {
+        var h = this.multiplicities[g].check(this, a, b, c, e, f);
+        null != h && (d += h)
+      }
+    h = this.validateEdge(a, b, c);
+    null != h && (d += h);
+    return 0 < d.length ? d : null
+  }
+  return this.allowDanglingEdges ? null : ""
 };
 mxGraph.prototype.validateEdge = function(a, b, c) {
-    return null
+  return null
 };
 mxGraph.prototype.validateGraph = function(a, b) {
-    a = null != a ? a : this.model.getRoot();
-    b = null != b ? b : {};
-    for (var c = !0, d = this.model.getChildCount(a), e = 0; e < d; e++) {
-        var f = this.model.getChildAt(a, e),
-            g = b;
-        this.isValidRoot(f) && (g = {});
-        g = this.validateGraph(f, g);
-        null != g ? this.setCellWarning(f, g.replace(/\n/g, "\x3cbr\x3e")) : this.setCellWarning(f, null);
-        c = c && null == g
-    }
-    d = "";
-    this.isCellCollapsed(a) && !c && (d += (mxResources.get(this.containsValidationErrorsResource) || this.containsValidationErrorsResource) + "\n");
-    d = this.model.isEdge(a) ?
-        d + (this.getEdgeValidationError(a, this.model.getTerminal(a, !0), this.model.getTerminal(a, !1)) || "") : d + (this.getCellValidationError(a) || "");
-    e = this.validateCell(a, b);
-    null != e && (d += e);
-    null == this.model.getParent(a) && this.view.validate();
-    return 0 < d.length || !c ? d : null
+  a = null != a ? a : this.model.getRoot();
+  b = null != b ? b : {};
+  for (var c = !0, d = this.model.getChildCount(a), e = 0; e < d; e++) {
+    var f = this.model.getChildAt(a, e),
+      g = b;
+    this.isValidRoot(f) && (g = {});
+    g = this.validateGraph(f, g);
+    null != g ? this.setCellWarning(f, g.replace(/\n/g, "\x3cbr\x3e")) : this.setCellWarning(f, null);
+    c = c && null == g
+  }
+  d = "";
+  this.isCellCollapsed(a) && !c && (d += (mxResources.get(this.containsValidationErrorsResource) || this.containsValidationErrorsResource) + "\n");
+  d = this.model.isEdge(a) ?
+    d + (this.getEdgeValidationError(a, this.model.getTerminal(a, !0), this.model.getTerminal(a, !1)) || "") : d + (this.getCellValidationError(a) || "");
+  e = this.validateCell(a, b);
+  null != e && (d += e);
+  null == this.model.getParent(a) && this.view.validate();
+  return 0 < d.length || !c ? d : null
 };
 mxGraph.prototype.getCellValidationError = function(a) {
-    var b = this.model.getDirectedEdgeCount(a, !0),
-        c = this.model.getDirectedEdgeCount(a, !1);
-    a = this.model.getValue(a);
-    var d = "";
-    if (null != this.multiplicities)
-        for (var e = 0; e < this.multiplicities.length; e++) {
-            var f = this.multiplicities[e];
-            if (f.source && mxUtils.isNode(a, f.type, f.attr, f.value) && (0 == f.max && 0 < b || 1 == f.min && 0 == b || 1 == f.max && 1 < b)) d += f.countError + "\n";
-            else if (!f.source && mxUtils.isNode(a, f.type, f.attr, f.value) && (0 == f.max && 0 < c || 1 == f.min && 0 == c || 1 == f.max && 1 <
-                    c)) d += f.countError + "\n"
-        }
-    return 0 < d.length ? d : null
+  var b = this.model.getDirectedEdgeCount(a, !0),
+    c = this.model.getDirectedEdgeCount(a, !1);
+  a = this.model.getValue(a);
+  var d = "";
+  if (null != this.multiplicities)
+    for (var e = 0; e < this.multiplicities.length; e++) {
+      var f = this.multiplicities[e];
+      if (f.source && mxUtils.isNode(a, f.type, f.attr, f.value) && (0 == f.max && 0 < b || 1 == f.min && 0 == b || 1 == f.max && 1 < b)) d += f.countError + "\n";
+      else if (!f.source && mxUtils.isNode(a, f.type, f.attr, f.value) && (0 == f.max && 0 < c || 1 == f.min && 0 == c || 1 == f.max && 1 <
+          c)) d += f.countError + "\n"
+    }
+  return 0 < d.length ? d : null
 };
 mxGraph.prototype.validateCell = function(a, b) {
-    return null
+  return null
 };
 mxGraph.prototype.getBackgroundImage = function() {
-    return this.backgroundImage
+  return this.backgroundImage
 };
 mxGraph.prototype.setBackgroundImage = function(a) {
-    this.backgroundImage = a
+  this.backgroundImage = a
 };
 mxGraph.prototype.getFoldingImage = function(a) {
-    if (null != a && this.foldingEnabled && !this.getModel().isEdge(a.cell)) {
-        var b = this.isCellCollapsed(a.cell);
-        if (this.isCellFoldable(a.cell, !b)) return b ? this.collapsedImage : this.expandedImage
-    }
-    return null
+  if (null != a && this.foldingEnabled && !this.getModel().isEdge(a.cell)) {
+    var b = this.isCellCollapsed(a.cell);
+    if (this.isCellFoldable(a.cell, !b)) return b ? this.collapsedImage : this.expandedImage
+  }
+  return null
 };
 mxGraph.prototype.convertValueToString = function(a) {
-    a = this.model.getValue(a);
-    if (null != a) {
-        if (mxUtils.isNode(a)) return a.nodeName;
-        if ("function" == typeof a.toString) return a.toString()
-    }
-    return ""
+  a = this.model.getValue(a);
+  if (null != a) {
+    if (mxUtils.isNode(a)) return a.nodeName;
+    if ("function" == typeof a.toString) return a.toString()
+  }
+  return ""
 };
 mxGraph.prototype.getLabel = function(a) {
-    var b = "";
-    if (this.labelsVisible && null != a) {
-        var c = this.view.getState(a),
-            c = null != c ? c.style : this.getCellStyle(a);
-        mxUtils.getValue(c, mxConstants.STYLE_NOLABEL, !1) || (b = this.convertValueToString(a))
-    }
-    return b
+  var b = "";
+  if (this.labelsVisible && null != a) {
+    var c = this.view.getState(a),
+      c = null != c ? c.style : this.getCellStyle(a);
+    mxUtils.getValue(c, mxConstants.STYLE_NOLABEL, !1) || (b = this.convertValueToString(a))
+  }
+  return b
 };
 mxGraph.prototype.isHtmlLabel = function(a) {
-    return this.isHtmlLabels()
+  return this.isHtmlLabels()
 };
 mxGraph.prototype.isHtmlLabels = function() {
-    return this.htmlLabels
+  return this.htmlLabels
 };
 mxGraph.prototype.setHtmlLabels = function(a) {
-    this.htmlLabels = a
+  this.htmlLabels = a
 };
 mxGraph.prototype.isWrapping = function(a) {
-    var b = this.view.getState(a);
-    a = null != b ? b.style : this.getCellStyle(a);
-    return null != a ? "wrap" == a[mxConstants.STYLE_WHITE_SPACE] : !1
+  var b = this.view.getState(a);
+  a = null != b ? b.style : this.getCellStyle(a);
+  return null != a ? "wrap" == a[mxConstants.STYLE_WHITE_SPACE] : !1
 };
 mxGraph.prototype.isLabelClipped = function(a) {
-    var b = this.view.getState(a);
-    a = null != b ? b.style : this.getCellStyle(a);
-    return null != a ? "hidden" == a[mxConstants.STYLE_OVERFLOW] : !1
+  var b = this.view.getState(a);
+  a = null != b ? b.style : this.getCellStyle(a);
+  return null != a ? "hidden" == a[mxConstants.STYLE_OVERFLOW] : !1
 };
 mxGraph.prototype.getTooltip = function(a, b, c, d) {
-    var e = null;
-    if (null != a) {
-        if (null != a.control && (b == a.control.node || b.parentNode == a.control.node)) e = this.collapseExpandResource, e = mxResources.get(e) || e;
-        null == e && null != a.overlays && a.overlays.visit(function(a, c) {
-            if (null == e && (b == c.node || b.parentNode == c.node)) e = c.overlay.toString()
-        });
-        null == e && (c = this.selectionCellsHandler.getHandler(a.cell), null != c && "function" == typeof c.getTooltipForNode && (e = c.getTooltipForNode(b)));
-        null == e && (e = this.getTooltipForCell(a.cell))
-    }
-    return e
+  var e = null;
+  if (null != a) {
+    if (null != a.control && (b == a.control.node || b.parentNode == a.control.node)) e = this.collapseExpandResource, e = mxResources.get(e) || e;
+    null == e && null != a.overlays && a.overlays.visit(function(a, c) {
+      if (null == e && (b == c.node || b.parentNode == c.node)) e = c.overlay.toString()
+    });
+    null == e && (c = this.selectionCellsHandler.getHandler(a.cell), null != c && "function" == typeof c.getTooltipForNode && (e = c.getTooltipForNode(b)));
+    null == e && (e = this.getTooltipForCell(a.cell))
+  }
+  return e
 };
 mxGraph.prototype.getTooltipForCell = function(a) {
-    var b = null;
-    return b = null != a && null != a.getTooltip ? a.getTooltip() : this.convertValueToString(a)
+  var b = null;
+  return b = null != a && null != a.getTooltip ? a.getTooltip() : this.convertValueToString(a)
 };
 mxGraph.prototype.getCursorForCell = function(a) {
-    return null
+  return null
 };
 mxGraph.prototype.getStartSize = function(a) {
-    var b = new mxRectangle,
-        c = this.view.getState(a);
-    a = null != c ? c.style : this.getCellStyle(a);
-    null != a && (c = parseInt(mxUtils.getValue(a, mxConstants.STYLE_STARTSIZE, mxConstants.DEFAULT_STARTSIZE)), mxUtils.getValue(a, mxConstants.STYLE_HORIZONTAL, !0) ? b.height = c : b.width = c);
-    return b
+  var b = new mxRectangle,
+    c = this.view.getState(a);
+  a = null != c ? c.style : this.getCellStyle(a);
+  null != a && (c = parseInt(mxUtils.getValue(a, mxConstants.STYLE_STARTSIZE, mxConstants.DEFAULT_STARTSIZE)), mxUtils.getValue(a, mxConstants.STYLE_HORIZONTAL, !0) ? b.height = c : b.width = c);
+  return b
 };
 mxGraph.prototype.getImage = function(a) {
-    return null != a && null != a.style ? a.style[mxConstants.STYLE_IMAGE] : null
+  return null != a && null != a.style ? a.style[mxConstants.STYLE_IMAGE] : null
 };
 mxGraph.prototype.getVerticalAlign = function(a) {
-    return null != a && null != a.style ? a.style[mxConstants.STYLE_VERTICAL_ALIGN] || mxConstants.ALIGN_MIDDLE : null
+  return null != a && null != a.style ? a.style[mxConstants.STYLE_VERTICAL_ALIGN] || mxConstants.ALIGN_MIDDLE : null
 };
 mxGraph.prototype.getIndicatorColor = function(a) {
-    return null != a && null != a.style ? a.style[mxConstants.STYLE_INDICATOR_COLOR] : null
+  return null != a && null != a.style ? a.style[mxConstants.STYLE_INDICATOR_COLOR] : null
 };
 mxGraph.prototype.getIndicatorGradientColor = function(a) {
-    return null != a && null != a.style ? a.style[mxConstants.STYLE_INDICATOR_GRADIENTCOLOR] : null
+  return null != a && null != a.style ? a.style[mxConstants.STYLE_INDICATOR_GRADIENTCOLOR] : null
 };
 mxGraph.prototype.getIndicatorShape = function(a) {
-    return null != a && null != a.style ? a.style[mxConstants.STYLE_INDICATOR_SHAPE] : null
+  return null != a && null != a.style ? a.style[mxConstants.STYLE_INDICATOR_SHAPE] : null
 };
 mxGraph.prototype.getIndicatorImage = function(a) {
-    return null != a && null != a.style ? a.style[mxConstants.STYLE_INDICATOR_IMAGE] : null
+  return null != a && null != a.style ? a.style[mxConstants.STYLE_INDICATOR_IMAGE] : null
 };
 mxGraph.prototype.getBorder = function() {
-    return this.border
+  return this.border
 };
 mxGraph.prototype.setBorder = function(a) {
-    this.border = a
+  this.border = a
 };
 mxGraph.prototype.isSwimlane = function(a) {
-    if (null != a && this.model.getParent(a) != this.model.getRoot()) {
-        var b = this.view.getState(a),
-            b = null != b ? b.style : this.getCellStyle(a);
-        if (null != b && !this.model.isEdge(a)) return b[mxConstants.STYLE_SHAPE] == mxConstants.SHAPE_SWIMLANE
-    }
-    return !1
+  if (null != a && this.model.getParent(a) != this.model.getRoot()) {
+    var b = this.view.getState(a),
+      b = null != b ? b.style : this.getCellStyle(a);
+    if (null != b && !this.model.isEdge(a)) return b[mxConstants.STYLE_SHAPE] == mxConstants.SHAPE_SWIMLANE
+  }
+  return !1
 };
 mxGraph.prototype.isResizeContainer = function() {
-    return this.resizeContainer
+  return this.resizeContainer
 };
 mxGraph.prototype.setResizeContainer = function(a) {
-    this.resizeContainer = a
+  this.resizeContainer = a
 };
 mxGraph.prototype.isEnabled = function() {
-    return this.enabled
+  return this.enabled
 };
 mxGraph.prototype.setEnabled = function(a) {
-    this.enabled = a
+  this.enabled = a
 };
 mxGraph.prototype.isEscapeEnabled = function() {
-    return this.escapeEnabled
+  return this.escapeEnabled
 };
 mxGraph.prototype.setEscapeEnabled = function(a) {
-    this.escapeEnabled = a
+  this.escapeEnabled = a
 };
 mxGraph.prototype.isInvokesStopCellEditing = function() {
-    return this.invokesStopCellEditing
+  return this.invokesStopCellEditing
 };
 mxGraph.prototype.setInvokesStopCellEditing = function(a) {
-    this.invokesStopCellEditing = a
+  this.invokesStopCellEditing = a
 };
 mxGraph.prototype.isEnterStopsCellEditing = function() {
-    return this.enterStopsCellEditing
+  return this.enterStopsCellEditing
 };
 mxGraph.prototype.setEnterStopsCellEditing = function(a) {
-    this.enterStopsCellEditing = a
+  this.enterStopsCellEditing = a
 };
 mxGraph.prototype.isCellLocked = function(a) {
-    var b = this.model.getGeometry(a);
-    return this.isCellsLocked() || null != b && this.model.isVertex(a) && b.relative
+  var b = this.model.getGeometry(a);
+  return this.isCellsLocked() || null != b && this.model.isVertex(a) && b.relative
 };
 mxGraph.prototype.isCellsLocked = function() {
-    return this.cellsLocked
+  return this.cellsLocked
 };
 mxGraph.prototype.setCellsLocked = function(a) {
-    this.cellsLocked = a
+  this.cellsLocked = a
 };
 mxGraph.prototype.getCloneableCells = function(a) {
-    return this.model.filterCells(a, mxUtils.bind(this, function(a) {
-        return this.isCellCloneable(a)
-    }))
+  return this.model.filterCells(a, mxUtils.bind(this, function(a) {
+    return this.isCellCloneable(a)
+  }))
 };
 mxGraph.prototype.isCellCloneable = function(a) {
-    var b = this.view.getState(a);
-    a = null != b ? b.style : this.getCellStyle(a);
-    return this.isCellsCloneable() && 0 != a[mxConstants.STYLE_CLONEABLE]
+  var b = this.view.getState(a);
+  a = null != b ? b.style : this.getCellStyle(a);
+  return this.isCellsCloneable() && 0 != a[mxConstants.STYLE_CLONEABLE]
 };
 mxGraph.prototype.isCellsCloneable = function() {
-    return this.cellsCloneable
+  return this.cellsCloneable
 };
 mxGraph.prototype.setCellsCloneable = function(a) {
-    this.cellsCloneable = a
+  this.cellsCloneable = a
 };
 mxGraph.prototype.getExportableCells = function(a) {
-    return this.model.filterCells(a, mxUtils.bind(this, function(a) {
-        return this.canExportCell(a)
-    }))
+  return this.model.filterCells(a, mxUtils.bind(this, function(a) {
+    return this.canExportCell(a)
+  }))
 };
 mxGraph.prototype.canExportCell = function(a) {
-    return this.exportEnabled
+  return this.exportEnabled
 };
 mxGraph.prototype.getImportableCells = function(a) {
-    return this.model.filterCells(a, mxUtils.bind(this, function(a) {
-        return this.canImportCell(a)
-    }))
+  return this.model.filterCells(a, mxUtils.bind(this, function(a) {
+    return this.canImportCell(a)
+  }))
 };
 mxGraph.prototype.canImportCell = function(a) {
-    return this.importEnabled
+  return this.importEnabled
 };
 mxGraph.prototype.isCellSelectable = function(a) {
-    return this.isCellsSelectable()
+  return this.isCellsSelectable()
 };
 mxGraph.prototype.isCellsSelectable = function() {
-    return this.cellsSelectable
+  return this.cellsSelectable
 };
 mxGraph.prototype.setCellsSelectable = function(a) {
-    this.cellsSelectable = a
+  this.cellsSelectable = a
 };
 mxGraph.prototype.getDeletableCells = function(a) {
-    return this.model.filterCells(a, mxUtils.bind(this, function(a) {
-        return this.isCellDeletable(a)
-    }))
+  return this.model.filterCells(a, mxUtils.bind(this, function(a) {
+    return this.isCellDeletable(a)
+  }))
 };
 mxGraph.prototype.isCellDeletable = function(a) {
-    var b = this.view.getState(a);
-    a = null != b ? b.style : this.getCellStyle(a);
-    return this.isCellsDeletable() && 0 != a[mxConstants.STYLE_DELETABLE]
+  var b = this.view.getState(a);
+  a = null != b ? b.style : this.getCellStyle(a);
+  return this.isCellsDeletable() && 0 != a[mxConstants.STYLE_DELETABLE]
 };
 mxGraph.prototype.isCellsDeletable = function() {
-    return this.cellsDeletable
+  return this.cellsDeletable
 };
 mxGraph.prototype.setCellsDeletable = function(a) {
-    this.cellsDeletable = a
+  this.cellsDeletable = a
 };
 mxGraph.prototype.isLabelMovable = function(a) {
-    return !this.isCellLocked(a) && (this.model.isEdge(a) && this.edgeLabelsMovable || this.model.isVertex(a) && this.vertexLabelsMovable)
+  return !this.isCellLocked(a) && (this.model.isEdge(a) && this.edgeLabelsMovable || this.model.isVertex(a) && this.vertexLabelsMovable)
 };
 mxGraph.prototype.getMovableCells = function(a) {
-    return this.model.filterCells(a, mxUtils.bind(this, function(a) {
-        return this.isCellMovable(a)
-    }))
+  return this.model.filterCells(a, mxUtils.bind(this, function(a) {
+    return this.isCellMovable(a)
+  }))
 };
 mxGraph.prototype.isCellMovable = function(a) {
-    var b = this.view.getState(a),
-        b = null != b ? b.style : this.getCellStyle(a);
-    return this.isCellsMovable() && !this.isCellLocked(a) && 0 != b[mxConstants.STYLE_MOVABLE]
+  var b = this.view.getState(a),
+    b = null != b ? b.style : this.getCellStyle(a);
+  return this.isCellsMovable() && !this.isCellLocked(a) && 0 != b[mxConstants.STYLE_MOVABLE]
 };
 mxGraph.prototype.isCellsMovable = function() {
-    return this.cellsMovable
+  return this.cellsMovable
 };
 mxGraph.prototype.setCellsMovable = function(a) {
-    this.cellsMovable = a
+  this.cellsMovable = a
 };
 mxGraph.prototype.isGridEnabled = function() {
-    return this.gridEnabled
+  return this.gridEnabled
 };
 mxGraph.prototype.setGridEnabled = function(a) {
-    this.gridEnabled = a
+  this.gridEnabled = a
 };
 mxGraph.prototype.isPortsEnabled = function() {
-    return this.portsEnabled
+  return this.portsEnabled
 };
 mxGraph.prototype.setPortsEnabled = function(a) {
-    this.portsEnabled = a
+  this.portsEnabled = a
 };
 mxGraph.prototype.getGridSize = function() {
-    return this.gridSize
+  return this.gridSize
 };
 mxGraph.prototype.setGridSize = function(a) {
-    this.gridSize = a
+  this.gridSize = a
 };
 mxGraph.prototype.getTolerance = function() {
-    return this.tolerance
+  return this.tolerance
 };
 mxGraph.prototype.setTolerance = function(a) {
-    this.tolerance = a
+  this.tolerance = a
 };
 mxGraph.prototype.isVertexLabelsMovable = function() {
-    return this.vertexLabelsMovable
+  return this.vertexLabelsMovable
 };
 mxGraph.prototype.setVertexLabelsMovable = function(a) {
-    this.vertexLabelsMovable = a
+  this.vertexLabelsMovable = a
 };
 mxGraph.prototype.isEdgeLabelsMovable = function() {
-    return this.edgeLabelsMovable
+  return this.edgeLabelsMovable
 };
 mxGraph.prototype.setEdgeLabelsMovable = function(a) {
-    this.edgeLabelsMovable = a
+  this.edgeLabelsMovable = a
 };
 mxGraph.prototype.isSwimlaneNesting = function() {
-    return this.swimlaneNesting
+  return this.swimlaneNesting
 };
 mxGraph.prototype.setSwimlaneNesting = function(a) {
-    this.swimlaneNesting = a
+  this.swimlaneNesting = a
 };
 mxGraph.prototype.isSwimlaneSelectionEnabled = function() {
-    return this.swimlaneSelectionEnabled
+  return this.swimlaneSelectionEnabled
 };
 mxGraph.prototype.setSwimlaneSelectionEnabled = function(a) {
-    this.swimlaneSelectionEnabled = a
+  this.swimlaneSelectionEnabled = a
 };
 mxGraph.prototype.isMultigraph = function() {
-    return this.multigraph
+  return this.multigraph
 };
 mxGraph.prototype.setMultigraph = function(a) {
-    this.multigraph = a
+  this.multigraph = a
 };
 mxGraph.prototype.isAllowLoops = function() {
-    return this.allowLoops
+  return this.allowLoops
 };
 mxGraph.prototype.setAllowDanglingEdges = function(a) {
-    this.allowDanglingEdges = a
+  this.allowDanglingEdges = a
 };
 mxGraph.prototype.isAllowDanglingEdges = function() {
-    return this.allowDanglingEdges
+  return this.allowDanglingEdges
 };
 mxGraph.prototype.setConnectableEdges = function(a) {
-    this.connectableEdges = a
+  this.connectableEdges = a
 };
 mxGraph.prototype.isConnectableEdges = function() {
-    return this.connectableEdges
+  return this.connectableEdges
 };
 mxGraph.prototype.setCloneInvalidEdges = function(a) {
-    this.cloneInvalidEdges = a
+  this.cloneInvalidEdges = a
 };
 mxGraph.prototype.isCloneInvalidEdges = function() {
-    return this.cloneInvalidEdges
+  return this.cloneInvalidEdges
 };
 mxGraph.prototype.setAllowLoops = function(a) {
-    this.allowLoops = a
+  this.allowLoops = a
 };
 mxGraph.prototype.isDisconnectOnMove = function() {
-    return this.disconnectOnMove
+  return this.disconnectOnMove
 };
 mxGraph.prototype.setDisconnectOnMove = function(a) {
-    this.disconnectOnMove = a
+  this.disconnectOnMove = a
 };
 mxGraph.prototype.isDropEnabled = function() {
-    return this.dropEnabled
+  return this.dropEnabled
 };
 mxGraph.prototype.setDropEnabled = function(a) {
-    this.dropEnabled = a
+  this.dropEnabled = a
 };
 mxGraph.prototype.isSplitEnabled = function() {
-    return this.splitEnabled
+  return this.splitEnabled
 };
 mxGraph.prototype.setSplitEnabled = function(a) {
-    this.splitEnabled = a
+  this.splitEnabled = a
 };
 mxGraph.prototype.isCellResizable = function(a) {
-    var b = this.view.getState(a),
-        b = null != b ? b.style : this.getCellStyle(a);
-    return this.isCellsResizable() && !this.isCellLocked(a) && 0 != b[mxConstants.STYLE_RESIZABLE]
+  var b = this.view.getState(a),
+    b = null != b ? b.style : this.getCellStyle(a);
+  return this.isCellsResizable() && !this.isCellLocked(a) && 0 != b[mxConstants.STYLE_RESIZABLE]
 };
 mxGraph.prototype.isCellsResizable = function() {
-    return this.cellsResizable
+  return this.cellsResizable
 };
 mxGraph.prototype.setCellsResizable = function(a) {
-    this.cellsResizable = a
+  this.cellsResizable = a
 };
 mxGraph.prototype.isTerminalPointMovable = function(a, b) {
-    return !0
+  return !0
 };
 mxGraph.prototype.isCellBendable = function(a) {
-    var b = this.view.getState(a),
-        b = null != b ? b.style : this.getCellStyle(a);
-    return this.isCellsBendable() && !this.isCellLocked(a) && 0 != b[mxConstants.STYLE_BENDABLE]
+  var b = this.view.getState(a),
+    b = null != b ? b.style : this.getCellStyle(a);
+  return this.isCellsBendable() && !this.isCellLocked(a) && 0 != b[mxConstants.STYLE_BENDABLE]
 };
 mxGraph.prototype.isCellsBendable = function() {
-    return this.cellsBendable
+  return this.cellsBendable
 };
 mxGraph.prototype.setCellsBendable = function(a) {
-    this.cellsBendable = a
+  this.cellsBendable = a
 };
 mxGraph.prototype.isCellEditable = function(a) {
-    var b = this.view.getState(a),
-        b = null != b ? b.style : this.getCellStyle(a);
-    return this.isCellsEditable() && !this.isCellLocked(a) && 0 != b[mxConstants.STYLE_EDITABLE]
+  var b = this.view.getState(a),
+    b = null != b ? b.style : this.getCellStyle(a);
+  return this.isCellsEditable() && !this.isCellLocked(a) && 0 != b[mxConstants.STYLE_EDITABLE]
 };
 mxGraph.prototype.isCellsEditable = function() {
-    return this.cellsEditable
+  return this.cellsEditable
 };
 mxGraph.prototype.setCellsEditable = function(a) {
-    this.cellsEditable = a
+  this.cellsEditable = a
 };
 mxGraph.prototype.isCellDisconnectable = function(a, b, c) {
-    return this.isCellsDisconnectable() && !this.isCellLocked(a)
+  return this.isCellsDisconnectable() && !this.isCellLocked(a)
 };
 mxGraph.prototype.isCellsDisconnectable = function() {
-    return this.cellsDisconnectable
+  return this.cellsDisconnectable
 };
 mxGraph.prototype.setCellsDisconnectable = function(a) {
-    this.cellsDisconnectable = a
+  this.cellsDisconnectable = a
 };
 mxGraph.prototype.isValidSource = function(a) {
-    return null == a && this.allowDanglingEdges || null != a && (!this.model.isEdge(a) || this.connectableEdges) && this.isCellConnectable(a)
+  return null == a && this.allowDanglingEdges || null != a && (!this.model.isEdge(a) || this.connectableEdges) && this.isCellConnectable(a)
 };
 mxGraph.prototype.isValidTarget = function(a) {
-    return this.isValidSource(a)
+  return this.isValidSource(a)
 };
 mxGraph.prototype.isValidConnection = function(a, b) {
-    return this.isValidSource(a) && this.isValidTarget(b)
+  return this.isValidSource(a) && this.isValidTarget(b)
 };
 mxGraph.prototype.setConnectable = function(a) {
-    this.connectionHandler.setEnabled(a)
+  this.connectionHandler.setEnabled(a)
 };
 mxGraph.prototype.isConnectable = function(a) {
-    return this.connectionHandler.isEnabled()
+  return this.connectionHandler.isEnabled()
 };
 mxGraph.prototype.setTooltips = function(a) {
-    this.tooltipHandler.setEnabled(a)
+  this.tooltipHandler.setEnabled(a)
 };
 mxGraph.prototype.setPanning = function(a) {
-    this.panningHandler.panningEnabled = a
+  this.panningHandler.panningEnabled = a
 };
 mxGraph.prototype.isEditing = function(a) {
-    if (null != this.cellEditor) {
-        var b = this.cellEditor.getEditingCell();
-        return null == a ? null != b : a == b
-    }
-    return !1
+  if (null != this.cellEditor) {
+    var b = this.cellEditor.getEditingCell();
+    return null == a ? null != b : a == b
+  }
+  return !1
 };
 mxGraph.prototype.isAutoSizeCell = function(a) {
-    var b = this.view.getState(a);
-    a = null != b ? b.style : this.getCellStyle(a);
-    return this.isAutoSizeCells() || 1 == a[mxConstants.STYLE_AUTOSIZE]
+  var b = this.view.getState(a);
+  a = null != b ? b.style : this.getCellStyle(a);
+  return this.isAutoSizeCells() || 1 == a[mxConstants.STYLE_AUTOSIZE]
 };
 mxGraph.prototype.isAutoSizeCells = function() {
-    return this.autoSizeCells
+  return this.autoSizeCells
 };
 mxGraph.prototype.setAutoSizeCells = function(a) {
-    this.autoSizeCells = a
+  this.autoSizeCells = a
 };
 mxGraph.prototype.isExtendParent = function(a) {
-    return !this.getModel().isEdge(a) && this.isExtendParents()
+  return !this.getModel().isEdge(a) && this.isExtendParents()
 };
 mxGraph.prototype.isExtendParents = function() {
-    return this.extendParents
+  return this.extendParents
 };
 mxGraph.prototype.setExtendParents = function(a) {
-    this.extendParents = a
+  this.extendParents = a
 };
 mxGraph.prototype.isExtendParentsOnAdd = function() {
-    return this.extendParentsOnAdd
+  return this.extendParentsOnAdd
 };
 mxGraph.prototype.setExtendParentsOnAdd = function(a) {
-    this.extendParentsOnAdd = a
+  this.extendParentsOnAdd = a
 };
 mxGraph.prototype.isConstrainChild = function(a) {
-    return this.isConstrainChildren() && !this.getModel().isEdge(this.getModel().getParent(a))
+  return this.isConstrainChildren() && !this.getModel().isEdge(this.getModel().getParent(a))
 };
 mxGraph.prototype.isConstrainChildren = function() {
-    return this.constrainChildren
+  return this.constrainChildren
 };
 mxGraph.prototype.setConstrainChildren = function(a) {
-    this.constrainChildren = a
+  this.constrainChildren = a
 };
 mxGraph.prototype.isAllowNegativeCoordinates = function() {
-    return this.allowNegativeCoordinates
+  return this.allowNegativeCoordinates
 };
 mxGraph.prototype.setAllowNegativeCoordinates = function(a) {
-    this.allowNegativeCoordinates = a
+  this.allowNegativeCoordinates = a
 };
 mxGraph.prototype.getOverlap = function(a) {
-    return this.isAllowOverlapParent(a) ? this.defaultOverlap : 0
+  return this.isAllowOverlapParent(a) ? this.defaultOverlap : 0
 };
 mxGraph.prototype.isAllowOverlapParent = function(a) {
-    return !1
+  return !1
 };
 mxGraph.prototype.getFoldableCells = function(a, b) {
-    return this.model.filterCells(a, mxUtils.bind(this, function(a) {
-        return this.isCellFoldable(a, b)
-    }))
+  return this.model.filterCells(a, mxUtils.bind(this, function(a) {
+    return this.isCellFoldable(a, b)
+  }))
 };
 mxGraph.prototype.isCellFoldable = function(a, b) {
-    var c = this.view.getState(a),
-        c = null != c ? c.style : this.getCellStyle(a);
-    return 0 < this.model.getChildCount(a) && 0 != c[mxConstants.STYLE_FOLDABLE]
+  var c = this.view.getState(a),
+    c = null != c ? c.style : this.getCellStyle(a);
+  return 0 < this.model.getChildCount(a) && 0 != c[mxConstants.STYLE_FOLDABLE]
 };
 mxGraph.prototype.isValidDropTarget = function(a, b, c) {
-    return null != a && (this.isSplitEnabled() && this.isSplitTarget(a, b, c) || !this.model.isEdge(a) && (this.isSwimlane(a) || 0 < this.model.getChildCount(a) && !this.isCellCollapsed(a)))
+  return null != a && (this.isSplitEnabled() && this.isSplitTarget(a, b, c) || !this.model.isEdge(a) && (this.isSwimlane(a) || 0 < this.model.getChildCount(a) && !this.isCellCollapsed(a)))
 };
 mxGraph.prototype.isSplitTarget = function(a, b, c) {
-    return this.model.isEdge(a) && null != b && 1 == b.length && this.isCellConnectable(b[0]) && null == this.getEdgeValidationError(a, this.model.getTerminal(a, !0), b[0]) ? (c = this.model.getTerminal(a, !0), a = this.model.getTerminal(a, !1), !this.model.isAncestor(b[0], c) && !this.model.isAncestor(b[0], a)) : !1
+  return this.model.isEdge(a) && null != b && 1 == b.length && this.isCellConnectable(b[0]) && null == this.getEdgeValidationError(a, this.model.getTerminal(a, !0), b[0]) ? (c = this.model.getTerminal(
+    a, !0), a = this.model.getTerminal(a, !1), !this.model.isAncestor(b[0], c) && !this.model.isAncestor(b[0], a)) : !1
 };
 mxGraph.prototype.getDropTarget = function(a, b, c) {
-    if (!this.isSwimlaneNesting())
-        for (var d = 0; d < a.length; d++)
-            if (this.isSwimlane(a[d])) return null;
-    d = mxUtils.convertPoint(this.container, mxEvent.getClientX(b), mxEvent.getClientY(b));
-    d.x -= this.panDx;
-    d.y -= this.panDy;
-    d = this.getSwimlaneAt(d.x, d.y);
-    if (null == c) c = d;
-    else if (null != d) {
-        for (var e = this.model.getParent(d); null != e && this.isSwimlane(e) && e != c;) e = this.model.getParent(e);
-        e == c && (c = d)
-    }
-    for (; null != c && !this.isValidDropTarget(c, a, b) && !this.model.isLayer(c);) c = this.model.getParent(c);
-    return !this.model.isLayer(c) && 0 > mxUtils.indexOf(a, c) ? c : null
+  if (!this.isSwimlaneNesting())
+    for (var d = 0; d < a.length; d++)
+      if (this.isSwimlane(a[d])) return null;
+  d = mxUtils.convertPoint(this.container, mxEvent.getClientX(b), mxEvent.getClientY(b));
+  d.x -= this.panDx;
+  d.y -= this.panDy;
+  d = this.getSwimlaneAt(d.x, d.y);
+  if (null == c) c = d;
+  else if (null != d) {
+    for (var e = this.model.getParent(d); null != e && this.isSwimlane(e) && e != c;) e = this.model.getParent(e);
+    e == c && (c = d)
+  }
+  for (; null != c && !this.isValidDropTarget(c, a, b) && !this.model.isLayer(c);) c = this.model.getParent(c);
+  return !this.model.isLayer(c) && 0 > mxUtils.indexOf(a, c) ? c : null
 };
 mxGraph.prototype.getDefaultParent = function() {
-    var a = this.defaultParent;
-    null == a && (a = this.getCurrentRoot(), null == a && (a = this.model.getRoot(), a = this.model.getChildAt(a, 0)));
-    return a
+  var a = this.defaultParent;
+  null == a && (a = this.getCurrentRoot(), null == a && (a = this.model.getRoot(), a = this.model.getChildAt(a, 0)));
+  return a
 };
 mxGraph.prototype.setDefaultParent = function(a) {
-    this.defaultParent = a
+  this.defaultParent = a
 };
 mxGraph.prototype.getSwimlane = function(a) {
-    for (; null != a && !this.isSwimlane(a);) a = this.model.getParent(a);
-    return a
+  for (; null != a && !this.isSwimlane(a);) a = this.model.getParent(a);
+  return a
 };
 mxGraph.prototype.getSwimlaneAt = function(a, b, c) {
-    c = c || this.getDefaultParent();
-    if (null != c)
-        for (var d = this.model.getChildCount(c), e = 0; e < d; e++) {
-            var f = this.model.getChildAt(c, e),
-                g = this.getSwimlaneAt(a, b, f);
-            if (null != g) return g;
-            if (this.isSwimlane(f) && (g = this.view.getState(f), this.intersects(g, a, b))) return f
-        }
-    return null
+  c = c || this.getDefaultParent();
+  if (null != c)
+    for (var d = this.model.getChildCount(c), e = 0; e < d; e++) {
+      var f = this.model.getChildAt(c, e),
+        g = this.getSwimlaneAt(a, b, f);
+      if (null != g) return g;
+      if (this.isSwimlane(f) && (g = this.view.getState(f), this.intersects(g, a, b))) return f
+    }
+  return null
 };
 mxGraph.prototype.getCellAt = function(a, b, c, d, e) {
-    d = null != d ? d : !0;
-    e = null != e ? e : !0;
-    c = null != c ? c : this.getDefaultParent();
-    if (null != c)
-        for (var f = this.model.getChildCount(c) - 1; 0 <= f; f--) {
-            var g = this.model.getChildAt(c, f),
-                h = this.getCellAt(a, b, g, d, e);
-            if (null != h) return h;
-            if (this.isCellVisible(g) && (e && this.model.isEdge(g) || d && this.model.isVertex(g)))
-                if (h = this.view.getState(g), this.intersects(h, a, b)) return g
-        }
-    return null
+  d = null != d ? d : !0;
+  e = null != e ? e : !0;
+  c = null != c ? c : this.getDefaultParent();
+  if (null != c)
+    for (var f = this.model.getChildCount(c) - 1; 0 <= f; f--) {
+      var g = this.model.getChildAt(c, f),
+        h = this.getCellAt(a, b, g, d, e);
+      if (null != h) return h;
+      if (this.isCellVisible(g) && (e && this.model.isEdge(g) || d && this.model.isVertex(g)))
+        if (h = this.view.getState(g), this.intersects(h, a, b)) return g
+    }
+  return null
 };
 mxGraph.prototype.intersects = function(a, b, c) {
-    if (null != a) {
-        var d = a.absolutePoints;
-        if (null != d) {
-            a = this.tolerance * this.tolerance;
-            for (var e = d[0], f = 1; f < d.length; f++) {
-                var g = d[f];
-                if (mxUtils.ptSegDistSq(e.x, e.y, g.x, g.y, b, c) <= a) return !0;
-                e = g
-            }
-        } else if (e = mxUtils.toRadians(mxUtils.getValue(a.style, mxConstants.STYLE_ROTATION) || 0), 0 != e && (d = Math.cos(-e), e = Math.sin(-e), f = new mxPoint(a.getCenterX(), a.getCenterY()), e = mxUtils.getRotatedPoint(new mxPoint(b, c), d, e, f), b = e.x, c = e.y), mxUtils.contains(a, b, c)) return !0
-    }
-    return !1
+  if (null != a) {
+    var d = a.absolutePoints;
+    if (null != d) {
+      a = this.tolerance * this.tolerance;
+      for (var e = d[0], f = 1; f < d.length; f++) {
+        var g = d[f];
+        if (mxUtils.ptSegDistSq(e.x, e.y, g.x, g.y, b, c) <= a) return !0;
+        e = g
+      }
+    } else if (e = mxUtils.toRadians(mxUtils.getValue(a.style, mxConstants.STYLE_ROTATION) || 0), 0 != e && (d = Math.cos(-e), e = Math.sin(-e), f = new mxPoint(a.getCenterX(), a.getCenterY()), e =
+        mxUtils.getRotatedPoint(new mxPoint(b, c), d, e, f), b = e.x, c = e.y), mxUtils.contains(a, b, c)) return !0
+  }
+  return !1
 };
 mxGraph.prototype.hitsSwimlaneContent = function(a, b, c) {
-    var d = this.getView().getState(a);
-    a = this.getStartSize(a);
-    if (null != d) {
-        var e = this.getView().getScale();
-        b -= d.x;
-        c -= d.y;
-        if (0 < a.width && 0 < b && b > a.width * e || 0 < a.height && 0 < c && c > a.height * e) return !0
-    }
-    return !1
+  var d = this.getView().getState(a);
+  a = this.getStartSize(a);
+  if (null != d) {
+    var e = this.getView().getScale();
+    b -= d.x;
+    c -= d.y;
+    if (0 < a.width && 0 < b && b > a.width * e || 0 < a.height && 0 < c && c > a.height * e) return !0
+  }
+  return !1
 };
 mxGraph.prototype.getChildVertices = function(a) {
-    return this.getChildCells(a, !0, !1)
+  return this.getChildCells(a, !0, !1)
 };
 mxGraph.prototype.getChildEdges = function(a) {
-    return this.getChildCells(a, !1, !0)
+  return this.getChildCells(a, !1, !0)
 };
 mxGraph.prototype.getChildCells = function(a, b, c) {
-    a = null != a ? a : this.getDefaultParent();
-    a = this.model.getChildCells(a, null != b ? b : !1, null != c ? c : !1);
-    b = [];
-    for (c = 0; c < a.length; c++) this.isCellVisible(a[c]) && b.push(a[c]);
-    return b
+  a = null != a ? a : this.getDefaultParent();
+  a = this.model.getChildCells(a, null != b ? b : !1, null != c ? c : !1);
+  b = [];
+  for (c = 0; c < a.length; c++) this.isCellVisible(a[c]) && b.push(a[c]);
+  return b
 };
 mxGraph.prototype.getConnections = function(a, b) {
-    return this.getEdges(a, b, !0, !0, !1)
+  return this.getEdges(a, b, !0, !0, !1)
 };
 mxGraph.prototype.getIncomingEdges = function(a, b) {
-    return this.getEdges(a, b, !0, !1, !1)
+  return this.getEdges(a, b, !0, !1, !1)
 };
 mxGraph.prototype.getOutgoingEdges = function(a, b) {
-    return this.getEdges(a, b, !1, !0, !1)
+  return this.getEdges(a, b, !1, !0, !1)
 };
 mxGraph.prototype.getEdges = function(a, b, c, d, e, f) {
-    c = null != c ? c : !0;
-    d = null != d ? d : !0;
-    e = null != e ? e : !0;
-    f = null != f ? f : !1;
-    for (var g = [], h = this.isCellCollapsed(a), k = this.model.getChildCount(a), l = 0; l < k; l++) {
-        var m = this.model.getChildAt(a, l);
-        if (h || !this.isCellVisible(m)) g = g.concat(this.model.getEdges(m, c, d))
-    }
-    g = g.concat(this.model.getEdges(a, c, d));
-    h = [];
-    for (l = 0; l < g.length; l++) m = this.view.getState(g[l]), k = null != m ? m.getVisibleTerminal(!0) : this.view.getVisibleTerminal(g[l], !0), m = null != m ? m.getVisibleTerminal(!1) : this.view.getVisibleTerminal(g[l], !1), (e && k == m || k != m && (c && m == a && (null == b || this.isValidAncestor(k, b, f)) || d && k == a && (null == b || this.isValidAncestor(m, b, f)))) && h.push(g[l]);
-    return h
+  c = null != c ? c : !0;
+  d = null != d ? d : !0;
+  e = null != e ? e : !0;
+  f = null != f ? f : !1;
+  for (var g = [], h = this.isCellCollapsed(a), k = this.model.getChildCount(a), l = 0; l < k; l++) {
+    var m = this.model.getChildAt(a, l);
+    if (h || !this.isCellVisible(m)) g = g.concat(this.model.getEdges(m, c, d))
+  }
+  g = g.concat(this.model.getEdges(a, c, d));
+  h = [];
+  for (l = 0; l < g.length; l++) m = this.view.getState(g[l]), k = null != m ? m.getVisibleTerminal(!0) : this.view.getVisibleTerminal(g[l], !0), m = null != m ? m.getVisibleTerminal(!1) : this.view
+    .getVisibleTerminal(g[l], !1), (e && k == m || k != m && (c && m == a && (null == b || this.isValidAncestor(k, b, f)) || d && k == a && (null == b || this.isValidAncestor(m, b, f)))) && h.push(
+      g[l]);
+  return h
 };
 mxGraph.prototype.isValidAncestor = function(a, b, c) {
-    return c ? this.model.isAncestor(b, a) : this.model.getParent(a) == b
+  return c ? this.model.isAncestor(b, a) : this.model.getParent(a) == b
 };
 mxGraph.prototype.getOpposites = function(a, b, c, d) {
-    c = null != c ? c : !0;
-    d = null != d ? d : !0;
-    var e = [],
-        f = {};
-    if (null != a)
-        for (var g = 0; g < a.length; g++) {
-            var h = this.view.getState(a[g]),
-                k = null != h ? h.getVisibleTerminal(!0) : this.view.getVisibleTerminal(a[g], !0),
-                h = null != h ? h.getVisibleTerminal(!1) : this.view.getVisibleTerminal(a[g], !1);
-            if (k == b && null != h && h != b && d) {
-                var l = mxCellPath.create(h);
-                null == f[l] && (f[l] = h, e.push(h))
-            } else h == b && (null != k && k != b && c) && (l = mxCellPath.create(k), null == f[l] && (f[l] = k, e.push(k)))
-        }
-    return e
+  c = null != c ? c : !0;
+  d = null != d ? d : !0;
+  var e = [],
+    f = {};
+  if (null != a)
+    for (var g = 0; g < a.length; g++) {
+      var h = this.view.getState(a[g]),
+        k = null != h ? h.getVisibleTerminal(!0) : this.view.getVisibleTerminal(a[g], !0),
+        h = null != h ? h.getVisibleTerminal(!1) : this.view.getVisibleTerminal(a[g], !1);
+      if (k == b && null != h && h != b && d) {
+        var l = mxCellPath.create(h);
+        null == f[l] && (f[l] = h, e.push(h))
+      } else h == b && (null != k && k != b && c) && (l = mxCellPath.create(k), null == f[l] && (f[l] = k, e.push(k)))
+    }
+  return e
 };
 mxGraph.prototype.getEdgesBetween = function(a, b, c) {
-    c = null != c ? c : !1;
-    for (var d = this.getEdges(a), e = [], f = 0; f < d.length; f++) {
-        var g = this.view.getState(d[f]),
-            h = null != g ? g.getVisibleTerminal(!0) : this.view.getVisibleTerminal(d[f], !0),
-            g = null != g ? g.getVisibleTerminal(!1) : this.view.getVisibleTerminal(d[f], !1);
-        (h == a && g == b || !c && h == b && g == a) && e.push(d[f])
-    }
-    return e
+  c = null != c ? c : !1;
+  for (var d = this.getEdges(a), e = [], f = 0; f < d.length; f++) {
+    var g = this.view.getState(d[f]),
+      h = null != g ? g.getVisibleTerminal(!0) : this.view.getVisibleTerminal(d[f], !0),
+      g = null != g ? g.getVisibleTerminal(!1) : this.view.getVisibleTerminal(d[f], !1);
+    (h == a && g == b || !c && h == b && g == a) && e.push(d[f])
+  }
+  return e
 };
 mxGraph.prototype.getPointForEvent = function(a, b) {
-    var c = mxUtils.convertPoint(this.container, mxEvent.getClientX(a), mxEvent.getClientY(a)),
-        d = this.view.scale,
-        e = this.view.translate,
-        f = !1 != b ? this.gridSize / 2 : 0;
-    c.x = this.snap(c.x / d - e.x - f);
-    c.y = this.snap(c.y / d - e.y - f);
-    return c
+  var c = mxUtils.convertPoint(this.container, mxEvent.getClientX(a), mxEvent.getClientY(a)),
+    d = this.view.scale,
+    e = this.view.translate,
+    f = !1 != b ? this.gridSize / 2 : 0;
+  c.x = this.snap(c.x / d - e.x - f);
+  c.y = this.snap(c.y / d - e.y - f);
+  return c
 };
 mxGraph.prototype.getCells = function(a, b, c, d, e, f) {
-    f = null != f ? f : [];
-    if (0 < c || 0 < d) {
-        var g = a + c,
-            h = b + d;
-        e = e || this.getDefaultParent();
-        if (null != e)
-            for (var k = this.model.getChildCount(e), l = 0; l < k; l++) {
-                var m = this.model.getChildAt(e, l),
-                    n = this.view.getState(m);
-                if (this.isCellVisible(m) && null != n) {
-                    var p = n,
-                        n = mxUtils.getValue(n.style, mxConstants.STYLE_ROTATION) || 0;
-                    0 != n && (p = mxUtils.getBoundingBox(p, n));
-                    p.x >= a && p.y + p.height <= h && p.y >= b && p.x + p.width <= g ? f.push(m) : this.getCells(a, b, c, d, m, f)
-                }
-            }
-    }
-    return f
+  f = null != f ? f : [];
+  if (0 < c || 0 < d) {
+    var g = a + c,
+      h = b + d;
+    e = e || this.getDefaultParent();
+    if (null != e)
+      for (var k = this.model.getChildCount(e), l = 0; l < k; l++) {
+        var m = this.model.getChildAt(e, l),
+          n = this.view.getState(m);
+        if (this.isCellVisible(m) && null != n) {
+          var p = n,
+            n = mxUtils.getValue(n.style, mxConstants.STYLE_ROTATION) || 0;
+          0 != n && (p = mxUtils.getBoundingBox(p, n));
+          p.x >= a && p.y + p.height <= h && p.y >= b && p.x + p.width <= g ? f.push(m) : this.getCells(a, b, c, d, m, f)
+        }
+      }
+  }
+  return f
 };
 mxGraph.prototype.getCellsBeyond = function(a, b, c, d, e) {
-    var f = [];
-    if (d || e)
-        if (null == c && (c = this.getDefaultParent()), null != c)
-            for (var g = this.model.getChildCount(c), h = 0; h < g; h++) {
-                var k = this.model.getChildAt(c, h),
-                    l = this.view.getState(k);
-                this.isCellVisible(k) && null != l && (!d || l.x >= a) && (!e || l.y >= b) && f.push(k)
-            }
-        return f
+  var f = [];
+  if (d || e)
+    if (null == c && (c = this.getDefaultParent()), null != c)
+      for (var g = this.model.getChildCount(c), h = 0; h < g; h++) {
+        var k = this.model.getChildAt(c, h),
+          l = this.view.getState(k);
+        this.isCellVisible(k) && null != l && (!d || l.x >= a) && (!e || l.y >= b) && f.push(k)
+      }
+  return f
 };
 mxGraph.prototype.findTreeRoots = function(a, b, c) {
-    b = null != b ? b : !1;
-    c = null != c ? c : !1;
-    var d = [];
-    if (null != a) {
-        for (var e = this.getModel(), f = e.getChildCount(a), g = null, h = 0, k = 0; k < f; k++) {
-            var l = e.getChildAt(a, k);
-            if (this.model.isVertex(l) && this.isCellVisible(l)) {
-                for (var m = this.getConnections(l, b ? a : null), n = 0, p = 0, q = 0; q < m.length; q++) this.view.getVisibleTerminal(m[q], !0) == l ? n++ : p++;
-                (c && 0 == n && 0 < p || !c && 0 == p && 0 < n) && d.push(l);
-                m = c ? p - n : n - p;
-                m > h && (h = m, g = l)
-            }
-        }
-        0 == d.length && null != g && d.push(g)
-    }
-    return d
+  b = null != b ? b : !1;
+  c = null != c ? c : !1;
+  var d = [];
+  if (null != a) {
+    for (var e = this.getModel(), f = e.getChildCount(a), g = null, h = 0, k = 0; k < f; k++) {
+      var l = e.getChildAt(a, k);
+      if (this.model.isVertex(l) && this.isCellVisible(l)) {
+        for (var m = this.getConnections(l, b ? a : null), n = 0, p = 0, q = 0; q < m.length; q++) this.view.getVisibleTerminal(m[q], !0) == l ? n++ : p++;
+        (c && 0 == n && 0 < p || !c && 0 == p && 0 < n) && d.push(l);
+        m = c ? p - n : n - p;
+        m > h && (h = m, g = l)
+      }
+    }
+    0 == d.length && null != g && d.push(g)
+  }
+  return d
 };
 mxGraph.prototype.traverse = function(a, b, c, d, e) {
-    if (null != c && null != a) {
-        b = null != b ? b : !0;
-        e = e || [];
-        var f = mxCellPath.create(a);
-        if (null == e[f] && (e[f] = a, d = c(a, d), null == d || d))
-            if (d = this.model.getEdgeCount(a), 0 < d)
-                for (f = 0; f < d; f++) {
-                    var g = this.model.getEdgeAt(a, f),
-                        h = this.model.getTerminal(g, !0) == a;
-                    if (!b || h) h = this.model.getTerminal(g, !h), this.traverse(h, b, c, g, e)
-                }
-    }
+  if (null != c && null != a) {
+    b = null != b ? b : !0;
+    e = e || [];
+    var f = mxCellPath.create(a);
+    if (null == e[f] && (e[f] = a, d = c(a, d), null == d || d))
+      if (d = this.model.getEdgeCount(a), 0 < d)
+        for (f = 0; f < d; f++) {
+          var g = this.model.getEdgeAt(a, f),
+            h = this.model.getTerminal(g, !0) == a;
+          if (!b || h) h = this.model.getTerminal(g, !h), this.traverse(h, b, c, g, e)
+        }
+  }
 };
 mxGraph.prototype.isCellSelected = function(a) {
-    return this.getSelectionModel().isSelected(a)
+  return this.getSelectionModel().isSelected(a)
 };
 mxGraph.prototype.isSelectionEmpty = function() {
-    return this.getSelectionModel().isEmpty()
+  return this.getSelectionModel().isEmpty()
 };
 mxGraph.prototype.clearSelection = function() {
-    return this.getSelectionModel().clear()
+  return this.getSelectionModel().clear()
 };
 mxGraph.prototype.getSelectionCount = function() {
-    return this.getSelectionModel().cells.length
+  return this.getSelectionModel().cells.length
 };
 mxGraph.prototype.getSelectionCell = function() {
-    return this.getSelectionModel().cells[0]
+  return this.getSelectionModel().cells[0]
 };
 mxGraph.prototype.getSelectionCells = function() {
-    return this.getSelectionModel().cells.slice()
+  return this.getSelectionModel().cells.slice()
 };
 mxGraph.prototype.setSelectionCell = function(a) {
-    this.getSelectionModel().setCell(a)
+  this.getSelectionModel().setCell(a)
 };
 mxGraph.prototype.setSelectionCells = function(a) {
-    this.getSelectionModel().setCells(a)
+  this.getSelectionModel().setCells(a)
 };
 mxGraph.prototype.addSelectionCell = function(a) {
-    this.getSelectionModel().addCell(a)
+  this.getSelectionModel().addCell(a)
 };
 mxGraph.prototype.addSelectionCells = function(a) {
-    this.getSelectionModel().addCells(a)
+  this.getSelectionModel().addCells(a)
 };
 mxGraph.prototype.removeSelectionCell = function(a) {
-    this.getSelectionModel().removeCell(a)
+  this.getSelectionModel().removeCell(a)
 };
 mxGraph.prototype.removeSelectionCells = function(a) {
-    this.getSelectionModel().removeCells(a)
+  this.getSelectionModel().removeCells(a)
 };
 mxGraph.prototype.selectRegion = function(a, b) {
-    var c = this.getCells(a.x, a.y, a.width, a.height);
-    this.selectCellsForEvent(c, b);
-    return c
+  var c = this.getCells(a.x, a.y, a.width, a.height);
+  this.selectCellsForEvent(c, b);
+  return c
 };
 mxGraph.prototype.selectNextCell = function() {
-    this.selectCell(!0)
+  this.selectCell(!0)
 };
 mxGraph.prototype.selectPreviousCell = function() {
-    this.selectCell()
+  this.selectCell()
 };
 mxGraph.prototype.selectParentCell = function() {
-    this.selectCell(!1, !0)
+  this.selectCell(!1, !0)
 };
 mxGraph.prototype.selectChildCell = function() {
-    this.selectCell(!1, !1, !0)
+  this.selectCell(!1, !1, !0)
 };
 mxGraph.prototype.selectCell = function(a, b, c) {
-    var d = this.selectionModel,
-        e = 0 < d.cells.length ? d.cells[0] : null;
-    1 < d.cells.length && d.clear();
-    var d = null != e ? this.model.getParent(e) : this.getDefaultParent(),
-        f = this.model.getChildCount(d);
-    null == e && 0 < f ? (a = this.model.getChildAt(d, 0), this.setSelectionCell(a)) : (null == e || b) && null != this.view.getState(d) && null != this.model.getGeometry(d) ? this.getCurrentRoot() != d && this.setSelectionCell(d) : null != e && c ? 0 < this.model.getChildCount(e) && (a = this.model.getChildAt(e, 0), this.setSelectionCell(a)) :
-        0 < f && (b = d.getIndex(e), a ? (b++, a = this.model.getChildAt(d, b % f)) : (b--, a = this.model.getChildAt(d, 0 > b ? f - 1 : b)), this.setSelectionCell(a))
+  var d = this.selectionModel,
+    e = 0 < d.cells.length ? d.cells[0] : null;
+  1 < d.cells.length && d.clear();
+  var d = null != e ? this.model.getParent(e) : this.getDefaultParent(),
+    f = this.model.getChildCount(d);
+  null == e && 0 < f ? (a = this.model.getChildAt(d, 0), this.setSelectionCell(a)) : (null == e || b) && null != this.view.getState(d) && null != this.model.getGeometry(d) ? this.getCurrentRoot() !=
+    d && this.setSelectionCell(d) : null != e && c ? 0 < this.model.getChildCount(e) && (a = this.model.getChildAt(e, 0), this.setSelectionCell(a)) :
+    0 < f && (b = d.getIndex(e), a ? (b++, a = this.model.getChildAt(d, b % f)) : (b--, a = this.model.getChildAt(d, 0 > b ? f - 1 : b)), this.setSelectionCell(a))
 };
 mxGraph.prototype.selectAll = function(a) {
-    a = a || this.getDefaultParent();
-    a = this.model.getChildren(a);
-    null != a && this.setSelectionCells(a)
+  a = a || this.getDefaultParent();
+  a = this.model.getChildren(a);
+  null != a && this.setSelectionCells(a)
 };
 mxGraph.prototype.selectVertices = function(a) {
-    this.selectCells(!0, !1, a)
+  this.selectCells(!0, !1, a)
 };
 mxGraph.prototype.selectEdges = function(a) {
-    this.selectCells(!1, !0, a)
+  this.selectCells(!1, !0, a)
 };
 mxGraph.prototype.selectCells = function(a, b, c) {
-    c = c || this.getDefaultParent();
-    var d = mxUtils.bind(this, function(c) {
-        return null != this.view.getState(c) && 0 == this.model.getChildCount(c) && (this.model.isVertex(c) && a || this.model.isEdge(c) && b)
-    });
-    c = this.model.filterDescendants(d, c);
-    this.setSelectionCells(c)
+  c = c || this.getDefaultParent();
+  var d = mxUtils.bind(this, function(c) {
+    return null != this.view.getState(c) && 0 == this.model.getChildCount(c) && (this.model.isVertex(c) && a || this.model.isEdge(c) && b)
+  });
+  c = this.model.filterDescendants(d, c);
+  this.setSelectionCells(c)
 };
 mxGraph.prototype.selectCellForEvent = function(a, b) {
-    var c = this.isCellSelected(a);
-    this.isToggleEvent(b) ? c ? this.removeSelectionCell(a) : this.addSelectionCell(a) : (!c || 1 != this.getSelectionCount()) && this.setSelectionCell(a)
+  var c = this.isCellSelected(a);
+  this.isToggleEvent(b) ? c ? this.removeSelectionCell(a) : this.addSelectionCell(a) : (!c || 1 != this.getSelectionCount()) && this.setSelectionCell(a)
 };
 mxGraph.prototype.selectCellsForEvent = function(a, b) {
-    this.isToggleEvent(b) ? this.addSelectionCells(a) : this.setSelectionCells(a)
+  this.isToggleEvent(b) ? this.addSelectionCells(a) : this.setSelectionCells(a)
 };
 mxGraph.prototype.createHandler = function(a) {
-    var b = null;
-    null != a && (this.model.isEdge(a.cell) ? (b = this.view.getEdgeStyle(a), b = this.isLoop(a) || b == mxEdgeStyle.ElbowConnector || b == mxEdgeStyle.SideToSide || b == mxEdgeStyle.TopToBottom ? new mxElbowEdgeHandler(a) : b == mxEdgeStyle.SegmentConnector || b == mxEdgeStyle.OrthConnector ? new mxEdgeSegmentHandler(a) : new mxEdgeHandler(a)) : b = new mxVertexHandler(a));
-    return b
+  var b = null;
+  null != a && (this.model.isEdge(a.cell) ? (b = this.view.getEdgeStyle(a), b = this.isLoop(a) || b == mxEdgeStyle.ElbowConnector || b == mxEdgeStyle.SideToSide || b == mxEdgeStyle.TopToBottom ?
+    new mxElbowEdgeHandler(a) : b == mxEdgeStyle.SegmentConnector || b == mxEdgeStyle.OrthConnector ? new mxEdgeSegmentHandler(a) : new mxEdgeHandler(a)) : b = new mxVertexHandler(a));
+  return b
 };
 mxGraph.prototype.addMouseListener = function(a) {
-    null == this.mouseListeners && (this.mouseListeners = []);
-    this.mouseListeners.push(a)
+  null == this.mouseListeners && (this.mouseListeners = []);
+  this.mouseListeners.push(a)
 };
 mxGraph.prototype.removeMouseListener = function(a) {
-    if (null != this.mouseListeners)
-        for (var b = 0; b < this.mouseListeners.length; b++)
-            if (this.mouseListeners[b] == a) {
-                this.mouseListeners.splice(b, 1);
-                break
-            }
+  if (null != this.mouseListeners)
+    for (var b = 0; b < this.mouseListeners.length; b++)
+      if (this.mouseListeners[b] == a) {
+        this.mouseListeners.splice(b, 1);
+        break
+      }
 };
 mxGraph.prototype.updateMouseEvent = function(a) {
-    if (null == a.graphX || null == a.graphY) {
-        var b = mxUtils.convertPoint(this.container, a.getX(), a.getY());
-        a.graphX = b.x - this.panDx;
-        a.graphY = b.y - this.panDy
-    }
+  if (null == a.graphX || null == a.graphY) {
+    var b = mxUtils.convertPoint(this.container, a.getX(), a.getY());
+    a.graphX = b.x - this.panDx;
+    a.graphY = b.y - this.panDy
+  }
 };
 mxGraph.prototype.fireMouseEvent = function(a, b, c) {
-    null == c && (c = this);
-    this.updateMouseEvent(b);
-    a == mxEvent.MOUSE_DOWN && (this.isMouseDown = !0);
-    if (mxClient.IS_TOUCH && this.doubleTapEnabled && a == mxEvent.MOUSE_DOWN) {
-        var d = (new Date).getTime();
-        d - this.lastTouchTime < this.doubleTapTimeout && Math.abs(this.lastTouchX - b.getX()) < this.doubleTapTolerance && Math.abs(this.lastTouchY - b.getY()) < this.doubleTapTolerance ? (this.lastTouchTime = 0, this.dblClick(b.getEvent(), b.getCell()), b.getEvent().cancelBubble = !0) : (this.lastTouchX =
-            b.getX(), this.lastTouchY = b.getY(), this.lastTouchTime = d)
-    }
-    d = 2 != b.getEvent().detail;
-    if (mxClient.IS_IE && "CSS1Compat" == document.compatMode) {
-        if (null != this.lastMouseX && Math.abs(this.lastMouseX - b.getX()) > this.doubleTapTolerance || null != this.lastMouseY && Math.abs(this.lastMouseY - b.getY()) > this.doubleTapTolerance) d = !0;
-        a == mxEvent.MOUSE_UP && (this.lastMouseX = b.getX(), this.lastMouseY = b.getY())
-    }
-    if ((a != mxEvent.MOUSE_UP || this.isMouseDown) && d) {
-        if (a == mxEvent.MOUSE_UP && (this.isMouseDown = !1), !this.isEditing() && (mxClient.IS_OP ||
-                mxClient.IS_SF || mxClient.IS_GC || mxClient.IS_IE && mxClient.IS_SVG || b.getEvent().target != this.container)) {
-            a == mxEvent.MOUSE_MOVE && (this.isMouseDown && this.autoScroll) && this.scrollPointToVisible(b.getGraphX(), b.getGraphY(), this.autoExtend);
-            if (null != this.mouseListeners) {
-                c = [c, b];
-                b.getEvent().returnValue = !0;
-                for (d = 0; d < this.mouseListeners.length; d++) {
-                    var e = this.mouseListeners[d];
-                    a == mxEvent.MOUSE_DOWN ? e.mouseDown.apply(e, c) : a == mxEvent.MOUSE_MOVE ? e.mouseMove.apply(e, c) : a == mxEvent.MOUSE_UP && e.mouseUp.apply(e, c)
-                }
-            }
-            a ==
-                mxEvent.MOUSE_UP && this.click(b)
+  null == c && (c = this);
+  this.updateMouseEvent(b);
+  a == mxEvent.MOUSE_DOWN && (this.isMouseDown = !0);
+  if (mxClient.IS_TOUCH && this.doubleTapEnabled && a == mxEvent.MOUSE_DOWN) {
+    var d = (new Date).getTime();
+    d - this.lastTouchTime < this.doubleTapTimeout && Math.abs(this.lastTouchX - b.getX()) < this.doubleTapTolerance && Math.abs(this.lastTouchY - b.getY()) < this.doubleTapTolerance ? (this.lastTouchTime =
+      0, this.dblClick(b.getEvent(), b.getCell()), b.getEvent().cancelBubble = !0) : (this.lastTouchX =
+      b.getX(), this.lastTouchY = b.getY(), this.lastTouchTime = d)
+  }
+  d = 2 != b.getEvent().detail;
+  if (mxClient.IS_IE && "CSS1Compat" == document.compatMode) {
+    if (null != this.lastMouseX && Math.abs(this.lastMouseX - b.getX()) > this.doubleTapTolerance || null != this.lastMouseY && Math.abs(this.lastMouseY - b.getY()) > this.doubleTapTolerance) d = !
+      0;
+    a == mxEvent.MOUSE_UP && (this.lastMouseX = b.getX(), this.lastMouseY = b.getY())
+  }
+  if ((a != mxEvent.MOUSE_UP || this.isMouseDown) && d) {
+    if (a == mxEvent.MOUSE_UP && (this.isMouseDown = !1), !this.isEditing() && (mxClient.IS_OP ||
+        mxClient.IS_SF || mxClient.IS_GC || mxClient.IS_IE && mxClient.IS_SVG || b.getEvent().target != this.container)) {
+      a == mxEvent.MOUSE_MOVE && (this.isMouseDown && this.autoScroll) && this.scrollPointToVisible(b.getGraphX(), b.getGraphY(), this.autoExtend);
+      if (null != this.mouseListeners) {
+        c = [c, b];
+        b.getEvent().returnValue = !0;
+        for (d = 0; d < this.mouseListeners.length; d++) {
+          var e = this.mouseListeners[d];
+          a == mxEvent.MOUSE_DOWN ? e.mouseDown.apply(e, c) : a == mxEvent.MOUSE_MOVE ? e.mouseMove.apply(e, c) : a == mxEvent.MOUSE_UP && e.mouseUp.apply(e, c)
         }
-    } else a == mxEvent.MOUSE_UP && (this.isMouseDown = !1)
+      }
+      a ==
+        mxEvent.MOUSE_UP && this.click(b)
+    }
+  } else a == mxEvent.MOUSE_UP && (this.isMouseDown = !1)
 };
 mxGraph.prototype.destroy = function() {
-    this.destroyed || (this.destroyed = !0, null != this.tooltipHandler && this.tooltipHandler.destroy(), null != this.selectionCellsHandler && this.selectionCellsHandler.destroy(), null != this.panningHandler && this.panningHandler.destroy(), null != this.connectionHandler && this.connectionHandler.destroy(), null != this.graphHandler && this.graphHandler.destroy(), null != this.cellEditor && this.cellEditor.destroy(), null != this.view && this.view.destroy(), null != this.model && null != this.graphModelChangeListener &&
-        (this.model.removeListener(this.graphModelChangeListener), this.graphModelChangeListener = null), this.container = null)
+  this.destroyed || (this.destroyed = !0, null != this.tooltipHandler && this.tooltipHandler.destroy(), null != this.selectionCellsHandler && this.selectionCellsHandler.destroy(), null != this.panningHandler &&
+    this.panningHandler.destroy(), null != this.connectionHandler && this.connectionHandler.destroy(), null != this.graphHandler && this.graphHandler.destroy(), null != this.cellEditor && this.cellEditor
+    .destroy(), null != this.view && this.view.destroy(), null != this.model && null != this.graphModelChangeListener &&
+    (this.model.removeListener(this.graphModelChangeListener), this.graphModelChangeListener = null), this.container = null)
 };
 
 function mxCellOverlay(a, b, c, d, e, f) {
-    this.image = a;
-    this.tooltip = b;
-    this.align = null != c ? c : this.align;
-    this.verticalAlign = null != d ? d : this.verticalAlign;
-    this.offset = null != e ? e : new mxPoint;
-    this.cursor = null != f ? f : "help"
+  this.image = a;
+  this.tooltip = b;
+  this.align = null != c ? c : this.align;
+  this.verticalAlign = null != d ? d : this.verticalAlign;
+  this.offset = null != e ? e : new mxPoint;
+  this.cursor = null != f ? f : "help"
 }
 mxCellOverlay.prototype = new mxEventSource;
 mxCellOverlay.prototype.constructor = mxCellOverlay;
@@ -13671,22 +13923,24 @@ mxCellOverlay.prototype.offset = null;
 mxCellOverlay.prototype.cursor = null;
 mxCellOverlay.prototype.defaultOverlap = 0.5;
 mxCellOverlay.prototype.getBounds = function(a) {
-    var b = a.view.graph.getModel().isEdge(a.cell),
-        c = a.view.scale,
-        d = null,
-        e = this.image.width,
-        f = this.image.height;
-    b ? (b = a.absolutePoints, 1 == b.length % 2 ? d = b[Math.floor(b.length / 2)] : (d = b.length / 2, a = b[d - 1], b = b[d], d = new mxPoint(a.x + (b.x - a.x) / 2, a.y + (b.y - a.y) / 2))) : (d = new mxPoint, d.x = this.align == mxConstants.ALIGN_LEFT ? a.x : this.align == mxConstants.ALIGN_CENTER ? a.x + a.width / 2 : a.x + a.width, d.y = this.verticalAlign == mxConstants.ALIGN_TOP ? a.y : this.verticalAlign == mxConstants.ALIGN_MIDDLE ?
-        a.y + a.height / 2 : a.y + a.height);
-    return new mxRectangle(Math.round(d.x - (e * this.defaultOverlap - this.offset.x) * c), Math.round(d.y - (f * this.defaultOverlap - this.offset.y) * c), e * c, f * c)
+  var b = a.view.graph.getModel().isEdge(a.cell),
+    c = a.view.scale,
+    d = null,
+    e = this.image.width,
+    f = this.image.height;
+  b ? (b = a.absolutePoints, 1 == b.length % 2 ? d = b[Math.floor(b.length / 2)] : (d = b.length / 2, a = b[d - 1], b = b[d], d = new mxPoint(a.x + (b.x - a.x) / 2, a.y + (b.y - a.y) / 2))) : (d =
+    new mxPoint, d.x = this.align == mxConstants.ALIGN_LEFT ? a.x : this.align == mxConstants.ALIGN_CENTER ? a.x + a.width / 2 : a.x + a.width, d.y = this.verticalAlign == mxConstants.ALIGN_TOP ?
+    a.y : this.verticalAlign == mxConstants.ALIGN_MIDDLE ?
+    a.y + a.height / 2 : a.y + a.height);
+  return new mxRectangle(Math.round(d.x - (e * this.defaultOverlap - this.offset.x) * c), Math.round(d.y - (f * this.defaultOverlap - this.offset.y) * c), e * c, f * c)
 };
 mxCellOverlay.prototype.toString = function() {
-    return this.tooltip
+  return this.tooltip
 };
 
 function mxOutline(a, b) {
-    this.source = a;
-    null != b && this.init(b)
+  this.source = a;
+  null != b && this.init(b)
 }
 mxOutline.prototype.source = null;
 mxOutline.prototype.outline = null;
@@ -13699,188 +13953,193 @@ mxOutline.prototype.updateOnPan = !1;
 mxOutline.prototype.sizerImage = null;
 mxOutline.prototype.suspended = !1;
 mxOutline.prototype.init = function(a) {
-    this.outline = new mxGraph(a, this.source.getModel(), this.graphRenderHint, this.source.getStylesheet());
-    this.outline.foldingEnabled = !1;
-    this.outline.autoScroll = !1;
-    var b = this.outline.graphModelChanged;
-    this.outline.graphModelChanged = mxUtils.bind(this, function(a) {
-        !this.suspended && null != this.outline && b.apply(this.outline, arguments)
-    });
-    mxClient.IS_SVG && (a = this.outline.getView().getCanvas().parentNode, a.setAttribute("shape-rendering", "optimizeSpeed"), a.setAttribute("image-rendering",
-        "optimizeSpeed"));
-    this.outline.labelsVisible = !1;
-    this.outline.setEnabled(!1);
-    this.updateHandler = mxUtils.bind(this, function(a, b) {
-        !this.suspended && !this.active && this.update()
-    });
-    this.source.getModel().addListener(mxEvent.CHANGE, this.updateHandler);
-    this.outline.addMouseListener(this);
-    a = this.source.getView();
-    a.addListener(mxEvent.SCALE, this.updateHandler);
-    a.addListener(mxEvent.TRANSLATE, this.updateHandler);
-    a.addListener(mxEvent.SCALE_AND_TRANSLATE, this.updateHandler);
-    a.addListener(mxEvent.DOWN, this.updateHandler);
-    a.addListener(mxEvent.UP, this.updateHandler);
-    mxEvent.addListener(this.source.container, "scroll", this.updateHandler);
-    this.panHandler = mxUtils.bind(this, function(a) {
-        this.updateOnPan && this.updateHandler.apply(this, arguments)
-    });
-    this.source.addListener(mxEvent.PAN, this.panHandler);
-    this.refreshHandler = mxUtils.bind(this, function(a) {
-        this.outline.setStylesheet(this.source.getStylesheet());
-        this.outline.refresh()
-    });
-    this.source.addListener(mxEvent.REFRESH, this.refreshHandler);
-    this.bounds = new mxRectangle(0, 0, 0,
-        0);
-    this.selectionBorder = new mxRectangleShape(this.bounds, null, mxConstants.OUTLINE_COLOR, mxConstants.OUTLINE_STROKEWIDTH);
-    this.selectionBorder.dialect = this.outline.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_VML : mxConstants.DIALECT_SVG;
-    this.selectionBorder.init(this.outline.getView().getOverlayPane());
-    mxEvent.redirectMouseEvents(this.selectionBorder.node, this.outline);
-    this.selectionBorder.node.style.background = "";
-    this.sizer = this.createSizer();
-    this.sizer.init(this.outline.getView().getOverlayPane());
-    this.enabled && (this.sizer.node.style.cursor = "pointer");
-    mxEvent.addListener(this.sizer.node, mxClient.IS_TOUCH ? "touchstart" : "mousedown", mxUtils.bind(this, function(a) {
-        this.outline.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(a))
-    }));
-    this.selectionBorder.node.style.display = this.showViewport ? "" : "none";
-    this.sizer.node.style.display = this.selectionBorder.node.style.display;
-    this.selectionBorder.node.style.cursor = "move";
-    this.update(!1)
+  this.outline = new mxGraph(a, this.source.getModel(), this.graphRenderHint, this.source.getStylesheet());
+  this.outline.foldingEnabled = !1;
+  this.outline.autoScroll = !1;
+  var b = this.outline.graphModelChanged;
+  this.outline.graphModelChanged = mxUtils.bind(this, function(a) {
+    !this.suspended && null != this.outline && b.apply(this.outline, arguments)
+  });
+  mxClient.IS_SVG && (a = this.outline.getView().getCanvas().parentNode, a.setAttribute("shape-rendering", "optimizeSpeed"), a.setAttribute("image-rendering",
+    "optimizeSpeed"));
+  this.outline.labelsVisible = !1;
+  this.outline.setEnabled(!1);
+  this.updateHandler = mxUtils.bind(this, function(a, b) {
+    !this.suspended && !this.active && this.update()
+  });
+  this.source.getModel().addListener(mxEvent.CHANGE, this.updateHandler);
+  this.outline.addMouseListener(this);
+  a = this.source.getView();
+  a.addListener(mxEvent.SCALE, this.updateHandler);
+  a.addListener(mxEvent.TRANSLATE, this.updateHandler);
+  a.addListener(mxEvent.SCALE_AND_TRANSLATE, this.updateHandler);
+  a.addListener(mxEvent.DOWN, this.updateHandler);
+  a.addListener(mxEvent.UP, this.updateHandler);
+  mxEvent.addListener(this.source.container, "scroll", this.updateHandler);
+  this.panHandler = mxUtils.bind(this, function(a) {
+    this.updateOnPan && this.updateHandler.apply(this, arguments)
+  });
+  this.source.addListener(mxEvent.PAN, this.panHandler);
+  this.refreshHandler = mxUtils.bind(this, function(a) {
+    this.outline.setStylesheet(this.source.getStylesheet());
+    this.outline.refresh()
+  });
+  this.source.addListener(mxEvent.REFRESH, this.refreshHandler);
+  this.bounds = new mxRectangle(0, 0, 0,
+    0);
+  this.selectionBorder = new mxRectangleShape(this.bounds, null, mxConstants.OUTLINE_COLOR, mxConstants.OUTLINE_STROKEWIDTH);
+  this.selectionBorder.dialect = this.outline.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_VML : mxConstants.DIALECT_SVG;
+  this.selectionBorder.init(this.outline.getView().getOverlayPane());
+  mxEvent.redirectMouseEvents(this.selectionBorder.node, this.outline);
+  this.selectionBorder.node.style.background = "";
+  this.sizer = this.createSizer();
+  this.sizer.init(this.outline.getView().getOverlayPane());
+  this.enabled && (this.sizer.node.style.cursor = "pointer");
+  mxEvent.addListener(this.sizer.node, mxClient.IS_TOUCH ? "touchstart" : "mousedown", mxUtils.bind(this, function(a) {
+    this.outline.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(a))
+  }));
+  this.selectionBorder.node.style.display = this.showViewport ? "" : "none";
+  this.sizer.node.style.display = this.selectionBorder.node.style.display;
+  this.selectionBorder.node.style.cursor = "move";
+  this.update(!1)
 };
 mxOutline.prototype.isEnabled = function() {
-    return this.enabled
+  return this.enabled
 };
 mxOutline.prototype.setEnabled = function(a) {
-    this.enabled = a
+  this.enabled = a
 };
 mxOutline.prototype.setZoomEnabled = function(a) {
-    this.sizer.node.style.visibility = a ? "visible" : "hidden"
+  this.sizer.node.style.visibility = a ? "visible" : "hidden"
 };
 mxOutline.prototype.refresh = function() {
-    this.update(!0)
+  this.update(!0)
 };
 mxOutline.prototype.createSizer = function() {
-    var a = null != this.sizerImage ? new mxImageShape(new mxRectangle(0, 0, this.sizerImage.width, this.sizerImage.height), this.sizerImage.src) : new mxRectangleShape(new mxRectangle(0, 0, this.sizerSize, this.sizerSize), mxConstants.OUTLINE_HANDLE_FILLCOLOR, mxConstants.OUTLINE_HANDLE_STROKECOLOR);
-    a.dialect = this.outline.dialect;
-    return a
+  var a = null != this.sizerImage ? new mxImageShape(new mxRectangle(0, 0, this.sizerImage.width, this.sizerImage.height), this.sizerImage.src) : new mxRectangleShape(new mxRectangle(0, 0, this.sizerSize,
+    this.sizerSize), mxConstants.OUTLINE_HANDLE_FILLCOLOR, mxConstants.OUTLINE_HANDLE_STROKECOLOR);
+  a.dialect = this.outline.dialect;
+  return a
 };
 mxOutline.prototype.getSourceContainerSize = function() {
-    return new mxRectangle(0, 0, this.source.container.scrollWidth, this.source.container.scrollHeight)
+  return new mxRectangle(0, 0, this.source.container.scrollWidth, this.source.container.scrollHeight)
 };
 mxOutline.prototype.getOutlineOffset = function(a) {
-    return null
+  return null
 };
 mxOutline.prototype.update = function(a) {
-    if (null != this.source) {
-        var b = this.source.view.scale,
-            c = this.source.getGraphBounds(),
-            c = new mxRectangle(c.x / b + this.source.panDx, c.y / b + this.source.panDy, c.width / b, c.height / b),
-            d = new mxRectangle(0, 0, this.source.container.clientWidth / b, this.source.container.clientHeight / b),
-            e = c.clone();
-        e.add(d);
-        var f = this.getSourceContainerSize(),
-            d = Math.max(f.width / b, e.width),
-            b = Math.max(f.height / b, e.height),
-            e = Math.max(0, this.outline.container.clientWidth - this.border),
-            f = Math.max(0, this.outline.container.clientHeight -
-                this.border),
-            e = Math.min(e / d, f / b);
-        if (0 < e) {
-            this.outline.getView().scale != e && (this.outline.getView().scale = e, a = !0);
-            d = this.outline.getView();
-            d.currentRoot != this.source.getView().currentRoot && d.setCurrentRoot(this.source.getView().currentRoot);
-            var b = this.source.view.translate,
-                f = b.x + this.source.panDx,
-                g = b.y + this.source.panDy,
-                e = this.getOutlineOffset(e);
-            null != e && (f += e.x, g += e.y);
-            0 > c.x && (f -= c.x);
-            0 > c.y && (g -= c.y);
-            if (d.translate.x != f || d.translate.y != g) d.translate.x = f, d.translate.y = g, a = !0;
-            var c = d.translate,
-                e = this.source.getView().scale,
-                f = e / d.scale,
-                g = 1 / d.scale,
-                h = this.source.container;
-            this.bounds = new mxRectangle((c.x - b.x - this.source.panDx) / g, (c.y - b.y - this.source.panDy) / g, h.clientWidth / f, h.clientHeight / f);
-            this.bounds.x += this.source.container.scrollLeft * d.scale / e;
-            this.bounds.y += this.source.container.scrollTop * d.scale / e;
-            c = this.selectionBorder.bounds;
-            if (c.x != this.bounds.x || c.y != this.bounds.y || c.width != this.bounds.width || c.height != this.bounds.height) this.selectionBorder.bounds = this.bounds, this.selectionBorder.redraw();
-            c = this.sizer.bounds;
-            d = new mxRectangle(this.bounds.x + this.bounds.width - c.width / 2, this.bounds.y + this.bounds.height - c.height / 2, c.width, c.height);
-            if (c.x != d.x || c.y != d.y || c.width != d.width || c.height != d.height) this.sizer.bounds = d, "hidden" != this.sizer.node.style.visibility && this.sizer.redraw();
-            a && this.outline.view.revalidate()
-        }
-    }
+  if (null != this.source) {
+    var b = this.source.view.scale,
+      c = this.source.getGraphBounds(),
+      c = new mxRectangle(c.x / b + this.source.panDx, c.y / b + this.source.panDy, c.width / b, c.height / b),
+      d = new mxRectangle(0, 0, this.source.container.clientWidth / b, this.source.container.clientHeight / b),
+      e = c.clone();
+    e.add(d);
+    var f = this.getSourceContainerSize(),
+      d = Math.max(f.width / b, e.width),
+      b = Math.max(f.height / b, e.height),
+      e = Math.max(0, this.outline.container.clientWidth - this.border),
+      f = Math.max(0, this.outline.container.clientHeight -
+        this.border),
+      e = Math.min(e / d, f / b);
+    if (0 < e) {
+      this.outline.getView().scale != e && (this.outline.getView().scale = e, a = !0);
+      d = this.outline.getView();
+      d.currentRoot != this.source.getView().currentRoot && d.setCurrentRoot(this.source.getView().currentRoot);
+      var b = this.source.view.translate,
+        f = b.x + this.source.panDx,
+        g = b.y + this.source.panDy,
+        e = this.getOutlineOffset(e);
+      null != e && (f += e.x, g += e.y);
+      0 > c.x && (f -= c.x);
+      0 > c.y && (g -= c.y);
+      if (d.translate.x != f || d.translate.y != g) d.translate.x = f, d.translate.y = g, a = !0;
+      var c = d.translate,
+        e = this.source.getView().scale,
+        f = e / d.scale,
+        g = 1 / d.scale,
+        h = this.source.container;
+      this.bounds = new mxRectangle((c.x - b.x - this.source.panDx) / g, (c.y - b.y - this.source.panDy) / g, h.clientWidth / f, h.clientHeight / f);
+      this.bounds.x += this.source.container.scrollLeft * d.scale / e;
+      this.bounds.y += this.source.container.scrollTop * d.scale / e;
+      c = this.selectionBorder.bounds;
+      if (c.x != this.bounds.x || c.y != this.bounds.y || c.width != this.bounds.width || c.height != this.bounds.height) this.selectionBorder.bounds = this.bounds, this.selectionBorder.redraw();
+      c = this.sizer.bounds;
+      d = new mxRectangle(this.bounds.x + this.bounds.width - c.width / 2, this.bounds.y + this.bounds.height - c.height / 2, c.width, c.height);
+      if (c.x != d.x || c.y != d.y || c.width != d.width || c.height != d.height) this.sizer.bounds = d, "hidden" != this.sizer.node.style.visibility && this.sizer.redraw();
+      a && this.outline.view.revalidate()
+    }
+  }
 };
 mxOutline.prototype.mouseDown = function(a, b) {
-    this.enabled && this.showViewport && (this.zoom = b.isSource(this.sizer), this.startX = b.getX(), this.startY = b.getY(), this.active = !0, this.source.useScrollbarsForPanning && mxUtils.hasScrollbars(this.source.container) ? (this.dx0 = this.source.container.scrollLeft, this.dy0 = this.source.container.scrollTop) : this.dy0 = this.dx0 = 0);
-    b.consume()
+  this.enabled && this.showViewport && (this.zoom = b.isSource(this.sizer), this.startX = b.getX(), this.startY = b.getY(), this.active = !0, this.source.useScrollbarsForPanning && mxUtils.hasScrollbars(
+    this.source.container) ? (this.dx0 = this.source.container.scrollLeft, this.dy0 = this.source.container.scrollTop) : this.dy0 = this.dx0 = 0);
+  b.consume()
 };
 mxOutline.prototype.mouseMove = function(a, b) {
-    if (this.active) {
-        this.selectionBorder.node.style.display = this.showViewport ? "" : "none";
-        this.sizer.node.style.display = this.selectionBorder.node.style.display;
-        var c = b.getX() - this.startX,
-            d = b.getY() - this.startY,
-            e = null;
-        if (this.zoom) e = this.source.container, d = c / (e.clientWidth / e.clientHeight), e = new mxRectangle(this.bounds.x, this.bounds.y, Math.max(1, this.bounds.width + c), Math.max(1, this.bounds.height + d)), this.selectionBorder.bounds = e, this.selectionBorder.redraw();
-        else {
-            var f =
-                this.outline.getView().scale,
-                e = new mxRectangle(this.bounds.x + c, this.bounds.y + d, this.bounds.width, this.bounds.height);
-            this.selectionBorder.bounds = e;
-            this.selectionBorder.redraw();
-            c = c / f * this.source.getView().scale;
-            d = d / f * this.source.getView().scale;
-            this.source.panGraph(-c - this.dx0, -d - this.dy0)
-        }
-        c = this.sizer.bounds;
-        this.sizer.bounds = new mxRectangle(e.x + e.width - c.width / 2, e.y + e.height - c.height / 2, c.width, c.height);
-        "hidden" != this.sizer.node.style.visibility && this.sizer.redraw();
-        b.consume()
-    }
+  if (this.active) {
+    this.selectionBorder.node.style.display = this.showViewport ? "" : "none";
+    this.sizer.node.style.display = this.selectionBorder.node.style.display;
+    var c = b.getX() - this.startX,
+      d = b.getY() - this.startY,
+      e = null;
+    if (this.zoom) e = this.source.container, d = c / (e.clientWidth / e.clientHeight), e = new mxRectangle(this.bounds.x, this.bounds.y, Math.max(1, this.bounds.width + c), Math.max(1, this.bounds
+      .height + d)), this.selectionBorder.bounds = e, this.selectionBorder.redraw();
+    else {
+      var f =
+        this.outline.getView().scale,
+        e = new mxRectangle(this.bounds.x + c, this.bounds.y + d, this.bounds.width, this.bounds.height);
+      this.selectionBorder.bounds = e;
+      this.selectionBorder.redraw();
+      c = c / f * this.source.getView().scale;
+      d = d / f * this.source.getView().scale;
+      this.source.panGraph(-c - this.dx0, -d - this.dy0)
+    }
+    c = this.sizer.bounds;
+    this.sizer.bounds = new mxRectangle(e.x + e.width - c.width / 2, e.y + e.height - c.height / 2, c.width, c.height);
+    "hidden" != this.sizer.node.style.visibility && this.sizer.redraw();
+    b.consume()
+  }
 };
 mxOutline.prototype.mouseUp = function(a, b) {
-    if (this.active) {
-        var c = b.getX() - this.startX,
-            d = b.getY() - this.startY;
-        if (0 < Math.abs(c) || 0 < Math.abs(d)) {
-            if (this.zoom) {
-                var d = this.selectionBorder.bounds.width,
-                    e = this.source.getView().scale;
-                this.source.zoomTo(e - c * e / d, !1)
-            } else if (!this.source.useScrollbarsForPanning || !mxUtils.hasScrollbars(this.source.container)) this.source.panGraph(0, 0), c /= this.outline.getView().scale, d /= this.outline.getView().scale, e = this.source.getView().translate, this.source.getView().setTranslate(e.x -
-                c, e.y - d);
-            this.update();
-            b.consume()
-        }
-        this.index = null;
-        this.active = !1
-    }
+  if (this.active) {
+    var c = b.getX() - this.startX,
+      d = b.getY() - this.startY;
+    if (0 < Math.abs(c) || 0 < Math.abs(d)) {
+      if (this.zoom) {
+        var d = this.selectionBorder.bounds.width,
+          e = this.source.getView().scale;
+        this.source.zoomTo(e - c * e / d, !1)
+      } else if (!this.source.useScrollbarsForPanning || !mxUtils.hasScrollbars(this.source.container)) this.source.panGraph(0, 0), c /= this.outline.getView().scale, d /= this.outline.getView().scale,
+        e = this.source.getView().translate, this.source.getView().setTranslate(e.x -
+          c, e.y - d);
+      this.update();
+      b.consume()
+    }
+    this.index = null;
+    this.active = !1
+  }
 };
 mxOutline.prototype.destroy = function() {
-    null != this.source && (this.source.removeListener(this.panHandler), this.source.removeListener(this.refreshHandler), this.source.getModel().removeListener(this.updateHandler), this.source.getView().removeListener(this.updateHandler), mxEvent.addListener(this.source.container, "scroll", this.updateHandler), this.source = null);
-    null != this.outline && (this.outline.removeMouseListener(this), this.outline.destroy(), this.outline = null);
-    null != this.selectionBorder && (this.selectionBorder.destroy(),
-        this.selectionBorder = null);
-    null != this.sizer && (this.sizer.destroy(), this.sizer = null)
+  null != this.source && (this.source.removeListener(this.panHandler), this.source.removeListener(this.refreshHandler), this.source.getModel().removeListener(this.updateHandler), this.source.getView()
+    .removeListener(this.updateHandler), mxEvent.addListener(this.source.container, "scroll", this.updateHandler), this.source = null);
+  null != this.outline && (this.outline.removeMouseListener(this), this.outline.destroy(), this.outline = null);
+  null != this.selectionBorder && (this.selectionBorder.destroy(),
+    this.selectionBorder = null);
+  null != this.sizer && (this.sizer.destroy(), this.sizer = null)
 };
 
 function mxMultiplicity(a, b, c, d, e, f, g, h, k, l) {
-    this.source = a;
-    this.type = b;
-    this.attr = c;
-    this.value = d;
-    this.min = null != e ? e : 0;
-    this.max = null != f ? f : "n";
-    this.validNeighbors = g;
-    this.countError = mxResources.get(h) || h;
-    this.typeError = mxResources.get(k) || k;
-    this.validNeighborsAllowed = null != l ? l : !0
+  this.source = a;
+  this.type = b;
+  this.attr = c;
+  this.value = d;
+  this.min = null != e ? e : 0;
+  this.max = null != f ? f : "n";
+  this.validNeighbors = g;
+  this.countError = mxResources.get(h) || h;
+  this.typeError = mxResources.get(k) || k;
+  this.validNeighborsAllowed = null != l ? l : !0
 }
 mxMultiplicity.prototype.type = null;
 mxMultiplicity.prototype.attr = null;
@@ -13893,43 +14152,43 @@ mxMultiplicity.prototype.validNeighborsAllowed = !0;
 mxMultiplicity.prototype.countError = null;
 mxMultiplicity.prototype.typeError = null;
 mxMultiplicity.prototype.check = function(a, b, c, d, e, f) {
-    var g = "";
-    if (this.source && this.checkTerminal(a, c, b) || !this.source && this.checkTerminal(a, d, b)) {
-        if (null != this.countError && (this.source && (0 == this.max || e >= this.max) || !this.source && (0 == this.max || f >= this.max))) g += this.countError + "\n";
-        null != this.validNeighbors && (null != this.typeError && 0 < this.validNeighbors.length) && (this.checkNeighbors(a, b, c, d) || (g += this.typeError + "\n"))
-    }
-    return 0 < g.length ? g : null
+  var g = "";
+  if (this.source && this.checkTerminal(a, c, b) || !this.source && this.checkTerminal(a, d, b)) {
+    if (null != this.countError && (this.source && (0 == this.max || e >= this.max) || !this.source && (0 == this.max || f >= this.max))) g += this.countError + "\n";
+    null != this.validNeighbors && (null != this.typeError && 0 < this.validNeighbors.length) && (this.checkNeighbors(a, b, c, d) || (g += this.typeError + "\n"))
+  }
+  return 0 < g.length ? g : null
 };
 mxMultiplicity.prototype.checkNeighbors = function(a, b, c, d) {
-    b = a.model.getValue(c);
-    d = a.model.getValue(d);
-    c = !this.validNeighborsAllowed;
-    for (var e = this.validNeighbors, f = 0; f < e.length; f++)
-        if (this.source && this.checkType(a, d, e[f])) {
-            c = this.validNeighborsAllowed;
-            break
-        } else if (!this.source && this.checkType(a, b, e[f])) {
-        c = this.validNeighborsAllowed;
-        break
-    }
-    return c
+  b = a.model.getValue(c);
+  d = a.model.getValue(d);
+  c = !this.validNeighborsAllowed;
+  for (var e = this.validNeighbors, f = 0; f < e.length; f++)
+    if (this.source && this.checkType(a, d, e[f])) {
+      c = this.validNeighborsAllowed;
+      break
+    } else if (!this.source && this.checkType(a, b, e[f])) {
+    c = this.validNeighborsAllowed;
+    break
+  }
+  return c
 };
 mxMultiplicity.prototype.checkTerminal = function(a, b, c) {
-    b = a.model.getValue(b);
-    return this.checkType(a, b, this.type, this.attr, this.value)
+  b = a.model.getValue(b);
+  return this.checkType(a, b, this.type, this.attr, this.value)
 };
 mxMultiplicity.prototype.checkType = function(a, b, c, d, e) {
-    return null != b ? isNaN(b.nodeType) ? b == c : mxUtils.isNode(b, c, d, e) : !1
+  return null != b ? isNaN(b.nodeType) ? b == c : mxUtils.isNode(b, c, d, e) : !1
 };
 
 function mxLayoutManager(a) {
-    this.undoHandler = mxUtils.bind(this, function(a, c) {
-        this.isEnabled() && this.beforeUndo(c.getProperty("edit"))
-    });
-    this.moveHandler = mxUtils.bind(this, function(a, c) {
-        this.isEnabled() && this.cellsMoved(c.getProperty("cells"), c.getProperty("event"))
-    });
-    this.setGraph(a)
+  this.undoHandler = mxUtils.bind(this, function(a, c) {
+    this.isEnabled() && this.beforeUndo(c.getProperty("edit"))
+  });
+  this.moveHandler = mxUtils.bind(this, function(a, c) {
+    this.isEnabled() && this.cellsMoved(c.getProperty("cells"), c.getProperty("event"))
+  });
+  this.setGraph(a)
 }
 mxLayoutManager.prototype = new mxEventSource;
 mxLayoutManager.prototype.constructor = mxLayoutManager;
@@ -13939,92 +14198,92 @@ mxLayoutManager.prototype.enabled = !0;
 mxLayoutManager.prototype.updateHandler = null;
 mxLayoutManager.prototype.moveHandler = null;
 mxLayoutManager.prototype.isEnabled = function() {
-    return this.enabled
+  return this.enabled
 };
 mxLayoutManager.prototype.setEnabled = function(a) {
-    this.enabled = a
+  this.enabled = a
 };
 mxLayoutManager.prototype.isBubbling = function() {
-    return this.bubbling
+  return this.bubbling
 };
 mxLayoutManager.prototype.setBubbling = function(a) {
-    this.bubbling = a
+  this.bubbling = a
 };
 mxLayoutManager.prototype.getGraph = function() {
-    return this.graph
+  return this.graph
 };
 mxLayoutManager.prototype.setGraph = function(a) {
-    if (null != this.graph) {
-        var b = this.graph.getModel();
-        b.removeListener(this.undoHandler);
-        this.graph.removeListener(this.moveHandler)
-    }
-    this.graph = a;
-    null != this.graph && (b = this.graph.getModel(), b.addListener(mxEvent.BEFORE_UNDO, this.undoHandler), this.graph.addListener(mxEvent.MOVE_CELLS, this.moveHandler))
+  if (null != this.graph) {
+    var b = this.graph.getModel();
+    b.removeListener(this.undoHandler);
+    this.graph.removeListener(this.moveHandler)
+  }
+  this.graph = a;
+  null != this.graph && (b = this.graph.getModel(), b.addListener(mxEvent.BEFORE_UNDO, this.undoHandler), this.graph.addListener(mxEvent.MOVE_CELLS, this.moveHandler))
 };
 mxLayoutManager.prototype.getLayout = function(a) {
-    return null
+  return null
 };
 mxLayoutManager.prototype.beforeUndo = function(a) {
-    a = this.getCellsForChanges(a.changes);
-    var b = this.getGraph().getModel();
-    if (this.isBubbling())
-        for (var c = b.getParents(a); 0 < c.length;) a = a.concat(c), c = b.getParents(c);
-    this.layoutCells(mxUtils.sortCells(a, !1))
+  a = this.getCellsForChanges(a.changes);
+  var b = this.getGraph().getModel();
+  if (this.isBubbling())
+    for (var c = b.getParents(a); 0 < c.length;) a = a.concat(c), c = b.getParents(c);
+  this.layoutCells(mxUtils.sortCells(a, !1))
 };
 mxLayoutManager.prototype.cellsMoved = function(a, b) {
-    if (null != a && null != b)
-        for (var c = mxUtils.convertPoint(this.getGraph().container, mxEvent.getClientX(b), mxEvent.getClientY(b)), d = this.getGraph().getModel(), e = 0; e < a.length; e++) {
-            var f = this.getLayout(d.getParent(a[e]));
-            null != f && f.moveCell(a[e], c.x, c.y)
-        }
+  if (null != a && null != b)
+    for (var c = mxUtils.convertPoint(this.getGraph().container, mxEvent.getClientX(b), mxEvent.getClientY(b)), d = this.getGraph().getModel(), e = 0; e < a.length; e++) {
+      var f = this.getLayout(d.getParent(a[e]));
+      null != f && f.moveCell(a[e], c.x, c.y)
+    }
 };
 mxLayoutManager.prototype.getCellsForChanges = function(a) {
-    for (var b = [], c = {}, d = 0; d < a.length; d++) {
-        var e = a[d];
-        if (e instanceof mxRootChange) return [];
-        for (var e = this.getCellsForChange(e), f = 0; f < e.length; f++)
-            if (null != e[f]) {
-                var g = mxCellPath.create(e[f]);
-                null == c[g] && (c[g] = e[f], b.push(e[f]))
-            }
-    }
-    return b
+  for (var b = [], c = {}, d = 0; d < a.length; d++) {
+    var e = a[d];
+    if (e instanceof mxRootChange) return [];
+    for (var e = this.getCellsForChange(e), f = 0; f < e.length; f++)
+      if (null != e[f]) {
+        var g = mxCellPath.create(e[f]);
+        null == c[g] && (c[g] = e[f], b.push(e[f]))
+      }
+  }
+  return b
 };
 mxLayoutManager.prototype.getCellsForChange = function(a) {
-    var b = this.getGraph().getModel();
-    return a instanceof mxChildChange ? [a.child, a.previous, b.getParent(a.child)] : a instanceof mxTerminalChange || a instanceof mxGeometryChange ? [a.cell, b.getParent(a.cell)] : []
+  var b = this.getGraph().getModel();
+  return a instanceof mxChildChange ? [a.child, a.previous, b.getParent(a.child)] : a instanceof mxTerminalChange || a instanceof mxGeometryChange ? [a.cell, b.getParent(a.cell)] : []
 };
 mxLayoutManager.prototype.layoutCells = function(a) {
-    if (0 < a.length) {
-        var b = this.getGraph().getModel();
-        b.beginUpdate();
-        try {
-            for (var c = null, d = 0; d < a.length; d++) a[d] != b.getRoot() && a[d] != c && (c = a[d], this.executeLayout(this.getLayout(c), c));
-            this.fireEvent(new mxEventObject(mxEvent.LAYOUT_CELLS, "cells", a))
-        } finally {
-            b.endUpdate()
-        }
+  if (0 < a.length) {
+    var b = this.getGraph().getModel();
+    b.beginUpdate();
+    try {
+      for (var c = null, d = 0; d < a.length; d++) a[d] != b.getRoot() && a[d] != c && (c = a[d], this.executeLayout(this.getLayout(c), c));
+      this.fireEvent(new mxEventObject(mxEvent.LAYOUT_CELLS, "cells", a))
+    } finally {
+      b.endUpdate()
     }
+  }
 };
 mxLayoutManager.prototype.executeLayout = function(a, b) {
-    null != a && null != b && a.execute(b)
+  null != a && null != b && a.execute(b)
 };
 mxLayoutManager.prototype.destroy = function() {
-    this.setGraph(null)
+  this.setGraph(null)
 };
 
 function mxSpaceManager(a, b, c, d) {
-    this.resizeHandler = mxUtils.bind(this, function(a, b) {
-        this.isEnabled() && this.cellsResized(b.getProperty("cells"))
-    });
-    this.foldHandler = mxUtils.bind(this, function(a, b) {
-        this.isEnabled() && this.cellsResized(b.getProperty("cells"))
-    });
-    this.shiftRightwards = null != b ? b : !0;
-    this.shiftDownwards = null != c ? c : !0;
-    this.extendParents = null != d ? d : !0;
-    this.setGraph(a)
+  this.resizeHandler = mxUtils.bind(this, function(a, b) {
+    this.isEnabled() && this.cellsResized(b.getProperty("cells"))
+  });
+  this.foldHandler = mxUtils.bind(this, function(a, b) {
+    this.isEnabled() && this.cellsResized(b.getProperty("cells"))
+  });
+  this.shiftRightwards = null != b ? b : !0;
+  this.shiftDownwards = null != c ? c : !0;
+  this.extendParents = null != d ? d : !0;
+  this.setGraph(a)
 }
 mxSpaceManager.prototype = new mxEventSource;
 mxSpaceManager.prototype.constructor = mxSpaceManager;
@@ -14036,140 +14295,140 @@ mxSpaceManager.prototype.extendParents = !0;
 mxSpaceManager.prototype.resizeHandler = null;
 mxSpaceManager.prototype.foldHandler = null;
 mxSpaceManager.prototype.isCellIgnored = function(a) {
-    return !this.getGraph().getModel().isVertex(a)
+  return !this.getGraph().getModel().isVertex(a)
 };
 mxSpaceManager.prototype.isCellShiftable = function(a) {
-    return this.getGraph().getModel().isVertex(a) && this.getGraph().isCellMovable(a)
+  return this.getGraph().getModel().isVertex(a) && this.getGraph().isCellMovable(a)
 };
 mxSpaceManager.prototype.isEnabled = function() {
-    return this.enabled
+  return this.enabled
 };
 mxSpaceManager.prototype.setEnabled = function(a) {
-    this.enabled = a
+  this.enabled = a
 };
 mxSpaceManager.prototype.isShiftRightwards = function() {
-    return this.shiftRightwards
+  return this.shiftRightwards
 };
 mxSpaceManager.prototype.setShiftRightwards = function(a) {
-    this.shiftRightwards = a
+  this.shiftRightwards = a
 };
 mxSpaceManager.prototype.isShiftDownwards = function() {
-    return this.shiftDownwards
+  return this.shiftDownwards
 };
 mxSpaceManager.prototype.setShiftDownwards = function(a) {
-    this.shiftDownwards = a
+  this.shiftDownwards = a
 };
 mxSpaceManager.prototype.isExtendParents = function() {
-    return this.extendParents
+  return this.extendParents
 };
 mxSpaceManager.prototype.setExtendParents = function(a) {
-    this.extendParents = a
+  this.extendParents = a
 };
 mxSpaceManager.prototype.getGraph = function() {
-    return this.graph
+  return this.graph
 };
 mxSpaceManager.prototype.setGraph = function(a) {
-    null != this.graph && (this.graph.removeListener(this.resizeHandler), this.graph.removeListener(this.foldHandler));
-    this.graph = a;
-    null != this.graph && (this.graph.addListener(mxEvent.RESIZE_CELLS, this.resizeHandler), this.graph.addListener(mxEvent.FOLD_CELLS, this.foldHandler))
+  null != this.graph && (this.graph.removeListener(this.resizeHandler), this.graph.removeListener(this.foldHandler));
+  this.graph = a;
+  null != this.graph && (this.graph.addListener(mxEvent.RESIZE_CELLS, this.resizeHandler), this.graph.addListener(mxEvent.FOLD_CELLS, this.foldHandler))
 };
 mxSpaceManager.prototype.cellsResized = function(a) {
-    if (null != a) {
-        var b = this.graph.getModel();
-        b.beginUpdate();
-        try {
-            for (var c = 0; c < a.length; c++)
-                if (!this.isCellIgnored(a[c])) {
-                    this.cellResized(a[c]);
-                    break
-                }
-        } finally {
-            b.endUpdate()
+  if (null != a) {
+    var b = this.graph.getModel();
+    b.beginUpdate();
+    try {
+      for (var c = 0; c < a.length; c++)
+        if (!this.isCellIgnored(a[c])) {
+          this.cellResized(a[c]);
+          break
         }
+    } finally {
+      b.endUpdate()
     }
+  }
 };
 mxSpaceManager.prototype.cellResized = function(a) {
-    var b = this.getGraph(),
-        c = b.getView(),
-        d = b.getModel(),
-        e = c.getState(a),
-        f = c.getState(d.getParent(a));
-    if (null != e && null != f) {
-        var g = this.getCellsToShift(e),
-            h = d.getGeometry(a);
-        if (null != g && null != h) {
-            var k = c.translate,
-                l = c.scale,
-                c = e.x - f.origin.x - k.x * l,
-                f = e.y - f.origin.y - k.y * l,
-                k = e.x + e.width,
-                m = e.y + e.height,
-                n = e.width - h.width * l + c - h.x * l,
-                p = e.height - h.height * l + f - h.y * l,
-                q = 1 - h.width * l / e.width,
-                e = 1 - h.height * l / e.height;
-            d.beginUpdate();
-            try {
-                for (h = 0; h < g.length; h++) g[h] != a && this.isCellShiftable(g[h]) &&
-                    this.shiftCell(g[h], n, p, c, f, k, m, q, e, this.isExtendParents() && b.isExtendParent(g[h]))
-            } finally {
-                d.endUpdate()
-            }
-        }
+  var b = this.getGraph(),
+    c = b.getView(),
+    d = b.getModel(),
+    e = c.getState(a),
+    f = c.getState(d.getParent(a));
+  if (null != e && null != f) {
+    var g = this.getCellsToShift(e),
+      h = d.getGeometry(a);
+    if (null != g && null != h) {
+      var k = c.translate,
+        l = c.scale,
+        c = e.x - f.origin.x - k.x * l,
+        f = e.y - f.origin.y - k.y * l,
+        k = e.x + e.width,
+        m = e.y + e.height,
+        n = e.width - h.width * l + c - h.x * l,
+        p = e.height - h.height * l + f - h.y * l,
+        q = 1 - h.width * l / e.width,
+        e = 1 - h.height * l / e.height;
+      d.beginUpdate();
+      try {
+        for (h = 0; h < g.length; h++) g[h] != a && this.isCellShiftable(g[h]) &&
+          this.shiftCell(g[h], n, p, c, f, k, m, q, e, this.isExtendParents() && b.isExtendParent(g[h]))
+      } finally {
+        d.endUpdate()
+      }
     }
+  }
 };
 mxSpaceManager.prototype.shiftCell = function(a, b, c, d, e, f, g, h, k, l) {
-    d = this.getGraph();
-    var m = d.getView().getState(a);
-    if (null != m) {
-        var n = d.getModel(),
-            p = n.getGeometry(a);
-        if (null != p) {
-            n.beginUpdate();
-            try {
-                if (this.isShiftRightwards())
-                    if (m.x >= f) p = p.clone(), p.translate(-b, 0);
-                    else {
-                        var q = Math.max(0, m.x - x0),
-                            p = p.clone();
-                        p.translate(-h * q, 0)
-                    }
-                if (this.isShiftDownwards())
-                    if (m.y >= g) p = p.clone(), p.translate(0, -c);
-                    else {
-                        var s = Math.max(0, m.y - e),
-                            p = p.clone();
-                        p.translate(0, -k * s)
-                    }
-                p != n.getGeometry(a) && (n.setGeometry(a, p), l && d.extendParent(a))
-            } finally {
-                n.endUpdate()
-            }
-        }
-    }
+  d = this.getGraph();
+  var m = d.getView().getState(a);
+  if (null != m) {
+    var n = d.getModel(),
+      p = n.getGeometry(a);
+    if (null != p) {
+      n.beginUpdate();
+      try {
+        if (this.isShiftRightwards())
+          if (m.x >= f) p = p.clone(), p.translate(-b, 0);
+          else {
+            var q = Math.max(0, m.x - x0),
+              p = p.clone();
+            p.translate(-h * q, 0)
+          }
+        if (this.isShiftDownwards())
+          if (m.y >= g) p = p.clone(), p.translate(0, -c);
+          else {
+            var s = Math.max(0, m.y - e),
+              p = p.clone();
+            p.translate(0, -k * s)
+          }
+        p != n.getGeometry(a) && (n.setGeometry(a, p), l && d.extendParent(a))
+      } finally {
+        n.endUpdate()
+      }
+    }
+  }
 };
 mxSpaceManager.prototype.getCellsToShift = function(a) {
-    var b = this.getGraph(),
-        c = b.getModel().getParent(a.cell),
-        d = this.isShiftDownwards(),
-        e = this.isShiftRightwards();
-    return b.getCellsBeyond(a.x + (d ? 0 : a.width), a.y + (d && e ? 0 : a.height), c, e, d)
+  var b = this.getGraph(),
+    c = b.getModel().getParent(a.cell),
+    d = this.isShiftDownwards(),
+    e = this.isShiftRightwards();
+  return b.getCellsBeyond(a.x + (d ? 0 : a.width), a.y + (d && e ? 0 : a.height), c, e, d)
 };
 mxSpaceManager.prototype.destroy = function() {
-    this.setGraph(null)
+  this.setGraph(null)
 };
 
 function mxSwimlaneManager(a, b, c, d) {
-    this.horizontal = null != b ? b : !0;
-    this.addEnabled = null != c ? c : !0;
-    this.resizeEnabled = null != d ? d : !0;
-    this.addHandler = mxUtils.bind(this, function(a, b) {
-        this.isEnabled() && this.isAddEnabled() && this.cellsAdded(b.getProperty("cells"))
-    });
-    this.resizeHandler = mxUtils.bind(this, function(a, b) {
-        this.isEnabled() && this.isResizeEnabled() && this.cellsResized(b.getProperty("cells"))
-    });
-    this.setGraph(a)
+  this.horizontal = null != b ? b : !0;
+  this.addEnabled = null != c ? c : !0;
+  this.resizeEnabled = null != d ? d : !0;
+  this.addHandler = mxUtils.bind(this, function(a, b) {
+    this.isEnabled() && this.isAddEnabled() && this.cellsAdded(b.getProperty("cells"))
+  });
+  this.resizeHandler = mxUtils.bind(this, function(a, b) {
+    this.isEnabled() && this.isResizeEnabled() && this.cellsResized(b.getProperty("cells"))
+  });
+  this.setGraph(a)
 }
 mxSwimlaneManager.prototype = new mxEventSource;
 mxSwimlaneManager.prototype.constructor = mxSwimlaneManager;
@@ -14181,226 +14440,226 @@ mxSwimlaneManager.prototype.resizeEnabled = !0;
 mxSwimlaneManager.prototype.addHandler = null;
 mxSwimlaneManager.prototype.resizeHandler = null;
 mxSwimlaneManager.prototype.isEnabled = function() {
-    return this.enabled
+  return this.enabled
 };
 mxSwimlaneManager.prototype.setEnabled = function(a) {
-    this.enabled = a
+  this.enabled = a
 };
 mxSwimlaneManager.prototype.isHorizontal = function() {
-    return this.horizontal
+  return this.horizontal
 };
 mxSwimlaneManager.prototype.setHorizontal = function(a) {
-    this.horizontal = a
+  this.horizontal = a
 };
 mxSwimlaneManager.prototype.isAddEnabled = function() {
-    return this.addEnabled
+  return this.addEnabled
 };
 mxSwimlaneManager.prototype.setAddEnabled = function(a) {
-    this.addEnabled = a
+  this.addEnabled = a
 };
 mxSwimlaneManager.prototype.isResizeEnabled = function() {
-    return this.resizeEnabled
+  return this.resizeEnabled
 };
 mxSwimlaneManager.prototype.setResizeEnabled = function(a) {
-    this.resizeEnabled = a
+  this.resizeEnabled = a
 };
 mxSwimlaneManager.prototype.getGraph = function() {
-    return this.graph
+  return this.graph
 };
 mxSwimlaneManager.prototype.setGraph = function(a) {
-    null != this.graph && (this.graph.removeListener(this.addHandler), this.graph.removeListener(this.resizeHandler));
-    this.graph = a;
-    null != this.graph && (this.graph.addListener(mxEvent.ADD_CELLS, this.addHandler), this.graph.addListener(mxEvent.CELLS_RESIZED, this.resizeHandler))
+  null != this.graph && (this.graph.removeListener(this.addHandler), this.graph.removeListener(this.resizeHandler));
+  this.graph = a;
+  null != this.graph && (this.graph.addListener(mxEvent.ADD_CELLS, this.addHandler), this.graph.addListener(mxEvent.CELLS_RESIZED, this.resizeHandler))
 };
 mxSwimlaneManager.prototype.isSwimlaneIgnored = function(a) {
-    return !this.getGraph().isSwimlane(a)
+  return !this.getGraph().isSwimlane(a)
 };
 mxSwimlaneManager.prototype.isCellHorizontal = function(a) {
-    if (this.graph.isSwimlane(a)) {
-        var b = this.graph.view.getState(a);
-        a = null != b ? b.style : this.graph.getCellStyle(a);
-        return 1 == mxUtils.getValue(a, mxConstants.STYLE_HORIZONTAL, 1)
-    }
-    return !this.isHorizontal()
+  if (this.graph.isSwimlane(a)) {
+    var b = this.graph.view.getState(a);
+    a = null != b ? b.style : this.graph.getCellStyle(a);
+    return 1 == mxUtils.getValue(a, mxConstants.STYLE_HORIZONTAL, 1)
+  }
+  return !this.isHorizontal()
 };
 mxSwimlaneManager.prototype.cellsAdded = function(a) {
-    if (null != a) {
-        var b = this.getGraph().getModel();
-        b.beginUpdate();
-        try {
-            for (var c = 0; c < a.length; c++) this.isSwimlaneIgnored(a[c]) || this.swimlaneAdded(a[c])
-        } finally {
-            b.endUpdate()
-        }
+  if (null != a) {
+    var b = this.getGraph().getModel();
+    b.beginUpdate();
+    try {
+      for (var c = 0; c < a.length; c++) this.isSwimlaneIgnored(a[c]) || this.swimlaneAdded(a[c])
+    } finally {
+      b.endUpdate()
     }
+  }
 };
 mxSwimlaneManager.prototype.swimlaneAdded = function(a) {
-    for (var b = this.getGraph().getModel(), c = b.getParent(a), d = b.getChildCount(c), e = null, f = 0; f < d; f++) {
-        var g = b.getChildAt(c, f);
-        if (g != a && !this.isSwimlaneIgnored(g) && (e = b.getGeometry(g), null != e)) break
-    }
-    null != e && this.resizeSwimlane(a, e.width, e.height)
+  for (var b = this.getGraph().getModel(), c = b.getParent(a), d = b.getChildCount(c), e = null, f = 0; f < d; f++) {
+    var g = b.getChildAt(c, f);
+    if (g != a && !this.isSwimlaneIgnored(g) && (e = b.getGeometry(g), null != e)) break
+  }
+  null != e && this.resizeSwimlane(a, e.width, e.height)
 };
 mxSwimlaneManager.prototype.cellsResized = function(a) {
-    if (null != a) {
-        var b = this.getGraph().getModel();
-        b.beginUpdate();
-        try {
-            for (var c = 0; c < a.length; c++)
-                if (!this.isSwimlaneIgnored(a[c])) {
-                    var d = b.getGeometry(a[c]);
-                    if (null != d) {
-                        for (var e = new mxRectangle(0, 0, d.width, d.height), f = a[c], g = f; null != g;) {
-                            var f = g,
-                                g = b.getParent(g),
-                                h = this.graph.isSwimlane(g) ? this.graph.getStartSize(g) : new mxRectangle;
-                            e.width += h.width;
-                            e.height += h.height
-                        }
-                        this.resizeSwimlane(f, e.width, e.height)
-                    }
-                }
-        } finally {
-            b.endUpdate()
-        }
-    }
-};
-mxSwimlaneManager.prototype.resizeSwimlane = function(a, b, c) {
-    var d = this.getGraph().getModel();
-    d.beginUpdate();
+  if (null != a) {
+    var b = this.getGraph().getModel();
+    b.beginUpdate();
     try {
-        if (!this.isSwimlaneIgnored(a)) {
-            var e = d.getGeometry(a);
-            if (null != e) {
-                var f = this.isCellHorizontal(a);
-                if (f && e.height != c || !f && e.width != b) e = e.clone(), f ? e.height = c : e.width = b, d.setGeometry(a, e)
+      for (var c = 0; c < a.length; c++)
+        if (!this.isSwimlaneIgnored(a[c])) {
+          var d = b.getGeometry(a[c]);
+          if (null != d) {
+            for (var e = new mxRectangle(0, 0, d.width, d.height), f = a[c], g = f; null != g;) {
+              var f = g,
+                g = b.getParent(g),
+                h = this.graph.isSwimlane(g) ? this.graph.getStartSize(g) : new mxRectangle;
+              e.width += h.width;
+              e.height += h.height
             }
-        }
-        var g = this.graph.isSwimlane(a) ? this.graph.getStartSize(a) : new mxRectangle;
-        b -= g.width;
-        c -= g.height;
-        for (var h = d.getChildCount(a), e = 0; e < h; e++) {
-            var k = d.getChildAt(a, e);
-            this.resizeSwimlane(k, b, c)
+            this.resizeSwimlane(f, e.width, e.height)
+          }
         }
     } finally {
-        d.endUpdate()
+      b.endUpdate()
     }
+  }
+};
+mxSwimlaneManager.prototype.resizeSwimlane = function(a, b, c) {
+  var d = this.getGraph().getModel();
+  d.beginUpdate();
+  try {
+    if (!this.isSwimlaneIgnored(a)) {
+      var e = d.getGeometry(a);
+      if (null != e) {
+        var f = this.isCellHorizontal(a);
+        if (f && e.height != c || !f && e.width != b) e = e.clone(), f ? e.height = c : e.width = b, d.setGeometry(a, e)
+      }
+    }
+    var g = this.graph.isSwimlane(a) ? this.graph.getStartSize(a) : new mxRectangle;
+    b -= g.width;
+    c -= g.height;
+    for (var h = d.getChildCount(a), e = 0; e < h; e++) {
+      var k = d.getChildAt(a, e);
+      this.resizeSwimlane(k, b, c)
+    }
+  } finally {
+    d.endUpdate()
+  }
 };
 mxSwimlaneManager.prototype.destroy = function() {
-    this.setGraph(null)
+  this.setGraph(null)
 };
 
 function mxTemporaryCellStates(a, b, c) {
-    this.view = a;
-    b = null != b ? b : 1;
-    this.oldBounds = a.getGraphBounds();
-    this.oldStates = a.getStates();
-    this.oldScale = a.getScale();
-    a.setStates(new mxDictionary);
-    a.setScale(b);
-    if (null != c) {
-        b = a.createState(new mxCell);
-        for (var d = 0; d < c.length; d++) a.validateBounds(b, c[d]);
-        for (var e = null, d = 0; d < c.length; d++) {
-            var f = a.validatePoints(b, c[d]);
-            null == e ? e = f : e.add(f)
-        }
-        null == e && (e = new mxRectangle);
-        a.setGraphBounds(e)
-    }
+  this.view = a;
+  b = null != b ? b : 1;
+  this.oldBounds = a.getGraphBounds();
+  this.oldStates = a.getStates();
+  this.oldScale = a.getScale();
+  a.setStates(new mxDictionary);
+  a.setScale(b);
+  if (null != c) {
+    b = a.createState(new mxCell);
+    for (var d = 0; d < c.length; d++) a.validateBounds(b, c[d]);
+    for (var e = null, d = 0; d < c.length; d++) {
+      var f = a.validatePoints(b, c[d]);
+      null == e ? e = f : e.add(f)
+    }
+    null == e && (e = new mxRectangle);
+    a.setGraphBounds(e)
+  }
 }
 mxTemporaryCellStates.prototype.view = null;
 mxTemporaryCellStates.prototype.oldStates = null;
 mxTemporaryCellStates.prototype.oldBounds = null;
 mxTemporaryCellStates.prototype.oldScale = null;
 mxTemporaryCellStates.prototype.destroy = function() {
-    this.view.setScale(this.oldScale);
-    this.view.setStates(this.oldStates);
-    this.view.setGraphBounds(this.oldBounds)
+  this.view.setScale(this.oldScale);
+  this.view.setStates(this.oldStates);
+  this.view.setGraphBounds(this.oldBounds)
 };
 
 function mxCellStatePreview(a) {
-    this.graph = a;
-    this.deltas = {}
+  this.graph = a;
+  this.deltas = {}
 }
 mxCellStatePreview.prototype.graph = null;
 mxCellStatePreview.prototype.deltas = null;
 mxCellStatePreview.prototype.count = 0;
 mxCellStatePreview.prototype.isEmpty = function() {
-    return 0 == this.count
+  return 0 == this.count
 };
 mxCellStatePreview.prototype.moveState = function(a, b, c, d, e) {
-    d = null != d ? d : !0;
-    e = null != e ? e : !0;
-    var f = mxCellPath.create(a.cell),
-        g = this.deltas[f];
-    null == g ? (g = new mxPoint(b, c), this.deltas[f] = g, this.count++) : d ? (g.X += b, g.Y += c) : (g.X = b, g.Y = c);
-    e && this.addEdges(a);
-    return g
+  d = null != d ? d : !0;
+  e = null != e ? e : !0;
+  var f = mxCellPath.create(a.cell),
+    g = this.deltas[f];
+  null == g ? (g = new mxPoint(b, c), this.deltas[f] = g, this.count++) : d ? (g.X += b, g.Y += c) : (g.X = b, g.Y = c);
+  e && this.addEdges(a);
+  return g
 };
 mxCellStatePreview.prototype.show = function(a) {
-    var b = this.graph.getModel(),
-        c = b.getRoot(),
-        d;
-    for (d in this.deltas) {
-        var e = mxCellPath.resolve(c, d),
-            f = this.graph.view.getState(e),
-            g = this.deltas[d],
-            e = this.graph.view.getState(b.getParent(e));
-        this.translateState(e, f, g.x, g.y)
-    }
-    for (d in this.deltas) e = mxCellPath.resolve(c, d), f = this.graph.view.getState(e), g = this.deltas[d], e = this.graph.view.getState(b.getParent(e)), this.revalidateState(e, f, g.x, g.y, a)
+  var b = this.graph.getModel(),
+    c = b.getRoot(),
+    d;
+  for (d in this.deltas) {
+    var e = mxCellPath.resolve(c, d),
+      f = this.graph.view.getState(e),
+      g = this.deltas[d],
+      e = this.graph.view.getState(b.getParent(e));
+    this.translateState(e, f, g.x, g.y)
+  }
+  for (d in this.deltas) e = mxCellPath.resolve(c, d), f = this.graph.view.getState(e), g = this.deltas[d], e = this.graph.view.getState(b.getParent(e)), this.revalidateState(e, f, g.x, g.y, a)
 };
 mxCellStatePreview.prototype.translateState = function(a, b, c, d) {
-    if (null != b) {
-        var e = this.graph.getModel();
-        if (e.isVertex(b.cell)) {
-            b.invalid = !0;
-            this.graph.view.validateBounds(a, b.cell);
-            a = e.getGeometry(b.cell);
-            var f = mxCellPath.create(b.cell);
-            if ((0 != c || 0 != d) && null != a && (!a.relative || null != this.deltas[f])) b.x += c, b.y += d
-        }
-        a = e.getChildCount(b.cell);
-        for (f = 0; f < a; f++) this.translateState(b, this.graph.view.getState(e.getChildAt(b.cell, f)), c, d)
+  if (null != b) {
+    var e = this.graph.getModel();
+    if (e.isVertex(b.cell)) {
+      b.invalid = !0;
+      this.graph.view.validateBounds(a, b.cell);
+      a = e.getGeometry(b.cell);
+      var f = mxCellPath.create(b.cell);
+      if ((0 != c || 0 != d) && null != a && (!a.relative || null != this.deltas[f])) b.x += c, b.y += d
     }
+    a = e.getChildCount(b.cell);
+    for (f = 0; f < a; f++) this.translateState(b, this.graph.view.getState(e.getChildAt(b.cell, f)), c, d)
+  }
 };
 mxCellStatePreview.prototype.revalidateState = function(a, b, c, d, e) {
-    if (null != b) {
-        b.invalid = !0;
-        this.graph.view.validatePoints(a, b.cell);
-        var f = mxCellPath.create(b.cell),
-            g = this.graph.getModel(),
-            h = this.graph.getCellGeometry(b.cell);
-        if ((0 != c || 0 != d) && null != h && h.relative && g.isVertex(b.cell) && (null == a || g.isVertex(a.cell) || null != this.deltas[f])) b.x += c, b.y += d, this.graph.cellRenderer.redraw(b);
-        null != e && e(b);
-        a = g.getChildCount(b.cell);
-        for (f = 0; f < a; f++) this.revalidateState(b, this.graph.view.getState(g.getChildAt(b.cell,
-            f)), c, d, e)
-    }
+  if (null != b) {
+    b.invalid = !0;
+    this.graph.view.validatePoints(a, b.cell);
+    var f = mxCellPath.create(b.cell),
+      g = this.graph.getModel(),
+      h = this.graph.getCellGeometry(b.cell);
+    if ((0 != c || 0 != d) && null != h && h.relative && g.isVertex(b.cell) && (null == a || g.isVertex(a.cell) || null != this.deltas[f])) b.x += c, b.y += d, this.graph.cellRenderer.redraw(b);
+    null != e && e(b);
+    a = g.getChildCount(b.cell);
+    for (f = 0; f < a; f++) this.revalidateState(b, this.graph.view.getState(g.getChildAt(b.cell,
+      f)), c, d, e)
+  }
 };
 mxCellStatePreview.prototype.addEdges = function(a) {
-    for (var b = this.graph.getModel(), c = b.getEdgeCount(a.cell), d = 0; d < c; d++) {
-        var e = this.graph.view.getState(b.getEdgeAt(a.cell, d));
-        null != e && this.moveState(e, 0, 0)
-    }
+  for (var b = this.graph.getModel(), c = b.getEdgeCount(a.cell), d = 0; d < c; d++) {
+    var e = this.graph.view.getState(b.getEdgeAt(a.cell, d));
+    null != e && this.moveState(e, 0, 0)
+  }
 };
 
 function mxConnectionConstraint(a, b) {
-    this.point = a;
-    this.perimeter = null != b ? b : !0
+  this.point = a;
+  this.perimeter = null != b ? b : !0
 }
 mxConnectionConstraint.prototype.point = null;
 mxConnectionConstraint.prototype.perimeter = null;
 
 function mxGraphHandler(a) {
-    this.graph = a;
-    this.graph.addMouseListener(this);
-    this.panHandler = mxUtils.bind(this, function() {
-        this.updatePreviewShape()
-    });
-    this.graph.addListener(mxEvent.PAN, this.panHandler)
+  this.graph = a;
+  this.graph.addMouseListener(this);
+  this.panHandler = mxUtils.bind(this, function() {
+    this.updatePreviewShape()
+  });
+  this.graph.addListener(mxEvent.PAN, this.panHandler)
 }
 mxGraphHandler.prototype.graph = null;
 mxGraphHandler.prototype.maxCells = mxClient.IS_IE ? 20 : 50;
@@ -14424,217 +14683,225 @@ mxGraphHandler.prototype.shape = null;
 mxGraphHandler.prototype.scaleGrid = !1;
 mxGraphHandler.prototype.rotationEnabled = !0;
 mxGraphHandler.prototype.isEnabled = function() {
-    return this.enabled
+  return this.enabled
 };
 mxGraphHandler.prototype.setEnabled = function(a) {
-    this.enabled = a
+  this.enabled = a
 };
 mxGraphHandler.prototype.isCloneEnabled = function() {
-    return this.cloneEnabled
+  return this.cloneEnabled
 };
 mxGraphHandler.prototype.setCloneEnabled = function(a) {
-    this.cloneEnabled = a
+  this.cloneEnabled = a
 };
 mxGraphHandler.prototype.isMoveEnabled = function() {
-    return this.moveEnabled
+  return this.moveEnabled
 };
 mxGraphHandler.prototype.setMoveEnabled = function(a) {
-    this.moveEnabled = a
+  this.moveEnabled = a
 };
 mxGraphHandler.prototype.isSelectEnabled = function() {
-    return this.selectEnabled
+  return this.selectEnabled
 };
 mxGraphHandler.prototype.setSelectEnabled = function(a) {
-    this.selectEnabled = a
+  this.selectEnabled = a
 };
 mxGraphHandler.prototype.isRemoveCellsFromParent = function() {
-    return this.removeCellsFromParent
+  return this.removeCellsFromParent
 };
 mxGraphHandler.prototype.setRemoveCellsFromParent = function(a) {
-    this.removeCellsFromParent = a
+  this.removeCellsFromParent = a
 };
 mxGraphHandler.prototype.getInitialCellForEvent = function(a) {
-    return a.getCell()
+  return a.getCell()
 };
 mxGraphHandler.prototype.isDelayedSelection = function(a) {
-    return this.graph.isCellSelected(a)
+  return this.graph.isCellSelected(a)
 };
 mxGraphHandler.prototype.mouseDown = function(a, b) {
-    if (!b.isConsumed() && this.isEnabled() && this.graph.isEnabled() && !this.graph.isForceMarqueeEvent(b.getEvent()) && null != b.getState()) {
-        var c = this.getInitialCellForEvent(b);
-        this.cell = null;
-        this.delayedSelection = this.isDelayedSelection(c);
-        this.isSelectEnabled() && !this.delayedSelection && this.graph.selectCellForEvent(c, b.getEvent());
-        if (this.isMoveEnabled()) {
-            var d = this.graph.model,
-                e = d.getGeometry(c);
-            this.graph.isCellMovable(c) && (!d.isEdge(c) || 1 < this.graph.getSelectionCount() ||
-                null != e.points && 0 < e.points.length || null == d.getTerminal(c, !0) || null == d.getTerminal(c, !1) || this.graph.allowDanglingEdges || this.graph.isCloneEvent(b.getEvent()) && this.graph.isCellsCloneable()) && this.start(c, b.getX(), b.getY());
-            this.cellWasClicked = !0;
-            !mxClient.IS_SF && !mxClient.IS_GC || "SELECT" != b.getSource().nodeName ? b.consume() : mxClient.IS_SF && "SELECT" == b.getSource().nodeName && (this.cellWasClicked = !1, this.first = null)
-        }
-    }
+  if (!b.isConsumed() && this.isEnabled() && this.graph.isEnabled() && !this.graph.isForceMarqueeEvent(b.getEvent()) && null != b.getState()) {
+    var c = this.getInitialCellForEvent(b);
+    this.cell = null;
+    this.delayedSelection = this.isDelayedSelection(c);
+    this.isSelectEnabled() && !this.delayedSelection && this.graph.selectCellForEvent(c, b.getEvent());
+    if (this.isMoveEnabled()) {
+      var d = this.graph.model,
+        e = d.getGeometry(c);
+      this.graph.isCellMovable(c) && (!d.isEdge(c) || 1 < this.graph.getSelectionCount() ||
+        null != e.points && 0 < e.points.length || null == d.getTerminal(c, !0) || null == d.getTerminal(c, !1) || this.graph.allowDanglingEdges || this.graph.isCloneEvent(b.getEvent()) && this.graph
+        .isCellsCloneable()) && this.start(c, b.getX(), b.getY());
+      this.cellWasClicked = !0;
+      !mxClient.IS_SF && !mxClient.IS_GC || "SELECT" != b.getSource().nodeName ? b.consume() : mxClient.IS_SF && "SELECT" == b.getSource().nodeName && (this.cellWasClicked = !1, this.first = null)
+    }
+  }
 };
 mxGraphHandler.prototype.getGuideStates = function() {
-    var a = this.graph.getDefaultParent(),
-        b = this.graph.getModel(),
-        c = mxUtils.bind(this, function(a) {
-            return null != this.graph.view.getState(a) && b.isVertex(a) && null != b.getGeometry(a) && !b.getGeometry(a).relative
-        });
-    return this.graph.view.getCellStates(b.filterDescendants(c, a))
+  var a = this.graph.getDefaultParent(),
+    b = this.graph.getModel(),
+    c = mxUtils.bind(this, function(a) {
+      return null != this.graph.view.getState(a) && b.isVertex(a) && null != b.getGeometry(a) && !b.getGeometry(a).relative
+    });
+  return this.graph.view.getCellStates(b.filterDescendants(c, a))
 };
 mxGraphHandler.prototype.getCells = function(a) {
-    return !this.delayedSelection && this.graph.isCellMovable(a) ? [a] : this.graph.getMovableCells(this.graph.getSelectionCells())
+  return !this.delayedSelection && this.graph.isCellMovable(a) ? [a] : this.graph.getMovableCells(this.graph.getSelectionCells())
 };
 mxGraphHandler.prototype.getPreviewBounds = function(a) {
-    a = this.getBoundingBox(a);
-    null != a && (a.grow(-1, -1), a.width < this.minimumSize && (a.x -= (this.minimumSize - a.width) / 2, a.width = this.minimumSize), a.height < this.minimumSize && (a.y -= (this.minimumSize - a.height) / 2, a.height = this.minimumSize));
-    return a
+  a = this.getBoundingBox(a);
+  null != a && (a.grow(-1, -1), a.width < this.minimumSize && (a.x -= (this.minimumSize - a.width) / 2, a.width = this.minimumSize), a.height < this.minimumSize && (a.y -= (this.minimumSize - a.height) /
+    2, a.height = this.minimumSize));
+  return a
 };
 mxGraphHandler.prototype.getBoundingBox = function(a) {
-    var b = null;
-    if (null != a && 0 < a.length)
-        for (var c = this.graph.getModel(), d = 0; d < a.length; d++)
-            if (c.isVertex(a[d]) || c.isEdge(a[d])) {
-                var e = this.graph.view.getState(a[d]);
-                if (null != e) {
-                    var f = e;
-                    c.isVertex(a[d]) && (null != e.shape && null != e.shape.boundingBox) && (f = e.shape.boundingBox);
-                    null == b ? b = new mxRectangle(f.x, f.y, f.width, f.height) : b.add(f)
-                }
-            }
-    return b
+  var b = null;
+  if (null != a && 0 < a.length)
+    for (var c = this.graph.getModel(), d = 0; d < a.length; d++)
+      if (c.isVertex(a[d]) || c.isEdge(a[d])) {
+        var e = this.graph.view.getState(a[d]);
+        if (null != e) {
+          var f = e;
+          c.isVertex(a[d]) && (null != e.shape && null != e.shape.boundingBox) && (f = e.shape.boundingBox);
+          null == b ? b = new mxRectangle(f.x, f.y, f.width, f.height) : b.add(f)
+        }
+      }
+  return b
 };
 mxGraphHandler.prototype.createPreviewShape = function(a) {
-    a = new mxRectangleShape(a, null, this.previewColor);
-    a.isDashed = !0;
-    this.htmlPreview ? (a.dialect = mxConstants.DIALECT_STRICTHTML, a.init(this.graph.container)) : (a.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_VML : mxConstants.DIALECT_SVG, a.init(this.graph.getView().getOverlayPane()), a.pointerEvents = !1);
-    return a
+  a = new mxRectangleShape(a, null, this.previewColor);
+  a.isDashed = !0;
+  this.htmlPreview ? (a.dialect = mxConstants.DIALECT_STRICTHTML, a.init(this.graph.container)) : (a.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_VML : mxConstants.DIALECT_SVG,
+    a.init(this.graph.getView().getOverlayPane()), a.pointerEvents = !1);
+  return a
 };
 mxGraphHandler.prototype.start = function(a, b, c) {
-    this.cell = a;
-    this.first = mxUtils.convertPoint(this.graph.container, b, c);
-    this.cells = this.getCells(this.cell);
-    this.bounds = this.graph.getView().getBounds(this.cells);
-    this.pBounds = this.getPreviewBounds(this.cells);
-    this.guidesEnabled && (this.guide = new mxGuide(this.graph, this.getGuideStates()))
+  this.cell = a;
+  this.first = mxUtils.convertPoint(this.graph.container, b, c);
+  this.cells = this.getCells(this.cell);
+  this.bounds = this.graph.getView().getBounds(this.cells);
+  this.pBounds = this.getPreviewBounds(this.cells);
+  this.guidesEnabled && (this.guide = new mxGuide(this.graph, this.getGuideStates()))
 };
 mxGraphHandler.prototype.useGuidesForEvent = function(a) {
-    return null != this.guide ? this.guide.isEnabledForEvent(a.getEvent()) : !0
+  return null != this.guide ? this.guide.isEnabledForEvent(a.getEvent()) : !0
 };
 mxGraphHandler.prototype.snap = function(a) {
-    var b = this.scaleGrid ? this.graph.view.scale : 1;
-    a.x = this.graph.snap(a.x / b) * b;
-    a.y = this.graph.snap(a.y / b) * b;
-    return a
+  var b = this.scaleGrid ? this.graph.view.scale : 1;
+  a.x = this.graph.snap(a.x / b) * b;
+  a.y = this.graph.snap(a.y / b) * b;
+  return a
 };
 mxGraphHandler.prototype.mouseMove = function(a, b) {
-    var c = this.graph;
-    if (!b.isConsumed() && c.isMouseDown && null != this.cell && null != this.first && null != this.bounds) {
-        var d = mxUtils.convertPoint(c.container, b.getX(), b.getY()),
-            e = d.x - this.first.x,
-            f = d.y - this.first.y,
-            d = c.tolerance;
-        if (null != this.shape || Math.abs(e) > d || Math.abs(f) > d) {
-            null == this.highlight && (this.highlight = new mxCellHighlight(this.graph, mxConstants.DROP_TARGET_COLOR, 3));
-            null == this.shape && (this.shape = this.createPreviewShape(this.bounds));
-            var g = c.isGridEnabledEvent(b.getEvent()),
-                d = !0;
-            if (null != this.guide && this.useGuidesForEvent(b)) f = this.guide.move(this.bounds, new mxPoint(e, f), g), d = !1, e = f.x, f = f.y;
-            else if (g) var h = c.getView().translate,
-                k = c.getView().scale,
-                g = this.bounds.x - (c.snap(this.bounds.x / k - h.x) + h.x) * k,
-                h = this.bounds.y - (c.snap(this.bounds.y / k - h.y) + h.y) * k,
-                f = this.snap(new mxPoint(e, f)),
-                e = f.x - g,
-                f = f.y - h;
-            null != this.guide && d && this.guide.hide();
-            c.isConstrainedEvent(b.getEvent()) && (Math.abs(e) > Math.abs(f) ? f = 0 : e = 0);
-            this.currentDx = e;
-            this.currentDy = f;
-            this.updatePreviewShape();
-            d = null;
-            f = b.getCell();
-            c.isDropEnabled() && this.highlightEnabled && (d = c.getDropTarget(this.cells, b.getEvent(), f));
-            g = d;
-            for (h = c.getModel(); null != g && g != this.cells[0];) g = h.getParent(g);
-            var k = c.isCloneEvent(b.getEvent()) && c.isCellsCloneable() && this.isCloneEnabled(),
-                e = c.getView().getState(d),
-                l = !1;
-            null != e && null == g && (h.getParent(this.cell) != d || k) ? (this.target != d && (this.target = d, this.setHighlightColor(mxConstants.DROP_TARGET_COLOR)), l = !0) : (this.target = null, this.connectOnDrop && (null != f && 1 == this.cells.length && c.getModel().isVertex(f) &&
-                c.isCellConnectable(f)) && (e = c.getView().getState(f), null != e && (c = null == c.getEdgeValidationError(null, this.cell, f) ? mxConstants.VALID_COLOR : mxConstants.INVALID_CONNECT_TARGET_COLOR, this.setHighlightColor(c), l = !0)));
-            null != e && l ? this.highlight.highlight(e) : this.highlight.hide()
-        }
-        b.consume();
-        mxEvent.consume(b.getEvent())
-    } else if ((this.isMoveEnabled() || this.isCloneEnabled()) && this.updateCursor && !b.isConsumed() && null != b.getState() && !c.isMouseDown) e = c.getCursorForCell(b.getCell()), null == e && (c.isEnabled() && c.isCellMovable(b.getCell())) &&
-        (e = c.getModel().isEdge(b.getCell()) ? mxConstants.CURSOR_MOVABLE_EDGE : mxConstants.CURSOR_MOVABLE_VERTEX), b.getState().setCursor(e), b.consume()
+  var c = this.graph;
+  if (!b.isConsumed() && c.isMouseDown && null != this.cell && null != this.first && null != this.bounds) {
+    var d = mxUtils.convertPoint(c.container, b.getX(), b.getY()),
+      e = d.x - this.first.x,
+      f = d.y - this.first.y,
+      d = c.tolerance;
+    if (null != this.shape || Math.abs(e) > d || Math.abs(f) > d) {
+      null == this.highlight && (this.highlight = new mxCellHighlight(this.graph, mxConstants.DROP_TARGET_COLOR, 3));
+      null == this.shape && (this.shape = this.createPreviewShape(this.bounds));
+      var g = c.isGridEnabledEvent(b.getEvent()),
+        d = !0;
+      if (null != this.guide && this.useGuidesForEvent(b)) f = this.guide.move(this.bounds, new mxPoint(e, f), g), d = !1, e = f.x, f = f.y;
+      else if (g) var h = c.getView().translate,
+        k = c.getView().scale,
+        g = this.bounds.x - (c.snap(this.bounds.x / k - h.x) + h.x) * k,
+        h = this.bounds.y - (c.snap(this.bounds.y / k - h.y) + h.y) * k,
+        f = this.snap(new mxPoint(e, f)),
+        e = f.x - g,
+        f = f.y - h;
+      null != this.guide && d && this.guide.hide();
+      c.isConstrainedEvent(b.getEvent()) && (Math.abs(e) > Math.abs(f) ? f = 0 : e = 0);
+      this.currentDx = e;
+      this.currentDy = f;
+      this.updatePreviewShape();
+      d = null;
+      f = b.getCell();
+      c.isDropEnabled() && this.highlightEnabled && (d = c.getDropTarget(this.cells, b.getEvent(), f));
+      g = d;
+      for (h = c.getModel(); null != g && g != this.cells[0];) g = h.getParent(g);
+      var k = c.isCloneEvent(b.getEvent()) && c.isCellsCloneable() && this.isCloneEnabled(),
+        e = c.getView().getState(d),
+        l = !1;
+      null != e && null == g && (h.getParent(this.cell) != d || k) ? (this.target != d && (this.target = d, this.setHighlightColor(mxConstants.DROP_TARGET_COLOR)), l = !0) : (this.target = null,
+        this.connectOnDrop && (null != f && 1 == this.cells.length && c.getModel().isVertex(f) &&
+          c.isCellConnectable(f)) && (e = c.getView().getState(f), null != e && (c = null == c.getEdgeValidationError(null, this.cell, f) ? mxConstants.VALID_COLOR : mxConstants.INVALID_CONNECT_TARGET_COLOR,
+          this.setHighlightColor(c), l = !0)));
+      null != e && l ? this.highlight.highlight(e) : this.highlight.hide()
+    }
+    b.consume();
+    mxEvent.consume(b.getEvent())
+  } else if ((this.isMoveEnabled() || this.isCloneEnabled()) && this.updateCursor && !b.isConsumed() && null != b.getState() && !c.isMouseDown) e = c.getCursorForCell(b.getCell()), null == e && (c.isEnabled() &&
+      c.isCellMovable(b.getCell())) &&
+    (e = c.getModel().isEdge(b.getCell()) ? mxConstants.CURSOR_MOVABLE_EDGE : mxConstants.CURSOR_MOVABLE_VERTEX), b.getState().setCursor(e), b.consume()
 };
 mxGraphHandler.prototype.updatePreviewShape = function() {
-    null != this.shape && (this.shape.bounds = new mxRectangle(Math.round(this.pBounds.x + this.currentDx - this.graph.panDx), Math.round(this.pBounds.y + this.currentDy - this.graph.panDy), this.pBounds.width, this.pBounds.height), this.shape.redraw())
+  null != this.shape && (this.shape.bounds = new mxRectangle(Math.round(this.pBounds.x + this.currentDx - this.graph.panDx), Math.round(this.pBounds.y + this.currentDy - this.graph.panDy), this.pBounds
+    .width, this.pBounds.height), this.shape.redraw())
 };
 mxGraphHandler.prototype.setHighlightColor = function(a) {
-    null != this.highlight && this.highlight.setHighlightColor(a)
+  null != this.highlight && this.highlight.setHighlightColor(a)
 };
 mxGraphHandler.prototype.mouseUp = function(a, b) {
-    if (!b.isConsumed()) {
-        var c = this.graph;
-        if (null != this.cell && null != this.first && null != this.shape && null != this.currentDx && null != this.currentDy) {
-            var d = c.getView().scale,
-                e = c.isCloneEvent(b.getEvent()) && c.isCellsCloneable() && this.isCloneEnabled(),
-                f = this.currentDx / d,
-                d = this.currentDy / d,
-                g = b.getCell();
-            this.connectOnDrop && null == this.target && null != g && c.getModel().isVertex(g) && c.isCellConnectable(g) && c.isEdgeValid(null, this.cell, g) ? c.connectionHandler.connect(this.cell,
-                g, b.getEvent()) : (g = this.target, c.isSplitEnabled() && c.isSplitTarget(g, this.cells, b.getEvent()) ? c.splitEdge(g, this.cells, null, f, d) : this.moveCells(this.cells, f, d, e, this.target, b.getEvent()))
-        } else this.isSelectEnabled() && (this.delayedSelection && null != this.cell) && this.selectDelayed(b)
-    }
-    this.cellWasClicked && b.consume();
-    this.reset()
+  if (!b.isConsumed()) {
+    var c = this.graph;
+    if (null != this.cell && null != this.first && null != this.shape && null != this.currentDx && null != this.currentDy) {
+      var d = c.getView().scale,
+        e = c.isCloneEvent(b.getEvent()) && c.isCellsCloneable() && this.isCloneEnabled(),
+        f = this.currentDx / d,
+        d = this.currentDy / d,
+        g = b.getCell();
+      this.connectOnDrop && null == this.target && null != g && c.getModel().isVertex(g) && c.isCellConnectable(g) && c.isEdgeValid(null, this.cell, g) ? c.connectionHandler.connect(this.cell,
+        g, b.getEvent()) : (g = this.target, c.isSplitEnabled() && c.isSplitTarget(g, this.cells, b.getEvent()) ? c.splitEdge(g, this.cells, null, f, d) : this.moveCells(this.cells, f, d, e, this
+        .target, b.getEvent()))
+    } else this.isSelectEnabled() && (this.delayedSelection && null != this.cell) && this.selectDelayed(b)
+  }
+  this.cellWasClicked && b.consume();
+  this.reset()
 };
 mxGraphHandler.prototype.selectDelayed = function(a) {
-    this.graph.selectCellForEvent(this.cell, a.getEvent())
+  this.graph.selectCellForEvent(this.cell, a.getEvent())
 };
 mxGraphHandler.prototype.reset = function() {
-    this.destroyShapes();
-    this.delayedSelection = this.cellWasClicked = !1;
-    this.target = this.cell = this.first = this.guides = this.currentDy = this.currentDx = null
+  this.destroyShapes();
+  this.delayedSelection = this.cellWasClicked = !1;
+  this.target = this.cell = this.first = this.guides = this.currentDy = this.currentDx = null
 };
 mxGraphHandler.prototype.shouldRemoveCellsFromParent = function(a, b, c) {
-    if (this.graph.getModel().isVertex(a)) {
-        a = this.graph.getView().getState(a);
-        c = mxUtils.convertPoint(this.graph.container, mxEvent.getClientX(c), mxEvent.getClientY(c));
-        var d = mxUtils.toRadians(mxUtils.getValue(a.style, mxConstants.STYLE_ROTATION) || 0);
-        if (0 != d) {
-            b = Math.cos(-d);
-            var d = Math.sin(-d),
-                e = new mxPoint(a.getCenterX(), a.getCenterY());
-            c = mxUtils.getRotatedPoint(c, b, d, e)
-        }
-        return null != a && !mxUtils.contains(a, c.x, c.y)
-    }
-    return !1
+  if (this.graph.getModel().isVertex(a)) {
+    a = this.graph.getView().getState(a);
+    c = mxUtils.convertPoint(this.graph.container, mxEvent.getClientX(c), mxEvent.getClientY(c));
+    var d = mxUtils.toRadians(mxUtils.getValue(a.style, mxConstants.STYLE_ROTATION) || 0);
+    if (0 != d) {
+      b = Math.cos(-d);
+      var d = Math.sin(-d),
+        e = new mxPoint(a.getCenterX(), a.getCenterY());
+      c = mxUtils.getRotatedPoint(c, b, d, e)
+    }
+    return null != a && !mxUtils.contains(a, c.x, c.y)
+  }
+  return !1
 };
 mxGraphHandler.prototype.moveCells = function(a, b, c, d, e, f) {
-    d && (a = this.graph.getCloneableCells(a));
-    null == e && (this.isRemoveCellsFromParent() && this.shouldRemoveCellsFromParent(this.graph.getModel().getParent(this.cell), a, f)) && (e = this.graph.getDefaultParent());
-    a = this.graph.moveCells(a, b - this.graph.panDx / this.graph.view.scale, c - this.graph.panDy / this.graph.view.scale, d, e, f);
-    this.isSelectEnabled() && this.scrollOnMove && this.graph.scrollCellToVisible(a[0]);
-    d && this.graph.setSelectionCells(a)
+  d && (a = this.graph.getCloneableCells(a));
+  null == e && (this.isRemoveCellsFromParent() && this.shouldRemoveCellsFromParent(this.graph.getModel().getParent(this.cell), a, f)) && (e = this.graph.getDefaultParent());
+  a = this.graph.moveCells(a, b - this.graph.panDx / this.graph.view.scale, c - this.graph.panDy / this.graph.view.scale, d, e, f);
+  this.isSelectEnabled() && this.scrollOnMove && this.graph.scrollCellToVisible(a[0]);
+  d && this.graph.setSelectionCells(a)
 };
 mxGraphHandler.prototype.destroyShapes = function() {
-    null != this.shape && (this.shape.destroy(), this.shape = null);
-    null != this.guide && (this.guide.destroy(), this.guide = null);
-    null != this.highlight && (this.highlight.destroy(), this.highlight = null)
+  null != this.shape && (this.shape.destroy(), this.shape = null);
+  null != this.guide && (this.guide.destroy(), this.guide = null);
+  null != this.highlight && (this.highlight.destroy(), this.highlight = null)
 };
 mxGraphHandler.prototype.destroy = function() {
-    this.graph.removeMouseListener(this);
-    this.graph.removeListener(this.panHandler);
-    this.destroyShapes()
+  this.graph.removeMouseListener(this);
+  this.graph.removeListener(this.panHandler);
+  this.destroyShapes()
 };
 
 function mxPanningHandler(a, b) {
-    null != a && (this.graph = a, this.factoryMethod = b, this.graph.addMouseListener(this), this.init())
+  null != a && (this.graph = a, this.factoryMethod = b, this.graph.addMouseListener(this), this.init())
 }
 mxPanningHandler.prototype = new mxPopupMenu;
 mxPanningHandler.prototype.constructor = mxPanningHandler;
@@ -14650,84 +14917,89 @@ mxPanningHandler.prototype.previewEnabled = !0;
 mxPanningHandler.prototype.useGrid = !1;
 mxPanningHandler.prototype.panningEnabled = !0;
 mxPanningHandler.prototype.isPanningEnabled = function() {
-    return this.panningEnabled
+  return this.panningEnabled
 };
 mxPanningHandler.prototype.setPanningEnabled = function(a) {
-    this.panningEnabled = a
+  this.panningEnabled = a
 };
 mxPanningHandler.prototype.init = function() {
-    mxPopupMenu.prototype.init.apply(this);
-    mxEvent.addListener(this.div, mxClient.IS_TOUCH ? "touchmove" : "mousemove", mxUtils.bind(this, function(a) {
-        this.graph.tooltipHandler.hide()
-    }))
+  mxPopupMenu.prototype.init.apply(this);
+  mxEvent.addListener(this.div, mxClient.IS_TOUCH ? "touchmove" : "mousemove", mxUtils.bind(this, function(a) {
+    this.graph.tooltipHandler.hide()
+  }))
 };
 mxPanningHandler.prototype.isPanningTrigger = function(a) {
-    var b = a.getEvent();
-    return this.useLeftButtonForPanning && (this.ignoreCell || null == a.getState()) && mxEvent.isLeftMouseButton(b) || mxEvent.isControlDown(b) && mxEvent.isShiftDown(b) || this.usePopupTrigger && mxEvent.isPopupTrigger(b)
+  var b = a.getEvent();
+  return this.useLeftButtonForPanning && (this.ignoreCell || null == a.getState()) && mxEvent.isLeftMouseButton(b) || mxEvent.isControlDown(b) && mxEvent.isShiftDown(b) || this.usePopupTrigger &&
+    mxEvent.isPopupTrigger(b)
 };
 mxPanningHandler.prototype.mouseDown = function(a, b) {
-    if (!b.isConsumed() && this.isEnabled()) {
-        this.hideMenu();
-        this.dx0 = -this.graph.container.scrollLeft;
-        this.dy0 = -this.graph.container.scrollTop;
-        var c = mxUtils.convertPoint(this.graph.container, b.getX(), b.getY());
-        this.triggerX = c.x;
-        this.triggerY = c.y;
-        this.popupTrigger = this.isPopupTrigger(b);
-        this.panningTrigger = this.isPanningEnabled() && this.isPanningTrigger(b);
-        this.startX = b.getX();
-        this.startY = b.getY();
-        this.panningTrigger && this.consumePanningTrigger(b)
-    }
+  if (!b.isConsumed() && this.isEnabled()) {
+    this.hideMenu();
+    this.dx0 = -this.graph.container.scrollLeft;
+    this.dy0 = -this.graph.container.scrollTop;
+    var c = mxUtils.convertPoint(this.graph.container, b.getX(), b.getY());
+    this.triggerX = c.x;
+    this.triggerY = c.y;
+    this.popupTrigger = this.isPopupTrigger(b);
+    this.panningTrigger = this.isPanningEnabled() && this.isPanningTrigger(b);
+    this.startX = b.getX();
+    this.startY = b.getY();
+    this.panningTrigger && this.consumePanningTrigger(b)
+  }
 };
 mxPanningHandler.prototype.consumePanningTrigger = function(a) {
-    a.consume()
+  a.consume()
 };
 mxPanningHandler.prototype.mouseMove = function(a, b) {
-    var c = b.getX() - this.startX,
-        d = b.getY() - this.startY;
-    if (this.active) this.previewEnabled && (this.useGrid && (c = this.graph.snap(c), d = this.graph.snap(d)), this.graph.panGraph(c + this.dx0, d + this.dy0)), this.fireEvent(new mxEventObject(mxEvent.PAN, "event", b)), b.consume();
-    else if (this.panningTrigger) {
-        var e = this.active;
-        this.active = Math.abs(c) > this.graph.tolerance || Math.abs(d) > this.graph.tolerance;
-        !e && this.active && this.fireEvent(new mxEventObject(mxEvent.PAN_START,
-            "event", b))
-    }
+  var c = b.getX() - this.startX,
+    d = b.getY() - this.startY;
+  if (this.active) this.previewEnabled && (this.useGrid && (c = this.graph.snap(c), d = this.graph.snap(d)), this.graph.panGraph(c + this.dx0, d + this.dy0)), this.fireEvent(new mxEventObject(
+    mxEvent.PAN, "event", b)), b.consume();
+  else if (this.panningTrigger) {
+    var e = this.active;
+    this.active = Math.abs(c) > this.graph.tolerance || Math.abs(d) > this.graph.tolerance;
+    !e && this.active && this.fireEvent(new mxEventObject(mxEvent.PAN_START,
+      "event", b))
+  }
 };
 mxPanningHandler.prototype.mouseUp = function(a, b) {
-    var c = Math.abs(b.getX() - this.startX),
-        d = Math.abs(b.getY() - this.startY);
-    if (this.active) {
-        if (!this.graph.useScrollbarsForPanning || !mxUtils.hasScrollbars(this.graph.container)) {
-            c = b.getX() - this.startX;
-            d = b.getY() - this.startY;
-            this.useGrid && (c = this.graph.snap(c), d = this.graph.snap(d));
-            var e = this.graph.getView().scale,
-                f = this.graph.getView().translate;
-            this.graph.panGraph(0, 0);
-            this.panGraph(f.x + c / e, f.y + d / e)
-        }
-        this.active = !1;
-        this.fireEvent(new mxEventObject(mxEvent.PAN_END, "event",
-            b));
-        b.consume()
-    } else this.popupTrigger && (c < this.graph.tolerance && d < this.graph.tolerance) && (c = this.getCellForPopupEvent(b), this.graph.isEnabled() && this.selectOnPopup && null != c && !this.graph.isCellSelected(c) ? this.graph.setSelectionCell(c) : this.clearSelectionOnBackground && null == c && this.graph.clearSelection(), this.graph.tooltipHandler.hide(), d = mxUtils.getScrollOrigin(), d = new mxPoint(b.getX() + d.x, b.getY() + d.y), this.popup(d.x + 1, d.y + 1, c, b.getEvent()), b.consume());
-    this.popupTrigger = this.panningTrigger = !1
+  var c = Math.abs(b.getX() - this.startX),
+    d = Math.abs(b.getY() - this.startY);
+  if (this.active) {
+    if (!this.graph.useScrollbarsForPanning || !mxUtils.hasScrollbars(this.graph.container)) {
+      c = b.getX() - this.startX;
+      d = b.getY() - this.startY;
+      this.useGrid && (c = this.graph.snap(c), d = this.graph.snap(d));
+      var e = this.graph.getView().scale,
+        f = this.graph.getView().translate;
+      this.graph.panGraph(0, 0);
+      this.panGraph(f.x + c / e, f.y + d / e)
+    }
+    this.active = !1;
+    this.fireEvent(new mxEventObject(mxEvent.PAN_END, "event",
+      b));
+    b.consume()
+  } else this.popupTrigger && (c < this.graph.tolerance && d < this.graph.tolerance) && (c = this.getCellForPopupEvent(b), this.graph.isEnabled() && this.selectOnPopup && null != c && !this.graph.isCellSelected(
+    c) ? this.graph.setSelectionCell(c) : this.clearSelectionOnBackground && null == c && this.graph.clearSelection(), this.graph.tooltipHandler.hide(), d = mxUtils.getScrollOrigin(), d = new mxPoint(
+    b.getX() + d.x, b.getY() + d.y), this.popup(d.x + 1, d.y + 1, c, b.getEvent()), b.consume());
+  this.popupTrigger = this.panningTrigger = !1
 };
 mxPanningHandler.prototype.getCellForPopupEvent = function(a) {
-    return a.getCell()
+  return a.getCell()
 };
 mxPanningHandler.prototype.panGraph = function(a, b) {
-    this.graph.getView().setTranslate(a, b)
+  this.graph.getView().setTranslate(a, b)
 };
 mxPanningHandler.prototype.destroy = function() {
-    this.graph.removeMouseListener(this);
-    mxPopupMenu.prototype.destroy.apply(this)
+  this.graph.removeMouseListener(this);
+  mxPopupMenu.prototype.destroy.apply(this)
 };
 
 function mxCellMarker(a, b, c, d) {
-    mxEventSource.call(this);
-    null != a && (this.graph = a, this.validColor = null != b ? b : mxConstants.DEFAULT_VALID_COLOR, this.invalidColor = null != b ? c : mxConstants.DEFAULT_INVALID_COLOR, this.hotspot = null != d ? d : mxConstants.DEFAULT_HOTSPOT, this.highlight = new mxCellHighlight(a))
+  mxEventSource.call(this);
+  null != a && (this.graph = a, this.validColor = null != b ? b : mxConstants.DEFAULT_VALID_COLOR, this.invalidColor = null != b ? c : mxConstants.DEFAULT_INVALID_COLOR, this.hotspot = null != d ? d :
+    mxConstants.DEFAULT_HOTSPOT, this.highlight = new mxCellHighlight(a))
 }
 mxUtils.extend(mxCellMarker, mxEventSource);
 mxCellMarker.prototype.graph = null;
@@ -14740,101 +15012,102 @@ mxCellMarker.prototype.currentColor = null;
 mxCellMarker.prototype.validState = null;
 mxCellMarker.prototype.markedState = null;
 mxCellMarker.prototype.setEnabled = function(a) {
-    this.enabled = a
+  this.enabled = a
 };
 mxCellMarker.prototype.isEnabled = function() {
-    return this.enabled
+  return this.enabled
 };
 mxCellMarker.prototype.setHotspot = function(a) {
-    this.hotspot = a
+  this.hotspot = a
 };
 mxCellMarker.prototype.getHotspot = function() {
-    return this.hotspot
+  return this.hotspot
 };
 mxCellMarker.prototype.setHotspotEnabled = function(a) {
-    this.hotspotEnabled = a
+  this.hotspotEnabled = a
 };
 mxCellMarker.prototype.isHotspotEnabled = function() {
-    return this.hotspotEnabled
+  return this.hotspotEnabled
 };
 mxCellMarker.prototype.hasValidState = function() {
-    return null != this.validState
+  return null != this.validState
 };
 mxCellMarker.prototype.getValidState = function() {
-    return this.validState
+  return this.validState
 };
 mxCellMarker.prototype.getMarkedState = function() {
-    return this.markedState
+  return this.markedState
 };
 mxCellMarker.prototype.reset = function() {
-    this.validState = null;
-    null != this.markedState && (this.markedState = null, this.unmark())
+  this.validState = null;
+  null != this.markedState && (this.markedState = null, this.unmark())
 };
 mxCellMarker.prototype.process = function(a) {
-    var b = null;
-    if (this.isEnabled()) {
-        var b = this.getState(a),
-            c = null != b ? this.isValidState(b) : !1;
-        a = this.getMarkerColor(a.getEvent(), b, c);
-        this.validState = c ? b : null;
-        if (b != this.markedState || a != this.currentColor) this.currentColor = a, null != b && null != this.currentColor ? (this.markedState = b, this.mark()) : null != this.markedState && (this.markedState = null, this.unmark())
-    }
-    return b
+  var b = null;
+  if (this.isEnabled()) {
+    var b = this.getState(a),
+      c = null != b ? this.isValidState(b) : !1;
+    a = this.getMarkerColor(a.getEvent(), b, c);
+    this.validState = c ? b : null;
+    if (b != this.markedState || a != this.currentColor) this.currentColor = a, null != b && null != this.currentColor ? (this.markedState = b, this.mark()) : null != this.markedState && (this.markedState =
+      null, this.unmark())
+  }
+  return b
 };
 mxCellMarker.prototype.markCell = function(a, b) {
-    var c = this.graph.getView().getState(a);
-    null != c && (this.currentColor = null != b ? b : this.validColor, this.markedState = c, this.mark())
+  var c = this.graph.getView().getState(a);
+  null != c && (this.currentColor = null != b ? b : this.validColor, this.markedState = c, this.mark())
 };
 mxCellMarker.prototype.mark = function() {
-    this.highlight.setHighlightColor(this.currentColor);
-    this.highlight.highlight(this.markedState);
-    this.fireEvent(new mxEventObject(mxEvent.MARK, "state", this.markedState))
+  this.highlight.setHighlightColor(this.currentColor);
+  this.highlight.highlight(this.markedState);
+  this.fireEvent(new mxEventObject(mxEvent.MARK, "state", this.markedState))
 };
 mxCellMarker.prototype.unmark = function() {
-    this.mark()
+  this.mark()
 };
 mxCellMarker.prototype.isValidState = function(a) {
-    return !0
+  return !0
 };
 mxCellMarker.prototype.getMarkerColor = function(a, b, c) {
-    return c ? this.validColor : this.invalidColor
+  return c ? this.validColor : this.invalidColor
 };
 mxCellMarker.prototype.getState = function(a) {
-    var b = this.graph.getView();
-    cell = this.getCell(a);
-    b = this.getStateToMark(b.getState(cell));
-    return null != b && this.intersects(b, a) ? b : null
+  var b = this.graph.getView();
+  cell = this.getCell(a);
+  b = this.getStateToMark(b.getState(cell));
+  return null != b && this.intersects(b, a) ? b : null
 };
 mxCellMarker.prototype.getCell = function(a) {
-    return a.getCell()
+  return a.getCell()
 };
 mxCellMarker.prototype.getStateToMark = function(a) {
-    return a
+  return a
 };
 mxCellMarker.prototype.intersects = function(a, b) {
-    return this.hotspotEnabled ? mxUtils.intersectsHotspot(a, b.getGraphX(), b.getGraphY(), this.hotspot, mxConstants.MIN_HOTSPOT_SIZE, mxConstants.MAX_HOTSPOT_SIZE) : !0
+  return this.hotspotEnabled ? mxUtils.intersectsHotspot(a, b.getGraphX(), b.getGraphY(), this.hotspot, mxConstants.MIN_HOTSPOT_SIZE, mxConstants.MAX_HOTSPOT_SIZE) : !0
 };
 mxCellMarker.prototype.destroy = function() {
-    this.graph.getView().removeListener(this.resetHandler);
-    this.graph.getModel().removeListener(this.resetHandler);
-    this.highlight.destroy()
+  this.graph.getView().removeListener(this.resetHandler);
+  this.graph.getModel().removeListener(this.resetHandler);
+  this.highlight.destroy()
 };
 
 function mxSelectionCellsHandler(a) {
-    mxEventSource.call(this);
-    this.graph = a;
-    this.handlers = new mxDictionary;
-    this.graph.addMouseListener(this);
-    this.refreshHandler = mxUtils.bind(this, function(a, c) {
-        this.isEnabled() && this.refresh()
-    });
-    this.graph.getSelectionModel().addListener(mxEvent.CHANGE, this.refreshHandler);
-    this.graph.getModel().addListener(mxEvent.CHANGE, this.refreshHandler);
-    this.graph.getView().addListener(mxEvent.SCALE, this.refreshHandler);
-    this.graph.getView().addListener(mxEvent.TRANSLATE, this.refreshHandler);
-    this.graph.getView().addListener(mxEvent.SCALE_AND_TRANSLATE, this.refreshHandler);
-    this.graph.getView().addListener(mxEvent.DOWN, this.refreshHandler);
-    this.graph.getView().addListener(mxEvent.UP, this.refreshHandler)
+  mxEventSource.call(this);
+  this.graph = a;
+  this.handlers = new mxDictionary;
+  this.graph.addMouseListener(this);
+  this.refreshHandler = mxUtils.bind(this, function(a, c) {
+    this.isEnabled() && this.refresh()
+  });
+  this.graph.getSelectionModel().addListener(mxEvent.CHANGE, this.refreshHandler);
+  this.graph.getModel().addListener(mxEvent.CHANGE, this.refreshHandler);
+  this.graph.getView().addListener(mxEvent.SCALE, this.refreshHandler);
+  this.graph.getView().addListener(mxEvent.TRANSLATE, this.refreshHandler);
+  this.graph.getView().addListener(mxEvent.SCALE_AND_TRANSLATE, this.refreshHandler);
+  this.graph.getView().addListener(mxEvent.DOWN, this.refreshHandler);
+  this.graph.getView().addListener(mxEvent.UP, this.refreshHandler)
 }
 mxUtils.extend(mxSelectionCellsHandler, mxEventSource);
 mxSelectionCellsHandler.prototype.graph = null;
@@ -14843,69 +15116,70 @@ mxSelectionCellsHandler.prototype.refreshHandler = null;
 mxSelectionCellsHandler.prototype.maxHandlers = 100;
 mxSelectionCellsHandler.prototype.handlers = null;
 mxSelectionCellsHandler.prototype.isEnabled = function() {
-    return this.enabled
+  return this.enabled
 };
 mxSelectionCellsHandler.prototype.setEnabled = function(a) {
-    this.enabled = a
+  this.enabled = a
 };
 mxSelectionCellsHandler.prototype.getHandler = function(a) {
-    return this.handlers.get(a)
+  return this.handlers.get(a)
 };
 mxSelectionCellsHandler.prototype.reset = function() {
-    this.handlers.visit(function(a, b) {
-        b.reset.apply(b)
-    })
+  this.handlers.visit(function(a, b) {
+    b.reset.apply(b)
+  })
 };
 mxSelectionCellsHandler.prototype.refresh = function() {
-    var a = this.handlers;
-    this.handlers = new mxDictionary;
-    for (var b = this.graph.getSelectionCells(), c = 0; c < b.length; c++) {
-        var d = this.graph.view.getState(b[c]);
-        if (null != d) {
-            var e = a.remove(b[c]);
-            null != e && (e.state != d ? (e.destroy(), e = null) : e.redraw());
-            null == e && (e = this.graph.createHandler(d), this.fireEvent(new mxEventObject(mxEvent.ADD, "state", d)));
-            null != e && this.handlers.put(b[c], e)
-        }
-    }
-    a.visit(mxUtils.bind(this, function(a, b) {
-        this.fireEvent(new mxEventObject(mxEvent.REMOVE,
-            "state", b.state));
-        b.destroy()
-    }))
+  var a = this.handlers;
+  this.handlers = new mxDictionary;
+  for (var b = this.graph.getSelectionCells(), c = 0; c < b.length; c++) {
+    var d = this.graph.view.getState(b[c]);
+    if (null != d) {
+      var e = a.remove(b[c]);
+      null != e && (e.state != d ? (e.destroy(), e = null) : e.redraw());
+      null == e && (e = this.graph.createHandler(d), this.fireEvent(new mxEventObject(mxEvent.ADD, "state", d)));
+      null != e && this.handlers.put(b[c], e)
+    }
+  }
+  a.visit(mxUtils.bind(this, function(a, b) {
+    this.fireEvent(new mxEventObject(mxEvent.REMOVE,
+      "state", b.state));
+    b.destroy()
+  }))
 };
 mxSelectionCellsHandler.prototype.mouseDown = function(a, b) {
-    if (this.graph.isEnabled() && this.isEnabled()) {
-        var c = [a, b];
-        this.handlers.visit(function(a, b) {
-            b.mouseDown.apply(b, c)
-        })
-    }
+  if (this.graph.isEnabled() && this.isEnabled()) {
+    var c = [a, b];
+    this.handlers.visit(function(a, b) {
+      b.mouseDown.apply(b, c)
+    })
+  }
 };
 mxSelectionCellsHandler.prototype.mouseMove = function(a, b) {
-    if (this.graph.isEnabled() && this.isEnabled()) {
-        var c = [a, b];
-        this.handlers.visit(function(a, b) {
-            b.mouseMove.apply(b, c)
-        })
-    }
+  if (this.graph.isEnabled() && this.isEnabled()) {
+    var c = [a, b];
+    this.handlers.visit(function(a, b) {
+      b.mouseMove.apply(b, c)
+    })
+  }
 };
 mxSelectionCellsHandler.prototype.mouseUp = function(a, b) {
-    if (this.graph.isEnabled() && this.isEnabled()) {
-        var c = [a, b];
-        this.handlers.visit(function(a, b) {
-            b.mouseUp.apply(b, c)
-        })
-    }
+  if (this.graph.isEnabled() && this.isEnabled()) {
+    var c = [a, b];
+    this.handlers.visit(function(a, b) {
+      b.mouseUp.apply(b, c)
+    })
+  }
 };
 mxSelectionCellsHandler.prototype.destroy = function() {
-    this.graph.removeMouseListener(this);
-    null != this.refreshHandler && (this.graph.getSelectionModel().removeListener(this.refreshHandler), this.graph.getModel().removeListener(this.refreshHandler), this.graph.getView().removeListener(this.refreshHandler), this.refreshHandler = null)
+  this.graph.removeMouseListener(this);
+  null != this.refreshHandler && (this.graph.getSelectionModel().removeListener(this.refreshHandler), this.graph.getModel().removeListener(this.refreshHandler), this.graph.getView().removeListener(
+    this.refreshHandler), this.refreshHandler = null)
 };
 
 function mxConnectionHandler(a, b) {
-    mxEventSource.call(this);
-    null != a && (this.graph = a, this.factoryMethod = b, this.init())
+  mxEventSource.call(this);
+  null != a && (this.graph = a, this.factoryMethod = b, this.init())
 }
 mxUtils.extend(mxConnectionHandler, mxEventSource);
 mxConnectionHandler.prototype.graph = null;
@@ -14937,559 +15211,575 @@ mxConnectionHandler.prototype.drillHandler = null;
 mxConnectionHandler.prototype.mouseDownCounter = 0;
 mxConnectionHandler.prototype.movePreviewAway = mxClient.IS_VML;
 mxConnectionHandler.prototype.isEnabled = function() {
-    return this.enabled
+  return this.enabled
 };
 mxConnectionHandler.prototype.setEnabled = function(a) {
-    this.enabled = a
+  this.enabled = a
 };
 mxConnectionHandler.prototype.isCreateTarget = function() {
-    return this.createTarget
+  return this.createTarget
 };
 mxConnectionHandler.prototype.setCreateTarget = function(a) {
-    this.createTarget = a
+  this.createTarget = a
 };
 mxConnectionHandler.prototype.createShape = function() {
-    var a = new mxPolyline([], mxConstants.INVALID_COLOR);
-    a.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_VML : mxConstants.DIALECT_SVG;
-    a.init(this.graph.getView().getOverlayPane());
-    a.svgStrokeTolerance = 0;
-    a.pointerEvents = !1;
-    a.isDashed = !0;
-    if (this.graph.dialect == mxConstants.DIALECT_SVG) a.node.setAttribute("pointer-events", "none");
-    else {
-        var b = mxUtils.bind(this, function(a) {
-            a = mxUtils.convertPoint(this.graph.container, mxEvent.getClientX(a),
-                mxEvent.getClientY(a));
-            return this.graph.view.getState(this.graph.getCellAt(a.x, a.y))
-        });
-        mxEvent.redirectMouseEvents(a.node, this.graph, b)
-    }
-    return a
+  var a = new mxPolyline([], mxConstants.INVALID_COLOR);
+  a.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_VML : mxConstants.DIALECT_SVG;
+  a.init(this.graph.getView().getOverlayPane());
+  a.svgStrokeTolerance = 0;
+  a.pointerEvents = !1;
+  a.isDashed = !0;
+  if (this.graph.dialect == mxConstants.DIALECT_SVG) a.node.setAttribute("pointer-events", "none");
+  else {
+    var b = mxUtils.bind(this, function(a) {
+      a = mxUtils.convertPoint(this.graph.container, mxEvent.getClientX(a),
+        mxEvent.getClientY(a));
+      return this.graph.view.getState(this.graph.getCellAt(a.x, a.y))
+    });
+    mxEvent.redirectMouseEvents(a.node, this.graph, b)
+  }
+  return a
 };
 mxConnectionHandler.prototype.init = function() {
-    this.graph.addMouseListener(this);
-    this.marker = this.createMarker();
-    this.constraintHandler = new mxConstraintHandler(this.graph);
-    this.changeHandler = mxUtils.bind(this, function(a) {
-        null != this.iconState && (this.iconState = this.graph.getView().getState(this.iconState.cell));
-        null != this.iconState ? this.redrawIcons(this.icons, this.iconState) : (this.destroyIcons(this.icons), this.previous = null);
-        this.constraintHandler.reset()
-    });
-    this.graph.getModel().addListener(mxEvent.CHANGE,
-        this.changeHandler);
-    this.graph.getView().addListener(mxEvent.SCALE, this.changeHandler);
-    this.graph.getView().addListener(mxEvent.TRANSLATE, this.changeHandler);
-    this.graph.getView().addListener(mxEvent.SCALE_AND_TRANSLATE, this.changeHandler);
-    this.drillHandler = mxUtils.bind(this, function(a) {
-        this.destroyIcons(this.icons)
-    });
-    this.graph.addListener(mxEvent.START_EDITING, this.drillHandler);
-    this.graph.getView().addListener(mxEvent.DOWN, this.drillHandler);
-    this.graph.getView().addListener(mxEvent.UP, this.drillHandler)
+  this.graph.addMouseListener(this);
+  this.marker = this.createMarker();
+  this.constraintHandler = new mxConstraintHandler(this.graph);
+  this.changeHandler = mxUtils.bind(this, function(a) {
+    null != this.iconState && (this.iconState = this.graph.getView().getState(this.iconState.cell));
+    null != this.iconState ? this.redrawIcons(this.icons, this.iconState) : (this.destroyIcons(this.icons), this.previous = null);
+    this.constraintHandler.reset()
+  });
+  this.graph.getModel().addListener(mxEvent.CHANGE,
+    this.changeHandler);
+  this.graph.getView().addListener(mxEvent.SCALE, this.changeHandler);
+  this.graph.getView().addListener(mxEvent.TRANSLATE, this.changeHandler);
+  this.graph.getView().addListener(mxEvent.SCALE_AND_TRANSLATE, this.changeHandler);
+  this.drillHandler = mxUtils.bind(this, function(a) {
+    this.destroyIcons(this.icons)
+  });
+  this.graph.addListener(mxEvent.START_EDITING, this.drillHandler);
+  this.graph.getView().addListener(mxEvent.DOWN, this.drillHandler);
+  this.graph.getView().addListener(mxEvent.UP, this.drillHandler)
 };
 mxConnectionHandler.prototype.isConnectableCell = function(a) {
-    return !0
+  return !0
 };
 mxConnectionHandler.prototype.createMarker = function() {
-    var a = new mxCellMarker(this.graph);
-    a.hotspotEnabled = !0;
-    a.getCell = mxUtils.bind(this, function(b, c) {
-        c = mxCellMarker.prototype.getCell.apply(a, arguments);
-        this.error = null;
-        if (!this.isConnectableCell(c)) return null;
-        null != c ? this.isConnecting() ? null != this.previous && (this.error = this.validateConnection(this.previous.cell, c), null != this.error && 0 == this.error.length && (c = null, this.isCreateTarget() && (this.error = null))) : this.isValidSource(c) || (c = null) : this.isConnecting() &&
-            (!this.isCreateTarget() && !this.graph.allowDanglingEdges) && (this.error = "");
-        return c
-    });
-    a.isValidState = mxUtils.bind(this, function(b) {
-        return this.isConnecting() ? null == this.error : mxCellMarker.prototype.isValidState.apply(a, arguments)
-    });
-    a.getMarkerColor = mxUtils.bind(this, function(b, c, d) {
-        return null == this.connectImage || this.isConnecting() ? mxCellMarker.prototype.getMarkerColor.apply(a, arguments) : null
-    });
-    a.intersects = mxUtils.bind(this, function(b, c) {
-        return null != this.connectImage || this.isConnecting() ? !0 : mxCellMarker.prototype.intersects.apply(a,
-            arguments)
-    });
-    return a
+  var a = new mxCellMarker(this.graph);
+  a.hotspotEnabled = !0;
+  a.getCell = mxUtils.bind(this, function(b, c) {
+    c = mxCellMarker.prototype.getCell.apply(a, arguments);
+    this.error = null;
+    if (!this.isConnectableCell(c)) return null;
+    null != c ? this.isConnecting() ? null != this.previous && (this.error = this.validateConnection(this.previous.cell, c), null != this.error && 0 == this.error.length && (c = null, this.isCreateTarget() &&
+        (this.error = null))) : this.isValidSource(c) || (c = null) : this.isConnecting() &&
+      (!this.isCreateTarget() && !this.graph.allowDanglingEdges) && (this.error = "");
+    return c
+  });
+  a.isValidState = mxUtils.bind(this, function(b) {
+    return this.isConnecting() ? null == this.error : mxCellMarker.prototype.isValidState.apply(a, arguments)
+  });
+  a.getMarkerColor = mxUtils.bind(this, function(b, c, d) {
+    return null == this.connectImage || this.isConnecting() ? mxCellMarker.prototype.getMarkerColor.apply(a, arguments) : null
+  });
+  a.intersects = mxUtils.bind(this, function(b, c) {
+    return null != this.connectImage || this.isConnecting() ? !0 : mxCellMarker.prototype.intersects.apply(a,
+      arguments)
+  });
+  return a
 };
 mxConnectionHandler.prototype.start = function(a, b, c, d) {
-    this.previous = a;
-    this.first = new mxPoint(b, c);
-    this.edgeState = null != d ? d : this.createEdgeState(null);
-    this.marker.currentColor = this.marker.validColor;
-    this.marker.markedState = a;
-    this.marker.mark();
-    this.fireEvent(new mxEventObject(mxEvent.START, "state", this.previous))
+  this.previous = a;
+  this.first = new mxPoint(b, c);
+  this.edgeState = null != d ? d : this.createEdgeState(null);
+  this.marker.currentColor = this.marker.validColor;
+  this.marker.markedState = a;
+  this.marker.mark();
+  this.fireEvent(new mxEventObject(mxEvent.START, "state", this.previous))
 };
 mxConnectionHandler.prototype.isConnecting = function() {
-    return null != this.first && null != this.shape
+  return null != this.first && null != this.shape
 };
 mxConnectionHandler.prototype.isValidSource = function(a) {
-    return this.graph.isValidSource(a)
+  return this.graph.isValidSource(a)
 };
 mxConnectionHandler.prototype.isValidTarget = function(a) {
-    return !0
+  return !0
 };
 mxConnectionHandler.prototype.validateConnection = function(a, b) {
-    return !this.isValidTarget(b) ? "" : this.graph.getEdgeValidationError(null, a, b)
+  return !this.isValidTarget(b) ? "" : this.graph.getEdgeValidationError(null, a, b)
 };
 mxConnectionHandler.prototype.getConnectImage = function(a) {
-    return this.connectImage
+  return this.connectImage
 };
 mxConnectionHandler.prototype.isMoveIconToFrontForState = function(a) {
-    return null != a.text && a.text.node.parentNode == this.graph.container ? !0 : this.moveIconFront
+  return null != a.text && a.text.node.parentNode == this.graph.container ? !0 : this.moveIconFront
 };
 mxConnectionHandler.prototype.createIcons = function(a) {
-    var b = this.getConnectImage(a);
-    if (null != b && null != a) {
-        this.iconState = a;
-        var c = [],
-            d = new mxRectangle(0, 0, b.width, b.height),
-            e = new mxImageShape(d, b.src, null, null, 0);
-        e.preserveImageAspect = !1;
-        this.isMoveIconToFrontForState(a) ? (e.dialect = mxConstants.DIALECT_STRICTHTML, e.init(this.graph.container)) : (e.dialect = this.graph.dialect == mxConstants.DIALECT_SVG ? mxConstants.DIALECT_SVG : mxConstants.DIALECT_VML, e.init(this.graph.getView().getOverlayPane()), this.moveIconBack &&
-            null != e.node.previousSibling && e.node.parentNode.insertBefore(e.node, e.node.parentNode.firstChild));
-        e.node.style.cursor = mxConstants.CURSOR_CONNECT;
-        var f = mxUtils.bind(this, function() {
-                return null != this.currentState ? this.currentState : a
-            }),
-            b = mxUtils.bind(this, function(a) {
-                mxEvent.isConsumed(a) || (this.icon = e, this.graph.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(a, f())))
-            });
-        mxEvent.redirectMouseEvents(e.node, this.graph, f, b);
-        c.push(e);
-        this.redrawIcons(c, this.iconState);
-        return c
-    }
-    return null
+  var b = this.getConnectImage(a);
+  if (null != b && null != a) {
+    this.iconState = a;
+    var c = [],
+      d = new mxRectangle(0, 0, b.width, b.height),
+      e = new mxImageShape(d, b.src, null, null, 0);
+    e.preserveImageAspect = !1;
+    this.isMoveIconToFrontForState(a) ? (e.dialect = mxConstants.DIALECT_STRICTHTML, e.init(this.graph.container)) : (e.dialect = this.graph.dialect == mxConstants.DIALECT_SVG ? mxConstants.DIALECT_SVG :
+      mxConstants.DIALECT_VML, e.init(this.graph.getView().getOverlayPane()), this.moveIconBack &&
+      null != e.node.previousSibling && e.node.parentNode.insertBefore(e.node, e.node.parentNode.firstChild));
+    e.node.style.cursor = mxConstants.CURSOR_CONNECT;
+    var f = mxUtils.bind(this, function() {
+        return null != this.currentState ? this.currentState : a
+      }),
+      b = mxUtils.bind(this, function(a) {
+        mxEvent.isConsumed(a) || (this.icon = e, this.graph.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(a, f())))
+      });
+    mxEvent.redirectMouseEvents(e.node, this.graph, f, b);
+    c.push(e);
+    this.redrawIcons(c, this.iconState);
+    return c
+  }
+  return null
 };
 mxConnectionHandler.prototype.redrawIcons = function(a, b) {
-    if (null != a && null != a[0] && null != b) {
-        var c = this.getIconPosition(a[0], b);
-        a[0].bounds.x = c.x;
-        a[0].bounds.y = c.y;
-        a[0].redraw()
-    }
+  if (null != a && null != a[0] && null != b) {
+    var c = this.getIconPosition(a[0], b);
+    a[0].bounds.x = c.x;
+    a[0].bounds.y = c.y;
+    a[0].redraw()
+  }
 };
 mxConnectionHandler.prototype.getIconPosition = function(a, b) {
-    var c = this.graph.getView().scale,
-        d = b.getCenterX(),
-        e = b.getCenterY();
-    if (this.graph.isSwimlane(b.cell)) {
-        var f = this.graph.getStartSize(b.cell),
-            d = 0 != f.width ? b.x + f.width * c / 2 : d,
-            e = 0 != f.height ? b.y + f.height * c / 2 : e,
-            f = mxUtils.toRadians(mxUtils.getValue(b.style, mxConstants.STYLE_ROTATION) || 0);
-        if (0 != f) var c = Math.cos(f),
-            f = Math.sin(f),
-            g = new mxPoint(b.getCenterX(), b.getCenterY()),
-            e = mxUtils.getRotatedPoint(new mxPoint(d, e), c, f, g),
-            d = e.x,
-            e = e.y
-    }
-    return new mxPoint(d -
-        a.bounds.width / 2, e - a.bounds.height / 2)
+  var c = this.graph.getView().scale,
+    d = b.getCenterX(),
+    e = b.getCenterY();
+  if (this.graph.isSwimlane(b.cell)) {
+    var f = this.graph.getStartSize(b.cell),
+      d = 0 != f.width ? b.x + f.width * c / 2 : d,
+      e = 0 != f.height ? b.y + f.height * c / 2 : e,
+      f = mxUtils.toRadians(mxUtils.getValue(b.style, mxConstants.STYLE_ROTATION) || 0);
+    if (0 != f) var c = Math.cos(f),
+      f = Math.sin(f),
+      g = new mxPoint(b.getCenterX(), b.getCenterY()),
+      e = mxUtils.getRotatedPoint(new mxPoint(d, e), c, f, g),
+      d = e.x,
+      e = e.y
+  }
+  return new mxPoint(d -
+    a.bounds.width / 2, e - a.bounds.height / 2)
 };
 mxConnectionHandler.prototype.destroyIcons = function(a) {
-    if (null != a) {
-        this.iconState = null;
-        for (var b = 0; b < a.length; b++) a[b].destroy()
-    }
+  if (null != a) {
+    this.iconState = null;
+    for (var b = 0; b < a.length; b++) a[b].destroy()
+  }
 };
 mxConnectionHandler.prototype.isStartEvent = function(a) {
-    return !this.graph.isForceMarqueeEvent(a.getEvent()) && (null != this.constraintHandler.currentFocus && null != this.constraintHandler.currentConstraint || null != this.previous && null == this.error && (null == this.icons || null != this.icons && null != this.icon))
+  return !this.graph.isForceMarqueeEvent(a.getEvent()) && (null != this.constraintHandler.currentFocus && null != this.constraintHandler.currentConstraint || null != this.previous && null == this.error &&
+    (null == this.icons || null != this.icons && null != this.icon))
 };
 mxConnectionHandler.prototype.mouseDown = function(a, b) {
-    this.mouseDownCounter++;
-    if (this.isEnabled() && this.graph.isEnabled() && !b.isConsumed() && !this.isConnecting() && this.isStartEvent(b)) {
-        null != this.constraintHandler.currentConstraint && null != this.constraintHandler.currentFocus && null != this.constraintHandler.currentPoint ? (this.sourceConstraint = this.constraintHandler.currentConstraint, this.previous = this.constraintHandler.currentFocus, this.first = this.constraintHandler.currentPoint.clone()) : this.first = new mxPoint(b.getGraphX(),
-            b.getGraphY());
-        this.edgeState = this.createEdgeState(b);
-        this.mouseDownCounter = 1;
-        this.waypointsEnabled && null == this.shape && (this.waypoints = null, this.shape = this.createShape());
-        if (null == this.previous && null != this.edgeState) {
-            var c = this.graph.getPointForEvent(b.getEvent());
-            this.edgeState.cell.geometry.setTerminalPoint(c, !0)
-        }
-        this.fireEvent(new mxEventObject(mxEvent.START, "state", this.previous));
-        b.consume()
-    } else if (mxClient.IS_TOUCH && this.tapAndHoldEnabled && !this.tapAndHoldInProgress && this.isEnabled() && this.graph.isEnabled() &&
-        !this.isConnecting()) {
-        this.tapAndHoldInProgress = !0;
-        this.initialTouchX = b.getX();
-        this.initialTouchY = b.getY();
-        var d = this.graph.view.getState(this.marker.getCell(b));
-        this.tapAndHoldThread && window.clearTimeout(this.tapAndHoldThread);
-        this.tapAndHoldThread = window.setTimeout(mxUtils.bind(this, function() {
-            this.tapAndHoldValid && this.tapAndHold(b, d);
-            this.tapAndHoldValid = this.tapAndHoldInProgress = !1
-        }), this.tapAndHoldDelay);
-        this.tapAndHoldValid = !0
-    }
-    this.selectedIcon = this.icon;
-    this.icon = null
+  this.mouseDownCounter++;
+  if (this.isEnabled() && this.graph.isEnabled() && !b.isConsumed() && !this.isConnecting() && this.isStartEvent(b)) {
+    null != this.constraintHandler.currentConstraint && null != this.constraintHandler.currentFocus && null != this.constraintHandler.currentPoint ? (this.sourceConstraint = this.constraintHandler.currentConstraint,
+      this.previous = this.constraintHandler.currentFocus, this.first = this.constraintHandler.currentPoint.clone()) : this.first = new mxPoint(b.getGraphX(),
+      b.getGraphY());
+    this.edgeState = this.createEdgeState(b);
+    this.mouseDownCounter = 1;
+    this.waypointsEnabled && null == this.shape && (this.waypoints = null, this.shape = this.createShape());
+    if (null == this.previous && null != this.edgeState) {
+      var c = this.graph.getPointForEvent(b.getEvent());
+      this.edgeState.cell.geometry.setTerminalPoint(c, !0)
+    }
+    this.fireEvent(new mxEventObject(mxEvent.START, "state", this.previous));
+    b.consume()
+  } else if (mxClient.IS_TOUCH && this.tapAndHoldEnabled && !this.tapAndHoldInProgress && this.isEnabled() && this.graph.isEnabled() &&
+    !this.isConnecting()) {
+    this.tapAndHoldInProgress = !0;
+    this.initialTouchX = b.getX();
+    this.initialTouchY = b.getY();
+    var d = this.graph.view.getState(this.marker.getCell(b));
+    this.tapAndHoldThread && window.clearTimeout(this.tapAndHoldThread);
+    this.tapAndHoldThread = window.setTimeout(mxUtils.bind(this, function() {
+      this.tapAndHoldValid && this.tapAndHold(b, d);
+      this.tapAndHoldValid = this.tapAndHoldInProgress = !1
+    }), this.tapAndHoldDelay);
+    this.tapAndHoldValid = !0
+  }
+  this.selectedIcon = this.icon;
+  this.icon = null
 };
 mxConnectionHandler.prototype.tapAndHold = function(a, b) {
-    null != b && (this.marker.currentColor = this.marker.validColor, this.marker.markedState = b, this.marker.mark(), this.first = new mxPoint(a.getGraphX(), a.getGraphY()), this.edgeState = this.createEdgeState(a), this.previous = b, this.fireEvent(new mxEventObject(mxEvent.START, "state", this.previous)))
+  null != b && (this.marker.currentColor = this.marker.validColor, this.marker.markedState = b, this.marker.mark(), this.first = new mxPoint(a.getGraphX(), a.getGraphY()), this.edgeState = this.createEdgeState(
+    a), this.previous = b, this.fireEvent(new mxEventObject(mxEvent.START, "state", this.previous)))
 };
 mxConnectionHandler.prototype.isImmediateConnectSource = function(a) {
-    return !this.graph.isCellMovable(a.cell)
+  return !this.graph.isCellMovable(a.cell)
 };
 mxConnectionHandler.prototype.createEdgeState = function(a) {
-    return null
+  return null
 };
 mxConnectionHandler.prototype.updateCurrentState = function(a) {
-    var b = this.marker.process(a);
-    this.constraintHandler.update(a, null == this.first);
-    this.currentState = b
+  var b = this.marker.process(a);
+  this.constraintHandler.update(a, null == this.first);
+  this.currentState = b
 };
 mxConnectionHandler.prototype.convertWaypoint = function(a) {
-    var b = this.graph.getView().getScale(),
-        c = this.graph.getView().getTranslate();
-    a.x = a.x / b - c.x;
-    a.y = a.y / b - c.y
+  var b = this.graph.getView().getScale(),
+    c = this.graph.getView().getTranslate();
+  a.x = a.x / b - c.x;
+  a.y = a.y / b - c.y
 };
 mxConnectionHandler.prototype.mouseMove = function(a, b) {
-    this.tapAndHoldValid && (this.tapAndHoldValid = Math.abs(this.initialTouchX - b.getX()) < this.tapAndHoldTolerance && Math.abs(this.initialTouchY - b.getY()) < this.tapAndHoldTolerance);
-    if (!b.isConsumed() && (this.ignoreMouseDown || null != this.first || !this.graph.isMouseDown)) {
-        !this.isEnabled() && null != this.currentState && (this.destroyIcons(this.icons), this.currentState = null);
-        (null != this.first || this.isEnabled() && this.graph.isEnabled()) && this.updateCurrentState(b);
-        if (null != this.first) {
-            var c = this.graph.getView().scale,
-                c = new mxPoint(this.graph.snap(b.getGraphX() / c) * c, this.graph.snap(b.getGraphY() / c) * c),
-                d = null,
-                e = c;
-            null != this.constraintHandler.currentConstraint && (null != this.constraintHandler.currentFocus && null != this.constraintHandler.currentPoint) && (d = this.constraintHandler.currentConstraint, e = this.constraintHandler.currentPoint.clone());
-            var f = this.first;
-            if (null != this.selectedIcon) {
-                var g = this.selectedIcon.bounds.width,
-                    h = this.selectedIcon.bounds.height;
-                null != this.currentState &&
-                    this.targetConnectImage ? (g = this.getIconPosition(this.selectedIcon, this.currentState), this.selectedIcon.bounds.x = g.x, this.selectedIcon.bounds.y = g.y) : (g = new mxRectangle(b.getGraphX() + this.connectIconOffset.x, b.getGraphY() + this.connectIconOffset.y, g, h), this.selectedIcon.bounds = g);
-                this.selectedIcon.redraw()
-            }
-            if (null != this.edgeState) {
-                this.edgeState.absolutePoints = [null, null != this.currentState ? null : e];
-                this.graph.view.updateFixedTerminalPoint(this.edgeState, this.previous, !0, this.sourceConstraint);
-                null != this.currentState &&
-                    (null == d && (d = this.graph.getConnectionConstraint(this.edgeState, this.previous, !1)), this.edgeState.setAbsoluteTerminalPoint(null, !1), this.graph.view.updateFixedTerminalPoint(this.edgeState, this.currentState, !1, d));
-                f = null;
-                if (null != this.waypoints) {
-                    f = [];
-                    for (e = 0; e < this.waypoints.length; e++) d = this.waypoints[e].clone(), this.convertWaypoint(d), f[e] = d
-                }
-                this.graph.view.updatePoints(this.edgeState, f, this.previous, this.currentState);
-                this.graph.view.updateFloatingTerminalPoints(this.edgeState, this.previous, this.currentState);
-                e = this.edgeState.absolutePoints[this.edgeState.absolutePoints.length - 1];
-                f = this.edgeState.absolutePoints[0]
-            } else null != this.currentState && null == this.constraintHandler.currentConstraint && (g = this.getTargetPerimeterPoint(this.currentState, b), null != g && (e = g)), null == this.sourceConstraint && null != this.previous && (g = this.getSourcePerimeterPoint(this.previous, null != this.waypoints && 0 < this.waypoints.length ? this.waypoints[0] : e, b), null != g && (f = g));
-            if (null == this.currentState && this.movePreviewAway) {
-                g = f;
-                null != this.edgeState &&
-                    2 < this.edgeState.absolutePoints.length && (d = this.edgeState.absolutePoints[this.edgeState.absolutePoints.length - 2], null != d && (g = d));
-                d = e.x - g.x;
-                g = e.y - g.y;
-                h = Math.sqrt(d * d + g * g);
-                if (0 == h) return;
-                e.x -= 4 * d / h;
-                e.y -= 4 * g / h
-            }
-            if (null == this.shape && (d = Math.abs(c.x - this.first.x), g = Math.abs(c.y - this.first.y), d > this.graph.tolerance || g > this.graph.tolerance)) this.shape = this.createShape(), this.updateCurrentState(b);
-            null != this.shape && (null != this.edgeState ? this.shape.points = this.edgeState.absolutePoints : (c = [f], null != this.waypoints &&
-                (c = c.concat(this.waypoints)), c.push(e), this.shape.points = c), this.drawPreview());
-            mxEvent.consume(b.getEvent());
-            b.consume()
-        } else !this.isEnabled() || !this.graph.isEnabled() ? this.constraintHandler.reset() : this.previous != this.currentState && null == this.edgeState ? (this.destroyIcons(this.icons), this.icons = null, null != this.currentState && null == this.error && (this.icons = this.createIcons(this.currentState), null == this.icons && (this.currentState.setCursor(mxConstants.CURSOR_CONNECT), b.consume())), this.previous = this.currentState) :
-            this.previous == this.currentState && (null != this.currentState && null == this.icons && !this.graph.isMouseDown) && b.consume();
-        null != this.constraintHandler.currentConstraint && this.marker.reset();
-        if (!this.graph.isMouseDown && null != this.currentState && null != this.icons) {
-            c = !1;
-            f = b.getSource();
-            for (e = 0; e < this.icons.length && !c; e++) c = f == this.icons[e].node || f.parentNode == this.icons[e].node;
-            c || this.updateIcons(this.currentState, this.icons, b)
+  this.tapAndHoldValid && (this.tapAndHoldValid = Math.abs(this.initialTouchX - b.getX()) < this.tapAndHoldTolerance && Math.abs(this.initialTouchY - b.getY()) < this.tapAndHoldTolerance);
+  if (!b.isConsumed() && (this.ignoreMouseDown || null != this.first || !this.graph.isMouseDown)) {
+    !this.isEnabled() && null != this.currentState && (this.destroyIcons(this.icons), this.currentState = null);
+    (null != this.first || this.isEnabled() && this.graph.isEnabled()) && this.updateCurrentState(b);
+    if (null != this.first) {
+      var c = this.graph.getView().scale,
+        c = new mxPoint(this.graph.snap(b.getGraphX() / c) * c, this.graph.snap(b.getGraphY() / c) * c),
+        d = null,
+        e = c;
+      null != this.constraintHandler.currentConstraint && (null != this.constraintHandler.currentFocus && null != this.constraintHandler.currentPoint) && (d = this.constraintHandler.currentConstraint,
+        e = this.constraintHandler.currentPoint.clone());
+      var f = this.first;
+      if (null != this.selectedIcon) {
+        var g = this.selectedIcon.bounds.width,
+          h = this.selectedIcon.bounds.height;
+        null != this.currentState &&
+          this.targetConnectImage ? (g = this.getIconPosition(this.selectedIcon, this.currentState), this.selectedIcon.bounds.x = g.x, this.selectedIcon.bounds.y = g.y) : (g = new mxRectangle(b.getGraphX() +
+            this.connectIconOffset.x, b.getGraphY() + this.connectIconOffset.y, g, h), this.selectedIcon.bounds = g);
+        this.selectedIcon.redraw()
+      }
+      if (null != this.edgeState) {
+        this.edgeState.absolutePoints = [null, null != this.currentState ? null : e];
+        this.graph.view.updateFixedTerminalPoint(this.edgeState, this.previous, !0, this.sourceConstraint);
+        null != this.currentState &&
+          (null == d && (d = this.graph.getConnectionConstraint(this.edgeState, this.previous, !1)), this.edgeState.setAbsoluteTerminalPoint(null, !1), this.graph.view.updateFixedTerminalPoint(this
+            .edgeState, this.currentState, !1, d));
+        f = null;
+        if (null != this.waypoints) {
+          f = [];
+          for (e = 0; e < this.waypoints.length; e++) d = this.waypoints[e].clone(), this.convertWaypoint(d), f[e] = d
         }
-    } else this.constraintHandler.reset()
+        this.graph.view.updatePoints(this.edgeState, f, this.previous, this.currentState);
+        this.graph.view.updateFloatingTerminalPoints(this.edgeState, this.previous, this.currentState);
+        e = this.edgeState.absolutePoints[this.edgeState.absolutePoints.length - 1];
+        f = this.edgeState.absolutePoints[0]
+      } else null != this.currentState && null == this.constraintHandler.currentConstraint && (g = this.getTargetPerimeterPoint(this.currentState, b), null != g && (e = g)), null == this.sourceConstraint &&
+        null != this.previous && (g = this.getSourcePerimeterPoint(this.previous, null != this.waypoints && 0 < this.waypoints.length ? this.waypoints[0] : e, b), null != g && (f = g));
+      if (null == this.currentState && this.movePreviewAway) {
+        g = f;
+        null != this.edgeState &&
+          2 < this.edgeState.absolutePoints.length && (d = this.edgeState.absolutePoints[this.edgeState.absolutePoints.length - 2], null != d && (g = d));
+        d = e.x - g.x;
+        g = e.y - g.y;
+        h = Math.sqrt(d * d + g * g);
+        if (0 == h) return;
+        e.x -= 4 * d / h;
+        e.y -= 4 * g / h
+      }
+      if (null == this.shape && (d = Math.abs(c.x - this.first.x), g = Math.abs(c.y - this.first.y), d > this.graph.tolerance || g > this.graph.tolerance)) this.shape = this.createShape(), this.updateCurrentState(
+        b);
+      null != this.shape && (null != this.edgeState ? this.shape.points = this.edgeState.absolutePoints : (c = [f], null != this.waypoints &&
+        (c = c.concat(this.waypoints)), c.push(e), this.shape.points = c), this.drawPreview());
+      mxEvent.consume(b.getEvent());
+      b.consume()
+    } else !this.isEnabled() || !this.graph.isEnabled() ? this.constraintHandler.reset() : this.previous != this.currentState && null == this.edgeState ? (this.destroyIcons(this.icons), this.icons =
+        null, null != this.currentState && null == this.error && (this.icons = this.createIcons(this.currentState), null == this.icons && (this.currentState.setCursor(mxConstants.CURSOR_CONNECT), b
+          .consume())), this.previous = this.currentState) :
+      this.previous == this.currentState && (null != this.currentState && null == this.icons && !this.graph.isMouseDown) && b.consume();
+    null != this.constraintHandler.currentConstraint && this.marker.reset();
+    if (!this.graph.isMouseDown && null != this.currentState && null != this.icons) {
+      c = !1;
+      f = b.getSource();
+      for (e = 0; e < this.icons.length && !c; e++) c = f == this.icons[e].node || f.parentNode == this.icons[e].node;
+      c || this.updateIcons(this.currentState, this.icons, b)
+    }
+  } else this.constraintHandler.reset()
 };
 mxConnectionHandler.prototype.getTargetPerimeterPoint = function(a, b) {
-    var c = null,
-        d = a.view,
-        e = d.getPerimeterFunction(a);
-    if (null != e) {
-        var f = null != this.waypoints && 0 < this.waypoints.length ? this.waypoints[this.waypoints.length - 1] : new mxPoint(this.previous.getCenterX(), this.previous.getCenterY()),
-            d = e(d.getPerimeterBounds(a), this.edgeState, f, !1);
-        null != d && (c = d)
-    } else c = new mxPoint(a.getCenterX(), a.getCenterY());
-    return c
+  var c = null,
+    d = a.view,
+    e = d.getPerimeterFunction(a);
+  if (null != e) {
+    var f = null != this.waypoints && 0 < this.waypoints.length ? this.waypoints[this.waypoints.length - 1] : new mxPoint(this.previous.getCenterX(), this.previous.getCenterY()),
+      d = e(d.getPerimeterBounds(a), this.edgeState, f, !1);
+    null != d && (c = d)
+  } else c = new mxPoint(a.getCenterX(), a.getCenterY());
+  return c
 };
 mxConnectionHandler.prototype.getSourcePerimeterPoint = function(a, b, c) {
-    c = null;
-    var d = a.view,
-        e = d.getPerimeterFunction(a),
-        f = new mxPoint(a.getCenterX(), a.getCenterY());
-    if (null != e) {
-        var g = mxUtils.getValue(a.style, mxConstants.STYLE_ROTATION, 0),
-            h = -g * (Math.PI / 180);
-        0 != g && (b = mxUtils.getRotatedPoint(new mxPoint(b.x, b.y), Math.cos(h), Math.sin(h), f));
-        a = e(d.getPerimeterBounds(a), a, b, !1);
-        null != a && (0 != g && (a = mxUtils.getRotatedPoint(new mxPoint(a.x, a.y), Math.cos(-h), Math.sin(-h), f)), c = a)
-    } else c = f;
-    return c
+  c = null;
+  var d = a.view,
+    e = d.getPerimeterFunction(a),
+    f = new mxPoint(a.getCenterX(), a.getCenterY());
+  if (null != e) {
+    var g = mxUtils.getValue(a.style, mxConstants.STYLE_ROTATION, 0),
+      h = -g * (Math.PI / 180);
+    0 != g && (b = mxUtils.getRotatedPoint(new mxPoint(b.x, b.y), Math.cos(h), Math.sin(h), f));
+    a = e(d.getPerimeterBounds(a), a, b, !1);
+    null != a && (0 != g && (a = mxUtils.getRotatedPoint(new mxPoint(a.x, a.y), Math.cos(-h), Math.sin(-h), f)), c = a)
+  } else c = f;
+  return c
 };
 mxConnectionHandler.prototype.updateIcons = function(a, b, c) {};
 mxConnectionHandler.prototype.isStopEvent = function(a) {
-    return null != a.getState()
+  return null != a.getState()
 };
 mxConnectionHandler.prototype.addWaypointForEvent = function(a) {
-    var b = mxUtils.convertPoint(this.graph.container, a.getX(), a.getY()),
-        c = Math.abs(b.x - this.first.x),
-        b = Math.abs(b.y - this.first.y);
-    if (null != this.waypoints || 1 < this.mouseDownCounter && (c > this.graph.tolerance || b > this.graph.tolerance)) null == this.waypoints && (this.waypoints = []), c = this.graph.view.scale, b = new mxPoint(this.graph.snap(a.getGraphX() / c) * c, this.graph.snap(a.getGraphY() / c) * c), this.waypoints.push(b)
+  var b = mxUtils.convertPoint(this.graph.container, a.getX(), a.getY()),
+    c = Math.abs(b.x - this.first.x),
+    b = Math.abs(b.y - this.first.y);
+  if (null != this.waypoints || 1 < this.mouseDownCounter && (c > this.graph.tolerance || b > this.graph.tolerance)) null == this.waypoints && (this.waypoints = []), c = this.graph.view.scale, b =
+    new mxPoint(this.graph.snap(a.getGraphX() / c) * c, this.graph.snap(a.getGraphY() / c) * c), this.waypoints.push(b)
 };
 mxConnectionHandler.prototype.mouseUp = function(a, b) {
-    if (!b.isConsumed() && this.isConnecting()) {
-        if (this.waypointsEnabled && !this.isStopEvent(b)) {
-            this.addWaypointForEvent(b);
-            b.consume();
-            return
-        }
-        if (null == this.error) {
-            var c = null != this.previous ? this.previous.cell : null,
-                d = null;
-            null != this.constraintHandler.currentConstraint && null != this.constraintHandler.currentFocus && (d = this.constraintHandler.currentFocus.cell);
-            null == d && this.marker.hasValidState() && (d = this.marker.validState.cell);
-            this.connect(c, d, b.getEvent(),
-                b.getCell())
-        } else null != this.previous && (null != this.marker.validState && this.previous.cell == this.marker.validState.cell) && this.graph.selectCellForEvent(this.marker.source, evt), 0 < this.error.length && this.graph.validationAlert(this.error);
-        this.destroyIcons(this.icons);
-        b.consume()
-    }
-    null != this.first && this.reset();
-    this.tapAndHoldValid = this.tapAndHoldInProgress = !1
+  if (!b.isConsumed() && this.isConnecting()) {
+    if (this.waypointsEnabled && !this.isStopEvent(b)) {
+      this.addWaypointForEvent(b);
+      b.consume();
+      return
+    }
+    if (null == this.error) {
+      var c = null != this.previous ? this.previous.cell : null,
+        d = null;
+      null != this.constraintHandler.currentConstraint && null != this.constraintHandler.currentFocus && (d = this.constraintHandler.currentFocus.cell);
+      null == d && this.marker.hasValidState() && (d = this.marker.validState.cell);
+      this.connect(c, d, b.getEvent(),
+        b.getCell())
+    } else null != this.previous && (null != this.marker.validState && this.previous.cell == this.marker.validState.cell) && this.graph.selectCellForEvent(this.marker.source, evt), 0 < this.error.length &&
+      this.graph.validationAlert(this.error);
+    this.destroyIcons(this.icons);
+    b.consume()
+  }
+  null != this.first && this.reset();
+  this.tapAndHoldValid = this.tapAndHoldInProgress = !1
 };
 mxConnectionHandler.prototype.reset = function() {
-    null != this.shape && (this.shape.destroy(), this.shape = null);
-    this.destroyIcons(this.icons);
-    this.icons = null;
-    this.marker.reset();
-    this.constraintHandler.reset();
-    this.sourceConstraint = this.error = this.previous = this.edgeState = this.selectedIcon = null;
-    this.mouseDownCounter = 0;
-    this.icon = this.first = null;
-    this.fireEvent(new mxEventObject(mxEvent.RESET))
+  null != this.shape && (this.shape.destroy(), this.shape = null);
+  this.destroyIcons(this.icons);
+  this.icons = null;
+  this.marker.reset();
+  this.constraintHandler.reset();
+  this.sourceConstraint = this.error = this.previous = this.edgeState = this.selectedIcon = null;
+  this.mouseDownCounter = 0;
+  this.icon = this.first = null;
+  this.fireEvent(new mxEventObject(mxEvent.RESET))
 };
 mxConnectionHandler.prototype.drawPreview = function() {
-    var a = null == this.error;
-    this.shape.strokewidth = this.getEdgeWidth(a);
-    a = this.getEdgeColor(a);
-    this.shape.stroke = a;
-    this.shape.redraw()
+  var a = null == this.error;
+  this.shape.strokewidth = this.getEdgeWidth(a);
+  a = this.getEdgeColor(a);
+  this.shape.stroke = a;
+  this.shape.redraw()
 };
 mxConnectionHandler.prototype.getEdgeColor = function(a) {
-    return a ? mxConstants.VALID_COLOR : mxConstants.INVALID_COLOR
+  return a ? mxConstants.VALID_COLOR : mxConstants.INVALID_COLOR
 };
 mxConnectionHandler.prototype.getEdgeWidth = function(a) {
-    return a ? 3 : 1
+  return a ? 3 : 1
 };
 mxConnectionHandler.prototype.connect = function(a, b, c, d) {
-    if (null != b || this.isCreateTarget() || this.graph.allowDanglingEdges) {
-        var e = this.graph.getModel(),
-            f = null;
-        e.beginUpdate();
-        try {
-            if (null != a && (null == b && this.isCreateTarget()) && (b = this.createTargetVertex(c, a), null != b)) {
-                d = this.graph.getDropTarget([b], c, d);
-                if (null == d || !this.graph.getModel().isEdge(d)) {
-                    var g = this.graph.getView().getState(d);
-                    if (null != g) {
-                        var h = e.getGeometry(b);
-                        h.x -= g.origin.x;
-                        h.y -= g.origin.y
-                    }
-                } else d = this.graph.getDefaultParent();
-                this.graph.addCell(b,
-                    d)
-            }
-            var k = this.graph.getDefaultParent();
-            null != a && (null != b && e.getParent(a) == e.getParent(b) && e.getParent(e.getParent(a)) != e.getRoot()) && (k = e.getParent(a), null != a.geometry && a.geometry.relative && (null != b.geometry && b.geometry.relative) && (k = e.getParent(k)));
-            h = g = null;
-            null != this.edgeState && (g = this.edgeState.cell.value, h = this.edgeState.cell.style);
-            f = this.insertEdge(k, null, g, a, b, h);
-            if (null != f) {
-                this.graph.setConnectionConstraint(f, a, !0, this.sourceConstraint);
-                this.graph.setConnectionConstraint(f, b, !1, this.constraintHandler.currentConstraint);
-                null != this.edgeState && e.setGeometry(f, this.edgeState.cell.geometry);
-                var l = e.getGeometry(f);
-                null == l && (l = new mxGeometry, l.relative = !0, e.setGeometry(f, l));
-                if (null != this.waypoints && 0 < this.waypoints.length) {
-                    var m = this.graph.view.scale,
-                        n = this.graph.view.translate;
-                    l.points = [];
-                    for (a = 0; a < this.waypoints.length; a++) {
-                        var p = this.waypoints[a];
-                        l.points.push(new mxPoint(p.x / m - n.x, p.y / m - n.y))
-                    }
-                }
-                null == b && (p = this.graph.getPointForEvent(c, !1), p.x -= this.graph.panDx / this.graph.view.scale, p.y -= this.graph.panDy / this.graph.view.scale,
-                    l.setTerminalPoint(p, !1));
-                this.fireEvent(new mxEventObject(mxEvent.CONNECT, "cell", f, "event", c, "target", d))
-            }
-        } catch (q) {
-            mxLog.show(), mxLog.debug(q.message)
-        } finally {
-            e.endUpdate()
+  if (null != b || this.isCreateTarget() || this.graph.allowDanglingEdges) {
+    var e = this.graph.getModel(),
+      f = null;
+    e.beginUpdate();
+    try {
+      if (null != a && (null == b && this.isCreateTarget()) && (b = this.createTargetVertex(c, a), null != b)) {
+        d = this.graph.getDropTarget([b], c, d);
+        if (null == d || !this.graph.getModel().isEdge(d)) {
+          var g = this.graph.getView().getState(d);
+          if (null != g) {
+            var h = e.getGeometry(b);
+            h.x -= g.origin.x;
+            h.y -= g.origin.y
+          }
+        } else d = this.graph.getDefaultParent();
+        this.graph.addCell(b,
+          d)
+      }
+      var k = this.graph.getDefaultParent();
+      null != a && (null != b && e.getParent(a) == e.getParent(b) && e.getParent(e.getParent(a)) != e.getRoot()) && (k = e.getParent(a), null != a.geometry && a.geometry.relative && (null != b.geometry &&
+        b.geometry.relative) && (k = e.getParent(k)));
+      h = g = null;
+      null != this.edgeState && (g = this.edgeState.cell.value, h = this.edgeState.cell.style);
+      f = this.insertEdge(k, null, g, a, b, h);
+      if (null != f) {
+        this.graph.setConnectionConstraint(f, a, !0, this.sourceConstraint);
+        this.graph.setConnectionConstraint(f, b, !1, this.constraintHandler.currentConstraint);
+        null != this.edgeState && e.setGeometry(f, this.edgeState.cell.geometry);
+        var l = e.getGeometry(f);
+        null == l && (l = new mxGeometry, l.relative = !0, e.setGeometry(f, l));
+        if (null != this.waypoints && 0 < this.waypoints.length) {
+          var m = this.graph.view.scale,
+            n = this.graph.view.translate;
+          l.points = [];
+          for (a = 0; a < this.waypoints.length; a++) {
+            var p = this.waypoints[a];
+            l.points.push(new mxPoint(p.x / m - n.x, p.y / m - n.y))
+          }
         }
-        this.select && this.selectCells(f, b)
+        null == b && (p = this.graph.getPointForEvent(c, !1), p.x -= this.graph.panDx / this.graph.view.scale, p.y -= this.graph.panDy / this.graph.view.scale,
+          l.setTerminalPoint(p, !1));
+        this.fireEvent(new mxEventObject(mxEvent.CONNECT, "cell", f, "event", c, "target", d))
+      }
+    } catch (q) {
+      mxLog.show(), mxLog.debug(q.message)
+    } finally {
+      e.endUpdate()
     }
+    this.select && this.selectCells(f, b)
+  }
 };
 mxConnectionHandler.prototype.selectCells = function(a, b) {
-    this.graph.setSelectionCell(a)
+  this.graph.setSelectionCell(a)
 };
 mxConnectionHandler.prototype.insertEdge = function(a, b, c, d, e, f) {
-    if (null == this.factoryMethod) return this.graph.insertEdge(a, b, c, d, e, f);
-    b = this.createEdge(c, d, e, f);
-    return b = this.graph.addEdge(b, a, d, e)
+  if (null == this.factoryMethod) return this.graph.insertEdge(a, b, c, d, e, f);
+  b = this.createEdge(c, d, e, f);
+  return b = this.graph.addEdge(b, a, d, e)
 };
 mxConnectionHandler.prototype.createTargetVertex = function(a, b) {
-    for (var c = this.graph.getCellGeometry(b); null != c && c.relative;) b = this.graph.getModel().getParent(b), c = this.graph.getCellGeometry(b);
-    var d = this.graph.cloneCells([b])[0],
-        c = this.graph.getModel().getGeometry(d);
-    if (null != c) {
-        var e = this.graph.getPointForEvent(a);
-        c.x = this.graph.snap(e.x - c.width / 2) - this.graph.panDx / this.graph.view.scale;
-        c.y = this.graph.snap(e.y - c.height / 2) - this.graph.panDy / this.graph.view.scale;
-        if (null != this.first) {
-            var f = this.graph.view.getState(b);
-            if (null != f) {
-                var g = this.getAlignmentTolerance();
-                Math.abs(this.graph.snap(this.first.x) - this.graph.snap(e.x)) <= g ? c.x = f.x : Math.abs(this.graph.snap(this.first.y) - this.graph.snap(e.y)) <= g && (c.y = f.y)
-            }
-        }
-    }
-    return d
+  for (var c = this.graph.getCellGeometry(b); null != c && c.relative;) b = this.graph.getModel().getParent(b), c = this.graph.getCellGeometry(b);
+  var d = this.graph.cloneCells([b])[0],
+    c = this.graph.getModel().getGeometry(d);
+  if (null != c) {
+    var e = this.graph.getPointForEvent(a);
+    c.x = this.graph.snap(e.x - c.width / 2) - this.graph.panDx / this.graph.view.scale;
+    c.y = this.graph.snap(e.y - c.height / 2) - this.graph.panDy / this.graph.view.scale;
+    if (null != this.first) {
+      var f = this.graph.view.getState(b);
+      if (null != f) {
+        var g = this.getAlignmentTolerance();
+        Math.abs(this.graph.snap(this.first.x) - this.graph.snap(e.x)) <= g ? c.x = f.x : Math.abs(this.graph.snap(this.first.y) - this.graph.snap(e.y)) <= g && (c.y = f.y)
+      }
+    }
+  }
+  return d
 };
 mxConnectionHandler.prototype.getAlignmentTolerance = function() {
-    return this.graph.isGridEnabled() ? this.graph.gridSize : this.graph.tolerance
+  return this.graph.isGridEnabled() ? this.graph.gridSize : this.graph.tolerance
 };
 mxConnectionHandler.prototype.createEdge = function(a, b, c, d) {
-    var e = null;
-    null != this.factoryMethod && (e = this.factoryMethod(b, c, d));
-    null == e && (e = new mxCell(a || ""), e.setEdge(!0), e.setStyle(d), a = new mxGeometry, a.relative = !0, e.setGeometry(a));
-    return e
+  var e = null;
+  null != this.factoryMethod && (e = this.factoryMethod(b, c, d));
+  null == e && (e = new mxCell(a || ""), e.setEdge(!0), e.setStyle(d), a = new mxGeometry, a.relative = !0, e.setGeometry(a));
+  return e
 };
 mxConnectionHandler.prototype.destroy = function() {
-    this.graph.removeMouseListener(this);
-    null != this.shape && (this.shape.destroy(), this.shape = null);
-    null != this.marker && (this.marker.destroy(), this.marker = null);
-    null != this.constraintHandler && (this.constraintHandler.destroy(), this.constraintHandler = null);
-    null != this.changeHandler && (this.graph.getModel().removeListener(this.changeHandler), this.graph.getView().removeListener(this.changeHandler), this.changeHandler = null);
-    null != this.drillHandler && (this.graph.removeListener(this.drillHandler),
-        this.graph.getView().removeListener(this.drillHandler), this.drillHandler = null)
+  this.graph.removeMouseListener(this);
+  null != this.shape && (this.shape.destroy(), this.shape = null);
+  null != this.marker && (this.marker.destroy(), this.marker = null);
+  null != this.constraintHandler && (this.constraintHandler.destroy(), this.constraintHandler = null);
+  null != this.changeHandler && (this.graph.getModel().removeListener(this.changeHandler), this.graph.getView().removeListener(this.changeHandler), this.changeHandler = null);
+  null != this.drillHandler && (this.graph.removeListener(this.drillHandler),
+    this.graph.getView().removeListener(this.drillHandler), this.drillHandler = null)
 };
 
 function mxConstraintHandler(a) {
-    this.graph = a
+  this.graph = a
 }
 mxConstraintHandler.prototype.pointImage = new mxImage(mxClient.imageBasePath + "/point.gif", 5, 5);
 mxConstraintHandler.prototype.graph = null;
 mxConstraintHandler.prototype.enabled = !0;
 mxConstraintHandler.prototype.highlightColor = mxConstants.DEFAULT_VALID_COLOR;
 mxConstraintHandler.prototype.isEnabled = function() {
-    return this.enabled
+  return this.enabled
 };
 mxConstraintHandler.prototype.setEnabled = function(a) {
-    this.enabled = a
+  this.enabled = a
 };
 mxConstraintHandler.prototype.reset = function() {
-    if (null != this.focusIcons) {
-        for (var a = 0; a < this.focusIcons.length; a++) this.focusIcons[a].destroy();
-        this.focusIcons = null
-    }
-    null != this.focusHighlight && (this.focusHighlight.destroy(), this.focusHighlight = null);
-    this.focusPoints = this.currentFocus = this.currentPoint = this.currentFocusArea = this.currentConstraint = null
+  if (null != this.focusIcons) {
+    for (var a = 0; a < this.focusIcons.length; a++) this.focusIcons[a].destroy();
+    this.focusIcons = null
+  }
+  null != this.focusHighlight && (this.focusHighlight.destroy(), this.focusHighlight = null);
+  this.focusPoints = this.currentFocus = this.currentPoint = this.currentFocusArea = this.currentConstraint = null
 };
 mxConstraintHandler.prototype.getTolerance = function() {
-    return this.graph.getTolerance()
+  return this.graph.getTolerance()
 };
 mxConstraintHandler.prototype.getImageForConstraint = function(a, b, c) {
-    return this.pointImage
+  return this.pointImage
 };
 mxConstraintHandler.prototype.isEventIgnored = function(a, b) {
-    return !1
+  return !1
 };
 mxConstraintHandler.prototype.update = function(a, b) {
-    if (this.isEnabled() && !this.isEventIgnored(a)) {
-        var c = this.getTolerance(),
-            d = new mxRectangle(a.getGraphX() - c, a.getGraphY() - c, 2 * c, 2 * c),
-            e = null != a.getCell() ? this.graph.isCellConnectable(a.getCell()) : !1;
-        if (null == this.currentFocusArea || !mxUtils.intersects(this.currentFocusArea, d) || null != a.getState() && null != this.currentFocus && e)
-            if (this.currentFocusArea = null, a.getState() != this.currentFocus)
-                if (this.currentFocus = null, this.constraints = null != a.getState() && e ? this.graph.getAllConnectionConstraints(a.getState(),
-                        b) : null, null != this.constraints) {
-                    this.currentFocus = a.getState();
-                    this.currentFocusArea = new mxRectangle(a.getState().x, a.getState().y, a.getState().width, a.getState().height);
-                    if (null != this.focusIcons) {
-                        for (e = 0; e < this.focusIcons.length; e++) this.focusIcons[e].destroy();
-                        this.focusPoints = this.focusIcons = null
-                    }
-                    this.focusIcons = [];
-                    this.focusPoints = [];
-                    for (e = 0; e < this.constraints.length; e++) {
-                        var f = this.graph.getConnectionPoint(a.getState(), this.constraints[e]),
-                            g = this.getImageForConstraint(a.getState(), this.constraints[e],
-                                f),
-                            h = g.src,
-                            g = new mxRectangle(f.x - g.width / 2, f.y - g.height / 2, g.width, g.height),
-                            g = new mxImageShape(g, h);
-                        g.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_MIXEDHTML : mxConstants.DIALECT_SVG;
-                        g.preserveImageAspect = !1;
-                        g.init(this.graph.getView().getOverlayPane());
-                        null != g.node.previousSibling && g.node.parentNode.insertBefore(g.node, g.node.parentNode.firstChild);
-                        h = mxUtils.bind(this, function() {
-                            return null != this.currentFocus ? this.currentFocus : a.getState()
-                        });
-                        g.redraw();
-                        mxEvent.redirectMouseEvents(g.node,
-                            this.graph, h);
-                        this.currentFocusArea.add(g.bounds);
-                        this.focusIcons.push(g);
-                        this.focusPoints.push(f)
-                    }
-                    this.currentFocusArea.grow(c)
-                } else if (null != this.focusIcons) {
-            null != this.focusHighlight && (this.focusHighlight.destroy(), this.focusHighlight = null);
+  if (this.isEnabled() && !this.isEventIgnored(a)) {
+    var c = this.getTolerance(),
+      d = new mxRectangle(a.getGraphX() - c, a.getGraphY() - c, 2 * c, 2 * c),
+      e = null != a.getCell() ? this.graph.isCellConnectable(a.getCell()) : !1;
+    if (null == this.currentFocusArea || !mxUtils.intersects(this.currentFocusArea, d) || null != a.getState() && null != this.currentFocus && e)
+      if (this.currentFocusArea = null, a.getState() != this.currentFocus)
+        if (this.currentFocus = null, this.constraints = null != a.getState() && e ? this.graph.getAllConnectionConstraints(a.getState(),
+            b) : null, null != this.constraints) {
+          this.currentFocus = a.getState();
+          this.currentFocusArea = new mxRectangle(a.getState().x, a.getState().y, a.getState().width, a.getState().height);
+          if (null != this.focusIcons) {
             for (e = 0; e < this.focusIcons.length; e++) this.focusIcons[e].destroy();
             this.focusPoints = this.focusIcons = null
+          }
+          this.focusIcons = [];
+          this.focusPoints = [];
+          for (e = 0; e < this.constraints.length; e++) {
+            var f = this.graph.getConnectionPoint(a.getState(), this.constraints[e]),
+              g = this.getImageForConstraint(a.getState(), this.constraints[e],
+                f),
+              h = g.src,
+              g = new mxRectangle(f.x - g.width / 2, f.y - g.height / 2, g.width, g.height),
+              g = new mxImageShape(g, h);
+            g.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_MIXEDHTML : mxConstants.DIALECT_SVG;
+            g.preserveImageAspect = !1;
+            g.init(this.graph.getView().getOverlayPane());
+            null != g.node.previousSibling && g.node.parentNode.insertBefore(g.node, g.node.parentNode.firstChild);
+            h = mxUtils.bind(this, function() {
+              return null != this.currentFocus ? this.currentFocus : a.getState()
+            });
+            g.redraw();
+            mxEvent.redirectMouseEvents(g.node,
+              this.graph, h);
+            this.currentFocusArea.add(g.bounds);
+            this.focusIcons.push(g);
+            this.focusPoints.push(f)
+          }
+          this.currentFocusArea.grow(c)
+        } else if (null != this.focusIcons) {
+      null != this.focusHighlight && (this.focusHighlight.destroy(), this.focusHighlight = null);
+      for (e = 0; e < this.focusIcons.length; e++) this.focusIcons[e].destroy();
+      this.focusPoints = this.focusIcons = null
+    }
+    this.currentPoint = this.currentConstraint = null;
+    if (null != this.focusIcons && null != this.constraints && (null == a.getState() || this.currentFocus == a.getState()))
+      for (e =
+        0; e < this.focusIcons.length; e++)
+        if (mxUtils.intersects(this.focusIcons[e].bounds, d)) {
+          this.currentConstraint = this.constraints[e];
+          this.currentPoint = this.focusPoints[e];
+          c = this.focusIcons[e].bounds.clone();
+          c.grow(mxClient.IS_IE ? 3 : 2);
+          mxClient.IS_IE && (c.width -= 1, c.height -= 1);
+          null == this.focusHighlight ? (c = new mxRectangleShape(c, null, this.highlightColor, 3), c.dialect = this.graph.dialect == mxConstants.DIALECT_SVG ? mxConstants.DIALECT_SVG : mxConstants
+            .DIALECT_VML, c.init(this.graph.getView().getOverlayPane()), this.focusHighlight =
+            c, h = mxUtils.bind(this, function() {
+              return null != this.currentFocus ? this.currentFocus : a.getState()
+            }), mxEvent.redirectMouseEvents(c.node, this.graph, h)) : (this.focusHighlight.bounds = c, this.focusHighlight.redraw());
+          break
         }
-        this.currentPoint = this.currentConstraint = null;
-        if (null != this.focusIcons && null != this.constraints && (null == a.getState() || this.currentFocus == a.getState()))
-            for (e =
-                0; e < this.focusIcons.length; e++)
-                if (mxUtils.intersects(this.focusIcons[e].bounds, d)) {
-                    this.currentConstraint = this.constraints[e];
-                    this.currentPoint = this.focusPoints[e];
-                    c = this.focusIcons[e].bounds.clone();
-                    c.grow(mxClient.IS_IE ? 3 : 2);
-                    mxClient.IS_IE && (c.width -= 1, c.height -= 1);
-                    null == this.focusHighlight ? (c = new mxRectangleShape(c, null, this.highlightColor, 3), c.dialect = this.graph.dialect == mxConstants.DIALECT_SVG ? mxConstants.DIALECT_SVG : mxConstants.DIALECT_VML, c.init(this.graph.getView().getOverlayPane()), this.focusHighlight =
-                        c, h = mxUtils.bind(this, function() {
-                            return null != this.currentFocus ? this.currentFocus : a.getState()
-                        }), mxEvent.redirectMouseEvents(c.node, this.graph, h)) : (this.focusHighlight.bounds = c, this.focusHighlight.redraw());
-                    break
-                }
-        null == this.currentConstraint && null != this.focusHighlight && (this.focusHighlight.destroy(), this.focusHighlight = null)
-    }
+    null == this.currentConstraint && null != this.focusHighlight && (this.focusHighlight.destroy(), this.focusHighlight = null)
+  }
 };
 mxConstraintHandler.prototype.destroy = function() {
-    this.reset()
+  this.reset()
 };
 
 function mxRubberband(a) {
-    null != a && (this.graph = a, this.graph.addMouseListener(this), this.panHandler = mxUtils.bind(this, function() {
-        this.repaint()
-    }), this.graph.addListener(mxEvent.PAN, this.panHandler), mxClient.IS_IE && mxEvent.addListener(window, "unload", mxUtils.bind(this, function() {
-        this.destroy()
-    })))
+  null != a && (this.graph = a, this.graph.addMouseListener(this), this.panHandler = mxUtils.bind(this, function() {
+    this.repaint()
+  }), this.graph.addListener(mxEvent.PAN, this.panHandler), mxClient.IS_IE && mxEvent.addListener(window, "unload", mxUtils.bind(this, function() {
+    this.destroy()
+  })))
 }
 mxRubberband.prototype.defaultOpacity = 20;
 mxRubberband.prototype.enabled = !0;
@@ -15498,100 +15788,100 @@ mxRubberband.prototype.sharedDiv = null;
 mxRubberband.prototype.currentX = 0;
 mxRubberband.prototype.currentY = 0;
 mxRubberband.prototype.isEnabled = function() {
-    return this.enabled
+  return this.enabled
 };
 mxRubberband.prototype.setEnabled = function(a) {
-    this.enabled = a
+  this.enabled = a
 };
 mxRubberband.prototype.mouseDown = function(a, b) {
-    if (!b.isConsumed() && this.isEnabled() && this.graph.isEnabled() && (this.graph.isForceMarqueeEvent(b.getEvent()) || null == b.getState())) {
-        var c = mxUtils.getOffset(this.graph.container),
-            d = mxUtils.getScrollOrigin(this.graph.container);
-        d.x -= c.x;
-        d.y -= c.y;
-        this.start(b.getX() + d.x, b.getY() + d.y);
-        if (mxClient.IS_NS && !mxClient.IS_SF && !mxClient.IS_GC) {
-            var e = this.graph.container,
-                f = function(a) {
-                    a = new mxMouseEvent(a);
-                    var b = mxUtils.convertPoint(e, a.getX(), a.getY());
-                    a.graphX = b.x;
-                    a.graphY = b.y;
-                    return a
-                };
-            this.dragHandler = mxUtils.bind(this, function(a) {
-                this.mouseMove(this.graph, f(a))
-            });
-            this.dropHandler = mxUtils.bind(this, function(a) {
-                this.mouseUp(this.graph, f(a))
-            });
-            mxEvent.addListener(document, "mousemove", this.dragHandler);
-            mxEvent.addListener(document, "mouseup", this.dropHandler)
-        }
-        b.consume(!1)
-    }
+  if (!b.isConsumed() && this.isEnabled() && this.graph.isEnabled() && (this.graph.isForceMarqueeEvent(b.getEvent()) || null == b.getState())) {
+    var c = mxUtils.getOffset(this.graph.container),
+      d = mxUtils.getScrollOrigin(this.graph.container);
+    d.x -= c.x;
+    d.y -= c.y;
+    this.start(b.getX() + d.x, b.getY() + d.y);
+    if (mxClient.IS_NS && !mxClient.IS_SF && !mxClient.IS_GC) {
+      var e = this.graph.container,
+        f = function(a) {
+          a = new mxMouseEvent(a);
+          var b = mxUtils.convertPoint(e, a.getX(), a.getY());
+          a.graphX = b.x;
+          a.graphY = b.y;
+          return a
+        };
+      this.dragHandler = mxUtils.bind(this, function(a) {
+        this.mouseMove(this.graph, f(a))
+      });
+      this.dropHandler = mxUtils.bind(this, function(a) {
+        this.mouseUp(this.graph, f(a))
+      });
+      mxEvent.addListener(document, "mousemove", this.dragHandler);
+      mxEvent.addListener(document, "mouseup", this.dropHandler)
+    }
+    b.consume(!1)
+  }
 };
 mxRubberband.prototype.start = function(a, b) {
-    this.first = new mxPoint(a, b)
+  this.first = new mxPoint(a, b)
 };
 mxRubberband.prototype.mouseMove = function(a, b) {
-    if (!b.isConsumed() && null != this.first) {
-        var c = mxUtils.getScrollOrigin(this.graph.container),
-            d = mxUtils.getOffset(this.graph.container);
-        c.x -= d.x;
-        c.y -= d.y;
-        var d = b.getX() + c.x,
-            c = b.getY() + c.y,
-            e = this.first.x - d,
-            f = this.first.y - c,
-            g = this.graph.tolerance;
-        if (null != this.div || Math.abs(e) > g || Math.abs(f) > g) null == this.div && (this.div = this.createShape()), mxUtils.clearSelection(), this.update(d, c), b.consume()
-    }
+  if (!b.isConsumed() && null != this.first) {
+    var c = mxUtils.getScrollOrigin(this.graph.container),
+      d = mxUtils.getOffset(this.graph.container);
+    c.x -= d.x;
+    c.y -= d.y;
+    var d = b.getX() + c.x,
+      c = b.getY() + c.y,
+      e = this.first.x - d,
+      f = this.first.y - c,
+      g = this.graph.tolerance;
+    if (null != this.div || Math.abs(e) > g || Math.abs(f) > g) null == this.div && (this.div = this.createShape()), mxUtils.clearSelection(), this.update(d, c), b.consume()
+  }
 };
 mxRubberband.prototype.createShape = function() {
-    null == this.sharedDiv && (this.sharedDiv = document.createElement("div"), this.sharedDiv.className = "mxRubberband", mxUtils.setOpacity(this.sharedDiv, this.defaultOpacity));
-    this.graph.container.appendChild(this.sharedDiv);
-    return this.sharedDiv
+  null == this.sharedDiv && (this.sharedDiv = document.createElement("div"), this.sharedDiv.className = "mxRubberband", mxUtils.setOpacity(this.sharedDiv, this.defaultOpacity));
+  this.graph.container.appendChild(this.sharedDiv);
+  return this.sharedDiv
 };
 mxRubberband.prototype.mouseUp = function(a, b) {
-    var c = null != this.div;
-    this.reset();
-    c && (c = new mxRectangle(this.x, this.y, this.width, this.height), this.graph.selectRegion(c, b.getEvent()), b.consume())
+  var c = null != this.div;
+  this.reset();
+  c && (c = new mxRectangle(this.x, this.y, this.width, this.height), this.graph.selectRegion(c, b.getEvent()), b.consume())
 };
 mxRubberband.prototype.reset = function() {
-    null != this.div && this.div.parentNode.removeChild(this.div);
-    null != this.dragHandler && (mxEvent.removeListener(document, "mousemove", this.dragHandler), this.dragHandler = null);
-    null != this.dropHandler && (mxEvent.removeListener(document, "mouseup", this.dropHandler), this.dropHandler = null);
-    this.currentY = this.currentX = 0;
-    this.div = this.first = null
+  null != this.div && this.div.parentNode.removeChild(this.div);
+  null != this.dragHandler && (mxEvent.removeListener(document, "mousemove", this.dragHandler), this.dragHandler = null);
+  null != this.dropHandler && (mxEvent.removeListener(document, "mouseup", this.dropHandler), this.dropHandler = null);
+  this.currentY = this.currentX = 0;
+  this.div = this.first = null
 };
 mxRubberband.prototype.update = function(a, b) {
-    this.currentX = a;
-    this.currentY = b;
-    this.repaint()
+  this.currentX = a;
+  this.currentY = b;
+  this.repaint()
 };
 mxRubberband.prototype.repaint = function() {
-    if (null != this.div) {
-        var a = this.currentX - this.graph.panDx,
-            b = this.currentY - this.graph.panDy;
-        this.x = Math.min(this.first.x, a);
-        this.y = Math.min(this.first.y, b);
-        this.width = Math.max(this.first.x, a) - this.x;
-        this.height = Math.max(this.first.y, b) - this.y;
-        a = mxClient.IS_VML ? this.graph.panDy : 0;
-        this.div.style.left = this.x + (mxClient.IS_VML ? this.graph.panDx : 0) + "px";
-        this.div.style.top = this.y + a + "px";
-        this.div.style.width = Math.max(1, this.width) + "px";
-        this.div.style.height = Math.max(1,
-            this.height) + "px"
-    }
+  if (null != this.div) {
+    var a = this.currentX - this.graph.panDx,
+      b = this.currentY - this.graph.panDy;
+    this.x = Math.min(this.first.x, a);
+    this.y = Math.min(this.first.y, b);
+    this.width = Math.max(this.first.x, a) - this.x;
+    this.height = Math.max(this.first.y, b) - this.y;
+    a = mxClient.IS_VML ? this.graph.panDy : 0;
+    this.div.style.left = this.x + (mxClient.IS_VML ? this.graph.panDx : 0) + "px";
+    this.div.style.top = this.y + a + "px";
+    this.div.style.width = Math.max(1, this.width) + "px";
+    this.div.style.height = Math.max(1,
+      this.height) + "px"
+  }
 };
 mxRubberband.prototype.destroy = function() {
-    this.destroyed || (this.destroyed = !0, this.graph.removeMouseListener(this), this.graph.removeListener(this.panHandler), this.reset(), null != this.sharedDiv && (this.sharedDiv = null))
+  this.destroyed || (this.destroyed = !0, this.graph.removeMouseListener(this), this.graph.removeListener(this.panHandler), this.reset(), null != this.sharedDiv && (this.sharedDiv = null))
 };
 
 function mxVertexHandler(a) {
-    null != a && (this.state = a, this.init())
+  null != a && (this.state = a, this.init())
 }
 mxVertexHandler.prototype.graph = null;
 mxVertexHandler.prototype.state = null;
@@ -15603,317 +15893,329 @@ mxVertexHandler.prototype.tolerance = 0;
 mxVertexHandler.prototype.rotationEnabled = !1;
 mxVertexHandler.prototype.rotationRaster = !0;
 mxVertexHandler.prototype.init = function() {
-    this.graph = this.state.view.graph;
-    this.selectionBounds = this.getSelectionBounds(this.state);
-    this.bounds = new mxRectangle(this.selectionBounds.x, this.selectionBounds.y, this.selectionBounds.width, this.selectionBounds.height);
-    this.selectionBorder = this.createSelectionShape(this.bounds);
-    this.selectionBorder.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_VML : mxConstants.DIALECT_SVG;
-    this.selectionBorder.pointerEvents = !1;
-    this.selectionBorder.init(this.graph.getView().getOverlayPane());
-    this.graph.isCellMovable(this.state.cell) && (this.selectionBorder.node.style.cursor = mxConstants.CURSOR_MOVABLE_VERTEX);
-    mxEvent.redirectMouseEvents(this.selectionBorder.node, this.graph, this.state);
-    if (0 >= mxGraphHandler.prototype.maxCells || this.graph.getSelectionCount() < mxGraphHandler.prototype.maxCells) {
-        var a = this.graph.isCellResizable(this.state.cell);
-        this.sizers = [];
-        if (a || this.graph.isLabelMovable(this.state.cell) && 2 <= this.state.width && 2 <= this.state.height) {
-            var b = 0;
-            a && (this.singleSizer || (this.sizers.push(this.createSizer("nw-resize",
-                b++)), this.sizers.push(this.createSizer("n-resize", b++)), this.sizers.push(this.createSizer("ne-resize", b++)), this.sizers.push(this.createSizer("w-resize", b++)), this.sizers.push(this.createSizer("e-resize", b++)), this.sizers.push(this.createSizer("sw-resize", b++)), this.sizers.push(this.createSizer("s-resize", b++))), this.sizers.push(this.createSizer("se-resize", b++)));
-            a = this.graph.model.getGeometry(this.state.cell);
-            null != a && (!a.relative && !this.graph.isSwimlane(this.state.cell) && this.graph.isLabelMovable(this.state.cell)) &&
-                (this.labelShape = this.createSizer(mxConstants.CURSOR_LABEL_HANDLE, mxEvent.LABEL_HANDLE, mxConstants.LABEL_HANDLE_SIZE, mxConstants.LABEL_HANDLE_FILLCOLOR), this.sizers.push(this.labelShape))
-        } else this.graph.isCellMovable(this.state.cell) && (!this.graph.isCellResizable(this.state.cell) && 2 > this.state.width && 2 > this.state.height) && (this.labelShape = this.createSizer(mxConstants.CURSOR_MOVABLE_VERTEX, null, null, mxConstants.LABEL_HANDLE_FILLCOLOR), this.sizers.push(this.labelShape))
-    }
-    if (this.rotationEnabled && (0 >=
-            mxGraphHandler.prototype.maxCells || this.graph.getSelectionCount() < mxGraphHandler.prototype.maxCells)) this.rotationShape = this.createSizer("pointer", mxEvent.ROTATION_HANDLE, mxConstants.HANDLE_SIZE + 3, mxConstants.HANDLE_FILLCOLOR), this.sizers.push(this.rotationShape);
-    this.redraw()
+  this.graph = this.state.view.graph;
+  this.selectionBounds = this.getSelectionBounds(this.state);
+  this.bounds = new mxRectangle(this.selectionBounds.x, this.selectionBounds.y, this.selectionBounds.width, this.selectionBounds.height);
+  this.selectionBorder = this.createSelectionShape(this.bounds);
+  this.selectionBorder.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_VML : mxConstants.DIALECT_SVG;
+  this.selectionBorder.pointerEvents = !1;
+  this.selectionBorder.init(this.graph.getView().getOverlayPane());
+  this.graph.isCellMovable(this.state.cell) && (this.selectionBorder.node.style.cursor = mxConstants.CURSOR_MOVABLE_VERTEX);
+  mxEvent.redirectMouseEvents(this.selectionBorder.node, this.graph, this.state);
+  if (0 >= mxGraphHandler.prototype.maxCells || this.graph.getSelectionCount() < mxGraphHandler.prototype.maxCells) {
+    var a = this.graph.isCellResizable(this.state.cell);
+    this.sizers = [];
+    if (a || this.graph.isLabelMovable(this.state.cell) && 2 <= this.state.width && 2 <= this.state.height) {
+      var b = 0;
+      a && (this.singleSizer || (this.sizers.push(this.createSizer("nw-resize",
+        b++)), this.sizers.push(this.createSizer("n-resize", b++)), this.sizers.push(this.createSizer("ne-resize", b++)), this.sizers.push(this.createSizer("w-resize", b++)), this.sizers.push(
+        this.createSizer("e-resize", b++)), this.sizers.push(this.createSizer("sw-resize", b++)), this.sizers.push(this.createSizer("s-resize", b++))), this.sizers.push(this.createSizer(
+        "se-resize", b++)));
+      a = this.graph.model.getGeometry(this.state.cell);
+      null != a && (!a.relative && !this.graph.isSwimlane(this.state.cell) && this.graph.isLabelMovable(this.state.cell)) &&
+        (this.labelShape = this.createSizer(mxConstants.CURSOR_LABEL_HANDLE, mxEvent.LABEL_HANDLE, mxConstants.LABEL_HANDLE_SIZE, mxConstants.LABEL_HANDLE_FILLCOLOR), this.sizers.push(this.labelShape))
+    } else this.graph.isCellMovable(this.state.cell) && (!this.graph.isCellResizable(this.state.cell) && 2 > this.state.width && 2 > this.state.height) && (this.labelShape = this.createSizer(
+      mxConstants.CURSOR_MOVABLE_VERTEX, null, null, mxConstants.LABEL_HANDLE_FILLCOLOR), this.sizers.push(this.labelShape))
+  }
+  if (this.rotationEnabled && (0 >=
+      mxGraphHandler.prototype.maxCells || this.graph.getSelectionCount() < mxGraphHandler.prototype.maxCells)) this.rotationShape = this.createSizer("pointer", mxEvent.ROTATION_HANDLE, mxConstants
+    .HANDLE_SIZE + 3, mxConstants.HANDLE_FILLCOLOR), this.sizers.push(this.rotationShape);
+  this.redraw()
 };
 mxVertexHandler.prototype.getSelectionBounds = function(a) {
-    return new mxRectangle(Math.round(a.x), Math.round(a.y), Math.round(a.width), Math.round(a.height))
+  return new mxRectangle(Math.round(a.x), Math.round(a.y), Math.round(a.width), Math.round(a.height))
 };
 mxVertexHandler.prototype.createSelectionShape = function(a) {
-    a = new mxRectangleShape(a, null, this.getSelectionColor());
-    a.strokewidth = this.getSelectionStrokeWidth();
-    a.isDashed = this.isSelectionDashed();
-    return a
+  a = new mxRectangleShape(a, null, this.getSelectionColor());
+  a.strokewidth = this.getSelectionStrokeWidth();
+  a.isDashed = this.isSelectionDashed();
+  return a
 };
 mxVertexHandler.prototype.getSelectionColor = function() {
-    return mxConstants.VERTEX_SELECTION_COLOR
+  return mxConstants.VERTEX_SELECTION_COLOR
 };
 mxVertexHandler.prototype.getSelectionStrokeWidth = function() {
-    return mxConstants.VERTEX_SELECTION_STROKEWIDTH
+  return mxConstants.VERTEX_SELECTION_STROKEWIDTH
 };
 mxVertexHandler.prototype.isSelectionDashed = function() {
-    return mxConstants.VERTEX_SELECTION_DASHED
+  return mxConstants.VERTEX_SELECTION_DASHED
 };
 mxVertexHandler.prototype.createSizer = function(a, b, c, d) {
-    c = c || mxConstants.HANDLE_SIZE;
-    c = new mxRectangle(0, 0, c, c);
-    d = this.createSizerShape(c, b, d);
-    d.isHtmlAllowed() && null != this.state.text && this.state.text.node.parentNode == this.graph.container ? (d.bounds.height -= 1, d.bounds.width -= 1, d.dialect = mxConstants.DIALECT_STRICTHTML, d.init(this.graph.container)) : (d.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_MIXEDHTML : mxConstants.DIALECT_SVG, d.init(this.graph.getView().getOverlayPane()));
-    mxEvent.redirectMouseEvents(d.node, this.graph, this.state);
-    this.graph.isEnabled() && (d.node.style.cursor = a);
-    this.isSizerVisible(b) || (d.node.style.visibility = "hidden");
-    return d
+  c = c || mxConstants.HANDLE_SIZE;
+  c = new mxRectangle(0, 0, c, c);
+  d = this.createSizerShape(c, b, d);
+  d.isHtmlAllowed() && null != this.state.text && this.state.text.node.parentNode == this.graph.container ? (d.bounds.height -= 1, d.bounds.width -= 1, d.dialect = mxConstants.DIALECT_STRICTHTML, d
+    .init(this.graph.container)) : (d.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_MIXEDHTML : mxConstants.DIALECT_SVG, d.init(this.graph.getView().getOverlayPane()));
+  mxEvent.redirectMouseEvents(d.node, this.graph, this.state);
+  this.graph.isEnabled() && (d.node.style.cursor = a);
+  this.isSizerVisible(b) || (d.node.style.visibility = "hidden");
+  return d
 };
 mxVertexHandler.prototype.isSizerVisible = function(a) {
-    return !0
+  return !0
 };
 mxVertexHandler.prototype.createSizerShape = function(a, b, c) {
-    return null != this.handleImage ? (a.width = this.handleImage.width, a.height = this.handleImage.height, new mxImageShape(a, this.handleImage.src)) : b == mxEvent.ROTATION_HANDLE ? new mxEllipse(a, c || mxConstants.HANDLE_FILLCOLOR, mxConstants.HANDLE_STROKECOLOR) : new mxRectangleShape(a, c || mxConstants.HANDLE_FILLCOLOR, mxConstants.HANDLE_STROKECOLOR)
+  return null != this.handleImage ? (a.width = this.handleImage.width, a.height = this.handleImage.height, new mxImageShape(a, this.handleImage.src)) : b == mxEvent.ROTATION_HANDLE ? new mxEllipse(
+    a, c || mxConstants.HANDLE_FILLCOLOR, mxConstants.HANDLE_STROKECOLOR) : new mxRectangleShape(a, c || mxConstants.HANDLE_FILLCOLOR, mxConstants.HANDLE_STROKECOLOR)
 };
 mxVertexHandler.prototype.moveSizerTo = function(a, b, c) {
-    null != a && (a.bounds.x = Math.round(b - a.bounds.width / 2), a.bounds.y = Math.round(c - a.bounds.height / 2), a.redraw())
+  null != a && (a.bounds.x = Math.round(b - a.bounds.width / 2), a.bounds.y = Math.round(c - a.bounds.height / 2), a.redraw())
 };
 mxVertexHandler.prototype.getHandleForEvent = function(a) {
-    if (a.isSource(this.rotationShape)) return mxEvent.ROTATION_HANDLE;
-    if (a.isSource(this.labelShape)) return mxEvent.LABEL_HANDLE;
-    if (null != this.sizers)
-        for (var b = this.tolerance, b = this.allowHandleBoundsCheck && (mxClient.IS_IE || 0 < b) ? new mxRectangle(a.getGraphX() - b, a.getGraphY() - b, 2 * b, 2 * b) : null, c = 0; c < this.sizers.length; c++)
-            if (a.isSource(this.sizers[c]) || null != b && mxUtils.intersects(this.sizers[c].bounds, b)) return c;
-    return null
+  if (a.isSource(this.rotationShape)) return mxEvent.ROTATION_HANDLE;
+  if (a.isSource(this.labelShape)) return mxEvent.LABEL_HANDLE;
+  if (null != this.sizers)
+    for (var b = this.tolerance, b = this.allowHandleBoundsCheck && (mxClient.IS_IE || 0 < b) ? new mxRectangle(a.getGraphX() - b, a.getGraphY() - b, 2 * b, 2 * b) : null, c = 0; c < this.sizers.length; c++)
+      if (a.isSource(this.sizers[c]) || null != b && mxUtils.intersects(this.sizers[c].bounds, b)) return c;
+  return null
 };
 mxVertexHandler.prototype.mouseDown = function(a, b) {
-    if (!b.isConsumed() && this.graph.isEnabled() && !this.graph.isForceMarqueeEvent(b.getEvent()) && (0 < this.tolerance || b.getState() == this.state)) {
-        var c = this.getHandleForEvent(b);
-        null != c && (this.start(b.getX(), b.getY(), c), b.consume())
-    }
+  if (!b.isConsumed() && this.graph.isEnabled() && !this.graph.isForceMarqueeEvent(b.getEvent()) && (0 < this.tolerance || b.getState() == this.state)) {
+    var c = this.getHandleForEvent(b);
+    null != c && (this.start(b.getX(), b.getY(), c), b.consume())
+  }
 };
 mxVertexHandler.prototype.start = function(a, b, c) {
-    a = mxUtils.convertPoint(this.graph.container, a, b);
-    this.startX = a.x;
-    this.startY = a.y;
-    this.index = c;
-    this.selectionBorder.node.style.display = c == mxEvent.ROTATION_HANDLE ? "inline" : "none";
-    this.preview = this.createSelectionShape(this.bounds);
-    !(mxClient.IS_SVG && 0 != Number(this.state.style[mxConstants.STYLE_ROTATION] || "0")) && null != this.state.text && this.state.text.node.parentNode == this.graph.container ? (this.preview.dialect = mxConstants.DIALECT_STRICTHTML, this.preview.init(this.graph.container)) :
-        (this.preview.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_VML : mxConstants.DIALECT_SVG, this.preview.init(this.graph.view.getOverlayPane()))
+  a = mxUtils.convertPoint(this.graph.container, a, b);
+  this.startX = a.x;
+  this.startY = a.y;
+  this.index = c;
+  this.selectionBorder.node.style.display = c == mxEvent.ROTATION_HANDLE ? "inline" : "none";
+  this.preview = this.createSelectionShape(this.bounds);
+  !(mxClient.IS_SVG && 0 != Number(this.state.style[mxConstants.STYLE_ROTATION] || "0")) && null != this.state.text && this.state.text.node.parentNode == this.graph.container ? (this.preview.dialect =
+      mxConstants.DIALECT_STRICTHTML, this.preview.init(this.graph.container)) :
+    (this.preview.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_VML : mxConstants.DIALECT_SVG, this.preview.init(this.graph.view.getOverlayPane()))
 };
 mxVertexHandler.prototype.mouseMove = function(a, b) {
-    if (!b.isConsumed() && null != this.index) {
-        var c = new mxPoint(b.getGraphX(), b.getGraphY()),
-            d = this.graph.isGridEnabledEvent(b.getEvent()),
-            e = this.graph.getView().scale;
-        if (this.index == mxEvent.LABEL_HANDLE) d && (c.x = this.graph.snap(c.x / e) * e, c.y = this.graph.snap(c.y / e) * e), this.moveSizerTo(this.sizers[this.sizers.length - 1], c.x, c.y);
-        else if (this.index == mxEvent.ROTATION_HANDLE) {
-            var f = this.state.x + this.state.width / 2 - c.x,
-                g = this.state.y + this.state.height / 2 - c.y;
-            this.currentAlpha =
-                0 != f ? 180 * Math.atan(g / f) / Math.PI + 90 : 0 > g ? 180 : 0;
-            0 < f && (this.currentAlpha -= 180);
-            this.rotationRaster && (f = c.x - this.state.getCenterX(), g = c.y - this.state.getCenterY(), f = Math.abs(Math.sqrt(f * f + g * g) - this.state.height / 2 - 20), f = Math.max(1, 5 * Math.min(3, Math.max(0, Math.round(80 / Math.abs(f))))), this.currentAlpha = Math.round(this.currentAlpha / f) * f);
-            this.selectionBorder.rotation = this.currentAlpha;
-            this.selectionBorder.redraw()
-        } else {
-            var h = mxUtils.toRadians(this.state.style[mxConstants.STYLE_ROTATION] || "0"),
-                k = Math.cos(-h),
-                l = Math.sin(-h),
-                m = new mxPoint(this.state.getCenterX(), this.state.getCenterY()),
-                f = c.x - this.startX,
-                g = c.y - this.startY,
-                c = this.graph.view.translate,
-                n = l * f + k * g,
-                f = k * f - l * g;
-            this.bounds = this.union(this.selectionBounds, f, n, this.index, d, e, c);
-            k = Math.cos(h);
-            l = Math.sin(h);
-            g = new mxPoint(this.bounds.getCenterX(), this.bounds.getCenterY());
-            f = g.x - m.x;
-            g = g.y - m.y;
-            m = l * f + k * g - g;
-            this.bounds.x += k * f - l * g - f;
-            this.bounds.y += m;
-            this.drawPreview()
-        }
-        b.consume()
-    } else null != this.getHandleForEvent(b) && b.consume(!1)
+  if (!b.isConsumed() && null != this.index) {
+    var c = new mxPoint(b.getGraphX(), b.getGraphY()),
+      d = this.graph.isGridEnabledEvent(b.getEvent()),
+      e = this.graph.getView().scale;
+    if (this.index == mxEvent.LABEL_HANDLE) d && (c.x = this.graph.snap(c.x / e) * e, c.y = this.graph.snap(c.y / e) * e), this.moveSizerTo(this.sizers[this.sizers.length - 1], c.x, c.y);
+    else if (this.index == mxEvent.ROTATION_HANDLE) {
+      var f = this.state.x + this.state.width / 2 - c.x,
+        g = this.state.y + this.state.height / 2 - c.y;
+      this.currentAlpha =
+        0 != f ? 180 * Math.atan(g / f) / Math.PI + 90 : 0 > g ? 180 : 0;
+      0 < f && (this.currentAlpha -= 180);
+      this.rotationRaster && (f = c.x - this.state.getCenterX(), g = c.y - this.state.getCenterY(), f = Math.abs(Math.sqrt(f * f + g * g) - this.state.height / 2 - 20), f = Math.max(1, 5 * Math.min(
+        3, Math.max(0, Math.round(80 / Math.abs(f))))), this.currentAlpha = Math.round(this.currentAlpha / f) * f);
+      this.selectionBorder.rotation = this.currentAlpha;
+      this.selectionBorder.redraw()
+    } else {
+      var h = mxUtils.toRadians(this.state.style[mxConstants.STYLE_ROTATION] || "0"),
+        k = Math.cos(-h),
+        l = Math.sin(-h),
+        m = new mxPoint(this.state.getCenterX(), this.state.getCenterY()),
+        f = c.x - this.startX,
+        g = c.y - this.startY,
+        c = this.graph.view.translate,
+        n = l * f + k * g,
+        f = k * f - l * g;
+      this.bounds = this.union(this.selectionBounds, f, n, this.index, d, e, c);
+      k = Math.cos(h);
+      l = Math.sin(h);
+      g = new mxPoint(this.bounds.getCenterX(), this.bounds.getCenterY());
+      f = g.x - m.x;
+      g = g.y - m.y;
+      m = l * f + k * g - g;
+      this.bounds.x += k * f - l * g - f;
+      this.bounds.y += m;
+      this.drawPreview()
+    }
+    b.consume()
+  } else null != this.getHandleForEvent(b) && b.consume(!1)
 };
 mxVertexHandler.prototype.mouseUp = function(a, b) {
-    if (!b.isConsumed() && null != this.index && null != this.state) {
-        var c = new mxPoint(b.getGraphX(), b.getGraphY());
-        this.graph.getModel().beginUpdate();
-        try {
-            if (this.index == mxEvent.ROTATION_HANDLE) null != this.currentAlpha && this.rotateCell(this.state.cell, this.currentAlpha - (this.state.style[mxConstants.STYLE_ROTATION] || 0));
-            else {
-                var d = this.graph.isGridEnabledEvent(b.getEvent()),
-                    e = mxUtils.toRadians(this.state.style[mxConstants.STYLE_ROTATION] || "0"),
-                    f = Math.cos(-e),
-                    g = Math.sin(-e),
-                    h = c.x - this.startX,
-                    k = c.y - this.startY,
-                    c = g * h + f * k,
-                    h = f * h - g * k,
-                    k = c,
-                    l = this.graph.view.scale;
-                this.resizeCell(this.state.cell, h / l, k / l, this.index, d)
-            }
-        } finally {
-            this.graph.getModel().endUpdate()
-        }
-        this.reset();
-        b.consume()
+  if (!b.isConsumed() && null != this.index && null != this.state) {
+    var c = new mxPoint(b.getGraphX(), b.getGraphY());
+    this.graph.getModel().beginUpdate();
+    try {
+      if (this.index == mxEvent.ROTATION_HANDLE) null != this.currentAlpha && this.rotateCell(this.state.cell, this.currentAlpha - (this.state.style[mxConstants.STYLE_ROTATION] || 0));
+      else {
+        var d = this.graph.isGridEnabledEvent(b.getEvent()),
+          e = mxUtils.toRadians(this.state.style[mxConstants.STYLE_ROTATION] || "0"),
+          f = Math.cos(-e),
+          g = Math.sin(-e),
+          h = c.x - this.startX,
+          k = c.y - this.startY,
+          c = g * h + f * k,
+          h = f * h - g * k,
+          k = c,
+          l = this.graph.view.scale;
+        this.resizeCell(this.state.cell, h / l, k / l, this.index, d)
+      }
+    } finally {
+      this.graph.getModel().endUpdate()
     }
+    this.reset();
+    b.consume()
+  }
 };
 mxVertexHandler.prototype.rotateCell = function(a, b) {
-    var c = this.graph.getModel();
-    if (c.isVertex(a)) {
-        var d = a == this.state ? this.state : this.graph.view.getState(a);
-        null != d && this.graph.setCellStyles(mxConstants.STYLE_ROTATION, (d.style[mxConstants.STYLE_ROTATION] || 0) + b, [a]);
-        if (this.state.cell != a && (d = this.graph.getCellGeometry(a), null != d && !d.relative))
-            if (0 != b) {
-                var e = this.graph.getModel().getParent(a),
-                    f = this.graph.getCellGeometry(e);
-                if (!d.relative && null != f) {
-                    var g = mxUtils.toRadians(b),
-                        e = Math.cos(g),
-                        g = Math.sin(g),
-                        h = new mxPoint(d.getCenterX(), d.getCenterY()),
-                        f = new mxPoint(f.width / 2, f.height / 2),
-                        e = mxUtils.getRotatedPoint(h, e, g, f),
-                        d = d.clone();
-                    d.x = e.x - d.width / 2;
-                    d.y = e.y - d.height / 2;
-                    c.setGeometry(a, d)
-                }
-            } else d = d.clone(), d.x += dx, d.y += dy, c.setGeometry(a, d);
-        d = c.getChildCount(a);
-        for (e = 0; e < d; e++) this.rotateCell(c.getChildAt(a, e), b)
-    }
+  var c = this.graph.getModel();
+  if (c.isVertex(a)) {
+    var d = a == this.state ? this.state : this.graph.view.getState(a);
+    null != d && this.graph.setCellStyles(mxConstants.STYLE_ROTATION, (d.style[mxConstants.STYLE_ROTATION] || 0) + b, [a]);
+    if (this.state.cell != a && (d = this.graph.getCellGeometry(a), null != d && !d.relative))
+      if (0 != b) {
+        var e = this.graph.getModel().getParent(a),
+          f = this.graph.getCellGeometry(e);
+        if (!d.relative && null != f) {
+          var g = mxUtils.toRadians(b),
+            e = Math.cos(g),
+            g = Math.sin(g),
+            h = new mxPoint(d.getCenterX(), d.getCenterY()),
+            f = new mxPoint(f.width / 2, f.height / 2),
+            e = mxUtils.getRotatedPoint(h, e, g, f),
+            d = d.clone();
+          d.x = e.x - d.width / 2;
+          d.y = e.y - d.height / 2;
+          c.setGeometry(a, d)
+        }
+      } else d = d.clone(), d.x += dx, d.y += dy, c.setGeometry(a, d);
+    d = c.getChildCount(a);
+    for (e = 0; e < d; e++) this.rotateCell(c.getChildAt(a, e), b)
+  }
 };
 mxVertexHandler.prototype.reset = function() {
-    this.index = this.currentAlpha = null;
-    null != this.preview && (this.preview.destroy(), this.preview = null);
-    null != this.selectionBorder && (this.selectionBorder.node.style.display = "inline", this.selectionBounds = this.getSelectionBounds(this.state), this.bounds = new mxRectangle(this.selectionBounds.x, this.selectionBounds.y, this.selectionBounds.width, this.selectionBounds.height), this.drawPreview())
+  this.index = this.currentAlpha = null;
+  null != this.preview && (this.preview.destroy(), this.preview = null);
+  null != this.selectionBorder && (this.selectionBorder.node.style.display = "inline", this.selectionBounds = this.getSelectionBounds(this.state), this.bounds = new mxRectangle(this.selectionBounds
+    .x, this.selectionBounds.y, this.selectionBounds.width, this.selectionBounds.height), this.drawPreview())
 };
 mxVertexHandler.prototype.resizeCell = function(a, b, c, d, e) {
-    var f = this.graph.model.getGeometry(a);
-    if (null != f)
-        if (d == mxEvent.LABEL_HANDLE) d = this.graph.view.scale, b = (this.labelShape.bounds.getCenterX() - this.startX) / d, c = (this.labelShape.bounds.getCenterY() - this.startY) / d, f = f.clone(), null == f.offset ? f.offset = new mxPoint(b, c) : (f.offset.x += b, f.offset.y += c), this.graph.model.setGeometry(a, f);
-        else {
-            d = this.union(f, b, c, d, e, 1, new mxPoint(0, 0));
-            var g = mxUtils.toRadians(this.state.style[mxConstants.STYLE_ROTATION] || "0");
-            if (0 != g) {
-                b = d.getCenterX() - f.getCenterX();
-                c = d.getCenterY() - f.getCenterY();
-                e = Math.cos(g);
-                var h = Math.sin(g),
-                    g = e * b - h * c - b;
-                b = h * b + e * c - c;
-                c = d.x - f.x;
-                var k = d.y - f.y,
-                    l = e * c - h * k;
-                e = h * c + e * k;
-                d.x += g;
-                d.y += b;
-                if (!this.graph.isCellCollapsed(a) && (0 != g || 0 != b)) c = f.x - d.x + l, k = f.y - d.y + e, this.moveChildren(a, c, k)
-            }
-            this.graph.resizeCell(a, d)
-        }
+  var f = this.graph.model.getGeometry(a);
+  if (null != f)
+    if (d == mxEvent.LABEL_HANDLE) d = this.graph.view.scale, b = (this.labelShape.bounds.getCenterX() - this.startX) / d, c = (this.labelShape.bounds.getCenterY() - this.startY) / d, f = f.clone(),
+      null == f.offset ? f.offset = new mxPoint(b, c) : (f.offset.x += b, f.offset.y += c), this.graph.model.setGeometry(a, f);
+    else {
+      d = this.union(f, b, c, d, e, 1, new mxPoint(0, 0));
+      var g = mxUtils.toRadians(this.state.style[mxConstants.STYLE_ROTATION] || "0");
+      if (0 != g) {
+        b = d.getCenterX() - f.getCenterX();
+        c = d.getCenterY() - f.getCenterY();
+        e = Math.cos(g);
+        var h = Math.sin(g),
+          g = e * b - h * c - b;
+        b = h * b + e * c - c;
+        c = d.x - f.x;
+        var k = d.y - f.y,
+          l = e * c - h * k;
+        e = h * c + e * k;
+        d.x += g;
+        d.y += b;
+        if (!this.graph.isCellCollapsed(a) && (0 != g || 0 != b)) c = f.x - d.x + l, k = f.y - d.y + e, this.moveChildren(a, c, k)
+      }
+      this.graph.resizeCell(a, d)
+    }
 };
 mxVertexHandler.prototype.moveChildren = function(a, b, c) {
-    for (var d = this.graph.getModel(), e = d.getChildCount(a), f = 0; f < e; f++) {
-        var g = d.getChildAt(a, f);
-        if (d.isVertex(g)) {
-            var h = this.graph.getCellGeometry(g);
-            null != h && !h.relative && (h = h.clone(), h.x += b, h.y += c, d.setGeometry(g, h))
-        }
+  for (var d = this.graph.getModel(), e = d.getChildCount(a), f = 0; f < e; f++) {
+    var g = d.getChildAt(a, f);
+    if (d.isVertex(g)) {
+      var h = this.graph.getCellGeometry(g);
+      null != h && !h.relative && (h = h.clone(), h.x += b, h.y += c, d.setGeometry(g, h))
     }
+  }
 };
 mxVertexHandler.prototype.union = function(a, b, c, d, e, f, g) {
-    if (this.singleSizer) {
-        g = a.x + a.width + b;
-        var h = a.y + a.height + c;
-        e && (g = this.graph.snap(g / f) * f, h = this.graph.snap(h / f) * f);
-        f = new mxRectangle(a.x, a.y, 0, 0);
-        f.add(new mxRectangle(g, h, 0, 0));
-        return f
-    }
-    var h = a.x - g.x * f,
-        k = h + a.width,
-        l = a.y - g.y * f;
-    a = l + a.height;
-    4 < d ? (a += c, e && (a = this.graph.snap(a / f) * f)) : 3 > d && (l += c, e && (l = this.graph.snap(l / f) * f));
-    if (0 == d || 3 == d || 5 == d) h += b, e && (h = this.graph.snap(h / f) * f);
-    else if (2 == d || 4 == d || 7 == d) k += b, e && (k = this.graph.snap(k / f) * f);
-    e = k - h;
-    a -=
-        l;
-    0 > e && (h += e, e = Math.abs(e));
-    0 > a && (l += a, a = Math.abs(a));
-    return new mxRectangle(h + g.x * f, l + g.y * f, e, a)
+  if (this.singleSizer) {
+    g = a.x + a.width + b;
+    var h = a.y + a.height + c;
+    e && (g = this.graph.snap(g / f) * f, h = this.graph.snap(h / f) * f);
+    f = new mxRectangle(a.x, a.y, 0, 0);
+    f.add(new mxRectangle(g, h, 0, 0));
+    return f
+  }
+  var h = a.x - g.x * f,
+    k = h + a.width,
+    l = a.y - g.y * f;
+  a = l + a.height;
+  4 < d ? (a += c, e && (a = this.graph.snap(a / f) * f)) : 3 > d && (l += c, e && (l = this.graph.snap(l / f) * f));
+  if (0 == d || 3 == d || 5 == d) h += b, e && (h = this.graph.snap(h / f) * f);
+  else if (2 == d || 4 == d || 7 == d) k += b, e && (k = this.graph.snap(k / f) * f);
+  e = k - h;
+  a -=
+    l;
+  0 > e && (h += e, e = Math.abs(e));
+  0 > a && (l += a, a = Math.abs(a));
+  return new mxRectangle(h + g.x * f, l + g.y * f, e, a)
 };
 mxVertexHandler.prototype.redraw = function() {
-    this.selectionBounds = this.getSelectionBounds(this.state);
-    this.bounds = new mxRectangle(this.state.x, this.state.y, this.state.width, this.state.height);
-    var a = this.state;
-    if (null != this.sizers) {
-        var b = a.x + a.width,
-            c = a.y + a.height;
-        if (this.singleSizer) this.moveSizerTo(this.sizers[0], b, c);
-        else {
-            var d = a.x + a.width / 2,
-                e = a.y + a.height / 2;
-            if (1 < this.sizers.length) {
-                var f = mxUtils.toRadians(a.style[mxConstants.STYLE_ROTATION] || "0"),
-                    g = Math.cos(f),
-                    f = Math.sin(f),
-                    h = new mxPoint(a.getCenterX(),
-                        a.getCenterY()),
-                    k = mxUtils.getRotatedPoint(new mxPoint(a.x, a.y), g, f, h);
-                this.moveSizerTo(this.sizers[0], k.x, k.y);
-                k.x = d;
-                k.y = a.y;
-                k = mxUtils.getRotatedPoint(k, g, f, h);
-                this.moveSizerTo(this.sizers[1], k.x, k.y);
-                k.x = b;
-                k.y = a.y;
-                k = mxUtils.getRotatedPoint(k, g, f, h);
-                this.moveSizerTo(this.sizers[2], k.x, k.y);
-                k.x = a.x;
-                k.y = e;
-                k = mxUtils.getRotatedPoint(k, g, f, h);
-                this.moveSizerTo(this.sizers[3], k.x, k.y);
-                k.x = b;
-                k.y = e;
-                k = mxUtils.getRotatedPoint(k, g, f, h);
-                this.moveSizerTo(this.sizers[4], k.x, k.y);
-                k.x = a.x;
-                k.y = c;
-                k = mxUtils.getRotatedPoint(k,
-                    g, f, h);
-                this.moveSizerTo(this.sizers[5], k.x, k.y);
-                k.x = d;
-                k.y = c;
-                k = mxUtils.getRotatedPoint(k, g, f, h);
-                this.moveSizerTo(this.sizers[6], k.x, k.y);
-                k.x = b;
-                k.y = c;
-                k = mxUtils.getRotatedPoint(k, g, f, h);
-                this.moveSizerTo(this.sizers[7], k.x, k.y);
-                this.moveSizerTo(this.sizers[8], d + a.absoluteOffset.x, e + a.absoluteOffset.y)
-            } else 2 <= this.state.width && 2 <= this.state.height ? this.moveSizerTo(this.sizers[0], d + a.absoluteOffset.x, e + a.absoluteOffset.y) : this.moveSizerTo(this.sizers[0], a.x, a.y)
-        }
-    }
-    null != this.rotationShape && (f = mxUtils.toRadians(this.state.style[mxConstants.STYLE_ROTATION] ||
-        "0"), g = Math.cos(f), f = Math.sin(f), h = new mxPoint(this.state.getCenterX(), this.state.getCenterY()), k = mxUtils.getRotatedPoint(new mxPoint(a.x + a.width / 2, a.y - 16), g, f, h), this.moveSizerTo(this.rotationShape, k.x, k.y));
-    this.selectionBorder.rotation = Number(this.state.style[mxConstants.STYLE_ROTATION] || "0");
-    this.drawPreview()
+  this.selectionBounds = this.getSelectionBounds(this.state);
+  this.bounds = new mxRectangle(this.state.x, this.state.y, this.state.width, this.state.height);
+  var a = this.state;
+  if (null != this.sizers) {
+    var b = a.x + a.width,
+      c = a.y + a.height;
+    if (this.singleSizer) this.moveSizerTo(this.sizers[0], b, c);
+    else {
+      var d = a.x + a.width / 2,
+        e = a.y + a.height / 2;
+      if (1 < this.sizers.length) {
+        var f = mxUtils.toRadians(a.style[mxConstants.STYLE_ROTATION] || "0"),
+          g = Math.cos(f),
+          f = Math.sin(f),
+          h = new mxPoint(a.getCenterX(),
+            a.getCenterY()),
+          k = mxUtils.getRotatedPoint(new mxPoint(a.x, a.y), g, f, h);
+        this.moveSizerTo(this.sizers[0], k.x, k.y);
+        k.x = d;
+        k.y = a.y;
+        k = mxUtils.getRotatedPoint(k, g, f, h);
+        this.moveSizerTo(this.sizers[1], k.x, k.y);
+        k.x = b;
+        k.y = a.y;
+        k = mxUtils.getRotatedPoint(k, g, f, h);
+        this.moveSizerTo(this.sizers[2], k.x, k.y);
+        k.x = a.x;
+        k.y = e;
+        k = mxUtils.getRotatedPoint(k, g, f, h);
+        this.moveSizerTo(this.sizers[3], k.x, k.y);
+        k.x = b;
+        k.y = e;
+        k = mxUtils.getRotatedPoint(k, g, f, h);
+        this.moveSizerTo(this.sizers[4], k.x, k.y);
+        k.x = a.x;
+        k.y = c;
+        k = mxUtils.getRotatedPoint(k,
+          g, f, h);
+        this.moveSizerTo(this.sizers[5], k.x, k.y);
+        k.x = d;
+        k.y = c;
+        k = mxUtils.getRotatedPoint(k, g, f, h);
+        this.moveSizerTo(this.sizers[6], k.x, k.y);
+        k.x = b;
+        k.y = c;
+        k = mxUtils.getRotatedPoint(k, g, f, h);
+        this.moveSizerTo(this.sizers[7], k.x, k.y);
+        this.moveSizerTo(this.sizers[8], d + a.absoluteOffset.x, e + a.absoluteOffset.y)
+      } else 2 <= this.state.width && 2 <= this.state.height ? this.moveSizerTo(this.sizers[0], d + a.absoluteOffset.x, e + a.absoluteOffset.y) : this.moveSizerTo(this.sizers[0], a.x, a.y)
+    }
+  }
+  null != this.rotationShape && (f = mxUtils.toRadians(this.state.style[mxConstants.STYLE_ROTATION] ||
+      "0"), g = Math.cos(f), f = Math.sin(f), h = new mxPoint(this.state.getCenterX(), this.state.getCenterY()), k = mxUtils.getRotatedPoint(new mxPoint(a.x + a.width / 2, a.y - 16), g, f, h),
+    this.moveSizerTo(this.rotationShape, k.x, k.y));
+  this.selectionBorder.rotation = Number(this.state.style[mxConstants.STYLE_ROTATION] || "0");
+  this.drawPreview()
 };
 mxVertexHandler.prototype.drawPreview = function() {
-    null != this.preview && (this.preview.bounds = this.bounds, this.preview.node.parentNode == this.graph.container && (this.preview.bounds.width = Math.max(0, this.preview.bounds.width - 1), this.preview.bounds.height = Math.max(0, this.preview.bounds.height - 1)), this.preview.rotation = Number(this.state.style[mxConstants.STYLE_ROTATION] || "0"), this.preview.redraw());
-    this.selectionBorder.bounds = this.bounds;
-    this.selectionBorder.redraw()
+  null != this.preview && (this.preview.bounds = this.bounds, this.preview.node.parentNode == this.graph.container && (this.preview.bounds.width = Math.max(0, this.preview.bounds.width - 1), this.preview
+    .bounds.height = Math.max(0, this.preview.bounds.height - 1)), this.preview.rotation = Number(this.state.style[mxConstants.STYLE_ROTATION] || "0"), this.preview.redraw());
+  this.selectionBorder.bounds = this.bounds;
+  this.selectionBorder.redraw()
 };
 mxVertexHandler.prototype.destroy = function() {
-    null != this.preview && (this.preview.destroy(), this.preview = null);
-    this.selectionBorder.destroy();
-    this.labelShape = this.selectionBorder = null;
-    if (null != this.sizers)
-        for (var a = 0; a < this.sizers.length; a++) this.sizers[a].destroy(), this.sizers[a] = null
+  null != this.preview && (this.preview.destroy(), this.preview = null);
+  this.selectionBorder.destroy();
+  this.labelShape = this.selectionBorder = null;
+  if (null != this.sizers)
+    for (var a = 0; a < this.sizers.length; a++) this.sizers[a].destroy(), this.sizers[a] = null
 };
 
 function mxEdgeHandler(a) {
-    null != a && (this.state = a, this.init())
+  null != a && (this.state = a, this.init())
 }
 mxEdgeHandler.prototype.graph = null;
 mxEdgeHandler.prototype.state = null;
@@ -15932,444 +16234,448 @@ mxEdgeHandler.prototype.snapToTerminals = !1;
 mxEdgeHandler.prototype.handleImage = null;
 mxEdgeHandler.prototype.tolerance = 0;
 mxEdgeHandler.prototype.init = function() {
-    this.graph = this.state.view.graph;
-    this.marker = this.createMarker();
-    this.constraintHandler = new mxConstraintHandler(this.graph);
-    this.points = [];
-    this.abspoints = this.getSelectionPoints(this.state);
-    this.shape = this.createSelectionShape(this.abspoints);
-    this.shape.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_MIXEDHTML : mxConstants.DIALECT_SVG;
-    this.shape.init(this.graph.getView().getOverlayPane());
-    this.shape.svgStrokeTolerance = 0;
-    this.shape.node.style.cursor =
-        mxConstants.CURSOR_MOVABLE_EDGE;
-    mxEvent.addListener(this.shape.node, "dblclick", mxUtils.bind(this, function(a) {
-        this.graph.dblClick(a, this.state.cell)
-    }));
-    mxEvent.addGestureListeners(this.shape.node, mxUtils.bind(this, function(a) {
-        this.addEnabled && this.isAddPointEvent(a) ? this.addPoint(this.state, a) : this.graph.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(a, this.state))
-    }), mxUtils.bind(this, function(a) {
-        var c = this.state.cell;
-        if (null != this.index) {
-            var d = mxUtils.convertPoint(this.graph.container, mxEvent.getClientX(a),
-                    mxEvent.getClientY(a)),
-                c = this.graph.getCellAt(d.x, d.y);
-            this.graph.isSwimlane(c) && this.graph.hitsSwimlaneContent(c, d.x, d.y) && (c = null)
-        }
-        this.graph.fireMouseEvent(mxEvent.MOUSE_MOVE, new mxMouseEvent(a, this.graph.getView().getState(c)))
-    }), mxUtils.bind(this, function(a) {
-        this.graph.fireMouseEvent(mxEvent.MOUSE_UP, new mxMouseEvent(a, this.state))
-    }));
-    this.preferHtml = null != this.state.text && this.state.text.node.parentNode == this.graph.container;
-    if (!this.preferHtml) {
-        var a = this.state.getVisibleTerminalState(!0);
-        null != a && (this.preferHtml = null != a.text && a.text.node.parentNode == this.graph.container);
-        this.preferHtml || (a = this.state.getVisibleTerminalState(!1), null != a && (this.preferHtml = null != a.text && a.text.node.parentNode == this.graph.container))
-    }
-    if (this.graph.getSelectionCount() < mxGraphHandler.prototype.maxCells || 0 >= mxGraphHandler.prototype.maxCells) this.bends = this.createBends();
-    this.label = new mxPoint(this.state.absoluteOffset.x, this.state.absoluteOffset.y);
-    this.labelShape = new mxRectangleShape(new mxRectangle,
-        mxConstants.LABEL_HANDLE_FILLCOLOR, mxConstants.HANDLE_STROKECOLOR);
-    this.labelShape.pointerEvents = !1;
-    this.initBend(this.labelShape);
-    this.labelShape.node.style.cursor = mxConstants.CURSOR_LABEL_HANDLE;
-    mxEvent.redirectMouseEvents(this.labelShape.node, this.graph, this.state);
-    this.redraw()
+  this.graph = this.state.view.graph;
+  this.marker = this.createMarker();
+  this.constraintHandler = new mxConstraintHandler(this.graph);
+  this.points = [];
+  this.abspoints = this.getSelectionPoints(this.state);
+  this.shape = this.createSelectionShape(this.abspoints);
+  this.shape.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_MIXEDHTML : mxConstants.DIALECT_SVG;
+  this.shape.init(this.graph.getView().getOverlayPane());
+  this.shape.svgStrokeTolerance = 0;
+  this.shape.node.style.cursor =
+    mxConstants.CURSOR_MOVABLE_EDGE;
+  mxEvent.addListener(this.shape.node, "dblclick", mxUtils.bind(this, function(a) {
+    this.graph.dblClick(a, this.state.cell)
+  }));
+  mxEvent.addGestureListeners(this.shape.node, mxUtils.bind(this, function(a) {
+    this.addEnabled && this.isAddPointEvent(a) ? this.addPoint(this.state, a) : this.graph.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(a, this.state))
+  }), mxUtils.bind(this, function(a) {
+    var c = this.state.cell;
+    if (null != this.index) {
+      var d = mxUtils.convertPoint(this.graph.container, mxEvent.getClientX(a),
+          mxEvent.getClientY(a)),
+        c = this.graph.getCellAt(d.x, d.y);
+      this.graph.isSwimlane(c) && this.graph.hitsSwimlaneContent(c, d.x, d.y) && (c = null)
+    }
+    this.graph.fireMouseEvent(mxEvent.MOUSE_MOVE, new mxMouseEvent(a, this.graph.getView().getState(c)))
+  }), mxUtils.bind(this, function(a) {
+    this.graph.fireMouseEvent(mxEvent.MOUSE_UP, new mxMouseEvent(a, this.state))
+  }));
+  this.preferHtml = null != this.state.text && this.state.text.node.parentNode == this.graph.container;
+  if (!this.preferHtml) {
+    var a = this.state.getVisibleTerminalState(!0);
+    null != a && (this.preferHtml = null != a.text && a.text.node.parentNode == this.graph.container);
+    this.preferHtml || (a = this.state.getVisibleTerminalState(!1), null != a && (this.preferHtml = null != a.text && a.text.node.parentNode == this.graph.container))
+  }
+  if (this.graph.getSelectionCount() < mxGraphHandler.prototype.maxCells || 0 >= mxGraphHandler.prototype.maxCells) this.bends = this.createBends();
+  this.label = new mxPoint(this.state.absoluteOffset.x, this.state.absoluteOffset.y);
+  this.labelShape = new mxRectangleShape(new mxRectangle,
+    mxConstants.LABEL_HANDLE_FILLCOLOR, mxConstants.HANDLE_STROKECOLOR);
+  this.labelShape.pointerEvents = !1;
+  this.initBend(this.labelShape);
+  this.labelShape.node.style.cursor = mxConstants.CURSOR_LABEL_HANDLE;
+  mxEvent.redirectMouseEvents(this.labelShape.node, this.graph, this.state);
+  this.redraw()
 };
 mxEdgeHandler.prototype.isAddPointEvent = function(a) {
-    return mxEvent.isShiftDown(a)
+  return mxEvent.isShiftDown(a)
 };
 mxEdgeHandler.prototype.isRemovePointEvent = function(a) {
-    return mxEvent.isShiftDown(a)
+  return mxEvent.isShiftDown(a)
 };
 mxEdgeHandler.prototype.getSelectionPoints = function(a) {
-    return a.absolutePoints
+  return a.absolutePoints
 };
 mxEdgeHandler.prototype.createSelectionShape = function(a) {
-    a = new mxPolyline(a, this.getSelectionColor());
-    a.strokewidth = this.getSelectionStrokeWidth();
-    a.isDashed = this.isSelectionDashed();
-    return a
+  a = new mxPolyline(a, this.getSelectionColor());
+  a.strokewidth = this.getSelectionStrokeWidth();
+  a.isDashed = this.isSelectionDashed();
+  return a
 };
 mxEdgeHandler.prototype.getSelectionColor = function() {
-    return mxConstants.EDGE_SELECTION_COLOR
+  return mxConstants.EDGE_SELECTION_COLOR
 };
 mxEdgeHandler.prototype.getSelectionStrokeWidth = function() {
-    return mxConstants.EDGE_SELECTION_STROKEWIDTH
+  return mxConstants.EDGE_SELECTION_STROKEWIDTH
 };
 mxEdgeHandler.prototype.isSelectionDashed = function() {
-    return mxConstants.EDGE_SELECTION_DASHED
+  return mxConstants.EDGE_SELECTION_DASHED
 };
 mxEdgeHandler.prototype.isConnectableCell = function(a) {
-    return !0
+  return !0
 };
 mxEdgeHandler.prototype.createMarker = function() {
-    var a = new mxCellMarker(this.graph),
-        b = this;
-    a.getCell = function(a) {
-        var d = mxCellMarker.prototype.getCell.apply(this, arguments);
-        if (!b.isConnectableCell(d)) return null;
-        var e = b.graph.getModel();
-        if (d == b.state.cell || null != d && !b.graph.connectableEdges && e.isEdge(d)) d = null;
-        return d
-    };
-    a.isValidState = function(a) {
-        var d = b.graph.getModel(),
-            d = b.graph.view.getTerminalPort(a, b.graph.view.getState(d.getTerminal(b.state.cell, !b.isSource)), !b.isSource),
-            d = null != d ? d.cell : null;
-        b.error = b.validateConnection(b.isSource ? a.cell : d, b.isSource ? d : a.cell);
-        return null == b.error
-    };
-    return a
+  var a = new mxCellMarker(this.graph),
+    b = this;
+  a.getCell = function(a) {
+    var d = mxCellMarker.prototype.getCell.apply(this, arguments);
+    if (!b.isConnectableCell(d)) return null;
+    var e = b.graph.getModel();
+    if (d == b.state.cell || null != d && !b.graph.connectableEdges && e.isEdge(d)) d = null;
+    return d
+  };
+  a.isValidState = function(a) {
+    var d = b.graph.getModel(),
+      d = b.graph.view.getTerminalPort(a, b.graph.view.getState(d.getTerminal(b.state.cell, !b.isSource)), !b.isSource),
+      d = null != d ? d.cell : null;
+    b.error = b.validateConnection(b.isSource ? a.cell : d, b.isSource ? d : a.cell);
+    return null == b.error
+  };
+  return a
 };
 mxEdgeHandler.prototype.validateConnection = function(a, b) {
-    return this.graph.getEdgeValidationError(this.state.cell, a, b)
+  return this.graph.getEdgeValidationError(this.state.cell, a, b)
 };
 mxEdgeHandler.prototype.createBends = function() {
-    for (var a = this.state.cell, b = [], c = 0; c < this.abspoints.length; c++)
-        if (this.isHandleVisible(c)) {
-            var d = c == this.abspoints.length - 1;
-            if ((d = 0 == c || d) || this.graph.isCellBendable(a)) {
-                var e = this.createHandleShape(c);
-                this.initBend(e);
-                mxClient.IS_TOUCH && e.node.setAttribute("pointer-events", "none");
-                if (this.isHandleEnabled(c))
-                    if (mxClient.IS_TOUCH) {
-                        var f = mxUtils.bind(this, function(a) {
-                            a = mxUtils.convertPoint(this.graph.container, mxEvent.getClientX(a), mxEvent.getClientY(a));
-                            return this.graph.view.getState(this.graph.getCellAt(a.x, a.y))
-                        });
-                        mxEvent.redirectMouseEvents(e.node, this.graph, f)
-                    } else e.node.style.cursor = mxConstants.CURSOR_BEND_HANDLE, mxEvent.redirectMouseEvents(e.node, this.graph, this.state);
-                b.push(e);
-                d || (this.points.push(new mxPoint(0, 0)), e.node.style.visibility = "hidden")
-            }
-        }
-    return b
+  for (var a = this.state.cell, b = [], c = 0; c < this.abspoints.length; c++)
+    if (this.isHandleVisible(c)) {
+      var d = c == this.abspoints.length - 1;
+      if ((d = 0 == c || d) || this.graph.isCellBendable(a)) {
+        var e = this.createHandleShape(c);
+        this.initBend(e);
+        mxClient.IS_TOUCH && e.node.setAttribute("pointer-events", "none");
+        if (this.isHandleEnabled(c))
+          if (mxClient.IS_TOUCH) {
+            var f = mxUtils.bind(this, function(a) {
+              a = mxUtils.convertPoint(this.graph.container, mxEvent.getClientX(a), mxEvent.getClientY(a));
+              return this.graph.view.getState(this.graph.getCellAt(a.x, a.y))
+            });
+            mxEvent.redirectMouseEvents(e.node, this.graph, f)
+          } else e.node.style.cursor = mxConstants.CURSOR_BEND_HANDLE, mxEvent.redirectMouseEvents(e.node, this.graph, this.state);
+        b.push(e);
+        d || (this.points.push(new mxPoint(0, 0)), e.node.style.visibility = "hidden")
+      }
+    }
+  return b
 };
 mxEdgeHandler.prototype.isHandleEnabled = function(a) {
-    return !0
+  return !0
 };
 mxEdgeHandler.prototype.isHandleVisible = function(a) {
-    return !0
+  return !0
 };
 mxEdgeHandler.prototype.createHandleShape = function(a) {
-    if (null != this.handleImage) return new mxImageShape(new mxRectangle(0, 0, this.handleImage.width, this.handleImage.height), this.handleImage.src);
-    a = mxConstants.HANDLE_SIZE;
-    this.preferHtml && (a -= 1);
-    return new mxRectangleShape(new mxRectangle(0, 0, a, a), mxConstants.HANDLE_FILLCOLOR, mxConstants.HANDLE_STROKECOLOR)
+  if (null != this.handleImage) return new mxImageShape(new mxRectangle(0, 0, this.handleImage.width, this.handleImage.height), this.handleImage.src);
+  a = mxConstants.HANDLE_SIZE;
+  this.preferHtml && (a -= 1);
+  return new mxRectangleShape(new mxRectangle(0, 0, a, a), mxConstants.HANDLE_FILLCOLOR, mxConstants.HANDLE_STROKECOLOR)
 };
 mxEdgeHandler.prototype.initBend = function(a) {
-    this.preferHtml ? (a.dialect = mxConstants.DIALECT_STRICTHTML, a.init(this.graph.container)) : (a.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_MIXEDHTML : mxConstants.DIALECT_SVG, a.init(this.graph.getView().getOverlayPane()))
+  this.preferHtml ? (a.dialect = mxConstants.DIALECT_STRICTHTML, a.init(this.graph.container)) : (a.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_MIXEDHTML :
+    mxConstants.DIALECT_SVG, a.init(this.graph.getView().getOverlayPane()))
 };
 mxEdgeHandler.prototype.getHandleForEvent = function(a) {
-    if (null != this.bends)
-        for (var b = this.tolerance, b = this.allowHandleBoundsCheck && (mxClient.IS_IE || 0 < b) ? new mxRectangle(a.getGraphX() - b, a.getGraphY() - b, 2 * b, 2 * b) : null, c = 0; c < this.bends.length; c++)
-            if ((a.isSource(this.bends[c]) || null != b && mxUtils.intersects(this.bends[c].bounds, b)) && "hidden" != this.bends[c].node.style.visibility) return c;
-    if (a.isSource(this.labelShape) && "hidden" != this.labelShape.node.style.visibility || a.isSource(this.state.text))
-        if (!mxClient.IS_SF &&
-            !mxClient.IS_GC || "SELECT" != a.getSource().nodeName) return mxEvent.LABEL_HANDLE;
-    return null
+  if (null != this.bends)
+    for (var b = this.tolerance, b = this.allowHandleBoundsCheck && (mxClient.IS_IE || 0 < b) ? new mxRectangle(a.getGraphX() - b, a.getGraphY() - b, 2 * b, 2 * b) : null, c = 0; c < this.bends.length; c++)
+      if ((a.isSource(this.bends[c]) || null != b && mxUtils.intersects(this.bends[c].bounds, b)) && "hidden" != this.bends[c].node.style.visibility) return c;
+  if (a.isSource(this.labelShape) && "hidden" != this.labelShape.node.style.visibility || a.isSource(this.state.text))
+    if (!mxClient.IS_SF &&
+      !mxClient.IS_GC || "SELECT" != a.getSource().nodeName) return mxEvent.LABEL_HANDLE;
+  return null
 };
 mxEdgeHandler.prototype.mouseDown = function(a, b) {
-    var c = null,
-        c = this.getHandleForEvent(b);
-    null != c && (!b.isConsumed() && this.graph.isEnabled() && !this.graph.isForceMarqueeEvent(b.getEvent())) && (this.removeEnabled && this.isRemovePointEvent(b.getEvent()) ? this.removePoint(this.state, c) : (c != mxEvent.LABEL_HANDLE || this.graph.isLabelMovable(b.getCell())) && this.start(b.getX(), b.getY(), c), b.consume())
+  var c = null,
+    c = this.getHandleForEvent(b);
+  null != c && (!b.isConsumed() && this.graph.isEnabled() && !this.graph.isForceMarqueeEvent(b.getEvent())) && (this.removeEnabled && this.isRemovePointEvent(b.getEvent()) ? this.removePoint(this.state,
+    c) : (c != mxEvent.LABEL_HANDLE || this.graph.isLabelMovable(b.getCell())) && this.start(b.getX(), b.getY(), c), b.consume())
 };
 mxEdgeHandler.prototype.start = function(a, b, c) {
-    this.startX = a;
-    this.startY = b;
-    this.isSource = null == this.bends ? !1 : 0 == c;
-    this.isTarget = null == this.bends ? !1 : c == this.bends.length - 1;
-    this.isLabel = c == mxEvent.LABEL_HANDLE;
-    if (this.isSource || this.isTarget) {
-        if (a = this.state.cell, b = this.graph.model.getTerminal(a, this.isSource), null == b && this.graph.isTerminalPointMovable(a, this.isSource) || null != b && this.graph.isCellDisconnectable(a, b, this.isSource)) this.index = c
-    } else this.index = c
+  this.startX = a;
+  this.startY = b;
+  this.isSource = null == this.bends ? !1 : 0 == c;
+  this.isTarget = null == this.bends ? !1 : c == this.bends.length - 1;
+  this.isLabel = c == mxEvent.LABEL_HANDLE;
+  if (this.isSource || this.isTarget) {
+    if (a = this.state.cell, b = this.graph.model.getTerminal(a, this.isSource), null == b && this.graph.isTerminalPointMovable(a, this.isSource) || null != b && this.graph.isCellDisconnectable(a,
+        b, this.isSource)) this.index = c
+  } else this.index = c
 };
 mxEdgeHandler.prototype.clonePreviewState = function(a, b) {
-    return this.state.clone()
+  return this.state.clone()
 };
 mxEdgeHandler.prototype.getSnapToTerminalTolerance = function() {
-    return this.graph.gridSize * this.graph.view.scale / 2
+  return this.graph.gridSize * this.graph.view.scale / 2
 };
 mxEdgeHandler.prototype.getPointForEvent = function(a) {
-    var b = new mxPoint(a.getGraphX(), a.getGraphY()),
-        c = this.getSnapToTerminalTolerance(),
-        d = this.graph.getView(),
-        e = !1,
-        f = !1;
-    if (this.snapToTerminals && 0 < c) {
-        var g = function(a) {
-                if (null != a) {
-                    var d = a.x;
-                    Math.abs(b.x - d) < c && (b.x = d, e = !0);
-                    a = a.y;
-                    Math.abs(b.y - a) < c && (b.y = a, f = !0)
-                }
-            },
-            h = function(a) {
-                null != a && g.call(this, new mxPoint(d.getRoutingCenterX(a), d.getRoutingCenterY(a)))
-            };
-        h.call(this, this.state.getVisibleTerminalState(!0));
-        h.call(this, this.state.getVisibleTerminalState(!1));
-        if (null != this.abspoints)
-            for (h = 0; h < this.abspoints; h++) h != this.index && g.call(this, this.abspoints[h])
-    }
-    this.graph.isGridEnabledEvent(a.getEvent()) && (a = d.scale, h = d.translate, e || (b.x = (this.graph.snap(b.x / a - h.x) + h.x) * a), f || (b.y = (this.graph.snap(b.y / a - h.y) + h.y) * a));
-    return b
+  var b = new mxPoint(a.getGraphX(), a.getGraphY()),
+    c = this.getSnapToTerminalTolerance(),
+    d = this.graph.getView(),
+    e = !1,
+    f = !1;
+  if (this.snapToTerminals && 0 < c) {
+    var g = function(a) {
+        if (null != a) {
+          var d = a.x;
+          Math.abs(b.x - d) < c && (b.x = d, e = !0);
+          a = a.y;
+          Math.abs(b.y - a) < c && (b.y = a, f = !0)
+        }
+      },
+      h = function(a) {
+        null != a && g.call(this, new mxPoint(d.getRoutingCenterX(a), d.getRoutingCenterY(a)))
+      };
+    h.call(this, this.state.getVisibleTerminalState(!0));
+    h.call(this, this.state.getVisibleTerminalState(!1));
+    if (null != this.abspoints)
+      for (h = 0; h < this.abspoints; h++) h != this.index && g.call(this, this.abspoints[h])
+  }
+  this.graph.isGridEnabledEvent(a.getEvent()) && (a = d.scale, h = d.translate, e || (b.x = (this.graph.snap(b.x / a - h.x) + h.x) * a), f || (b.y = (this.graph.snap(b.y / a - h.y) + h.y) * a));
+  return b
 };
 mxEdgeHandler.prototype.getPreviewTerminalState = function(a) {
-    this.constraintHandler.update(a, this.isSource);
-    this.marker.process(a);
-    a = this.marker.getValidState();
-    var b = null;
-    null != this.constraintHandler.currentFocus && null != this.constraintHandler.currentConstraint && this.marker.reset();
-    null != a ? b = a : null != this.constraintHandler.currentConstraint && null != this.constraintHandler.currentFocus && (b = this.constraintHandler.currentFocus);
-    return b
+  this.constraintHandler.update(a, this.isSource);
+  this.marker.process(a);
+  a = this.marker.getValidState();
+  var b = null;
+  null != this.constraintHandler.currentFocus && null != this.constraintHandler.currentConstraint && this.marker.reset();
+  null != a ? b = a : null != this.constraintHandler.currentConstraint && null != this.constraintHandler.currentFocus && (b = this.constraintHandler.currentFocus);
+  return b
 };
 mxEdgeHandler.prototype.getPreviewPoints = function(a) {
-    var b = this.graph.getCellGeometry(this.state.cell),
-        b = null != b.points ? b.points.slice() : null;
-    !this.isSource && !this.isTarget ? (this.convertPoint(a, !1), null == b ? b = [a] : b[this.index - 1] = a) : this.graph.resetEdgesOnConnect && (b = null);
-    return b
+  var b = this.graph.getCellGeometry(this.state.cell),
+    b = null != b.points ? b.points.slice() : null;
+  !this.isSource && !this.isTarget ? (this.convertPoint(a, !1), null == b ? b = [a] : b[this.index - 1] = a) : this.graph.resetEdgesOnConnect && (b = null);
+  return b
 };
 mxEdgeHandler.prototype.updatePreviewState = function(a, b, c) {
-    var d = this.isSource ? c : this.state.getVisibleTerminalState(!0),
-        e = this.isTarget ? c : this.state.getVisibleTerminalState(!1),
-        f = this.graph.getConnectionConstraint(a, d, !0),
-        g = this.graph.getConnectionConstraint(a, e, !1),
-        h = this.constraintHandler.currentConstraint;
-    null == h && (h = new mxConnectionConstraint);
-    this.isSource ? f = h : this.isTarget && (g = h);
-    (!this.isSource || null != d) && a.view.updateFixedTerminalPoint(a, d, !0, f);
-    (!this.isTarget || null != e) && a.view.updateFixedTerminalPoint(a,
-        e, !1, g);
-    if ((this.isSource || this.isTarget) && null == c) a.setAbsoluteTerminalPoint(b, this.isSource), null == this.marker.getMarkedState() && (this.error = this.graph.allowDanglingEdges ? null : "");
-    a.view.updatePoints(a, this.points, d, e);
-    a.view.updateFloatingTerminalPoints(a, d, e)
+  var d = this.isSource ? c : this.state.getVisibleTerminalState(!0),
+    e = this.isTarget ? c : this.state.getVisibleTerminalState(!1),
+    f = this.graph.getConnectionConstraint(a, d, !0),
+    g = this.graph.getConnectionConstraint(a, e, !1),
+    h = this.constraintHandler.currentConstraint;
+  null == h && (h = new mxConnectionConstraint);
+  this.isSource ? f = h : this.isTarget && (g = h);
+  (!this.isSource || null != d) && a.view.updateFixedTerminalPoint(a, d, !0, f);
+  (!this.isTarget || null != e) && a.view.updateFixedTerminalPoint(a,
+    e, !1, g);
+  if ((this.isSource || this.isTarget) && null == c) a.setAbsoluteTerminalPoint(b, this.isSource), null == this.marker.getMarkedState() && (this.error = this.graph.allowDanglingEdges ? null : "");
+  a.view.updatePoints(a, this.points, d, e);
+  a.view.updateFloatingTerminalPoints(a, d, e)
 };
 mxEdgeHandler.prototype.mouseMove = function(a, b) {
-    if (null != this.index && null != this.marker) {
-        var c = this.getPointForEvent(b);
-        if (this.isLabel) this.label.x = c.x, this.label.y = c.y;
-        else {
-            this.points = this.getPreviewPoints(c);
-            var d = this.isSource || this.isTarget ? this.getPreviewTerminalState(b) : null,
-                e = this.clonePreviewState(c, null != d ? d.cell : null);
-            this.updatePreviewState(e, c, d);
-            this.setPreviewColor(null == this.error ? this.marker.validColor : this.marker.invalidColor);
-            this.abspoints = e.absolutePoints;
-            this.active = !0
-        }
-        this.drawPreview();
-        mxEvent.consume(b.getEvent());
-        b.consume()
-    } else mxClient.IS_IE && null != this.getHandleForEvent(b) && b.consume(!1)
+  if (null != this.index && null != this.marker) {
+    var c = this.getPointForEvent(b);
+    if (this.isLabel) this.label.x = c.x, this.label.y = c.y;
+    else {
+      this.points = this.getPreviewPoints(c);
+      var d = this.isSource || this.isTarget ? this.getPreviewTerminalState(b) : null,
+        e = this.clonePreviewState(c, null != d ? d.cell : null);
+      this.updatePreviewState(e, c, d);
+      this.setPreviewColor(null == this.error ? this.marker.validColor : this.marker.invalidColor);
+      this.abspoints = e.absolutePoints;
+      this.active = !0
+    }
+    this.drawPreview();
+    mxEvent.consume(b.getEvent());
+    b.consume()
+  } else mxClient.IS_IE && null != this.getHandleForEvent(b) && b.consume(!1)
 };
 mxEdgeHandler.prototype.mouseUp = function(a, b) {
-    if (null != this.index && null != this.marker) {
-        var c = this.state.cell;
-        if (b.getX() != this.startX || b.getY() != this.startY)
-            if (null != this.error) 0 < this.error.length && this.graph.validationAlert(this.error);
-            else if (this.isLabel) this.moveLabel(this.state, this.label.x, this.label.y);
-        else if (this.isSource || this.isTarget) {
-            var d = null;
-            null != this.constraintHandler.currentConstraint && null != this.constraintHandler.currentFocus && (d = this.constraintHandler.currentFocus.cell);
-            null ==
-                d && this.marker.hasValidState() && (d = this.marker.validState.cell);
-            if (null != d) c = this.connect(c, d, this.isSource, this.graph.isCloneEvent(b.getEvent()) && this.cloneEnabled && this.graph.isCellsCloneable(), b);
-            else if (this.graph.isAllowDanglingEdges()) {
-                d = this.abspoints[this.isSource ? 0 : this.abspoints.length - 1];
-                d.x = d.x / this.graph.view.scale - this.graph.view.translate.x;
-                d.y = d.y / this.graph.view.scale - this.graph.view.translate.y;
-                var e = this.graph.getView().getState(this.graph.getModel().getParent(c));
-                null != e && (d.x -=
-                    e.origin.x, d.y -= e.origin.y);
-                d.x -= this.graph.panDx / this.graph.view.scale;
-                d.y -= this.graph.panDy / this.graph.view.scale;
-                this.changeTerminalPoint(c, d, this.isSource)
-            }
-        } else this.active ? this.changePoints(c, this.points) : (this.graph.getView().invalidate(this.state.cell), this.graph.getView().revalidate(this.state.cell));
-        null != this.marker && (this.reset(), c != this.state.cell && this.graph.setSelectionCell(c));
-        b.consume()
-    }
+  if (null != this.index && null != this.marker) {
+    var c = this.state.cell;
+    if (b.getX() != this.startX || b.getY() != this.startY)
+      if (null != this.error) 0 < this.error.length && this.graph.validationAlert(this.error);
+      else if (this.isLabel) this.moveLabel(this.state, this.label.x, this.label.y);
+    else if (this.isSource || this.isTarget) {
+      var d = null;
+      null != this.constraintHandler.currentConstraint && null != this.constraintHandler.currentFocus && (d = this.constraintHandler.currentFocus.cell);
+      null ==
+        d && this.marker.hasValidState() && (d = this.marker.validState.cell);
+      if (null != d) c = this.connect(c, d, this.isSource, this.graph.isCloneEvent(b.getEvent()) && this.cloneEnabled && this.graph.isCellsCloneable(), b);
+      else if (this.graph.isAllowDanglingEdges()) {
+        d = this.abspoints[this.isSource ? 0 : this.abspoints.length - 1];
+        d.x = d.x / this.graph.view.scale - this.graph.view.translate.x;
+        d.y = d.y / this.graph.view.scale - this.graph.view.translate.y;
+        var e = this.graph.getView().getState(this.graph.getModel().getParent(c));
+        null != e && (d.x -=
+          e.origin.x, d.y -= e.origin.y);
+        d.x -= this.graph.panDx / this.graph.view.scale;
+        d.y -= this.graph.panDy / this.graph.view.scale;
+        this.changeTerminalPoint(c, d, this.isSource)
+      }
+    } else this.active ? this.changePoints(c, this.points) : (this.graph.getView().invalidate(this.state.cell), this.graph.getView().revalidate(this.state.cell));
+    null != this.marker && (this.reset(), c != this.state.cell && this.graph.setSelectionCell(c));
+    b.consume()
+  }
 };
 mxEdgeHandler.prototype.reset = function() {
-    this.points = this.label = this.index = this.error = null;
-    this.isTarget = this.isSource = this.isLabel = this.active = !1;
-    this.marker.reset();
-    this.constraintHandler.reset();
-    this.setPreviewColor(mxConstants.EDGE_SELECTION_COLOR);
-    this.redraw()
+  this.points = this.label = this.index = this.error = null;
+  this.isTarget = this.isSource = this.isLabel = this.active = !1;
+  this.marker.reset();
+  this.constraintHandler.reset();
+  this.setPreviewColor(mxConstants.EDGE_SELECTION_COLOR);
+  this.redraw()
 };
 mxEdgeHandler.prototype.setPreviewColor = function(a) {
-    null != this.shape && (this.shape.stroke = a)
+  null != this.shape && (this.shape.stroke = a)
 };
 mxEdgeHandler.prototype.convertPoint = function(a, b) {
-    var c = this.graph.getView().getScale(),
-        d = this.graph.getView().getTranslate();
-    b && (a.x = this.graph.snap(a.x), a.y = this.graph.snap(a.y));
-    a.x = Math.round(a.x / c - d.x);
-    a.y = Math.round(a.y / c - d.y);
-    c = this.graph.getView().getState(this.graph.getModel().getParent(this.state.cell));
-    null != c && (a.x -= c.origin.x, a.y -= c.origin.y);
-    return a
+  var c = this.graph.getView().getScale(),
+    d = this.graph.getView().getTranslate();
+  b && (a.x = this.graph.snap(a.x), a.y = this.graph.snap(a.y));
+  a.x = Math.round(a.x / c - d.x);
+  a.y = Math.round(a.y / c - d.y);
+  c = this.graph.getView().getState(this.graph.getModel().getParent(this.state.cell));
+  null != c && (a.x -= c.origin.x, a.y -= c.origin.y);
+  return a
 };
 mxEdgeHandler.prototype.moveLabel = function(a, b, c) {
-    var d = this.graph.getModel(),
-        e = d.getGeometry(a.cell);
-    if (null != e) {
-        var e = e.clone(),
-            f = this.graph.getView().getRelativePoint(a, b, c);
-        e.x = f.x;
-        e.y = f.y;
-        var g = this.graph.getView().scale;
-        e.offset = new mxPoint(0, 0);
-        f = this.graph.view.getPoint(a, e);
-        e.offset = new mxPoint((b - f.x) / g, (c - f.y) / g);
-        d.setGeometry(a.cell, e)
-    }
+  var d = this.graph.getModel(),
+    e = d.getGeometry(a.cell);
+  if (null != e) {
+    var e = e.clone(),
+      f = this.graph.getView().getRelativePoint(a, b, c);
+    e.x = f.x;
+    e.y = f.y;
+    var g = this.graph.getView().scale;
+    e.offset = new mxPoint(0, 0);
+    f = this.graph.view.getPoint(a, e);
+    e.offset = new mxPoint((b - f.x) / g, (c - f.y) / g);
+    d.setGeometry(a.cell, e)
+  }
 };
 mxEdgeHandler.prototype.connect = function(a, b, c, d, e) {
-    e = this.graph.getModel();
-    var f = e.getParent(a);
-    e.beginUpdate();
-    try {
-        if (d) {
-            var g = a.clone();
-            e.add(f, g, e.getChildCount(f));
-            var h = e.getTerminal(a, !c);
-            this.graph.connectCell(g, h, !c);
-            a = g
-        }
-        var k = this.constraintHandler.currentConstraint;
-        null == k && (k = new mxConnectionConstraint);
-        this.graph.connectCell(a, b, c, k)
-    } finally {
-        e.endUpdate()
-    }
-    return a
+  e = this.graph.getModel();
+  var f = e.getParent(a);
+  e.beginUpdate();
+  try {
+    if (d) {
+      var g = a.clone();
+      e.add(f, g, e.getChildCount(f));
+      var h = e.getTerminal(a, !c);
+      this.graph.connectCell(g, h, !c);
+      a = g
+    }
+    var k = this.constraintHandler.currentConstraint;
+    null == k && (k = new mxConnectionConstraint);
+    this.graph.connectCell(a, b, c, k)
+  } finally {
+    e.endUpdate()
+  }
+  return a
 };
 mxEdgeHandler.prototype.changeTerminalPoint = function(a, b, c) {
-    var d = this.graph.getModel(),
-        e = d.getGeometry(a);
-    if (null != e) {
-        d.beginUpdate();
-        try {
-            e = e.clone(), e.setTerminalPoint(b, c), d.setGeometry(a, e), this.graph.connectCell(a, null, c, new mxConnectionConstraint)
-        } finally {
-            d.endUpdate()
-        }
+  var d = this.graph.getModel(),
+    e = d.getGeometry(a);
+  if (null != e) {
+    d.beginUpdate();
+    try {
+      e = e.clone(), e.setTerminalPoint(b, c), d.setGeometry(a, e), this.graph.connectCell(a, null, c, new mxConnectionConstraint)
+    } finally {
+      d.endUpdate()
     }
+  }
 };
 mxEdgeHandler.prototype.changePoints = function(a, b) {
-    var c = this.graph.getModel(),
-        d = c.getGeometry(a);
-    null != d && (d = d.clone(), d.points = b, c.setGeometry(a, d))
+  var c = this.graph.getModel(),
+    d = c.getGeometry(a);
+  null != d && (d = d.clone(), d.points = b, c.setGeometry(a, d))
 };
 mxEdgeHandler.prototype.addPoint = function(a, b) {
-    var c = mxUtils.convertPoint(this.graph.container, mxEvent.getClientX(b), mxEvent.getClientY(b)),
-        d = this.graph.isGridEnabledEvent(b);
-    this.convertPoint(c, d);
-    this.addPointAt(a, c.x, c.y);
-    mxEvent.consume(b)
+  var c = mxUtils.convertPoint(this.graph.container, mxEvent.getClientX(b), mxEvent.getClientY(b)),
+    d = this.graph.isGridEnabledEvent(b);
+  this.convertPoint(c, d);
+  this.addPointAt(a, c.x, c.y);
+  mxEvent.consume(b)
 };
 mxEdgeHandler.prototype.addPointAt = function(a, b, c) {
-    var d = this.graph.getCellGeometry(a.cell);
-    b = new mxPoint(b, c);
-    if (null != d) {
-        d = d.clone();
-        c = this.graph.view.translate;
-        var e = this.graph.view.scale;
-        c = mxUtils.findNearestSegment(a, (b.x + c.x) * e, (b.y + c.y) * e);
-        null == d.points ? d.points = [b] : d.points.splice(c, 0, b);
-        this.graph.getModel().setGeometry(a.cell, d);
-        this.destroy();
-        this.init()
-    }
+  var d = this.graph.getCellGeometry(a.cell);
+  b = new mxPoint(b, c);
+  if (null != d) {
+    d = d.clone();
+    c = this.graph.view.translate;
+    var e = this.graph.view.scale;
+    c = mxUtils.findNearestSegment(a, (b.x + c.x) * e, (b.y + c.y) * e);
+    null == d.points ? d.points = [b] : d.points.splice(c, 0, b);
+    this.graph.getModel().setGeometry(a.cell, d);
+    this.destroy();
+    this.init()
+  }
 };
 mxEdgeHandler.prototype.removePoint = function(a, b) {
-    if (0 < b && b < this.abspoints.length - 1) {
-        var c = this.graph.getCellGeometry(this.state.cell);
-        null != c && null != c.points && (c = c.clone(), c.points.splice(b - 1, 1), this.graph.getModel().setGeometry(a.cell, c), this.destroy(), this.init())
-    }
+  if (0 < b && b < this.abspoints.length - 1) {
+    var c = this.graph.getCellGeometry(this.state.cell);
+    null != c && null != c.points && (c = c.clone(), c.points.splice(b - 1, 1), this.graph.getModel().setGeometry(a.cell, c), this.destroy(), this.init())
+  }
 };
 mxEdgeHandler.prototype.getHandleFillColor = function(a) {
-    a = 0 == a;
-    var b = this.state.cell,
-        c = this.graph.getModel().getTerminal(b, a),
-        d = mxConstants.HANDLE_FILLCOLOR;
-    null != c && !this.graph.isCellDisconnectable(b, c, a) || null == c && !this.graph.isTerminalPointMovable(b, a) ? d = mxConstants.LOCKED_HANDLE_FILLCOLOR : null != c && this.graph.isCellDisconnectable(b, c, a) && (d = mxConstants.CONNECT_HANDLE_FILLCOLOR);
-    return d
+  a = 0 == a;
+  var b = this.state.cell,
+    c = this.graph.getModel().getTerminal(b, a),
+    d = mxConstants.HANDLE_FILLCOLOR;
+  null != c && !this.graph.isCellDisconnectable(b, c, a) || null == c && !this.graph.isTerminalPointMovable(b, a) ? d = mxConstants.LOCKED_HANDLE_FILLCOLOR : null != c && this.graph.isCellDisconnectable(
+    b, c, a) && (d = mxConstants.CONNECT_HANDLE_FILLCOLOR);
+  return d
 };
 mxEdgeHandler.prototype.redraw = function() {
-    this.abspoints = this.state.absolutePoints.slice();
-    var a = this.state.cell,
-        b = mxConstants.LABEL_HANDLE_SIZE;
-    this.label = new mxPoint(this.state.absoluteOffset.x, this.state.absoluteOffset.y);
-    this.labelShape.bounds = new mxRectangle(Math.round(this.label.x - b / 2), Math.round(this.label.y - b / 2), b, b);
-    this.labelShape.redraw();
-    b = this.graph.getLabel(a);
-    null != b && 0 < b.length && this.graph.isLabelMovable(a) ? this.labelShape.node.style.visibility = "visible" : this.labelShape.node.style.visibility =
-        "hidden";
-    if (null != this.bends && 0 < this.bends.length) {
-        var c = this.abspoints.length - 1,
-            a = this.abspoints[0],
-            d = this.abspoints[0].y,
-            b = this.bends[0].bounds;
-        this.bends[0].bounds = new mxRectangle(Math.round(this.abspoints[0].x - b.width / 2), Math.round(d - b.height / 2), b.width, b.height);
-        this.bends[0].fill = this.getHandleFillColor(0);
-        this.bends[0].redraw();
-        var d = this.abspoints[c],
-            e = this.abspoints[c].x,
-            c = this.abspoints[c].y,
-            f = this.bends.length - 1,
-            b = this.bends[f].bounds;
-        this.bends[f].bounds = new mxRectangle(Math.round(e - b.width /
-            2), Math.round(c - b.height / 2), b.width, b.height);
-        this.bends[f].fill = this.getHandleFillColor(f);
-        this.bends[f].redraw();
-        this.redrawInnerBends(a, d)
-    }
-    this.drawPreview()
+  this.abspoints = this.state.absolutePoints.slice();
+  var a = this.state.cell,
+    b = mxConstants.LABEL_HANDLE_SIZE;
+  this.label = new mxPoint(this.state.absoluteOffset.x, this.state.absoluteOffset.y);
+  this.labelShape.bounds = new mxRectangle(Math.round(this.label.x - b / 2), Math.round(this.label.y - b / 2), b, b);
+  this.labelShape.redraw();
+  b = this.graph.getLabel(a);
+  null != b && 0 < b.length && this.graph.isLabelMovable(a) ? this.labelShape.node.style.visibility = "visible" : this.labelShape.node.style.visibility =
+    "hidden";
+  if (null != this.bends && 0 < this.bends.length) {
+    var c = this.abspoints.length - 1,
+      a = this.abspoints[0],
+      d = this.abspoints[0].y,
+      b = this.bends[0].bounds;
+    this.bends[0].bounds = new mxRectangle(Math.round(this.abspoints[0].x - b.width / 2), Math.round(d - b.height / 2), b.width, b.height);
+    this.bends[0].fill = this.getHandleFillColor(0);
+    this.bends[0].redraw();
+    var d = this.abspoints[c],
+      e = this.abspoints[c].x,
+      c = this.abspoints[c].y,
+      f = this.bends.length - 1,
+      b = this.bends[f].bounds;
+    this.bends[f].bounds = new mxRectangle(Math.round(e - b.width /
+      2), Math.round(c - b.height / 2), b.width, b.height);
+    this.bends[f].fill = this.getHandleFillColor(f);
+    this.bends[f].redraw();
+    this.redrawInnerBends(a, d)
+  }
+  this.drawPreview()
 };
 mxEdgeHandler.prototype.redrawInnerBends = function(a, b) {
-    var c = this.graph.getModel().getGeometry(this.state.cell).points;
-    if (null != c) {
-        null == this.points && (this.points = []);
-        for (var d = 1; d < this.bends.length - 1; d++)
-            if (null != this.bends[d])
-                if (null != this.abspoints[d]) {
-                    var e = this.abspoints[d].x,
-                        f = this.abspoints[d].y,
-                        g = this.bends[d].bounds;
-                    this.bends[d].node.style.visibility = "visible";
-                    this.bends[d].bounds = new mxRectangle(Math.round(e - g.width / 2), Math.round(f - g.height / 2), g.width, g.height);
-                    this.bends[d].redraw();
-                    this.points[d -
-                        1] = c[d - 1]
-                } else this.bends[d].destroy(), this.bends[d] = null
-    }
+  var c = this.graph.getModel().getGeometry(this.state.cell).points;
+  if (null != c) {
+    null == this.points && (this.points = []);
+    for (var d = 1; d < this.bends.length - 1; d++)
+      if (null != this.bends[d])
+        if (null != this.abspoints[d]) {
+          var e = this.abspoints[d].x,
+            f = this.abspoints[d].y,
+            g = this.bends[d].bounds;
+          this.bends[d].node.style.visibility = "visible";
+          this.bends[d].bounds = new mxRectangle(Math.round(e - g.width / 2), Math.round(f - g.height / 2), g.width, g.height);
+          this.bends[d].redraw();
+          this.points[d -
+            1] = c[d - 1]
+        } else this.bends[d].destroy(), this.bends[d] = null
+  }
 };
 mxEdgeHandler.prototype.drawPreview = function() {
-    if (this.isLabel) {
-        var a = mxConstants.LABEL_HANDLE_SIZE,
-            a = new mxRectangle(Math.round(this.label.x - a / 2), Math.round(this.label.y - a / 2), a, a);
-        this.labelShape.bounds = a;
-        this.labelShape.redraw()
-    } else this.shape.points = this.abspoints, this.shape.redraw()
+  if (this.isLabel) {
+    var a = mxConstants.LABEL_HANDLE_SIZE,
+      a = new mxRectangle(Math.round(this.label.x - a / 2), Math.round(this.label.y - a / 2), a, a);
+    this.labelShape.bounds = a;
+    this.labelShape.redraw()
+  } else this.shape.points = this.abspoints, this.shape.redraw()
 };
 mxEdgeHandler.prototype.destroy = function() {
-    null != this.marker && (this.marker.destroy(), this.marker = null);
-    null != this.shape && (this.shape.destroy(), this.shape = null);
-    null != this.labelShape && (this.labelShape.destroy(), this.labelShape = null);
-    null != this.constraintHandler && (this.constraintHandler.destroy(), this.constraintHandler = null);
-    if (null != this.bends)
-        for (var a = 0; a < this.bends.length; a++) null != this.bends[a] && (this.bends[a].destroy(), this.bends[a] = null)
+  null != this.marker && (this.marker.destroy(), this.marker = null);
+  null != this.shape && (this.shape.destroy(), this.shape = null);
+  null != this.labelShape && (this.labelShape.destroy(), this.labelShape = null);
+  null != this.constraintHandler && (this.constraintHandler.destroy(), this.constraintHandler = null);
+  if (null != this.bends)
+    for (var a = 0; a < this.bends.length; a++) null != this.bends[a] && (this.bends[a].destroy(), this.bends[a] = null)
 };
 
 function mxElbowEdgeHandler(a) {
-    mxEdgeHandler.call(this, a)
+  mxEdgeHandler.call(this, a)
 }
 mxUtils.extend(mxElbowEdgeHandler, mxEdgeHandler);
 mxElbowEdgeHandler.prototype = new mxEdgeHandler;
@@ -16377,160 +16683,167 @@ mxElbowEdgeHandler.prototype.constructor = mxElbowEdgeHandler;
 mxElbowEdgeHandler.prototype.flipEnabled = !0;
 mxElbowEdgeHandler.prototype.doubleClickOrientationResource = "none" != mxClient.language ? "doubleClickOrientation" : "";
 mxElbowEdgeHandler.prototype.createBends = function() {
-    var a = [],
-        b = this.createHandleShape(0);
-    this.initBend(b);
-    b.node.style.cursor = mxConstants.CURSOR_BEND_HANDLE;
-    mxEvent.redirectMouseEvents(b.node, this.graph, this.state);
-    a.push(b);
-    mxClient.IS_TOUCH && b.node.setAttribute("pointer-events", "none");
-    a.push(this.createVirtualBend());
-    this.points.push(new mxPoint(0, 0));
-    b = this.createHandleShape(2);
-    this.initBend(b);
-    b.node.style.cursor = mxConstants.CURSOR_BEND_HANDLE;
-    mxEvent.redirectMouseEvents(b.node, this.graph, this.state);
-    a.push(b);
-    mxClient.IS_TOUCH && b.node.setAttribute("pointer-events", "none");
-    return a
+  var a = [],
+    b = this.createHandleShape(0);
+  this.initBend(b);
+  b.node.style.cursor = mxConstants.CURSOR_BEND_HANDLE;
+  mxEvent.redirectMouseEvents(b.node, this.graph, this.state);
+  a.push(b);
+  mxClient.IS_TOUCH && b.node.setAttribute("pointer-events", "none");
+  a.push(this.createVirtualBend());
+  this.points.push(new mxPoint(0, 0));
+  b = this.createHandleShape(2);
+  this.initBend(b);
+  b.node.style.cursor = mxConstants.CURSOR_BEND_HANDLE;
+  mxEvent.redirectMouseEvents(b.node, this.graph, this.state);
+  a.push(b);
+  mxClient.IS_TOUCH && b.node.setAttribute("pointer-events", "none");
+  return a
 };
 mxElbowEdgeHandler.prototype.createVirtualBend = function() {
-    var a = this.createHandleShape();
-    this.initBend(a);
-    var b = this.getCursorForBend();
-    a.node.style.cursor = b;
-    b = mxUtils.bind(this, function(a) {
-        !mxEvent.isConsumed(a) && this.flipEnabled && (this.graph.flipEdge(this.state.cell, a), mxEvent.consume(a))
-    });
-    mxEvent.redirectMouseEvents(a.node, this.graph, this.state, null, null, null, b);
-    this.graph.isCellBendable(this.state.cell) || (a.node.style.display = "none");
-    return a
+  var a = this.createHandleShape();
+  this.initBend(a);
+  var b = this.getCursorForBend();
+  a.node.style.cursor = b;
+  b = mxUtils.bind(this, function(a) {
+    !mxEvent.isConsumed(a) && this.flipEnabled && (this.graph.flipEdge(this.state.cell, a), mxEvent.consume(a))
+  });
+  mxEvent.redirectMouseEvents(a.node, this.graph, this.state, null, null, null, b);
+  this.graph.isCellBendable(this.state.cell) || (a.node.style.display = "none");
+  return a
 };
 mxElbowEdgeHandler.prototype.getCursorForBend = function() {
-    return this.state.style[mxConstants.STYLE_EDGE] == mxEdgeStyle.TopToBottom || this.state.style[mxConstants.STYLE_EDGE] == mxConstants.EDGESTYLE_TOPTOBOTTOM || (this.state.style[mxConstants.STYLE_EDGE] == mxEdgeStyle.ElbowConnector || this.state.style[mxConstants.STYLE_EDGE] == mxConstants.EDGESTYLE_ELBOW) && this.state.style[mxConstants.STYLE_ELBOW] == mxConstants.ELBOW_VERTICAL ? "row-resize" : "col-resize"
+  return this.state.style[mxConstants.STYLE_EDGE] == mxEdgeStyle.TopToBottom || this.state.style[mxConstants.STYLE_EDGE] == mxConstants.EDGESTYLE_TOPTOBOTTOM || (this.state.style[mxConstants.STYLE_EDGE] ==
+      mxEdgeStyle.ElbowConnector || this.state.style[mxConstants.STYLE_EDGE] == mxConstants.EDGESTYLE_ELBOW) && this.state.style[mxConstants.STYLE_ELBOW] == mxConstants.ELBOW_VERTICAL ?
+    "row-resize" : "col-resize"
 };
 mxElbowEdgeHandler.prototype.getTooltipForNode = function(a) {
-    var b = null;
-    if (null != this.bends && null != this.bends[1] && (a == this.bends[1].node || a.parentNode == this.bends[1].node)) b = this.doubleClickOrientationResource, b = mxResources.get(b) || b;
-    return b
+  var b = null;
+  if (null != this.bends && null != this.bends[1] && (a == this.bends[1].node || a.parentNode == this.bends[1].node)) b = this.doubleClickOrientationResource, b = mxResources.get(b) || b;
+  return b
 };
 mxElbowEdgeHandler.prototype.convertPoint = function(a, b) {
-    var c = this.graph.getView().getScale(),
-        d = this.graph.getView().getTranslate(),
-        e = this.state.origin;
-    b && (a.x = this.graph.snap(a.x), a.y = this.graph.snap(a.y));
-    a.x = Math.round(a.x / c - d.x - e.x);
-    a.y = Math.round(a.y / c - d.y - e.y)
+  var c = this.graph.getView().getScale(),
+    d = this.graph.getView().getTranslate(),
+    e = this.state.origin;
+  b && (a.x = this.graph.snap(a.x), a.y = this.graph.snap(a.y));
+  a.x = Math.round(a.x / c - d.x - e.x);
+  a.y = Math.round(a.y / c - d.y - e.y)
 };
 mxElbowEdgeHandler.prototype.redrawInnerBends = function(a, b) {
-    var c = this.graph.getModel().getGeometry(this.state.cell).points,
-        c = null != c ? c[0] : null,
-        c = null == c ? new mxPoint(a.x + (b.x - a.x) / 2, a.y + (b.y - a.y) / 2) : new mxPoint(this.graph.getView().scale * (c.x + this.graph.getView().translate.x + this.state.origin.x), this.graph.getView().scale * (c.y + this.graph.getView().translate.y + this.state.origin.y)),
-        d = this.bends[1].bounds,
-        e = d.width,
-        d = d.height;
-    null == this.handleImage && (d = e = mxConstants.HANDLE_SIZE);
-    var f = new mxRectangle(Math.round(c.x -
-        e / 2), Math.round(c.y - d / 2), e, d);
-    null == this.handleImage && ("hidden" != this.labelShape.node.style.visibility && mxUtils.intersects(f, this.labelShape.bounds)) && (e += 3, d += 3, f = new mxRectangle(Math.round(c.x - e / 2), Math.round(c.y - d / 2), e, d));
-    this.bends[1].bounds = f;
-    this.bends[1].redraw()
+  var c = this.graph.getModel().getGeometry(this.state.cell).points,
+    c = null != c ? c[0] : null,
+    c = null == c ? new mxPoint(a.x + (b.x - a.x) / 2, a.y + (b.y - a.y) / 2) : new mxPoint(this.graph.getView().scale * (c.x + this.graph.getView().translate.x + this.state.origin.x), this.graph.getView()
+      .scale * (c.y + this.graph.getView().translate.y + this.state.origin.y)),
+    d = this.bends[1].bounds,
+    e = d.width,
+    d = d.height;
+  null == this.handleImage && (d = e = mxConstants.HANDLE_SIZE);
+  var f = new mxRectangle(Math.round(c.x -
+    e / 2), Math.round(c.y - d / 2), e, d);
+  null == this.handleImage && ("hidden" != this.labelShape.node.style.visibility && mxUtils.intersects(f, this.labelShape.bounds)) && (e += 3, d += 3, f = new mxRectangle(Math.round(c.x - e / 2),
+    Math.round(c.y - d / 2), e, d));
+  this.bends[1].bounds = f;
+  this.bends[1].redraw()
 };
 
 function mxEdgeSegmentHandler(a) {
-    mxEdgeHandler.call(this, a)
+  mxEdgeHandler.call(this, a)
 }
 mxUtils.extend(mxEdgeSegmentHandler, mxEdgeHandler);
 mxEdgeSegmentHandler.prototype = new mxElbowEdgeHandler;
 mxEdgeSegmentHandler.prototype.constructor = mxEdgeSegmentHandler;
 mxEdgeSegmentHandler.prototype.getPreviewPoints = function(a) {
-    if (this.isSource || this.isTarget) return mxElbowEdgeHandler.prototype.getPreviewPoints.apply(this, arguments);
-    this.convertPoint(a, !1);
-    var b = this.state.absolutePoints,
-        c = b[0].clone();
-    this.convertPoint(c, !1);
-    for (var d = [], e = 1; e < b.length; e++) {
-        var f = b[e].clone();
-        this.convertPoint(f, !1);
-        e == this.index && (c.x == f.x ? (c.x = a.x, f.x = a.x) : (c.y = a.y, f.y = a.y));
-        e < b.length - 1 && d.push(f);
-        c = f
-    }
-    if (1 == d.length) {
-        if (c = this.state.view, e = this.state.getVisibleTerminalState(!0),
-            f = this.state.getVisibleTerminalState(!1), null != f & null != e) {
-            var g = this.state.origin.x,
-                h = this.state.origin.y;
-            mxUtils.contains(f, d[0].x + g, d[0].y + h) ? b[1].y == b[2].y ? d[0].y = c.getRoutingCenterY(e) - h : d[0].x = c.getRoutingCenterX(e) - g : mxUtils.contains(e, d[0].x + g, d[0].y + h) && (b[1].y == b[0].y ? d[0].y = c.getRoutingCenterY(f) - h : d[0].x = c.getRoutingCenterX(f) - g)
-        }
-    } else 0 == d.length && (d = [a]);
-    return d
+  if (this.isSource || this.isTarget) return mxElbowEdgeHandler.prototype.getPreviewPoints.apply(this, arguments);
+  this.convertPoint(a, !1);
+  var b = this.state.absolutePoints,
+    c = b[0].clone();
+  this.convertPoint(c, !1);
+  for (var d = [], e = 1; e < b.length; e++) {
+    var f = b[e].clone();
+    this.convertPoint(f, !1);
+    e == this.index && (c.x == f.x ? (c.x = a.x, f.x = a.x) : (c.y = a.y, f.y = a.y));
+    e < b.length - 1 && d.push(f);
+    c = f
+  }
+  if (1 == d.length) {
+    if (c = this.state.view, e = this.state.getVisibleTerminalState(!0),
+      f = this.state.getVisibleTerminalState(!1), null != f & null != e) {
+      var g = this.state.origin.x,
+        h = this.state.origin.y;
+      mxUtils.contains(f, d[0].x + g, d[0].y + h) ? b[1].y == b[2].y ? d[0].y = c.getRoutingCenterY(e) - h : d[0].x = c.getRoutingCenterX(e) - g : mxUtils.contains(e, d[0].x + g, d[0].y + h) && (b[
+        1].y == b[0].y ? d[0].y = c.getRoutingCenterY(f) - h : d[0].x = c.getRoutingCenterX(f) - g)
+    }
+  } else 0 == d.length && (d = [a]);
+  return d
 };
 mxEdgeSegmentHandler.prototype.createBends = function() {
-    var a = [],
-        b = this.createHandleShape(0);
-    this.initBend(b);
-    b.node.style.cursor = mxConstants.CURSOR_BEND_HANDLE;
-    mxEvent.redirectMouseEvents(b.node, this.graph, this.state);
-    a.push(b);
-    mxClient.IS_TOUCH && b.node.setAttribute("pointer-events", "none");
-    var c = this.state.absolutePoints;
-    if (this.graph.isCellBendable(this.state.cell)) {
-        null == this.points && (this.points = []);
-        for (var d = 0; d < c.length - 1; d++) b = this.createVirtualBend(), a.push(b), b.node.style.cursor = 0 == c[d].x -
-            c[d + 1].x ? "col-resize" : "row-resize", this.points.push(new mxPoint(0, 0)), mxClient.IS_TOUCH && b.node.setAttribute("pointer-events", "none")
-    }
-    b = this.createHandleShape(c.length);
-    this.initBend(b);
-    b.node.style.cursor = mxConstants.CURSOR_BEND_HANDLE;
-    mxEvent.redirectMouseEvents(b.node, this.graph, this.state);
-    a.push(b);
-    mxClient.IS_TOUCH && b.node.setAttribute("pointer-events", "none");
-    return a
+  var a = [],
+    b = this.createHandleShape(0);
+  this.initBend(b);
+  b.node.style.cursor = mxConstants.CURSOR_BEND_HANDLE;
+  mxEvent.redirectMouseEvents(b.node, this.graph, this.state);
+  a.push(b);
+  mxClient.IS_TOUCH && b.node.setAttribute("pointer-events", "none");
+  var c = this.state.absolutePoints;
+  if (this.graph.isCellBendable(this.state.cell)) {
+    null == this.points && (this.points = []);
+    for (var d = 0; d < c.length - 1; d++) b = this.createVirtualBend(), a.push(b), b.node.style.cursor = 0 == c[d].x -
+      c[d + 1].x ? "col-resize" : "row-resize", this.points.push(new mxPoint(0, 0)), mxClient.IS_TOUCH && b.node.setAttribute("pointer-events", "none")
+  }
+  b = this.createHandleShape(c.length);
+  this.initBend(b);
+  b.node.style.cursor = mxConstants.CURSOR_BEND_HANDLE;
+  mxEvent.redirectMouseEvents(b.node, this.graph, this.state);
+  a.push(b);
+  mxClient.IS_TOUCH && b.node.setAttribute("pointer-events", "none");
+  return a
 };
 mxEdgeSegmentHandler.prototype.redraw = function() {
-    this.refresh();
-    mxEdgeHandler.prototype.redraw.apply(this, arguments)
+  this.refresh();
+  mxEdgeHandler.prototype.redraw.apply(this, arguments)
 };
 mxEdgeSegmentHandler.prototype.refresh = function() {
-    if (null != this.bends) {
-        for (var a = 0; a < this.bends.length; a++) null != this.bends[a] && (this.bends[a].destroy(), this.bends[a] = null);
-        this.bends = this.createBends()
-    }
+  if (null != this.bends) {
+    for (var a = 0; a < this.bends.length; a++) null != this.bends[a] && (this.bends[a].destroy(), this.bends[a] = null);
+    this.bends = this.createBends()
+  }
 };
 mxEdgeSegmentHandler.prototype.redrawInnerBends = function(a, b) {
-    if (this.graph.isCellBendable(this.state.cell)) {
-        var c = mxConstants.HANDLE_SIZE,
-            d = this.state.absolutePoints;
-        if (null != d && 1 < d.length)
-            for (var e = 0; e < this.state.absolutePoints.length - 1; e++)
-                if (null != this.bends[e + 1]) {
-                    a = d[e];
-                    b = d[e + 1];
-                    var f = new mxPoint(a.x + (b.x - a.x) / 2, a.y + (b.y - a.y) / 2);
-                    this.bends[e + 1].bounds = new mxRectangle(Math.round(f.x - c / 2), Math.round(f.y - c / 2), c, c);
-                    this.bends[e + 1].redraw()
-                }
-    }
+  if (this.graph.isCellBendable(this.state.cell)) {
+    var c = mxConstants.HANDLE_SIZE,
+      d = this.state.absolutePoints;
+    if (null != d && 1 < d.length)
+      for (var e = 0; e < this.state.absolutePoints.length - 1; e++)
+        if (null != this.bends[e + 1]) {
+          a = d[e];
+          b = d[e + 1];
+          var f = new mxPoint(a.x + (b.x - a.x) / 2, a.y + (b.y - a.y) / 2);
+          this.bends[e + 1].bounds = new mxRectangle(Math.round(f.x - c / 2), Math.round(f.y - c / 2), c, c);
+          this.bends[e + 1].redraw()
+        }
+  }
 };
 mxEdgeSegmentHandler.prototype.changePoints = function(a, b) {
-    b = [];
-    var c = this.abspoints;
-    if (1 < c.length)
-        for (var d = c[0], e = c[1], f = 2; f < c.length; f++) {
-            var g = c[f];
-            if ((Math.round(d.x) != Math.round(e.x) || Math.round(e.x) != Math.round(g.x)) && (Math.round(d.y) != Math.round(e.y) || Math.round(e.y) != Math.round(g.y))) d = e, e = e.clone(), this.convertPoint(e, !1), b.push(e);
-            e = g
-        }
-    mxElbowEdgeHandler.prototype.changePoints.apply(this, arguments)
+  b = [];
+  var c = this.abspoints;
+  if (1 < c.length)
+    for (var d = c[0], e = c[1], f = 2; f < c.length; f++) {
+      var g = c[f];
+      if ((Math.round(d.x) != Math.round(e.x) || Math.round(e.x) != Math.round(g.x)) && (Math.round(d.y) != Math.round(e.y) || Math.round(e.y) != Math.round(g.y))) d = e, e = e.clone(), this.convertPoint(
+        e, !1), b.push(e);
+      e = g
+    }
+  mxElbowEdgeHandler.prototype.changePoints.apply(this, arguments)
 };
 
 function mxKeyHandler(a, b) {
-    null != a && (this.graph = a, this.target = b || document.documentElement, this.normalKeys = [], this.shiftKeys = [], this.controlKeys = [], this.controlShiftKeys = [], mxEvent.addListener(this.target, "keydown", mxUtils.bind(this, function(a) {
-        this.keyDown(a)
+  null != a && (this.graph = a, this.target = b || document.documentElement, this.normalKeys = [], this.shiftKeys = [], this.controlKeys = [], this.controlShiftKeys = [], mxEvent.addListener(this.target,
+    "keydown", mxUtils.bind(this, function(a) {
+      this.keyDown(a)
     })), mxClient.IS_IE && mxEvent.addListener(window, "unload", mxUtils.bind(this, function() {
-        this.destroy()
-    })))
+    this.destroy()
+  })))
 }
 mxKeyHandler.prototype.graph = null;
 mxKeyHandler.prototype.target = null;
@@ -16540,55 +16853,56 @@ mxKeyHandler.prototype.controlKeys = null;
 mxKeyHandler.prototype.controlShiftKeys = null;
 mxKeyHandler.prototype.enabled = !0;
 mxKeyHandler.prototype.isEnabled = function() {
-    return this.enabled
+  return this.enabled
 };
 mxKeyHandler.prototype.setEnabled = function(a) {
-    this.enabled = a
+  this.enabled = a
 };
 mxKeyHandler.prototype.bindKey = function(a, b) {
-    this.normalKeys[a] = b
+  this.normalKeys[a] = b
 };
 mxKeyHandler.prototype.bindShiftKey = function(a, b) {
-    this.shiftKeys[a] = b
+  this.shiftKeys[a] = b
 };
 mxKeyHandler.prototype.bindControlKey = function(a, b) {
-    this.controlKeys[a] = b
+  this.controlKeys[a] = b
 };
 mxKeyHandler.prototype.bindControlShiftKey = function(a, b) {
-    this.controlShiftKeys[a] = b
+  this.controlShiftKeys[a] = b
 };
 mxKeyHandler.prototype.isControlDown = function(a) {
-    return mxEvent.isControlDown(a)
+  return mxEvent.isControlDown(a)
 };
 mxKeyHandler.prototype.getFunction = function(a) {
-    return null != a ? this.isControlDown(a) ? mxEvent.isShiftDown(a) ? this.controlShiftKeys[a.keyCode] : this.controlKeys[a.keyCode] : mxEvent.isShiftDown(a) ? this.shiftKeys[a.keyCode] : this.normalKeys[a.keyCode] : null
+  return null != a ? this.isControlDown(a) ? mxEvent.isShiftDown(a) ? this.controlShiftKeys[a.keyCode] : this.controlKeys[a.keyCode] : mxEvent.isShiftDown(a) ? this.shiftKeys[a.keyCode] : this.normalKeys[
+    a.keyCode] : null
 };
 mxKeyHandler.prototype.isGraphEvent = function(a) {
-    a = mxEvent.getSource(a);
-    if (a == this.target || a.parentNode == this.target || null != this.graph.cellEditor && a == this.graph.cellEditor.textarea) return !0;
-    for (; null != a;) {
-        if (a == this.graph.container) return !0;
-        a = a.parentNode
-    }
-    return !1
+  a = mxEvent.getSource(a);
+  if (a == this.target || a.parentNode == this.target || null != this.graph.cellEditor && a == this.graph.cellEditor.textarea) return !0;
+  for (; null != a;) {
+    if (a == this.graph.container) return !0;
+    a = a.parentNode
+  }
+  return !1
 };
 mxKeyHandler.prototype.keyDown = function(a) {
-    if (this.graph.isEnabled() && !mxEvent.isConsumed(a) && this.isGraphEvent(a) && this.isEnabled())
-        if (27 == a.keyCode) this.escape(a);
-        else if (!this.graph.isEditing()) {
-        var b = this.getFunction(a);
-        null != b && (b(a), mxEvent.consume(a))
-    }
+  if (this.graph.isEnabled() && !mxEvent.isConsumed(a) && this.isGraphEvent(a) && this.isEnabled())
+    if (27 == a.keyCode) this.escape(a);
+    else if (!this.graph.isEditing()) {
+    var b = this.getFunction(a);
+    null != b && (b(a), mxEvent.consume(a))
+  }
 };
 mxKeyHandler.prototype.escape = function(a) {
-    this.graph.isEscapeEnabled() && this.graph.escape(a)
+  this.graph.isEscapeEnabled() && this.graph.escape(a)
 };
 mxKeyHandler.prototype.destroy = function() {
-    this.target = null
+  this.target = null
 };
 
 function mxTooltipHandler(a, b) {
-    null != a && (this.graph = a, this.delay = b || 500, this.graph.addMouseListener(this))
+  null != a && (this.graph = a, this.delay = b || 500, this.graph.addMouseListener(this))
 }
 mxTooltipHandler.prototype.zIndex = 10005;
 mxTooltipHandler.prototype.graph = null;
@@ -16596,108 +16910,112 @@ mxTooltipHandler.prototype.delay = null;
 mxTooltipHandler.prototype.hideOnHover = !1;
 mxTooltipHandler.prototype.enabled = !0;
 mxTooltipHandler.prototype.isEnabled = function() {
-    return this.enabled
+  return this.enabled
 };
 mxTooltipHandler.prototype.setEnabled = function(a) {
-    this.enabled = a
+  this.enabled = a
 };
 mxTooltipHandler.prototype.isHideOnHover = function() {
-    return this.hideOnHover
+  return this.hideOnHover
 };
 mxTooltipHandler.prototype.setHideOnHover = function(a) {
-    this.hideOnHover = a
+  this.hideOnHover = a
 };
 mxTooltipHandler.prototype.init = function() {
-    null != document.body && (this.div = document.createElement("div"), this.div.className = "mxTooltip", this.div.style.visibility = "hidden", this.div.style.zIndex = this.zIndex, document.body.appendChild(this.div), mxEvent.addListener(this.div, "mousedown", mxUtils.bind(this, function(a) {
-        this.hideTooltip()
-    })))
+  null != document.body && (this.div = document.createElement("div"), this.div.className = "mxTooltip", this.div.style.visibility = "hidden", this.div.style.zIndex = this.zIndex, document.body.appendChild(
+    this.div), mxEvent.addListener(this.div, "mousedown", mxUtils.bind(this, function(a) {
+    this.hideTooltip()
+  })))
 };
 mxTooltipHandler.prototype.mouseDown = function(a, b) {
-    this.reset(b, !1);
-    this.hideTooltip()
+  this.reset(b, !1);
+  this.hideTooltip()
 };
 mxTooltipHandler.prototype.mouseMove = function(a, b) {
-    if (b.getX() != this.lastX || b.getY() != this.lastY) this.reset(b, !0), (this.isHideOnHover() || b.getState() != this.state || b.getSource() != this.node && (!this.stateSource || null != b.getState() && this.stateSource == (b.isSource(b.getState().shape) || !b.isSource(b.getState().text)))) && this.hideTooltip();
-    this.lastX = b.getX();
-    this.lastY = b.getY()
+  if (b.getX() != this.lastX || b.getY() != this.lastY) this.reset(b, !0), (this.isHideOnHover() || b.getState() != this.state || b.getSource() != this.node && (!this.stateSource || null != b.getState() &&
+    this.stateSource == (b.isSource(b.getState().shape) || !b.isSource(b.getState().text)))) && this.hideTooltip();
+  this.lastX = b.getX();
+  this.lastY = b.getY()
 };
 mxTooltipHandler.prototype.mouseUp = function(a, b) {
-    this.reset(b, !0);
-    this.hideTooltip()
+  this.reset(b, !0);
+  this.hideTooltip()
 };
 mxTooltipHandler.prototype.resetTimer = function() {
-    null != this.thread && (window.clearTimeout(this.thread), this.thread = null)
+  null != this.thread && (window.clearTimeout(this.thread), this.thread = null)
 };
 mxTooltipHandler.prototype.reset = function(a, b) {
-    this.resetTimer();
-    if (b && this.isEnabled() && null != a.getState() && (null == this.div || "hidden" == this.div.style.visibility)) {
-        var c = a.getState(),
-            d = a.getSource(),
-            e = a.getX(),
-            f = a.getY(),
-            g = a.isSource(c.shape) || a.isSource(c.text);
-        this.thread = window.setTimeout(mxUtils.bind(this, function() {
-            if (!this.graph.isEditing() && !this.graph.panningHandler.isMenuShowing()) {
-                var a = this.graph.getTooltip(c, d, e, f);
-                this.show(a, e, f);
-                this.state = c;
-                this.node = d;
-                this.stateSource = g
-            }
-        }), this.delay)
-    }
+  this.resetTimer();
+  if (b && this.isEnabled() && null != a.getState() && (null == this.div || "hidden" == this.div.style.visibility)) {
+    var c = a.getState(),
+      d = a.getSource(),
+      e = a.getX(),
+      f = a.getY(),
+      g = a.isSource(c.shape) || a.isSource(c.text);
+    this.thread = window.setTimeout(mxUtils.bind(this, function() {
+      if (!this.graph.isEditing() && !this.graph.panningHandler.isMenuShowing()) {
+        var a = this.graph.getTooltip(c, d, e, f);
+        this.show(a, e, f);
+        this.state = c;
+        this.node = d;
+        this.stateSource = g
+      }
+    }), this.delay)
+  }
 };
 mxTooltipHandler.prototype.hide = function() {
-    this.resetTimer();
-    this.hideTooltip()
+  this.resetTimer();
+  this.hideTooltip()
 };
 mxTooltipHandler.prototype.hideTooltip = function() {
-    null != this.div && (this.div.style.visibility = "hidden")
+  null != this.div && (this.div.style.visibility = "hidden")
 };
 mxTooltipHandler.prototype.show = function(a, b, c) {
-    if (null != a && 0 < a.length) {
-        null == this.div && this.init();
-        var d = mxUtils.getScrollOrigin();
-        this.div.style.left = b + d.x + "px";
-        this.div.style.top = c + mxConstants.TOOLTIP_VERTICAL_OFFSET + d.y + "px";
-        mxUtils.isNode(a) ? (this.div.innerHTML = "", this.div.appendChild(a)) : this.div.innerHTML = a.replace(/\n/g, "\x3cbr\x3e");
-        this.div.style.visibility = "";
-        mxUtils.fit(this.div)
-    }
+  if (null != a && 0 < a.length) {
+    null == this.div && this.init();
+    var d = mxUtils.getScrollOrigin();
+    this.div.style.left = b + d.x + "px";
+    this.div.style.top = c + mxConstants.TOOLTIP_VERTICAL_OFFSET + d.y + "px";
+    mxUtils.isNode(a) ? (this.div.innerHTML = "", this.div.appendChild(a)) : this.div.innerHTML = a.replace(/\n/g, "\x3cbr\x3e");
+    this.div.style.visibility = "";
+    mxUtils.fit(this.div)
+  }
 };
 mxTooltipHandler.prototype.destroy = function() {
-    this.graph.removeMouseListener(this);
-    mxEvent.release(this.div);
-    null != this.div && null != this.div.parentNode && this.div.parentNode.removeChild(this.div);
-    this.div = null
+  this.graph.removeMouseListener(this);
+  mxEvent.release(this.div);
+  null != this.div && null != this.div.parentNode && this.div.parentNode.removeChild(this.div);
+  this.div = null
 };
 
 function mxCellTracker(a, b, c) {
-    mxCellMarker.call(this, a, b);
-    this.graph.addMouseListener(this);
-    null != c && (this.getCell = c);
-    mxClient.IS_IE && mxEvent.addListener(window, "unload", mxUtils.bind(this, function() {
-        this.destroy()
-    }))
+  mxCellMarker.call(this, a, b);
+  this.graph.addMouseListener(this);
+  null != c && (this.getCell = c);
+  mxClient.IS_IE && mxEvent.addListener(window, "unload", mxUtils.bind(this, function() {
+    this.destroy()
+  }))
 }
 mxUtils.extend(mxCellTracker, mxCellMarker);
 mxCellTracker.prototype.mouseDown = function(a, b) {};
 mxCellTracker.prototype.mouseMove = function(a, b) {
-    this.isEnabled() && this.process(b)
+  this.isEnabled() && this.process(b)
 };
 mxCellTracker.prototype.mouseUp = function(a, b) {
-    this.reset()
+  this.reset()
 };
 mxCellTracker.prototype.destroy = function() {
-    this.destroyed || (this.destroyed = !0, this.graph.removeMouseListener(this), mxCellMarker.prototype.destroy.apply(this))
+  this.destroyed || (this.destroyed = !0, this.graph.removeMouseListener(this), mxCellMarker.prototype.destroy.apply(this))
 };
 
 function mxCellHighlight(a, b, c, d) {
-    null != a && (this.graph = a, this.highlightColor = null != b ? b : mxConstants.DEFAULT_VALID_COLOR, this.strokeWidth = null != c ? c : mxConstants.HIGHLIGHT_STROKEWIDTH, this.dashed = null != d ? d : !1, this.repaintHandler = mxUtils.bind(this, function() {
-        this.repaint()
-    }), this.graph.getView().addListener(mxEvent.SCALE, this.repaintHandler), this.graph.getView().addListener(mxEvent.TRANSLATE, this.repaintHandler), this.graph.getView().addListener(mxEvent.SCALE_AND_TRANSLATE, this.repaintHandler), this.graph.getModel().addListener(mxEvent.CHANGE,
-        this.repaintHandler), this.resetHandler = mxUtils.bind(this, function() {
-        this.hide()
+  null != a && (this.graph = a, this.highlightColor = null != b ? b : mxConstants.DEFAULT_VALID_COLOR, this.strokeWidth = null != c ? c : mxConstants.HIGHLIGHT_STROKEWIDTH, this.dashed = null != d ?
+    d : !1, this.repaintHandler = mxUtils.bind(this, function() {
+      this.repaint()
+    }), this.graph.getView().addListener(mxEvent.SCALE, this.repaintHandler), this.graph.getView().addListener(mxEvent.TRANSLATE, this.repaintHandler), this.graph.getView().addListener(mxEvent.SCALE_AND_TRANSLATE,
+      this.repaintHandler), this.graph.getModel().addListener(mxEvent.CHANGE,
+      this.repaintHandler), this.resetHandler = mxUtils.bind(this, function() {
+      this.hide()
     }), this.graph.getView().addListener(mxEvent.DOWN, this.resetHandler), this.graph.getView().addListener(mxEvent.UP, this.resetHandler))
 }
 mxCellHighlight.prototype.keepOnTop = !1;
@@ -16706,138 +17024,140 @@ mxCellHighlight.prototype.state = null;
 mxCellHighlight.prototype.spacing = 2;
 mxCellHighlight.prototype.resetHandler = null;
 mxCellHighlight.prototype.setHighlightColor = function(a) {
-    this.highlightColor = a;
-    null != this.shape && (this.shape.stroke = a)
+  this.highlightColor = a;
+  null != this.shape && (this.shape.stroke = a)
 };
 mxCellHighlight.prototype.drawHighlight = function() {
-    this.shape = this.createShape();
-    this.repaint();
-    !this.keepOnTop && this.shape.node.parentNode.firstChild != this.shape.node && this.shape.node.parentNode.insertBefore(this.shape.node, this.shape.node.parentNode.firstChild)
+  this.shape = this.createShape();
+  this.repaint();
+  !this.keepOnTop && this.shape.node.parentNode.firstChild != this.shape.node && this.shape.node.parentNode.insertBefore(this.shape.node, this.shape.node.parentNode.firstChild)
 };
 mxCellHighlight.prototype.createShape = function() {
-    var a = null,
-        a = this.graph.model.isEdge(this.state.cell) ? new mxPolyline(this.state.absolutePoints, this.highlightColor, this.strokeWidth) : new mxRectangleShape(new mxRectangle, null, this.highlightColor, this.strokeWidth);
-    a.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_VML : mxConstants.DIALECT_SVG;
-    a.init(this.graph.getView().getOverlayPane());
-    mxEvent.redirectMouseEvents(a.node, this.graph, this.state);
-    a.svgStrokeTolerance = 0;
-    a.pointerEvents = !1;
-    a.isDashed = this.dashed;
-    return a
+  var a = null,
+    a = this.graph.model.isEdge(this.state.cell) ? new mxPolyline(this.state.absolutePoints, this.highlightColor, this.strokeWidth) : new mxRectangleShape(new mxRectangle, null, this.highlightColor,
+      this.strokeWidth);
+  a.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_VML : mxConstants.DIALECT_SVG;
+  a.init(this.graph.getView().getOverlayPane());
+  mxEvent.redirectMouseEvents(a.node, this.graph, this.state);
+  a.svgStrokeTolerance = 0;
+  a.pointerEvents = !1;
+  a.isDashed = this.dashed;
+  return a
 };
 mxCellHighlight.prototype.repaint = function() {
-    if (null != this.state && null != this.shape) {
-        var a = 0;
-        this.graph.model.isEdge(this.state.cell) ? this.shape.points = this.state.absolutePoints : (this.shape.bounds = new mxRectangle(this.state.x - this.spacing, this.state.y - this.spacing, this.state.width + 2 * this.spacing, this.state.height + 2 * this.spacing), a = Number(this.state.style[mxConstants.STYLE_ROTATION] || "0"));
-        null != this.state.shape && this.shape.setCursor(this.state.shape.getCursor());
-        0 != a && (this.shape.rotation = a);
-        this.shape.redraw()
-    }
+  if (null != this.state && null != this.shape) {
+    var a = 0;
+    this.graph.model.isEdge(this.state.cell) ? this.shape.points = this.state.absolutePoints : (this.shape.bounds = new mxRectangle(this.state.x - this.spacing, this.state.y - this.spacing, this.state
+      .width + 2 * this.spacing, this.state.height + 2 * this.spacing), a = Number(this.state.style[mxConstants.STYLE_ROTATION] || "0"));
+    null != this.state.shape && this.shape.setCursor(this.state.shape.getCursor());
+    0 != a && (this.shape.rotation = a);
+    this.shape.redraw()
+  }
 };
 mxCellHighlight.prototype.hide = function() {
-    this.highlight(null)
+  this.highlight(null)
 };
 mxCellHighlight.prototype.highlight = function(a) {
-    this.state != a && (null != this.shape && (this.shape.destroy(), this.shape = null), this.state = a, null != this.state && this.drawHighlight())
+  this.state != a && (null != this.shape && (this.shape.destroy(), this.shape = null), this.state = a, null != this.state && this.drawHighlight())
 };
 mxCellHighlight.prototype.destroy = function() {
-    this.graph.getView().removeListener(this.repaintHandler);
-    this.graph.getModel().removeListener(this.repaintHandler);
-    this.graph.getView().removeListener(this.resetHandler);
-    this.graph.getModel().removeListener(this.resetHandler);
-    null != this.shape && (this.shape.destroy(), this.shape = null)
+  this.graph.getView().removeListener(this.repaintHandler);
+  this.graph.getModel().removeListener(this.repaintHandler);
+  this.graph.getView().removeListener(this.resetHandler);
+  this.graph.getModel().removeListener(this.resetHandler);
+  null != this.shape && (this.shape.destroy(), this.shape = null)
 };
 
 function mxDefaultKeyHandler(a) {
-    if (null != a) {
-        this.editor = a;
-        this.handler = new mxKeyHandler(a.graph);
-        var b = this.handler.escape;
-        this.handler.escape = function(c) {
-            b.apply(this, arguments);
-            a.hideProperties();
-            a.fireEvent(new mxEventObject(mxEvent.ESCAPE, "event", c))
-        }
-    }
+  if (null != a) {
+    this.editor = a;
+    this.handler = new mxKeyHandler(a.graph);
+    var b = this.handler.escape;
+    this.handler.escape = function(c) {
+      b.apply(this, arguments);
+      a.hideProperties();
+      a.fireEvent(new mxEventObject(mxEvent.ESCAPE, "event", c))
+    }
+  }
 }
 mxDefaultKeyHandler.prototype.editor = null;
 mxDefaultKeyHandler.prototype.handler = null;
 mxDefaultKeyHandler.prototype.bindAction = function(a, b, c) {
-    var d = mxUtils.bind(this, function() {
-        this.editor.execute(b)
-    });
-    c ? this.handler.bindControlKey(a, d) : this.handler.bindKey(a, d)
+  var d = mxUtils.bind(this, function() {
+    this.editor.execute(b)
+  });
+  c ? this.handler.bindControlKey(a, d) : this.handler.bindKey(a, d)
 };
 mxDefaultKeyHandler.prototype.destroy = function() {
-    this.handler.destroy();
-    this.handler = null
+  this.handler.destroy();
+  this.handler = null
 };
 
 function mxDefaultPopupMenu(a) {
-    this.config = a
+  this.config = a
 }
 mxDefaultPopupMenu.prototype.imageBasePath = null;
 mxDefaultPopupMenu.prototype.config = null;
 mxDefaultPopupMenu.prototype.createMenu = function(a, b, c, d) {
-    if (null != this.config) {
-        var e = this.createConditions(a, c, d);
-        this.addItems(a, b, c, d, e, this.config.firstChild, null)
-    }
+  if (null != this.config) {
+    var e = this.createConditions(a, c, d);
+    this.addItems(a, b, c, d, e, this.config.firstChild, null)
+  }
 };
 mxDefaultPopupMenu.prototype.addItems = function(a, b, c, d, e, f, g) {
-    for (var h = !1; null != f;) {
-        if ("add" == f.nodeName) {
-            var k = f.getAttribute("if");
-            if (null == k || e[k]) {
-                var k = f.getAttribute("as"),
-                    k = mxResources.get(k) || k,
-                    l = mxUtils.eval(mxUtils.getTextContent(f)),
-                    m = f.getAttribute("action"),
-                    n = f.getAttribute("icon"),
-                    p = f.getAttribute("iconCls");
-                h && (b.addSeparator(g), h = !1);
-                null != n && this.imageBasePath && (n = this.imageBasePath + n);
-                k = this.addAction(b, a, k, n, l, m, c, g, p);
-                this.addItems(a, b, c, d, e, f.firstChild, k)
-            }
-        } else "separator" ==
-            f.nodeName && (h = !0);
-        f = f.nextSibling
-    }
+  for (var h = !1; null != f;) {
+    if ("add" == f.nodeName) {
+      var k = f.getAttribute("if");
+      if (null == k || e[k]) {
+        var k = f.getAttribute("as"),
+          k = mxResources.get(k) || k,
+          l = mxUtils.eval(mxUtils.getTextContent(f)),
+          m = f.getAttribute("action"),
+          n = f.getAttribute("icon"),
+          p = f.getAttribute("iconCls");
+        h && (b.addSeparator(g), h = !1);
+        null != n && this.imageBasePath && (n = this.imageBasePath + n);
+        k = this.addAction(b, a, k, n, l, m, c, g, p);
+        this.addItems(a, b, c, d, e, f.firstChild, k)
+      }
+    } else "separator" ==
+      f.nodeName && (h = !0);
+    f = f.nextSibling
+  }
 };
 mxDefaultPopupMenu.prototype.addAction = function(a, b, c, d, e, f, g, h, k) {
-    return a.addItem(c, d, function(a) {
-        "function" == typeof e && e.call(b, b, g, a);
-        null != f && b.execute(f, g, a)
-    }, h, k)
+  return a.addItem(c, d, function(a) {
+    "function" == typeof e && e.call(b, b, g, a);
+    null != f && b.execute(f, g, a)
+  }, h, k)
 };
 mxDefaultPopupMenu.prototype.createConditions = function(a, b, c) {
-    var d = a.graph.getModel(),
-        e = d.getChildCount(b),
-        f = [];
-    f.nocell = null == b;
-    f.ncells = 1 < a.graph.getSelectionCount();
-    f.notRoot = d.getRoot() != d.getParent(a.graph.getDefaultParent());
-    f.cell = null != b;
-    d = null != b && 1 == a.graph.getSelectionCount();
-    f.nonEmpty = d && 0 < e;
-    f.expandable = d && a.graph.isCellFoldable(b, !1);
-    f.collapsable = d && a.graph.isCellFoldable(b, !0);
-    f.validRoot = d && a.graph.isValidRoot(b);
-    f.emptyValidRoot = f.validRoot && 0 == e;
-    f.swimlane = d && a.graph.isSwimlane(b);
-    e = this.config.getElementsByTagName("condition");
-    for (d = 0; d < e.length; d++) {
-        var g = mxUtils.eval(mxUtils.getTextContent(e[d])),
-            h = e[d].getAttribute("name");
-        null != h && "function" == typeof g && (f[h] = g(a, b, c))
-    }
-    return f
+  var d = a.graph.getModel(),
+    e = d.getChildCount(b),
+    f = [];
+  f.nocell = null == b;
+  f.ncells = 1 < a.graph.getSelectionCount();
+  f.notRoot = d.getRoot() != d.getParent(a.graph.getDefaultParent());
+  f.cell = null != b;
+  d = null != b && 1 == a.graph.getSelectionCount();
+  f.nonEmpty = d && 0 < e;
+  f.expandable = d && a.graph.isCellFoldable(b, !1);
+  f.collapsable = d && a.graph.isCellFoldable(b, !0);
+  f.validRoot = d && a.graph.isValidRoot(b);
+  f.emptyValidRoot = f.validRoot && 0 == e;
+  f.swimlane = d && a.graph.isSwimlane(b);
+  e = this.config.getElementsByTagName("condition");
+  for (d = 0; d < e.length; d++) {
+    var g = mxUtils.eval(mxUtils.getTextContent(e[d])),
+      h = e[d].getAttribute("name");
+    null != h && "function" == typeof g && (f[h] = g(a, b, c))
+  }
+  return f
 };
 
 function mxDefaultToolbar(a, b) {
-    this.editor = b;
-    null != a && null != b && this.init(a)
+  this.editor = b;
+  null != a && null != b && this.init(a)
 }
 mxDefaultToolbar.prototype.editor = null;
 mxDefaultToolbar.prototype.toolbar = null;
@@ -16845,149 +17165,149 @@ mxDefaultToolbar.prototype.resetHandler = null;
 mxDefaultToolbar.prototype.spacing = 4;
 mxDefaultToolbar.prototype.connectOnDrop = !1;
 mxDefaultToolbar.prototype.init = function(a) {
-    null != a && (this.toolbar = new mxToolbar(a), this.toolbar.addListener(mxEvent.SELECT, mxUtils.bind(this, function(a, c) {
-        var d = c.getProperty("function");
-        this.editor.insertFunction = null != d ? mxUtils.bind(this, function() {
-            d.apply(this, arguments);
-            this.toolbar.resetMode()
-        }) : null
-    })), this.resetHandler = mxUtils.bind(this, function() {
-        null != this.toolbar && this.toolbar.resetMode(!0)
-    }), this.editor.graph.addListener(mxEvent.DOUBLE_CLICK, this.resetHandler), this.editor.addListener(mxEvent.ESCAPE,
-        this.resetHandler))
+  null != a && (this.toolbar = new mxToolbar(a), this.toolbar.addListener(mxEvent.SELECT, mxUtils.bind(this, function(a, c) {
+    var d = c.getProperty("function");
+    this.editor.insertFunction = null != d ? mxUtils.bind(this, function() {
+      d.apply(this, arguments);
+      this.toolbar.resetMode()
+    }) : null
+  })), this.resetHandler = mxUtils.bind(this, function() {
+    null != this.toolbar && this.toolbar.resetMode(!0)
+  }), this.editor.graph.addListener(mxEvent.DOUBLE_CLICK, this.resetHandler), this.editor.addListener(mxEvent.ESCAPE,
+    this.resetHandler))
 };
 mxDefaultToolbar.prototype.addItem = function(a, b, c, d) {
-    var e = mxUtils.bind(this, function() {
-        null != c && 0 < c.length && this.editor.execute(c)
-    });
-    return this.toolbar.addItem(a, b, e, d)
+  var e = mxUtils.bind(this, function() {
+    null != c && 0 < c.length && this.editor.execute(c)
+  });
+  return this.toolbar.addItem(a, b, e, d)
 };
 mxDefaultToolbar.prototype.addSeparator = function(a) {
-    a = a || mxClient.imageBasePath + "/separator.gif";
-    this.toolbar.addSeparator(a)
+  a = a || mxClient.imageBasePath + "/separator.gif";
+  this.toolbar.addSeparator(a)
 };
 mxDefaultToolbar.prototype.addCombo = function() {
-    return this.toolbar.addCombo()
+  return this.toolbar.addCombo()
 };
 mxDefaultToolbar.prototype.addActionCombo = function(a) {
-    return this.toolbar.addActionCombo(a)
+  return this.toolbar.addActionCombo(a)
 };
 mxDefaultToolbar.prototype.addActionOption = function(a, b, c) {
-    var d = mxUtils.bind(this, function() {
-        this.editor.execute(c)
-    });
-    this.addOption(a, b, d)
+  var d = mxUtils.bind(this, function() {
+    this.editor.execute(c)
+  });
+  this.addOption(a, b, d)
 };
 mxDefaultToolbar.prototype.addOption = function(a, b, c) {
-    return this.toolbar.addOption(a, b, c)
+  return this.toolbar.addOption(a, b, c)
 };
 mxDefaultToolbar.prototype.addMode = function(a, b, c, d, e) {
-    var f = mxUtils.bind(this, function() {
-        this.editor.setMode(c);
-        null != e && e(this.editor)
-    });
-    return this.toolbar.addSwitchMode(a, b, f, d)
+  var f = mxUtils.bind(this, function() {
+    this.editor.setMode(c);
+    null != e && e(this.editor)
+  });
+  return this.toolbar.addSwitchMode(a, b, f, d)
 };
 mxDefaultToolbar.prototype.addPrototype = function(a, b, c, d, e, f) {
-    var g = function() {
-            return "function" == typeof c ? c() : null != c ? c.clone() : null
-        },
-        h = mxUtils.bind(this, function(a, b) {
-            "function" == typeof e ? e(this.editor, g(), a, b) : this.drop(g(), a, b);
-            this.toolbar.resetMode();
-            mxEvent.consume(a)
-        });
-    a = this.toolbar.addMode(a, b, h, d, null, f);
-    this.installDropHandler(a, function(a, b, c) {
-        h(b, c)
+  var g = function() {
+      return "function" == typeof c ? c() : null != c ? c.clone() : null
+    },
+    h = mxUtils.bind(this, function(a, b) {
+      "function" == typeof e ? e(this.editor, g(), a, b) : this.drop(g(), a, b);
+      this.toolbar.resetMode();
+      mxEvent.consume(a)
     });
-    return a
+  a = this.toolbar.addMode(a, b, h, d, null, f);
+  this.installDropHandler(a, function(a, b, c) {
+    h(b, c)
+  });
+  return a
 };
 mxDefaultToolbar.prototype.drop = function(a, b, c) {
-    var d = this.editor.graph,
-        e = d.getModel();
-    if (null == c || e.isEdge(c) || !this.connectOnDrop || !d.isCellConnectable(c)) {
-        for (; null != c && !d.isValidDropTarget(c, [a], b);) c = e.getParent(c);
-        this.insert(a, b, c)
-    } else this.connect(a, b, c)
+  var d = this.editor.graph,
+    e = d.getModel();
+  if (null == c || e.isEdge(c) || !this.connectOnDrop || !d.isCellConnectable(c)) {
+    for (; null != c && !d.isValidDropTarget(c, [a], b);) c = e.getParent(c);
+    this.insert(a, b, c)
+  } else this.connect(a, b, c)
 };
 mxDefaultToolbar.prototype.insert = function(a, b, c) {
-    var d = this.editor.graph;
-    if (d.canImportCell(a)) {
-        var e = mxEvent.getClientX(b),
-            f = mxEvent.getClientY(b),
-            e = mxUtils.convertPoint(d.container, e, f);
-        return d.isSplitEnabled() && d.isSplitTarget(c, [a], b) ? d.splitEdge(c, [a], null, e.x, e.y) : this.editor.addVertex(c, a, e.x, e.y)
-    }
-    return null
+  var d = this.editor.graph;
+  if (d.canImportCell(a)) {
+    var e = mxEvent.getClientX(b),
+      f = mxEvent.getClientY(b),
+      e = mxUtils.convertPoint(d.container, e, f);
+    return d.isSplitEnabled() && d.isSplitTarget(c, [a], b) ? d.splitEdge(c, [a], null, e.x, e.y) : this.editor.addVertex(c, a, e.x, e.y)
+  }
+  return null
 };
 mxDefaultToolbar.prototype.connect = function(a, b, c) {
-    b = this.editor.graph;
-    var d = b.getModel();
-    if (null != c && b.isCellConnectable(a) && b.isEdgeValid(null, c, a)) {
-        var e = null;
-        d.beginUpdate();
-        try {
-            var f = d.getGeometry(c),
-                g = d.getGeometry(a).clone();
-            g.x = f.x + (f.width - g.width) / 2;
-            g.y = f.y + (f.height - g.height) / 2;
-            var h = this.spacing * b.gridSize,
-                k = 20 * d.getDirectedEdgeCount(c, !0);
-            this.editor.horizontalFlow ? g.x += (g.width + f.width) / 2 + h + k : g.y += (g.height + f.height) / 2 + h + k;
-            a.setGeometry(g);
-            var l = d.getParent(c);
-            b.addCell(a, l);
-            b.constrainChild(a);
-            e = this.editor.createEdge(c, a);
-            if (null == d.getGeometry(e)) {
-                var m = new mxGeometry;
-                m.relative = !0;
-                d.setGeometry(e, m)
-            }
-            b.addEdge(e, l, c, a)
-        } finally {
-            d.endUpdate()
-        }
-        b.setSelectionCells([a, e]);
-        b.scrollCellToVisible(a)
+  b = this.editor.graph;
+  var d = b.getModel();
+  if (null != c && b.isCellConnectable(a) && b.isEdgeValid(null, c, a)) {
+    var e = null;
+    d.beginUpdate();
+    try {
+      var f = d.getGeometry(c),
+        g = d.getGeometry(a).clone();
+      g.x = f.x + (f.width - g.width) / 2;
+      g.y = f.y + (f.height - g.height) / 2;
+      var h = this.spacing * b.gridSize,
+        k = 20 * d.getDirectedEdgeCount(c, !0);
+      this.editor.horizontalFlow ? g.x += (g.width + f.width) / 2 + h + k : g.y += (g.height + f.height) / 2 + h + k;
+      a.setGeometry(g);
+      var l = d.getParent(c);
+      b.addCell(a, l);
+      b.constrainChild(a);
+      e = this.editor.createEdge(c, a);
+      if (null == d.getGeometry(e)) {
+        var m = new mxGeometry;
+        m.relative = !0;
+        d.setGeometry(e, m)
+      }
+      b.addEdge(e, l, c, a)
+    } finally {
+      d.endUpdate()
     }
+    b.setSelectionCells([a, e]);
+    b.scrollCellToVisible(a)
+  }
 };
 mxDefaultToolbar.prototype.installDropHandler = function(a, b) {
-    var c = document.createElement("img");
-    c.setAttribute("src", a.getAttribute("src"));
-    var d = mxUtils.bind(this, function(e) {
-        c.style.width = 2 * a.offsetWidth + "px";
-        c.style.height = 2 * a.offsetHeight + "px";
-        mxUtils.makeDraggable(a, this.editor.graph, b, c);
-        mxEvent.removeListener(c, "load", d)
-    });
-    mxClient.IS_IE ? d() : mxEvent.addListener(c, "load", d)
+  var c = document.createElement("img");
+  c.setAttribute("src", a.getAttribute("src"));
+  var d = mxUtils.bind(this, function(e) {
+    c.style.width = 2 * a.offsetWidth + "px";
+    c.style.height = 2 * a.offsetHeight + "px";
+    mxUtils.makeDraggable(a, this.editor.graph, b, c);
+    mxEvent.removeListener(c, "load", d)
+  });
+  mxClient.IS_IE ? d() : mxEvent.addListener(c, "load", d)
 };
 mxDefaultToolbar.prototype.destroy = function() {
-    null != this.resetHandler && (this.editor.graph.removeListener("dblclick", this.resetHandler), this.editor.removeListener("escape", this.resetHandler), this.resetHandler = null);
-    null != this.toolbar && (this.toolbar.destroy(), this.toolbar = null)
+  null != this.resetHandler && (this.editor.graph.removeListener("dblclick", this.resetHandler), this.editor.removeListener("escape", this.resetHandler), this.resetHandler = null);
+  null != this.toolbar && (this.toolbar.destroy(), this.toolbar = null)
 };
 
 function mxEditor(a) {
-    this.actions = [];
-    this.addActions();
-    if (null != document.body) {
-        this.cycleAttributeValues = [];
-        this.popupHandler = new mxDefaultPopupMenu;
-        this.undoManager = new mxUndoManager;
-        this.graph = this.createGraph();
-        this.toolbar = this.createToolbar();
-        this.keyHandler = new mxDefaultKeyHandler(this);
-        this.configure(a);
-        this.graph.swimlaneIndicatorColorAttribute = this.cycleAttributeName;
-        !mxClient.IS_LOCAL && null != this.urlInit && (this.session = this.createSession());
-        if (null != this.onInit) this.onInit();
-        mxClient.IS_IE &&
-            mxEvent.addListener(window, "unload", mxUtils.bind(this, function() {
-                this.destroy()
-            }))
-    }
+  this.actions = [];
+  this.addActions();
+  if (null != document.body) {
+    this.cycleAttributeValues = [];
+    this.popupHandler = new mxDefaultPopupMenu;
+    this.undoManager = new mxUndoManager;
+    this.graph = this.createGraph();
+    this.toolbar = this.createToolbar();
+    this.keyHandler = new mxDefaultKeyHandler(this);
+    this.configure(a);
+    this.graph.swimlaneIndicatorColorAttribute = this.cycleAttributeName;
+    !mxClient.IS_LOCAL && null != this.urlInit && (this.session = this.createSession());
+    if (null != this.onInit) this.onInit();
+    mxClient.IS_IE &&
+      mxEvent.addListener(window, "unload", mxUtils.bind(this, function() {
+        this.destroy()
+      }))
+  }
 }
 mxLoadResources && mxResources.add(mxClient.basePath + "/resources/editor");
 mxEditor.prototype = new mxEventSource;
@@ -17050,793 +17370,802 @@ mxEditor.prototype.movePropertiesDialog = !1;
 mxEditor.prototype.validating = !1;
 mxEditor.prototype.modified = !1;
 mxEditor.prototype.isModified = function() {
-    return this.modified
+  return this.modified
 };
 mxEditor.prototype.setModified = function(a) {
-    this.modified = a
+  this.modified = a
 };
 mxEditor.prototype.addActions = function() {
-    this.addAction("save", function(a) {
-        a.save()
-    });
-    this.addAction("print", function(a) {
-        (new mxPrintPreview(a.graph, 1)).open()
-    });
-    this.addAction("show", function(a) {
-        mxUtils.show(a.graph, null, 10, 10)
-    });
-    this.addAction("exportImage", function(a) {
-        var b = a.getUrlImage();
-        if (null == b || mxClient.IS_LOCAL) a.execute("show");
-        else {
-            var c = mxUtils.getViewXml(a.graph, 1),
-                c = mxUtils.getXml(c, "\n");
-            mxUtils.submit(b, a.postParameterName + "\x3d" + encodeURIComponent(c), document, "_blank")
-        }
-    });
-    this.addAction("refresh",
-        function(a) {
-            a.graph.refresh()
-        });
-    this.addAction("cut", function(a) {
-        a.graph.isEnabled() && mxClipboard.cut(a.graph)
-    });
-    this.addAction("copy", function(a) {
-        a.graph.isEnabled() && mxClipboard.copy(a.graph)
-    });
-    this.addAction("paste", function(a) {
-        a.graph.isEnabled() && mxClipboard.paste(a.graph)
-    });
-    this.addAction("delete", function(a) {
-        a.graph.isEnabled() && a.graph.removeCells()
-    });
-    this.addAction("group", function(a) {
-        a.graph.isEnabled() && a.graph.setSelectionCell(a.groupCells())
-    });
-    this.addAction("ungroup", function(a) {
-        a.graph.isEnabled() &&
-            a.graph.setSelectionCells(a.graph.ungroupCells())
-    });
-    this.addAction("removeFromParent", function(a) {
-        a.graph.isEnabled() && a.graph.removeCellsFromParent()
-    });
-    this.addAction("undo", function(a) {
-        a.graph.isEnabled() && a.undo()
-    });
-    this.addAction("redo", function(a) {
-        a.graph.isEnabled() && a.redo()
-    });
-    this.addAction("zoomIn", function(a) {
-        a.graph.zoomIn()
-    });
-    this.addAction("zoomOut", function(a) {
-        a.graph.zoomOut()
-    });
-    this.addAction("actualSize", function(a) {
-        a.graph.zoomActual()
-    });
-    this.addAction("fit", function(a) {
-        a.graph.fit()
-    });
-    this.addAction("showProperties", function(a, b) {
-        a.showProperties(b)
-    });
-    this.addAction("selectAll", function(a) {
-        a.graph.isEnabled() && a.graph.selectAll()
-    });
-    this.addAction("selectNone", function(a) {
-        a.graph.isEnabled() && a.graph.clearSelection()
-    });
-    this.addAction("selectVertices", function(a) {
-        a.graph.isEnabled() && a.graph.selectVertices()
-    });
-    this.addAction("selectEdges", function(a) {
-        a.graph.isEnabled() && a.graph.selectEdges()
-    });
-    this.addAction("edit", function(a, b) {
-        a.graph.isEnabled() && a.graph.isCellEditable(b) && a.graph.startEditingAtCell(b)
-    });
-    this.addAction("toBack", function(a, b) {
-        a.graph.isEnabled() && a.graph.orderCells(!0)
-    });
-    this.addAction("toFront", function(a, b) {
-        a.graph.isEnabled() && a.graph.orderCells(!1)
-    });
-    this.addAction("enterGroup", function(a, b) {
-        a.graph.enterGroup(b)
-    });
-    this.addAction("exitGroup", function(a) {
-        a.graph.exitGroup()
-    });
-    this.addAction("home", function(a) {
-        a.graph.home()
-    });
-    this.addAction("selectPrevious", function(a) {
-        a.graph.isEnabled() && a.graph.selectPreviousCell()
-    });
-    this.addAction("selectNext", function(a) {
-        a.graph.isEnabled() &&
-            a.graph.selectNextCell()
-    });
-    this.addAction("selectParent", function(a) {
-        a.graph.isEnabled() && a.graph.selectParentCell()
-    });
-    this.addAction("selectChild", function(a) {
-        a.graph.isEnabled() && a.graph.selectChildCell()
-    });
-    this.addAction("collapse", function(a) {
-        a.graph.isEnabled() && a.graph.foldCells(!0)
-    });
-    this.addAction("collapseAll", function(a) {
-        if (a.graph.isEnabled()) {
-            var b = a.graph.getChildVertices();
-            a.graph.foldCells(!0, !1, b)
-        }
-    });
-    this.addAction("expand", function(a) {
-        a.graph.isEnabled() && a.graph.foldCells(!1)
-    });
-    this.addAction("expandAll", function(a) {
-        if (a.graph.isEnabled()) {
-            var b = a.graph.getChildVertices();
-            a.graph.foldCells(!1, !1, b)
-        }
-    });
-    this.addAction("bold", function(a) {
-        a.graph.isEnabled() && a.graph.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE, mxConstants.FONT_BOLD)
-    });
-    this.addAction("italic", function(a) {
-        a.graph.isEnabled() && a.graph.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE, mxConstants.FONT_ITALIC)
-    });
-    this.addAction("underline", function(a) {
-        a.graph.isEnabled() && a.graph.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE,
-            mxConstants.FONT_UNDERLINE)
-    });
-    this.addAction("shadow", function(a) {
-        a.graph.isEnabled() && a.graph.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE, mxConstants.FONT_SHADOW)
-    });
-    this.addAction("alignCellsLeft", function(a) {
-        a.graph.isEnabled() && a.graph.alignCells(mxConstants.ALIGN_LEFT)
-    });
-    this.addAction("alignCellsCenter", function(a) {
-        a.graph.isEnabled() && a.graph.alignCells(mxConstants.ALIGN_CENTER)
-    });
-    this.addAction("alignCellsRight", function(a) {
-        a.graph.isEnabled() && a.graph.alignCells(mxConstants.ALIGN_RIGHT)
-    });
-    this.addAction("alignCellsTop", function(a) {
-        a.graph.isEnabled() && a.graph.alignCells(mxConstants.ALIGN_TOP)
-    });
-    this.addAction("alignCellsMiddle", function(a) {
-        a.graph.isEnabled() && a.graph.alignCells(mxConstants.ALIGN_MIDDLE)
-    });
-    this.addAction("alignCellsBottom", function(a) {
-        a.graph.isEnabled() && a.graph.alignCells(mxConstants.ALIGN_BOTTOM)
-    });
-    this.addAction("alignFontLeft", function(a) {
-        a.graph.setCellStyles(mxConstants.STYLE_ALIGN, mxConstants.ALIGN_LEFT)
-    });
-    this.addAction("alignFontCenter", function(a) {
-        a.graph.isEnabled() &&
-            a.graph.setCellStyles(mxConstants.STYLE_ALIGN, mxConstants.ALIGN_CENTER)
-    });
-    this.addAction("alignFontRight", function(a) {
-        a.graph.isEnabled() && a.graph.setCellStyles(mxConstants.STYLE_ALIGN, mxConstants.ALIGN_RIGHT)
-    });
-    this.addAction("alignFontTop", function(a) {
-        a.graph.isEnabled() && a.graph.setCellStyles(mxConstants.STYLE_VERTICAL_ALIGN, mxConstants.ALIGN_TOP)
-    });
-    this.addAction("alignFontMiddle", function(a) {
-        a.graph.isEnabled() && a.graph.setCellStyles(mxConstants.STYLE_VERTICAL_ALIGN, mxConstants.ALIGN_MIDDLE)
-    });
-    this.addAction("alignFontBottom", function(a) {
-        a.graph.isEnabled() && a.graph.setCellStyles(mxConstants.STYLE_VERTICAL_ALIGN, mxConstants.ALIGN_BOTTOM)
-    });
-    this.addAction("zoom", function(a) {
-        var b = 100 * a.graph.getView().scale,
-            b = parseFloat(mxUtils.prompt(mxResources.get(a.askZoomResource) || a.askZoomResource, b)) / 100;
-        isNaN(b) || a.graph.getView().setScale(b)
-    });
-    this.addAction("toggleTasks", function(a) {
-        null != a.tasks ? a.tasks.setVisible(!a.tasks.isVisible()) : a.showTasks()
-    });
-    this.addAction("toggleHelp", function(a) {
-        null !=
-            a.help ? a.help.setVisible(!a.help.isVisible()) : a.showHelp()
-    });
-    this.addAction("toggleOutline", function(a) {
-        null == a.outline ? a.showOutline() : a.outline.setVisible(!a.outline.isVisible())
+  this.addAction("save", function(a) {
+    a.save()
+  });
+  this.addAction("print", function(a) {
+    (new mxPrintPreview(a.graph, 1)).open()
+  });
+  this.addAction("show", function(a) {
+    mxUtils.show(a.graph, null, 10, 10)
+  });
+  this.addAction("exportImage", function(a) {
+    var b = a.getUrlImage();
+    if (null == b || mxClient.IS_LOCAL) a.execute("show");
+    else {
+      var c = mxUtils.getViewXml(a.graph, 1),
+        c = mxUtils.getXml(c, "\n");
+      mxUtils.submit(b, a.postParameterName + "\x3d" + encodeURIComponent(c), document, "_blank")
+    }
+  });
+  this.addAction("refresh",
+    function(a) {
+      a.graph.refresh()
     });
-    this.addAction("toggleConsole", function(a) {
-        mxLog.setVisible(!mxLog.isVisible())
-    })
+  this.addAction("cut", function(a) {
+    a.graph.isEnabled() && mxClipboard.cut(a.graph)
+  });
+  this.addAction("copy", function(a) {
+    a.graph.isEnabled() && mxClipboard.copy(a.graph)
+  });
+  this.addAction("paste", function(a) {
+    a.graph.isEnabled() && mxClipboard.paste(a.graph)
+  });
+  this.addAction("delete", function(a) {
+    a.graph.isEnabled() && a.graph.removeCells()
+  });
+  this.addAction("group", function(a) {
+    a.graph.isEnabled() && a.graph.setSelectionCell(a.groupCells())
+  });
+  this.addAction("ungroup", function(a) {
+    a.graph.isEnabled() &&
+      a.graph.setSelectionCells(a.graph.ungroupCells())
+  });
+  this.addAction("removeFromParent", function(a) {
+    a.graph.isEnabled() && a.graph.removeCellsFromParent()
+  });
+  this.addAction("undo", function(a) {
+    a.graph.isEnabled() && a.undo()
+  });
+  this.addAction("redo", function(a) {
+    a.graph.isEnabled() && a.redo()
+  });
+  this.addAction("zoomIn", function(a) {
+    a.graph.zoomIn()
+  });
+  this.addAction("zoomOut", function(a) {
+    a.graph.zoomOut()
+  });
+  this.addAction("actualSize", function(a) {
+    a.graph.zoomActual()
+  });
+  this.addAction("fit", function(a) {
+    a.graph.fit()
+  });
+  this.addAction("showProperties", function(a, b) {
+    a.showProperties(b)
+  });
+  this.addAction("selectAll", function(a) {
+    a.graph.isEnabled() && a.graph.selectAll()
+  });
+  this.addAction("selectNone", function(a) {
+    a.graph.isEnabled() && a.graph.clearSelection()
+  });
+  this.addAction("selectVertices", function(a) {
+    a.graph.isEnabled() && a.graph.selectVertices()
+  });
+  this.addAction("selectEdges", function(a) {
+    a.graph.isEnabled() && a.graph.selectEdges()
+  });
+  this.addAction("edit", function(a, b) {
+    a.graph.isEnabled() && a.graph.isCellEditable(b) && a.graph.startEditingAtCell(b)
+  });
+  this.addAction("toBack", function(a, b) {
+    a.graph.isEnabled() && a.graph.orderCells(!0)
+  });
+  this.addAction("toFront", function(a, b) {
+    a.graph.isEnabled() && a.graph.orderCells(!1)
+  });
+  this.addAction("enterGroup", function(a, b) {
+    a.graph.enterGroup(b)
+  });
+  this.addAction("exitGroup", function(a) {
+    a.graph.exitGroup()
+  });
+  this.addAction("home", function(a) {
+    a.graph.home()
+  });
+  this.addAction("selectPrevious", function(a) {
+    a.graph.isEnabled() && a.graph.selectPreviousCell()
+  });
+  this.addAction("selectNext", function(a) {
+    a.graph.isEnabled() &&
+      a.graph.selectNextCell()
+  });
+  this.addAction("selectParent", function(a) {
+    a.graph.isEnabled() && a.graph.selectParentCell()
+  });
+  this.addAction("selectChild", function(a) {
+    a.graph.isEnabled() && a.graph.selectChildCell()
+  });
+  this.addAction("collapse", function(a) {
+    a.graph.isEnabled() && a.graph.foldCells(!0)
+  });
+  this.addAction("collapseAll", function(a) {
+    if (a.graph.isEnabled()) {
+      var b = a.graph.getChildVertices();
+      a.graph.foldCells(!0, !1, b)
+    }
+  });
+  this.addAction("expand", function(a) {
+    a.graph.isEnabled() && a.graph.foldCells(!1)
+  });
+  this.addAction("expandAll", function(a) {
+    if (a.graph.isEnabled()) {
+      var b = a.graph.getChildVertices();
+      a.graph.foldCells(!1, !1, b)
+    }
+  });
+  this.addAction("bold", function(a) {
+    a.graph.isEnabled() && a.graph.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE, mxConstants.FONT_BOLD)
+  });
+  this.addAction("italic", function(a) {
+    a.graph.isEnabled() && a.graph.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE, mxConstants.FONT_ITALIC)
+  });
+  this.addAction("underline", function(a) {
+    a.graph.isEnabled() && a.graph.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE,
+      mxConstants.FONT_UNDERLINE)
+  });
+  this.addAction("shadow", function(a) {
+    a.graph.isEnabled() && a.graph.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE, mxConstants.FONT_SHADOW)
+  });
+  this.addAction("alignCellsLeft", function(a) {
+    a.graph.isEnabled() && a.graph.alignCells(mxConstants.ALIGN_LEFT)
+  });
+  this.addAction("alignCellsCenter", function(a) {
+    a.graph.isEnabled() && a.graph.alignCells(mxConstants.ALIGN_CENTER)
+  });
+  this.addAction("alignCellsRight", function(a) {
+    a.graph.isEnabled() && a.graph.alignCells(mxConstants.ALIGN_RIGHT)
+  });
+  this.addAction("alignCellsTop", function(a) {
+    a.graph.isEnabled() && a.graph.alignCells(mxConstants.ALIGN_TOP)
+  });
+  this.addAction("alignCellsMiddle", function(a) {
+    a.graph.isEnabled() && a.graph.alignCells(mxConstants.ALIGN_MIDDLE)
+  });
+  this.addAction("alignCellsBottom", function(a) {
+    a.graph.isEnabled() && a.graph.alignCells(mxConstants.ALIGN_BOTTOM)
+  });
+  this.addAction("alignFontLeft", function(a) {
+    a.graph.setCellStyles(mxConstants.STYLE_ALIGN, mxConstants.ALIGN_LEFT)
+  });
+  this.addAction("alignFontCenter", function(a) {
+    a.graph.isEnabled() &&
+      a.graph.setCellStyles(mxConstants.STYLE_ALIGN, mxConstants.ALIGN_CENTER)
+  });
+  this.addAction("alignFontRight", function(a) {
+    a.graph.isEnabled() && a.graph.setCellStyles(mxConstants.STYLE_ALIGN, mxConstants.ALIGN_RIGHT)
+  });
+  this.addAction("alignFontTop", function(a) {
+    a.graph.isEnabled() && a.graph.setCellStyles(mxConstants.STYLE_VERTICAL_ALIGN, mxConstants.ALIGN_TOP)
+  });
+  this.addAction("alignFontMiddle", function(a) {
+    a.graph.isEnabled() && a.graph.setCellStyles(mxConstants.STYLE_VERTICAL_ALIGN, mxConstants.ALIGN_MIDDLE)
+  });
+  this.addAction("alignFontBottom", function(a) {
+    a.graph.isEnabled() && a.graph.setCellStyles(mxConstants.STYLE_VERTICAL_ALIGN, mxConstants.ALIGN_BOTTOM)
+  });
+  this.addAction("zoom", function(a) {
+    var b = 100 * a.graph.getView().scale,
+      b = parseFloat(mxUtils.prompt(mxResources.get(a.askZoomResource) || a.askZoomResource, b)) / 100;
+    isNaN(b) || a.graph.getView().setScale(b)
+  });
+  this.addAction("toggleTasks", function(a) {
+    null != a.tasks ? a.tasks.setVisible(!a.tasks.isVisible()) : a.showTasks()
+  });
+  this.addAction("toggleHelp", function(a) {
+    null !=
+      a.help ? a.help.setVisible(!a.help.isVisible()) : a.showHelp()
+  });
+  this.addAction("toggleOutline", function(a) {
+    null == a.outline ? a.showOutline() : a.outline.setVisible(!a.outline.isVisible())
+  });
+  this.addAction("toggleConsole", function(a) {
+    mxLog.setVisible(!mxLog.isVisible())
+  })
 };
 mxEditor.prototype.createSession = function() {
-    var a = mxUtils.bind(this, function(a) {
-        this.fireEvent(new mxEventObject(mxEvent.SESSION, "session", a))
-    });
-    return this.connect(this.urlInit, this.urlPoll, this.urlNotify, a)
+  var a = mxUtils.bind(this, function(a) {
+    this.fireEvent(new mxEventObject(mxEvent.SESSION, "session", a))
+  });
+  return this.connect(this.urlInit, this.urlPoll, this.urlNotify, a)
 };
 mxEditor.prototype.configure = function(a) {
-    null != a && ((new mxCodec(a.ownerDocument)).decode(a, this), this.resetHistory())
+  null != a && ((new mxCodec(a.ownerDocument)).decode(a, this), this.resetHistory())
 };
 mxEditor.prototype.resetFirstTime = function() {
-    document.cookie = "mxgraph\x3dseen; expires\x3dFri, 27 Jul 2001 02:47:11 UTC; path\x3d/"
+  document.cookie = "mxgraph\x3dseen; expires\x3dFri, 27 Jul 2001 02:47:11 UTC; path\x3d/"
 };
 mxEditor.prototype.resetHistory = function() {
-    this.lastSnapshot = (new Date).getTime();
-    this.undoManager.clear();
-    this.ignoredChanges = 0;
-    this.setModified(!1)
+  this.lastSnapshot = (new Date).getTime();
+  this.undoManager.clear();
+  this.ignoredChanges = 0;
+  this.setModified(!1)
 };
 mxEditor.prototype.addAction = function(a, b) {
-    this.actions[a] = b
+  this.actions[a] = b
 };
 mxEditor.prototype.execute = function(a, b, c) {
-    var d = this.actions[a];
-    if (null != d) try {
-        var e = arguments;
-        e[0] = this;
-        d.apply(this, e)
-    } catch (f) {
-        throw mxUtils.error("Cannot execute " + a + ": " + f.message, 280, !0), f;
-    } else mxUtils.error("Cannot find action " + a, 280, !0)
+  var d = this.actions[a];
+  if (null != d) try {
+    var e = arguments;
+    e[0] = this;
+    d.apply(this, e)
+  } catch (f) {
+    throw mxUtils.error("Cannot execute " + a + ": " + f.message, 280, !0), f;
+  } else mxUtils.error("Cannot find action " + a, 280, !0)
 };
 mxEditor.prototype.addTemplate = function(a, b) {
-    this.templates[a] = b
+  this.templates[a] = b
 };
 mxEditor.prototype.getTemplate = function(a) {
-    return this.templates[a]
+  return this.templates[a]
 };
 mxEditor.prototype.createGraph = function() {
-    var a = new mxGraph(null, null, this.graphRenderHint);
-    a.setTooltips(!0);
-    a.setPanning(!0);
-    this.installDblClickHandler(a);
-    this.installUndoHandler(a);
-    this.installDrillHandler(a);
-    this.installChangeHandler(a);
-    this.installInsertHandler(a);
-    a.panningHandler.factoryMethod = mxUtils.bind(this, function(a, c, d) {
-        return this.createPopupMenu(a, c, d)
-    });
-    a.connectionHandler.factoryMethod = mxUtils.bind(this, function(a, c) {
-        return this.createEdge(a, c)
-    });
-    this.createSwimlaneManager(a);
-    this.createLayoutManager(a);
-    return a
+  var a = new mxGraph(null, null, this.graphRenderHint);
+  a.setTooltips(!0);
+  a.setPanning(!0);
+  this.installDblClickHandler(a);
+  this.installUndoHandler(a);
+  this.installDrillHandler(a);
+  this.installChangeHandler(a);
+  this.installInsertHandler(a);
+  a.panningHandler.factoryMethod = mxUtils.bind(this, function(a, c, d) {
+    return this.createPopupMenu(a, c, d)
+  });
+  a.connectionHandler.factoryMethod = mxUtils.bind(this, function(a, c) {
+    return this.createEdge(a, c)
+  });
+  this.createSwimlaneManager(a);
+  this.createLayoutManager(a);
+  return a
 };
 mxEditor.prototype.createSwimlaneManager = function(a) {
-    a = new mxSwimlaneManager(a, !1);
-    a.isHorizontal = mxUtils.bind(this, function() {
-        return this.horizontalFlow
-    });
-    a.isEnabled = mxUtils.bind(this, function() {
-        return this.maintainSwimlanes
-    });
-    return a
+  a = new mxSwimlaneManager(a, !1);
+  a.isHorizontal = mxUtils.bind(this, function() {
+    return this.horizontalFlow
+  });
+  a.isEnabled = mxUtils.bind(this, function() {
+    return this.maintainSwimlanes
+  });
+  return a
 };
 mxEditor.prototype.createLayoutManager = function(a) {
-    var b = new mxLayoutManager(a),
-        c = this;
-    b.getLayout = function(b) {
-        var e = null,
-            f = c.graph.getModel();
-        if (null != f.getParent(b))
-            if (c.layoutSwimlanes && a.isSwimlane(b)) null == c.swimlaneLayout && (c.swimlaneLayout = c.createSwimlaneLayout()), e = c.swimlaneLayout;
-            else if (c.layoutDiagram && (a.isValidRoot(b) || null == f.getParent(f.getParent(b)))) null == c.diagramLayout && (c.diagramLayout = c.createDiagramLayout()), e = c.diagramLayout;
-        return e
-    };
-    return b
+  var b = new mxLayoutManager(a),
+    c = this;
+  b.getLayout = function(b) {
+    var e = null,
+      f = c.graph.getModel();
+    if (null != f.getParent(b))
+      if (c.layoutSwimlanes && a.isSwimlane(b)) null == c.swimlaneLayout && (c.swimlaneLayout = c.createSwimlaneLayout()), e = c.swimlaneLayout;
+      else if (c.layoutDiagram && (a.isValidRoot(b) || null == f.getParent(f.getParent(b)))) null == c.diagramLayout && (c.diagramLayout = c.createDiagramLayout()), e = c.diagramLayout;
+    return e
+  };
+  return b
 };
 mxEditor.prototype.setGraphContainer = function(a) {
-    null == this.graph.container && (this.graph.init(a), this.rubberband = new mxRubberband(this.graph), this.disableContextMenu && mxEvent.disableContextMenu(a), mxClient.IS_QUIRKS && new mxDivResizer(a))
+  null == this.graph.container && (this.graph.init(a), this.rubberband = new mxRubberband(this.graph), this.disableContextMenu && mxEvent.disableContextMenu(a), mxClient.IS_QUIRKS && new mxDivResizer(
+    a))
 };
 mxEditor.prototype.installDblClickHandler = function(a) {
-    a.addListener(mxEvent.DOUBLE_CLICK, mxUtils.bind(this, function(b, c) {
-        var d = c.getProperty("cell");
-        null != d && (a.isEnabled() && null != this.dblClickAction) && (this.execute(this.dblClickAction, d), c.consume())
-    }))
+  a.addListener(mxEvent.DOUBLE_CLICK, mxUtils.bind(this, function(b, c) {
+    var d = c.getProperty("cell");
+    null != d && (a.isEnabled() && null != this.dblClickAction) && (this.execute(this.dblClickAction, d), c.consume())
+  }))
 };
 mxEditor.prototype.installUndoHandler = function(a) {
-    var b = mxUtils.bind(this, function(a, b) {
-        var e = b.getProperty("edit");
-        this.undoManager.undoableEditHappened(e)
-    });
-    a.getModel().addListener(mxEvent.UNDO, b);
-    a.getView().addListener(mxEvent.UNDO, b);
-    b = function(b, d) {
-        var e = d.getProperty("edit").changes;
-        a.setSelectionCells(a.getSelectionCellsForChanges(e))
-    };
-    this.undoManager.addListener(mxEvent.UNDO, b);
-    this.undoManager.addListener(mxEvent.REDO, b)
+  var b = mxUtils.bind(this, function(a, b) {
+    var e = b.getProperty("edit");
+    this.undoManager.undoableEditHappened(e)
+  });
+  a.getModel().addListener(mxEvent.UNDO, b);
+  a.getView().addListener(mxEvent.UNDO, b);
+  b = function(b, d) {
+    var e = d.getProperty("edit").changes;
+    a.setSelectionCells(a.getSelectionCellsForChanges(e))
+  };
+  this.undoManager.addListener(mxEvent.UNDO, b);
+  this.undoManager.addListener(mxEvent.REDO, b)
 };
 mxEditor.prototype.installDrillHandler = function(a) {
-    var b = mxUtils.bind(this, function(a) {
-        this.fireEvent(new mxEventObject(mxEvent.ROOT))
-    });
-    a.getView().addListener(mxEvent.DOWN, b);
-    a.getView().addListener(mxEvent.UP, b)
+  var b = mxUtils.bind(this, function(a) {
+    this.fireEvent(new mxEventObject(mxEvent.ROOT))
+  });
+  a.getView().addListener(mxEvent.DOWN, b);
+  a.getView().addListener(mxEvent.UP, b)
 };
 mxEditor.prototype.installChangeHandler = function(a) {
-    var b = mxUtils.bind(this, function(b, d) {
-        this.setModified(!0);
-        !0 == this.validating && a.validateGraph();
-        for (var e = d.getProperty("edit").changes, f = 0; f < e.length; f++) {
-            var g = e[f];
-            if (g instanceof mxRootChange || g instanceof mxValueChange && g.cell == this.graph.model.root || g instanceof mxCellAttributeChange && g.cell == this.graph.model.root) {
-                this.fireEvent(new mxEventObject(mxEvent.ROOT));
-                break
-            }
-        }
-    });
-    a.getModel().addListener(mxEvent.CHANGE, b)
+  var b = mxUtils.bind(this, function(b, d) {
+    this.setModified(!0);
+    !0 == this.validating && a.validateGraph();
+    for (var e = d.getProperty("edit").changes, f = 0; f < e.length; f++) {
+      var g = e[f];
+      if (g instanceof mxRootChange || g instanceof mxValueChange && g.cell == this.graph.model.root || g instanceof mxCellAttributeChange && g.cell == this.graph.model.root) {
+        this.fireEvent(new mxEventObject(mxEvent.ROOT));
+        break
+      }
+    }
+  });
+  a.getModel().addListener(mxEvent.CHANGE, b)
 };
 mxEditor.prototype.installInsertHandler = function(a) {
-    var b = this;
-    a.addMouseListener({
-        mouseDown: function(a, d) {
-            if (null != b.insertFunction && !d.isPopupTrigger() && (b.forcedInserting || null == d.getState())) b.graph.clearSelection(), b.insertFunction(d.getEvent(), d.getCell()), this.isActive = !0, d.consume()
-        },
-        mouseMove: function(a, b) {
-            this.isActive && b.consume()
-        },
-        mouseUp: function(a, b) {
-            this.isActive && (this.isActive = !1, b.consume())
-        }
-    })
+  var b = this;
+  a.addMouseListener({
+    mouseDown: function(a, d) {
+      if (null != b.insertFunction && !d.isPopupTrigger() && (b.forcedInserting || null == d.getState())) b.graph.clearSelection(), b.insertFunction(d.getEvent(), d.getCell()), this.isActive = !
+        0, d.consume()
+    },
+    mouseMove: function(a, b) {
+      this.isActive && b.consume()
+    },
+    mouseUp: function(a, b) {
+      this.isActive && (this.isActive = !1, b.consume())
+    }
+  })
 };
 mxEditor.prototype.createDiagramLayout = function() {
-    var a = this.graph.gridSize,
-        b = new mxStackLayout(this.graph, !this.horizontalFlow, this.swimlaneSpacing, 2 * a, 2 * a);
-    b.isVertexIgnored = function(a) {
-        return !b.graph.isSwimlane(a)
-    };
-    return b
+  var a = this.graph.gridSize,
+    b = new mxStackLayout(this.graph, !this.horizontalFlow, this.swimlaneSpacing, 2 * a, 2 * a);
+  b.isVertexIgnored = function(a) {
+    return !b.graph.isSwimlane(a)
+  };
+  return b
 };
 mxEditor.prototype.createSwimlaneLayout = function() {
-    return new mxCompactTreeLayout(this.graph, this.horizontalFlow)
+  return new mxCompactTreeLayout(this.graph, this.horizontalFlow)
 };
 mxEditor.prototype.createToolbar = function() {
-    return new mxDefaultToolbar(null, this)
+  return new mxDefaultToolbar(null, this)
 };
 mxEditor.prototype.setToolbarContainer = function(a) {
-    this.toolbar.init(a);
-    mxClient.IS_QUIRKS && new mxDivResizer(a)
+  this.toolbar.init(a);
+  mxClient.IS_QUIRKS && new mxDivResizer(a)
 };
 mxEditor.prototype.setStatusContainer = function(a) {
-    null == this.status && (this.status = a, this.addListener(mxEvent.SAVE, mxUtils.bind(this, function() {
-        var a = (new Date).toLocaleString();
-        this.setStatus((mxResources.get(this.lastSavedResource) || this.lastSavedResource) + ": " + a)
-    })), this.addListener(mxEvent.OPEN, mxUtils.bind(this, function() {
-        this.setStatus((mxResources.get(this.currentFileResource) || this.currentFileResource) + ": " + this.filename)
-    })), mxClient.IS_QUIRKS && new mxDivResizer(a))
+  null == this.status && (this.status = a, this.addListener(mxEvent.SAVE, mxUtils.bind(this, function() {
+    var a = (new Date).toLocaleString();
+    this.setStatus((mxResources.get(this.lastSavedResource) || this.lastSavedResource) + ": " + a)
+  })), this.addListener(mxEvent.OPEN, mxUtils.bind(this, function() {
+    this.setStatus((mxResources.get(this.currentFileResource) || this.currentFileResource) + ": " + this.filename)
+  })), mxClient.IS_QUIRKS && new mxDivResizer(a))
 };
 mxEditor.prototype.setStatus = function(a) {
-    null != this.status && null != a && (this.status.innerHTML = a)
+  null != this.status && null != a && (this.status.innerHTML = a)
 };
 mxEditor.prototype.setTitleContainer = function(a) {
-    this.addListener(mxEvent.ROOT, mxUtils.bind(this, function(b) {
-        a.innerHTML = this.getTitle()
-    }));
-    mxClient.IS_QUIRKS && new mxDivResizer(a)
+  this.addListener(mxEvent.ROOT, mxUtils.bind(this, function(b) {
+    a.innerHTML = this.getTitle()
+  }));
+  mxClient.IS_QUIRKS && new mxDivResizer(a)
 };
 mxEditor.prototype.treeLayout = function(a, b) {
-    null != a && (new mxCompactTreeLayout(this.graph, b)).execute(a)
+  null != a && (new mxCompactTreeLayout(this.graph, b)).execute(a)
 };
 mxEditor.prototype.getTitle = function() {
-    for (var a = "", b = this.graph, c = b.getCurrentRoot(); null != c && null != b.getModel().getParent(b.getModel().getParent(c));) b.isValidRoot(c) && (a = " \x3e " + b.convertValueToString(c) + a), c = b.getModel().getParent(c);
-    return this.getRootTitle() + a
+  for (var a = "", b = this.graph, c = b.getCurrentRoot(); null != c && null != b.getModel().getParent(b.getModel().getParent(c));) b.isValidRoot(c) && (a = " \x3e " + b.convertValueToString(c) + a),
+    c = b.getModel().getParent(c);
+  return this.getRootTitle() + a
 };
 mxEditor.prototype.getRootTitle = function() {
-    var a = this.graph.getModel().getRoot();
-    return this.graph.convertValueToString(a)
+  var a = this.graph.getModel().getRoot();
+  return this.graph.convertValueToString(a)
 };
 mxEditor.prototype.undo = function() {
-    this.undoManager.undo()
+  this.undoManager.undo()
 };
 mxEditor.prototype.redo = function() {
-    this.undoManager.redo()
+  this.undoManager.redo()
 };
 mxEditor.prototype.groupCells = function() {
-    var a = null != this.groupBorderSize ? this.groupBorderSize : this.graph.gridSize;
-    return this.graph.groupCells(this.createGroup(), a)
+  var a = null != this.groupBorderSize ? this.groupBorderSize : this.graph.gridSize;
+  return this.graph.groupCells(this.createGroup(), a)
 };
 mxEditor.prototype.createGroup = function() {
-    return this.graph.getModel().cloneCell(this.defaultGroup)
+  return this.graph.getModel().cloneCell(this.defaultGroup)
 };
 mxEditor.prototype.open = function(a) {
-    if (null != a) {
-        var b = mxUtils.load(a).getXml();
-        this.readGraphModel(b.documentElement);
-        this.filename = a;
-        this.fireEvent(new mxEventObject(mxEvent.OPEN, "filename", a))
-    }
+  if (null != a) {
+    var b = mxUtils.load(a).getXml();
+    this.readGraphModel(b.documentElement);
+    this.filename = a;
+    this.fireEvent(new mxEventObject(mxEvent.OPEN, "filename", a))
+  }
 };
 mxEditor.prototype.readGraphModel = function(a) {
-    (new mxCodec(a.ownerDocument)).decode(a, this.graph.getModel());
-    this.resetHistory()
+  (new mxCodec(a.ownerDocument)).decode(a, this.graph.getModel());
+  this.resetHistory()
 };
 mxEditor.prototype.save = function(a, b) {
-    a = a || this.getUrlPost();
-    if (null != a && 0 < a.length) {
-        var c = this.writeGraphModel(b);
-        this.postDiagram(a, c);
-        this.setModified(!1)
-    }
-    this.fireEvent(new mxEventObject(mxEvent.SAVE, "url", a))
+  a = a || this.getUrlPost();
+  if (null != a && 0 < a.length) {
+    var c = this.writeGraphModel(b);
+    this.postDiagram(a, c);
+    this.setModified(!1)
+  }
+  this.fireEvent(new mxEventObject(mxEvent.SAVE, "url", a))
 };
 mxEditor.prototype.postDiagram = function(a, b) {
-    this.escapePostData && (b = encodeURIComponent(b));
-    mxUtils.post(a, this.postParameterName + "\x3d" + b, mxUtils.bind(this, function(c) {
-        this.fireEvent(new mxEventObject(mxEvent.POST, "request", c, "url", a, "data", b))
-    }))
+  this.escapePostData && (b = encodeURIComponent(b));
+  mxUtils.post(a, this.postParameterName + "\x3d" + b, mxUtils.bind(this, function(c) {
+    this.fireEvent(new mxEventObject(mxEvent.POST, "request", c, "url", a, "data", b))
+  }))
 };
 mxEditor.prototype.writeGraphModel = function(a) {
-    a = null != a ? a : this.linefeed;
-    var b = (new mxCodec).encode(this.graph.getModel());
-    return mxUtils.getXml(b, a)
+  a = null != a ? a : this.linefeed;
+  var b = (new mxCodec).encode(this.graph.getModel());
+  return mxUtils.getXml(b, a)
 };
 mxEditor.prototype.getUrlPost = function() {
-    return this.urlPost
+  return this.urlPost
 };
 mxEditor.prototype.getUrlImage = function() {
-    return this.urlImage
+  return this.urlImage
 };
 mxEditor.prototype.connect = function(a, b, c, d) {
-    var e = null;
-    mxClient.IS_LOCAL || (e = new mxSession(this.graph.getModel(), a, b, c), e.addListener(mxEvent.RECEIVE, mxUtils.bind(this, function(a, b) {
-        null != b.getProperty("node").getAttribute("namespace") && this.resetHistory()
-    })), e.addListener(mxEvent.DISCONNECT, d), e.addListener(mxEvent.CONNECT, d), e.addListener(mxEvent.NOTIFY, d), e.addListener(mxEvent.GET, d), e.start());
-    return e
+  var e = null;
+  mxClient.IS_LOCAL || (e = new mxSession(this.graph.getModel(), a, b, c), e.addListener(mxEvent.RECEIVE, mxUtils.bind(this, function(a, b) {
+    null != b.getProperty("node").getAttribute("namespace") && this.resetHistory()
+  })), e.addListener(mxEvent.DISCONNECT, d), e.addListener(mxEvent.CONNECT, d), e.addListener(mxEvent.NOTIFY, d), e.addListener(mxEvent.GET, d), e.start());
+  return e
 };
 mxEditor.prototype.swapStyles = function(a, b) {
-    var c = this.graph.getStylesheet().styles[b];
-    this.graph.getView().getStylesheet().putCellStyle(b, this.graph.getStylesheet().styles[a]);
-    this.graph.getStylesheet().putCellStyle(a, c);
-    this.graph.refresh()
+  var c = this.graph.getStylesheet().styles[b];
+  this.graph.getView().getStylesheet().putCellStyle(b, this.graph.getStylesheet().styles[a]);
+  this.graph.getStylesheet().putCellStyle(a, c);
+  this.graph.refresh()
 };
 mxEditor.prototype.showProperties = function(a) {
-    a = a || this.graph.getSelectionCell();
-    null == a && (a = this.graph.getCurrentRoot(), null == a && (a = this.graph.getModel().getRoot()));
-    if (null != a) {
-        this.graph.stopEditing(!0);
-        var b = mxUtils.getOffset(this.graph.container),
-            c = b.x + 10,
-            b = b.y;
-        if (null != this.properties && !this.movePropertiesDialog) c = this.properties.getX(), b = this.properties.getY();
-        else {
-            var d = this.graph.getCellBounds(a);
-            null != d && (c += d.x + Math.min(200, d.width), b += d.y)
-        }
-        this.hideProperties();
-        a = this.createProperties(a);
-        null != a && (this.properties = new mxWindow(mxResources.get(this.propertiesResource) || this.propertiesResource, a, c, b, this.propertiesWidth, this.propertiesHeight, !1), this.properties.setVisible(!0))
+  a = a || this.graph.getSelectionCell();
+  null == a && (a = this.graph.getCurrentRoot(), null == a && (a = this.graph.getModel().getRoot()));
+  if (null != a) {
+    this.graph.stopEditing(!0);
+    var b = mxUtils.getOffset(this.graph.container),
+      c = b.x + 10,
+      b = b.y;
+    if (null != this.properties && !this.movePropertiesDialog) c = this.properties.getX(), b = this.properties.getY();
+    else {
+      var d = this.graph.getCellBounds(a);
+      null != d && (c += d.x + Math.min(200, d.width), b += d.y)
     }
+    this.hideProperties();
+    a = this.createProperties(a);
+    null != a && (this.properties = new mxWindow(mxResources.get(this.propertiesResource) || this.propertiesResource, a, c, b, this.propertiesWidth, this.propertiesHeight, !1), this.properties.setVisible(!
+      0))
+  }
 };
 mxEditor.prototype.isPropertiesVisible = function() {
-    return null != this.properties
+  return null != this.properties
 };
 mxEditor.prototype.createProperties = function(a) {
-    var b = this.graph.getModel(),
-        c = b.getValue(a);
-    if (mxUtils.isNode(c)) {
-        var d = new mxForm("properties");
-        d.addText("ID", a.getId()).setAttribute("readonly", "true");
-        var e = null,
-            f = null,
-            g = null,
-            h = null,
-            k = null;
-        b.isVertex(a) && (e = b.getGeometry(a), null != e && (f = d.addText("top", e.y), g = d.addText("left", e.x), h = d.addText("width", e.width), k = d.addText("height", e.height)));
-        for (var l = b.getStyle(a), m = d.addText("Style", l || ""), n = c.attributes, p = [], c = 0; c < n.length; c++) p[c] = d.addTextarea(n[c].nodeName,
-            n[c].nodeValue, "label" == n[c].nodeName ? 4 : 2);
-        c = mxUtils.bind(this, function() {
-            this.hideProperties();
-            b.beginUpdate();
-            try {
-                null != e && (e = e.clone(), e.x = parseFloat(g.value), e.y = parseFloat(f.value), e.width = parseFloat(h.value), e.height = parseFloat(k.value), b.setGeometry(a, e));
-                0 < m.value.length ? b.setStyle(a, m.value) : b.setStyle(a, null);
-                for (var c = 0; c < n.length; c++) {
-                    var d = new mxCellAttributeChange(a, n[c].nodeName, p[c].value);
-                    b.execute(d)
-                }
-                this.graph.isAutoSizeCell(a) && this.graph.updateCellSize(a)
-            } finally {
-                b.endUpdate()
-            }
-        });
-        l = mxUtils.bind(this, function() {
-            this.hideProperties()
-        });
-        d.addButtons(c, l);
-        return d.table
-    }
-    return null
+  var b = this.graph.getModel(),
+    c = b.getValue(a);
+  if (mxUtils.isNode(c)) {
+    var d = new mxForm("properties");
+    d.addText("ID", a.getId()).setAttribute("readonly", "true");
+    var e = null,
+      f = null,
+      g = null,
+      h = null,
+      k = null;
+    b.isVertex(a) && (e = b.getGeometry(a), null != e && (f = d.addText("top", e.y), g = d.addText("left", e.x), h = d.addText("width", e.width), k = d.addText("height", e.height)));
+    for (var l = b.getStyle(a), m = d.addText("Style", l || ""), n = c.attributes, p = [], c = 0; c < n.length; c++) p[c] = d.addTextarea(n[c].nodeName,
+      n[c].nodeValue, "label" == n[c].nodeName ? 4 : 2);
+    c = mxUtils.bind(this, function() {
+      this.hideProperties();
+      b.beginUpdate();
+      try {
+        null != e && (e = e.clone(), e.x = parseFloat(g.value), e.y = parseFloat(f.value), e.width = parseFloat(h.value), e.height = parseFloat(k.value), b.setGeometry(a, e));
+        0 < m.value.length ? b.setStyle(a, m.value) : b.setStyle(a, null);
+        for (var c = 0; c < n.length; c++) {
+          var d = new mxCellAttributeChange(a, n[c].nodeName, p[c].value);
+          b.execute(d)
+        }
+        this.graph.isAutoSizeCell(a) && this.graph.updateCellSize(a)
+      } finally {
+        b.endUpdate()
+      }
+    });
+    l = mxUtils.bind(this, function() {
+      this.hideProperties()
+    });
+    d.addButtons(c, l);
+    return d.table
+  }
+  return null
 };
 mxEditor.prototype.hideProperties = function() {
-    null != this.properties && (this.properties.destroy(), this.properties = null)
+  null != this.properties && (this.properties.destroy(), this.properties = null)
 };
 mxEditor.prototype.showTasks = function() {
-    if (null == this.tasks) {
-        var a = document.createElement("div");
-        a.style.padding = "4px";
-        a.style.paddingLeft = "20px";
-        var b = document.body.clientWidth,
-            b = new mxWindow(mxResources.get(this.tasksResource) || this.tasksResource, a, b - 220, this.tasksTop, 200);
-        b.setClosable(!0);
-        b.destroyOnClose = !1;
-        var c = mxUtils.bind(this, function(b) {
-            mxEvent.release(a);
-            a.innerHTML = "";
-            this.createTasks(a)
-        });
-        this.graph.getModel().addListener(mxEvent.CHANGE, c);
-        this.graph.getSelectionModel().addListener(mxEvent.CHANGE,
-            c);
-        this.graph.addListener(mxEvent.ROOT, c);
-        null != this.tasksWindowImage && b.setImage(this.tasksWindowImage);
-        this.tasks = b;
-        this.createTasks(a)
-    }
-    this.tasks.setVisible(!0)
+  if (null == this.tasks) {
+    var a = document.createElement("div");
+    a.style.padding = "4px";
+    a.style.paddingLeft = "20px";
+    var b = document.body.clientWidth,
+      b = new mxWindow(mxResources.get(this.tasksResource) || this.tasksResource, a, b - 220, this.tasksTop, 200);
+    b.setClosable(!0);
+    b.destroyOnClose = !1;
+    var c = mxUtils.bind(this, function(b) {
+      mxEvent.release(a);
+      a.innerHTML = "";
+      this.createTasks(a)
+    });
+    this.graph.getModel().addListener(mxEvent.CHANGE, c);
+    this.graph.getSelectionModel().addListener(mxEvent.CHANGE,
+      c);
+    this.graph.addListener(mxEvent.ROOT, c);
+    null != this.tasksWindowImage && b.setImage(this.tasksWindowImage);
+    this.tasks = b;
+    this.createTasks(a)
+  }
+  this.tasks.setVisible(!0)
 };
 mxEditor.prototype.refreshTasks = function(a) {
-    null != this.tasks && (a = this.tasks.content, mxEvent.release(a), a.innerHTML = "", this.createTasks(a))
+  null != this.tasks && (a = this.tasks.content, mxEvent.release(a), a.innerHTML = "", this.createTasks(a))
 };
 mxEditor.prototype.createTasks = function(a) {};
 mxEditor.prototype.showHelp = function(a) {
-    if (null == this.help) {
-        var b = document.createElement("iframe");
-        b.setAttribute("src", mxResources.get("urlHelp") || this.urlHelp);
-        b.setAttribute("height", "100%");
-        b.setAttribute("width", "100%");
-        b.setAttribute("frameBorder", "0");
-        b.style.backgroundColor = "white";
-        a = document.body.clientWidth;
-        var c = document.body.clientHeight || document.documentElement.clientHeight,
-            d = new mxWindow(mxResources.get(this.helpResource) || this.helpResource, b, (a - this.helpWidth) / 2, (c - this.helpHeight) /
-                3, this.helpWidth, this.helpHeight);
-        d.setMaximizable(!0);
-        d.setClosable(!0);
-        d.destroyOnClose = !1;
-        d.setResizable(!0);
-        null != this.helpWindowImage && d.setImage(this.helpWindowImage);
-        mxClient.IS_NS && (a = function(a) {
-            b.setAttribute("height", d.div.offsetHeight - 26 + "px")
-        }, d.addListener(mxEvent.RESIZE_END, a), d.addListener(mxEvent.MAXIMIZE, a), d.addListener(mxEvent.NORMALIZE, a), d.addListener(mxEvent.SHOW, a));
-        this.help = d
-    }
-    this.help.setVisible(!0)
+  if (null == this.help) {
+    var b = document.createElement("iframe");
+    b.setAttribute("src", mxResources.get("urlHelp") || this.urlHelp);
+    b.setAttribute("height", "100%");
+    b.setAttribute("width", "100%");
+    b.setAttribute("frameBorder", "0");
+    b.style.backgroundColor = "white";
+    a = document.body.clientWidth;
+    var c = document.body.clientHeight || document.documentElement.clientHeight,
+      d = new mxWindow(mxResources.get(this.helpResource) || this.helpResource, b, (a - this.helpWidth) / 2, (c - this.helpHeight) /
+        3, this.helpWidth, this.helpHeight);
+    d.setMaximizable(!0);
+    d.setClosable(!0);
+    d.destroyOnClose = !1;
+    d.setResizable(!0);
+    null != this.helpWindowImage && d.setImage(this.helpWindowImage);
+    mxClient.IS_NS && (a = function(a) {
+      b.setAttribute("height", d.div.offsetHeight - 26 + "px")
+    }, d.addListener(mxEvent.RESIZE_END, a), d.addListener(mxEvent.MAXIMIZE, a), d.addListener(mxEvent.NORMALIZE, a), d.addListener(mxEvent.SHOW, a));
+    this.help = d
+  }
+  this.help.setVisible(!0)
 };
 mxEditor.prototype.showOutline = function() {
-    if (null == this.outline) {
-        var a = document.createElement("div");
-        a.style.overflow = "hidden";
-        a.style.width = "100%";
-        a.style.height = "100%";
-        a.style.background = "white";
-        a.style.cursor = "move";
-        var b = new mxWindow(mxResources.get(this.outlineResource) || this.outlineResource, a, 600, 480, 200, 200, !1),
-            c = new mxOutline(this.graph, a);
-        b.setClosable(!0);
-        b.setResizable(!0);
-        b.destroyOnClose = !1;
-        b.addListener(mxEvent.RESIZE_END, function() {
-            c.update()
-        });
-        this.outline = b;
-        this.outline.outline = c
-    }
-    this.outline.setVisible(!0);
-    this.outline.outline.update(!0)
+  if (null == this.outline) {
+    var a = document.createElement("div");
+    a.style.overflow = "hidden";
+    a.style.width = "100%";
+    a.style.height = "100%";
+    a.style.background = "white";
+    a.style.cursor = "move";
+    var b = new mxWindow(mxResources.get(this.outlineResource) || this.outlineResource, a, 600, 480, 200, 200, !1),
+      c = new mxOutline(this.graph, a);
+    b.setClosable(!0);
+    b.setResizable(!0);
+    b.destroyOnClose = !1;
+    b.addListener(mxEvent.RESIZE_END, function() {
+      c.update()
+    });
+    this.outline = b;
+    this.outline.outline = c
+  }
+  this.outline.setVisible(!0);
+  this.outline.outline.update(!0)
 };
 mxEditor.prototype.setMode = function(a) {
-    "select" == a ? (this.graph.panningHandler.useLeftButtonForPanning = !1, this.graph.setConnectable(!1)) : "connect" == a ? (this.graph.panningHandler.useLeftButtonForPanning = !1, this.graph.setConnectable(!0)) : "pan" == a && (this.graph.panningHandler.useLeftButtonForPanning = !0, this.graph.setConnectable(!1))
+  "select" == a ? (this.graph.panningHandler.useLeftButtonForPanning = !1, this.graph.setConnectable(!1)) : "connect" == a ? (this.graph.panningHandler.useLeftButtonForPanning = !1, this.graph.setConnectable(!
+    0)) : "pan" == a && (this.graph.panningHandler.useLeftButtonForPanning = !0, this.graph.setConnectable(!1))
 };
 mxEditor.prototype.createPopupMenu = function(a, b, c) {
-    this.popupHandler.createMenu(this, a, b, c)
+  this.popupHandler.createMenu(this, a, b, c)
 };
 mxEditor.prototype.createEdge = function(a, b) {
-    var c = null;
-    if (null != this.defaultEdge) c = this.graph.getModel().cloneCell(this.defaultEdge);
-    else {
-        c = new mxCell("");
-        c.setEdge(!0);
-        var d = new mxGeometry;
-        d.relative = !0;
-        c.setGeometry(d)
-    }
-    d = this.getEdgeStyle();
-    null != d && c.setStyle(d);
-    return c
+  var c = null;
+  if (null != this.defaultEdge) c = this.graph.getModel().cloneCell(this.defaultEdge);
+  else {
+    c = new mxCell("");
+    c.setEdge(!0);
+    var d = new mxGeometry;
+    d.relative = !0;
+    c.setGeometry(d)
+  }
+  d = this.getEdgeStyle();
+  null != d && c.setStyle(d);
+  return c
 };
 mxEditor.prototype.getEdgeStyle = function() {
-    return this.defaultEdgeStyle
+  return this.defaultEdgeStyle
 };
 mxEditor.prototype.consumeCycleAttribute = function(a) {
-    return null != this.cycleAttributeValues && 0 < this.cycleAttributeValues.length && this.graph.isSwimlane(a) ? this.cycleAttributeValues[this.cycleAttributeIndex++ % this.cycleAttributeValues.length] : null
+  return null != this.cycleAttributeValues && 0 < this.cycleAttributeValues.length && this.graph.isSwimlane(a) ? this.cycleAttributeValues[this.cycleAttributeIndex++ % this.cycleAttributeValues.length] :
+    null
 };
 mxEditor.prototype.cycleAttribute = function(a) {
-    if (null != this.cycleAttributeName) {
-        var b = this.consumeCycleAttribute(a);
-        null != b && a.setStyle(a.getStyle() + ";" + this.cycleAttributeName + "\x3d" + b)
-    }
+  if (null != this.cycleAttributeName) {
+    var b = this.consumeCycleAttribute(a);
+    null != b && a.setStyle(a.getStyle() + ";" + this.cycleAttributeName + "\x3d" + b)
+  }
 };
 mxEditor.prototype.addVertex = function(a, b, c, d) {
-    for (var e = this.graph.getModel(); null != a && !this.graph.isValidDropTarget(a);) a = e.getParent(a);
-    a = null != a ? a : this.graph.getSwimlaneAt(c, d);
-    var f = this.graph.getView().scale,
-        g = e.getGeometry(b),
-        h = e.getGeometry(a);
-    if (this.graph.isSwimlane(b) && !this.graph.swimlaneNesting) a = null;
-    else {
-        if (null == a && this.swimlaneRequired) return null;
-        if (null != a && null != h) {
-            var k = this.graph.getView().getState(a);
-            if (null != k) {
-                if (c -= k.origin.x * f, d -= k.origin.y * f, this.graph.isConstrainedMoving) {
-                    var h =
-                        g.width,
-                        l = g.height,
-                        m = k.x + k.width;
-                    c + h > m && (c -= c + h - m);
-                    m = k.y + k.height;
-                    d + l > m && (d -= d + l - m)
-                }
-            } else null != h && (c -= h.x * f, d -= h.y * f)
+  for (var e = this.graph.getModel(); null != a && !this.graph.isValidDropTarget(a);) a = e.getParent(a);
+  a = null != a ? a : this.graph.getSwimlaneAt(c, d);
+  var f = this.graph.getView().scale,
+    g = e.getGeometry(b),
+    h = e.getGeometry(a);
+  if (this.graph.isSwimlane(b) && !this.graph.swimlaneNesting) a = null;
+  else {
+    if (null == a && this.swimlaneRequired) return null;
+    if (null != a && null != h) {
+      var k = this.graph.getView().getState(a);
+      if (null != k) {
+        if (c -= k.origin.x * f, d -= k.origin.y * f, this.graph.isConstrainedMoving) {
+          var h =
+            g.width,
+            l = g.height,
+            m = k.x + k.width;
+          c + h > m && (c -= c + h - m);
+          m = k.y + k.height;
+          d + l > m && (d -= d + l - m)
         }
-    }
-    g = g.clone();
-    g.x = this.graph.snap(c / f - this.graph.getView().translate.x - this.graph.gridSize / 2);
-    g.y = this.graph.snap(d / f - this.graph.getView().translate.y - this.graph.gridSize / 2);
-    b.setGeometry(g);
-    null == a && (a = this.graph.getDefaultParent());
-    this.cycleAttribute(b);
-    this.fireEvent(new mxEventObject(mxEvent.BEFORE_ADD_VERTEX, "vertex", b, "parent", a));
-    e.beginUpdate();
-    try {
-        b = this.graph.addCell(b,
-            a), null != b && (this.graph.constrainChild(b), this.fireEvent(new mxEventObject(mxEvent.ADD_VERTEX, "vertex", b)))
-    } finally {
-        e.endUpdate()
-    }
-    null != b && (this.graph.setSelectionCell(b), this.graph.scrollCellToVisible(b), this.fireEvent(new mxEventObject(mxEvent.AFTER_ADD_VERTEX, "vertex", b)));
-    return b
+      } else null != h && (c -= h.x * f, d -= h.y * f)
+    }
+  }
+  g = g.clone();
+  g.x = this.graph.snap(c / f - this.graph.getView().translate.x - this.graph.gridSize / 2);
+  g.y = this.graph.snap(d / f - this.graph.getView().translate.y - this.graph.gridSize / 2);
+  b.setGeometry(g);
+  null == a && (a = this.graph.getDefaultParent());
+  this.cycleAttribute(b);
+  this.fireEvent(new mxEventObject(mxEvent.BEFORE_ADD_VERTEX, "vertex", b, "parent", a));
+  e.beginUpdate();
+  try {
+    b = this.graph.addCell(b,
+      a), null != b && (this.graph.constrainChild(b), this.fireEvent(new mxEventObject(mxEvent.ADD_VERTEX, "vertex", b)))
+  } finally {
+    e.endUpdate()
+  }
+  null != b && (this.graph.setSelectionCell(b), this.graph.scrollCellToVisible(b), this.fireEvent(new mxEventObject(mxEvent.AFTER_ADD_VERTEX, "vertex", b)));
+  return b
 };
 mxEditor.prototype.destroy = function() {
-    this.destroyed || (this.destroyed = !0, null != this.tasks && this.tasks.destroy(), null != this.outline && this.outline.destroy(), null != this.properties && this.properties.destroy(), null != this.keyHandler && this.keyHandler.destroy(), null != this.rubberband && this.rubberband.destroy(), null != this.toolbar && this.toolbar.destroy(), null != this.graph && this.graph.destroy(), this.templates = this.status = null)
+  this.destroyed || (this.destroyed = !0, null != this.tasks && this.tasks.destroy(), null != this.outline && this.outline.destroy(), null != this.properties && this.properties.destroy(), null !=
+    this.keyHandler && this.keyHandler.destroy(), null != this.rubberband && this.rubberband.destroy(), null != this.toolbar && this.toolbar.destroy(), null != this.graph && this.graph.destroy(),
+    this.templates = this.status = null)
 };
 var mxCodecRegistry = {
-    codecs: [],
-    aliases: [],
-    register: function(a) {
-        if (null != a) {
-            var b = a.getName();
-            mxCodecRegistry.codecs[b] = a;
-            var c = mxUtils.getFunctionName(a.template.constructor);
-            c != b && mxCodecRegistry.addAlias(c, b)
-        }
-        return a
-    },
-    addAlias: function(a, b) {
-        mxCodecRegistry.aliases[a] = b
-    },
-    getCodec: function(a) {
-        var b = null;
-        if (null != a) {
-            var b = mxUtils.getFunctionName(a),
-                c = mxCodecRegistry.aliases[b];
-            null != c && (b = c);
-            b = mxCodecRegistry.codecs[b];
-            if (null == b) try {
-                b = new mxObjectCodec(new a), mxCodecRegistry.register(b)
-            } catch (d) {}
-        }
-        return b
+  codecs: [],
+  aliases: [],
+  register: function(a) {
+    if (null != a) {
+      var b = a.getName();
+      mxCodecRegistry.codecs[b] = a;
+      var c = mxUtils.getFunctionName(a.template.constructor);
+      c != b && mxCodecRegistry.addAlias(c, b)
+    }
+    return a
+  },
+  addAlias: function(a, b) {
+    mxCodecRegistry.aliases[a] = b
+  },
+  getCodec: function(a) {
+    var b = null;
+    if (null != a) {
+      var b = mxUtils.getFunctionName(a),
+        c = mxCodecRegistry.aliases[b];
+      null != c && (b = c);
+      b = mxCodecRegistry.codecs[b];
+      if (null == b) try {
+        b = new mxObjectCodec(new a), mxCodecRegistry.register(b)
+      } catch (d) {}
     }
+    return b
+  }
 };
 
 function mxCodec(a) {
-    this.document = a || mxUtils.createXmlDocument();
-    this.objects = []
+  this.document = a || mxUtils.createXmlDocument();
+  this.objects = []
 }
 mxCodec.prototype.document = null;
 mxCodec.prototype.objects = null;
 mxCodec.prototype.encodeDefaults = !1;
 mxCodec.prototype.putObject = function(a, b) {
-    return this.objects[a] = b
+  return this.objects[a] = b
 };
 mxCodec.prototype.getObject = function(a) {
-    var b = null;
-    null != a && (b = this.objects[a], null == b && (b = this.lookup(a), null == b && (a = this.getElementById(a), null != a && (b = this.decode(a)))));
-    return b
+  var b = null;
+  null != a && (b = this.objects[a], null == b && (b = this.lookup(a), null == b && (a = this.getElementById(a), null != a && (b = this.decode(a)))));
+  return b
 };
 mxCodec.prototype.lookup = function(a) {
-    return null
+  return null
 };
 mxCodec.prototype.getElementById = function(a, b) {
-    return mxUtils.findNodeByAttribute(this.document.documentElement, null != b ? b : "id", a)
+  return mxUtils.findNodeByAttribute(this.document.documentElement, null != b ? b : "id", a)
 };
 mxCodec.prototype.getId = function(a) {
-    var b = null;
-    null != a && (b = this.reference(a), null == b && a instanceof mxCell && (b = a.getId(), null == b && (b = mxCellPath.create(a), 0 == b.length && (b = "root"))));
-    return b
+  var b = null;
+  null != a && (b = this.reference(a), null == b && a instanceof mxCell && (b = a.getId(), null == b && (b = mxCellPath.create(a), 0 == b.length && (b = "root"))));
+  return b
 };
 mxCodec.prototype.reference = function(a) {
-    return null
+  return null
 };
 mxCodec.prototype.encode = function(a) {
-    var b = null;
-    if (null != a && null != a.constructor) {
-        var c = mxCodecRegistry.getCodec(a.constructor);
-        null != c ? b = c.encode(this, a) : mxUtils.isNode(a) ? b = mxClient.IS_IE ? a.cloneNode(!0) : this.document.importNode(a, !0) : mxLog.warn("mxCodec.encode: No codec for " + mxUtils.getFunctionName(a.constructor))
-    }
-    return b
+  var b = null;
+  if (null != a && null != a.constructor) {
+    var c = mxCodecRegistry.getCodec(a.constructor);
+    null != c ? b = c.encode(this, a) : mxUtils.isNode(a) ? b = mxClient.IS_IE ? a.cloneNode(!0) : this.document.importNode(a, !0) : mxLog.warn("mxCodec.encode: No codec for " + mxUtils.getFunctionName(
+      a.constructor))
+  }
+  return b
 };
 mxCodec.prototype.decode = function(a, b) {
-    var c = null;
-    if (null != a && a.nodeType == mxConstants.NODETYPE_ELEMENT) {
-        var d = null;
-        try {
-            d = eval(a.nodeName)
-        } catch (e) {}
-        try {
-            var f = mxCodecRegistry.getCodec(d);
-            null != f ? c = f.decode(this, a, b) : (c = a.cloneNode(!0), c.removeAttribute("as"))
-        } catch (g) {
-            mxLog.debug("Cannot decode " + a.nodeName + ": " + g.message)
-        }
+  var c = null;
+  if (null != a && a.nodeType == mxConstants.NODETYPE_ELEMENT) {
+    var d = null;
+    try {
+      d = eval(a.nodeName)
+    } catch (e) {}
+    try {
+      var f = mxCodecRegistry.getCodec(d);
+      null != f ? c = f.decode(this, a, b) : (c = a.cloneNode(!0), c.removeAttribute("as"))
+    } catch (g) {
+      mxLog.debug("Cannot decode " + a.nodeName + ": " + g.message)
     }
-    return c
+  }
+  return c
 };
 mxCodec.prototype.encodeCell = function(a, b, c) {
-    b.appendChild(this.encode(a));
-    if (null == c || c) {
-        c = a.getChildCount();
-        for (var d = 0; d < c; d++) this.encodeCell(a.getChildAt(d), b)
-    }
+  b.appendChild(this.encode(a));
+  if (null == c || c) {
+    c = a.getChildCount();
+    for (var d = 0; d < c; d++) this.encodeCell(a.getChildAt(d), b)
+  }
 };
 mxCodec.prototype.isCellCodec = function(a) {
-    return null != a && "function" == typeof a.isCellCodec ? a.isCellCodec() : !1
+  return null != a && "function" == typeof a.isCellCodec ? a.isCellCodec() : !1
 };
 mxCodec.prototype.decodeCell = function(a, b) {
-    b = null != b ? b : !0;
-    var c = null;
-    if (null != a && a.nodeType == mxConstants.NODETYPE_ELEMENT) {
-        c = mxCodecRegistry.getCodec(a.nodeName);
-        if (!this.isCellCodec(c))
-            for (var d = a.firstChild; null != d && !this.isCellCodec(c);) c = mxCodecRegistry.getCodec(d.nodeName), d = d.nextSibling;
-        this.isCellCodec(c) || (c = mxCodecRegistry.getCodec(mxCell));
-        c = c.decode(this, a);
-        b && this.insertIntoGraph(c)
-    }
-    return c
+  b = null != b ? b : !0;
+  var c = null;
+  if (null != a && a.nodeType == mxConstants.NODETYPE_ELEMENT) {
+    c = mxCodecRegistry.getCodec(a.nodeName);
+    if (!this.isCellCodec(c))
+      for (var d = a.firstChild; null != d && !this.isCellCodec(c);) c = mxCodecRegistry.getCodec(d.nodeName), d = d.nextSibling;
+    this.isCellCodec(c) || (c = mxCodecRegistry.getCodec(mxCell));
+    c = c.decode(this, a);
+    b && this.insertIntoGraph(c)
+  }
+  return c
 };
 mxCodec.prototype.insertIntoGraph = function(a) {
-    var b = a.parent,
-        c = a.getTerminal(!0),
-        d = a.getTerminal(!1);
-    a.setTerminal(null, !1);
-    a.setTerminal(null, !0);
-    a.parent = null;
-    null != b && b.insert(a);
-    null != c && c.insertEdge(a, !0);
-    null != d && d.insertEdge(a, !1)
+  var b = a.parent,
+    c = a.getTerminal(!0),
+    d = a.getTerminal(!1);
+  a.setTerminal(null, !1);
+  a.setTerminal(null, !0);
+  a.parent = null;
+  null != b && b.insert(a);
+  null != c && c.insertEdge(a, !0);
+  null != d && d.insertEdge(a, !1)
 };
 mxCodec.prototype.setAttribute = function(a, b, c) {
-    null != b && null != c && a.setAttribute(b, c)
+  null != b && null != c && a.setAttribute(b, c)
 };
 
 function mxObjectCodec(a, b, c, d) {
-    this.template = a;
-    this.exclude = null != b ? b : [];
-    this.idrefs = null != c ? c : [];
-    this.mapping = null != d ? d : [];
-    this.reverse = {};
-    for (var e in this.mapping) this.reverse[this.mapping[e]] = e
+  this.template = a;
+  this.exclude = null != b ? b : [];
+  this.idrefs = null != c ? c : [];
+  this.mapping = null != d ? d : [];
+  this.reverse = {};
+  for (var e in this.mapping) this.reverse[this.mapping[e]] = e
 }
 mxObjectCodec.prototype.template = null;
 mxObjectCodec.prototype.exclude = null;
@@ -17844,293 +18173,295 @@ mxObjectCodec.prototype.idrefs = null;
 mxObjectCodec.prototype.mapping = null;
 mxObjectCodec.prototype.reverse = null;
 mxObjectCodec.prototype.getName = function() {
-    return mxUtils.getFunctionName(this.template.constructor)
+  return mxUtils.getFunctionName(this.template.constructor)
 };
 mxObjectCodec.prototype.cloneTemplate = function() {
-    return new this.template.constructor
+  return new this.template.constructor
 };
 mxObjectCodec.prototype.getFieldName = function(a) {
-    if (null != a) {
-        var b = this.reverse[a];
-        null != b && (a = b)
-    }
-    return a
+  if (null != a) {
+    var b = this.reverse[a];
+    null != b && (a = b)
+  }
+  return a
 };
 mxObjectCodec.prototype.getAttributeName = function(a) {
-    if (null != a) {
-        var b = this.mapping[a];
-        null != b && (a = b)
-    }
-    return a
+  if (null != a) {
+    var b = this.mapping[a];
+    null != b && (a = b)
+  }
+  return a
 };
 mxObjectCodec.prototype.isExcluded = function(a, b, c, d) {
-    return b == mxObjectIdentity.FIELD_NAME || 0 <= mxUtils.indexOf(this.exclude, b)
+  return b == mxObjectIdentity.FIELD_NAME || 0 <= mxUtils.indexOf(this.exclude, b)
 };
 mxObjectCodec.prototype.isReference = function(a, b, c, d) {
-    return 0 <= mxUtils.indexOf(this.idrefs, b)
+  return 0 <= mxUtils.indexOf(this.idrefs, b)
 };
 mxObjectCodec.prototype.encode = function(a, b) {
-    var c = a.document.createElement(this.getName());
-    b = this.beforeEncode(a, b, c);
-    this.encodeObject(a, b, c);
-    return this.afterEncode(a, b, c)
+  var c = a.document.createElement(this.getName());
+  b = this.beforeEncode(a, b, c);
+  this.encodeObject(a, b, c);
+  return this.afterEncode(a, b, c)
 };
 mxObjectCodec.prototype.encodeObject = function(a, b, c) {
-    a.setAttribute(c, "id", a.getId(b));
-    for (var d in b) {
-        var e = d,
-            f = b[e];
-        null != f && !this.isExcluded(b, e, f, !0) && (mxUtils.isNumeric(e) && (e = null), this.encodeValue(a, b, e, f, c))
-    }
+  a.setAttribute(c, "id", a.getId(b));
+  for (var d in b) {
+    var e = d,
+      f = b[e];
+    null != f && !this.isExcluded(b, e, f, !0) && (mxUtils.isNumeric(e) && (e = null), this.encodeValue(a, b, e, f, c))
+  }
 };
 mxObjectCodec.prototype.encodeValue = function(a, b, c, d, e) {
-    if (null != d) {
-        if (this.isReference(b, c, d, !0)) {
-            var f = a.getId(d);
-            if (null == f) {
-                mxLog.warn("mxObjectCodec.encode: No ID for " + this.getName() + "." + c + "\x3d" + d);
-                return
-            }
-            d = f
-        }
-        f = this.template[c];
-        if (null == c || a.encodeDefaults || f != d) c = this.getAttributeName(c), this.writeAttribute(a, b, c, d, e)
-    }
+  if (null != d) {
+    if (this.isReference(b, c, d, !0)) {
+      var f = a.getId(d);
+      if (null == f) {
+        mxLog.warn("mxObjectCodec.encode: No ID for " + this.getName() + "." + c + "\x3d" + d);
+        return
+      }
+      d = f
+    }
+    f = this.template[c];
+    if (null == c || a.encodeDefaults || f != d) c = this.getAttributeName(c), this.writeAttribute(a, b, c, d, e)
+  }
 };
 mxObjectCodec.prototype.writeAttribute = function(a, b, c, d, e) {
-    "object" != typeof d ? this.writePrimitiveAttribute(a, b, c, d, e) : this.writeComplexAttribute(a, b, c, d, e)
+  "object" != typeof d ? this.writePrimitiveAttribute(a, b, c, d, e) : this.writeComplexAttribute(a, b, c, d, e)
 };
 mxObjectCodec.prototype.writePrimitiveAttribute = function(a, b, c, d, e) {
-    d = this.convertValueToXml(d);
-    null == c ? (b = a.document.createElement("add"), "function" == typeof d ? b.appendChild(a.document.createTextNode(d)) : a.setAttribute(b, "value", d), e.appendChild(b)) : "function" != typeof d && a.setAttribute(e, c, d)
+  d = this.convertValueToXml(d);
+  null == c ? (b = a.document.createElement("add"), "function" == typeof d ? b.appendChild(a.document.createTextNode(d)) : a.setAttribute(b, "value", d), e.appendChild(b)) : "function" != typeof d &&
+    a.setAttribute(e, c, d)
 };
 mxObjectCodec.prototype.writeComplexAttribute = function(a, b, c, d, e) {
-    a = a.encode(d);
-    null != a ? (null != c && a.setAttribute("as", c), e.appendChild(a)) : mxLog.warn("mxObjectCodec.encode: No node for " + this.getName() + "." + c + ": " + d)
+  a = a.encode(d);
+  null != a ? (null != c && a.setAttribute("as", c), e.appendChild(a)) : mxLog.warn("mxObjectCodec.encode: No node for " + this.getName() + "." + c + ": " + d)
 };
 mxObjectCodec.prototype.convertValueToXml = function(a) {
-    if ("undefined" == typeof a.length && (!0 == a || !1 == a)) a = !0 == a ? "1" : "0";
-    return a
+  if ("undefined" == typeof a.length && (!0 == a || !1 == a)) a = !0 == a ? "1" : "0";
+  return a
 };
 mxObjectCodec.prototype.convertValueFromXml = function(a) {
-    mxUtils.isNumeric(a) && (a = parseFloat(a));
-    return a
+  mxUtils.isNumeric(a) && (a = parseFloat(a));
+  return a
 };
 mxObjectCodec.prototype.beforeEncode = function(a, b, c) {
-    return b
+  return b
 };
 mxObjectCodec.prototype.afterEncode = function(a, b, c) {
-    return c
+  return c
 };
 mxObjectCodec.prototype.decode = function(a, b, c) {
-    var d = b.getAttribute("id"),
-        e = a.objects[d];
-    null == e && (e = c || this.cloneTemplate(), null != d && a.putObject(d, e));
-    b = this.beforeDecode(a, b, e);
-    this.decodeNode(a, b, e);
-    return this.afterDecode(a, b, e)
+  var d = b.getAttribute("id"),
+    e = a.objects[d];
+  null == e && (e = c || this.cloneTemplate(), null != d && a.putObject(d, e));
+  b = this.beforeDecode(a, b, e);
+  this.decodeNode(a, b, e);
+  return this.afterDecode(a, b, e)
 };
 mxObjectCodec.prototype.decodeNode = function(a, b, c) {
-    null != b && (this.decodeAttributes(a, b, c), this.decodeChildren(a, b, c))
+  null != b && (this.decodeAttributes(a, b, c), this.decodeChildren(a, b, c))
 };
 mxObjectCodec.prototype.decodeAttributes = function(a, b, c) {
-    b = b.attributes;
-    if (null != b)
-        for (var d = 0; d < b.length; d++) this.decodeAttribute(a, b[d], c)
+  b = b.attributes;
+  if (null != b)
+    for (var d = 0; d < b.length; d++) this.decodeAttribute(a, b[d], c)
 };
 mxObjectCodec.prototype.decodeAttribute = function(a, b, c) {
-    var d = b.nodeName;
-    if ("as" != d && "id" != d) {
-        b = this.convertValueFromXml(b.nodeValue);
-        var e = this.getFieldName(d);
-        if (this.isReference(c, e, b, !1)) {
-            a = a.getObject(b);
-            if (null == a) {
-                mxLog.warn("mxObjectCodec.decode: No object for " + this.getName() + "." + d + "\x3d" + b);
-                return
-            }
-            b = a
-        }
-        this.isExcluded(c, d, b, !1) || (c[d] = b)
-    }
+  var d = b.nodeName;
+  if ("as" != d && "id" != d) {
+    b = this.convertValueFromXml(b.nodeValue);
+    var e = this.getFieldName(d);
+    if (this.isReference(c, e, b, !1)) {
+      a = a.getObject(b);
+      if (null == a) {
+        mxLog.warn("mxObjectCodec.decode: No object for " + this.getName() + "." + d + "\x3d" + b);
+        return
+      }
+      b = a
+    }
+    this.isExcluded(c, d, b, !1) || (c[d] = b)
+  }
 };
 mxObjectCodec.prototype.decodeChildren = function(a, b, c) {
-    for (b = b.firstChild; null != b;) {
-        var d = b.nextSibling;
-        b.nodeType == mxConstants.NODETYPE_ELEMENT && !this.processInclude(a, b, c) && this.decodeChild(a, b, c);
-        b = d
-    }
+  for (b = b.firstChild; null != b;) {
+    var d = b.nextSibling;
+    b.nodeType == mxConstants.NODETYPE_ELEMENT && !this.processInclude(a, b, c) && this.decodeChild(a, b, c);
+    b = d
+  }
 };
 mxObjectCodec.prototype.decodeChild = function(a, b, c) {
-    var d = this.getFieldName(b.getAttribute("as"));
-    if (null == d || !this.isExcluded(c, d, b, !1)) {
-        var e = this.getFieldTemplate(c, d, b),
-            f = null;
-        "add" == b.nodeName ? (f = b.getAttribute("value"), null == f && (f = mxUtils.eval(mxUtils.getTextContent(b)))) : f = a.decode(b, e);
-        this.addObjectValue(c, d, f, e)
-    }
+  var d = this.getFieldName(b.getAttribute("as"));
+  if (null == d || !this.isExcluded(c, d, b, !1)) {
+    var e = this.getFieldTemplate(c, d, b),
+      f = null;
+    "add" == b.nodeName ? (f = b.getAttribute("value"), null == f && (f = mxUtils.eval(mxUtils.getTextContent(b)))) : f = a.decode(b, e);
+    this.addObjectValue(c, d, f, e)
+  }
 };
 mxObjectCodec.prototype.getFieldTemplate = function(a, b, c) {
-    a = a[b];
-    a instanceof Array && 0 < a.length && (a = null);
-    return a
+  a = a[b];
+  a instanceof Array && 0 < a.length && (a = null);
+  return a
 };
 mxObjectCodec.prototype.addObjectValue = function(a, b, c, d) {
-    null != c && c != d && (null != b && 0 < b.length ? a[b] = c : a.push(c))
+  null != c && c != d && (null != b && 0 < b.length ? a[b] = c : a.push(c))
 };
 mxObjectCodec.prototype.processInclude = function(a, b, c) {
-    if ("include" == b.nodeName) {
-        b = b.getAttribute("name");
-        if (null != b) try {
-            var d = mxUtils.load(b).getDocumentElement();
-            null != d && a.decode(d, c)
-        } catch (e) {}
-        return !0
-    }
-    return !1
+  if ("include" == b.nodeName) {
+    b = b.getAttribute("name");
+    if (null != b) try {
+      var d = mxUtils.load(b).getDocumentElement();
+      null != d && a.decode(d, c)
+    } catch (e) {}
+    return !0
+  }
+  return !1
 };
 mxObjectCodec.prototype.beforeDecode = function(a, b, c) {
-    return b
+  return b
 };
 mxObjectCodec.prototype.afterDecode = function(a, b, c) {
-    return c
+  return c
 };
 mxCodecRegistry.register(function() {
-    var a = new mxObjectCodec(new mxCell, ["children", "edges", "overlays", "mxTransient"], ["parent", "source", "target"]);
-    a.isCellCodec = function() {
-        return !0
-    };
-    a.isExcluded = function(a, c, d, e) {
-        return mxObjectCodec.prototype.isExcluded.apply(this, arguments) || e && "value" == c && d.nodeType == mxConstants.NODETYPE_ELEMENT
-    };
-    a.afterEncode = function(a, c, d) {
-        if (null != c.value && c.value.nodeType == mxConstants.NODETYPE_ELEMENT) {
-            var e = d;
-            d = mxClient.IS_IE ? c.value.cloneNode(!0) : a.document.importNode(c.value, !0);
-            d.appendChild(e);
-            a = e.getAttribute("id");
-            d.setAttribute("id", a);
-            e.removeAttribute("id")
+  var a = new mxObjectCodec(new mxCell, ["children", "edges", "overlays", "mxTransient"], ["parent", "source", "target"]);
+  a.isCellCodec = function() {
+    return !0
+  };
+  a.isExcluded = function(a, c, d, e) {
+    return mxObjectCodec.prototype.isExcluded.apply(this, arguments) || e && "value" == c && d.nodeType == mxConstants.NODETYPE_ELEMENT
+  };
+  a.afterEncode = function(a, c, d) {
+    if (null != c.value && c.value.nodeType == mxConstants.NODETYPE_ELEMENT) {
+      var e = d;
+      d = mxClient.IS_IE ? c.value.cloneNode(!0) : a.document.importNode(c.value, !0);
+      d.appendChild(e);
+      a = e.getAttribute("id");
+      d.setAttribute("id", a);
+      e.removeAttribute("id")
+    }
+    return d
+  };
+  a.beforeDecode = function(a, c, d) {
+    var e = c,
+      f = this.getName();
+    c.nodeName != f ? (e = c.getElementsByTagName(f)[0], null != e && e.parentNode == c ? (mxUtils.removeWhitespace(e, !0), mxUtils.removeWhitespace(e, !1), e.parentNode.removeChild(e)) : e =
+      null, d.value = c.cloneNode(!0), c = d.value.getAttribute("id"), null != c && (d.setId(c), d.value.removeAttribute("id"))) : d.setId(c.getAttribute("id"));
+    if (null != e)
+      for (c = 0; c < this.idrefs.length; c++) {
+        var f =
+          this.idrefs[c],
+          g = e.getAttribute(f);
+        if (null != g) {
+          e.removeAttribute(f);
+          var h = a.objects[g] || a.lookup(g);
+          null == h && (g = a.getElementById(g), null != g && (h = (mxCodecRegistry.codecs[g.nodeName] || this).decode(a, g)));
+          d[f] = h
         }
-        return d
-    };
-    a.beforeDecode = function(a, c, d) {
-        var e = c,
-            f = this.getName();
-        c.nodeName != f ? (e = c.getElementsByTagName(f)[0], null != e && e.parentNode == c ? (mxUtils.removeWhitespace(e, !0), mxUtils.removeWhitespace(e, !1), e.parentNode.removeChild(e)) : e = null, d.value = c.cloneNode(!0), c = d.value.getAttribute("id"), null != c && (d.setId(c), d.value.removeAttribute("id"))) : d.setId(c.getAttribute("id"));
-        if (null != e)
-            for (c = 0; c < this.idrefs.length; c++) {
-                var f =
-                    this.idrefs[c],
-                    g = e.getAttribute(f);
-                if (null != g) {
-                    e.removeAttribute(f);
-                    var h = a.objects[g] || a.lookup(g);
-                    null == h && (g = a.getElementById(g), null != g && (h = (mxCodecRegistry.codecs[g.nodeName] || this).decode(a, g)));
-                    d[f] = h
-                }
-            }
-        return e
-    };
-    return a
+      }
+    return e
+  };
+  return a
 }());
 mxCodecRegistry.register(function() {
-    var a = new mxObjectCodec(new mxGraphModel);
-    a.encodeObject = function(a, c, d) {
-        var e = a.document.createElement("root");
-        a.encodeCell(c.getRoot(), e);
-        d.appendChild(e)
-    };
-    a.decodeChild = function(a, c, d) {
-        "root" == c.nodeName ? this.decodeRoot(a, c, d) : mxObjectCodec.prototype.decodeChild.apply(this, arguments)
-    };
-    a.decodeRoot = function(a, c, d) {
-        var e = null;
-        for (c = c.firstChild; null != c;) {
-            var f = a.decodeCell(c);
-            null != f && null == f.getParent() && (e = f);
-            c = c.nextSibling
-        }
-        null != e && d.setRoot(e)
-    };
-    return a
+  var a = new mxObjectCodec(new mxGraphModel);
+  a.encodeObject = function(a, c, d) {
+    var e = a.document.createElement("root");
+    a.encodeCell(c.getRoot(), e);
+    d.appendChild(e)
+  };
+  a.decodeChild = function(a, c, d) {
+    "root" == c.nodeName ? this.decodeRoot(a, c, d) : mxObjectCodec.prototype.decodeChild.apply(this, arguments)
+  };
+  a.decodeRoot = function(a, c, d) {
+    var e = null;
+    for (c = c.firstChild; null != c;) {
+      var f = a.decodeCell(c);
+      null != f && null == f.getParent() && (e = f);
+      c = c.nextSibling
+    }
+    null != e && d.setRoot(e)
+  };
+  return a
 }());
 mxCodecRegistry.register(function() {
-    var a = new mxObjectCodec(new mxRootChange, ["model", "previous", "root"]);
-    a.afterEncode = function(a, c, d) {
-        a.encodeCell(c.root, d);
-        return d
-    };
-    a.beforeDecode = function(a, c, d) {
-        if (null != c.firstChild && c.firstChild.nodeType == mxConstants.NODETYPE_ELEMENT) {
-            c = c.cloneNode(!0);
-            var e = c.firstChild;
-            d.root = a.decodeCell(e, !1);
-            d = e.nextSibling;
-            e.parentNode.removeChild(e);
-            for (e = d; null != e;) d = e.nextSibling, a.decodeCell(e), e.parentNode.removeChild(e), e = d
-        }
-        return c
-    };
-    a.afterDecode = function(a, c,
-        d) {
-        d.previous = d.root;
-        return d
-    };
-    return a
+  var a = new mxObjectCodec(new mxRootChange, ["model", "previous", "root"]);
+  a.afterEncode = function(a, c, d) {
+    a.encodeCell(c.root, d);
+    return d
+  };
+  a.beforeDecode = function(a, c, d) {
+    if (null != c.firstChild && c.firstChild.nodeType == mxConstants.NODETYPE_ELEMENT) {
+      c = c.cloneNode(!0);
+      var e = c.firstChild;
+      d.root = a.decodeCell(e, !1);
+      d = e.nextSibling;
+      e.parentNode.removeChild(e);
+      for (e = d; null != e;) d = e.nextSibling, a.decodeCell(e), e.parentNode.removeChild(e), e = d
+    }
+    return c
+  };
+  a.afterDecode = function(a, c,
+    d) {
+    d.previous = d.root;
+    return d
+  };
+  return a
 }());
 mxCodecRegistry.register(function() {
-    var a = new mxObjectCodec(new mxChildChange, ["model", "child", "previousIndex"], ["parent", "previous"]);
-    a.isReference = function(a, c, d, e) {
-        return "child" == c && (null != a.previous || !e) ? !0 : 0 <= mxUtils.indexOf(this.idrefs, c)
-    };
-    a.afterEncode = function(a, c, d) {
-        this.isReference(c, "child", c.child, !0) ? d.setAttribute("child", a.getId(c.child)) : a.encodeCell(c.child, d);
-        return d
-    };
-    a.beforeDecode = function(a, c, d) {
-        if (null != c.firstChild && c.firstChild.nodeType == mxConstants.NODETYPE_ELEMENT) {
-            c = c.cloneNode(!0);
-            var e = c.firstChild;
-            d.child = a.decodeCell(e, !1);
-            d = e.nextSibling;
-            e.parentNode.removeChild(e);
-            for (e = d; null != e;) {
-                d = e.nextSibling;
-                if (e.nodeType == mxConstants.NODETYPE_ELEMENT) {
-                    var f = e.getAttribute("id");
-                    null == a.lookup(f) && a.decodeCell(e)
-                }
-                e.parentNode.removeChild(e);
-                e = d
-            }
-        } else e = c.getAttribute("child"), d.child = a.getObject(e);
-        return c
-    };
-    a.afterDecode = function(a, c, d) {
-        d.child.parent = d.previous;
-        d.previous = d.parent;
-        d.previousIndex = d.index;
-        return d
-    };
-    return a
+  var a = new mxObjectCodec(new mxChildChange, ["model", "child", "previousIndex"], ["parent", "previous"]);
+  a.isReference = function(a, c, d, e) {
+    return "child" == c && (null != a.previous || !e) ? !0 : 0 <= mxUtils.indexOf(this.idrefs, c)
+  };
+  a.afterEncode = function(a, c, d) {
+    this.isReference(c, "child", c.child, !0) ? d.setAttribute("child", a.getId(c.child)) : a.encodeCell(c.child, d);
+    return d
+  };
+  a.beforeDecode = function(a, c, d) {
+    if (null != c.firstChild && c.firstChild.nodeType == mxConstants.NODETYPE_ELEMENT) {
+      c = c.cloneNode(!0);
+      var e = c.firstChild;
+      d.child = a.decodeCell(e, !1);
+      d = e.nextSibling;
+      e.parentNode.removeChild(e);
+      for (e = d; null != e;) {
+        d = e.nextSibling;
+        if (e.nodeType == mxConstants.NODETYPE_ELEMENT) {
+          var f = e.getAttribute("id");
+          null == a.lookup(f) && a.decodeCell(e)
+        }
+        e.parentNode.removeChild(e);
+        e = d
+      }
+    } else e = c.getAttribute("child"), d.child = a.getObject(e);
+    return c
+  };
+  a.afterDecode = function(a, c, d) {
+    d.child.parent = d.previous;
+    d.previous = d.parent;
+    d.previousIndex = d.index;
+    return d
+  };
+  return a
 }());
 mxCodecRegistry.register(function() {
-    var a = new mxObjectCodec(new mxTerminalChange, ["model", "previous"], ["cell", "terminal"]);
-    a.afterDecode = function(a, c, d) {
-        d.previous = d.terminal;
-        return d
-    };
-    return a
+  var a = new mxObjectCodec(new mxTerminalChange, ["model", "previous"], ["cell", "terminal"]);
+  a.afterDecode = function(a, c, d) {
+    d.previous = d.terminal;
+    return d
+  };
+  return a
 }());
 var mxGenericChangeCodec = function(a, b) {
-    var c = new mxObjectCodec(a, ["model", "previous"], ["cell"]);
-    c.afterDecode = function(a, c, f) {
-        mxUtils.isNode(f.cell) && (f.cell = a.decodeCell(f.cell, !1));
-        f.previous = f[b];
-        return f
-    };
-    return c
+  var c = new mxObjectCodec(a, ["model", "previous"], ["cell"]);
+  c.afterDecode = function(a, c, f) {
+    mxUtils.isNode(f.cell) && (f.cell = a.decodeCell(f.cell, !1));
+    f.previous = f[b];
+    return f
+  };
+  return c
 };
 mxCodecRegistry.register(mxGenericChangeCodec(new mxValueChange, "value"));
 mxCodecRegistry.register(mxGenericChangeCodec(new mxStyleChange, "style"));
@@ -18139,259 +18470,263 @@ mxCodecRegistry.register(mxGenericChangeCodec(new mxCollapseChange, "collapsed")
 mxCodecRegistry.register(mxGenericChangeCodec(new mxVisibleChange, "visible"));
 mxCodecRegistry.register(mxGenericChangeCodec(new mxCellAttributeChange, "value"));
 mxCodecRegistry.register(function() {
-    return new mxObjectCodec(new mxGraph, "graphListeners eventListeners view container cellRenderer editor selection".split(" "))
+  return new mxObjectCodec(new mxGraph, "graphListeners eventListeners view container cellRenderer editor selection".split(" "))
 }());
 mxCodecRegistry.register(function() {
-    var a = new mxObjectCodec(new mxGraphView);
-    a.encode = function(a, c) {
-        return this.encodeCell(a, c, c.graph.getModel().getRoot())
-    };
-    a.encodeCell = function(a, c, d) {
-        var e = c.graph.getModel(),
-            f = c.getState(d),
-            g = e.getParent(d);
-        if (null == g || null != f) {
-            var h = e.getChildCount(d),
-                k = c.graph.getCellGeometry(d),
-                l = null;
-            g == e.getRoot() ? l = "layer" : null == g ? l = "graph" : e.isEdge(d) ? l = "edge" : 0 < h && null != k ? l = "group" : e.isVertex(d) && (l = "vertex");
-            if (null != l) {
-                var m = a.document.createElement(l);
-                null != c.graph.getLabel(d) &&
-                    (m.setAttribute("label", c.graph.getLabel(d)), c.graph.isHtmlLabel(d) && m.setAttribute("html", !0));
-                if (null == g) {
-                    var n = c.getGraphBounds();
-                    null != n && (m.setAttribute("x", Math.round(n.x)), m.setAttribute("y", Math.round(n.y)), m.setAttribute("width", Math.round(n.width)), m.setAttribute("height", Math.round(n.height)));
-                    m.setAttribute("scale", c.scale)
-                } else if (null != f && null != k) {
-                    for (n in f.style) g = f.style[n], "function" == typeof g && "object" == typeof g && (g = mxStyleRegistry.getName(g)), null != g && ("function" != typeof g && "object" !=
-                        typeof g) && m.setAttribute(n, g);
-                    g = f.absolutePoints;
-                    if (null != g && 0 < g.length) {
-                        k = Math.round(g[0].x) + "," + Math.round(g[0].y);
-                        for (n = 1; n < g.length; n++) k += " " + Math.round(g[n].x) + "," + Math.round(g[n].y);
-                        m.setAttribute("points", k)
-                    } else m.setAttribute("x", Math.round(f.x)), m.setAttribute("y", Math.round(f.y)), m.setAttribute("width", Math.round(f.width)), m.setAttribute("height", Math.round(f.height));
-                    n = f.absoluteOffset;
-                    null != n && (0 != n.x && m.setAttribute("dx", Math.round(n.x)), 0 != n.y && m.setAttribute("dy", Math.round(n.y)))
-                }
-                for (n =
-                    0; n < h; n++) f = this.encodeCell(a, c, e.getChildAt(d, n)), null != f && m.appendChild(f)
-            }
+  var a = new mxObjectCodec(new mxGraphView);
+  a.encode = function(a, c) {
+    return this.encodeCell(a, c, c.graph.getModel().getRoot())
+  };
+  a.encodeCell = function(a, c, d) {
+    var e = c.graph.getModel(),
+      f = c.getState(d),
+      g = e.getParent(d);
+    if (null == g || null != f) {
+      var h = e.getChildCount(d),
+        k = c.graph.getCellGeometry(d),
+        l = null;
+      g == e.getRoot() ? l = "layer" : null == g ? l = "graph" : e.isEdge(d) ? l = "edge" : 0 < h && null != k ? l = "group" : e.isVertex(d) && (l = "vertex");
+      if (null != l) {
+        var m = a.document.createElement(l);
+        null != c.graph.getLabel(d) &&
+          (m.setAttribute("label", c.graph.getLabel(d)), c.graph.isHtmlLabel(d) && m.setAttribute("html", !0));
+        if (null == g) {
+          var n = c.getGraphBounds();
+          null != n && (m.setAttribute("x", Math.round(n.x)), m.setAttribute("y", Math.round(n.y)), m.setAttribute("width", Math.round(n.width)), m.setAttribute("height", Math.round(n.height)));
+          m.setAttribute("scale", c.scale)
+        } else if (null != f && null != k) {
+          for (n in f.style) g = f.style[n], "function" == typeof g && "object" == typeof g && (g = mxStyleRegistry.getName(g)), null != g && ("function" != typeof g && "object" !=
+            typeof g) && m.setAttribute(n, g);
+          g = f.absolutePoints;
+          if (null != g && 0 < g.length) {
+            k = Math.round(g[0].x) + "," + Math.round(g[0].y);
+            for (n = 1; n < g.length; n++) k += " " + Math.round(g[n].x) + "," + Math.round(g[n].y);
+            m.setAttribute("points", k)
+          } else m.setAttribute("x", Math.round(f.x)), m.setAttribute("y", Math.round(f.y)), m.setAttribute("width", Math.round(f.width)), m.setAttribute("height", Math.round(f.height));
+          n = f.absoluteOffset;
+          null != n && (0 != n.x && m.setAttribute("dx", Math.round(n.x)), 0 != n.y && m.setAttribute("dy", Math.round(n.y)))
         }
-        return m
-    };
-    return a
+        for (n =
+          0; n < h; n++) f = this.encodeCell(a, c, e.getChildAt(d, n)), null != f && m.appendChild(f)
+      }
+    }
+    return m
+  };
+  return a
 }());
 mxCodecRegistry.register(function() {
-    var a = new mxObjectCodec(new mxStylesheet);
-    a.encode = function(a, c) {
-        var d = a.document.createElement(this.getName()),
-            e;
-        for (e in c.styles) {
-            var f = c.styles[e],
-                g = a.document.createElement("add");
-            if (null != e) {
-                g.setAttribute("as", e);
-                for (var h in f) {
-                    var k = this.getStringValue(h, f[h]);
-                    if (null != k) {
-                        var l = a.document.createElement("add");
-                        l.setAttribute("value", k);
-                        l.setAttribute("as", h);
-                        g.appendChild(l)
-                    }
-                }
-                0 < g.childNodes.length && d.appendChild(g)
-            }
+  var a = new mxObjectCodec(new mxStylesheet);
+  a.encode = function(a, c) {
+    var d = a.document.createElement(this.getName()),
+      e;
+    for (e in c.styles) {
+      var f = c.styles[e],
+        g = a.document.createElement("add");
+      if (null != e) {
+        g.setAttribute("as", e);
+        for (var h in f) {
+          var k = this.getStringValue(h, f[h]);
+          if (null != k) {
+            var l = a.document.createElement("add");
+            l.setAttribute("value", k);
+            l.setAttribute("as", h);
+            g.appendChild(l)
+          }
         }
-        return d
-    };
-    a.getStringValue = function(a,
-        c) {
-        var d = typeof c;
-        "function" == d ? c = mxStyleRegistry.getName(style[j]) : "object" == d && (c = null);
-        return c
-    };
-    a.decode = function(a, c, d) {
-        d = d || new this.template.constructor;
-        var e = c.getAttribute("id");
-        null != e && (a.objects[e] = d);
-        for (c = c.firstChild; null != c;) {
-            if (!this.processInclude(a, c, d) && "add" == c.nodeName && (e = c.getAttribute("as"), null != e)) {
-                var f = c.getAttribute("extend"),
-                    g = null != f ? mxUtils.clone(d.styles[f]) : null;
-                null == g && (null != f && mxLog.warn("mxStylesheetCodec.decode: stylesheet " + f + " not found to extend"), g = {});
-                for (f = c.firstChild; null != f;) {
-                    if (f.nodeType == mxConstants.NODETYPE_ELEMENT) {
-                        var h = f.getAttribute("as");
-                        if ("add" == f.nodeName) {
-                            var k = mxUtils.getTextContent(f),
-                                l = null;
-                            null != k && 0 < k.length ? l = mxUtils.eval(k) : (l = f.getAttribute("value"), mxUtils.isNumeric(l) && (l = parseFloat(l)));
-                            null != l && (g[h] = l)
-                        } else "remove" == f.nodeName && delete g[h]
-                    }
-                    f = f.nextSibling
-                }
-                d.putCellStyle(e, g)
-            }
-            c = c.nextSibling
+        0 < g.childNodes.length && d.appendChild(g)
+      }
+    }
+    return d
+  };
+  a.getStringValue = function(a,
+    c) {
+    var d = typeof c;
+    "function" == d ? c = mxStyleRegistry.getName(style[j]) : "object" == d && (c = null);
+    return c
+  };
+  a.decode = function(a, c, d) {
+    d = d || new this.template.constructor;
+    var e = c.getAttribute("id");
+    null != e && (a.objects[e] = d);
+    for (c = c.firstChild; null != c;) {
+      if (!this.processInclude(a, c, d) && "add" == c.nodeName && (e = c.getAttribute("as"), null != e)) {
+        var f = c.getAttribute("extend"),
+          g = null != f ? mxUtils.clone(d.styles[f]) : null;
+        null == g && (null != f && mxLog.warn("mxStylesheetCodec.decode: stylesheet " + f + " not found to extend"), g = {});
+        for (f = c.firstChild; null != f;) {
+          if (f.nodeType == mxConstants.NODETYPE_ELEMENT) {
+            var h = f.getAttribute("as");
+            if ("add" == f.nodeName) {
+              var k = mxUtils.getTextContent(f),
+                l = null;
+              null != k && 0 < k.length ? l = mxUtils.eval(k) : (l = f.getAttribute("value"), mxUtils.isNumeric(l) && (l = parseFloat(l)));
+              null != l && (g[h] = l)
+            } else "remove" == f.nodeName && delete g[h]
+          }
+          f = f.nextSibling
         }
-        return d
-    };
-    return a
+        d.putCellStyle(e, g)
+      }
+      c = c.nextSibling
+    }
+    return d
+  };
+  return a
 }());
 mxCodecRegistry.register(function() {
-    var a = new mxObjectCodec(new mxDefaultKeyHandler);
-    a.encode = function(a, c) {
-        return null
-    };
-    a.decode = function(a, c, d) {
-        if (null != d)
-            for (c = c.firstChild; null != c;) {
-                if (!this.processInclude(a, c, d) && "add" == c.nodeName) {
-                    var e = c.getAttribute("as"),
-                        f = c.getAttribute("action"),
-                        g = c.getAttribute("control");
-                    d.bindAction(e, f, g)
-                }
-                c = c.nextSibling
-            }
-        return d
-    };
-    return a
+  var a = new mxObjectCodec(new mxDefaultKeyHandler);
+  a.encode = function(a, c) {
+    return null
+  };
+  a.decode = function(a, c, d) {
+    if (null != d)
+      for (c = c.firstChild; null != c;) {
+        if (!this.processInclude(a, c, d) && "add" == c.nodeName) {
+          var e = c.getAttribute("as"),
+            f = c.getAttribute("action"),
+            g = c.getAttribute("control");
+          d.bindAction(e, f, g)
+        }
+        c = c.nextSibling
+      }
+    return d
+  };
+  return a
 }());
 mxCodecRegistry.register(function() {
-    var a = new mxObjectCodec(new mxDefaultToolbar);
-    a.encode = function(a, c) {
-        return null
-    };
-    a.decode = function(a, c, d) {
-        if (null != d) {
-            var e = d.editor;
-            for (c = c.firstChild; null != c;) {
-                if (c.nodeType == mxConstants.NODETYPE_ELEMENT && !this.processInclude(a, c, d))
-                    if ("separator" == c.nodeName) d.addSeparator();
-                    else if ("br" == c.nodeName) d.toolbar.addBreak();
-                else if ("hr" == c.nodeName) d.toolbar.addLine();
-                else if ("add" == c.nodeName) {
-                    var f = c.getAttribute("as"),
-                        f = mxResources.get(f) || f,
-                        g = c.getAttribute("icon"),
-                        h = c.getAttribute("pressedIcon"),
-                        k = c.getAttribute("action"),
-                        l = c.getAttribute("mode"),
-                        m = c.getAttribute("template"),
-                        n = "0" != c.getAttribute("toggle"),
-                        p = mxUtils.getTextContent(c),
-                        q = null;
-                    if (null != k) q = d.addItem(f, g, k, h);
-                    else if (null != l) var s = mxUtils.eval(p),
-                        q = d.addMode(f, g, l, h, s);
-                    else if (null != m || null != p && 0 < p.length) q = e.templates[m], m = c.getAttribute("style"), null != q && null != m && (q = q.clone(), q.setStyle(m)), m = null, null != p && 0 < p.length && (m = mxUtils.eval(p)), q = d.addPrototype(f, g, q, h, m, n);
-                    else if (h = mxUtils.getChildNodes(c),
-                        0 < h.length)
-                        if (null == g) {
-                            m = d.addActionCombo(f);
-                            for (f = 0; f < h.length; f++) n = h[f], "separator" == n.nodeName ? d.addOption(m, "---") : "add" == n.nodeName && (g = n.getAttribute("as"), n = n.getAttribute("action"), d.addActionOption(m, g, n))
-                        } else {
-                            var r = null,
-                                t = d.addPrototype(f, g, function() {
-                                    var a = e.templates[r.value];
-                                    if (null != a) {
-                                        var a = a.clone(),
-                                            b = r.options[r.selectedIndex].cellStyle;
-                                        null != b && a.setStyle(b);
-                                        return a
-                                    }
-                                    mxLog.warn("Template " + a + " not found");
-                                    return null
-                                }, null, null, n),
-                                r = d.addCombo();
-                            mxEvent.addListener(r, "change",
-                                function() {
-                                    d.toolbar.selectMode(t, function(a) {
-                                        a = mxUtils.convertPoint(e.graph.container, mxEvent.getClientX(a), mxEvent.getClientY(a));
-                                        return e.addVertex(null, s(), a.x, a.y)
-                                    });
-                                    d.toolbar.noReset = !1
-                                });
-                            for (f = 0; f < h.length; f++) n = h[f], "separator" == n.nodeName ? d.addOption(r, "---") : "add" == n.nodeName && (g = n.getAttribute("as"), p = n.getAttribute("template"), d.addOption(r, g, p || m).cellStyle = n.getAttribute("style"))
-                        }
-                    null != q && (m = c.getAttribute("id"), null != m && 0 < m.length && q.setAttribute("id", m))
-                }
-                c = c.nextSibling
+  var a = new mxObjectCodec(new mxDefaultToolbar);
+  a.encode = function(a, c) {
+    return null
+  };
+  a.decode = function(a, c, d) {
+    if (null != d) {
+      var e = d.editor;
+      for (c = c.firstChild; null != c;) {
+        if (c.nodeType == mxConstants.NODETYPE_ELEMENT && !this.processInclude(a, c, d))
+          if ("separator" == c.nodeName) d.addSeparator();
+          else if ("br" == c.nodeName) d.toolbar.addBreak();
+        else if ("hr" == c.nodeName) d.toolbar.addLine();
+        else if ("add" == c.nodeName) {
+          var f = c.getAttribute("as"),
+            f = mxResources.get(f) || f,
+            g = c.getAttribute("icon"),
+            h = c.getAttribute("pressedIcon"),
+            k = c.getAttribute("action"),
+            l = c.getAttribute("mode"),
+            m = c.getAttribute("template"),
+            n = "0" != c.getAttribute("toggle"),
+            p = mxUtils.getTextContent(c),
+            q = null;
+          if (null != k) q = d.addItem(f, g, k, h);
+          else if (null != l) var s = mxUtils.eval(p),
+            q = d.addMode(f, g, l, h, s);
+          else if (null != m || null != p && 0 < p.length) q = e.templates[m], m = c.getAttribute("style"), null != q && null != m && (q = q.clone(), q.setStyle(m)), m = null, null != p && 0 <
+            p.length && (m = mxUtils.eval(p)), q = d.addPrototype(f, g, q, h, m, n);
+          else if (h = mxUtils.getChildNodes(c),
+            0 < h.length)
+            if (null == g) {
+              m = d.addActionCombo(f);
+              for (f = 0; f < h.length; f++) n = h[f], "separator" == n.nodeName ? d.addOption(m, "---") : "add" == n.nodeName && (g = n.getAttribute("as"), n = n.getAttribute("action"), d.addActionOption(
+                m, g, n))
+            } else {
+              var r = null,
+                t = d.addPrototype(f, g, function() {
+                  var a = e.templates[r.value];
+                  if (null != a) {
+                    var a = a.clone(),
+                      b = r.options[r.selectedIndex].cellStyle;
+                    null != b && a.setStyle(b);
+                    return a
+                  }
+                  mxLog.warn("Template " + a + " not found");
+                  return null
+                }, null, null, n),
+                r = d.addCombo();
+              mxEvent.addListener(r, "change",
+                function() {
+                  d.toolbar.selectMode(t, function(a) {
+                    a = mxUtils.convertPoint(e.graph.container, mxEvent.getClientX(a), mxEvent.getClientY(a));
+                    return e.addVertex(null, s(), a.x, a.y)
+                  });
+                  d.toolbar.noReset = !1
+                });
+              for (f = 0; f < h.length; f++) n = h[f], "separator" == n.nodeName ? d.addOption(r, "---") : "add" == n.nodeName && (g = n.getAttribute("as"), p = n.getAttribute("template"), d.addOption(
+                r, g, p || m).cellStyle = n.getAttribute("style"))
             }
+          null != q && (m = c.getAttribute("id"), null != m && 0 < m.length && q.setAttribute("id", m))
         }
-        return d
-    };
-    return a
+        c = c.nextSibling
+      }
+    }
+    return d
+  };
+  return a
 }());
 mxCodecRegistry.register(function() {
-    var a = new mxObjectCodec(new mxDefaultPopupMenu);
-    a.encode = function(a, c) {
-        return null
-    };
-    a.decode = function(a, c, d) {
-        var e = c.getElementsByTagName("include")[0];
-        null != e ? this.processInclude(a, e, d) : null != d && (d.config = c);
-        return d
-    };
-    return a
+  var a = new mxObjectCodec(new mxDefaultPopupMenu);
+  a.encode = function(a, c) {
+    return null
+  };
+  a.decode = function(a, c, d) {
+    var e = c.getElementsByTagName("include")[0];
+    null != e ? this.processInclude(a, e, d) : null != d && (d.config = c);
+    return d
+  };
+  return a
 }());
 mxCodecRegistry.register(function() {
-    var a = new mxObjectCodec(new mxEditor, "modified lastSnapshot ignoredChanges undoManager graphContainer toolbarContainer".split(" "));
-    a.afterDecode = function(a, c, d) {
-        a = c.getAttribute("defaultEdge");
-        null != a && (c.removeAttribute("defaultEdge"), d.defaultEdge = d.templates[a]);
-        a = c.getAttribute("defaultGroup");
-        null != a && (c.removeAttribute("defaultGroup"), d.defaultGroup = d.templates[a]);
-        return d
-    };
-    a.decodeChild = function(a, c, d) {
-        if ("Array" == c.nodeName) {
-            if ("templates" == c.getAttribute("as")) {
-                this.decodeTemplates(a,
-                    c, d);
-                return
-            }
-        } else if ("ui" == c.nodeName) {
-            this.decodeUi(a, c, d);
-            return
-        }
-        mxObjectCodec.prototype.decodeChild.apply(this, arguments)
-    };
-    a.decodeUi = function(a, c, d) {
-        for (a = c.firstChild; null != a;) {
-            if ("add" == a.nodeName) {
-                c = a.getAttribute("as");
-                var e = a.getAttribute("element"),
-                    f = a.getAttribute("style"),
-                    g = null;
-                if (null != e) g = document.getElementById(e), null != g && null != f && (g.style.cssText += ";" + f);
-                else {
-                    var e = parseInt(a.getAttribute("x")),
-                        h = parseInt(a.getAttribute("y")),
-                        k = a.getAttribute("width"),
-                        l = a.getAttribute("height"),
-                        g = document.createElement("div");
-                    g.style.cssText = f;
-                    (new mxWindow(mxResources.get(c) || c, g, e, h, k, l, !1, !0)).setVisible(!0)
-                }
-                "graph" == c ? d.setGraphContainer(g) : "toolbar" == c ? d.setToolbarContainer(g) : "title" == c ? d.setTitleContainer(g) : "status" == c ? d.setStatusContainer(g) : "map" == c && d.setMapContainer(g)
-            } else "resource" == a.nodeName ? mxResources.add(a.getAttribute("basename")) : "stylesheet" == a.nodeName && mxClient.link("stylesheet", a.getAttribute("name"));
-            a = a.nextSibling
-        }
-    };
-    a.decodeTemplates = function(a, c, d) {
-        null == d.templates &&
-            (d.templates = []);
-        c = mxUtils.getChildNodes(c);
-        for (var e = 0; e < c.length; e++) {
-            for (var f = c[e].getAttribute("as"), g = c[e].firstChild; null != g && 1 != g.nodeType;) g = g.nextSibling;
-            null != g && (d.templates[f] = a.decodeCell(g))
+  var a = new mxObjectCodec(new mxEditor, "modified lastSnapshot ignoredChanges undoManager graphContainer toolbarContainer".split(" "));
+  a.afterDecode = function(a, c, d) {
+    a = c.getAttribute("defaultEdge");
+    null != a && (c.removeAttribute("defaultEdge"), d.defaultEdge = d.templates[a]);
+    a = c.getAttribute("defaultGroup");
+    null != a && (c.removeAttribute("defaultGroup"), d.defaultGroup = d.templates[a]);
+    return d
+  };
+  a.decodeChild = function(a, c, d) {
+    if ("Array" == c.nodeName) {
+      if ("templates" == c.getAttribute("as")) {
+        this.decodeTemplates(a,
+          c, d);
+        return
+      }
+    } else if ("ui" == c.nodeName) {
+      this.decodeUi(a, c, d);
+      return
+    }
+    mxObjectCodec.prototype.decodeChild.apply(this, arguments)
+  };
+  a.decodeUi = function(a, c, d) {
+    for (a = c.firstChild; null != a;) {
+      if ("add" == a.nodeName) {
+        c = a.getAttribute("as");
+        var e = a.getAttribute("element"),
+          f = a.getAttribute("style"),
+          g = null;
+        if (null != e) g = document.getElementById(e), null != g && null != f && (g.style.cssText += ";" + f);
+        else {
+          var e = parseInt(a.getAttribute("x")),
+            h = parseInt(a.getAttribute("y")),
+            k = a.getAttribute("width"),
+            l = a.getAttribute("height"),
+            g = document.createElement("div");
+          g.style.cssText = f;
+          (new mxWindow(mxResources.get(c) || c, g, e, h, k, l, !1, !0)).setVisible(!0)
         }
-    };
-    return a
-}());
\ No newline at end of file
+        "graph" == c ? d.setGraphContainer(g) : "toolbar" == c ? d.setToolbarContainer(g) : "title" == c ? d.setTitleContainer(g) : "status" == c ? d.setStatusContainer(g) : "map" == c && d.setMapContainer(
+          g)
+      } else "resource" == a.nodeName ? mxResources.add(a.getAttribute("basename")) : "stylesheet" == a.nodeName && mxClient.link("stylesheet", a.getAttribute("name"));
+      a = a.nextSibling
+    }
+  };
+  a.decodeTemplates = function(a, c, d) {
+    null == d.templates &&
+      (d.templates = []);
+    c = mxUtils.getChildNodes(c);
+    for (var e = 0; e < c.length; e++) {
+      for (var f = c[e].getAttribute("as"), g = c[e].firstChild; null != g && 1 != g.nodeType;) g = g.nextSibling;
+      null != g && (d.templates[f] = a.decodeCell(g))
+    }
+  };
+  return a
+}());
similarity index 81%
rename from public/assets/plugins/mxgraph/templates/xml/flowchart1.xml
rename to public/assets/plugins/jscripty/templates/xml/flowchart1.xml
index 105a4edae974fca879d99511a98dcab91103468f..c40b893e1cfecea2ff73d05616910ac6f8e08f98 100644 (file)
@@ -595,63 +595,227 @@ EditorUi.prototype.saveAs = function(name) {
 /**
  * Plush the current graph under the given project name.
  */
+EditorUi.prototype.validate = function(a, b) {
+       var graph = this.editor.graph;
+       for (var a = a != null ? a : graph.model.getRoot(), b = b != null ? b : {}, c = true, d = graph.model.getChildCount(a), e = 0; e < d; e++) {
+               var f = graph.model.getChildAt(a, e),
+                       g = b;
+               graph.isValidRoot(f) && (g = {});
+               g = this.validate(f, g);
+               g != null ? graph.setCellWarning(f, g.replace(/\n/g, "<br>")) : graph.setCellWarning(f, null);
+               c = c && g == null
+       }
+
+       d = "";
+
+       //--- Giuseppe Careri - Modify 12/12/2013 - giuseppe.careri@gmail.com
+       if (graph.model.isVertex(a)) {
+               switch (a.value.nodeName) {
+                       case 'start':
+                               d = this.validateBlock('start') ? '' : "Only one Start block is allowed" + "\n";
+                               break;
+                       case 'finally':
+                               d = this.validateBlock('finally') ? '' : "Only one Finally block is allowed" + "\n";
+                               break;
+                       case 'playback':
+                       case 'background':
+                       case 'menu':
+                               d = (a.value.getAttribute('file_id') > 0) ? "" : mxResources.get('noAudioSelected') + "\n";
+                               break;
+                       case 'getdigits':
+                               d = (a.value.getAttribute('file_id') > 0) ? "" : mxResources.get('noAudioSelected') + "\n";
+                               d += (a.value.getAttribute('variable_id') > 0) ? "" : mxResources.get('noVariableSelected') + "\n";
+                               break;
+                       case 'vswitch':
+                               d = (a.value.getAttribute('variable') !== "") ? "" : mxResources.get('noVariableSelected') + "\n";
+                               break;
+                       case 'database':
+                               d = (a.value.getAttribute('database_id') > 0) ? "" : mxResources.get('noDatabaseSelected') + "\n";
+                               break;
+                       case 'set':
+                       case 'math':
+                               d = (a.value.getAttribute('variable_id') > 0) ? "" : mxResources.get('noVariableSelected') + "\n";
+                               break;
+                       case 'gotoc':
+                               d = (a.value.getAttribute('extension') !== "") ? "" : mxResources.get('noExtensionSelected') + "\n";
+                               break;
+                       case 'system':
+                       case 'agi':
+                               d = (a.value.getAttribute('command') !== "") ? "" : mxResources.get('noCommandSelected') + "\n";
+                               break;
+                       case 'gotoif':
+                               d = (a.value.getAttribute('condition') !== "") ? "" : mxResources.get('noConditionSelected') + "\n";
+                               break;
+                       case 'saydigits':
+                               d = (a.value.getAttribute('digits') !== "") ? "" : mxResources.get('noDigitsSelected') + "\n";
+                               break;
+                       case 'saynumber':
+                               d = (a.value.getAttribute('number') !== "") ? "" : mxResources.get('noNumberSelected') + "\n";
+                               break;
+                       case 'sayphonetic':
+                               d = (a.value.getAttribute('text') !== "") ? "" : mxResources.get('noTextSelected') + "\n";
+                               break;
+                       case 'record':
+                               d = (a.value.getAttribute('filename') !== "") ? "" : mxResources.get('noFileSelected') + "\n";
+                               break;
+                       case 'goal':
+                               d = (a.value.getAttribute('goalname') !== "") ? "" : mxResources.get('noGoalSelected') + "\n";
+                               break;
+                       case 'ext_dial':
+                               d = (a.value.getAttribute('phone') !== "") ? "" : mxResources.get('noIdentifierSelected') + "\n";
+                               break;
+                       case 'dial':
+                               d = (a.value.getAttribute('sip_id') > 0) ? "" : mxResources.get('noIdentifierSelected') + "\n";
+                               break;
+                       case 'queue':
+                               d = (a.value.getAttribute('queue_id') > 0) ? "" : mxResources.get('noQueueSelected') + "\n";
+                               break;
+                       case 'callback':
+                               d = (a.value.getAttribute('list_id') > 0) ? "" : mxResources.get('noListSelected') + "\n";
+                               break;
+                       case 'gotoiftime':
+                               d = (a.value.getAttribute('interval_id') > 0) ? "" : mxResources.get('noIntervalSelected') + "\n";
+                               break;
+                       case 'gotoifmultitime':
+                               d = (a.value.getAttribute('interval_id') != "") ? "" : mxResources.get('noIntervalSelected') + "\n";
+                               break;
+                       case 'voicemail':
+                               d = (a.value.getAttribute('context') !== "") ? "" : mxResources.get('noContextSelected') + "\n";
+                               d += (a.value.getAttribute('boxnumber') !== "") ? "" : mxResources.get('noBoxNumberSelected') + "\n";
+                               break;
+                       case 'subproject':
+                               d = (a.value.getAttribute('project_id') > 0) ? "" : mxResources.get('noProjectSelected') + "\n";
+                               break;
+                       case 'tts':
+                               d = (a.value.getAttribute('text') !== "") ? "" : mxResources.get('noTextSelected') + "\n";
+                               break;
+                       case 'ispeechtts':
+                               d = (a.value.getAttribute('text') !== "") ? "" : mxResources.get('noTextSelected') + "\n";
+                               d += (a.value.getAttribute('key') !== "") ? "" : mxResources.get('noKeySelected') + "\n";
+                               break;
+                       case 'ispeechasr':
+                               d = (a.value.getAttribute('key') !== "") ? "" : mxResources.get('noKeySelected') + "\n";
+                               break;
+               }
+       }
+
+       if (graph.model.isEdge(a)) {
+               var z = graph.model.getCell(a.source.getId());
+               switch (z.value.nodeName) {
+                       case 'background':
+                               var patt = /^[0-9]{1,45}$|^[i]{1}$|^[t]{1}|^[#]{1}|^[*]{1}$/;
+                               d = d + ((patt.test(String(a.getValue()))) ? "" : mxResources.get('numberOrInvalidOrTimeout') + "\n");
+                               break;
+                       case 'menu':
+                               var patt = /^[0-9]{1,45}$|^[-]{1}$|^[i]{1}$|^[t]{1}|^[#]{1}|^[*]{1}$/;
+                               var str = String(a.getValue());
+                               var res = str.split(",");
+                               res.forEach(function(entry) {
+                                       d = d + ((patt.test(entry)) ? "" : mxResources.get('numberOrAll') + "\n");
+                               });
+                               break;
+                       case 'getdigits':
+                               var patt = /^(x|i|-)$/;
+                               var str = String(a.getValue());
+                               d = d + ((patt.test(str)) ? "" : mxResources.get('numberOrInvalidOrDefault') + "\n");
+                               break;
+                       case 'gotoif':
+                       case 'gotoiftime':
+                       case 'gotoifmultitime':
+                               var patt = /^(true){1}$|^(false){1}$/;
+                               d = d + ((patt.test(String(a.getValue()))) ? "" : mxResources.get('trueOrFalse') + "\n");
+                               break;
+
+               }
+       }
+       // -----------------------------------------------------------------
+
+
+       graph.isCellCollapsed(a) && !c && (d = d + ((mxResources.get(graph.containsValidationErrorsResource) || graph.containsValidationErrorsResource) + "\n"));
+       d = graph.model.isEdge(a) ?
+               d + (graph.getEdgeValidationError(a, graph.model.getTerminal(a, true), graph.model.getTerminal(a, false)) || "") : d + (graph.getCellValidationError(a) || "");
+       e = graph.validateCell(a, b);
+       e != null && (d = d + e);
+       graph.model.getParent(a) == null && graph.view.validate();
+       return d.length > 0 || !c ? d : null
+};
+EditorUi.prototype.validateBlock = function(blockName) {
+       var graph = this.editor.graph;
+       var parent = graph.getDefaultParent();
+       var count = 0;
+       // var model = graph.getModel();
+       //We can also use model.getChildren(parent)
+       parent.children.forEach(function(n) {
+               if (graph.model.isVertex(n) && n.value.nodeName == blockName) {
+                       count++;
+               }
+       });
+       return count > 1 ? false : true;
+}
 EditorUi.prototype.publish = function(name) {
        var editor = this.editor;
 
        if (name != null) {
-               var xml = mxUtils.getPrettyXml(this.editor.getGraphXml());
-               try {
-                       if (useLocalStorage) {
-                               if (localStorage.getItem(name) != null &&
-                                       !mxUtils.confirm(mxResources.get('replace', [name]))) {
-                                       return;
-                               }
-
-                               localStorage.setItem(name, xml);
-                               this.editor.setStatus(mxResources.get('saved') + ' ' + new Date());
-                       } else {
-                               console.log(xml.length);
-                               console.log(MAX_REQUEST_SIZE);
-                               if (xml.length < MAX_REQUEST_SIZE) {
-                                       xml = encodeURIComponent(xml);
+               var response = this.validate();
+               if (response === null) {
+
+                       var xml = mxUtils.getPrettyXml(this.editor.getGraphXml());
+                       try {
+                               if (useLocalStorage) {
+                                       if (localStorage.getItem(name) != null &&
+                                               !mxUtils.confirm(mxResources.get('replace', [name]))) {
+                                               return;
+                                       }
 
-                                       var xhr = new XMLHttpRequest();
-                                       xhr.open("PUT", SAVE_URL + this.editor.data.id, true);
-                                       xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
-                                       xhr.setRequestHeader('Authorization', 'Bearer ' + editor.data.token);
-                                       xhr.onload = function(e) {
-                                               if (xhr.readyState === 4) {
-                                                       if (xhr.status === 200) {
-                                                               editor.setStatus('Published at ' + JSON.parse(xhr.response).updatedAt +
-                                                                       ' (' + xhr.status + ' ' + xhr.statusText + ')');
-                                                       } else {
-                                                               editor.setStatus('Error saving project: ' +
-                                                                       JSON.parse(xhr.response).errors[0].message);
-                                                       }
-                                               }
-                                       };
-                                       xhr.onerror = function(e) {
-                                               mxUtils.alert(xhr.statusText);
-                                       };
-                                       xhr.send('preproduction=' + xml + '&production=' + xml);
+                                       localStorage.setItem(name, xml);
+                                       this.editor.setStatus(mxResources.get('saved') + ' ' + new Date());
                                } else {
-                                       mxUtils.alert(mxResources.get('drawingTooLarge'));
-                                       mxUtils.popup(xml);
+                                       console.log(xml.length);
+                                       console.log(MAX_REQUEST_SIZE);
+                                       if (xml.length < MAX_REQUEST_SIZE) {
+                                               xml = encodeURIComponent(xml);
+
+                                               var xhr = new XMLHttpRequest();
+                                               xhr.open("PUT", SAVE_URL + this.editor.data.id, true);
+                                               xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
+                                               xhr.setRequestHeader('Authorization', 'Bearer ' + editor.data.token);
+                                               xhr.onload = function(e) {
+                                                       if (xhr.readyState === 4) {
+                                                               if (xhr.status === 200) {
+                                                                       editor.setStatus('Published at ' + JSON.parse(xhr.response).updatedAt +
+                                                                               ' (' + xhr.status + ' ' + xhr.statusText + ')');
+                                                               } else {
+                                                                       editor.setStatus('Error saving project: ' +
+                                                                               JSON.parse(xhr.response).errors[0].message);
+                                                               }
+                                                       }
+                                               };
+                                               xhr.onerror = function(e) {
+                                                       mxUtils.alert(xhr.statusText);
+                                               };
+                                               xhr.send('preproduction=' + xml + '&production=' + xml);
+                                       } else {
+                                               mxUtils.alert(mxResources.get('drawingTooLarge'));
+                                               mxUtils.popup(xml);
 
-                                       return;
+                                               return;
+                                       }
                                }
-                       }
 
-                       this.editor.filename = name;
-                       this.editor.modified = false;
-               } catch (e) {
-                       this.editor.setStatus('Error publishing file');
+                               this.editor.filename = name;
+                               this.editor.modified = false;
+                       } catch (e) {
+                               this.editor.setStatus('Error publishing file');
+                       }
+               } else {
+                       editor.setStatus('Error publishing project: ');
                }
        } else {
                this.editor.setStatus('Error publishing file');
        }
 };
 
+
 /**
  * Create variable
  */
similarity index 92%
rename from public/assets/plugins/mxgraph/templates/xml/orgchart2.xml
rename to public/assets/plugins/jscripty/templates/xml/orgchart2.xml
index a1dcf5cbb55714a1cf61ecc0136aafb8f1157860..aa0e2438a79ccee7a507ced94947b39cafcfe722 100644 (file)
@@ -32,8 +32,8 @@ var SAVE_URL = 'api/square/projects/';
 var VARIABLE_URL = 'api/square/variables/';
 
 // Paths and files
-var STENCIL_PATH = '/assets/plugins/mxgraph/stencils';
-var SHAPES_PATH = '/assets/plugins/mxgraph/shapes';
+var STENCIL_PATH = '/assets/plugins/square/stencils';
+var SHAPES_PATH = '/assets/plugins/square/shapes';
 var IMAGE_PATH = '/assets/plugins/mxgraph/images';
 // Path for images inside the diagram
 //var GRAPH_IMAGE_PATH = 'assets/plugins/mxgraph/img';
@@ -41,10 +41,10 @@ var IMAGE_PATH = '/assets/plugins/mxgraph/images';
 var STYLE_PATH = '/assets/plugins/mxgraph/styles';
 var CSS_PATH = '/assets/plugins/mxgraph/styles';
 var OPEN_FORM = 'api/square/projects/open';
-var TEMPLATE_PATH = '/assets/plugins/mxgraph/templates';
+var TEMPLATE_PATH = '/assets/plugins/square/templates';
 
 // Directory for i18 files and basename for main i18n file
-var RESOURCES_PATH = '/assets/plugins/mxgraph/resources';
+var RESOURCES_PATH = '/assets/plugins/square/resources';
 var RESOURCE_BASE = RESOURCES_PATH + '/dia';
 
 // Specifies connection mode for touch devices (at least one should be true)
@@ -52,7 +52,20 @@ var tapAndHoldStartsConnection = true;
 var showConnectorImg = true;
 
 var mxLoadResources = false;
-var mxLanguage = 'it';
+// var mxLanguage = 'it';
+console.log('custom', localStorage.getItem("NG_TRANSLATE_LANG_KEY"));
+switch (localStorage.getItem("NG_TRANSLATE_LANG_KEY")) {
+       case 'en_EN':
+               mxLanguage = 'en';
+               break;
+       case 'it':
+               mxLanguage = 'it';
+               break;
+       default:
+               mxLanguage = 'en';
+}
+console.log('mxLanguage', mxLanguage);
+
 var mxLanguages = ['ar', 'bs', 'cs', 'da', 'de', 'el', 'es', 'es-ar', 'fr',
        'hu', 'id', 'it', 'ja', 'ko', 'nl', 'no', 'pl', 'pt-br', 'pt', 'ro', 'ru',
        'sr', 'sv', 'th', 'tr', 'uk', 'zh'
similarity index 99%
copy from public/assets/plugins/mxgraph/templates/xml/package1.xml
copy to public/assets/plugins/jscripty/templates/xml/package1.xml
index 1a9df745e1d36313d0ae1f178d9e23b9fbde38b9..b1ee61bef96b47688d2aa99ed4e86038d4b14df0 100644 (file)
@@ -71,6 +71,7 @@ embedNotice=Add this once at the end of the page
 enterGroup=Enter group
 enterValue=Enter value
 entityRelation=Entity Relation
+entry=Entry
 error=Error
 errorLoadingFile=Error loading file
 errorRenamingFile=Error renaming file.
@@ -207,7 +208,7 @@ selectEdges=Select Edges
 selectFont=Select a font
 selectVertices=Select Vertices
 sendMessage=Send
-sessionTimeoutOnSave=Your session has timed out and you have been disconnected from the Google Drive. Press OK to login and save. 
+sessionTimeoutOnSave=Your session has timed out and you have been disconnected from the Google Drive. Press OK to login and save.
 setAsDefaultEdge=Set as default edge
 shadow=Shadow
 shape=Shape
diff --git a/public/assets/plugins/mxgraph/images/warning.gif b/public/assets/plugins/mxgraph/images/warning.gif
similarity index 100%
rename from
rename to public/assets/plugins/mxgraph/images/warning.gif
diff --git a/public/assets/plugins/mxgraph/images/warning.png b/public/assets/plugins/mxgraph/images/warning.png
similarity index 100%
rename from
rename to public/assets/plugins/mxgraph/images/warning.png
similarity index 98%
rename from public/assets/plugins/mxgraph/js/custom.js
rename to public/assets/plugins/square/js/custom.js
index 503512072bd2c2966a2cc7aa7aabe3e39a070e6a..049f9c2d9ed3db7f229ef58c999c9f850c96310f 100644 (file)
@@ -334,6 +334,17 @@ callflow=Callflow
 gotoc=Goto
 context=Context
 extension=Extension
+question=Question
+Type=Type
+Host=Host
+Username=Username
+Password=Password
+To=To
+Subject=Subject
+Body=Body
+Zendesk=Zendesk
+Summary=Summary
+Text=Text
 gotoif=GotoIf
 gotoiftime=GotoIfTime
 gotoifmultitime=GotoIfMultiTime
index f72df49664e1cbaf858d58eda59deb88a8b3a6c2..28d5d1ad541b9cbeb93020bdeda68a0518ccdf8f 100644 (file)
@@ -1,18 +1,23 @@
 /*
- * angular-ui-bootstrap
- * http://angular-ui.github.io/bootstrap/
+* angular-ui-bootstrap
+* http://angular-ui.github.io/bootstrap/
 
- * Version: 0.14.3 - 2015-10-23
- * License: MIT
- */
-angular.module("ui.bootstrap", ["ui.bootstrap.tpls", "ui.bootstrap.collapse","ui.bootstrap.accordion","ui.bootstrap.alert","ui.bootstrap.buttons","ui.bootstrap.carousel","ui.bootstrap.dateparser","ui.bootstrap.position","ui.bootstrap.datepicker","ui.bootstrap.dropdown","ui.bootstrap.stackedMap","ui.bootstrap.modal","ui.bootstrap.pagination","ui.bootstrap.tooltip","ui.bootstrap.popover","ui.bootstrap.progressbar","ui.bootstrap.rating","ui.bootstrap.tabs","ui.bootstrap.timepicker","ui.bootstrap.typeahead"]);
-angular.module("ui.bootstrap.tpls", ["template/accordion/accordion-group.html","template/accordion/accordion.html","template/alert/alert.html","template/carousel/carousel.html","template/carousel/slide.html","template/datepicker/datepicker.html","template/datepicker/day.html","template/datepicker/month.html","template/datepicker/popup.html","template/datepicker/year.html","template/modal/backdrop.html","template/modal/window.html","template/pagination/pager.html","template/pagination/pagination.html","template/tooltip/tooltip-html-popup.html","template/tooltip/tooltip-popup.html","template/tooltip/tooltip-template-popup.html","template/popover/popover-html.html","template/popover/popover-template.html","template/popover/popover.html","template/progressbar/bar.html","template/progressbar/progress.html","template/progressbar/progressbar.html","template/rating/rating.html","template/tabs/tab.html","template/tabs/tabset.html","template/timepicker/timepicker.html","template/typeahead/typeahead-match.html","template/typeahead/typeahead-popup.html"]);
+* Version: 1.0.3 - 2016-01-11
+* License: MIT
+*/angular.module("ui.bootstrap", ["ui.bootstrap.tpls", "ui.bootstrap.collapse","ui.bootstrap.accordion","ui.bootstrap.alert","ui.bootstrap.buttons","ui.bootstrap.carousel","ui.bootstrap.dateparser","ui.bootstrap.isClass","ui.bootstrap.position","ui.bootstrap.datepicker","ui.bootstrap.debounce","ui.bootstrap.dropdown","ui.bootstrap.stackedMap","ui.bootstrap.modal","ui.bootstrap.paging","ui.bootstrap.pager","ui.bootstrap.pagination","ui.bootstrap.tooltip","ui.bootstrap.popover","ui.bootstrap.progressbar","ui.bootstrap.rating","ui.bootstrap.tabs","ui.bootstrap.timepicker","ui.bootstrap.typeahead"]);
+angular.module("ui.bootstrap.tpls", ["uib/template/accordion/accordion-group.html","uib/template/accordion/accordion.html","uib/template/alert/alert.html","uib/template/carousel/carousel.html","uib/template/carousel/slide.html","uib/template/datepicker/datepicker.html","uib/template/datepicker/day.html","uib/template/datepicker/month.html","uib/template/datepicker/popup.html","uib/template/datepicker/year.html","uib/template/modal/backdrop.html","uib/template/modal/window.html","uib/template/pager/pager.html","uib/template/pagination/pagination.html","uib/template/tooltip/tooltip-html-popup.html","uib/template/tooltip/tooltip-popup.html","uib/template/tooltip/tooltip-template-popup.html","uib/template/popover/popover-html.html","uib/template/popover/popover-template.html","uib/template/popover/popover.html","uib/template/progressbar/bar.html","uib/template/progressbar/progress.html","uib/template/progressbar/progressbar.html","uib/template/rating/rating.html","uib/template/tabs/tab.html","uib/template/tabs/tabset.html","uib/template/timepicker/timepicker.html","uib/template/typeahead/typeahead-match.html","uib/template/typeahead/typeahead-popup.html"]);
 angular.module('ui.bootstrap.collapse', [])
 
   .directive('uibCollapse', ['$animate', '$injector', function($animate, $injector) {
     var $animateCss = $injector.has('$animateCss') ? $injector.get('$animateCss') : null;
     return {
       link: function(scope, element, attrs) {
+        if (!scope.$eval(attrs.uibCollapse)) {
+          element.addClass('in')
+            .addClass('collapse')
+            .css({height: 'auto'});
+        }
+
         function expand() {
           element.removeClass('collapse')
             .addClass('collapsing')
@@ -24,7 +29,7 @@ angular.module('ui.bootstrap.collapse', [])
               addClass: 'in',
               easing: 'ease',
               to: { height: element[0].scrollHeight + 'px' }
-            }).start().finally(expandDone);
+            }).start()['finally'](expandDone);
           } else {
             $animate.addClass(element, 'in', {
               to: { height: element[0].scrollHeight + 'px' }
@@ -59,7 +64,7 @@ angular.module('ui.bootstrap.collapse', [])
             $animateCss(element, {
               removeClass: 'in',
               to: {height: '0'}
-            }).start().finally(collapseDone);
+            }).start()['finally'](collapseDone);
           } else {
             $animate.removeClass(element, 'in', {
               to: {height: '0'}
@@ -84,89 +89,6 @@ angular.module('ui.bootstrap.collapse', [])
     };
   }]);
 
-/* Deprecated collapse below */
-
-angular.module('ui.bootstrap.collapse')
-
-  .value('$collapseSuppressWarning', false)
-
-  .directive('collapse', ['$animate', '$injector', '$log', '$collapseSuppressWarning', function($animate, $injector, $log, $collapseSuppressWarning) {
-    var $animateCss = $injector.has('$animateCss') ? $injector.get('$animateCss') : null;
-    return {
-      link: function(scope, element, attrs) {
-        if (!$collapseSuppressWarning) {
-          $log.warn('collapse is now deprecated. Use uib-collapse instead.');
-        }
-
-        function expand() {
-          element.removeClass('collapse')
-            .addClass('collapsing')
-            .attr('aria-expanded', true)
-            .attr('aria-hidden', false);
-
-          if ($animateCss) {
-            $animateCss(element, {
-              easing: 'ease',
-              to: { height: element[0].scrollHeight + 'px' }
-            }).start().done(expandDone);
-          } else {
-            $animate.animate(element, {}, {
-              height: element[0].scrollHeight + 'px'
-            }).then(expandDone);
-          }
-        }
-
-        function expandDone() {
-          element.removeClass('collapsing')
-            .addClass('collapse in')
-            .css({height: 'auto'});
-        }
-
-        function collapse() {
-          if (!element.hasClass('collapse') && !element.hasClass('in')) {
-            return collapseDone();
-          }
-
-          element
-            // IMPORTANT: The height must be set before adding "collapsing" class.
-            // Otherwise, the browser attempts to animate from height 0 (in
-            // collapsing class) to the given height here.
-            .css({height: element[0].scrollHeight + 'px'})
-            // initially all panel collapse have the collapse class, this removal
-            // prevents the animation from jumping to collapsed state
-            .removeClass('collapse in')
-            .addClass('collapsing')
-            .attr('aria-expanded', false)
-            .attr('aria-hidden', true);
-
-          if ($animateCss) {
-            $animateCss(element, {
-              to: {height: '0'}
-            }).start().done(collapseDone);
-          } else {
-            $animate.animate(element, {}, {
-              height: '0'
-            }).then(collapseDone);
-          }
-        }
-
-        function collapseDone() {
-          element.css({height: '0'}); // Required so that collapse works when animation is disabled
-          element.removeClass('collapsing')
-            .addClass('collapse');
-        }
-
-        scope.$watch(attrs.collapse, function(shouldCollapse) {
-          if (shouldCollapse) {
-            collapse();
-          } else {
-            expand();
-          }
-        });
-      }
-    };
-  }]);
-
 angular.module('ui.bootstrap.accordion', ['ui.bootstrap.collapse'])
 
 .constant('uibAccordionConfig', {
@@ -207,7 +129,6 @@ angular.module('ui.bootstrap.accordion', ['ui.bootstrap.collapse'])
       this.groups.splice(index, 1);
     }
   };
-
 }])
 
 // The accordion directive simply sets up the directive controller
@@ -218,7 +139,7 @@ angular.module('ui.bootstrap.accordion', ['ui.bootstrap.collapse'])
     controllerAs: 'accordion',
     transclude: true,
     templateUrl: function(element, attrs) {
-      return attrs.templateUrl || 'template/accordion/accordion.html';
+      return attrs.templateUrl || 'uib/template/accordion/accordion.html';
     }
   };
 })
@@ -230,7 +151,7 @@ angular.module('ui.bootstrap.accordion', ['ui.bootstrap.collapse'])
     transclude: true,              // It transcludes the contents of the directive into the template
     replace: true,                // The element containing the directive will be replaced with the template
     templateUrl: function(element, attrs) {
-      return attrs.templateUrl || 'template/accordion/accordion-group.html';
+      return attrs.templateUrl || 'uib/template/accordion/accordion-group.html';
     },
     scope: {
       heading: '@',               // Interpolate the heading attribute onto this scope
@@ -246,7 +167,7 @@ angular.module('ui.bootstrap.accordion', ['ui.bootstrap.collapse'])
       accordionCtrl.addGroup(scope);
 
       scope.openClass = attrs.openClass || 'panel-open';
-      scope.panelClass = attrs.panelClass;
+      scope.panelClass = attrs.panelClass || 'panel-default';
       scope.$watch('isOpen', function(value) {
         element.toggleClass(scope.openClass, !!value);
         if (value) {
@@ -285,9 +206,8 @@ angular.module('ui.bootstrap.accordion', ['ui.bootstrap.collapse'])
 // You must provide the property on the accordion-group controller that will hold the transcluded element
 .directive('uibAccordionTransclude', function() {
   return {
-    require: ['?^uibAccordionGroup', '?^accordionGroup'],
+    require: '^uibAccordionGroup',
     link: function(scope, element, attrs, controller) {
-      controller = controller[0] ? controller[0] : controller[1]; // Delete after we remove deprecation
       scope.$watch(function() { return controller[attrs.uibAccordionTransclude]; }, function(heading) {
         if (heading) {
           element.find('span').html('');
@@ -298,125 +218,6 @@ angular.module('ui.bootstrap.accordion', ['ui.bootstrap.collapse'])
   };
 });
 
-/* Deprecated accordion below */
-
-angular.module('ui.bootstrap.accordion')
-
-  .value('$accordionSuppressWarning', false)
-
-  .controller('AccordionController', ['$scope', '$attrs', '$controller', '$log', '$accordionSuppressWarning', function($scope, $attrs, $controller, $log, $accordionSuppressWarning) {
-    if (!$accordionSuppressWarning) {
-      $log.warn('AccordionController is now deprecated. Use UibAccordionController instead.');
-    }
-
-    angular.extend(this, $controller('UibAccordionController', {
-      $scope: $scope,
-      $attrs: $attrs
-    }));
-  }])
-
-  .directive('accordion', ['$log', '$accordionSuppressWarning', function($log, $accordionSuppressWarning) {
-    return {
-      restrict: 'EA',
-      controller: 'AccordionController',
-      controllerAs: 'accordion',
-      transclude: true,
-      replace: false,
-      templateUrl: function(element, attrs) {
-        return attrs.templateUrl || 'template/accordion/accordion.html';
-      },
-      link: function() {
-        if (!$accordionSuppressWarning) {
-          $log.warn('accordion is now deprecated. Use uib-accordion instead.');
-        }
-      }
-    };
-  }])
-
-  .directive('accordionGroup', ['$log', '$accordionSuppressWarning', function($log, $accordionSuppressWarning) {
-    return {
-      require: '^accordion',         // We need this directive to be inside an accordion
-      restrict: 'EA',
-      transclude: true,              // It transcludes the contents of the directive into the template
-      replace: true,                // The element containing the directive will be replaced with the template
-      templateUrl: function(element, attrs) {
-        return attrs.templateUrl || 'template/accordion/accordion-group.html';
-      },
-      scope: {
-        heading: '@',               // Interpolate the heading attribute onto this scope
-        isOpen: '=?',
-        isDisabled: '=?'
-      },
-      controller: function() {
-        this.setHeading = function(element) {
-          this.heading = element;
-        };
-      },
-      link: function(scope, element, attrs, accordionCtrl) {
-        if (!$accordionSuppressWarning) {
-          $log.warn('accordion-group is now deprecated. Use uib-accordion-group instead.');
-        }
-
-        accordionCtrl.addGroup(scope);
-
-        scope.openClass = attrs.openClass || 'panel-open';
-        scope.panelClass = attrs.panelClass;
-        scope.$watch('isOpen', function(value) {
-          element.toggleClass(scope.openClass, !!value);
-          if (value) {
-            accordionCtrl.closeOthers(scope);
-          }
-        });
-
-        scope.toggleOpen = function($event) {
-          if (!scope.isDisabled) {
-            if (!$event || $event.which === 32) {
-              scope.isOpen = !scope.isOpen;
-            }
-          }
-        };
-      }
-    };
-  }])
-
-  .directive('accordionHeading', ['$log', '$accordionSuppressWarning', function($log, $accordionSuppressWarning) {
-    return {
-      restrict: 'EA',
-      transclude: true,   // Grab the contents to be used as the heading
-      template: '',       // In effect remove this element!
-      replace: true,
-      require: '^accordionGroup',
-      link: function(scope, element, attr, accordionGroupCtrl, transclude) {
-        if (!$accordionSuppressWarning) {
-          $log.warn('accordion-heading is now deprecated. Use uib-accordion-heading instead.');
-        }
-        // Pass the heading to the accordion-group controller
-        // so that it can be transcluded into the right place in the template
-        // [The second parameter to transclude causes the elements to be cloned so that they work in ng-repeat]
-        accordionGroupCtrl.setHeading(transclude(scope, angular.noop));
-      }
-    };
-  }])
-
-  .directive('accordionTransclude', ['$log', '$accordionSuppressWarning', function($log, $accordionSuppressWarning) {
-    return {
-      require: '^accordionGroup',
-      link: function(scope, element, attr, controller) {
-        if (!$accordionSuppressWarning) {
-          $log.warn('accordion-transclude is now deprecated. Use uib-accordion-transclude instead.');
-        }
-
-        scope.$watch(function() { return controller[attr.accordionTransclude]; }, function(heading) {
-          if (heading) {
-            element.find('span').html('');
-            element.find('span').append(heading);
-          }
-        });
-      }
-    };
-  }]);
-
-
 angular.module('ui.bootstrap.alert', [])
 
 .controller('UibAlertController', ['$scope', '$attrs', '$interpolate', '$timeout', function($scope, $attrs, $interpolate, $timeout) {
@@ -437,7 +238,7 @@ angular.module('ui.bootstrap.alert', [])
     controller: 'UibAlertController',
     controllerAs: 'alert',
     templateUrl: function(element, attrs) {
-      return attrs.templateUrl || 'template/alert/alert.html';
+      return attrs.templateUrl || 'uib/template/alert/alert.html';
     },
     transclude: true,
     replace: true,
@@ -448,44 +249,6 @@ angular.module('ui.bootstrap.alert', [])
   };
 });
 
-/* Deprecated alert below */
-
-angular.module('ui.bootstrap.alert')
-
-  .value('$alertSuppressWarning', false)
-
-  .controller('AlertController', ['$scope', '$attrs', '$controller', '$log', '$alertSuppressWarning', function($scope, $attrs, $controller, $log, $alertSuppressWarning) {
-    if (!$alertSuppressWarning) {
-      $log.warn('AlertController is now deprecated. Use UibAlertController instead.');
-    }
-
-    angular.extend(this, $controller('UibAlertController', {
-      $scope: $scope,
-      $attrs: $attrs
-    }));
-  }])
-
-  .directive('alert', ['$log', '$alertSuppressWarning', function($log, $alertSuppressWarning) {
-    return {
-      controller: 'AlertController',
-      controllerAs: 'alert',
-      templateUrl: function(element, attrs) {
-        return attrs.templateUrl || 'template/alert/alert.html';
-      },
-      transclude: true,
-      replace: true,
-      scope: {
-        type: '@',
-        close: '&'
-      },
-      link: function() {
-        if (!$alertSuppressWarning) {
-          $log.warn('alert is now deprecated. Use uib-alert instead.');
-        }
-      }
-    };
-  }]);
-
 angular.module('ui.bootstrap.buttons', [])
 
 .constant('uibButtonConfig', {
@@ -498,13 +261,14 @@ angular.module('ui.bootstrap.buttons', [])
   this.toggleEvent = buttonConfig.toggleEvent || 'click';
 }])
 
-.directive('uibBtnRadio', function() {
+.directive('uibBtnRadio', ['$parse', function($parse) {
   return {
     require: ['uibBtnRadio', 'ngModel'],
     controller: 'UibButtonsController',
     controllerAs: 'buttons',
     link: function(scope, element, attrs, ctrls) {
       var buttonsCtrl = ctrls[0], ngModelCtrl = ctrls[1];
+      var uncheckableExpr = $parse(attrs.uibUncheckable);
 
       element.find('input').css({display: 'none'});
 
@@ -528,9 +292,15 @@ angular.module('ui.bootstrap.buttons', [])
           });
         }
       });
+
+      if (attrs.uibUncheckable) {
+        scope.$watch(uncheckableExpr, function(uncheckable) {
+          attrs.$set('uncheckable', uncheckable ? '' : null);
+        });
+      }
     }
   };
-})
+}])
 
 .directive('uibBtnCheckbox', function() {
   return {
@@ -574,139 +344,98 @@ angular.module('ui.bootstrap.buttons', [])
   };
 });
 
-/* Deprecated buttons below */
-
-angular.module('ui.bootstrap.buttons')
-
-  .value('$buttonsSuppressWarning', false)
-
-  .controller('ButtonsController', ['$controller', '$log', '$buttonsSuppressWarning', function($controller, $log, $buttonsSuppressWarning) {
-    if (!$buttonsSuppressWarning) {
-      $log.warn('ButtonsController is now deprecated. Use UibButtonsController instead.');
-    }
-
-    angular.extend(this, $controller('UibButtonsController'));
-  }])
-
-  .directive('btnRadio', ['$log', '$buttonsSuppressWarning', function($log, $buttonsSuppressWarning) {
-    return {
-      require: ['btnRadio', 'ngModel'],
-      controller: 'ButtonsController',
-      controllerAs: 'buttons',
-      link: function(scope, element, attrs, ctrls) {
-        if (!$buttonsSuppressWarning) {
-          $log.warn('btn-radio is now deprecated. Use uib-btn-radio instead.');
-        }
-
-        var buttonsCtrl = ctrls[0], ngModelCtrl = ctrls[1];
-
-        element.find('input').css({display: 'none'});
-
-        //model -> UI
-        ngModelCtrl.$render = function() {
-          element.toggleClass(buttonsCtrl.activeClass, angular.equals(ngModelCtrl.$modelValue, scope.$eval(attrs.btnRadio)));
-        };
+angular.module('ui.bootstrap.carousel', [])
 
-        //ui->model
-        element.bind(buttonsCtrl.toggleEvent, function() {
-          if (attrs.disabled) {
-            return;
-          }
+.controller('UibCarouselController', ['$scope', '$element', '$interval', '$timeout', '$animate', function($scope, $element, $interval, $timeout, $animate) {
+  var self = this,
+    slides = self.slides = $scope.slides = [],
+    SLIDE_DIRECTION = 'uib-slideDirection',
+    currentIndex = -1,
+    currentInterval, isPlaying, bufferedTransitions = [];
+  self.currentSlide = null;
 
-          var isActive = element.hasClass(buttonsCtrl.activeClass);
+  var destroyed = false;
 
-          if (!isActive || angular.isDefined(attrs.uncheckable)) {
-            scope.$apply(function() {
-              ngModelCtrl.$setViewValue(isActive ? null : scope.$eval(attrs.btnRadio));
-              ngModelCtrl.$render();
-            });
-          }
-        });
+  self.addSlide = function(slide, element) {
+    slide.$element = element;
+    slides.push(slide);
+    //if this is the first slide or the slide is set to active, select it
+    if (slides.length === 1 || slide.active) {
+      if ($scope.$currentTransition) {
+        $scope.$currentTransition = null;
       }
-    };
-  }])
-
-  .directive('btnCheckbox', ['$document', '$log', '$buttonsSuppressWarning', function($document, $log, $buttonsSuppressWarning) {
-    return {
-      require: ['btnCheckbox', 'ngModel'],
-      controller: 'ButtonsController',
-      controllerAs: 'button',
-      link: function(scope, element, attrs, ctrls) {
-        if (!$buttonsSuppressWarning) {
-          $log.warn('btn-checkbox is now deprecated. Use uib-btn-checkbox instead.');
-        }
 
-        var buttonsCtrl = ctrls[0], ngModelCtrl = ctrls[1];
+      self.select(slides[slides.length - 1]);
+      if (slides.length === 1) {
+        $scope.play();
+      }
+    } else {
+      slide.active = false;
+    }
+  };
 
-        element.find('input').css({display: 'none'});
+  self.getCurrentIndex = function() {
+    if (self.currentSlide && angular.isDefined(self.currentSlide.index)) {
+      return +self.currentSlide.index;
+    }
+    return currentIndex;
+  };
 
-        function getTrueValue() {
-          return getCheckboxValue(attrs.btnCheckboxTrue, true);
-        }
+  self.next = $scope.next = function() {
+    var newIndex = (self.getCurrentIndex() + 1) % slides.length;
 
-        function getFalseValue() {
-          return getCheckboxValue(attrs.btnCheckboxFalse, false);
-        }
+    if (newIndex === 0 && $scope.noWrap()) {
+      $scope.pause();
+      return;
+    }
 
-        function getCheckboxValue(attributeValue, defaultValue) {
-          var val = scope.$eval(attributeValue);
-          return angular.isDefined(val) ? val : defaultValue;
-        }
+    return self.select(getSlideByIndex(newIndex), 'next');
+  };
 
-        //model -> UI
-        ngModelCtrl.$render = function() {
-          element.toggleClass(buttonsCtrl.activeClass, angular.equals(ngModelCtrl.$modelValue, getTrueValue()));
-        };
+  self.prev = $scope.prev = function() {
+    var newIndex = self.getCurrentIndex() - 1 < 0 ? slides.length - 1 : self.getCurrentIndex() - 1;
 
-        //ui->model
-        element.bind(buttonsCtrl.toggleEvent, function() {
-          if (attrs.disabled) {
-            return;
-          }
+    if ($scope.noWrap() && newIndex === slides.length - 1) {
+      $scope.pause();
+      return;
+    }
 
-          scope.$apply(function() {
-            ngModelCtrl.$setViewValue(element.hasClass(buttonsCtrl.activeClass) ? getFalseValue() : getTrueValue());
-            ngModelCtrl.$render();
-          });
-        });
+    return self.select(getSlideByIndex(newIndex), 'prev');
+  };
 
-        //accessibility
-        element.on('keypress', function(e) {
-          if (attrs.disabled || e.which !== 32 || $document[0].activeElement !== element[0]) {
-            return;
-          }
+  self.removeSlide = function(slide) {
+    if (angular.isDefined(slide.index)) {
+      slides.sort(function(a, b) {
+        return +a.index > +b.index;
+      });
+    }
 
-          scope.$apply(function() {
-            ngModelCtrl.$setViewValue(element.hasClass(buttonsCtrl.activeClass) ? getFalseValue() : getTrueValue());
-            ngModelCtrl.$render();
-          });
-        });
+    var bufferedIndex = bufferedTransitions.indexOf(slide);
+    if (bufferedIndex !== -1) {
+      bufferedTransitions.splice(bufferedIndex, 1);
+    }
+    //get the index of the slide inside the carousel
+    var index = slides.indexOf(slide);
+    slides.splice(index, 1);
+    $timeout(function() {
+      if (slides.length > 0 && slide.active) {
+        if (index >= slides.length) {
+          self.select(slides[index - 1]);
+        } else {
+          self.select(slides[index]);
+        }
+      } else if (currentIndex > index) {
+        currentIndex--;
       }
-    };
-  }]);
-
-
-/**
- * @ngdoc overview
- * @name ui.bootstrap.carousel
- *
- * @description
- * AngularJS version of an image carousel.
- *
- */
-angular.module('ui.bootstrap.carousel', [])
+    });
 
-.controller('UibCarouselController', ['$scope', '$element', '$interval', '$animate', function($scope, $element, $interval, $animate) {
-  var self = this,
-    slides = self.slides = $scope.slides = [],
-    NEW_ANIMATE = angular.version.minor >= 4,
-    NO_TRANSITION = 'uib-noTransition',
-    SLIDE_DIRECTION = 'uib-slideDirection',
-    currentIndex = -1,
-    currentInterval, isPlaying;
-  self.currentSlide = null;
+    //clean the currentSlide when no more slide
+    if (slides.length === 0) {
+      self.currentSlide = null;
+      clearBufferedTransitions();
+    }
+  };
 
-  var destroyed = false;
   /* direction: "prev" or "next" */
   self.select = $scope.select = function(nextSlide, direction) {
     var nextIndex = $scope.indexOfSlide(nextSlide);
@@ -717,101 +446,114 @@ angular.module('ui.bootstrap.carousel', [])
     //Prevent this user-triggered transition from occurring if there is already one in progress
     if (nextSlide && nextSlide !== self.currentSlide && !$scope.$currentTransition) {
       goNext(nextSlide, nextIndex, direction);
+    } else if (nextSlide && nextSlide !== self.currentSlide && $scope.$currentTransition) {
+      bufferedTransitions.push(nextSlide);
+      nextSlide.active = false;
     }
   };
 
-  function goNext(slide, index, direction) {
-    // Scope has been destroyed, stop here.
-    if (destroyed) { return; }
+  /* Allow outside people to call indexOf on slides array */
+  $scope.indexOfSlide = function(slide) {
+    return angular.isDefined(slide.index) ? +slide.index : slides.indexOf(slide);
+  };
 
-    angular.extend(slide, {direction: direction, active: true});
-    angular.extend(self.currentSlide || {}, {direction: direction, active: false});
-    if ($animate.enabled() && !$scope.noTransition && !$scope.$currentTransition &&
-      slide.$element && self.slides.length > 1) {
-      slide.$element.data(SLIDE_DIRECTION, slide.direction);
-      if (self.currentSlide && self.currentSlide.$element) {
-        self.currentSlide.$element.data(SLIDE_DIRECTION, slide.direction);
-      }
+  $scope.isActive = function(slide) {
+    return self.currentSlide === slide;
+  };
 
-      $scope.$currentTransition = true;
-      if (NEW_ANIMATE) {
-        $animate.on('addClass', slide.$element, function(element, phase) {
-          if (phase === 'close') {
-            $scope.$currentTransition = null;
-            $animate.off('addClass', element);
-          }
-        });
-      } else {
-        slide.$element.one('$animate:close', function closeFn() {
-          $scope.$currentTransition = null;
-        });
-      }
+  $scope.pause = function() {
+    if (!$scope.noPause) {
+      isPlaying = false;
+      resetTimer();
     }
+  };
 
-    self.currentSlide = slide;
-    currentIndex = index;
-
-    //every time you change slides, reset the timer
-    restartTimer();
-  }
+  $scope.play = function() {
+    if (!isPlaying) {
+      isPlaying = true;
+      restartTimer();
+    }
+  };
 
   $scope.$on('$destroy', function() {
     destroyed = true;
+    resetTimer();
+  });
+
+  $scope.$watch('noTransition', function(noTransition) {
+    $animate.enabled($element, !noTransition);
   });
 
+  $scope.$watch('interval', restartTimer);
+
+  $scope.$watchCollection('slides', resetTransition);
+
+  function clearBufferedTransitions() {
+    while (bufferedTransitions.length) {
+      bufferedTransitions.shift();
+    }
+  }
+
   function getSlideByIndex(index) {
     if (angular.isUndefined(slides[index].index)) {
       return slides[index];
     }
-    var i, len = slides.length;
-    for (i = 0; i < slides.length; ++i) {
-      if (slides[i].index == index) {
+    for (var i = 0, l = slides.length; i < l; ++i) {
+      if (slides[i].index === index) {
         return slides[i];
       }
     }
   }
 
-  self.getCurrentIndex = function() {
-    if (self.currentSlide && angular.isDefined(self.currentSlide.index)) {
-      return +self.currentSlide.index;
-    }
-    return currentIndex;
-  };
-
-  /* Allow outside people to call indexOf on slides array */
-  $scope.indexOfSlide = function(slide) {
-    return angular.isDefined(slide.index) ? +slide.index : slides.indexOf(slide);
-  };
+  function goNext(slide, index, direction) {
+    if (destroyed) { return; }
 
-  $scope.next = function() {
-    var newIndex = (self.getCurrentIndex() + 1) % slides.length;
+    angular.extend(slide, {direction: direction, active: true});
+    angular.extend(self.currentSlide || {}, {direction: direction, active: false});
+    if ($animate.enabled($element) && !$scope.$currentTransition &&
+      slide.$element && self.slides.length > 1) {
+      slide.$element.data(SLIDE_DIRECTION, slide.direction);
+      if (self.currentSlide && self.currentSlide.$element) {
+        self.currentSlide.$element.data(SLIDE_DIRECTION, slide.direction);
+      }
 
-    if (newIndex === 0 && $scope.noWrap()) {
-      $scope.pause();
-      return;
+      $scope.$currentTransition = true;
+      $animate.on('addClass', slide.$element, function(element, phase) {
+        if (phase === 'close') {
+          $scope.$currentTransition = null;
+          $animate.off('addClass', element);
+          if (bufferedTransitions.length) {
+            var nextSlide = bufferedTransitions.pop();
+            var nextIndex = $scope.indexOfSlide(nextSlide);
+            var nextDirection = nextIndex > self.getCurrentIndex() ? 'next' : 'prev';
+            clearBufferedTransitions();
+
+            goNext(nextSlide, nextIndex, nextDirection);
+          }
+        }
+      });
     }
 
-    return self.select(getSlideByIndex(newIndex), 'next');
-  };
+    self.currentSlide = slide;
+    currentIndex = index;
 
-  $scope.prev = function() {
-    var newIndex = self.getCurrentIndex() - 1 < 0 ? slides.length - 1 : self.getCurrentIndex() - 1;
+    //every time you change slides, reset the timer
+    restartTimer();
+  }
 
-    if ($scope.noWrap() && newIndex === slides.length - 1) {
-      $scope.pause();
-      return;
+  function resetTimer() {
+    if (currentInterval) {
+      $interval.cancel(currentInterval);
+      currentInterval = null;
     }
+  }
 
-    return self.select(getSlideByIndex(newIndex), 'prev');
-  };
-
-  $scope.isActive = function(slide) {
-     return self.currentSlide === slide;
-  };
-
-  $scope.$watch('interval', restartTimer);
-  $scope.$watchCollection('slides', resetTransition);
-  $scope.$on('$destroy', resetTimer);
+  function resetTransition(slides) {
+    if (!slides.length) {
+      $scope.$currentTransition = null;
+      clearBufferedTransitions();
+    }
+  }
 
   function restartTimer() {
     resetTimer();
@@ -821,13 +563,6 @@ angular.module('ui.bootstrap.carousel', [])
     }
   }
 
-  function resetTimer() {
-    if (currentInterval) {
-      $interval.cancel(currentInterval);
-      currentInterval = null;
-    }
-  }
-
   function timerFn() {
     var interval = +$scope.interval;
     if (isPlaying && !isNaN(interval) && interval > 0 && slides.length) {
@@ -836,118 +571,16 @@ angular.module('ui.bootstrap.carousel', [])
       $scope.pause();
     }
   }
-
-  function resetTransition(slides) {
-    if (!slides.length) {
-      $scope.$currentTransition = null;
-    }
-  }
-
-  $scope.play = function() {
-    if (!isPlaying) {
-      isPlaying = true;
-      restartTimer();
-    }
-  };
-  $scope.pause = function() {
-    if (!$scope.noPause) {
-      isPlaying = false;
-      resetTimer();
-    }
-  };
-
-  self.addSlide = function(slide, element) {
-    slide.$element = element;
-    slides.push(slide);
-    //if this is the first slide or the slide is set to active, select it
-    if (slides.length === 1 || slide.active) {
-      self.select(slides[slides.length - 1]);
-      if (slides.length === 1) {
-        $scope.play();
-      }
-    } else {
-      slide.active = false;
-    }
-  };
-
-  self.removeSlide = function(slide) {
-    if (angular.isDefined(slide.index)) {
-      slides.sort(function(a, b) {
-        return +a.index > +b.index;
-      });
-    }
-    //get the index of the slide inside the carousel
-    var index = slides.indexOf(slide);
-    slides.splice(index, 1);
-    if (slides.length > 0 && slide.active) {
-      if (index >= slides.length) {
-        self.select(slides[index - 1]);
-      } else {
-        self.select(slides[index]);
-      }
-    } else if (currentIndex > index) {
-      currentIndex--;
-    }
-
-    //clean the currentSlide when no more slide
-    if (slides.length === 0) {
-      self.currentSlide = null;
-    }
-  };
-
-  $scope.$watch('noTransition', function(noTransition) {
-    $element.data(NO_TRANSITION, noTransition);
-  });
-
 }])
 
-/**
- * @ngdoc directive
- * @name ui.bootstrap.carousel.directive:carousel
- * @restrict EA
- *
- * @description
- * Carousel is the outer container for a set of image 'slides' to showcase.
- *
- * @param {number=} interval The time, in milliseconds, that it will take the carousel to go to the next slide.
- * @param {boolean=} noTransition Whether to disable transitions on the carousel.
- * @param {boolean=} noPause Whether to disable pausing on the carousel (by default, the carousel interval pauses on hover).
- *
- * @example
-<example module="ui.bootstrap">
-  <file name="index.html">
-    <uib-carousel>
-      <uib-slide>
-        <img src="http://placekitten.com/150/150" style="margin:auto;">
-        <div class="carousel-caption">
-          <p>Beautiful!</p>
-        </div>
-      </uib-slide>
-      <uib-slide>
-        <img src="http://placekitten.com/100/150" style="margin:auto;">
-        <div class="carousel-caption">
-          <p>D'aww!</p>
-        </div>
-      </uib-slide>
-    </uib-carousel>
-  </file>
-  <file name="demo.css">
-    .carousel-indicators {
-      top: auto;
-      bottom: 15px;
-    }
-  </file>
-</example>
- */
-.directive('uibCarousel', [function() {
+.directive('uibCarousel', function() {
   return {
     transclude: true,
     replace: true,
     controller: 'UibCarouselController',
     controllerAs: 'carousel',
-    require: 'carousel',
     templateUrl: function(element, attrs) {
-      return attrs.templateUrl || 'template/carousel/carousel.html';
+      return attrs.templateUrl || 'uib/template/carousel/carousel.html';
     },
     scope: {
       interval: '=',
@@ -956,58 +589,15 @@ angular.module('ui.bootstrap.carousel', [])
       noWrap: '&'
     }
   };
-}])
-
-/**
- * @ngdoc directive
- * @name ui.bootstrap.carousel.directive:slide
- * @restrict EA
- *
- * @description
- * Creates a slide inside a {@link ui.bootstrap.carousel.directive:carousel carousel}.  Must be placed as a child of a carousel element.
- *
- * @param {boolean=} active Model binding, whether or not this slide is currently active.
- * @param {number=} index The index of the slide. The slides will be sorted by this parameter.
- *
- * @example
-<example module="ui.bootstrap">
-  <file name="index.html">
-<div ng-controller="CarouselDemoCtrl">
-  <uib-carousel>
-    <uib-slide ng-repeat="slide in slides" active="slide.active" index="$index">
-      <img ng-src="{{slide.image}}" style="margin:auto;">
-      <div class="carousel-caption">
-        <h4>Slide {{$index}}</h4>
-        <p>{{slide.text}}</p>
-      </div>
-    </uib-slide>
-  </uib-carousel>
-  Interval, in milliseconds: <input type="number" ng-model="myInterval">
-  <br />Enter a negative number to stop the interval.
-</div>
-  </file>
-  <file name="script.js">
-function CarouselDemoCtrl($scope) {
-  $scope.myInterval = 5000;
-}
-  </file>
-  <file name="demo.css">
-    .carousel-indicators {
-      top: auto;
-      bottom: 15px;
-    }
-  </file>
-</example>
-*/
+})
 
 .directive('uibSlide', function() {
   return {
     require: '^uibCarousel',
-    restrict: 'EA',
     transclude: true,
     replace: true,
     templateUrl: function(element, attrs) {
-      return attrs.templateUrl || 'template/carousel/slide.html';
+      return attrs.templateUrl || 'uib/template/carousel/slide.html';
     },
     scope: {
       active: '=?',
@@ -1030,16 +620,9 @@ function CarouselDemoCtrl($scope) {
   };
 })
 
-.animation('.item', [
-         '$injector', '$animate',
-function ($injector, $animate) {
-  var NO_TRANSITION = 'uib-noTransition',
-    SLIDE_DIRECTION = 'uib-slideDirection',
-    $animateCss = null;
-
-  if ($injector.has('$animateCss')) {
-    $animateCss = $injector.get('$animateCss');
-  }
+.animation('.item', ['$animateCss',
+function($animateCss) {
+  var SLIDE_DIRECTION = 'uib-slideDirection';
 
   function removeClass(element, className, callback) {
     element.removeClass(className);
@@ -1050,56 +633,35 @@ function ($injector, $animate) {
 
   return {
     beforeAddClass: function(element, className, done) {
-      // Due to transclusion, noTransition property is on parent's scope
-      if (className == 'active' && element.parent() && element.parent().parent() &&
-          !element.parent().parent().data(NO_TRANSITION)) {
+      if (className === 'active') {
         var stopped = false;
         var direction = element.data(SLIDE_DIRECTION);
-        var directionClass = direction == 'next' ? 'left' : 'right';
+        var directionClass = direction === 'next' ? 'left' : 'right';
         var removeClassFn = removeClass.bind(this, element,
           directionClass + ' ' + direction, done);
         element.addClass(direction);
 
-        if ($animateCss) {
-          $animateCss(element, {addClass: directionClass})
-            .start()
-            .done(removeClassFn);
-        } else {
-          $animate.addClass(element, directionClass).then(function () {
-            if (!stopped) {
-              removeClassFn();
-            }
-            done();
-          });
-        }
+        $animateCss(element, {addClass: directionClass})
+          .start()
+          .done(removeClassFn);
 
-        return function () {
+        return function() {
           stopped = true;
         };
       }
       done();
     },
     beforeRemoveClass: function (element, className, done) {
-      // Due to transclusion, noTransition property is on parent's scope
-      if (className === 'active' && element.parent() && element.parent().parent() &&
-          !element.parent().parent().data(NO_TRANSITION)) {
+      if (className === 'active') {
         var stopped = false;
         var direction = element.data(SLIDE_DIRECTION);
-        var directionClass = direction == 'next' ? 'left' : 'right';
+        var directionClass = direction === 'next' ? 'left' : 'right';
         var removeClassFn = removeClass.bind(this, element, directionClass, done);
 
-        if ($animateCss) {
-          $animateCss(element, {addClass: directionClass})
-            .start()
-            .done(removeClassFn);
-        } else {
-          $animate.addClass(element, directionClass).then(function() {
-            if (!stopped) {
-              removeClassFn();
-            }
-            done();
-          });
-        }
+        $animateCss(element, {addClass: directionClass})
+          .start()
+          .done(removeClassFn);
+
         return function() {
           stopped = true;
         };
@@ -1109,80 +671,6 @@ function ($injector, $animate) {
   };
 }]);
 
-/* deprecated carousel below */
-
-angular.module('ui.bootstrap.carousel')
-
-.value('$carouselSuppressWarning', false)
-
-.controller('CarouselController', ['$scope', '$element', '$controller', '$log', '$carouselSuppressWarning', function($scope, $element, $controller, $log, $carouselSuppressWarning) {
-  if (!$carouselSuppressWarning) {
-    $log.warn('CarouselController is now deprecated. Use UibCarouselController instead.');
-  }
-
-  angular.extend(this, $controller('UibCarouselController', {
-    $scope: $scope,
-    $element: $element
-  }));
-}])
-
-.directive('carousel', ['$log', '$carouselSuppressWarning', function($log, $carouselSuppressWarning) {
-  return {
-    transclude: true,
-    replace: true,
-    controller: 'CarouselController',
-    controllerAs: 'carousel',
-    require: 'carousel',
-    templateUrl: function(element, attrs) {
-      return attrs.templateUrl || 'template/carousel/carousel.html';
-    },
-    scope: {
-      interval: '=',
-      noTransition: '=',
-      noPause: '=',
-      noWrap: '&'
-    },
-    link: function() {
-      if (!$carouselSuppressWarning) {
-        $log.warn('carousel is now deprecated. Use uib-carousel instead.');
-      }
-    }
-  };
-}])
-
-.directive('slide', ['$log', '$carouselSuppressWarning', function($log, $carouselSuppressWarning) {
-  return {
-    require: '^carousel',
-    transclude: true,
-    replace: true,
-    templateUrl: function(element, attrs) {
-      return attrs.templateUrl || 'template/carousel/slide.html';
-    },
-    scope: {
-      active: '=?',
-      actual: '=?',
-      index: '=?'
-    },
-    link: function (scope, element, attrs, carouselCtrl) {
-      if (!$carouselSuppressWarning) {
-        $log.warn('slide is now deprecated. Use uib-slide instead.');
-      }
-
-      carouselCtrl.addSlide(scope, element);
-      //when the scope is destroyed then remove the slide from the current slides array
-      scope.$on('$destroy', function() {
-        carouselCtrl.removeSlide(scope);
-      });
-
-      scope.$watch('active', function(active) {
-        if (active) {
-          carouselCtrl.select(scope);
-        }
-      });
-    }
-  };
-}]);
-
 angular.module('ui.bootstrap.dateparser', [])
 
 .service('uibDateParser', ['$log', '$locale', 'orderByFilter', function($log, $locale, orderByFilter) {
@@ -1197,86 +685,117 @@ angular.module('ui.bootstrap.dateparser', [])
 
     this.parsers = {};
 
-    formatCodeToRegex = {
-      'yyyy': {
+    formatCodeToRegex = [
+      {
+        key: 'yyyy',
         regex: '\\d{4}',
         apply: function(value) { this.year = +value; }
       },
-      'yy': {
+      {
+        key: 'yy',
         regex: '\\d{2}',
         apply: function(value) { this.year = +value + 2000; }
       },
-      'y': {
+      {
+        key: 'y',
         regex: '\\d{1,4}',
         apply: function(value) { this.year = +value; }
       },
-      'MMMM': {
+      {
+        key: 'M!',
+        regex: '0?[1-9]|1[0-2]',
+        apply: function(value) { this.month = value - 1; }
+      },
+      {
+        key: 'MMMM',
         regex: $locale.DATETIME_FORMATS.MONTH.join('|'),
         apply: function(value) { this.month = $locale.DATETIME_FORMATS.MONTH.indexOf(value); }
       },
-      'MMM': {
+      {
+        key: 'MMM',
         regex: $locale.DATETIME_FORMATS.SHORTMONTH.join('|'),
         apply: function(value) { this.month = $locale.DATETIME_FORMATS.SHORTMONTH.indexOf(value); }
       },
-      'MM': {
+      {
+        key: 'MM',
         regex: '0[1-9]|1[0-2]',
         apply: function(value) { this.month = value - 1; }
       },
-      'M': {
+      {
+        key: 'M',
         regex: '[1-9]|1[0-2]',
         apply: function(value) { this.month = value - 1; }
       },
-      'dd': {
+      {
+        key: 'd!',
+        regex: '[0-2]?[0-9]{1}|3[0-1]{1}',
+        apply: function(value) { this.date = +value; }
+      },
+      {
+        key: 'dd',
         regex: '[0-2][0-9]{1}|3[0-1]{1}',
         apply: function(value) { this.date = +value; }
       },
-      'd': {
+      {
+        key: 'd',
         regex: '[1-2]?[0-9]{1}|3[0-1]{1}',
         apply: function(value) { this.date = +value; }
       },
-      'EEEE': {
+      {
+        key: 'EEEE',
         regex: $locale.DATETIME_FORMATS.DAY.join('|')
       },
-      'EEE': {
+      {
+        key: 'EEE',
         regex: $locale.DATETIME_FORMATS.SHORTDAY.join('|')
       },
-      'HH': {
+      {
+        key: 'HH',
         regex: '(?:0|1)[0-9]|2[0-3]',
         apply: function(value) { this.hours = +value; }
       },
-      'hh': {
+      {
+        key: 'hh',
         regex: '0[0-9]|1[0-2]',
         apply: function(value) { this.hours = +value; }
       },
-      'H': {
+      {
+        key: 'H',
         regex: '1?[0-9]|2[0-3]',
         apply: function(value) { this.hours = +value; }
       },
-      'h': {
+      {
+        key: 'h',
         regex: '[0-9]|1[0-2]',
         apply: function(value) { this.hours = +value; }
       },
-      'mm': {
+      {
+        key: 'mm',
         regex: '[0-5][0-9]',
         apply: function(value) { this.minutes = +value; }
       },
-      'm': {
+      {
+        key: 'm',
         regex: '[0-9]|[1-5][0-9]',
         apply: function(value) { this.minutes = +value; }
       },
-      'sss': {
+      {
+        key: 'sss',
         regex: '[0-9][0-9][0-9]',
         apply: function(value) { this.milliseconds = +value; }
       },
-      'ss': {
+      {
+        key: 'ss',
         regex: '[0-5][0-9]',
         apply: function(value) { this.seconds = +value; }
       },
-      's': {
+      {
+        key: 's',
         regex: '[0-9]|[1-5][0-9]',
         apply: function(value) { this.seconds = +value; }
       },
-      'a': {
+      {
+        key: 'a',
         regex: $locale.DATETIME_FORMATS.AMPMS.join('|'),
         apply: function(value) {
           if (this.hours === 12) {
@@ -1287,8 +806,44 @@ angular.module('ui.bootstrap.dateparser', [])
             this.hours += 12;
           }
         }
+      },
+      {
+        key: 'Z',
+        regex: '[+-]\\d{4}',
+        apply: function(value) {
+          var matches = value.match(/([+-])(\d{2})(\d{2})/),
+            sign = matches[1],
+            hours = matches[2],
+            minutes = matches[3];
+          this.hours += toInt(sign + hours);
+          this.minutes += toInt(sign + minutes);
+        }
+      },
+      {
+        key: 'ww',
+        regex: '[0-4][0-9]|5[0-3]'
+      },
+      {
+        key: 'w',
+        regex: '[0-9]|[1-4][0-9]|5[0-3]'
+      },
+      {
+        key: 'GGGG',
+        regex: $locale.DATETIME_FORMATS.ERANAMES.join('|').replace(/\s/g, '\\s')
+      },
+      {
+        key: 'GGG',
+        regex: $locale.DATETIME_FORMATS.ERAS.join('|')
+      },
+      {
+        key: 'GG',
+        regex: $locale.DATETIME_FORMATS.ERAS.join('|')
+      },
+      {
+        key: 'G',
+        regex: $locale.DATETIME_FORMATS.ERAS.join('|')
       }
-    };
+    ];
   };
 
   this.init();
@@ -1296,21 +851,54 @@ angular.module('ui.bootstrap.dateparser', [])
   function createParser(format) {
     var map = [], regex = format.split('');
 
-    angular.forEach(formatCodeToRegex, function(data, code) {
-      var index = format.indexOf(code);
+    // check for literal values
+    var quoteIndex = format.indexOf('\'');
+    if (quoteIndex > -1) {
+      var inLiteral = false;
+      format = format.split('');
+      for (var i = quoteIndex; i < format.length; i++) {
+        if (inLiteral) {
+          if (format[i] === '\'') {
+            if (i + 1 < format.length && format[i+1] === '\'') { // escaped single quote
+              format[i+1] = '$';
+              regex[i+1] = '';
+            } else { // end of literal
+              regex[i] = '';
+              inLiteral = false;
+            }
+          }
+          format[i] = '$';
+        } else {
+          if (format[i] === '\'') { // start of literal
+            format[i] = '$';
+            regex[i] = '';
+            inLiteral = true;
+          }
+        }
+      }
+
+      format = format.join('');
+    }
+
+    angular.forEach(formatCodeToRegex, function(data) {
+      var index = format.indexOf(data.key);
 
       if (index > -1) {
         format = format.split('');
 
         regex[index] = '(' + data.regex + ')';
         format[index] = '$'; // Custom symbol to define consumed part of format
-        for (var i = index + 1, n = index + code.length; i < n; i++) {
+        for (var i = index + 1, n = index + data.key.length; i < n; i++) {
           regex[i] = '';
           format[i] = '$';
         }
         format = format.join('');
 
-        map.push({ index: index, apply: data.apply });
+        map.push({
+          index: index,
+          apply: data.apply,
+          matcher: data.regex
+        });
       }
     });
 
@@ -1339,8 +927,8 @@ angular.module('ui.bootstrap.dateparser', [])
     var parser = this.parsers[format],
         regex = parser.regex,
         map = parser.map,
-        results = input.match(regex);
-
+        results = input.match(regex),
+        tzOffset = false;
     if (results && results.length) {
       var fields, dt;
       if (angular.isDate(baseDate) && !isNaN(baseDate.getTime())) {
@@ -1361,22 +949,32 @@ angular.module('ui.bootstrap.dateparser', [])
       }
 
       for (var i = 1, n = results.length; i < n; i++) {
-        var mapper = map[i-1];
+        var mapper = map[i - 1];
+        if (mapper.matcher === 'Z') {
+          tzOffset = true;
+        }
+
         if (mapper.apply) {
           mapper.apply.call(fields, results[i]);
         }
       }
 
+      var datesetter = tzOffset ? Date.prototype.setUTCFullYear :
+        Date.prototype.setFullYear;
+      var timesetter = tzOffset ? Date.prototype.setUTCHours :
+        Date.prototype.setHours;
+
       if (isValid(fields.year, fields.month, fields.date)) {
-        if (angular.isDate(baseDate) && !isNaN(baseDate.getTime())) {
+        if (angular.isDate(baseDate) && !isNaN(baseDate.getTime()) && !tzOffset) {
           dt = new Date(baseDate);
-          dt.setFullYear(fields.year, fields.month, fields.date,
-            fields.hours, fields.minutes, fields.seconds,
-            fields.milliseconds || 0);
+          datesetter.call(dt, fields.year, fields.month, fields.date);
+          timesetter.call(dt, fields.hours, fields.minutes,
+            fields.seconds, fields.milliseconds);
         } else {
-          dt = new Date(fields.year, fields.month, fields.date,
-            fields.hours, fields.minutes, fields.seconds,
-            fields.milliseconds || 0);
+          dt = new Date(0);
+          datesetter.call(dt, fields.year, fields.month, fields.date);
+          timesetter.call(dt, fields.hours || 0, fields.minutes || 0,
+            fields.seconds || 0, fields.milliseconds || 0);
         }
       }
 
@@ -1392,7 +990,7 @@ angular.module('ui.bootstrap.dateparser', [])
     }
 
     if (month === 1 && date > 28) {
-      return date === 29 && ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0);
+      return date === 29 && (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0);
     }
 
     if (month === 3 || month === 5 || month === 8 || month === 10) {
@@ -1401,188 +999,674 @@ angular.module('ui.bootstrap.dateparser', [])
 
     return true;
   }
-}]);
 
-/* Deprecated dateparser below */
+  function toInt(str) {
+    return parseInt(str, 10);
+  }
+
+  this.toTimezone = toTimezone;
+  this.fromTimezone = fromTimezone;
+  this.timezoneToOffset = timezoneToOffset;
+  this.addDateMinutes = addDateMinutes;
+  this.convertTimezoneToLocal = convertTimezoneToLocal;
+  
+  function toTimezone(date, timezone) {
+    return date && timezone ? convertTimezoneToLocal(date, timezone) : date;
+  }
 
-angular.module('ui.bootstrap.dateparser')
+  function fromTimezone(date, timezone) {
+    return date && timezone ? convertTimezoneToLocal(date, timezone, true) : date;
+  }
 
-.value('$dateParserSuppressWarning', false)
+  //https://github.com/angular/angular.js/blob/4daafd3dbe6a80d578f5a31df1bb99c77559543e/src/Angular.js#L1207
+  function timezoneToOffset(timezone, fallback) {
+    var requestedTimezoneOffset = Date.parse('Jan 01, 1970 00:00:00 ' + timezone) / 60000;
+    return isNaN(requestedTimezoneOffset) ? fallback : requestedTimezoneOffset;
+  }
 
-.service('dateParser', ['$log', '$dateParserSuppressWarning', 'uibDateParser', function($log, $dateParserSuppressWarning, uibDateParser) {
-  if (!$dateParserSuppressWarning) {
-    $log.warn('dateParser is now deprecated. Use uibDateParser instead.');
+  function addDateMinutes(date, minutes) {
+    date = new Date(date.getTime());
+    date.setMinutes(date.getMinutes() + minutes);
+    return date;
   }
 
-  angular.extend(this, uibDateParser);
+  function convertTimezoneToLocal(date, timezone, reverse) {
+    reverse = reverse ? -1 : 1;
+    var timezoneOffset = timezoneToOffset(timezone, date.getTimezoneOffset());
+    return addDateMinutes(date, reverse * (timezoneOffset - date.getTimezoneOffset()));
+  }
 }]);
 
+// Avoiding use of ng-class as it creates a lot of watchers when a class is to be applied to
+// at most one element.
+angular.module('ui.bootstrap.isClass', [])
+.directive('uibIsClass', [
+         '$animate',
+function ($animate) {
+  //                    11111111          22222222
+  var ON_REGEXP = /^\s*([\s\S]+?)\s+on\s+([\s\S]+?)\s*$/;
+  //                    11111111           22222222
+  var IS_REGEXP = /^\s*([\s\S]+?)\s+for\s+([\s\S]+?)\s*$/;
+
+  var dataPerTracked = {};
+
+  return {
+    restrict: 'A',
+    compile: function (tElement, tAttrs) {
+      var linkedScopes = [];
+      var instances = [];
+      var expToData = {};
+      var lastActivated = null;
+      var onExpMatches = tAttrs.uibIsClass.match(ON_REGEXP);
+      var onExp = onExpMatches[2];
+      var expsStr = onExpMatches[1];
+      var exps = expsStr.split(',');
+
+      return linkFn;
+
+      function linkFn(scope, element, attrs) {
+        linkedScopes.push(scope);
+        instances.push({
+          scope: scope,
+          element: element
+        });
+
+        exps.forEach(function (exp, k) {
+          addForExp(exp, scope);
+        });
+
+        scope.$on('$destroy', removeScope);
+      }
+
+      function addForExp(exp, scope) {
+        var matches = exp.match(IS_REGEXP);
+        var clazz = scope.$eval(matches[1]);
+        var compareWithExp = matches[2];
+        var data = expToData[exp];
+        if (!data) {
+          var watchFn = function (compareWithVal) {
+            var newActivated = null;
+            instances.some(function (instance) {
+              var thisVal = instance.scope.$eval(onExp);
+              if (thisVal === compareWithVal) {
+                newActivated = instance;
+                return true;
+              }
+            });
+            if (data.lastActivated !== newActivated) {
+              if (data.lastActivated) {
+                $animate.removeClass(data.lastActivated.element, clazz);
+              }
+              if (newActivated) {
+                $animate.addClass(newActivated.element, clazz);
+              }
+              data.lastActivated = newActivated;
+            }
+          };
+          expToData[exp] = data = {
+            lastActivated: null,
+            scope: scope,
+            watchFn: watchFn,
+            compareWithExp: compareWithExp,
+            watcher: scope.$watch(compareWithExp, watchFn)
+          };
+        }
+        data.watchFn(scope.$eval(compareWithExp));
+      }
+
+      function removeScope(e) {
+        var removedScope = e.targetScope;
+        var index = linkedScopes.indexOf(removedScope);
+        linkedScopes.splice(index, 1);
+        instances.splice(index, 1);
+        if (linkedScopes.length) {
+          var newWatchScope = linkedScopes[0];
+          angular.forEach(expToData, function (data) {
+            if (data.scope === removedScope) {
+              data.watcher = newWatchScope.$watch(data.compareWithExp, data.watchFn);
+              data.scope = newWatchScope;
+            }
+          });
+        }
+        else {
+          expToData = {};
+        }
+      }
+    }
+  };
+}]);
 angular.module('ui.bootstrap.position', [])
 
 /**
- * A set of utility methods that can be use to retrieve position of DOM elements.
- * It is meant to be used where we need to absolute-position DOM elements in
- * relation to other, existing elements (this is the case for tooltips, popovers,
+ * A set of utility methods for working with the DOM.
+ * It is meant to be used where we need to absolute-position elements in
+ * relation to another element (this is the case for tooltips, popovers,
  * typeahead suggestions etc.).
  */
   .factory('$uibPosition', ['$document', '$window', function($document, $window) {
-    function getStyle(el, cssprop) {
-      if (el.currentStyle) { //IE
-        return el.currentStyle[cssprop];
-      } else if ($window.getComputedStyle) {
-        return $window.getComputedStyle(el)[cssprop];
-      }
-      // finally try and get inline style
-      return el.style[cssprop];
-    }
-
     /**
-     * Checks if a given element is statically positioned
-     * @param element - raw DOM element
+     * Used by scrollbarWidth() function to cache scrollbar's width.
+     * Do not access this variable directly, use scrollbarWidth() instead.
      */
-    function isStaticPositioned(element) {
-      return (getStyle(element, 'position') || 'static' ) === 'static';
-    }
-
-    /**
-     * returns the closest, non-statically positioned parentOffset of a given element
-     * @param element
-     */
-    var parentOffsetEl = function(element) {
-      var docDomEl = $document[0];
-      var offsetParent = element.offsetParent || docDomEl;
-      while (offsetParent && offsetParent !== docDomEl && isStaticPositioned(offsetParent) ) {
-        offsetParent = offsetParent.offsetParent;
-      }
-      return offsetParent || docDomEl;
+    var SCROLLBAR_WIDTH;
+    var OVERFLOW_REGEX = {
+      normal: /(auto|scroll)/,
+      hidden: /(auto|scroll|hidden)/
+    };
+    var PLACEMENT_REGEX = {
+      auto: /\s?auto?\s?/i,
+      primary: /^(top|bottom|left|right)$/,
+      secondary: /^(top|bottom|left|right|center)$/,
+      vertical: /^(top|bottom)$/
     };
 
     return {
+
+      /**
+       * Provides a raw DOM element from a jQuery/jQLite element.
+       *
+       * @param {element} elem - The element to convert.
+       *
+       * @returns {element} A HTML element.
+       */
+      getRawNode: function(elem) {
+        return elem[0] || elem;
+      },
+
+      /**
+       * Provides a parsed number for a style property.  Strips
+       * units and casts invalid numbers to 0.
+       *
+       * @param {string} value - The style value to parse.
+       *
+       * @returns {number} A valid number.
+       */
+      parseStyle: function(value) {
+        value = parseFloat(value);
+        return isFinite(value) ? value : 0;
+      },
+
+      /**
+       * Provides the closest positioned ancestor.
+       *
+       * @param {element} element - The element to get the offest parent for.
+       *
+       * @returns {element} The closest positioned ancestor.
+       */
+      offsetParent: function(elem) {
+        elem = this.getRawNode(elem);
+
+        var offsetParent = elem.offsetParent || $document[0].documentElement;
+
+        function isStaticPositioned(el) {
+          return ($window.getComputedStyle(el).position || 'static') === 'static';
+        }
+
+        while (offsetParent && offsetParent !== $document[0].documentElement && isStaticPositioned(offsetParent)) {
+          offsetParent = offsetParent.offsetParent;
+        }
+
+        return offsetParent || $document[0].documentElement;
+      },
+
+      /**
+       * Provides the scrollbar width, concept from TWBS measureScrollbar()
+       * function in https://github.com/twbs/bootstrap/blob/master/js/modal.js
+       *
+       * @returns {number} The width of the browser scollbar.
+       */
+      scrollbarWidth: function() {
+        if (angular.isUndefined(SCROLLBAR_WIDTH)) {
+          var scrollElem = angular.element('<div style="position: absolute; top: -9999px; width: 50px; height: 50px; overflow: scroll;"></div>');
+          $document.find('body').append(scrollElem);
+          SCROLLBAR_WIDTH = scrollElem[0].offsetWidth - scrollElem[0].clientWidth;
+          SCROLLBAR_WIDTH = isFinite(SCROLLBAR_WIDTH) ? SCROLLBAR_WIDTH : 0;
+          scrollElem.remove();
+        }
+
+        return SCROLLBAR_WIDTH;
+      },
+
+      /**
+       * Provides the closest scrollable ancestor.
+       * A port of the jQuery UI scrollParent method:
+       * https://github.com/jquery/jquery-ui/blob/master/ui/scroll-parent.js
+       *
+       * @param {element} elem - The element to find the scroll parent of.
+       * @param {boolean=} [includeHidden=false] - Should scroll style of 'hidden' be considered,
+       *   default is false.
+       *
+       * @returns {element} A HTML element.
+       */
+      scrollParent: function(elem, includeHidden) {
+        elem = this.getRawNode(elem);
+
+        var overflowRegex = includeHidden ? OVERFLOW_REGEX.hidden : OVERFLOW_REGEX.normal;
+        var documentEl = $document[0].documentElement;
+        var elemStyle = $window.getComputedStyle(elem);
+        var excludeStatic = elemStyle.position === 'absolute';
+        var scrollParent = elem.parentElement || documentEl;
+
+        if (scrollParent === documentEl || elemStyle.position === 'fixed') {
+          return documentEl;
+        }
+
+        while (scrollParent.parentElement && scrollParent !== documentEl) {
+          var spStyle = $window.getComputedStyle(scrollParent);
+          if (excludeStatic && spStyle.position !== 'static') {
+            excludeStatic = false;
+          }
+
+          if (!excludeStatic && overflowRegex.test(spStyle.overflow + spStyle.overflowY + spStyle.overflowX)) {
+            break;
+          }
+          scrollParent = scrollParent.parentElement;
+        }
+
+        return scrollParent;
+      },
+
       /**
        * Provides read-only equivalent of jQuery's position function:
-       * http://api.jquery.com/position/
+       * http://api.jquery.com/position/ - distance to closest positioned
+       * ancestor.  Does not account for margins by default like jQuery position.
+       *
+       * @param {element} elem - The element to caclulate the position on.
+       * @param {boolean=} [includeMargins=false] - Should margins be accounted
+       * for, default is false.
+       *
+       * @returns {object} An object with the following properties:
+       *   <ul>
+       *     <li>**width**: the width of the element</li>
+       *     <li>**height**: the height of the element</li>
+       *     <li>**top**: distance to top edge of offset parent</li>
+       *     <li>**left**: distance to left edge of offset parent</li>
+       *   </ul>
        */
-      position: function(element) {
-        var elBCR = this.offset(element);
-        var offsetParentBCR = { top: 0, left: 0 };
-        var offsetParentEl = parentOffsetEl(element[0]);
-        if (offsetParentEl != $document[0]) {
-          offsetParentBCR = this.offset(angular.element(offsetParentEl));
-          offsetParentBCR.top += offsetParentEl.clientTop - offsetParentEl.scrollTop;
-          offsetParentBCR.left += offsetParentEl.clientLeft - offsetParentEl.scrollLeft;
+      position: function(elem, includeMagins) {
+        elem = this.getRawNode(elem);
+
+        var elemOffset = this.offset(elem);
+        if (includeMagins) {
+          var elemStyle = $window.getComputedStyle(elem);
+          elemOffset.top -= this.parseStyle(elemStyle.marginTop);
+          elemOffset.left -= this.parseStyle(elemStyle.marginLeft);
+        }
+        var parent = this.offsetParent(elem);
+        var parentOffset = {top: 0, left: 0};
+
+        if (parent !== $document[0].documentElement) {
+          parentOffset = this.offset(parent);
+          parentOffset.top += parent.clientTop - parent.scrollTop;
+          parentOffset.left += parent.clientLeft - parent.scrollLeft;
         }
 
-        var boundingClientRect = element[0].getBoundingClientRect();
         return {
-          width: boundingClientRect.width || element.prop('offsetWidth'),
-          height: boundingClientRect.height || element.prop('offsetHeight'),
-          top: elBCR.top - offsetParentBCR.top,
-          left: elBCR.left - offsetParentBCR.left
+          width: Math.round(angular.isNumber(elemOffset.width) ? elemOffset.width : elem.offsetWidth),
+          height: Math.round(angular.isNumber(elemOffset.height) ? elemOffset.height : elem.offsetHeight),
+          top: Math.round(elemOffset.top - parentOffset.top),
+          left: Math.round(elemOffset.left - parentOffset.left)
         };
       },
 
       /**
        * Provides read-only equivalent of jQuery's offset function:
-       * http://api.jquery.com/offset/
+       * http://api.jquery.com/offset/ - distance to viewport.  Does
+       * not account for borders, margins, or padding on the body
+       * element.
+       *
+       * @param {element} elem - The element to calculate the offset on.
+       *
+       * @returns {object} An object with the following properties:
+       *   <ul>
+       *     <li>**width**: the width of the element</li>
+       *     <li>**height**: the height of the element</li>
+       *     <li>**top**: distance to top edge of viewport</li>
+       *     <li>**right**: distance to bottom edge of viewport</li>
+       *   </ul>
        */
-      offset: function(element) {
-        var boundingClientRect = element[0].getBoundingClientRect();
+      offset: function(elem) {
+        elem = this.getRawNode(elem);
+
+        var elemBCR = elem.getBoundingClientRect();
         return {
-          width: boundingClientRect.width || element.prop('offsetWidth'),
-          height: boundingClientRect.height || element.prop('offsetHeight'),
-          top: boundingClientRect.top + ($window.pageYOffset || $document[0].documentElement.scrollTop),
-          left: boundingClientRect.left + ($window.pageXOffset || $document[0].documentElement.scrollLeft)
+          width: Math.round(angular.isNumber(elemBCR.width) ? elemBCR.width : elem.offsetWidth),
+          height: Math.round(angular.isNumber(elemBCR.height) ? elemBCR.height : elem.offsetHeight),
+          top: Math.round(elemBCR.top + ($window.pageYOffset || $document[0].documentElement.scrollTop)),
+          left: Math.round(elemBCR.left + ($window.pageXOffset || $document[0].documentElement.scrollLeft))
         };
       },
 
       /**
-       * Provides coordinates for the targetEl in relation to hostEl
+       * Provides offset distance to the closest scrollable ancestor
+       * or viewport.  Accounts for border and scrollbar width.
+       *
+       * Right and bottom dimensions represent the distance to the
+       * respective edge of the viewport element.  If the element
+       * edge extends beyond the viewport, a negative value will be
+       * reported.
+       *
+       * @param {element} elem - The element to get the viewport offset for.
+       * @param {boolean=} [useDocument=false] - Should the viewport be the document element instead
+       * of the first scrollable element, default is false.
+       * @param {boolean=} [includePadding=true] - Should the padding on the offset parent element
+       * be accounted for, default is true.
+       *
+       * @returns {object} An object with the following properties:
+       *   <ul>
+       *     <li>**top**: distance to the top content edge of viewport element</li>
+       *     <li>**bottom**: distance to the bottom content edge of viewport element</li>
+       *     <li>**left**: distance to the left content edge of viewport element</li>
+       *     <li>**right**: distance to the right content edge of viewport element</li>
+       *   </ul>
        */
-      positionElements: function(hostEl, targetEl, positionStr, appendToBody) {
-        var positionStrParts = positionStr.split('-');
-        var pos0 = positionStrParts[0], pos1 = positionStrParts[1] || 'center';
+      viewportOffset: function(elem, useDocument, includePadding) {
+        elem = this.getRawNode(elem);
+        includePadding = includePadding !== false ? true : false;
 
-        var hostElPos,
-          targetElWidth,
-          targetElHeight,
-          targetElPos;
+        var elemBCR = elem.getBoundingClientRect();
+        var offsetBCR = {top: 0, left: 0, bottom: 0, right: 0};
 
-        hostElPos = appendToBody ? this.offset(hostEl) : this.position(hostEl);
+        var offsetParent = useDocument ? $document[0].documentElement : this.scrollParent(elem);
+        var offsetParentBCR = offsetParent.getBoundingClientRect();
 
-        targetElWidth = targetEl.prop('offsetWidth');
-        targetElHeight = targetEl.prop('offsetHeight');
+        offsetBCR.top = offsetParentBCR.top + offsetParent.clientTop;
+        offsetBCR.left = offsetParentBCR.left + offsetParent.clientLeft;
+        if (offsetParent === $document[0].documentElement) {
+          offsetBCR.top += $window.pageYOffset;
+          offsetBCR.left += $window.pageXOffset;
+        }
+        offsetBCR.bottom = offsetBCR.top + offsetParent.clientHeight;
+        offsetBCR.right = offsetBCR.left + offsetParent.clientWidth;
 
-        var shiftWidth = {
-          center: function() {
-            return hostElPos.left + hostElPos.width / 2 - targetElWidth / 2;
-          },
-          left: function() {
-            return hostElPos.left;
-          },
-          right: function() {
-            return hostElPos.left + hostElPos.width;
-          }
+        if (includePadding) {
+          var offsetParentStyle = $window.getComputedStyle(offsetParent);
+          offsetBCR.top += this.parseStyle(offsetParentStyle.paddingTop);
+          offsetBCR.bottom -= this.parseStyle(offsetParentStyle.paddingBottom);
+          offsetBCR.left += this.parseStyle(offsetParentStyle.paddingLeft);
+          offsetBCR.right -= this.parseStyle(offsetParentStyle.paddingRight);
+        }
+
+        return {
+          top: Math.round(elemBCR.top - offsetBCR.top),
+          bottom: Math.round(offsetBCR.bottom - elemBCR.bottom),
+          left: Math.round(elemBCR.left - offsetBCR.left),
+          right: Math.round(offsetBCR.right - elemBCR.right)
         };
+      },
 
-        var shiftHeight = {
-          center: function() {
-            return hostElPos.top + hostElPos.height / 2 - targetElHeight / 2;
-          },
-          top: function() {
-            return hostElPos.top;
-          },
-          bottom: function() {
-            return hostElPos.top + hostElPos.height;
+      /**
+       * Provides an array of placement values parsed from a placement string.
+       * Along with the 'auto' indicator, supported placement strings are:
+       *   <ul>
+       *     <li>top: element on top, horizontally centered on host element.</li>
+       *     <li>top-left: element on top, left edge aligned with host element left edge.</li>
+       *     <li>top-right: element on top, lerightft edge aligned with host element right edge.</li>
+       *     <li>bottom: element on bottom, horizontally centered on host element.</li>
+       *     <li>bottom-left: element on bottom, left edge aligned with host element left edge.</li>
+       *     <li>bottom-right: element on bottom, right edge aligned with host element right edge.</li>
+       *     <li>left: element on left, vertically centered on host element.</li>
+       *     <li>left-top: element on left, top edge aligned with host element top edge.</li>
+       *     <li>left-bottom: element on left, bottom edge aligned with host element bottom edge.</li>
+       *     <li>right: element on right, vertically centered on host element.</li>
+       *     <li>right-top: element on right, top edge aligned with host element top edge.</li>
+       *     <li>right-bottom: element on right, bottom edge aligned with host element bottom edge.</li>
+       *   </ul>
+       * A placement string with an 'auto' indicator is expected to be
+       * space separated from the placement, i.e: 'auto bottom-left'  If
+       * the primary and secondary placement values do not match 'top,
+       * bottom, left, right' then 'top' will be the primary placement and
+       * 'center' will be the secondary placement.  If 'auto' is passed, true
+       * will be returned as the 3rd value of the array.
+       *
+       * @param {string} placement - The placement string to parse.
+       *
+       * @returns {array} An array with the following values
+       * <ul>
+       *   <li>**[0]**: The primary placement.</li>
+       *   <li>**[1]**: The secondary placement.</li>
+       *   <li>**[2]**: If auto is passed: true, else undefined.</li>
+       * </ul>
+       */
+      parsePlacement: function(placement) {
+        var autoPlace = PLACEMENT_REGEX.auto.test(placement);
+        if (autoPlace) {
+          placement = placement.replace(PLACEMENT_REGEX.auto, '');
+        }
+
+        placement = placement.split('-');
+
+        placement[0] = placement[0] || 'top';
+        if (!PLACEMENT_REGEX.primary.test(placement[0])) {
+          placement[0] = 'top';
+        }
+
+        placement[1] = placement[1] || 'center';
+        if (!PLACEMENT_REGEX.secondary.test(placement[1])) {
+          placement[1] = 'center';
+        }
+
+        if (autoPlace) {
+          placement[2] = true;
+        } else {
+          placement[2] = false;
+        }
+
+        return placement;
+      },
+
+      /**
+       * Provides coordinates for an element to be positioned relative to
+       * another element.  Passing 'auto' as part of the placement parameter
+       * will enable smart placement - where the element fits. i.e:
+       * 'auto left-top' will check to see if there is enough space to the left
+       * of the hostElem to fit the targetElem, if not place right (same for secondary
+       * top placement).  Available space is calculated using the viewportOffset
+       * function.
+       *
+       * @param {element} hostElem - The element to position against.
+       * @param {element} targetElem - The element to position.
+       * @param {string=} [placement=top] - The placement for the targetElem,
+       *   default is 'top'. 'center' is assumed as secondary placement for
+       *   'top', 'left', 'right', and 'bottom' placements.  Available placements are:
+       *   <ul>
+       *     <li>top</li>
+       *     <li>top-right</li>
+       *     <li>top-left</li>
+       *     <li>bottom</li>
+       *     <li>bottom-left</li>
+       *     <li>bottom-right</li>
+       *     <li>left</li>
+       *     <li>left-top</li>
+       *     <li>left-bottom</li>
+       *     <li>right</li>
+       *     <li>right-top</li>
+       *     <li>right-bottom</li>
+       *   </ul>
+       * @param {boolean=} [appendToBody=false] - Should the top and left values returned
+       *   be calculated from the body element, default is false.
+       *
+       * @returns {object} An object with the following properties:
+       *   <ul>
+       *     <li>**top**: Value for targetElem top.</li>
+       *     <li>**left**: Value for targetElem left.</li>
+       *     <li>**placement**: The resolved placement.</li>
+       *   </ul>
+       */
+      positionElements: function(hostElem, targetElem, placement, appendToBody) {
+        hostElem = this.getRawNode(hostElem);
+        targetElem = this.getRawNode(targetElem);
+
+        // need to read from prop to support tests.
+        var targetWidth = angular.isDefined(targetElem.offsetWidth) ? targetElem.offsetWidth : targetElem.prop('offsetWidth');
+        var targetHeight = angular.isDefined(targetElem.offsetHeight) ? targetElem.offsetHeight : targetElem.prop('offsetHeight');
+
+        placement = this.parsePlacement(placement);
+
+        var hostElemPos = appendToBody ? this.offset(hostElem) : this.position(hostElem);
+        var targetElemPos = {top: 0, left: 0, placement: ''};
+
+        if (placement[2]) {
+          var viewportOffset = this.viewportOffset(hostElem);
+
+          var targetElemStyle = $window.getComputedStyle(targetElem);
+          var adjustedSize = {
+            width: targetWidth + Math.round(Math.abs(this.parseStyle(targetElemStyle.marginLeft) + this.parseStyle(targetElemStyle.marginRight))),
+            height: targetHeight + Math.round(Math.abs(this.parseStyle(targetElemStyle.marginTop) + this.parseStyle(targetElemStyle.marginBottom)))
+          };
+
+          placement[0] = placement[0] === 'top' && adjustedSize.height > viewportOffset.top && adjustedSize.height <= viewportOffset.bottom ? 'bottom' :
+                         placement[0] === 'bottom' && adjustedSize.height > viewportOffset.bottom && adjustedSize.height <= viewportOffset.top ? 'top' :
+                         placement[0] === 'left' && adjustedSize.width > viewportOffset.left && adjustedSize.width <= viewportOffset.right ? 'right' :
+                         placement[0] === 'right' && adjustedSize.width > viewportOffset.right && adjustedSize.width <= viewportOffset.left ? 'left' :
+                         placement[0];
+
+          placement[1] = placement[1] === 'top' && adjustedSize.height - hostElemPos.height > viewportOffset.bottom && adjustedSize.height - hostElemPos.height <= viewportOffset.top ? 'bottom' :
+                         placement[1] === 'bottom' && adjustedSize.height - hostElemPos.height > viewportOffset.top && adjustedSize.height - hostElemPos.height <= viewportOffset.bottom ? 'top' :
+                         placement[1] === 'left' && adjustedSize.width - hostElemPos.width > viewportOffset.right && adjustedSize.width - hostElemPos.width <= viewportOffset.left ? 'right' :
+                         placement[1] === 'right' && adjustedSize.width - hostElemPos.width > viewportOffset.left && adjustedSize.width - hostElemPos.width <= viewportOffset.right ? 'left' :
+                         placement[1];
+
+          if (placement[1] === 'center') {
+            if (PLACEMENT_REGEX.vertical.test(placement[0])) {
+              var xOverflow = hostElemPos.width / 2 - targetWidth / 2;
+              if (viewportOffset.left + xOverflow < 0 && adjustedSize.width - hostElemPos.width <= viewportOffset.right) {
+                placement[1] = 'left';
+              } else if (viewportOffset.right + xOverflow < 0 && adjustedSize.width - hostElemPos.width <= viewportOffset.left) {
+                placement[1] = 'right';
+              }
+            } else {
+              var yOverflow = hostElemPos.height / 2 - adjustedSize.height / 2;
+              if (viewportOffset.top + yOverflow < 0 && adjustedSize.height - hostElemPos.height <= viewportOffset.bottom) {
+                placement[1] = 'top';
+              } else if (viewportOffset.bottom + yOverflow < 0 && adjustedSize.height - hostElemPos.height <= viewportOffset.top) {
+                placement[1] = 'bottom';
+              }
+            }
           }
-        };
+        }
 
-        switch (pos0) {
-          case 'right':
-            targetElPos = {
-              top: shiftHeight[pos1](),
-              left: shiftWidth[pos0]()
-            };
+        switch (placement[0]) {
+          case 'top':
+            targetElemPos.top = hostElemPos.top - targetHeight;
+            break;
+          case 'bottom':
+            targetElemPos.top = hostElemPos.top + hostElemPos.height;
             break;
           case 'left':
-            targetElPos = {
-              top: shiftHeight[pos1](),
-              left: hostElPos.left - targetElWidth
-            };
+            targetElemPos.left = hostElemPos.left - targetWidth;
+            break;
+          case 'right':
+            targetElemPos.left = hostElemPos.left + hostElemPos.width;
+            break;
+        }
+
+        switch (placement[1]) {
+          case 'top':
+            targetElemPos.top = hostElemPos.top;
             break;
           case 'bottom':
-            targetElPos = {
-              top: shiftHeight[pos0](),
-              left: shiftWidth[pos1]()
-            };
+            targetElemPos.top = hostElemPos.top + hostElemPos.height - targetHeight;
             break;
-          default:
-            targetElPos = {
-              top: hostElPos.top - targetElHeight,
-              left: shiftWidth[pos1]()
-            };
+          case 'left':
+            targetElemPos.left = hostElemPos.left;
+            break;
+          case 'right':
+            targetElemPos.left = hostElemPos.left + hostElemPos.width - targetWidth;
+            break;
+          case 'center':
+            if (PLACEMENT_REGEX.vertical.test(placement[0])) {
+              targetElemPos.left = hostElemPos.left + hostElemPos.width / 2 - targetWidth / 2;
+            } else {
+              targetElemPos.top = hostElemPos.top + hostElemPos.height / 2 - targetHeight / 2;
+            }
             break;
         }
 
-        return targetElPos;
-      }
-    };
-  }]);
+        targetElemPos.top = Math.round(targetElemPos.top);
+        targetElemPos.left = Math.round(targetElemPos.left);
+        targetElemPos.placement = placement[1] === 'center' ? placement[0] : placement[0] + '-' + placement[1];
+
+        return targetElemPos;
+      },
 
-/* Deprecated position below */
+      /**
+      * Provides a way for positioning tooltip & dropdown
+      * arrows when using placement options beyond the standard
+      * left, right, top, or bottom.
+      *
+      * @param {element} elem - The tooltip/dropdown element.
+      * @param {string} placement - The placement for the elem.
+      */
+      positionArrow: function(elem, placement) {
+        elem = this.getRawNode(elem);
+
+        var isTooltip = true;
+
+        var innerElem = elem.querySelector('.tooltip-inner');
+        if (!innerElem) {
+          isTooltip = false;
+          innerElem = elem.querySelector('.popover-inner');
+        }
+        if (!innerElem) {
+          return;
+        }
 
-angular.module('ui.bootstrap.position')
+        var arrowElem = isTooltip ? elem.querySelector('.tooltip-arrow') : elem.querySelector('.arrow');
+        if (!arrowElem) {
+          return;
+        }
 
-.value('$positionSuppressWarning', false)
+        placement = this.parsePlacement(placement);
+        if (placement[1] === 'center') {
+          // no adjustment necessary - just reset styles
+          angular.element(arrowElem).css({top: '', bottom: '', right: '', left: '', margin: ''});
+          return;
+        }
 
-.service('$position', ['$log', '$positionSuppressWarning', '$uibPosition', function($log, $positionSuppressWarning, $uibPosition) {
-  if (!$positionSuppressWarning) {
-    $log.warn('$position is now deprecated. Use $uibPosition instead.');
-  }
+        var borderProp = 'border-' + placement[0] + '-width';
+        var borderWidth = $window.getComputedStyle(arrowElem)[borderProp];
 
-  angular.extend(this, $uibPosition);
-}]);
+        var borderRadiusProp = 'border-';
+        if (PLACEMENT_REGEX.vertical.test(placement[0])) {
+          borderRadiusProp += placement[0] + '-' + placement[1];
+        } else {
+          borderRadiusProp += placement[1] + '-' + placement[0];
+        }
+        borderRadiusProp += '-radius';
+        var borderRadius = $window.getComputedStyle(isTooltip ? innerElem : elem)[borderRadiusProp];
 
-angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootstrap.position'])
+        var arrowCss = {
+          top: 'auto',
+          bottom: 'auto',
+          left: 'auto',
+          right: 'auto',
+          margin: 0
+        };
+
+        switch (placement[0]) {
+          case 'top':
+            arrowCss.bottom = isTooltip ? '0' : '-' + borderWidth;
+            break;
+          case 'bottom':
+            arrowCss.top = isTooltip ? '0' : '-' + borderWidth;
+            break;
+          case 'left':
+            arrowCss.right = isTooltip ? '0' : '-' + borderWidth;
+            break;
+          case 'right':
+            arrowCss.left = isTooltip ? '0' : '-' + borderWidth;
+            break;
+        }
+
+        arrowCss[placement[1]] = borderRadius;
+
+        angular.element(arrowElem).css(arrowCss);
+      }
+    };
+  }]);
+
+angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootstrap.isClass', 'ui.bootstrap.position'])
 
 .value('$datepickerSuppressError', false)
 
@@ -1598,49 +1682,56 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
   maxMode: 'year',
   showWeeks: true,
   startingDay: 0,
-  yearRange: 20,
+  yearRows: 4,
+  yearColumns: 5,
   minDate: null,
   maxDate: null,
-  shortcutPropagation: false
+  shortcutPropagation: false,
+  ngModelOptions: {}
 })
 
-.controller('UibDatepickerController', ['$scope', '$attrs', '$parse', '$interpolate', '$log', 'dateFilter', 'uibDatepickerConfig', '$datepickerSuppressError', function($scope, $attrs, $parse, $interpolate, $log, dateFilter, datepickerConfig, $datepickerSuppressError) {
+.controller('UibDatepickerController', ['$scope', '$attrs', '$parse', '$interpolate', '$log', 'dateFilter', 'uibDatepickerConfig', '$datepickerSuppressError', 'uibDateParser',
+  function($scope, $attrs, $parse, $interpolate, $log, dateFilter, datepickerConfig, $datepickerSuppressError, dateParser) {
   var self = this,
-      ngModelCtrl = { $setViewValue: angular.noop }; // nullModelCtrl;
+      ngModelCtrl = { $setViewValue: angular.noop }, // nullModelCtrl;
+      ngModelOptions = {};
 
   // Modes chain
   this.modes = ['day', 'month', 'year'];
 
-  // Configuration attributes
-  angular.forEach(['formatDay', 'formatMonth', 'formatYear', 'formatDayHeader', 'formatDayTitle', 'formatMonthTitle',
-                   'showWeeks', 'startingDay', 'yearRange', 'shortcutPropagation'], function(key, index) {
-    self[key] = angular.isDefined($attrs[key]) ? (index < 6 ? $interpolate($attrs[key])($scope.$parent) : $scope.$parent.$eval($attrs[key])) : datepickerConfig[key];
+  // Interpolated configuration attributes
+  angular.forEach(['formatDay', 'formatMonth', 'formatYear', 'formatDayHeader', 'formatDayTitle', 'formatMonthTitle'], function(key) {
+    self[key] = angular.isDefined($attrs[key]) ? $interpolate($attrs[key])($scope.$parent) : datepickerConfig[key];
+  });
+
+  // Evaled configuration attributes
+  angular.forEach(['showWeeks', 'startingDay', 'yearRows', 'yearColumns', 'shortcutPropagation'], function(key) {
+    self[key] = angular.isDefined($attrs[key]) ? $scope.$parent.$eval($attrs[key]) : datepickerConfig[key];
   });
 
   // Watchable date attributes
   angular.forEach(['minDate', 'maxDate'], function(key) {
     if ($attrs[key]) {
-      $scope.$parent.$watch($parse($attrs[key]), function(value) {
-        self[key] = value ? new Date(value) : null;
+      $scope.$parent.$watch($attrs[key], function(value) {
+        self[key] = value ? angular.isDate(value) ? dateParser.fromTimezone(new Date(value), ngModelOptions.timezone) : new Date(dateFilter(value, 'medium')) : null;
         self.refreshView();
       });
     } else {
-      self[key] = datepickerConfig[key] ? new Date(datepickerConfig[key]) : null;
+      self[key] = datepickerConfig[key] ? dateParser.fromTimezone(new Date(datepickerConfig[key]), ngModelOptions.timezone) : null;
     }
   });
 
   angular.forEach(['minMode', 'maxMode'], function(key) {
     if ($attrs[key]) {
-      $scope.$parent.$watch($parse($attrs[key]), function(value) {
-        self[key] = angular.isDefined(value) ? value : $attrs[key];
-        $scope[key] = self[key];
-        if ((key == 'minMode' && self.modes.indexOf($scope.datepickerMode) < self.modes.indexOf(self[key])) || (key == 'maxMode' && self.modes.indexOf($scope.datepickerMode) > self.modes.indexOf(self[key]))) {
+      $scope.$parent.$watch($attrs[key], function(value) {
+        self[key] = $scope[key] = angular.isDefined(value) ? value : $attrs[key];
+        if (key === 'minMode' && self.modes.indexOf($scope.datepickerMode) < self.modes.indexOf(self[key]) ||
+          key === 'maxMode' && self.modes.indexOf($scope.datepickerMode) > self.modes.indexOf(self[key])) {
           $scope.datepickerMode = self[key];
         }
       });
     } else {
-      self[key] = datepickerConfig[key] || null;
-      $scope[key] = self[key];
+      self[key] = $scope[key] = datepickerConfig[key] || null;
     }
   });
 
@@ -1648,10 +1739,10 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
   $scope.uniqueId = 'datepicker-' + $scope.$id + '-' + Math.floor(Math.random() * 10000);
 
   if (angular.isDefined($attrs.initDate)) {
-    this.activeDate = $scope.$parent.$eval($attrs.initDate) || new Date();
+    this.activeDate = dateParser.fromTimezone($scope.$parent.$eval($attrs.initDate), ngModelOptions.timezone) || new Date();
     $scope.$parent.$watch($attrs.initDate, function(initDate) {
       if (initDate && (ngModelCtrl.$isEmpty(ngModelCtrl.$modelValue) || ngModelCtrl.$invalid)) {
-        self.activeDate = initDate;
+        self.activeDate = dateParser.fromTimezone(initDate, ngModelOptions.timezone);
         self.refreshView();
       }
     });
@@ -1659,6 +1750,14 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
     this.activeDate = new Date();
   }
 
+  $scope.disabled = angular.isDefined($attrs.disabled) || false;
+  if (angular.isDefined($attrs.ngDisabled)) {
+    $scope.$parent.$watch($attrs.ngDisabled, function(disabled) {
+      $scope.disabled = disabled;
+      self.refreshView();
+    });
+  }
+
   $scope.isActive = function(dateObject) {
     if (self.compare(dateObject.date, self.activeDate) === 0) {
       $scope.activeDateId = dateObject.uid;
@@ -1669,6 +1768,11 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
 
   this.init = function(ngModelCtrl_) {
     ngModelCtrl = ngModelCtrl_;
+    ngModelOptions = ngModelCtrl_.$options || datepickerConfig.ngModelOptions;
+
+    if (ngModelCtrl.$modelValue) {
+      this.activeDate = ngModelCtrl.$modelValue;
+    }
 
     ngModelCtrl.$render = function() {
       self.render();
@@ -1681,9 +1785,9 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
           isValid = !isNaN(date);
 
       if (isValid) {
-        this.activeDate = date;
+        this.activeDate = dateParser.fromTimezone(date, ngModelOptions.timezone);
       } else if (!$datepickerSuppressError) {
-        $log.error('Datepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.');
+        $log.error('Datepicker directive: "ng-model" value must be a Date object');
       }
     }
     this.refreshView();
@@ -1691,27 +1795,47 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
 
   this.refreshView = function() {
     if (this.element) {
+      $scope.selectedDt = null;
       this._refreshView();
+      if ($scope.activeDt) {
+        $scope.activeDateId = $scope.activeDt.uid;
+      }
 
       var date = ngModelCtrl.$viewValue ? new Date(ngModelCtrl.$viewValue) : null;
-      ngModelCtrl.$setValidity('dateDisabled', !date || (this.element && !this.isDisabled(date)));
+      date = dateParser.fromTimezone(date, ngModelOptions.timezone);
+      ngModelCtrl.$setValidity('dateDisabled', !date ||
+        this.element && !this.isDisabled(date));
     }
   };
 
   this.createDateObject = function(date, format) {
     var model = ngModelCtrl.$viewValue ? new Date(ngModelCtrl.$viewValue) : null;
-    return {
+    model = dateParser.fromTimezone(model, ngModelOptions.timezone);
+    var dt = {
       date: date,
-      label: dateFilter(date, format),
+      label: dateFilter(date, format.replace(/d!/, 'dd')).replace(/M!/, 'MM'),
       selected: model && this.compare(date, model) === 0,
       disabled: this.isDisabled(date),
       current: this.compare(date, new Date()) === 0,
-      customClass: this.customClass(date)
+      customClass: this.customClass(date) || null
     };
+
+    if (model && this.compare(date, model) === 0) {
+      $scope.selectedDt = dt;
+    }
+
+    if (self.activeDate && this.compare(dt.date, self.activeDate) === 0) {
+      $scope.activeDt = dt;
+    }
+
+    return dt;
   };
 
   this.isDisabled = function(date) {
-    return ((this.minDate && this.compare(date, this.minDate) < 0) || (this.maxDate && this.compare(date, this.maxDate) > 0) || ($attrs.dateDisabled && $scope.dateDisabled({date: date, mode: $scope.datepickerMode})));
+    return $scope.disabled ||
+      this.minDate && this.compare(date, this.minDate) < 0 ||
+      this.maxDate && this.compare(date, this.maxDate) > 0 ||
+      $attrs.dateDisabled && $scope.dateDisabled({date: date, mode: $scope.datepickerMode});
   };
 
   this.customClass = function(date) {
@@ -1729,8 +1853,9 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
 
   $scope.select = function(date) {
     if ($scope.datepickerMode === self.minMode) {
-      var dt = ngModelCtrl.$viewValue ? new Date(ngModelCtrl.$viewValue) : new Date(0, 0, 0, 0, 0, 0, 0);
+      var dt = ngModelCtrl.$viewValue ? dateParser.fromTimezone(new Date(ngModelCtrl.$viewValue), ngModelOptions.timezone) : new Date(0, 0, 0, 0, 0, 0, 0);
       dt.setFullYear(date.getFullYear(), date.getMonth(), date.getDate());
+      dt = dateParser.toTimezone(dt, ngModelOptions.timezone);
       ngModelCtrl.$setViewValue(dt);
       ngModelCtrl.$render();
     } else {
@@ -1749,7 +1874,8 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
   $scope.toggleMode = function(direction) {
     direction = direction || 1;
 
-    if (($scope.datepickerMode === self.maxMode && direction === 1) || ($scope.datepickerMode === self.minMode && direction === -1)) {
+    if ($scope.datepickerMode === self.maxMode && direction === 1 ||
+      $scope.datepickerMode === self.minMode && direction === -1) {
       return;
     }
 
@@ -1769,7 +1895,7 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
   $scope.keydown = function(evt) {
     var key = $scope.keys[evt.which];
 
-    if (!key || evt.shiftKey || evt.altKey) {
+    if (!key || evt.shiftKey || evt.altKey || $scope.disabled) {
       return;
     }
 
@@ -1798,7 +1924,8 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
   this.step = { months: 1 };
   this.element = $element;
   function getDaysInMonth(year, month) {
-    return ((month === 1) && (year % 4 === 0) && ((year % 100 !== 0) || (year % 400 === 0))) ? 29 : DAYS_IN_MONTH[month];
+    return month === 1 && year % 4 === 0 &&
+      (year % 100 !== 0 || year % 400 === 0) ? 29 : DAYS_IN_MONTH[month];
   }
 
   this.init = function(ctrl) {
@@ -1825,14 +1952,15 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
     firstDayOfMonth.setFullYear(year, month, 1);
 
     var difference = this.startingDay - firstDayOfMonth.getDay(),
-      numDisplayedFromPreviousMonth = (difference > 0) ? 7 - difference : - difference,
+      numDisplayedFromPreviousMonth = difference > 0 ?
+        7 - difference : - difference,
       firstDate = new Date(firstDayOfMonth);
 
     if (numDisplayedFromPreviousMonth > 0) {
       firstDate.setDate(-numDisplayedFromPreviousMonth + 1);
     }
 
-    // 42 is the number of days on a six-month calendar
+    // 42 is the number of days on a six-week calendar
     var days = this.getDates(firstDate, 42);
     for (var i = 0; i < 42; i ++) {
       days[i] = angular.extend(this.createDateObject(days[i], this.formatDay), {
@@ -1864,7 +1992,11 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
   };
 
   this.compare = function(date1, date2) {
-    return (new Date(date1.getFullYear(), date1.getMonth(), date1.getDate()) - new Date(date2.getFullYear(), date2.getMonth(), date2.getDate()));
+    var _date1 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate());
+    var _date2 = new Date(date2.getFullYear(), date2.getMonth(), date2.getDate());
+    _date1.setFullYear(date1.getFullYear());
+    _date2.setFullYear(date2.getFullYear());
+    return _date1 - _date2;
   };
 
   function getISO8601WeekNumber(date) {
@@ -1880,11 +2012,11 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
     var date = this.activeDate.getDate();
 
     if (key === 'left') {
-      date = date - 1;   // up
+      date = date - 1;
     } else if (key === 'up') {
-      date = date - 7;   // down
+      date = date - 7;
     } else if (key === 'right') {
-      date = date + 1;   // down
+      date = date + 1;
     } else if (key === 'down') {
       date = date + 7;
     } else if (key === 'pageup' || key === 'pagedown') {
@@ -1927,18 +2059,22 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
   };
 
   this.compare = function(date1, date2) {
-    return new Date(date1.getFullYear(), date1.getMonth()) - new Date(date2.getFullYear(), date2.getMonth());
+    var _date1 = new Date(date1.getFullYear(), date1.getMonth());
+    var _date2 = new Date(date2.getFullYear(), date2.getMonth());
+    _date1.setFullYear(date1.getFullYear());
+    _date2.setFullYear(date2.getFullYear());
+    return _date1 - _date2;
   };
 
   this.handleKeyDown = function(key, evt) {
     var date = this.activeDate.getMonth();
 
     if (key === 'left') {
-      date = date - 1;   // up
+      date = date - 1;
     } else if (key === 'up') {
-      date = date - 3;   // down
+      date = date - 3;
     } else if (key === 'right') {
-      date = date + 1;   // down
+      date = date + 1;
     } else if (key === 'down') {
       date = date + 3;
     } else if (key === 'pageup' || key === 'pagedown') {
@@ -1954,7 +2090,7 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
 }])
 
 .controller('UibYearpickerController', ['$scope', '$element', 'dateFilter', function(scope, $element, dateFilter) {
-  var range;
+  var columns, range;
   this.element = $element;
 
   function getStartingYear(year) {
@@ -1962,7 +2098,8 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
   }
 
   this.yearpickerInit = function() {
-    range = this.yearRange;
+    columns = this.yearColumns;
+    range = this.yearRows * columns;
     this.step = { years: range };
   };
 
@@ -1978,7 +2115,8 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
     }
 
     scope.title = [years[0].label, years[range - 1].label].join(' - ');
-    scope.rows = this.split(years, 5);
+    scope.rows = this.split(years, columns);
+    scope.columns = columns;
   };
 
   this.compare = function(date1, date2) {
@@ -1989,15 +2127,15 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
     var date = this.activeDate.getFullYear();
 
     if (key === 'left') {
-      date = date - 1;   // up
+      date = date - 1;
     } else if (key === 'up') {
-      date = date - 5;   // down
+      date = date - columns;
     } else if (key === 'right') {
-      date = date + 1;   // down
+      date = date + 1;
     } else if (key === 'down') {
-      date = date + 5;
+      date = date + columns;
     } else if (key === 'pageup' || key === 'pagedown') {
-      date += (key === 'pageup' ? - 1 : 1) * this.step.years;
+      date += (key === 'pageup' ? - 1 : 1) * range;
     } else if (key === 'home') {
       date = getStartingYear(this.activeDate.getFullYear());
     } else if (key === 'end') {
@@ -2011,7 +2149,7 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
   return {
     replace: true,
     templateUrl: function(element, attrs) {
-      return attrs.templateUrl || 'template/datepicker/datepicker.html';
+      return attrs.templateUrl || 'uib/template/datepicker/datepicker.html';
     },
     scope: {
       datepickerMode: '=?',
@@ -2034,12 +2172,12 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
   return {
     replace: true,
     templateUrl: function(element, attrs) {
-      return attrs.templateUrl || 'template/datepicker/day.html';
+      return attrs.templateUrl || 'uib/template/datepicker/day.html';
     },
-    require: ['^?uibDatepicker', 'uibDaypicker', '^?datepicker'],
+    require: ['^uibDatepicker', 'uibDaypicker'],
     controller: 'UibDaypickerController',
     link: function(scope, element, attrs, ctrls) {
-      var datepickerCtrl = ctrls[0] || ctrls[2],
+      var datepickerCtrl = ctrls[0],
         daypickerCtrl = ctrls[1];
 
       daypickerCtrl.init(datepickerCtrl);
@@ -2051,12 +2189,12 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
   return {
     replace: true,
     templateUrl: function(element, attrs) {
-      return attrs.templateUrl || 'template/datepicker/month.html';
+      return attrs.templateUrl || 'uib/template/datepicker/month.html';
     },
-    require: ['^?uibDatepicker', 'uibMonthpicker', '^?datepicker'],
+    require: ['^uibDatepicker', 'uibMonthpicker'],
     controller: 'UibMonthpickerController',
     link: function(scope, element, attrs, ctrls) {
-      var datepickerCtrl = ctrls[0] || ctrls[2],
+      var datepickerCtrl = ctrls[0],
         monthpickerCtrl = ctrls[1];
 
       monthpickerCtrl.init(datepickerCtrl);
@@ -2068,12 +2206,12 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
   return {
     replace: true,
     templateUrl: function(element, attrs) {
-      return attrs.templateUrl || 'template/datepicker/year.html';
+      return attrs.templateUrl || 'uib/template/datepicker/year.html';
     },
-    require: ['^?uibDatepicker', 'uibYearpicker', '^?datepicker'],
+    require: ['^uibDatepicker', 'uibYearpicker'],
     controller: 'UibYearpickerController',
     link: function(scope, element, attrs, ctrls) {
-      var ctrl = ctrls[0] || ctrls[2];
+      var ctrl = ctrls[0];
       angular.extend(ctrl, ctrls[1]);
       ctrl.yearpickerInit();
 
@@ -2084,8 +2222,8 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
 
 .constant('uibDatepickerPopupConfig', {
   datepickerPopup: 'yyyy-MM-dd',
-  datepickerPopupTemplateUrl: 'template/datepicker/popup.html',
-  datepickerTemplateUrl: 'template/datepicker/datepicker.html',
+  datepickerPopupTemplateUrl: 'uib/template/datepicker/popup.html',
+  datepickerTemplateUrl: 'uib/template/datepicker/datepicker.html',
   html5Types: {
     date: 'yyyy-MM-dd',
     'datetime-local': 'yyyy-MM-ddTHH:mm:ss.sss',
@@ -2097,27 +2235,30 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
   closeOnDateSelection: true,
   appendToBody: false,
   showButtonBar: true,
-  onOpenFocus: true
+  onOpenFocus: true,
+  altInputFormats: []
 })
 
-.controller('UibDatepickerPopupController', ['$scope', '$element', '$attrs', '$compile', '$parse', '$document', '$rootScope', '$uibPosition', 'dateFilter', 'uibDateParser', 'uibDatepickerPopupConfig', '$timeout',
-function(scope, element, attrs, $compile, $parse, $document, $rootScope, $position, dateFilter, dateParser, datepickerPopupConfig, $timeout) {
+.controller('UibDatepickerPopupController', ['$scope', '$element', '$attrs', '$compile', '$parse', '$document', '$rootScope', '$uibPosition', 'dateFilter', 'uibDateParser', 'uibDatepickerPopupConfig', '$timeout', 'uibDatepickerConfig',
+function(scope, element, attrs, $compile, $parse, $document, $rootScope, $position, dateFilter, dateParser, datepickerPopupConfig, $timeout, datepickerConfig) {
   var self = this;
   var cache = {},
     isHtml5DateInput = false;
   var dateFormat, closeOnDateSelection, appendToBody, onOpenFocus,
     datepickerPopupTemplateUrl, datepickerTemplateUrl, popupEl, datepickerEl,
-    ngModel, $popup;
+    ngModel, ngModelOptions, $popup, altInputFormats;
 
   scope.watchData = {};
 
   this.init = function(_ngModel_) {
     ngModel = _ngModel_;
+    ngModelOptions = _ngModel_.$options || datepickerConfig.ngModelOptions;
     closeOnDateSelection = angular.isDefined(attrs.closeOnDateSelection) ? scope.$parent.$eval(attrs.closeOnDateSelection) : datepickerPopupConfig.closeOnDateSelection;
     appendToBody = angular.isDefined(attrs.datepickerAppendToBody) ? scope.$parent.$eval(attrs.datepickerAppendToBody) : datepickerPopupConfig.appendToBody;
     onOpenFocus = angular.isDefined(attrs.onOpenFocus) ? scope.$parent.$eval(attrs.onOpenFocus) : datepickerPopupConfig.onOpenFocus;
     datepickerPopupTemplateUrl = angular.isDefined(attrs.datepickerPopupTemplateUrl) ? attrs.datepickerPopupTemplateUrl : datepickerPopupConfig.datepickerPopupTemplateUrl;
     datepickerTemplateUrl = angular.isDefined(attrs.datepickerTemplateUrl) ? attrs.datepickerTemplateUrl : datepickerPopupConfig.datepickerTemplateUrl;
+    altInputFormats = angular.isDefined(attrs.altInputFormats) ? scope.$parent.$eval(attrs.altInputFormats) : datepickerPopupConfig.altInputFormats;
 
     scope.showButtonBar = angular.isDefined(attrs.showButtonBar) ? scope.$parent.$eval(attrs.showButtonBar) : datepickerPopupConfig.showButtonBar;
 
@@ -2125,7 +2266,7 @@ function(scope, element, attrs, $compile, $parse, $document, $rootScope, $positi
       dateFormat = datepickerPopupConfig.html5Types[attrs.type];
       isHtml5DateInput = true;
     } else {
-      dateFormat = attrs.datepickerPopup || attrs.uibDatepickerPopup || datepickerPopupConfig.datepickerPopup;
+      dateFormat = attrs.uibDatepickerPopup || datepickerPopupConfig.datepickerPopup;
       attrs.$observe('uibDatepickerPopup', function(value, oldValue) {
           var newDateFormat = value || datepickerPopupConfig.datepickerPopup;
           // Invalidate the $modelValue to ensure that formatters re-run
@@ -2145,14 +2286,17 @@ function(scope, element, attrs, $compile, $parse, $document, $rootScope, $positi
       throw new Error('uibDatepickerPopup must have a date format specified.');
     }
 
-    if (isHtml5DateInput && attrs.datepickerPopup) {
+    if (isHtml5DateInput && attrs.uibDatepickerPopup) {
       throw new Error('HTML5 date input types do not support custom formats.');
     }
 
     // popup element used to display calendar
     popupEl = angular.element('<div uib-datepicker-popup-wrap><div uib-datepicker></div></div>');
+    scope.ngModelOptions = angular.copy(ngModelOptions);
+    scope.ngModelOptions.timezone = null;
     popupEl.attr({
       'ng-model': 'date',
+      'ng-model-options': 'ngModelOptions',
       'ng-change': 'dateSelection(date)',
       'template-url': datepickerPopupTemplateUrl
     });
@@ -2171,7 +2315,7 @@ function(scope, element, attrs, $compile, $parse, $document, $rootScope, $positi
     if (attrs.datepickerOptions) {
       var options = scope.$parent.$eval(attrs.datepickerOptions);
       if (options && options.initDate) {
-        scope.initDate = options.initDate;
+        scope.initDate = dateParser.fromTimezone(options.initDate, ngModelOptions.timezone);
         datepickerEl.attr('init-date', 'initDate');
         delete options.initDate;
       }
@@ -2180,35 +2324,63 @@ function(scope, element, attrs, $compile, $parse, $document, $rootScope, $positi
       });
     }
 
-    angular.forEach(['minMode', 'maxMode', 'minDate', 'maxDate', 'datepickerMode', 'initDate', 'shortcutPropagation'], function(key) {
+    angular.forEach(['minMode', 'maxMode'], function(key) {
       if (attrs[key]) {
-        var getAttribute = $parse(attrs[key]);
-        scope.$parent.$watch(getAttribute, function(value) {
+        scope.$parent.$watch(function() { return attrs[key]; }, function(value) {
           scope.watchData[key] = value;
-          if (key === 'minDate' || key === 'maxDate') {
-            cache[key] = new Date(value);
-          }
         });
         datepickerEl.attr(cameltoDash(key), 'watchData.' + key);
+      }
+    });
+
+    angular.forEach(['datepickerMode', 'shortcutPropagation'], function(key) {
+      if (attrs[key]) {
+        var getAttribute = $parse(attrs[key]);
+        var propConfig = {
+          get: function() {
+            return getAttribute(scope.$parent);
+          }
+        };
+
+        datepickerEl.attr(cameltoDash(key), 'watchData.' + key);
 
         // Propagate changes from datepicker to outside
         if (key === 'datepickerMode') {
           var setAttribute = getAttribute.assign;
-          scope.$watch('watchData.' + key, function(value, oldvalue) {
-            if (angular.isFunction(setAttribute) && value !== oldvalue) {
-              setAttribute(scope.$parent, value);
-            }
-          });
+          propConfig.set = function(v) {
+            setAttribute(scope.$parent, v);
+          };
         }
+
+        Object.defineProperty(scope.watchData, key, propConfig);
+      }
+    });
+
+    angular.forEach(['minDate', 'maxDate', 'initDate'], function(key) {
+      if (attrs[key]) {
+        var getAttribute = $parse(attrs[key]);
+
+        scope.$parent.$watch(getAttribute, function(value) {
+          if (key === 'minDate' || key === 'maxDate') {
+            cache[key] = angular.isDate(value) ? dateParser.fromTimezone(new Date(value), ngModelOptions.timezone) : new Date(dateFilter(value, 'medium'));
+          }
+
+          scope.watchData[key] = cache[key] || dateParser.fromTimezone(new Date(value), ngModelOptions.timezone);
+        });
+
+        datepickerEl.attr(cameltoDash(key), 'watchData.' + key);
       }
     });
+
     if (attrs.dateDisabled) {
       datepickerEl.attr('date-disabled', 'dateDisabled({ date: date, mode: mode })');
     }
 
-    if (attrs.showWeeks) {
-      datepickerEl.attr('show-weeks', attrs.showWeeks);
-    }
+    angular.forEach(['formatDay', 'formatMonth', 'formatYear', 'formatDayHeader', 'formatDayTitle', 'formatMonthTitle', 'showWeeks', 'startingDay', 'yearRows', 'yearColumns'], function(key) {
+      if (angular.isDefined(attrs[key])) {
+        datepickerEl.attr(cameltoDash(key), attrs[key]);
+      }
+    });
 
     if (attrs.customClass) {
       datepickerEl.attr('custom-class', 'customClass({ date: date, mode: mode })');
@@ -2220,19 +2392,26 @@ function(scope, element, attrs, $compile, $parse, $document, $rootScope, $positi
       ngModel.$validators.date = validator;
       ngModel.$parsers.unshift(parseDate);
       ngModel.$formatters.push(function(value) {
-        scope.date = value;
-        return ngModel.$isEmpty(value) ? value : dateFilter(value, dateFormat);
+        if (ngModel.$isEmpty(value)) {
+          scope.date = value;
+          return value;
+        }
+        scope.date = dateParser.fromTimezone(value, ngModelOptions.timezone);
+        dateFormat = dateFormat.replace(/M!/, 'MM')
+          .replace(/d!/, 'dd');
+
+        return dateFilter(scope.date, dateFormat);
       });
     } else {
       ngModel.$formatters.push(function(value) {
-        scope.date = value;
+        scope.date = dateParser.fromTimezone(value, ngModelOptions.timezone);
         return value;
       });
     }
 
     // Detect changes in the view from the text box
     ngModel.$viewChangeListeners.push(function() {
-      scope.date = dateParser.parse(ngModel.$viewValue, dateFormat, scope.date);
+      scope.date = parseDateString(ngModel.$viewValue);
     });
 
     element.bind('keydown', inputKeydownBind);
@@ -2271,12 +2450,12 @@ function(scope, element, attrs, $compile, $parse, $document, $rootScope, $positi
       date = new Date();
     }
 
-    return ((scope.watchData.minDate && scope.compare(date, cache.minDate) < 0) ||
-      (scope.watchData.maxDate && scope.compare(date, cache.maxDate) > 0));
+    return scope.watchData.minDate && scope.compare(date, cache.minDate) < 0 ||
+      scope.watchData.maxDate && scope.compare(date, cache.maxDate) > 0;
   };
 
   scope.compare = function(date1, date2) {
-    return (new Date(date1.getFullYear(), date1.getMonth(), date1.getDate()) - new Date(date2.getFullYear(), date2.getMonth(), date2.getDate()));
+    return new Date(date1.getFullYear(), date1.getMonth(), date1.getDate()) - new Date(date2.getFullYear(), date2.getMonth(), date2.getDate());
   };
 
   // Inner change
@@ -2296,6 +2475,7 @@ function(scope, element, attrs, $compile, $parse, $document, $rootScope, $positi
 
   scope.keydown = function(evt) {
     if (evt.which === 27) {
+      evt.stopPropagation();
       scope.isOpen = false;
       element[0].focus();
     }
@@ -2319,17 +2499,28 @@ function(scope, element, attrs, $compile, $parse, $document, $rootScope, $positi
     element[0].focus();
   };
 
+  scope.disabled = angular.isDefined(attrs.disabled) || false;
+  if (attrs.ngDisabled) {
+    scope.$parent.$watch($parse(attrs.ngDisabled), function(disabled) {
+      scope.disabled = disabled;
+    });
+  }
+
   scope.$watch('isOpen', function(value) {
     if (value) {
-      scope.position = appendToBody ? $position.offset(element) : $position.position(element);
-      scope.position.top = scope.position.top + element.prop('offsetHeight');
+      if (!scope.disabled) {
+        scope.position = appendToBody ? $position.offset(element) : $position.position(element);
+        scope.position.top = scope.position.top + element.prop('offsetHeight');
 
-      $timeout(function() {
-        if (onOpenFocus) {
-          scope.$broadcast('uib:datepicker.focus');
-        }
-        $document.bind('click', documentClickBind);
-      }, 0, false);
+        $timeout(function() {
+          if (onOpenFocus) {
+            scope.$broadcast('uib:datepicker.focus');
+          }
+          $document.bind('click', documentClickBind);
+        }, 0, false);
+      } else {
+        scope.isOpen = false;
+      }
     } else {
       $document.unbind('click', documentClickBind);
     }
@@ -2339,6 +2530,19 @@ function(scope, element, attrs, $compile, $parse, $document, $rootScope, $positi
     return string.replace(/([A-Z])/g, function($1) { return '-' + $1.toLowerCase(); });
   }
 
+  function parseDateString(viewValue) {
+    var date = dateParser.parse(viewValue, dateFormat, scope.date);
+    if (isNaN(date)) {
+      for (var i = 0; i < altInputFormats.length; i++) {
+        date = dateParser.parse(viewValue, altInputFormats[i], scope.date);
+        if (!isNaN(date)) {
+          return date;
+        }
+      }
+    }
+    return date;
+  }
+
   function parseDate(viewValue) {
     if (angular.isNumber(viewValue)) {
       // presumably timestamp to date object
@@ -2347,18 +2551,20 @@ function(scope, element, attrs, $compile, $parse, $document, $rootScope, $positi
 
     if (!viewValue) {
       return null;
-    } else if (angular.isDate(viewValue) && !isNaN(viewValue)) {
+    }
+
+    if (angular.isDate(viewValue) && !isNaN(viewValue)) {
       return viewValue;
-    } else if (angular.isString(viewValue)) {
-      var date = dateParser.parse(viewValue, dateFormat, scope.date);
-      if (isNaN(date)) {
-        return undefined;
-      } else {
-        return date;
+    }
+
+    if (angular.isString(viewValue)) {
+      var date = parseDateString(viewValue);
+      if (!isNaN(date)) {
+        return dateParser.toTimezone(date, ngModelOptions.timezone);
       }
-    } else {
-      return undefined;
     }
+
+    return ngModel.$options && ngModel.$options.allowInvalid ? viewValue : undefined;
   }
 
   function validator(modelValue, viewValue) {
@@ -2371,19 +2577,27 @@ function(scope, element, attrs, $compile, $parse, $document, $rootScope, $positi
     if (angular.isNumber(value)) {
       value = new Date(value);
     }
+
     if (!value) {
       return true;
-    } else if (angular.isDate(value) && !isNaN(value)) {
+    }
+
+    if (angular.isDate(value) && !isNaN(value)) {
       return true;
-    } else if (angular.isString(value)) {
-      var date = dateParser.parse(value, dateFormat);
-      return !isNaN(date);
-    } else {
-      return false;
     }
+
+    if (angular.isString(value)) {
+      return !isNaN(parseDateString(viewValue));
+    }
+
+    return false;
   }
 
   function documentClickBind(event) {
+    if (!scope.isOpen && scope.disabled) {
+      return;
+    }
+
     var popup = $popup[0];
     var dpContainsTarget = element[0].contains(event.target);
     // The popup node may not be an element node
@@ -2440,338 +2654,37 @@ function(scope, element, attrs, $compile, $parse, $document, $rootScope, $positi
     replace: true,
     transclude: true,
     templateUrl: function(element, attrs) {
-      return attrs.templateUrl || 'template/datepicker/popup.html';
+      return attrs.templateUrl || 'uib/template/datepicker/popup.html';
     }
   };
 });
 
-/* Deprecated datepicker below */
-
-angular.module('ui.bootstrap.datepicker')
-
-.value('$datepickerSuppressWarning', false)
-
-.controller('DatepickerController', ['$scope', '$attrs', '$parse', '$interpolate', '$log', 'dateFilter', 'uibDatepickerConfig', '$datepickerSuppressError', '$datepickerSuppressWarning', function($scope, $attrs, $parse, $interpolate, $log, dateFilter, datepickerConfig, $datepickerSuppressError, $datepickerSuppressWarning) {
-  if (!$datepickerSuppressWarning) {
-    $log.warn('DatepickerController is now deprecated. Use UibDatepickerController instead.');
-  }
-
-  var self = this,
-    ngModelCtrl = { $setViewValue: angular.noop }; // nullModelCtrl;
-
-  this.modes = ['day', 'month', 'year'];
-
-  angular.forEach(['formatDay', 'formatMonth', 'formatYear', 'formatDayHeader', 'formatDayTitle', 'formatMonthTitle',
-    'showWeeks', 'startingDay', 'yearRange', 'shortcutPropagation'], function(key, index) {
-    self[key] = angular.isDefined($attrs[key]) ? (index < 6 ? $interpolate($attrs[key])($scope.$parent) : $scope.$parent.$eval($attrs[key])) : datepickerConfig[key];
-  });
-
-  angular.forEach(['minDate', 'maxDate'], function(key) {
-    if ($attrs[key]) {
-      $scope.$parent.$watch($parse($attrs[key]), function(value) {
-        self[key] = value ? new Date(value) : null;
-        self.refreshView();
-      });
-    } else {
-      self[key] = datepickerConfig[key] ? new Date(datepickerConfig[key]) : null;
-    }
-  });
+angular.module('ui.bootstrap.debounce', [])
+/**
+ * A helper, internal service that debounces a function
+ */
+  .factory('$$debounce', ['$timeout', function($timeout) {
+    return function(callback, debounceTime) {
+      var timeoutPromise;
 
-  angular.forEach(['minMode', 'maxMode'], function(key) {
-    if ($attrs[key]) {
-      $scope.$parent.$watch($parse($attrs[key]), function(value) {
-        self[key] = angular.isDefined(value) ? value : $attrs[key];
-        $scope[key] = self[key];
-        if ((key == 'minMode' && self.modes.indexOf($scope.datepickerMode) < self.modes.indexOf(self[key])) || (key == 'maxMode' && self.modes.indexOf($scope.datepickerMode) > self.modes.indexOf(self[key]))) {
-          $scope.datepickerMode = self[key];
+      return function() {
+        var self = this;
+        var args = Array.prototype.slice.call(arguments);
+        if (timeoutPromise) {
+          $timeout.cancel(timeoutPromise);
         }
-      });
-    } else {
-      self[key] = datepickerConfig[key] || null;
-      $scope[key] = self[key];
-    }
-  });
-
-  $scope.datepickerMode = $scope.datepickerMode || datepickerConfig.datepickerMode;
-  $scope.uniqueId = 'datepicker-' + $scope.$id + '-' + Math.floor(Math.random() * 10000);
-
-  if (angular.isDefined($attrs.initDate)) {
-    this.activeDate = $scope.$parent.$eval($attrs.initDate) || new Date();
-    $scope.$parent.$watch($attrs.initDate, function(initDate) {
-      if (initDate && (ngModelCtrl.$isEmpty(ngModelCtrl.$modelValue) || ngModelCtrl.$invalid)) {
-        self.activeDate = initDate;
-        self.refreshView();
-      }
-    });
-  } else {
-    this.activeDate = new Date();
-  }
-
-  $scope.isActive = function(dateObject) {
-    if (self.compare(dateObject.date, self.activeDate) === 0) {
-      $scope.activeDateId = dateObject.uid;
-      return true;
-    }
-    return false;
-  };
-
-  this.init = function(ngModelCtrl_) {
-    ngModelCtrl = ngModelCtrl_;
-
-    ngModelCtrl.$render = function() {
-      self.render();
-    };
-  };
 
-  this.render = function() {
-    if (ngModelCtrl.$viewValue) {
-      var date = new Date(ngModelCtrl.$viewValue),
-        isValid = !isNaN(date);
-
-      if (isValid) {
-        this.activeDate = date;
-      } else if (!$datepickerSuppressError) {
-        $log.error('Datepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.');
-      }
-    }
-    this.refreshView();
-  };
-
-  this.refreshView = function() {
-    if (this.element) {
-      this._refreshView();
-
-      var date = ngModelCtrl.$viewValue ? new Date(ngModelCtrl.$viewValue) : null;
-      ngModelCtrl.$setValidity('dateDisabled', !date || (this.element && !this.isDisabled(date)));
-    }
-  };
-
-  this.createDateObject = function(date, format) {
-    var model = ngModelCtrl.$viewValue ? new Date(ngModelCtrl.$viewValue) : null;
-    return {
-      date: date,
-      label: dateFilter(date, format),
-      selected: model && this.compare(date, model) === 0,
-      disabled: this.isDisabled(date),
-      current: this.compare(date, new Date()) === 0,
-      customClass: this.customClass(date)
+        timeoutPromise = $timeout(function() {
+          callback.apply(self, args);
+        }, debounceTime);
+      };
     };
-  };
-
-  this.isDisabled = function(date) {
-    return ((this.minDate && this.compare(date, this.minDate) < 0) || (this.maxDate && this.compare(date, this.maxDate) > 0) || ($attrs.dateDisabled && $scope.dateDisabled({date: date, mode: $scope.datepickerMode})));
-  };
-
-  this.customClass = function(date) {
-    return $scope.customClass({date: date, mode: $scope.datepickerMode});
-  };
-
-  // Split array into smaller arrays
-  this.split = function(arr, size) {
-    var arrays = [];
-    while (arr.length > 0) {
-      arrays.push(arr.splice(0, size));
-    }
-    return arrays;
-  };
-
-  this.fixTimeZone = function(date) {
-    var hours = date.getHours();
-    date.setHours(hours === 23 ? hours + 2 : 0);
-  };
-
-  $scope.select = function(date) {
-    if ($scope.datepickerMode === self.minMode) {
-      var dt = ngModelCtrl.$viewValue ? new Date(ngModelCtrl.$viewValue) : new Date(0, 0, 0, 0, 0, 0, 0);
-      dt.setFullYear(date.getFullYear(), date.getMonth(), date.getDate());
-      ngModelCtrl.$setViewValue(dt);
-      ngModelCtrl.$render();
-    } else {
-      self.activeDate = date;
-      $scope.datepickerMode = self.modes[self.modes.indexOf($scope.datepickerMode) - 1];
-    }
-  };
-
-  $scope.move = function(direction) {
-    var year = self.activeDate.getFullYear() + direction * (self.step.years || 0),
-      month = self.activeDate.getMonth() + direction * (self.step.months || 0);
-    self.activeDate.setFullYear(year, month, 1);
-    self.refreshView();
-  };
-
-  $scope.toggleMode = function(direction) {
-    direction = direction || 1;
-
-    if (($scope.datepickerMode === self.maxMode && direction === 1) || ($scope.datepickerMode === self.minMode && direction === -1)) {
-      return;
-    }
-
-    $scope.datepickerMode = self.modes[self.modes.indexOf($scope.datepickerMode) + direction];
-  };
-
-  // Key event mapper
-  $scope.keys = { 13: 'enter', 32: 'space', 33: 'pageup', 34: 'pagedown', 35: 'end', 36: 'home', 37: 'left', 38: 'up', 39: 'right', 40: 'down' };
-
-  var focusElement = function() {
-    self.element[0].focus();
-  };
-
-  $scope.$on('uib:datepicker.focus', focusElement);
-
-  $scope.keydown = function(evt) {
-    var key = $scope.keys[evt.which];
-
-    if (!key || evt.shiftKey || evt.altKey) {
-      return;
-    }
-
-    evt.preventDefault();
-    if (!self.shortcutPropagation) {
-      evt.stopPropagation();
-    }
-
-    if (key === 'enter' || key === 'space') {
-      if (self.isDisabled(self.activeDate)) {
-        return; // do nothing
-      }
-      $scope.select(self.activeDate);
-    } else if (evt.ctrlKey && (key === 'up' || key === 'down')) {
-      $scope.toggleMode(key === 'up' ? 1 : -1);
-    } else {
-      self.handleKeyDown(key, evt);
-      self.refreshView();
-    }
-  };
-}])
-
-.directive('datepicker', ['$log', '$datepickerSuppressWarning', function($log, $datepickerSuppressWarning) {
-  return {
-    replace: true,
-    templateUrl: function(element, attrs) {
-      return attrs.templateUrl || 'template/datepicker/datepicker.html';
-    },
-    scope: {
-      datepickerMode: '=?',
-      dateDisabled: '&',
-      customClass: '&',
-      shortcutPropagation: '&?'
-    },
-    require: ['datepicker', '^ngModel'],
-    controller: 'DatepickerController',
-    controllerAs: 'datepicker',
-    link: function(scope, element, attrs, ctrls) {
-      if (!$datepickerSuppressWarning) {
-        $log.warn('datepicker is now deprecated. Use uib-datepicker instead.');
-      }
-
-      var datepickerCtrl = ctrls[0], ngModelCtrl = ctrls[1];
-
-      datepickerCtrl.init(ngModelCtrl);
-    }
-  };
-}])
-
-.directive('daypicker', ['$log', '$datepickerSuppressWarning', function($log, $datepickerSuppressWarning) {
-  return {
-    replace: true,
-    templateUrl: 'template/datepicker/day.html',
-    require: ['^datepicker', 'daypicker'],
-    controller: 'UibDaypickerController',
-    link: function(scope, element, attrs, ctrls) {
-      if (!$datepickerSuppressWarning) {
-        $log.warn('daypicker is now deprecated. Use uib-daypicker instead.');
-      }
-
-      var datepickerCtrl = ctrls[0],
-        daypickerCtrl = ctrls[1];
-
-      daypickerCtrl.init(datepickerCtrl);
-    }
-  };
-}])
-
-.directive('monthpicker', ['$log', '$datepickerSuppressWarning', function($log, $datepickerSuppressWarning) {
-  return {
-    replace: true,
-    templateUrl: 'template/datepicker/month.html',
-    require: ['^datepicker', 'monthpicker'],
-    controller: 'UibMonthpickerController',
-    link: function(scope, element, attrs, ctrls) {
-      if (!$datepickerSuppressWarning) {
-        $log.warn('monthpicker is now deprecated. Use uib-monthpicker instead.');
-      }
-
-      var datepickerCtrl = ctrls[0],
-        monthpickerCtrl = ctrls[1];
-
-      monthpickerCtrl.init(datepickerCtrl);
-    }
-  };
-}])
-
-.directive('yearpicker', ['$log', '$datepickerSuppressWarning', function($log, $datepickerSuppressWarning) {
-  return {
-    replace: true,
-    templateUrl: 'template/datepicker/year.html',
-    require: ['^datepicker', 'yearpicker'],
-    controller: 'UibYearpickerController',
-    link: function(scope, element, attrs, ctrls) {
-      if (!$datepickerSuppressWarning) {
-        $log.warn('yearpicker is now deprecated. Use uib-yearpicker instead.');
-      }
-
-      var ctrl = ctrls[0];
-      angular.extend(ctrl, ctrls[1]);
-      ctrl.yearpickerInit();
-
-      ctrl.refreshView();
-    }
-  };
-}])
-
-.directive('datepickerPopup', ['$log', '$datepickerSuppressWarning', function($log, $datepickerSuppressWarning) {
-  return {
-    require: ['ngModel', 'datepickerPopup'],
-    controller: 'UibDatepickerPopupController',
-    scope: {
-      isOpen: '=?',
-      currentText: '@',
-      clearText: '@',
-      closeText: '@',
-      dateDisabled: '&',
-      customClass: '&'
-    },
-    link: function(scope, element, attrs, ctrls) {
-      if (!$datepickerSuppressWarning) {
-        $log.warn('datepicker-popup is now deprecated. Use uib-datepicker-popup instead.');
-      }
-
-      var ngModel = ctrls[0],
-        ctrl = ctrls[1];
-
-      ctrl.init(ngModel);
-    }
-  };
-}])
-
-.directive('datepickerPopupWrap', ['$log', '$datepickerSuppressWarning', function($log, $datepickerSuppressWarning) {
-  return {
-    replace: true,
-    transclude: true,
-    templateUrl: function(element, attrs) {
-      return attrs.templateUrl || 'template/datepicker/popup.html';
-    },
-    link: function() {
-      if (!$datepickerSuppressWarning) {
-        $log.warn('datepicker-popup-wrap is now deprecated. Use uib-datepicker-popup-wrap instead.');
-      }
-    }
-  };
-}]);
+  }]);
 
 angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.position'])
 
 .constant('uibDropdownConfig', {
+  appendToOpenClass: 'uib-dropdown-open',
   openClass: 'open'
 })
 
@@ -2780,8 +2693,8 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.position'])
 
   this.open = function(dropdownScope) {
     if (!openScope) {
-      $document.bind('click', closeDropdown);
-      $document.bind('keydown', keybindFilter);
+      $document.on('click', closeDropdown);
+      $document.on('keydown', keybindFilter);
     }
 
     if (openScope && openScope !== dropdownScope) {
@@ -2794,8 +2707,8 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.position'])
   this.close = function(dropdownScope) {
     if (openScope === dropdownScope) {
       openScope = null;
-      $document.unbind('click', closeDropdown);
-      $document.unbind('keydown', keybindFilter);
+      $document.off('click', closeDropdown);
+      $document.off('keydown', keybindFilter);
     }
   };
 
@@ -2804,7 +2717,9 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.position'])
     // unbound this event handler. So check openScope before proceeding.
     if (!openScope) { return; }
 
-    if (evt && openScope.getAutoClose() === 'disabled')  { return ; }
+    if (evt && openScope.getAutoClose() === 'disabled') { return; }
+
+    if (evt && evt.which === 3) { return; }
 
     var toggleElement = openScope.getToggleElement();
     if (evt && toggleElement && toggleElement[0].contains(evt.target)) {
@@ -2828,7 +2743,7 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.position'])
     if (evt.which === 27) {
       openScope.focusToggleElement();
       closeDropdown();
-    } else if (openScope.isKeynavEnabled() && /(38|40)/.test(evt.which) && openScope.isOpen) {
+    } else if (openScope.isKeynavEnabled() && [38, 40].indexOf(evt.which) !== -1 && openScope.isOpen) {
       evt.preventDefault();
       evt.stopPropagation();
       openScope.focusDropdownEntry(evt.which);
@@ -2840,14 +2755,16 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.position'])
   var self = this,
     scope = $scope.$new(), // create a child scope so we are not polluting original one
     templateScope,
+    appendToOpenClass = dropdownConfig.appendToOpenClass,
     openClass = dropdownConfig.openClass,
     getIsOpen,
     setIsOpen = angular.noop,
     toggleInvoker = $attrs.onToggle ? $parse($attrs.onToggle) : angular.noop,
     appendToBody = false,
-    keynavEnabled =false,
-    selectedOption = null;
-
+    appendTo = null,
+    keynavEnabled = false,
+    selectedOption = null,
+    body = $document.find('body');
 
   $element.addClass('dropdown');
 
@@ -2861,11 +2778,22 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.position'])
       });
     }
 
+    if (angular.isDefined($attrs.dropdownAppendTo)) {
+      var appendToEl = $parse($attrs.dropdownAppendTo)(scope);
+      if (appendToEl) {
+        appendTo = angular.element(appendToEl);
+      }
+    }
+
     appendToBody = angular.isDefined($attrs.dropdownAppendToBody);
-    keynavEnabled = angular.isDefined($attrs.uibKeyboardNav);
+    keynavEnabled = angular.isDefined($attrs.keyboardNav);
 
-    if (appendToBody && self.dropdownMenu) {
-      $document.find('body').append(self.dropdownMenu);
+    if (appendToBody && !appendTo) {
+      appendTo = body;
+    }
+
+    if (appendTo && self.dropdownMenu) {
+      appendTo.append(self.dropdownMenu);
       $element.on('$destroy', function handleDestroyEvent() {
         self.dropdownMenu.remove();
       });
@@ -2899,21 +2827,21 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.position'])
 
   scope.focusDropdownEntry = function(keyCode) {
     var elems = self.dropdownMenu ? //If append to body is used.
-      (angular.element(self.dropdownMenu).find('a')) :
-      (angular.element($element).find('ul').eq(0).find('a'));
+      angular.element(self.dropdownMenu).find('a') :
+      $element.find('ul').eq(0).find('a');
 
     switch (keyCode) {
-      case (40): {
+      case 40: {
         if (!angular.isNumber(self.selectedOption)) {
           self.selectedOption = 0;
         } else {
-          self.selectedOption = (self.selectedOption === elems.length - 1 ?
+          self.selectedOption = self.selectedOption === elems.length - 1 ?
             self.selectedOption :
-            self.selectedOption + 1);
+            self.selectedOption + 1;
         }
         break;
       }
-      case (38): {
+      case 38: {
         if (!angular.isNumber(self.selectedOption)) {
           self.selectedOption = elems.length - 1;
         } else {
@@ -2937,26 +2865,47 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.position'])
   };
 
   scope.$watch('isOpen', function(isOpen, wasOpen) {
-    if (appendToBody && self.dropdownMenu) {
-      var pos = $position.positionElements($element, self.dropdownMenu, 'bottom-left', true);
-      var css = {
+    if (appendTo && self.dropdownMenu) {
+      var pos = $position.positionElements($element, self.dropdownMenu, 'bottom-left', true),
+        css,
+        rightalign;
+
+      css = {
         top: pos.top + 'px',
         display: isOpen ? 'block' : 'none'
       };
 
-      var rightalign = self.dropdownMenu.hasClass('dropdown-menu-right');
+      rightalign = self.dropdownMenu.hasClass('dropdown-menu-right');
       if (!rightalign) {
         css.left = pos.left + 'px';
         css.right = 'auto';
       } else {
         css.left = 'auto';
-        css.right = (window.innerWidth - (pos.left + $element.prop('offsetWidth'))) + 'px';
+        css.right = window.innerWidth -
+          (pos.left + $element.prop('offsetWidth')) + 'px';
+      }
+
+      // Need to adjust our positioning to be relative to the appendTo container
+      // if it's not the body element
+      if (!appendToBody) {
+        var appendOffset = $position.offset(appendTo);
+
+        css.top = pos.top - appendOffset.top + 'px';
+
+        if (!rightalign) {
+          css.left = pos.left - appendOffset.left + 'px';
+        } else {
+          css.right = window.innerWidth -
+            (pos.left - appendOffset.left + $element.prop('offsetWidth')) + 'px';
+        }
       }
 
       self.dropdownMenu.css(css);
     }
 
-    $animate[isOpen ? 'addClass' : 'removeClass']($element, openClass).then(function() {
+    var openContainer = appendTo ? appendTo : $element;
+
+    $animate[isOpen ? 'addClass' : 'removeClass'](openContainer, appendTo ? appendToOpenClass : openClass).then(function() {
       if (angular.isDefined(isOpen) && isOpen !== wasOpen) {
         toggleInvoker($scope, { open: !!isOpen });
       }
@@ -3000,11 +2949,6 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.position'])
       scope.isOpen = false;
     }
   });
-
-  var offDestroy = $scope.$on('$destroy', function() {
-    scope.$destroy();
-  });
-  scope.$on('$destroy', offDestroy);
 }])
 
 .directive('uibDropdown', function() {
@@ -3018,7 +2962,7 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.position'])
 
 .directive('uibDropdownMenu', function() {
   return {
-    restrict: 'AC',
+    restrict: 'A',
     require: '?^uibDropdown',
     link: function(scope, element, attrs, dropdownCtrl) {
       if (!dropdownCtrl || angular.isDefined(attrs.dropdownNested)) {
@@ -3039,45 +2983,6 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.position'])
   };
 })
 
-.directive('uibKeyboardNav', function() {
-  return {
-    restrict: 'A',
-    require: '?^uibDropdown',
-    link: function(scope, element, attrs, dropdownCtrl) {
-      element.bind('keydown', function(e) {
-        if ([38, 40].indexOf(e.which) !== -1) {
-          e.preventDefault();
-          e.stopPropagation();
-
-          var elems = dropdownCtrl.dropdownMenu.find('a');
-
-          switch (e.which) {
-            case (40): { // Down
-              if (!angular.isNumber(dropdownCtrl.selectedOption)) {
-                dropdownCtrl.selectedOption = 0;
-              } else {
-                dropdownCtrl.selectedOption = dropdownCtrl.selectedOption === elems.length -1 ?
-                  dropdownCtrl.selectedOption : dropdownCtrl.selectedOption + 1;
-              }
-              break;
-            }
-            case (38): { // Up
-              if (!angular.isNumber(dropdownCtrl.selectedOption)) {
-                dropdownCtrl.selectedOption = elems.length - 1;
-              } else {
-                dropdownCtrl.selectedOption = dropdownCtrl.selectedOption === 0 ?
-                  0 : dropdownCtrl.selectedOption - 1;
-              }
-              break;
-            }
-          }
-          elems[dropdownCtrl.selectedOption].focus();
-        }
-      });
-    }
-  };
-})
-
 .directive('uibDropdownToggle', function() {
   return {
     require: '?^uibDropdown',
@@ -3115,319 +3020,6 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.position'])
   };
 });
 
-/* Deprecated dropdown below */
-
-angular.module('ui.bootstrap.dropdown')
-
-.value('$dropdownSuppressWarning', false)
-
-.service('dropdownService', ['$log', '$dropdownSuppressWarning', 'uibDropdownService', function($log, $dropdownSuppressWarning, uibDropdownService) {
-  if (!$dropdownSuppressWarning) {
-    $log.warn('dropdownService is now deprecated. Use uibDropdownService instead.');
-  }
-
-  angular.extend(this, uibDropdownService);
-}])
-
-.controller('DropdownController', ['$scope', '$element', '$attrs', '$parse', 'uibDropdownConfig', 'uibDropdownService', '$animate', '$uibPosition', '$document', '$compile', '$templateRequest', '$log', '$dropdownSuppressWarning', function($scope, $element, $attrs, $parse, dropdownConfig, uibDropdownService, $animate, $position, $document, $compile, $templateRequest, $log, $dropdownSuppressWarning) {
-  if (!$dropdownSuppressWarning) {
-    $log.warn('DropdownController is now deprecated. Use UibDropdownController instead.');
-  }
-
-  var self = this,
-    scope = $scope.$new(), // create a child scope so we are not polluting original one
-    templateScope,
-    openClass = dropdownConfig.openClass,
-    getIsOpen,
-    setIsOpen = angular.noop,
-    toggleInvoker = $attrs.onToggle ? $parse($attrs.onToggle) : angular.noop,
-    appendToBody = false,
-    keynavEnabled =false,
-    selectedOption = null;
-
-
-  $element.addClass('dropdown');
-
-  this.init = function() {
-    if ($attrs.isOpen) {
-      getIsOpen = $parse($attrs.isOpen);
-      setIsOpen = getIsOpen.assign;
-
-      $scope.$watch(getIsOpen, function(value) {
-        scope.isOpen = !!value;
-      });
-    }
-
-    appendToBody = angular.isDefined($attrs.dropdownAppendToBody);
-    keynavEnabled = angular.isDefined($attrs.uibKeyboardNav);
-
-    if (appendToBody && self.dropdownMenu) {
-      $document.find('body').append(self.dropdownMenu);
-      $element.on('$destroy', function handleDestroyEvent() {
-        self.dropdownMenu.remove();
-      });
-    }
-  };
-
-  this.toggle = function(open) {
-    return scope.isOpen = arguments.length ? !!open : !scope.isOpen;
-  };
-
-  // Allow other directives to watch status
-  this.isOpen = function() {
-    return scope.isOpen;
-  };
-
-  scope.getToggleElement = function() {
-    return self.toggleElement;
-  };
-
-  scope.getAutoClose = function() {
-    return $attrs.autoClose || 'always'; //or 'outsideClick' or 'disabled'
-  };
-
-  scope.getElement = function() {
-    return $element;
-  };
-
-  scope.isKeynavEnabled = function() {
-    return keynavEnabled;
-  };
-
-  scope.focusDropdownEntry = function(keyCode) {
-    var elems = self.dropdownMenu ? //If append to body is used.
-      (angular.element(self.dropdownMenu).find('a')) :
-      (angular.element($element).find('ul').eq(0).find('a'));
-
-    switch (keyCode) {
-      case (40): {
-        if (!angular.isNumber(self.selectedOption)) {
-          self.selectedOption = 0;
-        } else {
-          self.selectedOption = (self.selectedOption === elems.length -1 ?
-            self.selectedOption :
-          self.selectedOption + 1);
-        }
-        break;
-      }
-      case (38): {
-        if (!angular.isNumber(self.selectedOption)) {
-          self.selectedOption = elems.length - 1;
-        } else {
-          self.selectedOption = self.selectedOption === 0 ?
-            0 : self.selectedOption - 1;
-        }
-        break;
-      }
-    }
-    elems[self.selectedOption].focus();
-  };
-
-  scope.getDropdownElement = function() {
-    return self.dropdownMenu;
-  };
-
-  scope.focusToggleElement = function() {
-    if (self.toggleElement) {
-      self.toggleElement[0].focus();
-    }
-  };
-
-  scope.$watch('isOpen', function(isOpen, wasOpen) {
-    if (appendToBody && self.dropdownMenu) {
-      var pos = $position.positionElements($element, self.dropdownMenu, 'bottom-left', true);
-      var css = {
-        top: pos.top + 'px',
-        display: isOpen ? 'block' : 'none'
-      };
-
-      var rightalign = self.dropdownMenu.hasClass('dropdown-menu-right');
-      if (!rightalign) {
-        css.left = pos.left + 'px';
-        css.right = 'auto';
-      } else {
-        css.left = 'auto';
-        css.right = (window.innerWidth - (pos.left + $element.prop('offsetWidth'))) + 'px';
-      }
-
-      self.dropdownMenu.css(css);
-    }
-
-    $animate[isOpen ? 'addClass' : 'removeClass']($element, openClass).then(function() {
-      if (angular.isDefined(isOpen) && isOpen !== wasOpen) {
-        toggleInvoker($scope, { open: !!isOpen });
-      }
-    });
-
-    if (isOpen) {
-      if (self.dropdownMenuTemplateUrl) {
-        $templateRequest(self.dropdownMenuTemplateUrl).then(function(tplContent) {
-          templateScope = scope.$new();
-          $compile(tplContent.trim())(templateScope, function(dropdownElement) {
-            var newEl = dropdownElement;
-            self.dropdownMenu.replaceWith(newEl);
-            self.dropdownMenu = newEl;
-          });
-        });
-      }
-
-      scope.focusToggleElement();
-      uibDropdownService.open(scope);
-    } else {
-      if (self.dropdownMenuTemplateUrl) {
-        if (templateScope) {
-          templateScope.$destroy();
-        }
-        var newEl = angular.element('<ul class="dropdown-menu"></ul>');
-        self.dropdownMenu.replaceWith(newEl);
-        self.dropdownMenu = newEl;
-      }
-
-      uibDropdownService.close(scope);
-      self.selectedOption = null;
-    }
-
-    if (angular.isFunction(setIsOpen)) {
-      setIsOpen($scope, isOpen);
-    }
-  });
-
-  $scope.$on('$locationChangeSuccess', function() {
-    if (scope.getAutoClose() !== 'disabled') {
-      scope.isOpen = false;
-    }
-  });
-
-  var offDestroy = $scope.$on('$destroy', function() {
-    scope.$destroy();
-  });
-  scope.$on('$destroy', offDestroy);
-}])
-
-.directive('dropdown', ['$log', '$dropdownSuppressWarning', function($log, $dropdownSuppressWarning) {
-  return {
-    controller: 'DropdownController',
-    link: function(scope, element, attrs, dropdownCtrl) {
-      if (!$dropdownSuppressWarning) {
-        $log.warn('dropdown is now deprecated. Use uib-dropdown instead.');
-      }
-
-      dropdownCtrl.init();
-    }
-  };
-}])
-
-.directive('dropdownMenu', ['$log', '$dropdownSuppressWarning', function($log, $dropdownSuppressWarning) {
-  return {
-    restrict: 'AC',
-    require: '?^dropdown',
-    link: function(scope, element, attrs, dropdownCtrl) {
-      if (!dropdownCtrl || angular.isDefined(attrs.dropdownNested)) {
-        return;
-      }
-
-      if (!$dropdownSuppressWarning) {
-        $log.warn('dropdown-menu is now deprecated. Use uib-dropdown-menu instead.');
-      }
-
-      element.addClass('dropdown-menu');
-
-      var tplUrl = attrs.templateUrl;
-      if (tplUrl) {
-        dropdownCtrl.dropdownMenuTemplateUrl = tplUrl;
-      }
-
-      if (!dropdownCtrl.dropdownMenu) {
-        dropdownCtrl.dropdownMenu = element;
-      }
-    }
-  };
-}])
-
-.directive('keyboardNav', ['$log', '$dropdownSuppressWarning', function($log, $dropdownSuppressWarning) {
-  return {
-    restrict: 'A',
-    require: '?^dropdown',
-    link: function(scope, element, attrs, dropdownCtrl) {
-      if (!$dropdownSuppressWarning) {
-        $log.warn('keyboard-nav is now deprecated. Use uib-keyboard-nav instead.');
-      }
-
-      element.bind('keydown', function(e) {
-        if ([38, 40].indexOf(e.which) !== -1) {
-          e.preventDefault();
-          e.stopPropagation();
-
-          var elems = dropdownCtrl.dropdownMenu.find('a');
-
-          switch (e.which) {
-            case (40): { // Down
-              if (!angular.isNumber(dropdownCtrl.selectedOption)) {
-                dropdownCtrl.selectedOption = 0;
-              } else {
-                dropdownCtrl.selectedOption = dropdownCtrl.selectedOption === elems.length -1 ?
-                  dropdownCtrl.selectedOption : dropdownCtrl.selectedOption + 1;
-              }
-              break;
-            }
-            case (38): { // Up
-              if (!angular.isNumber(dropdownCtrl.selectedOption)) {
-                dropdownCtrl.selectedOption = elems.length - 1;
-              } else {
-                dropdownCtrl.selectedOption = dropdownCtrl.selectedOption === 0 ?
-                  0 : dropdownCtrl.selectedOption - 1;
-              }
-              break;
-            }
-          }
-          elems[dropdownCtrl.selectedOption].focus();
-        }
-      });
-    }
-  };
-}])
-
-.directive('dropdownToggle', ['$log', '$dropdownSuppressWarning', function($log, $dropdownSuppressWarning) {
-  return {
-    require: '?^dropdown',
-    link: function(scope, element, attrs, dropdownCtrl) {
-      if (!$dropdownSuppressWarning) {
-        $log.warn('dropdown-toggle is now deprecated. Use uib-dropdown-toggle instead.');
-      }
-
-      if (!dropdownCtrl) {
-        return;
-      }
-
-      element.addClass('dropdown-toggle');
-
-      dropdownCtrl.toggleElement = element;
-
-      var toggleDropdown = function(event) {
-        event.preventDefault();
-
-        if (!element.hasClass('disabled') && !attrs.disabled) {
-          scope.$apply(function() {
-            dropdownCtrl.toggle();
-          });
-        }
-      };
-
-      element.bind('click', toggleDropdown);
-
-      // WAI-ARIA
-      element.attr({ 'aria-haspopup': true, 'aria-expanded': false });
-      scope.$watch(dropdownCtrl.isOpen, function(isOpen) {
-        element.attr('aria-expanded', !!isOpen);
-      });
-
-      scope.$on('$destroy', function() {
-        element.unbind('click', toggleDropdown);
-      });
-    }
-  };
-}]);
-
 angular.module('ui.bootstrap.stackedMap', [])
 /**
  * A helper, internal data structure that acts as a map but also allows getting / removing
@@ -3447,7 +3039,7 @@ angular.module('ui.bootstrap.stackedMap', [])
           },
           get: function(key) {
             for (var i = 0; i < stack.length; i++) {
-              if (key == stack[i].key) {
+              if (key === stack[i].key) {
                 return stack[i];
               }
             }
@@ -3465,7 +3057,7 @@ angular.module('ui.bootstrap.stackedMap', [])
           remove: function(key) {
             var idx = -1;
             for (var i = 0; i < stack.length; i++) {
-              if (key == stack[i].key) {
+              if (key === stack[i].key) {
                 idx = i;
                 break;
               }
@@ -3539,20 +3131,59 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
   })
 
 /**
- * A helper directive for the $modal service. It creates a backdrop element.
+ * Pluggable resolve mechanism for the modal resolve resolution
+ * Supports UI Router's $resolve service
  */
-  .directive('uibModalBackdrop', [
-           '$animate', '$injector', '$uibModalStack',
-  function($animate ,  $injector,   $modalStack) {
-    var $animateCss = null;
+  .provider('$uibResolve', function() {
+    var resolve = this;
+    this.resolver = null;
 
-    if ($injector.has('$animateCss')) {
-      $animateCss = $injector.get('$animateCss');
-    }
+    this.setResolver = function(resolver) {
+      this.resolver = resolver;
+    };
+
+    this.$get = ['$injector', '$q', function($injector, $q) {
+      var resolver = resolve.resolver ? $injector.get(resolve.resolver) : null;
+      return {
+        resolve: function(invocables, locals, parent, self) {
+          if (resolver) {
+            return resolver.resolve(invocables, locals, parent, self);
+          }
+
+          var promises = [];
+
+          angular.forEach(invocables, function(value) {
+            if (angular.isFunction(value) || angular.isArray(value)) {
+              promises.push($q.resolve($injector.invoke(value)));
+            } else if (angular.isString(value)) {
+              promises.push($q.resolve($injector.get(value)));
+            } else {
+              promises.push($q.resolve(value));
+            }
+          });
+
+          return $q.all(promises).then(function(resolves) {
+            var resolveObj = {};
+            var resolveIter = 0;
+            angular.forEach(invocables, function(value, key) {
+              resolveObj[key] = resolves[resolveIter++];
+            });
+
+            return resolveObj;
+          });
+        }
+      };
+    }];
+  })
 
+/**
+ * A helper directive for the $modal service. It creates a backdrop element.
+ */
+  .directive('uibModalBackdrop', ['$animateCss', '$injector', '$uibModalStack',
+  function($animateCss, $injector, $modalStack) {
     return {
       replace: true,
-      templateUrl: 'template/modal/backdrop.html',
+      templateUrl: 'uib/template/modal/backdrop.html',
       compile: function(tElement, tAttrs) {
         tElement.addClass(tAttrs.backdropClass);
         return linkFn;
@@ -3560,41 +3191,27 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
     };
 
     function linkFn(scope, element, attrs) {
-      // Temporary fix for prefixing
-      element.addClass('modal-backdrop');
-
       if (attrs.modalInClass) {
-        if ($animateCss) {
-          $animateCss(element, {
-            addClass: attrs.modalInClass
-          }).start();
-        } else {
-          $animate.addClass(element, attrs.modalInClass);
-        }
+        $animateCss(element, {
+          addClass: attrs.modalInClass
+        }).start();
 
         scope.$on($modalStack.NOW_CLOSING_EVENT, function(e, setIsAsync) {
           var done = setIsAsync();
-          if ($animateCss) {
+          if (scope.modalOptions.animation) {
             $animateCss(element, {
               removeClass: attrs.modalInClass
             }).start().then(done);
           } else {
-            $animate.removeClass(element, attrs.modalInClass).then(done);
+            done();
           }
         });
       }
     }
   }])
 
-  .directive('uibModalWindow', [
-           '$uibModalStack', '$q', '$animate', '$injector',
-  function($modalStack ,  $q ,  $animate,   $injector) {
-    var $animateCss = null;
-
-    if ($injector.has('$animateCss')) {
-      $animateCss = $injector.get('$animateCss');
-    }
-
+  .directive('uibModalWindow', ['$uibModalStack', '$q', '$animate', '$animateCss', '$document',
+  function($modalStack, $q, $animate, $animateCss, $document) {
     return {
       scope: {
         index: '@'
@@ -3602,7 +3219,7 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
       replace: true,
       transclude: true,
       templateUrl: function(tElement, tAttrs) {
-        return tAttrs.templateUrl || 'template/modal/window.html';
+        return tAttrs.templateUrl || 'uib/template/modal/window.html';
       },
       link: function(scope, element, attrs) {
         element.addClass(attrs.windowClass || '');
@@ -3611,7 +3228,9 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
 
         scope.close = function(evt) {
           var modal = $modalStack.getTop();
-          if (modal && modal.value.backdrop && modal.value.backdrop !== 'static' && (evt.target === evt.currentTarget)) {
+          if (modal && modal.value.backdrop &&
+            modal.value.backdrop !== 'static' &&
+            evt.target === evt.currentTarget) {
             evt.preventDefault();
             evt.stopPropagation();
             $modalStack.dismiss(modal.key, 'backdrop click');
@@ -3631,7 +3250,7 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
         // Observe function will be called on next digest cycle after compilation, ensuring that the DOM is ready.
         // In order to use this way of finding whether DOM is ready, we need to observe a scope property used in modal's template.
         attrs.$observe('modalRender', function(value) {
-          if (value == 'true') {
+          if (value === 'true') {
             modalRenderDeferObj.resolve();
           }
         });
@@ -3640,13 +3259,9 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
           var animationPromise = null;
 
           if (attrs.modalInClass) {
-            if ($animateCss) {
-              animationPromise = $animateCss(element, {
-                addClass: attrs.modalInClass
-              }).start();
-            } else {
-              animationPromise = $animate.addClass(element, attrs.modalInClass);
-            }
+            animationPromise = $animateCss(element, {
+              addClass: attrs.modalInClass
+            }).start();
 
             scope.$on($modalStack.NOW_CLOSING_EVENT, function(e, setIsAsync) {
               var done = setIsAsync();
@@ -3662,19 +3277,25 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
 
 
           $q.when(animationPromise).then(function() {
-            var inputWithAutofocus = element[0].querySelector('[autofocus]');
             /**
-             * Auto-focusing of a freshly-opened modal element causes any child elements
-             * with the autofocus attribute to lose focus. This is an issue on touch
-             * based devices which will show and then hide the onscreen keyboard.
-             * Attempts to refocus the autofocus element via JavaScript will not reopen
-             * the onscreen keyboard. Fixed by updated the focusing logic to only autofocus
-             * the modal element if the modal does not contain an autofocus element.
+             * If something within the freshly-opened modal already has focus (perhaps via a
+             * directive that causes focus). then no need to try and focus anything.
              */
-            if (inputWithAutofocus) {
-              inputWithAutofocus.focus();
-            } else {
-              element[0].focus();
+            if (!($document[0].activeElement && element[0].contains($document[0].activeElement))) {
+              var inputWithAutofocus = element[0].querySelector('[autofocus]');
+              /**
+               * Auto-focusing of a freshly-opened modal element causes any child elements
+               * with the autofocus attribute to lose focus. This is an issue on touch
+               * based devices which will show and then hide the onscreen keyboard.
+               * Attempts to refocus the autofocus element via JavaScript will not reopen
+               * the onscreen keyboard. Fixed by updated the focusing logic to only autofocus
+               * the modal element if the modal does not contain an autofocus element.
+               */
+              if (inputWithAutofocus) {
+                inputWithAutofocus.focus();
+              } else {
+                element[0].focus();
+              }
             }
           });
 
@@ -3700,32 +3321,18 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
 
   .directive('uibModalTransclude', function() {
     return {
-      link: function($scope, $element, $attrs, controller, $transclude) {
-        $transclude($scope.$parent, function(clone) {
-          $element.empty();
-          $element.append(clone);
+      link: function(scope, element, attrs, controller, transclude) {
+        transclude(scope.$parent, function(clone) {
+          element.empty();
+          element.append(clone);
         });
       }
     };
   })
 
-  .factory('$uibModalStack', [
-             '$animate', '$timeout', '$document', '$compile', '$rootScope',
-             '$q',
-             '$injector',
-             '$$multiMap',
-             '$$stackedMap',
-    function($animate ,  $timeout ,  $document ,  $compile ,  $rootScope ,
-              $q,
-              $injector,
-              $$multiMap,
-              $$stackedMap) {
-      var $animateCss = null;
-
-      if ($injector.has('$animateCss')) {
-        $animateCss = $injector.get('$animateCss');
-      }
-
+  .factory('$uibModalStack', ['$animate', '$animateCss', '$document',
+    '$compile', '$rootScope', '$q', '$$multiMap', '$$stackedMap',
+    function($animate, $animateCss, $document, $compile, $rootScope, $q, $$multiMap, $$stackedMap) {
       var OPENED_MODAL_CLASS = 'modal-open';
 
       var backdropDomEl, backdropScope;
@@ -3760,8 +3367,8 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
       });
 
       function removeModalWindow(modalInstance, elementToReceiveFocus) {
-        var body = $document.find('body').eq(0);
         var modalWindow = openedWindows.get(modalInstance).value;
+        var appendToElement = modalWindow.appendTo;
 
         //clean up the stack
         openedWindows.remove(modalInstance);
@@ -3769,7 +3376,7 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
         removeAfterAnimate(modalWindow.modalDomEl, modalWindow.modalScope, function() {
           var modalBodyClass = modalWindow.openedClass || OPENED_MODAL_CLASS;
           openedClasses.remove(modalBodyClass, modalInstance);
-          body.toggleClass(modalBodyClass, openedClasses.hasKey(modalBodyClass));
+          appendToElement.toggleClass(modalBodyClass, openedClasses.hasKey(modalBodyClass));
           toggleTopWindowClass(true);
         });
         checkRemoveBackdrop();
@@ -3777,8 +3384,8 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
         //move focus to specified element if available, or else to body
         if (elementToReceiveFocus && elementToReceiveFocus.focus) {
           elementToReceiveFocus.focus();
-        } else {
-          body.focus();
+        } else if (appendToElement.focus) {
+          appendToElement.focus();
         }
       }
 
@@ -3794,7 +3401,7 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
 
       function checkRemoveBackdrop() {
         //remove backdrop if no longer needed
-        if (backdropDomEl && backdropIndex() == -1) {
+        if (backdropDomEl && backdropIndex() === -1) {
           var backdropScopeRef = backdropScope;
           removeAfterAnimate(backdropDomEl, backdropScope, function() {
             backdropScopeRef = null;
@@ -3804,7 +3411,7 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
         }
       }
 
-      function removeAfterAnimate(domEl, scope, done) {
+      function removeAfterAnimate(domEl, scope, done, closedDeferred) {
         var asyncDeferred;
         var asyncPromise = null;
         var setIsAsync = function() {
@@ -3830,15 +3437,15 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
           }
           afterAnimating.done = true;
 
-          if ($animateCss) {
-            $animateCss(domEl, {
-              event: 'leave'
-            }).start().then(function() {
-              domEl.remove();
-            });
-          } else {
-            $animate.leave(domEl);
-          }
+          $animateCss(domEl, {
+            event: 'leave'
+          }).start().then(function() {
+            domEl.remove();
+            if (closedDeferred) {
+              closedDeferred.resolve();
+            }
+          });
+
           scope.$destroy();
           if (done) {
             done();
@@ -3846,19 +3453,27 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
         }
       }
 
-      $document.bind('keydown', function(evt) {
+      $document.on('keydown', keydownListener);
+
+      $rootScope.$on('$destroy', function() {
+        $document.off('keydown', keydownListener);
+      });
+
+      function keydownListener(evt) {
         if (evt.isDefaultPrevented()) {
           return evt;
         }
 
         var modal = openedWindows.top();
-        if (modal && modal.value.keyboard) {
+        if (modal) {
           switch (evt.which) {
             case 27: {
-              evt.preventDefault();
-              $rootScope.$apply(function() {
-                $modalStack.dismiss(modal.key, 'escape key press');
-              });
+              if (modal.value.keyboard) {
+                evt.preventDefault();
+                $rootScope.$apply(function() {
+                  $modalStack.dismiss(modal.key, 'escape key press');
+                });
+              }
               break;
             }
             case 9: {
@@ -3882,7 +3497,7 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
             }
           }
         }
-      });
+      }
 
       $modalStack.open = function(modalInstance, modal) {
         var modalOpener = $document[0].activeElement,
@@ -3893,28 +3508,36 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
         openedWindows.add(modalInstance, {
           deferred: modal.deferred,
           renderDeferred: modal.renderDeferred,
+          closedDeferred: modal.closedDeferred,
           modalScope: modal.scope,
           backdrop: modal.backdrop,
           keyboard: modal.keyboard,
           openedClass: modal.openedClass,
-          windowTopClass: modal.windowTopClass
+          windowTopClass: modal.windowTopClass,
+          animation: modal.animation,
+          appendTo: modal.appendTo
         });
 
         openedClasses.put(modalBodyClass, modalInstance);
 
-        var body = $document.find('body').eq(0),
+        var appendToElement = modal.appendTo,
             currBackdropIndex = backdropIndex();
 
+        if (!appendToElement.length) {
+          throw new Error('appendTo element not found. Make sure that the element passed is in DOM.');
+        }
+
         if (currBackdropIndex >= 0 && !backdropDomEl) {
           backdropScope = $rootScope.$new(true);
+          backdropScope.modalOptions = modal;
           backdropScope.index = currBackdropIndex;
-          var angularBackgroundDomEl = angular.element('<div uib-modal-backdrop="modal-backdrop"></div>');
-          angularBackgroundDomEl.attr('backdrop-class', modal.backdropClass);
+          backdropDomEl = angular.element('<div uib-modal-backdrop="modal-backdrop"></div>');
+          backdropDomEl.attr('backdrop-class', modal.backdropClass);
           if (modal.animation) {
-            angularBackgroundDomEl.attr('modal-animation', 'true');
+            backdropDomEl.attr('modal-animation', 'true');
           }
-          backdropDomEl = $compile(angularBackgroundDomEl)(backdropScope);
-          body.append(backdropDomEl);
+          $compile(backdropDomEl)(backdropScope);
+          $animate.enter(backdropDomEl, appendToElement);
         }
 
         var angularDomEl = angular.element('<div uib-modal-window="modal-window"></div>');
@@ -3930,11 +3553,14 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
           angularDomEl.attr('modal-animation', 'true');
         }
 
-        var modalDomEl = $compile(angularDomEl)(modal.scope);
-        openedWindows.top().value.modalDomEl = modalDomEl;
+        $animate.enter(angularDomEl, appendToElement)
+          .then(function() {
+            $compile(angularDomEl)(modal.scope);
+            $animate.addClass(appendToElement, modalBodyClass);
+          });
+
+        openedWindows.top().value.modalDomEl = angularDomEl;
         openedWindows.top().value.modalOpener = modalOpener;
-        body.append(modalDomEl);
-        body.addClass(modalBodyClass);
 
         $modalStack.clearFocusListCache();
       };
@@ -4000,14 +3626,14 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
 
       $modalStack.isFocusInFirstItem = function(evt) {
         if (focusableElementList.length > 0) {
-          return (evt.target || evt.srcElement) == focusableElementList[0];
+          return (evt.target || evt.srcElement) === focusableElementList[0];
         }
         return false;
       };
 
       $modalStack.isFocusInLastItem = function(evt) {
         if (focusableElementList.length > 0) {
-          return (evt.target || evt.srcElement) == focusableElementList[focusableElementList.length - 1];
+          return (evt.target || evt.srcElement) === focusableElementList[focusableElementList.length - 1];
         }
         return false;
       };
@@ -4038,27 +3664,14 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
         backdrop: true, //can also be false or 'static'
         keyboard: true
       },
-      $get: ['$injector', '$rootScope', '$q', '$templateRequest', '$controller', '$uibModalStack', '$modalSuppressWarning', '$log',
-        function ($injector, $rootScope, $q, $templateRequest, $controller, $modalStack, $modalSuppressWarning, $log) {
+      $get: ['$rootScope', '$q', '$document', '$templateRequest', '$controller', '$uibResolve', '$uibModalStack',
+        function ($rootScope, $q, $document, $templateRequest, $controller, $uibResolve, $modalStack) {
           var $modal = {};
 
           function getTemplatePromise(options) {
             return options.template ? $q.when(options.template) :
-              $templateRequest(angular.isFunction(options.templateUrl) ? (options.templateUrl)() : options.templateUrl);
-          }
-
-          function getResolvePromises(resolves) {
-            var promisesArr = [];
-            angular.forEach(resolves, function(value) {
-              if (angular.isFunction(value) || angular.isArray(value)) {
-                promisesArr.push($q.when($injector.invoke(value)));
-              } else if (angular.isString(value)) {
-                promisesArr.push($q.when($injector.get(value)));
-              } else {
-                promisesArr.push($q.when(value));
-              }
-            });
-            return promisesArr;
+              $templateRequest(angular.isFunction(options.templateUrl) ?
+                options.templateUrl() : options.templateUrl);
           }
 
           var promiseChain = null;
@@ -4069,12 +3682,14 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
           $modal.open = function(modalOptions) {
             var modalResultDeferred = $q.defer();
             var modalOpenedDeferred = $q.defer();
+            var modalClosedDeferred = $q.defer();
             var modalRenderDeferred = $q.defer();
 
             //prepare an instance of a modal to be injected into controllers and returned to a caller
             var modalInstance = {
               result: modalResultDeferred.promise,
               opened: modalOpenedDeferred.promise,
+              closed: modalClosedDeferred.promise,
               rendered: modalRenderDeferred.promise,
               close: function (result) {
                 return $modalStack.close(modalInstance, result);
@@ -4087,6 +3702,7 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
             //merge and clean up options
             modalOptions = angular.extend({}, $modalProvider.options, modalOptions);
             modalOptions.resolve = modalOptions.resolve || {};
+            modalOptions.appendTo = modalOptions.appendTo || $document.find('body').eq(0);
 
             //verify options
             if (!modalOptions.template && !modalOptions.templateUrl) {
@@ -4094,7 +3710,7 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
             }
 
             var templateAndResolvePromise =
-              $q.all([getTemplatePromise(modalOptions)].concat(getResolvePromises(modalOptions.resolve)));
+              $q.all([getTemplatePromise(modalOptions), $uibResolve.resolve(modalOptions.resolve, {}, null, null)]);
 
             function resolveWithTemplate() {
               return templateAndResolvePromise;
@@ -4108,8 +3724,9 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
             samePromise = promiseChain = $q.all([promiseChain])
               .then(resolveWithTemplate, resolveWithTemplate)
               .then(function resolveSuccess(tplAndVars) {
+                var providedScope = modalOptions.scope || $rootScope;
 
-                var modalScope = (modalOptions.scope || $rootScope).$new();
+                var modalScope = providedScope.$new();
                 modalScope.$close = modalInstance.close;
                 modalScope.$dismiss = modalInstance.dismiss;
 
@@ -4120,29 +3737,21 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
                 });
 
                 var ctrlInstance, ctrlLocals = {};
-                var resolveIter = 1;
 
                 //controllers
                 if (modalOptions.controller) {
                   ctrlLocals.$scope = modalScope;
                   ctrlLocals.$uibModalInstance = modalInstance;
-                  Object.defineProperty(ctrlLocals, '$modalInstance', {
-                    get: function() {
-                      if (!$modalSuppressWarning) {
-                        $log.warn('$modalInstance is now deprecated. Use $uibModalInstance instead.');
-                      }
-
-                      return modalInstance;
-                    }
-                  });
-                  angular.forEach(modalOptions.resolve, function(value, key) {
-                    ctrlLocals[key] = tplAndVars[resolveIter++];
+                  angular.forEach(tplAndVars[1], function(value, key) {
+                    ctrlLocals[key] = value;
                   });
 
                   ctrlInstance = $controller(modalOptions.controller, ctrlLocals);
                   if (modalOptions.controllerAs) {
                     if (modalOptions.bindToController) {
-                      angular.extend(ctrlInstance, modalScope);
+                      ctrlInstance.$close = modalScope.$close;
+                      ctrlInstance.$dismiss = modalScope.$dismiss;
+                      angular.extend(ctrlInstance, providedScope);
                     }
 
                     modalScope[modalOptions.controllerAs] = ctrlInstance;
@@ -4153,6 +3762,7 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
                   scope: modalScope,
                   deferred: modalResultDeferred,
                   renderDeferred: modalRenderDeferred,
+                  closedDeferred: modalClosedDeferred,
                   content: tplAndVars[0],
                   animation: modalOptions.animation,
                   backdrop: modalOptions.backdrop,
@@ -4162,15 +3772,15 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
                   windowClass: modalOptions.windowClass,
                   windowTemplateUrl: modalOptions.windowTemplateUrl,
                   size: modalOptions.size,
-                  openedClass: modalOptions.openedClass
+                  openedClass: modalOptions.openedClass,
+                  appendTo: modalOptions.appendTo
                 });
                 modalOpenedDeferred.resolve(true);
 
             }, function resolveError(reason) {
               modalOpenedDeferred.reject(reason);
               modalResultDeferred.reject(reason);
-            })
-            .finally(function() {
+            })['finally'](function() {
               if (promiseChain === samePromise) {
                 promiseChain = null;
               }
@@ -4187,429 +3797,98 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
     return $modalProvider;
   });
 
-/* deprecated modal below */
-
-angular.module('ui.bootstrap.modal')
-
-  .value('$modalSuppressWarning', false)
-
-  /**
-   * A helper directive for the $modal service. It creates a backdrop element.
-   */
-  .directive('modalBackdrop', [
-    '$animate', '$injector', '$modalStack', '$log', '$modalSuppressWarning',
-    function($animate ,  $injector,   $modalStack, $log, $modalSuppressWarning) {
-      var $animateCss = null;
-
-      if ($injector.has('$animateCss')) {
-        $animateCss = $injector.get('$animateCss');
-      }
-
-      return {
-        replace: true,
-        templateUrl: 'template/modal/backdrop.html',
-        compile: function(tElement, tAttrs) {
-          tElement.addClass(tAttrs.backdropClass);
-          return linkFn;
-        }
-      };
+angular.module('ui.bootstrap.paging', [])
+/**
+ * Helper internal service for generating common controller code between the
+ * pager and pagination components
+ */
+.factory('uibPaging', ['$parse', function($parse) {
+  return {
+    create: function(ctrl, $scope, $attrs) {
+      ctrl.setNumPages = $attrs.numPages ? $parse($attrs.numPages).assign : angular.noop;
+      ctrl.ngModelCtrl = { $setViewValue: angular.noop }; // nullModelCtrl
 
-      function linkFn(scope, element, attrs) {
-        if (!$modalSuppressWarning) {
-          $log.warn('modal-backdrop is now deprecated. Use uib-modal-backdrop instead.');
-        }
-        element.addClass('modal-backdrop');
+      ctrl.init = function(ngModelCtrl, config) {
+        ctrl.ngModelCtrl = ngModelCtrl;
+        ctrl.config = config;
 
-        if (attrs.modalInClass) {
-          if ($animateCss) {
-            $animateCss(element, {
-              addClass: attrs.modalInClass
-            }).start();
-          } else {
-            $animate.addClass(element, attrs.modalInClass);
-          }
+        ngModelCtrl.$render = function() {
+          ctrl.render();
+        };
 
-          scope.$on($modalStack.NOW_CLOSING_EVENT, function(e, setIsAsync) {
-            var done = setIsAsync();
-            if ($animateCss) {
-              $animateCss(element, {
-                removeClass: attrs.modalInClass
-              }).start().then(done);
-            } else {
-              $animate.removeClass(element, attrs.modalInClass).then(done);
-            }
+        if ($attrs.itemsPerPage) {
+          $scope.$parent.$watch($parse($attrs.itemsPerPage), function(value) {
+            ctrl.itemsPerPage = parseInt(value, 10);
+            $scope.totalPages = ctrl.calculateTotalPages();
+            ctrl.updatePage();
           });
+        } else {
+          ctrl.itemsPerPage = config.itemsPerPage;
         }
-      }
-    }])
 
-  .directive('modalWindow', [
-    '$modalStack', '$q', '$animate', '$injector', '$log', '$modalSuppressWarning',
-    function($modalStack ,  $q ,  $animate,   $injector, $log, $modalSuppressWarning) {
-      var $animateCss = null;
-
-      if ($injector.has('$animateCss')) {
-        $animateCss = $injector.get('$animateCss');
-      }
-
-      return {
-        scope: {
-          index: '@'
-        },
-        replace: true,
-        transclude: true,
-        templateUrl: function(tElement, tAttrs) {
-          return tAttrs.templateUrl || 'template/modal/window.html';
-        },
-        link: function(scope, element, attrs) {
-          if (!$modalSuppressWarning) {
-            $log.warn('modal-window is now deprecated. Use uib-modal-window instead.');
+        $scope.$watch('totalItems', function(newTotal, oldTotal) {
+          if (angular.isDefined(newTotal) || newTotal !== oldTotal) {
+            $scope.totalPages = ctrl.calculateTotalPages();
+            ctrl.updatePage();
           }
-          element.addClass(attrs.windowClass || '');
-          element.addClass(attrs.windowTopClass || '');
-          scope.size = attrs.size;
-
-          scope.close = function(evt) {
-            var modal = $modalStack.getTop();
-            if (modal && modal.value.backdrop && modal.value.backdrop !== 'static' && (evt.target === evt.currentTarget)) {
-              evt.preventDefault();
-              evt.stopPropagation();
-              $modalStack.dismiss(modal.key, 'backdrop click');
-            }
-          };
-
-          // moved from template to fix issue #2280
-          element.on('click', scope.close);
-
-          // This property is only added to the scope for the purpose of detecting when this directive is rendered.
-          // We can detect that by using this property in the template associated with this directive and then use
-          // {@link Attribute#$observe} on it. For more details please see {@link TableColumnResize}.
-          scope.$isRendered = true;
-
-          // Deferred object that will be resolved when this modal is render.
-          var modalRenderDeferObj = $q.defer();
-          // Observe function will be called on next digest cycle after compilation, ensuring that the DOM is ready.
-          // In order to use this way of finding whether DOM is ready, we need to observe a scope property used in modal's template.
-          attrs.$observe('modalRender', function(value) {
-            if (value == 'true') {
-              modalRenderDeferObj.resolve();
-            }
-          });
-
-          modalRenderDeferObj.promise.then(function() {
-            var animationPromise = null;
-
-            if (attrs.modalInClass) {
-              if ($animateCss) {
-                animationPromise = $animateCss(element, {
-                  addClass: attrs.modalInClass
-                }).start();
-              } else {
-                animationPromise = $animate.addClass(element, attrs.modalInClass);
-              }
-
-              scope.$on($modalStack.NOW_CLOSING_EVENT, function(e, setIsAsync) {
-                var done = setIsAsync();
-                if ($animateCss) {
-                  $animateCss(element, {
-                    removeClass: attrs.modalInClass
-                  }).start().then(done);
-                } else {
-                  $animate.removeClass(element, attrs.modalInClass).then(done);
-                }
-              });
-            }
-
-
-            $q.when(animationPromise).then(function() {
-              var inputWithAutofocus = element[0].querySelector('[autofocus]');
-              /**
-               * Auto-focusing of a freshly-opened modal element causes any child elements
-               * with the autofocus attribute to lose focus. This is an issue on touch
-               * based devices which will show and then hide the onscreen keyboard.
-               * Attempts to refocus the autofocus element via JavaScript will not reopen
-               * the onscreen keyboard. Fixed by updated the focusing logic to only autofocus
-               * the modal element if the modal does not contain an autofocus element.
-               */
-              if (inputWithAutofocus) {
-                inputWithAutofocus.focus();
-              } else {
-                element[0].focus();
-              }
-            });
-
-            // Notify {@link $modalStack} that modal is rendered.
-            var modal = $modalStack.getTop();
-            if (modal) {
-              $modalStack.modalRendered(modal.key);
-            }
-          });
-        }
+        });
       };
-    }])
 
-  .directive('modalAnimationClass', [
-    '$log', '$modalSuppressWarning',
-    function ($log, $modalSuppressWarning) {
-      return {
-        compile: function(tElement, tAttrs) {
-          if (!$modalSuppressWarning) {
-            $log.warn('modal-animation-class is now deprecated. Use uib-modal-animation-class instead.');
-          }
-          if (tAttrs.modalAnimation) {
-            tElement.addClass(tAttrs.modalAnimationClass);
-          }
-        }
+      ctrl.calculateTotalPages = function() {
+        var totalPages = ctrl.itemsPerPage < 1 ? 1 : Math.ceil($scope.totalItems / ctrl.itemsPerPage);
+        return Math.max(totalPages || 0, 1);
       };
-    }])
-
-  .directive('modalTransclude', [
-    '$log', '$modalSuppressWarning',
-    function ($log, $modalSuppressWarning) {
-    return {
-      link: function($scope, $element, $attrs, controller, $transclude) {
-        if (!$modalSuppressWarning) {
-          $log.warn('modal-transclude is now deprecated. Use uib-modal-transclude instead.');
-        }
-        $transclude($scope.$parent, function(clone) {
-          $element.empty();
-          $element.append(clone);
-        });
-      }
-    };
-  }])
-
-  .service('$modalStack', [
-    '$animate', '$timeout', '$document', '$compile', '$rootScope',
-    '$q',
-    '$injector',
-    '$$multiMap',
-    '$$stackedMap',
-    '$uibModalStack',
-    '$log',
-    '$modalSuppressWarning',
-    function($animate ,  $timeout ,  $document ,  $compile ,  $rootScope ,
-             $q,
-             $injector,
-             $$multiMap,
-             $$stackedMap,
-             $uibModalStack,
-             $log,
-             $modalSuppressWarning) {
-      if (!$modalSuppressWarning) {
-        $log.warn('$modalStack is now deprecated. Use $uibModalStack instead.');
-      }
-
-      angular.extend(this, $uibModalStack);
-    }])
 
-  .provider('$modal', ['$uibModalProvider', function($uibModalProvider) {
-    angular.extend(this, $uibModalProvider);
+      ctrl.render = function() {
+        $scope.page = parseInt(ctrl.ngModelCtrl.$viewValue, 10) || 1;
+      };
 
-    this.$get = ['$injector', '$log', '$modalSuppressWarning',
-      function ($injector, $log, $modalSuppressWarning) {
-        if (!$modalSuppressWarning) {
-          $log.warn('$modal is now deprecated. Use $uibModal instead.');
+      $scope.selectPage = function(page, evt) {
+        if (evt) {
+          evt.preventDefault();
         }
 
-        return $injector.invoke($uibModalProvider.$get);
-      }];
-  }]);
-
-angular.module('ui.bootstrap.pagination', [])
-.controller('UibPaginationController', ['$scope', '$attrs', '$parse', function($scope, $attrs, $parse) {
-  var self = this,
-      ngModelCtrl = { $setViewValue: angular.noop }, // nullModelCtrl
-      setNumPages = $attrs.numPages ? $parse($attrs.numPages).assign : angular.noop;
-
-  this.init = function(ngModelCtrl_, config) {
-    ngModelCtrl = ngModelCtrl_;
-    this.config = config;
-
-    ngModelCtrl.$render = function() {
-      self.render();
-    };
-
-    if ($attrs.itemsPerPage) {
-      $scope.$parent.$watch($parse($attrs.itemsPerPage), function(value) {
-        self.itemsPerPage = parseInt(value, 10);
-        $scope.totalPages = self.calculateTotalPages();
-      });
-    } else {
-      this.itemsPerPage = config.itemsPerPage;
-    }
-
-    $scope.$watch('totalItems', function() {
-      $scope.totalPages = self.calculateTotalPages();
-    });
-
-    $scope.$watch('totalPages', function(value) {
-      setNumPages($scope.$parent, value); // Readonly variable
-
-      if ( $scope.page > value ) {
-        $scope.selectPage(value);
-      } else {
-        ngModelCtrl.$render();
-      }
-    });
-  };
-
-  this.calculateTotalPages = function() {
-    var totalPages = this.itemsPerPage < 1 ? 1 : Math.ceil($scope.totalItems / this.itemsPerPage);
-    return Math.max(totalPages || 0, 1);
-  };
-
-  this.render = function() {
-    $scope.page = parseInt(ngModelCtrl.$viewValue, 10) || 1;
-  };
-
-  $scope.selectPage = function(page, evt) {
-    if (evt) {
-      evt.preventDefault();
-    }
-
-    var clickAllowed = !$scope.ngDisabled || !evt;
-    if (clickAllowed && $scope.page !== page && page > 0 && page <= $scope.totalPages) {
-      if (evt && evt.target) {
-        evt.target.blur();
-      }
-      ngModelCtrl.$setViewValue(page);
-      ngModelCtrl.$render();
-    }
-  };
-
-  $scope.getText = function(key) {
-    return $scope[key + 'Text'] || self.config[key + 'Text'];
-  };
-
-  $scope.noPrevious = function() {
-    return $scope.page === 1;
-  };
-
-  $scope.noNext = function() {
-    return $scope.page === $scope.totalPages;
-  };
-}])
-
-.constant('uibPaginationConfig', {
-  itemsPerPage: 10,
-  boundaryLinks: false,
-  directionLinks: true,
-  firstText: 'First',
-  previousText: 'Previous',
-  nextText: 'Next',
-  lastText: 'Last',
-  rotate: true
-})
-
-.directive('uibPagination', ['$parse', 'uibPaginationConfig', function($parse, paginationConfig) {
-  return {
-    restrict: 'EA',
-    scope: {
-      totalItems: '=',
-      firstText: '@',
-      previousText: '@',
-      nextText: '@',
-      lastText: '@',
-      ngDisabled:'='
-    },
-    require: ['uibPagination', '?ngModel'],
-    controller: 'UibPaginationController',
-    controllerAs: 'pagination',
-    templateUrl: function(element, attrs) {
-      return attrs.templateUrl || 'template/pagination/pagination.html';
-    },
-    replace: true,
-    link: function(scope, element, attrs, ctrls) {
-      var paginationCtrl = ctrls[0], ngModelCtrl = ctrls[1];
-
-      if (!ngModelCtrl) {
-         return; // do nothing if no ng-model
-      }
-
-      // Setup configuration parameters
-      var maxSize = angular.isDefined(attrs.maxSize) ? scope.$parent.$eval(attrs.maxSize) : paginationConfig.maxSize,
-          rotate = angular.isDefined(attrs.rotate) ? scope.$parent.$eval(attrs.rotate) : paginationConfig.rotate;
-      scope.boundaryLinks = angular.isDefined(attrs.boundaryLinks) ? scope.$parent.$eval(attrs.boundaryLinks) : paginationConfig.boundaryLinks;
-      scope.directionLinks = angular.isDefined(attrs.directionLinks) ? scope.$parent.$eval(attrs.directionLinks) : paginationConfig.directionLinks;
-
-      paginationCtrl.init(ngModelCtrl, paginationConfig);
-
-      if (attrs.maxSize) {
-        scope.$parent.$watch($parse(attrs.maxSize), function(value) {
-          maxSize = parseInt(value, 10);
-          paginationCtrl.render();
-        });
-      }
-
-      // Create page object used in template
-      function makePage(number, text, isActive) {
-        return {
-          number: number,
-          text: text,
-          active: isActive
-        };
-      }
-
-      function getPages(currentPage, totalPages) {
-        var pages = [];
-
-        // Default page limits
-        var startPage = 1, endPage = totalPages;
-        var isMaxSized = angular.isDefined(maxSize) && maxSize < totalPages;
-
-        // recompute if maxSize
-        if (isMaxSized) {
-          if (rotate) {
-            // Current page is displayed in the middle of the visible ones
-            startPage = Math.max(currentPage - Math.floor(maxSize/2), 1);
-            endPage   = startPage + maxSize - 1;
-
-            // Adjust if limit is exceeded
-            if (endPage > totalPages) {
-              endPage   = totalPages;
-              startPage = endPage - maxSize + 1;
-            }
-          } else {
-            // Visible pages are paginated with maxSize
-            startPage = ((Math.ceil(currentPage / maxSize) - 1) * maxSize) + 1;
-
-            // Adjust last page if limit is exceeded
-            endPage = Math.min(startPage + maxSize - 1, totalPages);
+        var clickAllowed = !$scope.ngDisabled || !evt;
+        if (clickAllowed && $scope.page !== page && page > 0 && page <= $scope.totalPages) {
+          if (evt && evt.target) {
+            evt.target.blur();
           }
+          ctrl.ngModelCtrl.$setViewValue(page);
+          ctrl.ngModelCtrl.$render();
         }
+      };
 
-        // Add page number links
-        for (var number = startPage; number <= endPage; number++) {
-          var page = makePage(number, number, number === currentPage);
-          pages.push(page);
-        }
+      $scope.getText = function(key) {
+        return $scope[key + 'Text'] || ctrl.config[key + 'Text'];
+      };
 
-        // Add links to move between page sets
-        if (isMaxSized && ! rotate) {
-          if (startPage > 1) {
-            var previousPageSet = makePage(startPage - 1, '...', false);
-            pages.unshift(previousPageSet);
-          }
+      $scope.noPrevious = function() {
+        return $scope.page === 1;
+      };
 
-          if (endPage < totalPages) {
-            var nextPageSet = makePage(endPage + 1, '...', false);
-            pages.push(nextPageSet);
-          }
-        }
+      $scope.noNext = function() {
+        return $scope.page === $scope.totalPages;
+      };
 
-        return pages;
-      }
+      ctrl.updatePage = function() {
+        ctrl.setNumPages($scope.$parent, $scope.totalPages); // Readonly variable
 
-      var originalRender = paginationCtrl.render;
-      paginationCtrl.render = function() {
-        originalRender();
-        if (scope.page > 0 && scope.page <= scope.totalPages) {
-          scope.pages = getPages(scope.page, scope.totalPages);
+        if ($scope.page > $scope.totalPages) {
+          $scope.selectPage($scope.totalPages);
+        } else {
+          ctrl.ngModelCtrl.$render();
         }
       };
     }
   };
+}]);
+
+angular.module('ui.bootstrap.pager', ['ui.bootstrap.paging'])
+
+.controller('UibPagerController', ['$scope', '$attrs', 'uibPaging', 'uibPagerConfig', function($scope, $attrs, uibPaging, uibPagerConfig) {
+  $scope.align = angular.isDefined($attrs.align) ? $scope.$parent.$eval($attrs.align) : uibPagerConfig.align;
+
+  uibPaging.create(this, $scope, $attrs);
 }])
 
 .constant('uibPagerConfig', {
@@ -4619,9 +3898,8 @@ angular.module('ui.bootstrap.pagination', [])
   align: true
 })
 
-.directive('uibPager', ['uibPagerConfig', function(pagerConfig) {
+.directive('uibPager', ['uibPagerConfig', function(uibPagerConfig) {
   return {
-    restrict: 'EA',
     scope: {
       totalItems: '=',
       previousText: '@',
@@ -4629,247 +3907,171 @@ angular.module('ui.bootstrap.pagination', [])
       ngDisabled: '='
     },
     require: ['uibPager', '?ngModel'],
-    controller: 'UibPaginationController',
-    controllerAs: 'pagination',
+    controller: 'UibPagerController',
+    controllerAs: 'pager',
     templateUrl: function(element, attrs) {
-      return attrs.templateUrl || 'template/pagination/pager.html';
+      return attrs.templateUrl || 'uib/template/pager/pager.html';
     },
     replace: true,
     link: function(scope, element, attrs, ctrls) {
       var paginationCtrl = ctrls[0], ngModelCtrl = ctrls[1];
 
       if (!ngModelCtrl) {
-         return; // do nothing if no ng-model
+        return; // do nothing if no ng-model
       }
 
-      scope.align = angular.isDefined(attrs.align) ? scope.$parent.$eval(attrs.align) : pagerConfig.align;
-      paginationCtrl.init(ngModelCtrl, pagerConfig);
+      paginationCtrl.init(ngModelCtrl, uibPagerConfig);
     }
   };
 }]);
 
-/* Deprecated Pagination Below */
-
-angular.module('ui.bootstrap.pagination')
-.value('$paginationSuppressWarning', false)
-.controller('PaginationController', ['$scope', '$attrs', '$parse', '$log', '$paginationSuppressWarning', function($scope, $attrs, $parse, $log, $paginationSuppressWarning) {
-  if (!$paginationSuppressWarning) {
-    $log.warn('PaginationController is now deprecated. Use UibPaginationController instead.');
+angular.module('ui.bootstrap.pagination', ['ui.bootstrap.paging'])
+.controller('UibPaginationController', ['$scope', '$attrs', '$parse', 'uibPaging', 'uibPaginationConfig', function($scope, $attrs, $parse, uibPaging, uibPaginationConfig) {
+  var ctrl = this;
+  // Setup configuration parameters
+  var maxSize = angular.isDefined($attrs.maxSize) ? $scope.$parent.$eval($attrs.maxSize) : uibPaginationConfig.maxSize,
+    rotate = angular.isDefined($attrs.rotate) ? $scope.$parent.$eval($attrs.rotate) : uibPaginationConfig.rotate,
+    forceEllipses = angular.isDefined($attrs.forceEllipses) ? $scope.$parent.$eval($attrs.forceEllipses) : uibPaginationConfig.forceEllipses,
+    boundaryLinkNumbers = angular.isDefined($attrs.boundaryLinkNumbers) ? $scope.$parent.$eval($attrs.boundaryLinkNumbers) : uibPaginationConfig.boundaryLinkNumbers;
+  $scope.boundaryLinks = angular.isDefined($attrs.boundaryLinks) ? $scope.$parent.$eval($attrs.boundaryLinks) : uibPaginationConfig.boundaryLinks;
+  $scope.directionLinks = angular.isDefined($attrs.directionLinks) ? $scope.$parent.$eval($attrs.directionLinks) : uibPaginationConfig.directionLinks;
+
+  uibPaging.create(this, $scope, $attrs);
+
+  if ($attrs.maxSize) {
+    $scope.$parent.$watch($parse($attrs.maxSize), function(value) {
+      maxSize = parseInt(value, 10);
+      ctrl.render();
+    });
   }
 
-  var self = this,
-    ngModelCtrl = { $setViewValue: angular.noop }, // nullModelCtrl
-    setNumPages = $attrs.numPages ? $parse($attrs.numPages).assign : angular.noop;
-
-  this.init = function(ngModelCtrl_, config) {
-    ngModelCtrl = ngModelCtrl_;
-    this.config = config;
-
-    ngModelCtrl.$render = function() {
-      self.render();
+  // Create page object used in template
+  function makePage(number, text, isActive) {
+    return {
+      number: number,
+      text: text,
+      active: isActive
     };
+  }
 
-    if ($attrs.itemsPerPage) {
-      $scope.$parent.$watch($parse($attrs.itemsPerPage), function(value) {
-        self.itemsPerPage = parseInt(value, 10);
-        $scope.totalPages = self.calculateTotalPages();
-      });
-    } else {
-      this.itemsPerPage = config.itemsPerPage;
-    }
+  function getPages(currentPage, totalPages) {
+    var pages = [];
 
-    $scope.$watch('totalItems', function() {
-      $scope.totalPages = self.calculateTotalPages();
-    });
+    // Default page limits
+    var startPage = 1, endPage = totalPages;
+    var isMaxSized = angular.isDefined(maxSize) && maxSize < totalPages;
 
-    $scope.$watch('totalPages', function(value) {
-      setNumPages($scope.$parent, value); // Readonly variable
+    // recompute if maxSize
+    if (isMaxSized) {
+      if (rotate) {
+        // Current page is displayed in the middle of the visible ones
+        startPage = Math.max(currentPage - Math.floor(maxSize / 2), 1);
+        endPage = startPage + maxSize - 1;
 
-      if ( $scope.page > value ) {
-        $scope.selectPage(value);
+        // Adjust if limit is exceeded
+        if (endPage > totalPages) {
+          endPage = totalPages;
+          startPage = endPage - maxSize + 1;
+        }
       } else {
-        ngModelCtrl.$render();
-      }
-    });
-  };
-
-  this.calculateTotalPages = function() {
-    var totalPages = this.itemsPerPage < 1 ? 1 : Math.ceil($scope.totalItems / this.itemsPerPage);
-    return Math.max(totalPages || 0, 1);
-  };
-
-  this.render = function() {
-    $scope.page = parseInt(ngModelCtrl.$viewValue, 10) || 1;
-  };
-
-  $scope.selectPage = function(page, evt) {
-    if (evt) {
-      evt.preventDefault();
-    }
+        // Visible pages are paginated with maxSize
+        startPage = (Math.ceil(currentPage / maxSize) - 1) * maxSize + 1;
 
-    var clickAllowed = !$scope.ngDisabled || !evt;
-    if (clickAllowed && $scope.page !== page && page > 0 && page <= $scope.totalPages) {
-      if (evt && evt.target) {
-        evt.target.blur();
+        // Adjust last page if limit is exceeded
+        endPage = Math.min(startPage + maxSize - 1, totalPages);
       }
-      ngModelCtrl.$setViewValue(page);
-      ngModelCtrl.$render();
     }
-  };
-
-  $scope.getText = function(key) {
-    return $scope[key + 'Text'] || self.config[key + 'Text'];
-  };
-
-  $scope.noPrevious = function() {
-    return $scope.page === 1;
-  };
-
-  $scope.noNext = function() {
-    return $scope.page === $scope.totalPages;
-  };
-}])
-.directive('pagination', ['$parse', 'uibPaginationConfig', '$log', '$paginationSuppressWarning', function($parse, paginationConfig, $log, $paginationSuppressWarning) {
-  return {
-    restrict: 'EA',
-    scope: {
-      totalItems: '=',
-      firstText: '@',
-      previousText: '@',
-      nextText: '@',
-      lastText: '@',
-      ngDisabled:'='
-    },
-    require: ['pagination', '?ngModel'],
-    controller: 'PaginationController',
-    controllerAs: 'pagination',
-    templateUrl: function(element, attrs) {
-      return attrs.templateUrl || 'template/pagination/pagination.html';
-    },
-    replace: true,
-    link: function(scope, element, attrs, ctrls) {
-      if (!$paginationSuppressWarning) {
-        $log.warn('pagination is now deprecated. Use uib-pagination instead.');
-      }
-      var paginationCtrl = ctrls[0], ngModelCtrl = ctrls[1];
-
-      if (!ngModelCtrl) {
-         return; // do nothing if no ng-model
-      }
 
-      // Setup configuration parameters
-      var maxSize = angular.isDefined(attrs.maxSize) ? scope.$parent.$eval(attrs.maxSize) : paginationConfig.maxSize,
-          rotate = angular.isDefined(attrs.rotate) ? scope.$parent.$eval(attrs.rotate) : paginationConfig.rotate;
-      scope.boundaryLinks = angular.isDefined(attrs.boundaryLinks) ? scope.$parent.$eval(attrs.boundaryLinks) : paginationConfig.boundaryLinks;
-      scope.directionLinks = angular.isDefined(attrs.directionLinks) ? scope.$parent.$eval(attrs.directionLinks) : paginationConfig.directionLinks;
-
-      paginationCtrl.init(ngModelCtrl, paginationConfig);
-
-      if (attrs.maxSize) {
-        scope.$parent.$watch($parse(attrs.maxSize), function(value) {
-          maxSize = parseInt(value, 10);
-          paginationCtrl.render();
-        });
-      }
+    // Add page number links
+    for (var number = startPage; number <= endPage; number++) {
+      var page = makePage(number, number, number === currentPage);
+      pages.push(page);
+    }
 
-      // Create page object used in template
-      function makePage(number, text, isActive) {
-        return {
-          number: number,
-          text: text,
-          active: isActive
-        };
+    // Add links to move between page sets
+    if (isMaxSized && maxSize > 0 && (!rotate || forceEllipses || boundaryLinkNumbers)) {
+      if (startPage > 1) {
+        if (!boundaryLinkNumbers || startPage > 3) { //need ellipsis for all options unless range is too close to beginning
+        var previousPageSet = makePage(startPage - 1, '...', false);
+        pages.unshift(previousPageSet);
       }
-
-      function getPages(currentPage, totalPages) {
-        var pages = [];
-
-        // Default page limits
-        var startPage = 1, endPage = totalPages;
-        var isMaxSized = angular.isDefined(maxSize) && maxSize < totalPages;
-
-        // recompute if maxSize
-        if (isMaxSized) {
-          if (rotate) {
-            // Current page is displayed in the middle of the visible ones
-            startPage = Math.max(currentPage - Math.floor(maxSize/2), 1);
-            endPage   = startPage + maxSize - 1;
-
-            // Adjust if limit is exceeded
-            if (endPage > totalPages) {
-              endPage   = totalPages;
-              startPage = endPage - maxSize + 1;
-            }
-          } else {
-            // Visible pages are paginated with maxSize
-            startPage = ((Math.ceil(currentPage / maxSize) - 1) * maxSize) + 1;
-
-            // Adjust last page if limit is exceeded
-            endPage = Math.min(startPage + maxSize - 1, totalPages);
+        if (boundaryLinkNumbers) {
+          if (startPage === 3) { //need to replace ellipsis when the buttons would be sequential
+            var secondPageLink = makePage(2, '2', false);
+            pages.unshift(secondPageLink);
           }
+          //add the first page
+          var firstPageLink = makePage(1, '1', false);
+          pages.unshift(firstPageLink);
         }
+      }
 
-        // Add page number links
-        for (var number = startPage; number <= endPage; number++) {
-          var page = makePage(number, number, number === currentPage);
-          pages.push(page);
-        }
-
-        // Add links to move between page sets
-        if (isMaxSized && ! rotate) {
-          if (startPage > 1) {
-            var previousPageSet = makePage(startPage - 1, '...', false);
-            pages.unshift(previousPageSet);
-          }
-
-          if (endPage < totalPages) {
-            var nextPageSet = makePage(endPage + 1, '...', false);
-            pages.push(nextPageSet);
+      if (endPage < totalPages) {
+        if (!boundaryLinkNumbers || endPage < totalPages - 2) { //need ellipsis for all options unless range is too close to end
+        var nextPageSet = makePage(endPage + 1, '...', false);
+        pages.push(nextPageSet);
+      }
+        if (boundaryLinkNumbers) {
+          if (endPage === totalPages - 2) { //need to replace ellipsis when the buttons would be sequential
+            var secondToLastPageLink = makePage(totalPages - 1, totalPages - 1, false);
+            pages.push(secondToLastPageLink);
           }
+          //add the last page
+          var lastPageLink = makePage(totalPages, totalPages, false);
+          pages.push(lastPageLink);
         }
-
-        return pages;
       }
+    }
+    return pages;
+  }
 
-      var originalRender = paginationCtrl.render;
-      paginationCtrl.render = function() {
-        originalRender();
-        if (scope.page > 0 && scope.page <= scope.totalPages) {
-          scope.pages = getPages(scope.page, scope.totalPages);
-        }
-      };
+  var originalRender = this.render;
+  this.render = function() {
+    originalRender();
+    if ($scope.page > 0 && $scope.page <= $scope.totalPages) {
+      $scope.pages = getPages($scope.page, $scope.totalPages);
     }
   };
 }])
 
-.directive('pager', ['uibPagerConfig', '$log', '$paginationSuppressWarning', function(pagerConfig, $log, $paginationSuppressWarning) {
+.constant('uibPaginationConfig', {
+  itemsPerPage: 10,
+  boundaryLinks: false,
+  boundaryLinkNumbers: false,
+  directionLinks: true,
+  firstText: 'First',
+  previousText: 'Previous',
+  nextText: 'Next',
+  lastText: 'Last',
+  rotate: true,
+  forceEllipses: false
+})
+
+.directive('uibPagination', ['$parse', 'uibPaginationConfig', function($parse, uibPaginationConfig) {
   return {
-    restrict: 'EA',
     scope: {
       totalItems: '=',
+      firstText: '@',
       previousText: '@',
       nextText: '@',
-      ngDisabled: '='
+      lastText: '@',
+      ngDisabled:'='
     },
-    require: ['pager', '?ngModel'],
-    controller: 'PaginationController',
+    require: ['uibPagination', '?ngModel'],
+    controller: 'UibPaginationController',
     controllerAs: 'pagination',
     templateUrl: function(element, attrs) {
-      return attrs.templateUrl || 'template/pagination/pager.html';
+      return attrs.templateUrl || 'uib/template/pagination/pagination.html';
     },
     replace: true,
     link: function(scope, element, attrs, ctrls) {
-      if (!$paginationSuppressWarning) {
-        $log.warn('pager is now deprecated. Use uib-pager instead.');
-      }
       var paginationCtrl = ctrls[0], ngModelCtrl = ctrls[1];
 
       if (!ngModelCtrl) {
          return; // do nothing if no ng-model
       }
 
-      scope.align = angular.isDefined(attrs.align) ? scope.$parent.$eval(attrs.align) : pagerConfig.align;
-      paginationCtrl.init(ngModelCtrl, pagerConfig);
+      paginationCtrl.init(ngModelCtrl, uibPaginationConfig);
     }
   };
 }]);
@@ -4889,6 +4091,7 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.s
   // The default options tooltip and popover.
   var defaultOptions = {
     placement: 'top',
+    placementClassPrefix: '',
     animation: true,
     popupDelay: 0,
     popupCloseDelay: 0,
@@ -4899,6 +4102,7 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.s
   var triggerMap = {
     'mouseenter': 'mouseleave',
     'click': 'click',
+    'outsideClick': 'outsideClick',
     'focus': 'blur',
     'none': ''
   };
@@ -4929,7 +4133,7 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.s
   };
 
   /**
-   * This is a helper function for translating camel-case to snake-case.
+   * This is a helper function for translating camel-case to snake_case.
    */
   function snake_case(name) {
     var regexp = /[A-Z]/g;
@@ -4945,7 +4149,13 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.s
    */
   this.$get = ['$window', '$compile', '$timeout', '$document', '$uibPosition', '$interpolate', '$rootScope', '$parse', '$$stackedMap', function($window, $compile, $timeout, $document, $position, $interpolate, $rootScope, $parse, $$stackedMap) {
     var openedTooltips = $$stackedMap.createNew();
-    $document.on('keypress', function(e) {
+    $document.on('keypress', keypressListener);
+
+    $rootScope.$on('$destroy', function() {
+      $document.off('keypress', keypressListener);
+    });
+
+    function keypressListener(e) {
       if (e.which === 27) {
         var last = openedTooltips.top();
         if (last) {
@@ -4954,7 +4164,7 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.s
           last = null;
         }
       }
-    });
+    }
 
     return function $tooltip(ttType, prefix, defaultTriggerShow, options) {
       options = angular.extend({}, defaultOptions, globalOptions, options);
@@ -5033,11 +4243,32 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.s
                   tooltip.css({ top: 0, left: 0 });
 
                   // Now set the calculated positioning.
-                  var ttCss = $position.positionElements(element, tooltip, ttScope.placement, appendToBody);
-                  ttCss.top += 'px';
-                  ttCss.left += 'px';
-                  ttCss.visibility = 'visible';
-                  tooltip.css(ttCss);
+                  var ttPosition = $position.positionElements(element, tooltip, ttScope.placement, appendToBody);
+                  tooltip.css({ top: ttPosition.top + 'px', left: ttPosition.left + 'px', visibility: 'visible' });
+
+                  // If the placement class is prefixed, still need
+                  // to remove the TWBS standard class.
+                  if (options.placementClassPrefix) {
+                    tooltip.removeClass('top bottom left right');
+                  }
+
+                  tooltip.removeClass(
+                    options.placementClassPrefix + 'top ' +
+                    options.placementClassPrefix + 'top-left ' +
+                    options.placementClassPrefix + 'top-right ' +
+                    options.placementClassPrefix + 'bottom ' +
+                    options.placementClassPrefix + 'bottom-left ' +
+                    options.placementClassPrefix + 'bottom-right ' +
+                    options.placementClassPrefix + 'left ' +
+                    options.placementClassPrefix + 'left-top ' +
+                    options.placementClassPrefix + 'left-bottom ' +
+                    options.placementClassPrefix + 'right ' +
+                    options.placementClassPrefix + 'right-top ' +
+                    options.placementClassPrefix + 'right-bottom');
+
+                  var placement = ttPosition.placement.split('-');
+                  tooltip.addClass(placement[0], options.placementClassPrefix + ttPosition.placement);
+                  $position.positionArrow(tooltip, ttPosition.placement);
 
                   positionTimeout = null;
                 }, 0, false);
@@ -5128,9 +4359,6 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.s
 
             // Hide the tooltip popup element.
             function hide() {
-              cancelShow();
-              cancelHide();
-
               if (!ttScope) {
                 return;
               }
@@ -5183,9 +4411,10 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.s
             }
 
             function removeTooltip() {
+              cancelShow();
+              cancelHide();
               unregisterObservers();
 
-              transitionTimeout = null;
               if (tooltip) {
                 tooltip.remove();
                 tooltip = null;
@@ -5197,9 +4426,9 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.s
             }
 
             /**
-             * Set the inital scope values. Once
+             * Set the initial scope values. Once
              * the tooltip is created, the observers
-             * will be added to keep things in synch.
+             * will be added to keep things in sync.
              */
             function prepareTooltip() {
               ttScope.title = attrs[prefix + 'Title'];
@@ -5243,11 +4472,9 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.s
 
             if (isOpenParse) {
               scope.$watch(isOpenParse, function(val) {
-                /*jshint -W018 */
                 if (ttScope && !val === ttScope.isOpen) {
                   toggleTooltipBind();
                 }
-                /*jshint +W018 */
               });
             }
 
@@ -5318,14 +4545,32 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.s
               }
             }
 
+            // hide tooltips/popovers for outsideClick trigger
+            function bodyHideTooltipBind(e) {
+              if (!ttScope || !ttScope.isOpen || !tooltip) {
+                return;
+              }
+              // make sure the tooltip/popover link or tool tooltip/popover itself were not clicked
+              if (!element[0].contains(e.target) && !tooltip[0].contains(e.target)) {
+                hideTooltipBind();
+              }
+            }
+
             var unregisterTriggers = function() {
               triggers.show.forEach(function(trigger) {
-                element.unbind(trigger, showTooltipBind);
+                if (trigger === 'outsideClick') {
+                  element.off('click', toggleTooltipBind);
+                } else {
+                  element.off(trigger, showTooltipBind);
+                  element.off(trigger, toggleTooltipBind);
+                }
               });
               triggers.hide.forEach(function(trigger) {
-                trigger.split(' ').forEach(function(hideTrigger) {
-                  element[0].removeEventListener(hideTrigger, hideTooltipBind);
-                });
+                if (trigger === 'outsideClick') {
+                  $document.off('click', bodyHideTooltipBind);
+                } else {
+                  element.off(trigger, hideTooltipBind);
+                }
               });
             };
 
@@ -5337,14 +4582,14 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.s
 
               if (triggers.show !== 'none') {
                 triggers.show.forEach(function(trigger, idx) {
-                  // Using raw addEventListener due to jqLite/jQuery bug - #4060
-                  if (trigger === triggers.hide[idx]) {
-                    element[0].addEventListener(trigger, toggleTooltipBind);
+                  if (trigger === 'outsideClick') {
+                    element.on('click', toggleTooltipBind);
+                    $document.on('click', bodyHideTooltipBind);
+                  } else if (trigger === triggers.hide[idx]) {
+                    element.on(trigger, toggleTooltipBind);
                   } else if (trigger) {
-                    element[0].addEventListener(trigger, showTooltipBind);
-                    triggers.hide[idx].split(' ').forEach(function(trigger) {
-                      element[0].addEventListener(trigger, hideTooltipBind);
-                    });
+                    element.on(trigger, showTooltipBind);
+                    element.on(triggers.hide[idx], hideTooltipBind);
                   }
 
                   element.on('keypress', function(e) {
@@ -5361,7 +4606,14 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.s
             var animation = scope.$eval(attrs[prefix + 'Animation']);
             ttScope.animation = angular.isDefined(animation) ? !!animation : options.animation;
 
-            var appendToBodyVal = scope.$eval(attrs[prefix + 'AppendToBody']);
+            var appendToBodyVal;
+            var appendKey = prefix + 'AppendToBody';
+            if (appendKey in attrs && attrs[appendKey] === undefined) {
+              appendToBodyVal = true;
+            } else {
+              appendToBodyVal = scope.$eval(attrs[appendKey]);
+            }
+
             appendToBody = angular.isDefined(appendToBodyVal) ? appendToBodyVal : appendToBody;
 
             // if a tooltip is attached to <body> we need to remove it on
@@ -5377,8 +4629,6 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.s
 
             // Make sure tooltip is destroyed and removed.
             scope.$on('$destroy', function onDestroyTooltip() {
-              cancelShow();
-              cancelHide();
               unregisterTriggers();
               removeTooltip();
               openedTooltips.remove(ttScope);
@@ -5394,7 +4644,7 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.s
 // This is mostly ngInclude code but with a custom scope
 .directive('uibTooltipTemplateTransclude', [
          '$animate', '$sce', '$compile', '$templateRequest',
-function ($animate ,  $sce ,  $compile ,  $templateRequest) {
+function ($animate, $sce, $compile, $templateRequest) {
   return {
     link: function(scope, elem, attrs) {
       var origScope = scope.$eval(attrs.tooltipTemplateTranscludeScope);
@@ -5466,12 +4716,20 @@ function ($animate ,  $sce ,  $compile ,  $templateRequest) {
  * They must not be animated as they're expected to be present on the tooltip on
  * initialization.
  */
-.directive('uibTooltipClasses', function() {
+.directive('uibTooltipClasses', ['$uibPosition', function($uibPosition) {
   return {
     restrict: 'A',
     link: function(scope, element, attrs) {
+      // need to set the primary position so the
+      // arrow has space during position measure.
+      // tooltip.positionTooltip()
       if (scope.placement) {
-        element.addClass(scope.placement);
+        // // There are no top-left etc... classes
+        // // in TWBS, so we need the primary position.
+        var position = $uibPosition.parsePlacement(scope.placement);
+        element.addClass(position[0]);
+      } else {
+        element.addClass('top');
       }
 
       if (scope.popupClass) {
@@ -5483,16 +4741,13 @@ function ($animate ,  $sce ,  $compile ,  $templateRequest) {
       }
     }
   };
-})
+}])
 
 .directive('uibTooltipPopup', function() {
   return {
     replace: true,
     scope: { content: '@', placement: '@', popupClass: '@', animation: '&', isOpen: '&' },
-    templateUrl: 'template/tooltip/tooltip-popup.html',
-    link: function(scope, element) {
-      element.addClass('tooltip');
-    }
+    templateUrl: 'uib/template/tooltip/tooltip-popup.html'
   };
 })
 
@@ -5505,10 +4760,7 @@ function ($animate ,  $sce ,  $compile ,  $templateRequest) {
     replace: true,
     scope: { contentExp: '&', placement: '@', popupClass: '@', animation: '&', isOpen: '&',
       originScope: '&' },
-    templateUrl: 'template/tooltip/tooltip-template-popup.html',
-    link: function(scope, element) {
-      element.addClass('tooltip');
-    }
+    templateUrl: 'uib/template/tooltip/tooltip-template-popup.html'
   };
 })
 
@@ -5522,10 +4774,7 @@ function ($animate ,  $sce ,  $compile ,  $templateRequest) {
   return {
     replace: true,
     scope: { contentExp: '&', placement: '@', popupClass: '@', animation: '&', isOpen: '&' },
-    templateUrl: 'template/tooltip/tooltip-html-popup.html',
-    link: function(scope, element) {
-      element.addClass('tooltip');
-    }
+    templateUrl: 'uib/template/tooltip/tooltip-html-popup.html'
   };
 })
 
@@ -5535,179 +4784,6 @@ function ($animate ,  $sce ,  $compile ,  $templateRequest) {
   });
 }]);
 
-/* Deprecated tooltip below */
-
-angular.module('ui.bootstrap.tooltip')
-
-.value('$tooltipSuppressWarning', false)
-
-.provider('$tooltip', ['$uibTooltipProvider', function($uibTooltipProvider) {
-  angular.extend(this, $uibTooltipProvider);
-
-  this.$get = ['$log', '$tooltipSuppressWarning', '$injector', function($log, $tooltipSuppressWarning, $injector) {
-    if (!$tooltipSuppressWarning) {
-      $log.warn('$tooltip is now deprecated. Use $uibTooltip instead.');
-    }
-
-    return $injector.invoke($uibTooltipProvider.$get);
-  }];
-}])
-
-// This is mostly ngInclude code but with a custom scope
-.directive('tooltipTemplateTransclude', [
-         '$animate', '$sce', '$compile', '$templateRequest', '$log', '$tooltipSuppressWarning',
-function ($animate ,  $sce ,  $compile ,  $templateRequest,   $log,   $tooltipSuppressWarning) {
-  return {
-    link: function(scope, elem, attrs) {
-      if (!$tooltipSuppressWarning) {
-        $log.warn('tooltip-template-transclude is now deprecated. Use uib-tooltip-template-transclude instead.');
-      }
-
-      var origScope = scope.$eval(attrs.tooltipTemplateTranscludeScope);
-
-      var changeCounter = 0,
-        currentScope,
-        previousElement,
-        currentElement;
-
-      var cleanupLastIncludeContent = function() {
-        if (previousElement) {
-          previousElement.remove();
-          previousElement = null;
-        }
-        if (currentScope) {
-          currentScope.$destroy();
-          currentScope = null;
-        }
-        if (currentElement) {
-          $animate.leave(currentElement).then(function() {
-            previousElement = null;
-          });
-          previousElement = currentElement;
-          currentElement = null;
-        }
-      };
-
-      scope.$watch($sce.parseAsResourceUrl(attrs.tooltipTemplateTransclude), function(src) {
-        var thisChangeId = ++changeCounter;
-
-        if (src) {
-          //set the 2nd param to true to ignore the template request error so that the inner
-          //contents and scope can be cleaned up.
-          $templateRequest(src, true).then(function(response) {
-            if (thisChangeId !== changeCounter) { return; }
-            var newScope = origScope.$new();
-            var template = response;
-
-            var clone = $compile(template)(newScope, function(clone) {
-              cleanupLastIncludeContent();
-              $animate.enter(clone, elem);
-            });
-
-            currentScope = newScope;
-            currentElement = clone;
-
-            currentScope.$emit('$includeContentLoaded', src);
-          }, function() {
-            if (thisChangeId === changeCounter) {
-              cleanupLastIncludeContent();
-              scope.$emit('$includeContentError', src);
-            }
-          });
-          scope.$emit('$includeContentRequested', src);
-        } else {
-          cleanupLastIncludeContent();
-        }
-      });
-
-      scope.$on('$destroy', cleanupLastIncludeContent);
-    }
-  };
-}])
-
-.directive('tooltipClasses', ['$log', '$tooltipSuppressWarning', function($log, $tooltipSuppressWarning) {
-  return {
-    restrict: 'A',
-    link: function(scope, element, attrs) {
-      if (!$tooltipSuppressWarning) {
-        $log.warn('tooltip-classes is now deprecated. Use uib-tooltip-classes instead.');
-      }
-
-      if (scope.placement) {
-        element.addClass(scope.placement);
-      }
-      if (scope.popupClass) {
-        element.addClass(scope.popupClass);
-      }
-      if (scope.animation()) {
-        element.addClass(attrs.tooltipAnimationClass);
-      }
-    }
-  };
-}])
-
-.directive('tooltipPopup', ['$log', '$tooltipSuppressWarning', function($log, $tooltipSuppressWarning) {
-  return {
-    replace: true,
-    scope: { content: '@', placement: '@', popupClass: '@', animation: '&', isOpen: '&' },
-    templateUrl: 'template/tooltip/tooltip-popup.html',
-    link: function(scope, element) {
-      if (!$tooltipSuppressWarning) {
-        $log.warn('tooltip-popup is now deprecated. Use uib-tooltip-popup instead.');
-      }
-
-      element.addClass('tooltip');
-    }
-  };
-}])
-
-.directive('tooltip', ['$tooltip', function($tooltip) {
-  return $tooltip('tooltip', 'tooltip', 'mouseenter');
-}])
-
-.directive('tooltipTemplatePopup', ['$log', '$tooltipSuppressWarning', function($log, $tooltipSuppressWarning) {
-  return {
-    replace: true,
-    scope: { contentExp: '&', placement: '@', popupClass: '@', animation: '&', isOpen: '&',
-      originScope: '&' },
-    templateUrl: 'template/tooltip/tooltip-template-popup.html',
-    link: function(scope, element) {
-      if (!$tooltipSuppressWarning) {
-        $log.warn('tooltip-template-popup is now deprecated. Use uib-tooltip-template-popup instead.');
-      }
-
-      element.addClass('tooltip');
-    }
-  };
-}])
-
-.directive('tooltipTemplate', ['$tooltip', function($tooltip) {
-  return $tooltip('tooltipTemplate', 'tooltip', 'mouseenter', {
-    useContentExp: true
-  });
-}])
-
-.directive('tooltipHtmlPopup', ['$log', '$tooltipSuppressWarning', function($log, $tooltipSuppressWarning) {
-  return {
-    replace: true,
-    scope: { contentExp: '&', placement: '@', popupClass: '@', animation: '&', isOpen: '&' },
-    templateUrl: 'template/tooltip/tooltip-html-popup.html',
-    link: function(scope, element) {
-      if (!$tooltipSuppressWarning) {
-        $log.warn('tooltip-html-popup is now deprecated. Use uib-tooltip-html-popup instead.');
-      }
-
-      element.addClass('tooltip');
-    }
-  };
-}])
-
-.directive('tooltipHtml', ['$tooltip', function($tooltip) {
-  return $tooltip('tooltipHtml', 'tooltip', 'mouseenter', {
-    useContentExp: true
-  });
-}]);
-
 /**
  * The following features are still outstanding: popup delay, animation as a
  * function, placement as a function, inside, support for more triggers than
@@ -5720,10 +4796,7 @@ angular.module('ui.bootstrap.popover', ['ui.bootstrap.tooltip'])
     replace: true,
     scope: { title: '@', contentExp: '&', placement: '@', popupClass: '@', animation: '&', isOpen: '&',
       originScope: '&' },
-    templateUrl: 'template/popover/popover-template.html',
-    link: function(scope, element) {
-      element.addClass('popover');
-    }
+    templateUrl: 'uib/template/popover/popover-template.html'
   };
 })
 
@@ -5737,10 +4810,7 @@ angular.module('ui.bootstrap.popover', ['ui.bootstrap.tooltip'])
   return {
     replace: true,
     scope: { contentExp: '&', title: '@', placement: '@', popupClass: '@', animation: '&', isOpen: '&' },
-    templateUrl: 'template/popover/popover-html.html',
-    link: function(scope, element) {
-      element.addClass('popover');
-    }
+    templateUrl: 'uib/template/popover/popover-html.html'
   };
 })
 
@@ -5754,10 +4824,7 @@ angular.module('ui.bootstrap.popover', ['ui.bootstrap.tooltip'])
   return {
     replace: true,
     scope: { title: '@', content: '@', placement: '@', popupClass: '@', animation: '&', isOpen: '&' },
-    templateUrl: 'template/popover/popover.html',
-    link: function(scope, element) {
-      element.addClass('popover');
-    }
+    templateUrl: 'uib/template/popover/popover.html'
   };
 })
 
@@ -5765,75 +4832,6 @@ angular.module('ui.bootstrap.popover', ['ui.bootstrap.tooltip'])
   return $uibTooltip('uibPopover', 'popover', 'click');
 }]);
 
-/* Deprecated popover below */
-
-angular.module('ui.bootstrap.popover')
-
-.value('$popoverSuppressWarning', false)
-
-.directive('popoverTemplatePopup', ['$log', '$popoverSuppressWarning', function($log, $popoverSuppressWarning) {
-  return {
-    replace: true,
-    scope: { title: '@', contentExp: '&', placement: '@', popupClass: '@', animation: '&', isOpen: '&',
-      originScope: '&' },
-    templateUrl: 'template/popover/popover-template.html',
-    link: function(scope, element) {
-      if (!$popoverSuppressWarning) {
-        $log.warn('popover-template-popup is now deprecated. Use uib-popover-template-popup instead.');
-      }
-
-      element.addClass('popover');
-    }
-  };
-}])
-
-.directive('popoverTemplate', ['$tooltip', function($tooltip) {
-  return $tooltip('popoverTemplate', 'popover', 'click', {
-    useContentExp: true
-  });
-}])
-
-.directive('popoverHtmlPopup', ['$log', '$popoverSuppressWarning', function($log, $popoverSuppressWarning) {
-  return {
-    replace: true,
-    scope: { contentExp: '&', title: '@', placement: '@', popupClass: '@', animation: '&', isOpen: '&' },
-    templateUrl: 'template/popover/popover-html.html',
-    link: function(scope, element) {
-      if (!$popoverSuppressWarning) {
-        $log.warn('popover-html-popup is now deprecated. Use uib-popover-html-popup instead.');
-      }
-
-      element.addClass('popover');
-    }
-  };
-}])
-
-.directive('popoverHtml', ['$tooltip', function($tooltip) {
-  return $tooltip('popoverHtml', 'popover', 'click', {
-    useContentExp: true
-  });
-}])
-
-.directive('popoverPopup', ['$log', '$popoverSuppressWarning', function($log, $popoverSuppressWarning) {
-  return {
-    replace: true,
-    scope: { title: '@', content: '@', placement: '@', popupClass: '@', animation: '&', isOpen: '&' },
-    templateUrl: 'template/popover/popover.html',
-    link: function(scope, element) {
-      if (!$popoverSuppressWarning) {
-        $log.warn('popover-popup is now deprecated. Use uib-popover-popup instead.');
-      }
-
-      element.addClass('popover');
-    }
-  };
-}])
-
-.directive('popover', ['$tooltip', function($tooltip) {
-
-  return $tooltip('popover', 'popover', 'click');
-}]);
-
 angular.module('ui.bootstrap.progressbar', [])
 
 .constant('uibProgressConfig', {
@@ -5903,7 +4901,7 @@ angular.module('ui.bootstrap.progressbar', [])
     scope: {
       max: '=?'
     },
-    templateUrl: 'template/progressbar/progress.html'
+    templateUrl: 'uib/template/progressbar/progress.html'
   };
 })
 
@@ -5916,7 +4914,7 @@ angular.module('ui.bootstrap.progressbar', [])
       value: '=',
       type: '@'
     },
-    templateUrl: 'template/progressbar/bar.html',
+    templateUrl: 'uib/template/progressbar/bar.html',
     link: function(scope, element, attrs, progressCtrl) {
       progressCtrl.addBar(scope, element, attrs);
     }
@@ -5933,132 +4931,13 @@ angular.module('ui.bootstrap.progressbar', [])
       max: '=?',
       type: '@'
     },
-    templateUrl: 'template/progressbar/progressbar.html',
+    templateUrl: 'uib/template/progressbar/progressbar.html',
     link: function(scope, element, attrs, progressCtrl) {
       progressCtrl.addBar(scope, angular.element(element.children()[0]), {title: attrs.title});
     }
   };
 });
 
-/* Deprecated progressbar below */
-
-angular.module('ui.bootstrap.progressbar')
-
-.value('$progressSuppressWarning', false)
-
-.controller('ProgressController', ['$scope', '$attrs', 'uibProgressConfig', '$log', '$progressSuppressWarning', function($scope, $attrs, progressConfig, $log, $progressSuppressWarning) {
-  if (!$progressSuppressWarning) {
-    $log.warn('ProgressController is now deprecated. Use UibProgressController instead.');
-  }
-
-  var self = this,
-    animate = angular.isDefined($attrs.animate) ? $scope.$parent.$eval($attrs.animate) : progressConfig.animate;
-
-  this.bars = [];
-  $scope.max = angular.isDefined($scope.max) ? $scope.max : progressConfig.max;
-
-  this.addBar = function(bar, element, attrs) {
-    if (!animate) {
-      element.css({'transition': 'none'});
-    }
-
-    this.bars.push(bar);
-
-    bar.max = $scope.max;
-    bar.title = attrs && angular.isDefined(attrs.title) ? attrs.title : 'progressbar';
-
-    bar.$watch('value', function(value) {
-      bar.recalculatePercentage();
-    });
-
-    bar.recalculatePercentage = function() {
-      bar.percent = +(100 * bar.value / bar.max).toFixed(2);
-
-      var totalPercentage = self.bars.reduce(function(total, bar) {
-        return total + bar.percent;
-      }, 0);
-
-      if (totalPercentage > 100) {
-        bar.percent -= totalPercentage - 100;
-      }
-    };
-
-    bar.$on('$destroy', function() {
-      element = null;
-      self.removeBar(bar);
-    });
-  };
-
-  this.removeBar = function(bar) {
-    this.bars.splice(this.bars.indexOf(bar), 1);
-  };
-
-  $scope.$watch('max', function(max) {
-    self.bars.forEach(function(bar) {
-      bar.max = $scope.max;
-      bar.recalculatePercentage();
-    });
-  });
-}])
-
-.directive('progress', ['$log', '$progressSuppressWarning', function($log, $progressSuppressWarning) {
-  return {
-    replace: true,
-    transclude: true,
-    controller: 'ProgressController',
-    require: 'progress',
-    scope: {
-      max: '=?',
-      title: '@?'
-    },
-    templateUrl: 'template/progressbar/progress.html',
-    link: function() {
-      if (!$progressSuppressWarning) {
-        $log.warn('progress is now deprecated. Use uib-progress instead.');
-      }
-    }
-  };
-}])
-
-.directive('bar', ['$log', '$progressSuppressWarning', function($log, $progressSuppressWarning) {
-  return {
-    replace: true,
-    transclude: true,
-    require: '^progress',
-    scope: {
-      value: '=',
-      type: '@'
-    },
-    templateUrl: 'template/progressbar/bar.html',
-    link: function(scope, element, attrs, progressCtrl) {
-      if (!$progressSuppressWarning) {
-        $log.warn('bar is now deprecated. Use uib-bar instead.');
-      }
-      progressCtrl.addBar(scope, element);
-    }
-  };
-}])
-
-.directive('progressbar', ['$log', '$progressSuppressWarning', function($log, $progressSuppressWarning) {
-  return {
-    replace: true,
-    transclude: true,
-    controller: 'ProgressController',
-    scope: {
-      value: '=',
-      max: '=?',
-      type: '@'
-    },
-    templateUrl: 'template/progressbar/progressbar.html',
-    link: function(scope, element, attrs, progressCtrl) {
-      if (!$progressSuppressWarning) {
-        $log.warn('progressbar is now deprecated. Use uib-progressbar instead.');
-      }
-      progressCtrl.addBar(scope, angular.element(element.children()[0]), {title: attrs.title});
-    }
-  };
-}]);
-
 angular.module('ui.bootstrap.rating', [])
 
 .constant('uibRatingConfig', {
@@ -6069,7 +4948,7 @@ angular.module('ui.bootstrap.rating', [])
 })
 
 .controller('UibRatingController', ['$scope', '$attrs', 'uibRatingConfig', function($scope, $attrs, ratingConfig) {
-  var ngModelCtrl  = { $setViewValue: angular.noop };
+  var ngModelCtrl = { $setViewValue: angular.noop };
 
   this.init = function(ngModelCtrl_) {
     ngModelCtrl = ngModelCtrl_;
@@ -6079,12 +4958,13 @@ angular.module('ui.bootstrap.rating', [])
       if (angular.isNumber(value) && value << 0 !== value) {
         value = Math.round(value);
       }
+
       return value;
     });
 
     this.stateOn = angular.isDefined($attrs.stateOn) ? $scope.$parent.$eval($attrs.stateOn) : ratingConfig.stateOn;
     this.stateOff = angular.isDefined($attrs.stateOff) ? $scope.$parent.$eval($attrs.stateOff) : ratingConfig.stateOff;
-    var tmpTitles = angular.isDefined($attrs.titles)  ? $scope.$parent.$eval($attrs.titles) : ratingConfig.titles ;
+    var tmpTitles = angular.isDefined($attrs.titles) ? $scope.$parent.$eval($attrs.titles) : ratingConfig.titles ;
     this.titles = angular.isArray(tmpTitles) && tmpTitles.length > 0 ?
       tmpTitles : ratingConfig.titles;
 
@@ -6104,9 +4984,9 @@ angular.module('ui.bootstrap.rating', [])
   this.getTitle = function(index) {
     if (index >= this.titles.length) {
       return index + 1;
-    } else {
-      return this.titles[index];
     }
+
+    return this.titles[index];
   };
 
   $scope.rate = function(value) {
@@ -6150,7 +5030,7 @@ angular.module('ui.bootstrap.rating', [])
       onLeave: '&'
     },
     controller: 'UibRatingController',
-    templateUrl: 'template/rating/rating.html',
+    templateUrl: 'uib/template/rating/rating.html',
     replace: true,
     link: function(scope, element, attrs, ctrls) {
       var ratingCtrl = ctrls[0], ngModelCtrl = ctrls[1];
@@ -6159,53 +5039,6 @@ angular.module('ui.bootstrap.rating', [])
   };
 });
 
-/* Deprecated rating below */
-
-angular.module('ui.bootstrap.rating')
-
-.value('$ratingSuppressWarning', false)
-
-.controller('RatingController', ['$scope', '$attrs', '$controller', '$log', '$ratingSuppressWarning', function($scope, $attrs, $controller, $log, $ratingSuppressWarning) {
-  if (!$ratingSuppressWarning) {
-    $log.warn('RatingController is now deprecated. Use UibRatingController instead.');
-  }
-
-  angular.extend(this, $controller('UibRatingController', {
-    $scope: $scope,
-    $attrs: $attrs
-  }));
-}])
-
-.directive('rating', ['$log', '$ratingSuppressWarning', function($log, $ratingSuppressWarning) {
-  return {
-    require: ['rating', 'ngModel'],
-    scope: {
-      readonly: '=?',
-      onHover: '&',
-      onLeave: '&'
-    },
-    controller: 'RatingController',
-    templateUrl: 'template/rating/rating.html',
-    replace: true,
-    link: function(scope, element, attrs, ctrls) {
-      if (!$ratingSuppressWarning) {
-        $log.warn('rating is now deprecated. Use uib-rating instead.');
-      }
-      var ratingCtrl = ctrls[0], ngModelCtrl = ctrls[1];
-      ratingCtrl.init(ngModelCtrl);
-    }
-  };
-}]);
-
-
-/**
- * @ngdoc overview
- * @name ui.bootstrap.tabs
- *
- * @description
- * AngularJS version of the tabs directive.
- */
-
 angular.module('ui.bootstrap.tabs', [])
 
 .controller('UibTabsetController', ['$scope', function ($scope) {
@@ -6246,7 +5079,7 @@ angular.module('ui.bootstrap.tabs', [])
     //Select a new tab if the tab to be removed is selected and not destroyed
     if (tab.active && tabs.length > 1 && !destroyed) {
       //If this is the last tab, select the previous tab. else, the next tab.
-      var newActiveIndex = index == tabs.length - 1 ? index - 1 : index + 1;
+      var newActiveIndex = index === tabs.length - 1 ? index - 1 : index + 1;
       ctrl.select(tabs[newActiveIndex]);
     }
     tabs.splice(index, 1);
@@ -6258,46 +5091,15 @@ angular.module('ui.bootstrap.tabs', [])
   });
 }])
 
-/**
- * @ngdoc directive
- * @name ui.bootstrap.tabs.directive:tabset
- * @restrict EA
- *
- * @description
- * Tabset is the outer container for the tabs directive
- *
- * @param {boolean=} vertical Whether or not to use vertical styling for the tabs.
- * @param {boolean=} justified Whether or not to use justified styling for the tabs.
- *
- * @example
-<example module="ui.bootstrap">
-  <file name="index.html">
-    <uib-tabset>
-      <uib-tab heading="Tab 1"><b>First</b> Content!</uib-tab>
-      <uib-tab heading="Tab 2"><i>Second</i> Content!</uib-tab>
-    </uib-tabset>
-    <hr />
-    <uib-tabset vertical="true">
-      <uib-tab heading="Vertical Tab 1"><b>First</b> Vertical Content!</uib-tab>
-      <uib-tab heading="Vertical Tab 2"><i>Second</i> Vertical Content!</uib-tab>
-    </uib-tabset>
-    <uib-tabset justified="true">
-      <uib-tab heading="Justified Tab 1"><b>First</b> Justified Content!</uib-tab>
-      <uib-tab heading="Justified Tab 2"><i>Second</i> Justified Content!</uib-tab>
-    </uib-tabset>
-  </file>
-</example>
- */
 .directive('uibTabset', function() {
   return {
-    restrict: 'EA',
     transclude: true,
     replace: true,
     scope: {
       type: '@'
     },
     controller: 'UibTabsetController',
-    templateUrl: 'template/tabs/tabset.html',
+    templateUrl: 'uib/template/tabs/tabset.html',
     link: function(scope, element, attrs) {
       scope.vertical = angular.isDefined(attrs.vertical) ? scope.$parent.$eval(attrs.vertical) : false;
       scope.justified = angular.isDefined(attrs.justified) ? scope.$parent.$eval(attrs.justified) : false;
@@ -6305,92 +5107,11 @@ angular.module('ui.bootstrap.tabs', [])
   };
 })
 
-/**
- * @ngdoc directive
- * @name ui.bootstrap.tabs.directive:tab
- * @restrict EA
- *
- * @param {string=} heading The visible heading, or title, of the tab. Set HTML headings with {@link ui.bootstrap.tabs.directive:tabHeading tabHeading}.
- * @param {string=} select An expression to evaluate when the tab is selected.
- * @param {boolean=} active A binding, telling whether or not this tab is selected.
- * @param {boolean=} disabled A binding, telling whether or not this tab is disabled.
- *
- * @description
- * Creates a tab with a heading and content. Must be placed within a {@link ui.bootstrap.tabs.directive:tabset tabset}.
- *
- * @example
-<example module="ui.bootstrap">
-  <file name="index.html">
-    <div ng-controller="TabsDemoCtrl">
-      <button class="btn btn-small" ng-click="items[0].active = true">
-        Select item 1, using active binding
-      </button>
-      <button class="btn btn-small" ng-click="items[1].disabled = !items[1].disabled">
-        Enable/disable item 2, using disabled binding
-      </button>
-      <br />
-      <uib-tabset>
-        <uib-tab heading="Tab 1">First Tab</uib-tab>
-        <uib-tab select="alertMe()">
-          <uib-tab-heading><i class="icon-bell"></i> Alert me!</tab-heading>
-          Second Tab, with alert callback and html heading!
-        </uib-tab>
-        <uib-tab ng-repeat="item in items"
-          heading="{{item.title}}"
-          disabled="item.disabled"
-          active="item.active">
-          {{item.content}}
-        </uib-tab>
-      </uib-tabset>
-    </div>
-  </file>
-  <file name="script.js">
-    function TabsDemoCtrl($scope) {
-      $scope.items = [
-        { title:"Dynamic Title 1", content:"Dynamic Item 0" },
-        { title:"Dynamic Title 2", content:"Dynamic Item 1", disabled: true }
-      ];
-
-      $scope.alertMe = function() {
-        setTimeout(function() {
-          alert("You've selected the alert tab!");
-        });
-      };
-    };
-  </file>
-</example>
- */
-
-/**
- * @ngdoc directive
- * @name ui.bootstrap.tabs.directive:tabHeading
- * @restrict EA
- *
- * @description
- * Creates an HTML heading for a {@link ui.bootstrap.tabs.directive:tab tab}. Must be placed as a child of a tab element.
- *
- * @example
-<example module="ui.bootstrap">
-  <file name="index.html">
-    <uib-tabset>
-      <uib-tab>
-        <uib-tab-heading><b>HTML</b> in my titles?!</tab-heading>
-        And some content, too!
-      </uib-tab>
-      <uib-tab>
-        <uib-tab-heading><i class="icon-heart"></i> Icon heading?!?</tab-heading>
-        That's right.
-      </uib-tab>
-    </uib-tabset>
-  </file>
-</example>
- */
 .directive('uibTab', ['$parse', function($parse) {
   return {
     require: '^uibTabset',
-    restrict: 'EA',
     replace: true,
-    templateUrl: 'template/tabs/tab.html',
+    templateUrl: 'uib/template/tabs/tab.html',
     transclude: true,
     scope: {
       active: '=?',
@@ -6402,6 +5123,7 @@ angular.module('ui.bootstrap.tabs', [])
     controller: function() {
       //Empty controller so other directives can require being 'under' a tab
     },
+    controllerAs: 'tab',
     link: function(scope, elm, attrs, tabsetCtrl, transclude) {
       scope.$watch('active', function(active) {
         if (active) {
@@ -6437,7 +5159,7 @@ angular.module('ui.bootstrap.tabs', [])
 .directive('uibTabHeadingTransclude', function() {
   return {
     restrict: 'A',
-    require: ['?^uibTab', '?^tab'], // TODO: change to '^uibTab' after deprecation removal
+    require: '^uibTab',
     link: function(scope, elm) {
       scope.$watch('headingElement', function updateHeadingElement(heading) {
         if (heading) {
@@ -6452,7 +5174,7 @@ angular.module('ui.bootstrap.tabs', [])
 .directive('uibTabContentTransclude', function() {
   return {
     restrict: 'A',
-    require: ['?^uibTabset', '?^tabset'], // TODO: change to '^uibTabset' after deprecation removal
+    require: '^uibTabset',
     link: function(scope, elm, attrs) {
       var tab = scope.$eval(attrs.uibTabContentTransclude);
 
@@ -6473,15 +5195,9 @@ angular.module('ui.bootstrap.tabs', [])
 
   function isTabHeading(node) {
     return node.tagName && (
-      node.hasAttribute('tab-heading') || // TODO: remove after deprecation removal
-      node.hasAttribute('data-tab-heading') || // TODO: remove after deprecation removal
-      node.hasAttribute('x-tab-heading') || // TODO: remove after deprecation removal
       node.hasAttribute('uib-tab-heading') ||
       node.hasAttribute('data-uib-tab-heading') ||
       node.hasAttribute('x-uib-tab-heading') ||
-      node.tagName.toLowerCase() === 'tab-heading' || // TODO: remove after deprecation removal
-      node.tagName.toLowerCase() === 'data-tab-heading' || // TODO: remove after deprecation removal
-      node.tagName.toLowerCase() === 'x-tab-heading' || // TODO: remove after deprecation removal
       node.tagName.toLowerCase() === 'uib-tab-heading' ||
       node.tagName.toLowerCase() === 'data-uib-tab-heading' ||
       node.tagName.toLowerCase() === 'x-uib-tab-heading'
@@ -6489,165 +5205,20 @@ angular.module('ui.bootstrap.tabs', [])
   }
 });
 
-/* deprecated tabs below */
-
-angular.module('ui.bootstrap.tabs')
-
-  .value('$tabsSuppressWarning', false)
-
-  .controller('TabsetController', ['$scope', '$controller', '$log', '$tabsSuppressWarning', function($scope, $controller, $log, $tabsSuppressWarning) {
-    if (!$tabsSuppressWarning) {
-      $log.warn('TabsetController is now deprecated. Use UibTabsetController instead.');
-    }
-
-    angular.extend(this, $controller('UibTabsetController', {
-      $scope: $scope
-    }));
-  }])
-
-  .directive('tabset', ['$log', '$tabsSuppressWarning', function($log, $tabsSuppressWarning) {
-    return {
-      restrict: 'EA',
-      transclude: true,
-      replace: true,
-      scope: {
-        type: '@'
-      },
-      controller: 'TabsetController',
-      templateUrl: 'template/tabs/tabset.html',
-      link: function(scope, element, attrs) {
-
-        if (!$tabsSuppressWarning) {
-          $log.warn('tabset is now deprecated. Use uib-tabset instead.');
-        }
-        scope.vertical = angular.isDefined(attrs.vertical) ? scope.$parent.$eval(attrs.vertical) : false;
-        scope.justified = angular.isDefined(attrs.justified) ? scope.$parent.$eval(attrs.justified) : false;
-      }
-    };
-  }])
-
-  .directive('tab', ['$parse', '$log', '$tabsSuppressWarning', function($parse, $log, $tabsSuppressWarning) {
-    return {
-      require: '^tabset',
-      restrict: 'EA',
-      replace: true,
-      templateUrl: 'template/tabs/tab.html',
-      transclude: true,
-      scope: {
-        active: '=?',
-        heading: '@',
-        onSelect: '&select', //This callback is called in contentHeadingTransclude
-        //once it inserts the tab's content into the dom
-        onDeselect: '&deselect'
-      },
-      controller: function() {
-        //Empty controller so other directives can require being 'under' a tab
-      },
-      link: function(scope, elm, attrs, tabsetCtrl, transclude) {
-        if (!$tabsSuppressWarning) {
-          $log.warn('tab is now deprecated. Use uib-tab instead.');
-        }
-
-        scope.$watch('active', function(active) {
-          if (active) {
-            tabsetCtrl.select(scope);
-          }
-        });
-
-        scope.disabled = false;
-        if (attrs.disable) {
-          scope.$parent.$watch($parse(attrs.disable), function(value) {
-            scope.disabled = !!value;
-          });
-        }
-
-        scope.select = function() {
-          if (!scope.disabled) {
-            scope.active = true;
-          }
-        };
-
-        tabsetCtrl.addTab(scope);
-        scope.$on('$destroy', function() {
-          tabsetCtrl.removeTab(scope);
-        });
-
-        //We need to transclude later, once the content container is ready.
-        //when this link happens, we're inside a tab heading.
-        scope.$transcludeFn = transclude;
-      }
-    };
-  }])
-
-  .directive('tabHeadingTransclude', ['$log', '$tabsSuppressWarning', function($log, $tabsSuppressWarning) {
-    return {
-      restrict: 'A',
-      require: '^tab',
-      link: function(scope, elm) {
-        if (!$tabsSuppressWarning) {
-          $log.warn('tab-heading-transclude is now deprecated. Use uib-tab-heading-transclude instead.');
-        }
-
-        scope.$watch('headingElement', function updateHeadingElement(heading) {
-          if (heading) {
-            elm.html('');
-            elm.append(heading);
-          }
-        });
-      }
-    };
-  }])
-
-  .directive('tabContentTransclude', ['$log', '$tabsSuppressWarning', function($log, $tabsSuppressWarning) {
-    return {
-      restrict: 'A',
-      require: '^tabset',
-      link: function(scope, elm, attrs) {
-        if (!$tabsSuppressWarning) {
-          $log.warn('tab-content-transclude is now deprecated. Use uib-tab-content-transclude instead.');
-        }
-
-        var tab = scope.$eval(attrs.tabContentTransclude);
-
-        //Now our tab is ready to be transcluded: both the tab heading area
-        //and the tab content area are loaded.  Transclude 'em both.
-        tab.$transcludeFn(tab.$parent, function(contents) {
-          angular.forEach(contents, function(node) {
-            if (isTabHeading(node)) {
-              //Let tabHeadingTransclude know.
-              tab.headingElement = node;
-            }
-            else {
-              elm.append(node);
-            }
-          });
-        });
-      }
-    };
-
-    function isTabHeading(node) {
-      return node.tagName && (
-          node.hasAttribute('tab-heading') ||
-          node.hasAttribute('data-tab-heading') ||
-          node.hasAttribute('x-tab-heading') ||
-          node.tagName.toLowerCase() === 'tab-heading' ||
-          node.tagName.toLowerCase() === 'data-tab-heading' ||
-          node.tagName.toLowerCase() === 'x-tab-heading'
-        );
-    }
-  }]);
-
 angular.module('ui.bootstrap.timepicker', [])
 
 .constant('uibTimepickerConfig', {
   hourStep: 1,
   minuteStep: 1,
+  secondStep: 1,
   showMeridian: true,
+  showSeconds: false,
   meridians: null,
   readonlyInput: false,
   mousewheel: true,
   arrowkeys: true,
-  showSpinners: true
+  showSpinners: true,
+  templateUrl: 'uib/template/timepicker/timepicker.html'
 })
 
 .controller('UibTimepickerController', ['$scope', '$element', '$attrs', '$parse', '$log', '$locale', 'uibTimepickerConfig', function($scope, $element, $attrs, $parse, $log, $locale, timepickerConfig) {
@@ -6667,33 +5238,35 @@ angular.module('ui.bootstrap.timepicker', [])
     });
 
     var hoursInputEl = inputs.eq(0),
-        minutesInputEl = inputs.eq(1);
+        minutesInputEl = inputs.eq(1),
+        secondsInputEl = inputs.eq(2);
 
     var mousewheel = angular.isDefined($attrs.mousewheel) ? $scope.$parent.$eval($attrs.mousewheel) : timepickerConfig.mousewheel;
+
     if (mousewheel) {
-      this.setupMousewheelEvents(hoursInputEl, minutesInputEl);
+      this.setupMousewheelEvents(hoursInputEl, minutesInputEl, secondsInputEl);
     }
 
     var arrowkeys = angular.isDefined($attrs.arrowkeys) ? $scope.$parent.$eval($attrs.arrowkeys) : timepickerConfig.arrowkeys;
     if (arrowkeys) {
-      this.setupArrowkeyEvents(hoursInputEl, minutesInputEl);
+      this.setupArrowkeyEvents(hoursInputEl, minutesInputEl, secondsInputEl);
     }
 
     $scope.readonlyInput = angular.isDefined($attrs.readonlyInput) ? $scope.$parent.$eval($attrs.readonlyInput) : timepickerConfig.readonlyInput;
-    this.setupInputEvents(hoursInputEl, minutesInputEl);
+    this.setupInputEvents(hoursInputEl, minutesInputEl, secondsInputEl);
   };
 
   var hourStep = timepickerConfig.hourStep;
   if ($attrs.hourStep) {
     $scope.$parent.$watch($parse($attrs.hourStep), function(value) {
-      hourStep = parseInt(value, 10);
+      hourStep = +value;
     });
   }
 
   var minuteStep = timepickerConfig.minuteStep;
   if ($attrs.minuteStep) {
     $scope.$parent.$watch($parse($attrs.minuteStep), function(value) {
-      minuteStep = parseInt(value, 10);
+      minuteStep = +value;
     });
   }
 
@@ -6709,38 +5282,71 @@ angular.module('ui.bootstrap.timepicker', [])
     max = isNaN(dt) ? undefined : dt;
   });
 
+  var disabled = false;
+  if ($attrs.ngDisabled) {
+    $scope.$parent.$watch($parse($attrs.ngDisabled), function(value) {
+      disabled = value;
+    });
+  }
+
   $scope.noIncrementHours = function() {
     var incrementedSelected = addMinutes(selected, hourStep * 60);
-    return incrementedSelected > max ||
-      (incrementedSelected < selected && incrementedSelected < min);
+    return disabled || incrementedSelected > max ||
+      incrementedSelected < selected && incrementedSelected < min;
   };
 
   $scope.noDecrementHours = function() {
     var decrementedSelected = addMinutes(selected, -hourStep * 60);
-    return decrementedSelected < min ||
-      (decrementedSelected > selected && decrementedSelected > max);
+    return disabled || decrementedSelected < min ||
+      decrementedSelected > selected && decrementedSelected > max;
   };
 
   $scope.noIncrementMinutes = function() {
     var incrementedSelected = addMinutes(selected, minuteStep);
-    return incrementedSelected > max ||
-      (incrementedSelected < selected && incrementedSelected < min);
+    return disabled || incrementedSelected > max ||
+      incrementedSelected < selected && incrementedSelected < min;
   };
 
   $scope.noDecrementMinutes = function() {
     var decrementedSelected = addMinutes(selected, -minuteStep);
-    return decrementedSelected < min ||
-      (decrementedSelected > selected && decrementedSelected > max);
+    return disabled || decrementedSelected < min ||
+      decrementedSelected > selected && decrementedSelected > max;
+  };
+
+  $scope.noIncrementSeconds = function() {
+    var incrementedSelected = addSeconds(selected, secondStep);
+    return disabled || incrementedSelected > max ||
+      incrementedSelected < selected && incrementedSelected < min;
+  };
+
+  $scope.noDecrementSeconds = function() {
+    var decrementedSelected = addSeconds(selected, -secondStep);
+    return disabled || decrementedSelected < min ||
+      decrementedSelected > selected && decrementedSelected > max;
   };
 
   $scope.noToggleMeridian = function() {
-    if (selected.getHours() < 13) {
-      return addMinutes(selected, 12 * 60) > max;
-    } else {
-      return addMinutes(selected, -12 * 60) < min;
+    if (selected.getHours() < 12) {
+      return disabled || addMinutes(selected, 12 * 60) > max;
     }
+
+    return disabled || addMinutes(selected, -12 * 60) < min;
   };
 
+  var secondStep = timepickerConfig.secondStep;
+  if ($attrs.secondStep) {
+    $scope.$parent.$watch($parse($attrs.secondStep), function(value) {
+      secondStep = +value;
+    });
+  }
+
+  $scope.showSeconds = timepickerConfig.showSeconds;
+  if ($attrs.showSeconds) {
+    $scope.$parent.$watch($parse($attrs.showSeconds), function(value) {
+      $scope.showSeconds = !!value;
+    });
+  }
+
   // 12H / 24H mode
   $scope.showMeridian = timepickerConfig.showMeridian;
   if ($attrs.showMeridian) {
@@ -6762,8 +5368,9 @@ angular.module('ui.bootstrap.timepicker', [])
 
   // Get $scope.hours in 24H mode if valid
   function getHoursFromTemplate() {
-    var hours = parseInt($scope.hours, 10);
-    var valid = $scope.showMeridian ? (hours > 0 && hours < 13) : (hours >= 0 && hours < 24);
+    var hours = +$scope.hours;
+    var valid = $scope.showMeridian ? hours > 0 && hours < 13 :
+      hours >= 0 && hours < 24;
     if (!valid) {
       return undefined;
     }
@@ -6780,88 +5387,135 @@ angular.module('ui.bootstrap.timepicker', [])
   }
 
   function getMinutesFromTemplate() {
-    var minutes = parseInt($scope.minutes, 10);
-    return (minutes >= 0 && minutes < 60) ? minutes : undefined;
+    var minutes = +$scope.minutes;
+    return minutes >= 0 && minutes < 60 ? minutes : undefined;
+  }
+
+  function getSecondsFromTemplate() {
+    var seconds = +$scope.seconds;
+    return seconds >= 0 && seconds < 60 ? seconds : undefined;
   }
 
   function pad(value) {
-    return (angular.isDefined(value) && value.toString().length < 2) ? '0' + value : value.toString();
+    if (value === null) {
+      return '';
+    }
+
+    return angular.isDefined(value) && value.toString().length < 2 ?
+      '0' + value : value.toString();
   }
 
   // Respond on mousewheel spin
-  this.setupMousewheelEvents = function(hoursInputEl, minutesInputEl) {
+  this.setupMousewheelEvents = function(hoursInputEl, minutesInputEl, secondsInputEl) {
     var isScrollingUp = function(e) {
       if (e.originalEvent) {
         e = e.originalEvent;
       }
       //pick correct delta variable depending on event
-      var delta = (e.wheelDelta) ? e.wheelDelta : -e.deltaY;
-      return (e.detail || delta > 0);
+      var delta = e.wheelDelta ? e.wheelDelta : -e.deltaY;
+      return e.detail || delta > 0;
     };
 
     hoursInputEl.bind('mousewheel wheel', function(e) {
-      $scope.$apply(isScrollingUp(e) ? $scope.incrementHours() : $scope.decrementHours());
+      if (!disabled) {
+        $scope.$apply(isScrollingUp(e) ? $scope.incrementHours() : $scope.decrementHours());
+      }
       e.preventDefault();
     });
 
     minutesInputEl.bind('mousewheel wheel', function(e) {
-      $scope.$apply(isScrollingUp(e) ? $scope.incrementMinutes() : $scope.decrementMinutes());
+      if (!disabled) {
+        $scope.$apply(isScrollingUp(e) ? $scope.incrementMinutes() : $scope.decrementMinutes());
+      }
       e.preventDefault();
     });
 
+     secondsInputEl.bind('mousewheel wheel', function(e) {
+      if (!disabled) {
+        $scope.$apply(isScrollingUp(e) ? $scope.incrementSeconds() : $scope.decrementSeconds());
+      }
+      e.preventDefault();
+    });
   };
 
   // Respond on up/down arrowkeys
-  this.setupArrowkeyEvents = function(hoursInputEl, minutesInputEl) {
+  this.setupArrowkeyEvents = function(hoursInputEl, minutesInputEl, secondsInputEl) {
     hoursInputEl.bind('keydown', function(e) {
-      if (e.which === 38) { // up
-        e.preventDefault();
-        $scope.incrementHours();
-        $scope.$apply();
-      } else if (e.which === 40) { // down
-        e.preventDefault();
-        $scope.decrementHours();
-        $scope.$apply();
+      if (!disabled) {
+        if (e.which === 38) { // up
+          e.preventDefault();
+          $scope.incrementHours();
+          $scope.$apply();
+        } else if (e.which === 40) { // down
+          e.preventDefault();
+          $scope.decrementHours();
+          $scope.$apply();
+        }
       }
     });
 
     minutesInputEl.bind('keydown', function(e) {
-      if (e.which === 38) { // up
-        e.preventDefault();
-        $scope.incrementMinutes();
-        $scope.$apply();
-      } else if (e.which === 40) { // down
-        e.preventDefault();
-        $scope.decrementMinutes();
-        $scope.$apply();
+      if (!disabled) {
+        if (e.which === 38) { // up
+          e.preventDefault();
+          $scope.incrementMinutes();
+          $scope.$apply();
+        } else if (e.which === 40) { // down
+          e.preventDefault();
+          $scope.decrementMinutes();
+          $scope.$apply();
+        }
+      }
+    });
+
+    secondsInputEl.bind('keydown', function(e) {
+      if (!disabled) {
+        if (e.which === 38) { // up
+          e.preventDefault();
+          $scope.incrementSeconds();
+          $scope.$apply();
+        } else if (e.which === 40) { // down
+          e.preventDefault();
+          $scope.decrementSeconds();
+          $scope.$apply();
+        }
       }
     });
   };
 
-  this.setupInputEvents = function(hoursInputEl, minutesInputEl) {
+  this.setupInputEvents = function(hoursInputEl, minutesInputEl, secondsInputEl) {
     if ($scope.readonlyInput) {
       $scope.updateHours = angular.noop;
       $scope.updateMinutes = angular.noop;
+      $scope.updateSeconds = angular.noop;
       return;
     }
 
-    var invalidate = function(invalidHours, invalidMinutes) {
+    var invalidate = function(invalidHours, invalidMinutes, invalidSeconds) {
       ngModelCtrl.$setViewValue(null);
       ngModelCtrl.$setValidity('time', false);
       if (angular.isDefined(invalidHours)) {
         $scope.invalidHours = invalidHours;
       }
+
       if (angular.isDefined(invalidMinutes)) {
         $scope.invalidMinutes = invalidMinutes;
       }
+
+      if (angular.isDefined(invalidSeconds)) {
+        $scope.invalidSeconds = invalidSeconds;
+      }
     };
 
     $scope.updateHours = function() {
       var hours = getHoursFromTemplate(),
         minutes = getMinutesFromTemplate();
 
+      ngModelCtrl.$setDirty();
+
       if (angular.isDefined(hours) && angular.isDefined(minutes)) {
         selected.setHours(hours);
+        selected.setMinutes(minutes);
         if (selected < min || selected > max) {
           invalidate(true);
         } else {
@@ -6873,7 +5527,10 @@ angular.module('ui.bootstrap.timepicker', [])
     };
 
     hoursInputEl.bind('blur', function(e) {
-      if (!$scope.invalidHours && $scope.hours < 10) {
+      ngModelCtrl.$setTouched();
+      if ($scope.hours === null || $scope.hours === '') {
+        invalidate(true);
+      } else if (!$scope.invalidHours && $scope.hours < 10) {
         $scope.$apply(function() {
           $scope.hours = pad($scope.hours);
         });
@@ -6884,7 +5541,10 @@ angular.module('ui.bootstrap.timepicker', [])
       var minutes = getMinutesFromTemplate(),
         hours = getHoursFromTemplate();
 
+      ngModelCtrl.$setDirty();
+
       if (angular.isDefined(minutes) && angular.isDefined(hours)) {
+        selected.setHours(hours);
         selected.setMinutes(minutes);
         if (selected < min || selected > max) {
           invalidate(undefined, true);
@@ -6897,13 +5557,37 @@ angular.module('ui.bootstrap.timepicker', [])
     };
 
     minutesInputEl.bind('blur', function(e) {
-      if (!$scope.invalidMinutes && $scope.minutes < 10) {
+      ngModelCtrl.$setTouched();
+      if ($scope.minutes === null) {
+        invalidate(undefined, true);
+      } else if (!$scope.invalidMinutes && $scope.minutes < 10) {
         $scope.$apply(function() {
           $scope.minutes = pad($scope.minutes);
         });
       }
     });
 
+    $scope.updateSeconds = function() {
+      var seconds = getSecondsFromTemplate();
+
+      ngModelCtrl.$setDirty();
+
+      if (angular.isDefined(seconds)) {
+        selected.setSeconds(seconds);
+        refresh('s');
+      } else {
+        invalidate(undefined, undefined, true);
+      }
+    };
+
+    secondsInputEl.bind('blur', function(e) {
+      if (!$scope.invalidSeconds && $scope.seconds < 10) {
+        $scope.$apply( function() {
+          $scope.seconds = pad($scope.seconds);
+        });
+      }
+    });
+
   };
 
   this.render = function() {
@@ -6939,32 +5623,51 @@ angular.module('ui.bootstrap.timepicker', [])
     ngModelCtrl.$setValidity('time', true);
     $scope.invalidHours = false;
     $scope.invalidMinutes = false;
+    $scope.invalidSeconds = false;
   }
 
   function updateTemplate(keyboardChange) {
-    var hours = selected.getHours(), minutes = selected.getMinutes();
+    if (!ngModelCtrl.$modelValue) {
+      $scope.hours = null;
+      $scope.minutes = null;
+      $scope.seconds = null;
+      $scope.meridian = meridians[0];
+    } else {
+      var hours = selected.getHours(),
+        minutes = selected.getMinutes(),
+        seconds = selected.getSeconds();
 
-    if ($scope.showMeridian) {
-      hours = (hours === 0 || hours === 12) ? 12 : hours % 12; // Convert 24 to 12 hour system
-    }
+      if ($scope.showMeridian) {
+        hours = hours === 0 || hours === 12 ? 12 : hours % 12; // Convert 24 to 12 hour system
+      }
+
+      $scope.hours = keyboardChange === 'h' ? hours : pad(hours);
+      if (keyboardChange !== 'm') {
+        $scope.minutes = pad(minutes);
+      }
+      $scope.meridian = selected.getHours() < 12 ? meridians[0] : meridians[1];
 
-    $scope.hours = keyboardChange === 'h' ? hours : pad(hours);
-    if (keyboardChange !== 'm') {
-      $scope.minutes = pad(minutes);
+      if (keyboardChange !== 's') {
+        $scope.seconds = pad(seconds);
+      }
+      $scope.meridian = selected.getHours() < 12 ? meridians[0] : meridians[1];
     }
-    $scope.meridian = selected.getHours() < 12 ? meridians[0] : meridians[1];
   }
 
-  function addMinutes(date, minutes) {
-    var dt = new Date(date.getTime() + minutes * 60000);
-    var newDate = new Date(date);
-    newDate.setHours(dt.getHours(), dt.getMinutes());
-    return newDate;
+  function addSecondsToSelected(seconds) {
+    selected = addSeconds(selected, seconds);
+    refresh();
   }
 
-  function addMinutesToSelected(minutes) {
-    selected = addMinutes(selected, minutes);
-    refresh();
+  function addMinutes(selected, minutes) {
+    return addSeconds(selected, minutes*60);
+  }
+
+  function addSeconds(date, seconds) {
+    var dt = new Date(date.getTime() + seconds * 1000);
+    var newDate = new Date(date);
+    newDate.setHours(dt.getHours(), dt.getMinutes(), dt.getSeconds());
+    return newDate;
   }
 
   $scope.showSpinners = angular.isDefined($attrs.showSpinners) ?
@@ -6972,89 +5675,69 @@ angular.module('ui.bootstrap.timepicker', [])
 
   $scope.incrementHours = function() {
     if (!$scope.noIncrementHours()) {
-      addMinutesToSelected(hourStep * 60);
+      addSecondsToSelected(hourStep * 60 * 60);
     }
   };
 
   $scope.decrementHours = function() {
     if (!$scope.noDecrementHours()) {
-      addMinutesToSelected(-hourStep * 60);
+      addSecondsToSelected(-hourStep * 60 * 60);
     }
   };
 
   $scope.incrementMinutes = function() {
     if (!$scope.noIncrementMinutes()) {
-      addMinutesToSelected(minuteStep);
+      addSecondsToSelected(minuteStep * 60);
     }
   };
 
   $scope.decrementMinutes = function() {
     if (!$scope.noDecrementMinutes()) {
-      addMinutesToSelected(-minuteStep);
+      addSecondsToSelected(-minuteStep * 60);
     }
   };
 
-  $scope.toggleMeridian = function() {
-    if (!$scope.noToggleMeridian()) {
-      addMinutesToSelected(12 * 60 * (selected.getHours() < 12 ? 1 : -1));
+  $scope.incrementSeconds = function() {
+    if (!$scope.noIncrementSeconds()) {
+      addSecondsToSelected(secondStep);
     }
   };
-}])
-
-.directive('uibTimepicker', function() {
-  return {
-    restrict: 'EA',
-    require: ['uibTimepicker', '?^ngModel'],
-    controller: 'UibTimepickerController',
-    controllerAs: 'timepicker',
-    replace: true,
-    scope: {},
-    templateUrl: function(element, attrs) {
-      return attrs.templateUrl || 'template/timepicker/timepicker.html';
-    },
-    link: function(scope, element, attrs, ctrls) {
-      var timepickerCtrl = ctrls[0], ngModelCtrl = ctrls[1];
 
-      if (ngModelCtrl) {
-        timepickerCtrl.init(ngModelCtrl, element.find('input'));
-      }
+  $scope.decrementSeconds = function() {
+    if (!$scope.noDecrementSeconds()) {
+      addSecondsToSelected(-secondStep);
     }
   };
-});
-
-/* Deprecated timepicker below */
-
-angular.module('ui.bootstrap.timepicker')
 
-.value('$timepickerSuppressWarning', false)
+  $scope.toggleMeridian = function() {
+    var minutes = getMinutesFromTemplate(),
+        hours = getHoursFromTemplate();
 
-.controller('TimepickerController', ['$scope', '$element', '$attrs', '$controller', '$log', '$timepickerSuppressWarning', function($scope, $element, $attrs, $controller, $log, $timepickerSuppressWarning) {
-  if (!$timepickerSuppressWarning) {
-    $log.warn('TimepickerController is now deprecated. Use UibTimepickerController instead.');
-  }
+    if (!$scope.noToggleMeridian()) {
+      if (angular.isDefined(minutes) && angular.isDefined(hours)) {
+        addSecondsToSelected(12 * 60 * (selected.getHours() < 12 ? 60 : -60));
+      } else {
+        $scope.meridian = $scope.meridian === meridians[0] ? meridians[1] : meridians[0];
+      }
+    }
+  };
 
-  angular.extend(this, $controller('UibTimepickerController', {
-    $scope: $scope,
-    $element: $element,
-    $attrs: $attrs
-  }));
+  $scope.blur = function() {
+    ngModelCtrl.$setTouched();
+  };
 }])
 
-.directive('timepicker', ['$log', '$timepickerSuppressWarning', function($log, $timepickerSuppressWarning) {
+.directive('uibTimepicker', ['uibTimepickerConfig', function(uibTimepickerConfig) {
   return {
-    restrict: 'EA',
-    require: ['timepicker', '?^ngModel'],
-    controller: 'TimepickerController',
+    require: ['uibTimepicker', '?^ngModel'],
+    controller: 'UibTimepickerController',
     controllerAs: 'timepicker',
     replace: true,
     scope: {},
     templateUrl: function(element, attrs) {
-      return attrs.templateUrl || 'template/timepicker/timepicker.html';
+      return attrs.templateUrl || uibTimepickerConfig.templateUrl;
     },
     link: function(scope, element, attrs, ctrls) {
-      if (!$timepickerSuppressWarning) {
-        $log.warn('timepicker is now deprecated. Use uib-timepicker instead.');
-      }
       var timepickerCtrl = ctrls[0], ngModelCtrl = ctrls[1];
 
       if (ngModelCtrl) {
@@ -7064,7 +5747,7 @@ angular.module('ui.bootstrap.timepicker')
   };
 }]);
 
-angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.position'])
+angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.debounce', 'ui.bootstrap.position'])
 
 /**
  * A helper service that can parse typeahead's syntax (string provided by users)
@@ -7092,8 +5775,8 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.position'])
     };
   }])
 
-  .controller('UibTypeaheadController', ['$scope', '$element', '$attrs', '$compile', '$parse', '$q', '$timeout', '$document', '$window', '$rootScope', '$uibPosition', 'uibTypeaheadParser',
-    function(originalScope, element, attrs, $compile, $parse, $q, $timeout, $document, $window, $rootScope, $position, typeaheadParser) {
+  .controller('UibTypeaheadController', ['$scope', '$element', '$attrs', '$compile', '$parse', '$q', '$timeout', '$document', '$window', '$rootScope', '$$debounce', '$uibPosition', 'uibTypeaheadParser',
+    function(originalScope, element, attrs, $compile, $parse, $q, $timeout, $document, $window, $rootScope, $$debounce, $position, typeaheadParser) {
     var HOT_KEYS = [9, 13, 27, 38, 40];
     var eventDebounceTime = 200;
     var modelCtrl, ngModelOptions;
@@ -7110,6 +5793,9 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.position'])
 
     //should it restrict model values to the ones selected from the popup only?
     var isEditable = originalScope.$eval(attrs.typeaheadEditable) !== false;
+    originalScope.$watch(attrs.typeaheadEditable, function (newVal) {
+      isEditable = newVal !== false;
+    });
 
     //binding to a variable that indicates if matches are being retrieved asynchronously
     var isLoadingSetter = $parse(attrs.typeaheadLoading).assign || angular.noop;
@@ -7125,15 +5811,21 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.position'])
 
     var inputFormatter = attrs.typeaheadInputFormatter ? $parse(attrs.typeaheadInputFormatter) : undefined;
 
-    var appendToBody =  attrs.typeaheadAppendToBody ? originalScope.$eval(attrs.typeaheadAppendToBody) : false;
+    var appendToBody = attrs.typeaheadAppendToBody ? originalScope.$eval(attrs.typeaheadAppendToBody) : false;
 
-    var appendToElementId =  attrs.typeaheadAppendToElementId || false;
+    var appendTo = attrs.typeaheadAppendTo ?
+      originalScope.$eval(attrs.typeaheadAppendTo) : null;
 
     var focusFirst = originalScope.$eval(attrs.typeaheadFocusFirst) !== false;
 
     //If input matches an item of the list exactly, select it automatically
     var selectOnExact = attrs.typeaheadSelectOnExact ? originalScope.$eval(attrs.typeaheadSelectOnExact) : false;
 
+    //binding to a variable that indicates if dropdown is open
+    var isOpenSetter = $parse(attrs.typeaheadIsOpen).assign || angular.noop;
+
+    var showHint = originalScope.$eval(attrs.typeaheadShowHint) || false;
+
     //INTERNAL VARIABLES
 
     //model setter executed upon match selection
@@ -7143,9 +5835,9 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.position'])
       if (angular.isFunction(parsedModel(originalScope)) &&
         ngModelOptions && ngModelOptions.$options && ngModelOptions.$options.getterSetter) {
         return invokeModelSetter(scope, {$$$p: newValue});
-      } else {
-        return parsedModel.assign(scope, newValue);
       }
+
+      return parsedModel.assign(scope, newValue);
     };
 
     //expressions used by typeahead
@@ -7174,16 +5866,46 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.position'])
       'aria-owns': popupId
     });
 
+    var inputsContainer, hintInputElem;
+    //add read-only input to show hint
+    if (showHint) {
+      inputsContainer = angular.element('<div></div>');
+      inputsContainer.css('position', 'relative');
+      element.after(inputsContainer);
+      hintInputElem = element.clone();
+      hintInputElem.attr('placeholder', '');
+      hintInputElem.val('');
+      hintInputElem.css({
+        'position': 'absolute',
+        'top': '0px',
+        'left': '0px',
+        'border-color': 'transparent',
+        'box-shadow': 'none',
+        'opacity': 1,
+        'background': 'none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255)',
+        'color': '#999'
+      });
+      element.css({
+        'position': 'relative',
+        'vertical-align': 'top',
+        'background-color': 'transparent'
+      });
+      inputsContainer.append(hintInputElem);
+      hintInputElem.after(element);
+    }
+
     //pop-up element used to display matches
     var popUpEl = angular.element('<div uib-typeahead-popup></div>');
     popUpEl.attr({
       id: popupId,
       matches: 'matches',
       active: 'activeIdx',
-      select: 'select(activeIdx)',
+      select: 'select(activeIdx, evt)',
       'move-in-progress': 'moveInProgress',
       query: 'query',
-      position: 'position'
+      position: 'position',
+      'assign-is-open': 'assignIsOpen(isOpen)',
+      debounce: 'debounceUpdate'
     });
     //custom item template
     if (angular.isDefined(attrs.typeaheadTemplateUrl)) {
@@ -7194,10 +5916,17 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.position'])
       popUpEl.attr('popup-template-url', attrs.typeaheadPopupTemplateUrl);
     }
 
+    var resetHint = function() {
+      if (showHint) {
+        hintInputElem.val('');
+      }
+    };
+
     var resetMatches = function() {
       scope.matches = [];
       scope.activeIdx = -1;
       element.attr('aria-expanded', false);
+      resetHint();
     };
 
     var getMatchId = function(index) {
@@ -7222,14 +5951,14 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.position'])
       return false;
     };
 
-    var getMatchesAsync = function(inputValue) {
+    var getMatchesAsync = function(inputValue, evt) {
       var locals = {$viewValue: inputValue};
       isLoadingSetter(originalScope, true);
       isNoResultsSetter(originalScope, false);
       $q.when(parserResult.source(originalScope, locals)).then(function(matches) {
         //it might happen that several async queries were in progress if a user were typing fast
         //but we are interested only in responses that correspond to the current view value
-        var onCurrentRequest = (inputValue === modelCtrl.$viewValue);
+        var onCurrentRequest = inputValue === modelCtrl.$viewValue;
         if (onCurrentRequest && hasFocus) {
           if (matches && matches.length > 0) {
             scope.activeIdx = focusFirst ? 0 : -1;
@@ -7256,7 +5985,23 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.position'])
 
             //Select the single remaining option if user input matches
             if (selectOnExact && scope.matches.length === 1 && inputIsExactMatch(inputValue, 0)) {
-              scope.select(0);
+              if (angular.isNumber(scope.debounceUpdate) || angular.isObject(scope.debounceUpdate)) {
+                $$debounce(function() {
+                  scope.select(0, evt);
+                }, angular.isNumber(scope.debounceUpdate) ? scope.debounceUpdate : scope.debounceUpdate['default']);
+              } else {
+                scope.select(0, evt);
+              }
+            }
+
+            if (showHint) {
+              var firstLabel = scope.matches[0].label;
+              if (inputValue.length > 0 && firstLabel.slice(0, inputValue.length).toUpperCase() === inputValue.toUpperCase()) {
+                hintInputElem.val(inputValue + firstLabel.slice(inputValue.length));
+              }
+              else {
+                hintInputElem.val('');
+              }
             }
           } else {
             resetMatches();
@@ -7275,12 +6020,20 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.position'])
 
     // bind events only if appendToBody params exist - performance feature
     if (appendToBody) {
-      angular.element($window).bind('resize', fireRecalculating);
-      $document.find('body').bind('scroll', fireRecalculating);
+      angular.element($window).on('resize', fireRecalculating);
+      $document.find('body').on('scroll', fireRecalculating);
     }
 
-    // Declare the timeout promise var outside the function scope so that stacked calls can be cancelled later
-    var timeoutEventPromise;
+    // Declare the debounced function outside recalculating for
+    // proper debouncing
+    var debouncedRecalculate = $$debounce(function() {
+      // if popup is visible
+      if (scope.matches.length) {
+        recalculatePosition();
+      }
+
+      scope.moveInProgress = false;
+    }, eventDebounceTime);
 
     // Default progress type
     scope.moveInProgress = false;
@@ -7291,20 +6044,7 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.position'])
         scope.$digest();
       }
 
-      // Cancel previous timeout
-      if (timeoutEventPromise) {
-        $timeout.cancel(timeoutEventPromise);
-      }
-
-      // Debounced executing recalculate after events fired
-      timeoutEventPromise = $timeout(function() {
-        // if popup is visible
-        if (scope.matches.length) {
-          recalculatePosition();
-        }
-
-        scope.moveInProgress = false;
-      }, eventDebounceTime);
+      debouncedRecalculate();
     }
 
     // recalculate actual position and set new values to scope
@@ -7334,7 +6074,11 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.position'])
 
     resetMatches();
 
-    scope.select = function(activeIdx) {
+    scope.assignIsOpen = function (isOpen) {
+      isOpenSetter(originalScope, isOpen);
+    };
+
+    scope.select = function(activeIdx, evt) {
       //called from within the $digest() cycle
       var locals = {};
       var model, item;
@@ -7349,7 +6093,8 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.position'])
       onSelectCallback(originalScope, {
         $item: item,
         $model: model,
-        $label: parserResult.viewMapper(originalScope, locals)
+        $label: parserResult.viewMapper(originalScope, locals),
+        $event: evt
       });
 
       resetMatches();
@@ -7362,7 +6107,7 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.position'])
     };
 
     //bind keyboard events: arrows up(38) / down(40), enter(13) and tab(9), esc(27)
-    element.bind('keydown', function(evt) {
+    element.on('keydown', function(evt) {
       //typeahead is open and an "interesting" key was pressed
       if (scope.matches.length === 0 || HOT_KEYS.indexOf(evt.which) === -1) {
         return;
@@ -7376,32 +6121,67 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.position'])
       }
 
       evt.preventDefault();
+      var target;
+      switch (evt.which) {
+        case 9:
+        case 13:
+          scope.$apply(function () {
+            if (angular.isNumber(scope.debounceUpdate) || angular.isObject(scope.debounceUpdate)) {
+              $$debounce(function() {
+                scope.select(scope.activeIdx, evt);
+              }, angular.isNumber(scope.debounceUpdate) ? scope.debounceUpdate : scope.debounceUpdate['default']);
+            } else {
+              scope.select(scope.activeIdx, evt);
+            }
+          });
+          break;
+        case 27:
+          evt.stopPropagation();
 
-      if (evt.which === 40) {
-        scope.activeIdx = (scope.activeIdx + 1) % scope.matches.length;
-        scope.$digest();
-      } else if (evt.which === 38) {
-        scope.activeIdx = (scope.activeIdx > 0 ? scope.activeIdx : scope.matches.length) - 1;
-        scope.$digest();
-      } else if (evt.which === 13 || evt.which === 9) {
-        scope.$apply(function () {
-          scope.select(scope.activeIdx);
-        });
-      } else if (evt.which === 27) {
-        evt.stopPropagation();
+          resetMatches();
+          scope.$digest();
+          break;
+        case 38:
+          scope.activeIdx = (scope.activeIdx > 0 ? scope.activeIdx : scope.matches.length) - 1;
+          scope.$digest();
+          target = popUpEl.find('li')[scope.activeIdx];
+          target.parentNode.scrollTop = target.offsetTop;
+          break;
+        case 40:
+          scope.activeIdx = (scope.activeIdx + 1) % scope.matches.length;
+          scope.$digest();
+          target = popUpEl.find('li')[scope.activeIdx];
+          target.parentNode.scrollTop = target.offsetTop;
+          break;
+      }
+    });
 
-        resetMatches();
-        scope.$digest();
+    element.bind('focus', function (evt) {
+      hasFocus = true;
+      if (minLength === 0 && !modelCtrl.$viewValue) {
+        $timeout(function() {
+          getMatchesAsync(modelCtrl.$viewValue, evt);
+        }, 0);
       }
     });
 
-    element.bind('blur', function() {
+    element.bind('blur', function(evt) {
       if (isSelectOnBlur && scope.matches.length && scope.activeIdx !== -1 && !selected) {
         selected = true;
         scope.$apply(function() {
-          scope.select(scope.activeIdx);
+          if (angular.isObject(scope.debounceUpdate) && angular.isNumber(scope.debounceUpdate.blur)) {
+            $$debounce(function() {
+              scope.select(scope.activeIdx, evt);
+            }, scope.debounceUpdate.blur);
+          } else {
+            scope.select(scope.activeIdx, evt);
+          }
         });
       }
+      if (!isEditable && modelCtrl.$error.editable) {
+        modelCtrl.$viewValue = '';
+        element.val('');
+      }
       hasFocus = false;
       selected = false;
     });
@@ -7418,28 +6198,32 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.position'])
       }
     };
 
-    $document.bind('click', dismissClickHandler);
+    $document.on('click', dismissClickHandler);
 
     originalScope.$on('$destroy', function() {
-      $document.unbind('click', dismissClickHandler);
-      if (appendToBody || appendToElementId) {
+      $document.off('click', dismissClickHandler);
+      if (appendToBody || appendTo) {
         $popup.remove();
       }
 
       if (appendToBody) {
-        angular.element($window).unbind('resize', fireRecalculating);
-        $document.find('body').unbind('scroll', fireRecalculating);
+        angular.element($window).off('resize', fireRecalculating);
+        $document.find('body').off('scroll', fireRecalculating);
       }
       // Prevent jQuery cache memory leak
       popUpEl.remove();
+
+      if (showHint) {
+          inputsContainer.remove();
+      }
     });
 
     var $popup = $compile(popUpEl)(scope);
 
     if (appendToBody) {
       $document.find('body').append($popup);
-    } else if (appendToElementId !== false) {
-      angular.element($document[0].getElementById(appendToElementId)).append($popup);
+    } else if (appendTo) {
+      angular.element(appendTo).eq(0).append($popup);
     } else {
       element.after($popup);
     }
@@ -7448,6 +6232,8 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.position'])
       modelCtrl = _modelCtrl;
       ngModelOptions = _ngModelOptions;
 
+      scope.debounceUpdate = modelCtrl.$options && $parse(modelCtrl.$options.debounce)(originalScope);
+
       //plug into $parsers pipeline to open a typeahead on view changes initiated from DOM
       //$parsers kick-in on all the changes coming from the view as well as manually triggered by $setViewValue
       modelCtrl.$parsers.unshift(function(inputValue) {
@@ -7468,16 +6254,16 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.position'])
 
         if (isEditable) {
           return inputValue;
-        } else {
-          if (!inputValue) {
-            // Reset in case user had typed something previously.
-            modelCtrl.$setValidity('editable', true);
-            return null;
-          } else {
-            modelCtrl.$setValidity('editable', false);
-            return undefined;
-          }
         }
+
+        if (!inputValue) {
+          // Reset in case user had typed something previously.
+          modelCtrl.$setValidity('editable', true);
+          return null;
+        }
+
+        modelCtrl.$setValidity('editable', false);
+        return undefined;
       });
 
       modelCtrl.$formatters.push(function(modelValue) {
@@ -7494,16 +6280,16 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.position'])
         if (inputFormatter) {
           locals.$model = modelValue;
           return inputFormatter(originalScope, locals);
-        } else {
-          //it might happen that we don't have enough info to properly render input value
-          //we need to check for this situation and simply return model value if we can't apply custom formatting
-          locals[parserResult.itemName] = modelValue;
-          candidateViewValue = parserResult.viewMapper(originalScope, locals);
-          locals[parserResult.itemName] = undefined;
-          emptyViewValue = parserResult.viewMapper(originalScope, locals);
-
-          return candidateViewValue !== emptyViewValue ? candidateViewValue : modelValue;
         }
+
+        //it might happen that we don't have enough info to properly render input value
+        //we need to check for this situation and simply return model value if we can't apply custom formatting
+        locals[parserResult.itemName] = modelValue;
+        candidateViewValue = parserResult.viewMapper(originalScope, locals);
+        locals[parserResult.itemName] = undefined;
+        emptyViewValue = parserResult.viewMapper(originalScope, locals);
+
+        return candidateViewValue !== emptyViewValue ? candidateViewValue : modelValue;
       });
     };
   }])
@@ -7518,7 +6304,7 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.position'])
     };
   })
 
-  .directive('uibTypeaheadPopup', function() {
+  .directive('uibTypeaheadPopup', ['$$debounce', function($$debounce) {
     return {
       scope: {
         matches: '=',
@@ -7526,574 +6312,64 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.position'])
         active: '=',
         position: '&',
         moveInProgress: '=',
-        select: '&'
+        select: '&',
+        assignIsOpen: '&',
+        debounce: '&'
       },
       replace: true,
       templateUrl: function(element, attrs) {
-        return attrs.popupTemplateUrl || 'template/typeahead/typeahead-popup.html';
+        return attrs.popupTemplateUrl || 'uib/template/typeahead/typeahead-popup.html';
       },
       link: function(scope, element, attrs) {
         scope.templateUrl = attrs.templateUrl;
 
         scope.isOpen = function() {
-          return scope.matches.length > 0;
+          var isDropdownOpen = scope.matches.length > 0;
+          scope.assignIsOpen({ isOpen: isDropdownOpen });
+          return isDropdownOpen;
         };
 
         scope.isActive = function(matchIdx) {
-          return scope.active == matchIdx;
+          return scope.active === matchIdx;
         };
 
         scope.selectActive = function(matchIdx) {
           scope.active = matchIdx;
         };
 
-        scope.selectMatch = function(activeIdx) {
-          scope.select({activeIdx:activeIdx});
-        };
-      }
-    };
-  })
-
-  .directive('uibTypeaheadMatch', ['$templateRequest', '$compile', '$parse', function($templateRequest, $compile, $parse) {
-    return {
-      scope: {
-        index: '=',
-        match: '=',
-        query: '='
-      },
-      link:function(scope, element, attrs) {
-        var tplUrl = $parse(attrs.templateUrl)(scope.$parent) || 'template/typeahead/typeahead-match.html';
-        $templateRequest(tplUrl).then(function(tplContent) {
-          $compile(tplContent.trim())(scope, function(clonedElement) {
-            element.replaceWith(clonedElement);
-          });
-        });
-      }
-    };
-  }])
-
-  .filter('uibTypeaheadHighlight', ['$sce', '$injector', '$log', function($sce, $injector, $log) {
-    var isSanitizePresent;
-    isSanitizePresent = $injector.has('$sanitize');
-
-    function escapeRegexp(queryToEscape) {
-      // Regex: capture the whole query string and replace it with the string that will be used to match
-      // the results, for example if the capture is "a" the result will be \a
-      return queryToEscape.replace(/([.?*+^$[\]\\(){}|-])/g, '\\$1');
-    }
-
-    function containsHtml(matchItem) {
-      return /<.*>/g.test(matchItem);
-    }
-
-    return function(matchItem, query) {
-      if (!isSanitizePresent && containsHtml(matchItem)) {
-        $log.warn('Unsafe use of typeahead please use ngSanitize'); // Warn the user about the danger
-      }
-      matchItem = query? ('' + matchItem).replace(new RegExp(escapeRegexp(query), 'gi'), '<strong>$&</strong>') : matchItem; // Replaces the capture string with a the same string inside of a "strong" tag
-      if (!isSanitizePresent) {
-        matchItem = $sce.trustAsHtml(matchItem); // If $sanitize is not present we pack the string in a $sce object for the ng-bind-html directive
-      }
-      return matchItem;
-    };
-  }]);
-
-/* Deprecated typeahead below */
-  
-angular.module('ui.bootstrap.typeahead')
-  .value('$typeaheadSuppressWarning', false)
-  .service('typeaheadParser', ['$parse', 'uibTypeaheadParser', '$log', '$typeaheadSuppressWarning', function($parse, uibTypeaheadParser, $log, $typeaheadSuppressWarning) {
-    if (!$typeaheadSuppressWarning) {
-      $log.warn('typeaheadParser is now deprecated. Use uibTypeaheadParser instead.');
-    }
-
-    return uibTypeaheadParser;
-  }])
-
-  .directive('typeahead', ['$compile', '$parse', '$q', '$timeout', '$document', '$window', '$rootScope', '$uibPosition', 'typeaheadParser', '$log', '$typeaheadSuppressWarning',
-    function($compile, $parse, $q, $timeout, $document, $window, $rootScope, $position, typeaheadParser, $log, $typeaheadSuppressWarning) {
-    var HOT_KEYS = [9, 13, 27, 38, 40];
-    var eventDebounceTime = 200;
-    return {
-      require: ['ngModel', '^?ngModelOptions'],
-      link: function(originalScope, element, attrs, ctrls) {
-        if (!$typeaheadSuppressWarning) {
-          $log.warn('typeahead is now deprecated. Use uib-typeahead instead.');
-        }
-        var modelCtrl = ctrls[0];
-        var ngModelOptions = ctrls[1];
-        //SUPPORTED ATTRIBUTES (OPTIONS)
-
-        //minimal no of characters that needs to be entered before typeahead kicks-in
-        var minLength = originalScope.$eval(attrs.typeaheadMinLength);
-        if (!minLength && minLength !== 0) {
-          minLength = 1;
-        }
-
-        //minimal wait time after last character typed before typeahead kicks-in
-        var waitTime = originalScope.$eval(attrs.typeaheadWaitMs) || 0;
-
-        //should it restrict model values to the ones selected from the popup only?
-        var isEditable = originalScope.$eval(attrs.typeaheadEditable) !== false;
-
-        //binding to a variable that indicates if matches are being retrieved asynchronously
-        var isLoadingSetter = $parse(attrs.typeaheadLoading).assign || angular.noop;
-
-        //a callback executed when a match is selected
-        var onSelectCallback = $parse(attrs.typeaheadOnSelect);
-
-        //should it select highlighted popup value when losing focus?
-        var isSelectOnBlur = angular.isDefined(attrs.typeaheadSelectOnBlur) ? originalScope.$eval(attrs.typeaheadSelectOnBlur) : false;
-
-        //binding to a variable that indicates if there were no results after the query is completed
-        var isNoResultsSetter = $parse(attrs.typeaheadNoResults).assign || angular.noop;
-
-        var inputFormatter = attrs.typeaheadInputFormatter ? $parse(attrs.typeaheadInputFormatter) : undefined;
-
-        var appendToBody =  attrs.typeaheadAppendToBody ? originalScope.$eval(attrs.typeaheadAppendToBody) : false;
-
-        var appendToElementId =  attrs.typeaheadAppendToElementId || false;
-
-        var focusFirst = originalScope.$eval(attrs.typeaheadFocusFirst) !== false;
-
-        //If input matches an item of the list exactly, select it automatically
-        var selectOnExact = attrs.typeaheadSelectOnExact ? originalScope.$eval(attrs.typeaheadSelectOnExact) : false;
-
-        //INTERNAL VARIABLES
-
-        //model setter executed upon match selection
-        var parsedModel = $parse(attrs.ngModel);
-        var invokeModelSetter = $parse(attrs.ngModel + '($$$p)');
-        var $setModelValue = function(scope, newValue) {
-          if (angular.isFunction(parsedModel(originalScope)) &&
-            ngModelOptions && ngModelOptions.$options && ngModelOptions.$options.getterSetter) {
-            return invokeModelSetter(scope, {$$$p: newValue});
-          } else {
-            return parsedModel.assign(scope, newValue);
-          }
-        };
-
-        //expressions used by typeahead
-        var parserResult = typeaheadParser.parse(attrs.typeahead);
-
-        var hasFocus;
-
-        //Used to avoid bug in iOS webview where iOS keyboard does not fire
-        //mousedown & mouseup events
-        //Issue #3699
-        var selected;
-
-        //create a child scope for the typeahead directive so we are not polluting original scope
-        //with typeahead-specific data (matches, query etc.)
-        var scope = originalScope.$new();
-        var offDestroy = originalScope.$on('$destroy', function() {
-                           scope.$destroy();
-        });
-        scope.$on('$destroy', offDestroy);
-
-        // WAI-ARIA
-        var popupId = 'typeahead-' + scope.$id + '-' + Math.floor(Math.random() * 10000);
-        element.attr({
-          'aria-autocomplete': 'list',
-          'aria-expanded': false,
-          'aria-owns': popupId
-        });
-
-        //pop-up element used to display matches
-        var popUpEl = angular.element('<div typeahead-popup></div>');
-        popUpEl.attr({
-          id: popupId,
-          matches: 'matches',
-          active: 'activeIdx',
-          select: 'select(activeIdx)',
-          'move-in-progress': 'moveInProgress',
-          query: 'query',
-          position: 'position'
-        });
-        //custom item template
-        if (angular.isDefined(attrs.typeaheadTemplateUrl)) {
-          popUpEl.attr('template-url', attrs.typeaheadTemplateUrl);
-        }
-
-        if (angular.isDefined(attrs.typeaheadPopupTemplateUrl)) {
-          popUpEl.attr('popup-template-url', attrs.typeaheadPopupTemplateUrl);
-        }
-
-        var resetMatches = function() {
-          scope.matches = [];
-          scope.activeIdx = -1;
-          element.attr('aria-expanded', false);
-        };
-
-        var getMatchId = function(index) {
-          return popupId + '-option-' + index;
-        };
-
-        // Indicate that the specified match is the active (pre-selected) item in the list owned by this typeahead.
-        // This attribute is added or removed automatically when the `activeIdx` changes.
-        scope.$watch('activeIdx', function(index) {
-          if (index < 0) {
-            element.removeAttr('aria-activedescendant');
-          } else {
-            element.attr('aria-activedescendant', getMatchId(index));
-          }
-        });
-
-        var inputIsExactMatch = function(inputValue, index) {
-          if (scope.matches.length > index && inputValue) {
-            return inputValue.toUpperCase() === scope.matches[index].label.toUpperCase();
-          }
-
-          return false;
-        };
-
-        var getMatchesAsync = function(inputValue) {
-          var locals = {$viewValue: inputValue};
-          isLoadingSetter(originalScope, true);
-          isNoResultsSetter(originalScope, false);
-          $q.when(parserResult.source(originalScope, locals)).then(function(matches) {
-            //it might happen that several async queries were in progress if a user were typing fast
-            //but we are interested only in responses that correspond to the current view value
-            var onCurrentRequest = (inputValue === modelCtrl.$viewValue);
-            if (onCurrentRequest && hasFocus) {
-              if (matches && matches.length > 0) {
-                scope.activeIdx = focusFirst ? 0 : -1;
-                isNoResultsSetter(originalScope, false);
-                scope.matches.length = 0;
-
-                //transform labels
-                for (var i = 0; i < matches.length; i++) {
-                  locals[parserResult.itemName] = matches[i];
-                  scope.matches.push({
-                    id: getMatchId(i),
-                    label: parserResult.viewMapper(scope, locals),
-                    model: matches[i]
-                  });
-                }
-
-                scope.query = inputValue;
-                //position pop-up with matches - we need to re-calculate its position each time we are opening a window
-                //with matches as a pop-up might be absolute-positioned and position of an input might have changed on a page
-                //due to other elements being rendered
-                recalculatePosition();
-
-                element.attr('aria-expanded', true);
-
-                //Select the single remaining option if user input matches
-                if (selectOnExact && scope.matches.length === 1 && inputIsExactMatch(inputValue, 0)) {
-                  scope.select(0);
-                }
-              } else {
-                resetMatches();
-                isNoResultsSetter(originalScope, true);
-              }
-            }
-            if (onCurrentRequest) {
-              isLoadingSetter(originalScope, false);
-            }
-          }, function() {
-            resetMatches();
-            isLoadingSetter(originalScope, false);
-            isNoResultsSetter(originalScope, true);
-          });
-        };
-
-        // bind events only if appendToBody params exist - performance feature
-        if (appendToBody) {
-          angular.element($window).bind('resize', fireRecalculating);
-          $document.find('body').bind('scroll', fireRecalculating);
-        }
-
-        // Declare the timeout promise var outside the function scope so that stacked calls can be cancelled later
-        var timeoutEventPromise;
-
-        // Default progress type
-        scope.moveInProgress = false;
-
-        function fireRecalculating() {
-          if (!scope.moveInProgress) {
-            scope.moveInProgress = true;
-            scope.$digest();
-          }
-
-          // Cancel previous timeout
-          if (timeoutEventPromise) {
-            $timeout.cancel(timeoutEventPromise);
-          }
-
-          // Debounced executing recalculate after events fired
-          timeoutEventPromise = $timeout(function() {
-            // if popup is visible
-            if (scope.matches.length) {
-              recalculatePosition();
-            }
-
-            scope.moveInProgress = false;
-          }, eventDebounceTime);
-        }
-
-        // recalculate actual position and set new values to scope
-        // after digest loop is popup in right position
-        function recalculatePosition() {
-          scope.position = appendToBody ? $position.offset(element) : $position.position(element);
-          scope.position.top += element.prop('offsetHeight');
-        }
-
-        resetMatches();
-
-        //we need to propagate user's query so we can higlight matches
-        scope.query = undefined;
-
-        //Declare the timeout promise var outside the function scope so that stacked calls can be cancelled later
-        var timeoutPromise;
-
-        var scheduleSearchWithTimeout = function(inputValue) {
-          timeoutPromise = $timeout(function() {
-            getMatchesAsync(inputValue);
-          }, waitTime);
-        };
-
-        var cancelPreviousTimeout = function() {
-          if (timeoutPromise) {
-            $timeout.cancel(timeoutPromise);
-          }
-        };
-
-        //plug into $parsers pipeline to open a typeahead on view changes initiated from DOM
-        //$parsers kick-in on all the changes coming from the view as well as manually triggered by $setViewValue
-        modelCtrl.$parsers.unshift(function(inputValue) {
-          hasFocus = true;
-
-          if (minLength === 0 || inputValue && inputValue.length >= minLength) {
-            if (waitTime > 0) {
-              cancelPreviousTimeout();
-              scheduleSearchWithTimeout(inputValue);
-            } else {
-              getMatchesAsync(inputValue);
-            }
-          } else {
-            isLoadingSetter(originalScope, false);
-            cancelPreviousTimeout();
-            resetMatches();
-          }
-
-          if (isEditable) {
-            return inputValue;
-          } else {
-            if (!inputValue) {
-              // Reset in case user had typed something previously.
-              modelCtrl.$setValidity('editable', true);
-              return null;
-            } else {
-              modelCtrl.$setValidity('editable', false);
-              return undefined;
-            }
-          }
-        });
-
-        modelCtrl.$formatters.push(function(modelValue) {
-          var candidateViewValue, emptyViewValue;
-          var locals = {};
-
-          // The validity may be set to false via $parsers (see above) if
-          // the model is restricted to selected values. If the model
-          // is set manually it is considered to be valid.
-          if (!isEditable) {
-            modelCtrl.$setValidity('editable', true);
-          }
-
-          if (inputFormatter) {
-            locals.$model = modelValue;
-            return inputFormatter(originalScope, locals);
+        scope.selectMatch = function(activeIdx, evt) {
+          var debounce = scope.debounce();
+          if (angular.isNumber(debounce) || angular.isObject(debounce)) {
+            $$debounce(function() {
+              scope.select({activeIdx: activeIdx, evt: evt});
+            }, angular.isNumber(debounce) ? debounce : debounce['default']);
           } else {
-            //it might happen that we don't have enough info to properly render input value
-            //we need to check for this situation and simply return model value if we can't apply custom formatting
-            locals[parserResult.itemName] = modelValue;
-            candidateViewValue = parserResult.viewMapper(originalScope, locals);
-            locals[parserResult.itemName] = undefined;
-            emptyViewValue = parserResult.viewMapper(originalScope, locals);
-
-            return candidateViewValue !== emptyViewValue ? candidateViewValue : modelValue;
-          }
-        });
-
-        scope.select = function(activeIdx) {
-          //called from within the $digest() cycle
-          var locals = {};
-          var model, item;
-
-          selected = true;
-          locals[parserResult.itemName] = item = scope.matches[activeIdx].model;
-          model = parserResult.modelMapper(originalScope, locals);
-          $setModelValue(originalScope, model);
-          modelCtrl.$setValidity('editable', true);
-          modelCtrl.$setValidity('parse', true);
-
-          onSelectCallback(originalScope, {
-            $item: item,
-            $model: model,
-            $label: parserResult.viewMapper(originalScope, locals)
-          });
-
-          resetMatches();
-
-          //return focus to the input element if a match was selected via a mouse click event
-          // use timeout to avoid $rootScope:inprog error
-          if (scope.$eval(attrs.typeaheadFocusOnSelect) !== false) {
-            $timeout(function() { element[0].focus(); }, 0, false);
-          }
-        };
-
-        //bind keyboard events: arrows up(38) / down(40), enter(13) and tab(9), esc(27)
-        element.bind('keydown', function(evt) {
-          //typeahead is open and an "interesting" key was pressed
-          if (scope.matches.length === 0 || HOT_KEYS.indexOf(evt.which) === -1) {
-            return;
-          }
-
-          // if there's nothing selected (i.e. focusFirst) and enter or tab is hit, clear the results
-          if (scope.activeIdx === -1 && (evt.which === 9 || evt.which === 13)) {
-            resetMatches();
-            scope.$digest();
-            return;
-          }
-
-          evt.preventDefault();
-
-          if (evt.which === 40) {
-            scope.activeIdx = (scope.activeIdx + 1) % scope.matches.length;
-            scope.$digest();
-          } else if (evt.which === 38) {
-            scope.activeIdx = (scope.activeIdx > 0 ? scope.activeIdx : scope.matches.length) - 1;
-            scope.$digest();
-          } else if (evt.which === 13 || evt.which === 9) {
-            scope.$apply(function () {
-              scope.select(scope.activeIdx);
-            });
-          } else if (evt.which === 27) {
-            evt.stopPropagation();
-
-            resetMatches();
-            scope.$digest();
-          }
-        });
-
-        element.bind('blur', function() {
-          if (isSelectOnBlur && scope.matches.length && scope.activeIdx !== -1 && !selected) {
-            selected = true;
-            scope.$apply(function() {
-              scope.select(scope.activeIdx);
-            });
-          }
-          hasFocus = false;
-          selected = false;
-        });
-
-        // Keep reference to click handler to unbind it.
-        var dismissClickHandler = function(evt) {
-          // Issue #3973
-          // Firefox treats right click as a click on document
-          if (element[0] !== evt.target && evt.which !== 3 && scope.matches.length !== 0) {
-            resetMatches();
-            if (!$rootScope.$$phase) {
-              scope.$digest();
-            }
+            scope.select({activeIdx: activeIdx, evt: evt});
           }
         };
-
-        $document.bind('click', dismissClickHandler);
-
-        originalScope.$on('$destroy', function() {
-          $document.unbind('click', dismissClickHandler);
-          if (appendToBody || appendToElementId) {
-            $popup.remove();
-          }
-
-          if (appendToBody) {
-            angular.element($window).unbind('resize', fireRecalculating);
-            $document.find('body').unbind('scroll', fireRecalculating);
-          }
-          // Prevent jQuery cache memory leak
-          popUpEl.remove();
-        });
-
-        var $popup = $compile(popUpEl)(scope);
-
-        if (appendToBody) {
-          $document.find('body').append($popup);
-        } else if (appendToElementId !== false) {
-          angular.element($document[0].getElementById(appendToElementId)).append($popup);
-        } else {
-          element.after($popup);
-        }
       }
     };
   }])
-  
-  .directive('typeaheadPopup', ['$typeaheadSuppressWarning', '$log', function($typeaheadSuppressWarning, $log) {
-    return {
-      scope: {
-        matches: '=',
-        query: '=',
-        active: '=',
-        position: '&',
-        moveInProgress: '=',
-        select: '&'
-      },
-      replace: true,
-      templateUrl: function(element, attrs) {
-        return attrs.popupTemplateUrl || 'template/typeahead/typeahead-popup.html';
-      },
-      link: function(scope, element, attrs) {
-        
-        if (!$typeaheadSuppressWarning) {
-          $log.warn('typeahead-popup is now deprecated. Use uib-typeahead-popup instead.');
-        }
-        scope.templateUrl = attrs.templateUrl;
-
-        scope.isOpen = function() {
-          return scope.matches.length > 0;
-        };
-
-        scope.isActive = function(matchIdx) {
-          return scope.active == matchIdx;
-        };
-
-        scope.selectActive = function(matchIdx) {
-          scope.active = matchIdx;
-        };
 
-        scope.selectMatch = function(activeIdx) {
-          scope.select({activeIdx:activeIdx});
-        };
-      }
-    };
-  }])
-  
-  .directive('typeaheadMatch', ['$templateRequest', '$compile', '$parse', '$typeaheadSuppressWarning', '$log', function($templateRequest, $compile, $parse, $typeaheadSuppressWarning, $log) {
+  .directive('uibTypeaheadMatch', ['$templateRequest', '$compile', '$parse', function($templateRequest, $compile, $parse) {
     return {
-      restrict: 'EA',
       scope: {
         index: '=',
         match: '=',
         query: '='
       },
-      link:function(scope, element, attrs) {
-        if (!$typeaheadSuppressWarning) {
-          $log.warn('typeahead-match is now deprecated. Use uib-typeahead-match instead.');
-        }
-
-        var tplUrl = $parse(attrs.templateUrl)(scope.$parent) || 'template/typeahead/typeahead-match.html';
+      link: function(scope, element, attrs) {
+        var tplUrl = $parse(attrs.templateUrl)(scope.$parent) || 'uib/template/typeahead/typeahead-match.html';
         $templateRequest(tplUrl).then(function(tplContent) {
-          $compile(tplContent.trim())(scope, function(clonedElement) {
-            element.replaceWith(clonedElement);
-          });
+          var tplEl = angular.element(tplContent.trim());
+          element.replaceWith(tplEl);
+          $compile(tplEl)(scope);
         });
       }
     };
   }])
-  
-  .filter('typeaheadHighlight', ['$sce', '$injector', '$log', '$typeaheadSuppressWarning', function($sce, $injector, $log, $typeaheadSuppressWarning) {
+
+  .filter('uibTypeaheadHighlight', ['$sce', '$injector', '$log', function($sce, $injector, $log) {
     var isSanitizePresent;
     isSanitizePresent = $injector.has('$sanitize');
 
@@ -8108,29 +6384,23 @@ angular.module('ui.bootstrap.typeahead')
     }
 
     return function(matchItem, query) {
-      if (!$typeaheadSuppressWarning) {
-        $log.warn('typeaheadHighlight is now deprecated. Use uibTypeaheadHighlight instead.');
-      }
-
       if (!isSanitizePresent && containsHtml(matchItem)) {
         $log.warn('Unsafe use of typeahead please use ngSanitize'); // Warn the user about the danger
       }
-
-      matchItem = query? ('' + matchItem).replace(new RegExp(escapeRegexp(query), 'gi'), '<strong>$&</strong>') : matchItem; // Replaces the capture string with a the same string inside of a "strong" tag
+      matchItem = query ? ('' + matchItem).replace(new RegExp(escapeRegexp(query), 'gi'), '<strong>$&</strong>') : matchItem; // Replaces the capture string with a the same string inside of a "strong" tag
       if (!isSanitizePresent) {
         matchItem = $sce.trustAsHtml(matchItem); // If $sanitize is not present we pack the string in a $sce object for the ng-bind-html directive
       }
-
       return matchItem;
     };
   }]);
 
-angular.module("template/accordion/accordion-group.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/accordion/accordion-group.html",
-    "<div class=\"panel {{panelClass || 'panel-default'}}\">\n" +
+angular.module("uib/template/accordion/accordion-group.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/accordion/accordion-group.html",
+    "<div class=\"panel\" ng-class=\"panelClass || 'panel-default'\">\n" +
     "  <div class=\"panel-heading\" ng-keypress=\"toggleOpen($event)\">\n" +
     "    <h4 class=\"panel-title\">\n" +
-    "      <a href tabindex=\"0\" class=\"accordion-toggle\" ng-click=\"toggleOpen()\" uib-accordion-transclude=\"heading\"><span ng-class=\"{'text-muted': isDisabled}\">{{heading}}</span></a>\n" +
+    "      <div tabindex=\"0\" class=\"accordion-toggle\" ng-click=\"toggleOpen()\" uib-accordion-transclude=\"heading\"><span ng-class=\"{'text-muted': isDisabled}\">{{heading}}</span></div>\n" +
     "    </h4>\n" +
     "  </div>\n" +
     "  <div class=\"panel-collapse collapse\" uib-collapse=\"!isOpen\">\n" +
@@ -8140,13 +6410,13 @@ angular.module("template/accordion/accordion-group.html", []).run(["$templateCac
     "");
 }]);
 
-angular.module("template/accordion/accordion.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/accordion/accordion.html",
+angular.module("uib/template/accordion/accordion.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/accordion/accordion.html",
     "<div class=\"panel-group\" ng-transclude></div>");
 }]);
 
-angular.module("template/alert/alert.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/alert/alert.html",
+angular.module("uib/template/alert/alert.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/alert/alert.html",
     "<div class=\"alert\" ng-class=\"['alert-' + (type || 'warning'), closeable ? 'alert-dismissible' : null]\" role=\"alert\">\n" +
     "    <button ng-show=\"closeable\" type=\"button\" class=\"close\" ng-click=\"close({$event: $event})\">\n" +
     "        <span aria-hidden=\"true\">&times;</span>\n" +
@@ -8157,8 +6427,8 @@ angular.module("template/alert/alert.html", []).run(["$templateCache", function(
     "");
 }]);
 
-angular.module("template/carousel/carousel.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/carousel/carousel.html",
+angular.module("uib/template/carousel/carousel.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/carousel/carousel.html",
     "<div ng-mouseenter=\"pause()\" ng-mouseleave=\"play()\" class=\"carousel\" ng-swipe-right=\"prev()\" ng-swipe-left=\"next()\">\n" +
     "  <div class=\"carousel-inner\" ng-transclude></div>\n" +
     "  <a role=\"button\" href class=\"left carousel-control\" ng-click=\"prev()\" ng-show=\"slides.length > 1\">\n" +
@@ -8177,31 +6447,31 @@ angular.module("template/carousel/carousel.html", []).run(["$templateCache", fun
     "</div>");
 }]);
 
-angular.module("template/carousel/slide.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/carousel/slide.html",
+angular.module("uib/template/carousel/slide.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/carousel/slide.html",
     "<div ng-class=\"{\n" +
     "    'active': active\n" +
     "  }\" class=\"item text-center\" ng-transclude></div>\n" +
     "");
 }]);
 
-angular.module("template/datepicker/datepicker.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/datepicker/datepicker.html",
-    "<div ng-switch=\"datepickerMode\" role=\"application\" ng-keydown=\"keydown($event)\">\n" +
+angular.module("uib/template/datepicker/datepicker.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/datepicker/datepicker.html",
+    "<div class=\"uib-datepicker\" ng-switch=\"datepickerMode\" role=\"application\" ng-keydown=\"keydown($event)\">\n" +
     "  <uib-daypicker ng-switch-when=\"day\" tabindex=\"0\"></uib-daypicker>\n" +
     "  <uib-monthpicker ng-switch-when=\"month\" tabindex=\"0\"></uib-monthpicker>\n" +
     "  <uib-yearpicker ng-switch-when=\"year\" tabindex=\"0\"></uib-yearpicker>\n" +
     "</div>");
 }]);
 
-angular.module("template/datepicker/day.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/datepicker/day.html",
-    "<table role=\"grid\" aria-labelledby=\"{{::uniqueId}}-title\" aria-activedescendant=\"{{activeDateId}}\">\n" +
+angular.module("uib/template/datepicker/day.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/datepicker/day.html",
+    "<table class=\"uib-daypicker\" role=\"grid\" aria-labelledby=\"{{::uniqueId}}-title\" aria-activedescendant=\"{{activeDateId}}\">\n" +
     "  <thead>\n" +
     "    <tr>\n" +
-    "      <th><button type=\"button\" class=\"btn btn-default btn-sm pull-left\" ng-click=\"move(-1)\" tabindex=\"-1\"><i class=\"glyphicon glyphicon-chevron-left\"></i></button></th>\n" +
-    "      <th colspan=\"{{::5 + showWeeks}}\"><button id=\"{{::uniqueId}}-title\" role=\"heading\" aria-live=\"assertive\" aria-atomic=\"true\" type=\"button\" class=\"btn btn-default btn-sm\" ng-click=\"toggleMode()\" ng-disabled=\"datepickerMode === maxMode\" tabindex=\"-1\" style=\"width:100%;\"><strong>{{title}}</strong></button></th>\n" +
-    "      <th><button type=\"button\" class=\"btn btn-default btn-sm pull-right\" ng-click=\"move(1)\" tabindex=\"-1\"><i class=\"glyphicon glyphicon-chevron-right\"></i></button></th>\n" +
+    "      <th><button type=\"button\" class=\"btn btn-default btn-sm pull-left uib-left\" ng-click=\"move(-1)\" tabindex=\"-1\"><i class=\"glyphicon glyphicon-chevron-left\"></i></button></th>\n" +
+    "      <th colspan=\"{{::5 + showWeeks}}\"><button id=\"{{::uniqueId}}-title\" role=\"heading\" aria-live=\"assertive\" aria-atomic=\"true\" type=\"button\" class=\"btn btn-default btn-sm uib-title\" ng-click=\"toggleMode()\" ng-disabled=\"datepickerMode === maxMode\" tabindex=\"-1\" style=\"width:100%;\"><strong>{{title}}</strong></button></th>\n" +
+    "      <th><button type=\"button\" class=\"btn btn-default btn-sm pull-right uib-right\" ng-click=\"move(1)\" tabindex=\"-1\"><i class=\"glyphicon glyphicon-chevron-right\"></i></button></th>\n" +
     "    </tr>\n" +
     "    <tr>\n" +
     "      <th ng-if=\"showWeeks\" class=\"text-center\"></th>\n" +
@@ -8209,10 +6479,19 @@ angular.module("template/datepicker/day.html", []).run(["$templateCache", functi
     "    </tr>\n" +
     "  </thead>\n" +
     "  <tbody>\n" +
-    "    <tr ng-repeat=\"row in rows track by $index\">\n" +
+    "    <tr class=\"uib-weeks\" ng-repeat=\"row in rows track by $index\">\n" +
     "      <td ng-if=\"showWeeks\" class=\"text-center h6\"><em>{{ weekNumbers[$index] }}</em></td>\n" +
-    "      <td ng-repeat=\"dt in row track by dt.date\" class=\"text-center\" role=\"gridcell\" id=\"{{::dt.uid}}\" ng-class=\"::dt.customClass\">\n" +
-    "        <button type=\"button\" style=\"min-width:100%;\" class=\"btn btn-default btn-sm\" ng-class=\"{'btn-info': dt.selected, active: isActive(dt)}\" ng-click=\"select(dt.date)\" ng-disabled=\"dt.disabled\" tabindex=\"-1\"><span ng-class=\"::{'text-muted': dt.secondary, 'text-info': dt.current}\">{{::dt.label}}</span></button>\n" +
+    "      <td ng-repeat=\"dt in row\" class=\"uib-day text-center\" role=\"gridcell\"\n" +
+    "        id=\"{{::dt.uid}}\"\n" +
+    "        ng-class=\"::dt.customClass\">\n" +
+    "        <button type=\"button\" style=\"min-width:100%;\" class=\"btn btn-default btn-sm\"\n" +
+    "          uib-is-class=\"\n" +
+    "            'btn-info' for selectedDt,\n" +
+    "            'active' for activeDt\n" +
+    "            on dt\"\n" +
+    "          ng-click=\"select(dt.date)\"\n" +
+    "          ng-disabled=\"::dt.disabled\"\n" +
+    "          tabindex=\"-1\"><span ng-class=\"::{'text-muted': dt.secondary, 'text-info': dt.current}\">{{::dt.label}}</span></button>\n" +
     "      </td>\n" +
     "    </tr>\n" +
     "  </tbody>\n" +
@@ -8220,20 +6499,29 @@ angular.module("template/datepicker/day.html", []).run(["$templateCache", functi
     "");
 }]);
 
-angular.module("template/datepicker/month.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/datepicker/month.html",
-    "<table role=\"grid\" aria-labelledby=\"{{::uniqueId}}-title\" aria-activedescendant=\"{{activeDateId}}\">\n" +
+angular.module("uib/template/datepicker/month.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/datepicker/month.html",
+    "<table class=\"uib-monthpicker\" role=\"grid\" aria-labelledby=\"{{::uniqueId}}-title\" aria-activedescendant=\"{{activeDateId}}\">\n" +
     "  <thead>\n" +
     "    <tr>\n" +
-    "      <th><button type=\"button\" class=\"btn btn-default btn-sm pull-left\" ng-click=\"move(-1)\" tabindex=\"-1\"><i class=\"glyphicon glyphicon-chevron-left\"></i></button></th>\n" +
-    "      <th><button id=\"{{::uniqueId}}-title\" role=\"heading\" aria-live=\"assertive\" aria-atomic=\"true\" type=\"button\" class=\"btn btn-default btn-sm\" ng-click=\"toggleMode()\" ng-disabled=\"datepickerMode === maxMode\" tabindex=\"-1\" style=\"width:100%;\"><strong>{{title}}</strong></button></th>\n" +
-    "      <th><button type=\"button\" class=\"btn btn-default btn-sm pull-right\" ng-click=\"move(1)\" tabindex=\"-1\"><i class=\"glyphicon glyphicon-chevron-right\"></i></button></th>\n" +
+    "      <th><button type=\"button\" class=\"btn btn-default btn-sm pull-left uib-left\" ng-click=\"move(-1)\" tabindex=\"-1\"><i class=\"glyphicon glyphicon-chevron-left\"></i></button></th>\n" +
+    "      <th><button id=\"{{::uniqueId}}-title\" role=\"heading\" aria-live=\"assertive\" aria-atomic=\"true\" type=\"button\" class=\"btn btn-default btn-sm uib-title\" ng-click=\"toggleMode()\" ng-disabled=\"datepickerMode === maxMode\" tabindex=\"-1\" style=\"width:100%;\"><strong>{{title}}</strong></button></th>\n" +
+    "      <th><button type=\"button\" class=\"btn btn-default btn-sm pull-right uib-right\" ng-click=\"move(1)\" tabindex=\"-1\"><i class=\"glyphicon glyphicon-chevron-right\"></i></button></th>\n" +
     "    </tr>\n" +
     "  </thead>\n" +
     "  <tbody>\n" +
-    "    <tr ng-repeat=\"row in rows track by $index\">\n" +
-    "      <td ng-repeat=\"dt in row track by dt.date\" class=\"text-center\" role=\"gridcell\" id=\"{{::dt.uid}}\" ng-class=\"::dt.customClass\">\n" +
-    "        <button type=\"button\" style=\"min-width:100%;\" class=\"btn btn-default\" ng-class=\"{'btn-info': dt.selected, active: isActive(dt)}\" ng-click=\"select(dt.date)\" ng-disabled=\"dt.disabled\" tabindex=\"-1\"><span ng-class=\"::{'text-info': dt.current}\">{{::dt.label}}</span></button>\n" +
+    "    <tr class=\"uib-months\" ng-repeat=\"row in rows track by $index\">\n" +
+    "      <td ng-repeat=\"dt in row\" class=\"uib-month text-center\" role=\"gridcell\"\n" +
+    "        id=\"{{::dt.uid}}\"\n" +
+    "        ng-class=\"::dt.customClass\">\n" +
+    "        <button type=\"button\" style=\"min-width:100%;\" class=\"btn btn-default\"\n" +
+    "          uib-is-class=\"\n" +
+    "            'btn-info' for selectedDt,\n" +
+    "            'active' for activeDt\n" +
+    "            on dt\"\n" +
+    "          ng-click=\"select(dt.date)\"\n" +
+    "          ng-disabled=\"::dt.disabled\"\n" +
+    "          tabindex=\"-1\"><span ng-class=\"::{'text-info': dt.current}\">{{::dt.label}}</span></button>\n" +
     "      </td>\n" +
     "    </tr>\n" +
     "  </tbody>\n" +
@@ -8241,35 +6529,44 @@ angular.module("template/datepicker/month.html", []).run(["$templateCache", func
     "");
 }]);
 
-angular.module("template/datepicker/popup.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/datepicker/popup.html",
-    "<ul class=\"dropdown-menu\" dropdown-nested ng-if=\"isOpen\" style=\"display: block\" ng-style=\"{top: position.top+'px', left: position.left+'px'}\" ng-keydown=\"keydown($event)\" ng-click=\"$event.stopPropagation()\">\n" +
+angular.module("uib/template/datepicker/popup.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/datepicker/popup.html",
+    "<ul class=\"uib-datepicker-popup dropdown-menu\" dropdown-nested ng-if=\"isOpen\" style=\"display: block\" ng-style=\"{top: position.top+'px', left: position.left+'px'}\" ng-keydown=\"keydown($event)\" ng-click=\"$event.stopPropagation()\">\n" +
     "  <li ng-transclude></li>\n" +
-    "  <li ng-if=\"showButtonBar\" style=\"padding:10px 9px 2px\">\n" +
+    "  <li ng-if=\"showButtonBar\" style=\"padding:10px 9px 2px\" class=\"uib-button-bar\">\n" +
     "          <span class=\"btn-group pull-left\">\n" +
-    "                  <button type=\"button\" class=\"btn btn-sm btn-info\" ng-click=\"select('today')\" ng-disabled=\"isDisabled('today')\">{{ getText('current') }}</button>\n" +
-    "                  <button type=\"button\" class=\"btn btn-sm btn-danger\" ng-click=\"select(null)\">{{ getText('clear') }}</button>\n" +
+    "                  <button type=\"button\" class=\"btn btn-sm btn-info uib-datepicker-current\" ng-click=\"select('today')\" ng-disabled=\"isDisabled('today')\">{{ getText('current') }}</button>\n" +
+    "                  <button type=\"button\" class=\"btn btn-sm btn-danger uib-clear\" ng-click=\"select(null)\">{{ getText('clear') }}</button>\n" +
     "          </span>\n" +
-    "          <button type=\"button\" class=\"btn btn-sm btn-success pull-right\" ng-click=\"close()\">{{ getText('close') }}</button>\n" +
+    "          <button type=\"button\" class=\"btn btn-sm btn-success pull-right uib-close\" ng-click=\"close()\">{{ getText('close') }}</button>\n" +
     "  </li>\n" +
     "</ul>\n" +
     "");
 }]);
 
-angular.module("template/datepicker/year.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/datepicker/year.html",
-    "<table role=\"grid\" aria-labelledby=\"{{::uniqueId}}-title\" aria-activedescendant=\"{{activeDateId}}\">\n" +
+angular.module("uib/template/datepicker/year.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/datepicker/year.html",
+    "<table class=\"uib-yearpicker\" role=\"grid\" aria-labelledby=\"{{::uniqueId}}-title\" aria-activedescendant=\"{{activeDateId}}\">\n" +
     "  <thead>\n" +
     "    <tr>\n" +
-    "      <th><button type=\"button\" class=\"btn btn-default btn-sm pull-left\" ng-click=\"move(-1)\" tabindex=\"-1\"><i class=\"glyphicon glyphicon-chevron-left\"></i></button></th>\n" +
-    "      <th colspan=\"3\"><button id=\"{{::uniqueId}}-title\" role=\"heading\" aria-live=\"assertive\" aria-atomic=\"true\" type=\"button\" class=\"btn btn-default btn-sm\" ng-click=\"toggleMode()\" ng-disabled=\"datepickerMode === maxMode\" tabindex=\"-1\" style=\"width:100%;\"><strong>{{title}}</strong></button></th>\n" +
-    "      <th><button type=\"button\" class=\"btn btn-default btn-sm pull-right\" ng-click=\"move(1)\" tabindex=\"-1\"><i class=\"glyphicon glyphicon-chevron-right\"></i></button></th>\n" +
+    "      <th><button type=\"button\" class=\"btn btn-default btn-sm pull-left uib-left\" ng-click=\"move(-1)\" tabindex=\"-1\"><i class=\"glyphicon glyphicon-chevron-left\"></i></button></th>\n" +
+    "      <th colspan=\"{{::columns - 2}}\"><button id=\"{{::uniqueId}}-title\" role=\"heading\" aria-live=\"assertive\" aria-atomic=\"true\" type=\"button\" class=\"btn btn-default btn-sm uib-title\" ng-click=\"toggleMode()\" ng-disabled=\"datepickerMode === maxMode\" tabindex=\"-1\" style=\"width:100%;\"><strong>{{title}}</strong></button></th>\n" +
+    "      <th><button type=\"button\" class=\"btn btn-default btn-sm pull-right uib-right\" ng-click=\"move(1)\" tabindex=\"-1\"><i class=\"glyphicon glyphicon-chevron-right\"></i></button></th>\n" +
     "    </tr>\n" +
     "  </thead>\n" +
     "  <tbody>\n" +
-    "    <tr ng-repeat=\"row in rows track by $index\">\n" +
-    "      <td ng-repeat=\"dt in row track by dt.date\" class=\"text-center\" role=\"gridcell\" id=\"{{::dt.uid}}\" ng-class=\"::dt.customClass\">\n" +
-    "        <button type=\"button\" style=\"min-width:100%;\" class=\"btn btn-default\" ng-class=\"{'btn-info': dt.selected, active: isActive(dt)}\" ng-click=\"select(dt.date)\" ng-disabled=\"dt.disabled\" tabindex=\"-1\"><span ng-class=\"::{'text-info': dt.current}\">{{::dt.label}}</span></button>\n" +
+    "    <tr class=\"uib-years\" ng-repeat=\"row in rows track by $index\">\n" +
+    "      <td ng-repeat=\"dt in row\" class=\"uib-year text-center\" role=\"gridcell\"\n" +
+    "        id=\"{{::dt.uid}}\"\n" +
+    "        ng-class=\"::dt.customClass\">\n" +
+    "        <button type=\"button\" style=\"min-width:100%;\" class=\"btn btn-default\"\n" +
+    "          uib-is-class=\"\n" +
+    "            'btn-info' for selectedDt,\n" +
+    "            'active' for activeDt\n" +
+    "            on dt\"\n" +
+    "          ng-click=\"select(dt.date)\"\n" +
+    "          ng-disabled=\"::dt.disabled\"\n" +
+    "          tabindex=\"-1\"><span ng-class=\"::{'text-info': dt.current}\">{{::dt.label}}</span></button>\n" +
     "      </td>\n" +
     "    </tr>\n" +
     "  </tbody>\n" +
@@ -8277,17 +6574,18 @@ angular.module("template/datepicker/year.html", []).run(["$templateCache", funct
     "");
 }]);
 
-angular.module("template/modal/backdrop.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/modal/backdrop.html",
-    "<div uib-modal-animation-class=\"fade\"\n" +
+angular.module("uib/template/modal/backdrop.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/modal/backdrop.html",
+    "<div class=\"modal-backdrop\"\n" +
+    "     uib-modal-animation-class=\"fade\"\n" +
     "     modal-in-class=\"in\"\n" +
     "     ng-style=\"{'z-index': 1040 + (index && 1 || 0) + index*10}\"\n" +
     "></div>\n" +
     "");
 }]);
 
-angular.module("template/modal/window.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/modal/window.html",
+angular.module("uib/template/modal/window.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/modal/window.html",
     "<div modal-render=\"{{$isRendered}}\" tabindex=\"-1\" role=\"dialog\" class=\"modal\"\n" +
     "    uib-modal-animation-class=\"fade\"\n" +
     "    modal-in-class=\"in\"\n" +
@@ -8297,8 +6595,8 @@ angular.module("template/modal/window.html", []).run(["$templateCache", function
     "");
 }]);
 
-angular.module("template/pagination/pager.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/pagination/pager.html",
+angular.module("uib/template/pager/pager.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/pager/pager.html",
     "<ul class=\"pager\">\n" +
     "  <li ng-class=\"{disabled: noPrevious()||ngDisabled, previous: align}\"><a href ng-click=\"selectPage(page - 1, $event)\">{{::getText('previous')}}</a></li>\n" +
     "  <li ng-class=\"{disabled: noNext()||ngDisabled, next: align}\"><a href ng-click=\"selectPage(page + 1, $event)\">{{::getText('next')}}</a></li>\n" +
@@ -8306,8 +6604,8 @@ angular.module("template/pagination/pager.html", []).run(["$templateCache", func
     "");
 }]);
 
-angular.module("template/pagination/pagination.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/pagination/pagination.html",
+angular.module("uib/template/pagination/pagination.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/pagination/pagination.html",
     "<ul class=\"pagination\">\n" +
     "  <li ng-if=\"::boundaryLinks\" ng-class=\"{disabled: noPrevious()||ngDisabled}\" class=\"pagination-first\"><a href ng-click=\"selectPage(1, $event)\">{{::getText('first')}}</a></li>\n" +
     "  <li ng-if=\"::directionLinks\" ng-class=\"{disabled: noPrevious()||ngDisabled}\" class=\"pagination-prev\"><a href ng-click=\"selectPage(page - 1, $event)\">{{::getText('previous')}}</a></li>\n" +
@@ -8318,9 +6616,9 @@ angular.module("template/pagination/pagination.html", []).run(["$templateCache",
     "");
 }]);
 
-angular.module("template/tooltip/tooltip-html-popup.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/tooltip/tooltip-html-popup.html",
-    "<div\n" +
+angular.module("uib/template/tooltip/tooltip-html-popup.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/tooltip/tooltip-html-popup.html",
+    "<div class=\"tooltip\"\n" +
     "  tooltip-animation-class=\"fade\"\n" +
     "  uib-tooltip-classes\n" +
     "  ng-class=\"{ in: isOpen() }\">\n" +
@@ -8330,9 +6628,21 @@ angular.module("template/tooltip/tooltip-html-popup.html", []).run(["$templateCa
     "");
 }]);
 
-angular.module("template/tooltip/tooltip-popup.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/tooltip/tooltip-popup.html",
-    "<div\n" +
+angular.module("template/tooltip/tooltip-html-unsafe-popup.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("template/tooltip/tooltip-html-unsafe-popup.html",
+    "<div class=\"tooltip\"\n" +
+    "  tooltip-animation-class=\"fade\"\n" +
+    "  tooltip-classes\n" +
+    "  ng-class=\"{ in: isOpen() }\">\n" +
+    "  <div class=\"tooltip-arrow\"></div>\n" +
+    "  <div class=\"tooltip-inner\" bind-html-unsafe=\"content\"></div>\n" +
+    "</div>\n" +
+    "");
+}]);
+
+angular.module("uib/template/tooltip/tooltip-popup.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/tooltip/tooltip-popup.html",
+    "<div class=\"tooltip\"\n" +
     "  tooltip-animation-class=\"fade\"\n" +
     "  uib-tooltip-classes\n" +
     "  ng-class=\"{ in: isOpen() }\">\n" +
@@ -8342,9 +6652,9 @@ angular.module("template/tooltip/tooltip-popup.html", []).run(["$templateCache",
     "");
 }]);
 
-angular.module("template/tooltip/tooltip-template-popup.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/tooltip/tooltip-template-popup.html",
-    "<div\n" +
+angular.module("uib/template/tooltip/tooltip-template-popup.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/tooltip/tooltip-template-popup.html",
+    "<div class=\"tooltip\"\n" +
     "  tooltip-animation-class=\"fade\"\n" +
     "  uib-tooltip-classes\n" +
     "  ng-class=\"{ in: isOpen() }\">\n" +
@@ -8356,9 +6666,10 @@ angular.module("template/tooltip/tooltip-template-popup.html", []).run(["$templa
     "");
 }]);
 
-angular.module("template/popover/popover-html.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/popover/popover-html.html",
-    "<div tooltip-animation-class=\"fade\"\n" +
+angular.module("uib/template/popover/popover-html.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/popover/popover-html.html",
+    "<div class=\"popover\"\n" +
+    "  tooltip-animation-class=\"fade\"\n" +
     "  uib-tooltip-classes\n" +
     "  ng-class=\"{ in: isOpen() }\">\n" +
     "  <div class=\"arrow\"></div>\n" +
@@ -8371,9 +6682,10 @@ angular.module("template/popover/popover-html.html", []).run(["$templateCache",
     "");
 }]);
 
-angular.module("template/popover/popover-template.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/popover/popover-template.html",
-    "<div tooltip-animation-class=\"fade\"\n" +
+angular.module("uib/template/popover/popover-template.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/popover/popover-template.html",
+    "<div class=\"popover\"\n" +
+    "  tooltip-animation-class=\"fade\"\n" +
     "  uib-tooltip-classes\n" +
     "  ng-class=\"{ in: isOpen() }\">\n" +
     "  <div class=\"arrow\"></div>\n" +
@@ -8388,9 +6700,10 @@ angular.module("template/popover/popover-template.html", []).run(["$templateCach
     "");
 }]);
 
-angular.module("template/popover/popover.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/popover/popover.html",
-    "<div tooltip-animation-class=\"fade\"\n" +
+angular.module("uib/template/popover/popover.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/popover/popover.html",
+    "<div class=\"popover\"\n" +
+    "  tooltip-animation-class=\"fade\"\n" +
     "  uib-tooltip-classes\n" +
     "  ng-class=\"{ in: isOpen() }\">\n" +
     "  <div class=\"arrow\"></div>\n" +
@@ -8403,27 +6716,27 @@ angular.module("template/popover/popover.html", []).run(["$templateCache", funct
     "");
 }]);
 
-angular.module("template/progressbar/bar.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/progressbar/bar.html",
-    "<div class=\"progress-bar\" ng-class=\"type && 'progress-bar-' + type\" role=\"progressbar\" aria-valuenow=\"{{value}}\" aria-valuemin=\"0\" aria-valuemax=\"{{max}}\" ng-style=\"{width: (percent < 100 ? percent : 100) + '%'}\" aria-valuetext=\"{{percent | number:0}}%\" aria-labelledby=\"{{::title}}\" style=\"min-width: 0;\" ng-transclude></div>\n" +
+angular.module("uib/template/progressbar/bar.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/progressbar/bar.html",
+    "<div class=\"progress-bar\" ng-class=\"type && 'progress-bar-' + type\" role=\"progressbar\" aria-valuenow=\"{{value}}\" aria-valuemin=\"0\" aria-valuemax=\"{{max}}\" ng-style=\"{width: (percent < 100 ? percent : 100) + '%'}\" aria-valuetext=\"{{percent | number:0}}%\" aria-labelledby=\"{{::title}}\" ng-transclude></div>\n" +
     "");
 }]);
 
-angular.module("template/progressbar/progress.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/progressbar/progress.html",
+angular.module("uib/template/progressbar/progress.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/progressbar/progress.html",
     "<div class=\"progress\" ng-transclude aria-labelledby=\"{{::title}}\"></div>");
 }]);
 
-angular.module("template/progressbar/progressbar.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/progressbar/progressbar.html",
+angular.module("uib/template/progressbar/progressbar.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/progressbar/progressbar.html",
     "<div class=\"progress\">\n" +
-    "  <div class=\"progress-bar\" ng-class=\"type && 'progress-bar-' + type\" role=\"progressbar\" aria-valuenow=\"{{value}}\" aria-valuemin=\"0\" aria-valuemax=\"{{max}}\" ng-style=\"{width: (percent < 100 ? percent : 100) + '%'}\" aria-valuetext=\"{{percent | number:0}}%\" aria-labelledby=\"{{::title}}\" style=\"min-width: 0;\" ng-transclude></div>\n" +
+    "  <div class=\"progress-bar\" ng-class=\"type && 'progress-bar-' + type\" role=\"progressbar\" aria-valuenow=\"{{value}}\" aria-valuemin=\"0\" aria-valuemax=\"{{max}}\" ng-style=\"{width: (percent < 100 ? percent : 100) + '%'}\" aria-valuetext=\"{{percent | number:0}}%\" aria-labelledby=\"{{::title}}\" ng-transclude></div>\n" +
     "</div>\n" +
     "");
 }]);
 
-angular.module("template/rating/rating.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/rating/rating.html",
+angular.module("uib/template/rating/rating.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/rating/rating.html",
     "<span ng-mouseleave=\"reset()\" ng-keydown=\"onKeydown($event)\" tabindex=\"0\" role=\"slider\" aria-valuemin=\"0\" aria-valuemax=\"{{range.length}}\" aria-valuenow=\"{{value}}\">\n" +
     "    <span ng-repeat-start=\"r in range track by $index\" class=\"sr-only\">({{ $index < value ? '*' : ' ' }})</span>\n" +
     "    <i ng-repeat-end ng-mouseenter=\"enter($index + 1)\" ng-click=\"rate($index + 1)\" class=\"glyphicon\" ng-class=\"$index < value && (r.stateOn || 'glyphicon-star') || (r.stateOff || 'glyphicon-star-empty')\" ng-attr-title=\"{{r.title}}\" aria-valuetext=\"{{r.title}}\"></i>\n" +
@@ -8431,16 +6744,16 @@ angular.module("template/rating/rating.html", []).run(["$templateCache", functio
     "");
 }]);
 
-angular.module("template/tabs/tab.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/tabs/tab.html",
-    "<li ng-class=\"{active: active, disabled: disabled}\">\n" +
-    "  <a href ng-click=\"select()\" uib-tab-heading-transclude>{{heading}}</a>\n" +
+angular.module("uib/template/tabs/tab.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/tabs/tab.html",
+    "<li ng-class=\"{active: active, disabled: disabled}\" class=\"uib-tab\">\n" +
+    "  <div ng-click=\"select()\" uib-tab-heading-transclude>{{heading}}</div>\n" +
     "</li>\n" +
     "");
 }]);
 
-angular.module("template/tabs/tabset.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/tabs/tabset.html",
+angular.module("uib/template/tabs/tabset.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/tabs/tabset.html",
     "<div>\n" +
     "  <ul class=\"nav nav-{{type || 'tabs'}}\" ng-class=\"{'nav-stacked': vertical, 'nav-justified': justified}\" ng-transclude></ul>\n" +
     "  <div class=\"tab-content\">\n" +
@@ -8454,30 +6767,38 @@ angular.module("template/tabs/tabset.html", []).run(["$templateCache", function(
     "");
 }]);
 
-angular.module("template/timepicker/timepicker.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/timepicker/timepicker.html",
-    "<table>\n" +
+angular.module("uib/template/timepicker/timepicker.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/timepicker/timepicker.html",
+    "<table class=\"uib-timepicker\">\n" +
     "  <tbody>\n" +
     "    <tr class=\"text-center\" ng-show=\"::showSpinners\">\n" +
-    "      <td><a ng-click=\"incrementHours()\" ng-class=\"{disabled: noIncrementHours()}\" class=\"btn btn-link\" ng-disabled=\"noIncrementHours()\" tabindex=\"{{::tabindex}}\"><span class=\"glyphicon glyphicon-chevron-up\"></span></a></td>\n" +
+    "      <td class=\"uib-increment hours\"><a ng-click=\"incrementHours()\" ng-class=\"{disabled: noIncrementHours()}\" class=\"btn btn-link\" ng-disabled=\"noIncrementHours()\" tabindex=\"{{::tabindex}}\"><span class=\"glyphicon glyphicon-chevron-up\"></span></a></td>\n" +
     "      <td>&nbsp;</td>\n" +
-    "      <td><a ng-click=\"incrementMinutes()\" ng-class=\"{disabled: noIncrementMinutes()}\" class=\"btn btn-link\" ng-disabled=\"noIncrementMinutes()\" tabindex=\"{{::tabindex}}\"><span class=\"glyphicon glyphicon-chevron-up\"></span></a></td>\n" +
+    "      <td class=\"uib-increment minutes\"><a ng-click=\"incrementMinutes()\" ng-class=\"{disabled: noIncrementMinutes()}\" class=\"btn btn-link\" ng-disabled=\"noIncrementMinutes()\" tabindex=\"{{::tabindex}}\"><span class=\"glyphicon glyphicon-chevron-up\"></span></a></td>\n" +
+    "      <td ng-show=\"showSeconds\">&nbsp;</td>\n" +
+    "      <td ng-show=\"showSeconds\" class=\"uib-increment seconds\"><a ng-click=\"incrementSeconds()\" ng-class=\"{disabled: noIncrementSeconds()}\" class=\"btn btn-link\" ng-disabled=\"noIncrementSeconds()\" tabindex=\"{{::tabindex}}\"><span class=\"glyphicon glyphicon-chevron-up\"></span></a></td>\n" +
     "      <td ng-show=\"showMeridian\"></td>\n" +
     "    </tr>\n" +
     "    <tr>\n" +
-    "      <td class=\"form-group\" ng-class=\"{'has-error': invalidHours}\">\n" +
-    "        <input style=\"width:50px;\" type=\"text\" ng-model=\"hours\" ng-change=\"updateHours()\" class=\"form-control text-center\" ng-readonly=\"::readonlyInput\" maxlength=\"2\" tabindex=\"{{::tabindex}}\">\n" +
+    "      <td class=\"form-group uib-time hours\" ng-class=\"{'has-error': invalidHours}\">\n" +
+    "        <input style=\"width:50px;\" type=\"text\" placeholder=\"HH\" ng-model=\"hours\" ng-change=\"updateHours()\" class=\"form-control text-center\" ng-readonly=\"::readonlyInput\" maxlength=\"2\" tabindex=\"{{::tabindex}}\" ng-disabled=\"noIncrementHours()\" ng-blur=\"blur()\">\n" +
+    "      </td>\n" +
+    "      <td class=\"uib-separator\">:</td>\n" +
+    "      <td class=\"form-group uib-time minutes\" ng-class=\"{'has-error': invalidMinutes}\">\n" +
+    "        <input style=\"width:50px;\" type=\"text\" placeholder=\"MM\" ng-model=\"minutes\" ng-change=\"updateMinutes()\" class=\"form-control text-center\" ng-readonly=\"::readonlyInput\" maxlength=\"2\" tabindex=\"{{::tabindex}}\" ng-disabled=\"noIncrementMinutes()\" ng-blur=\"blur()\">\n" +
     "      </td>\n" +
-    "      <td>:</td>\n" +
-    "      <td class=\"form-group\" ng-class=\"{'has-error': invalidMinutes}\">\n" +
-    "        <input style=\"width:50px;\" type=\"text\" ng-model=\"minutes\" ng-change=\"updateMinutes()\" class=\"form-control text-center\" ng-readonly=\"::readonlyInput\" maxlength=\"2\" tabindex=\"{{::tabindex}}\">\n" +
+    "      <td ng-show=\"showSeconds\" class=\"uib-separator\">:</td>\n" +
+    "      <td class=\"form-group uib-time seconds\" ng-class=\"{'has-error': invalidSeconds}\" ng-show=\"showSeconds\">\n" +
+    "        <input style=\"width:50px;\" type=\"text\" ng-model=\"seconds\" ng-change=\"updateSeconds()\" class=\"form-control text-center\" ng-readonly=\"readonlyInput\" maxlength=\"2\" tabindex=\"{{::tabindex}}\" ng-disabled=\"noIncrementSeconds()\" ng-blur=\"blur()\">\n" +
     "      </td>\n" +
-    "      <td ng-show=\"showMeridian\"><button type=\"button\" ng-class=\"{disabled: noToggleMeridian()}\" class=\"btn btn-default text-center\" ng-click=\"toggleMeridian()\" ng-disabled=\"noToggleMeridian()\" tabindex=\"{{::tabindex}}\">{{meridian}}</button></td>\n" +
+    "      <td ng-show=\"showMeridian\" class=\"uib-time am-pm\"><button type=\"button\" ng-class=\"{disabled: noToggleMeridian()}\" class=\"btn btn-default text-center\" ng-click=\"toggleMeridian()\" ng-disabled=\"noToggleMeridian()\" tabindex=\"{{::tabindex}}\">{{meridian}}</button></td>\n" +
     "    </tr>\n" +
     "    <tr class=\"text-center\" ng-show=\"::showSpinners\">\n" +
-    "      <td><a ng-click=\"decrementHours()\" ng-class=\"{disabled: noDecrementHours()}\" class=\"btn btn-link\" ng-disabled=\"noDecrementHours()\" tabindex=\"{{::tabindex}}\"><span class=\"glyphicon glyphicon-chevron-down\"></span></a></td>\n" +
+    "      <td class=\"uib-decrement hours\"><a ng-click=\"decrementHours()\" ng-class=\"{disabled: noDecrementHours()}\" class=\"btn btn-link\" ng-disabled=\"noDecrementHours()\" tabindex=\"{{::tabindex}}\"><span class=\"glyphicon glyphicon-chevron-down\"></span></a></td>\n" +
     "      <td>&nbsp;</td>\n" +
-    "      <td><a ng-click=\"decrementMinutes()\" ng-class=\"{disabled: noDecrementMinutes()}\" class=\"btn btn-link\" ng-disabled=\"noDecrementMinutes()\" tabindex=\"{{::tabindex}}\"><span class=\"glyphicon glyphicon-chevron-down\"></span></a></td>\n" +
+    "      <td class=\"uib-decrement minutes\"><a ng-click=\"decrementMinutes()\" ng-class=\"{disabled: noDecrementMinutes()}\" class=\"btn btn-link\" ng-disabled=\"noDecrementMinutes()\" tabindex=\"{{::tabindex}}\"><span class=\"glyphicon glyphicon-chevron-down\"></span></a></td>\n" +
+    "      <td ng-show=\"showSeconds\">&nbsp;</td>\n" +
+    "      <td ng-show=\"showSeconds\" class=\"uib-decrement seconds\"><a ng-click=\"decrementSeconds()\" ng-class=\"{disabled: noDecrementSeconds()}\" class=\"btn btn-link\" ng-disabled=\"noDecrementSeconds()\" tabindex=\"{{::tabindex}}\"><span class=\"glyphicon glyphicon-chevron-down\"></span></a></td>\n" +
     "      <td ng-show=\"showMeridian\"></td>\n" +
     "    </tr>\n" +
     "  </tbody>\n" +
@@ -8485,19 +6806,20 @@ angular.module("template/timepicker/timepicker.html", []).run(["$templateCache",
     "");
 }]);
 
-angular.module("template/typeahead/typeahead-match.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/typeahead/typeahead-match.html",
+angular.module("uib/template/typeahead/typeahead-match.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/typeahead/typeahead-match.html",
     "<a href tabindex=\"-1\" ng-bind-html=\"match.label | uibTypeaheadHighlight:query\"></a>\n" +
     "");
 }]);
 
-angular.module("template/typeahead/typeahead-popup.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("template/typeahead/typeahead-popup.html",
+angular.module("uib/template/typeahead/typeahead-popup.html", []).run(["$templateCache", function($templateCache) {
+  $templateCache.put("uib/template/typeahead/typeahead-popup.html",
     "<ul class=\"dropdown-menu\" ng-show=\"isOpen() && !moveInProgress\" ng-style=\"{top: position().top+'px', left: position().left+'px'}\" style=\"display: block;\" role=\"listbox\" aria-hidden=\"{{!isOpen()}}\">\n" +
-    "    <li ng-repeat=\"match in matches track by $index\" ng-class=\"{active: isActive($index) }\" ng-mouseenter=\"selectActive($index)\" ng-click=\"selectMatch($index)\" role=\"option\" id=\"{{::match.id}}\">\n" +
+    "    <li ng-repeat=\"match in matches track by $index\" ng-class=\"{active: isActive($index) }\" ng-mouseenter=\"selectActive($index)\" ng-click=\"selectMatch($index, $event)\" role=\"option\" id=\"{{::match.id}}\">\n" +
     "        <div uib-typeahead-match index=\"$index\" match=\"match\" query=\"query\" template-url=\"templateUrl\"></div>\n" +
     "    </li>\n" +
     "</ul>\n" +
     "");
 }]);
-!angular.$$csp() && angular.element(document).find('head').prepend('<style type="text/css">.ng-animate.item:not(.left):not(.right){-webkit-transition:0s ease-in-out left;transition:0s ease-in-out left}</style>');
\ No newline at end of file
+angular.module('ui.bootstrap.carousel').run(function() {!angular.$$csp().noInlineStyle && angular.element(document).find('head').prepend('<style type="text/css">.ng-animate.item:not(.left):not(.right){-webkit-transition:0s ease-in-out left;transition:0s ease-in-out left}</style>'); });
+angular.module('ui.bootstrap.tabs').run(function() {!angular.$$csp().noInlineStyle && angular.element(document).find('head').prepend('<style type="text/css">.uib-tab > div{position:relative;display:block;padding:10px 15px;outline:0;color:#337ab7;}.uib-tab > div:focus,.uib-tab > div:hover{background-color:#eee;color:#23527c;}.uib-tab.disabled > div{color:#777;}.uib-tab.disabled > div:focus,.uib-tab.disabled > div:hover{color:#777;cursor:not-allowed;background-color:transparent;}.nav-tabs > .uib-tab > div{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0;}.nav-tabs > .uib-tab > div:hover{border-color:#eee #eee #ddd;}.nav-tabs > .uib-tab.active > div,.nav-tabs > .uib-tab.active > div:focus,.nav-tabs > .uib-tab.active > div:hover{color:#555;cursor:default;background-color:#fff;border-color:#ddd #ddd transparent #ddd;}.nav-pills > .uib-tab > div{border-radius:4px;}.nav-pills > .uib-tab.active > div,.nav-pills > .uib-tab.active > div:focus,.nav-pills > .uib-tab.active > div:hover{color:#fff;background-color:#337ab7;}</style>'); });
\ No newline at end of file
index 601bdf09cad505d1c310f1ce54245527a7a443b8..e09e84794b8aba6f4f0ca5b225959339a61b9e5c 100644 (file)
@@ -21,8 +21,6 @@
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  THE SOFTWARE.
 */
-
-
 [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
   display: none !important;
 }
@@ -75,9 +73,10 @@ pre.edit {
   filter: FlipH;
   -ms-filter: "FlipH";
 }
+
 /*
  modal dialog in fullscreen
 */
 .dashboard-modal.widget-fullscreen .modal-dialog {
- width: 98%;
+  width: 98%;
 }
index 334f3cc2d0aeaba5eb01f443050a8115d91cee4a..9797fcdf19a117b4d6b944de05596140b1b706aa 100644 (file)
@@ -29,7 +29,7 @@ angular.module('adf', ['adf.provider', 'ui.bootstrap'])
   .value('adfTemplatePath', '../src/templates/')
   .value('rowTemplate', '<adf-dashboard-row row="row" adf-model="adfModel" options="options" edit-mode="editMode" ng-repeat="row in column.rows" />')
   .value('columnTemplate', '<adf-dashboard-column column="column" adf-model="adfModel" options="options" edit-mode="editMode" ng-repeat="column in row.columns" />')
-  .value('adfVersion', '0.10.0');
+  .value('adfVersion', '0.11.0');
 
 /*
 * The MIT License
@@ -58,7 +58,7 @@ angular.module('adf', ['adf.provider', 'ui.bootstrap'])
 
 /* global angular */
 angular.module('adf')
-  .directive('adfDashboardColumn', ["$log", "$compile", "adfTemplatePath", "rowTemplate", "dashboard", function ($log, $compile, adfTemplatePath, rowTemplate, dashboard) {
+  .directive('adfDashboardColumn', ["$log", "$compile", "$rootScope", "adfTemplatePath", "rowTemplate", "dashboard", function ($log, $compile, $rootScope, adfTemplatePath, rowTemplate, dashboard) {
     
 
     /**
@@ -69,6 +69,7 @@ angular.module('adf')
       // move widget and apply to scope
       $scope.$apply(function(){
         widgets.splice(evt.newIndex, 0, widgets.splice(evt.oldIndex, 1)[0]);
+        $rootScope.$broadcast('adfWidgetMovedInColumn');
       });
     }
 
@@ -79,7 +80,7 @@ angular.module('adf')
       var widget = null;
       for (var i=0; i<column.widgets.length; i++){
         var w = column.widgets[i];
-        if (w.wid === index){
+        if (dashboard.idEquals(w.wid,index)){
           widget = w;
           break;
         }
@@ -96,7 +97,7 @@ angular.module('adf')
         var r = model.rows[i];
         for (var j=0; j<r.columns.length; j++){
           var c = r.columns[j];
-          if ( c.cid === index ){
+          if (dashboard.idEquals(c.cid, index)){
             column = c;
             break;
           } else if (c.rows){
@@ -115,7 +116,7 @@ angular.module('adf')
      */
     function getId(el){
       var id = el.getAttribute('adf-id');
-      return id ? parseInt(id) : -1;
+      return id ? id : '-1';
     }
 
     /**
@@ -134,11 +135,12 @@ angular.module('adf')
         if (widget){
           // add new item and apply to scope
           $scope.$apply(function(){
-                       if (!targetColumn.widgets) {
-                               targetColumn.widgets = [];
-                       }
-                       
+                       if (!targetColumn.widgets) {
+                               targetColumn.widgets = [];
+                       }
             targetColumn.widgets.splice(evt.newIndex, 0, widget);
+
+            $rootScope.$broadcast('adfWidgetAddedToColumn');
           });
         } else {
           $log.warn('could not find widget with id ' + wid);
@@ -155,6 +157,7 @@ angular.module('adf')
       // remove old item and apply to scope
       $scope.$apply(function(){
         column.widgets.splice(evt.oldIndex, 1);
+        $rootScope.$broadcast('adfWidgetRemovedFromColumn');
       });
     }
 
@@ -182,7 +185,11 @@ angular.module('adf')
 
       // destroy sortable on column destroy event
       $element.on('$destroy', function () {
-        sortable.destroy();
+        // check sortable element, before calling destroy
+        // see https://github.com/sdorra/angular-dashboard-framework/issues/118
+        if (sortable.el){
+          sortable.destroy();
+        }
       });
     }
 
@@ -192,6 +199,7 @@ angular.module('adf')
       scope: {
         column: '=',
         editMode: '=',
+        continuousEditMode: '=',
         adfModel: '=',
         options: '='
       },
@@ -260,10 +268,12 @@ angular.module('adf')
  * @param {string=} structure the default structure of the dashboard.
  * @param {object=} adfModel model object of the dashboard.
  * @param {function=} adfWidgetFilter function to filter widgets on the add dialog.
+ * @param {boolean=} continuousEditMode enable continuous edit mode, to fire add/change/remove
+ *                   events during edit mode not reset it if edit mode is exited.
  */
 
 angular.module('adf')
-  .directive('adfDashboard', ["$rootScope", "$log", "$modal", "dashboard", "adfTemplatePath", function ($rootScope, $log, $modal, dashboard, adfTemplatePath) {
+  .directive('adfDashboard', ["$rootScope", "$log", "$timeout", "$uibModal", "dashboard", "adfTemplatePath", function ($rootScope, $log, $timeout, $uibModal, dashboard, adfTemplatePath) {
     
 
     function stringToBoolean(string){
@@ -394,8 +404,9 @@ angular.module('adf')
      *
      * @param dashboard model
      * @param widget to add to model
+     * @param name name of the dashboard
      */
-    function addNewWidgetToModel(model, widget){
+    function addNewWidgetToModel(model, widget, name){
       if (model){
         var column = findFirstWidgetColumn(model);
         if (column){
@@ -403,6 +414,9 @@ angular.module('adf')
             column.widgets = [];
           }
           column.widgets.unshift(widget);
+
+          // broadcast added event
+          $rootScope.$broadcast('adfWidgetAdded', name, model, widget);
         } else {
           $log.error('could not find first widget column');
         }
@@ -411,6 +425,29 @@ angular.module('adf')
       }
     }
 
+    /**
+     * Checks if the edit mode of the widget should be opened immediately.
+     *
+     * @param widget type
+     */
+    function isEditModeImmediate(type){
+      var widget = dashboard.widgets[type];
+      return widget && widget.edit && widget.edit.immediate;
+    }
+
+    /**
+     * Opens the edit mode of the specified widget.
+     *
+     * @param dashboard scope
+     * @param widget
+     */
+    function openEditMode($scope, widget){
+      // wait some time before fire enter edit mode event
+      $timeout(function(){
+        $scope.$broadcast('adfWidgetEnterEditMode', widget);
+      }, 200);
+    }
+
     return {
       replace: true,
       restrict: 'EA',
@@ -420,6 +457,8 @@ angular.module('adf')
         name: '@',
         collapsible: '@',
         editable: '@',
+        editMode: '@',
+        continuousEditMode: '=',
         maximizable: '@',
         adfModel: '=',
         adfWidgetFilter: '='
@@ -473,7 +512,10 @@ angular.module('adf')
         $scope.toggleEditMode = function(){
           $scope.editMode = ! $scope.editMode;
           if ($scope.editMode){
-            $scope.modelCopy = angular.copy($scope.adfModel, {});
+            if (!$scope.continuousEditMode) {
+              $scope.modelCopy = angular.copy($scope.adfModel, {});
+              $rootScope.$broadcast('adfIsEditMode');
+            }
           }
 
           if (!$scope.editMode){
@@ -481,13 +523,19 @@ angular.module('adf')
           }
         };
 
+        $scope.$on('adfToggleEditMode', function() {
+            $scope.toggleEditMode();
+        });
+
         $scope.collapseAll = function(collapseExpandStatus){
-            $rootScope.$broadcast('adfDashboardCollapseExapand',{collapseExpandStatus : collapseExpandStatus});
+          $rootScope.$broadcast('adfDashboardCollapseExpand',{collapseExpandStatus : collapseExpandStatus});
         };
 
         $scope.cancelEditMode = function(){
           $scope.editMode = false;
-          $scope.modelCopy = angular.copy($scope.modelCopy, $scope.adfModel);
+          if (!$scope.continuousEditMode) {
+            $scope.modelCopy = angular.copy($scope.modelCopy, $scope.adfModel);
+          }
           $rootScope.$broadcast('adfDashboardEditsCancelled');
         };
 
@@ -500,12 +548,17 @@ angular.module('adf')
             title: model.title
           };
           editDashboardScope.structures = dashboard.structures;
-          var instance = $modal.open({
+
+          var adfEditTemplatePath = adfTemplatePath + 'dashboard-edit.html';
+          if(model.editTemplateUrl) {
+            adfEditTemplatePath = model.editTemplateUrl;
+          }
+          var instance = $uibModal.open({
             scope: editDashboardScope,
-            templateUrl: adfTemplatePath + 'dashboard-edit.html',
+            templateUrl: adfEditTemplatePath,
             backdrop: 'static'
           });
-          $scope.changeStructure = function(name, structure){
+          editDashboardScope.changeStructure = function(name, structure){
             $log.info('change structure to ' + name);
             changeStructure(model, structure);
           };
@@ -534,22 +587,33 @@ angular.module('adf')
             widgets = dashboard.widgets;
           }
           addScope.widgets = widgets;
+
+          var adfAddTemplatePath = adfTemplatePath + 'widget-add.html';
+          if(model.addTemplateUrl) {
+            adfAddTemplatePath = model.addTemplateUrl;
+          }
+
           var opts = {
             scope: addScope,
-            templateUrl: adfTemplatePath + 'widget-add.html',
+            templateUrl: adfAddTemplatePath,
             backdrop: 'static'
           };
-          var instance = $modal.open(opts);
+
+          var instance = $uibModal.open(opts);
           addScope.addWidget = function(widget){
             var w = {
               type: widget,
               config: createConfiguration(widget)
             };
-            addNewWidgetToModel(model, w);
-            $rootScope.$broadcast('adfWidgetAdded', name, model, w);
+            addNewWidgetToModel(model, w, name);
             // close and destroy
             instance.close();
             addScope.$destroy();
+
+            // check for open edit mode immediately
+            if (isEditModeImmediate(widget)){
+              openEditMode($scope, w);
+            }
           };
           addScope.closeDialog = function(){
             // close and destroy
@@ -557,6 +621,8 @@ angular.module('adf')
             addScope.$destroy();
           };
         };
+
+        $scope.addNewWidgetToModel = addNewWidgetToModel;
       }],
       link: function ($scope, $element, $attr) {
         // pass options to scope
@@ -623,6 +689,11 @@ angular.module('adf.provider', [])
         </div>\n\
       </div>';
 
+    // default apply function of widget.edit.apply
+    var defaultApplyFunction = function(){
+      return true;
+    };
+
    /**
     * @ngdoc method
     * @name adf.dashboardProvider#widget
@@ -638,6 +709,7 @@ angular.module('adf.provider', [])
     *
     *   - `title` - `{string=}` - The title of the widget.
     *   - `description` - `{string=}` - Description of the widget.
+    *   - `collapsed` - `{boolean=}` - true if the widget should be in collapsed state. Default is false.
     *   - `config` - `{object}` - Predefined widget configuration.
     *   - `controller` - `{string=|function()=}` - Controller fn that should be
     *      associated with newly created scope of the widget or the name of a
@@ -645,6 +717,8 @@ angular.module('adf.provider', [])
     *      if passed as a string.
     *   - `controllerAs` - `{string=}` - A controller alias name. If present the controller will be
     *      published to scope under the `controllerAs` name.
+    *   - `frameless` - `{boolean=}` - false if the widget should be shown in frameless mode. The default is false.
+    *   - `styleClass` - `{object}` - space delimited string or map of classes bound to the widget.
     *   - `template` - `{string=|function()=}` - html template as a string.
     *   - `templateUrl` - `{string=}` - path to an html template.
     *   - `reload` - `{boolean=}` - true if the widget could be reloaded. The default is false.
@@ -663,18 +737,27 @@ angular.module('adf.provider', [])
     *        resolved before its value is injected into the controller.
     *   - `edit` - `{object}` - Edit modus of the widget.
     *      - `controller` - `{string=|function()=}` - Same as above, but for the edit mode of the widget.
+    *      - `controllerAs` - `{string=}` - Same as above, but for the edit mode of the widget.
     *      - `template` - `{string=|function()=}` - Same as above, but for the edit mode of the widget.
     *      - `templateUrl` - `{string=}` - Same as above, but for the edit mode of the widget.
     *      - `resolve` - `{Object.<string, function>=}` - Same as above, but for the edit mode of the widget.
     *      - `reload` - {boolean} - true if the widget should be reloaded, after the edit mode is closed.
     *        Default is true.
+    *      - `immediate` - {boolean} - The widget enters the edit mode immediately after creation. Default is false.
+    *      - `apply` - `{function()=}` - The apply function is called, before the widget is saved.
+    *        The function have to return a boolean or an promise which can be resolved to a boolean.
+    *        The function can use injection.
     *
     * @returns {Object} self
     */
     this.widget = function(name, widget){
-      var w = angular.extend({reload: false}, widget);
+      var w = angular.extend({reload: false, frameless: false}, widget);
       if ( w.edit ){
-        var edit = {reload: true};
+        var edit = {
+          reload: true,
+          immediate: false,
+          apply: defaultApplyFunction
+        };
         angular.extend(edit, w.edit);
         w.edit = edit;
       }
@@ -756,7 +839,7 @@ angular.module('adf.provider', [])
     * Changes the template which is displayed as
     * long as the widget resources are not resolved.
     *
-    * @param {string} loading template
+    * @param {string} template loading template
     *
     * @returns {Object} self
     */
@@ -800,8 +883,24 @@ angular.module('adf.provider', [])
          * columns and widgets in the dashboard.
          */
         id: function(){
-          return ++cid;
-        }
+          return new Date().getTime() + '-' + (++cid);
+        },
+
+        /**
+         * @ngdoc method
+         * @name adf.dashboard#idEqual
+         * @methodOf adf.dashboard
+         * @description
+         *
+         * Checks if the given ids are equal.
+         *
+         * @param {string} id widget or column id
+         * @param {string} other widget or column id
+         */
+         idEquals: function(id, other){
+           // use toString, because old ids are numbers
+           return ((id) && (other)) && (id.toString() === other.toString());
+         }
       };
     };
 
@@ -844,10 +943,11 @@ angular.module('adf')
         row: '=',
         adfModel: '=',
         editMode: '=',
+        continuousEditMode: '=',
         options: '='
       },
       templateUrl: adfTemplatePath + 'dashboard-row.html',
-      link: function ($scope, $element) {
+      link: function($scope, $element) {
         if (angular.isDefined($scope.row.columns) && angular.isArray($scope.row.columns)) {
           $compile(columnTemplate)($scope, function(cloned) {
             $element.append(cloned);
@@ -885,41 +985,41 @@ angular.module('adf')
 
 angular.module('adf')
   .directive('adfWidgetContent', ["$log", "$q", "$sce", "$http", "$templateCache", "$compile", "$controller", "$injector", "dashboard", function($log, $q, $sce, $http, $templateCache,
-    $compile, $controller, $injector, dashboard) {
+          $compile, $controller, $injector, dashboard) {
 
-    function parseUrl(url){
+    function parseUrl(url) {
       var parsedUrl = url;
-      if ( url.indexOf('{widgetsPath}') >= 0 ){
+      if (url.indexOf('{widgetsPath}') >= 0) {
         parsedUrl = url.replace('{widgetsPath}', dashboard.widgetsPath)
-                       .replace('//', '/');
-        if (parsedUrl.indexOf('/') === 0){
+                .replace('//', '/');
+        if (parsedUrl.indexOf('/') === 0) {
           parsedUrl = parsedUrl.substring(1);
         }
       }
       return parsedUrl;
     }
 
-    function getTemplate(widget){
+    function getTemplate(widget) {
       var deferred = $q.defer();
 
-      if ( widget.template ){
+      if (widget.template) {
         deferred.resolve(widget.template);
       } else if (widget.templateUrl) {
         // try to fetch template from cache
         var tpl = $templateCache.get(widget.templateUrl);
-        if (tpl){
+        if (tpl) {
           deferred.resolve(tpl);
         } else {
           var url = $sce.getTrustedResourceUrl(parseUrl(widget.templateUrl));
           $http.get(url)
-            .success(function(response){
-              // put response to cache, with unmodified url as key
-              $templateCache.put(widget.templateUrl, response);
-              deferred.resolve(response);
-            })
-            .error(function(){
-              deferred.reject('could not load template');
-            });
+               .success(function(response) {
+                 // put response to cache, with unmodified url as key
+                 $templateCache.put(widget.templateUrl, response);
+                 deferred.resolve(response);
+               })
+               .error(function() {
+                 deferred.reject('could not load template');
+               });
         }
       }
 
@@ -972,7 +1072,7 @@ angular.module('adf')
         $element.html(template);
         if (content.controller) {
           var templateCtrl = $controller(content.controller, locals);
-          if (content.controllerAs){
+          if (content.controllerAs) {
             templateScope[content.controllerAs] = templateCtrl;
           }
           $element.children().data('$ngControllerController', templateCtrl);
@@ -989,7 +1089,7 @@ angular.module('adf')
       });
 
       // destroy old scope
-      if (currentScope){
+      if (currentScope) {
         currentScope.$destroy();
       }
 
@@ -1006,10 +1106,10 @@ angular.module('adf')
       },
       link: function($scope, $element) {
         var currentScope = compileWidget($scope, $element, null);
-        $scope.$on('widgetConfigChanged', function(){
+        $scope.$on('widgetConfigChanged', function() {
           currentScope = compileWidget($scope, $element, currentScope);
         });
-        $scope.$on('widgetReload', function(){
+        $scope.$on('widgetReload', function() {
           currentScope = compileWidget($scope, $element, currentScope);
         });
       }
@@ -1044,24 +1144,35 @@ angular.module('adf')
 
 
 angular.module('adf')
-  .directive('adfWidget', ["$log", "$modal", "dashboard", "adfTemplatePath", function($log, $modal, dashboard, adfTemplatePath) {
+  .directive('adfWidget', ["$injector", "$q", "$log", "$uibModal", "$rootScope", "dashboard", "adfTemplatePath", function($injector, $q, $log, $uibModal, $rootScope, dashboard, adfTemplatePath) {
 
-    function preLink($scope){
+    function preLink($scope) {
       var definition = $scope.definition;
       if (definition) {
         var w = dashboard.widgets[definition.type];
         if (w) {
           // pass title
-          if (!definition.title){
+          if (!definition.title) {
             definition.title = w.title;
           }
 
           if (!definition.titleTemplateUrl) {
             definition.titleTemplateUrl = adfTemplatePath + 'widget-title.html';
+            if (w.titleTemplateUrl) {
+              definition.titleTemplateUrl = w.titleTemplateUrl;
+            }
+          }
+
+          if (!definition.titleTemplateUrl) {
+            definition.frameless = w.frameless;
+          }
+
+          if (!definition.styleClass) {
+            definition.styleClass = w.styleClass;
           }
 
           // set id for sortable
-          if (!definition.wid){
+          if (!definition.wid) {
             definition.wid = dashboard.id();
           }
 
@@ -1082,9 +1193,9 @@ angular.module('adf')
           $scope.config = config;
 
           // collapse exposed $scope.widgetState property
-         if(!$scope.widgetState){
-             $scope.widgetState ={};
-             $scope.widgetState.isCollapsed= false;
+          if (!$scope.widgetState) {
+            $scope.widgetState = {};
+            $scope.widgetState.isCollapsed= (w.collapsed === true) ? w.collapsed : false;
           }
 
         } else {
@@ -1100,46 +1211,47 @@ angular.module('adf')
       if (definition) {
         // bind close function
 
-      var deleteWidget = function(){
-        var column = $scope.col;
-        if (column) {
-          var index = column.widgets.indexOf(definition);
-          if (index >= 0) {
-            column.widgets.splice(index, 1);
+        var deleteWidget = function() {
+          var column = $scope.col;
+          if (column) {
+            var index = column.widgets.indexOf(definition);
+            if (index >= 0) {
+              column.widgets.splice(index, 1);
+            }
           }
-        }
-        $element.remove();
-      }
+          $element.remove();
+          $rootScope.$broadcast('adfWidgetRemovedFromColumn');
+        };
+
         $scope.remove = function() {
-          if($scope.options.enableConfirmDelete){
-              var deleteScope= $scope.$new();
-              var adfDeleteTemplatePath = adfTemplatePath + 'widget-delete.html';
-              if (definition.deleteTemplateUrl) {
-                adfEditTemplatePath = definition.deleteTemplateUrl;
-              }
-              var opts = {
-                scope: deleteScope,
-                templateUrl: adfDeleteTemplatePath,
-                backdrop: 'static'
-              };
-              var instance = $modal.open(opts);
-
-              deleteScope.closeDialog = function() {
-                instance.close();
-                deleteScope.$destroy();
-              };
-              deleteScope.deleteDialog = function() {
-                deleteWidget();
-                deleteScope.closeDialog();
-              };
-          }
-          else {
+          if ($scope.options.enableConfirmDelete) {
+            var deleteScope = $scope.$new();
+            var deleteTemplateUrl = adfTemplatePath + 'widget-delete.html';
+            if (definition.deleteTemplateUrl) {
+              deleteTemplateUrl = definition.deleteTemplateUrl;
+            }
+            var opts = {
+              scope: deleteScope,
+              templateUrl: deleteTemplateUrl,
+              backdrop: 'static'
+            };
+            var instance = $uibModal.open(opts);
+
+            deleteScope.closeDialog = function() {
+              instance.close();
+              deleteScope.$destroy();
+            };
+            deleteScope.deleteDialog = function() {
               deleteWidget();
+              deleteScope.closeDialog();
+            };
+          } else {
+            deleteWidget();
           }
-        }
+        };
 
         // bind reload function
-        $scope.reload = function(){
+        $scope.reload = function() {
           $scope.$broadcast('widgetReload');
         };
 
@@ -1147,28 +1259,74 @@ angular.module('adf')
         $scope.edit = function() {
           var editScope = $scope.$new();
           editScope.definition = angular.copy(definition);
+
+          var adfEditTemplatePath = adfTemplatePath + 'widget-edit.html';
+          if (definition.editTemplateUrl) {
+            adfEditTemplatePath = definition.editTemplateUrl;
+          }
+
           var opts = {
             scope: editScope,
-            templateUrl: adfTemplatePath + 'widget-edit.html',
+            templateUrl: adfEditTemplatePath,
             backdrop: 'static'
           };
 
-          var instance = $modal.open(opts);
+          var instance = $uibModal.open(opts);
+
           editScope.closeDialog = function() {
             instance.close();
             editScope.$destroy();
+          };
 
-            var widget = $scope.widget;
-            if (widget.edit && widget.edit.reload){
-              // reload content after edit dialog is closed
-              $scope.$broadcast('widgetConfigChanged');
+          // TODO create util method
+          function createApplyPromise(result){
+            var promise;
+            if (typeof result === 'boolean'){
+              var deferred = $q.defer();
+              if (result){
+                deferred.resolve();
+              } else {
+                deferred.reject();
+              }
+              promise = deferred.promise;
+            } else {
+              promise = $q.when(result);
             }
-          };
+            return promise;
+          }
+
           editScope.saveDialog = function() {
-            definition.title = editScope.definition.title;
-            angular.extend(definition.config,editScope.definition.config);      
-            editScope.closeDialog();
-         };
+            // clear validation error
+            editScope.validationError = null;
+
+            // build injection locals
+            var widget = $scope.widget;
+            var applyFn = widget.edit.apply;
+            var locals = {
+              widget: widget,
+              definition: editScope.definition,
+              config: editScope.definition.config
+            };
+
+            // invoke apply function and apply if success
+            var result = $injector.invoke(applyFn, applyFn, locals);
+            createApplyPromise(result).then(function(){
+              definition.title = editScope.definition.title;
+              angular.extend(definition.config, editScope.definition.config);
+              if (widget.edit && widget.edit.reload) {
+                // reload content after edit dialog is closed
+                $scope.$broadcast('widgetConfigChanged');
+              }
+              editScope.closeDialog();
+            }, function(err){
+              if (err){
+                editScope.validationError = err;
+              } else {
+                editScope.validationError = 'Validation durring apply failed';
+              }
+            });
+          };
+
         };
       } else {
         $log.debug('widget not found');
@@ -1187,12 +1345,25 @@ angular.module('adf')
         options: '=',
         widgetState: '='
       },
+      controller: ["$scope", function($scope) {
 
-      controller: ["$scope", function ($scope) {
-        
-        $scope.$on("adfDashboardCollapseExapand",function(event,args){
-           $scope.widgetState.isCollapsed = args.collapseExpandStatus;
-         });
+        $scope.$on('adfDashboardCollapseExpand', function(event, args) {
+          $scope.widgetState.isCollapsed = args.collapseExpandStatus;
+        });
+
+        $scope.$on('adfWidgetEnterEditMode', function(event, widget){
+          if (dashboard.idEquals($scope.definition.wid, widget.wid)){
+            $scope.edit();
+          }
+        });
+
+        $scope.widgetClasses = function(w, definition){
+          var classes = definition.styleClass || '';
+          if (!w.frameless || $scope.editMode){
+            classes += ' panel panel-default';
+          }
+          return classes;
+        };
 
         $scope.openFullScreen = function() {
           var definition = $scope.definition;
@@ -1205,15 +1376,14 @@ angular.module('adf')
             windowClass: (definition.fullScreen) ? 'dashboard-modal widget-fullscreen' : 'dashboard-modal'
           };
 
-          var instance = $modal.open(opts);
-          fullScreenScope.closeDialog = function () {
+          var instance = $uibModal.open(opts);
+          fullScreenScope.closeDialog = function() {
             instance.close();
             fullScreenScope.$destroy();
           };
         };
       }],
-
-      compile: function compile(){
+      compile: function() {
 
         /**
          * use pre link, because link of widget-content
@@ -1232,10 +1402,10 @@ angular.module("adf").run(["$templateCache", function($templateCache) {$template
 $templateCache.put("../src/templates/dashboard-edit.html","<div class=modal-header> <button type=button class=close ng-click=closeDialog() aria-hidden=true>&times;</button> <h4 class=modal-title>Edit Dashboard</h4> </div> <div class=modal-body> <form role=form> <div class=form-group> <label for=dashboardTitle>Title</label> <input type=text class=form-control id=dashboardTitle ng-model=copy.title required> </div> <div class=form-group> <label>Structure</label> <div class=radio ng-repeat=\"(key, structure) in structures\"> <label> <input type=radio value={{key}} ng-model=model.structure ng-change=\"changeStructure(key, structure)\"> {{key}} </label> </div> </div> </form> </div> <div class=modal-footer> <button type=button class=\"btn btn-primary\" ng-click=closeDialog()>Close</button> </div> ");
 $templateCache.put("../src/templates/dashboard-row.html","<div class=row ng-class=row.styleClass>  </div> ");
 $templateCache.put("../src/templates/dashboard-title.html","<h1> {{model.title}} <span style=\"font-size: 16px\" class=pull-right> <a href ng-if=editMode title=\"add new widget\" ng-click=addWidgetDialog()> <i class=\"glyphicon glyphicon-plus-sign\"></i> </a> <a href ng-if=editMode title=\"edit dashboard\" ng-click=editDashboardDialog()> <i class=\"glyphicon glyphicon-cog\"></i> </a> <a href ng-if=options.editable title=\"{{editMode ? \'save changes\' : \'enable edit mode\'}}\" ng-click=toggleEditMode()> <i class=glyphicon x-ng-class=\"{\'glyphicon-edit\' : !editMode, \'glyphicon-save\' : editMode}\"></i> </a> <a href ng-if=editMode title=\"undo changes\" ng-click=cancelEditMode()> <i class=\"glyphicon glyphicon-repeat adf-flip\"></i> </a> </span> </h1> ");
-$templateCache.put("../src/templates/dashboard.html","<div class=dashboard-container> <div ng-include src=model.titleTemplateUrl></div> <div class=dashboard x-ng-class=\"{\'edit\' : editMode}\"> <adf-dashboard-row row=row adf-model=model options=options ng-repeat=\"row in model.rows\" edit-mode=editMode> </adf-dashboard-row></div> </div> ");
+$templateCache.put("../src/templates/dashboard.html","<div class=dashboard-container> <div ng-include src=model.titleTemplateUrl></div> <div class=dashboard x-ng-class=\"{\'edit\' : editMode}\"> <adf-dashboard-row row=row adf-model=model options=options ng-repeat=\"row in model.rows\" edit-mode=editMode continuous-edit-mode=continuousEditMode> </adf-dashboard-row></div> </div> ");
 $templateCache.put("../src/templates/widget-add.html","<div class=modal-header> <button type=button class=close ng-click=closeDialog() aria-hidden=true>&times;</button> <h4 class=modal-title>Add new widget</h4> </div> <div class=modal-body> <div style=\"display: inline-block;\"> <dl class=dl-horizontal> <dt ng-repeat-start=\"(key, widget) in widgets\"> <a href ng-click=addWidget(key)> {{widget.title}} </a> </dt> <dd ng-repeat-end ng-if=widget.description> {{widget.description}} </dd> </dl> </div> </div> <div class=modal-footer> <button type=button class=\"btn btn-primary\" ng-click=closeDialog()>Close</button> </div>");
 $templateCache.put("../src/templates/widget-delete.html","<div class=modal-header> <h4 class=modal-title>Delete {{widget.title}}</h4> </div> <div class=modal-body> <form role=form> <div class=form-group> <label for=widgetTitle>Are you sure you want to delete this widget ?</label> </div> </form> </div> <div class=modal-footer> <button type=button class=\"btn btn-default\" ng-click=closeDialog()>Close</button> <button type=button class=\"btn btn-primary\" ng-click=deleteDialog()>Delete</button> </div> ");
-$templateCache.put("../src/templates/widget-edit.html","<div class=modal-header> <button type=button class=close ng-click=closeDialog() aria-hidden=true>&times;</button> <h4 class=modal-title>{{widget.title}}</h4> </div> <div class=modal-body> <form role=form> <div class=form-group> <label for=widgetTitle>Title</label> <input type=text class=form-control id=widgetTitle ng-model=definition.title placeholder=\"Enter title\" required> </div> </form> <div ng-if=widget.edit> <adf-widget-content model=definition content=widget.edit> </adf-widget-content></div> </div> <div class=modal-footer> <button type=button class=\"btn btn-default\" ng-click=closeDialog()>Cancel</button> <button type=button class=\"btn btn-primary\" ng-click=saveDialog()>Apply</button> </div> ");
+$templateCache.put("../src/templates/widget-edit.html","<form name=widgetEditForm novalidate role=form ng-submit=saveDialog()> <div class=modal-header> <button type=button class=close ng-click=closeDialog() aria-hidden=true>&times;</button> <h4 class=modal-title>{{widget.title}}</h4> </div> <div class=modal-body> <div class=\"alert alert-danger\" role=alert ng-show=validationError> <strong>Apply error:</strong> {{validationError}} </div> <div class=form-group> <label for=widgetTitle>Title</label> <input type=text class=form-control id=widgetTitle ng-model=definition.title placeholder=\"Enter title\" required> </div> <div ng-if=widget.edit> <adf-widget-content model=definition content=widget.edit> </adf-widget-content></div> </div> <div class=modal-footer> <button type=button class=\"btn btn-default\" ng-click=closeDialog()>Cancel</button> <input type=submit class=\"btn btn-primary\" ng-disabled=widgetEditForm.$invalid value=Apply> </div> </form> ");
 $templateCache.put("../src/templates/widget-fullscreen.html","<div class=modal-header> <div class=\"pull-right widget-icons\"> <a href title=\"Reload Widget Content\" ng-if=widget.reload ng-click=reload()> <i class=\"glyphicon glyphicon-refresh\"></i> </a> <a href title=close ng-click=closeDialog()> <i class=\"glyphicon glyphicon-remove\"></i> </a> </div> <h4 class=modal-title>{{definition.title}}</h4> </div> <div class=modal-body> <adf-widget-content model=definition content=widget> </adf-widget-content></div> <div class=modal-footer> <button type=button class=\"btn btn-primary\" ng-click=closeDialog()>Close</button> </div> ");
 $templateCache.put("../src/templates/widget-title.html","<h3 class=panel-title> {{definition.title}} <span class=pull-right> <a href title=\"reload widget content\" ng-if=widget.reload ng-click=reload()> <i class=\"glyphicon glyphicon-refresh\"></i> </a>  <a href title=\"change widget location\" class=adf-move ng-if=editMode> <i class=\"glyphicon glyphicon-move\"></i> </a>  <a href title=\"collapse widget\" ng-show=\"options.collapsible && !widgetState.isCollapsed\" ng-click=\"widgetState.isCollapsed = !widgetState.isCollapsed\"> <i class=\"glyphicon glyphicon-minus\"></i> </a>  <a href title=\"expand widget\" ng-show=\"options.collapsible && widgetState.isCollapsed\" ng-click=\"widgetState.isCollapsed = !widgetState.isCollapsed\"> <i class=\"glyphicon glyphicon-plus\"></i> </a>  <a href title=\"edit widget configuration\" ng-click=edit() ng-if=editMode> <i class=\"glyphicon glyphicon-cog\"></i> </a> <a href title=\"fullscreen widget\" ng-click=openFullScreen() ng-show=options.maximizable> <i class=\"glyphicon glyphicon-fullscreen\"></i> </a>  <a href title=\"remove widget\" ng-click=remove() ng-if=editMode> <i class=\"glyphicon glyphicon-remove\"></i> </a> </span> </h3> ");
-$templateCache.put("../src/templates/widget.html","<div adf-id={{definition.wid}} adf-widget-type={{definition.type}} class=\"widget panel panel-default\"> <div class=\"panel-heading clearfix\"> <div ng-include src=definition.titleTemplateUrl></div> </div> <div class=panel-body collapse=widgetState.isCollapsed> <adf-widget-content model=definition content=widget> </adf-widget-content></div> </div> ");}]);})(window);
\ No newline at end of file
+$templateCache.put("../src/templates/widget.html","<div adf-id={{definition.wid}} adf-widget-type={{definition.type}} ng-class=\"widgetClasses(widget, definition)\" class=widget> <div class=\"panel-heading clearfix\" ng-if=\"!widget.frameless || editMode\"> <div ng-include src=definition.titleTemplateUrl></div> </div> <div ng-class=\"{\'panel-body\':!widget.frameless || editMode}\" uib-collapse=widgetState.isCollapsed> <adf-widget-content model=definition content=widget> </adf-widget-content></div> </div> ");}]);})(window);
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..5f2ffb1591e9850a13c9aa23508d9d633fcd3266
--- /dev/null
+/******/ (function(modules) { // webpackBootstrap
+/******/       // The module cache
+/******/       var installedModules = {};
+
+/******/       // The require function
+/******/       function __webpack_require__(moduleId) {
+
+/******/               // Check if module is in cache
+/******/               if(installedModules[moduleId])
+/******/                       return installedModules[moduleId].exports;
+
+/******/               // Create a new module (and put it into the cache)
+/******/               var module = installedModules[moduleId] = {
+/******/                       exports: {},
+/******/                       id: moduleId,
+/******/                       loaded: false
+/******/               };
+
+/******/               // Execute the module function
+/******/               modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+
+/******/               // Flag the module as loaded
+/******/               module.loaded = true;
+
+/******/               // Return the exports of the module
+/******/               return module.exports;
+/******/       }
+
+
+/******/       // expose the modules object (__webpack_modules__)
+/******/       __webpack_require__.m = modules;
+
+/******/       // expose the module cache
+/******/       __webpack_require__.c = installedModules;
+
+/******/       // __webpack_public_path__
+/******/       __webpack_require__.p = "";
+
+/******/       // Load entry module and return exports
+/******/       return __webpack_require__(0);
+/******/ })
+/************************************************************************/
+/******/ ([
+/* 0 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* WEBPACK VAR INJECTION */(function(global) {module.exports = global["pdfMake"] = __webpack_require__(1);
+       /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
+
+/***/ },
+/* 1 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* WEBPACK VAR INJECTION */(function(Buffer) {/* jslint node: true */
+       /* jslint browser: true */
+       /* global BlobBuilder */
+       'use strict';
+
+       var PdfPrinter = __webpack_require__(6);
+       var FileSaver = __webpack_require__(105);
+       var saveAs = FileSaver.saveAs;
+
+       var defaultClientFonts = {
+               Roboto: {
+                       normal: 'Roboto-Regular.ttf',
+                       bold: 'Roboto-Medium.ttf',
+                       italics: 'Roboto-Italic.ttf',
+                       bolditalics: 'Roboto-Italic.ttf'
+               }
+       };
+
+       function Document(docDefinition, fonts, vfs) {
+               this.docDefinition = docDefinition;
+               this.fonts = fonts || defaultClientFonts;
+               this.vfs = vfs;
+       }
+
+       Document.prototype._createDoc = function(options, callback) {
+               var printer = new PdfPrinter(this.fonts);
+               printer.fs.bindFS(this.vfs);
+
+               var doc = printer.createPdfKitDocument(this.docDefinition, options);
+               var chunks = [];
+               var result;
+
+               doc.on('data', function(chunk) {
+                       chunks.push(chunk);
+               });
+               doc.on('end', function() {
+                       result = Buffer.concat(chunks);
+                       callback(result, doc._pdfMakePages);
+               });
+               doc.end();
+       };
+
+       Document.prototype._getPages = function(options, cb){
+         if (!cb) throw 'getBuffer is an async method and needs a callback argument';
+         this._createDoc(options, function(ignoreBuffer, pages){
+           cb(pages);
+         });
+       };
+
+       Document.prototype.open = function(message) {
+               // we have to open the window immediately and store the reference
+               // otherwise popup blockers will stop us
+               var win = window.open('', '_blank');
+
+               try {
+                       this.getDataUrl(function(result) {
+                               win.location.href = result;
+                       });
+               } catch(e) {
+                       win.close();
+                       throw e;
+               }
+       };
+
+
+       Document.prototype.print = function() {
+         this.getDataUrl(function(dataUrl) {
+           var iFrame = document.createElement('iframe');
+           iFrame.style.position = 'absolute';
+           iFrame.style.left = '-99999px';
+           iFrame.src = dataUrl;
+           iFrame.onload = function() {
+             function removeIFrame(){
+               document.body.removeChild(iFrame);
+               document.removeEventListener('click', removeIFrame);
+             }
+             document.addEventListener('click', removeIFrame, false);
+           };
+
+           document.body.appendChild(iFrame);
+         }, { autoPrint: true });
+       };
+
+       Document.prototype.download = function(defaultFileName, cb) {
+          if(typeof defaultFileName === "function") {
+             cb = defaultFileName;
+             defaultFileName = null;
+          }
+
+          defaultFileName = defaultFileName || 'file.pdf';
+          this.getBuffer(function (result) {
+              var blob;
+              try {
+                  blob = new Blob([result], { type: 'application/pdf' });
+              }
+              catch (e) {
+                  // Old browser which can't handle it without making it an byte array (ie10) 
+                  if (e.name == "InvalidStateError") {
+                      var byteArray = new Uint8Array(result);
+                      blob = new Blob([byteArray.buffer], { type: 'application/pdf' });
+                  }
+              }
+              if (blob) {
+                  saveAs(blob, defaultFileName);
+              }
+              else {
+                  throw 'Could not generate blob';
+              }
+              if (typeof cb === "function") {
+                  cb();
+              }
+          });
+       };
+
+       Document.prototype.getBase64 = function(cb, options) {
+               if (!cb) throw 'getBase64 is an async method and needs a callback argument';
+               this._createDoc(options, function(buffer) {
+                       cb(buffer.toString('base64'));
+               });
+       };
+
+       Document.prototype.getDataUrl = function(cb, options) {
+               if (!cb) throw 'getDataUrl is an async method and needs a callback argument';
+               this._createDoc(options, function(buffer) {
+                       cb('data:application/pdf;base64,' + buffer.toString('base64'));
+               });
+       };
+
+       Document.prototype.getBuffer = function(cb, options) {
+               if (!cb) throw 'getBuffer is an async method and needs a callback argument';
+               this._createDoc(options, function(buffer){
+           cb(buffer);
+         });
+       };
+
+       module.exports = {
+               createPdf: function(docDefinition) {
+                       return new Document(docDefinition, window.pdfMake.fonts, window.pdfMake.vfs);
+               }
+       };
+
+       /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2).Buffer))
+
+/***/ },
+/* 2 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* WEBPACK VAR INJECTION */(function(Buffer, global) {/*!
+        * The buffer module from node.js, for the browser.
+        *
+        * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
+        * @license  MIT
+        */
+       /* eslint-disable no-proto */
+
+       var base64 = __webpack_require__(3)
+       var ieee754 = __webpack_require__(4)
+       var isArray = __webpack_require__(5)
+
+       exports.Buffer = Buffer
+       exports.SlowBuffer = SlowBuffer
+       exports.INSPECT_MAX_BYTES = 50
+       Buffer.poolSize = 8192 // not used by this implementation
+
+       var rootParent = {}
+
+       /**
+        * If `Buffer.TYPED_ARRAY_SUPPORT`:
+        *   === true    Use Uint8Array implementation (fastest)
+        *   === false   Use Object implementation (most compatible, even IE6)
+        *
+        * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
+        * Opera 11.6+, iOS 4.2+.
+        *
+        * Due to various browser bugs, sometimes the Object implementation will be used even
+        * when the browser supports typed arrays.
+        *
+        * Note:
+        *
+        *   - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,
+        *     See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.
+        *
+        *   - Safari 5-7 lacks support for changing the `Object.prototype.constructor` property
+        *     on objects.
+        *
+        *   - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.
+        *
+        *   - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
+        *     incorrect length in some situations.
+
+        * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they
+        * get the Object implementation, which is slower but behaves correctly.
+        */
+       Buffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined
+         ? global.TYPED_ARRAY_SUPPORT
+         : typedArraySupport()
+
+       function typedArraySupport () {
+         function Bar () {}
+         try {
+           var arr = new Uint8Array(1)
+           arr.foo = function () { return 42 }
+           arr.constructor = Bar
+           return arr.foo() === 42 && // typed array instances can be augmented
+               arr.constructor === Bar && // constructor can be set
+               typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`
+               arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`
+         } catch (e) {
+           return false
+         }
+       }
+
+       function kMaxLength () {
+         return Buffer.TYPED_ARRAY_SUPPORT
+           ? 0x7fffffff
+           : 0x3fffffff
+       }
+
+       /**
+        * Class: Buffer
+        * =============
+        *
+        * The Buffer constructor returns instances of `Uint8Array` that are augmented
+        * with function properties for all the node `Buffer` API functions. We use
+        * `Uint8Array` so that square bracket notation works as expected -- it returns
+        * a single octet.
+        *
+        * By augmenting the instances, we can avoid modifying the `Uint8Array`
+        * prototype.
+        */
+       function Buffer (arg) {
+         if (!(this instanceof Buffer)) {
+           // Avoid going through an ArgumentsAdaptorTrampoline in the common case.
+           if (arguments.length > 1) return new Buffer(arg, arguments[1])
+           return new Buffer(arg)
+         }
+
+         this.length = 0
+         this.parent = undefined
+
+         // Common case.
+         if (typeof arg === 'number') {
+           return fromNumber(this, arg)
+         }
+
+         // Slightly less common case.
+         if (typeof arg === 'string') {
+           return fromString(this, arg, arguments.length > 1 ? arguments[1] : 'utf8')
+         }
+
+         // Unusual.
+         return fromObject(this, arg)
+       }
+
+       function fromNumber (that, length) {
+         that = allocate(that, length < 0 ? 0 : checked(length) | 0)
+         if (!Buffer.TYPED_ARRAY_SUPPORT) {
+           for (var i = 0; i < length; i++) {
+             that[i] = 0
+           }
+         }
+         return that
+       }
+
+       function fromString (that, string, encoding) {
+         if (typeof encoding !== 'string' || encoding === '') encoding = 'utf8'
+
+         // Assumption: byteLength() return value is always < kMaxLength.
+         var length = byteLength(string, encoding) | 0
+         that = allocate(that, length)
+
+         that.write(string, encoding)
+         return that
+       }
+
+       function fromObject (that, object) {
+         if (Buffer.isBuffer(object)) return fromBuffer(that, object)
+
+         if (isArray(object)) return fromArray(that, object)
+
+         if (object == null) {
+           throw new TypeError('must start with number, buffer, array or string')
+         }
+
+         if (typeof ArrayBuffer !== 'undefined') {
+           if (object.buffer instanceof ArrayBuffer) {
+             return fromTypedArray(that, object)
+           }
+           if (object instanceof ArrayBuffer) {
+             return fromArrayBuffer(that, object)
+           }
+         }
+
+         if (object.length) return fromArrayLike(that, object)
+
+         return fromJsonObject(that, object)
+       }
+
+       function fromBuffer (that, buffer) {
+         var length = checked(buffer.length) | 0
+         that = allocate(that, length)
+         buffer.copy(that, 0, 0, length)
+         return that
+       }
+
+       function fromArray (that, array) {
+         var length = checked(array.length) | 0
+         that = allocate(that, length)
+         for (var i = 0; i < length; i += 1) {
+           that[i] = array[i] & 255
+         }
+         return that
+       }
+
+       // Duplicate of fromArray() to keep fromArray() monomorphic.
+       function fromTypedArray (that, array) {
+         var length = checked(array.length) | 0
+         that = allocate(that, length)
+         // Truncating the elements is probably not what people expect from typed
+         // arrays with BYTES_PER_ELEMENT > 1 but it's compatible with the behavior
+         // of the old Buffer constructor.
+         for (var i = 0; i < length; i += 1) {
+           that[i] = array[i] & 255
+         }
+         return that
+       }
+
+       function fromArrayBuffer (that, array) {
+         if (Buffer.TYPED_ARRAY_SUPPORT) {
+           // Return an augmented `Uint8Array` instance, for best performance
+           array.byteLength
+           that = Buffer._augment(new Uint8Array(array))
+         } else {
+           // Fallback: Return an object instance of the Buffer class
+           that = fromTypedArray(that, new Uint8Array(array))
+         }
+         return that
+       }
+
+       function fromArrayLike (that, array) {
+         var length = checked(array.length) | 0
+         that = allocate(that, length)
+         for (var i = 0; i < length; i += 1) {
+           that[i] = array[i] & 255
+         }
+         return that
+       }
+
+       // Deserialize { type: 'Buffer', data: [1,2,3,...] } into a Buffer object.
+       // Returns a zero-length buffer for inputs that don't conform to the spec.
+       function fromJsonObject (that, object) {
+         var array
+         var length = 0
+
+         if (object.type === 'Buffer' && isArray(object.data)) {
+           array = object.data
+           length = checked(array.length) | 0
+         }
+         that = allocate(that, length)
+
+         for (var i = 0; i < length; i += 1) {
+           that[i] = array[i] & 255
+         }
+         return that
+       }
+
+       if (Buffer.TYPED_ARRAY_SUPPORT) {
+         Buffer.prototype.__proto__ = Uint8Array.prototype
+         Buffer.__proto__ = Uint8Array
+       }
+
+       function allocate (that, length) {
+         if (Buffer.TYPED_ARRAY_SUPPORT) {
+           // Return an augmented `Uint8Array` instance, for best performance
+           that = Buffer._augment(new Uint8Array(length))
+           that.__proto__ = Buffer.prototype
+         } else {
+           // Fallback: Return an object instance of the Buffer class
+           that.length = length
+           that._isBuffer = true
+         }
+
+         var fromPool = length !== 0 && length <= Buffer.poolSize >>> 1
+         if (fromPool) that.parent = rootParent
+
+         return that
+       }
+
+       function checked (length) {
+         // Note: cannot use `length < kMaxLength` here because that fails when
+         // length is NaN (which is otherwise coerced to zero.)
+         if (length >= kMaxLength()) {
+           throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
+                                'size: 0x' + kMaxLength().toString(16) + ' bytes')
+         }
+         return length | 0
+       }
+
+       function SlowBuffer (subject, encoding) {
+         if (!(this instanceof SlowBuffer)) return new SlowBuffer(subject, encoding)
+
+         var buf = new Buffer(subject, encoding)
+         delete buf.parent
+         return buf
+       }
+
+       Buffer.isBuffer = function isBuffer (b) {
+         return !!(b != null && b._isBuffer)
+       }
+
+       Buffer.compare = function compare (a, b) {
+         if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
+           throw new TypeError('Arguments must be Buffers')
+         }
+
+         if (a === b) return 0
+
+         var x = a.length
+         var y = b.length
+
+         var i = 0
+         var len = Math.min(x, y)
+         while (i < len) {
+           if (a[i] !== b[i]) break
+
+           ++i
+         }
+
+         if (i !== len) {
+           x = a[i]
+           y = b[i]
+         }
+
+         if (x < y) return -1
+         if (y < x) return 1
+         return 0
+       }
+
+       Buffer.isEncoding = function isEncoding (encoding) {
+         switch (String(encoding).toLowerCase()) {
+           case 'hex':
+           case 'utf8':
+           case 'utf-8':
+           case 'ascii':
+           case 'binary':
+           case 'base64':
+           case 'raw':
+           case 'ucs2':
+           case 'ucs-2':
+           case 'utf16le':
+           case 'utf-16le':
+             return true
+           default:
+             return false
+         }
+       }
+
+       Buffer.concat = function concat (list, length) {
+         if (!isArray(list)) throw new TypeError('list argument must be an Array of Buffers.')
+
+         if (list.length === 0) {
+           return new Buffer(0)
+         }
+
+         var i
+         if (length === undefined) {
+           length = 0
+           for (i = 0; i < list.length; i++) {
+             length += list[i].length
+           }
+         }
+
+         var buf = new Buffer(length)
+         var pos = 0
+         for (i = 0; i < list.length; i++) {
+           var item = list[i]
+           item.copy(buf, pos)
+           pos += item.length
+         }
+         return buf
+       }
+
+       function byteLength (string, encoding) {
+         if (typeof string !== 'string') string = '' + string
+
+         var len = string.length
+         if (len === 0) return 0
+
+         // Use a for loop to avoid recursion
+         var loweredCase = false
+         for (;;) {
+           switch (encoding) {
+             case 'ascii':
+             case 'binary':
+             // Deprecated
+             case 'raw':
+             case 'raws':
+               return len
+             case 'utf8':
+             case 'utf-8':
+               return utf8ToBytes(string).length
+             case 'ucs2':
+             case 'ucs-2':
+             case 'utf16le':
+             case 'utf-16le':
+               return len * 2
+             case 'hex':
+               return len >>> 1
+             case 'base64':
+               return base64ToBytes(string).length
+             default:
+               if (loweredCase) return utf8ToBytes(string).length // assume utf8
+               encoding = ('' + encoding).toLowerCase()
+               loweredCase = true
+           }
+         }
+       }
+       Buffer.byteLength = byteLength
+
+       // pre-set for values that may exist in the future
+       Buffer.prototype.length = undefined
+       Buffer.prototype.parent = undefined
+
+       function slowToString (encoding, start, end) {
+         var loweredCase = false
+
+         start = start | 0
+         end = end === undefined || end === Infinity ? this.length : end | 0
+
+         if (!encoding) encoding = 'utf8'
+         if (start < 0) start = 0
+         if (end > this.length) end = this.length
+         if (end <= start) return ''
+
+         while (true) {
+           switch (encoding) {
+             case 'hex':
+               return hexSlice(this, start, end)
+
+             case 'utf8':
+             case 'utf-8':
+               return utf8Slice(this, start, end)
+
+             case 'ascii':
+               return asciiSlice(this, start, end)
+
+             case 'binary':
+               return binarySlice(this, start, end)
+
+             case 'base64':
+               return base64Slice(this, start, end)
+
+             case 'ucs2':
+             case 'ucs-2':
+             case 'utf16le':
+             case 'utf-16le':
+               return utf16leSlice(this, start, end)
+
+             default:
+               if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
+               encoding = (encoding + '').toLowerCase()
+               loweredCase = true
+           }
+         }
+       }
+
+       Buffer.prototype.toString = function toString () {
+         var length = this.length | 0
+         if (length === 0) return ''
+         if (arguments.length === 0) return utf8Slice(this, 0, length)
+         return slowToString.apply(this, arguments)
+       }
+
+       Buffer.prototype.equals = function equals (b) {
+         if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
+         if (this === b) return true
+         return Buffer.compare(this, b) === 0
+       }
+
+       Buffer.prototype.inspect = function inspect () {
+         var str = ''
+         var max = exports.INSPECT_MAX_BYTES
+         if (this.length > 0) {
+           str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')
+           if (this.length > max) str += ' ... '
+         }
+         return '<Buffer ' + str + '>'
+       }
+
+       Buffer.prototype.compare = function compare (b) {
+         if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
+         if (this === b) return 0
+         return Buffer.compare(this, b)
+       }
+
+       Buffer.prototype.indexOf = function indexOf (val, byteOffset) {
+         if (byteOffset > 0x7fffffff) byteOffset = 0x7fffffff
+         else if (byteOffset < -0x80000000) byteOffset = -0x80000000
+         byteOffset >>= 0
+
+         if (this.length === 0) return -1
+         if (byteOffset >= this.length) return -1
+
+         // Negative offsets start from the end of the buffer
+         if (byteOffset < 0) byteOffset = Math.max(this.length + byteOffset, 0)
+
+         if (typeof val === 'string') {
+           if (val.length === 0) return -1 // special case: looking for empty string always fails
+           return String.prototype.indexOf.call(this, val, byteOffset)
+         }
+         if (Buffer.isBuffer(val)) {
+           return arrayIndexOf(this, val, byteOffset)
+         }
+         if (typeof val === 'number') {
+           if (Buffer.TYPED_ARRAY_SUPPORT && Uint8Array.prototype.indexOf === 'function') {
+             return Uint8Array.prototype.indexOf.call(this, val, byteOffset)
+           }
+           return arrayIndexOf(this, [ val ], byteOffset)
+         }
+
+         function arrayIndexOf (arr, val, byteOffset) {
+           var foundIndex = -1
+           for (var i = 0; byteOffset + i < arr.length; i++) {
+             if (arr[byteOffset + i] === val[foundIndex === -1 ? 0 : i - foundIndex]) {
+               if (foundIndex === -1) foundIndex = i
+               if (i - foundIndex + 1 === val.length) return byteOffset + foundIndex
+             } else {
+               foundIndex = -1
+             }
+           }
+           return -1
+         }
+
+         throw new TypeError('val must be string, number or Buffer')
+       }
+
+       // `get` is deprecated
+       Buffer.prototype.get = function get (offset) {
+         console.log('.get() is deprecated. Access using array indexes instead.')
+         return this.readUInt8(offset)
+       }
+
+       // `set` is deprecated
+       Buffer.prototype.set = function set (v, offset) {
+         console.log('.set() is deprecated. Access using array indexes instead.')
+         return this.writeUInt8(v, offset)
+       }
+
+       function hexWrite (buf, string, offset, length) {
+         offset = Number(offset) || 0
+         var remaining = buf.length - offset
+         if (!length) {
+           length = remaining
+         } else {
+           length = Number(length)
+           if (length > remaining) {
+             length = remaining
+           }
+         }
+
+         // must be an even number of digits
+         var strLen = string.length
+         if (strLen % 2 !== 0) throw new Error('Invalid hex string')
+
+         if (length > strLen / 2) {
+           length = strLen / 2
+         }
+         for (var i = 0; i < length; i++) {
+           var parsed = parseInt(string.substr(i * 2, 2), 16)
+           if (isNaN(parsed)) throw new Error('Invalid hex string')
+           buf[offset + i] = parsed
+         }
+         return i
+       }
+
+       function utf8Write (buf, string, offset, length) {
+         return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
+       }
+
+       function asciiWrite (buf, string, offset, length) {
+         return blitBuffer(asciiToBytes(string), buf, offset, length)
+       }
+
+       function binaryWrite (buf, string, offset, length) {
+         return asciiWrite(buf, string, offset, length)
+       }
+
+       function base64Write (buf, string, offset, length) {
+         return blitBuffer(base64ToBytes(string), buf, offset, length)
+       }
+
+       function ucs2Write (buf, string, offset, length) {
+         return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
+       }
+
+       Buffer.prototype.write = function write (string, offset, length, encoding) {
+         // Buffer#write(string)
+         if (offset === undefined) {
+           encoding = 'utf8'
+           length = this.length
+           offset = 0
+         // Buffer#write(string, encoding)
+         } else if (length === undefined && typeof offset === 'string') {
+           encoding = offset
+           length = this.length
+           offset = 0
+         // Buffer#write(string, offset[, length][, encoding])
+         } else if (isFinite(offset)) {
+           offset = offset | 0
+           if (isFinite(length)) {
+             length = length | 0
+             if (encoding === undefined) encoding = 'utf8'
+           } else {
+             encoding = length
+             length = undefined
+           }
+         // legacy write(string, encoding, offset, length) - remove in v0.13
+         } else {
+           var swap = encoding
+           encoding = offset
+           offset = length | 0
+           length = swap
+         }
+
+         var remaining = this.length - offset
+         if (length === undefined || length > remaining) length = remaining
+
+         if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
+           throw new RangeError('attempt to write outside buffer bounds')
+         }
+
+         if (!encoding) encoding = 'utf8'
+
+         var loweredCase = false
+         for (;;) {
+           switch (encoding) {
+             case 'hex':
+               return hexWrite(this, string, offset, length)
+
+             case 'utf8':
+             case 'utf-8':
+               return utf8Write(this, string, offset, length)
+
+             case 'ascii':
+               return asciiWrite(this, string, offset, length)
+
+             case 'binary':
+               return binaryWrite(this, string, offset, length)
+
+             case 'base64':
+               // Warning: maxLength not taken into account in base64Write
+               return base64Write(this, string, offset, length)
+
+             case 'ucs2':
+             case 'ucs-2':
+             case 'utf16le':
+             case 'utf-16le':
+               return ucs2Write(this, string, offset, length)
+
+             default:
+               if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
+               encoding = ('' + encoding).toLowerCase()
+               loweredCase = true
+           }
+         }
+       }
+
+       Buffer.prototype.toJSON = function toJSON () {
+         return {
+           type: 'Buffer',
+           data: Array.prototype.slice.call(this._arr || this, 0)
+         }
+       }
+
+       function base64Slice (buf, start, end) {
+         if (start === 0 && end === buf.length) {
+           return base64.fromByteArray(buf)
+         } else {
+           return base64.fromByteArray(buf.slice(start, end))
+         }
+       }
+
+       function utf8Slice (buf, start, end) {
+         end = Math.min(buf.length, end)
+         var res = []
+
+         var i = start
+         while (i < end) {
+           var firstByte = buf[i]
+           var codePoint = null
+           var bytesPerSequence = (firstByte > 0xEF) ? 4
+             : (firstByte > 0xDF) ? 3
+             : (firstByte > 0xBF) ? 2
+             : 1
+
+           if (i + bytesPerSequence <= end) {
+             var secondByte, thirdByte, fourthByte, tempCodePoint
+
+             switch (bytesPerSequence) {
+               case 1:
+                 if (firstByte < 0x80) {
+                   codePoint = firstByte
+                 }
+                 break
+               case 2:
+                 secondByte = buf[i + 1]
+                 if ((secondByte & 0xC0) === 0x80) {
+                   tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)
+                   if (tempCodePoint > 0x7F) {
+                     codePoint = tempCodePoint
+                   }
+                 }
+                 break
+               case 3:
+                 secondByte = buf[i + 1]
+                 thirdByte = buf[i + 2]
+                 if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
+                   tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)
+                   if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
+                     codePoint = tempCodePoint
+                   }
+                 }
+                 break
+               case 4:
+                 secondByte = buf[i + 1]
+                 thirdByte = buf[i + 2]
+                 fourthByte = buf[i + 3]
+                 if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
+                   tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)
+                   if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
+                     codePoint = tempCodePoint
+                   }
+                 }
+             }
+           }
+
+           if (codePoint === null) {
+             // we did not generate a valid codePoint so insert a
+             // replacement char (U+FFFD) and advance only 1 byte
+             codePoint = 0xFFFD
+             bytesPerSequence = 1
+           } else if (codePoint > 0xFFFF) {
+             // encode to utf16 (surrogate pair dance)
+             codePoint -= 0x10000
+             res.push(codePoint >>> 10 & 0x3FF | 0xD800)
+             codePoint = 0xDC00 | codePoint & 0x3FF
+           }
+
+           res.push(codePoint)
+           i += bytesPerSequence
+         }
+
+         return decodeCodePointsArray(res)
+       }
+
+       // Based on http://stackoverflow.com/a/22747272/680742, the browser with
+       // the lowest limit is Chrome, with 0x10000 args.
+       // We go 1 magnitude less, for safety
+       var MAX_ARGUMENTS_LENGTH = 0x1000
+
+       function decodeCodePointsArray (codePoints) {
+         var len = codePoints.length
+         if (len <= MAX_ARGUMENTS_LENGTH) {
+           return String.fromCharCode.apply(String, codePoints) // avoid extra slice()
+         }
+
+         // Decode in chunks to avoid "call stack size exceeded".
+         var res = ''
+         var i = 0
+         while (i < len) {
+           res += String.fromCharCode.apply(
+             String,
+             codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)
+           )
+         }
+         return res
+       }
+
+       function asciiSlice (buf, start, end) {
+         var ret = ''
+         end = Math.min(buf.length, end)
+
+         for (var i = start; i < end; i++) {
+           ret += String.fromCharCode(buf[i] & 0x7F)
+         }
+         return ret
+       }
+
+       function binarySlice (buf, start, end) {
+         var ret = ''
+         end = Math.min(buf.length, end)
+
+         for (var i = start; i < end; i++) {
+           ret += String.fromCharCode(buf[i])
+         }
+         return ret
+       }
+
+       function hexSlice (buf, start, end) {
+         var len = buf.length
+
+         if (!start || start < 0) start = 0
+         if (!end || end < 0 || end > len) end = len
+
+         var out = ''
+         for (var i = start; i < end; i++) {
+           out += toHex(buf[i])
+         }
+         return out
+       }
+
+       function utf16leSlice (buf, start, end) {
+         var bytes = buf.slice(start, end)
+         var res = ''
+         for (var i = 0; i < bytes.length; i += 2) {
+           res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)
+         }
+         return res
+       }
+
+       Buffer.prototype.slice = function slice (start, end) {
+         var len = this.length
+         start = ~~start
+         end = end === undefined ? len : ~~end
+
+         if (start < 0) {
+           start += len
+           if (start < 0) start = 0
+         } else if (start > len) {
+           start = len
+         }
+
+         if (end < 0) {
+           end += len
+           if (end < 0) end = 0
+         } else if (end > len) {
+           end = len
+         }
+
+         if (end < start) end = start
+
+         var newBuf
+         if (Buffer.TYPED_ARRAY_SUPPORT) {
+           newBuf = Buffer._augment(this.subarray(start, end))
+         } else {
+           var sliceLen = end - start
+           newBuf = new Buffer(sliceLen, undefined)
+           for (var i = 0; i < sliceLen; i++) {
+             newBuf[i] = this[i + start]
+           }
+         }
+
+         if (newBuf.length) newBuf.parent = this.parent || this
+
+         return newBuf
+       }
+
+       /*
+        * Need to make sure that buffer isn't trying to write out of bounds.
+        */
+       function checkOffset (offset, ext, length) {
+         if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
+         if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
+       }
+
+       Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
+         offset = offset | 0
+         byteLength = byteLength | 0
+         if (!noAssert) checkOffset(offset, byteLength, this.length)
+
+         var val = this[offset]
+         var mul = 1
+         var i = 0
+         while (++i < byteLength && (mul *= 0x100)) {
+           val += this[offset + i] * mul
+         }
+
+         return val
+       }
+
+       Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
+         offset = offset | 0
+         byteLength = byteLength | 0
+         if (!noAssert) {
+           checkOffset(offset, byteLength, this.length)
+         }
+
+         var val = this[offset + --byteLength]
+         var mul = 1
+         while (byteLength > 0 && (mul *= 0x100)) {
+           val += this[offset + --byteLength] * mul
+         }
+
+         return val
+       }
+
+       Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
+         if (!noAssert) checkOffset(offset, 1, this.length)
+         return this[offset]
+       }
+
+       Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
+         if (!noAssert) checkOffset(offset, 2, this.length)
+         return this[offset] | (this[offset + 1] << 8)
+       }
+
+       Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
+         if (!noAssert) checkOffset(offset, 2, this.length)
+         return (this[offset] << 8) | this[offset + 1]
+       }
+
+       Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
+         if (!noAssert) checkOffset(offset, 4, this.length)
+
+         return ((this[offset]) |
+             (this[offset + 1] << 8) |
+             (this[offset + 2] << 16)) +
+             (this[offset + 3] * 0x1000000)
+       }
+
+       Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
+         if (!noAssert) checkOffset(offset, 4, this.length)
+
+         return (this[offset] * 0x1000000) +
+           ((this[offset + 1] << 16) |
+           (this[offset + 2] << 8) |
+           this[offset + 3])
+       }
+
+       Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
+         offset = offset | 0
+         byteLength = byteLength | 0
+         if (!noAssert) checkOffset(offset, byteLength, this.length)
+
+         var val = this[offset]
+         var mul = 1
+         var i = 0
+         while (++i < byteLength && (mul *= 0x100)) {
+           val += this[offset + i] * mul
+         }
+         mul *= 0x80
+
+         if (val >= mul) val -= Math.pow(2, 8 * byteLength)
+
+         return val
+       }
+
+       Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
+         offset = offset | 0
+         byteLength = byteLength | 0
+         if (!noAssert) checkOffset(offset, byteLength, this.length)
+
+         var i = byteLength
+         var mul = 1
+         var val = this[offset + --i]
+         while (i > 0 && (mul *= 0x100)) {
+           val += this[offset + --i] * mul
+         }
+         mul *= 0x80
+
+         if (val >= mul) val -= Math.pow(2, 8 * byteLength)
+
+         return val
+       }
+
+       Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) {
+         if (!noAssert) checkOffset(offset, 1, this.length)
+         if (!(this[offset] & 0x80)) return (this[offset])
+         return ((0xff - this[offset] + 1) * -1)
+       }
+
+       Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
+         if (!noAssert) checkOffset(offset, 2, this.length)
+         var val = this[offset] | (this[offset + 1] << 8)
+         return (val & 0x8000) ? val | 0xFFFF0000 : val
+       }
+
+       Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
+         if (!noAssert) checkOffset(offset, 2, this.length)
+         var val = this[offset + 1] | (this[offset] << 8)
+         return (val & 0x8000) ? val | 0xFFFF0000 : val
+       }
+
+       Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
+         if (!noAssert) checkOffset(offset, 4, this.length)
+
+         return (this[offset]) |
+           (this[offset + 1] << 8) |
+           (this[offset + 2] << 16) |
+           (this[offset + 3] << 24)
+       }
+
+       Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
+         if (!noAssert) checkOffset(offset, 4, this.length)
+
+         return (this[offset] << 24) |
+           (this[offset + 1] << 16) |
+           (this[offset + 2] << 8) |
+           (this[offset + 3])
+       }
+
+       Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
+         if (!noAssert) checkOffset(offset, 4, this.length)
+         return ieee754.read(this, offset, true, 23, 4)
+       }
+
+       Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
+         if (!noAssert) checkOffset(offset, 4, this.length)
+         return ieee754.read(this, offset, false, 23, 4)
+       }
+
+       Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
+         if (!noAssert) checkOffset(offset, 8, this.length)
+         return ieee754.read(this, offset, true, 52, 8)
+       }
+
+       Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
+         if (!noAssert) checkOffset(offset, 8, this.length)
+         return ieee754.read(this, offset, false, 52, 8)
+       }
+
+       function checkInt (buf, value, offset, ext, max, min) {
+         if (!Buffer.isBuffer(buf)) throw new TypeError('buffer must be a Buffer instance')
+         if (value > max || value < min) throw new RangeError('value is out of bounds')
+         if (offset + ext > buf.length) throw new RangeError('index out of range')
+       }
+
+       Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
+         value = +value
+         offset = offset | 0
+         byteLength = byteLength | 0
+         if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0)
+
+         var mul = 1
+         var i = 0
+         this[offset] = value & 0xFF
+         while (++i < byteLength && (mul *= 0x100)) {
+           this[offset + i] = (value / mul) & 0xFF
+         }
+
+         return offset + byteLength
+       }
+
+       Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
+         value = +value
+         offset = offset | 0
+         byteLength = byteLength | 0
+         if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0)
+
+         var i = byteLength - 1
+         var mul = 1
+         this[offset + i] = value & 0xFF
+         while (--i >= 0 && (mul *= 0x100)) {
+           this[offset + i] = (value / mul) & 0xFF
+         }
+
+         return offset + byteLength
+       }
+
+       Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
+         value = +value
+         offset = offset | 0
+         if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)
+         if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
+         this[offset] = (value & 0xff)
+         return offset + 1
+       }
+
+       function objectWriteUInt16 (buf, value, offset, littleEndian) {
+         if (value < 0) value = 0xffff + value + 1
+         for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; i++) {
+           buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
+             (littleEndian ? i : 1 - i) * 8
+         }
+       }
+
+       Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
+         value = +value
+         offset = offset | 0
+         if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
+         if (Buffer.TYPED_ARRAY_SUPPORT) {
+           this[offset] = (value & 0xff)
+           this[offset + 1] = (value >>> 8)
+         } else {
+           objectWriteUInt16(this, value, offset, true)
+         }
+         return offset + 2
+       }
+
+       Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
+         value = +value
+         offset = offset | 0
+         if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
+         if (Buffer.TYPED_ARRAY_SUPPORT) {
+           this[offset] = (value >>> 8)
+           this[offset + 1] = (value & 0xff)
+         } else {
+           objectWriteUInt16(this, value, offset, false)
+         }
+         return offset + 2
+       }
+
+       function objectWriteUInt32 (buf, value, offset, littleEndian) {
+         if (value < 0) value = 0xffffffff + value + 1
+         for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; i++) {
+           buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff
+         }
+       }
+
+       Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
+         value = +value
+         offset = offset | 0
+         if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
+         if (Buffer.TYPED_ARRAY_SUPPORT) {
+           this[offset + 3] = (value >>> 24)
+           this[offset + 2] = (value >>> 16)
+           this[offset + 1] = (value >>> 8)
+           this[offset] = (value & 0xff)
+         } else {
+           objectWriteUInt32(this, value, offset, true)
+         }
+         return offset + 4
+       }
+
+       Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
+         value = +value
+         offset = offset | 0
+         if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
+         if (Buffer.TYPED_ARRAY_SUPPORT) {
+           this[offset] = (value >>> 24)
+           this[offset + 1] = (value >>> 16)
+           this[offset + 2] = (value >>> 8)
+           this[offset + 3] = (value & 0xff)
+         } else {
+           objectWriteUInt32(this, value, offset, false)
+         }
+         return offset + 4
+       }
+
+       Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
+         value = +value
+         offset = offset | 0
+         if (!noAssert) {
+           var limit = Math.pow(2, 8 * byteLength - 1)
+
+           checkInt(this, value, offset, byteLength, limit - 1, -limit)
+         }
+
+         var i = 0
+         var mul = 1
+         var sub = value < 0 ? 1 : 0
+         this[offset] = value & 0xFF
+         while (++i < byteLength && (mul *= 0x100)) {
+           this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
+         }
+
+         return offset + byteLength
+       }
+
+       Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
+         value = +value
+         offset = offset | 0
+         if (!noAssert) {
+           var limit = Math.pow(2, 8 * byteLength - 1)
+
+           checkInt(this, value, offset, byteLength, limit - 1, -limit)
+         }
+
+         var i = byteLength - 1
+         var mul = 1
+         var sub = value < 0 ? 1 : 0
+         this[offset + i] = value & 0xFF
+         while (--i >= 0 && (mul *= 0x100)) {
+           this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
+         }
+
+         return offset + byteLength
+       }
+
+       Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
+         value = +value
+         offset = offset | 0
+         if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)
+         if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
+         if (value < 0) value = 0xff + value + 1
+         this[offset] = (value & 0xff)
+         return offset + 1
+       }
+
+       Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
+         value = +value
+         offset = offset | 0
+         if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
+         if (Buffer.TYPED_ARRAY_SUPPORT) {
+           this[offset] = (value & 0xff)
+           this[offset + 1] = (value >>> 8)
+         } else {
+           objectWriteUInt16(this, value, offset, true)
+         }
+         return offset + 2
+       }
+
+       Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
+         value = +value
+         offset = offset | 0
+         if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
+         if (Buffer.TYPED_ARRAY_SUPPORT) {
+           this[offset] = (value >>> 8)
+           this[offset + 1] = (value & 0xff)
+         } else {
+           objectWriteUInt16(this, value, offset, false)
+         }
+         return offset + 2
+       }
+
+       Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
+         value = +value
+         offset = offset | 0
+         if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
+         if (Buffer.TYPED_ARRAY_SUPPORT) {
+           this[offset] = (value & 0xff)
+           this[offset + 1] = (value >>> 8)
+           this[offset + 2] = (value >>> 16)
+           this[offset + 3] = (value >>> 24)
+         } else {
+           objectWriteUInt32(this, value, offset, true)
+         }
+         return offset + 4
+       }
+
+       Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
+         value = +value
+         offset = offset | 0
+         if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
+         if (value < 0) value = 0xffffffff + value + 1
+         if (Buffer.TYPED_ARRAY_SUPPORT) {
+           this[offset] = (value >>> 24)
+           this[offset + 1] = (value >>> 16)
+           this[offset + 2] = (value >>> 8)
+           this[offset + 3] = (value & 0xff)
+         } else {
+           objectWriteUInt32(this, value, offset, false)
+         }
+         return offset + 4
+       }
+
+       function checkIEEE754 (buf, value, offset, ext, max, min) {
+         if (value > max || value < min) throw new RangeError('value is out of bounds')
+         if (offset + ext > buf.length) throw new RangeError('index out of range')
+         if (offset < 0) throw new RangeError('index out of range')
+       }
+
+       function writeFloat (buf, value, offset, littleEndian, noAssert) {
+         if (!noAssert) {
+           checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)
+         }
+         ieee754.write(buf, value, offset, littleEndian, 23, 4)
+         return offset + 4
+       }
+
+       Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
+         return writeFloat(this, value, offset, true, noAssert)
+       }
+
+       Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
+         return writeFloat(this, value, offset, false, noAssert)
+       }
+
+       function writeDouble (buf, value, offset, littleEndian, noAssert) {
+         if (!noAssert) {
+           checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)
+         }
+         ieee754.write(buf, value, offset, littleEndian, 52, 8)
+         return offset + 8
+       }
+
+       Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
+         return writeDouble(this, value, offset, true, noAssert)
+       }
+
+       Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
+         return writeDouble(this, value, offset, false, noAssert)
+       }
+
+       // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
+       Buffer.prototype.copy = function copy (target, targetStart, start, end) {
+         if (!start) start = 0
+         if (!end && end !== 0) end = this.length
+         if (targetStart >= target.length) targetStart = target.length
+         if (!targetStart) targetStart = 0
+         if (end > 0 && end < start) end = start
+
+         // Copy 0 bytes; we're done
+         if (end === start) return 0
+         if (target.length === 0 || this.length === 0) return 0
+
+         // Fatal error conditions
+         if (targetStart < 0) {
+           throw new RangeError('targetStart out of bounds')
+         }
+         if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')
+         if (end < 0) throw new RangeError('sourceEnd out of bounds')
+
+         // Are we oob?
+         if (end > this.length) end = this.length
+         if (target.length - targetStart < end - start) {
+           end = target.length - targetStart + start
+         }
+
+         var len = end - start
+         var i
+
+         if (this === target && start < targetStart && targetStart < end) {
+           // descending copy from end
+           for (i = len - 1; i >= 0; i--) {
+             target[i + targetStart] = this[i + start]
+           }
+         } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {
+           // ascending copy from start
+           for (i = 0; i < len; i++) {
+             target[i + targetStart] = this[i + start]
+           }
+         } else {
+           target._set(this.subarray(start, start + len), targetStart)
+         }
+
+         return len
+       }
+
+       // fill(value, start=0, end=buffer.length)
+       Buffer.prototype.fill = function fill (value, start, end) {
+         if (!value) value = 0
+         if (!start) start = 0
+         if (!end) end = this.length
+
+         if (end < start) throw new RangeError('end < start')
+
+         // Fill 0 bytes; we're done
+         if (end === start) return
+         if (this.length === 0) return
+
+         if (start < 0 || start >= this.length) throw new RangeError('start out of bounds')
+         if (end < 0 || end > this.length) throw new RangeError('end out of bounds')
+
+         var i
+         if (typeof value === 'number') {
+           for (i = start; i < end; i++) {
+             this[i] = value
+           }
+         } else {
+           var bytes = utf8ToBytes(value.toString())
+           var len = bytes.length
+           for (i = start; i < end; i++) {
+             this[i] = bytes[i % len]
+           }
+         }
+
+         return this
+       }
+
+       /**
+        * Creates a new `ArrayBuffer` with the *copied* memory of the buffer instance.
+        * Added in Node 0.12. Only available in browsers that support ArrayBuffer.
+        */
+       Buffer.prototype.toArrayBuffer = function toArrayBuffer () {
+         if (typeof Uint8Array !== 'undefined') {
+           if (Buffer.TYPED_ARRAY_SUPPORT) {
+             return (new Buffer(this)).buffer
+           } else {
+             var buf = new Uint8Array(this.length)
+             for (var i = 0, len = buf.length; i < len; i += 1) {
+               buf[i] = this[i]
+             }
+             return buf.buffer
+           }
+         } else {
+           throw new TypeError('Buffer.toArrayBuffer not supported in this browser')
+         }
+       }
+
+       // HELPER FUNCTIONS
+       // ================
+
+       var BP = Buffer.prototype
+
+       /**
+        * Augment a Uint8Array *instance* (not the Uint8Array class!) with Buffer methods
+        */
+       Buffer._augment = function _augment (arr) {
+         arr.constructor = Buffer
+         arr._isBuffer = true
+
+         // save reference to original Uint8Array set method before overwriting
+         arr._set = arr.set
+
+         // deprecated
+         arr.get = BP.get
+         arr.set = BP.set
+
+         arr.write = BP.write
+         arr.toString = BP.toString
+         arr.toLocaleString = BP.toString
+         arr.toJSON = BP.toJSON
+         arr.equals = BP.equals
+         arr.compare = BP.compare
+         arr.indexOf = BP.indexOf
+         arr.copy = BP.copy
+         arr.slice = BP.slice
+         arr.readUIntLE = BP.readUIntLE
+         arr.readUIntBE = BP.readUIntBE
+         arr.readUInt8 = BP.readUInt8
+         arr.readUInt16LE = BP.readUInt16LE
+         arr.readUInt16BE = BP.readUInt16BE
+         arr.readUInt32LE = BP.readUInt32LE
+         arr.readUInt32BE = BP.readUInt32BE
+         arr.readIntLE = BP.readIntLE
+         arr.readIntBE = BP.readIntBE
+         arr.readInt8 = BP.readInt8
+         arr.readInt16LE = BP.readInt16LE
+         arr.readInt16BE = BP.readInt16BE
+         arr.readInt32LE = BP.readInt32LE
+         arr.readInt32BE = BP.readInt32BE
+         arr.readFloatLE = BP.readFloatLE
+         arr.readFloatBE = BP.readFloatBE
+         arr.readDoubleLE = BP.readDoubleLE
+         arr.readDoubleBE = BP.readDoubleBE
+         arr.writeUInt8 = BP.writeUInt8
+         arr.writeUIntLE = BP.writeUIntLE
+         arr.writeUIntBE = BP.writeUIntBE
+         arr.writeUInt16LE = BP.writeUInt16LE
+         arr.writeUInt16BE = BP.writeUInt16BE
+         arr.writeUInt32LE = BP.writeUInt32LE
+         arr.writeUInt32BE = BP.writeUInt32BE
+         arr.writeIntLE = BP.writeIntLE
+         arr.writeIntBE = BP.writeIntBE
+         arr.writeInt8 = BP.writeInt8
+         arr.writeInt16LE = BP.writeInt16LE
+         arr.writeInt16BE = BP.writeInt16BE
+         arr.writeInt32LE = BP.writeInt32LE
+         arr.writeInt32BE = BP.writeInt32BE
+         arr.writeFloatLE = BP.writeFloatLE
+         arr.writeFloatBE = BP.writeFloatBE
+         arr.writeDoubleLE = BP.writeDoubleLE
+         arr.writeDoubleBE = BP.writeDoubleBE
+         arr.fill = BP.fill
+         arr.inspect = BP.inspect
+         arr.toArrayBuffer = BP.toArrayBuffer
+
+         return arr
+       }
+
+       var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g
+
+       function base64clean (str) {
+         // Node strips out invalid characters like \n and \t from the string, base64-js does not
+         str = stringtrim(str).replace(INVALID_BASE64_RE, '')
+         // Node converts strings with length < 2 to ''
+         if (str.length < 2) return ''
+         // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
+         while (str.length % 4 !== 0) {
+           str = str + '='
+         }
+         return str
+       }
+
+       function stringtrim (str) {
+         if (str.trim) return str.trim()
+         return str.replace(/^\s+|\s+$/g, '')
+       }
+
+       function toHex (n) {
+         if (n < 16) return '0' + n.toString(16)
+         return n.toString(16)
+       }
+
+       function utf8ToBytes (string, units) {
+         units = units || Infinity
+         var codePoint
+         var length = string.length
+         var leadSurrogate = null
+         var bytes = []
+
+         for (var i = 0; i < length; i++) {
+           codePoint = string.charCodeAt(i)
+
+           // is surrogate component
+           if (codePoint > 0xD7FF && codePoint < 0xE000) {
+             // last char was a lead
+             if (!leadSurrogate) {
+               // no lead yet
+               if (codePoint > 0xDBFF) {
+                 // unexpected trail
+                 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
+                 continue
+               } else if (i + 1 === length) {
+                 // unpaired lead
+                 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
+                 continue
+               }
+
+               // valid lead
+               leadSurrogate = codePoint
+
+               continue
+             }
+
+             // 2 leads in a row
+             if (codePoint < 0xDC00) {
+               if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
+               leadSurrogate = codePoint
+               continue
+             }
+
+             // valid surrogate pair
+             codePoint = leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00 | 0x10000
+           } else if (leadSurrogate) {
+             // valid bmp char, but last char was a lead
+             if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
+           }
+
+           leadSurrogate = null
+
+           // encode utf8
+           if (codePoint < 0x80) {
+             if ((units -= 1) < 0) break
+             bytes.push(codePoint)
+           } else if (codePoint < 0x800) {
+             if ((units -= 2) < 0) break
+             bytes.push(
+               codePoint >> 0x6 | 0xC0,
+               codePoint & 0x3F | 0x80
+             )
+           } else if (codePoint < 0x10000) {
+             if ((units -= 3) < 0) break
+             bytes.push(
+               codePoint >> 0xC | 0xE0,
+               codePoint >> 0x6 & 0x3F | 0x80,
+               codePoint & 0x3F | 0x80
+             )
+           } else if (codePoint < 0x110000) {
+             if ((units -= 4) < 0) break
+             bytes.push(
+               codePoint >> 0x12 | 0xF0,
+               codePoint >> 0xC & 0x3F | 0x80,
+               codePoint >> 0x6 & 0x3F | 0x80,
+               codePoint & 0x3F | 0x80
+             )
+           } else {
+             throw new Error('Invalid code point')
+           }
+         }
+
+         return bytes
+       }
+
+       function asciiToBytes (str) {
+         var byteArray = []
+         for (var i = 0; i < str.length; i++) {
+           // Node's code seems to be doing this and not & 0x7F..
+           byteArray.push(str.charCodeAt(i) & 0xFF)
+         }
+         return byteArray
+       }
+
+       function utf16leToBytes (str, units) {
+         var c, hi, lo
+         var byteArray = []
+         for (var i = 0; i < str.length; i++) {
+           if ((units -= 2) < 0) break
+
+           c = str.charCodeAt(i)
+           hi = c >> 8
+           lo = c % 256
+           byteArray.push(lo)
+           byteArray.push(hi)
+         }
+
+         return byteArray
+       }
+
+       function base64ToBytes (str) {
+         return base64.toByteArray(base64clean(str))
+       }
+
+       function blitBuffer (src, dst, offset, length) {
+         for (var i = 0; i < length; i++) {
+           if ((i + offset >= dst.length) || (i >= src.length)) break
+           dst[i + offset] = src[i]
+         }
+         return i
+       }
+
+       /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2).Buffer, (function() { return this; }())))
+
+/***/ },
+/* 3 */
+/***/ function(module, exports, __webpack_require__) {
+
+       var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
+
+       ;(function (exports) {
+               'use strict';
+
+         var Arr = (typeof Uint8Array !== 'undefined')
+           ? Uint8Array
+           : Array
+
+               var PLUS   = '+'.charCodeAt(0)
+               var SLASH  = '/'.charCodeAt(0)
+               var NUMBER = '0'.charCodeAt(0)
+               var LOWER  = 'a'.charCodeAt(0)
+               var UPPER  = 'A'.charCodeAt(0)
+               var PLUS_URL_SAFE = '-'.charCodeAt(0)
+               var SLASH_URL_SAFE = '_'.charCodeAt(0)
+
+               function decode (elt) {
+                       var code = elt.charCodeAt(0)
+                       if (code === PLUS ||
+                           code === PLUS_URL_SAFE)
+                               return 62 // '+'
+                       if (code === SLASH ||
+                           code === SLASH_URL_SAFE)
+                               return 63 // '/'
+                       if (code < NUMBER)
+                               return -1 //no match
+                       if (code < NUMBER + 10)
+                               return code - NUMBER + 26 + 26
+                       if (code < UPPER + 26)
+                               return code - UPPER
+                       if (code < LOWER + 26)
+                               return code - LOWER + 26
+               }
+
+               function b64ToByteArray (b64) {
+                       var i, j, l, tmp, placeHolders, arr
+
+                       if (b64.length % 4 > 0) {
+                               throw new Error('Invalid string. Length must be a multiple of 4')
+                       }
+
+                       // the number of equal signs (place holders)
+                       // if there are two placeholders, than the two characters before it
+                       // represent one byte
+                       // if there is only one, then the three characters before it represent 2 bytes
+                       // this is just a cheap hack to not do indexOf twice
+                       var len = b64.length
+                       placeHolders = '=' === b64.charAt(len - 2) ? 2 : '=' === b64.charAt(len - 1) ? 1 : 0
+
+                       // base64 is 4/3 + up to two characters of the original data
+                       arr = new Arr(b64.length * 3 / 4 - placeHolders)
+
+                       // if there are placeholders, only get up to the last complete 4 chars
+                       l = placeHolders > 0 ? b64.length - 4 : b64.length
+
+                       var L = 0
+
+                       function push (v) {
+                               arr[L++] = v
+                       }
+
+                       for (i = 0, j = 0; i < l; i += 4, j += 3) {
+                               tmp = (decode(b64.charAt(i)) << 18) | (decode(b64.charAt(i + 1)) << 12) | (decode(b64.charAt(i + 2)) << 6) | decode(b64.charAt(i + 3))
+                               push((tmp & 0xFF0000) >> 16)
+                               push((tmp & 0xFF00) >> 8)
+                               push(tmp & 0xFF)
+                       }
+
+                       if (placeHolders === 2) {
+                               tmp = (decode(b64.charAt(i)) << 2) | (decode(b64.charAt(i + 1)) >> 4)
+                               push(tmp & 0xFF)
+                       } else if (placeHolders === 1) {
+                               tmp = (decode(b64.charAt(i)) << 10) | (decode(b64.charAt(i + 1)) << 4) | (decode(b64.charAt(i + 2)) >> 2)
+                               push((tmp >> 8) & 0xFF)
+                               push(tmp & 0xFF)
+                       }
+
+                       return arr
+               }
+
+               function uint8ToBase64 (uint8) {
+                       var i,
+                               extraBytes = uint8.length % 3, // if we have 1 byte left, pad 2 bytes
+                               output = "",
+                               temp, length
+
+                       function encode (num) {
+                               return lookup.charAt(num)
+                       }
+
+                       function tripletToBase64 (num) {
+                               return encode(num >> 18 & 0x3F) + encode(num >> 12 & 0x3F) + encode(num >> 6 & 0x3F) + encode(num & 0x3F)
+                       }
+
+                       // go through the array every three bytes, we'll deal with trailing stuff later
+                       for (i = 0, length = uint8.length - extraBytes; i < length; i += 3) {
+                               temp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])
+                               output += tripletToBase64(temp)
+                       }
+
+                       // pad the end with zeros, but make sure to not forget the extra bytes
+                       switch (extraBytes) {
+                               case 1:
+                                       temp = uint8[uint8.length - 1]
+                                       output += encode(temp >> 2)
+                                       output += encode((temp << 4) & 0x3F)
+                                       output += '=='
+                                       break
+                               case 2:
+                                       temp = (uint8[uint8.length - 2] << 8) + (uint8[uint8.length - 1])
+                                       output += encode(temp >> 10)
+                                       output += encode((temp >> 4) & 0x3F)
+                                       output += encode((temp << 2) & 0x3F)
+                                       output += '='
+                                       break
+                       }
+
+                       return output
+               }
+
+               exports.toByteArray = b64ToByteArray
+               exports.fromByteArray = uint8ToBase64
+       }( false ? (this.base64js = {}) : exports))
+
+
+/***/ },
+/* 4 */
+/***/ function(module, exports) {
+
+       exports.read = function (buffer, offset, isLE, mLen, nBytes) {
+         var e, m
+         var eLen = nBytes * 8 - mLen - 1
+         var eMax = (1 << eLen) - 1
+         var eBias = eMax >> 1
+         var nBits = -7
+         var i = isLE ? (nBytes - 1) : 0
+         var d = isLE ? -1 : 1
+         var s = buffer[offset + i]
+
+         i += d
+
+         e = s & ((1 << (-nBits)) - 1)
+         s >>= (-nBits)
+         nBits += eLen
+         for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}
+
+         m = e & ((1 << (-nBits)) - 1)
+         e >>= (-nBits)
+         nBits += mLen
+         for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}
+
+         if (e === 0) {
+           e = 1 - eBias
+         } else if (e === eMax) {
+           return m ? NaN : ((s ? -1 : 1) * Infinity)
+         } else {
+           m = m + Math.pow(2, mLen)
+           e = e - eBias
+         }
+         return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
+       }
+
+       exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
+         var e, m, c
+         var eLen = nBytes * 8 - mLen - 1
+         var eMax = (1 << eLen) - 1
+         var eBias = eMax >> 1
+         var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)
+         var i = isLE ? 0 : (nBytes - 1)
+         var d = isLE ? 1 : -1
+         var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0
+
+         value = Math.abs(value)
+
+         if (isNaN(value) || value === Infinity) {
+           m = isNaN(value) ? 1 : 0
+           e = eMax
+         } else {
+           e = Math.floor(Math.log(value) / Math.LN2)
+           if (value * (c = Math.pow(2, -e)) < 1) {
+             e--
+             c *= 2
+           }
+           if (e + eBias >= 1) {
+             value += rt / c
+           } else {
+             value += rt * Math.pow(2, 1 - eBias)
+           }
+           if (value * c >= 2) {
+             e++
+             c /= 2
+           }
+
+           if (e + eBias >= eMax) {
+             m = 0
+             e = eMax
+           } else if (e + eBias >= 1) {
+             m = (value * c - 1) * Math.pow(2, mLen)
+             e = e + eBias
+           } else {
+             m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)
+             e = 0
+           }
+         }
+
+         for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
+
+         e = (e << mLen) | m
+         eLen += mLen
+         for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
+
+         buffer[offset + i - d] |= s * 128
+       }
+
+
+/***/ },
+/* 5 */
+/***/ function(module, exports) {
+
+       
+       /**
+        * isArray
+        */
+
+       var isArray = Array.isArray;
+
+       /**
+        * toString
+        */
+
+       var str = Object.prototype.toString;
+
+       /**
+        * Whether or not the given `val`
+        * is an array.
+        *
+        * example:
+        *
+        *        isArray([]);
+        *        // > true
+        *        isArray(arguments);
+        *        // > false
+        *        isArray('');
+        *        // > false
+        *
+        * @param {mixed} val
+        * @return {bool}
+        */
+
+       module.exports = isArray || function (val) {
+         return !! val && '[object Array]' == str.call(val);
+       };
+
+
+/***/ },
+/* 6 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* jslint node: true */
+       /* global window */
+       'use strict';
+
+       var _ = __webpack_require__(7);
+       var FontProvider = __webpack_require__(9);
+       var LayoutBuilder = __webpack_require__(11);
+       var PdfKit = __webpack_require__(24);
+       var PDFReference = __webpack_require__(46);
+       var sizes = __webpack_require__(102);
+       var ImageMeasure = __webpack_require__(103);
+       var textDecorator = __webpack_require__(104);
+       var FontProvider = __webpack_require__(9);
+
+       ////////////////////////////////////////
+       // PdfPrinter
+
+       /**
+        * @class Creates an instance of a PdfPrinter which turns document definition into a pdf
+        *
+        * @param {Object} fontDescriptors font definition dictionary
+        *
+        * @example
+        * var fontDescriptors = {
+        *      Roboto: {
+        *              normal: 'fonts/Roboto-Regular.ttf',
+        *              bold: 'fonts/Roboto-Medium.ttf',
+        *              italics: 'fonts/Roboto-Italic.ttf',
+        *              bolditalics: 'fonts/Roboto-Italic.ttf'
+        *      }
+        * };
+        *
+        * var printer = new PdfPrinter(fontDescriptors);
+        */
+       function PdfPrinter(fontDescriptors) {
+               this.fontDescriptors = fontDescriptors;
+       }
+
+       /**
+        * Executes layout engine for the specified document and renders it into a pdfkit document
+        * ready to be saved.
+        *
+        * @param {Object} docDefinition document definition
+        * @param {Object} docDefinition.content an array describing the pdf structure (for more information take a look at the examples in the /examples folder)
+        * @param {Object} [docDefinition.defaultStyle] default (implicit) style definition
+        * @param {Object} [docDefinition.styles] dictionary defining all styles which can be used in the document
+        * @param {Object} [docDefinition.pageSize] page size (pdfkit units, A4 dimensions by default)
+        * @param {Number} docDefinition.pageSize.width width
+        * @param {Number} docDefinition.pageSize.height height
+        * @param {Object} [docDefinition.pageMargins] page margins (pdfkit units)
+        *
+        * @example
+        *
+        * var docDefinition = {
+        *      info: {
+        *              title: 'awesome Document',
+        *              author: 'john doe',
+        *              subject: 'subject of document',
+        *              keywords: 'keywords for document',
+        *      },
+        *      content: [
+        *              'First paragraph',
+        *              'Second paragraph, this time a little bit longer',
+        *              { text: 'Third paragraph, slightly bigger font size', fontSize: 20 },
+        *              { text: 'Another paragraph using a named style', style: 'header' },
+        *              { text: ['playing with ', 'inlines' ] },
+        *              { text: ['and ', { text: 'restyling ', bold: true }, 'them'] },
+        *      ],
+        *      styles: {
+        *              header: { fontSize: 30, bold: true }
+        *      }
+        * }
+        *
+        * var pdfDoc = printer.createPdfKitDocument(docDefinition);
+        *
+        * pdfDoc.pipe(fs.createWriteStream('sample.pdf'));
+        * pdfDoc.end();
+        *
+        * @return {Object} a pdfKit document object which can be saved or encode to data-url
+        */
+       PdfPrinter.prototype.createPdfKitDocument = function(docDefinition, options) {
+               options = options || {};
+
+               var pageSize = pageSize2widthAndHeight(docDefinition.pageSize || 'a4');
+
+         if(docDefinition.pageOrientation === 'landscape') {
+           pageSize = { width: pageSize.height, height: pageSize.width};
+         }
+               pageSize.orientation = docDefinition.pageOrientation === 'landscape' ? docDefinition.pageOrientation : 'portrait';
+
+               this.pdfKitDoc = new PdfKit({ size: [ pageSize.width, pageSize.height ], compress: false});
+               this.pdfKitDoc.info.Producer = 'pdfmake';
+               this.pdfKitDoc.info.Creator = 'pdfmake';
+               
+               // pdf kit maintains the uppercase fieldnames from pdf spec
+               // to keep the pdfmake api consistent, the info field are defined lowercase
+               if(docDefinition.info){
+                       var info = docDefinition.info;
+                       // check for falsey an set null, so that pdfkit always get either null or value
+                       this.pdfKitDoc.info.Title = docDefinition.info.title ? docDefinition.info.title : null;
+                       this.pdfKitDoc.info.Author = docDefinition.info.author ? docDefinition.info.author : null;
+                       this.pdfKitDoc.info.Subject = docDefinition.info.subject ? docDefinition.info.subject : null;
+                       this.pdfKitDoc.info.Keywords = docDefinition.info.keywords ? docDefinition.info.keywords : null;
+               }
+               
+               this.fontProvider = new FontProvider(this.fontDescriptors, this.pdfKitDoc);
+
+         docDefinition.images = docDefinition.images || {};
+
+               var builder = new LayoutBuilder(
+                       pageSize,
+                       fixPageMargins(docDefinition.pageMargins || 40),
+               new ImageMeasure(this.pdfKitDoc, docDefinition.images));
+
+         registerDefaultTableLayouts(builder);
+         if (options.tableLayouts) {
+           builder.registerTableLayouts(options.tableLayouts);
+         }
+
+               var pages = builder.layoutDocument(docDefinition.content, this.fontProvider, docDefinition.styles || {}, docDefinition.defaultStyle || { fontSize: 12, font: 'Roboto' }, docDefinition.background, docDefinition.header, docDefinition.footer, docDefinition.images, docDefinition.watermark, docDefinition.pageBreakBefore);
+
+               renderPages(pages, this.fontProvider, this.pdfKitDoc);
+
+               if(options.autoPrint){
+           var printActionRef = this.pdfKitDoc.ref({
+             Type: 'Action',
+             S: 'Named',
+             N: 'Print'
+           });
+           this.pdfKitDoc._root.data.OpenAction = printActionRef;
+           printActionRef.end();
+               }
+               return this.pdfKitDoc;
+       };
+
+       function fixPageMargins(margin) {
+           if (!margin) return null;
+
+           if (typeof margin === 'number' || margin instanceof Number) {
+               margin = { left: margin, right: margin, top: margin, bottom: margin };
+           } else if (margin instanceof Array) {
+               if (margin.length === 2) {
+                   margin = { left: margin[0], top: margin[1], right: margin[0], bottom: margin[1] };
+               } else if (margin.length === 4) {
+                   margin = { left: margin[0], top: margin[1], right: margin[2], bottom: margin[3] };
+               } else throw 'Invalid pageMargins definition';
+           }
+
+           return margin;
+       }
+
+       function registerDefaultTableLayouts(layoutBuilder) {
+         layoutBuilder.registerTableLayouts({
+           noBorders: {
+             hLineWidth: function(i) { return 0; },
+             vLineWidth: function(i) { return 0; },
+             paddingLeft: function(i) { return i && 4 || 0; },
+             paddingRight: function(i, node) { return (i < node.table.widths.length - 1) ? 4 : 0; },
+           },
+           headerLineOnly: {
+             hLineWidth: function(i, node) {
+               if (i === 0 || i === node.table.body.length) return 0;
+               return (i === node.table.headerRows) ? 2 : 0;
+             },
+             vLineWidth: function(i) { return 0; },
+             paddingLeft: function(i) {
+               return i === 0 ? 0 : 8;
+             },
+             paddingRight: function(i, node) {
+               return (i === node.table.widths.length - 1) ? 0 : 8;
+             }
+           },
+           lightHorizontalLines: {
+             hLineWidth: function(i, node) {
+               if (i === 0 || i === node.table.body.length) return 0;
+               return (i === node.table.headerRows) ? 2 : 1;
+             },
+             vLineWidth: function(i) { return 0; },
+             hLineColor: function(i) { return i === 1 ? 'black' : '#aaa'; },
+             paddingLeft: function(i) {
+               return i === 0 ? 0 : 8;
+             },
+             paddingRight: function(i, node) {
+               return (i === node.table.widths.length - 1) ? 0 : 8;
+             }
+           }
+         });
+       }
+
+       var defaultLayout = {
+         hLineWidth: function(i, node) { return 1; }, //return node.table.headerRows && i === node.table.headerRows && 3 || 0; },
+         vLineWidth: function(i, node) { return 1; },
+         hLineColor: function(i, node) { return 'black'; },
+         vLineColor: function(i, node) { return 'black'; },
+         paddingLeft: function(i, node) { return 4; }, //i && 4 || 0; },
+         paddingRight: function(i, node) { return 4; }, //(i < node.table.widths.length - 1) ? 4 : 0; },
+         paddingTop: function(i, node) { return 2; },
+         paddingBottom: function(i, node) { return 2; }
+       };
+
+       function pageSize2widthAndHeight(pageSize) {
+           if (typeof pageSize == 'string' || pageSize instanceof String) {
+               var size = sizes[pageSize.toUpperCase()];
+               if (!size) throw ('Page size ' + pageSize + ' not recognized');
+               return { width: size[0], height: size[1] };
+           }
+
+           return pageSize;
+       }
+
+       function StringObject(str){
+               this.isString = true;
+               this.toString = function(){
+                       return str;
+               };
+       }
+
+       function updatePageOrientationInOptions(currentPage, pdfKitDoc) {
+               var previousPageOrientation = pdfKitDoc.options.size[0] > pdfKitDoc.options.size[1] ? 'landscape' : 'portrait';
+
+               if(currentPage.pageSize.orientation !== previousPageOrientation) {
+                       var width = pdfKitDoc.options.size[0];
+                       var height = pdfKitDoc.options.size[1];
+                       pdfKitDoc.options.size = [height, width];
+               }
+       }
+
+       function renderPages(pages, fontProvider, pdfKitDoc) {
+         pdfKitDoc._pdfMakePages = pages;
+               for (var i = 0; i < pages.length; i++) {
+                       if (i > 0) {
+                               updatePageOrientationInOptions(pages[i], pdfKitDoc);
+                               pdfKitDoc.addPage(pdfKitDoc.options);
+                       }
+
+                       var page = pages[i];
+           for(var ii = 0, il = page.items.length; ii < il; ii++) {
+               var item = page.items[ii];
+               switch(item.type) {
+                 case 'vector':
+                     renderVector(item.item, pdfKitDoc);
+                     break;
+                 case 'line':
+                     renderLine(item.item, item.item.x, item.item.y, pdfKitDoc);
+                     break;
+                 case 'image':
+                     renderImage(item.item, item.item.x, item.item.y, pdfKitDoc);
+                     break;
+                                       }
+           }
+           if(page.watermark){
+             renderWatermark(page, pdfKitDoc);
+               }
+
+           fontProvider.setFontRefsToPdfDoc();
+         }
+       }
+
+       function renderLine(line, x, y, pdfKitDoc) {
+               x = x || 0;
+               y = y || 0;
+
+               var lineHeight = line.getHeight();
+               var ascenderHeight = line.getAscenderHeight();
+
+               textDecorator.drawBackground(line, x, y, pdfKitDoc);
+
+               //TODO: line.optimizeInlines();
+               for(var i = 0, l = line.inlines.length; i < l; i++) {
+                       var inline = line.inlines[i];
+
+                       pdfKitDoc.fill(inline.color || 'black');
+
+                       pdfKitDoc.save();
+                       pdfKitDoc.transform(1, 0, 0, -1, 0, pdfKitDoc.page.height);
+
+
+           var encoded = inline.font.encode(inline.text);
+                       pdfKitDoc.addContent('BT');
+
+                       pdfKitDoc.addContent('' + (x + inline.x) + ' ' + (pdfKitDoc.page.height - y - ascenderHeight) + ' Td');
+                       pdfKitDoc.addContent('/' + encoded.fontId + ' ' + inline.fontSize + ' Tf');
+
+               pdfKitDoc.addContent('<' + encoded.encodedText + '> Tj');
+
+                       pdfKitDoc.addContent('ET');
+
+                       if (inline.link) {
+                               pdfKitDoc.link(x + inline.x, pdfKitDoc.page.height - y - lineHeight, inline.width, lineHeight, inline.link);
+                       }
+
+                       pdfKitDoc.restore();
+               }
+
+               textDecorator.drawDecorations(line, x, y, pdfKitDoc);
+
+       }
+
+       function renderWatermark(page, pdfKitDoc){
+               var watermark = page.watermark;
+
+               pdfKitDoc.fill('black');
+               pdfKitDoc.opacity(0.6);
+
+               pdfKitDoc.save();
+               pdfKitDoc.transform(1, 0, 0, -1, 0, pdfKitDoc.page.height);
+
+               var angle = Math.atan2(pdfKitDoc.page.height, pdfKitDoc.page.width) * 180/Math.PI;
+               pdfKitDoc.rotate(angle, {origin: [pdfKitDoc.page.width/2, pdfKitDoc.page.height/2]});
+
+         var encoded = watermark.font.encode(watermark.text);
+               pdfKitDoc.addContent('BT');
+               pdfKitDoc.addContent('' + (pdfKitDoc.page.width/2 - watermark.size.size.width/2) + ' ' + (pdfKitDoc.page.height/2 - watermark.size.size.height/4) + ' Td');
+               pdfKitDoc.addContent('/' + encoded.fontId + ' ' + watermark.size.fontSize + ' Tf');
+               pdfKitDoc.addContent('<' + encoded.encodedText + '> Tj');
+               pdfKitDoc.addContent('ET');
+               pdfKitDoc.restore();
+       }
+
+       function renderVector(vector, pdfDoc) {
+               //TODO: pdf optimization (there's no need to write all properties everytime)
+               pdfDoc.lineWidth(vector.lineWidth || 1);
+               if (vector.dash) {
+                       pdfDoc.dash(vector.dash.length, { space: vector.dash.space || vector.dash.length });
+               } else {
+                       pdfDoc.undash();
+               }
+               pdfDoc.fillOpacity(vector.fillOpacity || 1);
+               pdfDoc.strokeOpacity(vector.strokeOpacity || 1);
+               pdfDoc.lineJoin(vector.lineJoin || 'miter');
+
+               //TODO: clipping
+
+               switch(vector.type) {
+                       case 'ellipse':
+                               pdfDoc.ellipse(vector.x, vector.y, vector.r1, vector.r2);
+                               break;
+                       case 'rect':
+                               if (vector.r) {
+                                       pdfDoc.roundedRect(vector.x, vector.y, vector.w, vector.h, vector.r);
+                               } else {
+                                       pdfDoc.rect(vector.x, vector.y, vector.w, vector.h);
+                               }
+                               break;
+                       case 'line':
+                               pdfDoc.moveTo(vector.x1, vector.y1);
+                               pdfDoc.lineTo(vector.x2, vector.y2);
+                               break;
+                       case 'polyline':
+                               if (vector.points.length === 0) break;
+
+                               pdfDoc.moveTo(vector.points[0].x, vector.points[0].y);
+                               for(var i = 1, l = vector.points.length; i < l; i++) {
+                                       pdfDoc.lineTo(vector.points[i].x, vector.points[i].y);
+                               }
+
+                               if (vector.points.length > 1) {
+                                       var p1 = vector.points[0];
+                                       var pn = vector.points[vector.points.length - 1];
+
+                                       if (vector.closePath || p1.x === pn.x && p1.y === pn.y) {
+                                               pdfDoc.closePath();
+                                       }
+                               }
+                               break;
+               }
+
+               if (vector.color && vector.lineColor) {
+                       pdfDoc.fillAndStroke(vector.color, vector.lineColor);
+               } else if (vector.color) {
+                       pdfDoc.fill(vector.color);
+               } else {
+                       pdfDoc.stroke(vector.lineColor || 'black');
+               }
+       }
+
+       function renderImage(image, x, y, pdfKitDoc) {
+           pdfKitDoc.image(image.image, image.x, image.y, { width: image._width, height: image._height });
+       }
+
+       module.exports = PdfPrinter;
+
+
+       /* temporary browser extension */
+       PdfPrinter.prototype.fs = __webpack_require__(44);
+
+
+/***/ },
+/* 7 */
+/***/ function(module, exports, __webpack_require__) {
+
+       var __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(module, global) {/**
+        * @license
+        * lodash 3.10.1 (Custom Build) <https://lodash.com/>
+        * Build: `lodash modern -d -o ./index.js`
+        * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+        * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+        * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+        * Available under MIT license <https://lodash.com/license>
+        */
+       ;(function() {
+
+         /** Used as a safe reference for `undefined` in pre-ES5 environments. */
+         var undefined;
+
+         /** Used as the semantic version number. */
+         var VERSION = '3.10.1';
+
+         /** Used to compose bitmasks for wrapper metadata. */
+         var BIND_FLAG = 1,
+             BIND_KEY_FLAG = 2,
+             CURRY_BOUND_FLAG = 4,
+             CURRY_FLAG = 8,
+             CURRY_RIGHT_FLAG = 16,
+             PARTIAL_FLAG = 32,
+             PARTIAL_RIGHT_FLAG = 64,
+             ARY_FLAG = 128,
+             REARG_FLAG = 256;
+
+         /** Used as default options for `_.trunc`. */
+         var DEFAULT_TRUNC_LENGTH = 30,
+             DEFAULT_TRUNC_OMISSION = '...';
+
+         /** Used to detect when a function becomes hot. */
+         var HOT_COUNT = 150,
+             HOT_SPAN = 16;
+
+         /** Used as the size to enable large array optimizations. */
+         var LARGE_ARRAY_SIZE = 200;
+
+         /** Used to indicate the type of lazy iteratees. */
+         var LAZY_FILTER_FLAG = 1,
+             LAZY_MAP_FLAG = 2;
+
+         /** Used as the `TypeError` message for "Functions" methods. */
+         var FUNC_ERROR_TEXT = 'Expected a function';
+
+         /** Used as the internal argument placeholder. */
+         var PLACEHOLDER = '__lodash_placeholder__';
+
+         /** `Object#toString` result references. */
+         var argsTag = '[object Arguments]',
+             arrayTag = '[object Array]',
+             boolTag = '[object Boolean]',
+             dateTag = '[object Date]',
+             errorTag = '[object Error]',
+             funcTag = '[object Function]',
+             mapTag = '[object Map]',
+             numberTag = '[object Number]',
+             objectTag = '[object Object]',
+             regexpTag = '[object RegExp]',
+             setTag = '[object Set]',
+             stringTag = '[object String]',
+             weakMapTag = '[object WeakMap]';
+
+         var arrayBufferTag = '[object ArrayBuffer]',
+             float32Tag = '[object Float32Array]',
+             float64Tag = '[object Float64Array]',
+             int8Tag = '[object Int8Array]',
+             int16Tag = '[object Int16Array]',
+             int32Tag = '[object Int32Array]',
+             uint8Tag = '[object Uint8Array]',
+             uint8ClampedTag = '[object Uint8ClampedArray]',
+             uint16Tag = '[object Uint16Array]',
+             uint32Tag = '[object Uint32Array]';
+
+         /** Used to match empty string literals in compiled template source. */
+         var reEmptyStringLeading = /\b__p \+= '';/g,
+             reEmptyStringMiddle = /\b(__p \+=) '' \+/g,
+             reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g;
+
+         /** Used to match HTML entities and HTML characters. */
+         var reEscapedHtml = /&(?:amp|lt|gt|quot|#39|#96);/g,
+             reUnescapedHtml = /[&<>"'`]/g,
+             reHasEscapedHtml = RegExp(reEscapedHtml.source),
+             reHasUnescapedHtml = RegExp(reUnescapedHtml.source);
+
+         /** Used to match template delimiters. */
+         var reEscape = /<%-([\s\S]+?)%>/g,
+             reEvaluate = /<%([\s\S]+?)%>/g,
+             reInterpolate = /<%=([\s\S]+?)%>/g;
+
+         /** Used to match property names within property paths. */
+         var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,
+             reIsPlainProp = /^\w*$/,
+             rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g;
+
+         /**
+          * Used to match `RegExp` [syntax characters](http://ecma-international.org/ecma-262/6.0/#sec-patterns)
+          * and those outlined by [`EscapeRegExpPattern`](http://ecma-international.org/ecma-262/6.0/#sec-escaperegexppattern).
+          */
+         var reRegExpChars = /^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g,
+             reHasRegExpChars = RegExp(reRegExpChars.source);
+
+         /** Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks). */
+         var reComboMark = /[\u0300-\u036f\ufe20-\ufe23]/g;
+
+         /** Used to match backslashes in property paths. */
+         var reEscapeChar = /\\(\\)?/g;
+
+         /** Used to match [ES template delimiters](http://ecma-international.org/ecma-262/6.0/#sec-template-literal-lexical-components). */
+         var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;
+
+         /** Used to match `RegExp` flags from their coerced string values. */
+         var reFlags = /\w*$/;
+
+         /** Used to detect hexadecimal string values. */
+         var reHasHexPrefix = /^0[xX]/;
+
+         /** Used to detect host constructors (Safari > 5). */
+         var reIsHostCtor = /^\[object .+?Constructor\]$/;
+
+         /** Used to detect unsigned integer values. */
+         var reIsUint = /^\d+$/;
+
+         /** Used to match latin-1 supplementary letters (excluding mathematical operators). */
+         var reLatin1 = /[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g;
+
+         /** Used to ensure capturing order of template delimiters. */
+         var reNoMatch = /($^)/;
+
+         /** Used to match unescaped characters in compiled string literals. */
+         var reUnescapedString = /['\n\r\u2028\u2029\\]/g;
+
+         /** Used to match words to create compound words. */
+         var reWords = (function() {
+           var upper = '[A-Z\\xc0-\\xd6\\xd8-\\xde]',
+               lower = '[a-z\\xdf-\\xf6\\xf8-\\xff]+';
+
+           return RegExp(upper + '+(?=' + upper + lower + ')|' + upper + '?' + lower + '|' + upper + '+|[0-9]+', 'g');
+         }());
+
+         /** Used to assign default `context` object properties. */
+         var contextProps = [
+           'Array', 'ArrayBuffer', 'Date', 'Error', 'Float32Array', 'Float64Array',
+           'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Math', 'Number',
+           'Object', 'RegExp', 'Set', 'String', '_', 'clearTimeout', 'isFinite',
+           'parseFloat', 'parseInt', 'setTimeout', 'TypeError', 'Uint8Array',
+           'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap'
+         ];
+
+         /** Used to make template sourceURLs easier to identify. */
+         var templateCounter = -1;
+
+         /** Used to identify `toStringTag` values of typed arrays. */
+         var typedArrayTags = {};
+         typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =
+         typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =
+         typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =
+         typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =
+         typedArrayTags[uint32Tag] = true;
+         typedArrayTags[argsTag] = typedArrayTags[arrayTag] =
+         typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =
+         typedArrayTags[dateTag] = typedArrayTags[errorTag] =
+         typedArrayTags[funcTag] = typedArrayTags[mapTag] =
+         typedArrayTags[numberTag] = typedArrayTags[objectTag] =
+         typedArrayTags[regexpTag] = typedArrayTags[setTag] =
+         typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
+
+         /** Used to identify `toStringTag` values supported by `_.clone`. */
+         var cloneableTags = {};
+         cloneableTags[argsTag] = cloneableTags[arrayTag] =
+         cloneableTags[arrayBufferTag] = cloneableTags[boolTag] =
+         cloneableTags[dateTag] = cloneableTags[float32Tag] =
+         cloneableTags[float64Tag] = cloneableTags[int8Tag] =
+         cloneableTags[int16Tag] = cloneableTags[int32Tag] =
+         cloneableTags[numberTag] = cloneableTags[objectTag] =
+         cloneableTags[regexpTag] = cloneableTags[stringTag] =
+         cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =
+         cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
+         cloneableTags[errorTag] = cloneableTags[funcTag] =
+         cloneableTags[mapTag] = cloneableTags[setTag] =
+         cloneableTags[weakMapTag] = false;
+
+         /** Used to map latin-1 supplementary letters to basic latin letters. */
+         var deburredLetters = {
+           '\xc0': 'A',  '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A',
+           '\xe0': 'a',  '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a',
+           '\xc7': 'C',  '\xe7': 'c',
+           '\xd0': 'D',  '\xf0': 'd',
+           '\xc8': 'E',  '\xc9': 'E', '\xca': 'E', '\xcb': 'E',
+           '\xe8': 'e',  '\xe9': 'e', '\xea': 'e', '\xeb': 'e',
+           '\xcC': 'I',  '\xcd': 'I', '\xce': 'I', '\xcf': 'I',
+           '\xeC': 'i',  '\xed': 'i', '\xee': 'i', '\xef': 'i',
+           '\xd1': 'N',  '\xf1': 'n',
+           '\xd2': 'O',  '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O',
+           '\xf2': 'o',  '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o',
+           '\xd9': 'U',  '\xda': 'U', '\xdb': 'U', '\xdc': 'U',
+           '\xf9': 'u',  '\xfa': 'u', '\xfb': 'u', '\xfc': 'u',
+           '\xdd': 'Y',  '\xfd': 'y', '\xff': 'y',
+           '\xc6': 'Ae', '\xe6': 'ae',
+           '\xde': 'Th', '\xfe': 'th',
+           '\xdf': 'ss'
+         };
+
+         /** Used to map characters to HTML entities. */
+         var htmlEscapes = {
+           '&': '&amp;',
+           '<': '&lt;',
+           '>': '&gt;',
+           '"': '&quot;',
+           "'": '&#39;',
+           '`': '&#96;'
+         };
+
+         /** Used to map HTML entities to characters. */
+         var htmlUnescapes = {
+           '&amp;': '&',
+           '&lt;': '<',
+           '&gt;': '>',
+           '&quot;': '"',
+           '&#39;': "'",
+           '&#96;': '`'
+         };
+
+         /** Used to determine if values are of the language type `Object`. */
+         var objectTypes = {
+           'function': true,
+           'object': true
+         };
+
+         /** Used to escape characters for inclusion in compiled regexes. */
+         var regexpEscapes = {
+           '0': 'x30', '1': 'x31', '2': 'x32', '3': 'x33', '4': 'x34',
+           '5': 'x35', '6': 'x36', '7': 'x37', '8': 'x38', '9': 'x39',
+           'A': 'x41', 'B': 'x42', 'C': 'x43', 'D': 'x44', 'E': 'x45', 'F': 'x46',
+           'a': 'x61', 'b': 'x62', 'c': 'x63', 'd': 'x64', 'e': 'x65', 'f': 'x66',
+           'n': 'x6e', 'r': 'x72', 't': 'x74', 'u': 'x75', 'v': 'x76', 'x': 'x78'
+         };
+
+         /** Used to escape characters for inclusion in compiled string literals. */
+         var stringEscapes = {
+           '\\': '\\',
+           "'": "'",
+           '\n': 'n',
+           '\r': 'r',
+           '\u2028': 'u2028',
+           '\u2029': 'u2029'
+         };
+
+         /** Detect free variable `exports`. */
+         var freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports;
+
+         /** Detect free variable `module`. */
+         var freeModule = objectTypes[typeof module] && module && !module.nodeType && module;
+
+         /** Detect free variable `global` from Node.js. */
+         var freeGlobal = freeExports && freeModule && typeof global == 'object' && global && global.Object && global;
+
+         /** Detect free variable `self`. */
+         var freeSelf = objectTypes[typeof self] && self && self.Object && self;
+
+         /** Detect free variable `window`. */
+         var freeWindow = objectTypes[typeof window] && window && window.Object && window;
+
+         /** Detect the popular CommonJS extension `module.exports`. */
+         var moduleExports = freeModule && freeModule.exports === freeExports && freeExports;
+
+         /**
+          * Used as a reference to the global object.
+          *
+          * The `this` value is used if it's the global object to avoid Greasemonkey's
+          * restricted `window` object, otherwise the `window` object is used.
+          */
+         var root = freeGlobal || ((freeWindow !== (this && this.window)) && freeWindow) || freeSelf || this;
+
+         /*--------------------------------------------------------------------------*/
+
+         /**
+          * The base implementation of `compareAscending` which compares values and
+          * sorts them in ascending order without guaranteeing a stable sort.
+          *
+          * @private
+          * @param {*} value The value to compare.
+          * @param {*} other The other value to compare.
+          * @returns {number} Returns the sort order indicator for `value`.
+          */
+         function baseCompareAscending(value, other) {
+           if (value !== other) {
+             var valIsNull = value === null,
+                 valIsUndef = value === undefined,
+                 valIsReflexive = value === value;
+
+             var othIsNull = other === null,
+                 othIsUndef = other === undefined,
+                 othIsReflexive = other === other;
+
+             if ((value > other && !othIsNull) || !valIsReflexive ||
+                 (valIsNull && !othIsUndef && othIsReflexive) ||
+                 (valIsUndef && othIsReflexive)) {
+               return 1;
+             }
+             if ((value < other && !valIsNull) || !othIsReflexive ||
+                 (othIsNull && !valIsUndef && valIsReflexive) ||
+                 (othIsUndef && valIsReflexive)) {
+               return -1;
+             }
+           }
+           return 0;
+         }
+
+         /**
+          * The base implementation of `_.findIndex` and `_.findLastIndex` without
+          * support for callback shorthands and `this` binding.
+          *
+          * @private
+          * @param {Array} array The array to search.
+          * @param {Function} predicate The function invoked per iteration.
+          * @param {boolean} [fromRight] Specify iterating from right to left.
+          * @returns {number} Returns the index of the matched value, else `-1`.
+          */
+         function baseFindIndex(array, predicate, fromRight) {
+           var length = array.length,
+               index = fromRight ? length : -1;
+
+           while ((fromRight ? index-- : ++index < length)) {
+             if (predicate(array[index], index, array)) {
+               return index;
+             }
+           }
+           return -1;
+         }
+
+         /**
+          * The base implementation of `_.indexOf` without support for binary searches.
+          *
+          * @private
+          * @param {Array} array The array to search.
+          * @param {*} value The value to search for.
+          * @param {number} fromIndex The index to search from.
+          * @returns {number} Returns the index of the matched value, else `-1`.
+          */
+         function baseIndexOf(array, value, fromIndex) {
+           if (value !== value) {
+             return indexOfNaN(array, fromIndex);
+           }
+           var index = fromIndex - 1,
+               length = array.length;
+
+           while (++index < length) {
+             if (array[index] === value) {
+               return index;
+             }
+           }
+           return -1;
+         }
+
+         /**
+          * The base implementation of `_.isFunction` without support for environments
+          * with incorrect `typeof` results.
+          *
+          * @private
+          * @param {*} value The value to check.
+          * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+          */
+         function baseIsFunction(value) {
+           // Avoid a Chakra JIT bug in compatibility modes of IE 11.
+           // See https://github.com/jashkenas/underscore/issues/1621 for more details.
+           return typeof value == 'function' || false;
+         }
+
+         /**
+          * Converts `value` to a string if it's not one. An empty string is returned
+          * for `null` or `undefined` values.
+          *
+          * @private
+          * @param {*} value The value to process.
+          * @returns {string} Returns the string.
+          */
+         function baseToString(value) {
+           return value == null ? '' : (value + '');
+         }
+
+         /**
+          * Used by `_.trim` and `_.trimLeft` to get the index of the first character
+          * of `string` that is not found in `chars`.
+          *
+          * @private
+          * @param {string} string The string to inspect.
+          * @param {string} chars The characters to find.
+          * @returns {number} Returns the index of the first character not found in `chars`.
+          */
+         function charsLeftIndex(string, chars) {
+           var index = -1,
+               length = string.length;
+
+           while (++index < length && chars.indexOf(string.charAt(index)) > -1) {}
+           return index;
+         }
+
+         /**
+          * Used by `_.trim` and `_.trimRight` to get the index of the last character
+          * of `string` that is not found in `chars`.
+          *
+          * @private
+          * @param {string} string The string to inspect.
+          * @param {string} chars The characters to find.
+          * @returns {number} Returns the index of the last character not found in `chars`.
+          */
+         function charsRightIndex(string, chars) {
+           var index = string.length;
+
+           while (index-- && chars.indexOf(string.charAt(index)) > -1) {}
+           return index;
+         }
+
+         /**
+          * Used by `_.sortBy` to compare transformed elements of a collection and stable
+          * sort them in ascending order.
+          *
+          * @private
+          * @param {Object} object The object to compare.
+          * @param {Object} other The other object to compare.
+          * @returns {number} Returns the sort order indicator for `object`.
+          */
+         function compareAscending(object, other) {
+           return baseCompareAscending(object.criteria, other.criteria) || (object.index - other.index);
+         }
+
+         /**
+          * Used by `_.sortByOrder` to compare multiple properties of a value to another
+          * and stable sort them.
+          *
+          * If `orders` is unspecified, all valuess are sorted in ascending order. Otherwise,
+          * a value is sorted in ascending order if its corresponding order is "asc", and
+          * descending if "desc".
+          *
+          * @private
+          * @param {Object} object The object to compare.
+          * @param {Object} other The other object to compare.
+          * @param {boolean[]} orders The order to sort by for each property.
+          * @returns {number} Returns the sort order indicator for `object`.
+          */
+         function compareMultiple(object, other, orders) {
+           var index = -1,
+               objCriteria = object.criteria,
+               othCriteria = other.criteria,
+               length = objCriteria.length,
+               ordersLength = orders.length;
+
+           while (++index < length) {
+             var result = baseCompareAscending(objCriteria[index], othCriteria[index]);
+             if (result) {
+               if (index >= ordersLength) {
+                 return result;
+               }
+               var order = orders[index];
+               return result * ((order === 'asc' || order === true) ? 1 : -1);
+             }
+           }
+           // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications
+           // that causes it, under certain circumstances, to provide the same value for
+           // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247
+           // for more details.
+           //
+           // This also ensures a stable sort in V8 and other engines.
+           // See https://code.google.com/p/v8/issues/detail?id=90 for more details.
+           return object.index - other.index;
+         }
+
+         /**
+          * Used by `_.deburr` to convert latin-1 supplementary letters to basic latin letters.
+          *
+          * @private
+          * @param {string} letter The matched letter to deburr.
+          * @returns {string} Returns the deburred letter.
+          */
+         function deburrLetter(letter) {
+           return deburredLetters[letter];
+         }
+
+         /**
+          * Used by `_.escape` to convert characters to HTML entities.
+          *
+          * @private
+          * @param {string} chr The matched character to escape.
+          * @returns {string} Returns the escaped character.
+          */
+         function escapeHtmlChar(chr) {
+           return htmlEscapes[chr];
+         }
+
+         /**
+          * Used by `_.escapeRegExp` to escape characters for inclusion in compiled regexes.
+          *
+          * @private
+          * @param {string} chr The matched character to escape.
+          * @param {string} leadingChar The capture group for a leading character.
+          * @param {string} whitespaceChar The capture group for a whitespace character.
+          * @returns {string} Returns the escaped character.
+          */
+         function escapeRegExpChar(chr, leadingChar, whitespaceChar) {
+           if (leadingChar) {
+             chr = regexpEscapes[chr];
+           } else if (whitespaceChar) {
+             chr = stringEscapes[chr];
+           }
+           return '\\' + chr;
+         }
+
+         /**
+          * Used by `_.template` to escape characters for inclusion in compiled string literals.
+          *
+          * @private
+          * @param {string} chr The matched character to escape.
+          * @returns {string} Returns the escaped character.
+          */
+         function escapeStringChar(chr) {
+           return '\\' + stringEscapes[chr];
+         }
+
+         /**
+          * Gets the index at which the first occurrence of `NaN` is found in `array`.
+          *
+          * @private
+          * @param {Array} array The array to search.
+          * @param {number} fromIndex The index to search from.
+          * @param {boolean} [fromRight] Specify iterating from right to left.
+          * @returns {number} Returns the index of the matched `NaN`, else `-1`.
+          */
+         function indexOfNaN(array, fromIndex, fromRight) {
+           var length = array.length,
+               index = fromIndex + (fromRight ? 0 : -1);
+
+           while ((fromRight ? index-- : ++index < length)) {
+             var other = array[index];
+             if (other !== other) {
+               return index;
+             }
+           }
+           return -1;
+         }
+
+         /**
+          * Checks if `value` is object-like.
+          *
+          * @private
+          * @param {*} value The value to check.
+          * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
+          */
+         function isObjectLike(value) {
+           return !!value && typeof value == 'object';
+         }
+
+         /**
+          * Used by `trimmedLeftIndex` and `trimmedRightIndex` to determine if a
+          * character code is whitespace.
+          *
+          * @private
+          * @param {number} charCode The character code to inspect.
+          * @returns {boolean} Returns `true` if `charCode` is whitespace, else `false`.
+          */
+         function isSpace(charCode) {
+           return ((charCode <= 160 && (charCode >= 9 && charCode <= 13) || charCode == 32 || charCode == 160) || charCode == 5760 || charCode == 6158 ||
+             (charCode >= 8192 && (charCode <= 8202 || charCode == 8232 || charCode == 8233 || charCode == 8239 || charCode == 8287 || charCode == 12288 || charCode == 65279)));
+         }
+
+         /**
+          * Replaces all `placeholder` elements in `array` with an internal placeholder
+          * and returns an array of their indexes.
+          *
+          * @private
+          * @param {Array} array The array to modify.
+          * @param {*} placeholder The placeholder to replace.
+          * @returns {Array} Returns the new array of placeholder indexes.
+          */
+         function replaceHolders(array, placeholder) {
+           var index = -1,
+               length = array.length,
+               resIndex = -1,
+               result = [];
+
+           while (++index < length) {
+             if (array[index] === placeholder) {
+               array[index] = PLACEHOLDER;
+               result[++resIndex] = index;
+             }
+           }
+           return result;
+         }
+
+         /**
+          * An implementation of `_.uniq` optimized for sorted arrays without support
+          * for callback shorthands and `this` binding.
+          *
+          * @private
+          * @param {Array} array The array to inspect.
+          * @param {Function} [iteratee] The function invoked per iteration.
+          * @returns {Array} Returns the new duplicate-value-free array.
+          */
+         function sortedUniq(array, iteratee) {
+           var seen,
+               index = -1,
+               length = array.length,
+               resIndex = -1,
+               result = [];
+
+           while (++index < length) {
+             var value = array[index],
+                 computed = iteratee ? iteratee(value, index, array) : value;
+
+             if (!index || seen !== computed) {
+               seen = computed;
+               result[++resIndex] = value;
+             }
+           }
+           return result;
+         }
+
+         /**
+          * Used by `_.trim` and `_.trimLeft` to get the index of the first non-whitespace
+          * character of `string`.
+          *
+          * @private
+          * @param {string} string The string to inspect.
+          * @returns {number} Returns the index of the first non-whitespace character.
+          */
+         function trimmedLeftIndex(string) {
+           var index = -1,
+               length = string.length;
+
+           while (++index < length && isSpace(string.charCodeAt(index))) {}
+           return index;
+         }
+
+         /**
+          * Used by `_.trim` and `_.trimRight` to get the index of the last non-whitespace
+          * character of `string`.
+          *
+          * @private
+          * @param {string} string The string to inspect.
+          * @returns {number} Returns the index of the last non-whitespace character.
+          */
+         function trimmedRightIndex(string) {
+           var index = string.length;
+
+           while (index-- && isSpace(string.charCodeAt(index))) {}
+           return index;
+         }
+
+         /**
+          * Used by `_.unescape` to convert HTML entities to characters.
+          *
+          * @private
+          * @param {string} chr The matched character to unescape.
+          * @returns {string} Returns the unescaped character.
+          */
+         function unescapeHtmlChar(chr) {
+           return htmlUnescapes[chr];
+         }
+
+         /*--------------------------------------------------------------------------*/
+
+         /**
+          * Create a new pristine `lodash` function using the given `context` object.
+          *
+          * @static
+          * @memberOf _
+          * @category Utility
+          * @param {Object} [context=root] The context object.
+          * @returns {Function} Returns a new `lodash` function.
+          * @example
+          *
+          * _.mixin({ 'foo': _.constant('foo') });
+          *
+          * var lodash = _.runInContext();
+          * lodash.mixin({ 'bar': lodash.constant('bar') });
+          *
+          * _.isFunction(_.foo);
+          * // => true
+          * _.isFunction(_.bar);
+          * // => false
+          *
+          * lodash.isFunction(lodash.foo);
+          * // => false
+          * lodash.isFunction(lodash.bar);
+          * // => true
+          *
+          * // using `context` to mock `Date#getTime` use in `_.now`
+          * var mock = _.runInContext({
+          *   'Date': function() {
+          *     return { 'getTime': getTimeMock };
+          *   }
+          * });
+          *
+          * // or creating a suped-up `defer` in Node.js
+          * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;
+          */
+         function runInContext(context) {
+           // Avoid issues with some ES3 environments that attempt to use values, named
+           // after built-in constructors like `Object`, for the creation of literals.
+           // ES5 clears this up by stating that literals must use built-in constructors.
+           // See https://es5.github.io/#x11.1.5 for more details.
+           context = context ? _.defaults(root.Object(), context, _.pick(root, contextProps)) : root;
+
+           /** Native constructor references. */
+           var Array = context.Array,
+               Date = context.Date,
+               Error = context.Error,
+               Function = context.Function,
+               Math = context.Math,
+               Number = context.Number,
+               Object = context.Object,
+               RegExp = context.RegExp,
+               String = context.String,
+               TypeError = context.TypeError;
+
+           /** Used for native method references. */
+           var arrayProto = Array.prototype,
+               objectProto = Object.prototype,
+               stringProto = String.prototype;
+
+           /** Used to resolve the decompiled source of functions. */
+           var fnToString = Function.prototype.toString;
+
+           /** Used to check objects for own properties. */
+           var hasOwnProperty = objectProto.hasOwnProperty;
+
+           /** Used to generate unique IDs. */
+           var idCounter = 0;
+
+           /**
+            * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
+            * of values.
+            */
+           var objToString = objectProto.toString;
+
+           /** Used to restore the original `_` reference in `_.noConflict`. */
+           var oldDash = root._;
+
+           /** Used to detect if a method is native. */
+           var reIsNative = RegExp('^' +
+             fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g, '\\$&')
+             .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
+           );
+
+           /** Native method references. */
+           var ArrayBuffer = context.ArrayBuffer,
+               clearTimeout = context.clearTimeout,
+               parseFloat = context.parseFloat,
+               pow = Math.pow,
+               propertyIsEnumerable = objectProto.propertyIsEnumerable,
+               Set = getNative(context, 'Set'),
+               setTimeout = context.setTimeout,
+               splice = arrayProto.splice,
+               Uint8Array = context.Uint8Array,
+               WeakMap = getNative(context, 'WeakMap');
+
+           /* Native method references for those with the same name as other `lodash` methods. */
+           var nativeCeil = Math.ceil,
+               nativeCreate = getNative(Object, 'create'),
+               nativeFloor = Math.floor,
+               nativeIsArray = getNative(Array, 'isArray'),
+               nativeIsFinite = context.isFinite,
+               nativeKeys = getNative(Object, 'keys'),
+               nativeMax = Math.max,
+               nativeMin = Math.min,
+               nativeNow = getNative(Date, 'now'),
+               nativeParseInt = context.parseInt,
+               nativeRandom = Math.random;
+
+           /** Used as references for `-Infinity` and `Infinity`. */
+           var NEGATIVE_INFINITY = Number.NEGATIVE_INFINITY,
+               POSITIVE_INFINITY = Number.POSITIVE_INFINITY;
+
+           /** Used as references for the maximum length and index of an array. */
+           var MAX_ARRAY_LENGTH = 4294967295,
+               MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1,
+               HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;
+
+           /**
+            * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)
+            * of an array-like value.
+            */
+           var MAX_SAFE_INTEGER = 9007199254740991;
+
+           /** Used to store function metadata. */
+           var metaMap = WeakMap && new WeakMap;
+
+           /** Used to lookup unminified function names. */
+           var realNames = {};
+
+           /*------------------------------------------------------------------------*/
+
+           /**
+            * Creates a `lodash` object which wraps `value` to enable implicit chaining.
+            * Methods that operate on and return arrays, collections, and functions can
+            * be chained together. Methods that retrieve a single value or may return a
+            * primitive value will automatically end the chain returning the unwrapped
+            * value. Explicit chaining may be enabled using `_.chain`. The execution of
+            * chained methods is lazy, that is, execution is deferred until `_#value`
+            * is implicitly or explicitly called.
+            *
+            * Lazy evaluation allows several methods to support shortcut fusion. Shortcut
+            * fusion is an optimization strategy which merge iteratee calls; this can help
+            * to avoid the creation of intermediate data structures and greatly reduce the
+            * number of iteratee executions.
+            *
+            * Chaining is supported in custom builds as long as the `_#value` method is
+            * directly or indirectly included in the build.
+            *
+            * In addition to lodash methods, wrappers have `Array` and `String` methods.
+            *
+            * The wrapper `Array` methods are:
+            * `concat`, `join`, `pop`, `push`, `reverse`, `shift`, `slice`, `sort`,
+            * `splice`, and `unshift`
+            *
+            * The wrapper `String` methods are:
+            * `replace` and `split`
+            *
+            * The wrapper methods that support shortcut fusion are:
+            * `compact`, `drop`, `dropRight`, `dropRightWhile`, `dropWhile`, `filter`,
+            * `first`, `initial`, `last`, `map`, `pluck`, `reject`, `rest`, `reverse`,
+            * `slice`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, `toArray`,
+            * and `where`
+            *
+            * The chainable wrapper methods are:
+            * `after`, `ary`, `assign`, `at`, `before`, `bind`, `bindAll`, `bindKey`,
+            * `callback`, `chain`, `chunk`, `commit`, `compact`, `concat`, `constant`,
+            * `countBy`, `create`, `curry`, `debounce`, `defaults`, `defaultsDeep`,
+            * `defer`, `delay`, `difference`, `drop`, `dropRight`, `dropRightWhile`,
+            * `dropWhile`, `fill`, `filter`, `flatten`, `flattenDeep`, `flow`, `flowRight`,
+            * `forEach`, `forEachRight`, `forIn`, `forInRight`, `forOwn`, `forOwnRight`,
+            * `functions`, `groupBy`, `indexBy`, `initial`, `intersection`, `invert`,
+            * `invoke`, `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`,
+            * `matchesProperty`, `memoize`, `merge`, `method`, `methodOf`, `mixin`,
+            * `modArgs`, `negate`, `omit`, `once`, `pairs`, `partial`, `partialRight`,
+            * `partition`, `pick`, `plant`, `pluck`, `property`, `propertyOf`, `pull`,
+            * `pullAt`, `push`, `range`, `rearg`, `reject`, `remove`, `rest`, `restParam`,
+            * `reverse`, `set`, `shuffle`, `slice`, `sort`, `sortBy`, `sortByAll`,
+            * `sortByOrder`, `splice`, `spread`, `take`, `takeRight`, `takeRightWhile`,
+            * `takeWhile`, `tap`, `throttle`, `thru`, `times`, `toArray`, `toPlainObject`,
+            * `transform`, `union`, `uniq`, `unshift`, `unzip`, `unzipWith`, `values`,
+            * `valuesIn`, `where`, `without`, `wrap`, `xor`, `zip`, `zipObject`, `zipWith`
+            *
+            * The wrapper methods that are **not** chainable by default are:
+            * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clone`, `cloneDeep`,
+            * `deburr`, `endsWith`, `escape`, `escapeRegExp`, `every`, `find`, `findIndex`,
+            * `findKey`, `findLast`, `findLastIndex`, `findLastKey`, `findWhere`, `first`,
+            * `floor`, `get`, `gt`, `gte`, `has`, `identity`, `includes`, `indexOf`,
+            * `inRange`, `isArguments`, `isArray`, `isBoolean`, `isDate`, `isElement`,
+            * `isEmpty`, `isEqual`, `isError`, `isFinite` `isFunction`, `isMatch`,
+            * `isNative`, `isNaN`, `isNull`, `isNumber`, `isObject`, `isPlainObject`,
+            * `isRegExp`, `isString`, `isUndefined`, `isTypedArray`, `join`, `kebabCase`,
+            * `last`, `lastIndexOf`, `lt`, `lte`, `max`, `min`, `noConflict`, `noop`,
+            * `now`, `pad`, `padLeft`, `padRight`, `parseInt`, `pop`, `random`, `reduce`,
+            * `reduceRight`, `repeat`, `result`, `round`, `runInContext`, `shift`, `size`,
+            * `snakeCase`, `some`, `sortedIndex`, `sortedLastIndex`, `startCase`,
+            * `startsWith`, `sum`, `template`, `trim`, `trimLeft`, `trimRight`, `trunc`,
+            * `unescape`, `uniqueId`, `value`, and `words`
+            *
+            * The wrapper method `sample` will return a wrapped value when `n` is provided,
+            * otherwise an unwrapped value is returned.
+            *
+            * @name _
+            * @constructor
+            * @category Chain
+            * @param {*} value The value to wrap in a `lodash` instance.
+            * @returns {Object} Returns the new `lodash` wrapper instance.
+            * @example
+            *
+            * var wrapped = _([1, 2, 3]);
+            *
+            * // returns an unwrapped value
+            * wrapped.reduce(function(total, n) {
+            *   return total + n;
+            * });
+            * // => 6
+            *
+            * // returns a wrapped value
+            * var squares = wrapped.map(function(n) {
+            *   return n * n;
+            * });
+            *
+            * _.isArray(squares);
+            * // => false
+            *
+            * _.isArray(squares.value());
+            * // => true
+            */
+           function lodash(value) {
+             if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {
+               if (value instanceof LodashWrapper) {
+                 return value;
+               }
+               if (hasOwnProperty.call(value, '__chain__') && hasOwnProperty.call(value, '__wrapped__')) {
+                 return wrapperClone(value);
+               }
+             }
+             return new LodashWrapper(value);
+           }
+
+           /**
+            * The function whose prototype all chaining wrappers inherit from.
+            *
+            * @private
+            */
+           function baseLodash() {
+             // No operation performed.
+           }
+
+           /**
+            * The base constructor for creating `lodash` wrapper objects.
+            *
+            * @private
+            * @param {*} value The value to wrap.
+            * @param {boolean} [chainAll] Enable chaining for all wrapper methods.
+            * @param {Array} [actions=[]] Actions to peform to resolve the unwrapped value.
+            */
+           function LodashWrapper(value, chainAll, actions) {
+             this.__wrapped__ = value;
+             this.__actions__ = actions || [];
+             this.__chain__ = !!chainAll;
+           }
+
+           /**
+            * An object environment feature flags.
+            *
+            * @static
+            * @memberOf _
+            * @type Object
+            */
+           var support = lodash.support = {};
+
+           /**
+            * By default, the template delimiters used by lodash are like those in
+            * embedded Ruby (ERB). Change the following template settings to use
+            * alternative delimiters.
+            *
+            * @static
+            * @memberOf _
+            * @type Object
+            */
+           lodash.templateSettings = {
+
+             /**
+              * Used to detect `data` property values to be HTML-escaped.
+              *
+              * @memberOf _.templateSettings
+              * @type RegExp
+              */
+             'escape': reEscape,
+
+             /**
+              * Used to detect code to be evaluated.
+              *
+              * @memberOf _.templateSettings
+              * @type RegExp
+              */
+             'evaluate': reEvaluate,
+
+             /**
+              * Used to detect `data` property values to inject.
+              *
+              * @memberOf _.templateSettings
+              * @type RegExp
+              */
+             'interpolate': reInterpolate,
+
+             /**
+              * Used to reference the data object in the template text.
+              *
+              * @memberOf _.templateSettings
+              * @type string
+              */
+             'variable': '',
+
+             /**
+              * Used to import variables into the compiled template.
+              *
+              * @memberOf _.templateSettings
+              * @type Object
+              */
+             'imports': {
+
+               /**
+                * A reference to the `lodash` function.
+                *
+                * @memberOf _.templateSettings.imports
+                * @type Function
+                */
+               '_': lodash
+             }
+           };
+
+           /*------------------------------------------------------------------------*/
+
+           /**
+            * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.
+            *
+            * @private
+            * @param {*} value The value to wrap.
+            */
+           function LazyWrapper(value) {
+             this.__wrapped__ = value;
+             this.__actions__ = [];
+             this.__dir__ = 1;
+             this.__filtered__ = false;
+             this.__iteratees__ = [];
+             this.__takeCount__ = POSITIVE_INFINITY;
+             this.__views__ = [];
+           }
+
+           /**
+            * Creates a clone of the lazy wrapper object.
+            *
+            * @private
+            * @name clone
+            * @memberOf LazyWrapper
+            * @returns {Object} Returns the cloned `LazyWrapper` object.
+            */
+           function lazyClone() {
+             var result = new LazyWrapper(this.__wrapped__);
+             result.__actions__ = arrayCopy(this.__actions__);
+             result.__dir__ = this.__dir__;
+             result.__filtered__ = this.__filtered__;
+             result.__iteratees__ = arrayCopy(this.__iteratees__);
+             result.__takeCount__ = this.__takeCount__;
+             result.__views__ = arrayCopy(this.__views__);
+             return result;
+           }
+
+           /**
+            * Reverses the direction of lazy iteration.
+            *
+            * @private
+            * @name reverse
+            * @memberOf LazyWrapper
+            * @returns {Object} Returns the new reversed `LazyWrapper` object.
+            */
+           function lazyReverse() {
+             if (this.__filtered__) {
+               var result = new LazyWrapper(this);
+               result.__dir__ = -1;
+               result.__filtered__ = true;
+             } else {
+               result = this.clone();
+               result.__dir__ *= -1;
+             }
+             return result;
+           }
+
+           /**
+            * Extracts the unwrapped value from its lazy wrapper.
+            *
+            * @private
+            * @name value
+            * @memberOf LazyWrapper
+            * @returns {*} Returns the unwrapped value.
+            */
+           function lazyValue() {
+             var array = this.__wrapped__.value(),
+                 dir = this.__dir__,
+                 isArr = isArray(array),
+                 isRight = dir < 0,
+                 arrLength = isArr ? array.length : 0,
+                 view = getView(0, arrLength, this.__views__),
+                 start = view.start,
+                 end = view.end,
+                 length = end - start,
+                 index = isRight ? end : (start - 1),
+                 iteratees = this.__iteratees__,
+                 iterLength = iteratees.length,
+                 resIndex = 0,
+                 takeCount = nativeMin(length, this.__takeCount__);
+
+             if (!isArr || arrLength < LARGE_ARRAY_SIZE || (arrLength == length && takeCount == length)) {
+               return baseWrapperValue((isRight && isArr) ? array.reverse() : array, this.__actions__);
+             }
+             var result = [];
+
+             outer:
+             while (length-- && resIndex < takeCount) {
+               index += dir;
+
+               var iterIndex = -1,
+                   value = array[index];
+
+               while (++iterIndex < iterLength) {
+                 var data = iteratees[iterIndex],
+                     iteratee = data.iteratee,
+                     type = data.type,
+                     computed = iteratee(value);
+
+                 if (type == LAZY_MAP_FLAG) {
+                   value = computed;
+                 } else if (!computed) {
+                   if (type == LAZY_FILTER_FLAG) {
+                     continue outer;
+                   } else {
+                     break outer;
+                   }
+                 }
+               }
+               result[resIndex++] = value;
+             }
+             return result;
+           }
+
+           /*------------------------------------------------------------------------*/
+
+           /**
+            * Creates a cache object to store key/value pairs.
+            *
+            * @private
+            * @static
+            * @name Cache
+            * @memberOf _.memoize
+            */
+           function MapCache() {
+             this.__data__ = {};
+           }
+
+           /**
+            * Removes `key` and its value from the cache.
+            *
+            * @private
+            * @name delete
+            * @memberOf _.memoize.Cache
+            * @param {string} key The key of the value to remove.
+            * @returns {boolean} Returns `true` if the entry was removed successfully, else `false`.
+            */
+           function mapDelete(key) {
+             return this.has(key) && delete this.__data__[key];
+           }
+
+           /**
+            * Gets the cached value for `key`.
+            *
+            * @private
+            * @name get
+            * @memberOf _.memoize.Cache
+            * @param {string} key The key of the value to get.
+            * @returns {*} Returns the cached value.
+            */
+           function mapGet(key) {
+             return key == '__proto__' ? undefined : this.__data__[key];
+           }
+
+           /**
+            * Checks if a cached value for `key` exists.
+            *
+            * @private
+            * @name has
+            * @memberOf _.memoize.Cache
+            * @param {string} key The key of the entry to check.
+            * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
+            */
+           function mapHas(key) {
+             return key != '__proto__' && hasOwnProperty.call(this.__data__, key);
+           }
+
+           /**
+            * Sets `value` to `key` of the cache.
+            *
+            * @private
+            * @name set
+            * @memberOf _.memoize.Cache
+            * @param {string} key The key of the value to cache.
+            * @param {*} value The value to cache.
+            * @returns {Object} Returns the cache object.
+            */
+           function mapSet(key, value) {
+             if (key != '__proto__') {
+               this.__data__[key] = value;
+             }
+             return this;
+           }
+
+           /*------------------------------------------------------------------------*/
+
+           /**
+            *
+            * Creates a cache object to store unique values.
+            *
+            * @private
+            * @param {Array} [values] The values to cache.
+            */
+           function SetCache(values) {
+             var length = values ? values.length : 0;
+
+             this.data = { 'hash': nativeCreate(null), 'set': new Set };
+             while (length--) {
+               this.push(values[length]);
+             }
+           }
+
+           /**
+            * Checks if `value` is in `cache` mimicking the return signature of
+            * `_.indexOf` by returning `0` if the value is found, else `-1`.
+            *
+            * @private
+            * @param {Object} cache The cache to search.
+            * @param {*} value The value to search for.
+            * @returns {number} Returns `0` if `value` is found, else `-1`.
+            */
+           function cacheIndexOf(cache, value) {
+             var data = cache.data,
+                 result = (typeof value == 'string' || isObject(value)) ? data.set.has(value) : data.hash[value];
+
+             return result ? 0 : -1;
+           }
+
+           /**
+            * Adds `value` to the cache.
+            *
+            * @private
+            * @name push
+            * @memberOf SetCache
+            * @param {*} value The value to cache.
+            */
+           function cachePush(value) {
+             var data = this.data;
+             if (typeof value == 'string' || isObject(value)) {
+               data.set.add(value);
+             } else {
+               data.hash[value] = true;
+             }
+           }
+
+           /*------------------------------------------------------------------------*/
+
+           /**
+            * Creates a new array joining `array` with `other`.
+            *
+            * @private
+            * @param {Array} array The array to join.
+            * @param {Array} other The other array to join.
+            * @returns {Array} Returns the new concatenated array.
+            */
+           function arrayConcat(array, other) {
+             var index = -1,
+                 length = array.length,
+                 othIndex = -1,
+                 othLength = other.length,
+                 result = Array(length + othLength);
+
+             while (++index < length) {
+               result[index] = array[index];
+             }
+             while (++othIndex < othLength) {
+               result[index++] = other[othIndex];
+             }
+             return result;
+           }
+
+           /**
+            * Copies the values of `source` to `array`.
+            *
+            * @private
+            * @param {Array} source The array to copy values from.
+            * @param {Array} [array=[]] The array to copy values to.
+            * @returns {Array} Returns `array`.
+            */
+           function arrayCopy(source, array) {
+             var index = -1,
+                 length = source.length;
+
+             array || (array = Array(length));
+             while (++index < length) {
+               array[index] = source[index];
+             }
+             return array;
+           }
+
+           /**
+            * A specialized version of `_.forEach` for arrays without support for callback
+            * shorthands and `this` binding.
+            *
+            * @private
+            * @param {Array} array The array to iterate over.
+            * @param {Function} iteratee The function invoked per iteration.
+            * @returns {Array} Returns `array`.
+            */
+           function arrayEach(array, iteratee) {
+             var index = -1,
+                 length = array.length;
+
+             while (++index < length) {
+               if (iteratee(array[index], index, array) === false) {
+                 break;
+               }
+             }
+             return array;
+           }
+
+           /**
+            * A specialized version of `_.forEachRight` for arrays without support for
+            * callback shorthands and `this` binding.
+            *
+            * @private
+            * @param {Array} array The array to iterate over.
+            * @param {Function} iteratee The function invoked per iteration.
+            * @returns {Array} Returns `array`.
+            */
+           function arrayEachRight(array, iteratee) {
+             var length = array.length;
+
+             while (length--) {
+               if (iteratee(array[length], length, array) === false) {
+                 break;
+               }
+             }
+             return array;
+           }
+
+           /**
+            * A specialized version of `_.every` for arrays without support for callback
+            * shorthands and `this` binding.
+            *
+            * @private
+            * @param {Array} array The array to iterate over.
+            * @param {Function} predicate The function invoked per iteration.
+            * @returns {boolean} Returns `true` if all elements pass the predicate check,
+            *  else `false`.
+            */
+           function arrayEvery(array, predicate) {
+             var index = -1,
+                 length = array.length;
+
+             while (++index < length) {
+               if (!predicate(array[index], index, array)) {
+                 return false;
+               }
+             }
+             return true;
+           }
+
+           /**
+            * A specialized version of `baseExtremum` for arrays which invokes `iteratee`
+            * with one argument: (value).
+            *
+            * @private
+            * @param {Array} array The array to iterate over.
+            * @param {Function} iteratee The function invoked per iteration.
+            * @param {Function} comparator The function used to compare values.
+            * @param {*} exValue The initial extremum value.
+            * @returns {*} Returns the extremum value.
+            */
+           function arrayExtremum(array, iteratee, comparator, exValue) {
+             var index = -1,
+                 length = array.length,
+                 computed = exValue,
+                 result = computed;
+
+             while (++index < length) {
+               var value = array[index],
+                   current = +iteratee(value);
+
+               if (comparator(current, computed)) {
+                 computed = current;
+                 result = value;
+               }
+             }
+             return result;
+           }
+
+           /**
+            * A specialized version of `_.filter` for arrays without support for callback
+            * shorthands and `this` binding.
+            *
+            * @private
+            * @param {Array} array The array to iterate over.
+            * @param {Function} predicate The function invoked per iteration.
+            * @returns {Array} Returns the new filtered array.
+            */
+           function arrayFilter(array, predicate) {
+             var index = -1,
+                 length = array.length,
+                 resIndex = -1,
+                 result = [];
+
+             while (++index < length) {
+               var value = array[index];
+               if (predicate(value, index, array)) {
+                 result[++resIndex] = value;
+               }
+             }
+             return result;
+           }
+
+           /**
+            * A specialized version of `_.map` for arrays without support for callback
+            * shorthands and `this` binding.
+            *
+            * @private
+            * @param {Array} array The array to iterate over.
+            * @param {Function} iteratee The function invoked per iteration.
+            * @returns {Array} Returns the new mapped array.
+            */
+           function arrayMap(array, iteratee) {
+             var index = -1,
+                 length = array.length,
+                 result = Array(length);
+
+             while (++index < length) {
+               result[index] = iteratee(array[index], index, array);
+             }
+             return result;
+           }
+
+           /**
+            * Appends the elements of `values` to `array`.
+            *
+            * @private
+            * @param {Array} array The array to modify.
+            * @param {Array} values The values to append.
+            * @returns {Array} Returns `array`.
+            */
+           function arrayPush(array, values) {
+             var index = -1,
+                 length = values.length,
+                 offset = array.length;
+
+             while (++index < length) {
+               array[offset + index] = values[index];
+             }
+             return array;
+           }
+
+           /**
+            * A specialized version of `_.reduce` for arrays without support for callback
+            * shorthands and `this` binding.
+            *
+            * @private
+            * @param {Array} array The array to iterate over.
+            * @param {Function} iteratee The function invoked per iteration.
+            * @param {*} [accumulator] The initial value.
+            * @param {boolean} [initFromArray] Specify using the first element of `array`
+            *  as the initial value.
+            * @returns {*} Returns the accumulated value.
+            */
+           function arrayReduce(array, iteratee, accumulator, initFromArray) {
+             var index = -1,
+                 length = array.length;
+
+             if (initFromArray && length) {
+               accumulator = array[++index];
+             }
+             while (++index < length) {
+               accumulator = iteratee(accumulator, array[index], index, array);
+             }
+             return accumulator;
+           }
+
+           /**
+            * A specialized version of `_.reduceRight` for arrays without support for
+            * callback shorthands and `this` binding.
+            *
+            * @private
+            * @param {Array} array The array to iterate over.
+            * @param {Function} iteratee The function invoked per iteration.
+            * @param {*} [accumulator] The initial value.
+            * @param {boolean} [initFromArray] Specify using the last element of `array`
+            *  as the initial value.
+            * @returns {*} Returns the accumulated value.
+            */
+           function arrayReduceRight(array, iteratee, accumulator, initFromArray) {
+             var length = array.length;
+             if (initFromArray && length) {
+               accumulator = array[--length];
+             }
+             while (length--) {
+               accumulator = iteratee(accumulator, array[length], length, array);
+             }
+             return accumulator;
+           }
+
+           /**
+            * A specialized version of `_.some` for arrays without support for callback
+            * shorthands and `this` binding.
+            *
+            * @private
+            * @param {Array} array The array to iterate over.
+            * @param {Function} predicate The function invoked per iteration.
+            * @returns {boolean} Returns `true` if any element passes the predicate check,
+            *  else `false`.
+            */
+           function arraySome(array, predicate) {
+             var index = -1,
+                 length = array.length;
+
+             while (++index < length) {
+               if (predicate(array[index], index, array)) {
+                 return true;
+               }
+             }
+             return false;
+           }
+
+           /**
+            * A specialized version of `_.sum` for arrays without support for callback
+            * shorthands and `this` binding..
+            *
+            * @private
+            * @param {Array} array The array to iterate over.
+            * @param {Function} iteratee The function invoked per iteration.
+            * @returns {number} Returns the sum.
+            */
+           function arraySum(array, iteratee) {
+             var length = array.length,
+                 result = 0;
+
+             while (length--) {
+               result += +iteratee(array[length]) || 0;
+             }
+             return result;
+           }
+
+           /**
+            * Used by `_.defaults` to customize its `_.assign` use.
+            *
+            * @private
+            * @param {*} objectValue The destination object property value.
+            * @param {*} sourceValue The source object property value.
+            * @returns {*} Returns the value to assign to the destination object.
+            */
+           function assignDefaults(objectValue, sourceValue) {
+             return objectValue === undefined ? sourceValue : objectValue;
+           }
+
+           /**
+            * Used by `_.template` to customize its `_.assign` use.
+            *
+            * **Note:** This function is like `assignDefaults` except that it ignores
+            * inherited property values when checking if a property is `undefined`.
+            *
+            * @private
+            * @param {*} objectValue The destination object property value.
+            * @param {*} sourceValue The source object property value.
+            * @param {string} key The key associated with the object and source values.
+            * @param {Object} object The destination object.
+            * @returns {*} Returns the value to assign to the destination object.
+            */
+           function assignOwnDefaults(objectValue, sourceValue, key, object) {
+             return (objectValue === undefined || !hasOwnProperty.call(object, key))
+               ? sourceValue
+               : objectValue;
+           }
+
+           /**
+            * A specialized version of `_.assign` for customizing assigned values without
+            * support for argument juggling, multiple sources, and `this` binding `customizer`
+            * functions.
+            *
+            * @private
+            * @param {Object} object The destination object.
+            * @param {Object} source The source object.
+            * @param {Function} customizer The function to customize assigned values.
+            * @returns {Object} Returns `object`.
+            */
+           function assignWith(object, source, customizer) {
+             var index = -1,
+                 props = keys(source),
+                 length = props.length;
+
+             while (++index < length) {
+               var key = props[index],
+                   value = object[key],
+                   result = customizer(value, source[key], key, object, source);
+
+               if ((result === result ? (result !== value) : (value === value)) ||
+                   (value === undefined && !(key in object))) {
+                 object[key] = result;
+               }
+             }
+             return object;
+           }
+
+           /**
+            * The base implementation of `_.assign` without support for argument juggling,
+            * multiple sources, and `customizer` functions.
+            *
+            * @private
+            * @param {Object} object The destination object.
+            * @param {Object} source The source object.
+            * @returns {Object} Returns `object`.
+            */
+           function baseAssign(object, source) {
+             return source == null
+               ? object
+               : baseCopy(source, keys(source), object);
+           }
+
+           /**
+            * The base implementation of `_.at` without support for string collections
+            * and individual key arguments.
+            *
+            * @private
+            * @param {Array|Object} collection The collection to iterate over.
+            * @param {number[]|string[]} props The property names or indexes of elements to pick.
+            * @returns {Array} Returns the new array of picked elements.
+            */
+           function baseAt(collection, props) {
+             var index = -1,
+                 isNil = collection == null,
+                 isArr = !isNil && isArrayLike(collection),
+                 length = isArr ? collection.length : 0,
+                 propsLength = props.length,
+                 result = Array(propsLength);
+
+             while(++index < propsLength) {
+               var key = props[index];
+               if (isArr) {
+                 result[index] = isIndex(key, length) ? collection[key] : undefined;
+               } else {
+                 result[index] = isNil ? undefined : collection[key];
+               }
+             }
+             return result;
+           }
+
+           /**
+            * Copies properties of `source` to `object`.
+            *
+            * @private
+            * @param {Object} source The object to copy properties from.
+            * @param {Array} props The property names to copy.
+            * @param {Object} [object={}] The object to copy properties to.
+            * @returns {Object} Returns `object`.
+            */
+           function baseCopy(source, props, object) {
+             object || (object = {});
+
+             var index = -1,
+                 length = props.length;
+
+             while (++index < length) {
+               var key = props[index];
+               object[key] = source[key];
+             }
+             return object;
+           }
+
+           /**
+            * The base implementation of `_.callback` which supports specifying the
+            * number of arguments to provide to `func`.
+            *
+            * @private
+            * @param {*} [func=_.identity] The value to convert to a callback.
+            * @param {*} [thisArg] The `this` binding of `func`.
+            * @param {number} [argCount] The number of arguments to provide to `func`.
+            * @returns {Function} Returns the callback.
+            */
+           function baseCallback(func, thisArg, argCount) {
+             var type = typeof func;
+             if (type == 'function') {
+               return thisArg === undefined
+                 ? func
+                 : bindCallback(func, thisArg, argCount);
+             }
+             if (func == null) {
+               return identity;
+             }
+             if (type == 'object') {
+               return baseMatches(func);
+             }
+             return thisArg === undefined
+               ? property(func)
+               : baseMatchesProperty(func, thisArg);
+           }
+
+           /**
+            * The base implementation of `_.clone` without support for argument juggling
+            * and `this` binding `customizer` functions.
+            *
+            * @private
+            * @param {*} value The value to clone.
+            * @param {boolean} [isDeep] Specify a deep clone.
+            * @param {Function} [customizer] The function to customize cloning values.
+            * @param {string} [key] The key of `value`.
+            * @param {Object} [object] The object `value` belongs to.
+            * @param {Array} [stackA=[]] Tracks traversed source objects.
+            * @param {Array} [stackB=[]] Associates clones with source counterparts.
+            * @returns {*} Returns the cloned value.
+            */
+           function baseClone(value, isDeep, customizer, key, object, stackA, stackB) {
+             var result;
+             if (customizer) {
+               result = object ? customizer(value, key, object) : customizer(value);
+             }
+             if (result !== undefined) {
+               return result;
+             }
+             if (!isObject(value)) {
+               return value;
+             }
+             var isArr = isArray(value);
+             if (isArr) {
+               result = initCloneArray(value);
+               if (!isDeep) {
+                 return arrayCopy(value, result);
+               }
+             } else {
+               var tag = objToString.call(value),
+                   isFunc = tag == funcTag;
+
+               if (tag == objectTag || tag == argsTag || (isFunc && !object)) {
+                 result = initCloneObject(isFunc ? {} : value);
+                 if (!isDeep) {
+                   return baseAssign(result, value);
+                 }
+               } else {
+                 return cloneableTags[tag]
+                   ? initCloneByTag(value, tag, isDeep)
+                   : (object ? value : {});
+               }
+             }
+             // Check for circular references and return its corresponding clone.
+             stackA || (stackA = []);
+             stackB || (stackB = []);
+
+             var length = stackA.length;
+             while (length--) {
+               if (stackA[length] == value) {
+                 return stackB[length];
+               }
+             }
+             // Add the source value to the stack of traversed objects and associate it with its clone.
+             stackA.push(value);
+             stackB.push(result);
+
+             // Recursively populate clone (susceptible to call stack limits).
+             (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {
+               result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);
+             });
+             return result;
+           }
+
+           /**
+            * The base implementation of `_.create` without support for assigning
+            * properties to the created object.
+            *
+            * @private
+            * @param {Object} prototype The object to inherit from.
+            * @returns {Object} Returns the new object.
+            */
+           var baseCreate = (function() {
+             function object() {}
+             return function(prototype) {
+               if (isObject(prototype)) {
+                 object.prototype = prototype;
+                 var result = new object;
+                 object.prototype = undefined;
+               }
+               return result || {};
+             };
+           }());
+
+           /**
+            * The base implementation of `_.delay` and `_.defer` which accepts an index
+            * of where to slice the arguments to provide to `func`.
+            *
+            * @private
+            * @param {Function} func The function to delay.
+            * @param {number} wait The number of milliseconds to delay invocation.
+            * @param {Object} args The arguments provide to `func`.
+            * @returns {number} Returns the timer id.
+            */
+           function baseDelay(func, wait, args) {
+             if (typeof func != 'function') {
+               throw new TypeError(FUNC_ERROR_TEXT);
+             }
+             return setTimeout(function() { func.apply(undefined, args); }, wait);
+           }
+
+           /**
+            * The base implementation of `_.difference` which accepts a single array
+            * of values to exclude.
+            *
+            * @private
+            * @param {Array} array The array to inspect.
+            * @param {Array} values The values to exclude.
+            * @returns {Array} Returns the new array of filtered values.
+            */
+           function baseDifference(array, values) {
+             var length = array ? array.length : 0,
+                 result = [];
+
+             if (!length) {
+               return result;
+             }
+             var index = -1,
+                 indexOf = getIndexOf(),
+                 isCommon = indexOf == baseIndexOf,
+                 cache = (isCommon && values.length >= LARGE_ARRAY_SIZE) ? createCache(values) : null,
+                 valuesLength = values.length;
+
+             if (cache) {
+               indexOf = cacheIndexOf;
+               isCommon = false;
+               values = cache;
+             }
+             outer:
+             while (++index < length) {
+               var value = array[index];
+
+               if (isCommon && value === value) {
+                 var valuesIndex = valuesLength;
+                 while (valuesIndex--) {
+                   if (values[valuesIndex] === value) {
+                     continue outer;
+                   }
+                 }
+                 result.push(value);
+               }
+               else if (indexOf(values, value, 0) < 0) {
+                 result.push(value);
+               }
+             }
+             return result;
+           }
+
+           /**
+            * The base implementation of `_.forEach` without support for callback
+            * shorthands and `this` binding.
+            *
+            * @private
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function} iteratee The function invoked per iteration.
+            * @returns {Array|Object|string} Returns `collection`.
+            */
+           var baseEach = createBaseEach(baseForOwn);
+
+           /**
+            * The base implementation of `_.forEachRight` without support for callback
+            * shorthands and `this` binding.
+            *
+            * @private
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function} iteratee The function invoked per iteration.
+            * @returns {Array|Object|string} Returns `collection`.
+            */
+           var baseEachRight = createBaseEach(baseForOwnRight, true);
+
+           /**
+            * The base implementation of `_.every` without support for callback
+            * shorthands and `this` binding.
+            *
+            * @private
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function} predicate The function invoked per iteration.
+            * @returns {boolean} Returns `true` if all elements pass the predicate check,
+            *  else `false`
+            */
+           function baseEvery(collection, predicate) {
+             var result = true;
+             baseEach(collection, function(value, index, collection) {
+               result = !!predicate(value, index, collection);
+               return result;
+             });
+             return result;
+           }
+
+           /**
+            * Gets the extremum value of `collection` invoking `iteratee` for each value
+            * in `collection` to generate the criterion by which the value is ranked.
+            * The `iteratee` is invoked with three arguments: (value, index|key, collection).
+            *
+            * @private
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function} iteratee The function invoked per iteration.
+            * @param {Function} comparator The function used to compare values.
+            * @param {*} exValue The initial extremum value.
+            * @returns {*} Returns the extremum value.
+            */
+           function baseExtremum(collection, iteratee, comparator, exValue) {
+             var computed = exValue,
+                 result = computed;
+
+             baseEach(collection, function(value, index, collection) {
+               var current = +iteratee(value, index, collection);
+               if (comparator(current, computed) || (current === exValue && current === result)) {
+                 computed = current;
+                 result = value;
+               }
+             });
+             return result;
+           }
+
+           /**
+            * The base implementation of `_.fill` without an iteratee call guard.
+            *
+            * @private
+            * @param {Array} array The array to fill.
+            * @param {*} value The value to fill `array` with.
+            * @param {number} [start=0] The start position.
+            * @param {number} [end=array.length] The end position.
+            * @returns {Array} Returns `array`.
+            */
+           function baseFill(array, value, start, end) {
+             var length = array.length;
+
+             start = start == null ? 0 : (+start || 0);
+             if (start < 0) {
+               start = -start > length ? 0 : (length + start);
+             }
+             end = (end === undefined || end > length) ? length : (+end || 0);
+             if (end < 0) {
+               end += length;
+             }
+             length = start > end ? 0 : (end >>> 0);
+             start >>>= 0;
+
+             while (start < length) {
+               array[start++] = value;
+             }
+             return array;
+           }
+
+           /**
+            * The base implementation of `_.filter` without support for callback
+            * shorthands and `this` binding.
+            *
+            * @private
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function} predicate The function invoked per iteration.
+            * @returns {Array} Returns the new filtered array.
+            */
+           function baseFilter(collection, predicate) {
+             var result = [];
+             baseEach(collection, function(value, index, collection) {
+               if (predicate(value, index, collection)) {
+                 result.push(value);
+               }
+             });
+             return result;
+           }
+
+           /**
+            * The base implementation of `_.find`, `_.findLast`, `_.findKey`, and `_.findLastKey`,
+            * without support for callback shorthands and `this` binding, which iterates
+            * over `collection` using the provided `eachFunc`.
+            *
+            * @private
+            * @param {Array|Object|string} collection The collection to search.
+            * @param {Function} predicate The function invoked per iteration.
+            * @param {Function} eachFunc The function to iterate over `collection`.
+            * @param {boolean} [retKey] Specify returning the key of the found element
+            *  instead of the element itself.
+            * @returns {*} Returns the found element or its key, else `undefined`.
+            */
+           function baseFind(collection, predicate, eachFunc, retKey) {
+             var result;
+             eachFunc(collection, function(value, key, collection) {
+               if (predicate(value, key, collection)) {
+                 result = retKey ? key : value;
+                 return false;
+               }
+             });
+             return result;
+           }
+
+           /**
+            * The base implementation of `_.flatten` with added support for restricting
+            * flattening and specifying the start index.
+            *
+            * @private
+            * @param {Array} array The array to flatten.
+            * @param {boolean} [isDeep] Specify a deep flatten.
+            * @param {boolean} [isStrict] Restrict flattening to arrays-like objects.
+            * @param {Array} [result=[]] The initial result value.
+            * @returns {Array} Returns the new flattened array.
+            */
+           function baseFlatten(array, isDeep, isStrict, result) {
+             result || (result = []);
+
+             var index = -1,
+                 length = array.length;
+
+             while (++index < length) {
+               var value = array[index];
+               if (isObjectLike(value) && isArrayLike(value) &&
+                   (isStrict || isArray(value) || isArguments(value))) {
+                 if (isDeep) {
+                   // Recursively flatten arrays (susceptible to call stack limits).
+                   baseFlatten(value, isDeep, isStrict, result);
+                 } else {
+                   arrayPush(result, value);
+                 }
+               } else if (!isStrict) {
+                 result[result.length] = value;
+               }
+             }
+             return result;
+           }
+
+           /**
+            * The base implementation of `baseForIn` and `baseForOwn` which iterates
+            * over `object` properties returned by `keysFunc` invoking `iteratee` for
+            * each property. Iteratee functions may exit iteration early by explicitly
+            * returning `false`.
+            *
+            * @private
+            * @param {Object} object The object to iterate over.
+            * @param {Function} iteratee The function invoked per iteration.
+            * @param {Function} keysFunc The function to get the keys of `object`.
+            * @returns {Object} Returns `object`.
+            */
+           var baseFor = createBaseFor();
+
+           /**
+            * This function is like `baseFor` except that it iterates over properties
+            * in the opposite order.
+            *
+            * @private
+            * @param {Object} object The object to iterate over.
+            * @param {Function} iteratee The function invoked per iteration.
+            * @param {Function} keysFunc The function to get the keys of `object`.
+            * @returns {Object} Returns `object`.
+            */
+           var baseForRight = createBaseFor(true);
+
+           /**
+            * The base implementation of `_.forIn` without support for callback
+            * shorthands and `this` binding.
+            *
+            * @private
+            * @param {Object} object The object to iterate over.
+            * @param {Function} iteratee The function invoked per iteration.
+            * @returns {Object} Returns `object`.
+            */
+           function baseForIn(object, iteratee) {
+             return baseFor(object, iteratee, keysIn);
+           }
+
+           /**
+            * The base implementation of `_.forOwn` without support for callback
+            * shorthands and `this` binding.
+            *
+            * @private
+            * @param {Object} object The object to iterate over.
+            * @param {Function} iteratee The function invoked per iteration.
+            * @returns {Object} Returns `object`.
+            */
+           function baseForOwn(object, iteratee) {
+             return baseFor(object, iteratee, keys);
+           }
+
+           /**
+            * The base implementation of `_.forOwnRight` without support for callback
+            * shorthands and `this` binding.
+            *
+            * @private
+            * @param {Object} object The object to iterate over.
+            * @param {Function} iteratee The function invoked per iteration.
+            * @returns {Object} Returns `object`.
+            */
+           function baseForOwnRight(object, iteratee) {
+             return baseForRight(object, iteratee, keys);
+           }
+
+           /**
+            * The base implementation of `_.functions` which creates an array of
+            * `object` function property names filtered from those provided.
+            *
+            * @private
+            * @param {Object} object The object to inspect.
+            * @param {Array} props The property names to filter.
+            * @returns {Array} Returns the new array of filtered property names.
+            */
+           function baseFunctions(object, props) {
+             var index = -1,
+                 length = props.length,
+                 resIndex = -1,
+                 result = [];
+
+             while (++index < length) {
+               var key = props[index];
+               if (isFunction(object[key])) {
+                 result[++resIndex] = key;
+               }
+             }
+             return result;
+           }
+
+           /**
+            * The base implementation of `get` without support for string paths
+            * and default values.
+            *
+            * @private
+            * @param {Object} object The object to query.
+            * @param {Array} path The path of the property to get.
+            * @param {string} [pathKey] The key representation of path.
+            * @returns {*} Returns the resolved value.
+            */
+           function baseGet(object, path, pathKey) {
+             if (object == null) {
+               return;
+             }
+             if (pathKey !== undefined && pathKey in toObject(object)) {
+               path = [pathKey];
+             }
+             var index = 0,
+                 length = path.length;
+
+             while (object != null && index < length) {
+               object = object[path[index++]];
+             }
+             return (index && index == length) ? object : undefined;
+           }
+
+           /**
+            * The base implementation of `_.isEqual` without support for `this` binding
+            * `customizer` functions.
+            *
+            * @private
+            * @param {*} value The value to compare.
+            * @param {*} other The other value to compare.
+            * @param {Function} [customizer] The function to customize comparing values.
+            * @param {boolean} [isLoose] Specify performing partial comparisons.
+            * @param {Array} [stackA] Tracks traversed `value` objects.
+            * @param {Array} [stackB] Tracks traversed `other` objects.
+            * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
+            */
+           function baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {
+             if (value === other) {
+               return true;
+             }
+             if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {
+               return value !== value && other !== other;
+             }
+             return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);
+           }
+
+           /**
+            * A specialized version of `baseIsEqual` for arrays and objects which performs
+            * deep comparisons and tracks traversed objects enabling objects with circular
+            * references to be compared.
+            *
+            * @private
+            * @param {Object} object The object to compare.
+            * @param {Object} other The other object to compare.
+            * @param {Function} equalFunc The function to determine equivalents of values.
+            * @param {Function} [customizer] The function to customize comparing objects.
+            * @param {boolean} [isLoose] Specify performing partial comparisons.
+            * @param {Array} [stackA=[]] Tracks traversed `value` objects.
+            * @param {Array} [stackB=[]] Tracks traversed `other` objects.
+            * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
+            */
+           function baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {
+             var objIsArr = isArray(object),
+                 othIsArr = isArray(other),
+                 objTag = arrayTag,
+                 othTag = arrayTag;
+
+             if (!objIsArr) {
+               objTag = objToString.call(object);
+               if (objTag == argsTag) {
+                 objTag = objectTag;
+               } else if (objTag != objectTag) {
+                 objIsArr = isTypedArray(object);
+               }
+             }
+             if (!othIsArr) {
+               othTag = objToString.call(other);
+               if (othTag == argsTag) {
+                 othTag = objectTag;
+               } else if (othTag != objectTag) {
+                 othIsArr = isTypedArray(other);
+               }
+             }
+             var objIsObj = objTag == objectTag,
+                 othIsObj = othTag == objectTag,
+                 isSameTag = objTag == othTag;
+
+             if (isSameTag && !(objIsArr || objIsObj)) {
+               return equalByTag(object, other, objTag);
+             }
+             if (!isLoose) {
+               var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
+                   othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
+
+               if (objIsWrapped || othIsWrapped) {
+                 return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);
+               }
+             }
+             if (!isSameTag) {
+               return false;
+             }
+             // Assume cyclic values are equal.
+             // For more information on detecting circular references see https://es5.github.io/#JO.
+             stackA || (stackA = []);
+             stackB || (stackB = []);
+
+             var length = stackA.length;
+             while (length--) {
+               if (stackA[length] == object) {
+                 return stackB[length] == other;
+               }
+             }
+             // Add `object` and `other` to the stack of traversed objects.
+             stackA.push(object);
+             stackB.push(other);
+
+             var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);
+
+             stackA.pop();
+             stackB.pop();
+
+             return result;
+           }
+
+           /**
+            * The base implementation of `_.isMatch` without support for callback
+            * shorthands and `this` binding.
+            *
+            * @private
+            * @param {Object} object The object to inspect.
+            * @param {Array} matchData The propery names, values, and compare flags to match.
+            * @param {Function} [customizer] The function to customize comparing objects.
+            * @returns {boolean} Returns `true` if `object` is a match, else `false`.
+            */
+           function baseIsMatch(object, matchData, customizer) {
+             var index = matchData.length,
+                 length = index,
+                 noCustomizer = !customizer;
+
+             if (object == null) {
+               return !length;
+             }
+             object = toObject(object);
+             while (index--) {
+               var data = matchData[index];
+               if ((noCustomizer && data[2])
+                     ? data[1] !== object[data[0]]
+                     : !(data[0] in object)
+                   ) {
+                 return false;
+               }
+             }
+             while (++index < length) {
+               data = matchData[index];
+               var key = data[0],
+                   objValue = object[key],
+                   srcValue = data[1];
+
+               if (noCustomizer && data[2]) {
+                 if (objValue === undefined && !(key in object)) {
+                   return false;
+                 }
+               } else {
+                 var result = customizer ? customizer(objValue, srcValue, key) : undefined;
+                 if (!(result === undefined ? baseIsEqual(srcValue, objValue, customizer, true) : result)) {
+                   return false;
+                 }
+               }
+             }
+             return true;
+           }
+
+           /**
+            * The base implementation of `_.map` without support for callback shorthands
+            * and `this` binding.
+            *
+            * @private
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function} iteratee The function invoked per iteration.
+            * @returns {Array} Returns the new mapped array.
+            */
+           function baseMap(collection, iteratee) {
+             var index = -1,
+                 result = isArrayLike(collection) ? Array(collection.length) : [];
+
+             baseEach(collection, function(value, key, collection) {
+               result[++index] = iteratee(value, key, collection);
+             });
+             return result;
+           }
+
+           /**
+            * The base implementation of `_.matches` which does not clone `source`.
+            *
+            * @private
+            * @param {Object} source The object of property values to match.
+            * @returns {Function} Returns the new function.
+            */
+           function baseMatches(source) {
+             var matchData = getMatchData(source);
+             if (matchData.length == 1 && matchData[0][2]) {
+               var key = matchData[0][0],
+                   value = matchData[0][1];
+
+               return function(object) {
+                 if (object == null) {
+                   return false;
+                 }
+                 return object[key] === value && (value !== undefined || (key in toObject(object)));
+               };
+             }
+             return function(object) {
+               return baseIsMatch(object, matchData);
+             };
+           }
+
+           /**
+            * The base implementation of `_.matchesProperty` which does not clone `srcValue`.
+            *
+            * @private
+            * @param {string} path The path of the property to get.
+            * @param {*} srcValue The value to compare.
+            * @returns {Function} Returns the new function.
+            */
+           function baseMatchesProperty(path, srcValue) {
+             var isArr = isArray(path),
+                 isCommon = isKey(path) && isStrictComparable(srcValue),
+                 pathKey = (path + '');
+
+             path = toPath(path);
+             return function(object) {
+               if (object == null) {
+                 return false;
+               }
+               var key = pathKey;
+               object = toObject(object);
+               if ((isArr || !isCommon) && !(key in object)) {
+                 object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1));
+                 if (object == null) {
+                   return false;
+                 }
+                 key = last(path);
+                 object = toObject(object);
+               }
+               return object[key] === srcValue
+                 ? (srcValue !== undefined || (key in object))
+                 : baseIsEqual(srcValue, object[key], undefined, true);
+             };
+           }
+
+           /**
+            * The base implementation of `_.merge` without support for argument juggling,
+            * multiple sources, and `this` binding `customizer` functions.
+            *
+            * @private
+            * @param {Object} object The destination object.
+            * @param {Object} source The source object.
+            * @param {Function} [customizer] The function to customize merged values.
+            * @param {Array} [stackA=[]] Tracks traversed source objects.
+            * @param {Array} [stackB=[]] Associates values with source counterparts.
+            * @returns {Object} Returns `object`.
+            */
+           function baseMerge(object, source, customizer, stackA, stackB) {
+             if (!isObject(object)) {
+               return object;
+             }
+             var isSrcArr = isArrayLike(source) && (isArray(source) || isTypedArray(source)),
+                 props = isSrcArr ? undefined : keys(source);
+
+             arrayEach(props || source, function(srcValue, key) {
+               if (props) {
+                 key = srcValue;
+                 srcValue = source[key];
+               }
+               if (isObjectLike(srcValue)) {
+                 stackA || (stackA = []);
+                 stackB || (stackB = []);
+                 baseMergeDeep(object, source, key, baseMerge, customizer, stackA, stackB);
+               }
+               else {
+                 var value = object[key],
+                     result = customizer ? customizer(value, srcValue, key, object, source) : undefined,
+                     isCommon = result === undefined;
+
+                 if (isCommon) {
+                   result = srcValue;
+                 }
+                 if ((result !== undefined || (isSrcArr && !(key in object))) &&
+                     (isCommon || (result === result ? (result !== value) : (value === value)))) {
+                   object[key] = result;
+                 }
+               }
+             });
+             return object;
+           }
+
+           /**
+            * A specialized version of `baseMerge` for arrays and objects which performs
+            * deep merges and tracks traversed objects enabling objects with circular
+            * references to be merged.
+            *
+            * @private
+            * @param {Object} object The destination object.
+            * @param {Object} source The source object.
+            * @param {string} key The key of the value to merge.
+            * @param {Function} mergeFunc The function to merge values.
+            * @param {Function} [customizer] The function to customize merged values.
+            * @param {Array} [stackA=[]] Tracks traversed source objects.
+            * @param {Array} [stackB=[]] Associates values with source counterparts.
+            * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
+            */
+           function baseMergeDeep(object, source, key, mergeFunc, customizer, stackA, stackB) {
+             var length = stackA.length,
+                 srcValue = source[key];
+
+             while (length--) {
+               if (stackA[length] == srcValue) {
+                 object[key] = stackB[length];
+                 return;
+               }
+             }
+             var value = object[key],
+                 result = customizer ? customizer(value, srcValue, key, object, source) : undefined,
+                 isCommon = result === undefined;
+
+             if (isCommon) {
+               result = srcValue;
+               if (isArrayLike(srcValue) && (isArray(srcValue) || isTypedArray(srcValue))) {
+                 result = isArray(value)
+                   ? value
+                   : (isArrayLike(value) ? arrayCopy(value) : []);
+               }
+               else if (isPlainObject(srcValue) || isArguments(srcValue)) {
+                 result = isArguments(value)
+                   ? toPlainObject(value)
+                   : (isPlainObject(value) ? value : {});
+               }
+               else {
+                 isCommon = false;
+               }
+             }
+             // Add the source value to the stack of traversed objects and associate
+             // it with its merged value.
+             stackA.push(srcValue);
+             stackB.push(result);
+
+             if (isCommon) {
+               // Recursively merge objects and arrays (susceptible to call stack limits).
+               object[key] = mergeFunc(result, srcValue, customizer, stackA, stackB);
+             } else if (result === result ? (result !== value) : (value === value)) {
+               object[key] = result;
+             }
+           }
+
+           /**
+            * The base implementation of `_.property` without support for deep paths.
+            *
+            * @private
+            * @param {string} key The key of the property to get.
+            * @returns {Function} Returns the new function.
+            */
+           function baseProperty(key) {
+             return function(object) {
+               return object == null ? undefined : object[key];
+             };
+           }
+
+           /**
+            * A specialized version of `baseProperty` which supports deep paths.
+            *
+            * @private
+            * @param {Array|string} path The path of the property to get.
+            * @returns {Function} Returns the new function.
+            */
+           function basePropertyDeep(path) {
+             var pathKey = (path + '');
+             path = toPath(path);
+             return function(object) {
+               return baseGet(object, path, pathKey);
+             };
+           }
+
+           /**
+            * The base implementation of `_.pullAt` without support for individual
+            * index arguments and capturing the removed elements.
+            *
+            * @private
+            * @param {Array} array The array to modify.
+            * @param {number[]} indexes The indexes of elements to remove.
+            * @returns {Array} Returns `array`.
+            */
+           function basePullAt(array, indexes) {
+             var length = array ? indexes.length : 0;
+             while (length--) {
+               var index = indexes[length];
+               if (index != previous && isIndex(index)) {
+                 var previous = index;
+                 splice.call(array, index, 1);
+               }
+             }
+             return array;
+           }
+
+           /**
+            * The base implementation of `_.random` without support for argument juggling
+            * and returning floating-point numbers.
+            *
+            * @private
+            * @param {number} min The minimum possible value.
+            * @param {number} max The maximum possible value.
+            * @returns {number} Returns the random number.
+            */
+           function baseRandom(min, max) {
+             return min + nativeFloor(nativeRandom() * (max - min + 1));
+           }
+
+           /**
+            * The base implementation of `_.reduce` and `_.reduceRight` without support
+            * for callback shorthands and `this` binding, which iterates over `collection`
+            * using the provided `eachFunc`.
+            *
+            * @private
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function} iteratee The function invoked per iteration.
+            * @param {*} accumulator The initial value.
+            * @param {boolean} initFromCollection Specify using the first or last element
+            *  of `collection` as the initial value.
+            * @param {Function} eachFunc The function to iterate over `collection`.
+            * @returns {*} Returns the accumulated value.
+            */
+           function baseReduce(collection, iteratee, accumulator, initFromCollection, eachFunc) {
+             eachFunc(collection, function(value, index, collection) {
+               accumulator = initFromCollection
+                 ? (initFromCollection = false, value)
+                 : iteratee(accumulator, value, index, collection);
+             });
+             return accumulator;
+           }
+
+           /**
+            * The base implementation of `setData` without support for hot loop detection.
+            *
+            * @private
+            * @param {Function} func The function to associate metadata with.
+            * @param {*} data The metadata.
+            * @returns {Function} Returns `func`.
+            */
+           var baseSetData = !metaMap ? identity : function(func, data) {
+             metaMap.set(func, data);
+             return func;
+           };
+
+           /**
+            * The base implementation of `_.slice` without an iteratee call guard.
+            *
+            * @private
+            * @param {Array} array The array to slice.
+            * @param {number} [start=0] The start position.
+            * @param {number} [end=array.length] The end position.
+            * @returns {Array} Returns the slice of `array`.
+            */
+           function baseSlice(array, start, end) {
+             var index = -1,
+                 length = array.length;
+
+             start = start == null ? 0 : (+start || 0);
+             if (start < 0) {
+               start = -start > length ? 0 : (length + start);
+             }
+             end = (end === undefined || end > length) ? length : (+end || 0);
+             if (end < 0) {
+               end += length;
+             }
+             length = start > end ? 0 : ((end - start) >>> 0);
+             start >>>= 0;
+
+             var result = Array(length);
+             while (++index < length) {
+               result[index] = array[index + start];
+             }
+             return result;
+           }
+
+           /**
+            * The base implementation of `_.some` without support for callback shorthands
+            * and `this` binding.
+            *
+            * @private
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function} predicate The function invoked per iteration.
+            * @returns {boolean} Returns `true` if any element passes the predicate check,
+            *  else `false`.
+            */
+           function baseSome(collection, predicate) {
+             var result;
+
+             baseEach(collection, function(value, index, collection) {
+               result = predicate(value, index, collection);
+               return !result;
+             });
+             return !!result;
+           }
+
+           /**
+            * The base implementation of `_.sortBy` which uses `comparer` to define
+            * the sort order of `array` and replaces criteria objects with their
+            * corresponding values.
+            *
+            * @private
+            * @param {Array} array The array to sort.
+            * @param {Function} comparer The function to define sort order.
+            * @returns {Array} Returns `array`.
+            */
+           function baseSortBy(array, comparer) {
+             var length = array.length;
+
+             array.sort(comparer);
+             while (length--) {
+               array[length] = array[length].value;
+             }
+             return array;
+           }
+
+           /**
+            * The base implementation of `_.sortByOrder` without param guards.
+            *
+            * @private
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.
+            * @param {boolean[]} orders The sort orders of `iteratees`.
+            * @returns {Array} Returns the new sorted array.
+            */
+           function baseSortByOrder(collection, iteratees, orders) {
+             var callback = getCallback(),
+                 index = -1;
+
+             iteratees = arrayMap(iteratees, function(iteratee) { return callback(iteratee); });
+
+             var result = baseMap(collection, function(value) {
+               var criteria = arrayMap(iteratees, function(iteratee) { return iteratee(value); });
+               return { 'criteria': criteria, 'index': ++index, 'value': value };
+             });
+
+             return baseSortBy(result, function(object, other) {
+               return compareMultiple(object, other, orders);
+             });
+           }
+
+           /**
+            * The base implementation of `_.sum` without support for callback shorthands
+            * and `this` binding.
+            *
+            * @private
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function} iteratee The function invoked per iteration.
+            * @returns {number} Returns the sum.
+            */
+           function baseSum(collection, iteratee) {
+             var result = 0;
+             baseEach(collection, function(value, index, collection) {
+               result += +iteratee(value, index, collection) || 0;
+             });
+             return result;
+           }
+
+           /**
+            * The base implementation of `_.uniq` without support for callback shorthands
+            * and `this` binding.
+            *
+            * @private
+            * @param {Array} array The array to inspect.
+            * @param {Function} [iteratee] The function invoked per iteration.
+            * @returns {Array} Returns the new duplicate-value-free array.
+            */
+           function baseUniq(array, iteratee) {
+             var index = -1,
+                 indexOf = getIndexOf(),
+                 length = array.length,
+                 isCommon = indexOf == baseIndexOf,
+                 isLarge = isCommon && length >= LARGE_ARRAY_SIZE,
+                 seen = isLarge ? createCache() : null,
+                 result = [];
+
+             if (seen) {
+               indexOf = cacheIndexOf;
+               isCommon = false;
+             } else {
+               isLarge = false;
+               seen = iteratee ? [] : result;
+             }
+             outer:
+             while (++index < length) {
+               var value = array[index],
+                   computed = iteratee ? iteratee(value, index, array) : value;
+
+               if (isCommon && value === value) {
+                 var seenIndex = seen.length;
+                 while (seenIndex--) {
+                   if (seen[seenIndex] === computed) {
+                     continue outer;
+                   }
+                 }
+                 if (iteratee) {
+                   seen.push(computed);
+                 }
+                 result.push(value);
+               }
+               else if (indexOf(seen, computed, 0) < 0) {
+                 if (iteratee || isLarge) {
+                   seen.push(computed);
+                 }
+                 result.push(value);
+               }
+             }
+             return result;
+           }
+
+           /**
+            * The base implementation of `_.values` and `_.valuesIn` which creates an
+            * array of `object` property values corresponding to the property names
+            * of `props`.
+            *
+            * @private
+            * @param {Object} object The object to query.
+            * @param {Array} props The property names to get values for.
+            * @returns {Object} Returns the array of property values.
+            */
+           function baseValues(object, props) {
+             var index = -1,
+                 length = props.length,
+                 result = Array(length);
+
+             while (++index < length) {
+               result[index] = object[props[index]];
+             }
+             return result;
+           }
+
+           /**
+            * The base implementation of `_.dropRightWhile`, `_.dropWhile`, `_.takeRightWhile`,
+            * and `_.takeWhile` without support for callback shorthands and `this` binding.
+            *
+            * @private
+            * @param {Array} array The array to query.
+            * @param {Function} predicate The function invoked per iteration.
+            * @param {boolean} [isDrop] Specify dropping elements instead of taking them.
+            * @param {boolean} [fromRight] Specify iterating from right to left.
+            * @returns {Array} Returns the slice of `array`.
+            */
+           function baseWhile(array, predicate, isDrop, fromRight) {
+             var length = array.length,
+                 index = fromRight ? length : -1;
+
+             while ((fromRight ? index-- : ++index < length) && predicate(array[index], index, array)) {}
+             return isDrop
+               ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length))
+               : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index));
+           }
+
+           /**
+            * The base implementation of `wrapperValue` which returns the result of
+            * performing a sequence of actions on the unwrapped `value`, where each
+            * successive action is supplied the return value of the previous.
+            *
+            * @private
+            * @param {*} value The unwrapped value.
+            * @param {Array} actions Actions to peform to resolve the unwrapped value.
+            * @returns {*} Returns the resolved value.
+            */
+           function baseWrapperValue(value, actions) {
+             var result = value;
+             if (result instanceof LazyWrapper) {
+               result = result.value();
+             }
+             var index = -1,
+                 length = actions.length;
+
+             while (++index < length) {
+               var action = actions[index];
+               result = action.func.apply(action.thisArg, arrayPush([result], action.args));
+             }
+             return result;
+           }
+
+           /**
+            * Performs a binary search of `array` to determine the index at which `value`
+            * should be inserted into `array` in order to maintain its sort order.
+            *
+            * @private
+            * @param {Array} array The sorted array to inspect.
+            * @param {*} value The value to evaluate.
+            * @param {boolean} [retHighest] Specify returning the highest qualified index.
+            * @returns {number} Returns the index at which `value` should be inserted
+            *  into `array`.
+            */
+           function binaryIndex(array, value, retHighest) {
+             var low = 0,
+                 high = array ? array.length : low;
+
+             if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {
+               while (low < high) {
+                 var mid = (low + high) >>> 1,
+                     computed = array[mid];
+
+                 if ((retHighest ? (computed <= value) : (computed < value)) && computed !== null) {
+                   low = mid + 1;
+                 } else {
+                   high = mid;
+                 }
+               }
+               return high;
+             }
+             return binaryIndexBy(array, value, identity, retHighest);
+           }
+
+           /**
+            * This function is like `binaryIndex` except that it invokes `iteratee` for
+            * `value` and each element of `array` to compute their sort ranking. The
+            * iteratee is invoked with one argument; (value).
+            *
+            * @private
+            * @param {Array} array The sorted array to inspect.
+            * @param {*} value The value to evaluate.
+            * @param {Function} iteratee The function invoked per iteration.
+            * @param {boolean} [retHighest] Specify returning the highest qualified index.
+            * @returns {number} Returns the index at which `value` should be inserted
+            *  into `array`.
+            */
+           function binaryIndexBy(array, value, iteratee, retHighest) {
+             value = iteratee(value);
+
+             var low = 0,
+                 high = array ? array.length : 0,
+                 valIsNaN = value !== value,
+                 valIsNull = value === null,
+                 valIsUndef = value === undefined;
+
+             while (low < high) {
+               var mid = nativeFloor((low + high) / 2),
+                   computed = iteratee(array[mid]),
+                   isDef = computed !== undefined,
+                   isReflexive = computed === computed;
+
+               if (valIsNaN) {
+                 var setLow = isReflexive || retHighest;
+               } else if (valIsNull) {
+                 setLow = isReflexive && isDef && (retHighest || computed != null);
+               } else if (valIsUndef) {
+                 setLow = isReflexive && (retHighest || isDef);
+               } else if (computed == null) {
+                 setLow = false;
+               } else {
+                 setLow = retHighest ? (computed <= value) : (computed < value);
+               }
+               if (setLow) {
+                 low = mid + 1;
+               } else {
+                 high = mid;
+               }
+             }
+             return nativeMin(high, MAX_ARRAY_INDEX);
+           }
+
+           /**
+            * A specialized version of `baseCallback` which only supports `this` binding
+            * and specifying the number of arguments to provide to `func`.
+            *
+            * @private
+            * @param {Function} func The function to bind.
+            * @param {*} thisArg The `this` binding of `func`.
+            * @param {number} [argCount] The number of arguments to provide to `func`.
+            * @returns {Function} Returns the callback.
+            */
+           function bindCallback(func, thisArg, argCount) {
+             if (typeof func != 'function') {
+               return identity;
+             }
+             if (thisArg === undefined) {
+               return func;
+             }
+             switch (argCount) {
+               case 1: return function(value) {
+                 return func.call(thisArg, value);
+               };
+               case 3: return function(value, index, collection) {
+                 return func.call(thisArg, value, index, collection);
+               };
+               case 4: return function(accumulator, value, index, collection) {
+                 return func.call(thisArg, accumulator, value, index, collection);
+               };
+               case 5: return function(value, other, key, object, source) {
+                 return func.call(thisArg, value, other, key, object, source);
+               };
+             }
+             return function() {
+               return func.apply(thisArg, arguments);
+             };
+           }
+
+           /**
+            * Creates a clone of the given array buffer.
+            *
+            * @private
+            * @param {ArrayBuffer} buffer The array buffer to clone.
+            * @returns {ArrayBuffer} Returns the cloned array buffer.
+            */
+           function bufferClone(buffer) {
+             var result = new ArrayBuffer(buffer.byteLength),
+                 view = new Uint8Array(result);
+
+             view.set(new Uint8Array(buffer));
+             return result;
+           }
+
+           /**
+            * Creates an array that is the composition of partially applied arguments,
+            * placeholders, and provided arguments into a single array of arguments.
+            *
+            * @private
+            * @param {Array|Object} args The provided arguments.
+            * @param {Array} partials The arguments to prepend to those provided.
+            * @param {Array} holders The `partials` placeholder indexes.
+            * @returns {Array} Returns the new array of composed arguments.
+            */
+           function composeArgs(args, partials, holders) {
+             var holdersLength = holders.length,
+                 argsIndex = -1,
+                 argsLength = nativeMax(args.length - holdersLength, 0),
+                 leftIndex = -1,
+                 leftLength = partials.length,
+                 result = Array(leftLength + argsLength);
+
+             while (++leftIndex < leftLength) {
+               result[leftIndex] = partials[leftIndex];
+             }
+             while (++argsIndex < holdersLength) {
+               result[holders[argsIndex]] = args[argsIndex];
+             }
+             while (argsLength--) {
+               result[leftIndex++] = args[argsIndex++];
+             }
+             return result;
+           }
+
+           /**
+            * This function is like `composeArgs` except that the arguments composition
+            * is tailored for `_.partialRight`.
+            *
+            * @private
+            * @param {Array|Object} args The provided arguments.
+            * @param {Array} partials The arguments to append to those provided.
+            * @param {Array} holders The `partials` placeholder indexes.
+            * @returns {Array} Returns the new array of composed arguments.
+            */
+           function composeArgsRight(args, partials, holders) {
+             var holdersIndex = -1,
+                 holdersLength = holders.length,
+                 argsIndex = -1,
+                 argsLength = nativeMax(args.length - holdersLength, 0),
+                 rightIndex = -1,
+                 rightLength = partials.length,
+                 result = Array(argsLength + rightLength);
+
+             while (++argsIndex < argsLength) {
+               result[argsIndex] = args[argsIndex];
+             }
+             var offset = argsIndex;
+             while (++rightIndex < rightLength) {
+               result[offset + rightIndex] = partials[rightIndex];
+             }
+             while (++holdersIndex < holdersLength) {
+               result[offset + holders[holdersIndex]] = args[argsIndex++];
+             }
+             return result;
+           }
+
+           /**
+            * Creates a `_.countBy`, `_.groupBy`, `_.indexBy`, or `_.partition` function.
+            *
+            * @private
+            * @param {Function} setter The function to set keys and values of the accumulator object.
+            * @param {Function} [initializer] The function to initialize the accumulator object.
+            * @returns {Function} Returns the new aggregator function.
+            */
+           function createAggregator(setter, initializer) {
+             return function(collection, iteratee, thisArg) {
+               var result = initializer ? initializer() : {};
+               iteratee = getCallback(iteratee, thisArg, 3);
+
+               if (isArray(collection)) {
+                 var index = -1,
+                     length = collection.length;
+
+                 while (++index < length) {
+                   var value = collection[index];
+                   setter(result, value, iteratee(value, index, collection), collection);
+                 }
+               } else {
+                 baseEach(collection, function(value, key, collection) {
+                   setter(result, value, iteratee(value, key, collection), collection);
+                 });
+               }
+               return result;
+             };
+           }
+
+           /**
+            * Creates a `_.assign`, `_.defaults`, or `_.merge` function.
+            *
+            * @private
+            * @param {Function} assigner The function to assign values.
+            * @returns {Function} Returns the new assigner function.
+            */
+           function createAssigner(assigner) {
+             return restParam(function(object, sources) {
+               var index = -1,
+                   length = object == null ? 0 : sources.length,
+                   customizer = length > 2 ? sources[length - 2] : undefined,
+                   guard = length > 2 ? sources[2] : undefined,
+                   thisArg = length > 1 ? sources[length - 1] : undefined;
+
+               if (typeof customizer == 'function') {
+                 customizer = bindCallback(customizer, thisArg, 5);
+                 length -= 2;
+               } else {
+                 customizer = typeof thisArg == 'function' ? thisArg : undefined;
+                 length -= (customizer ? 1 : 0);
+               }
+               if (guard && isIterateeCall(sources[0], sources[1], guard)) {
+                 customizer = length < 3 ? undefined : customizer;
+                 length = 1;
+               }
+               while (++index < length) {
+                 var source = sources[index];
+                 if (source) {
+                   assigner(object, source, customizer);
+                 }
+               }
+               return object;
+             });
+           }
+
+           /**
+            * Creates a `baseEach` or `baseEachRight` function.
+            *
+            * @private
+            * @param {Function} eachFunc The function to iterate over a collection.
+            * @param {boolean} [fromRight] Specify iterating from right to left.
+            * @returns {Function} Returns the new base function.
+            */
+           function createBaseEach(eachFunc, fromRight) {
+             return function(collection, iteratee) {
+               var length = collection ? getLength(collection) : 0;
+               if (!isLength(length)) {
+                 return eachFunc(collection, iteratee);
+               }
+               var index = fromRight ? length : -1,
+                   iterable = toObject(collection);
+
+               while ((fromRight ? index-- : ++index < length)) {
+                 if (iteratee(iterable[index], index, iterable) === false) {
+                   break;
+                 }
+               }
+               return collection;
+             };
+           }
+
+           /**
+            * Creates a base function for `_.forIn` or `_.forInRight`.
+            *
+            * @private
+            * @param {boolean} [fromRight] Specify iterating from right to left.
+            * @returns {Function} Returns the new base function.
+            */
+           function createBaseFor(fromRight) {
+             return function(object, iteratee, keysFunc) {
+               var iterable = toObject(object),
+                   props = keysFunc(object),
+                   length = props.length,
+                   index = fromRight ? length : -1;
+
+               while ((fromRight ? index-- : ++index < length)) {
+                 var key = props[index];
+                 if (iteratee(iterable[key], key, iterable) === false) {
+                   break;
+                 }
+               }
+               return object;
+             };
+           }
+
+           /**
+            * Creates a function that wraps `func` and invokes it with the `this`
+            * binding of `thisArg`.
+            *
+            * @private
+            * @param {Function} func The function to bind.
+            * @param {*} [thisArg] The `this` binding of `func`.
+            * @returns {Function} Returns the new bound function.
+            */
+           function createBindWrapper(func, thisArg) {
+             var Ctor = createCtorWrapper(func);
+
+             function wrapper() {
+               var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
+               return fn.apply(thisArg, arguments);
+             }
+             return wrapper;
+           }
+
+           /**
+            * Creates a `Set` cache object to optimize linear searches of large arrays.
+            *
+            * @private
+            * @param {Array} [values] The values to cache.
+            * @returns {null|Object} Returns the new cache object if `Set` is supported, else `null`.
+            */
+           function createCache(values) {
+             return (nativeCreate && Set) ? new SetCache(values) : null;
+           }
+
+           /**
+            * Creates a function that produces compound words out of the words in a
+            * given string.
+            *
+            * @private
+            * @param {Function} callback The function to combine each word.
+            * @returns {Function} Returns the new compounder function.
+            */
+           function createCompounder(callback) {
+             return function(string) {
+               var index = -1,
+                   array = words(deburr(string)),
+                   length = array.length,
+                   result = '';
+
+               while (++index < length) {
+                 result = callback(result, array[index], index);
+               }
+               return result;
+             };
+           }
+
+           /**
+            * Creates a function that produces an instance of `Ctor` regardless of
+            * whether it was invoked as part of a `new` expression or by `call` or `apply`.
+            *
+            * @private
+            * @param {Function} Ctor The constructor to wrap.
+            * @returns {Function} Returns the new wrapped function.
+            */
+           function createCtorWrapper(Ctor) {
+             return function() {
+               // Use a `switch` statement to work with class constructors.
+               // See http://ecma-international.org/ecma-262/6.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist
+               // for more details.
+               var args = arguments;
+               switch (args.length) {
+                 case 0: return new Ctor;
+                 case 1: return new Ctor(args[0]);
+                 case 2: return new Ctor(args[0], args[1]);
+                 case 3: return new Ctor(args[0], args[1], args[2]);
+                 case 4: return new Ctor(args[0], args[1], args[2], args[3]);
+                 case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);
+                 case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);
+                 case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);
+               }
+               var thisBinding = baseCreate(Ctor.prototype),
+                   result = Ctor.apply(thisBinding, args);
+
+               // Mimic the constructor's `return` behavior.
+               // See https://es5.github.io/#x13.2.2 for more details.
+               return isObject(result) ? result : thisBinding;
+             };
+           }
+
+           /**
+            * Creates a `_.curry` or `_.curryRight` function.
+            *
+            * @private
+            * @param {boolean} flag The curry bit flag.
+            * @returns {Function} Returns the new curry function.
+            */
+           function createCurry(flag) {
+             function curryFunc(func, arity, guard) {
+               if (guard && isIterateeCall(func, arity, guard)) {
+                 arity = undefined;
+               }
+               var result = createWrapper(func, flag, undefined, undefined, undefined, undefined, undefined, arity);
+               result.placeholder = curryFunc.placeholder;
+               return result;
+             }
+             return curryFunc;
+           }
+
+           /**
+            * Creates a `_.defaults` or `_.defaultsDeep` function.
+            *
+            * @private
+            * @param {Function} assigner The function to assign values.
+            * @param {Function} customizer The function to customize assigned values.
+            * @returns {Function} Returns the new defaults function.
+            */
+           function createDefaults(assigner, customizer) {
+             return restParam(function(args) {
+               var object = args[0];
+               if (object == null) {
+                 return object;
+               }
+               args.push(customizer);
+               return assigner.apply(undefined, args);
+             });
+           }
+
+           /**
+            * Creates a `_.max` or `_.min` function.
+            *
+            * @private
+            * @param {Function} comparator The function used to compare values.
+            * @param {*} exValue The initial extremum value.
+            * @returns {Function} Returns the new extremum function.
+            */
+           function createExtremum(comparator, exValue) {
+             return function(collection, iteratee, thisArg) {
+               if (thisArg && isIterateeCall(collection, iteratee, thisArg)) {
+                 iteratee = undefined;
+               }
+               iteratee = getCallback(iteratee, thisArg, 3);
+               if (iteratee.length == 1) {
+                 collection = isArray(collection) ? collection : toIterable(collection);
+                 var result = arrayExtremum(collection, iteratee, comparator, exValue);
+                 if (!(collection.length && result === exValue)) {
+                   return result;
+                 }
+               }
+               return baseExtremum(collection, iteratee, comparator, exValue);
+             };
+           }
+
+           /**
+            * Creates a `_.find` or `_.findLast` function.
+            *
+            * @private
+            * @param {Function} eachFunc The function to iterate over a collection.
+            * @param {boolean} [fromRight] Specify iterating from right to left.
+            * @returns {Function} Returns the new find function.
+            */
+           function createFind(eachFunc, fromRight) {
+             return function(collection, predicate, thisArg) {
+               predicate = getCallback(predicate, thisArg, 3);
+               if (isArray(collection)) {
+                 var index = baseFindIndex(collection, predicate, fromRight);
+                 return index > -1 ? collection[index] : undefined;
+               }
+               return baseFind(collection, predicate, eachFunc);
+             };
+           }
+
+           /**
+            * Creates a `_.findIndex` or `_.findLastIndex` function.
+            *
+            * @private
+            * @param {boolean} [fromRight] Specify iterating from right to left.
+            * @returns {Function} Returns the new find function.
+            */
+           function createFindIndex(fromRight) {
+             return function(array, predicate, thisArg) {
+               if (!(array && array.length)) {
+                 return -1;
+               }
+               predicate = getCallback(predicate, thisArg, 3);
+               return baseFindIndex(array, predicate, fromRight);
+             };
+           }
+
+           /**
+            * Creates a `_.findKey` or `_.findLastKey` function.
+            *
+            * @private
+            * @param {Function} objectFunc The function to iterate over an object.
+            * @returns {Function} Returns the new find function.
+            */
+           function createFindKey(objectFunc) {
+             return function(object, predicate, thisArg) {
+               predicate = getCallback(predicate, thisArg, 3);
+               return baseFind(object, predicate, objectFunc, true);
+             };
+           }
+
+           /**
+            * Creates a `_.flow` or `_.flowRight` function.
+            *
+            * @private
+            * @param {boolean} [fromRight] Specify iterating from right to left.
+            * @returns {Function} Returns the new flow function.
+            */
+           function createFlow(fromRight) {
+             return function() {
+               var wrapper,
+                   length = arguments.length,
+                   index = fromRight ? length : -1,
+                   leftIndex = 0,
+                   funcs = Array(length);
+
+               while ((fromRight ? index-- : ++index < length)) {
+                 var func = funcs[leftIndex++] = arguments[index];
+                 if (typeof func != 'function') {
+                   throw new TypeError(FUNC_ERROR_TEXT);
+                 }
+                 if (!wrapper && LodashWrapper.prototype.thru && getFuncName(func) == 'wrapper') {
+                   wrapper = new LodashWrapper([], true);
+                 }
+               }
+               index = wrapper ? -1 : length;
+               while (++index < length) {
+                 func = funcs[index];
+
+                 var funcName = getFuncName(func),
+                     data = funcName == 'wrapper' ? getData(func) : undefined;
+
+                 if (data && isLaziable(data[0]) && data[1] == (ARY_FLAG | CURRY_FLAG | PARTIAL_FLAG | REARG_FLAG) && !data[4].length && data[9] == 1) {
+                   wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);
+                 } else {
+                   wrapper = (func.length == 1 && isLaziable(func)) ? wrapper[funcName]() : wrapper.thru(func);
+                 }
+               }
+               return function() {
+                 var args = arguments,
+                     value = args[0];
+
+                 if (wrapper && args.length == 1 && isArray(value) && value.length >= LARGE_ARRAY_SIZE) {
+                   return wrapper.plant(value).value();
+                 }
+                 var index = 0,
+                     result = length ? funcs[index].apply(this, args) : value;
+
+                 while (++index < length) {
+                   result = funcs[index].call(this, result);
+                 }
+                 return result;
+               };
+             };
+           }
+
+           /**
+            * Creates a function for `_.forEach` or `_.forEachRight`.
+            *
+            * @private
+            * @param {Function} arrayFunc The function to iterate over an array.
+            * @param {Function} eachFunc The function to iterate over a collection.
+            * @returns {Function} Returns the new each function.
+            */
+           function createForEach(arrayFunc, eachFunc) {
+             return function(collection, iteratee, thisArg) {
+               return (typeof iteratee == 'function' && thisArg === undefined && isArray(collection))
+                 ? arrayFunc(collection, iteratee)
+                 : eachFunc(collection, bindCallback(iteratee, thisArg, 3));
+             };
+           }
+
+           /**
+            * Creates a function for `_.forIn` or `_.forInRight`.
+            *
+            * @private
+            * @param {Function} objectFunc The function to iterate over an object.
+            * @returns {Function} Returns the new each function.
+            */
+           function createForIn(objectFunc) {
+             return function(object, iteratee, thisArg) {
+               if (typeof iteratee != 'function' || thisArg !== undefined) {
+                 iteratee = bindCallback(iteratee, thisArg, 3);
+               }
+               return objectFunc(object, iteratee, keysIn);
+             };
+           }
+
+           /**
+            * Creates a function for `_.forOwn` or `_.forOwnRight`.
+            *
+            * @private
+            * @param {Function} objectFunc The function to iterate over an object.
+            * @returns {Function} Returns the new each function.
+            */
+           function createForOwn(objectFunc) {
+             return function(object, iteratee, thisArg) {
+               if (typeof iteratee != 'function' || thisArg !== undefined) {
+                 iteratee = bindCallback(iteratee, thisArg, 3);
+               }
+               return objectFunc(object, iteratee);
+             };
+           }
+
+           /**
+            * Creates a function for `_.mapKeys` or `_.mapValues`.
+            *
+            * @private
+            * @param {boolean} [isMapKeys] Specify mapping keys instead of values.
+            * @returns {Function} Returns the new map function.
+            */
+           function createObjectMapper(isMapKeys) {
+             return function(object, iteratee, thisArg) {
+               var result = {};
+               iteratee = getCallback(iteratee, thisArg, 3);
+
+               baseForOwn(object, function(value, key, object) {
+                 var mapped = iteratee(value, key, object);
+                 key = isMapKeys ? mapped : key;
+                 value = isMapKeys ? value : mapped;
+                 result[key] = value;
+               });
+               return result;
+             };
+           }
+
+           /**
+            * Creates a function for `_.padLeft` or `_.padRight`.
+            *
+            * @private
+            * @param {boolean} [fromRight] Specify padding from the right.
+            * @returns {Function} Returns the new pad function.
+            */
+           function createPadDir(fromRight) {
+             return function(string, length, chars) {
+               string = baseToString(string);
+               return (fromRight ? string : '') + createPadding(string, length, chars) + (fromRight ? '' : string);
+             };
+           }
+
+           /**
+            * Creates a `_.partial` or `_.partialRight` function.
+            *
+            * @private
+            * @param {boolean} flag The partial bit flag.
+            * @returns {Function} Returns the new partial function.
+            */
+           function createPartial(flag) {
+             var partialFunc = restParam(function(func, partials) {
+               var holders = replaceHolders(partials, partialFunc.placeholder);
+               return createWrapper(func, flag, undefined, partials, holders);
+             });
+             return partialFunc;
+           }
+
+           /**
+            * Creates a function for `_.reduce` or `_.reduceRight`.
+            *
+            * @private
+            * @param {Function} arrayFunc The function to iterate over an array.
+            * @param {Function} eachFunc The function to iterate over a collection.
+            * @returns {Function} Returns the new each function.
+            */
+           function createReduce(arrayFunc, eachFunc) {
+             return function(collection, iteratee, accumulator, thisArg) {
+               var initFromArray = arguments.length < 3;
+               return (typeof iteratee == 'function' && thisArg === undefined && isArray(collection))
+                 ? arrayFunc(collection, iteratee, accumulator, initFromArray)
+                 : baseReduce(collection, getCallback(iteratee, thisArg, 4), accumulator, initFromArray, eachFunc);
+             };
+           }
+
+           /**
+            * Creates a function that wraps `func` and invokes it with optional `this`
+            * binding of, partial application, and currying.
+            *
+            * @private
+            * @param {Function|string} func The function or method name to reference.
+            * @param {number} bitmask The bitmask of flags. See `createWrapper` for more details.
+            * @param {*} [thisArg] The `this` binding of `func`.
+            * @param {Array} [partials] The arguments to prepend to those provided to the new function.
+            * @param {Array} [holders] The `partials` placeholder indexes.
+            * @param {Array} [partialsRight] The arguments to append to those provided to the new function.
+            * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.
+            * @param {Array} [argPos] The argument positions of the new function.
+            * @param {number} [ary] The arity cap of `func`.
+            * @param {number} [arity] The arity of `func`.
+            * @returns {Function} Returns the new wrapped function.
+            */
+           function createHybridWrapper(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {
+             var isAry = bitmask & ARY_FLAG,
+                 isBind = bitmask & BIND_FLAG,
+                 isBindKey = bitmask & BIND_KEY_FLAG,
+                 isCurry = bitmask & CURRY_FLAG,
+                 isCurryBound = bitmask & CURRY_BOUND_FLAG,
+                 isCurryRight = bitmask & CURRY_RIGHT_FLAG,
+                 Ctor = isBindKey ? undefined : createCtorWrapper(func);
+
+             function wrapper() {
+               // Avoid `arguments` object use disqualifying optimizations by
+               // converting it to an array before providing it to other functions.
+               var length = arguments.length,
+                   index = length,
+                   args = Array(length);
+
+               while (index--) {
+                 args[index] = arguments[index];
+               }
+               if (partials) {
+                 args = composeArgs(args, partials, holders);
+               }
+               if (partialsRight) {
+                 args = composeArgsRight(args, partialsRight, holdersRight);
+               }
+               if (isCurry || isCurryRight) {
+                 var placeholder = wrapper.placeholder,
+                     argsHolders = replaceHolders(args, placeholder);
+
+                 length -= argsHolders.length;
+                 if (length < arity) {
+                   var newArgPos = argPos ? arrayCopy(argPos) : undefined,
+                       newArity = nativeMax(arity - length, 0),
+                       newsHolders = isCurry ? argsHolders : undefined,
+                       newHoldersRight = isCurry ? undefined : argsHolders,
+                       newPartials = isCurry ? args : undefined,
+                       newPartialsRight = isCurry ? undefined : args;
+
+                   bitmask |= (isCurry ? PARTIAL_FLAG : PARTIAL_RIGHT_FLAG);
+                   bitmask &= ~(isCurry ? PARTIAL_RIGHT_FLAG : PARTIAL_FLAG);
+
+                   if (!isCurryBound) {
+                     bitmask &= ~(BIND_FLAG | BIND_KEY_FLAG);
+                   }
+                   var newData = [func, bitmask, thisArg, newPartials, newsHolders, newPartialsRight, newHoldersRight, newArgPos, ary, newArity],
+                       result = createHybridWrapper.apply(undefined, newData);
+
+                   if (isLaziable(func)) {
+                     setData(result, newData);
+                   }
+                   result.placeholder = placeholder;
+                   return result;
+                 }
+               }
+               var thisBinding = isBind ? thisArg : this,
+                   fn = isBindKey ? thisBinding[func] : func;
+
+               if (argPos) {
+                 args = reorder(args, argPos);
+               }
+               if (isAry && ary < args.length) {
+                 args.length = ary;
+               }
+               if (this && this !== root && this instanceof wrapper) {
+                 fn = Ctor || createCtorWrapper(func);
+               }
+               return fn.apply(thisBinding, args);
+             }
+             return wrapper;
+           }
+
+           /**
+            * Creates the padding required for `string` based on the given `length`.
+            * The `chars` string is truncated if the number of characters exceeds `length`.
+            *
+            * @private
+            * @param {string} string The string to create padding for.
+            * @param {number} [length=0] The padding length.
+            * @param {string} [chars=' '] The string used as padding.
+            * @returns {string} Returns the pad for `string`.
+            */
+           function createPadding(string, length, chars) {
+             var strLength = string.length;
+             length = +length;
+
+             if (strLength >= length || !nativeIsFinite(length)) {
+               return '';
+             }
+             var padLength = length - strLength;
+             chars = chars == null ? ' ' : (chars + '');
+             return repeat(chars, nativeCeil(padLength / chars.length)).slice(0, padLength);
+           }
+
+           /**
+            * Creates a function that wraps `func` and invokes it with the optional `this`
+            * binding of `thisArg` and the `partials` prepended to those provided to
+            * the wrapper.
+            *
+            * @private
+            * @param {Function} func The function to partially apply arguments to.
+            * @param {number} bitmask The bitmask of flags. See `createWrapper` for more details.
+            * @param {*} thisArg The `this` binding of `func`.
+            * @param {Array} partials The arguments to prepend to those provided to the new function.
+            * @returns {Function} Returns the new bound function.
+            */
+           function createPartialWrapper(func, bitmask, thisArg, partials) {
+             var isBind = bitmask & BIND_FLAG,
+                 Ctor = createCtorWrapper(func);
+
+             function wrapper() {
+               // Avoid `arguments` object use disqualifying optimizations by
+               // converting it to an array before providing it `func`.
+               var argsIndex = -1,
+                   argsLength = arguments.length,
+                   leftIndex = -1,
+                   leftLength = partials.length,
+                   args = Array(leftLength + argsLength);
+
+               while (++leftIndex < leftLength) {
+                 args[leftIndex] = partials[leftIndex];
+               }
+               while (argsLength--) {
+                 args[leftIndex++] = arguments[++argsIndex];
+               }
+               var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
+               return fn.apply(isBind ? thisArg : this, args);
+             }
+             return wrapper;
+           }
+
+           /**
+            * Creates a `_.ceil`, `_.floor`, or `_.round` function.
+            *
+            * @private
+            * @param {string} methodName The name of the `Math` method to use when rounding.
+            * @returns {Function} Returns the new round function.
+            */
+           function createRound(methodName) {
+             var func = Math[methodName];
+             return function(number, precision) {
+               precision = precision === undefined ? 0 : (+precision || 0);
+               if (precision) {
+                 precision = pow(10, precision);
+                 return func(number * precision) / precision;
+               }
+               return func(number);
+             };
+           }
+
+           /**
+            * Creates a `_.sortedIndex` or `_.sortedLastIndex` function.
+            *
+            * @private
+            * @param {boolean} [retHighest] Specify returning the highest qualified index.
+            * @returns {Function} Returns the new index function.
+            */
+           function createSortedIndex(retHighest) {
+             return function(array, value, iteratee, thisArg) {
+               var callback = getCallback(iteratee);
+               return (iteratee == null && callback === baseCallback)
+                 ? binaryIndex(array, value, retHighest)
+                 : binaryIndexBy(array, value, callback(iteratee, thisArg, 1), retHighest);
+             };
+           }
+
+           /**
+            * Creates a function that either curries or invokes `func` with optional
+            * `this` binding and partially applied arguments.
+            *
+            * @private
+            * @param {Function|string} func The function or method name to reference.
+            * @param {number} bitmask The bitmask of flags.
+            *  The bitmask may be composed of the following flags:
+            *     1 - `_.bind`
+            *     2 - `_.bindKey`
+            *     4 - `_.curry` or `_.curryRight` of a bound function
+            *     8 - `_.curry`
+            *    16 - `_.curryRight`
+            *    32 - `_.partial`
+            *    64 - `_.partialRight`
+            *   128 - `_.rearg`
+            *   256 - `_.ary`
+            * @param {*} [thisArg] The `this` binding of `func`.
+            * @param {Array} [partials] The arguments to be partially applied.
+            * @param {Array} [holders] The `partials` placeholder indexes.
+            * @param {Array} [argPos] The argument positions of the new function.
+            * @param {number} [ary] The arity cap of `func`.
+            * @param {number} [arity] The arity of `func`.
+            * @returns {Function} Returns the new wrapped function.
+            */
+           function createWrapper(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {
+             var isBindKey = bitmask & BIND_KEY_FLAG;
+             if (!isBindKey && typeof func != 'function') {
+               throw new TypeError(FUNC_ERROR_TEXT);
+             }
+             var length = partials ? partials.length : 0;
+             if (!length) {
+               bitmask &= ~(PARTIAL_FLAG | PARTIAL_RIGHT_FLAG);
+               partials = holders = undefined;
+             }
+             length -= (holders ? holders.length : 0);
+             if (bitmask & PARTIAL_RIGHT_FLAG) {
+               var partialsRight = partials,
+                   holdersRight = holders;
+
+               partials = holders = undefined;
+             }
+             var data = isBindKey ? undefined : getData(func),
+                 newData = [func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity];
+
+             if (data) {
+               mergeData(newData, data);
+               bitmask = newData[1];
+               arity = newData[9];
+             }
+             newData[9] = arity == null
+               ? (isBindKey ? 0 : func.length)
+               : (nativeMax(arity - length, 0) || 0);
+
+             if (bitmask == BIND_FLAG) {
+               var result = createBindWrapper(newData[0], newData[2]);
+             } else if ((bitmask == PARTIAL_FLAG || bitmask == (BIND_FLAG | PARTIAL_FLAG)) && !newData[4].length) {
+               result = createPartialWrapper.apply(undefined, newData);
+             } else {
+               result = createHybridWrapper.apply(undefined, newData);
+             }
+             var setter = data ? baseSetData : setData;
+             return setter(result, newData);
+           }
+
+           /**
+            * A specialized version of `baseIsEqualDeep` for arrays with support for
+            * partial deep comparisons.
+            *
+            * @private
+            * @param {Array} array The array to compare.
+            * @param {Array} other The other array to compare.
+            * @param {Function} equalFunc The function to determine equivalents of values.
+            * @param {Function} [customizer] The function to customize comparing arrays.
+            * @param {boolean} [isLoose] Specify performing partial comparisons.
+            * @param {Array} [stackA] Tracks traversed `value` objects.
+            * @param {Array} [stackB] Tracks traversed `other` objects.
+            * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
+            */
+           function equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {
+             var index = -1,
+                 arrLength = array.length,
+                 othLength = other.length;
+
+             if (arrLength != othLength && !(isLoose && othLength > arrLength)) {
+               return false;
+             }
+             // Ignore non-index properties.
+             while (++index < arrLength) {
+               var arrValue = array[index],
+                   othValue = other[index],
+                   result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;
+
+               if (result !== undefined) {
+                 if (result) {
+                   continue;
+                 }
+                 return false;
+               }
+               // Recursively compare arrays (susceptible to call stack limits).
+               if (isLoose) {
+                 if (!arraySome(other, function(othValue) {
+                       return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);
+                     })) {
+                   return false;
+                 }
+               } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {
+                 return false;
+               }
+             }
+             return true;
+           }
+
+           /**
+            * A specialized version of `baseIsEqualDeep` for comparing objects of
+            * the same `toStringTag`.
+            *
+            * **Note:** This function only supports comparing values with tags of
+            * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
+            *
+            * @private
+            * @param {Object} object The object to compare.
+            * @param {Object} other The other object to compare.
+            * @param {string} tag The `toStringTag` of the objects to compare.
+            * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
+            */
+           function equalByTag(object, other, tag) {
+             switch (tag) {
+               case boolTag:
+               case dateTag:
+                 // Coerce dates and booleans to numbers, dates to milliseconds and booleans
+                 // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.
+                 return +object == +other;
+
+               case errorTag:
+                 return object.name == other.name && object.message == other.message;
+
+               case numberTag:
+                 // Treat `NaN` vs. `NaN` as equal.
+                 return (object != +object)
+                   ? other != +other
+                   : object == +other;
+
+               case regexpTag:
+               case stringTag:
+                 // Coerce regexes to strings and treat strings primitives and string
+                 // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.
+                 return object == (other + '');
+             }
+             return false;
+           }
+
+           /**
+            * A specialized version of `baseIsEqualDeep` for objects with support for
+            * partial deep comparisons.
+            *
+            * @private
+            * @param {Object} object The object to compare.
+            * @param {Object} other The other object to compare.
+            * @param {Function} equalFunc The function to determine equivalents of values.
+            * @param {Function} [customizer] The function to customize comparing values.
+            * @param {boolean} [isLoose] Specify performing partial comparisons.
+            * @param {Array} [stackA] Tracks traversed `value` objects.
+            * @param {Array} [stackB] Tracks traversed `other` objects.
+            * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
+            */
+           function equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {
+             var objProps = keys(object),
+                 objLength = objProps.length,
+                 othProps = keys(other),
+                 othLength = othProps.length;
+
+             if (objLength != othLength && !isLoose) {
+               return false;
+             }
+             var index = objLength;
+             while (index--) {
+               var key = objProps[index];
+               if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {
+                 return false;
+               }
+             }
+             var skipCtor = isLoose;
+             while (++index < objLength) {
+               key = objProps[index];
+               var objValue = object[key],
+                   othValue = other[key],
+                   result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;
+
+               // Recursively compare objects (susceptible to call stack limits).
+               if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {
+                 return false;
+               }
+               skipCtor || (skipCtor = key == 'constructor');
+             }
+             if (!skipCtor) {
+               var objCtor = object.constructor,
+                   othCtor = other.constructor;
+
+               // Non `Object` object instances with different constructors are not equal.
+               if (objCtor != othCtor &&
+                   ('constructor' in object && 'constructor' in other) &&
+                   !(typeof objCtor == 'function' && objCtor instanceof objCtor &&
+                     typeof othCtor == 'function' && othCtor instanceof othCtor)) {
+                 return false;
+               }
+             }
+             return true;
+           }
+
+           /**
+            * Gets the appropriate "callback" function. If the `_.callback` method is
+            * customized this function returns the custom method, otherwise it returns
+            * the `baseCallback` function. If arguments are provided the chosen function
+            * is invoked with them and its result is returned.
+            *
+            * @private
+            * @returns {Function} Returns the chosen function or its result.
+            */
+           function getCallback(func, thisArg, argCount) {
+             var result = lodash.callback || callback;
+             result = result === callback ? baseCallback : result;
+             return argCount ? result(func, thisArg, argCount) : result;
+           }
+
+           /**
+            * Gets metadata for `func`.
+            *
+            * @private
+            * @param {Function} func The function to query.
+            * @returns {*} Returns the metadata for `func`.
+            */
+           var getData = !metaMap ? noop : function(func) {
+             return metaMap.get(func);
+           };
+
+           /**
+            * Gets the name of `func`.
+            *
+            * @private
+            * @param {Function} func The function to query.
+            * @returns {string} Returns the function name.
+            */
+           function getFuncName(func) {
+             var result = func.name,
+                 array = realNames[result],
+                 length = array ? array.length : 0;
+
+             while (length--) {
+               var data = array[length],
+                   otherFunc = data.func;
+               if (otherFunc == null || otherFunc == func) {
+                 return data.name;
+               }
+             }
+             return result;
+           }
+
+           /**
+            * Gets the appropriate "indexOf" function. If the `_.indexOf` method is
+            * customized this function returns the custom method, otherwise it returns
+            * the `baseIndexOf` function. If arguments are provided the chosen function
+            * is invoked with them and its result is returned.
+            *
+            * @private
+            * @returns {Function|number} Returns the chosen function or its result.
+            */
+           function getIndexOf(collection, target, fromIndex) {
+             var result = lodash.indexOf || indexOf;
+             result = result === indexOf ? baseIndexOf : result;
+             return collection ? result(collection, target, fromIndex) : result;
+           }
+
+           /**
+            * Gets the "length" property value of `object`.
+            *
+            * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)
+            * that affects Safari on at least iOS 8.1-8.3 ARM64.
+            *
+            * @private
+            * @param {Object} object The object to query.
+            * @returns {*} Returns the "length" value.
+            */
+           var getLength = baseProperty('length');
+
+           /**
+            * Gets the propery names, values, and compare flags of `object`.
+            *
+            * @private
+            * @param {Object} object The object to query.
+            * @returns {Array} Returns the match data of `object`.
+            */
+           function getMatchData(object) {
+             var result = pairs(object),
+                 length = result.length;
+
+             while (length--) {
+               result[length][2] = isStrictComparable(result[length][1]);
+             }
+             return result;
+           }
+
+           /**
+            * Gets the native function at `key` of `object`.
+            *
+            * @private
+            * @param {Object} object The object to query.
+            * @param {string} key The key of the method to get.
+            * @returns {*} Returns the function if it's native, else `undefined`.
+            */
+           function getNative(object, key) {
+             var value = object == null ? undefined : object[key];
+             return isNative(value) ? value : undefined;
+           }
+
+           /**
+            * Gets the view, applying any `transforms` to the `start` and `end` positions.
+            *
+            * @private
+            * @param {number} start The start of the view.
+            * @param {number} end The end of the view.
+            * @param {Array} transforms The transformations to apply to the view.
+            * @returns {Object} Returns an object containing the `start` and `end`
+            *  positions of the view.
+            */
+           function getView(start, end, transforms) {
+             var index = -1,
+                 length = transforms.length;
+
+             while (++index < length) {
+               var data = transforms[index],
+                   size = data.size;
+
+               switch (data.type) {
+                 case 'drop':      start += size; break;
+                 case 'dropRight': end -= size; break;
+                 case 'take':      end = nativeMin(end, start + size); break;
+                 case 'takeRight': start = nativeMax(start, end - size); break;
+               }
+             }
+             return { 'start': start, 'end': end };
+           }
+
+           /**
+            * Initializes an array clone.
+            *
+            * @private
+            * @param {Array} array The array to clone.
+            * @returns {Array} Returns the initialized clone.
+            */
+           function initCloneArray(array) {
+             var length = array.length,
+                 result = new array.constructor(length);
+
+             // Add array properties assigned by `RegExp#exec`.
+             if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {
+               result.index = array.index;
+               result.input = array.input;
+             }
+             return result;
+           }
+
+           /**
+            * Initializes an object clone.
+            *
+            * @private
+            * @param {Object} object The object to clone.
+            * @returns {Object} Returns the initialized clone.
+            */
+           function initCloneObject(object) {
+             var Ctor = object.constructor;
+             if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {
+               Ctor = Object;
+             }
+             return new Ctor;
+           }
+
+           /**
+            * Initializes an object clone based on its `toStringTag`.
+            *
+            * **Note:** This function only supports cloning values with tags of
+            * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
+            *
+            * @private
+            * @param {Object} object The object to clone.
+            * @param {string} tag The `toStringTag` of the object to clone.
+            * @param {boolean} [isDeep] Specify a deep clone.
+            * @returns {Object} Returns the initialized clone.
+            */
+           function initCloneByTag(object, tag, isDeep) {
+             var Ctor = object.constructor;
+             switch (tag) {
+               case arrayBufferTag:
+                 return bufferClone(object);
+
+               case boolTag:
+               case dateTag:
+                 return new Ctor(+object);
+
+               case float32Tag: case float64Tag:
+               case int8Tag: case int16Tag: case int32Tag:
+               case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:
+                 var buffer = object.buffer;
+                 return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);
+
+               case numberTag:
+               case stringTag:
+                 return new Ctor(object);
+
+               case regexpTag:
+                 var result = new Ctor(object.source, reFlags.exec(object));
+                 result.lastIndex = object.lastIndex;
+             }
+             return result;
+           }
+
+           /**
+            * Invokes the method at `path` on `object`.
+            *
+            * @private
+            * @param {Object} object The object to query.
+            * @param {Array|string} path The path of the method to invoke.
+            * @param {Array} args The arguments to invoke the method with.
+            * @returns {*} Returns the result of the invoked method.
+            */
+           function invokePath(object, path, args) {
+             if (object != null && !isKey(path, object)) {
+               path = toPath(path);
+               object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1));
+               path = last(path);
+             }
+             var func = object == null ? object : object[path];
+             return func == null ? undefined : func.apply(object, args);
+           }
+
+           /**
+            * Checks if `value` is array-like.
+            *
+            * @private
+            * @param {*} value The value to check.
+            * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
+            */
+           function isArrayLike(value) {
+             return value != null && isLength(getLength(value));
+           }
+
+           /**
+            * Checks if `value` is a valid array-like index.
+            *
+            * @private
+            * @param {*} value The value to check.
+            * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
+            * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
+            */
+           function isIndex(value, length) {
+             value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;
+             length = length == null ? MAX_SAFE_INTEGER : length;
+             return value > -1 && value % 1 == 0 && value < length;
+           }
+
+           /**
+            * Checks if the provided arguments are from an iteratee call.
+            *
+            * @private
+            * @param {*} value The potential iteratee value argument.
+            * @param {*} index The potential iteratee index or key argument.
+            * @param {*} object The potential iteratee object argument.
+            * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.
+            */
+           function isIterateeCall(value, index, object) {
+             if (!isObject(object)) {
+               return false;
+             }
+             var type = typeof index;
+             if (type == 'number'
+                 ? (isArrayLike(object) && isIndex(index, object.length))
+                 : (type == 'string' && index in object)) {
+               var other = object[index];
+               return value === value ? (value === other) : (other !== other);
+             }
+             return false;
+           }
+
+           /**
+            * Checks if `value` is a property name and not a property path.
+            *
+            * @private
+            * @param {*} value The value to check.
+            * @param {Object} [object] The object to query keys on.
+            * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
+            */
+           function isKey(value, object) {
+             var type = typeof value;
+             if ((type == 'string' && reIsPlainProp.test(value)) || type == 'number') {
+               return true;
+             }
+             if (isArray(value)) {
+               return false;
+             }
+             var result = !reIsDeepProp.test(value);
+             return result || (object != null && value in toObject(object));
+           }
+
+           /**
+            * Checks if `func` has a lazy counterpart.
+            *
+            * @private
+            * @param {Function} func The function to check.
+            * @returns {boolean} Returns `true` if `func` has a lazy counterpart, else `false`.
+            */
+           function isLaziable(func) {
+             var funcName = getFuncName(func);
+             if (!(funcName in LazyWrapper.prototype)) {
+               return false;
+             }
+             var other = lodash[funcName];
+             if (func === other) {
+               return true;
+             }
+             var data = getData(other);
+             return !!data && func === data[0];
+           }
+
+           /**
+            * Checks if `value` is a valid array-like length.
+            *
+            * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).
+            *
+            * @private
+            * @param {*} value The value to check.
+            * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
+            */
+           function isLength(value) {
+             return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
+           }
+
+           /**
+            * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
+            *
+            * @private
+            * @param {*} value The value to check.
+            * @returns {boolean} Returns `true` if `value` if suitable for strict
+            *  equality comparisons, else `false`.
+            */
+           function isStrictComparable(value) {
+             return value === value && !isObject(value);
+           }
+
+           /**
+            * Merges the function metadata of `source` into `data`.
+            *
+            * Merging metadata reduces the number of wrappers required to invoke a function.
+            * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`
+            * may be applied regardless of execution order. Methods like `_.ary` and `_.rearg`
+            * augment function arguments, making the order in which they are executed important,
+            * preventing the merging of metadata. However, we make an exception for a safe
+            * common case where curried functions have `_.ary` and or `_.rearg` applied.
+            *
+            * @private
+            * @param {Array} data The destination metadata.
+            * @param {Array} source The source metadata.
+            * @returns {Array} Returns `data`.
+            */
+           function mergeData(data, source) {
+             var bitmask = data[1],
+                 srcBitmask = source[1],
+                 newBitmask = bitmask | srcBitmask,
+                 isCommon = newBitmask < ARY_FLAG;
+
+             var isCombo =
+               (srcBitmask == ARY_FLAG && bitmask == CURRY_FLAG) ||
+               (srcBitmask == ARY_FLAG && bitmask == REARG_FLAG && data[7].length <= source[8]) ||
+               (srcBitmask == (ARY_FLAG | REARG_FLAG) && bitmask == CURRY_FLAG);
+
+             // Exit early if metadata can't be merged.
+             if (!(isCommon || isCombo)) {
+               return data;
+             }
+             // Use source `thisArg` if available.
+             if (srcBitmask & BIND_FLAG) {
+               data[2] = source[2];
+               // Set when currying a bound function.
+               newBitmask |= (bitmask & BIND_FLAG) ? 0 : CURRY_BOUND_FLAG;
+             }
+             // Compose partial arguments.
+             var value = source[3];
+             if (value) {
+               var partials = data[3];
+               data[3] = partials ? composeArgs(partials, value, source[4]) : arrayCopy(value);
+               data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : arrayCopy(source[4]);
+             }
+             // Compose partial right arguments.
+             value = source[5];
+             if (value) {
+               partials = data[5];
+               data[5] = partials ? composeArgsRight(partials, value, source[6]) : arrayCopy(value);
+               data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : arrayCopy(source[6]);
+             }
+             // Use source `argPos` if available.
+             value = source[7];
+             if (value) {
+               data[7] = arrayCopy(value);
+             }
+             // Use source `ary` if it's smaller.
+             if (srcBitmask & ARY_FLAG) {
+               data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);
+             }
+             // Use source `arity` if one is not provided.
+             if (data[9] == null) {
+               data[9] = source[9];
+             }
+             // Use source `func` and merge bitmasks.
+             data[0] = source[0];
+             data[1] = newBitmask;
+
+             return data;
+           }
+
+           /**
+            * Used by `_.defaultsDeep` to customize its `_.merge` use.
+            *
+            * @private
+            * @param {*} objectValue The destination object property value.
+            * @param {*} sourceValue The source object property value.
+            * @returns {*} Returns the value to assign to the destination object.
+            */
+           function mergeDefaults(objectValue, sourceValue) {
+             return objectValue === undefined ? sourceValue : merge(objectValue, sourceValue, mergeDefaults);
+           }
+
+           /**
+            * A specialized version of `_.pick` which picks `object` properties specified
+            * by `props`.
+            *
+            * @private
+            * @param {Object} object The source object.
+            * @param {string[]} props The property names to pick.
+            * @returns {Object} Returns the new object.
+            */
+           function pickByArray(object, props) {
+             object = toObject(object);
+
+             var index = -1,
+                 length = props.length,
+                 result = {};
+
+             while (++index < length) {
+               var key = props[index];
+               if (key in object) {
+                 result[key] = object[key];
+               }
+             }
+             return result;
+           }
+
+           /**
+            * A specialized version of `_.pick` which picks `object` properties `predicate`
+            * returns truthy for.
+            *
+            * @private
+            * @param {Object} object The source object.
+            * @param {Function} predicate The function invoked per iteration.
+            * @returns {Object} Returns the new object.
+            */
+           function pickByCallback(object, predicate) {
+             var result = {};
+             baseForIn(object, function(value, key, object) {
+               if (predicate(value, key, object)) {
+                 result[key] = value;
+               }
+             });
+             return result;
+           }
+
+           /**
+            * Reorder `array` according to the specified indexes where the element at
+            * the first index is assigned as the first element, the element at
+            * the second index is assigned as the second element, and so on.
+            *
+            * @private
+            * @param {Array} array The array to reorder.
+            * @param {Array} indexes The arranged array indexes.
+            * @returns {Array} Returns `array`.
+            */
+           function reorder(array, indexes) {
+             var arrLength = array.length,
+                 length = nativeMin(indexes.length, arrLength),
+                 oldArray = arrayCopy(array);
+
+             while (length--) {
+               var index = indexes[length];
+               array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;
+             }
+             return array;
+           }
+
+           /**
+            * Sets metadata for `func`.
+            *
+            * **Note:** If this function becomes hot, i.e. is invoked a lot in a short
+            * period of time, it will trip its breaker and transition to an identity function
+            * to avoid garbage collection pauses in V8. See [V8 issue 2070](https://code.google.com/p/v8/issues/detail?id=2070)
+            * for more details.
+            *
+            * @private
+            * @param {Function} func The function to associate metadata with.
+            * @param {*} data The metadata.
+            * @returns {Function} Returns `func`.
+            */
+           var setData = (function() {
+             var count = 0,
+                 lastCalled = 0;
+
+             return function(key, value) {
+               var stamp = now(),
+                   remaining = HOT_SPAN - (stamp - lastCalled);
+
+               lastCalled = stamp;
+               if (remaining > 0) {
+                 if (++count >= HOT_COUNT) {
+                   return key;
+                 }
+               } else {
+                 count = 0;
+               }
+               return baseSetData(key, value);
+             };
+           }());
+
+           /**
+            * A fallback implementation of `Object.keys` which creates an array of the
+            * own enumerable property names of `object`.
+            *
+            * @private
+            * @param {Object} object The object to query.
+            * @returns {Array} Returns the array of property names.
+            */
+           function shimKeys(object) {
+             var props = keysIn(object),
+                 propsLength = props.length,
+                 length = propsLength && object.length;
+
+             var allowIndexes = !!length && isLength(length) &&
+               (isArray(object) || isArguments(object));
+
+             var index = -1,
+                 result = [];
+
+             while (++index < propsLength) {
+               var key = props[index];
+               if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {
+                 result.push(key);
+               }
+             }
+             return result;
+           }
+
+           /**
+            * Converts `value` to an array-like object if it's not one.
+            *
+            * @private
+            * @param {*} value The value to process.
+            * @returns {Array|Object} Returns the array-like object.
+            */
+           function toIterable(value) {
+             if (value == null) {
+               return [];
+             }
+             if (!isArrayLike(value)) {
+               return values(value);
+             }
+             return isObject(value) ? value : Object(value);
+           }
+
+           /**
+            * Converts `value` to an object if it's not one.
+            *
+            * @private
+            * @param {*} value The value to process.
+            * @returns {Object} Returns the object.
+            */
+           function toObject(value) {
+             return isObject(value) ? value : Object(value);
+           }
+
+           /**
+            * Converts `value` to property path array if it's not one.
+            *
+            * @private
+            * @param {*} value The value to process.
+            * @returns {Array} Returns the property path array.
+            */
+           function toPath(value) {
+             if (isArray(value)) {
+               return value;
+             }
+             var result = [];
+             baseToString(value).replace(rePropName, function(match, number, quote, string) {
+               result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));
+             });
+             return result;
+           }
+
+           /**
+            * Creates a clone of `wrapper`.
+            *
+            * @private
+            * @param {Object} wrapper The wrapper to clone.
+            * @returns {Object} Returns the cloned wrapper.
+            */
+           function wrapperClone(wrapper) {
+             return wrapper instanceof LazyWrapper
+               ? wrapper.clone()
+               : new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__, arrayCopy(wrapper.__actions__));
+           }
+
+           /*------------------------------------------------------------------------*/
+
+           /**
+            * Creates an array of elements split into groups the length of `size`.
+            * If `collection` can't be split evenly, the final chunk will be the remaining
+            * elements.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The array to process.
+            * @param {number} [size=1] The length of each chunk.
+            * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+            * @returns {Array} Returns the new array containing chunks.
+            * @example
+            *
+            * _.chunk(['a', 'b', 'c', 'd'], 2);
+            * // => [['a', 'b'], ['c', 'd']]
+            *
+            * _.chunk(['a', 'b', 'c', 'd'], 3);
+            * // => [['a', 'b', 'c'], ['d']]
+            */
+           function chunk(array, size, guard) {
+             if (guard ? isIterateeCall(array, size, guard) : size == null) {
+               size = 1;
+             } else {
+               size = nativeMax(nativeFloor(size) || 1, 1);
+             }
+             var index = 0,
+                 length = array ? array.length : 0,
+                 resIndex = -1,
+                 result = Array(nativeCeil(length / size));
+
+             while (index < length) {
+               result[++resIndex] = baseSlice(array, index, (index += size));
+             }
+             return result;
+           }
+
+           /**
+            * Creates an array with all falsey values removed. The values `false`, `null`,
+            * `0`, `""`, `undefined`, and `NaN` are falsey.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The array to compact.
+            * @returns {Array} Returns the new array of filtered values.
+            * @example
+            *
+            * _.compact([0, 1, false, 2, '', 3]);
+            * // => [1, 2, 3]
+            */
+           function compact(array) {
+             var index = -1,
+                 length = array ? array.length : 0,
+                 resIndex = -1,
+                 result = [];
+
+             while (++index < length) {
+               var value = array[index];
+               if (value) {
+                 result[++resIndex] = value;
+               }
+             }
+             return result;
+           }
+
+           /**
+            * Creates an array of unique `array` values not included in the other
+            * provided arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+            * for equality comparisons.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The array to inspect.
+            * @param {...Array} [values] The arrays of values to exclude.
+            * @returns {Array} Returns the new array of filtered values.
+            * @example
+            *
+            * _.difference([1, 2, 3], [4, 2]);
+            * // => [1, 3]
+            */
+           var difference = restParam(function(array, values) {
+             return (isObjectLike(array) && isArrayLike(array))
+               ? baseDifference(array, baseFlatten(values, false, true))
+               : [];
+           });
+
+           /**
+            * Creates a slice of `array` with `n` elements dropped from the beginning.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The array to query.
+            * @param {number} [n=1] The number of elements to drop.
+            * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+            * @returns {Array} Returns the slice of `array`.
+            * @example
+            *
+            * _.drop([1, 2, 3]);
+            * // => [2, 3]
+            *
+            * _.drop([1, 2, 3], 2);
+            * // => [3]
+            *
+            * _.drop([1, 2, 3], 5);
+            * // => []
+            *
+            * _.drop([1, 2, 3], 0);
+            * // => [1, 2, 3]
+            */
+           function drop(array, n, guard) {
+             var length = array ? array.length : 0;
+             if (!length) {
+               return [];
+             }
+             if (guard ? isIterateeCall(array, n, guard) : n == null) {
+               n = 1;
+             }
+             return baseSlice(array, n < 0 ? 0 : n);
+           }
+
+           /**
+            * Creates a slice of `array` with `n` elements dropped from the end.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The array to query.
+            * @param {number} [n=1] The number of elements to drop.
+            * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+            * @returns {Array} Returns the slice of `array`.
+            * @example
+            *
+            * _.dropRight([1, 2, 3]);
+            * // => [1, 2]
+            *
+            * _.dropRight([1, 2, 3], 2);
+            * // => [1]
+            *
+            * _.dropRight([1, 2, 3], 5);
+            * // => []
+            *
+            * _.dropRight([1, 2, 3], 0);
+            * // => [1, 2, 3]
+            */
+           function dropRight(array, n, guard) {
+             var length = array ? array.length : 0;
+             if (!length) {
+               return [];
+             }
+             if (guard ? isIterateeCall(array, n, guard) : n == null) {
+               n = 1;
+             }
+             n = length - (+n || 0);
+             return baseSlice(array, 0, n < 0 ? 0 : n);
+           }
+
+           /**
+            * Creates a slice of `array` excluding elements dropped from the end.
+            * Elements are dropped until `predicate` returns falsey. The predicate is
+            * bound to `thisArg` and invoked with three arguments: (value, index, array).
+            *
+            * If a property name is provided for `predicate` the created `_.property`
+            * style callback returns the property value of the given element.
+            *
+            * If a value is also provided for `thisArg` the created `_.matchesProperty`
+            * style callback returns `true` for elements that have a matching property
+            * value, else `false`.
+            *
+            * If an object is provided for `predicate` the created `_.matches` style
+            * callback returns `true` for elements that match the properties of the given
+            * object, else `false`.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The array to query.
+            * @param {Function|Object|string} [predicate=_.identity] The function invoked
+            *  per iteration.
+            * @param {*} [thisArg] The `this` binding of `predicate`.
+            * @returns {Array} Returns the slice of `array`.
+            * @example
+            *
+            * _.dropRightWhile([1, 2, 3], function(n) {
+            *   return n > 1;
+            * });
+            * // => [1]
+            *
+            * var users = [
+            *   { 'user': 'barney',  'active': true },
+            *   { 'user': 'fred',    'active': false },
+            *   { 'user': 'pebbles', 'active': false }
+            * ];
+            *
+            * // using the `_.matches` callback shorthand
+            * _.pluck(_.dropRightWhile(users, { 'user': 'pebbles', 'active': false }), 'user');
+            * // => ['barney', 'fred']
+            *
+            * // using the `_.matchesProperty` callback shorthand
+            * _.pluck(_.dropRightWhile(users, 'active', false), 'user');
+            * // => ['barney']
+            *
+            * // using the `_.property` callback shorthand
+            * _.pluck(_.dropRightWhile(users, 'active'), 'user');
+            * // => ['barney', 'fred', 'pebbles']
+            */
+           function dropRightWhile(array, predicate, thisArg) {
+             return (array && array.length)
+               ? baseWhile(array, getCallback(predicate, thisArg, 3), true, true)
+               : [];
+           }
+
+           /**
+            * Creates a slice of `array` excluding elements dropped from the beginning.
+            * Elements are dropped until `predicate` returns falsey. The predicate is
+            * bound to `thisArg` and invoked with three arguments: (value, index, array).
+            *
+            * If a property name is provided for `predicate` the created `_.property`
+            * style callback returns the property value of the given element.
+            *
+            * If a value is also provided for `thisArg` the created `_.matchesProperty`
+            * style callback returns `true` for elements that have a matching property
+            * value, else `false`.
+            *
+            * If an object is provided for `predicate` the created `_.matches` style
+            * callback returns `true` for elements that have the properties of the given
+            * object, else `false`.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The array to query.
+            * @param {Function|Object|string} [predicate=_.identity] The function invoked
+            *  per iteration.
+            * @param {*} [thisArg] The `this` binding of `predicate`.
+            * @returns {Array} Returns the slice of `array`.
+            * @example
+            *
+            * _.dropWhile([1, 2, 3], function(n) {
+            *   return n < 3;
+            * });
+            * // => [3]
+            *
+            * var users = [
+            *   { 'user': 'barney',  'active': false },
+            *   { 'user': 'fred',    'active': false },
+            *   { 'user': 'pebbles', 'active': true }
+            * ];
+            *
+            * // using the `_.matches` callback shorthand
+            * _.pluck(_.dropWhile(users, { 'user': 'barney', 'active': false }), 'user');
+            * // => ['fred', 'pebbles']
+            *
+            * // using the `_.matchesProperty` callback shorthand
+            * _.pluck(_.dropWhile(users, 'active', false), 'user');
+            * // => ['pebbles']
+            *
+            * // using the `_.property` callback shorthand
+            * _.pluck(_.dropWhile(users, 'active'), 'user');
+            * // => ['barney', 'fred', 'pebbles']
+            */
+           function dropWhile(array, predicate, thisArg) {
+             return (array && array.length)
+               ? baseWhile(array, getCallback(predicate, thisArg, 3), true)
+               : [];
+           }
+
+           /**
+            * Fills elements of `array` with `value` from `start` up to, but not
+            * including, `end`.
+            *
+            * **Note:** This method mutates `array`.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The array to fill.
+            * @param {*} value The value to fill `array` with.
+            * @param {number} [start=0] The start position.
+            * @param {number} [end=array.length] The end position.
+            * @returns {Array} Returns `array`.
+            * @example
+            *
+            * var array = [1, 2, 3];
+            *
+            * _.fill(array, 'a');
+            * console.log(array);
+            * // => ['a', 'a', 'a']
+            *
+            * _.fill(Array(3), 2);
+            * // => [2, 2, 2]
+            *
+            * _.fill([4, 6, 8], '*', 1, 2);
+            * // => [4, '*', 8]
+            */
+           function fill(array, value, start, end) {
+             var length = array ? array.length : 0;
+             if (!length) {
+               return [];
+             }
+             if (start && typeof start != 'number' && isIterateeCall(array, value, start)) {
+               start = 0;
+               end = length;
+             }
+             return baseFill(array, value, start, end);
+           }
+
+           /**
+            * This method is like `_.find` except that it returns the index of the first
+            * element `predicate` returns truthy for instead of the element itself.
+            *
+            * If a property name is provided for `predicate` the created `_.property`
+            * style callback returns the property value of the given element.
+            *
+            * If a value is also provided for `thisArg` the created `_.matchesProperty`
+            * style callback returns `true` for elements that have a matching property
+            * value, else `false`.
+            *
+            * If an object is provided for `predicate` the created `_.matches` style
+            * callback returns `true` for elements that have the properties of the given
+            * object, else `false`.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The array to search.
+            * @param {Function|Object|string} [predicate=_.identity] The function invoked
+            *  per iteration.
+            * @param {*} [thisArg] The `this` binding of `predicate`.
+            * @returns {number} Returns the index of the found element, else `-1`.
+            * @example
+            *
+            * var users = [
+            *   { 'user': 'barney',  'active': false },
+            *   { 'user': 'fred',    'active': false },
+            *   { 'user': 'pebbles', 'active': true }
+            * ];
+            *
+            * _.findIndex(users, function(chr) {
+            *   return chr.user == 'barney';
+            * });
+            * // => 0
+            *
+            * // using the `_.matches` callback shorthand
+            * _.findIndex(users, { 'user': 'fred', 'active': false });
+            * // => 1
+            *
+            * // using the `_.matchesProperty` callback shorthand
+            * _.findIndex(users, 'active', false);
+            * // => 0
+            *
+            * // using the `_.property` callback shorthand
+            * _.findIndex(users, 'active');
+            * // => 2
+            */
+           var findIndex = createFindIndex();
+
+           /**
+            * This method is like `_.findIndex` except that it iterates over elements
+            * of `collection` from right to left.
+            *
+            * If a property name is provided for `predicate` the created `_.property`
+            * style callback returns the property value of the given element.
+            *
+            * If a value is also provided for `thisArg` the created `_.matchesProperty`
+            * style callback returns `true` for elements that have a matching property
+            * value, else `false`.
+            *
+            * If an object is provided for `predicate` the created `_.matches` style
+            * callback returns `true` for elements that have the properties of the given
+            * object, else `false`.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The array to search.
+            * @param {Function|Object|string} [predicate=_.identity] The function invoked
+            *  per iteration.
+            * @param {*} [thisArg] The `this` binding of `predicate`.
+            * @returns {number} Returns the index of the found element, else `-1`.
+            * @example
+            *
+            * var users = [
+            *   { 'user': 'barney',  'active': true },
+            *   { 'user': 'fred',    'active': false },
+            *   { 'user': 'pebbles', 'active': false }
+            * ];
+            *
+            * _.findLastIndex(users, function(chr) {
+            *   return chr.user == 'pebbles';
+            * });
+            * // => 2
+            *
+            * // using the `_.matches` callback shorthand
+            * _.findLastIndex(users, { 'user': 'barney', 'active': true });
+            * // => 0
+            *
+            * // using the `_.matchesProperty` callback shorthand
+            * _.findLastIndex(users, 'active', false);
+            * // => 2
+            *
+            * // using the `_.property` callback shorthand
+            * _.findLastIndex(users, 'active');
+            * // => 0
+            */
+           var findLastIndex = createFindIndex(true);
+
+           /**
+            * Gets the first element of `array`.
+            *
+            * @static
+            * @memberOf _
+            * @alias head
+            * @category Array
+            * @param {Array} array The array to query.
+            * @returns {*} Returns the first element of `array`.
+            * @example
+            *
+            * _.first([1, 2, 3]);
+            * // => 1
+            *
+            * _.first([]);
+            * // => undefined
+            */
+           function first(array) {
+             return array ? array[0] : undefined;
+           }
+
+           /**
+            * Flattens a nested array. If `isDeep` is `true` the array is recursively
+            * flattened, otherwise it is only flattened a single level.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The array to flatten.
+            * @param {boolean} [isDeep] Specify a deep flatten.
+            * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+            * @returns {Array} Returns the new flattened array.
+            * @example
+            *
+            * _.flatten([1, [2, 3, [4]]]);
+            * // => [1, 2, 3, [4]]
+            *
+            * // using `isDeep`
+            * _.flatten([1, [2, 3, [4]]], true);
+            * // => [1, 2, 3, 4]
+            */
+           function flatten(array, isDeep, guard) {
+             var length = array ? array.length : 0;
+             if (guard && isIterateeCall(array, isDeep, guard)) {
+               isDeep = false;
+             }
+             return length ? baseFlatten(array, isDeep) : [];
+           }
+
+           /**
+            * Recursively flattens a nested array.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The array to recursively flatten.
+            * @returns {Array} Returns the new flattened array.
+            * @example
+            *
+            * _.flattenDeep([1, [2, 3, [4]]]);
+            * // => [1, 2, 3, 4]
+            */
+           function flattenDeep(array) {
+             var length = array ? array.length : 0;
+             return length ? baseFlatten(array, true) : [];
+           }
+
+           /**
+            * Gets the index at which the first occurrence of `value` is found in `array`
+            * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+            * for equality comparisons. If `fromIndex` is negative, it is used as the offset
+            * from the end of `array`. If `array` is sorted providing `true` for `fromIndex`
+            * performs a faster binary search.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The array to search.
+            * @param {*} value The value to search for.
+            * @param {boolean|number} [fromIndex=0] The index to search from or `true`
+            *  to perform a binary search on a sorted array.
+            * @returns {number} Returns the index of the matched value, else `-1`.
+            * @example
+            *
+            * _.indexOf([1, 2, 1, 2], 2);
+            * // => 1
+            *
+            * // using `fromIndex`
+            * _.indexOf([1, 2, 1, 2], 2, 2);
+            * // => 3
+            *
+            * // performing a binary search
+            * _.indexOf([1, 1, 2, 2], 2, true);
+            * // => 2
+            */
+           function indexOf(array, value, fromIndex) {
+             var length = array ? array.length : 0;
+             if (!length) {
+               return -1;
+             }
+             if (typeof fromIndex == 'number') {
+               fromIndex = fromIndex < 0 ? nativeMax(length + fromIndex, 0) : fromIndex;
+             } else if (fromIndex) {
+               var index = binaryIndex(array, value);
+               if (index < length &&
+                   (value === value ? (value === array[index]) : (array[index] !== array[index]))) {
+                 return index;
+               }
+               return -1;
+             }
+             return baseIndexOf(array, value, fromIndex || 0);
+           }
+
+           /**
+            * Gets all but the last element of `array`.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The array to query.
+            * @returns {Array} Returns the slice of `array`.
+            * @example
+            *
+            * _.initial([1, 2, 3]);
+            * // => [1, 2]
+            */
+           function initial(array) {
+             return dropRight(array, 1);
+           }
+
+           /**
+            * Creates an array of unique values that are included in all of the provided
+            * arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+            * for equality comparisons.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {...Array} [arrays] The arrays to inspect.
+            * @returns {Array} Returns the new array of shared values.
+            * @example
+            * _.intersection([1, 2], [4, 2], [2, 1]);
+            * // => [2]
+            */
+           var intersection = restParam(function(arrays) {
+             var othLength = arrays.length,
+                 othIndex = othLength,
+                 caches = Array(length),
+                 indexOf = getIndexOf(),
+                 isCommon = indexOf == baseIndexOf,
+                 result = [];
+
+             while (othIndex--) {
+               var value = arrays[othIndex] = isArrayLike(value = arrays[othIndex]) ? value : [];
+               caches[othIndex] = (isCommon && value.length >= 120) ? createCache(othIndex && value) : null;
+             }
+             var array = arrays[0],
+                 index = -1,
+                 length = array ? array.length : 0,
+                 seen = caches[0];
+
+             outer:
+             while (++index < length) {
+               value = array[index];
+               if ((seen ? cacheIndexOf(seen, value) : indexOf(result, value, 0)) < 0) {
+                 var othIndex = othLength;
+                 while (--othIndex) {
+                   var cache = caches[othIndex];
+                   if ((cache ? cacheIndexOf(cache, value) : indexOf(arrays[othIndex], value, 0)) < 0) {
+                     continue outer;
+                   }
+                 }
+                 if (seen) {
+                   seen.push(value);
+                 }
+                 result.push(value);
+               }
+             }
+             return result;
+           });
+
+           /**
+            * Gets the last element of `array`.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The array to query.
+            * @returns {*} Returns the last element of `array`.
+            * @example
+            *
+            * _.last([1, 2, 3]);
+            * // => 3
+            */
+           function last(array) {
+             var length = array ? array.length : 0;
+             return length ? array[length - 1] : undefined;
+           }
+
+           /**
+            * This method is like `_.indexOf` except that it iterates over elements of
+            * `array` from right to left.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The array to search.
+            * @param {*} value The value to search for.
+            * @param {boolean|number} [fromIndex=array.length-1] The index to search from
+            *  or `true` to perform a binary search on a sorted array.
+            * @returns {number} Returns the index of the matched value, else `-1`.
+            * @example
+            *
+            * _.lastIndexOf([1, 2, 1, 2], 2);
+            * // => 3
+            *
+            * // using `fromIndex`
+            * _.lastIndexOf([1, 2, 1, 2], 2, 2);
+            * // => 1
+            *
+            * // performing a binary search
+            * _.lastIndexOf([1, 1, 2, 2], 2, true);
+            * // => 3
+            */
+           function lastIndexOf(array, value, fromIndex) {
+             var length = array ? array.length : 0;
+             if (!length) {
+               return -1;
+             }
+             var index = length;
+             if (typeof fromIndex == 'number') {
+               index = (fromIndex < 0 ? nativeMax(length + fromIndex, 0) : nativeMin(fromIndex || 0, length - 1)) + 1;
+             } else if (fromIndex) {
+               index = binaryIndex(array, value, true) - 1;
+               var other = array[index];
+               if (value === value ? (value === other) : (other !== other)) {
+                 return index;
+               }
+               return -1;
+             }
+             if (value !== value) {
+               return indexOfNaN(array, index, true);
+             }
+             while (index--) {
+               if (array[index] === value) {
+                 return index;
+               }
+             }
+             return -1;
+           }
+
+           /**
+            * Removes all provided values from `array` using
+            * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+            * for equality comparisons.
+            *
+            * **Note:** Unlike `_.without`, this method mutates `array`.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The array to modify.
+            * @param {...*} [values] The values to remove.
+            * @returns {Array} Returns `array`.
+            * @example
+            *
+            * var array = [1, 2, 3, 1, 2, 3];
+            *
+            * _.pull(array, 2, 3);
+            * console.log(array);
+            * // => [1, 1]
+            */
+           function pull() {
+             var args = arguments,
+                 array = args[0];
+
+             if (!(array && array.length)) {
+               return array;
+             }
+             var index = 0,
+                 indexOf = getIndexOf(),
+                 length = args.length;
+
+             while (++index < length) {
+               var fromIndex = 0,
+                   value = args[index];
+
+               while ((fromIndex = indexOf(array, value, fromIndex)) > -1) {
+                 splice.call(array, fromIndex, 1);
+               }
+             }
+             return array;
+           }
+
+           /**
+            * Removes elements from `array` corresponding to the given indexes and returns
+            * an array of the removed elements. Indexes may be specified as an array of
+            * indexes or as individual arguments.
+            *
+            * **Note:** Unlike `_.at`, this method mutates `array`.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The array to modify.
+            * @param {...(number|number[])} [indexes] The indexes of elements to remove,
+            *  specified as individual indexes or arrays of indexes.
+            * @returns {Array} Returns the new array of removed elements.
+            * @example
+            *
+            * var array = [5, 10, 15, 20];
+            * var evens = _.pullAt(array, 1, 3);
+            *
+            * console.log(array);
+            * // => [5, 15]
+            *
+            * console.log(evens);
+            * // => [10, 20]
+            */
+           var pullAt = restParam(function(array, indexes) {
+             indexes = baseFlatten(indexes);
+
+             var result = baseAt(array, indexes);
+             basePullAt(array, indexes.sort(baseCompareAscending));
+             return result;
+           });
+
+           /**
+            * Removes all elements from `array` that `predicate` returns truthy for
+            * and returns an array of the removed elements. The predicate is bound to
+            * `thisArg` and invoked with three arguments: (value, index, array).
+            *
+            * If a property name is provided for `predicate` the created `_.property`
+            * style callback returns the property value of the given element.
+            *
+            * If a value is also provided for `thisArg` the created `_.matchesProperty`
+            * style callback returns `true` for elements that have a matching property
+            * value, else `false`.
+            *
+            * If an object is provided for `predicate` the created `_.matches` style
+            * callback returns `true` for elements that have the properties of the given
+            * object, else `false`.
+            *
+            * **Note:** Unlike `_.filter`, this method mutates `array`.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The array to modify.
+            * @param {Function|Object|string} [predicate=_.identity] The function invoked
+            *  per iteration.
+            * @param {*} [thisArg] The `this` binding of `predicate`.
+            * @returns {Array} Returns the new array of removed elements.
+            * @example
+            *
+            * var array = [1, 2, 3, 4];
+            * var evens = _.remove(array, function(n) {
+            *   return n % 2 == 0;
+            * });
+            *
+            * console.log(array);
+            * // => [1, 3]
+            *
+            * console.log(evens);
+            * // => [2, 4]
+            */
+           function remove(array, predicate, thisArg) {
+             var result = [];
+             if (!(array && array.length)) {
+               return result;
+             }
+             var index = -1,
+                 indexes = [],
+                 length = array.length;
+
+             predicate = getCallback(predicate, thisArg, 3);
+             while (++index < length) {
+               var value = array[index];
+               if (predicate(value, index, array)) {
+                 result.push(value);
+                 indexes.push(index);
+               }
+             }
+             basePullAt(array, indexes);
+             return result;
+           }
+
+           /**
+            * Gets all but the first element of `array`.
+            *
+            * @static
+            * @memberOf _
+            * @alias tail
+            * @category Array
+            * @param {Array} array The array to query.
+            * @returns {Array} Returns the slice of `array`.
+            * @example
+            *
+            * _.rest([1, 2, 3]);
+            * // => [2, 3]
+            */
+           function rest(array) {
+             return drop(array, 1);
+           }
+
+           /**
+            * Creates a slice of `array` from `start` up to, but not including, `end`.
+            *
+            * **Note:** This method is used instead of `Array#slice` to support node
+            * lists in IE < 9 and to ensure dense arrays are returned.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The array to slice.
+            * @param {number} [start=0] The start position.
+            * @param {number} [end=array.length] The end position.
+            * @returns {Array} Returns the slice of `array`.
+            */
+           function slice(array, start, end) {
+             var length = array ? array.length : 0;
+             if (!length) {
+               return [];
+             }
+             if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {
+               start = 0;
+               end = length;
+             }
+             return baseSlice(array, start, end);
+           }
+
+           /**
+            * Uses a binary search to determine the lowest index at which `value` should
+            * be inserted into `array` in order to maintain its sort order. If an iteratee
+            * function is provided it is invoked for `value` and each element of `array`
+            * to compute their sort ranking. The iteratee is bound to `thisArg` and
+            * invoked with one argument; (value).
+            *
+            * If a property name is provided for `iteratee` the created `_.property`
+            * style callback returns the property value of the given element.
+            *
+            * If a value is also provided for `thisArg` the created `_.matchesProperty`
+            * style callback returns `true` for elements that have a matching property
+            * value, else `false`.
+            *
+            * If an object is provided for `iteratee` the created `_.matches` style
+            * callback returns `true` for elements that have the properties of the given
+            * object, else `false`.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The sorted array to inspect.
+            * @param {*} value The value to evaluate.
+            * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+            *  per iteration.
+            * @param {*} [thisArg] The `this` binding of `iteratee`.
+            * @returns {number} Returns the index at which `value` should be inserted
+            *  into `array`.
+            * @example
+            *
+            * _.sortedIndex([30, 50], 40);
+            * // => 1
+            *
+            * _.sortedIndex([4, 4, 5, 5], 5);
+            * // => 2
+            *
+            * var dict = { 'data': { 'thirty': 30, 'forty': 40, 'fifty': 50 } };
+            *
+            * // using an iteratee function
+            * _.sortedIndex(['thirty', 'fifty'], 'forty', function(word) {
+            *   return this.data[word];
+            * }, dict);
+            * // => 1
+            *
+            * // using the `_.property` callback shorthand
+            * _.sortedIndex([{ 'x': 30 }, { 'x': 50 }], { 'x': 40 }, 'x');
+            * // => 1
+            */
+           var sortedIndex = createSortedIndex();
+
+           /**
+            * This method is like `_.sortedIndex` except that it returns the highest
+            * index at which `value` should be inserted into `array` in order to
+            * maintain its sort order.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The sorted array to inspect.
+            * @param {*} value The value to evaluate.
+            * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+            *  per iteration.
+            * @param {*} [thisArg] The `this` binding of `iteratee`.
+            * @returns {number} Returns the index at which `value` should be inserted
+            *  into `array`.
+            * @example
+            *
+            * _.sortedLastIndex([4, 4, 5, 5], 5);
+            * // => 4
+            */
+           var sortedLastIndex = createSortedIndex(true);
+
+           /**
+            * Creates a slice of `array` with `n` elements taken from the beginning.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The array to query.
+            * @param {number} [n=1] The number of elements to take.
+            * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+            * @returns {Array} Returns the slice of `array`.
+            * @example
+            *
+            * _.take([1, 2, 3]);
+            * // => [1]
+            *
+            * _.take([1, 2, 3], 2);
+            * // => [1, 2]
+            *
+            * _.take([1, 2, 3], 5);
+            * // => [1, 2, 3]
+            *
+            * _.take([1, 2, 3], 0);
+            * // => []
+            */
+           function take(array, n, guard) {
+             var length = array ? array.length : 0;
+             if (!length) {
+               return [];
+             }
+             if (guard ? isIterateeCall(array, n, guard) : n == null) {
+               n = 1;
+             }
+             return baseSlice(array, 0, n < 0 ? 0 : n);
+           }
+
+           /**
+            * Creates a slice of `array` with `n` elements taken from the end.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The array to query.
+            * @param {number} [n=1] The number of elements to take.
+            * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+            * @returns {Array} Returns the slice of `array`.
+            * @example
+            *
+            * _.takeRight([1, 2, 3]);
+            * // => [3]
+            *
+            * _.takeRight([1, 2, 3], 2);
+            * // => [2, 3]
+            *
+            * _.takeRight([1, 2, 3], 5);
+            * // => [1, 2, 3]
+            *
+            * _.takeRight([1, 2, 3], 0);
+            * // => []
+            */
+           function takeRight(array, n, guard) {
+             var length = array ? array.length : 0;
+             if (!length) {
+               return [];
+             }
+             if (guard ? isIterateeCall(array, n, guard) : n == null) {
+               n = 1;
+             }
+             n = length - (+n || 0);
+             return baseSlice(array, n < 0 ? 0 : n);
+           }
+
+           /**
+            * Creates a slice of `array` with elements taken from the end. Elements are
+            * taken until `predicate` returns falsey. The predicate is bound to `thisArg`
+            * and invoked with three arguments: (value, index, array).
+            *
+            * If a property name is provided for `predicate` the created `_.property`
+            * style callback returns the property value of the given element.
+            *
+            * If a value is also provided for `thisArg` the created `_.matchesProperty`
+            * style callback returns `true` for elements that have a matching property
+            * value, else `false`.
+            *
+            * If an object is provided for `predicate` the created `_.matches` style
+            * callback returns `true` for elements that have the properties of the given
+            * object, else `false`.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The array to query.
+            * @param {Function|Object|string} [predicate=_.identity] The function invoked
+            *  per iteration.
+            * @param {*} [thisArg] The `this` binding of `predicate`.
+            * @returns {Array} Returns the slice of `array`.
+            * @example
+            *
+            * _.takeRightWhile([1, 2, 3], function(n) {
+            *   return n > 1;
+            * });
+            * // => [2, 3]
+            *
+            * var users = [
+            *   { 'user': 'barney',  'active': true },
+            *   { 'user': 'fred',    'active': false },
+            *   { 'user': 'pebbles', 'active': false }
+            * ];
+            *
+            * // using the `_.matches` callback shorthand
+            * _.pluck(_.takeRightWhile(users, { 'user': 'pebbles', 'active': false }), 'user');
+            * // => ['pebbles']
+            *
+            * // using the `_.matchesProperty` callback shorthand
+            * _.pluck(_.takeRightWhile(users, 'active', false), 'user');
+            * // => ['fred', 'pebbles']
+            *
+            * // using the `_.property` callback shorthand
+            * _.pluck(_.takeRightWhile(users, 'active'), 'user');
+            * // => []
+            */
+           function takeRightWhile(array, predicate, thisArg) {
+             return (array && array.length)
+               ? baseWhile(array, getCallback(predicate, thisArg, 3), false, true)
+               : [];
+           }
+
+           /**
+            * Creates a slice of `array` with elements taken from the beginning. Elements
+            * are taken until `predicate` returns falsey. The predicate is bound to
+            * `thisArg` and invoked with three arguments: (value, index, array).
+            *
+            * If a property name is provided for `predicate` the created `_.property`
+            * style callback returns the property value of the given element.
+            *
+            * If a value is also provided for `thisArg` the created `_.matchesProperty`
+            * style callback returns `true` for elements that have a matching property
+            * value, else `false`.
+            *
+            * If an object is provided for `predicate` the created `_.matches` style
+            * callback returns `true` for elements that have the properties of the given
+            * object, else `false`.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The array to query.
+            * @param {Function|Object|string} [predicate=_.identity] The function invoked
+            *  per iteration.
+            * @param {*} [thisArg] The `this` binding of `predicate`.
+            * @returns {Array} Returns the slice of `array`.
+            * @example
+            *
+            * _.takeWhile([1, 2, 3], function(n) {
+            *   return n < 3;
+            * });
+            * // => [1, 2]
+            *
+            * var users = [
+            *   { 'user': 'barney',  'active': false },
+            *   { 'user': 'fred',    'active': false},
+            *   { 'user': 'pebbles', 'active': true }
+            * ];
+            *
+            * // using the `_.matches` callback shorthand
+            * _.pluck(_.takeWhile(users, { 'user': 'barney', 'active': false }), 'user');
+            * // => ['barney']
+            *
+            * // using the `_.matchesProperty` callback shorthand
+            * _.pluck(_.takeWhile(users, 'active', false), 'user');
+            * // => ['barney', 'fred']
+            *
+            * // using the `_.property` callback shorthand
+            * _.pluck(_.takeWhile(users, 'active'), 'user');
+            * // => []
+            */
+           function takeWhile(array, predicate, thisArg) {
+             return (array && array.length)
+               ? baseWhile(array, getCallback(predicate, thisArg, 3))
+               : [];
+           }
+
+           /**
+            * Creates an array of unique values, in order, from all of the provided arrays
+            * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+            * for equality comparisons.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {...Array} [arrays] The arrays to inspect.
+            * @returns {Array} Returns the new array of combined values.
+            * @example
+            *
+            * _.union([1, 2], [4, 2], [2, 1]);
+            * // => [1, 2, 4]
+            */
+           var union = restParam(function(arrays) {
+             return baseUniq(baseFlatten(arrays, false, true));
+           });
+
+           /**
+            * Creates a duplicate-free version of an array, using
+            * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+            * for equality comparisons, in which only the first occurence of each element
+            * is kept. Providing `true` for `isSorted` performs a faster search algorithm
+            * for sorted arrays. If an iteratee function is provided it is invoked for
+            * each element in the array to generate the criterion by which uniqueness
+            * is computed. The `iteratee` is bound to `thisArg` and invoked with three
+            * arguments: (value, index, array).
+            *
+            * If a property name is provided for `iteratee` the created `_.property`
+            * style callback returns the property value of the given element.
+            *
+            * If a value is also provided for `thisArg` the created `_.matchesProperty`
+            * style callback returns `true` for elements that have a matching property
+            * value, else `false`.
+            *
+            * If an object is provided for `iteratee` the created `_.matches` style
+            * callback returns `true` for elements that have the properties of the given
+            * object, else `false`.
+            *
+            * @static
+            * @memberOf _
+            * @alias unique
+            * @category Array
+            * @param {Array} array The array to inspect.
+            * @param {boolean} [isSorted] Specify the array is sorted.
+            * @param {Function|Object|string} [iteratee] The function invoked per iteration.
+            * @param {*} [thisArg] The `this` binding of `iteratee`.
+            * @returns {Array} Returns the new duplicate-value-free array.
+            * @example
+            *
+            * _.uniq([2, 1, 2]);
+            * // => [2, 1]
+            *
+            * // using `isSorted`
+            * _.uniq([1, 1, 2], true);
+            * // => [1, 2]
+            *
+            * // using an iteratee function
+            * _.uniq([1, 2.5, 1.5, 2], function(n) {
+            *   return this.floor(n);
+            * }, Math);
+            * // => [1, 2.5]
+            *
+            * // using the `_.property` callback shorthand
+            * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
+            * // => [{ 'x': 1 }, { 'x': 2 }]
+            */
+           function uniq(array, isSorted, iteratee, thisArg) {
+             var length = array ? array.length : 0;
+             if (!length) {
+               return [];
+             }
+             if (isSorted != null && typeof isSorted != 'boolean') {
+               thisArg = iteratee;
+               iteratee = isIterateeCall(array, isSorted, thisArg) ? undefined : isSorted;
+               isSorted = false;
+             }
+             var callback = getCallback();
+             if (!(iteratee == null && callback === baseCallback)) {
+               iteratee = callback(iteratee, thisArg, 3);
+             }
+             return (isSorted && getIndexOf() == baseIndexOf)
+               ? sortedUniq(array, iteratee)
+               : baseUniq(array, iteratee);
+           }
+
+           /**
+            * This method is like `_.zip` except that it accepts an array of grouped
+            * elements and creates an array regrouping the elements to their pre-zip
+            * configuration.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The array of grouped elements to process.
+            * @returns {Array} Returns the new array of regrouped elements.
+            * @example
+            *
+            * var zipped = _.zip(['fred', 'barney'], [30, 40], [true, false]);
+            * // => [['fred', 30, true], ['barney', 40, false]]
+            *
+            * _.unzip(zipped);
+            * // => [['fred', 'barney'], [30, 40], [true, false]]
+            */
+           function unzip(array) {
+             if (!(array && array.length)) {
+               return [];
+             }
+             var index = -1,
+                 length = 0;
+
+             array = arrayFilter(array, function(group) {
+               if (isArrayLike(group)) {
+                 length = nativeMax(group.length, length);
+                 return true;
+               }
+             });
+             var result = Array(length);
+             while (++index < length) {
+               result[index] = arrayMap(array, baseProperty(index));
+             }
+             return result;
+           }
+
+           /**
+            * This method is like `_.unzip` except that it accepts an iteratee to specify
+            * how regrouped values should be combined. The `iteratee` is bound to `thisArg`
+            * and invoked with four arguments: (accumulator, value, index, group).
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The array of grouped elements to process.
+            * @param {Function} [iteratee] The function to combine regrouped values.
+            * @param {*} [thisArg] The `this` binding of `iteratee`.
+            * @returns {Array} Returns the new array of regrouped elements.
+            * @example
+            *
+            * var zipped = _.zip([1, 2], [10, 20], [100, 200]);
+            * // => [[1, 10, 100], [2, 20, 200]]
+            *
+            * _.unzipWith(zipped, _.add);
+            * // => [3, 30, 300]
+            */
+           function unzipWith(array, iteratee, thisArg) {
+             var length = array ? array.length : 0;
+             if (!length) {
+               return [];
+             }
+             var result = unzip(array);
+             if (iteratee == null) {
+               return result;
+             }
+             iteratee = bindCallback(iteratee, thisArg, 4);
+             return arrayMap(result, function(group) {
+               return arrayReduce(group, iteratee, undefined, true);
+             });
+           }
+
+           /**
+            * Creates an array excluding all provided values using
+            * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+            * for equality comparisons.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {Array} array The array to filter.
+            * @param {...*} [values] The values to exclude.
+            * @returns {Array} Returns the new array of filtered values.
+            * @example
+            *
+            * _.without([1, 2, 1, 3], 1, 2);
+            * // => [3]
+            */
+           var without = restParam(function(array, values) {
+             return isArrayLike(array)
+               ? baseDifference(array, values)
+               : [];
+           });
+
+           /**
+            * Creates an array of unique values that is the [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)
+            * of the provided arrays.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {...Array} [arrays] The arrays to inspect.
+            * @returns {Array} Returns the new array of values.
+            * @example
+            *
+            * _.xor([1, 2], [4, 2]);
+            * // => [1, 4]
+            */
+           function xor() {
+             var index = -1,
+                 length = arguments.length;
+
+             while (++index < length) {
+               var array = arguments[index];
+               if (isArrayLike(array)) {
+                 var result = result
+                   ? arrayPush(baseDifference(result, array), baseDifference(array, result))
+                   : array;
+               }
+             }
+             return result ? baseUniq(result) : [];
+           }
+
+           /**
+            * Creates an array of grouped elements, the first of which contains the first
+            * elements of the given arrays, the second of which contains the second elements
+            * of the given arrays, and so on.
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {...Array} [arrays] The arrays to process.
+            * @returns {Array} Returns the new array of grouped elements.
+            * @example
+            *
+            * _.zip(['fred', 'barney'], [30, 40], [true, false]);
+            * // => [['fred', 30, true], ['barney', 40, false]]
+            */
+           var zip = restParam(unzip);
+
+           /**
+            * The inverse of `_.pairs`; this method returns an object composed from arrays
+            * of property names and values. Provide either a single two dimensional array,
+            * e.g. `[[key1, value1], [key2, value2]]` or two arrays, one of property names
+            * and one of corresponding values.
+            *
+            * @static
+            * @memberOf _
+            * @alias object
+            * @category Array
+            * @param {Array} props The property names.
+            * @param {Array} [values=[]] The property values.
+            * @returns {Object} Returns the new object.
+            * @example
+            *
+            * _.zipObject([['fred', 30], ['barney', 40]]);
+            * // => { 'fred': 30, 'barney': 40 }
+            *
+            * _.zipObject(['fred', 'barney'], [30, 40]);
+            * // => { 'fred': 30, 'barney': 40 }
+            */
+           function zipObject(props, values) {
+             var index = -1,
+                 length = props ? props.length : 0,
+                 result = {};
+
+             if (length && !values && !isArray(props[0])) {
+               values = [];
+             }
+             while (++index < length) {
+               var key = props[index];
+               if (values) {
+                 result[key] = values[index];
+               } else if (key) {
+                 result[key[0]] = key[1];
+               }
+             }
+             return result;
+           }
+
+           /**
+            * This method is like `_.zip` except that it accepts an iteratee to specify
+            * how grouped values should be combined. The `iteratee` is bound to `thisArg`
+            * and invoked with four arguments: (accumulator, value, index, group).
+            *
+            * @static
+            * @memberOf _
+            * @category Array
+            * @param {...Array} [arrays] The arrays to process.
+            * @param {Function} [iteratee] The function to combine grouped values.
+            * @param {*} [thisArg] The `this` binding of `iteratee`.
+            * @returns {Array} Returns the new array of grouped elements.
+            * @example
+            *
+            * _.zipWith([1, 2], [10, 20], [100, 200], _.add);
+            * // => [111, 222]
+            */
+           var zipWith = restParam(function(arrays) {
+             var length = arrays.length,
+                 iteratee = length > 2 ? arrays[length - 2] : undefined,
+                 thisArg = length > 1 ? arrays[length - 1] : undefined;
+
+             if (length > 2 && typeof iteratee == 'function') {
+               length -= 2;
+             } else {
+               iteratee = (length > 1 && typeof thisArg == 'function') ? (--length, thisArg) : undefined;
+               thisArg = undefined;
+             }
+             arrays.length = length;
+             return unzipWith(arrays, iteratee, thisArg);
+           });
+
+           /*------------------------------------------------------------------------*/
+
+           /**
+            * Creates a `lodash` object that wraps `value` with explicit method
+            * chaining enabled.
+            *
+            * @static
+            * @memberOf _
+            * @category Chain
+            * @param {*} value The value to wrap.
+            * @returns {Object} Returns the new `lodash` wrapper instance.
+            * @example
+            *
+            * var users = [
+            *   { 'user': 'barney',  'age': 36 },
+            *   { 'user': 'fred',    'age': 40 },
+            *   { 'user': 'pebbles', 'age': 1 }
+            * ];
+            *
+            * var youngest = _.chain(users)
+            *   .sortBy('age')
+            *   .map(function(chr) {
+            *     return chr.user + ' is ' + chr.age;
+            *   })
+            *   .first()
+            *   .value();
+            * // => 'pebbles is 1'
+            */
+           function chain(value) {
+             var result = lodash(value);
+             result.__chain__ = true;
+             return result;
+           }
+
+           /**
+            * This method invokes `interceptor` and returns `value`. The interceptor is
+            * bound to `thisArg` and invoked with one argument; (value). The purpose of
+            * this method is to "tap into" a method chain in order to perform operations
+            * on intermediate results within the chain.
+            *
+            * @static
+            * @memberOf _
+            * @category Chain
+            * @param {*} value The value to provide to `interceptor`.
+            * @param {Function} interceptor The function to invoke.
+            * @param {*} [thisArg] The `this` binding of `interceptor`.
+            * @returns {*} Returns `value`.
+            * @example
+            *
+            * _([1, 2, 3])
+            *  .tap(function(array) {
+            *    array.pop();
+            *  })
+            *  .reverse()
+            *  .value();
+            * // => [2, 1]
+            */
+           function tap(value, interceptor, thisArg) {
+             interceptor.call(thisArg, value);
+             return value;
+           }
+
+           /**
+            * This method is like `_.tap` except that it returns the result of `interceptor`.
+            *
+            * @static
+            * @memberOf _
+            * @category Chain
+            * @param {*} value The value to provide to `interceptor`.
+            * @param {Function} interceptor The function to invoke.
+            * @param {*} [thisArg] The `this` binding of `interceptor`.
+            * @returns {*} Returns the result of `interceptor`.
+            * @example
+            *
+            * _('  abc  ')
+            *  .chain()
+            *  .trim()
+            *  .thru(function(value) {
+            *    return [value];
+            *  })
+            *  .value();
+            * // => ['abc']
+            */
+           function thru(value, interceptor, thisArg) {
+             return interceptor.call(thisArg, value);
+           }
+
+           /**
+            * Enables explicit method chaining on the wrapper object.
+            *
+            * @name chain
+            * @memberOf _
+            * @category Chain
+            * @returns {Object} Returns the new `lodash` wrapper instance.
+            * @example
+            *
+            * var users = [
+            *   { 'user': 'barney', 'age': 36 },
+            *   { 'user': 'fred',   'age': 40 }
+            * ];
+            *
+            * // without explicit chaining
+            * _(users).first();
+            * // => { 'user': 'barney', 'age': 36 }
+            *
+            * // with explicit chaining
+            * _(users).chain()
+            *   .first()
+            *   .pick('user')
+            *   .value();
+            * // => { 'user': 'barney' }
+            */
+           function wrapperChain() {
+             return chain(this);
+           }
+
+           /**
+            * Executes the chained sequence and returns the wrapped result.
+            *
+            * @name commit
+            * @memberOf _
+            * @category Chain
+            * @returns {Object} Returns the new `lodash` wrapper instance.
+            * @example
+            *
+            * var array = [1, 2];
+            * var wrapped = _(array).push(3);
+            *
+            * console.log(array);
+            * // => [1, 2]
+            *
+            * wrapped = wrapped.commit();
+            * console.log(array);
+            * // => [1, 2, 3]
+            *
+            * wrapped.last();
+            * // => 3
+            *
+            * console.log(array);
+            * // => [1, 2, 3]
+            */
+           function wrapperCommit() {
+             return new LodashWrapper(this.value(), this.__chain__);
+           }
+
+           /**
+            * Creates a new array joining a wrapped array with any additional arrays
+            * and/or values.
+            *
+            * @name concat
+            * @memberOf _
+            * @category Chain
+            * @param {...*} [values] The values to concatenate.
+            * @returns {Array} Returns the new concatenated array.
+            * @example
+            *
+            * var array = [1];
+            * var wrapped = _(array).concat(2, [3], [[4]]);
+            *
+            * console.log(wrapped.value());
+            * // => [1, 2, 3, [4]]
+            *
+            * console.log(array);
+            * // => [1]
+            */
+           var wrapperConcat = restParam(function(values) {
+             values = baseFlatten(values);
+             return this.thru(function(array) {
+               return arrayConcat(isArray(array) ? array : [toObject(array)], values);
+             });
+           });
+
+           /**
+            * Creates a clone of the chained sequence planting `value` as the wrapped value.
+            *
+            * @name plant
+            * @memberOf _
+            * @category Chain
+            * @returns {Object} Returns the new `lodash` wrapper instance.
+            * @example
+            *
+            * var array = [1, 2];
+            * var wrapped = _(array).map(function(value) {
+            *   return Math.pow(value, 2);
+            * });
+            *
+            * var other = [3, 4];
+            * var otherWrapped = wrapped.plant(other);
+            *
+            * otherWrapped.value();
+            * // => [9, 16]
+            *
+            * wrapped.value();
+            * // => [1, 4]
+            */
+           function wrapperPlant(value) {
+             var result,
+                 parent = this;
+
+             while (parent instanceof baseLodash) {
+               var clone = wrapperClone(parent);
+               if (result) {
+                 previous.__wrapped__ = clone;
+               } else {
+                 result = clone;
+               }
+               var previous = clone;
+               parent = parent.__wrapped__;
+             }
+             previous.__wrapped__ = value;
+             return result;
+           }
+
+           /**
+            * Reverses the wrapped array so the first element becomes the last, the
+            * second element becomes the second to last, and so on.
+            *
+            * **Note:** This method mutates the wrapped array.
+            *
+            * @name reverse
+            * @memberOf _
+            * @category Chain
+            * @returns {Object} Returns the new reversed `lodash` wrapper instance.
+            * @example
+            *
+            * var array = [1, 2, 3];
+            *
+            * _(array).reverse().value()
+            * // => [3, 2, 1]
+            *
+            * console.log(array);
+            * // => [3, 2, 1]
+            */
+           function wrapperReverse() {
+             var value = this.__wrapped__;
+
+             var interceptor = function(value) {
+               return (wrapped && wrapped.__dir__ < 0) ? value : value.reverse();
+             };
+             if (value instanceof LazyWrapper) {
+               var wrapped = value;
+               if (this.__actions__.length) {
+                 wrapped = new LazyWrapper(this);
+               }
+               wrapped = wrapped.reverse();
+               wrapped.__actions__.push({ 'func': thru, 'args': [interceptor], 'thisArg': undefined });
+               return new LodashWrapper(wrapped, this.__chain__);
+             }
+             return this.thru(interceptor);
+           }
+
+           /**
+            * Produces the result of coercing the unwrapped value to a string.
+            *
+            * @name toString
+            * @memberOf _
+            * @category Chain
+            * @returns {string} Returns the coerced string value.
+            * @example
+            *
+            * _([1, 2, 3]).toString();
+            * // => '1,2,3'
+            */
+           function wrapperToString() {
+             return (this.value() + '');
+           }
+
+           /**
+            * Executes the chained sequence to extract the unwrapped value.
+            *
+            * @name value
+            * @memberOf _
+            * @alias run, toJSON, valueOf
+            * @category Chain
+            * @returns {*} Returns the resolved unwrapped value.
+            * @example
+            *
+            * _([1, 2, 3]).value();
+            * // => [1, 2, 3]
+            */
+           function wrapperValue() {
+             return baseWrapperValue(this.__wrapped__, this.__actions__);
+           }
+
+           /*------------------------------------------------------------------------*/
+
+           /**
+            * Creates an array of elements corresponding to the given keys, or indexes,
+            * of `collection`. Keys may be specified as individual arguments or as arrays
+            * of keys.
+            *
+            * @static
+            * @memberOf _
+            * @category Collection
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {...(number|number[]|string|string[])} [props] The property names
+            *  or indexes of elements to pick, specified individually or in arrays.
+            * @returns {Array} Returns the new array of picked elements.
+            * @example
+            *
+            * _.at(['a', 'b', 'c'], [0, 2]);
+            * // => ['a', 'c']
+            *
+            * _.at(['barney', 'fred', 'pebbles'], 0, 2);
+            * // => ['barney', 'pebbles']
+            */
+           var at = restParam(function(collection, props) {
+             return baseAt(collection, baseFlatten(props));
+           });
+
+           /**
+            * Creates an object composed of keys generated from the results of running
+            * each element of `collection` through `iteratee`. The corresponding value
+            * of each key is the number of times the key was returned by `iteratee`.
+            * The `iteratee` is bound to `thisArg` and invoked with three arguments:
+            * (value, index|key, collection).
+            *
+            * If a property name is provided for `iteratee` the created `_.property`
+            * style callback returns the property value of the given element.
+            *
+            * If a value is also provided for `thisArg` the created `_.matchesProperty`
+            * style callback returns `true` for elements that have a matching property
+            * value, else `false`.
+            *
+            * If an object is provided for `iteratee` the created `_.matches` style
+            * callback returns `true` for elements that have the properties of the given
+            * object, else `false`.
+            *
+            * @static
+            * @memberOf _
+            * @category Collection
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+            *  per iteration.
+            * @param {*} [thisArg] The `this` binding of `iteratee`.
+            * @returns {Object} Returns the composed aggregate object.
+            * @example
+            *
+            * _.countBy([4.3, 6.1, 6.4], function(n) {
+            *   return Math.floor(n);
+            * });
+            * // => { '4': 1, '6': 2 }
+            *
+            * _.countBy([4.3, 6.1, 6.4], function(n) {
+            *   return this.floor(n);
+            * }, Math);
+            * // => { '4': 1, '6': 2 }
+            *
+            * _.countBy(['one', 'two', 'three'], 'length');
+            * // => { '3': 2, '5': 1 }
+            */
+           var countBy = createAggregator(function(result, value, key) {
+             hasOwnProperty.call(result, key) ? ++result[key] : (result[key] = 1);
+           });
+
+           /**
+            * Checks if `predicate` returns truthy for **all** elements of `collection`.
+            * The predicate is bound to `thisArg` and invoked with three arguments:
+            * (value, index|key, collection).
+            *
+            * If a property name is provided for `predicate` the created `_.property`
+            * style callback returns the property value of the given element.
+            *
+            * If a value is also provided for `thisArg` the created `_.matchesProperty`
+            * style callback returns `true` for elements that have a matching property
+            * value, else `false`.
+            *
+            * If an object is provided for `predicate` the created `_.matches` style
+            * callback returns `true` for elements that have the properties of the given
+            * object, else `false`.
+            *
+            * @static
+            * @memberOf _
+            * @alias all
+            * @category Collection
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function|Object|string} [predicate=_.identity] The function invoked
+            *  per iteration.
+            * @param {*} [thisArg] The `this` binding of `predicate`.
+            * @returns {boolean} Returns `true` if all elements pass the predicate check,
+            *  else `false`.
+            * @example
+            *
+            * _.every([true, 1, null, 'yes'], Boolean);
+            * // => false
+            *
+            * var users = [
+            *   { 'user': 'barney', 'active': false },
+            *   { 'user': 'fred',   'active': false }
+            * ];
+            *
+            * // using the `_.matches` callback shorthand
+            * _.every(users, { 'user': 'barney', 'active': false });
+            * // => false
+            *
+            * // using the `_.matchesProperty` callback shorthand
+            * _.every(users, 'active', false);
+            * // => true
+            *
+            * // using the `_.property` callback shorthand
+            * _.every(users, 'active');
+            * // => false
+            */
+           function every(collection, predicate, thisArg) {
+             var func = isArray(collection) ? arrayEvery : baseEvery;
+             if (thisArg && isIterateeCall(collection, predicate, thisArg)) {
+               predicate = undefined;
+             }
+             if (typeof predicate != 'function' || thisArg !== undefined) {
+               predicate = getCallback(predicate, thisArg, 3);
+             }
+             return func(collection, predicate);
+           }
+
+           /**
+            * Iterates over elements of `collection`, returning an array of all elements
+            * `predicate` returns truthy for. The predicate is bound to `thisArg` and
+            * invoked with three arguments: (value, index|key, collection).
+            *
+            * If a property name is provided for `predicate` the created `_.property`
+            * style callback returns the property value of the given element.
+            *
+            * If a value is also provided for `thisArg` the created `_.matchesProperty`
+            * style callback returns `true` for elements that have a matching property
+            * value, else `false`.
+            *
+            * If an object is provided for `predicate` the created `_.matches` style
+            * callback returns `true` for elements that have the properties of the given
+            * object, else `false`.
+            *
+            * @static
+            * @memberOf _
+            * @alias select
+            * @category Collection
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function|Object|string} [predicate=_.identity] The function invoked
+            *  per iteration.
+            * @param {*} [thisArg] The `this` binding of `predicate`.
+            * @returns {Array} Returns the new filtered array.
+            * @example
+            *
+            * _.filter([4, 5, 6], function(n) {
+            *   return n % 2 == 0;
+            * });
+            * // => [4, 6]
+            *
+            * var users = [
+            *   { 'user': 'barney', 'age': 36, 'active': true },
+            *   { 'user': 'fred',   'age': 40, 'active': false }
+            * ];
+            *
+            * // using the `_.matches` callback shorthand
+            * _.pluck(_.filter(users, { 'age': 36, 'active': true }), 'user');
+            * // => ['barney']
+            *
+            * // using the `_.matchesProperty` callback shorthand
+            * _.pluck(_.filter(users, 'active', false), 'user');
+            * // => ['fred']
+            *
+            * // using the `_.property` callback shorthand
+            * _.pluck(_.filter(users, 'active'), 'user');
+            * // => ['barney']
+            */
+           function filter(collection, predicate, thisArg) {
+             var func = isArray(collection) ? arrayFilter : baseFilter;
+             predicate = getCallback(predicate, thisArg, 3);
+             return func(collection, predicate);
+           }
+
+           /**
+            * Iterates over elements of `collection`, returning the first element
+            * `predicate` returns truthy for. The predicate is bound to `thisArg` and
+            * invoked with three arguments: (value, index|key, collection).
+            *
+            * If a property name is provided for `predicate` the created `_.property`
+            * style callback returns the property value of the given element.
+            *
+            * If a value is also provided for `thisArg` the created `_.matchesProperty`
+            * style callback returns `true` for elements that have a matching property
+            * value, else `false`.
+            *
+            * If an object is provided for `predicate` the created `_.matches` style
+            * callback returns `true` for elements that have the properties of the given
+            * object, else `false`.
+            *
+            * @static
+            * @memberOf _
+            * @alias detect
+            * @category Collection
+            * @param {Array|Object|string} collection The collection to search.
+            * @param {Function|Object|string} [predicate=_.identity] The function invoked
+            *  per iteration.
+            * @param {*} [thisArg] The `this` binding of `predicate`.
+            * @returns {*} Returns the matched element, else `undefined`.
+            * @example
+            *
+            * var users = [
+            *   { 'user': 'barney',  'age': 36, 'active': true },
+            *   { 'user': 'fred',    'age': 40, 'active': false },
+            *   { 'user': 'pebbles', 'age': 1,  'active': true }
+            * ];
+            *
+            * _.result(_.find(users, function(chr) {
+            *   return chr.age < 40;
+            * }), 'user');
+            * // => 'barney'
+            *
+            * // using the `_.matches` callback shorthand
+            * _.result(_.find(users, { 'age': 1, 'active': true }), 'user');
+            * // => 'pebbles'
+            *
+            * // using the `_.matchesProperty` callback shorthand
+            * _.result(_.find(users, 'active', false), 'user');
+            * // => 'fred'
+            *
+            * // using the `_.property` callback shorthand
+            * _.result(_.find(users, 'active'), 'user');
+            * // => 'barney'
+            */
+           var find = createFind(baseEach);
+
+           /**
+            * This method is like `_.find` except that it iterates over elements of
+            * `collection` from right to left.
+            *
+            * @static
+            * @memberOf _
+            * @category Collection
+            * @param {Array|Object|string} collection The collection to search.
+            * @param {Function|Object|string} [predicate=_.identity] The function invoked
+            *  per iteration.
+            * @param {*} [thisArg] The `this` binding of `predicate`.
+            * @returns {*} Returns the matched element, else `undefined`.
+            * @example
+            *
+            * _.findLast([1, 2, 3, 4], function(n) {
+            *   return n % 2 == 1;
+            * });
+            * // => 3
+            */
+           var findLast = createFind(baseEachRight, true);
+
+           /**
+            * Performs a deep comparison between each element in `collection` and the
+            * source object, returning the first element that has equivalent property
+            * values.
+            *
+            * **Note:** This method supports comparing arrays, booleans, `Date` objects,
+            * numbers, `Object` objects, regexes, and strings. Objects are compared by
+            * their own, not inherited, enumerable properties. For comparing a single
+            * own or inherited property value see `_.matchesProperty`.
+            *
+            * @static
+            * @memberOf _
+            * @category Collection
+            * @param {Array|Object|string} collection The collection to search.
+            * @param {Object} source The object of property values to match.
+            * @returns {*} Returns the matched element, else `undefined`.
+            * @example
+            *
+            * var users = [
+            *   { 'user': 'barney', 'age': 36, 'active': true },
+            *   { 'user': 'fred',   'age': 40, 'active': false }
+            * ];
+            *
+            * _.result(_.findWhere(users, { 'age': 36, 'active': true }), 'user');
+            * // => 'barney'
+            *
+            * _.result(_.findWhere(users, { 'age': 40, 'active': false }), 'user');
+            * // => 'fred'
+            */
+           function findWhere(collection, source) {
+             return find(collection, baseMatches(source));
+           }
+
+           /**
+            * Iterates over elements of `collection` invoking `iteratee` for each element.
+            * The `iteratee` is bound to `thisArg` and invoked with three arguments:
+            * (value, index|key, collection). Iteratee functions may exit iteration early
+            * by explicitly returning `false`.
+            *
+            * **Note:** As with other "Collections" methods, objects with a "length" property
+            * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn`
+            * may be used for object iteration.
+            *
+            * @static
+            * @memberOf _
+            * @alias each
+            * @category Collection
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+            * @param {*} [thisArg] The `this` binding of `iteratee`.
+            * @returns {Array|Object|string} Returns `collection`.
+            * @example
+            *
+            * _([1, 2]).forEach(function(n) {
+            *   console.log(n);
+            * }).value();
+            * // => logs each value from left to right and returns the array
+            *
+            * _.forEach({ 'a': 1, 'b': 2 }, function(n, key) {
+            *   console.log(n, key);
+            * });
+            * // => logs each value-key pair and returns the object (iteration order is not guaranteed)
+            */
+           var forEach = createForEach(arrayEach, baseEach);
+
+           /**
+            * This method is like `_.forEach` except that it iterates over elements of
+            * `collection` from right to left.
+            *
+            * @static
+            * @memberOf _
+            * @alias eachRight
+            * @category Collection
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+            * @param {*} [thisArg] The `this` binding of `iteratee`.
+            * @returns {Array|Object|string} Returns `collection`.
+            * @example
+            *
+            * _([1, 2]).forEachRight(function(n) {
+            *   console.log(n);
+            * }).value();
+            * // => logs each value from right to left and returns the array
+            */
+           var forEachRight = createForEach(arrayEachRight, baseEachRight);
+
+           /**
+            * Creates an object composed of keys generated from the results of running
+            * each element of `collection` through `iteratee`. The corresponding value
+            * of each key is an array of the elements responsible for generating the key.
+            * The `iteratee` is bound to `thisArg` and invoked with three arguments:
+            * (value, index|key, collection).
+            *
+            * If a property name is provided for `iteratee` the created `_.property`
+            * style callback returns the property value of the given element.
+            *
+            * If a value is also provided for `thisArg` the created `_.matchesProperty`
+            * style callback returns `true` for elements that have a matching property
+            * value, else `false`.
+            *
+            * If an object is provided for `iteratee` the created `_.matches` style
+            * callback returns `true` for elements that have the properties of the given
+            * object, else `false`.
+            *
+            * @static
+            * @memberOf _
+            * @category Collection
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+            *  per iteration.
+            * @param {*} [thisArg] The `this` binding of `iteratee`.
+            * @returns {Object} Returns the composed aggregate object.
+            * @example
+            *
+            * _.groupBy([4.2, 6.1, 6.4], function(n) {
+            *   return Math.floor(n);
+            * });
+            * // => { '4': [4.2], '6': [6.1, 6.4] }
+            *
+            * _.groupBy([4.2, 6.1, 6.4], function(n) {
+            *   return this.floor(n);
+            * }, Math);
+            * // => { '4': [4.2], '6': [6.1, 6.4] }
+            *
+            * // using the `_.property` callback shorthand
+            * _.groupBy(['one', 'two', 'three'], 'length');
+            * // => { '3': ['one', 'two'], '5': ['three'] }
+            */
+           var groupBy = createAggregator(function(result, value, key) {
+             if (hasOwnProperty.call(result, key)) {
+               result[key].push(value);
+             } else {
+               result[key] = [value];
+             }
+           });
+
+           /**
+            * Checks if `value` is in `collection` using
+            * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+            * for equality comparisons. If `fromIndex` is negative, it is used as the offset
+            * from the end of `collection`.
+            *
+            * @static
+            * @memberOf _
+            * @alias contains, include
+            * @category Collection
+            * @param {Array|Object|string} collection The collection to search.
+            * @param {*} target The value to search for.
+            * @param {number} [fromIndex=0] The index to search from.
+            * @param- {Object} [guard] Enables use as a callback for functions like `_.reduce`.
+            * @returns {boolean} Returns `true` if a matching element is found, else `false`.
+            * @example
+            *
+            * _.includes([1, 2, 3], 1);
+            * // => true
+            *
+            * _.includes([1, 2, 3], 1, 2);
+            * // => false
+            *
+            * _.includes({ 'user': 'fred', 'age': 40 }, 'fred');
+            * // => true
+            *
+            * _.includes('pebbles', 'eb');
+            * // => true
+            */
+           function includes(collection, target, fromIndex, guard) {
+             var length = collection ? getLength(collection) : 0;
+             if (!isLength(length)) {
+               collection = values(collection);
+               length = collection.length;
+             }
+             if (typeof fromIndex != 'number' || (guard && isIterateeCall(target, fromIndex, guard))) {
+               fromIndex = 0;
+             } else {
+               fromIndex = fromIndex < 0 ? nativeMax(length + fromIndex, 0) : (fromIndex || 0);
+             }
+             return (typeof collection == 'string' || !isArray(collection) && isString(collection))
+               ? (fromIndex <= length && collection.indexOf(target, fromIndex) > -1)
+               : (!!length && getIndexOf(collection, target, fromIndex) > -1);
+           }
+
+           /**
+            * Creates an object composed of keys generated from the results of running
+            * each element of `collection` through `iteratee`. The corresponding value
+            * of each key is the last element responsible for generating the key. The
+            * iteratee function is bound to `thisArg` and invoked with three arguments:
+            * (value, index|key, collection).
+            *
+            * If a property name is provided for `iteratee` the created `_.property`
+            * style callback returns the property value of the given element.
+            *
+            * If a value is also provided for `thisArg` the created `_.matchesProperty`
+            * style callback returns `true` for elements that have a matching property
+            * value, else `false`.
+            *
+            * If an object is provided for `iteratee` the created `_.matches` style
+            * callback returns `true` for elements that have the properties of the given
+            * object, else `false`.
+            *
+            * @static
+            * @memberOf _
+            * @category Collection
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+            *  per iteration.
+            * @param {*} [thisArg] The `this` binding of `iteratee`.
+            * @returns {Object} Returns the composed aggregate object.
+            * @example
+            *
+            * var keyData = [
+            *   { 'dir': 'left', 'code': 97 },
+            *   { 'dir': 'right', 'code': 100 }
+            * ];
+            *
+            * _.indexBy(keyData, 'dir');
+            * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }
+            *
+            * _.indexBy(keyData, function(object) {
+            *   return String.fromCharCode(object.code);
+            * });
+            * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }
+            *
+            * _.indexBy(keyData, function(object) {
+            *   return this.fromCharCode(object.code);
+            * }, String);
+            * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }
+            */
+           var indexBy = createAggregator(function(result, value, key) {
+             result[key] = value;
+           });
+
+           /**
+            * Invokes the method at `path` of each element in `collection`, returning
+            * an array of the results of each invoked method. Any additional arguments
+            * are provided to each invoked method. If `methodName` is a function it is
+            * invoked for, and `this` bound to, each element in `collection`.
+            *
+            * @static
+            * @memberOf _
+            * @category Collection
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Array|Function|string} path The path of the method to invoke or
+            *  the function invoked per iteration.
+            * @param {...*} [args] The arguments to invoke the method with.
+            * @returns {Array} Returns the array of results.
+            * @example
+            *
+            * _.invoke([[5, 1, 7], [3, 2, 1]], 'sort');
+            * // => [[1, 5, 7], [1, 2, 3]]
+            *
+            * _.invoke([123, 456], String.prototype.split, '');
+            * // => [['1', '2', '3'], ['4', '5', '6']]
+            */
+           var invoke = restParam(function(collection, path, args) {
+             var index = -1,
+                 isFunc = typeof path == 'function',
+                 isProp = isKey(path),
+                 result = isArrayLike(collection) ? Array(collection.length) : [];
+
+             baseEach(collection, function(value) {
+               var func = isFunc ? path : ((isProp && value != null) ? value[path] : undefined);
+               result[++index] = func ? func.apply(value, args) : invokePath(value, path, args);
+             });
+             return result;
+           });
+
+           /**
+            * Creates an array of values by running each element in `collection` through
+            * `iteratee`. The `iteratee` is bound to `thisArg` and invoked with three
+            * arguments: (value, index|key, collection).
+            *
+            * If a property name is provided for `iteratee` the created `_.property`
+            * style callback returns the property value of the given element.
+            *
+            * If a value is also provided for `thisArg` the created `_.matchesProperty`
+            * style callback returns `true` for elements that have a matching property
+            * value, else `false`.
+            *
+            * If an object is provided for `iteratee` the created `_.matches` style
+            * callback returns `true` for elements that have the properties of the given
+            * object, else `false`.
+            *
+            * Many lodash methods are guarded to work as iteratees for methods like
+            * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.
+            *
+            * The guarded methods are:
+            * `ary`, `callback`, `chunk`, `clone`, `create`, `curry`, `curryRight`,
+            * `drop`, `dropRight`, `every`, `fill`, `flatten`, `invert`, `max`, `min`,
+            * `parseInt`, `slice`, `sortBy`, `take`, `takeRight`, `template`, `trim`,
+            * `trimLeft`, `trimRight`, `trunc`, `random`, `range`, `sample`, `some`,
+            * `sum`, `uniq`, and `words`
+            *
+            * @static
+            * @memberOf _
+            * @alias collect
+            * @category Collection
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+            *  per iteration.
+            * @param {*} [thisArg] The `this` binding of `iteratee`.
+            * @returns {Array} Returns the new mapped array.
+            * @example
+            *
+            * function timesThree(n) {
+            *   return n * 3;
+            * }
+            *
+            * _.map([1, 2], timesThree);
+            * // => [3, 6]
+            *
+            * _.map({ 'a': 1, 'b': 2 }, timesThree);
+            * // => [3, 6] (iteration order is not guaranteed)
+            *
+            * var users = [
+            *   { 'user': 'barney' },
+            *   { 'user': 'fred' }
+            * ];
+            *
+            * // using the `_.property` callback shorthand
+            * _.map(users, 'user');
+            * // => ['barney', 'fred']
+            */
+           function map(collection, iteratee, thisArg) {
+             var func = isArray(collection) ? arrayMap : baseMap;
+             iteratee = getCallback(iteratee, thisArg, 3);
+             return func(collection, iteratee);
+           }
+
+           /**
+            * Creates an array of elements split into two groups, the first of which
+            * contains elements `predicate` returns truthy for, while the second of which
+            * contains elements `predicate` returns falsey for. The predicate is bound
+            * to `thisArg` and invoked with three arguments: (value, index|key, collection).
+            *
+            * If a property name is provided for `predicate` the created `_.property`
+            * style callback returns the property value of the given element.
+            *
+            * If a value is also provided for `thisArg` the created `_.matchesProperty`
+            * style callback returns `true` for elements that have a matching property
+            * value, else `false`.
+            *
+            * If an object is provided for `predicate` the created `_.matches` style
+            * callback returns `true` for elements that have the properties of the given
+            * object, else `false`.
+            *
+            * @static
+            * @memberOf _
+            * @category Collection
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function|Object|string} [predicate=_.identity] The function invoked
+            *  per iteration.
+            * @param {*} [thisArg] The `this` binding of `predicate`.
+            * @returns {Array} Returns the array of grouped elements.
+            * @example
+            *
+            * _.partition([1, 2, 3], function(n) {
+            *   return n % 2;
+            * });
+            * // => [[1, 3], [2]]
+            *
+            * _.partition([1.2, 2.3, 3.4], function(n) {
+            *   return this.floor(n) % 2;
+            * }, Math);
+            * // => [[1.2, 3.4], [2.3]]
+            *
+            * var users = [
+            *   { 'user': 'barney',  'age': 36, 'active': false },
+            *   { 'user': 'fred',    'age': 40, 'active': true },
+            *   { 'user': 'pebbles', 'age': 1,  'active': false }
+            * ];
+            *
+            * var mapper = function(array) {
+            *   return _.pluck(array, 'user');
+            * };
+            *
+            * // using the `_.matches` callback shorthand
+            * _.map(_.partition(users, { 'age': 1, 'active': false }), mapper);
+            * // => [['pebbles'], ['barney', 'fred']]
+            *
+            * // using the `_.matchesProperty` callback shorthand
+            * _.map(_.partition(users, 'active', false), mapper);
+            * // => [['barney', 'pebbles'], ['fred']]
+            *
+            * // using the `_.property` callback shorthand
+            * _.map(_.partition(users, 'active'), mapper);
+            * // => [['fred'], ['barney', 'pebbles']]
+            */
+           var partition = createAggregator(function(result, value, key) {
+             result[key ? 0 : 1].push(value);
+           }, function() { return [[], []]; });
+
+           /**
+            * Gets the property value of `path` from all elements in `collection`.
+            *
+            * @static
+            * @memberOf _
+            * @category Collection
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Array|string} path The path of the property to pluck.
+            * @returns {Array} Returns the property values.
+            * @example
+            *
+            * var users = [
+            *   { 'user': 'barney', 'age': 36 },
+            *   { 'user': 'fred',   'age': 40 }
+            * ];
+            *
+            * _.pluck(users, 'user');
+            * // => ['barney', 'fred']
+            *
+            * var userIndex = _.indexBy(users, 'user');
+            * _.pluck(userIndex, 'age');
+            * // => [36, 40] (iteration order is not guaranteed)
+            */
+           function pluck(collection, path) {
+             return map(collection, property(path));
+           }
+
+           /**
+            * Reduces `collection` to a value which is the accumulated result of running
+            * each element in `collection` through `iteratee`, where each successive
+            * invocation is supplied the return value of the previous. If `accumulator`
+            * is not provided the first element of `collection` is used as the initial
+            * value. The `iteratee` is bound to `thisArg` and invoked with four arguments:
+            * (accumulator, value, index|key, collection).
+            *
+            * Many lodash methods are guarded to work as iteratees for methods like
+            * `_.reduce`, `_.reduceRight`, and `_.transform`.
+            *
+            * The guarded methods are:
+            * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `sortByAll`,
+            * and `sortByOrder`
+            *
+            * @static
+            * @memberOf _
+            * @alias foldl, inject
+            * @category Collection
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+            * @param {*} [accumulator] The initial value.
+            * @param {*} [thisArg] The `this` binding of `iteratee`.
+            * @returns {*} Returns the accumulated value.
+            * @example
+            *
+            * _.reduce([1, 2], function(total, n) {
+            *   return total + n;
+            * });
+            * // => 3
+            *
+            * _.reduce({ 'a': 1, 'b': 2 }, function(result, n, key) {
+            *   result[key] = n * 3;
+            *   return result;
+            * }, {});
+            * // => { 'a': 3, 'b': 6 } (iteration order is not guaranteed)
+            */
+           var reduce = createReduce(arrayReduce, baseEach);
+
+           /**
+            * This method is like `_.reduce` except that it iterates over elements of
+            * `collection` from right to left.
+            *
+            * @static
+            * @memberOf _
+            * @alias foldr
+            * @category Collection
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+            * @param {*} [accumulator] The initial value.
+            * @param {*} [thisArg] The `this` binding of `iteratee`.
+            * @returns {*} Returns the accumulated value.
+            * @example
+            *
+            * var array = [[0, 1], [2, 3], [4, 5]];
+            *
+            * _.reduceRight(array, function(flattened, other) {
+            *   return flattened.concat(other);
+            * }, []);
+            * // => [4, 5, 2, 3, 0, 1]
+            */
+           var reduceRight = createReduce(arrayReduceRight, baseEachRight);
+
+           /**
+            * The opposite of `_.filter`; this method returns the elements of `collection`
+            * that `predicate` does **not** return truthy for.
+            *
+            * @static
+            * @memberOf _
+            * @category Collection
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function|Object|string} [predicate=_.identity] The function invoked
+            *  per iteration.
+            * @param {*} [thisArg] The `this` binding of `predicate`.
+            * @returns {Array} Returns the new filtered array.
+            * @example
+            *
+            * _.reject([1, 2, 3, 4], function(n) {
+            *   return n % 2 == 0;
+            * });
+            * // => [1, 3]
+            *
+            * var users = [
+            *   { 'user': 'barney', 'age': 36, 'active': false },
+            *   { 'user': 'fred',   'age': 40, 'active': true }
+            * ];
+            *
+            * // using the `_.matches` callback shorthand
+            * _.pluck(_.reject(users, { 'age': 40, 'active': true }), 'user');
+            * // => ['barney']
+            *
+            * // using the `_.matchesProperty` callback shorthand
+            * _.pluck(_.reject(users, 'active', false), 'user');
+            * // => ['fred']
+            *
+            * // using the `_.property` callback shorthand
+            * _.pluck(_.reject(users, 'active'), 'user');
+            * // => ['barney']
+            */
+           function reject(collection, predicate, thisArg) {
+             var func = isArray(collection) ? arrayFilter : baseFilter;
+             predicate = getCallback(predicate, thisArg, 3);
+             return func(collection, function(value, index, collection) {
+               return !predicate(value, index, collection);
+             });
+           }
+
+           /**
+            * Gets a random element or `n` random elements from a collection.
+            *
+            * @static
+            * @memberOf _
+            * @category Collection
+            * @param {Array|Object|string} collection The collection to sample.
+            * @param {number} [n] The number of elements to sample.
+            * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+            * @returns {*} Returns the random sample(s).
+            * @example
+            *
+            * _.sample([1, 2, 3, 4]);
+            * // => 2
+            *
+            * _.sample([1, 2, 3, 4], 2);
+            * // => [3, 1]
+            */
+           function sample(collection, n, guard) {
+             if (guard ? isIterateeCall(collection, n, guard) : n == null) {
+               collection = toIterable(collection);
+               var length = collection.length;
+               return length > 0 ? collection[baseRandom(0, length - 1)] : undefined;
+             }
+             var index = -1,
+                 result = toArray(collection),
+                 length = result.length,
+                 lastIndex = length - 1;
+
+             n = nativeMin(n < 0 ? 0 : (+n || 0), length);
+             while (++index < n) {
+               var rand = baseRandom(index, lastIndex),
+                   value = result[rand];
+
+               result[rand] = result[index];
+               result[index] = value;
+             }
+             result.length = n;
+             return result;
+           }
+
+           /**
+            * Creates an array of shuffled values, using a version of the
+            * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).
+            *
+            * @static
+            * @memberOf _
+            * @category Collection
+            * @param {Array|Object|string} collection The collection to shuffle.
+            * @returns {Array} Returns the new shuffled array.
+            * @example
+            *
+            * _.shuffle([1, 2, 3, 4]);
+            * // => [4, 1, 3, 2]
+            */
+           function shuffle(collection) {
+             return sample(collection, POSITIVE_INFINITY);
+           }
+
+           /**
+            * Gets the size of `collection` by returning its length for array-like
+            * values or the number of own enumerable properties for objects.
+            *
+            * @static
+            * @memberOf _
+            * @category Collection
+            * @param {Array|Object|string} collection The collection to inspect.
+            * @returns {number} Returns the size of `collection`.
+            * @example
+            *
+            * _.size([1, 2, 3]);
+            * // => 3
+            *
+            * _.size({ 'a': 1, 'b': 2 });
+            * // => 2
+            *
+            * _.size('pebbles');
+            * // => 7
+            */
+           function size(collection) {
+             var length = collection ? getLength(collection) : 0;
+             return isLength(length) ? length : keys(collection).length;
+           }
+
+           /**
+            * Checks if `predicate` returns truthy for **any** element of `collection`.
+            * The function returns as soon as it finds a passing value and does not iterate
+            * over the entire collection. The predicate is bound to `thisArg` and invoked
+            * with three arguments: (value, index|key, collection).
+            *
+            * If a property name is provided for `predicate` the created `_.property`
+            * style callback returns the property value of the given element.
+            *
+            * If a value is also provided for `thisArg` the created `_.matchesProperty`
+            * style callback returns `true` for elements that have a matching property
+            * value, else `false`.
+            *
+            * If an object is provided for `predicate` the created `_.matches` style
+            * callback returns `true` for elements that have the properties of the given
+            * object, else `false`.
+            *
+            * @static
+            * @memberOf _
+            * @alias any
+            * @category Collection
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function|Object|string} [predicate=_.identity] The function invoked
+            *  per iteration.
+            * @param {*} [thisArg] The `this` binding of `predicate`.
+            * @returns {boolean} Returns `true` if any element passes the predicate check,
+            *  else `false`.
+            * @example
+            *
+            * _.some([null, 0, 'yes', false], Boolean);
+            * // => true
+            *
+            * var users = [
+            *   { 'user': 'barney', 'active': true },
+            *   { 'user': 'fred',   'active': false }
+            * ];
+            *
+            * // using the `_.matches` callback shorthand
+            * _.some(users, { 'user': 'barney', 'active': false });
+            * // => false
+            *
+            * // using the `_.matchesProperty` callback shorthand
+            * _.some(users, 'active', false);
+            * // => true
+            *
+            * // using the `_.property` callback shorthand
+            * _.some(users, 'active');
+            * // => true
+            */
+           function some(collection, predicate, thisArg) {
+             var func = isArray(collection) ? arraySome : baseSome;
+             if (thisArg && isIterateeCall(collection, predicate, thisArg)) {
+               predicate = undefined;
+             }
+             if (typeof predicate != 'function' || thisArg !== undefined) {
+               predicate = getCallback(predicate, thisArg, 3);
+             }
+             return func(collection, predicate);
+           }
+
+           /**
+            * Creates an array of elements, sorted in ascending order by the results of
+            * running each element in a collection through `iteratee`. This method performs
+            * a stable sort, that is, it preserves the original sort order of equal elements.
+            * The `iteratee` is bound to `thisArg` and invoked with three arguments:
+            * (value, index|key, collection).
+            *
+            * If a property name is provided for `iteratee` the created `_.property`
+            * style callback returns the property value of the given element.
+            *
+            * If a value is also provided for `thisArg` the created `_.matchesProperty`
+            * style callback returns `true` for elements that have a matching property
+            * value, else `false`.
+            *
+            * If an object is provided for `iteratee` the created `_.matches` style
+            * callback returns `true` for elements that have the properties of the given
+            * object, else `false`.
+            *
+            * @static
+            * @memberOf _
+            * @category Collection
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+            *  per iteration.
+            * @param {*} [thisArg] The `this` binding of `iteratee`.
+            * @returns {Array} Returns the new sorted array.
+            * @example
+            *
+            * _.sortBy([1, 2, 3], function(n) {
+            *   return Math.sin(n);
+            * });
+            * // => [3, 1, 2]
+            *
+            * _.sortBy([1, 2, 3], function(n) {
+            *   return this.sin(n);
+            * }, Math);
+            * // => [3, 1, 2]
+            *
+            * var users = [
+            *   { 'user': 'fred' },
+            *   { 'user': 'pebbles' },
+            *   { 'user': 'barney' }
+            * ];
+            *
+            * // using the `_.property` callback shorthand
+            * _.pluck(_.sortBy(users, 'user'), 'user');
+            * // => ['barney', 'fred', 'pebbles']
+            */
+           function sortBy(collection, iteratee, thisArg) {
+             if (collection == null) {
+               return [];
+             }
+             if (thisArg && isIterateeCall(collection, iteratee, thisArg)) {
+               iteratee = undefined;
+             }
+             var index = -1;
+             iteratee = getCallback(iteratee, thisArg, 3);
+
+             var result = baseMap(collection, function(value, key, collection) {
+               return { 'criteria': iteratee(value, key, collection), 'index': ++index, 'value': value };
+             });
+             return baseSortBy(result, compareAscending);
+           }
+
+           /**
+            * This method is like `_.sortBy` except that it can sort by multiple iteratees
+            * or property names.
+            *
+            * If a property name is provided for an iteratee the created `_.property`
+            * style callback returns the property value of the given element.
+            *
+            * If an object is provided for an iteratee the created `_.matches` style
+            * callback returns `true` for elements that have the properties of the given
+            * object, else `false`.
+            *
+            * @static
+            * @memberOf _
+            * @category Collection
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {...(Function|Function[]|Object|Object[]|string|string[])} iteratees
+            *  The iteratees to sort by, specified as individual values or arrays of values.
+            * @returns {Array} Returns the new sorted array.
+            * @example
+            *
+            * var users = [
+            *   { 'user': 'fred',   'age': 48 },
+            *   { 'user': 'barney', 'age': 36 },
+            *   { 'user': 'fred',   'age': 42 },
+            *   { 'user': 'barney', 'age': 34 }
+            * ];
+            *
+            * _.map(_.sortByAll(users, ['user', 'age']), _.values);
+            * // => [['barney', 34], ['barney', 36], ['fred', 42], ['fred', 48]]
+            *
+            * _.map(_.sortByAll(users, 'user', function(chr) {
+            *   return Math.floor(chr.age / 10);
+            * }), _.values);
+            * // => [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]]
+            */
+           var sortByAll = restParam(function(collection, iteratees) {
+             if (collection == null) {
+               return [];
+             }
+             var guard = iteratees[2];
+             if (guard && isIterateeCall(iteratees[0], iteratees[1], guard)) {
+               iteratees.length = 1;
+             }
+             return baseSortByOrder(collection, baseFlatten(iteratees), []);
+           });
+
+           /**
+            * This method is like `_.sortByAll` except that it allows specifying the
+            * sort orders of the iteratees to sort by. If `orders` is unspecified, all
+            * values are sorted in ascending order. Otherwise, a value is sorted in
+            * ascending order if its corresponding order is "asc", and descending if "desc".
+            *
+            * If a property name is provided for an iteratee the created `_.property`
+            * style callback returns the property value of the given element.
+            *
+            * If an object is provided for an iteratee the created `_.matches` style
+            * callback returns `true` for elements that have the properties of the given
+            * object, else `false`.
+            *
+            * @static
+            * @memberOf _
+            * @category Collection
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.
+            * @param {boolean[]} [orders] The sort orders of `iteratees`.
+            * @param- {Object} [guard] Enables use as a callback for functions like `_.reduce`.
+            * @returns {Array} Returns the new sorted array.
+            * @example
+            *
+            * var users = [
+            *   { 'user': 'fred',   'age': 48 },
+            *   { 'user': 'barney', 'age': 34 },
+            *   { 'user': 'fred',   'age': 42 },
+            *   { 'user': 'barney', 'age': 36 }
+            * ];
+            *
+            * // sort by `user` in ascending order and by `age` in descending order
+            * _.map(_.sortByOrder(users, ['user', 'age'], ['asc', 'desc']), _.values);
+            * // => [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]]
+            */
+           function sortByOrder(collection, iteratees, orders, guard) {
+             if (collection == null) {
+               return [];
+             }
+             if (guard && isIterateeCall(iteratees, orders, guard)) {
+               orders = undefined;
+             }
+             if (!isArray(iteratees)) {
+               iteratees = iteratees == null ? [] : [iteratees];
+             }
+             if (!isArray(orders)) {
+               orders = orders == null ? [] : [orders];
+             }
+             return baseSortByOrder(collection, iteratees, orders);
+           }
+
+           /**
+            * Performs a deep comparison between each element in `collection` and the
+            * source object, returning an array of all elements that have equivalent
+            * property values.
+            *
+            * **Note:** This method supports comparing arrays, booleans, `Date` objects,
+            * numbers, `Object` objects, regexes, and strings. Objects are compared by
+            * their own, not inherited, enumerable properties. For comparing a single
+            * own or inherited property value see `_.matchesProperty`.
+            *
+            * @static
+            * @memberOf _
+            * @category Collection
+            * @param {Array|Object|string} collection The collection to search.
+            * @param {Object} source The object of property values to match.
+            * @returns {Array} Returns the new filtered array.
+            * @example
+            *
+            * var users = [
+            *   { 'user': 'barney', 'age': 36, 'active': false, 'pets': ['hoppy'] },
+            *   { 'user': 'fred',   'age': 40, 'active': true, 'pets': ['baby puss', 'dino'] }
+            * ];
+            *
+            * _.pluck(_.where(users, { 'age': 36, 'active': false }), 'user');
+            * // => ['barney']
+            *
+            * _.pluck(_.where(users, { 'pets': ['dino'] }), 'user');
+            * // => ['fred']
+            */
+           function where(collection, source) {
+             return filter(collection, baseMatches(source));
+           }
+
+           /*------------------------------------------------------------------------*/
+
+           /**
+            * Gets the number of milliseconds that have elapsed since the Unix epoch
+            * (1 January 1970 00:00:00 UTC).
+            *
+            * @static
+            * @memberOf _
+            * @category Date
+            * @example
+            *
+            * _.defer(function(stamp) {
+            *   console.log(_.now() - stamp);
+            * }, _.now());
+            * // => logs the number of milliseconds it took for the deferred function to be invoked
+            */
+           var now = nativeNow || function() {
+             return new Date().getTime();
+           };
+
+           /*------------------------------------------------------------------------*/
+
+           /**
+            * The opposite of `_.before`; this method creates a function that invokes
+            * `func` once it is called `n` or more times.
+            *
+            * @static
+            * @memberOf _
+            * @category Function
+            * @param {number} n The number of calls before `func` is invoked.
+            * @param {Function} func The function to restrict.
+            * @returns {Function} Returns the new restricted function.
+            * @example
+            *
+            * var saves = ['profile', 'settings'];
+            *
+            * var done = _.after(saves.length, function() {
+            *   console.log('done saving!');
+            * });
+            *
+            * _.forEach(saves, function(type) {
+            *   asyncSave({ 'type': type, 'complete': done });
+            * });
+            * // => logs 'done saving!' after the two async saves have completed
+            */
+           function after(n, func) {
+             if (typeof func != 'function') {
+               if (typeof n == 'function') {
+                 var temp = n;
+                 n = func;
+                 func = temp;
+               } else {
+                 throw new TypeError(FUNC_ERROR_TEXT);
+               }
+             }
+             n = nativeIsFinite(n = +n) ? n : 0;
+             return function() {
+               if (--n < 1) {
+                 return func.apply(this, arguments);
+               }
+             };
+           }
+
+           /**
+            * Creates a function that accepts up to `n` arguments ignoring any
+            * additional arguments.
+            *
+            * @static
+            * @memberOf _
+            * @category Function
+            * @param {Function} func The function to cap arguments for.
+            * @param {number} [n=func.length] The arity cap.
+            * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+            * @returns {Function} Returns the new function.
+            * @example
+            *
+            * _.map(['6', '8', '10'], _.ary(parseInt, 1));
+            * // => [6, 8, 10]
+            */
+           function ary(func, n, guard) {
+             if (guard && isIterateeCall(func, n, guard)) {
+               n = undefined;
+             }
+             n = (func && n == null) ? func.length : nativeMax(+n || 0, 0);
+             return createWrapper(func, ARY_FLAG, undefined, undefined, undefined, undefined, n);
+           }
+
+           /**
+            * Creates a function that invokes `func`, with the `this` binding and arguments
+            * of the created function, while it is called less than `n` times. Subsequent
+            * calls to the created function return the result of the last `func` invocation.
+            *
+            * @static
+            * @memberOf _
+            * @category Function
+            * @param {number} n The number of calls at which `func` is no longer invoked.
+            * @param {Function} func The function to restrict.
+            * @returns {Function} Returns the new restricted function.
+            * @example
+            *
+            * jQuery('#add').on('click', _.before(5, addContactToList));
+            * // => allows adding up to 4 contacts to the list
+            */
+           function before(n, func) {
+             var result;
+             if (typeof func != 'function') {
+               if (typeof n == 'function') {
+                 var temp = n;
+                 n = func;
+                 func = temp;
+               } else {
+                 throw new TypeError(FUNC_ERROR_TEXT);
+               }
+             }
+             return function() {
+               if (--n > 0) {
+                 result = func.apply(this, arguments);
+               }
+               if (n <= 1) {
+                 func = undefined;
+               }
+               return result;
+             };
+           }
+
+           /**
+            * Creates a function that invokes `func` with the `this` binding of `thisArg`
+            * and prepends any additional `_.bind` arguments to those provided to the
+            * bound function.
+            *
+            * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,
+            * may be used as a placeholder for partially applied arguments.
+            *
+            * **Note:** Unlike native `Function#bind` this method does not set the "length"
+            * property of bound functions.
+            *
+            * @static
+            * @memberOf _
+            * @category Function
+            * @param {Function} func The function to bind.
+            * @param {*} thisArg The `this` binding of `func`.
+            * @param {...*} [partials] The arguments to be partially applied.
+            * @returns {Function} Returns the new bound function.
+            * @example
+            *
+            * var greet = function(greeting, punctuation) {
+            *   return greeting + ' ' + this.user + punctuation;
+            * };
+            *
+            * var object = { 'user': 'fred' };
+            *
+            * var bound = _.bind(greet, object, 'hi');
+            * bound('!');
+            * // => 'hi fred!'
+            *
+            * // using placeholders
+            * var bound = _.bind(greet, object, _, '!');
+            * bound('hi');
+            * // => 'hi fred!'
+            */
+           var bind = restParam(function(func, thisArg, partials) {
+             var bitmask = BIND_FLAG;
+             if (partials.length) {
+               var holders = replaceHolders(partials, bind.placeholder);
+               bitmask |= PARTIAL_FLAG;
+             }
+             return createWrapper(func, bitmask, thisArg, partials, holders);
+           });
+
+           /**
+            * Binds methods of an object to the object itself, overwriting the existing
+            * method. Method names may be specified as individual arguments or as arrays
+            * of method names. If no method names are provided all enumerable function
+            * properties, own and inherited, of `object` are bound.
+            *
+            * **Note:** This method does not set the "length" property of bound functions.
+            *
+            * @static
+            * @memberOf _
+            * @category Function
+            * @param {Object} object The object to bind and assign the bound methods to.
+            * @param {...(string|string[])} [methodNames] The object method names to bind,
+            *  specified as individual method names or arrays of method names.
+            * @returns {Object} Returns `object`.
+            * @example
+            *
+            * var view = {
+            *   'label': 'docs',
+            *   'onClick': function() {
+            *     console.log('clicked ' + this.label);
+            *   }
+            * };
+            *
+            * _.bindAll(view);
+            * jQuery('#docs').on('click', view.onClick);
+            * // => logs 'clicked docs' when the element is clicked
+            */
+           var bindAll = restParam(function(object, methodNames) {
+             methodNames = methodNames.length ? baseFlatten(methodNames) : functions(object);
+
+             var index = -1,
+                 length = methodNames.length;
+
+             while (++index < length) {
+               var key = methodNames[index];
+               object[key] = createWrapper(object[key], BIND_FLAG, object);
+             }
+             return object;
+           });
+
+           /**
+            * Creates a function that invokes the method at `object[key]` and prepends
+            * any additional `_.bindKey` arguments to those provided to the bound function.
+            *
+            * This method differs from `_.bind` by allowing bound functions to reference
+            * methods that may be redefined or don't yet exist.
+            * See [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)
+            * for more details.
+            *
+            * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic
+            * builds, may be used as a placeholder for partially applied arguments.
+            *
+            * @static
+            * @memberOf _
+            * @category Function
+            * @param {Object} object The object the method belongs to.
+            * @param {string} key The key of the method.
+            * @param {...*} [partials] The arguments to be partially applied.
+            * @returns {Function} Returns the new bound function.
+            * @example
+            *
+            * var object = {
+            *   'user': 'fred',
+            *   'greet': function(greeting, punctuation) {
+            *     return greeting + ' ' + this.user + punctuation;
+            *   }
+            * };
+            *
+            * var bound = _.bindKey(object, 'greet', 'hi');
+            * bound('!');
+            * // => 'hi fred!'
+            *
+            * object.greet = function(greeting, punctuation) {
+            *   return greeting + 'ya ' + this.user + punctuation;
+            * };
+            *
+            * bound('!');
+            * // => 'hiya fred!'
+            *
+            * // using placeholders
+            * var bound = _.bindKey(object, 'greet', _, '!');
+            * bound('hi');
+            * // => 'hiya fred!'
+            */
+           var bindKey = restParam(function(object, key, partials) {
+             var bitmask = BIND_FLAG | BIND_KEY_FLAG;
+             if (partials.length) {
+               var holders = replaceHolders(partials, bindKey.placeholder);
+               bitmask |= PARTIAL_FLAG;
+             }
+             return createWrapper(key, bitmask, object, partials, holders);
+           });
+
+           /**
+            * Creates a function that accepts one or more arguments of `func` that when
+            * called either invokes `func` returning its result, if all `func` arguments
+            * have been provided, or returns a function that accepts one or more of the
+            * remaining `func` arguments, and so on. The arity of `func` may be specified
+            * if `func.length` is not sufficient.
+            *
+            * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,
+            * may be used as a placeholder for provided arguments.
+            *
+            * **Note:** This method does not set the "length" property of curried functions.
+            *
+            * @static
+            * @memberOf _
+            * @category Function
+            * @param {Function} func The function to curry.
+            * @param {number} [arity=func.length] The arity of `func`.
+            * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+            * @returns {Function} Returns the new curried function.
+            * @example
+            *
+            * var abc = function(a, b, c) {
+            *   return [a, b, c];
+            * };
+            *
+            * var curried = _.curry(abc);
+            *
+            * curried(1)(2)(3);
+            * // => [1, 2, 3]
+            *
+            * curried(1, 2)(3);
+            * // => [1, 2, 3]
+            *
+            * curried(1, 2, 3);
+            * // => [1, 2, 3]
+            *
+            * // using placeholders
+            * curried(1)(_, 3)(2);
+            * // => [1, 2, 3]
+            */
+           var curry = createCurry(CURRY_FLAG);
+
+           /**
+            * This method is like `_.curry` except that arguments are applied to `func`
+            * in the manner of `_.partialRight` instead of `_.partial`.
+            *
+            * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic
+            * builds, may be used as a placeholder for provided arguments.
+            *
+            * **Note:** This method does not set the "length" property of curried functions.
+            *
+            * @static
+            * @memberOf _
+            * @category Function
+            * @param {Function} func The function to curry.
+            * @param {number} [arity=func.length] The arity of `func`.
+            * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+            * @returns {Function} Returns the new curried function.
+            * @example
+            *
+            * var abc = function(a, b, c) {
+            *   return [a, b, c];
+            * };
+            *
+            * var curried = _.curryRight(abc);
+            *
+            * curried(3)(2)(1);
+            * // => [1, 2, 3]
+            *
+            * curried(2, 3)(1);
+            * // => [1, 2, 3]
+            *
+            * curried(1, 2, 3);
+            * // => [1, 2, 3]
+            *
+            * // using placeholders
+            * curried(3)(1, _)(2);
+            * // => [1, 2, 3]
+            */
+           var curryRight = createCurry(CURRY_RIGHT_FLAG);
+
+           /**
+            * Creates a debounced function that delays invoking `func` until after `wait`
+            * milliseconds have elapsed since the last time the debounced function was
+            * invoked. The debounced function comes with a `cancel` method to cancel
+            * delayed invocations. Provide an options object to indicate that `func`
+            * should be invoked on the leading and/or trailing edge of the `wait` timeout.
+            * Subsequent calls to the debounced function return the result of the last
+            * `func` invocation.
+            *
+            * **Note:** If `leading` and `trailing` options are `true`, `func` is invoked
+            * on the trailing edge of the timeout only if the the debounced function is
+            * invoked more than once during the `wait` timeout.
+            *
+            * See [David Corbacho's article](http://drupalmotion.com/article/debounce-and-throttle-visual-explanation)
+            * for details over the differences between `_.debounce` and `_.throttle`.
+            *
+            * @static
+            * @memberOf _
+            * @category Function
+            * @param {Function} func The function to debounce.
+            * @param {number} [wait=0] The number of milliseconds to delay.
+            * @param {Object} [options] The options object.
+            * @param {boolean} [options.leading=false] Specify invoking on the leading
+            *  edge of the timeout.
+            * @param {number} [options.maxWait] The maximum time `func` is allowed to be
+            *  delayed before it is invoked.
+            * @param {boolean} [options.trailing=true] Specify invoking on the trailing
+            *  edge of the timeout.
+            * @returns {Function} Returns the new debounced function.
+            * @example
+            *
+            * // avoid costly calculations while the window size is in flux
+            * jQuery(window).on('resize', _.debounce(calculateLayout, 150));
+            *
+            * // invoke `sendMail` when the click event is fired, debouncing subsequent calls
+            * jQuery('#postbox').on('click', _.debounce(sendMail, 300, {
+            *   'leading': true,
+            *   'trailing': false
+            * }));
+            *
+            * // ensure `batchLog` is invoked once after 1 second of debounced calls
+            * var source = new EventSource('/stream');
+            * jQuery(source).on('message', _.debounce(batchLog, 250, {
+            *   'maxWait': 1000
+            * }));
+            *
+            * // cancel a debounced call
+            * var todoChanges = _.debounce(batchLog, 1000);
+            * Object.observe(models.todo, todoChanges);
+            *
+            * Object.observe(models, function(changes) {
+            *   if (_.find(changes, { 'user': 'todo', 'type': 'delete'})) {
+            *     todoChanges.cancel();
+            *   }
+            * }, ['delete']);
+            *
+            * // ...at some point `models.todo` is changed
+            * models.todo.completed = true;
+            *
+            * // ...before 1 second has passed `models.todo` is deleted
+            * // which cancels the debounced `todoChanges` call
+            * delete models.todo;
+            */
+           function debounce(func, wait, options) {
+             var args,
+                 maxTimeoutId,
+                 result,
+                 stamp,
+                 thisArg,
+                 timeoutId,
+                 trailingCall,
+                 lastCalled = 0,
+                 maxWait = false,
+                 trailing = true;
+
+             if (typeof func != 'function') {
+               throw new TypeError(FUNC_ERROR_TEXT);
+             }
+             wait = wait < 0 ? 0 : (+wait || 0);
+             if (options === true) {
+               var leading = true;
+               trailing = false;
+             } else if (isObject(options)) {
+               leading = !!options.leading;
+               maxWait = 'maxWait' in options && nativeMax(+options.maxWait || 0, wait);
+               trailing = 'trailing' in options ? !!options.trailing : trailing;
+             }
+
+             function cancel() {
+               if (timeoutId) {
+                 clearTimeout(timeoutId);
+               }
+               if (maxTimeoutId) {
+                 clearTimeout(maxTimeoutId);
+               }
+               lastCalled = 0;
+               maxTimeoutId = timeoutId = trailingCall = undefined;
+             }
+
+             function complete(isCalled, id) {
+               if (id) {
+                 clearTimeout(id);
+               }
+               maxTimeoutId = timeoutId = trailingCall = undefined;
+               if (isCalled) {
+                 lastCalled = now();
+                 result = func.apply(thisArg, args);
+                 if (!timeoutId && !maxTimeoutId) {
+                   args = thisArg = undefined;
+                 }
+               }
+             }
+
+             function delayed() {
+               var remaining = wait - (now() - stamp);
+               if (remaining <= 0 || remaining > wait) {
+                 complete(trailingCall, maxTimeoutId);
+               } else {
+                 timeoutId = setTimeout(delayed, remaining);
+               }
+             }
+
+             function maxDelayed() {
+               complete(trailing, timeoutId);
+             }
+
+             function debounced() {
+               args = arguments;
+               stamp = now();
+               thisArg = this;
+               trailingCall = trailing && (timeoutId || !leading);
+
+               if (maxWait === false) {
+                 var leadingCall = leading && !timeoutId;
+               } else {
+                 if (!maxTimeoutId && !leading) {
+                   lastCalled = stamp;
+                 }
+                 var remaining = maxWait - (stamp - lastCalled),
+                     isCalled = remaining <= 0 || remaining > maxWait;
+
+                 if (isCalled) {
+                   if (maxTimeoutId) {
+                     maxTimeoutId = clearTimeout(maxTimeoutId);
+                   }
+                   lastCalled = stamp;
+                   result = func.apply(thisArg, args);
+                 }
+                 else if (!maxTimeoutId) {
+                   maxTimeoutId = setTimeout(maxDelayed, remaining);
+                 }
+               }
+               if (isCalled && timeoutId) {
+                 timeoutId = clearTimeout(timeoutId);
+               }
+               else if (!timeoutId && wait !== maxWait) {
+                 timeoutId = setTimeout(delayed, wait);
+               }
+               if (leadingCall) {
+                 isCalled = true;
+                 result = func.apply(thisArg, args);
+               }
+               if (isCalled && !timeoutId && !maxTimeoutId) {
+                 args = thisArg = undefined;
+               }
+               return result;
+             }
+             debounced.cancel = cancel;
+             return debounced;
+           }
+
+           /**
+            * Defers invoking the `func` until the current call stack has cleared. Any
+            * additional arguments are provided to `func` when it is invoked.
+            *
+            * @static
+            * @memberOf _
+            * @category Function
+            * @param {Function} func The function to defer.
+            * @param {...*} [args] The arguments to invoke the function with.
+            * @returns {number} Returns the timer id.
+            * @example
+            *
+            * _.defer(function(text) {
+            *   console.log(text);
+            * }, 'deferred');
+            * // logs 'deferred' after one or more milliseconds
+            */
+           var defer = restParam(function(func, args) {
+             return baseDelay(func, 1, args);
+           });
+
+           /**
+            * Invokes `func` after `wait` milliseconds. Any additional arguments are
+            * provided to `func` when it is invoked.
+            *
+            * @static
+            * @memberOf _
+            * @category Function
+            * @param {Function} func The function to delay.
+            * @param {number} wait The number of milliseconds to delay invocation.
+            * @param {...*} [args] The arguments to invoke the function with.
+            * @returns {number} Returns the timer id.
+            * @example
+            *
+            * _.delay(function(text) {
+            *   console.log(text);
+            * }, 1000, 'later');
+            * // => logs 'later' after one second
+            */
+           var delay = restParam(function(func, wait, args) {
+             return baseDelay(func, wait, args);
+           });
+
+           /**
+            * Creates a function that returns the result of invoking the provided
+            * functions with the `this` binding of the created function, where each
+            * successive invocation is supplied the return value of the previous.
+            *
+            * @static
+            * @memberOf _
+            * @category Function
+            * @param {...Function} [funcs] Functions to invoke.
+            * @returns {Function} Returns the new function.
+            * @example
+            *
+            * function square(n) {
+            *   return n * n;
+            * }
+            *
+            * var addSquare = _.flow(_.add, square);
+            * addSquare(1, 2);
+            * // => 9
+            */
+           var flow = createFlow();
+
+           /**
+            * This method is like `_.flow` except that it creates a function that
+            * invokes the provided functions from right to left.
+            *
+            * @static
+            * @memberOf _
+            * @alias backflow, compose
+            * @category Function
+            * @param {...Function} [funcs] Functions to invoke.
+            * @returns {Function} Returns the new function.
+            * @example
+            *
+            * function square(n) {
+            *   return n * n;
+            * }
+            *
+            * var addSquare = _.flowRight(square, _.add);
+            * addSquare(1, 2);
+            * // => 9
+            */
+           var flowRight = createFlow(true);
+
+           /**
+            * Creates a function that memoizes the result of `func`. If `resolver` is
+            * provided it determines the cache key for storing the result based on the
+            * arguments provided to the memoized function. By default, the first argument
+            * provided to the memoized function is coerced to a string and used as the
+            * cache key. The `func` is invoked with the `this` binding of the memoized
+            * function.
+            *
+            * **Note:** The cache is exposed as the `cache` property on the memoized
+            * function. Its creation may be customized by replacing the `_.memoize.Cache`
+            * constructor with one whose instances implement the [`Map`](http://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-map-prototype-object)
+            * method interface of `get`, `has`, and `set`.
+            *
+            * @static
+            * @memberOf _
+            * @category Function
+            * @param {Function} func The function to have its output memoized.
+            * @param {Function} [resolver] The function to resolve the cache key.
+            * @returns {Function} Returns the new memoizing function.
+            * @example
+            *
+            * var upperCase = _.memoize(function(string) {
+            *   return string.toUpperCase();
+            * });
+            *
+            * upperCase('fred');
+            * // => 'FRED'
+            *
+            * // modifying the result cache
+            * upperCase.cache.set('fred', 'BARNEY');
+            * upperCase('fred');
+            * // => 'BARNEY'
+            *
+            * // replacing `_.memoize.Cache`
+            * var object = { 'user': 'fred' };
+            * var other = { 'user': 'barney' };
+            * var identity = _.memoize(_.identity);
+            *
+            * identity(object);
+            * // => { 'user': 'fred' }
+            * identity(other);
+            * // => { 'user': 'fred' }
+            *
+            * _.memoize.Cache = WeakMap;
+            * var identity = _.memoize(_.identity);
+            *
+            * identity(object);
+            * // => { 'user': 'fred' }
+            * identity(other);
+            * // => { 'user': 'barney' }
+            */
+           function memoize(func, resolver) {
+             if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {
+               throw new TypeError(FUNC_ERROR_TEXT);
+             }
+             var memoized = function() {
+               var args = arguments,
+                   key = resolver ? resolver.apply(this, args) : args[0],
+                   cache = memoized.cache;
+
+               if (cache.has(key)) {
+                 return cache.get(key);
+               }
+               var result = func.apply(this, args);
+               memoized.cache = cache.set(key, result);
+               return result;
+             };
+             memoized.cache = new memoize.Cache;
+             return memoized;
+           }
+
+           /**
+            * Creates a function that runs each argument through a corresponding
+            * transform function.
+            *
+            * @static
+            * @memberOf _
+            * @category Function
+            * @param {Function} func The function to wrap.
+            * @param {...(Function|Function[])} [transforms] The functions to transform
+            * arguments, specified as individual functions or arrays of functions.
+            * @returns {Function} Returns the new function.
+            * @example
+            *
+            * function doubled(n) {
+            *   return n * 2;
+            * }
+            *
+            * function square(n) {
+            *   return n * n;
+            * }
+            *
+            * var modded = _.modArgs(function(x, y) {
+            *   return [x, y];
+            * }, square, doubled);
+            *
+            * modded(1, 2);
+            * // => [1, 4]
+            *
+            * modded(5, 10);
+            * // => [25, 20]
+            */
+           var modArgs = restParam(function(func, transforms) {
+             transforms = baseFlatten(transforms);
+             if (typeof func != 'function' || !arrayEvery(transforms, baseIsFunction)) {
+               throw new TypeError(FUNC_ERROR_TEXT);
+             }
+             var length = transforms.length;
+             return restParam(function(args) {
+               var index = nativeMin(args.length, length);
+               while (index--) {
+                 args[index] = transforms[index](args[index]);
+               }
+               return func.apply(this, args);
+             });
+           });
+
+           /**
+            * Creates a function that negates the result of the predicate `func`. The
+            * `func` predicate is invoked with the `this` binding and arguments of the
+            * created function.
+            *
+            * @static
+            * @memberOf _
+            * @category Function
+            * @param {Function} predicate The predicate to negate.
+            * @returns {Function} Returns the new function.
+            * @example
+            *
+            * function isEven(n) {
+            *   return n % 2 == 0;
+            * }
+            *
+            * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));
+            * // => [1, 3, 5]
+            */
+           function negate(predicate) {
+             if (typeof predicate != 'function') {
+               throw new TypeError(FUNC_ERROR_TEXT);
+             }
+             return function() {
+               return !predicate.apply(this, arguments);
+             };
+           }
+
+           /**
+            * Creates a function that is restricted to invoking `func` once. Repeat calls
+            * to the function return the value of the first call. The `func` is invoked
+            * with the `this` binding and arguments of the created function.
+            *
+            * @static
+            * @memberOf _
+            * @category Function
+            * @param {Function} func The function to restrict.
+            * @returns {Function} Returns the new restricted function.
+            * @example
+            *
+            * var initialize = _.once(createApplication);
+            * initialize();
+            * initialize();
+            * // `initialize` invokes `createApplication` once
+            */
+           function once(func) {
+             return before(2, func);
+           }
+
+           /**
+            * Creates a function that invokes `func` with `partial` arguments prepended
+            * to those provided to the new function. This method is like `_.bind` except
+            * it does **not** alter the `this` binding.
+            *
+            * The `_.partial.placeholder` value, which defaults to `_` in monolithic
+            * builds, may be used as a placeholder for partially applied arguments.
+            *
+            * **Note:** This method does not set the "length" property of partially
+            * applied functions.
+            *
+            * @static
+            * @memberOf _
+            * @category Function
+            * @param {Function} func The function to partially apply arguments to.
+            * @param {...*} [partials] The arguments to be partially applied.
+            * @returns {Function} Returns the new partially applied function.
+            * @example
+            *
+            * var greet = function(greeting, name) {
+            *   return greeting + ' ' + name;
+            * };
+            *
+            * var sayHelloTo = _.partial(greet, 'hello');
+            * sayHelloTo('fred');
+            * // => 'hello fred'
+            *
+            * // using placeholders
+            * var greetFred = _.partial(greet, _, 'fred');
+            * greetFred('hi');
+            * // => 'hi fred'
+            */
+           var partial = createPartial(PARTIAL_FLAG);
+
+           /**
+            * This method is like `_.partial` except that partially applied arguments
+            * are appended to those provided to the new function.
+            *
+            * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic
+            * builds, may be used as a placeholder for partially applied arguments.
+            *
+            * **Note:** This method does not set the "length" property of partially
+            * applied functions.
+            *
+            * @static
+            * @memberOf _
+            * @category Function
+            * @param {Function} func The function to partially apply arguments to.
+            * @param {...*} [partials] The arguments to be partially applied.
+            * @returns {Function} Returns the new partially applied function.
+            * @example
+            *
+            * var greet = function(greeting, name) {
+            *   return greeting + ' ' + name;
+            * };
+            *
+            * var greetFred = _.partialRight(greet, 'fred');
+            * greetFred('hi');
+            * // => 'hi fred'
+            *
+            * // using placeholders
+            * var sayHelloTo = _.partialRight(greet, 'hello', _);
+            * sayHelloTo('fred');
+            * // => 'hello fred'
+            */
+           var partialRight = createPartial(PARTIAL_RIGHT_FLAG);
+
+           /**
+            * Creates a function that invokes `func` with arguments arranged according
+            * to the specified indexes where the argument value at the first index is
+            * provided as the first argument, the argument value at the second index is
+            * provided as the second argument, and so on.
+            *
+            * @static
+            * @memberOf _
+            * @category Function
+            * @param {Function} func The function to rearrange arguments for.
+            * @param {...(number|number[])} indexes The arranged argument indexes,
+            *  specified as individual indexes or arrays of indexes.
+            * @returns {Function} Returns the new function.
+            * @example
+            *
+            * var rearged = _.rearg(function(a, b, c) {
+            *   return [a, b, c];
+            * }, 2, 0, 1);
+            *
+            * rearged('b', 'c', 'a')
+            * // => ['a', 'b', 'c']
+            *
+            * var map = _.rearg(_.map, [1, 0]);
+            * map(function(n) {
+            *   return n * 3;
+            * }, [1, 2, 3]);
+            * // => [3, 6, 9]
+            */
+           var rearg = restParam(function(func, indexes) {
+             return createWrapper(func, REARG_FLAG, undefined, undefined, undefined, baseFlatten(indexes));
+           });
+
+           /**
+            * Creates a function that invokes `func` with the `this` binding of the
+            * created function and arguments from `start` and beyond provided as an array.
+            *
+            * **Note:** This method is based on the [rest parameter](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters).
+            *
+            * @static
+            * @memberOf _
+            * @category Function
+            * @param {Function} func The function to apply a rest parameter to.
+            * @param {number} [start=func.length-1] The start position of the rest parameter.
+            * @returns {Function} Returns the new function.
+            * @example
+            *
+            * var say = _.restParam(function(what, names) {
+            *   return what + ' ' + _.initial(names).join(', ') +
+            *     (_.size(names) > 1 ? ', & ' : '') + _.last(names);
+            * });
+            *
+            * say('hello', 'fred', 'barney', 'pebbles');
+            * // => 'hello fred, barney, & pebbles'
+            */
+           function restParam(func, start) {
+             if (typeof func != 'function') {
+               throw new TypeError(FUNC_ERROR_TEXT);
+             }
+             start = nativeMax(start === undefined ? (func.length - 1) : (+start || 0), 0);
+             return function() {
+               var args = arguments,
+                   index = -1,
+                   length = nativeMax(args.length - start, 0),
+                   rest = Array(length);
+
+               while (++index < length) {
+                 rest[index] = args[start + index];
+               }
+               switch (start) {
+                 case 0: return func.call(this, rest);
+                 case 1: return func.call(this, args[0], rest);
+                 case 2: return func.call(this, args[0], args[1], rest);
+               }
+               var otherArgs = Array(start + 1);
+               index = -1;
+               while (++index < start) {
+                 otherArgs[index] = args[index];
+               }
+               otherArgs[start] = rest;
+               return func.apply(this, otherArgs);
+             };
+           }
+
+           /**
+            * Creates a function that invokes `func` with the `this` binding of the created
+            * function and an array of arguments much like [`Function#apply`](https://es5.github.io/#x15.3.4.3).
+            *
+            * **Note:** This method is based on the [spread operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator).
+            *
+            * @static
+            * @memberOf _
+            * @category Function
+            * @param {Function} func The function to spread arguments over.
+            * @returns {Function} Returns the new function.
+            * @example
+            *
+            * var say = _.spread(function(who, what) {
+            *   return who + ' says ' + what;
+            * });
+            *
+            * say(['fred', 'hello']);
+            * // => 'fred says hello'
+            *
+            * // with a Promise
+            * var numbers = Promise.all([
+            *   Promise.resolve(40),
+            *   Promise.resolve(36)
+            * ]);
+            *
+            * numbers.then(_.spread(function(x, y) {
+            *   return x + y;
+            * }));
+            * // => a Promise of 76
+            */
+           function spread(func) {
+             if (typeof func != 'function') {
+               throw new TypeError(FUNC_ERROR_TEXT);
+             }
+             return function(array) {
+               return func.apply(this, array);
+             };
+           }
+
+           /**
+            * Creates a throttled function that only invokes `func` at most once per
+            * every `wait` milliseconds. The throttled function comes with a `cancel`
+            * method to cancel delayed invocations. Provide an options object to indicate
+            * that `func` should be invoked on the leading and/or trailing edge of the
+            * `wait` timeout. Subsequent calls to the throttled function return the
+            * result of the last `func` call.
+            *
+            * **Note:** If `leading` and `trailing` options are `true`, `func` is invoked
+            * on the trailing edge of the timeout only if the the throttled function is
+            * invoked more than once during the `wait` timeout.
+            *
+            * See [David Corbacho's article](http://drupalmotion.com/article/debounce-and-throttle-visual-explanation)
+            * for details over the differences between `_.throttle` and `_.debounce`.
+            *
+            * @static
+            * @memberOf _
+            * @category Function
+            * @param {Function} func The function to throttle.
+            * @param {number} [wait=0] The number of milliseconds to throttle invocations to.
+            * @param {Object} [options] The options object.
+            * @param {boolean} [options.leading=true] Specify invoking on the leading
+            *  edge of the timeout.
+            * @param {boolean} [options.trailing=true] Specify invoking on the trailing
+            *  edge of the timeout.
+            * @returns {Function} Returns the new throttled function.
+            * @example
+            *
+            * // avoid excessively updating the position while scrolling
+            * jQuery(window).on('scroll', _.throttle(updatePosition, 100));
+            *
+            * // invoke `renewToken` when the click event is fired, but not more than once every 5 minutes
+            * jQuery('.interactive').on('click', _.throttle(renewToken, 300000, {
+            *   'trailing': false
+            * }));
+            *
+            * // cancel a trailing throttled call
+            * jQuery(window).on('popstate', throttled.cancel);
+            */
+           function throttle(func, wait, options) {
+             var leading = true,
+                 trailing = true;
+
+             if (typeof func != 'function') {
+               throw new TypeError(FUNC_ERROR_TEXT);
+             }
+             if (options === false) {
+               leading = false;
+             } else if (isObject(options)) {
+               leading = 'leading' in options ? !!options.leading : leading;
+               trailing = 'trailing' in options ? !!options.trailing : trailing;
+             }
+             return debounce(func, wait, { 'leading': leading, 'maxWait': +wait, 'trailing': trailing });
+           }
+
+           /**
+            * Creates a function that provides `value` to the wrapper function as its
+            * first argument. Any additional arguments provided to the function are
+            * appended to those provided to the wrapper function. The wrapper is invoked
+            * with the `this` binding of the created function.
+            *
+            * @static
+            * @memberOf _
+            * @category Function
+            * @param {*} value The value to wrap.
+            * @param {Function} wrapper The wrapper function.
+            * @returns {Function} Returns the new function.
+            * @example
+            *
+            * var p = _.wrap(_.escape, function(func, text) {
+            *   return '<p>' + func(text) + '</p>';
+            * });
+            *
+            * p('fred, barney, & pebbles');
+            * // => '<p>fred, barney, &amp; pebbles</p>'
+            */
+           function wrap(value, wrapper) {
+             wrapper = wrapper == null ? identity : wrapper;
+             return createWrapper(wrapper, PARTIAL_FLAG, undefined, [value], []);
+           }
+
+           /*------------------------------------------------------------------------*/
+
+           /**
+            * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,
+            * otherwise they are assigned by reference. If `customizer` is provided it is
+            * invoked to produce the cloned values. If `customizer` returns `undefined`
+            * cloning is handled by the method instead. The `customizer` is bound to
+            * `thisArg` and invoked with two argument; (value [, index|key, object]).
+            *
+            * **Note:** This method is loosely based on the
+            * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).
+            * The enumerable properties of `arguments` objects and objects created by
+            * constructors other than `Object` are cloned to plain `Object` objects. An
+            * empty object is returned for uncloneable values such as functions, DOM nodes,
+            * Maps, Sets, and WeakMaps.
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {*} value The value to clone.
+            * @param {boolean} [isDeep] Specify a deep clone.
+            * @param {Function} [customizer] The function to customize cloning values.
+            * @param {*} [thisArg] The `this` binding of `customizer`.
+            * @returns {*} Returns the cloned value.
+            * @example
+            *
+            * var users = [
+            *   { 'user': 'barney' },
+            *   { 'user': 'fred' }
+            * ];
+            *
+            * var shallow = _.clone(users);
+            * shallow[0] === users[0];
+            * // => true
+            *
+            * var deep = _.clone(users, true);
+            * deep[0] === users[0];
+            * // => false
+            *
+            * // using a customizer callback
+            * var el = _.clone(document.body, function(value) {
+            *   if (_.isElement(value)) {
+            *     return value.cloneNode(false);
+            *   }
+            * });
+            *
+            * el === document.body
+            * // => false
+            * el.nodeName
+            * // => BODY
+            * el.childNodes.length;
+            * // => 0
+            */
+           function clone(value, isDeep, customizer, thisArg) {
+             if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {
+               isDeep = false;
+             }
+             else if (typeof isDeep == 'function') {
+               thisArg = customizer;
+               customizer = isDeep;
+               isDeep = false;
+             }
+             return typeof customizer == 'function'
+               ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 1))
+               : baseClone(value, isDeep);
+           }
+
+           /**
+            * Creates a deep clone of `value`. If `customizer` is provided it is invoked
+            * to produce the cloned values. If `customizer` returns `undefined` cloning
+            * is handled by the method instead. The `customizer` is bound to `thisArg`
+            * and invoked with two argument; (value [, index|key, object]).
+            *
+            * **Note:** This method is loosely based on the
+            * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).
+            * The enumerable properties of `arguments` objects and objects created by
+            * constructors other than `Object` are cloned to plain `Object` objects. An
+            * empty object is returned for uncloneable values such as functions, DOM nodes,
+            * Maps, Sets, and WeakMaps.
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {*} value The value to deep clone.
+            * @param {Function} [customizer] The function to customize cloning values.
+            * @param {*} [thisArg] The `this` binding of `customizer`.
+            * @returns {*} Returns the deep cloned value.
+            * @example
+            *
+            * var users = [
+            *   { 'user': 'barney' },
+            *   { 'user': 'fred' }
+            * ];
+            *
+            * var deep = _.cloneDeep(users);
+            * deep[0] === users[0];
+            * // => false
+            *
+            * // using a customizer callback
+            * var el = _.cloneDeep(document.body, function(value) {
+            *   if (_.isElement(value)) {
+            *     return value.cloneNode(true);
+            *   }
+            * });
+            *
+            * el === document.body
+            * // => false
+            * el.nodeName
+            * // => BODY
+            * el.childNodes.length;
+            * // => 20
+            */
+           function cloneDeep(value, customizer, thisArg) {
+             return typeof customizer == 'function'
+               ? baseClone(value, true, bindCallback(customizer, thisArg, 1))
+               : baseClone(value, true);
+           }
+
+           /**
+            * Checks if `value` is greater than `other`.
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {*} value The value to compare.
+            * @param {*} other The other value to compare.
+            * @returns {boolean} Returns `true` if `value` is greater than `other`, else `false`.
+            * @example
+            *
+            * _.gt(3, 1);
+            * // => true
+            *
+            * _.gt(3, 3);
+            * // => false
+            *
+            * _.gt(1, 3);
+            * // => false
+            */
+           function gt(value, other) {
+             return value > other;
+           }
+
+           /**
+            * Checks if `value` is greater than or equal to `other`.
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {*} value The value to compare.
+            * @param {*} other The other value to compare.
+            * @returns {boolean} Returns `true` if `value` is greater than or equal to `other`, else `false`.
+            * @example
+            *
+            * _.gte(3, 1);
+            * // => true
+            *
+            * _.gte(3, 3);
+            * // => true
+            *
+            * _.gte(1, 3);
+            * // => false
+            */
+           function gte(value, other) {
+             return value >= other;
+           }
+
+           /**
+            * Checks if `value` is classified as an `arguments` object.
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {*} value The value to check.
+            * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+            * @example
+            *
+            * _.isArguments(function() { return arguments; }());
+            * // => true
+            *
+            * _.isArguments([1, 2, 3]);
+            * // => false
+            */
+           function isArguments(value) {
+             return isObjectLike(value) && isArrayLike(value) &&
+               hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');
+           }
+
+           /**
+            * Checks if `value` is classified as an `Array` object.
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {*} value The value to check.
+            * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+            * @example
+            *
+            * _.isArray([1, 2, 3]);
+            * // => true
+            *
+            * _.isArray(function() { return arguments; }());
+            * // => false
+            */
+           var isArray = nativeIsArray || function(value) {
+             return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;
+           };
+
+           /**
+            * Checks if `value` is classified as a boolean primitive or object.
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {*} value The value to check.
+            * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+            * @example
+            *
+            * _.isBoolean(false);
+            * // => true
+            *
+            * _.isBoolean(null);
+            * // => false
+            */
+           function isBoolean(value) {
+             return value === true || value === false || (isObjectLike(value) && objToString.call(value) == boolTag);
+           }
+
+           /**
+            * Checks if `value` is classified as a `Date` object.
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {*} value The value to check.
+            * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+            * @example
+            *
+            * _.isDate(new Date);
+            * // => true
+            *
+            * _.isDate('Mon April 23 2012');
+            * // => false
+            */
+           function isDate(value) {
+             return isObjectLike(value) && objToString.call(value) == dateTag;
+           }
+
+           /**
+            * Checks if `value` is a DOM element.
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {*} value The value to check.
+            * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.
+            * @example
+            *
+            * _.isElement(document.body);
+            * // => true
+            *
+            * _.isElement('<body>');
+            * // => false
+            */
+           function isElement(value) {
+             return !!value && value.nodeType === 1 && isObjectLike(value) && !isPlainObject(value);
+           }
+
+           /**
+            * Checks if `value` is empty. A value is considered empty unless it is an
+            * `arguments` object, array, string, or jQuery-like collection with a length
+            * greater than `0` or an object with own enumerable properties.
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {Array|Object|string} value The value to inspect.
+            * @returns {boolean} Returns `true` if `value` is empty, else `false`.
+            * @example
+            *
+            * _.isEmpty(null);
+            * // => true
+            *
+            * _.isEmpty(true);
+            * // => true
+            *
+            * _.isEmpty(1);
+            * // => true
+            *
+            * _.isEmpty([1, 2, 3]);
+            * // => false
+            *
+            * _.isEmpty({ 'a': 1 });
+            * // => false
+            */
+           function isEmpty(value) {
+             if (value == null) {
+               return true;
+             }
+             if (isArrayLike(value) && (isArray(value) || isString(value) || isArguments(value) ||
+                 (isObjectLike(value) && isFunction(value.splice)))) {
+               return !value.length;
+             }
+             return !keys(value).length;
+           }
+
+           /**
+            * Performs a deep comparison between two values to determine if they are
+            * equivalent. If `customizer` is provided it is invoked to compare values.
+            * If `customizer` returns `undefined` comparisons are handled by the method
+            * instead. The `customizer` is bound to `thisArg` and invoked with three
+            * arguments: (value, other [, index|key]).
+            *
+            * **Note:** This method supports comparing arrays, booleans, `Date` objects,
+            * numbers, `Object` objects, regexes, and strings. Objects are compared by
+            * their own, not inherited, enumerable properties. Functions and DOM nodes
+            * are **not** supported. Provide a customizer function to extend support
+            * for comparing other values.
+            *
+            * @static
+            * @memberOf _
+            * @alias eq
+            * @category Lang
+            * @param {*} value The value to compare.
+            * @param {*} other The other value to compare.
+            * @param {Function} [customizer] The function to customize value comparisons.
+            * @param {*} [thisArg] The `this` binding of `customizer`.
+            * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
+            * @example
+            *
+            * var object = { 'user': 'fred' };
+            * var other = { 'user': 'fred' };
+            *
+            * object == other;
+            * // => false
+            *
+            * _.isEqual(object, other);
+            * // => true
+            *
+            * // using a customizer callback
+            * var array = ['hello', 'goodbye'];
+            * var other = ['hi', 'goodbye'];
+            *
+            * _.isEqual(array, other, function(value, other) {
+            *   if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {
+            *     return true;
+            *   }
+            * });
+            * // => true
+            */
+           function isEqual(value, other, customizer, thisArg) {
+             customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;
+             var result = customizer ? customizer(value, other) : undefined;
+             return  result === undefined ? baseIsEqual(value, other, customizer) : !!result;
+           }
+
+           /**
+            * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,
+            * `SyntaxError`, `TypeError`, or `URIError` object.
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {*} value The value to check.
+            * @returns {boolean} Returns `true` if `value` is an error object, else `false`.
+            * @example
+            *
+            * _.isError(new Error);
+            * // => true
+            *
+            * _.isError(Error);
+            * // => false
+            */
+           function isError(value) {
+             return isObjectLike(value) && typeof value.message == 'string' && objToString.call(value) == errorTag;
+           }
+
+           /**
+            * Checks if `value` is a finite primitive number.
+            *
+            * **Note:** This method is based on [`Number.isFinite`](http://ecma-international.org/ecma-262/6.0/#sec-number.isfinite).
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {*} value The value to check.
+            * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.
+            * @example
+            *
+            * _.isFinite(10);
+            * // => true
+            *
+            * _.isFinite('10');
+            * // => false
+            *
+            * _.isFinite(true);
+            * // => false
+            *
+            * _.isFinite(Object(10));
+            * // => false
+            *
+            * _.isFinite(Infinity);
+            * // => false
+            */
+           function isFinite(value) {
+             return typeof value == 'number' && nativeIsFinite(value);
+           }
+
+           /**
+            * Checks if `value` is classified as a `Function` object.
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {*} value The value to check.
+            * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+            * @example
+            *
+            * _.isFunction(_);
+            * // => true
+            *
+            * _.isFunction(/abc/);
+            * // => false
+            */
+           function isFunction(value) {
+             // The use of `Object#toString` avoids issues with the `typeof` operator
+             // in older versions of Chrome and Safari which return 'function' for regexes
+             // and Safari 8 equivalents which return 'object' for typed array constructors.
+             return isObject(value) && objToString.call(value) == funcTag;
+           }
+
+           /**
+            * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
+            * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {*} value The value to check.
+            * @returns {boolean} Returns `true` if `value` is an object, else `false`.
+            * @example
+            *
+            * _.isObject({});
+            * // => true
+            *
+            * _.isObject([1, 2, 3]);
+            * // => true
+            *
+            * _.isObject(1);
+            * // => false
+            */
+           function isObject(value) {
+             // Avoid a V8 JIT bug in Chrome 19-20.
+             // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
+             var type = typeof value;
+             return !!value && (type == 'object' || type == 'function');
+           }
+
+           /**
+            * Performs a deep comparison between `object` and `source` to determine if
+            * `object` contains equivalent property values. If `customizer` is provided
+            * it is invoked to compare values. If `customizer` returns `undefined`
+            * comparisons are handled by the method instead. The `customizer` is bound
+            * to `thisArg` and invoked with three arguments: (value, other, index|key).
+            *
+            * **Note:** This method supports comparing properties of arrays, booleans,
+            * `Date` objects, numbers, `Object` objects, regexes, and strings. Functions
+            * and DOM nodes are **not** supported. Provide a customizer function to extend
+            * support for comparing other values.
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {Object} object The object to inspect.
+            * @param {Object} source The object of property values to match.
+            * @param {Function} [customizer] The function to customize value comparisons.
+            * @param {*} [thisArg] The `this` binding of `customizer`.
+            * @returns {boolean} Returns `true` if `object` is a match, else `false`.
+            * @example
+            *
+            * var object = { 'user': 'fred', 'age': 40 };
+            *
+            * _.isMatch(object, { 'age': 40 });
+            * // => true
+            *
+            * _.isMatch(object, { 'age': 36 });
+            * // => false
+            *
+            * // using a customizer callback
+            * var object = { 'greeting': 'hello' };
+            * var source = { 'greeting': 'hi' };
+            *
+            * _.isMatch(object, source, function(value, other) {
+            *   return _.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/) || undefined;
+            * });
+            * // => true
+            */
+           function isMatch(object, source, customizer, thisArg) {
+             customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;
+             return baseIsMatch(object, getMatchData(source), customizer);
+           }
+
+           /**
+            * Checks if `value` is `NaN`.
+            *
+            * **Note:** This method is not the same as [`isNaN`](https://es5.github.io/#x15.1.2.4)
+            * which returns `true` for `undefined` and other non-numeric values.
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {*} value The value to check.
+            * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.
+            * @example
+            *
+            * _.isNaN(NaN);
+            * // => true
+            *
+            * _.isNaN(new Number(NaN));
+            * // => true
+            *
+            * isNaN(undefined);
+            * // => true
+            *
+            * _.isNaN(undefined);
+            * // => false
+            */
+           function isNaN(value) {
+             // An `NaN` primitive is the only value that is not equal to itself.
+             // Perform the `toStringTag` check first to avoid errors with some host objects in IE.
+             return isNumber(value) && value != +value;
+           }
+
+           /**
+            * Checks if `value` is a native function.
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {*} value The value to check.
+            * @returns {boolean} Returns `true` if `value` is a native function, else `false`.
+            * @example
+            *
+            * _.isNative(Array.prototype.push);
+            * // => true
+            *
+            * _.isNative(_);
+            * // => false
+            */
+           function isNative(value) {
+             if (value == null) {
+               return false;
+             }
+             if (isFunction(value)) {
+               return reIsNative.test(fnToString.call(value));
+             }
+             return isObjectLike(value) && reIsHostCtor.test(value);
+           }
+
+           /**
+            * Checks if `value` is `null`.
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {*} value The value to check.
+            * @returns {boolean} Returns `true` if `value` is `null`, else `false`.
+            * @example
+            *
+            * _.isNull(null);
+            * // => true
+            *
+            * _.isNull(void 0);
+            * // => false
+            */
+           function isNull(value) {
+             return value === null;
+           }
+
+           /**
+            * Checks if `value` is classified as a `Number` primitive or object.
+            *
+            * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are classified
+            * as numbers, use the `_.isFinite` method.
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {*} value The value to check.
+            * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+            * @example
+            *
+            * _.isNumber(8.4);
+            * // => true
+            *
+            * _.isNumber(NaN);
+            * // => true
+            *
+            * _.isNumber('8.4');
+            * // => false
+            */
+           function isNumber(value) {
+             return typeof value == 'number' || (isObjectLike(value) && objToString.call(value) == numberTag);
+           }
+
+           /**
+            * Checks if `value` is a plain object, that is, an object created by the
+            * `Object` constructor or one with a `[[Prototype]]` of `null`.
+            *
+            * **Note:** This method assumes objects created by the `Object` constructor
+            * have no inherited enumerable properties.
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {*} value The value to check.
+            * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
+            * @example
+            *
+            * function Foo() {
+            *   this.a = 1;
+            * }
+            *
+            * _.isPlainObject(new Foo);
+            * // => false
+            *
+            * _.isPlainObject([1, 2, 3]);
+            * // => false
+            *
+            * _.isPlainObject({ 'x': 0, 'y': 0 });
+            * // => true
+            *
+            * _.isPlainObject(Object.create(null));
+            * // => true
+            */
+           function isPlainObject(value) {
+             var Ctor;
+
+             // Exit early for non `Object` objects.
+             if (!(isObjectLike(value) && objToString.call(value) == objectTag && !isArguments(value)) ||
+                 (!hasOwnProperty.call(value, 'constructor') && (Ctor = value.constructor, typeof Ctor == 'function' && !(Ctor instanceof Ctor)))) {
+               return false;
+             }
+             // IE < 9 iterates inherited properties before own properties. If the first
+             // iterated property is an object's own property then there are no inherited
+             // enumerable properties.
+             var result;
+             // In most environments an object's own properties are iterated before
+             // its inherited properties. If the last iterated property is an object's
+             // own property then there are no inherited enumerable properties.
+             baseForIn(value, function(subValue, key) {
+               result = key;
+             });
+             return result === undefined || hasOwnProperty.call(value, result);
+           }
+
+           /**
+            * Checks if `value` is classified as a `RegExp` object.
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {*} value The value to check.
+            * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+            * @example
+            *
+            * _.isRegExp(/abc/);
+            * // => true
+            *
+            * _.isRegExp('/abc/');
+            * // => false
+            */
+           function isRegExp(value) {
+             return isObject(value) && objToString.call(value) == regexpTag;
+           }
+
+           /**
+            * Checks if `value` is classified as a `String` primitive or object.
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {*} value The value to check.
+            * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+            * @example
+            *
+            * _.isString('abc');
+            * // => true
+            *
+            * _.isString(1);
+            * // => false
+            */
+           function isString(value) {
+             return typeof value == 'string' || (isObjectLike(value) && objToString.call(value) == stringTag);
+           }
+
+           /**
+            * Checks if `value` is classified as a typed array.
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {*} value The value to check.
+            * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+            * @example
+            *
+            * _.isTypedArray(new Uint8Array);
+            * // => true
+            *
+            * _.isTypedArray([]);
+            * // => false
+            */
+           function isTypedArray(value) {
+             return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];
+           }
+
+           /**
+            * Checks if `value` is `undefined`.
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {*} value The value to check.
+            * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.
+            * @example
+            *
+            * _.isUndefined(void 0);
+            * // => true
+            *
+            * _.isUndefined(null);
+            * // => false
+            */
+           function isUndefined(value) {
+             return value === undefined;
+           }
+
+           /**
+            * Checks if `value` is less than `other`.
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {*} value The value to compare.
+            * @param {*} other The other value to compare.
+            * @returns {boolean} Returns `true` if `value` is less than `other`, else `false`.
+            * @example
+            *
+            * _.lt(1, 3);
+            * // => true
+            *
+            * _.lt(3, 3);
+            * // => false
+            *
+            * _.lt(3, 1);
+            * // => false
+            */
+           function lt(value, other) {
+             return value < other;
+           }
+
+           /**
+            * Checks if `value` is less than or equal to `other`.
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {*} value The value to compare.
+            * @param {*} other The other value to compare.
+            * @returns {boolean} Returns `true` if `value` is less than or equal to `other`, else `false`.
+            * @example
+            *
+            * _.lte(1, 3);
+            * // => true
+            *
+            * _.lte(3, 3);
+            * // => true
+            *
+            * _.lte(3, 1);
+            * // => false
+            */
+           function lte(value, other) {
+             return value <= other;
+           }
+
+           /**
+            * Converts `value` to an array.
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {*} value The value to convert.
+            * @returns {Array} Returns the converted array.
+            * @example
+            *
+            * (function() {
+            *   return _.toArray(arguments).slice(1);
+            * }(1, 2, 3));
+            * // => [2, 3]
+            */
+           function toArray(value) {
+             var length = value ? getLength(value) : 0;
+             if (!isLength(length)) {
+               return values(value);
+             }
+             if (!length) {
+               return [];
+             }
+             return arrayCopy(value);
+           }
+
+           /**
+            * Converts `value` to a plain object flattening inherited enumerable
+            * properties of `value` to own properties of the plain object.
+            *
+            * @static
+            * @memberOf _
+            * @category Lang
+            * @param {*} value The value to convert.
+            * @returns {Object} Returns the converted plain object.
+            * @example
+            *
+            * function Foo() {
+            *   this.b = 2;
+            * }
+            *
+            * Foo.prototype.c = 3;
+            *
+            * _.assign({ 'a': 1 }, new Foo);
+            * // => { 'a': 1, 'b': 2 }
+            *
+            * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));
+            * // => { 'a': 1, 'b': 2, 'c': 3 }
+            */
+           function toPlainObject(value) {
+             return baseCopy(value, keysIn(value));
+           }
+
+           /*------------------------------------------------------------------------*/
+
+           /**
+            * Recursively merges own enumerable properties of the source object(s), that
+            * don't resolve to `undefined` into the destination object. Subsequent sources
+            * overwrite property assignments of previous sources. If `customizer` is
+            * provided it is invoked to produce the merged values of the destination and
+            * source properties. If `customizer` returns `undefined` merging is handled
+            * by the method instead. The `customizer` is bound to `thisArg` and invoked
+            * with five arguments: (objectValue, sourceValue, key, object, source).
+            *
+            * @static
+            * @memberOf _
+            * @category Object
+            * @param {Object} object The destination object.
+            * @param {...Object} [sources] The source objects.
+            * @param {Function} [customizer] The function to customize assigned values.
+            * @param {*} [thisArg] The `this` binding of `customizer`.
+            * @returns {Object} Returns `object`.
+            * @example
+            *
+            * var users = {
+            *   'data': [{ 'user': 'barney' }, { 'user': 'fred' }]
+            * };
+            *
+            * var ages = {
+            *   'data': [{ 'age': 36 }, { 'age': 40 }]
+            * };
+            *
+            * _.merge(users, ages);
+            * // => { 'data': [{ 'user': 'barney', 'age': 36 }, { 'user': 'fred', 'age': 40 }] }
+            *
+            * // using a customizer callback
+            * var object = {
+            *   'fruits': ['apple'],
+            *   'vegetables': ['beet']
+            * };
+            *
+            * var other = {
+            *   'fruits': ['banana'],
+            *   'vegetables': ['carrot']
+            * };
+            *
+            * _.merge(object, other, function(a, b) {
+            *   if (_.isArray(a)) {
+            *     return a.concat(b);
+            *   }
+            * });
+            * // => { 'fruits': ['apple', 'banana'], 'vegetables': ['beet', 'carrot'] }
+            */
+           var merge = createAssigner(baseMerge);
+
+           /**
+            * Assigns own enumerable properties of source object(s) to the destination
+            * object. Subsequent sources overwrite property assignments of previous sources.
+            * If `customizer` is provided it is invoked to produce the assigned values.
+            * The `customizer` is bound to `thisArg` and invoked with five arguments:
+            * (objectValue, sourceValue, key, object, source).
+            *
+            * **Note:** This method mutates `object` and is based on
+            * [`Object.assign`](http://ecma-international.org/ecma-262/6.0/#sec-object.assign).
+            *
+            * @static
+            * @memberOf _
+            * @alias extend
+            * @category Object
+            * @param {Object} object The destination object.
+            * @param {...Object} [sources] The source objects.
+            * @param {Function} [customizer] The function to customize assigned values.
+            * @param {*} [thisArg] The `this` binding of `customizer`.
+            * @returns {Object} Returns `object`.
+            * @example
+            *
+            * _.assign({ 'user': 'barney' }, { 'age': 40 }, { 'user': 'fred' });
+            * // => { 'user': 'fred', 'age': 40 }
+            *
+            * // using a customizer callback
+            * var defaults = _.partialRight(_.assign, function(value, other) {
+            *   return _.isUndefined(value) ? other : value;
+            * });
+            *
+            * defaults({ 'user': 'barney' }, { 'age': 36 }, { 'user': 'fred' });
+            * // => { 'user': 'barney', 'age': 36 }
+            */
+           var assign = createAssigner(function(object, source, customizer) {
+             return customizer
+               ? assignWith(object, source, customizer)
+               : baseAssign(object, source);
+           });
+
+           /**
+            * Creates an object that inherits from the given `prototype` object. If a
+            * `properties` object is provided its own enumerable properties are assigned
+            * to the created object.
+            *
+            * @static
+            * @memberOf _
+            * @category Object
+            * @param {Object} prototype The object to inherit from.
+            * @param {Object} [properties] The properties to assign to the object.
+            * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+            * @returns {Object} Returns the new object.
+            * @example
+            *
+            * function Shape() {
+            *   this.x = 0;
+            *   this.y = 0;
+            * }
+            *
+            * function Circle() {
+            *   Shape.call(this);
+            * }
+            *
+            * Circle.prototype = _.create(Shape.prototype, {
+            *   'constructor': Circle
+            * });
+            *
+            * var circle = new Circle;
+            * circle instanceof Circle;
+            * // => true
+            *
+            * circle instanceof Shape;
+            * // => true
+            */
+           function create(prototype, properties, guard) {
+             var result = baseCreate(prototype);
+             if (guard && isIterateeCall(prototype, properties, guard)) {
+               properties = undefined;
+             }
+             return properties ? baseAssign(result, properties) : result;
+           }
+
+           /**
+            * Assigns own enumerable properties of source object(s) to the destination
+            * object for all destination properties that resolve to `undefined`. Once a
+            * property is set, additional values of the same property are ignored.
+            *
+            * **Note:** This method mutates `object`.
+            *
+            * @static
+            * @memberOf _
+            * @category Object
+            * @param {Object} object The destination object.
+            * @param {...Object} [sources] The source objects.
+            * @returns {Object} Returns `object`.
+            * @example
+            *
+            * _.defaults({ 'user': 'barney' }, { 'age': 36 }, { 'user': 'fred' });
+            * // => { 'user': 'barney', 'age': 36 }
+            */
+           var defaults = createDefaults(assign, assignDefaults);
+
+           /**
+            * This method is like `_.defaults` except that it recursively assigns
+            * default properties.
+            *
+            * **Note:** This method mutates `object`.
+            *
+            * @static
+            * @memberOf _
+            * @category Object
+            * @param {Object} object The destination object.
+            * @param {...Object} [sources] The source objects.
+            * @returns {Object} Returns `object`.
+            * @example
+            *
+            * _.defaultsDeep({ 'user': { 'name': 'barney' } }, { 'user': { 'name': 'fred', 'age': 36 } });
+            * // => { 'user': { 'name': 'barney', 'age': 36 } }
+            *
+            */
+           var defaultsDeep = createDefaults(merge, mergeDefaults);
+
+           /**
+            * This method is like `_.find` except that it returns the key of the first
+            * element `predicate` returns truthy for instead of the element itself.
+            *
+            * If a property name is provided for `predicate` the created `_.property`
+            * style callback returns the property value of the given element.
+            *
+            * If a value is also provided for `thisArg` the created `_.matchesProperty`
+            * style callback returns `true` for elements that have a matching property
+            * value, else `false`.
+            *
+            * If an object is provided for `predicate` the created `_.matches` style
+            * callback returns `true` for elements that have the properties of the given
+            * object, else `false`.
+            *
+            * @static
+            * @memberOf _
+            * @category Object
+            * @param {Object} object The object to search.
+            * @param {Function|Object|string} [predicate=_.identity] The function invoked
+            *  per iteration.
+            * @param {*} [thisArg] The `this` binding of `predicate`.
+            * @returns {string|undefined} Returns the key of the matched element, else `undefined`.
+            * @example
+            *
+            * var users = {
+            *   'barney':  { 'age': 36, 'active': true },
+            *   'fred':    { 'age': 40, 'active': false },
+            *   'pebbles': { 'age': 1,  'active': true }
+            * };
+            *
+            * _.findKey(users, function(chr) {
+            *   return chr.age < 40;
+            * });
+            * // => 'barney' (iteration order is not guaranteed)
+            *
+            * // using the `_.matches` callback shorthand
+            * _.findKey(users, { 'age': 1, 'active': true });
+            * // => 'pebbles'
+            *
+            * // using the `_.matchesProperty` callback shorthand
+            * _.findKey(users, 'active', false);
+            * // => 'fred'
+            *
+            * // using the `_.property` callback shorthand
+            * _.findKey(users, 'active');
+            * // => 'barney'
+            */
+           var findKey = createFindKey(baseForOwn);
+
+           /**
+            * This method is like `_.findKey` except that it iterates over elements of
+            * a collection in the opposite order.
+            *
+            * If a property name is provided for `predicate` the created `_.property`
+            * style callback returns the property value of the given element.
+            *
+            * If a value is also provided for `thisArg` the created `_.matchesProperty`
+            * style callback returns `true` for elements that have a matching property
+            * value, else `false`.
+            *
+            * If an object is provided for `predicate` the created `_.matches` style
+            * callback returns `true` for elements that have the properties of the given
+            * object, else `false`.
+            *
+            * @static
+            * @memberOf _
+            * @category Object
+            * @param {Object} object The object to search.
+            * @param {Function|Object|string} [predicate=_.identity] The function invoked
+            *  per iteration.
+            * @param {*} [thisArg] The `this` binding of `predicate`.
+            * @returns {string|undefined} Returns the key of the matched element, else `undefined`.
+            * @example
+            *
+            * var users = {
+            *   'barney':  { 'age': 36, 'active': true },
+            *   'fred':    { 'age': 40, 'active': false },
+            *   'pebbles': { 'age': 1,  'active': true }
+            * };
+            *
+            * _.findLastKey(users, function(chr) {
+            *   return chr.age < 40;
+            * });
+            * // => returns `pebbles` assuming `_.findKey` returns `barney`
+            *
+            * // using the `_.matches` callback shorthand
+            * _.findLastKey(users, { 'age': 36, 'active': true });
+            * // => 'barney'
+            *
+            * // using the `_.matchesProperty` callback shorthand
+            * _.findLastKey(users, 'active', false);
+            * // => 'fred'
+            *
+            * // using the `_.property` callback shorthand
+            * _.findLastKey(users, 'active');
+            * // => 'pebbles'
+            */
+           var findLastKey = createFindKey(baseForOwnRight);
+
+           /**
+            * Iterates over own and inherited enumerable properties of an object invoking
+            * `iteratee` for each property. The `iteratee` is bound to `thisArg` and invoked
+            * with three arguments: (value, key, object). Iteratee functions may exit
+            * iteration early by explicitly returning `false`.
+            *
+            * @static
+            * @memberOf _
+            * @category Object
+            * @param {Object} object The object to iterate over.
+            * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+            * @param {*} [thisArg] The `this` binding of `iteratee`.
+            * @returns {Object} Returns `object`.
+            * @example
+            *
+            * function Foo() {
+            *   this.a = 1;
+            *   this.b = 2;
+            * }
+            *
+            * Foo.prototype.c = 3;
+            *
+            * _.forIn(new Foo, function(value, key) {
+            *   console.log(key);
+            * });
+            * // => logs 'a', 'b', and 'c' (iteration order is not guaranteed)
+            */
+           var forIn = createForIn(baseFor);
+
+           /**
+            * This method is like `_.forIn` except that it iterates over properties of
+            * `object` in the opposite order.
+            *
+            * @static
+            * @memberOf _
+            * @category Object
+            * @param {Object} object The object to iterate over.
+            * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+            * @param {*} [thisArg] The `this` binding of `iteratee`.
+            * @returns {Object} Returns `object`.
+            * @example
+            *
+            * function Foo() {
+            *   this.a = 1;
+            *   this.b = 2;
+            * }
+            *
+            * Foo.prototype.c = 3;
+            *
+            * _.forInRight(new Foo, function(value, key) {
+            *   console.log(key);
+            * });
+            * // => logs 'c', 'b', and 'a' assuming `_.forIn ` logs 'a', 'b', and 'c'
+            */
+           var forInRight = createForIn(baseForRight);
+
+           /**
+            * Iterates over own enumerable properties of an object invoking `iteratee`
+            * for each property. The `iteratee` is bound to `thisArg` and invoked with
+            * three arguments: (value, key, object). Iteratee functions may exit iteration
+            * early by explicitly returning `false`.
+            *
+            * @static
+            * @memberOf _
+            * @category Object
+            * @param {Object} object The object to iterate over.
+            * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+            * @param {*} [thisArg] The `this` binding of `iteratee`.
+            * @returns {Object} Returns `object`.
+            * @example
+            *
+            * function Foo() {
+            *   this.a = 1;
+            *   this.b = 2;
+            * }
+            *
+            * Foo.prototype.c = 3;
+            *
+            * _.forOwn(new Foo, function(value, key) {
+            *   console.log(key);
+            * });
+            * // => logs 'a' and 'b' (iteration order is not guaranteed)
+            */
+           var forOwn = createForOwn(baseForOwn);
+
+           /**
+            * This method is like `_.forOwn` except that it iterates over properties of
+            * `object` in the opposite order.
+            *
+            * @static
+            * @memberOf _
+            * @category Object
+            * @param {Object} object The object to iterate over.
+            * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+            * @param {*} [thisArg] The `this` binding of `iteratee`.
+            * @returns {Object} Returns `object`.
+            * @example
+            *
+            * function Foo() {
+            *   this.a = 1;
+            *   this.b = 2;
+            * }
+            *
+            * Foo.prototype.c = 3;
+            *
+            * _.forOwnRight(new Foo, function(value, key) {
+            *   console.log(key);
+            * });
+            * // => logs 'b' and 'a' assuming `_.forOwn` logs 'a' and 'b'
+            */
+           var forOwnRight = createForOwn(baseForOwnRight);
+
+           /**
+            * Creates an array of function property names from all enumerable properties,
+            * own and inherited, of `object`.
+            *
+            * @static
+            * @memberOf _
+            * @alias methods
+            * @category Object
+            * @param {Object} object The object to inspect.
+            * @returns {Array} Returns the new array of property names.
+            * @example
+            *
+            * _.functions(_);
+            * // => ['after', 'ary', 'assign', ...]
+            */
+           function functions(object) {
+             return baseFunctions(object, keysIn(object));
+           }
+
+           /**
+            * Gets the property value at `path` of `object`. If the resolved value is
+            * `undefined` the `defaultValue` is used in its place.
+            *
+            * @static
+            * @memberOf _
+            * @category Object
+            * @param {Object} object The object to query.
+            * @param {Array|string} path The path of the property to get.
+            * @param {*} [defaultValue] The value returned if the resolved value is `undefined`.
+            * @returns {*} Returns the resolved value.
+            * @example
+            *
+            * var object = { 'a': [{ 'b': { 'c': 3 } }] };
+            *
+            * _.get(object, 'a[0].b.c');
+            * // => 3
+            *
+            * _.get(object, ['a', '0', 'b', 'c']);
+            * // => 3
+            *
+            * _.get(object, 'a.b.c', 'default');
+            * // => 'default'
+            */
+           function get(object, path, defaultValue) {
+             var result = object == null ? undefined : baseGet(object, toPath(path), path + '');
+             return result === undefined ? defaultValue : result;
+           }
+
+           /**
+            * Checks if `path` is a direct property.
+            *
+            * @static
+            * @memberOf _
+            * @category Object
+            * @param {Object} object The object to query.
+            * @param {Array|string} path The path to check.
+            * @returns {boolean} Returns `true` if `path` is a direct property, else `false`.
+            * @example
+            *
+            * var object = { 'a': { 'b': { 'c': 3 } } };
+            *
+            * _.has(object, 'a');
+            * // => true
+            *
+            * _.has(object, 'a.b.c');
+            * // => true
+            *
+            * _.has(object, ['a', 'b', 'c']);
+            * // => true
+            */
+           function has(object, path) {
+             if (object == null) {
+               return false;
+             }
+             var result = hasOwnProperty.call(object, path);
+             if (!result && !isKey(path)) {
+               path = toPath(path);
+               object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1));
+               if (object == null) {
+                 return false;
+               }
+               path = last(path);
+               result = hasOwnProperty.call(object, path);
+             }
+             return result || (isLength(object.length) && isIndex(path, object.length) &&
+               (isArray(object) || isArguments(object)));
+           }
+
+           /**
+            * Creates an object composed of the inverted keys and values of `object`.
+            * If `object` contains duplicate values, subsequent values overwrite property
+            * assignments of previous values unless `multiValue` is `true`.
+            *
+            * @static
+            * @memberOf _
+            * @category Object
+            * @param {Object} object The object to invert.
+            * @param {boolean} [multiValue] Allow multiple values per key.
+            * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+            * @returns {Object} Returns the new inverted object.
+            * @example
+            *
+            * var object = { 'a': 1, 'b': 2, 'c': 1 };
+            *
+            * _.invert(object);
+            * // => { '1': 'c', '2': 'b' }
+            *
+            * // with `multiValue`
+            * _.invert(object, true);
+            * // => { '1': ['a', 'c'], '2': ['b'] }
+            */
+           function invert(object, multiValue, guard) {
+             if (guard && isIterateeCall(object, multiValue, guard)) {
+               multiValue = undefined;
+             }
+             var index = -1,
+                 props = keys(object),
+                 length = props.length,
+                 result = {};
+
+             while (++index < length) {
+               var key = props[index],
+                   value = object[key];
+
+               if (multiValue) {
+                 if (hasOwnProperty.call(result, value)) {
+                   result[value].push(key);
+                 } else {
+                   result[value] = [key];
+                 }
+               }
+               else {
+                 result[value] = key;
+               }
+             }
+             return result;
+           }
+
+           /**
+            * Creates an array of the own enumerable property names of `object`.
+            *
+            * **Note:** Non-object values are coerced to objects. See the
+            * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)
+            * for more details.
+            *
+            * @static
+            * @memberOf _
+            * @category Object
+            * @param {Object} object The object to query.
+            * @returns {Array} Returns the array of property names.
+            * @example
+            *
+            * function Foo() {
+            *   this.a = 1;
+            *   this.b = 2;
+            * }
+            *
+            * Foo.prototype.c = 3;
+            *
+            * _.keys(new Foo);
+            * // => ['a', 'b'] (iteration order is not guaranteed)
+            *
+            * _.keys('hi');
+            * // => ['0', '1']
+            */
+           var keys = !nativeKeys ? shimKeys : function(object) {
+             var Ctor = object == null ? undefined : object.constructor;
+             if ((typeof Ctor == 'function' && Ctor.prototype === object) ||
+                 (typeof object != 'function' && isArrayLike(object))) {
+               return shimKeys(object);
+             }
+             return isObject(object) ? nativeKeys(object) : [];
+           };
+
+           /**
+            * Creates an array of the own and inherited enumerable property names of `object`.
+            *
+            * **Note:** Non-object values are coerced to objects.
+            *
+            * @static
+            * @memberOf _
+            * @category Object
+            * @param {Object} object The object to query.
+            * @returns {Array} Returns the array of property names.
+            * @example
+            *
+            * function Foo() {
+            *   this.a = 1;
+            *   this.b = 2;
+            * }
+            *
+            * Foo.prototype.c = 3;
+            *
+            * _.keysIn(new Foo);
+            * // => ['a', 'b', 'c'] (iteration order is not guaranteed)
+            */
+           function keysIn(object) {
+             if (object == null) {
+               return [];
+             }
+             if (!isObject(object)) {
+               object = Object(object);
+             }
+             var length = object.length;
+             length = (length && isLength(length) &&
+               (isArray(object) || isArguments(object)) && length) || 0;
+
+             var Ctor = object.constructor,
+                 index = -1,
+                 isProto = typeof Ctor == 'function' && Ctor.prototype === object,
+                 result = Array(length),
+                 skipIndexes = length > 0;
+
+             while (++index < length) {
+               result[index] = (index + '');
+             }
+             for (var key in object) {
+               if (!(skipIndexes && isIndex(key, length)) &&
+                   !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {
+                 result.push(key);
+               }
+             }
+             return result;
+           }
+
+           /**
+            * The opposite of `_.mapValues`; this method creates an object with the
+            * same values as `object` and keys generated by running each own enumerable
+            * property of `object` through `iteratee`.
+            *
+            * @static
+            * @memberOf _
+            * @category Object
+            * @param {Object} object The object to iterate over.
+            * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+            *  per iteration.
+            * @param {*} [thisArg] The `this` binding of `iteratee`.
+            * @returns {Object} Returns the new mapped object.
+            * @example
+            *
+            * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {
+            *   return key + value;
+            * });
+            * // => { 'a1': 1, 'b2': 2 }
+            */
+           var mapKeys = createObjectMapper(true);
+
+           /**
+            * Creates an object with the same keys as `object` and values generated by
+            * running each own enumerable property of `object` through `iteratee`. The
+            * iteratee function is bound to `thisArg` and invoked with three arguments:
+            * (value, key, object).
+            *
+            * If a property name is provided for `iteratee` the created `_.property`
+            * style callback returns the property value of the given element.
+            *
+            * If a value is also provided for `thisArg` the created `_.matchesProperty`
+            * style callback returns `true` for elements that have a matching property
+            * value, else `false`.
+            *
+            * If an object is provided for `iteratee` the created `_.matches` style
+            * callback returns `true` for elements that have the properties of the given
+            * object, else `false`.
+            *
+            * @static
+            * @memberOf _
+            * @category Object
+            * @param {Object} object The object to iterate over.
+            * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+            *  per iteration.
+            * @param {*} [thisArg] The `this` binding of `iteratee`.
+            * @returns {Object} Returns the new mapped object.
+            * @example
+            *
+            * _.mapValues({ 'a': 1, 'b': 2 }, function(n) {
+            *   return n * 3;
+            * });
+            * // => { 'a': 3, 'b': 6 }
+            *
+            * var users = {
+            *   'fred':    { 'user': 'fred',    'age': 40 },
+            *   'pebbles': { 'user': 'pebbles', 'age': 1 }
+            * };
+            *
+            * // using the `_.property` callback shorthand
+            * _.mapValues(users, 'age');
+            * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)
+            */
+           var mapValues = createObjectMapper();
+
+           /**
+            * The opposite of `_.pick`; this method creates an object composed of the
+            * own and inherited enumerable properties of `object` that are not omitted.
+            *
+            * @static
+            * @memberOf _
+            * @category Object
+            * @param {Object} object The source object.
+            * @param {Function|...(string|string[])} [predicate] The function invoked per
+            *  iteration or property names to omit, specified as individual property
+            *  names or arrays of property names.
+            * @param {*} [thisArg] The `this` binding of `predicate`.
+            * @returns {Object} Returns the new object.
+            * @example
+            *
+            * var object = { 'user': 'fred', 'age': 40 };
+            *
+            * _.omit(object, 'age');
+            * // => { 'user': 'fred' }
+            *
+            * _.omit(object, _.isNumber);
+            * // => { 'user': 'fred' }
+            */
+           var omit = restParam(function(object, props) {
+             if (object == null) {
+               return {};
+             }
+             if (typeof props[0] != 'function') {
+               var props = arrayMap(baseFlatten(props), String);
+               return pickByArray(object, baseDifference(keysIn(object), props));
+             }
+             var predicate = bindCallback(props[0], props[1], 3);
+             return pickByCallback(object, function(value, key, object) {
+               return !predicate(value, key, object);
+             });
+           });
+
+           /**
+            * Creates a two dimensional array of the key-value pairs for `object`,
+            * e.g. `[[key1, value1], [key2, value2]]`.
+            *
+            * @static
+            * @memberOf _
+            * @category Object
+            * @param {Object} object The object to query.
+            * @returns {Array} Returns the new array of key-value pairs.
+            * @example
+            *
+            * _.pairs({ 'barney': 36, 'fred': 40 });
+            * // => [['barney', 36], ['fred', 40]] (iteration order is not guaranteed)
+            */
+           function pairs(object) {
+             object = toObject(object);
+
+             var index = -1,
+                 props = keys(object),
+                 length = props.length,
+                 result = Array(length);
+
+             while (++index < length) {
+               var key = props[index];
+               result[index] = [key, object[key]];
+             }
+             return result;
+           }
+
+           /**
+            * Creates an object composed of the picked `object` properties. Property
+            * names may be specified as individual arguments or as arrays of property
+            * names. If `predicate` is provided it is invoked for each property of `object`
+            * picking the properties `predicate` returns truthy for. The predicate is
+            * bound to `thisArg` and invoked with three arguments: (value, key, object).
+            *
+            * @static
+            * @memberOf _
+            * @category Object
+            * @param {Object} object The source object.
+            * @param {Function|...(string|string[])} [predicate] The function invoked per
+            *  iteration or property names to pick, specified as individual property
+            *  names or arrays of property names.
+            * @param {*} [thisArg] The `this` binding of `predicate`.
+            * @returns {Object} Returns the new object.
+            * @example
+            *
+            * var object = { 'user': 'fred', 'age': 40 };
+            *
+            * _.pick(object, 'user');
+            * // => { 'user': 'fred' }
+            *
+            * _.pick(object, _.isString);
+            * // => { 'user': 'fred' }
+            */
+           var pick = restParam(function(object, props) {
+             if (object == null) {
+               return {};
+             }
+             return typeof props[0] == 'function'
+               ? pickByCallback(object, bindCallback(props[0], props[1], 3))
+               : pickByArray(object, baseFlatten(props));
+           });
+
+           /**
+            * This method is like `_.get` except that if the resolved value is a function
+            * it is invoked with the `this` binding of its parent object and its result
+            * is returned.
+            *
+            * @static
+            * @memberOf _
+            * @category Object
+            * @param {Object} object The object to query.
+            * @param {Array|string} path The path of the property to resolve.
+            * @param {*} [defaultValue] The value returned if the resolved value is `undefined`.
+            * @returns {*} Returns the resolved value.
+            * @example
+            *
+            * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };
+            *
+            * _.result(object, 'a[0].b.c1');
+            * // => 3
+            *
+            * _.result(object, 'a[0].b.c2');
+            * // => 4
+            *
+            * _.result(object, 'a.b.c', 'default');
+            * // => 'default'
+            *
+            * _.result(object, 'a.b.c', _.constant('default'));
+            * // => 'default'
+            */
+           function result(object, path, defaultValue) {
+             var result = object == null ? undefined : object[path];
+             if (result === undefined) {
+               if (object != null && !isKey(path, object)) {
+                 path = toPath(path);
+                 object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1));
+                 result = object == null ? undefined : object[last(path)];
+               }
+               result = result === undefined ? defaultValue : result;
+             }
+             return isFunction(result) ? result.call(object) : result;
+           }
+
+           /**
+            * Sets the property value of `path` on `object`. If a portion of `path`
+            * does not exist it is created.
+            *
+            * @static
+            * @memberOf _
+            * @category Object
+            * @param {Object} object The object to augment.
+            * @param {Array|string} path The path of the property to set.
+            * @param {*} value The value to set.
+            * @returns {Object} Returns `object`.
+            * @example
+            *
+            * var object = { 'a': [{ 'b': { 'c': 3 } }] };
+            *
+            * _.set(object, 'a[0].b.c', 4);
+            * console.log(object.a[0].b.c);
+            * // => 4
+            *
+            * _.set(object, 'x[0].y.z', 5);
+            * console.log(object.x[0].y.z);
+            * // => 5
+            */
+           function set(object, path, value) {
+             if (object == null) {
+               return object;
+             }
+             var pathKey = (path + '');
+             path = (object[pathKey] != null || isKey(path, object)) ? [pathKey] : toPath(path);
+
+             var index = -1,
+                 length = path.length,
+                 lastIndex = length - 1,
+                 nested = object;
+
+             while (nested != null && ++index < length) {
+               var key = path[index];
+               if (isObject(nested)) {
+                 if (index == lastIndex) {
+                   nested[key] = value;
+                 } else if (nested[key] == null) {
+                   nested[key] = isIndex(path[index + 1]) ? [] : {};
+                 }
+               }
+               nested = nested[key];
+             }
+             return object;
+           }
+
+           /**
+            * An alternative to `_.reduce`; this method transforms `object` to a new
+            * `accumulator` object which is the result of running each of its own enumerable
+            * properties through `iteratee`, with each invocation potentially mutating
+            * the `accumulator` object. The `iteratee` is bound to `thisArg` and invoked
+            * with four arguments: (accumulator, value, key, object). Iteratee functions
+            * may exit iteration early by explicitly returning `false`.
+            *
+            * @static
+            * @memberOf _
+            * @category Object
+            * @param {Array|Object} object The object to iterate over.
+            * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+            * @param {*} [accumulator] The custom accumulator value.
+            * @param {*} [thisArg] The `this` binding of `iteratee`.
+            * @returns {*} Returns the accumulated value.
+            * @example
+            *
+            * _.transform([2, 3, 4], function(result, n) {
+            *   result.push(n *= n);
+            *   return n % 2 == 0;
+            * });
+            * // => [4, 9]
+            *
+            * _.transform({ 'a': 1, 'b': 2 }, function(result, n, key) {
+            *   result[key] = n * 3;
+            * });
+            * // => { 'a': 3, 'b': 6 }
+            */
+           function transform(object, iteratee, accumulator, thisArg) {
+             var isArr = isArray(object) || isTypedArray(object);
+             iteratee = getCallback(iteratee, thisArg, 4);
+
+             if (accumulator == null) {
+               if (isArr || isObject(object)) {
+                 var Ctor = object.constructor;
+                 if (isArr) {
+                   accumulator = isArray(object) ? new Ctor : [];
+                 } else {
+                   accumulator = baseCreate(isFunction(Ctor) ? Ctor.prototype : undefined);
+                 }
+               } else {
+                 accumulator = {};
+               }
+             }
+             (isArr ? arrayEach : baseForOwn)(object, function(value, index, object) {
+               return iteratee(accumulator, value, index, object);
+             });
+             return accumulator;
+           }
+
+           /**
+            * Creates an array of the own enumerable property values of `object`.
+            *
+            * **Note:** Non-object values are coerced to objects.
+            *
+            * @static
+            * @memberOf _
+            * @category Object
+            * @param {Object} object The object to query.
+            * @returns {Array} Returns the array of property values.
+            * @example
+            *
+            * function Foo() {
+            *   this.a = 1;
+            *   this.b = 2;
+            * }
+            *
+            * Foo.prototype.c = 3;
+            *
+            * _.values(new Foo);
+            * // => [1, 2] (iteration order is not guaranteed)
+            *
+            * _.values('hi');
+            * // => ['h', 'i']
+            */
+           function values(object) {
+             return baseValues(object, keys(object));
+           }
+
+           /**
+            * Creates an array of the own and inherited enumerable property values
+            * of `object`.
+            *
+            * **Note:** Non-object values are coerced to objects.
+            *
+            * @static
+            * @memberOf _
+            * @category Object
+            * @param {Object} object The object to query.
+            * @returns {Array} Returns the array of property values.
+            * @example
+            *
+            * function Foo() {
+            *   this.a = 1;
+            *   this.b = 2;
+            * }
+            *
+            * Foo.prototype.c = 3;
+            *
+            * _.valuesIn(new Foo);
+            * // => [1, 2, 3] (iteration order is not guaranteed)
+            */
+           function valuesIn(object) {
+             return baseValues(object, keysIn(object));
+           }
+
+           /*------------------------------------------------------------------------*/
+
+           /**
+            * Checks if `n` is between `start` and up to but not including, `end`. If
+            * `end` is not specified it is set to `start` with `start` then set to `0`.
+            *
+            * @static
+            * @memberOf _
+            * @category Number
+            * @param {number} n The number to check.
+            * @param {number} [start=0] The start of the range.
+            * @param {number} end The end of the range.
+            * @returns {boolean} Returns `true` if `n` is in the range, else `false`.
+            * @example
+            *
+            * _.inRange(3, 2, 4);
+            * // => true
+            *
+            * _.inRange(4, 8);
+            * // => true
+            *
+            * _.inRange(4, 2);
+            * // => false
+            *
+            * _.inRange(2, 2);
+            * // => false
+            *
+            * _.inRange(1.2, 2);
+            * // => true
+            *
+            * _.inRange(5.2, 4);
+            * // => false
+            */
+           function inRange(value, start, end) {
+             start = +start || 0;
+             if (end === undefined) {
+               end = start;
+               start = 0;
+             } else {
+               end = +end || 0;
+             }
+             return value >= nativeMin(start, end) && value < nativeMax(start, end);
+           }
+
+           /**
+            * Produces a random number between `min` and `max` (inclusive). If only one
+            * argument is provided a number between `0` and the given number is returned.
+            * If `floating` is `true`, or either `min` or `max` are floats, a floating-point
+            * number is returned instead of an integer.
+            *
+            * @static
+            * @memberOf _
+            * @category Number
+            * @param {number} [min=0] The minimum possible value.
+            * @param {number} [max=1] The maximum possible value.
+            * @param {boolean} [floating] Specify returning a floating-point number.
+            * @returns {number} Returns the random number.
+            * @example
+            *
+            * _.random(0, 5);
+            * // => an integer between 0 and 5
+            *
+            * _.random(5);
+            * // => also an integer between 0 and 5
+            *
+            * _.random(5, true);
+            * // => a floating-point number between 0 and 5
+            *
+            * _.random(1.2, 5.2);
+            * // => a floating-point number between 1.2 and 5.2
+            */
+           function random(min, max, floating) {
+             if (floating && isIterateeCall(min, max, floating)) {
+               max = floating = undefined;
+             }
+             var noMin = min == null,
+                 noMax = max == null;
+
+             if (floating == null) {
+               if (noMax && typeof min == 'boolean') {
+                 floating = min;
+                 min = 1;
+               }
+               else if (typeof max == 'boolean') {
+                 floating = max;
+                 noMax = true;
+               }
+             }
+             if (noMin && noMax) {
+               max = 1;
+               noMax = false;
+             }
+             min = +min || 0;
+             if (noMax) {
+               max = min;
+               min = 0;
+             } else {
+               max = +max || 0;
+             }
+             if (floating || min % 1 || max % 1) {
+               var rand = nativeRandom();
+               return nativeMin(min + (rand * (max - min + parseFloat('1e-' + ((rand + '').length - 1)))), max);
+             }
+             return baseRandom(min, max);
+           }
+
+           /*------------------------------------------------------------------------*/
+
+           /**
+            * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).
+            *
+            * @static
+            * @memberOf _
+            * @category String
+            * @param {string} [string=''] The string to convert.
+            * @returns {string} Returns the camel cased string.
+            * @example
+            *
+            * _.camelCase('Foo Bar');
+            * // => 'fooBar'
+            *
+            * _.camelCase('--foo-bar');
+            * // => 'fooBar'
+            *
+            * _.camelCase('__foo_bar__');
+            * // => 'fooBar'
+            */
+           var camelCase = createCompounder(function(result, word, index) {
+             word = word.toLowerCase();
+             return result + (index ? (word.charAt(0).toUpperCase() + word.slice(1)) : word);
+           });
+
+           /**
+            * Capitalizes the first character of `string`.
+            *
+            * @static
+            * @memberOf _
+            * @category String
+            * @param {string} [string=''] The string to capitalize.
+            * @returns {string} Returns the capitalized string.
+            * @example
+            *
+            * _.capitalize('fred');
+            * // => 'Fred'
+            */
+           function capitalize(string) {
+             string = baseToString(string);
+             return string && (string.charAt(0).toUpperCase() + string.slice(1));
+           }
+
+           /**
+            * Deburrs `string` by converting [latin-1 supplementary letters](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)
+            * to basic latin letters and removing [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).
+            *
+            * @static
+            * @memberOf _
+            * @category String
+            * @param {string} [string=''] The string to deburr.
+            * @returns {string} Returns the deburred string.
+            * @example
+            *
+            * _.deburr('déjà vu');
+            * // => 'deja vu'
+            */
+           function deburr(string) {
+             string = baseToString(string);
+             return string && string.replace(reLatin1, deburrLetter).replace(reComboMark, '');
+           }
+
+           /**
+            * Checks if `string` ends with the given target string.
+            *
+            * @static
+            * @memberOf _
+            * @category String
+            * @param {string} [string=''] The string to search.
+            * @param {string} [target] The string to search for.
+            * @param {number} [position=string.length] The position to search from.
+            * @returns {boolean} Returns `true` if `string` ends with `target`, else `false`.
+            * @example
+            *
+            * _.endsWith('abc', 'c');
+            * // => true
+            *
+            * _.endsWith('abc', 'b');
+            * // => false
+            *
+            * _.endsWith('abc', 'b', 2);
+            * // => true
+            */
+           function endsWith(string, target, position) {
+             string = baseToString(string);
+             target = (target + '');
+
+             var length = string.length;
+             position = position === undefined
+               ? length
+               : nativeMin(position < 0 ? 0 : (+position || 0), length);
+
+             position -= target.length;
+             return position >= 0 && string.indexOf(target, position) == position;
+           }
+
+           /**
+            * Converts the characters "&", "<", ">", '"', "'", and "\`", in `string` to
+            * their corresponding HTML entities.
+            *
+            * **Note:** No other characters are escaped. To escape additional characters
+            * use a third-party library like [_he_](https://mths.be/he).
+            *
+            * Though the ">" character is escaped for symmetry, characters like
+            * ">" and "/" don't need escaping in HTML and have no special meaning
+            * unless they're part of a tag or unquoted attribute value.
+            * See [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)
+            * (under "semi-related fun fact") for more details.
+            *
+            * Backticks are escaped because in Internet Explorer < 9, they can break out
+            * of attribute values or HTML comments. See [#59](https://html5sec.org/#59),
+            * [#102](https://html5sec.org/#102), [#108](https://html5sec.org/#108), and
+            * [#133](https://html5sec.org/#133) of the [HTML5 Security Cheatsheet](https://html5sec.org/)
+            * for more details.
+            *
+            * When working with HTML you should always [quote attribute values](http://wonko.com/post/html-escaping)
+            * to reduce XSS vectors.
+            *
+            * @static
+            * @memberOf _
+            * @category String
+            * @param {string} [string=''] The string to escape.
+            * @returns {string} Returns the escaped string.
+            * @example
+            *
+            * _.escape('fred, barney, & pebbles');
+            * // => 'fred, barney, &amp; pebbles'
+            */
+           function escape(string) {
+             // Reset `lastIndex` because in IE < 9 `String#replace` does not.
+             string = baseToString(string);
+             return (string && reHasUnescapedHtml.test(string))
+               ? string.replace(reUnescapedHtml, escapeHtmlChar)
+               : string;
+           }
+
+           /**
+            * Escapes the `RegExp` special characters "\", "/", "^", "$", ".", "|", "?",
+            * "*", "+", "(", ")", "[", "]", "{" and "}" in `string`.
+            *
+            * @static
+            * @memberOf _
+            * @category String
+            * @param {string} [string=''] The string to escape.
+            * @returns {string} Returns the escaped string.
+            * @example
+            *
+            * _.escapeRegExp('[lodash](https://lodash.com/)');
+            * // => '\[lodash\]\(https:\/\/lodash\.com\/\)'
+            */
+           function escapeRegExp(string) {
+             string = baseToString(string);
+             return (string && reHasRegExpChars.test(string))
+               ? string.replace(reRegExpChars, escapeRegExpChar)
+               : (string || '(?:)');
+           }
+
+           /**
+            * Converts `string` to [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).
+            *
+            * @static
+            * @memberOf _
+            * @category String
+            * @param {string} [string=''] The string to convert.
+            * @returns {string} Returns the kebab cased string.
+            * @example
+            *
+            * _.kebabCase('Foo Bar');
+            * // => 'foo-bar'
+            *
+            * _.kebabCase('fooBar');
+            * // => 'foo-bar'
+            *
+            * _.kebabCase('__foo_bar__');
+            * // => 'foo-bar'
+            */
+           var kebabCase = createCompounder(function(result, word, index) {
+             return result + (index ? '-' : '') + word.toLowerCase();
+           });
+
+           /**
+            * Pads `string` on the left and right sides if it's shorter than `length`.
+            * Padding characters are truncated if they can't be evenly divided by `length`.
+            *
+            * @static
+            * @memberOf _
+            * @category String
+            * @param {string} [string=''] The string to pad.
+            * @param {number} [length=0] The padding length.
+            * @param {string} [chars=' '] The string used as padding.
+            * @returns {string} Returns the padded string.
+            * @example
+            *
+            * _.pad('abc', 8);
+            * // => '  abc   '
+            *
+            * _.pad('abc', 8, '_-');
+            * // => '_-abc_-_'
+            *
+            * _.pad('abc', 3);
+            * // => 'abc'
+            */
+           function pad(string, length, chars) {
+             string = baseToString(string);
+             length = +length;
+
+             var strLength = string.length;
+             if (strLength >= length || !nativeIsFinite(length)) {
+               return string;
+             }
+             var mid = (length - strLength) / 2,
+                 leftLength = nativeFloor(mid),
+                 rightLength = nativeCeil(mid);
+
+             chars = createPadding('', rightLength, chars);
+             return chars.slice(0, leftLength) + string + chars;
+           }
+
+           /**
+            * Pads `string` on the left side if it's shorter than `length`. Padding
+            * characters are truncated if they exceed `length`.
+            *
+            * @static
+            * @memberOf _
+            * @category String
+            * @param {string} [string=''] The string to pad.
+            * @param {number} [length=0] The padding length.
+            * @param {string} [chars=' '] The string used as padding.
+            * @returns {string} Returns the padded string.
+            * @example
+            *
+            * _.padLeft('abc', 6);
+            * // => '   abc'
+            *
+            * _.padLeft('abc', 6, '_-');
+            * // => '_-_abc'
+            *
+            * _.padLeft('abc', 3);
+            * // => 'abc'
+            */
+           var padLeft = createPadDir();
+
+           /**
+            * Pads `string` on the right side if it's shorter than `length`. Padding
+            * characters are truncated if they exceed `length`.
+            *
+            * @static
+            * @memberOf _
+            * @category String
+            * @param {string} [string=''] The string to pad.
+            * @param {number} [length=0] The padding length.
+            * @param {string} [chars=' '] The string used as padding.
+            * @returns {string} Returns the padded string.
+            * @example
+            *
+            * _.padRight('abc', 6);
+            * // => 'abc   '
+            *
+            * _.padRight('abc', 6, '_-');
+            * // => 'abc_-_'
+            *
+            * _.padRight('abc', 3);
+            * // => 'abc'
+            */
+           var padRight = createPadDir(true);
+
+           /**
+            * Converts `string` to an integer of the specified radix. If `radix` is
+            * `undefined` or `0`, a `radix` of `10` is used unless `value` is a hexadecimal,
+            * in which case a `radix` of `16` is used.
+            *
+            * **Note:** This method aligns with the [ES5 implementation](https://es5.github.io/#E)
+            * of `parseInt`.
+            *
+            * @static
+            * @memberOf _
+            * @category String
+            * @param {string} string The string to convert.
+            * @param {number} [radix] The radix to interpret `value` by.
+            * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+            * @returns {number} Returns the converted integer.
+            * @example
+            *
+            * _.parseInt('08');
+            * // => 8
+            *
+            * _.map(['6', '08', '10'], _.parseInt);
+            * // => [6, 8, 10]
+            */
+           function parseInt(string, radix, guard) {
+             // Firefox < 21 and Opera < 15 follow ES3 for `parseInt`.
+             // Chrome fails to trim leading <BOM> whitespace characters.
+             // See https://code.google.com/p/v8/issues/detail?id=3109 for more details.
+             if (guard ? isIterateeCall(string, radix, guard) : radix == null) {
+               radix = 0;
+             } else if (radix) {
+               radix = +radix;
+             }
+             string = trim(string);
+             return nativeParseInt(string, radix || (reHasHexPrefix.test(string) ? 16 : 10));
+           }
+
+           /**
+            * Repeats the given string `n` times.
+            *
+            * @static
+            * @memberOf _
+            * @category String
+            * @param {string} [string=''] The string to repeat.
+            * @param {number} [n=0] The number of times to repeat the string.
+            * @returns {string} Returns the repeated string.
+            * @example
+            *
+            * _.repeat('*', 3);
+            * // => '***'
+            *
+            * _.repeat('abc', 2);
+            * // => 'abcabc'
+            *
+            * _.repeat('abc', 0);
+            * // => ''
+            */
+           function repeat(string, n) {
+             var result = '';
+             string = baseToString(string);
+             n = +n;
+             if (n < 1 || !string || !nativeIsFinite(n)) {
+               return result;
+             }
+             // Leverage the exponentiation by squaring algorithm for a faster repeat.
+             // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.
+             do {
+               if (n % 2) {
+                 result += string;
+               }
+               n = nativeFloor(n / 2);
+               string += string;
+             } while (n);
+
+             return result;
+           }
+
+           /**
+            * Converts `string` to [snake case](https://en.wikipedia.org/wiki/Snake_case).
+            *
+            * @static
+            * @memberOf _
+            * @category String
+            * @param {string} [string=''] The string to convert.
+            * @returns {string} Returns the snake cased string.
+            * @example
+            *
+            * _.snakeCase('Foo Bar');
+            * // => 'foo_bar'
+            *
+            * _.snakeCase('fooBar');
+            * // => 'foo_bar'
+            *
+            * _.snakeCase('--foo-bar');
+            * // => 'foo_bar'
+            */
+           var snakeCase = createCompounder(function(result, word, index) {
+             return result + (index ? '_' : '') + word.toLowerCase();
+           });
+
+           /**
+            * Converts `string` to [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).
+            *
+            * @static
+            * @memberOf _
+            * @category String
+            * @param {string} [string=''] The string to convert.
+            * @returns {string} Returns the start cased string.
+            * @example
+            *
+            * _.startCase('--foo-bar');
+            * // => 'Foo Bar'
+            *
+            * _.startCase('fooBar');
+            * // => 'Foo Bar'
+            *
+            * _.startCase('__foo_bar__');
+            * // => 'Foo Bar'
+            */
+           var startCase = createCompounder(function(result, word, index) {
+             return result + (index ? ' ' : '') + (word.charAt(0).toUpperCase() + word.slice(1));
+           });
+
+           /**
+            * Checks if `string` starts with the given target string.
+            *
+            * @static
+            * @memberOf _
+            * @category String
+            * @param {string} [string=''] The string to search.
+            * @param {string} [target] The string to search for.
+            * @param {number} [position=0] The position to search from.
+            * @returns {boolean} Returns `true` if `string` starts with `target`, else `false`.
+            * @example
+            *
+            * _.startsWith('abc', 'a');
+            * // => true
+            *
+            * _.startsWith('abc', 'b');
+            * // => false
+            *
+            * _.startsWith('abc', 'b', 1);
+            * // => true
+            */
+           function startsWith(string, target, position) {
+             string = baseToString(string);
+             position = position == null
+               ? 0
+               : nativeMin(position < 0 ? 0 : (+position || 0), string.length);
+
+             return string.lastIndexOf(target, position) == position;
+           }
+
+           /**
+            * Creates a compiled template function that can interpolate data properties
+            * in "interpolate" delimiters, HTML-escape interpolated data properties in
+            * "escape" delimiters, and execute JavaScript in "evaluate" delimiters. Data
+            * properties may be accessed as free variables in the template. If a setting
+            * object is provided it takes precedence over `_.templateSettings` values.
+            *
+            * **Note:** In the development build `_.template` utilizes
+            * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)
+            * for easier debugging.
+            *
+            * For more information on precompiling templates see
+            * [lodash's custom builds documentation](https://lodash.com/custom-builds).
+            *
+            * For more information on Chrome extension sandboxes see
+            * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).
+            *
+            * @static
+            * @memberOf _
+            * @category String
+            * @param {string} [string=''] The template string.
+            * @param {Object} [options] The options object.
+            * @param {RegExp} [options.escape] The HTML "escape" delimiter.
+            * @param {RegExp} [options.evaluate] The "evaluate" delimiter.
+            * @param {Object} [options.imports] An object to import into the template as free variables.
+            * @param {RegExp} [options.interpolate] The "interpolate" delimiter.
+            * @param {string} [options.sourceURL] The sourceURL of the template's compiled source.
+            * @param {string} [options.variable] The data object variable name.
+            * @param- {Object} [otherOptions] Enables the legacy `options` param signature.
+            * @returns {Function} Returns the compiled template function.
+            * @example
+            *
+            * // using the "interpolate" delimiter to create a compiled template
+            * var compiled = _.template('hello <%= user %>!');
+            * compiled({ 'user': 'fred' });
+            * // => 'hello fred!'
+            *
+            * // using the HTML "escape" delimiter to escape data property values
+            * var compiled = _.template('<b><%- value %></b>');
+            * compiled({ 'value': '<script>' });
+            * // => '<b>&lt;script&gt;</b>'
+            *
+            * // using the "evaluate" delimiter to execute JavaScript and generate HTML
+            * var compiled = _.template('<% _.forEach(users, function(user) { %><li><%- user %></li><% }); %>');
+            * compiled({ 'users': ['fred', 'barney'] });
+            * // => '<li>fred</li><li>barney</li>'
+            *
+            * // using the internal `print` function in "evaluate" delimiters
+            * var compiled = _.template('<% print("hello " + user); %>!');
+            * compiled({ 'user': 'barney' });
+            * // => 'hello barney!'
+            *
+            * // using the ES delimiter as an alternative to the default "interpolate" delimiter
+            * var compiled = _.template('hello ${ user }!');
+            * compiled({ 'user': 'pebbles' });
+            * // => 'hello pebbles!'
+            *
+            * // using custom template delimiters
+            * _.templateSettings.interpolate = /{{([\s\S]+?)}}/g;
+            * var compiled = _.template('hello {{ user }}!');
+            * compiled({ 'user': 'mustache' });
+            * // => 'hello mustache!'
+            *
+            * // using backslashes to treat delimiters as plain text
+            * var compiled = _.template('<%= "\\<%- value %\\>" %>');
+            * compiled({ 'value': 'ignored' });
+            * // => '<%- value %>'
+            *
+            * // using the `imports` option to import `jQuery` as `jq`
+            * var text = '<% jq.each(users, function(user) { %><li><%- user %></li><% }); %>';
+            * var compiled = _.template(text, { 'imports': { 'jq': jQuery } });
+            * compiled({ 'users': ['fred', 'barney'] });
+            * // => '<li>fred</li><li>barney</li>'
+            *
+            * // using the `sourceURL` option to specify a custom sourceURL for the template
+            * var compiled = _.template('hello <%= user %>!', { 'sourceURL': '/basic/greeting.jst' });
+            * compiled(data);
+            * // => find the source of "greeting.jst" under the Sources tab or Resources panel of the web inspector
+            *
+            * // using the `variable` option to ensure a with-statement isn't used in the compiled template
+            * var compiled = _.template('hi <%= data.user %>!', { 'variable': 'data' });
+            * compiled.source;
+            * // => function(data) {
+            * //   var __t, __p = '';
+            * //   __p += 'hi ' + ((__t = ( data.user )) == null ? '' : __t) + '!';
+            * //   return __p;
+            * // }
+            *
+            * // using the `source` property to inline compiled templates for meaningful
+            * // line numbers in error messages and a stack trace
+            * fs.writeFileSync(path.join(cwd, 'jst.js'), '\
+            *   var JST = {\
+            *     "main": ' + _.template(mainText).source + '\
+            *   };\
+            * ');
+            */
+           function template(string, options, otherOptions) {
+             // Based on John Resig's `tmpl` implementation (http://ejohn.org/blog/javascript-micro-templating/)
+             // and Laura Doktorova's doT.js (https://github.com/olado/doT).
+             var settings = lodash.templateSettings;
+
+             if (otherOptions && isIterateeCall(string, options, otherOptions)) {
+               options = otherOptions = undefined;
+             }
+             string = baseToString(string);
+             options = assignWith(baseAssign({}, otherOptions || options), settings, assignOwnDefaults);
+
+             var imports = assignWith(baseAssign({}, options.imports), settings.imports, assignOwnDefaults),
+                 importsKeys = keys(imports),
+                 importsValues = baseValues(imports, importsKeys);
+
+             var isEscaping,
+                 isEvaluating,
+                 index = 0,
+                 interpolate = options.interpolate || reNoMatch,
+                 source = "__p += '";
+
+             // Compile the regexp to match each delimiter.
+             var reDelimiters = RegExp(
+               (options.escape || reNoMatch).source + '|' +
+               interpolate.source + '|' +
+               (interpolate === reInterpolate ? reEsTemplate : reNoMatch).source + '|' +
+               (options.evaluate || reNoMatch).source + '|$'
+             , 'g');
+
+             // Use a sourceURL for easier debugging.
+             var sourceURL = '//# sourceURL=' +
+               ('sourceURL' in options
+                 ? options.sourceURL
+                 : ('lodash.templateSources[' + (++templateCounter) + ']')
+               ) + '\n';
+
+             string.replace(reDelimiters, function(match, escapeValue, interpolateValue, esTemplateValue, evaluateValue, offset) {
+               interpolateValue || (interpolateValue = esTemplateValue);
+
+               // Escape characters that can't be included in string literals.
+               source += string.slice(index, offset).replace(reUnescapedString, escapeStringChar);
+
+               // Replace delimiters with snippets.
+               if (escapeValue) {
+                 isEscaping = true;
+                 source += "' +\n__e(" + escapeValue + ") +\n'";
+               }
+               if (evaluateValue) {
+                 isEvaluating = true;
+                 source += "';\n" + evaluateValue + ";\n__p += '";
+               }
+               if (interpolateValue) {
+                 source += "' +\n((__t = (" + interpolateValue + ")) == null ? '' : __t) +\n'";
+               }
+               index = offset + match.length;
+
+               // The JS engine embedded in Adobe products requires returning the `match`
+               // string in order to produce the correct `offset` value.
+               return match;
+             });
+
+             source += "';\n";
+
+             // If `variable` is not specified wrap a with-statement around the generated
+             // code to add the data object to the top of the scope chain.
+             var variable = options.variable;
+             if (!variable) {
+               source = 'with (obj) {\n' + source + '\n}\n';
+             }
+             // Cleanup code by stripping empty strings.
+             source = (isEvaluating ? source.replace(reEmptyStringLeading, '') : source)
+               .replace(reEmptyStringMiddle, '$1')
+               .replace(reEmptyStringTrailing, '$1;');
+
+             // Frame code as the function body.
+             source = 'function(' + (variable || 'obj') + ') {\n' +
+               (variable
+                 ? ''
+                 : 'obj || (obj = {});\n'
+               ) +
+               "var __t, __p = ''" +
+               (isEscaping
+                  ? ', __e = _.escape'
+                  : ''
+               ) +
+               (isEvaluating
+                 ? ', __j = Array.prototype.join;\n' +
+                   "function print() { __p += __j.call(arguments, '') }\n"
+                 : ';\n'
+               ) +
+               source +
+               'return __p\n}';
+
+             var result = attempt(function() {
+               return Function(importsKeys, sourceURL + 'return ' + source).apply(undefined, importsValues);
+             });
+
+             // Provide the compiled function's source by its `toString` method or
+             // the `source` property as a convenience for inlining compiled templates.
+             result.source = source;
+             if (isError(result)) {
+               throw result;
+             }
+             return result;
+           }
+
+           /**
+            * Removes leading and trailing whitespace or specified characters from `string`.
+            *
+            * @static
+            * @memberOf _
+            * @category String
+            * @param {string} [string=''] The string to trim.
+            * @param {string} [chars=whitespace] The characters to trim.
+            * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+            * @returns {string} Returns the trimmed string.
+            * @example
+            *
+            * _.trim('  abc  ');
+            * // => 'abc'
+            *
+            * _.trim('-_-abc-_-', '_-');
+            * // => 'abc'
+            *
+            * _.map(['  foo  ', '  bar  '], _.trim);
+            * // => ['foo', 'bar']
+            */
+           function trim(string, chars, guard) {
+             var value = string;
+             string = baseToString(string);
+             if (!string) {
+               return string;
+             }
+             if (guard ? isIterateeCall(value, chars, guard) : chars == null) {
+               return string.slice(trimmedLeftIndex(string), trimmedRightIndex(string) + 1);
+             }
+             chars = (chars + '');
+             return string.slice(charsLeftIndex(string, chars), charsRightIndex(string, chars) + 1);
+           }
+
+           /**
+            * Removes leading whitespace or specified characters from `string`.
+            *
+            * @static
+            * @memberOf _
+            * @category String
+            * @param {string} [string=''] The string to trim.
+            * @param {string} [chars=whitespace] The characters to trim.
+            * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+            * @returns {string} Returns the trimmed string.
+            * @example
+            *
+            * _.trimLeft('  abc  ');
+            * // => 'abc  '
+            *
+            * _.trimLeft('-_-abc-_-', '_-');
+            * // => 'abc-_-'
+            */
+           function trimLeft(string, chars, guard) {
+             var value = string;
+             string = baseToString(string);
+             if (!string) {
+               return string;
+             }
+             if (guard ? isIterateeCall(value, chars, guard) : chars == null) {
+               return string.slice(trimmedLeftIndex(string));
+             }
+             return string.slice(charsLeftIndex(string, (chars + '')));
+           }
+
+           /**
+            * Removes trailing whitespace or specified characters from `string`.
+            *
+            * @static
+            * @memberOf _
+            * @category String
+            * @param {string} [string=''] The string to trim.
+            * @param {string} [chars=whitespace] The characters to trim.
+            * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+            * @returns {string} Returns the trimmed string.
+            * @example
+            *
+            * _.trimRight('  abc  ');
+            * // => '  abc'
+            *
+            * _.trimRight('-_-abc-_-', '_-');
+            * // => '-_-abc'
+            */
+           function trimRight(string, chars, guard) {
+             var value = string;
+             string = baseToString(string);
+             if (!string) {
+               return string;
+             }
+             if (guard ? isIterateeCall(value, chars, guard) : chars == null) {
+               return string.slice(0, trimmedRightIndex(string) + 1);
+             }
+             return string.slice(0, charsRightIndex(string, (chars + '')) + 1);
+           }
+
+           /**
+            * Truncates `string` if it's longer than the given maximum string length.
+            * The last characters of the truncated string are replaced with the omission
+            * string which defaults to "...".
+            *
+            * @static
+            * @memberOf _
+            * @category String
+            * @param {string} [string=''] The string to truncate.
+            * @param {Object|number} [options] The options object or maximum string length.
+            * @param {number} [options.length=30] The maximum string length.
+            * @param {string} [options.omission='...'] The string to indicate text is omitted.
+            * @param {RegExp|string} [options.separator] The separator pattern to truncate to.
+            * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+            * @returns {string} Returns the truncated string.
+            * @example
+            *
+            * _.trunc('hi-diddly-ho there, neighborino');
+            * // => 'hi-diddly-ho there, neighbo...'
+            *
+            * _.trunc('hi-diddly-ho there, neighborino', 24);
+            * // => 'hi-diddly-ho there, n...'
+            *
+            * _.trunc('hi-diddly-ho there, neighborino', {
+            *   'length': 24,
+            *   'separator': ' '
+            * });
+            * // => 'hi-diddly-ho there,...'
+            *
+            * _.trunc('hi-diddly-ho there, neighborino', {
+            *   'length': 24,
+            *   'separator': /,? +/
+            * });
+            * // => 'hi-diddly-ho there...'
+            *
+            * _.trunc('hi-diddly-ho there, neighborino', {
+            *   'omission': ' [...]'
+            * });
+            * // => 'hi-diddly-ho there, neig [...]'
+            */
+           function trunc(string, options, guard) {
+             if (guard && isIterateeCall(string, options, guard)) {
+               options = undefined;
+             }
+             var length = DEFAULT_TRUNC_LENGTH,
+                 omission = DEFAULT_TRUNC_OMISSION;
+
+             if (options != null) {
+               if (isObject(options)) {
+                 var separator = 'separator' in options ? options.separator : separator;
+                 length = 'length' in options ? (+options.length || 0) : length;
+                 omission = 'omission' in options ? baseToString(options.omission) : omission;
+               } else {
+                 length = +options || 0;
+               }
+             }
+             string = baseToString(string);
+             if (length >= string.length) {
+               return string;
+             }
+             var end = length - omission.length;
+             if (end < 1) {
+               return omission;
+             }
+             var result = string.slice(0, end);
+             if (separator == null) {
+               return result + omission;
+             }
+             if (isRegExp(separator)) {
+               if (string.slice(end).search(separator)) {
+                 var match,
+                     newEnd,
+                     substring = string.slice(0, end);
+
+                 if (!separator.global) {
+                   separator = RegExp(separator.source, (reFlags.exec(separator) || '') + 'g');
+                 }
+                 separator.lastIndex = 0;
+                 while ((match = separator.exec(substring))) {
+                   newEnd = match.index;
+                 }
+                 result = result.slice(0, newEnd == null ? end : newEnd);
+               }
+             } else if (string.indexOf(separator, end) != end) {
+               var index = result.lastIndexOf(separator);
+               if (index > -1) {
+                 result = result.slice(0, index);
+               }
+             }
+             return result + omission;
+           }
+
+           /**
+            * The inverse of `_.escape`; this method converts the HTML entities
+            * `&amp;`, `&lt;`, `&gt;`, `&quot;`, `&#39;`, and `&#96;` in `string` to their
+            * corresponding characters.
+            *
+            * **Note:** No other HTML entities are unescaped. To unescape additional HTML
+            * entities use a third-party library like [_he_](https://mths.be/he).
+            *
+            * @static
+            * @memberOf _
+            * @category String
+            * @param {string} [string=''] The string to unescape.
+            * @returns {string} Returns the unescaped string.
+            * @example
+            *
+            * _.unescape('fred, barney, &amp; pebbles');
+            * // => 'fred, barney, & pebbles'
+            */
+           function unescape(string) {
+             string = baseToString(string);
+             return (string && reHasEscapedHtml.test(string))
+               ? string.replace(reEscapedHtml, unescapeHtmlChar)
+               : string;
+           }
+
+           /**
+            * Splits `string` into an array of its words.
+            *
+            * @static
+            * @memberOf _
+            * @category String
+            * @param {string} [string=''] The string to inspect.
+            * @param {RegExp|string} [pattern] The pattern to match words.
+            * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+            * @returns {Array} Returns the words of `string`.
+            * @example
+            *
+            * _.words('fred, barney, & pebbles');
+            * // => ['fred', 'barney', 'pebbles']
+            *
+            * _.words('fred, barney, & pebbles', /[^, ]+/g);
+            * // => ['fred', 'barney', '&', 'pebbles']
+            */
+           function words(string, pattern, guard) {
+             if (guard && isIterateeCall(string, pattern, guard)) {
+               pattern = undefined;
+             }
+             string = baseToString(string);
+             return string.match(pattern || reWords) || [];
+           }
+
+           /*------------------------------------------------------------------------*/
+
+           /**
+            * Attempts to invoke `func`, returning either the result or the caught error
+            * object. Any additional arguments are provided to `func` when it is invoked.
+            *
+            * @static
+            * @memberOf _
+            * @category Utility
+            * @param {Function} func The function to attempt.
+            * @returns {*} Returns the `func` result or error object.
+            * @example
+            *
+            * // avoid throwing errors for invalid selectors
+            * var elements = _.attempt(function(selector) {
+            *   return document.querySelectorAll(selector);
+            * }, '>_>');
+            *
+            * if (_.isError(elements)) {
+            *   elements = [];
+            * }
+            */
+           var attempt = restParam(function(func, args) {
+             try {
+               return func.apply(undefined, args);
+             } catch(e) {
+               return isError(e) ? e : new Error(e);
+             }
+           });
+
+           /**
+            * Creates a function that invokes `func` with the `this` binding of `thisArg`
+            * and arguments of the created function. If `func` is a property name the
+            * created callback returns the property value for a given element. If `func`
+            * is an object the created callback returns `true` for elements that contain
+            * the equivalent object properties, otherwise it returns `false`.
+            *
+            * @static
+            * @memberOf _
+            * @alias iteratee
+            * @category Utility
+            * @param {*} [func=_.identity] The value to convert to a callback.
+            * @param {*} [thisArg] The `this` binding of `func`.
+            * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+            * @returns {Function} Returns the callback.
+            * @example
+            *
+            * var users = [
+            *   { 'user': 'barney', 'age': 36 },
+            *   { 'user': 'fred',   'age': 40 }
+            * ];
+            *
+            * // wrap to create custom callback shorthands
+            * _.callback = _.wrap(_.callback, function(callback, func, thisArg) {
+            *   var match = /^(.+?)__([gl]t)(.+)$/.exec(func);
+            *   if (!match) {
+            *     return callback(func, thisArg);
+            *   }
+            *   return function(object) {
+            *     return match[2] == 'gt'
+            *       ? object[match[1]] > match[3]
+            *       : object[match[1]] < match[3];
+            *   };
+            * });
+            *
+            * _.filter(users, 'age__gt36');
+            * // => [{ 'user': 'fred', 'age': 40 }]
+            */
+           function callback(func, thisArg, guard) {
+             if (guard && isIterateeCall(func, thisArg, guard)) {
+               thisArg = undefined;
+             }
+             return isObjectLike(func)
+               ? matches(func)
+               : baseCallback(func, thisArg);
+           }
+
+           /**
+            * Creates a function that returns `value`.
+            *
+            * @static
+            * @memberOf _
+            * @category Utility
+            * @param {*} value The value to return from the new function.
+            * @returns {Function} Returns the new function.
+            * @example
+            *
+            * var object = { 'user': 'fred' };
+            * var getter = _.constant(object);
+            *
+            * getter() === object;
+            * // => true
+            */
+           function constant(value) {
+             return function() {
+               return value;
+             };
+           }
+
+           /**
+            * This method returns the first argument provided to it.
+            *
+            * @static
+            * @memberOf _
+            * @category Utility
+            * @param {*} value Any value.
+            * @returns {*} Returns `value`.
+            * @example
+            *
+            * var object = { 'user': 'fred' };
+            *
+            * _.identity(object) === object;
+            * // => true
+            */
+           function identity(value) {
+             return value;
+           }
+
+           /**
+            * Creates a function that performs a deep comparison between a given object
+            * and `source`, returning `true` if the given object has equivalent property
+            * values, else `false`.
+            *
+            * **Note:** This method supports comparing arrays, booleans, `Date` objects,
+            * numbers, `Object` objects, regexes, and strings. Objects are compared by
+            * their own, not inherited, enumerable properties. For comparing a single
+            * own or inherited property value see `_.matchesProperty`.
+            *
+            * @static
+            * @memberOf _
+            * @category Utility
+            * @param {Object} source The object of property values to match.
+            * @returns {Function} Returns the new function.
+            * @example
+            *
+            * var users = [
+            *   { 'user': 'barney', 'age': 36, 'active': true },
+            *   { 'user': 'fred',   'age': 40, 'active': false }
+            * ];
+            *
+            * _.filter(users, _.matches({ 'age': 40, 'active': false }));
+            * // => [{ 'user': 'fred', 'age': 40, 'active': false }]
+            */
+           function matches(source) {
+             return baseMatches(baseClone(source, true));
+           }
+
+           /**
+            * Creates a function that compares the property value of `path` on a given
+            * object to `value`.
+            *
+            * **Note:** This method supports comparing arrays, booleans, `Date` objects,
+            * numbers, `Object` objects, regexes, and strings. Objects are compared by
+            * their own, not inherited, enumerable properties.
+            *
+            * @static
+            * @memberOf _
+            * @category Utility
+            * @param {Array|string} path The path of the property to get.
+            * @param {*} srcValue The value to match.
+            * @returns {Function} Returns the new function.
+            * @example
+            *
+            * var users = [
+            *   { 'user': 'barney' },
+            *   { 'user': 'fred' }
+            * ];
+            *
+            * _.find(users, _.matchesProperty('user', 'fred'));
+            * // => { 'user': 'fred' }
+            */
+           function matchesProperty(path, srcValue) {
+             return baseMatchesProperty(path, baseClone(srcValue, true));
+           }
+
+           /**
+            * Creates a function that invokes the method at `path` on a given object.
+            * Any additional arguments are provided to the invoked method.
+            *
+            * @static
+            * @memberOf _
+            * @category Utility
+            * @param {Array|string} path The path of the method to invoke.
+            * @param {...*} [args] The arguments to invoke the method with.
+            * @returns {Function} Returns the new function.
+            * @example
+            *
+            * var objects = [
+            *   { 'a': { 'b': { 'c': _.constant(2) } } },
+            *   { 'a': { 'b': { 'c': _.constant(1) } } }
+            * ];
+            *
+            * _.map(objects, _.method('a.b.c'));
+            * // => [2, 1]
+            *
+            * _.invoke(_.sortBy(objects, _.method(['a', 'b', 'c'])), 'a.b.c');
+            * // => [1, 2]
+            */
+           var method = restParam(function(path, args) {
+             return function(object) {
+               return invokePath(object, path, args);
+             };
+           });
+
+           /**
+            * The opposite of `_.method`; this method creates a function that invokes
+            * the method at a given path on `object`. Any additional arguments are
+            * provided to the invoked method.
+            *
+            * @static
+            * @memberOf _
+            * @category Utility
+            * @param {Object} object The object to query.
+            * @param {...*} [args] The arguments to invoke the method with.
+            * @returns {Function} Returns the new function.
+            * @example
+            *
+            * var array = _.times(3, _.constant),
+            *     object = { 'a': array, 'b': array, 'c': array };
+            *
+            * _.map(['a[2]', 'c[0]'], _.methodOf(object));
+            * // => [2, 0]
+            *
+            * _.map([['a', '2'], ['c', '0']], _.methodOf(object));
+            * // => [2, 0]
+            */
+           var methodOf = restParam(function(object, args) {
+             return function(path) {
+               return invokePath(object, path, args);
+             };
+           });
+
+           /**
+            * Adds all own enumerable function properties of a source object to the
+            * destination object. If `object` is a function then methods are added to
+            * its prototype as well.
+            *
+            * **Note:** Use `_.runInContext` to create a pristine `lodash` function to
+            * avoid conflicts caused by modifying the original.
+            *
+            * @static
+            * @memberOf _
+            * @category Utility
+            * @param {Function|Object} [object=lodash] The destination object.
+            * @param {Object} source The object of functions to add.
+            * @param {Object} [options] The options object.
+            * @param {boolean} [options.chain=true] Specify whether the functions added
+            *  are chainable.
+            * @returns {Function|Object} Returns `object`.
+            * @example
+            *
+            * function vowels(string) {
+            *   return _.filter(string, function(v) {
+            *     return /[aeiou]/i.test(v);
+            *   });
+            * }
+            *
+            * _.mixin({ 'vowels': vowels });
+            * _.vowels('fred');
+            * // => ['e']
+            *
+            * _('fred').vowels().value();
+            * // => ['e']
+            *
+            * _.mixin({ 'vowels': vowels }, { 'chain': false });
+            * _('fred').vowels();
+            * // => ['e']
+            */
+           function mixin(object, source, options) {
+             if (options == null) {
+               var isObj = isObject(source),
+                   props = isObj ? keys(source) : undefined,
+                   methodNames = (props && props.length) ? baseFunctions(source, props) : undefined;
+
+               if (!(methodNames ? methodNames.length : isObj)) {
+                 methodNames = false;
+                 options = source;
+                 source = object;
+                 object = this;
+               }
+             }
+             if (!methodNames) {
+               methodNames = baseFunctions(source, keys(source));
+             }
+             var chain = true,
+                 index = -1,
+                 isFunc = isFunction(object),
+                 length = methodNames.length;
+
+             if (options === false) {
+               chain = false;
+             } else if (isObject(options) && 'chain' in options) {
+               chain = options.chain;
+             }
+             while (++index < length) {
+               var methodName = methodNames[index],
+                   func = source[methodName];
+
+               object[methodName] = func;
+               if (isFunc) {
+                 object.prototype[methodName] = (function(func) {
+                   return function() {
+                     var chainAll = this.__chain__;
+                     if (chain || chainAll) {
+                       var result = object(this.__wrapped__),
+                           actions = result.__actions__ = arrayCopy(this.__actions__);
+
+                       actions.push({ 'func': func, 'args': arguments, 'thisArg': object });
+                       result.__chain__ = chainAll;
+                       return result;
+                     }
+                     return func.apply(object, arrayPush([this.value()], arguments));
+                   };
+                 }(func));
+               }
+             }
+             return object;
+           }
+
+           /**
+            * Reverts the `_` variable to its previous value and returns a reference to
+            * the `lodash` function.
+            *
+            * @static
+            * @memberOf _
+            * @category Utility
+            * @returns {Function} Returns the `lodash` function.
+            * @example
+            *
+            * var lodash = _.noConflict();
+            */
+           function noConflict() {
+             root._ = oldDash;
+             return this;
+           }
+
+           /**
+            * A no-operation function that returns `undefined` regardless of the
+            * arguments it receives.
+            *
+            * @static
+            * @memberOf _
+            * @category Utility
+            * @example
+            *
+            * var object = { 'user': 'fred' };
+            *
+            * _.noop(object) === undefined;
+            * // => true
+            */
+           function noop() {
+             // No operation performed.
+           }
+
+           /**
+            * Creates a function that returns the property value at `path` on a
+            * given object.
+            *
+            * @static
+            * @memberOf _
+            * @category Utility
+            * @param {Array|string} path The path of the property to get.
+            * @returns {Function} Returns the new function.
+            * @example
+            *
+            * var objects = [
+            *   { 'a': { 'b': { 'c': 2 } } },
+            *   { 'a': { 'b': { 'c': 1 } } }
+            * ];
+            *
+            * _.map(objects, _.property('a.b.c'));
+            * // => [2, 1]
+            *
+            * _.pluck(_.sortBy(objects, _.property(['a', 'b', 'c'])), 'a.b.c');
+            * // => [1, 2]
+            */
+           function property(path) {
+             return isKey(path) ? baseProperty(path) : basePropertyDeep(path);
+           }
+
+           /**
+            * The opposite of `_.property`; this method creates a function that returns
+            * the property value at a given path on `object`.
+            *
+            * @static
+            * @memberOf _
+            * @category Utility
+            * @param {Object} object The object to query.
+            * @returns {Function} Returns the new function.
+            * @example
+            *
+            * var array = [0, 1, 2],
+            *     object = { 'a': array, 'b': array, 'c': array };
+            *
+            * _.map(['a[2]', 'c[0]'], _.propertyOf(object));
+            * // => [2, 0]
+            *
+            * _.map([['a', '2'], ['c', '0']], _.propertyOf(object));
+            * // => [2, 0]
+            */
+           function propertyOf(object) {
+             return function(path) {
+               return baseGet(object, toPath(path), path + '');
+             };
+           }
+
+           /**
+            * Creates an array of numbers (positive and/or negative) progressing from
+            * `start` up to, but not including, `end`. If `end` is not specified it is
+            * set to `start` with `start` then set to `0`. If `end` is less than `start`
+            * a zero-length range is created unless a negative `step` is specified.
+            *
+            * @static
+            * @memberOf _
+            * @category Utility
+            * @param {number} [start=0] The start of the range.
+            * @param {number} end The end of the range.
+            * @param {number} [step=1] The value to increment or decrement by.
+            * @returns {Array} Returns the new array of numbers.
+            * @example
+            *
+            * _.range(4);
+            * // => [0, 1, 2, 3]
+            *
+            * _.range(1, 5);
+            * // => [1, 2, 3, 4]
+            *
+            * _.range(0, 20, 5);
+            * // => [0, 5, 10, 15]
+            *
+            * _.range(0, -4, -1);
+            * // => [0, -1, -2, -3]
+            *
+            * _.range(1, 4, 0);
+            * // => [1, 1, 1]
+            *
+            * _.range(0);
+            * // => []
+            */
+           function range(start, end, step) {
+             if (step && isIterateeCall(start, end, step)) {
+               end = step = undefined;
+             }
+             start = +start || 0;
+             step = step == null ? 1 : (+step || 0);
+
+             if (end == null) {
+               end = start;
+               start = 0;
+             } else {
+               end = +end || 0;
+             }
+             // Use `Array(length)` so engines like Chakra and V8 avoid slower modes.
+             // See https://youtu.be/XAqIpGU8ZZk#t=17m25s for more details.
+             var index = -1,
+                 length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),
+                 result = Array(length);
+
+             while (++index < length) {
+               result[index] = start;
+               start += step;
+             }
+             return result;
+           }
+
+           /**
+            * Invokes the iteratee function `n` times, returning an array of the results
+            * of each invocation. The `iteratee` is bound to `thisArg` and invoked with
+            * one argument; (index).
+            *
+            * @static
+            * @memberOf _
+            * @category Utility
+            * @param {number} n The number of times to invoke `iteratee`.
+            * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+            * @param {*} [thisArg] The `this` binding of `iteratee`.
+            * @returns {Array} Returns the array of results.
+            * @example
+            *
+            * var diceRolls = _.times(3, _.partial(_.random, 1, 6, false));
+            * // => [3, 6, 4]
+            *
+            * _.times(3, function(n) {
+            *   mage.castSpell(n);
+            * });
+            * // => invokes `mage.castSpell(n)` three times with `n` of `0`, `1`, and `2`
+            *
+            * _.times(3, function(n) {
+            *   this.cast(n);
+            * }, mage);
+            * // => also invokes `mage.castSpell(n)` three times
+            */
+           function times(n, iteratee, thisArg) {
+             n = nativeFloor(n);
+
+             // Exit early to avoid a JSC JIT bug in Safari 8
+             // where `Array(0)` is treated as `Array(1)`.
+             if (n < 1 || !nativeIsFinite(n)) {
+               return [];
+             }
+             var index = -1,
+                 result = Array(nativeMin(n, MAX_ARRAY_LENGTH));
+
+             iteratee = bindCallback(iteratee, thisArg, 1);
+             while (++index < n) {
+               if (index < MAX_ARRAY_LENGTH) {
+                 result[index] = iteratee(index);
+               } else {
+                 iteratee(index);
+               }
+             }
+             return result;
+           }
+
+           /**
+            * Generates a unique ID. If `prefix` is provided the ID is appended to it.
+            *
+            * @static
+            * @memberOf _
+            * @category Utility
+            * @param {string} [prefix] The value to prefix the ID with.
+            * @returns {string} Returns the unique ID.
+            * @example
+            *
+            * _.uniqueId('contact_');
+            * // => 'contact_104'
+            *
+            * _.uniqueId();
+            * // => '105'
+            */
+           function uniqueId(prefix) {
+             var id = ++idCounter;
+             return baseToString(prefix) + id;
+           }
+
+           /*------------------------------------------------------------------------*/
+
+           /**
+            * Adds two numbers.
+            *
+            * @static
+            * @memberOf _
+            * @category Math
+            * @param {number} augend The first number to add.
+            * @param {number} addend The second number to add.
+            * @returns {number} Returns the sum.
+            * @example
+            *
+            * _.add(6, 4);
+            * // => 10
+            */
+           function add(augend, addend) {
+             return (+augend || 0) + (+addend || 0);
+           }
+
+           /**
+            * Calculates `n` rounded up to `precision`.
+            *
+            * @static
+            * @memberOf _
+            * @category Math
+            * @param {number} n The number to round up.
+            * @param {number} [precision=0] The precision to round up to.
+            * @returns {number} Returns the rounded up number.
+            * @example
+            *
+            * _.ceil(4.006);
+            * // => 5
+            *
+            * _.ceil(6.004, 2);
+            * // => 6.01
+            *
+            * _.ceil(6040, -2);
+            * // => 6100
+            */
+           var ceil = createRound('ceil');
+
+           /**
+            * Calculates `n` rounded down to `precision`.
+            *
+            * @static
+            * @memberOf _
+            * @category Math
+            * @param {number} n The number to round down.
+            * @param {number} [precision=0] The precision to round down to.
+            * @returns {number} Returns the rounded down number.
+            * @example
+            *
+            * _.floor(4.006);
+            * // => 4
+            *
+            * _.floor(0.046, 2);
+            * // => 0.04
+            *
+            * _.floor(4060, -2);
+            * // => 4000
+            */
+           var floor = createRound('floor');
+
+           /**
+            * Gets the maximum value of `collection`. If `collection` is empty or falsey
+            * `-Infinity` is returned. If an iteratee function is provided it is invoked
+            * for each value in `collection` to generate the criterion by which the value
+            * is ranked. The `iteratee` is bound to `thisArg` and invoked with three
+            * arguments: (value, index, collection).
+            *
+            * If a property name is provided for `iteratee` the created `_.property`
+            * style callback returns the property value of the given element.
+            *
+            * If a value is also provided for `thisArg` the created `_.matchesProperty`
+            * style callback returns `true` for elements that have a matching property
+            * value, else `false`.
+            *
+            * If an object is provided for `iteratee` the created `_.matches` style
+            * callback returns `true` for elements that have the properties of the given
+            * object, else `false`.
+            *
+            * @static
+            * @memberOf _
+            * @category Math
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function|Object|string} [iteratee] The function invoked per iteration.
+            * @param {*} [thisArg] The `this` binding of `iteratee`.
+            * @returns {*} Returns the maximum value.
+            * @example
+            *
+            * _.max([4, 2, 8, 6]);
+            * // => 8
+            *
+            * _.max([]);
+            * // => -Infinity
+            *
+            * var users = [
+            *   { 'user': 'barney', 'age': 36 },
+            *   { 'user': 'fred',   'age': 40 }
+            * ];
+            *
+            * _.max(users, function(chr) {
+            *   return chr.age;
+            * });
+            * // => { 'user': 'fred', 'age': 40 }
+            *
+            * // using the `_.property` callback shorthand
+            * _.max(users, 'age');
+            * // => { 'user': 'fred', 'age': 40 }
+            */
+           var max = createExtremum(gt, NEGATIVE_INFINITY);
+
+           /**
+            * Gets the minimum value of `collection`. If `collection` is empty or falsey
+            * `Infinity` is returned. If an iteratee function is provided it is invoked
+            * for each value in `collection` to generate the criterion by which the value
+            * is ranked. The `iteratee` is bound to `thisArg` and invoked with three
+            * arguments: (value, index, collection).
+            *
+            * If a property name is provided for `iteratee` the created `_.property`
+            * style callback returns the property value of the given element.
+            *
+            * If a value is also provided for `thisArg` the created `_.matchesProperty`
+            * style callback returns `true` for elements that have a matching property
+            * value, else `false`.
+            *
+            * If an object is provided for `iteratee` the created `_.matches` style
+            * callback returns `true` for elements that have the properties of the given
+            * object, else `false`.
+            *
+            * @static
+            * @memberOf _
+            * @category Math
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function|Object|string} [iteratee] The function invoked per iteration.
+            * @param {*} [thisArg] The `this` binding of `iteratee`.
+            * @returns {*} Returns the minimum value.
+            * @example
+            *
+            * _.min([4, 2, 8, 6]);
+            * // => 2
+            *
+            * _.min([]);
+            * // => Infinity
+            *
+            * var users = [
+            *   { 'user': 'barney', 'age': 36 },
+            *   { 'user': 'fred',   'age': 40 }
+            * ];
+            *
+            * _.min(users, function(chr) {
+            *   return chr.age;
+            * });
+            * // => { 'user': 'barney', 'age': 36 }
+            *
+            * // using the `_.property` callback shorthand
+            * _.min(users, 'age');
+            * // => { 'user': 'barney', 'age': 36 }
+            */
+           var min = createExtremum(lt, POSITIVE_INFINITY);
+
+           /**
+            * Calculates `n` rounded to `precision`.
+            *
+            * @static
+            * @memberOf _
+            * @category Math
+            * @param {number} n The number to round.
+            * @param {number} [precision=0] The precision to round to.
+            * @returns {number} Returns the rounded number.
+            * @example
+            *
+            * _.round(4.006);
+            * // => 4
+            *
+            * _.round(4.006, 2);
+            * // => 4.01
+            *
+            * _.round(4060, -2);
+            * // => 4100
+            */
+           var round = createRound('round');
+
+           /**
+            * Gets the sum of the values in `collection`.
+            *
+            * @static
+            * @memberOf _
+            * @category Math
+            * @param {Array|Object|string} collection The collection to iterate over.
+            * @param {Function|Object|string} [iteratee] The function invoked per iteration.
+            * @param {*} [thisArg] The `this` binding of `iteratee`.
+            * @returns {number} Returns the sum.
+            * @example
+            *
+            * _.sum([4, 6]);
+            * // => 10
+            *
+            * _.sum({ 'a': 4, 'b': 6 });
+            * // => 10
+            *
+            * var objects = [
+            *   { 'n': 4 },
+            *   { 'n': 6 }
+            * ];
+            *
+            * _.sum(objects, function(object) {
+            *   return object.n;
+            * });
+            * // => 10
+            *
+            * // using the `_.property` callback shorthand
+            * _.sum(objects, 'n');
+            * // => 10
+            */
+           function sum(collection, iteratee, thisArg) {
+             if (thisArg && isIterateeCall(collection, iteratee, thisArg)) {
+               iteratee = undefined;
+             }
+             iteratee = getCallback(iteratee, thisArg, 3);
+             return iteratee.length == 1
+               ? arraySum(isArray(collection) ? collection : toIterable(collection), iteratee)
+               : baseSum(collection, iteratee);
+           }
+
+           /*------------------------------------------------------------------------*/
+
+           // Ensure wrappers are instances of `baseLodash`.
+           lodash.prototype = baseLodash.prototype;
+
+           LodashWrapper.prototype = baseCreate(baseLodash.prototype);
+           LodashWrapper.prototype.constructor = LodashWrapper;
+
+           LazyWrapper.prototype = baseCreate(baseLodash.prototype);
+           LazyWrapper.prototype.constructor = LazyWrapper;
+
+           // Add functions to the `Map` cache.
+           MapCache.prototype['delete'] = mapDelete;
+           MapCache.prototype.get = mapGet;
+           MapCache.prototype.has = mapHas;
+           MapCache.prototype.set = mapSet;
+
+           // Add functions to the `Set` cache.
+           SetCache.prototype.push = cachePush;
+
+           // Assign cache to `_.memoize`.
+           memoize.Cache = MapCache;
+
+           // Add functions that return wrapped values when chaining.
+           lodash.after = after;
+           lodash.ary = ary;
+           lodash.assign = assign;
+           lodash.at = at;
+           lodash.before = before;
+           lodash.bind = bind;
+           lodash.bindAll = bindAll;
+           lodash.bindKey = bindKey;
+           lodash.callback = callback;
+           lodash.chain = chain;
+           lodash.chunk = chunk;
+           lodash.compact = compact;
+           lodash.constant = constant;
+           lodash.countBy = countBy;
+           lodash.create = create;
+           lodash.curry = curry;
+           lodash.curryRight = curryRight;
+           lodash.debounce = debounce;
+           lodash.defaults = defaults;
+           lodash.defaultsDeep = defaultsDeep;
+           lodash.defer = defer;
+           lodash.delay = delay;
+           lodash.difference = difference;
+           lodash.drop = drop;
+           lodash.dropRight = dropRight;
+           lodash.dropRightWhile = dropRightWhile;
+           lodash.dropWhile = dropWhile;
+           lodash.fill = fill;
+           lodash.filter = filter;
+           lodash.flatten = flatten;
+           lodash.flattenDeep = flattenDeep;
+           lodash.flow = flow;
+           lodash.flowRight = flowRight;
+           lodash.forEach = forEach;
+           lodash.forEachRight = forEachRight;
+           lodash.forIn = forIn;
+           lodash.forInRight = forInRight;
+           lodash.forOwn = forOwn;
+           lodash.forOwnRight = forOwnRight;
+           lodash.functions = functions;
+           lodash.groupBy = groupBy;
+           lodash.indexBy = indexBy;
+           lodash.initial = initial;
+           lodash.intersection = intersection;
+           lodash.invert = invert;
+           lodash.invoke = invoke;
+           lodash.keys = keys;
+           lodash.keysIn = keysIn;
+           lodash.map = map;
+           lodash.mapKeys = mapKeys;
+           lodash.mapValues = mapValues;
+           lodash.matches = matches;
+           lodash.matchesProperty = matchesProperty;
+           lodash.memoize = memoize;
+           lodash.merge = merge;
+           lodash.method = method;
+           lodash.methodOf = methodOf;
+           lodash.mixin = mixin;
+           lodash.modArgs = modArgs;
+           lodash.negate = negate;
+           lodash.omit = omit;
+           lodash.once = once;
+           lodash.pairs = pairs;
+           lodash.partial = partial;
+           lodash.partialRight = partialRight;
+           lodash.partition = partition;
+           lodash.pick = pick;
+           lodash.pluck = pluck;
+           lodash.property = property;
+           lodash.propertyOf = propertyOf;
+           lodash.pull = pull;
+           lodash.pullAt = pullAt;
+           lodash.range = range;
+           lodash.rearg = rearg;
+           lodash.reject = reject;
+           lodash.remove = remove;
+           lodash.rest = rest;
+           lodash.restParam = restParam;
+           lodash.set = set;
+           lodash.shuffle = shuffle;
+           lodash.slice = slice;
+           lodash.sortBy = sortBy;
+           lodash.sortByAll = sortByAll;
+           lodash.sortByOrder = sortByOrder;
+           lodash.spread = spread;
+           lodash.take = take;
+           lodash.takeRight = takeRight;
+           lodash.takeRightWhile = takeRightWhile;
+           lodash.takeWhile = takeWhile;
+           lodash.tap = tap;
+           lodash.throttle = throttle;
+           lodash.thru = thru;
+           lodash.times = times;
+           lodash.toArray = toArray;
+           lodash.toPlainObject = toPlainObject;
+           lodash.transform = transform;
+           lodash.union = union;
+           lodash.uniq = uniq;
+           lodash.unzip = unzip;
+           lodash.unzipWith = unzipWith;
+           lodash.values = values;
+           lodash.valuesIn = valuesIn;
+           lodash.where = where;
+           lodash.without = without;
+           lodash.wrap = wrap;
+           lodash.xor = xor;
+           lodash.zip = zip;
+           lodash.zipObject = zipObject;
+           lodash.zipWith = zipWith;
+
+           // Add aliases.
+           lodash.backflow = flowRight;
+           lodash.collect = map;
+           lodash.compose = flowRight;
+           lodash.each = forEach;
+           lodash.eachRight = forEachRight;
+           lodash.extend = assign;
+           lodash.iteratee = callback;
+           lodash.methods = functions;
+           lodash.object = zipObject;
+           lodash.select = filter;
+           lodash.tail = rest;
+           lodash.unique = uniq;
+
+           // Add functions to `lodash.prototype`.
+           mixin(lodash, lodash);
+
+           /*------------------------------------------------------------------------*/
+
+           // Add functions that return unwrapped values when chaining.
+           lodash.add = add;
+           lodash.attempt = attempt;
+           lodash.camelCase = camelCase;
+           lodash.capitalize = capitalize;
+           lodash.ceil = ceil;
+           lodash.clone = clone;
+           lodash.cloneDeep = cloneDeep;
+           lodash.deburr = deburr;
+           lodash.endsWith = endsWith;
+           lodash.escape = escape;
+           lodash.escapeRegExp = escapeRegExp;
+           lodash.every = every;
+           lodash.find = find;
+           lodash.findIndex = findIndex;
+           lodash.findKey = findKey;
+           lodash.findLast = findLast;
+           lodash.findLastIndex = findLastIndex;
+           lodash.findLastKey = findLastKey;
+           lodash.findWhere = findWhere;
+           lodash.first = first;
+           lodash.floor = floor;
+           lodash.get = get;
+           lodash.gt = gt;
+           lodash.gte = gte;
+           lodash.has = has;
+           lodash.identity = identity;
+           lodash.includes = includes;
+           lodash.indexOf = indexOf;
+           lodash.inRange = inRange;
+           lodash.isArguments = isArguments;
+           lodash.isArray = isArray;
+           lodash.isBoolean = isBoolean;
+           lodash.isDate = isDate;
+           lodash.isElement = isElement;
+           lodash.isEmpty = isEmpty;
+           lodash.isEqual = isEqual;
+           lodash.isError = isError;
+           lodash.isFinite = isFinite;
+           lodash.isFunction = isFunction;
+           lodash.isMatch = isMatch;
+           lodash.isNaN = isNaN;
+           lodash.isNative = isNative;
+           lodash.isNull = isNull;
+           lodash.isNumber = isNumber;
+           lodash.isObject = isObject;
+           lodash.isPlainObject = isPlainObject;
+           lodash.isRegExp = isRegExp;
+           lodash.isString = isString;
+           lodash.isTypedArray = isTypedArray;
+           lodash.isUndefined = isUndefined;
+           lodash.kebabCase = kebabCase;
+           lodash.last = last;
+           lodash.lastIndexOf = lastIndexOf;
+           lodash.lt = lt;
+           lodash.lte = lte;
+           lodash.max = max;
+           lodash.min = min;
+           lodash.noConflict = noConflict;
+           lodash.noop = noop;
+           lodash.now = now;
+           lodash.pad = pad;
+           lodash.padLeft = padLeft;
+           lodash.padRight = padRight;
+           lodash.parseInt = parseInt;
+           lodash.random = random;
+           lodash.reduce = reduce;
+           lodash.reduceRight = reduceRight;
+           lodash.repeat = repeat;
+           lodash.result = result;
+           lodash.round = round;
+           lodash.runInContext = runInContext;
+           lodash.size = size;
+           lodash.snakeCase = snakeCase;
+           lodash.some = some;
+           lodash.sortedIndex = sortedIndex;
+           lodash.sortedLastIndex = sortedLastIndex;
+           lodash.startCase = startCase;
+           lodash.startsWith = startsWith;
+           lodash.sum = sum;
+           lodash.template = template;
+           lodash.trim = trim;
+           lodash.trimLeft = trimLeft;
+           lodash.trimRight = trimRight;
+           lodash.trunc = trunc;
+           lodash.unescape = unescape;
+           lodash.uniqueId = uniqueId;
+           lodash.words = words;
+
+           // Add aliases.
+           lodash.all = every;
+           lodash.any = some;
+           lodash.contains = includes;
+           lodash.eq = isEqual;
+           lodash.detect = find;
+           lodash.foldl = reduce;
+           lodash.foldr = reduceRight;
+           lodash.head = first;
+           lodash.include = includes;
+           lodash.inject = reduce;
+
+           mixin(lodash, (function() {
+             var source = {};
+             baseForOwn(lodash, function(func, methodName) {
+               if (!lodash.prototype[methodName]) {
+                 source[methodName] = func;
+               }
+             });
+             return source;
+           }()), false);
+
+           /*------------------------------------------------------------------------*/
+
+           // Add functions capable of returning wrapped and unwrapped values when chaining.
+           lodash.sample = sample;
+
+           lodash.prototype.sample = function(n) {
+             if (!this.__chain__ && n == null) {
+               return sample(this.value());
+             }
+             return this.thru(function(value) {
+               return sample(value, n);
+             });
+           };
+
+           /*------------------------------------------------------------------------*/
+
+           /**
+            * The semantic version number.
+            *
+            * @static
+            * @memberOf _
+            * @type string
+            */
+           lodash.VERSION = VERSION;
+
+           // Assign default placeholders.
+           arrayEach(['bind', 'bindKey', 'curry', 'curryRight', 'partial', 'partialRight'], function(methodName) {
+             lodash[methodName].placeholder = lodash;
+           });
+
+           // Add `LazyWrapper` methods for `_.drop` and `_.take` variants.
+           arrayEach(['drop', 'take'], function(methodName, index) {
+             LazyWrapper.prototype[methodName] = function(n) {
+               var filtered = this.__filtered__;
+               if (filtered && !index) {
+                 return new LazyWrapper(this);
+               }
+               n = n == null ? 1 : nativeMax(nativeFloor(n) || 0, 0);
+
+               var result = this.clone();
+               if (filtered) {
+                 result.__takeCount__ = nativeMin(result.__takeCount__, n);
+               } else {
+                 result.__views__.push({ 'size': n, 'type': methodName + (result.__dir__ < 0 ? 'Right' : '') });
+               }
+               return result;
+             };
+
+             LazyWrapper.prototype[methodName + 'Right'] = function(n) {
+               return this.reverse()[methodName](n).reverse();
+             };
+           });
+
+           // Add `LazyWrapper` methods that accept an `iteratee` value.
+           arrayEach(['filter', 'map', 'takeWhile'], function(methodName, index) {
+             var type = index + 1,
+                 isFilter = type != LAZY_MAP_FLAG;
+
+             LazyWrapper.prototype[methodName] = function(iteratee, thisArg) {
+               var result = this.clone();
+               result.__iteratees__.push({ 'iteratee': getCallback(iteratee, thisArg, 1), 'type': type });
+               result.__filtered__ = result.__filtered__ || isFilter;
+               return result;
+             };
+           });
+
+           // Add `LazyWrapper` methods for `_.first` and `_.last`.
+           arrayEach(['first', 'last'], function(methodName, index) {
+             var takeName = 'take' + (index ? 'Right' : '');
+
+             LazyWrapper.prototype[methodName] = function() {
+               return this[takeName](1).value()[0];
+             };
+           });
+
+           // Add `LazyWrapper` methods for `_.initial` and `_.rest`.
+           arrayEach(['initial', 'rest'], function(methodName, index) {
+             var dropName = 'drop' + (index ? '' : 'Right');
+
+             LazyWrapper.prototype[methodName] = function() {
+               return this.__filtered__ ? new LazyWrapper(this) : this[dropName](1);
+             };
+           });
+
+           // Add `LazyWrapper` methods for `_.pluck` and `_.where`.
+           arrayEach(['pluck', 'where'], function(methodName, index) {
+             var operationName = index ? 'filter' : 'map',
+                 createCallback = index ? baseMatches : property;
+
+             LazyWrapper.prototype[methodName] = function(value) {
+               return this[operationName](createCallback(value));
+             };
+           });
+
+           LazyWrapper.prototype.compact = function() {
+             return this.filter(identity);
+           };
+
+           LazyWrapper.prototype.reject = function(predicate, thisArg) {
+             predicate = getCallback(predicate, thisArg, 1);
+             return this.filter(function(value) {
+               return !predicate(value);
+             });
+           };
+
+           LazyWrapper.prototype.slice = function(start, end) {
+             start = start == null ? 0 : (+start || 0);
+
+             var result = this;
+             if (result.__filtered__ && (start > 0 || end < 0)) {
+               return new LazyWrapper(result);
+             }
+             if (start < 0) {
+               result = result.takeRight(-start);
+             } else if (start) {
+               result = result.drop(start);
+             }
+             if (end !== undefined) {
+               end = (+end || 0);
+               result = end < 0 ? result.dropRight(-end) : result.take(end - start);
+             }
+             return result;
+           };
+
+           LazyWrapper.prototype.takeRightWhile = function(predicate, thisArg) {
+             return this.reverse().takeWhile(predicate, thisArg).reverse();
+           };
+
+           LazyWrapper.prototype.toArray = function() {
+             return this.take(POSITIVE_INFINITY);
+           };
+
+           // Add `LazyWrapper` methods to `lodash.prototype`.
+           baseForOwn(LazyWrapper.prototype, function(func, methodName) {
+             var checkIteratee = /^(?:filter|map|reject)|While$/.test(methodName),
+                 retUnwrapped = /^(?:first|last)$/.test(methodName),
+                 lodashFunc = lodash[retUnwrapped ? ('take' + (methodName == 'last' ? 'Right' : '')) : methodName];
+
+             if (!lodashFunc) {
+               return;
+             }
+             lodash.prototype[methodName] = function() {
+               var args = retUnwrapped ? [1] : arguments,
+                   chainAll = this.__chain__,
+                   value = this.__wrapped__,
+                   isHybrid = !!this.__actions__.length,
+                   isLazy = value instanceof LazyWrapper,
+                   iteratee = args[0],
+                   useLazy = isLazy || isArray(value);
+
+               if (useLazy && checkIteratee && typeof iteratee == 'function' && iteratee.length != 1) {
+                 // Avoid lazy use if the iteratee has a "length" value other than `1`.
+                 isLazy = useLazy = false;
+               }
+               var interceptor = function(value) {
+                 return (retUnwrapped && chainAll)
+                   ? lodashFunc(value, 1)[0]
+                   : lodashFunc.apply(undefined, arrayPush([value], args));
+               };
+
+               var action = { 'func': thru, 'args': [interceptor], 'thisArg': undefined },
+                   onlyLazy = isLazy && !isHybrid;
+
+               if (retUnwrapped && !chainAll) {
+                 if (onlyLazy) {
+                   value = value.clone();
+                   value.__actions__.push(action);
+                   return func.call(value);
+                 }
+                 return lodashFunc.call(undefined, this.value())[0];
+               }
+               if (!retUnwrapped && useLazy) {
+                 value = onlyLazy ? value : new LazyWrapper(this);
+                 var result = func.apply(value, args);
+                 result.__actions__.push(action);
+                 return new LodashWrapper(result, chainAll);
+               }
+               return this.thru(interceptor);
+             };
+           });
+
+           // Add `Array` and `String` methods to `lodash.prototype`.
+           arrayEach(['join', 'pop', 'push', 'replace', 'shift', 'sort', 'splice', 'split', 'unshift'], function(methodName) {
+             var func = (/^(?:replace|split)$/.test(methodName) ? stringProto : arrayProto)[methodName],
+                 chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru',
+                 retUnwrapped = /^(?:join|pop|replace|shift)$/.test(methodName);
+
+             lodash.prototype[methodName] = function() {
+               var args = arguments;
+               if (retUnwrapped && !this.__chain__) {
+                 return func.apply(this.value(), args);
+               }
+               return this[chainName](function(value) {
+                 return func.apply(value, args);
+               });
+             };
+           });
+
+           // Map minified function names to their real names.
+           baseForOwn(LazyWrapper.prototype, function(func, methodName) {
+             var lodashFunc = lodash[methodName];
+             if (lodashFunc) {
+               var key = lodashFunc.name,
+                   names = realNames[key] || (realNames[key] = []);
+
+               names.push({ 'name': methodName, 'func': lodashFunc });
+             }
+           });
+
+           realNames[createHybridWrapper(undefined, BIND_KEY_FLAG).name] = [{ 'name': 'wrapper', 'func': undefined }];
+
+           // Add functions to the lazy wrapper.
+           LazyWrapper.prototype.clone = lazyClone;
+           LazyWrapper.prototype.reverse = lazyReverse;
+           LazyWrapper.prototype.value = lazyValue;
+
+           // Add chaining functions to the `lodash` wrapper.
+           lodash.prototype.chain = wrapperChain;
+           lodash.prototype.commit = wrapperCommit;
+           lodash.prototype.concat = wrapperConcat;
+           lodash.prototype.plant = wrapperPlant;
+           lodash.prototype.reverse = wrapperReverse;
+           lodash.prototype.toString = wrapperToString;
+           lodash.prototype.run = lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue;
+
+           // Add function aliases to the `lodash` wrapper.
+           lodash.prototype.collect = lodash.prototype.map;
+           lodash.prototype.head = lodash.prototype.first;
+           lodash.prototype.select = lodash.prototype.filter;
+           lodash.prototype.tail = lodash.prototype.rest;
+
+           return lodash;
+         }
+
+         /*--------------------------------------------------------------------------*/
+
+         // Export lodash.
+         var _ = runInContext();
+
+         // Some AMD build optimizers like r.js check for condition patterns like the following:
+         if (true) {
+           // Expose lodash to the global object when an AMD loader is present to avoid
+           // errors in cases where lodash is loaded by a script tag and not intended
+           // as an AMD module. See http://requirejs.org/docs/errors.html#mismatch for
+           // more details.
+           root._ = _;
+
+           // Define as an anonymous module so, through path mapping, it can be
+           // referenced as the "underscore" module.
+           !(__WEBPACK_AMD_DEFINE_RESULT__ = function() {
+             return _;
+           }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
+         }
+         // Check for `exports` after `define` in case a build optimizer adds an `exports` object.
+         else if (freeExports && freeModule) {
+           // Export for Node.js or RingoJS.
+           if (moduleExports) {
+             (freeModule.exports = _)._ = _;
+           }
+           // Export for Rhino with CommonJS support.
+           else {
+             freeExports._ = _;
+           }
+         }
+         else {
+           // Export for a browser or Rhino.
+           root._ = _;
+         }
+       }.call(this));
+
+       /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(8)(module), (function() { return this; }())))
+
+/***/ },
+/* 8 */
+/***/ function(module, exports) {
+
+       module.exports = function(module) {\r
+               if(!module.webpackPolyfill) {\r
+                       module.deprecate = function() {};\r
+                       module.paths = [];\r
+                       // module.parent = undefined by default\r
+                       module.children = [];\r
+                       module.webpackPolyfill = 1;\r
+               }\r
+               return module;\r
+       }\r
+
+
+/***/ },
+/* 9 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* jslint node: true */
+       'use strict';
+
+       var _ = __webpack_require__(7);
+       var FontWrapper = __webpack_require__(10);
+
+       function typeName(bold, italics){
+               var type = 'normal';
+               if (bold && italics) type = 'bolditalics';
+               else if (bold) type = 'bold';
+               else if (italics) type = 'italics';
+               return type;
+       }
+
+       function FontProvider(fontDescriptors, pdfDoc) {
+               this.fonts = {};
+               this.pdfDoc = pdfDoc;
+               this.fontWrappers = {};
+
+               for(var font in fontDescriptors) {
+                       if (fontDescriptors.hasOwnProperty(font)) {
+                               var fontDef = fontDescriptors[font];
+
+                               this.fonts[font] = {
+                                       normal: fontDef.normal,
+                                       bold: fontDef.bold,
+                                       italics: fontDef.italics,
+                                       bolditalics: fontDef.bolditalics
+                               };
+                       }
+               }
+       }
+
+       FontProvider.prototype.provideFont = function(familyName, bold, italics) {
+               var type = typeName(bold, italics);
+         if (!this.fonts[familyName] || !this.fonts[familyName][type]) {
+                       throw new Error('Font \''+ familyName + '\' in style \''+type+ '\' is not defined in the font section of the document definition.');
+               }
+
+         this.fontWrappers[familyName] = this.fontWrappers[familyName] || {};
+
+         if (!this.fontWrappers[familyName][type]) {
+                       this.fontWrappers[familyName][type] = new FontWrapper(this.pdfDoc, this.fonts[familyName][type], familyName + '(' + type + ')');
+               }
+
+         return this.fontWrappers[familyName][type];
+       };
+
+       FontProvider.prototype.setFontRefsToPdfDoc = function(){
+         var self = this;
+
+         _.each(self.fontWrappers, function(fontFamily) {
+           _.each(fontFamily, function(fontWrapper){
+             _.each(fontWrapper.pdfFonts, function(font){
+               if (!self.pdfDoc.page.fonts[font.id]) {
+                 self.pdfDoc.page.fonts[font.id] = font.ref();
+               }
+             });
+           });
+         });
+       };
+
+       module.exports = FontProvider;
+
+
+/***/ },
+/* 10 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* jslint node: true */
+       'use strict';
+
+       var _ = __webpack_require__(7);
+
+       function FontWrapper(pdfkitDoc, path, fontName){
+               this.MAX_CHAR_TYPES = 92;
+
+               this.pdfkitDoc = pdfkitDoc;
+               this.path = path;
+               this.pdfFonts = [];
+               this.charCatalogue = [];
+               this.name = fontName;
+
+         Object.defineProperty(this, 'ascender', {
+           get: function () {
+             var font = this.getFont(0);
+             return font.ascender;
+           }
+         });
+         Object.defineProperty(this, 'decender', {
+           get: function () {
+             var font = this.getFont(0);
+             return font.decender;
+           }
+         });
+
+       }
+       // private
+
+       FontWrapper.prototype.getFont = function(index){
+               if(!this.pdfFonts[index]){
+
+                       var pseudoName = this.name + index;
+
+                       if(this.postscriptName){
+                               delete this.pdfkitDoc._fontFamilies[this.postscriptName];
+                       }
+
+                       this.pdfFonts[index] = this.pdfkitDoc.font(this.path, pseudoName)._font;
+                       if(!this.postscriptName){
+                               this.postscriptName = this.pdfFonts[index].name;
+                       }
+               }
+
+               return this.pdfFonts[index];
+       };
+
+       // public
+       FontWrapper.prototype.widthOfString = function(){
+               var font = this.getFont(0);
+               return font.widthOfString.apply(font, arguments);
+       };
+
+       FontWrapper.prototype.lineHeight = function(){
+               var font = this.getFont(0);
+               return font.lineHeight.apply(font, arguments);
+       };
+
+       FontWrapper.prototype.ref = function(){
+               var font = this.getFont(0);
+               return font.ref.apply(font, arguments);
+       };
+
+       var toCharCode = function(char){
+         return char.charCodeAt(0);
+       };
+
+       FontWrapper.prototype.encode = function(text){
+         var self = this;
+
+         var charTypesInInline = _.chain(text.split('')).map(toCharCode).uniq().value();
+               if (charTypesInInline.length > self.MAX_CHAR_TYPES) {
+                       throw new Error('Inline has more than '+ self.MAX_CHAR_TYPES + ': ' + text + ' different character types and therefore cannot be properly embedded into pdf.');
+               }
+
+
+         var characterFitInFontWithIndex = function (charCatalogue) {
+           return _.uniq(charCatalogue.concat(charTypesInInline)).length <= self.MAX_CHAR_TYPES;
+         };
+
+         var index = _.findIndex(self.charCatalogue, characterFitInFontWithIndex);
+
+         if(index < 0){
+           index = self.charCatalogue.length;
+           self.charCatalogue[index] = [];
+         }
+
+               var font = self.getFont(index);
+               font.use(text);
+
+         _.each(charTypesInInline, function(charCode){
+           if(!_.includes(self.charCatalogue[index], charCode)){
+             self.charCatalogue[index].push(charCode);
+           }
+         });
+
+         var encodedText = _.map(font.encode(text), function (char) {
+           return char.charCodeAt(0).toString(16);
+         }).join('');
+
+         return {
+           encodedText: encodedText,
+           fontId: font.id
+         };
+       };
+
+
+       module.exports = FontWrapper;
+
+
+/***/ },
+/* 11 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* jslint node: true */
+       'use strict';
+
+       var _ = __webpack_require__(7);
+       var TraversalTracker = __webpack_require__(12);
+       var DocMeasure = __webpack_require__(13);
+       var DocumentContext = __webpack_require__(19);
+       var PageElementWriter = __webpack_require__(20);
+       var ColumnCalculator = __webpack_require__(16);
+       var TableProcessor = __webpack_require__(23);
+       var Line = __webpack_require__(22);
+       var pack = __webpack_require__(17).pack;
+       var offsetVector = __webpack_require__(17).offsetVector;
+       var fontStringify = __webpack_require__(17).fontStringify;
+       var isFunction = __webpack_require__(17).isFunction;
+       var TextTools = __webpack_require__(14);
+       var StyleContextStack = __webpack_require__(15);
+
+       function addAll(target, otherArray){
+         _.each(otherArray, function(item){
+           target.push(item);
+         });
+       }
+
+       /**
+        * Creates an instance of LayoutBuilder - layout engine which turns document-definition-object
+        * into a set of pages, lines, inlines and vectors ready to be rendered into a PDF
+        *
+        * @param {Object} pageSize - an object defining page width and height
+        * @param {Object} pageMargins - an object defining top, left, right and bottom margins
+        */
+       function LayoutBuilder(pageSize, pageMargins, imageMeasure) {
+               this.pageSize = pageSize;
+               this.pageMargins = pageMargins;
+               this.tracker = new TraversalTracker();
+           this.imageMeasure = imageMeasure;
+           this.tableLayouts = {};
+       }
+
+       LayoutBuilder.prototype.registerTableLayouts = function (tableLayouts) {
+         this.tableLayouts = pack(this.tableLayouts, tableLayouts);
+       };
+
+       /**
+        * Executes layout engine on document-definition-object and creates an array of pages
+        * containing positioned Blocks, Lines and inlines
+        *
+        * @param {Object} docStructure document-definition-object
+        * @param {Object} fontProvider font provider
+        * @param {Object} styleDictionary dictionary with style definitions
+        * @param {Object} defaultStyle default style definition
+        * @return {Array} an array of pages
+        */
+       LayoutBuilder.prototype.layoutDocument = function (docStructure, fontProvider, styleDictionary, defaultStyle, background, header, footer, images, watermark, pageBreakBeforeFct) {
+
+         function addPageBreaksIfNecessary(linearNodeList, pages) {
+
+                       if(!isFunction(pageBreakBeforeFct)){
+                               return false;
+                       }
+
+           linearNodeList = _.reject(linearNodeList, function(node){
+             return _.isEmpty(node.positions);
+           });
+
+           _.each(linearNodeList, function(node) {
+             var nodeInfo = _.pick(node, [
+               'id', 'text', 'ul', 'ol', 'table', 'image', 'qr', 'canvas', 'columns',
+               'headlineLevel', 'style', 'pageBreak', 'pageOrientation',
+               'width', 'height'
+             ]);
+             nodeInfo.startPosition = _.first(node.positions);
+             nodeInfo.pageNumbers = _.chain(node.positions).map('pageNumber').uniq().value();
+             nodeInfo.pages = pages.length;
+             nodeInfo.stack = _.isArray(node.stack);
+
+             node.nodeInfo = nodeInfo;
+           });
+
+           return _.any(linearNodeList, function (node, index, followingNodeList) {
+             if (node.pageBreak !== 'before' && !node.pageBreakCalculated) {
+               node.pageBreakCalculated = true;
+               var pageNumber = _.first(node.nodeInfo.pageNumbers);
+
+                                       var followingNodesOnPage = _.chain(followingNodeList).drop(index + 1).filter(function (node0) {
+                 return _.contains(node0.nodeInfo.pageNumbers, pageNumber);
+               }).value();
+
+               var nodesOnNextPage = _.chain(followingNodeList).drop(index + 1).filter(function (node0) {
+                 return _.contains(node0.nodeInfo.pageNumbers, pageNumber + 1);
+               }).value();
+
+               var previousNodesOnPage = _.chain(followingNodeList).take(index).filter(function (node0) {
+                 return _.contains(node0.nodeInfo.pageNumbers, pageNumber);
+               }).value();
+
+               if (pageBreakBeforeFct(node.nodeInfo,
+                 _.map(followingNodesOnPage, 'nodeInfo'),
+                 _.map(nodesOnNextPage, 'nodeInfo'),
+                 _.map(previousNodesOnPage, 'nodeInfo'))) {
+                 node.pageBreak = 'before';
+                 return true;
+               }
+             }
+           });
+         }
+
+         this.docMeasure = new DocMeasure(fontProvider, styleDictionary, defaultStyle, this.imageMeasure, this.tableLayouts, images);
+
+
+         function resetXYs(result) {
+           _.each(result.linearNodeList, function (node) {
+             node.resetXY();
+           });
+         }
+
+         var result = this.tryLayoutDocument(docStructure, fontProvider, styleDictionary, defaultStyle, background, header, footer, images, watermark);
+         while(addPageBreaksIfNecessary(result.linearNodeList, result.pages)){
+           resetXYs(result);
+           result = this.tryLayoutDocument(docStructure, fontProvider, styleDictionary, defaultStyle, background, header, footer, images, watermark);
+         }
+
+               return result.pages;
+       };
+
+       LayoutBuilder.prototype.tryLayoutDocument = function (docStructure, fontProvider, styleDictionary, defaultStyle, background, header, footer, images, watermark, pageBreakBeforeFct) {
+
+         this.linearNodeList = [];
+         docStructure = this.docMeasure.measureDocument(docStructure);
+
+         this.writer = new PageElementWriter(
+           new DocumentContext(this.pageSize, this.pageMargins), this.tracker);
+
+         var _this = this;
+         this.writer.context().tracker.startTracking('pageAdded', function() {
+           _this.addBackground(background);
+         });
+
+         this.addBackground(background);
+         this.processNode(docStructure);
+         this.addHeadersAndFooters(header, footer);
+         /* jshint eqnull:true */
+         if(watermark != null)
+           this.addWatermark(watermark, fontProvider);
+
+         return {pages: this.writer.context().pages, linearNodeList: this.linearNodeList};
+       };
+
+
+       LayoutBuilder.prototype.addBackground = function(background) {
+           var backgroundGetter = isFunction(background) ? background : function() { return background; };
+
+           var pageBackground = backgroundGetter(this.writer.context().page + 1);
+
+           if (pageBackground) {
+             var pageSize = this.writer.context().getCurrentPage().pageSize;
+             this.writer.beginUnbreakableBlock(pageSize.width, pageSize.height);
+             this.processNode(this.docMeasure.measureDocument(pageBackground));
+             this.writer.commitUnbreakableBlock(0, 0);
+           }
+       };
+
+       LayoutBuilder.prototype.addStaticRepeatable = function(headerOrFooter, sizeFunction) {
+         this.addDynamicRepeatable(function() { return headerOrFooter; }, sizeFunction);
+       };
+
+       LayoutBuilder.prototype.addDynamicRepeatable = function(nodeGetter, sizeFunction) {
+         var pages = this.writer.context().pages;
+
+         for(var pageIndex = 0, l = pages.length; pageIndex < l; pageIndex++) {
+           this.writer.context().page = pageIndex;
+
+           var node = nodeGetter(pageIndex + 1, l);
+
+           if (node) {
+             var sizes = sizeFunction(this.writer.context().getCurrentPage().pageSize, this.pageMargins);
+             this.writer.beginUnbreakableBlock(sizes.width, sizes.height);
+             this.processNode(this.docMeasure.measureDocument(node));
+             this.writer.commitUnbreakableBlock(sizes.x, sizes.y);
+           }
+         }
+       };
+
+       LayoutBuilder.prototype.addHeadersAndFooters = function(header, footer) {
+         var headerSizeFct = function(pageSize, pageMargins){
+           return {
+             x: 0,
+             y: 0,
+             width: pageSize.width,
+             height: pageMargins.top
+           };
+         };
+
+         var footerSizeFct = function (pageSize, pageMargins) {
+           return {
+             x: 0,
+             y: pageSize.height - pageMargins.bottom,
+             width: pageSize.width,
+             height: pageMargins.bottom
+           };
+         };
+
+         if(isFunction(header)) {
+           this.addDynamicRepeatable(header, headerSizeFct);
+         } else if(header) {
+           this.addStaticRepeatable(header, headerSizeFct);
+         }
+
+         if(isFunction(footer)) {
+           this.addDynamicRepeatable(footer, footerSizeFct);
+         } else if(footer) {
+           this.addStaticRepeatable(footer, footerSizeFct);
+         }
+       };
+
+       LayoutBuilder.prototype.addWatermark = function(watermark, fontProvider){
+         var defaultFont = Object.getOwnPropertyNames(fontProvider.fonts)[0]; // TODO allow selection of other font
+         var watermarkObject = {
+           text: watermark,
+           font: fontProvider.provideFont(fontProvider[defaultFont], false, false),
+           size: getSize(this.pageSize, watermark, fontProvider)
+         };
+
+         var pages = this.writer.context().pages;
+         for(var i = 0, l = pages.length; i < l; i++) {
+           pages[i].watermark = watermarkObject;
+         }
+
+         function getSize(pageSize, watermark, fontProvider){
+           var width = pageSize.width;
+           var height = pageSize.height;
+           var targetWidth = Math.sqrt(width*width + height*height)*0.8; /* page diagnoal * sample factor */
+           var textTools = new TextTools(fontProvider);
+           var styleContextStack = new StyleContextStack();
+           var size;
+
+           /**
+            * Binary search the best font size.
+            * Initial bounds [0, 1000]
+            * Break when range < 1
+            */
+           var a = 0;
+           var b = 1000;
+           var c = (a+b)/2;
+           while(Math.abs(a - b) > 1){
+             styleContextStack.push({
+               fontSize: c
+             });
+             size = textTools.sizeOfString(watermark, styleContextStack);
+             if(size.width > targetWidth){
+               b = c;
+               c = (a+b)/2;
+             }
+             else if(size.width < targetWidth){
+               a = c;
+               c = (a+b)/2;
+             }
+             styleContextStack.pop();
+           }
+           /*
+             End binary search
+            */
+           return {size: size, fontSize: c};
+         }
+       };
+
+       function decorateNode(node){
+         var x = node.x, y = node.y;
+         node.positions = [];
+
+         _.each(node.canvas, function(vector){
+           var x = vector.x, y = vector.y, x1 = vector.x1, y1 = vector.y1, x2 = vector.x2, y2 = vector.y2;
+           vector.resetXY = function(){
+             vector.x = x;
+             vector.y = y;
+                               vector.x1 = x1;
+                               vector.y1 = y1;
+                               vector.x2 = x2;
+                               vector.y2 = y2;
+           };
+         });
+
+         node.resetXY = function(){
+           node.x = x;
+           node.y = y;
+           _.each(node.canvas, function(vector){
+             vector.resetXY();
+           });
+         };
+       }
+
+       LayoutBuilder.prototype.processNode = function(node) {
+         var self = this;
+
+         this.linearNodeList.push(node);
+         decorateNode(node);
+
+         applyMargins(function() {
+           var absPosition = node.absolutePosition;
+           if(absPosition){
+             self.writer.context().beginDetachedBlock();
+             self.writer.context().moveTo(absPosition.x || 0, absPosition.y || 0);
+           }
+
+           if (node.stack) {
+             self.processVerticalContainer(node);
+           } else if (node.columns) {
+             self.processColumns(node);
+           } else if (node.ul) {
+             self.processList(false, node);
+           } else if (node.ol) {
+             self.processList(true, node);
+           } else if (node.table) {
+             self.processTable(node);
+           } else if (node.text !== undefined) {
+             self.processLeaf(node);
+           } else if (node.image) {
+             self.processImage(node);
+           } else if (node.canvas) {
+             self.processCanvas(node);
+           } else if (node.qr) {
+             self.processQr(node);
+           }else if (!node._span) {
+                       throw 'Unrecognized document structure: ' + JSON.stringify(node, fontStringify);
+                       }
+
+           if(absPosition){
+             self.writer.context().endDetachedBlock();
+           }
+               });
+
+               function applyMargins(callback) {
+                       var margin = node._margin;
+
+           if (node.pageBreak === 'before') {
+               self.writer.moveToNextPage(node.pageOrientation);
+           }
+
+                       if (margin) {
+                               self.writer.context().moveDown(margin[1]);
+                               self.writer.context().addMargin(margin[0], margin[2]);
+                       }
+
+                       callback();
+
+                       if(margin) {
+                               self.writer.context().addMargin(-margin[0], -margin[2]);
+                               self.writer.context().moveDown(margin[3]);
+                       }
+
+           if (node.pageBreak === 'after') {
+               self.writer.moveToNextPage(node.pageOrientation);
+           }
+               }
+       };
+
+       // vertical container
+       LayoutBuilder.prototype.processVerticalContainer = function(node) {
+               var self = this;
+               node.stack.forEach(function(item) {
+                       self.processNode(item);
+                       addAll(node.positions, item.positions);
+
+                       //TODO: paragraph gap
+               });
+       };
+
+       // columns
+       LayoutBuilder.prototype.processColumns = function(columnNode) {
+               var columns = columnNode.columns;
+               var availableWidth = this.writer.context().availableWidth;
+               var gaps = gapArray(columnNode._gap);
+
+               if (gaps) availableWidth -= (gaps.length - 1) * columnNode._gap;
+
+               ColumnCalculator.buildColumnWidths(columns, availableWidth);
+               var result = this.processRow(columns, columns, gaps);
+           addAll(columnNode.positions, result.positions);
+
+
+               function gapArray(gap) {
+                       if (!gap) return null;
+
+                       var gaps = [];
+                       gaps.push(0);
+
+                       for(var i = columns.length - 1; i > 0; i--) {
+                               gaps.push(gap);
+                       }
+
+                       return gaps;
+               }
+       };
+
+       LayoutBuilder.prototype.processRow = function(columns, widths, gaps, tableBody, tableRow) {
+         var self = this;
+         var pageBreaks = [], positions = [];
+
+         this.tracker.auto('pageChanged', storePageBreakData, function() {
+           widths = widths || columns;
+
+           self.writer.context().beginColumnGroup();
+
+           for(var i = 0, l = columns.length; i < l; i++) {
+             var column = columns[i];
+             var width = widths[i]._calcWidth;
+             var leftOffset = colLeftOffset(i);
+
+             if (column.colSpan && column.colSpan > 1) {
+                 for(var j = 1; j < column.colSpan; j++) {
+                     width += widths[++i]._calcWidth + gaps[i];
+                 }
+             }
+
+             self.writer.context().beginColumn(width, leftOffset, getEndingCell(column, i));
+             if (!column._span) {
+               self.processNode(column);
+               addAll(positions, column.positions);
+             } else if (column._columnEndingContext) {
+               // row-span ending
+               self.writer.context().markEnding(column);
+             }
+           }
+
+           self.writer.context().completeColumnGroup();
+         });
+
+         return {pageBreaks: pageBreaks, positions: positions};
+
+         function storePageBreakData(data) {
+           var pageDesc;
+
+           for(var i = 0, l = pageBreaks.length; i < l; i++) {
+             var desc = pageBreaks[i];
+             if (desc.prevPage === data.prevPage) {
+               pageDesc = desc;
+               break;
+             }
+           }
+
+           if (!pageDesc) {
+             pageDesc = data;
+             pageBreaks.push(pageDesc);
+           }
+           pageDesc.prevY = Math.max(pageDesc.prevY, data.prevY);
+           pageDesc.y = Math.min(pageDesc.y, data.y);
+         }
+
+               function colLeftOffset(i) {
+                       if (gaps && gaps.length > i) return gaps[i];
+                       return 0;
+               }
+
+         function getEndingCell(column, columnIndex) {
+           if (column.rowSpan && column.rowSpan > 1) {
+             var endingRow = tableRow + column.rowSpan - 1;
+             if (endingRow >= tableBody.length) throw 'Row span for column ' + columnIndex + ' (with indexes starting from 0) exceeded row count';
+             return tableBody[endingRow][columnIndex];
+           }
+
+           return null;
+         }
+       };
+
+       // lists
+       LayoutBuilder.prototype.processList = function(orderedList, node) {
+               var self = this,
+             items = orderedList ? node.ol : node.ul,
+             gapSize = node._gapSize;
+
+               this.writer.context().addMargin(gapSize.width);
+
+               var nextMarker;
+               this.tracker.auto('lineAdded', addMarkerToFirstLeaf, function() {
+                       items.forEach(function(item) {
+                               nextMarker = item.listMarker;
+                               self.processNode(item);
+                   addAll(node.positions, item.positions);
+                       });
+               });
+
+               this.writer.context().addMargin(-gapSize.width);
+
+               function addMarkerToFirstLeaf(line) {
+                       // I'm not very happy with the way list processing is implemented
+                       // (both code and algorithm should be rethinked)
+                       if (nextMarker) {
+                               var marker = nextMarker;
+                               nextMarker = null;
+
+                               if (marker.canvas) {
+                                       var vector = marker.canvas[0];
+
+                                       offsetVector(vector, -marker._minWidth, 0);
+                                       self.writer.addVector(vector);
+                               } else {
+                                       var markerLine = new Line(self.pageSize.width);
+                                       markerLine.addInline(marker._inlines[0]);
+                                       markerLine.x = -marker._minWidth;
+                                       markerLine.y = line.getAscenderHeight() - markerLine.getAscenderHeight();
+                                       self.writer.addLine(markerLine, true);
+                               }
+                       }
+               }
+       };
+
+       // tables
+       LayoutBuilder.prototype.processTable = function(tableNode) {
+         var processor = new TableProcessor(tableNode);
+
+         processor.beginTable(this.writer);
+
+         for(var i = 0, l = tableNode.table.body.length; i < l; i++) {
+           processor.beginRow(i, this.writer);
+
+           var result = this.processRow(tableNode.table.body[i], tableNode.table.widths, tableNode._offsets.offsets, tableNode.table.body, i);
+           addAll(tableNode.positions, result.positions);
+
+           processor.endRow(i, this.writer, result.pageBreaks);
+         }
+
+         processor.endTable(this.writer);
+       };
+
+       // leafs (texts)
+       LayoutBuilder.prototype.processLeaf = function(node) {
+               var line = this.buildNextLine(node);
+         var currentHeight = (line) ? line.getHeight() : 0;
+         var maxHeight = node.maxHeight || -1;
+
+         while (line && (maxHeight === -1 || currentHeight < maxHeight)) {
+           var positions = this.writer.addLine(line);
+           node.positions.push(positions);
+           line = this.buildNextLine(node);
+           if (line) {
+             currentHeight += line.getHeight();
+           }
+               }
+       };
+
+       LayoutBuilder.prototype.buildNextLine = function(textNode) {
+               if (!textNode._inlines || textNode._inlines.length === 0) return null;
+
+               var line = new Line(this.writer.context().availableWidth);
+
+               while(textNode._inlines && textNode._inlines.length > 0 && line.hasEnoughSpaceForInline(textNode._inlines[0])) {
+                       line.addInline(textNode._inlines.shift());
+               }
+
+               line.lastLineInParagraph = textNode._inlines.length === 0;
+
+               return line;
+       };
+
+       // images
+       LayoutBuilder.prototype.processImage = function(node) {
+           var position = this.writer.addImage(node);
+           node.positions.push(position);
+       };
+
+       LayoutBuilder.prototype.processCanvas = function(node) {
+               var height = node._minHeight;
+
+               if (this.writer.context().availableHeight < height) {
+                       // TODO: support for canvas larger than a page
+                       // TODO: support for other overflow methods
+
+                       this.writer.moveToNextPage();
+               }
+
+               node.canvas.forEach(function(vector) {
+                       var position = this.writer.addVector(vector);
+               node.positions.push(position);
+               }, this);
+
+               this.writer.context().moveDown(height);
+       };
+
+       LayoutBuilder.prototype.processQr = function(node) {
+               var position = this.writer.addQr(node);
+           node.positions.push(position);
+       };
+
+       module.exports = LayoutBuilder;
+
+
+/***/ },
+/* 12 */
+/***/ function(module, exports) {
+
+       /* jslint node: true */
+       'use strict';
+
+       /**
+       * Creates an instance of TraversalTracker
+       *
+       * @constructor
+       */
+       function TraversalTracker() {
+               this.events = {};
+       }
+
+       TraversalTracker.prototype.startTracking = function(event, cb) {
+               var callbacks = (this.events[event] || (this.events[event] = []));
+
+               if (callbacks.indexOf(cb) < 0) {
+                       callbacks.push(cb);
+               }
+       };
+
+       TraversalTracker.prototype.stopTracking = function(event, cb) {
+               var callbacks = this.events[event];
+
+               if (callbacks) {
+                       var index = callbacks.indexOf(cb);
+                       if (index >= 0) {
+                               callbacks.splice(index, 1);
+                       }
+               }
+       };
+
+       TraversalTracker.prototype.emit = function(event) {
+               var args = Array.prototype.slice.call(arguments, 1);
+
+               var callbacks = this.events[event];
+
+               if (callbacks) {
+                       callbacks.forEach(function(cb) {
+                               cb.apply(this, args);
+                       });
+               }
+       };
+
+       TraversalTracker.prototype.auto = function(event, cb, innerBlock) {
+               this.startTracking(event, cb);
+               innerBlock();
+               this.stopTracking(event, cb);
+       };
+
+       module.exports = TraversalTracker;
+
+
+/***/ },
+/* 13 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* jslint node: true */
+       'use strict';
+
+       var TextTools = __webpack_require__(14);
+       var StyleContextStack = __webpack_require__(15);
+       var ColumnCalculator = __webpack_require__(16);
+       var fontStringify = __webpack_require__(17).fontStringify;
+       var pack = __webpack_require__(17).pack;
+       var qrEncoder = __webpack_require__(18);
+
+       /**
+       * @private
+       */
+       function DocMeasure(fontProvider, styleDictionary, defaultStyle, imageMeasure, tableLayouts, images) {
+               this.textTools = new TextTools(fontProvider);
+               this.styleStack = new StyleContextStack(styleDictionary, defaultStyle);
+               this.imageMeasure = imageMeasure;
+               this.tableLayouts = tableLayouts;
+               this.images = images;
+               this.autoImageIndex = 1;
+       }
+
+       /**
+       * Measures all nodes and sets min/max-width properties required for the second
+       * layout-pass.
+       * @param  {Object} docStructure document-definition-object
+       * @return {Object}              document-measurement-object
+       */
+       DocMeasure.prototype.measureDocument = function(docStructure) {
+               return this.measureNode(docStructure);
+       };
+
+       DocMeasure.prototype.measureNode = function(node) {
+               // expand shortcuts
+               if (node instanceof Array) {
+                       node = { stack: node };
+               } else if (typeof node == 'string' || node instanceof String) {
+                       node = { text: node };
+               }
+               
+               // Deal with empty nodes to prevent crash in getNodeMargin
+               if (Object.keys(node).length === 0) {
+                       // A warning could be logged: console.warn('pdfmake: Empty node, ignoring it');
+                       node = { text: '' };
+               }
+
+               var self = this;
+
+               return this.styleStack.auto(node, function() {
+                       // TODO: refactor + rethink whether this is the proper way to handle margins
+                       node._margin = getNodeMargin(node);
+
+                       if (node.columns) {
+                               return extendMargins(self.measureColumns(node));
+                       } else if (node.stack) {
+                               return extendMargins(self.measureVerticalContainer(node));
+                       } else if (node.ul) {
+                               return extendMargins(self.measureList(false, node));
+                       } else if (node.ol) {
+                               return extendMargins(self.measureList(true, node));
+                       } else if (node.table) {
+                               return extendMargins(self.measureTable(node));
+                       } else if (node.text !== undefined) {
+                               return extendMargins(self.measureLeaf(node));
+                       } else if (node.image) {
+                               return extendMargins(self.measureImage(node));
+                       } else if (node.canvas) {
+                               return extendMargins(self.measureCanvas(node));
+                       } else if (node.qr) {
+                               return extendMargins(self.measureQr(node));
+                       } else {
+                               throw 'Unrecognized document structure: ' + JSON.stringify(node, fontStringify);
+                       }
+               });
+
+               function extendMargins(node) {
+                       var margin = node._margin;
+
+                       if (margin) {
+                               node._minWidth += margin[0] + margin[2];
+                               node._maxWidth += margin[0] + margin[2];
+                       }
+
+                       return node;
+               }
+
+               function getNodeMargin() {
+
+                       function processSingleMargins(node, currentMargin){
+                               if (node.marginLeft || node.marginTop || node.marginRight || node.marginBottom) {
+                                       return [
+                                               node.marginLeft || currentMargin[0] || 0,
+                                               node.marginTop || currentMargin[1] || 0,
+                                               node.marginRight || currentMargin[2]  || 0,
+                                               node.marginBottom || currentMargin[3]  || 0
+                                       ];
+                               }
+                               return currentMargin;
+                       }
+
+                       function flattenStyleArray(styleArray){
+                               var flattenedStyles = {};
+                               for (var i = styleArray.length - 1; i >= 0; i--) {
+                                       var styleName = styleArray[i];
+                                       var style = self.styleStack.styleDictionary[styleName];
+                                       for(var key in style){
+                                               if(style.hasOwnProperty(key)){
+                                                       flattenedStyles[key] = style[key];
+                                               }
+                                       }
+                               }
+                               return flattenedStyles;
+                       }
+
+                       function convertMargin(margin) {
+                               if (typeof margin === 'number' || margin instanceof Number) {
+                                       margin = [ margin, margin, margin, margin ];
+                               } else if (margin instanceof Array) {
+                                       if (margin.length === 2) {
+                                               margin = [ margin[0], margin[1], margin[0], margin[1] ];
+                                       }
+                               }
+                               return margin;
+                       }
+
+                       var margin = [undefined, undefined, undefined, undefined];
+
+                       if(node.style) {
+                               var styleArray = (node.style instanceof Array) ? node.style : [node.style];
+                               var flattenedStyleArray = flattenStyleArray(styleArray);
+
+                               if(flattenedStyleArray) {
+                                       margin = processSingleMargins(flattenedStyleArray, margin);
+                               }
+
+                               if(flattenedStyleArray.margin){
+                                       margin = convertMargin(flattenedStyleArray.margin);
+                               }
+                       }
+                       
+                       margin = processSingleMargins(node, margin);
+
+                       if(node.margin){
+                               margin = convertMargin(node.margin);
+                       }
+
+                       if(margin[0] === undefined && margin[1] === undefined && margin[2] === undefined && margin[3] === undefined) {
+                               return null;
+                       } else {
+                               return margin;
+                       }
+               }
+       };
+
+       DocMeasure.prototype.convertIfBase64Image = function(node) {
+               if (/^data:image\/(jpeg|jpg|png);base64,/.test(node.image)) {
+                       var label = '$$pdfmake$$' + this.autoImageIndex++;
+                       this.images[label] = node.image;
+                       node.image = label;
+       }
+       };
+
+       DocMeasure.prototype.measureImage = function(node) {
+               if (this.images) {
+                       this.convertIfBase64Image(node);
+               }
+
+               var imageSize = this.imageMeasure.measureImage(node.image);
+
+               if (node.fit) {
+                       var factor = (imageSize.width / imageSize.height > node.fit[0] / node.fit[1]) ? node.fit[0] / imageSize.width : node.fit[1] / imageSize.height;
+                       node._width = node._minWidth = node._maxWidth = imageSize.width * factor;
+                       node._height = imageSize.height * factor;
+               } else {
+                       node._width = node._minWidth = node._maxWidth = node.width || imageSize.width;
+                       node._height = node.height || (imageSize.height * node._width / imageSize.width);
+               }
+
+               node._alignment = this.styleStack.getProperty('alignment');
+               return node;
+       };
+
+       DocMeasure.prototype.measureLeaf = function(node) {
+
+               // Make sure style properties of the node itself are considered when building inlines.
+               // We could also just pass [node] to buildInlines, but that fails for bullet points.
+               var styleStack = this.styleStack.clone();
+               styleStack.push(node);
+
+               var data = this.textTools.buildInlines(node.text, styleStack);
+
+               node._inlines = data.items;
+               node._minWidth = data.minWidth;
+               node._maxWidth = data.maxWidth;
+
+               return node;
+       };
+
+       DocMeasure.prototype.measureVerticalContainer = function(node) {
+               var items = node.stack;
+
+               node._minWidth = 0;
+               node._maxWidth = 0;
+
+               for(var i = 0, l = items.length; i < l; i++) {
+                       items[i] = this.measureNode(items[i]);
+
+                       node._minWidth = Math.max(node._minWidth, items[i]._minWidth);
+                       node._maxWidth = Math.max(node._maxWidth, items[i]._maxWidth);
+               }
+
+               return node;
+       };
+
+       DocMeasure.prototype.gapSizeForList = function(isOrderedList, listItems) {
+               if (isOrderedList) {
+                       var longestNo = (listItems.length).toString().replace(/./g, '9');
+                       return this.textTools.sizeOfString(longestNo + '. ', this.styleStack);
+               } else {
+                       return this.textTools.sizeOfString('9. ', this.styleStack);
+               }
+       };
+
+       DocMeasure.prototype.buildMarker = function(isOrderedList, counter, styleStack, gapSize) {
+               var marker;
+
+               if (isOrderedList) {
+                       marker = { _inlines: this.textTools.buildInlines(counter, styleStack).items };
+               }
+               else {
+                       // TODO: ascender-based calculations
+                       var radius = gapSize.fontSize / 6;
+                       marker = {
+                               canvas: [ {
+                                       x: radius,
+                                       y: (gapSize.height / gapSize.lineHeight) + gapSize.decender - gapSize.fontSize / 3,//0,// gapSize.fontSize * 2 / 3,
+                                       r1: radius,
+                                       r2: radius,
+                                       type: 'ellipse',
+                                       color: 'black'
+                               } ]
+                       };
+               }
+
+               marker._minWidth = marker._maxWidth = gapSize.width;
+               marker._minHeight = marker._maxHeight = gapSize.height;
+
+               return marker;
+       };
+
+       DocMeasure.prototype.measureList = function(isOrdered, node) {
+               var style = this.styleStack.clone();
+
+               var items = isOrdered ? node.ol : node.ul;
+               node._gapSize = this.gapSizeForList(isOrdered, items);
+               node._minWidth = 0;
+               node._maxWidth = 0;
+
+               var counter = 1;
+
+               for(var i = 0, l = items.length; i < l; i++) {
+                       var nextItem = items[i] = this.measureNode(items[i]);
+
+                       var marker = counter++ + '. ';
+
+                       if (!nextItem.ol && !nextItem.ul) {
+                               nextItem.listMarker = this.buildMarker(isOrdered, nextItem.counter || marker, style, node._gapSize);
+                       }  // TODO: else - nested lists numbering
+
+                       node._minWidth = Math.max(node._minWidth, items[i]._minWidth + node._gapSize.width);
+                       node._maxWidth = Math.max(node._maxWidth, items[i]._maxWidth + node._gapSize.width);
+               }
+
+               return node;
+       };
+
+       DocMeasure.prototype.measureColumns = function(node) {
+               var columns = node.columns;
+               node._gap = this.styleStack.getProperty('columnGap') || 0;
+
+               for(var i = 0, l = columns.length; i < l; i++) {
+                       columns[i] = this.measureNode(columns[i]);
+               }
+
+               var measures = ColumnCalculator.measureMinMax(columns);
+
+               node._minWidth = measures.min + node._gap * (columns.length - 1);
+               node._maxWidth = measures.max + node._gap * (columns.length - 1);
+
+               return node;
+       };
+
+       DocMeasure.prototype.measureTable = function(node) {
+               extendTableWidths(node);
+               node._layout = getLayout(this.tableLayouts);
+               node._offsets = getOffsets(node._layout);
+
+               var colSpans = [];
+               var col, row, cols, rows;
+
+               for(col = 0, cols = node.table.body[0].length; col < cols; col++) {
+                       var c = node.table.widths[col];
+                       c._minWidth = 0;
+                       c._maxWidth = 0;
+
+                       for(row = 0, rows = node.table.body.length; row < rows; row++) {
+                               var rowData = node.table.body[row];
+                               var data = rowData[col];
+                               if (!data._span) {
+                                       var _this = this;
+                                       data = rowData[col] = this.styleStack.auto(data, measureCb(this, data));
+
+                                       if (data.colSpan && data.colSpan > 1) {
+                                               markSpans(rowData, col, data.colSpan);
+                                               colSpans.push({ col: col, span: data.colSpan, minWidth: data._minWidth, maxWidth: data._maxWidth });
+                                       } else {
+                                               c._minWidth = Math.max(c._minWidth, data._minWidth);
+                                               c._maxWidth = Math.max(c._maxWidth, data._maxWidth);
+                                       }
+                               }
+
+                               if (data.rowSpan && data.rowSpan > 1) {
+                                       markVSpans(node.table, row, col, data.rowSpan);
+                               }
+                       }
+               }
+
+               extendWidthsForColSpans();
+
+               var measures = ColumnCalculator.measureMinMax(node.table.widths);
+
+               node._minWidth = measures.min + node._offsets.total;
+               node._maxWidth = measures.max + node._offsets.total;
+
+               return node;
+
+               function measureCb(_this, data) {
+                       return function() {
+                               if (data !== null && typeof data === 'object') {
+                                       data.fillColor = _this.styleStack.getProperty('fillColor');
+                               }
+                               return _this.measureNode(data);
+                       };
+               }
+
+               function getLayout(tableLayouts) {
+                       var layout = node.layout;
+
+                       if (typeof node.layout === 'string' || node instanceof String) {
+                               layout = tableLayouts[layout];
+                       }
+
+                       var defaultLayout = {
+                               hLineWidth: function(i, node) { return 1; }, //return node.table.headerRows && i === node.table.headerRows && 3 || 0; },
+                               vLineWidth: function(i, node) { return 1; },
+                               hLineColor: function(i, node) { return 'black'; },
+                               vLineColor: function(i, node) { return 'black'; },
+                               paddingLeft: function(i, node) { return 4; }, //i && 4 || 0; },
+                               paddingRight: function(i, node) { return 4; }, //(i < node.table.widths.length - 1) ? 4 : 0; },
+                               paddingTop: function(i, node) { return 2; },
+                               paddingBottom: function(i, node) { return 2; }
+                       };
+
+                       return pack(defaultLayout, layout);
+               }
+
+               function getOffsets(layout) {
+                       var offsets = [];
+                       var totalOffset = 0;
+                       var prevRightPadding = 0;
+
+                       for(var i = 0, l = node.table.widths.length; i < l; i++) {
+                               var lOffset = prevRightPadding + layout.vLineWidth(i, node) + layout.paddingLeft(i, node);
+                               offsets.push(lOffset);
+                               totalOffset += lOffset;
+                               prevRightPadding = layout.paddingRight(i, node);
+                       }
+
+                       totalOffset += prevRightPadding + layout.vLineWidth(node.table.widths.length, node);
+
+                       return {
+                               total: totalOffset,
+                               offsets: offsets
+                       };
+               }
+
+               function extendWidthsForColSpans() {
+                       var q, j;
+
+                       for (var i = 0, l = colSpans.length; i < l; i++) {
+                               var span = colSpans[i];
+
+                               var currentMinMax = getMinMax(span.col, span.span, node._offsets);
+                               var minDifference = span.minWidth - currentMinMax.minWidth;
+                               var maxDifference = span.maxWidth - currentMinMax.maxWidth;
+
+                               if (minDifference > 0) {
+                                       q = minDifference / span.span;
+
+                                       for(j = 0; j < span.span; j++) {
+                                               node.table.widths[span.col + j]._minWidth += q;
+                                       }
+                               }
+
+                               if (maxDifference > 0) {
+                                       q = maxDifference / span.span;
+
+                                       for(j = 0; j < span.span; j++) {
+                                               node.table.widths[span.col + j]._maxWidth += q;
+                                       }
+                               }
+                       }
+               }
+
+               function getMinMax(col, span, offsets) {
+                       var result = { minWidth: 0, maxWidth: 0 };
+
+                       for(var i = 0; i < span; i++) {
+                               result.minWidth += node.table.widths[col + i]._minWidth + (i? offsets.offsets[col + i] : 0);
+                               result.maxWidth += node.table.widths[col + i]._maxWidth + (i? offsets.offsets[col + i] : 0);
+                       }
+
+                       return result;
+               }
+
+               function markSpans(rowData, col, span) {
+                       for (var i = 1; i < span; i++) {
+                               rowData[col + i] = {
+                                       _span: true,
+                                       _minWidth: 0,
+                                       _maxWidth: 0,
+                                       rowSpan: rowData[col].rowSpan
+                               };
+                       }
+               }
+
+               function markVSpans(table, row, col, span) {
+                       for (var i = 1; i < span; i++) {
+                               table.body[row + i][col] = {
+                                       _span: true,
+                                       _minWidth: 0,
+                                       _maxWidth: 0,
+                                       fillColor: table.body[row][col].fillColor
+                               };
+                       }
+               }
+
+               function extendTableWidths(node) {
+                       if (!node.table.widths) {
+                               node.table.widths = 'auto';
+                       }
+
+                       if (typeof node.table.widths === 'string' || node.table.widths instanceof String) {
+                               node.table.widths = [ node.table.widths ];
+
+                               while(node.table.widths.length < node.table.body[0].length) {
+                                       node.table.widths.push(node.table.widths[node.table.widths.length - 1]);
+                               }
+                       }
+
+                       for(var i = 0, l = node.table.widths.length; i < l; i++) {
+                               var w = node.table.widths[i];
+                               if (typeof w === 'number' || w instanceof Number || typeof w === 'string' || w instanceof String) {
+                                       node.table.widths[i] = { width: w };
+                               }
+                       }
+               }
+       };
+
+       DocMeasure.prototype.measureCanvas = function(node) {
+               var w = 0, h = 0;
+
+               for(var i = 0, l = node.canvas.length; i < l; i++) {
+                       var vector = node.canvas[i];
+
+                       switch(vector.type) {
+                       case 'ellipse':
+                               w = Math.max(w, vector.x + vector.r1);
+                               h = Math.max(h, vector.y + vector.r2);
+                               break;
+                       case 'rect':
+                               w = Math.max(w, vector.x + vector.w);
+                               h = Math.max(h, vector.y + vector.h);
+                               break;
+                       case 'line':
+                               w = Math.max(w, vector.x1, vector.x2);
+                               h = Math.max(h, vector.y1, vector.y2);
+                               break;
+                       case 'polyline':
+                               for(var i2 = 0, l2 = vector.points.length; i2 < l2; i2++) {
+                                       w = Math.max(w, vector.points[i2].x);
+                                       h = Math.max(h, vector.points[i2].y);
+                               }
+                               break;
+                       }
+               }
+
+               node._minWidth = node._maxWidth = w;
+               node._minHeight = node._maxHeight = h;
+
+               return node;
+       };
+
+       DocMeasure.prototype.measureQr = function(node) {
+               node = qrEncoder.measure(node);
+               node._alignment = this.styleStack.getProperty('alignment');
+               return node;
+       };
+
+       module.exports = DocMeasure;
+
+
+/***/ },
+/* 14 */
+/***/ function(module, exports) {
+
+       /* jslint node: true */
+       'use strict';
+
+       var WORD_RE = /([^ ,\/!.?:;\-\n]*[ ,\/!.?:;\-]*)|\n/g;
+       // /\S*\s*/g to be considered (I'm not sure however - we shouldn't split 'aaa !!!!')
+
+       var LEADING = /^(\s)+/g;
+       var TRAILING = /(\s)+$/g;
+
+       /**
+       * Creates an instance of TextTools - text measurement utility
+       *
+       * @constructor
+       * @param {FontProvider} fontProvider
+       */
+       function TextTools(fontProvider) {
+               this.fontProvider = fontProvider;
+       }
+
+       /**
+        * Converts an array of strings (or inline-definition-objects) into a collection
+        * of inlines and calculated minWidth/maxWidth.
+       * and their min/max widths
+       * @param  {Object} textArray - an array of inline-definition-objects (or strings)
+       * @param  {Object} styleContextStack current style stack
+       * @return {Object}                   collection of inlines, minWidth, maxWidth
+       */
+       TextTools.prototype.buildInlines = function(textArray, styleContextStack) {
+               var measured = measure(this.fontProvider, textArray, styleContextStack);
+
+               var minWidth = 0,
+                       maxWidth = 0,
+                       currentLineWidth;
+
+               measured.forEach(function (inline) {
+                       minWidth = Math.max(minWidth, inline.width - inline.leadingCut - inline.trailingCut);
+
+                       if (!currentLineWidth) {
+                               currentLineWidth = { width: 0, leadingCut: inline.leadingCut, trailingCut: 0 };
+                       }
+
+                       currentLineWidth.width += inline.width;
+                       currentLineWidth.trailingCut = inline.trailingCut;
+
+                       maxWidth = Math.max(maxWidth, getTrimmedWidth(currentLineWidth));
+
+                       if (inline.lineEnd) {
+                               currentLineWidth = null;
+                       }
+               });
+
+               if (getStyleProperty({}, styleContextStack, 'noWrap', false)) {
+                       minWidth = maxWidth;
+               }
+
+               return {
+                       items: measured,
+                       minWidth: minWidth,
+                       maxWidth: maxWidth
+               };
+
+               function getTrimmedWidth(item) {
+                       return Math.max(0, item.width - item.leadingCut - item.trailingCut);
+               }
+       };
+
+       /**
+       * Returns size of the specified string (without breaking it) using the current style
+       * @param  {String} text              text to be measured
+       * @param  {Object} styleContextStack current style stack
+       * @return {Object}                   size of the specified string
+       */
+       TextTools.prototype.sizeOfString = function(text, styleContextStack) {
+               text = text.replace('\t', '    ');
+
+               //TODO: refactor - extract from measure
+               var fontName = getStyleProperty({}, styleContextStack, 'font', 'Roboto');
+               var fontSize = getStyleProperty({}, styleContextStack, 'fontSize', 12);
+               var bold = getStyleProperty({}, styleContextStack, 'bold', false);
+               var italics = getStyleProperty({}, styleContextStack, 'italics', false);
+               var lineHeight = getStyleProperty({}, styleContextStack, 'lineHeight', 1);
+
+               var font = this.fontProvider.provideFont(fontName, bold, italics);
+
+               return {
+                       width: font.widthOfString(removeDiacritics(text), fontSize),
+                       height: font.lineHeight(fontSize) * lineHeight,
+                       fontSize: fontSize,
+                       lineHeight: lineHeight,
+                       ascender: font.ascender / 1000 * fontSize,
+                       decender: font.decender / 1000 * fontSize
+               };
+       };
+
+       function splitWords(text, noWrap) {
+               var results = [];
+               text = text.replace('\t', '    ');
+
+               var array;
+               if (noWrap) {
+                       array = [ text, "" ];
+               } else {
+                       array = text.match(WORD_RE);
+               }
+               // i < l - 1, because the last match is always an empty string
+               // other empty strings however are treated as new-lines
+               for(var i = 0, l = array.length; i < l - 1; i++) {
+                       var item = array[i];
+
+                       var isNewLine = item.length === 0;
+
+                       if (!isNewLine) {
+                               results.push({text: item});
+                       }
+                       else {
+                               var shouldAddLine = (results.length === 0 || results[results.length - 1].lineEnd);
+
+                               if (shouldAddLine) {
+                                       results.push({ text: '', lineEnd: true });
+                               }
+                               else {
+                                       results[results.length - 1].lineEnd = true;
+                               }
+                       }
+               }
+               return results;
+       }
+
+       function copyStyle(source, destination) {
+               destination = destination || {};
+               source = source || {}; //TODO: default style
+
+               for(var key in source) {
+                       if (key != 'text' && source.hasOwnProperty(key)) {
+                               destination[key] = source[key];
+                       }
+               }
+
+               return destination;
+       }
+
+       function normalizeTextArray(array) {
+               var results = [];
+
+               if (typeof array == 'string' || array instanceof String) {
+                       array = [ array ];
+               }
+
+               for(var i = 0, l = array.length; i < l; i++) {
+                       var item = array[i];
+                       var style = null;
+                       var words;
+
+                       if (typeof item == 'string' || item instanceof String) {
+                               words = splitWords(item);
+                       } else {
+                               words = splitWords(item.text, item.noWrap);
+                               style = copyStyle(item);
+                       }
+
+                       for(var i2 = 0, l2 = words.length; i2 < l2; i2++) {
+                               var result = {
+                                       text: words[i2].text
+                               };
+
+                               if (words[i2].lineEnd) {
+                                       result.lineEnd = true;
+                               }
+
+                               copyStyle(style, result);
+
+                               results.push(result);
+                       }
+               }
+
+               return results;
+       }
+
+       //TODO: support for other languages (currently only polish is supported)
+       var diacriticsMap = { 'Ą': 'A', 'Ć': 'C', 'Ę': 'E', 'Ł': 'L', 'Ń': 'N', 'Ó': 'O', 'Ś': 'S', 'Ź': 'Z', 'Ż': 'Z', 'ą': 'a', 'ć': 'c', 'ę': 'e', 'ł': 'l', 'ń': 'n', 'ó': 'o', 'ś': 's', 'ź': 'z', 'ż': 'z' };
+       // '  << atom.io workaround
+
+       function removeDiacritics(text) {
+               return text.replace(/[^A-Za-z0-9\[\] ]/g, function(a) {
+                       return diacriticsMap[a] || a;
+               });
+       }
+
+       function getStyleProperty(item, styleContextStack, property, defaultValue) {
+               var value;
+
+               if (item[property] !== undefined && item[property] !== null) {
+                       // item defines this property
+                       return item[property];
+               }
+
+               if (!styleContextStack) return defaultValue;
+
+               styleContextStack.auto(item, function() {
+                       value = styleContextStack.getProperty(property);
+               });
+
+               if (value !== null && value !== undefined) {
+                       return value;
+               } else {
+                       return defaultValue;
+               }
+       }
+
+       function measure(fontProvider, textArray, styleContextStack) {
+               var normalized = normalizeTextArray(textArray);
+
+               normalized.forEach(function(item) {
+                       var fontName = getStyleProperty(item, styleContextStack, 'font', 'Roboto');
+                       var fontSize = getStyleProperty(item, styleContextStack, 'fontSize', 12);
+                       var bold = getStyleProperty(item, styleContextStack, 'bold', false);
+                       var italics = getStyleProperty(item, styleContextStack, 'italics', false);
+                       var color = getStyleProperty(item, styleContextStack, 'color', 'black');
+                       var decoration = getStyleProperty(item, styleContextStack, 'decoration', null);
+                       var decorationColor = getStyleProperty(item, styleContextStack, 'decorationColor', null);
+                       var decorationStyle = getStyleProperty(item, styleContextStack, 'decorationStyle', null);
+                       var background = getStyleProperty(item, styleContextStack, 'background', null);
+                       var lineHeight = getStyleProperty(item, styleContextStack, 'lineHeight', 1);
+
+                       var font = fontProvider.provideFont(fontName, bold, italics);
+
+                       // TODO: character spacing
+                       item.width = font.widthOfString(removeDiacritics(item.text), fontSize);
+                       item.height = font.lineHeight(fontSize) * lineHeight;
+
+                       var leadingSpaces = item.text.match(LEADING);
+                       var trailingSpaces = item.text.match(TRAILING);
+                       if (leadingSpaces) {
+                               item.leadingCut = font.widthOfString(leadingSpaces[0], fontSize);
+                       }
+                       else {
+                               item.leadingCut = 0;
+                       }
+
+                       if (trailingSpaces) {
+                               item.trailingCut = font.widthOfString(trailingSpaces[0], fontSize);
+                       }
+                       else {
+                               item.trailingCut = 0;
+                       }
+
+                       item.alignment = getStyleProperty(item, styleContextStack, 'alignment', 'left');
+                       item.font = font;
+                       item.fontSize = fontSize;
+                       item.color = color;
+                       item.decoration = decoration;
+                       item.decorationColor = decorationColor;
+                       item.decorationStyle = decorationStyle;
+                       item.background = background;
+               });
+
+               return normalized;
+       }
+
+       /****TESTS**** (add a leading '/' to uncomment)
+       TextTools.prototype.splitWords = splitWords;
+       TextTools.prototype.normalizeTextArray = normalizeTextArray;
+       TextTools.prototype.measure = measure;
+       // */
+
+
+       module.exports = TextTools;
+
+
+/***/ },
+/* 15 */
+/***/ function(module, exports) {
+
+       /* jslint node: true */
+       'use strict';
+
+       /**
+       * Creates an instance of StyleContextStack used for style inheritance and style overrides
+       *
+       * @constructor
+       * @this {StyleContextStack}
+       * @param {Object} named styles dictionary
+       * @param {Object} optional default style definition
+       */
+       function StyleContextStack (styleDictionary, defaultStyle) {
+               this.defaultStyle = defaultStyle || {};
+               this.styleDictionary = styleDictionary;
+               this.styleOverrides = [];
+       }
+
+       /**
+       * Creates cloned version of current stack
+       * @return {StyleContextStack} current stack snapshot
+       */
+       StyleContextStack.prototype.clone = function() {
+               var stack = new StyleContextStack(this.styleDictionary, this.defaultStyle);
+
+               this.styleOverrides.forEach(function(item) {
+                       stack.styleOverrides.push(item);
+               });
+
+               return stack;
+       };
+
+       /**
+       * Pushes style-name or style-overrides-object onto the stack for future evaluation
+       *
+       * @param {String|Object} styleNameOrOverride style-name (referring to styleDictionary) or
+       *                                            a new dictionary defining overriding properties
+       */
+       StyleContextStack.prototype.push = function(styleNameOrOverride) {
+               this.styleOverrides.push(styleNameOrOverride);
+       };
+
+       /**
+       * Removes last style-name or style-overrides-object from the stack
+       *
+       * @param {Number} howMany - optional number of elements to be popped (if not specified,
+       *                           one element will be removed from the stack)
+       */
+       StyleContextStack.prototype.pop = function(howMany) {
+               howMany = howMany || 1;
+
+               while(howMany-- > 0) {
+                       this.styleOverrides.pop();
+               }
+       };
+
+       /**
+       * Creates a set of named styles or/and a style-overrides-object based on the item,
+       * pushes those elements onto the stack for future evaluation and returns the number
+       * of elements pushed, so they can be easily poped then.
+       *
+       * @param {Object} item - an object with optional style property and/or style overrides
+       * @return the number of items pushed onto the stack
+       */
+       StyleContextStack.prototype.autopush = function(item) {
+               if (typeof item === 'string' || item instanceof String) return 0;
+
+               var styleNames = [];
+
+               if (item.style) {
+                       if (item.style instanceof Array) {
+                               styleNames = item.style;
+                       } else {
+                               styleNames = [ item.style ];
+                       }
+               }
+
+               for(var i = 0, l = styleNames.length; i < l; i++) {
+                       this.push(styleNames[i]);
+               }
+
+               var styleOverrideObject = {};
+               var pushSOO = false;
+
+               [
+                       'font',
+                       'fontSize',
+                       'bold',
+                       'italics',
+                       'alignment',
+                       'color',
+                       'columnGap',
+                       'fillColor',
+                       'decoration',
+                       'decorationStyle',
+                       'decorationColor',
+                       'background',
+                       'lineHeight',
+                       'noWrap'
+                       //'tableCellPadding'
+                       // 'cellBorder',
+                       // 'headerCellBorder',
+                       // 'oddRowCellBorder',
+                       // 'evenRowCellBorder',
+                       // 'tableBorder'
+               ].forEach(function(key) {
+                       if (item[key] !== undefined && item[key] !== null) {
+                               styleOverrideObject[key] = item[key];
+                               pushSOO = true;
+                       }
+               });
+
+               if (pushSOO) {
+                       this.push(styleOverrideObject);
+               }
+
+               return styleNames.length + (pushSOO ? 1 : 0);
+       };
+
+       /**
+       * Automatically pushes elements onto the stack, using autopush based on item,
+       * executes callback and then pops elements back. Returns value returned by callback
+       *
+       * @param  {Object}   item - an object with optional style property and/or style overrides
+       * @param  {Function} function to be called between autopush and pop
+       * @return {Object} value returned by callback
+       */
+       StyleContextStack.prototype.auto = function(item, callback) {
+               var pushedItems = this.autopush(item);
+               var result = callback();
+
+               if (pushedItems > 0) {
+                       this.pop(pushedItems);
+               }
+
+               return result;
+       };
+
+       /**
+       * Evaluates stack and returns value of a named property
+       *
+       * @param {String} property - property name
+       * @return property value or null if not found
+       */
+       StyleContextStack.prototype.getProperty = function(property) {
+               if (this.styleOverrides) {
+                       for(var i = this.styleOverrides.length - 1; i >= 0; i--) {
+                               var item = this.styleOverrides[i];
+
+                               if (typeof item == 'string' || item instanceof String) {
+                                       // named-style-override
+
+                                       var style = this.styleDictionary[item];
+                                       if (style && style[property] !== null && style[property] !== undefined) {
+                                               return style[property];
+                                       }
+                               } else {
+                                       // style-overrides-object
+                                       if (item[property] !== undefined && item[property] !== null) {
+                                               return item[property];
+                                       }
+                               }
+                       }
+               }
+
+               return this.defaultStyle && this.defaultStyle[property];
+       };
+
+       module.exports = StyleContextStack;
+
+
+/***/ },
+/* 16 */
+/***/ function(module, exports) {
+
+       /* jslint node: true */
+       'use strict';
+
+       function buildColumnWidths(columns, availableWidth) {
+               var autoColumns = [],
+                       autoMin = 0, autoMax = 0,
+                       starColumns = [],
+                       starMaxMin = 0,
+                       starMaxMax = 0,
+                       fixedColumns = [],
+                       initial_availableWidth = availableWidth;
+
+               columns.forEach(function(column) {
+                       if (isAutoColumn(column)) {
+                               autoColumns.push(column);
+                               autoMin += column._minWidth;
+                               autoMax += column._maxWidth;
+                       } else if (isStarColumn(column)) {
+                               starColumns.push(column);
+                               starMaxMin = Math.max(starMaxMin, column._minWidth);
+                               starMaxMax = Math.max(starMaxMax, column._maxWidth);
+                       } else {
+                               fixedColumns.push(column);
+                       }
+               });
+
+               fixedColumns.forEach(function(col) {
+                       // width specified as %
+                       if (typeof col.width === 'string' && /\d+%/.test(col.width) ) {
+                               col.width = parseFloat(col.width)*initial_availableWidth/100;
+                       }
+                       if (col.width < (col._minWidth) && col.elasticWidth) {
+                               col._calcWidth = col._minWidth;
+                       } else {
+                               col._calcWidth = col.width;
+                       }
+
+                       availableWidth -= col._calcWidth;
+               });
+
+               // http://www.freesoft.org/CIE/RFC/1942/18.htm
+               // http://www.w3.org/TR/CSS2/tables.html#width-layout
+               // http://dev.w3.org/csswg/css3-tables-algorithms/Overview.src.htm
+               var minW = autoMin + starMaxMin * starColumns.length;
+               var maxW = autoMax + starMaxMax * starColumns.length;
+               if (minW >= availableWidth) {
+                       // case 1 - there's no way to fit all columns within available width
+                       // that's actually pretty bad situation with PDF as we have no horizontal scroll
+                       // no easy workaround (unless we decide, in the future, to split single words)
+                       // currently we simply use minWidths for all columns
+                       autoColumns.forEach(function(col) {
+                               col._calcWidth = col._minWidth;
+                       });
+
+                       starColumns.forEach(function(col) {
+                               col._calcWidth = starMaxMin; // starMaxMin already contains padding
+                       });
+               } else {
+                       if (maxW < availableWidth) {
+                               // case 2 - we can fit rest of the table within available space
+                               autoColumns.forEach(function(col) {
+                                       col._calcWidth = col._maxWidth;
+                                       availableWidth -= col._calcWidth;
+                               });
+                       } else {
+                               // maxW is too large, but minW fits within available width
+                               var W = availableWidth - minW;
+                               var D = maxW - minW;
+
+                               autoColumns.forEach(function(col) {
+                                       var d = col._maxWidth - col._minWidth;
+                                       col._calcWidth = col._minWidth + d * W / D;
+                                       availableWidth -= col._calcWidth;
+                               });
+                       }
+
+                       if (starColumns.length > 0) {
+                               var starSize = availableWidth / starColumns.length;
+
+                               starColumns.forEach(function(col) {
+                                       col._calcWidth = starSize;
+                               });
+                       }
+               }
+       }
+
+       function isAutoColumn(column) {
+               return column.width === 'auto';
+       }
+
+       function isStarColumn(column) {
+               return column.width === null || column.width === undefined || column.width === '*' || column.width === 'star';
+       }
+
+       //TODO: refactor and reuse in measureTable
+       function measureMinMax(columns) {
+               var result = { min: 0, max: 0 };
+
+               var maxStar = { min: 0, max: 0 };
+               var starCount = 0;
+
+               for(var i = 0, l = columns.length; i < l; i++) {
+                       var c = columns[i];
+
+                       if (isStarColumn(c)) {
+                               maxStar.min = Math.max(maxStar.min, c._minWidth);
+                               maxStar.max = Math.max(maxStar.max, c._maxWidth);
+                               starCount++;
+                       } else if (isAutoColumn(c)) {
+                               result.min += c._minWidth;
+                               result.max += c._maxWidth;
+                       } else {
+                               result.min += ((c.width !== undefined && c.width) || c._minWidth);
+                               result.max += ((c.width  !== undefined && c.width) || c._maxWidth);
+                       }
+               }
+
+               if (starCount) {
+                       result.min += starCount * maxStar.min;
+                       result.max += starCount * maxStar.max;
+               }
+
+               return result;
+       }
+
+       /**
+       * Calculates column widths
+       * @private
+       */
+       module.exports = {
+               buildColumnWidths: buildColumnWidths,
+               measureMinMax: measureMinMax,
+               isAutoColumn: isAutoColumn,
+               isStarColumn: isStarColumn
+       };
+
+
+/***/ },
+/* 17 */
+/***/ function(module, exports) {
+
+       /* jslint node: true */
+       'use strict';
+
+       function pack() {
+               var result = {};
+
+               for(var i = 0, l = arguments.length; i < l; i++) {
+                       var obj = arguments[i];
+
+                       if (obj) {
+                               for(var key in obj) {
+                                       if (obj.hasOwnProperty(key)) {
+                                               result[key] = obj[key];
+                                       }
+                               }
+                       }
+               }
+
+               return result;
+       }
+
+       function offsetVector(vector, x, y) {
+               switch(vector.type) {
+               case 'ellipse':
+               case 'rect':
+                       vector.x += x;
+                       vector.y += y;
+                       break;
+               case 'line':
+                       vector.x1 += x;
+                       vector.x2 += x;
+                       vector.y1 += y;
+                       vector.y2 += y;
+                       break;
+               case 'polyline':
+                       for(var i = 0, l = vector.points.length; i < l; i++) {
+                               vector.points[i].x += x;
+                               vector.points[i].y += y;
+                       }
+                       break;
+               }
+       }
+
+       function fontStringify(key, val) {
+               if (key === 'font') {
+                       return 'font';
+               }
+               return val;
+       }
+
+       function isFunction(functionToCheck) {
+               var getType = {};
+               return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';
+       }
+
+
+       module.exports = {
+               pack: pack,
+               fontStringify: fontStringify,
+               offsetVector: offsetVector,
+               isFunction: isFunction
+       };
+
+
+/***/ },
+/* 18 */
+/***/ function(module, exports) {
+
+       /* jslint node: true */
+       'use strict';
+       /*jshint -W004 */
+       /* qr.js -- QR code generator in Javascript (revision 2011-01-19)
+        * Written by Kang Seonghoon <public+qrjs@mearie.org>.
+        *
+        * This source code is in the public domain; if your jurisdiction does not
+        * recognize the public domain the terms of Creative Commons CC0 license
+        * apply. In the other words, you can always do what you want.
+        */
+
+
+       // per-version information (cf. JIS X 0510:2004 pp. 30--36, 71)
+       //
+       // [0]: the degree of generator polynomial by ECC levels
+       // [1]: # of code blocks by ECC levels
+       // [2]: left-top positions of alignment patterns
+       //
+       // the number in this table (in particular, [0]) does not exactly match with
+       // the numbers in the specficiation. see augumenteccs below for the reason.
+       var VERSIONS = [
+               null,
+               [[10, 7,17,13], [ 1, 1, 1, 1], []],
+               [[16,10,28,22], [ 1, 1, 1, 1], [4,16]],
+               [[26,15,22,18], [ 1, 1, 2, 2], [4,20]],
+               [[18,20,16,26], [ 2, 1, 4, 2], [4,24]],
+               [[24,26,22,18], [ 2, 1, 4, 4], [4,28]],
+               [[16,18,28,24], [ 4, 2, 4, 4], [4,32]],
+               [[18,20,26,18], [ 4, 2, 5, 6], [4,20,36]],
+               [[22,24,26,22], [ 4, 2, 6, 6], [4,22,40]],
+               [[22,30,24,20], [ 5, 2, 8, 8], [4,24,44]],
+               [[26,18,28,24], [ 5, 4, 8, 8], [4,26,48]],
+               [[30,20,24,28], [ 5, 4,11, 8], [4,28,52]],
+               [[22,24,28,26], [ 8, 4,11,10], [4,30,56]],
+               [[22,26,22,24], [ 9, 4,16,12], [4,32,60]],
+               [[24,30,24,20], [ 9, 4,16,16], [4,24,44,64]],
+               [[24,22,24,30], [10, 6,18,12], [4,24,46,68]],
+               [[28,24,30,24], [10, 6,16,17], [4,24,48,72]],
+               [[28,28,28,28], [11, 6,19,16], [4,28,52,76]],
+               [[26,30,28,28], [13, 6,21,18], [4,28,54,80]],
+               [[26,28,26,26], [14, 7,25,21], [4,28,56,84]],
+               [[26,28,28,30], [16, 8,25,20], [4,32,60,88]],
+               [[26,28,30,28], [17, 8,25,23], [4,26,48,70,92]],
+               [[28,28,24,30], [17, 9,34,23], [4,24,48,72,96]],
+               [[28,30,30,30], [18, 9,30,25], [4,28,52,76,100]],
+               [[28,30,30,30], [20,10,32,27], [4,26,52,78,104]],
+               [[28,26,30,30], [21,12,35,29], [4,30,56,82,108]],
+               [[28,28,30,28], [23,12,37,34], [4,28,56,84,112]],
+               [[28,30,30,30], [25,12,40,34], [4,32,60,88,116]],
+               [[28,30,30,30], [26,13,42,35], [4,24,48,72,96,120]],
+               [[28,30,30,30], [28,14,45,38], [4,28,52,76,100,124]],
+               [[28,30,30,30], [29,15,48,40], [4,24,50,76,102,128]],
+               [[28,30,30,30], [31,16,51,43], [4,28,54,80,106,132]],
+               [[28,30,30,30], [33,17,54,45], [4,32,58,84,110,136]],
+               [[28,30,30,30], [35,18,57,48], [4,28,56,84,112,140]],
+               [[28,30,30,30], [37,19,60,51], [4,32,60,88,116,144]],
+               [[28,30,30,30], [38,19,63,53], [4,28,52,76,100,124,148]],
+               [[28,30,30,30], [40,20,66,56], [4,22,48,74,100,126,152]],
+               [[28,30,30,30], [43,21,70,59], [4,26,52,78,104,130,156]],
+               [[28,30,30,30], [45,22,74,62], [4,30,56,82,108,134,160]],
+               [[28,30,30,30], [47,24,77,65], [4,24,52,80,108,136,164]],
+               [[28,30,30,30], [49,25,81,68], [4,28,56,84,112,140,168]]];
+
+       // mode constants (cf. Table 2 in JIS X 0510:2004 p. 16)
+       var MODE_TERMINATOR = 0;
+       var MODE_NUMERIC = 1, MODE_ALPHANUMERIC = 2, MODE_OCTET = 4, MODE_KANJI = 8;
+
+       // validation regexps
+       var NUMERIC_REGEXP = /^\d*$/;
+       var ALPHANUMERIC_REGEXP = /^[A-Za-z0-9 $%*+\-./:]*$/;
+       var ALPHANUMERIC_OUT_REGEXP = /^[A-Z0-9 $%*+\-./:]*$/;
+
+       // ECC levels (cf. Table 22 in JIS X 0510:2004 p. 45)
+       var ECCLEVEL_L = 1, ECCLEVEL_M = 0, ECCLEVEL_Q = 3, ECCLEVEL_H = 2;
+
+       // GF(2^8)-to-integer mapping with a reducing polynomial x^8+x^4+x^3+x^2+1
+       // invariant: GF256_MAP[GF256_INVMAP[i]] == i for all i in [1,256)
+       var GF256_MAP = [], GF256_INVMAP = [-1];
+       for (var i = 0, v = 1; i < 255; ++i) {
+               GF256_MAP.push(v);
+               GF256_INVMAP[v] = i;
+               v = (v * 2) ^ (v >= 128 ? 0x11d : 0);
+       }
+
+       // generator polynomials up to degree 30
+       // (should match with polynomials in JIS X 0510:2004 Appendix A)
+       //
+       // generator polynomial of degree K is product of (x-\alpha^0), (x-\alpha^1),
+       // ..., (x-\alpha^(K-1)). by convention, we omit the K-th coefficient (always 1)
+       // from the result; also other coefficients are written in terms of the exponent
+       // to \alpha to avoid the redundant calculation. (see also calculateecc below.)
+       var GF256_GENPOLY = [[]];
+       for (var i = 0; i < 30; ++i) {
+               var prevpoly = GF256_GENPOLY[i], poly = [];
+               for (var j = 0; j <= i; ++j) {
+                       var a = (j < i ? GF256_MAP[prevpoly[j]] : 0);
+                       var b = GF256_MAP[(i + (prevpoly[j-1] || 0)) % 255];
+                       poly.push(GF256_INVMAP[a ^ b]);
+               }
+               GF256_GENPOLY.push(poly);
+       }
+
+       // alphanumeric character mapping (cf. Table 5 in JIS X 0510:2004 p. 19)
+       var ALPHANUMERIC_MAP = {};
+       for (var i = 0; i < 45; ++i) {
+               ALPHANUMERIC_MAP['0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:'.charAt(i)] = i;
+       }
+
+       // mask functions in terms of row # and column #
+       // (cf. Table 20 in JIS X 0510:2004 p. 42)
+       var MASKFUNCS = [
+               function(i,j) { return (i+j) % 2 === 0; },
+               function(i,j) { return i % 2 === 0; },
+               function(i,j) { return j % 3 === 0; },
+               function(i,j) { return (i+j) % 3 === 0; },
+               function(i,j) { return (((i/2)|0) + ((j/3)|0)) % 2 === 0; },
+               function(i,j) { return (i*j) % 2 + (i*j) % 3 === 0; },
+               function(i,j) { return ((i*j) % 2 + (i*j) % 3) % 2 === 0; },
+               function(i,j) { return ((i+j) % 2 + (i*j) % 3) % 2 === 0; }];
+
+       // returns true when the version information has to be embeded.
+       var needsverinfo = function(ver) { return ver > 6; };
+
+       // returns the size of entire QR code for given version.
+       var getsizebyver = function(ver) { return 4 * ver + 17; };
+
+       // returns the number of bits available for code words in this version.
+       var nfullbits = function(ver) {
+               /*
+                * |<--------------- n --------------->|
+                * |        |<----- n-17 ---->|        |
+                * +-------+                ///+-------+ ----
+                * |       |                ///|       |    ^
+                * |  9x9  |       @@@@@    ///|  9x8  |    |
+                * |       | # # # @5x5@ # # # |       |    |
+                * +-------+       @@@@@       +-------+    |
+                *       #                               ---|
+                *                                        ^ |
+                *       #                                |
+                *     @@@@@       @@@@@       @@@@@      | n
+                *     @5x5@       @5x5@       @5x5@   n-17
+                *     @@@@@       @@@@@       @@@@@      | |
+                *       #                                | |
+                * //////                                 v |
+                * //////#                               ---|
+                * +-------+       @@@@@       @@@@@        |
+                * |       |       @5x5@       @5x5@        |
+                * |  8x9  |       @@@@@       @@@@@        |
+                * |       |                                v
+                * +-------+                             ----
+                *
+                * when the entire code has n^2 modules and there are m^2-3 alignment
+                * patterns, we have:
+                * - 225 (= 9x9 + 9x8 + 8x9) modules for finder patterns and
+                *   format information;
+                * - 2n-34 (= 2(n-17)) modules for timing patterns;
+                * - 36 (= 3x6 + 6x3) modules for version information, if any;
+                * - 25m^2-75 (= (m^2-3)(5x5)) modules for alignment patterns
+                *   if any, but 10m-20 (= 2(m-2)x5) of them overlaps with
+                *   timing patterns.
+                */
+               var v = VERSIONS[ver];
+               var nbits = 16*ver*ver + 128*ver + 64; // finder, timing and format info.
+               if (needsverinfo(ver)) nbits -= 36; // version information
+               if (v[2].length) { // alignment patterns
+                       nbits -= 25 * v[2].length * v[2].length - 10 * v[2].length - 55;
+               }
+               return nbits;
+       };
+
+       // returns the number of bits available for data portions (i.e. excludes ECC
+       // bits but includes mode and length bits) in this version and ECC level.
+       var ndatabits = function(ver, ecclevel) {
+               var nbits = nfullbits(ver) & ~7; // no sub-octet code words
+               var v = VERSIONS[ver];
+               nbits -= 8 * v[0][ecclevel] * v[1][ecclevel]; // ecc bits
+               return nbits;
+       };
+
+       // returns the number of bits required for the length of data.
+       // (cf. Table 3 in JIS X 0510:2004 p. 16)
+       var ndatalenbits = function(ver, mode) {
+               switch (mode) {
+               case MODE_NUMERIC: return (ver < 10 ? 10 : ver < 27 ? 12 : 14);
+               case MODE_ALPHANUMERIC: return (ver < 10 ? 9 : ver < 27 ? 11 : 13);
+               case MODE_OCTET: return (ver < 10 ? 8 : 16);
+               case MODE_KANJI: return (ver < 10 ? 8 : ver < 27 ? 10 : 12);
+               }
+       };
+
+       // returns the maximum length of data possible in given configuration.
+       var getmaxdatalen = function(ver, mode, ecclevel) {
+               var nbits = ndatabits(ver, ecclevel) - 4 - ndatalenbits(ver, mode); // 4 for mode bits
+               switch (mode) {
+               case MODE_NUMERIC:
+                       return ((nbits/10) | 0) * 3 + (nbits%10 < 4 ? 0 : nbits%10 < 7 ? 1 : 2);
+               case MODE_ALPHANUMERIC:
+                       return ((nbits/11) | 0) * 2 + (nbits%11 < 6 ? 0 : 1);
+               case MODE_OCTET:
+                       return (nbits/8) | 0;
+               case MODE_KANJI:
+                       return (nbits/13) | 0;
+               }
+       };
+
+       // checks if the given data can be encoded in given mode, and returns
+       // the converted data for the further processing if possible. otherwise
+       // returns null.
+       //
+       // this function does not check the length of data; it is a duty of
+       // encode function below (as it depends on the version and ECC level too).
+       var validatedata = function(mode, data) {
+               switch (mode) {
+               case MODE_NUMERIC:
+                       if (!data.match(NUMERIC_REGEXP)) return null;
+                       return data;
+
+               case MODE_ALPHANUMERIC:
+                       if (!data.match(ALPHANUMERIC_REGEXP)) return null;
+                       return data.toUpperCase();
+
+               case MODE_OCTET:
+                       if (typeof data === 'string') { // encode as utf-8 string
+                               var newdata = [];
+                               for (var i = 0; i < data.length; ++i) {
+                                       var ch = data.charCodeAt(i);
+                                       if (ch < 0x80) {
+                                               newdata.push(ch);
+                                       } else if (ch < 0x800) {
+                                               newdata.push(0xc0 | (ch >> 6),
+                                                       0x80 | (ch & 0x3f));
+                                       } else if (ch < 0x10000) {
+                                               newdata.push(0xe0 | (ch >> 12),
+                                                       0x80 | ((ch >> 6) & 0x3f),
+                                                       0x80 | (ch & 0x3f));
+                                       } else {
+                                               newdata.push(0xf0 | (ch >> 18),
+                                                       0x80 | ((ch >> 12) & 0x3f),
+                                                       0x80 | ((ch >> 6) & 0x3f),
+                                                       0x80 | (ch & 0x3f));
+                                       }
+                               }
+                               return newdata;
+                       } else {
+                               return data;
+                       }
+               }
+       };
+
+       // returns the code words (sans ECC bits) for given data and configurations.
+       // requires data to be preprocessed by validatedata. no length check is
+       // performed, and everything has to be checked before calling this function.
+       var encode = function(ver, mode, data, maxbuflen) {
+               var buf = [];
+               var bits = 0, remaining = 8;
+               var datalen = data.length;
+
+               // this function is intentionally no-op when n=0.
+               var pack = function(x, n) {
+                       if (n >= remaining) {
+                               buf.push(bits | (x >> (n -= remaining)));
+                               while (n >= 8) buf.push((x >> (n -= 8)) & 255);
+                               bits = 0;
+                               remaining = 8;
+                       }
+                       if (n > 0) bits |= (x & ((1 << n) - 1)) << (remaining -= n);
+               };
+
+               var nlenbits = ndatalenbits(ver, mode);
+               pack(mode, 4);
+               pack(datalen, nlenbits);
+
+               switch (mode) {
+               case MODE_NUMERIC:
+                       for (var i = 2; i < datalen; i += 3) {
+                               pack(parseInt(data.substring(i-2,i+1), 10), 10);
+                       }
+                       pack(parseInt(data.substring(i-2), 10), [0,4,7][datalen%3]);
+                       break;
+
+               case MODE_ALPHANUMERIC:
+                       for (var i = 1; i < datalen; i += 2) {
+                               pack(ALPHANUMERIC_MAP[data.charAt(i-1)] * 45 +
+                                       ALPHANUMERIC_MAP[data.charAt(i)], 11);
+                       }
+                       if (datalen % 2 == 1) {
+                               pack(ALPHANUMERIC_MAP[data.charAt(i-1)], 6);
+                       }
+                       break;
+
+               case MODE_OCTET:
+                       for (var i = 0; i < datalen; ++i) {
+                               pack(data[i], 8);
+                       }
+                       break;
+               }
+
+               // final bits. it is possible that adding terminator causes the buffer
+               // to overflow, but then the buffer truncated to the maximum size will
+               // be valid as the truncated terminator mode bits and padding is
+               // identical in appearance (cf. JIS X 0510:2004 sec 8.4.8).
+               pack(MODE_TERMINATOR, 4);
+               if (remaining < 8) buf.push(bits);
+
+               // the padding to fill up the remaining space. we should not add any
+               // words when the overflow already occurred.
+               while (buf.length + 1 < maxbuflen) buf.push(0xec, 0x11);
+               if (buf.length < maxbuflen) buf.push(0xec);
+               return buf;
+       };
+
+       // calculates ECC code words for given code words and generator polynomial.
+       //
+       // this is quite similar to CRC calculation as both Reed-Solomon and CRC use
+       // the certain kind of cyclic codes, which is effectively the division of
+       // zero-augumented polynomial by the generator polynomial. the only difference
+       // is that Reed-Solomon uses GF(2^8), instead of CRC's GF(2), and Reed-Solomon
+       // uses the different generator polynomial than CRC's.
+       var calculateecc = function(poly, genpoly) {
+               var modulus = poly.slice(0);
+               var polylen = poly.length, genpolylen = genpoly.length;
+               for (var i = 0; i < genpolylen; ++i) modulus.push(0);
+               for (var i = 0; i < polylen; ) {
+                       var quotient = GF256_INVMAP[modulus[i++]];
+                       if (quotient >= 0) {
+                               for (var j = 0; j < genpolylen; ++j) {
+                                       modulus[i+j] ^= GF256_MAP[(quotient + genpoly[j]) % 255];
+                               }
+                       }
+               }
+               return modulus.slice(polylen);
+       };
+
+       // auguments ECC code words to given code words. the resulting words are
+       // ready to be encoded in the matrix.
+       //
+       // the much of actual augumenting procedure follows JIS X 0510:2004 sec 8.7.
+       // the code is simplified using the fact that the size of each code & ECC
+       // blocks is almost same; for example, when we have 4 blocks and 46 data words
+       // the number of code words in those blocks are 11, 11, 12, 12 respectively.
+       var augumenteccs = function(poly, nblocks, genpoly) {
+               var subsizes = [];
+               var subsize = (poly.length / nblocks) | 0, subsize0 = 0;
+               var pivot = nblocks - poly.length % nblocks;
+               for (var i = 0; i < pivot; ++i) {
+                       subsizes.push(subsize0);
+                       subsize0 += subsize;
+               }
+               for (var i = pivot; i < nblocks; ++i) {
+                       subsizes.push(subsize0);
+                       subsize0 += subsize+1;
+               }
+               subsizes.push(subsize0);
+
+               var eccs = [];
+               for (var i = 0; i < nblocks; ++i) {
+                       eccs.push(calculateecc(poly.slice(subsizes[i], subsizes[i+1]), genpoly));
+               }
+
+               var result = [];
+               var nitemsperblock = (poly.length / nblocks) | 0;
+               for (var i = 0; i < nitemsperblock; ++i) {
+                       for (var j = 0; j < nblocks; ++j) {
+                               result.push(poly[subsizes[j] + i]);
+                       }
+               }
+               for (var j = pivot; j < nblocks; ++j) {
+                       result.push(poly[subsizes[j+1] - 1]);
+               }
+               for (var i = 0; i < genpoly.length; ++i) {
+                       for (var j = 0; j < nblocks; ++j) {
+                               result.push(eccs[j][i]);
+                       }
+               }
+               return result;
+       };
+
+       // auguments BCH(p+q,q) code to the polynomial over GF(2), given the proper
+       // genpoly. the both input and output are in binary numbers, and unlike
+       // calculateecc genpoly should include the 1 bit for the highest degree.
+       //
+       // actual polynomials used for this procedure are as follows:
+       // - p=10, q=5, genpoly=x^10+x^8+x^5+x^4+x^2+x+1 (JIS X 0510:2004 Appendix C)
+       // - p=18, q=6, genpoly=x^12+x^11+x^10+x^9+x^8+x^5+x^2+1 (ibid. Appendix D)
+       var augumentbch = function(poly, p, genpoly, q) {
+               var modulus = poly << q;
+               for (var i = p - 1; i >= 0; --i) {
+                       if ((modulus >> (q+i)) & 1) modulus ^= genpoly << i;
+               }
+               return (poly << q) | modulus;
+       };
+
+       // creates the base matrix for given version. it returns two matrices, one of
+       // them is the actual one and the another represents the "reserved" portion
+       // (e.g. finder and timing patterns) of the matrix.
+       //
+       // some entries in the matrix may be undefined, rather than 0 or 1. this is
+       // intentional (no initialization needed!), and putdata below will fill
+       // the remaining ones.
+       var makebasematrix = function(ver) {
+               var v = VERSIONS[ver], n = getsizebyver(ver);
+               var matrix = [], reserved = [];
+               for (var i = 0; i < n; ++i) {
+                       matrix.push([]);
+                       reserved.push([]);
+               }
+
+               var blit = function(y, x, h, w, bits) {
+                       for (var i = 0; i < h; ++i) {
+                               for (var j = 0; j < w; ++j) {
+                                       matrix[y+i][x+j] = (bits[i] >> j) & 1;
+                                       reserved[y+i][x+j] = 1;
+                               }
+                       }
+               };
+
+               // finder patterns and a part of timing patterns
+               // will also mark the format information area (not yet written) as reserved.
+               blit(0, 0, 9, 9, [0x7f, 0x41, 0x5d, 0x5d, 0x5d, 0x41, 0x17f, 0x00, 0x40]);
+               blit(n-8, 0, 8, 9, [0x100, 0x7f, 0x41, 0x5d, 0x5d, 0x5d, 0x41, 0x7f]);
+               blit(0, n-8, 9, 8, [0xfe, 0x82, 0xba, 0xba, 0xba, 0x82, 0xfe, 0x00, 0x00]);
+
+               // the rest of timing patterns
+               for (var i = 9; i < n-8; ++i) {
+                       matrix[6][i] = matrix[i][6] = ~i & 1;
+                       reserved[6][i] = reserved[i][6] = 1;
+               }
+
+               // alignment patterns
+               var aligns = v[2], m = aligns.length;
+               for (var i = 0; i < m; ++i) {
+                       var minj = (i===0 || i===m-1 ? 1 : 0), maxj = (i===0 ? m-1 : m);
+                       for (var j = minj; j < maxj; ++j) {
+                               blit(aligns[i], aligns[j], 5, 5, [0x1f, 0x11, 0x15, 0x11, 0x1f]);
+                       }
+               }
+
+               // version information
+               if (needsverinfo(ver)) {
+                       var code = augumentbch(ver, 6, 0x1f25, 12);
+                       var k = 0;
+                       for (var i = 0; i < 6; ++i) {
+                               for (var j = 0; j < 3; ++j) {
+                                       matrix[i][(n-11)+j] = matrix[(n-11)+j][i] = (code >> k++) & 1;
+                                       reserved[i][(n-11)+j] = reserved[(n-11)+j][i] = 1;
+                               }
+                       }
+               }
+
+               return {matrix: matrix, reserved: reserved};
+       };
+
+       // fills the data portion (i.e. unmarked in reserved) of the matrix with given
+       // code words. the size of code words should be no more than available bits,
+       // and remaining bits are padded to 0 (cf. JIS X 0510:2004 sec 8.7.3).
+       var putdata = function(matrix, reserved, buf) {
+               var n = matrix.length;
+               var k = 0, dir = -1;
+               for (var i = n-1; i >= 0; i -= 2) {
+                       if (i == 6) --i; // skip the entire timing pattern column
+                       var jj = (dir < 0 ? n-1 : 0);
+                       for (var j = 0; j < n; ++j) {
+                               for (var ii = i; ii > i-2; --ii) {
+                                       if (!reserved[jj][ii]) {
+                                               // may overflow, but (undefined >> x)
+                                               // is 0 so it will auto-pad to zero.
+                                               matrix[jj][ii] = (buf[k >> 3] >> (~k&7)) & 1;
+                                               ++k;
+                                       }
+                               }
+                               jj += dir;
+                       }
+                       dir = -dir;
+               }
+               return matrix;
+       };
+
+       // XOR-masks the data portion of the matrix. repeating the call with the same
+       // arguments will revert the prior call (convenient in the matrix evaluation).
+       var maskdata = function(matrix, reserved, mask) {
+               var maskf = MASKFUNCS[mask];
+               var n = matrix.length;
+               for (var i = 0; i < n; ++i) {
+                       for (var j = 0; j < n; ++j) {
+                               if (!reserved[i][j]) matrix[i][j] ^= maskf(i,j);
+                       }
+               }
+               return matrix;
+       };
+
+       // puts the format information.
+       var putformatinfo = function(matrix, reserved, ecclevel, mask) {
+               var n = matrix.length;
+               var code = augumentbch((ecclevel << 3) | mask, 5, 0x537, 10) ^ 0x5412;
+               for (var i = 0; i < 15; ++i) {
+                       var r = [0,1,2,3,4,5,7,8,n-7,n-6,n-5,n-4,n-3,n-2,n-1][i];
+                       var c = [n-1,n-2,n-3,n-4,n-5,n-6,n-7,n-8,7,5,4,3,2,1,0][i];
+                       matrix[r][8] = matrix[8][c] = (code >> i) & 1;
+                       // we don't have to mark those bits reserved; always done
+                       // in makebasematrix above.
+               }
+               return matrix;
+       };
+
+       // evaluates the resulting matrix and returns the score (lower is better).
+       // (cf. JIS X 0510:2004 sec 8.8.2)
+       //
+       // the evaluation procedure tries to avoid the problematic patterns naturally
+       // occuring from the original matrix. for example, it penaltizes the patterns
+       // which just look like the finder pattern which will confuse the decoder.
+       // we choose the mask which results in the lowest score among 8 possible ones.
+       //
+       // note: zxing seems to use the same procedure and in many cases its choice
+       // agrees to ours, but sometimes it does not. practically it doesn't matter.
+       var evaluatematrix = function(matrix) {
+               // N1+(k-5) points for each consecutive row of k same-colored modules,
+               // where k >= 5. no overlapping row counts.
+               var PENALTY_CONSECUTIVE = 3;
+               // N2 points for each 2x2 block of same-colored modules.
+               // overlapping block does count.
+               var PENALTY_TWOBYTWO = 3;
+               // N3 points for each pattern with >4W:1B:1W:3B:1W:1B or
+               // 1B:1W:3B:1W:1B:>4W, or their multiples (e.g. highly unlikely,
+               // but 13W:3B:3W:9B:3W:3B counts).
+               var PENALTY_FINDERLIKE = 40;
+               // N4*k points for every (5*k)% deviation from 50% black density.
+               // i.e. k=1 for 55~60% and 40~45%, k=2 for 60~65% and 35~40%, etc.
+               var PENALTY_DENSITY = 10;
+
+               var evaluategroup = function(groups) { // assumes [W,B,W,B,W,...,B,W]
+                       var score = 0;
+                       for (var i = 0; i < groups.length; ++i) {
+                               if (groups[i] >= 5) score += PENALTY_CONSECUTIVE + (groups[i]-5);
+                       }
+                       for (var i = 5; i < groups.length; i += 2) {
+                               var p = groups[i];
+                               if (groups[i-1] == p && groups[i-2] == 3*p && groups[i-3] == p &&
+                                               groups[i-4] == p && (groups[i-5] >= 4*p || groups[i+1] >= 4*p)) {
+                                       // this part differs from zxing...
+                                       score += PENALTY_FINDERLIKE;
+                               }
+                       }
+                       return score;
+               };
+
+               var n = matrix.length;
+               var score = 0, nblacks = 0;
+               for (var i = 0; i < n; ++i) {
+                       var row = matrix[i];
+                       var groups;
+
+                       // evaluate the current row
+                       groups = [0]; // the first empty group of white
+                       for (var j = 0; j < n; ) {
+                               var k;
+                               for (k = 0; j < n && row[j]; ++k) ++j;
+                               groups.push(k);
+                               for (k = 0; j < n && !row[j]; ++k) ++j;
+                               groups.push(k);
+                       }
+                       score += evaluategroup(groups);
+
+                       // evaluate the current column
+                       groups = [0];
+                       for (var j = 0; j < n; ) {
+                               var k;
+                               for (k = 0; j < n && matrix[j][i]; ++k) ++j;
+                               groups.push(k);
+                               for (k = 0; j < n && !matrix[j][i]; ++k) ++j;
+                               groups.push(k);
+                       }
+                       score += evaluategroup(groups);
+
+                       // check the 2x2 box and calculate the density
+                       var nextrow = matrix[i+1] || [];
+                       nblacks += row[0];
+                       for (var j = 1; j < n; ++j) {
+                               var p = row[j];
+                               nblacks += p;
+                               // at least comparison with next row should be strict...
+                               if (row[j-1] == p && nextrow[j] === p && nextrow[j-1] === p) {
+                                       score += PENALTY_TWOBYTWO;
+                               }
+                       }
+               }
+
+               score += PENALTY_DENSITY * ((Math.abs(nblacks / n / n - 0.5) / 0.05) | 0);
+               return score;
+       };
+
+       // returns the fully encoded QR code matrix which contains given data.
+       // it also chooses the best mask automatically when mask is -1.
+       var generate = function(data, ver, mode, ecclevel, mask) {
+               var v = VERSIONS[ver];
+               var buf = encode(ver, mode, data, ndatabits(ver, ecclevel) >> 3);
+               buf = augumenteccs(buf, v[1][ecclevel], GF256_GENPOLY[v[0][ecclevel]]);
+
+               var result = makebasematrix(ver);
+               var matrix = result.matrix, reserved = result.reserved;
+               putdata(matrix, reserved, buf);
+
+               if (mask < 0) {
+                       // find the best mask
+                       maskdata(matrix, reserved, 0);
+                       putformatinfo(matrix, reserved, ecclevel, 0);
+                       var bestmask = 0, bestscore = evaluatematrix(matrix);
+                       maskdata(matrix, reserved, 0);
+                       for (mask = 1; mask < 8; ++mask) {
+                               maskdata(matrix, reserved, mask);
+                               putformatinfo(matrix, reserved, ecclevel, mask);
+                               var score = evaluatematrix(matrix);
+                               if (bestscore > score) {
+                                       bestscore = score;
+                                       bestmask = mask;
+                               }
+                               maskdata(matrix, reserved, mask);
+                       }
+                       mask = bestmask;
+               }
+
+               maskdata(matrix, reserved, mask);
+               putformatinfo(matrix, reserved, ecclevel, mask);
+               return matrix;
+       };
+
+       // the public interface is trivial; the options available are as follows:
+       //
+       // - version: an integer in [1,40]. when omitted (or -1) the smallest possible
+       //   version is chosen.
+       // - mode: one of 'numeric', 'alphanumeric', 'octet'. when omitted the smallest
+       //   possible mode is chosen.
+       // - eccLevel: one of 'L', 'M', 'Q', 'H'. defaults to 'L'.
+       // - mask: an integer in [0,7]. when omitted (or -1) the best mask is chosen.
+       //
+
+       function generateFrame(data, options) {
+                       var MODES = {'numeric': MODE_NUMERIC, 'alphanumeric': MODE_ALPHANUMERIC,
+                               'octet': MODE_OCTET};
+                       var ECCLEVELS = {'L': ECCLEVEL_L, 'M': ECCLEVEL_M, 'Q': ECCLEVEL_Q,
+                               'H': ECCLEVEL_H};
+
+                       options = options || {};
+                       var ver = options.version || -1;
+                       var ecclevel = ECCLEVELS[(options.eccLevel || 'L').toUpperCase()];
+                       var mode = options.mode ? MODES[options.mode.toLowerCase()] : -1;
+                       var mask = 'mask' in options ? options.mask : -1;
+
+                       if (mode < 0) {
+                               if (typeof data === 'string') {
+                                       if (data.match(NUMERIC_REGEXP)) {
+                                               mode = MODE_NUMERIC;
+                                       } else if (data.match(ALPHANUMERIC_OUT_REGEXP)) {
+                                               // while encode supports case-insensitive encoding, we restrict the data to be uppercased when auto-selecting the mode.
+                                               mode = MODE_ALPHANUMERIC;
+                                       } else {
+                                               mode = MODE_OCTET;
+                                       }
+                               } else {
+                                       mode = MODE_OCTET;
+                               }
+                       } else if (!(mode == MODE_NUMERIC || mode == MODE_ALPHANUMERIC ||
+                                       mode == MODE_OCTET)) {
+                               throw 'invalid or unsupported mode';
+                       }
+
+                       data = validatedata(mode, data);
+                       if (data === null) throw 'invalid data format';
+
+                       if (ecclevel < 0 || ecclevel > 3) throw 'invalid ECC level';
+
+                       if (ver < 0) {
+                               for (ver = 1; ver <= 40; ++ver) {
+                                       if (data.length <= getmaxdatalen(ver, mode, ecclevel)) break;
+                               }
+                               if (ver > 40) throw 'too large data for the Qr format';
+                       } else if (ver < 1 || ver > 40) {
+                               throw 'invalid Qr version! should be between 1 and 40';
+                       }
+
+                       if (mask != -1 && (mask < 0 || mask > 8)) throw 'invalid mask';
+               //console.log('version:', ver, 'mode:', mode, 'ECC:', ecclevel, 'mask:', mask )
+                       return generate(data, ver, mode, ecclevel, mask);
+               }
+
+
+       // options
+       // - modulesize: a number. this is a size of each modules in pixels, and
+       //   defaults to 5px.
+       // - margin: a number. this is a size of margin in *modules*, and defaults to
+       //   4 (white modules). the specficiation mandates the margin no less than 4
+       //   modules, so it is better not to alter this value unless you know what
+       //   you're doing.
+       function buildCanvas(data, options) {
+          
+           var canvas = [];
+           var background = data.background || '#fff';
+           var foreground = data.foreground || '#000';
+           //var margin = options.margin || 4;
+               var matrix = generateFrame(data, options);
+               var n = matrix.length;
+               var modSize = Math.floor( options.fit ? options.fit/n : 5 );
+               var size = n * modSize;
+               
+           canvas.push({
+             type: 'rect',
+             x: 0, y: 0, w: size, h: size, lineWidth: 0, color: background
+           });
+           
+               for (var i = 0; i < n; ++i) {
+                       for (var j = 0; j < n; ++j) {
+                   if(matrix[i][j]) {
+                     canvas.push({
+                       type: 'rect',
+                       x: modSize * i,
+                       y: modSize * j,
+                       w: modSize,
+                       h: modSize,
+                       lineWidth: 0,
+                       color: foreground
+                     });
+                   }
+               }
+           }
+           
+           return {
+               canvas: canvas,
+               size: size
+           };
+                       
+       }
+
+       function measure(node) {
+           var cd = buildCanvas(node.qr, node);
+           node._canvas = cd.canvas;
+           node._width = node._height = node._minWidth = node._maxWidth = node._minHeight = node._maxHeight = cd.size;
+           return node;
+       }
+
+       module.exports = {
+         measure: measure
+       };
+
+/***/ },
+/* 19 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* jslint node: true */
+       'use strict';
+
+       var TraversalTracker = __webpack_require__(12);
+
+       /**
+       * Creates an instance of DocumentContext - a store for current x, y positions and available width/height.
+       * It facilitates column divisions and vertical sync
+       */
+       function DocumentContext(pageSize, pageMargins) {
+               this.pages = [];
+
+               this.pageMargins = pageMargins;
+
+               this.x = pageMargins.left;
+               this.availableWidth = pageSize.width - pageMargins.left - pageMargins.right;
+               this.availableHeight = 0;
+               this.page = -1;
+
+               this.snapshots = [];
+
+               this.endingCell = null;
+
+         this.tracker = new TraversalTracker();
+
+               this.addPage(pageSize);
+       }
+
+       DocumentContext.prototype.beginColumnGroup = function() {
+               this.snapshots.push({
+                       x: this.x,
+                       y: this.y,
+                       availableHeight: this.availableHeight,
+                       availableWidth: this.availableWidth,
+                       page: this.page,
+                       bottomMost: { y: this.y, page: this.page },
+                       endingCell: this.endingCell,
+                       lastColumnWidth: this.lastColumnWidth
+               });
+
+               this.lastColumnWidth = 0;
+       };
+
+       DocumentContext.prototype.beginColumn = function(width, offset, endingCell) {
+               var saved = this.snapshots[this.snapshots.length - 1];
+
+               this.calculateBottomMost(saved);
+
+         this.endingCell = endingCell;
+               this.page = saved.page;
+               this.x = this.x + this.lastColumnWidth + (offset || 0);
+               this.y = saved.y;
+               this.availableWidth = width;    //saved.availableWidth - offset;
+               this.availableHeight = saved.availableHeight;
+
+               this.lastColumnWidth = width;
+       };
+
+       DocumentContext.prototype.calculateBottomMost = function(destContext) {
+               if (this.endingCell) {
+                       this.saveContextInEndingCell(this.endingCell);
+                       this.endingCell = null;
+               } else {
+                       destContext.bottomMost = bottomMostContext(this, destContext.bottomMost);
+               }
+       };
+
+       DocumentContext.prototype.markEnding = function(endingCell) {
+               this.page = endingCell._columnEndingContext.page;
+               this.x = endingCell._columnEndingContext.x;
+               this.y = endingCell._columnEndingContext.y;
+               this.availableWidth = endingCell._columnEndingContext.availableWidth;
+               this.availableHeight = endingCell._columnEndingContext.availableHeight;
+               this.lastColumnWidth = endingCell._columnEndingContext.lastColumnWidth;
+       };
+
+       DocumentContext.prototype.saveContextInEndingCell = function(endingCell) {
+               endingCell._columnEndingContext = {
+                       page: this.page,
+                       x: this.x,
+                       y: this.y,
+                       availableHeight: this.availableHeight,
+                       availableWidth: this.availableWidth,
+                       lastColumnWidth: this.lastColumnWidth
+               };
+       };
+
+       DocumentContext.prototype.completeColumnGroup = function() {
+               var saved = this.snapshots.pop();
+
+               this.calculateBottomMost(saved);
+
+               this.endingCell = null;
+               this.x = saved.x;
+               this.y = saved.bottomMost.y;
+               this.page = saved.bottomMost.page;
+               this.availableWidth = saved.availableWidth;
+               this.availableHeight = saved.bottomMost.availableHeight;
+               this.lastColumnWidth = saved.lastColumnWidth;
+       };
+
+       DocumentContext.prototype.addMargin = function(left, right) {
+               this.x += left;
+               this.availableWidth -= left + (right || 0);
+       };
+
+       DocumentContext.prototype.moveDown = function(offset) {
+               this.y += offset;
+               this.availableHeight -= offset;
+
+               return this.availableHeight > 0;
+       };
+
+       DocumentContext.prototype.initializePage = function() {
+               this.y = this.pageMargins.top;
+               this.availableHeight = this.getCurrentPage().pageSize.height - this.pageMargins.top - this.pageMargins.bottom;
+               this.pageSnapshot().availableWidth = this.getCurrentPage().pageSize.width - this.pageMargins.left - this.pageMargins.right;
+       };
+
+       DocumentContext.prototype.pageSnapshot = function(){
+         if(this.snapshots[0]){
+           return this.snapshots[0];
+         } else {
+           return this;
+         }
+       };
+
+       DocumentContext.prototype.moveTo = function(x,y) {
+               if(x !== undefined && x !== null) {
+                       this.x = x;
+                       this.availableWidth = this.getCurrentPage().pageSize.width - this.x - this.pageMargins.right;
+               }
+               if(y !== undefined && y !== null){
+                       this.y = y;
+                       this.availableHeight = this.getCurrentPage().pageSize.height - this.y - this.pageMargins.bottom;
+               }
+       };
+
+       DocumentContext.prototype.beginDetachedBlock = function() {
+               this.snapshots.push({
+                       x: this.x,
+                       y: this.y,
+                       availableHeight: this.availableHeight,
+                       availableWidth: this.availableWidth,
+                       page: this.page,
+                       endingCell: this.endingCell,
+                       lastColumnWidth: this.lastColumnWidth
+               });
+       };
+
+       DocumentContext.prototype.endDetachedBlock = function() {
+               var saved = this.snapshots.pop();
+
+               this.x = saved.x;
+               this.y = saved.y;
+               this.availableWidth = saved.availableWidth;
+               this.availableHeight = saved.availableHeight;
+               this.page = saved.page;
+               this.endingCell = saved.endingCell;
+               this.lastColumnWidth = saved.lastColumnWidth;
+       };
+
+       function pageOrientation(pageOrientationString, currentPageOrientation){
+               if(pageOrientationString === undefined) {
+                       return currentPageOrientation;
+               } else if(pageOrientationString === 'landscape'){
+                       return 'landscape';
+               } else {
+                       return 'portrait';
+               }
+       }
+
+       var getPageSize = function (currentPage, newPageOrientation) {
+
+               newPageOrientation = pageOrientation(newPageOrientation, currentPage.pageSize.orientation);
+
+               if(newPageOrientation !== currentPage.pageSize.orientation) {
+                       return {
+                               orientation: newPageOrientation,
+                               width: currentPage.pageSize.height,
+                               height: currentPage.pageSize.width
+                       };
+               } else {
+                       return {
+                               orientation: currentPage.pageSize.orientation,
+                               width: currentPage.pageSize.width,
+                               height: currentPage.pageSize.height
+                       };
+               }
+
+       };
+
+
+       DocumentContext.prototype.moveToNextPage = function(pageOrientation) {
+               var nextPageIndex = this.page + 1;
+
+               var prevPage = this.page;
+               var prevY = this.y;
+
+               var createNewPage = nextPageIndex >= this.pages.length;
+               if (createNewPage) {
+                       this.addPage(getPageSize(this.getCurrentPage(), pageOrientation));
+               } else {
+                       this.page = nextPageIndex;
+                       this.initializePage();
+               }
+
+         return {
+                       newPageCreated: createNewPage,
+                       prevPage: prevPage,
+                       prevY: prevY,
+                       y: this.y
+               };
+       };
+
+
+       DocumentContext.prototype.addPage = function(pageSize) {
+               var page = { items: [], pageSize: pageSize };
+               this.pages.push(page);
+               this.page = this.pages.length - 1;
+               this.initializePage();
+
+               this.tracker.emit('pageAdded');
+
+               return page;
+       };
+
+       DocumentContext.prototype.getCurrentPage = function() {
+               if (this.page < 0 || this.page >= this.pages.length) return null;
+
+               return this.pages[this.page];
+       };
+
+       DocumentContext.prototype.getCurrentPosition = function() {
+         var pageSize = this.getCurrentPage().pageSize;
+         var innerHeight = pageSize.height - this.pageMargins.top - this.pageMargins.bottom;
+         var innerWidth = pageSize.width - this.pageMargins.left - this.pageMargins.right;
+
+         return {
+           pageNumber: this.page + 1,
+           pageOrientation: pageSize.orientation,
+           pageInnerHeight: innerHeight,
+           pageInnerWidth: innerWidth,
+           left: this.x,
+           top: this.y,
+           verticalRatio: ((this.y - this.pageMargins.top) / innerHeight),
+           horizontalRatio: ((this.x - this.pageMargins.left) / innerWidth)
+         };
+       };
+
+       function bottomMostContext(c1, c2) {
+               var r;
+
+               if (c1.page > c2.page) r = c1;
+               else if (c2.page > c1.page) r = c2;
+               else r = (c1.y > c2.y) ? c1 : c2;
+
+               return {
+                       page: r.page,
+                       x: r.x,
+                       y: r.y,
+                       availableHeight: r.availableHeight,
+                       availableWidth: r.availableWidth
+               };
+       }
+
+       /****TESTS**** (add a leading '/' to uncomment)
+       DocumentContext.bottomMostContext = bottomMostContext;
+       // */
+
+       module.exports = DocumentContext;
+
+
+/***/ },
+/* 20 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* jslint node: true */
+       'use strict';
+
+       var ElementWriter = __webpack_require__(21);
+
+       /**
+       * Creates an instance of PageElementWriter - an extended ElementWriter
+       * which can handle:
+       * - page-breaks (it adds new pages when there's not enough space left),
+       * - repeatable fragments (like table-headers, which are repeated everytime
+       *                         a page-break occurs)
+       * - transactions (used for unbreakable-blocks when we want to make sure
+       *                 whole block will be rendered on the same page)
+       */
+       function PageElementWriter(context, tracker) {
+               this.transactionLevel = 0;
+               this.repeatables = [];
+               this.tracker = tracker;
+               this.writer = new ElementWriter(context, tracker);
+       }
+
+       function fitOnPage(self, addFct){
+         var position = addFct(self);
+         if (!position) {
+           self.moveToNextPage();
+           position = addFct(self);
+         }
+         return position;
+       }
+
+       PageElementWriter.prototype.addLine = function(line, dontUpdateContextPosition, index) {
+         return fitOnPage(this, function(self){
+           return self.writer.addLine(line, dontUpdateContextPosition, index);
+         });
+       };
+
+       PageElementWriter.prototype.addImage = function(image, index) {
+         return fitOnPage(this, function(self){
+           return self.writer.addImage(image, index);
+         });
+       };
+
+       PageElementWriter.prototype.addQr = function(qr, index) {
+         return fitOnPage(this, function(self){
+                       return self.writer.addQr(qr, index);
+               });
+       };
+
+       PageElementWriter.prototype.addVector = function(vector, ignoreContextX, ignoreContextY, index) {
+               return this.writer.addVector(vector, ignoreContextX, ignoreContextY, index);
+       };
+
+       PageElementWriter.prototype.addFragment = function(fragment, useBlockXOffset, useBlockYOffset, dontUpdateContextPosition) {
+               if (!this.writer.addFragment(fragment, useBlockXOffset, useBlockYOffset, dontUpdateContextPosition)) {
+                       this.moveToNextPage();
+                       this.writer.addFragment(fragment, useBlockXOffset, useBlockYOffset, dontUpdateContextPosition);
+               }
+       };
+
+       PageElementWriter.prototype.moveToNextPage = function(pageOrientation) {
+               
+               var nextPage = this.writer.context.moveToNextPage(pageOrientation);
+               
+         if (nextPage.newPageCreated) {
+                       this.repeatables.forEach(function(rep) {
+                               this.writer.addFragment(rep, true);
+                       }, this);
+               } else {
+                       this.repeatables.forEach(function(rep) {
+                               this.writer.context.moveDown(rep.height);
+                       }, this);
+               }
+
+               this.writer.tracker.emit('pageChanged', {
+                       prevPage: nextPage.prevPage,
+                       prevY: nextPage.prevY,
+                       y: nextPage.y
+               });
+       };
+
+       PageElementWriter.prototype.beginUnbreakableBlock = function(width, height) {
+               if (this.transactionLevel++ === 0) {
+                       this.originalX = this.writer.context.x;
+                       this.writer.pushContext(width, height);
+               }
+       };
+
+       PageElementWriter.prototype.commitUnbreakableBlock = function(forcedX, forcedY) {
+               if (--this.transactionLevel === 0) {
+                       var unbreakableContext = this.writer.context;
+                       this.writer.popContext();
+
+                       var nbPages = unbreakableContext.pages.length;
+                       if(nbPages > 0) {
+                               // no support for multi-page unbreakableBlocks
+                               var fragment = unbreakableContext.pages[0];
+                               fragment.xOffset = forcedX;
+                               fragment.yOffset = forcedY;
+
+                               //TODO: vectors can influence height in some situations
+                               if(nbPages > 1) {
+                                       // on out-of-context blocs (headers, footers, background) height should be the whole DocumentContext height
+                                       if (forcedX !== undefined || forcedY !== undefined) {
+                                               fragment.height = unbreakableContext.getCurrentPage().pageSize.height - unbreakableContext.pageMargins.top - unbreakableContext.pageMargins.bottom;
+                                       } else {
+                                               fragment.height = this.writer.context.getCurrentPage().pageSize.height - this.writer.context.pageMargins.top - this.writer.context.pageMargins.bottom;
+                                               for (var i = 0, l = this.repeatables.length; i < l; i++) {
+                                                       fragment.height -= this.repeatables[i].height;
+                                               }
+                                       }
+                               } else {
+                                       fragment.height = unbreakableContext.y;
+                               }
+
+                               if (forcedX !== undefined || forcedY !== undefined) {
+                                       this.writer.addFragment(fragment, true, true, true);
+                               } else {
+                                       this.addFragment(fragment);
+                               }
+                       }
+               }
+       };
+
+       PageElementWriter.prototype.currentBlockToRepeatable = function() {
+               var unbreakableContext = this.writer.context;
+               var rep = { items: [] };
+
+           unbreakableContext.pages[0].items.forEach(function(item) {
+               rep.items.push(item);
+           });
+
+               rep.xOffset = this.originalX;
+
+               //TODO: vectors can influence height in some situations
+               rep.height = unbreakableContext.y;
+
+               return rep;
+       };
+
+       PageElementWriter.prototype.pushToRepeatables = function(rep) {
+               this.repeatables.push(rep);
+       };
+
+       PageElementWriter.prototype.popFromRepeatables = function() {
+               this.repeatables.pop();
+       };
+
+       PageElementWriter.prototype.context = function() {
+               return this.writer.context;
+       };
+
+       module.exports = PageElementWriter;
+
+
+/***/ },
+/* 21 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* jslint node: true */
+       'use strict';
+
+       var Line = __webpack_require__(22);
+       var pack = __webpack_require__(17).pack;
+       var offsetVector = __webpack_require__(17).offsetVector;
+       var DocumentContext = __webpack_require__(19);
+
+       /**
+       * Creates an instance of ElementWriter - a line/vector writer, which adds
+       * elements to current page and sets their positions based on the context
+       */
+       function ElementWriter(context, tracker) {
+               this.context = context;
+               this.contextStack = [];
+               this.tracker = tracker;
+       }
+
+       function addPageItem(page, item, index) {
+               if(index === null || index === undefined || index < 0 || index > page.items.length) {
+                       page.items.push(item);
+               } else {
+                       page.items.splice(index, 0, item);
+               }
+       }
+
+       ElementWriter.prototype.addLine = function(line, dontUpdateContextPosition, index) {
+               var height = line.getHeight();
+               var context = this.context;
+               var page = context.getCurrentPage(),
+             position = this.getCurrentPositionOnPage();
+
+               if (context.availableHeight < height || !page) {
+                       return false;
+               }
+
+               line.x = context.x + (line.x || 0);
+               line.y = context.y + (line.y || 0);
+
+               this.alignLine(line);
+
+           addPageItem(page, {
+               type: 'line',
+               item: line
+           }, index);
+               this.tracker.emit('lineAdded', line);
+
+               if (!dontUpdateContextPosition) context.moveDown(height);
+
+               return position;
+       };
+
+       ElementWriter.prototype.alignLine = function(line) {
+               var width = this.context.availableWidth;
+               var lineWidth = line.getWidth();
+
+               var alignment = line.inlines && line.inlines.length > 0 && line.inlines[0].alignment;
+
+               var offset = 0;
+               switch(alignment) {
+                       case 'right':
+                               offset = width - lineWidth;
+                               break;
+                       case 'center':
+                               offset = (width - lineWidth) / 2;
+                               break;
+               }
+
+               if (offset) {
+                       line.x = (line.x || 0) + offset;
+               }
+
+               if (alignment === 'justify' &&
+                       !line.newLineForced &&
+                       !line.lastLineInParagraph &&
+                       line.inlines.length > 1) {
+                       var additionalSpacing = (width - lineWidth) / (line.inlines.length - 1);
+
+                       for(var i = 1, l = line.inlines.length; i < l; i++) {
+                               offset = i * additionalSpacing;
+
+                               line.inlines[i].x += offset;
+                       }
+               }
+       };
+
+       ElementWriter.prototype.addImage = function(image, index) {
+               var context = this.context;
+               var page = context.getCurrentPage(),
+             position = this.getCurrentPositionOnPage();
+
+               if (context.availableHeight < image._height || !page) {
+                       return false;
+               }
+
+               image.x = context.x + (image.x || 0);
+               image.y = context.y;
+
+               this.alignImage(image);
+
+               addPageItem(page, {
+               type: 'image',
+               item: image
+           }, index);
+
+               context.moveDown(image._height);
+
+               return position;
+       };
+
+       ElementWriter.prototype.addQr = function(qr, index) {
+               var context = this.context;
+               var page = context.getCurrentPage(),
+             position = this.getCurrentPositionOnPage();
+
+               if (context.availableHeight < qr._height || !page) {
+                       return false;
+               }
+
+               qr.x = context.x + (qr.x || 0);
+               qr.y = context.y;
+
+               this.alignImage(qr);
+
+               for (var i=0, l=qr._canvas.length; i < l; i++) {
+                       var vector = qr._canvas[i];
+                       vector.x += qr.x;
+                       vector.y += qr.y;
+                       this.addVector(vector, true, true, index);
+               }
+
+               context.moveDown(qr._height);
+
+               return position;
+       };
+
+       ElementWriter.prototype.alignImage = function(image) {
+               var width = this.context.availableWidth;
+               var imageWidth = image._minWidth;
+               var offset = 0;
+               switch(image._alignment) {
+                       case 'right':
+                               offset = width - imageWidth;
+                               break;
+                       case 'center':
+                               offset = (width - imageWidth) / 2;
+                               break;
+               }
+
+               if (offset) {
+                       image.x = (image.x || 0) + offset;
+               }
+       };
+
+       ElementWriter.prototype.addVector = function(vector, ignoreContextX, ignoreContextY, index) {
+               var context = this.context;
+               var page = context.getCurrentPage(),
+             position = this.getCurrentPositionOnPage();
+
+               if (page) {
+                       offsetVector(vector, ignoreContextX ? 0 : context.x, ignoreContextY ? 0 : context.y);
+               addPageItem(page, {
+                   type: 'vector',
+                   item: vector
+               }, index);
+                       return position;
+               }
+       };
+
+       function cloneLine(line) {
+               var result = new Line(line.maxWidth);
+
+               for(var key in line) {
+                       if (line.hasOwnProperty(key)) {
+                               result[key] = line[key];
+                       }
+               }
+
+               return result;
+       }
+
+       ElementWriter.prototype.addFragment = function(block, useBlockXOffset, useBlockYOffset, dontUpdateContextPosition) {
+               var ctx = this.context;
+               var page = ctx.getCurrentPage();
+
+               if (!useBlockXOffset && block.height > ctx.availableHeight) return false;
+
+               block.items.forEach(function(item) {
+               switch(item.type) {
+                   case 'line':
+                       var l = cloneLine(item.item);
+
+                       l.x = (l.x || 0) + (useBlockXOffset ? (block.xOffset || 0) : ctx.x);
+                       l.y = (l.y || 0) + (useBlockYOffset ? (block.yOffset || 0) : ctx.y);
+
+                       page.items.push({
+                           type: 'line',
+                           item: l
+                       });
+                       break;
+
+                   case 'vector':
+                       var v = pack(item.item);
+
+                       offsetVector(v, useBlockXOffset ? (block.xOffset || 0) : ctx.x, useBlockYOffset ? (block.yOffset || 0) : ctx.y);
+                       page.items.push({
+                           type: 'vector',
+                           item: v
+                       });
+                       break;
+
+                   case 'image':
+                       var img = pack(item.item);
+
+                       img.x = (img.x || 0) + (useBlockXOffset ? (block.xOffset || 0) : ctx.x);
+                       img.y = (img.y || 0) + (useBlockYOffset ? (block.yOffset || 0) : ctx.y);
+
+                       page.items.push({
+                           type: 'image',
+                           item: img
+                       });
+                       break;
+               }
+               });
+
+               if (!dontUpdateContextPosition) ctx.moveDown(block.height);
+
+               return true;
+       };
+
+       /**
+       * Pushes the provided context onto the stack or creates a new one
+       *
+       * pushContext(context) - pushes the provided context and makes it current
+       * pushContext(width, height) - creates and pushes a new context with the specified width and height
+       * pushContext() - creates a new context for unbreakable blocks (with current availableWidth and full-page-height)
+       */
+       ElementWriter.prototype.pushContext = function(contextOrWidth, height) {
+               if (contextOrWidth === undefined) {
+                       height = this.context.getCurrentPage().height - this.context.pageMargins.top - this.context.pageMargins.bottom;
+                       contextOrWidth = this.context.availableWidth;
+               }
+
+               if (typeof contextOrWidth === 'number' || contextOrWidth instanceof Number) {
+                       contextOrWidth = new DocumentContext({ width: contextOrWidth, height: height }, { left: 0, right: 0, top: 0, bottom: 0 });
+               }
+
+               this.contextStack.push(this.context);
+               this.context = contextOrWidth;
+       };
+
+       ElementWriter.prototype.popContext = function() {
+               this.context = this.contextStack.pop();
+       };
+
+       ElementWriter.prototype.getCurrentPositionOnPage = function(){
+               return (this.contextStack[0] || this.context).getCurrentPosition();
+       };
+
+
+       module.exports = ElementWriter;
+
+
+/***/ },
+/* 22 */
+/***/ function(module, exports) {
+
+       /* jslint node: true */
+       'use strict';
+
+       /**
+       * Creates an instance of Line
+       *
+       * @constructor
+       * @this {Line}
+       * @param {Number} Maximum width this line can have
+       */
+       function Line(maxWidth) {
+               this.maxWidth = maxWidth;
+               this.leadingCut = 0;
+               this.trailingCut = 0;
+               this.inlineWidths = 0;
+               this.inlines = [];
+       }
+
+       Line.prototype.getAscenderHeight = function() {
+               var y = 0;
+
+               this.inlines.forEach(function(inline) {
+                       y = Math.max(y, inline.font.ascender / 1000 * inline.fontSize);
+               });
+               return y;
+       };
+
+       Line.prototype.hasEnoughSpaceForInline = function(inline) {
+               if (this.inlines.length === 0) return true;
+               if (this.newLineForced) return false;
+
+               return this.inlineWidths + inline.width - this.leadingCut - (inline.trailingCut || 0) <= this.maxWidth;
+       };
+
+       Line.prototype.addInline = function(inline) {
+               if (this.inlines.length === 0) {
+                       this.leadingCut = inline.leadingCut || 0;
+               }
+               this.trailingCut = inline.trailingCut || 0;
+
+               inline.x = this.inlineWidths - this.leadingCut;
+
+               this.inlines.push(inline);
+               this.inlineWidths += inline.width;
+
+               if (inline.lineEnd) {
+                       this.newLineForced = true;
+               }
+       };
+
+       Line.prototype.getWidth = function() {
+               return this.inlineWidths - this.leadingCut - this.trailingCut;
+       };
+
+       /**
+       * Returns line height
+       * @return {Number}
+       */
+       Line.prototype.getHeight = function() {
+               var max = 0;
+
+               this.inlines.forEach(function(item) {
+                       max = Math.max(max, item.height || 0);
+               });
+
+               return max;
+       };
+
+       module.exports = Line;
+
+
+/***/ },
+/* 23 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* jslint node: true */
+       'use strict';
+
+       var ColumnCalculator = __webpack_require__(16);
+
+       function TableProcessor(tableNode) {
+         this.tableNode = tableNode;
+       }
+
+       TableProcessor.prototype.beginTable = function(writer) {
+         var tableNode;
+         var availableWidth;
+         var self = this;
+
+         tableNode = this.tableNode;
+         this.offsets = tableNode._offsets;
+         this.layout = tableNode._layout;
+
+         availableWidth = writer.context().availableWidth - this.offsets.total;
+         ColumnCalculator.buildColumnWidths(tableNode.table.widths, availableWidth);
+
+         this.tableWidth = tableNode._offsets.total + getTableInnerContentWidth();
+         this.rowSpanData = prepareRowSpanData();
+         this.cleanUpRepeatables = false;
+
+         this.headerRows = tableNode.table.headerRows || 0;
+         this.rowsWithoutPageBreak = this.headerRows + (tableNode.table.keepWithHeaderRows || 0);
+         this.dontBreakRows = tableNode.table.dontBreakRows || false;
+
+         if (this.rowsWithoutPageBreak) {
+           writer.beginUnbreakableBlock();
+         }
+
+         this.drawHorizontalLine(0, writer);
+
+         function getTableInnerContentWidth() {
+           var width = 0;
+
+           tableNode.table.widths.forEach(function(w) {
+             width += w._calcWidth;
+           });
+
+           return width;
+         }
+
+         function prepareRowSpanData() {
+           var rsd = [];
+           var x = 0;
+           var lastWidth = 0;
+
+           rsd.push({ left: 0, rowSpan: 0 });
+
+           for(var i = 0, l = self.tableNode.table.body[0].length; i < l; i++) {
+             var paddings = self.layout.paddingLeft(i, self.tableNode) + self.layout.paddingRight(i, self.tableNode);
+             var lBorder = self.layout.vLineWidth(i, self.tableNode);
+             lastWidth = paddings + lBorder + self.tableNode.table.widths[i]._calcWidth;
+             rsd[rsd.length - 1].width = lastWidth;
+             x += lastWidth;
+             rsd.push({ left: x, rowSpan: 0, width: 0 });
+           }
+
+           return rsd;
+         }
+       };
+
+       TableProcessor.prototype.onRowBreak = function(rowIndex, writer) {
+         var self = this;
+         return function() {
+           //console.log('moving by : ', topLineWidth, rowPaddingTop);
+           var offset = self.rowPaddingTop + (!self.headerRows ? self.topLineWidth : 0);
+           writer.context().moveDown(offset);
+         };
+
+       };
+
+       TableProcessor.prototype.beginRow = function(rowIndex, writer) {
+         this.topLineWidth = this.layout.hLineWidth(rowIndex, this.tableNode);
+         this.rowPaddingTop = this.layout.paddingTop(rowIndex, this.tableNode);
+         this.bottomLineWidth = this.layout.hLineWidth(rowIndex+1, this.tableNode);
+         this.rowPaddingBottom = this.layout.paddingBottom(rowIndex, this.tableNode);
+
+         this.rowCallback = this.onRowBreak(rowIndex, writer);
+         writer.tracker.startTracking('pageChanged', this.rowCallback );
+           if(this.dontBreakRows) {
+               writer.beginUnbreakableBlock();
+           }
+         this.rowTopY = writer.context().y;
+         this.reservedAtBottom = this.bottomLineWidth + this.rowPaddingBottom;
+
+         writer.context().availableHeight -= this.reservedAtBottom;
+
+         writer.context().moveDown(this.rowPaddingTop);
+       };
+
+       TableProcessor.prototype.drawHorizontalLine = function(lineIndex, writer, overrideY) {
+         var lineWidth = this.layout.hLineWidth(lineIndex, this.tableNode);
+         if (lineWidth) {
+           var offset = lineWidth / 2;
+           var currentLine = null;
+
+           for(var i = 0, l = this.rowSpanData.length; i < l; i++) {
+             var data = this.rowSpanData[i];
+             var shouldDrawLine = !data.rowSpan;
+
+             if (!currentLine && shouldDrawLine) {
+               currentLine = { left: data.left, width: 0 };
+             }
+
+             if (shouldDrawLine) {
+               currentLine.width += (data.width || 0);
+             }
+
+             var y = (overrideY || 0) + offset;
+
+             if (!shouldDrawLine || i === l - 1) {
+               if (currentLine) {
+                 writer.addVector({
+                   type: 'line',
+                   x1: currentLine.left,
+                   x2: currentLine.left + currentLine.width,
+                   y1: y,
+                   y2: y,
+                   lineWidth: lineWidth,
+                   lineColor: typeof this.layout.hLineColor === 'function' ? this.layout.hLineColor(lineIndex, this.tableNode) : this.layout.hLineColor
+                 }, false, overrideY);
+                 currentLine = null;
+               }
+             }
+           }
+
+           writer.context().moveDown(lineWidth);
+         }
+       };
+
+       TableProcessor.prototype.drawVerticalLine = function(x, y0, y1, vLineIndex, writer) {
+         var width = this.layout.vLineWidth(vLineIndex, this.tableNode);
+         if (width === 0) return;
+         writer.addVector({
+           type: 'line',
+           x1: x + width/2,
+           x2: x + width/2,
+           y1: y0,
+           y2: y1,
+           lineWidth: width,
+           lineColor: typeof this.layout.vLineColor === 'function' ? this.layout.vLineColor(vLineIndex, this.tableNode) : this.layout.vLineColor
+         }, false, true);
+       };
+
+       TableProcessor.prototype.endTable = function(writer) {
+         if (this.cleanUpRepeatables) {
+           writer.popFromRepeatables();
+         }
+       };
+
+       TableProcessor.prototype.endRow = function(rowIndex, writer, pageBreaks) {
+           var l, i;
+           var self = this;
+           writer.tracker.stopTracking('pageChanged', this.rowCallback);
+           writer.context().moveDown(this.layout.paddingBottom(rowIndex, this.tableNode));
+           writer.context().availableHeight += this.reservedAtBottom;
+
+           var endingPage = writer.context().page;
+           var endingY = writer.context().y;
+
+           var xs = getLineXs();
+
+           var ys = [];
+
+           var hasBreaks = pageBreaks && pageBreaks.length > 0;
+
+           ys.push({
+             y0: this.rowTopY,
+             page: hasBreaks ? pageBreaks[0].prevPage : endingPage
+           });
+
+           if (hasBreaks) {
+             for(i = 0, l = pageBreaks.length; i < l; i++) {
+               var pageBreak = pageBreaks[i];
+               ys[ys.length - 1].y1 = pageBreak.prevY;
+
+               ys.push({y0: pageBreak.y, page: pageBreak.prevPage + 1});
+             }
+           }
+
+           ys[ys.length - 1].y1 = endingY;
+
+           var skipOrphanePadding = (ys[0].y1 - ys[0].y0 === this.rowPaddingTop);
+           for(var yi = (skipOrphanePadding ? 1 : 0), yl = ys.length; yi < yl; yi++) {
+             var willBreak = yi < ys.length - 1;
+             var rowBreakWithoutHeader = (yi > 0 && !this.headerRows);
+             var hzLineOffset =  rowBreakWithoutHeader ? 0 : this.topLineWidth;
+             var y1 = ys[yi].y0;
+             var y2 = ys[yi].y1;
+
+                               if(willBreak) {
+                                       y2 = y2 + this.rowPaddingBottom;
+                               }
+
+             if (writer.context().page != ys[yi].page) {
+               writer.context().page = ys[yi].page;
+
+               //TODO: buggy, availableHeight should be updated on every pageChanged event
+               // TableProcessor should be pageChanged listener, instead of processRow
+               this.reservedAtBottom = 0;
+             }
+
+             for(i = 0, l = xs.length; i < l; i++) {
+               this.drawVerticalLine(xs[i].x, y1 - hzLineOffset, y2 + this.bottomLineWidth, xs[i].index, writer);
+               if(i < l-1) {
+                 var colIndex = xs[i].index;
+                 var fillColor=  this.tableNode.table.body[rowIndex][colIndex].fillColor;
+                 if(fillColor ) {
+                   var wBorder = this.layout.vLineWidth(colIndex, this.tableNode);
+                   var xf = xs[i].x+wBorder;
+                   var yf = y1 - hzLineOffset;
+                   writer.addVector({
+                     type: 'rect',
+                     x: xf,
+                     y: yf,
+                     w: xs[i+1].x-xf,
+                     h: y2+this.bottomLineWidth-yf,
+                     lineWidth: 0,
+                     color: fillColor
+                   }, false, true, 0);
+                 }
+               }
+             }
+
+             if (willBreak && this.layout.hLineWhenBroken !== false) {
+               this.drawHorizontalLine(rowIndex + 1, writer, y2);
+             }
+             if(rowBreakWithoutHeader && this.layout.hLineWhenBroken !== false) {
+               this.drawHorizontalLine(rowIndex, writer, y1);
+             }
+           }
+
+           writer.context().page = endingPage;
+           writer.context().y = endingY;
+
+           var row = this.tableNode.table.body[rowIndex];
+           for(i = 0, l = row.length; i < l; i++) {
+             if (row[i].rowSpan) {
+               this.rowSpanData[i].rowSpan = row[i].rowSpan;
+
+               // fix colSpans
+               if (row[i].colSpan && row[i].colSpan > 1) {
+                 for(var j = 1; j < row[i].rowSpan; j++) {
+                   this.tableNode.table.body[rowIndex + j][i]._colSpan = row[i].colSpan;
+                 }
+               }
+             }
+
+             if(this.rowSpanData[i].rowSpan > 0) {
+               this.rowSpanData[i].rowSpan--;
+             }
+           }
+
+           this.drawHorizontalLine(rowIndex + 1, writer);
+
+           if(this.headerRows && rowIndex === this.headerRows - 1) {
+             this.headerRepeatable = writer.currentBlockToRepeatable();
+           }
+
+           if(this.dontBreakRows) {
+             writer.tracker.auto('pageChanged',
+               function() {
+                 self.drawHorizontalLine(rowIndex, writer);
+               },
+               function() {
+                 writer.commitUnbreakableBlock();
+                 self.drawHorizontalLine(rowIndex, writer);
+               }
+             );
+           }
+
+           if(this.headerRepeatable && (rowIndex === (this.rowsWithoutPageBreak - 1) || rowIndex === this.tableNode.table.body.length - 1)) {
+             writer.commitUnbreakableBlock();
+             writer.pushToRepeatables(this.headerRepeatable);
+             this.cleanUpRepeatables = true;
+             this.headerRepeatable = null;
+           }
+
+           function getLineXs() {
+             var result = [];
+             var cols = 0;
+
+             for(var i = 0, l = self.tableNode.table.body[rowIndex].length; i < l; i++) {
+               if (!cols) {
+                 result.push({ x: self.rowSpanData[i].left, index: i});
+
+                 var item = self.tableNode.table.body[rowIndex][i];
+                 cols = (item._colSpan || item.colSpan || 0);
+               }
+               if (cols > 0) {
+                 cols--;
+               }
+             }
+
+             result.push({ x: self.rowSpanData[self.rowSpanData.length - 1].left, index: self.rowSpanData.length - 1});
+
+             return result;
+           }
+       };
+
+       module.exports = TableProcessor;
+
+
+/***/ },
+/* 24 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* WEBPACK VAR INJECTION */(function(Buffer) {// Generated by CoffeeScript 1.7.1
+
+       /*
+       PDFDocument - represents an entire PDF document
+       By Devon Govett
+        */
+
+       (function() {
+         var PDFDocument, PDFObject, PDFPage, PDFReference, fs, stream,
+           __hasProp = {}.hasOwnProperty,
+           __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
+
+         stream = __webpack_require__(25);
+
+         fs = __webpack_require__(44);
+
+         PDFObject = __webpack_require__(45);
+
+         PDFReference = __webpack_require__(46);
+
+         PDFPage = __webpack_require__(64);
+
+         PDFDocument = (function(_super) {
+           var mixin;
+
+           __extends(PDFDocument, _super);
+
+           function PDFDocument(options) {
+             var key, val, _ref, _ref1;
+             this.options = options != null ? options : {};
+             PDFDocument.__super__.constructor.apply(this, arguments);
+             this.version = 1.3;
+             this.compress = (_ref = this.options.compress) != null ? _ref : true;
+             this._pageBuffer = [];
+             this._pageBufferStart = 0;
+             this._offsets = [];
+             this._waiting = 0;
+             this._ended = false;
+             this._offset = 0;
+             this._root = this.ref({
+               Type: 'Catalog',
+               Pages: this.ref({
+                 Type: 'Pages',
+                 Count: 0,
+                 Kids: []
+               })
+             });
+             this.page = null;
+             this.initColor();
+             this.initVector();
+             this.initFonts();
+             this.initText();
+             this.initImages();
+             this.info = {
+               Producer: 'PDFKit',
+               Creator: 'PDFKit',
+               CreationDate: new Date()
+             };
+             if (this.options.info) {
+               _ref1 = this.options.info;
+               for (key in _ref1) {
+                 val = _ref1[key];
+                 this.info[key] = val;
+               }
+             }
+             this._write("%PDF-" + this.version);
+             this._write("%\xFF\xFF\xFF\xFF");
+             this.addPage();
+           }
+
+           mixin = function(methods) {
+             var method, name, _results;
+             _results = [];
+             for (name in methods) {
+               method = methods[name];
+               _results.push(PDFDocument.prototype[name] = method);
+             }
+             return _results;
+           };
+
+           mixin(__webpack_require__(65));
+
+           mixin(__webpack_require__(67));
+
+           mixin(__webpack_require__(69));
+
+           mixin(__webpack_require__(89));
+
+           mixin(__webpack_require__(96));
+
+           mixin(__webpack_require__(101));
+
+           PDFDocument.prototype.addPage = function(options) {
+             var pages;
+             if (options == null) {
+               options = this.options;
+             }
+             if (!this.options.bufferPages) {
+               this.flushPages();
+             }
+             this.page = new PDFPage(this, options);
+             this._pageBuffer.push(this.page);
+             pages = this._root.data.Pages.data;
+             pages.Kids.push(this.page.dictionary);
+             pages.Count++;
+             this.x = this.page.margins.left;
+             this.y = this.page.margins.top;
+             this._ctm = [1, 0, 0, 1, 0, 0];
+             this.transform(1, 0, 0, -1, 0, this.page.height);
+             return this;
+           };
+
+           PDFDocument.prototype.bufferedPageRange = function() {
+             return {
+               start: this._pageBufferStart,
+               count: this._pageBuffer.length
+             };
+           };
+
+           PDFDocument.prototype.switchToPage = function(n) {
+             var page;
+             if (!(page = this._pageBuffer[n - this._pageBufferStart])) {
+               throw new Error("switchToPage(" + n + ") out of bounds, current buffer covers pages " + this._pageBufferStart + " to " + (this._pageBufferStart + this._pageBuffer.length - 1));
+             }
+             return this.page = page;
+           };
+
+           PDFDocument.prototype.flushPages = function() {
+             var page, pages, _i, _len;
+             pages = this._pageBuffer;
+             this._pageBuffer = [];
+             this._pageBufferStart += pages.length;
+             for (_i = 0, _len = pages.length; _i < _len; _i++) {
+               page = pages[_i];
+               page.end();
+             }
+           };
+
+           PDFDocument.prototype.ref = function(data) {
+             var ref;
+             ref = new PDFReference(this, this._offsets.length + 1, data);
+             this._offsets.push(null);
+             this._waiting++;
+             return ref;
+           };
+
+           PDFDocument.prototype._read = function() {};
+
+           PDFDocument.prototype._write = function(data) {
+             if (!Buffer.isBuffer(data)) {
+               data = new Buffer(data + '\n', 'binary');
+             }
+             this.push(data);
+             return this._offset += data.length;
+           };
+
+           PDFDocument.prototype.addContent = function(data) {
+             this.page.write(data);
+             return this;
+           };
+
+           PDFDocument.prototype._refEnd = function(ref) {
+             this._offsets[ref.id - 1] = ref.offset;
+             if (--this._waiting === 0 && this._ended) {
+               this._finalize();
+               return this._ended = false;
+             }
+           };
+
+           PDFDocument.prototype.write = function(filename, fn) {
+             var err;
+             err = new Error('PDFDocument#write is deprecated, and will be removed in a future version of PDFKit. Please pipe the document into a Node stream.');
+             console.warn(err.stack);
+             this.pipe(fs.createWriteStream(filename));
+             this.end();
+             return this.once('end', fn);
+           };
+
+           PDFDocument.prototype.output = function(fn) {
+             throw new Error('PDFDocument#output is deprecated, and has been removed from PDFKit. Please pipe the document into a Node stream.');
+           };
+
+           PDFDocument.prototype.end = function() {
+             var font, key, name, val, _ref, _ref1;
+             this.flushPages();
+             this._info = this.ref();
+             _ref = this.info;
+             for (key in _ref) {
+               val = _ref[key];
+               if (typeof val === 'string') {
+                 val = new String(val);
+               }
+               this._info.data[key] = val;
+             }
+             this._info.end();
+             _ref1 = this._fontFamilies;
+             for (name in _ref1) {
+               font = _ref1[name];
+               font.embed();
+             }
+             this._root.end();
+             this._root.data.Pages.end();
+             if (this._waiting === 0) {
+               return this._finalize();
+             } else {
+               return this._ended = true;
+             }
+           };
+
+           PDFDocument.prototype._finalize = function(fn) {
+             var offset, xRefOffset, _i, _len, _ref;
+             xRefOffset = this._offset;
+             this._write("xref");
+             this._write("0 " + (this._offsets.length + 1));
+             this._write("0000000000 65535 f ");
+             _ref = this._offsets;
+             for (_i = 0, _len = _ref.length; _i < _len; _i++) {
+               offset = _ref[_i];
+               offset = ('0000000000' + offset).slice(-10);
+               this._write(offset + ' 00000 n ');
+             }
+             this._write('trailer');
+             this._write(PDFObject.convert({
+               Size: this._offsets.length + 1,
+               Root: this._root,
+               Info: this._info
+             }));
+             this._write('startxref');
+             this._write("" + xRefOffset);
+             this._write('%%EOF');
+             return this.push(null);
+           };
+
+           PDFDocument.prototype.toString = function() {
+             return "[object PDFDocument]";
+           };
+
+           return PDFDocument;
+
+         })(stream.Readable);
+
+         module.exports = PDFDocument;
+
+       }).call(this);
+
+       /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2).Buffer))
+
+/***/ },
+/* 25 */
+/***/ function(module, exports, __webpack_require__) {
+
+       // Copyright Joyent, Inc. and other Node contributors.
+       //
+       // Permission is hereby granted, free of charge, to any person obtaining a
+       // copy of this software and associated documentation files (the
+       // "Software"), to deal in the Software without restriction, including
+       // without limitation the rights to use, copy, modify, merge, publish,
+       // distribute, sublicense, and/or sell copies of the Software, and to permit
+       // persons to whom the Software is furnished to do so, subject to the
+       // following conditions:
+       //
+       // The above copyright notice and this permission notice shall be included
+       // in all copies or substantial portions of the Software.
+       //
+       // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+       // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+       // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+       // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+       // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+       // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+       // USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+       module.exports = Stream;
+
+       var EE = __webpack_require__(26).EventEmitter;
+       var inherits = __webpack_require__(27);
+
+       inherits(Stream, EE);
+       Stream.Readable = __webpack_require__(28);
+       Stream.Writable = __webpack_require__(40);
+       Stream.Duplex = __webpack_require__(41);
+       Stream.Transform = __webpack_require__(42);
+       Stream.PassThrough = __webpack_require__(43);
+
+       // Backwards-compat with node 0.4.x
+       Stream.Stream = Stream;
+
+
+
+       // old-style streams.  Note that the pipe method (the only relevant
+       // part of this class) is overridden in the Readable class.
+
+       function Stream() {
+         EE.call(this);
+       }
+
+       Stream.prototype.pipe = function(dest, options) {
+         var source = this;
+
+         function ondata(chunk) {
+           if (dest.writable) {
+             if (false === dest.write(chunk) && source.pause) {
+               source.pause();
+             }
+           }
+         }
+
+         source.on('data', ondata);
+
+         function ondrain() {
+           if (source.readable && source.resume) {
+             source.resume();
+           }
+         }
+
+         dest.on('drain', ondrain);
+
+         // If the 'end' option is not supplied, dest.end() will be called when
+         // source gets the 'end' or 'close' events.  Only dest.end() once.
+         if (!dest._isStdio && (!options || options.end !== false)) {
+           source.on('end', onend);
+           source.on('close', onclose);
+         }
+
+         var didOnEnd = false;
+         function onend() {
+           if (didOnEnd) return;
+           didOnEnd = true;
+
+           dest.end();
+         }
+
+
+         function onclose() {
+           if (didOnEnd) return;
+           didOnEnd = true;
+
+           if (typeof dest.destroy === 'function') dest.destroy();
+         }
+
+         // don't leave dangling pipes when there are errors.
+         function onerror(er) {
+           cleanup();
+           if (EE.listenerCount(this, 'error') === 0) {
+             throw er; // Unhandled stream error in pipe.
+           }
+         }
+
+         source.on('error', onerror);
+         dest.on('error', onerror);
+
+         // remove all the event listeners that were added.
+         function cleanup() {
+           source.removeListener('data', ondata);
+           dest.removeListener('drain', ondrain);
+
+           source.removeListener('end', onend);
+           source.removeListener('close', onclose);
+
+           source.removeListener('error', onerror);
+           dest.removeListener('error', onerror);
+
+           source.removeListener('end', cleanup);
+           source.removeListener('close', cleanup);
+
+           dest.removeListener('close', cleanup);
+         }
+
+         source.on('end', cleanup);
+         source.on('close', cleanup);
+
+         dest.on('close', cleanup);
+
+         dest.emit('pipe', source);
+
+         // Allow for unix-like usage: A.pipe(B).pipe(C)
+         return dest;
+       };
+
+
+/***/ },
+/* 26 */
+/***/ function(module, exports) {
+
+       // Copyright Joyent, Inc. and other Node contributors.
+       //
+       // Permission is hereby granted, free of charge, to any person obtaining a
+       // copy of this software and associated documentation files (the
+       // "Software"), to deal in the Software without restriction, including
+       // without limitation the rights to use, copy, modify, merge, publish,
+       // distribute, sublicense, and/or sell copies of the Software, and to permit
+       // persons to whom the Software is furnished to do so, subject to the
+       // following conditions:
+       //
+       // The above copyright notice and this permission notice shall be included
+       // in all copies or substantial portions of the Software.
+       //
+       // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+       // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+       // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+       // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+       // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+       // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+       // USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+       function EventEmitter() {
+         this._events = this._events || {};
+         this._maxListeners = this._maxListeners || undefined;
+       }
+       module.exports = EventEmitter;
+
+       // Backwards-compat with node 0.10.x
+       EventEmitter.EventEmitter = EventEmitter;
+
+       EventEmitter.prototype._events = undefined;
+       EventEmitter.prototype._maxListeners = undefined;
+
+       // By default EventEmitters will print a warning if more than 10 listeners are
+       // added to it. This is a useful default which helps finding memory leaks.
+       EventEmitter.defaultMaxListeners = 10;
+
+       // Obviously not all Emitters should be limited to 10. This function allows
+       // that to be increased. Set to zero for unlimited.
+       EventEmitter.prototype.setMaxListeners = function(n) {
+         if (!isNumber(n) || n < 0 || isNaN(n))
+           throw TypeError('n must be a positive number');
+         this._maxListeners = n;
+         return this;
+       };
+
+       EventEmitter.prototype.emit = function(type) {
+         var er, handler, len, args, i, listeners;
+
+         if (!this._events)
+           this._events = {};
+
+         // If there is no 'error' event listener then throw.
+         if (type === 'error') {
+           if (!this._events.error ||
+               (isObject(this._events.error) && !this._events.error.length)) {
+             er = arguments[1];
+             if (er instanceof Error) {
+               throw er; // Unhandled 'error' event
+             }
+             throw TypeError('Uncaught, unspecified "error" event.');
+           }
+         }
+
+         handler = this._events[type];
+
+         if (isUndefined(handler))
+           return false;
+
+         if (isFunction(handler)) {
+           switch (arguments.length) {
+             // fast cases
+             case 1:
+               handler.call(this);
+               break;
+             case 2:
+               handler.call(this, arguments[1]);
+               break;
+             case 3:
+               handler.call(this, arguments[1], arguments[2]);
+               break;
+             // slower
+             default:
+               args = Array.prototype.slice.call(arguments, 1);
+               handler.apply(this, args);
+           }
+         } else if (isObject(handler)) {
+           args = Array.prototype.slice.call(arguments, 1);
+           listeners = handler.slice();
+           len = listeners.length;
+           for (i = 0; i < len; i++)
+             listeners[i].apply(this, args);
+         }
+
+         return true;
+       };
+
+       EventEmitter.prototype.addListener = function(type, listener) {
+         var m;
+
+         if (!isFunction(listener))
+           throw TypeError('listener must be a function');
+
+         if (!this._events)
+           this._events = {};
+
+         // To avoid recursion in the case that type === "newListener"! Before
+         // adding it to the listeners, first emit "newListener".
+         if (this._events.newListener)
+           this.emit('newListener', type,
+                     isFunction(listener.listener) ?
+                     listener.listener : listener);
+
+         if (!this._events[type])
+           // Optimize the case of one listener. Don't need the extra array object.
+           this._events[type] = listener;
+         else if (isObject(this._events[type]))
+           // If we've already got an array, just append.
+           this._events[type].push(listener);
+         else
+           // Adding the second element, need to change to array.
+           this._events[type] = [this._events[type], listener];
+
+         // Check for listener leak
+         if (isObject(this._events[type]) && !this._events[type].warned) {
+           if (!isUndefined(this._maxListeners)) {
+             m = this._maxListeners;
+           } else {
+             m = EventEmitter.defaultMaxListeners;
+           }
+
+           if (m && m > 0 && this._events[type].length > m) {
+             this._events[type].warned = true;
+             console.error('(node) warning: possible EventEmitter memory ' +
+                           'leak detected. %d listeners added. ' +
+                           'Use emitter.setMaxListeners() to increase limit.',
+                           this._events[type].length);
+             if (typeof console.trace === 'function') {
+               // not supported in IE 10
+               console.trace();
+             }
+           }
+         }
+
+         return this;
+       };
+
+       EventEmitter.prototype.on = EventEmitter.prototype.addListener;
+
+       EventEmitter.prototype.once = function(type, listener) {
+         if (!isFunction(listener))
+           throw TypeError('listener must be a function');
+
+         var fired = false;
+
+         function g() {
+           this.removeListener(type, g);
+
+           if (!fired) {
+             fired = true;
+             listener.apply(this, arguments);
+           }
+         }
+
+         g.listener = listener;
+         this.on(type, g);
+
+         return this;
+       };
+
+       // emits a 'removeListener' event iff the listener was removed
+       EventEmitter.prototype.removeListener = function(type, listener) {
+         var list, position, length, i;
+
+         if (!isFunction(listener))
+           throw TypeError('listener must be a function');
+
+         if (!this._events || !this._events[type])
+           return this;
+
+         list = this._events[type];
+         length = list.length;
+         position = -1;
+
+         if (list === listener ||
+             (isFunction(list.listener) && list.listener === listener)) {
+           delete this._events[type];
+           if (this._events.removeListener)
+             this.emit('removeListener', type, listener);
+
+         } else if (isObject(list)) {
+           for (i = length; i-- > 0;) {
+             if (list[i] === listener ||
+                 (list[i].listener && list[i].listener === listener)) {
+               position = i;
+               break;
+             }
+           }
+
+           if (position < 0)
+             return this;
+
+           if (list.length === 1) {
+             list.length = 0;
+             delete this._events[type];
+           } else {
+             list.splice(position, 1);
+           }
+
+           if (this._events.removeListener)
+             this.emit('removeListener', type, listener);
+         }
+
+         return this;
+       };
+
+       EventEmitter.prototype.removeAllListeners = function(type) {
+         var key, listeners;
+
+         if (!this._events)
+           return this;
+
+         // not listening for removeListener, no need to emit
+         if (!this._events.removeListener) {
+           if (arguments.length === 0)
+             this._events = {};
+           else if (this._events[type])
+             delete this._events[type];
+           return this;
+         }
+
+         // emit removeListener for all listeners on all events
+         if (arguments.length === 0) {
+           for (key in this._events) {
+             if (key === 'removeListener') continue;
+             this.removeAllListeners(key);
+           }
+           this.removeAllListeners('removeListener');
+           this._events = {};
+           return this;
+         }
+
+         listeners = this._events[type];
+
+         if (isFunction(listeners)) {
+           this.removeListener(type, listeners);
+         } else if (listeners) {
+           // LIFO order
+           while (listeners.length)
+             this.removeListener(type, listeners[listeners.length - 1]);
+         }
+         delete this._events[type];
+
+         return this;
+       };
+
+       EventEmitter.prototype.listeners = function(type) {
+         var ret;
+         if (!this._events || !this._events[type])
+           ret = [];
+         else if (isFunction(this._events[type]))
+           ret = [this._events[type]];
+         else
+           ret = this._events[type].slice();
+         return ret;
+       };
+
+       EventEmitter.prototype.listenerCount = function(type) {
+         if (this._events) {
+           var evlistener = this._events[type];
+
+           if (isFunction(evlistener))
+             return 1;
+           else if (evlistener)
+             return evlistener.length;
+         }
+         return 0;
+       };
+
+       EventEmitter.listenerCount = function(emitter, type) {
+         return emitter.listenerCount(type);
+       };
+
+       function isFunction(arg) {
+         return typeof arg === 'function';
+       }
+
+       function isNumber(arg) {
+         return typeof arg === 'number';
+       }
+
+       function isObject(arg) {
+         return typeof arg === 'object' && arg !== null;
+       }
+
+       function isUndefined(arg) {
+         return arg === void 0;
+       }
+
+
+/***/ },
+/* 27 */
+/***/ function(module, exports) {
+
+       if (typeof Object.create === 'function') {
+         // implementation from standard node.js 'util' module
+         module.exports = function inherits(ctor, superCtor) {
+           ctor.super_ = superCtor
+           ctor.prototype = Object.create(superCtor.prototype, {
+             constructor: {
+               value: ctor,
+               enumerable: false,
+               writable: true,
+               configurable: true
+             }
+           });
+         };
+       } else {
+         // old school shim for old browsers
+         module.exports = function inherits(ctor, superCtor) {
+           ctor.super_ = superCtor
+           var TempCtor = function () {}
+           TempCtor.prototype = superCtor.prototype
+           ctor.prototype = new TempCtor()
+           ctor.prototype.constructor = ctor
+         }
+       }
+
+
+/***/ },
+/* 28 */
+/***/ function(module, exports, __webpack_require__) {
+
+       exports = module.exports = __webpack_require__(29);
+       exports.Stream = __webpack_require__(25);
+       exports.Readable = exports;
+       exports.Writable = __webpack_require__(36);
+       exports.Duplex = __webpack_require__(35);
+       exports.Transform = __webpack_require__(38);
+       exports.PassThrough = __webpack_require__(39);
+
+
+/***/ },
+/* 29 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* WEBPACK VAR INJECTION */(function(process) {// Copyright Joyent, Inc. and other Node contributors.
+       //
+       // Permission is hereby granted, free of charge, to any person obtaining a
+       // copy of this software and associated documentation files (the
+       // "Software"), to deal in the Software without restriction, including
+       // without limitation the rights to use, copy, modify, merge, publish,
+       // distribute, sublicense, and/or sell copies of the Software, and to permit
+       // persons to whom the Software is furnished to do so, subject to the
+       // following conditions:
+       //
+       // The above copyright notice and this permission notice shall be included
+       // in all copies or substantial portions of the Software.
+       //
+       // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+       // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+       // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+       // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+       // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+       // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+       // USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+       module.exports = Readable;
+
+       /*<replacement>*/
+       var isArray = __webpack_require__(31);
+       /*</replacement>*/
+
+
+       /*<replacement>*/
+       var Buffer = __webpack_require__(2).Buffer;
+       /*</replacement>*/
+
+       Readable.ReadableState = ReadableState;
+
+       var EE = __webpack_require__(26).EventEmitter;
+
+       /*<replacement>*/
+       if (!EE.listenerCount) EE.listenerCount = function(emitter, type) {
+         return emitter.listeners(type).length;
+       };
+       /*</replacement>*/
+
+       var Stream = __webpack_require__(25);
+
+       /*<replacement>*/
+       var util = __webpack_require__(32);
+       util.inherits = __webpack_require__(33);
+       /*</replacement>*/
+
+       var StringDecoder;
+
+
+       /*<replacement>*/
+       var debug = __webpack_require__(34);
+       if (debug && debug.debuglog) {
+         debug = debug.debuglog('stream');
+       } else {
+         debug = function () {};
+       }
+       /*</replacement>*/
+
+
+       util.inherits(Readable, Stream);
+
+       function ReadableState(options, stream) {
+         var Duplex = __webpack_require__(35);
+
+         options = options || {};
+
+         // the point at which it stops calling _read() to fill the buffer
+         // Note: 0 is a valid value, means "don't call _read preemptively ever"
+         var hwm = options.highWaterMark;
+         var defaultHwm = options.objectMode ? 16 : 16 * 1024;
+         this.highWaterMark = (hwm || hwm === 0) ? hwm : defaultHwm;
+
+         // cast to ints.
+         this.highWaterMark = ~~this.highWaterMark;
+
+         this.buffer = [];
+         this.length = 0;
+         this.pipes = null;
+         this.pipesCount = 0;
+         this.flowing = null;
+         this.ended = false;
+         this.endEmitted = false;
+         this.reading = false;
+
+         // a flag to be able to tell if the onwrite cb is called immediately,
+         // or on a later tick.  We set this to true at first, because any
+         // actions that shouldn't happen until "later" should generally also
+         // not happen before the first write call.
+         this.sync = true;
+
+         // whenever we return null, then we set a flag to say
+         // that we're awaiting a 'readable' event emission.
+         this.needReadable = false;
+         this.emittedReadable = false;
+         this.readableListening = false;
+
+
+         // object stream flag. Used to make read(n) ignore n and to
+         // make all the buffer merging and length checks go away
+         this.objectMode = !!options.objectMode;
+
+         if (stream instanceof Duplex)
+           this.objectMode = this.objectMode || !!options.readableObjectMode;
+
+         // Crypto is kind of old and crusty.  Historically, its default string
+         // encoding is 'binary' so we have to make this configurable.
+         // Everything else in the universe uses 'utf8', though.
+         this.defaultEncoding = options.defaultEncoding || 'utf8';
+
+         // when piping, we only care about 'readable' events that happen
+         // after read()ing all the bytes and not getting any pushback.
+         this.ranOut = false;
+
+         // the number of writers that are awaiting a drain event in .pipe()s
+         this.awaitDrain = 0;
+
+         // if true, a maybeReadMore has been scheduled
+         this.readingMore = false;
+
+         this.decoder = null;
+         this.encoding = null;
+         if (options.encoding) {
+           if (!StringDecoder)
+             StringDecoder = __webpack_require__(37).StringDecoder;
+           this.decoder = new StringDecoder(options.encoding);
+           this.encoding = options.encoding;
+         }
+       }
+
+       function Readable(options) {
+         var Duplex = __webpack_require__(35);
+
+         if (!(this instanceof Readable))
+           return new Readable(options);
+
+         this._readableState = new ReadableState(options, this);
+
+         // legacy
+         this.readable = true;
+
+         Stream.call(this);
+       }
+
+       // Manually shove something into the read() buffer.
+       // This returns true if the highWaterMark has not been hit yet,
+       // similar to how Writable.write() returns true if you should
+       // write() some more.
+       Readable.prototype.push = function(chunk, encoding) {
+         var state = this._readableState;
+
+         if (util.isString(chunk) && !state.objectMode) {
+           encoding = encoding || state.defaultEncoding;
+           if (encoding !== state.encoding) {
+             chunk = new Buffer(chunk, encoding);
+             encoding = '';
+           }
+         }
+
+         return readableAddChunk(this, state, chunk, encoding, false);
+       };
+
+       // Unshift should *always* be something directly out of read()
+       Readable.prototype.unshift = function(chunk) {
+         var state = this._readableState;
+         return readableAddChunk(this, state, chunk, '', true);
+       };
+
+       function readableAddChunk(stream, state, chunk, encoding, addToFront) {
+         var er = chunkInvalid(state, chunk);
+         if (er) {
+           stream.emit('error', er);
+         } else if (util.isNullOrUndefined(chunk)) {
+           state.reading = false;
+           if (!state.ended)
+             onEofChunk(stream, state);
+         } else if (state.objectMode || chunk && chunk.length > 0) {
+           if (state.ended && !addToFront) {
+             var e = new Error('stream.push() after EOF');
+             stream.emit('error', e);
+           } else if (state.endEmitted && addToFront) {
+             var e = new Error('stream.unshift() after end event');
+             stream.emit('error', e);
+           } else {
+             if (state.decoder && !addToFront && !encoding)
+               chunk = state.decoder.write(chunk);
+
+             if (!addToFront)
+               state.reading = false;
+
+             // if we want the data now, just emit it.
+             if (state.flowing && state.length === 0 && !state.sync) {
+               stream.emit('data', chunk);
+               stream.read(0);
+             } else {
+               // update the buffer info.
+               state.length += state.objectMode ? 1 : chunk.length;
+               if (addToFront)
+                 state.buffer.unshift(chunk);
+               else
+                 state.buffer.push(chunk);
+
+               if (state.needReadable)
+                 emitReadable(stream);
+             }
+
+             maybeReadMore(stream, state);
+           }
+         } else if (!addToFront) {
+           state.reading = false;
+         }
+
+         return needMoreData(state);
+       }
+
+
+
+       // if it's past the high water mark, we can push in some more.
+       // Also, if we have no data yet, we can stand some
+       // more bytes.  This is to work around cases where hwm=0,
+       // such as the repl.  Also, if the push() triggered a
+       // readable event, and the user called read(largeNumber) such that
+       // needReadable was set, then we ought to push more, so that another
+       // 'readable' event will be triggered.
+       function needMoreData(state) {
+         return !state.ended &&
+                (state.needReadable ||
+                 state.length < state.highWaterMark ||
+                 state.length === 0);
+       }
+
+       // backwards compatibility.
+       Readable.prototype.setEncoding = function(enc) {
+         if (!StringDecoder)
+           StringDecoder = __webpack_require__(37).StringDecoder;
+         this._readableState.decoder = new StringDecoder(enc);
+         this._readableState.encoding = enc;
+         return this;
+       };
+
+       // Don't raise the hwm > 128MB
+       var MAX_HWM = 0x800000;
+       function roundUpToNextPowerOf2(n) {
+         if (n >= MAX_HWM) {
+           n = MAX_HWM;
+         } else {
+           // Get the next highest power of 2
+           n--;
+           for (var p = 1; p < 32; p <<= 1) n |= n >> p;
+           n++;
+         }
+         return n;
+       }
+
+       function howMuchToRead(n, state) {
+         if (state.length === 0 && state.ended)
+           return 0;
+
+         if (state.objectMode)
+           return n === 0 ? 0 : 1;
+
+         if (isNaN(n) || util.isNull(n)) {
+           // only flow one buffer at a time
+           if (state.flowing && state.buffer.length)
+             return state.buffer[0].length;
+           else
+             return state.length;
+         }
+
+         if (n <= 0)
+           return 0;
+
+         // If we're asking for more than the target buffer level,
+         // then raise the water mark.  Bump up to the next highest
+         // power of 2, to prevent increasing it excessively in tiny
+         // amounts.
+         if (n > state.highWaterMark)
+           state.highWaterMark = roundUpToNextPowerOf2(n);
+
+         // don't have that much.  return null, unless we've ended.
+         if (n > state.length) {
+           if (!state.ended) {
+             state.needReadable = true;
+             return 0;
+           } else
+             return state.length;
+         }
+
+         return n;
+       }
+
+       // you can override either this method, or the async _read(n) below.
+       Readable.prototype.read = function(n) {
+         debug('read', n);
+         var state = this._readableState;
+         var nOrig = n;
+
+         if (!util.isNumber(n) || n > 0)
+           state.emittedReadable = false;
+
+         // if we're doing read(0) to trigger a readable event, but we
+         // already have a bunch of data in the buffer, then just trigger
+         // the 'readable' event and move on.
+         if (n === 0 &&
+             state.needReadable &&
+             (state.length >= state.highWaterMark || state.ended)) {
+           debug('read: emitReadable', state.length, state.ended);
+           if (state.length === 0 && state.ended)
+             endReadable(this);
+           else
+             emitReadable(this);
+           return null;
+         }
+
+         n = howMuchToRead(n, state);
+
+         // if we've ended, and we're now clear, then finish it up.
+         if (n === 0 && state.ended) {
+           if (state.length === 0)
+             endReadable(this);
+           return null;
+         }
+
+         // All the actual chunk generation logic needs to be
+         // *below* the call to _read.  The reason is that in certain
+         // synthetic stream cases, such as passthrough streams, _read
+         // may be a completely synchronous operation which may change
+         // the state of the read buffer, providing enough data when
+         // before there was *not* enough.
+         //
+         // So, the steps are:
+         // 1. Figure out what the state of things will be after we do
+         // a read from the buffer.
+         //
+         // 2. If that resulting state will trigger a _read, then call _read.
+         // Note that this may be asynchronous, or synchronous.  Yes, it is
+         // deeply ugly to write APIs this way, but that still doesn't mean
+         // that the Readable class should behave improperly, as streams are
+         // designed to be sync/async agnostic.
+         // Take note if the _read call is sync or async (ie, if the read call
+         // has returned yet), so that we know whether or not it's safe to emit
+         // 'readable' etc.
+         //
+         // 3. Actually pull the requested chunks out of the buffer and return.
+
+         // if we need a readable event, then we need to do some reading.
+         var doRead = state.needReadable;
+         debug('need readable', doRead);
+
+         // if we currently have less than the highWaterMark, then also read some
+         if (state.length === 0 || state.length - n < state.highWaterMark) {
+           doRead = true;
+           debug('length less than watermark', doRead);
+         }
+
+         // however, if we've ended, then there's no point, and if we're already
+         // reading, then it's unnecessary.
+         if (state.ended || state.reading) {
+           doRead = false;
+           debug('reading or ended', doRead);
+         }
+
+         if (doRead) {
+           debug('do read');
+           state.reading = true;
+           state.sync = true;
+           // if the length is currently zero, then we *need* a readable event.
+           if (state.length === 0)
+             state.needReadable = true;
+           // call internal read method
+           this._read(state.highWaterMark);
+           state.sync = false;
+         }
+
+         // If _read pushed data synchronously, then `reading` will be false,
+         // and we need to re-evaluate how much data we can return to the user.
+         if (doRead && !state.reading)
+           n = howMuchToRead(nOrig, state);
+
+         var ret;
+         if (n > 0)
+           ret = fromList(n, state);
+         else
+           ret = null;
+
+         if (util.isNull(ret)) {
+           state.needReadable = true;
+           n = 0;
+         }
+
+         state.length -= n;
+
+         // If we have nothing in the buffer, then we want to know
+         // as soon as we *do* get something into the buffer.
+         if (state.length === 0 && !state.ended)
+           state.needReadable = true;
+
+         // If we tried to read() past the EOF, then emit end on the next tick.
+         if (nOrig !== n && state.ended && state.length === 0)
+           endReadable(this);
+
+         if (!util.isNull(ret))
+           this.emit('data', ret);
+
+         return ret;
+       };
+
+       function chunkInvalid(state, chunk) {
+         var er = null;
+         if (!util.isBuffer(chunk) &&
+             !util.isString(chunk) &&
+             !util.isNullOrUndefined(chunk) &&
+             !state.objectMode) {
+           er = new TypeError('Invalid non-string/buffer chunk');
+         }
+         return er;
+       }
+
+
+       function onEofChunk(stream, state) {
+         if (state.decoder && !state.ended) {
+           var chunk = state.decoder.end();
+           if (chunk && chunk.length) {
+             state.buffer.push(chunk);
+             state.length += state.objectMode ? 1 : chunk.length;
+           }
+         }
+         state.ended = true;
+
+         // emit 'readable' now to make sure it gets picked up.
+         emitReadable(stream);
+       }
+
+       // Don't emit readable right away in sync mode, because this can trigger
+       // another read() call => stack overflow.  This way, it might trigger
+       // a nextTick recursion warning, but that's not so bad.
+       function emitReadable(stream) {
+         var state = stream._readableState;
+         state.needReadable = false;
+         if (!state.emittedReadable) {
+           debug('emitReadable', state.flowing);
+           state.emittedReadable = true;
+           if (state.sync)
+             process.nextTick(function() {
+               emitReadable_(stream);
+             });
+           else
+             emitReadable_(stream);
+         }
+       }
+
+       function emitReadable_(stream) {
+         debug('emit readable');
+         stream.emit('readable');
+         flow(stream);
+       }
+
+
+       // at this point, the user has presumably seen the 'readable' event,
+       // and called read() to consume some data.  that may have triggered
+       // in turn another _read(n) call, in which case reading = true if
+       // it's in progress.
+       // However, if we're not ended, or reading, and the length < hwm,
+       // then go ahead and try to read some more preemptively.
+       function maybeReadMore(stream, state) {
+         if (!state.readingMore) {
+           state.readingMore = true;
+           process.nextTick(function() {
+             maybeReadMore_(stream, state);
+           });
+         }
+       }
+
+       function maybeReadMore_(stream, state) {
+         var len = state.length;
+         while (!state.reading && !state.flowing && !state.ended &&
+                state.length < state.highWaterMark) {
+           debug('maybeReadMore read 0');
+           stream.read(0);
+           if (len === state.length)
+             // didn't get any data, stop spinning.
+             break;
+           else
+             len = state.length;
+         }
+         state.readingMore = false;
+       }
+
+       // abstract method.  to be overridden in specific implementation classes.
+       // call cb(er, data) where data is <= n in length.
+       // for virtual (non-string, non-buffer) streams, "length" is somewhat
+       // arbitrary, and perhaps not very meaningful.
+       Readable.prototype._read = function(n) {
+         this.emit('error', new Error('not implemented'));
+       };
+
+       Readable.prototype.pipe = function(dest, pipeOpts) {
+         var src = this;
+         var state = this._readableState;
+
+         switch (state.pipesCount) {
+           case 0:
+             state.pipes = dest;
+             break;
+           case 1:
+             state.pipes = [state.pipes, dest];
+             break;
+           default:
+             state.pipes.push(dest);
+             break;
+         }
+         state.pipesCount += 1;
+         debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);
+
+         var doEnd = (!pipeOpts || pipeOpts.end !== false) &&
+                     dest !== process.stdout &&
+                     dest !== process.stderr;
+
+         var endFn = doEnd ? onend : cleanup;
+         if (state.endEmitted)
+           process.nextTick(endFn);
+         else
+           src.once('end', endFn);
+
+         dest.on('unpipe', onunpipe);
+         function onunpipe(readable) {
+           debug('onunpipe');
+           if (readable === src) {
+             cleanup();
+           }
+         }
+
+         function onend() {
+           debug('onend');
+           dest.end();
+         }
+
+         // when the dest drains, it reduces the awaitDrain counter
+         // on the source.  This would be more elegant with a .once()
+         // handler in flow(), but adding and removing repeatedly is
+         // too slow.
+         var ondrain = pipeOnDrain(src);
+         dest.on('drain', ondrain);
+
+         function cleanup() {
+           debug('cleanup');
+           // cleanup event handlers once the pipe is broken
+           dest.removeListener('close', onclose);
+           dest.removeListener('finish', onfinish);
+           dest.removeListener('drain', ondrain);
+           dest.removeListener('error', onerror);
+           dest.removeListener('unpipe', onunpipe);
+           src.removeListener('end', onend);
+           src.removeListener('end', cleanup);
+           src.removeListener('data', ondata);
+
+           // if the reader is waiting for a drain event from this
+           // specific writer, then it would cause it to never start
+           // flowing again.
+           // So, if this is awaiting a drain, then we just call it now.
+           // If we don't know, then assume that we are waiting for one.
+           if (state.awaitDrain &&
+               (!dest._writableState || dest._writableState.needDrain))
+             ondrain();
+         }
+
+         src.on('data', ondata);
+         function ondata(chunk) {
+           debug('ondata');
+           var ret = dest.write(chunk);
+           if (false === ret) {
+             debug('false write response, pause',
+                   src._readableState.awaitDrain);
+             src._readableState.awaitDrain++;
+             src.pause();
+           }
+         }
+
+         // if the dest has an error, then stop piping into it.
+         // however, don't suppress the throwing behavior for this.
+         function onerror(er) {
+           debug('onerror', er);
+           unpipe();
+           dest.removeListener('error', onerror);
+           if (EE.listenerCount(dest, 'error') === 0)
+             dest.emit('error', er);
+         }
+         // This is a brutally ugly hack to make sure that our error handler
+         // is attached before any userland ones.  NEVER DO THIS.
+         if (!dest._events || !dest._events.error)
+           dest.on('error', onerror);
+         else if (isArray(dest._events.error))
+           dest._events.error.unshift(onerror);
+         else
+           dest._events.error = [onerror, dest._events.error];
+
+
+
+         // Both close and finish should trigger unpipe, but only once.
+         function onclose() {
+           dest.removeListener('finish', onfinish);
+           unpipe();
+         }
+         dest.once('close', onclose);
+         function onfinish() {
+           debug('onfinish');
+           dest.removeListener('close', onclose);
+           unpipe();
+         }
+         dest.once('finish', onfinish);
+
+         function unpipe() {
+           debug('unpipe');
+           src.unpipe(dest);
+         }
+
+         // tell the dest that it's being piped to
+         dest.emit('pipe', src);
+
+         // start the flow if it hasn't been started already.
+         if (!state.flowing) {
+           debug('pipe resume');
+           src.resume();
+         }
+
+         return dest;
+       };
+
+       function pipeOnDrain(src) {
+         return function() {
+           var state = src._readableState;
+           debug('pipeOnDrain', state.awaitDrain);
+           if (state.awaitDrain)
+             state.awaitDrain--;
+           if (state.awaitDrain === 0 && EE.listenerCount(src, 'data')) {
+             state.flowing = true;
+             flow(src);
+           }
+         };
+       }
+
+
+       Readable.prototype.unpipe = function(dest) {
+         var state = this._readableState;
+
+         // if we're not piping anywhere, then do nothing.
+         if (state.pipesCount === 0)
+           return this;
+
+         // just one destination.  most common case.
+         if (state.pipesCount === 1) {
+           // passed in one, but it's not the right one.
+           if (dest && dest !== state.pipes)
+             return this;
+
+           if (!dest)
+             dest = state.pipes;
+
+           // got a match.
+           state.pipes = null;
+           state.pipesCount = 0;
+           state.flowing = false;
+           if (dest)
+             dest.emit('unpipe', this);
+           return this;
+         }
+
+         // slow case. multiple pipe destinations.
+
+         if (!dest) {
+           // remove all.
+           var dests = state.pipes;
+           var len = state.pipesCount;
+           state.pipes = null;
+           state.pipesCount = 0;
+           state.flowing = false;
+
+           for (var i = 0; i < len; i++)
+             dests[i].emit('unpipe', this);
+           return this;
+         }
+
+         // try to find the right one.
+         var i = indexOf(state.pipes, dest);
+         if (i === -1)
+           return this;
+
+         state.pipes.splice(i, 1);
+         state.pipesCount -= 1;
+         if (state.pipesCount === 1)
+           state.pipes = state.pipes[0];
+
+         dest.emit('unpipe', this);
+
+         return this;
+       };
+
+       // set up data events if they are asked for
+       // Ensure readable listeners eventually get something
+       Readable.prototype.on = function(ev, fn) {
+         var res = Stream.prototype.on.call(this, ev, fn);
+
+         // If listening to data, and it has not explicitly been paused,
+         // then call resume to start the flow of data on the next tick.
+         if (ev === 'data' && false !== this._readableState.flowing) {
+           this.resume();
+         }
+
+         if (ev === 'readable' && this.readable) {
+           var state = this._readableState;
+           if (!state.readableListening) {
+             state.readableListening = true;
+             state.emittedReadable = false;
+             state.needReadable = true;
+             if (!state.reading) {
+               var self = this;
+               process.nextTick(function() {
+                 debug('readable nexttick read 0');
+                 self.read(0);
+               });
+             } else if (state.length) {
+               emitReadable(this, state);
+             }
+           }
+         }
+
+         return res;
+       };
+       Readable.prototype.addListener = Readable.prototype.on;
+
+       // pause() and resume() are remnants of the legacy readable stream API
+       // If the user uses them, then switch into old mode.
+       Readable.prototype.resume = function() {
+         var state = this._readableState;
+         if (!state.flowing) {
+           debug('resume');
+           state.flowing = true;
+           if (!state.reading) {
+             debug('resume read 0');
+             this.read(0);
+           }
+           resume(this, state);
+         }
+         return this;
+       };
+
+       function resume(stream, state) {
+         if (!state.resumeScheduled) {
+           state.resumeScheduled = true;
+           process.nextTick(function() {
+             resume_(stream, state);
+           });
+         }
+       }
+
+       function resume_(stream, state) {
+         state.resumeScheduled = false;
+         stream.emit('resume');
+         flow(stream);
+         if (state.flowing && !state.reading)
+           stream.read(0);
+       }
+
+       Readable.prototype.pause = function() {
+         debug('call pause flowing=%j', this._readableState.flowing);
+         if (false !== this._readableState.flowing) {
+           debug('pause');
+           this._readableState.flowing = false;
+           this.emit('pause');
+         }
+         return this;
+       };
+
+       function flow(stream) {
+         var state = stream._readableState;
+         debug('flow', state.flowing);
+         if (state.flowing) {
+           do {
+             var chunk = stream.read();
+           } while (null !== chunk && state.flowing);
+         }
+       }
+
+       // wrap an old-style stream as the async data source.
+       // This is *not* part of the readable stream interface.
+       // It is an ugly unfortunate mess of history.
+       Readable.prototype.wrap = function(stream) {
+         var state = this._readableState;
+         var paused = false;
+
+         var self = this;
+         stream.on('end', function() {
+           debug('wrapped end');
+           if (state.decoder && !state.ended) {
+             var chunk = state.decoder.end();
+             if (chunk && chunk.length)
+               self.push(chunk);
+           }
+
+           self.push(null);
+         });
+
+         stream.on('data', function(chunk) {
+           debug('wrapped data');
+           if (state.decoder)
+             chunk = state.decoder.write(chunk);
+           if (!chunk || !state.objectMode && !chunk.length)
+             return;
+
+           var ret = self.push(chunk);
+           if (!ret) {
+             paused = true;
+             stream.pause();
+           }
+         });
+
+         // proxy all the other methods.
+         // important when wrapping filters and duplexes.
+         for (var i in stream) {
+           if (util.isFunction(stream[i]) && util.isUndefined(this[i])) {
+             this[i] = function(method) { return function() {
+               return stream[method].apply(stream, arguments);
+             }}(i);
+           }
+         }
+
+         // proxy certain important events.
+         var events = ['error', 'close', 'destroy', 'pause', 'resume'];
+         forEach(events, function(ev) {
+           stream.on(ev, self.emit.bind(self, ev));
+         });
+
+         // when we try to consume some more bytes, simply unpause the
+         // underlying stream.
+         self._read = function(n) {
+           debug('wrapped _read', n);
+           if (paused) {
+             paused = false;
+             stream.resume();
+           }
+         };
+
+         return self;
+       };
+
+
+
+       // exposed for testing purposes only.
+       Readable._fromList = fromList;
+
+       // Pluck off n bytes from an array of buffers.
+       // Length is the combined lengths of all the buffers in the list.
+       function fromList(n, state) {
+         var list = state.buffer;
+         var length = state.length;
+         var stringMode = !!state.decoder;
+         var objectMode = !!state.objectMode;
+         var ret;
+
+         // nothing in the list, definitely empty.
+         if (list.length === 0)
+           return null;
+
+         if (length === 0)
+           ret = null;
+         else if (objectMode)
+           ret = list.shift();
+         else if (!n || n >= length) {
+           // read it all, truncate the array.
+           if (stringMode)
+             ret = list.join('');
+           else
+             ret = Buffer.concat(list, length);
+           list.length = 0;
+         } else {
+           // read just some of it.
+           if (n < list[0].length) {
+             // just take a part of the first list item.
+             // slice is the same for buffers and strings.
+             var buf = list[0];
+             ret = buf.slice(0, n);
+             list[0] = buf.slice(n);
+           } else if (n === list[0].length) {
+             // first list is a perfect match
+             ret = list.shift();
+           } else {
+             // complex case.
+             // we have enough to cover it, but it spans past the first buffer.
+             if (stringMode)
+               ret = '';
+             else
+               ret = new Buffer(n);
+
+             var c = 0;
+             for (var i = 0, l = list.length; i < l && c < n; i++) {
+               var buf = list[0];
+               var cpy = Math.min(n - c, buf.length);
+
+               if (stringMode)
+                 ret += buf.slice(0, cpy);
+               else
+                 buf.copy(ret, c, 0, cpy);
+
+               if (cpy < buf.length)
+                 list[0] = buf.slice(cpy);
+               else
+                 list.shift();
+
+               c += cpy;
+             }
+           }
+         }
+
+         return ret;
+       }
+
+       function endReadable(stream) {
+         var state = stream._readableState;
+
+         // If we get here before consuming all the bytes, then that is a
+         // bug in node.  Should never happen.
+         if (state.length > 0)
+           throw new Error('endReadable called on non-empty stream');
+
+         if (!state.endEmitted) {
+           state.ended = true;
+           process.nextTick(function() {
+             // Check that we didn't get one last unshift.
+             if (!state.endEmitted && state.length === 0) {
+               state.endEmitted = true;
+               stream.readable = false;
+               stream.emit('end');
+             }
+           });
+         }
+       }
+
+       function forEach (xs, f) {
+         for (var i = 0, l = xs.length; i < l; i++) {
+           f(xs[i], i);
+         }
+       }
+
+       function indexOf (xs, x) {
+         for (var i = 0, l = xs.length; i < l; i++) {
+           if (xs[i] === x) return i;
+         }
+         return -1;
+       }
+
+       /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(30)))
+
+/***/ },
+/* 30 */
+/***/ function(module, exports) {
+
+       // shim for using process in browser
+
+       var process = module.exports = {};
+       var queue = [];
+       var draining = false;
+       var currentQueue;
+       var queueIndex = -1;
+
+       function cleanUpNextTick() {
+           draining = false;
+           if (currentQueue.length) {
+               queue = currentQueue.concat(queue);
+           } else {
+               queueIndex = -1;
+           }
+           if (queue.length) {
+               drainQueue();
+           }
+       }
+
+       function drainQueue() {
+           if (draining) {
+               return;
+           }
+           var timeout = setTimeout(cleanUpNextTick);
+           draining = true;
+
+           var len = queue.length;
+           while(len) {
+               currentQueue = queue;
+               queue = [];
+               while (++queueIndex < len) {
+                   if (currentQueue) {
+                       currentQueue[queueIndex].run();
+                   }
+               }
+               queueIndex = -1;
+               len = queue.length;
+           }
+           currentQueue = null;
+           draining = false;
+           clearTimeout(timeout);
+       }
+
+       process.nextTick = function (fun) {
+           var args = new Array(arguments.length - 1);
+           if (arguments.length > 1) {
+               for (var i = 1; i < arguments.length; i++) {
+                   args[i - 1] = arguments[i];
+               }
+           }
+           queue.push(new Item(fun, args));
+           if (queue.length === 1 && !draining) {
+               setTimeout(drainQueue, 0);
+           }
+       };
+
+       // v8 likes predictible objects
+       function Item(fun, array) {
+           this.fun = fun;
+           this.array = array;
+       }
+       Item.prototype.run = function () {
+           this.fun.apply(null, this.array);
+       };
+       process.title = 'browser';
+       process.browser = true;
+       process.env = {};
+       process.argv = [];
+       process.version = ''; // empty string to avoid regexp issues
+       process.versions = {};
+
+       function noop() {}
+
+       process.on = noop;
+       process.addListener = noop;
+       process.once = noop;
+       process.off = noop;
+       process.removeListener = noop;
+       process.removeAllListeners = noop;
+       process.emit = noop;
+
+       process.binding = function (name) {
+           throw new Error('process.binding is not supported');
+       };
+
+       process.cwd = function () { return '/' };
+       process.chdir = function (dir) {
+           throw new Error('process.chdir is not supported');
+       };
+       process.umask = function() { return 0; };
+
+
+/***/ },
+/* 31 */
+/***/ function(module, exports) {
+
+       module.exports = Array.isArray || function (arr) {
+         return Object.prototype.toString.call(arr) == '[object Array]';
+       };
+
+
+/***/ },
+/* 32 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* WEBPACK VAR INJECTION */(function(Buffer) {// Copyright Joyent, Inc. and other Node contributors.
+       //
+       // Permission is hereby granted, free of charge, to any person obtaining a
+       // copy of this software and associated documentation files (the
+       // "Software"), to deal in the Software without restriction, including
+       // without limitation the rights to use, copy, modify, merge, publish,
+       // distribute, sublicense, and/or sell copies of the Software, and to permit
+       // persons to whom the Software is furnished to do so, subject to the
+       // following conditions:
+       //
+       // The above copyright notice and this permission notice shall be included
+       // in all copies or substantial portions of the Software.
+       //
+       // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+       // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+       // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+       // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+       // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+       // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+       // USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+       // NOTE: These type checking functions intentionally don't use `instanceof`
+       // because it is fragile and can be easily faked with `Object.create()`.
+       function isArray(ar) {
+         return Array.isArray(ar);
+       }
+       exports.isArray = isArray;
+
+       function isBoolean(arg) {
+         return typeof arg === 'boolean';
+       }
+       exports.isBoolean = isBoolean;
+
+       function isNull(arg) {
+         return arg === null;
+       }
+       exports.isNull = isNull;
+
+       function isNullOrUndefined(arg) {
+         return arg == null;
+       }
+       exports.isNullOrUndefined = isNullOrUndefined;
+
+       function isNumber(arg) {
+         return typeof arg === 'number';
+       }
+       exports.isNumber = isNumber;
+
+       function isString(arg) {
+         return typeof arg === 'string';
+       }
+       exports.isString = isString;
+
+       function isSymbol(arg) {
+         return typeof arg === 'symbol';
+       }
+       exports.isSymbol = isSymbol;
+
+       function isUndefined(arg) {
+         return arg === void 0;
+       }
+       exports.isUndefined = isUndefined;
+
+       function isRegExp(re) {
+         return isObject(re) && objectToString(re) === '[object RegExp]';
+       }
+       exports.isRegExp = isRegExp;
+
+       function isObject(arg) {
+         return typeof arg === 'object' && arg !== null;
+       }
+       exports.isObject = isObject;
+
+       function isDate(d) {
+         return isObject(d) && objectToString(d) === '[object Date]';
+       }
+       exports.isDate = isDate;
+
+       function isError(e) {
+         return isObject(e) &&
+             (objectToString(e) === '[object Error]' || e instanceof Error);
+       }
+       exports.isError = isError;
+
+       function isFunction(arg) {
+         return typeof arg === 'function';
+       }
+       exports.isFunction = isFunction;
+
+       function isPrimitive(arg) {
+         return arg === null ||
+                typeof arg === 'boolean' ||
+                typeof arg === 'number' ||
+                typeof arg === 'string' ||
+                typeof arg === 'symbol' ||  // ES6 symbol
+                typeof arg === 'undefined';
+       }
+       exports.isPrimitive = isPrimitive;
+
+       function isBuffer(arg) {
+         return Buffer.isBuffer(arg);
+       }
+       exports.isBuffer = isBuffer;
+
+       function objectToString(o) {
+         return Object.prototype.toString.call(o);
+       }
+       /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2).Buffer))
+
+/***/ },
+/* 33 */
+/***/ function(module, exports) {
+
+       if (typeof Object.create === 'function') {
+         // implementation from standard node.js 'util' module
+         module.exports = function inherits(ctor, superCtor) {
+           ctor.super_ = superCtor
+           ctor.prototype = Object.create(superCtor.prototype, {
+             constructor: {
+               value: ctor,
+               enumerable: false,
+               writable: true,
+               configurable: true
+             }
+           });
+         };
+       } else {
+         // old school shim for old browsers
+         module.exports = function inherits(ctor, superCtor) {
+           ctor.super_ = superCtor
+           var TempCtor = function () {}
+           TempCtor.prototype = superCtor.prototype
+           ctor.prototype = new TempCtor()
+           ctor.prototype.constructor = ctor
+         }
+       }
+
+
+/***/ },
+/* 34 */
+/***/ function(module, exports) {
+
+       /* (ignored) */
+
+/***/ },
+/* 35 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* WEBPACK VAR INJECTION */(function(process) {// Copyright Joyent, Inc. and other Node contributors.
+       //
+       // Permission is hereby granted, free of charge, to any person obtaining a
+       // copy of this software and associated documentation files (the
+       // "Software"), to deal in the Software without restriction, including
+       // without limitation the rights to use, copy, modify, merge, publish,
+       // distribute, sublicense, and/or sell copies of the Software, and to permit
+       // persons to whom the Software is furnished to do so, subject to the
+       // following conditions:
+       //
+       // The above copyright notice and this permission notice shall be included
+       // in all copies or substantial portions of the Software.
+       //
+       // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+       // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+       // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+       // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+       // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+       // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+       // USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+       // a duplex stream is just a stream that is both readable and writable.
+       // Since JS doesn't have multiple prototypal inheritance, this class
+       // prototypally inherits from Readable, and then parasitically from
+       // Writable.
+
+       module.exports = Duplex;
+
+       /*<replacement>*/
+       var objectKeys = Object.keys || function (obj) {
+         var keys = [];
+         for (var key in obj) keys.push(key);
+         return keys;
+       }
+       /*</replacement>*/
+
+
+       /*<replacement>*/
+       var util = __webpack_require__(32);
+       util.inherits = __webpack_require__(33);
+       /*</replacement>*/
+
+       var Readable = __webpack_require__(29);
+       var Writable = __webpack_require__(36);
+
+       util.inherits(Duplex, Readable);
+
+       forEach(objectKeys(Writable.prototype), function(method) {
+         if (!Duplex.prototype[method])
+           Duplex.prototype[method] = Writable.prototype[method];
+       });
+
+       function Duplex(options) {
+         if (!(this instanceof Duplex))
+           return new Duplex(options);
+
+         Readable.call(this, options);
+         Writable.call(this, options);
+
+         if (options && options.readable === false)
+           this.readable = false;
+
+         if (options && options.writable === false)
+           this.writable = false;
+
+         this.allowHalfOpen = true;
+         if (options && options.allowHalfOpen === false)
+           this.allowHalfOpen = false;
+
+         this.once('end', onend);
+       }
+
+       // the no-half-open enforcer
+       function onend() {
+         // if we allow half-open state, or if the writable side ended,
+         // then we're ok.
+         if (this.allowHalfOpen || this._writableState.ended)
+           return;
+
+         // no more data can be written.
+         // But allow more writes to happen in this tick.
+         process.nextTick(this.end.bind(this));
+       }
+
+       function forEach (xs, f) {
+         for (var i = 0, l = xs.length; i < l; i++) {
+           f(xs[i], i);
+         }
+       }
+
+       /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(30)))
+
+/***/ },
+/* 36 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* WEBPACK VAR INJECTION */(function(process) {// Copyright Joyent, Inc. and other Node contributors.
+       //
+       // Permission is hereby granted, free of charge, to any person obtaining a
+       // copy of this software and associated documentation files (the
+       // "Software"), to deal in the Software without restriction, including
+       // without limitation the rights to use, copy, modify, merge, publish,
+       // distribute, sublicense, and/or sell copies of the Software, and to permit
+       // persons to whom the Software is furnished to do so, subject to the
+       // following conditions:
+       //
+       // The above copyright notice and this permission notice shall be included
+       // in all copies or substantial portions of the Software.
+       //
+       // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+       // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+       // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+       // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+       // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+       // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+       // USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+       // A bit simpler than readable streams.
+       // Implement an async ._write(chunk, cb), and it'll handle all
+       // the drain event emission and buffering.
+
+       module.exports = Writable;
+
+       /*<replacement>*/
+       var Buffer = __webpack_require__(2).Buffer;
+       /*</replacement>*/
+
+       Writable.WritableState = WritableState;
+
+
+       /*<replacement>*/
+       var util = __webpack_require__(32);
+       util.inherits = __webpack_require__(33);
+       /*</replacement>*/
+
+       var Stream = __webpack_require__(25);
+
+       util.inherits(Writable, Stream);
+
+       function WriteReq(chunk, encoding, cb) {
+         this.chunk = chunk;
+         this.encoding = encoding;
+         this.callback = cb;
+       }
+
+       function WritableState(options, stream) {
+         var Duplex = __webpack_require__(35);
+
+         options = options || {};
+
+         // the point at which write() starts returning false
+         // Note: 0 is a valid value, means that we always return false if
+         // the entire buffer is not flushed immediately on write()
+         var hwm = options.highWaterMark;
+         var defaultHwm = options.objectMode ? 16 : 16 * 1024;
+         this.highWaterMark = (hwm || hwm === 0) ? hwm : defaultHwm;
+
+         // object stream flag to indicate whether or not this stream
+         // contains buffers or objects.
+         this.objectMode = !!options.objectMode;
+
+         if (stream instanceof Duplex)
+           this.objectMode = this.objectMode || !!options.writableObjectMode;
+
+         // cast to ints.
+         this.highWaterMark = ~~this.highWaterMark;
+
+         this.needDrain = false;
+         // at the start of calling end()
+         this.ending = false;
+         // when end() has been called, and returned
+         this.ended = false;
+         // when 'finish' is emitted
+         this.finished = false;
+
+         // should we decode strings into buffers before passing to _write?
+         // this is here so that some node-core streams can optimize string
+         // handling at a lower level.
+         var noDecode = options.decodeStrings === false;
+         this.decodeStrings = !noDecode;
+
+         // Crypto is kind of old and crusty.  Historically, its default string
+         // encoding is 'binary' so we have to make this configurable.
+         // Everything else in the universe uses 'utf8', though.
+         this.defaultEncoding = options.defaultEncoding || 'utf8';
+
+         // not an actual buffer we keep track of, but a measurement
+         // of how much we're waiting to get pushed to some underlying
+         // socket or file.
+         this.length = 0;
+
+         // a flag to see when we're in the middle of a write.
+         this.writing = false;
+
+         // when true all writes will be buffered until .uncork() call
+         this.corked = 0;
+
+         // a flag to be able to tell if the onwrite cb is called immediately,
+         // or on a later tick.  We set this to true at first, because any
+         // actions that shouldn't happen until "later" should generally also
+         // not happen before the first write call.
+         this.sync = true;
+
+         // a flag to know if we're processing previously buffered items, which
+         // may call the _write() callback in the same tick, so that we don't
+         // end up in an overlapped onwrite situation.
+         this.bufferProcessing = false;
+
+         // the callback that's passed to _write(chunk,cb)
+         this.onwrite = function(er) {
+           onwrite(stream, er);
+         };
+
+         // the callback that the user supplies to write(chunk,encoding,cb)
+         this.writecb = null;
+
+         // the amount that is being written when _write is called.
+         this.writelen = 0;
+
+         this.buffer = [];
+
+         // number of pending user-supplied write callbacks
+         // this must be 0 before 'finish' can be emitted
+         this.pendingcb = 0;
+
+         // emit prefinish if the only thing we're waiting for is _write cbs
+         // This is relevant for synchronous Transform streams
+         this.prefinished = false;
+
+         // True if the error was already emitted and should not be thrown again
+         this.errorEmitted = false;
+       }
+
+       function Writable(options) {
+         var Duplex = __webpack_require__(35);
+
+         // Writable ctor is applied to Duplexes, though they're not
+         // instanceof Writable, they're instanceof Readable.
+         if (!(this instanceof Writable) && !(this instanceof Duplex))
+           return new Writable(options);
+
+         this._writableState = new WritableState(options, this);
+
+         // legacy.
+         this.writable = true;
+
+         Stream.call(this);
+       }
+
+       // Otherwise people can pipe Writable streams, which is just wrong.
+       Writable.prototype.pipe = function() {
+         this.emit('error', new Error('Cannot pipe. Not readable.'));
+       };
+
+
+       function writeAfterEnd(stream, state, cb) {
+         var er = new Error('write after end');
+         // TODO: defer error events consistently everywhere, not just the cb
+         stream.emit('error', er);
+         process.nextTick(function() {
+           cb(er);
+         });
+       }
+
+       // If we get something that is not a buffer, string, null, or undefined,
+       // and we're not in objectMode, then that's an error.
+       // Otherwise stream chunks are all considered to be of length=1, and the
+       // watermarks determine how many objects to keep in the buffer, rather than
+       // how many bytes or characters.
+       function validChunk(stream, state, chunk, cb) {
+         var valid = true;
+         if (!util.isBuffer(chunk) &&
+             !util.isString(chunk) &&
+             !util.isNullOrUndefined(chunk) &&
+             !state.objectMode) {
+           var er = new TypeError('Invalid non-string/buffer chunk');
+           stream.emit('error', er);
+           process.nextTick(function() {
+             cb(er);
+           });
+           valid = false;
+         }
+         return valid;
+       }
+
+       Writable.prototype.write = function(chunk, encoding, cb) {
+         var state = this._writableState;
+         var ret = false;
+
+         if (util.isFunction(encoding)) {
+           cb = encoding;
+           encoding = null;
+         }
+
+         if (util.isBuffer(chunk))
+           encoding = 'buffer';
+         else if (!encoding)
+           encoding = state.defaultEncoding;
+
+         if (!util.isFunction(cb))
+           cb = function() {};
+
+         if (state.ended)
+           writeAfterEnd(this, state, cb);
+         else if (validChunk(this, state, chunk, cb)) {
+           state.pendingcb++;
+           ret = writeOrBuffer(this, state, chunk, encoding, cb);
+         }
+
+         return ret;
+       };
+
+       Writable.prototype.cork = function() {
+         var state = this._writableState;
+
+         state.corked++;
+       };
+
+       Writable.prototype.uncork = function() {
+         var state = this._writableState;
+
+         if (state.corked) {
+           state.corked--;
+
+           if (!state.writing &&
+               !state.corked &&
+               !state.finished &&
+               !state.bufferProcessing &&
+               state.buffer.length)
+             clearBuffer(this, state);
+         }
+       };
+
+       function decodeChunk(state, chunk, encoding) {
+         if (!state.objectMode &&
+             state.decodeStrings !== false &&
+             util.isString(chunk)) {
+           chunk = new Buffer(chunk, encoding);
+         }
+         return chunk;
+       }
+
+       // if we're already writing something, then just put this
+       // in the queue, and wait our turn.  Otherwise, call _write
+       // If we return false, then we need a drain event, so set that flag.
+       function writeOrBuffer(stream, state, chunk, encoding, cb) {
+         chunk = decodeChunk(state, chunk, encoding);
+         if (util.isBuffer(chunk))
+           encoding = 'buffer';
+         var len = state.objectMode ? 1 : chunk.length;
+
+         state.length += len;
+
+         var ret = state.length < state.highWaterMark;
+         // we must ensure that previous needDrain will not be reset to false.
+         if (!ret)
+           state.needDrain = true;
+
+         if (state.writing || state.corked)
+           state.buffer.push(new WriteReq(chunk, encoding, cb));
+         else
+           doWrite(stream, state, false, len, chunk, encoding, cb);
+
+         return ret;
+       }
+
+       function doWrite(stream, state, writev, len, chunk, encoding, cb) {
+         state.writelen = len;
+         state.writecb = cb;
+         state.writing = true;
+         state.sync = true;
+         if (writev)
+           stream._writev(chunk, state.onwrite);
+         else
+           stream._write(chunk, encoding, state.onwrite);
+         state.sync = false;
+       }
+
+       function onwriteError(stream, state, sync, er, cb) {
+         if (sync)
+           process.nextTick(function() {
+             state.pendingcb--;
+             cb(er);
+           });
+         else {
+           state.pendingcb--;
+           cb(er);
+         }
+
+         stream._writableState.errorEmitted = true;
+         stream.emit('error', er);
+       }
+
+       function onwriteStateUpdate(state) {
+         state.writing = false;
+         state.writecb = null;
+         state.length -= state.writelen;
+         state.writelen = 0;
+       }
+
+       function onwrite(stream, er) {
+         var state = stream._writableState;
+         var sync = state.sync;
+         var cb = state.writecb;
+
+         onwriteStateUpdate(state);
+
+         if (er)
+           onwriteError(stream, state, sync, er, cb);
+         else {
+           // Check if we're actually ready to finish, but don't emit yet
+           var finished = needFinish(stream, state);
+
+           if (!finished &&
+               !state.corked &&
+               !state.bufferProcessing &&
+               state.buffer.length) {
+             clearBuffer(stream, state);
+           }
+
+           if (sync) {
+             process.nextTick(function() {
+               afterWrite(stream, state, finished, cb);
+             });
+           } else {
+             afterWrite(stream, state, finished, cb);
+           }
+         }
+       }
+
+       function afterWrite(stream, state, finished, cb) {
+         if (!finished)
+           onwriteDrain(stream, state);
+         state.pendingcb--;
+         cb();
+         finishMaybe(stream, state);
+       }
+
+       // Must force callback to be called on nextTick, so that we don't
+       // emit 'drain' before the write() consumer gets the 'false' return
+       // value, and has a chance to attach a 'drain' listener.
+       function onwriteDrain(stream, state) {
+         if (state.length === 0 && state.needDrain) {
+           state.needDrain = false;
+           stream.emit('drain');
+         }
+       }
+
+
+       // if there's something in the buffer waiting, then process it
+       function clearBuffer(stream, state) {
+         state.bufferProcessing = true;
+
+         if (stream._writev && state.buffer.length > 1) {
+           // Fast case, write everything using _writev()
+           var cbs = [];
+           for (var c = 0; c < state.buffer.length; c++)
+             cbs.push(state.buffer[c].callback);
+
+           // count the one we are adding, as well.
+           // TODO(isaacs) clean this up
+           state.pendingcb++;
+           doWrite(stream, state, true, state.length, state.buffer, '', function(err) {
+             for (var i = 0; i < cbs.length; i++) {
+               state.pendingcb--;
+               cbs[i](err);
+             }
+           });
+
+           // Clear buffer
+           state.buffer = [];
+         } else {
+           // Slow case, write chunks one-by-one
+           for (var c = 0; c < state.buffer.length; c++) {
+             var entry = state.buffer[c];
+             var chunk = entry.chunk;
+             var encoding = entry.encoding;
+             var cb = entry.callback;
+             var len = state.objectMode ? 1 : chunk.length;
+
+             doWrite(stream, state, false, len, chunk, encoding, cb);
+
+             // if we didn't call the onwrite immediately, then
+             // it means that we need to wait until it does.
+             // also, that means that the chunk and cb are currently
+             // being processed, so move the buffer counter past them.
+             if (state.writing) {
+               c++;
+               break;
+             }
+           }
+
+           if (c < state.buffer.length)
+             state.buffer = state.buffer.slice(c);
+           else
+             state.buffer.length = 0;
+         }
+
+         state.bufferProcessing = false;
+       }
+
+       Writable.prototype._write = function(chunk, encoding, cb) {
+         cb(new Error('not implemented'));
+
+       };
+
+       Writable.prototype._writev = null;
+
+       Writable.prototype.end = function(chunk, encoding, cb) {
+         var state = this._writableState;
+
+         if (util.isFunction(chunk)) {
+           cb = chunk;
+           chunk = null;
+           encoding = null;
+         } else if (util.isFunction(encoding)) {
+           cb = encoding;
+           encoding = null;
+         }
+
+         if (!util.isNullOrUndefined(chunk))
+           this.write(chunk, encoding);
+
+         // .end() fully uncorks
+         if (state.corked) {
+           state.corked = 1;
+           this.uncork();
+         }
+
+         // ignore unnecessary end() calls.
+         if (!state.ending && !state.finished)
+           endWritable(this, state, cb);
+       };
+
+
+       function needFinish(stream, state) {
+         return (state.ending &&
+                 state.length === 0 &&
+                 !state.finished &&
+                 !state.writing);
+       }
+
+       function prefinish(stream, state) {
+         if (!state.prefinished) {
+           state.prefinished = true;
+           stream.emit('prefinish');
+         }
+       }
+
+       function finishMaybe(stream, state) {
+         var need = needFinish(stream, state);
+         if (need) {
+           if (state.pendingcb === 0) {
+             prefinish(stream, state);
+             state.finished = true;
+             stream.emit('finish');
+           } else
+             prefinish(stream, state);
+         }
+         return need;
+       }
+
+       function endWritable(stream, state, cb) {
+         state.ending = true;
+         finishMaybe(stream, state);
+         if (cb) {
+           if (state.finished)
+             process.nextTick(cb);
+           else
+             stream.once('finish', cb);
+         }
+         state.ended = true;
+       }
+
+       /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(30)))
+
+/***/ },
+/* 37 */
+/***/ function(module, exports, __webpack_require__) {
+
+       // Copyright Joyent, Inc. and other Node contributors.
+       //
+       // Permission is hereby granted, free of charge, to any person obtaining a
+       // copy of this software and associated documentation files (the
+       // "Software"), to deal in the Software without restriction, including
+       // without limitation the rights to use, copy, modify, merge, publish,
+       // distribute, sublicense, and/or sell copies of the Software, and to permit
+       // persons to whom the Software is furnished to do so, subject to the
+       // following conditions:
+       //
+       // The above copyright notice and this permission notice shall be included
+       // in all copies or substantial portions of the Software.
+       //
+       // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+       // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+       // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+       // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+       // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+       // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+       // USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+       var Buffer = __webpack_require__(2).Buffer;
+
+       var isBufferEncoding = Buffer.isEncoding
+         || function(encoding) {
+              switch (encoding && encoding.toLowerCase()) {
+                case 'hex': case 'utf8': case 'utf-8': case 'ascii': case 'binary': case 'base64': case 'ucs2': case 'ucs-2': case 'utf16le': case 'utf-16le': case 'raw': return true;
+                default: return false;
+              }
+            }
+
+
+       function assertEncoding(encoding) {
+         if (encoding && !isBufferEncoding(encoding)) {
+           throw new Error('Unknown encoding: ' + encoding);
+         }
+       }
+
+       // StringDecoder provides an interface for efficiently splitting a series of
+       // buffers into a series of JS strings without breaking apart multi-byte
+       // characters. CESU-8 is handled as part of the UTF-8 encoding.
+       //
+       // @TODO Handling all encodings inside a single object makes it very difficult
+       // to reason about this code, so it should be split up in the future.
+       // @TODO There should be a utf8-strict encoding that rejects invalid UTF-8 code
+       // points as used by CESU-8.
+       var StringDecoder = exports.StringDecoder = function(encoding) {
+         this.encoding = (encoding || 'utf8').toLowerCase().replace(/[-_]/, '');
+         assertEncoding(encoding);
+         switch (this.encoding) {
+           case 'utf8':
+             // CESU-8 represents each of Surrogate Pair by 3-bytes
+             this.surrogateSize = 3;
+             break;
+           case 'ucs2':
+           case 'utf16le':
+             // UTF-16 represents each of Surrogate Pair by 2-bytes
+             this.surrogateSize = 2;
+             this.detectIncompleteChar = utf16DetectIncompleteChar;
+             break;
+           case 'base64':
+             // Base-64 stores 3 bytes in 4 chars, and pads the remainder.
+             this.surrogateSize = 3;
+             this.detectIncompleteChar = base64DetectIncompleteChar;
+             break;
+           default:
+             this.write = passThroughWrite;
+             return;
+         }
+
+         // Enough space to store all bytes of a single character. UTF-8 needs 4
+         // bytes, but CESU-8 may require up to 6 (3 bytes per surrogate).
+         this.charBuffer = new Buffer(6);
+         // Number of bytes received for the current incomplete multi-byte character.
+         this.charReceived = 0;
+         // Number of bytes expected for the current incomplete multi-byte character.
+         this.charLength = 0;
+       };
+
+
+       // write decodes the given buffer and returns it as JS string that is
+       // guaranteed to not contain any partial multi-byte characters. Any partial
+       // character found at the end of the buffer is buffered up, and will be
+       // returned when calling write again with the remaining bytes.
+       //
+       // Note: Converting a Buffer containing an orphan surrogate to a String
+       // currently works, but converting a String to a Buffer (via `new Buffer`, or
+       // Buffer#write) will replace incomplete surrogates with the unicode
+       // replacement character. See https://codereview.chromium.org/121173009/ .
+       StringDecoder.prototype.write = function(buffer) {
+         var charStr = '';
+         // if our last write ended with an incomplete multibyte character
+         while (this.charLength) {
+           // determine how many remaining bytes this buffer has to offer for this char
+           var available = (buffer.length >= this.charLength - this.charReceived) ?
+               this.charLength - this.charReceived :
+               buffer.length;
+
+           // add the new bytes to the char buffer
+           buffer.copy(this.charBuffer, this.charReceived, 0, available);
+           this.charReceived += available;
+
+           if (this.charReceived < this.charLength) {
+             // still not enough chars in this buffer? wait for more ...
+             return '';
+           }
+
+           // remove bytes belonging to the current character from the buffer
+           buffer = buffer.slice(available, buffer.length);
+
+           // get the character that was split
+           charStr = this.charBuffer.slice(0, this.charLength).toString(this.encoding);
+
+           // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
+           var charCode = charStr.charCodeAt(charStr.length - 1);
+           if (charCode >= 0xD800 && charCode <= 0xDBFF) {
+             this.charLength += this.surrogateSize;
+             charStr = '';
+             continue;
+           }
+           this.charReceived = this.charLength = 0;
+
+           // if there are no more bytes in this buffer, just emit our char
+           if (buffer.length === 0) {
+             return charStr;
+           }
+           break;
+         }
+
+         // determine and set charLength / charReceived
+         this.detectIncompleteChar(buffer);
+
+         var end = buffer.length;
+         if (this.charLength) {
+           // buffer the incomplete character bytes we got
+           buffer.copy(this.charBuffer, 0, buffer.length - this.charReceived, end);
+           end -= this.charReceived;
+         }
+
+         charStr += buffer.toString(this.encoding, 0, end);
+
+         var end = charStr.length - 1;
+         var charCode = charStr.charCodeAt(end);
+         // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
+         if (charCode >= 0xD800 && charCode <= 0xDBFF) {
+           var size = this.surrogateSize;
+           this.charLength += size;
+           this.charReceived += size;
+           this.charBuffer.copy(this.charBuffer, size, 0, size);
+           buffer.copy(this.charBuffer, 0, 0, size);
+           return charStr.substring(0, end);
+         }
+
+         // or just emit the charStr
+         return charStr;
+       };
+
+       // detectIncompleteChar determines if there is an incomplete UTF-8 character at
+       // the end of the given buffer. If so, it sets this.charLength to the byte
+       // length that character, and sets this.charReceived to the number of bytes
+       // that are available for this character.
+       StringDecoder.prototype.detectIncompleteChar = function(buffer) {
+         // determine how many bytes we have to check at the end of this buffer
+         var i = (buffer.length >= 3) ? 3 : buffer.length;
+
+         // Figure out if one of the last i bytes of our buffer announces an
+         // incomplete char.
+         for (; i > 0; i--) {
+           var c = buffer[buffer.length - i];
+
+           // See http://en.wikipedia.org/wiki/UTF-8#Description
+
+           // 110XXXXX
+           if (i == 1 && c >> 5 == 0x06) {
+             this.charLength = 2;
+             break;
+           }
+
+           // 1110XXXX
+           if (i <= 2 && c >> 4 == 0x0E) {
+             this.charLength = 3;
+             break;
+           }
+
+           // 11110XXX
+           if (i <= 3 && c >> 3 == 0x1E) {
+             this.charLength = 4;
+             break;
+           }
+         }
+         this.charReceived = i;
+       };
+
+       StringDecoder.prototype.end = function(buffer) {
+         var res = '';
+         if (buffer && buffer.length)
+           res = this.write(buffer);
+
+         if (this.charReceived) {
+           var cr = this.charReceived;
+           var buf = this.charBuffer;
+           var enc = this.encoding;
+           res += buf.slice(0, cr).toString(enc);
+         }
+
+         return res;
+       };
+
+       function passThroughWrite(buffer) {
+         return buffer.toString(this.encoding);
+       }
+
+       function utf16DetectIncompleteChar(buffer) {
+         this.charReceived = buffer.length % 2;
+         this.charLength = this.charReceived ? 2 : 0;
+       }
+
+       function base64DetectIncompleteChar(buffer) {
+         this.charReceived = buffer.length % 3;
+         this.charLength = this.charReceived ? 3 : 0;
+       }
+
+
+/***/ },
+/* 38 */
+/***/ function(module, exports, __webpack_require__) {
+
+       // Copyright Joyent, Inc. and other Node contributors.
+       //
+       // Permission is hereby granted, free of charge, to any person obtaining a
+       // copy of this software and associated documentation files (the
+       // "Software"), to deal in the Software without restriction, including
+       // without limitation the rights to use, copy, modify, merge, publish,
+       // distribute, sublicense, and/or sell copies of the Software, and to permit
+       // persons to whom the Software is furnished to do so, subject to the
+       // following conditions:
+       //
+       // The above copyright notice and this permission notice shall be included
+       // in all copies or substantial portions of the Software.
+       //
+       // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+       // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+       // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+       // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+       // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+       // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+       // USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+       // a transform stream is a readable/writable stream where you do
+       // something with the data.  Sometimes it's called a "filter",
+       // but that's not a great name for it, since that implies a thing where
+       // some bits pass through, and others are simply ignored.  (That would
+       // be a valid example of a transform, of course.)
+       //
+       // While the output is causally related to the input, it's not a
+       // necessarily symmetric or synchronous transformation.  For example,
+       // a zlib stream might take multiple plain-text writes(), and then
+       // emit a single compressed chunk some time in the future.
+       //
+       // Here's how this works:
+       //
+       // The Transform stream has all the aspects of the readable and writable
+       // stream classes.  When you write(chunk), that calls _write(chunk,cb)
+       // internally, and returns false if there's a lot of pending writes
+       // buffered up.  When you call read(), that calls _read(n) until
+       // there's enough pending readable data buffered up.
+       //
+       // In a transform stream, the written data is placed in a buffer.  When
+       // _read(n) is called, it transforms the queued up data, calling the
+       // buffered _write cb's as it consumes chunks.  If consuming a single
+       // written chunk would result in multiple output chunks, then the first
+       // outputted bit calls the readcb, and subsequent chunks just go into
+       // the read buffer, and will cause it to emit 'readable' if necessary.
+       //
+       // This way, back-pressure is actually determined by the reading side,
+       // since _read has to be called to start processing a new chunk.  However,
+       // a pathological inflate type of transform can cause excessive buffering
+       // here.  For example, imagine a stream where every byte of input is
+       // interpreted as an integer from 0-255, and then results in that many
+       // bytes of output.  Writing the 4 bytes {ff,ff,ff,ff} would result in
+       // 1kb of data being output.  In this case, you could write a very small
+       // amount of input, and end up with a very large amount of output.  In
+       // such a pathological inflating mechanism, there'd be no way to tell
+       // the system to stop doing the transform.  A single 4MB write could
+       // cause the system to run out of memory.
+       //
+       // However, even in such a pathological case, only a single written chunk
+       // would be consumed, and then the rest would wait (un-transformed) until
+       // the results of the previous transformed chunk were consumed.
+
+       module.exports = Transform;
+
+       var Duplex = __webpack_require__(35);
+
+       /*<replacement>*/
+       var util = __webpack_require__(32);
+       util.inherits = __webpack_require__(33);
+       /*</replacement>*/
+
+       util.inherits(Transform, Duplex);
+
+
+       function TransformState(options, stream) {
+         this.afterTransform = function(er, data) {
+           return afterTransform(stream, er, data);
+         };
+
+         this.needTransform = false;
+         this.transforming = false;
+         this.writecb = null;
+         this.writechunk = null;
+       }
+
+       function afterTransform(stream, er, data) {
+         var ts = stream._transformState;
+         ts.transforming = false;
+
+         var cb = ts.writecb;
+
+         if (!cb)
+           return stream.emit('error', new Error('no writecb in Transform class'));
+
+         ts.writechunk = null;
+         ts.writecb = null;
+
+         if (!util.isNullOrUndefined(data))
+           stream.push(data);
+
+         if (cb)
+           cb(er);
+
+         var rs = stream._readableState;
+         rs.reading = false;
+         if (rs.needReadable || rs.length < rs.highWaterMark) {
+           stream._read(rs.highWaterMark);
+         }
+       }
+
+
+       function Transform(options) {
+         if (!(this instanceof Transform))
+           return new Transform(options);
+
+         Duplex.call(this, options);
+
+         this._transformState = new TransformState(options, this);
+
+         // when the writable side finishes, then flush out anything remaining.
+         var stream = this;
+
+         // start out asking for a readable event once data is transformed.
+         this._readableState.needReadable = true;
+
+         // we have implemented the _read method, and done the other things
+         // that Readable wants before the first _read call, so unset the
+         // sync guard flag.
+         this._readableState.sync = false;
+
+         this.once('prefinish', function() {
+           if (util.isFunction(this._flush))
+             this._flush(function(er) {
+               done(stream, er);
+             });
+           else
+             done(stream);
+         });
+       }
+
+       Transform.prototype.push = function(chunk, encoding) {
+         this._transformState.needTransform = false;
+         return Duplex.prototype.push.call(this, chunk, encoding);
+       };
+
+       // This is the part where you do stuff!
+       // override this function in implementation classes.
+       // 'chunk' is an input chunk.
+       //
+       // Call `push(newChunk)` to pass along transformed output
+       // to the readable side.  You may call 'push' zero or more times.
+       //
+       // Call `cb(err)` when you are done with this chunk.  If you pass
+       // an error, then that'll put the hurt on the whole operation.  If you
+       // never call cb(), then you'll never get another chunk.
+       Transform.prototype._transform = function(chunk, encoding, cb) {
+         throw new Error('not implemented');
+       };
+
+       Transform.prototype._write = function(chunk, encoding, cb) {
+         var ts = this._transformState;
+         ts.writecb = cb;
+         ts.writechunk = chunk;
+         ts.writeencoding = encoding;
+         if (!ts.transforming) {
+           var rs = this._readableState;
+           if (ts.needTransform ||
+               rs.needReadable ||
+               rs.length < rs.highWaterMark)
+             this._read(rs.highWaterMark);
+         }
+       };
+
+       // Doesn't matter what the args are here.
+       // _transform does all the work.
+       // That we got here means that the readable side wants more data.
+       Transform.prototype._read = function(n) {
+         var ts = this._transformState;
+
+         if (!util.isNull(ts.writechunk) && ts.writecb && !ts.transforming) {
+           ts.transforming = true;
+           this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
+         } else {
+           // mark that we need a transform, so that any data that comes in
+           // will get processed, now that we've asked for it.
+           ts.needTransform = true;
+         }
+       };
+
+
+       function done(stream, er) {
+         if (er)
+           return stream.emit('error', er);
+
+         // if there's nothing in the write buffer, then that means
+         // that nothing more will ever be provided
+         var ws = stream._writableState;
+         var ts = stream._transformState;
+
+         if (ws.length)
+           throw new Error('calling transform done when ws.length != 0');
+
+         if (ts.transforming)
+           throw new Error('calling transform done when still transforming');
+
+         return stream.push(null);
+       }
+
+
+/***/ },
+/* 39 */
+/***/ function(module, exports, __webpack_require__) {
+
+       // Copyright Joyent, Inc. and other Node contributors.
+       //
+       // Permission is hereby granted, free of charge, to any person obtaining a
+       // copy of this software and associated documentation files (the
+       // "Software"), to deal in the Software without restriction, including
+       // without limitation the rights to use, copy, modify, merge, publish,
+       // distribute, sublicense, and/or sell copies of the Software, and to permit
+       // persons to whom the Software is furnished to do so, subject to the
+       // following conditions:
+       //
+       // The above copyright notice and this permission notice shall be included
+       // in all copies or substantial portions of the Software.
+       //
+       // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+       // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+       // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+       // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+       // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+       // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+       // USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+       // a passthrough stream.
+       // basically just the most minimal sort of Transform stream.
+       // Every written chunk gets output as-is.
+
+       module.exports = PassThrough;
+
+       var Transform = __webpack_require__(38);
+
+       /*<replacement>*/
+       var util = __webpack_require__(32);
+       util.inherits = __webpack_require__(33);
+       /*</replacement>*/
+
+       util.inherits(PassThrough, Transform);
+
+       function PassThrough(options) {
+         if (!(this instanceof PassThrough))
+           return new PassThrough(options);
+
+         Transform.call(this, options);
+       }
+
+       PassThrough.prototype._transform = function(chunk, encoding, cb) {
+         cb(null, chunk);
+       };
+
+
+/***/ },
+/* 40 */
+/***/ function(module, exports, __webpack_require__) {
+
+       module.exports = __webpack_require__(36)
+
+
+/***/ },
+/* 41 */
+/***/ function(module, exports, __webpack_require__) {
+
+       module.exports = __webpack_require__(35)
+
+
+/***/ },
+/* 42 */
+/***/ function(module, exports, __webpack_require__) {
+
+       module.exports = __webpack_require__(38)
+
+
+/***/ },
+/* 43 */
+/***/ function(module, exports, __webpack_require__) {
+
+       module.exports = __webpack_require__(39)
+
+
+/***/ },
+/* 44 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* WEBPACK VAR INJECTION */(function(Buffer, __dirname) {/* jslint node: true */
+       'use strict';
+
+       // var b64 = require('./base64.js').base64DecToArr;
+       function VirtualFileSystem() {
+               this.fileSystem = {};
+               this.baseSystem = {};
+       }
+
+       VirtualFileSystem.prototype.readFileSync = function(filename) {
+               filename = fixFilename(filename);
+
+               var base64content = this.baseSystem[filename];
+               if (base64content) {
+                       return new Buffer(base64content, 'base64');
+               }
+
+               return this.fileSystem[filename];
+       };
+
+       VirtualFileSystem.prototype.writeFileSync = function(filename, content) {
+               this.fileSystem[fixFilename(filename)] = content;
+       };
+
+       VirtualFileSystem.prototype.bindFS = function(data) {
+               this.baseSystem = data;
+       };
+
+
+       function fixFilename(filename) {
+               if (filename.indexOf(__dirname) === 0) {
+                       filename = filename.substring(__dirname.length);
+               }
+
+               if (filename.indexOf('/') === 0) {
+                       filename = filename.substring(1);
+               }
+
+               return filename;
+       }
+
+       module.exports = new VirtualFileSystem();
+
+       /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2).Buffer, "/"))
+
+/***/ },
+/* 45 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* WEBPACK VAR INJECTION */(function(Buffer) {// Generated by CoffeeScript 1.7.1
+
+       /*
+       PDFObject - converts JavaScript types into their corrisponding PDF types.
+       By Devon Govett
+        */
+
+       (function() {
+         var PDFObject, PDFReference;
+
+         PDFObject = (function() {
+           var escapable, escapableRe, pad, swapBytes;
+
+           function PDFObject() {}
+
+           pad = function(str, length) {
+             return (Array(length + 1).join('0') + str).slice(-length);
+           };
+
+           escapableRe = /[\n\r\t\b\f\(\)\\]/g;
+
+           escapable = {
+             '\n': '\\n',
+             '\r': '\\r',
+             '\t': '\\t',
+             '\b': '\\b',
+             '\f': '\\f',
+             '\\': '\\\\',
+             '(': '\\(',
+             ')': '\\)'
+           };
+
+           swapBytes = function(buff) {
+             var a, i, l, _i, _ref;
+             l = buff.length;
+             if (l & 0x01) {
+               throw new Error("Buffer length must be even");
+             } else {
+               for (i = _i = 0, _ref = l - 1; _i < _ref; i = _i += 2) {
+                 a = buff[i];
+                 buff[i] = buff[i + 1];
+                 buff[i + 1] = a;
+               }
+             }
+             return buff;
+           };
+
+           PDFObject.convert = function(object) {
+             var e, i, isUnicode, items, key, out, string, val, _i, _ref;
+             if (typeof object === 'string') {
+               return '/' + object;
+             } else if (object instanceof String) {
+               string = object.replace(escapableRe, function(c) {
+                 return escapable[c];
+               });
+               isUnicode = false;
+               for (i = _i = 0, _ref = string.length; _i < _ref; i = _i += 1) {
+                 if (string.charCodeAt(i) > 0x7f) {
+                   isUnicode = true;
+                   break;
+                 }
+               }
+               if (isUnicode) {
+                 string = swapBytes(new Buffer('\ufeff' + string, 'utf16le')).toString('binary');
+               }
+               return '(' + string + ')';
+             } else if (Buffer.isBuffer(object)) {
+               return '<' + object.toString('hex') + '>';
+             } else if (object instanceof PDFReference) {
+               return object.toString();
+             } else if (object instanceof Date) {
+               return '(D:' + pad(object.getUTCFullYear(), 4) + pad(object.getUTCMonth(), 2) + pad(object.getUTCDate(), 2) + pad(object.getUTCHours(), 2) + pad(object.getUTCMinutes(), 2) + pad(object.getUTCSeconds(), 2) + 'Z)';
+             } else if (Array.isArray(object)) {
+               items = ((function() {
+                 var _j, _len, _results;
+                 _results = [];
+                 for (_j = 0, _len = object.length; _j < _len; _j++) {
+                   e = object[_j];
+                   _results.push(PDFObject.convert(e));
+                 }
+                 return _results;
+               })()).join(' ');
+               return '[' + items + ']';
+             } else if ({}.toString.call(object) === '[object Object]') {
+               out = ['<<'];
+               for (key in object) {
+                 val = object[key];
+                 out.push('/' + key + ' ' + PDFObject.convert(val));
+               }
+               out.push('>>');
+               return out.join('\n');
+             } else {
+               return '' + object;
+             }
+           };
+
+           return PDFObject;
+
+         })();
+
+         module.exports = PDFObject;
+
+         PDFReference = __webpack_require__(46);
+
+       }).call(this);
+
+       /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2).Buffer))
+
+/***/ },
+/* 46 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* WEBPACK VAR INJECTION */(function(Buffer) {// Generated by CoffeeScript 1.7.1
+
+       /*
+       PDFReference - represents a reference to another object in the PDF object heirarchy
+       By Devon Govett
+        */
+
+       (function() {
+         var PDFObject, PDFReference, zlib,
+           __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };
+
+         zlib = __webpack_require__(47);
+
+         PDFReference = (function() {
+           function PDFReference(document, id, data) {
+             this.document = document;
+             this.id = id;
+             this.data = data != null ? data : {};
+             this.finalize = __bind(this.finalize, this);
+             this.gen = 0;
+             this.deflate = null;
+             this.compress = this.document.compress && !this.data.Filter;
+             this.uncompressedLength = 0;
+             this.chunks = [];
+           }
+
+           PDFReference.prototype.initDeflate = function() {
+             this.data.Filter = 'FlateDecode';
+             this.deflate = zlib.createDeflate();
+             this.deflate.on('data', (function(_this) {
+               return function(chunk) {
+                 _this.chunks.push(chunk);
+                 return _this.data.Length += chunk.length;
+               };
+             })(this));
+             return this.deflate.on('end', this.finalize);
+           };
+
+           PDFReference.prototype.write = function(chunk) {
+             var _base;
+             if (!Buffer.isBuffer(chunk)) {
+               chunk = new Buffer(chunk + '\n', 'binary');
+             }
+             this.uncompressedLength += chunk.length;
+             if ((_base = this.data).Length == null) {
+               _base.Length = 0;
+             }
+             if (this.compress) {
+               if (!this.deflate) {
+                 this.initDeflate();
+               }
+               return this.deflate.write(chunk);
+             } else {
+               this.chunks.push(chunk);
+               return this.data.Length += chunk.length;
+             }
+           };
+
+           PDFReference.prototype.end = function(chunk) {
+             if (typeof chunk === 'string' || Buffer.isBuffer(chunk)) {
+               this.write(chunk);
+             }
+             if (this.deflate) {
+               return this.deflate.end();
+             } else {
+               return this.finalize();
+             }
+           };
+
+           PDFReference.prototype.finalize = function() {
+             var chunk, _i, _len, _ref;
+             this.offset = this.document._offset;
+             this.document._write("" + this.id + " " + this.gen + " obj");
+             this.document._write(PDFObject.convert(this.data));
+             if (this.chunks.length) {
+               this.document._write('stream');
+               _ref = this.chunks;
+               for (_i = 0, _len = _ref.length; _i < _len; _i++) {
+                 chunk = _ref[_i];
+                 this.document._write(chunk);
+               }
+               this.chunks.length = 0;
+               this.document._write('\nendstream');
+             }
+             this.document._write('endobj');
+             return this.document._refEnd(this);
+           };
+
+           PDFReference.prototype.toString = function() {
+             return "" + this.id + " " + this.gen + " R";
+           };
+
+           return PDFReference;
+
+         })();
+
+         module.exports = PDFReference;
+
+         PDFObject = __webpack_require__(45);
+
+       }).call(this);
+
+       /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2).Buffer))
+
+/***/ },
+/* 47 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* WEBPACK VAR INJECTION */(function(Buffer, process) {// Copyright Joyent, Inc. and other Node contributors.
+       //
+       // Permission is hereby granted, free of charge, to any person obtaining a
+       // copy of this software and associated documentation files (the
+       // "Software"), to deal in the Software without restriction, including
+       // without limitation the rights to use, copy, modify, merge, publish,
+       // distribute, sublicense, and/or sell copies of the Software, and to permit
+       // persons to whom the Software is furnished to do so, subject to the
+       // following conditions:
+       //
+       // The above copyright notice and this permission notice shall be included
+       // in all copies or substantial portions of the Software.
+       //
+       // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+       // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+       // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+       // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+       // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+       // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+       // USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+       var Transform = __webpack_require__(42);
+
+       var binding = __webpack_require__(48);
+       var util = __webpack_require__(60);
+       var assert = __webpack_require__(63).ok;
+
+       // zlib doesn't provide these, so kludge them in following the same
+       // const naming scheme zlib uses.
+       binding.Z_MIN_WINDOWBITS = 8;
+       binding.Z_MAX_WINDOWBITS = 15;
+       binding.Z_DEFAULT_WINDOWBITS = 15;
+
+       // fewer than 64 bytes per chunk is stupid.
+       // technically it could work with as few as 8, but even 64 bytes
+       // is absurdly low.  Usually a MB or more is best.
+       binding.Z_MIN_CHUNK = 64;
+       binding.Z_MAX_CHUNK = Infinity;
+       binding.Z_DEFAULT_CHUNK = (16 * 1024);
+
+       binding.Z_MIN_MEMLEVEL = 1;
+       binding.Z_MAX_MEMLEVEL = 9;
+       binding.Z_DEFAULT_MEMLEVEL = 8;
+
+       binding.Z_MIN_LEVEL = -1;
+       binding.Z_MAX_LEVEL = 9;
+       binding.Z_DEFAULT_LEVEL = binding.Z_DEFAULT_COMPRESSION;
+
+       // expose all the zlib constants
+       Object.keys(binding).forEach(function(k) {
+         if (k.match(/^Z/)) exports[k] = binding[k];
+       });
+
+       // translation table for return codes.
+       exports.codes = {
+         Z_OK: binding.Z_OK,
+         Z_STREAM_END: binding.Z_STREAM_END,
+         Z_NEED_DICT: binding.Z_NEED_DICT,
+         Z_ERRNO: binding.Z_ERRNO,
+         Z_STREAM_ERROR: binding.Z_STREAM_ERROR,
+         Z_DATA_ERROR: binding.Z_DATA_ERROR,
+         Z_MEM_ERROR: binding.Z_MEM_ERROR,
+         Z_BUF_ERROR: binding.Z_BUF_ERROR,
+         Z_VERSION_ERROR: binding.Z_VERSION_ERROR
+       };
+
+       Object.keys(exports.codes).forEach(function(k) {
+         exports.codes[exports.codes[k]] = k;
+       });
+
+       exports.Deflate = Deflate;
+       exports.Inflate = Inflate;
+       exports.Gzip = Gzip;
+       exports.Gunzip = Gunzip;
+       exports.DeflateRaw = DeflateRaw;
+       exports.InflateRaw = InflateRaw;
+       exports.Unzip = Unzip;
+
+       exports.createDeflate = function(o) {
+         return new Deflate(o);
+       };
+
+       exports.createInflate = function(o) {
+         return new Inflate(o);
+       };
+
+       exports.createDeflateRaw = function(o) {
+         return new DeflateRaw(o);
+       };
+
+       exports.createInflateRaw = function(o) {
+         return new InflateRaw(o);
+       };
+
+       exports.createGzip = function(o) {
+         return new Gzip(o);
+       };
+
+       exports.createGunzip = function(o) {
+         return new Gunzip(o);
+       };
+
+       exports.createUnzip = function(o) {
+         return new Unzip(o);
+       };
+
+
+       // Convenience methods.
+       // compress/decompress a string or buffer in one step.
+       exports.deflate = function(buffer, opts, callback) {
+         if (typeof opts === 'function') {
+           callback = opts;
+           opts = {};
+         }
+         return zlibBuffer(new Deflate(opts), buffer, callback);
+       };
+
+       exports.deflateSync = function(buffer, opts) {
+         return zlibBufferSync(new Deflate(opts), buffer);
+       };
+
+       exports.gzip = function(buffer, opts, callback) {
+         if (typeof opts === 'function') {
+           callback = opts;
+           opts = {};
+         }
+         return zlibBuffer(new Gzip(opts), buffer, callback);
+       };
+
+       exports.gzipSync = function(buffer, opts) {
+         return zlibBufferSync(new Gzip(opts), buffer);
+       };
+
+       exports.deflateRaw = function(buffer, opts, callback) {
+         if (typeof opts === 'function') {
+           callback = opts;
+           opts = {};
+         }
+         return zlibBuffer(new DeflateRaw(opts), buffer, callback);
+       };
+
+       exports.deflateRawSync = function(buffer, opts) {
+         return zlibBufferSync(new DeflateRaw(opts), buffer);
+       };
+
+       exports.unzip = function(buffer, opts, callback) {
+         if (typeof opts === 'function') {
+           callback = opts;
+           opts = {};
+         }
+         return zlibBuffer(new Unzip(opts), buffer, callback);
+       };
+
+       exports.unzipSync = function(buffer, opts) {
+         return zlibBufferSync(new Unzip(opts), buffer);
+       };
+
+       exports.inflate = function(buffer, opts, callback) {
+         if (typeof opts === 'function') {
+           callback = opts;
+           opts = {};
+         }
+         return zlibBuffer(new Inflate(opts), buffer, callback);
+       };
+
+       exports.inflateSync = function(buffer, opts) {
+         return zlibBufferSync(new Inflate(opts), buffer);
+       };
+
+       exports.gunzip = function(buffer, opts, callback) {
+         if (typeof opts === 'function') {
+           callback = opts;
+           opts = {};
+         }
+         return zlibBuffer(new Gunzip(opts), buffer, callback);
+       };
+
+       exports.gunzipSync = function(buffer, opts) {
+         return zlibBufferSync(new Gunzip(opts), buffer);
+       };
+
+       exports.inflateRaw = function(buffer, opts, callback) {
+         if (typeof opts === 'function') {
+           callback = opts;
+           opts = {};
+         }
+         return zlibBuffer(new InflateRaw(opts), buffer, callback);
+       };
+
+       exports.inflateRawSync = function(buffer, opts) {
+         return zlibBufferSync(new InflateRaw(opts), buffer);
+       };
+
+       function zlibBuffer(engine, buffer, callback) {
+         var buffers = [];
+         var nread = 0;
+
+         engine.on('error', onError);
+         engine.on('end', onEnd);
+
+         engine.end(buffer);
+         flow();
+
+         function flow() {
+           var chunk;
+           while (null !== (chunk = engine.read())) {
+             buffers.push(chunk);
+             nread += chunk.length;
+           }
+           engine.once('readable', flow);
+         }
+
+         function onError(err) {
+           engine.removeListener('end', onEnd);
+           engine.removeListener('readable', flow);
+           callback(err);
+         }
+
+         function onEnd() {
+           var buf = Buffer.concat(buffers, nread);
+           buffers = [];
+           callback(null, buf);
+           engine.close();
+         }
+       }
+
+       function zlibBufferSync(engine, buffer) {
+         if (typeof buffer === 'string')
+           buffer = new Buffer(buffer);
+         if (!Buffer.isBuffer(buffer))
+           throw new TypeError('Not a string or buffer');
+
+         var flushFlag = binding.Z_FINISH;
+
+         return engine._processChunk(buffer, flushFlag);
+       }
+
+       // generic zlib
+       // minimal 2-byte header
+       function Deflate(opts) {
+         if (!(this instanceof Deflate)) return new Deflate(opts);
+         Zlib.call(this, opts, binding.DEFLATE);
+       }
+
+       function Inflate(opts) {
+         if (!(this instanceof Inflate)) return new Inflate(opts);
+         Zlib.call(this, opts, binding.INFLATE);
+       }
+
+
+
+       // gzip - bigger header, same deflate compression
+       function Gzip(opts) {
+         if (!(this instanceof Gzip)) return new Gzip(opts);
+         Zlib.call(this, opts, binding.GZIP);
+       }
+
+       function Gunzip(opts) {
+         if (!(this instanceof Gunzip)) return new Gunzip(opts);
+         Zlib.call(this, opts, binding.GUNZIP);
+       }
+
+
+
+       // raw - no header
+       function DeflateRaw(opts) {
+         if (!(this instanceof DeflateRaw)) return new DeflateRaw(opts);
+         Zlib.call(this, opts, binding.DEFLATERAW);
+       }
+
+       function InflateRaw(opts) {
+         if (!(this instanceof InflateRaw)) return new InflateRaw(opts);
+         Zlib.call(this, opts, binding.INFLATERAW);
+       }
+
+
+       // auto-detect header.
+       function Unzip(opts) {
+         if (!(this instanceof Unzip)) return new Unzip(opts);
+         Zlib.call(this, opts, binding.UNZIP);
+       }
+
+
+       // the Zlib class they all inherit from
+       // This thing manages the queue of requests, and returns
+       // true or false if there is anything in the queue when
+       // you call the .write() method.
+
+       function Zlib(opts, mode) {
+         this._opts = opts = opts || {};
+         this._chunkSize = opts.chunkSize || exports.Z_DEFAULT_CHUNK;
+
+         Transform.call(this, opts);
+
+         if (opts.flush) {
+           if (opts.flush !== binding.Z_NO_FLUSH &&
+               opts.flush !== binding.Z_PARTIAL_FLUSH &&
+               opts.flush !== binding.Z_SYNC_FLUSH &&
+               opts.flush !== binding.Z_FULL_FLUSH &&
+               opts.flush !== binding.Z_FINISH &&
+               opts.flush !== binding.Z_BLOCK) {
+             throw new Error('Invalid flush flag: ' + opts.flush);
+           }
+         }
+         this._flushFlag = opts.flush || binding.Z_NO_FLUSH;
+
+         if (opts.chunkSize) {
+           if (opts.chunkSize < exports.Z_MIN_CHUNK ||
+               opts.chunkSize > exports.Z_MAX_CHUNK) {
+             throw new Error('Invalid chunk size: ' + opts.chunkSize);
+           }
+         }
+
+         if (opts.windowBits) {
+           if (opts.windowBits < exports.Z_MIN_WINDOWBITS ||
+               opts.windowBits > exports.Z_MAX_WINDOWBITS) {
+             throw new Error('Invalid windowBits: ' + opts.windowBits);
+           }
+         }
+
+         if (opts.level) {
+           if (opts.level < exports.Z_MIN_LEVEL ||
+               opts.level > exports.Z_MAX_LEVEL) {
+             throw new Error('Invalid compression level: ' + opts.level);
+           }
+         }
+
+         if (opts.memLevel) {
+           if (opts.memLevel < exports.Z_MIN_MEMLEVEL ||
+               opts.memLevel > exports.Z_MAX_MEMLEVEL) {
+             throw new Error('Invalid memLevel: ' + opts.memLevel);
+           }
+         }
+
+         if (opts.strategy) {
+           if (opts.strategy != exports.Z_FILTERED &&
+               opts.strategy != exports.Z_HUFFMAN_ONLY &&
+               opts.strategy != exports.Z_RLE &&
+               opts.strategy != exports.Z_FIXED &&
+               opts.strategy != exports.Z_DEFAULT_STRATEGY) {
+             throw new Error('Invalid strategy: ' + opts.strategy);
+           }
+         }
+
+         if (opts.dictionary) {
+           if (!Buffer.isBuffer(opts.dictionary)) {
+             throw new Error('Invalid dictionary: it should be a Buffer instance');
+           }
+         }
+
+         this._binding = new binding.Zlib(mode);
+
+         var self = this;
+         this._hadError = false;
+         this._binding.onerror = function(message, errno) {
+           // there is no way to cleanly recover.
+           // continuing only obscures problems.
+           self._binding = null;
+           self._hadError = true;
+
+           var error = new Error(message);
+           error.errno = errno;
+           error.code = exports.codes[errno];
+           self.emit('error', error);
+         };
+
+         var level = exports.Z_DEFAULT_COMPRESSION;
+         if (typeof opts.level === 'number') level = opts.level;
+
+         var strategy = exports.Z_DEFAULT_STRATEGY;
+         if (typeof opts.strategy === 'number') strategy = opts.strategy;
+
+         this._binding.init(opts.windowBits || exports.Z_DEFAULT_WINDOWBITS,
+                            level,
+                            opts.memLevel || exports.Z_DEFAULT_MEMLEVEL,
+                            strategy,
+                            opts.dictionary);
+
+         this._buffer = new Buffer(this._chunkSize);
+         this._offset = 0;
+         this._closed = false;
+         this._level = level;
+         this._strategy = strategy;
+
+         this.once('end', this.close);
+       }
+
+       util.inherits(Zlib, Transform);
+
+       Zlib.prototype.params = function(level, strategy, callback) {
+         if (level < exports.Z_MIN_LEVEL ||
+             level > exports.Z_MAX_LEVEL) {
+           throw new RangeError('Invalid compression level: ' + level);
+         }
+         if (strategy != exports.Z_FILTERED &&
+             strategy != exports.Z_HUFFMAN_ONLY &&
+             strategy != exports.Z_RLE &&
+             strategy != exports.Z_FIXED &&
+             strategy != exports.Z_DEFAULT_STRATEGY) {
+           throw new TypeError('Invalid strategy: ' + strategy);
+         }
+
+         if (this._level !== level || this._strategy !== strategy) {
+           var self = this;
+           this.flush(binding.Z_SYNC_FLUSH, function() {
+             self._binding.params(level, strategy);
+             if (!self._hadError) {
+               self._level = level;
+               self._strategy = strategy;
+               if (callback) callback();
+             }
+           });
+         } else {
+           process.nextTick(callback);
+         }
+       };
+
+       Zlib.prototype.reset = function() {
+         return this._binding.reset();
+       };
+
+       // This is the _flush function called by the transform class,
+       // internally, when the last chunk has been written.
+       Zlib.prototype._flush = function(callback) {
+         this._transform(new Buffer(0), '', callback);
+       };
+
+       Zlib.prototype.flush = function(kind, callback) {
+         var ws = this._writableState;
+
+         if (typeof kind === 'function' || (kind === void 0 && !callback)) {
+           callback = kind;
+           kind = binding.Z_FULL_FLUSH;
+         }
+
+         if (ws.ended) {
+           if (callback)
+             process.nextTick(callback);
+         } else if (ws.ending) {
+           if (callback)
+             this.once('end', callback);
+         } else if (ws.needDrain) {
+           var self = this;
+           this.once('drain', function() {
+             self.flush(callback);
+           });
+         } else {
+           this._flushFlag = kind;
+           this.write(new Buffer(0), '', callback);
+         }
+       };
+
+       Zlib.prototype.close = function(callback) {
+         if (callback)
+           process.nextTick(callback);
+
+         if (this._closed)
+           return;
+
+         this._closed = true;
+
+         this._binding.close();
+
+         var self = this;
+         process.nextTick(function() {
+           self.emit('close');
+         });
+       };
+
+       Zlib.prototype._transform = function(chunk, encoding, cb) {
+         var flushFlag;
+         var ws = this._writableState;
+         var ending = ws.ending || ws.ended;
+         var last = ending && (!chunk || ws.length === chunk.length);
+
+         if (!chunk === null && !Buffer.isBuffer(chunk))
+           return cb(new Error('invalid input'));
+
+         // If it's the last chunk, or a final flush, we use the Z_FINISH flush flag.
+         // If it's explicitly flushing at some other time, then we use
+         // Z_FULL_FLUSH. Otherwise, use Z_NO_FLUSH for maximum compression
+         // goodness.
+         if (last)
+           flushFlag = binding.Z_FINISH;
+         else {
+           flushFlag = this._flushFlag;
+           // once we've flushed the last of the queue, stop flushing and
+           // go back to the normal behavior.
+           if (chunk.length >= ws.length) {
+             this._flushFlag = this._opts.flush || binding.Z_NO_FLUSH;
+           }
+         }
+
+         var self = this;
+         this._processChunk(chunk, flushFlag, cb);
+       };
+
+       Zlib.prototype._processChunk = function(chunk, flushFlag, cb) {
+         var availInBefore = chunk && chunk.length;
+         var availOutBefore = this._chunkSize - this._offset;
+         var inOff = 0;
+
+         var self = this;
+
+         var async = typeof cb === 'function';
+
+         if (!async) {
+           var buffers = [];
+           var nread = 0;
+
+           var error;
+           this.on('error', function(er) {
+             error = er;
+           });
+
+           do {
+             var res = this._binding.writeSync(flushFlag,
+                                               chunk, // in
+                                               inOff, // in_off
+                                               availInBefore, // in_len
+                                               this._buffer, // out
+                                               this._offset, //out_off
+                                               availOutBefore); // out_len
+           } while (!this._hadError && callback(res[0], res[1]));
+
+           if (this._hadError) {
+             throw error;
+           }
+
+           var buf = Buffer.concat(buffers, nread);
+           this.close();
+
+           return buf;
+         }
+
+         var req = this._binding.write(flushFlag,
+                                       chunk, // in
+                                       inOff, // in_off
+                                       availInBefore, // in_len
+                                       this._buffer, // out
+                                       this._offset, //out_off
+                                       availOutBefore); // out_len
+
+         req.buffer = chunk;
+         req.callback = callback;
+
+         function callback(availInAfter, availOutAfter) {
+           if (self._hadError)
+             return;
+
+           var have = availOutBefore - availOutAfter;
+           assert(have >= 0, 'have should not go down');
+
+           if (have > 0) {
+             var out = self._buffer.slice(self._offset, self._offset + have);
+             self._offset += have;
+             // serve some output to the consumer.
+             if (async) {
+               self.push(out);
+             } else {
+               buffers.push(out);
+               nread += out.length;
+             }
+           }
+
+           // exhausted the output buffer, or used all the input create a new one.
+           if (availOutAfter === 0 || self._offset >= self._chunkSize) {
+             availOutBefore = self._chunkSize;
+             self._offset = 0;
+             self._buffer = new Buffer(self._chunkSize);
+           }
+
+           if (availOutAfter === 0) {
+             // Not actually done.  Need to reprocess.
+             // Also, update the availInBefore to the availInAfter value,
+             // so that if we have to hit it a third (fourth, etc.) time,
+             // it'll have the correct byte counts.
+             inOff += (availInBefore - availInAfter);
+             availInBefore = availInAfter;
+
+             if (!async)
+               return true;
+
+             var newReq = self._binding.write(flushFlag,
+                                              chunk,
+                                              inOff,
+                                              availInBefore,
+                                              self._buffer,
+                                              self._offset,
+                                              self._chunkSize);
+             newReq.callback = callback; // this same function
+             newReq.buffer = chunk;
+             return;
+           }
+
+           if (!async)
+             return false;
+
+           // finished with the chunk.
+           cb();
+         }
+       };
+
+       util.inherits(Deflate, Zlib);
+       util.inherits(Inflate, Zlib);
+       util.inherits(Gzip, Zlib);
+       util.inherits(Gunzip, Zlib);
+       util.inherits(DeflateRaw, Zlib);
+       util.inherits(InflateRaw, Zlib);
+       util.inherits(Unzip, Zlib);
+
+       /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2).Buffer, __webpack_require__(30)))
+
+/***/ },
+/* 48 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* WEBPACK VAR INJECTION */(function(process, Buffer) {var msg = __webpack_require__(49);
+       var zstream = __webpack_require__(50);
+       var zlib_deflate = __webpack_require__(51);
+       var zlib_inflate = __webpack_require__(56);
+       var constants = __webpack_require__(59);
+
+       for (var key in constants) {
+         exports[key] = constants[key];
+       }
+
+       // zlib modes
+       exports.NONE = 0;
+       exports.DEFLATE = 1;
+       exports.INFLATE = 2;
+       exports.GZIP = 3;
+       exports.GUNZIP = 4;
+       exports.DEFLATERAW = 5;
+       exports.INFLATERAW = 6;
+       exports.UNZIP = 7;
+
+       /**
+        * Emulate Node's zlib C++ layer for use by the JS layer in index.js
+        */
+       function Zlib(mode) {
+         if (mode < exports.DEFLATE || mode > exports.UNZIP)
+           throw new TypeError("Bad argument");
+           
+         this.mode = mode;
+         this.init_done = false;
+         this.write_in_progress = false;
+         this.pending_close = false;
+         this.windowBits = 0;
+         this.level = 0;
+         this.memLevel = 0;
+         this.strategy = 0;
+         this.dictionary = null;
+       }
+
+       Zlib.prototype.init = function(windowBits, level, memLevel, strategy, dictionary) {
+         this.windowBits = windowBits;
+         this.level = level;
+         this.memLevel = memLevel;
+         this.strategy = strategy;
+         // dictionary not supported.
+         
+         if (this.mode === exports.GZIP || this.mode === exports.GUNZIP)
+           this.windowBits += 16;
+           
+         if (this.mode === exports.UNZIP)
+           this.windowBits += 32;
+           
+         if (this.mode === exports.DEFLATERAW || this.mode === exports.INFLATERAW)
+           this.windowBits = -this.windowBits;
+           
+         this.strm = new zstream();
+         
+         switch (this.mode) {
+           case exports.DEFLATE:
+           case exports.GZIP:
+           case exports.DEFLATERAW:
+             var status = zlib_deflate.deflateInit2(
+               this.strm,
+               this.level,
+               exports.Z_DEFLATED,
+               this.windowBits,
+               this.memLevel,
+               this.strategy
+             );
+             break;
+           case exports.INFLATE:
+           case exports.GUNZIP:
+           case exports.INFLATERAW:
+           case exports.UNZIP:
+             var status  = zlib_inflate.inflateInit2(
+               this.strm,
+               this.windowBits
+             );
+             break;
+           default:
+             throw new Error("Unknown mode " + this.mode);
+         }
+         
+         if (status !== exports.Z_OK) {
+           this._error(status);
+           return;
+         }
+         
+         this.write_in_progress = false;
+         this.init_done = true;
+       };
+
+       Zlib.prototype.params = function() {
+         throw new Error("deflateParams Not supported");
+       };
+
+       Zlib.prototype._writeCheck = function() {
+         if (!this.init_done)
+           throw new Error("write before init");
+           
+         if (this.mode === exports.NONE)
+           throw new Error("already finalized");
+           
+         if (this.write_in_progress)
+           throw new Error("write already in progress");
+           
+         if (this.pending_close)
+           throw new Error("close is pending");
+       };
+
+       Zlib.prototype.write = function(flush, input, in_off, in_len, out, out_off, out_len) {    
+         this._writeCheck();
+         this.write_in_progress = true;
+         
+         var self = this;
+         process.nextTick(function() {
+           self.write_in_progress = false;
+           var res = self._write(flush, input, in_off, in_len, out, out_off, out_len);
+           self.callback(res[0], res[1]);
+           
+           if (self.pending_close)
+             self.close();
+         });
+         
+         return this;
+       };
+
+       // set method for Node buffers, used by pako
+       function bufferSet(data, offset) {
+         for (var i = 0; i < data.length; i++) {
+           this[offset + i] = data[i];
+         }
+       }
+
+       Zlib.prototype.writeSync = function(flush, input, in_off, in_len, out, out_off, out_len) {
+         this._writeCheck();
+         return this._write(flush, input, in_off, in_len, out, out_off, out_len);
+       };
+
+       Zlib.prototype._write = function(flush, input, in_off, in_len, out, out_off, out_len) {
+         this.write_in_progress = true;
+         
+         if (flush !== exports.Z_NO_FLUSH &&
+             flush !== exports.Z_PARTIAL_FLUSH &&
+             flush !== exports.Z_SYNC_FLUSH &&
+             flush !== exports.Z_FULL_FLUSH &&
+             flush !== exports.Z_FINISH &&
+             flush !== exports.Z_BLOCK) {
+           throw new Error("Invalid flush value");
+         }
+         
+         if (input == null) {
+           input = new Buffer(0);
+           in_len = 0;
+           in_off = 0;
+         }
+         
+         if (out._set)
+           out.set = out._set;
+         else
+           out.set = bufferSet;
+         
+         var strm = this.strm;
+         strm.avail_in = in_len;
+         strm.input = input;
+         strm.next_in = in_off;
+         strm.avail_out = out_len;
+         strm.output = out;
+         strm.next_out = out_off;
+         
+         switch (this.mode) {
+           case exports.DEFLATE:
+           case exports.GZIP:
+           case exports.DEFLATERAW:
+             var status = zlib_deflate.deflate(strm, flush);
+             break;
+           case exports.UNZIP:
+           case exports.INFLATE:
+           case exports.GUNZIP:
+           case exports.INFLATERAW:
+             var status = zlib_inflate.inflate(strm, flush);
+             break;
+           default:
+             throw new Error("Unknown mode " + this.mode);
+         }
+         
+         if (status !== exports.Z_STREAM_END && status !== exports.Z_OK) {
+           this._error(status);
+         }
+         
+         this.write_in_progress = false;
+         return [strm.avail_in, strm.avail_out];
+       };
+
+       Zlib.prototype.close = function() {
+         if (this.write_in_progress) {
+           this.pending_close = true;
+           return;
+         }
+         
+         this.pending_close = false;
+         
+         if (this.mode === exports.DEFLATE || this.mode === exports.GZIP || this.mode === exports.DEFLATERAW) {
+           zlib_deflate.deflateEnd(this.strm);
+         } else {
+           zlib_inflate.inflateEnd(this.strm);
+         }
+         
+         this.mode = exports.NONE;
+       };
+
+       Zlib.prototype.reset = function() {
+         switch (this.mode) {
+           case exports.DEFLATE:
+           case exports.DEFLATERAW:
+             var status = zlib_deflate.deflateReset(this.strm);
+             break;
+           case exports.INFLATE:
+           case exports.INFLATERAW:
+             var status = zlib_inflate.inflateReset(this.strm);
+             break;
+         }
+         
+         if (status !== exports.Z_OK) {
+           this._error(status);
+         }
+       };
+
+       Zlib.prototype._error = function(status) {
+         this.onerror(msg[status] + ': ' + this.strm.msg, status);
+         
+         this.write_in_progress = false;
+         if (this.pending_close)
+           this.close();
+       };
+
+       exports.Zlib = Zlib;
+
+       /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(30), __webpack_require__(2).Buffer))
+
+/***/ },
+/* 49 */
+/***/ function(module, exports) {
+
+       'use strict';
+
+       module.exports = {
+         '2':    'need dictionary',     /* Z_NEED_DICT       2  */
+         '1':    'stream end',          /* Z_STREAM_END      1  */
+         '0':    '',                    /* Z_OK              0  */
+         '-1':   'file error',          /* Z_ERRNO         (-1) */
+         '-2':   'stream error',        /* Z_STREAM_ERROR  (-2) */
+         '-3':   'data error',          /* Z_DATA_ERROR    (-3) */
+         '-4':   'insufficient memory', /* Z_MEM_ERROR     (-4) */
+         '-5':   'buffer error',        /* Z_BUF_ERROR     (-5) */
+         '-6':   'incompatible version' /* Z_VERSION_ERROR (-6) */
+       };
+
+
+/***/ },
+/* 50 */
+/***/ function(module, exports) {
+
+       'use strict';
+
+
+       function ZStream() {
+         /* next input byte */
+         this.input = null; // JS specific, because we have no pointers
+         this.next_in = 0;
+         /* number of bytes available at input */
+         this.avail_in = 0;
+         /* total number of input bytes read so far */
+         this.total_in = 0;
+         /* next output byte should be put there */
+         this.output = null; // JS specific, because we have no pointers
+         this.next_out = 0;
+         /* remaining free space at output */
+         this.avail_out = 0;
+         /* total number of bytes output so far */
+         this.total_out = 0;
+         /* last error message, NULL if no error */
+         this.msg = ''/*Z_NULL*/;
+         /* not visible by applications */
+         this.state = null;
+         /* best guess about the data type: binary or text */
+         this.data_type = 2/*Z_UNKNOWN*/;
+         /* adler32 value of the uncompressed data */
+         this.adler = 0;
+       }
+
+       module.exports = ZStream;
+
+
+/***/ },
+/* 51 */
+/***/ function(module, exports, __webpack_require__) {
+
+       'use strict';
+
+       var utils   = __webpack_require__(52);
+       var trees   = __webpack_require__(53);
+       var adler32 = __webpack_require__(54);
+       var crc32   = __webpack_require__(55);
+       var msg   = __webpack_require__(49);
+
+       /* Public constants ==========================================================*/
+       /* ===========================================================================*/
+
+
+       /* Allowed flush values; see deflate() and inflate() below for details */
+       var Z_NO_FLUSH      = 0;
+       var Z_PARTIAL_FLUSH = 1;
+       //var Z_SYNC_FLUSH    = 2;
+       var Z_FULL_FLUSH    = 3;
+       var Z_FINISH        = 4;
+       var Z_BLOCK         = 5;
+       //var Z_TREES         = 6;
+
+
+       /* Return codes for the compression/decompression functions. Negative values
+        * are errors, positive values are used for special but normal events.
+        */
+       var Z_OK            = 0;
+       var Z_STREAM_END    = 1;
+       //var Z_NEED_DICT     = 2;
+       //var Z_ERRNO         = -1;
+       var Z_STREAM_ERROR  = -2;
+       var Z_DATA_ERROR    = -3;
+       //var Z_MEM_ERROR     = -4;
+       var Z_BUF_ERROR     = -5;
+       //var Z_VERSION_ERROR = -6;
+
+
+       /* compression levels */
+       //var Z_NO_COMPRESSION      = 0;
+       //var Z_BEST_SPEED          = 1;
+       //var Z_BEST_COMPRESSION    = 9;
+       var Z_DEFAULT_COMPRESSION = -1;
+
+
+       var Z_FILTERED            = 1;
+       var Z_HUFFMAN_ONLY        = 2;
+       var Z_RLE                 = 3;
+       var Z_FIXED               = 4;
+       var Z_DEFAULT_STRATEGY    = 0;
+
+       /* Possible values of the data_type field (though see inflate()) */
+       //var Z_BINARY              = 0;
+       //var Z_TEXT                = 1;
+       //var Z_ASCII               = 1; // = Z_TEXT
+       var Z_UNKNOWN             = 2;
+
+
+       /* The deflate compression method */
+       var Z_DEFLATED  = 8;
+
+       /*============================================================================*/
+
+
+       var MAX_MEM_LEVEL = 9;
+       /* Maximum value for memLevel in deflateInit2 */
+       var MAX_WBITS = 15;
+       /* 32K LZ77 window */
+       var DEF_MEM_LEVEL = 8;
+
+
+       var LENGTH_CODES  = 29;
+       /* number of length codes, not counting the special END_BLOCK code */
+       var LITERALS      = 256;
+       /* number of literal bytes 0..255 */
+       var L_CODES       = LITERALS + 1 + LENGTH_CODES;
+       /* number of Literal or Length codes, including the END_BLOCK code */
+       var D_CODES       = 30;
+       /* number of distance codes */
+       var BL_CODES      = 19;
+       /* number of codes used to transfer the bit lengths */
+       var HEAP_SIZE     = 2*L_CODES + 1;
+       /* maximum heap size */
+       var MAX_BITS  = 15;
+       /* All codes must not exceed MAX_BITS bits */
+
+       var MIN_MATCH = 3;
+       var MAX_MATCH = 258;
+       var MIN_LOOKAHEAD = (MAX_MATCH + MIN_MATCH + 1);
+
+       var PRESET_DICT = 0x20;
+
+       var INIT_STATE = 42;
+       var EXTRA_STATE = 69;
+       var NAME_STATE = 73;
+       var COMMENT_STATE = 91;
+       var HCRC_STATE = 103;
+       var BUSY_STATE = 113;
+       var FINISH_STATE = 666;
+
+       var BS_NEED_MORE      = 1; /* block not completed, need more input or more output */
+       var BS_BLOCK_DONE     = 2; /* block flush performed */
+       var BS_FINISH_STARTED = 3; /* finish started, need only more output at next deflate */
+       var BS_FINISH_DONE    = 4; /* finish done, accept no more input or output */
+
+       var OS_CODE = 0x03; // Unix :) . Don't detect, use this default.
+
+       function err(strm, errorCode) {
+         strm.msg = msg[errorCode];
+         return errorCode;
+       }
+
+       function rank(f) {
+         return ((f) << 1) - ((f) > 4 ? 9 : 0);
+       }
+
+       function zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }
+
+
+       /* =========================================================================
+        * Flush as much pending output as possible. All deflate() output goes
+        * through this function so some applications may wish to modify it
+        * to avoid allocating a large strm->output buffer and copying into it.
+        * (See also read_buf()).
+        */
+       function flush_pending(strm) {
+         var s = strm.state;
+
+         //_tr_flush_bits(s);
+         var len = s.pending;
+         if (len > strm.avail_out) {
+           len = strm.avail_out;
+         }
+         if (len === 0) { return; }
+
+         utils.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out);
+         strm.next_out += len;
+         s.pending_out += len;
+         strm.total_out += len;
+         strm.avail_out -= len;
+         s.pending -= len;
+         if (s.pending === 0) {
+           s.pending_out = 0;
+         }
+       }
+
+
+       function flush_block_only (s, last) {
+         trees._tr_flush_block(s, (s.block_start >= 0 ? s.block_start : -1), s.strstart - s.block_start, last);
+         s.block_start = s.strstart;
+         flush_pending(s.strm);
+       }
+
+
+       function put_byte(s, b) {
+         s.pending_buf[s.pending++] = b;
+       }
+
+
+       /* =========================================================================
+        * Put a short in the pending buffer. The 16-bit value is put in MSB order.
+        * IN assertion: the stream state is correct and there is enough room in
+        * pending_buf.
+        */
+       function putShortMSB(s, b) {
+       //  put_byte(s, (Byte)(b >> 8));
+       //  put_byte(s, (Byte)(b & 0xff));
+         s.pending_buf[s.pending++] = (b >>> 8) & 0xff;
+         s.pending_buf[s.pending++] = b & 0xff;
+       }
+
+
+       /* ===========================================================================
+        * Read a new buffer from the current input stream, update the adler32
+        * and total number of bytes read.  All deflate() input goes through
+        * this function so some applications may wish to modify it to avoid
+        * allocating a large strm->input buffer and copying from it.
+        * (See also flush_pending()).
+        */
+       function read_buf(strm, buf, start, size) {
+         var len = strm.avail_in;
+
+         if (len > size) { len = size; }
+         if (len === 0) { return 0; }
+
+         strm.avail_in -= len;
+
+         utils.arraySet(buf, strm.input, strm.next_in, len, start);
+         if (strm.state.wrap === 1) {
+           strm.adler = adler32(strm.adler, buf, len, start);
+         }
+
+         else if (strm.state.wrap === 2) {
+           strm.adler = crc32(strm.adler, buf, len, start);
+         }
+
+         strm.next_in += len;
+         strm.total_in += len;
+
+         return len;
+       }
+
+
+       /* ===========================================================================
+        * Set match_start to the longest match starting at the given string and
+        * return its length. Matches shorter or equal to prev_length are discarded,
+        * in which case the result is equal to prev_length and match_start is
+        * garbage.
+        * IN assertions: cur_match is the head of the hash chain for the current
+        *   string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
+        * OUT assertion: the match length is not greater than s->lookahead.
+        */
+       function longest_match(s, cur_match) {
+         var chain_length = s.max_chain_length;      /* max hash chain length */
+         var scan = s.strstart; /* current string */
+         var match;                       /* matched string */
+         var len;                           /* length of current match */
+         var best_len = s.prev_length;              /* best match length so far */
+         var nice_match = s.nice_match;             /* stop if match long enough */
+         var limit = (s.strstart > (s.w_size - MIN_LOOKAHEAD)) ?
+             s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0/*NIL*/;
+
+         var _win = s.window; // shortcut
+
+         var wmask = s.w_mask;
+         var prev  = s.prev;
+
+         /* Stop when cur_match becomes <= limit. To simplify the code,
+          * we prevent matches with the string of window index 0.
+          */
+
+         var strend = s.strstart + MAX_MATCH;
+         var scan_end1  = _win[scan + best_len - 1];
+         var scan_end   = _win[scan + best_len];
+
+         /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
+          * It is easy to get rid of this optimization if necessary.
+          */
+         // Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever");
+
+         /* Do not waste too much time if we already have a good match: */
+         if (s.prev_length >= s.good_match) {
+           chain_length >>= 2;
+         }
+         /* Do not look for matches beyond the end of the input. This is necessary
+          * to make deflate deterministic.
+          */
+         if (nice_match > s.lookahead) { nice_match = s.lookahead; }
+
+         // Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");
+
+         do {
+           // Assert(cur_match < s->strstart, "no future");
+           match = cur_match;
+
+           /* Skip to next match if the match length cannot increase
+            * or if the match length is less than 2.  Note that the checks below
+            * for insufficient lookahead only occur occasionally for performance
+            * reasons.  Therefore uninitialized memory will be accessed, and
+            * conditional jumps will be made that depend on those values.
+            * However the length of the match is limited to the lookahead, so
+            * the output of deflate is not affected by the uninitialized values.
+            */
+
+           if (_win[match + best_len]     !== scan_end  ||
+               _win[match + best_len - 1] !== scan_end1 ||
+               _win[match]                !== _win[scan] ||
+               _win[++match]              !== _win[scan + 1]) {
+             continue;
+           }
+
+           /* The check at best_len-1 can be removed because it will be made
+            * again later. (This heuristic is not always a win.)
+            * It is not necessary to compare scan[2] and match[2] since they
+            * are always equal when the other bytes match, given that
+            * the hash keys are equal and that HASH_BITS >= 8.
+            */
+           scan += 2;
+           match++;
+           // Assert(*scan == *match, "match[2]?");
+
+           /* We check for insufficient lookahead only every 8th comparison;
+            * the 256th check will be made at strstart+258.
+            */
+           do {
+             /*jshint noempty:false*/
+           } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&
+                    _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&
+                    _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&
+                    _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&
+                    scan < strend);
+
+           // Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
+
+           len = MAX_MATCH - (strend - scan);
+           scan = strend - MAX_MATCH;
+
+           if (len > best_len) {
+             s.match_start = cur_match;
+             best_len = len;
+             if (len >= nice_match) {
+               break;
+             }
+             scan_end1  = _win[scan + best_len - 1];
+             scan_end   = _win[scan + best_len];
+           }
+         } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);
+
+         if (best_len <= s.lookahead) {
+           return best_len;
+         }
+         return s.lookahead;
+       }
+
+
+       /* ===========================================================================
+        * Fill the window when the lookahead becomes insufficient.
+        * Updates strstart and lookahead.
+        *
+        * IN assertion: lookahead < MIN_LOOKAHEAD
+        * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD
+        *    At least one byte has been read, or avail_in == 0; reads are
+        *    performed for at least two bytes (required for the zip translate_eol
+        *    option -- not supported here).
+        */
+       function fill_window(s) {
+         var _w_size = s.w_size;
+         var p, n, m, more, str;
+
+         //Assert(s->lookahead < MIN_LOOKAHEAD, "already enough lookahead");
+
+         do {
+           more = s.window_size - s.lookahead - s.strstart;
+
+           // JS ints have 32 bit, block below not needed
+           /* Deal with !@#$% 64K limit: */
+           //if (sizeof(int) <= 2) {
+           //    if (more == 0 && s->strstart == 0 && s->lookahead == 0) {
+           //        more = wsize;
+           //
+           //  } else if (more == (unsigned)(-1)) {
+           //        /* Very unlikely, but possible on 16 bit machine if
+           //         * strstart == 0 && lookahead == 1 (input done a byte at time)
+           //         */
+           //        more--;
+           //    }
+           //}
+
+
+           /* If the window is almost full and there is insufficient lookahead,
+            * move the upper half to the lower one to make room in the upper half.
+            */
+           if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {
+
+             utils.arraySet(s.window, s.window, _w_size, _w_size, 0);
+             s.match_start -= _w_size;
+             s.strstart -= _w_size;
+             /* we now have strstart >= MAX_DIST */
+             s.block_start -= _w_size;
+
+             /* Slide the hash table (could be avoided with 32 bit values
+              at the expense of memory usage). We slide even when level == 0
+              to keep the hash table consistent if we switch back to level > 0
+              later. (Using level 0 permanently is not an optimal usage of
+              zlib, so we don't care about this pathological case.)
+              */
+
+             n = s.hash_size;
+             p = n;
+             do {
+               m = s.head[--p];
+               s.head[p] = (m >= _w_size ? m - _w_size : 0);
+             } while (--n);
+
+             n = _w_size;
+             p = n;
+             do {
+               m = s.prev[--p];
+               s.prev[p] = (m >= _w_size ? m - _w_size : 0);
+               /* If n is not on any hash chain, prev[n] is garbage but
+                * its value will never be used.
+                */
+             } while (--n);
+
+             more += _w_size;
+           }
+           if (s.strm.avail_in === 0) {
+             break;
+           }
+
+           /* If there was no sliding:
+            *    strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&
+            *    more == window_size - lookahead - strstart
+            * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)
+            * => more >= window_size - 2*WSIZE + 2
+            * In the BIG_MEM or MMAP case (not yet supported),
+            *   window_size == input_size + MIN_LOOKAHEAD  &&
+            *   strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.
+            * Otherwise, window_size == 2*WSIZE so more >= 2.
+            * If there was sliding, more >= WSIZE. So in all cases, more >= 2.
+            */
+           //Assert(more >= 2, "more < 2");
+           n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more);
+           s.lookahead += n;
+
+           /* Initialize the hash value now that we have some input: */
+           if (s.lookahead + s.insert >= MIN_MATCH) {
+             str = s.strstart - s.insert;
+             s.ins_h = s.window[str];
+
+             /* UPDATE_HASH(s, s->ins_h, s->window[str + 1]); */
+             s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + 1]) & s.hash_mask;
+       //#if MIN_MATCH != 3
+       //        Call update_hash() MIN_MATCH-3 more times
+       //#endif
+             while (s.insert) {
+               /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */
+               s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH-1]) & s.hash_mask;
+
+               s.prev[str & s.w_mask] = s.head[s.ins_h];
+               s.head[s.ins_h] = str;
+               str++;
+               s.insert--;
+               if (s.lookahead + s.insert < MIN_MATCH) {
+                 break;
+               }
+             }
+           }
+           /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,
+            * but this is not important since only literal bytes will be emitted.
+            */
+
+         } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);
+
+         /* If the WIN_INIT bytes after the end of the current data have never been
+          * written, then zero those bytes in order to avoid memory check reports of
+          * the use of uninitialized (or uninitialised as Julian writes) bytes by
+          * the longest match routines.  Update the high water mark for the next
+          * time through here.  WIN_INIT is set to MAX_MATCH since the longest match
+          * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.
+          */
+       //  if (s.high_water < s.window_size) {
+       //    var curr = s.strstart + s.lookahead;
+       //    var init = 0;
+       //
+       //    if (s.high_water < curr) {
+       //      /* Previous high water mark below current data -- zero WIN_INIT
+       //       * bytes or up to end of window, whichever is less.
+       //       */
+       //      init = s.window_size - curr;
+       //      if (init > WIN_INIT)
+       //        init = WIN_INIT;
+       //      zmemzero(s->window + curr, (unsigned)init);
+       //      s->high_water = curr + init;
+       //    }
+       //    else if (s->high_water < (ulg)curr + WIN_INIT) {
+       //      /* High water mark at or above current data, but below current data
+       //       * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up
+       //       * to end of window, whichever is less.
+       //       */
+       //      init = (ulg)curr + WIN_INIT - s->high_water;
+       //      if (init > s->window_size - s->high_water)
+       //        init = s->window_size - s->high_water;
+       //      zmemzero(s->window + s->high_water, (unsigned)init);
+       //      s->high_water += init;
+       //    }
+       //  }
+       //
+       //  Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,
+       //    "not enough room for search");
+       }
+
+       /* ===========================================================================
+        * Copy without compression as much as possible from the input stream, return
+        * the current block state.
+        * This function does not insert new strings in the dictionary since
+        * uncompressible data is probably not useful. This function is used
+        * only for the level=0 compression option.
+        * NOTE: this function should be optimized to avoid extra copying from
+        * window to pending_buf.
+        */
+       function deflate_stored(s, flush) {
+         /* Stored blocks are limited to 0xffff bytes, pending_buf is limited
+          * to pending_buf_size, and each stored block has a 5 byte header:
+          */
+         var max_block_size = 0xffff;
+
+         if (max_block_size > s.pending_buf_size - 5) {
+           max_block_size = s.pending_buf_size - 5;
+         }
+
+         /* Copy as much as possible from input to output: */
+         for (;;) {
+           /* Fill the window as much as possible: */
+           if (s.lookahead <= 1) {
+
+             //Assert(s->strstart < s->w_size+MAX_DIST(s) ||
+             //  s->block_start >= (long)s->w_size, "slide too late");
+       //      if (!(s.strstart < s.w_size + (s.w_size - MIN_LOOKAHEAD) ||
+       //        s.block_start >= s.w_size)) {
+       //        throw  new Error("slide too late");
+       //      }
+
+             fill_window(s);
+             if (s.lookahead === 0 && flush === Z_NO_FLUSH) {
+               return BS_NEED_MORE;
+             }
+
+             if (s.lookahead === 0) {
+               break;
+             }
+             /* flush the current block */
+           }
+           //Assert(s->block_start >= 0L, "block gone");
+       //    if (s.block_start < 0) throw new Error("block gone");
+
+           s.strstart += s.lookahead;
+           s.lookahead = 0;
+
+           /* Emit a stored block if pending_buf will be full: */
+           var max_start = s.block_start + max_block_size;
+
+           if (s.strstart === 0 || s.strstart >= max_start) {
+             /* strstart == 0 is possible when wraparound on 16-bit machine */
+             s.lookahead = s.strstart - max_start;
+             s.strstart = max_start;
+             /*** FLUSH_BLOCK(s, 0); ***/
+             flush_block_only(s, false);
+             if (s.strm.avail_out === 0) {
+               return BS_NEED_MORE;
+             }
+             /***/
+
+
+           }
+           /* Flush if we may have to slide, otherwise block_start may become
+            * negative and the data will be gone:
+            */
+           if (s.strstart - s.block_start >= (s.w_size - MIN_LOOKAHEAD)) {
+             /*** FLUSH_BLOCK(s, 0); ***/
+             flush_block_only(s, false);
+             if (s.strm.avail_out === 0) {
+               return BS_NEED_MORE;
+             }
+             /***/
+           }
+         }
+
+         s.insert = 0;
+
+         if (flush === Z_FINISH) {
+           /*** FLUSH_BLOCK(s, 1); ***/
+           flush_block_only(s, true);
+           if (s.strm.avail_out === 0) {
+             return BS_FINISH_STARTED;
+           }
+           /***/
+           return BS_FINISH_DONE;
+         }
+
+         if (s.strstart > s.block_start) {
+           /*** FLUSH_BLOCK(s, 0); ***/
+           flush_block_only(s, false);
+           if (s.strm.avail_out === 0) {
+             return BS_NEED_MORE;
+           }
+           /***/
+         }
+
+         return BS_NEED_MORE;
+       }
+
+       /* ===========================================================================
+        * Compress as much as possible from the input stream, return the current
+        * block state.
+        * This function does not perform lazy evaluation of matches and inserts
+        * new strings in the dictionary only for unmatched strings or for short
+        * matches. It is used only for the fast compression options.
+        */
+       function deflate_fast(s, flush) {
+         var hash_head;        /* head of the hash chain */
+         var bflush;           /* set if current block must be flushed */
+
+         for (;;) {
+           /* Make sure that we always have enough lookahead, except
+            * at the end of the input file. We need MAX_MATCH bytes
+            * for the next match, plus MIN_MATCH bytes to insert the
+            * string following the next match.
+            */
+           if (s.lookahead < MIN_LOOKAHEAD) {
+             fill_window(s);
+             if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {
+               return BS_NEED_MORE;
+             }
+             if (s.lookahead === 0) {
+               break; /* flush the current block */
+             }
+           }
+
+           /* Insert the string window[strstart .. strstart+2] in the
+            * dictionary, and set hash_head to the head of the hash chain:
+            */
+           hash_head = 0/*NIL*/;
+           if (s.lookahead >= MIN_MATCH) {
+             /*** INSERT_STRING(s, s.strstart, hash_head); ***/
+             s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;
+             hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];
+             s.head[s.ins_h] = s.strstart;
+             /***/
+           }
+
+           /* Find the longest match, discarding those <= prev_length.
+            * At this point we have always match_length < MIN_MATCH
+            */
+           if (hash_head !== 0/*NIL*/ && ((s.strstart - hash_head) <= (s.w_size - MIN_LOOKAHEAD))) {
+             /* To simplify the code, we prevent matches with the string
+              * of window index 0 (in particular we have to avoid a match
+              * of the string with itself at the start of the input file).
+              */
+             s.match_length = longest_match(s, hash_head);
+             /* longest_match() sets match_start */
+           }
+           if (s.match_length >= MIN_MATCH) {
+             // check_match(s, s.strstart, s.match_start, s.match_length); // for debug only
+
+             /*** _tr_tally_dist(s, s.strstart - s.match_start,
+                            s.match_length - MIN_MATCH, bflush); ***/
+             bflush = trees._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH);
+
+             s.lookahead -= s.match_length;
+
+             /* Insert new strings in the hash table only if the match length
+              * is not too large. This saves time but degrades compression.
+              */
+             if (s.match_length <= s.max_lazy_match/*max_insert_length*/ && s.lookahead >= MIN_MATCH) {
+               s.match_length--; /* string at strstart already in table */
+               do {
+                 s.strstart++;
+                 /*** INSERT_STRING(s, s.strstart, hash_head); ***/
+                 s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;
+                 hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];
+                 s.head[s.ins_h] = s.strstart;
+                 /***/
+                 /* strstart never exceeds WSIZE-MAX_MATCH, so there are
+                  * always MIN_MATCH bytes ahead.
+                  */
+               } while (--s.match_length !== 0);
+               s.strstart++;
+             } else
+             {
+               s.strstart += s.match_length;
+               s.match_length = 0;
+               s.ins_h = s.window[s.strstart];
+               /* UPDATE_HASH(s, s.ins_h, s.window[s.strstart+1]); */
+               s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + 1]) & s.hash_mask;
+
+       //#if MIN_MATCH != 3
+       //                Call UPDATE_HASH() MIN_MATCH-3 more times
+       //#endif
+               /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not
+                * matter since it will be recomputed at next deflate call.
+                */
+             }
+           } else {
+             /* No match, output a literal byte */
+             //Tracevv((stderr,"%c", s.window[s.strstart]));
+             /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/
+             bflush = trees._tr_tally(s, 0, s.window[s.strstart]);
+
+             s.lookahead--;
+             s.strstart++;
+           }
+           if (bflush) {
+             /*** FLUSH_BLOCK(s, 0); ***/
+             flush_block_only(s, false);
+             if (s.strm.avail_out === 0) {
+               return BS_NEED_MORE;
+             }
+             /***/
+           }
+         }
+         s.insert = ((s.strstart < (MIN_MATCH-1)) ? s.strstart : MIN_MATCH-1);
+         if (flush === Z_FINISH) {
+           /*** FLUSH_BLOCK(s, 1); ***/
+           flush_block_only(s, true);
+           if (s.strm.avail_out === 0) {
+             return BS_FINISH_STARTED;
+           }
+           /***/
+           return BS_FINISH_DONE;
+         }
+         if (s.last_lit) {
+           /*** FLUSH_BLOCK(s, 0); ***/
+           flush_block_only(s, false);
+           if (s.strm.avail_out === 0) {
+             return BS_NEED_MORE;
+           }
+           /***/
+         }
+         return BS_BLOCK_DONE;
+       }
+
+       /* ===========================================================================
+        * Same as above, but achieves better compression. We use a lazy
+        * evaluation for matches: a match is finally adopted only if there is
+        * no better match at the next window position.
+        */
+       function deflate_slow(s, flush) {
+         var hash_head;          /* head of hash chain */
+         var bflush;              /* set if current block must be flushed */
+
+         var max_insert;
+
+         /* Process the input block. */
+         for (;;) {
+           /* Make sure that we always have enough lookahead, except
+            * at the end of the input file. We need MAX_MATCH bytes
+            * for the next match, plus MIN_MATCH bytes to insert the
+            * string following the next match.
+            */
+           if (s.lookahead < MIN_LOOKAHEAD) {
+             fill_window(s);
+             if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {
+               return BS_NEED_MORE;
+             }
+             if (s.lookahead === 0) { break; } /* flush the current block */
+           }
+
+           /* Insert the string window[strstart .. strstart+2] in the
+            * dictionary, and set hash_head to the head of the hash chain:
+            */
+           hash_head = 0/*NIL*/;
+           if (s.lookahead >= MIN_MATCH) {
+             /*** INSERT_STRING(s, s.strstart, hash_head); ***/
+             s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;
+             hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];
+             s.head[s.ins_h] = s.strstart;
+             /***/
+           }
+
+           /* Find the longest match, discarding those <= prev_length.
+            */
+           s.prev_length = s.match_length;
+           s.prev_match = s.match_start;
+           s.match_length = MIN_MATCH-1;
+
+           if (hash_head !== 0/*NIL*/ && s.prev_length < s.max_lazy_match &&
+               s.strstart - hash_head <= (s.w_size-MIN_LOOKAHEAD)/*MAX_DIST(s)*/) {
+             /* To simplify the code, we prevent matches with the string
+              * of window index 0 (in particular we have to avoid a match
+              * of the string with itself at the start of the input file).
+              */
+             s.match_length = longest_match(s, hash_head);
+             /* longest_match() sets match_start */
+
+             if (s.match_length <= 5 &&
+                (s.strategy === Z_FILTERED || (s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096/*TOO_FAR*/))) {
+
+               /* If prev_match is also MIN_MATCH, match_start is garbage
+                * but we will ignore the current match anyway.
+                */
+               s.match_length = MIN_MATCH-1;
+             }
+           }
+           /* If there was a match at the previous step and the current
+            * match is not better, output the previous match:
+            */
+           if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {
+             max_insert = s.strstart + s.lookahead - MIN_MATCH;
+             /* Do not insert strings in hash table beyond this. */
+
+             //check_match(s, s.strstart-1, s.prev_match, s.prev_length);
+
+             /***_tr_tally_dist(s, s.strstart - 1 - s.prev_match,
+                            s.prev_length - MIN_MATCH, bflush);***/
+             bflush = trees._tr_tally(s, s.strstart - 1- s.prev_match, s.prev_length - MIN_MATCH);
+             /* Insert in hash table all strings up to the end of the match.
+              * strstart-1 and strstart are already inserted. If there is not
+              * enough lookahead, the last two strings are not inserted in
+              * the hash table.
+              */
+             s.lookahead -= s.prev_length-1;
+             s.prev_length -= 2;
+             do {
+               if (++s.strstart <= max_insert) {
+                 /*** INSERT_STRING(s, s.strstart, hash_head); ***/
+                 s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;
+                 hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];
+                 s.head[s.ins_h] = s.strstart;
+                 /***/
+               }
+             } while (--s.prev_length !== 0);
+             s.match_available = 0;
+             s.match_length = MIN_MATCH-1;
+             s.strstart++;
+
+             if (bflush) {
+               /*** FLUSH_BLOCK(s, 0); ***/
+               flush_block_only(s, false);
+               if (s.strm.avail_out === 0) {
+                 return BS_NEED_MORE;
+               }
+               /***/
+             }
+
+           } else if (s.match_available) {
+             /* If there was no match at the previous position, output a
+              * single literal. If there was a match but the current match
+              * is longer, truncate the previous match to a single literal.
+              */
+             //Tracevv((stderr,"%c", s->window[s->strstart-1]));
+             /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/
+             bflush = trees._tr_tally(s, 0, s.window[s.strstart-1]);
+
+             if (bflush) {
+               /*** FLUSH_BLOCK_ONLY(s, 0) ***/
+               flush_block_only(s, false);
+               /***/
+             }
+             s.strstart++;
+             s.lookahead--;
+             if (s.strm.avail_out === 0) {
+               return BS_NEED_MORE;
+             }
+           } else {
+             /* There is no previous match to compare with, wait for
+              * the next step to decide.
+              */
+             s.match_available = 1;
+             s.strstart++;
+             s.lookahead--;
+           }
+         }
+         //Assert (flush != Z_NO_FLUSH, "no flush?");
+         if (s.match_available) {
+           //Tracevv((stderr,"%c", s->window[s->strstart-1]));
+           /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/
+           bflush = trees._tr_tally(s, 0, s.window[s.strstart-1]);
+
+           s.match_available = 0;
+         }
+         s.insert = s.strstart < MIN_MATCH-1 ? s.strstart : MIN_MATCH-1;
+         if (flush === Z_FINISH) {
+           /*** FLUSH_BLOCK(s, 1); ***/
+           flush_block_only(s, true);
+           if (s.strm.avail_out === 0) {
+             return BS_FINISH_STARTED;
+           }
+           /***/
+           return BS_FINISH_DONE;
+         }
+         if (s.last_lit) {
+           /*** FLUSH_BLOCK(s, 0); ***/
+           flush_block_only(s, false);
+           if (s.strm.avail_out === 0) {
+             return BS_NEED_MORE;
+           }
+           /***/
+         }
+
+         return BS_BLOCK_DONE;
+       }
+
+
+       /* ===========================================================================
+        * For Z_RLE, simply look for runs of bytes, generate matches only of distance
+        * one.  Do not maintain a hash table.  (It will be regenerated if this run of
+        * deflate switches away from Z_RLE.)
+        */
+       function deflate_rle(s, flush) {
+         var bflush;            /* set if current block must be flushed */
+         var prev;              /* byte at distance one to match */
+         var scan, strend;      /* scan goes up to strend for length of run */
+
+         var _win = s.window;
+
+         for (;;) {
+           /* Make sure that we always have enough lookahead, except
+            * at the end of the input file. We need MAX_MATCH bytes
+            * for the longest run, plus one for the unrolled loop.
+            */
+           if (s.lookahead <= MAX_MATCH) {
+             fill_window(s);
+             if (s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH) {
+               return BS_NEED_MORE;
+             }
+             if (s.lookahead === 0) { break; } /* flush the current block */
+           }
+
+           /* See how many times the previous byte repeats */
+           s.match_length = 0;
+           if (s.lookahead >= MIN_MATCH && s.strstart > 0) {
+             scan = s.strstart - 1;
+             prev = _win[scan];
+             if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {
+               strend = s.strstart + MAX_MATCH;
+               do {
+                 /*jshint noempty:false*/
+               } while (prev === _win[++scan] && prev === _win[++scan] &&
+                        prev === _win[++scan] && prev === _win[++scan] &&
+                        prev === _win[++scan] && prev === _win[++scan] &&
+                        prev === _win[++scan] && prev === _win[++scan] &&
+                        scan < strend);
+               s.match_length = MAX_MATCH - (strend - scan);
+               if (s.match_length > s.lookahead) {
+                 s.match_length = s.lookahead;
+               }
+             }
+             //Assert(scan <= s->window+(uInt)(s->window_size-1), "wild scan");
+           }
+
+           /* Emit match if have run of MIN_MATCH or longer, else emit literal */
+           if (s.match_length >= MIN_MATCH) {
+             //check_match(s, s.strstart, s.strstart - 1, s.match_length);
+
+             /*** _tr_tally_dist(s, 1, s.match_length - MIN_MATCH, bflush); ***/
+             bflush = trees._tr_tally(s, 1, s.match_length - MIN_MATCH);
+
+             s.lookahead -= s.match_length;
+             s.strstart += s.match_length;
+             s.match_length = 0;
+           } else {
+             /* No match, output a literal byte */
+             //Tracevv((stderr,"%c", s->window[s->strstart]));
+             /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/
+             bflush = trees._tr_tally(s, 0, s.window[s.strstart]);
+
+             s.lookahead--;
+             s.strstart++;
+           }
+           if (bflush) {
+             /*** FLUSH_BLOCK(s, 0); ***/
+             flush_block_only(s, false);
+             if (s.strm.avail_out === 0) {
+               return BS_NEED_MORE;
+             }
+             /***/
+           }
+         }
+         s.insert = 0;
+         if (flush === Z_FINISH) {
+           /*** FLUSH_BLOCK(s, 1); ***/
+           flush_block_only(s, true);
+           if (s.strm.avail_out === 0) {
+             return BS_FINISH_STARTED;
+           }
+           /***/
+           return BS_FINISH_DONE;
+         }
+         if (s.last_lit) {
+           /*** FLUSH_BLOCK(s, 0); ***/
+           flush_block_only(s, false);
+           if (s.strm.avail_out === 0) {
+             return BS_NEED_MORE;
+           }
+           /***/
+         }
+         return BS_BLOCK_DONE;
+       }
+
+       /* ===========================================================================
+        * For Z_HUFFMAN_ONLY, do not look for matches.  Do not maintain a hash table.
+        * (It will be regenerated if this run of deflate switches away from Huffman.)
+        */
+       function deflate_huff(s, flush) {
+         var bflush;             /* set if current block must be flushed */
+
+         for (;;) {
+           /* Make sure that we have a literal to write. */
+           if (s.lookahead === 0) {
+             fill_window(s);
+             if (s.lookahead === 0) {
+               if (flush === Z_NO_FLUSH) {
+                 return BS_NEED_MORE;
+               }
+               break;      /* flush the current block */
+             }
+           }
+
+           /* Output a literal byte */
+           s.match_length = 0;
+           //Tracevv((stderr,"%c", s->window[s->strstart]));
+           /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/
+           bflush = trees._tr_tally(s, 0, s.window[s.strstart]);
+           s.lookahead--;
+           s.strstart++;
+           if (bflush) {
+             /*** FLUSH_BLOCK(s, 0); ***/
+             flush_block_only(s, false);
+             if (s.strm.avail_out === 0) {
+               return BS_NEED_MORE;
+             }
+             /***/
+           }
+         }
+         s.insert = 0;
+         if (flush === Z_FINISH) {
+           /*** FLUSH_BLOCK(s, 1); ***/
+           flush_block_only(s, true);
+           if (s.strm.avail_out === 0) {
+             return BS_FINISH_STARTED;
+           }
+           /***/
+           return BS_FINISH_DONE;
+         }
+         if (s.last_lit) {
+           /*** FLUSH_BLOCK(s, 0); ***/
+           flush_block_only(s, false);
+           if (s.strm.avail_out === 0) {
+             return BS_NEED_MORE;
+           }
+           /***/
+         }
+         return BS_BLOCK_DONE;
+       }
+
+       /* Values for max_lazy_match, good_match and max_chain_length, depending on
+        * the desired pack level (0..9). The values given below have been tuned to
+        * exclude worst case performance for pathological files. Better values may be
+        * found for specific files.
+        */
+       var Config = function (good_length, max_lazy, nice_length, max_chain, func) {
+         this.good_length = good_length;
+         this.max_lazy = max_lazy;
+         this.nice_length = nice_length;
+         this.max_chain = max_chain;
+         this.func = func;
+       };
+
+       var configuration_table;
+
+       configuration_table = [
+         /*      good lazy nice chain */
+         new Config(0, 0, 0, 0, deflate_stored),          /* 0 store only */
+         new Config(4, 4, 8, 4, deflate_fast),            /* 1 max speed, no lazy matches */
+         new Config(4, 5, 16, 8, deflate_fast),           /* 2 */
+         new Config(4, 6, 32, 32, deflate_fast),          /* 3 */
+
+         new Config(4, 4, 16, 16, deflate_slow),          /* 4 lazy matches */
+         new Config(8, 16, 32, 32, deflate_slow),         /* 5 */
+         new Config(8, 16, 128, 128, deflate_slow),       /* 6 */
+         new Config(8, 32, 128, 256, deflate_slow),       /* 7 */
+         new Config(32, 128, 258, 1024, deflate_slow),    /* 8 */
+         new Config(32, 258, 258, 4096, deflate_slow)     /* 9 max compression */
+       ];
+
+
+       /* ===========================================================================
+        * Initialize the "longest match" routines for a new zlib stream
+        */
+       function lm_init(s) {
+         s.window_size = 2 * s.w_size;
+
+         /*** CLEAR_HASH(s); ***/
+         zero(s.head); // Fill with NIL (= 0);
+
+         /* Set the default configuration parameters:
+          */
+         s.max_lazy_match = configuration_table[s.level].max_lazy;
+         s.good_match = configuration_table[s.level].good_length;
+         s.nice_match = configuration_table[s.level].nice_length;
+         s.max_chain_length = configuration_table[s.level].max_chain;
+
+         s.strstart = 0;
+         s.block_start = 0;
+         s.lookahead = 0;
+         s.insert = 0;
+         s.match_length = s.prev_length = MIN_MATCH - 1;
+         s.match_available = 0;
+         s.ins_h = 0;
+       }
+
+
+       function DeflateState() {
+         this.strm = null;            /* pointer back to this zlib stream */
+         this.status = 0;            /* as the name implies */
+         this.pending_buf = null;      /* output still pending */
+         this.pending_buf_size = 0;  /* size of pending_buf */
+         this.pending_out = 0;       /* next pending byte to output to the stream */
+         this.pending = 0;           /* nb of bytes in the pending buffer */
+         this.wrap = 0;              /* bit 0 true for zlib, bit 1 true for gzip */
+         this.gzhead = null;         /* gzip header information to write */
+         this.gzindex = 0;           /* where in extra, name, or comment */
+         this.method = Z_DEFLATED; /* can only be DEFLATED */
+         this.last_flush = -1;   /* value of flush param for previous deflate call */
+
+         this.w_size = 0;  /* LZ77 window size (32K by default) */
+         this.w_bits = 0;  /* log2(w_size)  (8..16) */
+         this.w_mask = 0;  /* w_size - 1 */
+
+         this.window = null;
+         /* Sliding window. Input bytes are read into the second half of the window,
+          * and move to the first half later to keep a dictionary of at least wSize
+          * bytes. With this organization, matches are limited to a distance of
+          * wSize-MAX_MATCH bytes, but this ensures that IO is always
+          * performed with a length multiple of the block size.
+          */
+
+         this.window_size = 0;
+         /* Actual size of window: 2*wSize, except when the user input buffer
+          * is directly used as sliding window.
+          */
+
+         this.prev = null;
+         /* Link to older string with same hash index. To limit the size of this
+          * array to 64K, this link is maintained only for the last 32K strings.
+          * An index in this array is thus a window index modulo 32K.
+          */
+
+         this.head = null;   /* Heads of the hash chains or NIL. */
+
+         this.ins_h = 0;       /* hash index of string to be inserted */
+         this.hash_size = 0;   /* number of elements in hash table */
+         this.hash_bits = 0;   /* log2(hash_size) */
+         this.hash_mask = 0;   /* hash_size-1 */
+
+         this.hash_shift = 0;
+         /* Number of bits by which ins_h must be shifted at each input
+          * step. It must be such that after MIN_MATCH steps, the oldest
+          * byte no longer takes part in the hash key, that is:
+          *   hash_shift * MIN_MATCH >= hash_bits
+          */
+
+         this.block_start = 0;
+         /* Window position at the beginning of the current output block. Gets
+          * negative when the window is moved backwards.
+          */
+
+         this.match_length = 0;      /* length of best match */
+         this.prev_match = 0;        /* previous match */
+         this.match_available = 0;   /* set if previous match exists */
+         this.strstart = 0;          /* start of string to insert */
+         this.match_start = 0;       /* start of matching string */
+         this.lookahead = 0;         /* number of valid bytes ahead in window */
+
+         this.prev_length = 0;
+         /* Length of the best match at previous step. Matches not greater than this
+          * are discarded. This is used in the lazy match evaluation.
+          */
+
+         this.max_chain_length = 0;
+         /* To speed up deflation, hash chains are never searched beyond this
+          * length.  A higher limit improves compression ratio but degrades the
+          * speed.
+          */
+
+         this.max_lazy_match = 0;
+         /* Attempt to find a better match only when the current match is strictly
+          * smaller than this value. This mechanism is used only for compression
+          * levels >= 4.
+          */
+         // That's alias to max_lazy_match, don't use directly
+         //this.max_insert_length = 0;
+         /* Insert new strings in the hash table only if the match length is not
+          * greater than this length. This saves time but degrades compression.
+          * max_insert_length is used only for compression levels <= 3.
+          */
+
+         this.level = 0;     /* compression level (1..9) */
+         this.strategy = 0;  /* favor or force Huffman coding*/
+
+         this.good_match = 0;
+         /* Use a faster search when the previous match is longer than this */
+
+         this.nice_match = 0; /* Stop searching when current match exceeds this */
+
+                     /* used by trees.c: */
+
+         /* Didn't use ct_data typedef below to suppress compiler warning */
+
+         // struct ct_data_s dyn_ltree[HEAP_SIZE];   /* literal and length tree */
+         // struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */
+         // struct ct_data_s bl_tree[2*BL_CODES+1];  /* Huffman tree for bit lengths */
+
+         // Use flat array of DOUBLE size, with interleaved fata,
+         // because JS does not support effective
+         this.dyn_ltree  = new utils.Buf16(HEAP_SIZE * 2);
+         this.dyn_dtree  = new utils.Buf16((2*D_CODES+1) * 2);
+         this.bl_tree    = new utils.Buf16((2*BL_CODES+1) * 2);
+         zero(this.dyn_ltree);
+         zero(this.dyn_dtree);
+         zero(this.bl_tree);
+
+         this.l_desc   = null;         /* desc. for literal tree */
+         this.d_desc   = null;         /* desc. for distance tree */
+         this.bl_desc  = null;         /* desc. for bit length tree */
+
+         //ush bl_count[MAX_BITS+1];
+         this.bl_count = new utils.Buf16(MAX_BITS+1);
+         /* number of codes at each bit length for an optimal tree */
+
+         //int heap[2*L_CODES+1];      /* heap used to build the Huffman trees */
+         this.heap = new utils.Buf16(2*L_CODES+1);  /* heap used to build the Huffman trees */
+         zero(this.heap);
+
+         this.heap_len = 0;               /* number of elements in the heap */
+         this.heap_max = 0;               /* element of largest frequency */
+         /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.
+          * The same heap array is used to build all trees.
+          */
+
+         this.depth = new utils.Buf16(2*L_CODES+1); //uch depth[2*L_CODES+1];
+         zero(this.depth);
+         /* Depth of each subtree used as tie breaker for trees of equal frequency
+          */
+
+         this.l_buf = 0;          /* buffer index for literals or lengths */
+
+         this.lit_bufsize = 0;
+         /* Size of match buffer for literals/lengths.  There are 4 reasons for
+          * limiting lit_bufsize to 64K:
+          *   - frequencies can be kept in 16 bit counters
+          *   - if compression is not successful for the first block, all input
+          *     data is still in the window so we can still emit a stored block even
+          *     when input comes from standard input.  (This can also be done for
+          *     all blocks if lit_bufsize is not greater than 32K.)
+          *   - if compression is not successful for a file smaller than 64K, we can
+          *     even emit a stored file instead of a stored block (saving 5 bytes).
+          *     This is applicable only for zip (not gzip or zlib).
+          *   - creating new Huffman trees less frequently may not provide fast
+          *     adaptation to changes in the input data statistics. (Take for
+          *     example a binary file with poorly compressible code followed by
+          *     a highly compressible string table.) Smaller buffer sizes give
+          *     fast adaptation but have of course the overhead of transmitting
+          *     trees more frequently.
+          *   - I can't count above 4
+          */
+
+         this.last_lit = 0;      /* running index in l_buf */
+
+         this.d_buf = 0;
+         /* Buffer index for distances. To simplify the code, d_buf and l_buf have
+          * the same number of elements. To use different lengths, an extra flag
+          * array would be necessary.
+          */
+
+         this.opt_len = 0;       /* bit length of current block with optimal trees */
+         this.static_len = 0;    /* bit length of current block with static trees */
+         this.matches = 0;       /* number of string matches in current block */
+         this.insert = 0;        /* bytes at end of window left to insert */
+
+
+         this.bi_buf = 0;
+         /* Output buffer. bits are inserted starting at the bottom (least
+          * significant bits).
+          */
+         this.bi_valid = 0;
+         /* Number of valid bits in bi_buf.  All bits above the last valid bit
+          * are always zero.
+          */
+
+         // Used for window memory init. We safely ignore it for JS. That makes
+         // sense only for pointers and memory check tools.
+         //this.high_water = 0;
+         /* High water mark offset in window for initialized bytes -- bytes above
+          * this are set to zero in order to avoid memory check warnings when
+          * longest match routines access bytes past the input.  This is then
+          * updated to the new high water mark.
+          */
+       }
+
+
+       function deflateResetKeep(strm) {
+         var s;
+
+         if (!strm || !strm.state) {
+           return err(strm, Z_STREAM_ERROR);
+         }
+
+         strm.total_in = strm.total_out = 0;
+         strm.data_type = Z_UNKNOWN;
+
+         s = strm.state;
+         s.pending = 0;
+         s.pending_out = 0;
+
+         if (s.wrap < 0) {
+           s.wrap = -s.wrap;
+           /* was made negative by deflate(..., Z_FINISH); */
+         }
+         s.status = (s.wrap ? INIT_STATE : BUSY_STATE);
+         strm.adler = (s.wrap === 2) ?
+           0  // crc32(0, Z_NULL, 0)
+         :
+           1; // adler32(0, Z_NULL, 0)
+         s.last_flush = Z_NO_FLUSH;
+         trees._tr_init(s);
+         return Z_OK;
+       }
+
+
+       function deflateReset(strm) {
+         var ret = deflateResetKeep(strm);
+         if (ret === Z_OK) {
+           lm_init(strm.state);
+         }
+         return ret;
+       }
+
+
+       function deflateSetHeader(strm, head) {
+         if (!strm || !strm.state) { return Z_STREAM_ERROR; }
+         if (strm.state.wrap !== 2) { return Z_STREAM_ERROR; }
+         strm.state.gzhead = head;
+         return Z_OK;
+       }
+
+
+       function deflateInit2(strm, level, method, windowBits, memLevel, strategy) {
+         if (!strm) { // === Z_NULL
+           return Z_STREAM_ERROR;
+         }
+         var wrap = 1;
+
+         if (level === Z_DEFAULT_COMPRESSION) {
+           level = 6;
+         }
+
+         if (windowBits < 0) { /* suppress zlib wrapper */
+           wrap = 0;
+           windowBits = -windowBits;
+         }
+
+         else if (windowBits > 15) {
+           wrap = 2;           /* write gzip wrapper instead */
+           windowBits -= 16;
+         }
+
+
+         if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED ||
+           windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||
+           strategy < 0 || strategy > Z_FIXED) {
+           return err(strm, Z_STREAM_ERROR);
+         }
+
+
+         if (windowBits === 8) {
+           windowBits = 9;
+         }
+         /* until 256-byte window bug fixed */
+
+         var s = new DeflateState();
+
+         strm.state = s;
+         s.strm = strm;
+
+         s.wrap = wrap;
+         s.gzhead = null;
+         s.w_bits = windowBits;
+         s.w_size = 1 << s.w_bits;
+         s.w_mask = s.w_size - 1;
+
+         s.hash_bits = memLevel + 7;
+         s.hash_size = 1 << s.hash_bits;
+         s.hash_mask = s.hash_size - 1;
+         s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH);
+
+         s.window = new utils.Buf8(s.w_size * 2);
+         s.head = new utils.Buf16(s.hash_size);
+         s.prev = new utils.Buf16(s.w_size);
+
+         // Don't need mem init magic for JS.
+         //s.high_water = 0;  /* nothing written to s->window yet */
+
+         s.lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */
+
+         s.pending_buf_size = s.lit_bufsize * 4;
+         s.pending_buf = new utils.Buf8(s.pending_buf_size);
+
+         s.d_buf = s.lit_bufsize >> 1;
+         s.l_buf = (1 + 2) * s.lit_bufsize;
+
+         s.level = level;
+         s.strategy = strategy;
+         s.method = method;
+
+         return deflateReset(strm);
+       }
+
+       function deflateInit(strm, level) {
+         return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);
+       }
+
+
+       function deflate(strm, flush) {
+         var old_flush, s;
+         var beg, val; // for gzip header write only
+
+         if (!strm || !strm.state ||
+           flush > Z_BLOCK || flush < 0) {
+           return strm ? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR;
+         }
+
+         s = strm.state;
+
+         if (!strm.output ||
+             (!strm.input && strm.avail_in !== 0) ||
+             (s.status === FINISH_STATE && flush !== Z_FINISH)) {
+           return err(strm, (strm.avail_out === 0) ? Z_BUF_ERROR : Z_STREAM_ERROR);
+         }
+
+         s.strm = strm; /* just in case */
+         old_flush = s.last_flush;
+         s.last_flush = flush;
+
+         /* Write the header */
+         if (s.status === INIT_STATE) {
+
+           if (s.wrap === 2) { // GZIP header
+             strm.adler = 0;  //crc32(0L, Z_NULL, 0);
+             put_byte(s, 31);
+             put_byte(s, 139);
+             put_byte(s, 8);
+             if (!s.gzhead) { // s->gzhead == Z_NULL
+               put_byte(s, 0);
+               put_byte(s, 0);
+               put_byte(s, 0);
+               put_byte(s, 0);
+               put_byte(s, 0);
+               put_byte(s, s.level === 9 ? 2 :
+                           (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?
+                            4 : 0));
+               put_byte(s, OS_CODE);
+               s.status = BUSY_STATE;
+             }
+             else {
+               put_byte(s, (s.gzhead.text ? 1 : 0) +
+                           (s.gzhead.hcrc ? 2 : 0) +
+                           (!s.gzhead.extra ? 0 : 4) +
+                           (!s.gzhead.name ? 0 : 8) +
+                           (!s.gzhead.comment ? 0 : 16)
+                       );
+               put_byte(s, s.gzhead.time & 0xff);
+               put_byte(s, (s.gzhead.time >> 8) & 0xff);
+               put_byte(s, (s.gzhead.time >> 16) & 0xff);
+               put_byte(s, (s.gzhead.time >> 24) & 0xff);
+               put_byte(s, s.level === 9 ? 2 :
+                           (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?
+                            4 : 0));
+               put_byte(s, s.gzhead.os & 0xff);
+               if (s.gzhead.extra && s.gzhead.extra.length) {
+                 put_byte(s, s.gzhead.extra.length & 0xff);
+                 put_byte(s, (s.gzhead.extra.length >> 8) & 0xff);
+               }
+               if (s.gzhead.hcrc) {
+                 strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0);
+               }
+               s.gzindex = 0;
+               s.status = EXTRA_STATE;
+             }
+           }
+           else // DEFLATE header
+           {
+             var header = (Z_DEFLATED + ((s.w_bits - 8) << 4)) << 8;
+             var level_flags = -1;
+
+             if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) {
+               level_flags = 0;
+             } else if (s.level < 6) {
+               level_flags = 1;
+             } else if (s.level === 6) {
+               level_flags = 2;
+             } else {
+               level_flags = 3;
+             }
+             header |= (level_flags << 6);
+             if (s.strstart !== 0) { header |= PRESET_DICT; }
+             header += 31 - (header % 31);
+
+             s.status = BUSY_STATE;
+             putShortMSB(s, header);
+
+             /* Save the adler32 of the preset dictionary: */
+             if (s.strstart !== 0) {
+               putShortMSB(s, strm.adler >>> 16);
+               putShortMSB(s, strm.adler & 0xffff);
+             }
+             strm.adler = 1; // adler32(0L, Z_NULL, 0);
+           }
+         }
+
+       //#ifdef GZIP
+         if (s.status === EXTRA_STATE) {
+           if (s.gzhead.extra/* != Z_NULL*/) {
+             beg = s.pending;  /* start of bytes to update crc */
+
+             while (s.gzindex < (s.gzhead.extra.length & 0xffff)) {
+               if (s.pending === s.pending_buf_size) {
+                 if (s.gzhead.hcrc && s.pending > beg) {
+                   strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);
+                 }
+                 flush_pending(strm);
+                 beg = s.pending;
+                 if (s.pending === s.pending_buf_size) {
+                   break;
+                 }
+               }
+               put_byte(s, s.gzhead.extra[s.gzindex] & 0xff);
+               s.gzindex++;
+             }
+             if (s.gzhead.hcrc && s.pending > beg) {
+               strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);
+             }
+             if (s.gzindex === s.gzhead.extra.length) {
+               s.gzindex = 0;
+               s.status = NAME_STATE;
+             }
+           }
+           else {
+             s.status = NAME_STATE;
+           }
+         }
+         if (s.status === NAME_STATE) {
+           if (s.gzhead.name/* != Z_NULL*/) {
+             beg = s.pending;  /* start of bytes to update crc */
+             //int val;
+
+             do {
+               if (s.pending === s.pending_buf_size) {
+                 if (s.gzhead.hcrc && s.pending > beg) {
+                   strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);
+                 }
+                 flush_pending(strm);
+                 beg = s.pending;
+                 if (s.pending === s.pending_buf_size) {
+                   val = 1;
+                   break;
+                 }
+               }
+               // JS specific: little magic to add zero terminator to end of string
+               if (s.gzindex < s.gzhead.name.length) {
+                 val = s.gzhead.name.charCodeAt(s.gzindex++) & 0xff;
+               } else {
+                 val = 0;
+               }
+               put_byte(s, val);
+             } while (val !== 0);
+
+             if (s.gzhead.hcrc && s.pending > beg) {
+               strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);
+             }
+             if (val === 0) {
+               s.gzindex = 0;
+               s.status = COMMENT_STATE;
+             }
+           }
+           else {
+             s.status = COMMENT_STATE;
+           }
+         }
+         if (s.status === COMMENT_STATE) {
+           if (s.gzhead.comment/* != Z_NULL*/) {
+             beg = s.pending;  /* start of bytes to update crc */
+             //int val;
+
+             do {
+               if (s.pending === s.pending_buf_size) {
+                 if (s.gzhead.hcrc && s.pending > beg) {
+                   strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);
+                 }
+                 flush_pending(strm);
+                 beg = s.pending;
+                 if (s.pending === s.pending_buf_size) {
+                   val = 1;
+                   break;
+                 }
+               }
+               // JS specific: little magic to add zero terminator to end of string
+               if (s.gzindex < s.gzhead.comment.length) {
+                 val = s.gzhead.comment.charCodeAt(s.gzindex++) & 0xff;
+               } else {
+                 val = 0;
+               }
+               put_byte(s, val);
+             } while (val !== 0);
+
+             if (s.gzhead.hcrc && s.pending > beg) {
+               strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);
+             }
+             if (val === 0) {
+               s.status = HCRC_STATE;
+             }
+           }
+           else {
+             s.status = HCRC_STATE;
+           }
+         }
+         if (s.status === HCRC_STATE) {
+           if (s.gzhead.hcrc) {
+             if (s.pending + 2 > s.pending_buf_size) {
+               flush_pending(strm);
+             }
+             if (s.pending + 2 <= s.pending_buf_size) {
+               put_byte(s, strm.adler & 0xff);
+               put_byte(s, (strm.adler >> 8) & 0xff);
+               strm.adler = 0; //crc32(0L, Z_NULL, 0);
+               s.status = BUSY_STATE;
+             }
+           }
+           else {
+             s.status = BUSY_STATE;
+           }
+         }
+       //#endif
+
+         /* Flush as much pending output as possible */
+         if (s.pending !== 0) {
+           flush_pending(strm);
+           if (strm.avail_out === 0) {
+             /* Since avail_out is 0, deflate will be called again with
+              * more output space, but possibly with both pending and
+              * avail_in equal to zero. There won't be anything to do,
+              * but this is not an error situation so make sure we
+              * return OK instead of BUF_ERROR at next call of deflate:
+              */
+             s.last_flush = -1;
+             return Z_OK;
+           }
+
+           /* Make sure there is something to do and avoid duplicate consecutive
+            * flushes. For repeated and useless calls with Z_FINISH, we keep
+            * returning Z_STREAM_END instead of Z_BUF_ERROR.
+            */
+         } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) &&
+           flush !== Z_FINISH) {
+           return err(strm, Z_BUF_ERROR);
+         }
+
+         /* User must not provide more input after the first FINISH: */
+         if (s.status === FINISH_STATE && strm.avail_in !== 0) {
+           return err(strm, Z_BUF_ERROR);
+         }
+
+         /* Start a new block or continue the current one.
+          */
+         if (strm.avail_in !== 0 || s.lookahead !== 0 ||
+           (flush !== Z_NO_FLUSH && s.status !== FINISH_STATE)) {
+           var bstate = (s.strategy === Z_HUFFMAN_ONLY) ? deflate_huff(s, flush) :
+             (s.strategy === Z_RLE ? deflate_rle(s, flush) :
+               configuration_table[s.level].func(s, flush));
+
+           if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) {
+             s.status = FINISH_STATE;
+           }
+           if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {
+             if (strm.avail_out === 0) {
+               s.last_flush = -1;
+               /* avoid BUF_ERROR next call, see above */
+             }
+             return Z_OK;
+             /* If flush != Z_NO_FLUSH && avail_out == 0, the next call
+              * of deflate should use the same flush parameter to make sure
+              * that the flush is complete. So we don't have to output an
+              * empty block here, this will be done at next call. This also
+              * ensures that for a very small output buffer, we emit at most
+              * one empty block.
+              */
+           }
+           if (bstate === BS_BLOCK_DONE) {
+             if (flush === Z_PARTIAL_FLUSH) {
+               trees._tr_align(s);
+             }
+             else if (flush !== Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */
+
+               trees._tr_stored_block(s, 0, 0, false);
+               /* For a full flush, this empty block will be recognized
+                * as a special marker by inflate_sync().
+                */
+               if (flush === Z_FULL_FLUSH) {
+                 /*** CLEAR_HASH(s); ***/             /* forget history */
+                 zero(s.head); // Fill with NIL (= 0);
+
+                 if (s.lookahead === 0) {
+                   s.strstart = 0;
+                   s.block_start = 0;
+                   s.insert = 0;
+                 }
+               }
+             }
+             flush_pending(strm);
+             if (strm.avail_out === 0) {
+               s.last_flush = -1; /* avoid BUF_ERROR at next call, see above */
+               return Z_OK;
+             }
+           }
+         }
+         //Assert(strm->avail_out > 0, "bug2");
+         //if (strm.avail_out <= 0) { throw new Error("bug2");}
+
+         if (flush !== Z_FINISH) { return Z_OK; }
+         if (s.wrap <= 0) { return Z_STREAM_END; }
+
+         /* Write the trailer */
+         if (s.wrap === 2) {
+           put_byte(s, strm.adler & 0xff);
+           put_byte(s, (strm.adler >> 8) & 0xff);
+           put_byte(s, (strm.adler >> 16) & 0xff);
+           put_byte(s, (strm.adler >> 24) & 0xff);
+           put_byte(s, strm.total_in & 0xff);
+           put_byte(s, (strm.total_in >> 8) & 0xff);
+           put_byte(s, (strm.total_in >> 16) & 0xff);
+           put_byte(s, (strm.total_in >> 24) & 0xff);
+         }
+         else
+         {
+           putShortMSB(s, strm.adler >>> 16);
+           putShortMSB(s, strm.adler & 0xffff);
+         }
+
+         flush_pending(strm);
+         /* If avail_out is zero, the application will call deflate again
+          * to flush the rest.
+          */
+         if (s.wrap > 0) { s.wrap = -s.wrap; }
+         /* write the trailer only once! */
+         return s.pending !== 0 ? Z_OK : Z_STREAM_END;
+       }
+
+       function deflateEnd(strm) {
+         var status;
+
+         if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {
+           return Z_STREAM_ERROR;
+         }
+
+         status = strm.state.status;
+         if (status !== INIT_STATE &&
+           status !== EXTRA_STATE &&
+           status !== NAME_STATE &&
+           status !== COMMENT_STATE &&
+           status !== HCRC_STATE &&
+           status !== BUSY_STATE &&
+           status !== FINISH_STATE
+         ) {
+           return err(strm, Z_STREAM_ERROR);
+         }
+
+         strm.state = null;
+
+         return status === BUSY_STATE ? err(strm, Z_DATA_ERROR) : Z_OK;
+       }
+
+       /* =========================================================================
+        * Copy the source state to the destination state
+        */
+       //function deflateCopy(dest, source) {
+       //
+       //}
+
+       exports.deflateInit = deflateInit;
+       exports.deflateInit2 = deflateInit2;
+       exports.deflateReset = deflateReset;
+       exports.deflateResetKeep = deflateResetKeep;
+       exports.deflateSetHeader = deflateSetHeader;
+       exports.deflate = deflate;
+       exports.deflateEnd = deflateEnd;
+       exports.deflateInfo = 'pako deflate (from Nodeca project)';
+
+       /* Not implemented
+       exports.deflateBound = deflateBound;
+       exports.deflateCopy = deflateCopy;
+       exports.deflateSetDictionary = deflateSetDictionary;
+       exports.deflateParams = deflateParams;
+       exports.deflatePending = deflatePending;
+       exports.deflatePrime = deflatePrime;
+       exports.deflateTune = deflateTune;
+       */
+
+
+/***/ },
+/* 52 */
+/***/ function(module, exports) {
+
+       'use strict';
+
+
+       var TYPED_OK =  (typeof Uint8Array !== 'undefined') &&
+                       (typeof Uint16Array !== 'undefined') &&
+                       (typeof Int32Array !== 'undefined');
+
+
+       exports.assign = function (obj /*from1, from2, from3, ...*/) {
+         var sources = Array.prototype.slice.call(arguments, 1);
+         while (sources.length) {
+           var source = sources.shift();
+           if (!source) { continue; }
+
+           if (typeof source !== 'object') {
+             throw new TypeError(source + 'must be non-object');
+           }
+
+           for (var p in source) {
+             if (source.hasOwnProperty(p)) {
+               obj[p] = source[p];
+             }
+           }
+         }
+
+         return obj;
+       };
+
+
+       // reduce buffer size, avoiding mem copy
+       exports.shrinkBuf = function (buf, size) {
+         if (buf.length === size) { return buf; }
+         if (buf.subarray) { return buf.subarray(0, size); }
+         buf.length = size;
+         return buf;
+       };
+
+
+       var fnTyped = {
+         arraySet: function (dest, src, src_offs, len, dest_offs) {
+           if (src.subarray && dest.subarray) {
+             dest.set(src.subarray(src_offs, src_offs+len), dest_offs);
+             return;
+           }
+           // Fallback to ordinary array
+           for (var i=0; i<len; i++) {
+             dest[dest_offs + i] = src[src_offs + i];
+           }
+         },
+         // Join array of chunks to single array.
+         flattenChunks: function(chunks) {
+           var i, l, len, pos, chunk, result;
+
+           // calculate data length
+           len = 0;
+           for (i=0, l=chunks.length; i<l; i++) {
+             len += chunks[i].length;
+           }
+
+           // join chunks
+           result = new Uint8Array(len);
+           pos = 0;
+           for (i=0, l=chunks.length; i<l; i++) {
+             chunk = chunks[i];
+             result.set(chunk, pos);
+             pos += chunk.length;
+           }
+
+           return result;
+         }
+       };
+
+       var fnUntyped = {
+         arraySet: function (dest, src, src_offs, len, dest_offs) {
+           for (var i=0; i<len; i++) {
+             dest[dest_offs + i] = src[src_offs + i];
+           }
+         },
+         // Join array of chunks to single array.
+         flattenChunks: function(chunks) {
+           return [].concat.apply([], chunks);
+         }
+       };
+
+
+       // Enable/Disable typed arrays use, for testing
+       //
+       exports.setTyped = function (on) {
+         if (on) {
+           exports.Buf8  = Uint8Array;
+           exports.Buf16 = Uint16Array;
+           exports.Buf32 = Int32Array;
+           exports.assign(exports, fnTyped);
+         } else {
+           exports.Buf8  = Array;
+           exports.Buf16 = Array;
+           exports.Buf32 = Array;
+           exports.assign(exports, fnUntyped);
+         }
+       };
+
+       exports.setTyped(TYPED_OK);
+
+
+/***/ },
+/* 53 */
+/***/ function(module, exports, __webpack_require__) {
+
+       'use strict';
+
+
+       var utils = __webpack_require__(52);
+
+       /* Public constants ==========================================================*/
+       /* ===========================================================================*/
+
+
+       //var Z_FILTERED          = 1;
+       //var Z_HUFFMAN_ONLY      = 2;
+       //var Z_RLE               = 3;
+       var Z_FIXED               = 4;
+       //var Z_DEFAULT_STRATEGY  = 0;
+
+       /* Possible values of the data_type field (though see inflate()) */
+       var Z_BINARY              = 0;
+       var Z_TEXT                = 1;
+       //var Z_ASCII             = 1; // = Z_TEXT
+       var Z_UNKNOWN             = 2;
+
+       /*============================================================================*/
+
+
+       function zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }
+
+       // From zutil.h
+
+       var STORED_BLOCK = 0;
+       var STATIC_TREES = 1;
+       var DYN_TREES    = 2;
+       /* The three kinds of block type */
+
+       var MIN_MATCH    = 3;
+       var MAX_MATCH    = 258;
+       /* The minimum and maximum match lengths */
+
+       // From deflate.h
+       /* ===========================================================================
+        * Internal compression state.
+        */
+
+       var LENGTH_CODES  = 29;
+       /* number of length codes, not counting the special END_BLOCK code */
+
+       var LITERALS      = 256;
+       /* number of literal bytes 0..255 */
+
+       var L_CODES       = LITERALS + 1 + LENGTH_CODES;
+       /* number of Literal or Length codes, including the END_BLOCK code */
+
+       var D_CODES       = 30;
+       /* number of distance codes */
+
+       var BL_CODES      = 19;
+       /* number of codes used to transfer the bit lengths */
+
+       var HEAP_SIZE     = 2*L_CODES + 1;
+       /* maximum heap size */
+
+       var MAX_BITS      = 15;
+       /* All codes must not exceed MAX_BITS bits */
+
+       var Buf_size      = 16;
+       /* size of bit buffer in bi_buf */
+
+
+       /* ===========================================================================
+        * Constants
+        */
+
+       var MAX_BL_BITS = 7;
+       /* Bit length codes must not exceed MAX_BL_BITS bits */
+
+       var END_BLOCK   = 256;
+       /* end of block literal code */
+
+       var REP_3_6     = 16;
+       /* repeat previous bit length 3-6 times (2 bits of repeat count) */
+
+       var REPZ_3_10   = 17;
+       /* repeat a zero length 3-10 times  (3 bits of repeat count) */
+
+       var REPZ_11_138 = 18;
+       /* repeat a zero length 11-138 times  (7 bits of repeat count) */
+
+       var extra_lbits =   /* extra bits for each length code */
+         [0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];
+
+       var extra_dbits =   /* extra bits for each distance code */
+         [0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];
+
+       var extra_blbits =  /* extra bits for each bit length code */
+         [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];
+
+       var bl_order =
+         [16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];
+       /* The lengths of the bit length codes are sent in order of decreasing
+        * probability, to avoid transmitting the lengths for unused bit length codes.
+        */
+
+       /* ===========================================================================
+        * Local data. These are initialized only once.
+        */
+
+       // We pre-fill arrays with 0 to avoid uninitialized gaps
+
+       var DIST_CODE_LEN = 512; /* see definition of array dist_code below */
+
+       // !!!! Use flat array insdead of structure, Freq = i*2, Len = i*2+1
+       var static_ltree  = new Array((L_CODES+2) * 2);
+       zero(static_ltree);
+       /* The static literal tree. Since the bit lengths are imposed, there is no
+        * need for the L_CODES extra codes used during heap construction. However
+        * The codes 286 and 287 are needed to build a canonical tree (see _tr_init
+        * below).
+        */
+
+       var static_dtree  = new Array(D_CODES * 2);
+       zero(static_dtree);
+       /* The static distance tree. (Actually a trivial tree since all codes use
+        * 5 bits.)
+        */
+
+       var _dist_code    = new Array(DIST_CODE_LEN);
+       zero(_dist_code);
+       /* Distance codes. The first 256 values correspond to the distances
+        * 3 .. 258, the last 256 values correspond to the top 8 bits of
+        * the 15 bit distances.
+        */
+
+       var _length_code  = new Array(MAX_MATCH-MIN_MATCH+1);
+       zero(_length_code);
+       /* length code for each normalized match length (0 == MIN_MATCH) */
+
+       var base_length   = new Array(LENGTH_CODES);
+       zero(base_length);
+       /* First normalized length for each code (0 = MIN_MATCH) */
+
+       var base_dist     = new Array(D_CODES);
+       zero(base_dist);
+       /* First normalized distance for each code (0 = distance of 1) */
+
+
+       var StaticTreeDesc = function (static_tree, extra_bits, extra_base, elems, max_length) {
+
+         this.static_tree  = static_tree;  /* static tree or NULL */
+         this.extra_bits   = extra_bits;   /* extra bits for each code or NULL */
+         this.extra_base   = extra_base;   /* base index for extra_bits */
+         this.elems        = elems;        /* max number of elements in the tree */
+         this.max_length   = max_length;   /* max bit length for the codes */
+
+         // show if `static_tree` has data or dummy - needed for monomorphic objects
+         this.has_stree    = static_tree && static_tree.length;
+       };
+
+
+       var static_l_desc;
+       var static_d_desc;
+       var static_bl_desc;
+
+
+       var TreeDesc = function(dyn_tree, stat_desc) {
+         this.dyn_tree = dyn_tree;     /* the dynamic tree */
+         this.max_code = 0;            /* largest code with non zero frequency */
+         this.stat_desc = stat_desc;   /* the corresponding static tree */
+       };
+
+
+
+       function d_code(dist) {
+         return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];
+       }
+
+
+       /* ===========================================================================
+        * Output a short LSB first on the stream.
+        * IN assertion: there is enough room in pendingBuf.
+        */
+       function put_short (s, w) {
+       //    put_byte(s, (uch)((w) & 0xff));
+       //    put_byte(s, (uch)((ush)(w) >> 8));
+         s.pending_buf[s.pending++] = (w) & 0xff;
+         s.pending_buf[s.pending++] = (w >>> 8) & 0xff;
+       }
+
+
+       /* ===========================================================================
+        * Send a value on a given number of bits.
+        * IN assertion: length <= 16 and value fits in length bits.
+        */
+       function send_bits(s, value, length) {
+         if (s.bi_valid > (Buf_size - length)) {
+           s.bi_buf |= (value << s.bi_valid) & 0xffff;
+           put_short(s, s.bi_buf);
+           s.bi_buf = value >> (Buf_size - s.bi_valid);
+           s.bi_valid += length - Buf_size;
+         } else {
+           s.bi_buf |= (value << s.bi_valid) & 0xffff;
+           s.bi_valid += length;
+         }
+       }
+
+
+       function send_code(s, c, tree) {
+         send_bits(s, tree[c*2]/*.Code*/, tree[c*2 + 1]/*.Len*/);
+       }
+
+
+       /* ===========================================================================
+        * Reverse the first len bits of a code, using straightforward code (a faster
+        * method would use a table)
+        * IN assertion: 1 <= len <= 15
+        */
+       function bi_reverse(code, len) {
+         var res = 0;
+         do {
+           res |= code & 1;
+           code >>>= 1;
+           res <<= 1;
+         } while (--len > 0);
+         return res >>> 1;
+       }
+
+
+       /* ===========================================================================
+        * Flush the bit buffer, keeping at most 7 bits in it.
+        */
+       function bi_flush(s) {
+         if (s.bi_valid === 16) {
+           put_short(s, s.bi_buf);
+           s.bi_buf = 0;
+           s.bi_valid = 0;
+
+         } else if (s.bi_valid >= 8) {
+           s.pending_buf[s.pending++] = s.bi_buf & 0xff;
+           s.bi_buf >>= 8;
+           s.bi_valid -= 8;
+         }
+       }
+
+
+       /* ===========================================================================
+        * Compute the optimal bit lengths for a tree and update the total bit length
+        * for the current block.
+        * IN assertion: the fields freq and dad are set, heap[heap_max] and
+        *    above are the tree nodes sorted by increasing frequency.
+        * OUT assertions: the field len is set to the optimal bit length, the
+        *     array bl_count contains the frequencies for each bit length.
+        *     The length opt_len is updated; static_len is also updated if stree is
+        *     not null.
+        */
+       function gen_bitlen(s, desc)
+       //    deflate_state *s;
+       //    tree_desc *desc;    /* the tree descriptor */
+       {
+         var tree            = desc.dyn_tree;
+         var max_code        = desc.max_code;
+         var stree           = desc.stat_desc.static_tree;
+         var has_stree       = desc.stat_desc.has_stree;
+         var extra           = desc.stat_desc.extra_bits;
+         var base            = desc.stat_desc.extra_base;
+         var max_length      = desc.stat_desc.max_length;
+         var h;              /* heap index */
+         var n, m;           /* iterate over the tree elements */
+         var bits;           /* bit length */
+         var xbits;          /* extra bits */
+         var f;              /* frequency */
+         var overflow = 0;   /* number of elements with bit length too large */
+
+         for (bits = 0; bits <= MAX_BITS; bits++) {
+           s.bl_count[bits] = 0;
+         }
+
+         /* In a first pass, compute the optimal bit lengths (which may
+          * overflow in the case of the bit length tree).
+          */
+         tree[s.heap[s.heap_max]*2 + 1]/*.Len*/ = 0; /* root of the heap */
+
+         for (h = s.heap_max+1; h < HEAP_SIZE; h++) {
+           n = s.heap[h];
+           bits = tree[tree[n*2 +1]/*.Dad*/ * 2 + 1]/*.Len*/ + 1;
+           if (bits > max_length) {
+             bits = max_length;
+             overflow++;
+           }
+           tree[n*2 + 1]/*.Len*/ = bits;
+           /* We overwrite tree[n].Dad which is no longer needed */
+
+           if (n > max_code) { continue; } /* not a leaf node */
+
+           s.bl_count[bits]++;
+           xbits = 0;
+           if (n >= base) {
+             xbits = extra[n-base];
+           }
+           f = tree[n * 2]/*.Freq*/;
+           s.opt_len += f * (bits + xbits);
+           if (has_stree) {
+             s.static_len += f * (stree[n*2 + 1]/*.Len*/ + xbits);
+           }
+         }
+         if (overflow === 0) { return; }
+
+         // Trace((stderr,"\nbit length overflow\n"));
+         /* This happens for example on obj2 and pic of the Calgary corpus */
+
+         /* Find the first bit length which could increase: */
+         do {
+           bits = max_length-1;
+           while (s.bl_count[bits] === 0) { bits--; }
+           s.bl_count[bits]--;      /* move one leaf down the tree */
+           s.bl_count[bits+1] += 2; /* move one overflow item as its brother */
+           s.bl_count[max_length]--;
+           /* The brother of the overflow item also moves one step up,
+            * but this does not affect bl_count[max_length]
+            */
+           overflow -= 2;
+         } while (overflow > 0);
+
+         /* Now recompute all bit lengths, scanning in increasing frequency.
+          * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all
+          * lengths instead of fixing only the wrong ones. This idea is taken
+          * from 'ar' written by Haruhiko Okumura.)
+          */
+         for (bits = max_length; bits !== 0; bits--) {
+           n = s.bl_count[bits];
+           while (n !== 0) {
+             m = s.heap[--h];
+             if (m > max_code) { continue; }
+             if (tree[m*2 + 1]/*.Len*/ !== bits) {
+               // Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits));
+               s.opt_len += (bits - tree[m*2 + 1]/*.Len*/)*tree[m*2]/*.Freq*/;
+               tree[m*2 + 1]/*.Len*/ = bits;
+             }
+             n--;
+           }
+         }
+       }
+
+
+       /* ===========================================================================
+        * Generate the codes for a given tree and bit counts (which need not be
+        * optimal).
+        * IN assertion: the array bl_count contains the bit length statistics for
+        * the given tree and the field len is set for all tree elements.
+        * OUT assertion: the field code is set for all tree elements of non
+        *     zero code length.
+        */
+       function gen_codes(tree, max_code, bl_count)
+       //    ct_data *tree;             /* the tree to decorate */
+       //    int max_code;              /* largest code with non zero frequency */
+       //    ushf *bl_count;            /* number of codes at each bit length */
+       {
+         var next_code = new Array(MAX_BITS+1); /* next code value for each bit length */
+         var code = 0;              /* running code value */
+         var bits;                  /* bit index */
+         var n;                     /* code index */
+
+         /* The distribution counts are first used to generate the code values
+          * without bit reversal.
+          */
+         for (bits = 1; bits <= MAX_BITS; bits++) {
+           next_code[bits] = code = (code + bl_count[bits-1]) << 1;
+         }
+         /* Check that the bit counts in bl_count are consistent. The last code
+          * must be all ones.
+          */
+         //Assert (code + bl_count[MAX_BITS]-1 == (1<<MAX_BITS)-1,
+         //        "inconsistent bit counts");
+         //Tracev((stderr,"\ngen_codes: max_code %d ", max_code));
+
+         for (n = 0;  n <= max_code; n++) {
+           var len = tree[n*2 + 1]/*.Len*/;
+           if (len === 0) { continue; }
+           /* Now reverse the bits */
+           tree[n*2]/*.Code*/ = bi_reverse(next_code[len]++, len);
+
+           //Tracecv(tree != static_ltree, (stderr,"\nn %3d %c l %2d c %4x (%x) ",
+           //     n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len]-1));
+         }
+       }
+
+
+       /* ===========================================================================
+        * Initialize the various 'constant' tables.
+        */
+       function tr_static_init() {
+         var n;        /* iterates over tree elements */
+         var bits;     /* bit counter */
+         var length;   /* length value */
+         var code;     /* code value */
+         var dist;     /* distance index */
+         var bl_count = new Array(MAX_BITS+1);
+         /* number of codes at each bit length for an optimal tree */
+
+         // do check in _tr_init()
+         //if (static_init_done) return;
+
+         /* For some embedded targets, global variables are not initialized: */
+       /*#ifdef NO_INIT_GLOBAL_POINTERS
+         static_l_desc.static_tree = static_ltree;
+         static_l_desc.extra_bits = extra_lbits;
+         static_d_desc.static_tree = static_dtree;
+         static_d_desc.extra_bits = extra_dbits;
+         static_bl_desc.extra_bits = extra_blbits;
+       #endif*/
+
+         /* Initialize the mapping length (0..255) -> length code (0..28) */
+         length = 0;
+         for (code = 0; code < LENGTH_CODES-1; code++) {
+           base_length[code] = length;
+           for (n = 0; n < (1<<extra_lbits[code]); n++) {
+             _length_code[length++] = code;
+           }
+         }
+         //Assert (length == 256, "tr_static_init: length != 256");
+         /* Note that the length 255 (match length 258) can be represented
+          * in two different ways: code 284 + 5 bits or code 285, so we
+          * overwrite length_code[255] to use the best encoding:
+          */
+         _length_code[length-1] = code;
+
+         /* Initialize the mapping dist (0..32K) -> dist code (0..29) */
+         dist = 0;
+         for (code = 0 ; code < 16; code++) {
+           base_dist[code] = dist;
+           for (n = 0; n < (1<<extra_dbits[code]); n++) {
+             _dist_code[dist++] = code;
+           }
+         }
+         //Assert (dist == 256, "tr_static_init: dist != 256");
+         dist >>= 7; /* from now on, all distances are divided by 128 */
+         for (; code < D_CODES; code++) {
+           base_dist[code] = dist << 7;
+           for (n = 0; n < (1<<(extra_dbits[code]-7)); n++) {
+             _dist_code[256 + dist++] = code;
+           }
+         }
+         //Assert (dist == 256, "tr_static_init: 256+dist != 512");
+
+         /* Construct the codes of the static literal tree */
+         for (bits = 0; bits <= MAX_BITS; bits++) {
+           bl_count[bits] = 0;
+         }
+
+         n = 0;
+         while (n <= 143) {
+           static_ltree[n*2 + 1]/*.Len*/ = 8;
+           n++;
+           bl_count[8]++;
+         }
+         while (n <= 255) {
+           static_ltree[n*2 + 1]/*.Len*/ = 9;
+           n++;
+           bl_count[9]++;
+         }
+         while (n <= 279) {
+           static_ltree[n*2 + 1]/*.Len*/ = 7;
+           n++;
+           bl_count[7]++;
+         }
+         while (n <= 287) {
+           static_ltree[n*2 + 1]/*.Len*/ = 8;
+           n++;
+           bl_count[8]++;
+         }
+         /* Codes 286 and 287 do not exist, but we must include them in the
+          * tree construction to get a canonical Huffman tree (longest code
+          * all ones)
+          */
+         gen_codes(static_ltree, L_CODES+1, bl_count);
+
+         /* The static distance tree is trivial: */
+         for (n = 0; n < D_CODES; n++) {
+           static_dtree[n*2 + 1]/*.Len*/ = 5;
+           static_dtree[n*2]/*.Code*/ = bi_reverse(n, 5);
+         }
+
+         // Now data ready and we can init static trees
+         static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS+1, L_CODES, MAX_BITS);
+         static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0,          D_CODES, MAX_BITS);
+         static_bl_desc =new StaticTreeDesc(new Array(0), extra_blbits, 0,         BL_CODES, MAX_BL_BITS);
+
+         //static_init_done = true;
+       }
+
+
+       /* ===========================================================================
+        * Initialize a new block.
+        */
+       function init_block(s) {
+         var n; /* iterates over tree elements */
+
+         /* Initialize the trees. */
+         for (n = 0; n < L_CODES;  n++) { s.dyn_ltree[n*2]/*.Freq*/ = 0; }
+         for (n = 0; n < D_CODES;  n++) { s.dyn_dtree[n*2]/*.Freq*/ = 0; }
+         for (n = 0; n < BL_CODES; n++) { s.bl_tree[n*2]/*.Freq*/ = 0; }
+
+         s.dyn_ltree[END_BLOCK*2]/*.Freq*/ = 1;
+         s.opt_len = s.static_len = 0;
+         s.last_lit = s.matches = 0;
+       }
+
+
+       /* ===========================================================================
+        * Flush the bit buffer and align the output on a byte boundary
+        */
+       function bi_windup(s)
+       {
+         if (s.bi_valid > 8) {
+           put_short(s, s.bi_buf);
+         } else if (s.bi_valid > 0) {
+           //put_byte(s, (Byte)s->bi_buf);
+           s.pending_buf[s.pending++] = s.bi_buf;
+         }
+         s.bi_buf = 0;
+         s.bi_valid = 0;
+       }
+
+       /* ===========================================================================
+        * Copy a stored block, storing first the length and its
+        * one's complement if requested.
+        */
+       function copy_block(s, buf, len, header)
+       //DeflateState *s;
+       //charf    *buf;    /* the input data */
+       //unsigned len;     /* its length */
+       //int      header;  /* true if block header must be written */
+       {
+         bi_windup(s);        /* align on byte boundary */
+
+         if (header) {
+           put_short(s, len);
+           put_short(s, ~len);
+         }
+       //  while (len--) {
+       //    put_byte(s, *buf++);
+       //  }
+         utils.arraySet(s.pending_buf, s.window, buf, len, s.pending);
+         s.pending += len;
+       }
+
+       /* ===========================================================================
+        * Compares to subtrees, using the tree depth as tie breaker when
+        * the subtrees have equal frequency. This minimizes the worst case length.
+        */
+       function smaller(tree, n, m, depth) {
+         var _n2 = n*2;
+         var _m2 = m*2;
+         return (tree[_n2]/*.Freq*/ < tree[_m2]/*.Freq*/ ||
+                (tree[_n2]/*.Freq*/ === tree[_m2]/*.Freq*/ && depth[n] <= depth[m]));
+       }
+
+       /* ===========================================================================
+        * Restore the heap property by moving down the tree starting at node k,
+        * exchanging a node with the smallest of its two sons if necessary, stopping
+        * when the heap property is re-established (each father smaller than its
+        * two sons).
+        */
+       function pqdownheap(s, tree, k)
+       //    deflate_state *s;
+       //    ct_data *tree;  /* the tree to restore */
+       //    int k;               /* node to move down */
+       {
+         var v = s.heap[k];
+         var j = k << 1;  /* left son of k */
+         while (j <= s.heap_len) {
+           /* Set j to the smallest of the two sons: */
+           if (j < s.heap_len &&
+             smaller(tree, s.heap[j+1], s.heap[j], s.depth)) {
+             j++;
+           }
+           /* Exit if v is smaller than both sons */
+           if (smaller(tree, v, s.heap[j], s.depth)) { break; }
+
+           /* Exchange v with the smallest son */
+           s.heap[k] = s.heap[j];
+           k = j;
+
+           /* And continue down the tree, setting j to the left son of k */
+           j <<= 1;
+         }
+         s.heap[k] = v;
+       }
+
+
+       // inlined manually
+       // var SMALLEST = 1;
+
+       /* ===========================================================================
+        * Send the block data compressed using the given Huffman trees
+        */
+       function compress_block(s, ltree, dtree)
+       //    deflate_state *s;
+       //    const ct_data *ltree; /* literal tree */
+       //    const ct_data *dtree; /* distance tree */
+       {
+         var dist;           /* distance of matched string */
+         var lc;             /* match length or unmatched char (if dist == 0) */
+         var lx = 0;         /* running index in l_buf */
+         var code;           /* the code to send */
+         var extra;          /* number of extra bits to send */
+
+         if (s.last_lit !== 0) {
+           do {
+             dist = (s.pending_buf[s.d_buf + lx*2] << 8) | (s.pending_buf[s.d_buf + lx*2 + 1]);
+             lc = s.pending_buf[s.l_buf + lx];
+             lx++;
+
+             if (dist === 0) {
+               send_code(s, lc, ltree); /* send a literal byte */
+               //Tracecv(isgraph(lc), (stderr," '%c' ", lc));
+             } else {
+               /* Here, lc is the match length - MIN_MATCH */
+               code = _length_code[lc];
+               send_code(s, code+LITERALS+1, ltree); /* send the length code */
+               extra = extra_lbits[code];
+               if (extra !== 0) {
+                 lc -= base_length[code];
+                 send_bits(s, lc, extra);       /* send the extra length bits */
+               }
+               dist--; /* dist is now the match distance - 1 */
+               code = d_code(dist);
+               //Assert (code < D_CODES, "bad d_code");
+
+               send_code(s, code, dtree);       /* send the distance code */
+               extra = extra_dbits[code];
+               if (extra !== 0) {
+                 dist -= base_dist[code];
+                 send_bits(s, dist, extra);   /* send the extra distance bits */
+               }
+             } /* literal or match pair ? */
+
+             /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */
+             //Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx,
+             //       "pendingBuf overflow");
+
+           } while (lx < s.last_lit);
+         }
+
+         send_code(s, END_BLOCK, ltree);
+       }
+
+
+       /* ===========================================================================
+        * Construct one Huffman tree and assigns the code bit strings and lengths.
+        * Update the total bit length for the current block.
+        * IN assertion: the field freq is set for all tree elements.
+        * OUT assertions: the fields len and code are set to the optimal bit length
+        *     and corresponding code. The length opt_len is updated; static_len is
+        *     also updated if stree is not null. The field max_code is set.
+        */
+       function build_tree(s, desc)
+       //    deflate_state *s;
+       //    tree_desc *desc; /* the tree descriptor */
+       {
+         var tree     = desc.dyn_tree;
+         var stree    = desc.stat_desc.static_tree;
+         var has_stree = desc.stat_desc.has_stree;
+         var elems    = desc.stat_desc.elems;
+         var n, m;          /* iterate over heap elements */
+         var max_code = -1; /* largest code with non zero frequency */
+         var node;          /* new node being created */
+
+         /* Construct the initial heap, with least frequent element in
+          * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].
+          * heap[0] is not used.
+          */
+         s.heap_len = 0;
+         s.heap_max = HEAP_SIZE;
+
+         for (n = 0; n < elems; n++) {
+           if (tree[n * 2]/*.Freq*/ !== 0) {
+             s.heap[++s.heap_len] = max_code = n;
+             s.depth[n] = 0;
+
+           } else {
+             tree[n*2 + 1]/*.Len*/ = 0;
+           }
+         }
+
+         /* The pkzip format requires that at least one distance code exists,
+          * and that at least one bit should be sent even if there is only one
+          * possible code. So to avoid special checks later on we force at least
+          * two codes of non zero frequency.
+          */
+         while (s.heap_len < 2) {
+           node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0);
+           tree[node * 2]/*.Freq*/ = 1;
+           s.depth[node] = 0;
+           s.opt_len--;
+
+           if (has_stree) {
+             s.static_len -= stree[node*2 + 1]/*.Len*/;
+           }
+           /* node is 0 or 1 so it does not have extra bits */
+         }
+         desc.max_code = max_code;
+
+         /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,
+          * establish sub-heaps of increasing lengths:
+          */
+         for (n = (s.heap_len >> 1/*int /2*/); n >= 1; n--) { pqdownheap(s, tree, n); }
+
+         /* Construct the Huffman tree by repeatedly combining the least two
+          * frequent nodes.
+          */
+         node = elems;              /* next internal node of the tree */
+         do {
+           //pqremove(s, tree, n);  /* n = node of least frequency */
+           /*** pqremove ***/
+           n = s.heap[1/*SMALLEST*/];
+           s.heap[1/*SMALLEST*/] = s.heap[s.heap_len--];
+           pqdownheap(s, tree, 1/*SMALLEST*/);
+           /***/
+
+           m = s.heap[1/*SMALLEST*/]; /* m = node of next least frequency */
+
+           s.heap[--s.heap_max] = n; /* keep the nodes sorted by frequency */
+           s.heap[--s.heap_max] = m;
+
+           /* Create a new node father of n and m */
+           tree[node * 2]/*.Freq*/ = tree[n * 2]/*.Freq*/ + tree[m * 2]/*.Freq*/;
+           s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1;
+           tree[n*2 + 1]/*.Dad*/ = tree[m*2 + 1]/*.Dad*/ = node;
+
+           /* and insert the new node in the heap */
+           s.heap[1/*SMALLEST*/] = node++;
+           pqdownheap(s, tree, 1/*SMALLEST*/);
+
+         } while (s.heap_len >= 2);
+
+         s.heap[--s.heap_max] = s.heap[1/*SMALLEST*/];
+
+         /* At this point, the fields freq and dad are set. We can now
+          * generate the bit lengths.
+          */
+         gen_bitlen(s, desc);
+
+         /* The field len is now set, we can generate the bit codes */
+         gen_codes(tree, max_code, s.bl_count);
+       }
+
+
+       /* ===========================================================================
+        * Scan a literal or distance tree to determine the frequencies of the codes
+        * in the bit length tree.
+        */
+       function scan_tree(s, tree, max_code)
+       //    deflate_state *s;
+       //    ct_data *tree;   /* the tree to be scanned */
+       //    int max_code;    /* and its largest code of non zero frequency */
+       {
+         var n;                     /* iterates over all tree elements */
+         var prevlen = -1;          /* last emitted length */
+         var curlen;                /* length of current code */
+
+         var nextlen = tree[0*2 + 1]/*.Len*/; /* length of next code */
+
+         var count = 0;             /* repeat count of the current code */
+         var max_count = 7;         /* max repeat count */
+         var min_count = 4;         /* min repeat count */
+
+         if (nextlen === 0) {
+           max_count = 138;
+           min_count = 3;
+         }
+         tree[(max_code+1)*2 + 1]/*.Len*/ = 0xffff; /* guard */
+
+         for (n = 0; n <= max_code; n++) {
+           curlen = nextlen;
+           nextlen = tree[(n+1)*2 + 1]/*.Len*/;
+
+           if (++count < max_count && curlen === nextlen) {
+             continue;
+
+           } else if (count < min_count) {
+             s.bl_tree[curlen * 2]/*.Freq*/ += count;
+
+           } else if (curlen !== 0) {
+
+             if (curlen !== prevlen) { s.bl_tree[curlen * 2]/*.Freq*/++; }
+             s.bl_tree[REP_3_6*2]/*.Freq*/++;
+
+           } else if (count <= 10) {
+             s.bl_tree[REPZ_3_10*2]/*.Freq*/++;
+
+           } else {
+             s.bl_tree[REPZ_11_138*2]/*.Freq*/++;
+           }
+
+           count = 0;
+           prevlen = curlen;
+
+           if (nextlen === 0) {
+             max_count = 138;
+             min_count = 3;
+
+           } else if (curlen === nextlen) {
+             max_count = 6;
+             min_count = 3;
+
+           } else {
+             max_count = 7;
+             min_count = 4;
+           }
+         }
+       }
+
+
+       /* ===========================================================================
+        * Send a literal or distance tree in compressed form, using the codes in
+        * bl_tree.
+        */
+       function send_tree(s, tree, max_code)
+       //    deflate_state *s;
+       //    ct_data *tree; /* the tree to be scanned */
+       //    int max_code;       /* and its largest code of non zero frequency */
+       {
+         var n;                     /* iterates over all tree elements */
+         var prevlen = -1;          /* last emitted length */
+         var curlen;                /* length of current code */
+
+         var nextlen = tree[0*2 + 1]/*.Len*/; /* length of next code */
+
+         var count = 0;             /* repeat count of the current code */
+         var max_count = 7;         /* max repeat count */
+         var min_count = 4;         /* min repeat count */
+
+         /* tree[max_code+1].Len = -1; */  /* guard already set */
+         if (nextlen === 0) {
+           max_count = 138;
+           min_count = 3;
+         }
+
+         for (n = 0; n <= max_code; n++) {
+           curlen = nextlen;
+           nextlen = tree[(n+1)*2 + 1]/*.Len*/;
+
+           if (++count < max_count && curlen === nextlen) {
+             continue;
+
+           } else if (count < min_count) {
+             do { send_code(s, curlen, s.bl_tree); } while (--count !== 0);
+
+           } else if (curlen !== 0) {
+             if (curlen !== prevlen) {
+               send_code(s, curlen, s.bl_tree);
+               count--;
+             }
+             //Assert(count >= 3 && count <= 6, " 3_6?");
+             send_code(s, REP_3_6, s.bl_tree);
+             send_bits(s, count-3, 2);
+
+           } else if (count <= 10) {
+             send_code(s, REPZ_3_10, s.bl_tree);
+             send_bits(s, count-3, 3);
+
+           } else {
+             send_code(s, REPZ_11_138, s.bl_tree);
+             send_bits(s, count-11, 7);
+           }
+
+           count = 0;
+           prevlen = curlen;
+           if (nextlen === 0) {
+             max_count = 138;
+             min_count = 3;
+
+           } else if (curlen === nextlen) {
+             max_count = 6;
+             min_count = 3;
+
+           } else {
+             max_count = 7;
+             min_count = 4;
+           }
+         }
+       }
+
+
+       /* ===========================================================================
+        * Construct the Huffman tree for the bit lengths and return the index in
+        * bl_order of the last bit length code to send.
+        */
+       function build_bl_tree(s) {
+         var max_blindex;  /* index of last bit length code of non zero freq */
+
+         /* Determine the bit length frequencies for literal and distance trees */
+         scan_tree(s, s.dyn_ltree, s.l_desc.max_code);
+         scan_tree(s, s.dyn_dtree, s.d_desc.max_code);
+
+         /* Build the bit length tree: */
+         build_tree(s, s.bl_desc);
+         /* opt_len now includes the length of the tree representations, except
+          * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.
+          */
+
+         /* Determine the number of bit length codes to send. The pkzip format
+          * requires that at least 4 bit length codes be sent. (appnote.txt says
+          * 3 but the actual value used is 4.)
+          */
+         for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) {
+           if (s.bl_tree[bl_order[max_blindex]*2 + 1]/*.Len*/ !== 0) {
+             break;
+           }
+         }
+         /* Update opt_len to include the bit length tree and counts */
+         s.opt_len += 3*(max_blindex+1) + 5+5+4;
+         //Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld",
+         //        s->opt_len, s->static_len));
+
+         return max_blindex;
+       }
+
+
+       /* ===========================================================================
+        * Send the header for a block using dynamic Huffman trees: the counts, the
+        * lengths of the bit length codes, the literal tree and the distance tree.
+        * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.
+        */
+       function send_all_trees(s, lcodes, dcodes, blcodes)
+       //    deflate_state *s;
+       //    int lcodes, dcodes, blcodes; /* number of codes for each tree */
+       {
+         var rank;                    /* index in bl_order */
+
+         //Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes");
+         //Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,
+         //        "too many codes");
+         //Tracev((stderr, "\nbl counts: "));
+         send_bits(s, lcodes-257, 5); /* not +255 as stated in appnote.txt */
+         send_bits(s, dcodes-1,   5);
+         send_bits(s, blcodes-4,  4); /* not -3 as stated in appnote.txt */
+         for (rank = 0; rank < blcodes; rank++) {
+           //Tracev((stderr, "\nbl code %2d ", bl_order[rank]));
+           send_bits(s, s.bl_tree[bl_order[rank]*2 + 1]/*.Len*/, 3);
+         }
+         //Tracev((stderr, "\nbl tree: sent %ld", s->bits_sent));
+
+         send_tree(s, s.dyn_ltree, lcodes-1); /* literal tree */
+         //Tracev((stderr, "\nlit tree: sent %ld", s->bits_sent));
+
+         send_tree(s, s.dyn_dtree, dcodes-1); /* distance tree */
+         //Tracev((stderr, "\ndist tree: sent %ld", s->bits_sent));
+       }
+
+
+       /* ===========================================================================
+        * Check if the data type is TEXT or BINARY, using the following algorithm:
+        * - TEXT if the two conditions below are satisfied:
+        *    a) There are no non-portable control characters belonging to the
+        *       "black list" (0..6, 14..25, 28..31).
+        *    b) There is at least one printable character belonging to the
+        *       "white list" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).
+        * - BINARY otherwise.
+        * - The following partially-portable control characters form a
+        *   "gray list" that is ignored in this detection algorithm:
+        *   (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).
+        * IN assertion: the fields Freq of dyn_ltree are set.
+        */
+       function detect_data_type(s) {
+         /* black_mask is the bit mask of black-listed bytes
+          * set bits 0..6, 14..25, and 28..31
+          * 0xf3ffc07f = binary 11110011111111111100000001111111
+          */
+         var black_mask = 0xf3ffc07f;
+         var n;
+
+         /* Check for non-textual ("black-listed") bytes. */
+         for (n = 0; n <= 31; n++, black_mask >>>= 1) {
+           if ((black_mask & 1) && (s.dyn_ltree[n*2]/*.Freq*/ !== 0)) {
+             return Z_BINARY;
+           }
+         }
+
+         /* Check for textual ("white-listed") bytes. */
+         if (s.dyn_ltree[9 * 2]/*.Freq*/ !== 0 || s.dyn_ltree[10 * 2]/*.Freq*/ !== 0 ||
+             s.dyn_ltree[13 * 2]/*.Freq*/ !== 0) {
+           return Z_TEXT;
+         }
+         for (n = 32; n < LITERALS; n++) {
+           if (s.dyn_ltree[n * 2]/*.Freq*/ !== 0) {
+             return Z_TEXT;
+           }
+         }
+
+         /* There are no "black-listed" or "white-listed" bytes:
+          * this stream either is empty or has tolerated ("gray-listed") bytes only.
+          */
+         return Z_BINARY;
+       }
+
+
+       var static_init_done = false;
+
+       /* ===========================================================================
+        * Initialize the tree data structures for a new zlib stream.
+        */
+       function _tr_init(s)
+       {
+
+         if (!static_init_done) {
+           tr_static_init();
+           static_init_done = true;
+         }
+
+         s.l_desc  = new TreeDesc(s.dyn_ltree, static_l_desc);
+         s.d_desc  = new TreeDesc(s.dyn_dtree, static_d_desc);
+         s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc);
+
+         s.bi_buf = 0;
+         s.bi_valid = 0;
+
+         /* Initialize the first block of the first file: */
+         init_block(s);
+       }
+
+
+       /* ===========================================================================
+        * Send a stored block
+        */
+       function _tr_stored_block(s, buf, stored_len, last)
+       //DeflateState *s;
+       //charf *buf;       /* input block */
+       //ulg stored_len;   /* length of input block */
+       //int last;         /* one if this is the last block for a file */
+       {
+         send_bits(s, (STORED_BLOCK<<1)+(last ? 1 : 0), 3);    /* send block type */
+         copy_block(s, buf, stored_len, true); /* with header */
+       }
+
+
+       /* ===========================================================================
+        * Send one empty static block to give enough lookahead for inflate.
+        * This takes 10 bits, of which 7 may remain in the bit buffer.
+        */
+       function _tr_align(s) {
+         send_bits(s, STATIC_TREES<<1, 3);
+         send_code(s, END_BLOCK, static_ltree);
+         bi_flush(s);
+       }
+
+
+       /* ===========================================================================
+        * Determine the best encoding for the current block: dynamic trees, static
+        * trees or store, and output the encoded block to the zip file.
+        */
+       function _tr_flush_block(s, buf, stored_len, last)
+       //DeflateState *s;
+       //charf *buf;       /* input block, or NULL if too old */
+       //ulg stored_len;   /* length of input block */
+       //int last;         /* one if this is the last block for a file */
+       {
+         var opt_lenb, static_lenb;  /* opt_len and static_len in bytes */
+         var max_blindex = 0;        /* index of last bit length code of non zero freq */
+
+         /* Build the Huffman trees unless a stored block is forced */
+         if (s.level > 0) {
+
+           /* Check if the file is binary or text */
+           if (s.strm.data_type === Z_UNKNOWN) {
+             s.strm.data_type = detect_data_type(s);
+           }
+
+           /* Construct the literal and distance trees */
+           build_tree(s, s.l_desc);
+           // Tracev((stderr, "\nlit data: dyn %ld, stat %ld", s->opt_len,
+           //        s->static_len));
+
+           build_tree(s, s.d_desc);
+           // Tracev((stderr, "\ndist data: dyn %ld, stat %ld", s->opt_len,
+           //        s->static_len));
+           /* At this point, opt_len and static_len are the total bit lengths of
+            * the compressed block data, excluding the tree representations.
+            */
+
+           /* Build the bit length tree for the above two trees, and get the index
+            * in bl_order of the last bit length code to send.
+            */
+           max_blindex = build_bl_tree(s);
+
+           /* Determine the best encoding. Compute the block lengths in bytes. */
+           opt_lenb = (s.opt_len+3+7) >>> 3;
+           static_lenb = (s.static_len+3+7) >>> 3;
+
+           // Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ",
+           //        opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,
+           //        s->last_lit));
+
+           if (static_lenb <= opt_lenb) { opt_lenb = static_lenb; }
+
+         } else {
+           // Assert(buf != (char*)0, "lost buf");
+           opt_lenb = static_lenb = stored_len + 5; /* force a stored block */
+         }
+
+         if ((stored_len+4 <= opt_lenb) && (buf !== -1)) {
+           /* 4: two words for the lengths */
+
+           /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.
+            * Otherwise we can't have processed more than WSIZE input bytes since
+            * the last block flush, because compression would have been
+            * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to
+            * transform a block into a stored block.
+            */
+           _tr_stored_block(s, buf, stored_len, last);
+
+         } else if (s.strategy === Z_FIXED || static_lenb === opt_lenb) {
+
+           send_bits(s, (STATIC_TREES<<1) + (last ? 1 : 0), 3);
+           compress_block(s, static_ltree, static_dtree);
+
+         } else {
+           send_bits(s, (DYN_TREES<<1) + (last ? 1 : 0), 3);
+           send_all_trees(s, s.l_desc.max_code+1, s.d_desc.max_code+1, max_blindex+1);
+           compress_block(s, s.dyn_ltree, s.dyn_dtree);
+         }
+         // Assert (s->compressed_len == s->bits_sent, "bad compressed size");
+         /* The above check is made mod 2^32, for files larger than 512 MB
+          * and uLong implemented on 32 bits.
+          */
+         init_block(s);
+
+         if (last) {
+           bi_windup(s);
+         }
+         // Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len>>3,
+         //       s->compressed_len-7*last));
+       }
+
+       /* ===========================================================================
+        * Save the match info and tally the frequency counts. Return true if
+        * the current block must be flushed.
+        */
+       function _tr_tally(s, dist, lc)
+       //    deflate_state *s;
+       //    unsigned dist;  /* distance of matched string */
+       //    unsigned lc;    /* match length-MIN_MATCH or unmatched char (if dist==0) */
+       {
+         //var out_length, in_length, dcode;
+
+         s.pending_buf[s.d_buf + s.last_lit * 2]     = (dist >>> 8) & 0xff;
+         s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 0xff;
+
+         s.pending_buf[s.l_buf + s.last_lit] = lc & 0xff;
+         s.last_lit++;
+
+         if (dist === 0) {
+           /* lc is the unmatched char */
+           s.dyn_ltree[lc*2]/*.Freq*/++;
+         } else {
+           s.matches++;
+           /* Here, lc is the match length - MIN_MATCH */
+           dist--;             /* dist = match distance - 1 */
+           //Assert((ush)dist < (ush)MAX_DIST(s) &&
+           //       (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&
+           //       (ush)d_code(dist) < (ush)D_CODES,  "_tr_tally: bad match");
+
+           s.dyn_ltree[(_length_code[lc]+LITERALS+1) * 2]/*.Freq*/++;
+           s.dyn_dtree[d_code(dist) * 2]/*.Freq*/++;
+         }
+
+       // (!) This block is disabled in zlib defailts,
+       // don't enable it for binary compatibility
+
+       //#ifdef TRUNCATE_BLOCK
+       //  /* Try to guess if it is profitable to stop the current block here */
+       //  if ((s.last_lit & 0x1fff) === 0 && s.level > 2) {
+       //    /* Compute an upper bound for the compressed length */
+       //    out_length = s.last_lit*8;
+       //    in_length = s.strstart - s.block_start;
+       //
+       //    for (dcode = 0; dcode < D_CODES; dcode++) {
+       //      out_length += s.dyn_dtree[dcode*2]/*.Freq*/ * (5 + extra_dbits[dcode]);
+       //    }
+       //    out_length >>>= 3;
+       //    //Tracev((stderr,"\nlast_lit %u, in %ld, out ~%ld(%ld%%) ",
+       //    //       s->last_lit, in_length, out_length,
+       //    //       100L - out_length*100L/in_length));
+       //    if (s.matches < (s.last_lit>>1)/*int /2*/ && out_length < (in_length>>1)/*int /2*/) {
+       //      return true;
+       //    }
+       //  }
+       //#endif
+
+         return (s.last_lit === s.lit_bufsize-1);
+         /* We avoid equality with lit_bufsize because of wraparound at 64K
+          * on 16 bit machines and because stored blocks are restricted to
+          * 64K-1 bytes.
+          */
+       }
+
+       exports._tr_init  = _tr_init;
+       exports._tr_stored_block = _tr_stored_block;
+       exports._tr_flush_block  = _tr_flush_block;
+       exports._tr_tally = _tr_tally;
+       exports._tr_align = _tr_align;
+
+
+/***/ },
+/* 54 */
+/***/ function(module, exports) {
+
+       'use strict';
+
+       // Note: adler32 takes 12% for level 0 and 2% for level 6.
+       // It doesn't worth to make additional optimizationa as in original.
+       // Small size is preferable.
+
+       function adler32(adler, buf, len, pos) {
+         var s1 = (adler & 0xffff) |0,
+             s2 = ((adler >>> 16) & 0xffff) |0,
+             n = 0;
+
+         while (len !== 0) {
+           // Set limit ~ twice less than 5552, to keep
+           // s2 in 31-bits, because we force signed ints.
+           // in other case %= will fail.
+           n = len > 2000 ? 2000 : len;
+           len -= n;
+
+           do {
+             s1 = (s1 + buf[pos++]) |0;
+             s2 = (s2 + s1) |0;
+           } while (--n);
+
+           s1 %= 65521;
+           s2 %= 65521;
+         }
+
+         return (s1 | (s2 << 16)) |0;
+       }
+
+
+       module.exports = adler32;
+
+
+/***/ },
+/* 55 */
+/***/ function(module, exports) {
+
+       'use strict';
+
+       // Note: we can't get significant speed boost here.
+       // So write code to minimize size - no pregenerated tables
+       // and array tools dependencies.
+
+
+       // Use ordinary array, since untyped makes no boost here
+       function makeTable() {
+         var c, table = [];
+
+         for (var n =0; n < 256; n++) {
+           c = n;
+           for (var k =0; k < 8; k++) {
+             c = ((c&1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));
+           }
+           table[n] = c;
+         }
+
+         return table;
+       }
+
+       // Create table on load. Just 255 signed longs. Not a problem.
+       var crcTable = makeTable();
+
+
+       function crc32(crc, buf, len, pos) {
+         var t = crcTable,
+             end = pos + len;
+
+         crc = crc ^ (-1);
+
+         for (var i = pos; i < end; i++) {
+           crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];
+         }
+
+         return (crc ^ (-1)); // >>> 0;
+       }
+
+
+       module.exports = crc32;
+
+
+/***/ },
+/* 56 */
+/***/ function(module, exports, __webpack_require__) {
+
+       'use strict';
+
+
+       var utils = __webpack_require__(52);
+       var adler32 = __webpack_require__(54);
+       var crc32   = __webpack_require__(55);
+       var inflate_fast = __webpack_require__(57);
+       var inflate_table = __webpack_require__(58);
+
+       var CODES = 0;
+       var LENS = 1;
+       var DISTS = 2;
+
+       /* Public constants ==========================================================*/
+       /* ===========================================================================*/
+
+
+       /* Allowed flush values; see deflate() and inflate() below for details */
+       //var Z_NO_FLUSH      = 0;
+       //var Z_PARTIAL_FLUSH = 1;
+       //var Z_SYNC_FLUSH    = 2;
+       //var Z_FULL_FLUSH    = 3;
+       var Z_FINISH        = 4;
+       var Z_BLOCK         = 5;
+       var Z_TREES         = 6;
+
+
+       /* Return codes for the compression/decompression functions. Negative values
+        * are errors, positive values are used for special but normal events.
+        */
+       var Z_OK            = 0;
+       var Z_STREAM_END    = 1;
+       var Z_NEED_DICT     = 2;
+       //var Z_ERRNO         = -1;
+       var Z_STREAM_ERROR  = -2;
+       var Z_DATA_ERROR    = -3;
+       var Z_MEM_ERROR     = -4;
+       var Z_BUF_ERROR     = -5;
+       //var Z_VERSION_ERROR = -6;
+
+       /* The deflate compression method */
+       var Z_DEFLATED  = 8;
+
+
+       /* STATES ====================================================================*/
+       /* ===========================================================================*/
+
+
+       var    HEAD = 1;       /* i: waiting for magic header */
+       var    FLAGS = 2;      /* i: waiting for method and flags (gzip) */
+       var    TIME = 3;       /* i: waiting for modification time (gzip) */
+       var    OS = 4;         /* i: waiting for extra flags and operating system (gzip) */
+       var    EXLEN = 5;      /* i: waiting for extra length (gzip) */
+       var    EXTRA = 6;      /* i: waiting for extra bytes (gzip) */
+       var    NAME = 7;       /* i: waiting for end of file name (gzip) */
+       var    COMMENT = 8;    /* i: waiting for end of comment (gzip) */
+       var    HCRC = 9;       /* i: waiting for header crc (gzip) */
+       var    DICTID = 10;    /* i: waiting for dictionary check value */
+       var    DICT = 11;      /* waiting for inflateSetDictionary() call */
+       var        TYPE = 12;      /* i: waiting for type bits, including last-flag bit */
+       var        TYPEDO = 13;    /* i: same, but skip check to exit inflate on new block */
+       var        STORED = 14;    /* i: waiting for stored size (length and complement) */
+       var        COPY_ = 15;     /* i/o: same as COPY below, but only first time in */
+       var        COPY = 16;      /* i/o: waiting for input or output to copy stored block */
+       var        TABLE = 17;     /* i: waiting for dynamic block table lengths */
+       var        LENLENS = 18;   /* i: waiting for code length code lengths */
+       var        CODELENS = 19;  /* i: waiting for length/lit and distance code lengths */
+       var            LEN_ = 20;      /* i: same as LEN below, but only first time in */
+       var            LEN = 21;       /* i: waiting for length/lit/eob code */
+       var            LENEXT = 22;    /* i: waiting for length extra bits */
+       var            DIST = 23;      /* i: waiting for distance code */
+       var            DISTEXT = 24;   /* i: waiting for distance extra bits */
+       var            MATCH = 25;     /* o: waiting for output space to copy string */
+       var            LIT = 26;       /* o: waiting for output space to write literal */
+       var    CHECK = 27;     /* i: waiting for 32-bit check value */
+       var    LENGTH = 28;    /* i: waiting for 32-bit length (gzip) */
+       var    DONE = 29;      /* finished check, done -- remain here until reset */
+       var    BAD = 30;       /* got a data error -- remain here until reset */
+       var    MEM = 31;       /* got an inflate() memory error -- remain here until reset */
+       var    SYNC = 32;      /* looking for synchronization bytes to restart inflate() */
+
+       /* ===========================================================================*/
+
+
+
+       var ENOUGH_LENS = 852;
+       var ENOUGH_DISTS = 592;
+       //var ENOUGH =  (ENOUGH_LENS+ENOUGH_DISTS);
+
+       var MAX_WBITS = 15;
+       /* 32K LZ77 window */
+       var DEF_WBITS = MAX_WBITS;
+
+
+       function ZSWAP32(q) {
+         return  (((q >>> 24) & 0xff) +
+                 ((q >>> 8) & 0xff00) +
+                 ((q & 0xff00) << 8) +
+                 ((q & 0xff) << 24));
+       }
+
+
+       function InflateState() {
+         this.mode = 0;             /* current inflate mode */
+         this.last = false;          /* true if processing last block */
+         this.wrap = 0;              /* bit 0 true for zlib, bit 1 true for gzip */
+         this.havedict = false;      /* true if dictionary provided */
+         this.flags = 0;             /* gzip header method and flags (0 if zlib) */
+         this.dmax = 0;              /* zlib header max distance (INFLATE_STRICT) */
+         this.check = 0;             /* protected copy of check value */
+         this.total = 0;             /* protected copy of output count */
+         // TODO: may be {}
+         this.head = null;           /* where to save gzip header information */
+
+         /* sliding window */
+         this.wbits = 0;             /* log base 2 of requested window size */
+         this.wsize = 0;             /* window size or zero if not using window */
+         this.whave = 0;             /* valid bytes in the window */
+         this.wnext = 0;             /* window write index */
+         this.window = null;         /* allocated sliding window, if needed */
+
+         /* bit accumulator */
+         this.hold = 0;              /* input bit accumulator */
+         this.bits = 0;              /* number of bits in "in" */
+
+         /* for string and stored block copying */
+         this.length = 0;            /* literal or length of data to copy */
+         this.offset = 0;            /* distance back to copy string from */
+
+         /* for table and code decoding */
+         this.extra = 0;             /* extra bits needed */
+
+         /* fixed and dynamic code tables */
+         this.lencode = null;          /* starting table for length/literal codes */
+         this.distcode = null;         /* starting table for distance codes */
+         this.lenbits = 0;           /* index bits for lencode */
+         this.distbits = 0;          /* index bits for distcode */
+
+         /* dynamic table building */
+         this.ncode = 0;             /* number of code length code lengths */
+         this.nlen = 0;              /* number of length code lengths */
+         this.ndist = 0;             /* number of distance code lengths */
+         this.have = 0;              /* number of code lengths in lens[] */
+         this.next = null;              /* next available space in codes[] */
+
+         this.lens = new utils.Buf16(320); /* temporary storage for code lengths */
+         this.work = new utils.Buf16(288); /* work area for code table building */
+
+         /*
+          because we don't have pointers in js, we use lencode and distcode directly
+          as buffers so we don't need codes
+         */
+         //this.codes = new utils.Buf32(ENOUGH);       /* space for code tables */
+         this.lendyn = null;              /* dynamic table for length/literal codes (JS specific) */
+         this.distdyn = null;             /* dynamic table for distance codes (JS specific) */
+         this.sane = 0;                   /* if false, allow invalid distance too far */
+         this.back = 0;                   /* bits back of last unprocessed length/lit */
+         this.was = 0;                    /* initial length of match */
+       }
+
+       function inflateResetKeep(strm) {
+         var state;
+
+         if (!strm || !strm.state) { return Z_STREAM_ERROR; }
+         state = strm.state;
+         strm.total_in = strm.total_out = state.total = 0;
+         strm.msg = ''; /*Z_NULL*/
+         if (state.wrap) {       /* to support ill-conceived Java test suite */
+           strm.adler = state.wrap & 1;
+         }
+         state.mode = HEAD;
+         state.last = 0;
+         state.havedict = 0;
+         state.dmax = 32768;
+         state.head = null/*Z_NULL*/;
+         state.hold = 0;
+         state.bits = 0;
+         //state.lencode = state.distcode = state.next = state.codes;
+         state.lencode = state.lendyn = new utils.Buf32(ENOUGH_LENS);
+         state.distcode = state.distdyn = new utils.Buf32(ENOUGH_DISTS);
+
+         state.sane = 1;
+         state.back = -1;
+         //Tracev((stderr, "inflate: reset\n"));
+         return Z_OK;
+       }
+
+       function inflateReset(strm) {
+         var state;
+
+         if (!strm || !strm.state) { return Z_STREAM_ERROR; }
+         state = strm.state;
+         state.wsize = 0;
+         state.whave = 0;
+         state.wnext = 0;
+         return inflateResetKeep(strm);
+
+       }
+
+       function inflateReset2(strm, windowBits) {
+         var wrap;
+         var state;
+
+         /* get the state */
+         if (!strm || !strm.state) { return Z_STREAM_ERROR; }
+         state = strm.state;
+
+         /* extract wrap request from windowBits parameter */
+         if (windowBits < 0) {
+           wrap = 0;
+           windowBits = -windowBits;
+         }
+         else {
+           wrap = (windowBits >> 4) + 1;
+           if (windowBits < 48) {
+             windowBits &= 15;
+           }
+         }
+
+         /* set number of window bits, free window if different */
+         if (windowBits && (windowBits < 8 || windowBits > 15)) {
+           return Z_STREAM_ERROR;
+         }
+         if (state.window !== null && state.wbits !== windowBits) {
+           state.window = null;
+         }
+
+         /* update state and reset the rest of it */
+         state.wrap = wrap;
+         state.wbits = windowBits;
+         return inflateReset(strm);
+       }
+
+       function inflateInit2(strm, windowBits) {
+         var ret;
+         var state;
+
+         if (!strm) { return Z_STREAM_ERROR; }
+         //strm.msg = Z_NULL;                 /* in case we return an error */
+
+         state = new InflateState();
+
+         //if (state === Z_NULL) return Z_MEM_ERROR;
+         //Tracev((stderr, "inflate: allocated\n"));
+         strm.state = state;
+         state.window = null/*Z_NULL*/;
+         ret = inflateReset2(strm, windowBits);
+         if (ret !== Z_OK) {
+           strm.state = null/*Z_NULL*/;
+         }
+         return ret;
+       }
+
+       function inflateInit(strm) {
+         return inflateInit2(strm, DEF_WBITS);
+       }
+
+
+       /*
+        Return state with length and distance decoding tables and index sizes set to
+        fixed code decoding.  Normally this returns fixed tables from inffixed.h.
+        If BUILDFIXED is defined, then instead this routine builds the tables the
+        first time it's called, and returns those tables the first time and
+        thereafter.  This reduces the size of the code by about 2K bytes, in
+        exchange for a little execution time.  However, BUILDFIXED should not be
+        used for threaded applications, since the rewriting of the tables and virgin
+        may not be thread-safe.
+        */
+       var virgin = true;
+
+       var lenfix, distfix; // We have no pointers in JS, so keep tables separate
+
+       function fixedtables(state) {
+         /* build fixed huffman tables if first call (may not be thread safe) */
+         if (virgin) {
+           var sym;
+
+           lenfix = new utils.Buf32(512);
+           distfix = new utils.Buf32(32);
+
+           /* literal/length table */
+           sym = 0;
+           while (sym < 144) { state.lens[sym++] = 8; }
+           while (sym < 256) { state.lens[sym++] = 9; }
+           while (sym < 280) { state.lens[sym++] = 7; }
+           while (sym < 288) { state.lens[sym++] = 8; }
+
+           inflate_table(LENS,  state.lens, 0, 288, lenfix,   0, state.work, {bits: 9});
+
+           /* distance table */
+           sym = 0;
+           while (sym < 32) { state.lens[sym++] = 5; }
+
+           inflate_table(DISTS, state.lens, 0, 32,   distfix, 0, state.work, {bits: 5});
+
+           /* do this just once */
+           virgin = false;
+         }
+
+         state.lencode = lenfix;
+         state.lenbits = 9;
+         state.distcode = distfix;
+         state.distbits = 5;
+       }
+
+
+       /*
+        Update the window with the last wsize (normally 32K) bytes written before
+        returning.  If window does not exist yet, create it.  This is only called
+        when a window is already in use, or when output has been written during this
+        inflate call, but the end of the deflate stream has not been reached yet.
+        It is also called to create a window for dictionary data when a dictionary
+        is loaded.
+
+        Providing output buffers larger than 32K to inflate() should provide a speed
+        advantage, since only the last 32K of output is copied to the sliding window
+        upon return from inflate(), and since all distances after the first 32K of
+        output will fall in the output data, making match copies simpler and faster.
+        The advantage may be dependent on the size of the processor's data caches.
+        */
+       function updatewindow(strm, src, end, copy) {
+         var dist;
+         var state = strm.state;
+
+         /* if it hasn't been done already, allocate space for the window */
+         if (state.window === null) {
+           state.wsize = 1 << state.wbits;
+           state.wnext = 0;
+           state.whave = 0;
+
+           state.window = new utils.Buf8(state.wsize);
+         }
+
+         /* copy state->wsize or less output bytes into the circular window */
+         if (copy >= state.wsize) {
+           utils.arraySet(state.window,src, end - state.wsize, state.wsize, 0);
+           state.wnext = 0;
+           state.whave = state.wsize;
+         }
+         else {
+           dist = state.wsize - state.wnext;
+           if (dist > copy) {
+             dist = copy;
+           }
+           //zmemcpy(state->window + state->wnext, end - copy, dist);
+           utils.arraySet(state.window,src, end - copy, dist, state.wnext);
+           copy -= dist;
+           if (copy) {
+             //zmemcpy(state->window, end - copy, copy);
+             utils.arraySet(state.window,src, end - copy, copy, 0);
+             state.wnext = copy;
+             state.whave = state.wsize;
+           }
+           else {
+             state.wnext += dist;
+             if (state.wnext === state.wsize) { state.wnext = 0; }
+             if (state.whave < state.wsize) { state.whave += dist; }
+           }
+         }
+         return 0;
+       }
+
+       function inflate(strm, flush) {
+         var state;
+         var input, output;          // input/output buffers
+         var next;                   /* next input INDEX */
+         var put;                    /* next output INDEX */
+         var have, left;             /* available input and output */
+         var hold;                   /* bit buffer */
+         var bits;                   /* bits in bit buffer */
+         var _in, _out;              /* save starting available input and output */
+         var copy;                   /* number of stored or match bytes to copy */
+         var from;                   /* where to copy match bytes from */
+         var from_source;
+         var here = 0;               /* current decoding table entry */
+         var here_bits, here_op, here_val; // paked "here" denormalized (JS specific)
+         //var last;                   /* parent table entry */
+         var last_bits, last_op, last_val; // paked "last" denormalized (JS specific)
+         var len;                    /* length to copy for repeats, bits to drop */
+         var ret;                    /* return code */
+         var hbuf = new utils.Buf8(4);    /* buffer for gzip header crc calculation */
+         var opts;
+
+         var n; // temporary var for NEED_BITS
+
+         var order = /* permutation of code lengths */
+           [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];
+
+
+         if (!strm || !strm.state || !strm.output ||
+             (!strm.input && strm.avail_in !== 0)) {
+           return Z_STREAM_ERROR;
+         }
+
+         state = strm.state;
+         if (state.mode === TYPE) { state.mode = TYPEDO; }    /* skip check */
+
+
+         //--- LOAD() ---
+         put = strm.next_out;
+         output = strm.output;
+         left = strm.avail_out;
+         next = strm.next_in;
+         input = strm.input;
+         have = strm.avail_in;
+         hold = state.hold;
+         bits = state.bits;
+         //---
+
+         _in = have;
+         _out = left;
+         ret = Z_OK;
+
+         inf_leave: // goto emulation
+         for (;;) {
+           switch (state.mode) {
+           case HEAD:
+             if (state.wrap === 0) {
+               state.mode = TYPEDO;
+               break;
+             }
+             //=== NEEDBITS(16);
+             while (bits < 16) {
+               if (have === 0) { break inf_leave; }
+               have--;
+               hold += input[next++] << bits;
+               bits += 8;
+             }
+             //===//
+             if ((state.wrap & 2) && hold === 0x8b1f) {  /* gzip header */
+               state.check = 0/*crc32(0L, Z_NULL, 0)*/;
+               //=== CRC2(state.check, hold);
+               hbuf[0] = hold & 0xff;
+               hbuf[1] = (hold >>> 8) & 0xff;
+               state.check = crc32(state.check, hbuf, 2, 0);
+               //===//
+
+               //=== INITBITS();
+               hold = 0;
+               bits = 0;
+               //===//
+               state.mode = FLAGS;
+               break;
+             }
+             state.flags = 0;           /* expect zlib header */
+             if (state.head) {
+               state.head.done = false;
+             }
+             if (!(state.wrap & 1) ||   /* check if zlib header allowed */
+               (((hold & 0xff)/*BITS(8)*/ << 8) + (hold >> 8)) % 31) {
+               strm.msg = 'incorrect header check';
+               state.mode = BAD;
+               break;
+             }
+             if ((hold & 0x0f)/*BITS(4)*/ !== Z_DEFLATED) {
+               strm.msg = 'unknown compression method';
+               state.mode = BAD;
+               break;
+             }
+             //--- DROPBITS(4) ---//
+             hold >>>= 4;
+             bits -= 4;
+             //---//
+             len = (hold & 0x0f)/*BITS(4)*/ + 8;
+             if (state.wbits === 0) {
+               state.wbits = len;
+             }
+             else if (len > state.wbits) {
+               strm.msg = 'invalid window size';
+               state.mode = BAD;
+               break;
+             }
+             state.dmax = 1 << len;
+             //Tracev((stderr, "inflate:   zlib header ok\n"));
+             strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;
+             state.mode = hold & 0x200 ? DICTID : TYPE;
+             //=== INITBITS();
+             hold = 0;
+             bits = 0;
+             //===//
+             break;
+           case FLAGS:
+             //=== NEEDBITS(16); */
+             while (bits < 16) {
+               if (have === 0) { break inf_leave; }
+               have--;
+               hold += input[next++] << bits;
+               bits += 8;
+             }
+             //===//
+             state.flags = hold;
+             if ((state.flags & 0xff) !== Z_DEFLATED) {
+               strm.msg = 'unknown compression method';
+               state.mode = BAD;
+               break;
+             }
+             if (state.flags & 0xe000) {
+               strm.msg = 'unknown header flags set';
+               state.mode = BAD;
+               break;
+             }
+             if (state.head) {
+               state.head.text = ((hold >> 8) & 1);
+             }
+             if (state.flags & 0x0200) {
+               //=== CRC2(state.check, hold);
+               hbuf[0] = hold & 0xff;
+               hbuf[1] = (hold >>> 8) & 0xff;
+               state.check = crc32(state.check, hbuf, 2, 0);
+               //===//
+             }
+             //=== INITBITS();
+             hold = 0;
+             bits = 0;
+             //===//
+             state.mode = TIME;
+             /* falls through */
+           case TIME:
+             //=== NEEDBITS(32); */
+             while (bits < 32) {
+               if (have === 0) { break inf_leave; }
+               have--;
+               hold += input[next++] << bits;
+               bits += 8;
+             }
+             //===//
+             if (state.head) {
+               state.head.time = hold;
+             }
+             if (state.flags & 0x0200) {
+               //=== CRC4(state.check, hold)
+               hbuf[0] = hold & 0xff;
+               hbuf[1] = (hold >>> 8) & 0xff;
+               hbuf[2] = (hold >>> 16) & 0xff;
+               hbuf[3] = (hold >>> 24) & 0xff;
+               state.check = crc32(state.check, hbuf, 4, 0);
+               //===
+             }
+             //=== INITBITS();
+             hold = 0;
+             bits = 0;
+             //===//
+             state.mode = OS;
+             /* falls through */
+           case OS:
+             //=== NEEDBITS(16); */
+             while (bits < 16) {
+               if (have === 0) { break inf_leave; }
+               have--;
+               hold += input[next++] << bits;
+               bits += 8;
+             }
+             //===//
+             if (state.head) {
+               state.head.xflags = (hold & 0xff);
+               state.head.os = (hold >> 8);
+             }
+             if (state.flags & 0x0200) {
+               //=== CRC2(state.check, hold);
+               hbuf[0] = hold & 0xff;
+               hbuf[1] = (hold >>> 8) & 0xff;
+               state.check = crc32(state.check, hbuf, 2, 0);
+               //===//
+             }
+             //=== INITBITS();
+             hold = 0;
+             bits = 0;
+             //===//
+             state.mode = EXLEN;
+             /* falls through */
+           case EXLEN:
+             if (state.flags & 0x0400) {
+               //=== NEEDBITS(16); */
+               while (bits < 16) {
+                 if (have === 0) { break inf_leave; }
+                 have--;
+                 hold += input[next++] << bits;
+                 bits += 8;
+               }
+               //===//
+               state.length = hold;
+               if (state.head) {
+                 state.head.extra_len = hold;
+               }
+               if (state.flags & 0x0200) {
+                 //=== CRC2(state.check, hold);
+                 hbuf[0] = hold & 0xff;
+                 hbuf[1] = (hold >>> 8) & 0xff;
+                 state.check = crc32(state.check, hbuf, 2, 0);
+                 //===//
+               }
+               //=== INITBITS();
+               hold = 0;
+               bits = 0;
+               //===//
+             }
+             else if (state.head) {
+               state.head.extra = null/*Z_NULL*/;
+             }
+             state.mode = EXTRA;
+             /* falls through */
+           case EXTRA:
+             if (state.flags & 0x0400) {
+               copy = state.length;
+               if (copy > have) { copy = have; }
+               if (copy) {
+                 if (state.head) {
+                   len = state.head.extra_len - state.length;
+                   if (!state.head.extra) {
+                     // Use untyped array for more conveniend processing later
+                     state.head.extra = new Array(state.head.extra_len);
+                   }
+                   utils.arraySet(
+                     state.head.extra,
+                     input,
+                     next,
+                     // extra field is limited to 65536 bytes
+                     // - no need for additional size check
+                     copy,
+                     /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/
+                     len
+                   );
+                   //zmemcpy(state.head.extra + len, next,
+                   //        len + copy > state.head.extra_max ?
+                   //        state.head.extra_max - len : copy);
+                 }
+                 if (state.flags & 0x0200) {
+                   state.check = crc32(state.check, input, copy, next);
+                 }
+                 have -= copy;
+                 next += copy;
+                 state.length -= copy;
+               }
+               if (state.length) { break inf_leave; }
+             }
+             state.length = 0;
+             state.mode = NAME;
+             /* falls through */
+           case NAME:
+             if (state.flags & 0x0800) {
+               if (have === 0) { break inf_leave; }
+               copy = 0;
+               do {
+                 // TODO: 2 or 1 bytes?
+                 len = input[next + copy++];
+                 /* use constant limit because in js we should not preallocate memory */
+                 if (state.head && len &&
+                     (state.length < 65536 /*state.head.name_max*/)) {
+                   state.head.name += String.fromCharCode(len);
+                 }
+               } while (len && copy < have);
+
+               if (state.flags & 0x0200) {
+                 state.check = crc32(state.check, input, copy, next);
+               }
+               have -= copy;
+               next += copy;
+               if (len) { break inf_leave; }
+             }
+             else if (state.head) {
+               state.head.name = null;
+             }
+             state.length = 0;
+             state.mode = COMMENT;
+             /* falls through */
+           case COMMENT:
+             if (state.flags & 0x1000) {
+               if (have === 0) { break inf_leave; }
+               copy = 0;
+               do {
+                 len = input[next + copy++];
+                 /* use constant limit because in js we should not preallocate memory */
+                 if (state.head && len &&
+                     (state.length < 65536 /*state.head.comm_max*/)) {
+                   state.head.comment += String.fromCharCode(len);
+                 }
+               } while (len && copy < have);
+               if (state.flags & 0x0200) {
+                 state.check = crc32(state.check, input, copy, next);
+               }
+               have -= copy;
+               next += copy;
+               if (len) { break inf_leave; }
+             }
+             else if (state.head) {
+               state.head.comment = null;
+             }
+             state.mode = HCRC;
+             /* falls through */
+           case HCRC:
+             if (state.flags & 0x0200) {
+               //=== NEEDBITS(16); */
+               while (bits < 16) {
+                 if (have === 0) { break inf_leave; }
+                 have--;
+                 hold += input[next++] << bits;
+                 bits += 8;
+               }
+               //===//
+               if (hold !== (state.check & 0xffff)) {
+                 strm.msg = 'header crc mismatch';
+                 state.mode = BAD;
+                 break;
+               }
+               //=== INITBITS();
+               hold = 0;
+               bits = 0;
+               //===//
+             }
+             if (state.head) {
+               state.head.hcrc = ((state.flags >> 9) & 1);
+               state.head.done = true;
+             }
+             strm.adler = state.check = 0 /*crc32(0L, Z_NULL, 0)*/;
+             state.mode = TYPE;
+             break;
+           case DICTID:
+             //=== NEEDBITS(32); */
+             while (bits < 32) {
+               if (have === 0) { break inf_leave; }
+               have--;
+               hold += input[next++] << bits;
+               bits += 8;
+             }
+             //===//
+             strm.adler = state.check = ZSWAP32(hold);
+             //=== INITBITS();
+             hold = 0;
+             bits = 0;
+             //===//
+             state.mode = DICT;
+             /* falls through */
+           case DICT:
+             if (state.havedict === 0) {
+               //--- RESTORE() ---
+               strm.next_out = put;
+               strm.avail_out = left;
+               strm.next_in = next;
+               strm.avail_in = have;
+               state.hold = hold;
+               state.bits = bits;
+               //---
+               return Z_NEED_DICT;
+             }
+             strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;
+             state.mode = TYPE;
+             /* falls through */
+           case TYPE:
+             if (flush === Z_BLOCK || flush === Z_TREES) { break inf_leave; }
+             /* falls through */
+           case TYPEDO:
+             if (state.last) {
+               //--- BYTEBITS() ---//
+               hold >>>= bits & 7;
+               bits -= bits & 7;
+               //---//
+               state.mode = CHECK;
+               break;
+             }
+             //=== NEEDBITS(3); */
+             while (bits < 3) {
+               if (have === 0) { break inf_leave; }
+               have--;
+               hold += input[next++] << bits;
+               bits += 8;
+             }
+             //===//
+             state.last = (hold & 0x01)/*BITS(1)*/;
+             //--- DROPBITS(1) ---//
+             hold >>>= 1;
+             bits -= 1;
+             //---//
+
+             switch ((hold & 0x03)/*BITS(2)*/) {
+             case 0:                             /* stored block */
+               //Tracev((stderr, "inflate:     stored block%s\n",
+               //        state.last ? " (last)" : ""));
+               state.mode = STORED;
+               break;
+             case 1:                             /* fixed block */
+               fixedtables(state);
+               //Tracev((stderr, "inflate:     fixed codes block%s\n",
+               //        state.last ? " (last)" : ""));
+               state.mode = LEN_;             /* decode codes */
+               if (flush === Z_TREES) {
+                 //--- DROPBITS(2) ---//
+                 hold >>>= 2;
+                 bits -= 2;
+                 //---//
+                 break inf_leave;
+               }
+               break;
+             case 2:                             /* dynamic block */
+               //Tracev((stderr, "inflate:     dynamic codes block%s\n",
+               //        state.last ? " (last)" : ""));
+               state.mode = TABLE;
+               break;
+             case 3:
+               strm.msg = 'invalid block type';
+               state.mode = BAD;
+             }
+             //--- DROPBITS(2) ---//
+             hold >>>= 2;
+             bits -= 2;
+             //---//
+             break;
+           case STORED:
+             //--- BYTEBITS() ---// /* go to byte boundary */
+             hold >>>= bits & 7;
+             bits -= bits & 7;
+             //---//
+             //=== NEEDBITS(32); */
+             while (bits < 32) {
+               if (have === 0) { break inf_leave; }
+               have--;
+               hold += input[next++] << bits;
+               bits += 8;
+             }
+             //===//
+             if ((hold & 0xffff) !== ((hold >>> 16) ^ 0xffff)) {
+               strm.msg = 'invalid stored block lengths';
+               state.mode = BAD;
+               break;
+             }
+             state.length = hold & 0xffff;
+             //Tracev((stderr, "inflate:       stored length %u\n",
+             //        state.length));
+             //=== INITBITS();
+             hold = 0;
+             bits = 0;
+             //===//
+             state.mode = COPY_;
+             if (flush === Z_TREES) { break inf_leave; }
+             /* falls through */
+           case COPY_:
+             state.mode = COPY;
+             /* falls through */
+           case COPY:
+             copy = state.length;
+             if (copy) {
+               if (copy > have) { copy = have; }
+               if (copy > left) { copy = left; }
+               if (copy === 0) { break inf_leave; }
+               //--- zmemcpy(put, next, copy); ---
+               utils.arraySet(output, input, next, copy, put);
+               //---//
+               have -= copy;
+               next += copy;
+               left -= copy;
+               put += copy;
+               state.length -= copy;
+               break;
+             }
+             //Tracev((stderr, "inflate:       stored end\n"));
+             state.mode = TYPE;
+             break;
+           case TABLE:
+             //=== NEEDBITS(14); */
+             while (bits < 14) {
+               if (have === 0) { break inf_leave; }
+               have--;
+               hold += input[next++] << bits;
+               bits += 8;
+             }
+             //===//
+             state.nlen = (hold & 0x1f)/*BITS(5)*/ + 257;
+             //--- DROPBITS(5) ---//
+             hold >>>= 5;
+             bits -= 5;
+             //---//
+             state.ndist = (hold & 0x1f)/*BITS(5)*/ + 1;
+             //--- DROPBITS(5) ---//
+             hold >>>= 5;
+             bits -= 5;
+             //---//
+             state.ncode = (hold & 0x0f)/*BITS(4)*/ + 4;
+             //--- DROPBITS(4) ---//
+             hold >>>= 4;
+             bits -= 4;
+             //---//
+       //#ifndef PKZIP_BUG_WORKAROUND
+             if (state.nlen > 286 || state.ndist > 30) {
+               strm.msg = 'too many length or distance symbols';
+               state.mode = BAD;
+               break;
+             }
+       //#endif
+             //Tracev((stderr, "inflate:       table sizes ok\n"));
+             state.have = 0;
+             state.mode = LENLENS;
+             /* falls through */
+           case LENLENS:
+             while (state.have < state.ncode) {
+               //=== NEEDBITS(3);
+               while (bits < 3) {
+                 if (have === 0) { break inf_leave; }
+                 have--;
+                 hold += input[next++] << bits;
+                 bits += 8;
+               }
+               //===//
+               state.lens[order[state.have++]] = (hold & 0x07);//BITS(3);
+               //--- DROPBITS(3) ---//
+               hold >>>= 3;
+               bits -= 3;
+               //---//
+             }
+             while (state.have < 19) {
+               state.lens[order[state.have++]] = 0;
+             }
+             // We have separate tables & no pointers. 2 commented lines below not needed.
+             //state.next = state.codes;
+             //state.lencode = state.next;
+             // Switch to use dynamic table
+             state.lencode = state.lendyn;
+             state.lenbits = 7;
+
+             opts = {bits: state.lenbits};
+             ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts);
+             state.lenbits = opts.bits;
+
+             if (ret) {
+               strm.msg = 'invalid code lengths set';
+               state.mode = BAD;
+               break;
+             }
+             //Tracev((stderr, "inflate:       code lengths ok\n"));
+             state.have = 0;
+             state.mode = CODELENS;
+             /* falls through */
+           case CODELENS:
+             while (state.have < state.nlen + state.ndist) {
+               for (;;) {
+                 here = state.lencode[hold & ((1 << state.lenbits) - 1)];/*BITS(state.lenbits)*/
+                 here_bits = here >>> 24;
+                 here_op = (here >>> 16) & 0xff;
+                 here_val = here & 0xffff;
+
+                 if ((here_bits) <= bits) { break; }
+                 //--- PULLBYTE() ---//
+                 if (have === 0) { break inf_leave; }
+                 have--;
+                 hold += input[next++] << bits;
+                 bits += 8;
+                 //---//
+               }
+               if (here_val < 16) {
+                 //--- DROPBITS(here.bits) ---//
+                 hold >>>= here_bits;
+                 bits -= here_bits;
+                 //---//
+                 state.lens[state.have++] = here_val;
+               }
+               else {
+                 if (here_val === 16) {
+                   //=== NEEDBITS(here.bits + 2);
+                   n = here_bits + 2;
+                   while (bits < n) {
+                     if (have === 0) { break inf_leave; }
+                     have--;
+                     hold += input[next++] << bits;
+                     bits += 8;
+                   }
+                   //===//
+                   //--- DROPBITS(here.bits) ---//
+                   hold >>>= here_bits;
+                   bits -= here_bits;
+                   //---//
+                   if (state.have === 0) {
+                     strm.msg = 'invalid bit length repeat';
+                     state.mode = BAD;
+                     break;
+                   }
+                   len = state.lens[state.have - 1];
+                   copy = 3 + (hold & 0x03);//BITS(2);
+                   //--- DROPBITS(2) ---//
+                   hold >>>= 2;
+                   bits -= 2;
+                   //---//
+                 }
+                 else if (here_val === 17) {
+                   //=== NEEDBITS(here.bits + 3);
+                   n = here_bits + 3;
+                   while (bits < n) {
+                     if (have === 0) { break inf_leave; }
+                     have--;
+                     hold += input[next++] << bits;
+                     bits += 8;
+                   }
+                   //===//
+                   //--- DROPBITS(here.bits) ---//
+                   hold >>>= here_bits;
+                   bits -= here_bits;
+                   //---//
+                   len = 0;
+                   copy = 3 + (hold & 0x07);//BITS(3);
+                   //--- DROPBITS(3) ---//
+                   hold >>>= 3;
+                   bits -= 3;
+                   //---//
+                 }
+                 else {
+                   //=== NEEDBITS(here.bits + 7);
+                   n = here_bits + 7;
+                   while (bits < n) {
+                     if (have === 0) { break inf_leave; }
+                     have--;
+                     hold += input[next++] << bits;
+                     bits += 8;
+                   }
+                   //===//
+                   //--- DROPBITS(here.bits) ---//
+                   hold >>>= here_bits;
+                   bits -= here_bits;
+                   //---//
+                   len = 0;
+                   copy = 11 + (hold & 0x7f);//BITS(7);
+                   //--- DROPBITS(7) ---//
+                   hold >>>= 7;
+                   bits -= 7;
+                   //---//
+                 }
+                 if (state.have + copy > state.nlen + state.ndist) {
+                   strm.msg = 'invalid bit length repeat';
+                   state.mode = BAD;
+                   break;
+                 }
+                 while (copy--) {
+                   state.lens[state.have++] = len;
+                 }
+               }
+             }
+
+             /* handle error breaks in while */
+             if (state.mode === BAD) { break; }
+
+             /* check for end-of-block code (better have one) */
+             if (state.lens[256] === 0) {
+               strm.msg = 'invalid code -- missing end-of-block';
+               state.mode = BAD;
+               break;
+             }
+
+             /* build code tables -- note: do not change the lenbits or distbits
+                values here (9 and 6) without reading the comments in inftrees.h
+                concerning the ENOUGH constants, which depend on those values */
+             state.lenbits = 9;
+
+             opts = {bits: state.lenbits};
+             ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts);
+             // We have separate tables & no pointers. 2 commented lines below not needed.
+             // state.next_index = opts.table_index;
+             state.lenbits = opts.bits;
+             // state.lencode = state.next;
+
+             if (ret) {
+               strm.msg = 'invalid literal/lengths set';
+               state.mode = BAD;
+               break;
+             }
+
+             state.distbits = 6;
+             //state.distcode.copy(state.codes);
+             // Switch to use dynamic table
+             state.distcode = state.distdyn;
+             opts = {bits: state.distbits};
+             ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts);
+             // We have separate tables & no pointers. 2 commented lines below not needed.
+             // state.next_index = opts.table_index;
+             state.distbits = opts.bits;
+             // state.distcode = state.next;
+
+             if (ret) {
+               strm.msg = 'invalid distances set';
+               state.mode = BAD;
+               break;
+             }
+             //Tracev((stderr, 'inflate:       codes ok\n'));
+             state.mode = LEN_;
+             if (flush === Z_TREES) { break inf_leave; }
+             /* falls through */
+           case LEN_:
+             state.mode = LEN;
+             /* falls through */
+           case LEN:
+             if (have >= 6 && left >= 258) {
+               //--- RESTORE() ---
+               strm.next_out = put;
+               strm.avail_out = left;
+               strm.next_in = next;
+               strm.avail_in = have;
+               state.hold = hold;
+               state.bits = bits;
+               //---
+               inflate_fast(strm, _out);
+               //--- LOAD() ---
+               put = strm.next_out;
+               output = strm.output;
+               left = strm.avail_out;
+               next = strm.next_in;
+               input = strm.input;
+               have = strm.avail_in;
+               hold = state.hold;
+               bits = state.bits;
+               //---
+
+               if (state.mode === TYPE) {
+                 state.back = -1;
+               }
+               break;
+             }
+             state.back = 0;
+             for (;;) {
+               here = state.lencode[hold & ((1 << state.lenbits) -1)];  /*BITS(state.lenbits)*/
+               here_bits = here >>> 24;
+               here_op = (here >>> 16) & 0xff;
+               here_val = here & 0xffff;
+
+               if (here_bits <= bits) { break; }
+               //--- PULLBYTE() ---//
+               if (have === 0) { break inf_leave; }
+               have--;
+               hold += input[next++] << bits;
+               bits += 8;
+               //---//
+             }
+             if (here_op && (here_op & 0xf0) === 0) {
+               last_bits = here_bits;
+               last_op = here_op;
+               last_val = here_val;
+               for (;;) {
+                 here = state.lencode[last_val +
+                         ((hold & ((1 << (last_bits + last_op)) -1))/*BITS(last.bits + last.op)*/ >> last_bits)];
+                 here_bits = here >>> 24;
+                 here_op = (here >>> 16) & 0xff;
+                 here_val = here & 0xffff;
+
+                 if ((last_bits + here_bits) <= bits) { break; }
+                 //--- PULLBYTE() ---//
+                 if (have === 0) { break inf_leave; }
+                 have--;
+                 hold += input[next++] << bits;
+                 bits += 8;
+                 //---//
+               }
+               //--- DROPBITS(last.bits) ---//
+               hold >>>= last_bits;
+               bits -= last_bits;
+               //---//
+               state.back += last_bits;
+             }
+             //--- DROPBITS(here.bits) ---//
+             hold >>>= here_bits;
+             bits -= here_bits;
+             //---//
+             state.back += here_bits;
+             state.length = here_val;
+             if (here_op === 0) {
+               //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?
+               //        "inflate:         literal '%c'\n" :
+               //        "inflate:         literal 0x%02x\n", here.val));
+               state.mode = LIT;
+               break;
+             }
+             if (here_op & 32) {
+               //Tracevv((stderr, "inflate:         end of block\n"));
+               state.back = -1;
+               state.mode = TYPE;
+               break;
+             }
+             if (here_op & 64) {
+               strm.msg = 'invalid literal/length code';
+               state.mode = BAD;
+               break;
+             }
+             state.extra = here_op & 15;
+             state.mode = LENEXT;
+             /* falls through */
+           case LENEXT:
+             if (state.extra) {
+               //=== NEEDBITS(state.extra);
+               n = state.extra;
+               while (bits < n) {
+                 if (have === 0) { break inf_leave; }
+                 have--;
+                 hold += input[next++] << bits;
+                 bits += 8;
+               }
+               //===//
+               state.length += hold & ((1 << state.extra) -1)/*BITS(state.extra)*/;
+               //--- DROPBITS(state.extra) ---//
+               hold >>>= state.extra;
+               bits -= state.extra;
+               //---//
+               state.back += state.extra;
+             }
+             //Tracevv((stderr, "inflate:         length %u\n", state.length));
+             state.was = state.length;
+             state.mode = DIST;
+             /* falls through */
+           case DIST:
+             for (;;) {
+               here = state.distcode[hold & ((1 << state.distbits) -1)];/*BITS(state.distbits)*/
+               here_bits = here >>> 24;
+               here_op = (here >>> 16) & 0xff;
+               here_val = here & 0xffff;
+
+               if ((here_bits) <= bits) { break; }
+               //--- PULLBYTE() ---//
+               if (have === 0) { break inf_leave; }
+               have--;
+               hold += input[next++] << bits;
+               bits += 8;
+               //---//
+             }
+             if ((here_op & 0xf0) === 0) {
+               last_bits = here_bits;
+               last_op = here_op;
+               last_val = here_val;
+               for (;;) {
+                 here = state.distcode[last_val +
+                         ((hold & ((1 << (last_bits + last_op)) -1))/*BITS(last.bits + last.op)*/ >> last_bits)];
+                 here_bits = here >>> 24;
+                 here_op = (here >>> 16) & 0xff;
+                 here_val = here & 0xffff;
+
+                 if ((last_bits + here_bits) <= bits) { break; }
+                 //--- PULLBYTE() ---//
+                 if (have === 0) { break inf_leave; }
+                 have--;
+                 hold += input[next++] << bits;
+                 bits += 8;
+                 //---//
+               }
+               //--- DROPBITS(last.bits) ---//
+               hold >>>= last_bits;
+               bits -= last_bits;
+               //---//
+               state.back += last_bits;
+             }
+             //--- DROPBITS(here.bits) ---//
+             hold >>>= here_bits;
+             bits -= here_bits;
+             //---//
+             state.back += here_bits;
+             if (here_op & 64) {
+               strm.msg = 'invalid distance code';
+               state.mode = BAD;
+               break;
+             }
+             state.offset = here_val;
+             state.extra = (here_op) & 15;
+             state.mode = DISTEXT;
+             /* falls through */
+           case DISTEXT:
+             if (state.extra) {
+               //=== NEEDBITS(state.extra);
+               n = state.extra;
+               while (bits < n) {
+                 if (have === 0) { break inf_leave; }
+                 have--;
+                 hold += input[next++] << bits;
+                 bits += 8;
+               }
+               //===//
+               state.offset += hold & ((1 << state.extra) -1)/*BITS(state.extra)*/;
+               //--- DROPBITS(state.extra) ---//
+               hold >>>= state.extra;
+               bits -= state.extra;
+               //---//
+               state.back += state.extra;
+             }
+       //#ifdef INFLATE_STRICT
+             if (state.offset > state.dmax) {
+               strm.msg = 'invalid distance too far back';
+               state.mode = BAD;
+               break;
+             }
+       //#endif
+             //Tracevv((stderr, "inflate:         distance %u\n", state.offset));
+             state.mode = MATCH;
+             /* falls through */
+           case MATCH:
+             if (left === 0) { break inf_leave; }
+             copy = _out - left;
+             if (state.offset > copy) {         /* copy from window */
+               copy = state.offset - copy;
+               if (copy > state.whave) {
+                 if (state.sane) {
+                   strm.msg = 'invalid distance too far back';
+                   state.mode = BAD;
+                   break;
+                 }
+       // (!) This block is disabled in zlib defailts,
+       // don't enable it for binary compatibility
+       //#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
+       //          Trace((stderr, "inflate.c too far\n"));
+       //          copy -= state.whave;
+       //          if (copy > state.length) { copy = state.length; }
+       //          if (copy > left) { copy = left; }
+       //          left -= copy;
+       //          state.length -= copy;
+       //          do {
+       //            output[put++] = 0;
+       //          } while (--copy);
+       //          if (state.length === 0) { state.mode = LEN; }
+       //          break;
+       //#endif
+               }
+               if (copy > state.wnext) {
+                 copy -= state.wnext;
+                 from = state.wsize - copy;
+               }
+               else {
+                 from = state.wnext - copy;
+               }
+               if (copy > state.length) { copy = state.length; }
+               from_source = state.window;
+             }
+             else {                              /* copy from output */
+               from_source = output;
+               from = put - state.offset;
+               copy = state.length;
+             }
+             if (copy > left) { copy = left; }
+             left -= copy;
+             state.length -= copy;
+             do {
+               output[put++] = from_source[from++];
+             } while (--copy);
+             if (state.length === 0) { state.mode = LEN; }
+             break;
+           case LIT:
+             if (left === 0) { break inf_leave; }
+             output[put++] = state.length;
+             left--;
+             state.mode = LEN;
+             break;
+           case CHECK:
+             if (state.wrap) {
+               //=== NEEDBITS(32);
+               while (bits < 32) {
+                 if (have === 0) { break inf_leave; }
+                 have--;
+                 // Use '|' insdead of '+' to make sure that result is signed
+                 hold |= input[next++] << bits;
+                 bits += 8;
+               }
+               //===//
+               _out -= left;
+               strm.total_out += _out;
+               state.total += _out;
+               if (_out) {
+                 strm.adler = state.check =
+                     /*UPDATE(state.check, put - _out, _out);*/
+                     (state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out));
+
+               }
+               _out = left;
+               // NB: crc32 stored as signed 32-bit int, ZSWAP32 returns signed too
+               if ((state.flags ? hold : ZSWAP32(hold)) !== state.check) {
+                 strm.msg = 'incorrect data check';
+                 state.mode = BAD;
+                 break;
+               }
+               //=== INITBITS();
+               hold = 0;
+               bits = 0;
+               //===//
+               //Tracev((stderr, "inflate:   check matches trailer\n"));
+             }
+             state.mode = LENGTH;
+             /* falls through */
+           case LENGTH:
+             if (state.wrap && state.flags) {
+               //=== NEEDBITS(32);
+               while (bits < 32) {
+                 if (have === 0) { break inf_leave; }
+                 have--;
+                 hold += input[next++] << bits;
+                 bits += 8;
+               }
+               //===//
+               if (hold !== (state.total & 0xffffffff)) {
+                 strm.msg = 'incorrect length check';
+                 state.mode = BAD;
+                 break;
+               }
+               //=== INITBITS();
+               hold = 0;
+               bits = 0;
+               //===//
+               //Tracev((stderr, "inflate:   length matches trailer\n"));
+             }
+             state.mode = DONE;
+             /* falls through */
+           case DONE:
+             ret = Z_STREAM_END;
+             break inf_leave;
+           case BAD:
+             ret = Z_DATA_ERROR;
+             break inf_leave;
+           case MEM:
+             return Z_MEM_ERROR;
+           case SYNC:
+             /* falls through */
+           default:
+             return Z_STREAM_ERROR;
+           }
+         }
+
+         // inf_leave <- here is real place for "goto inf_leave", emulated via "break inf_leave"
+
+         /*
+            Return from inflate(), updating the total counts and the check value.
+            If there was no progress during the inflate() call, return a buffer
+            error.  Call updatewindow() to create and/or update the window state.
+            Note: a memory error from inflate() is non-recoverable.
+          */
+
+         //--- RESTORE() ---
+         strm.next_out = put;
+         strm.avail_out = left;
+         strm.next_in = next;
+         strm.avail_in = have;
+         state.hold = hold;
+         state.bits = bits;
+         //---
+
+         if (state.wsize || (_out !== strm.avail_out && state.mode < BAD &&
+                             (state.mode < CHECK || flush !== Z_FINISH))) {
+           if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) {
+             state.mode = MEM;
+             return Z_MEM_ERROR;
+           }
+         }
+         _in -= strm.avail_in;
+         _out -= strm.avail_out;
+         strm.total_in += _in;
+         strm.total_out += _out;
+         state.total += _out;
+         if (state.wrap && _out) {
+           strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/
+             (state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out));
+         }
+         strm.data_type = state.bits + (state.last ? 64 : 0) +
+                           (state.mode === TYPE ? 128 : 0) +
+                           (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);
+         if (((_in === 0 && _out === 0) || flush === Z_FINISH) && ret === Z_OK) {
+           ret = Z_BUF_ERROR;
+         }
+         return ret;
+       }
+
+       function inflateEnd(strm) {
+
+         if (!strm || !strm.state /*|| strm->zfree == (free_func)0*/) {
+           return Z_STREAM_ERROR;
+         }
+
+         var state = strm.state;
+         if (state.window) {
+           state.window = null;
+         }
+         strm.state = null;
+         return Z_OK;
+       }
+
+       function inflateGetHeader(strm, head) {
+         var state;
+
+         /* check state */
+         if (!strm || !strm.state) { return Z_STREAM_ERROR; }
+         state = strm.state;
+         if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR; }
+
+         /* save header structure */
+         state.head = head;
+         head.done = false;
+         return Z_OK;
+       }
+
+
+       exports.inflateReset = inflateReset;
+       exports.inflateReset2 = inflateReset2;
+       exports.inflateResetKeep = inflateResetKeep;
+       exports.inflateInit = inflateInit;
+       exports.inflateInit2 = inflateInit2;
+       exports.inflate = inflate;
+       exports.inflateEnd = inflateEnd;
+       exports.inflateGetHeader = inflateGetHeader;
+       exports.inflateInfo = 'pako inflate (from Nodeca project)';
+
+       /* Not implemented
+       exports.inflateCopy = inflateCopy;
+       exports.inflateGetDictionary = inflateGetDictionary;
+       exports.inflateMark = inflateMark;
+       exports.inflatePrime = inflatePrime;
+       exports.inflateSetDictionary = inflateSetDictionary;
+       exports.inflateSync = inflateSync;
+       exports.inflateSyncPoint = inflateSyncPoint;
+       exports.inflateUndermine = inflateUndermine;
+       */
+
+
+/***/ },
+/* 57 */
+/***/ function(module, exports) {
+
+       'use strict';
+
+       // See state defs from inflate.js
+       var BAD = 30;       /* got a data error -- remain here until reset */
+       var TYPE = 12;      /* i: waiting for type bits, including last-flag bit */
+
+       /*
+          Decode literal, length, and distance codes and write out the resulting
+          literal and match bytes until either not enough input or output is
+          available, an end-of-block is encountered, or a data error is encountered.
+          When large enough input and output buffers are supplied to inflate(), for
+          example, a 16K input buffer and a 64K output buffer, more than 95% of the
+          inflate execution time is spent in this routine.
+
+          Entry assumptions:
+
+               state.mode === LEN
+               strm.avail_in >= 6
+               strm.avail_out >= 258
+               start >= strm.avail_out
+               state.bits < 8
+
+          On return, state.mode is one of:
+
+               LEN -- ran out of enough output space or enough available input
+               TYPE -- reached end of block code, inflate() to interpret next block
+               BAD -- error in block data
+
+          Notes:
+
+           - The maximum input bits used by a length/distance pair is 15 bits for the
+             length code, 5 bits for the length extra, 15 bits for the distance code,
+             and 13 bits for the distance extra.  This totals 48 bits, or six bytes.
+             Therefore if strm.avail_in >= 6, then there is enough input to avoid
+             checking for available input while decoding.
+
+           - The maximum bytes that a single length/distance pair can output is 258
+             bytes, which is the maximum length that can be coded.  inflate_fast()
+             requires strm.avail_out >= 258 for each loop to avoid checking for
+             output space.
+        */
+       module.exports = function inflate_fast(strm, start) {
+         var state;
+         var _in;                    /* local strm.input */
+         var last;                   /* have enough input while in < last */
+         var _out;                   /* local strm.output */
+         var beg;                    /* inflate()'s initial strm.output */
+         var end;                    /* while out < end, enough space available */
+       //#ifdef INFLATE_STRICT
+         var dmax;                   /* maximum distance from zlib header */
+       //#endif
+         var wsize;                  /* window size or zero if not using window */
+         var whave;                  /* valid bytes in the window */
+         var wnext;                  /* window write index */
+         // Use `s_window` instead `window`, avoid conflict with instrumentation tools
+         var s_window;               /* allocated sliding window, if wsize != 0 */
+         var hold;                   /* local strm.hold */
+         var bits;                   /* local strm.bits */
+         var lcode;                  /* local strm.lencode */
+         var dcode;                  /* local strm.distcode */
+         var lmask;                  /* mask for first level of length codes */
+         var dmask;                  /* mask for first level of distance codes */
+         var here;                   /* retrieved table entry */
+         var op;                     /* code bits, operation, extra bits, or */
+                                     /*  window position, window bytes to copy */
+         var len;                    /* match length, unused bytes */
+         var dist;                   /* match distance */
+         var from;                   /* where to copy match from */
+         var from_source;
+
+
+         var input, output; // JS specific, because we have no pointers
+
+         /* copy state to local variables */
+         state = strm.state;
+         //here = state.here;
+         _in = strm.next_in;
+         input = strm.input;
+         last = _in + (strm.avail_in - 5);
+         _out = strm.next_out;
+         output = strm.output;
+         beg = _out - (start - strm.avail_out);
+         end = _out + (strm.avail_out - 257);
+       //#ifdef INFLATE_STRICT
+         dmax = state.dmax;
+       //#endif
+         wsize = state.wsize;
+         whave = state.whave;
+         wnext = state.wnext;
+         s_window = state.window;
+         hold = state.hold;
+         bits = state.bits;
+         lcode = state.lencode;
+         dcode = state.distcode;
+         lmask = (1 << state.lenbits) - 1;
+         dmask = (1 << state.distbits) - 1;
+
+
+         /* decode literals and length/distances until end-of-block or not enough
+            input data or output space */
+
+         top:
+         do {
+           if (bits < 15) {
+             hold += input[_in++] << bits;
+             bits += 8;
+             hold += input[_in++] << bits;
+             bits += 8;
+           }
+
+           here = lcode[hold & lmask];
+
+           dolen:
+           for (;;) { // Goto emulation
+             op = here >>> 24/*here.bits*/;
+             hold >>>= op;
+             bits -= op;
+             op = (here >>> 16) & 0xff/*here.op*/;
+             if (op === 0) {                          /* literal */
+               //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?
+               //        "inflate:         literal '%c'\n" :
+               //        "inflate:         literal 0x%02x\n", here.val));
+               output[_out++] = here & 0xffff/*here.val*/;
+             }
+             else if (op & 16) {                     /* length base */
+               len = here & 0xffff/*here.val*/;
+               op &= 15;                           /* number of extra bits */
+               if (op) {
+                 if (bits < op) {
+                   hold += input[_in++] << bits;
+                   bits += 8;
+                 }
+                 len += hold & ((1 << op) - 1);
+                 hold >>>= op;
+                 bits -= op;
+               }
+               //Tracevv((stderr, "inflate:         length %u\n", len));
+               if (bits < 15) {
+                 hold += input[_in++] << bits;
+                 bits += 8;
+                 hold += input[_in++] << bits;
+                 bits += 8;
+               }
+               here = dcode[hold & dmask];
+
+               dodist:
+               for (;;) { // goto emulation
+                 op = here >>> 24/*here.bits*/;
+                 hold >>>= op;
+                 bits -= op;
+                 op = (here >>> 16) & 0xff/*here.op*/;
+
+                 if (op & 16) {                      /* distance base */
+                   dist = here & 0xffff/*here.val*/;
+                   op &= 15;                       /* number of extra bits */
+                   if (bits < op) {
+                     hold += input[_in++] << bits;
+                     bits += 8;
+                     if (bits < op) {
+                       hold += input[_in++] << bits;
+                       bits += 8;
+                     }
+                   }
+                   dist += hold & ((1 << op) - 1);
+       //#ifdef INFLATE_STRICT
+                   if (dist > dmax) {
+                     strm.msg = 'invalid distance too far back';
+                     state.mode = BAD;
+                     break top;
+                   }
+       //#endif
+                   hold >>>= op;
+                   bits -= op;
+                   //Tracevv((stderr, "inflate:         distance %u\n", dist));
+                   op = _out - beg;                /* max distance in output */
+                   if (dist > op) {                /* see if copy from window */
+                     op = dist - op;               /* distance back in window */
+                     if (op > whave) {
+                       if (state.sane) {
+                         strm.msg = 'invalid distance too far back';
+                         state.mode = BAD;
+                         break top;
+                       }
+
+       // (!) This block is disabled in zlib defailts,
+       // don't enable it for binary compatibility
+       //#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
+       //                if (len <= op - whave) {
+       //                  do {
+       //                    output[_out++] = 0;
+       //                  } while (--len);
+       //                  continue top;
+       //                }
+       //                len -= op - whave;
+       //                do {
+       //                  output[_out++] = 0;
+       //                } while (--op > whave);
+       //                if (op === 0) {
+       //                  from = _out - dist;
+       //                  do {
+       //                    output[_out++] = output[from++];
+       //                  } while (--len);
+       //                  continue top;
+       //                }
+       //#endif
+                     }
+                     from = 0; // window index
+                     from_source = s_window;
+                     if (wnext === 0) {           /* very common case */
+                       from += wsize - op;
+                       if (op < len) {         /* some from window */
+                         len -= op;
+                         do {
+                           output[_out++] = s_window[from++];
+                         } while (--op);
+                         from = _out - dist;  /* rest from output */
+                         from_source = output;
+                       }
+                     }
+                     else if (wnext < op) {      /* wrap around window */
+                       from += wsize + wnext - op;
+                       op -= wnext;
+                       if (op < len) {         /* some from end of window */
+                         len -= op;
+                         do {
+                           output[_out++] = s_window[from++];
+                         } while (--op);
+                         from = 0;
+                         if (wnext < len) {  /* some from start of window */
+                           op = wnext;
+                           len -= op;
+                           do {
+                             output[_out++] = s_window[from++];
+                           } while (--op);
+                           from = _out - dist;      /* rest from output */
+                           from_source = output;
+                         }
+                       }
+                     }
+                     else {                      /* contiguous in window */
+                       from += wnext - op;
+                       if (op < len) {         /* some from window */
+                         len -= op;
+                         do {
+                           output[_out++] = s_window[from++];
+                         } while (--op);
+                         from = _out - dist;  /* rest from output */
+                         from_source = output;
+                       }
+                     }
+                     while (len > 2) {
+                       output[_out++] = from_source[from++];
+                       output[_out++] = from_source[from++];
+                       output[_out++] = from_source[from++];
+                       len -= 3;
+                     }
+                     if (len) {
+                       output[_out++] = from_source[from++];
+                       if (len > 1) {
+                         output[_out++] = from_source[from++];
+                       }
+                     }
+                   }
+                   else {
+                     from = _out - dist;          /* copy direct from output */
+                     do {                        /* minimum length is three */
+                       output[_out++] = output[from++];
+                       output[_out++] = output[from++];
+                       output[_out++] = output[from++];
+                       len -= 3;
+                     } while (len > 2);
+                     if (len) {
+                       output[_out++] = output[from++];
+                       if (len > 1) {
+                         output[_out++] = output[from++];
+                       }
+                     }
+                   }
+                 }
+                 else if ((op & 64) === 0) {          /* 2nd level distance code */
+                   here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];
+                   continue dodist;
+                 }
+                 else {
+                   strm.msg = 'invalid distance code';
+                   state.mode = BAD;
+                   break top;
+                 }
+
+                 break; // need to emulate goto via "continue"
+               }
+             }
+             else if ((op & 64) === 0) {              /* 2nd level length code */
+               here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];
+               continue dolen;
+             }
+             else if (op & 32) {                     /* end-of-block */
+               //Tracevv((stderr, "inflate:         end of block\n"));
+               state.mode = TYPE;
+               break top;
+             }
+             else {
+               strm.msg = 'invalid literal/length code';
+               state.mode = BAD;
+               break top;
+             }
+
+             break; // need to emulate goto via "continue"
+           }
+         } while (_in < last && _out < end);
+
+         /* return unused bytes (on entry, bits < 8, so in won't go too far back) */
+         len = bits >> 3;
+         _in -= len;
+         bits -= len << 3;
+         hold &= (1 << bits) - 1;
+
+         /* update state and return */
+         strm.next_in = _in;
+         strm.next_out = _out;
+         strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last));
+         strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end));
+         state.hold = hold;
+         state.bits = bits;
+         return;
+       };
+
+
+/***/ },
+/* 58 */
+/***/ function(module, exports, __webpack_require__) {
+
+       'use strict';
+
+
+       var utils = __webpack_require__(52);
+
+       var MAXBITS = 15;
+       var ENOUGH_LENS = 852;
+       var ENOUGH_DISTS = 592;
+       //var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);
+
+       var CODES = 0;
+       var LENS = 1;
+       var DISTS = 2;
+
+       var lbase = [ /* Length codes 257..285 base */
+         3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,
+         35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0
+       ];
+
+       var lext = [ /* Length codes 257..285 extra */
+         16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,
+         19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78
+       ];
+
+       var dbase = [ /* Distance codes 0..29 base */
+         1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
+         257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
+         8193, 12289, 16385, 24577, 0, 0
+       ];
+
+       var dext = [ /* Distance codes 0..29 extra */
+         16, 16, 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, 64, 64
+       ];
+
+       module.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts)
+       {
+         var bits = opts.bits;
+             //here = opts.here; /* table entry for duplication */
+
+         var len = 0;               /* a code's length in bits */
+         var sym = 0;               /* index of code symbols */
+         var min = 0, max = 0;          /* minimum and maximum code lengths */
+         var root = 0;              /* number of index bits for root table */
+         var curr = 0;              /* number of index bits for current table */
+         var drop = 0;              /* code bits to drop for sub-table */
+         var left = 0;                   /* number of prefix codes available */
+         var used = 0;              /* code entries in table used */
+         var huff = 0;              /* Huffman code */
+         var incr;              /* for incrementing code, index */
+         var fill;              /* index for replicating entries */
+         var low;               /* low bits for current root entry */
+         var mask;              /* mask for low root bits */
+         var next;             /* next available space in table */
+         var base = null;     /* base value table to use */
+         var base_index = 0;
+       //  var shoextra;    /* extra bits table to use */
+         var end;                    /* use base and extra for symbol > end */
+         var count = new utils.Buf16(MAXBITS+1); //[MAXBITS+1];    /* number of codes of each length */
+         var offs = new utils.Buf16(MAXBITS+1); //[MAXBITS+1];     /* offsets in table for each length */
+         var extra = null;
+         var extra_index = 0;
+
+         var here_bits, here_op, here_val;
+
+         /*
+          Process a set of code lengths to create a canonical Huffman code.  The
+          code lengths are lens[0..codes-1].  Each length corresponds to the
+          symbols 0..codes-1.  The Huffman code is generated by first sorting the
+          symbols by length from short to long, and retaining the symbol order
+          for codes with equal lengths.  Then the code starts with all zero bits
+          for the first code of the shortest length, and the codes are integer
+          increments for the same length, and zeros are appended as the length
+          increases.  For the deflate format, these bits are stored backwards
+          from their more natural integer increment ordering, and so when the
+          decoding tables are built in the large loop below, the integer codes
+          are incremented backwards.
+
+          This routine assumes, but does not check, that all of the entries in
+          lens[] are in the range 0..MAXBITS.  The caller must assure this.
+          1..MAXBITS is interpreted as that code length.  zero means that that
+          symbol does not occur in this code.
+
+          The codes are sorted by computing a count of codes for each length,
+          creating from that a table of starting indices for each length in the
+          sorted table, and then entering the symbols in order in the sorted
+          table.  The sorted table is work[], with that space being provided by
+          the caller.
+
+          The length counts are used for other purposes as well, i.e. finding
+          the minimum and maximum length codes, determining if there are any
+          codes at all, checking for a valid set of lengths, and looking ahead
+          at length counts to determine sub-table sizes when building the
+          decoding tables.
+          */
+
+         /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */
+         for (len = 0; len <= MAXBITS; len++) {
+           count[len] = 0;
+         }
+         for (sym = 0; sym < codes; sym++) {
+           count[lens[lens_index + sym]]++;
+         }
+
+         /* bound code lengths, force root to be within code lengths */
+         root = bits;
+         for (max = MAXBITS; max >= 1; max--) {
+           if (count[max] !== 0) { break; }
+         }
+         if (root > max) {
+           root = max;
+         }
+         if (max === 0) {                     /* no symbols to code at all */
+           //table.op[opts.table_index] = 64;  //here.op = (var char)64;    /* invalid code marker */
+           //table.bits[opts.table_index] = 1;   //here.bits = (var char)1;
+           //table.val[opts.table_index++] = 0;   //here.val = (var short)0;
+           table[table_index++] = (1 << 24) | (64 << 16) | 0;
+
+
+           //table.op[opts.table_index] = 64;
+           //table.bits[opts.table_index] = 1;
+           //table.val[opts.table_index++] = 0;
+           table[table_index++] = (1 << 24) | (64 << 16) | 0;
+
+           opts.bits = 1;
+           return 0;     /* no symbols, but wait for decoding to report error */
+         }
+         for (min = 1; min < max; min++) {
+           if (count[min] !== 0) { break; }
+         }
+         if (root < min) {
+           root = min;
+         }
+
+         /* check for an over-subscribed or incomplete set of lengths */
+         left = 1;
+         for (len = 1; len <= MAXBITS; len++) {
+           left <<= 1;
+           left -= count[len];
+           if (left < 0) {
+             return -1;
+           }        /* over-subscribed */
+         }
+         if (left > 0 && (type === CODES || max !== 1)) {
+           return -1;                      /* incomplete set */
+         }
+
+         /* generate offsets into symbol table for each length for sorting */
+         offs[1] = 0;
+         for (len = 1; len < MAXBITS; len++) {
+           offs[len + 1] = offs[len] + count[len];
+         }
+
+         /* sort symbols by length, by symbol order within each length */
+         for (sym = 0; sym < codes; sym++) {
+           if (lens[lens_index + sym] !== 0) {
+             work[offs[lens[lens_index + sym]]++] = sym;
+           }
+         }
+
+         /*
+          Create and fill in decoding tables.  In this loop, the table being
+          filled is at next and has curr index bits.  The code being used is huff
+          with length len.  That code is converted to an index by dropping drop
+          bits off of the bottom.  For codes where len is less than drop + curr,
+          those top drop + curr - len bits are incremented through all values to
+          fill the table with replicated entries.
+
+          root is the number of index bits for the root table.  When len exceeds
+          root, sub-tables are created pointed to by the root entry with an index
+          of the low root bits of huff.  This is saved in low to check for when a
+          new sub-table should be started.  drop is zero when the root table is
+          being filled, and drop is root when sub-tables are being filled.
+
+          When a new sub-table is needed, it is necessary to look ahead in the
+          code lengths to determine what size sub-table is needed.  The length
+          counts are used for this, and so count[] is decremented as codes are
+          entered in the tables.
+
+          used keeps track of how many table entries have been allocated from the
+          provided *table space.  It is checked for LENS and DIST tables against
+          the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in
+          the initial root table size constants.  See the comments in inftrees.h
+          for more information.
+
+          sym increments through all symbols, and the loop terminates when
+          all codes of length max, i.e. all codes, have been processed.  This
+          routine permits incomplete codes, so another loop after this one fills
+          in the rest of the decoding tables with invalid code markers.
+          */
+
+         /* set up for code type */
+         // poor man optimization - use if-else instead of switch,
+         // to avoid deopts in old v8
+         if (type === CODES) {
+           base = extra = work;    /* dummy value--not used */
+           end = 19;
+
+         } else if (type === LENS) {
+           base = lbase;
+           base_index -= 257;
+           extra = lext;
+           extra_index -= 257;
+           end = 256;
+
+         } else {                    /* DISTS */
+           base = dbase;
+           extra = dext;
+           end = -1;
+         }
+
+         /* initialize opts for loop */
+         huff = 0;                   /* starting code */
+         sym = 0;                    /* starting code symbol */
+         len = min;                  /* starting code length */
+         next = table_index;              /* current table to fill in */
+         curr = root;                /* current table index bits */
+         drop = 0;                   /* current bits to drop from code for index */
+         low = -1;                   /* trigger new sub-table when len > root */
+         used = 1 << root;          /* use root table entries */
+         mask = used - 1;            /* mask for comparing low */
+
+         /* check available table space */
+         if ((type === LENS && used > ENOUGH_LENS) ||
+           (type === DISTS && used > ENOUGH_DISTS)) {
+           return 1;
+         }
+
+         var i=0;
+         /* process all codes and make table entries */
+         for (;;) {
+           i++;
+           /* create table entry */
+           here_bits = len - drop;
+           if (work[sym] < end) {
+             here_op = 0;
+             here_val = work[sym];
+           }
+           else if (work[sym] > end) {
+             here_op = extra[extra_index + work[sym]];
+             here_val = base[base_index + work[sym]];
+           }
+           else {
+             here_op = 32 + 64;         /* end of block */
+             here_val = 0;
+           }
+
+           /* replicate for those indices with low len bits equal to huff */
+           incr = 1 << (len - drop);
+           fill = 1 << curr;
+           min = fill;                 /* save offset to next table */
+           do {
+             fill -= incr;
+             table[next + (huff >> drop) + fill] = (here_bits << 24) | (here_op << 16) | here_val |0;
+           } while (fill !== 0);
+
+           /* backwards increment the len-bit code huff */
+           incr = 1 << (len - 1);
+           while (huff & incr) {
+             incr >>= 1;
+           }
+           if (incr !== 0) {
+             huff &= incr - 1;
+             huff += incr;
+           } else {
+             huff = 0;
+           }
+
+           /* go to next symbol, update count, len */
+           sym++;
+           if (--count[len] === 0) {
+             if (len === max) { break; }
+             len = lens[lens_index + work[sym]];
+           }
+
+           /* create new sub-table if needed */
+           if (len > root && (huff & mask) !== low) {
+             /* if first time, transition to sub-tables */
+             if (drop === 0) {
+               drop = root;
+             }
+
+             /* increment past last table */
+             next += min;            /* here min is 1 << curr */
+
+             /* determine length of next table */
+             curr = len - drop;
+             left = 1 << curr;
+             while (curr + drop < max) {
+               left -= count[curr + drop];
+               if (left <= 0) { break; }
+               curr++;
+               left <<= 1;
+             }
+
+             /* check for enough space */
+             used += 1 << curr;
+             if ((type === LENS && used > ENOUGH_LENS) ||
+               (type === DISTS && used > ENOUGH_DISTS)) {
+               return 1;
+             }
+
+             /* point entry in root table to sub-table */
+             low = huff & mask;
+             /*table.op[low] = curr;
+             table.bits[low] = root;
+             table.val[low] = next - opts.table_index;*/
+             table[low] = (root << 24) | (curr << 16) | (next - table_index) |0;
+           }
+         }
+
+         /* fill in remaining table entry if code is incomplete (guaranteed to have
+          at most one remaining entry, since if the code is incomplete, the
+          maximum code length that was allowed to get this far is one bit) */
+         if (huff !== 0) {
+           //table.op[next + huff] = 64;            /* invalid code marker */
+           //table.bits[next + huff] = len - drop;
+           //table.val[next + huff] = 0;
+           table[next + huff] = ((len - drop) << 24) | (64 << 16) |0;
+         }
+
+         /* set return parameters */
+         //opts.table_index += used;
+         opts.bits = root;
+         return 0;
+       };
+
+
+/***/ },
+/* 59 */
+/***/ function(module, exports) {
+
+       module.exports = {
+
+         /* Allowed flush values; see deflate() and inflate() below for details */
+         Z_NO_FLUSH:         0,
+         Z_PARTIAL_FLUSH:    1,
+         Z_SYNC_FLUSH:       2,
+         Z_FULL_FLUSH:       3,
+         Z_FINISH:           4,
+         Z_BLOCK:            5,
+         Z_TREES:            6,
+
+         /* Return codes for the compression/decompression functions. Negative values
+         * are errors, positive values are used for special but normal events.
+         */
+         Z_OK:               0,
+         Z_STREAM_END:       1,
+         Z_NEED_DICT:        2,
+         Z_ERRNO:           -1,
+         Z_STREAM_ERROR:    -2,
+         Z_DATA_ERROR:      -3,
+         //Z_MEM_ERROR:     -4,
+         Z_BUF_ERROR:       -5,
+         //Z_VERSION_ERROR: -6,
+
+         /* compression levels */
+         Z_NO_COMPRESSION:         0,
+         Z_BEST_SPEED:             1,
+         Z_BEST_COMPRESSION:       9,
+         Z_DEFAULT_COMPRESSION:   -1,
+
+
+         Z_FILTERED:               1,
+         Z_HUFFMAN_ONLY:           2,
+         Z_RLE:                    3,
+         Z_FIXED:                  4,
+         Z_DEFAULT_STRATEGY:       0,
+
+         /* Possible values of the data_type field (though see inflate()) */
+         Z_BINARY:                 0,
+         Z_TEXT:                   1,
+         //Z_ASCII:                1, // = Z_TEXT (deprecated)
+         Z_UNKNOWN:                2,
+
+         /* The deflate compression method */
+         Z_DEFLATED:               8
+         //Z_NULL:                 null // Use -1 or null inline, depending on var type
+       };
+
+
+/***/ },
+/* 60 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* WEBPACK VAR INJECTION */(function(global, process) {// Copyright Joyent, Inc. and other Node contributors.
+       //
+       // Permission is hereby granted, free of charge, to any person obtaining a
+       // copy of this software and associated documentation files (the
+       // "Software"), to deal in the Software without restriction, including
+       // without limitation the rights to use, copy, modify, merge, publish,
+       // distribute, sublicense, and/or sell copies of the Software, and to permit
+       // persons to whom the Software is furnished to do so, subject to the
+       // following conditions:
+       //
+       // The above copyright notice and this permission notice shall be included
+       // in all copies or substantial portions of the Software.
+       //
+       // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+       // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+       // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+       // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+       // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+       // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+       // USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+       var formatRegExp = /%[sdj%]/g;
+       exports.format = function(f) {
+         if (!isString(f)) {
+           var objects = [];
+           for (var i = 0; i < arguments.length; i++) {
+             objects.push(inspect(arguments[i]));
+           }
+           return objects.join(' ');
+         }
+
+         var i = 1;
+         var args = arguments;
+         var len = args.length;
+         var str = String(f).replace(formatRegExp, function(x) {
+           if (x === '%%') return '%';
+           if (i >= len) return x;
+           switch (x) {
+             case '%s': return String(args[i++]);
+             case '%d': return Number(args[i++]);
+             case '%j':
+               try {
+                 return JSON.stringify(args[i++]);
+               } catch (_) {
+                 return '[Circular]';
+               }
+             default:
+               return x;
+           }
+         });
+         for (var x = args[i]; i < len; x = args[++i]) {
+           if (isNull(x) || !isObject(x)) {
+             str += ' ' + x;
+           } else {
+             str += ' ' + inspect(x);
+           }
+         }
+         return str;
+       };
+
+
+       // Mark that a method should not be used.
+       // Returns a modified function which warns once by default.
+       // If --no-deprecation is set, then it is a no-op.
+       exports.deprecate = function(fn, msg) {
+         // Allow for deprecating things in the process of starting up.
+         if (isUndefined(global.process)) {
+           return function() {
+             return exports.deprecate(fn, msg).apply(this, arguments);
+           };
+         }
+
+         if (process.noDeprecation === true) {
+           return fn;
+         }
+
+         var warned = false;
+         function deprecated() {
+           if (!warned) {
+             if (process.throwDeprecation) {
+               throw new Error(msg);
+             } else if (process.traceDeprecation) {
+               console.trace(msg);
+             } else {
+               console.error(msg);
+             }
+             warned = true;
+           }
+           return fn.apply(this, arguments);
+         }
+
+         return deprecated;
+       };
+
+
+       var debugs = {};
+       var debugEnviron;
+       exports.debuglog = function(set) {
+         if (isUndefined(debugEnviron))
+           debugEnviron = process.env.NODE_DEBUG || '';
+         set = set.toUpperCase();
+         if (!debugs[set]) {
+           if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
+             var pid = process.pid;
+             debugs[set] = function() {
+               var msg = exports.format.apply(exports, arguments);
+               console.error('%s %d: %s', set, pid, msg);
+             };
+           } else {
+             debugs[set] = function() {};
+           }
+         }
+         return debugs[set];
+       };
+
+
+       /**
+        * Echos the value of a value. Trys to print the value out
+        * in the best way possible given the different types.
+        *
+        * @param {Object} obj The object to print out.
+        * @param {Object} opts Optional options object that alters the output.
+        */
+       /* legacy: obj, showHidden, depth, colors*/
+       function inspect(obj, opts) {
+         // default options
+         var ctx = {
+           seen: [],
+           stylize: stylizeNoColor
+         };
+         // legacy...
+         if (arguments.length >= 3) ctx.depth = arguments[2];
+         if (arguments.length >= 4) ctx.colors = arguments[3];
+         if (isBoolean(opts)) {
+           // legacy...
+           ctx.showHidden = opts;
+         } else if (opts) {
+           // got an "options" object
+           exports._extend(ctx, opts);
+         }
+         // set default options
+         if (isUndefined(ctx.showHidden)) ctx.showHidden = false;
+         if (isUndefined(ctx.depth)) ctx.depth = 2;
+         if (isUndefined(ctx.colors)) ctx.colors = false;
+         if (isUndefined(ctx.customInspect)) ctx.customInspect = true;
+         if (ctx.colors) ctx.stylize = stylizeWithColor;
+         return formatValue(ctx, obj, ctx.depth);
+       }
+       exports.inspect = inspect;
+
+
+       // http://en.wikipedia.org/wiki/ANSI_escape_code#graphics
+       inspect.colors = {
+         'bold' : [1, 22],
+         'italic' : [3, 23],
+         'underline' : [4, 24],
+         'inverse' : [7, 27],
+         'white' : [37, 39],
+         'grey' : [90, 39],
+         'black' : [30, 39],
+         'blue' : [34, 39],
+         'cyan' : [36, 39],
+         'green' : [32, 39],
+         'magenta' : [35, 39],
+         'red' : [31, 39],
+         'yellow' : [33, 39]
+       };
+
+       // Don't use 'blue' not visible on cmd.exe
+       inspect.styles = {
+         'special': 'cyan',
+         'number': 'yellow',
+         'boolean': 'yellow',
+         'undefined': 'grey',
+         'null': 'bold',
+         'string': 'green',
+         'date': 'magenta',
+         // "name": intentionally not styling
+         'regexp': 'red'
+       };
+
+
+       function stylizeWithColor(str, styleType) {
+         var style = inspect.styles[styleType];
+
+         if (style) {
+           return '\u001b[' + inspect.colors[style][0] + 'm' + str +
+                  '\u001b[' + inspect.colors[style][1] + 'm';
+         } else {
+           return str;
+         }
+       }
+
+
+       function stylizeNoColor(str, styleType) {
+         return str;
+       }
+
+
+       function arrayToHash(array) {
+         var hash = {};
+
+         array.forEach(function(val, idx) {
+           hash[val] = true;
+         });
+
+         return hash;
+       }
+
+
+       function formatValue(ctx, value, recurseTimes) {
+         // Provide a hook for user-specified inspect functions.
+         // Check that value is an object with an inspect function on it
+         if (ctx.customInspect &&
+             value &&
+             isFunction(value.inspect) &&
+             // Filter out the util module, it's inspect function is special
+             value.inspect !== exports.inspect &&
+             // Also filter out any prototype objects using the circular check.
+             !(value.constructor && value.constructor.prototype === value)) {
+           var ret = value.inspect(recurseTimes, ctx);
+           if (!isString(ret)) {
+             ret = formatValue(ctx, ret, recurseTimes);
+           }
+           return ret;
+         }
+
+         // Primitive types cannot have properties
+         var primitive = formatPrimitive(ctx, value);
+         if (primitive) {
+           return primitive;
+         }
+
+         // Look up the keys of the object.
+         var keys = Object.keys(value);
+         var visibleKeys = arrayToHash(keys);
+
+         if (ctx.showHidden) {
+           keys = Object.getOwnPropertyNames(value);
+         }
+
+         // IE doesn't make error fields non-enumerable
+         // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx
+         if (isError(value)
+             && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {
+           return formatError(value);
+         }
+
+         // Some type of object without properties can be shortcutted.
+         if (keys.length === 0) {
+           if (isFunction(value)) {
+             var name = value.name ? ': ' + value.name : '';
+             return ctx.stylize('[Function' + name + ']', 'special');
+           }
+           if (isRegExp(value)) {
+             return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
+           }
+           if (isDate(value)) {
+             return ctx.stylize(Date.prototype.toString.call(value), 'date');
+           }
+           if (isError(value)) {
+             return formatError(value);
+           }
+         }
+
+         var base = '', array = false, braces = ['{', '}'];
+
+         // Make Array say that they are Array
+         if (isArray(value)) {
+           array = true;
+           braces = ['[', ']'];
+         }
+
+         // Make functions say that they are functions
+         if (isFunction(value)) {
+           var n = value.name ? ': ' + value.name : '';
+           base = ' [Function' + n + ']';
+         }
+
+         // Make RegExps say that they are RegExps
+         if (isRegExp(value)) {
+           base = ' ' + RegExp.prototype.toString.call(value);
+         }
+
+         // Make dates with properties first say the date
+         if (isDate(value)) {
+           base = ' ' + Date.prototype.toUTCString.call(value);
+         }
+
+         // Make error with message first say the error
+         if (isError(value)) {
+           base = ' ' + formatError(value);
+         }
+
+         if (keys.length === 0 && (!array || value.length == 0)) {
+           return braces[0] + base + braces[1];
+         }
+
+         if (recurseTimes < 0) {
+           if (isRegExp(value)) {
+             return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
+           } else {
+             return ctx.stylize('[Object]', 'special');
+           }
+         }
+
+         ctx.seen.push(value);
+
+         var output;
+         if (array) {
+           output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
+         } else {
+           output = keys.map(function(key) {
+             return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
+           });
+         }
+
+         ctx.seen.pop();
+
+         return reduceToSingleString(output, base, braces);
+       }
+
+
+       function formatPrimitive(ctx, value) {
+         if (isUndefined(value))
+           return ctx.stylize('undefined', 'undefined');
+         if (isString(value)) {
+           var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '')
+                                                    .replace(/'/g, "\\'")
+                                                    .replace(/\\"/g, '"') + '\'';
+           return ctx.stylize(simple, 'string');
+         }
+         if (isNumber(value))
+           return ctx.stylize('' + value, 'number');
+         if (isBoolean(value))
+           return ctx.stylize('' + value, 'boolean');
+         // For some reason typeof null is "object", so special case here.
+         if (isNull(value))
+           return ctx.stylize('null', 'null');
+       }
+
+
+       function formatError(value) {
+         return '[' + Error.prototype.toString.call(value) + ']';
+       }
+
+
+       function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
+         var output = [];
+         for (var i = 0, l = value.length; i < l; ++i) {
+           if (hasOwnProperty(value, String(i))) {
+             output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
+                 String(i), true));
+           } else {
+             output.push('');
+           }
+         }
+         keys.forEach(function(key) {
+           if (!key.match(/^\d+$/)) {
+             output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
+                 key, true));
+           }
+         });
+         return output;
+       }
+
+
+       function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
+         var name, str, desc;
+         desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };
+         if (desc.get) {
+           if (desc.set) {
+             str = ctx.stylize('[Getter/Setter]', 'special');
+           } else {
+             str = ctx.stylize('[Getter]', 'special');
+           }
+         } else {
+           if (desc.set) {
+             str = ctx.stylize('[Setter]', 'special');
+           }
+         }
+         if (!hasOwnProperty(visibleKeys, key)) {
+           name = '[' + key + ']';
+         }
+         if (!str) {
+           if (ctx.seen.indexOf(desc.value) < 0) {
+             if (isNull(recurseTimes)) {
+               str = formatValue(ctx, desc.value, null);
+             } else {
+               str = formatValue(ctx, desc.value, recurseTimes - 1);
+             }
+             if (str.indexOf('\n') > -1) {
+               if (array) {
+                 str = str.split('\n').map(function(line) {
+                   return '  ' + line;
+                 }).join('\n').substr(2);
+               } else {
+                 str = '\n' + str.split('\n').map(function(line) {
+                   return '   ' + line;
+                 }).join('\n');
+               }
+             }
+           } else {
+             str = ctx.stylize('[Circular]', 'special');
+           }
+         }
+         if (isUndefined(name)) {
+           if (array && key.match(/^\d+$/)) {
+             return str;
+           }
+           name = JSON.stringify('' + key);
+           if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
+             name = name.substr(1, name.length - 2);
+             name = ctx.stylize(name, 'name');
+           } else {
+             name = name.replace(/'/g, "\\'")
+                        .replace(/\\"/g, '"')
+                        .replace(/(^"|"$)/g, "'");
+             name = ctx.stylize(name, 'string');
+           }
+         }
+
+         return name + ': ' + str;
+       }
+
+
+       function reduceToSingleString(output, base, braces) {
+         var numLinesEst = 0;
+         var length = output.reduce(function(prev, cur) {
+           numLinesEst++;
+           if (cur.indexOf('\n') >= 0) numLinesEst++;
+           return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1;
+         }, 0);
+
+         if (length > 60) {
+           return braces[0] +
+                  (base === '' ? '' : base + '\n ') +
+                  ' ' +
+                  output.join(',\n  ') +
+                  ' ' +
+                  braces[1];
+         }
+
+         return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
+       }
+
+
+       // NOTE: These type checking functions intentionally don't use `instanceof`
+       // because it is fragile and can be easily faked with `Object.create()`.
+       function isArray(ar) {
+         return Array.isArray(ar);
+       }
+       exports.isArray = isArray;
+
+       function isBoolean(arg) {
+         return typeof arg === 'boolean';
+       }
+       exports.isBoolean = isBoolean;
+
+       function isNull(arg) {
+         return arg === null;
+       }
+       exports.isNull = isNull;
+
+       function isNullOrUndefined(arg) {
+         return arg == null;
+       }
+       exports.isNullOrUndefined = isNullOrUndefined;
+
+       function isNumber(arg) {
+         return typeof arg === 'number';
+       }
+       exports.isNumber = isNumber;
+
+       function isString(arg) {
+         return typeof arg === 'string';
+       }
+       exports.isString = isString;
+
+       function isSymbol(arg) {
+         return typeof arg === 'symbol';
+       }
+       exports.isSymbol = isSymbol;
+
+       function isUndefined(arg) {
+         return arg === void 0;
+       }
+       exports.isUndefined = isUndefined;
+
+       function isRegExp(re) {
+         return isObject(re) && objectToString(re) === '[object RegExp]';
+       }
+       exports.isRegExp = isRegExp;
+
+       function isObject(arg) {
+         return typeof arg === 'object' && arg !== null;
+       }
+       exports.isObject = isObject;
+
+       function isDate(d) {
+         return isObject(d) && objectToString(d) === '[object Date]';
+       }
+       exports.isDate = isDate;
+
+       function isError(e) {
+         return isObject(e) &&
+             (objectToString(e) === '[object Error]' || e instanceof Error);
+       }
+       exports.isError = isError;
+
+       function isFunction(arg) {
+         return typeof arg === 'function';
+       }
+       exports.isFunction = isFunction;
+
+       function isPrimitive(arg) {
+         return arg === null ||
+                typeof arg === 'boolean' ||
+                typeof arg === 'number' ||
+                typeof arg === 'string' ||
+                typeof arg === 'symbol' ||  // ES6 symbol
+                typeof arg === 'undefined';
+       }
+       exports.isPrimitive = isPrimitive;
+
+       exports.isBuffer = __webpack_require__(61);
+
+       function objectToString(o) {
+         return Object.prototype.toString.call(o);
+       }
+
+
+       function pad(n) {
+         return n < 10 ? '0' + n.toString(10) : n.toString(10);
+       }
+
+
+       var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',
+                     'Oct', 'Nov', 'Dec'];
+
+       // 26 Feb 16:19:34
+       function timestamp() {
+         var d = new Date();
+         var time = [pad(d.getHours()),
+                     pad(d.getMinutes()),
+                     pad(d.getSeconds())].join(':');
+         return [d.getDate(), months[d.getMonth()], time].join(' ');
+       }
+
+
+       // log is just a thin wrapper to console.log that prepends a timestamp
+       exports.log = function() {
+         console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));
+       };
+
+
+       /**
+        * Inherit the prototype methods from one constructor into another.
+        *
+        * The Function.prototype.inherits from lang.js rewritten as a standalone
+        * function (not on Function.prototype). NOTE: If this file is to be loaded
+        * during bootstrapping this function needs to be rewritten using some native
+        * functions as prototype setup using normal JavaScript does not work as
+        * expected during bootstrapping (see mirror.js in r114903).
+        *
+        * @param {function} ctor Constructor function which needs to inherit the
+        *     prototype.
+        * @param {function} superCtor Constructor function to inherit prototype from.
+        */
+       exports.inherits = __webpack_require__(62);
+
+       exports._extend = function(origin, add) {
+         // Don't do anything if add isn't an object
+         if (!add || !isObject(add)) return origin;
+
+         var keys = Object.keys(add);
+         var i = keys.length;
+         while (i--) {
+           origin[keys[i]] = add[keys[i]];
+         }
+         return origin;
+       };
+
+       function hasOwnProperty(obj, prop) {
+         return Object.prototype.hasOwnProperty.call(obj, prop);
+       }
+
+       /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(30)))
+
+/***/ },
+/* 61 */
+/***/ function(module, exports) {
+
+       module.exports = function isBuffer(arg) {
+         return arg && typeof arg === 'object'
+           && typeof arg.copy === 'function'
+           && typeof arg.fill === 'function'
+           && typeof arg.readUInt8 === 'function';
+       }
+
+/***/ },
+/* 62 */
+/***/ function(module, exports) {
+
+       if (typeof Object.create === 'function') {
+         // implementation from standard node.js 'util' module
+         module.exports = function inherits(ctor, superCtor) {
+           ctor.super_ = superCtor
+           ctor.prototype = Object.create(superCtor.prototype, {
+             constructor: {
+               value: ctor,
+               enumerable: false,
+               writable: true,
+               configurable: true
+             }
+           });
+         };
+       } else {
+         // old school shim for old browsers
+         module.exports = function inherits(ctor, superCtor) {
+           ctor.super_ = superCtor
+           var TempCtor = function () {}
+           TempCtor.prototype = superCtor.prototype
+           ctor.prototype = new TempCtor()
+           ctor.prototype.constructor = ctor
+         }
+       }
+
+
+/***/ },
+/* 63 */
+/***/ function(module, exports, __webpack_require__) {
+
+       // http://wiki.commonjs.org/wiki/Unit_Testing/1.0
+       //
+       // THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8!
+       //
+       // Originally from narwhal.js (http://narwhaljs.org)
+       // Copyright (c) 2009 Thomas Robinson <280north.com>
+       //
+       // Permission is hereby granted, free of charge, to any person obtaining a copy
+       // of this software and associated documentation files (the 'Software'), to
+       // deal in the Software without restriction, including without limitation the
+       // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+       // sell copies of the Software, and to permit persons to whom the Software is
+       // furnished to do so, subject to the following conditions:
+       //
+       // The above copyright notice and this permission notice shall be included in
+       // all copies or substantial portions of the Software.
+       //
+       // THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+       // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+       // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+       // AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+       // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+       // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+       // when used in node, this will actually load the util module we depend on
+       // versus loading the builtin util module as happens otherwise
+       // this is a bug in node module loading as far as I am concerned
+       var util = __webpack_require__(60);
+
+       var pSlice = Array.prototype.slice;
+       var hasOwn = Object.prototype.hasOwnProperty;
+
+       // 1. The assert module provides functions that throw
+       // AssertionError's when particular conditions are not met. The
+       // assert module must conform to the following interface.
+
+       var assert = module.exports = ok;
+
+       // 2. The AssertionError is defined in assert.
+       // new assert.AssertionError({ message: message,
+       //                             actual: actual,
+       //                             expected: expected })
+
+       assert.AssertionError = function AssertionError(options) {
+         this.name = 'AssertionError';
+         this.actual = options.actual;
+         this.expected = options.expected;
+         this.operator = options.operator;
+         if (options.message) {
+           this.message = options.message;
+           this.generatedMessage = false;
+         } else {
+           this.message = getMessage(this);
+           this.generatedMessage = true;
+         }
+         var stackStartFunction = options.stackStartFunction || fail;
+
+         if (Error.captureStackTrace) {
+           Error.captureStackTrace(this, stackStartFunction);
+         }
+         else {
+           // non v8 browsers so we can have a stacktrace
+           var err = new Error();
+           if (err.stack) {
+             var out = err.stack;
+
+             // try to strip useless frames
+             var fn_name = stackStartFunction.name;
+             var idx = out.indexOf('\n' + fn_name);
+             if (idx >= 0) {
+               // once we have located the function frame
+               // we need to strip out everything before it (and its line)
+               var next_line = out.indexOf('\n', idx + 1);
+               out = out.substring(next_line + 1);
+             }
+
+             this.stack = out;
+           }
+         }
+       };
+
+       // assert.AssertionError instanceof Error
+       util.inherits(assert.AssertionError, Error);
+
+       function replacer(key, value) {
+         if (util.isUndefined(value)) {
+           return '' + value;
+         }
+         if (util.isNumber(value) && !isFinite(value)) {
+           return value.toString();
+         }
+         if (util.isFunction(value) || util.isRegExp(value)) {
+           return value.toString();
+         }
+         return value;
+       }
+
+       function truncate(s, n) {
+         if (util.isString(s)) {
+           return s.length < n ? s : s.slice(0, n);
+         } else {
+           return s;
+         }
+       }
+
+       function getMessage(self) {
+         return truncate(JSON.stringify(self.actual, replacer), 128) + ' ' +
+                self.operator + ' ' +
+                truncate(JSON.stringify(self.expected, replacer), 128);
+       }
+
+       // At present only the three keys mentioned above are used and
+       // understood by the spec. Implementations or sub modules can pass
+       // other keys to the AssertionError's constructor - they will be
+       // ignored.
+
+       // 3. All of the following functions must throw an AssertionError
+       // when a corresponding condition is not met, with a message that
+       // may be undefined if not provided.  All assertion methods provide
+       // both the actual and expected values to the assertion error for
+       // display purposes.
+
+       function fail(actual, expected, message, operator, stackStartFunction) {
+         throw new assert.AssertionError({
+           message: message,
+           actual: actual,
+           expected: expected,
+           operator: operator,
+           stackStartFunction: stackStartFunction
+         });
+       }
+
+       // EXTENSION! allows for well behaved errors defined elsewhere.
+       assert.fail = fail;
+
+       // 4. Pure assertion tests whether a value is truthy, as determined
+       // by !!guard.
+       // assert.ok(guard, message_opt);
+       // This statement is equivalent to assert.equal(true, !!guard,
+       // message_opt);. To test strictly for the value true, use
+       // assert.strictEqual(true, guard, message_opt);.
+
+       function ok(value, message) {
+         if (!value) fail(value, true, message, '==', assert.ok);
+       }
+       assert.ok = ok;
+
+       // 5. The equality assertion tests shallow, coercive equality with
+       // ==.
+       // assert.equal(actual, expected, message_opt);
+
+       assert.equal = function equal(actual, expected, message) {
+         if (actual != expected) fail(actual, expected, message, '==', assert.equal);
+       };
+
+       // 6. The non-equality assertion tests for whether two objects are not equal
+       // with != assert.notEqual(actual, expected, message_opt);
+
+       assert.notEqual = function notEqual(actual, expected, message) {
+         if (actual == expected) {
+           fail(actual, expected, message, '!=', assert.notEqual);
+         }
+       };
+
+       // 7. The equivalence assertion tests a deep equality relation.
+       // assert.deepEqual(actual, expected, message_opt);
+
+       assert.deepEqual = function deepEqual(actual, expected, message) {
+         if (!_deepEqual(actual, expected)) {
+           fail(actual, expected, message, 'deepEqual', assert.deepEqual);
+         }
+       };
+
+       function _deepEqual(actual, expected) {
+         // 7.1. All identical values are equivalent, as determined by ===.
+         if (actual === expected) {
+           return true;
+
+         } else if (util.isBuffer(actual) && util.isBuffer(expected)) {
+           if (actual.length != expected.length) return false;
+
+           for (var i = 0; i < actual.length; i++) {
+             if (actual[i] !== expected[i]) return false;
+           }
+
+           return true;
+
+         // 7.2. If the expected value is a Date object, the actual value is
+         // equivalent if it is also a Date object that refers to the same time.
+         } else if (util.isDate(actual) && util.isDate(expected)) {
+           return actual.getTime() === expected.getTime();
+
+         // 7.3 If the expected value is a RegExp object, the actual value is
+         // equivalent if it is also a RegExp object with the same source and
+         // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`).
+         } else if (util.isRegExp(actual) && util.isRegExp(expected)) {
+           return actual.source === expected.source &&
+                  actual.global === expected.global &&
+                  actual.multiline === expected.multiline &&
+                  actual.lastIndex === expected.lastIndex &&
+                  actual.ignoreCase === expected.ignoreCase;
+
+         // 7.4. Other pairs that do not both pass typeof value == 'object',
+         // equivalence is determined by ==.
+         } else if (!util.isObject(actual) && !util.isObject(expected)) {
+           return actual == expected;
+
+         // 7.5 For all other Object pairs, including Array objects, equivalence is
+         // determined by having the same number of owned properties (as verified
+         // with Object.prototype.hasOwnProperty.call), the same set of keys
+         // (although not necessarily the same order), equivalent values for every
+         // corresponding key, and an identical 'prototype' property. Note: this
+         // accounts for both named and indexed properties on Arrays.
+         } else {
+           return objEquiv(actual, expected);
+         }
+       }
+
+       function isArguments(object) {
+         return Object.prototype.toString.call(object) == '[object Arguments]';
+       }
+
+       function objEquiv(a, b) {
+         if (util.isNullOrUndefined(a) || util.isNullOrUndefined(b))
+           return false;
+         // an identical 'prototype' property.
+         if (a.prototype !== b.prototype) return false;
+         // if one is a primitive, the other must be same
+         if (util.isPrimitive(a) || util.isPrimitive(b)) {
+           return a === b;
+         }
+         var aIsArgs = isArguments(a),
+             bIsArgs = isArguments(b);
+         if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs))
+           return false;
+         if (aIsArgs) {
+           a = pSlice.call(a);
+           b = pSlice.call(b);
+           return _deepEqual(a, b);
+         }
+         var ka = objectKeys(a),
+             kb = objectKeys(b),
+             key, i;
+         // having the same number of owned properties (keys incorporates
+         // hasOwnProperty)
+         if (ka.length != kb.length)
+           return false;
+         //the same set of keys (although not necessarily the same order),
+         ka.sort();
+         kb.sort();
+         //~~~cheap key test
+         for (i = ka.length - 1; i >= 0; i--) {
+           if (ka[i] != kb[i])
+             return false;
+         }
+         //equivalent values for every corresponding key, and
+         //~~~possibly expensive deep test
+         for (i = ka.length - 1; i >= 0; i--) {
+           key = ka[i];
+           if (!_deepEqual(a[key], b[key])) return false;
+         }
+         return true;
+       }
+
+       // 8. The non-equivalence assertion tests for any deep inequality.
+       // assert.notDeepEqual(actual, expected, message_opt);
+
+       assert.notDeepEqual = function notDeepEqual(actual, expected, message) {
+         if (_deepEqual(actual, expected)) {
+           fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);
+         }
+       };
+
+       // 9. The strict equality assertion tests strict equality, as determined by ===.
+       // assert.strictEqual(actual, expected, message_opt);
+
+       assert.strictEqual = function strictEqual(actual, expected, message) {
+         if (actual !== expected) {
+           fail(actual, expected, message, '===', assert.strictEqual);
+         }
+       };
+
+       // 10. The strict non-equality assertion tests for strict inequality, as
+       // determined by !==.  assert.notStrictEqual(actual, expected, message_opt);
+
+       assert.notStrictEqual = function notStrictEqual(actual, expected, message) {
+         if (actual === expected) {
+           fail(actual, expected, message, '!==', assert.notStrictEqual);
+         }
+       };
+
+       function expectedException(actual, expected) {
+         if (!actual || !expected) {
+           return false;
+         }
+
+         if (Object.prototype.toString.call(expected) == '[object RegExp]') {
+           return expected.test(actual);
+         } else if (actual instanceof expected) {
+           return true;
+         } else if (expected.call({}, actual) === true) {
+           return true;
+         }
+
+         return false;
+       }
+
+       function _throws(shouldThrow, block, expected, message) {
+         var actual;
+
+         if (util.isString(expected)) {
+           message = expected;
+           expected = null;
+         }
+
+         try {
+           block();
+         } catch (e) {
+           actual = e;
+         }
+
+         message = (expected && expected.name ? ' (' + expected.name + ').' : '.') +
+                   (message ? ' ' + message : '.');
+
+         if (shouldThrow && !actual) {
+           fail(actual, expected, 'Missing expected exception' + message);
+         }
+
+         if (!shouldThrow && expectedException(actual, expected)) {
+           fail(actual, expected, 'Got unwanted exception' + message);
+         }
+
+         if ((shouldThrow && actual && expected &&
+             !expectedException(actual, expected)) || (!shouldThrow && actual)) {
+           throw actual;
+         }
+       }
+
+       // 11. Expected to throw an error:
+       // assert.throws(block, Error_opt, message_opt);
+
+       assert.throws = function(block, /*optional*/error, /*optional*/message) {
+         _throws.apply(this, [true].concat(pSlice.call(arguments)));
+       };
+
+       // EXTENSION! This is annoying to write outside this module.
+       assert.doesNotThrow = function(block, /*optional*/message) {
+         _throws.apply(this, [false].concat(pSlice.call(arguments)));
+       };
+
+       assert.ifError = function(err) { if (err) {throw err;}};
+
+       var objectKeys = Object.keys || function (obj) {
+         var keys = [];
+         for (var key in obj) {
+           if (hasOwn.call(obj, key)) keys.push(key);
+         }
+         return keys;
+       };
+
+
+/***/ },
+/* 64 */
+/***/ function(module, exports) {
+
+       // Generated by CoffeeScript 1.7.1
+
+       /*
+       PDFPage - represents a single page in the PDF document
+       By Devon Govett
+        */
+
+       (function() {
+         var PDFPage;
+
+         PDFPage = (function() {
+           var DEFAULT_MARGINS, SIZES;
+
+           function PDFPage(document, options) {
+             var dimensions;
+             this.document = document;
+             if (options == null) {
+               options = {};
+             }
+             this.size = options.size || 'letter';
+             this.layout = options.layout || 'portrait';
+             if (typeof options.margin === 'number') {
+               this.margins = {
+                 top: options.margin,
+                 left: options.margin,
+                 bottom: options.margin,
+                 right: options.margin
+               };
+             } else {
+               this.margins = options.margins || DEFAULT_MARGINS;
+             }
+             dimensions = Array.isArray(this.size) ? this.size : SIZES[this.size.toUpperCase()];
+             this.width = dimensions[this.layout === 'portrait' ? 0 : 1];
+             this.height = dimensions[this.layout === 'portrait' ? 1 : 0];
+             this.content = this.document.ref();
+             this.resources = this.document.ref({
+               ProcSet: ['PDF', 'Text', 'ImageB', 'ImageC', 'ImageI']
+             });
+             Object.defineProperties(this, {
+               fonts: {
+                 get: (function(_this) {
+                   return function() {
+                     var _base;
+                     return (_base = _this.resources.data).Font != null ? _base.Font : _base.Font = {};
+                   };
+                 })(this)
+               },
+               xobjects: {
+                 get: (function(_this) {
+                   return function() {
+                     var _base;
+                     return (_base = _this.resources.data).XObject != null ? _base.XObject : _base.XObject = {};
+                   };
+                 })(this)
+               },
+               ext_gstates: {
+                 get: (function(_this) {
+                   return function() {
+                     var _base;
+                     return (_base = _this.resources.data).ExtGState != null ? _base.ExtGState : _base.ExtGState = {};
+                   };
+                 })(this)
+               },
+               patterns: {
+                 get: (function(_this) {
+                   return function() {
+                     var _base;
+                     return (_base = _this.resources.data).Pattern != null ? _base.Pattern : _base.Pattern = {};
+                   };
+                 })(this)
+               },
+               annotations: {
+                 get: (function(_this) {
+                   return function() {
+                     var _base;
+                     return (_base = _this.dictionary.data).Annots != null ? _base.Annots : _base.Annots = [];
+                   };
+                 })(this)
+               }
+             });
+             this.dictionary = this.document.ref({
+               Type: 'Page',
+               Parent: this.document._root.data.Pages,
+               MediaBox: [0, 0, this.width, this.height],
+               Contents: this.content,
+               Resources: this.resources
+             });
+           }
+
+           PDFPage.prototype.maxY = function() {
+             return this.height - this.margins.bottom;
+           };
+
+           PDFPage.prototype.write = function(chunk) {
+             return this.content.write(chunk);
+           };
+
+           PDFPage.prototype.end = function() {
+             this.dictionary.end();
+             this.resources.end();
+             return this.content.end();
+           };
+
+           DEFAULT_MARGINS = {
+             top: 72,
+             left: 72,
+             bottom: 72,
+             right: 72
+           };
+
+           SIZES = {
+             '4A0': [4767.87, 6740.79],
+             '2A0': [3370.39, 4767.87],
+             A0: [2383.94, 3370.39],
+             A1: [1683.78, 2383.94],
+             A2: [1190.55, 1683.78],
+             A3: [841.89, 1190.55],
+             A4: [595.28, 841.89],
+             A5: [419.53, 595.28],
+             A6: [297.64, 419.53],
+             A7: [209.76, 297.64],
+             A8: [147.40, 209.76],
+             A9: [104.88, 147.40],
+             A10: [73.70, 104.88],
+             B0: [2834.65, 4008.19],
+             B1: [2004.09, 2834.65],
+             B2: [1417.32, 2004.09],
+             B3: [1000.63, 1417.32],
+             B4: [708.66, 1000.63],
+             B5: [498.90, 708.66],
+             B6: [354.33, 498.90],
+             B7: [249.45, 354.33],
+             B8: [175.75, 249.45],
+             B9: [124.72, 175.75],
+             B10: [87.87, 124.72],
+             C0: [2599.37, 3676.54],
+             C1: [1836.85, 2599.37],
+             C2: [1298.27, 1836.85],
+             C3: [918.43, 1298.27],
+             C4: [649.13, 918.43],
+             C5: [459.21, 649.13],
+             C6: [323.15, 459.21],
+             C7: [229.61, 323.15],
+             C8: [161.57, 229.61],
+             C9: [113.39, 161.57],
+             C10: [79.37, 113.39],
+             RA0: [2437.80, 3458.27],
+             RA1: [1729.13, 2437.80],
+             RA2: [1218.90, 1729.13],
+             RA3: [864.57, 1218.90],
+             RA4: [609.45, 864.57],
+             SRA0: [2551.18, 3628.35],
+             SRA1: [1814.17, 2551.18],
+             SRA2: [1275.59, 1814.17],
+             SRA3: [907.09, 1275.59],
+             SRA4: [637.80, 907.09],
+             EXECUTIVE: [521.86, 756.00],
+             FOLIO: [612.00, 936.00],
+             LEGAL: [612.00, 1008.00],
+             LETTER: [612.00, 792.00],
+             TABLOID: [792.00, 1224.00]
+           };
+
+           return PDFPage;
+
+         })();
+
+         module.exports = PDFPage;
+
+       }).call(this);
+
+
+/***/ },
+/* 65 */
+/***/ function(module, exports, __webpack_require__) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         var PDFGradient, PDFLinearGradient, PDFRadialGradient, namedColors, _ref;
+
+         _ref = __webpack_require__(66), PDFGradient = _ref.PDFGradient, PDFLinearGradient = _ref.PDFLinearGradient, PDFRadialGradient = _ref.PDFRadialGradient;
+
+         module.exports = {
+           initColor: function() {
+             this._opacityRegistry = {};
+             this._opacityCount = 0;
+             return this._gradCount = 0;
+           },
+           _normalizeColor: function(color) {
+             var hex, part;
+             if (color instanceof PDFGradient) {
+               return color;
+             }
+             if (typeof color === 'string') {
+               if (color.charAt(0) === '#') {
+                 if (color.length === 4) {
+                   color = color.replace(/#([0-9A-F])([0-9A-F])([0-9A-F])/i, "#$1$1$2$2$3$3");
+                 }
+                 hex = parseInt(color.slice(1), 16);
+                 color = [hex >> 16, hex >> 8 & 0xff, hex & 0xff];
+               } else if (namedColors[color]) {
+                 color = namedColors[color];
+               }
+             }
+             if (Array.isArray(color)) {
+               if (color.length === 3) {
+                 color = (function() {
+                   var _i, _len, _results;
+                   _results = [];
+                   for (_i = 0, _len = color.length; _i < _len; _i++) {
+                     part = color[_i];
+                     _results.push(part / 255);
+                   }
+                   return _results;
+                 })();
+               } else if (color.length === 4) {
+                 color = (function() {
+                   var _i, _len, _results;
+                   _results = [];
+                   for (_i = 0, _len = color.length; _i < _len; _i++) {
+                     part = color[_i];
+                     _results.push(part / 100);
+                   }
+                   return _results;
+                 })();
+               }
+               return color;
+             }
+             return null;
+           },
+           _setColor: function(color, stroke) {
+             var gstate, name, op, space;
+             color = this._normalizeColor(color);
+             if (!color) {
+               return false;
+             }
+             if (this._sMasked) {
+               gstate = this.ref({
+                 Type: 'ExtGState',
+                 SMask: 'None'
+               });
+               gstate.end();
+               name = "Gs" + (++this._opacityCount);
+               this.page.ext_gstates[name] = gstate;
+               this.addContent("/" + name + " gs");
+               this._sMasked = false;
+             }
+             op = stroke ? 'SCN' : 'scn';
+             if (color instanceof PDFGradient) {
+               this._setColorSpace('Pattern', stroke);
+               color.apply(op);
+             } else {
+               space = color.length === 4 ? 'DeviceCMYK' : 'DeviceRGB';
+               this._setColorSpace(space, stroke);
+               color = color.join(' ');
+               this.addContent("" + color + " " + op);
+             }
+             return true;
+           },
+           _setColorSpace: function(space, stroke) {
+             var op;
+             op = stroke ? 'CS' : 'cs';
+             return this.addContent("/" + space + " " + op);
+           },
+           fillColor: function(color, opacity) {
+             var set;
+             if (opacity == null) {
+               opacity = 1;
+             }
+             set = this._setColor(color, false);
+             if (set) {
+               this.fillOpacity(opacity);
+             }
+             this._fillColor = [color, opacity];
+             return this;
+           },
+           strokeColor: function(color, opacity) {
+             var set;
+             if (opacity == null) {
+               opacity = 1;
+             }
+             set = this._setColor(color, true);
+             if (set) {
+               this.strokeOpacity(opacity);
+             }
+             return this;
+           },
+           opacity: function(opacity) {
+             this._doOpacity(opacity, opacity);
+             return this;
+           },
+           fillOpacity: function(opacity) {
+             this._doOpacity(opacity, null);
+             return this;
+           },
+           strokeOpacity: function(opacity) {
+             this._doOpacity(null, opacity);
+             return this;
+           },
+           _doOpacity: function(fillOpacity, strokeOpacity) {
+             var dictionary, id, key, name, _ref1;
+             if (!((fillOpacity != null) || (strokeOpacity != null))) {
+               return;
+             }
+             if (fillOpacity != null) {
+               fillOpacity = Math.max(0, Math.min(1, fillOpacity));
+             }
+             if (strokeOpacity != null) {
+               strokeOpacity = Math.max(0, Math.min(1, strokeOpacity));
+             }
+             key = "" + fillOpacity + "_" + strokeOpacity;
+             if (this._opacityRegistry[key]) {
+               _ref1 = this._opacityRegistry[key], dictionary = _ref1[0], name = _ref1[1];
+             } else {
+               dictionary = {
+                 Type: 'ExtGState'
+               };
+               if (fillOpacity != null) {
+                 dictionary.ca = fillOpacity;
+               }
+               if (strokeOpacity != null) {
+                 dictionary.CA = strokeOpacity;
+               }
+               dictionary = this.ref(dictionary);
+               dictionary.end();
+               id = ++this._opacityCount;
+               name = "Gs" + id;
+               this._opacityRegistry[key] = [dictionary, name];
+             }
+             this.page.ext_gstates[name] = dictionary;
+             return this.addContent("/" + name + " gs");
+           },
+           linearGradient: function(x1, y1, x2, y2) {
+             return new PDFLinearGradient(this, x1, y1, x2, y2);
+           },
+           radialGradient: function(x1, y1, r1, x2, y2, r2) {
+             return new PDFRadialGradient(this, x1, y1, r1, x2, y2, r2);
+           }
+         };
+
+         namedColors = {
+           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],
+           grey: [128, 128, 128],
+           green: [0, 128, 0],
+           greenyellow: [173, 255, 47],
+           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],
+           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]
+         };
+
+       }).call(this);
+
+
+/***/ },
+/* 66 */
+/***/ function(module, exports) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         var PDFGradient, PDFLinearGradient, PDFRadialGradient,
+           __hasProp = {}.hasOwnProperty,
+           __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
+
+         PDFGradient = (function() {
+           function PDFGradient(doc) {
+             this.doc = doc;
+             this.stops = [];
+             this.embedded = false;
+             this.transform = [1, 0, 0, 1, 0, 0];
+             this._colorSpace = 'DeviceRGB';
+           }
+
+           PDFGradient.prototype.stop = function(pos, color, opacity) {
+             if (opacity == null) {
+               opacity = 1;
+             }
+             opacity = Math.max(0, Math.min(1, opacity));
+             this.stops.push([pos, this.doc._normalizeColor(color), opacity]);
+             return this;
+           };
+
+           PDFGradient.prototype.embed = function() {
+             var bounds, dx, dy, encode, fn, form, grad, group, gstate, i, last, m, m0, m1, m11, m12, m2, m21, m22, m3, m4, m5, name, pattern, resources, sMask, shader, stop, stops, v, _i, _j, _len, _ref, _ref1, _ref2;
+             if (this.embedded || this.stops.length === 0) {
+               return;
+             }
+             this.embedded = true;
+             last = this.stops[this.stops.length - 1];
+             if (last[0] < 1) {
+               this.stops.push([1, last[1], last[2]]);
+             }
+             bounds = [];
+             encode = [];
+             stops = [];
+             for (i = _i = 0, _ref = this.stops.length - 1; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {
+               encode.push(0, 1);
+               if (i + 2 !== this.stops.length) {
+                 bounds.push(this.stops[i + 1][0]);
+               }
+               fn = this.doc.ref({
+                 FunctionType: 2,
+                 Domain: [0, 1],
+                 C0: this.stops[i + 0][1],
+                 C1: this.stops[i + 1][1],
+                 N: 1
+               });
+               stops.push(fn);
+               fn.end();
+             }
+             if (stops.length === 1) {
+               fn = stops[0];
+             } else {
+               fn = this.doc.ref({
+                 FunctionType: 3,
+                 Domain: [0, 1],
+                 Functions: stops,
+                 Bounds: bounds,
+                 Encode: encode
+               });
+               fn.end();
+             }
+             this.id = 'Sh' + (++this.doc._gradCount);
+             m = this.doc._ctm.slice();
+             m0 = m[0], m1 = m[1], m2 = m[2], m3 = m[3], m4 = m[4], m5 = m[5];
+             _ref1 = this.transform, m11 = _ref1[0], m12 = _ref1[1], m21 = _ref1[2], m22 = _ref1[3], dx = _ref1[4], dy = _ref1[5];
+             m[0] = m0 * m11 + m2 * m12;
+             m[1] = m1 * m11 + m3 * m12;
+             m[2] = m0 * m21 + m2 * m22;
+             m[3] = m1 * m21 + m3 * m22;
+             m[4] = m0 * dx + m2 * dy + m4;
+             m[5] = m1 * dx + m3 * dy + m5;
+             shader = this.shader(fn);
+             shader.end();
+             pattern = this.doc.ref({
+               Type: 'Pattern',
+               PatternType: 2,
+               Shading: shader,
+               Matrix: (function() {
+                 var _j, _len, _results;
+                 _results = [];
+                 for (_j = 0, _len = m.length; _j < _len; _j++) {
+                   v = m[_j];
+                   _results.push(+v.toFixed(5));
+                 }
+                 return _results;
+               })()
+             });
+             this.doc.page.patterns[this.id] = pattern;
+             pattern.end();
+             if (this.stops.some(function(stop) {
+               return stop[2] < 1;
+             })) {
+               grad = this.opacityGradient();
+               grad._colorSpace = 'DeviceGray';
+               _ref2 = this.stops;
+               for (_j = 0, _len = _ref2.length; _j < _len; _j++) {
+                 stop = _ref2[_j];
+                 grad.stop(stop[0], [stop[2]]);
+               }
+               grad = grad.embed();
+               group = this.doc.ref({
+                 Type: 'Group',
+                 S: 'Transparency',
+                 CS: 'DeviceGray'
+               });
+               group.end();
+               resources = this.doc.ref({
+                 ProcSet: ['PDF', 'Text', 'ImageB', 'ImageC', 'ImageI'],
+                 Shading: {
+                   Sh1: grad.data.Shading
+                 }
+               });
+               resources.end();
+               form = this.doc.ref({
+                 Type: 'XObject',
+                 Subtype: 'Form',
+                 FormType: 1,
+                 BBox: [0, 0, this.doc.page.width, this.doc.page.height],
+                 Group: group,
+                 Resources: resources
+               });
+               form.end("/Sh1 sh");
+               sMask = this.doc.ref({
+                 Type: 'Mask',
+                 S: 'Luminosity',
+                 G: form
+               });
+               sMask.end();
+               gstate = this.doc.ref({
+                 Type: 'ExtGState',
+                 SMask: sMask
+               });
+               this.opacity_id = ++this.doc._opacityCount;
+               name = "Gs" + this.opacity_id;
+               this.doc.page.ext_gstates[name] = gstate;
+               gstate.end();
+             }
+             return pattern;
+           };
+
+           PDFGradient.prototype.apply = function(op) {
+             if (!this.embedded) {
+               this.embed();
+             }
+             this.doc.addContent("/" + this.id + " " + op);
+             if (this.opacity_id) {
+               this.doc.addContent("/Gs" + this.opacity_id + " gs");
+               return this.doc._sMasked = true;
+             }
+           };
+
+           return PDFGradient;
+
+         })();
+
+         PDFLinearGradient = (function(_super) {
+           __extends(PDFLinearGradient, _super);
+
+           function PDFLinearGradient(doc, x1, y1, x2, y2) {
+             this.doc = doc;
+             this.x1 = x1;
+             this.y1 = y1;
+             this.x2 = x2;
+             this.y2 = y2;
+             PDFLinearGradient.__super__.constructor.apply(this, arguments);
+           }
+
+           PDFLinearGradient.prototype.shader = function(fn) {
+             return this.doc.ref({
+               ShadingType: 2,
+               ColorSpace: this._colorSpace,
+               Coords: [this.x1, this.y1, this.x2, this.y2],
+               Function: fn,
+               Extend: [true, true]
+             });
+           };
+
+           PDFLinearGradient.prototype.opacityGradient = function() {
+             return new PDFLinearGradient(this.doc, this.x1, this.y1, this.x2, this.y2);
+           };
+
+           return PDFLinearGradient;
+
+         })(PDFGradient);
+
+         PDFRadialGradient = (function(_super) {
+           __extends(PDFRadialGradient, _super);
+
+           function PDFRadialGradient(doc, x1, y1, r1, x2, y2, r2) {
+             this.doc = doc;
+             this.x1 = x1;
+             this.y1 = y1;
+             this.r1 = r1;
+             this.x2 = x2;
+             this.y2 = y2;
+             this.r2 = r2;
+             PDFRadialGradient.__super__.constructor.apply(this, arguments);
+           }
+
+           PDFRadialGradient.prototype.shader = function(fn) {
+             return this.doc.ref({
+               ShadingType: 3,
+               ColorSpace: this._colorSpace,
+               Coords: [this.x1, this.y1, this.r1, this.x2, this.y2, this.r2],
+               Function: fn,
+               Extend: [true, true]
+             });
+           };
+
+           PDFRadialGradient.prototype.opacityGradient = function() {
+             return new PDFRadialGradient(this.doc, this.x1, this.y1, this.r1, this.x2, this.y2, this.r2);
+           };
+
+           return PDFRadialGradient;
+
+         })(PDFGradient);
+
+         module.exports = {
+           PDFGradient: PDFGradient,
+           PDFLinearGradient: PDFLinearGradient,
+           PDFRadialGradient: PDFRadialGradient
+         };
+
+       }).call(this);
+
+
+/***/ },
+/* 67 */
+/***/ function(module, exports, __webpack_require__) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         var KAPPA, SVGPath,
+           __slice = [].slice;
+
+         SVGPath = __webpack_require__(68);
+
+         KAPPA = 4.0 * ((Math.sqrt(2) - 1.0) / 3.0);
+
+         module.exports = {
+           initVector: function() {
+             this._ctm = [1, 0, 0, 1, 0, 0];
+             return this._ctmStack = [];
+           },
+           save: function() {
+             this._ctmStack.push(this._ctm.slice());
+             return this.addContent('q');
+           },
+           restore: function() {
+             this._ctm = this._ctmStack.pop() || [1, 0, 0, 1, 0, 0];
+             return this.addContent('Q');
+           },
+           closePath: function() {
+             return this.addContent('h');
+           },
+           lineWidth: function(w) {
+             return this.addContent("" + w + " w");
+           },
+           _CAP_STYLES: {
+             BUTT: 0,
+             ROUND: 1,
+             SQUARE: 2
+           },
+           lineCap: function(c) {
+             if (typeof c === 'string') {
+               c = this._CAP_STYLES[c.toUpperCase()];
+             }
+             return this.addContent("" + c + " J");
+           },
+           _JOIN_STYLES: {
+             MITER: 0,
+             ROUND: 1,
+             BEVEL: 2
+           },
+           lineJoin: function(j) {
+             if (typeof j === 'string') {
+               j = this._JOIN_STYLES[j.toUpperCase()];
+             }
+             return this.addContent("" + j + " j");
+           },
+           miterLimit: function(m) {
+             return this.addContent("" + m + " M");
+           },
+           dash: function(length, options) {
+             var phase, space, _ref;
+             if (options == null) {
+               options = {};
+             }
+             if (length == null) {
+               return this;
+             }
+             space = (_ref = options.space) != null ? _ref : length;
+             phase = options.phase || 0;
+             return this.addContent("[" + length + " " + space + "] " + phase + " d");
+           },
+           undash: function() {
+             return this.addContent("[] 0 d");
+           },
+           moveTo: function(x, y) {
+             return this.addContent("" + x + " " + y + " m");
+           },
+           lineTo: function(x, y) {
+             return this.addContent("" + x + " " + y + " l");
+           },
+           bezierCurveTo: function(cp1x, cp1y, cp2x, cp2y, x, y) {
+             return this.addContent("" + cp1x + " " + cp1y + " " + cp2x + " " + cp2y + " " + x + " " + y + " c");
+           },
+           quadraticCurveTo: function(cpx, cpy, x, y) {
+             return this.addContent("" + cpx + " " + cpy + " " + x + " " + y + " v");
+           },
+           rect: function(x, y, w, h) {
+             return this.addContent("" + x + " " + y + " " + w + " " + h + " re");
+           },
+           roundedRect: function(x, y, w, h, r) {
+             if (r == null) {
+               r = 0;
+             }
+             this.moveTo(x + r, y);
+             this.lineTo(x + w - r, y);
+             this.quadraticCurveTo(x + w, y, x + w, y + r);
+             this.lineTo(x + w, y + h - r);
+             this.quadraticCurveTo(x + w, y + h, x + w - r, y + h);
+             this.lineTo(x + r, y + h);
+             this.quadraticCurveTo(x, y + h, x, y + h - r);
+             this.lineTo(x, y + r);
+             return this.quadraticCurveTo(x, y, x + r, y);
+           },
+           ellipse: function(x, y, r1, r2) {
+             var ox, oy, xe, xm, ye, ym;
+             if (r2 == null) {
+               r2 = r1;
+             }
+             x -= r1;
+             y -= r2;
+             ox = r1 * KAPPA;
+             oy = r2 * KAPPA;
+             xe = x + r1 * 2;
+             ye = y + r2 * 2;
+             xm = x + r1;
+             ym = y + r2;
+             this.moveTo(x, ym);
+             this.bezierCurveTo(x, ym - oy, xm - ox, y, xm, y);
+             this.bezierCurveTo(xm + ox, y, xe, ym - oy, xe, ym);
+             this.bezierCurveTo(xe, ym + oy, xm + ox, ye, xm, ye);
+             this.bezierCurveTo(xm - ox, ye, x, ym + oy, x, ym);
+             return this.closePath();
+           },
+           circle: function(x, y, radius) {
+             return this.ellipse(x, y, radius);
+           },
+           polygon: function() {
+             var point, points, _i, _len;
+             points = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
+             this.moveTo.apply(this, points.shift());
+             for (_i = 0, _len = points.length; _i < _len; _i++) {
+               point = points[_i];
+               this.lineTo.apply(this, point);
+             }
+             return this.closePath();
+           },
+           path: function(path) {
+             SVGPath.apply(this, path);
+             return this;
+           },
+           _windingRule: function(rule) {
+             if (/even-?odd/.test(rule)) {
+               return '*';
+             }
+             return '';
+           },
+           fill: function(color, rule) {
+             if (/(even-?odd)|(non-?zero)/.test(color)) {
+               rule = color;
+               color = null;
+             }
+             if (color) {
+               this.fillColor(color);
+             }
+             return this.addContent('f' + this._windingRule(rule));
+           },
+           stroke: function(color) {
+             if (color) {
+               this.strokeColor(color);
+             }
+             return this.addContent('S');
+           },
+           fillAndStroke: function(fillColor, strokeColor, rule) {
+             var isFillRule;
+             if (strokeColor == null) {
+               strokeColor = fillColor;
+             }
+             isFillRule = /(even-?odd)|(non-?zero)/;
+             if (isFillRule.test(fillColor)) {
+               rule = fillColor;
+               fillColor = null;
+             }
+             if (isFillRule.test(strokeColor)) {
+               rule = strokeColor;
+               strokeColor = fillColor;
+             }
+             if (fillColor) {
+               this.fillColor(fillColor);
+               this.strokeColor(strokeColor);
+             }
+             return this.addContent('B' + this._windingRule(rule));
+           },
+           clip: function(rule) {
+             return this.addContent('W' + this._windingRule(rule) + ' n');
+           },
+           transform: function(m11, m12, m21, m22, dx, dy) {
+             var m, m0, m1, m2, m3, m4, m5, v, values;
+             m = this._ctm;
+             m0 = m[0], m1 = m[1], m2 = m[2], m3 = m[3], m4 = m[4], m5 = m[5];
+             m[0] = m0 * m11 + m2 * m12;
+             m[1] = m1 * m11 + m3 * m12;
+             m[2] = m0 * m21 + m2 * m22;
+             m[3] = m1 * m21 + m3 * m22;
+             m[4] = m0 * dx + m2 * dy + m4;
+             m[5] = m1 * dx + m3 * dy + m5;
+             values = ((function() {
+               var _i, _len, _ref, _results;
+               _ref = [m11, m12, m21, m22, dx, dy];
+               _results = [];
+               for (_i = 0, _len = _ref.length; _i < _len; _i++) {
+                 v = _ref[_i];
+                 _results.push(+v.toFixed(5));
+               }
+               return _results;
+             })()).join(' ');
+             return this.addContent("" + values + " cm");
+           },
+           translate: function(x, y) {
+             return this.transform(1, 0, 0, 1, x, y);
+           },
+           rotate: function(angle, options) {
+             var cos, rad, sin, x, x1, y, y1, _ref;
+             if (options == null) {
+               options = {};
+             }
+             rad = angle * Math.PI / 180;
+             cos = Math.cos(rad);
+             sin = Math.sin(rad);
+             x = y = 0;
+             if (options.origin != null) {
+               _ref = options.origin, x = _ref[0], y = _ref[1];
+               x1 = x * cos - y * sin;
+               y1 = x * sin + y * cos;
+               x -= x1;
+               y -= y1;
+             }
+             return this.transform(cos, sin, -sin, cos, x, y);
+           },
+           scale: function(xFactor, yFactor, options) {
+             var x, y, _ref;
+             if (yFactor == null) {
+               yFactor = xFactor;
+             }
+             if (options == null) {
+               options = {};
+             }
+             if (arguments.length === 2) {
+               yFactor = xFactor;
+               options = yFactor;
+             }
+             x = y = 0;
+             if (options.origin != null) {
+               _ref = options.origin, x = _ref[0], y = _ref[1];
+               x -= xFactor * x;
+               y -= yFactor * y;
+             }
+             return this.transform(xFactor, 0, 0, yFactor, x, y);
+           }
+         };
+
+       }).call(this);
+
+
+/***/ },
+/* 68 */
+/***/ function(module, exports) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         var SVGPath;
+
+         SVGPath = (function() {
+           var apply, arcToSegments, cx, cy, parameters, parse, px, py, runners, segmentToBezier, solveArc, sx, sy;
+
+           function SVGPath() {}
+
+           SVGPath.apply = function(doc, path) {
+             var commands;
+             commands = parse(path);
+             return apply(commands, doc);
+           };
+
+           parameters = {
+             A: 7,
+             a: 7,
+             C: 6,
+             c: 6,
+             H: 1,
+             h: 1,
+             L: 2,
+             l: 2,
+             M: 2,
+             m: 2,
+             Q: 4,
+             q: 4,
+             S: 4,
+             s: 4,
+             T: 2,
+             t: 2,
+             V: 1,
+             v: 1,
+             Z: 0,
+             z: 0
+           };
+
+           parse = function(path) {
+             var args, c, cmd, curArg, foundDecimal, params, ret, _i, _len;
+             ret = [];
+             args = [];
+             curArg = "";
+             foundDecimal = false;
+             params = 0;
+             for (_i = 0, _len = path.length; _i < _len; _i++) {
+               c = path[_i];
+               if (parameters[c] != null) {
+                 params = parameters[c];
+                 if (cmd) {
+                   if (curArg.length > 0) {
+                     args[args.length] = +curArg;
+                   }
+                   ret[ret.length] = {
+                     cmd: cmd,
+                     args: args
+                   };
+                   args = [];
+                   curArg = "";
+                   foundDecimal = false;
+                 }
+                 cmd = c;
+               } else if ((c === " " || c === ",") || (c === "-" && curArg.length > 0 && curArg[curArg.length - 1] !== 'e') || (c === "." && foundDecimal)) {
+                 if (curArg.length === 0) {
+                   continue;
+                 }
+                 if (args.length === params) {
+                   ret[ret.length] = {
+                     cmd: cmd,
+                     args: args
+                   };
+                   args = [+curArg];
+                   if (cmd === "M") {
+                     cmd = "L";
+                   }
+                   if (cmd === "m") {
+                     cmd = "l";
+                   }
+                 } else {
+                   args[args.length] = +curArg;
+                 }
+                 foundDecimal = c === ".";
+                 curArg = c === '-' || c === '.' ? c : '';
+               } else {
+                 curArg += c;
+                 if (c === '.') {
+                   foundDecimal = true;
+                 }
+               }
+             }
+             if (curArg.length > 0) {
+               if (args.length === params) {
+                 ret[ret.length] = {
+                   cmd: cmd,
+                   args: args
+                 };
+                 args = [+curArg];
+                 if (cmd === "M") {
+                   cmd = "L";
+                 }
+                 if (cmd === "m") {
+                   cmd = "l";
+                 }
+               } else {
+                 args[args.length] = +curArg;
+               }
+             }
+             ret[ret.length] = {
+               cmd: cmd,
+               args: args
+             };
+             return ret;
+           };
+
+           cx = cy = px = py = sx = sy = 0;
+
+           apply = function(commands, doc) {
+             var c, i, _i, _len, _name;
+             cx = cy = px = py = sx = sy = 0;
+             for (i = _i = 0, _len = commands.length; _i < _len; i = ++_i) {
+               c = commands[i];
+               if (typeof runners[_name = c.cmd] === "function") {
+                 runners[_name](doc, c.args);
+               }
+             }
+             return cx = cy = px = py = 0;
+           };
+
+           runners = {
+             M: function(doc, a) {
+               cx = a[0];
+               cy = a[1];
+               px = py = null;
+               sx = cx;
+               sy = cy;
+               return doc.moveTo(cx, cy);
+             },
+             m: function(doc, a) {
+               cx += a[0];
+               cy += a[1];
+               px = py = null;
+               sx = cx;
+               sy = cy;
+               return doc.moveTo(cx, cy);
+             },
+             C: function(doc, a) {
+               cx = a[4];
+               cy = a[5];
+               px = a[2];
+               py = a[3];
+               return doc.bezierCurveTo.apply(doc, a);
+             },
+             c: function(doc, a) {
+               doc.bezierCurveTo(a[0] + cx, a[1] + cy, a[2] + cx, a[3] + cy, a[4] + cx, a[5] + cy);
+               px = cx + a[2];
+               py = cy + a[3];
+               cx += a[4];
+               return cy += a[5];
+             },
+             S: function(doc, a) {
+               if (px === null) {
+                 px = cx;
+                 py = cy;
+               }
+               doc.bezierCurveTo(cx - (px - cx), cy - (py - cy), a[0], a[1], a[2], a[3]);
+               px = a[0];
+               py = a[1];
+               cx = a[2];
+               return cy = a[3];
+             },
+             s: function(doc, a) {
+               if (px === null) {
+                 px = cx;
+                 py = cy;
+               }
+               doc.bezierCurveTo(cx - (px - cx), cy - (py - cy), cx + a[0], cy + a[1], cx + a[2], cy + a[3]);
+               px = cx + a[0];
+               py = cy + a[1];
+               cx += a[2];
+               return cy += a[3];
+             },
+             Q: function(doc, a) {
+               px = a[0];
+               py = a[1];
+               cx = a[2];
+               cy = a[3];
+               return doc.quadraticCurveTo(a[0], a[1], cx, cy);
+             },
+             q: function(doc, a) {
+               doc.quadraticCurveTo(a[0] + cx, a[1] + cy, a[2] + cx, a[3] + cy);
+               px = cx + a[0];
+               py = cy + a[1];
+               cx += a[2];
+               return cy += a[3];
+             },
+             T: function(doc, a) {
+               if (px === null) {
+                 px = cx;
+                 py = cy;
+               } else {
+                 px = cx - (px - cx);
+                 py = cy - (py - cy);
+               }
+               doc.quadraticCurveTo(px, py, a[0], a[1]);
+               px = cx - (px - cx);
+               py = cy - (py - cy);
+               cx = a[0];
+               return cy = a[1];
+             },
+             t: function(doc, a) {
+               if (px === null) {
+                 px = cx;
+                 py = cy;
+               } else {
+                 px = cx - (px - cx);
+                 py = cy - (py - cy);
+               }
+               doc.quadraticCurveTo(px, py, cx + a[0], cy + a[1]);
+               cx += a[0];
+               return cy += a[1];
+             },
+             A: function(doc, a) {
+               solveArc(doc, cx, cy, a);
+               cx = a[5];
+               return cy = a[6];
+             },
+             a: function(doc, a) {
+               a[5] += cx;
+               a[6] += cy;
+               solveArc(doc, cx, cy, a);
+               cx = a[5];
+               return cy = a[6];
+             },
+             L: function(doc, a) {
+               cx = a[0];
+               cy = a[1];
+               px = py = null;
+               return doc.lineTo(cx, cy);
+             },
+             l: function(doc, a) {
+               cx += a[0];
+               cy += a[1];
+               px = py = null;
+               return doc.lineTo(cx, cy);
+             },
+             H: function(doc, a) {
+               cx = a[0];
+               px = py = null;
+               return doc.lineTo(cx, cy);
+             },
+             h: function(doc, a) {
+               cx += a[0];
+               px = py = null;
+               return doc.lineTo(cx, cy);
+             },
+             V: function(doc, a) {
+               cy = a[0];
+               px = py = null;
+               return doc.lineTo(cx, cy);
+             },
+             v: function(doc, a) {
+               cy += a[0];
+               px = py = null;
+               return doc.lineTo(cx, cy);
+             },
+             Z: function(doc) {
+               doc.closePath();
+               cx = sx;
+               return cy = sy;
+             },
+             z: function(doc) {
+               doc.closePath();
+               cx = sx;
+               return cy = sy;
+             }
+           };
+
+           solveArc = function(doc, x, y, coords) {
+             var bez, ex, ey, large, rot, rx, ry, seg, segs, sweep, _i, _len, _results;
+             rx = coords[0], ry = coords[1], rot = coords[2], large = coords[3], sweep = coords[4], ex = coords[5], ey = coords[6];
+             segs = arcToSegments(ex, ey, rx, ry, large, sweep, rot, x, y);
+             _results = [];
+             for (_i = 0, _len = segs.length; _i < _len; _i++) {
+               seg = segs[_i];
+               bez = segmentToBezier.apply(null, seg);
+               _results.push(doc.bezierCurveTo.apply(doc, bez));
+             }
+             return _results;
+           };
+
+           arcToSegments = function(x, y, rx, ry, large, sweep, rotateX, ox, oy) {
+             var a00, a01, a10, a11, cos_th, d, i, pl, result, segments, sfactor, sfactor_sq, sin_th, th, th0, th1, th2, th3, th_arc, x0, x1, xc, y0, y1, yc, _i;
+             th = rotateX * (Math.PI / 180);
+             sin_th = Math.sin(th);
+             cos_th = Math.cos(th);
+             rx = Math.abs(rx);
+             ry = Math.abs(ry);
+             px = cos_th * (ox - x) * 0.5 + sin_th * (oy - y) * 0.5;
+             py = cos_th * (oy - y) * 0.5 - sin_th * (ox - x) * 0.5;
+             pl = (px * px) / (rx * rx) + (py * py) / (ry * ry);
+             if (pl > 1) {
+               pl = Math.sqrt(pl);
+               rx *= pl;
+               ry *= pl;
+             }
+             a00 = cos_th / rx;
+             a01 = sin_th / rx;
+             a10 = (-sin_th) / ry;
+             a11 = cos_th / ry;
+             x0 = a00 * ox + a01 * oy;
+             y0 = a10 * ox + a11 * oy;
+             x1 = a00 * x + a01 * y;
+             y1 = a10 * x + a11 * y;
+             d = (x1 - x0) * (x1 - x0) + (y1 - y0) * (y1 - y0);
+             sfactor_sq = 1 / d - 0.25;
+             if (sfactor_sq < 0) {
+               sfactor_sq = 0;
+             }
+             sfactor = Math.sqrt(sfactor_sq);
+             if (sweep === large) {
+               sfactor = -sfactor;
+             }
+             xc = 0.5 * (x0 + x1) - sfactor * (y1 - y0);
+             yc = 0.5 * (y0 + y1) + sfactor * (x1 - x0);
+             th0 = Math.atan2(y0 - yc, x0 - xc);
+             th1 = Math.atan2(y1 - yc, x1 - xc);
+             th_arc = th1 - th0;
+             if (th_arc < 0 && sweep === 1) {
+               th_arc += 2 * Math.PI;
+             } else if (th_arc > 0 && sweep === 0) {
+               th_arc -= 2 * Math.PI;
+             }
+             segments = Math.ceil(Math.abs(th_arc / (Math.PI * 0.5 + 0.001)));
+             result = [];
+             for (i = _i = 0; 0 <= segments ? _i < segments : _i > segments; i = 0 <= segments ? ++_i : --_i) {
+               th2 = th0 + i * th_arc / segments;
+               th3 = th0 + (i + 1) * th_arc / segments;
+               result[i] = [xc, yc, th2, th3, rx, ry, sin_th, cos_th];
+             }
+             return result;
+           };
+
+           segmentToBezier = function(cx, cy, th0, th1, rx, ry, sin_th, cos_th) {
+             var a00, a01, a10, a11, t, th_half, x1, x2, x3, y1, y2, y3;
+             a00 = cos_th * rx;
+             a01 = -sin_th * ry;
+             a10 = sin_th * rx;
+             a11 = cos_th * ry;
+             th_half = 0.5 * (th1 - th0);
+             t = (8 / 3) * Math.sin(th_half * 0.5) * Math.sin(th_half * 0.5) / Math.sin(th_half);
+             x1 = cx + Math.cos(th0) - t * Math.sin(th0);
+             y1 = cy + Math.sin(th0) + t * Math.cos(th0);
+             x3 = cx + Math.cos(th1);
+             y3 = cy + Math.sin(th1);
+             x2 = x3 + t * Math.sin(th1);
+             y2 = y3 - t * Math.cos(th1);
+             return [a00 * x1 + a01 * y1, a10 * x1 + a11 * y1, a00 * x2 + a01 * y2, a10 * x2 + a11 * y2, a00 * x3 + a01 * y3, a10 * x3 + a11 * y3];
+           };
+
+           return SVGPath;
+
+         })();
+
+         module.exports = SVGPath;
+
+       }).call(this);
+
+
+/***/ },
+/* 69 */
+/***/ function(module, exports, __webpack_require__) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         var PDFFont;
+
+         PDFFont = __webpack_require__(70);
+
+         module.exports = {
+           initFonts: function() {
+             this._fontFamilies = {};
+             this._fontCount = 0;
+             this._fontSize = 12;
+             this._font = null;
+             this._registeredFonts = {};
+             
+           },
+           font: function(src, family, size) {
+             var cacheKey, font, id, _ref;
+             if (typeof family === 'number') {
+               size = family;
+               family = null;
+             }
+             if (typeof src === 'string' && this._registeredFonts[src]) {
+               cacheKey = src;
+               _ref = this._registeredFonts[src], src = _ref.src, family = _ref.family;
+             } else {
+               cacheKey = family || src;
+               if (typeof cacheKey !== 'string') {
+                 cacheKey = null;
+               }
+             }
+             if (size != null) {
+               this.fontSize(size);
+             }
+             if (font = this._fontFamilies[cacheKey]) {
+               this._font = font;
+               return this;
+             }
+             id = 'F' + (++this._fontCount);
+             this._font = new PDFFont(this, src, family, id);
+             if (font = this._fontFamilies[this._font.name]) {
+               this._font = font;
+               return this;
+             }
+             if (cacheKey) {
+               this._fontFamilies[cacheKey] = this._font;
+             }
+             this._fontFamilies[this._font.name] = this._font;
+             return this;
+           },
+           fontSize: function(_fontSize) {
+             this._fontSize = _fontSize;
+             return this;
+           },
+           currentLineHeight: function(includeGap) {
+             if (includeGap == null) {
+               includeGap = false;
+             }
+             return this._font.lineHeight(this._fontSize, includeGap);
+           },
+           registerFont: function(name, src, family) {
+             this._registeredFonts[name] = {
+               src: src,
+               family: family
+             };
+             return this;
+           }
+         };
+
+       }).call(this);
+
+
+/***/ },
+/* 70 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* WEBPACK VAR INJECTION */(function(Buffer, __dirname) {// Generated by CoffeeScript 1.7.1
+
+       /*
+       PDFFont - embeds fonts in PDF documents
+       By Devon Govett
+        */
+
+       (function() {
+         var AFMFont, PDFFont, Subset, TTFFont, fs;
+
+         TTFFont = __webpack_require__(71);
+
+         AFMFont = __webpack_require__(87);
+
+         Subset = __webpack_require__(88);
+
+         fs = __webpack_require__(44);
+
+         PDFFont = (function() {
+           var STANDARD_FONTS, toUnicodeCmap;
+
+           function PDFFont(document, src, family, id) {
+             this.document = document;
+             this.id = id;
+             if (typeof src === 'string') {
+               if (src in STANDARD_FONTS) {
+                 this.isAFM = true;
+                 this.font = new AFMFont(STANDARD_FONTS[src]());
+                 this.registerAFM(src);
+                 return;
+               } else if (/\.(ttf|ttc)$/i.test(src)) {
+                 this.font = TTFFont.open(src, family);
+               } else if (/\.dfont$/i.test(src)) {
+                 this.font = TTFFont.fromDFont(src, family);
+               } else {
+                 throw new Error('Not a supported font format or standard PDF font.');
+               }
+             } else if (Buffer.isBuffer(src)) {
+               this.font = TTFFont.fromBuffer(src, family);
+             } else if (src instanceof Uint8Array) {
+               this.font = TTFFont.fromBuffer(new Buffer(src), family);
+             } else if (src instanceof ArrayBuffer) {
+               this.font = TTFFont.fromBuffer(new Buffer(new Uint8Array(src)), family);
+             } else {
+               throw new Error('Not a supported font format or standard PDF font.');
+             }
+             this.subset = new Subset(this.font);
+             this.registerTTF();
+           }
+
+           STANDARD_FONTS = {
+             "Courier": function() {
+               return fs.readFileSync(__dirname + "/font/data/Courier.afm", 'utf8');
+             },
+             "Courier-Bold": function() {
+               return fs.readFileSync(__dirname + "/font/data/Courier-Bold.afm", 'utf8');
+             },
+             "Courier-Oblique": function() {
+               return fs.readFileSync(__dirname + "/font/data/Courier-Oblique.afm", 'utf8');
+             },
+             "Courier-BoldOblique": function() {
+               return fs.readFileSync(__dirname + "/font/data/Courier-BoldOblique.afm", 'utf8');
+             },
+             "Helvetica": function() {
+               return fs.readFileSync(__dirname + "/font/data/Helvetica.afm", 'utf8');
+             },
+             "Helvetica-Bold": function() {
+               return fs.readFileSync(__dirname + "/font/data/Helvetica-Bold.afm", 'utf8');
+             },
+             "Helvetica-Oblique": function() {
+               return fs.readFileSync(__dirname + "/font/data/Helvetica-Oblique.afm", 'utf8');
+             },
+             "Helvetica-BoldOblique": function() {
+               return fs.readFileSync(__dirname + "/font/data/Helvetica-BoldOblique.afm", 'utf8');
+             },
+             "Times-Roman": function() {
+               return fs.readFileSync(__dirname + "/font/data/Times-Roman.afm", 'utf8');
+             },
+             "Times-Bold": function() {
+               return fs.readFileSync(__dirname + "/font/data/Times-Bold.afm", 'utf8');
+             },
+             "Times-Italic": function() {
+               return fs.readFileSync(__dirname + "/font/data/Times-Italic.afm", 'utf8');
+             },
+             "Times-BoldItalic": function() {
+               return fs.readFileSync(__dirname + "/font/data/Times-BoldItalic.afm", 'utf8');
+             },
+             "Symbol": function() {
+               return fs.readFileSync(__dirname + "/font/data/Symbol.afm", 'utf8');
+             },
+             "ZapfDingbats": function() {
+               return fs.readFileSync(__dirname + "/font/data/ZapfDingbats.afm", 'utf8');
+             }
+           };
+
+           PDFFont.prototype.use = function(characters) {
+             var _ref;
+             return (_ref = this.subset) != null ? _ref.use(characters) : void 0;
+           };
+
+           PDFFont.prototype.embed = function() {
+             if (this.embedded || (this.dictionary == null)) {
+               return;
+             }
+             if (this.isAFM) {
+               this.embedAFM();
+             } else {
+               this.embedTTF();
+             }
+             return this.embedded = true;
+           };
+
+           PDFFont.prototype.encode = function(text) {
+             var _ref;
+             if (this.isAFM) {
+               return this.font.encodeText(text);
+             } else {
+               return ((_ref = this.subset) != null ? _ref.encodeText(text) : void 0) || text;
+             }
+           };
+
+           PDFFont.prototype.ref = function() {
+             return this.dictionary != null ? this.dictionary : this.dictionary = this.document.ref();
+           };
+
+           PDFFont.prototype.registerTTF = function() {
+             var e, hi, low, raw, _ref;
+             this.name = this.font.name.postscriptName;
+             this.scaleFactor = 1000.0 / this.font.head.unitsPerEm;
+             this.bbox = (function() {
+               var _i, _len, _ref, _results;
+               _ref = this.font.bbox;
+               _results = [];
+               for (_i = 0, _len = _ref.length; _i < _len; _i++) {
+                 e = _ref[_i];
+                 _results.push(Math.round(e * this.scaleFactor));
+               }
+               return _results;
+             }).call(this);
+             this.stemV = 0;
+             if (this.font.post.exists) {
+               raw = this.font.post.italic_angle;
+               hi = raw >> 16;
+               low = raw & 0xFF;
+               if (hi & 0x8000 !== 0) {
+                 hi = -((hi ^ 0xFFFF) + 1);
+               }
+               this.italicAngle = +("" + hi + "." + low);
+             } else {
+               this.italicAngle = 0;
+             }
+             this.ascender = Math.round(this.font.ascender * this.scaleFactor);
+             this.decender = Math.round(this.font.decender * this.scaleFactor);
+             this.lineGap = Math.round(this.font.lineGap * this.scaleFactor);
+             this.capHeight = (this.font.os2.exists && this.font.os2.capHeight) || this.ascender;
+             this.xHeight = (this.font.os2.exists && this.font.os2.xHeight) || 0;
+             this.familyClass = (this.font.os2.exists && this.font.os2.familyClass || 0) >> 8;
+             this.isSerif = (_ref = this.familyClass) === 1 || _ref === 2 || _ref === 3 || _ref === 4 || _ref === 5 || _ref === 7;
+             this.isScript = this.familyClass === 10;
+             this.flags = 0;
+             if (this.font.post.isFixedPitch) {
+               this.flags |= 1 << 0;
+             }
+             if (this.isSerif) {
+               this.flags |= 1 << 1;
+             }
+             if (this.isScript) {
+               this.flags |= 1 << 3;
+             }
+             if (this.italicAngle !== 0) {
+               this.flags |= 1 << 6;
+             }
+             this.flags |= 1 << 5;
+             if (!this.font.cmap.unicode) {
+               throw new Error('No unicode cmap for font');
+             }
+           };
+
+           PDFFont.prototype.embedTTF = function() {
+             var charWidths, cmap, code, data, descriptor, firstChar, fontfile, glyph;
+             data = this.subset.encode();
+             fontfile = this.document.ref();
+             fontfile.write(data);
+             fontfile.data.Length1 = fontfile.uncompressedLength;
+             fontfile.end();
+             descriptor = this.document.ref({
+               Type: 'FontDescriptor',
+               FontName: this.subset.postscriptName,
+               FontFile2: fontfile,
+               FontBBox: this.bbox,
+               Flags: this.flags,
+               StemV: this.stemV,
+               ItalicAngle: this.italicAngle,
+               Ascent: this.ascender,
+               Descent: this.decender,
+               CapHeight: this.capHeight,
+               XHeight: this.xHeight
+             });
+             descriptor.end();
+             firstChar = +Object.keys(this.subset.cmap)[0];
+             charWidths = (function() {
+               var _ref, _results;
+               _ref = this.subset.cmap;
+               _results = [];
+               for (code in _ref) {
+                 glyph = _ref[code];
+                 _results.push(Math.round(this.font.widthOfGlyph(glyph)));
+               }
+               return _results;
+             }).call(this);
+             cmap = this.document.ref();
+             cmap.end(toUnicodeCmap(this.subset.subset));
+             this.dictionary.data = {
+               Type: 'Font',
+               BaseFont: this.subset.postscriptName,
+               Subtype: 'TrueType',
+               FontDescriptor: descriptor,
+               FirstChar: firstChar,
+               LastChar: firstChar + charWidths.length - 1,
+               Widths: charWidths,
+               Encoding: 'MacRomanEncoding',
+               ToUnicode: cmap
+             };
+             return this.dictionary.end();
+           };
+
+           toUnicodeCmap = function(map) {
+             var code, codes, range, unicode, unicodeMap, _i, _len;
+             unicodeMap = '/CIDInit /ProcSet findresource begin\n12 dict begin\nbegincmap\n/CIDSystemInfo <<\n  /Registry (Adobe)\n  /Ordering (UCS)\n  /Supplement 0\n>> def\n/CMapName /Adobe-Identity-UCS def\n/CMapType 2 def\n1 begincodespacerange\n<00><ff>\nendcodespacerange';
+             codes = Object.keys(map).sort(function(a, b) {
+               return a - b;
+             });
+             range = [];
+             for (_i = 0, _len = codes.length; _i < _len; _i++) {
+               code = codes[_i];
+               if (range.length >= 100) {
+                 unicodeMap += "\n" + range.length + " beginbfchar\n" + (range.join('\n')) + "\nendbfchar";
+                 range = [];
+               }
+               unicode = ('0000' + map[code].toString(16)).slice(-4);
+               code = (+code).toString(16);
+               range.push("<" + code + "><" + unicode + ">");
+             }
+             if (range.length) {
+               unicodeMap += "\n" + range.length + " beginbfchar\n" + (range.join('\n')) + "\nendbfchar\n";
+             }
+             return unicodeMap += 'endcmap\nCMapName currentdict /CMap defineresource pop\nend\nend';
+           };
+
+           PDFFont.prototype.registerAFM = function(name) {
+             var _ref;
+             this.name = name;
+             return _ref = this.font, this.ascender = _ref.ascender, this.decender = _ref.decender, this.bbox = _ref.bbox, this.lineGap = _ref.lineGap, _ref;
+           };
+
+           PDFFont.prototype.embedAFM = function() {
+             this.dictionary.data = {
+               Type: 'Font',
+               BaseFont: this.name,
+               Subtype: 'Type1',
+               Encoding: 'WinAnsiEncoding'
+             };
+             return this.dictionary.end();
+           };
+
+           PDFFont.prototype.widthOfString = function(string, size) {
+             var charCode, i, scale, width, _i, _ref;
+             string = '' + string;
+             width = 0;
+             for (i = _i = 0, _ref = string.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {
+               charCode = string.charCodeAt(i);
+               width += this.font.widthOfGlyph(this.font.characterToGlyph(charCode)) || 0;
+             }
+             scale = size / 1000;
+             return width * scale;
+           };
+
+           PDFFont.prototype.lineHeight = function(size, includeGap) {
+             var gap;
+             if (includeGap == null) {
+               includeGap = false;
+             }
+             gap = includeGap ? this.lineGap : 0;
+             return (this.ascender + gap - this.decender) / 1000 * size;
+           };
+
+           return PDFFont;
+
+         })();
+
+         module.exports = PDFFont;
+
+       }).call(this);
+
+       /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2).Buffer, "/"))
+
+/***/ },
+/* 71 */
+/***/ function(module, exports, __webpack_require__) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         var CmapTable, DFont, Data, Directory, GlyfTable, HeadTable, HheaTable, HmtxTable, LocaTable, MaxpTable, NameTable, OS2Table, PostTable, TTFFont, fs;
+
+         fs = __webpack_require__(44);
+
+         Data = __webpack_require__(72);
+
+         DFont = __webpack_require__(73);
+
+         Directory = __webpack_require__(74);
+
+         NameTable = __webpack_require__(75);
+
+         HeadTable = __webpack_require__(78);
+
+         CmapTable = __webpack_require__(79);
+
+         HmtxTable = __webpack_require__(80);
+
+         HheaTable = __webpack_require__(81);
+
+         MaxpTable = __webpack_require__(82);
+
+         PostTable = __webpack_require__(83);
+
+         OS2Table = __webpack_require__(84);
+
+         LocaTable = __webpack_require__(85);
+
+         GlyfTable = __webpack_require__(86);
+
+         TTFFont = (function() {
+           TTFFont.open = function(filename, name) {
+             var contents;
+             contents = fs.readFileSync(filename);
+             return new TTFFont(contents, name);
+           };
+
+           TTFFont.fromDFont = function(filename, family) {
+             var dfont;
+             dfont = DFont.open(filename);
+             return new TTFFont(dfont.getNamedFont(family));
+           };
+
+           TTFFont.fromBuffer = function(buffer, family) {
+             var dfont, e, ttf;
+             try {
+               ttf = new TTFFont(buffer, family);
+               if (!(ttf.head.exists && ttf.name.exists && ttf.cmap.exists)) {
+                 dfont = new DFont(buffer);
+                 ttf = new TTFFont(dfont.getNamedFont(family));
+                 if (!(ttf.head.exists && ttf.name.exists && ttf.cmap.exists)) {
+                   throw new Error('Invalid TTF file in DFont');
+                 }
+               }
+               return ttf;
+             } catch (_error) {
+               e = _error;
+               throw new Error('Unknown font format in buffer: ' + e.message);
+             }
+           };
+
+           function TTFFont(rawData, name) {
+             var data, i, numFonts, offset, offsets, version, _i, _j, _len;
+             this.rawData = rawData;
+             data = this.contents = new Data(this.rawData);
+             if (data.readString(4) === 'ttcf') {
+               if (!name) {
+                 throw new Error("Must specify a font name for TTC files.");
+               }
+               version = data.readInt();
+               numFonts = data.readInt();
+               offsets = [];
+               for (i = _i = 0; 0 <= numFonts ? _i < numFonts : _i > numFonts; i = 0 <= numFonts ? ++_i : --_i) {
+                 offsets[i] = data.readInt();
+               }
+               for (i = _j = 0, _len = offsets.length; _j < _len; i = ++_j) {
+                 offset = offsets[i];
+                 data.pos = offset;
+                 this.parse();
+                 if (this.name.postscriptName === name) {
+                   return;
+                 }
+               }
+               throw new Error("Font " + name + " not found in TTC file.");
+             } else {
+               data.pos = 0;
+               this.parse();
+             }
+           }
+
+           TTFFont.prototype.parse = function() {
+             this.directory = new Directory(this.contents);
+             this.head = new HeadTable(this);
+             this.name = new NameTable(this);
+             this.cmap = new CmapTable(this);
+             this.hhea = new HheaTable(this);
+             this.maxp = new MaxpTable(this);
+             this.hmtx = new HmtxTable(this);
+             this.post = new PostTable(this);
+             this.os2 = new OS2Table(this);
+             this.loca = new LocaTable(this);
+             this.glyf = new GlyfTable(this);
+             this.ascender = (this.os2.exists && this.os2.ascender) || this.hhea.ascender;
+             this.decender = (this.os2.exists && this.os2.decender) || this.hhea.decender;
+             this.lineGap = (this.os2.exists && this.os2.lineGap) || this.hhea.lineGap;
+             return this.bbox = [this.head.xMin, this.head.yMin, this.head.xMax, this.head.yMax];
+           };
+
+           TTFFont.prototype.characterToGlyph = function(character) {
+             var _ref;
+             return ((_ref = this.cmap.unicode) != null ? _ref.codeMap[character] : void 0) || 0;
+           };
+
+           TTFFont.prototype.widthOfGlyph = function(glyph) {
+             var scale;
+             scale = 1000.0 / this.head.unitsPerEm;
+             return this.hmtx.forGlyph(glyph).advance * scale;
+           };
+
+           return TTFFont;
+
+         })();
+
+         module.exports = TTFFont;
+
+       }).call(this);
+
+
+/***/ },
+/* 72 */
+/***/ function(module, exports) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         var Data;
+
+         Data = (function() {
+           function Data(data) {
+             this.data = data != null ? data : [];
+             this.pos = 0;
+             this.length = this.data.length;
+           }
+
+           Data.prototype.readByte = function() {
+             return this.data[this.pos++];
+           };
+
+           Data.prototype.writeByte = function(byte) {
+             return this.data[this.pos++] = byte;
+           };
+
+           Data.prototype.byteAt = function(index) {
+             return this.data[index];
+           };
+
+           Data.prototype.readBool = function() {
+             return !!this.readByte();
+           };
+
+           Data.prototype.writeBool = function(val) {
+             return this.writeByte(val ? 1 : 0);
+           };
+
+           Data.prototype.readUInt32 = function() {
+             var b1, b2, b3, b4;
+             b1 = this.readByte() * 0x1000000;
+             b2 = this.readByte() << 16;
+             b3 = this.readByte() << 8;
+             b4 = this.readByte();
+             return b1 + b2 + b3 + b4;
+           };
+
+           Data.prototype.writeUInt32 = function(val) {
+             this.writeByte((val >>> 24) & 0xff);
+             this.writeByte((val >> 16) & 0xff);
+             this.writeByte((val >> 8) & 0xff);
+             return this.writeByte(val & 0xff);
+           };
+
+           Data.prototype.readInt32 = function() {
+             var int;
+             int = this.readUInt32();
+             if (int >= 0x80000000) {
+               return int - 0x100000000;
+             } else {
+               return int;
+             }
+           };
+
+           Data.prototype.writeInt32 = function(val) {
+             if (val < 0) {
+               val += 0x100000000;
+             }
+             return this.writeUInt32(val);
+           };
+
+           Data.prototype.readUInt16 = function() {
+             var b1, b2;
+             b1 = this.readByte() << 8;
+             b2 = this.readByte();
+             return b1 | b2;
+           };
+
+           Data.prototype.writeUInt16 = function(val) {
+             this.writeByte((val >> 8) & 0xff);
+             return this.writeByte(val & 0xff);
+           };
+
+           Data.prototype.readInt16 = function() {
+             var int;
+             int = this.readUInt16();
+             if (int >= 0x8000) {
+               return int - 0x10000;
+             } else {
+               return int;
+             }
+           };
+
+           Data.prototype.writeInt16 = function(val) {
+             if (val < 0) {
+               val += 0x10000;
+             }
+             return this.writeUInt16(val);
+           };
+
+           Data.prototype.readString = function(length) {
+             var i, ret, _i;
+             ret = [];
+             for (i = _i = 0; 0 <= length ? _i < length : _i > length; i = 0 <= length ? ++_i : --_i) {
+               ret[i] = String.fromCharCode(this.readByte());
+             }
+             return ret.join('');
+           };
+
+           Data.prototype.writeString = function(val) {
+             var i, _i, _ref, _results;
+             _results = [];
+             for (i = _i = 0, _ref = val.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {
+               _results.push(this.writeByte(val.charCodeAt(i)));
+             }
+             return _results;
+           };
+
+           Data.prototype.stringAt = function(pos, length) {
+             this.pos = pos;
+             return this.readString(length);
+           };
+
+           Data.prototype.readShort = function() {
+             return this.readInt16();
+           };
+
+           Data.prototype.writeShort = function(val) {
+             return this.writeInt16(val);
+           };
+
+           Data.prototype.readLongLong = function() {
+             var b1, b2, b3, b4, b5, b6, b7, b8;
+             b1 = this.readByte();
+             b2 = this.readByte();
+             b3 = this.readByte();
+             b4 = this.readByte();
+             b5 = this.readByte();
+             b6 = this.readByte();
+             b7 = this.readByte();
+             b8 = this.readByte();
+             if (b1 & 0x80) {
+               return ((b1 ^ 0xff) * 0x100000000000000 + (b2 ^ 0xff) * 0x1000000000000 + (b3 ^ 0xff) * 0x10000000000 + (b4 ^ 0xff) * 0x100000000 + (b5 ^ 0xff) * 0x1000000 + (b6 ^ 0xff) * 0x10000 + (b7 ^ 0xff) * 0x100 + (b8 ^ 0xff) + 1) * -1;
+             }
+             return b1 * 0x100000000000000 + b2 * 0x1000000000000 + b3 * 0x10000000000 + b4 * 0x100000000 + b5 * 0x1000000 + b6 * 0x10000 + b7 * 0x100 + b8;
+           };
+
+           Data.prototype.writeLongLong = function(val) {
+             var high, low;
+             high = Math.floor(val / 0x100000000);
+             low = val & 0xffffffff;
+             this.writeByte((high >> 24) & 0xff);
+             this.writeByte((high >> 16) & 0xff);
+             this.writeByte((high >> 8) & 0xff);
+             this.writeByte(high & 0xff);
+             this.writeByte((low >> 24) & 0xff);
+             this.writeByte((low >> 16) & 0xff);
+             this.writeByte((low >> 8) & 0xff);
+             return this.writeByte(low & 0xff);
+           };
+
+           Data.prototype.readInt = function() {
+             return this.readInt32();
+           };
+
+           Data.prototype.writeInt = function(val) {
+             return this.writeInt32(val);
+           };
+
+           Data.prototype.slice = function(start, end) {
+             return this.data.slice(start, end);
+           };
+
+           Data.prototype.read = function(bytes) {
+             var buf, i, _i;
+             buf = [];
+             for (i = _i = 0; 0 <= bytes ? _i < bytes : _i > bytes; i = 0 <= bytes ? ++_i : --_i) {
+               buf.push(this.readByte());
+             }
+             return buf;
+           };
+
+           Data.prototype.write = function(bytes) {
+             var byte, _i, _len, _results;
+             _results = [];
+             for (_i = 0, _len = bytes.length; _i < _len; _i++) {
+               byte = bytes[_i];
+               _results.push(this.writeByte(byte));
+             }
+             return _results;
+           };
+
+           return Data;
+
+         })();
+
+         module.exports = Data;
+
+       }).call(this);
+
+
+/***/ },
+/* 73 */
+/***/ function(module, exports, __webpack_require__) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         var DFont, Data, Directory, NameTable, fs;
+
+         fs = __webpack_require__(44);
+
+         Data = __webpack_require__(72);
+
+         Directory = __webpack_require__(74);
+
+         NameTable = __webpack_require__(75);
+
+         DFont = (function() {
+           DFont.open = function(filename) {
+             var contents;
+             contents = fs.readFileSync(filename);
+             return new DFont(contents);
+           };
+
+           function DFont(contents) {
+             this.contents = new Data(contents);
+             this.parse(this.contents);
+           }
+
+           DFont.prototype.parse = function(data) {
+             var attr, b2, b3, b4, dataLength, dataOffset, dataOfs, entry, font, handle, i, id, j, len, length, mapLength, mapOffset, maxIndex, maxTypeIndex, name, nameListOffset, nameOfs, p, pos, refListOffset, type, typeListOffset, _i, _j;
+             dataOffset = data.readInt();
+             mapOffset = data.readInt();
+             dataLength = data.readInt();
+             mapLength = data.readInt();
+             this.map = {};
+             data.pos = mapOffset + 24;
+             typeListOffset = data.readShort() + mapOffset;
+             nameListOffset = data.readShort() + mapOffset;
+             data.pos = typeListOffset;
+             maxIndex = data.readShort();
+             for (i = _i = 0; _i <= maxIndex; i = _i += 1) {
+               type = data.readString(4);
+               maxTypeIndex = data.readShort();
+               refListOffset = data.readShort();
+               this.map[type] = {
+                 list: [],
+                 named: {}
+               };
+               pos = data.pos;
+               data.pos = typeListOffset + refListOffset;
+               for (j = _j = 0; _j <= maxTypeIndex; j = _j += 1) {
+                 id = data.readShort();
+                 nameOfs = data.readShort();
+                 attr = data.readByte();
+                 b2 = data.readByte() << 16;
+                 b3 = data.readByte() << 8;
+                 b4 = data.readByte();
+                 dataOfs = dataOffset + (0 | b2 | b3 | b4);
+                 handle = data.readUInt32();
+                 entry = {
+                   id: id,
+                   attributes: attr,
+                   offset: dataOfs,
+                   handle: handle
+                 };
+                 p = data.pos;
+                 if (nameOfs !== -1 && (nameListOffset + nameOfs < mapOffset + mapLength)) {
+                   data.pos = nameListOffset + nameOfs;
+                   len = data.readByte();
+                   entry.name = data.readString(len);
+                 } else if (type === 'sfnt') {
+                   data.pos = entry.offset;
+                   length = data.readUInt32();
+                   font = {};
+                   font.contents = new Data(data.slice(data.pos, data.pos + length));
+                   font.directory = new Directory(font.contents);
+                   name = new NameTable(font);
+                   entry.name = name.fontName[0].raw;
+                 }
+                 data.pos = p;
+                 this.map[type].list.push(entry);
+                 if (entry.name) {
+                   this.map[type].named[entry.name] = entry;
+                 }
+               }
+               data.pos = pos;
+             }
+           };
+
+           DFont.prototype.getNamedFont = function(name) {
+             var data, entry, length, pos, ret, _ref;
+             data = this.contents;
+             pos = data.pos;
+             entry = (_ref = this.map.sfnt) != null ? _ref.named[name] : void 0;
+             if (!entry) {
+               throw new Error("Font " + name + " not found in DFont file.");
+             }
+             data.pos = entry.offset;
+             length = data.readUInt32();
+             ret = data.slice(data.pos, data.pos + length);
+             data.pos = pos;
+             return ret;
+           };
+
+           return DFont;
+
+         })();
+
+         module.exports = DFont;
+
+       }).call(this);
+
+
+/***/ },
+/* 74 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* WEBPACK VAR INJECTION */(function(Buffer) {// Generated by CoffeeScript 1.7.1
+       (function() {
+         var Data, Directory,
+           __slice = [].slice;
+
+         Data = __webpack_require__(72);
+
+         Directory = (function() {
+           var checksum;
+
+           function Directory(data) {
+             var entry, i, _i, _ref;
+             this.scalarType = data.readInt();
+             this.tableCount = data.readShort();
+             this.searchRange = data.readShort();
+             this.entrySelector = data.readShort();
+             this.rangeShift = data.readShort();
+             this.tables = {};
+             for (i = _i = 0, _ref = this.tableCount; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {
+               entry = {
+                 tag: data.readString(4),
+                 checksum: data.readInt(),
+                 offset: data.readInt(),
+                 length: data.readInt()
+               };
+               this.tables[entry.tag] = entry;
+             }
+           }
+
+           Directory.prototype.encode = function(tables) {
+             var adjustment, directory, directoryLength, entrySelector, headOffset, log2, offset, rangeShift, searchRange, sum, table, tableCount, tableData, tag;
+             tableCount = Object.keys(tables).length;
+             log2 = Math.log(2);
+             searchRange = Math.floor(Math.log(tableCount) / log2) * 16;
+             entrySelector = Math.floor(searchRange / log2);
+             rangeShift = tableCount * 16 - searchRange;
+             directory = new Data;
+             directory.writeInt(this.scalarType);
+             directory.writeShort(tableCount);
+             directory.writeShort(searchRange);
+             directory.writeShort(entrySelector);
+             directory.writeShort(rangeShift);
+             directoryLength = tableCount * 16;
+             offset = directory.pos + directoryLength;
+             headOffset = null;
+             tableData = [];
+             for (tag in tables) {
+               table = tables[tag];
+               directory.writeString(tag);
+               directory.writeInt(checksum(table));
+               directory.writeInt(offset);
+               directory.writeInt(table.length);
+               tableData = tableData.concat(table);
+               if (tag === 'head') {
+                 headOffset = offset;
+               }
+               offset += table.length;
+               while (offset % 4) {
+                 tableData.push(0);
+                 offset++;
+               }
+             }
+             directory.write(tableData);
+             sum = checksum(directory.data);
+             adjustment = 0xB1B0AFBA - sum;
+             directory.pos = headOffset + 8;
+             directory.writeUInt32(adjustment);
+             return new Buffer(directory.data);
+           };
+
+           checksum = function(data) {
+             var i, sum, tmp, _i, _ref;
+             data = __slice.call(data);
+             while (data.length % 4) {
+               data.push(0);
+             }
+             tmp = new Data(data);
+             sum = 0;
+             for (i = _i = 0, _ref = data.length; _i < _ref; i = _i += 4) {
+               sum += tmp.readUInt32();
+             }
+             return sum & 0xFFFFFFFF;
+           };
+
+           return Directory;
+
+         })();
+
+         module.exports = Directory;
+
+       }).call(this);
+
+       /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2).Buffer))
+
+/***/ },
+/* 75 */
+/***/ function(module, exports, __webpack_require__) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         var Data, NameEntry, NameTable, Table, utils,
+           __hasProp = {}.hasOwnProperty,
+           __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
+
+         Table = __webpack_require__(76);
+
+         Data = __webpack_require__(72);
+
+         utils = __webpack_require__(77);
+
+         NameTable = (function(_super) {
+           var subsetTag;
+
+           __extends(NameTable, _super);
+
+           function NameTable() {
+             return NameTable.__super__.constructor.apply(this, arguments);
+           }
+
+           NameTable.prototype.tag = 'name';
+
+           NameTable.prototype.parse = function(data) {
+             var count, entries, entry, format, i, name, stringOffset, strings, text, _i, _j, _len, _name;
+             data.pos = this.offset;
+             format = data.readShort();
+             count = data.readShort();
+             stringOffset = data.readShort();
+             entries = [];
+             for (i = _i = 0; 0 <= count ? _i < count : _i > count; i = 0 <= count ? ++_i : --_i) {
+               entries.push({
+                 platformID: data.readShort(),
+                 encodingID: data.readShort(),
+                 languageID: data.readShort(),
+                 nameID: data.readShort(),
+                 length: data.readShort(),
+                 offset: this.offset + stringOffset + data.readShort()
+               });
+             }
+             strings = {};
+             for (i = _j = 0, _len = entries.length; _j < _len; i = ++_j) {
+               entry = entries[i];
+               data.pos = entry.offset;
+               text = data.readString(entry.length);
+               name = new NameEntry(text, entry);
+               if (strings[_name = entry.nameID] == null) {
+                 strings[_name] = [];
+               }
+               strings[entry.nameID].push(name);
+             }
+             this.strings = strings;
+             this.copyright = strings[0];
+             this.fontFamily = strings[1];
+             this.fontSubfamily = strings[2];
+             this.uniqueSubfamily = strings[3];
+             this.fontName = strings[4];
+             this.version = strings[5];
+             this.postscriptName = strings[6][0].raw.replace(/[\x00-\x19\x80-\xff]/g, "");
+             this.trademark = strings[7];
+             this.manufacturer = strings[8];
+             this.designer = strings[9];
+             this.description = strings[10];
+             this.vendorUrl = strings[11];
+             this.designerUrl = strings[12];
+             this.license = strings[13];
+             this.licenseUrl = strings[14];
+             this.preferredFamily = strings[15];
+             this.preferredSubfamily = strings[17];
+             this.compatibleFull = strings[18];
+             return this.sampleText = strings[19];
+           };
+
+           subsetTag = "AAAAAA";
+
+           NameTable.prototype.encode = function() {
+             var id, list, nameID, nameTable, postscriptName, strCount, strTable, string, strings, table, val, _i, _len, _ref;
+             strings = {};
+             _ref = this.strings;
+             for (id in _ref) {
+               val = _ref[id];
+               strings[id] = val;
+             }
+             postscriptName = new NameEntry("" + subsetTag + "+" + this.postscriptName, {
+               platformID: 1,
+               encodingID: 0,
+               languageID: 0
+             });
+             strings[6] = [postscriptName];
+             subsetTag = utils.successorOf(subsetTag);
+             strCount = 0;
+             for (id in strings) {
+               list = strings[id];
+               if (list != null) {
+                 strCount += list.length;
+               }
+             }
+             table = new Data;
+             strTable = new Data;
+             table.writeShort(0);
+             table.writeShort(strCount);
+             table.writeShort(6 + 12 * strCount);
+             for (nameID in strings) {
+               list = strings[nameID];
+               if (list != null) {
+                 for (_i = 0, _len = list.length; _i < _len; _i++) {
+                   string = list[_i];
+                   table.writeShort(string.platformID);
+                   table.writeShort(string.encodingID);
+                   table.writeShort(string.languageID);
+                   table.writeShort(nameID);
+                   table.writeShort(string.length);
+                   table.writeShort(strTable.pos);
+                   strTable.writeString(string.raw);
+                 }
+               }
+             }
+             return nameTable = {
+               postscriptName: postscriptName.raw,
+               table: table.data.concat(strTable.data)
+             };
+           };
+
+           return NameTable;
+
+         })(Table);
+
+         module.exports = NameTable;
+
+         NameEntry = (function() {
+           function NameEntry(raw, entry) {
+             this.raw = raw;
+             this.length = this.raw.length;
+             this.platformID = entry.platformID;
+             this.encodingID = entry.encodingID;
+             this.languageID = entry.languageID;
+           }
+
+           return NameEntry;
+
+         })();
+
+       }).call(this);
+
+
+/***/ },
+/* 76 */
+/***/ function(module, exports) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         var Table;
+
+         Table = (function() {
+           function Table(file) {
+             var info;
+             this.file = file;
+             info = this.file.directory.tables[this.tag];
+             this.exists = !!info;
+             if (info) {
+               this.offset = info.offset, this.length = info.length;
+               this.parse(this.file.contents);
+             }
+           }
+
+           Table.prototype.parse = function() {};
+
+           Table.prototype.encode = function() {};
+
+           Table.prototype.raw = function() {
+             if (!this.exists) {
+               return null;
+             }
+             this.file.contents.pos = this.offset;
+             return this.file.contents.read(this.length);
+           };
+
+           return Table;
+
+         })();
+
+         module.exports = Table;
+
+       }).call(this);
+
+
+/***/ },
+/* 77 */
+/***/ function(module, exports) {
+
+       // Generated by CoffeeScript 1.7.1
+
+       /*
+        * An implementation of Ruby's string.succ method.
+        * By Devon Govett
+        *
+        * Returns the successor to str. The successor is calculated by incrementing characters starting 
+        * from the rightmost alphanumeric (or the rightmost character if there are no alphanumerics) in the
+        * string. Incrementing a digit always results in another digit, and incrementing a letter results in
+        * another letter of the same case.
+        *
+        * If the increment generates a carry, the character to the left of it is incremented. This 
+        * process repeats until there is no carry, adding an additional character if necessary.
+        *
+        * succ("abcd")      == "abce"
+        * succ("THX1138")   == "THX1139"
+        * succ("<<koala>>") == "<<koalb>>"
+        * succ("1999zzz")   == "2000aaa"
+        * succ("ZZZ9999")   == "AAAA0000"
+        */
+
+       (function() {
+         exports.successorOf = function(input) {
+           var added, alphabet, carry, i, index, isUpperCase, last, length, next, result;
+           alphabet = 'abcdefghijklmnopqrstuvwxyz';
+           length = alphabet.length;
+           result = input;
+           i = input.length;
+           while (i >= 0) {
+             last = input.charAt(--i);
+             if (isNaN(last)) {
+               index = alphabet.indexOf(last.toLowerCase());
+               if (index === -1) {
+                 next = last;
+                 carry = true;
+               } else {
+                 next = alphabet.charAt((index + 1) % length);
+                 isUpperCase = last === last.toUpperCase();
+                 if (isUpperCase) {
+                   next = next.toUpperCase();
+                 }
+                 carry = index + 1 >= length;
+                 if (carry && i === 0) {
+                   added = isUpperCase ? 'A' : 'a';
+                   result = added + next + result.slice(1);
+                   break;
+                 }
+               }
+             } else {
+               next = +last + 1;
+               carry = next > 9;
+               if (carry) {
+                 next = 0;
+               }
+               if (carry && i === 0) {
+                 result = '1' + next + result.slice(1);
+                 break;
+               }
+             }
+             result = result.slice(0, i) + next + result.slice(i + 1);
+             if (!carry) {
+               break;
+             }
+           }
+           return result;
+         };
+
+         exports.invert = function(object) {
+           var key, ret, val;
+           ret = {};
+           for (key in object) {
+             val = object[key];
+             ret[val] = key;
+           }
+           return ret;
+         };
+
+       }).call(this);
+
+
+/***/ },
+/* 78 */
+/***/ function(module, exports, __webpack_require__) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         var Data, HeadTable, Table,
+           __hasProp = {}.hasOwnProperty,
+           __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
+
+         Table = __webpack_require__(76);
+
+         Data = __webpack_require__(72);
+
+         HeadTable = (function(_super) {
+           __extends(HeadTable, _super);
+
+           function HeadTable() {
+             return HeadTable.__super__.constructor.apply(this, arguments);
+           }
+
+           HeadTable.prototype.tag = 'head';
+
+           HeadTable.prototype.parse = function(data) {
+             data.pos = this.offset;
+             this.version = data.readInt();
+             this.revision = data.readInt();
+             this.checkSumAdjustment = data.readInt();
+             this.magicNumber = data.readInt();
+             this.flags = data.readShort();
+             this.unitsPerEm = data.readShort();
+             this.created = data.readLongLong();
+             this.modified = data.readLongLong();
+             this.xMin = data.readShort();
+             this.yMin = data.readShort();
+             this.xMax = data.readShort();
+             this.yMax = data.readShort();
+             this.macStyle = data.readShort();
+             this.lowestRecPPEM = data.readShort();
+             this.fontDirectionHint = data.readShort();
+             this.indexToLocFormat = data.readShort();
+             return this.glyphDataFormat = data.readShort();
+           };
+
+           HeadTable.prototype.encode = function(loca) {
+             var table;
+             table = new Data;
+             table.writeInt(this.version);
+             table.writeInt(this.revision);
+             table.writeInt(this.checkSumAdjustment);
+             table.writeInt(this.magicNumber);
+             table.writeShort(this.flags);
+             table.writeShort(this.unitsPerEm);
+             table.writeLongLong(this.created);
+             table.writeLongLong(this.modified);
+             table.writeShort(this.xMin);
+             table.writeShort(this.yMin);
+             table.writeShort(this.xMax);
+             table.writeShort(this.yMax);
+             table.writeShort(this.macStyle);
+             table.writeShort(this.lowestRecPPEM);
+             table.writeShort(this.fontDirectionHint);
+             table.writeShort(loca.type);
+             table.writeShort(this.glyphDataFormat);
+             return table.data;
+           };
+
+           return HeadTable;
+
+         })(Table);
+
+         module.exports = HeadTable;
+
+       }).call(this);
+
+
+/***/ },
+/* 79 */
+/***/ function(module, exports, __webpack_require__) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         var CmapEntry, CmapTable, Data, Table,
+           __hasProp = {}.hasOwnProperty,
+           __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
+
+         Table = __webpack_require__(76);
+
+         Data = __webpack_require__(72);
+
+         CmapTable = (function(_super) {
+           __extends(CmapTable, _super);
+
+           function CmapTable() {
+             return CmapTable.__super__.constructor.apply(this, arguments);
+           }
+
+           CmapTable.prototype.tag = 'cmap';
+
+           CmapTable.prototype.parse = function(data) {
+             var entry, i, tableCount, _i;
+             data.pos = this.offset;
+             this.version = data.readUInt16();
+             tableCount = data.readUInt16();
+             this.tables = [];
+             this.unicode = null;
+             for (i = _i = 0; 0 <= tableCount ? _i < tableCount : _i > tableCount; i = 0 <= tableCount ? ++_i : --_i) {
+               entry = new CmapEntry(data, this.offset);
+               this.tables.push(entry);
+               if (entry.isUnicode) {
+                 if (this.unicode == null) {
+                   this.unicode = entry;
+                 }
+               }
+             }
+             return true;
+           };
+
+           CmapTable.encode = function(charmap, encoding) {
+             var result, table;
+             if (encoding == null) {
+               encoding = 'macroman';
+             }
+             result = CmapEntry.encode(charmap, encoding);
+             table = new Data;
+             table.writeUInt16(0);
+             table.writeUInt16(1);
+             result.table = table.data.concat(result.subtable);
+             return result;
+           };
+
+           return CmapTable;
+
+         })(Table);
+
+         CmapEntry = (function() {
+           function CmapEntry(data, offset) {
+             var code, count, endCode, glyphId, glyphIds, i, idDelta, idRangeOffset, index, saveOffset, segCount, segCountX2, start, startCode, tail, _i, _j, _k, _len;
+             this.platformID = data.readUInt16();
+             this.encodingID = data.readShort();
+             this.offset = offset + data.readInt();
+             saveOffset = data.pos;
+             data.pos = this.offset;
+             this.format = data.readUInt16();
+             this.length = data.readUInt16();
+             this.language = data.readUInt16();
+             this.isUnicode = (this.platformID === 3 && this.encodingID === 1 && this.format === 4) || this.platformID === 0 && this.format === 4;
+             this.codeMap = {};
+             switch (this.format) {
+               case 0:
+                 for (i = _i = 0; _i < 256; i = ++_i) {
+                   this.codeMap[i] = data.readByte();
+                 }
+                 break;
+               case 4:
+                 segCountX2 = data.readUInt16();
+                 segCount = segCountX2 / 2;
+                 data.pos += 6;
+                 endCode = (function() {
+                   var _j, _results;
+                   _results = [];
+                   for (i = _j = 0; 0 <= segCount ? _j < segCount : _j > segCount; i = 0 <= segCount ? ++_j : --_j) {
+                     _results.push(data.readUInt16());
+                   }
+                   return _results;
+                 })();
+                 data.pos += 2;
+                 startCode = (function() {
+                   var _j, _results;
+                   _results = [];
+                   for (i = _j = 0; 0 <= segCount ? _j < segCount : _j > segCount; i = 0 <= segCount ? ++_j : --_j) {
+                     _results.push(data.readUInt16());
+                   }
+                   return _results;
+                 })();
+                 idDelta = (function() {
+                   var _j, _results;
+                   _results = [];
+                   for (i = _j = 0; 0 <= segCount ? _j < segCount : _j > segCount; i = 0 <= segCount ? ++_j : --_j) {
+                     _results.push(data.readUInt16());
+                   }
+                   return _results;
+                 })();
+                 idRangeOffset = (function() {
+                   var _j, _results;
+                   _results = [];
+                   for (i = _j = 0; 0 <= segCount ? _j < segCount : _j > segCount; i = 0 <= segCount ? ++_j : --_j) {
+                     _results.push(data.readUInt16());
+                   }
+                   return _results;
+                 })();
+                 count = (this.length - data.pos + this.offset) / 2;
+                 glyphIds = (function() {
+                   var _j, _results;
+                   _results = [];
+                   for (i = _j = 0; 0 <= count ? _j < count : _j > count; i = 0 <= count ? ++_j : --_j) {
+                     _results.push(data.readUInt16());
+                   }
+                   return _results;
+                 })();
+                 for (i = _j = 0, _len = endCode.length; _j < _len; i = ++_j) {
+                   tail = endCode[i];
+                   start = startCode[i];
+                   for (code = _k = start; start <= tail ? _k <= tail : _k >= tail; code = start <= tail ? ++_k : --_k) {
+                     if (idRangeOffset[i] === 0) {
+                       glyphId = code + idDelta[i];
+                     } else {
+                       index = idRangeOffset[i] / 2 + (code - start) - (segCount - i);
+                       glyphId = glyphIds[index] || 0;
+                       if (glyphId !== 0) {
+                         glyphId += idDelta[i];
+                       }
+                     }
+                     this.codeMap[code] = glyphId & 0xFFFF;
+                   }
+                 }
+             }
+             data.pos = saveOffset;
+           }
+
+           CmapEntry.encode = function(charmap, encoding) {
+             var charMap, code, codeMap, codes, delta, deltas, diff, endCode, endCodes, entrySelector, glyphIDs, i, id, indexes, last, map, nextID, offset, old, rangeOffsets, rangeShift, result, searchRange, segCount, segCountX2, startCode, startCodes, startGlyph, subtable, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _len5, _len6, _len7, _m, _n, _name, _o, _p, _q;
+             subtable = new Data;
+             codes = Object.keys(charmap).sort(function(a, b) {
+               return a - b;
+             });
+             switch (encoding) {
+               case 'macroman':
+                 id = 0;
+                 indexes = (function() {
+                   var _i, _results;
+                   _results = [];
+                   for (i = _i = 0; _i < 256; i = ++_i) {
+                     _results.push(0);
+                   }
+                   return _results;
+                 })();
+                 map = {
+                   0: 0
+                 };
+                 codeMap = {};
+                 for (_i = 0, _len = codes.length; _i < _len; _i++) {
+                   code = codes[_i];
+                   if (map[_name = charmap[code]] == null) {
+                     map[_name] = ++id;
+                   }
+                   codeMap[code] = {
+                     old: charmap[code],
+                     "new": map[charmap[code]]
+                   };
+                   indexes[code] = map[charmap[code]];
+                 }
+                 subtable.writeUInt16(1);
+                 subtable.writeUInt16(0);
+                 subtable.writeUInt32(12);
+                 subtable.writeUInt16(0);
+                 subtable.writeUInt16(262);
+                 subtable.writeUInt16(0);
+                 subtable.write(indexes);
+                 return result = {
+                   charMap: codeMap,
+                   subtable: subtable.data,
+                   maxGlyphID: id + 1
+                 };
+               case 'unicode':
+                 startCodes = [];
+                 endCodes = [];
+                 nextID = 0;
+                 map = {};
+                 charMap = {};
+                 last = diff = null;
+                 for (_j = 0, _len1 = codes.length; _j < _len1; _j++) {
+                   code = codes[_j];
+                   old = charmap[code];
+                   if (map[old] == null) {
+                     map[old] = ++nextID;
+                   }
+                   charMap[code] = {
+                     old: old,
+                     "new": map[old]
+                   };
+                   delta = map[old] - code;
+                   if ((last == null) || delta !== diff) {
+                     if (last) {
+                       endCodes.push(last);
+                     }
+                     startCodes.push(code);
+                     diff = delta;
+                   }
+                   last = code;
+                 }
+                 if (last) {
+                   endCodes.push(last);
+                 }
+                 endCodes.push(0xFFFF);
+                 startCodes.push(0xFFFF);
+                 segCount = startCodes.length;
+                 segCountX2 = segCount * 2;
+                 searchRange = 2 * Math.pow(Math.log(segCount) / Math.LN2, 2);
+                 entrySelector = Math.log(searchRange / 2) / Math.LN2;
+                 rangeShift = 2 * segCount - searchRange;
+                 deltas = [];
+                 rangeOffsets = [];
+                 glyphIDs = [];
+                 for (i = _k = 0, _len2 = startCodes.length; _k < _len2; i = ++_k) {
+                   startCode = startCodes[i];
+                   endCode = endCodes[i];
+                   if (startCode === 0xFFFF) {
+                     deltas.push(0);
+                     rangeOffsets.push(0);
+                     break;
+                   }
+                   startGlyph = charMap[startCode]["new"];
+                   if (startCode - startGlyph >= 0x8000) {
+                     deltas.push(0);
+                     rangeOffsets.push(2 * (glyphIDs.length + segCount - i));
+                     for (code = _l = startCode; startCode <= endCode ? _l <= endCode : _l >= endCode; code = startCode <= endCode ? ++_l : --_l) {
+                       glyphIDs.push(charMap[code]["new"]);
+                     }
+                   } else {
+                     deltas.push(startGlyph - startCode);
+                     rangeOffsets.push(0);
+                   }
+                 }
+                 subtable.writeUInt16(3);
+                 subtable.writeUInt16(1);
+                 subtable.writeUInt32(12);
+                 subtable.writeUInt16(4);
+                 subtable.writeUInt16(16 + segCount * 8 + glyphIDs.length * 2);
+                 subtable.writeUInt16(0);
+                 subtable.writeUInt16(segCountX2);
+                 subtable.writeUInt16(searchRange);
+                 subtable.writeUInt16(entrySelector);
+                 subtable.writeUInt16(rangeShift);
+                 for (_m = 0, _len3 = endCodes.length; _m < _len3; _m++) {
+                   code = endCodes[_m];
+                   subtable.writeUInt16(code);
+                 }
+                 subtable.writeUInt16(0);
+                 for (_n = 0, _len4 = startCodes.length; _n < _len4; _n++) {
+                   code = startCodes[_n];
+                   subtable.writeUInt16(code);
+                 }
+                 for (_o = 0, _len5 = deltas.length; _o < _len5; _o++) {
+                   delta = deltas[_o];
+                   subtable.writeUInt16(delta);
+                 }
+                 for (_p = 0, _len6 = rangeOffsets.length; _p < _len6; _p++) {
+                   offset = rangeOffsets[_p];
+                   subtable.writeUInt16(offset);
+                 }
+                 for (_q = 0, _len7 = glyphIDs.length; _q < _len7; _q++) {
+                   id = glyphIDs[_q];
+                   subtable.writeUInt16(id);
+                 }
+                 return result = {
+                   charMap: charMap,
+                   subtable: subtable.data,
+                   maxGlyphID: nextID + 1
+                 };
+             }
+           };
+
+           return CmapEntry;
+
+         })();
+
+         module.exports = CmapTable;
+
+       }).call(this);
+
+
+/***/ },
+/* 80 */
+/***/ function(module, exports, __webpack_require__) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         var Data, HmtxTable, Table,
+           __hasProp = {}.hasOwnProperty,
+           __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
+
+         Table = __webpack_require__(76);
+
+         Data = __webpack_require__(72);
+
+         HmtxTable = (function(_super) {
+           __extends(HmtxTable, _super);
+
+           function HmtxTable() {
+             return HmtxTable.__super__.constructor.apply(this, arguments);
+           }
+
+           HmtxTable.prototype.tag = 'hmtx';
+
+           HmtxTable.prototype.parse = function(data) {
+             var i, last, lsbCount, m, _i, _j, _ref, _results;
+             data.pos = this.offset;
+             this.metrics = [];
+             for (i = _i = 0, _ref = this.file.hhea.numberOfMetrics; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {
+               this.metrics.push({
+                 advance: data.readUInt16(),
+                 lsb: data.readInt16()
+               });
+             }
+             lsbCount = this.file.maxp.numGlyphs - this.file.hhea.numberOfMetrics;
+             this.leftSideBearings = (function() {
+               var _j, _results;
+               _results = [];
+               for (i = _j = 0; 0 <= lsbCount ? _j < lsbCount : _j > lsbCount; i = 0 <= lsbCount ? ++_j : --_j) {
+                 _results.push(data.readInt16());
+               }
+               return _results;
+             })();
+             this.widths = (function() {
+               var _j, _len, _ref1, _results;
+               _ref1 = this.metrics;
+               _results = [];
+               for (_j = 0, _len = _ref1.length; _j < _len; _j++) {
+                 m = _ref1[_j];
+                 _results.push(m.advance);
+               }
+               return _results;
+             }).call(this);
+             last = this.widths[this.widths.length - 1];
+             _results = [];
+             for (i = _j = 0; 0 <= lsbCount ? _j < lsbCount : _j > lsbCount; i = 0 <= lsbCount ? ++_j : --_j) {
+               _results.push(this.widths.push(last));
+             }
+             return _results;
+           };
+
+           HmtxTable.prototype.forGlyph = function(id) {
+             var metrics;
+             if (id in this.metrics) {
+               return this.metrics[id];
+             }
+             return metrics = {
+               advance: this.metrics[this.metrics.length - 1].advance,
+               lsb: this.leftSideBearings[id - this.metrics.length]
+             };
+           };
+
+           HmtxTable.prototype.encode = function(mapping) {
+             var id, metric, table, _i, _len;
+             table = new Data;
+             for (_i = 0, _len = mapping.length; _i < _len; _i++) {
+               id = mapping[_i];
+               metric = this.forGlyph(id);
+               table.writeUInt16(metric.advance);
+               table.writeUInt16(metric.lsb);
+             }
+             return table.data;
+           };
+
+           return HmtxTable;
+
+         })(Table);
+
+         module.exports = HmtxTable;
+
+       }).call(this);
+
+
+/***/ },
+/* 81 */
+/***/ function(module, exports, __webpack_require__) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         var Data, HheaTable, Table,
+           __hasProp = {}.hasOwnProperty,
+           __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
+
+         Table = __webpack_require__(76);
+
+         Data = __webpack_require__(72);
+
+         HheaTable = (function(_super) {
+           __extends(HheaTable, _super);
+
+           function HheaTable() {
+             return HheaTable.__super__.constructor.apply(this, arguments);
+           }
+
+           HheaTable.prototype.tag = 'hhea';
+
+           HheaTable.prototype.parse = function(data) {
+             data.pos = this.offset;
+             this.version = data.readInt();
+             this.ascender = data.readShort();
+             this.decender = data.readShort();
+             this.lineGap = data.readShort();
+             this.advanceWidthMax = data.readShort();
+             this.minLeftSideBearing = data.readShort();
+             this.minRightSideBearing = data.readShort();
+             this.xMaxExtent = data.readShort();
+             this.caretSlopeRise = data.readShort();
+             this.caretSlopeRun = data.readShort();
+             this.caretOffset = data.readShort();
+             data.pos += 4 * 2;
+             this.metricDataFormat = data.readShort();
+             return this.numberOfMetrics = data.readUInt16();
+           };
+
+           HheaTable.prototype.encode = function(ids) {
+             var i, table, _i, _ref;
+             table = new Data;
+             table.writeInt(this.version);
+             table.writeShort(this.ascender);
+             table.writeShort(this.decender);
+             table.writeShort(this.lineGap);
+             table.writeShort(this.advanceWidthMax);
+             table.writeShort(this.minLeftSideBearing);
+             table.writeShort(this.minRightSideBearing);
+             table.writeShort(this.xMaxExtent);
+             table.writeShort(this.caretSlopeRise);
+             table.writeShort(this.caretSlopeRun);
+             table.writeShort(this.caretOffset);
+             for (i = _i = 0, _ref = 4 * 2; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {
+               table.writeByte(0);
+             }
+             table.writeShort(this.metricDataFormat);
+             table.writeUInt16(ids.length);
+             return table.data;
+           };
+
+           return HheaTable;
+
+         })(Table);
+
+         module.exports = HheaTable;
+
+       }).call(this);
+
+
+/***/ },
+/* 82 */
+/***/ function(module, exports, __webpack_require__) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         var Data, MaxpTable, Table,
+           __hasProp = {}.hasOwnProperty,
+           __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
+
+         Table = __webpack_require__(76);
+
+         Data = __webpack_require__(72);
+
+         MaxpTable = (function(_super) {
+           __extends(MaxpTable, _super);
+
+           function MaxpTable() {
+             return MaxpTable.__super__.constructor.apply(this, arguments);
+           }
+
+           MaxpTable.prototype.tag = 'maxp';
+
+           MaxpTable.prototype.parse = function(data) {
+             data.pos = this.offset;
+             this.version = data.readInt();
+             this.numGlyphs = data.readUInt16();
+             this.maxPoints = data.readUInt16();
+             this.maxContours = data.readUInt16();
+             this.maxCompositePoints = data.readUInt16();
+             this.maxComponentContours = data.readUInt16();
+             this.maxZones = data.readUInt16();
+             this.maxTwilightPoints = data.readUInt16();
+             this.maxStorage = data.readUInt16();
+             this.maxFunctionDefs = data.readUInt16();
+             this.maxInstructionDefs = data.readUInt16();
+             this.maxStackElements = data.readUInt16();
+             this.maxSizeOfInstructions = data.readUInt16();
+             this.maxComponentElements = data.readUInt16();
+             return this.maxComponentDepth = data.readUInt16();
+           };
+
+           MaxpTable.prototype.encode = function(ids) {
+             var table;
+             table = new Data;
+             table.writeInt(this.version);
+             table.writeUInt16(ids.length);
+             table.writeUInt16(this.maxPoints);
+             table.writeUInt16(this.maxContours);
+             table.writeUInt16(this.maxCompositePoints);
+             table.writeUInt16(this.maxComponentContours);
+             table.writeUInt16(this.maxZones);
+             table.writeUInt16(this.maxTwilightPoints);
+             table.writeUInt16(this.maxStorage);
+             table.writeUInt16(this.maxFunctionDefs);
+             table.writeUInt16(this.maxInstructionDefs);
+             table.writeUInt16(this.maxStackElements);
+             table.writeUInt16(this.maxSizeOfInstructions);
+             table.writeUInt16(this.maxComponentElements);
+             table.writeUInt16(this.maxComponentDepth);
+             return table.data;
+           };
+
+           return MaxpTable;
+
+         })(Table);
+
+         module.exports = MaxpTable;
+
+       }).call(this);
+
+
+/***/ },
+/* 83 */
+/***/ function(module, exports, __webpack_require__) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         var Data, PostTable, Table,
+           __hasProp = {}.hasOwnProperty,
+           __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
+
+         Table = __webpack_require__(76);
+
+         Data = __webpack_require__(72);
+
+         PostTable = (function(_super) {
+           var POSTSCRIPT_GLYPHS;
+
+           __extends(PostTable, _super);
+
+           function PostTable() {
+             return PostTable.__super__.constructor.apply(this, arguments);
+           }
+
+           PostTable.prototype.tag = 'post';
+
+           PostTable.prototype.parse = function(data) {
+             var i, length, numberOfGlyphs, _i, _results;
+             data.pos = this.offset;
+             this.format = data.readInt();
+             this.italicAngle = data.readInt();
+             this.underlinePosition = data.readShort();
+             this.underlineThickness = data.readShort();
+             this.isFixedPitch = data.readInt();
+             this.minMemType42 = data.readInt();
+             this.maxMemType42 = data.readInt();
+             this.minMemType1 = data.readInt();
+             this.maxMemType1 = data.readInt();
+             switch (this.format) {
+               case 0x00010000:
+                 break;
+               case 0x00020000:
+                 numberOfGlyphs = data.readUInt16();
+                 this.glyphNameIndex = [];
+                 for (i = _i = 0; 0 <= numberOfGlyphs ? _i < numberOfGlyphs : _i > numberOfGlyphs; i = 0 <= numberOfGlyphs ? ++_i : --_i) {
+                   this.glyphNameIndex.push(data.readUInt16());
+                 }
+                 this.names = [];
+                 _results = [];
+                 while (data.pos < this.offset + this.length) {
+                   length = data.readByte();
+                   _results.push(this.names.push(data.readString(length)));
+                 }
+                 return _results;
+                 break;
+               case 0x00025000:
+                 numberOfGlyphs = data.readUInt16();
+                 return this.offsets = data.read(numberOfGlyphs);
+               case 0x00030000:
+                 break;
+               case 0x00040000:
+                 return this.map = (function() {
+                   var _j, _ref, _results1;
+                   _results1 = [];
+                   for (i = _j = 0, _ref = this.file.maxp.numGlyphs; 0 <= _ref ? _j < _ref : _j > _ref; i = 0 <= _ref ? ++_j : --_j) {
+                     _results1.push(data.readUInt32());
+                   }
+                   return _results1;
+                 }).call(this);
+             }
+           };
+
+           PostTable.prototype.glyphFor = function(code) {
+             var index;
+             switch (this.format) {
+               case 0x00010000:
+                 return POSTSCRIPT_GLYPHS[code] || '.notdef';
+               case 0x00020000:
+                 index = this.glyphNameIndex[code];
+                 if (index <= 257) {
+                   return POSTSCRIPT_GLYPHS[index];
+                 } else {
+                   return this.names[index - 258] || '.notdef';
+                 }
+                 break;
+               case 0x00025000:
+                 return POSTSCRIPT_GLYPHS[code + this.offsets[code]] || '.notdef';
+               case 0x00030000:
+                 return '.notdef';
+               case 0x00040000:
+                 return this.map[code] || 0xFFFF;
+             }
+           };
+
+           PostTable.prototype.encode = function(mapping) {
+             var id, index, indexes, position, post, raw, string, strings, table, _i, _j, _k, _len, _len1, _len2;
+             if (!this.exists) {
+               return null;
+             }
+             raw = this.raw();
+             if (this.format === 0x00030000) {
+               return raw;
+             }
+             table = new Data(raw.slice(0, 32));
+             table.writeUInt32(0x00020000);
+             table.pos = 32;
+             indexes = [];
+             strings = [];
+             for (_i = 0, _len = mapping.length; _i < _len; _i++) {
+               id = mapping[_i];
+               post = this.glyphFor(id);
+               position = POSTSCRIPT_GLYPHS.indexOf(post);
+               if (position !== -1) {
+                 indexes.push(position);
+               } else {
+                 indexes.push(257 + strings.length);
+                 strings.push(post);
+               }
+             }
+             table.writeUInt16(Object.keys(mapping).length);
+             for (_j = 0, _len1 = indexes.length; _j < _len1; _j++) {
+               index = indexes[_j];
+               table.writeUInt16(index);
+             }
+             for (_k = 0, _len2 = strings.length; _k < _len2; _k++) {
+               string = strings[_k];
+               table.writeByte(string.length);
+               table.writeString(string);
+             }
+             return table.data;
+           };
+
+           POSTSCRIPT_GLYPHS = '.notdef .null nonmarkingreturn space exclam quotedbl numbersign dollar percent\nampersand quotesingle parenleft parenright asterisk plus comma hyphen period slash\nzero one two three four five six seven eight nine colon semicolon less equal greater\nquestion at 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\nbracketleft backslash bracketright asciicircum underscore grave\na 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\nbraceleft bar braceright asciitilde Adieresis Aring Ccedilla Eacute Ntilde Odieresis\nUdieresis aacute agrave acircumflex adieresis atilde aring ccedilla eacute egrave\necircumflex edieresis iacute igrave icircumflex idieresis ntilde oacute ograve\nocircumflex odieresis otilde uacute ugrave ucircumflex udieresis dagger degree cent\nsterling section bullet paragraph germandbls registered copyright trademark acute\ndieresis notequal AE Oslash infinity plusminus lessequal greaterequal yen mu\npartialdiff summation product pi integral ordfeminine ordmasculine Omega ae oslash\nquestiondown exclamdown logicalnot radical florin approxequal Delta guillemotleft\nguillemotright ellipsis nonbreakingspace Agrave Atilde Otilde OE oe endash emdash\nquotedblleft quotedblright quoteleft quoteright divide lozenge ydieresis Ydieresis\nfraction currency guilsinglleft guilsinglright fi fl daggerdbl periodcentered\nquotesinglbase quotedblbase perthousand Acircumflex Ecircumflex Aacute Edieresis\nEgrave Iacute Icircumflex Idieresis Igrave Oacute Ocircumflex apple Ograve Uacute\nUcircumflex Ugrave dotlessi circumflex tilde macron breve dotaccent ring cedilla\nhungarumlaut ogonek caron Lslash lslash Scaron scaron Zcaron zcaron brokenbar Eth\neth Yacute yacute Thorn thorn minus multiply onesuperior twosuperior threesuperior\nonehalf onequarter threequarters franc Gbreve gbreve Idotaccent Scedilla scedilla\nCacute cacute Ccaron ccaron dcroat'.split(/\s+/g);
+
+           return PostTable;
+
+         })(Table);
+
+         module.exports = PostTable;
+
+       }).call(this);
+
+
+/***/ },
+/* 84 */
+/***/ function(module, exports, __webpack_require__) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         var OS2Table, Table,
+           __hasProp = {}.hasOwnProperty,
+           __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
+
+         Table = __webpack_require__(76);
+
+         OS2Table = (function(_super) {
+           __extends(OS2Table, _super);
+
+           function OS2Table() {
+             return OS2Table.__super__.constructor.apply(this, arguments);
+           }
+
+           OS2Table.prototype.tag = 'OS/2';
+
+           OS2Table.prototype.parse = function(data) {
+             var i;
+             data.pos = this.offset;
+             this.version = data.readUInt16();
+             this.averageCharWidth = data.readShort();
+             this.weightClass = data.readUInt16();
+             this.widthClass = data.readUInt16();
+             this.type = data.readShort();
+             this.ySubscriptXSize = data.readShort();
+             this.ySubscriptYSize = data.readShort();
+             this.ySubscriptXOffset = data.readShort();
+             this.ySubscriptYOffset = data.readShort();
+             this.ySuperscriptXSize = data.readShort();
+             this.ySuperscriptYSize = data.readShort();
+             this.ySuperscriptXOffset = data.readShort();
+             this.ySuperscriptYOffset = data.readShort();
+             this.yStrikeoutSize = data.readShort();
+             this.yStrikeoutPosition = data.readShort();
+             this.familyClass = data.readShort();
+             this.panose = (function() {
+               var _i, _results;
+               _results = [];
+               for (i = _i = 0; _i < 10; i = ++_i) {
+                 _results.push(data.readByte());
+               }
+               return _results;
+             })();
+             this.charRange = (function() {
+               var _i, _results;
+               _results = [];
+               for (i = _i = 0; _i < 4; i = ++_i) {
+                 _results.push(data.readInt());
+               }
+               return _results;
+             })();
+             this.vendorID = data.readString(4);
+             this.selection = data.readShort();
+             this.firstCharIndex = data.readShort();
+             this.lastCharIndex = data.readShort();
+             if (this.version > 0) {
+               this.ascent = data.readShort();
+               this.descent = data.readShort();
+               this.lineGap = data.readShort();
+               this.winAscent = data.readShort();
+               this.winDescent = data.readShort();
+               this.codePageRange = (function() {
+                 var _i, _results;
+                 _results = [];
+                 for (i = _i = 0; _i < 2; i = ++_i) {
+                   _results.push(data.readInt());
+                 }
+                 return _results;
+               })();
+               if (this.version > 1) {
+                 this.xHeight = data.readShort();
+                 this.capHeight = data.readShort();
+                 this.defaultChar = data.readShort();
+                 this.breakChar = data.readShort();
+                 return this.maxContext = data.readShort();
+               }
+             }
+           };
+
+           OS2Table.prototype.encode = function() {
+             return this.raw();
+           };
+
+           return OS2Table;
+
+         })(Table);
+
+         module.exports = OS2Table;
+
+       }).call(this);
+
+
+/***/ },
+/* 85 */
+/***/ function(module, exports, __webpack_require__) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         var Data, LocaTable, Table,
+           __hasProp = {}.hasOwnProperty,
+           __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
+
+         Table = __webpack_require__(76);
+
+         Data = __webpack_require__(72);
+
+         LocaTable = (function(_super) {
+           __extends(LocaTable, _super);
+
+           function LocaTable() {
+             return LocaTable.__super__.constructor.apply(this, arguments);
+           }
+
+           LocaTable.prototype.tag = 'loca';
+
+           LocaTable.prototype.parse = function(data) {
+             var format, i;
+             data.pos = this.offset;
+             format = this.file.head.indexToLocFormat;
+             if (format === 0) {
+               return this.offsets = (function() {
+                 var _i, _ref, _results;
+                 _results = [];
+                 for (i = _i = 0, _ref = this.length; _i < _ref; i = _i += 2) {
+                   _results.push(data.readUInt16() * 2);
+                 }
+                 return _results;
+               }).call(this);
+             } else {
+               return this.offsets = (function() {
+                 var _i, _ref, _results;
+                 _results = [];
+                 for (i = _i = 0, _ref = this.length; _i < _ref; i = _i += 4) {
+                   _results.push(data.readUInt32());
+                 }
+                 return _results;
+               }).call(this);
+             }
+           };
+
+           LocaTable.prototype.indexOf = function(id) {
+             return this.offsets[id];
+           };
+
+           LocaTable.prototype.lengthOf = function(id) {
+             return this.offsets[id + 1] - this.offsets[id];
+           };
+
+           LocaTable.prototype.encode = function(offsets) {
+             var o, offset, ret, table, _i, _j, _k, _len, _len1, _len2, _ref;
+             table = new Data;
+             for (_i = 0, _len = offsets.length; _i < _len; _i++) {
+               offset = offsets[_i];
+               if (!(offset > 0xFFFF)) {
+                 continue;
+               }
+               _ref = this.offsets;
+               for (_j = 0, _len1 = _ref.length; _j < _len1; _j++) {
+                 o = _ref[_j];
+                 table.writeUInt32(o);
+               }
+               return ret = {
+                 format: 1,
+                 table: table.data
+               };
+             }
+             for (_k = 0, _len2 = offsets.length; _k < _len2; _k++) {
+               o = offsets[_k];
+               table.writeUInt16(o / 2);
+             }
+             return ret = {
+               format: 0,
+               table: table.data
+             };
+           };
+
+           return LocaTable;
+
+         })(Table);
+
+         module.exports = LocaTable;
+
+       }).call(this);
+
+
+/***/ },
+/* 86 */
+/***/ function(module, exports, __webpack_require__) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         var CompoundGlyph, Data, GlyfTable, SimpleGlyph, Table,
+           __hasProp = {}.hasOwnProperty,
+           __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
+           __slice = [].slice;
+
+         Table = __webpack_require__(76);
+
+         Data = __webpack_require__(72);
+
+         GlyfTable = (function(_super) {
+           __extends(GlyfTable, _super);
+
+           function GlyfTable() {
+             return GlyfTable.__super__.constructor.apply(this, arguments);
+           }
+
+           GlyfTable.prototype.tag = 'glyf';
+
+           GlyfTable.prototype.parse = function(data) {
+             return this.cache = {};
+           };
+
+           GlyfTable.prototype.glyphFor = function(id) {
+             var data, index, length, loca, numberOfContours, raw, xMax, xMin, yMax, yMin;
+             if (id in this.cache) {
+               return this.cache[id];
+             }
+             loca = this.file.loca;
+             data = this.file.contents;
+             index = loca.indexOf(id);
+             length = loca.lengthOf(id);
+             if (length === 0) {
+               return this.cache[id] = null;
+             }
+             data.pos = this.offset + index;
+             raw = new Data(data.read(length));
+             numberOfContours = raw.readShort();
+             xMin = raw.readShort();
+             yMin = raw.readShort();
+             xMax = raw.readShort();
+             yMax = raw.readShort();
+             if (numberOfContours === -1) {
+               this.cache[id] = new CompoundGlyph(raw, xMin, yMin, xMax, yMax);
+             } else {
+               this.cache[id] = new SimpleGlyph(raw, numberOfContours, xMin, yMin, xMax, yMax);
+             }
+             return this.cache[id];
+           };
+
+           GlyfTable.prototype.encode = function(glyphs, mapping, old2new) {
+             var glyph, id, offsets, table, _i, _len;
+             table = [];
+             offsets = [];
+             for (_i = 0, _len = mapping.length; _i < _len; _i++) {
+               id = mapping[_i];
+               glyph = glyphs[id];
+               offsets.push(table.length);
+               if (glyph) {
+                 table = table.concat(glyph.encode(old2new));
+               }
+             }
+             offsets.push(table.length);
+             return {
+               table: table,
+               offsets: offsets
+             };
+           };
+
+           return GlyfTable;
+
+         })(Table);
+
+         SimpleGlyph = (function() {
+           function SimpleGlyph(raw, numberOfContours, xMin, yMin, xMax, yMax) {
+             this.raw = raw;
+             this.numberOfContours = numberOfContours;
+             this.xMin = xMin;
+             this.yMin = yMin;
+             this.xMax = xMax;
+             this.yMax = yMax;
+             this.compound = false;
+           }
+
+           SimpleGlyph.prototype.encode = function() {
+             return this.raw.data;
+           };
+
+           return SimpleGlyph;
+
+         })();
+
+         CompoundGlyph = (function() {
+           var ARG_1_AND_2_ARE_WORDS, MORE_COMPONENTS, WE_HAVE_AN_X_AND_Y_SCALE, WE_HAVE_A_SCALE, WE_HAVE_A_TWO_BY_TWO, WE_HAVE_INSTRUCTIONS;
+
+           ARG_1_AND_2_ARE_WORDS = 0x0001;
+
+           WE_HAVE_A_SCALE = 0x0008;
+
+           MORE_COMPONENTS = 0x0020;
+
+           WE_HAVE_AN_X_AND_Y_SCALE = 0x0040;
+
+           WE_HAVE_A_TWO_BY_TWO = 0x0080;
+
+           WE_HAVE_INSTRUCTIONS = 0x0100;
+
+           function CompoundGlyph(raw, xMin, yMin, xMax, yMax) {
+             var data, flags;
+             this.raw = raw;
+             this.xMin = xMin;
+             this.yMin = yMin;
+             this.xMax = xMax;
+             this.yMax = yMax;
+             this.compound = true;
+             this.glyphIDs = [];
+             this.glyphOffsets = [];
+             data = this.raw;
+             while (true) {
+               flags = data.readShort();
+               this.glyphOffsets.push(data.pos);
+               this.glyphIDs.push(data.readShort());
+               if (!(flags & MORE_COMPONENTS)) {
+                 break;
+               }
+               if (flags & ARG_1_AND_2_ARE_WORDS) {
+                 data.pos += 4;
+               } else {
+                 data.pos += 2;
+               }
+               if (flags & WE_HAVE_A_TWO_BY_TWO) {
+                 data.pos += 8;
+               } else if (flags & WE_HAVE_AN_X_AND_Y_SCALE) {
+                 data.pos += 4;
+               } else if (flags & WE_HAVE_A_SCALE) {
+                 data.pos += 2;
+               }
+             }
+           }
+
+           CompoundGlyph.prototype.encode = function(mapping) {
+             var i, id, result, _i, _len, _ref;
+             result = new Data(__slice.call(this.raw.data));
+             _ref = this.glyphIDs;
+             for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {
+               id = _ref[i];
+               result.pos = this.glyphOffsets[i];
+               result.writeShort(mapping[id]);
+             }
+             return result.data;
+           };
+
+           return CompoundGlyph;
+
+         })();
+
+         module.exports = GlyfTable;
+
+       }).call(this);
+
+
+/***/ },
+/* 87 */
+/***/ function(module, exports, __webpack_require__) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         var AFMFont, fs;
+
+         fs = __webpack_require__(44);
+
+         AFMFont = (function() {
+           var WIN_ANSI_MAP, characters;
+
+           AFMFont.open = function(filename) {
+             return new AFMFont(fs.readFileSync(filename, 'utf8'));
+           };
+
+           function AFMFont(contents) {
+             var e, i;
+             this.contents = contents;
+             this.attributes = {};
+             this.glyphWidths = {};
+             this.boundingBoxes = {};
+             this.parse();
+             this.charWidths = (function() {
+               var _i, _results;
+               _results = [];
+               for (i = _i = 0; _i <= 255; i = ++_i) {
+                 _results.push(this.glyphWidths[characters[i]]);
+               }
+               return _results;
+             }).call(this);
+             this.bbox = (function() {
+               var _i, _len, _ref, _results;
+               _ref = this.attributes['FontBBox'].split(/\s+/);
+               _results = [];
+               for (_i = 0, _len = _ref.length; _i < _len; _i++) {
+                 e = _ref[_i];
+                 _results.push(+e);
+               }
+               return _results;
+             }).call(this);
+             this.ascender = +(this.attributes['Ascender'] || 0);
+             this.decender = +(this.attributes['Descender'] || 0);
+             this.lineGap = (this.bbox[3] - this.bbox[1]) - (this.ascender - this.decender);
+           }
+
+           AFMFont.prototype.parse = function() {
+             var a, key, line, match, name, section, value, _i, _len, _ref;
+             section = '';
+             _ref = this.contents.split('\n');
+             for (_i = 0, _len = _ref.length; _i < _len; _i++) {
+               line = _ref[_i];
+               if (match = line.match(/^Start(\w+)/)) {
+                 section = match[1];
+                 continue;
+               } else if (match = line.match(/^End(\w+)/)) {
+                 section = '';
+                 continue;
+               }
+               switch (section) {
+                 case 'FontMetrics':
+                   match = line.match(/(^\w+)\s+(.*)/);
+                   key = match[1];
+                   value = match[2];
+                   if (a = this.attributes[key]) {
+                     if (!Array.isArray(a)) {
+                       a = this.attributes[key] = [a];
+                     }
+                     a.push(value);
+                   } else {
+                     this.attributes[key] = value;
+                   }
+                   break;
+                 case 'CharMetrics':
+                   if (!/^CH?\s/.test(line)) {
+                     continue;
+                   }
+                   name = line.match(/\bN\s+(\.?\w+)\s*;/)[1];
+                   this.glyphWidths[name] = +line.match(/\bWX\s+(\d+)\s*;/)[1];
+               }
+             }
+           };
+
+           WIN_ANSI_MAP = {
+             402: 131,
+             8211: 150,
+             8212: 151,
+             8216: 145,
+             8217: 146,
+             8218: 130,
+             8220: 147,
+             8221: 148,
+             8222: 132,
+             8224: 134,
+             8225: 135,
+             8226: 149,
+             8230: 133,
+             8364: 128,
+             8240: 137,
+             8249: 139,
+             8250: 155,
+             710: 136,
+             8482: 153,
+             338: 140,
+             339: 156,
+             732: 152,
+             352: 138,
+             353: 154,
+             376: 159,
+             381: 142,
+             382: 158
+           };
+
+           AFMFont.prototype.encodeText = function(text) {
+             var char, i, string, _i, _ref;
+             string = '';
+             for (i = _i = 0, _ref = text.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {
+               char = text.charCodeAt(i);
+               char = WIN_ANSI_MAP[char] || char;
+               string += String.fromCharCode(char);
+             }
+             return string;
+           };
+
+           AFMFont.prototype.characterToGlyph = function(character) {
+             return characters[WIN_ANSI_MAP[character] || character];
+           };
+
+           AFMFont.prototype.widthOfGlyph = function(glyph) {
+             return this.glyphWidths[glyph];
+           };
+
+           characters = '.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n\nspace         exclam         quotedbl       numbersign\ndollar        percent        ampersand      quotesingle\nparenleft     parenright     asterisk       plus\ncomma         hyphen         period         slash\nzero          one            two            three\nfour          five           six            seven\neight         nine           colon          semicolon\nless          equal          greater        question\n\nat            A              B              C\nD             E              F              G\nH             I              J              K\nL             M              N              O\nP             Q              R              S\nT             U              V              W\nX             Y              Z              bracketleft\nbackslash     bracketright   asciicircum    underscore\n\ngrave         a              b              c\nd             e              f              g\nh             i              j              k\nl             m              n              o\np             q              r              s\nt             u              v              w\nx             y              z              braceleft\nbar           braceright     asciitilde     .notdef\n\nEuro          .notdef        quotesinglbase florin\nquotedblbase  ellipsis       dagger         daggerdbl\ncircumflex    perthousand    Scaron         guilsinglleft\nOE            .notdef        Zcaron         .notdef\n.notdef       quoteleft      quoteright     quotedblleft\nquotedblright bullet         endash         emdash\ntilde         trademark      scaron         guilsinglright\noe            .notdef        zcaron         ydieresis\n\nspace         exclamdown     cent           sterling\ncurrency      yen            brokenbar      section\ndieresis      copyright      ordfeminine    guillemotleft\nlogicalnot    hyphen         registered     macron\ndegree        plusminus      twosuperior    threesuperior\nacute         mu             paragraph      periodcentered\ncedilla       onesuperior    ordmasculine   guillemotright\nonequarter    onehalf        threequarters  questiondown\n\nAgrave        Aacute         Acircumflex    Atilde\nAdieresis     Aring          AE             Ccedilla\nEgrave        Eacute         Ecircumflex    Edieresis\nIgrave        Iacute         Icircumflex    Idieresis\nEth           Ntilde         Ograve         Oacute\nOcircumflex   Otilde         Odieresis      multiply\nOslash        Ugrave         Uacute         Ucircumflex\nUdieresis     Yacute         Thorn          germandbls\n\nagrave        aacute         acircumflex    atilde\nadieresis     aring          ae             ccedilla\negrave        eacute         ecircumflex    edieresis\nigrave        iacute         icircumflex    idieresis\neth           ntilde         ograve         oacute\nocircumflex   otilde         odieresis      divide\noslash        ugrave         uacute         ucircumflex\nudieresis     yacute         thorn          ydieresis'.split(/\s+/);
+
+           return AFMFont;
+
+         })();
+
+         module.exports = AFMFont;
+
+       }).call(this);
+
+
+/***/ },
+/* 88 */
+/***/ function(module, exports, __webpack_require__) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         var CmapTable, Subset, utils,
+           __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
+
+         CmapTable = __webpack_require__(79);
+
+         utils = __webpack_require__(77);
+
+         Subset = (function() {
+           function Subset(font) {
+             this.font = font;
+             this.subset = {};
+             this.unicodes = {};
+             this.next = 33;
+           }
+
+           Subset.prototype.use = function(character) {
+             var i, _i, _ref;
+             if (typeof character === 'string') {
+               for (i = _i = 0, _ref = character.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {
+                 this.use(character.charCodeAt(i));
+               }
+               return;
+             }
+             if (!this.unicodes[character]) {
+               this.subset[this.next] = character;
+               return this.unicodes[character] = this.next++;
+             }
+           };
+
+           Subset.prototype.encodeText = function(text) {
+             var char, i, string, _i, _ref;
+             string = '';
+             for (i = _i = 0, _ref = text.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {
+               char = this.unicodes[text.charCodeAt(i)];
+               string += String.fromCharCode(char);
+             }
+             return string;
+           };
+
+           Subset.prototype.generateCmap = function() {
+             var mapping, roman, unicode, unicodeCmap, _ref;
+             unicodeCmap = this.font.cmap.tables[0].codeMap;
+             mapping = {};
+             _ref = this.subset;
+             for (roman in _ref) {
+               unicode = _ref[roman];
+               mapping[roman] = unicodeCmap[unicode];
+             }
+             return mapping;
+           };
+
+           Subset.prototype.glyphIDs = function() {
+             var ret, roman, unicode, unicodeCmap, val, _ref;
+             unicodeCmap = this.font.cmap.tables[0].codeMap;
+             ret = [0];
+             _ref = this.subset;
+             for (roman in _ref) {
+               unicode = _ref[roman];
+               val = unicodeCmap[unicode];
+               if ((val != null) && __indexOf.call(ret, val) < 0) {
+                 ret.push(val);
+               }
+             }
+             return ret.sort();
+           };
+
+           Subset.prototype.glyphsFor = function(glyphIDs) {
+             var additionalIDs, glyph, glyphs, id, _i, _len, _ref;
+             glyphs = {};
+             for (_i = 0, _len = glyphIDs.length; _i < _len; _i++) {
+               id = glyphIDs[_i];
+               glyphs[id] = this.font.glyf.glyphFor(id);
+             }
+             additionalIDs = [];
+             for (id in glyphs) {
+               glyph = glyphs[id];
+               if (glyph != null ? glyph.compound : void 0) {
+                 additionalIDs.push.apply(additionalIDs, glyph.glyphIDs);
+               }
+             }
+             if (additionalIDs.length > 0) {
+               _ref = this.glyphsFor(additionalIDs);
+               for (id in _ref) {
+                 glyph = _ref[id];
+                 glyphs[id] = glyph;
+               }
+             }
+             return glyphs;
+           };
+
+           Subset.prototype.encode = function() {
+             var cmap, code, glyf, glyphs, id, ids, loca, name, new2old, newIDs, nextGlyphID, old2new, oldID, oldIDs, tables, _ref, _ref1;
+             cmap = CmapTable.encode(this.generateCmap(), 'unicode');
+             glyphs = this.glyphsFor(this.glyphIDs());
+             old2new = {
+               0: 0
+             };
+             _ref = cmap.charMap;
+             for (code in _ref) {
+               ids = _ref[code];
+               old2new[ids.old] = ids["new"];
+             }
+             nextGlyphID = cmap.maxGlyphID;
+             for (oldID in glyphs) {
+               if (!(oldID in old2new)) {
+                 old2new[oldID] = nextGlyphID++;
+               }
+             }
+             new2old = utils.invert(old2new);
+             newIDs = Object.keys(new2old).sort(function(a, b) {
+               return a - b;
+             });
+             oldIDs = (function() {
+               var _i, _len, _results;
+               _results = [];
+               for (_i = 0, _len = newIDs.length; _i < _len; _i++) {
+                 id = newIDs[_i];
+                 _results.push(new2old[id]);
+               }
+               return _results;
+             })();
+             glyf = this.font.glyf.encode(glyphs, oldIDs, old2new);
+             loca = this.font.loca.encode(glyf.offsets);
+             name = this.font.name.encode();
+             this.postscriptName = name.postscriptName;
+             this.cmap = {};
+             _ref1 = cmap.charMap;
+             for (code in _ref1) {
+               ids = _ref1[code];
+               this.cmap[code] = ids.old;
+             }
+             tables = {
+               cmap: cmap.table,
+               glyf: glyf.table,
+               loca: loca.table,
+               hmtx: this.font.hmtx.encode(oldIDs),
+               hhea: this.font.hhea.encode(oldIDs),
+               maxp: this.font.maxp.encode(oldIDs),
+               post: this.font.post.encode(oldIDs),
+               name: name.table,
+               head: this.font.head.encode(loca)
+             };
+             if (this.font.os2.exists) {
+               tables['OS/2'] = this.font.os2.raw();
+             }
+             return this.font.directory.encode(tables);
+           };
+
+           return Subset;
+
+         })();
+
+         module.exports = Subset;
+
+       }).call(this);
+
+
+/***/ },
+/* 89 */
+/***/ function(module, exports, __webpack_require__) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         var LineWrapper;
+
+         LineWrapper = __webpack_require__(90);
+
+         module.exports = {
+           initText: function() {
+             this.x = 0;
+             this.y = 0;
+             return this._lineGap = 0;
+           },
+           lineGap: function(_lineGap) {
+             this._lineGap = _lineGap;
+             return this;
+           },
+           moveDown: function(lines) {
+             if (lines == null) {
+               lines = 1;
+             }
+             this.y += this.currentLineHeight(true) * lines + this._lineGap;
+             return this;
+           },
+           moveUp: function(lines) {
+             if (lines == null) {
+               lines = 1;
+             }
+             this.y -= this.currentLineHeight(true) * lines + this._lineGap;
+             return this;
+           },
+           _text: function(text, x, y, options, lineCallback) {
+             var line, wrapper, _i, _len, _ref;
+             options = this._initOptions(x, y, options);
+             text = '' + text;
+             if (options.wordSpacing) {
+               text = text.replace(/\s{2,}/g, ' ');
+             }
+             if (options.width) {
+               wrapper = this._wrapper;
+               if (!wrapper) {
+                 wrapper = new LineWrapper(this, options);
+                 wrapper.on('line', lineCallback);
+               }
+               this._wrapper = options.continued ? wrapper : null;
+               this._textOptions = options.continued ? options : null;
+               wrapper.wrap(text, options);
+             } else {
+               _ref = text.split('\n');
+               for (_i = 0, _len = _ref.length; _i < _len; _i++) {
+                 line = _ref[_i];
+                 lineCallback(line, options);
+               }
+             }
+             return this;
+           },
+           text: function(text, x, y, options) {
+             return this._text(text, x, y, options, this._line.bind(this));
+           },
+           widthOfString: function(string, options) {
+             if (options == null) {
+               options = {};
+             }
+             return this._font.widthOfString(string, this._fontSize) + (options.characterSpacing || 0) * (string.length - 1);
+           },
+           heightOfString: function(text, options) {
+             var height, lineGap, x, y;
+             if (options == null) {
+               options = {};
+             }
+             x = this.x, y = this.y;
+             options = this._initOptions(options);
+             options.height = Infinity;
+             lineGap = options.lineGap || this._lineGap || 0;
+             this._text(text, this.x, this.y, options, (function(_this) {
+               return function(line, options) {
+                 return _this.y += _this.currentLineHeight(true) + lineGap;
+               };
+             })(this));
+             height = this.y - y;
+             this.x = x;
+             this.y = y;
+             return height;
+           },
+           list: function(list, x, y, options, wrapper) {
+             var flatten, i, indent, itemIndent, items, level, levels, r;
+             options = this._initOptions(x, y, options);
+             r = Math.round((this._font.ascender / 1000 * this._fontSize) / 3);
+             indent = options.textIndent || r * 5;
+             itemIndent = options.bulletIndent || r * 8;
+             level = 1;
+             items = [];
+             levels = [];
+             flatten = function(list) {
+               var i, item, _i, _len, _results;
+               _results = [];
+               for (i = _i = 0, _len = list.length; _i < _len; i = ++_i) {
+                 item = list[i];
+                 if (Array.isArray(item)) {
+                   level++;
+                   flatten(item);
+                   _results.push(level--);
+                 } else {
+                   items.push(item);
+                   _results.push(levels.push(level));
+                 }
+               }
+               return _results;
+             };
+             flatten(list);
+             wrapper = new LineWrapper(this, options);
+             wrapper.on('line', this._line.bind(this));
+             level = 1;
+             i = 0;
+             wrapper.on('firstLine', (function(_this) {
+               return function() {
+                 var diff, l;
+                 if ((l = levels[i++]) !== level) {
+                   diff = itemIndent * (l - level);
+                   _this.x += diff;
+                   wrapper.lineWidth -= diff;
+                   level = l;
+                 }
+                 _this.circle(_this.x - indent + r, _this.y + r + (r / 2), r);
+                 return _this.fill();
+               };
+             })(this));
+             wrapper.on('sectionStart', (function(_this) {
+               return function() {
+                 var pos;
+                 pos = indent + itemIndent * (level - 1);
+                 _this.x += pos;
+                 return wrapper.lineWidth -= pos;
+               };
+             })(this));
+             wrapper.on('sectionEnd', (function(_this) {
+               return function() {
+                 var pos;
+                 pos = indent + itemIndent * (level - 1);
+                 _this.x -= pos;
+                 return wrapper.lineWidth += pos;
+               };
+             })(this));
+             wrapper.wrap(items.join('\n'), options);
+             return this;
+           },
+           _initOptions: function(x, y, options) {
+             var key, margins, val, _ref;
+             if (x == null) {
+               x = {};
+             }
+             if (options == null) {
+               options = {};
+             }
+             if (typeof x === 'object') {
+               options = x;
+               x = null;
+             }
+             options = (function() {
+               var k, opts, v;
+               opts = {};
+               for (k in options) {
+                 v = options[k];
+                 opts[k] = v;
+               }
+               return opts;
+             })();
+             if (this._textOptions) {
+               _ref = this._textOptions;
+               for (key in _ref) {
+                 val = _ref[key];
+                 if (key !== 'continued') {
+                   if (options[key] == null) {
+                     options[key] = val;
+                   }
+                 }
+               }
+             }
+             if (x != null) {
+               this.x = x;
+             }
+             if (y != null) {
+               this.y = y;
+             }
+             if (options.lineBreak !== false) {
+               margins = this.page.margins;
+               if (options.width == null) {
+                 options.width = this.page.width - this.x - margins.right;
+               }
+             }
+             options.columns || (options.columns = 0);
+             if (options.columnGap == null) {
+               options.columnGap = 18;
+             }
+             return options;
+           },
+           _line: function(text, options, wrapper) {
+             var lineGap;
+             if (options == null) {
+               options = {};
+             }
+             this._fragment(text, this.x, this.y, options);
+             lineGap = options.lineGap || this._lineGap || 0;
+             if (!wrapper) {
+               return this.x += this.widthOfString(text);
+             } else {
+               return this.y += this.currentLineHeight(true) + lineGap;
+             }
+           },
+           _fragment: function(text, x, y, options) {
+             var align, characterSpacing, commands, d, encoded, i, lineWidth, lineY, mode, renderedWidth, spaceWidth, textWidth, word, wordSpacing, words, _base, _i, _len, _name;
+             text = '' + text;
+             if (text.length === 0) {
+               return;
+             }
+             align = options.align || 'left';
+             wordSpacing = options.wordSpacing || 0;
+             characterSpacing = options.characterSpacing || 0;
+             if (options.width) {
+               switch (align) {
+                 case 'right':
+                   textWidth = this.widthOfString(text.replace(/\s+$/, ''), options);
+                   x += options.lineWidth - textWidth;
+                   break;
+                 case 'center':
+                   x += options.lineWidth / 2 - options.textWidth / 2;
+                   break;
+                 case 'justify':
+                   words = text.trim().split(/\s+/);
+                   textWidth = this.widthOfString(text.replace(/\s+/g, ''), options);
+                   spaceWidth = this.widthOfString(' ') + characterSpacing;
+                   wordSpacing = Math.max(0, (options.lineWidth - textWidth) / Math.max(1, words.length - 1) - spaceWidth);
+               }
+             }
+             renderedWidth = options.textWidth + (wordSpacing * (options.wordCount - 1)) + (characterSpacing * (text.length - 1));
+             if (options.link) {
+               this.link(x, y, renderedWidth, this.currentLineHeight(), options.link);
+             }
+             if (options.underline || options.strike) {
+               this.save();
+               if (!options.stroke) {
+                 this.strokeColor.apply(this, this._fillColor);
+               }
+               lineWidth = this._fontSize < 10 ? 0.5 : Math.floor(this._fontSize / 10);
+               this.lineWidth(lineWidth);
+               d = options.underline ? 1 : 2;
+               lineY = y + this.currentLineHeight() / d;
+               if (options.underline) {
+                 lineY -= lineWidth;
+               }
+               this.moveTo(x, lineY);
+               this.lineTo(x + renderedWidth, lineY);
+               this.stroke();
+               this.restore();
+             }
+             this.save();
+             this.transform(1, 0, 0, -1, 0, this.page.height);
+             y = this.page.height - y - (this._font.ascender / 1000 * this._fontSize);
+             if ((_base = this.page.fonts)[_name = this._font.id] == null) {
+               _base[_name] = this._font.ref();
+             }
+             this._font.use(text);
+             this.addContent("BT");
+             this.addContent("" + x + " " + y + " Td");
+             this.addContent("/" + this._font.id + " " + this._fontSize + " Tf");
+             mode = options.fill && options.stroke ? 2 : options.stroke ? 1 : 0;
+             if (mode) {
+               this.addContent("" + mode + " Tr");
+             }
+             if (characterSpacing) {
+               this.addContent("" + characterSpacing + " Tc");
+             }
+             if (wordSpacing) {
+               words = text.trim().split(/\s+/);
+               wordSpacing += this.widthOfString(' ') + characterSpacing;
+               wordSpacing *= 1000 / this._fontSize;
+               commands = [];
+               for (_i = 0, _len = words.length; _i < _len; _i++) {
+                 word = words[_i];
+                 encoded = this._font.encode(word);
+                 encoded = ((function() {
+                   var _j, _ref, _results;
+                   _results = [];
+                   for (i = _j = 0, _ref = encoded.length; _j < _ref; i = _j += 1) {
+                     _results.push(encoded.charCodeAt(i).toString(16));
+                   }
+                   return _results;
+                 })()).join('');
+                 commands.push("<" + encoded + "> " + (-wordSpacing));
+               }
+               this.addContent("[" + (commands.join(' ')) + "] TJ");
+             } else {
+               encoded = this._font.encode(text);
+               encoded = ((function() {
+                 var _j, _ref, _results;
+                 _results = [];
+                 for (i = _j = 0, _ref = encoded.length; _j < _ref; i = _j += 1) {
+                   _results.push(encoded.charCodeAt(i).toString(16));
+                 }
+                 return _results;
+               })()).join('');
+               this.addContent("<" + encoded + "> Tj");
+             }
+             this.addContent("ET");
+             return this.restore();
+           }
+         };
+
+       }).call(this);
+
+
+/***/ },
+/* 90 */
+/***/ function(module, exports, __webpack_require__) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         var EventEmitter, LineBreaker, LineWrapper,
+           __hasProp = {}.hasOwnProperty,
+           __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
+
+         EventEmitter = __webpack_require__(26).EventEmitter;
+
+         LineBreaker = __webpack_require__(91);
+
+         LineWrapper = (function(_super) {
+           __extends(LineWrapper, _super);
+
+           function LineWrapper(document, options) {
+             var _ref;
+             this.document = document;
+             this.indent = options.indent || 0;
+             this.characterSpacing = options.characterSpacing || 0;
+             this.wordSpacing = options.wordSpacing === 0;
+             this.columns = options.columns || 1;
+             this.columnGap = (_ref = options.columnGap) != null ? _ref : 18;
+             this.lineWidth = (options.width - (this.columnGap * (this.columns - 1))) / this.columns;
+             this.spaceLeft = this.lineWidth;
+             this.startX = this.document.x;
+             this.startY = this.document.y;
+             this.column = 1;
+             this.ellipsis = options.ellipsis;
+             this.continuedX = 0;
+             if (options.height != null) {
+               this.height = options.height;
+               this.maxY = this.startY + options.height;
+             } else {
+               this.maxY = this.document.page.maxY();
+             }
+             this.on('firstLine', (function(_this) {
+               return function(options) {
+                 var indent;
+                 indent = _this.continuedX || _this.indent;
+                 _this.document.x += indent;
+                 _this.lineWidth -= indent;
+                 return _this.once('line', function() {
+                   _this.document.x -= indent;
+                   _this.lineWidth += indent;
+                   if (options.continued && !_this.continuedX) {
+                     _this.continuedX = _this.indent;
+                   }
+                   if (!options.continued) {
+                     return _this.continuedX = 0;
+                   }
+                 });
+               };
+             })(this));
+             this.on('lastLine', (function(_this) {
+               return function(options) {
+                 var align;
+                 align = options.align;
+                 if (align === 'justify') {
+                   options.align = 'left';
+                 }
+                 _this.lastLine = true;
+                 return _this.once('line', function() {
+                   _this.document.y += options.paragraphGap || 0;
+                   options.align = align;
+                   return _this.lastLine = false;
+                 });
+               };
+             })(this));
+           }
+
+           LineWrapper.prototype.wordWidth = function(word) {
+             return this.document.widthOfString(word, this) + this.characterSpacing + this.wordSpacing;
+           };
+
+           LineWrapper.prototype.eachWord = function(text, fn) {
+             var bk, breaker, fbk, l, last, lbk, shouldContinue, w, word, wordWidths;
+             breaker = new LineBreaker(text);
+             last = null;
+             wordWidths = {};
+             while (bk = breaker.nextBreak()) {
+               word = text.slice((last != null ? last.position : void 0) || 0, bk.position);
+               w = wordWidths[word] != null ? wordWidths[word] : wordWidths[word] = this.wordWidth(word);
+               if (w > this.lineWidth + this.continuedX) {
+                 lbk = last;
+                 fbk = {};
+                 while (word.length) {
+                   l = word.length;
+                   while (w > this.spaceLeft) {
+                     w = this.wordWidth(word.slice(0, --l));
+                   }
+                   fbk.required = l < word.length;
+                   shouldContinue = fn(word.slice(0, l), w, fbk, lbk);
+                   lbk = {
+                     required: false
+                   };
+                   word = word.slice(l);
+                   w = this.wordWidth(word);
+                   if (shouldContinue === false) {
+                     break;
+                   }
+                 }
+               } else {
+                 shouldContinue = fn(word, w, bk, last);
+               }
+               if (shouldContinue === false) {
+                 break;
+               }
+               last = bk;
+             }
+           };
+
+           LineWrapper.prototype.wrap = function(text, options) {
+             var buffer, emitLine, lc, nextY, textWidth, wc, y;
+             if (options.indent != null) {
+               this.indent = options.indent;
+             }
+             if (options.characterSpacing != null) {
+               this.characterSpacing = options.characterSpacing;
+             }
+             if (options.wordSpacing != null) {
+               this.wordSpacing = options.wordSpacing;
+             }
+             if (options.ellipsis != null) {
+               this.ellipsis = options.ellipsis;
+             }
+             nextY = this.document.y + this.document.currentLineHeight(true);
+             if (this.document.y > this.maxY || nextY > this.maxY) {
+               this.nextSection();
+             }
+             buffer = '';
+             textWidth = 0;
+             wc = 0;
+             lc = 0;
+             y = this.document.y;
+             emitLine = (function(_this) {
+               return function() {
+                 options.textWidth = textWidth + _this.wordSpacing * (wc - 1);
+                 options.wordCount = wc;
+                 options.lineWidth = _this.lineWidth;
+                 y = _this.document.y;
+                 _this.emit('line', buffer, options, _this);
+                 return lc++;
+               };
+             })(this);
+             this.emit('sectionStart', options, this);
+             this.eachWord(text, (function(_this) {
+               return function(word, w, bk, last) {
+                 var lh, shouldContinue;
+                 if ((last == null) || last.required) {
+                   _this.emit('firstLine', options, _this);
+                   _this.spaceLeft = _this.lineWidth;
+                 }
+                 if (w <= _this.spaceLeft) {
+                   buffer += word;
+                   textWidth += w;
+                   wc++;
+                 }
+                 if (bk.required || w > _this.spaceLeft) {
+                   if (bk.required) {
+                     _this.emit('lastLine', options, _this);
+                   }
+                   lh = _this.document.currentLineHeight(true);
+                   if ((_this.height != null) && _this.ellipsis && _this.document.y + lh * 2 > _this.maxY && _this.column >= _this.columns) {
+                     if (_this.ellipsis === true) {
+                       _this.ellipsis = '…';
+                     }
+                     buffer = buffer.replace(/\s+$/, '');
+                     textWidth = _this.wordWidth(buffer + _this.ellipsis);
+                     while (textWidth > _this.lineWidth) {
+                       buffer = buffer.slice(0, -1).replace(/\s+$/, '');
+                       textWidth = _this.wordWidth(buffer + _this.ellipsis);
+                     }
+                     buffer = buffer + _this.ellipsis;
+                   }
+                   emitLine();
+                   if (_this.document.y + lh > _this.maxY) {
+                     shouldContinue = _this.nextSection();
+                     if (!shouldContinue) {
+                       wc = 0;
+                       buffer = '';
+                       return false;
+                     }
+                   }
+                   if (bk.required) {
+                     if (w > _this.spaceLeft) {
+                       buffer = word;
+                       textWidth = w;
+                       wc = 1;
+                       emitLine();
+                     }
+                     _this.spaceLeft = _this.lineWidth;
+                     buffer = '';
+                     textWidth = 0;
+                     return wc = 0;
+                   } else {
+                     _this.spaceLeft = _this.lineWidth - w;
+                     buffer = word;
+                     textWidth = w;
+                     return wc = 1;
+                   }
+                 } else {
+                   return _this.spaceLeft -= w;
+                 }
+               };
+             })(this));
+             if (wc > 0) {
+               this.emit('lastLine', options, this);
+               emitLine();
+             }
+             this.emit('sectionEnd', options, this);
+             if (options.continued === true) {
+               if (lc > 1) {
+                 this.continuedX = 0;
+               }
+               this.continuedX += options.textWidth;
+               return this.document.y = y;
+             } else {
+               return this.document.x = this.startX;
+             }
+           };
+
+           LineWrapper.prototype.nextSection = function(options) {
+             var _ref;
+             this.emit('sectionEnd', options, this);
+             if (++this.column > this.columns) {
+               if (this.height != null) {
+                 return false;
+               }
+               this.document.addPage();
+               this.column = 1;
+               this.startY = this.document.page.margins.top;
+               this.maxY = this.document.page.maxY();
+               this.document.x = this.startX;
+               if (this.document._fillColor) {
+                 (_ref = this.document).fillColor.apply(_ref, this.document._fillColor);
+               }
+               this.emit('pageBreak', options, this);
+             } else {
+               this.document.x += this.lineWidth + this.columnGap;
+               this.document.y = this.startY;
+               this.emit('columnBreak', options, this);
+             }
+             this.emit('sectionStart', options, this);
+             return true;
+           };
+
+           return LineWrapper;
+
+         })(EventEmitter);
+
+         module.exports = LineWrapper;
+
+       }).call(this);
+
+
+/***/ },
+/* 91 */
+/***/ function(module, exports, __webpack_require__) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         var AI, AL, BA, BK, CB, CI_BRK, CJ, CP_BRK, CR, DI_BRK, ID, IN_BRK, LF, LineBreaker, NL, NS, PR_BRK, SA, SG, SP, UnicodeTrie, WJ, XX, characterClasses, classTrie, pairTable, _ref, _ref1;
+
+         UnicodeTrie = __webpack_require__(92);
+
+         classTrie = new UnicodeTrie(__webpack_require__(93));
+
+         _ref = __webpack_require__(94), BK = _ref.BK, CR = _ref.CR, LF = _ref.LF, NL = _ref.NL, CB = _ref.CB, BA = _ref.BA, SP = _ref.SP, WJ = _ref.WJ, SP = _ref.SP, BK = _ref.BK, LF = _ref.LF, NL = _ref.NL, AI = _ref.AI, AL = _ref.AL, SA = _ref.SA, SG = _ref.SG, XX = _ref.XX, CJ = _ref.CJ, ID = _ref.ID, NS = _ref.NS, characterClasses = _ref.characterClasses;
+
+         _ref1 = __webpack_require__(95), DI_BRK = _ref1.DI_BRK, IN_BRK = _ref1.IN_BRK, CI_BRK = _ref1.CI_BRK, CP_BRK = _ref1.CP_BRK, PR_BRK = _ref1.PR_BRK, pairTable = _ref1.pairTable;
+
+         LineBreaker = (function() {
+           var Break, mapClass, mapFirst;
+
+           function LineBreaker(string) {
+             this.string = string;
+             this.pos = 0;
+             this.lastPos = 0;
+             this.curClass = null;
+             this.nextClass = null;
+           }
+
+           LineBreaker.prototype.nextCodePoint = function() {
+             var code, next;
+             code = this.string.charCodeAt(this.pos++);
+             next = this.string.charCodeAt(this.pos);
+             if ((0xd800 <= code && code <= 0xdbff) && (0xdc00 <= next && next <= 0xdfff)) {
+               this.pos++;
+               return ((code - 0xd800) * 0x400) + (next - 0xdc00) + 0x10000;
+             }
+             return code;
+           };
+
+           mapClass = function(c) {
+             switch (c) {
+               case AI:
+                 return AL;
+               case SA:
+               case SG:
+               case XX:
+                 return AL;
+               case CJ:
+                 return NS;
+               default:
+                 return c;
+             }
+           };
+
+           mapFirst = function(c) {
+             switch (c) {
+               case LF:
+               case NL:
+                 return BK;
+               case CB:
+                 return BA;
+               case SP:
+                 return WJ;
+               default:
+                 return c;
+             }
+           };
+
+           LineBreaker.prototype.nextCharClass = function(first) {
+             if (first == null) {
+               first = false;
+             }
+             return mapClass(classTrie.get(this.nextCodePoint()));
+           };
+
+           Break = (function() {
+             function Break(position, required) {
+               this.position = position;
+               this.required = required != null ? required : false;
+             }
+
+             return Break;
+
+           })();
+
+           LineBreaker.prototype.nextBreak = function() {
+             var cur, lastClass, shouldBreak;
+             if (this.curClass == null) {
+               this.curClass = mapFirst(this.nextCharClass());
+             }
+             while (this.pos < this.string.length) {
+               this.lastPos = this.pos;
+               lastClass = this.nextClass;
+               this.nextClass = this.nextCharClass();
+               if (this.curClass === BK || (this.curClass === CR && this.nextClass !== LF)) {
+                 this.curClass = mapFirst(mapClass(this.nextClass));
+                 return new Break(this.lastPos, true);
+               }
+               cur = (function() {
+                 switch (this.nextClass) {
+                   case SP:
+                     return this.curClass;
+                   case BK:
+                   case LF:
+                   case NL:
+                     return BK;
+                   case CR:
+                     return CR;
+                   case CB:
+                     return BA;
+                 }
+               }).call(this);
+               if (cur != null) {
+                 this.curClass = cur;
+                 if (this.nextClass === CB) {
+                   return new Break(this.lastPos);
+                 }
+                 continue;
+               }
+               shouldBreak = false;
+               switch (pairTable[this.curClass][this.nextClass]) {
+                 case DI_BRK:
+                   shouldBreak = true;
+                   break;
+                 case IN_BRK:
+                   shouldBreak = lastClass === SP;
+                   break;
+                 case CI_BRK:
+                   shouldBreak = lastClass === SP;
+                   if (!shouldBreak) {
+                     continue;
+                   }
+                   break;
+                 case CP_BRK:
+                   if (lastClass !== SP) {
+                     continue;
+                   }
+               }
+               this.curClass = this.nextClass;
+               if (shouldBreak) {
+                 return new Break(this.lastPos);
+               }
+             }
+             if (this.pos >= this.string.length) {
+               if (this.lastPos < this.string.length) {
+                 this.lastPos = this.string.length;
+                 return new Break(this.string.length);
+               } else {
+                 return null;
+               }
+             }
+           };
+
+           return LineBreaker;
+
+         })();
+
+         module.exports = LineBreaker;
+
+       }).call(this);
+
+
+/***/ },
+/* 92 */
+/***/ function(module, exports) {
+
+       // Generated by CoffeeScript 1.7.1
+       var UnicodeTrie,
+         __slice = [].slice;
+
+       UnicodeTrie = (function() {
+         var DATA_BLOCK_LENGTH, DATA_GRANULARITY, DATA_MASK, INDEX_1_OFFSET, INDEX_2_BLOCK_LENGTH, INDEX_2_BMP_LENGTH, INDEX_2_MASK, INDEX_SHIFT, LSCP_INDEX_2_LENGTH, LSCP_INDEX_2_OFFSET, OMITTED_BMP_INDEX_1_LENGTH, SHIFT_1, SHIFT_1_2, SHIFT_2, UTF8_2B_INDEX_2_LENGTH, UTF8_2B_INDEX_2_OFFSET;
+
+         SHIFT_1 = 6 + 5;
+
+         SHIFT_2 = 5;
+
+         SHIFT_1_2 = SHIFT_1 - SHIFT_2;
+
+         OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> SHIFT_1;
+
+         INDEX_2_BLOCK_LENGTH = 1 << SHIFT_1_2;
+
+         INDEX_2_MASK = INDEX_2_BLOCK_LENGTH - 1;
+
+         INDEX_SHIFT = 2;
+
+         DATA_BLOCK_LENGTH = 1 << SHIFT_2;
+
+         DATA_MASK = DATA_BLOCK_LENGTH - 1;
+
+         LSCP_INDEX_2_OFFSET = 0x10000 >> SHIFT_2;
+
+         LSCP_INDEX_2_LENGTH = 0x400 >> SHIFT_2;
+
+         INDEX_2_BMP_LENGTH = LSCP_INDEX_2_OFFSET + LSCP_INDEX_2_LENGTH;
+
+         UTF8_2B_INDEX_2_OFFSET = INDEX_2_BMP_LENGTH;
+
+         UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6;
+
+         INDEX_1_OFFSET = UTF8_2B_INDEX_2_OFFSET + UTF8_2B_INDEX_2_LENGTH;
+
+         DATA_GRANULARITY = 1 << INDEX_SHIFT;
+
+         function UnicodeTrie(json) {
+           var _ref, _ref1;
+           if (json == null) {
+             json = {};
+           }
+           this.data = json.data || [];
+           this.highStart = (_ref = json.highStart) != null ? _ref : 0;
+           this.errorValue = (_ref1 = json.errorValue) != null ? _ref1 : -1;
+         }
+
+         UnicodeTrie.prototype.get = function(codePoint) {
+           var index;
+           if (codePoint < 0 || codePoint > 0x10ffff) {
+             return this.errorValue;
+           }
+           if (codePoint < 0xd800 || (codePoint > 0xdbff && codePoint <= 0xffff)) {
+             index = (this.data[codePoint >> SHIFT_2] << INDEX_SHIFT) + (codePoint & DATA_MASK);
+             return this.data[index];
+           }
+           if (codePoint <= 0xffff) {
+             index = (this.data[LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> SHIFT_2)] << INDEX_SHIFT) + (codePoint & DATA_MASK);
+             return this.data[index];
+           }
+           if (codePoint < this.highStart) {
+             index = this.data[(INDEX_1_OFFSET - OMITTED_BMP_INDEX_1_LENGTH) + (codePoint >> SHIFT_1)];
+             index = this.data[index + ((codePoint >> SHIFT_2) & INDEX_2_MASK)];
+             index = (index << INDEX_SHIFT) + (codePoint & DATA_MASK);
+             return this.data[index];
+           }
+           return this.data[this.data.length - DATA_GRANULARITY];
+         };
+
+         UnicodeTrie.prototype.toJSON = function() {
+           var res;
+           res = {
+             data: __slice.call(this.data),
+             highStart: this.highStart,
+             errorValue: this.errorValue
+           };
+           return res;
+         };
+
+         return UnicodeTrie;
+
+       })();
+
+       module.exports = UnicodeTrie;
+
+
+/***/ },
+/* 93 */
+/***/ function(module, exports) {
+
+       module.exports = {
+               "data": [
+                       1961,
+                       1969,
+                       1977,
+                       1985,
+                       2025,
+                       2033,
+                       2041,
+                       2049,
+                       2057,
+                       2065,
+                       2073,
+                       2081,
+                       2089,
+                       2097,
+                       2105,
+                       2113,
+                       2121,
+                       2129,
+                       2137,
+                       2145,
+                       2153,
+                       2161,
+                       2169,
+                       2177,
+                       2185,
+                       2193,
+                       2201,
+                       2209,
+                       2217,
+                       2225,
+                       2233,
+                       2241,
+                       2249,
+                       2257,
+                       2265,
+                       2273,
+                       2281,
+                       2289,
+                       2297,
+                       2305,
+                       2313,
+                       2321,
+                       2329,
+                       2337,
+                       2345,
+                       2353,
+                       2361,
+                       2369,
+                       2377,
+                       2385,
+                       2393,
+                       2401,
+                       2409,
+                       2417,
+                       2425,
+                       2433,
+                       2441,
+                       2449,
+                       2457,
+                       2465,
+                       2473,
+                       2481,
+                       2489,
+                       2497,
+                       2505,
+                       2513,
+                       2521,
+                       2529,
+                       2529,
+                       2537,
+                       2009,
+                       2545,
+                       2553,
+                       2561,
+                       2569,
+                       2577,
+                       2585,
+                       2593,
+                       2601,
+                       2609,
+                       2617,
+                       2625,
+                       2633,
+                       2641,
+                       2649,
+                       2657,
+                       2665,
+                       2673,
+                       2681,
+                       2689,
+                       2697,
+                       2705,
+                       2713,
+                       2721,
+                       2729,
+                       2737,
+                       2745,
+                       2753,
+                       2761,
+                       2769,
+                       2777,
+                       2785,
+                       2793,
+                       2801,
+                       2809,
+                       2817,
+                       2825,
+                       2833,
+                       2841,
+                       2849,
+                       2857,
+                       2865,
+                       2873,
+                       2881,
+                       2889,
+                       2009,
+                       2897,
+                       2905,
+                       2913,
+                       2009,
+                       2921,
+                       2929,
+                       2937,
+                       2945,
+                       2953,
+                       2961,
+                       2969,
+                       2009,
+                       2977,
+                       2977,
+                       2985,
+                       2993,
+                       3001,
+                       3009,
+                       3009,
+                       3009,
+                       3017,
+                       3017,
+                       3017,
+                       3025,
+                       3025,
+                       3033,
+                       3041,
+                       3041,
+                       3049,
+                       3049,
+                       3049,
+                       3049,
+                       3049,
+                       3049,
+                       3049,
+                       3049,
+                       3049,
+                       3049,
+                       3057,
+                       3065,
+                       3073,
+                       3073,
+                       3073,
+                       3081,
+                       3089,
+                       3097,
+                       3097,
+                       3097,
+                       3097,
+                       3097,
+                       3097,
+                       3097,
+                       3097,
+                       3097,
+                       3097,
+                       3097,
+                       3097,
+                       3097,
+                       3097,
+                       3097,
+                       3097,
+                       3097,
+                       3097,
+                       3097,
+                       3105,
+                       3113,
+                       3113,
+                       3121,
+                       3129,
+                       3137,
+                       3145,
+                       3153,
+                       3161,
+                       3161,
+                       3169,
+                       3177,
+                       3185,
+                       3193,
+                       3193,
+                       3193,
+                       3193,
+                       3201,
+                       3209,
+                       3209,
+                       3217,
+                       3225,
+                       3233,
+                       3241,
+                       3241,
+                       3241,
+                       3249,
+                       3257,
+                       3265,
+                       3273,
+                       3273,
+                       3281,
+                       3289,
+                       3297,
+                       2009,
+                       2009,
+                       3305,
+                       3313,
+                       3321,
+                       3329,
+                       3337,
+                       3345,
+                       3353,
+                       3361,
+                       3369,
+                       3377,
+                       3385,
+                       3393,
+                       2009,
+                       2009,
+                       3401,
+                       3409,
+                       3417,
+                       3417,
+                       3417,
+                       3417,
+                       3417,
+                       3417,
+                       3425,
+                       3425,
+                       3433,
+                       3433,
+                       3433,
+                       3433,
+                       3433,
+                       3433,
+                       3433,
+                       3433,
+                       3433,
+                       3433,
+                       3433,
+                       3433,
+                       3433,
+                       3433,
+                       3433,
+                       3441,
+                       3449,
+                       3457,
+                       3465,
+                       3473,
+                       3481,
+                       3489,
+                       3497,
+                       3505,
+                       3513,
+                       3521,
+                       3529,
+                       3537,
+                       3545,
+                       3553,
+                       3561,
+                       3569,
+                       3577,
+                       3585,
+                       3593,
+                       3601,
+                       3609,
+                       3617,
+                       3625,
+                       3625,
+                       3633,
+                       3641,
+                       3649,
+                       3649,
+                       3649,
+                       3649,
+                       3649,
+                       3657,
+                       3665,
+                       3665,
+                       3673,
+                       3681,
+                       3681,
+                       3681,
+                       3681,
+                       3689,
+                       3697,
+                       3697,
+                       3705,
+                       3713,
+                       3721,
+                       3729,
+                       3737,
+                       3745,
+                       3753,
+                       3761,
+                       3769,
+                       3777,
+                       3785,
+                       3793,
+                       3801,
+                       3809,
+                       3817,
+                       3825,
+                       3833,
+                       3841,
+                       3849,
+                       3857,
+                       3865,
+                       3873,
+                       3881,
+                       3881,
+                       3881,
+                       3881,
+                       3881,
+                       3881,
+                       3881,
+                       3881,
+                       3881,
+                       3881,
+                       3881,
+                       3881,
+                       3889,
+                       3897,
+                       3905,
+                       3913,
+                       3921,
+                       3921,
+                       3921,
+                       3921,
+                       3921,
+                       3921,
+                       3921,
+                       3921,
+                       3921,
+                       3921,
+                       3929,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       3937,
+                       3937,
+                       3937,
+                       3937,
+                       3937,
+                       3937,
+                       3937,
+                       3945,
+                       3953,
+                       3953,
+                       3953,
+                       3961,
+                       3969,
+                       3969,
+                       3977,
+                       3985,
+                       3993,
+                       4001,
+                       2009,
+                       2009,
+                       4009,
+                       4009,
+                       4009,
+                       4009,
+                       4009,
+                       4009,
+                       4009,
+                       4009,
+                       4009,
+                       4009,
+                       4009,
+                       4009,
+                       4017,
+                       4025,
+                       4033,
+                       4041,
+                       4049,
+                       4057,
+                       4065,
+                       4073,
+                       4081,
+                       4081,
+                       4081,
+                       4081,
+                       4081,
+                       4081,
+                       4081,
+                       4089,
+                       4097,
+                       4097,
+                       4105,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4113,
+                       4121,
+                       4121,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4129,
+                       4137,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4145,
+                       4153,
+                       4161,
+                       4169,
+                       4169,
+                       4169,
+                       4169,
+                       4169,
+                       4169,
+                       4169,
+                       4169,
+                       4177,
+                       4185,
+                       4193,
+                       4201,
+                       4209,
+                       4217,
+                       4217,
+                       4225,
+                       4233,
+                       4233,
+                       4233,
+                       4233,
+                       4233,
+                       4233,
+                       4233,
+                       4233,
+                       4241,
+                       4249,
+                       4257,
+                       4265,
+                       4273,
+                       4281,
+                       4289,
+                       4297,
+                       4305,
+                       4313,
+                       4321,
+                       4329,
+                       4337,
+                       4345,
+                       4353,
+                       4361,
+                       4361,
+                       4369,
+                       4377,
+                       4385,
+                       4385,
+                       4385,
+                       4385,
+                       4393,
+                       4401,
+                       4409,
+                       4409,
+                       4409,
+                       4409,
+                       4409,
+                       4409,
+                       4417,
+                       4425,
+                       4433,
+                       4441,
+                       4449,
+                       4457,
+                       4465,
+                       4473,
+                       4481,
+                       4489,
+                       4497,
+                       4505,
+                       4513,
+                       4521,
+                       4529,
+                       4537,
+                       4545,
+                       4553,
+                       4561,
+                       4569,
+                       4577,
+                       4585,
+                       4593,
+                       4601,
+                       4609,
+                       4617,
+                       4625,
+                       4633,
+                       4641,
+                       4649,
+                       4657,
+                       4665,
+                       4673,
+                       4681,
+                       4689,
+                       4697,
+                       4705,
+                       4713,
+                       4721,
+                       4729,
+                       4737,
+                       4745,
+                       4753,
+                       4761,
+                       4769,
+                       4777,
+                       4785,
+                       4793,
+                       4801,
+                       4809,
+                       4817,
+                       4825,
+                       4833,
+                       4841,
+                       4849,
+                       4857,
+                       4865,
+                       4873,
+                       4881,
+                       4889,
+                       4897,
+                       4905,
+                       4913,
+                       4921,
+                       4929,
+                       4937,
+                       4945,
+                       4953,
+                       4961,
+                       4969,
+                       4977,
+                       4985,
+                       4993,
+                       5001,
+                       5009,
+                       5017,
+                       5025,
+                       5033,
+                       5041,
+                       5049,
+                       5057,
+                       5065,
+                       5073,
+                       5081,
+                       5089,
+                       5097,
+                       5105,
+                       5113,
+                       5121,
+                       5129,
+                       5137,
+                       5145,
+                       5153,
+                       5161,
+                       5169,
+                       5177,
+                       5185,
+                       5193,
+                       5201,
+                       5209,
+                       5217,
+                       5225,
+                       5233,
+                       5241,
+                       5249,
+                       5257,
+                       5265,
+                       5273,
+                       5281,
+                       5289,
+                       5297,
+                       5305,
+                       5313,
+                       5321,
+                       5329,
+                       5337,
+                       5345,
+                       5353,
+                       5361,
+                       5369,
+                       5377,
+                       5385,
+                       5393,
+                       5401,
+                       5409,
+                       5417,
+                       5425,
+                       5433,
+                       5441,
+                       5449,
+                       5457,
+                       5465,
+                       5473,
+                       5481,
+                       5489,
+                       5497,
+                       5505,
+                       5513,
+                       5521,
+                       5529,
+                       5537,
+                       5545,
+                       5553,
+                       5561,
+                       5569,
+                       5577,
+                       5585,
+                       5593,
+                       5601,
+                       5609,
+                       5617,
+                       5625,
+                       5633,
+                       5641,
+                       5649,
+                       5657,
+                       5665,
+                       5673,
+                       5681,
+                       5689,
+                       5697,
+                       5705,
+                       5713,
+                       5721,
+                       5729,
+                       5737,
+                       5745,
+                       5753,
+                       5761,
+                       5769,
+                       5777,
+                       5785,
+                       5793,
+                       5801,
+                       5809,
+                       5817,
+                       5825,
+                       5833,
+                       5841,
+                       5849,
+                       5857,
+                       5865,
+                       5873,
+                       5881,
+                       5889,
+                       5897,
+                       5905,
+                       5913,
+                       5921,
+                       5929,
+                       5937,
+                       5945,
+                       5953,
+                       5961,
+                       5969,
+                       5977,
+                       5985,
+                       5993,
+                       6001,
+                       6009,
+                       6017,
+                       6025,
+                       6033,
+                       6041,
+                       6049,
+                       6057,
+                       6065,
+                       6073,
+                       6081,
+                       6089,
+                       6097,
+                       6105,
+                       6113,
+                       6121,
+                       6129,
+                       6137,
+                       6145,
+                       6153,
+                       6161,
+                       6169,
+                       6177,
+                       6185,
+                       6193,
+                       6201,
+                       6209,
+                       6217,
+                       6225,
+                       6233,
+                       6241,
+                       6249,
+                       6257,
+                       6265,
+                       6273,
+                       6281,
+                       6289,
+                       6297,
+                       6305,
+                       6313,
+                       6321,
+                       6329,
+                       6337,
+                       6345,
+                       6353,
+                       6361,
+                       6369,
+                       6377,
+                       6385,
+                       6393,
+                       6401,
+                       6409,
+                       6417,
+                       6425,
+                       6433,
+                       6441,
+                       6449,
+                       6457,
+                       6465,
+                       6473,
+                       6481,
+                       6489,
+                       6497,
+                       6505,
+                       6513,
+                       6521,
+                       6529,
+                       6537,
+                       6545,
+                       6553,
+                       6561,
+                       6569,
+                       6577,
+                       6585,
+                       6593,
+                       6601,
+                       6609,
+                       6617,
+                       6625,
+                       6633,
+                       6641,
+                       6649,
+                       6657,
+                       6665,
+                       6673,
+                       6681,
+                       6689,
+                       6697,
+                       6705,
+                       6713,
+                       6721,
+                       6729,
+                       6737,
+                       6745,
+                       6753,
+                       6761,
+                       6769,
+                       6777,
+                       6785,
+                       6793,
+                       6801,
+                       6809,
+                       6817,
+                       6825,
+                       6833,
+                       6841,
+                       6849,
+                       6857,
+                       6865,
+                       6873,
+                       6881,
+                       6889,
+                       6897,
+                       6905,
+                       6913,
+                       6921,
+                       6929,
+                       6937,
+                       6945,
+                       6953,
+                       6961,
+                       6969,
+                       6977,
+                       6985,
+                       6993,
+                       7001,
+                       7009,
+                       7017,
+                       7025,
+                       7033,
+                       7041,
+                       7049,
+                       7057,
+                       7065,
+                       7073,
+                       7081,
+                       7089,
+                       7097,
+                       7105,
+                       7113,
+                       7121,
+                       7129,
+                       7137,
+                       7145,
+                       7153,
+                       7161,
+                       7169,
+                       7177,
+                       7185,
+                       7193,
+                       7201,
+                       7209,
+                       7217,
+                       7225,
+                       7233,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       7249,
+                       7249,
+                       7249,
+                       7249,
+                       7249,
+                       7249,
+                       7249,
+                       7249,
+                       7249,
+                       7249,
+                       7249,
+                       7249,
+                       7249,
+                       7249,
+                       7249,
+                       7249,
+                       7257,
+                       7265,
+                       7273,
+                       7281,
+                       7281,
+                       7281,
+                       7281,
+                       7281,
+                       7281,
+                       7281,
+                       7281,
+                       7281,
+                       7281,
+                       7281,
+                       7281,
+                       7281,
+                       7281,
+                       7289,
+                       7297,
+                       7305,
+                       7305,
+                       7305,
+                       7305,
+                       7313,
+                       7321,
+                       7329,
+                       7337,
+                       7345,
+                       7353,
+                       7353,
+                       7353,
+                       7361,
+                       7369,
+                       7377,
+                       7385,
+                       7393,
+                       7401,
+                       7409,
+                       7417,
+                       7425,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7241,
+                       7972,
+                       7972,
+                       8100,
+                       8164,
+                       8228,
+                       8292,
+                       8356,
+                       8420,
+                       8484,
+                       8548,
+                       8612,
+                       8676,
+                       8740,
+                       8804,
+                       8868,
+                       8932,
+                       8996,
+                       9060,
+                       9124,
+                       9188,
+                       9252,
+                       9316,
+                       9380,
+                       9444,
+                       9508,
+                       9572,
+                       9636,
+                       9700,
+                       9764,
+                       9828,
+                       9892,
+                       9956,
+                       2593,
+                       2657,
+                       2721,
+                       2529,
+                       2785,
+                       2529,
+                       2849,
+                       2913,
+                       2977,
+                       3041,
+                       3105,
+                       3169,
+                       3233,
+                       3297,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       3361,
+                       2529,
+                       2529,
+                       2529,
+                       3425,
+                       2529,
+                       2529,
+                       3489,
+                       3553,
+                       2529,
+                       3617,
+                       3681,
+                       3745,
+                       3809,
+                       3873,
+                       3937,
+                       4001,
+                       4065,
+                       4129,
+                       4193,
+                       4257,
+                       4321,
+                       4385,
+                       4449,
+                       4513,
+                       4577,
+                       4641,
+                       4705,
+                       4769,
+                       4833,
+                       4897,
+                       4961,
+                       5025,
+                       5089,
+                       5153,
+                       5217,
+                       5281,
+                       5345,
+                       5409,
+                       5473,
+                       5537,
+                       5601,
+                       5665,
+                       5729,
+                       5793,
+                       5857,
+                       5921,
+                       5985,
+                       6049,
+                       6113,
+                       6177,
+                       6241,
+                       6305,
+                       6369,
+                       6433,
+                       6497,
+                       6561,
+                       6625,
+                       6689,
+                       6753,
+                       6817,
+                       6881,
+                       6945,
+                       7009,
+                       7073,
+                       7137,
+                       7201,
+                       7265,
+                       7329,
+                       7393,
+                       7457,
+                       7521,
+                       7585,
+                       7649,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       2529,
+                       7713,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       7433,
+                       7433,
+                       7433,
+                       7433,
+                       7433,
+                       7433,
+                       7433,
+                       7441,
+                       7449,
+                       7457,
+                       7457,
+                       7457,
+                       7457,
+                       7457,
+                       7457,
+                       7465,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       7473,
+                       7473,
+                       7473,
+                       7473,
+                       7473,
+                       7473,
+                       7473,
+                       7473,
+                       7481,
+                       7489,
+                       7497,
+                       7505,
+                       7505,
+                       7505,
+                       7505,
+                       7505,
+                       7513,
+                       7521,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       7529,
+                       7529,
+                       7537,
+                       7545,
+                       7545,
+                       7545,
+                       7545,
+                       7545,
+                       7553,
+                       7561,
+                       7561,
+                       7561,
+                       7561,
+                       7561,
+                       7561,
+                       7561,
+                       7569,
+                       7577,
+                       7585,
+                       7593,
+                       7593,
+                       7593,
+                       7593,
+                       7593,
+                       7593,
+                       7601,
+                       7609,
+                       7609,
+                       7609,
+                       7609,
+                       7609,
+                       7609,
+                       7609,
+                       7609,
+                       7609,
+                       7609,
+                       7609,
+                       7609,
+                       7609,
+                       7609,
+                       7609,
+                       7609,
+                       7609,
+                       7609,
+                       7609,
+                       7609,
+                       7609,
+                       7609,
+                       7609,
+                       7609,
+                       7609,
+                       7617,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       7625,
+                       7633,
+                       7641,
+                       7649,
+                       7657,
+                       7665,
+                       7673,
+                       7681,
+                       7689,
+                       7697,
+                       7705,
+                       2009,
+                       7713,
+                       7721,
+                       7729,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       7737,
+                       7745,
+                       7753,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7761,
+                       7769,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       7777,
+                       7777,
+                       7777,
+                       7777,
+                       7777,
+                       7777,
+                       7777,
+                       7777,
+                       7777,
+                       7777,
+                       7777,
+                       7777,
+                       7777,
+                       7777,
+                       7777,
+                       7777,
+                       7777,
+                       7777,
+                       7785,
+                       7793,
+                       7801,
+                       7809,
+                       7809,
+                       7809,
+                       7809,
+                       7809,
+                       7809,
+                       7817,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7825,
+                       7833,
+                       7841,
+                       7849,
+                       2009,
+                       2009,
+                       2009,
+                       7857,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       7865,
+                       7865,
+                       7865,
+                       7865,
+                       7865,
+                       7865,
+                       7865,
+                       7865,
+                       7865,
+                       7865,
+                       7865,
+                       7873,
+                       7881,
+                       7889,
+                       7897,
+                       7897,
+                       7897,
+                       7897,
+                       7905,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7913,
+                       7921,
+                       7929,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       7937,
+                       7937,
+                       7937,
+                       7937,
+                       7937,
+                       7937,
+                       7937,
+                       7945,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       7953,
+                       7953,
+                       7953,
+                       7953,
+                       7953,
+                       7953,
+                       7953,
+                       2009,
+                       7961,
+                       7969,
+                       7977,
+                       7985,
+                       7993,
+                       2009,
+                       2009,
+                       8001,
+                       8009,
+                       8009,
+                       8009,
+                       8009,
+                       8009,
+                       8009,
+                       8009,
+                       8009,
+                       8009,
+                       8009,
+                       8009,
+                       8009,
+                       8009,
+                       8017,
+                       8025,
+                       8025,
+                       8025,
+                       8025,
+                       8025,
+                       8025,
+                       8025,
+                       8033,
+                       8041,
+                       8049,
+                       8057,
+                       8065,
+                       8073,
+                       8081,
+                       8081,
+                       8081,
+                       8081,
+                       8081,
+                       8081,
+                       8081,
+                       8081,
+                       8081,
+                       8081,
+                       8081,
+                       8089,
+                       2009,
+                       8097,
+                       8097,
+                       8097,
+                       8105,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8113,
+                       8121,
+                       8129,
+                       8137,
+                       8137,
+                       8137,
+                       8137,
+                       8137,
+                       8137,
+                       8137,
+                       8137,
+                       8137,
+                       8137,
+                       8137,
+                       8137,
+                       8137,
+                       8137,
+                       8145,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       2009,
+                       67496,
+                       67496,
+                       67496,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       17,
+                       34,
+                       30,
+                       30,
+                       33,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       38,
+                       6,
+                       3,
+                       12,
+                       9,
+                       10,
+                       12,
+                       3,
+                       0,
+                       2,
+                       12,
+                       9,
+                       8,
+                       16,
+                       8,
+                       7,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       8,
+                       8,
+                       12,
+                       12,
+                       12,
+                       6,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       0,
+                       9,
+                       2,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       0,
+                       17,
+                       1,
+                       12,
+                       21,
+                       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,
+                       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,
+                       0,
+                       0,
+                       0,
+                       0,
+                       0,
+                       0,
+                       0,
+                       0,
+                       0,
+                       0,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       35,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       4,
+                       0,
+                       10,
+                       9,
+                       9,
+                       9,
+                       12,
+                       29,
+                       29,
+                       12,
+                       29,
+                       3,
+                       12,
+                       17,
+                       12,
+                       12,
+                       10,
+                       9,
+                       29,
+                       29,
+                       18,
+                       12,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       3,
+                       29,
+                       29,
+                       29,
+                       0,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       18,
+                       29,
+                       29,
+                       29,
+                       18,
+                       29,
+                       12,
+                       12,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       29,
+                       29,
+                       29,
+                       12,
+                       29,
+                       12,
+                       18,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       4,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       4,
+                       4,
+                       4,
+                       4,
+                       4,
+                       4,
+                       4,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       8,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       8,
+                       17,
+                       39,
+                       39,
+                       39,
+                       39,
+                       9,
+                       39,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       17,
+                       21,
+                       12,
+                       21,
+                       21,
+                       12,
+                       21,
+                       21,
+                       6,
+                       21,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       10,
+                       10,
+                       10,
+                       8,
+                       8,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       6,
+                       6,
+                       6,
+                       6,
+                       6,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       10,
+                       11,
+                       11,
+                       12,
+                       12,
+                       12,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       6,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       21,
+                       21,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       8,
+                       6,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       21,
+                       21,
+                       21,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       17,
+                       17,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       21,
+                       21,
+                       21,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       21,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       21,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       39,
+                       39,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       12,
+                       12,
+                       10,
+                       10,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       10,
+                       12,
+                       9,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       21,
+                       21,
+                       21,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       21,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       39,
+                       39,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       12,
+                       9,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       21,
+                       21,
+                       21,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       21,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       39,
+                       39,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       39,
+                       39,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       21,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       9,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       21,
+                       21,
+                       21,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       39,
+                       39,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       21,
+                       21,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       21,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       39,
+                       39,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       39,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       21,
+                       21,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       21,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       21,
+                       21,
+                       39,
+                       39,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       10,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       21,
+                       21,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       39,
+                       39,
+                       39,
+                       39,
+                       9,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       12,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       17,
+                       17,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       39,
+                       39,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       39,
+                       39,
+                       36,
+                       36,
+                       36,
+                       36,
+                       12,
+                       18,
+                       18,
+                       18,
+                       18,
+                       12,
+                       18,
+                       18,
+                       4,
+                       18,
+                       18,
+                       17,
+                       4,
+                       6,
+                       6,
+                       6,
+                       6,
+                       6,
+                       4,
+                       12,
+                       6,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       17,
+                       21,
+                       12,
+                       21,
+                       12,
+                       21,
+                       0,
+                       1,
+                       0,
+                       1,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       17,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       17,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       39,
+                       17,
+                       17,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       18,
+                       18,
+                       17,
+                       18,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       4,
+                       4,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       17,
+                       17,
+                       12,
+                       12,
+                       12,
+                       12,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       21,
+                       21,
+                       21,
+                       12,
+                       17,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       17,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       17,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       0,
+                       1,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       17,
+                       17,
+                       17,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       17,
+                       17,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       21,
+                       21,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       17,
+                       17,
+                       5,
+                       36,
+                       17,
+                       12,
+                       17,
+                       9,
+                       36,
+                       36,
+                       39,
+                       39,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       6,
+                       6,
+                       17,
+                       17,
+                       18,
+                       12,
+                       6,
+                       6,
+                       12,
+                       21,
+                       21,
+                       21,
+                       4,
+                       39,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       39,
+                       39,
+                       39,
+                       6,
+                       6,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       39,
+                       39,
+                       12,
+                       12,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       39,
+                       39,
+                       21,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       17,
+                       17,
+                       12,
+                       17,
+                       17,
+                       17,
+                       17,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       39,
+                       39,
+                       39,
+                       17,
+                       17,
+                       17,
+                       17,
+                       17,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       17,
+                       17,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       21,
+                       21,
+                       21,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       18,
+                       12,
+                       39,
+                       17,
+                       17,
+                       17,
+                       17,
+                       17,
+                       17,
+                       17,
+                       4,
+                       17,
+                       17,
+                       17,
+                       20,
+                       21,
+                       21,
+                       21,
+                       21,
+                       17,
+                       4,
+                       17,
+                       17,
+                       19,
+                       29,
+                       29,
+                       12,
+                       3,
+                       3,
+                       0,
+                       3,
+                       3,
+                       3,
+                       0,
+                       3,
+                       29,
+                       29,
+                       12,
+                       12,
+                       15,
+                       15,
+                       15,
+                       17,
+                       30,
+                       30,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       4,
+                       10,
+                       10,
+                       10,
+                       10,
+                       10,
+                       10,
+                       10,
+                       10,
+                       12,
+                       3,
+                       3,
+                       29,
+                       5,
+                       5,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       8,
+                       0,
+                       1,
+                       5,
+                       5,
+                       5,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       17,
+                       12,
+                       17,
+                       17,
+                       17,
+                       17,
+                       12,
+                       17,
+                       17,
+                       17,
+                       22,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       39,
+                       39,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       0,
+                       1,
+                       29,
+                       12,
+                       29,
+                       29,
+                       29,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       0,
+                       1,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       9,
+                       9,
+                       9,
+                       9,
+                       9,
+                       9,
+                       9,
+                       10,
+                       9,
+                       9,
+                       9,
+                       9,
+                       9,
+                       9,
+                       9,
+                       9,
+                       9,
+                       9,
+                       9,
+                       9,
+                       9,
+                       9,
+                       10,
+                       9,
+                       9,
+                       9,
+                       9,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       10,
+                       12,
+                       29,
+                       12,
+                       12,
+                       12,
+                       10,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       12,
+                       12,
+                       9,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       12,
+                       12,
+                       29,
+                       12,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       12,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       12,
+                       29,
+                       29,
+                       12,
+                       12,
+                       12,
+                       29,
+                       29,
+                       12,
+                       12,
+                       29,
+                       12,
+                       12,
+                       12,
+                       29,
+                       12,
+                       29,
+                       9,
+                       9,
+                       12,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       12,
+                       12,
+                       29,
+                       29,
+                       29,
+                       29,
+                       12,
+                       12,
+                       29,
+                       12,
+                       29,
+                       12,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       12,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       29,
+                       29,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       12,
+                       12,
+                       12,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       29,
+                       12,
+                       12,
+                       29,
+                       29,
+                       29,
+                       29,
+                       12,
+                       12,
+                       29,
+                       29,
+                       12,
+                       12,
+                       29,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       29,
+                       12,
+                       12,
+                       29,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       12,
+                       12,
+                       12,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       14,
+                       14,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       0,
+                       1,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       14,
+                       14,
+                       14,
+                       14,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       12,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       12,
+                       12,
+                       29,
+                       29,
+                       29,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       29,
+                       12,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       29,
+                       12,
+                       12,
+                       29,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       29,
+                       12,
+                       12,
+                       29,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       29,
+                       29,
+                       12,
+                       12,
+                       29,
+                       12,
+                       12,
+                       29,
+                       29,
+                       29,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       29,
+                       29,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       14,
+                       14,
+                       14,
+                       14,
+                       12,
+                       29,
+                       29,
+                       12,
+                       12,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       14,
+                       14,
+                       29,
+                       29,
+                       14,
+                       12,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       14,
+                       14,
+                       14,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       12,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       29,
+                       12,
+                       29,
+                       29,
+                       29,
+                       12,
+                       29,
+                       14,
+                       29,
+                       29,
+                       12,
+                       29,
+                       29,
+                       12,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       14,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       29,
+                       29,
+                       29,
+                       29,
+                       14,
+                       12,
+                       14,
+                       14,
+                       14,
+                       29,
+                       14,
+                       14,
+                       29,
+                       29,
+                       29,
+                       14,
+                       14,
+                       29,
+                       29,
+                       14,
+                       29,
+                       29,
+                       14,
+                       14,
+                       14,
+                       12,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       29,
+                       14,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       29,
+                       14,
+                       14,
+                       14,
+                       14,
+                       29,
+                       29,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       12,
+                       12,
+                       12,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       12,
+                       12,
+                       12,
+                       3,
+                       3,
+                       3,
+                       3,
+                       12,
+                       12,
+                       12,
+                       6,
+                       6,
+                       12,
+                       12,
+                       12,
+                       12,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       0,
+                       1,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       0,
+                       1,
+                       0,
+                       1,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       0,
+                       1,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       6,
+                       17,
+                       17,
+                       17,
+                       12,
+                       6,
+                       17,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       17,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       3,
+                       3,
+                       3,
+                       3,
+                       3,
+                       3,
+                       3,
+                       3,
+                       3,
+                       3,
+                       3,
+                       3,
+                       3,
+                       3,
+                       17,
+                       17,
+                       17,
+                       17,
+                       17,
+                       17,
+                       17,
+                       17,
+                       12,
+                       17,
+                       0,
+                       17,
+                       12,
+                       12,
+                       3,
+                       3,
+                       12,
+                       12,
+                       3,
+                       3,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       17,
+                       17,
+                       17,
+                       17,
+                       6,
+                       12,
+                       17,
+                       17,
+                       12,
+                       17,
+                       17,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       19,
+                       19,
+                       39,
+                       39,
+                       39,
+                       39,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       1,
+                       1,
+                       14,
+                       14,
+                       5,
+                       14,
+                       14,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       14,
+                       14,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       5,
+                       0,
+                       1,
+                       1,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       5,
+                       5,
+                       14,
+                       14,
+                       14,
+                       39,
+                       32,
+                       14,
+                       32,
+                       14,
+                       32,
+                       14,
+                       32,
+                       14,
+                       32,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       32,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       32,
+                       14,
+                       32,
+                       14,
+                       32,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       32,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       32,
+                       32,
+                       39,
+                       39,
+                       21,
+                       21,
+                       5,
+                       5,
+                       5,
+                       5,
+                       14,
+                       5,
+                       32,
+                       14,
+                       32,
+                       14,
+                       32,
+                       14,
+                       32,
+                       14,
+                       32,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       32,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       32,
+                       14,
+                       32,
+                       14,
+                       32,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       32,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       32,
+                       32,
+                       14,
+                       14,
+                       14,
+                       14,
+                       5,
+                       32,
+                       5,
+                       5,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       32,
+                       32,
+                       32,
+                       32,
+                       32,
+                       32,
+                       32,
+                       32,
+                       32,
+                       32,
+                       32,
+                       32,
+                       32,
+                       32,
+                       32,
+                       32,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       5,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       17,
+                       17,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       17,
+                       6,
+                       17,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       12,
+                       17,
+                       17,
+                       17,
+                       17,
+                       17,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       12,
+                       12,
+                       12,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       10,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       18,
+                       18,
+                       6,
+                       6,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       17,
+                       17,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       17,
+                       17,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       25,
+                       39,
+                       39,
+                       39,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       17,
+                       17,
+                       17,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       39,
+                       39,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       39,
+                       39,
+                       12,
+                       17,
+                       17,
+                       17,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       36,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       17,
+                       17,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       17,
+                       21,
+                       21,
+                       39,
+                       39,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       23,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       24,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       26,
+                       39,
+                       39,
+                       39,
+                       39,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       27,
+                       39,
+                       39,
+                       39,
+                       39,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       37,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       13,
+                       21,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       12,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       13,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       0,
+                       1,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       10,
+                       12,
+                       39,
+                       39,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       8,
+                       1,
+                       1,
+                       8,
+                       8,
+                       6,
+                       6,
+                       0,
+                       1,
+                       15,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       14,
+                       14,
+                       0,
+                       1,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       1,
+                       14,
+                       1,
+                       39,
+                       5,
+                       5,
+                       6,
+                       6,
+                       14,
+                       0,
+                       1,
+                       0,
+                       1,
+                       0,
+                       1,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       9,
+                       10,
+                       14,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       22,
+                       39,
+                       6,
+                       14,
+                       14,
+                       9,
+                       10,
+                       14,
+                       14,
+                       0,
+                       1,
+                       14,
+                       14,
+                       1,
+                       14,
+                       1,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       5,
+                       5,
+                       14,
+                       14,
+                       14,
+                       6,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       0,
+                       14,
+                       1,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       0,
+                       14,
+                       1,
+                       14,
+                       0,
+                       1,
+                       1,
+                       0,
+                       1,
+                       1,
+                       5,
+                       12,
+                       32,
+                       32,
+                       32,
+                       32,
+                       32,
+                       32,
+                       32,
+                       32,
+                       32,
+                       32,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       5,
+                       5,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       10,
+                       9,
+                       14,
+                       14,
+                       14,
+                       9,
+                       9,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       21,
+                       21,
+                       21,
+                       31,
+                       29,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       17,
+                       17,
+                       17,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       17,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       17,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       17,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       17,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       17,
+                       17,
+                       17,
+                       17,
+                       17,
+                       17,
+                       17,
+                       17,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       17,
+                       17,
+                       17,
+                       17,
+                       17,
+                       17,
+                       17,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       17,
+                       17,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       17,
+                       17,
+                       17,
+                       17,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       39,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       17,
+                       17,
+                       17,
+                       17,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       17,
+                       17,
+                       12,
+                       17,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       17,
+                       17,
+                       17,
+                       17,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       0,
+                       0,
+                       0,
+                       1,
+                       1,
+                       1,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       1,
+                       12,
+                       12,
+                       12,
+                       0,
+                       1,
+                       0,
+                       1,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       0,
+                       1,
+                       1,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       14,
+                       14,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       21,
+                       21,
+                       21,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       11,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       12,
+                       39,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       29,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       28,
+                       28,
+                       28,
+                       28,
+                       28,
+                       28,
+                       28,
+                       28,
+                       28,
+                       28,
+                       28,
+                       28,
+                       28,
+                       28,
+                       28,
+                       28,
+                       28,
+                       28,
+                       28,
+                       28,
+                       28,
+                       28,
+                       28,
+                       28,
+                       28,
+                       28,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       12,
+                       12,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       12,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       12,
+                       14,
+                       12,
+                       14,
+                       12,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       12,
+                       14,
+                       12,
+                       12,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       12,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       14,
+                       39,
+                       39,
+                       39,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       21,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39,
+                       39
+               ],
+               "highStart": 919552,
+               "errorValue": 0
+       };
+
+/***/ },
+/* 94 */
+/***/ function(module, exports) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         var AI, AL, B2, BA, BB, BK, CB, CJ, CL, CM, CP, CR, EX, GL, H2, H3, HL, HY, ID, IN, IS, JL, JT, JV, LF, NL, NS, NU, OP, PO, PR, QU, RI, SA, SG, SP, SY, WJ, XX, ZW;
+
+         exports.OP = OP = 0;
+
+         exports.CL = CL = 1;
+
+         exports.CP = CP = 2;
+
+         exports.QU = QU = 3;
+
+         exports.GL = GL = 4;
+
+         exports.NS = NS = 5;
+
+         exports.EX = EX = 6;
+
+         exports.SY = SY = 7;
+
+         exports.IS = IS = 8;
+
+         exports.PR = PR = 9;
+
+         exports.PO = PO = 10;
+
+         exports.NU = NU = 11;
+
+         exports.AL = AL = 12;
+
+         exports.HL = HL = 13;
+
+         exports.ID = ID = 14;
+
+         exports.IN = IN = 15;
+
+         exports.HY = HY = 16;
+
+         exports.BA = BA = 17;
+
+         exports.BB = BB = 18;
+
+         exports.B2 = B2 = 19;
+
+         exports.ZW = ZW = 20;
+
+         exports.CM = CM = 21;
+
+         exports.WJ = WJ = 22;
+
+         exports.H2 = H2 = 23;
+
+         exports.H3 = H3 = 24;
+
+         exports.JL = JL = 25;
+
+         exports.JV = JV = 26;
+
+         exports.JT = JT = 27;
+
+         exports.RI = RI = 28;
+
+         exports.AI = AI = 29;
+
+         exports.BK = BK = 30;
+
+         exports.CB = CB = 31;
+
+         exports.CJ = CJ = 32;
+
+         exports.CR = CR = 33;
+
+         exports.LF = LF = 34;
+
+         exports.NL = NL = 35;
+
+         exports.SA = SA = 36;
+
+         exports.SG = SG = 37;
+
+         exports.SP = SP = 38;
+
+         exports.XX = XX = 39;
+
+       }).call(this);
+
+
+/***/ },
+/* 95 */
+/***/ function(module, exports) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         var CI_BRK, CP_BRK, DI_BRK, IN_BRK, PR_BRK;
+
+         exports.DI_BRK = DI_BRK = 0;
+
+         exports.IN_BRK = IN_BRK = 1;
+
+         exports.CI_BRK = CI_BRK = 2;
+
+         exports.CP_BRK = CP_BRK = 3;
+
+         exports.PR_BRK = PR_BRK = 4;
+
+         exports.pairTable = [[PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, CP_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK], [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK], [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK], [PR_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, CI_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK], [IN_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, CI_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK], [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK], [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK], [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK], [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK], [IN_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK], [IN_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK], [IN_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK], [IN_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK], [IN_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK], [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, IN_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK], [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK], [DI_BRK, PR_BRK, PR_BRK, IN_BRK, DI_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK], [DI_BRK, PR_BRK, PR_BRK, IN_BRK, DI_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK], [IN_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, CI_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK], [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, DI_BRK, PR_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK], [DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK], [IN_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK], [IN_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, CI_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK], [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, IN_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, DI_BRK], [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, IN_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK], [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, IN_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK], [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, IN_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, DI_BRK], [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, IN_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK], [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK]];
+
+       }).call(this);
+
+
+/***/ },
+/* 96 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* WEBPACK VAR INJECTION */(function(Buffer) {// Generated by CoffeeScript 1.7.1
+       (function() {
+         var PDFImage;
+
+         PDFImage = __webpack_require__(97);
+
+         module.exports = {
+           initImages: function() {
+             this._imageRegistry = {};
+             return this._imageCount = 0;
+           },
+           image: function(src, x, y, options) {
+             var bh, bp, bw, h, hp, image, ip, w, wp, _base, _name, _ref, _ref1, _ref2;
+             if (options == null) {
+               options = {};
+             }
+             if (typeof x === 'object') {
+               options = x;
+               x = null;
+             }
+             x = (_ref = x != null ? x : options.x) != null ? _ref : this.x;
+             y = (_ref1 = y != null ? y : options.y) != null ? _ref1 : this.y;
+             if (!Buffer.isBuffer(src)) {
+               image = this._imageRegistry[src];
+             }
+             if (!image) {
+               image = PDFImage.open(src, 'I' + (++this._imageCount));
+               image.embed(this);
+               if (!Buffer.isBuffer(src)) {
+                 this._imageRegistry[src] = image;
+               }
+             }
+             if ((_base = this.page.xobjects)[_name = image.label] == null) {
+               _base[_name] = image.obj;
+             }
+             w = options.width || image.width;
+             h = options.height || image.height;
+             if (options.width && !options.height) {
+               wp = w / image.width;
+               w = image.width * wp;
+               h = image.height * wp;
+             } else if (options.height && !options.width) {
+               hp = h / image.height;
+               w = image.width * hp;
+               h = image.height * hp;
+             } else if (options.scale) {
+               w = image.width * options.scale;
+               h = image.height * options.scale;
+             } else if (options.fit) {
+               _ref2 = options.fit, bw = _ref2[0], bh = _ref2[1];
+               bp = bw / bh;
+               ip = image.width / image.height;
+               if (ip > bp) {
+                 w = bw;
+                 h = bw / ip;
+               } else {
+                 h = bh;
+                 w = bh * ip;
+               }
+               if (options.align === 'center') {
+                 x = x + bw / 2 - w / 2;
+               } else if (options.align === 'right') {
+                 x = x + bw - w;
+               }
+               if (options.valign === 'center') {
+                 y = y + bh / 2 - h / 2;
+               } else if (options.valign === 'bottom') {
+                 y = y + bh - h;
+               }
+             }
+             if (this.y === y) {
+               this.y += h;
+             }
+             this.save();
+             this.transform(w, 0, 0, -h, x, y + h);
+             this.addContent("/" + image.label + " Do");
+             this.restore();
+             return this;
+           }
+         };
+
+       }).call(this);
+
+       /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2).Buffer))
+
+/***/ },
+/* 97 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* WEBPACK VAR INJECTION */(function(Buffer) {// Generated by CoffeeScript 1.7.1
+
+       /*
+       PDFImage - embeds images in PDF documents
+       By Devon Govett
+        */
+
+       (function() {
+         var Data, JPEG, PDFImage, PNG, fs;
+
+         fs = __webpack_require__(44);
+
+         Data = __webpack_require__(72);
+
+         JPEG = __webpack_require__(98);
+
+         PNG = __webpack_require__(99);
+
+         PDFImage = (function() {
+           function PDFImage() {}
+
+           PDFImage.open = function(src, label) {
+             var data, match;
+             if (Buffer.isBuffer(src)) {
+               data = src;
+             } else {
+               if (match = /^data:.+;base64,(.*)$/.exec(src)) {
+                 data = new Buffer(match[1], 'base64');
+               } else {
+                 data = fs.readFileSync(src);
+                 if (!data) {
+                   return;
+                 }
+               }
+             }
+             if (data[0] === 0xff && data[1] === 0xd8) {
+               return new JPEG(data, label);
+             } else if (data[0] === 0x89 && data.toString('ascii', 1, 4) === 'PNG') {
+               return new PNG(data, label);
+             } else {
+               throw new Error('Unknown image format.');
+             }
+           };
+
+           return PDFImage;
+
+         })();
+
+         module.exports = PDFImage;
+
+       }).call(this);
+
+       /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2).Buffer))
+
+/***/ },
+/* 98 */
+/***/ function(module, exports, __webpack_require__) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         var JPEG, fs,
+           __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
+
+         fs = __webpack_require__(44);
+
+         JPEG = (function() {
+           var MARKERS;
+
+           MARKERS = [0xFFC0, 0xFFC1, 0xFFC2, 0xFFC3, 0xFFC5, 0xFFC6, 0xFFC7, 0xFFC8, 0xFFC9, 0xFFCA, 0xFFCB, 0xFFCC, 0xFFCD, 0xFFCE, 0xFFCF];
+
+           function JPEG(data, label) {
+             var channels, marker, pos;
+             this.data = data;
+             this.label = label;
+             if (this.data.readUInt16BE(0) !== 0xFFD8) {
+               throw "SOI not found in JPEG";
+             }
+             pos = 2;
+             while (pos < this.data.length) {
+               marker = this.data.readUInt16BE(pos);
+               pos += 2;
+               if (__indexOf.call(MARKERS, marker) >= 0) {
+                 break;
+               }
+               pos += this.data.readUInt16BE(pos);
+             }
+             if (__indexOf.call(MARKERS, marker) < 0) {
+               throw "Invalid JPEG.";
+             }
+             pos += 2;
+             this.bits = this.data[pos++];
+             this.height = this.data.readUInt16BE(pos);
+             pos += 2;
+             this.width = this.data.readUInt16BE(pos);
+             pos += 2;
+             channels = this.data[pos++];
+             this.colorSpace = (function() {
+               switch (channels) {
+                 case 1:
+                   return 'DeviceGray';
+                 case 3:
+                   return 'DeviceRGB';
+                 case 4:
+                   return 'DeviceCMYK';
+               }
+             })();
+             this.obj = null;
+           }
+
+           JPEG.prototype.embed = function(document) {
+             if (this.obj) {
+               return;
+             }
+             this.obj = document.ref({
+               Type: 'XObject',
+               Subtype: 'Image',
+               BitsPerComponent: this.bits,
+               Width: this.width,
+               Height: this.height,
+               ColorSpace: this.colorSpace,
+               Filter: 'DCTDecode'
+             });
+             if (this.colorSpace === 'DeviceCMYK') {
+               this.obj.data['Decode'] = [1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0];
+             }
+             this.obj.end(this.data);
+             return this.data = null;
+           };
+
+           return JPEG;
+
+         })();
+
+         module.exports = JPEG;
+
+       }).call(this);
+
+
+/***/ },
+/* 99 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* WEBPACK VAR INJECTION */(function(Buffer) {// Generated by CoffeeScript 1.7.1
+       (function() {
+         var PNG, PNGImage, zlib;
+
+         zlib = __webpack_require__(47);
+
+         PNG = __webpack_require__(100);
+
+         PNGImage = (function() {
+           function PNGImage(data, label) {
+             this.label = label;
+             this.image = new PNG(data);
+             this.width = this.image.width;
+             this.height = this.image.height;
+             this.imgData = this.image.imgData;
+             this.obj = null;
+           }
+
+           PNGImage.prototype.embed = function(document) {
+             var mask, palette, params, rgb, val, x, _i, _len;
+             this.document = document;
+             if (this.obj) {
+               return;
+             }
+             this.obj = document.ref({
+               Type: 'XObject',
+               Subtype: 'Image',
+               BitsPerComponent: this.image.bits,
+               Width: this.width,
+               Height: this.height,
+               Filter: 'FlateDecode'
+             });
+             if (!this.image.hasAlphaChannel) {
+               params = document.ref({
+                 Predictor: 15,
+                 Colors: this.image.colors,
+                 BitsPerComponent: this.image.bits,
+                 Columns: this.width
+               });
+               this.obj.data['DecodeParms'] = params;
+               params.end();
+             }
+             if (this.image.palette.length === 0) {
+               this.obj.data['ColorSpace'] = this.image.colorSpace;
+             } else {
+               palette = document.ref();
+               palette.end(new Buffer(this.image.palette));
+               this.obj.data['ColorSpace'] = ['Indexed', 'DeviceRGB', (this.image.palette.length / 3) - 1, palette];
+             }
+             if (this.image.transparency.grayscale) {
+               val = this.image.transparency.greyscale;
+               return this.obj.data['Mask'] = [val, val];
+             } else if (this.image.transparency.rgb) {
+               rgb = this.image.transparency.rgb;
+               mask = [];
+               for (_i = 0, _len = rgb.length; _i < _len; _i++) {
+                 x = rgb[_i];
+                 mask.push(x, x);
+               }
+               return this.obj.data['Mask'] = mask;
+             } else if (this.image.transparency.indexed) {
+               return this.loadIndexedAlphaChannel();
+             } else if (this.image.hasAlphaChannel) {
+               return this.splitAlphaChannel();
+             } else {
+               return this.finalize();
+             }
+           };
+
+           PNGImage.prototype.finalize = function() {
+             var sMask;
+             if (this.alphaChannel) {
+               sMask = this.document.ref({
+                 Type: 'XObject',
+                 Subtype: 'Image',
+                 Height: this.height,
+                 Width: this.width,
+                 BitsPerComponent: 8,
+                 Filter: 'FlateDecode',
+                 ColorSpace: 'DeviceGray',
+                 Decode: [0, 1]
+               });
+               sMask.end(this.alphaChannel);
+               this.obj.data['SMask'] = sMask;
+             }
+             this.obj.end(this.imgData);
+             this.image = null;
+             return this.imgData = null;
+           };
+
+           PNGImage.prototype.splitAlphaChannel = function() {
+             return this.image.decodePixels((function(_this) {
+               return function(pixels) {
+                 var a, alphaChannel, colorByteSize, done, i, imgData, len, p, pixelCount;
+                 colorByteSize = _this.image.colors * _this.image.bits / 8;
+                 pixelCount = _this.width * _this.height;
+                 imgData = new Buffer(pixelCount * colorByteSize);
+                 alphaChannel = new Buffer(pixelCount);
+                 i = p = a = 0;
+                 len = pixels.length;
+                 while (i < len) {
+                   imgData[p++] = pixels[i++];
+                   imgData[p++] = pixels[i++];
+                   imgData[p++] = pixels[i++];
+                   alphaChannel[a++] = pixels[i++];
+                 }
+                 done = 0;
+                 zlib.deflate(imgData, function(err, imgData) {
+                   _this.imgData = imgData;
+                   if (err) {
+                     throw err;
+                   }
+                   if (++done === 2) {
+                     return _this.finalize();
+                   }
+                 });
+                 return zlib.deflate(alphaChannel, function(err, alphaChannel) {
+                   _this.alphaChannel = alphaChannel;
+                   if (err) {
+                     throw err;
+                   }
+                   if (++done === 2) {
+                     return _this.finalize();
+                   }
+                 });
+               };
+             })(this));
+           };
+
+           PNGImage.prototype.loadIndexedAlphaChannel = function(fn) {
+             var transparency;
+             transparency = this.image.transparency.indexed;
+             return this.image.decodePixels((function(_this) {
+               return function(pixels) {
+                 var alphaChannel, i, j, _i, _ref;
+                 alphaChannel = new Buffer(_this.width * _this.height);
+                 i = 0;
+                 for (j = _i = 0, _ref = pixels.length; _i < _ref; j = _i += 1) {
+                   alphaChannel[i++] = transparency[pixels[j]];
+                 }
+                 return zlib.deflate(alphaChannel, function(err, alphaChannel) {
+                   _this.alphaChannel = alphaChannel;
+                   if (err) {
+                     throw err;
+                   }
+                   return _this.finalize();
+                 });
+               };
+             })(this));
+           };
+
+           return PNGImage;
+
+         })();
+
+         module.exports = PNGImage;
+
+       }).call(this);
+
+       /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2).Buffer))
+
+/***/ },
+/* 100 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* WEBPACK VAR INJECTION */(function(Buffer) {// Generated by CoffeeScript 1.4.0
+
+       /*
+       # MIT LICENSE
+       # Copyright (c) 2011 Devon Govett
+       # 
+       # Permission is hereby granted, free of charge, to any person obtaining a copy of this 
+       # software and associated documentation files (the "Software"), to deal in the Software 
+       # without restriction, including without limitation the rights to use, copy, modify, merge, 
+       # publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons 
+       # to whom the Software is furnished to do so, subject to the following conditions:
+       # 
+       # The above copyright notice and this permission notice shall be included in all copies or 
+       # substantial portions of the Software.
+       # 
+       # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING 
+       # BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
+       # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 
+       # DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 
+       # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+       */
+
+
+       (function() {
+         var PNG, fs, zlib;
+
+         fs = __webpack_require__(44);
+
+         zlib = __webpack_require__(47);
+
+         module.exports = PNG = (function() {
+
+           PNG.decode = function(path, fn) {
+             return fs.readFile(path, function(err, file) {
+               var png;
+               png = new PNG(file);
+               return png.decode(function(pixels) {
+                 return fn(pixels);
+               });
+             });
+           };
+
+           PNG.load = function(path) {
+             var file;
+             file = fs.readFileSync(path);
+             return new PNG(file);
+           };
+
+           function PNG(data) {
+             var chunkSize, colors, i, index, key, section, short, text, _i, _j, _ref;
+             this.data = data;
+             this.pos = 8;
+             this.palette = [];
+             this.imgData = [];
+             this.transparency = {};
+             this.text = {};
+             while (true) {
+               chunkSize = this.readUInt32();
+               section = ((function() {
+                 var _i, _results;
+                 _results = [];
+                 for (i = _i = 0; _i < 4; i = ++_i) {
+                   _results.push(String.fromCharCode(this.data[this.pos++]));
+                 }
+                 return _results;
+               }).call(this)).join('');
+               switch (section) {
+                 case 'IHDR':
+                   this.width = this.readUInt32();
+                   this.height = this.readUInt32();
+                   this.bits = this.data[this.pos++];
+                   this.colorType = this.data[this.pos++];
+                   this.compressionMethod = this.data[this.pos++];
+                   this.filterMethod = this.data[this.pos++];
+                   this.interlaceMethod = this.data[this.pos++];
+                   break;
+                 case 'PLTE':
+                   this.palette = this.read(chunkSize);
+                   break;
+                 case 'IDAT':
+                   for (i = _i = 0; _i < chunkSize; i = _i += 1) {
+                     this.imgData.push(this.data[this.pos++]);
+                   }
+                   break;
+                 case 'tRNS':
+                   this.transparency = {};
+                   switch (this.colorType) {
+                     case 3:
+                       this.transparency.indexed = this.read(chunkSize);
+                       short = 255 - this.transparency.indexed.length;
+                       if (short > 0) {
+                         for (i = _j = 0; 0 <= short ? _j < short : _j > short; i = 0 <= short ? ++_j : --_j) {
+                           this.transparency.indexed.push(255);
+                         }
+                       }
+                       break;
+                     case 0:
+                       this.transparency.grayscale = this.read(chunkSize)[0];
+                       break;
+                     case 2:
+                       this.transparency.rgb = this.read(chunkSize);
+                   }
+                   break;
+                 case 'tEXt':
+                   text = this.read(chunkSize);
+                   index = text.indexOf(0);
+                   key = String.fromCharCode.apply(String, text.slice(0, index));
+                   this.text[key] = String.fromCharCode.apply(String, text.slice(index + 1));
+                   break;
+                 case 'IEND':
+                   this.colors = (function() {
+                     switch (this.colorType) {
+                       case 0:
+                       case 3:
+                       case 4:
+                         return 1;
+                       case 2:
+                       case 6:
+                         return 3;
+                     }
+                   }).call(this);
+                   this.hasAlphaChannel = (_ref = this.colorType) === 4 || _ref === 6;
+                   colors = this.colors + (this.hasAlphaChannel ? 1 : 0);
+                   this.pixelBitlength = this.bits * colors;
+                   this.colorSpace = (function() {
+                     switch (this.colors) {
+                       case 1:
+                         return 'DeviceGray';
+                       case 3:
+                         return 'DeviceRGB';
+                     }
+                   }).call(this);
+                   this.imgData = new Buffer(this.imgData);
+                   return;
+                 default:
+                   this.pos += chunkSize;
+               }
+               this.pos += 4;
+               if (this.pos > this.data.length) {
+                 throw new Error("Incomplete or corrupt PNG file");
+               }
+             }
+             return;
+           }
+
+           PNG.prototype.read = function(bytes) {
+             var i, _i, _results;
+             _results = [];
+             for (i = _i = 0; 0 <= bytes ? _i < bytes : _i > bytes; i = 0 <= bytes ? ++_i : --_i) {
+               _results.push(this.data[this.pos++]);
+             }
+             return _results;
+           };
+
+           PNG.prototype.readUInt32 = function() {
+             var b1, b2, b3, b4;
+             b1 = this.data[this.pos++] << 24;
+             b2 = this.data[this.pos++] << 16;
+             b3 = this.data[this.pos++] << 8;
+             b4 = this.data[this.pos++];
+             return b1 | b2 | b3 | b4;
+           };
+
+           PNG.prototype.readUInt16 = function() {
+             var b1, b2;
+             b1 = this.data[this.pos++] << 8;
+             b2 = this.data[this.pos++];
+             return b1 | b2;
+           };
+
+           PNG.prototype.decodePixels = function(fn) {
+             var _this = this;
+             return zlib.inflate(this.imgData, function(err, data) {
+               var byte, c, col, i, left, length, p, pa, paeth, pb, pc, pixelBytes, pixels, pos, row, scanlineLength, upper, upperLeft, _i, _j, _k, _l, _m;
+               if (err) {
+                 throw err;
+               }
+               pixelBytes = _this.pixelBitlength / 8;
+               scanlineLength = pixelBytes * _this.width;
+               pixels = new Buffer(scanlineLength * _this.height);
+               length = data.length;
+               row = 0;
+               pos = 0;
+               c = 0;
+               while (pos < length) {
+                 switch (data[pos++]) {
+                   case 0:
+                     for (i = _i = 0; _i < scanlineLength; i = _i += 1) {
+                       pixels[c++] = data[pos++];
+                     }
+                     break;
+                   case 1:
+                     for (i = _j = 0; _j < scanlineLength; i = _j += 1) {
+                       byte = data[pos++];
+                       left = i < pixelBytes ? 0 : pixels[c - pixelBytes];
+                       pixels[c++] = (byte + left) % 256;
+                     }
+                     break;
+                   case 2:
+                     for (i = _k = 0; _k < scanlineLength; i = _k += 1) {
+                       byte = data[pos++];
+                       col = (i - (i % pixelBytes)) / pixelBytes;
+                       upper = row && pixels[(row - 1) * scanlineLength + col * pixelBytes + (i % pixelBytes)];
+                       pixels[c++] = (upper + byte) % 256;
+                     }
+                     break;
+                   case 3:
+                     for (i = _l = 0; _l < scanlineLength; i = _l += 1) {
+                       byte = data[pos++];
+                       col = (i - (i % pixelBytes)) / pixelBytes;
+                       left = i < pixelBytes ? 0 : pixels[c - pixelBytes];
+                       upper = row && pixels[(row - 1) * scanlineLength + col * pixelBytes + (i % pixelBytes)];
+                       pixels[c++] = (byte + Math.floor((left + upper) / 2)) % 256;
+                     }
+                     break;
+                   case 4:
+                     for (i = _m = 0; _m < scanlineLength; i = _m += 1) {
+                       byte = data[pos++];
+                       col = (i - (i % pixelBytes)) / pixelBytes;
+                       left = i < pixelBytes ? 0 : pixels[c - pixelBytes];
+                       if (row === 0) {
+                         upper = upperLeft = 0;
+                       } else {
+                         upper = pixels[(row - 1) * scanlineLength + col * pixelBytes + (i % pixelBytes)];
+                         upperLeft = col && pixels[(row - 1) * scanlineLength + (col - 1) * pixelBytes + (i % pixelBytes)];
+                       }
+                       p = left + upper - upperLeft;
+                       pa = Math.abs(p - left);
+                       pb = Math.abs(p - upper);
+                       pc = Math.abs(p - upperLeft);
+                       if (pa <= pb && pa <= pc) {
+                         paeth = left;
+                       } else if (pb <= pc) {
+                         paeth = upper;
+                       } else {
+                         paeth = upperLeft;
+                       }
+                       pixels[c++] = (byte + paeth) % 256;
+                     }
+                     break;
+                   default:
+                     throw new Error("Invalid filter algorithm: " + data[pos - 1]);
+                 }
+                 row++;
+               }
+               return fn(pixels);
+             });
+           };
+
+           PNG.prototype.decodePalette = function() {
+             var c, i, length, palette, pos, ret, transparency, _i, _ref, _ref1;
+             palette = this.palette;
+             transparency = this.transparency.indexed || [];
+             ret = new Buffer(transparency.length + palette.length);
+             pos = 0;
+             length = palette.length;
+             c = 0;
+             for (i = _i = 0, _ref = palette.length; _i < _ref; i = _i += 3) {
+               ret[pos++] = palette[i];
+               ret[pos++] = palette[i + 1];
+               ret[pos++] = palette[i + 2];
+               ret[pos++] = (_ref1 = transparency[c++]) != null ? _ref1 : 255;
+             }
+             return ret;
+           };
+
+           PNG.prototype.copyToImageData = function(imageData, pixels) {
+             var alpha, colors, data, i, input, j, k, length, palette, v, _ref;
+             colors = this.colors;
+             palette = null;
+             alpha = this.hasAlphaChannel;
+             if (this.palette.length) {
+               palette = (_ref = this._decodedPalette) != null ? _ref : this._decodedPalette = this.decodePalette();
+               colors = 4;
+               alpha = true;
+             }
+             data = (imageData != null ? imageData.data : void 0) || imageData;
+             length = data.length;
+             input = palette || pixels;
+             i = j = 0;
+             if (colors === 1) {
+               while (i < length) {
+                 k = palette ? pixels[i / 4] * 4 : j;
+                 v = input[k++];
+                 data[i++] = v;
+                 data[i++] = v;
+                 data[i++] = v;
+                 data[i++] = alpha ? input[k++] : 255;
+                 j = k;
+               }
+             } else {
+               while (i < length) {
+                 k = palette ? pixels[i / 4] * 4 : j;
+                 data[i++] = input[k++];
+                 data[i++] = input[k++];
+                 data[i++] = input[k++];
+                 data[i++] = alpha ? input[k++] : 255;
+                 j = k;
+               }
+             }
+           };
+
+           PNG.prototype.decode = function(fn) {
+             var ret,
+               _this = this;
+             ret = new Buffer(this.width * this.height * 4);
+             return this.decodePixels(function(pixels) {
+               _this.copyToImageData(ret, pixels);
+               return fn(ret);
+             });
+           };
+
+           return PNG;
+
+         })();
+
+       }).call(this);
+
+       /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2).Buffer))
+
+/***/ },
+/* 101 */
+/***/ function(module, exports) {
+
+       // Generated by CoffeeScript 1.7.1
+       (function() {
+         module.exports = {
+           annotate: function(x, y, w, h, options) {
+             var key, ref, val;
+             options.Type = 'Annot';
+             options.Rect = this._convertRect(x, y, w, h);
+             options.Border = [0, 0, 0];
+             if (options.Subtype !== 'Link') {
+               if (options.C == null) {
+                 options.C = this._normalizeColor(options.color || [0, 0, 0]);
+               }
+             }
+             delete options.color;
+             if (typeof options.Dest === 'string') {
+               options.Dest = new String(options.Dest);
+             }
+             for (key in options) {
+               val = options[key];
+               options[key[0].toUpperCase() + key.slice(1)] = val;
+             }
+             ref = this.ref(options);
+             this.page.annotations.push(ref);
+             ref.end();
+             return this;
+           },
+           note: function(x, y, w, h, contents, options) {
+             if (options == null) {
+               options = {};
+             }
+             options.Subtype = 'Text';
+             options.Contents = new String(contents);
+             options.Name = 'Comment';
+             if (options.color == null) {
+               options.color = [243, 223, 92];
+             }
+             return this.annotate(x, y, w, h, options);
+           },
+           link: function(x, y, w, h, url, options) {
+             if (options == null) {
+               options = {};
+             }
+             options.Subtype = 'Link';
+             options.A = this.ref({
+               S: 'URI',
+               URI: new String(url)
+             });
+             options.A.end();
+             return this.annotate(x, y, w, h, options);
+           },
+           _markup: function(x, y, w, h, options) {
+             var x1, x2, y1, y2, _ref;
+             if (options == null) {
+               options = {};
+             }
+             _ref = this._convertRect(x, y, w, h), x1 = _ref[0], y1 = _ref[1], x2 = _ref[2], y2 = _ref[3];
+             options.QuadPoints = [x1, y2, x2, y2, x1, y1, x2, y1];
+             options.Contents = new String;
+             return this.annotate(x, y, w, h, options);
+           },
+           highlight: function(x, y, w, h, options) {
+             if (options == null) {
+               options = {};
+             }
+             options.Subtype = 'Highlight';
+             if (options.color == null) {
+               options.color = [241, 238, 148];
+             }
+             return this._markup(x, y, w, h, options);
+           },
+           underline: function(x, y, w, h, options) {
+             if (options == null) {
+               options = {};
+             }
+             options.Subtype = 'Underline';
+             return this._markup(x, y, w, h, options);
+           },
+           strike: function(x, y, w, h, options) {
+             if (options == null) {
+               options = {};
+             }
+             options.Subtype = 'StrikeOut';
+             return this._markup(x, y, w, h, options);
+           },
+           lineAnnotation: function(x1, y1, x2, y2, options) {
+             if (options == null) {
+               options = {};
+             }
+             options.Subtype = 'Line';
+             options.Contents = new String;
+             options.L = [x1, this.page.height - y1, x2, this.page.height - y2];
+             return this.annotate(x1, y1, x2, y2, options);
+           },
+           rectAnnotation: function(x, y, w, h, options) {
+             if (options == null) {
+               options = {};
+             }
+             options.Subtype = 'Square';
+             options.Contents = new String;
+             return this.annotate(x, y, w, h, options);
+           },
+           ellipseAnnotation: function(x, y, w, h, options) {
+             if (options == null) {
+               options = {};
+             }
+             options.Subtype = 'Circle';
+             options.Contents = new String;
+             return this.annotate(x, y, w, h, options);
+           },
+           textAnnotation: function(x, y, w, h, text, options) {
+             if (options == null) {
+               options = {};
+             }
+             options.Subtype = 'FreeText';
+             options.Contents = new String(text);
+             options.DA = new String;
+             return this.annotate(x, y, w, h, options);
+           },
+           _convertRect: function(x1, y1, w, h) {
+             var m0, m1, m2, m3, m4, m5, x2, y2, _ref;
+             y2 = y1;
+             y1 += h;
+             x2 = x1 + w;
+             _ref = this._ctm, m0 = _ref[0], m1 = _ref[1], m2 = _ref[2], m3 = _ref[3], m4 = _ref[4], m5 = _ref[5];
+             x1 = m0 * x1 + m2 * y1 + m4;
+             y1 = m1 * x1 + m3 * y1 + m5;
+             x2 = m0 * x2 + m2 * y2 + m4;
+             y2 = m1 * x2 + m3 * y2 + m5;
+             return [x1, y1, x2, y2];
+           }
+         };
+
+       }).call(this);
+
+
+/***/ },
+/* 102 */
+/***/ function(module, exports) {
+
+       module.exports = {
+               '4A0': [4767.87, 6740.79],
+               '2A0': [3370.39, 4767.87],
+               A0: [2383.94, 3370.39],
+               A1: [1683.78, 2383.94],
+               A2: [1190.55, 1683.78],
+               A3: [841.89, 1190.55],
+               A4: [595.28, 841.89],
+               A5: [419.53, 595.28],
+               A6: [297.64, 419.53],
+               A7: [209.76, 297.64],
+               A8: [147.40, 209.76],
+               A9: [104.88, 147.40],
+               A10: [73.70, 104.88],
+               B0: [2834.65, 4008.19],
+               B1: [2004.09, 2834.65],
+               B2: [1417.32, 2004.09],
+               B3: [1000.63, 1417.32],
+               B4: [708.66, 1000.63],
+               B5: [498.90, 708.66],
+               B6: [354.33, 498.90],
+               B7: [249.45, 354.33],
+               B8: [175.75, 249.45],
+               B9: [124.72, 175.75],
+               B10: [87.87, 124.72],
+               C0: [2599.37, 3676.54],
+               C1: [1836.85, 2599.37],
+               C2: [1298.27, 1836.85],
+               C3: [918.43, 1298.27],
+               C4: [649.13, 918.43],
+               C5: [459.21, 649.13],
+               C6: [323.15, 459.21],
+               C7: [229.61, 323.15],
+               C8: [161.57, 229.61],
+               C9: [113.39, 161.57],
+               C10: [79.37, 113.39],
+               RA0: [2437.80, 3458.27],
+               RA1: [1729.13, 2437.80],
+               RA2: [1218.90, 1729.13],
+               RA3: [864.57, 1218.90],
+               RA4: [609.45, 864.57],
+               SRA0: [2551.18, 3628.35],
+               SRA1: [1814.17, 2551.18],
+               SRA2: [1275.59, 1814.17],
+               SRA3: [907.09, 1275.59],
+               SRA4: [637.80, 907.09],
+               EXECUTIVE: [521.86, 756.00],
+               FOLIO: [612.00, 936.00],
+               LEGAL: [612.00, 1008.00],
+               LETTER: [612.00, 792.00],
+               TABLOID: [792.00, 1224.00]
+       };
+
+
+/***/ },
+/* 103 */
+/***/ function(module, exports, __webpack_require__) {
+
+       /* WEBPACK VAR INJECTION */(function(Buffer) {/* jslint node: true */
+       'use strict';
+
+       var pdfKit = __webpack_require__(24);
+       var PDFImage = __webpack_require__(97);
+
+       function ImageMeasure(pdfDoc, imageDictionary) {
+               this.pdfDoc = pdfDoc;
+               this.imageDictionary = imageDictionary || {};
+       }
+
+       ImageMeasure.prototype.measureImage = function(src) {
+               var image, label;
+               var that = this;
+
+               if (!this.pdfDoc._imageRegistry[src]) {
+                       label = 'I' + (++this.pdfDoc._imageCount);
+                       image = PDFImage.open(realImageSrc(src), label);
+                       image.embed(this.pdfDoc);
+                       this.pdfDoc._imageRegistry[src] = image;
+               } else {
+                       image = this.pdfDoc._imageRegistry[src];
+               }
+
+               return { width: image.width, height: image.height };
+
+               function realImageSrc(src) {
+                       var img = that.imageDictionary[src];
+
+                       if (!img) return src;
+
+                       var index = img.indexOf('base64,');
+                       if (index < 0) {
+                               throw 'invalid image format, images dictionary should contain dataURL entries';
+                       }
+
+                       return new Buffer(img.substring(index + 7), 'base64');
+               }
+       };
+
+       module.exports = ImageMeasure;
+
+       /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2).Buffer))
+
+/***/ },
+/* 104 */
+/***/ function(module, exports) {
+
+       /* jslint node: true */
+       'use strict';
+
+
+       function groupDecorations(line) {
+               var groups = [], curGroup = null;
+               for(var i = 0, l = line.inlines.length; i < l; i++) {
+                       var inline = line.inlines[i];
+                       var decoration = inline.decoration;
+                       if(!decoration) {
+                               curGroup = null;
+                               continue;
+                       }
+                       var color = inline.decorationColor || inline.color || 'black';
+                       var style = inline.decorationStyle || 'solid';
+                       decoration = Array.isArray(decoration) ? decoration : [ decoration ];
+                       for(var ii = 0, ll = decoration.length; ii < ll; ii++) {
+                               var deco = decoration[ii];
+                               if(!curGroup || deco !== curGroup.decoration ||
+                                               style !== curGroup.decorationStyle || color !== curGroup.decorationColor ||
+                                               deco === 'lineThrough') {
+                       
+                                       curGroup = {
+                                               line: line,
+                                               decoration: deco, 
+                                               decorationColor: color, 
+                                               decorationStyle: style,
+                                               inlines: [ inline ]
+                                       };
+                                       groups.push(curGroup);
+                               } else {
+                                       curGroup.inlines.push(inline);
+                               }
+                       }
+               }
+               
+               return groups;
+       }
+
+       function drawDecoration(group, x, y, pdfKitDoc) {
+               function maxInline() {
+                       var max = 0;
+                       for (var i = 0, l = group.inlines.length; i < l; i++) {
+                               var inl = group.inlines[i];
+                               max = inl.fontSize > max ? i : max;
+                       }
+                       return group.inlines[max];
+               }
+               function width() {
+                       var sum = 0;
+                       for (var i = 0, l = group.inlines.length; i < l; i++) {
+                               sum += group.inlines[i].width;
+                       }
+                       return sum;
+               }
+               var firstInline = group.inlines[0],
+                       biggerInline = maxInline(),
+                       totalWidth = width(),
+                       lineAscent = group.line.getAscenderHeight(),
+                       ascent = biggerInline.font.ascender / 1000 * biggerInline.fontSize,
+                       height = biggerInline.height,
+                       descent = height - ascent;
+               
+               var lw = 0.5 + Math.floor(Math.max(biggerInline.fontSize - 8, 0) / 2) * 0.12;
+               
+               switch (group.decoration) {
+                       case 'underline':
+                               y += lineAscent + descent * 0.45;
+                               break;
+                       case 'overline':
+                               y += lineAscent - (ascent * 0.85);
+                               break;
+                       case 'lineThrough':
+                               y += lineAscent - (ascent * 0.25);
+                               break;
+                       default:
+                               throw 'Unkown decoration : ' + group.decoration;
+               }
+               pdfKitDoc.save();
+               
+               if(group.decorationStyle === 'double') {
+                       var gap = Math.max(0.5, lw*2);
+                       pdfKitDoc       .fillColor(group.decorationColor)
+                                               .rect(x + firstInline.x, y-lw/2, totalWidth, lw/2).fill()
+                                               .rect(x + firstInline.x, y+gap-lw/2, totalWidth, lw/2).fill();
+               } else if(group.decorationStyle === 'dashed') {
+                       var nbDashes = Math.ceil(totalWidth / (3.96+2.84));
+                       var rdx = x + firstInline.x;
+                       pdfKitDoc.rect(rdx, y, totalWidth, lw).clip();
+                       pdfKitDoc.fillColor(group.decorationColor);
+                       for (var i = 0; i < nbDashes; i++) {
+                               pdfKitDoc.rect(rdx, y-lw/2, 3.96, lw).fill();
+                               rdx += 3.96 + 2.84;
+                       }
+               } else if(group.decorationStyle === 'dotted') {
+                       var nbDots = Math.ceil(totalWidth / (lw*3));
+                       var rx = x + firstInline.x;
+                       pdfKitDoc.rect(rx, y, totalWidth, lw).clip();
+                       pdfKitDoc.fillColor(group.decorationColor);
+                       for (var ii = 0; ii < nbDots; ii++) {
+                               pdfKitDoc.rect(rx, y-lw/2, lw, lw).fill();
+                               rx += (lw*3);
+                       }
+               } else if(group.decorationStyle === 'wavy') {
+                       var sh = 0.7, sv = 1;
+                       var nbWaves = Math.ceil(totalWidth / (sh*2))+1;
+                       var rwx = x + firstInline.x - 1;
+                       pdfKitDoc.rect(x + firstInline.x, y-sv, totalWidth, y+sv).clip();
+                       pdfKitDoc.lineWidth(0.24);
+                       pdfKitDoc.moveTo(rwx, y);
+                       for(var iii = 0; iii < nbWaves; iii++) {
+                               pdfKitDoc   .bezierCurveTo(rwx+sh, y-sv, rwx+sh*2, y-sv, rwx+sh*3, y)
+                                                       .bezierCurveTo(rwx+sh*4, y+sv, rwx+sh*5, y+sv, rwx+sh*6, y);
+                                       rwx += sh*6;
+                               }
+                       pdfKitDoc.stroke(group.decorationColor);
+                       
+               } else {
+                       pdfKitDoc       .fillColor(group.decorationColor)
+                                               .rect(x + firstInline.x, y-lw/2, totalWidth, lw)
+                                               .fill();
+               }
+               pdfKitDoc.restore();
+       }
+
+       function drawDecorations(line, x, y, pdfKitDoc) {
+               var groups = groupDecorations(line);
+               for (var i = 0, l = groups.length; i < l; i++) {
+                       drawDecoration(groups[i], x, y, pdfKitDoc);
+               }
+       }
+
+       function drawBackground(line, x, y, pdfKitDoc) {
+               var height = line.getHeight();
+               for(var i = 0, l = line.inlines.length; i < l; i++) {
+                       var inline = line.inlines[i];
+                               if(inline.background) {
+                                       pdfKitDoc       .fillColor(inline.background)
+                                                               .rect(x + inline.x, y, inline.width, height)
+                                                               .fill();
+                               }
+               }
+       }
+
+       module.exports = {
+               drawBackground: drawBackground,
+               drawDecorations: drawDecorations
+       };
+
+/***/ },
+/* 105 */
+/***/ function(module, exports, __webpack_require__) {
+
+       var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* FileSaver.js
+        * A saveAs() FileSaver implementation.
+        * 1.1.20150716
+        *
+        * By Eli Grey, http://eligrey.com
+        * License: X11/MIT
+        *   See https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md
+        */
+
+       /*global self */
+       /*jslint bitwise: true, indent: 4, laxbreak: true, laxcomma: true, smarttabs: true, plusplus: true */
+
+       /*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */
+
+       var saveAs = saveAs || (function(view) {
+               "use strict";
+               // IE <10 is explicitly unsupported
+               if (typeof navigator !== "undefined" && /MSIE [1-9]\./.test(navigator.userAgent)) {
+                       return;
+               }
+               var
+                         doc = view.document
+                         // only get URL when necessary in case Blob.js hasn't overridden it yet
+                       , get_URL = function() {
+                               return view.URL || view.webkitURL || view;
+                       }
+                       , save_link = doc.createElementNS("http://www.w3.org/1999/xhtml", "a")
+                       , can_use_save_link = "download" in save_link
+                       , click = function(node) {
+                               var event = new MouseEvent("click");
+                               node.dispatchEvent(event);
+                       }
+                       , webkit_req_fs = view.webkitRequestFileSystem
+                       , req_fs = view.requestFileSystem || webkit_req_fs || view.mozRequestFileSystem
+                       , throw_outside = function(ex) {
+                               (view.setImmediate || view.setTimeout)(function() {
+                                       throw ex;
+                               }, 0);
+                       }
+                       , force_saveable_type = "application/octet-stream"
+                       , fs_min_size = 0
+                       // See https://code.google.com/p/chromium/issues/detail?id=375297#c7 and
+                       // https://github.com/eligrey/FileSaver.js/commit/485930a#commitcomment-8768047
+                       // for the reasoning behind the timeout and revocation flow
+                       , arbitrary_revoke_timeout = 500 // in ms
+                       , revoke = function(file) {
+                               var revoker = function() {
+                                       if (typeof file === "string") { // file is an object URL
+                                               get_URL().revokeObjectURL(file);
+                                       } else { // file is a File
+                                               file.remove();
+                                       }
+                               };
+                               if (view.chrome) {
+                                       revoker();
+                               } else {
+                                       setTimeout(revoker, arbitrary_revoke_timeout);
+                               }
+                       }
+                       , dispatch = function(filesaver, event_types, event) {
+                               event_types = [].concat(event_types);
+                               var i = event_types.length;
+                               while (i--) {
+                                       var listener = filesaver["on" + event_types[i]];
+                                       if (typeof listener === "function") {
+                                               try {
+                                                       listener.call(filesaver, event || filesaver);
+                                               } catch (ex) {
+                                                       throw_outside(ex);
+                                               }
+                                       }
+                               }
+                       }
+                       , auto_bom = function(blob) {
+                               // prepend BOM for UTF-8 XML and text/* types (including HTML)
+                               if (/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(blob.type)) {
+                                       return new Blob(["\ufeff", blob], {type: blob.type});
+                               }
+                               return blob;
+                       }
+                       , FileSaver = function(blob, name, no_auto_bom) {
+                               if (!no_auto_bom) {
+                                       blob = auto_bom(blob);
+                               }
+                               // First try a.download, then web filesystem, then object URLs
+                               var
+                                         filesaver = this
+                                       , type = blob.type
+                                       , blob_changed = false
+                                       , object_url
+                                       , target_view
+                                       , dispatch_all = function() {
+                                               dispatch(filesaver, "writestart progress write writeend".split(" "));
+                                       }
+                                       // on any filesys errors revert to saving with object URLs
+                                       , fs_error = function() {
+                                               // don't create more object URLs than needed
+                                               if (blob_changed || !object_url) {
+                                                       object_url = get_URL().createObjectURL(blob);
+                                               }
+                                               if (target_view) {
+                                                       target_view.location.href = object_url;
+                                               } else {
+                                                       var new_tab = view.open(object_url, "_blank");
+                                                       if (new_tab == undefined && typeof safari !== "undefined") {
+                                                               //Apple do not allow window.open, see http://bit.ly/1kZffRI
+                                                               view.location.href = object_url
+                                                       }
+                                               }
+                                               filesaver.readyState = filesaver.DONE;
+                                               dispatch_all();
+                                               revoke(object_url);
+                                       }
+                                       , abortable = function(func) {
+                                               return function() {
+                                                       if (filesaver.readyState !== filesaver.DONE) {
+                                                               return func.apply(this, arguments);
+                                                       }
+                                               };
+                                       }
+                                       , create_if_not_found = {create: true, exclusive: false}
+                                       , slice
+                               ;
+                               filesaver.readyState = filesaver.INIT;
+                               if (!name) {
+                                       name = "download";
+                               }
+                               if (can_use_save_link) {
+                                       object_url = get_URL().createObjectURL(blob);
+                                       save_link.href = object_url;
+                                       save_link.download = name;
+                                       setTimeout(function() {
+                                               click(save_link);
+                                               dispatch_all();
+                                               revoke(object_url);
+                                               filesaver.readyState = filesaver.DONE;
+                                       });
+                                       return;
+                               }
+                               // Object and web filesystem URLs have a problem saving in Google Chrome when
+                               // viewed in a tab, so I force save with application/octet-stream
+                               // http://code.google.com/p/chromium/issues/detail?id=91158
+                               // Update: Google errantly closed 91158, I submitted it again:
+                               // https://code.google.com/p/chromium/issues/detail?id=389642
+                               if (view.chrome && type && type !== force_saveable_type) {
+                                       slice = blob.slice || blob.webkitSlice;
+                                       blob = slice.call(blob, 0, blob.size, force_saveable_type);
+                                       blob_changed = true;
+                               }
+                               // Since I can't be sure that the guessed media type will trigger a download
+                               // in WebKit, I append .download to the filename.
+                               // https://bugs.webkit.org/show_bug.cgi?id=65440
+                               if (webkit_req_fs && name !== "download") {
+                                       name += ".download";
+                               }
+                               if (type === force_saveable_type || webkit_req_fs) {
+                                       target_view = view;
+                               }
+                               if (!req_fs) {
+                                       fs_error();
+                                       return;
+                               }
+                               fs_min_size += blob.size;
+                               req_fs(view.TEMPORARY, fs_min_size, abortable(function(fs) {
+                                       fs.root.getDirectory("saved", create_if_not_found, abortable(function(dir) {
+                                               var save = function() {
+                                                       dir.getFile(name, create_if_not_found, abortable(function(file) {
+                                                               file.createWriter(abortable(function(writer) {
+                                                                       writer.onwriteend = function(event) {
+                                                                               target_view.location.href = file.toURL();
+                                                                               filesaver.readyState = filesaver.DONE;
+                                                                               dispatch(filesaver, "writeend", event);
+                                                                               revoke(file);
+                                                                       };
+                                                                       writer.onerror = function() {
+                                                                               var error = writer.error;
+                                                                               if (error.code !== error.ABORT_ERR) {
+                                                                                       fs_error();
+                                                                               }
+                                                                       };
+                                                                       "writestart progress write abort".split(" ").forEach(function(event) {
+                                                                               writer["on" + event] = filesaver["on" + event];
+                                                                       });
+                                                                       writer.write(blob);
+                                                                       filesaver.abort = function() {
+                                                                               writer.abort();
+                                                                               filesaver.readyState = filesaver.DONE;
+                                                                       };
+                                                                       filesaver.readyState = filesaver.WRITING;
+                                                               }), fs_error);
+                                                       }), fs_error);
+                                               };
+                                               dir.getFile(name, {create: false}, abortable(function(file) {
+                                                       // delete file if it already exists
+                                                       file.remove();
+                                                       save();
+                                               }), abortable(function(ex) {
+                                                       if (ex.code === ex.NOT_FOUND_ERR) {
+                                                               save();
+                                                       } else {
+                                                               fs_error();
+                                                       }
+                                               }));
+                                       }), fs_error);
+                               }), fs_error);
+                       }
+                       , FS_proto = FileSaver.prototype
+                       , saveAs = function(blob, name, no_auto_bom) {
+                               return new FileSaver(blob, name, no_auto_bom);
+                       }
+               ;
+               // IE 10+ (native saveAs)
+               if (typeof navigator !== "undefined" && navigator.msSaveOrOpenBlob) {
+                       return function(blob, name, no_auto_bom) {
+                               if (!no_auto_bom) {
+                                       blob = auto_bom(blob);
+                               }
+                               return navigator.msSaveOrOpenBlob(blob, name || "download");
+                       };
+               }
+
+               FS_proto.abort = function() {
+                       var filesaver = this;
+                       filesaver.readyState = filesaver.DONE;
+                       dispatch(filesaver, "abort");
+               };
+               FS_proto.readyState = FS_proto.INIT = 0;
+               FS_proto.WRITING = 1;
+               FS_proto.DONE = 2;
+
+               FS_proto.error =
+               FS_proto.onwritestart =
+               FS_proto.onprogress =
+               FS_proto.onwrite =
+               FS_proto.onabort =
+               FS_proto.onerror =
+               FS_proto.onwriteend =
+                       null;
+
+               return saveAs;
+       }(
+                  typeof self !== "undefined" && self
+               || typeof window !== "undefined" && window
+               || this.content
+       ));
+       // `self` is undefined in Firefox for Android content script context
+       // while `this` is nsIContentFrameMessageManager
+       // with an attribute `content` that corresponds to the window
+
+       if (typeof module !== "undefined" && module.exports) {
+         module.exports.saveAs = saveAs;
+       } else if (("function" !== "undefined" && __webpack_require__(106) !== null) && (__webpack_require__(107) != null)) {
+         !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function() {
+           return saveAs;
+         }.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
+       }
+
+
+/***/ },
+/* 106 */
+/***/ function(module, exports) {
+
+       module.exports = function() { throw new Error("define cannot be used indirect"); };\r
+
+
+/***/ },
+/* 107 */
+/***/ function(module, exports) {
+
+       /* WEBPACK VAR INJECTION */(function(__webpack_amd_options__) {module.exports = __webpack_amd_options__;\r
+
+       /* WEBPACK VAR INJECTION */}.call(exports, {}))
+
+/***/ }
+/******/ ]);
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..f5fd30a82e20973d145d590eb7a8327d436a4d31
--- /dev/null
@@ -0,0 +1 @@
+window.pdfMake = window.pdfMake || {}; window.pdfMake.vfs = {"LICENSE.txt":"DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcGFjaGUgTGljZW5zZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbiAyLjAsIEphbnVhcnkgMjAwNA0KICAgICAgICAgICAgICAgICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzLw0KDQogICBURVJNUyBBTkQgQ09ORElUSU9OUyBGT1IgVVNFLCBSRVBST0RVQ1RJT04sIEFORCBESVNUUklCVVRJT04NCg0KICAgMS4gRGVmaW5pdGlvbnMuDQoNCiAgICAgICJMaWNlbnNlIiBzaGFsbCBtZWFuIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgdXNlLCByZXByb2R1Y3Rpb24sDQogICAgICBhbmQgZGlzdHJpYnV0aW9uIGFzIGRlZmluZWQgYnkgU2VjdGlvbnMgMSB0aHJvdWdoIDkgb2YgdGhpcyBkb2N1bWVudC4NCg0KICAgICAgIkxpY2Vuc29yIiBzaGFsbCBtZWFuIHRoZSBjb3B5cmlnaHQgb3duZXIgb3IgZW50aXR5IGF1dGhvcml6ZWQgYnkNCiAgICAgIHRoZSBjb3B5cmlnaHQgb3duZXIgdGhhdCBpcyBncmFudGluZyB0aGUgTGljZW5zZS4NCg0KICAgICAgIkxlZ2FsIEVudGl0eSIgc2hhbGwgbWVhbiB0aGUgdW5pb24gb2YgdGhlIGFjdGluZyBlbnRpdHkgYW5kIGFsbA0KICAgICAgb3RoZXIgZW50aXRpZXMgdGhhdCBjb250cm9sLCBhcmUgY29udHJvbGxlZCBieSwgb3IgYXJlIHVuZGVyIGNvbW1vbg0KICAgICAgY29udHJvbCB3aXRoIHRoYXQgZW50aXR5LiBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwNCiAgICAgICJjb250cm9sIiBtZWFucyAoaSkgdGhlIHBvd2VyLCBkaXJlY3Qgb3IgaW5kaXJlY3QsIHRvIGNhdXNlIHRoZQ0KICAgICAgZGlyZWN0aW9uIG9yIG1hbmFnZW1lbnQgb2Ygc3VjaCBlbnRpdHksIHdoZXRoZXIgYnkgY29udHJhY3Qgb3INCiAgICAgIG90aGVyd2lzZSwgb3IgKGlpKSBvd25lcnNoaXAgb2YgZmlmdHkgcGVyY2VudCAoNTAlKSBvciBtb3JlIG9mIHRoZQ0KICAgICAgb3V0c3RhbmRpbmcgc2hhcmVzLCBvciAoaWlpKSBiZW5lZmljaWFsIG93bmVyc2hpcCBvZiBzdWNoIGVudGl0eS4NCg0KICAgICAgIllvdSIgKG9yICJZb3VyIikgc2hhbGwgbWVhbiBhbiBpbmRpdmlkdWFsIG9yIExlZ2FsIEVudGl0eQ0KICAgICAgZXhlcmNpc2luZyBwZXJtaXNzaW9ucyBncmFudGVkIGJ5IHRoaXMgTGljZW5zZS4NCg0KICAgICAgIlNvdXJjZSIgZm9ybSBzaGFsbCBtZWFuIHRoZSBwcmVmZXJyZWQgZm9ybSBmb3IgbWFraW5nIG1vZGlmaWNhdGlvbnMsDQogICAgICBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIHNvZnR3YXJlIHNvdXJjZSBjb2RlLCBkb2N1bWVudGF0aW9uDQogICAgICBzb3VyY2UsIGFuZCBjb25maWd1cmF0aW9uIGZpbGVzLg0KDQogICAgICAiT2JqZWN0IiBmb3JtIHNoYWxsIG1lYW4gYW55IGZvcm0gcmVzdWx0aW5nIGZyb20gbWVjaGFuaWNhbA0KICAgICAgdHJhbnNmb3JtYXRpb24gb3IgdHJhbnNsYXRpb24gb2YgYSBTb3VyY2UgZm9ybSwgaW5jbHVkaW5nIGJ1dA0KICAgICAgbm90IGxpbWl0ZWQgdG8gY29tcGlsZWQgb2JqZWN0IGNvZGUsIGdlbmVyYXRlZCBkb2N1bWVudGF0aW9uLA0KICAgICAgYW5kIGNvbnZlcnNpb25zIHRvIG90aGVyIG1lZGlhIHR5cGVzLg0KDQogICAgICAiV29yayIgc2hhbGwgbWVhbiB0aGUgd29yayBvZiBhdXRob3JzaGlwLCB3aGV0aGVyIGluIFNvdXJjZSBvcg0KICAgICAgT2JqZWN0IGZvcm0sIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSBMaWNlbnNlLCBhcyBpbmRpY2F0ZWQgYnkgYQ0KICAgICAgY29weXJpZ2h0IG5vdGljZSB0aGF0IGlzIGluY2x1ZGVkIGluIG9yIGF0dGFjaGVkIHRvIHRoZSB3b3JrDQogICAgICAoYW4gZXhhbXBsZSBpcyBwcm92aWRlZCBpbiB0aGUgQXBwZW5kaXggYmVsb3cpLg0KDQogICAgICAiRGVyaXZhdGl2ZSBXb3JrcyIgc2hhbGwgbWVhbiBhbnkgd29yaywgd2hldGhlciBpbiBTb3VyY2Ugb3IgT2JqZWN0DQogICAgICBmb3JtLCB0aGF0IGlzIGJhc2VkIG9uIChvciBkZXJpdmVkIGZyb20pIHRoZSBXb3JrIGFuZCBmb3Igd2hpY2ggdGhlDQogICAgICBlZGl0b3JpYWwgcmV2aXNpb25zLCBhbm5vdGF0aW9ucywgZWxhYm9yYXRpb25zLCBvciBvdGhlciBtb2RpZmljYXRpb25zDQogICAgICByZXByZXNlbnQsIGFzIGEgd2hvbGUsIGFuIG9yaWdpbmFsIHdvcmsgb2YgYXV0aG9yc2hpcC4gRm9yIHRoZSBwdXJwb3Nlcw0KICAgICAgb2YgdGhpcyBMaWNlbnNlLCBEZXJpdmF0aXZlIFdvcmtzIHNoYWxsIG5vdCBpbmNsdWRlIHdvcmtzIHRoYXQgcmVtYWluDQogICAgICBzZXBhcmFibGUgZnJvbSwgb3IgbWVyZWx5IGxpbmsgKG9yIGJpbmQgYnkgbmFtZSkgdG8gdGhlIGludGVyZmFjZXMgb2YsDQogICAgICB0aGUgV29yayBhbmQgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mLg0KDQogICAgICAiQ29udHJpYnV0aW9uIiBzaGFsbCBtZWFuIGFueSB3b3JrIG9mIGF1dGhvcnNoaXAsIGluY2x1ZGluZw0KICAgICAgdGhlIG9yaWdpbmFsIHZlcnNpb24gb2YgdGhlIFdvcmsgYW5kIGFueSBtb2RpZmljYXRpb25zIG9yIGFkZGl0aW9ucw0KICAgICAgdG8gdGhhdCBXb3JrIG9yIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZiwgdGhhdCBpcyBpbnRlbnRpb25hbGx5DQogICAgICBzdWJtaXR0ZWQgdG8gTGljZW5zb3IgZm9yIGluY2x1c2lvbiBpbiB0aGUgV29yayBieSB0aGUgY29weXJpZ2h0IG93bmVyDQogICAgICBvciBieSBhbiBpbmRpdmlkdWFsIG9yIExlZ2FsIEVudGl0eSBhdXRob3JpemVkIHRvIHN1Ym1pdCBvbiBiZWhhbGYgb2YNCiAgICAgIHRoZSBjb3B5cmlnaHQgb3duZXIuIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBkZWZpbml0aW9uLCAic3VibWl0dGVkIg0KICAgICAgbWVhbnMgYW55IGZvcm0gb2YgZWxlY3Ryb25pYywgdmVyYmFsLCBvciB3cml0dGVuIGNvbW11bmljYXRpb24gc2VudA0KICAgICAgdG8gdGhlIExpY2Vuc29yIG9yIGl0cyByZXByZXNlbnRhdGl2ZXMsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8NCiAgICAgIGNvbW11bmljYXRpb24gb24gZWxlY3Ryb25pYyBtYWlsaW5nIGxpc3RzLCBzb3VyY2UgY29kZSBjb250cm9sIHN5c3RlbXMsDQogICAgICBhbmQgaXNzdWUgdHJhY2tpbmcgc3lzdGVtcyB0aGF0IGFyZSBtYW5hZ2VkIGJ5LCBvciBvbiBiZWhhbGYgb2YsIHRoZQ0KICAgICAgTGljZW5zb3IgZm9yIHRoZSBwdXJwb3NlIG9mIGRpc2N1c3NpbmcgYW5kIGltcHJvdmluZyB0aGUgV29yaywgYnV0DQogICAgICBleGNsdWRpbmcgY29tbXVuaWNhdGlvbiB0aGF0IGlzIGNvbnNwaWN1b3VzbHkgbWFya2VkIG9yIG90aGVyd2lzZQ0KICAgICAgZGVzaWduYXRlZCBpbiB3cml0aW5nIGJ5IHRoZSBjb3B5cmlnaHQgb3duZXIgYXMgIk5vdCBhIENvbnRyaWJ1dGlvbi4iDQoNCiAgICAgICJDb250cmlidXRvciIgc2hhbGwgbWVhbiBMaWNlbnNvciBhbmQgYW55IGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5DQogICAgICBvbiBiZWhhbGYgb2Ygd2hvbSBhIENvbnRyaWJ1dGlvbiBoYXMgYmVlbiByZWNlaXZlZCBieSBMaWNlbnNvciBhbmQNCiAgICAgIHN1YnNlcXVlbnRseSBpbmNvcnBvcmF0ZWQgd2l0aGluIHRoZSBXb3JrLg0KDQogICAyLiBHcmFudCBvZiBDb3B5cmlnaHQgTGljZW5zZS4gU3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YNCiAgICAgIHRoaXMgTGljZW5zZSwgZWFjaCBDb250cmlidXRvciBoZXJlYnkgZ3JhbnRzIHRvIFlvdSBhIHBlcnBldHVhbCwNCiAgICAgIHdvcmxkd2lkZSwgbm9uLWV4Y2x1c2l2ZSwgbm8tY2hhcmdlLCByb3lhbHR5LWZyZWUsIGlycmV2b2NhYmxlDQogICAgICBjb3B5cmlnaHQgbGljZW5zZSB0byByZXByb2R1Y2UsIHByZXBhcmUgRGVyaXZhdGl2ZSBXb3JrcyBvZiwNCiAgICAgIHB1YmxpY2x5IGRpc3BsYXksIHB1YmxpY2x5IHBlcmZvcm0sIHN1YmxpY2Vuc2UsIGFuZCBkaXN0cmlidXRlIHRoZQ0KICAgICAgV29yayBhbmQgc3VjaCBEZXJpdmF0aXZlIFdvcmtzIGluIFNvdXJjZSBvciBPYmplY3QgZm9ybS4NCg0KICAgMy4gR3JhbnQgb2YgUGF0ZW50IExpY2Vuc2UuIFN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mDQogICAgICB0aGlzIExpY2Vuc2UsIGVhY2ggQ29udHJpYnV0b3IgaGVyZWJ5IGdyYW50cyB0byBZb3UgYSBwZXJwZXR1YWwsDQogICAgICB3b3JsZHdpZGUsIG5vbi1leGNsdXNpdmUsIG5vLWNoYXJnZSwgcm95YWx0eS1mcmVlLCBpcnJldm9jYWJsZQ0KICAgICAgKGV4Y2VwdCBhcyBzdGF0ZWQgaW4gdGhpcyBzZWN0aW9uKSBwYXRlbnQgbGljZW5zZSB0byBtYWtlLCBoYXZlIG1hZGUsDQogICAgICB1c2UsIG9mZmVyIHRvIHNlbGwsIHNlbGwsIGltcG9ydCwgYW5kIG90aGVyd2lzZSB0cmFuc2ZlciB0aGUgV29yaywNCiAgICAgIHdoZXJlIHN1Y2ggbGljZW5zZSBhcHBsaWVzIG9ubHkgdG8gdGhvc2UgcGF0ZW50IGNsYWltcyBsaWNlbnNhYmxlDQogICAgICBieSBzdWNoIENvbnRyaWJ1dG9yIHRoYXQgYXJlIG5lY2Vzc2FyaWx5IGluZnJpbmdlZCBieSB0aGVpcg0KICAgICAgQ29udHJpYnV0aW9uKHMpIGFsb25lIG9yIGJ5IGNvbWJpbmF0aW9uIG9mIHRoZWlyIENvbnRyaWJ1dGlvbihzKQ0KICAgICAgd2l0aCB0aGUgV29yayB0byB3aGljaCBzdWNoIENvbnRyaWJ1dGlvbihzKSB3YXMgc3VibWl0dGVkLiBJZiBZb3UNCiAgICAgIGluc3RpdHV0ZSBwYXRlbnQgbGl0aWdhdGlvbiBhZ2FpbnN0IGFueSBlbnRpdHkgKGluY2x1ZGluZyBhDQogICAgICBjcm9zcy1jbGFpbSBvciBjb3VudGVyY2xhaW0gaW4gYSBsYXdzdWl0KSBhbGxlZ2luZyB0aGF0IHRoZSBXb3JrDQogICAgICBvciBhIENvbnRyaWJ1dGlvbiBpbmNvcnBvcmF0ZWQgd2l0aGluIHRoZSBXb3JrIGNvbnN0aXR1dGVzIGRpcmVjdA0KICAgICAgb3IgY29udHJpYnV0b3J5IHBhdGVudCBpbmZyaW5nZW1lbnQsIHRoZW4gYW55IHBhdGVudCBsaWNlbnNlcw0KICAgICAgZ3JhbnRlZCB0byBZb3UgdW5kZXIgdGhpcyBMaWNlbnNlIGZvciB0aGF0IFdvcmsgc2hhbGwgdGVybWluYXRlDQogICAgICBhcyBvZiB0aGUgZGF0ZSBzdWNoIGxpdGlnYXRpb24gaXMgZmlsZWQuDQoNCiAgIDQuIFJlZGlzdHJpYnV0aW9uLiBZb3UgbWF5IHJlcHJvZHVjZSBhbmQgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlDQogICAgICBXb3JrIG9yIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZiBpbiBhbnkgbWVkaXVtLCB3aXRoIG9yIHdpdGhvdXQNCiAgICAgIG1vZGlmaWNhdGlvbnMsIGFuZCBpbiBTb3VyY2Ugb3IgT2JqZWN0IGZvcm0sIHByb3ZpZGVkIHRoYXQgWW91DQogICAgICBtZWV0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoNCg0KICAgICAgKGEpIFlvdSBtdXN0IGdpdmUgYW55IG90aGVyIHJlY2lwaWVudHMgb2YgdGhlIFdvcmsgb3INCiAgICAgICAgICBEZXJpdmF0aXZlIFdvcmtzIGEgY29weSBvZiB0aGlzIExpY2Vuc2U7IGFuZA0KDQogICAgICAoYikgWW91IG11c3QgY2F1c2UgYW55IG1vZGlmaWVkIGZpbGVzIHRvIGNhcnJ5IHByb21pbmVudCBub3RpY2VzDQogICAgICAgICAgc3RhdGluZyB0aGF0IFlvdSBjaGFuZ2VkIHRoZSBmaWxlczsgYW5kDQoNCiAgICAgIChjKSBZb3UgbXVzdCByZXRhaW4sIGluIHRoZSBTb3VyY2UgZm9ybSBvZiBhbnkgRGVyaXZhdGl2ZSBXb3Jrcw0KICAgICAgICAgIHRoYXQgWW91IGRpc3RyaWJ1dGUsIGFsbCBjb3B5cmlnaHQsIHBhdGVudCwgdHJhZGVtYXJrLCBhbmQNCiAgICAgICAgICBhdHRyaWJ1dGlvbiBub3RpY2VzIGZyb20gdGhlIFNvdXJjZSBmb3JtIG9mIHRoZSBXb3JrLA0KICAgICAgICAgIGV4Y2x1ZGluZyB0aG9zZSBub3RpY2VzIHRoYXQgZG8gbm90IHBlcnRhaW4gdG8gYW55IHBhcnQgb2YNCiAgICAgICAgICB0aGUgRGVyaXZhdGl2ZSBXb3JrczsgYW5kDQoNCiAgICAgIChkKSBJZiB0aGUgV29yayBpbmNsdWRlcyBhICJOT1RJQ0UiIHRleHQgZmlsZSBhcyBwYXJ0IG9mIGl0cw0KICAgICAgICAgIGRpc3RyaWJ1dGlvbiwgdGhlbiBhbnkgRGVyaXZhdGl2ZSBXb3JrcyB0aGF0IFlvdSBkaXN0cmlidXRlIG11c3QNCiAgICAgICAgICBpbmNsdWRlIGEgcmVhZGFibGUgY29weSBvZiB0aGUgYXR0cmlidXRpb24gbm90aWNlcyBjb250YWluZWQNCiAgICAgICAgICB3aXRoaW4gc3VjaCBOT1RJQ0UgZmlsZSwgZXhjbHVkaW5nIHRob3NlIG5vdGljZXMgdGhhdCBkbyBub3QNCiAgICAgICAgICBwZXJ0YWluIHRvIGFueSBwYXJ0IG9mIHRoZSBEZXJpdmF0aXZlIFdvcmtzLCBpbiBhdCBsZWFzdCBvbmUNCiAgICAgICAgICBvZiB0aGUgZm9sbG93aW5nIHBsYWNlczogd2l0aGluIGEgTk9USUNFIHRleHQgZmlsZSBkaXN0cmlidXRlZA0KICAgICAgICAgIGFzIHBhcnQgb2YgdGhlIERlcml2YXRpdmUgV29ya3M7IHdpdGhpbiB0aGUgU291cmNlIGZvcm0gb3INCiAgICAgICAgICBkb2N1bWVudGF0aW9uLCBpZiBwcm92aWRlZCBhbG9uZyB3aXRoIHRoZSBEZXJpdmF0aXZlIFdvcmtzOyBvciwNCiAgICAgICAgICB3aXRoaW4gYSBkaXNwbGF5IGdlbmVyYXRlZCBieSB0aGUgRGVyaXZhdGl2ZSBXb3JrcywgaWYgYW5kDQogICAgICAgICAgd2hlcmV2ZXIgc3VjaCB0aGlyZC1wYXJ0eSBub3RpY2VzIG5vcm1hbGx5IGFwcGVhci4gVGhlIGNvbnRlbnRzDQogICAgICAgICAgb2YgdGhlIE5PVElDRSBmaWxlIGFyZSBmb3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5IGFuZA0KICAgICAgICAgIGRvIG5vdCBtb2RpZnkgdGhlIExpY2Vuc2UuIFlvdSBtYXkgYWRkIFlvdXIgb3duIGF0dHJpYnV0aW9uDQogICAgICAgICAgbm90aWNlcyB3aXRoaW4gRGVyaXZhdGl2ZSBXb3JrcyB0aGF0IFlvdSBkaXN0cmlidXRlLCBhbG9uZ3NpZGUNCiAgICAgICAgICBvciBhcyBhbiBhZGRlbmR1bSB0byB0aGUgTk9USUNFIHRleHQgZnJvbSB0aGUgV29yaywgcHJvdmlkZWQNCiAgICAgICAgICB0aGF0IHN1Y2ggYWRkaXRpb25hbCBhdHRyaWJ1dGlvbiBub3RpY2VzIGNhbm5vdCBiZSBjb25zdHJ1ZWQNCiAgICAgICAgICBhcyBtb2RpZnlpbmcgdGhlIExpY2Vuc2UuDQoNCiAgICAgIFlvdSBtYXkgYWRkIFlvdXIgb3duIGNvcHlyaWdodCBzdGF0ZW1lbnQgdG8gWW91ciBtb2RpZmljYXRpb25zIGFuZA0KICAgICAgbWF5IHByb3ZpZGUgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQgbGljZW5zZSB0ZXJtcyBhbmQgY29uZGl0aW9ucw0KICAgICAgZm9yIHVzZSwgcmVwcm9kdWN0aW9uLCBvciBkaXN0cmlidXRpb24gb2YgWW91ciBtb2RpZmljYXRpb25zLCBvcg0KICAgICAgZm9yIGFueSBzdWNoIERlcml2YXRpdmUgV29ya3MgYXMgYSB3aG9sZSwgcHJvdmlkZWQgWW91ciB1c2UsDQogICAgICByZXByb2R1Y3Rpb24sIGFuZCBkaXN0cmlidXRpb24gb2YgdGhlIFdvcmsgb3RoZXJ3aXNlIGNvbXBsaWVzIHdpdGgNCiAgICAgIHRoZSBjb25kaXRpb25zIHN0YXRlZCBpbiB0aGlzIExpY2Vuc2UuDQoNCiAgIDUuIFN1Ym1pc3Npb24gb2YgQ29udHJpYnV0aW9ucy4gVW5sZXNzIFlvdSBleHBsaWNpdGx5IHN0YXRlIG90aGVyd2lzZSwNCiAgICAgIGFueSBDb250cmlidXRpb24gaW50ZW50aW9uYWxseSBzdWJtaXR0ZWQgZm9yIGluY2x1c2lvbiBpbiB0aGUgV29yaw0KICAgICAgYnkgWW91IHRvIHRoZSBMaWNlbnNvciBzaGFsbCBiZSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YNCiAgICAgIHRoaXMgTGljZW5zZSwgd2l0aG91dCBhbnkgYWRkaXRpb25hbCB0ZXJtcyBvciBjb25kaXRpb25zLg0KICAgICAgTm90d2l0aHN0YW5kaW5nIHRoZSBhYm92ZSwgbm90aGluZyBoZXJlaW4gc2hhbGwgc3VwZXJzZWRlIG9yIG1vZGlmeQ0KICAgICAgdGhlIHRlcm1zIG9mIGFueSBzZXBhcmF0ZSBsaWNlbnNlIGFncmVlbWVudCB5b3UgbWF5IGhhdmUgZXhlY3V0ZWQNCiAgICAgIHdpdGggTGljZW5zb3IgcmVnYXJkaW5nIHN1Y2ggQ29udHJpYnV0aW9ucy4NCg0KICAgNi4gVHJhZGVtYXJrcy4gVGhpcyBMaWNlbnNlIGRvZXMgbm90IGdyYW50IHBlcm1pc3Npb24gdG8gdXNlIHRoZSB0cmFkZQ0KICAgICAgbmFtZXMsIHRyYWRlbWFya3MsIHNlcnZpY2UgbWFya3MsIG9yIHByb2R1Y3QgbmFtZXMgb2YgdGhlIExpY2Vuc29yLA0KICAgICAgZXhjZXB0IGFzIHJlcXVpcmVkIGZvciByZWFzb25hYmxlIGFuZCBjdXN0b21hcnkgdXNlIGluIGRlc2NyaWJpbmcgdGhlDQogICAgICBvcmlnaW4gb2YgdGhlIFdvcmsgYW5kIHJlcHJvZHVjaW5nIHRoZSBjb250ZW50IG9mIHRoZSBOT1RJQ0UgZmlsZS4NCg0KICAgNy4gRGlzY2xhaW1lciBvZiBXYXJyYW50eS4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yDQogICAgICBhZ3JlZWQgdG8gaW4gd3JpdGluZywgTGljZW5zb3IgcHJvdmlkZXMgdGhlIFdvcmsgKGFuZCBlYWNoDQogICAgICBDb250cmlidXRvciBwcm92aWRlcyBpdHMgQ29udHJpYnV0aW9ucykgb24gYW4gIkFTIElTIiBCQVNJUywNCiAgICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvcg0KICAgICAgaW1wbGllZCwgaW5jbHVkaW5nLCB3aXRob3V0IGxpbWl0YXRpb24sIGFueSB3YXJyYW50aWVzIG9yIGNvbmRpdGlvbnMNCiAgICAgIG9mIFRJVExFLCBOT04tSU5GUklOR0VNRU5ULCBNRVJDSEFOVEFCSUxJVFksIG9yIEZJVE5FU1MgRk9SIEENCiAgICAgIFBBUlRJQ1VMQVIgUFVSUE9TRS4gWW91IGFyZSBzb2xlbHkgcmVzcG9uc2libGUgZm9yIGRldGVybWluaW5nIHRoZQ0KICAgICAgYXBwcm9wcmlhdGVuZXNzIG9mIHVzaW5nIG9yIHJlZGlzdHJpYnV0aW5nIHRoZSBXb3JrIGFuZCBhc3N1bWUgYW55DQogICAgICByaXNrcyBhc3NvY2lhdGVkIHdpdGggWW91ciBleGVyY2lzZSBvZiBwZXJtaXNzaW9ucyB1bmRlciB0aGlzIExpY2Vuc2UuDQoNCiAgIDguIExpbWl0YXRpb24gb2YgTGlhYmlsaXR5LiBJbiBubyBldmVudCBhbmQgdW5kZXIgbm8gbGVnYWwgdGhlb3J5LA0KICAgICAgd2hldGhlciBpbiB0b3J0IChpbmNsdWRpbmcgbmVnbGlnZW5jZSksIGNvbnRyYWN0LCBvciBvdGhlcndpc2UsDQogICAgICB1bmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgKHN1Y2ggYXMgZGVsaWJlcmF0ZSBhbmQgZ3Jvc3NseQ0KICAgICAgbmVnbGlnZW50IGFjdHMpIG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzaGFsbCBhbnkgQ29udHJpYnV0b3IgYmUNCiAgICAgIGxpYWJsZSB0byBZb3UgZm9yIGRhbWFnZXMsIGluY2x1ZGluZyBhbnkgZGlyZWN0LCBpbmRpcmVjdCwgc3BlY2lhbCwNCiAgICAgIGluY2lkZW50YWwsIG9yIGNvbnNlcXVlbnRpYWwgZGFtYWdlcyBvZiBhbnkgY2hhcmFjdGVyIGFyaXNpbmcgYXMgYQ0KICAgICAgcmVzdWx0IG9mIHRoaXMgTGljZW5zZSBvciBvdXQgb2YgdGhlIHVzZSBvciBpbmFiaWxpdHkgdG8gdXNlIHRoZQ0KICAgICAgV29yayAoaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBkYW1hZ2VzIGZvciBsb3NzIG9mIGdvb2R3aWxsLA0KICAgICAgd29yayBzdG9wcGFnZSwgY29tcHV0ZXIgZmFpbHVyZSBvciBtYWxmdW5jdGlvbiwgb3IgYW55IGFuZCBhbGwNCiAgICAgIG90aGVyIGNvbW1lcmNpYWwgZGFtYWdlcyBvciBsb3NzZXMpLCBldmVuIGlmIHN1Y2ggQ29udHJpYnV0b3INCiAgICAgIGhhcyBiZWVuIGFkdmlzZWQgb2YgdGhlIHBvc3NpYmlsaXR5IG9mIHN1Y2ggZGFtYWdlcy4NCg0KICAgOS4gQWNjZXB0aW5nIFdhcnJhbnR5IG9yIEFkZGl0aW9uYWwgTGlhYmlsaXR5LiBXaGlsZSByZWRpc3RyaWJ1dGluZw0KICAgICAgdGhlIFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mLCBZb3UgbWF5IGNob29zZSB0byBvZmZlciwNCiAgICAgIGFuZCBjaGFyZ2UgYSBmZWUgZm9yLCBhY2NlcHRhbmNlIG9mIHN1cHBvcnQsIHdhcnJhbnR5LCBpbmRlbW5pdHksDQogICAgICBvciBvdGhlciBsaWFiaWxpdHkgb2JsaWdhdGlvbnMgYW5kL29yIHJpZ2h0cyBjb25zaXN0ZW50IHdpdGggdGhpcw0KICAgICAgTGljZW5zZS4gSG93ZXZlciwgaW4gYWNjZXB0aW5nIHN1Y2ggb2JsaWdhdGlvbnMsIFlvdSBtYXkgYWN0IG9ubHkNCiAgICAgIG9uIFlvdXIgb3duIGJlaGFsZiBhbmQgb24gWW91ciBzb2xlIHJlc3BvbnNpYmlsaXR5LCBub3Qgb24gYmVoYWxmDQogICAgICBvZiBhbnkgb3RoZXIgQ29udHJpYnV0b3IsIGFuZCBvbmx5IGlmIFlvdSBhZ3JlZSB0byBpbmRlbW5pZnksDQogICAgICBkZWZlbmQsIGFuZCBob2xkIGVhY2ggQ29udHJpYnV0b3IgaGFybWxlc3MgZm9yIGFueSBsaWFiaWxpdHkNCiAgICAgIGluY3VycmVkIGJ5LCBvciBjbGFpbXMgYXNzZXJ0ZWQgYWdhaW5zdCwgc3VjaCBDb250cmlidXRvciBieSByZWFzb24NCiAgICAgIG9mIHlvdXIgYWNjZXB0aW5nIGFueSBzdWNoIHdhcnJhbnR5IG9yIGFkZGl0aW9uYWwgbGlhYmlsaXR5Lg0KDQogICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMNCg0KICAgQVBQRU5ESVg6IEhvdyB0byBhcHBseSB0aGUgQXBhY2hlIExpY2Vuc2UgdG8geW91ciB3b3JrLg0KDQogICAgICBUbyBhcHBseSB0aGUgQXBhY2hlIExpY2Vuc2UgdG8geW91ciB3b3JrLCBhdHRhY2ggdGhlIGZvbGxvd2luZw0KICAgICAgYm9pbGVycGxhdGUgbm90aWNlLCB3aXRoIHRoZSBmaWVsZHMgZW5jbG9zZWQgYnkgYnJhY2tldHMgIltdIg0KICAgICAgcmVwbGFjZWQgd2l0aCB5b3VyIG93biBpZGVudGlmeWluZyBpbmZvcm1hdGlvbi4gKERvbid0IGluY2x1ZGUNCiAgICAgIHRoZSBicmFja2V0cyEpICBUaGUgdGV4dCBzaG91bGQgYmUgZW5jbG9zZWQgaW4gdGhlIGFwcHJvcHJpYXRlDQogICAgICBjb21tZW50IHN5bnRheCBmb3IgdGhlIGZpbGUgZm9ybWF0LiBXZSBhbHNvIHJlY29tbWVuZCB0aGF0IGENCiAgICAgIGZpbGUgb3IgY2xhc3MgbmFtZSBhbmQgZGVzY3JpcHRpb24gb2YgcHVycG9zZSBiZSBpbmNsdWRlZCBvbiB0aGUNCiAgICAgIHNhbWUgInByaW50ZWQgcGFnZSIgYXMgdGhlIGNvcHlyaWdodCBub3RpY2UgZm9yIGVhc2llcg0KICAgICAgaWRlbnRpZmljYXRpb24gd2l0aGluIHRoaXJkLXBhcnR5IGFyY2hpdmVzLg0KDQogICBDb3B5cmlnaHQgW3l5eXldIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0NCg0KICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7DQogICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuDQogICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQNCg0KICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KDQogICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlDQogICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQogICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQogICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCg==","Roboto-Italic.ttf":"AAEAAAAOAIAAAwBgR0RFRgsuCy8AATmYAAAASEdQT1OC3T4oAAE54AAAkPhHU1VCeolvLwABytgAAANsT1MvMrivKS4AAAFoAAAAYFZETVhu6nZPAAASPAAABeBjbWFwg/CFnwAAGBwAAA7yZ2x5ZqugYnAAACcQAADhjGhlYWQVl+THAAAA7AAAADZoaGVhK3TmIgAAASQAAAAkaG10eH7tDo8AAAHIAAAQdGxvY2H/CzayAAEInAAACDxtYXhwBDwA9gAAAUgAAAAgbmFtZW3ArcAAARDYAAAEb3Bvc3QJy9dbAAEVSAAAJE0AAQAAAAEAAERFNtJfDzz1AAkIAAAAAADE8BEuAAAAAM2Cslz6t9PdKU8IYgACAAkAAgAAAAAAAAABAAAHbP4MAAAJA/q32vUpTwABAAAAAAAAAAAAAAAAAAAEHQABAAAEHQCWABYAXgAFAAEAAAAAAAAAAAAAAAAAAwABAAMEQQGQAAUAAAWaBTMAAAEfBZoFMwAAA9EAZgIAAAAAAAAAAAAAAAAA4AAC/1AAIFsAAAAgAAAAAHB5cnMAAQAA//0GAP4AAGYHmgIAIAABn08BAAAEOgWwAAAAIAACAeMAAAAAAAAB4wAAAeMAAAJ1AMUErABDBDoARwV7ANMErAAbAVcAxgKBAFcCiP+MA0AAoQRCAHIBgf+YAhUAPgIGAEYDH/+mBDoAUAQ6AXAEOgAtBDoANQQ6ACcEOgBoBDoAZwQ6ANgEOgA1BDoAfwHpAEYB8f/GA9EAZQQ6AI4D7gBWA5IAwga0ABME/v/VBMsAWATBAGIE8ABYBGIAWARfAFgFJgBoBVgAWAIkAGIEJQAPBH4APgQgAFgGkgBYBVkAWAUcAF4EzQBYBTsAXgT4AFcEjQBDBHoA7AUSAGcE3QDNBpUA7AS9//wEpgDuBDIAIAIKABIDHAD3Agr/lwMnAHwDa/+WAl0A8wQgADoERAA1A/wARwREAEQD+QBHApsAigRDADcERAA1AegARAH2/x0D2QA2AegARAaLADUERAA1BEQARgRE/+IERABEAqQANQPuADsCaQBvBEQAWgPIAJcFrACyA8j/6QPI/7wDyAAIApEAUQHhADYCkf+pBRgAggHh/+sEHQBXBGAALQVVACYEjgBxAdkAAQSc/8gDvwEnBd4AUgNeAMIDjABwBCsApgXfAFIDewEDAtABBQQGAE4DMQCnAzgAqgJoAPsERP/rA7EAhwH/AMMB4//OAg8BBANtAM8DiwA1BdUBDgY7ARsGgQC6A7f/8wcF/54EBABIBR0AJgRvAEgEeQAwBlIABARnACYESgBqBEUATARY/+sFRABVAegAPgQxAD4D8wBJAhEARwUwAEYERAA1BygATwbHAEQB6ABEApb/ZgUjAFkETgBGBToAZwSuAFoB7/8bA/kAPAOWAUgDYgFeAzgBCwINAUECkQEiAhP/twOXAQgCzwEHAnoAHQAK/fIACv5BAAr9WAAK/kYACv1LAAr83AHzAWQD1AFBAgAAwwQuAFcFS//MBR0ATwTs/94ETQAiBVoAWARN//EFXwBXBS8AigUAAB0EPwBABHL/9QPIALMERABBBAsAKQPsAIsERAA1BEYAVgJ5AH4EKv/RA7AAOgR6AHAERP/iBAsASQREAEMD7gC3BBwAWgVNAD8FRABDBisAXQSiAFoD/wCzBeEAZAWfANsFEgBmCAj/3ggTAFcGGgDyBVoAVwS7AEgFqv+WBtP/ygR0ACAFWQBYBU//3gS3AKMF0QBbBX8AVwUnANEHDgBXB0cAVwWrAMkGggBXBLkASAURAIcGrABiBM4ADAQnAEQETgBAAygAPgSQ/5oFvP/DA9IAHgRaAEAEFQBABFv/1QWSAEAEWQBABFoAQAOfAJAFbwBABHkAQAQYAH8GEgBABjoANQSlAIYF2ABABBYAQAQLADMGHgBABCH/1QRFADUEDABRBlj/1QZzAEAERQA1BFoAQAaRAGgFtwBFBBQAPga2AGMFmQA8BIb/2AQF/7wGmAB0BaoAXQZrADoFigA6CHsAYgddAD4D5f/HA5//xgUdAF0ERQBGBL4A6APIALMFHQBPBEUARgaLAGwFtwBIBpIAaAW4AEUE5ABkBAgASgSyAFUACv09AAr9ZAAK/m8ACv6QAAr6twAK+tYEFAA+BMsAVwRD/+IEHwBIA1wANQSXAFcDyQA1BL0ASAQ+AD4GJADzBTQApQdEAFcFVQA1B6kAVwaGADUFjQBlBIkATga/AOgFCwCIBR0A0QQmAJcFHQDQBc8ArgR0ACUEvQBIBBsAPgVYAFcERAA1BSsARgRgADYEYP/tBHIACgMY//sEtQA2BjQANgZzAEAF7wDoBNkAiAQIAM8DywC8B0H/8QYM/+wHfQBOBjUANQSoAGAD3gBGBVIA1wTPAKwFEQBqA9UAAAehAAAD1QAAB6EAAAKSAAAB7wAAAU4AAAQ4AAACEwAAAY8AAADMAAAACgAABS8A6QYSAQADb/9oAY0A1gGNALEBjP+kAY7/YQK7ANYCwgC9Aqn/pAQkAJUESQAQApAArwOPAEcFDABHByYArgJGAIACRgAhA24ACQN0AIsDLgCjBGAALQYmAEkD/gBgBYkA4wOXAGcIOABOBLQBIwTGAHwGUAD+BtwArAcIAKoGbQEeBFkAJgU/ADkEZ/+7BEoAzwSIAGgHqABJAfL/OwQ7AFAD7wCOA/YASAP9AEcDyQBnAjYAjwJ1AJQB7f/mBC0AaAAKAAAHq/+1B6wAhwPfAB8DXAAnBDoAUQLg/+AB6P8dAhH/egF+/8IDbQE3A2wBNwNsATcDyAEPA9ABCwPIAF8DxwEXA20BDQHrAS8Eb//UBDIAPgRJAE0EYAA+BAQAPgPfAD4EhgBKBKsAPgHoAD4DzwALBBwAPgOEAD4FlwA+BMoAPgR/AE0ElQBNBGMAPgQrACMD7gC9BLMAWARwAL4FoQDUBEH/4wQcALUD/v/5BDMASgJNAKwDqQAPA9YAIAQjACUEJQAeA+8ATgOEAL0D7gAjA+cAbQIPAH8DKAAiAzgAJQLTAO0DRwArA0gAQALjAI8DTwAuAzgAZANtAD4DZwC5ApEBKwMbAPUEOgAuBDoAJwQ6AGEESwBkA/n/kQQBAOsEMP/OBDoANQR7AEAERABBBPAAWAQgADcE3gBXBNMAWAPZADYE7ABYA9gANgQ6AH0EMgA+AzgBCwHjAAACFQA+BTMAXgUzAF4EYgBTBHoA7AJpAAcE/v/VBP7/1QT+/9UE/v/VBP7/1QT+/9UE/v/VBMsAYgRiAFgEYgBYBGIAWARiAFgCJABiAiQAYgIkAGICJABiBVkAWAU7AF4FOwBeBTsAXgU7AF4FOwBeBRIAZwUSAGcFEgBnBRIAZwSmAO4EIAA6BCAAOgQgADoEIAA6BCAAOgQgADoEIAA6A/wARwP5AEcD+QBHA/kARwP5AEcB6AA+AegAPgHoAD4B6AA+BEQANQREAEYERABGBEQARgREAEYERABGBEQAWgREAFoERABaBEQAWgPI/7wDyP+8BP7/1QQgADoE/v/VBCAAOgT+/9UEIAA6BMsAYgP8AEcEywBiA/wARwTLAGID/ABHBMsAYgP8AEcFFQBYBNoARARiAFgD+QBHBGIAWAP5AEcEYgBYA/kARwRiAFgD+QBHBGIAWAP5AEcFJgBoBEMANwUmAGgEQwA3BSYAaARDADcFJgBoBEMANwVYAFgERAA1AiQAYgHoAD4CJABiAegAPgIkAGIB6AA+AiT/mgHo/3sCJABiBkkAYgPeAEQEJQAPAe//GwTTAD4D2QA2BCAAWAHoAEQEIABYAej/qAQgAFgCfgBEBCAAWALEAEQFWQBYBEQANQVZAFgERAA1BVkAWAREADUERAA1BTsAXgREAEYFOwBeBEQARgU7AF4ERABGBPgAVwKkADUE+ABXAqT/pgT4AFcCpAA1BJgAQwPuADsEmABDA+4AOwSYAEMD7gA7BJgAQwPuADsEmABDA+4AOwR6AOwCaQBFBHoA7AJpAG8EegDsApEAbwUSAGcERABaBRIAZwREAFoFEgBnBEQAWgUSAGcERABaBRIAZwREAFoFEgBnBEQAWgaVAOwFrACyBKYA7gPI/7wEpgDuBH0AIAPIAAgEfQAgA8gACAR9ACADyAAIBwX/ngZSAAQFHQAmBEUATARgAAsEYAALA+4AvQRv/9QEb//UBG//1ARv/9QEb//UBG//1ARv/9QESQBNBAQAPgQEAD4EBAA+BAQAPgHoAD4B6AA+AegAPgHoAD4EygA+BH8ATQR/AE0EfwBNBH8ATQR/AE0EswBYBLMAWASzAFgEswBYBBwAtQRv/9QEb//UBG//1ARJAE0ESQBNBEkATQRJAE0EYAA+BAQAPgQEAD4EBAA+BAQAPgQEAD4EhgBKBIYASgSGAEoEhgBKBKsAPgHoAD4B6AA+AegAPgHo/3MB6AA+A88ACwQcAD4DhAA+A4QAPgOEAD4DhAA+BMoAPgTKAD4EygA+BH8ATQR/AE0EfwBNBGMAPgRjAD4EYwA+BCsAIwQrACMEKwAjBCsAIwPuAJcD7gC9BLMAWASzAFgEswBYBLMAWASzAFgEswBYBaEA1AQcALUEHAC1A/7/+QP+//kD/v/5CFYAIwT+/9UExgCbBbwAvAKIAMYFTwByBQoASQUUADECeQBsBP7/1QTLAFgEYgBYBH0AIAVYAFgCJABiBNMAPgaSAFgFWQBYBTsAXgTNAFgEegDsBKYA7gS9//wCJABiBKYA7gQ/AEAECwApBEQANQJ5AH4EHABaBDEAPgREAEYERP/rA8gAlwPI/+kCeQB+BBwAWgREAEYEHABaBisAXQRiAFgELgBXBJgAQwIkAGICJABiBCUADwTTAD4E0wA+BLcAowT+/9UEywBYBC4AVwRiAFgFWQBYBpIAWAVYAFgFOwBeBVoAWATNAFgEywBiBHoA7AS9//wEIAA6A/kARwRaAEAERABGBET/4gP8AEcDyP+8A8j/6QP5AEcDKAA+A+4AOwHoAEQB6AA+Afb/HQQVAEADyP+8BpUA7AWsALIGlQDsBawAsgaVAOwFrACyBKYA7gPI/7wBVwDGAnUAxQP6AE8EgwCKAe//GwGNALEGkgBYBosANQT+/9UEIAA6BTsAAQbIAIoHHgCKBGIAWAVZAFgD+QBHBFoAQAUvAIoFRABDBL4A6APIALMIDABGCQMAXgR0ACAD0gAeBMsAYgP8AEcEpgDuA8gAswIkAGIG0//KBbz/wwIkAGIE/v/VBCAAOgT+/9UEIAA6BwX/ngZSAAQEYgBYA/kARwUrAEYD+QA8A/kAPAbT/8oFvP/DBHQAIAPSAB4FWQBYBFoAQAVZAFgEWgBABTsAXgREAEYFHQBdBEUARgUdAF0ERQBGBREAhwQLADMEtwCjA8j/vAS3AKMDyP+8BLcAowPI/7wFJwDRBBgAfwaCAFcF2ABABL3//API/+kERABEBU//3gRb/9UE/v/VBCAAOgT+/9UEIAA6BP7/1QQgADoE/v/VBCAAOgT+/9UEIAA6BP7/1QQgADoE/v/VBCAAOgT+/9UEIAA6BP7/1QQgADoE/v/VBCAAOgT+/9UEIAA6BP7/1QQgADoEYgBYA/kARwRiAFgD+QBHBGIAWAP5AEcEYgBYA/kARwRiAFgD+QBHBGIAWAP5AEcEYgBYA/kARwRiAFgD+QBHAiQAYgHoAD4CJAAXAej/+gU7AF4ERABGBTsAXgREAEYFOwBeBEQARgU7AF4ERABGBTsAXgREAEYFOwBeBEQARgU7AF4ERABGBSMAWQROAEYFIwBZBE4ARgUjAFkETgBGBSMAWQROAEYFIwBZBE4ARgUSAGcERABaBRIAZwREAFoFOgBnBK4AWgU6AGcErgBaBToAZwSuAFoFOgBnBK4AWgU6AGcErgBaBKYA7gPI/7wEpgDuA8j/vASmAO4DyP+8BGIARARiABME0wA+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////1QAABH8HiAImACMAAAAHAJ4BkgGo////1QAABMYHnwImACMAAAAHAdQBiQEs//8AYv5EBPgFxQAmACUAAAAHAHcBt//3//8AWAAABPIHIgImACcAAAAHAEIBNwFd//8AWAAABPIHHwImACcAAAAHAHMB4wFZ//8AWAAABPIHRgImACcAAAAHAJoA0gFd//8AWAAABPIHDAImACcAAAAHAGgA0wFc//8AYgAAAkQHIgImACsAAAAHAEL//AFd//8AYgAAA1MHHwImACsAAAAHAHMApwFZ//8AYgAAAx4HRgImACsAAAAHAJr/lwFd//8AYgAAA10HDAImACsAAAAHAGj/mAFc//8AWAAABXoHUQImADAAAAAHAKABTgFg//8AXv/rBTYHNwAmADEAAAAHAEIBjAFy//8AXv/rBTYHNAAmADEAAAAHAHMCOAFu//8AXv/rBTYHWwAmADEAAAAHAJoBJwFy//8AXv/rBTYHZgAmADEAAAAHAKABRgF1//8AXv/rBTYHIQAmADEAAAAHAGgBKAFx//8AZ//rBVcHIgImADcAAAAHAEIBdwFd//8AZ//rBVcHHwImADcAAAAHAHMCIwFZ//8AZ//rBVcHRgImADcAAAAHAJoBEgFd//8AZ//rBVcHDAImADcAAAAHAGgBEwFc//8A7gAABVMHHQImADsAAAAHAHMB6QFX//8AOv/sA/cF4AImAEMAAAAHAEIAswAb//8AOv/sBAsF3QImAEMAAAAHAHMBXwAX//8AOv/sA/cGBAImAEMAAAAGAJpOGwAA//8AOv/sBBwGDwImAEMAAAAGAKBtHgAA//8AOv/sBBQFygImAEMAAAAGAGhPGgAA//8AOv/sA/cGRgImAEMAAAAHAJ4A2gBm//8AOv/sBA4GXgImAEMAAAAHAdQA0f/r//8AR/5EA/sETgImAEUAAAAHAHcBOf/3//8AR//sA+sF4QImAEcAAAAHAEIAkQAc//8AR//sA+sF3gImAEcAAAAHAHMBPQAY//8AR//sA+sGBQImAEcAAAAGAJosHAAA//8AR//sA/IFywImAEcAAAAGAGgtGwAA//8APgAAAd0FywImAIoAAAAGAEKVBgAA//8APgAAAuwFyAImAIoAAAAGAHNAAgAA//8APgAAArcF7wImAIoAAAAHAJr/MAAG//8APgAAAvYFtQIm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//8A7gAABVMHRAImADsAAAAHAJoA2AFb////vP5LBCoF7wImAFsAAAAGAJokBgAA//8A7gAABVMHCgImADsAAAAHAGgA2QFa//8AIAAABH0HHwAmADwAAAAHAHMB0QFZ//8ACAAAA+oFyAImAFwAAAAHAHMBPgAC//8AIAAABFsHDQAmADwAAAAHAJ0BgQFd//8ACAAAA98FtgImAFwAAAAHAJ0A7gAG//8AIAAABH8HRwAmADwAAAAHAJsA1gFe//8ACAAAA+wF8AImAFwAAAAGAJtDBwAA////ngAAB3UHHwImAH8AAAAHAHMDAQFZ//8ABP/rBmAF3gImAIQAAAAHAHMCegAY//8AJv+jBWsHXQImAIEAAAAHAHMCMQGX//8ATP95BDgF3AImAIcAAAAHAHMBUAAW//8ACwAABEkEjQImAakAAAAHAdP/Uv97//8ACwAABEkEjQImAakAAAAHAdP/Uv97//8AvQAABCUEjQImAbgAAAAGAdMo9wAA////1AAAA+gF3wImAaYAAAAHAEIA2QAa////1AAABDEF3AImAaYAAAAHAHMBhQAW////1AAAA/sGAwImAaYAAAAGAJp0GgAA////1AAABEIGDgImAaYAAAAHAKAAkwAd////1AAABDoFyQImAaYAAAAGAGh1GQAA////1AAAA+gGRQImAaYAAAAHAJ4BAABl////1AAABDQGXQImAaYAAAAHAdQA9//q//8ATf5HBEIEnQImAagAAAAHAHcBU//6//8APgAABB0F3wImAaoAAAAHAEIAqgAa//8APgAABB0F3AImAaoAAAAHAHMBVgAW//8APgAABB0GAwImAaoAAAAGAJpFGgAA//8APgAABB0FyQImAaoAAAAGAGhGGQAA//8APgAAAd8F3wImAa4AAAAGAEKXGgAA//8APgAAAu4F3AImAa4AAAAGAHNCFgAA//8APgAAArkGAwImAa4AAAAHAJr/MgAa//8APgAAAvgFyQImAa4AAAAHAGj/MwAZ//8APgAABL4GDgImAbMAAAAHAKAAsQAd//8ATf/vBG8F7wImAbQAAAAHAEIA3QAq//8ATf/vBG8F7AImAbQAAAAHAHMBiQAm//8ATf/vBG8GEwImAbQAAAAGAJp4KgAA//8ATf/vBG8GHgImAbQAAAAHAKAAlwAt//8ATf/vBG8F2QIm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u9uwJyX+9czZ/uMwtSO4mmqrAUx3hEJIy8axsuzWi6F0V393R0/Hw7ir1uurgXIA//8AYgAAAjoFsAIGACsAAP//AGIAAANdBwwCJgArAAAABwBo/5gBXP//AA//6wRSBbACBgAsAAD//wA+AAAFNQWwAAYALQAA//8APgAABTUGxwAmAC0AAAAHAHMBxQEB//8Ao//rBUUHTAImANkAAAAHAJwBPgGc////1QAABH8FsAIGACMAAP//AFgAAATQBbACBgAkAAD//wBXAAAEuQWwAgYArAAA//8AWAAABPIFsAIGACcAAP//AFgAAAV6B0wCJgDXAAAABwCcAY4BnP//AFgAAAazBbACBgAvAAD//wBYAAAFeQWwAgYAKgAA//8AXv/rBTYFxQAGADEAAP//AFgAAAV7BbACBgCxAAD//wBYAAAFGAWwAgYAMgAA//8AYv/rBPgFxQAGACUAAP//AOwAAAULBbACBgA2AAD////8AAAFHQWwAgYAOgAA//8AOv/sA/cETgIGAEMAAP//AEf/7APrBE4CBgBHAAD//wBAAAAERwX1AiYA6wAAAAcAnADIAEX//wBG/+wEHAROAgYAUQAA////4v5gBCYETgIGAFIAAAABAEf/7AP7BE4AGwAAJTI2NzMGBCMiAj8BNgAzMhYHIzYmIyIGDwEGFgHxWqAPrBn+8qbXuyUHJwER4a7BGqwQameNpBoHHFWBeFyazwEy6ir1ASfeqmyG4qQqsdYAAP///7z+SwQqBDoCBgBbAAD////pAAAD8QQ6AgYAWgAA//8AR//sA/IFywImAEcAAAAGAGgtGwAA//8APgAAA5UFyAImAOcAAAAHAHMA5wAC//8AO//sA8kETgIGAFUAAP//AEQAAAIxBhgCBgBLAAD//wA+AAAC9gW1AiYAigAAAAcAaP8xAAX///8d/ksCOQYYAgYATAAA//8AQAAABGEFxwImAOwAAAAHAHMBTQAB////vP5LBCoF9QImAFsAAAAGAJx/RQAA//8A7AAABuwHIgImADkAAAAHAEICAQFd//8AsgAABfoFywImAFkAAAAHAEIBegAG//8A7AAABuwHHwImADkAAAAHAHMCrQFZ//8AsgAABfoFyAImAFkAAAAHAHMCJgAC//8A7AAABuwHDAImADkAAAAHAGgBnQFc//8AsgAABfoFtQIm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AEMAAAAHAKgEBQAA////1QAABH8HxgImACMAAAAHAKYE5QFT//8AOv/sA/cGhAImAEMAAAAHAKYELQAR////1QAABg4HqAImACMAAAAHAaMA8AEW//8AOv/sBVYGZwImAEMAAAAGAaM41QAA////1QAABLcHpQImACMAAAAHAaIA+gEl//8AOv/sA/8GZAImAEMAAAAGAaJC5AAA////1QAABZ4H2wImACMAAAAHAaEA9QEN//8AOv/sBOYGmgImAEMAAAAGAaE9zAAA////1QAABLYH5QImACMAAAAHAaAA9gET//8AOv/sA/4GpAImAEMAAAAGAaA+0gAA////1f6xBI0HRgImACMAAAAnAJoBBgFdAAcAqASsAAD//wA6/rED9wYEAiYAQwAAACYAmk4bAAcAqAQFAAAAAP///9UAAASqB90CJgAjAAAABwGfASkBVP//ADr/7AP3BpsCJgBDAAAABgGfcRIAAP///9UAAATOB+ACJgAjAAAABwGkAS8BZ///ADr/7AQWBp4CJgBDAAAABgGkdyUAAP///9UAAASVCEsCJgAjAAAABwGeASkBSf//ADr/7AP3BwkCJgBDAAAABgGecQcAAP///9UAAATMCB8CJgAjAAAABwGdASsBUf//ADr/7AQUBt0CJgBDAAAABgGdcw8AAP///9X+sQSwB0wCJgAjAAAAJwCcAWEBnAAHAKgErAAA//8AOv6xA/gGCgImAEMAAAAnAJwAqQBaAAcAqAQFAAD//wBY/rsE8gWwAiYAJwAAAAcAqAR3AAr//wBH/rED6wROAiYARwAAAAcAqARRAAD//wBYAAAE8gfGAiYAJwAAAAcApgSxAVP//wBH/+wD6waFAiYARwAAAAcApgQLABL//wBYAAAE8gdRAiYAJwAAAAcAoADxAWD//wBH/+wD+gYQAiYARwAAAAYAoEsfAAD//wBYAAAF2geoAiYAJwAAAAcBowC8ARb//wBH/+wFNAZoAiYARwAAAAYBoxbWAAD//wBYAAAE8gelAiYAJwAAAAcBogDGASX//wBH/+wD6wZlAiYARwAAAAYBoiDlAAD//wBYAAAFagfbAiYAJwAAAAcBoQDBAQ3//wBH/+wExAabAiYARwAAAAYBoRvNAAD//wBYAAAE8gflAiYAJwAAAAcBoADCARP//wBH/+wD6walAiYARwAAAAYBoBzTAAD//wBY/rsE8gdGAiYAJwAAACcAmgDSAV0ABwCoBHcACv//AEf+sQPrBgUCJgBHAAAAJgCaLBwABwCoBFEAAAAA//8AYgAAAwoHxgImACsAAAAHAKYDdQFT//8APgAAAqMGcAImAIoAAAAHAKYDDv/9//8AF/65AjoFsAImACsAAAAHAKgDOwAI////+v67AjEGGAImAEsAAAAHAKgDHgAK//8AXv6pBTYFxQAmADEAAAAHAKgEw//4//8ARv6oBBwETgImAFEAAAAHAKgEV//3//8AXv/rBTYH2wAmADEAAAAHAKYFBgFo//8ARv/sBBwGhAImAFEAAAAHAKYEIQAR//8AXv/rBi8HvQAmADEAAAAHAaMBEQEr//8ARv/sBUoGZwImAFEAAAAGAaMs1QAA//8AXv/rBTYHugAmADEAAAAHAaIBGwE6//8ARv/sBBwGZAImAFEAAAAGAaI25AAA//8AXv/rBb8H8AAmADEAAAAHAaEBFgEi//8ARv/sBNoGmgImAFEAAAAGAaExzAAA//8AXv/rBTYH+gAmADEAAAAHAaABFwEo//8ARv/sBBwGpAImAFEAAAAGAaAy0gAA//8AXv6pBTYHWwAmADEAAAAnAJoBJwFyAAcAqATD//j//wBG/qgEHAYEAiYAUQAAACYAmkIbAAcAqARX//cAAP//AFn/6wYlBw8CJgCUAAAABwBzAiQBSf//AEb/7AUJBd0CJgCVAAAABwBzAXgAF///AFn/6wYlBxICJgCUAAAABwBCAXgBTf//AEb/7AUJBeACJgCVAAAABwBCAMwAG///AFn/6wYlB7YCJgCUAAAABwCmBPIBQ///AEb/7AUJBoQCJgCVAAAABwCmBEYAEf//AFn/6wYlB0ECJgCUAAAABwCgATIBUP//AEb/7AUJBg8CJgCVAAAABwCgAIYAHv//AFn+sQYlBjYCJgCUAAAABwCoBLEAAP//AEb+qAUJBLACJgCVAAAABwCoBEj/9///AGf+qgVXBbACJgA3AAAABwCoBLL/+f//AFr+sQQ7BDoCJgBXAAAABwCoBAsAAP//AGf/6wVXB8YCJgA3AAAABwCmBPEBU///AFr/7AQ7BnACJgBXAAAABwCmBED//f//AGf/6walBx8CJgCWAAAABwBzAiIBWf//AFr/7AVXBcgCJgCXAAAABwBzAXIAAv//AGf/6walByICJgCWAAAABwBCAXYBXf//AFr/7AVXBcsCJgCXAAAABwBCAMYABv//AGf/6walB8YCJgCWAAAABwCmBPABU///AFr/7AVXBnACJgCXAAAABwCmBED//f//AGf/6walB1ECJgCWAAAABwCgATABYP//AFr/7AVXBfoCJgCXAAAABwCgAIAACf//AGf+qQalBg0CJgCWAAAABwCoBLH/+P//AFr+sQVXBJECJgCXAAAABwCoBAsAAP//AO7+uwVTBbACJgA7AAAABwCoBH0ACv///7z+FAQqBDoCJgBbAAAABwCoBKj/Y///AO4AAAVTB8QCJgA7AAAABwCmBLcBUf///7z+SwQqBnACJgBbAAAABwCmBAP//f//AO4AAAVTB08CJgA7AAAABwCgAPcBXv///7z+SwQqBfoCJgBbAAAABgCgQwkAAAACAET/6wUmBhgAGgAoAAABIwMjNycOASMiAj8BGgEzMhYXEyM3MzczBzMBBhYzMjY3Ey4BIyIGBwUItPedCQM8kFiwri8EOO7BWIcrN+oe6SS1JLX8AyRhiUx1M2Uba1R8nyYE0vsuaAI/QAE06hUBHAEUSEUBEZWxsfyis9FTTwH6RE/ZvQD//wAT/u4FJgYYACYARgAAACcB0wH8AkYABgBBfYMAAP//AD7+mQU1BbAAJgAtAAAABwGcA/QAAP//AED+mQRhBDoCJgDsAAAABwGcAxMAAP//AFj+mQV5BbACJgAqAAAABwGcBBwAAP//AED+mQRGBDoCJgDvAAAABwGcAzQAAP//AOz+mQULBbACJgA2AAAABwGcAggAAP//AJD+mQP3BDoCJgDxAAAABwGcAZgAAP////z+mQUdBbACJgA6AAAABwGcA5YAAP///+n+mQPxBDoCJgBaAAAABwGcAq4AAP//ANH+mQVIBbACJgDcAAAABwGcA+sAAP//AH/+mQQGBDsCJgD0AAAABwGcAvMAAP//ANH+mQVIBbACJgDcAAAABwGcAt8AAP//AH/+mQQGBDsCJgD0AAAABwGcAeYAAP//AFf+mQS5BbACJgCsAAAABwGcANMAAP//AD7+mQOVBDoCJgDnAAAABwGcAJsAAP///8r+mQddBbACJgDVAAAABwGcBeEAAP///8P+mQYBBDoCJgDpAAAABwGcBKoAAP//AK7+VAXu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ACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQCjAIQAhQC9AJYA6ACGAI4AiwCdAKkApACKAQMAgwCTAPIA8wCNAJcAiAEEAN4A8QCeAKoA9QD0APYAogCQAPAAkQDtAIkAoADqALgAoQDuAQUA1wEGAOIA4wEHAQgAsACxAQkApgEKAQsBDAENAQ4BDwDYAOEA2wDcAN0A4ADZAN8BEAERARIBEwEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgCfASMBJAElASYBJwEoASkBKgErASwBLQCbAS4BLwEwATEBMgEzATQBNQE2ATcBOAE5AToBOwE8AT0BPgE/AUABQQFCAUMBRAFFAUYBRwFIAUkBSgFLAUwBTQFOAU8BUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BbgFvAXABcQFyAXMBdAF1AXYBdwF4AXkBegF7AXwBfQF+AX8BgAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcoBywHMAc0AsgCzAc4AtgC3AMQBzwC0ALUAxQCCAMIAhwHQAKsAxgC+AL8AvAHRAdIB0wHUAdUB1gHXAdgAjAHZAdoB2wHcAd0AmACaAJkA7wClAJIAnACnAI8AlACVALkB3gHfAeAAwAHhAeIB4wHkAeUB5gHnAegB6QHqAesB7AHtAe4B7wHwAfEB8gHzAfQB9QH2AfcB+AH5AfoB+wH8Af0B/gH/AgACAQICAgMCBAIFAgYCBwIIAgkCCgILAgwCDQIOAg8CEAIRAhICEwIUAhUCFgIXAhgCGQIaAhsCHAIdAh4CHwIgAiECIgIjAiQCJQImAicCKAIpAioCKwIsAi0CLgIvAjACMQIyAjMCNAI1AjYCNwCsAjgCOQDpAjoCOwI8AK0AyQDHAK4AYgBjAj0AZADLAGUAyADKAM8AzADNAM4AZgDTANAA0QCvAGcA1gDUANUAaADrAGoAaQBrAG0AbABuAj4AbwBxAHAAcgBzAHUAdAB2AHcAeAB6AHkAewB9AHwAfwB+AIAAgQDsALoCPwJAAkECQgJDAkQA/QD+AkUCRgJHAkgA/wEAAkkCSgJLAkwCTQJOAk8CUAJRAlICUwJUAlUCVgD4APkCVwJYAlkCWgJbAlwCXQJeAl8CYAJhAmICYwJkAmUCZgJnAmgCaQJqAmsCbAJtAm4CbwJwAnECcgJzAnQCdQJ2AncCeAJ5AnoCewJ8An0CfgJ/AoACgQKCAoMChAKFAoYChwKIAokCigD7APwCiwKMAOQA5QKNAo4CjwKQApECkgKTApQClQKWApcCmAKZApoCmwKcAp0CngKfAqACoQKiALsCowKkAqUCpgDmAOcCpwKoAqkCqgKrAqwCrQKuAq8CsAKxArICswK0ArUCtgK3ArgCuQK6ArsCvAK9Ar4CvwLAAsECwgLDAsQCxQLGAscCyALJAsoCywLMAs0CzgLPAtAC0QLSAtMC1ALVAtYC1wLYAtkC2gLbAtwC3QLeAt8C4ALhAuIC4wLkAuUC5gLnAugC6QLqAusC7ALtAu4C7wLwAvEC8gLzAvQC9QL2AvcC+AL5AvoC+wL8Av0C/gL/AwADAQMCAwMDBAMFAwYDBwMIAwkDCgMLAwwDDQMOAw8DEAMRAxIDEwMUAxUDFgMXAxgDGQMaAxsDHAMdAx4DHwMgAyEDIgMjAyQDJQMmAycDKAMpAyoDKwMsAy0DLgMvAzADMQMyAzMDNAM1AzYDNwM4AzkDOgM7AzwDPQM+Az8DQANBA0IDQwNEA0UDRgNHA0gDSQNKA0sDTANNA04DTwNQA1EDUgNTA1QDVQNWA1cDWANZA1oDWwNcA10DXgNfA2ADYQNiA2MDZANlA2YDZwNoA2kDagNrA2wDbQNuA28DcANxA3IDcwN0A3UDdgN3A3gDeQN6A3sDfAN9A34DfwOAA4EDggODA4QDhQOGA4cDiAOJA4oDiwOMA40DjgOPA5ADkQOSA5MDlAOVA5YDlwOYA5kDmgObA5wDnQOeA58DoAOhA6IDowOkA6UDpgOnA6gDqQOqA6sDrAOtA64DrwOwA7EDsgOzA7QDtQO2A7cDuAO5A7oDuwO8A70DvgO/A8ADwQPCA8MDxAPFA8YDxwPIA8kDygPLA8wDzQPOA88D0APRA9ID0wPUA9UD1gPXA9gD2QPaA9sD3APdA94D3wPgA+ED4gPjA+QD5QPmA+cD6APpA+oD6wPsA+0D7gPvA/AD8QPyA/MD9AP1A/YD9wP4A/kD+gP7A/wD/QP+A/8EAAQBBAIEAwQEBAUEBgQHBAgECQQKBAsEDAQNBA4EDwQQBBEEEgQTBBQEFQQWBBcEGAQZBBoEGwQcBB0EHgQfBCAEIQD3BCIEIwQkAAQETlVMTAZtYWNyb24OcGVyaW9kY2VudGVyZWQESGJhcgxrZ3JlZW5sYW5kaWMDRW5nA2VuZwVsb25ncwVPaG9ybgVvaG9ybgVVaG9ybgV1aG9ybgd1bmkwMjM3BXNjaHdhB3VuaTAyRjMJZ3JhdmVjb21iCWFjdXRlY29tYgl0aWxkZWNvbWIEaG9vawd1bmkwMzBGCGRvdGJlbG93BXRvbm9zDWRpZXJlc2lzdG9ub3MJYW5vdGVsZWlhBUdhbW1hBURlbHRhBVRoZXRhBkxhbWJkYQJYaQJQaQVTaWdtYQNQaGkDUHNpBWFscGhhBGJldGEFZ2FtbWEFZGVsdGEHZXBzaWxvbgR6ZXRhA2V0YQV0aGV0YQRpb3RhBmxhbWJkYQJ4aQNyaG8Gc2lnbWExBXNpZ21hA3RhdQd1cHNpbG9uA3BoaQNwc2kFb21lZ2EHdW5pMDNEMQd1bmkwM0QyB3VuaTAzRDYHdW5pMDQwMgd1bmkwNDA0B3VuaTA0MDkHdW5pMDQwQQd1bmkwNDBCB3VuaTA0MEYHdW5pMDQxMQd1bmkwNDE0B3VuaTA0MTYHdW5pMDQxNwd1bmkwNDE4B3VuaTA0MUIHdW5pMDQyMwd1bmkwNDI0B3VuaTA0MjYHdW5pMDQyNwd1bmkwNDI4B3VuaTA0MjkHdW5pMDQyQQd1bmkwNDJCB3VuaTA0MkMHdW5pMDQyRAd1bmkwNDJFB3VuaTA0MkYHdW5pMDQzMQd1bmkwNDMyB3VuaTA0MzMHdW5pMDQzNAd1bmkwNDM2B3VuaTA0MzcHdW5pMDQzOAd1bmkwNDNBB3VuaTA0M0IHdW5pMDQzQwd1bmkwNDNEB3VuaTA0M0YHdW5pMDQ0Mgd1bmkwNDQ0B3VuaTA0NDYHdW5pMDQ0Nwd1bmkwNDQ4B3VuaTA0NDkHdW5pMDQ0QQd1bmkwNDRCB3VuaTA0NEMHdW5pMDQ0RAd1bmkwNDRFB3VuaTA0NEYHdW5pMDQ1Mgd1bmkwNDU0B3VuaTA0NTkHdW5pMDQ1QQd1bmkwNDVCB3VuaTA0NUYHdW5pMDQ2MAd1bmkwNDYxB3VuaTA0NjMHdW5pMDQ2NAd1bmkwNDY1B3VuaTA0NjYHdW5pMDQ2Nwd1bmkwNDY4B3VuaTA0NjkHdW5pMDQ2QQd1bmkwNDZCB3VuaTA0NkMHdW5pMDQ2RAd1bmkwNDZFB3VuaTA0NkYHdW5pMDQ3Mgd1bmkwNDczB3VuaTA0NzQHdW5pMDQ3NQd1bmkwNDdBB3VuaTA0N0IHdW5pMDQ3Qwd1bmkwNDdEB3VuaTA0N0UHdW5pMDQ3Rgd1bmkwNDgwB3VuaTA0ODEHdW5pMDQ4Mgd1bmkwNDgzB3VuaTA0ODQHdW5pMDQ4NQd1bmkwNDg2B3VuaTA0ODgHdW5pMDQ4OQd1bmkwNDhEB3VuaTA0OEUHdW5pMDQ4Rgd1bmkwNDkwB3VuaTA0OTEHdW5pMDQ5NAd1bmkwNDk1B3VuaTA0OUMHdW5pMDQ5RAd1bmkwNEEwB3VuaTA0QTEHdW5pMDRBNAd1bmkwNEE1B3VuaTA0QTYHdW5pMDRBNwd1bmkwNEE4B3VuaTA0QTkHdW5pMDRCNAd1bmkwNEI1B3VuaTA0QjgHdW5pMDRCOQd1bmkwNEJBB3VuaTA0QkMHdW5pMDRCRAd1bmkwNEMzB3VuaTA0QzQHdW5pMDRDNwd1bmkwNEM4B3VuaTA0RDgHdW5pMDRFMAd1bmkwNEUxB3VuaTA0RkEHdW5pMDRGQgd1bmkwNTAwB3VuaTA1MDIHdW5pMDUwMwd1bmkwNTA0B3VuaTA1MDUHdW5pMDUwNgd1bmkwNTA3B3VuaTA1MDgHdW5pMDUwOQd1bmkwNTBBB3VuaTA1MEIHdW5pMDUwQwd1bmkwNTBEB3VuaTA1MEUHdW5pMDUwRgd1bmkwNTEwB3VuaTIwMDAHdW5pMjAwMQd1bmkyMDAyB3VuaTIwMDMHdW5pMjAwNAd1bmkyMDA1B3VuaTIwMDYHdW5pMjAwNwd1bmkyMDA4B3VuaTIwMDkHdW5pMjAwQQd1bmkyMDBCDXVuZGVyc2NvcmVkYmwNcXVvdGVyZXZlcnNlZAd1bmkyMDI1B3VuaTIwNzQJbnN1cGVyaW9yBGxpcmEGcGVzZXRhBEV1cm8HdW5pMjEwNQd1bmkyMTEzB3VuaTIxMTYJZXN0aW1hdGVkCW9uZWVpZ2h0aAx0aHJlZWVpZ2h0aHMLZml2ZWVpZ2h0aHMMc2V2ZW5laWdodGhzCmNvbG9uLmxudW0JcXVvdGVkYmx4C2NvbW1hYWNjZW50B3VuaUZFRkYHdW5pRkZGQwd1bmlGRkZECWZpdmUuc21jcAhmb3VyLnN1cAl6ZXJvLmxudW0ObGFyZ2VyaWdodGhvb2sMY3lyaWxsaWNob29rEGN5cmlsbGljaG9va2xlZnQLY3lyaWxsaWN0aWMOYnJldmV0aWxkZWNvbWINYnJldmVob29rY29tYg5icmV2ZWFjdXRlY29tYhNjaXJjdW1mbGV4dGlsZGVjb21iEmNpcmN1bWZsZXhob29rY29tYhNjaXJjdW1mbGV4Z3JhdmVjb21iE2NpcmN1bWZsZXhhY3V0ZWNvbWIOYnJldmVncmF2ZWNvbWIRY29tbWFhY2NlbnRyb3RhdGUGQS5zbWNwBkIuc21jcAZDLnNtY3AGRC5zbWNwBkUuc21jcAZGLnNtY3AGRy5zbWNwBkguc21jcAZJLnNtY3AGSi5zbWNwBksuc21jcAZMLnNtY3AGTS5zbWNwBk4uc21jcAZPLnNtY3AGUS5zbWNwBlIuc21jcAZTLnNtY3AGVC5zbWNwBlUuc21jcAZWLnNtY3AGVy5zbWNwBlguc21jcAZZLnNtY3AGWi5zbWNwCXplcm8uc21jcAhvbmUuc21jcAh0d28uc21jcAp0aHJlZS5zbWNwCWZvdXIuc21jcAh0d28ubG51bQhzaXguc21jcApzZXZlbi5zbWNwCmVpZ2h0LnNtY3AJbmluZS5zbWNwB29uZS5zdXAHdHdvLnN1cAl0aHJlZS5zdXAIb25lLmxudW0IZml2ZS5zdXAHc2l4LnN1cAlzZXZlbi5zdXAJZWlnaHQuc3VwCG5pbmUuc3VwCHplcm8uc3VwCGNyb3NzYmFyCXJpbmdhY3V0ZQlkYXNpYW94aWEKdGhyZWUubG51bQlmb3VyLmxudW0JZml2ZS5sbnVtCHNpeC5sbnVtBWcuYWx0CnNldmVuLmxudW0HY2hpLmFsdAplaWdodC5sbnVtCWFscGhhLmFsdAlkZWx0YS5hbHQERC5jbgRhLmNuBVIuYWx0BUsuYWx0BWsuYWx0BksuYWx0MgZrLmFsdDIJbmluZS5sbnVtBlAuc21jcA1jeXJpbGxpY2JyZXZlB3VuaTAwQUQGRGNyb2F0BGhiYXIEVGJhcgR0YmFyCkFyaW5nYWN1dGUKYXJpbmdhY3V0ZQdBbWFjcm9uB2FtYWNyb24GQWJyZXZlBmFicmV2ZQdBb2dvbmVrB2FvZ29uZWsLQ2NpcmN1bWZsZXgLY2NpcmN1bWZsZXgHdW5pMDEwQQd1bmkwMTBCBkRjYXJvbgZkY2Fyb24HRW1hY3JvbgdlbWFjcm9uBkVicmV2ZQZlYnJldmUKRWRvdGFjY2VudAplZG90YWNjZW50B0VvZ29uZWsHZW9nb25lawZFY2Fyb24GZWNhcm9uC0djaXJjdW1mbGV4C2djaXJjdW1mbGV4B3VuaTAxMjAHdW5pMDEyMQxHY29tbWFhY2NlbnQMZ2NvbW1hYWNjZW50C0hjaXJjdW1mbGV4C2hjaXJjdW1mbGV4Bkl0aWxkZQZpdGlsZGUHSW1hY3JvbgdpbWFjcm9uBklicmV2ZQZpYnJldmUHSW9nb25lawdpb2dvbmVrCklkb3RhY2NlbnQCSUoCaWoLSmNpcmN1bWZsZXgLamNpcmN1bWZsZXgMS2NvbW1hYWNjZW50DGtjb21tYWFjY2VudAZMYWN1dGUGbGFjdXRlDExjb21tYWFjY2VudAxsY29tbWFhY2NlbnQGTGNhcm9uBmxjYXJvbgRMZG90BGxkb3QGTmFjdXRlBm5hY3V0ZQxOY29tbWFhY2NlbnQMbmNvbW1hYWNjZW50Bk5jYXJvbgZuY2Fyb24LbmFwb3N0cm9waGUHT21hY3JvbgdvbWFjcm9uBk9icmV2ZQZvYnJldmUNT2h1bmdhcnVtbGF1dA1vaHVuZ2FydW1sYXV0BlJhY3V0ZQZyYWN1dGUMUmNvbW1hYWNjZW50DHJjb21tYWFjY2VudAZSY2Fyb24GcmNhcm9uBlNhY3V0ZQZzYWN1dGULU2NpcmN1bWZsZXgLc2NpcmN1bWZsZXgHdW5pMDIxOAd1bmkwMjE5B3VuaTAyMUEHdW5pMDIxQgd1bmkwMTYyB3VuaTAxNjMGVGNhcm9uBnRjYXJvbgZVdGlsZGUGdXRpbGRlB1VtYWNyb24HdW1hY3JvbgZVYnJldmUGdWJyZXZlBVVyaW5nBXVyaW5nDVVodW5nYXJ1bWxhdXQNdWh1bmdhcnVtbGF1dAdVb2dvbmVrB3VvZ29uZWsLV2NpcmN1bWZsZXgLd2NpcmN1bWZsZXgLWWNpcmN1bWZsZXgLeWNpcmN1bWZsZXgGWmFjdXRlBnphY3V0ZQpaZG90YWNjZW50Cnpkb3RhY2NlbnQHQUVhY3V0ZQdhZWFjdXRlC09zbGFzaGFjdXRlC29zbGFzaGFjdXRlC0Rjcm9hdC5zbWNwCEV0aC5zbWNwCVRiYXIuc21jcAtBZ3JhdmUuc21jcAtBYWN1dGUuc21jcBBBY2lyY3VtZmxleC5zbWNwC0F0aWxkZS5zbWNwDkFkaWVyZXNpcy5zbWNwCkFyaW5nLnNtY3APQXJpbmdhY3V0ZS5zbWNwDUNjZWRpbGxhLnNtY3ALRWdyYXZlLnNtY3ALRWFjdXRlLnNtY3AQRWNpcmN1bWZsZXguc21jcA5FZGllcmVzaXMuc21jcAtJZ3JhdmUuc21jcAtJYWN1dGUuc21jcBBJY2lyY3VtZmxleC5zbWNwDklkaWVyZXNpcy5zbWNwC050aWxkZS5zbWNwC09ncmF2ZS5zbWNwC09hY3V0ZS5zbWNwEE9jaXJjdW1mbGV4LnNtY3ALT3RpbGRlLnNtY3AOT2RpZXJlc2lzLnNtY3ALVWdyYXZlLnNtY3ALVWFjdXRlLnNtY3AQVWNpcmN1bWZsZXguc21jcA5VZGllcmVzaXMuc21jcAtZYWN1dGUuc21jcAxBbWFjcm9uLnNtY3ALQWJyZXZlLnNtY3AMQW9nb25lay5zbWNwC0NhY3V0ZS5zbWNwEENjaXJjdW1mbGV4LnNtY3AMdW5pMDEwQS5zbWNwC0NjYXJvbi5zbWNwC0RjYXJvbi5zbWNwDEVtYWNyb24uc21jcAtFYnJldmUuc21jcA9FZG90YWNjZW50LnNtY3AMRW9nb25lay5zbWNwC0VjYXJvbi5zbWNwEEdjaXJjdW1mbGV4LnNtY3ALR2JyZXZlLnNtY3AMdW5pMDEyMC5zbWNwEUdjb21tYWFjY2VudC5zbWNwEEhjaXJjdW1mbGV4LnNtY3ALSXRpbGRlLnNtY3AMSW1hY3Jvbi5zbWNwC0licmV2ZS5zbWNwDElvZ29uZWsuc21jcA9JZG90YWNjZW50LnNtY3AQSmNpcmN1bWZsZXguc21jcBFLY29tbWFhY2NlbnQuc21jcAtMYWN1dGUuc21jcBFMY29tbWFhY2NlbnQuc21jcAtMY2Fyb24uc21jcAlMZG90LnNtY3ALTmFjdXRlLnNtY3ARTmNvbW1hYWNjZW50LnNtY3ALTmNhcm9uLnNtY3AMT21hY3Jvbi5zbWNwC09icmV2ZS5zbWNwEk9odW5nYXJ1bWxhdXQuc21jcAtSYWN1dGUuc21jcBFSY29tbWFhY2NlbnQuc21jcAtSY2Fyb24uc21jcAtTYWN1dGUuc21jcBBTY2lyY3VtZmxleC5zbWNwDVNjZWRpbGxhLnNtY3ALU2Nhcm9uLnNtY3ARVGNvbW1hYWNjZW50LnNtY3ALVGNhcm9uLnNtY3ALVXRpbGRlLnNtY3AMVW1hY3Jvbi5zbWNwC1VicmV2ZS5zbWNwClVyaW5nLnNtY3ASVWh1bmdhcnVtbGF1dC5zbWNwDFVvZ29uZWsuc21jcBBXY2lyY3VtZmxleC5zbWNwEFljaXJjdW1mbGV4LnNtY3AOWWRpZXJlc2lzLnNtY3ALWmFjdXRlLnNtY3APWmRvdGFjY2VudC5zbWNwC1pjYXJvbi5zbWNwD2dlcm1hbmRibHMuc21jcApBbHBoYXRvbm9zDEVwc2lsb250b25vcwhFdGF0b25vcwlJb3RhdG9ub3MMT21pY3JvbnRvbm9zDFVwc2lsb250b25vcwpPbWVnYXRvbm9zEWlvdGFkaWVyZXNpc3Rvbm9zBUFscGhhBEJldGEHRXBzaWxvbgRaZXRhA0V0YQRJb3RhBUthcHBhAk11Ak51B09taWNyb24DUmhvA1RhdQdVcHNpbG9uA0NoaQxJb3RhZGllcmVzaXMPVXBzaWxvbmRpZXJlc2lzCmFscGhhdG9ub3MMZXBzaWxvbnRvbm9zCGV0YXRvbm9zCWlvdGF0b25vcxR1cHNpbG9uZGllcmVzaXN0b25vcwVrYXBwYQdvbWljcm9uB3VuaTAzQkMCbnUDY2hpDGlvdGFkaWVyZXNpcw91cHNpbG9uZGllcmVzaXMMb21pY3JvbnRvbm9zDHVwc2lsb250b25vcwpvbWVnYXRvbm9zB3VuaTA0MDEHdW5pMDQwMwd1bmkwNDA1B3VuaTA0MDYHdW5pMDQwNwd1bmkwNDA4B3VuaTA0MUEHdW5pMDQwQwd1bmkwNDBFB3VuaTA0MTAHdW5pMDQxMgd1bmkwNDEzB3VuaTA0MTUHdW5pMDQxOQd1bmkwNDFDB3VuaTA0MUQHdW5pMDQxRQd1bmkwNDFGB3VuaTA0MjAHdW5pMDQyMQd1bmkwNDIyB3VuaTA0MjUHdW5pMDQzMAd1bmkwNDM1B3VuaTA0MzkHdW5pMDQzRQd1bmkwNDQwB3VuaTA0NDEHdW5pMDQ0Mwd1bmkwNDQ1B3VuaTA0NTEHdW5pMDQ1Mwd1bmkwNDU1B3VuaTA0NTYHdW5pMDQ1Nwd1bmkwNDU4B3VuaTA0NUMHdW5pMDQ1RQZXZ3JhdmUGd2dyYXZlBldhY3V0ZQZ3YWN1dGUJV2RpZXJlc2lzCXdkaWVyZXNpcwZZZ3JhdmUGeWdyYXZlBm1pbnV0ZQZzZWNvbmQJZXhjbGFtZGJsB3VuaUZCMDIHdW5pMDFGMAd1bmkwMkJDB3VuaTFFM0UHdW5pMUUzRgd1bmkxRTAwB3VuaTFFMDEHdW5pMUY0RAd1bmlGQjAzB3VuaUZCMDQHdW5pMDQwMAd1bmkwNDBEB3VuaTA0NTAHdW5pMDQ1RAd1bmkwNDcwB3VuaTA0NzEHdW5pMDQ3Ngd1bmkwNDc3B3VuaTA0NzkHdW5pMDQ3OAd1bmkwNDk4B3VuaTA0OTkHdW5pMDRBQQd1bmkwNEFCB3VuaTA0QUUHdW5pMDRBRgd1bmkwNEMwB3VuaTA0QzEHdW5pMDRDMgd1bmkwNENGB3VuaTA0RDAHdW5pMDREMQd1bmkwNEQyB3VuaTA0RDMHdW5pMDRENAd1bmkwNEQ1B3VuaTA0RDYHdW5pMDRENwd1bmkwNERBB3VuaTA0RDkHdW5pMDREQgd1bmkwNERDB3VuaTA0REQHdW5pMDRERQd1bmkwNERGB3VuaTA0RTIHdW5pMDRFMwd1bmkwNEU0B3VuaTA0RTUHdW5pMDRFNgd1bmkwNEU3B3VuaTA0RTgHdW5pMDRFOQd1bmkwNEVBB3VuaTA0RUIHdW5pMDRFQwd1bmkwNEVEB3VuaTA0RUUHdW5pMDRFRgd1bmkwNEYwB3VuaTA0RjEHdW5pMDRGMgd1bmkwNEYzB3VuaTA0RjQHdW5pMDRGNQd1bmkwNEY4B3VuaTA0RjkHdW5pMDRGQwd1bmkwNEZEB3VuaTA1MDEHdW5pMDUxMgd1bmkwNTEzB3VuaTFFQTAHdW5pMUVBMQd1bmkxRUEyB3VuaTFFQTMHdW5pMUVBNAd1bmkxRUE1B3VuaTFFQTYHdW5pMUVBNwd1bmkxRUE4B3VuaTFFQTkHdW5pMUVBQQd1bmkxRUFCB3VuaTFFQUMHdW5pMUVBRAd1bmkxRUFFB3VuaTFFQUYHdW5pMUVCMAd1bmkxRUIxB3VuaTFFQjIHdW5pMUVCMwd1bmkxRUI0B3VuaTFFQjUHdW5pMUVCNgd1bmkxRUI3B3VuaTFFQjgHdW5pMUVCOQd1bmkxRUJBB3VuaTFFQkIHdW5pMUVCQwd1bmkxRUJEB3VuaTFFQkUHdW5pMUVCRgd1bmkxRUMwB3VuaTFFQzEHdW5pMUVDMgd1bmkxRUMzB3VuaTFFQzQHdW5pMUVDNQd1bmkxRUM2B3VuaTFFQzcHdW5pMUVDOAd1bmkxRUM5B3VuaTFFQ0EHdW5pMUVDQgd1bmkxRUNDB3VuaTFFQ0QHdW5pMUVDRQd1bmkxRUNGB3VuaTFFRDAHdW5pMUVEMQd1bmkxRUQyB3VuaTFFRDMHdW5pMUVENAd1bmkxRUQ1B3VuaTFFRDYHdW5pMUVENwd1bmkxRUQ4B3VuaTFFRDkHdW5pMUVEQQd1bmkxRURCB3VuaTFFREMHdW5pMUVERAd1bmkxRURFB3VuaTFFREYHdW5pMUVFMAd1bmkxRUUxB3VuaTFFRTIHdW5pMUVFMwd1bmkxRUU0B3VuaTFFRTUHdW5pMUVFNgd1bmkxRUU3B3VuaTFFRTgHdW5pMUVFOQd1bmkxRUVBB3VuaTFFRUIHdW5pMUVFQwd1bmkxRUVEB3VuaTFFRUUHdW5pMUVFRgd1bmkxRUYwB3VuaTFFRjEHdW5pMUVGNAd1bmkxRUY1B3VuaTFFRjYHdW5pMUVGNwd1bmkxRUY4B3VuaTFFRjkGZGNyb2F0B3VuaTIwQUIHdW5pMDQ5QQd1bmkwNDlCB3VuaTA0QTIHdW5pMDRBMwd1bmkwNEFDB3VuaTA0QUQHdW5pMDRCMgd1bmkwNEIzB3VuaTA0QjYHdW5pMDRCNwd1bmkwNENCB3VuaTA0Q0MHdW5pMDRGNgd1bmkwNEY3B3VuaTA0OTYHdW5pMDQ5Nwd1bmkwNEJFB3VuaTA0QkYHdW5pMDRC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/+AA6AATATj/4QE5/+ABPP/hAUH/6QFJ/98BS//eAVP/3wFV//IAGACz/9QAvf/tAL8AEQDF/+AAx//nAMj/5QDJ/+4A1AASAOX/6QDx/9cBL//XATn/0wE7/9YBPP/FAUH/5wFJAA0BSwAMAVT/1gFV//IBqf/pAa3/5wG1/+cBtv/pAd//8AAFABn/8gDh//EBSf/yAUv/8gFT//IACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AASANT/rgDhABIA5v/gAOj/rQDq/9YA+P/fAPz/0gEC/+ABF//OASf/3QEp/+IBLf/gATP/4AE5/+kBPP/aAUb/vQFQ/98BUwARAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QADADUABMA4f/mAOL/9ADoABIA8f/nAS//5wE4/+UBOf/oAUn/5gFL/+YBU//mAVT/5wAJAOH/wwDx/88BL//OATj/5wE7/98BSf/RAUv/7AFT/6ABVP/RAAkA4f/DAPH/zwEv/84BOP/nATv/3wFJ/9EBS//sAVP/oAFU/9EAAgDU/+IBU//kAAIA1P/hAOj/5AAGAOj/7gDx/+4BBP/0ARv/8QEv/+8BVP/vAAQA8f/0AQT/9QEv//UBVP/1AAIA6P/JARf/7gAGAOgAFADx/+0A9//iAS//7QE5/+0BVP/tAAEBF//xAAUBF//rAan/6wGt/+kBtf/rAbb/6wATAEgADQDC/6sAw//AAMf/1QDo/6oBF//iARsADAFKAAsBTAALAaf/vwGp/+4Brf/sAbX/7QG2/+wBuP/1AbkADgG7AA0BvgANAd//sAAGAMX/6gDo/+4A8f+wAS//7AFU/+wB3P/oAAYA6AAUAPH/8AD8AAwBL//wATn/5gFU//AABQDoADoA8f/jAS//4gE5/+MBVP/jAAgA8f+6AQT/zwEb/9sBL/9QATn/nQFK//ABTP/yAVT/TAAIAPH/ugEE/88BG//bAS//UAE5/50BSv/wAUz/8gFU/0wABgDF/+oA6P/uAPH/sAEv/+wBVP/sAdz/6AABAOj/7wAIAPH/ugEE/88BG//bAS//UAE5/50BSv/w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/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAQAC//mAD//9ABf/+8BPP/tAAUASP/uAFn/6gG7//ABvP/tAb7/8AAFAEj/7gBZ/+oBu//wAbz/7QG+//AABQBI/+4AWf/qAbv/8AG8/+0Bvv/wAAUASP/uAFn/6gG7//ABvP/tAb7/8AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAaf/7QG9//UACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABp//tAb3/9QAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGn/+0Bvf/1AAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAaf/7QG9//UACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABp//tAb3/9QABAaf/6wABAaf/6wABAaf/6wABAaf/6wAkAAj/4gALABQADP/PAD8AEgBI/+oAVP/YAFb/6gBfABMAa/+uAHr/zQB//6AAhP/BAIf/wACz/9AAt//qALr/xgC7AA0Avf/pAL7/1gDB/+gAwv+6AMX/6QDH/8sAyP/aAMn/xwFu/9MBp/+rAan/zQGt/8sBtf/LAbb/ywG5//MBvP/zAb3/7wHc/+gB3//uAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TAAEA8f/1AAEA8f/1AAEA8f/1AAEA8f/1AAEA8f/AAAkAxf/qAOj/uADx/+oBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oACQDF/+oA6P+4APH/6gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAMX/6gDo/7gA8f/qAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAkAxf/qAOj/uADx/+oBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oACQDF/+oA6P+4APH/6gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAHAEgADQDBAAsAwv/qAMUADADo/8gBF//xAd//9QAHAEgADQDBAAsAwv/qAMUADADo/8gBF//xAd//9QAcACH/wwBW/+8AWf/fAJb/7gCz/+UAtP/RAL8AEQDF/8gA1AATAOH/xQDx/8oBL/+fATj/UQE5/3sBO//KATz/3QFB//IBSf91AUv/ygFT/08BVP+MAa3/9QG1//UBuf/HAbr/8QG7/80BvP/dAb7/xAAHAPH/8AEE//EBG//zAS//8QFK//MBTP/pAVT/0wAcACH/wwBW/+8AWf/fAJb/7gCz/+UAtP/RAL8AEQDF/8gA1AATAOH/xQDx/8oBL/+fATj/UQE5/3sBO//KATz/3QFB//IBSf91AUv/ygFT/08BVP+MAa3/9QG1//UBuf/HAbr/8QG7/80BvP/dAb7/xAAHAPH/8AEE//EBG//zAS//8QFK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AUH/5wFJAA0BSwAMAVT/1gFV//IBqf/pAa3/5wG1/+cBtv/pAd//8AAHAPH/8AEE//EBG//zAS//8QFK//MBTP/pAVT/0wABAPH/9QAJAMX/6gDo/7gA8f/qAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAYAxf/qAOj/7gDx/7ABL//sAVT/7AHc/+gABwBIAA0AwQALAML/6gDFAAwA6P/IARf/8QHf//UAAQEX//EAAQDx//UAAgDo/8kBF//uAAcASAANAMEACwDC/+oAxQAMAOj/yAEX//EB3//1AAkACwAPAD8ADABU/+sAXwAOAaf/ywGp/+kBrf/nAbX/5wG2/+cACQALAA8APwAMAFT/6wBfAA4Bp//LAan/6QGt/+cBtf/nAbb/5wAJAAsADwA/AAwAVP/rAF8ADgGn/8sBqf/pAa3/5wG1/+cBtv/nACQACP/iAAsAFAAM/88APwASAEj/6gBU/9gAVv/qAF8AEwBr/64Aev/NAH//oACE/8EAh//AALP/0AC3/+oAuv/GALsADQC9/+kAvv/WAMH/6ADC/7oAxf/pAMf/ywDI/9oAyf/HAW7/0wGn/6sBqf/NAa3/ywG1/8sBtv/LAbn/8wG8//MBvf/vAdz/6AHf/+4ABwBIAA0AwQALAML/6gDFAAwA6P/IARf/8QHf//UAAQBZAAsAAQBZAAsAAQBZAAsACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAEA8f/AABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAaf/7QG9//UABQBI/+4AWf/qAbv/8AG8/+0Bvv/wAAEA8f/1AAkACwAUAD8AEQBU/+IAXwATAaf/tAGp/9kBrf/ZAbX/2QG2/9kABwBIAA0AwQALAML/6gDFAAwA6P/IARf/8QHf//UABAAL/+YAP//0AF//7wE8/+0AJAAI/+IACwAUAAz/zwA/ABIASP/qAFT/2ABW/+oAXwATAGv/rgB6/80Af/+gAIT/wQCH/8AAs//QALf/6gC6/8YAuwANAL3/6QC+/9YAwf/oAML/ugDF/+kAx//LAMj/2gDJ/8cBbv/TAaf/qwGp/80Brf/LAbX/ywG2/8sBuf/zAbz/8wG9/+8B3P/oAd//7gAHAEgADQDBAAsAwv/qAMUADADo/8gBF//xAd//9QAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QAGACz/9QAvf/tAL8AEQDF/+AAx//nAMj/5QDJ/+4A1AASAOX/6QDx/9cBL//XATn/0wE7/9YBPP/FAUH/5wFJAA0BSwAMAVT/1gFV//IBqf/pAa3/5wG1/+cBtv/pAd//8AABARf/8QAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MABQBI/+4AWf/qAbv/8AG8/+0Bvv/wAAEA8f/1AAEA8f/1AAEA8f/1ABgAs//UAL3/7QC/ABEAxf/gAMf/5wDI/+UAyf/uANQAEgDl/+kA8f/XAS//1wE5/9MBO//WATz/xQFB/+cBSQANAUsADAFU/9YBVf/yAan/6QGt/+cBtf/nAbb/6QHf//AAAQEX//EACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABp//tAb3/9QAJAMX/6gDo/7gA8f/qAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAkAxf/qAOj/uADx/+oBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oABgDF/+oA6P/uAPH/sAEv/+wBVP/sAdz/6AASANT/rgDhABIA5v/gAOj/rQDq/9YA+P/fAPz/0gEC/+ABF//OASf/3QEp/+IBLf/gATP/4AE5/+kBPP/aAUb/vQFQ/98BUwARAAcASAANAMEACwDC/+oAxQAMAOj/yAEX//EB3//1ABIA1P+uAOEAEgDm/+AA6P+tAOr/1gD4/98A/P/SAQL/4AEX/84BJ//dASn/4gEt/+ABM//gATn/6QE8/9oBRv+9AVD/3wFTABEABwBIAA0AwQALAML/6gDFAAwA6P/IARf/8QHf//UAEgDU/64A4QASAOb/4ADo/60A6v/WAPj/3wD8/9IBAv/gARf/zgEn/90BKf/iAS3/4AEz/+ABOf/pATz/2gFG/70BUP/fAVMAEQAHAEgADQDBAAsAwv/qAMUADADo/8gBF//xAd//9QAYALP/1AC9/+0AvwARAMX/4ADH/+cAyP/lAMn/7gDUABIA5f/pAPH/1wEv/9cBOf/TATv/1gE8/8UBQf/nAUkADQFLAAwBVP/WAVX/8gGp/+kBrf/nAbX/5wG2/+kB3//wAAEBF//xABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TAAUASP/uAFn/6gG7//ABvP/tAb7/8AABAPH/9QAFAEj/7gBZ/+oBu//wAbz/7QG+//AAAQDx//UABQBI/+4AWf/qAbv/8AG8/+0Bvv/wAAEA8f/1AAUASP/uAFn/6gG7//ABvP/tAb7/8AABAPH/9QAFAEj/7gBZ/+oBu//wAbz/7QG+//AAAQDx//UABQBI/+4AWf/qAbv/8AG8/+0Bvv/wAAEA8f/1AAUASP/uAFn/6gG7//ABvP/tAb7/8AABAPH/9QAFAEj/7gBZ/+oBu//wAbz/7QG+//AAAQDx//UACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGn/+0Bvf/1AAkAxf/qAOj/uADx/+oBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABp//tAb3/9QAJAMX/6gDo/7gA8f/qAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAaf/7QG9//UACQDF/+oA6P+4APH/6gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGn/+0Bvf/1AAkAxf/qAOj/uADx/+oBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABp//tAb3/9QAJAMX/6gDo/7gA8f/qAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAaf/7QG9//UACQDF/+oA6P+4APH/6gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGn/+0Bvf/1AAkAxf/qAOj/uADx/+oBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oACQDF/+oA6P+4APH/6gEE//ABG//xAS//6wFK//UBVP/sAdz/6gABAaf/6wABAaf/6wAkAAj/4gALABQADP/PAD8AEgBI/+oAVP/YAFb/6gBfABMAa/+uAHr/zQB//6AAhP/BAIf/wACz/9AAt//qALr/xgC7AA0Avf/pAL7/1gDB/+gAwv+6AMX/6QDH/8sAyP/aAMn/xwFu/9MBp/+rAan/zQGt/8sBtf/LAbb/ywG5//MBvP/zAb3/7wHc/+gB3//uAAcASAANAMEACwDC/+oAxQAMAOj/yAEX//EB3//1ACQACP/iAAsAFAAM/88APwASAEj/6gBU/9gAVv/qAF8AEwBr/64Aev/NAH//oACE/8EAh//AALP/0AC3/+oAuv/GALsADQC9/+kAvv/WAMH/6ADC/7oAxf/pAMf/ywDI/9oAyf/HAW7/0wGn/6sBqf/NAa3/ywG1/8sBtv/LAbn/8wG8//MBvf/vAdz/6AHf/+4ABwBIAA0AwQALAML/6gDFAAwA6P/IARf/8QHf//UAJAAI/+IACwAUAAz/zwA/ABIASP/qAFT/2ABW/+oAXwATAGv/rgB6/80Af/+gAIT/wQCH/8AAs//QALf/6gC6/8YAuwANAL3/6QC+/9YAwf/oAML/ugDF/+kAx//LAMj/2gDJ/8cBbv/TAaf/qwGp/80Brf/LAbX/ywG2/8sBuf/zAbz/8wG9/+8B3P/oAd//7gAHAEgADQDBAAsAwv/qAMUADADo/8gBF//xAd//9QATAFn/wQCz/8UAxf+0AOX/1wDx/7kBBP+yARf/0gEb/8gBL/+gATn/xQFB/+QBSv/MAUz/zAFU/8sBVf/vAan/6AGt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/+oDJP74Ayj/VgMzABQDNf/eAzb/6wM4/+sDOv/rAzv/6AM9/+sDRP/oA0z/6ANV/1YDVv/eA1z/6wNh/+gDYv/rA2f/6wNp/+gDbv9WA2//3gNw/1YDcf/eA3X/6wN3/+sDeP/rA4L/6wOE/+sDhv/rA4r/6AOM/+gDjv/oA5X/6wOY/1YDmf/eA5r/VgOb/94DnP9WA53/3gOe/1YDn//eA6D/VgOh/94Dov9WA6P/3gOk/1YDpf/eA6b/VgOn/94DqP9WA6n/3gOq/1YDq//eA6z/VgOt/94Drv9WA6//3gOx/+sDs//rA7X/6wO3/+sDuf/rA7v/6wO9/+sDv//rA8X/6wPH/+sDyf/rA8v/6wPN/+sDz//rA9H/6wPT/+sD1f/rA9f/6wPZ/+sD2//rA93/6gPf/+oD4f/qA+P/6gPl/+oD5//qA+n/6gPr/+gD7f/oA+//6AP2ABQAHwA2/9UAOP/kADn/7AA7/90Azf/VANH/1QEU/+QBLv/VATb/1QIL/90CgP/VAoL/1QKE/9UCkv/sApT/3QKW/90C/f/dAwz/3QMP/90DM//VA0X/7ANH/+wDSf/sA0v/3QNg/+QDaP/dA+r/3QPs/90D7v/dA/b/1QQT/90AGgA2/7AAOP/tADv/0ADN/7AA0f+wART/7QEu/7ABNv+wAgv/0AKA/7ACgv+wAoT/sAKU/9AClv/QAv3/0AMM/9ADD//QAzP/sANL/9ADYP/tA2j/0APq/9AD7P/QA+7/0AP2/7AEE//QABAALP/uADf/7gIH/+4CCP/uAgn/7gIK/+4CV//uAob/7gKI/+4Civ/uAoz/7gKO/+4CkP/uAyT/7gPc/+4D3v/uAEcABAAQAAkAEABF/+gARv/oAEf/6ABJ/+gAU//oAJH/6ACV/+gAtv/oAMP/6ADE/+gA8v/oAP7/6AEZ/+gBHf/oATX/6AFH/+gBSP/oAVL/6AFlABABZgAQAWgAEAFpABABagAQAhP/6AIU/+gCFf/oAhb/6AIX/+gCL//oAjH/6AIz/+gCNf/oAjf/6AI5/+gCO//oAj3/6AI//+gCQf/oAkP/6AJF/+gCR//oAkn/6AMQ/+gDNv/oAzr/6AM9/+gDTQAQA04AEANSABADXP/oA2L/6ANn/+gDdf/oA3f/6AN4/+gDhP/oA5X/6AOx/+gDs//oA7X/6AO3/+gDuf/oA7v/6AO9/+gDv//oA9P/6APV/+gD1//oA9v/6AA9AEX/7ABG/+wAR//sAEn/7ABT/+wAkf/sAJX/7AC2/+wAw//sAMT/7ADy/+wA/v/sARn/7AEd/+wBNf/sAUf/7AFI/+wBUv/sAhP/7AIU/+wCFf/sAhb/7AIX/+wCL//sAjH/7AIz/+wCNf/sAjf/7AI5/+wCO//sAj3/7AI//+wCQf/sAkP/7AJF/+wCR//sAkn/7AMQ/+wDNv/sAzr/7AM9/+wDXP/sA2L/7ANn/+wDdf/sA3f/7AN4/+wDhP/sA5X/7AOx/+wDs//sA7X/7AO3/+wDuf/sA7v/7AO9/+wDv//sA9P/7APV/+wD1//sA9v/7AAXAFH/7AET/+wCHf/sAh7/7AIf/+wCIP/sAiH/7AJr/+wCbf/sAm//7AMW/+wDHP/sAzj/7AOC/+wDhv/sA8X/7APH/+wDyf/sA8v/7APN/+wDz//sA9H/7APZ/+wABgAO/4QAEP+EAWf/hAFr/4QBb/+EAXD/hAAQACz/7AA3/+wCB//sAgj/7AIJ/+wCCv/sAlf/7AKG/+wCiP/sAor/7AKM/+wCjv/sApD/7AMk/+wD3P/sA97/7AABKSwABAAAACIATgDEAaoCkANqBAQGnghkCTYKLAvyDCQMVgzUDroPMBACEhQSyhQwFOoVcBXOFpAXBhcYF0IYlBrSGvQcChyIHLIc3AAdAAT/8gAJ//IAWP/zAFv/8wC4//MBFf/zAWX/8gFm//IBaP/yAWn/8gFq//ICJv/zAif/8wKV//MDGP/zAzv/8wNE//MDTP/zA03/8gNO//IDUv/yA2H/8wNp//MDiv/zA4z/8wOO//MD6//zA+3/8wPv//MAOQAl//MAKf/zADH/8wAz//MAgf/zAJD/8wCU//MArv/zAM7/8wED//MBEv/zARb/8wEY//MBGv/zARz/8wE0//MBUf/zAfj/8wIC//MCA//zAgT/8wIF//MCBv/zAi7/8wIw//MCMv/zAjT/8wJC//MCRP/zAkb/8wJI//MCav/zAmz/8wJu//MCn//zAvz/8wMJ//MDL//zAzL/8wNX//MDY//zA2b/8wOB//MDg//zA4X/8wPE//MDxv/zA8j/8wPK//MDzP/zA87/8wPQ//MD0v/zA9T/8wPW//MD2P/zA9r/8wA5ACX/5gAp/+YAMf/mADP/5gCB/+YAkP/mAJT/5gCu/+YAzv/mAQP/5gES/+YBFv/mARj/5gEa/+YBHP/mATT/5gFR/+YB+P/mAgL/5gID/+YCBP/mAgX/5gIG/+YCLv/mAjD/5gIy/+YCNP/mAkL/5gJE/+YCRv/mAkj/5gJq/+YCbP/mAm7/5gKf/+YC/P/mAwn/5gMv/+YDMv/mA1f/5gNj/+YDZv/mA4H/5gOD/+YDhf/mA8T/5gPG/+YDyP/mA8r/5gPM/+YDzv/mA9D/5gPS/+YD1P/mA9b/5gPY/+YD2v/mADYAI//kADr/0gA7/9MArf/kAK//5ADV/9IBCP/kAfH/5AHy/+QB8//kAfT/5AH1/+QB9v/kAff/5AIL/9MCKP/kAir/5AIs/+QClP/TApb/0wL4/+QC/f/TAwD/5AMM/9MDDf/SAw//0wMo/+QDNP/SA0v/0wNV/+QDaP/TA2v/0gNu/+QDcP/kA3n/0gOT/9IDmP/kA5r/5AOc/+QDnv/kA6D/5AOi/+QDpP/kA6b/5AOo/+QDqv/kA6z/5AOu/+QD6v/TA+z/0wPu/9MD+P/SBAD/0gQT/9MAJgAO/x4AEP8eACP/zQCt/80Ar//NAQj/zQFn/x4Ba/8eAW//HgFw/x4B8f/NAfL/zQHz/80B9P/NAfX/zQH2/80B9//NAij/zQIq/80CLP/NAvj/zQMA/80DKP/NA1X/zQNu/80DcP/NA5j/zQOa/80DnP/NA57/zQOg/80Dov/NA6T/zQOm/80DqP/NA6r/zQOs/80Drv/NAKYARf/cAEb/3ABH/9wASf/cAE//8wBQ//MAUf/WAFL/8wBT/9wAV//dAFj/4QBb/+EAkf/cAJX/3ACX/90Atv/cALj/4QC8//MAw//cAMT/3ADG/90A5//zAOv/8wDs//MA7v/zAO//8wDw//MA8v/cAPP/8wD1//MA9v/zAPn/8wD7//MA/v/cAQD/8wET/9YBFf/hARn/3AEd/9wBMf/zATX/3AFA//MBRf/zAUf/3AFI/9wBUv/cAhP/3AIU/9wCFf/cAhb/3AIX/9wCHP/zAh3/1gIe/9YCH//WAiD/1gIh/9YCIv/dAiP/3QIk/90CJf/dAib/4QIn/+ECL//cAjH/3AIz/9wCNf/cAjf/3AI5/9wCO//cAj3/3AI//9wCQf/cAkP/3AJF/9wCR//cAkn/3AJk//MCZv/zAmj/8wJp//MCa//WAm3/1gJv/9YCh//dAon/3QKL/90Cjf/dAo//3QKR/90Clf/hAxD/3AMS//MDFP/dAxb/1gMY/+EDG//dAxz/1gMd/90DNv/cAzf/8wM4/9YDOf/zAzr/3AM7/+EDPf/cAz7/8wND//MDRP/hA0z/4QNU//MDXP/cA13/8wNh/+EDYv/cA2f/3ANp/+EDdf/cA3f/3AN4/9wDfv/zA4D/8wOC/9YDhP/cA4b/1gOK/+EDjP/hA47/4QOS//MDlf/cA7H/3AOz/9wDtf/cA7f/3AO5/9wDu//cA73/3AO//9wDxf/WA8f/1gPJ/9YDy//WA83/1gPP/9YD0f/WA9P/3APV/9wD1//cA9n/1gPb/9wD3f/dA9//3QPh/90D4//dA+X/3QPn/90D6f/dA+v/4QPt/+ED7//hA/P/8wP1//MD///zBAz/8wQO//MEEP/zAHEABP/aAAn/2gBF//AARv/wAEf/8ABJ//AAU//wAFf/7wBY/9wAW//cAJH/8ACV//AAl//vALb/8AC4/9wAw//wAMT/8ADG/+8A8v/wAP7/8AEV/9wBGf/wAR3/8AE1//ABR//wAUj/8AFS//ABZf/aAWb/2gFo/9oBaf/aAWr/2gIT//ACFP/wAhX/8AIW//ACF//wAiL/7wIj/+8CJP/vAiX/7wIm/9wCJ//cAi//8AIx//ACM//wAjX/8AI3//ACOf/wAjv/8AI9//ACP//wAkH/8AJD//ACRf/wAkf/8AJJ//ACh//vAon/7wKL/+8Cjf/vAo//7wKR/+8Clf/cAxD/8AMU/+8DGP/cAxv/7wMd/+8DNv/wAzr/8AM7/9wDPf/wA0T/3ANM/9wDTf/aA07/2gNS/9oDXP/wA2H/3ANi//ADZ//wA2n/3AN1//ADd//wA3j/8AOE//ADiv/cA4z/3AOO/9wDlf/wA7H/8AOz//ADtf/wA7f/8AO5//ADu//wA73/8AO///AD0//wA9X/8APX//AD2//wA93/7wPf/+8D4f/vA+P/7wPl/+8D5//vA+n/7wPr/9wD7f/cA+//3AA0AAT/oAAJ/6AAV//xAFj/xQBb/8UAl//xALj/xQDG//EBFf/FAWX/oAFm/6ABaP+gAWn/oAFq/6ACIv/xAiP/8QIk//ECJf/xAib/xQIn/8UCh//xAon/8QKL//ECjf/xAo//8QKR//EClf/FAxT/8QMY/8UDG//xAx3/8QM7/8UDRP/FA0z/xQNN/6ADTv+gA1L/oANh/8UDaf/FA4r/xQOM/8UDjv/FA93/8QPf//ED4f/xA+P/8QPl//ED5//xA+n/8QPr/8UD7f/FA+//xQA9AEX/5wBG/+cAR//nAEn/5wBT/+cAkf/nAJX/5wC2/+cAw//nAMT/5wDy/+cA/v/nARn/5wEd/+cBNf/nAUf/5wFI/+cBUv/nAhP/5wIU/+cCFf/nAhb/5wIX/+cCL//nAjH/5wIz/+cCNf/nAjf/5wI5/+cCO//nAj3/5wI//+cCQf/nAkP/5wJF/+cCR//nAkn/5wMQ/+cDNv/nAzr/5wM9/+cDXP/nA2L/5wNn/+cDdf/nA3f/5wN4/+cDhP/nA5X/5wOx/+cDs//nA7X/5wO3/+cDuf/nA7v/5wO9/+cDv//nA9P/5wPV/+cD1//nA9v/5wBxAAQADAAJAAwARf/oAEb/6ABH/+gASf/oAFH/6gBT/+gAWAALAFsACwCR/+gAlf/oALb/6AC4AAsAw//oAMT/6ADy/+gA/v/oARP/6gEVAAsBGf/oAR3/6AE1/+gBR//oAUj/6AFS/+gBZQAMAWYADAFoAAwBaQAMAWoADAIT/+gCFP/oAhX/6AIW/+gCF//oAh3/6gIe/+oCH//qAiD/6gIh/+oCJgALAicACwIv/+gCMf/oAjP/6AI1/+gCN//oAjn/6AI7/+gCPf/oAj//6AJB/+gCQ//oAkX/6AJH/+gCSf/oAmv/6gJt/+oCb//qApUACwMQ/+gDFv/qAxgACwMc/+oDNv/oAzj/6gM6/+gDOwALAz3/6ANEAAsDTAALA00ADANOAAwDUgAMA1z/6ANhAAsDYv/oA2f/6ANpAAsDdf/oA3f/6AN4/+gDgv/qA4T/6AOG/+oDigALA4wACwOOAAsDlf/oA7H/6AOz/+gDtf/oA7f/6AO5/+gDu//oA73/6AO//+gDxf/qA8f/6gPJ/+oDy//qA83/6gPP/+oD0f/qA9P/6APV/+gD1//oA9n/6gPb/+gD6wALA+0ACwPvAAsADABa/+0AXP/tAOn/7QKY/+0Cmv/tApz/7QM8/+0DbP/tA3r/7QOU/+0D+f/tBAH/7QAMAFr/8gBc//IA6f/yApj/8gKa//ICnP/yAzz/8gNs//IDev/yA5T/8gP5//IEAf/yAB8AWP/0AFr/8gBb//QAXP/zALj/9ADp//IBFf/0Aib/9AIn//QClf/0Apj/8wKa//MCnP/zAxj/9AM7//QDPP/yA0T/9ANM//QDYf/0A2n/9ANs//IDev/yA4r/9AOM//QDjv/0A5T/8gPr//QD7f/0A+//9AP5//IEAf/yAHkABP/KAAn/ygA2/9IAOP/UADr/9AA7/9MAT//RAFD/0QBS/9EAWP/mAFr/7wBb/+YAuP/mALz/0QDN/9IA0f/SANX/9ADZ/+0A3P/hAOf/0QDp/+8A6//RAOz/0QDu/9EA7//RAPD/0QDz/9EA9f/RAPb/0QD5/9EA+//RAQD/0QEU/9QBFf/mAS7/0gEx/9EBNv/SAUD/0QFF/9EBZf/KAWb/ygFo/8oBaf/KAWr/ygIL/9MCHP/RAib/5gIn/+YCZP/RAmb/0QJo/9ECaf/RAoD/0gKC/9IChP/SApT/0wKV/+YClv/TAv3/0wMM/9MDDf/0Aw//0wMS/9EDGP/mAyf/7QMz/9IDNP/0Azf/0QM5/9EDO//mAzz/7wM+/9EDQ//RA0T/5gNL/9MDTP/mA03/ygNO/8oDUv/KA1T/0QNd/9EDYP/UA2H/5gNo/9MDaf/mA2v/9ANs/+8Def/0A3r/7wN+/9EDgP/RA4n/7QOK/+YDi//tA4z/5gON/+0Djv/mA4//4QOS/9EDk//0A5T/7wPq/9MD6//mA+z/0wPt/+YD7v/TA+//5gPz/9ED9f/RA/b/0gP4//QD+f/vA/r/4QP8/+ED///RBAD/9AQB/+8EDP/RBA7/0QQQ/9EEE//TAB0ANv++AFj/7wBb/+8AuP/vAM3/vgDR/74BFf/vAS7/vgE2/74CJv/vAif/7wKA/74Cgv++AoT/vgKV/+8DGP/vAzP/vgM7/+8DRP/vA0z/7wNh/+8Daf/vA4r/7wOM/+8Djv/vA+v/7wPt/+8D7//vA/b/vgA0ADb/5gA4/+cAOv/yADv/5wBa//EAzf/mANH/5gDV//IA2f/uANz/6ADp//EBFP/nAS7/5gE2/+YCC//nAoD/5gKC/+YChP/mApT/5wKW/+cC/f/nAwz/5wMN//IDD//nAyf/7gMz/+YDNP/yAzz/8QNL/+cDYP/nA2j/5wNr//IDbP/xA3n/8gN6//EDif/uA4v/7gON/+4Dj//oA5P/8gOU//ED6v/nA+z/5wPu/+cD9v/mA/j/8gP5//ED+v/oA/z/6AQA//IEAf/xBBP/5wCEACMAEAAl/+gAKf/oADH/6AAz/+gANv/gADj/4AA7/98Agf/oAJD/6ACU/+gArQAQAK7/6ACvABAAzf/gAM7/6ADPABAA0f/gANgAEADc/+EA7QAQAPT/4AD/ABABA//oAQgAEAES/+gBFP/gARb/6AEY/+gBGv/oARz/6AEu/+ABNP/oATb/4AFNABABUf/oAfEAEAHyABAB8wAQAfQAEAH1ABAB9gAQAfcAEAH4/+gCAv/oAgP/6AIE/+gCBf/oAgb/6AIL/98CKAAQAioAEAIsABACLv/oAjD/6AIy/+gCNP/oAkL/6AJE/+gCRv/oAkj/6AJq/+gCbP/oAm7/6AKA/+ACgv/gAoT/4AKU/98Clv/fAp//6AL4ABAC/P/oAv3/3wMAABADCf/oAwz/3wMP/98DKAAQAy//6AMy/+gDM//gA0v/3wNVABADV//oA2D/4ANj/+gDZv/oA2j/3wNuABADcAAQA4H/6AOD/+gDhf/oA4//4QOQ/+ADlgAQA5cAEAOYABADmgAQA5wAEAOeABADoAAQA6IAEAOkABADpgAQA6gAEAOqABADrAAQA64AEAPE/+gDxv/oA8j/6APK/+gDzP/oA87/6APQ/+gD0v/oA9T/6APW/+gD2P/oA9r/6APq/98D7P/fA+7/3wP2/+AD+v/hA/v/4AP8/+ED/f/gBBEAEAQSABAEE//fAC0ANv/xADj/9AA6//QAO//wAM3/8QDP//UA0f/xANX/9ADY//UA2f/zART/9AEu//EBNv/xAU3/9QIL//ACgP/xAoL/8QKE//EClP/wApb/8AL9//ADDP/wAw3/9AMP//ADJ//zAzP/8QM0//QDS//wA2D/9ANo//ADa//0A3n/9AOJ//MDi//zA43/8wOT//QDlv/1A+r/8APs//AD7v/wA/b/8QP4//QEAP/0BBH/9QQT//AAWQAjAA8ANv/mADj/5gA6AA4AO//mAK0ADwCvAA8Azf/mAM8ADgDR/+YA1QAOANgADgDZAAsA3P/lAO0ADwD0/+gA/wAPAQgADwEU/+YBLv/mATb/5gFNAA4B8QAPAfIADwHzAA8B9AAPAfUADwH2AA8B9wAPAgv/5gIoAA8CKgAPAiwADwKA/+YCgv/mAoT/5gKU/+YClv/mAvgADwL9/+YDAAAPAwz/5gMNAA4DD//mAycACwMoAA8DM//mAzQADgNL/+YDVQAPA2D/5gNo/+YDawAOA24ADwNwAA8DeQAOA4kACwOLAAsDjQALA4//5QOQ/+gDkwAOA5YADgOXAA8DmAAPA5oADwOcAA8DngAPA6AADwOiAA8DpAAPA6YADwOoAA8DqgAPA6wADwOuAA8D6v/mA+z/5gPu/+YD9v/mA/gADgP6/+UD+//oA/z/5QP9/+gEAAAOBBEADgQSAA8EE//mAC4ANv/jADr/5QA7/+QAzf/jAM//5QDR/+MA1f/lANj/5QDZ/+kA7f/qAP//6gEu/+MBNv/jAU3/5QIL/+QCgP/jAoL/4wKE/+MClP/kApb/5AL9/+QDDP/kAw3/5QMP/+QDJ//pAzP/4wM0/+UDS//kA2j/5ANr/+UDef/lA4n/6QOL/+kDjf/pA5P/5QOW/+UDl//qA+r/5APs/+QD7v/kA/b/4wP4/+UEAP/lBBH/5QQS/+oEE//kACEANv/iADr/5ADN/+IAz//kANH/4gDV/+QA2P/kANn/6QDt/+sA///rAS7/4gE2/+IBTf/kAoD/4gKC/+IChP/iAw3/5AMn/+kDM//iAzT/5ANr/+QDef/kA4n/6QOL/+kDjf/pA5P/5AOW/+QDl//rA/b/4gP4/+QEAP/kBBH/5AQS/+sAFwA2/+sAO//zAM3/6wDR/+sBLv/rATb/6wIL//MCgP/rAoL/6wKE/+sClP/zApb/8wL9//MDDP/zAw//8wMz/+sDS//zA2j/8wPq//MD7P/zA+7/8wP2/+sEE//zADAAT//vAFD/7wBS/+8AWv/wALz/7wDn/+8A6f/wAOv/7wDs/+8A7v/vAO//7wDw/+8A8//vAPX/7wD2/+8A+f/vAPv/7wEA/+8BMf/vAUD/7wFF/+8CHP/vAmT/7wJm/+8CaP/vAmn/7wMS/+8DN//vAzn/7wM8//ADPv/vA0P/7wNU/+8DXf/vA2z/8AN6//ADfv/vA4D/7wOS/+8DlP/wA/P/7wP1/+8D+f/wA///7wQB//AEDP/vBA7/7wQQ/+8AHQAE//IACf/yAFj/9QBb//UAuP/1ARX/9QFl//IBZv/yAWj/8gFp//IBav/yAib/9QIn//UClf/1Axj/9QM7//UDRP/1A0z/9QNN//IDTv/yA1L/8gNh//UDaf/1A4r/9QOM//UDjv/1A+v/9QPt//UD7//1AAQA9P/tA5D/7QP7/+0D/f/tAAoABP/1AAn/9QFl//UBZv/1AWj/9QFp//UBav/1A03/9QNO//UDUv/1AFQARf/wAEb/8ABH//AASf/wAFH/6wBT//AAkf/wAJX/8AC2//AAw//wAMT/8ADy//AA/v/wARP/6wEZ//ABHf/wATX/8AFH//ABSP/wAVL/8AIT//ACFP/wAhX/8AIW//ACF//wAh3/6wIe/+sCH//rAiD/6wIh/+sCL//wAjH/8AIz//ACNf/wAjf/8AI5//ACO//wAj3/8AI///ACQf/wAkP/8AJF//ACR//wAkn/8AJr/+sCbf/rAm//6wMQ//ADFv/rAxz/6wM2//ADOP/rAzr/8AM9//ADXP/wA2L/8ANn//ADdf/wA3f/8AN4//ADgv/rA4T/8AOG/+sDlf/wA7H/8AOz//ADtf/wA7f/8AO5//ADu//wA73/8AO///ADxf/rA8f/6wPJ/+sDy//rA83/6wPP/+sD0f/rA9P/8APV//AD1//wA9n/6wPb//AAjwAEAA0ACQANAEP/8ABF/7AARv+wAEf/sABJ/7AAUf/WAFP/sABYAAsAWwALAJH/sACV/7AAtv+wALgACwDE/7AA7f+vAPL/sAD+/7AA//+vARP/1gEVAAsBGf+wAR3/sAE1/7ABR/+wAUj/sAFS/7ABZQANAWYADQFoAA0BaQANAWoADQIM//ACDf/wAg7/8AIP//ACEP/wAhH/8AIS//ACE/+wAhT/sAIV/7ACFv+wAhf/sAId/9YCHv/WAh//1gIg/9YCIf/WAiYACwInAAsCKf/wAiv/8AIt//ACL/+wAjH/sAIz/7ACNf+wAjf/sAI5/7ACO/+wAj3/sAI//7ACQf+wAkP/sAJF/7ACR/+wAkn/sAJr/9YCbf/WAm//1gKVAAsDEP+wAxb/1gMYAAsDHP/WAzX/8AM2/7ADOP/WAzr/sAM7AAsDPf+wA0QACwNMAAsDTQANA04ADQNSAA0DVv/wA1z/sANhAAsDYv+wA2f/sANpAAsDb//wA3H/8AN1/7ADd/+wA3j/sAOC/9YDhP+wA4b/1gOKAAsDjAALA44ACwOV/7ADl/+vA5n/8AOb//ADnf/wA5//8AOh//ADo//wA6X/8AOn//ADqf/wA6v/8AOt//ADr//wA7H/sAOz/7ADtf+wA7f/sAO5/7ADu/+wA73/sAO//7ADxf/WA8f/1gPJ/9YDy//WA83/1gPP/9YD0f/WA9P/sAPV/7AD1/+wA9n/1gPb/7AD6wALA+0ACwPvAAsEEv+vAAgA7QAQAPT/8AD/ABADkP/wA5cAEAP7//AD/f/wBBIAEABFAEUADABGAAwARwAMAEkADABTAAwAkQAMAJUADAC2AAwAwwAMAMQADADtABgA8gAMAPT/9wD+AAwA/wAYARkADAEdAAwBNQAMAUcADAFIAAwBUgAMAhMADAIUAAwCFQAMAhYADAIXAAwCLwAMAjEADAIzAAwCNQAMAjcADAI5AAwCOwAMAj0ADAI/AAwCQQAMAkMADAJFAAwCRwAMAkkADAMQAAwDNgAMAzoADAM9AAwDXAAMA2IADANnAAwDdQAMA3cADAN4AAwDhAAMA5D/9wOVAAwDlwAYA7EADAOzAAwDtQAMA7cADAO5AAwDuwAMA70ADAO/AAwD0wAMA9UADAPXAAwD2wAMA/v/9wP9//cEEgAYAB8AWP/0AFr/8ABb//QAuP/0AOn/8ADt//MA///zARX/9AIm//QCJ//0ApX/9AMY//QDO//0Azz/8ANE//QDTP/0A2H/9ANp//QDbP/wA3r/8AOK//QDjP/0A47/9AOU//ADl//zA+v/9APt//QD7//0A/n/8AQB//AEEv/zAAoABP/WAAn/1gFl/9YBZv/WAWj/1gFp/9YBav/WA03/1gNO/9YDUv/WAAoABP/1AAn/9QFl//UBZv/1AWj/9QFp//UBav/1A03/9QNO//UDUv/1AF4ABAALAAkACwBF/+sARv/rAEf/6wBJ/+sAUf/pAFP/6wCR/+sAlf/rALb/6wDD/+sAxP/rAPL/6wD+/+sBE//pARn/6wEd/+sBNf/rAUf/6wFI/+sBUv/rAWUACwFmAAsBaAALAWkACwFqAAsCE//rAhT/6wIV/+sCFv/rAhf/6wId/+kCHv/pAh//6QIg/+kCIf/pAi//6wIx/+sCM//rAjX/6wI3/+sCOf/rAjv/6wI9/+sCP//rAkH/6wJD/+sCRf/rAkf/6wJJ/+sCa//pAm3/6QJv/+kDEP/rAxb/6QMc/+kDNv/rAzj/6QM6/+sDPf/r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ATEDUgNXATUDWgNaATsDXANcATwDYANhAT0DZgNmAT8DaANxAUADdAN1AUoDdwN6AUwDgQOCAVADhgOGAVIDiAOOAVMDkwOUAVoDmAPAAVwDwgPCAYUDxAPRAYYD2QPZAZQD3APcAZUD3gPeAZYD6gPvAZcD8gPyAZ0D9AP0AZ4D9gP2AZ8D+AP5AaAD/gQBAaIEBAQEAaYEBgQHAacECQQJAakEDQQNAaoEDwQPAasEEwQTAawAAQAKAAoAKAAzADQAPQBIAE0AVgBZAF0AAQAiAJkAsACyALMAtAC7AL4AvwDAAMUAxwDIAMkAzQDRANMA1ADWAN4A4gDjAOQA5QDmAOgA6gDsAPEA8wD2APsA/gEdAdwAAgB2AAQABAAAAAkACQABAA4ADgACABAAEAADACMAJwAEACoAMgAJADYAPAASAEMARQAZAEcARwAcAEoASgAdAE8AUgAeAFQAVAAiAFgAWAAjAFoAXAAkAIgAiAAnAKwArwAoALgAuAAsALwAvAAtAMIAwgAuAM8A0AAvANIA0gAxANUA1QAyANcA2QAzANsA2wA2AN0A3QA3AN8A3wA4AOEA4QA5AOcA5wA6AOkA6QA7APIA8gA8APcA9wA9APkA+gA+AP8BAABAAQUBBQBCAQgBCABDARMBFQBEAScBKQBHASwBLABKAS4BLgBLAUUBRQBMAWUBawBNAW8BcABUAewB7QBWAe8B7wBYAfECFwBZAhwCIQCAAiYCNgCGAjgCQQCXAkoCTAChAk4CTgCkAlACUAClAlICUgCmAlQCVACnAlcCVwCoAlkCWQCpAlsCWwCqAl0CXQCrAl8CXwCsAmECYQCtAmMCbwCuAnECcQC7AnMCcwC8AnUCdQC9AoACgAC+AoICggC/AoQChADAAoYChgDBAogCiADCAooCigDDAowCjADEAo4CjgDFApACkADGApICkgDHApQCnADIAvgC/QDRAwADDwDXAxIDEgDnAxYDFgDoAxgDGADpAxwDHADqAx8DIADrAyIDKwDtAy0DLwD3AzEDNgD6AzgDPgEAA0QDRQEHA0cDRwEJA0kDSQEKA0sDTgELA1IDVwEPA1oDWgEVA1wDXAEWA2ADYQEXA2YDcQEZA3QDdQElA3cDegEnA4EDggErA4YDhgEtA4gDjgEuA5MDlAE1A5gDwAE3A8IDwgFgA8QD0QFh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ABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAABEAEQARABEAEQARABEABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABgAGAAYABgAOABoAGgAaABoAGgAaABoAFQAVABUAFQAVAAAAAAAAAAAAGAAIAAgACAAIAAgACwALAAsACwACAAIAEQAaABEAGgARABoABQAVAAUAFQAFABUABQAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAUAFQAFABUABQAVAAUAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAABgAAAAYABgABQAIAAUACAAFAAgAAAAAAAAAAAAAAAAAGQAbABkAGwAZABsAGQAbABkAGwAKAAAACgAAAAoAAAAGAAsABgALAAYACwAGAAsABgALAAYACwAJAAAADgACAA4AFAAMABQADAAUAAwAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAUADgAAAAAAEQAAAAAAFAAAAAAAAAAAAAAABQAAAAAADgASAAAADgAVAAAAGAAAAAsAAAAIAAAAAgAAAAAACwAIAAsAAAAAAAAAAAAAAAAAHAAAAAAAEAARAAAAAAAAAAAAAAAAAAUAAAAAAAUACgASABoAFQAYAAgAGAAVAAIAFgAVABgAGwAAAAAAAAAYAAIACQAAAAkAAAAJAAAADgACAAcABwAAAAAAAAAHAAAAGAARABoABQAAAAAAAAAAABUAGAAAAAAADQACABUABQAAAAAABQAVAA4AAgAAABIAFgAAABEAGgARABoAAAAAAAAAFQAAABUAFQASABYAAAAAAAAAGAAAABgABQAIAAUAFQAFAAgAAAAAABAAAgAQAAIAEAACAA8AAwAAABgAEgAWABUAAQAEABEAGgARABoAEQAaABEAGgARABoAEQAaABEAGgARABoAEQAaABEAGgARABoAEQAaAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAAAAAAAAAFAAgABQAIAAUACAAFAAgABQAIAAUACAAFAAgABQAVAAUAFQAFABUABQAIAAUAFQAGAAsABgALAAAACwAAAAsAAAALAAAACwAAAAsADgACAA4AAgAOAAIAAAAAAAAAGAAAABgACgAAABIAFgAPAAMADwADAAAAGAASABYAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAGAAAABgAAQAEAA4AAAAAAAAAAAAAABcAAQAAAAoALACOAAFERkxUAAgABAAAAAD//wAIAAAAAQACAAMABAAFAAYABwAIbGlnYQAybG51bQA4c21jcAA+c3MwMQBEc3MwMgBKc3MwMwBQc3MwNABWc3MwNQBcAAAAAQABAAAAAQACAAAAAQAAAAAAAQADAAAAAQAEAAAAAQAFAAAAAQAGAAAAAQAHAAgAEgAaACIAKgAyADoAQgBKAAEAAAABAEAABAAAAAEB9gABAAAAAQIAAAEAAAABAhIAAQAAAAECEAABAAAAAQIOAAEAAAABAgwAAQAAAAECDgACAhAA3AGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAHoAbUBtgG3AbgBuQG6AbsBvAG9Ab4BpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQB6AG1AbYBtwG4AbkBugG7AbwBvQG+AvcCogKhAqICowKjAqQCpQKmAqcCqAKpAqoCqwKsAq0CrgKvArACsQKyArMCtAK1ArYCtwK4ArkCugK7ArwCvQK+AqQCpQKmAqcCqAKpAqoCqwKsAq0CrgKvArACsQKyArMCtAK1ArYCtwK4ArkCugK7ArwCvQK+AvMCvwK/AsACwALBAsECwgLCAsMCwwLFAsUCxgLGAscCxwLIAsgCyQLJAsoCygLLAssCzALMAs0CzQLPAs8C0ALQAtEC0QLSAtIC0wLTAtQC1ALVAtYC1gLXAtcC2ALYAtkC2QLaAtoC2wLbAtwC3ALdAt0C3gLeAt8C3wLgAuAC4QLhAuIC4gLjAuMC5ALkAuUC5QLmAuYC5wLnAugC6P////8C6gLqAusC6wLsAuwC7QLtAu4C7gLvAu8C8ALwAvEC8QLyAvIC8wL0AvQC9QL1AvYC9gKhAAEApAABAAgAAQAEAZIAAgBLAAIAmAAKAZgBzAHEAdYB1wHYAdkB2wHdAecAAQCIAZEAAQCIASgAAQCIAa4AAgCIAAIB4wHkAAIAfgACAeUB5gACAA0AIwA8AAAAQwBcABoAgwCDADQAhQCFADUB7AHtADYB7wIxADgCNAJFAHsCSAJUAI0CVwJoAJoCagJ7AKwCfgJ/AL4CggKcAMAD8APwANsAAQABAEgAAgABABIAGwAAAAEAAQBJAAEAAQC2AAEAAQA0AAEAAgAtAE0=","Roboto-Medium.ttf":"AAEAAAAOAIAAAwBgR0RFRgsuCy8AASxgAAAASEdQT1OQeyOPAAEsqAAAl/pHU1VCeolvLwABxKQAAANsT1MvMrkTKcoAAAFoAAAAYFZETVhu6nZPAAASOAAABeBjbWFwf76BZgAAGBgAAA7iZ2x5Zm8zqQ4AACb8AADUQGhlYWT1Pw7VAAAA7AAAADZoaGVhCx4JIwAAASQAAAAkaG10eLpNNCcAAAHIAAAQcGxvY2EEms7QAAD7PAAACDptYXhwBDsA9gAAAUgAAAAgbmFtZb10XwMAAQN4AAAEn3Bvc3Tfb5xiAAEIGAAAJEYAAQAAAAEAAF5SMstfDzz1AAkIAAAAAADE8BEuAAAAAM2CsnL6JP3VCYsIYgAAAAkAAgAAAAAAAAABAAAHbP4MAAAJnfok/V0JiwABAAAAAAAAAAAAAAAAAAAEHAABAAAEHACXABYAXQAFAAEAAAAAAAAAAAAAAAAAAwABAAME3gH0AAUAAAWaBTMAAAEfBZoFMwAAA9EAZgIAAAAAAAAAAAAAAAAA4AAC/1AAIFsAAAAgAAAAAHB5cnMAAAAA//0GAP4AAGYHmgIAIAABn08BAAAEOgWwAAAAIAACAf4AAAAAAAAB/gAAAf4AAAKYAFIE4gA8BIwAZAXgAGQFHQA+AVoAUgK3AIACvAARA38AGwR1AEQBwgAnAqAARwI8AJkDKgACBIwAaASMAMoEjABRBIwATwSMADgEjACBBIwAdASMAEUEjABhBIwAUgIlAJkCIABRBBEAPwSOAJEEKgCAA+QAKQchAEoFQgAaBSAAnwUgAHQFYgCfBKMAnwShAJ8FbQB0BbAAnwJNAK0EfAA6BSgAnwRkAJ8HAgCfBbAAnwWPAHQFKwCfBZAAdAVFAJ8E8wBTBOoANQV0AIYFKwAaBwIARAUUAC8FAwATBMAAWAIxAIQDVwAVAjEADANrADUDnAADApQASgRaAF4EiACABDMAUQSIAFMEPABZAs8AMQSIAFQEiAB9AhMAkAIZ/7AEMACBAhMAkAb1AIAEiAB+BIgAUwSIAIAEiABTAtoAgAQpAFECnQAZBIgAewQOACAF+gAlBA4AIQQOABAEDgBVAq8AOAICAK4CrwAbBVEAdQIeAI8EfQBoBLUAUQWdAF0E4AAaAfwAiAT4AFoEHgCkBkQAVwORAHQD4gBUBG0AfwZEAFcD2wCHAwoAfwRLAF8DYQBtA2MAYQKxAHgEuwCSBBAAPgJCAKACEABtAjUAZAOnAHcD4gBcBgwAmwZmAJMG0wBmBAEAYAeF//YERABNBXoAaQTKAJQE5wCIBsEANAS6ADwEkQBDBIkAUwSXAIcFogAYAhoAjwSYAI4EJAAbAj8AGwWSAJMEiAB+B7QAZQc6AFsCDACLAtD/3QWJAGYEnwBSBaUAhgTyAHsCJv+1BDwAWQPmAJsDsAB5A3wAdQJPAJoCsgCCAk0AKQPYAIADLwB6ApwAqwAA/NsAAP02AAD8eQAA/T4AAPwMAAD9IgJdANcEPACdAkIAoAR1AJ8FvQAaBXsAZgU5ACMEkQBwBbEAnwSRAEcF6wBLBacASAVbAGwEhABWBMYAlgQOACAEiABUBGAAYAQaAGEEiAB+BKIAcwKmAKkEagAWBBMAZAT3AE8EiACABDcAUgSQAFIELgBABGAAgAXQAEQFyQBPBpQAZgUuAHUEdf/uBnEAMwX/ACQFPgByCIoALgiRAJ8GXwA1BasAmQUIAJQGBwAmB5oAGATTAEoFqgCaBakALgUKAD8GYABPBfYAmQWIAI8HmgCeB/oAngYaABgG+QCfBQcAlAU8AIgHVACqBPsALQR9AFsEjwCPA1oAhQT2ACcGdgAXBBYATQSYAIYEbgCPBJoAHwYDAI8ElwCGBJgAhgP1ACMF0wBUBNMAhgRmAF8GjgCGBuwAfgUYAB8GbwCPBGgAjwQ8AFEGhACQBHAAJwSJ/+EEPQBYBtEAHwbkAIYEif/1BJgAhgdDAI0GTwBwBGf/4AcpAKIGAQCGBQcAIARgAAoHQgC2BjYAnQbtAIQF5gCCCTIArQf5AI8EIQApA/AAMwV7AGoEiQBSBRkAEQQOACAFewBqBIkAUwc+AI0GRAB0B0MAjQZQAHAFHQBqBEoAXAT/AG0AAPxmAAD8cwAA/XsAAP2lAAD6JP7p+k0EZ//gBRQAnwSHAIAEagCUA6IAfgS3AJ8EIAB+BSoAlASrAI4GlgA0BaQAPgfRAJ8FqwB+CEcAnwb1AH4GJQBpBP8AYQcyAC4FcQAmBXUAggRzAHQFhwCKBiYAIATE/84FHwCUBHgAjgWwAJ8EiAB+BYgAUwSmAF0EpgBdBMcAOwNTADQFBwBUBusAZgbdAF4GUwA7BSgALwR7AEkEPwB1B74AQwadAD8H/gCYBp4AdwUDAGIELABVBaoAIgUdAEQFVwCHBBQAAAgpAAAEFAAACCkAAAK5AAACCgAAAVwAAAR/AAACMAAAAaIAAADRAAAAAAAABYcArQaBALIDnQAEAcAAYAG8ADMBzgAyAagARwMUAGIDGwBAAwgAMgRdAEAEmQBcAssAiAP6AJwFpgCcB6gASwJyAGwCaQBUA5wALQOpAD8DXABpBLUATwa4AJkETQBLBeUAcQPiAEUIyACYBQkAZAUUAJYGyQBpB2EAageRAGoG7wBqBLsAQwWWAKYE2QBABIMAngSyADsIRQBkAiH/sgSOAGUETACYBEYAqgRLAKAEGgAkAlsAswKYAGMB8QBFBKgAGAAAAAAIMABZCDUAXAQyAE0DiwBNBJMAbAMn/58CEP+wAk0AGAGzAFwDoQB1A6EAdQOhAHUECwB5BAsAdQQL/0wECwB6A6EAWwIFAJAEyAAcBIwAjgSUAGgErwCOBEcAjgQqAI4E2wBoBRIAjgIVAI4EFwAuBHcAjgO9AI4GBgCOBSEAjgTKAGYE3QBoBKgAjgRwAE8EMgA8BQAAfgSxABwGDgA0BIwALARVABMETQBKBIYAbQKFAD4D/wBSBCIATQRlADkEfABRBD0AbQOvADwEQwBSBCoAPwIzAFcDVQBrA2YAYAL9ADgDdgBoA3YAcAMAAFIDgwBoA2YAYAOfAHADuQCXArIAlgNCAGwEjABPBIwAOASMAIEEmAB0BDsACgQ0ADIEYgA+BIwAYQS7AFYEiABTBUkAnwRaAGAFMgCfBSgAnwQwAIEFOgCfBC0AgQSNAFIEjACOA3wAdQH+AAACoABHBYAAJAWAACQEpv/9BOoANQKd/+cFQgAaBUIAGgVCABoFQgAaBUIAGgVCABoFQgAaBSAAdASjAJ8EowCfBKMAnwSjAJ8CTf/MAk0ArQJN/9gCTf+9BbAAnwWPAHQFjwB0BY8AdAWPAHQFjwB0BXQAhgV0AIYFdACGBXQAhgUDABMEWgBeBFoAXgRaAF4EWgBeBFoAXgRaAF4EWgBeBDMAUQQ8AFkEPABZBDwAWQQ8AFkCGv+vAhoAjwIa/7sCGv+gBIgAfgSIAFMEiABTBIgAUwSIAFMEiABTBIgAewSIAHsEiAB7BIgAewQOABAEDgAQBUIAGgRaAF4FQgAaBFoAXgVCABoEWgBeBSAAdAQzAFEFIAB0BDMAUQUgAHQEMwBRBSAAdAQzAFEFYgCfBR4AUwSjAJ8EPABZBKMAnwQ8AFkEowCfBDwAWQSjAJ8EPABZBKMAnwQ8AFkFbQB0BIgAVAVtAHQEiABUBW0AdASIAFQFbQB0BIgAVAWwAJ8EiAB9Ak3/vwIa/6ICTf+/Ahr/ogJN/+UCGv/IAk0AHAIT//4CTQCjBskArQQsAJAEfAA6Aib/tQUoAJ8EMACBBGQAnwITAJAEZACfAhMAWARkAJ8CqQCQBGQAnwLvAJAFsACfBIgAfgWwAJ8EiAB+BbAAnwSIAH4EiP/VBY8AdASIAFMFjwB0BIgAUwWPAHQEiABTBUUAnwLaAIAFRQCfAtoAVgVFAJ8C2gBDBPMAUwQpAFEE8wBTBCkAUQTzAFMEKQBRBPMAUwQpAFEE8wBTBCkAUQTqADUCnQAZBOoANQKdABkE6gA1AsUAGQV0AIYEiAB7BXQAhgSIAHsFdACGBIgAewV0AIYEiAB7BXQAhgSIAHsFdACGBIgAewcCAEQF+gAlBQMAEwQOABAFAwATBMAAWAQOAFUEwABYBA4AVQTAAFgEDgBVB4X/9gbBADQFegBpBIkAUwSv/+oEr//qBDIAPATIABwEyAAcBMgAHATIABwEyAAcBMgAHATIABwElABoBEcAjgRHAI4ERwCOBEcAjgIV/6wCFQCOAhX/uAIV/50FIQCOBMoAZgTKAGYEygBmBMoAZgTKAGYFAAB+BQAAfgUAAH4FAAB+BFUAEwTIABwEyAAcBMgAHASUAGgElABoBJQAaASUAGgErwCOBEcAjgRHAI4ERwCOBEcAjgRHAI4E2wBoBNsAaATbAGgE2wBoBRIAjgIV/58CFf+fAhX/xQIV//kCFQCEBBcALgR3AI4DvQCOA70AjgO9AI4DvQCOBSEAjgUhAI4FIQCOBMoAZgTKAGYEygBmBKgAjgSoAI4EqACOBHAATwRwAE8EcABPBHAATwQyADwEMgA8BQAAfgUAAH4FAAB+BQAAfgUAAH4FAAB+Bg4ANARVABMEVQATBE0ASgRNAEoETQBKCOAATwVCABoFB/+vBhT/3AKx/+MFowAqBWf/ZwVvABMCpv+wBUIAGgUgAJ8EowCfBMAAWAWwAJ8CTQCtBSgAnwcCAJ8FsACfBY8AdAUrAJ8E6gA1BQMAEwUUAC8CTf+9BQMAEwSEAFYEYABgBIgAfgKmAKkEYACABJgAjgSIAFMEuwCSBA4AIAQOACECpv/EBGAAgASIAFMEYACABpQAZgSjAJ8EdQCfBPMAUwJNAK0CTf+9BHwAOgUoAJ8FKACfBQoAPwVCABoFIACfBHUAnwSjAJ8FqgCaBwIAnwWwAJ8FjwB0BbEAnwUrAJ8FIAB0BOoANQUUAC8EWgBeBDwAWQSYAIYEiABTBIgAgAQzAFEEDgAQBA4AIQQ8AFkDWgCFBCkAUQITAJACGv+gAhn/sARuAI8EDgAQBwIARAX6ACUHAgBEBfoAJQcCAEQF+gAlBQMAEwQOABABWgBSApgAUgRKAJoE4gAxAib/tQG8ADMHAgCfBvUAgAVCABoEWgBeBY//PQd3ADEHsQAxBKMAnwWqAJoEPABZBJgAhgWnAEgFyQBPBRkAEQQO/+MIlgBTCZ0AdATTAEoEFgBNBSAAdAQzAFEFAwATBA4AIAJNAK0HmgAYBnYAFwJNAK0FQgAaBFoAXgVCABoEWgBeB4X/9gbBADQEowCfBDwAWQWIAFMEPABZBDwAWQeaABgGdgAXBNMASgQWAE0FqgCaBJgAhgWqAJoEmACGBY8AdASIAFMFewBqBIkAUgV7AGoEiQBSBTwAiAQ8AFEFCgA/BA4AEAUKAD8EDgAQBQoAPwQOABAFiACPBGYAXwb5AJ8GbwCPBRQALwQOACEEiABTBakALgSaAB8FQgAaBFoAXgVCABoEWgBeBUIAGgRaAF4FQgAEBFr/iQVCABoEWgBeBUIAGgRaAF4FQgAaBFoAXgVCABoEWgBeBUIAGgRaAF4FQgAaBFoAXgVCABoEWgBeBUIAGgRaAF4EowCfBDwAWQSjAJ8EPABZBKMAnwQ8AFkEowCfBDwAWQSj/8wEPP+LBKMAnwQ8AFkEowCfBDwAWQSjAJ8EPABZAk0ArQIaAI8CTQCfAhMAggWPAHQEiABTBY8AdASIAFMFjwB0BIgAUwWPACsEiP+mBY8AdASIAFMFjwB0BIgAUwWPAHQEiABTBYkAZgSfAFIFiQBmBJ8AUgWJAGYEnwBSBYkAZgSfAFIFiQBmBJ8AUgV0AIYEiAB7BXQAhgSIAHsFpQCGBPIAewWlAIYE8gB7BaUAhgTyAHsFpQCGBPIAewWlAIYE8gB7BQMAEwQOABAFAwATBA4AEAUDABMEDgAQBKYAUwSmAFMFKACf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w83m/k4AAAAAAf/9AAAEKgYYABwAAAEjERc+ATMyFhURIxE0JiMiBgcRIxEjNTM1MxUzAoz+AzWXYLC982RoSW4m856e8/4Ex/7sAUtR1Of9bQKVgnA6NfzoBMeqp6cAAAEANQAABLUFsAAPAAABIxEjESM1MxEhNSEVIREzA73P883N/joEgP45zwMS/O4DEqoBMcPD/s8AAf/n/+wCdgVBAB8AAAERMxUjFTMVIxEUFjMyNjcXDgEjIiY1ESM1MzUjNTMRAaHDw9XVMSsZLBQaIV4xg4/Hx5WVBUH++bSlqv75RTYHBrIQFJmrAQeqpbQBB///ABoAAAUoByICJgAjAAAABwBCAPwBXP//ABoAAAUoByECJgAjAAAABwBzAbMBW///ABoAAAUoB0cCJgAjAAAABwCaALcBWf//ABoAAAUoB2MCJgAjAAAABwCgALkBbP//ABoAAAUoBw0CJgAjAAAABwBoAJMBXf//ABoAAAUoB48CJgAjAAAABwCeAUwBs///ABoAAAUoB70CJgAjAAAABwHUAVIBKP//AHT+PATYBcUCJgAlAAAABwB3Acb/+///AJ8AAAR1ByICJgAnAAAABwBCAMQBXP//AJ8AAAR1ByECJgAnAAAABwBzAXsBW///AJ8AAAR1B0cCJgAnAAAABwCaAH8BWf//AJ8AAAR1Bw0CJgAnAAAABwBoAFsBXf///8wAAAGgByICJgArAAAABwBC/4IBXP//AK0AAAKEByECJgArAAAABwBzADgBW////9gAAAJ5B0cCJgArAAAABwCa/z0BWf///70AAAKSBw0CJgArAAAABwBo/xkBXf//AJ8AAAUQB2MCJgAwAAAABwCgAO4BbP//AHT/6wUbBzcCJgAxAAAABwBCASMBcf//AHT/6wUbBzYCJgAxAAAABwBzAdoBcP//AHT/6wUbB1wCJgAxAAAABwCaAN4Bbv//AHT/6wUbB3gCJgAxAAAABwCgAOABgf//AHT/6wUbByICJgAxAAAABwBoALoBcv//AIb/6wTxByICJgA3AAAABwBCARcBXP//AIb/6wTxByECJgA3AAAABwBzAc4BW///AIb/6wTxB0cCJgA3AAAABwCaANIBWf//AIb/6wTxBw0CJgA3AAAABwBoAK4BXf//ABMAAATvByECJgA7AAAABwBzAZYBW///AF7/7AQB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AAcAnADtAcH//wBU/kwECAYaAiYASQAAAAYAnHlqAAD//wB0/+sE4gc2AiYAKQAAAAcAnQGHAYD//wBU/kwECAXfAiYASQAAAAcAnQETACn//wB0/eIE4gXFAiYAKQAAAAcBkQG2/qv//wBU/kwECAaKAiYASQAAAAcBpQEtAH7//wCfAAAFEAdHAiYAKgAAAAcAmgDoAVn//wB9AAAEDAdiAiYASgAAAAcAmgAbAXT///+/AAACkAdjAiYAKwAAAAcAoP8/AWz///+iAAACcwYMAiYAigAAAAcAoP8iABX///+/AAAClgb2AiYAKwAAAAcAbv84AUb///+iAAACeQWgAiYAigAAAAcAbv8b//D////lAAACawdcAiYAKwAAAAcAnP9wAaz////IAAACTgYFAiYAigAAAAcAnP9TAFX//wAc/lwBoAWwAiYAKwAAAAYAn/MKAAD////+/lIBgwYYAiYASwAAAAYAn9UAAAD//wCjAAABpgchAiYAKwAAAAcAnQAJAWv//wCt/+sGMwWwACYAKwAAAAcALAJNAAD//wCQ/ksDoQYYACYASwAAAAcATAITAAD//wA6/+sEsgc/AiYALAAAAAcAmgF2AVH///+1/ksCZAXjAiYAmAAAAAcAmv8o//X//wCf/fAFLwWwAiYALQAAAAcBkQGK/rn//wCB/fIENQYYAiYATQAAAAcBkQEv/rv//wCfAAAELwb4AiYALgAAAAcAcwAqATL//wCQAAACZwdfAiYATgAAAAcAcwAbAZn//wCf/fIELwWwAiYALgAAAAcBkQF1/rv//wBY/fIBgwYYAiYATgAAAAcBkQAT/rv//wCfAAAELwWyAiYALgAAAAcBkQIEBKz//wCQAAAC6AYYACYATgAAAAcBkQGOBRL//wCfAAAELwWwAiYALgAAAAcAnQG7/dT//wCQAAAC9wYYACYATgAAAAcAnQFa/a///wCfAAAFEAchAiYAMAAAAAcAcwHoAVv//wB+AAAECwXfAiYAUAAAAAcAcwFTABn//wCf/fIFEAWwAiYAMAAAAAcBkQHg/rv//wB+/fIECwROAiYAUAAAAAcBkQFL/rv//wCfAAAFEAdOAiYAMAAAAAcAmwEDAV3//wB+AAAECwYMAiYAUAAAAAYAm24bAAD////VAAAECwYYAiYAUAAAAAcBkf+QBRL//wB0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aAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAcABhAGMAaABlAC4AbwByAGcALwBsAGkAYwBlAG4AcwBlAHMALwBMAEkAQwBFAE4AUwBFAC0AMgAuADAAUgBvAGIAbwB0AG8ATQBlAGQAaQB1AG0AAAIAAAAAAAD/agBkAAAAAAAAAAAAAAAAAAAAAAAAAAAEHAAAAQIAAgADAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAKMAhACFAL0AlgDoAIYAjgCLAJ0AqQCkAIoBAwCDAJMA8gDzAI0AlwCIAQQA3gDxAJ4AqgD1APQA9gCiAJAA8ACRAO0AiQCgAOoAuAChAO4BBQDXAQYA4gDjAQcBCACwALEBCQCmAQoBCwEMAQ0BDgEPANgA4QDbANwA3QDgANkA3wEQAREBEgETARQBFQEWARcBGAEZARoBGwEcAR0BHgEfASABIQEiAJ8BIwEkASUBJgEnASgBKQEqASsBLAEtAJsBLgEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE+AT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwF0AXUBdgF3AXgBeQF6AXsBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQCyALMBzgC2ALcAxAHPALQAtQDFAIIAwgCHAdAAqwDGAL4AvwC8AdEB0gHTAdQB1QHWAdcB2ACMAdkB2gHbAdwB3QCYAJoAmQDvAKUAkgCcAKcAjwCUAJUAuQHeAd8B4ADAAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMB9AH1AfYB9wH4AfkB+gH7AfwB/QH+Af8CAAIBAgICAwIEAgUCBgIHAggCCQIKAgsCDAINAg4CDwIQAhECEgITAhQCFQIWAhcCGAIZAhoCGwIcAh0CHgIfAiACIQIiAiMCJAIlAiYCJwIoAikCKgIrAiwCLQIuAi8CMAIxAjICMwI0AjUCNgI3AKwCOAI5AOkCOgI7AjwArQDJAMcArgBiAGMCPQBkAMsAZQDIAMoAzwDMAM0AzgBmANMA0ADRAK8AZwDWANQA1QBoAOsAagBpAGsAbQBsAG4CPgBvAHEAcAByAHMAdQB0AHYAdwB4AHoAeQB7AH0AfAB/AH4AgACBAOwAugI/AkACQQJCAkMCRAD9AP4CRQJGAkcCSAD/AQACSQJKAksCTAJNAk4CTwJQAlECUgJTAlQCVQJWAPgA+QJXAlgCWQJaAlsCXAJdAl4CXwJgAmECYgJjAmQCZQJmAmcCaAJpAmoCawJsAm0CbgJvAnACcQJyAnMCdAJ1AnYCdwJ4AnkCegJ7AnwCfQJ+An8CgAKBAoICgwKEAoUChgKHAogCiQKKAPsA/AKLAowA5ADlAo0CjgKPApACkQKSApMClAKVApYClwKYApkCmgKbApwCnQKeAp8CoAKhAqIAuwKjAqQCpQKmAOYA5wKnAqgCqQKqAqsCrAKtAq4CrwKwArECsgKzArQCtQK2ArcCuAK5AroCuwK8Ar0CvgK/AsACwQLCAsMCxALFAsYCxwLIAskCygLLAswCzQLOAs8C0ALRAtIC0wLUAtUC1gLXAtgC2QLaAtsC3ALdAt4C3wLgAuEC4gLjAuQC5QLmAucC6ALpAuoC6wLsAu0C7gLvAvAC8QLyAvMC9AL1AvYC9wL4AvkC+gL7AvwC/QL+Av8DAAMBAwIDAwMEAwUDBgMHAwgDCQMKAwsDDAMNAw4DDwMQAxEDEgMTAxQDFQMWAxcDGAMZAxoDGwMcAx0DHgMfAyADIQMiAyMDJAMlAyYDJwMoAykDKgMrAywDLQMuAy8DMAMxAzIDMwM0AzUDNgM3AzgDOQM6AzsDPAM9Az4DPwNAA0EDQgNDA0QDRQNGA0cDSANJA0oDSwNMA00DTgNPA1ADUQNSA1MDVANVA1YDVwNYA1kDWgNbA1wDXQNeA18DYANhA2IDYwNkA2UDZgNnA2gDaQNqA2sDbANtA24DbwNwA3EDcgNzA3QDdQN2A3cDeAN5A3oDewN8A30DfgN/A4ADgQOCA4MDhAOFA4YDhwOIA4kDigOLA4wDjQOOA48DkAORA5IDkwOUA5UDlgOXA5gDmQOaA5sDnAOdA54DnwOgA6EDogOjA6QDpQOmA6cDqAOpA6oDqwOsA60DrgOvA7ADsQOyA7MDtAO1A7YDtwO4A7kDugO7A7wDvQO+A78DwAPBA8IDwwPEA8UDxgPHA8gDyQPKA8sDzAPNA84DzwPQA9ED0gPTA9QD1QPWA9cD2APZA9oD2wPcA90D3gPfA+AD4QPiA+MD5APlA+YD5wPoA+kD6gPrA+wD7QPuA+8D8APxA/ID8wP0A/UD9gP3A/gD+QP6A/sD/AP9A/4D/wQABAEEAgQDBAQEBQQGBAcECAQJBAoECwQMBA0EDgQPBBAEEQQSBBMEFAQVBBYEFwQYBBkEGgQbBBwEHQQeBB8EIAQhAPcEIgQjAAQHdW5pMDAwOQZtYWNyb24OcGVyaW9kY2VudGVyZWQESGJhcgxrZ3JlZW5sYW5kaWMDRW5nA2VuZwVsb25ncwVPaG9ybgVvaG9ybgVVaG9ybgV1aG9ybgd1bmkwMjM3BXNjaHdhB3VuaTAyRjMJZ3JhdmVjb21iCWFjdXRlY29tYgl0aWxkZWNvbWIEaG9vawd1bmkwMzBGCGRvdGJlbG93BXRvbm9zDWRpZXJlc2lzdG9ub3MJYW5vdGVsZWlhBUdhbW1hBURlbHRhBVRoZXRhBkxhbWJkYQJYaQJQaQVTaWdtYQNQaGkDUHNpBWFscGhhBGJldGEFZ2FtbWEFZGVsdGEHZXBzaWxvbgR6ZXRhA2V0YQV0aGV0YQRpb3RhBmxhbWJkYQJ4aQNyaG8Gc2lnbWExBXNpZ21hA3RhdQd1cHNpbG9uA3BoaQNwc2kFb21lZ2EHdW5pMDNEMQd1bmkwM0QyB3VuaTAzRDYHdW5pMDQwMgd1bmkwNDA0B3VuaTA0MDkHdW5pMDQwQQd1bmkwNDBCB3VuaTA0MEYHdW5pMDQxMQd1bmkwNDE0B3VuaTA0MTYHdW5pMDQxNwd1bmkwNDE4B3VuaTA0MUIHdW5pMDQyMwd1bmkwNDI0B3VuaTA0MjYHdW5pMDQyNwd1bmkwNDI4B3VuaTA0MjkHdW5pMDQyQQd1bmkwNDJCB3VuaTA0MkMHdW5pMDQyRAd1bmkwNDJFB3VuaTA0MkYHdW5pMDQzMQd1bmkwNDMyB3VuaTA0MzMHdW5pMDQzNAd1bmkwNDM2B3VuaTA0MzcHdW5pMDQzOAd1bmkwNDNBB3VuaTA0M0IHdW5pMDQzQwd1bmkwNDNEB3VuaTA0M0YHdW5pMDQ0Mgd1bmkwNDQ0B3VuaTA0NDYHdW5pMDQ0Nwd1bmkwNDQ4B3VuaTA0NDkHdW5pMDQ0QQd1bmkwNDRCB3VuaTA0NEMHdW5pMDQ0RAd1bmkwNDRFB3VuaTA0NEYHdW5pMDQ1Mgd1bmkwNDU0B3VuaTA0NTkHdW5pMDQ1QQd1bmkwNDVCB3VuaTA0NUYHdW5pMDQ2MAd1bmkwNDYxB3VuaTA0NjMHdW5pMDQ2NAd1bmkwNDY1B3VuaTA0NjYHdW5pMDQ2Nwd1bmkwNDY4B3VuaTA0NjkHdW5pMDQ2QQd1bmkwNDZCB3VuaTA0NkMHdW5pMDQ2RAd1bmkwNDZFB3VuaTA0NkYHdW5pMDQ3Mgd1bmkwNDczB3VuaTA0NzQHdW5pMDQ3NQd1bmkwNDdBB3VuaTA0N0IHdW5pMDQ3Qwd1bmkwNDdEB3VuaTA0N0UHdW5pMDQ3Rgd1bmkwNDgwB3VuaTA0ODEHdW5pMDQ4Mgd1bmkwNDgzB3VuaTA0ODQHdW5pMDQ4NQd1bmkwNDg2B3VuaTA0ODgHdW5pMDQ4OQd1bmkwNDhEB3VuaTA0OEUHdW5pMDQ4Rgd1bmkwNDkwB3VuaTA0OTEHdW5pMDQ5NAd1bmkwNDk1B3VuaTA0OUMHdW5pMDQ5RAd1bmkwNEEwB3VuaTA0QTEHdW5pMDRBNAd1bmkwNEE1B3VuaTA0QTYHdW5pMDRBNwd1bmkwNEE4B3VuaTA0QTkHdW5pMDRCNAd1bmkwNEI1B3VuaTA0QjgHdW5pMDRCOQd1bmkwNEJBB3VuaTA0QkMHdW5pMDRCRAd1bmkwNEMzB3VuaTA0QzQHdW5pMDRDNwd1bmkwNEM4B3VuaTA0RDgHdW5pMDRFMAd1bmkwNEUxB3VuaTA0RkEHdW5pMDRGQgd1bmkwNTAwB3VuaTA1MDIHdW5pMDUwMwd1bmkwNTA0B3VuaTA1MDUHdW5pMDUwNgd1bmkwNTA3B3VuaTA1MDgHdW5pMDUwOQd1bmkwNTBBB3VuaTA1MEIHdW5pMDUwQwd1bmkwNTBEB3VuaTA1MEUHdW5pMDUwRgd1bmkwNTEwB3VuaTIwMDAHdW5pMjAwMQd1bmkyMDAyB3VuaTIwMDMHdW5pMjAwNAd1bmkyMDA1B3VuaTIwMDYHdW5pMjAwNwd1bmkyMDA4B3VuaTIwMDkHdW5pMjAwQQd1bmkyMDBCDXVuZGVyc2NvcmVkYmwNcXVvdGVyZXZlcnNlZAd1bmkyMDI1B3VuaTIwNzQJbnN1cGVyaW9yBGxpcmEGcGVzZXRhBEV1cm8HdW5pMjEwNQd1bmkyMTEzB3VuaTIxMTYJZXN0aW1hdGVkCW9uZWVpZ2h0aAx0aHJlZWVpZ2h0aHMLZml2ZWVpZ2h0aHMMc2V2ZW5laWdodGhzCmNvbG9uLmxudW0JcXVvdGVkYmx4C2NvbW1hYWNjZW50B3VuaUZFRkYHdW5pRkZGQwd1bmlGRkZECWZpdmUuc21jcAhmb3VyLnN1cAl6ZXJvLmxudW0ObGFyZ2VyaWdodGhvb2sMY3lyaWxsaWNob29rEGN5cmlsbGljaG9va2xlZnQLY3lyaWxsaWN0aWMOYnJldmV0aWxkZWNvbWINYnJldmVob29rY29tYg5icmV2ZWFjdXRlY29tYhNjaXJjdW1mbGV4dGlsZGVjb21iEmNpcmN1bWZsZXhob29rY29tYhNjaXJjdW1mbGV4Z3JhdmVjb21iE2NpcmN1bWZsZXhhY3V0ZWNvbWIOYnJldmVncmF2ZWNvbWIRY29tbWFhY2NlbnRyb3RhdGUGQS5zbWNwBkIuc21jcAZDLnNtY3AGRC5zbWNwBkUuc21jcAZGLnNtY3AGRy5zbWNwBkguc21jcAZJLnNtY3AGSi5zbWNwBksuc21jcAZMLnNtY3AGTS5zbWNwBk4uc21jcAZPLnNtY3AGUS5zbWNwBlIuc21jcAZTLnNtY3AGVC5zbWNwBlUuc21jcAZWLnNtY3AGVy5zbWNwBlguc21jcAZZLnNtY3AGWi5zbWNwCXplcm8uc21jcAhvbmUuc21jcAh0d28uc21jcAp0aHJlZS5zbWNwCWZvdXIuc21jcAh0d28ubG51bQhzaXguc21jcApzZXZlbi5zbWNwCmVpZ2h0LnNtY3AJbmluZS5zbWNwB29uZS5zdXAHdHdvLnN1cAl0aHJlZS5zdXAIb25lLmxudW0IZml2ZS5zdXAHc2l4LnN1cAlzZXZlbi5zdXAJZWlnaHQuc3VwCG5pbmUuc3VwCHplcm8uc3VwCGNyb3NzYmFyCXJpbmdhY3V0ZQlkYXNpYW94aWEKdGhyZWUubG51bQlmb3VyLmxudW0JZml2ZS5sbnVtCHNpeC5sbnVtBWcuYWx0CnNldmVuLmxudW0HY2hpLmFsdAplaWdodC5sbnVtCWFscGhhLmFsdAlkZWx0YS5hbHQERC5jbgRhLmNuBVIuYWx0BUsuYWx0BWsuYWx0BksuYWx0MgZrLmFsdDIJbmluZS5sbnVtBlAuc21jcA1jeXJpbGxpY2JyZXZlB3VuaTAwQUQGRGNyb2F0BGhiYXIEVGJhcgR0YmFyCkFyaW5nYWN1dGUKYXJpbmdhY3V0ZQdBbWFjcm9uB2FtYWNyb24GQWJyZXZlBmFicmV2ZQdBb2dvbmVrB2FvZ29uZWsLQ2NpcmN1bWZsZXgLY2NpcmN1bWZsZXgHdW5pMDEwQQd1bmkwMTBCBkRjYXJvbgZkY2Fyb24HRW1hY3JvbgdlbWFjcm9uBkVicmV2ZQZlYnJldmUKRWRvdGFjY2VudAplZG90YWNjZW50B0VvZ29uZWsHZW9nb25lawZFY2Fyb24GZWNhcm9uC0djaXJjdW1mbGV4C2djaXJjdW1mbGV4B3VuaTAxMjAHdW5pMDEyMQxHY29tbWFhY2NlbnQMZ2NvbW1hYWNjZW50C0hjaXJjdW1mbGV4C2hjaXJjdW1mbGV4Bkl0aWxkZQZpdGlsZGUHSW1hY3JvbgdpbWFjcm9uBklicmV2ZQZpYnJldmUHSW9nb25lawdpb2dvbmVrCklkb3RhY2NlbnQCSUoCaWoLSmNpcmN1bWZsZXgLamNpcmN1bWZsZXgMS2NvbW1hYWNjZW50DGtjb21tYWFjY2VudAZMYWN1dGUGbGFjdXRlDExjb21tYWFjY2VudAxsY29tbWFhY2NlbnQGTGNhcm9uBmxjYXJvbgRMZG90BGxkb3QGTmFjdXRlBm5hY3V0ZQxOY29tbWFhY2NlbnQMbmNvbW1hYWNjZW50Bk5jYXJvbgZuY2Fyb24LbmFwb3N0cm9waGUHT21hY3JvbgdvbWFjcm9uBk9icmV2ZQZvYnJldmUNT2h1bmdhcnVtbGF1dA1vaHVuZ2FydW1sYXV0BlJhY3V0ZQZyYWN1dGUMUmNvbW1hYWNjZW50DHJjb21tYWFjY2VudAZSY2Fyb24GcmNhcm9uBlNhY3V0ZQZzYWN1dGULU2NpcmN1bWZsZXgLc2NpcmN1bWZsZXgHdW5pMDIxOAd1bmkwMjE5B3VuaTAyMUEHdW5pMDIxQgd1bmkwMTYyB3VuaTAxNjMGVGNhcm9uBnRjYXJvbgZVdGlsZGUGdXRpbGRlB1VtYWNyb24HdW1hY3JvbgZVYnJldmUGdWJyZXZlBVVyaW5nBXVyaW5nDVVodW5nYXJ1bWxhdXQNdWh1bmdhcnVtbGF1dAdVb2dvbmVrB3VvZ29uZWsLV2NpcmN1bWZsZXgLd2NpcmN1bWZsZXgLWWNpcmN1bWZsZXgLeWNpcmN1bWZsZXgGWmFjdXRlBnphY3V0ZQpaZG90YWNjZW50Cnpkb3RhY2NlbnQHQUVhY3V0ZQdhZWFjdXRlC09zbGFzaGFjdXRlC29zbGFzaGFjdXRlC0Rjcm9hdC5zbWNwCEV0aC5zbWNwCVRiYXIuc21jcAtBZ3JhdmUuc21jcAtBYWN1dGUuc21jcBBBY2lyY3VtZmxleC5zbWNwC0F0aWxkZS5zbWNwDkFkaWVyZXNpcy5zbWNwCkFyaW5nLnNtY3APQXJpbmdhY3V0ZS5zbWNwDUNjZWRpbGxhLnNtY3ALRWdyYXZlLnNtY3ALRWFjdXRlLnNtY3AQRWNpcmN1bWZsZXguc21jcA5FZGllcmVzaXMuc21jcAtJZ3JhdmUuc21jcAtJYWN1dGUuc21jcBBJY2lyY3VtZmxleC5zbWNwDklkaWVyZXNpcy5zbWNwC050aWxkZS5zbWNwC09ncmF2ZS5zbWNwC09hY3V0ZS5zbWNwEE9jaXJjdW1mbGV4LnNtY3ALT3RpbGRlLnNtY3AOT2RpZXJlc2lzLnNtY3ALVWdyYXZlLnNtY3ALVWFjdXRlLnNtY3AQVWNpcmN1bWZsZXguc21jcA5VZGllcmVzaXMuc21jcAtZYWN1dGUuc21jcAxBbWFjcm9uLnNtY3ALQWJyZXZlLnNtY3AMQW9nb25lay5zbWNwC0NhY3V0ZS5zbWNwEENjaXJjdW1mbGV4LnNtY3AMdW5pMDEwQS5zbWNwC0NjYXJvbi5zbWNwC0RjYXJvbi5zbWNwDEVtYWNyb24uc21jcAtFYnJldmUuc21jcA9FZG90YWNjZW50LnNtY3AMRW9nb25lay5zbWNwC0VjYXJvbi5zbWNwEEdjaXJjdW1mbGV4LnNtY3ALR2JyZXZlLnNtY3AMdW5pMDEyMC5zbWNwEUdjb21tYWFjY2VudC5zbWNwEEhjaXJjdW1mbGV4LnNtY3ALSXRpbGRlLnNtY3AMSW1hY3Jvbi5zbWNwC0licmV2ZS5zbWNwDElvZ29uZWsuc21jcA9JZG90YWNjZW50LnNtY3AQSmNpcmN1bWZsZXguc21jcBFLY29tbWFhY2NlbnQuc21jcAtMYWN1dGUuc21jcBFMY29tbWFhY2NlbnQuc21jcAtMY2Fyb24uc21jcAlMZG90LnNtY3ALTmFjdXRlLnNtY3ARTmNvbW1hYWNjZW50LnNtY3ALTmNhcm9uLnNtY3AMT21hY3Jvbi5zbWNwC09icmV2ZS5zbWNwEk9odW5nYXJ1bWxhdXQuc21jcAtSYWN1dGUuc21jcBFSY29tbWFhY2NlbnQuc21jcAtSY2Fyb24uc21jcAtTYWN1dGUuc21jcBBTY2lyY3VtZmxleC5zbWNwDVNjZWRpbGxhLnNtY3ALU2Nhcm9uLnNtY3ARVGNvbW1hYWNjZW50LnNtY3ALVGNhcm9uLnNtY3ALVXRpbGRlLnNtY3AMVW1hY3Jvbi5zbWNwC1VicmV2ZS5zbWNwClVyaW5nLnNtY3ASVWh1bmdhcnVtbGF1dC5zbWNwDFVvZ29uZWsuc21jcBBXY2lyY3VtZmxleC5zbWNwEFljaXJjdW1mbGV4LnNtY3AOWWRpZXJlc2lzLnNtY3ALWmFjdXRlLnNtY3APWmRvdGFjY2VudC5zbWNwC1pjYXJvbi5zbWNwD2dlcm1hbmRibHMuc21jcApBbHBoYXRvbm9zDEVwc2lsb250b25vcwhFdGF0b25vcwlJb3RhdG9ub3MMT21pY3JvbnRvbm9zDFVwc2lsb250b25vcwpPbWVnYXRvbm9zEWlvdGFkaWVyZXNpc3Rvbm9zBUFscGhhBEJldGEHRXBzaWxvbgRaZXRhA0V0YQRJb3RhBUthcHBhAk11Ak51B09taWNyb24DUmhvA1RhdQdVcHNpbG9uA0NoaQxJb3RhZGllcmVzaXMPVXBzaWxvbmRpZXJlc2lzCmFscGhhdG9ub3MMZXBzaWxvbnRvbm9zCGV0YXRvbm9zCWlvdGF0b25vcxR1cHNpbG9uZGllcmVzaXN0b25vcwVrYXBwYQdvbWljcm9uB3VuaTAzQkMCbnUDY2hpDGlvdGFkaWVyZXNpcw91cHNpbG9uZGllcmVzaXMMb21pY3JvbnRvbm9zDHVwc2lsb250b25vcwpvbWVnYXRvbm9zB3VuaTA0MDEHdW5pMDQwMwd1bmkwNDA1B3VuaTA0MDYHdW5pMDQwNwd1bmkwNDA4B3VuaTA0MUEHdW5pMDQwQwd1bmkwNDBFB3VuaTA0MTAHdW5pMDQxMgd1bmkwNDEzB3VuaTA0MTUHdW5pMDQxOQd1bmkwNDFDB3VuaTA0MUQHdW5pMDQxRQd1bmkwNDFGB3VuaTA0MjAHdW5pMDQyMQd1bmkwNDIyB3VuaTA0MjUHdW5pMDQzMAd1bmkwNDM1B3VuaTA0MzkHdW5pMDQzRQd1bmkwNDQwB3VuaTA0NDEHdW5pMDQ0Mwd1bmkwNDQ1B3VuaTA0NTEHdW5pMDQ1Mwd1bmkwNDU1B3VuaTA0NTYHdW5pMDQ1Nwd1bmkwNDU4B3VuaTA0NUMHdW5pMDQ1RQZXZ3JhdmUGd2dyYXZlBldhY3V0ZQZ3YWN1dGUJV2RpZXJlc2lzCXdkaWVyZXNpcwZZZ3JhdmUGeWdyYXZlBm1pbnV0ZQZzZWNvbmQJZXhjbGFtZGJsB3VuaUZCMDIHdW5pMDFGMAd1bmkwMkJDB3VuaTFFM0UHdW5pMUUzRgd1bmkxRTAwB3VuaTFFMDEHdW5pMUY0RAd1bmlGQjAzB3VuaUZCMDQHdW5pMDQwMAd1bmkwNDBEB3VuaTA0NTAHdW5pMDQ1RAd1bmkwNDcwB3VuaTA0NzEHdW5pMDQ3Ngd1bmkwNDc3B3VuaTA0NzkHdW5pMDQ3OAd1bmkwNDk4B3VuaTA0OTkHdW5pMDRBQQd1bmkwNEFCB3VuaTA0QUUHdW5pMDRBRgd1bmkwNEMwB3VuaTA0QzEHdW5pMDRDMgd1bmkwNENGB3VuaTA0RDAHdW5pMDREMQd1bmkwNEQyB3VuaTA0RDMHdW5pMDRENAd1bmkwNEQ1B3VuaTA0RDYHdW5pMDRENwd1bmkwNERBB3VuaTA0RDkHdW5pMDREQgd1bmkwNERDB3VuaTA0REQHdW5pMDRERQd1bmkwNERGB3VuaTA0RTIHdW5pMDRFMwd1bmkwNEU0B3VuaTA0RTUHdW5pMDRFNgd1bmkwNEU3B3VuaTA0RTgHdW5pMDRFOQd1bmkwNEVBB3VuaTA0RUIHdW5pMDRFQwd1bmkwNEVEB3VuaTA0RUUHdW5pMDRFRgd1bmkwNEYwB3VuaTA0RjEHdW5pMDRGMgd1bmkwNEYzB3VuaTA0RjQHdW5pMDRGNQd1bmkwNEY4B3VuaTA0RjkHdW5pMDRGQwd1bmkwNEZEB3VuaTA1MDEHdW5pMDUxMgd1bmkwNTEzB3VuaTFFQTAHdW5pMUVBMQd1bmkxRUEyB3VuaTFFQTMHdW5pMUVBNAd1bmkxRUE1B3VuaTFFQTYHdW5pMUVBNwd1bmkxRUE4B3VuaTFFQTkHdW5pMUVBQQd1bmkxRUFCB3VuaTFFQUMHdW5pMUVBRAd1bmkxRUFFB3VuaTFFQUYHdW5pMUVCMAd1bmkxRUIxB3VuaTFFQjIHdW5pMUVCMwd1bmkxRUI0B3VuaTFFQjUHdW5pMUVCNgd1bmkxRUI3B3VuaTFFQjgHdW5pMUVCOQd1bmkxRUJBB3VuaTFFQkIHdW5pMUVCQwd1bmkxRUJEB3VuaTFFQkUHdW5pMUVCRgd1bmkxRUMwB3VuaTFFQzEHdW5pMUVDMgd1bmkxRUMzB3VuaTFFQzQHdW5pMUVDNQd1bmkxRUM2B3VuaTFFQzcHdW5pMUVDOAd1bmkxRUM5B3VuaTFFQ0EHdW5pMUVDQgd1bmkxRUNDB3VuaTFFQ0QHdW5pMUVDRQd1bmkxRUNGB3VuaTFFRDAHdW5pMUVEMQd1bmkxRUQyB3VuaTFFRDMHdW5pMUVENAd1bmkxRUQ1B3VuaTFFRDYHdW5pMUVENwd1bmkxRUQ4B3VuaTFFRDkHdW5pMUVEQQd1bmkxRURCB3VuaTFFREMHdW5pMUVERAd1bmkxRURFB3VuaTFFREYHdW5pMUVFMAd1bmkxRUUxB3VuaTFFRTIHdW5pMUVFMwd1bmkxRUU0B3VuaTFFRTUHdW5pMUVFNgd1bmkxRUU3B3VuaTFFRTgHdW5pMUVFOQd1bmkxRUVBB3VuaTFFRUIHdW5pMUVFQwd1bmkxRUVEB3VuaTFFRUUHdW5pMUVFRgd1bmkx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AAwA4f/UAPH/yQD5/9EBBP/lARv/4wEv/8QBOP/hAUn/1AFK//UBS//nAVP/ZAFU/8kACgDh/8EA8f/NAPn/0gEv/8wBOP/lATv/3wFJ/84BS//qAVP/ngFU/84ACgDh/8IA8f/GAPn/zwEv/8ABOP/hATv/3wFJ/80BS//oAVP/nwFU/8YACQDh/8kA8f/fAPn/4QEE/+0BG//rAS//3wE7/+kBSv/1AVT/4AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACQDh/+YA8f/QAPn/1gEv/84BOP/oAUn/5wFL/+0BU//mAVT/0AALANQAFADh/+AA6AATATj/4QE5/+ABPP/hAUH/6QFJ/98BS//eAVP/3wFV//IAGACz/9QAvf/tAL8AEQDF/+AAx//nAMj/5QDJ/+4A1AASAOX/6QDx/9cBL//XATn/0wE7/9YBPP/FAUH/5wFJAA0BSwAMAVT/1gFV//IBqP/pAaz/5wG0/+cBtf/pAd//8AAFABn/8gDh//EBSf/yAUv/8gFT//IACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AASANT/rgDhABIA5v/gAOj/rQDq/9YA+P/fAPz/0gEC/+ABF//OASf/3QEp/+IBLf/gATP/4AE5/+kBPP/aAUb/vQFQ/98BUwARAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QADQDUABMA4f/mAOL/9ADoABIA8f/nAPn/5wEv/+cBOP/lATn/6AFJ/+YBS//mAVP/5gFU/+cACgDh/8QA8f/NAPn/1QEv/8wBOP/mATv/3wFJ/9EBS//sAVP/oQFU/88ACgDh/8MA8f/PAPn/1AEv/84BOP/nATv/3wFJ/9EBS//sAVP/oAFU/9EAAgDU/+IBU//kAAIA1P/hAOj/5AAHAOj/7gDx/+4A+f/vAQT/9AEb//EBL//vAVT/7wAFAPH/9AD5//QBBP/1AS//9QFU//UAAgDo/2gBF//uAAcA6AAUAPH/7QD3/9AA+f/uAS//7QE5/+0BVP/tAAEBF//xAAUBF//rAaj/6wGs/+kBtP/rAbX/6wAT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//AACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGm/+0BvP/1AAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAab/7QG8//UACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABpv/tAbz/9QAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGm/+0BvP/1AAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAab/7QG8//UAAQGm/+sAAQGm/+sAAQGm/+sAAQGm/+sAJAAI/+IACwAUAAz/zwA/ABIASP/qAFT/2ABW/+oAXwATAGv/rgB6/80Af/+gAIT/wQCH/8AAs//QALf/6gC6/8YAuwANAL3/6QC+/9YAwf/oAML/ugDF/+kAx//LAMj/2gDJ/8cBbv/TAab/qwGo/80BrP/LAbT/ywG1/8sBuP/zAbv/8wG8/+8B3P/AAd//7gAIAPH/8AD5//ABBP/xARv/8wEv//EBSv/zAUz/8wFU//EACADx//AA+f/wAQT/8QEb//MBL//xAUr/8wFM//MBVP/xAAgA8f/wAPn/8AEE//EBG//zAS//8QFK//MBTP/zAVT/8QAIAPH/8AD5//ABBP/xARv/8wEv//EBSv/zAUz/8wFU//EACADx//AA+f/wAQT/8QEb//MBL//xAUr/8wFM//MBVP/xAAgA8f/wAPn/8AEE//EBG//zAS//8QFK//MBTP/zAVT/8QAIAPH/8AD5//ABBP/xARv/8wEv//EBSv/zAUz/8wFU//EAAQDx//UAAQDx//UAAQDx//UAAQDx//UAAQDx/9YACQDF/+oA6P+4APH/4gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAMX/6gDo/7gA8f/iAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAkAxf/qAOj/uADx/+IBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oACQDF/+oA6P+4APH/4gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAMX/6gDo/7gA8f/iAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAcASAANAMEACwDC/+oAxQAMAOj/yAEX//EB3//1AAcASAANAMEACwDC/+oAxQAMAOj/yAEX//EB3//1AB0AIf+vAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygD5/9ABL/+BATj/ZQE5/4UBO/9mATz/3QFB//IBSf+xAUv/ygFT/6kBVP/IAaz/9QG0//UBuP/HAbn/8QG6/80Bu//dAb3/xAAIAPH/8AD5//ABBP/xARv/8wEv//EBSv/zAUz/8wFU//EAHQAh/68AVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAPn/0AEv/4EBOP9lATn/hQE7/2YBPP/dAUH/8gFJ/7EBS//KAVP/qQFU/8gBrP/1AbT/9QG4/8cBuf/xAbr/zQG7/90Bvf/EAAgA8f/wAPn/8AEE//EBG//zAS//8QFK//MBTP/zAVT/8QAdACH/rwBW/+8AWf/fAJb/7gCz/+UAtP/RAL8AEQDF/8gA1AATAOH/xQDx/8oA+f/QAS//gQE4/2UBOf+FATv/ZgE8/90BQf/yAUn/sQFL/8oBU/+pAVT/yAGs//UBtP/1Abj/xwG5//EBuv/NAbv/3QG9/8QACADx//AA+f/wAQT/8QEb//MBL//xAUr/8wFM//MBVP/xAAQAC//mAD//9ABf/+8BPP/tAAQAC//mAD//9ABf/+8BPP/tAAQAC//mAD//9ABf/+8BPP/tAAQAC//mAD//9ABf/+8BPP/tAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAab/7QG8//UABQBI/+4AWf/qAbr/8AG7/+0Bvf/wAAEA8f/1AAUASP/uAFn/6gG6//ABu//tAb3/8AABAPH/9QAFAEj/7gBZ/+oBuv/wAbv/7QG9//AAAQDx//UABQBI/+4AWf/qAbr/8AG7/+0Bvf/wAAEA8f/1AAUASP/uAFn/6gG6//ABu//tAb3/8AABAPH/9QAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QAAQDx/9YACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AABAab/6wAUAFn/wQCz/8UAxf+0AOX/1wDx/7kA+f/pAQT/sgEX/9IBG//IAS//oAE5/8UBQf/kAUr/zAFM/8wBVP/LAVX/7wGo/+gBrP/mAbT/5wG1/+cACwBZ/8wBpgATAaj/8wGs//EBtP/yAbX/8gG4/70Buf/uAbr/uAG7/9cBvf+3AAsAWf/MAaYAEwGo//MBrP/xAbT/8gG1//IBuP+9Abn/7gG6/7gBu//XAb3/twALAFn/zAGmABMBqP/zAaz/8QG0//IBtf/yAbj/vQG5/+4Buv+4Abv/1wG9/7cACwBZ/8wBpgATAaj/8wGs//EBtP/yAbX/8gG4/70Buf/uAbr/uAG7/9cBvf+3AAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AABAPH/1gAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QAAQDx/9YACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAEA8f/WAAEA8f/WAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAab/7QG8//UACQDF/+oA6P+4APH/4gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGm/+0BvP/1AAkAxf/qAOj/uADx/+IBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABpv/tAbz/9QAJAMX/6gDo/7gA8f/iAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAMASAAUAFYAGABZABEAAwBIABQAVgAYAFkAEQADAEgAFABWABgAWQARADsAVP+/AFn/0QBr/2wAev9uAH//QwCE/6wAh/+hALP/uAC6/34Avv97AMH/mwDC/3kAxf+yAMf/fgDI/30Ayf98ANT/rwDhAA8A5f/kAOb/oADo/3QA6v+AAPH/sgD4/30A+f+yAPr/gAD8/3kA/QAoAQL/fQEE/38BF/9mARv/2gEn/4EBKf+YAS3/fQEv/7MBM/+gATn/fAE7/5oBPP9sAUH/5gFG/2sBSv+SAUz/rQFQ/3sBUwAPAVT/kQFV//IBpv+vAaj/uQGs/7kBtP+5AbX/uQG3/7wBuP/xAbv/8QG8/+0B3P+zAd//8QA7AFT/vwBZ/9EAa/9sAHr/bgB//0MAhP+sAIf/oQCz/7gAuv9+AL7/ewDB/5sAwv95AMX/sgDH/34AyP99AMn/fADU/68A4QAPAOX/5ADm/6AA6P90AOr/gADx/7IA+P99APn/sgD6/4AA/P95AP0AKAEC/30BBP9/ARf/ZgEb/9oBJ/+BASn/mAEt/30BL/+zATP/oAE5/3wBO/+aATz/bAFB/+YBRv9rAUr/kgFM/60BUP97AVMADwFU/5EBVf/yAab/rwGo/7kBrP+5AbT/uQG1/7kBt/+8Abj/8QG7//EBvP/tAdz/swHf//EAOwBU/78AWf/RAGv/bAB6/24Af/9DAIT/rACH/6EAs/+4ALr/fgC+/3sAwf+bAML/eQDF/7IAx/9+AMj/fQDJ/3wA1P+vAOEADwDl/+QA5v+gAOj/dADq/4AA8f+yAPj/fQD5/7IA+v+AAPz/eQD9ACgBAv99AQT/fwEX/2YBG//aASf/gQEp/5gBLf99AS//swEz/6ABOf98ATv/mgE8/2wBQf/mAUb/awFK/5IBTP+tAVD/ewFTAA8BVP+RAVX/8gGm/68BqP+5Aaz/uQG0/7kBtf+5Abf/vAG4//EBu//xAbz/7QHc/7MB3//xAAEBpv/rAAEBpv/rAAEBpv/rAAEBpv/rAAEBpv/rAAEBpv/rAAkACwAPAD8ADABU/+sAXwAOAab/ywGo/+kBrP/nAbT/5wG1/+cAJAAI/+IACwAUAAz/zwA/ABIASP/qAFT/2ABW/+oAXwATAGv/rgB6/80Af/+gAIT/wQCH/8AAs//QALf/6gC6/8YAuwANAL3/6QC+/9YAwf/oAML/ugDF/+kAx//LAMj/2gDJ/8cBbv/TAab/qwGo/80BrP/LAbT/ywG1/8sBuP/zAbv/8wG8/+8B3P/AAd//7gAHAEgADQDBAAsAwv/qAMUADADo/8gBF//xAd//9QAkAAj/4gALABQADP/PAD8AEgBI/+oAVP/YAFb/6gBfABMAa/+uAHr/zQB//6AAhP/BAIf/wACz/9AAt//qALr/xgC7AA0Avf/pAL7/1gDB/+gAwv+6AMX/6QDH/8sAyP/aAMn/xwFu/9MBpv+rAaj/zQGs/8sBtP/LAbX/ywG4//MBu//zAbz/7wHc/8AB3//uAAgAWf/lALP/ywDI/+QBpgANAaj/7QGs/+sBtP/sAbX/7AAIAFn/5QCz/8sAyP/kAaYADQGo/+0BrP/rAbT/7AG1/+wACABZ/+UAs//LAMj/5AGmAA0BqP/tAaz/6wG0/+wBtf/sAB0AIf+vAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygD5/9ABL/+BATj/ZQE5/4UBO/9mATz/3QFB//IBSf+xAUv/ygFT/6kBVP/IAaz/9QG0//UBuP/HAbn/8QG6/80Bu//dAb3/xAAFAEj/7gBZ/+oBuv/wAbv/7QG9//AACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGm/+0BvP/1ACQACP/iAAsAFAAM/88APwASAEj/6gBU/9gAVv/qAF8AEwBr/64Aev/NAH//oACE/8EAh//AALP/0AC3/+oAuv/GALsADQC9/+kAvv/WAMH/6ADC/7oAxf/pAMf/ywDI/9oAyf/HAW7/0wGm/6sBqP/NAaz/ywG0/8sBtf/LAbj/8wG7//MBvP/vAdz/wAHf/+4AHQAh/68AVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAPn/0AEv/4EBOP9lATn/hQE7/2YBPP/dAUH/8gFJ/7EBS//KAVP/qQFU/8gBrP/1AbT/9QG4/8cBuf/xAbr/zQG7/90Bvf/EAAIBDAALAVP/5gAFAEj/7gBZ/+oBuv/wAbv/7QG9//AACABZ/+UAs//LAMj/5AGmAA0BqP/tAaz/6wG0/+wBtf/sAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QAFABZ/8EAs//FAMX/tADl/9cA8f+5APn/6QEE/7IBF//SARv/yAEv/6ABOf/FAUH/5AFK/8wBTP/MAVT/ywFV/+8BqP/oAaz/5gG0/+cBtf/nAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABpv/tAbz/9QAJAFYADgB//tcAv/+YAML/xwDU/xIA6P9SAUb/zwGm/4AB3//XADsAVP+/AFn/0QBr/2wAev9uAH//QwCE/6wAh/+hALP/uAC6/34Avv97AMH/mwDC/3kAxf+yAMf/fgDI/30Ayf98ANT/rwDhAA8A5f/kAOb/oADo/3QA6v+AAPH/sgD4/30A+f+yAPr/gAD8/3kA/QAoAQL/fQEE/38BF/9mARv/2gEn/4EBKf+YAS3/fQEv/7MBM/+gATn/fAE7/5oBPP9sAUH/5gFG/2sBSv+SAUz/rQFQ/3sBUwAPAVT/kQFV//IBpv+vAaj/uQGs/7kBtP+5AbX/uQG3/7wBuP/xAbv/8QG8/+0B3P+zAd//8QAkAAj/4gALABQADP/PAD8AEgBI/+oAVP/YAFb/6gBfABMAa/+uAHr/zQB//6AAhP/BAIf/wACz/9AAt//qALr/xgC7AA0Avf/pAL7/1gDB/+gAwv+6AMX/6QDH/8sAyP/aAMn/xwFu/9MBpv+rAaj/zQGs/8sBtP/LAbX/ywG4//MBu//zAbz/7wHc/8AB3//uABgAs//UAL3/7QC/ABEAxf/gAMf/5wDI/+UAyf/uANQAEgDl/+kA8f/XAS//1wE5/9MBO//WATz/xQFB/+cBSQANAUsADAFU/9YBVf/yAaj/6QGs/+cBtP/nAbX/6QHf//AACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kACQACP/iAAsAFAAM/88APwASAEj/6gBU/9gAVv/qAF8AEwBr/64Aev/NAH//oACE/8EAh//AALP/0AC3/+oAuv/GALsADQC9/+kAvv/WAMH/6ADC/7oAxf/pAMf/ywDI/9oAyf/HAW7/0wGm/6sBqP/NAaz/ywG0/8sBtf/LAbj/8wG7//MBvP/vAdz/wAHf/+4AAQDx/9YACQDF/+oA6P+4APH/4gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAHAEgADQDBAAsAwv/qAMUADADo/8gBF//xAd//9QAJAMX/6gDo/7gA8f/iAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAUASP/uAFn/6gG6//ABu//tAb3/8AAyAFT/fgBZ/50Aa/7xAHr+9AB//qsAhP9eAIf/SwCz/3IAuv8PAL7/CgDB/0EAwv8HAMX/aADH/w8AyP8OAMn/DADU/2MA4QAFAOX/vQDm/0kA6P7+AOr/EwDx/2gA+P8OAPn/aAD6/xMA/P8HAP0AMAEC/w4BBP8RARf+5wEb/6wBJ/8VASn/PAEt/w4BL/9qATP/SQE5/wwBO/8/ATz+8QFB/8ABRv7vAUr/MQFM/18BUP8KAVMABQFU/zABVf/VAdz/agHf/9MACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AABAab/6wAUAFn/wQCz/8UAxf+0AOX/1wDx/7kA+f/pAQT/sgEX/9IBG//IAS//oAE5/8UBQf/kAUr/zAFM/8wBVP/LAVX/7wGo/+gBrP/mAbT/5wG1/+cAFABZ/8EAs//FAMX/tADl/9cA8f+5APn/6QEE/7IBF//SARv/yAEv/6ABOf/FAUH/5AFK/8wBTP/MAVT/ywFV/+8BqP/oAaz/5gG0/+cBtf/nABIA1P+uAOEAEgDm/+AA6P+tAOr/1gD4/98A/P/SAQL/4AEX/84BJ//dASn/4gEt/+ABM//gATn/6QE8/9oBRv+9AVD/3wFTABEAHQAh/68AVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAPn/0AEv/4EBOP9lATn/hQE7/2YBPP/dAUH/8gFJ/7EBS//KAVP/qQFU/8gBrP/1AbT/9QG4/8cBuf/xAbr/zQG7/90Bvf/EAAIBDAALAVP/5gAyAFT/fgBZ/50Aa/7xAHr+9AB//qsAhP9eAIf/SwCz/3IAuv8PAL7/CgDB/0EAwv8HAMX/aADH/w8AyP8OAMn/DADU/2MA4QAFAOX/vQDm/0kA6P7+AOr/EwDx/2gA+P8OAPn/aAD6/xMA/P8HAP0AMAEC/w4BBP8RARf+5wEb/6wBJ/8VASn/PAEt/w4BL/9qATP/SQE5/wwBO/8/ATz+8QFB/8ABRv7vAUr/MQFM/18BUP8KAVMABQFU/zABVf/VAdz/agHf/9MABQBI/+4AWf/qAbr/8AG7/+0Bvf/wAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABpv/tAbz/9QAJAFYADgB//tcAv/+YAML/xwDU/xIA6P9SAUb/zwGm/4AB3//XAAQAC//mAD//9ABf/+8BPP/tADsAVP+/AFn/0QBr/2wAev9uAH//QwCE/6wAh/+hALP/uAC6/34Avv97AMH/mwDC/3kAxf+yAMf/fgDI/30Ayf98ANT/rwDhAA8A5f/kAOb/oADo/3QA6v+AAPH/sgD4/30A+f+yAPr/gAD8/3kA/QAoAQL/fQEE/38BF/9mARv/2gEn/4EBKf+YAS3/fQEv/7MBM/+gATn/fAE7/5oBPP9sAUH/5gFG/2sBSv+SAUz/rQFQ/3sBUwAPAVT/kQFV//IBpv+vAaj/uQGs/7kBtP+5AbX/uQG3/7wBuP/xAbv/8QG8/+0B3P+zAd//8QAYALP/1AC9/+0AvwARAMX/4ADH/+cAyP/lAMn/7gDUABIA5f/pAPH/1wEv/9cBOf/TATv/1gE8/8UBQf/nAUkADQFLAAwBVP/WAVX/8gGo/+kBrP/nAbT/5wG1/+kB3//wAAgA8f/wAPn/8AEE//EBG//zAS//8QFK//MBTP/zAVT/8QABAPH/9QAJAMX/6gDo/7gA8f/iAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAcAxf/qAOj/7gDx/9YA+f/tAS//7AFU/+wB3P/oAAcASAANAMEACwDC/+oAxQAMAOj/yAEX//EB3//1AAEBF//xAAEA8f/1AAIA6P9oARf/7gAHAEgADQDBAAsAwv/qAMUADADo/8gBF//xAd//9QAJAAsADwA/AAwAVP/rAF8ADgGm/8sBqP/pAaz/5wG0/+cBtf/nAAkACwAPAD8ADABU/+sAXwAOAab/ywGo/+kBrP/nAbT/5wG1/+cACQALAA8APwAMAFT/6wBfAA4Bpv/LAaj/6QGs/+cBtP/nAbX/5wAkAAj/4gALABQADP/PAD8AEgBI/+oAVP/YAFb/6gBfABMAa/+uAHr/zQB//6AAhP/BAIf/wACz/9AAt//qALr/xgC7AA0Avf/pAL7/1gDB/+gAwv+6AMX/6QDH/8sAyP/aAMn/xwFu/9MBpv+rAaj/zQGs/8sBtP/LAbX/ywG4//MBu//zAbz/7wHc/8AB3//uAAcASAANAMEACwDC/+oAxQAMAOj/yAEX//EB3//1AAEAWQALAAEAWQALAAEAWQALAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AABAPH/1gAdACH/rwBW/+8AWf/fAJb/7gCz/+UAtP/RAL8AEQDF/8gA1AATAOH/xQDx/8oA+f/QAS//gQE4/2UBOf+FATv/ZgE8/90BQf/yAUn/sQFL/8oBU/+pAVT/yAGs//UBtP/1Abj/xwG5//EBuv/NAbv/3QG9/8QACADx//AA+f/wAQT/8QEb//MBL//xAUr/8wFM//MBVP/xAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAab/7QG8//UABQBI/+4AWf/qAbr/8AG7/+0Bvf/wAAEA8f/1AAkACwAUAD8AEQBU/+IAXwATAab/tAGo/9kBrP/ZAbT/2QG1/9kABwBIAA0AwQALAML/6gDFAAwA6P/IARf/8QHf//UABAAL/+YAP//0AF//7wE8/+0AJAAI/+IACwAUAAz/zwA/ABIASP/qAFT/2ABW/+oAXwATAGv/rgB6/80Af/+gAIT/wQCH/8AAs//QALf/6gC6/8YAuwANAL3/6QC+/9YAwf/oAML/ugDF/+kAx//LAMj/2gDJ/8cBbv/TAab/qwGo/80BrP/LAbT/ywG1/8sBuP/zAbv/8wG8/+8B3P/AAd//7gAHAEgADQDBAAsAwv/qAMUADADo/8gBF//xAd//9QAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QAGACz/9QAvf/tAL8AEQDF/+AAx//nAMj/5QDJ/+4A1AASAOX/6QDx/9cBL//XATn/0wE7/9YBPP/FAUH/5wFJAA0BSwAMAVT/1gFV//IBqP/pAaz/5wG0/+cBtf/pAd//8AABARf/8QAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QAHQAh/68AVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAPn/0AEv/4EBOP9lATn/hQE7/2YBPP/dAUH/8gFJ/7EBS//KAVP/qQFU/8gBrP/1AbT/9QG4/8cBuf/xAbr/zQG7/90Bvf/EAAgA8f/wAPn/8AEE//EBG//zAS//8QFK//MBTP/zAVT/8QAdACH/rwBW/+8AWf/fAJb/7gCz/+UAtP/RAL8AEQDF/8gA1AATAOH/xQDx/8oA+f/QAS//gQE4/2UBOf+FATv/ZgE8/90BQf/yAUn/sQFL/8oBU/+pAVT/yAGs//UBtP/1Abj/xwG5//EBuv/NAbv/3QG9/8QACADx//AA+f/wAQT/8QEb//MBL//xAUr/8wFM//MBVP/xAAUASP/uAFn/6gG6//ABu//tAb3/8AABAPH/9QABAPH/9QABAPH/9QAYALP/1AC9/+0AvwARAMX/4ADH/+cAyP/lAMn/7gDUABIA5f/pAPH/1wEv/9cBOf/TATv/1gE8/8UBQf/nAUkADQFLAAwBVP/WAVX/8gGo/+kBrP/nAbT/5wG1/+kB3//wAAEBF//xAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAab/7QG8//UACQDF/+oA6P+4APH/4gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAMX/6gDo/7gA8f/iAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAcAxf/qAOj/7gDx/9YA+f/tAS//7AFU/+wB3P/oABIA1P+uAOEAEgDm/+AA6P+tAOr/1gD4/98A/P/SAQL/4AEX/84BJ//dASn/4gEt/+ABM//gATn/6QE8/9oBRv+9AVD/3wFTABEABwBIAA0AwQALAML/6gDFAAwA6P/IARf/8QHf//UAEgDU/64A4QASAOb/4ADo/60A6v/WAPj/3wD8/9IBAv/gARf/zgEn/90BKf/iAS3/4AEz/+ABOf/pATz/2gFG/70BUP/fAVMAEQAHAEgADQDBAAsAwv/qAMUADADo/8gBF//xAd//9QASANT/rgDhABIA5v/gAOj/rQDq/9YA+P/fAPz/0gEC/+ABF//OASf/3QEp/+IBLf/gATP/4AE5/+kBPP/aAUb/vQFQ/98BUwARAAcASAANAMEACwDC/+oAxQAMAOj/yAEX//EB3//1ABgAs//UAL3/7QC/ABEAxf/gAMf/5wDI/+UAyf/uANQAEgDl/+kA8f/XAS//1wE5/9MBO//WATz/xQFB/+cBSQANAUsADAFU/9YBVf/yAaj/6QGs/+cBtP/nAbX/6QHf//AAAQEX//EAHQAh/68AVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAPn/0AEv/4EBOP9lATn/hQE7/2YBPP/dAUH/8gFJ/7EBS//KAVP/qQFU/8gBrP/1AbT/9QG4/8cBuf/xAbr/zQG7/90Bvf/EAAgA8f/wAPn/8AEE//EBG//zAS//8QFK//MBTP/zAVT/8QAdACH/rwBW/+8AWf/fAJb/7gCz/+UAtP/RAL8AEQDF/8gA1AATAOH/xQDx/8oA+f/QAS//gQE4/2UBOf+FATv/ZgE8/90BQf/yAUn/sQFL/8oBU/+pAVT/yAGs//UBtP/1Abj/xwG5//EBuv/NAbv/3QG9/8QACADx//AA+f/wAQT/8QEb//MBL//xAUr/8wFM//MBVP/xAB0AIf+vAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygD5/9ABL/+BATj/ZQE5/4UBO/9mATz/3QFB//IBSf+xAUv/ygFT/6kBVP/IAaz/9QG0//UBuP/HAbn/8QG6/80Bu//dAb3/xAAIAPH/8AD5//ABBP/xARv/8wEv//EBSv/zAUz/8wFU//EAHQAh/68AVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAPn/0AEv/4EBOP9lATn/hQE7/2YBPP/dAUH/8gFJ/7EBS//KAVP/qQFU/8gBrP/1AbT/9QG4/8cBuf/xAbr/zQG7/90Bvf/EAAgA8f/wAPn/8AEE//EBG//zAS//8QFK//MBTP/zAVT/8QAdACH/rwBW/+8AWf/fAJb/7gCz/+UAtP/RAL8AEQDF/8gA1AATAOH/xQDx/8oA+f/QAS//gQE4/2UBOf+FATv/ZgE8/90BQf/yAUn/sQFL/8oBU/+pAVT/yAGs//UBtP/1Abj/xwG5//EBuv/NAbv/3QG9/8QACADx//AA+f/wAQT/8QEb//MBL//xAUr/8wFM//MBVP/xAB0AIf+vAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygD5/9ABL/+BATj/ZQE5/4UBO/9mATz/3QFB//IBSf+xAUv/ygFT/6kBVP/IAaz/9QG0//UBuP/HAbn/8QG6/80Bu//dAb3/xAAIAPH/8AD5//ABBP/xARv/8wEv//EBSv/zAUz/8wFU//EAHQAh/68AVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAPn/0AEv/4EBOP9lATn/hQE7/2YBPP/dAUH/8gFJ/7EBS//KAVP/qQFU/8gBrP/1AbT/9QG4/8cBuf/xAbr/zQG7/90Bvf/EAAgA8f/wAPn/8AEE//EBG//zAS//8QFK//MBTP/zAVT/8QAdACH/rwBW/+8AWf/fAJb/7gCz/+UAtP/RAL8AEQDF/8gA1AATAOH/xQDx/8oA+f/QAS//gQE4/2UBOf+FATv/ZgE8/90BQf/yAUn/sQFL/8oBU/+pAVT/yAGs//UBtP/1Abj/xwG5//EBuv/NAbv/3QG9/8QACADx//AA+f/wAQT/8QEb//MBL//xAUr/8wFM//MBVP/xAB0AIf+vAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygD5/9ABL/+BATj/ZQE5/4UBO/9mATz/3QFB//IBSf+xAUv/ygFT/6kBVP/IAaz/9QG0//UBuP/HAbn/8QG6/80Bu//dAb3/xAAIAPH/8AD5//ABBP/xARv/8wEv//EBSv/zAUz/8wFU//EAHQAh/68AVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAPn/0AEv/4EBOP9lATn/hQE7/2YBPP/dAUH/8gFJ/7EBS//KAVP/qQFU/8gBrP/1AbT/9QG4/8cBuf/xAbr/zQG7/90Bvf/EAAgA8f/wAPn/8AEE//EBG//zAS//8QFK//MBTP/zAVT/8QAdACH/rwBW/+8AWf/fAJb/7gCz/+UAtP/RAL8AEQDF/8gA1AATAOH/xQDx/8oA+f/QAS//gQE4/2UBOf+FATv/ZgE8/90BQf/yAUn/sQFL/8oBU/+pAVT/yAGs//UBtP/1Abj/xwG5//EBuv/NAbv/3QG9/8QACADx//AA+f/wAQT/8QEb//MBL//xAUr/8wFM//MBVP/xAB0AIf+vAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygD5/9ABL/+BATj/ZQE5/4UBO/9mATz/3QFB//IBSf+xAUv/ygFT/6kBVP/IAaz/9QG0//UBuP/HAbn/8QG6/80Bu//dAb3/xAAIAPH/8AD5//ABBP/xARv/8wEv//EBSv/zAUz/8wFU//EABQBI/+4AWf/qAbr/8AG7/+0Bvf/wAAEA8f/1AAUASP/uAFn/6gG6//ABu//tAb3/8AABAPH/9QAFAEj/7gBZ/+oBuv/wAbv/7QG9//AAAQDx//UABQBI/+4AWf/qAbr/8AG7/+0Bvf/wAAEA8f/1AAUASP/uAFn/6gG6//ABu//tAb3/8AABAPH/9QAFAEj/7gBZ/+oBuv/wAbv/7QG9//AAAQDx//UABQBI/+4AWf/qAbr/8AG7/+0Bvf/wAAEA8f/1AAUASP/uAFn/6gG6//ABu//tAb3/8AABAPH/9QAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAab/7QG8//UACQDF/+oA6P+4APH/4gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGm/+0BvP/1AAkAxf/qAOj/uADx/+IBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABpv/tAbz/9QAJAMX/6gDo/7gA8f/iAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAab/7QG8//UACQDF/+oA6P+4APH/4gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGm/+0BvP/1AAkAxf/qAOj/uADx/+IBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABpv/tAbz/9QAJAMX/6gDo/7gA8f/iAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAab/7QG8//UACQDF/+oA6P+4APH/4gEE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AFb/6gBfABMAa/+uAHr/zQB//6AAhP/BAIf/wACz/9AAt//qALr/xgC7AA0Avf/pAL7/1gDB/+gAwv+6AMX/6QDH/8sAyP/aAMn/xwFu/9MBpv+rAaj/zQGs/8sBtP/LAbX/ywG4//MBu//zAbz/7wHc/8AB3//uAAE1wAAEAAAABgAWAGwDngQcBIYEyAAVADgAFAA5ACYAOwAWARQAFAILABYCkgAmApQAFgKWABYC/QAWAwwAFgMPABYDRQAmA0cAJgNJACYDSwAWA2AAFANoABYD6gAWA+wAFgPuABYEEwAWAMwADv7uABD+7gAj/0AALP8wADYAFABD/94ARf/rAEb/6wBH/+sASf/rAFH/6wBT/+sAV//qAFj/6ABb/+gAkf/rAJX/6wCX/+oArf9AAK//QAC2/+sAuP/oAMP/6wDE/+sAxv/qAM0AFADRABQA8v/rAP7/6wEI/0ABE//rARX/6AEZ/+sBHf/rAS4AFAE1/+sBNgAUAUf/6wFI/+sBUv/rAWf+7gFr/u4Bb/7uAXD+7gHx/0AB8v9AAfP/QAH0/0AB9f9AAfb/QAH3/0ACDP/eAg3/3gIO/94CD//eAhD/3gIR/94CEv/eAhP/6wIU/+sCFf/rAhb/6wIX/+sCHf/rAh7/6wIf/+sCIP/rAiH/6wIi/+oCI//qAiT/6gIl/+oCJv/oAif/6AIo/0ACKf/eAir/QAIr/94CLP9AAi3/3gIv/+sCMf/rAjP/6wI1/+sCN//rAjn/6wI7/+sCPf/rAj//6wJB/+sCQ//rAkX/6wJH/+sCSf/rAlf/MAJr/+sCbf/rAm//6wKAABQCggAUAoQAFAKH/+oCif/qAov/6gKN/+oCj//qApH/6gKV/+gC+P9AAwD/QAMQ/+sDFP/qAxb/6wMY/+gDG//qAxz/6wMd/+oDJP8wAyj/QAMzABQDNf/eAzb/6wM4/+sDOv/rAzv/6AM9/+sDRP/oA0z/6ANV/0ADVv/eA1z/6wNh/+gDYv/rA2f/6wNp/+gDbv9AA2//3gNw/0ADcf/eA3X/6wN3/+sDeP/rA4L/6wOE/+sDhv/rA4r/6AOM/+gDjv/oA5X/6wOY/0ADmf/eA5r/QAOb/94DnP9AA53/3gOe/0ADn//eA6D/QAOh/94Dov9AA6P/3gOk/0ADpf/eA6b/QAOn/94DqP9AA6n/3gOq/0ADq//eA6z/QAOt/94Drv9AA6//3gOx/+sDs//rA7X/6wO3/+sDuf/rA7v/6wO9/+sDv//rA8X/6wPH/+sDyf/rA8v/6wPN/+sDz//rA9H/6wPT/+sD1f/rA9f/6wPZ/+sD2//rA93/6gPf/+oD4f/qA+P/6gPl/+oD5//qA+n/6gPr/+gD7f/oA+//6AP2ABQAHwA2/98AOP/kADn/7AA7/90Azf/fANH/3wEU/+QBLv/fATb/3wIL/90CgP/fAoL/3wKE/98Ckv/sApT/3QKW/90C/f/dAwz/3QMP/90DM//fA0X/7ANH/+wDSf/sA0v/3QNg/+QDaP/dA+r/3QPs/90D7v/dA/b/3wQT/90AGgA2/84AOP/tADv/0ADN/84A0f/OART/7QEu/84BNv/OAgv/0AKA/84Cgv/OAoT/zgKU/9AClv/QAv3/0AMM/9ADD//QAzP/zgNL/9ADYP/tA2j/0APq/9AD7P/QA+7/0AP2/84EE//QABAALP/uADf/7gIH/+4CCP/uAgn/7gIK/+4CV//uAob/7gKI/+4Civ/uAoz/7gKO/+4CkP/uAyT/7gPc/+4D3v/uAD0ARf/oAEb/6ABH/+gASf/oAFP/6ACR/+gAlf/oALb/6ADD/+gAxP/oAPL/6AD+/+gBGf/oAR3/6AE1/+gBR//oAUj/6AFS/+gCE//oAhT/6AIV/+gCFv/oAhf/6AIv/+gCMf/oAjP/6AI1/+gCN//oAjn/6AI7/+gCPf/oAj//6AJB/+gCQ//oAkX/6AJH/+gCSf/oAxD/6AM2/+gDOv/oAz3/6ANc/+gDYv/oA2f/6AN1/+gDd//oA3j/6AOE/+gDlf/oA7H/6AOz/+gDtf/oA7f/6AO5/+gDu//oA73/6AO//+gD0//oA9X/6APX/+gD2//oAAEwEgAEAAAALABiAIwBggHgAfoCPAKyA5gEfgVYBfIIjApSC2ANJg1YDYoOCA9OENgSbhOAFO4XABe2GRwZ0hqMGxIbcBwuHKQdUh18Hs4hDCEuIkQioiMgI0ojfCOOI7gACgAEABAACQAQAWUAEAFmABABaAAQAWkAEAFqABADTQAQA04AEANSABAAPQBF/+wARv/sAEf/7ABJ/+wAU//sAJH/7ACV/+wAtv/sAMP/7ADE/+wA8v/sAP7/7AEZ/+wBHf/sATX/7AFH/+wBSP/sAVL/7AIT/+wCFP/sAhX/7AIW/+wCF//sAi//7AIx/+wCM//sAjX/7AI3/+wCOf/sAjv/7AI9/+wCP//sAkH/7AJD/+wCRf/sAkf/7AJJ/+wDEP/sAzb/7AM6/+wDPf/sA1z/7ANi/+wDZ//sA3X/7AN3/+wDeP/sA4T/7AOV/+wDsf/sA7P/7AO1/+wDt//sA7n/7AO7/+wDvf/sA7//7APT/+wD1f/sA9f/7APb/+wAFwBR/+IBE//iAh3/4gIe/+ICH//iAiD/4gIh/+ICa//iAm3/4gJv/+IDFv/iAxz/4gM4/+IDgv/iA4b/4gPF/+IDx//iA8n/4gPL/+IDzf/iA8//4gPR/+ID2f/iAAYADv+EABD/hAFn/4QBa/+EAW//hAFw/4QAEAAs/+wAN//sAgf/7AII/+wCCf/sAgr/7AJX/+wChv/sAoj/7AKK/+wCjP/sAo7/7AKQ/+wDJP/sA9z/7APe/+wAHQAE//IACf/yAFj/8wBb//MAuP/zARX/8wFl//IBZv/yAWj/8gFp//IBav/yAib/8wIn//MClf/zAxj/8wM7//MDRP/zA0z/8wNN//IDTv/yA1L/8gNh//MDaf/zA4r/8wOM//MDjv/zA+v/8wPt//MD7//zADkAJf/zACn/8wAx//MAM//zAIH/8wCQ//MAlP/zAK7/8wDO//MBA//zARL/8wEW//MBGP/zARr/8wEc//MBNP/zAVH/8wH4//MCAv/zAgP/8wIE//MCBf/zAgb/8wIu//MCMP/zAjL/8wI0//MCQv/zAkT/8wJG//MCSP/zAmr/8wJs//MCbv/zAp//8wL8//MDCf/zAy//8wMy//MDV//zA2P/8wNm//MDgf/zA4P/8wOF//MDxP/zA8b/8wPI//MDyv/zA8z/8wPO//MD0P/zA9L/8wPU//MD1v/zA9j/8wPa//MAOQAl/+YAKf/mADH/5gAz/+YAgf/mAJD/5gCU/+YArv/mAM7/5gED/+YBEv/mARb/5gEY/+YBGv/mARz/5gE0/+YBUf/mAfj/5gIC/+YCA//mAgT/5gIF/+YCBv/mAi7/5gIw/+YCMv/mAjT/5gJC/+YCRP/mAkb/5gJI/+YCav/mAmz/5gJu/+YCn//mAvz/5gMJ/+YDL//mAzL/5gNX/+YDY//mA2b/5gOB/+YDg//mA4X/5gPE/+YDxv/mA8j/5gPK/+YDzP/mA87/5gPQ/+YD0v/mA9T/5gPW/+YD2P/mA9r/5gA2ACP/5AA6/9IAO//TAK3/5ACv/+QA1f/SAQj/5AHx/+QB8v/kAfP/5AH0/+QB9f/kAfb/5AH3/+QCC//TAij/5AIq/+QCLP/kApT/0wKW/9MC+P/kAv3/0wMA/+QDDP/TAw3/0gMP/9MDKP/kAzT/0gNL/9MDVf/kA2j/0wNr/9IDbv/kA3D/5AN5/9IDk//SA5j/5AOa/+QDnP/kA57/5AOg/+QDov/kA6T/5AOm/+QDqP/kA6r/5AOs/+QDrv/kA+r/0wPs/9MD7v/TA/j/0gQA/9IEE//TACYADv9GABD/RgAj/80Arf/NAK//zQEI/80BZ/9GAWv/RgFv/0YBcP9GAfH/zQHy/80B8//NAfT/zQH1/80B9v/NAff/zQIo/80CKv/NAiz/zQL4/80DAP/NAyj/zQNV/80Dbv/NA3D/zQOY/80Dmv/NA5z/zQOe/80DoP/NA6L/zQOk/80Dpv/NA6j/zQOq/80DrP/NA67/zQCmAEX/3ABG/9wAR//cAEn/3ABP/8EAUP/BAFH/1gBS/8EAU//cAFf/3QBY/+EAW//hAJH/3ACV/9wAl//dALb/3AC4/+EAvP/BAMP/3ADE/9wAxv/dAOf/wQDr/8EA7P/BAO7/wQDv/8EA8P/BAPL/3ADz/8EA9f/BAPb/wQD5/8EA+//BAP7/3AEA/8EBE//WARX/4QEZ/9wBHf/cATH/wQE1/9wBQP/BAUX/wQFH/9wBSP/cAVL/3AIT/9wCFP/cAhX/3AIW/9wCF//cAhz/wQId/9YCHv/WAh//1gIg/9YCIf/WAiL/3QIj/90CJP/dAiX/3QIm/+ECJ//hAi//3AIx/9wCM//cAjX/3AI3/9wCOf/cAjv/3AI9/9wCP//cAkH/3AJD/9wCRf/cAkf/3AJJ/9wCZP/BAmb/wQJo/8ECaf/BAmv/1gJt/9YCb//WAof/3QKJ/90Ci//dAo3/3QKP/90Ckf/dApX/4QMQ/9wDEv/BAxT/3QMW/9YDGP/hAxv/3QMc/9YDHf/dAzb/3AM3/8EDOP/WAzn/wQM6/9wDO//hAz3/3AM+/8EDQ//BA0T/4QNM/+EDVP/BA1z/3ANd/8EDYf/hA2L/3ANn/9wDaf/hA3X/3AN3/9wDeP/cA37/wQOA/8EDgv/WA4T/3AOG/9YDiv/hA4z/4QOO/+EDkv/BA5X/3AOx/9wDs//cA7X/3AO3/9wDuf/cA7v/3AO9/9wDv//cA8X/1gPH/9YDyf/WA8v/1gPN/9YDz//WA9H/1gPT/9wD1f/cA9f/3APZ/9YD2//cA93/3QPf/90D4f/dA+P/3QPl/90D5//dA+n/3QPr/+ED7f/hA+//4QPz/8ED9f/BA///wQQM/8EEDv/BBBD/wQBxAAT/2gAJ/9oARf/wAEb/8ABH//AASf/wAFP/8ABX/+8AWP/cAFv/3ACR//AAlf/wAJf/7wC2//AAuP/cAMP/8ADE//AAxv/vAPL/8AD+//ABFf/cARn/8AEd//ABNf/wAUf/8AFI//ABUv/wAWX/2gFm/9oBaP/aAWn/2gFq/9oCE//wAhT/8AIV//ACFv/wAhf/8AIi/+8CI//vAiT/7wIl/+8CJv/cAif/3AIv//ACMf/wAjP/8AI1//ACN//wAjn/8AI7//ACPf/wAj//8AJB//ACQ//wAkX/8AJH//ACSf/wAof/7wKJ/+8Ci//vAo3/7wKP/+8Ckf/vApX/3AMQ//ADFP/vAxj/3AMb/+8DHf/vAzb/8AM6//ADO//cAz3/8ANE/9wDTP/cA03/2gNO/9oDUv/aA1z/8ANh/9wDYv/wA2f/8ANp/9wDdf/wA3f/8AN4//ADhP/wA4r/3AOM/9wDjv/cA5X/8AOx//ADs//wA7X/8AO3//ADuf/wA7v/8AO9//ADv//wA9P/8APV//AD1//wA9v/8APd/+8D3//vA+H/7wPj/+8D5f/vA+f/7wPp/+8D6//cA+3/3APv/9wAQwAOAAwAEAAMAEX/5wBG/+cAR//nAEn/5wBT/+cAkf/nAJX/5wC2/+cAw//nAMT/5wDy/+cA/v/nARn/5wEd/+cBNf/nAUf/5wFI/+cBUv/nAWcADAFrAAwBbwAMAXAADAIT/+cCFP/nAhX/5wIW/+cCF//nAi//5wIx/+cCM//nAjX/5wI3/+cCOf/nAjv/5wI9/+cCP//nAkH/5wJD/+cCRf/nAkf/5wJJ/+cDEP/nAzb/5wM6/+cDPf/nA1z/5wNi/+cDZ//nA3X/5wN3/+cDeP/nA4T/5wOV/+cDsf/nA7P/5wO1/+cDt//nA7n/5wO7/+cDvf/nA7//5wPT/+cD1f/nA9f/5wPb/+cAcQAEAAwACQAMAEX/6ABG/+gAR//oAEn/6ABR/+oAU//oAFgACwBbAAsAkf/oAJX/6AC2/+gAuAALAMP/6ADE/+gA8v/oAP7/6AET/+oBFQALARn/6AEd/+gBNf/oAUf/6AFI/+gBUv/oAWUADAFmAAwBaAAMAWkADAFqAAwCE//oAhT/6AIV/+gCFv/oAhf/6AId/+oCHv/qAh//6gIg/+oCIf/qAiYACwInAAsCL//oAjH/6AIz/+gCNf/oAjf/6AI5/+gCO//oAj3/6AI//+gCQf/oAkP/6AJF/+gCR//oAkn/6AJr/+oCbf/qAm//6gKVAAsDEP/oAxb/6gMYAAsDHP/qAzb/6AM4/+oDOv/oAzsACwM9/+gDRAALA0wACwNNAAwDTgAMA1IADANc/+gDYQALA2L/6ANn/+gDaQALA3X/6AN3/+gDeP/oA4L/6gOE/+gDhv/qA4oACwOMAAsDjgALA5X/6AOx/+gDs//oA7X/6AO3/+gDuf/oA7v/6AO9/+gDv//oA8X/6gPH/+oDyf/qA8v/6gPN/+oDz//qA9H/6gPT/+gD1f/oA9f/6APZ/+oD2//oA+sACwPtAAsD7wALAAwAWv/tAFz/7QDp/+0CmP/tApr/7QKc/+0DPP/tA2z/7QN6/+0DlP/tA/n/7QQB/+0ADABa//IAXP/yAOn/8gKY//ICmv/yApz/8gM8//IDbP/yA3r/8gOU//ID+f/yBAH/8gAfAFj/9ABa//IAW//0AFz/8wC4//QA6f/yARX/9AIm//QCJ//0ApX/9AKY//MCmv/zApz/8wMY//QDO//0Azz/8gNE//QDTP/0A2H/9ANp//QDbP/yA3r/8gOK//QDjP/0A47/9AOU//ID6//0A+3/9APv//QD+f/yBAH/8gBRAAT/ygAJ/8oANv/SADj/1AA6//QAO//TAFj/5gBa/+8AW//mALj/5gDN/9IA0f/SANX/9ADZ/+0A3P/hAOn/7wEU/9QBFf/mAS7/0gE2/9IBZf/KAWb/ygFo/8oBaf/KAWr/ygIL/9MCJv/mAif/5gKA/9ICgv/SAoT/0gKU/9MClf/mApb/0wL9/9MDDP/TAw3/9AMP/9MDGP/mAyf/7QMz/9IDNP/0Azv/5gM8/+8DRP/mA0v/0wNM/+YDTf/KA07/ygNS/8oDYP/UA2H/5gNo/9MDaf/mA2v/9ANs/+8Def/0A3r/7wOJ/+0Div/mA4v/7QOM/+YDjf/tA47/5gOP/+EDk//0A5T/7wPq/9MD6//mA+z/0wPt/+YD7v/TA+//5gP2/9ID+P/0A/n/7wP6/+ED/P/hBAD/9AQB/+8EE//TAGIABP/AAAn/wAA2/50AOP/HADr/8AA7/6sAT//SAFD/0gBS/9IAvP/SAM3/nQDP//UA0f+dANX/8ADY//UA2f/qANz/5QDn/9IA6//SAOz/0gDu/9IA7//SAPD/0gDz/9IA9f/SAPb/0gD7/9IBAP/SART/xwEu/50BMf/SATb/nQFA/9IBRf/SAU3/9QFl/8ABZv/AAWj/wAFp/8ABav/AAgv/qwIc/9ICZP/SAmb/0gJo/9ICaf/SAoD/nQKC/50ChP+dApT/qwKW/6sC/f+rAwz/qwMN//ADD/+rAxL/0gMn/+oDM/+dAzT/8AM3/9IDOf/SAz7/0gND/9IDS/+rA03/wANO/8ADUv/AA1T/0gNd/9IDYP/HA2j/qwNr//ADef/wA37/0gOA/9IDif/qA4v/6gON/+oDj//lA5L/0gOT//ADlv/1A+r/qwPs/6sD7v+rA/P/0gP1/9ID9v+dA/j/8AP6/+UD/P/lA///0gQA//AEDP/SBA7/0gQQ/9IEEf/1BBP/qwBlAAT/sQAJ/7EANv+eADj/xQA6//IAO/+oAE//zwBQ/88AUv/PAFr/7wC8/88Azf+eANH/ngDV//IA2f/sANz/4QDn/88A6f/vAOv/zwDs/88A7v/PAO//zwDw/88A8//PAPX/zwD2/88A+//PAQD/zwEU/8UBLv+eATH/zwE2/54BQP/PAUX/zwFl/7EBZv+xAWj/sQFp/7EBav+xAgv/qAIc/88CZP/PAmb/zwJo/88Caf/PAoD/ngKC/54ChP+eApT/qAKW/6gC/f+oAwz/qAMN//IDD/+oAxL/zwMn/+wDM/+eAzT/8gM3/88DOf/PAzz/7wM+/88DQ//PA0v/qANN/7EDTv+xA1L/sQNU/88DXf/PA2D/xQNo/6gDa//yA2z/7wN5//IDev/vA37/zwOA/88Dif/sA4v/7AON/+wDj//hA5L/zwOT//IDlP/vA+r/qAPs/6gD7v+oA/P/zwP1/88D9v+eA/j/8gP5/+8D+v/hA/z/4QP//88EAP/yBAH/7wQM/88EDv/PBBD/zwQT/6gARAA2/74AT//hAFD/4QBS/+EAWP/vAFv/7wC4/+8AvP/hAM3/vgDR/74A5//hAOv/4QDs/+EA7v/hAO//4QDw/+EA8//hAPX/4QD2/+EA+//hAQD/4QEV/+8BLv++ATH/4QE2/74BQP/hAUX/4QIc/+ECJv/vAif/7wJk/+ECZv/hAmj/4QJp/+ECgP++AoL/vgKE/74Clf/vAxL/4QMY/+8DM/++Azf/4QM5/+EDO//vAz7/4QND/+EDRP/vA0z/7wNU/+EDXf/hA2H/7wNp/+8Dfv/hA4D/4QOK/+8DjP/vA47/7wOS/+ED6//vA+3/7wPv/+8D8//hA/X/4QP2/74D///hBAz/4QQO/+EEEP/hAFsANv/mADj/5wA6//IAO//nAE//1gBQ/9YAUv/WAFr/8QC8/9YAzf/mANH/5gDV//IA2f/uANz/6ADn/9YA6f/xAOv/1gDs/9YA7v/WAO//1gDw/9YA8//WAPX/1gD2/9YA+//WAQD/1gEU/+cBLv/mATH/1gE2/+YBQP/WAUX/1gIL/+cCHP/WAmT/1gJm/9YCaP/WAmn/1gKA/+YCgv/mAoT/5gKU/+cClv/nAv3/5wMM/+cDDf/yAw//5wMS/9YDJ//uAzP/5gM0//IDN//WAzn/1gM8//EDPv/WA0P/1gNL/+cDVP/WA13/1gNg/+cDaP/nA2v/8gNs//EDef/yA3r/8QN+/9YDgP/WA4n/7gOL/+4Djf/uA4//6AOS/9YDk//yA5T/8QPq/+cD7P/nA+7/5wPz/9YD9f/WA/b/5gP4//ID+f/xA/r/6AP8/+gD///WBAD/8gQB//EEDP/WBA7/1gQQ/9YEE//nAIQAIwAQACX/6AAp/+gAMf/oADP/6AA2/+AAOP/gADv/3wCB/+gAkP/oAJT/6ACtABAArv/oAK8AEADN/+AAzv/oAM8AEADR/+AA2AAQANz/4QDtABAA9P/gAP8AEAED/+gBCAAQARL/6AEU/+ABFv/oARj/6AEa/+gBHP/oAS7/4AE0/+gBNv/gAU0AEAFR/+gB8QAQAfIAEAHzABAB9AAQAfUAEAH2ABAB9wAQAfj/6AIC/+gCA//oAgT/6AIF/+gCBv/oAgv/3wIoABACKgAQAiwAEAIu/+gCMP/oAjL/6AI0/+gCQv/oAkT/6AJG/+gCSP/oAmr/6AJs/+gCbv/oAoD/4AKC/+AChP/gApT/3wKW/98Cn//oAvgAEAL8/+gC/f/fAwAAEAMJ/+gDDP/fAw//3wMoABADL//oAzL/6AMz/+ADS//fA1UAEANX/+gDYP/gA2P/6ANm/+gDaP/fA24AEANwABADgf/oA4P/6AOF/+gDj//hA5D/4AOWABADlwAQA5gAEAOaABADnAAQA54AEAOgABADogAQA6QAEAOmABADqAAQA6oAEAOsABADrgAQA8T/6APG/+gDyP/oA8r/6APM/+gDzv/oA9D/6APS/+gD1P/oA9b/6APY/+gD2v/oA+r/3wPs/98D7v/fA/b/4AP6/+ED+//gA/z/4QP9/+AEEQAQBBIAEAQT/98ALQA2//EAOP/0ADr/9AA7//AAzf/xAM//9QDR//EA1f/0ANj/9QDZ//MBFP/0AS7/8QE2//EBTf/1Agv/8AKA//ECgv/xAoT/8QKU//AClv/wAv3/8AMM//ADDf/0Aw//8AMn//MDM//xAzT/9ANL//ADYP/0A2j/8ANr//QDef/0A4n/8wOL//MDjf/zA5P/9AOW//UD6v/wA+z/8APu//AD9v/xA/j/9AQA//QEEf/1BBP/8ABZACMADwA2/+YAOP/mADoADgA7/+YArQAPAK8ADwDN/+YAzwAOANH/5gDVAA4A2AAOANkACwDc/+UA7QAPAPT/6AD/AA8BCAAPART/5gEu/+YBNv/mAU0ADgHxAA8B8gAPAfMADwH0AA8B9QAPAfYADwH3AA8CC//mAigADwIqAA8CLAAPAoD/5gKC/+YChP/mApT/5gKW/+YC+AAPAv3/5gMAAA8DDP/mAw0ADgMP/+YDJwALAygADwMz/+YDNAAOA0v/5gNVAA8DYP/mA2j/5gNrAA4DbgAPA3AADwN5AA4DiQALA4sACwONAAsDj//lA5D/6AOTAA4DlgAOA5cADwOYAA8DmgAPA5wADwOeAA8DoAAPA6IADwOkAA8DpgAPA6gADwOqAA8DrAAPA64ADwPq/+YD7P/mA+7/5gP2/+YD+AAOA/r/5QP7/+gD/P/lA/3/6AQAAA4EEQAOBBIADwQT/+YALQAE/78ACf+/ADb/nwA4/8kAO/+tAM3/nwDR/58A2f/sANz/5gEU/8kBLv+fATb/nwFl/78BZv+/AWj/vwFp/78Bav+/Agv/rQKA/58Cgv+fAoT/nwKU/60Clv+tAv3/rQMM/60DD/+tAyf/7AMz/58DS/+tA03/vwNO/78DUv+/A2D/yQNo/60Dif/sA4v/7AON/+wDj//mA+r/rQPs/60D7v+tA/b/nwP6/+YD/P/mBBP/rQAuADb/4wA6/+UAO//kAM3/4wDP/+UA0f/jANX/5QDY/+UA2f/pAO3/6gD//+oBLv/jATb/4wFN/+UCC//kAoD/4wKC/+MChP/jApT/5AKW/+QC/f/kAwz/5AMN/+UDD//kAyf/6QMz/+MDNP/lA0v/5ANo/+QDa//lA3n/5QOJ/+kDi//pA43/6QOT/+UDlv/lA5f/6gPq/+QD7P/kA+7/5AP2/+MD+P/lBAD/5QQR/+UEEv/qBBP/5AAhADb/4gA6/+QAzf/iAM//5ADR/+IA1f/kANj/5ADZ/+kA7f/rAP//6wEu/+IBNv/iAU3/5AKA/+ICgv/iAoT/4gMN/+QDJ//pAzP/4gM0/+QDa//kA3n/5AOJ/+kDi//pA43/6QOT/+QDlv/kA5f/6wP2/+ID+P/kBAD/5AQR/+QEEv/rABcANv/rADv/8wDN/+sA0f/rAS7/6wE2/+sCC//zAoD/6wKC/+sChP/rApT/8wKW//MC/f/zAwz/8wMP//MDM//rA0v/8wNo//MD6v/zA+z/8wPu//MD9v/rBBP/8wAvAE//7wBQ/+8AUv/vAFr/8AC8/+8A5//vAOn/8ADr/+8A7P/vAO7/7wDv/+8A8P/vAPP/7wD1/+8A9v/vAPv/7wEA/+8BMf/vAUD/7wFF/+8CHP/vAmT/7wJm/+8CaP/vAmn/7wMS/+8DN//vAzn/7wM8//ADPv/vA0P/7wNU/+8DXf/vA2z/8AN6//ADfv/vA4D/7wOS/+8DlP/wA/P/7wP1/+8D+f/wA///7wQB//AEDP/vBA7/7wQQ/+8AHQAE//IACf/yAFj/9QBb//UAuP/1ARX/9QFl//IBZv/yAWj/8gFp//IBav/yAib/9QIn//UClf/1Axj/9QM7//UDRP/1A0z/9QNN//IDTv/yA1L/8gNh//UDaf/1A4r/9QOM//UDjv/1A+v/9QPt//UD7//1ACsAT//uAFD/7gBS/+4AvP/uAOf/7gDr/+4A7P/uAO7/7gDv/+4A8P/uAPP/7gD0/+0A9f/uAPb/7gD7/+4BAP/uATH/7gFA/+4BRf/uAhz/7gJk/+4CZv/uAmj/7gJp/+4DEv/uAzf/7gM5/+4DPv/uA0P/7gNU/+4DXf/uA37/7gOA/+4DkP/tA5L/7gPz/+4D9f/uA/v/7QP9/+0D///uBAz/7gQO/+4EEP/uAAoABP/1AAn/9QFl//UBZv/1AWj/9QFp//UBav/1A03/9QNO//UDUv/1AFQARf/wAEb/8ABH//AASf/wAFH/xwBT//AAkf/wAJX/8AC2//AAw//wAMT/8ADy//AA/v/wARP/xwEZ//ABHf/wATX/8AFH//ABSP/wAVL/8AIT//ACFP/wAhX/8AIW//ACF//wAh3/xwIe/8cCH//HAiD/xwIh/8cCL//wAjH/8AIz//ACNf/wAjf/8AI5//ACO//wAj3/8AI///ACQf/wAkP/8AJF//ACR//wAkn/8AJr/8cCbf/HAm//xwMQ//ADFv/HAxz/xwM2//ADOP/HAzr/8AM9//ADXP/wA2L/8ANn//ADdf/wA3f/8AN4//ADgv/HA4T/8AOG/8cDlf/wA7H/8AOz//ADtf/wA7f/8AO5//ADu//wA73/8AO///ADxf/HA8f/xwPJ/8cDy//HA83/xwPP/8cD0f/HA9P/8APV//AD1//wA9n/xwPb//AAjwAEAA0ACQANAEP/8ABF/8AARv/AAEf/wABJ/8AAUf/iAFP/wABYAAsAWwALAJH/wACV/8AAtv/AALgACwDE/8AA7f/XAPL/wAD+/8AA///XARP/4gEVAAsBGf/AAR3/wAE1/8ABR//AAUj/wAFS/8ABZQANAWYADQFoAA0BaQANAWoADQIM//ACDf/wAg7/8AIP//ACEP/wAhH/8AIS//ACE//AAhT/wAIV/8ACFv/AAhf/wAId/+ICHv/iAh//4gIg/+ICIf/iAiYACwInAAsCKf/wAiv/8AIt//ACL//AAjH/wAIz/8ACNf/AAjf/wAI5/8ACO//AAj3/wAI//8ACQf/AAkP/wAJF/8ACR//AAkn/wAJr/+ICbf/iAm//4gKVAAsDEP/AAxb/4gMYAAsDHP/iAzX/8AM2/8ADOP/iAzr/wAM7AAsDPf/AA0QACwNMAAsDTQANA04ADQNSAA0DVv/wA1z/wANhAAsDYv/AA2f/wANpAAsDb//wA3H/8AN1/8ADd//AA3j/wAOC/+IDhP/AA4b/4gOKAAsDjAALA44ACwOV/8ADl//XA5n/8AOb//ADnf/wA5//8AOh//ADo//wA6X/8AOn//ADqf/wA6v/8AOt//ADr//wA7H/wAOz/8ADtf/AA7f/wAO5/8ADu//AA73/wAO//8ADxf/iA8f/4gPJ/+IDy//iA83/4gPP/+ID0f/iA9P/wAPV/8AD1//AA9n/4gPb/8AD6wALA+0ACwPvAAsEEv/XAAgA7QAQAPT/8AD/ABADkP/wA5cAEAP7//AD/f/wBBIAEABFAEX/7gBG/+4AR//uAEn/7gBT/+4Akf/uAJX/7gC2/+4Aw//uAMT/7gDtAA4A8v/uAPT/4wD+/+4A/wAOARn/7gEd/+4BNf/uAUf/7gFI/+4BUv/uAhP/7gIU/+4CFf/uAhb/7gIX/+4CL//uAjH/7gIz/+4CNf/uAjf/7gI5/+4CO//uAj3/7gI//+4CQf/uAkP/7gJF/+4CR//uAkn/7gMQ/+4DNv/uAzr/7gM9/+4DXP/uA2L/7gNn/+4Ddf/uA3f/7gN4/+4DhP/uA5D/4wOV/+4DlwAOA7H/7gOz/+4Dtf/uA7f/7gO5/+4Du//uA73/7gO//+4D0//uA9X/7gPX/+4D2//uA/v/4wP9/+MEEgAOABcAWP/AAFv/wAC4/8AA9P/uARX/wAIm/8ACJ//AApX/wAMY/8ADO//AA0T/wANM/8ADYf/AA2n/wAOK/8ADjP/AA47/wAOQ/+4D6//AA+3/wAPv/8AD+//uA/3/7gAfAFj/9ABa//AAW//0ALj/9ADp//AA7f/zAP//8wEV//QCJv/0Aif/9AKV//QDGP/0Azv/9AM8//ADRP/0A0z/9ANh//QDaf/0A2z/8AN6//ADiv/0A4z/9AOO//QDlP/wA5f/8wPr//QD7f/0A+//9AP5//AEAf/wBBL/8wAKAAT/1gAJ/9YBZf/WAWb/1gFo/9YBaf/WAWr/1gNN/9YDTv/WA1L/1gAMAFr/4ADp/+AA9P/CAzz/4ANs/+ADev/gA5D/wgOU/+AD+f/gA/v/wgP9/8IEAf/gAAQA9P/SA5D/0gP7/9ID/f/SAAoABP/XAAn/1wFl/9cBZv/XAWj/1wFp/9cBav/XA03/1wNO/9cDUv/XAF4ABAALAAkACwBF/+sARv/rAEf/6wBJ/+sAUf/pAFP/6wCR/+sAlf/rALb/6wDD/+sAxP/rAPL/6wD+/+sBE//pARn/6wEd/+sBNf/rAUf/6wFI/+sBUv/rAWUACwFmAAsBaAALAWkACwFqAAsCE//rAhT/6wIV/+sCFv/rAhf/6wId/+kCHv/pAh//6QIg/+kCIf/pAi//6wIx/+sCM//rAjX/6wI3/+sCOf/rAjv/6wI9/+sCP//rAkH/6wJD/+sCRf/rAkf/6wJJ/+sCa//pAm3/6QJv/+kDEP/rAxb/6QMc/+kDNv/rAzj/6QM6/+sDPf/rA00ACwNOAAsDUgALA1z/6wNi/+sDZ//rA3X/6wN3/+sDeP/rA4L/6QOE/+sDhv/pA5X/6wOx/+sDs//rA7X/6wO3/+sDuf/rA7v/6wO9/+sDv//rA8X/6QPH/+kDyf/pA8v/6QPN/+kDz//pA9H/6QPT/+sD1f/rA9f/6wPZ/+kD2//rAAILPAAEAAAOBBVYACEAHQAAAAwAEf/f//T/zv/1/7P/7//Q/2r/iP+n//X/yf/ZABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/oAAAAAP/JAAD/5QAAAAAAAAAA//MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR/+UAAAAAAAAAAAAAAAD/5AAA/+MAAP/kAAAAEQAAABIAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4QAAAAAAAAAA/+oAAAAA/9UAAP/lAAAAAAAAAAAAAP/r/+r/6f+GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7f/mAAAAAAAAAAAAAAAAABT/7wAAAAAAAAAAAAAAAAAAAAD/7QAAAAAAAAAAAAAAAAAA/8T/y/98/7H/rv/kABAAAP+nABAAAAAQ/78AAAAP/34AAP+TAAAAAP7+/6f/s/+0/vD/8P+t/ygAAP+G/5L/DP9m/2H/vQAHAAD/VQAHAAAAB/9+AAAABf8PAAD/MwAAAAD+Nv9V/2r/a/4e/9H/XwAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/2AAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAP+j/+X/2P/hAAAAAAAAAAAAAAAA/+kAAAAAAAAAAAAAAAAAAAAA/+YAAAAA/1wAAAAAAAAAAAAAAAAAAAAA/4X/5/8y/+gAAP7p/v7/M//yAAD/owAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9vAAD/8wAPAAAAAAAAAAAAAAAAAAAAAAAAAAD/pwAA/07/zf/c/mz/8wAAAAAAAAAA//X/SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/S//X/8wAAAAAAAAAAAAAAAP/kAAAAAAAAAAD/tQAAAAD/Kf/UAAAAAP9jAAD/0gAAAAAAAAAR/9H/6//h/+cADgAAAAAAAAAAAAD/6wAAAAAAEQAAAAAAAAAAAAD/5gAAAAD/ZAAAAAAAAAAA/+IAAAAA/7//7P/jABL/oP/YABIAAAAR/9kAAAARAAAAAP9qAA0AAP8Z/7//6f/G/2j/8P/B/6AAAAAAAAAAAP/hAAAAAAAAAAAAAAAAAAAADv/tAAAAAAAAAAD/1QAAAAD/cf/hAAAAAP/EAAD/3wAAAAAAAAAAAAD/6//l/+YAAAAAAAAAAAAAAAD/7QAAAAAAAAAAAA0AAAAAAAD/6wAAAAAAAAAAAAAAAAAAAAD/yv/p/70AAP/pAAAAAP+uABIAAAASAAAAAAAA/7sAAP+lAAAAAP53/70AAP/S/zkAAP+vAAAAAAAAAAAAAAAA//EAAAAAAAAAAAAA/+8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//EAAAAAAAD/9QAAAAAAAAAAAAD/4wAAAAAAAAAA//IAAAAAAAAAAAAAAAD/8QAAAAAAAAAAAAAAAAAAAAAAAAAA//MAAAAAAAAAAAAA//IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//AAAAAAAAD/8QAAAAAAAAAAAAD/7AAAAAAAAAAA//AAAAAAAAAAAAAAAAD/6wAAAAAAAAAAAAAAAAAAAAAAAP/xAAAAAAAAAAAAAAAAAA8AAAAAAAAAAP/XAAAAAAAAAAD/Wf/zAAAAAAAAAAD/8QAAAAAAAAAAAAD/7AASAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAA/1P/7QAAAAAAAAAA/+wAAAAAAAAAAAAA/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAAAAAAAAAAAD/pQAAAAAAAAAA/+wAAP/bAAAAAAAAAAAAAAAA/4gAAAAAAAD/xQAA/6QAAAAA/84AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/IAAAAAP+t/8D/nwAA/+cAAAAA/+sAAAAAAAAAAAAA/8kAAAAAAAAAAAAAAAAAAAAA/+MAAP+1AAAAAAAAAAAAAP95AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/rAAAAAAAAAAAAAAACAIsABAAEAAAACQAJAAEAEQARAAIAIwAoAAMAKgAzAAkANgA8ABMAQwBEABoARwBIABwASgBKAB4ATwBSAB8AVABUACMAWABYACQAWgBbACUAiACIACcAmQCZACgArACwACkAsgC0AC4AtgC2ADEAuAC4ADIAuwC8ADMAvgC+ADUAwADAADYAwgDHADcAzQDNAD0AzwDZAD4A2wDbAEkA3QDfAEoA4QDjAE0A5QDpAFAA7ADsAFUA8QDzAFYA9gD3AFkA+QD7AFsA/wEAAF4BBQEFAGABCAEIAGEBEwEVAGIBJwEpAGUBLAEsAGgBLgEuAGkBRQFFAGoBZQFmAGsBaAFqAG0BpgGmAHABqQGpAHEBqwGrAHIBsAGxAHMBtAG2AHUBuAG+AHgBxAHEAH8B1wHXAIAB2wHcAIEB3wHfAIMB6AHoAIQB7AHtAIUB7wHvAIcB8QISAIgCFAIXAKoCHAIhAK4CJgIuALQCMAIwAL0CMgIyAL4CNAI0AL8CNgI2AMACOAJBAMECSgJMAMsCTgJOAM4CUAJQAM8CUgJSANACVAJUANECVwJXANICWQJZANMCWwJbANQCXQJdANUCXwJfANYCYQJhANcCYwJvANgCcQJxAOUCcwJzAOYCdQJ1AOcCgAKAAOgCggKCAOkChAKEAOoChgKGAOsCiAKIAOwCigKKAO0CjAKMAO4CjgKOAO8CkAKQAPACkgKSAPEClAKXAPICmQKZAPYCmwKbAPcC+AL9APgDAAMPAP4DEgMSAQ4DFgMWAQ8DGAMYARADHAMcAREDHwMgARIDIgMrARQDLQMvAR4DMQM2ASEDOAM5AScDOwM+ASkDRANFAS0DRwNHAS8DSQNJATADSwNOATEDUgNXATUDWgNaATsDXANcATwDYANhAT0DZgNmAT8DaANxAUADdAN1AUoDdwN6AUwDgQOCAVADhgOGAVIDiAOOAVMDkwOUAVoDmAPAAVwDwgPCAYUDxAPRAYYD2QPZAZQD3APcAZUD3gPeAZYD6gPvAZcD8gPyAZ0D9AP0AZ4D9gP2AZ8D+AP5AaAD/gQBAaIEBAQEAaYEBgQHAacECQQJAakEDQQNAaoEDwQPAasEEwQTAawAAQAGAAoAKAAzADQAPQBIAAEALABIAE0AVgBZAF0AmQCwALIAswC0ALsAvgDAAMUAxwDIAMkAzQDPANAA0QDTANQA1gDeAN8A4gDjAOQA5QDmAOgA6gDsAPEA8wD2APcA+wD+AP8BAAEdAdwAAgB2AAQABAAAAAkACQABAA4ADgACABAAEAADACMAJwAEACoAMgAJADYAPAASAEMARQAZAEcARwAcAEoASgAdAE8AUgAeAFQAVAAiAFgAWAAjAFoAXAAkAIgAiAAnAKwArwAoALgAuAAsALwAvAAtAMIAwgAuAM8A0AAvANIA0gAxANUA1QAyANcA2QAzANsA2wA2AN0A3QA3AN8A3wA4AOEA4QA5AOcA5wA6AOkA6QA7APIA8gA8APcA9wA9APkA+gA+AP8BAABAAQUBBQBCAQgBCABDARMBFQBEAScBKQBHASwBLABKAS4BLgBLAUUBRQBMAWUBawBNAW8BcABUAewB7QBWAe8B7wBYAfECFwBZAhwCIQCAAiYCNgCGAjgCQQCXAkoCTAChAk4CTgCkAlACUAClAlICUgCmAlQCVACnAlcCVwCoAlkCWQCpAlsCWwCqAl0CXQCrAl8CXwCsAmECYQCtAmMCbwCuAnECcQC7AnMCcwC8AnUCdQC9AoACgAC+AoICggC/AoQChADAAoYChgDBAogCiADCAooCigDDAowCjADEAo4CjgDFApACkADGApICkgDHApQCnADIAvgC/QDRAwADDwDXAxIDEgDnAxYDFgDoAxgDGADpAxwDHADqAx8DIADrAyIDKwDtAy0DLwD3AzEDNgD6AzgDPgEAA0QDRQEHA0cDRwEJA0kDSQEKA0sDTgELA1IDVwEPA1oDWgEVA1wDXAEWA2ADYQEXA2YDcQEZA3QDdQElA3cDegEnA4EDggErA4YDhgEtA4gDjgEuA5MDlAE1A5gDwAE3A8IDwgFgA8QD0QFhA9kD2QFvA9wD3AFwA94D3gFxA+oD7wFyA/ID8gF4A/QD9AF5A/YD9gF6A/gD+QF7A/4EAQF9BAQEBAGBBAYEBwGCBAkECQGEBA0EDQGFBA8EDwGGBBMEEwGHAAIBOAAEAAQAHQAJAAkAHQAOAA4AHgAQABAAHgAkACQAAQAlACUABAAmACYAAwAnACcABQAqACsAAgAsACwADAAtAC0ACQAuAC4ACgAvADAAAgAxADEAAwAyADIACwA2ADYABgA3ADcADAA4ADgADQA5ADkAEAA6ADoADgA7ADsADwA8ADwAEQBDAEMAEwBEAEQAFQBFAEUAFABHAEcAFgBKAEoAFwBPAFAAFwBRAFEAGABSAFIAFQBUAFQAGgBYAFgAGQBaAFoAGwBbAFsAGQBcAFwAHACIAIgAFQCsAKwABwCuAK4AAwC4ALgAGQC8ALwAFwDCAMIAFQDPANAAHwDSANIAAgDVANUADgDXANgAAgDZANkAEgDbANsAAgDdAN0AAgDfAN8AHwDhAOEAHwDnAOcACADpAOkAGwDyAPIAFQD3APcAIAD5APkAIAD6APoAFQD/AQAAIAEFAQUAIAETARMAGAEUARQADQEVARUAGQEnAScAFQEoASgABwEpASkACAEsASwACQEuAS4ACQFFAUUACAFlAWYAHQFnAWcAHgFoAWoAHQFrAWsAHgFvAXAAHgHsAe0AAwHvAe8ABgH4AfgABAH5AfwABQH9AgEAAgICAgYAAwIHAgoADAILAgsADwIMAhIAEwITAhMAFAIUAhcAFgIcAhwAFwIdAiEAGAImAicAGQIpAikAEwIrAisAEwItAi0AEwIuAi4ABAIvAi8AFAIwAjAABAIxAjEAFAIyAjIABAIzAjMAFAI0AjQABAI1AjUAFAI2AjYAAwI4AjgABQI5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AAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAGAAQABwAFAAYAAAAGABYABgAAAAYAFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAkAAAAAAAYAFgAMAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAJAAAAFgAWAAAAAAAAAAAAAgAAAAAAAAAGABYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAZAAAACwALABUACwALAAsAFQAAAAAAAAAVABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAAAAAAAAAAABIAEgASABIAEgASABIABgAAAAAAAAAAAAAAAAAAAAAAAAAGAAYABgAGAAYACAAIAAgACAAKABsAGwAbABsAGwAbABsAFgAWABYAFgAWAAAAAAAAAAAACQAEAAQABAAEAAQADQANAA0ADQAFAAUAEgAbABIAGwASABsABgAWAAYAFgAGABYABgAWAAAAFgAAABYAAAAWAAAAFgAAABYAAAAWAAYAFgAGABYABgAWAAYAFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAkAAAAJAAkABgAEAAYABAAGAAQAAAAAAAAAAAAAAAAAGgAYABoAGAAaABgAGgAYABoAGAAMAAAADAAAAAwAAAAIAA0ACAANAAgADQAIAA0ACAANAAgADQAPAAAACgAFAAoAFAABABQAAQAUAAEAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAYACgAAAAAAEgAAAAAAFAAAAAAAAAAAAAAABgAAAAAACgATAAAACgAWAAAACQAAAA0AAAAEAAAABQAAAAAADQAEAA0AAAAAAAAAAAAAAAAAHAAAAAAAEQASAAAAAAAAAAAAAAAAAAYAAAAAAAYADAATABsAFgAJAAQACQAWAAUAFwAWAAkAGAAAAAAAAAAJAAUADwAAAA8AAAAPAAAACgAFAAsACwAAAAAAAAALAAAACQASABsABgAAAAAAAAAAABYACQAAAAAABwAFABYABgAAAAAABgAWAAoABQAAABMAFwAAABIAGwASABsAAAAAAAAAFgAAABYAFgATABcAAAAAAAAACQAAAAkABgAEAAYAFgAGAAQAAAAAABEABQARAAUAEQAFAA4AAwAAAAkAEwAXABYAAgAQABIAGwASABsAEgAbABIAGwASABsAEgAbABIAGwASABsAEgAbABIAGwASABsAEgAbAAAAFgAAABYAAAAWAAAAFgAAABYAAAAWAAAAFgAAABYAAAAAAAAAAAAGAAQABgAEAAYABAAGAAQABgAEAAYABAAGAAQABgAWAAYAFgAGABYABgAEAAYAFgAIAA0ACAANAAAADQAAAA0AAAANAAAADQAAAA0ACgAFAAoABQAKAAUAAAAAAAAACQAAAAkADAAAABMAFwAOAAMADgADAAAACQATABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAACQAAAAkAAgAQAAoAAAAAAAAAAAAAABkAAAABAAAACgAsAI4AAURGTFQACAAEAAAAAP//AAgAAAABAAIAAwAEAAUABgAHAAhsaWdhADJsbnVtADhzbWNwAD5zczAxAERzczAyAEpzczAzAFBzczA0AFZzczA1AFwAAAABAAEAAAABAAIAAAABAAAAAAABAAMAAAABAAQAAAABAAUAAAABAAYAAAABAAcACAASABoAIgAqADIAOgBCAEoAAQAAAAEAQAAEAAAAAQH2AAEAAAABAgAAAQAAAAECEgABAAAAAQIQAAEAAAABAg4AAQAAAAECDAABAAAAAQIOAAICEADcAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AegBtQG2AbcBuAG5AboBuwG8Ab0BvgGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAHoAbUBtgG3AbgBuQG6AbsBvAG9Ab4C9wKiAqECogKjAqMCpAKlAqYCpwKoAqkCqgKrAqwCrQKuAq8CsAKxArICswK0ArUCtgK3ArgCuQK6ArsCvAK9Ar4CpAKlAqYCpwKoAqkCqgKrAqwCrQKuAq8CsAKxArICswK0ArUCtgK3ArgCuQK6ArsCvAK9Ar4C8wK/Ar8CwALAAsECwQLCAsICwwLDAsUCxQLGAsYCxwLHAsgCyALJAskCygLKAssCywLMAswCzQLNAs8CzwLQAtAC0QLRAtIC0gLTAtMC1ALUAtUC1gLWAtcC1wLYAtgC2QLZAtoC2gLbAtsC3ALcAt0C3QLeAt4C3wLfAuAC4ALhAuEC4gLiAuMC4wLkAuQC5QLlAuYC5gLnAucC6ALo/////wLqAuoC6wLrAuwC7ALtAu0C7gLuAu8C7wLwAvAC8QLxAvIC8gLzAvQC9AL1AvUC9gL2AqEAAQCkAAEACAABAAQBkgACAEsAAgCYAAoBmAHMAcQB1gHXAdgB2QHbAd0B5wABAIgBkQABAIgBKAABAIgBrgACAIgAAgHjAeQAAgB+AAIB5QHmAAIADQAjADwAAABDAFwAGgCDAIMANACFAIUANQHsAe0ANgHvAjEAOAI0AkUAewJIAlQAjQJXAmgAmgJqAnsArAJ+An8AvgKCApwAwAPwA/AA2wABAAEASAACAAEAEgAbAAAAAQABAEkAAQABALYAAQABADQAAQACAC0ATQ==","Roboto-Regular.ttf":"AAEAAAAOAIAAAwBgR0RFRgsuCy8AASx0AAAASEdQT1OC3T4oAAEsvAAAkPhHU1VCeolvLwABvbQAAANsT1MvMrivKcMAAAFoAAAAYFZETVhu6nZPAAASOAAABeBjbWFwf76BZgAAGBgAAA7iZ2x5ZusE9WMAACb8AADUeGhlYWT1kQ7EAAAA7AAAADZoaGVhC3AJkwAAASQAAAAkaG10eJaDaacAAAHIAAAQcGxvY2EvrvnGAAD7dAAACDptYXhwBDsA9gAAAUgAAAAgbmFtZbs83bQAAQOwAAAEeXBvc3Tfb5xiAAEILAAAJEYAAQAAAAEAAHdFsyVfDzz1AAkIAAAAAADE8BEuAAAAAM2CsmH6jf3VCXQIYgAAAAkAAgAAAAAAAAABAAAHbP4MAAAJkvqN/dgJdAABAAAAAAAAAAAAAAAAAAAEHAABAAAEHACXABYAXQAFAAEAAAAAAAAAAAAAAAAAAwABAAMElwGQAAUAAAWaBTMAAAEfBZoFMwAAA9EAZgIAAAAAAAAAAAAAAAAA4AAC/1AAIFsAAAAgAAAAAHB5cnMAQAAA//0GAP4AAGYHmgIAIAABn08BAAAEOgWwAAAAIAACAfsAAAAAAAAB+wAAAfsAAAKPAGkE+wBGBH4AbgXcAGkE+QBEAWUAZwKhAIUCqgAIA3IAHASJAE4BkgAdAjUAJQIbAKIDTAASBH4AcgR+ANcEfgBdBH4AXgR+ADkEfgCaBH4AhwR+AE0EfgBmBH4AVAH4AKACAABKBBEASASAAJgELgCGA8cAOgcvAGEFSgAnBRcAtgUeAIMFaQC2BKoAtgSnALYFfgCFBbMAtgI/AMMEagA/BSQAtgRgALYHAwC2BbQAtgWQAIIFGQC2BZAAggVMALUE4wBaBMYAOwVoAJYFKQAnBw0ASAUJAEEE8gAeBMkAYQIfAJIDSAAoAh8ACQNYAEADnAAEAnkATwRiAHIEiACRBDsAYQSIAGQENwBiAr4AQgSIAGYEiACRAfwAoQIL/7YEEwCSAfwAoQcCAJAEiACRBIgAYASIAJEEiABkAsoAkQQrAGYCjAAdBIgAjQQCAC4GDgAwBAIALgQCABsEAgBeArUAQAHzAK8CtQATBXEAggHzAJAEYQBuBKYARgW0AGkE2AAgAesAkwToAFoD9ACpBkkAWwOTAHoDwQBmBG4AfwZKAFoDqgB4Av0AggRHAGEDXwBxA2gAaQKCAIEEiACaA+kAQgIWAKIB+wB0AiYAXgOjAHoDwABvBjYAtAaWALQG6wB7A+0AcQd6//IERABZBXIAcwS6AKYEwgCLBsEAPQSwAEwEkQBHBIkAYAScAJoFmwAeAfoAmwRzAJoEMwAmAioAIwWLAKQEiACRB6EAaQdEAGEB/ACgArn/5AV/AHEEkwBgBZAAlgTzAI0CA/+0BDcAYgPEAKkDjQCMA2oAgQIhAKACtQCLAioAMgPGAIIC/ABoAp0AtgAA/NoAAP13AAD8kwAA/V4AAPwnAAD9QwINAMMECwChAhcAogRzALUFpAAgBXIAcwU+ADQEkQB6BbUAtgSRAEUFuwBOBYkAXQVSAHIEhQBkBL0AoAQCAC4EiABgBFAAYwQlAG0EiACRBI8AegKXAMMEbgAlA+wAZQTFAE8EiACRBE0AZQSIAGAELABRBF0AjwWjAFcFmgBfBpcAegTwAHQEQv/nBkgASgX/ACsFZQCHCJkAMgikALUGggBABbQAtQULAKYGBAA0B0MAGwS/AFEFtAC2BakAMAUHAFEGLQBTBdkAtAV6AJcHhwC0B8AAtAYSABEG6wC1BQUApgVkALEHJwDDBRgAYwRsAGEEkgCdA1sAmgTUAC4GIAAVBBAAWASeAJwEUgCcBKAAKAXvAJ0EnQCcBJ4AnAPYACgFzQBkBL0AnARZAGcGeACcBp8AkQT3AB4GNgCdBFgAnQRNAGQGiACdBGQALwSJ/+cETgBsBskAJwbkAJwEif/9BJ4AnAcIAJ8GKwCBBFb/3AcsAMQF+QCZBNIAKgRGAA8HDADWBgwAvAbRAJYF4QCWCQUAwwfRAJsEJABQA9sATAVyAHMEjABgBQoAFwQDAC4FcgBzBIkAYAcBAJ8GJAB+BwkAnwYsAIEFMgB4BEcAZAT9AHQAAPxnAAD8cQAA/WYAAP2kAAD6jQAA+qQEVv/cBRsAtQSKAJEEZACmA5AAkQTbALUEBgCRBQkApgR+AJoGjABFBYQAPgfPALUFtACRCDEAtAb0AJEF7gBzBNMAbQctADQFXAAfBXAAlwRrAIMFcACOBi8ARwS+/+MFCQCmBFoAmgWyALUEiACRBYcAXwSoAGkEqABpBLcAOgNJADsE9gBZBpQAWQbkAGQGVgA2BSsAMQRKAFMECAB5B8EARQZ1AD8H+wCtBqEAkAT2AHkEHQBlBa0AJAUgAEYFZACbBBQAAAgpAAAEFAAACCkAAAK5AAACCgAAAVwAAAR/AAACMAAAAaIAAADRAAAAAAAABYgAswZ9ALsDpgANAZkAYAGZADABlwAkAZoAUALUAGAC2wA8AsEAJARpAEYEjwBXArIAigPEAKYFWgCmB6oARAJmAGwCZgBZA6MAOwOrAEgDYAB6BKYARgaRAKcEPgBPBegAewPOAGgIywCrBQEAZgUXAJgGuwBvB1AAawd/AGwG2wBrBKIATAWOAKkErwBFBJIAqATFAD8IOgBrAgz/tASCAGUELQCYBDYAngQ8AJkECAArAkwAxwKPAG4CAwBcBG4AHwAAAAAIMwBbCDUAXAQcAFwDjQBXBIAAcwML/6IB/P+2AiUAGwGRAGcDpACDA54AgQOfAIED9ABtBA4AaQPz/14D7wBuA6QAWwH9AJ8EtQApBHUAmwSPAHIEpgCbBEMAmwQdAJsEzwByBPYAmwH6AJsECwBBBF0AmwO5AJsF9ACbBRkAmwTLAHIE4QByBKkAmwRvAF0ELABHBQIAjAS4ACoGBQBBBIQAOAReACAEPgBOBHcAewJpAEID4QBaBBIAWQRkAEcEaQBdBC0AegO5AEcELQBcBCcASwInAF4DVQBxA2gAaQL8AEoDeQByA3oAewMMAF4DggByA2sAaQOkAHwDlgCPArUAngNHAG8EfgBeBH4AOQR+AJoEjwCHBDoAHgRCADsEbwBaBH4AZgTDAGQEiABgBUQAtgRiAHIFLwC1BSQAtgQTAJIFPQC2BA8AkgR+AFQEdQCbA2oAgQH7AAACNQAlBYcALgWHAC4EpgAGBMYAOwKM/+MFSgAnBUoAJwVKACcFSgAnBUoAJwVKACcFSgAnBR4AgwSqALYEqgC2BKoAtgSqALYCP//cAj8AwwI///ICP//MBbQAtgWQAIIFkACCBZAAggWQAIIFkACCBWgAlgVoAJYFaACWBWgAlgTyAB4EYgByBGIAcgRiAHIEYgByBGIAcgRiAHIEYgByBDsAYQQ3AGIENwBiBDcAYgQ3AGIB+v+1AfoAmwH6/8sB+v+lBIgAkQSIAGAEiABgBIgAYASIAGAEiABgBIgAjQSIAI0EiACNBIgAjQQCABsEAgAbBUoAJwRiAHIFSgAnBGIAcgVKACcEYgByBR4AgwQ7AGEFHgCDBDsAYQUeAIMEOwBhBR4AgwQ7AGEFaQC2BR4AZASqALYENwBiBKoAtgQ3AGIEqgC2BDcAYgSqALYENwBiBKoAtgQ3AGIFfgCFBIgAZgV+AIUEiABmBX4AhQSIAGYFfgCFBIgAZgWzALYEiACRAj//xQH6/54CP/+/Afr/mAI///UB+v/OAj8AIQH8AAACPwC3BqkAwwQHAKEEagA/AgP/tAUkALYEEwCSBGAAtgH8AKEEYAC2AfwAWwRgALYCkgChBGAAtgLYAKEFtAC2BIgAkQW0ALYEiACRBbQAtgSIAJEEiP/SBZAAggSIAGAFkACCBIgAYAWQAIIEiABgBUwAtQLKAJEFTAC1AsoAWAVMALUCygBpBOMAWgQrAGYE4wBaBCsAZgTjAFoEKwBmBOMAWgQrAGYE4wBaBCsAZgTGADsCjAAdBMYAOwKMAB0ExgA7ArQAHQVoAJYEiACNBWgAlgSIAI0FaACWBIgAjQVoAJYEiACNBWgAlgSIAI0FaACWBIgAjQcNAEgGDgAwBPIAHgQCABsE8gAeBMkAYQQCAF4EyQBhBAIAXgTJAGEEAgBeB3r/8gbBAD0FcgBzBIkAYASm//MEpv/zBCwARwS1ACkEtQApBLUAKQS1ACkEtQApBLUAKQS1ACkEjwByBEMAmwRDAJsEQwCbBEMAmwH6/7MB+gCbAfr/yQH6/6MFGQCbBMsAcgTLAHIEywByBMsAcgTLAHIFAgCMBQIAjAUCAIwFAgCMBF4AIAS1ACkEtQApBLUAKQSPAHIEjwByBI8AcgSPAHIEpgCbBEMAmwRDAJsEQwCbBEMAmwRDAJsEzwByBM8AcgTPAHIEzwByBPYAmwH6/5wB+v+WAfr/zAH6//cB+gCPBAsAQQRdAJsDuQCbA7kAmwO5AJsDuQCbBRkAmwUZAJsFGQCbBMsAcgTLAHIEywByBKkAmwSpAJsEqQCbBG8AXQRvAF0EbwBdBG8AXQQsAEcELABHBQIAjAUCAIwFAgCMBQIAjAUCAIwFAgCMBgUAQQReACAEXgAgBD4ATgQ+AE4EPgBOCN4AXQVKACcFDv/mBhcAEwKjABkFpABSBVb/jQVmAD8Cl//IBUoAJwUXALYEqgC2BMkAYQWzALYCPwDDBSQAtgcDALYFtAC2BZAAggUZALYExgA7BPIAHgUJAEECP//MBPIAHgSFAGQEUABjBIgAkQKXAMMEXQCPBHMAmgSIAGAEiACaBAIALgQCAC4Cl//TBF0AjwSIAGAEXQCPBpcAegSqALYEcwC1BOMAWgI/AMMCP//MBGoAPwUkALYFJAC2BQcAUQVKACcFFwC2BHMAtQSqALYFtAC2BwMAtgWzALYFkACCBbUAtgUZALYFHgCDBMYAOwUJAEEEYgByBDcAYgSeAJwEiABgBIgAkQQ7AGEEAgAbBAIALgQ3AGIDWwCaBCsAZgH8AKEB+v+lAgv/tgRSAJwEAgAbBw0ASAYOADAHDQBIBg4AMAcNAEgGDgAwBPIAHgQCABsBZQBnAo8AaQQeAKkEugBCAgP/tAGZADAHAwC2BwIAkAVKACcEYgByBZD/PgcsAEIHeABCBKoAtgW0ALYENwBiBJ4AnAWJAF0FmgBfBQoAFwQD//kIigBgCZIAggS/AFEEEABYBR4AgwQ7AGEE8gAeBAIALgI/AMMHQwAbBiAAFQI/AMMFSgAnBGIAcgVKACcEYgByB3r/8gbBAD0EqgC2BDcAYgWHAF8ENwBiBDcAYgdDABsGIAAVBL8AUQQQAFgFtAC2BJ4AnAW0ALYEngCcBZAAggSIAGAFcgBzBIwAYAVyAHMEjABgBWQAsQRNAGQFBwBRBAIAGwUHAFEEAgAbBQcAUQQCABsFegCXBFkAZwbrALUGNgCdBQkAQQQCAC4EiABkBakAMASgACgFSgAnBGIAcgVKACcEYgByBUoAJwRiAHIFSgAnBGL/rgVKACcEYgByBUoAJwRiAHIFSgAnBGIAcgVKACcEYgByBUoAJwRiAHIFSgAnBGIAcgVKACcEYgByBUoAJwRiAHIEqgC2BDcAYgSqALYENwBiBKoAtgQ3AGIEqgC2BDcAYgSq//gEN/+zBKoAtgQ3AGIEqgC2BDcAYgSqALYENwBiAj8AwwH6AJsCPwC3AfwAlgWQAIIEiABgBZAAggSIAGAFkACCBIgAYAWQAEwEiP/LBZAAggSIAGAFkACCBIgAYAWQAIIEiABgBX8AcQSTAGAFfwBxBJMAYAV/AHEEkwBgBX8AcQSTAGAFfwBxBJMAYAVoAJYEiACNBWgAlgSIAI0FkACWBPMAjQWQAJYE8wCNBZAAlgTzAI0FkACWBPMAjQWQAJYE8wCNBPIAHgQCABsE8gAeBAIAGwTyAB4EAgAbBKYAZASmAGQFJAC2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ABEQACEzNTMDIgYVFBY7AREzETMyNjU0JiMDeBsBAgFO/rL+/hu5Hf79/rQBTAEDHbnWxtHRxh25HcTS0sQFHv69/vv++f67xsYBQwEHAQUBRc7+nenMzucDavyW6c7L6AAAAAABALT+oQWSBbAACwAAEzMRIREzETMDIxEhtLkC17mVEqX72QWw+uUFG/rp/ggBXwABAJcAAATEBbAAEwAAAREjEQ4BIyImNREzERQWMzI2NxEExLlhsHv187qMomm8ZwWw+lACYR0azvIBxv46q38cHAK4AAEAtAAABtIFsAALAAABESERMxEhETMRIREBbgH6uQH4ufniBbD65QUb+uUFG/pQBbAAAAABALT+oQdrBbAADwAAAREhETMRIREzETMDIxEhEQFuAfq5Afi5mRKm+gEFsPrlBRv65QUb+uX+DAFfBbAAAAAAAgARAAAFuAWwAAwAFQAAEyERITIWFRQGIyERIQERITI2NTQmIxECVQFo7vz97f3f/mQCVQFonJSUnAWw/ajhx8joBRv9qP3Sn355mAAAAAADALUAAAY1BbAACgATABcAAAEhMhYVFAYjIREzGQEhMjY1NCYjASMRMwFuAWju/P3t/d+5AWiclJScA1+5uQNY4cfI6AWw/RP90p9+eZj9PQWwAAACAKYAAASxBbAACgATAAABITIWFRQGIyERMxkBITI2NTQmIwFfAWju/P3t/d+5AWiclJScA1jhx8joBbD9E/3Sn355mAAAAAABALH/7AT2BcYAHwAAEzQAMzIAGQEQACMiADUzFBYzMhI9ASE1ITU0AiMiBhWxAST2+wEw/tD7+/7hubWsq8f9uwJFx6ustQPf1QES/qb+7f7//uz+qAEB46CvAQjNOJU2zgEJsKEAAAIAw//rBt4FxQAVACMAAAEQACEgABE1IxEjETMRMzUQACEgABEnNAIjIgIVERQSMzISNQbe/rv+9v7+/sbXubnXAToBAgEKAUW52ry0z8+0vdkCV/70/qABYAEMKP2BBbD9ZEQBCwFi/p7+9QLJAQb++sn+/cv++gEFzAACAGMAAARnBbAADQAWAAAhIwEuATU0JDMhESMRIQEhIgYVFBYzIQEoxQFVkJABC/UBz7r+qwFV/uujpKSdARsCbzbDktTi+lACPALeloiHowAAAAACAGH/6wQoBhEAGwApAAABMhId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ACkAAAAHAJoA0QFy//8AZv5MA/cGBAImAEkAAAAGAJpdGwAA//8Ahf/rBNsHYQImACkAAAAHAJwA/AGx//8AZv5MA/cGCgImAEkAAAAHAJwAiABa//8Ahf/rBNsHIgImACkAAAAHAJ0BoAFy//8AZv5MA/cFywImAEkAAAAHAJ0BLAAb//8Ahf3lBNsFxQImACkAAAAHAZEBq/62//8AZv5MA/cGbQImAEkAAAAHAaUBMwBW//8AtgAABP0HRgImACoAAAAHAJoA+gFd//8AkQAAA/oHRQImAEoAAAAHAJoAIwFc////xQAAAncHUQImACsAAAAHAKD/QwFg////ngAAAlAF+gImAIoAAAAHAKD/HAAJ////vwAAAokG+gImACsAAAAHAG7/RwFK////mAAAAmIFpAImAIoAAAAHAG7/IP/0////9QAAAkwHTAImACsAAAAHAJz/dAGc////zgAAAiUF9QImAIoAAAAHAJz/TQBF//8AIf5YAYEFsAImACsAAAAGAJ/vCAAA//8AAP5QAWAGGAImAEsAAAAGAJ/OAAAA//8AtwAAAYYHDQImACsAAAAHAJ0AFwFd//8Aw//rBf8FsAAmACsAAAAHACwCPwAA//8Aof5LA2MGGAAmAEsAAAAHAEwB/AAA//8AP//rBIsHOQImACwAAAAHAJoBhQFQ////tP5LAjkF3AImAJgAAAAHAJr/M//z//8Atv31BRwFsAImAC0AAAAHAZEBev7G//8Akv33BBQGGAImAE0AAAAHAZEBGP7I//8AtgAABCUG4AImAC4AAAAHAHMANwEa//8AoQAAAkMHXAImAE4AAAAHAHMAJQGW//8Atv33BCUFsAImAC4AAAAHAZEBdP7I//8AW/33AVoGGAImAE4AAAAHAZH///7I//8AtgAABCUFsQImAC4AAAAHAZEB2QTF//8AoQAAAq0GGAAmAE4AAAAHAZEBVgUs//8AtgAABCUFsAImAC4AAAAHAJ0Bxf3F//8AoQAAAq0GGAAmAE4AAAAHAJ0BPv23//8AtgAABP4HHwImADAAAAAHAHMB/wFZ//8AkQAAA/gF3QImAFAAAAAHAHMBaQAX//8Atv33BP4FsAImADAAAAAHAZEB2P7I//8Akf33A/gETgImAFAAAAAHAZEBQv7I//8AtgAABP4HRwImADAAAAAHAJsBFwFe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//8AWP5SA6wETAImAOoAAAAHAZwBQ/+5//8Ag/5RBMkFxQImACUAAAAHAZwB7v+4//8AYf5RA/IETgImAEUAAAAHAZwBWP+4//8AHgAABNMFsAIGADsAAP//AC7+YAPfBDoCBgC4AAD//wDDAAABfAWwAgYAKwAA//8AGwAABygHTAImANUAAAAHAJwB+AGc//8AFQAABgQF9QImAOkAAAAHAJwBjQBF//8AwwAAAXwFsAIGACsAAP//ACcAAAUiB0wCJgAjAAAABwCcAPsBnP//AHL/7APsBgoCJgBDAAAABgCcfVoAAP//ACcAAAUiBwwCJgAjAAAABwBoAKoBXP//AHL/7APsBcoCJgBDAAAABgBoLBoAAP////IAAAdXBbACBgB/AAD//wA9/+sGfAROAgYAhAAA//8AtgAABHUHTAImACcAAAAHAJwAxwGc//8AYv/sA+kGCwImAEcAAAAHAJwAggBb//8AX//rBRAG3gImAUEAAAAHAGgAfQEu//8AYv/sA+kETwIGAJkAAP//AGL/7APpBcsCJgCZAAAABgBoMRsAAP//ABsAAAcoBwwCJgDVAAAABwBoAacBXP//ABUAAAYEBbUCJgDpAAAABwBoATwABf//AFH/6wRnByECJgDWAAAABwBoAGEBcf//AFj/7QOsBckCJgDqAAAABgBoCBkAAP//ALYAAAT+BvoCJgDXAAAABwBuAQQBSv//AJwAAAQBBaQCJgDrAAAABgBudfQAAP//ALYAAAT+BwwCJgDXAAAABwBoAOABXP//AJwAAAQBBbUCJgDrAAAABgBoUQUAAP//AIL/6wUNByECJgAxAAAABwBoAMoBcf//AGD/7AQnBcoCJgBRAAAABgBoSRoAAP//AHP/6wT+BcUCBgESAAD//wBg/+wEJwROAgYBEwAA//8Ac//rBP4HBwImARIAAAAHAGgA0gFX//8AYP/sBCcF5gImARMAAAAGAGgyNgAA//8Asf/sBPYHIgImAOIAAAAHAGgAtwFy//8AZP/rA+AFygImAPoAAAAGAGgmGgAA//8AUf/rBMgG+gImANkAAAAHAG4ArQFK//8AG/5LA+QFpAImAFsAAAAGAG4p9AAA//8AUf/rBMgHDAImANkAAAAHAGgAiQFc//8AG/5LA+QFtQImAFsAAAAGAGgFBQAA//8AUf/rBMgHSwIm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IABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMgAuADAAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAcABhAGMAaABlAC4AbwByAGcALwBsAGkAYwBlAG4AcwBlAHMALwBMAEkAQwBFAE4AUwBFAC0AMgAuADAAAAAAAgAAAAAAAP9qAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAQcAAABAgACAAMABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAowCEAIUAvQCWAOgAhgCOAIsAnQCpAKQAigEDAIMAkwDyAPMAjQCXAIgBBADeAPEAngCqAPUA9AD2AKIAkADwAJEA7QCJAKAA6gC4AKEA7gEFANcBBgDiAOMBBwEIALAAsQEJAKYBCgELAQwBDQEOAQ8A2ADhANsA3ADdAOAA2QDfARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAR8BIAEhASIAnwEjASQBJQEmAScBKAEpASoBKwEsAS0AmwEuAS8BMAExATIBMwE0ATUBNgE3ATgBOQE6ATsBPAE9AT4BPwFAAUEBQgFDAUQBRQFGAUcBSAFJAUoBSwFMAU0BTgFPAVABUQFSAVMBVAFVAVYBVwFYAVkBWgFbAVwBXQFeAV8BYAFhAWIBYwFkAWUBZgFnAWgBaQFqAWsBbAFtAW4BbwFwAXEBcgFzAXQBdQF2AXcBeAF5AXoBewF8AX0BfgF/AYABgQGCAYMBhAGFAYYBhwGIAYkBigGLAYwBjQGOAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNALIAswHOALYAtwDEAc8AtAC1AMUAggDCAIcB0ACrAMYAvgC/ALwB0QHSAdMB1AHVAdYB1wHYAIwB2QHaAdsB3AHdAJgAmgCZAO8ApQCSAJwApwCPAJQAlQC5Ad4B3wHgAMAB4QHiAeMB5AHlAeYB5wHoAekB6gHrAewB7QHuAe8B8AHxAfIB8wH0AfUB9gH3AfgB+QH6AfsB/AH9Af4B/wIAAgECAgIDAgQCBQIGAgcCCAIJAgoCCwIMAg0CDgIPAhACEQISAhMCFAIVAhYCFwIYAhkCGgIbAhwCHQIeAh8CIAIhAiICIwIkAiUCJgInAigCKQIqAisCLAItAi4CLwIwAjECMgIzAjQCNQI2AjcArAI4AjkA6QI6AjsCPACtAMkAxwCuAGIAYwI9AGQAywBlAMgAygDPAMwAzQDOAGYA0wDQANEArwBnANYA1ADVAGgA6wBqAGkAawBtAGwAbgI+AG8AcQBwAHIAcwB1AHQAdgB3AHgAegB5AHsAfQB8AH8AfgCAAIEA7AC6Aj8CQAJBAkICQwJEAP0A/gJFAkYCRwJIAP8BAAJJAkoCSwJMAk0CTgJPAlACUQJSAlMCVAJVAlYA+AD5AlcCWAJZAloCWwJcAl0CXgJfAmACYQJiAmMCZAJlAmYCZwJoAmkCagJrAmwCbQJuAm8CcAJxAnICcwJ0AnUCdgJ3AngCeQJ6AnsCfAJ9An4CfwKAAoECggKDAoQChQKGAocCiAKJAooA+wD8AosCjADkAOUCjQKOAo8CkAKRApICkwKUApUClgKXApgCmQKaApsCnAKdAp4CnwKgAqECogC7AqMCpAKlAqYA5gDnAqcCqAKpAqoCqwKsAq0CrgKvArACsQKyArMCtAK1ArYCtwK4ArkCugK7ArwCvQK+Ar8CwALBAsICwwLEAsUCxgLHAsgCyQLKAssCzALNAs4CzwLQAtEC0gLTAtQC1QLWAtcC2ALZAtoC2wLcAt0C3gLfAuAC4QLiAuMC5ALlAuYC5wLoAukC6gLrAuwC7QLuAu8C8ALxAvIC8wL0AvUC9gL3AvgC+QL6AvsC/AL9Av4C/wMAAwEDAgMDAwQDBQMGAwcDCAMJAwoDCwMMAw0DDgMPAxADEQMSAxMDFAMVAxYDFwMYAxkDGgMbAxwDHQMeAx8DIAMhAyIDIwMkAyUDJgMnAygDKQMqAysDLAMtAy4DLwMwAzEDMgMzAzQDNQM2AzcDOAM5AzoDOwM8Az0DPgM/A0ADQQNCA0MDRANFA0YDRwNIA0kDSgNLA0wDTQNOA08DUANRA1IDUwNUA1UDVgNXA1gDWQNaA1sDXANdA14DXwNgA2EDYgNjA2QDZQNmA2cDaANpA2oDawNsA20DbgNvA3ADcQNyA3MDdAN1A3YDdwN4A3kDegN7A3wDfQN+A38DgAOBA4IDgwOEA4UDhgOHA4gDiQOKA4sDjAONA44DjwOQA5EDkgOTA5QDlQOWA5cDmAOZA5oDmwOcA50DngOfA6ADoQOiA6MDpAOlA6YDpwOoA6kDqgOrA6wDrQOuA68DsAOxA7IDswO0A7UDtgO3A7gDuQO6A7sDvAO9A74DvwPAA8EDwgPDA8QDxQPGA8cDyAPJA8oDywPMA80DzgPPA9AD0QPSA9MD1APVA9YD1wPYA9kD2gPbA9wD3QPeA98D4APhA+ID4wPkA+UD5gPnA+gD6QPqA+sD7APtA+4D7wPwA/ED8gPzA/QD9QP2A/cD+AP5A/oD+wP8A/0D/gP/BAAEAQQCBAMEBAQFBAYEBwQIBAkECgQLBAwEDQQOBA8EEAQRBBIEEwQUBBUEFgQXBBgEGQQaBBsEHAQdBB4EHwQgBCEA9wQiBCMABAd1bmkwMDA5Bm1hY3Jvbg5wZXJpb2RjZW50ZXJlZARIYmFyDGtncmVlbmxhbmRpYwNFbmcDZW5nBWxvbmdzBU9ob3JuBW9ob3JuBVVob3JuBXVob3JuB3VuaTAyMzcFc2Nod2EHdW5pMDJGMwlncmF2ZWNvbWIJYWN1dGVjb21iCXRpbGRlY29tYgRob29rB3VuaTAzMEYIZG90YmVsb3cFdG9ub3MNZGllcmVzaXN0b25vcwlhbm90ZWxlaWEFR2FtbWEFRGVsdGEFVGhldGEGTGFtYmRhAlhpAlBpBVNpZ21hA1BoaQNQc2kFYWxwaGEEYmV0YQVnYW1tYQVkZWx0YQdlcHNpbG9uBHpldGEDZXRhBXRoZXRhBGlvdGEGbGFtYmRhAnhpA3JobwZzaWdtYTEFc2lnbWEDdGF1B3Vwc2lsb24DcGhpA3BzaQVvbWVnYQd1bmkwM0QxB3VuaTAzRDIHdW5pMDNENgd1bmkwNDAyB3VuaTA0MDQHdW5pMDQwOQd1bmkwNDBBB3VuaTA0MEIHdW5pMDQwRgd1bmkwNDExB3VuaTA0MTQHdW5pMDQxNgd1bmkwNDE3B3VuaTA0MTgHdW5pMDQxQgd1bmkwNDIzB3VuaTA0MjQHdW5pMDQyNgd1bmkwNDI3B3VuaTA0MjgHdW5pMDQyOQd1bmkwNDJBB3VuaTA0MkIHdW5pMDQyQwd1bmkwNDJEB3VuaTA0MkUHdW5pMDQyRgd1bmkwNDMxB3VuaTA0MzIHdW5pMDQzMwd1bmkwNDM0B3VuaTA0MzYHdW5pMDQzNwd1bmkwNDM4B3VuaTA0M0EHdW5pMDQzQgd1bmkwNDNDB3VuaTA0M0QHdW5pMDQzRgd1bmkwNDQyB3VuaTA0NDQHdW5pMDQ0Ngd1bmkwNDQ3B3VuaTA0NDgHdW5pMDQ0OQd1bmkwNDRBB3VuaTA0NEIHdW5pMDQ0Qwd1bmkwNDREB3VuaTA0NEUHdW5pMDQ0Rgd1bmkwNDUyB3VuaTA0NTQHdW5pMDQ1OQd1bmkwNDVBB3VuaTA0NUIHdW5pMDQ1Rgd1bmkwNDYwB3VuaTA0NjEHdW5pMDQ2Mwd1bmkwNDY0B3VuaTA0NjUHdW5pMDQ2Ngd1bmkwNDY3B3VuaTA0NjgHdW5pMDQ2OQd1bmkwNDZBB3VuaTA0NkIHdW5pMDQ2Qwd1bmkwNDZEB3VuaTA0NkUHdW5pMDQ2Rgd1bmkwNDcyB3VuaTA0NzMHdW5pMDQ3NAd1bmkwNDc1B3VuaTA0N0EHdW5pMDQ3Qgd1bmkwNDdDB3VuaTA0N0QHdW5pMDQ3RQd1bmkwNDdGB3VuaTA0ODAHdW5pMDQ4MQd1bmkwNDgyB3VuaTA0ODMHdW5pMDQ4NAd1bmkwNDg1B3VuaTA0ODYHdW5pMDQ4OAd1bmkwNDg5B3VuaTA0OEQHdW5pMDQ4RQd1bmkwNDhGB3VuaTA0OTAHdW5pMDQ5MQd1bmkwNDk0B3VuaTA0OTUHdW5pMDQ5Qwd1bmkwNDlEB3VuaTA0QTAHdW5pMDRBMQd1bmkwNEE0B3VuaTA0QTUHdW5pMDRBNgd1bmkwNEE3B3VuaTA0QTgHdW5pMDRBOQd1bmkwNEI0B3VuaTA0QjUHdW5pMDRCOAd1bmkwNEI5B3VuaTA0QkEHdW5pMDRCQwd1bmkwNEJEB3VuaTA0QzMHdW5pMDRDNAd1bmkwNEM3B3VuaTA0QzgHdW5pMDREOAd1bmkwNEUwB3VuaTA0RTEHdW5pMDRGQQd1bmkwNEZCB3VuaTA1MDAHdW5pMDUwMgd1bmkwNTAzB3VuaTA1MDQHdW5pMDUwNQd1bmkwNTA2B3VuaTA1MDcHdW5pMDUwOAd1bmkwNTA5B3VuaTA1MEEHdW5pMDUwQgd1bmkwNTBDB3VuaTA1MEQHdW5pMDUwRQd1bmkwNTBGB3VuaTA1MTAHdW5pMjAwMAd1bmkyMDAxB3VuaTIwMDIHdW5pMjAwMwd1bmkyMDA0B3VuaTIwMDUHdW5pMjAwNgd1bmkyMDA3B3VuaTIwMDgHdW5pMjAwOQd1bmkyMDBBB3VuaTIwMEINdW5kZXJzY29yZWRibA1xdW90ZXJldmVyc2VkB3VuaTIwMjUHdW5pMjA3NAluc3VwZXJpb3IEbGlyYQZwZXNldGEERXVybwd1bmkyMTA1B3VuaTIxMTMHdW5pMjExNgllc3RpbWF0ZWQJb25lZWlnaHRoDHRocmVlZWlnaHRocwtmaXZlZWlnaHRocwxzZXZlbmVpZ2h0aHMKY29sb24ubG51bQlxdW90ZWRibHgLY29tbWFhY2NlbnQHdW5pRkVGRgd1bmlGRkZDB3VuaUZGRkQJZml2ZS5zbWNwCGZvdXIuc3VwCXplcm8ubG51bQ5sYXJnZXJpZ2h0aG9vawxjeXJpbGxpY2hvb2sQY3lyaWxsaWNob29rbGVmdAtjeXJpbGxpY3RpYw5icmV2ZXRpbGRlY29tYg1icmV2ZWhvb2tjb21iDmJyZXZlYWN1dGVjb21iE2NpcmN1bWZsZXh0aWxkZWNvbWISY2lyY3VtZmxleGhvb2tjb21iE2NpcmN1bWZsZXhncmF2ZWNvbWITY2lyY3VtZmxleGFjdXRlY29tYg5icmV2ZWdyYXZlY29tYhFjb21tYWFjY2VudHJvdGF0ZQZBLnNtY3AGQi5zbWNwBkMuc21jcAZELnNtY3AGRS5zbWNwBkYuc21jcAZHLnNtY3AGSC5zbWNwBkkuc21jcAZKLnNtY3AGSy5zbWNwBkwuc21jcAZNLnNtY3AGTi5zbWNwBk8uc21jcAZRLnNtY3AGUi5zbWNwBlMuc21jcAZULnNtY3AGVS5zbWNwBlYuc21jcAZXLnNtY3AGWC5zbWNwBlkuc21jcAZaLnNtY3AJemVyby5zbWNwCG9uZS5zbWNwCHR3by5zbWNwCnRocmVlLnNtY3AJZm91ci5zbWNwCHR3by5sbnVtCHNpeC5zbWNwCnNldmVuLnNtY3AKZWlnaHQuc21jcAluaW5lLnNtY3AHb25lLnN1cAd0d28uc3VwCXRocmVlLnN1cAhvbmUubG51bQhmaXZlLnN1cAdzaXguc3VwCXNldmVuLnN1cAllaWdodC5zdXAIbmluZS5zdXAIemVyby5zdXAIY3Jvc3NiYXIJcmluZ2FjdXRlCWRhc2lhb3hpYQp0aHJlZS5sbnVtCWZvdXIubG51bQlmaXZlLmxudW0Ic2l4LmxudW0FZy5hbHQKc2V2ZW4ubG51bQdjaGkuYWx0CmVpZ2h0LmxudW0JYWxwaGEuYWx0CWRlbHRhLmFsdARELmNuBGEuY24FUi5hbHQFSy5hbHQFay5hbHQGSy5hbHQyBmsuYWx0MgluaW5lLmxudW0GUC5zbWNwDWN5cmlsbGljYnJldmUHdW5pMDBBRAZEY3JvYXQEaGJhcgRUYmFyBHRiYXIKQXJpbmdhY3V0ZQphcmluZ2FjdXRlB0FtYWNyb24HYW1hY3JvbgZBYnJldmUGYWJyZXZlB0FvZ29uZWsHYW9nb25lawtDY2lyY3VtZmxleAtjY2lyY3VtZmxleAd1bmkwMTBBB3VuaTAxMEIGRGNhcm9uBmRjYXJvbgdFbWFjcm9uB2VtYWNyb24GRWJyZXZlBmVicmV2ZQpFZG90YWNjZW50CmVkb3RhY2NlbnQHRW9nb25lawdlb2dvbmVrBkVjYXJvbgZlY2Fyb24LR2NpcmN1bWZsZXgLZ2NpcmN1bWZsZXgHdW5pMDEyMAd1bmkwMTIxDEdjb21tYWFjY2VudAxnY29tbWFhY2NlbnQLSGNpcmN1bWZsZXgLaGNpcmN1bWZsZXgGSXRpbGRlBml0aWxkZQdJbWFjcm9uB2ltYWNyb24GSWJyZXZlBmlicmV2ZQdJb2dvbmVrB2lvZ29uZWsKSWRvdGFjY2VudAJJSgJpagtKY2lyY3VtZmxleAtqY2lyY3VtZmxleAxLY29tbWFhY2NlbnQMa2NvbW1hYWNjZW50BkxhY3V0ZQZsYWN1dGUMTGNvbW1hYWNjZW50DGxjb21tYWFjY2VudAZMY2Fyb24GbGNhcm9uBExkb3QEbGRvdAZOYWN1dGUGbmFjdXRlDE5jb21tYWFjY2VudAxuY29tbWFhY2NlbnQGTmNhcm9uBm5jYXJvbgtuYXBvc3Ryb3BoZQdPbWFjcm9uB29tYWNyb24GT2JyZXZlBm9icmV2ZQ1PaHVuZ2FydW1sYXV0DW9odW5nYXJ1bWxhdXQGUmFjdXRlBnJhY3V0ZQxSY29tbWFhY2NlbnQMcmNvbW1hYWNjZW50BlJjYXJvbgZyY2Fyb24GU2FjdXRlBnNhY3V0ZQtTY2lyY3VtZmxleAtzY2lyY3VtZmxleAd1bmkwMjE4B3VuaTAyMTkHdW5pMDIxQQd1bmkwMjFCB3VuaTAxNjIHdW5pMDE2MwZUY2Fyb24GdGNhcm9uBlV0aWxkZQZ1dGlsZGUHVW1hY3Jvbgd1bWFjcm9uBlVicmV2ZQZ1YnJldmUFVXJpbmcFdXJpbmcNVWh1bmdhcnVtbGF1dA11aHVuZ2FydW1sYXV0B1VvZ29uZWsHdW9nb25lawtXY2lyY3VtZmxleAt3Y2lyY3VtZmxleAtZY2lyY3VtZmxleAt5Y2lyY3VtZmxleAZaYWN1dGUGemFjdXRlClpkb3RhY2NlbnQKemRvdGFjY2VudAdBRWFjdXRlB2FlYWN1dGULT3NsYXNoYWN1dGULb3NsYXNoYWN1dGULRGNyb2F0LnNtY3AIRXRoLnNtY3AJVGJhci5zbWNwC0FncmF2ZS5zbWNwC0FhY3V0ZS5zbWNwEEFjaXJjdW1mbGV4LnNtY3ALQXRpbGRlLnNtY3AOQWRpZXJlc2lzLnNtY3AKQXJpbmcuc21jcA9BcmluZ2FjdXRlLnNtY3ANQ2NlZGlsbGEuc21jcAtFZ3JhdmUuc21jcAtFYWN1dGUuc21jcBBFY2lyY3VtZmxleC5zbWNwDkVkaWVyZXNpcy5zbWNwC0lncmF2ZS5zbWNwC0lhY3V0ZS5zbWNwEEljaXJjdW1mbGV4LnNtY3AOSWRpZXJlc2lzLnNtY3ALTnRpbGRlLnNtY3ALT2dyYXZlLnNtY3ALT2FjdXRlLnNtY3AQT2NpcmN1bWZsZXguc21jcAtPdGlsZGUuc21jcA5PZGllcmVzaXMuc21jcAtVZ3JhdmUuc21jcAtVYWN1dGUuc21jcBBVY2lyY3VtZmxleC5zbWNwDlVkaWVyZXNpcy5zbWNwC1lhY3V0ZS5zbWNwDEFtYWNyb24uc21jcAtBYnJldmUuc21jcAxBb2dvbmVrLnNtY3ALQ2FjdXRlLnNtY3AQQ2NpcmN1bWZsZXguc21jcAx1bmkwMTBBLnNtY3ALQ2Nhcm9uLnNtY3ALRGNhcm9uLnNtY3AMRW1hY3Jvbi5zbWNwC0VicmV2ZS5zbWNwD0Vkb3RhY2NlbnQuc21jcAxFb2dvbmVrLnNtY3ALRWNhcm9uLnNtY3AQR2NpcmN1bWZsZXguc21jcAtHYnJldmUuc21jcAx1bmkwMTIwLnNtY3ARR2NvbW1hYWNjZW50LnNtY3AQSGNpcmN1bWZsZXguc21jcAtJdGlsZGUuc21jcAxJbWFjcm9uLnNtY3ALSWJyZXZlLnNtY3AMSW9nb25lay5zbWNwD0lkb3RhY2NlbnQuc21jcBBKY2lyY3VtZmxleC5zbWNwEUtjb21tYWFjY2VudC5zbWNwC0xhY3V0ZS5zbWNwEUxjb21tYWFjY2VudC5zbWNwC0xjYXJvbi5zbWNwCUxkb3Quc21jcAtOYWN1dGUuc21jcBFOY29tbWFhY2NlbnQuc21jcAtOY2Fyb24uc21jcAxPbWFjcm9uLnNtY3ALT2JyZXZlLnNtY3AST2h1bmdhcnVtbGF1dC5zbWNwC1JhY3V0ZS5zbWNwEVJjb21tYWFjY2VudC5zbWNwC1JjYXJvbi5zbWNwC1NhY3V0ZS5zbWNwEFNjaXJjdW1mbGV4LnNtY3ANU2NlZGlsbGEuc21jcAtTY2Fyb24uc21jcBFUY29tbWFhY2NlbnQuc21jcAtUY2Fyb24uc21jcAtVdGlsZGUuc21jcAxVbWFjcm9uLnNtY3ALVWJyZXZlLnNtY3AKVXJpbmcuc21jcBJVaHVuZ2FydW1sYXV0LnNtY3AMVW9nb25lay5zbWNwEFdjaXJjdW1mbGV4LnNtY3AQWWNpcmN1bWZsZXguc21jcA5ZZGllcmVzaXMuc21jcAtaYWN1dGUuc21jcA9aZG90YWNjZW50LnNtY3ALWmNhcm9uLnNtY3APZ2VybWFuZGJscy5zbWNwCkFscGhhdG9ub3MMRXBzaWxvbnRvbm9zCEV0YXRvbm9zCUlvdGF0b25vcwxPbWljcm9udG9ub3MMVXBzaWxvbnRvbm9zCk9tZWdhdG9ub3MRaW90YWRpZXJlc2lzdG9ub3MFQWxwaGEEQmV0YQdFcHNpbG9uBFpldGEDRXRhBElvdGEFS2FwcGECTXUCTnUHT21pY3JvbgNSaG8DVGF1B1Vwc2lsb24DQ2hpDElvdGFkaWVyZXNpcw9VcHNpbG9uZGllcmVzaXMKYWxwaGF0b25vcwxlcHNpbG9udG9ub3MIZXRhdG9ub3MJaW90YXRvbm9zFHVwc2lsb25kaWVyZXNpc3Rvbm9zBWthcHBhB29taWNyb24HdW5pMDNCQwJudQNjaGkMaW90YWRpZXJlc2lzD3Vwc2lsb25kaWVyZXNpcwxvbWljcm9udG9ub3MMdXBzaWxvbnRvbm9zCm9tZWdhdG9ub3MHdW5pMDQwMQd1bmkwNDAzB3VuaTA0MDUHdW5pMDQwNgd1bmkwNDA3B3VuaTA0MDgHdW5pMDQxQQd1bmkwNDBDB3VuaTA0MEUHdW5pMDQxMAd1bmkwNDEyB3VuaTA0MTMHdW5pMDQxNQd1bmkwNDE5B3VuaTA0MUMHdW5pMDQxRAd1bmkwNDFFB3VuaTA0MUYHdW5pMDQyMAd1bmkwNDIxB3VuaTA0MjIHdW5pMDQyNQd1bmkwNDMwB3VuaTA0MzUHdW5pMDQzOQd1bmkwNDNFB3VuaTA0NDAHdW5pMDQ0MQd1bmkwNDQzB3VuaTA0NDUHdW5pMDQ1MQd1bmkwNDUzB3VuaTA0NTUHdW5pMDQ1Ngd1bmkwNDU3B3VuaTA0NTgHdW5pMDQ1Qwd1bmkwNDVFBldncmF2ZQZ3Z3JhdmUGV2FjdXRlBndhY3V0ZQlXZGllcmVzaXMJd2RpZXJlc2lzBllncmF2ZQZ5Z3JhdmUGbWludXRlBnNlY29uZAlleGNsYW1kYmwHdW5pRkIwMgd1bmkwMUYwB3VuaTAyQkMHdW5pMUUzRQd1bmkxRTNGB3VuaTFFMDAHdW5pMUUwMQd1bmkxRjREB3VuaUZCMDMHdW5pRkIwNAd1bmkwNDAwB3VuaTA0MEQHdW5pMDQ1MAd1bmkwNDVEB3VuaTA0NzAHdW5pMDQ3MQd1bmkwNDc2B3VuaTA0NzcHdW5pMDQ3OQd1bmkwNDc4B3VuaTA0OTgHdW5pMDQ5OQd1bmkwNEFBB3VuaTA0QUIHdW5pMDRBRQd1bmkwNEFGB3VuaTA0QzAHdW5pMDRDMQd1bmkwNEMyB3VuaTA0Q0YHdW5pMDREMAd1bmkwNEQxB3VuaTA0RDIHdW5pMDREMwd1bmkwNEQ0B3VuaTA0RDUHdW5pMDRENgd1bmkwNEQ3B3VuaTA0REEHdW5pMDREOQd1bmkwNERCB3VuaTA0REMHdW5pMDRERAd1bmkwNERFB3VuaTA0REYHdW5pMDRFMgd1bmkwNEUzB3VuaTA0RTQHdW5pMDRFNQd1bmkwNEU2B3VuaTA0RTcHdW5pMDRFOAd1bmkwNEU5B3VuaTA0RUEHdW5pMDRFQgd1bmkwNEVDB3VuaTA0RUQHdW5pMDRFRQd1bmkwNEVGB3VuaTA0RjAHdW5pMDRGMQd1bmkwNEYyB3VuaTA0RjMHdW5pMDRGNAd1bmkwNEY1B3VuaTA0RjgHdW5pMDRGOQd1bmkwNEZDB3VuaTA0RkQHdW5pMDUwMQd1bmkwNTEyB3VuaTA1MTMHdW5pMUVBMAd1bmkxRUExB3VuaTFFQTIHdW5pMUVBMwd1bmkxRUE0B3VuaTFFQTUHdW5pMUVBNgd1bmkxRUE3B3VuaTFFQTgHdW5pMUVBOQd1bmkxRUFBB3VuaTFFQUIHdW5pMUVBQwd1bmkxRUFEB3VuaTFFQUUHdW5pMUVBRgd1bmkxRUIwB3VuaTFFQjEHdW5pMUVCMgd1bmkxRUIzB3VuaTFFQjQHdW5pMUVCNQd1bmkxRUI2B3VuaTFFQjcHdW5pMUVCOAd1bmkxRUI5B3VuaTFFQkEHdW5pMUVCQgd1bmkxRUJDB3VuaTFFQkQHdW5pMUVCRQd1bmkxRUJGB3VuaTFFQzAHdW5pMUVDMQd1bmkxRUMyB3VuaTFFQzMHdW5pMUVDNAd1bmkxRUM1B3VuaTFFQzYHdW5pMUVDNwd1bmkxRUM4B3VuaTFFQzkHdW5pMUVDQQd1bmkxRUNCB3VuaTFFQ0MHdW5pMUVDRAd1bmkxRUNFB3VuaTFFQ0YHdW5pMUVEMAd1bmkxRUQxB3VuaTFFRDIHdW5pMUVEMwd1bmkxRUQ0B3VuaTFFRDUHdW5pMUVENgd1bmkxRUQ3B3VuaTFFRDgHdW5pMUVEOQd1bmkxRURBB3VuaTFFREIHdW5pMUVEQwd1bmkxRUREB3VuaTFFREUHdW5pMUVERgd1bmkxRUUwB3VuaTFFRTEHdW5pMUVFMgd1bmkxRUUzB3VuaTFFRTQHdW5pMUVFNQd1bmkxRUU2B3VuaTFFRTcHdW5pMUVFOAd1bmkxRUU5B3VuaTFFRUEHdW5pMUVFQgd1bmkxRUVDB3VuaTFFRUQH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Adz/4QALAOH/1ADx/8kBBP/lARv/4wEv/8QBOP/hAUn/1AFK//UBS//nAVP/0gFU/8kACQDh/8MA8f/PAS//zgE4/+cBO//fAUn/0QFL/+wBU/+gAVT/0QAJAOH/wwDx/88BL//OATj/5wE7/98BSf/RAUv/7AFT/6ABVP/RAAgA4f/JAPH/3wEE/+0BG//rAS//3wE7/+kBSv/1AVT/4AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACADh/+YA8f/QAS//zgE4/+gBSf/nAUv/7QFT/+YBVP/QAAsA1AAUAOH/4ADoABMBOP/hATn/4AE8/+EBQf/pAUn/3wFL/94BU//fAVX/8gAYALP/1AC9/+0AvwARAMX/4ADH/+cAyP/lAMn/7gDUABIA5f/pAPH/1wEv/9cBOf/TATv/1gE8/8UBQf/nAUkADQFLAAwBVP/WAVX/8gGp/+kBrf/nAbX/5wG2/+kB3//wAAUAGf/yAOH/8QFJ//IBS//yAVP/8gAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kABIA1P+uAOEAEgDm/+AA6P+tAOr/1gD4/98A/P/SAQL/4AEX/84BJ//dASn/4gEt/+ABM//gATn/6QE8/9oBRv+9AVD/3wFTABEACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAMANQAEwDh/+YA4v/0AOgAEgDx/+cBL//nATj/5QE5/+gBSf/mAUv/5gFT/+YBVP/nAAkA4f/DAPH/zwEv/84BOP/nATv/3wFJ/9EBS//sAVP/oAFU/9EACQDh/8MA8f/PAS//zgE4/+cBO//fAUn/0QFL/+wBU/+gAVT/0QACANT/4gFT/+QAAgDU/+EA6P/kAAYA6P/uAPH/7gEE//QBG//xAS//7wFU/+8ABADx//QBBP/1AS//9QFU//UAAgDo/8kBF//uAAYA6AAUAPH/7QD3/+IBL//tATn/7QFU/+0AAQEX//EABQEX/+sBqf/rAa3/6QG1/+sBtv/rABMASAANAML/qwDD/8AAx//VAOj/qgEX/+IBGwAMAUoACwFMAAsBp/+/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/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABAAL/+YAP//0AF//7wE8/+0ABQBI/+4AWf/qAbv/8AG8/+0Bvv/wAAUASP/uAFn/6gG7//ABvP/tAb7/8AAFAEj/7gBZ/+oBu//wAbz/7QG+//AABQBI/+4AWf/qAbv/8AG8/+0Bvv/wAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABp//tAb3/9QAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGn/+0Bvf/1AAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAaf/7QG9//UACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABp//tAb3/9QAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGn/+0Bvf/1AAEBp//rAAEBp//rAAEBp//rAAEBp//rACQACP/iAAsAFAAM/88APwASAEj/6gBU/9gAVv/qAF8AEwBr/64Aev/NAH//oACE/8EAh//AALP/0AC3/+oAuv/GALsADQC9/+kAvv/WAMH/6ADC/7oAxf/pAMf/ywDI/9oAyf/HAW7/0wGn/6sBqf/NAa3/ywG1/8sBtv/LAbn/8wG8//MBvf/vAdz/6AHf/+4ABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MAAQDx//UAAQDx//UAAQDx//UAAQDx//UAAQDx/8AACQDF/+oA6P+4APH/6gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAMX/6gDo/7gA8f/qAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAkAxf/qAOj/uADx/+oBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oACQDF/+oA6P+4APH/6gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAMX/6gDo/7gA8f/qAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAcASAANAMEACwDC/+oAxQAMAOj/yAEX//EB3//1AAcASAANAMEACwDC/+oAxQAMAOj/yAEX//EB3//1ABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAcA8f/wAQT/8QEb//MBL//xAUr/8wFM/+kBVP/TAAQAC//mAD//9ABf/+8BPP/tAAQAC//mAD//9ABf/+8BPP/tAAQAC//mAD//9ABf/+8BPP/tAAQAC//mAD//9ABf/+8BPP/tAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAaf/7QG9//UABQBI/+4AWf/qAbv/8AG8/+0Bvv/wAAEA8f/1AAUASP/uAFn/6gG7//ABvP/tAb7/8AABAPH/9QAFAEj/7gBZ/+oBu//wAbz/7QG+//AAAQDx//UABQBI/+4AWf/qAbv/8AG8/+0Bvv/wAAEA8f/1AAUASP/uAFn/6gG7//ABvP/tAb7/8AABAPH/9QAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QAAQDx/8AACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AABAaf/6wATAFn/wQCz/8UAxf+0AOX/1wDx/7kBBP+yARf/0gEb/8gBL/+gATn/xQFB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/+wAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABQBI/+4AWf/qAbv/8AG8/+0Bvv/wAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABp//tAb3/9QAkAAj/4gALABQADP/PAD8AEgBI/+oAVP/YAFb/6gBfABMAa/+uAHr/zQB//6AAhP/BAIf/wACz/9AAt//qALr/xgC7AA0Avf/pAL7/1gDB/+gAwv+6AMX/6QDH/8sAyP/aAMn/xwFu/9MBp/+rAan/zQGt/8sBtf/LAbb/ywG5//MBvP/zAb3/7wHc/+gB3//uABwAIf/DAFb/7wBZ/98Alv/uALP/5QC0/9EAvwARAMX/yADUABMA4f/FAPH/ygEv/58BOP9RATn/ewE7/8oBPP/dAUH/8gFJ/3UBS//KAVP/TwFU/4wBrf/1AbX/9QG5/8cBuv/xAbv/zQG8/90Bvv/EAAIBDAALAVP/5gAFAEj/7gBZ/+oBu//wAbz/7QG+//AACABZ/+UAs//LAMj/5AGnAA0Bqf/tAa3/6wG1/+wBtv/sAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QAEwBZ/8EAs//FAMX/tADl/9cA8f+5AQT/sgEX/9IBG//IAS//oAE5/8UBQf/kAUr/zAFM/8wBVP/LAVX/7wGp/+gBrf/mAbX/5wG2/+cACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGn/+0Bvf/1AAkAVgAOAH//nwC//94Awv/lANT/qADo/8oBRv/jAaf/xgHf//UAOQBU/7UAWf/HAGv+uAB6/ygAf/9NAIT/jgCH/6EAs/+uALr/fgC+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Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABp//tAb3/9QAFAEj/7gBZ/+oBu//wAbz/7QG+//AAAQDx//UACQALABQAPwARAFT/4gBfABMBp/+0Aan/2QGt/9kBtf/ZAbb/2QAHAEgADQDBAAsAwv/qAMUADADo/8gBF//xAd//9QAEAAv/5gA///QAX//vATz/7QAkAAj/4gALABQADP/PAD8AEgBI/+oAVP/YAFb/6gBfABMAa/+uAHr/zQB//6AAhP/BAIf/wACz/9AAt//qALr/xgC7AA0Avf/pAL7/1gDB/+gAwv+6AMX/6QDH/8sAyP/aAMn/xwFu/9MBp/+rAan/zQGt/8sBtf/LAbb/ywG5//MBvP/zAb3/7wHc/+gB3//uAAcASAANAMEACwDC/+oAxQAMAOj/yAEX//EB3//1AAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAYALP/1AC9/+0AvwARAMX/4ADH/+cAyP/lAMn/7gDUABIA5f/pAPH/1wEv/9cBOf/TATv/1gE8/8UBQf/nAUkADQFLAAwBVP/WAVX/8gGp/+kBrf/nAbX/5wG2/+kB3//wAAEBF//xAAgA1AAVAOgAFQE4/+QBOf/lATv/5AFJ/+MBS//iAVP/5AAcACH/wwBW/+8AWf/fAJb/7gCz/+UAtP/RAL8AEQDF/8gA1AATAOH/xQDx/8oBL/+fATj/UQE5/3sBO//KATz/3QFB//IBSf91AUv/ygFT/08BVP+MAa3/9QG1//UBuf/HAbr/8QG7/80BvP/dAb7/xAAHAPH/8AEE//EBG//zAS//8QFK//MBTP/pAVT/0wAcACH/wwBW/+8AWf/fAJb/7gCz/+UAtP/RAL8AEQDF/8gA1AATAOH/xQDx/8oBL/+fATj/UQE5/3sBO//KATz/3QFB//IBSf91AUv/ygFT/08BVP+MAa3/9QG1//UBuf/HAbr/8QG7/80BvP/dAb7/xAAHAPH/8AEE//EBG//zAS//8QFK//MBTP/pAVT/0wAFAEj/7gBZ/+oBu//wAbz/7QG+//AAAQDx//UAAQDx//UAAQDx//UAGACz/9QAvf/tAL8AEQDF/+AAx//nAMj/5QDJ/+4A1AASAOX/6QDx/9cBL//XATn/0wE7/9YBPP/FAUH/5wFJAA0BSwAMAVT/1gFV//IBqf/pAa3/5wG1/+cBtv/pAd//8AABARf/8QAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGn/+0Bvf/1AAkAxf/qAOj/uADx/+oBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oACQDF/+oA6P+4APH/6gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAGAMX/6gDo/+4A8f+wAS//7AFU/+wB3P/oABIA1P+uAOEAEgDm/+AA6P+tAOr/1gD4/98A/P/SAQL/4AEX/84BJ//dASn/4gEt/+ABM//gATn/6QE8/9oBRv+9AVD/3wFTABEABwBIAA0AwQALAML/6gDFAAwA6P/IARf/8QHf//UAEgDU/64A4QASAOb/4ADo/60A6v/WAPj/3wD8/9IBAv/gARf/zgEn/90BKf/iAS3/4AEz/+ABOf/pATz/2gFG/70BUP/fAVMAEQAHAEgADQDBAAsAwv/qAMUADADo/8gBF//xAd//9QASANT/rgDhABIA5v/gAOj/rQDq/9YA+P/fAPz/0gEC/+ABF//OASf/3QEp/+IBLf/gATP/4AE5/+kBPP/aAUb/vQFQ/98BUwARAAcASAANAMEACwDC/+oAxQAMAOj/yAEX//EB3//1ABgAs//UAL3/7QC/ABEAxf/gAMf/5wDI/+UAyf/uANQAEgDl/+kA8f/XAS//1wE5/9MBO//WATz/xQFB/+cBSQANAUsADAFU/9YBVf/yAan/6QGt/+cBtf/nAbb/6QHf//AAAQEX//EAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MAHAAh/8MAVv/vAFn/3wCW/+4As//lALT/0QC/ABEAxf/IANQAEwDh/8UA8f/KAS//nwE4/1EBOf97ATv/ygE8/90BQf/yAUn/dQFL/8oBU/9PAVT/jAGt//UBtf/1Abn/xwG6//EBu//NAbz/3QG+/8QABwDx//ABBP/xARv/8wEv//EBSv/zAUz/6QFU/9MABQBI/+4AWf/qAbv/8AG8/+0Bvv/wAAEA8f/1AAUASP/uAFn/6gG7//ABvP/tAb7/8AABAPH/9QAFAEj/7gBZ/+oBu//wAbz/7QG+//AAAQDx//UABQBI/+4AWf/qAbv/8AG8/+0Bvv/wAAEA8f/1AAUASP/uAFn/6gG7//ABvP/tAb7/8AABAPH/9QAFAEj/7gBZ/+oBu//wAbz/7QG+//AAAQDx//UABQBI/+4AWf/qAbv/8AG8/+0Bvv/wAAEA8f/1AAUASP/uAFn/6gG7//ABvP/tAb7/8AABAPH/9QAIANQAFQDoABUBOP/kATn/5QE7/+QBSf/jAUv/4gFT/+QACADUABUA6AAVATj/5AE5/+UBO//kAUn/4wFL/+IBU//kAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAaf/7QG9//UACQDF/+oA6P+4APH/6gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGn/+0Bvf/1AAkAxf/qAOj/uADx/+oBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABp//tAb3/9QAJAMX/6gDo/7gA8f/qAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAaf/7QG9//UACQDF/+oA6P+4APH/6gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAH//3wCw//MAsv/wAL//6gDU/98A4f/gAVP/4AGn/+0Bvf/1AAkAxf/qAOj/uADx/+oBBP/wARv/8QEv/+sBSv/1AVT/7AHc/+oACQB//98AsP/zALL/8AC//+oA1P/fAOH/4AFT/+ABp//tAb3/9QAJAMX/6gDo/7gA8f/qAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAkAf//fALD/8wCy//AAv//qANT/3wDh/+ABU//gAaf/7QG9//UACQDF/+oA6P+4APH/6gEE//ABG//xAS//6wFK//UBVP/sAdz/6gAJAMX/6gDo/7gA8f/qAQT/8AEb//EBL//rAUr/9QFU/+wB3P/qAAEBp//rAAEBp//rACQACP/iAAsAFAAM/88APwASAEj/6gBU/9gAVv/qAF8AEwBr/64Aev/NAH//oACE/8EAh//AALP/0AC3/+oAuv/GALsADQC9/+kAvv/WAMH/6ADC/7oAxf/pAMf/ywDI/9oAyf/HAW7/0wGn/6sBqf/NAa3/ywG1/8sBtv/LAbn/8wG8//MBvf/vAdz/6AHf/+4ABwBIAA0AwQALAML/6gDFAAwA6P/IARf/8QHf//UAJAAI/+IACwAUAAz/zwA/ABIASP/qAFT/2ABW/+oAXwATAGv/rgB6/80Af/+gAIT/wQCH/8AAs//QALf/6gC6/8YAuwANAL3/6QC+/9YAwf/oAML/ugDF/+kAx//LAMj/2gDJ/8cBbv/TAaf/qwGp/80Brf/LAbX/ywG2/8sBuf/zAbz/8wG9/+8B3P/oAd//7gAHAEgADQDBAAsAwv/qAMUADADo/8gBF//xAd//9QAkAAj/4gAL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/94CE//rAhT/6wIV/+sCFv/rAhf/6wId/+sCHv/rAh//6wIg/+sCIf/rAiL/6gIj/+oCJP/qAiX/6gIm/+gCJ//oAij/VgIp/94CKv9WAiv/3gIs/1YCLf/eAi//6wIx/+sCM//rAjX/6wI3/+sCOf/rAjv/6wI9/+sCP//rAkH/6wJD/+sCRf/rAkf/6wJJ/+sCV/74Amv/6wJt/+sCb//rAoAAFAKCABQChAAUAof/6gKJ/+oCi//qAo3/6gKP/+oCkf/qApX/6AL4/1YDAP9WAxD/6wMU/+oDFv/rAxj/6AMb/+oDHP/rAx3/6gMk/vgDKP9WAzMAFAM1/94DNv/rAzj/6wM6/+sDO//oAz3/6wNE/+gDTP/oA1X/VgNW/94DXP/rA2H/6ANi/+sDZ//rA2n/6ANu/1YDb//eA3D/VgNx/94Ddf/rA3f/6wN4/+sDgv/rA4T/6wOG/+sDiv/oA4z/6AOO/+gDlf/rA5j/VgOZ/94Dmv9WA5v/3gOc/1YDnf/eA57/VgOf/94DoP9WA6H/3gOi/1YDo//eA6T/VgOl/94Dpv9WA6f/3gOo/1YDqf/eA6r/VgOr/94DrP9WA63/3gOu/1YDr//eA7H/6wOz/+sDtf/rA7f/6wO5/+sDu//rA73/6wO//+sDxf/rA8f/6wPJ/+sDy//rA83/6wPP/+sD0f/rA9P/6wPV/+sD1//rA9n/6wPb/+sD3f/qA9//6gPh/+oD4//qA+X/6gPn/+oD6f/qA+v/6APt/+gD7//oA/YAFAAfADb/1QA4/+QAOf/sADv/3QDN/9UA0f/VART/5AEu/9UBNv/VAgv/3QKA/9UCgv/VAoT/1QKS/+wClP/dApb/3QL9/90DDP/dAw//3QMz/9UDRf/sA0f/7ANJ/+wDS//dA2D/5ANo/90D6v/dA+z/3QPu/90D9v/VBBP/3QAaADb/sAA4/+0AO//QAM3/sADR/7ABFP/tAS7/sAE2/7ACC//QAoD/sAKC/7AChP+wApT/0AKW/9AC/f/QAwz/0AMP/9ADM/+wA0v/0ANg/+0DaP/QA+r/0APs/9AD7v/QA/b/sAQT/9AAEAAs/+4AN//uAgf/7gII/+4CCf/uAgr/7gJX/+4Chv/uAoj/7gKK/+4CjP/uAo7/7gKQ/+4DJP/uA9z/7gPe/+4ARwAEABAACQAQAEX/6ABG/+gAR//oAEn/6ABT/+gAkf/oAJX/6AC2/+gAw//oAMT/6ADy/+gA/v/oARn/6AEd/+gBNf/oAUf/6AFI/+gBUv/oAWUAEAFmABABaAAQAWkAEAFqABACE//oAhT/6AIV/+gCFv/oAhf/6AIv/+gCMf/oAjP/6AI1/+gCN//oAjn/6AI7/+gCPf/oAj//6AJB/+gCQ//oAkX/6AJH/+gCSf/oAxD/6AM2/+gDOv/oAz3/6ANNABADTgAQA1IAEANc/+gDYv/oA2f/6AN1/+gDd//oA3j/6AOE/+gDlf/oA7H/6AOz/+gDtf/oA7f/6AO5/+gDu//oA73/6AO//+gD0//oA9X/6APX/+gD2//oAD0ARf/sAEb/7ABH/+wASf/sAFP/7ACR/+wAlf/sALb/7ADD/+wAxP/sAPL/7AD+/+wBGf/sAR3/7AE1/+wBR//sAUj/7AFS/+wCE//sAhT/7AIV/+wCFv/sAhf/7AIv/+wCMf/sAjP/7AI1/+wCN//sAjn/7AI7/+wCPf/sAj//7AJB/+wCQ//sAkX/7AJH/+wCSf/sAxD/7AM2/+wDOv/sAz3/7ANc/+wDYv/sA2f/7AN1/+wDd//sA3j/7AOE/+wDlf/sA7H/7AOz/+wDtf/sA7f/7AO5/+wDu//sA73/7AO//+wD0//sA9X/7APX/+wD2//sABcAUf/sARP/7AId/+wCHv/sAh//7AIg/+wCIf/sAmv/7AJt/+wCb//sAxb/7AMc/+wDOP/sA4L/7AOG/+wDxf/sA8f/7APJ/+wDy//sA83/7APP/+wD0f/sA9n/7AAGAA7/hAAQ/4QBZ/+EAWv/hAFv/4QBcP+EABAALP/sADf/7AIH/+wCCP/sAgn/7AIK/+wCV//sAob/7AKI/+wCiv/sAoz/7AKO/+wCkP/sAyT/7APc/+wD3v/sAAEpLAAEAAAAIgBOAMQBqgKQA2oEBAaeCGQJNgosC/IMJAxWDNQOug8wEAISFBLKFDAU6hVwFc4WkBcGFxgXQhiUGtIa9BwKHIgcshzcAB0ABP/yAAn/8gBY//MAW//zALj/8wEV//MBZf/yAWb/8gFo//IBaf/yAWr/8gIm//MCJ//zApX/8wMY//MDO//zA0T/8wNM//MDTf/yA07/8gNS//IDYf/zA2n/8wOK//MDjP/zA47/8wPr//MD7f/zA+//8wA5ACX/8wAp//MAMf/zADP/8wCB//MAkP/zAJT/8wCu//MAzv/zAQP/8wES//MBFv/zARj/8wEa//MBHP/zATT/8wFR//MB+P/zAgL/8wID//MCBP/zAgX/8wIG//MCLv/zAjD/8wIy//MCNP/zAkL/8wJE//MCRv/zAkj/8wJq//MCbP/zAm7/8wKf//MC/P/zAwn/8wMv//MDMv/zA1f/8wNj//MDZv/zA4H/8wOD//MDhf/zA8T/8wPG//MDyP/zA8r/8wPM//MDzv/zA9D/8wPS//MD1P/zA9b/8wPY//MD2v/zADkAJf/mACn/5gAx/+YAM//mAIH/5gCQ/+YAlP/mAK7/5gDO/+YBA//mARL/5gEW/+YBGP/mARr/5gEc/+YBNP/mAVH/5gH4/+YCAv/mAgP/5gIE/+YCBf/mAgb/5gIu/+YCMP/mAjL/5gI0/+YCQv/mAkT/5gJG/+YCSP/mAmr/5gJs/+YCbv/mAp//5gL8/+YDCf/mAy//5gMy/+YDV//mA2P/5gNm/+YDgf/mA4P/5gOF/+YDxP/mA8b/5gPI/+YDyv/mA8z/5gPO/+YD0P/mA9L/5gPU/+YD1v/mA9j/5gPa/+YANgAj/+QAOv/SADv/0wCt/+QAr//kANX/0gEI/+QB8f/kAfL/5AHz/+QB9P/kAfX/5AH2/+QB9//kAgv/0wIo/+QCKv/kAiz/5AKU/9MClv/TAvj/5AL9/9MDAP/kAwz/0wMN/9IDD//TAyj/5AM0/9IDS//TA1X/5ANo/9MDa//SA27/5ANw/+QDef/SA5P/0gOY/+QDmv/kA5z/5AOe/+QDoP/kA6L/5AOk/+QDpv/kA6j/5AOq/+QDrP/kA67/5APq/9MD7P/TA+7/0wP4/9IEAP/SBBP/0wAmAA7/HgAQ/x4AI//NAK3/zQCv/80BCP/NAWf/HgFr/x4Bb/8eAXD/HgHx/80B8v/NAfP/zQH0/80B9f/NAfb/zQH3/80CKP/NAir/zQIs/80C+P/NAwD/zQMo/80DVf/NA27/zQNw/80DmP/NA5r/zQOc/80Dnv/NA6D/zQOi/80DpP/NA6b/zQOo/80Dqv/NA6z/zQOu/80ApgBF/9wARv/cAEf/3ABJ/9wAT//zAFD/8wBR/9YAUv/zAFP/3ABX/90AWP/hAFv/4QCR/9wAlf/cAJf/3QC2/9wAuP/hALz/8wDD/9wAxP/cAMb/3QDn//MA6//zAOz/8wDu//MA7//zAPD/8wDy/9wA8//zAPX/8wD2//MA+f/zAPv/8wD+/9wBAP/zARP/1gEV/+EBGf/cAR3/3AEx//MBNf/cAUD/8wFF//MBR//cAUj/3AFS/9wCE//cAhT/3AIV/9wCFv/cAhf/3AIc//MCHf/WAh7/1gIf/9YCIP/WAiH/1gIi/90CI//dAiT/3QIl/90CJv/hAif/4QIv/9wCMf/cAjP/3AI1/9wCN//cAjn/3AI7/9wCPf/cAj//3AJB/9wCQ//cAkX/3AJH/9wCSf/cAmT/8wJm//MCaP/zAmn/8wJr/9YCbf/WAm//1gKH/90Cif/dAov/3QKN/90Cj//dApH/3QKV/+EDEP/cAxL/8wMU/90DFv/WAxj/4QMb/90DHP/WAx3/3QM2/9wDN//zAzj/1gM5//MDOv/cAzv/4QM9/9wDPv/zA0P/8wNE/+EDTP/hA1T/8wNc/9wDXf/zA2H/4QNi/9wDZ//cA2n/4QN1/9wDd//cA3j/3AN+//MDgP/zA4L/1gOE/9wDhv/WA4r/4QOM/+EDjv/hA5L/8wOV/9wDsf/cA7P/3AO1/9wDt//cA7n/3AO7/9wDvf/cA7//3APF/9YDx//WA8n/1gPL/9YDzf/WA8//1gPR/9YD0//cA9X/3APX/9wD2f/WA9v/3APd/90D3//dA+H/3QPj/90D5f/dA+f/3QPp/90D6//hA+3/4QPv/+ED8//zA/X/8wP///MEDP/zBA7/8wQQ//MAcQAE/9oACf/aAEX/8ABG//AAR//wAEn/8ABT//AAV//vAFj/3ABb/9wAkf/wAJX/8ACX/+8Atv/wALj/3ADD//AAxP/wAMb/7wDy//AA/v/wARX/3AEZ//ABHf/wATX/8AFH//ABSP/wAVL/8AFl/9oBZv/aAWj/2gFp/9oBav/aAhP/8AIU//ACFf/wAhb/8AIX//ACIv/vAiP/7wIk/+8CJf/vAib/3AIn/9wCL//wAjH/8AIz//ACNf/wAjf/8AI5//ACO//wAj3/8AI///ACQf/wAkP/8AJF//ACR//wAkn/8AKH/+8Cif/vAov/7wKN/+8Cj//vApH/7wKV/9wDEP/wAxT/7wMY/9wDG//vAx3/7wM2//ADOv/wAzv/3AM9//ADRP/cA0z/3ANN/9oDTv/aA1L/2gNc//ADYf/cA2L/8ANn//ADaf/cA3X/8AN3//ADeP/wA4T/8AOK/9wDjP/cA47/3AOV//ADsf/wA7P/8AO1//ADt//wA7n/8AO7//ADvf/wA7//8APT//AD1f/wA9f/8APb//AD3f/vA9//7wPh/+8D4//vA+X/7wPn/+8D6f/vA+v/3APt/9wD7//cADQABP+gAAn/oABX//EAWP/FAFv/xQCX//EAuP/FAMb/8QEV/8UBZf+gAWb/oAFo/6ABaf+gAWr/oAIi//ECI//xAiT/8QIl//ECJv/FAif/xQKH//ECif/xAov/8QKN//ECj//xApH/8QKV/8UDFP/xAxj/xQMb//EDHf/xAzv/xQNE/8UDTP/FA03/oANO/6ADUv+gA2H/xQNp/8UDiv/FA4z/xQOO/8UD3f/xA9//8QPh//ED4//xA+X/8QPn//ED6f/xA+v/xQPt/8UD7//FAD0ARf/nAEb/5wBH/+cASf/nAFP/5wCR/+cAlf/nALb/5wDD/+cAxP/nAPL/5wD+/+cBGf/nAR3/5wE1/+cBR//nAUj/5wFS/+cCE//nAhT/5wIV/+cCFv/nAhf/5wIv/+cCMf/nAjP/5wI1/+cCN//nAjn/5wI7/+cCPf/nAj//5wJB/+cCQ//nAkX/5wJH/+cCSf/nAxD/5wM2/+cDOv/nAz3/5wNc/+cDYv/nA2f/5wN1/+cDd//nA3j/5wOE/+cDlf/nA7H/5wOz/+cDtf/nA7f/5wO5/+cDu//nA73/5wO//+cD0//nA9X/5wPX/+cD2//nAHEABAAMAAkADABF/+gARv/oAEf/6ABJ/+gAUf/qAFP/6ABYAAsAWwALAJH/6ACV/+gAtv/oALgACwDD/+gAxP/oAPL/6AD+/+gBE//qARUACwEZ/+gBHf/oATX/6AFH/+gBSP/oAVL/6AFlAAwBZgAMAWgADAFpAAwBagAMAhP/6AIU/+gCFf/oAhb/6AIX/+gCHf/qAh7/6gIf/+oCIP/qAiH/6gImAAsCJwALAi//6AIx/+gCM//oAjX/6AI3/+gCOf/oAjv/6AI9/+gCP//oAkH/6AJD/+gCRf/oAkf/6AJJ/+gCa//qAm3/6gJv/+oClQALAxD/6AMW/+oDGAALAxz/6gM2/+gDOP/qAzr/6AM7AAsDPf/oA0QACwNMAAsDTQAMA04ADANSAAwDXP/oA2EACwNi/+gDZ//oA2kACwN1/+gDd//oA3j/6AOC/+oDhP/oA4b/6gOKAAsDjAALA44ACwOV/+gDsf/oA7P/6AO1/+gDt//oA7n/6AO7/+gDvf/oA7//6APF/+oDx//qA8n/6gPL/+oDzf/qA8//6gPR/+oD0//oA9X/6APX/+gD2f/qA9v/6APrAAsD7QALA+8ACwAMAFr/7QBc/+0A6f/tApj/7QKa/+0CnP/tAzz/7QNs/+0Dev/tA5T/7QP5/+0EAf/tAAwAWv/yAFz/8gDp//ICmP/yApr/8gKc//IDPP/yA2z/8gN6//IDlP/yA/n/8gQB//IAHwBY//QAWv/yAFv/9ABc//MAuP/0AOn/8gEV//QCJv/0Aif/9AKV//QCmP/zApr/8wKc//MDGP/0Azv/9AM8//IDRP/0A0z/9ANh//QDaf/0A2z/8gN6//IDiv/0A4z/9AOO//QDlP/yA+v/9APt//QD7//0A/n/8gQB//IAeQAE/8oACf/KADb/0gA4/9QAOv/0ADv/0wBP/9EAUP/RAFL/0QBY/+YAWv/vAFv/5gC4/+YAvP/RAM3/0gDR/9IA1f/0ANn/7QDc/+EA5//RAOn/7wDr/9EA7P/RAO7/0QDv/9EA8P/RAPP/0QD1/9EA9v/RAPn/0QD7/9EBAP/RART/1AEV/+YBLv/SATH/0QE2/9IBQP/RAUX/0QFl/8oBZv/KAWj/ygFp/8oBav/KAgv/0wIc/9ECJv/mAif/5gJk/9ECZv/RAmj/0QJp/9ECgP/SAoL/0gKE/9IClP/TApX/5gKW/9MC/f/TAwz/0wMN//QDD//TAxL/0QMY/+YDJ//tAzP/0gM0//QDN//RAzn/0QM7/+YDPP/vAz7/0QND/9EDRP/mA0v/0wNM/+YDTf/KA07/ygNS/8oDVP/RA13/0QNg/9QDYf/mA2j/0wNp/+YDa//0A2z/7wN5//QDev/vA37/0QOA/9EDif/tA4r/5gOL/+0DjP/mA43/7QOO/+YDj//hA5L/0QOT//QDlP/vA+r/0wPr/+YD7P/TA+3/5gPu/9MD7//mA/P/0QP1/9ED9v/SA/j/9AP5/+8D+v/hA/z/4QP//9EEAP/0BAH/7wQM/9EEDv/RBBD/0QQT/9MAHQA2/74AWP/vAFv/7wC4/+8Azf++ANH/vgEV/+8BLv++ATb/vgIm/+8CJ//vAoD/vgKC/74ChP++ApX/7wMY/+8DM/++Azv/7wNE/+8DTP/vA2H/7wNp/+8Div/vA4z/7wOO/+8D6//vA+3/7wPv/+8D9v++ADQANv/mADj/5wA6//IAO//nAFr/8QDN/+YA0f/mANX/8gDZ/+4A3P/oAOn/8QEU/+cBLv/mATb/5gIL/+cCgP/mAoL/5gKE/+YClP/nApb/5wL9/+cDDP/nAw3/8gMP/+cDJ//uAzP/5gM0//IDPP/xA0v/5wNg/+cDaP/nA2v/8gNs//EDef/yA3r/8QOJ/+4Di//uA43/7gOP/+gDk//yA5T/8QPq/+cD7P/nA+7/5wP2/+YD+P/yA/n/8QP6/+gD/P/oBAD/8gQB//EEE//nAIQAIwAQACX/6AAp/+gAMf/oADP/6AA2/+AAOP/gADv/3wCB/+gAkP/oAJT/6ACtABAArv/oAK8AEADN/+AAzv/oAM8AEADR/+AA2AAQANz/4QDtABAA9P/gAP8AEAED/+gBCAAQARL/6AEU/+ABFv/oARj/6AEa/+gBHP/oAS7/4AE0/+gBNv/gAU0AEAFR/+gB8QAQAfIAEAHzABAB9AAQAfUAEAH2ABAB9wAQAfj/6AIC/+gCA//oAgT/6AIF/+gCBv/oAgv/3wIoABACKgAQAiwAEAIu/+gCMP/oAjL/6AI0/+gCQv/oAkT/6AJG/+gCSP/oAmr/6AJs/+gCbv/oAoD/4AKC/+AChP/gApT/3wKW/98Cn//oAvgAEAL8/+gC/f/fAwAAEAMJ/+gDDP/fAw//3wMoABADL//oAzL/6AMz/+ADS//fA1UAEANX/+gDYP/gA2P/6ANm/+gDaP/fA24AEANwABADgf/oA4P/6AOF/+gDj//hA5D/4AOWABADlwAQA5gAEAOaABADnAAQA54AEAOgABADogAQA6QAEAOmABADqAAQA6oAEAOsABADrgAQA8T/6APG/+gDyP/oA8r/6APM/+gDzv/oA9D/6APS/+gD1P/oA9b/6APY/+gD2v/oA+r/3wPs/98D7v/fA/b/4AP6/+ED+//gA/z/4QP9/+AEEQAQBBIAEAQT/98ALQA2//EAOP/0ADr/9AA7//AAzf/xAM//9QDR//EA1f/0ANj/9QDZ//MBFP/0AS7/8QE2//EBTf/1Agv/8AKA//ECgv/xAoT/8QKU//AClv/wAv3/8AMM//ADDf/0Aw//8AMn//MDM//xAzT/9ANL//ADYP/0A2j/8ANr//QDef/0A4n/8wOL//MDjf/zA5P/9AOW//UD6v/wA+z/8APu//AD9v/xA/j/9AQA//QEEf/1BBP/8ABZACMADwA2/+YAOP/mADoADgA7/+YArQAPAK8ADwDN/+YAzwAOANH/5gDVAA4A2AAOANkACwDc/+UA7QAPAPT/6AD/AA8BCAAPART/5gEu/+YBNv/mAU0ADgHxAA8B8gAPAfMADwH0AA8B9QAPAfYADwH3AA8CC//mAigADwIqAA8CLAAPAoD/5gKC/+YChP/mApT/5gKW/+YC+AAPAv3/5gMAAA8DDP/mAw0ADgMP/+YDJwALAygADwMz/+YDNAAOA0v/5gNVAA8DYP/mA2j/5gNrAA4DbgAPA3AADwN5AA4DiQALA4sACwONAAsDj//lA5D/6AOTAA4DlgAOA5cADwOYAA8DmgAPA5wADwOeAA8DoAAPA6IADwOkAA8DpgAPA6gADwOqAA8DrAAPA64ADwPq/+YD7P/mA+7/5gP2/+YD+AAOA/r/5QP7/+gD/P/lA/3/6AQAAA4EEQAOBBIADwQT/+YALgA2/+MAOv/lADv/5ADN/+MAz//lANH/4wDV/+UA2P/lANn/6QDt/+oA///qAS7/4wE2/+MBTf/lAgv/5AKA/+MCgv/jAoT/4wKU/+QClv/kAv3/5AMM/+QDDf/lAw//5AMn/+kDM//jAzT/5QNL/+QDaP/kA2v/5QN5/+UDif/pA4v/6QON/+kDk//lA5b/5QOX/+oD6v/kA+z/5APu/+QD9v/jA/j/5QQA/+UEEf/lBBL/6gQT/+QAIQA2/+IAOv/kAM3/4gDP/+QA0f/iANX/5ADY/+QA2f/pAO3/6wD//+sBLv/iATb/4gFN/+QCgP/iAoL/4gKE/+IDDf/kAyf/6QMz/+IDNP/kA2v/5AN5/+QDif/pA4v/6QON/+kDk//kA5b/5AOX/+sD9v/iA/j/5AQA/+QEEf/kBBL/6wAXADb/6wA7//MAzf/rANH/6wEu/+sBNv/rAgv/8wKA/+sCgv/rAoT/6wKU//MClv/zAv3/8wMM//MDD//zAzP/6wNL//MDaP/zA+r/8wPs//MD7v/zA/b/6wQT//MAMABP/+8AUP/vAFL/7wBa//AAvP/vAOf/7wDp//AA6//vAOz/7wDu/+8A7//vAPD/7wDz/+8A9f/vAPb/7wD5/+8A+//vAQD/7wEx/+8BQP/vAUX/7wIc/+8CZP/vAmb/7wJo/+8Caf/vAxL/7wM3/+8DOf/vAzz/8AM+/+8DQ//vA1T/7wNd/+8DbP/wA3r/8AN+/+8DgP/vA5L/7wOU//AD8//vA/X/7wP5//AD///vBAH/8AQM/+8EDv/vBBD/7wAdAAT/8gAJ//IAWP/1AFv/9QC4//UBFf/1AWX/8gFm//IBaP/yAWn/8gFq//ICJv/1Aif/9QKV//UDGP/1Azv/9QNE//UDTP/1A03/8gNO//IDUv/yA2H/9QNp//UDiv/1A4z/9QOO//UD6//1A+3/9QPv//UABAD0/+0DkP/tA/v/7QP9/+0ACgAE//UACf/1AWX/9QFm//UBaP/1AWn/9QFq//UDTf/1A07/9QNS//UAVABF//AARv/wAEf/8ABJ//AAUf/rAFP/8ACR//AAlf/wALb/8ADD//AAxP/wAPL/8AD+//ABE//rARn/8AEd//ABNf/wAUf/8AFI//ABUv/wAhP/8AIU//ACFf/wAhb/8AIX//ACHf/rAh7/6wIf/+sCIP/rAiH/6wIv//ACMf/wAjP/8AI1//ACN//wAjn/8AI7//ACPf/wAj//8AJB//ACQ//wAkX/8AJH//ACSf/wAmv/6wJt/+sCb//rAxD/8AMW/+sDHP/rAzb/8AM4/+sDOv/wAz3/8ANc//ADYv/wA2f/8AN1//ADd//wA3j/8AOC/+sDhP/wA4b/6wOV//ADsf/wA7P/8AO1//ADt//wA7n/8AO7//ADvf/wA7//8APF/+sDx//rA8n/6wPL/+sDzf/rA8//6wPR/+sD0//wA9X/8APX//AD2f/rA9v/8ACPAAQADQAJAA0AQ//wAEX/sABG/7AAR/+wAEn/sABR/9YAU/+wAFgACwBbAAsAkf+wAJX/sAC2/7AAuAALAMT/sADt/68A8v+wAP7/sAD//68BE//WARUACwEZ/7ABHf+wATX/sAFH/7ABSP+wAVL/sAFlAA0BZgANAWgADQFpAA0BagANAgz/8AIN//ACDv/wAg//8AIQ//ACEf/wAhL/8AIT/7ACFP+wAhX/sAIW/7ACF/+wAh3/1gIe/9YCH//WAiD/1gIh/9YCJgAL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AlQA0QJXAlcA0gJZAlkA0wJbAlsA1AJdAl0A1QJfAl8A1gJhAmEA1wJjAm8A2AJxAnEA5QJzAnMA5gJ1AnUA5wKAAoAA6AKCAoIA6QKEAoQA6gKGAoYA6wKIAogA7AKKAooA7QKMAowA7gKOAo4A7wKQApAA8AKSApIA8QKUApcA8gKZApkA9gKbApsA9wL4Av0A+AMAAw8A/gMSAxIBDgMWAxYBDwMYAxgBEAMcAxwBEQMfAyABEgMiAysBFAMtAy8BHgMxAzYBIQM4AzkBJwM7Az4BKQNEA0UBLQNHA0cBLwNJA0kBMANLA04BMQNSA1cBNQNaA1oBOwNcA1wBPANgA2EBPQNmA2YBPwNoA3EBQAN0A3UBSgN3A3oBTAOBA4IBUAOGA4YBUgOIA44BUwOTA5QBWgOYA8ABXAPCA8IBhQPEA9EBhgPZA9kBlAPcA9wBlQPeA94BlgPqA+8BlwPyA/IBnQP0A/QBngP2A/YBnwP4A/kBoAP+BAEBogQEBAQBpgQGBAcBpwQJBAkBqQQNBA0BqgQPBA8BqwQTBBMBrAABAAoACgAoADMANAA9AEgATQBWAFkAXQABACIAmQCwALIAswC0ALsAvgC/AMAAxQDHAMgAyQDNANEA0wDUANYA3gDiAOMA5ADlAOYA6ADqAOwA8QDzAPYA+wD+AR0B3AACAHYABAAEAAAACQAJAAEADgAOAAIAEAAQAAMAIwAnAAQAKgAyAAkANgA8ABIAQwBFABkARwBHABwASgBKAB0ATwBSAB4AVABUACIAWABYACMAWgBcACQAiACIACcArACvACgAuAC4ACwAvAC8AC0AwgDCAC4AzwDQAC8A0gDSADEA1QDVADIA1wDZADMA2wDbADYA3QDdADcA3wDfADgA4QDhADkA5wDnADoA6QDpADsA8gDyADwA9wD3AD0A+QD6AD4A/wEAAEABBQEFAEIBCAEIAEMBEwEVAEQBJwEpAEcBLAEsAEoBLgEuAEsBRQFFAEwBZQFrAE0BbwFwAFQB7AHtAFYB7wHvAFgB8QIXAFkCHAIhAIACJgI2AIYCOAJBAJcCSgJMAKECTgJOAKQCUAJQAKUCUgJSAKYCVAJUAKcCVwJXAKgCWQJZAKkCWwJbAKoCXQJdAKsCXwJfAKwCYQJhAK0CYwJvAK4CcQJxALsCcwJzALwCdQJ1AL0CgAKAAL4CggKCAL8ChAKEAMAChgKGAMECiAKIAMICigKKAMMCjAKMAMQCjgKOAMUCkAKQAMYCkgKSAMcClAKcAMgC+AL9ANEDAAMPANcDEgMSAOcDFgMWAOgDGAMYAOkDHAMcAOoDHwMgAOsDIgMrAO0DLQMvAPcDMQM2APoDOAM+AQADRANFAQcDRwNHAQkDSQNJAQoDSwNOAQsDUgNXAQ8DWgNaARUDXANcARYDYANhARcDZgNxARkDdAN1ASUDdwN6AScDgQOCASsDhgOGAS0DiAOOAS4DkwOUATUDmAPAATcDwgPCAWADxAPRAWED2QPZAW8D3APcAXAD3gPeAXED6gPvAXID8gPyAXgD9AP0AXkD9gP2AXoD+AP5AXsD/gQBAX0EBAQEAYEEBgQHAYIECQQJAYQEDQQNAYUEDwQPAYYEEwQTAYcAAgE4AAQABAAdAAkACQAdAA4ADgAeABAAEAAeACQAJAABACUAJQAEACYAJgADACcAJwAFACoAKwACACwALAAMAC0ALQAJAC4ALgAKAC8AMAACADEAMQADADIAMgALADYANgAGADcANwAMADgAOAANADkAOQAQADoAOgAOADsAOwAPADwAPAARAEMAQwATAEQARAAVAEUARQAUAEcARwAWAEoASgAXAE8AUAAXAFEAUQAYAFIAUgAVAFQAVAAaAFgAWAAZAFoAWgAbAFsAWwAZAFwAXAAcAIgAiAAVAKwArAAHAK4ArgADALgAuAAZALwAvAAXAMIAwgAVAM8A0AAfANIA0gACANUA1QAOANcA2AACANkA2QASANsA2wACAN0A3QACAN8A3wAfAOEA4QAfAOcA5wAIAOkA6QAbAPIA8gAVAPcA9wAgAPkA+QAgAPoA+gAVAP8BAAAgAQUBBQAgARMBEwAYARQBFAANARUBFQAZAScBJwAVASgBKAAHASkBKQAIASwBLAAJAS4BLgAJAUUBRQAIAWUBZgAdAWcBZwAeAWgBagAdAWsBawAeAW8BcAAeAewB7QADAe8B7wAGAfgB+AAEAfkB/AAFAf0CAQACAgICBgADAgcCCgAMAgsCCwAPAgwCEgATAhMCEwAUAhQCFwAWAhwCHAAXAh0CIQAYAiYCJwAZAikCKQATAisCKwATAi0CLQATAi4CLgAEAi8CLwAUAjACMAAEAjECMQAUAjICMgAEAjMCMwAU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AAAAGAAAAAAAFQAEABgAAAAAAAUAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAUACAANAAIABQAAAAUAFQAFAAAABQAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAGAAAAAAABQAVAAoAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAABgAAAAVABUAAAAAAAAAAAABAAAAAAAAAAUAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXABcAAAAHAAcAEwAHAAcABwATAAAAAAAAABMAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAEQARABEAEQARABEAEQAFAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAGAAYABgAGAA4AGgAaABoAGgAaABoAGgAVABUAFQAVABUAAAAAAAAAAAAYAAgACAAIAAgACAALAAsACwALAAIAAgARABoAEQAaABEAGgAFABUABQAVAAUAFQAFABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUABQAVAAUAFQAFABUABQAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAGAAAABgAGAAFAAgABQAIAAUACAAAAAAAAAAAAAAAAAAZABsAGQAbABkAGwAZABsAGQAbAAoAAAAKAAAACgAAAAYACwAGAAsABgALAAYACwAGAAsABgALAAkAAAAOAAIADgAUAAwAFAAMABQADAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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","sampleImage.jpg":"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AAGyAAAAEAAAAAEAAAAAABJwcmludE91dHB1dE9wdGlvbnMAAAASAAAAAENwdG5ib29sAAAAAABDbGJyYm9vbAAAAAAAUmdzTWJvb2wAAAAAAENybkNib29sAAAAAABDbnRDYm9vbAAAAAAATGJsc2Jvb2wAAAAAAE5ndHZib29sAAAAAABFbWxEYm9vbAAAAAAASW50cmJvb2wAAAAAAEJja2dPYmpjAAAAAQAAAAAAAFJHQkMAAAADAAAAAFJkICBkb3ViQG/gAAAAAAAAAAAAR3JuIGRvdWJAb+AAAAAAAAAAAABCbCAgZG91YkBv4AAAAAAAAAAAAEJyZFRVbnRGI1JsdAAAAAAAAAAAAAAAAEJsZCBVbnRGI1JsdAAAAAAAAAAAAAAAAFJzbHRVbnRGI1B4bEBSAAAAAAAAAAAACnZlY3RvckRhdGFib29sAQAAAABQZ1BzZW51bQAAAABQZ1BzAAAAAFBnUEMAAAAATGVmdFVudEYjUmx0AAAAAAAAAAAAAAAAVG9wIFVudEYjUmx0AAAAAAAAAAAAAAAAU2NsIFVudEYjUHJjQFkAAAAAAAA4QklNA+0AAAAAABAASAAAAAEAAgBIAAAAAQACOEJJTQQmAAAAAAAOAAAAAAAAAAAAAD+AAAA4QklNBA0AAAAAAAQAAAB4OEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAAAAAAAAAAAQA4QklNJxAAAAAAAAoAAQAAAAAAAAACOEJJTQP1AAAAAABIAC9mZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAABADUAAAABAC0AAAAGAAAAAAABOEJJTQP4AAAAAABwAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAADhCSU0EAAAAAAAAAgABOEJJTQQCAAAAAAAEAAAAADhCSU0EMAAAAAAAAgEBOEJJTQQtAAAAAAAGAAEAAAACOEJJTQQIAAAAAAAQAAAAAQAAAkAAAAJAAAAAADhCSU0EHgAAAAAABAAAAAA4QklNBBoAAAAAA0sAAAAGAAAA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aHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxNC0wMy0xOVQwMzowMjoyNiswMTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxNC0wMy0xOVQwMzowMjoyNiswMTowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTQtMDMtMTlUMDM6MDI6MjYrMDE6MDAiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDI4MDExNzQwNzIwNjgxMTg3MUY4MTMxRkI2RTY4OTgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDE4MDExNzQwNzIwNjgxMTg3MUY4MTMxRkI2RTY4OTgiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMTgwMTE3NDA3MjA2ODExODcxRjgxMzFGQjZFNjg5OCIgZGM6Zm9ybWF0PSJpbWFnZS9qcGVnIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjAxODAxMTc0MDcyMDY4MTE4NzFGODEzMUZCNkU2ODk4IiBzdEV2dDp3aGVuPSIyMDE0LTAzLTE5VDAzOjAyOjI2KzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDowMjgwMTE3NDA3MjA2ODExODcxRjgxMzFGQjZFNjg5OCIgc3RFdnQ6d2hlbj0iMjAxNC0wMy0xOVQwMzowMjoyNiswMTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFja2V0IGVuZD0idyI/Pv/iDFhJQ0NfUFJPRklMRQABAQAADEhMaW5vAhAAAG1udHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAABAAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MAAAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIEAAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAAFGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRtZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcAAAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQMAAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAIDGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRleHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhld2xldHQtUGFja2FyZCBDb21wYW55AABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAAA5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAAAAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAAAAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4AAAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFzAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAACjwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAABAAAAAAFAAoADwAUABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8COAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcGSAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8IMghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEadxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXHJfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysCKzYraSudK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCkMNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjauNuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdXRFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ffs2AFYFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9olmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteHO4efiASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8mP0p/br+S/7c/23////uAA5BZG9iZQBkAAAAAAH/2wCEAAYEBAQFBAYFBQYJBgUGCQsIBgYICwwKCgsKCgwQDAwMDAwMEAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBwcHDQwNGBAQGBQODg4UFA4ODg4UEQwMDAwMEREMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDP/AABEIATYCtwMBEQACEQEDEQH/3QAEAFf/xAGiAAAABwEBAQEBAAAAAAAAAAAEBQMCBgEABwgJCgsBAAICAwEBAQEBAAAAAAAAAAEAAgMEBQYHCAkKCxAAAgEDAwIEAgYHAwQCBgJzAQIDEQQABSESMUFRBhNhInGBFDKRoQcVsUIjwVLR4TMWYvAkcoLxJUM0U5KismNzwjVEJ5OjszYXVGR0w9LiCCaDCQoYGYSURUaktFbTVSga8uPzxNTk9GV1hZWltcXV5fVmdoaWprbG1ub2N0dXZ3eHl6e3x9fn9zhIWGh4iJiouMjY6PgpOUlZaXmJmam5ydnp+So6SlpqeoqaqrrK2ur6EQACAgECAwUFBAUGBAgDA20BAAIRAwQhEjFBBVETYSIGcYGRMqGx8BTB0eEjQhVSYnLxMyQ0Q4IWklMlomOywgdz0jXiRIMXVJMICQoYGSY2RRonZHRVN/Kjs8MoKdPj84SUpLTE1OT0ZXWFlaW1xdXl9UZWZnaGlqa2xtbm9kdXZ3eHl6e3x9fn9zhIWGh4iJiouMjY6Pg5SVlpeYmZqbnJ2en5KjpKWmp6ipqqusra6vr/2gAMAwEAAhEDEQA/AO70YnNo6pqrA9cUO5v440rfPxrjSthwdq40l3IdK4KYku2wq0GI2rUYquDKDQgfPpkSGVr/AFSo+EkU+nBwp4nC6lIoW/DHgC8ZaMs/XkTjwhPEWxcSeJ+WPAF4y5rhidjQ48ATxFct01NzjwBeNY0rnrXCIhBkSpcpB+0flkqYEtCWQHrvjwhIkvFzIOorg4AjxFVL4jvTInG2DKrJqFRQ7jIeEy8VSlmDbBvoOSEUEoUlgadMtpoNtFm+nFRa0pKN6U8MKaLvjpu2+FC0hgRU7eIxVsueWxNMSFbaRya128MeFbcxFQRUDwGNJta5NTSowhCwnxJwsbW716nCriD44otbVgeu2KLXiaQH4TTBQTxFxdmNSanCAkEtFqeOKbXLJseu+DhW2jQ9zXwwsVypX9v78BLKlQRU/bGRJZBVBoKc8jTYHDlWof8AHBSEVbyUPxNlUotsSjVMTD7X0ZSQWwFr0oi1akHDbKlX01A61yNp4VJyiHfpkhugrFcNuv3YSGJXiQjtgISCqpNQg1+jIEM7VTdDtvkOBeJYZmY0yQim1prkqQSpujE9SMQqqkZHU4kpc23fAgqbSUB3yQDEyQ8lwQNjXJiLAyQb3NTlwi1GakZ98mIo4mjcLTY48LHiaWSp2bDS2rJKa7A5AhkCUQCxHSn05W2ArubKOv0YKTbYuvfHgRxLXuQcPAvGFM3A8foyXAjjUzOPfJCK8Sm0+S4WBkt9Qk0JJrhpFr1B71wJtplXxxWljcQP44QghT9Q9B0yVKvV/bAQtrmYH2xCkqbsabH78IDFYQw75JBCw07E4UKbuw6ZIBiSos57k5OmNrPWp4n6cNMeJYZHPenthpbcCfHFFv8A/9DvlM2Vuoa4jG1aKjG1aKA4bVaY/DDabdwNcVbo3hjYVaSRvhQ1WvXFXUxQ4DfFbVFlK9hkSGXE2bg9wMeBPGptID+yMIixMlnIV2JB+/JUxBbWVsFJ4my9R0xRxLSRhW1pY0w0qznvhAQ2j0PTAQm0QNxUb+2RLO2mZlWpG2IUlTaSuGmNtCVqUGGk2VpY4aQt5YVaL+2KLdyxRbdcNLa5pKjBS2tWjHfFQqmOMLWtTkbLKgosB2ybArMUOpirsVaIOFWhyGKrgTWmBVwG9anFILjTxwMrXKB3NcSoVUWMAb0r2yBZhUG26iv05Flbfr0Fa0OPDa8Tk1BlIqa4DiXxkYmo7eOVHE2jKpzXyuDko46RLIoJeLHuD9OTOO2HGu/SW/Xrg8JfFVorlm3B28ciYU2CdqyzHvue2Q4WQk01w6ipoBiIp410dyCK8qHEwTxhprhxvXbAIIMm0vPHpicaibbXKkbmnhgEEmaHeVSeuWCLAyCGmmNevXLYxapSUOa+OTphbXMN0/HDS2qJBy3ArXIkqIoqGxjG8n3DKpTLdGPeiQsXRRldkswtZB44VUJ+QHw5OLCSDkkl7jLgGokuSOVxUniMTSAFxQgGprgZUhZZWDEA7ZaItRkpCSU7DfDQRxFF20bFg7E/LK5FsjurTzKppWmRiGZlSibqOnX6clwMTNRe7FdhkhBici360D028cnwLxuW5IwcCOJxuiemPAjiWGZ69cPCjiWNK56tkuFBkVplbxw8K2saUnvkgEWsZmOLElrCxbG+K22KdPngSH//0e+ZsXUF2Kuwq1iyb3xRTsCHYq0Vr1w2q1o6kU2w8SrSrDCtNYUU7FDRAOKKa44qtpvhV2FLqnwxpacKU6Y0tLSBiq0rhtacBTClcrsp2ORpVxkLbNjSrMKrab1wq1Uk+2KGgN8VXFcVdTFFLSMKKdvihoYq3VqdcUupirZFDimnMvh0xQVmKHYq7FXYq3U4q6u+KurTFIK4N41wEJ4lVJlXod8iYshJbI3IeJwgKSohd/bvkmCKV4SoHceGVkFtBDYjhY05EYLKdkPPEUOxqMsibYSipZJrVlmYDbI8IZcS4XEnY4OAMxIrjPUUclsHCvEt9Q9jTwx4Vtf6zUoTtjwp4it9cjv9+PCgyd9ZenWmPAjjWtOfGuHhXiWGUEb7nJAMSVMk+OFja5AOtcBSEwsyOJPanXKJuRjXyTx9iT75ERbDIOW5Aw8CONv6yp2rjwJ4nGQHauPCtrCFPXphtiQGtgaYUFRmYAZKIYSOyAarHbvl4aVa2XiQSMhIsohG8lVdsrbkLMpkNa75OOzXIIWRQvf6MtBaypE5NDqjFFuBwLbeK24nCqw1rhQ1irRG+KrcKtjFFN7YFcOv0Ypf/9LvZzZOqcMUOGKurXFadXFabocCHYq7FXYq7DatUxtVpj8MNopaVIG+FaaoMUU7iMbQ0Vw2rXE4VaK064q1TDaXccVaoMVa474UtFSMbV2KtYVaIPyxVunviinUwWtOGKXUxtXUxtFO4DDaKWkUxtS6hwsab+KmBk0Sx64oa413GFFOKgDrv4YqtxVUCVHbBbKlvpv2GG0UuEZB+Ibd8BKRFeEtyNyQcjZZcIXxwoP2tsBkyEQi4ILd6cqHKZSIbYwCIbSLd0PD4a98h4xDPwgUJNo8iNVDVO/zy0ZwWqWCkIYHjNHUjLRIFrMCGmoPsj78IQs5k98ICCWuKnen04bRTXAYopw2xUFUDLTcYCyC5Xj/AJQcibZWF1YD7e2O62FkypQEEYRaJKDEZNrW7Yq3irRxVsf5jFVT15AKA8R4YOEMhIrDM/c4aRZa9ZvHGk24TNWuNKJLvXf6MeFPEV63L136ZHhCRIr/AKxQeOPCy4lJ5FfxrhApBWoorhRSulAMgWQWNLxrUYRFSaUHnZthsMsEWsyUyK9ckwU2rkgrsKtrgKG8CCtO/wBGSCQ3QnFVpBGKtYq7jXFWiKYq6mK04Yq//9PvebJ1JbwIdTFWqDCm26eBpitu59sCG8CuIGG1dTbFXUxVrFXYq7CrRUHG1Wem3jhVogjqPpxRTqfdhRTVBihxAw2rRG2Nq1TCrRAxVxXFNtU36Y2rRXDaWihGNqtySuwFXYFdireKt4q0cVb3xRTWK03itNbfLDaWiBhtFNcRja03tTpgSvWQjbrgIVt5amoFMFKsDkUwqCuaQt1A+jDSqkOzA7/LISDKKaQXDBQAajwzFlByoyakv6NxphGNZZEHNKHHX7sujGmmUrQcgoeuWtJWqVB3GGkWuafaijGlMlPl49ckAi1nNGYhSCV+0B2xYt1xV1cVtxbFVpJPfbwwrbWKuocVdirvbFXcW8MU0uCeJ3wWkBv0icbTwt/Vx442y4Vph8DhBRTRjUDrhRS0ca9cbTS4CppgSvWIVrgJSAvoAcFq1z7Y0tqErA98mAwkVLJsG8WK0qDhBVopQbYbVobYlW8CuxV2KupjatcRhtWivhjauIrhS1T78VcBvir/AP/U75mxdQ7FXYq4A98VbpgtNOp7YbQ44Fa3FMVbxV2KupXCrqYq1Q4q7FXYq7FVpAwppor4YUUtp9+FiQ7AimsKuIxtWqYbVrCrsVapim3UBxtK3hjatFThVricVdQ4q6uKt4q7FXYq0TirWKuxVvFWsVXBCae+NquaFgadcFppaSw2O4wodyH8owq1yatRtgpVwlevU4KTZbeQt418caW1nI1rhQ0aHrvXCEFYyjsa5IMGqYq7FVqRRoXZFCtIeUhH7RoBU/QMVtdirsVdscVaphVrFXYq2Kk4qiI7UlCT17ZWZtwxu9B++PEogvWBh+z9OAyTwuZHxtNKThhkgxJWUrtXrkmKrLYsq1D8iciJs+BDiFgx5ZLiY0qVAPTfFVrTN0AxAUyU2kbxyVNZKmzMd65IBbW4UN4ot2KHYq7FWqDG1dxxVog4VaOKuxV2KuxVsUxV1BhtXBN8bS//1e+ZsXUOpthTTYHvgWm6YFDgcUu2xV1MUU1XFadihvFLWKHYq7FNOIrhtDqYq1TFWqYUuxV3zxVoouG0U1wxtBC0imKKdhQ1scVdxxtLuGG1pbSmFDsVdtitupittU9sWTVBjatcffG1aIIwq1uMVaxVv3xVrFW6Yq6hwq2CVOBV4farYFWMRTbocKrcVdirsVbxV2KuIw2gtGv3YQxpojFadxHH3wrS2hxQ7FWn5BCVXkwGy1pU+FTirogWUErwYjdSQSD4VG2KaXEUPjihor37Yq4rthTSIt0RSGbK5lsjQR63MAHyyjhLkcYUXuY6/CPpyQgWJyBDtcsx75PhazkUmlJP8MnTHiaRHlNANvHtiTSx3REdooHvkDNsEUR6aEAM4FPHK7LZspSRwAGkgJycSWBpASEA0DZcGklTyTBawrhQt4nCrsKl2BFOwrTsVpviSKjBaadwOC1pv0277Y2tOKEY2tLaZJFNUGK07jitNEYVp1DitOrimm98Uv8A/9bvtN82NuqdvjauwK4HfClvfpgQ1vhV2BV3emKlxGBi0a4Vd9GKXYq7FDWKuxV2KuoMVdTDau4jxxtNraHCtu6Yq7bvitOoMUU1wHbG0ENcSMNrTVDirsVaoMKu4jG0U1xOG1pbQ4UU6mKtUxW3UxTbqYrbuIxRbRQY2tuCjFkuFKdMCLdhtDRFcVdTFXEA42q3ga7YU2tIOKWsVbGKt4q7FXYq7CimjitNcR9GFjS2mKKdTFXCoxV3XFWwK7V38MVDuIp1wsmq++NItqpxRbsVcS3Y4rblIHXFKpHMU6dMBDKMqae5lJNDQYBAJM1Lmx2Jrk6YEtHFCw1PXCrsKuxVsYpapvitN7YFcAtaHG1pWitufQH3yJlSRG0Utivfp4HKzkbBBd9Vjr8I+/BxsuAKTxKu5O2TEmBCHkK7gZMMSpGlDkrYLCD4YbVo18MVdhV2Nq1xGNpbAxV//9f0BTM91Tq0xQ11xV3HG1brih2K21QYrbqDFFu2xV1MUu3xV1MVtojFW6DFVprkgyC0++GkU2DvgpaXYEOocVdirVBhtXUGNq7iMbVojwxS1vhV2KuIU9cUU1xGK01xPbDa00a+GKGiaYVdsfnja0sOFi7CrhXFW+JwLTVMU07FaditOpitOpitOwrTsVp2KHYqt4DG1top4Y2m2uDY2tuoa0wpdvirqbYq7FXYq6gw2inUGNo4XYrwrSCR4YUUs3BwocScVdirWKt4q7FWjvirRGKtYVdirsVcRirXHDauK+GNq1QjemKXYVdQ4FVo1G1QMiSkIiN+PemVkMxsrLLXr08cjTO2nc9sQFtCylyp7DLAGuRQ9NjTc5YwLVKe2Nq6o7b42hxHjjaXbdKYUONAPDFVhpXDauGKv//Q9A75nurprFDsVdirqYrTsVpo4op1DiimqnCtN1ONLTt/DAtO3xWnYrTsU04rXDaQsK4bVuhxtVwpTIodTFFOxV2KupirqYq4jauFWqE9NxjaXe2KGiuG1a442lxBGKtVOFXYq0VBHTFVpSnvkrRS3jhRTfyGBacDU79MLKlSK2eVwqVNfuyEpgM447XvaSxvx6++AZAQyOIhs2rkUNB74PER4ZUzbSg79clxsTByW0jKWHQdceNfDLvQiD7knHiK8Kn6bA7KfbJWjhb9JiPi2xtBisK0+jDbAhrCh2KuxV2KuxW1pB+jG1tor4YbSC4An/PwxTbVD4b4q6h8MVt2KuxVqmG0ENcR4Y2imioxtadww2tNFcNop3A42imuJ8MVp1DitOKkdsbVqmKuC42rXE4q7Crq4q6mKtcRirXD3xtVy1HfAtrubdsaTbfqP44KXiLvWbGk8TYLNtTrhUFxiFTQ/RgtNLTFvvvhtaXJEa7dMBKiKobf+bBxJ4VKSIDY7eGSEkGKlxbwyVop3pt4Y2tO4GvTG1p//9H0MY2rmbbrStMXjjaCFpj98NrTfpjxxtaaKGu2K01Q4UNYq7FaaoMUN4q7FXYq7FXYq7FXYq1TFWxtirq4q7bFXCgxVvbFadTFaaIxWmt8WLqYq4jFXbYq4jw2xtNtFcIK2tIGFXYVpqoxVxI8MVpv0mIqBXHiZcLQA+kYsSitPl4ScSNj0yrKLDdikjXCOzVpXtlI2cjYqErcSVGWRYFCO78wT36jLAGqRc9x8HFdq9TiIsTNQ50NMmwtWBRAD1ORLMELZZgRsPnhEUSkoU2ybSWuOG0OpirWFXYq7FXYq7FXYq7FXVxVriuKtFfDDa2tNRim2q4pdXFXVxV2Ku2xRTqe+G0U1xHXvjau+P54ULa06jFXEjww0hscT3p88CuIGG0reIxWnccUO44VdirYXfwwFQGygAr1xZUtoPDFDa8DtT6cSoX7L075EslhDHocISuVXP0d8BKgKqCh75EskSSpTbqMiyUWUbmlThCCFIxnwpkrRSzgR0GESQQ4K3hhtD//0vRW+ZVuuouKnuMbC8Ja2HbDaaLVBXbG0UXcd/fG1orTGd8NppoIDjxKWim+2StFLTGcbWmiMKKaocUU6mK07FDsUOxV2KuxV2KuxV2KuxV2KuxV2KuxV1CADTY9DgtPCXYUO2xWnUGK01iimqYUuIxBVbxwpb442q6N+PIeORIZiWywg1675NrpyllNQd8BSFVJjy+I9e4yBizjNt2Zj12xASSpMHrU5MMStoK7jDbWQ4KOvTG0NcduuG0hZwamEFWqkYUU4EYKY03itNUxtDVMNq4jG1apirqHFXYVdirsVdirsVcd8VWlFxTbXp4bW3FKdMbW1mKXYq7FWwcVdih1PEYbRTRQYbWncBja06m42xtNONMUFrFDsNrTRUHG0U1xOBNLgMUrginrjaaaZD4fTjaeFeqFhv8ARkSUgKyxADYb5G2XC7hJX2wWmm+mNrTccbkkgYkpiFZYRWhGQMmdNvAOgxEl4VJ4CoyQkgwUinxDbJWw4X//0/TKop6CmWEtFNlBTxyNp4Wgu5/VhtFOMMZ+0BXHiKRAFY0KdsIkgwWG3WlRucPEx4VMwSdKD55LiDHhWm2lUVp065ITDEwKz02PbDbHgbFuxHQU8ceJeBY0TDthEl4Vvpt4YeJFNGJvDDxLwtGI+GNhHCtETnoK4bC8DjGw6g42EGJW/hhRwl1DiinUOKuxV2K06mK06mK06mK07fFI5owEulCKjwHbKXI5oedVVqAUp1yyJtomKU8kxccVcKk7Yq2QQd8bWmiMbWnYq4D2xWl6qgUnjvgtnSwr9+EFjTXAnpvhtNN+i3hg4k8KosRO1RgJZU36Mf7Tfdg4lpaRD0GIJQYhYUU9MmCx4Qs9L4tj9GNrwtFaHbDbExW0PhhtFNFARhtaWhD44bY01uO2K02AT2xRTqHwxWnUPhja06h8MFrTXH2w2inccbWncR44bWnca42tNcDja07icbWncTitNYULtiBgVaUr2w2lrgMUOMftjad1vpnxxtLuB9sNq7ia42i2qHwxtNthSTTpirRFD44q1htXUGNoprjhtadx98bWmwMFrTeKWwCTgVU3GBkFwpTAleCQP14CkFdyr8sDINV3xVf6tBQCmClBWCY8t9wMeFPEiFlDbnbI0ziWyVI64KZWsKpUYbYv/9T0wtRXw98mWndUqDkWVtcPc4qQt4gNuaYSUALqL41yLJsBSNsbQspvQ4rTiCVI8clFiVojWvSpw2ilxjU7FdsFp4VrRLt2w8SOFvglOmG08KlWgPw4bYkOEXJSTsMeJHCpj4PnkrRS5pqihGIVYFVmqV2w2il4gjJoB88TJPCHLbRk1pUYONeANGONagIB74gqYhSdI+pJH0ZMFgYhr6sp+yTiZrwKq20NNwa5HjLIYwse2i5UrQ+GHjKDjC2S2jH2WwiZRwNrG4Witt4YCUiNKbwyHrkhJgYkrDA4FcnxMTBaUI642jhbSoOKgKwNRXjUnIM1jCpJbt0GEFipld+mStFKiRilTvgJZCKoANi3TrTIkswKcyKy1ApgBVuOJQWI6jpiZJAXJFUEtgtIis9Msx8cNopzxKF64iS8KgyEdAcmJMCHem9RtthtABXeltv18MHEnhU2+E0OSYlaXjPVakYQq0lfDCxaoK7Y2vC2VPhjaDF3E1xtFO4Y2oDYjwWy4Xelja8LvTOG14Wiu+NseF3EV/hja03QY2kh1B442xpoqK42kBsqtK0xtaW+mnhhtHC2I17Y2vC16Nehx4k8Nti3wcSRBVEIYU7jBbLgWmzFNsRNeAKMluyioyYk1ygp8WHY/PJWx4XHG0NYq0VBw2rRVRtTG0tEJhtVtBXFXfPFXbYq7FXcj22xVcHPfAq/4O4wMlwKjrX2GKVQfhkWYab2xtBWqW79MKHbV6YqqI4p0yJDYCu5kmgwUydU1rTFX//V9OEE9BiwaCV69sNrwl32Qe+BaaLVyVILW2AoC4FR0xoptx4k74EtgDFQFoWh64qV1AtTihaaHFLioqPDFW+FenTFacVoMILEhaUFKU2yVopZ6APsMPEjhXegtOmDiTTloCRvv3xRTgAuwwEshFzKCNxjxLTXBOvHEyKeELgo8AMILGlwA47AVwFkpmNC3IjfHiY8IaaJD02OESUhrgAaGmStjTRjLDYAe+G00ta3NOuIkxMVH0SOvXwyfExMVhFDuuStgQ4EV6GnyxULvgPiD3wJpaAK7YSildFFNup6nIEtkQvKAilBkbLLhcsagHpiSoC4QioPTAZJ4W2jalB0xtPCp+mVJJ6HDaKX8ErvgtVjqrbDYeOEWghUCxKKAVIwWUgKbx8vDDaCFwtIK147+JwHIUjGFzwQ03UDBGRUwCg8EfbY5aJFgYLFgUGvUfjjxI4XNGKeGESUxUmgr0yXEwMGjEqmhOHiXhbACntjaab4BgSMFrS0xN4bYbQQpvGR16+GEFjS0Jt4ZK0U6gG1cUEN+mp3BwErTYjXxONp4W/RT+bBxJ4Q4hR3xVaWQDwwgK0HOGkO9VhjS8TfrsR0x4V43eu2NI42jMx7bd8NLxLeYJ3xpi3RfDbFVpCfy4bRQWmNCfDCCtLTHTDbGlhQHww2tNemO+Nopb6a+Jw2rvTHjjauCb742rYUdsVdTFkAuBGApVBTrtkWQVFZQCQBXwwUya9TfoMaUFolSOgxCdmggrXavjhJQAvAU5Hdku4qNxjuydXAh//W9OBx2NMNNdrga98DMFo4qWiAaY2xU2AXYfCPHrkgWBDlJ7MGGEoHNsUrkC2NsjHZfvwimJU6srfEemSACLXgqR12wUkF1U6Vx4U2vFKbZFVwOLIFpqHFStKjthtjTRBxWm+LHAmmgp77YbRwt8aYFWk7dMmi2lNe2K8S7I2l2JKttTjgVbXY4QgrCDIcmxXqhUUwWycVr1OIKFJkNaAVOStFLghpja070z36YLQQsENRU98lxIoLvq0fQCmPGU8LvQoaqcHEngWksDTCFLW1cJYhes3I8enuciQyBX8qbE4E2uBU9KHBRStKVOG0LTEw6HHiWm0U/tfRiim+C1674pAXgVyBZguZRhDEhRZAP2voyYKC4RFtxSnjhtDfpIDVjXBakKbIO2StBCm0ZO9ATkrY8KwxnuKZIFHCp8itRTChcHNRttjSuKqevjgQQtEan3w2jhd6KHxx4ikRbMFB8OG08LRRu+/vjaCGuB8MbRwrSntXDaOFaYmOEFFFr0Gr1pjxI4XeicbXhWshGEFBitNfDCx4S754UU4jFVtPfFLRLYULanGlbq3jhCtYVaqBihojFWgDirdMVp1Dilvgx74rTXpsMbTTY5dCMUN74pdyI7VwJbDOdgN8BSF4DE0pgtmAuMeC002kZPUYLSA36e+Npp//1/ThRD1yTCg7ilKdsBSuAFMCWipPQkYqQt4t41+eKKaoR2+7DaKcFB6jAtrq70ofnihorXvhtat3DtXG08LXoDxw8S8K4R075FPC3w98VpumKadQYrTXHeuK07FIbxUhaQT2xYOKjFFO4g4bWmqHCpao3bpkUt8SepxVpkNCMIQXIpB6YSVC/IqspQ5IFXVI7bYkpa3yNrTitevTCCxpb6fauStFLgtNq1OKQ4A1yDJxWo3yQLEhaIkrk7RTjFTpucbWmgxA+JcCFM0rsTkgFbSdgadcTFQVQyq+335GqTamVABwqtHINWu2SKFQF6+I98iWQVRWm/4ZFko8QzkE7VybFc4VRQbnAtKYAJ3JwoXMi02NcbVbwP8ANjaKWtEx/bwiSCFpi+HZt8lbHhWenJXDa8LXFgdzja8LZ8fxwsXAqTscUhs08d8AZW1vSuFebt8UELeGLGm6HtitOp44q7FCw9emSBStNPDCCgtcVPUYbY0704/vxteELTGnhjaCGjEpxteF3pJh4l4GjEPCuIkpgpmHfJcTHhb9Hxx4l4WvRYdseNeFv0tsHEyEWxATsMeJPA36DDtjxLwLvQb6cjxLwLhEwFKY8SRFv0h4YOJPC70RjxMuFxQDalcHEjha4ivSmPEinBRhtk3t0xVokdsVaB3rhV//0PSxcVpTbLGq2hKFGwpjwoBXLMO+AxSCvEynvTHhZW36ifzYOFHE7mvjgpbb5CmCltvDS26oxpILq40m3V9sC26vtim2wCdwDituofA4rbdG8MUWlPmO/wDqukXUkdwIZ0C8SCvIEsB0PzwgIJSZfzJ0c/8AHtcj5hP8nwb/ACsPCkFd/wArH0jvbXP/AAKf5X+V/k48KeJ53aT+Zh+e9zGJ71dNe8RBCJHMHpekWYcalQhPtk5DZqxmyXtGo3sdhYzXkykxwIZGVaciFFaLWm+V022x3/lYujVA9C5qTTZU/m4/zYeFbCYaL5r0/V7praCKWORY/UrIFAI+HYUJ3+LAQtpyQfDAxbofDFDqHwxVrFWmdVUsxAVRVidgAO+KoWy1jSb8stjeQXTJ9oRSK5H3HGlRVSain04q1xxVdiq1hvilbUA0yYVeK0yJQtNe+EBXChNe+FLTmgwsStCVFSTja0taPfbCCpDvRPj9GNsaa4EbHG0tqi1rU42mlxVR742mlveo2xVvk3TApWFO+G0U7iR0NcNoWkPXbDau+OtMdkN/Ecdktd8VdhVpq9sUO+E9RihaeBxBQt+DwyatHjirTNGiszGigVJ8AMBTEXyUbO9s763W5s5kuLd68JomDKaGhoR4HG2UokGir9MbY01yxtBCncXcFvbyTysEjjUu7HYAAV74krAGRpLvLfmfSvMOkrqencxbPJJFSQcWDRNxYEVOIDPNjOOXCU09SKngThprJWkJ442imiF8cIKKa4EnbfDYWm/TfwwcQXhbCHHiWm+D+GDiTTQVxsRXHiWnen3OPGvC2IxgM08LZT2wcS8LqbYeJIi1THiWm8HEmnDDa07Da00dsUU0WAGKrSzeOJKGjkUU7DaKaJqMbULcmCloncZJX//R9KmJvCuW21Ut9GSvTDxLS703Hvgtaa4N4Y2rRjbrTG0UtKMD0Iw7Ip1XHjirhz8ThoK7kw/aI+eCkrg7DviQm16zEHepwGKgrvXXwyPCtvD/AM3PMF/ZecjDbahcWq/VoiIYp3jU1rVuKsB/ssnRaZTNlg7efLtaq3mCUMmxBvnBJ8P7zHhLHjK0efL4gf8AOwTUPU/Xn29v7zBwpEyh7rzLHflhPqf1l5RxIkui9VHahfHhWyprd6epqXXbZf3rbn3+LBwlfEXC904bmdTTc/vm8On2seBj4hRMfmIR3hu49QaO5O7Ti5YP4btyr9nDw2mOSl195vmvIPRutWlmhYgmKS6crUdCQWw+GviFAfpHTBubhNj19c+P+tkfDUzKIttct7WYT218YJlFUljuCrAkEbENjwJGQo7/AB1qtR/ueuCT4Xj0/wCJ4eBPEWv8dasAD+nrkEGh/wBMf/mvBwrxFtvPWtcSRr1yPA/W36f8Fh4UHIzj8sPzssEkbQvM2oAAMfqGpzEmvf0pX35f8VSftfYbIyjTdGVvRb78wvJK2cx/S0MgZGWkQaRviFNlA98AZEGnjH5X3+k+ULrVdSlmBufqbrZRmFvjlqCqnhU9viyRkCURBAe8eU/M1l5i0SDUbd09R1UXUCtyMMvEFo27qd/2v2cr6sqTmorTJUha1K9cFK19O2GkuPHvhVwdR3wEFXcgTirRemGlWE1ySLXK60pvgIW1xYUqN/bGlWl2+WKrTyJxUhrcYUgNlvHAlbXCxJdUDFi2DXFmGicCC1yOLG3V3xQ6rHvhtVtCOuStLXIg79MbVsMuRtUu1nWYbFRGgEl44+CPsB/M/gv/ABLAZKA8nvfOXmmK/njXV3ASVlVOMWw5dKccnHcW0TO6kfO/mwhv9yz+3wRf805JjxIe380eYbaQNFqsoJBJ5cWqfpBxXiXXPnPzRNbmCXVn9OUFZAFiWqmoIqFr0xSMpBsIbRvMes6Hpy6dpeoGC0iZnjiCxsAXPJt2Bb7RxTPNKRs80ePzB82cj/uWqKd44a/8RxphxlY3n3zY6qDqxHLrSOIH7wMFLxlTufOXma5sZLW41ATQP8LBo460rt8VK1wkWoyEGwh9H8za3osEtrpt4sEDu0pj4K9ZH+03xct2xplLNKRs80dF5983pTjqfLkKnlFG2/tUYsfEK7/lYPnUCv6STc0AMEX9MFJ4y4/mF51PKmoq3EV2gip0+WFfELKPy+8069qusTW+p3azQrbmSOMRpH8QcCtVFehwFMZG3oBcUyNtyFs7uWa4u45AFEEiqg6mjRq25Hu2ElF7oqoyKXVGKuLDFVpbCrRceOHhVrkMaW2ua48K27muPCtuDjGkN8gemHdNtVrjurXLbtjZVpmxCreWSVrkcUFrFDVcQruW+HiV/9L05y9sm1u5eIwFXGhxVbTGldQYVd8sKuIJ69MC0tKeGG0UtMbeGG1poxnDa0tKcRVjQeJ2GNoSy98yeX7JS1zqMC8dioYOa+FE5HGwrx/8wPO1tP5wgu7HTry7t4LFreRxGqUb1udR6jLVSoy7HkiBu42XFKRNPOtJ1+Wzso7ebyWt5KXlcXDiDnJzkZ6nkjHYN/NkjniowSoBCW+rSx+ZbrVm8nK9tNbx2qWdIOKSI9S4+DiS32dlweMEjBIAphda8Z7i09Pyd+jzZ3MVzNcQi3LhI6kj4VT7X+tiM0UHBJkX+NlJVf0NfcmFQPTi6D/Z5MZ4NfgSKyy85QpbKraNfkl3AYRxEEs5O3x4DmjaRp5UoXvm23dpz+h76noNExMcWzFgez+GP5iLE6aRVv8AFmnFuJ0W/rQmhhj6f8HkhqAv5WSna+brKNX/ANw99SaQvFSGPcFR/l+2A6iKjTSCWeY/MlteSadLH5fubuKzuWkuLeeKJUflE0YHxFwSGcHpg8eLKOCQKW6zrEF5pd5aQeSfq08sLIswS3rGWBAf4UB29sHjQT4E12laxbwWFpayeR/XmjhRWkKWxLlFAL/Eld/fEZoMjgnfNUh1T/cFrtpF5fubaXU3m+qwQxRGNDJEsaryUqPtKa0XD40GB08zTHNC8u+YtP1fTJUsZv0fzBlBFTbuq1NaVojncA5hznYc7HGnr9hqUtOJJBWnXrmPbkBN4b3kBU7+NcKkK3lbWJ9E8w3l81lPcWtyhT9xJGOTVHEujsu6Ubif8rJxlQYcLMP+VlQU/wCOPe7f5Vv/ANVMPiBh4Tv+Vl25/wClRfD6YP8Aqpj4oXwnD8yLev8AxyL6n/PD/qpj4oXwy5vzItyf+ORe/wDJD/qpkvEivAWx+ZFt30m+H0Qf9VMfEivAVw/Me17aVffdD/1UweJFeErh+Ylt30q++6D/AKq4+JFeAt/8rEsx/wBKq++6H/qrg8QI8Mt/8rEs/wDq13w/2MP/AFVx8QJ4C2PzCs/+rbe/8DD/ANVMPiRXhLh+YNmf+lbe/wDAw/8AVTB4kV4C2PzAsq/8c69/4GL/AKqY+KF4S3/j+w/6t97/AMDF/wBVMfFCeBo+fbE/8eF5/wABH/1Ux8QLwFr/AB7YjpYXn/ARf9VMfECPDLv8fWB62F5/wEf/ADXj4oTwF3+P9PA/3gvf+Aj/AOqmPiBPAWv8f6dXewvvn6af814+IGPAW/8AH2mn/jxvf+Raf814+IF8Mtp570ok1trxKeMa/wAGOHjCOArj520kn+5ut/8Air/m7HxAjhLX+NtKB2iuf+RX9uHxYo4Sv/xxpQG8Nz/yK/tx8SKeEpXL+YF0LidUsZDAVAt3KioavxFhXf4dxlZyMhFh3mTzLczapHaQLPZ2twvK91RlVpgBUFYkr/eN/vw/DH+yuRjKymQoPL79fL6ReZ7eDS7hzcyTHTJJLSWVyrQhVPqlSwPqAmpb/KzaYZxEaLrs0JGdhFQ3fkQRxiTy5NzCryP6NY7gUPbxyZnBr8KSD0qfyZCl0Lvy/M7PdTPATp7vSF2rGvTbiP2f2ceOCnFJfb3Pk9de+sJo0sNn9UMbK2nyAGX1QwPEI37H7WEZIsTjmmF3qHk028ippjcyPhpp0o7+Pp5LxYI8OaodW8iVr+jyP+3dL/1SweLBBxzQkeo+ShOhfTyFBmLE2EvRmBT/AHX4Y+LBfDmvvNU8jNbSrHYnmV+ECwlG/wDyLw+JBPhzVf0p5BJr9S2r/wAsEv8A1Tx8SCBjmk1ld+RkmvzeaVLL6l1I9vILKYj0SF4gUUUoeXw5EzgyMMim9z5F/TaSfoiYWP1ZlkT6nPT1ualTxp/Jy+LETgvBkXajdeSZI7b9H6TNFKl1A7t9TnUeksgMoJI3HD9n9rESxqY5KZ9+WvmfQtL8wawtjp7kX0NsLd1iNvvH6nqAGRV8UJplGfJHo3aeEhzelN59pT/cbKT3BkQZjeKHM4Cg4POZivLq4OmyN67IygTJsFjCGo6dsfFCPDkzGxujdWcNzwMZmRX9M7leQrSoyfNirBxTqMaUF3PDSkrSxxpBaLYVWlziq3kcKu5+OKHcjgS7mfHCttFz4/RirXP54q7meldsaRbRfDS2t9UdsICLd6mPCtteoRh4Vtwkx4Uv/9P0h9YfLaaW/Xf5YeFXeu3jjwq16z+ONJbErHvh4UW4zsoqx4jxOw/HBSbS+880aLZsEuNQhRz0jDhnNP8AJWpxoMeJJbv8y9DiD+iJ7gJsWVOC18AXKk/QuOzLdJ7n80dSccLOxjhciv75zJwX+ZuPAf7GuAkLwlJ7vz75nuWBF4YYifgSBFRpDTsSCwT6cjaQEnu7+9uWdrm6llb/AHdK7syr/kICftYCWQih1DLxVECsBWKM9EH87/5WKUNNHGwqQXjJ6/tTP/zT/n9nBa0oPaqWerAOBW4lGwUdQi/5/wCVgQpfVB8BVAGpS3j/AJR3dsUtfVIgu45Qqdz1Mslf6/58VxQu+pkllLAMRWdx0VR0QH/P+bFQG1tmqhVeLH4YEp9lf5iP8/5cUrGtUAO1YYjuepeSv47/APD4sW/qRPJD9t/inYdFX+UYUgNfViT6oFGk+CBT2X+b+P8AwOBabNogHSsUHTxZ/wDM/wDBYopv6hUiJ92f95cEeHYfLt/qriq9Laqc12eY8IvZfH9bYCkBVEEMdWUfu7cUA8WIw2mkRbRMgSIn4z+8lPvXp9+ApRHMsvJqO0r0jBFaDx+4VwUm1dXhXm1Cqx9SN96VpQ5HhZAoqKVKhQwLEV49DSuKbRMcjDr9GAhKus46UyBCCvV1PhjSrgwHhjSF1Vr2xS3QE1xpWyfAY0ri46HbBS24v02xVxcg0AxV3InxwK3ybrTfvgVcCepHXCq0nsBuMbS2Q1B1wq6jdxirhy32xV1SNqbnFDRJA36eOKtqCy1p1wrS4J4jFFBTkuLSI0eQBv5Qan7hiIkoNBDvqQp+6iJ3pyf4R925yYxljxISa5upK8m4Ab8UFNvmd8sGMMeJDyW6nelSw2Y7n7zkqDElDGI0qdwdmwoIWG3alPD7J8R4Y2ilv1XwNFY1+nG1pY1qxPIncfCflimm/qrmq19x742tNC2NN+/68Fopr6sw69R1wgrTTWxI2O3bCSimvq7bD7t8bWnLCwqKVJO4ONqu9HerD4um/fBa0u+rg9uhw2mkTbx8eYPtWmC1CKDSrTix+/Y/24KDO1wnJJDAH36ffTHgTxKbPqFWEV/cRRtsIlIYKPatNssEyOTUcYJUVtb5hQ6nJU9mUD8emPjS7gvgjvRFuuv24b6vqc6q3XhSn4HIHNLuSMI70Rb6n5mt5RJ+lppOP7EoV16d1ORGUsvCCL/xR5oPW8i9v3CYfFK+EHf4n8z/APLXF9MC/wBcHilPghr/ABP5or/vXFT/AIwL/XHxSjwR3t/4m8zf8tUR/wCeC/1x8Yr4I72v8SeZv+WqE/OBf4HD4xXwR3tHzL5prtdQ/wDIgf8ANWDxivgjvTmy1TVZrWN5blfUI+IrGoB++uUS1EmccIVWub1lNbtx/qhB/wAa5H8xLvZ+DFU0Kad5r9ZZnm4SqI+ZrxUoDQbDvmdpshlHdxM0QJUE155ktTueKtcjhVqpxVsE4LW3/9T0VRa7A5bbU2DthtDq1xtW6YLV5V+c/mfXNMS3j0fW4raK4SSOe2REkkDJSp58uSHfpTAS1E+p5W3nDWpggur95SCSQ5LAkbAnkx6DI0WziUh5r1GkgFx9pvjbiAaV6LQ7bY8PmnjLl84aly5GZQQv7peI4j3pXrjwp8Qr28z6gvGM3FVryc8RVjT9rfBwr4hbXzRqTiQi54yN8NeO6rWnw77YOBfE8lx80agsvH1xxiX4F4ClT3Pxb48HmnxPJYnmrUWVUNz/AHh5THgKnatK8unbHg80eIe5z+adTAlmFyOQHFBwFAKdhyw8PmnxFh803XKNBdDgoLEGMVZtqcvi38ceHzR4nk1/im+KPW7XnI3xsEFQtaUHxbbYBDzXxT3NjzXe8uXrp8C0iX09hXvSuHh80DI2vmi9CIhuFKk8pSU3JpWh3wcA71OU9yofNF+VaQXK+o5IrwFVUDbjvjwp8Qt/4oulkUfWF9OMVUcBu3TffHgXxT3NL5ovDGAbhayNWWiCtK9OvTHhXxGx5pvCZpBcJyA4xDhsBStevjjwr4ionmG6rEhuVKKCx+AVLCnXf3x4V8XyXJ5gvJI243K85Xp/djYVpTr4YOFHiFuXXtbE5EMkDFCkSh1IHxhmJ25fyYCyEyrx3XmMxxj6zaUryaquST1328cCnIvN75jHqn61acjt9l9hTttjunxAq/W/MYkX/SbMBFoq8JKdvpx3XxFovPM3pgG7tKM/I/u5Kn4sd18QLjf+ZQ8h+tWgJUAfBIaUrgT4gcupeaF9JVvbYBVNBwkp0774r4qFbz1q+j30Lau0M+nyzenPLEHDxq2/JVPw8V/a/wAnHhtMc1ml+s2MVxr2oXtx5dudZt7j0TZ3UBRk4LEAwFZU/a/ycyMU4gbtWWEidkjvdBebVtOntvKN/FYQmU30Pwgy8lpGKetvxbfMjxcbQcWVV1bQPW0u6hsPKOowX0kbC2mPEBHI2NRMenywHLjQMORFW2jWyWsKS+TdQedUUSybfE4UBj/fdzg8bGpxZUJpOhTW8moHUPKeo3CTXLSWQG/pwFQAn98OjcsfExp8LIjbfTHTUTJb+W7+zg+pzxMHQvymcqY2A9R/sgN8WHxcaDiyLNN0eIWdvFd+UdSa4SJFnlox5SKoDN/fD7RwHLjTHFl6lB6fod5Deag115V1KWCWcPYp8X7uLiBw/vdvi3wjLjQcWVu90K/k1Owlt/K+px2MRkN7B8Q9QMlE29X9lsfFxKMebvVdT0a7l025isfKuqQXbxsLeX4gFemzf3x6HD4uJRjzd6KttKpawJN5T1Z51jUTOeW7hQGP993OQGTEnw8vehLrQNYk0xIV0PUwv195WgTmkotiDxX1BJ2NPh55bHNhHNicea9ig77ytqTaZOln5f1yPUGU+hK9xMURuxI9Y1/4HDLLg6Moxz9SmcGlzJDEsvlbVmkVFEjAyGrBRyP993OV+JhYnHn70Ho+lX8UNwuo+W9Xmla4leFlMh4wMR6aH96PsjHxMTLw83eqw6Lz18y3nlzXf0P9W4pbwSTRuLnnXmaTD4eG32sicmLozjDL1TVdL0lLzT5NN8u+YLaSK5Vrp7t55oTBxYMpjaaQMeRX9jBx42RhMhNtTLTzejp8EltJEgZ/rCSRKpDBh8NRXkBgOaPINZxz5lDwzeYImXi9uaDYt6h+ffKyLT4pCoup+ZlVTztRU/ytjwr4pd+lfNPxnnbH+UcW8K48JZeN5O/Sfmv4avbe+z74DEo8YNHVPNXpseVtsaDZ/ltjwp8Zr6/5oJofq3TcUbHhScvksi1PzMXX1mtxGepUMWr1HWm2SEGJzeSJ+v6uWaksR8AUPWnzw8CPFLX17WQF/ewmn2vgP9cBgvilo6hrQr8cNR0+A9PvxGNfGLf6Q1jkKyQhT/kHr9+PAvilr9Iazx3khqPtEqen34eBHilpr/WKmkkQP7HwH+uPAnxStbUNX2PqQ8f2vgPX78Hhr4pa/Ses0PxQ1rt8B6ffh4F8UtnU9XqPigp1Hwt1HXvg4EeM1+k9a415wV/a+Bv64eBfG8m11jW15ANBUfZHFv648C+KVzazrpK8Wh413qrf1wcC+M3+mNc6MYOVd/hbp9+HgXxW/wBL64K0MHT4fhb+uPAnxXfpnWqDeGnfZuv348C+K4azrgqawV6nZumDw18Yrhr+v1+1ER+zUMa/fg8IJ8cqcmueZA0ZjitnRfthi61PgaA4DiXxykt7+dXl/S7mWx1a2uRfW7mOcwRhouVK/AzOCdjkfDLkRnYUP+hgPJH++L7/AJFJ/wA14PDLLicP+cgfJHUwX3/IpP8AmvHwyvE3/wBDBeSP98X1P+MSf814fDK8Tv8AoYHyOTX0L7/kUn/NeDwyvEHqnk/zBZa75cs9WsuYtbpS0YkAVwFYqagE9xmHkiQWyErCecvDwytmraEQLvUVP88TfembLSfS4Gp+tOPh8czQ0tbeOFWiQO+BLXIU642hoEeOBX//1fRu3t92WNK2q16YFd8PvirvhrtiryPztqHkzSdfuRrklnZXFwxlQ3KorOh25gkfF0zGyA23YyDskI82/lV/1dNL++L+mV7ttBcPNX5WOKDU9LPtWP8Apg3TQcfMn5XGn+5DTPpMX9MbK8IcPMX5WHf9JaV/wUWG14Wj5h/K7/q46UK9+UWNp4F36e/Kv/q4aV/wUWNlHC79N/lZT4dQ0o/7KLBa8DY1n8rKf73aUT/rRY8S8K4av+Vlf97tJ/4KLDZXhC79LflbX/e3SfnyhxsoEQ2NX/K3/lu0n/g4cbK0Hfpf8rDWt7pO/i0OC14Q1+k/yrp/vbpIH+vDhtPCHfpL8qD/AMfukf8ABw4bRwhv6/8AlVWv1zSNv8uH+uNleENi/wDypJr9c0in+vD/AFxJKOENfX/yqr/vZpFf9eH+uNrwho6h+Vf/AC2aSP8AZw/1xteENNfflXwbheaUTSnwyRV/XiCVlEU8R/x1f2d7dWlusMlrDcSpCx5t8CuQu4bcUzYwxAh18juiofPupPyHpRHl12f5eOW/lwWHEih501djX0IunQCT+uH8sE8a5fOepHb6vHtvWknjXxwHTBHEuPnHUSSfQj8NhJ/XB+V81E3DzfqWx9GPbYDjJ/XH8r5rxpp5VeDzHrcVjq9vG9pR5WUGRDyAAHxE++Y+oxcEbb8FEvVrfyxotnZiC0mnggiUrHGly4CjsAKnMK3M5KdjdSFzbXBrc29A7dOan7MgH+V3/wAvlhSmAlFD74oXrIcVXJP2IrgWmzcrUVNB74rTRv4lYBmAG/fFaXPfQ0DBxU/LAtLF1FQ9GIp0BwJpVW/hJpyH34rRWm/QkgMKAb74rTZvohvyArv1GC1pqTUYwh3BNN9xja06PUYyCAR7bjCtL0uot/iArhWl3rx1FWrXYU3JJ6AUwJR2r6BNaWlnNcyyRXFxzJiRuIRQAQD4vv8AFhDEsQ8y2sWn6Hf6hbScrqJDKObcwxqK1HU1GWwu2udU8wHnjWBT9xbmnT4ZP65ncDr7aPnbWCB+4t69fsyb/jjwIto+dtbqaRW4rt/dvt+OPAkFy+dtaotYoHC9Ko/8Dg4Ftsed9YANYYADufhkH8ceBeJUj8+6lUco7Y0H+X/XAYM4m3p+n3HlWTyzod3fvZQXl5bvJMHlVWLGZwuzty+yNswjI3TmCMatUD+S6/70WX/I2P8A5qw3JeGHk4HyYynjcWTAbAiVKbbdmw+tHDDybY+TQByuLJSTQVmjFT4CrYCZJEYt8PKFP7+zr/xmT/mrD6kVB1PJxr/pNnXoaTJ1/wCCxuSeGPktc+TVoWu7JR2JnQfrbG5LwhsjyeaEXNmQe4mQj/iWNyTwx8myPKFafWLOvgJkrT/gsbkvDFaR5QA5NcWYVdyTMlPxbBckcEfJ1PJ53E9mQe4lTp/wWSuSKj5NV8oA0FxZhvD1krT/AILBck8MfJph5PVam4swOpJmQf8AG2NyXhj5NKfJzDktzZsOlVnQ/qbG5I4Yt08n/wDLRaVPQGZKn/hsfUtR8ncPKVf7+0r/AMZk/wCasfWvDHyaX/B53+sWZHSvrIf+NsfUioNcvJwIBuLIHsDMn4fFj6k1DyWtJ5NA3urMAf8AFyf81Y+peGLyr897TTb7TNH/AEE0N0yzSmdLWRHoGReLNxJ+/LMPFe6ZcIDx0aBrPT6nLt7Zk008QcPL+s9Pqclfl/biniDX+H9aPSzl+4f1wUvEHf4f1v8A5Ypfuw0vEH1J+SE4X8v9PsZCFvLT1RPb1HNA0rsvIDpyG4zW6kHibsB2Pvegh/vzHb1XRWA1C/Feqwt+DDNjpD6XB1P1BOua065l7tDRYUxStJHjitNcl8cVpoOK4Vf/1vRQ33ybS3hVrFWiK9emBXy1/wA5TRrP52tI2Ab09PjoG95HO2XCNhx4mpF4RNpkdSAAD7YPDb+IojR9Mpec6qypx/Fqd8HCAVMjSZzQr9SmAQE8P5R+zCxOW8IabNrorOGOwt1MSsWiRuVB14n/AJqyMQGUpG0MLW3bUg3pr8KoAOI7sckIhHEaU72K3GnykIvLiQCFAp8Z9sJiERkbZr+TP5d6N5lsdSur6KSVoZ0hhCMFH2eR6g+ODHp4S5ss2WUapm3nr8lfK2jeTb3V0SRZ7cwmNXdSvxzIhBHHwbI+BAHZgMuTa2Zw6PpCQLGtjbcVUKv7mPoPoywANc5G1HTtL0r6zqBNlb0+sAU9GPtEnthIDGJNMb/NzTtMh/L7VpYrOCOUCLi6RIrCsq9CBXISqimJPFH3vmPMN2bMfyxsre485aGssSSo9x8aOoZSArGhBqD0y2ADVM830suh6JX/AI51p7fuIv8AmnMkAODZS3Q9G0c6ajfULY8pJjUwxf7+f/Jw0EAlKta0bSW86+WkFlbhCt8zqIowDSFaVAXelcEwKZYzuWS/oHQyP+Oda/P0Iv8AmnHZBtL/AC5o2jfosN+j7U1nudzBGTT6xIB1XBQTZoMG/PjTdMh8v6Wbe0hgdrtwWijRCR6R2PEDIkAs8ciJPUPy6sLNfI2ggQRD/QoSfgXclak9O+V2me5YD+e8MEd/owjRErFOTxolfiTwzIwcmrq8yQkftCvs5y9krrNtvx/4M4oVFlQmnJQf+MhxSvDddx/yMOBUs8w3U1vZLPC/F4pAQQ5NdiKEZj6mNxbcBIkhbTzdVAXnKN0IJIp+OaiWEuzE2V65+ZQ1Xy5Y+ldtHrllN6UskTsrS27KaMeJFfiC8v8AK+LMrTQ33aM8ttkrh8z69IARqF1Sm/7yT/mrM/w49zh8cu9WTzJr/bULr5epJ/zVh8OPcx8SSw+bNaUkfpK5quxo8h3+hsHhx7k+LLvZh+WPnHQ/rupf4t1RFi9KP6mL6Rqcizc+HIntSuYmoiARQcjDO+b0NfMn5Skcvr1ga96n+mY9NtjvbHmX8om2Ooad4Ecjjw+Sb81w8x/k6SFOo6by7Ly3+7GvJbXjX/yhFSL/AE4e9SP4Y15LfmvXX/yiFf8AT9ONepqf6YDHyW3DzL+TXLidT0sOP2S4r9xwcB7k2u/xH+TxFf0nplPdxjwHuW/N36d/KCtf0hpn0OMeA9y35t/4j/KHtqWmmmxpJWlO2AxPcniRNn+Yf5PaJN+km1KxD2itJGkR5SswX7Manq57ZUQTyZgvNfMnnO48+al+m9Sv0t7aK4hj0jREY14GZd3Heo+1X7WZGCB4g1Zcg4SAyTzzpdjHoE0kMCROkikMihTtWoqMzzEOuhIvMiSd6/8AD4bQ7w/5ryQFoJA3LiCKkggePI4Tjl3NQzw7w6oAG/X/AC8g2orTArahaBgGQzxBlLcgQXHbvhgN0T5PTP0fp5be1goP+K0/pmSQHGsvGrG0toPzdkCRqqx6qojUAUUFjsB2GY0YjicycjwPfo0hNCVX7hlhaRLZjWjKiDUFAApqV6dgO87H+OWR5NUuaR/mIqGPy8xAPHWLc1oPfBLmzgTwy9zLSqVNVH3YXHtKdAWPlqo4j/jo3FRQdwh/jhplI7sY/OWCN/LNoSo2vB1A7xtleQCw5OCR3egeS7e3bydojcFJ+o2/Yf77GMhu1h0dpAPOUw4L8Wmx9h+zcP8A1xBSeiG/MG0hPkvW14L/ALySHoOwrjLkzhsUL5UWNvLOkniN7OHt/kDLSHHaWGP/ABXL8I+LT496fyzv/XAAk9EP57t4m8mawOA/3mY9B2IOQkNm3EfUEp/Je3ifyaw4D4buXt7KcIiAGOQ3Msi8xW0SS6O3EVGoRilB+1HIP45IDdhP6SmHopUfCPuGJRRpKfLUMY0114gcLq6XoP8AlofFTzK++ijHmDRDxG7XS1IHeGv/ABrgWXL4p20ERRgUXcEdB4ZA8myPMPGfK3kOTUdIS5SeONfUkUKykn4WI7HMSeYQNU5oxGScD8spa/71xD/Yn+uQ/NDuZ/lyv/5Vi9Km8j/4A/1wfmh3J/Lnvb/5VjMOl1HT/UP9cfzQ7kflz3tj8sZ+puo/+BP9cfzQ7kjTnvZZ5G0u68q/XOJjuvrfCu5Tj6fL2b+bMbNPjbcOMxNsqHmi9DA/VY9v+LD/AM05R4bkcTIfLFw1xczTOoRpYImKqagHkw6kDMzS7CnF1G5BZDTMu2imq74LSA1UY2mmiRjxIpwbfpthtaf/1+1eUvM2m6xYcbS/N/Na0S5laJoWqa8eSsOtB2xojmg0d0+EmHiY8LYYY8S8LjJtjxI4Xz/+a/lbWvNPmRtQ063jUIiwH60y1Kx16ca/tVxjnAKBhPMMHH5R+bCJfUgsieNI/iIo1R19qVwnUjzZeEVGL8n/ADetyjtb2LRApzCyMCVDVNN/DpjLURQMJ6q8/wCVfnNbcpb2tkSY5Iwsz8lUOpSg3b9lvtfzZH8xFgMBbl/KfzUVtVjtbQenCiTcpG+2Bvxofs5IZwEywm1Afk/5t5SSPaWXrMVCESPQIAa13+1yOD8yF8Eqbfk35se3eB7KyIKMFpM/2qfBU16cvtZL8yE+CWcflh5S1nypo9xaXtiv1ma4M1bOYemV4Kor6jcuWxycdUAiWEmk6882/mHXvK13o9nY/vZzHx+syII/3civ8XA8/wBnH8zFgcErCpBD5gFrGJbOk4QeoqshXnTfiSwNMrGoCZYCVK2tNeikuna0P72X1E4mPccVXer9dsl+YFsfyxpbqVhql9p8lnd6NDfQSEFre44MhANd6SDpTlkcmexszx4CDuwTzp+W195hgpp3lqwtb61EcCzRyfV4lCAExlI2HLirU5ZjRmerkmKC8pflN5v0XzBpt8+n2iW1qQ8zpK7yBjGQ3EM1D8TbVy8ZhTXLGS9VaHVhQi3JI9l/5qywagNEtOUHpuna3b2SQyW1JFLkhOJFWct3bwOH8zFj+WkgrzRvMM3mHStRSyDRWUdysjFlDqZlVV4jnRunxVxOpFUmGnkLTZItc5UNo3EHYnhX/iWR/MRX8tJAadp3mS1s0gayAIeVm4utPjldx1avRhXJDURU6aSQ/mL5R8xeY9KtbdbIE20jyuS6ghTGwqlG3blx+1+zg/MjkyjgI5oXyz+dPlfSdA0/Srqzvzd2ECW1x6cKsvqRDi9Dz3HIZZwEtcgxf8x/POl+bL2wl06G5hS0ikWT6zGEqzsCONGbsMyMII5tRjuxNWPv/wACMuQqAt/lU/1Bilurd+X/AAAxVeruPslv+AxVuTQtV19JbGwtHvbkL6ghXihPE/zE5j5yAN23EDa7Rvyc80HUoW1jy7eJpyuPrPpzR8vToalaBj8NMwDIU5gCb+Y4vykg0CCG30u4sLxhcmwnDytIZEbgwmDL8S+oPh5fs4cUpk7BjkApgdtJRRUD/gTmyi4ZR0UgPYf8CckinuH5VQo/k62NBvJcf8nmyiUmBG7zf894kHmu2XahsVP/AA74OY3bIbPX9KUfomyouwt4e3b01yQaSo6fEn+mniP96Zuw8RkmLHdQVP8AlZejMFApp11XYfzDIy3LZH6SyHWFB0e/qBvazdv8g4kMAmMdunox0UABV7e2R4k08hlhiH55MSopXwH/ACyDDQtmSeB6nqcEb6Rd/u1r6EvYf77OJaxyRMMEZtovhH2F6gfyjBxJILHvKiQx33mAlAeOrykrQb/uojTJEWE8iLeX/mymu3+ow3uqtEsPqSxWdlASyRIhFSSQtXb9psxI4qcvx+LkzDy9pWoSeS4Tb2M8xadJIzHEzchHMjNxNKGgGThkALVKEiz+7ez1S0khvbO9itQ6tIHhMRIFdvjpsfHI5M1cmzFgPV5x5hs/LFsI20a9uLlnPxpLHGQo/wBZKfRtk8eQnojJCIS7TfivowRUUOxSnQeObDSAGdOj7YNYPizrTfLVrf8AlrVdTkkdZbJW4RALxaicviqK98zNRnMZiFbSdJo9GMmKWS6ON5paO5hSprUDquaqQ3etx/SEdbXK288Uzq7JFIkjKiVYhWBPH32wA0WUhYZePP2jkk/Vr2n/ABg/5uy3xA0+DJj58gedv8ZDzNHo8p068uItQtVLxLK8DHkCVL/CzL+y2Yo1EQXLOCRi9EW719R/yj17/wAHbf8AVXLDqoFgNNJLLCDzLbteep5fuyJ7ue4Ti9uaLK3IA/vOvjiNXCkS0syUu816J5s1eLTkttBuUazvobpzJJbiqRVqBSQ/FvgOqgmOlkLTwjzEST+gLzc95Lb/AKq5L83BqOimg9MsfM9rJfM+g3JF1dPcR0lttldUWh/edarj+aik6OaWee/LHm7zFo0VjaaNLFLHOsvOaWALQKwI+F2P7WROpi249NKLJvLa+YtM8vadpk+hXDz2dvHDI6TWxUlBSorIDTInUxX8tJEWqan+n31O8064tLYWX1ZRWKVy/qmTlRHICqvi2RnqwOTIaU3u35pt7jU/LV7Y6dZ3VxdXlu8S81iijBdaKxZpPs/6obIx1gPMNn5WuqUaDY+Z9O0SxsJ9Dnaa1hSJ2Sa3KkqKVFZBmR+bg4v5Sdtmz8z/AKaF+NCuPS+q/VyvrW3Ll6nOv95SlMH5uCTpJ7Kev2fmjUdEvtPi0C4WW6heJHea24gsKAmkhOJ1UCyhppA2lv5f6B5x8s6HJp93ok08jztMHhmt+IDKop8Tqa/Dg/NRqkHSyMiU21WDzTe/U/T0C4U211HcNymtt1QMCBSTr8WI1UVOllSK9XzIP+meuv8Akda/9VMkdXBH5SaC0q380WcEsUnl64cyXE8y8Zrb7MshcA1k6iuP5uCPyk7XXlt5pmv9Nuo/L84WykkeQNPbVKvE0dB+88WyP5uNpOklSY/XfMnfy7cnx/f2v/VTAdVFI00nnlvoXnby15W1h75ZLNDKkli6PE4j5v8AH0r9quYs5RnJzIgxBYdqnm7zfb2plj1i45cgD9jof9jl3gxaoZ5Ero/NXm97NZf0zccmTl1TrT/VwHDEMfHlbI/MOu+YI9N0CaDUp4XubBJLhkKj1JNqu232sqxwBJbckyIilkHmDzGfIOo3g1Sb9IwagkSXLcWZYiq/BuKU3wHGOKmeOZIJWfl5feZ/MMV5cat5omtLeEtHEsSxPLzUA82T4f3QrTr8TZXlAi2RlZZUuk3qSqI/Nl5eEipj9H0h16c1ZxlPEGb1vyfG0EixFi5FpHyZjVieR3JPzzI00ubj5hyZOzgfaIHzzKtrpRe9sozR541PuwGC000t7aMKrOhWvUMMbC0tfUbFPtXEY/2QyJkGQionXdLBA9cGvcA0/Vg8QJ8Mv//QmH5GSrLZ60yspKXEcb8TWh4E0Pgd8nlNljEVB6ZLdQQ8PWlWP1GCR82C8mPRRXvldItV5b4aW3F9sC2wMsDK/jyb9ZzHPNyI8lC5llELmAKZuJ9PlXjyptypvTIsqXws/pL6oAfiOdNxWm9MWJC31Lj6yAFQ23Dc1PPnXw6caYpAVWc0biByp8IbpXCqy2knMCG5VVm4gyiMkrX/ACa/FTArriS4AQ26o5ZwJOZIAT9oigPxeGKq3MbV2p92KqSS3H1mUMqfVwq+m4J5E/tVHT5YrS6aWQQyGAKZgpMavUKWptWm9MNquSRzEpkAV6AsF3ANN8UUseW59UCNUMHpklyTy512FP5ae+BNJd5e+vC2uTqDRfWzcymT0QQnYDjy36YpTK3luWVhOioQzcOB5ApX4Sagb0+1htBbuZJ0t3a2VZJgP3auSqk17kAn8MbULxJQb7V64oKmJLj6068F+rcAUcN8Zap5AilKdKb4FCozkK3HdwDxU7AntXG1pq3lkaBDOgSUqDIqnkoam9DQVGFVt44FjOQK/A2/0YRzRLk+OppgdSuzUCs8p+0e7nNxjOzrZBExyjxX58jltsCrowPQrt35nCqopFeq/wDBnFVQMKj4l/4M4quDA919vjOFWdfk7v5qlNQaW7dGJ6svjmDreQcrS8y9ydgIm3oaZrnLfOn53WaS3dnfRQC2gRmhC9DI0lZHcqN0YMOLA5l6Y9GjOHnULgU6f8NmcC4pCLjmA+XzOTtFMl0L8zPNWg6cmnWCWb2sTO0ZlSQv+8YuakMB1OUyxpFMp8s+X7380UvdZ1W++oXNoyWSLZxjgYwvqVPqEnlV8x8kzE03Qx29Tg8q3EVtHAt5URoqBim5CgCvX2yPjlfy4ag8pTx+rS85eq7SGq9OXYb4+OUflx3oK4/LyabWLfVBqbJJbwvAIhGChEhqWNTWuPjFPgbVaLm8j3U0EkTakQsqMjER7gMKVHxYnOWI0w70bH5UugKfXaigH934f7LKjmLMacJH/wAqiQ+ZG199Wl9diG9ARrwFI/ToDXl03yQ1BZeAKpPpfJskts8BvSFkRkLBKkcl4169sTqCxGmConlKVEVBefZAFSvWm3jkfHKfy470BbflvLBLePHqj/6bO1ywMYPFmVVotCPh+Dvh/NFZaUHqvtfyR0vWtatJdYvpbqxtmklkswqosnKnws1S3HKpamRZx08YvRPNFna2a6fa2sKwW0ELJFDGAqKqkUAAyHVu5MT13iNKum41ohNB128MbV4JoWktq93NbRs4aO3muFCVct6QqFpVePKv2v2c2IlQdaRck9H5bayHCjUrCO6ST6v6QujzF2U9T6t9n++9M8+P8uShmo2GGXSicakLCvD5d/MBtGbTLfV4qXSwyXekJLGtysd03CN5SIw3Fjt9v7OSnnMpWWOLRQhAxiKBQS+Q7W2076w+swP6dzJaObblPEHiRWKhlo3ME8XXj8OWYRxk006zMMEQSxiGYOgI29i5yqQot+M2AUfAVIG46fznKZt0eb6IglQ6RotSBXTLXv8A8V5g3u7ADZvlFTqPwwrSFSKVbqaT6wGjfjwhNKLQUND742ghE+rGKVIH0jFab9WIioZfvGBaQgjmF1LN9YDRSABYTSikdSD/AJWG1IV1mjpQkD6RgtivEsRH2l+8YbZUg72Jnk9ZLgqixurQAgq3IdT7jtgtQFPRr+K60u2n4tGrIAFkHBvh+GvE70NKr/k4QWJG6O9SA7h1+8Y2mkPdxtK0LR3HpCNuTKpWjilOJr2wcS0qrKFFGZT7gjCChsTwH9tfvGBKneKs9s8Mdx6DuKCVGHJfcYpdHIEQB5VcgUJqKnFivNxCR9tQfcjCqjehbi3aKO5ELNSkiMvIUNdsFsgG45FVfikRqd+Q3xsIYh+b10ifl5q8kbq0kaIwWoPSRfDJwO6a2L5bfV7u6t3WXdCwNAo2p75nwlbhHGAUyt9YgWzSIxSFgnHYCnT54S1cG7I/Ot7Mvl7ylJCzqHsSDSn7PDxyjF9RciQ9Kpol2W/LTXHlDsY72Fm6Fjy4DBI+sJxjYqf5WIksusA/AGib7XYHft8shqAyx83puhKhhRgCobcBhQj5jMVvZ4muNauktqw5NAEd9vhoa9DksVi2M43SBu9b1C4Yubg79CAAfwGWmSiIQ8V1O0oZpWJPXc9MFppjOi3N23mCUSu7olxKFqWIC8TT22wsTzZb67Dv2wEsqXJOeJ3/AGT+rEckv//RZZajBbys+nXQtzIxJa3k9PkVNCTwI5EZXuyBFJxD5w80QlSmovKFPwiZUmFf9kpP44eIqYpvb/mf5hiUevDbXA7/AAtGfvUkf8Lh40GAZt5W8xvr2mS3bW4tjG5j4h+YNFBqDRfHDxMZQrdIdzU06nMY826PJSIo1D88DJeSB8+wxRTqCu3XEJXcT3G3uMJChoL1C4KRTqAHfqMUruJ8DTCtNItG2G5FcCuKbksOvTFVyqeNACRirVN6d8VQumgmO5YjY3M2/wAmpiVRaqewrTFXFfEb++KFyq3gd++JVpRuaDrirZUdwfbGlbHFQADsOgxKqOocf0fct4RtT7sYndjLk+NnZje3J33mkPQfznN1Dk6+SKiLbfaH0DJsCikLUp8X3DCxVlZuo5e2wyQVcGf/ACtvYYFVAXI/a+4Y2rOvyfD/AOJpia7W56gD9seGYWtOwcrS9XtkpPoNt2Oa4FzXhn598fR05qkNzAO5ApxY9OmZem5uPneRI3v/AMNmc4pV1kPY/wDDZJWpJjTc/L4sBQ9w/wCceJD/AId1Y13N6vev+6lzB1HNysXJ60rimUtjreL0lKh2epLVcliORrTft4YqvaPlIj8mBSvwg0U1/mHfFVcgMhBJFRSo64CUNwj041jBLBQAGY1Y08T3yBZAtlf3wl5tUKV41+Hehrx8cDJc8nKMrUgEUqNiPkcVWRt6cax8i/ABeTGrGm1ST1OKto3GZpBI3xADgT8IpXoO3XfIkJCKg1y4syDbRLLMxCIHNF37k9aDK2SaebNMQ2lrLdSNPcyMQ0lSoA414ooNFXJgMSWF6xp0CWMzJX4RUAs3Y/PJhiXheiatd6VeS3NrIkcrQyQVliLrxkoG2UrvTfNgRs4ANFGt5y1lbtrz17czvqC6xx+ryBfrKwi34/a+xwH/ADdgpkZL/wDHWtvBGGltPrkHpiC/NkfrAELc4/j5U+D7Iqv2ceFPGoap5u1fUo0tzJZ2Nssjy8La0MQaWUfvJXAZvjPjl+HLLGbHVw9XpYZwBLlEpHbqyIBUmnfiMgTe7dGAiKCYQepT9r/gRlM2yPN7t5StLefyLoDzRiSQpdAu4BY8bhgKk+A6ZhEbubA7I86XZnpEn/AjFO639F21aCBT8lGNIsuOmWw2MCj/AGIxpbLf6Mt6f7zr/wACMNLa39G2h/3Qp/2IxpbcdMtB1gUD3UY0vEXfou0O4t1p/qjBS8RabTbUVpAgIr+yKjbGlsqNnptsbG3ZoFqY0JJUd1GGltVGmWpG0Cf8CP6Y0ttnTLXb9wg/2I/pgpC06bbAVMCf8CP6YeFNuGm2h6QIf9iMeFFtHTbTp6CV8OIwUm2jptoKfuE3/wAkf0w0i1w0+zPSFPoUY0rv0ba/74T/AIEYgJtx0+1H+6E2/wAkY0EML/NePRIPK7RX06afb3sn1c3PEGhZS2wp/k4YjfZIGzxRfLvkS59O3/xOGdiEjVI1BJY7dBmSMsnHGMI6fQPJ2mTPYXXmYwTW54PE0Sll2rQ/CcfGkQnwBaa6va+UX8vaIk+vG3sYopIrO44BvXVSFYkFTTiRlcJkFJhYpAtaeXbfyBr9voepnUl5wSzMVK8G9RQB0XqFw2TIJjEAFL/yp2vdWRqb27Hb/UY5LUBhi+p6fpbHitcxHKKbSve+mq2drJdzHb0ohU08T7ZOLFDxWPnebj6fl2ZVYAN6ksScfHqd8bC279Ged6MphsbWVdv3tyHoQDWoQV2OFFqUPl7zcsnNtT06FWHJ0ijmkatNyGJp9qv7OSQbRsehawwQS60OQ6tFbjfan7bEdemNBO6ne6TLaTWrjUbmT6xN6ZSkQReS0+zxrt1+3hCv/9KJR6TfxPbepAT6Aui5FD8UzMVp7/FiJBrMT9iGEV7bWQHGWKWOwKCnKvrVBAFOr4dkm0xgv74amsHrOYjNFGVbccfRZn6+LAZGQFMok29y/LCg8usR+1cv+AUZGLLLyYD5S8v6BqEes32qW0c8tzrGocZZdyI0nMaqCTsq8egzN4A4IkeEbovydZeXojPdaRIhW4MnOJKHgqysF6VbttyzD1EKczTyJG7Ja7e/jmM5CQfmDcNB5I1idWo6W5I3I/aHcZPGLk15pVHZ5h+Umt3F75yihkjRFSCZyV512BH7TMMv1GMAbNemkSTar+fl/d2+u6YLeaSP/Q5HYI7KD+98AfbDp4AjdrzTILOPyemkl8jwzSuXeSedqseRALdKnwynMPW5Y+gPEdM1HU5PNNrEbqYxy36gqZHIobhduvgcy5QAg4eGZ4w9e/PvUbiw8kLPbyNHIbyJeSMVNCHJFRmFjG7fmJY9/wA496vd6lcas9zK0gihhVOTFty7VO/yxzABlivhNpP+Z+qahF5+1BY7mWOBBCvEOwUViWtADQZkYwOFxpzIL0+SeVPyle4Dt6q6OX9Wp5cvQJry61zGPNy8h2eZ+StVvZ/zcsrRruUwRpVoS7FWP1SpLCtPtb4yGzVhJMym3/ORWo39o2gG0uZLfl9Y5+k7JWnCleJFcMeTHLMgp9+QN3c3nk24nuZnuJDfSKrysWNFjj2qcjPYt0CTAPHdf8269H521K1iunWAX0qBSxNB6pFBvl3CKaYzNvefzavp7DyHcXMTFXjmtgCCR1kAIqKdcqxCy2aiRA2Yf+Seu3epa9eJcSFhHakgVJFTIviTlmUU16eRkDb2UEUym3ICG1IkaZdf8YziBuiXJ8qpfaFFIVk0WOZuTepM0jjkanfNgLp10uaFvZ9PlugbO2S2hVACgZjViSaktXMjET1YkNLwA/Y+85axIVFK1pRPvPXCELgy7fZp/rHCqorL1+GnzOKrG1m/0u8tp7G4e2dmZXMMjKWXj0PEjauY+eII3bMUiLIZBpHnLzJfarYW0mo3Qje5QMVmk3XeqnfcHMGWIByceYkpv+e8oa308GvMTNUjYUCsBk9NzZZ3kaknep29xma4xCsGNB1+VRk0IyDRtWurcXFvAXhatH5oOhodjlEswBpbe1/kJYXlnoOpRXKcGkvFYCobb0gO2YuWVlysXJOrD83NButbi0dLS5FxJMLdXb0+HItwr9quQMSoyRJpOPOX5gaV5SFob6CaYXnqemYApp6fGteTL15YxiSspiPNHeXPNtjr+gHW7SKWO2BlBjk48/3P2vskjftvgIo0yiQRaSeXPzf0DXtYtdLtbS6jnuuXpvKI+I4oXNeLE9BkpYyBbCOQE0jvNn5l6L5Xv4LG/imeS4j9VHj4cQORXcswPUZAQJZmQB3TKDzZYTeVv8SKkn1L0WuPTPHnxQlT349vHI8JumfEEq8rfmdonmXU206yt54pkieYtLw4cUKgj4WY1+LJzxGIssIZRI0FLzJ+aOj6Dqs2mXNrPJNAiSO8ZTjSQVFOTA4I4jIWFllETum2q+abPT/LY16WKR7YxxSiJSvOk3HiNzx25ZARJNNnEKtbpfmaO9lXhCQ3pJcKC6t8LnYHj0OQMaKiVor80fM948/lqOG6khilnmjnjhdo0Yek3GpG54kDLcO53a88iI7ML+u3/wBbSNr25uIncIUedmWhPUiv68yJQAi4kMsjJ5kwHI7gePxnMiPJiebR4EUPH2+M5IIdSIbfD/wZyNq2qpTenv8AGcbVE2MNvLeQRyAGOSVFdQ7VKs4BAp7YQN0E7PUh5F8qh/hsmArQfvpv+a8yTCNNMZS72daFZQ2PlbTbWAFYYpb0RKSWopuWIFWJbvmklzLuIfSiajIpY551iWWztlYtxExNFZl/YP8AKRmx7NhGWSpC3A7RyGGOwa3QnkSJYbrUgrMYyLcqrOzgH94CRyJpWgyztTFGEgIjha+zsspxPEbY95ttl+satKEmkmrLxEUjq1aUHEclUcczdNhgcHFW7ianPMZ64qDMdVUy+VlRyWDRQczUgn7Pcb5qNNEHKAXZ55EYiQd6STyraLD5gUpyCNayhl5sVJEkZFQSRXrmf2jijGIoOD2fllKR4jav5gsbKfXJWnj5twjA+JgKcelARh0GKMsdkdWWuzSjMAGhSYeXkdPJ1vGzMWSFlDMSW2ZgNzU9BmszxAyEOwwm4gsU0Syij8w6TPEGVvXkEtGahDQSdQTT7VM2mqxQGAEB1elzSOYglMPzE1zTdIurRryJ5VlhYpwptxbvUr1rmv0kbJdhqiQBSafl/qMGo+XDcwK0cUk8wRH3IoQPE5XnjUqTpzcWBaN5q0641qws/SmjlkuYkVzQiocdaNmXKI4HHBkJsq/NPW4NG0/T7mWAzJJM8ZVG4kHgGruPbMTT1e7kZ74Nl/5X61ZatZX9zaKyRpOiFXpUN6YJpQnDqKvZjpZGt2O6nrWiJqV3DJeQrcLPIhjLUfmHIpTrWuZEAOBoyykMnNmnna4tLXRklupFii+sIhdzReTBgAcxcAHG5WckY7CX+Rbm1nurxraWOVPTh5GNgw+0/hlmpABFNOmkTaA1GKE6tdclBPrPX/gjmVhgDDk055kTO7wv82iy32nxBiIxA6lamhaOeRA1OnKnfK5xADk4CTe7DNHkKatZVOwuIiT8nGUW3S5Mh8/ov+OtV5iqtIhpudii4cPJE+ibaqts/kHy00ilwpuFUBS1Pj9vlgh9TX/Cfev8q/Vj5R82x8SsfpQMQQQaA/f2wS5hljH3L/ypkj/TOpLGfhNtJTr/ACN445zYTj2kHp2myfCuYhchmXk+X/cqBXqjA+PbD0YHmxOL80/NkmneY5p7uC3bSdRgtYZY4V+GGRpVfkG58m+Bfiy44hswyZCDID+EMot7n6xGl0W5tOiSmSlORdQ1ae9cBDKEuIAlWVwFB8K4GSS6h5hmtbyyt4Y0Kz8+TsTVeJUUAFK154bWWwRusbtYH+W6T8QcIQeT/9OJR+do3jSSSNPitzduqlqheVEFKH7dcrIpPH0R9t5ktbmSVHiZGtYkmuQp5FPVHwpSn28x8+YQiDamYHNfb61YTXQt1D+pz9NSQCKqvPrXwy6O8QVjIHkjI/OV7pt7HpdpcMkkkiiOFX41eSlNvfMjHQjbVI8RpJE8lfmBHbmB9L9RjPLNJJ9aQBzLMZOh+eSGpDX4BqmTflP5X1ny+dV/SloLV7t0ePg6yAkci32enXMfPkEuTl4o8MaL0LkP7cptmkHn7T9Q1LyfqWn6dD9YvLmNUii5KtfjUndiB0GSxmjbDLGwwD8r/JPmnRPNRvtW0/6ta/V5Y/UEiP8AG/Ggopr/ADZdmzCQoMMEDG7VPzg8meaPMWu2tzpFkbm2htDC8nqIlHZmNKMQe+OHKIjdhmxmUmY/lppeoaN5Ot7DUIDb3sTTF4aqxozErQqabjKckgZW5I+mnk+iflp56t/Mdjd3WllbaK7jmlf1ojRBKGY0DeAzJnnBjTjYsRErL0f85/LeseZfK8Gm6Rbm4nF2ksihlSiKrCvxEd2zGxEDm25QSdko/JHyZ5i8rS6qNZtvq6XKwC1+JXqEL8vsk0+1jkILLH9O6UfmJ5I856t5o1K703S2kt5mT6vciWJeQWNV3BYGlR3yYls488ZJehXem6k35Zy6PFCzao2lC0W3qoJmMQQrUnj9r3ymPNyZ7jZ5/wCTfInmS0/M+PzBcWbJpSCSP1uSHcQ+l9kHl9sUyyRBDDFGibTP88PJnmfzRNpI0SyNzHapN6780QKZGXiPiI/lxxkUwyRJNp5+S/lzV/LXlJ9O1eD6vd/XJJuFQwKsqAEFSR+zkMhst4+mnkurflJ+YF15rudTXTG+rS3zzqfUiqYzMWBpy/ly7iFNEYkF7J+a+j6rrvkmfTdKt2uLySeBhECq/Cj8mNWIG2VY5cJZ5o8Q2Yl+THk7zH5d1m/n1ize2Se2EcTsyMCwcEj4WJyzNMS5McEDEG3sINem+UFuCH1ZuOl3R/4rOGPNE+T4zmuJprmR0jk4Emg28fnmyjE068x81exLqXLq6liOoHauXwBDAhMFfru33DLEFesj1J3+dBixXiQ9at9wwqqLK5Famg67DCq+HQtX1u8ghsLWa6MPKSZYghZVIoDRmUdffMfUSADZjiTbIdI8i+cLTW7O5bRLmKygmSR2JjdgADU0VqnMIzFN2PCQUT+eMyvHp5U1/et28FINQffDpebbleUpXao27bDM0OOV9T4f8KMkxpF2WrXsUYhW4dIlLUVWKgVNemUSiDugh7n+RF3JcaFqDO5creKoLGp/u1OY2QUdnJwj0vNPLsyH8xLEhhy/SgBFRWvrnLSPS48B62df85AMjNoQcgLW5Jqabfu8hhbdQNmQ/lRMrflpIy0C8r2gHQUByE/qbMX0vKfyem5fmLpAr09bv/xS+ZGWuBoxD1Mk/wCcgh/ud06U0IFpwpUAgmRjWnhkcDLUR3Zfpcn/ACAQGv8A0qpt/wDZPlUvrboj0MG/Iadn86XHL/lhl71/3ZHl2oPpaMA9SH/Ou4KeebxAwUSW1uCe+yHI4JVFdQLls9I84Sov5Ro7fZW0sSd6ftRd8oiam5BHoSj8q9SWeWdTOsi29lCteQPEeq3XDm5oxcmTfmBY6tqFrodxpdlNfpa3EjzGAKaAoy9WKjIYjRZZomQoJBaW3mP9IWpm0a6t7cSqZp5RHxVQOp4uT+GZE5iqcXFhkDZYGeVd+R/2Iy8HZgebjyp0P/AjDaG6tTowI/yRgVsBv8r/AIEYqqwTtDIk/B3MTLJxULVuJBoPuwg0UU9Aj/NfSWbfSNQ3/wAmH/mvJzzLHE9J8u6pFqnlHTL+GGS3jllvAsU1OYpN34kjNXI7uyjyRg3FcCUg85QapLY2/wCjbI30yS1eESJEQpUjlyfbrmXo84xysuJrMByQoITyZBq8Ut2dS05rDmIxGDLHKH48q/Y6Urk9dqY5SCGvRYDiBBSfX7DzS+q3zWujG5tpHYxTi5hTkrDrwPxL9OZWn18YY+EuPqNCZ5OIMn1FL9vLPpW1t618sUIFqXVCWUryXmar2O+a7Fk4cnF0c+eMygYpP5ag8wpqqyahpZsoBE6+r68cvxMVovFNx9nrmVq9XHKKDjaXSnHK3eZ4PMR1cyadpX122MaVl+sRw0YVBXiwr9OHR6wYo0QjWaM5JWE20SG8Xy/HBcwfV7vg4eAurhSzMQA4+E9euYWbIJTJDmaeBjEAsZ0Sy8xjV7WabSxHYJIzC6FwjHhxZVb06cvir/sczsutjLFwU4GPRyjl47VfzI8va5rItBpdotyFjdJS0qxcCWDLswPLpmHgy8Dm5ocQTT8vtP1XTNCFrq0CW90J5H4RsrrxYgihWmRzZOI2uCBiKLzfR/y086WPmG0v5bSI28F4s70uVb92JOVQvEb8e1ct8YGNNZxHitm/5peWNU8yaPZWunRLNLDcGV1eUQgKUK1qVavyynHLhO7dOPFGlD8qPK2seWrHULbVIViNzOk0PpyCUUCcTUgL3GOWYkww4zHmwnzL+VHnG+8z6hqdrBAbee7eeBmnAPEvyFV47fflsMoAphlwkyt6J+Y+gan5k8pSabp6R/XJJoZQkz8FAQkt8QB33ymMwJW3mNxpIvyl8leYfK9xqX6WjhCXaw+m8MnOhiL1BFF/nyeXJxNWHEYm0TfaD5zTWNQmtrO2urSe5ea2eS6MbBGp8JX02pvX9rLsep4Y015tOZTsPJ/zc8kearbTYtc1KK3htrY+gyRTGVi00ryA0KJ/NTE5hIU24sRjby2xbjfW7ntKh+5hlbOXIsm/MdjH50vpBvyELU9zGvXHGdlIsBN5ZkP5eaCzUH+kXKD/AIInDD6muQqJVPJ8iHR/NkddvqkbV7bVwT5hOIb/AAU/yqkDeZL1VNQ9vLQ+PwNgzckw5h6dpkg4rTMQuQmdz5ll8t2E2sRQi4eCg9JmKAhzT7Qrk8cbNMSWNwfm9aJHP6XlfTUFywkuAan1HBJDP8PxNueuZPg+bV4m/Jbcfm3cegLpdNhVXPEwq7KqcTxotB0xGNfErkhz+bt8UamnwjsP3j9PfbHw0+Ig9U88NObC6Foi+kpZRzbcyUqDUdAUxjjRKeyvdfmdql2YS1tBGIZVnUIX3Me/Fia/Cf2skMdI8R//1I1/hfy0kjTSKURI0RyHYj04mDItByP7I7Zg6zNwQJ6lGQiItj2t3mg20sjSTTI17MJrr02CsKDilahabbrH/wALmrxXkIveMXDJEjRKdaT5btbO5t7yK7lmVS8oEgB5euoG/f4QM3GGQMduTmwjQS+X0m/MXTg7KALu3G7U7KfD+OZY+hpgf3r3trq2rT1U/wCCX+uYbmqZubYmolTw+0P64opoTQmo9RP+CGK0uEsAIPqJ/wAEP64lNLnuoCP7xf8Agh/XHmrS3EIG0i0rueQxC00J4t/3iGv+UP64qAv9eLjTmte+4xpSHLLEK/Gv0EY0u7jMh/aB+kYVpeJYgteQ+8YFpaHjJX4huR3GJRVITSZR9RSpH25D18ZGxCaRquo3qPfcY0tO5qd6g777480U2WQLQnfGkUt5D+hwUtODL0xpabDDFO6X6/dJHpVwjGjSRvw360FTjGVSDGfJ8dwSAlqkdT3Pjm6iXXyCLj4+x+k5YGKJUpt9n/gjhpBVFC+K0PucCheOHio2/mOKCqR8OI+zT/WOFD0f8lFB1++IA2t16En9vMHW8g5mm6vbGU8DscwLDl08K/5yMgt47mxZEAdpnBanZYkIH3scyNMd2jKHjKsPD7wcz3HpeGHh+BwhClJHGaniK/I5ExDISL3L/nHo8fLOqAbf6cP+TS5hZebkQeiReXPLkdwtxHpdolwjc1mWGMOGrXkGpWte+Qsp4AjL7StK1H0zf2cN36dfT9eNZOPLrTkDStMbIUi1W0sdPs7Y2tpbRW9seVYI0CoeX2vhApvgSBSlaaBoNpMk9rp1tBNH9iWOFFZaimxABGSJNIEQFW90bRr+RZb6xt7qRRxV5o0dgvgCwO2RshJAKqljYJZfUEt4lsuJT6sEURcTuV4U40yHVQNqULTRNEsZvXsrC2tp6FfUhiRG4nqKqBthJJURAWXmh6HezGe80+3uJyADLLEjtQdBVgTiCQnhCtNZ2Etn9Slt45LOgX6syKY6L0HEim1NsimlGx0bQ7OQm0sbeBpKB/TiReQBqA1AK0OA2tAMuWp09QBsJB0/1TiqW6stNPnPHoh/Vh6q+cWMZ/lJ/wBY5shydcebiV22X/gjihw4Gmyj/ZHFWwY+4X/gjiq5WQHcLv7nBaomGSIdePXxOVzZh7n5EngHkDSOUiKPWvAAWA/3aPHMI83NhyTf6xbV/vo/+CX+uKXGe3p/eoP9kv8AXFId9Yt6U9aP/g1/rirX1m17zRg/66/1wq19as+88X/Br/XAVWteWHVrmEHtWRB/HFaUzqOnjrdwf8jU/rimmhqel1A+uW9f+Msf9cbWkLp+p6YlhAkl5bqyqAwaaMEEbdCcWFK51jRx11C1A954/wDmrJIorTreiA76jaf8j4v+asFlFNPr2hbD9J2n/SRF/wA1YppZ/iDy+Kg6pZ/9JEX/ADViVAK0+ZfLqmn6Wsh/0cRf81YsqWnzN5Zp/wAdayH/AEcw/wDNWKrR5q8rr11ix/6SYf8AmrFNNHzZ5W3/ANzNiP8Ao5h/5qxtSHf4w8ojrrdh/wBJUP8AzVjSKYR+c13p2vfl9d22j3cGo3P1i3dYraVJGoH32Untk4c90XzD53Xyl5hV1YadOKEHcDxy0yDUbIZN578taxqHmGS5tLKaaOSKIc048SyoAepyMJAJN0Fa48s63L5B07T/AKjI13b3ksjwDiGVGBoxqab1xEgJLRVPJ/lXX7XTvMcFxYyQtfWRitVYpV33ouxp374JyCY81b8tvKXmbTPMJnvrF4YGidC5ZD1U/wArHHJKwgDdnlhb3iqoeMgUBrtmOQ3Wo+cz/wA6pqRYGiRq1KVOzDLMWxQXjsWt2yxiscvh9j+3MzicWkUt4j6JNOA3BZCQKfF1HbACit0F+m7cKB6Uu/8Akj+uSJDKkc98F0WG4ZWZeQotKtQse2RBYgWhk1y36enLQgkfCPA++TteF//V5noWm6la6xqd3LE0UCW9nArSKaFQiiULuKEcT8WabtbIOAR6yacxqO/exq8lt18wTuGE1vM5khfkFMQ6kKK9V/ZwYwTjH8JH1OJEWGWeU2vWv7JZDOYRFctIHJ4luSBa/s+JXM3T7Rc/Cdku8z6gLbzBclnPpq1AtW2/dp2HfM6MbDROQEixS6ZhcSXHpCcyAqBMvNaH2Pf3wnE2Qy7JA1lcKe9MBgz41Nobhf5seBImjtB0q41DU4YKkRg85mqQAg65javKMUCUHI7Xw7arOyNUMa1Umnh3w6UXjDHHPZL+MvicyeBnxu4zeJx8NeN37/8Amb7zjwJ40fo1lNe3yxO7iJfikIJGw98x9TPw42xlkoKN9bXlrcNE7k03BVuQofcHJYpCYsLHJYQ4e5/nf7zl3AWXEujN20iIJHBZgAanqTgMF4k082PdjzLqYMjFhcOCQT1BpjwIE0BaJdz3EcfOQhmAbiSSBXfbIZPTG0HImvmc3H1xXilcKqhCoLAgLsCfmMxNEbjRa8eW7tJfVvP9+v8A8Ef65n+G28bvWvP9/Sf8E2Phrxt+te/7+k/4Jv64+GvGqW/6SnlWKKWQuxoByb+uRmBEWUHJTI7ljZWEdikrNcSR0uXLNUtXkB1245rMcjknxdAfS4xyklKbeGQdj9wzoYjZEkZGJRtQ/cMsYKwSTwb7hhtSqqrDqH+4YFCotRuQ4+gYrSZaVe3NstzHHDC4mhdGkmjDuAVpRDWi1/mpkZRtkCkd7NqkHD6rO8UpBBdWaOvw+MZB265RnjYbcMqSs+Z/NMMhX9LXisp/5aJevX+bMThDlCZTfzpr2uX9roialePd8rJbnlLu5kkd0JLfab4I0XLMUaYSNsaV/wDPfMkFrIXhzT28N8LEhosaYCkBN/L/AJ781eXLeW20e9+rQTP6sienG9XoFrV1Y9BmPOLbEpr/AMrn/Mb/AKug/wCREH/NGV8IZWvH51/mQOmpr/yIg/5ox4Qtt/8AK7fzI/6ua/8ASPB/zRg4AttH87PzJ/6ugH/PCD/mjDwrbv8Aldn5lf8AV2H/ACIg/wCaMHAFtr/ldf5l/wDV3/5IQf8AVPHgCeJw/On8y2NP0v1/4og/6p4+GEGbZ/OT8yz/ANLb/khB/wBU8fCC+Itb84/zK76sf+RMH/VPD4ajIjtA/NL8x9Q1WK1/Sx+MMT+5gH2VJ7JkTjCTlKprHmvzu96EudevWod1EroA3YBUAHfI8DA5SifIWseZLzzHDZ3l1c3P+kGVZJJ5TQQox9PiW4MjftDjkjBfFRYZt68q9vs5mDk4Z5uJYn9r7lxQ1WTanP8A4XFW6sBSj/8AC4q4Ox2+P/hcFJDbGanRx92R2ZLLKz1ea6NzY2Ul7LAKbw/WFTl0PGhCtt8JymeIFsjlI2SfUtF1bT7cLqcEtrayTtKZbiJlLSOKEcmoaU/ZyHAs8prZBTTWp5IJVeMfDGWc7Cle4x4GvxSltxRTJwkhaIoaoWq9adtgPlkuAMhlKto0zTR27SyRn06JSQnkd9utdt8jKCZTlacQrpRMhJX1FB22NGHTt0yowYHKUn1axN3cqxoaRqCU6dT45Zig2RmaQ99aPdNH6iIghjEUaRqEUKvsO5O5OXDEg5SoRaQgmSo2DLX78lwI8Qpx5x8u+n5i1SUFWR7uaig1YDmacsx8WSMpcPUMpZKKR/ogV6ZkcCPELX6JHhjwL4hd+iB4fjjwL4pd+iB4Y8CPFLv0QD2pjwL4hd+iF8Pxw8CfFLf6IXw/HBwI8QoqO3jRET0FJReNeRAPXcinvgOK0+KVBNIjruB9+SGNj4hTrS/McXllGAtPXFzQij8ePD6G68shlgzwmzaOb82EJB/Rh2/4u/5syrgcgFVH5wAKB+iqkd/X/wCvePAtrl/OQhq/ogEeHrn/AKp4PCW1Vfzmfto9G8fXr/xoMIwljab+XvzUn1TWLbT49MELXD8BJ6vKhIp04jBLFSRMWmMXne/NoZUsIyEb00VpSCxHUj4cxJZwJiPUsiQDSrrd9d6j5M1aS4gWB/qzURGLbAj2GZEeaebwfk/Dv198yWqhafWLE+WLsDYgn9YOHow/iSIySFVrWm9OuNllwhPpef8AhNCQRQjiaEbc6YOIHkiI3KRo78ht+w3j4HDxMqD/AP/W5Xc+dL6+0DUo54IYJHYRR8GZudTUjce2arWYbyQN7BxtTKwGCSlklinvVWX1FqI42ClT0oRQjtmTGiCIsYgcg9C0jzTNZeX4pUtykK7r8ZkcmvRqgUGa/URkJCMSylkpDG90TVoob68kuI7meQiVIZOKg0p04nwXNhizyiOE7lrlEFIZ4oTK3HjQMePIkmldq++bYbhkAttYYkuY3KI/E1p16DwyMhsyBUbqzgM8tFQDk1APngA2W0XodmFNwIgpd1FSCRQdeozV9pigCeTGRsJJcPAsjpLGrOK8mA3Jr/TMnSHZEOSEuIxHPEvENyQVG/Wv68yJ30bQdlVLZPrLDgFoSKV2yrFIkreylG1qsSlwpbiC1RU19Tp/wOZYpBtNtAljSN6KKymgoDuB1WmaztCNxBYZDtSB1NuUsCFArcgtAKbf5WDS80YeRZD5W0HTLy2unurdZmWXjG5LbAKppsR45dqJEFM5GkJrWl2NrrMMFrCIk/dGgLE8mk9ycniJMSnHIksw1Lyrot1e3lxNaAyM8sjyBn3NSa7EZSJm6RKRBed2Ui213BIQAjLRm+IgciNyBvXwyesiZQpJ3CLvXVb2TmC877AgkjrT4q+2YOG+EVyaoJ7o/lXTJ9Btrqe25zS8mL8mFRX2PhlmXNIGgW2UklXSbR/MC2YjAga4KekGboFJpWtczeM+FdrE2U51vy1pNrp1zJHbBZokUo4ZtizUrucpw5ZGkGSSaXCkLSTBV5RAMr1Pw12yztA+mu9hI7KepSQzTBlkcsoJYnpyNBUd8wcAMQxhySSW7mSXiNuO1Kk/xzYxma5uXGAITXTnZoS70BqKAkjala5lYCSN2mYRYYDf4SfDkcyGtWDJ/k+3xHFK7klADTf/ACjiqtBKoqBxpSg+I4QhK9eNLXkhCsCB8LEnfKc3Jsxc2NkkmpNTmE5bIPNVeGiDw0q3/F5DlmNBSRf898vYFeKf5nFCpGoI32rWm58cxJ5SCxJamWP1GVegA3r3+nJ4iZDdMSaUfTH+ZyzhZ8SvbRQsGDx8+hDciKe22VT2LCcyGpYIhKAoovw8gSe5wRlsVjM0ip7Oz+ru0ScWQDcsSTvTplcZm6YDJK1GCKzCVmWpBINCQfwycpG2UpS6Ie6SNXb09krRR9GSvZnA2ttByuEB9/1YxO7KfJM0toPRDOWLOdqHYbnKpZKLimRtqztIpnkV6mkbstD3DAA/dlhkQLbAU/8AIllF/iu1RSTyjuK8TVtoj098jjJkWMp1ElmR+o3ttLNE84aI8ZoW3lQk03UA5dLEQ0w1MZBJvLssml+Zprjd2tmm4oxNCeJXelPHAI9HJtGGNASKp18DlsRs0nm16ajuv3HDSuVE7so/2JxpDYjTfdf+BOKqdzGos5zUV9J9+Br9k98B5JDEhuoqWpTxP9cxLLa9a/JjWdP0rTNVju5mie6KcGCNJspYN0I/m23zKwYpTGzg6rWY8J9f8Sl+dutabe+ULG1tbl5ZbafkG9No6JxCgVYsa/M5LPp5QFldHr8WU8MOjym65t5Y0mMeoeV1cBTXdyeApWnbMWR9Ic7vSuKAFpBK7oyg9+hHY5T4hBYmS2GEGKMxs4csAxBoOvbCch4me9rri1mhvZIiZFCnduRrxO4JP+UMMp7KU/0a3BZohx+JY+L/ABEsWJFWqTQ5PHmsbhhRZrJ+VWuj/d0G4DUHLuK5MaiLI4ZKL/ljrMKiSW4t0TkBU1G56DIz1MQGPhSQ+p6Feav511OziuI0k9eXjG4PRW6mma/T5AJ3SJxJlSNH5Ua1Wn1mDf8AyWzY/mYpGGS4flNrJ/4+4B/sD/XH81FPgSXj8pdR9Ir9ai9UsCrcTTiBuONetcfzMU+BJaPyj1cj/e2Ef7A/1x/NRXwJO/5VHqx2F5D/AMAf64fzMV8CTv8AlUerkf72Q0Hbgf64PzI7l8CTh+UerHf65EKf5B/rj+ZHcvgSXf8AKo9SrT67Hv8A5H9uP5kdy+BJev5S6hT/AHuT2/d/24fzQ7l8AobUfyWvb1YwdRRClTX069f9l7ZGWpB6MoYpRSu8/JL6hbvdXmrqtvFvIREa0/4LMfNrBGNgM5CQChpX5SWesBn0/VgAv2opI/jXtvRsGDWiQ3G7CMpFMf8AlQ1yDtqaU7Vj/wCbsv8AzA7mRhNsfkXdV31FNv8Aiv8A5ux/MDuR4ck48r/lZFoGsQ6xd6grR2aySrVKAOqMUr1qOVNsyNMRllwkNWWMo0brdi19rrW2qepLxaFwskEEI+AGejOafzb0zQTw+s1zElnM8VvR5PLM13o81qLhFivYSnIVJUOAfppmfCXVyokkWwtvyDQf9LY0J2/db0/4LLvFCKkjbb8mVg0+az/SJZJiavwAIr7Vx8byY+GbtDL+Q1iFHPVJCQasQgG3y3yE8/CLZUVOz8nWGuTS6J9ZkS2tkVIGUhmCqT9o0KjcfZzXaPUEmz/E0gESpMIfyH0RUbnfXDuVZVcFFAJBFSOBr9+bLxW/gL//1+e6loWjaHpd24qbllMkUcnJqGuwFDszdf8AU/181GsyGRjEd7TqgAGHeWNGbW9UntXZlnkjcrKVJTqAd9+gqP2ctnsBTDFh4gnvmPR5dK0KK2nHpdIxFGSVfh0etT1/lbMW5HKCWOWFEKPk7y9puoWU6yyfv4HJ4LIwNGH2iAR+rMsT9TdHEJC0rOzELzABIFAOx983cOTSURp8fqahbRsHIeVFYUWhDMAa4Zckx5rb9FF5cBVdVErhQAtKcjTEDZiCrRXS2WmyyxR8pn+Es5AAqaDbbNF2hEzyCJ+ljM9GKRNNdzyJxqQKFhT6My8MKIpsiKCLudPnnkSSjKY1CkEDsa5nmNqDTcNnOshdgxDVqBTrkceERKTLZBPot2Budv8AVyzhXjCZ6Z6ljaOQvJ4xuzbKKnb8c12vgSAC1ZJWl7SvcXbgMKqQZDQktQ1NK46XGAQyiKCb6frusabDLBaGP0ZXMjepHVqkAda+2ZmTT8RUkHm5Lm/1LVrZ7rjzeSGNSi8RQSDr9+Sji4YllEAHZMtV80a/HqN5DE0XorNKiAx1PHkR1yEcHVZSBKSadBS8jmdeSQJuDUb9jtmP2hA+GxJ2UtTvXF8REoVpwAO9ATU/TmDgxXHfoxhG90bbeY/MdtaR2cEsXoRCiAxVNK13Nc2P5EHdsMgg1utQS5W8Vl+urKZeXD4KkEdPpzI8H08KBIApte6nq915fM9w0fOe5+ryBUI/dxoJBSp+1ybIQwCMlJFJabgQWjs0lK/ZQjr2Ncx9aOKQDXVpMZBIHkA4moAp45VVbNojWyu9i7SrI0cTEdRxcBtu9Dmbjw7JGShSKgWVC9VVATXjGCFFBT9ok5k448LXI2rcm267ewyy2K+rnryNOmww2raliKfER40GDiCd1USkAAV+4YgqnHl7y3a+Y5prW8keOONVcFKA1rTwOY2py8LfhhafH8lvLldrq4/4NP8AmnMHx/JyfDPeitW/K7QrqS2WaeYLa20NrEQwFQicv5TU1b9nJRz10QcZ70sv/wAmbR7crp80sVwSCHmKsvHv8IoanJ/mwx8MpJYflTe3xnEN6I2tpDFIrJUlh1YfENjlePXA82IxkoxfyY1gUI1CP4agfuq7H/Z4yyxO7M4Cibf8orSxheTVriSfnIio1vxjCg1BLAl65IZ65L4JTWL8oPK8oqLm5FfF1/5pw/mivg+aqv5N+XVrxuLk12+2B/xrkJZr6IOFsfkt5cbrLcknYjmP+acRl25MhhV/+VL6F6fEvdcTTo3gf9XB4nkx8ALf+VJ+Xjtyu/EktQb+9MJy+SfB80Drv5QaRZ6bLc2sVxcSoQeDvVd9qkAxk/8ABrko5L2Xw63YfZ+S9Z9cyLoUZWJS7n1iKKNixrPt1ywNMiT0TLT/ACPqF5M0U9hBDCkcsgKyPIRxVm7TjIGIu0RhZ5LbHyXrDzpBbWunrM6soDy3BqtOR/b2+z45MkVSeE9yY+S/Jltd+YYIr1rMI6ScRbPOsvLgaULtQCvX4WxjMQ3DCen448JZxpPkCCxme6Dl7lk4qpclAWALV2BbfJ5NYDs0YOzzDe2rX8u4E1K5vJHHG5SYSqrEkepGeXGop1+zlEsoOznDG0vkIOQ3qmjb7seh38MkNQx8G1w/L9OVWlPGvZ2rTH8ynwHJ+Xyb8pKjvR2x/Mr4Dl/L+Po0p37Bn69u+D8yvgOb8vIpIpIzIaOpXZ377b7+GJ1CjAla/k5ZEGtwa7cd3p71+LK/GCfBKd6H+X40jg1vMheNw6Fw7Lsa7gt45kYdd4YIrYuDrey/GMTdGKd6f+Wuj67qYi11RdW0vqSNCheNeRoQdmrschqe0vEiIhjouxximZk/U8p/NHQLOwlttH0mAwW9neyC1iTlIazJG7k1LM24zGhM9XOyjh2YXPY3MkIkmdJATSOSu1KGvbESDQCKTbyr5bgvtA+tx7X3rmKJxJTiQocVQ/DRt0/2WGc92+BBBRvlfQrG81+5XVYGuIprd5oFYFQxDcV4kUPUcciZsOZpHWfly1tdflt4yUjNzFEqjoq+qRtUnplgl6S2Sju9+13SbSy00yoCbiJxHIxJowC7GnaoGYgkbcrhFMI128jTTGJoEqPVL7KBUHc/s4zFhhPkxvRLa2b8ydamb966kvEFFVQualmJ7/srTBAbtHD6rZ3z+nLm9dyVasa8QKnv74Cl5+Pzh8v2M9zBqQuDKs0gjMMYZfTr8O7Mpw4oGTWJC3H88PJY29O99v3Kf9VMt8KTLjCZ6p+YWm6TZxarepOdPvVgazWONTIPVjMnxAsvYfzZCMLNMrCUf8rz8oCn7m+6/wC+o/8Aqrk/BkjiCbab+aOgX1lc3kMNysNvBLcssiIHZIqcuIDsO/dspP1cKBkBNJL/AMr58qA7WV+R/qQ/9VctGEp4gnflH8ytG80X01jY29zDJDEZmecRheIYLT4XY1q2CeMgLxBlYY1rWop1yq2VMf8AP15Ja+VruRI1kXjSQNXZT+1sD3yjMCaDXk+lhf5Lw3Us9/eyrIIwAiSk0jJO/EDuRl5gAdnGxDfZ6qX3G/ti5q0t1xWleyuXgukkjCFjVKOodfiFPsnJRkQdmMogvnHWrMpeFUjeVg/wotAVVCRTj9qtB/xtlMTubcLJHcl623mkaV5OOrtbCWC1iiEcMTgcgSqH4iDxoxyzELcnDyYkfz8tf2dGk+m4H/VPMjwmfEGUeSfzCTzPBqMqWJtv0eqtRpA5fmGNPsrT7GQnClErlTGIPztt9QkNo2mNbCccPW9cNx96emMp1mnJxmmM8lBE+QPMMUnmg2MMXITRSSGUEV+DcGlK7jr8WY+nwGMbLVH6renpfXSo8SFQj0DbAmg3oD75lW5L/9DnPm689SF42q/rOBcTqQZAvKu3Tb5fs5zkZCWSx0aNSQSmHlKbQrOyS3troPdMOUykmg+g/CoFcyBl6lycU4gKnnO3lv7NYIZF2q5U7V2oCDXvlOXUQEwXH1MwSFHyxYWGjaPcTSNH9auXPqPGakqB8Ip269Ms/NCrZjLGMPexO4j05maCyt55JxyPqsxKmlOR4qOm+Z2n1uQyBkYxi4USTuu0y0uE1K3keOkcE8fqtyPw8WBNc2GTWY4jctgmAVC9hBuJSjK7c2JCuf2jX+OHDq4yYiVoK4/3kmViF5KampYmngMp1Y4qI6FmRaX2UkFqFidxzlqSaHev2d8qxTPFfRv4dkdX4qDifH4jm0EgQ0UV427Lt0+M4bVaSQegP+zONopZPMY7GcIgLOADRiTQZg6zGZEHoGJCV6fCziSYheTbLvQgDrlmniA2SG1IplYdVHv8RzLtrITPysofzLpSMAytdRAqSSD8YyOQjhbMY9SG1Y11W7IAoZ5P2j/McMDswI3XWRSGJp3ViK0UAkj7huc1+vPEKbYQsJM0DPfFnqygFgxBWtTUdcjpwDQU7BEVJ6j/AIY5sxINJDdQN6bd9zhsKmcjD/DEB7G+lpue0Mf9ch/EylyCU3SvLAVWlRvuScpzQ4t0RO6XxAySqiqBwNS3T78xowstpGyZc6UFNvZjmyFAU0t8q9t/mcbC0vDk7fxOFU+8l6MNY1yO34rII19X0iwAkIICx/EQvxMcxNXqI44WeTk6XTyyE0PpZ9qGn+eouIhgmRYzSKOK4gQL/sQyrmrhqMBFm24xyeTFdb0jzBIxj1eH/csE9eICSMlrcGhZirUqpFOuXYNXjB9J9Ky08zGyu/Lm5CahcsaCsa96nqfHMvVmwGvTino6yyyVBPFOzMBX6F/5q/4HMLipyqVuMYvJl7qIlUmlaeih6/TkJzVFAUPJRUjp06+GAmgkCylc9trunzxLp1rBDp8pZ5uL2omckVLVcklgx6H7K/Dmrhk00pESMuNyJ4ssNgNkubV/Ni6grTx8tOd1+rIfQEoK9Vf0zv6i8v8AJRuGXRzYBKsZN/xIhiyyB4hsnGsqbuwihQrFLNJGEEh6tvRfh5fEx+Ff8rNhA2ebRLZMbfSvzFsVa307ywJrLjtcOiNKz1B+Lk47bcczY4hXNwpZZdAsaPz5EJJ9X0oaZAv2JioEYA/35xZyrb9hjkgANizx5T1UJvMV0lrbyxSUZ1Ik27g7VzFFuS3/AIjuZNMmeQqZVniC1H7LJJWgH+qMd1pu3165ayvea/GgiaKgP89Gp9Bw2UUpxajdXFleo8Hqsbd2hjJKgyIQy1NNsQd1IQGiR3Ut1LDeaascNzBLGxWYtU8eSjZVoOS9ckSx4WtB0tFv4zc6fHGkwaGVo5C54yqUOxA8cFhab07y7Y2d/HPFbKpRyCw68SCpoa+B8MBK8KItPK9hp2p+vbjg0DkRkU3A23PywWKRwbp/SO3At05MsSKoYncjiKYgsyrSfCHANQYXYH5o2EHdBCnaF3tYGP2mjQkj3UYCkK4U7bYUu4niaDAinEe22JVwU+GQJK0W+QFCcCRErw4rQkVyMmQiU58tMp1SMBhXi3f2yktjx38zB6Xmb61HP6UttfCRQYfVUkQigPxLtTM/DEVbh5QOJgkegpMfh1MhRWi/VwAP+Hy3gHc0HHae+UNPt9MElj9aNxC9X4vEqjl8NKHkTtxyE4DmzhFuJLldRgv4NSVHtkeGGMWqlAju0hrWT4jykb4sTEMyASnvleeGw1K6v9QlGpvclCsbRJEEKuXJXd+tcryQsbNkeb1TWtbttU8nvq6MIlNRMhI+AryPxHb7OY1UWy9nl1xrGjXMbwTT280Eg4vG8kZDA9tzTLhEtct1CC6tbHzxrsTXSWyrLSkjooZQBQb77ZXwniaSKkyAeYtH6fX7ce5lT+uXcJbbVR5j0RQWOoW3/I5NvxwGJRYeBfmKLceY5vqrpJAatzi+JCzMdw29aimW6YUGFC2M7nxrmUVeiee9Qs7jyZo8UVxG8yRWPOJWBYFbZ1aoG+x65jQB4iz6POt6DMlgzTy0sEnljUZZpY4mt4LlI1aXg7F4tgEG71Y5hTx/vLawPVbCwD4ZmNls+/JzU7DTtfvJL6dLaJ7MqryHiC3qoaD3plWYEjZQd3r/APjTysKf7lIK9/iP9MxeCXc3cQQ175t8oXdpNbTalC0UylGALdCPYZDJiMhTEyCVeUte8r6Ho/1GXULZZFd2bgZD1O3LkPtU8PhyUMUq3a8YEU3bz/5SqK6jF7UD/wDNOTOOXc28YWN+YPlOgrqMfXeiv/zTg4Jdy8YVtO88+WLnVLa2ivlaSaVERQripcgAfZ98RjlfJEph5p5n1HTF80W7x0Yqvp6gGDcao3Fq06/Z3yqUDu4+Y7p35182+W7zypqGnWM4Z3iVYYUidFqsimgHEAdMyMeOQPJuhKIDxf0Zv5G+45lEFjxB6D+VPmDTtFh1hNSkaBbpIhDRGbkVEgboD/MMqyQJTGQBtg9i13bXIkSN67qRQjZtuuHJDijRYSILNPJmu2Ol+a7W8uTILeO1mhkkCl/jZSFUADpyzHxYzwn3oga5vSE/MzytQgyz1od/RfrQ4fBk3cYf/9HnIjiuozOk/CJCysJECkGuwIbbf55yEiYmiN3WHvXW+lTyyOZoViUx1VYmHJviqORUjb/JxnmobFIulIaPrhDPIeMs6kcQxaNAppRqj2/ZwnPj5DlH/TINr7Hy7cfDFNJ6rSHnOkfKgGwpvt2+LI5dUOYQSqyeW9ThuWNhDJC7A1kd0kSn7IAUAhf8nEamBFS3WJIUj5evLkq2rK0yo3P04gUSneo35fZyf5kR+j/ZKAoL5SsrfT5beBGa4lLSNdyVLJGCCFQUpy36Yfz0pSBPIfwqSSiz5E09baKO4iN08Q5RSuzKwr8R4hR3/lIwDtKXEa2BbIyIQB8oaULeJTachGS1xIVcyeKqv7PxH/J+zlo1875szmJKrH5b8h3jRNf6VdW8zNRmgdkQitCWBVu/XMjFrskNieINkcw6o+y/Lz8sZ3Ag+tSBjuWnICgEg1rCOmZMu1Ijns2eJE9Uav5P/lw7sPXuFp1/0pQKnpSsOTHaUO9mJx70Dffll+W9oDxe9lboQLlAFPcn9yP9jlcu1O7dEpjogpvy78ievboi3vpuObH105Ffpj6H9n4crHa1bkNfigFHxfld+XcsBuFW/CKxT0zOnInxA9L+OTPa8atn4sau0R5b/L7yUmtx3VpFfJdWMomiMsqehVDVeRWIH8f9ljh7TE+ey4coJVdR/KXyT6nqXMt291dSHk0My8fUY8jsI24j5nLJ9p4xte4ZGosQ17yPPa3QtdOWRNKXZpiwkIBFSealfir+zxXKf5Qxne7LCWUBf5e8k+WbmQWeqSXLzN0ZJFjRqUrQGNun+thPaNeqlhO+eyZ6v+XPkjTGg+rrc3NzIQ6RNOjJQGlG/drjPtK43EscuSuRSpPKvkuGVo9Rsr6GZQCfQuIilG8VdGYUG5w4+0CRfNhDMOqY3nlDyhBZR2EKXdzbxObpwZQ0itMip+xGg40QHIZO0p36aWeU9EPZfl75RupZK22pJBGGFVmh5M6j9nlH92VnteUa4q3QM+6c235QeRLpG9G7vOYA5xtPCHWvSoMfXtmZj7RhIXbkRMSLBQGo/lf5QsZPhN7cKOXMepETUDelFXpmLPte5VFoyZaOzHl8nyXfBotHeC0LkrIGKTcAftsH5Gn8u2TOvEDvPf8A2LXHIb5siv8A8vvL9m6CGO6uWFGVX9P06gUUuVXfp45Tk7TN1EimWXIRsF2l2V7o7y6lDZlTwWN47RkEpHMMv2K0qe3/AAWY+TUDIOAy5/zmzS6k4jt1ZCdc8wtJwYSrECoaYojAMTv8KjmeP81MojIiNCX+a5w1uM7lj2u3+vXjTyrYzTekvBpn2Do5IqFHGo3PLfLtPwRq5bycTNrJHaPJBeTvL9kmpNeXcVzpptvTlijh4LHKUapDeqwqB/rZszrQBRILHBk7yzfVvNFjBbj6h6ks/Hm8ZVD8INKfC56775RLUg/S2S1A6Iuy1WO8WO9ZWSGVEYFVRiP3YWp+Jd6r/wADkZ5RCV2zGQc0xhv7WOSG4ZnaNGDt8EdGANaU9T9qmVZtWDEi22OYA30QLec/0heSyRaE9hal3KSSegoFDQ8Y4jX4v9X4s5+eilH1eJxSP83ic6famKuqGvtWjkhkdbEtMi1jnAjY1Y8f3dasG4j/ACclhwyEgeL72ufakeAgBIk/MKzstV0r6/aO0Npdwzcq/tQmoBA6jxXOk08snOxQdWNQSd2b3/50SXTo8Gm6t6EqP6UsF3LErAGtQgdaDj+3T/VzPGugOZptOWPehtb893MltBZQ/XjLexBFnaSS8FueaszS+seLEIXIZv8AUymHasJiX8PD/skSlEb2t0zXNLmn+oveNcXKkKJzAilix7qpCrTMUdodTsEwzxJpOJTpiRK55SHoUWNSwPiVrk4doQJq24yAQslzpBcDgVr1aWICn3HBk18Qdi1HPFQvb7SbSBneJnKgFQsZQUI926fRhlrQB5rPOAoQa95daISyTGCXosXxVr23B74jXCrKBqIoix1LQ7uYxxXbRuo5KAGBHHr32OAdoDqmOYFbqFzDZSK1JzCVL+uR8NQeg3O+HNrxHkLTKdJdrvmOOwEbRLNcyzfEVZQDQ7k7A/ZGUfn5TlUaoNGTUUdm5fIujeYI31y5uLqKS5VWYGaSEmi8QFRXC9F8MzRrOGO9NwlYu0ss7HSm8xJdyy3kJ0iIJC/NzFIUUokcimoP2qu2YuPtMg3KqaBmPFudkFF+X3k2eX975l1WG4YqXh5gIGc9E+A/DX7OZmPtTHIcmQzDvTmT8j/LiCsnmbVl+c0f/NOXHXYwN6bfixu/8l/l/Z3aWzeYtalLEKWSSMgE/Ne3fKP5TBO0dmk5hdWn3l3y15Ei0fWbS31+/kS/iSC4a4kjEkXFiwMfw9/5viwz7QiBZDYJiuaUp5D8jRaWdUj1fULuZAQbCSccC4rsSqq/Qcspy9oE49vTMtU5+nYsee30q6QR3Ma2qmhMcTlZFQn4fjJYKxHxfFmPHPkibszcOOeYN2Uw0vyn+W+o6tHpsNzrTSSKWXncQhiAKkhQn2f9lmd+dlz4fS5sNRxHmz3yt5T8k+S9ci1uyn1K4vLdHQQTuGWko4NVQg8f5sjk1sSHIGQDqlGuan5Z1jXLiPUp59Pkeb1FZVSRdl40IahAp3ODFr6jdbOPPODJEaf5U8lXY52+uPISPiXjGCO2+2ZA7QiWUeE9UXF5O8rI7MmpyxmM0JVYt6j3BOR/PRPNmCO9Yvkvyd6iIuqTfF8TOBEKClRuFyGTtGEVuPK1O6tPLeiE2yzT3EbOqvOyxOSJKABW4028PtZg5dZHJMEEsZZRHZOtPTyxLol/o6ajcyWl4CtxG/ANGxUq3E8QOVP9bMyGrgd+TOGUEc2G3P5OeW4KPbX1z6DEHlOi9zRfiXY5LJqJDlIU0yxHnxIjXfImlapqWo6xLLJ6kshYwooLcafDWu1SMxc2vlEcUSEZO+0ptPJHlSURrJNLHI5+GBl+Kv0ZVHtHLL+Joib6psv5UaCyclvXow+IcU798vGsyfz4tvhf0kFcflr5ei4SNdTSRluEnFI34b9wK/qyEtfOJu4rKB70Qn5X+VPS5reM4NKkJH1+Vcme0p19QUQ80Qn5S6BLG00dxL6Y2qVi2p2oT1yyGsyEXxRZeGe9TH5S6IYg31xkUn4eSQb/APDDJR10qsyijwfNRh/LPQZWpFqMzjcOqJBRSDTerrlf5+zdhRDzXp+W3lj1nie7nBipyJWFd2NOPXrjDtCZJFxCBAXzRiflV5aozrPO/HdgphBFfpyz81kP8cWYxX1Xn8tPLYm9JnnLjb7cY7dPtZV+anf1xXwvNGH8ofLhZY0uVdyoYxGYK4r2NaD8cP5jJ/PCfB81Gb8rtGhLyvbTuBUyN6sTj/hWyuepyjnJEsKg3kTyq3BFtpz4jYNQ9xR/iysarJ0kw4AojyN5S9T0nt5lB2H7xamm5254/nMt7yTwea6z8u+RbPV7d42dbu3kSVYmlUHlGwYVBb2yX56Y34jXuYmIvcpZq/ljywsF3qM0LvdBmdmEgCksxbpyrx37ZGWslI7FZ0WIQX+nXssQTTolsjxS4lDFXVq0opqN6DLzLJHnM8TikkJvqI8jWcqJBp17OgAZ5SzKFB7bAr18TkBqc8jtIU2mYTTTdD8lT6WLue0lVpB6kSiQ0ZD0+02xyk9o5I3En1LCYPNA+j5IaV4xZO/w1jdJmA8KMev3Lhjq84FkoEwFkmmeWYFkaa3JC0KLykB+I9BuOW+QGuznYFBmpWVz5cla5A0zi0a86MWIKUIqK5bPPmFermg5N3//0ohF5k0QTOj+msPIsIwlRyG34++cRPS5C67ZJ9W833McxFo8cdsjkh2QK4BoCAcysOjBjUhugSTODzlYXFujSOtOQFFqtQNq+GY89FIGmRkETL5k0y3jWITlvVryCCpUEfD/AC7f8NlcdJM7p2QqeZtNZuEUsqLsGY1FPl1yw6SQQaVTqtk7/urksNquSVIApkPBkOiLCutxYLRri8ZkmBY7gAVNRypkeE8gE2FZNc0aFEj9SrVqKVJqe9TXbB4EzuzEgqNrFojcjcCpHVQSfwGA4ZMCQhH1K1lVjE7STqwI59K9+oOS4JCkGQVIr+2YhXYRPwPNAQVFO1fnjKBKbBWRXfrtVJYwYqGjPQE08R/L2wiBioUdRv4Y4SEMUkrU5RMQVZt8ljgSfJBk5NSt5oGEsKLMq8YyOh4/ZB26YmBCJbpNe6/eRXKtIVZIyGXkKb0oVWh2GZWPAJBjuE80/WLCezWVmRHHwmMcjSgoKMeu5zFyYCDTMSVP0tZD4kuuRX4eDdd/Db9nrkfAPcvErWWp2F0hVp4wsbmiMRUkmtatSpOQlhI6JRlxdWSxhy684x/d7FgB4Gm3+VkBGXQMiVOSTTZAqoOUvLirKwBqu/w164RGTEgLL+XT4UHAxer6n963E9FoadetaZKEZBEqStbu4a/VkCURgBCGCihJHKtcu4BW6IojUrmaG4t04RxggtHKzjiWqOQO+Qx4QQUl1xf3FsAEECBqFmUrXia7mp98MYdEA1yVJPMcENVKxc2FCQQahd6jr8siNMSpLcfmKzPSaOJW+EF6/E/dq/yjE6YrHZx1nTDO0clws5koPT/ZJO1RU8cIwT5opfJqGnszLBwElAFAKgVB3I99sfCkyruUWuIkYMJoEaRQSjOOQC9aVB7nDHEUCJVJtXX0Vhlkio5IYMygU38OnjgGA9Ay5NJqllcK4j9Jo6HkC3Y9qdcJxkLYaWz00uWkto25jisiGjCg+yDXGJlytIIDoZbNbcJCiLDHReIfYAfT4YzEiWRkF9vqMV1KsaMskYFREXBJG/7O32chPEQGHFeylLp+ntLLPMvosikIoYhdzxPQjxwwkaphS1Y7Q8lt26kry9WrUU0DfENuuSkDbIkdFGLSbdKTGKB5BVJHkIZgvTam3tXJnJKqsqEXyQFzI0TBFJWE0VVX+VaeIyoxKbRcj28loqSBY4pR8ILca0HQg77ZAYyDakghDC0sOScE4SkghwNzvsK/LLakgABEfVLz1PVe+V0pu3EKaUIXp/LXBKI7mRsdUKdLnuJ5FF2si9OK7Ny2NOVckDQ5MS4abfqOSz+oI19Liep4n4uW56eGRkR3JJXrpSQ0J4KC3Op4n4m/a3+ziZEsCFCy0xIfVnjuYgi19Z1Cs5HXenv1yUiTzZAJvaxlbeONJSUjHw0+yK7vtvlcgbbRM8rU2jpEGEwJHx/F14/LpXBwMeEIJrjmWjjulAbf0033Pf38ct4O9BKq1u7WpE85WNalkAAb6e/yyG3cxMtqQ0iaZxXmr8IwVAC70O/I/wA3TJAFja0rplxGsYvJY+TVUftDlseu/TJDbdIk5vLUE0Txw3isJqci6BjUEGoZgG7YRmo8mQpExaDb2kkxSdQ0lOcQQ8dhTr8WQlk4uaCFi+WtKuIQzMzKx+LiSA1du3h44RlIRGKx/KumOxlMIaUsBU0AIXalKfZwjUSqrTQKIHlq1EkdwlYp+ZLzKQGNRTiG/ZFP5cAzSqk8KI/RnwBC7NMBTm9CwoKV5EU2yviJK0Vp8u+uknqAMz0HFgNjTryO9TkuMjkjgbstHhtnKC3C8T8NBsaihqNsEpE80xjTo7GSByTIuwJ5Ur8VdiOvviWYQ62gNw/qzmjkqqqdgPeg64CA0rp9HMoj/ec0iIZEZv2gO9Ou+Mdr82VWp/4agaC4nf4jLR5KfZXwIP2h0yfHLaujIQbtNNijRbT1CI670mJHjUchscZ2d2PRMYtHtY4puDMpkasgZi3IDY0PbIEX8GQipppUlamdI4geKqOtO1T1yPCGPCsuoJLOP1mq6R7VA5HhXeg2riMYUgrbA2U8jlJldD8XwbfH4GvxHp8WSMCEA7rrhGkT/RyFlRt1rtWoFSenemAQFsjy2XW8NyIF+syhXc/CoPICSm/TEgA7KCURJ6ckvppyUMo5CgAJ6daYBBPEUHc6Fp7RuJGdVcFTRiDXr277bZOM6Y8K2z0zTAX9ISersJXlJJLDw+jJSkSilZtJDSExTH1EWiKWoCdyK198rBSLX6XpBMjyXgkNSPVRZf5dqAjf/WyQEeZ6JiCTuiLrSLOSUXFm0qxk09NpCxSu25OSkRzDOYrkls0WmQJNHKGAl+Fzzbff26ZGywGQhuOWzhcsKVRaIF6U8BTr0wCJtESirawS6WqAPzX6zHI8gUcR136hqD7GWjGSmiUlNpost09wlvG0przahqq1rUnHjkBVtR5tx2WkSMfrFseAYiOnIg1BB5YiZHJmA1BovlzTrZoLKCWWIuXLAcveu+5AyWTLKZsndSBe26rNa6MYvTaoe54KkTfCWYdPh8aZGyOXRjYQ0h4l4QqBFQqqk7KWXbb/AGORqzaLpAWGk2Md16qWwSJCUkkib9nb7S16++ZE80iKJWUrKa3senmz9UQlkK9K8SeR23OY4Jtl0Q1vcaeySIbUC4RCU32LEfFvt8stIPexf//T4c8N4wAhIaQFuTtQUVT0BzS3Gzbqg208E8YWY0qN2OwJH68iIkHZCIttOWGMjmvE7py7D6PHK55rKktahJCnBSzPQUWnUU+eOIEoU7f0rklreVkII5I4oCPn7ZKdx+oJBKOMEsUikOSd/hB6/PKOIEKVdjMsZWRlao6eAyAq9kIWSS4knKwzKkMY3G1QewHfrloAA3G621ELppf70oVbchq7eIwnhA5LaMWahIDni1KmtTXKTFFqM96to6iSWryHYdqE+PbJxx8Q2DIFb6Uc10twZkZUaiVqRWnXam+GzGNUqJYoVFXVmBFDsd+mVC1Q99fi3RVkLHY0IPQV+eWY8XFyVAJJBeOv76h/Z2Jr/rHLyDAckkUmUMMsQFZeTrUKKUFKUzHlIHoxJU4X1ZJg0oR4qGiqK1Pv4ZKQxkbc1tXVZANlFD8XIdRXwrkLCQVkSgljyYAHjxqBv3O3z64ZFNr1imZQUkLAbFvn3yJkB0Y2oSM8TgOCwagZj238BlgohbXpC0klCxpu3cewyJlQTaIksTyD8i3Aj4Sdqg7ZAZEW2fUWQh4w22xpWlR1ONik8SoJFAP7sFjsRx32yO56otdIC1WQBD4dSPowA0xtqMqCRQlkGzUG5HSmJJTa2SYHZoeRJ2oOnfCB5ptZ6Cs/IghS3TtSlAN8lxGlte6gtyXjXo602P35G0ElTMkyPWKJA46PSlR4DJgDqyBX/WCUHqrwb9oE7V69Dg4d9kEro2Q0HU7swAFBkSEKX7uKUyQsQ5FGcHfr298luRRSNlX1nZgrNVCtfiNSfDY4OFNqhuIEDKQTXoB02yJiSUWoXLQvCCpIkDAluRpSn4ZKGyb2UbNzHC3ryBqUovsa06/LJzFnZFohmtpal5XfiKorN8IJpgG3RNr47ekgJuHCk/D3oeux7YDLyTaJqnGQCVyrCgofv+7Kvgi0uWC+iukk+s/A4JYn22HTLyYmNUto0SzxtyMjRMaV4EknbenzyvhC24zFpVdJnoB8VRTenXp1x4QE2px3MXqmNmARgeQHw15deWHh6qCiYpZoSF9ZUWhCAGhow6YDEdy2hJ0D1EkzMUY1WhNCdqHtvko0Oir44LYc5Y4zzABFKqdvlglM8mNoiK6EcBVnk4n9ksWFfp8KZWRaSV312cssbSSlwKBa7Lt4HAQi2zcIjlkpzSlGZqb9+njkeG02mEGrrEih4fVoAABThQnfc5A4mXEjYZ45i0LyTJb8aBAR33JDAg/DkOGkiaYWvG3URxytO0hBVn6KKjYLtlcrLKJ3Xp+kYbglY+SN4bAKTX33qd/8nEbMuqOhEzfFJwCrWqg7iuwPbGmQBdduEQsGPEnYBRWopvgpBQ8t1bKm8j+owqqg9TXr498kAjiCks6qysPWfkeIB6qDua+IxIRxK884oDHGvqtQoDsa0rucBDIleZFEYfgqt1Kgg9u1cCLCHjjij5tHGGB+MndTXw6nwxJKBSvJPGiFvUPpKRULtyI3IJxBLLjQd3fqkIaGBpTUBoH2NCRuKihyUR3sbCNGowFOYQs1K0rQ1H8cFrxhTGpxPGzxwMkgrVWIArsa8gTikzCg1xbXCFZLdmr1qSQK/I40UcS9LfR7dIwtuIubMW4A1JO5JpvhJJ5sdlGRIFldYRGqgByHFVJDU3yIJSCpGRY5VKNGF3JG5FKePbfDw2GNoqLVoQvPirlaF6LQ7ioFScQGQkF7XySLxEY226/FxHxGhGAimRLRu4yUaRY3G3JVBoK1r07j3xFptCpqpEoRYkElRymI+KhHw0rXvjwkMeKipT61dxrIqwJyWokPKoqaUO3jXfJCLEzWWt7LMgeWMAbVYCo3HYVNMapRO1Ux2MxWR2+JVoF6AbdvY4CuxQWoTCJFkiHJQQoVB9kE0I37UyUBbBfPdwxqqGYBuJqCVqO5FOm2JiSyHkgY9QtbeZXD8wlXMjfEQSOpNN8n4ZLGlzPN65nVSYACzlTRSdievWnIfDgrZatauvfU7tIooDHJJzDlgxqCKkKwpxqP8nJjESLXipWt7i3uTxmYnmOYrTlQDfcGvQf8DkOEhQXCysrluCylFVeK1ovKlRsD8Rw8VLzbtdJtbepS7k4yVEnwAmij4Sa4ZZCeieFEk2VqiqiMY2+Lc/CeWx6CmQJtlwoe3n08SPcCzZwY2JZzsOoqp8cs3Twh/9TjE9xxfglOVTSvY1365z4j3unIU59PjmZC9OJJb1FNOIpvhjlI5JulaGhkihDGRFFefjkJciVUp4GNweYNaGvZhy2GTjLZbULe1hgl9IMQ/E8anfrk5TMhaTJGLUgL6hpX4Sdvpyk+5i3MAkocyckHTcEUI6mmMdxVIU4GieYsK8SD2ou23X2yUgQEuiEVtI5L1JFQNyQD06YJXILTa8lj5UJHXY0NSe/XE81pDX1ks1JGanHvWgJO9OmW4slbJBIX2kBihI9QGIKabd/EYJys+a2rLb3HEOsgWMLyDEgUY5XxDuQh5bKa4hKLJ0apJqeR8N6Uy2OQRKYmm7fTLqKSMswFDxZa0HI9ME80SCtpwljVoy7F0pV9+3htmGcvNBVrWyS15py5jdgpNaZCeQy3VdIbUsYiCWf4hvTYd8A4uaLQ7R2bExrJxrsQepGWAy50i7X/AKNDjlDOYoqbgHxweNXMWUqkcQVqvKvEHiF9/p+WAm+QS2ArPzVixUcgB0I6VOR5BStSP4W9Q78eRHia4Se5gCpw2U4kr6xIO5Fex98lLIK5JJREelSTTLSRkrUniw3K7mhPU7fDkDmAHJlGNqk9vEkJaFJXl9YxCPYsUK15Gnh+1gjIk71w0yOPbZCvcRx8QwoDUKCaE9qjLBAlgApJcR3Sc4w2wpXwPyyRgYmikBpo3jcGKUhhRQO/LwyQLMSAV0g5o3xDkaV8fnlRnTGRtzQyqAoJO+/H2P34bQh7pY+aRzV5yklifs+HU5OBPMIUhHEpeTmxMg4Kp8BSmw22AyZkTspK2Cr1jU0Irx5V6de22Mtt1BXRJcMVJZeNfi5GlPvp4YnhSq/UtUcqAOAPau5H09sHFEKrfUrqCF2dA7V2X2pU5HjBKqRKqHEkXFqgsD0qdgu+Kr60CVhHMV4oKct/ngrzQQow6okhaNkCkA7FgK18NqZOWEjdbR9tJUclj4q3QVBp36DKJCkhWNy05ROAAjJVeIFdzyNfvxpLTq9RxoaA7npvgGyhTWB1lpUEkhSRuSaZK1LS28hYhCGUddh160rhBRTc1sSih6FlOx67Dp0xEkhyQMo+EkA1NRWgp12wcSktCZOfpF2DDcKAaH5k/PExNWhWiZWkT4nVBvQ7jfb6OuRspDkAkZjx5FWNGHcD3OE7MSpzRICOLBnBowpTYb1yQVtYkY8KsisteR78abADE7JC9JZo6ULbA9TsKfLI8KolNSdyGRwnbiDt92RliBZAo2HXXBCer+8I+yTQ+9MrliTxJkuqSoBRuRP7TEUP30yvgZcRVY9RcMxkYfF8Kim47+ODhY8TbXCcVeiPyYmoNCPAFjkSVtUM8pK+pHRmP2gQeK/TTIpVXt+CIyVYvX9qpHXwwkqXOJw/H0y0ZG7AhgdqmqjBYSQ0Udj6gjNWJ4AVIG3th4gilG4S4KenursdyegpWgp/NT/hsFpLUVtcA0kqPSoUY0J6b9NjhkGNFCSOAwtiGKUJ3B38STt3yKKQtlqkLyC2QOpWjKqrWnWtaVH35bKBAtCZFrQyPEJ2UqQZuW3EnfqRkK2Z7KohgRy8cvqCMlGWoruKH7hkaARThZvyUsw9MqSHFANz36kHESTW6mlpDydeXwVHwEbkmpAyQkEUqPaiFEZ1UF/gINKk/s+++DiZGFLf3Mboi/CCvIKOqnfx36YbWlryNIvJUBTmKuDUV67/ADxCOFFLbyrC7NErSAlwincAU8O3I1wlnGNoK6XVmWR4bWP4QzqqniCuyhAB8VeWGNXuWXh2FCwaeZmhngkSWhYuaFAan4UII6ZKUAORauEq9vp1y8TbhEIKsWrsQdqZAFeEr57C9MkTF1KKy+pCVNXTqTt/N/k5IEDmngV5dP0mdi8cC15VFasfs0wcfczq3W2nKLThBaxxpuHjAoCQd9vDBxEsQOiLaJ1Q/Z+GgCU34r/bTBaRCkNcafbytG71QqK812Ox6NhEypAQw0a19WirTaqsTxJPfcDvvhMkCCtJpnp/GT8Sg7nqB1+EZE2yMacbWJo1TmRI5+JjQe+StG6ndWc3oLCFUuzUKdQBSpYVwEqonT4vgdY2rxbmp2/ZPEUrTDxIf//V41erak/bVWq1D8RPXftmghxW6kqSxL6Kcphxp4NSn/A/fhJ3U0q2MUIuAI5izdSaMB8umRy3W6oq7U82KODJStKGlPDplOOuvJiUMyRNx5OiS9qVpX6A2+Wj7E0tuILf6tzW4T6wAtY1EnJg1e/EABP2slDn5JAU/SrabzKBtzIFfi+kYb9SNkRAjegvoSIU8AG+mldsrlV7pKnKqhjV1JpQg8qU7HcZKKlT/ecqbdNzU/0yVBi16bGZKSkEUryDcT49iMdqSLRTiMKKlSKHjXYdTlYClCy+tROdDBtWta09tq5ZER+KNmoUBZBG7CMyfaPLY9ui/qwy865Kio0b0pKutanmfiryrt1HhlRqwqvGs44+m4MfGg+1SvY9MrPD15pKJpcggEqZeI378a9tsrqPwQsCziVW5IdtlbrX22yXppQAl9xGhdDJIBRySo5b+I2HjmRDlsu1pnB6gtE9KhavxDfx98xpAcW5UqJEfKL1Ch3JWv8AN3G+SrnSUTb/AG3MfGtBQDpSuVyG26Gz6vqFmoQQeadgK+JwUKQVsoueElGBHfjXrUUpt4ZKIjswKMtzdiMEKC/da/xymQjfNsCtp3I3hEQIuOD/ABIRXhx+PYj+XI5AOHc7NkLSK7Nvyb1VWo+yVJqT7Uo2ZsAehauq/TBBWcxH9r94orTl33I/Vhy3taV05vQqmMIxB3Wu5+WRiI3uVU7UXRnJcqr7bDkTw964ZCNbIVbo3YRvQUMxIE1DSnv92RiI3uVS29BKL6xVQKemX5Enw7UpXMjGBeyqsZuDbgMAsXYgk99698gRG+e7EoaIXRIrQD4qA18evTLCIqEcIoyq85lWI/b4gkBvoGU382Saxq/KHi1RQUrWvT5eGYprdV1wLkSfaBXYsWr49MEQEoG/DmT4ywlPLdK1B9uIy/EGO6BCt9Xbmx6UTjy5cduR3HKuXbWhRjigBoJyzb8XIcHj32IyciUprpq0T4W5Kft0rQD35DMbKGYRh9WrelT1KniB14967dchtSDyUIHu6kGNTAAAhqKn3/mwkRrnuoVJOAjH2WqfiIJFKnalB9oZGIVZMGD1SjbjkDUCn3YYhSrW5uBCgRVLEncno307ZGQF81XWR1MMTOqMNgASeNd9xXb50xyCPQqi0KG4HIRqNqk+GVUaSW7kERngQ0lfg7b9qVwQG+6EucS8T6Z/eileFaH58RTMgAKW4OJHxgLJv4kV4nwxrfZQ2irQfEpNSDy5bbbnpgkqyWIs4ZJikatUoikhvauWROyUQFgFQrcpiBua0A9qjISu0Ier14qq0q3JifirXbtXGh3qEVMJTAPXZVkrRQvIj5nbIGrVHRc/QFOm9ORNOu/auVTAtUdBzMfwUXcGux7nZq9spoMgioyjbFeA3oQanpvkCEhMYTF6JCCjcqhiSTWmy0pgDPoheUnqEcD6nEfGD8+NQNsjIDvYm1WNnJUsoV6KCKkmm+5ptuOuNBLrh72gM8a8qqI1JNAOJ3/l6UyZA6JKnKlx6WzktyUyEV5V22+EZFibWP6ProDx4hPjZtiTTYEUOTUqGnRWIuC1rMGu6EBCCDuTxIJHQfF1yU7pApXZLAzH1pEW55Dn6oJOx2rUdz/wuV7suu7Xo2Zc/VrhlUMQCA/EtyBJ+z9GE2pV7mFeJZrj91yUhCrfaDCgqB0PfAqlCn72UTO3qjjzJrUgMePbuciQxHNq8jt3uSbmYQychRaM3xjoBtTfv/lYYhlNSmjsfUYCat2JCasG5FeO4oBk+it2KxDn8aMhPwCQNQGu/KoC1riyFplai7+sSm2P78bSg8iDsDVqjpTBRZxvoqrzCMGo0ZBoRUUT4eXvg2tMTKlBfWHIR8CA9eRrU7bgDqMQDbA23HwEu+9UcjqFHWoG3XCQjdDKl0ySESemwIIVwzArT4gNulf9jgARu1YgCesBJJQ8lFaA16EkdMK7rrd9a9N+UY5LUL9kclr1O5pkiB3qOJDRtraFlCiR1ZjzrTnUjYA0Aof9jgqPej1ISZvMPq/vkHpAjkFK/F8VNiP+CyYEK5o9SZqLtZ3qeabGIioPTpTpkJBI4lCdL43C/GFkK/FzDGg79skFNqEolChWYNIKVdeVCe9BTbHZiqypKQtXoApKkh6Up0ag6fPAeagd7cf1urFKenQhweXTx33/AONsI5p3f//Z"};
\ No newline at end of file
index 1f6a91b2613fa8b020d2d3527810533fddda0b15..1e1997f188b4790d800c6b26cd6b1ffbcd602da3 100644 (file)
@@ -12,8 +12,8 @@
     <meta name="description" content="">
     <meta name="viewport" content="width=device-width">
     <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
-    <link rel="stylesheet" href="app/f3572dd3.vendor.css">
-    <link rel="stylesheet" href="app/7b2a74e6.app.css">
+    <link rel="stylesheet" href="app/67dd0d05.vendor.css">
+    <link rel="stylesheet" href="app/ec36ec5b.app.css">
 
     <!-- BEGIN DYMANICLY LOADED CSS FILES (all plugin and page related styles must be loaded between GLOBAL and THEME css files ) -->
     <link id="ng_load_plugins_before"/>
@@ -59,9 +59,9 @@
     <script src="bower_components/es5-shim/es5-shim.js"></script>
     <script src="bower_components/json3/lib/json3.min.js"></script>
     <![endif]-->
-    <script src="app/bff60da8.vendor.js"></script>
+    <script src="app/4942fdcb.vendor.js"></script>
 
-    <script src="app/9210b25d.app.js"></script>
+    <script src="app/76616549.app.js"></script>
 
     <!-- BEGIN JAVASCRIPTS(Load javascripts at bottom, this will reduce page load time) -->
     <!-- BEGIN CORE PLUGINS -->
similarity index 81%
rename from public/assets/plugins/mxgraph/stencils/call_management/hangup_128x128.png
rename to public/assets/plugins/square/stencils/call_management/hangup_128x128.png
index a6e436ca4d9258c76c8f19b72df31322d8e9dadb..59c3837c780bc4f458e2a0428e65a1d12457e187 100644 (file)
@@ -1,5 +1,15 @@
 # xCALLY MOTION Changelog
 
+- * bcd50b9 - 2016-01-19: no message 
+- * b29c95f - 2016-01-19: server side api 
+- * 8591a85 - 2016-01-19: client app 
+- * 1d431f6 - 2016-01-19: client side assets 
+- * d09c82b - 2016-01-19: update dependancies 
+- * d9bd3a8 - 2016-01-19: client side app.js license management 
+- * 597c722 - 2016-01-18: Updated Report Section 
+- * 5639970 - 2016-01-18: new version 
+- * 1831403 - 2016-01-18: I modified csquare mxgraph library paths 
+- * 1193f35 - 2016-01-18: i created new directories for csquare and jscripty mxgraph library scripts 
 - * afd017d - 2016-01-18: new version 
 - * 366410c - 2016-01-18: Add Seed for production 
 - * 7e4f41e - 2016-01-18: new version 
@@ -44,6 +54,4 @@
 - * bef9612 - 2016-01-14: Added report copy; Added report json import/export. 
 - * 1c98d29 - 2016-01-13: Added server side report building; Added report preview(custom, client side, edit view). 
 - * 3defec8 - 2016-01-12: Added client side report query builder. 
-- * b7b6646 - 2016-01-12: restored seed.js 
-- * e04072d - 2016-01-12: server side config seed.js 
 
index 83c456326056b935dbeaf4b8d90339a882927a08..975c465d94af6f12f7aa557c8187384b51e58329 100644 (file)
@@ -1 +1 @@
-var _0xa912=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x54\x65\x61\x6D","\x69\x6E\x64\x65\x78","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x61\x67\x65\x6E\x74","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x69\x6E\x74\x65\x72\x6E\x61\x6C\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x62\x6F\x64\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x63\x72\x65\x61\x74\x65","\x6C\x6F\x67","\x61\x64\x64\x55\x73\x65\x72","\x66\x69\x6E\x64\x4F\x6E\x65","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x63\x68\x61\x6E\x67\x65\x50\x61\x73\x73\x77\x6F\x72\x64","\x75\x73\x65\x72","\x6F\x6C\x64\x50\x61\x73\x73\x77\x6F\x72\x64","\x6E\x65\x77\x50\x61\x73\x73\x77\x6F\x72\x64","\x61\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x72\x65\x73\x65\x74\x50\x61\x73\x73\x77\x6F\x72\x64","\x61\x67\x65\x6E\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65"];_0xa912[0];var _=require(_0xa912[1]);var util=require(_0xa912[2]);var Agent=require(_0xa912[4])[_0xa912[3]];var Team=require(_0xa912[4])[_0xa912[5]];exports[_0xa912[6]]=function(_0x89f4x5,_0x89f4x6,_0x89f4x7){var _0x89f4x8=[_0xa912[7],_0xa912[8],_0xa912[9]];var _0x89f4x9=_0x89f4x5[_0xa912[11]][_0xa912[10]]?parseInt(_0x89f4x5[_0xa912[11]][_0xa912[10]],10):100;var _0x89f4xa=_0x89f4x5[_0xa912[11]][_0xa912[12]]?parseInt(_0x89f4x5[_0xa912[11]][_0xa912[12]],10):0;var _0x89f4xb={where:{role:_0xa912[13]},limit:_0x89f4x9,offset:_0x89f4xa*_0x89f4x9};_[_0xa912[27]](_0x89f4x5[_0xa912[11]],function(_0x89f4xc,_0x89f4xd){switch(_0x89f4xd){case _0xa912[10]:;case _0xa912[12]:break ;;case _0xa912[16]:_0x89f4xb[_0xa912[14]]=util[_0xa912[19]](_0xa912[15],_0x89f4x5[_0xa912[11]][_0xa912[16]],_0x89f4x5[_0xa912[11]][_0xa912[17]]||_0xa912[18])||null;break ;;case _0xa912[17]:break ;;case _0xa912[25]:_0x89f4xb[_0xa912[21]][_0xa912[20]]=[];_0x89f4x8[_0xa912[24]](function(_0x89f4xe){var _0x89f4xf={};_0x89f4xf[_0x89f4xe]={$like:_0xa912[22]+_0x89f4xc+_0xa912[22]};_0x89f4xb[_0xa912[21]][_0xa912[20]][_0xa912[23]](_0x89f4xf);});break ;;default:_0x89f4xb[_0xa912[21]][_0x89f4xd]={$like:{}};_0x89f4xb[_0xa912[21]][_0x89f4xd][_0xa912[26]]=_0xa912[22]+_0x89f4xc+_0xa912[22];;}});Agent[_0xa912[42]](_0x89f4xb)[_0xa912[41]](function(_0x89f4x11){var _0x89f4x12=Math[_0xa912[33]](_0x89f4x11[_0xa912[32]]/_0x89f4x9);var _0x89f4x13=_0x89f4x12>(_0x89f4xb[_0xa912[34]]+1)?util[_0xa912[19]](_0xa912[35],_0x89f4x5[_0xa912[36]],_0x89f4x5[_0xa912[38]][_0xa912[37]],_0x89f4x5[_0xa912[39]],_0x89f4xa+1):null;var _0x89f4x14=_0x89f4xa>0?util[_0xa912[19]](_0xa912[35],_0x89f4x5[_0xa912[36]],_0x89f4x5[_0xa912[38]][_0xa912[37]],_0x89f4x5[_0xa912[39]],_0x89f4xa-1):null;_0x89f4x6[_0xa912[30]](200)[_0xa912[29]]({count:_0x89f4x11[_0xa912[32]],rows:_0x89f4x11[_0xa912[40]],next_page:_0x89f4x13,previous_page:_0x89f4x14,total_pages:_0x89f4x12});})[_0xa912[31]](function(_0x89f4x10){_0x89f4x6[_0xa912[30]](500)[_0xa912[29]]({error:_0xa912[28]})});};exports[_0xa912[43]]=function(_0x89f4x5,_0x89f4x6){Agent[_0xa912[47]](_0x89f4x5[_0xa912[46]][_0xa912[45]])[_0xa912[41]](function(_0x89f4x15){if(!_0x89f4x15){return _0x89f4x6[_0xa912[44]](404)};return _0x89f4x6[_0xa912[29]](_0x89f4x15);})[_0xa912[31]](function(_0x89f4x10){return handleError(_0x89f4x6,_0x89f4x10)})};exports[_0xa912[48]]=function(_0x89f4x5,_0x89f4x6){Agent[_0xa912[51]]({where:{internal:_0x89f4x5[_0xa912[50]][_0xa912[49]]}})[_0xa912[41]](function(_0x89f4x16){if(!_0x89f4x16){return _0x89f4x6[_0xa912[44]](404)};return _0x89f4x6[_0xa912[29]](_0x89f4x16);})[_0xa912[31]](function(_0x89f4x10){return handleError(_0x89f4x6,_0x89f4x10)})};exports[_0xa912[52]]=function(_0x89f4x5,_0x89f4x6){Agent[_0xa912[52]](_0x89f4x5[_0xa912[50]])[_0xa912[41]](function(_0x89f4x15){Team[_0xa912[55]]({where:{defaultEntry:true}})[_0xa912[41]](function(_0x89f4x17){_0x89f4x17[_0xa912[54]](_0x89f4x15[_0xa912[45]])[_0xa912[41]](function(){return _0x89f4x6[_0xa912[30]](201)[_0xa912[29]](_0x89f4x15)})[_0xa912[31]](function(_0x89f4x10){console[_0xa912[53]](_0x89f4x10);return handleError(_0x89f4x6,_0x89f4x10);})})[_0xa912[31]](function(_0x89f4x10){console[_0xa912[53]](_0x89f4x10);return handleError(_0x89f4x6,_0x89f4x10);})})[_0xa912[31]](function(_0x89f4x10){console[_0xa912[53]](_0x89f4x10);return handleError(_0x89f4x6,_0x89f4x10);})};exports[_0xa912[56]]=function(_0x89f4x5,_0x89f4x6){if(_0x89f4x5[_0xa912[50]][_0xa912[45]]){delete _0x89f4x5[_0xa912[50]][_0xa912[45]]};Agent[_0xa912[47]](_0x89f4x5[_0xa912[46]][_0xa912[45]])[_0xa912[41]](function(_0x89f4x15){if(!_0x89f4x15){return _0x89f4x6[_0xa912[44]](404)};var _0x89f4x18=_[_0xa912[57]](_0x89f4x15,_0x89f4x5[_0xa912[50]]);_0x89f4x18[_0xa912[58]]()[_0xa912[41]](function(){return _0x89f4x6[_0xa912[30]](200)[_0xa912[29]](_0x89f4x15)})[_0xa912[31]](function(_0x89f4x10){return handleError(_0x89f4x6,_0x89f4x10)});})[_0xa912[31]](function(_0x89f4x10){return handleError(_0x89f4x6,_0x89f4x10)});};exports[_0xa912[59]]=function(_0x89f4x5,_0x89f4x6){Agent[_0xa912[47]](_0x89f4x5[_0xa912[46]][_0xa912[45]])[_0xa912[41]](function(_0x89f4x15){if(!_0x89f4x15){return _0x89f4x6[_0xa912[44]](404)};_0x89f4x15[_0xa912[59]]()[_0xa912[41]](function(){return _0x89f4x6[_0xa912[44]](204)})[_0xa912[31]](function(_0x89f4x10){return handleError(_0x89f4x6,_0x89f4x10)});})[_0xa912[31]](function(_0x89f4x10){return handleError(_0x89f4x6,_0x89f4x10)})};exports[_0xa912[60]]=function(_0x89f4x5,_0x89f4x6){Agent[_0xa912[59]]({where:{id:_0x89f4x5[_0xa912[11]][_0xa912[45]]},individualHooks:true})[_0xa912[41]](function(){return _0x89f4x6[_0xa912[44]](204)})[_0xa912[31]](function(_0x89f4x10){return handleError(_0x89f4x6,_0x89f4x10)})};exports[_0xa912[61]]=function(_0x89f4x5,_0x89f4x6,_0x89f4x7){console[_0xa912[53]](_0x89f4x5[_0xa912[50]]);var _0x89f4x19=_0x89f4x5[_0xa912[62]][_0xa912[45]];var _0x89f4x1a=String(_0x89f4x5[_0xa912[50]][_0xa912[63]]);var _0x89f4x1b=String(_0x89f4x5[_0xa912[50]][_0xa912[64]]);Agent[_0xa912[47]](_0x89f4x19)[_0xa912[41]](function(_0x89f4x15){if(_0x89f4x15[_0xa912[65]](_0x89f4x1a)){_0x89f4x15[_0xa912[66]]=_0x89f4x1b;_0x89f4x15[_0xa912[58]]()[_0xa912[41]](function(){_0x89f4x6[_0xa912[30]](200)[_0xa912[29]](_0x89f4x15)})[_0xa912[31]](function(_0x89f4x10){return _0x89f4x7(_0x89f4x10)});}else {_0x89f4x6[_0xa912[44]](403)}});};exports[_0xa912[67]]=function(_0x89f4x5,_0x89f4x6,_0x89f4x7){var _0x89f4x1b=String(_0x89f4x5[_0xa912[50]][_0xa912[64]]);Agent[_0xa912[47]](_0x89f4x5[_0xa912[46]][_0xa912[45]])[_0xa912[41]](function(_0x89f4x1c){_0x89f4x1c[_0xa912[66]]=_0x89f4x1b;_0x89f4x1c[_0xa912[58]]()[_0xa912[41]](function(){_0x89f4x6[_0xa912[30]](200)[_0xa912[29]](_0x89f4x1c)})[_0xa912[31]](function(_0x89f4x10){return handleError(_0x89f4x6,_0x89f4x10)});});};exports[_0xa912[68]]=function(_0x89f4x5,_0x89f4x6){var _0x89f4x1d={};_0x89f4x1d[_0x89f4x5[_0xa912[46]][_0xa912[69]]]=_0x89f4x5[_0xa912[50]][_0xa912[70]];Agent[_0xa912[42]]({where:_0x89f4x1d})[_0xa912[41]](function(_0x89f4x11){if(_0x89f4x11[_0xa912[32]]){return _0x89f4x6[_0xa912[30]](200)[_0xa912[29]]({isValid:false,value:_0x89f4x5[_0xa912[50]][_0xa912[70]]})};return _0x89f4x6[_0xa912[30]](200)[_0xa912[29]]({isValid:true,value:_0x89f4x5[_0xa912[50]][_0xa912[70]]});})[_0xa912[31]](function(_0x89f4x10){return handleError(_0x89f4x6,_0x89f4x10)});};function handleError(_0x89f4x6,_0x89f4x10){return _0x89f4x6[_0xa912[30]](500)[_0xa912[29]](_0x89f4x10)}
\ No newline at end of file
+var _0xc97f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x54\x65\x61\x6D","\x69\x6E\x64\x65\x78","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x61\x67\x65\x6E\x74","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x69\x6E\x74\x65\x72\x6E\x61\x6C\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x62\x6F\x64\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x63\x72\x65\x61\x74\x65","\x6C\x6F\x67","\x61\x64\x64\x55\x73\x65\x72","\x66\x69\x6E\x64\x4F\x6E\x65","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x63\x68\x61\x6E\x67\x65\x50\x61\x73\x73\x77\x6F\x72\x64","\x75\x73\x65\x72","\x6F\x6C\x64\x50\x61\x73\x73\x77\x6F\x72\x64","\x6E\x65\x77\x50\x61\x73\x73\x77\x6F\x72\x64","\x61\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x72\x65\x73\x65\x74\x50\x61\x73\x73\x77\x6F\x72\x64","\x61\x67\x65\x6E\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65"];_0xc97f[0];var _=require(_0xc97f[1]);var util=require(_0xc97f[2]);var Agent=require(_0xc97f[4])[_0xc97f[3]];var Team=require(_0xc97f[4])[_0xc97f[5]];exports[_0xc97f[6]]=function(_0x2f0cx5,_0x2f0cx6,_0x2f0cx7){var _0x2f0cx8=[_0xc97f[7],_0xc97f[8],_0xc97f[9]];var _0x2f0cx9=_0x2f0cx5[_0xc97f[11]][_0xc97f[10]]?parseInt(_0x2f0cx5[_0xc97f[11]][_0xc97f[10]],10):100;var _0x2f0cxa=_0x2f0cx5[_0xc97f[11]][_0xc97f[12]]?parseInt(_0x2f0cx5[_0xc97f[11]][_0xc97f[12]],10):0;var _0x2f0cxb={where:{role:_0xc97f[13]},limit:_0x2f0cx9,offset:_0x2f0cxa*_0x2f0cx9};_[_0xc97f[27]](_0x2f0cx5[_0xc97f[11]],function(_0x2f0cxc,_0x2f0cxd){switch(_0x2f0cxd){case _0xc97f[10]:;case _0xc97f[12]:break ;;case _0xc97f[16]:_0x2f0cxb[_0xc97f[14]]=util[_0xc97f[19]](_0xc97f[15],_0x2f0cx5[_0xc97f[11]][_0xc97f[16]],_0x2f0cx5[_0xc97f[11]][_0xc97f[17]]||_0xc97f[18])||null;break ;;case _0xc97f[17]:break ;;case _0xc97f[25]:_0x2f0cxb[_0xc97f[21]][_0xc97f[20]]=[];_0x2f0cx8[_0xc97f[24]](function(_0x2f0cxe){var _0x2f0cxf={};_0x2f0cxf[_0x2f0cxe]={$like:_0xc97f[22]+_0x2f0cxc+_0xc97f[22]};_0x2f0cxb[_0xc97f[21]][_0xc97f[20]][_0xc97f[23]](_0x2f0cxf);});break ;;default:_0x2f0cxb[_0xc97f[21]][_0x2f0cxd]={$like:{}};_0x2f0cxb[_0xc97f[21]][_0x2f0cxd][_0xc97f[26]]=_0xc97f[22]+_0x2f0cxc+_0xc97f[22];;}});Agent[_0xc97f[42]](_0x2f0cxb)[_0xc97f[41]](function(_0x2f0cx11){var _0x2f0cx12=Math[_0xc97f[33]](_0x2f0cx11[_0xc97f[32]]/_0x2f0cx9);var _0x2f0cx13=_0x2f0cx12>(_0x2f0cxb[_0xc97f[34]]+1)?util[_0xc97f[19]](_0xc97f[35],_0x2f0cx5[_0xc97f[36]],_0x2f0cx5[_0xc97f[38]][_0xc97f[37]],_0x2f0cx5[_0xc97f[39]],_0x2f0cxa+1):null;var _0x2f0cx14=_0x2f0cxa>0?util[_0xc97f[19]](_0xc97f[35],_0x2f0cx5[_0xc97f[36]],_0x2f0cx5[_0xc97f[38]][_0xc97f[37]],_0x2f0cx5[_0xc97f[39]],_0x2f0cxa-1):null;_0x2f0cx6[_0xc97f[30]](200)[_0xc97f[29]]({count:_0x2f0cx11[_0xc97f[32]],rows:_0x2f0cx11[_0xc97f[40]],next_page:_0x2f0cx13,previous_page:_0x2f0cx14,total_pages:_0x2f0cx12});})[_0xc97f[31]](function(_0x2f0cx10){_0x2f0cx6[_0xc97f[30]](500)[_0xc97f[29]]({error:_0xc97f[28]})});};exports[_0xc97f[43]]=function(_0x2f0cx5,_0x2f0cx6){Agent[_0xc97f[47]](_0x2f0cx5[_0xc97f[46]][_0xc97f[45]])[_0xc97f[41]](function(_0x2f0cx15){if(!_0x2f0cx15){return _0x2f0cx6[_0xc97f[44]](404)};return _0x2f0cx6[_0xc97f[29]](_0x2f0cx15);})[_0xc97f[31]](function(_0x2f0cx10){return handleError(_0x2f0cx6,_0x2f0cx10)})};exports[_0xc97f[48]]=function(_0x2f0cx5,_0x2f0cx6){Agent[_0xc97f[51]]({where:{internal:_0x2f0cx5[_0xc97f[50]][_0xc97f[49]]}})[_0xc97f[41]](function(_0x2f0cx16){if(!_0x2f0cx16){return _0x2f0cx6[_0xc97f[44]](404)};return _0x2f0cx6[_0xc97f[29]](_0x2f0cx16);})[_0xc97f[31]](function(_0x2f0cx10){return handleError(_0x2f0cx6,_0x2f0cx10)})};exports[_0xc97f[52]]=function(_0x2f0cx5,_0x2f0cx6){Agent[_0xc97f[52]](_0x2f0cx5[_0xc97f[50]])[_0xc97f[41]](function(_0x2f0cx15){Team[_0xc97f[55]]({where:{defaultEntry:true}})[_0xc97f[41]](function(_0x2f0cx17){_0x2f0cx17[_0xc97f[54]](_0x2f0cx15[_0xc97f[45]])[_0xc97f[41]](function(){return _0x2f0cx6[_0xc97f[30]](201)[_0xc97f[29]](_0x2f0cx15)})[_0xc97f[31]](function(_0x2f0cx10){console[_0xc97f[53]](_0x2f0cx10);return handleError(_0x2f0cx6,_0x2f0cx10);})})[_0xc97f[31]](function(_0x2f0cx10){console[_0xc97f[53]](_0x2f0cx10);return handleError(_0x2f0cx6,_0x2f0cx10);})})[_0xc97f[31]](function(_0x2f0cx10){console[_0xc97f[53]](_0x2f0cx10);return handleError(_0x2f0cx6,_0x2f0cx10);})};exports[_0xc97f[56]]=function(_0x2f0cx5,_0x2f0cx6){if(_0x2f0cx5[_0xc97f[50]][_0xc97f[45]]){delete _0x2f0cx5[_0xc97f[50]][_0xc97f[45]]};Agent[_0xc97f[47]](_0x2f0cx5[_0xc97f[46]][_0xc97f[45]])[_0xc97f[41]](function(_0x2f0cx15){if(!_0x2f0cx15){return _0x2f0cx6[_0xc97f[44]](404)};var _0x2f0cx18=_[_0xc97f[57]](_0x2f0cx15,_0x2f0cx5[_0xc97f[50]]);_0x2f0cx18[_0xc97f[58]]()[_0xc97f[41]](function(){return _0x2f0cx6[_0xc97f[30]](200)[_0xc97f[29]](_0x2f0cx15)})[_0xc97f[31]](function(_0x2f0cx10){return handleError(_0x2f0cx6,_0x2f0cx10)});})[_0xc97f[31]](function(_0x2f0cx10){return handleError(_0x2f0cx6,_0x2f0cx10)});};exports[_0xc97f[59]]=function(_0x2f0cx5,_0x2f0cx6){Agent[_0xc97f[47]](_0x2f0cx5[_0xc97f[46]][_0xc97f[45]])[_0xc97f[41]](function(_0x2f0cx15){if(!_0x2f0cx15){return _0x2f0cx6[_0xc97f[44]](404)};_0x2f0cx15[_0xc97f[59]]()[_0xc97f[41]](function(){return _0x2f0cx6[_0xc97f[44]](204)})[_0xc97f[31]](function(_0x2f0cx10){return handleError(_0x2f0cx6,_0x2f0cx10)});})[_0xc97f[31]](function(_0x2f0cx10){return handleError(_0x2f0cx6,_0x2f0cx10)})};exports[_0xc97f[60]]=function(_0x2f0cx5,_0x2f0cx6){Agent[_0xc97f[59]]({where:{id:_0x2f0cx5[_0xc97f[11]][_0xc97f[45]]},individualHooks:true})[_0xc97f[41]](function(){return _0x2f0cx6[_0xc97f[44]](204)})[_0xc97f[31]](function(_0x2f0cx10){return handleError(_0x2f0cx6,_0x2f0cx10)})};exports[_0xc97f[61]]=function(_0x2f0cx5,_0x2f0cx6,_0x2f0cx7){console[_0xc97f[53]](_0x2f0cx5[_0xc97f[50]]);var _0x2f0cx19=_0x2f0cx5[_0xc97f[62]][_0xc97f[45]];var _0x2f0cx1a=String(_0x2f0cx5[_0xc97f[50]][_0xc97f[63]]);var _0x2f0cx1b=String(_0x2f0cx5[_0xc97f[50]][_0xc97f[64]]);Agent[_0xc97f[47]](_0x2f0cx19)[_0xc97f[41]](function(_0x2f0cx15){if(_0x2f0cx15[_0xc97f[65]](_0x2f0cx1a)){_0x2f0cx15[_0xc97f[66]]=_0x2f0cx1b;_0x2f0cx15[_0xc97f[58]]()[_0xc97f[41]](function(){_0x2f0cx6[_0xc97f[30]](200)[_0xc97f[29]](_0x2f0cx15)})[_0xc97f[31]](function(_0x2f0cx10){return _0x2f0cx7(_0x2f0cx10)});}else {_0x2f0cx6[_0xc97f[44]](403)}});};exports[_0xc97f[67]]=function(_0x2f0cx5,_0x2f0cx6,_0x2f0cx7){var _0x2f0cx1b=String(_0x2f0cx5[_0xc97f[50]][_0xc97f[64]]);Agent[_0xc97f[47]](_0x2f0cx5[_0xc97f[46]][_0xc97f[45]])[_0xc97f[41]](function(_0x2f0cx1c){_0x2f0cx1c[_0xc97f[66]]=_0x2f0cx1b;_0x2f0cx1c[_0xc97f[58]]()[_0xc97f[41]](function(){_0x2f0cx6[_0xc97f[30]](200)[_0xc97f[29]](_0x2f0cx1c)})[_0xc97f[31]](function(_0x2f0cx10){return handleError(_0x2f0cx6,_0x2f0cx10)});});};exports[_0xc97f[68]]=function(_0x2f0cx5,_0x2f0cx6){var _0x2f0cx1d={};_0x2f0cx1d[_0x2f0cx5[_0xc97f[46]][_0xc97f[69]]]=_0x2f0cx5[_0xc97f[50]][_0xc97f[70]];Agent[_0xc97f[42]]({where:_0x2f0cx1d})[_0xc97f[41]](function(_0x2f0cx11){if(_0x2f0cx11[_0xc97f[32]]){return _0x2f0cx6[_0xc97f[30]](200)[_0xc97f[29]]({isValid:false,value:_0x2f0cx5[_0xc97f[50]][_0xc97f[70]]})};return _0x2f0cx6[_0xc97f[30]](200)[_0xc97f[29]]({isValid:true,value:_0x2f0cx5[_0xc97f[50]][_0xc97f[70]]});})[_0xc97f[31]](function(_0x2f0cx10){return handleError(_0x2f0cx6,_0x2f0cx10)});};function handleError(_0x2f0cx6,_0x2f0cx10){return _0x2f0cx6[_0xc97f[30]](500)[_0xc97f[29]](_0x2f0cx10)}
\ No newline at end of file
index 925ee6d5c010fa5182ff4e357c65bfdd041294eb..324a37747eef1e4470808e1d6e810f005e6684ca 100644 (file)
@@ -1 +1 @@
-var _0x4142=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x72\x6F\x6C\x65","\x61\x67\x65\x6E\x74","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x61\x67\x65\x6E\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x61\x67\x65\x6E\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0x4142[0];var agent=require(_0x4142[2])[_0x4142[1]];exports[_0x4142[3]]=function(_0xc088x2){agent[_0x4142[6]](function(_0xc088x3){if(_0xc088x3[_0x4142[4]]===_0x4142[5]){onSave(_0xc088x2,_0xc088x3)}});agent[_0x4142[7]](function(_0xc088x3){if(_0xc088x3[_0x4142[4]]===_0x4142[5]){onSave(_0xc088x2,_0xc088x3)}});agent[_0x4142[8]](function(_0xc088x3){if(_0xc088x3[_0x4142[4]]===_0x4142[5]){onRemove(_0xc088x2,_0xc088x3)}});};function onSave(_0xc088x2,_0xc088x3,_0xc088x5){_0xc088x2[_0x4142[10]](_0x4142[9],_0xc088x3)}function onRemove(_0xc088x2,_0xc088x3,_0xc088x5){_0xc088x2[_0x4142[10]](_0x4142[11],_0xc088x3)}
\ No newline at end of file
+var _0x8b0d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x72\x6F\x6C\x65","\x61\x67\x65\x6E\x74","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x61\x67\x65\x6E\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x61\x67\x65\x6E\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0x8b0d[0];var agent=require(_0x8b0d[2])[_0x8b0d[1]];exports[_0x8b0d[3]]=function(_0x1844x2){agent[_0x8b0d[6]](function(_0x1844x3){if(_0x1844x3[_0x8b0d[4]]===_0x8b0d[5]){onSave(_0x1844x2,_0x1844x3)}});agent[_0x8b0d[7]](function(_0x1844x3){if(_0x1844x3[_0x8b0d[4]]===_0x8b0d[5]){onSave(_0x1844x2,_0x1844x3)}});agent[_0x8b0d[8]](function(_0x1844x3){if(_0x1844x3[_0x8b0d[4]]===_0x8b0d[5]){onRemove(_0x1844x2,_0x1844x3)}});};function onSave(_0x1844x2,_0x1844x3,_0x1844x5){_0x1844x2[_0x8b0d[10]](_0x8b0d[9],_0x1844x3)}function onRemove(_0x1844x2,_0x1844x3,_0x1844x5){_0x1844x2[_0x8b0d[10]](_0x8b0d[11],_0x1844x3)}
\ No newline at end of file
index 975f5c5256881dae8d8ef7460295cc812d5354f0..a665cd03554324ef38fbe1483e9f81339d338e1f 100644 (file)
@@ -1 +1 @@
-var _0x5a6c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x61\x67\x65\x6E\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x61\x67\x65\x6E\x74\x73","\x67\x65\x74"];_0x5a6c[0];var should=require(_0x5a6c[1]);var app=require(_0x5a6c[2]);var request=require(_0x5a6c[3]);describe(_0x5a6c[4],function(){it(_0x5a6c[5],function(_0x64d4x4){request(app)[_0x5a6c[13]](_0x5a6c[12])[_0x5a6c[11]](200)[_0x5a6c[11]](_0x5a6c[10],/json/)[_0x5a6c[9]](function(_0x64d4x5,_0x64d4x6){if(_0x64d4x5){return _0x64d4x4(_0x64d4x5)};_0x64d4x6[_0x5a6c[8]][_0x5a6c[1]][_0x5a6c[7]][_0x5a6c[6]](Array);_0x64d4x4();})})});
\ No newline at end of file
+var _0xc3be=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x61\x67\x65\x6E\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x61\x67\x65\x6E\x74\x73","\x67\x65\x74"];_0xc3be[0];var should=require(_0xc3be[1]);var app=require(_0xc3be[2]);var request=require(_0xc3be[3]);describe(_0xc3be[4],function(){it(_0xc3be[5],function(_0x9412x4){request(app)[_0xc3be[13]](_0xc3be[12])[_0xc3be[11]](200)[_0xc3be[11]](_0xc3be[10],/json/)[_0xc3be[9]](function(_0x9412x5,_0x9412x6){if(_0x9412x5){return _0x9412x4(_0x9412x5)};_0x9412x6[_0xc3be[8]][_0xc3be[1]][_0xc3be[7]][_0xc3be[6]](Array);_0x9412x4();})})});
\ No newline at end of file
index 8971ebcd9ece6aef5bbf368a73ed302a21bcb9d1..b1cbf71c98e0c5fc315dcf1e10715d093c83be56 100644 (file)
@@ -1 +1 @@
-var _0x338c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x61\x67\x65\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65\x2F\x3A\x66\x69\x65\x6C\x64","\x61\x67\x65\x6E\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x70\x6F\x73\x74","\x63\x72\x65\x61\x74\x65","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x69\x6E\x74\x65\x72\x6E\x61\x6C\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x2F\x70\x61\x73\x73\x77\x6F\x72\x64","\x63\x68\x61\x6E\x67\x65\x50\x61\x73\x73\x77\x6F\x72\x64","\x70\x75\x74","\x2F\x70\x61\x73\x73\x77\x6F\x72\x64\x2F\x3A\x69\x64\x2F\x72\x65\x73\x65\x74","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x52\x6F\x6C\x65","\x72\x65\x73\x65\x74\x50\x61\x73\x73\x77\x6F\x72\x64","\x75\x70\x64\x61\x74\x65","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x338c[0];var express=require(_0x338c[1]);var controller=require(_0x338c[2]);var auth=require(_0x338c[3]);var router=express.Router();router[_0x338c[7]](_0x338c[4],auth[_0x338c[5]](),controller[_0x338c[6]]);router[_0x338c[7]](_0x338c[8],auth[_0x338c[5]](),controller[_0x338c[9]]);router[_0x338c[12]](_0x338c[10],auth[_0x338c[5]](),controller[_0x338c[11]]);router[_0x338c[12]](_0x338c[4],auth[_0x338c[5]](),controller[_0x338c[13]]);router[_0x338c[12]](_0x338c[14],auth[_0x338c[5]](),controller[_0x338c[15]]);router[_0x338c[18]](_0x338c[16],auth[_0x338c[5]](),controller[_0x338c[17]]);router[_0x338c[18]](_0x338c[19],auth[_0x338c[5]](),auth[_0x338c[21]](_0x338c[20]),controller[_0x338c[22]]);router[_0x338c[18]](_0x338c[8],auth[_0x338c[5]](),controller[_0x338c[23]]);router[_0x338c[24]](_0x338c[8],auth[_0x338c[5]](),controller[_0x338c[23]]);router[_0x338c[26]](_0x338c[4],auth[_0x338c[5]](),controller[_0x338c[25]]);router[_0x338c[26]](_0x338c[8],auth[_0x338c[5]](),controller[_0x338c[27]]);module[_0x338c[28]]=router;
\ No newline at end of file
+var _0x8439=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x61\x67\x65\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65\x2F\x3A\x66\x69\x65\x6C\x64","\x61\x67\x65\x6E\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x70\x6F\x73\x74","\x63\x72\x65\x61\x74\x65","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x69\x6E\x74\x65\x72\x6E\x61\x6C\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x2F\x70\x61\x73\x73\x77\x6F\x72\x64","\x63\x68\x61\x6E\x67\x65\x50\x61\x73\x73\x77\x6F\x72\x64","\x70\x75\x74","\x2F\x70\x61\x73\x73\x77\x6F\x72\x64\x2F\x3A\x69\x64\x2F\x72\x65\x73\x65\x74","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x52\x6F\x6C\x65","\x72\x65\x73\x65\x74\x50\x61\x73\x73\x77\x6F\x72\x64","\x75\x70\x64\x61\x74\x65","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x8439[0];var express=require(_0x8439[1]);var controller=require(_0x8439[2]);var auth=require(_0x8439[3]);var router=express.Router();router[_0x8439[7]](_0x8439[4],auth[_0x8439[5]](),controller[_0x8439[6]]);router[_0x8439[7]](_0x8439[8],auth[_0x8439[5]](),controller[_0x8439[9]]);router[_0x8439[12]](_0x8439[10],auth[_0x8439[5]](),controller[_0x8439[11]]);router[_0x8439[12]](_0x8439[4],auth[_0x8439[5]](),controller[_0x8439[13]]);router[_0x8439[12]](_0x8439[14],auth[_0x8439[5]](),controller[_0x8439[15]]);router[_0x8439[18]](_0x8439[16],auth[_0x8439[5]](),controller[_0x8439[17]]);router[_0x8439[18]](_0x8439[19],auth[_0x8439[5]](),auth[_0x8439[21]](_0x8439[20]),controller[_0x8439[22]]);router[_0x8439[18]](_0x8439[8],auth[_0x8439[5]](),controller[_0x8439[23]]);router[_0x8439[24]](_0x8439[8],auth[_0x8439[5]](),controller[_0x8439[23]]);router[_0x8439[26]](_0x8439[4],auth[_0x8439[5]](),controller[_0x8439[25]]);router[_0x8439[26]](_0x8439[8],auth[_0x8439[5]](),controller[_0x8439[27]]);module[_0x8439[28]]=router;
\ No newline at end of file
index b10cc7c43ad59724489768e1f9e7b1dc372c392e..7e73cd355bce805ca86c2931386462865eaa73b3 100644 (file)
@@ -1 +1 @@
-var _0x7abd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x41\x6D\x69","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x61\x73\x79\x6E\x63","\x6C\x6F\x64\x61\x73\x68","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x6D\x69","\x61\x63\x74\x69\x6F\x6E","\x69\x73\x43\x6F\x6E\x6E\x65\x63\x74\x65\x64","\x6D\x65\x72\x67\x65","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x63\x72\x65\x61\x74\x65","\x41\x73\x74\x65\x72\x69\x73\x6B\x20\x4D\x61\x6E\x61\x67\x65\x72\x20\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64\x2E\x2E"];_0x7abd[0];var Ami=require(_0x7abd[2])[_0x7abd[1]];var async=require(_0x7abd[3]);var _=require(_0x7abd[4]);var ami=null;exports[_0x7abd[5]]=function(ami){this[_0x7abd[6]]=ami};exports[_0x7abd[7]]=function(_0xa808x5,_0xa808x6){if(this[_0x7abd[6]]&&this[_0x7abd[6]][_0x7abd[8]]()){this[_0x7abd[6]][_0x7abd[7]](_0xa808x5,function(_0xa808x7,_0xa808x8){if(_0xa808x7){_0xa808x6(_0xa808x7)};var _0xa808x9=_[_0x7abd[9]](_0xa808x8,_0xa808x5);Ami[_0x7abd[12]](_0xa808x9)[_0x7abd[11]](function(ami){_0xa808x6(null,ami)})[_0x7abd[10]](function(_0xa808x7){return _0xa808x6(_0xa808x7)});})}else {_0xa808x6( new Error(_0x7abd[13]))}};
\ No newline at end of file
+var _0x9394=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x41\x6D\x69","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x61\x73\x79\x6E\x63","\x6C\x6F\x64\x61\x73\x68","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x6D\x69","\x61\x63\x74\x69\x6F\x6E","\x69\x73\x43\x6F\x6E\x6E\x65\x63\x74\x65\x64","\x6D\x65\x72\x67\x65","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x63\x72\x65\x61\x74\x65","\x41\x73\x74\x65\x72\x69\x73\x6B\x20\x4D\x61\x6E\x61\x67\x65\x72\x20\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64\x2E\x2E"];_0x9394[0];var Ami=require(_0x9394[2])[_0x9394[1]];var async=require(_0x9394[3]);var _=require(_0x9394[4]);var ami=null;exports[_0x9394[5]]=function(ami){this[_0x9394[6]]=ami};exports[_0x9394[7]]=function(_0xb33dx5,_0xb33dx6){if(this[_0x9394[6]]&&this[_0x9394[6]][_0x9394[8]]()){this[_0x9394[6]][_0x9394[7]](_0xb33dx5,function(_0xb33dx7,_0xb33dx8){if(_0xb33dx7){_0xb33dx6(_0xb33dx7)};var _0xb33dx9=_[_0x9394[9]](_0xb33dx8,_0xb33dx5);Ami[_0x9394[12]](_0xb33dx9)[_0x9394[11]](function(ami){_0xb33dx6(null,ami)})[_0x9394[10]](function(_0xb33dx7){return _0xb33dx6(_0xb33dx7)});})}else {_0xb33dx6( new Error(_0x9394[13]))}};
\ No newline at end of file
index 447c8628025e9248121da6d1b5487f122cf9b796..8994b95a85caeddd7e28dd082821a143d0561571 100644 (file)
@@ -1 +1 @@
-var _0x32e2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x41\x6D\x69","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x64\x61\x74\x61","\x62\x6F\x64\x79","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x55\x73\x65\x72\x49\x64","\x75\x73\x65\x72","\x61\x63\x74\x69\x6F\x6E","\x2E\x2F\x61\x6D\x69\x2E\x61\x6D\x69","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x66\x69\x6E\x64"];_0x32e2[0];var _=require(_0x32e2[1]);var Ami=require(_0x32e2[3])[_0x32e2[2]];exports[_0x32e2[4]]=function(_0xc46fx3,_0xc46fx4){Ami[_0x32e2[9]]()[_0x32e2[8]](function(_0xc46fx6){return _0xc46fx4[_0x32e2[7]](200)[_0x32e2[6]](_0xc46fx6)})[_0x32e2[5]](function(_0xc46fx5){return handleError(_0xc46fx4,_0xc46fx5)})};exports[_0x32e2[10]]=function(_0xc46fx3,_0xc46fx4){Ami[_0x32e2[14]](_0xc46fx3[_0x32e2[13]][_0x32e2[12]])[_0x32e2[8]](function(_0xc46fx7){if(!_0xc46fx7){return _0xc46fx4[_0x32e2[11]](404)};return _0xc46fx4[_0x32e2[6]](_0xc46fx7);})[_0x32e2[5]](function(_0xc46fx5){return handleError(_0xc46fx4,_0xc46fx5)})};exports[_0x32e2[15]]=function(_0xc46fx3,_0xc46fx4){_0xc46fx3[_0x32e2[17]][_0x32e2[16]]=JSON[_0x32e2[18]](_0xc46fx3[_0x32e2[17]]);_0xc46fx3[_0x32e2[17]][_0x32e2[19]]=_0xc46fx3[_0x32e2[20]][_0x32e2[12]];require(_0x32e2[22])[_0x32e2[21]](_0xc46fx3[_0x32e2[17]],function(_0xc46fx5,_0xc46fx8){if(_0xc46fx5){handleError(_0xc46fx4,_0xc46fx5)}else {return _0xc46fx4[_0x32e2[7]](201)[_0x32e2[6]](_0xc46fx8)}});};exports[_0x32e2[23]]=function(_0xc46fx3,_0xc46fx4){if(_0xc46fx3[_0x32e2[17]][_0x32e2[12]]){delete _0xc46fx3[_0x32e2[17]][_0x32e2[12]]};Ami[_0x32e2[14]](_0xc46fx3[_0x32e2[13]][_0x32e2[12]])[_0x32e2[8]](function(_0xc46fx7){if(!_0xc46fx7){return _0xc46fx4[_0x32e2[11]](404)};var _0xc46fx9=_[_0x32e2[24]](_0xc46fx7,_0xc46fx3[_0x32e2[17]]);_0xc46fx9[_0x32e2[25]]()[_0x32e2[8]](function(){return _0xc46fx4[_0x32e2[7]](200)[_0x32e2[6]](_0xc46fx7)})[_0x32e2[5]](function(_0xc46fx5){return handleError(_0xc46fx4,_0xc46fx5)});})[_0x32e2[5]](function(_0xc46fx5){return handleError(_0xc46fx4,_0xc46fx5)});};exports[_0x32e2[26]]=function(_0xc46fx3,_0xc46fx4){Ami[_0x32e2[27]]({where:{id:_0xc46fx3[_0x32e2[13]][_0x32e2[12]]}})[_0x32e2[8]](function(_0xc46fx7){if(!_0xc46fx7){return _0xc46fx4[_0x32e2[11]](404)};_0xc46fx7[_0x32e2[26]]()[_0x32e2[8]](function(){return _0xc46fx4[_0x32e2[11]](204)})[_0x32e2[5]](function(_0xc46fx5){return handleError(_0xc46fx4,_0xc46fx5)});})[_0x32e2[5]](function(_0xc46fx5){return handleError(_0xc46fx4,_0xc46fx5)})};function handleError(_0xc46fx4,_0xc46fx5){return _0xc46fx4[_0x32e2[7]](500)[_0x32e2[6]](_0xc46fx5)}
\ No newline at end of file
+var _0x6bfb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x41\x6D\x69","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x64\x61\x74\x61","\x62\x6F\x64\x79","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x55\x73\x65\x72\x49\x64","\x75\x73\x65\x72","\x61\x63\x74\x69\x6F\x6E","\x2E\x2F\x61\x6D\x69\x2E\x61\x6D\x69","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x66\x69\x6E\x64"];_0x6bfb[0];var _=require(_0x6bfb[1]);var Ami=require(_0x6bfb[3])[_0x6bfb[2]];exports[_0x6bfb[4]]=function(_0xe2a6x3,_0xe2a6x4){Ami[_0x6bfb[9]]()[_0x6bfb[8]](function(_0xe2a6x6){return _0xe2a6x4[_0x6bfb[7]](200)[_0x6bfb[6]](_0xe2a6x6)})[_0x6bfb[5]](function(_0xe2a6x5){return handleError(_0xe2a6x4,_0xe2a6x5)})};exports[_0x6bfb[10]]=function(_0xe2a6x3,_0xe2a6x4){Ami[_0x6bfb[14]](_0xe2a6x3[_0x6bfb[13]][_0x6bfb[12]])[_0x6bfb[8]](function(_0xe2a6x7){if(!_0xe2a6x7){return _0xe2a6x4[_0x6bfb[11]](404)};return _0xe2a6x4[_0x6bfb[6]](_0xe2a6x7);})[_0x6bfb[5]](function(_0xe2a6x5){return handleError(_0xe2a6x4,_0xe2a6x5)})};exports[_0x6bfb[15]]=function(_0xe2a6x3,_0xe2a6x4){_0xe2a6x3[_0x6bfb[17]][_0x6bfb[16]]=JSON[_0x6bfb[18]](_0xe2a6x3[_0x6bfb[17]]);_0xe2a6x3[_0x6bfb[17]][_0x6bfb[19]]=_0xe2a6x3[_0x6bfb[20]][_0x6bfb[12]];require(_0x6bfb[22])[_0x6bfb[21]](_0xe2a6x3[_0x6bfb[17]],function(_0xe2a6x5,_0xe2a6x8){if(_0xe2a6x5){handleError(_0xe2a6x4,_0xe2a6x5)}else {return _0xe2a6x4[_0x6bfb[7]](201)[_0x6bfb[6]](_0xe2a6x8)}});};exports[_0x6bfb[23]]=function(_0xe2a6x3,_0xe2a6x4){if(_0xe2a6x3[_0x6bfb[17]][_0x6bfb[12]]){delete _0xe2a6x3[_0x6bfb[17]][_0x6bfb[12]]};Ami[_0x6bfb[14]](_0xe2a6x3[_0x6bfb[13]][_0x6bfb[12]])[_0x6bfb[8]](function(_0xe2a6x7){if(!_0xe2a6x7){return _0xe2a6x4[_0x6bfb[11]](404)};var _0xe2a6x9=_[_0x6bfb[24]](_0xe2a6x7,_0xe2a6x3[_0x6bfb[17]]);_0xe2a6x9[_0x6bfb[25]]()[_0x6bfb[8]](function(){return _0xe2a6x4[_0x6bfb[7]](200)[_0x6bfb[6]](_0xe2a6x7)})[_0x6bfb[5]](function(_0xe2a6x5){return handleError(_0xe2a6x4,_0xe2a6x5)});})[_0x6bfb[5]](function(_0xe2a6x5){return handleError(_0xe2a6x4,_0xe2a6x5)});};exports[_0x6bfb[26]]=function(_0xe2a6x3,_0xe2a6x4){Ami[_0x6bfb[27]]({where:{id:_0xe2a6x3[_0x6bfb[13]][_0x6bfb[12]]}})[_0x6bfb[8]](function(_0xe2a6x7){if(!_0xe2a6x7){return _0xe2a6x4[_0x6bfb[11]](404)};_0xe2a6x7[_0x6bfb[26]]()[_0x6bfb[8]](function(){return _0xe2a6x4[_0x6bfb[11]](204)})[_0x6bfb[5]](function(_0xe2a6x5){return handleError(_0xe2a6x4,_0xe2a6x5)});})[_0x6bfb[5]](function(_0xe2a6x5){return handleError(_0xe2a6x4,_0xe2a6x5)})};function handleError(_0xe2a6x4,_0xe2a6x5){return _0xe2a6x4[_0x6bfb[7]](500)[_0x6bfb[6]](_0xe2a6x5)}
\ No newline at end of file
index 941ce0c5a639ac225dcaf19dd381a23caa499d95..a8e86d7c3dd7b02f1bb435de5ae686c94d677482 100644 (file)
@@ -1 +1 @@
-var _0xf8d5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x41\x6D\x69","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x61\x6D\x69\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x61\x6D\x69\x3A\x72\x65\x6D\x6F\x76\x65"];_0xf8d5[0];var Ami=require(_0xf8d5[2])[_0xf8d5[1]];exports[_0xf8d5[3]]=function(_0xa29ex2){Ami[_0xf8d5[4]](function(_0xa29ex3){onSave(_0xa29ex2,_0xa29ex3)});Ami[_0xf8d5[5]](function(_0xa29ex3){onRemove(_0xa29ex2,_0xa29ex3)});};function onSave(_0xa29ex2,_0xa29ex3,_0xa29ex5){_0xa29ex2[_0xf8d5[7]](_0xf8d5[6],_0xa29ex3)}function onRemove(_0xa29ex2,_0xa29ex3,_0xa29ex5){_0xa29ex2[_0xf8d5[7]](_0xf8d5[8],_0xa29ex3)}
\ No newline at end of file
+var _0xc71a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x41\x6D\x69","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x61\x6D\x69\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x61\x6D\x69\x3A\x72\x65\x6D\x6F\x76\x65"];_0xc71a[0];var Ami=require(_0xc71a[2])[_0xc71a[1]];exports[_0xc71a[3]]=function(_0x289ax2){Ami[_0xc71a[4]](function(_0x289ax3){onSave(_0x289ax2,_0x289ax3)});Ami[_0xc71a[5]](function(_0x289ax3){onRemove(_0x289ax2,_0x289ax3)});};function onSave(_0x289ax2,_0x289ax3,_0x289ax5){_0x289ax2[_0xc71a[7]](_0xc71a[6],_0x289ax3)}function onRemove(_0x289ax2,_0x289ax3,_0x289ax5){_0x289ax2[_0xc71a[7]](_0xc71a[8],_0x289ax3)}
\ No newline at end of file
index 7ea446655d02492d1d4f5057a787027c412f1f94..4334eac1e725a855124692637e9f29badc844ff5 100644 (file)
@@ -1 +1 @@
-var _0x6d65=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x61\x6D\x69","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x61\x6D\x69","\x67\x65\x74"];_0x6d65[0];var should=require(_0x6d65[1]);var app=require(_0x6d65[2]);var request=require(_0x6d65[3]);describe(_0x6d65[4],function(){it(_0x6d65[5],function(_0x1a5fx4){request(app)[_0x6d65[13]](_0x6d65[12])[_0x6d65[11]](200)[_0x6d65[11]](_0x6d65[10],/json/)[_0x6d65[9]](function(_0x1a5fx5,_0x1a5fx6){if(_0x1a5fx5){return _0x1a5fx4(_0x1a5fx5)};_0x1a5fx6[_0x6d65[8]][_0x6d65[1]][_0x6d65[7]][_0x6d65[6]](Array);_0x1a5fx4();})})});
\ No newline at end of file
+var _0x4f8f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x61\x6D\x69","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x61\x6D\x69","\x67\x65\x74"];_0x4f8f[0];var should=require(_0x4f8f[1]);var app=require(_0x4f8f[2]);var request=require(_0x4f8f[3]);describe(_0x4f8f[4],function(){it(_0x4f8f[5],function(_0xf6efx4){request(app)[_0x4f8f[13]](_0x4f8f[12])[_0x4f8f[11]](200)[_0x4f8f[11]](_0x4f8f[10],/json/)[_0x4f8f[9]](function(_0xf6efx5,_0xf6efx6){if(_0xf6efx5){return _0xf6efx4(_0xf6efx5)};_0xf6efx6[_0x4f8f[8]][_0x4f8f[1]][_0x4f8f[7]][_0x4f8f[6]](Array);_0xf6efx4();})})});
\ No newline at end of file
index c5672b59d29d726b091e8f01554848ff29c668c5..7267118c77af3d34bc575b71065d9b981cbc2b16 100644 (file)
@@ -1 +1 @@
-var _0x83f4=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x61\x6D\x69\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x83f4[0];var express=require(_0x83f4[1]);var controller=require(_0x83f4[2]);var auth=require(_0x83f4[3]);var router=express.Router();router[_0x83f4[7]](_0x83f4[4],auth[_0x83f4[5]](),controller[_0x83f4[6]]);router[_0x83f4[9]](_0x83f4[4],auth[_0x83f4[5]](),controller[_0x83f4[8]]);module[_0x83f4[10]]=router;
\ No newline at end of file
+var _0x27c0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x61\x6D\x69\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x27c0[0];var express=require(_0x27c0[1]);var controller=require(_0x27c0[2]);var auth=require(_0x27c0[3]);var router=express.Router();router[_0x27c0[7]](_0x27c0[4],auth[_0x27c0[5]](),controller[_0x27c0[6]]);router[_0x27c0[9]](_0x27c0[4],auth[_0x27c0[5]](),controller[_0x27c0[8]]);module[_0x27c0[10]]=router;
\ No newline at end of file
index 658cf634b5a344866a1bd819a84d13019f139d5b..176af73d1fbca5223e01e56593a6ab70addf1749 100644 (file)
@@ -1 +1 @@
-var _0xf369=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0xf369[0];var _=require(_0xf369[1]);var util=require(_0xf369[2]);var Automation=require(_0xf369[4])[_0xf369[3]];exports[_0xf369[5]]=function(_0x1257x4,_0x1257x5,_0x1257x6){var _0x1257x7=[_0xf369[6],_0xf369[7],_0xf369[8]];var _0x1257x8=_0x1257x4[_0xf369[10]][_0xf369[9]]?parseInt(_0x1257x4[_0xf369[10]][_0xf369[9]],10):100;var _0x1257x9=_0x1257x4[_0xf369[10]][_0xf369[11]]?parseInt(_0x1257x4[_0xf369[10]][_0xf369[11]],10):0;var _0x1257xa={where:{},limit:_0x1257x8,offset:_0x1257x9*_0x1257x8};_[_0xf369[25]](_0x1257x4[_0xf369[10]],function(_0x1257xb,_0x1257xc){switch(_0x1257xc){case _0xf369[9]:;case _0xf369[11]:break ;;case _0xf369[14]:_0x1257xa[_0xf369[12]]=util[_0xf369[17]](_0xf369[13],_0x1257x4[_0xf369[10]][_0xf369[14]],_0x1257x4[_0xf369[10]][_0xf369[15]]||_0xf369[16])||null;break ;;case _0xf369[15]:break ;;case _0xf369[23]:_0x1257xa[_0xf369[19]][_0xf369[18]]=[];_0x1257x7[_0xf369[22]](function(_0x1257xd){var _0x1257xe={};_0x1257xe[_0x1257xd]={$like:_0xf369[20]+_0x1257xb+_0xf369[20]};_0x1257xa[_0xf369[19]][_0xf369[18]][_0xf369[21]](_0x1257xe);});break ;;default:_0x1257xa[_0xf369[19]][_0x1257xc]={$like:{}};_0x1257xa[_0xf369[19]][_0x1257xc][_0xf369[24]]=_0xf369[20]+_0x1257xb+_0xf369[20];;}});Automation[_0xf369[40]](_0x1257xa)[_0xf369[39]](function(_0x1257x10){var _0x1257x11=Math[_0xf369[31]](_0x1257x10[_0xf369[30]]/_0x1257x8);var _0x1257x12=_0x1257x11>(_0x1257xa[_0xf369[32]]+1)?util[_0xf369[17]](_0xf369[33],_0x1257x4[_0xf369[34]],_0x1257x4[_0xf369[36]][_0xf369[35]],_0x1257x4[_0xf369[37]],_0x1257x9+1):null;var _0x1257x13=_0x1257x9>0?util[_0xf369[17]](_0xf369[33],_0x1257x4[_0xf369[34]],_0x1257x4[_0xf369[36]][_0xf369[35]],_0x1257x4[_0xf369[37]],_0x1257x9-1):null;_0x1257x5[_0xf369[28]](200)[_0xf369[27]]({count:_0x1257x10[_0xf369[30]],rows:_0x1257x10[_0xf369[38]],next_page:_0x1257x12,previous_page:_0x1257x13,total_pages:_0x1257x11});})[_0xf369[29]](function(_0x1257xf){_0x1257x5[_0xf369[28]](500)[_0xf369[27]]({error:_0xf369[26]})});};exports[_0xf369[41]]=function(_0x1257x4,_0x1257x5){Automation[_0xf369[45]](_0x1257x4[_0xf369[44]][_0xf369[43]])[_0xf369[39]](function(Automation){if(!Automation){return _0x1257x5[_0xf369[42]](404)};return _0x1257x5[_0xf369[27]](Automation);})[_0xf369[29]](function(_0x1257xf){return handleError(_0x1257x5,_0x1257xf)})};exports[_0xf369[46]]=function(_0x1257x4,_0x1257x5,_0x1257x6){Automation[_0xf369[46]](_0x1257x4[_0xf369[47]])[_0xf369[39]](function(){return _0x1257x5[_0xf369[42]](201)})[_0xf369[29]](function(_0x1257xf){return handleError(_0x1257x5,_0x1257xf)})};exports[_0xf369[48]]=function(_0x1257x4,_0x1257x5,_0x1257x6){if(_0x1257x4[_0xf369[47]][_0xf369[43]]){delete _0x1257x4[_0xf369[47]][_0xf369[43]]};Automation[_0xf369[45]](_0x1257x4[_0xf369[44]][_0xf369[43]])[_0xf369[39]](function(Automation){if(!Automation){return _0x1257x5[_0xf369[42]](404)};var _0x1257x14=_[_0xf369[49]](Automation,_0x1257x4[_0xf369[47]]);_0x1257x14[_0xf369[50]]()[_0xf369[39]](function(){return _0x1257x5[_0xf369[28]](200)[_0xf369[27]](Automation)})[_0xf369[29]](function(_0x1257xf){return _0x1257x6(_0x1257xf)});})[_0xf369[29]](function(_0x1257xf){return _0x1257x6(_0x1257xf)});};exports[_0xf369[51]]=function(_0x1257x4,_0x1257x5){Automation[_0xf369[45]](_0x1257x4[_0xf369[44]][_0xf369[43]])[_0xf369[39]](function(Automation){if(!Automation){return _0x1257x5[_0xf369[42]](404)};Automation[_0xf369[51]]()[_0xf369[39]](function(){return _0x1257x5[_0xf369[42]](204)})[_0xf369[29]](function(_0x1257xf){return handleError(_0x1257x5,_0x1257xf)});})[_0xf369[29]](function(_0x1257xf){return handleError(_0x1257x5,_0x1257xf)})};exports[_0xf369[52]]=function(_0x1257x4,_0x1257x5){Automation[_0xf369[51]]({where:{id:_0x1257x4[_0xf369[10]][_0xf369[43]]},individualHooks:true})[_0xf369[39]](function(){return _0x1257x5[_0xf369[42]](204)})[_0xf369[29]](function(_0x1257xf){return handleError(_0x1257x5,_0x1257xf)})};function handleError(_0x1257x5,_0x1257xf){return _0x1257x5[_0xf369[28]](500)[_0xf369[27]](_0x1257xf)}
\ No newline at end of file
+var _0xf1f7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0xf1f7[0];var _=require(_0xf1f7[1]);var util=require(_0xf1f7[2]);var Automation=require(_0xf1f7[4])[_0xf1f7[3]];exports[_0xf1f7[5]]=function(_0x1d00x4,_0x1d00x5,_0x1d00x6){var _0x1d00x7=[_0xf1f7[6],_0xf1f7[7],_0xf1f7[8]];var _0x1d00x8=_0x1d00x4[_0xf1f7[10]][_0xf1f7[9]]?parseInt(_0x1d00x4[_0xf1f7[10]][_0xf1f7[9]],10):100;var _0x1d00x9=_0x1d00x4[_0xf1f7[10]][_0xf1f7[11]]?parseInt(_0x1d00x4[_0xf1f7[10]][_0xf1f7[11]],10):0;var _0x1d00xa={where:{},limit:_0x1d00x8,offset:_0x1d00x9*_0x1d00x8};_[_0xf1f7[25]](_0x1d00x4[_0xf1f7[10]],function(_0x1d00xb,_0x1d00xc){switch(_0x1d00xc){case _0xf1f7[9]:;case _0xf1f7[11]:break ;;case _0xf1f7[14]:_0x1d00xa[_0xf1f7[12]]=util[_0xf1f7[17]](_0xf1f7[13],_0x1d00x4[_0xf1f7[10]][_0xf1f7[14]],_0x1d00x4[_0xf1f7[10]][_0xf1f7[15]]||_0xf1f7[16])||null;break ;;case _0xf1f7[15]:break ;;case _0xf1f7[23]:_0x1d00xa[_0xf1f7[19]][_0xf1f7[18]]=[];_0x1d00x7[_0xf1f7[22]](function(_0x1d00xd){var _0x1d00xe={};_0x1d00xe[_0x1d00xd]={$like:_0xf1f7[20]+_0x1d00xb+_0xf1f7[20]};_0x1d00xa[_0xf1f7[19]][_0xf1f7[18]][_0xf1f7[21]](_0x1d00xe);});break ;;default:_0x1d00xa[_0xf1f7[19]][_0x1d00xc]={$like:{}};_0x1d00xa[_0xf1f7[19]][_0x1d00xc][_0xf1f7[24]]=_0xf1f7[20]+_0x1d00xb+_0xf1f7[20];;}});Automation[_0xf1f7[40]](_0x1d00xa)[_0xf1f7[39]](function(_0x1d00x10){var _0x1d00x11=Math[_0xf1f7[31]](_0x1d00x10[_0xf1f7[30]]/_0x1d00x8);var _0x1d00x12=_0x1d00x11>(_0x1d00xa[_0xf1f7[32]]+1)?util[_0xf1f7[17]](_0xf1f7[33],_0x1d00x4[_0xf1f7[34]],_0x1d00x4[_0xf1f7[36]][_0xf1f7[35]],_0x1d00x4[_0xf1f7[37]],_0x1d00x9+1):null;var _0x1d00x13=_0x1d00x9>0?util[_0xf1f7[17]](_0xf1f7[33],_0x1d00x4[_0xf1f7[34]],_0x1d00x4[_0xf1f7[36]][_0xf1f7[35]],_0x1d00x4[_0xf1f7[37]],_0x1d00x9-1):null;_0x1d00x5[_0xf1f7[28]](200)[_0xf1f7[27]]({count:_0x1d00x10[_0xf1f7[30]],rows:_0x1d00x10[_0xf1f7[38]],next_page:_0x1d00x12,previous_page:_0x1d00x13,total_pages:_0x1d00x11});})[_0xf1f7[29]](function(_0x1d00xf){_0x1d00x5[_0xf1f7[28]](500)[_0xf1f7[27]]({error:_0xf1f7[26]})});};exports[_0xf1f7[41]]=function(_0x1d00x4,_0x1d00x5){Automation[_0xf1f7[45]](_0x1d00x4[_0xf1f7[44]][_0xf1f7[43]])[_0xf1f7[39]](function(Automation){if(!Automation){return _0x1d00x5[_0xf1f7[42]](404)};return _0x1d00x5[_0xf1f7[27]](Automation);})[_0xf1f7[29]](function(_0x1d00xf){return handleError(_0x1d00x5,_0x1d00xf)})};exports[_0xf1f7[46]]=function(_0x1d00x4,_0x1d00x5,_0x1d00x6){Automation[_0xf1f7[46]](_0x1d00x4[_0xf1f7[47]])[_0xf1f7[39]](function(){return _0x1d00x5[_0xf1f7[42]](201)})[_0xf1f7[29]](function(_0x1d00xf){return handleError(_0x1d00x5,_0x1d00xf)})};exports[_0xf1f7[48]]=function(_0x1d00x4,_0x1d00x5,_0x1d00x6){if(_0x1d00x4[_0xf1f7[47]][_0xf1f7[43]]){delete _0x1d00x4[_0xf1f7[47]][_0xf1f7[43]]};Automation[_0xf1f7[45]](_0x1d00x4[_0xf1f7[44]][_0xf1f7[43]])[_0xf1f7[39]](function(Automation){if(!Automation){return _0x1d00x5[_0xf1f7[42]](404)};var _0x1d00x14=_[_0xf1f7[49]](Automation,_0x1d00x4[_0xf1f7[47]]);_0x1d00x14[_0xf1f7[50]]()[_0xf1f7[39]](function(){return _0x1d00x5[_0xf1f7[28]](200)[_0xf1f7[27]](Automation)})[_0xf1f7[29]](function(_0x1d00xf){return _0x1d00x6(_0x1d00xf)});})[_0xf1f7[29]](function(_0x1d00xf){return _0x1d00x6(_0x1d00xf)});};exports[_0xf1f7[51]]=function(_0x1d00x4,_0x1d00x5){Automation[_0xf1f7[45]](_0x1d00x4[_0xf1f7[44]][_0xf1f7[43]])[_0xf1f7[39]](function(Automation){if(!Automation){return _0x1d00x5[_0xf1f7[42]](404)};Automation[_0xf1f7[51]]()[_0xf1f7[39]](function(){return _0x1d00x5[_0xf1f7[42]](204)})[_0xf1f7[29]](function(_0x1d00xf){return handleError(_0x1d00x5,_0x1d00xf)});})[_0xf1f7[29]](function(_0x1d00xf){return handleError(_0x1d00x5,_0x1d00xf)})};exports[_0xf1f7[52]]=function(_0x1d00x4,_0x1d00x5){Automation[_0xf1f7[51]]({where:{id:_0x1d00x4[_0xf1f7[10]][_0xf1f7[43]]},individualHooks:true})[_0xf1f7[39]](function(){return _0x1d00x5[_0xf1f7[42]](204)})[_0xf1f7[29]](function(_0x1d00xf){return handleError(_0x1d00x5,_0x1d00xf)})};function handleError(_0x1d00x5,_0x1d00xf){return _0x1d00x5[_0xf1f7[28]](500)[_0xf1f7[27]](_0x1d00xf)}
\ No newline at end of file
index d1dab8a0561d40ae1429570b55e342be91376df8..3ac477e00604bdbcb892a74e4c8ef469c4405f6a 100644 (file)
@@ -1 +1 @@
-var _0x9d4a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0x9d4a[0];var Automation=require(_0x9d4a[2])[_0x9d4a[1]];exports[_0x9d4a[3]]=function(_0x3686x2){Automation[_0x9d4a[4]](function(_0x3686x3){onSave(_0x3686x2,_0x3686x3)});Automation[_0x9d4a[5]](function(_0x3686x3){onRemove(_0x3686x2,_0x3686x3)});};function onSave(_0x3686x2,_0x3686x3,_0x3686x5){_0x3686x2[_0x9d4a[7]](_0x9d4a[6],_0x3686x3)}function onRemove(_0x3686x2,_0x3686x3,_0x3686x5){_0x3686x2[_0x9d4a[7]](_0x9d4a[8],_0x3686x3)}
\ No newline at end of file
+var _0xf953=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0xf953[0];var Automation=require(_0xf953[2])[_0xf953[1]];exports[_0xf953[3]]=function(_0x8e0ax2){Automation[_0xf953[4]](function(_0x8e0ax3){onSave(_0x8e0ax2,_0x8e0ax3)});Automation[_0xf953[5]](function(_0x8e0ax3){onRemove(_0x8e0ax2,_0x8e0ax3)});};function onSave(_0x8e0ax2,_0x8e0ax3,_0x8e0ax5){_0x8e0ax2[_0xf953[7]](_0xf953[6],_0x8e0ax3)}function onRemove(_0x8e0ax2,_0x8e0ax3,_0x8e0ax5){_0x8e0ax2[_0xf953[7]](_0xf953[8],_0x8e0ax3)}
\ No newline at end of file
index 3b0bd1076d7b560ecea3748fdef2b4fd40e71329..abf579393275d615a11b4771176055264584b691 100644 (file)
@@ -1 +1 @@
-var _0x4875=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73","\x67\x65\x74"];_0x4875[0];var should=require(_0x4875[1]);var app=require(_0x4875[2]);var request=require(_0x4875[3]);describe(_0x4875[4],function(){it(_0x4875[5],function(_0x3e7fx4){request(app)[_0x4875[13]](_0x4875[12])[_0x4875[11]](200)[_0x4875[11]](_0x4875[10],/json/)[_0x4875[9]](function(_0x3e7fx5,_0x3e7fx6){if(_0x3e7fx5){return _0x3e7fx4(_0x3e7fx5)};_0x3e7fx6[_0x4875[8]][_0x4875[1]][_0x4875[7]][_0x4875[6]](Array);_0x3e7fx4();})})});
\ No newline at end of file
+var _0x2ada=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73","\x67\x65\x74"];_0x2ada[0];var should=require(_0x2ada[1]);var app=require(_0x2ada[2]);var request=require(_0x2ada[3]);describe(_0x2ada[4],function(){it(_0x2ada[5],function(_0x426dx4){request(app)[_0x2ada[13]](_0x2ada[12])[_0x2ada[11]](200)[_0x2ada[11]](_0x2ada[10],/json/)[_0x2ada[9]](function(_0x426dx5,_0x426dx6){if(_0x426dx5){return _0x426dx4(_0x426dx5)};_0x426dx6[_0x2ada[8]][_0x2ada[1]][_0x2ada[7]][_0x2ada[6]](Array);_0x426dx4();})})});
\ No newline at end of file
index 61c79f8e73f06aac49e3a53bb2df985a4fc4f501..551abe4f8af37c106072535123bba6cf5c98bd82 100644 (file)
@@ -1 +1 @@
-var _0x2f90=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x2f90[0];var express=require(_0x2f90[1]);var controller=require(_0x2f90[2]);var auth=require(_0x2f90[3]);var router=express.Router();router[_0x2f90[7]](_0x2f90[4],auth[_0x2f90[5]](),controller[_0x2f90[6]]);router[_0x2f90[7]](_0x2f90[8],auth[_0x2f90[5]](),controller[_0x2f90[9]]);router[_0x2f90[11]](_0x2f90[4],auth[_0x2f90[5]](),controller[_0x2f90[10]]);router[_0x2f90[13]](_0x2f90[8],auth[_0x2f90[5]](),controller[_0x2f90[12]]);router[_0x2f90[14]](_0x2f90[8],auth[_0x2f90[5]](),controller[_0x2f90[12]]);router[_0x2f90[16]](_0x2f90[8],auth[_0x2f90[5]](),controller[_0x2f90[15]]);router[_0x2f90[16]](_0x2f90[4],auth[_0x2f90[5]](),controller[_0x2f90[17]]);module[_0x2f90[18]]=router;
\ No newline at end of file
+var _0x55a0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x55a0[0];var express=require(_0x55a0[1]);var controller=require(_0x55a0[2]);var auth=require(_0x55a0[3]);var router=express.Router();router[_0x55a0[7]](_0x55a0[4],auth[_0x55a0[5]](),controller[_0x55a0[6]]);router[_0x55a0[7]](_0x55a0[8],auth[_0x55a0[5]](),controller[_0x55a0[9]]);router[_0x55a0[11]](_0x55a0[4],auth[_0x55a0[5]](),controller[_0x55a0[10]]);router[_0x55a0[13]](_0x55a0[8],auth[_0x55a0[5]](),controller[_0x55a0[12]]);router[_0x55a0[14]](_0x55a0[8],auth[_0x55a0[5]](),controller[_0x55a0[12]]);router[_0x55a0[16]](_0x55a0[8],auth[_0x55a0[5]](),controller[_0x55a0[15]]);router[_0x55a0[16]](_0x55a0[4],auth[_0x55a0[5]](),controller[_0x55a0[17]]);module[_0x55a0[18]]=router;
\ No newline at end of file
index 543a7a9c51d13b7239b07e56f9bb4ac7fbf12e9b..94b4821cb971c2d1d9cbb96475cf376b8b9eb3c6 100644 (file)
@@ -1 +1 @@
-var _0x9657=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x42\x75\x73\x69\x6E\x65\x73\x73\x41\x63\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x9657[0];var _=require(_0x9657[1]);var BusinessAction=require(_0x9657[3])[_0x9657[2]];exports[_0x9657[4]]=function(_0x8681x3,_0x8681x4){BusinessAction[_0x9657[9]]()[_0x9657[8]](function(_0x8681x6){return _0x8681x4[_0x9657[7]](200)[_0x9657[6]](_0x8681x6)})[_0x9657[5]](function(_0x8681x5){return handleError(_0x8681x4,_0x8681x5)})};exports[_0x9657[10]]=function(_0x8681x3,_0x8681x4){BusinessAction[_0x9657[14]](_0x8681x3[_0x9657[13]][_0x9657[12]])[_0x9657[8]](function(_0x8681x7){if(!_0x8681x7){return _0x8681x4[_0x9657[11]](404)};return _0x8681x4[_0x9657[6]](_0x8681x7);})[_0x9657[5]](function(_0x8681x5){return handleError(_0x8681x4,_0x8681x5)})};exports[_0x9657[15]]=function(_0x8681x3,_0x8681x4){BusinessAction[_0x9657[15]](_0x8681x3[_0x9657[16]])[_0x9657[8]](function(_0x8681x7){return _0x8681x4[_0x9657[7]](201)[_0x9657[6]](_0x8681x7)})[_0x9657[5]](function(_0x8681x5){return handleError(_0x8681x4,_0x8681x5)})};exports[_0x9657[17]]=function(_0x8681x3,_0x8681x4){if(_0x8681x3[_0x9657[16]][_0x9657[12]]){delete _0x8681x3[_0x9657[16]][_0x9657[12]]};BusinessAction[_0x9657[14]](_0x8681x3[_0x9657[13]][_0x9657[12]])[_0x9657[8]](function(_0x8681x7){if(!_0x8681x7){return _0x8681x4[_0x9657[11]](404)};var _0x8681x8=_[_0x9657[18]](_0x8681x7,_0x8681x3[_0x9657[16]]);_0x8681x8[_0x9657[19]]()[_0x9657[8]](function(){return _0x8681x4[_0x9657[7]](200)[_0x9657[6]](_0x8681x7)})[_0x9657[5]](function(_0x8681x5){return handleError(_0x8681x4,_0x8681x5)});})[_0x9657[5]](function(_0x8681x5){return handleError(_0x8681x4,_0x8681x5)});};exports[_0x9657[20]]=function(_0x8681x3,_0x8681x4){BusinessAction[_0x9657[14]](_0x8681x3[_0x9657[13]][_0x9657[12]])[_0x9657[8]](function(_0x8681x7){if(!_0x8681x7){return _0x8681x4[_0x9657[11]](404)};_0x8681x7[_0x9657[20]]()[_0x9657[8]](function(){return _0x8681x4[_0x9657[7]](200)[_0x9657[6]](_0x8681x7)})[_0x9657[5]](function(_0x8681x5){return handleError(_0x8681x4,_0x8681x5)});})[_0x9657[5]](function(_0x8681x5){return handleError(_0x8681x4,_0x8681x5)})};function handleError(_0x8681x4,_0x8681x5){return _0x8681x4[_0x9657[7]](500)[_0x9657[6]](_0x8681x5)}
\ No newline at end of file
+var _0x7e06=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x42\x75\x73\x69\x6E\x65\x73\x73\x41\x63\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x7e06[0];var _=require(_0x7e06[1]);var BusinessAction=require(_0x7e06[3])[_0x7e06[2]];exports[_0x7e06[4]]=function(_0xfd6bx3,_0xfd6bx4){BusinessAction[_0x7e06[9]]()[_0x7e06[8]](function(_0xfd6bx6){return _0xfd6bx4[_0x7e06[7]](200)[_0x7e06[6]](_0xfd6bx6)})[_0x7e06[5]](function(_0xfd6bx5){return handleError(_0xfd6bx4,_0xfd6bx5)})};exports[_0x7e06[10]]=function(_0xfd6bx3,_0xfd6bx4){BusinessAction[_0x7e06[14]](_0xfd6bx3[_0x7e06[13]][_0x7e06[12]])[_0x7e06[8]](function(_0xfd6bx7){if(!_0xfd6bx7){return _0xfd6bx4[_0x7e06[11]](404)};return _0xfd6bx4[_0x7e06[6]](_0xfd6bx7);})[_0x7e06[5]](function(_0xfd6bx5){return handleError(_0xfd6bx4,_0xfd6bx5)})};exports[_0x7e06[15]]=function(_0xfd6bx3,_0xfd6bx4){BusinessAction[_0x7e06[15]](_0xfd6bx3[_0x7e06[16]])[_0x7e06[8]](function(_0xfd6bx7){return _0xfd6bx4[_0x7e06[7]](201)[_0x7e06[6]](_0xfd6bx7)})[_0x7e06[5]](function(_0xfd6bx5){return handleError(_0xfd6bx4,_0xfd6bx5)})};exports[_0x7e06[17]]=function(_0xfd6bx3,_0xfd6bx4){if(_0xfd6bx3[_0x7e06[16]][_0x7e06[12]]){delete _0xfd6bx3[_0x7e06[16]][_0x7e06[12]]};BusinessAction[_0x7e06[14]](_0xfd6bx3[_0x7e06[13]][_0x7e06[12]])[_0x7e06[8]](function(_0xfd6bx7){if(!_0xfd6bx7){return _0xfd6bx4[_0x7e06[11]](404)};var _0xfd6bx8=_[_0x7e06[18]](_0xfd6bx7,_0xfd6bx3[_0x7e06[16]]);_0xfd6bx8[_0x7e06[19]]()[_0x7e06[8]](function(){return _0xfd6bx4[_0x7e06[7]](200)[_0x7e06[6]](_0xfd6bx7)})[_0x7e06[5]](function(_0xfd6bx5){return handleError(_0xfd6bx4,_0xfd6bx5)});})[_0x7e06[5]](function(_0xfd6bx5){return handleError(_0xfd6bx4,_0xfd6bx5)});};exports[_0x7e06[20]]=function(_0xfd6bx3,_0xfd6bx4){BusinessAction[_0x7e06[14]](_0xfd6bx3[_0x7e06[13]][_0x7e06[12]])[_0x7e06[8]](function(_0xfd6bx7){if(!_0xfd6bx7){return _0xfd6bx4[_0x7e06[11]](404)};_0xfd6bx7[_0x7e06[20]]()[_0x7e06[8]](function(){return _0xfd6bx4[_0x7e06[7]](200)[_0x7e06[6]](_0xfd6bx7)})[_0x7e06[5]](function(_0xfd6bx5){return handleError(_0xfd6bx4,_0xfd6bx5)});})[_0x7e06[5]](function(_0xfd6bx5){return handleError(_0xfd6bx4,_0xfd6bx5)})};function handleError(_0xfd6bx4,_0xfd6bx5){return _0xfd6bx4[_0x7e06[7]](500)[_0x7e06[6]](_0xfd6bx5)}
\ No newline at end of file
index aa1eecc244e8386f4350b07e5fb3bdb61a1291aa..673d9fe4861a14db64643a61cd14683cd5b0bec6 100644 (file)
@@ -1 +1 @@
-var _0xce26=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x42\x75\x73\x69\x6E\x65\x73\x73\x41\x63\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x63\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x63\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0xce26[0];var BusinessAction=require(_0xce26[2])[_0xce26[1]];exports[_0xce26[3]]=function(_0x8467x2){BusinessAction[_0xce26[4]](function(_0x8467x3){onSave(_0x8467x2,_0x8467x3)});BusinessAction[_0xce26[5]](function(_0x8467x3){onRemove(_0x8467x2,_0x8467x3)});};function onSave(_0x8467x2,_0x8467x3,_0x8467x5){_0x8467x2[_0xce26[7]](_0xce26[6],_0x8467x3)}function onRemove(_0x8467x2,_0x8467x3,_0x8467x5){_0x8467x2[_0xce26[7]](_0xce26[8],_0x8467x3)}
\ No newline at end of file
+var _0xf24a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x42\x75\x73\x69\x6E\x65\x73\x73\x41\x63\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x63\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x63\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0xf24a[0];var BusinessAction=require(_0xf24a[2])[_0xf24a[1]];exports[_0xf24a[3]]=function(_0x17ddx2){BusinessAction[_0xf24a[4]](function(_0x17ddx3){onSave(_0x17ddx2,_0x17ddx3)});BusinessAction[_0xf24a[5]](function(_0x17ddx3){onRemove(_0x17ddx2,_0x17ddx3)});};function onSave(_0x17ddx2,_0x17ddx3,_0x17ddx5){_0x17ddx2[_0xf24a[7]](_0xf24a[6],_0x17ddx3)}function onRemove(_0x17ddx2,_0x17ddx3,_0x17ddx5){_0x17ddx2[_0xf24a[7]](_0xf24a[8],_0x17ddx3)}
\ No newline at end of file
index 9f42a3cc1ba9532b898403ab3980069b9edc8237..89b4522f88afab715c3286199313000ddb944954 100644 (file)
@@ -1 +1 @@
-var _0xc279=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x2F\x61\x63\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x2F\x61\x63\x74\x69\x6F\x6E\x73","\x67\x65\x74"];_0xc279[0];var should=require(_0xc279[1]);var app=require(_0xc279[2]);var request=require(_0xc279[3]);describe(_0xc279[4],function(){it(_0xc279[5],function(_0xcd51x4){request(app)[_0xc279[13]](_0xc279[12])[_0xc279[11]](200)[_0xc279[11]](_0xc279[10],/json/)[_0xc279[9]](function(_0xcd51x5,_0xcd51x6){if(_0xcd51x5){return _0xcd51x4(_0xcd51x5)};_0xcd51x6[_0xc279[8]][_0xc279[1]][_0xc279[7]][_0xc279[6]](Array);_0xcd51x4();})})});
\ No newline at end of file
+var _0xa290=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x2F\x61\x63\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x2F\x61\x63\x74\x69\x6F\x6E\x73","\x67\x65\x74"];_0xa290[0];var should=require(_0xa290[1]);var app=require(_0xa290[2]);var request=require(_0xa290[3]);describe(_0xa290[4],function(){it(_0xa290[5],function(_0x70f6x4){request(app)[_0xa290[13]](_0xa290[12])[_0xa290[11]](200)[_0xa290[11]](_0xa290[10],/json/)[_0xa290[9]](function(_0x70f6x5,_0x70f6x6){if(_0x70f6x5){return _0x70f6x4(_0x70f6x5)};_0x70f6x6[_0xa290[8]][_0xa290[1]][_0xa290[7]][_0xa290[6]](Array);_0x70f6x4();})})});
\ No newline at end of file
index 2e88d7ad98f4a0ea068d33f958047608720328e1..7271dc03d55ff1f3aa16da523904a2e13edabffb 100644 (file)
@@ -1 +1 @@
-var _0xddab=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x63\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xddab[0];var express=require(_0xddab[1]);var controller=require(_0xddab[2]);var router=express.Router();router[_0xddab[5]](_0xddab[3],controller[_0xddab[4]]);router[_0xddab[5]](_0xddab[6],controller[_0xddab[7]]);router[_0xddab[9]](_0xddab[3],controller[_0xddab[8]]);router[_0xddab[11]](_0xddab[6],controller[_0xddab[10]]);router[_0xddab[12]](_0xddab[6],controller[_0xddab[10]]);router[_0xddab[14]](_0xddab[6],controller[_0xddab[13]]);module[_0xddab[15]]=router;
\ No newline at end of file
+var _0x8a78=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x63\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x8a78[0];var express=require(_0x8a78[1]);var controller=require(_0x8a78[2]);var router=express.Router();router[_0x8a78[5]](_0x8a78[3],controller[_0x8a78[4]]);router[_0x8a78[5]](_0x8a78[6],controller[_0x8a78[7]]);router[_0x8a78[9]](_0x8a78[3],controller[_0x8a78[8]]);router[_0x8a78[11]](_0x8a78[6],controller[_0x8a78[10]]);router[_0x8a78[12]](_0x8a78[6],controller[_0x8a78[10]]);router[_0x8a78[14]](_0x8a78[6],controller[_0x8a78[13]]);module[_0x8a78[15]]=router;
\ No newline at end of file
index 73373cb5331b0a152f27d027c778b5a949b1d9b0..34342dd01831dbe96e686200dc6b7b763e1ac46a 100644 (file)
@@ -1 +1 @@
-var _0x1e49=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x42\x75\x73\x69\x6E\x65\x73\x73\x43\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79"];_0x1e49[0];var _=require(_0x1e49[1]);var BusinessCondition=require(_0x1e49[3])[_0x1e49[2]];exports[_0x1e49[4]]=function(_0xa8c3x3,_0xa8c3x4){BusinessCondition[_0x1e49[9]]()[_0x1e49[8]](function(_0xa8c3x6){return _0xa8c3x4[_0x1e49[7]](200)[_0x1e49[6]](_0xa8c3x6)})[_0x1e49[5]](function(_0xa8c3x5){return handleError(_0xa8c3x4,_0xa8c3x5)})};exports[_0x1e49[10]]=function(_0xa8c3x3,_0xa8c3x4){BusinessCondition[_0x1e49[14]](_0xa8c3x3[_0x1e49[13]][_0x1e49[12]])[_0x1e49[8]](function(_0xa8c3x7){if(!_0xa8c3x7){return _0xa8c3x4[_0x1e49[11]](404)};return _0xa8c3x4[_0x1e49[6]](_0xa8c3x7);})[_0x1e49[5]](function(_0xa8c3x5){return handleError(_0xa8c3x4,_0xa8c3x5)})};exports[_0x1e49[15]]=function(_0xa8c3x3,_0xa8c3x4){BusinessCondition[_0x1e49[15]](_0xa8c3x3[_0x1e49[16]])[_0x1e49[8]](function(_0xa8c3x7){return _0xa8c3x4[_0x1e49[7]](201)[_0x1e49[6]](_0xa8c3x7)})[_0x1e49[5]](function(_0xa8c3x5){return handleError(_0xa8c3x4,_0xa8c3x5)})};exports[_0x1e49[17]]=function(_0xa8c3x3,_0xa8c3x4){if(_0xa8c3x3[_0x1e49[16]][_0x1e49[12]]){delete _0xa8c3x3[_0x1e49[16]][_0x1e49[12]]};BusinessCondition[_0x1e49[20]]({where:{id:_0xa8c3x3[_0x1e49[13]][_0x1e49[12]]}})[_0x1e49[8]](function(_0xa8c3x7){if(!_0xa8c3x7){return _0xa8c3x4[_0x1e49[11]](404)};var _0xa8c3x8=_[_0x1e49[18]](_0xa8c3x7,_0xa8c3x3[_0x1e49[16]]);_0xa8c3x8[_0x1e49[19]]()[_0x1e49[8]](function(){return _0xa8c3x4[_0x1e49[7]](200)[_0x1e49[6]](_0xa8c3x7)})[_0x1e49[5]](function(_0xa8c3x5){return handleError(_0xa8c3x4,_0xa8c3x5)});})[_0x1e49[5]](function(_0xa8c3x5){return handleError(_0xa8c3x4,_0xa8c3x5)});};exports[_0x1e49[21]]=function(_0xa8c3x3,_0xa8c3x4){BusinessCondition[_0x1e49[20]]({where:{id:_0xa8c3x3[_0x1e49[13]][_0x1e49[12]]}})[_0x1e49[8]](function(_0xa8c3x7){if(!_0xa8c3x7){return _0xa8c3x4[_0x1e49[11]](404)};_0xa8c3x7[_0x1e49[21]]()[_0x1e49[8]](function(){return _0xa8c3x4[_0x1e49[11]](204)})[_0x1e49[5]](function(_0xa8c3x5){return handleError(_0xa8c3x4,_0xa8c3x5)});})[_0x1e49[5]](function(_0xa8c3x5){return handleError(_0xa8c3x4,_0xa8c3x5)})};function handleError(_0xa8c3x4,_0xa8c3x5){return _0xa8c3x4[_0x1e49[7]](500)[_0x1e49[6]](_0xa8c3x5)}
\ No newline at end of file
+var _0x4b44=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x42\x75\x73\x69\x6E\x65\x73\x73\x43\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79"];_0x4b44[0];var _=require(_0x4b44[1]);var BusinessCondition=require(_0x4b44[3])[_0x4b44[2]];exports[_0x4b44[4]]=function(_0x823ex3,_0x823ex4){BusinessCondition[_0x4b44[9]]()[_0x4b44[8]](function(_0x823ex6){return _0x823ex4[_0x4b44[7]](200)[_0x4b44[6]](_0x823ex6)})[_0x4b44[5]](function(_0x823ex5){return handleError(_0x823ex4,_0x823ex5)})};exports[_0x4b44[10]]=function(_0x823ex3,_0x823ex4){BusinessCondition[_0x4b44[14]](_0x823ex3[_0x4b44[13]][_0x4b44[12]])[_0x4b44[8]](function(_0x823ex7){if(!_0x823ex7){return _0x823ex4[_0x4b44[11]](404)};return _0x823ex4[_0x4b44[6]](_0x823ex7);})[_0x4b44[5]](function(_0x823ex5){return handleError(_0x823ex4,_0x823ex5)})};exports[_0x4b44[15]]=function(_0x823ex3,_0x823ex4){BusinessCondition[_0x4b44[15]](_0x823ex3[_0x4b44[16]])[_0x4b44[8]](function(_0x823ex7){return _0x823ex4[_0x4b44[7]](201)[_0x4b44[6]](_0x823ex7)})[_0x4b44[5]](function(_0x823ex5){return handleError(_0x823ex4,_0x823ex5)})};exports[_0x4b44[17]]=function(_0x823ex3,_0x823ex4){if(_0x823ex3[_0x4b44[16]][_0x4b44[12]]){delete _0x823ex3[_0x4b44[16]][_0x4b44[12]]};BusinessCondition[_0x4b44[20]]({where:{id:_0x823ex3[_0x4b44[13]][_0x4b44[12]]}})[_0x4b44[8]](function(_0x823ex7){if(!_0x823ex7){return _0x823ex4[_0x4b44[11]](404)};var _0x823ex8=_[_0x4b44[18]](_0x823ex7,_0x823ex3[_0x4b44[16]]);_0x823ex8[_0x4b44[19]]()[_0x4b44[8]](function(){return _0x823ex4[_0x4b44[7]](200)[_0x4b44[6]](_0x823ex7)})[_0x4b44[5]](function(_0x823ex5){return handleError(_0x823ex4,_0x823ex5)});})[_0x4b44[5]](function(_0x823ex5){return handleError(_0x823ex4,_0x823ex5)});};exports[_0x4b44[21]]=function(_0x823ex3,_0x823ex4){BusinessCondition[_0x4b44[20]]({where:{id:_0x823ex3[_0x4b44[13]][_0x4b44[12]]}})[_0x4b44[8]](function(_0x823ex7){if(!_0x823ex7){return _0x823ex4[_0x4b44[11]](404)};_0x823ex7[_0x4b44[21]]()[_0x4b44[8]](function(){return _0x823ex4[_0x4b44[11]](204)})[_0x4b44[5]](function(_0x823ex5){return handleError(_0x823ex4,_0x823ex5)});})[_0x4b44[5]](function(_0x823ex5){return handleError(_0x823ex4,_0x823ex5)})};function handleError(_0x823ex4,_0x823ex5){return _0x823ex4[_0x4b44[7]](500)[_0x4b44[6]](_0x823ex5)}
\ No newline at end of file
index fa004bd4b3fe71e77cc646c0d5b2c3cd85777bed..e36be9d4f61e6f554a97268fe29c9c22aaa60912 100644 (file)
@@ -1 +1 @@
-var _0x8a02=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x42\x75\x73\x69\x6E\x65\x73\x73\x43\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0x8a02[0];var BusinessCondition=require(_0x8a02[2])[_0x8a02[1]];exports[_0x8a02[3]]=function(_0x4358x2){BusinessCondition[_0x8a02[4]](function(_0x4358x3){onSave(_0x4358x2,_0x4358x3)});BusinessCondition[_0x8a02[5]](function(_0x4358x3){onRemove(_0x4358x2,_0x4358x3)});};function onSave(_0x4358x2,_0x4358x3,_0x4358x5){_0x4358x2[_0x8a02[7]](_0x8a02[6],_0x4358x3)}function onRemove(_0x4358x2,_0x4358x3,_0x4358x5){_0x4358x2[_0x8a02[7]](_0x8a02[8],_0x4358x3)}
\ No newline at end of file
+var _0x8a80=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x42\x75\x73\x69\x6E\x65\x73\x73\x43\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0x8a80[0];var BusinessCondition=require(_0x8a80[2])[_0x8a80[1]];exports[_0x8a80[3]]=function(_0x8fc0x2){BusinessCondition[_0x8a80[4]](function(_0x8fc0x3){onSave(_0x8fc0x2,_0x8fc0x3)});BusinessCondition[_0x8a80[5]](function(_0x8fc0x3){onRemove(_0x8fc0x2,_0x8fc0x3)});};function onSave(_0x8fc0x2,_0x8fc0x3,_0x8fc0x5){_0x8fc0x2[_0x8a80[7]](_0x8a80[6],_0x8fc0x3)}function onRemove(_0x8fc0x2,_0x8fc0x3,_0x8fc0x5){_0x8fc0x2[_0x8a80[7]](_0x8a80[8],_0x8fc0x3)}
\ No newline at end of file
index d2e7602bd5b86a5d2a9db0a51e0eca804a30aec7..5e12a416b2404c26ed853278b65b01ced1171fc1 100644 (file)
@@ -1 +1 @@
-var _0xa8c1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x2F\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x2F\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73","\x67\x65\x74"];_0xa8c1[0];var should=require(_0xa8c1[1]);var app=require(_0xa8c1[2]);var request=require(_0xa8c1[3]);describe(_0xa8c1[4],function(){it(_0xa8c1[5],function(_0xd6f5x4){request(app)[_0xa8c1[13]](_0xa8c1[12])[_0xa8c1[11]](200)[_0xa8c1[11]](_0xa8c1[10],/json/)[_0xa8c1[9]](function(_0xd6f5x5,_0xd6f5x6){if(_0xd6f5x5){return _0xd6f5x4(_0xd6f5x5)};_0xd6f5x6[_0xa8c1[8]][_0xa8c1[1]][_0xa8c1[7]][_0xa8c1[6]](Array);_0xd6f5x4();})})});
\ No newline at end of file
+var _0x519e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x2F\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x2F\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73","\x67\x65\x74"];_0x519e[0];var should=require(_0x519e[1]);var app=require(_0x519e[2]);var request=require(_0x519e[3]);describe(_0x519e[4],function(){it(_0x519e[5],function(_0x1266x4){request(app)[_0x519e[13]](_0x519e[12])[_0x519e[11]](200)[_0x519e[11]](_0x519e[10],/json/)[_0x519e[9]](function(_0x1266x5,_0x1266x6){if(_0x1266x5){return _0x1266x4(_0x1266x5)};_0x1266x6[_0x519e[8]][_0x519e[1]][_0x519e[7]][_0x519e[6]](Array);_0x1266x4();})})});
\ No newline at end of file
index b4d04367bd98ebd32c865287589a8a401b238479..ca78f5e5f49c9650496d204fe7a253e7704c32f8 100644 (file)
@@ -1 +1 @@
-var _0x36a2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x36a2[0];var express=require(_0x36a2[1]);var controller=require(_0x36a2[2]);var router=express.Router();router[_0x36a2[5]](_0x36a2[3],controller[_0x36a2[4]]);router[_0x36a2[5]](_0x36a2[6],controller[_0x36a2[7]]);router[_0x36a2[9]](_0x36a2[3],controller[_0x36a2[8]]);router[_0x36a2[11]](_0x36a2[6],controller[_0x36a2[10]]);router[_0x36a2[12]](_0x36a2[6],controller[_0x36a2[10]]);router[_0x36a2[14]](_0x36a2[6],controller[_0x36a2[13]]);module[_0x36a2[15]]=router;
\ No newline at end of file
+var _0x3be8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x3be8[0];var express=require(_0x3be8[1]);var controller=require(_0x3be8[2]);var router=express.Router();router[_0x3be8[5]](_0x3be8[3],controller[_0x3be8[4]]);router[_0x3be8[5]](_0x3be8[6],controller[_0x3be8[7]]);router[_0x3be8[9]](_0x3be8[3],controller[_0x3be8[8]]);router[_0x3be8[11]](_0x3be8[6],controller[_0x3be8[10]]);router[_0x3be8[12]](_0x3be8[6],controller[_0x3be8[10]]);router[_0x3be8[14]](_0x3be8[6],controller[_0x3be8[13]]);module[_0x3be8[15]]=router;
\ No newline at end of file
index 8fe5293290207d9d08f62fce5850e1166f97379f..d3aef555edd77b39667d036cd780c2dcd366fe0b 100644 (file)
@@ -1 +1 @@
-var _0x784d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x70\x72\x69\x6F\x72\x69\x74\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65\x49\x64","\x6D\x61\x78","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x784d[0];var _=require(_0x784d[1]);var ChatApplication=require(_0x784d[3])[_0x784d[2]];exports[_0x784d[4]]=function(_0xf843x3,_0xf843x4){ChatApplication[_0x784d[11]]({where:_0xf843x3[_0x784d[9]],order:_0x784d[10],include:[{all:true}]})[_0x784d[8]](function(_0xf843x6){return _0xf843x4[_0x784d[7]](200)[_0x784d[6]](_0xf843x6)})[_0x784d[5]](function(_0xf843x5){return handleError(_0xf843x4,_0xf843x5)})};exports[_0x784d[12]]=function(_0xf843x3,_0xf843x4){ChatApplication[_0x784d[16]](_0xf843x3[_0x784d[15]][_0x784d[14]])[_0x784d[8]](function(_0xf843x7){if(!_0xf843x7){return _0xf843x4[_0x784d[13]](404)};return _0xf843x4[_0x784d[6]](_0xf843x7);})[_0x784d[5]](function(_0xf843x5){return handleError(_0xf843x4,_0xf843x5)})};exports[_0x784d[17]]=function(_0xf843x3,_0xf843x4,_0xf843x8){ChatApplication[_0x784d[20]](_0x784d[10],{where:{ChatWebsiteId:_0xf843x3[_0x784d[18]][_0x784d[19]]}})[_0x784d[8]](function(_0xf843x9){_0xf843x3[_0x784d[18]][_0x784d[10]]=_0xf843x9?++_0xf843x9:1;ChatApplication[_0x784d[17]](_0xf843x3[_0x784d[18]])[_0x784d[8]](function(_0xf843xa){return _0xf843x4[_0x784d[7]](201)[_0x784d[6]](_0xf843xa)})[_0x784d[5]](function(_0xf843x5){return _0xf843x8(_0xf843x5)});})[_0x784d[5]](function(_0xf843x5){_0xf843x8(_0xf843x5)})};exports[_0x784d[21]]=function(_0xf843x3,_0xf843x4){if(_0xf843x3[_0x784d[18]][_0x784d[14]]){delete _0xf843x3[_0x784d[18]][_0x784d[14]]};ChatApplication[_0x784d[16]](_0xf843x3[_0x784d[15]][_0x784d[14]])[_0x784d[8]](function(_0xf843x7){if(!_0xf843x7){return _0xf843x4[_0x784d[13]](404)};var _0xf843xb=_[_0x784d[22]](_0xf843x7,_0xf843x3[_0x784d[18]]);_0xf843xb[_0x784d[23]]()[_0x784d[8]](function(){return _0xf843x4[_0x784d[7]](200)[_0x784d[6]](_0xf843x7)})[_0x784d[5]](function(_0xf843x5){return handleError(_0xf843x4,_0xf843x5)});})[_0x784d[5]](function(_0xf843x5){return handleError(_0xf843x4,_0xf843x5)});};exports[_0x784d[24]]=function(_0xf843x3,_0xf843x4){ChatApplication[_0x784d[16]](_0xf843x3[_0x784d[15]][_0x784d[14]])[_0x784d[8]](function(_0xf843x7){if(!_0xf843x7){return _0xf843x4[_0x784d[13]](404)};_0xf843x7[_0x784d[24]]()[_0x784d[8]](function(){return _0xf843x4[_0x784d[13]](204)})[_0x784d[5]](function(_0xf843x5){return handleError(_0xf843x4,_0xf843x5)});})[_0x784d[5]](function(_0xf843x5){return handleError(_0xf843x4,_0xf843x5)})};function handleError(_0xf843x4,_0xf843x5){return _0xf843x4[_0x784d[7]](500)[_0x784d[6]](_0xf843x5)}
\ No newline at end of file
+var _0xa64a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x70\x72\x69\x6F\x72\x69\x74\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65\x49\x64","\x6D\x61\x78","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xa64a[0];var _=require(_0xa64a[1]);var ChatApplication=require(_0xa64a[3])[_0xa64a[2]];exports[_0xa64a[4]]=function(_0xe51fx3,_0xe51fx4){ChatApplication[_0xa64a[11]]({where:_0xe51fx3[_0xa64a[9]],order:_0xa64a[10],include:[{all:true}]})[_0xa64a[8]](function(_0xe51fx6){return _0xe51fx4[_0xa64a[7]](200)[_0xa64a[6]](_0xe51fx6)})[_0xa64a[5]](function(_0xe51fx5){return handleError(_0xe51fx4,_0xe51fx5)})};exports[_0xa64a[12]]=function(_0xe51fx3,_0xe51fx4){ChatApplication[_0xa64a[16]](_0xe51fx3[_0xa64a[15]][_0xa64a[14]])[_0xa64a[8]](function(_0xe51fx7){if(!_0xe51fx7){return _0xe51fx4[_0xa64a[13]](404)};return _0xe51fx4[_0xa64a[6]](_0xe51fx7);})[_0xa64a[5]](function(_0xe51fx5){return handleError(_0xe51fx4,_0xe51fx5)})};exports[_0xa64a[17]]=function(_0xe51fx3,_0xe51fx4,_0xe51fx8){ChatApplication[_0xa64a[20]](_0xa64a[10],{where:{ChatWebsiteId:_0xe51fx3[_0xa64a[18]][_0xa64a[19]]}})[_0xa64a[8]](function(_0xe51fx9){_0xe51fx3[_0xa64a[18]][_0xa64a[10]]=_0xe51fx9?++_0xe51fx9:1;ChatApplication[_0xa64a[17]](_0xe51fx3[_0xa64a[18]])[_0xa64a[8]](function(_0xe51fxa){return _0xe51fx4[_0xa64a[7]](201)[_0xa64a[6]](_0xe51fxa)})[_0xa64a[5]](function(_0xe51fx5){return _0xe51fx8(_0xe51fx5)});})[_0xa64a[5]](function(_0xe51fx5){_0xe51fx8(_0xe51fx5)})};exports[_0xa64a[21]]=function(_0xe51fx3,_0xe51fx4){if(_0xe51fx3[_0xa64a[18]][_0xa64a[14]]){delete _0xe51fx3[_0xa64a[18]][_0xa64a[14]]};ChatApplication[_0xa64a[16]](_0xe51fx3[_0xa64a[15]][_0xa64a[14]])[_0xa64a[8]](function(_0xe51fx7){if(!_0xe51fx7){return _0xe51fx4[_0xa64a[13]](404)};var _0xe51fxb=_[_0xa64a[22]](_0xe51fx7,_0xe51fx3[_0xa64a[18]]);_0xe51fxb[_0xa64a[23]]()[_0xa64a[8]](function(){return _0xe51fx4[_0xa64a[7]](200)[_0xa64a[6]](_0xe51fx7)})[_0xa64a[5]](function(_0xe51fx5){return handleError(_0xe51fx4,_0xe51fx5)});})[_0xa64a[5]](function(_0xe51fx5){return handleError(_0xe51fx4,_0xe51fx5)});};exports[_0xa64a[24]]=function(_0xe51fx3,_0xe51fx4){ChatApplication[_0xa64a[16]](_0xe51fx3[_0xa64a[15]][_0xa64a[14]])[_0xa64a[8]](function(_0xe51fx7){if(!_0xe51fx7){return _0xe51fx4[_0xa64a[13]](404)};_0xe51fx7[_0xa64a[24]]()[_0xa64a[8]](function(){return _0xe51fx4[_0xa64a[13]](204)})[_0xa64a[5]](function(_0xe51fx5){return handleError(_0xe51fx4,_0xe51fx5)});})[_0xa64a[5]](function(_0xe51fx5){return handleError(_0xe51fx4,_0xe51fx5)})};function handleError(_0xe51fx4,_0xe51fx5){return _0xe51fx4[_0xa64a[7]](500)[_0xa64a[6]](_0xe51fx5)}
\ No newline at end of file
index 16914c1c15703083b7ac8536d1d0ccf43ad61beb..822e4ce758ff2ed2ea4a1774884db5341148065e 100644 (file)
@@ -1 +1 @@
-var _0x271d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x63\x68\x61\x74\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x63\x68\x61\x74\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0x271d[0];var ChatApplication=require(_0x271d[2])[_0x271d[1]];exports[_0x271d[3]]=function(_0xcce7x2){ChatApplication[_0x271d[4]](function(_0xcce7x3){onSave(_0xcce7x2,_0xcce7x3)});ChatApplication[_0x271d[5]](function(_0xcce7x3){onRemove(_0xcce7x2,_0xcce7x3)});};function onSave(_0xcce7x2,_0xcce7x3,_0xcce7x5){_0xcce7x2[_0x271d[7]](_0x271d[6],_0xcce7x3)}function onRemove(_0xcce7x2,_0xcce7x3,_0xcce7x5){_0xcce7x2[_0x271d[7]](_0x271d[8],_0xcce7x3)}
\ No newline at end of file
+var _0x726f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x63\x68\x61\x74\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x63\x68\x61\x74\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0x726f[0];var ChatApplication=require(_0x726f[2])[_0x726f[1]];exports[_0x726f[3]]=function(_0x376fx2){ChatApplication[_0x726f[4]](function(_0x376fx3){onSave(_0x376fx2,_0x376fx3)});ChatApplication[_0x726f[5]](function(_0x376fx3){onRemove(_0x376fx2,_0x376fx3)});};function onSave(_0x376fx2,_0x376fx3,_0x376fx5){_0x376fx2[_0x726f[7]](_0x726f[6],_0x376fx3)}function onRemove(_0x376fx2,_0x376fx3,_0x376fx5){_0x376fx2[_0x726f[7]](_0x726f[8],_0x376fx3)}
\ No newline at end of file
index bed4ec6a830492ab457f256605d44870327abde4..0160dfacc9b5f77c3ad774c506974ab286b1a301 100644 (file)
@@ -1 +1 @@
-var _0x2d25=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x67\x65\x74"];_0x2d25[0];var should=require(_0x2d25[1]);var app=require(_0x2d25[2]);var request=require(_0x2d25[3]);describe(_0x2d25[4],function(){it(_0x2d25[5],function(_0x414cx4){request(app)[_0x2d25[13]](_0x2d25[12])[_0x2d25[11]](200)[_0x2d25[11]](_0x2d25[10],/json/)[_0x2d25[9]](function(_0x414cx5,_0x414cx6){if(_0x414cx5){return _0x414cx4(_0x414cx5)};_0x414cx6[_0x2d25[8]][_0x2d25[1]][_0x2d25[7]][_0x2d25[6]](Array);_0x414cx4();})})});
\ No newline at end of file
+var _0x2ca5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x67\x65\x74"];_0x2ca5[0];var should=require(_0x2ca5[1]);var app=require(_0x2ca5[2]);var request=require(_0x2ca5[3]);describe(_0x2ca5[4],function(){it(_0x2ca5[5],function(_0x43b5x4){request(app)[_0x2ca5[13]](_0x2ca5[12])[_0x2ca5[11]](200)[_0x2ca5[11]](_0x2ca5[10],/json/)[_0x2ca5[9]](function(_0x43b5x5,_0x43b5x6){if(_0x43b5x5){return _0x43b5x4(_0x43b5x5)};_0x43b5x6[_0x2ca5[8]][_0x2ca5[1]][_0x2ca5[7]][_0x2ca5[6]](Array);_0x43b5x4();})})});
\ No newline at end of file
index 6b13908205eeb2ed727eb287f837c7af1fb0ee07..1795dad3eedd0f96d20a09f587ae7b1119ed5dcf 100644 (file)
@@ -1 +1 @@
-var _0x2aac=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x68\x61\x74\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x2aac[0];var express=require(_0x2aac[1]);var controller=require(_0x2aac[2]);var router=express.Router();router[_0x2aac[5]](_0x2aac[3],controller[_0x2aac[4]]);router[_0x2aac[5]](_0x2aac[6],controller[_0x2aac[7]]);router[_0x2aac[9]](_0x2aac[3],controller[_0x2aac[8]]);router[_0x2aac[11]](_0x2aac[6],controller[_0x2aac[10]]);router[_0x2aac[12]](_0x2aac[6],controller[_0x2aac[10]]);router[_0x2aac[14]](_0x2aac[6],controller[_0x2aac[13]]);module[_0x2aac[15]]=router;
\ No newline at end of file
+var _0xc3b8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x68\x61\x74\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xc3b8[0];var express=require(_0xc3b8[1]);var controller=require(_0xc3b8[2]);var router=express.Router();router[_0xc3b8[5]](_0xc3b8[3],controller[_0xc3b8[4]]);router[_0xc3b8[5]](_0xc3b8[6],controller[_0xc3b8[7]]);router[_0xc3b8[9]](_0xc3b8[3],controller[_0xc3b8[8]]);router[_0xc3b8[11]](_0xc3b8[6],controller[_0xc3b8[10]]);router[_0xc3b8[12]](_0xc3b8[6],controller[_0xc3b8[10]]);router[_0xc3b8[14]](_0xc3b8[6],controller[_0xc3b8[13]]);module[_0xc3b8[15]]=router;
\ No newline at end of file
index a9bde8b3def6c8467f4f7418a8368f10f48f94e7..7187c92c9411adfdf42a38085cf88e312c9b5346 100644 (file)
@@ -1 +1 @@
-var _0xf2bf=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x43\x68\x61\x74\x45\x6E\x71\x75\x69\x72\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x4F\x6E\x65","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x64\x65\x73\x74\x72\x6F\x79"];_0xf2bf[0];var _=require(_0xf2bf[1]);var ChatEnquiry=require(_0xf2bf[3])[_0xf2bf[2]];var ChatVisitor=require(_0xf2bf[3])[_0xf2bf[4]];exports[_0xf2bf[5]]=function(_0xdf59x4,_0xdf59x5){ChatEnquiry[_0xf2bf[10]]()[_0xf2bf[9]](function(_0xdf59x7){return _0xdf59x5[_0xf2bf[8]](200)[_0xf2bf[7]](_0xdf59x7)})[_0xf2bf[6]](function(_0xdf59x6){return handleError(_0xdf59x5,_0xdf59x6)})};exports[_0xf2bf[11]]=function(_0xdf59x4,_0xdf59x5){ChatEnquiry[_0xf2bf[15]]({where:{id:_0xdf59x4[_0xf2bf[14]][_0xf2bf[13]]},include:[ChatVisitor]})[_0xf2bf[9]](function(_0xdf59x8){if(!_0xdf59x8){return _0xdf59x5[_0xf2bf[12]](404)};return _0xdf59x5[_0xf2bf[7]](_0xdf59x8);})[_0xf2bf[6]](function(_0xdf59x6){return handleError(_0xdf59x5,_0xdf59x6)})};exports[_0xf2bf[16]]=function(_0xdf59x4,_0xdf59x5){ChatEnquiry[_0xf2bf[16]](_0xdf59x4[_0xf2bf[17]])[_0xf2bf[9]](function(_0xdf59x8){return _0xdf59x5[_0xf2bf[8]](201)[_0xf2bf[7]](_0xdf59x8)})[_0xf2bf[6]](function(_0xdf59x6){return handleError(_0xdf59x5,_0xdf59x6)})};exports[_0xf2bf[18]]=function(_0xdf59x4,_0xdf59x5){if(_0xdf59x4[_0xf2bf[17]][_0xf2bf[13]]){delete _0xdf59x4[_0xf2bf[17]][_0xf2bf[13]]};ChatEnquiry[_0xf2bf[21]](_0xdf59x4[_0xf2bf[14]][_0xf2bf[13]])[_0xf2bf[9]](function(_0xdf59x8){if(!_0xdf59x8){return _0xdf59x5[_0xf2bf[12]](404)};var _0xdf59x9=_[_0xf2bf[19]](_0xdf59x8,_0xdf59x4[_0xf2bf[17]]);_0xdf59x9[_0xf2bf[20]]()[_0xf2bf[9]](function(){return _0xdf59x5[_0xf2bf[8]](200)[_0xf2bf[7]](_0xdf59x8)})[_0xf2bf[6]](function(_0xdf59x6){return handleError(_0xdf59x5,_0xdf59x6)});})[_0xf2bf[6]](function(_0xdf59x6){return handleError(_0xdf59x5,_0xdf59x6)});};exports[_0xf2bf[22]]=function(_0xdf59x4,_0xdf59x5){ChatEnquiry[_0xf2bf[21]](_0xdf59x4[_0xf2bf[14]][_0xf2bf[13]])[_0xf2bf[9]](function(_0xdf59x8){if(!_0xdf59x8){return _0xdf59x5[_0xf2bf[12]](404)};_0xdf59x8[_0xf2bf[22]]()[_0xf2bf[9]](function(){return _0xdf59x5[_0xf2bf[12]](204)})[_0xf2bf[6]](function(_0xdf59x6){return handleError(_0xdf59x5,_0xdf59x6)});})[_0xf2bf[6]](function(_0xdf59x6){return handleError(_0xdf59x5,_0xdf59x6)})};function handleError(_0xdf59x5,_0xdf59x6){return _0xdf59x5[_0xf2bf[8]](500)[_0xf2bf[7]](_0xdf59x6)}
\ No newline at end of file
+var _0x2db3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x43\x68\x61\x74\x45\x6E\x71\x75\x69\x72\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x4F\x6E\x65","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x64\x65\x73\x74\x72\x6F\x79"];_0x2db3[0];var _=require(_0x2db3[1]);var ChatEnquiry=require(_0x2db3[3])[_0x2db3[2]];var ChatVisitor=require(_0x2db3[3])[_0x2db3[4]];exports[_0x2db3[5]]=function(_0x43acx4,_0x43acx5){ChatEnquiry[_0x2db3[10]]()[_0x2db3[9]](function(_0x43acx7){return _0x43acx5[_0x2db3[8]](200)[_0x2db3[7]](_0x43acx7)})[_0x2db3[6]](function(_0x43acx6){return handleError(_0x43acx5,_0x43acx6)})};exports[_0x2db3[11]]=function(_0x43acx4,_0x43acx5){ChatEnquiry[_0x2db3[15]]({where:{id:_0x43acx4[_0x2db3[14]][_0x2db3[13]]},include:[ChatVisitor]})[_0x2db3[9]](function(_0x43acx8){if(!_0x43acx8){return _0x43acx5[_0x2db3[12]](404)};return _0x43acx5[_0x2db3[7]](_0x43acx8);})[_0x2db3[6]](function(_0x43acx6){return handleError(_0x43acx5,_0x43acx6)})};exports[_0x2db3[16]]=function(_0x43acx4,_0x43acx5){ChatEnquiry[_0x2db3[16]](_0x43acx4[_0x2db3[17]])[_0x2db3[9]](function(_0x43acx8){return _0x43acx5[_0x2db3[8]](201)[_0x2db3[7]](_0x43acx8)})[_0x2db3[6]](function(_0x43acx6){return handleError(_0x43acx5,_0x43acx6)})};exports[_0x2db3[18]]=function(_0x43acx4,_0x43acx5){if(_0x43acx4[_0x2db3[17]][_0x2db3[13]]){delete _0x43acx4[_0x2db3[17]][_0x2db3[13]]};ChatEnquiry[_0x2db3[21]](_0x43acx4[_0x2db3[14]][_0x2db3[13]])[_0x2db3[9]](function(_0x43acx8){if(!_0x43acx8){return _0x43acx5[_0x2db3[12]](404)};var _0x43acx9=_[_0x2db3[19]](_0x43acx8,_0x43acx4[_0x2db3[17]]);_0x43acx9[_0x2db3[20]]()[_0x2db3[9]](function(){return _0x43acx5[_0x2db3[8]](200)[_0x2db3[7]](_0x43acx8)})[_0x2db3[6]](function(_0x43acx6){return handleError(_0x43acx5,_0x43acx6)});})[_0x2db3[6]](function(_0x43acx6){return handleError(_0x43acx5,_0x43acx6)});};exports[_0x2db3[22]]=function(_0x43acx4,_0x43acx5){ChatEnquiry[_0x2db3[21]](_0x43acx4[_0x2db3[14]][_0x2db3[13]])[_0x2db3[9]](function(_0x43acx8){if(!_0x43acx8){return _0x43acx5[_0x2db3[12]](404)};_0x43acx8[_0x2db3[22]]()[_0x2db3[9]](function(){return _0x43acx5[_0x2db3[12]](204)})[_0x2db3[6]](function(_0x43acx6){return handleError(_0x43acx5,_0x43acx6)});})[_0x2db3[6]](function(_0x43acx6){return handleError(_0x43acx5,_0x43acx6)})};function handleError(_0x43acx5,_0x43acx6){return _0x43acx5[_0x2db3[8]](500)[_0x2db3[7]](_0x43acx6)}
\ No newline at end of file
index 553e63cb4d2cb894c5c72d3e7e0b0b75e99f7862..0384db290d7d5e72480137118a48fedecde1b4ea 100644 (file)
@@ -1 +1 @@
-var _0x262f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x43\x68\x61\x74\x45\x6E\x71\x75\x69\x72\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x65\x6E\x71\x75\x69\x72\x79\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x65\x6E\x71\x75\x69\x72\x79\x3A\x72\x65\x6D\x6F\x76\x65"];_0x262f[0];var enquiry=require(_0x262f[2])[_0x262f[1]];exports[_0x262f[3]]=function(_0xb58bx2){enquiry[_0x262f[4]](function(_0xb58bx3){onSave(_0xb58bx2,_0xb58bx3)});enquiry[_0x262f[5]](function(_0xb58bx3){onRemove(_0xb58bx2,_0xb58bx3)});};function onSave(_0xb58bx2,_0xb58bx3,_0xb58bx5){_0xb58bx2[_0x262f[7]](_0x262f[6],_0xb58bx3)}function onRemove(_0xb58bx2,_0xb58bx3,_0xb58bx5){_0xb58bx2[_0x262f[7]](_0x262f[8],_0xb58bx3)}
\ No newline at end of file
+var _0xd9a7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x43\x68\x61\x74\x45\x6E\x71\x75\x69\x72\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x65\x6E\x71\x75\x69\x72\x79\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x65\x6E\x71\x75\x69\x72\x79\x3A\x72\x65\x6D\x6F\x76\x65"];_0xd9a7[0];var enquiry=require(_0xd9a7[2])[_0xd9a7[1]];exports[_0xd9a7[3]]=function(_0x7668x2){enquiry[_0xd9a7[4]](function(_0x7668x3){onSave(_0x7668x2,_0x7668x3)});enquiry[_0xd9a7[5]](function(_0x7668x3){onRemove(_0x7668x2,_0x7668x3)});};function onSave(_0x7668x2,_0x7668x3,_0x7668x5){_0x7668x2[_0xd9a7[7]](_0xd9a7[6],_0x7668x3)}function onRemove(_0x7668x2,_0x7668x3,_0x7668x5){_0x7668x2[_0xd9a7[7]](_0xd9a7[8],_0x7668x3)}
\ No newline at end of file
index baf61dc0a3aaabc7e38b792e4e00e610de424d36..2b56e6e671eaeb313b0cf9ee2c5de8afb19f9b1a 100644 (file)
@@ -1 +1 @@
-var _0x63ef=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x65\x6E\x71\x75\x69\x72\x79\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x63ef[0];var express=require(_0x63ef[1]);var controller=require(_0x63ef[2]);var router=express.Router();router[_0x63ef[5]](_0x63ef[3],controller[_0x63ef[4]]);router[_0x63ef[5]](_0x63ef[6],controller[_0x63ef[7]]);router[_0x63ef[9]](_0x63ef[3],controller[_0x63ef[8]]);router[_0x63ef[11]](_0x63ef[6],controller[_0x63ef[10]]);router[_0x63ef[12]](_0x63ef[6],controller[_0x63ef[10]]);router[_0x63ef[14]](_0x63ef[6],controller[_0x63ef[13]]);module[_0x63ef[15]]=router;
\ No newline at end of file
+var _0x7af2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x65\x6E\x71\x75\x69\x72\x79\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x7af2[0];var express=require(_0x7af2[1]);var controller=require(_0x7af2[2]);var router=express.Router();router[_0x7af2[5]](_0x7af2[3],controller[_0x7af2[4]]);router[_0x7af2[5]](_0x7af2[6],controller[_0x7af2[7]]);router[_0x7af2[9]](_0x7af2[3],controller[_0x7af2[8]]);router[_0x7af2[11]](_0x7af2[6],controller[_0x7af2[10]]);router[_0x7af2[12]](_0x7af2[6],controller[_0x7af2[10]]);router[_0x7af2[14]](_0x7af2[6],controller[_0x7af2[13]]);module[_0x7af2[15]]=router;
\ No newline at end of file
index ca97e1fdbae94ddd04a2ed0ca0648e2c3f21906d..bfe47e7222c33da8f51afbc97471b12617977188 100644 (file)
@@ -1 +1 @@
-var _0x5765=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x64\x35","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x43\x68\x61\x74\x4D\x65\x73\x73\x61\x67\x65","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x73\x65\x72","\x6D\x65\x72\x67\x65","\x75\x70\x64\x61\x74\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x5765[0];var _=require(_0x5765[1]);var md5=require(_0x5765[2]);var User=require(_0x5765[4])[_0x5765[3]];var ChatRoom=require(_0x5765[4])[_0x5765[5]];var ChatMessage=require(_0x5765[4])[_0x5765[6]];var ChatVisitor=require(_0x5765[4])[_0x5765[7]];exports[_0x5765[8]]=function(_0xe43fx7,_0xe43fx8){ChatMessage[_0x5765[13]]()[_0x5765[12]](function(_0xe43fxa){return _0xe43fx8[_0x5765[11]](200)[_0x5765[10]](_0xe43fxa)})[_0x5765[9]](function(_0xe43fx9){return handleError(_0xe43fx8,_0xe43fx9)})};exports[_0x5765[14]]=function(_0xe43fx7,_0xe43fx8){ChatMessage[_0x5765[18]](_0xe43fx7[_0x5765[17]][_0x5765[16]])[_0x5765[12]](function(_0xe43fxb){if(!_0xe43fxb){return _0xe43fx8[_0x5765[15]](404)};return _0xe43fx8[_0x5765[10]](_0xe43fxb);})[_0x5765[9]](function(_0xe43fx9){return handleError(_0xe43fx8,_0xe43fx9)})};exports[_0x5765[19]]=function(_0xe43fx7,_0xe43fx8,_0xe43fxc){ChatMessage[_0x5765[19]](_[_0x5765[22]](_0xe43fx7[_0x5765[20]],{UserId:_0xe43fx7[_0x5765[21]][_0x5765[16]]}))[_0x5765[12]](function(_0xe43fxb){return _0xe43fx8[_0x5765[11]](201)[_0x5765[10]](_0xe43fxb)})[_0x5765[9]](function(_0xe43fx9){return handleError(_0xe43fx8,_0xe43fx9)})};exports[_0x5765[23]]=function(_0xe43fx7,_0xe43fx8){if(_0xe43fx7[_0x5765[20]][_0x5765[16]]){delete _0xe43fx7[_0x5765[20]][_0x5765[16]]};return ChatMessage[_0x5765[18]](_0xe43fx7[_0x5765[17]][_0x5765[16]])[_0x5765[12]](function(_0xe43fxb){if(!_0xe43fxb){return _0xe43fx8[_0x5765[15]](404)};var _0xe43fxd=_[_0x5765[22]](_0xe43fxb,_0xe43fx7[_0x5765[20]]);return _0xe43fxd[_0x5765[24]]();})[_0x5765[12]](function(_0xe43fxb){return _0xe43fx8[_0x5765[11]](200)[_0x5765[10]](_0xe43fxb)})[_0x5765[9]](function(_0xe43fx9){return handleError(_0xe43fx8,_0xe43fx9)});};exports[_0x5765[25]]=function(_0xe43fx7,_0xe43fx8){ChatMessage[_0x5765[18]](_0xe43fx7[_0x5765[17]][_0x5765[16]])[_0x5765[12]](function(_0xe43fxb){if(!_0xe43fxb){return _0xe43fx8[_0x5765[15]](404)};_0xe43fxb[_0x5765[25]]()[_0x5765[12]](function(){return _0xe43fx8[_0x5765[15]](204)})[_0x5765[9]](function(_0xe43fx9){return handleError(_0xe43fx8,_0xe43fx9)});})[_0x5765[9]](function(_0xe43fx9){return handleError(_0xe43fx8,_0xe43fx9)})};function handleError(_0xe43fx8,_0xe43fx9){return _0xe43fx8[_0x5765[11]](500)[_0x5765[10]](_0xe43fx9)}
\ No newline at end of file
+var _0x2801=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x64\x35","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x43\x68\x61\x74\x4D\x65\x73\x73\x61\x67\x65","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x73\x65\x72","\x6D\x65\x72\x67\x65","\x75\x70\x64\x61\x74\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x2801[0];var _=require(_0x2801[1]);var md5=require(_0x2801[2]);var User=require(_0x2801[4])[_0x2801[3]];var ChatRoom=require(_0x2801[4])[_0x2801[5]];var ChatMessage=require(_0x2801[4])[_0x2801[6]];var ChatVisitor=require(_0x2801[4])[_0x2801[7]];exports[_0x2801[8]]=function(_0x1744x7,_0x1744x8){ChatMessage[_0x2801[13]]()[_0x2801[12]](function(_0x1744xa){return _0x1744x8[_0x2801[11]](200)[_0x2801[10]](_0x1744xa)})[_0x2801[9]](function(_0x1744x9){return handleError(_0x1744x8,_0x1744x9)})};exports[_0x2801[14]]=function(_0x1744x7,_0x1744x8){ChatMessage[_0x2801[18]](_0x1744x7[_0x2801[17]][_0x2801[16]])[_0x2801[12]](function(_0x1744xb){if(!_0x1744xb){return _0x1744x8[_0x2801[15]](404)};return _0x1744x8[_0x2801[10]](_0x1744xb);})[_0x2801[9]](function(_0x1744x9){return handleError(_0x1744x8,_0x1744x9)})};exports[_0x2801[19]]=function(_0x1744x7,_0x1744x8,_0x1744xc){ChatMessage[_0x2801[19]](_[_0x2801[22]](_0x1744x7[_0x2801[20]],{UserId:_0x1744x7[_0x2801[21]][_0x2801[16]]}))[_0x2801[12]](function(_0x1744xb){return _0x1744x8[_0x2801[11]](201)[_0x2801[10]](_0x1744xb)})[_0x2801[9]](function(_0x1744x9){return handleError(_0x1744x8,_0x1744x9)})};exports[_0x2801[23]]=function(_0x1744x7,_0x1744x8){if(_0x1744x7[_0x2801[20]][_0x2801[16]]){delete _0x1744x7[_0x2801[20]][_0x2801[16]]};return ChatMessage[_0x2801[18]](_0x1744x7[_0x2801[17]][_0x2801[16]])[_0x2801[12]](function(_0x1744xb){if(!_0x1744xb){return _0x1744x8[_0x2801[15]](404)};var _0x1744xd=_[_0x2801[22]](_0x1744xb,_0x1744x7[_0x2801[20]]);return _0x1744xd[_0x2801[24]]();})[_0x2801[12]](function(_0x1744xb){return _0x1744x8[_0x2801[11]](200)[_0x2801[10]](_0x1744xb)})[_0x2801[9]](function(_0x1744x9){return handleError(_0x1744x8,_0x1744x9)});};exports[_0x2801[25]]=function(_0x1744x7,_0x1744x8){ChatMessage[_0x2801[18]](_0x1744x7[_0x2801[17]][_0x2801[16]])[_0x2801[12]](function(_0x1744xb){if(!_0x1744xb){return _0x1744x8[_0x2801[15]](404)};_0x1744xb[_0x2801[25]]()[_0x2801[12]](function(){return _0x1744x8[_0x2801[15]](204)})[_0x2801[9]](function(_0x1744x9){return handleError(_0x1744x8,_0x1744x9)});})[_0x2801[9]](function(_0x1744x9){return handleError(_0x1744x8,_0x1744x9)})};function handleError(_0x1744x8,_0x1744x9){return _0x1744x8[_0x2801[11]](500)[_0x2801[10]](_0x1744x9)}
\ No newline at end of file
index 40c0df5d7c2787475127d62ba629627a0cb31e73..1d5a03d2f15766c7ee753d2827c23ec96e0d3a07 100644 (file)
@@ -1 +1 @@
-var _0x2bff=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x43\x68\x61\x74\x4D\x65\x73\x73\x61\x67\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x6C\x6F\x64\x61\x73\x68","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x55\x73\x65\x72\x49\x64","\x66\x69\x6E\x64","\x75\x73\x65\x72\x49\x64","\x69\x64","\x63\x68\x61\x74\x5F\x6D\x65\x73\x73\x61\x67\x65\x3A\x73\x61\x76\x65","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x6D\x65\x72\x67\x65","\x65\x6D\x69\x74","\x66\x6F\x72\x45\x61\x63\x68","\x73\x70\x72\x65\x61\x64","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x72\x6F\x6C\x65","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x67\x65\x74\x55\x73\x65\x72\x73","\x67\x65\x74\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x74\x68\x65\x6E","\x67\x65\x74\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x63\x68\x61\x74\x5F\x6D\x65\x73\x73\x61\x67\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0x2bff[0];var chat_message=require(_0x2bff[2])[_0x2bff[1]];var _=require(_0x2bff[3]);exports[_0x2bff[4]]=function(_0xc2cex3){chat_message[_0x2bff[5]](function(_0xc2cex4){onSave(_0xc2cex3,_0xc2cex4)});chat_message[_0x2bff[6]](function(_0xc2cex4){onSave(_0xc2cex3,_0xc2cex4)});chat_message[_0x2bff[7]](function(_0xc2cex4){onRemove(_0xc2cex3,_0xc2cex4)});};function onSave(_0xc2cex3,_0xc2cex4,_0xc2cex6){return _0xc2cex4[_0x2bff[28]]()[_0x2bff[27]](function(_0xc2cexc){return [_0xc2cexc[_0x2bff[25]]({attributes:[_0x2bff[13],_0x2bff[20],_0x2bff[21],_0x2bff[22],_0x2bff[23],_0x2bff[24]],raw:true}),_0xc2cexc[_0x2bff[26]]({attributes:[_0x2bff[13],_0x2bff[21],_0x2bff[22]],raw:true})]})[_0x2bff[19]](function(_0xc2cex8,_0xc2cex9){var _0xc2cexa=_[_0x2bff[11]](_0xc2cex8,{id:_0xc2cex4[_0x2bff[10]]});_0xc2cex8[_0x2bff[18]](function(_0xc2cexb){if(_0xc2cex3[_0x2bff[12]]==_0xc2cexb[_0x2bff[13]]&&(_0xc2cexa||_0xc2cex9)){_0xc2cex3[_0x2bff[17]](_0x2bff[14],_[_0x2bff[16]](_0xc2cex4[_0x2bff[15]],{User:_0xc2cexa,ChatVisitor:_0xc2cex9}))}});})[_0x2bff[9]](function(_0xc2cex7){console[_0x2bff[8]](_0xc2cex7)})}function onRemove(_0xc2cex3,_0xc2cex4,_0xc2cex6){_0xc2cex3[_0x2bff[17]](_0x2bff[29],_0xc2cex4)}
\ No newline at end of file
+var _0x1fef=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x43\x68\x61\x74\x4D\x65\x73\x73\x61\x67\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x6C\x6F\x64\x61\x73\x68","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x55\x73\x65\x72\x49\x64","\x66\x69\x6E\x64","\x75\x73\x65\x72\x49\x64","\x69\x64","\x63\x68\x61\x74\x5F\x6D\x65\x73\x73\x61\x67\x65\x3A\x73\x61\x76\x65","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x6D\x65\x72\x67\x65","\x65\x6D\x69\x74","\x66\x6F\x72\x45\x61\x63\x68","\x73\x70\x72\x65\x61\x64","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x72\x6F\x6C\x65","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x67\x65\x74\x55\x73\x65\x72\x73","\x67\x65\x74\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x74\x68\x65\x6E","\x67\x65\x74\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x63\x68\x61\x74\x5F\x6D\x65\x73\x73\x61\x67\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0x1fef[0];var chat_message=require(_0x1fef[2])[_0x1fef[1]];var _=require(_0x1fef[3]);exports[_0x1fef[4]]=function(_0x19a1x3){chat_message[_0x1fef[5]](function(_0x19a1x4){onSave(_0x19a1x3,_0x19a1x4)});chat_message[_0x1fef[6]](function(_0x19a1x4){onSave(_0x19a1x3,_0x19a1x4)});chat_message[_0x1fef[7]](function(_0x19a1x4){onRemove(_0x19a1x3,_0x19a1x4)});};function onSave(_0x19a1x3,_0x19a1x4,_0x19a1x6){return _0x19a1x4[_0x1fef[28]]()[_0x1fef[27]](function(_0x19a1xc){return [_0x19a1xc[_0x1fef[25]]({attributes:[_0x1fef[13],_0x1fef[20],_0x1fef[21],_0x1fef[22],_0x1fef[23],_0x1fef[24]],raw:true}),_0x19a1xc[_0x1fef[26]]({attributes:[_0x1fef[13],_0x1fef[21],_0x1fef[22]],raw:true})]})[_0x1fef[19]](function(_0x19a1x8,_0x19a1x9){var _0x19a1xa=_[_0x1fef[11]](_0x19a1x8,{id:_0x19a1x4[_0x1fef[10]]});_0x19a1x8[_0x1fef[18]](function(_0x19a1xb){if(_0x19a1x3[_0x1fef[12]]==_0x19a1xb[_0x1fef[13]]&&(_0x19a1xa||_0x19a1x9)){_0x19a1x3[_0x1fef[17]](_0x1fef[14],_[_0x1fef[16]](_0x19a1x4[_0x1fef[15]],{User:_0x19a1xa,ChatVisitor:_0x19a1x9}))}});})[_0x1fef[9]](function(_0x19a1x7){console[_0x1fef[8]](_0x19a1x7)})}function onRemove(_0x19a1x3,_0x19a1x4,_0x19a1x6){_0x19a1x3[_0x1fef[17]](_0x1fef[29],_0x19a1x4)}
\ No newline at end of file
index cb5a8857157c69f71043fa45020d5d488a9b74ba..3dd263805973f633c82ed072626d01ca6c07b975 100644 (file)
@@ -1 +1 @@
-var _0xacd1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x6D\x65\x73\x73\x61\x67\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x6D\x65\x73\x73\x61\x67\x65\x73","\x67\x65\x74"];_0xacd1[0];var should=require(_0xacd1[1]);var app=require(_0xacd1[2]);var request=require(_0xacd1[3]);describe(_0xacd1[4],function(){it(_0xacd1[5],function(_0x1303x4){request(app)[_0xacd1[13]](_0xacd1[12])[_0xacd1[11]](200)[_0xacd1[11]](_0xacd1[10],/json/)[_0xacd1[9]](function(_0x1303x5,_0x1303x6){if(_0x1303x5){return _0x1303x4(_0x1303x5)};_0x1303x6[_0xacd1[8]][_0xacd1[1]][_0xacd1[7]][_0xacd1[6]](Array);_0x1303x4();})})});
\ No newline at end of file
+var _0x26a0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x6D\x65\x73\x73\x61\x67\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x6D\x65\x73\x73\x61\x67\x65\x73","\x67\x65\x74"];_0x26a0[0];var should=require(_0x26a0[1]);var app=require(_0x26a0[2]);var request=require(_0x26a0[3]);describe(_0x26a0[4],function(){it(_0x26a0[5],function(_0x976fx4){request(app)[_0x26a0[13]](_0x26a0[12])[_0x26a0[11]](200)[_0x26a0[11]](_0x26a0[10],/json/)[_0x26a0[9]](function(_0x976fx5,_0x976fx6){if(_0x976fx5){return _0x976fx4(_0x976fx5)};_0x976fx6[_0x26a0[8]][_0x26a0[1]][_0x26a0[7]][_0x26a0[6]](Array);_0x976fx4();})})});
\ No newline at end of file
index 62dcd8afc126b06f9f2211f5d65e8fa869f5196c..5dc50e7a1f8898fb15142f7cd5a83d0be7695f00 100644 (file)
@@ -1 +1 @@
-var _0x85ef=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x68\x61\x74\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x85ef[0];var express=require(_0x85ef[1]);var controller=require(_0x85ef[2]);var auth=require(_0x85ef[3]);var router=express.Router();router[_0x85ef[6]](_0x85ef[4],controller[_0x85ef[5]]);router[_0x85ef[6]](_0x85ef[7],controller[_0x85ef[8]]);router[_0x85ef[11]](_0x85ef[4],auth[_0x85ef[9]](),controller[_0x85ef[10]]);router[_0x85ef[13]](_0x85ef[7],controller[_0x85ef[12]]);router[_0x85ef[15]](_0x85ef[7],controller[_0x85ef[14]]);module[_0x85ef[16]]=router;
\ No newline at end of file
+var _0x2664=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x68\x61\x74\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x2664[0];var express=require(_0x2664[1]);var controller=require(_0x2664[2]);var auth=require(_0x2664[3]);var router=express.Router();router[_0x2664[6]](_0x2664[4],controller[_0x2664[5]]);router[_0x2664[6]](_0x2664[7],controller[_0x2664[8]]);router[_0x2664[11]](_0x2664[4],auth[_0x2664[9]](),controller[_0x2664[10]]);router[_0x2664[13]](_0x2664[7],controller[_0x2664[12]]);router[_0x2664[15]](_0x2664[7],controller[_0x2664[14]]);module[_0x2664[16]]=router;
\ No newline at end of file
index a009fab5937483e6066a79e43bc0383f80b3eee4..de2352171f76eabda6ebb61f2498ce7e2ed95ad6 100644 (file)
@@ -1 +1 @@
-var _0x837b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x69\x6E\x64\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x74\x69\x6D\x65\x6F\x75\x74","\x73\x74\x72\x61\x74\x65\x67\x79","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x6D\x65","\x69\x64","\x75\x73\x65\x72","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x61\x67\x65\x6E\x74\x73","\x61\x64\x64\x55\x73\x65\x72\x73","\x4E\x6F\x20\x6D\x61\x69\x6C\x20\x71\x75\x65\x75\x65\x20\x66\x6F\x75\x6E\x64","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x72\x65\x6D\x6F\x76\x65\x55\x73\x65\x72\x73","\x6E\x6F\x20\x6D\x61\x69\x6C\x20\x71\x75\x65\x75\x65\x20\x66\x6F\x75\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0x837b[0];var _=require(_0x837b[1]);var util=require(_0x837b[2]);var ChatQueue=require(_0x837b[4])[_0x837b[3]];var UserHasChatQueue=require(_0x837b[4])[_0x837b[5]];exports[_0x837b[6]]=function(_0x368dx5,_0x368dx6){var _0x368dx7=[_0x837b[7],_0x837b[8],_0x837b[9],_0x837b[10]];var _0x368dx8=_0x368dx5[_0x837b[12]][_0x837b[11]]?parseInt(_0x368dx5[_0x837b[12]][_0x837b[11]],10):100;var _0x368dx9=_0x368dx5[_0x837b[12]][_0x837b[13]]?parseInt(_0x368dx5[_0x837b[12]][_0x837b[13]],10):0;var _0x368dxa={where:{},limit:_0x368dx8,offset:_0x368dx9*_0x368dx8,include:[{all:true}]};_[_0x837b[27]](_0x368dx5[_0x837b[12]],function(_0x368dxb,_0x368dxc){switch(_0x368dxc){case _0x837b[11]:;case _0x837b[13]:break ;;case _0x837b[16]:_0x368dxa[_0x837b[14]]=util[_0x837b[19]](_0x837b[15],_0x368dx5[_0x837b[12]][_0x837b[16]],_0x368dx5[_0x837b[12]][_0x837b[17]]||_0x837b[18])||null;break ;;case _0x837b[17]:break ;;case _0x837b[25]:_0x368dxa[_0x837b[21]][_0x837b[20]]=[];_0x368dx7[_0x837b[24]](function(_0x368dxd){var _0x368dxe={};_0x368dxe[_0x368dxd]={$like:_0x837b[22]+_0x368dxb+_0x837b[22]};_0x368dxa[_0x837b[21]][_0x837b[20]][_0x837b[23]](_0x368dxe);});break ;;default:_0x368dxa[_0x837b[21]][_0x368dxc]={$like:{}};_0x368dxa[_0x837b[21]][_0x368dxc][_0x837b[26]]=_0x837b[22]+_0x368dxb+_0x837b[22];;}});ChatQueue[_0x837b[41]](_0x368dxa)[_0x837b[40]](function(_0x368dx10){var _0x368dx11=Math[_0x837b[30]](_0x368dx10[_0x837b[29]]/_0x368dx8);var _0x368dx12=_0x368dx11>(_0x368dxa[_0x837b[31]]+1)?util[_0x837b[19]](_0x837b[32],_0x368dx5[_0x837b[33]],_0x368dx5[_0x837b[35]][_0x837b[34]],_0x368dx5[_0x837b[36]],_0x368dx9+1):null;var _0x368dx13=_0x368dx9>0?util[_0x837b[19]](_0x837b[32],_0x368dx5[_0x837b[33]],_0x368dx5[_0x837b[35]][_0x837b[34]],_0x368dx5[_0x837b[36]],_0x368dx9-1):null;_0x368dx6[_0x837b[39]](200)[_0x837b[38]]({count:_0x368dx10[_0x837b[29]],rows:_0x368dx10[_0x837b[37]],next_page:_0x368dx12,previous_page:_0x368dx13,total_pages:_0x368dx11});})[_0x837b[28]](function(_0x368dxf){return handleError(_0x368dx6,_0x368dxf)});};exports[_0x837b[42]]=function(_0x368dx5,_0x368dx6,_0x368dx14){UserHasChatQueue[_0x837b[45]]({where:{UserId:_0x368dx5[_0x837b[44]][_0x837b[43]]}})[_0x837b[40]](function(_0x368dx15){return _0x368dx6[_0x837b[39]](200)[_0x837b[38]](_0x368dx15)})[_0x837b[28]](function(_0x368dxf){return handleError(_0x368dx6,_0x368dxf)})};exports[_0x837b[46]]=function(_0x368dx5,_0x368dx6){ChatQueue[_0x837b[49]](_0x368dx5[_0x837b[48]][_0x837b[43]])[_0x837b[40]](function(_0x368dx16){if(!_0x368dx16){return _0x368dx6[_0x837b[47]](404)};return _0x368dx6[_0x837b[38]](_0x368dx16);})[_0x837b[28]](function(_0x368dxf){return handleError(_0x368dx6,_0x368dxf)})};exports[_0x837b[50]]=function(_0x368dx5,_0x368dx6){ChatQueue[_0x837b[50]](_0x368dx5[_0x837b[51]])[_0x837b[40]](function(_0x368dx16){return _0x368dx6[_0x837b[39]](201)[_0x837b[38]](_0x368dx16)})[_0x837b[28]](function(_0x368dxf){return handleError(_0x368dx6,_0x368dxf)})};exports[_0x837b[52]]=function(_0x368dx5,_0x368dx6){if(_0x368dx5[_0x837b[51]][_0x837b[43]]){delete _0x368dx5[_0x837b[51]][_0x837b[43]]};ChatQueue[_0x837b[49]](_0x368dx5[_0x837b[48]][_0x837b[43]])[_0x837b[40]](function(_0x368dx16){if(!_0x368dx16){return _0x368dx6[_0x837b[47]](404)};var _0x368dx17=_[_0x837b[53]](_0x368dx16,_0x368dx5[_0x837b[51]]);_0x368dx17[_0x837b[54]]()[_0x837b[40]](function(){return _0x368dx6[_0x837b[39]](200)[_0x837b[38]](_0x368dx16)})[_0x837b[28]](function(_0x368dxf){return handleError(_0x368dx6,_0x368dxf)});})[_0x837b[28]](function(_0x368dxf){return handleError(_0x368dx6,_0x368dxf)});};exports[_0x837b[55]]=function(_0x368dx5,_0x368dx6,_0x368dx14){return ChatQueue[_0x837b[49]](_0x368dx5[_0x837b[48]][_0x837b[43]])[_0x837b[40]](function(_0x368dx18){if(_0x368dx18){return _0x368dx18[_0x837b[57]](_0x368dx5[_0x837b[51]][_0x837b[56]],{individualHooks:true})}else {throw  new Error(_0x837b[58])}})[_0x837b[40]](function(){return _0x368dx6[_0x837b[47]](200)})[_0x837b[28]](function(_0x368dxf){return _0x368dx14(_0x368dxf)})};exports[_0x837b[59]]=function(_0x368dx5,_0x368dx6,_0x368dx14){return ChatQueue[_0x837b[49]](_0x368dx5[_0x837b[48]][_0x837b[43]])[_0x837b[40]](function(_0x368dx18){if(_0x368dx18){return _0x368dx18[_0x837b[60]](_0x368dx5[_0x837b[51]][_0x837b[56]],{individualHooks:true})}else {throw  new Error(_0x837b[61])}})[_0x837b[40]](function(){return _0x368dx6[_0x837b[47]](200)})[_0x837b[28]](function(_0x368dxf){return _0x368dx14(_0x368dxf)})};exports[_0x837b[62]]=function(_0x368dx5,_0x368dx6){ChatQueue[_0x837b[49]](_0x368dx5[_0x837b[48]][_0x837b[43]])[_0x837b[40]](function(_0x368dx16){if(!_0x368dx16){return _0x368dx6[_0x837b[47]](404)};_0x368dx16[_0x837b[62]]()[_0x837b[40]](function(){return _0x368dx6[_0x837b[47]](204)})[_0x837b[28]](function(_0x368dxf){return handleError(_0x368dx6,_0x368dxf)});})[_0x837b[28]](function(_0x368dxf){return handleError(_0x368dx6,_0x368dxf)})};exports[_0x837b[63]]=function(_0x368dx5,_0x368dx6){ChatQueue[_0x837b[62]]({where:{id:_0x368dx5[_0x837b[12]][_0x837b[43]]},individualHooks:true})[_0x837b[40]](function(){return _0x368dx6[_0x837b[47]](204)})[_0x837b[28]](function(_0x368dxf){return handleError(_0x368dx6,_0x368dxf)})};function handleError(_0x368dx6,_0x368dxf){return _0x368dx6[_0x837b[39]](500)[_0x837b[38]](_0x368dxf)}
\ No newline at end of file
+var _0x1226=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x69\x6E\x64\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x74\x69\x6D\x65\x6F\x75\x74","\x73\x74\x72\x61\x74\x65\x67\x79","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x6D\x65","\x69\x64","\x75\x73\x65\x72","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x61\x67\x65\x6E\x74\x73","\x61\x64\x64\x55\x73\x65\x72\x73","\x4E\x6F\x20\x6D\x61\x69\x6C\x20\x71\x75\x65\x75\x65\x20\x66\x6F\x75\x6E\x64","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x72\x65\x6D\x6F\x76\x65\x55\x73\x65\x72\x73","\x6E\x6F\x20\x6D\x61\x69\x6C\x20\x71\x75\x65\x75\x65\x20\x66\x6F\x75\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0x1226[0];var _=require(_0x1226[1]);var util=require(_0x1226[2]);var ChatQueue=require(_0x1226[4])[_0x1226[3]];var UserHasChatQueue=require(_0x1226[4])[_0x1226[5]];exports[_0x1226[6]]=function(_0xa0dfx5,_0xa0dfx6){var _0xa0dfx7=[_0x1226[7],_0x1226[8],_0x1226[9],_0x1226[10]];var _0xa0dfx8=_0xa0dfx5[_0x1226[12]][_0x1226[11]]?parseInt(_0xa0dfx5[_0x1226[12]][_0x1226[11]],10):100;var _0xa0dfx9=_0xa0dfx5[_0x1226[12]][_0x1226[13]]?parseInt(_0xa0dfx5[_0x1226[12]][_0x1226[13]],10):0;var _0xa0dfxa={where:{},limit:_0xa0dfx8,offset:_0xa0dfx9*_0xa0dfx8,include:[{all:true}]};_[_0x1226[27]](_0xa0dfx5[_0x1226[12]],function(_0xa0dfxb,_0xa0dfxc){switch(_0xa0dfxc){case _0x1226[11]:;case _0x1226[13]:break ;;case _0x1226[16]:_0xa0dfxa[_0x1226[14]]=util[_0x1226[19]](_0x1226[15],_0xa0dfx5[_0x1226[12]][_0x1226[16]],_0xa0dfx5[_0x1226[12]][_0x1226[17]]||_0x1226[18])||null;break ;;case _0x1226[17]:break ;;case _0x1226[25]:_0xa0dfxa[_0x1226[21]][_0x1226[20]]=[];_0xa0dfx7[_0x1226[24]](function(_0xa0dfxd){var _0xa0dfxe={};_0xa0dfxe[_0xa0dfxd]={$like:_0x1226[22]+_0xa0dfxb+_0x1226[22]};_0xa0dfxa[_0x1226[21]][_0x1226[20]][_0x1226[23]](_0xa0dfxe);});break ;;default:_0xa0dfxa[_0x1226[21]][_0xa0dfxc]={$like:{}};_0xa0dfxa[_0x1226[21]][_0xa0dfxc][_0x1226[26]]=_0x1226[22]+_0xa0dfxb+_0x1226[22];;}});ChatQueue[_0x1226[41]](_0xa0dfxa)[_0x1226[40]](function(_0xa0dfx10){var _0xa0dfx11=Math[_0x1226[30]](_0xa0dfx10[_0x1226[29]]/_0xa0dfx8);var _0xa0dfx12=_0xa0dfx11>(_0xa0dfxa[_0x1226[31]]+1)?util[_0x1226[19]](_0x1226[32],_0xa0dfx5[_0x1226[33]],_0xa0dfx5[_0x1226[35]][_0x1226[34]],_0xa0dfx5[_0x1226[36]],_0xa0dfx9+1):null;var _0xa0dfx13=_0xa0dfx9>0?util[_0x1226[19]](_0x1226[32],_0xa0dfx5[_0x1226[33]],_0xa0dfx5[_0x1226[35]][_0x1226[34]],_0xa0dfx5[_0x1226[36]],_0xa0dfx9-1):null;_0xa0dfx6[_0x1226[39]](200)[_0x1226[38]]({count:_0xa0dfx10[_0x1226[29]],rows:_0xa0dfx10[_0x1226[37]],next_page:_0xa0dfx12,previous_page:_0xa0dfx13,total_pages:_0xa0dfx11});})[_0x1226[28]](function(_0xa0dfxf){return handleError(_0xa0dfx6,_0xa0dfxf)});};exports[_0x1226[42]]=function(_0xa0dfx5,_0xa0dfx6,_0xa0dfx14){UserHasChatQueue[_0x1226[45]]({where:{UserId:_0xa0dfx5[_0x1226[44]][_0x1226[43]]}})[_0x1226[40]](function(_0xa0dfx15){return _0xa0dfx6[_0x1226[39]](200)[_0x1226[38]](_0xa0dfx15)})[_0x1226[28]](function(_0xa0dfxf){return handleError(_0xa0dfx6,_0xa0dfxf)})};exports[_0x1226[46]]=function(_0xa0dfx5,_0xa0dfx6){ChatQueue[_0x1226[49]](_0xa0dfx5[_0x1226[48]][_0x1226[43]])[_0x1226[40]](function(_0xa0dfx16){if(!_0xa0dfx16){return _0xa0dfx6[_0x1226[47]](404)};return _0xa0dfx6[_0x1226[38]](_0xa0dfx16);})[_0x1226[28]](function(_0xa0dfxf){return handleError(_0xa0dfx6,_0xa0dfxf)})};exports[_0x1226[50]]=function(_0xa0dfx5,_0xa0dfx6){ChatQueue[_0x1226[50]](_0xa0dfx5[_0x1226[51]])[_0x1226[40]](function(_0xa0dfx16){return _0xa0dfx6[_0x1226[39]](201)[_0x1226[38]](_0xa0dfx16)})[_0x1226[28]](function(_0xa0dfxf){return handleError(_0xa0dfx6,_0xa0dfxf)})};exports[_0x1226[52]]=function(_0xa0dfx5,_0xa0dfx6){if(_0xa0dfx5[_0x1226[51]][_0x1226[43]]){delete _0xa0dfx5[_0x1226[51]][_0x1226[43]]};ChatQueue[_0x1226[49]](_0xa0dfx5[_0x1226[48]][_0x1226[43]])[_0x1226[40]](function(_0xa0dfx16){if(!_0xa0dfx16){return _0xa0dfx6[_0x1226[47]](404)};var _0xa0dfx17=_[_0x1226[53]](_0xa0dfx16,_0xa0dfx5[_0x1226[51]]);_0xa0dfx17[_0x1226[54]]()[_0x1226[40]](function(){return _0xa0dfx6[_0x1226[39]](200)[_0x1226[38]](_0xa0dfx16)})[_0x1226[28]](function(_0xa0dfxf){return handleError(_0xa0dfx6,_0xa0dfxf)});})[_0x1226[28]](function(_0xa0dfxf){return handleError(_0xa0dfx6,_0xa0dfxf)});};exports[_0x1226[55]]=function(_0xa0dfx5,_0xa0dfx6,_0xa0dfx14){return ChatQueue[_0x1226[49]](_0xa0dfx5[_0x1226[48]][_0x1226[43]])[_0x1226[40]](function(_0xa0dfx18){if(_0xa0dfx18){return _0xa0dfx18[_0x1226[57]](_0xa0dfx5[_0x1226[51]][_0x1226[56]],{individualHooks:true})}else {throw  new Error(_0x1226[58])}})[_0x1226[40]](function(){return _0xa0dfx6[_0x1226[47]](200)})[_0x1226[28]](function(_0xa0dfxf){return _0xa0dfx14(_0xa0dfxf)})};exports[_0x1226[59]]=function(_0xa0dfx5,_0xa0dfx6,_0xa0dfx14){return ChatQueue[_0x1226[49]](_0xa0dfx5[_0x1226[48]][_0x1226[43]])[_0x1226[40]](function(_0xa0dfx18){if(_0xa0dfx18){return _0xa0dfx18[_0x1226[60]](_0xa0dfx5[_0x1226[51]][_0x1226[56]],{individualHooks:true})}else {throw  new Error(_0x1226[61])}})[_0x1226[40]](function(){return _0xa0dfx6[_0x1226[47]](200)})[_0x1226[28]](function(_0xa0dfxf){return _0xa0dfx14(_0xa0dfxf)})};exports[_0x1226[62]]=function(_0xa0dfx5,_0xa0dfx6){ChatQueue[_0x1226[49]](_0xa0dfx5[_0x1226[48]][_0x1226[43]])[_0x1226[40]](function(_0xa0dfx16){if(!_0xa0dfx16){return _0xa0dfx6[_0x1226[47]](404)};_0xa0dfx16[_0x1226[62]]()[_0x1226[40]](function(){return _0xa0dfx6[_0x1226[47]](204)})[_0x1226[28]](function(_0xa0dfxf){return handleError(_0xa0dfx6,_0xa0dfxf)});})[_0x1226[28]](function(_0xa0dfxf){return handleError(_0xa0dfx6,_0xa0dfxf)})};exports[_0x1226[63]]=function(_0xa0dfx5,_0xa0dfx6){ChatQueue[_0x1226[62]]({where:{id:_0xa0dfx5[_0x1226[12]][_0x1226[43]]},individualHooks:true})[_0x1226[40]](function(){return _0xa0dfx6[_0x1226[47]](204)})[_0x1226[28]](function(_0xa0dfxf){return handleError(_0xa0dfx6,_0xa0dfxf)})};function handleError(_0xa0dfx6,_0xa0dfxf){return _0xa0dfx6[_0x1226[39]](500)[_0x1226[38]](_0xa0dfxf)}
\ No newline at end of file
index 46e0cc808726c7fa719dd36be1e690c3e98eb383..a1cb8188ec5f3d13af715aa73d947541140d81ab 100644 (file)
@@ -1 +1 @@
-var _0xc70d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0xc70d[0];var chatQueue=require(_0xc70d[2])[_0xc70d[1]];exports[_0xc70d[3]]=function(_0x33b7x2){chatQueue[_0xc70d[4]](function(_0x33b7x3){onSave(_0x33b7x2,_0x33b7x3)});chatQueue[_0xc70d[5]](function(_0x33b7x3){onRemove(_0x33b7x2,_0x33b7x3)});};function onSave(_0x33b7x2,_0x33b7x3,_0x33b7x5){_0x33b7x2[_0xc70d[7]](_0xc70d[6],_0x33b7x3)}function onRemove(_0x33b7x2,_0x33b7x3,_0x33b7x5){_0x33b7x2[_0xc70d[7]](_0xc70d[8],_0x33b7x3)}
\ No newline at end of file
+var _0x37f5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0x37f5[0];var chatQueue=require(_0x37f5[2])[_0x37f5[1]];exports[_0x37f5[3]]=function(_0x5b8cx2){chatQueue[_0x37f5[4]](function(_0x5b8cx3){onSave(_0x5b8cx2,_0x5b8cx3)});chatQueue[_0x37f5[5]](function(_0x5b8cx3){onRemove(_0x5b8cx2,_0x5b8cx3)});};function onSave(_0x5b8cx2,_0x5b8cx3,_0x5b8cx5){_0x5b8cx2[_0x37f5[7]](_0x37f5[6],_0x5b8cx3)}function onRemove(_0x5b8cx2,_0x5b8cx3,_0x5b8cx5){_0x5b8cx2[_0x37f5[7]](_0x37f5[8],_0x5b8cx3)}
\ No newline at end of file
index a7303396dcb9db9b8c6ae17aab8cc6601d4cc0e8..68900fadee877ce0f0d377c32bea47c34ec2ad9a 100644 (file)
@@ -1 +1 @@
-var _0xe6f5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x71\x75\x65\x75\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x71\x75\x65\x75\x65\x73","\x67\x65\x74"];_0xe6f5[0];var should=require(_0xe6f5[1]);var app=require(_0xe6f5[2]);var request=require(_0xe6f5[3]);describe(_0xe6f5[4],function(){it(_0xe6f5[5],function(_0x361bx4){request(app)[_0xe6f5[13]](_0xe6f5[12])[_0xe6f5[11]](200)[_0xe6f5[11]](_0xe6f5[10],/json/)[_0xe6f5[9]](function(_0x361bx5,_0x361bx6){if(_0x361bx5){return _0x361bx4(_0x361bx5)};_0x361bx6[_0xe6f5[8]][_0xe6f5[1]][_0xe6f5[7]][_0xe6f5[6]](Array);_0x361bx4();})})});
\ No newline at end of file
+var _0x9614=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x71\x75\x65\x75\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x71\x75\x65\x75\x65\x73","\x67\x65\x74"];_0x9614[0];var should=require(_0x9614[1]);var app=require(_0x9614[2]);var request=require(_0x9614[3]);describe(_0x9614[4],function(){it(_0x9614[5],function(_0xd52fx4){request(app)[_0x9614[13]](_0x9614[12])[_0x9614[11]](200)[_0x9614[11]](_0x9614[10],/json/)[_0x9614[9]](function(_0xd52fx5,_0xd52fx6){if(_0xd52fx5){return _0xd52fx4(_0xd52fx5)};_0xd52fx6[_0x9614[8]][_0x9614[1]][_0x9614[7]][_0x9614[6]](Array);_0xd52fx4();})})});
\ No newline at end of file
index 344c18db97c8741f80424ea1e77c74eae166bb09..96118fe33d9fa0ae0c391e93dac15ffa1d12d2f8 100644 (file)
@@ -1 +1 @@
-var _0xa129=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x6D\x65","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x6D\x65","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x3A\x69\x64\x2F\x61\x67\x65\x6E\x74\x73","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xa129[0];var express=require(_0xa129[1]);var controller=require(_0xa129[2]);var auth=require(_0xa129[3]);var router=express.Router();router[_0xa129[6]](_0xa129[4],controller[_0xa129[5]]);router[_0xa129[6]](_0xa129[7],auth[_0xa129[8]](),controller[_0xa129[9]]);router[_0xa129[6]](_0xa129[10],controller[_0xa129[11]]);router[_0xa129[13]](_0xa129[4],controller[_0xa129[12]]);router[_0xa129[13]](_0xa129[14],controller[_0xa129[15]]);router[_0xa129[17]](_0xa129[10],controller[_0xa129[16]]);router[_0xa129[17]](_0xa129[14],controller[_0xa129[18]]);router[_0xa129[19]](_0xa129[10],controller[_0xa129[16]]);router[_0xa129[21]](_0xa129[4],controller[_0xa129[20]]);router[_0xa129[21]](_0xa129[10],controller[_0xa129[22]]);module[_0xa129[23]]=router;
\ No newline at end of file
+var _0xbcf5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x6D\x65","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x6D\x65","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x3A\x69\x64\x2F\x61\x67\x65\x6E\x74\x73","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xbcf5[0];var express=require(_0xbcf5[1]);var controller=require(_0xbcf5[2]);var auth=require(_0xbcf5[3]);var router=express.Router();router[_0xbcf5[6]](_0xbcf5[4],controller[_0xbcf5[5]]);router[_0xbcf5[6]](_0xbcf5[7],auth[_0xbcf5[8]](),controller[_0xbcf5[9]]);router[_0xbcf5[6]](_0xbcf5[10],controller[_0xbcf5[11]]);router[_0xbcf5[13]](_0xbcf5[4],controller[_0xbcf5[12]]);router[_0xbcf5[13]](_0xbcf5[14],controller[_0xbcf5[15]]);router[_0xbcf5[17]](_0xbcf5[10],controller[_0xbcf5[16]]);router[_0xbcf5[17]](_0xbcf5[14],controller[_0xbcf5[18]]);router[_0xbcf5[19]](_0xbcf5[10],controller[_0xbcf5[16]]);router[_0xbcf5[21]](_0xbcf5[4],controller[_0xbcf5[20]]);router[_0xbcf5[21]](_0xbcf5[10],controller[_0xbcf5[22]]);module[_0xbcf5[23]]=router;
\ No newline at end of file
index ce7bb17d0fbb73adf3f34273aae6771a6987a67e..4df19b561642aeba0144148f786efceed3755f8b 100644 (file)
@@ -1 +1 @@
-var _0x91d3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x64\x35","\x6D\x6F\x6D\x65\x6E\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x43\x68\x61\x74\x4D\x65\x73\x73\x61\x67\x65","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x69\x64","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x72\x6F\x6C\x65","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x66\x69\x6E\x64\x41\x6C\x6C","\x6D\x65","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x67\x65\x74\x43\x68\x61\x74\x52\x6F\x6F\x6D\x73","\x75\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x73\x68\x6F\x77","\x70\x61\x72\x61\x6D\x73","\x67\x65\x74\x52\x6F\x6F\x6D\x42\x79\x55\x73\x65\x72\x73","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x6D\x65\x72\x67\x65","\x67\x65\x74\x55\x73\x65\x72\x73","\x75\x73\x65\x72\x73","\x71\x75\x65\x72\x79","\x73\x65\x74\x55\x73\x65\x72\x73","\x73\x70\x72\x65\x61\x64","\x62\x61\x73\x65\x36\x34","\x73\x6F\x72\x74","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x6F\x70\x65\x6E","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x67\x65\x74\x52\x6F\x6F\x6D\x42\x79\x54\x79\x70\x65","\x74\x79\x70\x65","\x67\x65\x74\x52\x6F\x6F\x6D\x47\x72\x6F\x75\x70\x73","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x62\x6F\x64\x79","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65\x55\x73\x65\x72\x73","\x64\x65\x73\x74\x72\x6F\x79"];_0x91d3[0];var _=require(_0x91d3[1]);var md5=require(_0x91d3[2]);var moment=require(_0x91d3[3]);var User=require(_0x91d3[5])[_0x91d3[4]];var ChatRoom=require(_0x91d3[5])[_0x91d3[6]];var ChatMessage=require(_0x91d3[5])[_0x91d3[7]];var ChatVisitor=require(_0x91d3[5])[_0x91d3[8]];var UserHasChatRoom=require(_0x91d3[5])[_0x91d3[9]];exports[_0x91d3[10]]=function(_0x689ex9,_0x689exa){return ChatRoom[_0x91d3[21]]({include:[{model:User,attributes:[_0x91d3[15],_0x91d3[16],_0x91d3[17],_0x91d3[18],_0x91d3[19],_0x91d3[20]]},{model:ChatMessage},{model:ChatVisitor}]})[_0x91d3[14]](function(_0x689exc){return _0x689exa[_0x91d3[13]](200)[_0x91d3[12]](_0x689exc)})[_0x91d3[11]](function(_0x689exb){return handleError(_0x689exa,_0x689exb)})};exports[_0x91d3[22]]=function(_0x689ex9,_0x689exa){return User[_0x91d3[26]](_0x689ex9[_0x91d3[25]][_0x91d3[15]])[_0x91d3[14]](function(_0x689exe){return _0x689exe[_0x91d3[24]]({include:[{model:ChatVisitor,attributes:[_0x91d3[15],_0x91d3[17],_0x91d3[18]]},{model:User,attributes:[_0x91d3[15],_0x91d3[16],_0x91d3[17],_0x91d3[18],_0x91d3[19],_0x91d3[20]]}]})})[_0x91d3[14]](function(_0x689exd){if(!_0x689exd){return _0x689exa[_0x91d3[23]](404)};return _0x689exa[_0x91d3[12]](_0x689exd);})[_0x91d3[11]](function(_0x689exb){return handleError(_0x689exa,_0x689exb)})};exports[_0x91d3[27]]=function(_0x689ex9,_0x689exa){return ChatRoom[_0x91d3[26]](_0x689ex9[_0x91d3[28]][_0x91d3[15]],{include:[{model:ChatMessage,include:[{model:ChatVisitor,attributes:[_0x91d3[15],_0x91d3[18],_0x91d3[17]]},{model:User,attributes:[_0x91d3[15],_0x91d3[18],_0x91d3[16],_0x91d3[17]]}]},{model:User,attributes:[_0x91d3[15],_0x91d3[18],_0x91d3[16],_0x91d3[17]]}]})[_0x91d3[14]](function(_0x689exf){if(!_0x689exf){return _0x689exa[_0x91d3[23]](404)};return _0x689exa[_0x91d3[12]](_0x689exf);})[_0x91d3[11]](function(_0x689exb){return handleError(_0x689exa,_0x689exb)})};exports[_0x91d3[29]]=function(_0x689ex9,_0x689exa,_0x689ex10){var _0x689ex11;return ChatRoom[_0x91d3[41]]({where:{token:md5(JSON[_0x91d3[39]](_0x689ex9[_0x91d3[34]][_0x91d3[33]][_0x91d3[38]]())).toString(_0x91d3[37])},defaults:{type:_0x91d3[20],token:md5(JSON[_0x91d3[39]](_0x689ex9[_0x91d3[34]][_0x91d3[33]][_0x91d3[38]]())).toString(_0x91d3[37]),status:_0x91d3[40]},include:[{model:ChatMessage,include:[{model:ChatVisitor,attributes:[_0x91d3[15],_0x91d3[18],_0x91d3[17]]},{model:User,attributes:[_0x91d3[15],_0x91d3[16],_0x91d3[17],_0x91d3[18],_0x91d3[19],_0x91d3[20]]}]},{model:User,attributes:[_0x91d3[15],_0x91d3[16],_0x91d3[17],_0x91d3[18],_0x91d3[19],_0x91d3[20]]}]})[_0x91d3[36]](function(_0x689exf,_0x689ex13){_0x689ex11=_0x689exf;if(_0x689ex13){return _0x689ex11[_0x91d3[35]](_0x689ex9[_0x91d3[34]][_0x91d3[33]])}else {return };})[_0x91d3[14]](function(){return _0x689ex11[_0x91d3[32]]()})[_0x91d3[14]](function(_0x689ex12){return _0x689exa[_0x91d3[13]](200)[_0x91d3[12]](_[_0x91d3[31]](_0x689ex11[_0x91d3[30]],{Users:_0x689ex12}))})[_0x91d3[11]](function(_0x689exb){return handleError(_0x689exa,_0x689exb)});};exports[_0x91d3[42]]=function(_0x689ex9,_0x689exa){User[_0x91d3[26]](_0x689ex9[_0x91d3[25]][_0x91d3[15]])[_0x91d3[14]](function(_0x689exe){_0x689exe[_0x91d3[24]]({where:{type:_0x689ex9[_0x91d3[28]][_0x91d3[43]]},include:[{model:ChatVisitor,attributes:[_0x91d3[15],_0x91d3[17],_0x91d3[18]]}]})[_0x91d3[14]](function(_0x689exd){if(!_0x689exd){return _0x689exa[_0x91d3[23]](404)};return _0x689exa[_0x91d3[12]](_0x689exd);})[_0x91d3[11]](function(_0x689exb){return handleError(_0x689exa,_0x689exb)})})[_0x91d3[11]](function(_0x689exb){return handleError(_0x689exa,_0x689exb)})};exports[_0x91d3[44]]=function(_0x689ex9,_0x689exa){User[_0x91d3[26]](_0x689ex9[_0x91d3[25]][_0x91d3[15]])[_0x91d3[14]](function(_0x689exe){_0x689exe[_0x91d3[24]]({include:[{model:ChatVisitor,attributes:[_0x91d3[15],_0x91d3[17],_0x91d3[18]]},{model:User,attributes:[_0x91d3[15],_0x91d3[16],_0x91d3[17],_0x91d3[18],_0x91d3[19],_0x91d3[20]]}]})[_0x91d3[14]](function(_0x689exd){if(!_0x689exd){return _0x689exa[_0x91d3[23]](404)};return _0x689exa[_0x91d3[12]](_0x689exd);})[_0x91d3[11]](function(_0x689exb){return handleError(_0x689exa,_0x689exb)})})[_0x91d3[11]](function(_0x689exb){return handleError(_0x689exa,_0x689exb)})};exports[_0x91d3[45]]=function(_0x689ex9,_0x689exa){};exports[_0x91d3[46]]=function(_0x689ex9,_0x689exa){if(_0x689ex9[_0x91d3[47]][_0x91d3[15]]){delete _0x689ex9[_0x91d3[47]][_0x91d3[15]]};ChatRoom[_0x91d3[26]](_0x689ex9[_0x91d3[28]][_0x91d3[15]])[_0x91d3[14]](function(_0x689exf){if(!_0x689exf){return _0x689exa[_0x91d3[23]](404)};var _0x689ex14=_[_0x91d3[31]](_0x689exf,_0x689ex9[_0x91d3[47]]);_0x689ex14[_0x91d3[48]]()[_0x91d3[14]](function(){return _0x689exa[_0x91d3[13]](200)[_0x91d3[12]](_0x689exf)})[_0x91d3[11]](function(_0x689exb){return handleError(_0x689exa,_0x689exb)});})[_0x91d3[11]](function(_0x689exb){return handleError(_0x689exa,_0x689exb)});};exports[_0x91d3[49]]=function(_0x689ex9,_0x689exa){var _0x689ex11;if(_0x689ex9[_0x91d3[47]][_0x91d3[15]]){delete _0x689ex9[_0x91d3[47]][_0x91d3[15]]};return ChatRoom[_0x91d3[26]](_0x689ex9[_0x91d3[28]][_0x91d3[15]])[_0x91d3[14]](function(_0x689exf){if(!_0x689exf||!_0x689ex9[_0x91d3[47]][_0x91d3[33]]){return _0x689exa[_0x91d3[23]](404)};return _0x689exf;})[_0x91d3[14]](function(_0x689exf){return _0x689exf[_0x91d3[46]]({token:md5(JSON[_0x91d3[39]](_0x689ex9[_0x91d3[47]][_0x91d3[33]][_0x91d3[38]]())).toString(_0x91d3[37])})})[_0x91d3[14]](function(_0x689exf){_0x689ex11=_0x689exf;return _0x689exf[_0x91d3[35]](_0x689ex9[_0x91d3[47]][_0x91d3[33]][_0x91d3[38]](),{individualHooks:true});})[_0x91d3[14]](function(){return _0x689ex11[_0x91d3[32]]()})[_0x91d3[14]](function(_0x689ex12){return _0x689exa[_0x91d3[13]](200)[_0x91d3[12]](_[_0x91d3[31]](_0x689ex11[_0x91d3[30]],{Users:_0x689ex12,ChatMessages:[]}))})[_0x91d3[11]](function(_0x689exb){return handleError(_0x689exa,_0x689exb)});};exports[_0x91d3[50]]=function(_0x689ex9,_0x689exa){ChatRoom[_0x91d3[26]](_0x689ex9[_0x91d3[28]][_0x91d3[15]])[_0x91d3[14]](function(_0x689exf){if(!_0x689exf){return _0x689exa[_0x91d3[23]](404)};_0x689exf[_0x91d3[50]]()[_0x91d3[14]](function(){return _0x689exa[_0x91d3[23]](204)})[_0x91d3[11]](function(_0x689exb){return handleError(_0x689exa,_0x689exb)});})[_0x91d3[11]](function(_0x689exb){return handleError(_0x689exa,_0x689exb)})};function handleError(_0x689exa,_0x689exb){return _0x689exa[_0x91d3[13]](500)[_0x91d3[12]](_0x689exb)}
\ No newline at end of file
+var _0xccc8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x64\x35","\x6D\x6F\x6D\x65\x6E\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x43\x68\x61\x74\x4D\x65\x73\x73\x61\x67\x65","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x69\x64","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x72\x6F\x6C\x65","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x66\x69\x6E\x64\x41\x6C\x6C","\x6D\x65","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x67\x65\x74\x43\x68\x61\x74\x52\x6F\x6F\x6D\x73","\x75\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x73\x68\x6F\x77","\x70\x61\x72\x61\x6D\x73","\x67\x65\x74\x52\x6F\x6F\x6D\x42\x79\x55\x73\x65\x72\x73","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x6D\x65\x72\x67\x65","\x67\x65\x74\x55\x73\x65\x72\x73","\x75\x73\x65\x72\x73","\x71\x75\x65\x72\x79","\x73\x65\x74\x55\x73\x65\x72\x73","\x73\x70\x72\x65\x61\x64","\x62\x61\x73\x65\x36\x34","\x73\x6F\x72\x74","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x6F\x70\x65\x6E","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x67\x65\x74\x52\x6F\x6F\x6D\x42\x79\x54\x79\x70\x65","\x74\x79\x70\x65","\x67\x65\x74\x52\x6F\x6F\x6D\x47\x72\x6F\x75\x70\x73","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x62\x6F\x64\x79","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65\x55\x73\x65\x72\x73","\x64\x65\x73\x74\x72\x6F\x79"];_0xccc8[0];var _=require(_0xccc8[1]);var md5=require(_0xccc8[2]);var moment=require(_0xccc8[3]);var User=require(_0xccc8[5])[_0xccc8[4]];var ChatRoom=require(_0xccc8[5])[_0xccc8[6]];var ChatMessage=require(_0xccc8[5])[_0xccc8[7]];var ChatVisitor=require(_0xccc8[5])[_0xccc8[8]];var UserHasChatRoom=require(_0xccc8[5])[_0xccc8[9]];exports[_0xccc8[10]]=function(_0x1a87x9,_0x1a87xa){return ChatRoom[_0xccc8[21]]({include:[{model:User,attributes:[_0xccc8[15],_0xccc8[16],_0xccc8[17],_0xccc8[18],_0xccc8[19],_0xccc8[20]]},{model:ChatMessage},{model:ChatVisitor}]})[_0xccc8[14]](function(_0x1a87xc){return _0x1a87xa[_0xccc8[13]](200)[_0xccc8[12]](_0x1a87xc)})[_0xccc8[11]](function(_0x1a87xb){return handleError(_0x1a87xa,_0x1a87xb)})};exports[_0xccc8[22]]=function(_0x1a87x9,_0x1a87xa){return User[_0xccc8[26]](_0x1a87x9[_0xccc8[25]][_0xccc8[15]])[_0xccc8[14]](function(_0x1a87xe){return _0x1a87xe[_0xccc8[24]]({include:[{model:ChatVisitor,attributes:[_0xccc8[15],_0xccc8[17],_0xccc8[18]]},{model:User,attributes:[_0xccc8[15],_0xccc8[16],_0xccc8[17],_0xccc8[18],_0xccc8[19],_0xccc8[20]]}]})})[_0xccc8[14]](function(_0x1a87xd){if(!_0x1a87xd){return _0x1a87xa[_0xccc8[23]](404)};return _0x1a87xa[_0xccc8[12]](_0x1a87xd);})[_0xccc8[11]](function(_0x1a87xb){return handleError(_0x1a87xa,_0x1a87xb)})};exports[_0xccc8[27]]=function(_0x1a87x9,_0x1a87xa){return ChatRoom[_0xccc8[26]](_0x1a87x9[_0xccc8[28]][_0xccc8[15]],{include:[{model:ChatMessage,include:[{model:ChatVisitor,attributes:[_0xccc8[15],_0xccc8[18],_0xccc8[17]]},{model:User,attributes:[_0xccc8[15],_0xccc8[18],_0xccc8[16],_0xccc8[17]]}]},{model:User,attributes:[_0xccc8[15],_0xccc8[18],_0xccc8[16],_0xccc8[17]]}]})[_0xccc8[14]](function(_0x1a87xf){if(!_0x1a87xf){return _0x1a87xa[_0xccc8[23]](404)};return _0x1a87xa[_0xccc8[12]](_0x1a87xf);})[_0xccc8[11]](function(_0x1a87xb){return handleError(_0x1a87xa,_0x1a87xb)})};exports[_0xccc8[29]]=function(_0x1a87x9,_0x1a87xa,_0x1a87x10){var _0x1a87x11;return ChatRoom[_0xccc8[41]]({where:{token:md5(JSON[_0xccc8[39]](_0x1a87x9[_0xccc8[34]][_0xccc8[33]][_0xccc8[38]]())).toString(_0xccc8[37])},defaults:{type:_0xccc8[20],token:md5(JSON[_0xccc8[39]](_0x1a87x9[_0xccc8[34]][_0xccc8[33]][_0xccc8[38]]())).toString(_0xccc8[37]),status:_0xccc8[40]},include:[{model:ChatMessage,include:[{model:ChatVisitor,attributes:[_0xccc8[15],_0xccc8[18],_0xccc8[17]]},{model:User,attributes:[_0xccc8[15],_0xccc8[16],_0xccc8[17],_0xccc8[18],_0xccc8[19],_0xccc8[20]]}]},{model:User,attributes:[_0xccc8[15],_0xccc8[16],_0xccc8[17],_0xccc8[18],_0xccc8[19],_0xccc8[20]]}]})[_0xccc8[36]](function(_0x1a87xf,_0x1a87x13){_0x1a87x11=_0x1a87xf;if(_0x1a87x13){return _0x1a87x11[_0xccc8[35]](_0x1a87x9[_0xccc8[34]][_0xccc8[33]])}else {return };})[_0xccc8[14]](function(){return _0x1a87x11[_0xccc8[32]]()})[_0xccc8[14]](function(_0x1a87x12){return _0x1a87xa[_0xccc8[13]](200)[_0xccc8[12]](_[_0xccc8[31]](_0x1a87x11[_0xccc8[30]],{Users:_0x1a87x12}))})[_0xccc8[11]](function(_0x1a87xb){return handleError(_0x1a87xa,_0x1a87xb)});};exports[_0xccc8[42]]=function(_0x1a87x9,_0x1a87xa){User[_0xccc8[26]](_0x1a87x9[_0xccc8[25]][_0xccc8[15]])[_0xccc8[14]](function(_0x1a87xe){_0x1a87xe[_0xccc8[24]]({where:{type:_0x1a87x9[_0xccc8[28]][_0xccc8[43]]},include:[{model:ChatVisitor,attributes:[_0xccc8[15],_0xccc8[17],_0xccc8[18]]}]})[_0xccc8[14]](function(_0x1a87xd){if(!_0x1a87xd){return _0x1a87xa[_0xccc8[23]](404)};return _0x1a87xa[_0xccc8[12]](_0x1a87xd);})[_0xccc8[11]](function(_0x1a87xb){return handleError(_0x1a87xa,_0x1a87xb)})})[_0xccc8[11]](function(_0x1a87xb){return handleError(_0x1a87xa,_0x1a87xb)})};exports[_0xccc8[44]]=function(_0x1a87x9,_0x1a87xa){User[_0xccc8[26]](_0x1a87x9[_0xccc8[25]][_0xccc8[15]])[_0xccc8[14]](function(_0x1a87xe){_0x1a87xe[_0xccc8[24]]({include:[{model:ChatVisitor,attributes:[_0xccc8[15],_0xccc8[17],_0xccc8[18]]},{model:User,attributes:[_0xccc8[15],_0xccc8[16],_0xccc8[17],_0xccc8[18],_0xccc8[19],_0xccc8[20]]}]})[_0xccc8[14]](function(_0x1a87xd){if(!_0x1a87xd){return _0x1a87xa[_0xccc8[23]](404)};return _0x1a87xa[_0xccc8[12]](_0x1a87xd);})[_0xccc8[11]](function(_0x1a87xb){return handleError(_0x1a87xa,_0x1a87xb)})})[_0xccc8[11]](function(_0x1a87xb){return handleError(_0x1a87xa,_0x1a87xb)})};exports[_0xccc8[45]]=function(_0x1a87x9,_0x1a87xa){};exports[_0xccc8[46]]=function(_0x1a87x9,_0x1a87xa){if(_0x1a87x9[_0xccc8[47]][_0xccc8[15]]){delete _0x1a87x9[_0xccc8[47]][_0xccc8[15]]};ChatRoom[_0xccc8[26]](_0x1a87x9[_0xccc8[28]][_0xccc8[15]])[_0xccc8[14]](function(_0x1a87xf){if(!_0x1a87xf){return _0x1a87xa[_0xccc8[23]](404)};var _0x1a87x14=_[_0xccc8[31]](_0x1a87xf,_0x1a87x9[_0xccc8[47]]);_0x1a87x14[_0xccc8[48]]()[_0xccc8[14]](function(){return _0x1a87xa[_0xccc8[13]](200)[_0xccc8[12]](_0x1a87xf)})[_0xccc8[11]](function(_0x1a87xb){return handleError(_0x1a87xa,_0x1a87xb)});})[_0xccc8[11]](function(_0x1a87xb){return handleError(_0x1a87xa,_0x1a87xb)});};exports[_0xccc8[49]]=function(_0x1a87x9,_0x1a87xa){var _0x1a87x11;if(_0x1a87x9[_0xccc8[47]][_0xccc8[15]]){delete _0x1a87x9[_0xccc8[47]][_0xccc8[15]]};return ChatRoom[_0xccc8[26]](_0x1a87x9[_0xccc8[28]][_0xccc8[15]])[_0xccc8[14]](function(_0x1a87xf){if(!_0x1a87xf||!_0x1a87x9[_0xccc8[47]][_0xccc8[33]]){return _0x1a87xa[_0xccc8[23]](404)};return _0x1a87xf;})[_0xccc8[14]](function(_0x1a87xf){return _0x1a87xf[_0xccc8[46]]({token:md5(JSON[_0xccc8[39]](_0x1a87x9[_0xccc8[47]][_0xccc8[33]][_0xccc8[38]]())).toString(_0xccc8[37])})})[_0xccc8[14]](function(_0x1a87xf){_0x1a87x11=_0x1a87xf;return _0x1a87xf[_0xccc8[35]](_0x1a87x9[_0xccc8[47]][_0xccc8[33]][_0xccc8[38]](),{individualHooks:true});})[_0xccc8[14]](function(){return _0x1a87x11[_0xccc8[32]]()})[_0xccc8[14]](function(_0x1a87x12){return _0x1a87xa[_0xccc8[13]](200)[_0xccc8[12]](_[_0xccc8[31]](_0x1a87x11[_0xccc8[30]],{Users:_0x1a87x12,ChatMessages:[]}))})[_0xccc8[11]](function(_0x1a87xb){return handleError(_0x1a87xa,_0x1a87xb)});};exports[_0xccc8[50]]=function(_0x1a87x9,_0x1a87xa){ChatRoom[_0xccc8[26]](_0x1a87x9[_0xccc8[28]][_0xccc8[15]])[_0xccc8[14]](function(_0x1a87xf){if(!_0x1a87xf){return _0x1a87xa[_0xccc8[23]](404)};_0x1a87xf[_0xccc8[50]]()[_0xccc8[14]](function(){return _0x1a87xa[_0xccc8[23]](204)})[_0xccc8[11]](function(_0x1a87xb){return handleError(_0x1a87xa,_0x1a87xb)});})[_0xccc8[11]](function(_0x1a87xb){return handleError(_0x1a87xa,_0x1a87xb)})};function handleError(_0x1a87xa,_0x1a87xb){return _0x1a87xa[_0xccc8[13]](500)[_0xccc8[12]](_0x1a87xb)}
\ No newline at end of file
index 976b0b116776f9864f9bfc3db765bca5fb7bad45..717c58e39cd8bbe1ef5c305ec2ed86a9a5e54957 100644 (file)
@@ -1 +1 @@
-var _0x6888=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x43\x68\x61\x74\x4D\x65\x73\x73\x61\x67\x65","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x3A\x72\x65\x6D\x6F\x76\x65"];_0x6888[0];var User=require(_0x6888[2])[_0x6888[1]];var ChatRoom=require(_0x6888[2])[_0x6888[3]];var ChatMessage=require(_0x6888[2])[_0x6888[4]];var ChatVisitor=require(_0x6888[2])[_0x6888[5]];exports[_0x6888[6]]=function(_0x6ff7x5){ChatRoom[_0x6888[7]](function(_0x6ff7x6){onSave(_0x6ff7x5,_0x6ff7x6)});ChatRoom[_0x6888[8]](function(_0x6ff7x6){onSave(_0x6ff7x5,_0x6ff7x6)});ChatRoom[_0x6888[9]](function(_0x6ff7x6){onRemove(_0x6ff7x5,_0x6ff7x6)});};function onSave(_0x6ff7x5,_0x6ff7x6,_0x6ff7x8){_0x6ff7x5[_0x6888[11]](_0x6888[10],_0x6ff7x6)}function onRemove(_0x6ff7x5,_0x6ff7x6,_0x6ff7x8){_0x6ff7x5[_0x6888[11]](_0x6888[12],_0x6ff7x6)}
\ No newline at end of file
+var _0x41e7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x43\x68\x61\x74\x4D\x65\x73\x73\x61\x67\x65","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x3A\x72\x65\x6D\x6F\x76\x65"];_0x41e7[0];var User=require(_0x41e7[2])[_0x41e7[1]];var ChatRoom=require(_0x41e7[2])[_0x41e7[3]];var ChatMessage=require(_0x41e7[2])[_0x41e7[4]];var ChatVisitor=require(_0x41e7[2])[_0x41e7[5]];exports[_0x41e7[6]]=function(_0x345dx5){ChatRoom[_0x41e7[7]](function(_0x345dx6){onSave(_0x345dx5,_0x345dx6)});ChatRoom[_0x41e7[8]](function(_0x345dx6){onSave(_0x345dx5,_0x345dx6)});ChatRoom[_0x41e7[9]](function(_0x345dx6){onRemove(_0x345dx5,_0x345dx6)});};function onSave(_0x345dx5,_0x345dx6,_0x345dx8){_0x345dx5[_0x41e7[11]](_0x41e7[10],_0x345dx6)}function onRemove(_0x345dx5,_0x345dx6,_0x345dx8){_0x345dx5[_0x41e7[11]](_0x41e7[12],_0x345dx6)}
\ No newline at end of file
index c9b99b382b2ae077ab83dae61e566839d1cb36e5..d098b094e677e42d870ebe73928cf432ddc8a5a5 100644 (file)
@@ -1 +1 @@
-var _0x1c5d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x72\x6F\x6F\x6D\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x72\x6F\x6F\x6D\x73","\x67\x65\x74"];_0x1c5d[0];var should=require(_0x1c5d[1]);var app=require(_0x1c5d[2]);var request=require(_0x1c5d[3]);describe(_0x1c5d[4],function(){it(_0x1c5d[5],function(_0x9f91x4){request(app)[_0x1c5d[13]](_0x1c5d[12])[_0x1c5d[11]](200)[_0x1c5d[11]](_0x1c5d[10],/json/)[_0x1c5d[9]](function(_0x9f91x5,_0x9f91x6){if(_0x9f91x5){return _0x9f91x4(_0x9f91x5)};_0x9f91x6[_0x1c5d[8]][_0x1c5d[1]][_0x1c5d[7]][_0x1c5d[6]](Array);_0x9f91x4();})})});
\ No newline at end of file
+var _0x27a8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x72\x6F\x6F\x6D\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x72\x6F\x6F\x6D\x73","\x67\x65\x74"];_0x27a8[0];var should=require(_0x27a8[1]);var app=require(_0x27a8[2]);var request=require(_0x27a8[3]);describe(_0x27a8[4],function(){it(_0x27a8[5],function(_0xc11bx4){request(app)[_0x27a8[13]](_0x27a8[12])[_0x27a8[11]](200)[_0x27a8[11]](_0x27a8[10],/json/)[_0x27a8[9]](function(_0xc11bx5,_0xc11bx6){if(_0xc11bx5){return _0xc11bx4(_0xc11bx5)};_0xc11bx6[_0x27a8[8]][_0x27a8[1]][_0x27a8[7]][_0x27a8[6]](Array);_0xc11bx4();})})});
\ No newline at end of file
index 020b7631d4ed7a831c9295ac32098a0702a897e6..da7f45eac1409e7fe1fc2173f98cfc9c039d5921 100644 (file)
@@ -1 +1 @@
-var _0x43cd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x43\x68\x61\x74","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x6D\x65","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x6D\x65","\x2F\x75\x73\x65\x72\x73","\x67\x65\x74\x52\x6F\x6F\x6D\x42\x79\x55\x73\x65\x72\x73","\x2F\x67\x72\x6F\x75\x70\x73","\x67\x65\x74\x52\x6F\x6F\x6D\x47\x72\x6F\x75\x70\x73","\x2F\x74\x79\x70\x65\x2F\x3A\x74\x79\x70\x65","\x67\x65\x74\x52\x6F\x6F\x6D\x42\x79\x54\x79\x70\x65","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x2F\x3A\x69\x64\x2F\x75\x73\x65\x72\x73","\x75\x70\x64\x61\x74\x65\x55\x73\x65\x72\x73","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x43cd[0];var express=require(_0x43cd[1]);var controller=require(_0x43cd[2]);var auth=require(_0x43cd[3]);var license=require(_0x43cd[4]);var router=express.Router();router[_0x43cd[9]](_0x43cd[5],license[_0x43cd[6]](),license[_0x43cd[7]](),controller[_0x43cd[8]]);router[_0x43cd[9]](_0x43cd[10],license[_0x43cd[6]](),license[_0x43cd[7]](),auth[_0x43cd[11]](),controller[_0x43cd[12]]);router[_0x43cd[9]](_0x43cd[13],license[_0x43cd[6]](),license[_0x43cd[7]](),auth[_0x43cd[11]](),controller[_0x43cd[14]]);router[_0x43cd[9]](_0x43cd[15],license[_0x43cd[6]](),license[_0x43cd[7]](),auth[_0x43cd[11]](),controller[_0x43cd[16]]);router[_0x43cd[9]](_0x43cd[17],license[_0x43cd[6]](),license[_0x43cd[7]](),auth[_0x43cd[11]](),controller[_0x43cd[18]]);router[_0x43cd[9]](_0x43cd[19],license[_0x43cd[6]](),license[_0x43cd[7]](),controller[_0x43cd[20]]);router[_0x43cd[22]](_0x43cd[5],license[_0x43cd[6]](),license[_0x43cd[7]](),auth[_0x43cd[11]](),controller[_0x43cd[21]]);router[_0x43cd[24]](_0x43cd[19],license[_0x43cd[6]](),license[_0x43cd[7]](),controller[_0x43cd[23]]);router[_0x43cd[24]](_0x43cd[25],license[_0x43cd[6]](),license[_0x43cd[7]](),controller[_0x43cd[26]]);router[_0x43cd[27]](_0x43cd[19],license[_0x43cd[6]](),license[_0x43cd[7]](),controller[_0x43cd[23]]);router[_0x43cd[29]](_0x43cd[19],license[_0x43cd[6]](),license[_0x43cd[7]](),controller[_0x43cd[28]]);module[_0x43cd[30]]=router;
\ No newline at end of file
+var _0xd9df=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x43\x68\x61\x74","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x6D\x65","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x6D\x65","\x2F\x75\x73\x65\x72\x73","\x67\x65\x74\x52\x6F\x6F\x6D\x42\x79\x55\x73\x65\x72\x73","\x2F\x67\x72\x6F\x75\x70\x73","\x67\x65\x74\x52\x6F\x6F\x6D\x47\x72\x6F\x75\x70\x73","\x2F\x74\x79\x70\x65\x2F\x3A\x74\x79\x70\x65","\x67\x65\x74\x52\x6F\x6F\x6D\x42\x79\x54\x79\x70\x65","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x2F\x3A\x69\x64\x2F\x75\x73\x65\x72\x73","\x75\x70\x64\x61\x74\x65\x55\x73\x65\x72\x73","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xd9df[0];var express=require(_0xd9df[1]);var controller=require(_0xd9df[2]);var auth=require(_0xd9df[3]);var license=require(_0xd9df[4]);var router=express.Router();router[_0xd9df[9]](_0xd9df[5],license[_0xd9df[6]](),license[_0xd9df[7]](),controller[_0xd9df[8]]);router[_0xd9df[9]](_0xd9df[10],license[_0xd9df[6]](),license[_0xd9df[7]](),auth[_0xd9df[11]](),controller[_0xd9df[12]]);router[_0xd9df[9]](_0xd9df[13],license[_0xd9df[6]](),license[_0xd9df[7]](),auth[_0xd9df[11]](),controller[_0xd9df[14]]);router[_0xd9df[9]](_0xd9df[15],license[_0xd9df[6]](),license[_0xd9df[7]](),auth[_0xd9df[11]](),controller[_0xd9df[16]]);router[_0xd9df[9]](_0xd9df[17],license[_0xd9df[6]](),license[_0xd9df[7]](),auth[_0xd9df[11]](),controller[_0xd9df[18]]);router[_0xd9df[9]](_0xd9df[19],license[_0xd9df[6]](),license[_0xd9df[7]](),controller[_0xd9df[20]]);router[_0xd9df[22]](_0xd9df[5],license[_0xd9df[6]](),license[_0xd9df[7]](),auth[_0xd9df[11]](),controller[_0xd9df[21]]);router[_0xd9df[24]](_0xd9df[19],license[_0xd9df[6]](),license[_0xd9df[7]](),controller[_0xd9df[23]]);router[_0xd9df[24]](_0xd9df[25],license[_0xd9df[6]](),license[_0xd9df[7]](),controller[_0xd9df[26]]);router[_0xd9df[27]](_0xd9df[19],license[_0xd9df[6]](),license[_0xd9df[7]](),controller[_0xd9df[23]]);router[_0xd9df[29]](_0xd9df[19],license[_0xd9df[6]](),license[_0xd9df[7]](),controller[_0xd9df[28]]);module[_0xd9df[30]]=router;
\ No newline at end of file
index 949c4c56fdf78a554df5dfb1b98bbd964579caae..f2bc29657dae73bc35a9a564d923a03d31036c66 100644 (file)
@@ -1 +1 @@
-var _0x9e4f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x9e4f[0];var _=require(_0x9e4f[1]);var ChatVisitor=require(_0x9e4f[3])[_0x9e4f[2]];exports[_0x9e4f[4]]=function(_0x6fe8x3,_0x6fe8x4){ChatVisitor[_0x9e4f[9]]()[_0x9e4f[8]](function(_0x6fe8x6){return _0x6fe8x4[_0x9e4f[7]](200)[_0x9e4f[6]](_0x6fe8x6)})[_0x9e4f[5]](function(_0x6fe8x5){return handleError(_0x6fe8x4,_0x6fe8x5)})};exports[_0x9e4f[10]]=function(_0x6fe8x3,_0x6fe8x4){ChatVisitor[_0x9e4f[14]](_0x6fe8x3[_0x9e4f[13]][_0x9e4f[12]])[_0x9e4f[8]](function(_0x6fe8x7){if(!_0x6fe8x7){return _0x6fe8x4[_0x9e4f[11]](404)};return _0x6fe8x4[_0x9e4f[6]](_0x6fe8x7);})[_0x9e4f[5]](function(_0x6fe8x5){return handleError(_0x6fe8x4,_0x6fe8x5)})};exports[_0x9e4f[15]]=function(_0x6fe8x3,_0x6fe8x4){ChatVisitor[_0x9e4f[15]](_0x6fe8x3[_0x9e4f[16]])[_0x9e4f[8]](function(_0x6fe8x7){return _0x6fe8x4[_0x9e4f[7]](201)[_0x9e4f[6]](_0x6fe8x7)})[_0x9e4f[5]](function(_0x6fe8x5){return handleError(_0x6fe8x4,_0x6fe8x5)})};exports[_0x9e4f[17]]=function(_0x6fe8x3,_0x6fe8x4){if(_0x6fe8x3[_0x9e4f[16]][_0x9e4f[12]]){delete _0x6fe8x3[_0x9e4f[16]][_0x9e4f[12]]};ChatVisitor[_0x9e4f[14]](_0x6fe8x3[_0x9e4f[13]][_0x9e4f[12]])[_0x9e4f[8]](function(_0x6fe8x7){if(!_0x6fe8x7){return _0x6fe8x4[_0x9e4f[11]](404)};var _0x6fe8x8=_[_0x9e4f[18]](_0x6fe8x7,_0x6fe8x3[_0x9e4f[16]]);_0x6fe8x8[_0x9e4f[19]]()[_0x9e4f[8]](function(){return _0x6fe8x4[_0x9e4f[7]](200)[_0x9e4f[6]](_0x6fe8x7)})[_0x9e4f[5]](function(_0x6fe8x5){return handleError(_0x6fe8x4,_0x6fe8x5)});})[_0x9e4f[5]](function(_0x6fe8x5){return handleError(_0x6fe8x4,_0x6fe8x5)});};exports[_0x9e4f[20]]=function(_0x6fe8x3,_0x6fe8x4){ChatVisitor[_0x9e4f[14]](_0x6fe8x3[_0x9e4f[13]][_0x9e4f[12]])[_0x9e4f[8]](function(_0x6fe8x7){if(!_0x6fe8x7){return _0x6fe8x4[_0x9e4f[11]](404)};_0x6fe8x7[_0x9e4f[20]]()[_0x9e4f[8]](function(){return _0x6fe8x4[_0x9e4f[11]](204)})[_0x9e4f[5]](function(_0x6fe8x5){return handleError(_0x6fe8x4,_0x6fe8x5)});})[_0x9e4f[5]](function(_0x6fe8x5){return handleError(_0x6fe8x4,_0x6fe8x5)})};function handleError(_0x6fe8x4,_0x6fe8x5){return _0x6fe8x4[_0x9e4f[7]](500)[_0x9e4f[6]](_0x6fe8x5)}
\ No newline at end of file
+var _0x2c6e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x2c6e[0];var _=require(_0x2c6e[1]);var ChatVisitor=require(_0x2c6e[3])[_0x2c6e[2]];exports[_0x2c6e[4]]=function(_0x963cx3,_0x963cx4){ChatVisitor[_0x2c6e[9]]()[_0x2c6e[8]](function(_0x963cx6){return _0x963cx4[_0x2c6e[7]](200)[_0x2c6e[6]](_0x963cx6)})[_0x2c6e[5]](function(_0x963cx5){return handleError(_0x963cx4,_0x963cx5)})};exports[_0x2c6e[10]]=function(_0x963cx3,_0x963cx4){ChatVisitor[_0x2c6e[14]](_0x963cx3[_0x2c6e[13]][_0x2c6e[12]])[_0x2c6e[8]](function(_0x963cx7){if(!_0x963cx7){return _0x963cx4[_0x2c6e[11]](404)};return _0x963cx4[_0x2c6e[6]](_0x963cx7);})[_0x2c6e[5]](function(_0x963cx5){return handleError(_0x963cx4,_0x963cx5)})};exports[_0x2c6e[15]]=function(_0x963cx3,_0x963cx4){ChatVisitor[_0x2c6e[15]](_0x963cx3[_0x2c6e[16]])[_0x2c6e[8]](function(_0x963cx7){return _0x963cx4[_0x2c6e[7]](201)[_0x2c6e[6]](_0x963cx7)})[_0x2c6e[5]](function(_0x963cx5){return handleError(_0x963cx4,_0x963cx5)})};exports[_0x2c6e[17]]=function(_0x963cx3,_0x963cx4){if(_0x963cx3[_0x2c6e[16]][_0x2c6e[12]]){delete _0x963cx3[_0x2c6e[16]][_0x2c6e[12]]};ChatVisitor[_0x2c6e[14]](_0x963cx3[_0x2c6e[13]][_0x2c6e[12]])[_0x2c6e[8]](function(_0x963cx7){if(!_0x963cx7){return _0x963cx4[_0x2c6e[11]](404)};var _0x963cx8=_[_0x2c6e[18]](_0x963cx7,_0x963cx3[_0x2c6e[16]]);_0x963cx8[_0x2c6e[19]]()[_0x2c6e[8]](function(){return _0x963cx4[_0x2c6e[7]](200)[_0x2c6e[6]](_0x963cx7)})[_0x2c6e[5]](function(_0x963cx5){return handleError(_0x963cx4,_0x963cx5)});})[_0x2c6e[5]](function(_0x963cx5){return handleError(_0x963cx4,_0x963cx5)});};exports[_0x2c6e[20]]=function(_0x963cx3,_0x963cx4){ChatVisitor[_0x2c6e[14]](_0x963cx3[_0x2c6e[13]][_0x2c6e[12]])[_0x2c6e[8]](function(_0x963cx7){if(!_0x963cx7){return _0x963cx4[_0x2c6e[11]](404)};_0x963cx7[_0x2c6e[20]]()[_0x2c6e[8]](function(){return _0x963cx4[_0x2c6e[11]](204)})[_0x2c6e[5]](function(_0x963cx5){return handleError(_0x963cx4,_0x963cx5)});})[_0x2c6e[5]](function(_0x963cx5){return handleError(_0x963cx4,_0x963cx5)})};function handleError(_0x963cx4,_0x963cx5){return _0x963cx4[_0x2c6e[7]](500)[_0x2c6e[6]](_0x963cx5)}
\ No newline at end of file
index 31e261995f61f2c9b51f6542a0ac5f63087d91f3..b998376e86db50489316f7fb3694786a50f54dc0 100644 (file)
@@ -1 +1 @@
-var _0x57f5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x63\x68\x61\x74\x5F\x76\x69\x73\x69\x74\x6F\x72\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x63\x68\x61\x74\x5F\x76\x69\x73\x69\x74\x6F\x72\x3A\x72\x65\x6D\x6F\x76\x65"];_0x57f5[0];var chat_visitor=require(_0x57f5[2])[_0x57f5[1]];exports[_0x57f5[3]]=function(_0xc5dbx2){chat_visitor[_0x57f5[4]](function(_0xc5dbx3){onSave(_0xc5dbx2,_0xc5dbx3)});chat_visitor[_0x57f5[5]](function(_0xc5dbx3){onSave(_0xc5dbx2,_0xc5dbx3)});chat_visitor[_0x57f5[6]](function(_0xc5dbx3){onRemove(_0xc5dbx2,_0xc5dbx3)});};function onSave(_0xc5dbx2,_0xc5dbx3,_0xc5dbx5){_0xc5dbx2[_0x57f5[8]](_0x57f5[7],_0xc5dbx3)}function onRemove(_0xc5dbx2,_0xc5dbx3,_0xc5dbx5){_0xc5dbx2[_0x57f5[8]](_0x57f5[9],_0xc5dbx3)}
\ No newline at end of file
+var _0xac3b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x63\x68\x61\x74\x5F\x76\x69\x73\x69\x74\x6F\x72\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x63\x68\x61\x74\x5F\x76\x69\x73\x69\x74\x6F\x72\x3A\x72\x65\x6D\x6F\x76\x65"];_0xac3b[0];var chat_visitor=require(_0xac3b[2])[_0xac3b[1]];exports[_0xac3b[3]]=function(_0xe663x2){chat_visitor[_0xac3b[4]](function(_0xe663x3){onSave(_0xe663x2,_0xe663x3)});chat_visitor[_0xac3b[5]](function(_0xe663x3){onSave(_0xe663x2,_0xe663x3)});chat_visitor[_0xac3b[6]](function(_0xe663x3){onRemove(_0xe663x2,_0xe663x3)});};function onSave(_0xe663x2,_0xe663x3,_0xe663x5){_0xe663x2[_0xac3b[8]](_0xac3b[7],_0xe663x3)}function onRemove(_0xe663x2,_0xe663x3,_0xe663x5){_0xe663x2[_0xac3b[8]](_0xac3b[9],_0xe663x3)}
\ No newline at end of file
index 51751a09db1fb2792643f99036d7b29ac62b1e3e..8c237c91dc10a93cb8ab1b7cefd94621e21bd61c 100644 (file)
@@ -1 +1 @@
-var _0xde70=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x76\x69\x73\x69\x74\x6F\x72\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x76\x69\x73\x69\x74\x6F\x72\x73","\x67\x65\x74"];_0xde70[0];var should=require(_0xde70[1]);var app=require(_0xde70[2]);var request=require(_0xde70[3]);describe(_0xde70[4],function(){it(_0xde70[5],function(_0xf06ax4){request(app)[_0xde70[13]](_0xde70[12])[_0xde70[11]](200)[_0xde70[11]](_0xde70[10],/json/)[_0xde70[9]](function(_0xf06ax5,_0xf06ax6){if(_0xf06ax5){return _0xf06ax4(_0xf06ax5)};_0xf06ax6[_0xde70[8]][_0xde70[1]][_0xde70[7]][_0xde70[6]](Array);_0xf06ax4();})})});
\ No newline at end of file
+var _0x7c46=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x76\x69\x73\x69\x74\x6F\x72\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x76\x69\x73\x69\x74\x6F\x72\x73","\x67\x65\x74"];_0x7c46[0];var should=require(_0x7c46[1]);var app=require(_0x7c46[2]);var request=require(_0x7c46[3]);describe(_0x7c46[4],function(){it(_0x7c46[5],function(_0x5a11x4){request(app)[_0x7c46[13]](_0x7c46[12])[_0x7c46[11]](200)[_0x7c46[11]](_0x7c46[10],/json/)[_0x7c46[9]](function(_0x5a11x5,_0x5a11x6){if(_0x5a11x5){return _0x5a11x4(_0x5a11x5)};_0x5a11x6[_0x7c46[8]][_0x7c46[1]][_0x7c46[7]][_0x7c46[6]](Array);_0x5a11x4();})})});
\ No newline at end of file
index 70773252e329db4b349f458ba22503b189faa2d8..bf17812d545f5a26a6b908600102acaabe8f432b 100644 (file)
@@ -1 +1 @@
-var _0x8769=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x68\x61\x74\x5F\x76\x69\x73\x69\x74\x6F\x72\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x8769[0];var express=require(_0x8769[1]);var controller=require(_0x8769[2]);var router=express.Router();router[_0x8769[5]](_0x8769[3],controller[_0x8769[4]]);router[_0x8769[5]](_0x8769[6],controller[_0x8769[7]]);router[_0x8769[9]](_0x8769[3],controller[_0x8769[8]]);router[_0x8769[11]](_0x8769[6],controller[_0x8769[10]]);router[_0x8769[12]](_0x8769[6],controller[_0x8769[10]]);router[_0x8769[14]](_0x8769[6],controller[_0x8769[13]]);module[_0x8769[15]]=router;
\ No newline at end of file
+var _0x944b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x68\x61\x74\x5F\x76\x69\x73\x69\x74\x6F\x72\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x944b[0];var express=require(_0x944b[1]);var controller=require(_0x944b[2]);var router=express.Router();router[_0x944b[5]](_0x944b[3],controller[_0x944b[4]]);router[_0x944b[5]](_0x944b[6],controller[_0x944b[7]]);router[_0x944b[9]](_0x944b[3],controller[_0x944b[8]]);router[_0x944b[11]](_0x944b[6],controller[_0x944b[10]]);router[_0x944b[12]](_0x944b[6],controller[_0x944b[10]]);router[_0x944b[14]](_0x944b[6],controller[_0x944b[13]]);module[_0x944b[15]]=router;
\ No newline at end of file
index 17600e4322e263927be54ffa8d2692ee46426281..ee9b3305743c6dc3ea7e456e80d79f1b046e9a5a 100644 (file)
@@ -1 +1 @@
-var _0x4682=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x61\x73\x79\x6E\x63","\x6D\x75\x73\x74\x61\x63\x68\x65","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x73\x6E\x69\x70\x70\x65\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6D\x70\x6F\x6E\x65\x6E\x74\x73\x2F\x78\x63\x68\x61\x74\x74\x79","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x61\x64\x64\x72\x65\x73\x73","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x72\x65\x6D\x6F\x74\x65","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x67\x65\x74\x53\x6E\x69\x70\x70\x65\x74\x43\x6F\x64\x65","\x72\x65\x6E\x64\x65\x72","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x66\x69\x6E\x64","\x73\x6F\x72\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x6C\x65\x6E\x67\x74\x68","\x70\x72\x69\x6F\x72\x69\x74\x79","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x77\x61\x74\x65\x72\x66\x61\x6C\x6C","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0x4682[0];var _=require(_0x4682[1]);var util=require(_0x4682[2]);var async=require(_0x4682[3]);var Mustache=require(_0x4682[4]);var sequelize=require(_0x4682[6])[_0x4682[5]];var ChatWebsite=require(_0x4682[6])[_0x4682[7]];var ChatApplication=require(_0x4682[6])[_0x4682[8]];var snippet=require(_0x4682[10])[_0x4682[9]];exports[_0x4682[11]]=function(_0xd1e0x9,_0xd1e0xa,_0xd1e0xb){var _0xd1e0xc=[_0x4682[12],_0x4682[13],_0x4682[14],_0x4682[15]];var _0xd1e0xd=_0xd1e0x9[_0x4682[17]][_0x4682[16]]?parseInt(_0xd1e0x9[_0x4682[17]][_0x4682[16]],10):100;var _0xd1e0xe=_0xd1e0x9[_0x4682[17]][_0x4682[18]]?parseInt(_0xd1e0x9[_0x4682[17]][_0x4682[18]],10):0;var _0xd1e0xf={where:{},limit:_0xd1e0xd,offset:_0xd1e0xe*_0xd1e0xd};_[_0x4682[32]](_0xd1e0x9[_0x4682[17]],function(_0xd1e0x10,_0xd1e0x11){switch(_0xd1e0x11){case _0x4682[16]:;case _0x4682[18]:break ;;case _0x4682[21]:_0xd1e0xf[_0x4682[19]]=util[_0x4682[24]](_0x4682[20],_0xd1e0x9[_0x4682[17]][_0x4682[21]],_0xd1e0x9[_0x4682[17]][_0x4682[22]]||_0x4682[23])||null;break ;;case _0x4682[22]:break ;;case _0x4682[30]:_0xd1e0xf[_0x4682[26]][_0x4682[25]]=[];_0xd1e0xc[_0x4682[29]](function(_0xd1e0x12){var _0xd1e0x13={};_0xd1e0x13[_0xd1e0x12]={$like:_0x4682[27]+_0xd1e0x10+_0x4682[27]};_0xd1e0xf[_0x4682[26]][_0x4682[25]][_0x4682[28]](_0xd1e0x13);});break ;;default:_0xd1e0xf[_0x4682[26]][_0xd1e0x11]={$like:{}};_0xd1e0xf[_0x4682[26]][_0xd1e0x11][_0x4682[31]]=_0x4682[27]+_0xd1e0x10+_0x4682[27];;}});ChatWebsite[_0x4682[47]](_0xd1e0xf)[_0x4682[46]](function(_0xd1e0x15){var _0xd1e0x16=Math[_0x4682[38]](_0xd1e0x15[_0x4682[37]]/_0xd1e0xd);var _0xd1e0x17=_0xd1e0x16>(_0xd1e0xf[_0x4682[39]]+1)?util[_0x4682[24]](_0x4682[40],_0xd1e0x9[_0x4682[41]],_0xd1e0x9[_0x4682[43]][_0x4682[42]],_0xd1e0x9[_0x4682[44]],_0xd1e0xe+1):null;var _0xd1e0x18=_0xd1e0xe>0?util[_0x4682[24]](_0x4682[40],_0xd1e0x9[_0x4682[41]],_0xd1e0x9[_0x4682[43]][_0x4682[42]],_0xd1e0x9[_0x4682[44]],_0xd1e0xe-1):null;_0xd1e0xa[_0x4682[35]](200)[_0x4682[34]]({count:_0xd1e0x15[_0x4682[37]],rows:_0xd1e0x15[_0x4682[45]],next_page:_0xd1e0x17,previous_page:_0xd1e0x18,total_pages:_0xd1e0x16});})[_0x4682[36]](function(_0xd1e0x14){_0xd1e0xa[_0x4682[35]](500)[_0x4682[34]]({error:_0x4682[33]})});};exports[_0x4682[48]]=function(_0xd1e0x9,_0xd1e0xa){ChatWebsite[_0x4682[52]](_0xd1e0x9[_0x4682[51]][_0x4682[50]])[_0x4682[46]](function(_0xd1e0x19){if(!_0xd1e0x19){return _0xd1e0xa[_0x4682[49]](404)};return _0xd1e0xa[_0x4682[34]](_0xd1e0x19);})[_0x4682[36]](function(_0xd1e0x14){return handleError(_0xd1e0xa,_0xd1e0x14)})};exports[_0x4682[53]]=function(_0xd1e0x9,_0xd1e0xa){ChatWebsite[_0x4682[52]](_0xd1e0x9[_0x4682[51]][_0x4682[50]])[_0x4682[46]](function(_0xd1e0x19){var _0xd1e0x1a={remote:_0xd1e0x19[_0x4682[15]],websiteId:_0xd1e0x9[_0x4682[51]][_0x4682[50]]};var _0xd1e0x1b=Mustache[_0x4682[54]](snippet,_0xd1e0x1a);return _0xd1e0xa[_0x4682[34]](_0xd1e0x1b);})[_0x4682[36]](function(_0xd1e0x14){return handleError(_0xd1e0xa,_0xd1e0x14)})};exports[_0x4682[55]]=function(_0xd1e0x9,_0xd1e0xa){ChatWebsite[_0x4682[55]](_0xd1e0x9[_0x4682[56]])[_0x4682[46]](function(_0xd1e0x19){return _0xd1e0xa[_0x4682[35]](201)[_0x4682[34]](_0xd1e0x19)})[_0x4682[36]](function(_0xd1e0x14){return handleError(_0xd1e0xa,_0xd1e0x14)})};exports[_0x4682[57]]=function(_0xd1e0x9,_0xd1e0xa){if(_0xd1e0x9[_0x4682[56]][_0x4682[50]]){delete _0xd1e0x9[_0x4682[56]][_0x4682[50]]};return ChatWebsite[_0x4682[52]](_0xd1e0x9[_0x4682[51]][_0x4682[50]])[_0x4682[46]](function(_0xd1e0x19){if(!_0xd1e0x19){return _0xd1e0xa[_0x4682[49]](404)};return _0xd1e0x19[_0x4682[57]](_0xd1e0x9[_0x4682[56]])[_0x4682[46]](function(_0xd1e0x19){return _0xd1e0xa[_0x4682[35]](200)[_0x4682[34]](_0xd1e0x19)});})[_0x4682[36]](function(_0xd1e0x14){return handleError(_0xd1e0xa,_0xd1e0x14)});};exports[_0x4682[58]]=function(_0xd1e0x9,_0xd1e0xa){ChatWebsite[_0x4682[59]]({where:{id:_0xd1e0x9[_0x4682[51]][_0x4682[50]]}})[_0x4682[46]](function(_0xd1e0x19){if(!_0xd1e0x19){return _0xd1e0xa[_0x4682[49]](404)};_0xd1e0x19[_0x4682[58]]()[_0x4682[46]](function(){return _0xd1e0xa[_0x4682[49]](204)})[_0x4682[36]](function(_0xd1e0x14){return handleError(_0xd1e0xa,_0xd1e0x14)});})[_0x4682[36]](function(_0xd1e0x14){return handleError(_0xd1e0xa,_0xd1e0x14)})};exports[_0x4682[60]]=function(_0xd1e0x9,_0xd1e0xa,_0xd1e0xb){ChatApplication[_0x4682[66]]({where:{id:_0xd1e0x9[_0x4682[56]][_0x4682[61]]}})[_0x4682[46]](function(_0xd1e0x1c){var _0xd1e0x1d=_0xd1e0x1c;async[_0x4682[67]]([function(_0xd1e0x1e){ChatApplication[_0x4682[58]]({where:{id:_0xd1e0x9[_0x4682[56]][_0x4682[61]]}})[_0x4682[46]](function(){_0xd1e0x1e()})[_0x4682[36]](function(_0xd1e0x14){_0xd1e0x1e(_0xd1e0x14)})},function(_0xd1e0x1e){var _0xd1e0x1f=[];for(var _0xd1e0x20=0;_0xd1e0x20<_0xd1e0x9[_0x4682[56]][_0x4682[61]][_0x4682[62]];_0xd1e0x20++){var _0xd1e0x21=_[_0x4682[59]](_0xd1e0x1d,{"\x69\x64":_0xd1e0x9[_0x4682[56]][_0x4682[61]][_0xd1e0x20]});if(_0xd1e0x21){_0xd1e0x21[_0x4682[63]]=_0xd1e0x20+1;_0xd1e0x1f[_0x4682[28]](_0xd1e0x21[_0x4682[64]]);};};ChatApplication[_0x4682[65]](_0xd1e0x1f)[_0x4682[46]](function(){_0xd1e0x1e()})[_0x4682[36]](function(_0xd1e0x14){_0xd1e0x1e(_0xd1e0x14)});},function(_0xd1e0x1e){ChatApplication[_0x4682[66]]({where:{id:_0xd1e0x9[_0x4682[56]][_0x4682[61]]},order:_0x4682[63],include:[{all:true}]})[_0x4682[46]](function(_0xd1e0x1c){_0xd1e0x1e(null,_0xd1e0x1c)})[_0x4682[36]](function(_0xd1e0x14){_0xd1e0x1e(_0xd1e0x14)})}],function(_0xd1e0x14,_0xd1e0x15){if(_0xd1e0x14){return handleError(_0xd1e0xa,_0xd1e0x14)}else {return _0xd1e0xa[_0x4682[35]](201)[_0x4682[34]](_0xd1e0x15)}});})[_0x4682[36]](function(_0xd1e0x14){return handleError(_0xd1e0xa,_0xd1e0x14)})};exports[_0x4682[68]]=function(_0xd1e0x9,_0xd1e0xa){ChatWebsite[_0x4682[58]]({where:{id:_0xd1e0x9[_0x4682[17]][_0x4682[50]]},individualHooks:true})[_0x4682[46]](function(){return _0xd1e0xa[_0x4682[49]](204)})[_0x4682[36]](function(_0xd1e0x14){return handleError(_0xd1e0xa,_0xd1e0x14)})};function handleError(_0xd1e0xa,_0xd1e0x14){return _0xd1e0xa[_0x4682[35]](500)[_0x4682[34]](_0xd1e0x14)}
\ No newline at end of file
+var _0xba00=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x61\x73\x79\x6E\x63","\x6D\x75\x73\x74\x61\x63\x68\x65","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x73\x6E\x69\x70\x70\x65\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6D\x70\x6F\x6E\x65\x6E\x74\x73\x2F\x78\x63\x68\x61\x74\x74\x79","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x61\x64\x64\x72\x65\x73\x73","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x72\x65\x6D\x6F\x74\x65","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x67\x65\x74\x53\x6E\x69\x70\x70\x65\x74\x43\x6F\x64\x65","\x72\x65\x6E\x64\x65\x72","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x66\x69\x6E\x64","\x73\x6F\x72\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x6C\x65\x6E\x67\x74\x68","\x70\x72\x69\x6F\x72\x69\x74\x79","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x77\x61\x74\x65\x72\x66\x61\x6C\x6C","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0xba00[0];var _=require(_0xba00[1]);var util=require(_0xba00[2]);var async=require(_0xba00[3]);var Mustache=require(_0xba00[4]);var sequelize=require(_0xba00[6])[_0xba00[5]];var ChatWebsite=require(_0xba00[6])[_0xba00[7]];var ChatApplication=require(_0xba00[6])[_0xba00[8]];var snippet=require(_0xba00[10])[_0xba00[9]];exports[_0xba00[11]]=function(_0x2a3ax9,_0x2a3axa,_0x2a3axb){var _0x2a3axc=[_0xba00[12],_0xba00[13],_0xba00[14],_0xba00[15]];var _0x2a3axd=_0x2a3ax9[_0xba00[17]][_0xba00[16]]?parseInt(_0x2a3ax9[_0xba00[17]][_0xba00[16]],10):100;var _0x2a3axe=_0x2a3ax9[_0xba00[17]][_0xba00[18]]?parseInt(_0x2a3ax9[_0xba00[17]][_0xba00[18]],10):0;var _0x2a3axf={where:{},limit:_0x2a3axd,offset:_0x2a3axe*_0x2a3axd};_[_0xba00[32]](_0x2a3ax9[_0xba00[17]],function(_0x2a3ax10,_0x2a3ax11){switch(_0x2a3ax11){case _0xba00[16]:;case _0xba00[18]:break ;;case _0xba00[21]:_0x2a3axf[_0xba00[19]]=util[_0xba00[24]](_0xba00[20],_0x2a3ax9[_0xba00[17]][_0xba00[21]],_0x2a3ax9[_0xba00[17]][_0xba00[22]]||_0xba00[23])||null;break ;;case _0xba00[22]:break ;;case _0xba00[30]:_0x2a3axf[_0xba00[26]][_0xba00[25]]=[];_0x2a3axc[_0xba00[29]](function(_0x2a3ax12){var _0x2a3ax13={};_0x2a3ax13[_0x2a3ax12]={$like:_0xba00[27]+_0x2a3ax10+_0xba00[27]};_0x2a3axf[_0xba00[26]][_0xba00[25]][_0xba00[28]](_0x2a3ax13);});break ;;default:_0x2a3axf[_0xba00[26]][_0x2a3ax11]={$like:{}};_0x2a3axf[_0xba00[26]][_0x2a3ax11][_0xba00[31]]=_0xba00[27]+_0x2a3ax10+_0xba00[27];;}});ChatWebsite[_0xba00[47]](_0x2a3axf)[_0xba00[46]](function(_0x2a3ax15){var _0x2a3ax16=Math[_0xba00[38]](_0x2a3ax15[_0xba00[37]]/_0x2a3axd);var _0x2a3ax17=_0x2a3ax16>(_0x2a3axf[_0xba00[39]]+1)?util[_0xba00[24]](_0xba00[40],_0x2a3ax9[_0xba00[41]],_0x2a3ax9[_0xba00[43]][_0xba00[42]],_0x2a3ax9[_0xba00[44]],_0x2a3axe+1):null;var _0x2a3ax18=_0x2a3axe>0?util[_0xba00[24]](_0xba00[40],_0x2a3ax9[_0xba00[41]],_0x2a3ax9[_0xba00[43]][_0xba00[42]],_0x2a3ax9[_0xba00[44]],_0x2a3axe-1):null;_0x2a3axa[_0xba00[35]](200)[_0xba00[34]]({count:_0x2a3ax15[_0xba00[37]],rows:_0x2a3ax15[_0xba00[45]],next_page:_0x2a3ax17,previous_page:_0x2a3ax18,total_pages:_0x2a3ax16});})[_0xba00[36]](function(_0x2a3ax14){_0x2a3axa[_0xba00[35]](500)[_0xba00[34]]({error:_0xba00[33]})});};exports[_0xba00[48]]=function(_0x2a3ax9,_0x2a3axa){ChatWebsite[_0xba00[52]](_0x2a3ax9[_0xba00[51]][_0xba00[50]])[_0xba00[46]](function(_0x2a3ax19){if(!_0x2a3ax19){return _0x2a3axa[_0xba00[49]](404)};return _0x2a3axa[_0xba00[34]](_0x2a3ax19);})[_0xba00[36]](function(_0x2a3ax14){return handleError(_0x2a3axa,_0x2a3ax14)})};exports[_0xba00[53]]=function(_0x2a3ax9,_0x2a3axa){ChatWebsite[_0xba00[52]](_0x2a3ax9[_0xba00[51]][_0xba00[50]])[_0xba00[46]](function(_0x2a3ax19){var _0x2a3ax1a={remote:_0x2a3ax19[_0xba00[15]],websiteId:_0x2a3ax9[_0xba00[51]][_0xba00[50]]};var _0x2a3ax1b=Mustache[_0xba00[54]](snippet,_0x2a3ax1a);return _0x2a3axa[_0xba00[34]](_0x2a3ax1b);})[_0xba00[36]](function(_0x2a3ax14){return handleError(_0x2a3axa,_0x2a3ax14)})};exports[_0xba00[55]]=function(_0x2a3ax9,_0x2a3axa){ChatWebsite[_0xba00[55]](_0x2a3ax9[_0xba00[56]])[_0xba00[46]](function(_0x2a3ax19){return _0x2a3axa[_0xba00[35]](201)[_0xba00[34]](_0x2a3ax19)})[_0xba00[36]](function(_0x2a3ax14){return handleError(_0x2a3axa,_0x2a3ax14)})};exports[_0xba00[57]]=function(_0x2a3ax9,_0x2a3axa){if(_0x2a3ax9[_0xba00[56]][_0xba00[50]]){delete _0x2a3ax9[_0xba00[56]][_0xba00[50]]};return ChatWebsite[_0xba00[52]](_0x2a3ax9[_0xba00[51]][_0xba00[50]])[_0xba00[46]](function(_0x2a3ax19){if(!_0x2a3ax19){return _0x2a3axa[_0xba00[49]](404)};return _0x2a3ax19[_0xba00[57]](_0x2a3ax9[_0xba00[56]])[_0xba00[46]](function(_0x2a3ax19){return _0x2a3axa[_0xba00[35]](200)[_0xba00[34]](_0x2a3ax19)});})[_0xba00[36]](function(_0x2a3ax14){return handleError(_0x2a3axa,_0x2a3ax14)});};exports[_0xba00[58]]=function(_0x2a3ax9,_0x2a3axa){ChatWebsite[_0xba00[59]]({where:{id:_0x2a3ax9[_0xba00[51]][_0xba00[50]]}})[_0xba00[46]](function(_0x2a3ax19){if(!_0x2a3ax19){return _0x2a3axa[_0xba00[49]](404)};_0x2a3ax19[_0xba00[58]]()[_0xba00[46]](function(){return _0x2a3axa[_0xba00[49]](204)})[_0xba00[36]](function(_0x2a3ax14){return handleError(_0x2a3axa,_0x2a3ax14)});})[_0xba00[36]](function(_0x2a3ax14){return handleError(_0x2a3axa,_0x2a3ax14)})};exports[_0xba00[60]]=function(_0x2a3ax9,_0x2a3axa,_0x2a3axb){ChatApplication[_0xba00[66]]({where:{id:_0x2a3ax9[_0xba00[56]][_0xba00[61]]}})[_0xba00[46]](function(_0x2a3ax1c){var _0x2a3ax1d=_0x2a3ax1c;async[_0xba00[67]]([function(_0x2a3ax1e){ChatApplication[_0xba00[58]]({where:{id:_0x2a3ax9[_0xba00[56]][_0xba00[61]]}})[_0xba00[46]](function(){_0x2a3ax1e()})[_0xba00[36]](function(_0x2a3ax14){_0x2a3ax1e(_0x2a3ax14)})},function(_0x2a3ax1e){var _0x2a3ax1f=[];for(var _0x2a3ax20=0;_0x2a3ax20<_0x2a3ax9[_0xba00[56]][_0xba00[61]][_0xba00[62]];_0x2a3ax20++){var _0x2a3ax21=_[_0xba00[59]](_0x2a3ax1d,{"\x69\x64":_0x2a3ax9[_0xba00[56]][_0xba00[61]][_0x2a3ax20]});if(_0x2a3ax21){_0x2a3ax21[_0xba00[63]]=_0x2a3ax20+1;_0x2a3ax1f[_0xba00[28]](_0x2a3ax21[_0xba00[64]]);};};ChatApplication[_0xba00[65]](_0x2a3ax1f)[_0xba00[46]](function(){_0x2a3ax1e()})[_0xba00[36]](function(_0x2a3ax14){_0x2a3ax1e(_0x2a3ax14)});},function(_0x2a3ax1e){ChatApplication[_0xba00[66]]({where:{id:_0x2a3ax9[_0xba00[56]][_0xba00[61]]},order:_0xba00[63],include:[{all:true}]})[_0xba00[46]](function(_0x2a3ax1c){_0x2a3ax1e(null,_0x2a3ax1c)})[_0xba00[36]](function(_0x2a3ax14){_0x2a3ax1e(_0x2a3ax14)})}],function(_0x2a3ax14,_0x2a3ax15){if(_0x2a3ax14){return handleError(_0x2a3axa,_0x2a3ax14)}else {return _0x2a3axa[_0xba00[35]](201)[_0xba00[34]](_0x2a3ax15)}});})[_0xba00[36]](function(_0x2a3ax14){return handleError(_0x2a3axa,_0x2a3ax14)})};exports[_0xba00[68]]=function(_0x2a3ax9,_0x2a3axa){ChatWebsite[_0xba00[58]]({where:{id:_0x2a3ax9[_0xba00[17]][_0xba00[50]]},individualHooks:true})[_0xba00[46]](function(){return _0x2a3axa[_0xba00[49]](204)})[_0xba00[36]](function(_0x2a3ax14){return handleError(_0x2a3axa,_0x2a3ax14)})};function handleError(_0x2a3axa,_0x2a3ax14){return _0x2a3axa[_0xba00[35]](500)[_0xba00[34]](_0x2a3ax14)}
\ No newline at end of file
index 7710d4260bbfb0729049ffa9fb282a1006ab0e8a..d81979030c62ce76a1ccec1eaafc60ce03844085 100644 (file)
@@ -1 +1 @@
-var _0x88e8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x63\x68\x61\x74\x5F\x77\x65\x62\x73\x69\x74\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x63\x68\x61\x74\x5F\x77\x65\x62\x73\x69\x74\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0x88e8[0];var chat_website=require(_0x88e8[2])[_0x88e8[1]];exports[_0x88e8[3]]=function(_0x2157x2){chat_website[_0x88e8[4]](function(_0x2157x3){onSave(_0x2157x2,_0x2157x3)});chat_website[_0x88e8[5]](function(_0x2157x3){onRemove(_0x2157x2,_0x2157x3)});};function onSave(_0x2157x2,_0x2157x3,_0x2157x5){_0x2157x2[_0x88e8[7]](_0x88e8[6],_0x2157x3)}function onRemove(_0x2157x2,_0x2157x3,_0x2157x5){_0x2157x2[_0x88e8[7]](_0x88e8[8],_0x2157x3)}
\ No newline at end of file
+var _0xb78f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x63\x68\x61\x74\x5F\x77\x65\x62\x73\x69\x74\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x63\x68\x61\x74\x5F\x77\x65\x62\x73\x69\x74\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0xb78f[0];var chat_website=require(_0xb78f[2])[_0xb78f[1]];exports[_0xb78f[3]]=function(_0xbdbcx2){chat_website[_0xb78f[4]](function(_0xbdbcx3){onSave(_0xbdbcx2,_0xbdbcx3)});chat_website[_0xb78f[5]](function(_0xbdbcx3){onRemove(_0xbdbcx2,_0xbdbcx3)});};function onSave(_0xbdbcx2,_0xbdbcx3,_0xbdbcx5){_0xbdbcx2[_0xb78f[7]](_0xb78f[6],_0xbdbcx3)}function onRemove(_0xbdbcx2,_0xbdbcx3,_0xbdbcx5){_0xbdbcx2[_0xb78f[7]](_0xb78f[8],_0xbdbcx3)}
\ No newline at end of file
index 273700b6f3150526bb7ea7cedf1aa2c8087f9170..d96023d45ecf4d0190944200009f6487052a5ac6 100644 (file)
@@ -1 +1 @@
-var _0x5673=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x77\x65\x62\x73\x69\x74\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x77\x65\x62\x73\x69\x74\x65\x73","\x67\x65\x74"];_0x5673[0];var should=require(_0x5673[1]);var app=require(_0x5673[2]);var request=require(_0x5673[3]);describe(_0x5673[4],function(){it(_0x5673[5],function(_0xfed2x4){request(app)[_0x5673[13]](_0x5673[12])[_0x5673[11]](200)[_0x5673[11]](_0x5673[10],/json/)[_0x5673[9]](function(_0xfed2x5,_0xfed2x6){if(_0xfed2x5){return _0xfed2x4(_0xfed2x5)};_0xfed2x6[_0x5673[8]][_0x5673[1]][_0x5673[7]][_0x5673[6]](Array);_0xfed2x4();})})});
\ No newline at end of file
+var _0x25fe=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x77\x65\x62\x73\x69\x74\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x77\x65\x62\x73\x69\x74\x65\x73","\x67\x65\x74"];_0x25fe[0];var should=require(_0x25fe[1]);var app=require(_0x25fe[2]);var request=require(_0x25fe[3]);describe(_0x25fe[4],function(){it(_0x25fe[5],function(_0x13cax4){request(app)[_0x25fe[13]](_0x25fe[12])[_0x25fe[11]](200)[_0x25fe[11]](_0x25fe[10],/json/)[_0x25fe[9]](function(_0x13cax5,_0x13cax6){if(_0x13cax5){return _0x13cax4(_0x13cax5)};_0x13cax6[_0x25fe[8]][_0x25fe[1]][_0x25fe[7]][_0x25fe[6]](Array);_0x13cax4();})})});
\ No newline at end of file
index 6f85793ce3b151eb648aa515db3f47ee93dadb90..bf4de418054879b81bdd7d47a331aa7a12f8d886 100644 (file)
@@ -1 +1 @@
-var _0x58c4=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x68\x61\x74\x5F\x77\x65\x62\x73\x69\x74\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x73\x6E\x69\x70\x70\x65\x74","\x67\x65\x74\x53\x6E\x69\x70\x70\x65\x74\x43\x6F\x64\x65","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x3A\x69\x64\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x73\x6F\x72\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x58c4[0];var express=require(_0x58c4[1]);var controller=require(_0x58c4[2]);var auth=require(_0x58c4[3]);var router=express.Router();router[_0x58c4[7]](_0x58c4[4],auth[_0x58c4[5]](),controller[_0x58c4[6]]);router[_0x58c4[7]](_0x58c4[8],auth[_0x58c4[5]](),controller[_0x58c4[9]]);router[_0x58c4[7]](_0x58c4[10],auth[_0x58c4[5]](),controller[_0x58c4[11]]);router[_0x58c4[13]](_0x58c4[4],auth[_0x58c4[5]](),controller[_0x58c4[12]]);router[_0x58c4[13]](_0x58c4[14],auth[_0x58c4[5]](),controller[_0x58c4[15]]);router[_0x58c4[17]](_0x58c4[8],auth[_0x58c4[5]](),controller[_0x58c4[16]]);router[_0x58c4[18]](_0x58c4[8],auth[_0x58c4[5]](),controller[_0x58c4[16]]);router[_0x58c4[20]](_0x58c4[4],auth[_0x58c4[5]](),controller[_0x58c4[19]]);router[_0x58c4[20]](_0x58c4[8],auth[_0x58c4[5]](),controller[_0x58c4[21]]);module[_0x58c4[22]]=router;
\ No newline at end of file
+var _0x6f0b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x68\x61\x74\x5F\x77\x65\x62\x73\x69\x74\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x73\x6E\x69\x70\x70\x65\x74","\x67\x65\x74\x53\x6E\x69\x70\x70\x65\x74\x43\x6F\x64\x65","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x3A\x69\x64\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x73\x6F\x72\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x6f0b[0];var express=require(_0x6f0b[1]);var controller=require(_0x6f0b[2]);var auth=require(_0x6f0b[3]);var router=express.Router();router[_0x6f0b[7]](_0x6f0b[4],auth[_0x6f0b[5]](),controller[_0x6f0b[6]]);router[_0x6f0b[7]](_0x6f0b[8],auth[_0x6f0b[5]](),controller[_0x6f0b[9]]);router[_0x6f0b[7]](_0x6f0b[10],auth[_0x6f0b[5]](),controller[_0x6f0b[11]]);router[_0x6f0b[13]](_0x6f0b[4],auth[_0x6f0b[5]](),controller[_0x6f0b[12]]);router[_0x6f0b[13]](_0x6f0b[14],auth[_0x6f0b[5]](),controller[_0x6f0b[15]]);router[_0x6f0b[17]](_0x6f0b[8],auth[_0x6f0b[5]](),controller[_0x6f0b[16]]);router[_0x6f0b[18]](_0x6f0b[8],auth[_0x6f0b[5]](),controller[_0x6f0b[16]]);router[_0x6f0b[20]](_0x6f0b[4],auth[_0x6f0b[5]](),controller[_0x6f0b[19]]);router[_0x6f0b[20]](_0x6f0b[8],auth[_0x6f0b[5]](),controller[_0x6f0b[21]]);module[_0x6f0b[22]]=router;
\ No newline at end of file
index 724b75c6e46e5e248e797b2bde9be15e4a0253ec..c0f2d3e0e5543af934f23f05b9f85e001b85e572 100644 (file)
@@ -1 +1 @@
-var _0xcd80=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x43\x6F\x6D\x70\x61\x6E\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x63\x6F\x6D\x70\x61\x6E\x79\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x62\x6F\x64\x79","\x6C\x6F\x67","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x6C\x65\x6E\x67\x74\x68","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x43\x4F\x4D\x50\x41\x4E\x59","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0xcd80[0];var _=require(_0xcd80[1]);var Company=require(_0xcd80[3])[_0xcd80[2]];var util=require(_0xcd80[4]);exports[_0xcd80[5]]=function(_0x4422x4,_0x4422x5){var _0x4422x6=[_0xcd80[6],_0xcd80[7]];var _0x4422x7=_0x4422x4[_0xcd80[9]][_0xcd80[8]]?parseInt(_0x4422x4[_0xcd80[9]][_0xcd80[8]],10):100;var _0x4422x8=_0x4422x4[_0xcd80[9]][_0xcd80[10]]?parseInt(_0x4422x4[_0xcd80[9]][_0xcd80[10]],10):0;var _0x4422x9={where:{},limit:_0x4422x7,offset:_0x4422x8*_0x4422x7};_[_0xcd80[24]](_0x4422x4[_0xcd80[9]],function(_0x4422xa,_0x4422xb){switch(_0x4422xb){case _0xcd80[8]:;case _0xcd80[10]:break ;;case _0xcd80[13]:_0x4422x9[_0xcd80[11]]=util[_0xcd80[16]](_0xcd80[12],_0x4422x4[_0xcd80[9]][_0xcd80[13]],_0x4422x4[_0xcd80[9]][_0xcd80[14]]||_0xcd80[15])||null;break ;;case _0xcd80[14]:break ;;case _0xcd80[22]:_0x4422x9[_0xcd80[18]][_0xcd80[17]]=[];_0x4422x6[_0xcd80[21]](function(_0x4422xc){var _0x4422xd={};_0x4422xd[_0x4422xc]={$like:_0xcd80[19]+_0x4422xa+_0xcd80[19]};_0x4422x9[_0xcd80[18]][_0xcd80[17]][_0xcd80[20]](_0x4422xd);});break ;;default:_0x4422x9[_0xcd80[18]][_0x4422xb]={$like:{}};_0x4422x9[_0xcd80[18]][_0x4422xb][_0xcd80[23]]=_0xcd80[19]+_0x4422xa+_0xcd80[19];;}});Company[_0xcd80[39]](_0x4422x9)[_0xcd80[38]](function(_0x4422xf){var _0x4422x10=Math[_0xcd80[30]](_0x4422xf[_0xcd80[29]]/_0x4422x7);var _0x4422x11=_0x4422x10>(_0x4422x9[_0xcd80[31]]+1)?util[_0xcd80[16]](_0xcd80[32],_0x4422x4[_0xcd80[33]],_0x4422x4[_0xcd80[35]][_0xcd80[34]],_0x4422x4[_0xcd80[36]],_0x4422x8+1):null;var _0x4422x12=_0x4422x8>0?util[_0xcd80[16]](_0xcd80[32],_0x4422x4[_0xcd80[33]],_0x4422x4[_0xcd80[35]][_0xcd80[34]],_0x4422x4[_0xcd80[36]],_0x4422x8-1):null;_0x4422x5[_0xcd80[27]](200)[_0xcd80[26]]({count:_0x4422xf[_0xcd80[29]],rows:_0x4422xf[_0xcd80[37]],next_page:_0x4422x11,previous_page:_0x4422x12,total_pages:_0x4422x10});})[_0xcd80[28]](function(_0x4422xe){_0x4422x5[_0xcd80[27]](500)[_0xcd80[26]]({error:_0xcd80[25]})});};exports[_0xcd80[40]]=function(_0x4422x4,_0x4422x5){console[_0xcd80[42]](_0x4422x4[_0xcd80[41]]);Company[_0xcd80[44]]({where:{name:_0x4422x4[_0xcd80[41]][_0xcd80[6]]}})[_0xcd80[38]](function(_0x4422x13){if(!_0x4422x13){return _0x4422x5[_0xcd80[43]](404)};return _0x4422x5[_0xcd80[26]](_0x4422x13);})[_0xcd80[28]](function(_0x4422xe){return handleError(_0x4422x5,_0x4422xe)});};exports[_0xcd80[45]]=function(_0x4422x4,_0x4422x5){Company[_0xcd80[48]](_0x4422x4[_0xcd80[47]][_0xcd80[46]])[_0xcd80[38]](function(_0x4422x14){if(!_0x4422x14){return _0x4422x5[_0xcd80[43]](404)};return _0x4422x5[_0xcd80[26]](_0x4422x14);})[_0xcd80[28]](function(_0x4422xe){return handleError(_0x4422x5,_0x4422xe)})};exports[_0xcd80[49]]=function(_0x4422x4,_0x4422x5){Company[_0xcd80[49]](_0x4422x4[_0xcd80[41]])[_0xcd80[38]](function(_0x4422x14){return _0x4422x5[_0xcd80[27]](201)[_0xcd80[26]](_0x4422x14)})[_0xcd80[28]](function(_0x4422xe){return handleError(_0x4422x5,_0x4422xe)})};exports[_0xcd80[50]]=function(_0x4422x4,_0x4422x5){Company[_0xcd80[44]]({where:{name:_0x4422x4[_0xcd80[41]][_0xcd80[6]],id:{$ne:_0x4422x4[_0xcd80[41]][_0xcd80[46]]}}})[_0xcd80[38]](function(_0x4422x13){if(!_0x4422x13){return _0x4422x5[_0xcd80[43]](404)};if(_0x4422x13[_0xcd80[51]]>0){return _0x4422x5[_0xcd80[27]](500)[_0xcd80[26]]({message:_0xcd80[52]})};if(_0x4422x4[_0xcd80[41]][_0xcd80[46]]){delete _0x4422x4[_0xcd80[41]][_0xcd80[46]]};Company[_0xcd80[55]]({where:{id:_0x4422x4[_0xcd80[47]][_0xcd80[46]]}})[_0xcd80[38]](function(_0x4422x14){if(!_0x4422x14){return _0x4422x5[_0xcd80[43]](404)};var _0x4422x15=_[_0xcd80[53]](_0x4422x14,_0x4422x4[_0xcd80[41]]);_0x4422x15[_0xcd80[54]]()[_0xcd80[38]](function(){return _0x4422x5[_0xcd80[27]](200)[_0xcd80[26]](_0x4422x14)})[_0xcd80[28]](function(_0x4422xe){return handleError(_0x4422x5,_0x4422xe)});})[_0xcd80[28]](function(_0x4422xe){return handleError(_0x4422x5,_0x4422xe)});})[_0xcd80[28]](function(_0x4422xe){return handleError(_0x4422x5,_0x4422xe)})};exports[_0xcd80[56]]=function(_0x4422x4,_0x4422x5){Company[_0xcd80[48]](_0x4422x4[_0xcd80[47]][_0xcd80[46]])[_0xcd80[38]](function(_0x4422x14){if(!_0x4422x14){return _0x4422x5[_0xcd80[43]](404)};_0x4422x14[_0xcd80[56]]()[_0xcd80[38]](function(){return _0x4422x5[_0xcd80[43]](204)})[_0xcd80[28]](function(_0x4422xe){return handleError(_0x4422x5,_0x4422xe)});})[_0xcd80[28]](function(_0x4422xe){return handleError(_0x4422x5,_0x4422xe)})};exports[_0xcd80[57]]=function(_0x4422x4,_0x4422x5){Company[_0xcd80[56]]({where:{id:_0x4422x4[_0xcd80[9]][_0xcd80[46]]},individualHooks:true})[_0xcd80[38]](function(){return _0x4422x5[_0xcd80[43]](204)})[_0xcd80[28]](function(_0x4422xe){return handleError(_0x4422x5,_0x4422xe)})};function handleError(_0x4422x5,_0x4422xe){return _0x4422x5[_0xcd80[27]](500)[_0xcd80[26]](_0x4422xe)}
\ No newline at end of file
+var _0xa2e5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x43\x6F\x6D\x70\x61\x6E\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x63\x6F\x6D\x70\x61\x6E\x79\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x62\x6F\x64\x79","\x6C\x6F\x67","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x6C\x65\x6E\x67\x74\x68","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x43\x4F\x4D\x50\x41\x4E\x59","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0xa2e5[0];var _=require(_0xa2e5[1]);var Company=require(_0xa2e5[3])[_0xa2e5[2]];var util=require(_0xa2e5[4]);exports[_0xa2e5[5]]=function(_0xfaf6x4,_0xfaf6x5){var _0xfaf6x6=[_0xa2e5[6],_0xa2e5[7]];var _0xfaf6x7=_0xfaf6x4[_0xa2e5[9]][_0xa2e5[8]]?parseInt(_0xfaf6x4[_0xa2e5[9]][_0xa2e5[8]],10):100;var _0xfaf6x8=_0xfaf6x4[_0xa2e5[9]][_0xa2e5[10]]?parseInt(_0xfaf6x4[_0xa2e5[9]][_0xa2e5[10]],10):0;var _0xfaf6x9={where:{},limit:_0xfaf6x7,offset:_0xfaf6x8*_0xfaf6x7};_[_0xa2e5[24]](_0xfaf6x4[_0xa2e5[9]],function(_0xfaf6xa,_0xfaf6xb){switch(_0xfaf6xb){case _0xa2e5[8]:;case _0xa2e5[10]:break ;;case _0xa2e5[13]:_0xfaf6x9[_0xa2e5[11]]=util[_0xa2e5[16]](_0xa2e5[12],_0xfaf6x4[_0xa2e5[9]][_0xa2e5[13]],_0xfaf6x4[_0xa2e5[9]][_0xa2e5[14]]||_0xa2e5[15])||null;break ;;case _0xa2e5[14]:break ;;case _0xa2e5[22]:_0xfaf6x9[_0xa2e5[18]][_0xa2e5[17]]=[];_0xfaf6x6[_0xa2e5[21]](function(_0xfaf6xc){var _0xfaf6xd={};_0xfaf6xd[_0xfaf6xc]={$like:_0xa2e5[19]+_0xfaf6xa+_0xa2e5[19]};_0xfaf6x9[_0xa2e5[18]][_0xa2e5[17]][_0xa2e5[20]](_0xfaf6xd);});break ;;default:_0xfaf6x9[_0xa2e5[18]][_0xfaf6xb]={$like:{}};_0xfaf6x9[_0xa2e5[18]][_0xfaf6xb][_0xa2e5[23]]=_0xa2e5[19]+_0xfaf6xa+_0xa2e5[19];;}});Company[_0xa2e5[39]](_0xfaf6x9)[_0xa2e5[38]](function(_0xfaf6xf){var _0xfaf6x10=Math[_0xa2e5[30]](_0xfaf6xf[_0xa2e5[29]]/_0xfaf6x7);var _0xfaf6x11=_0xfaf6x10>(_0xfaf6x9[_0xa2e5[31]]+1)?util[_0xa2e5[16]](_0xa2e5[32],_0xfaf6x4[_0xa2e5[33]],_0xfaf6x4[_0xa2e5[35]][_0xa2e5[34]],_0xfaf6x4[_0xa2e5[36]],_0xfaf6x8+1):null;var _0xfaf6x12=_0xfaf6x8>0?util[_0xa2e5[16]](_0xa2e5[32],_0xfaf6x4[_0xa2e5[33]],_0xfaf6x4[_0xa2e5[35]][_0xa2e5[34]],_0xfaf6x4[_0xa2e5[36]],_0xfaf6x8-1):null;_0xfaf6x5[_0xa2e5[27]](200)[_0xa2e5[26]]({count:_0xfaf6xf[_0xa2e5[29]],rows:_0xfaf6xf[_0xa2e5[37]],next_page:_0xfaf6x11,previous_page:_0xfaf6x12,total_pages:_0xfaf6x10});})[_0xa2e5[28]](function(_0xfaf6xe){_0xfaf6x5[_0xa2e5[27]](500)[_0xa2e5[26]]({error:_0xa2e5[25]})});};exports[_0xa2e5[40]]=function(_0xfaf6x4,_0xfaf6x5){console[_0xa2e5[42]](_0xfaf6x4[_0xa2e5[41]]);Company[_0xa2e5[44]]({where:{name:_0xfaf6x4[_0xa2e5[41]][_0xa2e5[6]]}})[_0xa2e5[38]](function(_0xfaf6x13){if(!_0xfaf6x13){return _0xfaf6x5[_0xa2e5[43]](404)};return _0xfaf6x5[_0xa2e5[26]](_0xfaf6x13);})[_0xa2e5[28]](function(_0xfaf6xe){return handleError(_0xfaf6x5,_0xfaf6xe)});};exports[_0xa2e5[45]]=function(_0xfaf6x4,_0xfaf6x5){Company[_0xa2e5[48]](_0xfaf6x4[_0xa2e5[47]][_0xa2e5[46]])[_0xa2e5[38]](function(_0xfaf6x14){if(!_0xfaf6x14){return _0xfaf6x5[_0xa2e5[43]](404)};return _0xfaf6x5[_0xa2e5[26]](_0xfaf6x14);})[_0xa2e5[28]](function(_0xfaf6xe){return handleError(_0xfaf6x5,_0xfaf6xe)})};exports[_0xa2e5[49]]=function(_0xfaf6x4,_0xfaf6x5){Company[_0xa2e5[49]](_0xfaf6x4[_0xa2e5[41]])[_0xa2e5[38]](function(_0xfaf6x14){return _0xfaf6x5[_0xa2e5[27]](201)[_0xa2e5[26]](_0xfaf6x14)})[_0xa2e5[28]](function(_0xfaf6xe){return handleError(_0xfaf6x5,_0xfaf6xe)})};exports[_0xa2e5[50]]=function(_0xfaf6x4,_0xfaf6x5){Company[_0xa2e5[44]]({where:{name:_0xfaf6x4[_0xa2e5[41]][_0xa2e5[6]],id:{$ne:_0xfaf6x4[_0xa2e5[41]][_0xa2e5[46]]}}})[_0xa2e5[38]](function(_0xfaf6x13){if(!_0xfaf6x13){return _0xfaf6x5[_0xa2e5[43]](404)};if(_0xfaf6x13[_0xa2e5[51]]>0){return _0xfaf6x5[_0xa2e5[27]](500)[_0xa2e5[26]]({message:_0xa2e5[52]})};if(_0xfaf6x4[_0xa2e5[41]][_0xa2e5[46]]){delete _0xfaf6x4[_0xa2e5[41]][_0xa2e5[46]]};Company[_0xa2e5[55]]({where:{id:_0xfaf6x4[_0xa2e5[47]][_0xa2e5[46]]}})[_0xa2e5[38]](function(_0xfaf6x14){if(!_0xfaf6x14){return _0xfaf6x5[_0xa2e5[43]](404)};var _0xfaf6x15=_[_0xa2e5[53]](_0xfaf6x14,_0xfaf6x4[_0xa2e5[41]]);_0xfaf6x15[_0xa2e5[54]]()[_0xa2e5[38]](function(){return _0xfaf6x5[_0xa2e5[27]](200)[_0xa2e5[26]](_0xfaf6x14)})[_0xa2e5[28]](function(_0xfaf6xe){return handleError(_0xfaf6x5,_0xfaf6xe)});})[_0xa2e5[28]](function(_0xfaf6xe){return handleError(_0xfaf6x5,_0xfaf6xe)});})[_0xa2e5[28]](function(_0xfaf6xe){return handleError(_0xfaf6x5,_0xfaf6xe)})};exports[_0xa2e5[56]]=function(_0xfaf6x4,_0xfaf6x5){Company[_0xa2e5[48]](_0xfaf6x4[_0xa2e5[47]][_0xa2e5[46]])[_0xa2e5[38]](function(_0xfaf6x14){if(!_0xfaf6x14){return _0xfaf6x5[_0xa2e5[43]](404)};_0xfaf6x14[_0xa2e5[56]]()[_0xa2e5[38]](function(){return _0xfaf6x5[_0xa2e5[43]](204)})[_0xa2e5[28]](function(_0xfaf6xe){return handleError(_0xfaf6x5,_0xfaf6xe)});})[_0xa2e5[28]](function(_0xfaf6xe){return handleError(_0xfaf6x5,_0xfaf6xe)})};exports[_0xa2e5[57]]=function(_0xfaf6x4,_0xfaf6x5){Company[_0xa2e5[56]]({where:{id:_0xfaf6x4[_0xa2e5[9]][_0xa2e5[46]]},individualHooks:true})[_0xa2e5[38]](function(){return _0xfaf6x5[_0xa2e5[43]](204)})[_0xa2e5[28]](function(_0xfaf6xe){return handleError(_0xfaf6x5,_0xfaf6xe)})};function handleError(_0xfaf6x5,_0xfaf6xe){return _0xfaf6x5[_0xa2e5[27]](500)[_0xa2e5[26]](_0xfaf6xe)}
\ No newline at end of file
index ddb1ee6910d5d790cf011ff0b12489689bc6021a..938fb73cc6c5935c00510478d0b0e132b7c9ff60 100644 (file)
@@ -1 +1 @@
-var _0xc9cd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x43\x6F\x6D\x70\x61\x6E\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x63\x6F\x6D\x70\x61\x6E\x79\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x63\x6F\x6D\x70\x61\x6E\x79\x3A\x72\x65\x6D\x6F\x76\x65"];_0xc9cd[0];var Company=require(_0xc9cd[2])[_0xc9cd[1]];exports[_0xc9cd[3]]=function(_0xddb8x2){Company[_0xc9cd[4]](function(_0xddb8x3){onSave(_0xddb8x2,_0xddb8x3)});Company[_0xc9cd[5]](function(_0xddb8x3){onRemove(_0xddb8x2,_0xddb8x3)});};function onSave(_0xddb8x2,_0xddb8x3,_0xddb8x5){_0xddb8x2[_0xc9cd[7]](_0xc9cd[6],_0xddb8x3)}function onRemove(_0xddb8x2,_0xddb8x3,_0xddb8x5){_0xddb8x2[_0xc9cd[7]](_0xc9cd[8],_0xddb8x3)}
\ No newline at end of file
+var _0xd97b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x43\x6F\x6D\x70\x61\x6E\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x63\x6F\x6D\x70\x61\x6E\x79\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x63\x6F\x6D\x70\x61\x6E\x79\x3A\x72\x65\x6D\x6F\x76\x65"];_0xd97b[0];var Company=require(_0xd97b[2])[_0xd97b[1]];exports[_0xd97b[3]]=function(_0x7b2fx2){Company[_0xd97b[4]](function(_0x7b2fx3){onSave(_0x7b2fx2,_0x7b2fx3)});Company[_0xd97b[5]](function(_0x7b2fx3){onRemove(_0x7b2fx2,_0x7b2fx3)});};function onSave(_0x7b2fx2,_0x7b2fx3,_0x7b2fx5){_0x7b2fx2[_0xd97b[7]](_0xd97b[6],_0x7b2fx3)}function onRemove(_0x7b2fx2,_0x7b2fx3,_0x7b2fx5){_0x7b2fx2[_0xd97b[7]](_0xd97b[8],_0x7b2fx3)}
\ No newline at end of file
index f35abe5b6d98a0f5acb9020a8fba2baffc00084f..597588f3720d420d34b30ce88ff816b50bc80ce4 100644 (file)
@@ -1 +1 @@
-var _0xe5bf=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72\x2F\x63\x6F\x6D\x70\x61\x6E\x69\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72\x2F\x63\x6F\x6D\x70\x61\x6E\x69\x65\x73","\x67\x65\x74"];_0xe5bf[0];var should=require(_0xe5bf[1]);var app=require(_0xe5bf[2]);var request=require(_0xe5bf[3]);describe(_0xe5bf[4],function(){it(_0xe5bf[5],function(_0x7b90x4){request(app)[_0xe5bf[13]](_0xe5bf[12])[_0xe5bf[11]](200)[_0xe5bf[11]](_0xe5bf[10],/json/)[_0xe5bf[9]](function(_0x7b90x5,_0x7b90x6){if(_0x7b90x5){return _0x7b90x4(_0x7b90x5)};_0x7b90x6[_0xe5bf[8]][_0xe5bf[1]][_0xe5bf[7]][_0xe5bf[6]](Array);_0x7b90x4();})})});
\ No newline at end of file
+var _0x520f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72\x2F\x63\x6F\x6D\x70\x61\x6E\x69\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72\x2F\x63\x6F\x6D\x70\x61\x6E\x69\x65\x73","\x67\x65\x74"];_0x520f[0];var should=require(_0x520f[1]);var app=require(_0x520f[2]);var request=require(_0x520f[3]);describe(_0x520f[4],function(){it(_0x520f[5],function(_0x1a75x4){request(app)[_0x520f[13]](_0x520f[12])[_0x520f[11]](200)[_0x520f[11]](_0x520f[10],/json/)[_0x520f[9]](function(_0x1a75x5,_0x1a75x6){if(_0x1a75x5){return _0x1a75x4(_0x1a75x5)};_0x1a75x6[_0x520f[8]][_0x520f[1]][_0x520f[7]][_0x520f[6]](Array);_0x1a75x4();})})});
\ No newline at end of file
index 821af634b1d60be8df40de42ea7444d4c33e5809..afb77407d7441ba0b83953dbca64065888ce0791 100644 (file)
@@ -1 +1 @@
-var _0xd22a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x6F\x6D\x70\x61\x6E\x79\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x63\x6F\x6D\x70\x61\x6E\x79\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xd22a[0];var express=require(_0xd22a[1]);var controller=require(_0xd22a[2]);var auth=require(_0xd22a[3]);var router=express.Router();router[_0xd22a[7]](_0xd22a[4],auth[_0xd22a[5]](),controller[_0xd22a[6]]);router[_0xd22a[7]](_0xd22a[8],auth[_0xd22a[5]](),controller[_0xd22a[9]]);router[_0xd22a[11]](_0xd22a[4],auth[_0xd22a[5]](),controller[_0xd22a[10]]);router[_0xd22a[11]](_0xd22a[12],auth[_0xd22a[5]](),controller[_0xd22a[13]]);router[_0xd22a[15]](_0xd22a[8],auth[_0xd22a[5]](),controller[_0xd22a[14]]);router[_0xd22a[16]](_0xd22a[8],auth[_0xd22a[5]](),controller[_0xd22a[14]]);router[_0xd22a[18]](_0xd22a[4],auth[_0xd22a[5]](),controller[_0xd22a[17]]);router[_0xd22a[18]](_0xd22a[8],auth[_0xd22a[5]](),controller[_0xd22a[19]]);module[_0xd22a[20]]=router;
\ No newline at end of file
+var _0xb115=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x6F\x6D\x70\x61\x6E\x79\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x63\x6F\x6D\x70\x61\x6E\x79\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xb115[0];var express=require(_0xb115[1]);var controller=require(_0xb115[2]);var auth=require(_0xb115[3]);var router=express.Router();router[_0xb115[7]](_0xb115[4],auth[_0xb115[5]](),controller[_0xb115[6]]);router[_0xb115[7]](_0xb115[8],auth[_0xb115[5]](),controller[_0xb115[9]]);router[_0xb115[11]](_0xb115[4],auth[_0xb115[5]](),controller[_0xb115[10]]);router[_0xb115[11]](_0xb115[12],auth[_0xb115[5]](),controller[_0xb115[13]]);router[_0xb115[15]](_0xb115[8],auth[_0xb115[5]](),controller[_0xb115[14]]);router[_0xb115[16]](_0xb115[8],auth[_0xb115[5]](),controller[_0xb115[14]]);router[_0xb115[18]](_0xb115[4],auth[_0xb115[5]](),controller[_0xb115[17]]);router[_0xb115[18]](_0xb115[8],auth[_0xb115[5]](),controller[_0xb115[19]]);module[_0xb115[20]]=router;
\ No newline at end of file
index f9ad2bb710445b69908f747c66010689291b60cf..80e71008f656b514881bdc7e6a9b486d83fde7c1 100644 (file)
@@ -1 +1 @@
-var _0x3d89=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x43\x6F\x6E\x74\x61\x63\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x3d89[0];var _=require(_0x3d89[1]);var Contact=require(_0x3d89[3])[_0x3d89[2]];exports[_0x3d89[4]]=function(_0x1621x3,_0x1621x4){Contact[_0x3d89[9]]()[_0x3d89[8]](function(_0x1621x6){return _0x1621x4[_0x3d89[7]](200)[_0x3d89[6]](_0x1621x6)})[_0x3d89[5]](function(_0x1621x5){return handleError(_0x1621x4,_0x1621x5)})};exports[_0x3d89[10]]=function(_0x1621x3,_0x1621x4){Contact[_0x3d89[14]](_0x1621x3[_0x3d89[13]][_0x3d89[12]])[_0x3d89[8]](function(_0x1621x7){if(!_0x1621x7){return _0x1621x4[_0x3d89[11]](404)};return _0x1621x4[_0x3d89[6]](_0x1621x7);})[_0x3d89[5]](function(_0x1621x5){return handleError(_0x1621x4,_0x1621x5)})};exports[_0x3d89[15]]=function(_0x1621x3,_0x1621x4){Contact[_0x3d89[15]](_0x1621x3[_0x3d89[16]])[_0x3d89[8]](function(_0x1621x7){return _0x1621x4[_0x3d89[7]](201)[_0x3d89[6]](_0x1621x7)})[_0x3d89[5]](function(_0x1621x5){return handleError(_0x1621x4,_0x1621x5)})};exports[_0x3d89[17]]=function(_0x1621x3,_0x1621x4){if(_0x1621x3[_0x3d89[16]][_0x3d89[12]]){delete _0x1621x3[_0x3d89[16]][_0x3d89[12]]};Contact[_0x3d89[14]](_0x1621x3[_0x3d89[13]][_0x3d89[12]])[_0x3d89[8]](function(_0x1621x7){if(!_0x1621x7){return _0x1621x4[_0x3d89[11]](404)};var _0x1621x8=_[_0x3d89[18]](_0x1621x7,_0x1621x3[_0x3d89[16]]);_0x1621x8[_0x3d89[19]]()[_0x3d89[8]](function(){return _0x1621x4[_0x3d89[7]](200)[_0x3d89[6]](_0x1621x7)})[_0x3d89[5]](function(_0x1621x5){return handleError(_0x1621x4,_0x1621x5)});})[_0x3d89[5]](function(_0x1621x5){return handleError(_0x1621x4,_0x1621x5)});};exports[_0x3d89[20]]=function(_0x1621x3,_0x1621x4){Contact[_0x3d89[14]](_0x1621x3[_0x3d89[13]][_0x3d89[12]])[_0x3d89[8]](function(_0x1621x7){if(!_0x1621x7){return _0x1621x4[_0x3d89[11]](404)};_0x1621x7[_0x3d89[20]]()[_0x3d89[8]](function(){return _0x1621x4[_0x3d89[11]](204)})[_0x3d89[5]](function(_0x1621x5){return handleError(_0x1621x4,_0x1621x5)});})[_0x3d89[5]](function(_0x1621x5){return handleError(_0x1621x4,_0x1621x5)})};function handleError(_0x1621x4,_0x1621x5){return _0x1621x4[_0x3d89[7]](500)[_0x3d89[6]](_0x1621x5)}
\ No newline at end of file
+var _0x200b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x43\x6F\x6E\x74\x61\x63\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x200b[0];var _=require(_0x200b[1]);var Contact=require(_0x200b[3])[_0x200b[2]];exports[_0x200b[4]]=function(_0x2875x3,_0x2875x4){Contact[_0x200b[9]]()[_0x200b[8]](function(_0x2875x6){return _0x2875x4[_0x200b[7]](200)[_0x200b[6]](_0x2875x6)})[_0x200b[5]](function(_0x2875x5){return handleError(_0x2875x4,_0x2875x5)})};exports[_0x200b[10]]=function(_0x2875x3,_0x2875x4){Contact[_0x200b[14]](_0x2875x3[_0x200b[13]][_0x200b[12]])[_0x200b[8]](function(_0x2875x7){if(!_0x2875x7){return _0x2875x4[_0x200b[11]](404)};return _0x2875x4[_0x200b[6]](_0x2875x7);})[_0x200b[5]](function(_0x2875x5){return handleError(_0x2875x4,_0x2875x5)})};exports[_0x200b[15]]=function(_0x2875x3,_0x2875x4){Contact[_0x200b[15]](_0x2875x3[_0x200b[16]])[_0x200b[8]](function(_0x2875x7){return _0x2875x4[_0x200b[7]](201)[_0x200b[6]](_0x2875x7)})[_0x200b[5]](function(_0x2875x5){return handleError(_0x2875x4,_0x2875x5)})};exports[_0x200b[17]]=function(_0x2875x3,_0x2875x4){if(_0x2875x3[_0x200b[16]][_0x200b[12]]){delete _0x2875x3[_0x200b[16]][_0x200b[12]]};Contact[_0x200b[14]](_0x2875x3[_0x200b[13]][_0x200b[12]])[_0x200b[8]](function(_0x2875x7){if(!_0x2875x7){return _0x2875x4[_0x200b[11]](404)};var _0x2875x8=_[_0x200b[18]](_0x2875x7,_0x2875x3[_0x200b[16]]);_0x2875x8[_0x200b[19]]()[_0x200b[8]](function(){return _0x2875x4[_0x200b[7]](200)[_0x200b[6]](_0x2875x7)})[_0x200b[5]](function(_0x2875x5){return handleError(_0x2875x4,_0x2875x5)});})[_0x200b[5]](function(_0x2875x5){return handleError(_0x2875x4,_0x2875x5)});};exports[_0x200b[20]]=function(_0x2875x3,_0x2875x4){Contact[_0x200b[14]](_0x2875x3[_0x200b[13]][_0x200b[12]])[_0x200b[8]](function(_0x2875x7){if(!_0x2875x7){return _0x2875x4[_0x200b[11]](404)};_0x2875x7[_0x200b[20]]()[_0x200b[8]](function(){return _0x2875x4[_0x200b[11]](204)})[_0x200b[5]](function(_0x2875x5){return handleError(_0x2875x4,_0x2875x5)});})[_0x200b[5]](function(_0x2875x5){return handleError(_0x2875x4,_0x2875x5)})};function handleError(_0x2875x4,_0x2875x5){return _0x2875x4[_0x200b[7]](500)[_0x200b[6]](_0x2875x5)}
\ No newline at end of file
index 02ff49971d4a427a550fb26cf02fb2b49600e608..7a2e6037051e5a00dfc44a59f17ef2b0da4eb698 100644 (file)
@@ -1 +1 @@
-var _0x33ea=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74","\x43\x6F\x6E\x74\x61\x63\x74","\x64\x65\x66\x69\x6E\x65"];_0x33ea[0];module[_0x33ea[1]]=function(_0x6177x1,_0x6177x2){var _0x6177x3=_0x6177x1[_0x33ea[3]](_0x33ea[2],{name:String,info:String,active:Boolean});return _0x6177x3;};
\ No newline at end of file
+var _0x3d5c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74","\x43\x6F\x6E\x74\x61\x63\x74","\x64\x65\x66\x69\x6E\x65"];_0x3d5c[0];module[_0x3d5c[1]]=function(_0x3517x1,_0x3517x2){var _0x3517x3=_0x3517x1[_0x3d5c[3]](_0x3d5c[2],{name:String,info:String,active:Boolean});return _0x3517x3;};
\ No newline at end of file
index 9242ab455a645b5656b7f22865f1e35b55088118..5f9569a6e51dc6c3a5243cac01b7d9f364a86ef0 100644 (file)
@@ -1 +1 @@
-var _0xefc8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x43\x6F\x6E\x74\x61\x63\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x63\x6F\x6E\x74\x61\x63\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x63\x6F\x6E\x74\x61\x63\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0xefc8[0];var contact=require(_0xefc8[2])[_0xefc8[1]];exports[_0xefc8[3]]=function(_0x596fx2){contact[_0xefc8[4]](function(_0x596fx3){onSave(_0x596fx2,_0x596fx3)});contact[_0xefc8[5]](function(_0x596fx3){onRemove(_0x596fx2,_0x596fx3)});};function onSave(_0x596fx2,_0x596fx3,_0x596fx5){_0x596fx2[_0xefc8[7]](_0xefc8[6],_0x596fx3)}function onRemove(_0x596fx2,_0x596fx3,_0x596fx5){_0x596fx2[_0xefc8[7]](_0xefc8[8],_0x596fx3)}
\ No newline at end of file
+var _0x8beb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x43\x6F\x6E\x74\x61\x63\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x63\x6F\x6E\x74\x61\x63\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x63\x6F\x6E\x74\x61\x63\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0x8beb[0];var contact=require(_0x8beb[2])[_0x8beb[1]];exports[_0x8beb[3]]=function(_0xcaa2x2){contact[_0x8beb[4]](function(_0xcaa2x3){onSave(_0xcaa2x2,_0xcaa2x3)});contact[_0x8beb[5]](function(_0xcaa2x3){onRemove(_0xcaa2x2,_0xcaa2x3)});};function onSave(_0xcaa2x2,_0xcaa2x3,_0xcaa2x5){_0xcaa2x2[_0x8beb[7]](_0x8beb[6],_0xcaa2x3)}function onRemove(_0xcaa2x2,_0xcaa2x3,_0xcaa2x5){_0xcaa2x2[_0x8beb[7]](_0x8beb[8],_0xcaa2x3)}
\ No newline at end of file
index 975fec23548c8b228b0eff1a1076844c3a823137..f38daa8da86b0db83e9832daaf2a2010c9cdb745 100644 (file)
@@ -1 +1 @@
-var _0xe212=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x73","\x67\x65\x74"];_0xe212[0];var should=require(_0xe212[1]);var app=require(_0xe212[2]);var request=require(_0xe212[3]);describe(_0xe212[4],function(){it(_0xe212[5],function(_0x5d80x4){request(app)[_0xe212[13]](_0xe212[12])[_0xe212[11]](200)[_0xe212[11]](_0xe212[10],/json/)[_0xe212[9]](function(_0x5d80x5,_0x5d80x6){if(_0x5d80x5){return _0x5d80x4(_0x5d80x5)};_0x5d80x6[_0xe212[8]][_0xe212[1]][_0xe212[7]][_0xe212[6]](Array);_0x5d80x4();})})});
\ No newline at end of file
+var _0xb871=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x73","\x67\x65\x74"];_0xb871[0];var should=require(_0xb871[1]);var app=require(_0xb871[2]);var request=require(_0xb871[3]);describe(_0xb871[4],function(){it(_0xb871[5],function(_0xd9b6x4){request(app)[_0xb871[13]](_0xb871[12])[_0xb871[11]](200)[_0xb871[11]](_0xb871[10],/json/)[_0xb871[9]](function(_0xd9b6x5,_0xd9b6x6){if(_0xd9b6x5){return _0xd9b6x4(_0xd9b6x5)};_0xd9b6x6[_0xb871[8]][_0xb871[1]][_0xb871[7]][_0xb871[6]](Array);_0xd9b6x4();})})});
\ No newline at end of file
index 7c2a73c84e9368df3ebdda8b9ce7e2fecceacb5e..a5876c50d7f66892b1231f1ecf9bf3f4c1b94270 100644 (file)
@@ -1 +1 @@
-var _0x3ff0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x6F\x6E\x74\x61\x63\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x3ff0[0];var express=require(_0x3ff0[1]);var controller=require(_0x3ff0[2]);var router=express.Router();router[_0x3ff0[5]](_0x3ff0[3],controller[_0x3ff0[4]]);router[_0x3ff0[5]](_0x3ff0[6],controller[_0x3ff0[7]]);router[_0x3ff0[9]](_0x3ff0[3],controller[_0x3ff0[8]]);router[_0x3ff0[11]](_0x3ff0[6],controller[_0x3ff0[10]]);router[_0x3ff0[12]](_0x3ff0[6],controller[_0x3ff0[10]]);router[_0x3ff0[14]](_0x3ff0[6],controller[_0x3ff0[13]]);module[_0x3ff0[15]]=router;
\ No newline at end of file
+var _0x291a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x6F\x6E\x74\x61\x63\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x291a[0];var express=require(_0x291a[1]);var controller=require(_0x291a[2]);var router=express.Router();router[_0x291a[5]](_0x291a[3],controller[_0x291a[4]]);router[_0x291a[5]](_0x291a[6],controller[_0x291a[7]]);router[_0x291a[9]](_0x291a[3],controller[_0x291a[8]]);router[_0x291a[11]](_0x291a[6],controller[_0x291a[10]]);router[_0x291a[12]](_0x291a[6],controller[_0x291a[10]]);router[_0x291a[14]](_0x291a[6],controller[_0x291a[13]]);module[_0x291a[15]]=router;
\ No newline at end of file
index 725a0be9d5e4199c04eb0a508d637be7244d3925..3bf1393ffde5f6785d0af84c8c1d23683e00d990 100644 (file)
@@ -1 +1 @@
-var _0x710d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x43\x6F\x6E\x74\x61\x63\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x6F\x6E\x74\x61\x63\x74\x50\x68\x6F\x6E\x65","\x43\x6F\x6E\x74\x61\x63\x74\x45\x6D\x61\x69\x6C","\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64","\x52\x65\x70\x6F\x72\x74\x43\x61\x6C\x6C","\x52\x65\x70\x6F\x72\x74\x43\x61\x6C\x6C\x48\x69\x73\x74\x6F\x72\x79","\x68\x69\x73\x74\x6F\x72\x79","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x53\x65\x73\x73\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x53\x65\x73\x73\x69\x6F\x6E\x48\x69\x73\x74\x6F\x72\x79","\x54\x61\x67","\x73\x74\x72\x65\x61\x6D","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x73\x75\x72\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x6C\x6F\x67","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x50\x68\x6F\x6E\x65\x73","\x49\x6E\x62\x6F\x75\x6E\x64\x73","\x4F\x75\x74\x62\x6F\x75\x6E\x64\x73","\x48\x69\x73\x74\x6F\x72\x79\x49\x6E\x62\x6F\x75\x6E\x64\x73","\x48\x69\x73\x74\x6F\x72\x79\x4F\x75\x74\x62\x6F\x75\x6E\x64\x73","\x45\x6D\x61\x69\x6C\x73","\x49\x6E\x62\x6F\x75\x6E\x64\x4D\x65\x73\x73\x61\x67\x65\x73","\x4F\x75\x74\x62\x6F\x75\x6E\x64\x4D\x65\x73\x73\x61\x67\x65\x73","\x48\x69\x73\x74\x6F\x72\x79\x49\x6E\x62\x6F\x75\x6E\x64\x4D\x65\x73\x73\x61\x67\x65\x73","\x48\x69\x73\x74\x6F\x72\x79\x4F\x75\x74\x62\x6F\x75\x6E\x64\x4D\x65\x73\x73\x61\x67\x65\x73","\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x67\x65\x74\x48\x69\x73\x74\x6F\x72\x79","\x63\x6F\x6E\x74\x61\x63\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x70\x68\x6F\x6E\x65\x73","\x62\x6F\x64\x79","\x65\x6D\x61\x69\x6C\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x63\x72\x65\x61\x74\x65","\x73\x70\x72\x65\x61\x64","\x43\x6F\x6E\x74\x61\x63\x74\x48\x61\x73\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64","\x73\x65\x74\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64\x73","\x6B\x65\x79\x73","\x73\x65\x74\x45\x6D\x61\x69\x6C\x73","\x73\x65\x74\x50\x68\x6F\x6E\x65\x73","\x6D\x61\x70","\x63\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64\x73","\x63\x6C\x6F\x6E\x65","\x61\x6C\x6C","\x65\x6D\x61\x69\x6C","\x70\x6C\x75\x63\x6B","\x75\x6E\x69\x71","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x74\x61\x67\x73","\x2C","\x73\x70\x6C\x69\x74","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x6C\x65\x6E\x67\x74\x68","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x55\x73\x65\x72\x49\x64","\x75\x73\x65\x72","\x70\x68\x6F\x6E\x65","\x75\x70\x64\x61\x74\x65","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0x710d[0];var _=require(_0x710d[1]);var Contact=require(_0x710d[3])[_0x710d[2]];var ContactPhone=require(_0x710d[3])[_0x710d[4]];var ContactEmail=require(_0x710d[3])[_0x710d[5]];var CustomField=require(_0x710d[3])[_0x710d[6]];var ReportCall=require(_0x710d[3])[_0x710d[7]];var ReportCallHistory=require(_0x710d[3])[_0x710d[9]][_0x710d[8]];var ReportMailSession=require(_0x710d[3])[_0x710d[10]];var ReportMailSessionHistory=require(_0x710d[3])[_0x710d[9]][_0x710d[11]];var Tag=require(_0x710d[3])[_0x710d[12]];var stream=require(_0x710d[13]);var sequelize=require(_0x710d[3])[_0x710d[14]];var util=require(_0x710d[15]);exports[_0x710d[16]]=function(_0xae70xe,_0xae70xf){var _0xae70x10=[_0x710d[17],_0x710d[18],_0x710d[19]];var _0xae70x11=_0xae70xe[_0x710d[21]][_0x710d[20]]?parseInt(_0xae70xe[_0x710d[21]][_0x710d[20]],10):100;var _0xae70x12=_0xae70xe[_0x710d[21]][_0x710d[22]]?parseInt(_0xae70xe[_0x710d[21]][_0x710d[22]],10):0;var _0xae70x13={where:{},limit:_0xae70x11,offset:_0xae70x12*_0xae70x11};_[_0x710d[36]](_0xae70xe[_0x710d[21]],function(_0xae70x14,_0xae70x15){switch(_0xae70x15){case _0x710d[20]:;case _0x710d[22]:break ;;case _0x710d[25]:_0xae70x13[_0x710d[23]]=util[_0x710d[28]](_0x710d[24],_0xae70xe[_0x710d[21]][_0x710d[25]],_0xae70xe[_0x710d[21]][_0x710d[26]]||_0x710d[27])||null;break ;;case _0x710d[26]:break ;;case _0x710d[34]:_0xae70x13[_0x710d[30]][_0x710d[29]]=[];_0xae70x10[_0x710d[33]](function(_0xae70x16){var _0xae70x17={};_0xae70x17[_0xae70x16]={$like:_0x710d[31]+_0xae70x14+_0x710d[31]};_0xae70x13[_0x710d[30]][_0x710d[29]][_0x710d[32]](_0xae70x17);});break ;;default:_0xae70x13[_0x710d[30]][_0xae70x15]={$like:{}};_0xae70x13[_0x710d[30]][_0xae70x15][_0x710d[35]]=_0x710d[31]+_0xae70x14+_0x710d[31];;}});Contact[_0x710d[51]](_0xae70x13)[_0x710d[50]](function(_0xae70x19){var _0xae70x1a=Math[_0x710d[42]](_0xae70x19[_0x710d[41]]/_0xae70x11);var _0xae70x1b=_0xae70x1a>(_0xae70x13[_0x710d[43]]+1)?util[_0x710d[28]](_0x710d[44],_0xae70xe[_0x710d[45]],_0xae70xe[_0x710d[47]][_0x710d[46]],_0xae70xe[_0x710d[48]],_0xae70x12+1):null;var _0xae70x1c=_0xae70x12>0?util[_0x710d[28]](_0x710d[44],_0xae70xe[_0x710d[45]],_0xae70xe[_0x710d[47]][_0x710d[46]],_0xae70xe[_0x710d[48]],_0xae70x12-1):null;_0xae70xf[_0x710d[39]](200)[_0x710d[38]]({count:_0xae70x19[_0x710d[41]],rows:_0xae70x19[_0x710d[49]],next_page:_0xae70x1b,previous_page:_0xae70x1c,total_pages:_0xae70x1a});})[_0x710d[40]](function(_0xae70x18){_0xae70xf[_0x710d[39]](500)[_0x710d[38]]({error:_0x710d[37]})});};exports[_0x710d[52]]=function(_0xae70xe,_0xae70xf){Contact[_0x710d[68]](_0xae70xe[_0x710d[56]][_0x710d[55]],{include:[{model:ContactPhone,as:_0x710d[57],include:[{model:ReportCall,as:_0x710d[58],include:[{all:true}]},{model:ReportCall,as:_0x710d[59],include:[{all:true}]},{model:ReportCallHistory,as:_0x710d[60],include:[{all:true}]},{model:ReportCallHistory,as:_0x710d[61],include:[{all:true}]}]},{model:ContactEmail,as:_0x710d[62],include:[{model:ReportMailSession,as:_0x710d[63],include:[{all:true}]},{model:ReportMailSession,as:_0x710d[64],include:[{all:true}]},{model:ReportMailSessionHistory,as:_0x710d[65],include:[{all:true}]},{model:ReportMailSessionHistory,as:_0x710d[66],include:[{all:true}]}]},{model:CustomField,as:_0x710d[67]}]})[_0x710d[50]](function(_0xae70x1d){if(!_0xae70x1d){return _0xae70xf[_0x710d[54]](404)};return _0xae70xf[_0x710d[38]](_0xae70x1d);})[_0x710d[40]](function(_0xae70x18){console[_0x710d[53]](_0xae70x18);return handleError(_0xae70xf,_0xae70x18);})};exports[_0x710d[69]]=function(_0xae70xe,_0xae70xf){};exports[_0x710d[70]]=function(_0xae70xe,_0xae70xf){Contact[_0x710d[74]]({where:{$or:{"\x24\x50\x68\x6F\x6E\x65\x73\x2E\x70\x68\x6F\x6E\x65\x24":_0xae70xe[_0x710d[72]][_0x710d[71]],"\x24\x45\x6D\x61\x69\x6C\x73\x2E\x65\x6D\x61\x69\x6C\x24":_0xae70xe[_0x710d[72]][_0x710d[73]]}},include:[{all:true}]})[_0x710d[50]](function(_0xae70x1e){console[_0x710d[53]](_0xae70x1e);return _0xae70xf[_0x710d[39]](200)[_0x710d[38]](_0xae70x1e);})[_0x710d[40]](function(_0xae70x18){console[_0x710d[53]](_0xae70x18);return handleError(_0xae70xf,_0xae70x18);})};exports[_0x710d[75]]=function(_0xae70xe,_0xae70xf,_0xae70x1f){var _0xae70x20=[],_0xae70x21=[],_0xae70x22={};Tag[_0x710d[74]]()[_0x710d[50]](function(_0xae70x29){var _0xae70x2a=[];var _0xae70x2b=_[_0x710d[87]](_[_0x710d[87]](_0xae70x29,_0x710d[90]),_0x710d[17]);if(_0xae70xe[_0x710d[72]][_0x710d[91]]){var _0xae70x2c=_0xae70xe[_0x710d[72]][_0x710d[91]][_0x710d[93]](_0x710d[92]);_0xae70x2c[_0x710d[33]](function(_0xae70x25){if(!_[_0x710d[94]](_0xae70x29,_0xae70x25)){_0xae70x2a[_0x710d[32]]({name:_0xae70x25})}});if(_0xae70x2a[_0x710d[95]]){Tag[_0x710d[96]](_0xae70x2a,{individualHooks:true})};};_0xae70xe[_0x710d[72]][_0x710d[97]]=_0xae70xe[_0x710d[98]][_0x710d[55]];var _0xae70x2d=_[_0x710d[88]](_[_0x710d[87]](_0xae70xe[_0x710d[72]].Phones,_0x710d[99]));var _0xae70x2e=[];_0xae70x2d[_0x710d[33]](function(_0xae70x25){_0xae70x2e[_0x710d[32]](ContactPhone[_0x710d[89]]({where:{phone:_0xae70x25},defaults:{phone:_0xae70x25}}))});return _0xae70x2e;})[_0x710d[85]]()[_0x710d[50]](function(_0xae70xf){_0xae70x20=_[_0x710d[82]](_0xae70xf,function(_0xae70x25){return _0xae70x25[0]});var _0xae70x27=[];var _0xae70x28=_[_0x710d[88]](_[_0x710d[87]](_0xae70xe[_0x710d[72]].Emails,_0x710d[86]));_0xae70x28[_0x710d[33]](function(_0xae70x25){_0xae70x27[_0x710d[32]](ContactEmail[_0x710d[89]]({where:{email:_0xae70x25},defaults:{email:_0xae70x25}}))});return _0xae70x27;})[_0x710d[85]]()[_0x710d[50]](function(_0xae70xf){_0xae70x21=_[_0x710d[82]](_0xae70xf,function(_0xae70x25){return _0xae70x25[0]});delete _0xae70xe[_0x710d[72]][_0x710d[57]];delete _0xae70xe[_0x710d[72]][_0x710d[62]];_0xae70x22=_[_0x710d[84]](_0xae70xe[_0x710d[72]][_0x710d[83]]);delete _0xae70xe[_0x710d[72]][_0x710d[83]];return Contact[_0x710d[75]](_0xae70xe[_0x710d[72]]);})[_0x710d[50]](function(_0xae70x23){return [_0xae70x23,_0xae70x23[_0x710d[81]](_0xae70x20)]})[_0x710d[76]](function(_0xae70x23){return [_0xae70x23,_0xae70x23[_0x710d[80]](_0xae70x21)]})[_0x710d[76]](function(_0xae70x23){var _0xae70x26=_[_0x710d[79]](_0xae70x22);return [_0xae70x23,CustomField[_0x710d[74]]({where:{id:_0xae70x26}})];})[_0x710d[76]](function(_0xae70x23,_0xae70x24){_0xae70x24[_0x710d[33]](function(_0xae70x25){_0xae70x25[_0x710d[77]]={value:_0xae70x22[String(_0xae70x25[_0x710d[55]])]}});return [_0xae70x23,_0xae70x23[_0x710d[78]](_0xae70x24)];})[_0x710d[76]](function(_0xae70x23){return _0xae70xf[_0x710d[39]](201)[_0x710d[38]](_0xae70x23)})[_0x710d[40]](function(_0xae70x18){console[_0x710d[53]](_0xae70x18);return _0xae70x1f(_0xae70x18);});};exports[_0x710d[100]]=function(_0xae70xe,_0xae70xf,_0xae70x1f){var _0xae70x20=[],_0xae70x21=[],_0xae70x22={};Tag[_0x710d[74]]()[_0x710d[50]](function(_0xae70x29){var _0xae70x2a=[];var _0xae70x2b=_[_0x710d[87]](_[_0x710d[87]](_0xae70x29,_0x710d[90]),_0x710d[17]);if(_0xae70xe[_0x710d[72]][_0x710d[91]]){var _0xae70x2c=_0xae70xe[_0x710d[72]][_0x710d[91]][_0x710d[93]](_0x710d[92]);_0xae70x2c[_0x710d[33]](function(_0xae70x25){if(!_[_0x710d[94]](_0xae70x29,_0xae70x25)){_0xae70x2a[_0x710d[32]]({name:_0xae70x25})}});if(_0xae70x2a[_0x710d[95]]){Tag[_0x710d[96]](_0xae70x2a,{individualHooks:true})};};var _0xae70x2e=[];var _0xae70x2d=_[_0x710d[88]](_[_0x710d[87]](_0xae70xe[_0x710d[72]].Phones,_0x710d[99]));_0xae70x2d[_0x710d[33]](function(_0xae70x25){_0xae70x2e[_0x710d[32]](ContactPhone[_0x710d[89]]({where:{phone:_0xae70x25},defaults:{phone:_0xae70x25}}))});return _0xae70x2e;})[_0x710d[85]]()[_0x710d[50]](function(_0xae70xf){_0xae70x20=_[_0x710d[82]](_0xae70xf,function(_0xae70x25){return _0xae70x25[0]});var _0xae70x27=[];var _0xae70x28=_[_0x710d[88]](_[_0x710d[87]](_0xae70xe[_0x710d[72]].Emails,_0x710d[86]));_0xae70x28[_0x710d[33]](function(_0xae70x25){_0xae70x27[_0x710d[32]](ContactEmail[_0x710d[89]]({where:{email:_0xae70x25},defaults:{email:_0xae70x25}}))});return _0xae70x27;})[_0x710d[85]]()[_0x710d[50]](function(_0xae70xf){_0xae70x21=_[_0x710d[82]](_0xae70xf,function(_0xae70x25){return _0xae70x25[0]});delete _0xae70xe[_0x710d[72]][_0x710d[57]];delete _0xae70xe[_0x710d[72]][_0x710d[62]];_0xae70x22=_[_0x710d[84]](_0xae70xe[_0x710d[72]][_0x710d[83]]);delete _0xae70xe[_0x710d[72]][_0x710d[83]];delete _0xae70xe[_0x710d[72]][_0x710d[67]];var _0xae70x2f=_0xae70xe[_0x710d[72]][_0x710d[55]];delete _0xae70xe[_0x710d[72]][_0x710d[55]];return Contact[_0x710d[68]](_0xae70x2f);})[_0x710d[50]](function(_0xae70x23){return [_0xae70x23,_0xae70x23[_0x710d[81]](_0xae70x20)]})[_0x710d[76]](function(_0xae70x23){return [_0xae70x23,_0xae70x23[_0x710d[80]](_0xae70x21)]})[_0x710d[76]](function(_0xae70x23){var _0xae70x26=_[_0x710d[79]](_0xae70x22);return [_0xae70x23,CustomField[_0x710d[74]]({where:{id:_0xae70x26}})];})[_0x710d[76]](function(_0xae70x23,_0xae70x24){_0xae70x24[_0x710d[33]](function(_0xae70x25){_0xae70x25[_0x710d[77]]={value:_0xae70x22[String(_0xae70x25[_0x710d[55]])]}});return [_0xae70x23,_0xae70x23[_0x710d[78]](_0xae70x24)];})[_0x710d[76]](function(_0xae70x23){return _0xae70x23[_0x710d[101]](_0xae70xe[_0x710d[72]])})[_0x710d[50]](function(_0xae70x23){return _0xae70xf[_0x710d[39]](200)[_0x710d[38]](_0xae70x23)})[_0x710d[40]](function(_0xae70x18){console[_0x710d[53]](_0xae70x18);return handleError(_0xae70xf,_0xae70x18);});};exports[_0x710d[102]]=function(_0xae70xe,_0xae70xf){Contact[_0x710d[68]](_0xae70xe[_0x710d[56]][_0x710d[55]])[_0x710d[50]](function(_0xae70x1d){if(!_0xae70x1d){return _0xae70xf[_0x710d[54]](404)};_0xae70x1d[_0x710d[102]]()[_0x710d[50]](function(){return _0xae70xf[_0x710d[54]](204)})[_0x710d[40]](function(_0xae70x18){return handleError(_0xae70xf,_0xae70x18)});})[_0x710d[40]](function(_0xae70x18){return handleError(_0xae70xf,_0xae70x18)})};exports[_0x710d[103]]=function(_0xae70xe,_0xae70xf){Contact[_0x710d[102]]({where:{id:_0xae70xe[_0x710d[21]][_0x710d[55]]},individualHooks:true})[_0x710d[50]](function(){return _0xae70xf[_0x710d[54]](204)})[_0x710d[40]](function(_0xae70x18){return handleError(_0xae70xf,_0xae70x18)})};function handleError(_0xae70xf,_0xae70x18){return _0xae70xf[_0x710d[39]](500)[_0x710d[38]](_0xae70x18)}
\ No newline at end of file
+var _0xc007=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x43\x6F\x6E\x74\x61\x63\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x6F\x6E\x74\x61\x63\x74\x50\x68\x6F\x6E\x65","\x43\x6F\x6E\x74\x61\x63\x74\x45\x6D\x61\x69\x6C","\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64","\x52\x65\x70\x6F\x72\x74\x43\x61\x6C\x6C","\x52\x65\x70\x6F\x72\x74\x43\x61\x6C\x6C\x48\x69\x73\x74\x6F\x72\x79","\x68\x69\x73\x74\x6F\x72\x79","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x53\x65\x73\x73\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x53\x65\x73\x73\x69\x6F\x6E\x48\x69\x73\x74\x6F\x72\x79","\x54\x61\x67","\x73\x74\x72\x65\x61\x6D","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x73\x75\x72\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x6C\x6F\x67","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x50\x68\x6F\x6E\x65\x73","\x49\x6E\x62\x6F\x75\x6E\x64\x73","\x4F\x75\x74\x62\x6F\x75\x6E\x64\x73","\x48\x69\x73\x74\x6F\x72\x79\x49\x6E\x62\x6F\x75\x6E\x64\x73","\x48\x69\x73\x74\x6F\x72\x79\x4F\x75\x74\x62\x6F\x75\x6E\x64\x73","\x45\x6D\x61\x69\x6C\x73","\x49\x6E\x62\x6F\x75\x6E\x64\x4D\x65\x73\x73\x61\x67\x65\x73","\x4F\x75\x74\x62\x6F\x75\x6E\x64\x4D\x65\x73\x73\x61\x67\x65\x73","\x48\x69\x73\x74\x6F\x72\x79\x49\x6E\x62\x6F\x75\x6E\x64\x4D\x65\x73\x73\x61\x67\x65\x73","\x48\x69\x73\x74\x6F\x72\x79\x4F\x75\x74\x62\x6F\x75\x6E\x64\x4D\x65\x73\x73\x61\x67\x65\x73","\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x67\x65\x74\x48\x69\x73\x74\x6F\x72\x79","\x63\x6F\x6E\x74\x61\x63\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x70\x68\x6F\x6E\x65\x73","\x62\x6F\x64\x79","\x65\x6D\x61\x69\x6C\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x63\x72\x65\x61\x74\x65","\x73\x70\x72\x65\x61\x64","\x43\x6F\x6E\x74\x61\x63\x74\x48\x61\x73\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64","\x73\x65\x74\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64\x73","\x6B\x65\x79\x73","\x73\x65\x74\x45\x6D\x61\x69\x6C\x73","\x73\x65\x74\x50\x68\x6F\x6E\x65\x73","\x6D\x61\x70","\x63\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64\x73","\x63\x6C\x6F\x6E\x65","\x61\x6C\x6C","\x65\x6D\x61\x69\x6C","\x70\x6C\x75\x63\x6B","\x75\x6E\x69\x71","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x74\x61\x67\x73","\x2C","\x73\x70\x6C\x69\x74","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x6C\x65\x6E\x67\x74\x68","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x55\x73\x65\x72\x49\x64","\x75\x73\x65\x72","\x70\x68\x6F\x6E\x65","\x75\x70\x64\x61\x74\x65","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0xc007[0];var _=require(_0xc007[1]);var Contact=require(_0xc007[3])[_0xc007[2]];var ContactPhone=require(_0xc007[3])[_0xc007[4]];var ContactEmail=require(_0xc007[3])[_0xc007[5]];var CustomField=require(_0xc007[3])[_0xc007[6]];var ReportCall=require(_0xc007[3])[_0xc007[7]];var ReportCallHistory=require(_0xc007[3])[_0xc007[9]][_0xc007[8]];var ReportMailSession=require(_0xc007[3])[_0xc007[10]];var ReportMailSessionHistory=require(_0xc007[3])[_0xc007[9]][_0xc007[11]];var Tag=require(_0xc007[3])[_0xc007[12]];var stream=require(_0xc007[13]);var sequelize=require(_0xc007[3])[_0xc007[14]];var util=require(_0xc007[15]);exports[_0xc007[16]]=function(_0xc865xe,_0xc865xf){var _0xc865x10=[_0xc007[17],_0xc007[18],_0xc007[19]];var _0xc865x11=_0xc865xe[_0xc007[21]][_0xc007[20]]?parseInt(_0xc865xe[_0xc007[21]][_0xc007[20]],10):100;var _0xc865x12=_0xc865xe[_0xc007[21]][_0xc007[22]]?parseInt(_0xc865xe[_0xc007[21]][_0xc007[22]],10):0;var _0xc865x13={where:{},limit:_0xc865x11,offset:_0xc865x12*_0xc865x11};_[_0xc007[36]](_0xc865xe[_0xc007[21]],function(_0xc865x14,_0xc865x15){switch(_0xc865x15){case _0xc007[20]:;case _0xc007[22]:break ;;case _0xc007[25]:_0xc865x13[_0xc007[23]]=util[_0xc007[28]](_0xc007[24],_0xc865xe[_0xc007[21]][_0xc007[25]],_0xc865xe[_0xc007[21]][_0xc007[26]]||_0xc007[27])||null;break ;;case _0xc007[26]:break ;;case _0xc007[34]:_0xc865x13[_0xc007[30]][_0xc007[29]]=[];_0xc865x10[_0xc007[33]](function(_0xc865x16){var _0xc865x17={};_0xc865x17[_0xc865x16]={$like:_0xc007[31]+_0xc865x14+_0xc007[31]};_0xc865x13[_0xc007[30]][_0xc007[29]][_0xc007[32]](_0xc865x17);});break ;;default:_0xc865x13[_0xc007[30]][_0xc865x15]={$like:{}};_0xc865x13[_0xc007[30]][_0xc865x15][_0xc007[35]]=_0xc007[31]+_0xc865x14+_0xc007[31];;}});Contact[_0xc007[51]](_0xc865x13)[_0xc007[50]](function(_0xc865x19){var _0xc865x1a=Math[_0xc007[42]](_0xc865x19[_0xc007[41]]/_0xc865x11);var _0xc865x1b=_0xc865x1a>(_0xc865x13[_0xc007[43]]+1)?util[_0xc007[28]](_0xc007[44],_0xc865xe[_0xc007[45]],_0xc865xe[_0xc007[47]][_0xc007[46]],_0xc865xe[_0xc007[48]],_0xc865x12+1):null;var _0xc865x1c=_0xc865x12>0?util[_0xc007[28]](_0xc007[44],_0xc865xe[_0xc007[45]],_0xc865xe[_0xc007[47]][_0xc007[46]],_0xc865xe[_0xc007[48]],_0xc865x12-1):null;_0xc865xf[_0xc007[39]](200)[_0xc007[38]]({count:_0xc865x19[_0xc007[41]],rows:_0xc865x19[_0xc007[49]],next_page:_0xc865x1b,previous_page:_0xc865x1c,total_pages:_0xc865x1a});})[_0xc007[40]](function(_0xc865x18){_0xc865xf[_0xc007[39]](500)[_0xc007[38]]({error:_0xc007[37]})});};exports[_0xc007[52]]=function(_0xc865xe,_0xc865xf){Contact[_0xc007[68]](_0xc865xe[_0xc007[56]][_0xc007[55]],{include:[{model:ContactPhone,as:_0xc007[57],include:[{model:ReportCall,as:_0xc007[58],include:[{all:true}]},{model:ReportCall,as:_0xc007[59],include:[{all:true}]},{model:ReportCallHistory,as:_0xc007[60],include:[{all:true}]},{model:ReportCallHistory,as:_0xc007[61],include:[{all:true}]}]},{model:ContactEmail,as:_0xc007[62],include:[{model:ReportMailSession,as:_0xc007[63],include:[{all:true}]},{model:ReportMailSession,as:_0xc007[64],include:[{all:true}]},{model:ReportMailSessionHistory,as:_0xc007[65],include:[{all:true}]},{model:ReportMailSessionHistory,as:_0xc007[66],include:[{all:true}]}]},{model:CustomField,as:_0xc007[67]}]})[_0xc007[50]](function(_0xc865x1d){if(!_0xc865x1d){return _0xc865xf[_0xc007[54]](404)};return _0xc865xf[_0xc007[38]](_0xc865x1d);})[_0xc007[40]](function(_0xc865x18){console[_0xc007[53]](_0xc865x18);return handleError(_0xc865xf,_0xc865x18);})};exports[_0xc007[69]]=function(_0xc865xe,_0xc865xf){};exports[_0xc007[70]]=function(_0xc865xe,_0xc865xf){Contact[_0xc007[74]]({where:{$or:{"\x24\x50\x68\x6F\x6E\x65\x73\x2E\x70\x68\x6F\x6E\x65\x24":_0xc865xe[_0xc007[72]][_0xc007[71]],"\x24\x45\x6D\x61\x69\x6C\x73\x2E\x65\x6D\x61\x69\x6C\x24":_0xc865xe[_0xc007[72]][_0xc007[73]]}},include:[{all:true}]})[_0xc007[50]](function(_0xc865x1e){console[_0xc007[53]](_0xc865x1e);return _0xc865xf[_0xc007[39]](200)[_0xc007[38]](_0xc865x1e);})[_0xc007[40]](function(_0xc865x18){console[_0xc007[53]](_0xc865x18);return handleError(_0xc865xf,_0xc865x18);})};exports[_0xc007[75]]=function(_0xc865xe,_0xc865xf,_0xc865x1f){var _0xc865x20=[],_0xc865x21=[],_0xc865x22={};Tag[_0xc007[74]]()[_0xc007[50]](function(_0xc865x29){var _0xc865x2a=[];var _0xc865x2b=_[_0xc007[87]](_[_0xc007[87]](_0xc865x29,_0xc007[90]),_0xc007[17]);if(_0xc865xe[_0xc007[72]][_0xc007[91]]){var _0xc865x2c=_0xc865xe[_0xc007[72]][_0xc007[91]][_0xc007[93]](_0xc007[92]);_0xc865x2c[_0xc007[33]](function(_0xc865x25){if(!_[_0xc007[94]](_0xc865x29,_0xc865x25)){_0xc865x2a[_0xc007[32]]({name:_0xc865x25})}});if(_0xc865x2a[_0xc007[95]]){Tag[_0xc007[96]](_0xc865x2a,{individualHooks:true})};};_0xc865xe[_0xc007[72]][_0xc007[97]]=_0xc865xe[_0xc007[98]][_0xc007[55]];var _0xc865x2d=_[_0xc007[88]](_[_0xc007[87]](_0xc865xe[_0xc007[72]].Phones,_0xc007[99]));var _0xc865x2e=[];_0xc865x2d[_0xc007[33]](function(_0xc865x25){_0xc865x2e[_0xc007[32]](ContactPhone[_0xc007[89]]({where:{phone:_0xc865x25},defaults:{phone:_0xc865x25}}))});return _0xc865x2e;})[_0xc007[85]]()[_0xc007[50]](function(_0xc865xf){_0xc865x20=_[_0xc007[82]](_0xc865xf,function(_0xc865x25){return _0xc865x25[0]});var _0xc865x27=[];var _0xc865x28=_[_0xc007[88]](_[_0xc007[87]](_0xc865xe[_0xc007[72]].Emails,_0xc007[86]));_0xc865x28[_0xc007[33]](function(_0xc865x25){_0xc865x27[_0xc007[32]](ContactEmail[_0xc007[89]]({where:{email:_0xc865x25},defaults:{email:_0xc865x25}}))});return _0xc865x27;})[_0xc007[85]]()[_0xc007[50]](function(_0xc865xf){_0xc865x21=_[_0xc007[82]](_0xc865xf,function(_0xc865x25){return _0xc865x25[0]});delete _0xc865xe[_0xc007[72]][_0xc007[57]];delete _0xc865xe[_0xc007[72]][_0xc007[62]];_0xc865x22=_[_0xc007[84]](_0xc865xe[_0xc007[72]][_0xc007[83]]);delete _0xc865xe[_0xc007[72]][_0xc007[83]];return Contact[_0xc007[75]](_0xc865xe[_0xc007[72]]);})[_0xc007[50]](function(_0xc865x23){return [_0xc865x23,_0xc865x23[_0xc007[81]](_0xc865x20)]})[_0xc007[76]](function(_0xc865x23){return [_0xc865x23,_0xc865x23[_0xc007[80]](_0xc865x21)]})[_0xc007[76]](function(_0xc865x23){var _0xc865x26=_[_0xc007[79]](_0xc865x22);return [_0xc865x23,CustomField[_0xc007[74]]({where:{id:_0xc865x26}})];})[_0xc007[76]](function(_0xc865x23,_0xc865x24){_0xc865x24[_0xc007[33]](function(_0xc865x25){_0xc865x25[_0xc007[77]]={value:_0xc865x22[String(_0xc865x25[_0xc007[55]])]}});return [_0xc865x23,_0xc865x23[_0xc007[78]](_0xc865x24)];})[_0xc007[76]](function(_0xc865x23){return _0xc865xf[_0xc007[39]](201)[_0xc007[38]](_0xc865x23)})[_0xc007[40]](function(_0xc865x18){console[_0xc007[53]](_0xc865x18);return _0xc865x1f(_0xc865x18);});};exports[_0xc007[100]]=function(_0xc865xe,_0xc865xf,_0xc865x1f){var _0xc865x20=[],_0xc865x21=[],_0xc865x22={};Tag[_0xc007[74]]()[_0xc007[50]](function(_0xc865x29){var _0xc865x2a=[];var _0xc865x2b=_[_0xc007[87]](_[_0xc007[87]](_0xc865x29,_0xc007[90]),_0xc007[17]);if(_0xc865xe[_0xc007[72]][_0xc007[91]]){var _0xc865x2c=_0xc865xe[_0xc007[72]][_0xc007[91]][_0xc007[93]](_0xc007[92]);_0xc865x2c[_0xc007[33]](function(_0xc865x25){if(!_[_0xc007[94]](_0xc865x29,_0xc865x25)){_0xc865x2a[_0xc007[32]]({name:_0xc865x25})}});if(_0xc865x2a[_0xc007[95]]){Tag[_0xc007[96]](_0xc865x2a,{individualHooks:true})};};var _0xc865x2e=[];var _0xc865x2d=_[_0xc007[88]](_[_0xc007[87]](_0xc865xe[_0xc007[72]].Phones,_0xc007[99]));_0xc865x2d[_0xc007[33]](function(_0xc865x25){_0xc865x2e[_0xc007[32]](ContactPhone[_0xc007[89]]({where:{phone:_0xc865x25},defaults:{phone:_0xc865x25}}))});return _0xc865x2e;})[_0xc007[85]]()[_0xc007[50]](function(_0xc865xf){_0xc865x20=_[_0xc007[82]](_0xc865xf,function(_0xc865x25){return _0xc865x25[0]});var _0xc865x27=[];var _0xc865x28=_[_0xc007[88]](_[_0xc007[87]](_0xc865xe[_0xc007[72]].Emails,_0xc007[86]));_0xc865x28[_0xc007[33]](function(_0xc865x25){_0xc865x27[_0xc007[32]](ContactEmail[_0xc007[89]]({where:{email:_0xc865x25},defaults:{email:_0xc865x25}}))});return _0xc865x27;})[_0xc007[85]]()[_0xc007[50]](function(_0xc865xf){_0xc865x21=_[_0xc007[82]](_0xc865xf,function(_0xc865x25){return _0xc865x25[0]});delete _0xc865xe[_0xc007[72]][_0xc007[57]];delete _0xc865xe[_0xc007[72]][_0xc007[62]];_0xc865x22=_[_0xc007[84]](_0xc865xe[_0xc007[72]][_0xc007[83]]);delete _0xc865xe[_0xc007[72]][_0xc007[83]];delete _0xc865xe[_0xc007[72]][_0xc007[67]];var _0xc865x2f=_0xc865xe[_0xc007[72]][_0xc007[55]];delete _0xc865xe[_0xc007[72]][_0xc007[55]];return Contact[_0xc007[68]](_0xc865x2f);})[_0xc007[50]](function(_0xc865x23){return [_0xc865x23,_0xc865x23[_0xc007[81]](_0xc865x20)]})[_0xc007[76]](function(_0xc865x23){return [_0xc865x23,_0xc865x23[_0xc007[80]](_0xc865x21)]})[_0xc007[76]](function(_0xc865x23){var _0xc865x26=_[_0xc007[79]](_0xc865x22);return [_0xc865x23,CustomField[_0xc007[74]]({where:{id:_0xc865x26}})];})[_0xc007[76]](function(_0xc865x23,_0xc865x24){_0xc865x24[_0xc007[33]](function(_0xc865x25){_0xc865x25[_0xc007[77]]={value:_0xc865x22[String(_0xc865x25[_0xc007[55]])]}});return [_0xc865x23,_0xc865x23[_0xc007[78]](_0xc865x24)];})[_0xc007[76]](function(_0xc865x23){return _0xc865x23[_0xc007[101]](_0xc865xe[_0xc007[72]])})[_0xc007[50]](function(_0xc865x23){return _0xc865xf[_0xc007[39]](200)[_0xc007[38]](_0xc865x23)})[_0xc007[40]](function(_0xc865x18){console[_0xc007[53]](_0xc865x18);return handleError(_0xc865xf,_0xc865x18);});};exports[_0xc007[102]]=function(_0xc865xe,_0xc865xf){Contact[_0xc007[68]](_0xc865xe[_0xc007[56]][_0xc007[55]])[_0xc007[50]](function(_0xc865x1d){if(!_0xc865x1d){return _0xc865xf[_0xc007[54]](404)};_0xc865x1d[_0xc007[102]]()[_0xc007[50]](function(){return _0xc865xf[_0xc007[54]](204)})[_0xc007[40]](function(_0xc865x18){return handleError(_0xc865xf,_0xc865x18)});})[_0xc007[40]](function(_0xc865x18){return handleError(_0xc865xf,_0xc865x18)})};exports[_0xc007[103]]=function(_0xc865xe,_0xc865xf){Contact[_0xc007[102]]({where:{id:_0xc865xe[_0xc007[21]][_0xc007[55]]},individualHooks:true})[_0xc007[50]](function(){return _0xc865xf[_0xc007[54]](204)})[_0xc007[40]](function(_0xc865x18){return handleError(_0xc865xf,_0xc865x18)})};function handleError(_0xc865xf,_0xc865x18){return _0xc865xf[_0xc007[39]](500)[_0xc007[38]](_0xc865x18)}
\ No newline at end of file
index 2f25a0bae8236cc3d62e0e1f4abadea043c242c6..302dd02a9c8d85c816bb552968ee7d0a60b38277 100644 (file)
@@ -1 +1 @@
-var _0x1d65=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x43\x6F\x6E\x74\x61\x63\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x63\x6F\x6E\x74\x61\x63\x74\x5F\x6D\x61\x6E\x61\x67\x65\x72\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x63\x6F\x6E\x74\x61\x63\x74\x5F\x6D\x61\x6E\x61\x67\x65\x72\x3A\x72\x65\x6D\x6F\x76\x65"];_0x1d65[0];var Contact=require(_0x1d65[2])[_0x1d65[1]];exports[_0x1d65[3]]=function(_0xcc54x2){Contact[_0x1d65[4]](function(_0xcc54x3){onSave(_0xcc54x2,_0xcc54x3)});Contact[_0x1d65[5]](function(_0xcc54x3){onRemove(_0xcc54x2,_0xcc54x3)});};function onSave(_0xcc54x2,_0xcc54x3,_0xcc54x5){_0xcc54x2[_0x1d65[7]](_0x1d65[6],_0xcc54x3)}function onRemove(_0xcc54x2,_0xcc54x3,_0xcc54x5){_0xcc54x2[_0x1d65[7]](_0x1d65[8],_0xcc54x3)}
\ No newline at end of file
+var _0x8446=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x43\x6F\x6E\x74\x61\x63\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x63\x6F\x6E\x74\x61\x63\x74\x5F\x6D\x61\x6E\x61\x67\x65\x72\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x63\x6F\x6E\x74\x61\x63\x74\x5F\x6D\x61\x6E\x61\x67\x65\x72\x3A\x72\x65\x6D\x6F\x76\x65"];_0x8446[0];var Contact=require(_0x8446[2])[_0x8446[1]];exports[_0x8446[3]]=function(_0x83c7x2){Contact[_0x8446[4]](function(_0x83c7x3){onSave(_0x83c7x2,_0x83c7x3)});Contact[_0x8446[5]](function(_0x83c7x3){onRemove(_0x83c7x2,_0x83c7x3)});};function onSave(_0x83c7x2,_0x83c7x3,_0x83c7x5){_0x83c7x2[_0x8446[7]](_0x8446[6],_0x83c7x3)}function onRemove(_0x83c7x2,_0x83c7x3,_0x83c7x5){_0x83c7x2[_0x8446[7]](_0x8446[8],_0x83c7x3)}
\ No newline at end of file
index a86f1f5130b2b3a15a4489e8fb8e0b684d785b68..a732b4f547e3a86c1a8563e2ccb7020c602ef94f 100644 (file)
@@ -1 +1 @@
-var _0x848c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72","\x67\x65\x74"];_0x848c[0];var should=require(_0x848c[1]);var app=require(_0x848c[2]);var request=require(_0x848c[3]);describe(_0x848c[4],function(){it(_0x848c[5],function(_0xdca5x4){request(app)[_0x848c[13]](_0x848c[12])[_0x848c[11]](200)[_0x848c[11]](_0x848c[10],/json/)[_0x848c[9]](function(_0xdca5x5,_0xdca5x6){if(_0xdca5x5){return _0xdca5x4(_0xdca5x5)};_0xdca5x6[_0x848c[8]][_0x848c[1]][_0x848c[7]][_0x848c[6]](Array);_0xdca5x4();})})});
\ No newline at end of file
+var _0x1ef6=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72","\x67\x65\x74"];_0x1ef6[0];var should=require(_0x1ef6[1]);var app=require(_0x1ef6[2]);var request=require(_0x1ef6[3]);describe(_0x1ef6[4],function(){it(_0x1ef6[5],function(_0xf931x4){request(app)[_0x1ef6[13]](_0x1ef6[12])[_0x1ef6[11]](200)[_0x1ef6[11]](_0x1ef6[10],/json/)[_0x1ef6[9]](function(_0xf931x5,_0xf931x6){if(_0xf931x5){return _0xf931x4(_0xf931x5)};_0xf931x6[_0x1ef6[8]][_0x1ef6[1]][_0x1ef6[7]][_0x1ef6[6]](Array);_0xf931x4();})})});
\ No newline at end of file
index a3a937e3f0809df02555d3a601cdc399defe9665..2ac753e1c662cf61d234ddac33124837e39a34c5 100644 (file)
@@ -1 +1 @@
-var _0x6cbd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x6F\x6E\x74\x61\x63\x74\x5F\x6D\x61\x6E\x61\x67\x65\x72\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x68\x69\x73\x74\x6F\x72\x79","\x67\x65\x74\x48\x69\x73\x74\x6F\x72\x79","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x63\x6F\x6E\x74\x61\x63\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x6cbd[0];var express=require(_0x6cbd[1]);var controller=require(_0x6cbd[2]);var auth=require(_0x6cbd[3]);var router=express.Router();router[_0x6cbd[7]](_0x6cbd[4],auth[_0x6cbd[5]](),controller[_0x6cbd[6]]);router[_0x6cbd[7]](_0x6cbd[8],auth[_0x6cbd[5]](),controller[_0x6cbd[9]]);router[_0x6cbd[7]](_0x6cbd[10],auth[_0x6cbd[5]](),controller[_0x6cbd[11]]);router[_0x6cbd[13]](_0x6cbd[4],auth[_0x6cbd[5]](),controller[_0x6cbd[12]]);router[_0x6cbd[13]](_0x6cbd[14],auth[_0x6cbd[5]](),controller[_0x6cbd[15]]);router[_0x6cbd[17]](_0x6cbd[8],auth[_0x6cbd[5]](),controller[_0x6cbd[16]]);router[_0x6cbd[18]](_0x6cbd[8],auth[_0x6cbd[5]](),controller[_0x6cbd[16]]);router[_0x6cbd[20]](_0x6cbd[4],auth[_0x6cbd[5]](),controller[_0x6cbd[19]]);router[_0x6cbd[20]](_0x6cbd[8],auth[_0x6cbd[5]](),controller[_0x6cbd[21]]);module[_0x6cbd[22]]=router;
\ No newline at end of file
+var _0xa916=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x6F\x6E\x74\x61\x63\x74\x5F\x6D\x61\x6E\x61\x67\x65\x72\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x68\x69\x73\x74\x6F\x72\x79","\x67\x65\x74\x48\x69\x73\x74\x6F\x72\x79","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x63\x6F\x6E\x74\x61\x63\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xa916[0];var express=require(_0xa916[1]);var controller=require(_0xa916[2]);var auth=require(_0xa916[3]);var router=express.Router();router[_0xa916[7]](_0xa916[4],auth[_0xa916[5]](),controller[_0xa916[6]]);router[_0xa916[7]](_0xa916[8],auth[_0xa916[5]](),controller[_0xa916[9]]);router[_0xa916[7]](_0xa916[10],auth[_0xa916[5]](),controller[_0xa916[11]]);router[_0xa916[13]](_0xa916[4],auth[_0xa916[5]](),controller[_0xa916[12]]);router[_0xa916[13]](_0xa916[14],auth[_0xa916[5]](),controller[_0xa916[15]]);router[_0xa916[17]](_0xa916[8],auth[_0xa916[5]](),controller[_0xa916[16]]);router[_0xa916[18]](_0xa916[8],auth[_0xa916[5]](),controller[_0xa916[16]]);router[_0xa916[20]](_0xa916[4],auth[_0xa916[5]](),controller[_0xa916[19]]);router[_0xa916[20]](_0xa916[8],auth[_0xa916[5]](),controller[_0xa916[21]]);module[_0xa916[22]]=router;
\ No newline at end of file
index f39e49441cd4b166e4747288716674b6eb82cfbd..35c1f5e9c4fe90c49d0334a29cc37f91554d0896 100644 (file)
@@ -1 +1 @@
-var _0x9a8a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x67\x65\x74\x41\x6C\x6C","\x66\x69\x6E\x64\x41\x6C\x6C","\x63\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x62\x6F\x64\x79","\x6C\x6F\x67","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x6C\x65\x6E\x67\x74\x68","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x43\x55\x53\x54\x4F\x4D\x5F\x46\x49\x45\x4C\x44","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x61\x63\x74\x69\x76\x61\x74\x65","\x62\x75\x6C\x6B\x44\x65\x61\x63\x74\x69\x76\x61\x74\x65"];_0x9a8a[0];var _=require(_0x9a8a[1]);var CustomField=require(_0x9a8a[3])[_0x9a8a[2]];var util=require(_0x9a8a[4]);exports[_0x9a8a[5]]=function(_0x3132x4,_0x3132x5){var _0x3132x6=[_0x9a8a[6],_0x9a8a[7]];var _0x3132x7=_0x3132x4[_0x9a8a[9]][_0x9a8a[8]]?parseInt(_0x3132x4[_0x9a8a[9]][_0x9a8a[8]],10):100;var _0x3132x8=_0x3132x4[_0x9a8a[9]][_0x9a8a[10]]?parseInt(_0x3132x4[_0x9a8a[9]][_0x9a8a[10]],10):0;var _0x3132x9={where:{active:true},limit:_0x3132x7,offset:_0x3132x8*_0x3132x7};_[_0x9a8a[24]](_0x3132x4[_0x9a8a[9]],function(_0x3132xa,_0x3132xb){switch(_0x3132xb){case _0x9a8a[8]:;case _0x9a8a[10]:break ;;case _0x9a8a[13]:_0x3132x9[_0x9a8a[11]]=util[_0x9a8a[16]](_0x9a8a[12],_0x3132x4[_0x9a8a[9]][_0x9a8a[13]],_0x3132x4[_0x9a8a[9]][_0x9a8a[14]]||_0x9a8a[15])||null;break ;;case _0x9a8a[14]:break ;;case _0x9a8a[22]:_0x3132x9[_0x9a8a[18]][_0x9a8a[17]]=[];_0x3132x6[_0x9a8a[21]](function(_0x3132xc){var _0x3132xd={};_0x3132xd[_0x3132xc]={$like:_0x9a8a[19]+_0x3132xa+_0x9a8a[19]};_0x3132x9[_0x9a8a[18]][_0x9a8a[17]][_0x9a8a[20]](_0x3132xd);});break ;;default:_0x3132x9[_0x9a8a[18]][_0x3132xb]={$like:{}};_0x3132x9[_0x9a8a[18]][_0x3132xb][_0x9a8a[23]]=_0x9a8a[19]+_0x3132xa+_0x9a8a[19];;}});CustomField[_0x9a8a[39]](_0x3132x9)[_0x9a8a[38]](function(_0x3132xf){var _0x3132x10=Math[_0x9a8a[30]](_0x3132xf[_0x9a8a[29]]/_0x3132x7);var _0x3132x11=_0x3132x10>(_0x3132x9[_0x9a8a[31]]+1)?util[_0x9a8a[16]](_0x9a8a[32],_0x3132x4[_0x9a8a[33]],_0x3132x4[_0x9a8a[35]][_0x9a8a[34]],_0x3132x4[_0x9a8a[36]],_0x3132x8+1):null;var _0x3132x12=_0x3132x8>0?util[_0x9a8a[16]](_0x9a8a[32],_0x3132x4[_0x9a8a[33]],_0x3132x4[_0x9a8a[35]][_0x9a8a[34]],_0x3132x4[_0x9a8a[36]],_0x3132x8-1):null;_0x3132x5[_0x9a8a[27]](200)[_0x9a8a[26]]({count:_0x3132xf[_0x9a8a[29]],rows:_0x3132xf[_0x9a8a[37]],next_page:_0x3132x11,previous_page:_0x3132x12,total_pages:_0x3132x10});})[_0x9a8a[28]](function(_0x3132xe){_0x3132x5[_0x9a8a[27]](500)[_0x9a8a[26]]({error:_0x9a8a[25]})});};exports[_0x9a8a[40]]=function(_0x3132x4,_0x3132x5){CustomField[_0x9a8a[41]]()[_0x9a8a[38]](function(_0x3132x13){return _0x3132x5[_0x9a8a[27]](200)[_0x9a8a[26]](_0x3132x13)})[_0x9a8a[28]](function(_0x3132xe){return handleError(_0x3132x5,_0x3132xe)})};exports[_0x9a8a[42]]=function(_0x3132x4,_0x3132x5){console[_0x9a8a[44]](_0x3132x4[_0x9a8a[43]]);CustomField[_0x9a8a[41]]({where:{name:_0x3132x4[_0x9a8a[43]][_0x9a8a[6]]}})[_0x9a8a[38]](function(_0x3132x13){if(!_0x3132x13){return _0x3132x5[_0x9a8a[45]](404)};return _0x3132x5[_0x9a8a[26]](_0x3132x13);})[_0x9a8a[28]](function(_0x3132xe){return handleError(_0x3132x5,_0x3132xe)});};exports[_0x9a8a[46]]=function(_0x3132x4,_0x3132x5){CustomField[_0x9a8a[49]](_0x3132x4[_0x9a8a[48]][_0x9a8a[47]])[_0x9a8a[38]](function(_0x3132x14){if(!_0x3132x14){return _0x3132x5[_0x9a8a[45]](404)};return _0x3132x5[_0x9a8a[26]](_0x3132x14);})[_0x9a8a[28]](function(_0x3132xe){return handleError(_0x3132x5,_0x3132xe)})};exports[_0x9a8a[50]]=function(_0x3132x4,_0x3132x5){CustomField[_0x9a8a[50]](_0x3132x4[_0x9a8a[43]])[_0x9a8a[38]](function(_0x3132x14){return _0x3132x5[_0x9a8a[27]](201)[_0x9a8a[26]](_0x3132x14)})[_0x9a8a[28]](function(_0x3132xe){return handleError(_0x3132x5,_0x3132xe)})};exports[_0x9a8a[51]]=function(_0x3132x4,_0x3132x5){CustomField[_0x9a8a[41]]({where:{name:_0x3132x4[_0x9a8a[43]][_0x9a8a[6]],id:{$ne:_0x3132x4[_0x9a8a[43]][_0x9a8a[47]]}}})[_0x9a8a[38]](function(_0x3132x13){if(!_0x3132x13){return _0x3132x5[_0x9a8a[45]](404)};if(_0x3132x13[_0x9a8a[52]]>0){return _0x3132x5[_0x9a8a[27]](500)[_0x9a8a[26]]({message:_0x9a8a[53]})};if(_0x3132x4[_0x9a8a[43]][_0x9a8a[47]]){delete _0x3132x4[_0x9a8a[43]][_0x9a8a[47]]};CustomField[_0x9a8a[49]](_0x3132x4[_0x9a8a[48]][_0x9a8a[47]])[_0x9a8a[38]](function(_0x3132x14){if(!_0x3132x14){return _0x3132x5[_0x9a8a[45]](404)};var _0x3132x15=_[_0x9a8a[54]](_0x3132x14,_0x3132x4[_0x9a8a[43]]);_0x3132x15[_0x9a8a[55]]()[_0x9a8a[38]](function(){return _0x3132x5[_0x9a8a[27]](200)[_0x9a8a[26]](_0x3132x14)})[_0x9a8a[28]](function(_0x3132xe){return handleError(_0x3132x5,_0x3132xe)});})[_0x9a8a[28]](function(_0x3132xe){return handleError(_0x3132x5,_0x3132xe)});})[_0x9a8a[28]](function(_0x3132xe){return handleError(_0x3132x5,_0x3132xe)})};exports[_0x9a8a[56]]=function(_0x3132x4,_0x3132x5){CustomField[_0x9a8a[49]](_0x3132x4[_0x9a8a[48]][_0x9a8a[47]])[_0x9a8a[38]](function(_0x3132x14){if(!_0x3132x14){return _0x3132x5[_0x9a8a[45]](404)};_0x3132x14[_0x9a8a[51]]({active:false})[_0x9a8a[38]](function(){return _0x3132x5[_0x9a8a[45]](204)})[_0x9a8a[28]](function(_0x3132xe){return handleError(_0x3132x5,_0x3132xe)});})[_0x9a8a[28]](function(_0x3132xe){return handleError(_0x3132x5,_0x3132xe)})};exports[_0x9a8a[57]]=function(_0x3132x4,_0x3132x5){CustomField[_0x9a8a[51]]({active:false},{where:{id:_0x3132x4[_0x9a8a[9]][_0x9a8a[47]]},individualHooks:true})[_0x9a8a[38]](function(){return _0x3132x5[_0x9a8a[45]](204)})[_0x9a8a[28]](function(_0x3132xe){return handleError(_0x3132x5,_0x3132xe)})};function handleError(_0x3132x5,_0x3132xe){return _0x3132x5[_0x9a8a[27]](500)[_0x9a8a[26]](_0x3132xe)}
\ No newline at end of file
+var _0x9b4a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x67\x65\x74\x41\x6C\x6C","\x66\x69\x6E\x64\x41\x6C\x6C","\x63\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x62\x6F\x64\x79","\x6C\x6F\x67","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x6C\x65\x6E\x67\x74\x68","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x43\x55\x53\x54\x4F\x4D\x5F\x46\x49\x45\x4C\x44","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x61\x63\x74\x69\x76\x61\x74\x65","\x62\x75\x6C\x6B\x44\x65\x61\x63\x74\x69\x76\x61\x74\x65"];_0x9b4a[0];var _=require(_0x9b4a[1]);var CustomField=require(_0x9b4a[3])[_0x9b4a[2]];var util=require(_0x9b4a[4]);exports[_0x9b4a[5]]=function(_0x2b11x4,_0x2b11x5){var _0x2b11x6=[_0x9b4a[6],_0x9b4a[7]];var _0x2b11x7=_0x2b11x4[_0x9b4a[9]][_0x9b4a[8]]?parseInt(_0x2b11x4[_0x9b4a[9]][_0x9b4a[8]],10):100;var _0x2b11x8=_0x2b11x4[_0x9b4a[9]][_0x9b4a[10]]?parseInt(_0x2b11x4[_0x9b4a[9]][_0x9b4a[10]],10):0;var _0x2b11x9={where:{active:true},limit:_0x2b11x7,offset:_0x2b11x8*_0x2b11x7};_[_0x9b4a[24]](_0x2b11x4[_0x9b4a[9]],function(_0x2b11xa,_0x2b11xb){switch(_0x2b11xb){case _0x9b4a[8]:;case _0x9b4a[10]:break ;;case _0x9b4a[13]:_0x2b11x9[_0x9b4a[11]]=util[_0x9b4a[16]](_0x9b4a[12],_0x2b11x4[_0x9b4a[9]][_0x9b4a[13]],_0x2b11x4[_0x9b4a[9]][_0x9b4a[14]]||_0x9b4a[15])||null;break ;;case _0x9b4a[14]:break ;;case _0x9b4a[22]:_0x2b11x9[_0x9b4a[18]][_0x9b4a[17]]=[];_0x2b11x6[_0x9b4a[21]](function(_0x2b11xc){var _0x2b11xd={};_0x2b11xd[_0x2b11xc]={$like:_0x9b4a[19]+_0x2b11xa+_0x9b4a[19]};_0x2b11x9[_0x9b4a[18]][_0x9b4a[17]][_0x9b4a[20]](_0x2b11xd);});break ;;default:_0x2b11x9[_0x9b4a[18]][_0x2b11xb]={$like:{}};_0x2b11x9[_0x9b4a[18]][_0x2b11xb][_0x9b4a[23]]=_0x9b4a[19]+_0x2b11xa+_0x9b4a[19];;}});CustomField[_0x9b4a[39]](_0x2b11x9)[_0x9b4a[38]](function(_0x2b11xf){var _0x2b11x10=Math[_0x9b4a[30]](_0x2b11xf[_0x9b4a[29]]/_0x2b11x7);var _0x2b11x11=_0x2b11x10>(_0x2b11x9[_0x9b4a[31]]+1)?util[_0x9b4a[16]](_0x9b4a[32],_0x2b11x4[_0x9b4a[33]],_0x2b11x4[_0x9b4a[35]][_0x9b4a[34]],_0x2b11x4[_0x9b4a[36]],_0x2b11x8+1):null;var _0x2b11x12=_0x2b11x8>0?util[_0x9b4a[16]](_0x9b4a[32],_0x2b11x4[_0x9b4a[33]],_0x2b11x4[_0x9b4a[35]][_0x9b4a[34]],_0x2b11x4[_0x9b4a[36]],_0x2b11x8-1):null;_0x2b11x5[_0x9b4a[27]](200)[_0x9b4a[26]]({count:_0x2b11xf[_0x9b4a[29]],rows:_0x2b11xf[_0x9b4a[37]],next_page:_0x2b11x11,previous_page:_0x2b11x12,total_pages:_0x2b11x10});})[_0x9b4a[28]](function(_0x2b11xe){_0x2b11x5[_0x9b4a[27]](500)[_0x9b4a[26]]({error:_0x9b4a[25]})});};exports[_0x9b4a[40]]=function(_0x2b11x4,_0x2b11x5){CustomField[_0x9b4a[41]]()[_0x9b4a[38]](function(_0x2b11x13){return _0x2b11x5[_0x9b4a[27]](200)[_0x9b4a[26]](_0x2b11x13)})[_0x9b4a[28]](function(_0x2b11xe){return handleError(_0x2b11x5,_0x2b11xe)})};exports[_0x9b4a[42]]=function(_0x2b11x4,_0x2b11x5){console[_0x9b4a[44]](_0x2b11x4[_0x9b4a[43]]);CustomField[_0x9b4a[41]]({where:{name:_0x2b11x4[_0x9b4a[43]][_0x9b4a[6]]}})[_0x9b4a[38]](function(_0x2b11x13){if(!_0x2b11x13){return _0x2b11x5[_0x9b4a[45]](404)};return _0x2b11x5[_0x9b4a[26]](_0x2b11x13);})[_0x9b4a[28]](function(_0x2b11xe){return handleError(_0x2b11x5,_0x2b11xe)});};exports[_0x9b4a[46]]=function(_0x2b11x4,_0x2b11x5){CustomField[_0x9b4a[49]](_0x2b11x4[_0x9b4a[48]][_0x9b4a[47]])[_0x9b4a[38]](function(_0x2b11x14){if(!_0x2b11x14){return _0x2b11x5[_0x9b4a[45]](404)};return _0x2b11x5[_0x9b4a[26]](_0x2b11x14);})[_0x9b4a[28]](function(_0x2b11xe){return handleError(_0x2b11x5,_0x2b11xe)})};exports[_0x9b4a[50]]=function(_0x2b11x4,_0x2b11x5){CustomField[_0x9b4a[50]](_0x2b11x4[_0x9b4a[43]])[_0x9b4a[38]](function(_0x2b11x14){return _0x2b11x5[_0x9b4a[27]](201)[_0x9b4a[26]](_0x2b11x14)})[_0x9b4a[28]](function(_0x2b11xe){return handleError(_0x2b11x5,_0x2b11xe)})};exports[_0x9b4a[51]]=function(_0x2b11x4,_0x2b11x5){CustomField[_0x9b4a[41]]({where:{name:_0x2b11x4[_0x9b4a[43]][_0x9b4a[6]],id:{$ne:_0x2b11x4[_0x9b4a[43]][_0x9b4a[47]]}}})[_0x9b4a[38]](function(_0x2b11x13){if(!_0x2b11x13){return _0x2b11x5[_0x9b4a[45]](404)};if(_0x2b11x13[_0x9b4a[52]]>0){return _0x2b11x5[_0x9b4a[27]](500)[_0x9b4a[26]]({message:_0x9b4a[53]})};if(_0x2b11x4[_0x9b4a[43]][_0x9b4a[47]]){delete _0x2b11x4[_0x9b4a[43]][_0x9b4a[47]]};CustomField[_0x9b4a[49]](_0x2b11x4[_0x9b4a[48]][_0x9b4a[47]])[_0x9b4a[38]](function(_0x2b11x14){if(!_0x2b11x14){return _0x2b11x5[_0x9b4a[45]](404)};var _0x2b11x15=_[_0x9b4a[54]](_0x2b11x14,_0x2b11x4[_0x9b4a[43]]);_0x2b11x15[_0x9b4a[55]]()[_0x9b4a[38]](function(){return _0x2b11x5[_0x9b4a[27]](200)[_0x9b4a[26]](_0x2b11x14)})[_0x9b4a[28]](function(_0x2b11xe){return handleError(_0x2b11x5,_0x2b11xe)});})[_0x9b4a[28]](function(_0x2b11xe){return handleError(_0x2b11x5,_0x2b11xe)});})[_0x9b4a[28]](function(_0x2b11xe){return handleError(_0x2b11x5,_0x2b11xe)})};exports[_0x9b4a[56]]=function(_0x2b11x4,_0x2b11x5){CustomField[_0x9b4a[49]](_0x2b11x4[_0x9b4a[48]][_0x9b4a[47]])[_0x9b4a[38]](function(_0x2b11x14){if(!_0x2b11x14){return _0x2b11x5[_0x9b4a[45]](404)};_0x2b11x14[_0x9b4a[51]]({active:false})[_0x9b4a[38]](function(){return _0x2b11x5[_0x9b4a[45]](204)})[_0x9b4a[28]](function(_0x2b11xe){return handleError(_0x2b11x5,_0x2b11xe)});})[_0x9b4a[28]](function(_0x2b11xe){return handleError(_0x2b11x5,_0x2b11xe)})};exports[_0x9b4a[57]]=function(_0x2b11x4,_0x2b11x5){CustomField[_0x9b4a[51]]({active:false},{where:{id:_0x2b11x4[_0x9b4a[9]][_0x9b4a[47]]},individualHooks:true})[_0x9b4a[38]](function(){return _0x2b11x5[_0x9b4a[45]](204)})[_0x9b4a[28]](function(_0x2b11xe){return handleError(_0x2b11x5,_0x2b11xe)})};function handleError(_0x2b11x5,_0x2b11xe){return _0x2b11x5[_0x9b4a[27]](500)[_0x9b4a[26]](_0x2b11xe)}
\ No newline at end of file
index a3a053bb4c9efc76d5f0ea49e089b92b47bd749c..41ed4e7dcdae30564183351d4cd2581bb73792a4 100644 (file)
@@ -1 +1 @@
-var _0xf9aa=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x63\x74\x69\x76\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x63\x75\x73\x74\x6F\x6D\x5F\x66\x69\x65\x6C\x64\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x63\x75\x73\x74\x6F\x6D\x5F\x66\x69\x65\x6C\x64\x3A\x72\x65\x6D\x6F\x76\x65"];_0xf9aa[0];var CustomField=require(_0xf9aa[2])[_0xf9aa[1]];exports[_0xf9aa[3]]=function(_0x664bx2){CustomField[_0xf9aa[4]](function(_0x664bx3){onSave(_0x664bx2,_0x664bx3)});CustomField[_0xf9aa[6]](function(_0x664bx3){if(!_0x664bx3[_0xf9aa[5]]){onRemove(_0x664bx2,_0x664bx3)}});CustomField[_0xf9aa[7]](function(_0x664bx3){onRemove(_0x664bx2,_0x664bx3)});};function onSave(_0x664bx2,_0x664bx3,_0x664bx5){_0x664bx2[_0xf9aa[9]](_0xf9aa[8],_0x664bx3)}function onRemove(_0x664bx2,_0x664bx3,_0x664bx5){_0x664bx2[_0xf9aa[9]](_0xf9aa[10],_0x664bx3)}
\ No newline at end of file
+var _0xf494=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x63\x74\x69\x76\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x63\x75\x73\x74\x6F\x6D\x5F\x66\x69\x65\x6C\x64\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x63\x75\x73\x74\x6F\x6D\x5F\x66\x69\x65\x6C\x64\x3A\x72\x65\x6D\x6F\x76\x65"];_0xf494[0];var CustomField=require(_0xf494[2])[_0xf494[1]];exports[_0xf494[3]]=function(_0x21d4x2){CustomField[_0xf494[4]](function(_0x21d4x3){onSave(_0x21d4x2,_0x21d4x3)});CustomField[_0xf494[6]](function(_0x21d4x3){if(!_0x21d4x3[_0xf494[5]]){onRemove(_0x21d4x2,_0x21d4x3)}});CustomField[_0xf494[7]](function(_0x21d4x3){onRemove(_0x21d4x2,_0x21d4x3)});};function onSave(_0x21d4x2,_0x21d4x3,_0x21d4x5){_0x21d4x2[_0xf494[9]](_0xf494[8],_0x21d4x3)}function onRemove(_0x21d4x2,_0x21d4x3,_0x21d4x5){_0x21d4x2[_0xf494[9]](_0xf494[10],_0x21d4x3)}
\ No newline at end of file
index 2f8ca0805e88a632b393138dbe369fb62ce851d8..93083d5db655bf2f084737d9aa63003e67b126c8 100644 (file)
@@ -1 +1 @@
-var _0xa5f2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72\x2F\x63\x75\x73\x74\x6F\x6D\x66\x69\x65\x6C\x64\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72\x2F\x63\x75\x73\x74\x6F\x6D\x66\x69\x65\x6C\x64\x73","\x67\x65\x74"];_0xa5f2[0];var should=require(_0xa5f2[1]);var app=require(_0xa5f2[2]);var request=require(_0xa5f2[3]);describe(_0xa5f2[4],function(){it(_0xa5f2[5],function(_0x1facx4){request(app)[_0xa5f2[13]](_0xa5f2[12])[_0xa5f2[11]](200)[_0xa5f2[11]](_0xa5f2[10],/json/)[_0xa5f2[9]](function(_0x1facx5,_0x1facx6){if(_0x1facx5){return _0x1facx4(_0x1facx5)};_0x1facx6[_0xa5f2[8]][_0xa5f2[1]][_0xa5f2[7]][_0xa5f2[6]](Array);_0x1facx4();})})});
\ No newline at end of file
+var _0xa5a3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72\x2F\x63\x75\x73\x74\x6F\x6D\x66\x69\x65\x6C\x64\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72\x2F\x63\x75\x73\x74\x6F\x6D\x66\x69\x65\x6C\x64\x73","\x67\x65\x74"];_0xa5a3[0];var should=require(_0xa5a3[1]);var app=require(_0xa5a3[2]);var request=require(_0xa5a3[3]);describe(_0xa5a3[4],function(){it(_0xa5a3[5],function(_0x9e7ax4){request(app)[_0xa5a3[13]](_0xa5a3[12])[_0xa5a3[11]](200)[_0xa5a3[11]](_0xa5a3[10],/json/)[_0xa5a3[9]](function(_0x9e7ax5,_0x9e7ax6){if(_0x9e7ax5){return _0x9e7ax4(_0x9e7ax5)};_0x9e7ax6[_0xa5a3[8]][_0xa5a3[1]][_0xa5a3[7]][_0xa5a3[6]](Array);_0x9e7ax4();})})});
\ No newline at end of file
index 05cb6b8044fee1e045ef793e33a333fbc7f1f99a..4798c1505dc8eb379ff1615ba654c5836fc55ad6 100644 (file)
@@ -1 +1 @@
-var _0x5101=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x75\x73\x74\x6F\x6D\x5F\x66\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x61\x6C\x6C","\x67\x65\x74\x41\x6C\x6C","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x63\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x61\x63\x74\x69\x76\x61\x74\x65","\x64\x65\x6C\x65\x74\x65","\x64\x65\x61\x63\x74\x69\x76\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x5101[0];var express=require(_0x5101[1]);var controller=require(_0x5101[2]);var auth=require(_0x5101[3]);var router=express.Router();router[_0x5101[7]](_0x5101[4],auth[_0x5101[5]](),controller[_0x5101[6]]);router[_0x5101[7]](_0x5101[8],auth[_0x5101[5]](),controller[_0x5101[9]]);router[_0x5101[7]](_0x5101[10],auth[_0x5101[5]](),controller[_0x5101[11]]);router[_0x5101[13]](_0x5101[4],auth[_0x5101[5]](),controller[_0x5101[12]]);router[_0x5101[13]](_0x5101[14],auth[_0x5101[5]](),controller[_0x5101[15]]);router[_0x5101[17]](_0x5101[10],auth[_0x5101[5]](),controller[_0x5101[16]]);router[_0x5101[18]](_0x5101[10],auth[_0x5101[5]](),controller[_0x5101[16]]);router[_0x5101[20]](_0x5101[4],auth[_0x5101[5]](),controller[_0x5101[19]]);router[_0x5101[20]](_0x5101[10],auth[_0x5101[5]](),controller[_0x5101[21]]);module[_0x5101[22]]=router;
\ No newline at end of file
+var _0x54b5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x75\x73\x74\x6F\x6D\x5F\x66\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x61\x6C\x6C","\x67\x65\x74\x41\x6C\x6C","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x63\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x61\x63\x74\x69\x76\x61\x74\x65","\x64\x65\x6C\x65\x74\x65","\x64\x65\x61\x63\x74\x69\x76\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x54b5[0];var express=require(_0x54b5[1]);var controller=require(_0x54b5[2]);var auth=require(_0x54b5[3]);var router=express.Router();router[_0x54b5[7]](_0x54b5[4],auth[_0x54b5[5]](),controller[_0x54b5[6]]);router[_0x54b5[7]](_0x54b5[8],auth[_0x54b5[5]](),controller[_0x54b5[9]]);router[_0x54b5[7]](_0x54b5[10],auth[_0x54b5[5]](),controller[_0x54b5[11]]);router[_0x54b5[13]](_0x54b5[4],auth[_0x54b5[5]](),controller[_0x54b5[12]]);router[_0x54b5[13]](_0x54b5[14],auth[_0x54b5[5]](),controller[_0x54b5[15]]);router[_0x54b5[17]](_0x54b5[10],auth[_0x54b5[5]](),controller[_0x54b5[16]]);router[_0x54b5[18]](_0x54b5[10],auth[_0x54b5[5]](),controller[_0x54b5[16]]);router[_0x54b5[20]](_0x54b5[4],auth[_0x54b5[5]](),controller[_0x54b5[19]]);router[_0x54b5[20]](_0x54b5[10],auth[_0x54b5[5]](),controller[_0x54b5[21]]);module[_0x54b5[22]]=router;
\ No newline at end of file
index 514d256a8aafe69c75b2c6bada1d69f8377b3352..489fcfcd22966d895e220c151c00663f4a918a18 100644 (file)
@@ -1 +1 @@
-var _0xfa66=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74","\x52\x65\x70\x6F\x72\x74\x46\x69\x65\x6C\x64","\x52\x65\x70\x6F\x72\x74\x54\x72\x65\x65","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x61\x72\x65\x6E\x74","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x72\x6F\x6C\x65","\x73\x70\x6C\x69\x74","\x70\x61\x72\x73\x65","\x66\x6F\x72\x4F\x77\x6E","\x63\x6C\x69\x65\x6E\x74\x51\x75\x65\x72\x79","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x65\x78\x74\x72\x61\x63\x74","\x6C\x6F\x67","\x6C\x65\x6E\x67\x74\x68","\x46\x4F\x55\x4E\x44\x5F\x52\x4F\x57\x53\x28\x29","\x73\x70\x72\x65\x61\x64","\x61\x6C\x6C","\x66\x6F\x75\x6E\x64\x20\x72\x65\x70\x6F\x72\x74","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x53\x45\x4C\x45\x43\x54","\x51\x75\x65\x72\x79\x54\x79\x70\x65\x73","\x75\x69\x50\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E","\x53\x45\x4C\x45\x43\x54\x20\x46\x4F\x55\x4E\x44\x5F\x52\x4F\x57\x53\x28\x29","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x73\x68\x6F\x77","\x63\x6F\x70\x79","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x75\x70\x64\x61\x74\x65\x64\x41\x74","\x62\x6F\x64\x79","\x46\x69\x65\x6C\x64\x73","\x70\x6C\x75\x63\x6B","\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64","\x63\x72\x65\x61\x74\x65","\x69\x6D\x70\x6F\x72\x74","\x67\x65\x74\x50\x72\x65\x76\x69\x65\x77","\x4D\x45\x53\x53\x41\x47\x45\x5F\x53\x45\x4C\x45\x43\x54\x5F\x41\x5F\x46\x49\x45\x4C\x44","","\x66\x75\x6E\x63\x74\x69\x6F\x6E","\x43\x4F\x55\x4E\x54\x28\x44\x49\x53\x54\x49\x4E\x43\x54\x20\x25\x73\x29","\x66\x69\x65\x6C\x64","\x43\x4F\x55\x4E\x54\x20\x44\x49\x53\x54\x49\x4E\x43\x54","\x47\x52\x4F\x55\x50\x5F\x43\x4F\x4E\x43\x41\x54\x28\x25\x73\x20\x4F\x52\x44\x45\x52\x20\x42\x59\x20\x25\x73\x20\x41\x53\x43\x29","\x47\x52\x4F\x55\x50\x5F\x43\x4F\x4E\x43\x41\x54\x20\x41\x53\x43","\x47\x52\x4F\x55\x50\x5F\x43\x4F\x4E\x43\x41\x54\x28\x25\x73\x20\x4F\x52\x44\x45\x52\x20\x42\x59\x20\x25\x73\x20\x44\x45\x53\x43\x29","\x47\x52\x4F\x55\x50\x5F\x43\x4F\x4E\x43\x41\x54\x20\x44\x45\x53\x43","\x25\x73\x28\x25\x73\x29","\x25\x73\x20\x41\x53\x20\x27\x25\x73\x27","\x61\x6C\x69\x61\x73","\x67\x72\x6F\x75\x70\x42\x79","\x6F\x72\x64\x65\x72\x42\x79","\x67\x72\x6F\x75\x70","\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73","\x20\x53\x51\x4C\x5F\x43\x41\x4C\x43\x5F\x46\x4F\x55\x4E\x44\x5F\x52\x4F\x57\x53\x20","\x20","\x2C","\x6A\x6F\x69\x6E","\x20\x46\x52\x4F\x4D\x20","\x74\x61\x62\x6C\x65","\x28\x29","\x20\x57\x48\x45\x52\x45\x20","\x70\x65\x72\x50\x61\x67\x65","\x20\x41\x4E\x44\x20\x63\x72\x65\x61\x74\x65\x64\x41\x74\x20\x3E\x3D\x20\x27","\x27","\x73\x74\x61\x72\x74\x44\x61\x74\x65","\x20\x41\x4E\x44\x20\x63\x72\x65\x61\x74\x65\x64\x41\x74\x20\x3C\x3D\x20\x27","\x65\x6E\x64\x44\x61\x74\x65","\x66\x69\x6E\x64","\x20\x41\x4E\x44\x20","\x20\x4C\x49\x4B\x45\x20\x27\x25","\x25\x27","\x20\x47\x52\x4F\x55\x50\x20\x42\x59\x20","\x20\x4F\x52\x44\x45\x52\x20\x42\x59\x20","\x20\x4C\x49\x4D\x49\x54\x20","\x20\x4F\x46\x46\x53\x45\x54\x20","\x28","\x72\x75\x6C\x65\x73","\x6F\x70\x65\x72\x61\x74\x6F\x72","\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x20\x27","\x4C\x49\x4B\x45","\x76\x61\x6C\x75\x65","\x29","\x75\x70\x64\x61\x74\x65","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0xfa66[0];var _=require(_0xfa66[1]);var util=require(_0xfa66[2]);var sequelize=require(_0xfa66[4])[_0xfa66[3]];var CustomReport=require(_0xfa66[4])[_0xfa66[5]];var ReportField=require(_0xfa66[4])[_0xfa66[6]];var ReportTree=require(_0xfa66[4])[_0xfa66[7]];exports[_0xfa66[8]]=function(_0x69c3x7,_0x69c3x8,_0x69c3x9){var _0x69c3xa=[_0xfa66[9],_0xfa66[10],_0xfa66[11]];var _0x69c3xb=_0x69c3x7[_0xfa66[13]][_0xfa66[12]]?parseInt(_0x69c3x7[_0xfa66[13]][_0xfa66[12]],10):100;var _0x69c3xc=_0x69c3x7[_0xfa66[13]][_0xfa66[14]]?parseInt(_0x69c3x7[_0xfa66[13]][_0xfa66[14]],10):0;var _0x69c3xd={where:{},limit:_0x69c3xb,offset:_0x69c3xc*_0x69c3xb};_[_0xfa66[33]](_0x69c3x7[_0xfa66[13]],function(_0x69c3xe,_0x69c3xf){switch(_0x69c3xf){case _0xfa66[12]:;case _0xfa66[14]:break ;;case _0xfa66[17]:_0x69c3xd[_0xfa66[15]]=util[_0xfa66[20]](_0xfa66[16],_0x69c3x7[_0xfa66[13]][_0xfa66[17]],_0x69c3x7[_0xfa66[13]][_0xfa66[18]]||_0xfa66[19])||null;break ;;case _0xfa66[18]:break ;;case _0xfa66[26]:_0x69c3xd[_0xfa66[22]][_0xfa66[21]]=[];_0x69c3xa[_0xfa66[25]](function(_0x69c3x10){var _0x69c3x11={};_0x69c3x11[_0x69c3x10]={$like:_0xfa66[23]+_0x69c3xe+_0xfa66[23]};_0x69c3xd[_0xfa66[22]][_0xfa66[21]][_0xfa66[24]](_0x69c3x11);});break ;;case _0xfa66[27]:_0x69c3xd[_0xfa66[22]][_0xfa66[27]]={$or:_0x69c3xe[_0xfa66[28]](/[\s,]+/)};break ;;case _0xfa66[31]:var _0x69c3x12=JSON[_0xfa66[29]](_0x69c3xe);_[_0xfa66[30]](_0x69c3x12,function(_0x69c3x13,_0x69c3x14){_0x69c3xd[_0xfa66[22]][_0x69c3x14]=_0x69c3x13});break ;;default:_0x69c3xd[_0xfa66[22]][_0x69c3xf]={$like:{}};_0x69c3xd[_0xfa66[22]][_0x69c3xf][_0xfa66[32]]=_0xfa66[23]+_0x69c3xe+_0xfa66[23];;}});CustomReport[_0xfa66[48]](_0x69c3xd)[_0xfa66[47]](function(_0x69c3x16){var _0x69c3x17=Math[_0xfa66[39]](_0x69c3x16[_0xfa66[38]]/_0x69c3xb);var _0x69c3x18=_0x69c3x17>(_0x69c3xd[_0xfa66[40]]+1)?util[_0xfa66[20]](_0xfa66[41],_0x69c3x7[_0xfa66[42]],_0x69c3x7[_0xfa66[44]][_0xfa66[43]],_0x69c3x7[_0xfa66[45]],_0x69c3xc+1):null;var _0x69c3x19=_0x69c3xc>0?util[_0xfa66[20]](_0xfa66[41],_0x69c3x7[_0xfa66[42]],_0x69c3x7[_0xfa66[44]][_0xfa66[43]],_0x69c3x7[_0xfa66[45]],_0x69c3xc-1):null;_0x69c3x8[_0xfa66[36]](200)[_0xfa66[35]]({count:_0x69c3x16[_0xfa66[38]],rows:_0x69c3x16[_0xfa66[46]],next_page:_0x69c3x18,previous_page:_0x69c3x19,total_pages:_0x69c3x17});})[_0xfa66[37]](function(_0x69c3x15){_0x69c3x8[_0xfa66[36]](500)[_0xfa66[35]]({error:_0xfa66[34]})});};exports[_0xfa66[49]]=function(_0x69c3x7,_0x69c3x8){CustomReport[_0xfa66[64]](_0x69c3x7[_0xfa66[63]][_0xfa66[62]],{include:[{all:true}]})[_0xfa66[47]](function(_0x69c3x1c){console[_0xfa66[50]](_0xfa66[55]);if(!_0x69c3x1c){return _0x69c3x8[_0xfa66[56]](404)};var _0x69c3xd=buildReport(_0x69c3x1c[_0xfa66[57]],_0x69c3x7[_0xfa66[13]]);var _0x69c3x1d=[sequelize[_0xfa66[13]](_0x69c3xd,{type:sequelize[_0xfa66[59]][_0xfa66[58]]})];if(_0x69c3x7[_0xfa66[13]][_0xfa66[60]]){_0x69c3x1d[_0xfa66[24]](sequelize[_0xfa66[13]](_0xfa66[61],{type:sequelize[_0xfa66[59]][_0xfa66[58]]}))};return _0x69c3x1d;})[_0xfa66[54]]()[_0xfa66[53]](function(_0x69c3x1a,_0x69c3x1b){console[_0xfa66[50]](_0x69c3x1a[_0xfa66[51]]);console[_0xfa66[50]](_0x69c3x1b);_0x69c3x8[_0xfa66[36]](200)[_0xfa66[35]]({rows:_0x69c3x1a,count:_0x69c3x1b?_0x69c3x1b[0][_0xfa66[52]]:null});})[_0xfa66[37]](function(_0x69c3x15){console[_0xfa66[50]](_0x69c3x15);return handleError(_0x69c3x8,_0x69c3x15);})};exports[_0xfa66[65]]=function(_0x69c3x7,_0x69c3x8){CustomReport[_0xfa66[64]](_0x69c3x7[_0xfa66[63]][_0xfa66[62]],{include:[{all:true}]})[_0xfa66[47]](function(_0x69c3x1c){if(!_0x69c3x1c){return _0x69c3x8[_0xfa66[56]](404)};return _0x69c3x8[_0xfa66[35]](_0x69c3x1c);})[_0xfa66[37]](function(_0x69c3x15){return handleError(_0x69c3x8,_0x69c3x15)})};exports[_0xfa66[66]]=function(_0x69c3x7,_0x69c3x8){CustomReport[_0xfa66[64]](_0x69c3x7[_0xfa66[63]][_0xfa66[62]],{include:[{all:true}]})[_0xfa66[47]](function(_0x69c3x1c){if(!_0x69c3x1c){return _0x69c3x8[_0xfa66[56]](404)};var _0x69c3x1e=_0x69c3x1c[_0xfa66[57]];delete _0x69c3x1e[_0xfa66[62]];delete _0x69c3x1e[_0xfa66[67]];delete _0x69c3x1e[_0xfa66[68]];_0x69c3x1e[_0xfa66[11]]=_0x69c3x7[_0xfa66[69]][_0xfa66[11]];_0x69c3x1e[_0xfa66[70]]=_[_0xfa66[71]](_0x69c3x1e.Fields,_0xfa66[57]);_[_0xfa66[25]](_0x69c3x1e.Fields,function(_0x69c3x1f){delete _0x69c3x1f[_0xfa66[62]];delete _0x69c3x1f[_0xfa66[72]];delete _0x69c3x1f[_0xfa66[67]];delete _0x69c3x1f[_0xfa66[68]];});return CustomReport[_0xfa66[73]](_0x69c3x1e,{include:[{all:true}]});})[_0xfa66[47]](function(){return _0x69c3x8[_0xfa66[56]](201)})[_0xfa66[37]](function(_0x69c3x15){console[_0xfa66[50]](_0x69c3x15);return handleError(_0x69c3x8,_0x69c3x15);})};exports[_0xfa66[74]]=function(_0x69c3x7,_0x69c3x8){CustomReport[_0xfa66[73]](_0x69c3x7[_0xfa66[69]],{include:[{all:true}]})[_0xfa66[47]](function(_0x69c3x1c){return _0x69c3x8[_0xfa66[36]](201)[_0xfa66[35]](_0x69c3x1c)})[_0xfa66[37]](function(_0x69c3x15){return handleError(_0x69c3x8,_0x69c3x15)})};exports[_0xfa66[75]]=function(_0x69c3x7,_0x69c3x8){CustomReport[_0xfa66[64]](_0x69c3x7[_0xfa66[63]][_0xfa66[62]],{include:[{all:true}]})[_0xfa66[47]](function(_0x69c3x1c){if(!_0x69c3x1c){return _0x69c3x8[_0xfa66[56]](404)};if(!_0x69c3x1c[_0xfa66[70]][_0xfa66[51]]){return _0x69c3x8[_0xfa66[36]](500)[_0xfa66[35]]({message:_0xfa66[76]})};var _0x69c3xd=buildReport(_0x69c3x1c[_0xfa66[57]],{perPage:20});return sequelize[_0xfa66[13]](_0x69c3xd,{type:sequelize[_0xfa66[59]][_0xfa66[58]]});})[_0xfa66[47]](function(_0x69c3x1a){return _0x69c3x8[_0xfa66[36]](200)[_0xfa66[35]](_0x69c3x1a)})[_0xfa66[37]](function(_0x69c3x15){return handleError(_0x69c3x8,_0x69c3x15)})};function buildReport(_0x69c3x1c,_0x69c3xd){console[_0xfa66[50]](_0x69c3xd);var _0x69c3x21=[],_0x69c3x22=[],_0x69c3x23=[];_[_0xfa66[25]](_0x69c3x1c.Fields,function(_0x69c3x1f){var _0x69c3x24=_0xfa66[77];if(_0x69c3x1f[_0xfa66[78]]){switch(_0x69c3x1f[_0xfa66[78]]){case _0xfa66[81]:_0x69c3x24=util[_0xfa66[20]](_0xfa66[79],_0x69c3x1f[_0xfa66[80]]);break ;;case _0xfa66[83]:_0x69c3x24=util[_0xfa66[20]](_0xfa66[82],_0x69c3x1f[_0xfa66[80]],_0x69c3x1f[_0xfa66[80]]);break ;;case _0xfa66[85]:_0x69c3x24=util[_0xfa66[20]](_0xfa66[84],_0x69c3x1f[_0xfa66[80]],_0x69c3x1f[_0xfa66[80]]);break ;;default:_0x69c3x24=util[_0xfa66[20]](_0xfa66[86],_0x69c3x1f[_0xfa66[78]],_0x69c3x1f[_0xfa66[80]]);;}}else {_0x69c3x24=_0x69c3x1f[_0xfa66[80]]};_0x69c3x21[_0xfa66[24]](util[_0xfa66[20]](_0xfa66[87],_0x69c3x24,_0x69c3x1f[_0xfa66[88]]));if(_0x69c3x1f[_0xfa66[89]]){_0x69c3x22[_0xfa66[24]](_0x69c3x1f[_0xfa66[80]])};if(_0x69c3x1f[_0xfa66[90]]){_0x69c3x23[_0xfa66[24]](util[_0xfa66[20]](_0xfa66[16],_0x69c3x1f[_0xfa66[80]],_0x69c3x1f[_0xfa66[90]]))};});var _0x69c3x25=getConditions(JSON[_0xfa66[29]](_0x69c3x1c[_0xfa66[92]])[_0xfa66[91]]);var _0x69c3x26=_0xfa66[58];if(_0x69c3xd&&_0x69c3xd[_0xfa66[60]]){_0x69c3x26+=_0xfa66[93]};_0x69c3x26+=_0xfa66[94]+_0x69c3x21[_0xfa66[96]](_0xfa66[95]);_0x69c3x26+=_0xfa66[97]+_0x69c3x1c[_0xfa66[98]];_0x69c3x26+=_0x69c3x25!==_0xfa66[99]?_0xfa66[100]+_0x69c3x25:_0xfa66[77];var _0x69c3x27=false;var _0x69c3x28=false;if(_0x69c3xd){_[_0xfa66[30]](_0x69c3xd,function(_0x69c3xe,_0x69c3xf){switch(_0x69c3xf){case _0xfa66[14]:if(_0x69c3xd[_0xfa66[101]]){_0x69c3x27=parseInt(_0x69c3xd[_0xfa66[101]],10);_0x69c3x28=parseInt(_0x69c3xe,10)*_0x69c3x27;};break ;;case _0xfa66[101]:_0x69c3x27=parseInt(_0x69c3xe,10);break ;;case _0xfa66[104]:_0x69c3x26+=_0xfa66[102]+_0x69c3xe+_0xfa66[103];break ;;case _0xfa66[106]:_0x69c3x26+=_0xfa66[105]+_0x69c3xe+_0xfa66[103];break ;;case _0xfa66[60]:break ;;default:var _0x69c3x29=_[_0xfa66[107]](_0x69c3x1c.Fields,{alias:_0x69c3xf})[_0xfa66[80]];if(_0x69c3x29){_0x69c3x26+=_0xfa66[108]+_0x69c3x29+_0xfa66[109]+_0x69c3xe+_0xfa66[110]}else {_0x69c3x26+=_0xfa66[108]+_0x69c3xf+_0xfa66[109]+_0x69c3xe+_0xfa66[110]};;}})};_0x69c3x26+=_0x69c3x22[_0xfa66[51]]?_0xfa66[111]+_0x69c3x22[_0xfa66[96]](_0xfa66[95]):_0xfa66[77];_0x69c3x26+=_0x69c3x23[_0xfa66[51]]?_0xfa66[112]+_0x69c3x23[_0xfa66[96]](_0xfa66[95]):_0xfa66[77];_0x69c3x26+=_0x69c3x27?_0xfa66[113]+_0x69c3x27:_0xfa66[77];_0x69c3x26+=_0x69c3x28?_0xfa66[114]+_0x69c3x28:_0xfa66[77];return _0x69c3x26;}function getConditions(_0x69c3x2b){if(!_0x69c3x2b){return _0xfa66[77]};for(var _0x69c3x2c=_0xfa66[115],_0x69c3x2d=0;_0x69c3x2d<_0x69c3x2b[_0xfa66[116]][_0xfa66[51]];_0x69c3x2d++){_0x69c3x2d>0&&(_0x69c3x2c+=_0xfa66[94]+_0x69c3x2b[_0xfa66[117]]+_0xfa66[94]);_0x69c3x2c+=_0x69c3x2b[_0xfa66[116]][_0x69c3x2d][_0xfa66[91]]?getConditions(_0x69c3x2b[_0xfa66[116]][_0x69c3x2d][_0xfa66[91]]):_0x69c3x2b[_0xfa66[116]][_0x69c3x2d][_0xfa66[80]]+_0xfa66[94]+_0x69c3x2b[_0xfa66[116]][_0x69c3x2d][_0xfa66[118]]+_0xfa66[119]+(_0x69c3x2b[_0xfa66[116]][_0x69c3x2d][_0xfa66[118]]===_0xfa66[120]?_0xfa66[23]+_0x69c3x2b[_0xfa66[116]][_0x69c3x2d][_0xfa66[121]]+_0xfa66[23]:_0x69c3x2b[_0xfa66[116]][_0x69c3x2d][_0xfa66[121]])+_0xfa66[103];};return _0x69c3x2c+_0xfa66[122];}exports[_0xfa66[73]]=function(_0x69c3x7,_0x69c3x8){CustomReport[_0xfa66[73]](_0x69c3x7[_0xfa66[69]])[_0xfa66[47]](function(_0x69c3x1c){return _0x69c3x8[_0xfa66[36]](201)[_0xfa66[35]](_0x69c3x1c)})[_0xfa66[37]](function(_0x69c3x15){return handleError(_0x69c3x8,_0x69c3x15)})};exports[_0xfa66[123]]=function(_0x69c3x7,_0x69c3x8){if(_0x69c3x7[_0xfa66[69]][_0xfa66[62]]){delete _0x69c3x7[_0xfa66[69]][_0xfa66[62]]};ReportField[_0xfa66[125]]({where:{CustomReportId:_0x69c3x7[_0xfa66[63]][_0xfa66[62]]}})[_0xfa66[47]](function(){return ReportField[_0xfa66[124]](_0x69c3x7[_0xfa66[69]].Fields)})[_0xfa66[47]](function(){delete _0x69c3x7[_0xfa66[69]][_0xfa66[70]];return CustomReport[_0xfa66[123]](_0x69c3x7[_0xfa66[69]],{where:{id:_0x69c3x7[_0xfa66[63]][_0xfa66[62]]}});})[_0xfa66[47]](function(){return _0x69c3x8[_0xfa66[56]](200)})[_0xfa66[37]](function(_0x69c3x15){console[_0xfa66[50]](_0x69c3x15);return handleError(_0x69c3x8,_0x69c3x15);});};exports[_0xfa66[125]]=function(_0x69c3x7,_0x69c3x8){CustomReport[_0xfa66[64]](_0x69c3x7[_0xfa66[63]][_0xfa66[62]])[_0xfa66[47]](function(_0x69c3x1c){if(!_0x69c3x1c){return _0x69c3x8[_0xfa66[56]](404)};_0x69c3x1c[_0xfa66[125]]()[_0xfa66[47]](function(){return _0x69c3x8[_0xfa66[56]](204)})[_0xfa66[37]](function(_0x69c3x15){return handleError(_0x69c3x8,_0x69c3x15)});})[_0xfa66[37]](function(_0x69c3x15){return handleError(_0x69c3x8,_0x69c3x15)})};exports[_0xfa66[126]]=function(_0x69c3x7,_0x69c3x8){CustomReport[_0xfa66[125]]({where:{id:_0x69c3x7[_0xfa66[13]][_0xfa66[62]]},individualHooks:true})[_0xfa66[47]](function(){return _0x69c3x8[_0xfa66[56]](204)})[_0xfa66[37]](function(_0x69c3x15){return handleError(_0x69c3x8,_0x69c3x15)})};function handleError(_0x69c3x8,_0x69c3x15){return _0x69c3x8[_0xfa66[36]](500)[_0xfa66[35]](_0x69c3x15)}
\ No newline at end of file
+var _0x8b57=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74","\x52\x65\x70\x6F\x72\x74\x46\x69\x65\x6C\x64","\x52\x65\x70\x6F\x72\x74\x54\x72\x65\x65","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x61\x72\x65\x6E\x74","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x72\x6F\x6C\x65","\x73\x70\x6C\x69\x74","\x70\x61\x72\x73\x65","\x66\x6F\x72\x4F\x77\x6E","\x63\x6C\x69\x65\x6E\x74\x51\x75\x65\x72\x79","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x70\x72\x65\x76\x69\x65\x77","\x6C\x6F\x67","\x6C\x65\x6E\x67\x74\x68","\x73\x70\x72\x65\x61\x64","\x61\x6C\x6C","\x66\x6F\x75\x6E\x64\x20\x72\x65\x70\x6F\x72\x74","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x53\x45\x4C\x45\x43\x54","\x51\x75\x65\x72\x79\x54\x79\x70\x65\x73","\x75\x69\x50\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x65\x78\x74\x72\x61\x63\x74\x50\x64\x66","\x70\x64\x66","\x2E\x2F\x63\x75\x73\x74\x6F\x6D\x5F\x72\x65\x70\x6F\x72\x74\x2E\x71\x75\x65\x72\x79\x50\x72\x6F\x63\x65\x73\x73\x6F\x72","\x65\x78\x74\x72\x61\x63\x74\x43\x73\x76","\x63\x73\x76","\x73\x68\x6F\x77","\x63\x6F\x70\x79","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x75\x70\x64\x61\x74\x65\x64\x41\x74","\x62\x6F\x64\x79","\x46\x69\x65\x6C\x64\x73","\x70\x6C\x75\x63\x6B","\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64","\x63\x72\x65\x61\x74\x65","\x69\x6D\x70\x6F\x72\x74","\x67\x65\x74\x50\x72\x65\x76\x69\x65\x77","\x4D\x45\x53\x53\x41\x47\x45\x5F\x53\x45\x4C\x45\x43\x54\x5F\x41\x5F\x46\x49\x45\x4C\x44","","\x66\x75\x6E\x63\x74\x69\x6F\x6E","\x43\x4F\x55\x4E\x54\x28\x44\x49\x53\x54\x49\x4E\x43\x54\x20\x25\x73\x29","\x66\x69\x65\x6C\x64","\x43\x4F\x55\x4E\x54\x20\x44\x49\x53\x54\x49\x4E\x43\x54","\x47\x52\x4F\x55\x50\x5F\x43\x4F\x4E\x43\x41\x54\x28\x25\x73\x20\x4F\x52\x44\x45\x52\x20\x42\x59\x20\x25\x73\x20\x41\x53\x43\x29","\x47\x52\x4F\x55\x50\x5F\x43\x4F\x4E\x43\x41\x54\x20\x41\x53\x43","\x47\x52\x4F\x55\x50\x5F\x43\x4F\x4E\x43\x41\x54\x28\x25\x73\x20\x4F\x52\x44\x45\x52\x20\x42\x59\x20\x25\x73\x20\x44\x45\x53\x43\x29","\x47\x52\x4F\x55\x50\x5F\x43\x4F\x4E\x43\x41\x54\x20\x44\x45\x53\x43","\x25\x73\x28\x25\x73\x29","\x25\x73\x20\x41\x53\x20\x27\x25\x73\x27","\x61\x6C\x69\x61\x73","\x67\x72\x6F\x75\x70\x42\x79","\x6F\x72\x64\x65\x72\x42\x79","\x67\x72\x6F\x75\x70","\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73","\x20","\x2C","\x6A\x6F\x69\x6E","\x2C\x43\x4F\x55\x4E\x54\x28\x2A\x29","\x20\x46\x52\x4F\x4D\x20","\x74\x61\x62\x6C\x65","\x28\x29","\x20\x57\x48\x45\x52\x45\x20","\x70\x65\x72\x50\x61\x67\x65","\x20\x41\x4E\x44\x20\x63\x72\x65\x61\x74\x65\x64\x41\x74\x20\x3E\x3D\x20\x27","\x27","\x73\x74\x61\x72\x74\x44\x61\x74\x65","\x20\x41\x4E\x44\x20\x63\x72\x65\x61\x74\x65\x64\x41\x74\x20\x3C\x3D\x20\x27","\x65\x6E\x64\x44\x61\x74\x65","\x66\x69\x6E\x64","\x20\x41\x4E\x44\x20","\x20\x4C\x49\x4B\x45\x20\x27\x25","\x25\x27","\x20\x47\x52\x4F\x55\x50\x20\x42\x59\x20","\x20\x4F\x52\x44\x45\x52\x20\x42\x59\x20","\x20\x4C\x49\x4D\x49\x54\x20","\x20\x4F\x46\x46\x53\x45\x54\x20","\x28","\x72\x75\x6C\x65\x73","\x6F\x70\x65\x72\x61\x74\x6F\x72","\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x20\x27","\x4C\x49\x4B\x45","\x76\x61\x6C\x75\x65","\x29","\x75\x70\x64\x61\x74\x65","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0x8b57[0];var _=require(_0x8b57[1]);var util=require(_0x8b57[2]);var sequelize=require(_0x8b57[4])[_0x8b57[3]];var CustomReport=require(_0x8b57[4])[_0x8b57[5]];var ReportField=require(_0x8b57[4])[_0x8b57[6]];var ReportTree=require(_0x8b57[4])[_0x8b57[7]];exports[_0x8b57[8]]=function(_0x409ex7,_0x409ex8,_0x409ex9){var _0x409exa=[_0x8b57[9],_0x8b57[10],_0x8b57[11]];var _0x409exb=_0x409ex7[_0x8b57[13]][_0x8b57[12]]?parseInt(_0x409ex7[_0x8b57[13]][_0x8b57[12]],10):100;var _0x409exc=_0x409ex7[_0x8b57[13]][_0x8b57[14]]?parseInt(_0x409ex7[_0x8b57[13]][_0x8b57[14]],10):0;var _0x409exd={where:{},limit:_0x409exb,offset:_0x409exc*_0x409exb};_[_0x8b57[33]](_0x409ex7[_0x8b57[13]],function(_0x409exe,_0x409exf){switch(_0x409exf){case _0x8b57[12]:;case _0x8b57[14]:break ;;case _0x8b57[17]:_0x409exd[_0x8b57[15]]=util[_0x8b57[20]](_0x8b57[16],_0x409ex7[_0x8b57[13]][_0x8b57[17]],_0x409ex7[_0x8b57[13]][_0x8b57[18]]||_0x8b57[19])||null;break ;;case _0x8b57[18]:break ;;case _0x8b57[26]:_0x409exd[_0x8b57[22]][_0x8b57[21]]=[];_0x409exa[_0x8b57[25]](function(_0x409ex10){var _0x409ex11={};_0x409ex11[_0x409ex10]={$like:_0x8b57[23]+_0x409exe+_0x8b57[23]};_0x409exd[_0x8b57[22]][_0x8b57[21]][_0x8b57[24]](_0x409ex11);});break ;;case _0x8b57[27]:_0x409exd[_0x8b57[22]][_0x8b57[27]]={$or:_0x409exe[_0x8b57[28]](/[\s,]+/)};break ;;case _0x8b57[31]:var _0x409ex12=JSON[_0x8b57[29]](_0x409exe);_[_0x8b57[30]](_0x409ex12,function(_0x409ex13,_0x409ex14){_0x409exd[_0x8b57[22]][_0x409ex14]=_0x409ex13});break ;;default:_0x409exd[_0x8b57[22]][_0x409exf]={$like:{}};_0x409exd[_0x8b57[22]][_0x409exf][_0x8b57[32]]=_0x8b57[23]+_0x409exe+_0x8b57[23];;}});CustomReport[_0x8b57[48]](_0x409exd)[_0x8b57[47]](function(_0x409ex16){var _0x409ex17=Math[_0x8b57[39]](_0x409ex16[_0x8b57[38]]/_0x409exb);var _0x409ex18=_0x409ex17>(_0x409exd[_0x8b57[40]]+1)?util[_0x8b57[20]](_0x8b57[41],_0x409ex7[_0x8b57[42]],_0x409ex7[_0x8b57[44]][_0x8b57[43]],_0x409ex7[_0x8b57[45]],_0x409exc+1):null;var _0x409ex19=_0x409exc>0?util[_0x8b57[20]](_0x8b57[41],_0x409ex7[_0x8b57[42]],_0x409ex7[_0x8b57[44]][_0x8b57[43]],_0x409ex7[_0x8b57[45]],_0x409exc-1):null;_0x409ex8[_0x8b57[36]](200)[_0x8b57[35]]({count:_0x409ex16[_0x8b57[38]],rows:_0x409ex16[_0x8b57[46]],next_page:_0x409ex18,previous_page:_0x409ex19,total_pages:_0x409ex17});})[_0x8b57[37]](function(_0x409ex15){_0x409ex8[_0x8b57[36]](500)[_0x8b57[35]]({error:_0x8b57[34]})});};exports[_0x8b57[49]]=function(_0x409ex7,_0x409ex8){CustomReport[_0x8b57[62]](_0x409ex7[_0x8b57[61]][_0x8b57[60]],{include:[{all:true}]})[_0x8b57[47]](function(_0x409ex1c){console[_0x8b57[50]](_0x8b57[54]);if(!_0x409ex1c){return _0x409ex8[_0x8b57[55]](404)};var _0x409exd=buildReport(_0x409ex1c[_0x8b57[56]],_0x409ex7[_0x8b57[13]]);var _0x409ex1d=[sequelize[_0x8b57[13]](_0x409exd,{type:sequelize[_0x8b57[58]][_0x8b57[57]]})];if(_0x409ex7[_0x8b57[13]][_0x8b57[59]]){var _0x409ex1e=buildReport(_0x409ex1c[_0x8b57[56]],_0x409ex7[_0x8b57[13]],true);_0x409ex1d[_0x8b57[24]](sequelize[_0x8b57[13]](_0x409ex1e,{type:sequelize[_0x8b57[58]][_0x8b57[57]]}));};return _0x409ex1d;})[_0x8b57[53]]()[_0x8b57[52]](function(_0x409ex1a,_0x409ex1b){console[_0x8b57[50]](_0x409ex1a[_0x8b57[51]]);console[_0x8b57[50]](_0x409ex1b);_0x409ex8[_0x8b57[36]](200)[_0x8b57[35]]({rows:_0x409ex1a,count:_0x409ex1b?_0x409ex1b[0]:null});})[_0x8b57[37]](function(_0x409ex15){console[_0x8b57[50]](_0x409ex15);return handleError(_0x409ex8,_0x409ex15);})};exports[_0x8b57[63]]=function(_0x409ex7,_0x409ex8){CustomReport[_0x8b57[62]](_0x409ex7[_0x8b57[61]][_0x8b57[60]],{include:[{all:true}]})[_0x8b57[47]](function(_0x409ex1c){if(!_0x409ex1c){return _0x409ex8[_0x8b57[55]](404)};require(_0x8b57[65])[_0x8b57[64]](_0x409ex1c,_0x409ex7[_0x8b57[13]]);})[_0x8b57[47]](function(_0x409ex1a){})[_0x8b57[47]](function(){return _0x409ex8[_0x8b57[55]](200)})[_0x8b57[37]](function(_0x409ex15){console[_0x8b57[50]](_0x409ex15);return handleError(_0x409ex8,_0x409ex15);})};exports[_0x8b57[66]]=function(_0x409ex7,_0x409ex8){CustomReport[_0x8b57[62]](_0x409ex7[_0x8b57[61]][_0x8b57[60]],{include:[{all:true}]})[_0x8b57[47]](function(_0x409ex1c){if(!_0x409ex1c){return _0x409ex8[_0x8b57[55]](404)};require(_0x8b57[65])[_0x8b57[67]](_0x409ex1c,_0x409ex7[_0x8b57[13]]);return _0x409ex1c;})[_0x8b57[47]](function(_0x409ex1c){})[_0x8b57[47]](function(){return _0x409ex8[_0x8b57[55]](200)})[_0x8b57[37]](function(_0x409ex15){console[_0x8b57[50]](_0x409ex15);return handleError(_0x409ex8,_0x409ex15);})};exports[_0x8b57[68]]=function(_0x409ex7,_0x409ex8){CustomReport[_0x8b57[62]](_0x409ex7[_0x8b57[61]][_0x8b57[60]],{include:[{all:true}]})[_0x8b57[47]](function(_0x409ex1c){if(!_0x409ex1c){return _0x409ex8[_0x8b57[55]](404)};return _0x409ex8[_0x8b57[35]](_0x409ex1c);})[_0x8b57[37]](function(_0x409ex15){return handleError(_0x409ex8,_0x409ex15)})};exports[_0x8b57[69]]=function(_0x409ex7,_0x409ex8){CustomReport[_0x8b57[62]](_0x409ex7[_0x8b57[61]][_0x8b57[60]],{include:[{all:true}]})[_0x8b57[47]](function(_0x409ex1c){if(!_0x409ex1c){return _0x409ex8[_0x8b57[55]](404)};var _0x409ex1f=_0x409ex1c[_0x8b57[56]];delete _0x409ex1f[_0x8b57[60]];delete _0x409ex1f[_0x8b57[70]];delete _0x409ex1f[_0x8b57[71]];_0x409ex1f[_0x8b57[11]]=_0x409ex7[_0x8b57[72]][_0x8b57[11]];_0x409ex1f[_0x8b57[73]]=_[_0x8b57[74]](_0x409ex1f.Fields,_0x8b57[56]);_[_0x8b57[25]](_0x409ex1f.Fields,function(_0x409ex20){delete _0x409ex20[_0x8b57[60]];delete _0x409ex20[_0x8b57[75]];delete _0x409ex20[_0x8b57[70]];delete _0x409ex20[_0x8b57[71]];});return CustomReport[_0x8b57[76]](_0x409ex1f,{include:[{all:true}]});})[_0x8b57[47]](function(){return _0x409ex8[_0x8b57[55]](201)})[_0x8b57[37]](function(_0x409ex15){console[_0x8b57[50]](_0x409ex15);return handleError(_0x409ex8,_0x409ex15);})};exports[_0x8b57[77]]=function(_0x409ex7,_0x409ex8){CustomReport[_0x8b57[76]](_0x409ex7[_0x8b57[72]],{include:[{all:true}]})[_0x8b57[47]](function(_0x409ex1c){return _0x409ex8[_0x8b57[36]](201)[_0x8b57[35]](_0x409ex1c)})[_0x8b57[37]](function(_0x409ex15){return handleError(_0x409ex8,_0x409ex15)})};exports[_0x8b57[78]]=function(_0x409ex7,_0x409ex8){CustomReport[_0x8b57[62]](_0x409ex7[_0x8b57[61]][_0x8b57[60]],{include:[{all:true}]})[_0x8b57[47]](function(_0x409ex1c){if(!_0x409ex1c){return _0x409ex8[_0x8b57[55]](404)};if(!_0x409ex1c[_0x8b57[73]][_0x8b57[51]]){return _0x409ex8[_0x8b57[36]](500)[_0x8b57[35]]({message:_0x8b57[79]})};var _0x409exd=buildReport(_0x409ex1c[_0x8b57[56]],{perPage:20});return sequelize[_0x8b57[13]](_0x409exd,{type:sequelize[_0x8b57[58]][_0x8b57[57]]});})[_0x8b57[47]](function(_0x409ex1a){return _0x409ex8[_0x8b57[36]](200)[_0x8b57[35]](_0x409ex1a)})[_0x8b57[37]](function(_0x409ex15){return handleError(_0x409ex8,_0x409ex15)})};function buildReport(_0x409ex1c,_0x409exd,_0x409ex22){var _0x409ex23=[],_0x409ex24=[],_0x409ex25=[];_[_0x8b57[25]](_0x409ex1c.Fields,function(_0x409ex20){var _0x409ex26=_0x8b57[80];if(_0x409ex20[_0x8b57[81]]){switch(_0x409ex20[_0x8b57[81]]){case _0x8b57[84]:_0x409ex26=util[_0x8b57[20]](_0x8b57[82],_0x409ex20[_0x8b57[83]]);break ;;case _0x8b57[86]:_0x409ex26=util[_0x8b57[20]](_0x8b57[85],_0x409ex20[_0x8b57[83]],_0x409ex20[_0x8b57[83]]);break ;;case _0x8b57[88]:_0x409ex26=util[_0x8b57[20]](_0x8b57[87],_0x409ex20[_0x8b57[83]],_0x409ex20[_0x8b57[83]]);break ;;default:_0x409ex26=util[_0x8b57[20]](_0x8b57[89],_0x409ex20[_0x8b57[81]],_0x409ex20[_0x8b57[83]]);;}}else {_0x409ex26=_0x409ex20[_0x8b57[83]]};_0x409ex23[_0x8b57[24]](util[_0x8b57[20]](_0x8b57[90],_0x409ex26,_0x409ex20[_0x8b57[91]]));if(_0x409ex20[_0x8b57[92]]){_0x409ex24[_0x8b57[24]](_0x409ex20[_0x8b57[83]])};if(_0x409ex20[_0x8b57[93]]){_0x409ex25[_0x8b57[24]](util[_0x8b57[20]](_0x8b57[16],_0x409ex20[_0x8b57[83]],_0x409ex20[_0x8b57[93]]))};});var _0x409ex27=getConditions(JSON[_0x8b57[29]](_0x409ex1c[_0x8b57[95]])[_0x8b57[94]]);var _0x409ex28=_0x8b57[57];_0x409ex28+=_0x8b57[96]+_0x409ex23[_0x8b57[98]](_0x8b57[97]);if(_0x409ex22){_0x409ex28+=_0x8b57[99]};_0x409ex28+=_0x8b57[100]+_0x409ex1c[_0x8b57[101]];_0x409ex28+=_0x409ex27!==_0x8b57[102]?_0x8b57[103]+_0x409ex27:_0x8b57[80];var _0x409ex29=false;var _0x409ex2a=false;if(_0x409exd){_[_0x8b57[30]](_0x409exd,function(_0x409exe,_0x409exf){switch(_0x409exf){case _0x8b57[14]:if(_0x409exd[_0x8b57[104]]){_0x409ex29=parseInt(_0x409exd[_0x8b57[104]],10);_0x409ex2a=parseInt(_0x409exe,10)*_0x409ex29;};break ;;case _0x8b57[104]:_0x409ex29=parseInt(_0x409exe,10);break ;;case _0x8b57[107]:_0x409ex28+=_0x8b57[105]+_0x409exe+_0x8b57[106];break ;;case _0x8b57[109]:_0x409ex28+=_0x8b57[108]+_0x409exe+_0x8b57[106];break ;;case _0x8b57[59]:break ;;default:var _0x409ex2b=_[_0x8b57[110]](_0x409ex1c.Fields,{alias:_0x409exf})[_0x8b57[83]];if(_0x409ex2b){_0x409ex28+=_0x8b57[111]+_0x409ex2b+_0x8b57[112]+_0x409exe+_0x8b57[113]}else {_0x409ex28+=_0x8b57[111]+_0x409exf+_0x8b57[112]+_0x409exe+_0x8b57[113]};;}})};_0x409ex28+=_0x409ex24[_0x8b57[51]]?_0x8b57[114]+_0x409ex24[_0x8b57[98]](_0x8b57[97]):_0x8b57[80];_0x409ex28+=_0x409ex25[_0x8b57[51]]?_0x8b57[115]+_0x409ex25[_0x8b57[98]](_0x8b57[97]):_0x8b57[80];_0x409ex28+=_0x409ex29&&!_0x409ex22?_0x8b57[116]+_0x409ex29:_0x8b57[80];_0x409ex28+=_0x409ex2a&&!_0x409ex22?_0x8b57[117]+_0x409ex2a:_0x8b57[80];return _0x409ex28;}function getConditions(_0x409ex2d){if(!_0x409ex2d){return _0x8b57[80]};for(var _0x409ex2e=_0x8b57[118],_0x409ex2f=0;_0x409ex2f<_0x409ex2d[_0x8b57[119]][_0x8b57[51]];_0x409ex2f++){_0x409ex2f>0&&(_0x409ex2e+=_0x8b57[96]+_0x409ex2d[_0x8b57[120]]+_0x8b57[96]);_0x409ex2e+=_0x409ex2d[_0x8b57[119]][_0x409ex2f][_0x8b57[94]]?getConditions(_0x409ex2d[_0x8b57[119]][_0x409ex2f][_0x8b57[94]]):_0x409ex2d[_0x8b57[119]][_0x409ex2f][_0x8b57[83]]+_0x8b57[96]+_0x409ex2d[_0x8b57[119]][_0x409ex2f][_0x8b57[121]]+_0x8b57[122]+(_0x409ex2d[_0x8b57[119]][_0x409ex2f][_0x8b57[121]]===_0x8b57[123]?_0x8b57[23]+_0x409ex2d[_0x8b57[119]][_0x409ex2f][_0x8b57[124]]+_0x8b57[23]:_0x409ex2d[_0x8b57[119]][_0x409ex2f][_0x8b57[124]])+_0x8b57[106];};return _0x409ex2e+_0x8b57[125];}exports[_0x8b57[76]]=function(_0x409ex7,_0x409ex8){CustomReport[_0x8b57[76]](_0x409ex7[_0x8b57[72]])[_0x8b57[47]](function(_0x409ex1c){return _0x409ex8[_0x8b57[36]](201)[_0x8b57[35]](_0x409ex1c)})[_0x8b57[37]](function(_0x409ex15){return handleError(_0x409ex8,_0x409ex15)})};exports[_0x8b57[126]]=function(_0x409ex7,_0x409ex8){if(_0x409ex7[_0x8b57[72]][_0x8b57[60]]){delete _0x409ex7[_0x8b57[72]][_0x8b57[60]]};ReportField[_0x8b57[128]]({where:{CustomReportId:_0x409ex7[_0x8b57[61]][_0x8b57[60]]}})[_0x8b57[47]](function(){return ReportField[_0x8b57[127]](_0x409ex7[_0x8b57[72]].Fields)})[_0x8b57[47]](function(){delete _0x409ex7[_0x8b57[72]][_0x8b57[73]];return CustomReport[_0x8b57[126]](_0x409ex7[_0x8b57[72]],{where:{id:_0x409ex7[_0x8b57[61]][_0x8b57[60]]}});})[_0x8b57[47]](function(){return _0x409ex8[_0x8b57[55]](200)})[_0x8b57[37]](function(_0x409ex15){console[_0x8b57[50]](_0x409ex15);return handleError(_0x409ex8,_0x409ex15);});};exports[_0x8b57[128]]=function(_0x409ex7,_0x409ex8){CustomReport[_0x8b57[62]](_0x409ex7[_0x8b57[61]][_0x8b57[60]])[_0x8b57[47]](function(_0x409ex1c){if(!_0x409ex1c){return _0x409ex8[_0x8b57[55]](404)};_0x409ex1c[_0x8b57[128]]()[_0x8b57[47]](function(){return _0x409ex8[_0x8b57[55]](204)})[_0x8b57[37]](function(_0x409ex15){return handleError(_0x409ex8,_0x409ex15)});})[_0x8b57[37]](function(_0x409ex15){return handleError(_0x409ex8,_0x409ex15)})};exports[_0x8b57[129]]=function(_0x409ex7,_0x409ex8){CustomReport[_0x8b57[128]]({where:{id:_0x409ex7[_0x8b57[13]][_0x8b57[60]]},individualHooks:true})[_0x8b57[47]](function(){return _0x409ex8[_0x8b57[55]](204)})[_0x8b57[37]](function(_0x409ex15){return handleError(_0x409ex8,_0x409ex15)})};function handleError(_0x409ex8,_0x409ex15){return _0x409ex8[_0x8b57[36]](500)[_0x8b57[35]](_0x409ex15)}
\ No newline at end of file
index a0bb733d2b9e8b156a18e88dd42fcaec936d9156..390cde2cc028e97430f47775c0d365071f059287 100644 (file)
@@ -1 +1 @@
-var _0xa8ab=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x63\x75\x73\x74\x6F\x6D\x5F\x72\x65\x70\x6F\x72\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x63\x75\x73\x74\x6F\x6D\x5F\x72\x65\x70\x6F\x72\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0xa8ab[0];var CustomReport=require(_0xa8ab[2])[_0xa8ab[1]];exports[_0xa8ab[3]]=function(_0x1bcbx2){CustomReport[_0xa8ab[4]](function(_0x1bcbx3){onSave(_0x1bcbx2,_0x1bcbx3)});CustomReport[_0xa8ab[5]](function(_0x1bcbx3){onRemove(_0x1bcbx2,_0x1bcbx3)});};function onSave(_0x1bcbx2,_0x1bcbx3,_0x1bcbx5){_0x1bcbx2[_0xa8ab[7]](_0xa8ab[6],_0x1bcbx3)}function onRemove(_0x1bcbx2,_0x1bcbx3,_0x1bcbx5){_0x1bcbx2[_0xa8ab[7]](_0xa8ab[8],_0x1bcbx3)}
\ No newline at end of file
+var _0xafc6=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x63\x75\x73\x74\x6F\x6D\x5F\x72\x65\x70\x6F\x72\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x63\x75\x73\x74\x6F\x6D\x5F\x72\x65\x70\x6F\x72\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0xafc6[0];var CustomReport=require(_0xafc6[2])[_0xafc6[1]];exports[_0xafc6[3]]=function(_0x2e2bx2){CustomReport[_0xafc6[4]](function(_0x2e2bx3){onSave(_0x2e2bx2,_0x2e2bx3)});CustomReport[_0xafc6[5]](function(_0x2e2bx3){onRemove(_0x2e2bx2,_0x2e2bx3)});};function onSave(_0x2e2bx2,_0x2e2bx3,_0x2e2bx5){_0x2e2bx2[_0xafc6[7]](_0xafc6[6],_0x2e2bx3)}function onRemove(_0x2e2bx2,_0x2e2bx3,_0x2e2bx5){_0x2e2bx2[_0xafc6[7]](_0xafc6[8],_0x2e2bx3)}
\ No newline at end of file
index e59cd481904f0541bbbe26d73e74a680be5d495e..2c057e8764aea08b339abefa4ee23c7867ca7542 100644 (file)
@@ -1 +1 @@
-var _0xe418=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x73\x2F\x72\x65\x70\x6F\x72\x74\x73\x2F\x63\x75\x73\x74\x6F\x6D","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x2F\x72\x65\x70\x6F\x72\x74\x73\x2F\x63\x75\x73\x74\x6F\x6D","\x67\x65\x74"];_0xe418[0];var should=require(_0xe418[1]);var app=require(_0xe418[2]);var request=require(_0xe418[3]);describe(_0xe418[4],function(){it(_0xe418[5],function(_0x4fd2x4){request(app)[_0xe418[13]](_0xe418[12])[_0xe418[11]](200)[_0xe418[11]](_0xe418[10],/json/)[_0xe418[9]](function(_0x4fd2x5,_0x4fd2x6){if(_0x4fd2x5){return _0x4fd2x4(_0x4fd2x5)};_0x4fd2x6[_0xe418[8]][_0xe418[1]][_0xe418[7]][_0xe418[6]](Array);_0x4fd2x4();})})});
\ No newline at end of file
+var _0xabe1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x73\x2F\x72\x65\x70\x6F\x72\x74\x73\x2F\x63\x75\x73\x74\x6F\x6D","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x2F\x72\x65\x70\x6F\x72\x74\x73\x2F\x63\x75\x73\x74\x6F\x6D","\x67\x65\x74"];_0xabe1[0];var should=require(_0xabe1[1]);var app=require(_0xabe1[2]);var request=require(_0xabe1[3]);describe(_0xabe1[4],function(){it(_0xabe1[5],function(_0x680bx4){request(app)[_0xabe1[13]](_0xabe1[12])[_0xabe1[11]](200)[_0xabe1[11]](_0xabe1[10],/json/)[_0xabe1[9]](function(_0x680bx5,_0x680bx6){if(_0x680bx5){return _0x680bx4(_0x680bx5)};_0x680bx6[_0xabe1[8]][_0xabe1[1]][_0xabe1[7]][_0xabe1[6]](Array);_0x680bx4();})})});
\ No newline at end of file
index 6dca3cc65277fe6590dd62532e8e8738141730a8..6703fde7dd94962f32d6ce9c363c0b49135e2e72 100644 (file)
@@ -1 +1 @@
-var _0x48de=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x75\x73\x74\x6F\x6D\x5F\x72\x65\x70\x6F\x72\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x65\x78\x74\x72\x61\x63\x74\x2F\x3A\x69\x64","\x65\x78\x74\x72\x61\x63\x74","\x2F\x70\x72\x65\x76\x69\x65\x77\x2F\x3A\x69\x64","\x67\x65\x74\x50\x72\x65\x76\x69\x65\x77","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x69\x6D\x70\x6F\x72\x74","\x69\x6D\x70\x6F\x72\x74","\x2F\x63\x6F\x70\x79\x2F\x3A\x69\x64","\x63\x6F\x70\x79","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x48de[0];var express=require(_0x48de[1]);var controller=require(_0x48de[2]);var router=express.Router();router[_0x48de[5]](_0x48de[3],controller[_0x48de[4]]);router[_0x48de[5]](_0x48de[6],controller[_0x48de[7]]);router[_0x48de[5]](_0x48de[8],controller[_0x48de[9]]);router[_0x48de[5]](_0x48de[10],controller[_0x48de[11]]);router[_0x48de[13]](_0x48de[3],controller[_0x48de[12]]);router[_0x48de[13]](_0x48de[14],controller[_0x48de[15]]);router[_0x48de[13]](_0x48de[16],controller[_0x48de[17]]);router[_0x48de[19]](_0x48de[10],controller[_0x48de[18]]);router[_0x48de[20]](_0x48de[10],controller[_0x48de[18]]);router[_0x48de[22]](_0x48de[3],controller[_0x48de[21]]);router[_0x48de[22]](_0x48de[10],controller[_0x48de[23]]);module[_0x48de[24]]=router;
\ No newline at end of file
+var _0xacfe=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x75\x73\x74\x6F\x6D\x5F\x72\x65\x70\x6F\x72\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x70\x72\x65\x76\x69\x65\x77\x2F\x3A\x69\x64","\x70\x72\x65\x76\x69\x65\x77","\x2F\x65\x78\x74\x72\x61\x63\x74\x2F\x70\x64\x66\x2F\x3A\x69\x64","\x65\x78\x74\x72\x61\x63\x74\x50\x64\x66","\x2F\x65\x78\x74\x72\x61\x63\x74\x2F\x63\x73\x76\x2F\x3A\x69\x64","\x65\x78\x74\x72\x61\x63\x74\x43\x73\x76","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x69\x6D\x70\x6F\x72\x74","\x69\x6D\x70\x6F\x72\x74","\x2F\x63\x6F\x70\x79\x2F\x3A\x69\x64","\x63\x6F\x70\x79","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xacfe[0];var express=require(_0xacfe[1]);var controller=require(_0xacfe[2]);var router=express.Router();router[_0xacfe[5]](_0xacfe[3],controller[_0xacfe[4]]);router[_0xacfe[5]](_0xacfe[6],controller[_0xacfe[7]]);router[_0xacfe[5]](_0xacfe[8],controller[_0xacfe[9]]);router[_0xacfe[5]](_0xacfe[10],controller[_0xacfe[11]]);router[_0xacfe[5]](_0xacfe[12],controller[_0xacfe[13]]);router[_0xacfe[15]](_0xacfe[3],controller[_0xacfe[14]]);router[_0xacfe[15]](_0xacfe[16],controller[_0xacfe[17]]);router[_0xacfe[15]](_0xacfe[18],controller[_0xacfe[19]]);router[_0xacfe[21]](_0xacfe[12],controller[_0xacfe[20]]);router[_0xacfe[22]](_0xacfe[12],controller[_0xacfe[20]]);router[_0xacfe[24]](_0xacfe[3],controller[_0xacfe[23]]);router[_0xacfe[24]](_0xacfe[12],controller[_0xacfe[25]]);module[_0xacfe[26]]=router;
\ No newline at end of file
index 375941fb921dfe0968dfbe9ec31e0ddef3f36621..b7f37b82bd4c96eb5f97b708df9f7874f147fd1f 100644 (file)
@@ -1 +1 @@
-var _0xca88=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x44\x61\x73\x68\x62\x6F\x61\x72\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x61\x6C\x6C","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0xca88[0];var _=require(_0xca88[1]);var util=require(_0xca88[2]);var Dashboard=require(_0xca88[4])[_0xca88[3]];exports[_0xca88[5]]=function(_0x836ax4,_0x836ax5){var _0x836ax6=[_0xca88[6],_0xca88[7]];var _0x836ax7=_0x836ax4[_0xca88[9]][_0xca88[8]]?parseInt(_0x836ax4[_0xca88[9]][_0xca88[8]],10):100;var _0x836ax8=_0x836ax4[_0xca88[9]][_0xca88[10]]?parseInt(_0x836ax4[_0xca88[9]][_0xca88[10]],10):0;var _0x836ax9={where:{},limit:_0x836ax7,offset:_0x836ax8*_0x836ax7};_[_0xca88[24]](_0x836ax4[_0xca88[9]],function(_0x836axa,_0x836axb){switch(_0x836axb){case _0xca88[8]:;case _0xca88[10]:break ;;case _0xca88[13]:_0x836ax9[_0xca88[11]]=util[_0xca88[16]](_0xca88[12],_0x836ax4[_0xca88[9]][_0xca88[13]],_0x836ax4[_0xca88[9]][_0xca88[14]]||_0xca88[15])||null;break ;;case _0xca88[14]:break ;;case _0xca88[22]:_0x836ax9[_0xca88[18]][_0xca88[17]]=[];_0x836ax6[_0xca88[21]](function(_0x836axc){var _0x836axd={};_0x836axd[_0x836axc]={$like:_0xca88[19]+_0x836axa+_0xca88[19]};_0x836ax9[_0xca88[18]][_0xca88[17]][_0xca88[20]](_0x836axd);});break ;;default:_0x836ax9[_0xca88[18]][_0x836axb]={$like:{}};_0x836ax9[_0xca88[18]][_0x836axb][_0xca88[23]]=_0xca88[19]+_0x836axa+_0xca88[19];;}});Dashboard[_0xca88[39]](_0x836ax9)[_0xca88[38]](function(_0x836axf){var _0x836ax10=Math[_0xca88[30]](_0x836axf[_0xca88[29]]/_0x836ax7);var _0x836ax11=_0x836ax10>(_0x836ax9[_0xca88[31]]+1)?util[_0xca88[16]](_0xca88[32],_0x836ax4[_0xca88[33]],_0x836ax4[_0xca88[35]][_0xca88[34]],_0x836ax4[_0xca88[36]],_0x836ax8+1):null;var _0x836ax12=_0x836ax8>0?util[_0xca88[16]](_0xca88[32],_0x836ax4[_0xca88[33]],_0x836ax4[_0xca88[35]][_0xca88[34]],_0x836ax4[_0xca88[36]],_0x836ax8-1):null;return _0x836ax5[_0xca88[27]](200)[_0xca88[26]]({count:_0x836axf[_0xca88[29]],rows:_0x836axf[_0xca88[37]],next_page:_0x836ax11,previous_page:_0x836ax12,total_pages:_0x836ax10});})[_0xca88[28]](function(_0x836axe){return _0x836ax5[_0xca88[27]](500)[_0xca88[26]]({error:_0xca88[25]})});};exports[_0xca88[40]]=function(_0x836ax4,_0x836ax5){Dashboard[_0xca88[42]]()[_0xca88[38]](function(_0x836ax13){if(!_0x836ax13){return _0x836ax5[_0xca88[41]](404)};return _0x836ax5[_0xca88[27]](200)[_0xca88[26]](_0x836ax13);})[_0xca88[28]](function(_0x836axe){return handleError(_0x836ax5,_0x836axe)})};exports[_0xca88[43]]=function(_0x836ax4,_0x836ax5){Dashboard[_0xca88[46]](_0x836ax4[_0xca88[45]][_0xca88[44]])[_0xca88[38]](function(_0x836ax14){if(!_0x836ax14){return _0x836ax5[_0xca88[41]](404)};return _0x836ax5[_0xca88[26]](_0x836ax14);})[_0xca88[28]](function(_0x836axe){return handleError(_0x836ax5,_0x836axe)})};exports[_0xca88[47]]=function(_0x836ax4,_0x836ax5){Dashboard[_0xca88[47]](_0x836ax4[_0xca88[48]])[_0xca88[38]](function(_0x836ax14){return _0x836ax5[_0xca88[27]](201)[_0xca88[26]](_0x836ax14)})[_0xca88[28]](function(_0x836axe){return handleError(_0x836ax5,_0x836axe)})};exports[_0xca88[49]]=function(_0x836ax4,_0x836ax5){if(_0x836ax4[_0xca88[48]][_0xca88[44]]){delete _0x836ax4[_0xca88[48]][_0xca88[44]]};Dashboard[_0xca88[46]](_0x836ax4[_0xca88[45]][_0xca88[44]])[_0xca88[38]](function(_0x836ax14){if(!_0x836ax14){return _0x836ax5[_0xca88[41]](404)};var _0x836ax15=_[_0xca88[50]](_0x836ax14,_0x836ax4[_0xca88[48]]);_0x836ax15[_0xca88[51]]()[_0xca88[38]](function(){return _0x836ax5[_0xca88[27]](200)[_0xca88[26]](_0x836ax14)})[_0xca88[28]](function(_0x836axe){return handleError(_0x836ax5,_0x836axe)});})[_0xca88[28]](function(_0x836axe){return handleError(_0x836ax5,_0x836axe)});};exports[_0xca88[52]]=function(_0x836ax4,_0x836ax5){Dashboard[_0xca88[46]](_0x836ax4[_0xca88[45]][_0xca88[44]])[_0xca88[38]](function(_0x836ax14){if(!_0x836ax14){return _0x836ax5[_0xca88[41]](404)};_0x836ax14[_0xca88[52]]()[_0xca88[38]](function(){return _0x836ax5[_0xca88[41]](204)})[_0xca88[28]](function(_0x836axe){return handleError(_0x836ax5,_0x836axe)});})[_0xca88[28]](function(_0x836axe){return handleError(_0x836ax5,_0x836axe)})};exports[_0xca88[53]]=function(_0x836ax4,_0x836ax5){Dashboard[_0xca88[52]]({where:{id:_0x836ax4[_0xca88[9]][_0xca88[44]]},individualHooks:true})[_0xca88[38]](function(){return _0x836ax5[_0xca88[41]](204)})[_0xca88[28]](function(_0x836axe){return handleError(_0x836ax5,_0x836axe)})};function handleError(_0x836ax5,_0x836axe){return _0x836ax5[_0xca88[27]](500)[_0xca88[26]](_0x836axe)}
\ No newline at end of file
+var _0x5952=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x44\x61\x73\x68\x62\x6F\x61\x72\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x61\x6C\x6C","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0x5952[0];var _=require(_0x5952[1]);var util=require(_0x5952[2]);var Dashboard=require(_0x5952[4])[_0x5952[3]];exports[_0x5952[5]]=function(_0x85bfx4,_0x85bfx5){var _0x85bfx6=[_0x5952[6],_0x5952[7]];var _0x85bfx7=_0x85bfx4[_0x5952[9]][_0x5952[8]]?parseInt(_0x85bfx4[_0x5952[9]][_0x5952[8]],10):100;var _0x85bfx8=_0x85bfx4[_0x5952[9]][_0x5952[10]]?parseInt(_0x85bfx4[_0x5952[9]][_0x5952[10]],10):0;var _0x85bfx9={where:{},limit:_0x85bfx7,offset:_0x85bfx8*_0x85bfx7};_[_0x5952[24]](_0x85bfx4[_0x5952[9]],function(_0x85bfxa,_0x85bfxb){switch(_0x85bfxb){case _0x5952[8]:;case _0x5952[10]:break ;;case _0x5952[13]:_0x85bfx9[_0x5952[11]]=util[_0x5952[16]](_0x5952[12],_0x85bfx4[_0x5952[9]][_0x5952[13]],_0x85bfx4[_0x5952[9]][_0x5952[14]]||_0x5952[15])||null;break ;;case _0x5952[14]:break ;;case _0x5952[22]:_0x85bfx9[_0x5952[18]][_0x5952[17]]=[];_0x85bfx6[_0x5952[21]](function(_0x85bfxc){var _0x85bfxd={};_0x85bfxd[_0x85bfxc]={$like:_0x5952[19]+_0x85bfxa+_0x5952[19]};_0x85bfx9[_0x5952[18]][_0x5952[17]][_0x5952[20]](_0x85bfxd);});break ;;default:_0x85bfx9[_0x5952[18]][_0x85bfxb]={$like:{}};_0x85bfx9[_0x5952[18]][_0x85bfxb][_0x5952[23]]=_0x5952[19]+_0x85bfxa+_0x5952[19];;}});Dashboard[_0x5952[39]](_0x85bfx9)[_0x5952[38]](function(_0x85bfxf){var _0x85bfx10=Math[_0x5952[30]](_0x85bfxf[_0x5952[29]]/_0x85bfx7);var _0x85bfx11=_0x85bfx10>(_0x85bfx9[_0x5952[31]]+1)?util[_0x5952[16]](_0x5952[32],_0x85bfx4[_0x5952[33]],_0x85bfx4[_0x5952[35]][_0x5952[34]],_0x85bfx4[_0x5952[36]],_0x85bfx8+1):null;var _0x85bfx12=_0x85bfx8>0?util[_0x5952[16]](_0x5952[32],_0x85bfx4[_0x5952[33]],_0x85bfx4[_0x5952[35]][_0x5952[34]],_0x85bfx4[_0x5952[36]],_0x85bfx8-1):null;return _0x85bfx5[_0x5952[27]](200)[_0x5952[26]]({count:_0x85bfxf[_0x5952[29]],rows:_0x85bfxf[_0x5952[37]],next_page:_0x85bfx11,previous_page:_0x85bfx12,total_pages:_0x85bfx10});})[_0x5952[28]](function(_0x85bfxe){return _0x85bfx5[_0x5952[27]](500)[_0x5952[26]]({error:_0x5952[25]})});};exports[_0x5952[40]]=function(_0x85bfx4,_0x85bfx5){Dashboard[_0x5952[42]]()[_0x5952[38]](function(_0x85bfx13){if(!_0x85bfx13){return _0x85bfx5[_0x5952[41]](404)};return _0x85bfx5[_0x5952[27]](200)[_0x5952[26]](_0x85bfx13);})[_0x5952[28]](function(_0x85bfxe){return handleError(_0x85bfx5,_0x85bfxe)})};exports[_0x5952[43]]=function(_0x85bfx4,_0x85bfx5){Dashboard[_0x5952[46]](_0x85bfx4[_0x5952[45]][_0x5952[44]])[_0x5952[38]](function(_0x85bfx14){if(!_0x85bfx14){return _0x85bfx5[_0x5952[41]](404)};return _0x85bfx5[_0x5952[26]](_0x85bfx14);})[_0x5952[28]](function(_0x85bfxe){return handleError(_0x85bfx5,_0x85bfxe)})};exports[_0x5952[47]]=function(_0x85bfx4,_0x85bfx5){Dashboard[_0x5952[47]](_0x85bfx4[_0x5952[48]])[_0x5952[38]](function(_0x85bfx14){return _0x85bfx5[_0x5952[27]](201)[_0x5952[26]](_0x85bfx14)})[_0x5952[28]](function(_0x85bfxe){return handleError(_0x85bfx5,_0x85bfxe)})};exports[_0x5952[49]]=function(_0x85bfx4,_0x85bfx5){if(_0x85bfx4[_0x5952[48]][_0x5952[44]]){delete _0x85bfx4[_0x5952[48]][_0x5952[44]]};Dashboard[_0x5952[46]](_0x85bfx4[_0x5952[45]][_0x5952[44]])[_0x5952[38]](function(_0x85bfx14){if(!_0x85bfx14){return _0x85bfx5[_0x5952[41]](404)};var _0x85bfx15=_[_0x5952[50]](_0x85bfx14,_0x85bfx4[_0x5952[48]]);_0x85bfx15[_0x5952[51]]()[_0x5952[38]](function(){return _0x85bfx5[_0x5952[27]](200)[_0x5952[26]](_0x85bfx14)})[_0x5952[28]](function(_0x85bfxe){return handleError(_0x85bfx5,_0x85bfxe)});})[_0x5952[28]](function(_0x85bfxe){return handleError(_0x85bfx5,_0x85bfxe)});};exports[_0x5952[52]]=function(_0x85bfx4,_0x85bfx5){Dashboard[_0x5952[46]](_0x85bfx4[_0x5952[45]][_0x5952[44]])[_0x5952[38]](function(_0x85bfx14){if(!_0x85bfx14){return _0x85bfx5[_0x5952[41]](404)};_0x85bfx14[_0x5952[52]]()[_0x5952[38]](function(){return _0x85bfx5[_0x5952[41]](204)})[_0x5952[28]](function(_0x85bfxe){return handleError(_0x85bfx5,_0x85bfxe)});})[_0x5952[28]](function(_0x85bfxe){return handleError(_0x85bfx5,_0x85bfxe)})};exports[_0x5952[53]]=function(_0x85bfx4,_0x85bfx5){Dashboard[_0x5952[52]]({where:{id:_0x85bfx4[_0x5952[9]][_0x5952[44]]},individualHooks:true})[_0x5952[38]](function(){return _0x85bfx5[_0x5952[41]](204)})[_0x5952[28]](function(_0x85bfxe){return handleError(_0x85bfx5,_0x85bfxe)})};function handleError(_0x85bfx5,_0x85bfxe){return _0x85bfx5[_0x5952[27]](500)[_0x5952[26]](_0x85bfxe)}
\ No newline at end of file
index d672ca95bdde7cca078611cf0a956c07e368fc77..5035f3da42d609c1b60dfdfce299632e3c2ad9b1 100644 (file)
@@ -1 +1 @@
-var _0x1649=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x44\x61\x73\x68\x62\x6F\x61\x72\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x72\x65\x6D\x6F\x76\x65"];_0x1649[0];var Dashboard=require(_0x1649[2])[_0x1649[1]];exports[_0x1649[3]]=function(_0x75f0x2){Dashboard[_0x1649[4]](function(_0x75f0x3){onSave(_0x75f0x2,_0x75f0x3)});Dashboard[_0x1649[5]](function(_0x75f0x3){onSave(_0x75f0x2,_0x75f0x3)});Dashboard[_0x1649[6]](function(_0x75f0x3){onRemove(_0x75f0x2,_0x75f0x3)});};function onSave(_0x75f0x2,_0x75f0x3,_0x75f0x5){_0x75f0x2[_0x1649[8]](_0x1649[7],_0x75f0x3)}function onRemove(_0x75f0x2,_0x75f0x3,_0x75f0x5){_0x75f0x2[_0x1649[8]](_0x1649[9],_0x75f0x3)}
\ No newline at end of file
+var _0xc66b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x44\x61\x73\x68\x62\x6F\x61\x72\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x72\x65\x6D\x6F\x76\x65"];_0xc66b[0];var Dashboard=require(_0xc66b[2])[_0xc66b[1]];exports[_0xc66b[3]]=function(_0x2354x2){Dashboard[_0xc66b[4]](function(_0x2354x3){onSave(_0x2354x2,_0x2354x3)});Dashboard[_0xc66b[5]](function(_0x2354x3){onSave(_0x2354x2,_0x2354x3)});Dashboard[_0xc66b[6]](function(_0x2354x3){onRemove(_0x2354x2,_0x2354x3)});};function onSave(_0x2354x2,_0x2354x3,_0x2354x5){_0x2354x2[_0xc66b[8]](_0xc66b[7],_0x2354x3)}function onRemove(_0x2354x2,_0x2354x3,_0x2354x5){_0x2354x2[_0xc66b[8]](_0xc66b[9],_0x2354x3)}
\ No newline at end of file
index 560e2b8ed9254ebdde5e2ef41d9564d46c5a317f..e91df51a658c6183bda5a5f5c837b49b64bf80e5 100644 (file)
@@ -1 +1 @@
-var _0x77d9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x73","\x67\x65\x74"];_0x77d9[0];var should=require(_0x77d9[1]);var app=require(_0x77d9[2]);var request=require(_0x77d9[3]);describe(_0x77d9[4],function(){it(_0x77d9[5],function(_0x69a3x4){request(app)[_0x77d9[13]](_0x77d9[12])[_0x77d9[11]](200)[_0x77d9[11]](_0x77d9[10],/json/)[_0x77d9[9]](function(_0x69a3x5,_0x69a3x6){if(_0x69a3x5){return _0x69a3x4(_0x69a3x5)};_0x69a3x6[_0x77d9[8]][_0x77d9[1]][_0x77d9[7]][_0x77d9[6]](Array);_0x69a3x4();})})});
\ No newline at end of file
+var _0x5c71=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x73","\x67\x65\x74"];_0x5c71[0];var should=require(_0x5c71[1]);var app=require(_0x5c71[2]);var request=require(_0x5c71[3]);describe(_0x5c71[4],function(){it(_0x5c71[5],function(_0xff38x4){request(app)[_0x5c71[13]](_0x5c71[12])[_0x5c71[11]](200)[_0x5c71[11]](_0x5c71[10],/json/)[_0x5c71[9]](function(_0xff38x5,_0xff38x6){if(_0xff38x5){return _0xff38x4(_0xff38x5)};_0xff38x6[_0x5c71[8]][_0x5c71[1]][_0x5c71[7]][_0x5c71[6]](Array);_0xff38x4();})})});
\ No newline at end of file
index d33bc4f2e55f6e0a2fc374441f846151c9f2f83c..7a9206d6ebdc634afd2cc13c6d7778218008948e 100644 (file)
@@ -1 +1 @@
-var _0xf9e2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x61\x6C\x6C","\x61\x6C\x6C","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xf9e2[0];var express=require(_0xf9e2[1]);var controller=require(_0xf9e2[2]);var auth=require(_0xf9e2[3]);var router=express.Router();router[_0xf9e2[7]](_0xf9e2[4],auth[_0xf9e2[5]](),controller[_0xf9e2[6]]);router[_0xf9e2[7]](_0xf9e2[8],auth[_0xf9e2[5]](),controller[_0xf9e2[9]]);router[_0xf9e2[7]](_0xf9e2[10],auth[_0xf9e2[5]](),controller[_0xf9e2[11]]);router[_0xf9e2[13]](_0xf9e2[4],auth[_0xf9e2[5]](),controller[_0xf9e2[12]]);router[_0xf9e2[15]](_0xf9e2[10],auth[_0xf9e2[5]](),controller[_0xf9e2[14]]);router[_0xf9e2[16]](_0xf9e2[10],auth[_0xf9e2[5]](),controller[_0xf9e2[14]]);router[_0xf9e2[18]](_0xf9e2[4],auth[_0xf9e2[5]](),controller[_0xf9e2[17]]);router[_0xf9e2[18]](_0xf9e2[10],auth[_0xf9e2[5]](),controller[_0xf9e2[19]]);module[_0xf9e2[20]]=router;
\ No newline at end of file
+var _0xdf29=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x61\x6C\x6C","\x61\x6C\x6C","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xdf29[0];var express=require(_0xdf29[1]);var controller=require(_0xdf29[2]);var auth=require(_0xdf29[3]);var router=express.Router();router[_0xdf29[7]](_0xdf29[4],auth[_0xdf29[5]](),controller[_0xdf29[6]]);router[_0xdf29[7]](_0xdf29[8],auth[_0xdf29[5]](),controller[_0xdf29[9]]);router[_0xdf29[7]](_0xdf29[10],auth[_0xdf29[5]](),controller[_0xdf29[11]]);router[_0xdf29[13]](_0xdf29[4],auth[_0xdf29[5]](),controller[_0xdf29[12]]);router[_0xdf29[15]](_0xdf29[10],auth[_0xdf29[5]](),controller[_0xdf29[14]]);router[_0xdf29[16]](_0xdf29[10],auth[_0xdf29[5]](),controller[_0xdf29[14]]);router[_0xdf29[18]](_0xdf29[4],auth[_0xdf29[5]](),controller[_0xdf29[17]]);router[_0xdf29[18]](_0xdf29[10],auth[_0xdf29[5]](),controller[_0xdf29[19]]);module[_0xdf29[20]]=router;
\ No newline at end of file
index a93f866a3a44325d888717336b14eddeab90fffc..638c0faa018282f0bf3d2b1f8da3a62754e09e21 100644 (file)
@@ -1 +1 @@
-var _0xa88f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x61\x72\x65\x6E\x74","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x72\x6F\x6C\x65","\x73\x70\x6C\x69\x74","\x70\x61\x72\x73\x65","\x66\x6F\x72\x4F\x77\x6E","\x63\x6C\x69\x65\x6E\x74\x51\x75\x65\x72\x79","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x6F\x70\x79","\x6C\x6F\x67","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x75\x70\x64\x61\x74\x65\x64\x41\x74","\x62\x6F\x64\x79","\x46\x69\x65\x6C\x64\x73","\x70\x6C\x75\x63\x6B","\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xa88f[0];var _=require(_0xa88f[1]);var util=require(_0xa88f[2]);var DefaultReport=require(_0xa88f[4])[_0xa88f[3]];var CustomReport=require(_0xa88f[4])[_0xa88f[5]];exports[_0xa88f[6]]=function(_0xb948x5,_0xb948x6,_0xb948x7){var _0xb948x8=[_0xa88f[7],_0xa88f[8],_0xa88f[9]];var _0xb948x9=_0xb948x5[_0xa88f[11]][_0xa88f[10]]?parseInt(_0xb948x5[_0xa88f[11]][_0xa88f[10]],10):100;var _0xb948xa=_0xb948x5[_0xa88f[11]][_0xa88f[12]]?parseInt(_0xb948x5[_0xa88f[11]][_0xa88f[12]],10):0;var _0xb948xb={where:{},limit:_0xb948x9,offset:_0xb948xa*_0xb948x9};_[_0xa88f[31]](_0xb948x5[_0xa88f[11]],function(_0xb948xc,_0xb948xd){switch(_0xb948xd){case _0xa88f[10]:;case _0xa88f[12]:break ;;case _0xa88f[15]:_0xb948xb[_0xa88f[13]]=util[_0xa88f[18]](_0xa88f[14],_0xb948x5[_0xa88f[11]][_0xa88f[15]],_0xb948x5[_0xa88f[11]][_0xa88f[16]]||_0xa88f[17])||null;break ;;case _0xa88f[16]:break ;;case _0xa88f[24]:_0xb948xb[_0xa88f[20]][_0xa88f[19]]=[];_0xb948x8[_0xa88f[23]](function(_0xb948xe){var _0xb948xf={};_0xb948xf[_0xb948xe]={$like:_0xa88f[21]+_0xb948xc+_0xa88f[21]};_0xb948xb[_0xa88f[20]][_0xa88f[19]][_0xa88f[22]](_0xb948xf);});break ;;case _0xa88f[25]:_0xb948xb[_0xa88f[20]][_0xa88f[25]]={$or:_0xb948xc[_0xa88f[26]](/[\s,]+/)};break ;;case _0xa88f[29]:var _0xb948x10=JSON[_0xa88f[27]](_0xb948xc);_[_0xa88f[28]](_0xb948x10,function(_0xb948x11,_0xb948x12){_0xb948xb[_0xa88f[20]][_0xb948x12]=_0xb948x11});break ;;default:_0xb948xb[_0xa88f[20]][_0xb948xd]={$like:{}};_0xb948xb[_0xa88f[20]][_0xb948xd][_0xa88f[30]]=_0xa88f[21]+_0xb948xc+_0xa88f[21];;}});DefaultReport[_0xa88f[46]](_0xb948xb)[_0xa88f[45]](function(_0xb948x14){var _0xb948x15=Math[_0xa88f[37]](_0xb948x14[_0xa88f[36]]/_0xb948x9);var _0xb948x16=_0xb948x15>(_0xb948xb[_0xa88f[38]]+1)?util[_0xa88f[18]](_0xa88f[39],_0xb948x5[_0xa88f[40]],_0xb948x5[_0xa88f[42]][_0xa88f[41]],_0xb948x5[_0xa88f[43]],_0xb948xa+1):null;var _0xb948x17=_0xb948xa>0?util[_0xa88f[18]](_0xa88f[39],_0xb948x5[_0xa88f[40]],_0xb948x5[_0xa88f[42]][_0xa88f[41]],_0xb948x5[_0xa88f[43]],_0xb948xa-1):null;_0xb948x6[_0xa88f[34]](200)[_0xa88f[33]]({count:_0xb948x14[_0xa88f[36]],rows:_0xb948x14[_0xa88f[44]],next_page:_0xb948x16,previous_page:_0xb948x17,total_pages:_0xb948x15});})[_0xa88f[35]](function(_0xb948x13){_0xb948x6[_0xa88f[34]](500)[_0xa88f[33]]({error:_0xa88f[32]})});};exports[_0xa88f[47]]=function(_0xb948x5,_0xb948x6){DefaultReport[_0xa88f[51]](_0xb948x5[_0xa88f[50]][_0xa88f[49]],{include:[{all:true}]})[_0xa88f[45]](function(_0xb948x18){if(!_0xb948x18){return _0xb948x6[_0xa88f[48]](404)};return _0xb948x6[_0xa88f[33]](_0xb948x18);})[_0xa88f[35]](function(_0xb948x13){return handleError(_0xb948x6,_0xb948x13)})};exports[_0xa88f[52]]=function(_0xb948x5,_0xb948x6){DefaultReport[_0xa88f[51]](_0xb948x5[_0xa88f[50]][_0xa88f[49]],{include:[{all:true}]})[_0xa88f[45]](function(_0xb948x18){if(!_0xb948x18){return _0xb948x6[_0xa88f[48]](404)};var _0xb948x19=_0xb948x18[_0xa88f[54]];delete _0xb948x19[_0xa88f[49]];delete _0xb948x19[_0xa88f[55]];delete _0xb948x19[_0xa88f[56]];_0xb948x19[_0xa88f[9]]=_0xb948x5[_0xa88f[57]][_0xa88f[9]];_0xb948x19[_0xa88f[58]]=_[_0xa88f[59]](_0xb948x19.Fields,_0xa88f[54]);_[_0xa88f[23]](_0xb948x19.Fields,function(_0xb948x1a){delete _0xb948x1a[_0xa88f[49]];delete _0xb948x1a[_0xa88f[60]];delete _0xb948x1a[_0xa88f[55]];delete _0xb948x1a[_0xa88f[56]];});return CustomReport[_0xa88f[61]](_0xb948x19,{include:[{all:true}]});})[_0xa88f[45]](function(){return _0xb948x6[_0xa88f[48]](201)})[_0xa88f[35]](function(_0xb948x13){console[_0xa88f[53]](_0xb948x13);return handleError(_0xb948x6,_0xb948x13);})};exports[_0xa88f[61]]=function(_0xb948x5,_0xb948x6){DefaultReport[_0xa88f[61]](_0xb948x5[_0xa88f[57]])[_0xa88f[45]](function(_0xb948x18){return _0xb948x6[_0xa88f[34]](201)[_0xa88f[33]](_0xb948x18)})[_0xa88f[35]](function(_0xb948x13){return handleError(_0xb948x6,_0xb948x13)})};exports[_0xa88f[62]]=function(_0xb948x5,_0xb948x6){if(_0xb948x5[_0xa88f[57]][_0xa88f[49]]){delete _0xb948x5[_0xa88f[57]][_0xa88f[49]]};DefaultReport[_0xa88f[51]](_0xb948x5[_0xa88f[50]][_0xa88f[49]])[_0xa88f[45]](function(_0xb948x18){if(!_0xb948x18){return _0xb948x6[_0xa88f[48]](404)};var _0xb948x1b=_[_0xa88f[63]](_0xb948x18,_0xb948x5[_0xa88f[57]]);_0xb948x1b[_0xa88f[64]]()[_0xa88f[45]](function(){return _0xb948x6[_0xa88f[34]](200)[_0xa88f[33]](_0xb948x18)})[_0xa88f[35]](function(_0xb948x13){return handleError(_0xb948x6,_0xb948x13)});})[_0xa88f[35]](function(_0xb948x13){return handleError(_0xb948x6,_0xb948x13)});};exports[_0xa88f[65]]=function(_0xb948x5,_0xb948x6){DefaultReport[_0xa88f[51]](_0xb948x5[_0xa88f[50]][_0xa88f[49]])[_0xa88f[45]](function(_0xb948x18){if(!_0xb948x18){return _0xb948x6[_0xa88f[48]](404)};_0xb948x18[_0xa88f[65]]()[_0xa88f[45]](function(){return _0xb948x6[_0xa88f[48]](204)})[_0xa88f[35]](function(_0xb948x13){return handleError(_0xb948x6,_0xb948x13)});})[_0xa88f[35]](function(_0xb948x13){return handleError(_0xb948x6,_0xb948x13)})};function handleError(_0xb948x6,_0xb948x13){return _0xb948x6[_0xa88f[34]](500)[_0xa88f[33]](_0xb948x13)}
\ No newline at end of file
+var _0xee2d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x61\x72\x65\x6E\x74","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x72\x6F\x6C\x65","\x73\x70\x6C\x69\x74","\x70\x61\x72\x73\x65","\x66\x6F\x72\x4F\x77\x6E","\x63\x6C\x69\x65\x6E\x74\x51\x75\x65\x72\x79","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x6F\x70\x79","\x6C\x6F\x67","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x75\x70\x64\x61\x74\x65\x64\x41\x74","\x62\x6F\x64\x79","\x46\x69\x65\x6C\x64\x73","\x70\x6C\x75\x63\x6B","\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xee2d[0];var _=require(_0xee2d[1]);var util=require(_0xee2d[2]);var DefaultReport=require(_0xee2d[4])[_0xee2d[3]];var CustomReport=require(_0xee2d[4])[_0xee2d[5]];exports[_0xee2d[6]]=function(_0x7e39x5,_0x7e39x6,_0x7e39x7){var _0x7e39x8=[_0xee2d[7],_0xee2d[8],_0xee2d[9]];var _0x7e39x9=_0x7e39x5[_0xee2d[11]][_0xee2d[10]]?parseInt(_0x7e39x5[_0xee2d[11]][_0xee2d[10]],10):100;var _0x7e39xa=_0x7e39x5[_0xee2d[11]][_0xee2d[12]]?parseInt(_0x7e39x5[_0xee2d[11]][_0xee2d[12]],10):0;var _0x7e39xb={where:{},limit:_0x7e39x9,offset:_0x7e39xa*_0x7e39x9};_[_0xee2d[31]](_0x7e39x5[_0xee2d[11]],function(_0x7e39xc,_0x7e39xd){switch(_0x7e39xd){case _0xee2d[10]:;case _0xee2d[12]:break ;;case _0xee2d[15]:_0x7e39xb[_0xee2d[13]]=util[_0xee2d[18]](_0xee2d[14],_0x7e39x5[_0xee2d[11]][_0xee2d[15]],_0x7e39x5[_0xee2d[11]][_0xee2d[16]]||_0xee2d[17])||null;break ;;case _0xee2d[16]:break ;;case _0xee2d[24]:_0x7e39xb[_0xee2d[20]][_0xee2d[19]]=[];_0x7e39x8[_0xee2d[23]](function(_0x7e39xe){var _0x7e39xf={};_0x7e39xf[_0x7e39xe]={$like:_0xee2d[21]+_0x7e39xc+_0xee2d[21]};_0x7e39xb[_0xee2d[20]][_0xee2d[19]][_0xee2d[22]](_0x7e39xf);});break ;;case _0xee2d[25]:_0x7e39xb[_0xee2d[20]][_0xee2d[25]]={$or:_0x7e39xc[_0xee2d[26]](/[\s,]+/)};break ;;case _0xee2d[29]:var _0x7e39x10=JSON[_0xee2d[27]](_0x7e39xc);_[_0xee2d[28]](_0x7e39x10,function(_0x7e39x11,_0x7e39x12){_0x7e39xb[_0xee2d[20]][_0x7e39x12]=_0x7e39x11});break ;;default:_0x7e39xb[_0xee2d[20]][_0x7e39xd]={$like:{}};_0x7e39xb[_0xee2d[20]][_0x7e39xd][_0xee2d[30]]=_0xee2d[21]+_0x7e39xc+_0xee2d[21];;}});DefaultReport[_0xee2d[46]](_0x7e39xb)[_0xee2d[45]](function(_0x7e39x14){var _0x7e39x15=Math[_0xee2d[37]](_0x7e39x14[_0xee2d[36]]/_0x7e39x9);var _0x7e39x16=_0x7e39x15>(_0x7e39xb[_0xee2d[38]]+1)?util[_0xee2d[18]](_0xee2d[39],_0x7e39x5[_0xee2d[40]],_0x7e39x5[_0xee2d[42]][_0xee2d[41]],_0x7e39x5[_0xee2d[43]],_0x7e39xa+1):null;var _0x7e39x17=_0x7e39xa>0?util[_0xee2d[18]](_0xee2d[39],_0x7e39x5[_0xee2d[40]],_0x7e39x5[_0xee2d[42]][_0xee2d[41]],_0x7e39x5[_0xee2d[43]],_0x7e39xa-1):null;_0x7e39x6[_0xee2d[34]](200)[_0xee2d[33]]({count:_0x7e39x14[_0xee2d[36]],rows:_0x7e39x14[_0xee2d[44]],next_page:_0x7e39x16,previous_page:_0x7e39x17,total_pages:_0x7e39x15});})[_0xee2d[35]](function(_0x7e39x13){_0x7e39x6[_0xee2d[34]](500)[_0xee2d[33]]({error:_0xee2d[32]})});};exports[_0xee2d[47]]=function(_0x7e39x5,_0x7e39x6){DefaultReport[_0xee2d[51]](_0x7e39x5[_0xee2d[50]][_0xee2d[49]],{include:[{all:true}]})[_0xee2d[45]](function(_0x7e39x18){if(!_0x7e39x18){return _0x7e39x6[_0xee2d[48]](404)};return _0x7e39x6[_0xee2d[33]](_0x7e39x18);})[_0xee2d[35]](function(_0x7e39x13){return handleError(_0x7e39x6,_0x7e39x13)})};exports[_0xee2d[52]]=function(_0x7e39x5,_0x7e39x6){DefaultReport[_0xee2d[51]](_0x7e39x5[_0xee2d[50]][_0xee2d[49]],{include:[{all:true}]})[_0xee2d[45]](function(_0x7e39x18){if(!_0x7e39x18){return _0x7e39x6[_0xee2d[48]](404)};var _0x7e39x19=_0x7e39x18[_0xee2d[54]];delete _0x7e39x19[_0xee2d[49]];delete _0x7e39x19[_0xee2d[55]];delete _0x7e39x19[_0xee2d[56]];_0x7e39x19[_0xee2d[9]]=_0x7e39x5[_0xee2d[57]][_0xee2d[9]];_0x7e39x19[_0xee2d[58]]=_[_0xee2d[59]](_0x7e39x19.Fields,_0xee2d[54]);_[_0xee2d[23]](_0x7e39x19.Fields,function(_0x7e39x1a){delete _0x7e39x1a[_0xee2d[49]];delete _0x7e39x1a[_0xee2d[60]];delete _0x7e39x1a[_0xee2d[55]];delete _0x7e39x1a[_0xee2d[56]];});return CustomReport[_0xee2d[61]](_0x7e39x19,{include:[{all:true}]});})[_0xee2d[45]](function(){return _0x7e39x6[_0xee2d[48]](201)})[_0xee2d[35]](function(_0x7e39x13){console[_0xee2d[53]](_0x7e39x13);return handleError(_0x7e39x6,_0x7e39x13);})};exports[_0xee2d[61]]=function(_0x7e39x5,_0x7e39x6){DefaultReport[_0xee2d[61]](_0x7e39x5[_0xee2d[57]])[_0xee2d[45]](function(_0x7e39x18){return _0x7e39x6[_0xee2d[34]](201)[_0xee2d[33]](_0x7e39x18)})[_0xee2d[35]](function(_0x7e39x13){return handleError(_0x7e39x6,_0x7e39x13)})};exports[_0xee2d[62]]=function(_0x7e39x5,_0x7e39x6){if(_0x7e39x5[_0xee2d[57]][_0xee2d[49]]){delete _0x7e39x5[_0xee2d[57]][_0xee2d[49]]};DefaultReport[_0xee2d[51]](_0x7e39x5[_0xee2d[50]][_0xee2d[49]])[_0xee2d[45]](function(_0x7e39x18){if(!_0x7e39x18){return _0x7e39x6[_0xee2d[48]](404)};var _0x7e39x1b=_[_0xee2d[63]](_0x7e39x18,_0x7e39x5[_0xee2d[57]]);_0x7e39x1b[_0xee2d[64]]()[_0xee2d[45]](function(){return _0x7e39x6[_0xee2d[34]](200)[_0xee2d[33]](_0x7e39x18)})[_0xee2d[35]](function(_0x7e39x13){return handleError(_0x7e39x6,_0x7e39x13)});})[_0xee2d[35]](function(_0x7e39x13){return handleError(_0x7e39x6,_0x7e39x13)});};exports[_0xee2d[65]]=function(_0x7e39x5,_0x7e39x6){DefaultReport[_0xee2d[51]](_0x7e39x5[_0xee2d[50]][_0xee2d[49]])[_0xee2d[45]](function(_0x7e39x18){if(!_0x7e39x18){return _0x7e39x6[_0xee2d[48]](404)};_0x7e39x18[_0xee2d[65]]()[_0xee2d[45]](function(){return _0x7e39x6[_0xee2d[48]](204)})[_0xee2d[35]](function(_0x7e39x13){return handleError(_0x7e39x6,_0x7e39x13)});})[_0xee2d[35]](function(_0x7e39x13){return handleError(_0x7e39x6,_0x7e39x13)})};function handleError(_0x7e39x6,_0x7e39x13){return _0x7e39x6[_0xee2d[34]](500)[_0xee2d[33]](_0x7e39x13)}
\ No newline at end of file
index add37c86f00b7104e5350999996a4327a711922a..6a4367522071e424550d6fedd91f62b9b6345b14 100644 (file)
@@ -1 +1 @@
-var _0x7285=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x66\x61\x75\x6C\x74\x5F\x72\x65\x70\x6F\x72\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x64\x65\x66\x61\x75\x6C\x74\x5F\x72\x65\x70\x6F\x72\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0x7285[0];var DefaultReport=require(_0x7285[2])[_0x7285[1]];exports[_0x7285[3]]=function(_0x4563x2){DefaultReport[_0x7285[4]](function(_0x4563x3){onSave(_0x4563x2,_0x4563x3)});DefaultReport[_0x7285[5]](function(_0x4563x3){onRemove(_0x4563x2,_0x4563x3)});};function onSave(_0x4563x2,_0x4563x3,_0x4563x5){_0x4563x2[_0x7285[7]](_0x7285[6],_0x4563x3)}function onRemove(_0x4563x2,_0x4563x3,_0x4563x5){_0x4563x2[_0x7285[7]](_0x7285[8],_0x4563x3)}
\ No newline at end of file
+var _0xbf32=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x66\x61\x75\x6C\x74\x5F\x72\x65\x70\x6F\x72\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x64\x65\x66\x61\x75\x6C\x74\x5F\x72\x65\x70\x6F\x72\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0xbf32[0];var DefaultReport=require(_0xbf32[2])[_0xbf32[1]];exports[_0xbf32[3]]=function(_0xa7d1x2){DefaultReport[_0xbf32[4]](function(_0xa7d1x3){onSave(_0xa7d1x2,_0xa7d1x3)});DefaultReport[_0xbf32[5]](function(_0xa7d1x3){onRemove(_0xa7d1x2,_0xa7d1x3)});};function onSave(_0xa7d1x2,_0xa7d1x3,_0xa7d1x5){_0xa7d1x2[_0xbf32[7]](_0xbf32[6],_0xa7d1x3)}function onRemove(_0xa7d1x2,_0xa7d1x3,_0xa7d1x5){_0xa7d1x2[_0xbf32[7]](_0xbf32[8],_0xa7d1x3)}
\ No newline at end of file
index 1224b0ee3b36486b51ba27594363ea98f5549888..ecff8a326b36a2b6b0bd82b81383ba3eb65bcb2c 100644 (file)
@@ -1 +1 @@
-var _0x7752=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x73\x2F\x72\x65\x70\x6F\x72\x74\x73\x2F\x64\x65\x66\x61\x75\x6C\x74","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x2F\x72\x65\x70\x6F\x72\x74\x73\x2F\x64\x65\x66\x61\x75\x6C\x74","\x67\x65\x74"];_0x7752[0];var should=require(_0x7752[1]);var app=require(_0x7752[2]);var request=require(_0x7752[3]);describe(_0x7752[4],function(){it(_0x7752[5],function(_0xba2ax4){request(app)[_0x7752[13]](_0x7752[12])[_0x7752[11]](200)[_0x7752[11]](_0x7752[10],/json/)[_0x7752[9]](function(_0xba2ax5,_0xba2ax6){if(_0xba2ax5){return _0xba2ax4(_0xba2ax5)};_0xba2ax6[_0x7752[8]][_0x7752[1]][_0x7752[7]][_0x7752[6]](Array);_0xba2ax4();})})});
\ No newline at end of file
+var _0x3823=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x73\x2F\x72\x65\x70\x6F\x72\x74\x73\x2F\x64\x65\x66\x61\x75\x6C\x74","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x2F\x72\x65\x70\x6F\x72\x74\x73\x2F\x64\x65\x66\x61\x75\x6C\x74","\x67\x65\x74"];_0x3823[0];var should=require(_0x3823[1]);var app=require(_0x3823[2]);var request=require(_0x3823[3]);describe(_0x3823[4],function(){it(_0x3823[5],function(_0x6efcx4){request(app)[_0x3823[13]](_0x3823[12])[_0x3823[11]](200)[_0x3823[11]](_0x3823[10],/json/)[_0x3823[9]](function(_0x6efcx5,_0x6efcx6){if(_0x6efcx5){return _0x6efcx4(_0x6efcx5)};_0x6efcx6[_0x3823[8]][_0x3823[1]][_0x3823[7]][_0x3823[6]](Array);_0x6efcx4();})})});
\ No newline at end of file
index cf057c14381db3b74ccd69b369d6993384ec1e81..1cd6912e1ab53a0c437f8ac18d26cebc083bb088 100644 (file)
@@ -1 +1 @@
-var _0x799f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x64\x65\x66\x61\x75\x6C\x74\x5F\x72\x65\x70\x6F\x72\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x63\x6F\x70\x79\x2F\x3A\x69\x64","\x63\x6F\x70\x79","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x799f[0];var express=require(_0x799f[1]);var controller=require(_0x799f[2]);var router=express.Router();router[_0x799f[5]](_0x799f[3],controller[_0x799f[4]]);router[_0x799f[5]](_0x799f[6],controller[_0x799f[7]]);router[_0x799f[9]](_0x799f[3],controller[_0x799f[8]]);router[_0x799f[9]](_0x799f[10],controller[_0x799f[11]]);router[_0x799f[13]](_0x799f[6],controller[_0x799f[12]]);router[_0x799f[14]](_0x799f[6],controller[_0x799f[12]]);router[_0x799f[16]](_0x799f[6],controller[_0x799f[15]]);module[_0x799f[17]]=router;
\ No newline at end of file
+var _0x3e6e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x64\x65\x66\x61\x75\x6C\x74\x5F\x72\x65\x70\x6F\x72\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x63\x6F\x70\x79\x2F\x3A\x69\x64","\x63\x6F\x70\x79","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x3e6e[0];var express=require(_0x3e6e[1]);var controller=require(_0x3e6e[2]);var router=express.Router();router[_0x3e6e[5]](_0x3e6e[3],controller[_0x3e6e[4]]);router[_0x3e6e[5]](_0x3e6e[6],controller[_0x3e6e[7]]);router[_0x3e6e[9]](_0x3e6e[3],controller[_0x3e6e[8]]);router[_0x3e6e[9]](_0x3e6e[10],controller[_0x3e6e[11]]);router[_0x3e6e[13]](_0x3e6e[6],controller[_0x3e6e[12]]);router[_0x3e6e[14]](_0x3e6e[6],controller[_0x3e6e[12]]);router[_0x3e6e[16]](_0x3e6e[6],controller[_0x3e6e[15]]);module[_0x3e6e[17]]=router;
\ No newline at end of file
index c3c05a7279fbe932f7e4e91d3b86768913c70a8f..a9e39f01c9fcb8e2c84da14fbbda8f9da7a3399c 100644 (file)
@@ -1 +1 @@
-var _0xc4e1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x64\x65\x73\x6B\x2E\x6A\x73","\x44\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x72\x65\x6D\x6F\x74\x65\x55\x72\x69","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x61\x75\x74\x68\x54\x79\x70\x65","\x62\x61\x73\x69\x63","\x70\x61\x73\x73\x77\x6F\x72\x64","\x6F\x61\x75\x74\x68","\x63\x6F\x6E\x73\x75\x6D\x65\x72\x4B\x65\x79","\x63\x6F\x6E\x73\x75\x6D\x65\x72\x53\x65\x63\x72\x65\x74","\x74\x6F\x6B\x65\x6E","\x74\x6F\x6B\x65\x6E\x53\x65\x63\x72\x65\x74","\x63\x72\x65\x61\x74\x65\x43\x6C\x69\x65\x6E\x74","\x2F\x61\x70\x69\x2F\x76\x32\x2F\x75\x73\x65\x72\x73\x2F\x6D\x65","\x67\x65\x74","\x64\x65\x73\x6B\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x2F\x61\x70\x69\x2F\x76\x32\x2F\x63\x75\x73\x74\x6F\x6D\x5F\x66\x69\x65\x6C\x64\x73","\x65\x6E\x74\x72\x69\x65\x73","\x5F\x65\x6D\x62\x65\x64\x64\x65\x64","\x6A\x73\x6F\x6E","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x73\x75\x62\x73\x74\x72","\x2F","\x6C\x65\x6E\x67\x74\x68"];_0xc4e1[0];var _=require(_0xc4e1[1]);var util=require(_0xc4e1[2]);var desk=require(_0xc4e1[3]);var DeskAccount=require(_0xc4e1[5])[_0xc4e1[4]];exports[_0xc4e1[6]]=function(_0x1f07x5,_0x1f07x6){var _0x1f07x7=[_0xc4e1[7],_0xc4e1[8],_0xc4e1[9],_0xc4e1[10]];var _0x1f07x8=_0x1f07x5[_0xc4e1[12]][_0xc4e1[11]]?parseInt(_0x1f07x5[_0xc4e1[12]][_0xc4e1[11]],10):100;var _0x1f07x9=_0x1f07x5[_0xc4e1[12]][_0xc4e1[13]]?parseInt(_0x1f07x5[_0xc4e1[12]][_0xc4e1[13]],10):0;var _0x1f07xa={where:{},limit:_0x1f07x8,offset:_0x1f07x9*_0x1f07x8};_[_0xc4e1[27]](_0x1f07x5[_0xc4e1[12]],function(_0x1f07xb,_0x1f07xc){switch(_0x1f07xc){case _0xc4e1[11]:;case _0xc4e1[13]:break ;;case _0xc4e1[16]:_0x1f07xa[_0xc4e1[14]]=util[_0xc4e1[19]](_0xc4e1[15],_0x1f07x5[_0xc4e1[12]][_0xc4e1[16]],_0x1f07x5[_0xc4e1[12]][_0xc4e1[17]]||_0xc4e1[18])||null;break ;;case _0xc4e1[17]:break ;;case _0xc4e1[25]:_0x1f07xa[_0xc4e1[21]][_0xc4e1[20]]=[];_0x1f07x7[_0xc4e1[24]](function(_0x1f07xd){var _0x1f07xe={};_0x1f07xe[_0x1f07xd]={$like:_0xc4e1[22]+_0x1f07xb+_0xc4e1[22]};_0x1f07xa[_0xc4e1[21]][_0xc4e1[20]][_0xc4e1[23]](_0x1f07xe);});break ;;default:_0x1f07xa[_0xc4e1[21]][_0x1f07xc]={$like:{}};_0x1f07xa[_0xc4e1[21]][_0x1f07xc][_0xc4e1[26]]=_0xc4e1[22]+_0x1f07xb+_0xc4e1[22];;}});DeskAccount[_0xc4e1[42]](_0x1f07xa)[_0xc4e1[41]](function(_0x1f07x10){var _0x1f07x11=Math[_0xc4e1[33]](_0x1f07x10[_0xc4e1[32]]/_0x1f07x8);var _0x1f07x12=_0x1f07x11>(_0x1f07xa[_0xc4e1[34]]+1)?util[_0xc4e1[19]](_0xc4e1[35],_0x1f07x5[_0xc4e1[36]],_0x1f07x5[_0xc4e1[38]][_0xc4e1[37]],_0x1f07x5[_0xc4e1[39]],_0x1f07x9+1):null;var _0x1f07x13=_0x1f07x9>0?util[_0xc4e1[19]](_0xc4e1[35],_0x1f07x5[_0xc4e1[36]],_0x1f07x5[_0xc4e1[38]][_0xc4e1[37]],_0x1f07x5[_0xc4e1[39]],_0x1f07x9-1):null;return _0x1f07x6[_0xc4e1[30]](200)[_0xc4e1[29]]({count:_0x1f07x10[_0xc4e1[32]],rows:_0x1f07x10[_0xc4e1[40]],next_page:_0x1f07x12,previous_page:_0x1f07x13,total_pages:_0x1f07x11});})[_0xc4e1[31]](function(_0x1f07xf){return _0x1f07x6[_0xc4e1[30]](500)[_0xc4e1[29]]({error:_0xc4e1[28]})});};exports[_0xc4e1[43]]=function(_0x1f07x5,_0x1f07x6){DeskAccount[_0xc4e1[47]](_0x1f07x5[_0xc4e1[46]][_0xc4e1[45]])[_0xc4e1[41]](function(_0x1f07x14){if(!_0x1f07x14){return _0x1f07x6[_0xc4e1[44]](404)};return _0x1f07x6[_0xc4e1[29]](_0x1f07x14);})[_0xc4e1[31]](function(_0x1f07xf){return handleError(_0x1f07x6,_0x1f07xf)})};exports[_0xc4e1[48]]=function(_0x1f07x5,_0x1f07x6,_0x1f07x15){DeskAccount[_0xc4e1[48]](_0x1f07x5[_0xc4e1[49]])[_0xc4e1[41]](function(_0x1f07x14){return _0x1f07x6[_0xc4e1[30]](201)[_0xc4e1[29]](_0x1f07x14)})[_0xc4e1[31]](function(_0x1f07xf){return handleError(_0x1f07x6,_0x1f07xf)})};exports[_0xc4e1[50]]=function(_0x1f07x5,_0x1f07x6){if(_0x1f07x5[_0xc4e1[49]][_0xc4e1[45]]){delete _0x1f07x5[_0xc4e1[49]][_0xc4e1[45]]};DeskAccount[_0xc4e1[47]](_0x1f07x5[_0xc4e1[46]][_0xc4e1[45]])[_0xc4e1[41]](function(_0x1f07x14){if(!_0x1f07x14){return _0x1f07x6[_0xc4e1[44]](404)};var _0x1f07x16=_[_0xc4e1[51]](_0x1f07x14,_0x1f07x5[_0xc4e1[49]]);_0x1f07x16[_0xc4e1[52]]()[_0xc4e1[41]](function(){return _0x1f07x6[_0xc4e1[30]](200)[_0xc4e1[29]](_0x1f07x14)})[_0xc4e1[31]](function(_0x1f07xf){return handleError(_0x1f07x6,_0x1f07xf)});})[_0xc4e1[31]](function(_0x1f07xf){return handleError(_0x1f07x6,_0x1f07xf)});};exports[_0xc4e1[53]]=function(_0x1f07x5,_0x1f07x6){DeskAccount[_0xc4e1[47]](_0x1f07x5[_0xc4e1[46]][_0xc4e1[45]])[_0xc4e1[41]](function(_0x1f07x14){if(!_0x1f07x14){return _0x1f07x6[_0xc4e1[44]](404)};_0x1f07x14[_0xc4e1[53]]()[_0xc4e1[41]](function(){return _0x1f07x6[_0xc4e1[44]](204)})[_0xc4e1[31]](function(_0x1f07xf){return handleError(_0x1f07x6,_0x1f07xf)});})[_0xc4e1[31]](function(_0x1f07xf){return handleError(_0x1f07x6,_0x1f07xf)})};exports[_0xc4e1[54]]=function(_0x1f07x5,_0x1f07x6){DeskAccount[_0xc4e1[47]](_0x1f07x5[_0xc4e1[46]][_0xc4e1[45]])[_0xc4e1[41]](function(_0x1f07x17){var _0x1f07x14={endpoint:stripTrailingSlash(_0x1f07x17[_0xc4e1[10]]),retry:false};if(_0x1f07x17[_0xc4e1[55]]===_0xc4e1[56]){_0x1f07x14[_0xc4e1[9]]=_0x1f07x17[_0xc4e1[9]];_0x1f07x14[_0xc4e1[57]]=_0x1f07x17[_0xc4e1[57]];}else {if(_0x1f07x17[_0xc4e1[55]]===_0xc4e1[58]){_0x1f07x14[_0xc4e1[59]]=_0x1f07x17[_0xc4e1[59]];_0x1f07x14[_0xc4e1[60]]=_0x1f07x17[_0xc4e1[60]];_0x1f07x14[_0xc4e1[61]]=_0x1f07x17[_0xc4e1[61]];_0x1f07x14[_0xc4e1[62]]=_0x1f07x17[_0xc4e1[62]];}};var _0x1f07x18=desk[_0xc4e1[63]](_0x1f07x14);_0x1f07x18[_0xc4e1[65]](_0xc4e1[64],function(_0x1f07xf,_0x1f07x19,_0x1f07x1a){if(_0x1f07xf){return handleError(_0x1f07x6,_0x1f07xf)};return _0x1f07x6[_0xc4e1[44]](200);});})[_0xc4e1[31]](function(_0x1f07xf){return handleError(_0x1f07x6,_0x1f07xf)})};exports[_0xc4e1[66]]=function(_0x1f07x5,_0x1f07x6){var _0x1f07x1b={};_0x1f07x1b[_0x1f07x5[_0xc4e1[46]][_0xc4e1[67]]]=_0x1f07x5[_0xc4e1[49]][_0xc4e1[68]];DeskAccount[_0xc4e1[42]]({where:_0x1f07x1b})[_0xc4e1[41]](function(_0x1f07x10){if(_0x1f07x10[_0xc4e1[32]]){return _0x1f07x6[_0xc4e1[30]](200)[_0xc4e1[29]]({isValid:false,value:_0x1f07x5[_0xc4e1[49]][_0xc4e1[68]]})};return _0x1f07x6[_0xc4e1[30]](200)[_0xc4e1[29]]({isValid:true,value:_0x1f07x5[_0xc4e1[49]][_0xc4e1[68]]});})[_0xc4e1[31]](function(_0x1f07xf){return handleError(_0x1f07x6,_0x1f07xf)});};exports[_0xc4e1[69]]=function(_0x1f07x5,_0x1f07x6){DeskAccount[_0xc4e1[47]](_0x1f07x5[_0xc4e1[46]][_0xc4e1[45]])[_0xc4e1[41]](function(_0x1f07x17){var _0x1f07x14={endpoint:stripTrailingSlash(_0x1f07x17[_0xc4e1[10]]),retry:false};if(_0x1f07x17[_0xc4e1[55]]===_0xc4e1[56]){_0x1f07x14[_0xc4e1[9]]=_0x1f07x17[_0xc4e1[9]];_0x1f07x14[_0xc4e1[57]]=_0x1f07x17[_0xc4e1[57]];}else {if(_0x1f07x17[_0xc4e1[55]]===_0xc4e1[58]){_0x1f07x14[_0xc4e1[59]]=_0x1f07x17[_0xc4e1[59]];_0x1f07x14[_0xc4e1[60]]=_0x1f07x17[_0xc4e1[60]];_0x1f07x14[_0xc4e1[61]]=_0x1f07x17[_0xc4e1[61]];_0x1f07x14[_0xc4e1[62]]=_0x1f07x17[_0xc4e1[62]];}};var _0x1f07x18=desk[_0xc4e1[63]](_0x1f07x14);_0x1f07x18[_0xc4e1[65]](_0xc4e1[70],function(_0x1f07xf,_0x1f07x19,_0x1f07x1a){if(_0x1f07xf){return handleError(_0x1f07x6,_0x1f07xf)};return _0x1f07x6[_0xc4e1[30]](200)[_0xc4e1[73]](_0x1f07x19[_0xc4e1[72]][_0xc4e1[71]]);});})[_0xc4e1[31]](function(_0x1f07xf){return handleError(_0x1f07x6,_0x1f07xf)})};exports[_0xc4e1[74]]=function(_0x1f07x5,_0x1f07x6){DeskAccount[_0xc4e1[53]]({where:{id:_0x1f07x5[_0xc4e1[12]][_0xc4e1[45]]},individualHooks:true})[_0xc4e1[41]](function(){return _0x1f07x6[_0xc4e1[44]](204)})[_0xc4e1[31]](function(_0x1f07xf){return handleError(_0x1f07x6,_0x1f07xf)})};function stripTrailingSlash(_0x1f07x1d){if(_0x1f07x1d[_0xc4e1[75]](-1)===_0xc4e1[76]){return _0x1f07x1d[_0xc4e1[75]](0,_0x1f07x1d[_0xc4e1[77]]-1)};return _0x1f07x1d;}function handleError(_0x1f07x6,_0x1f07xf){return _0x1f07x6[_0xc4e1[30]](500)[_0xc4e1[29]](_0x1f07xf)}
\ No newline at end of file
+var _0xa61c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x64\x65\x73\x6B\x2E\x6A\x73","\x44\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x72\x65\x6D\x6F\x74\x65\x55\x72\x69","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x61\x75\x74\x68\x54\x79\x70\x65","\x62\x61\x73\x69\x63","\x70\x61\x73\x73\x77\x6F\x72\x64","\x6F\x61\x75\x74\x68","\x63\x6F\x6E\x73\x75\x6D\x65\x72\x4B\x65\x79","\x63\x6F\x6E\x73\x75\x6D\x65\x72\x53\x65\x63\x72\x65\x74","\x74\x6F\x6B\x65\x6E","\x74\x6F\x6B\x65\x6E\x53\x65\x63\x72\x65\x74","\x63\x72\x65\x61\x74\x65\x43\x6C\x69\x65\x6E\x74","\x2F\x61\x70\x69\x2F\x76\x32\x2F\x75\x73\x65\x72\x73\x2F\x6D\x65","\x67\x65\x74","\x64\x65\x73\x6B\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x2F\x61\x70\x69\x2F\x76\x32\x2F\x63\x75\x73\x74\x6F\x6D\x5F\x66\x69\x65\x6C\x64\x73","\x65\x6E\x74\x72\x69\x65\x73","\x5F\x65\x6D\x62\x65\x64\x64\x65\x64","\x6A\x73\x6F\x6E","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x73\x75\x62\x73\x74\x72","\x2F","\x6C\x65\x6E\x67\x74\x68"];_0xa61c[0];var _=require(_0xa61c[1]);var util=require(_0xa61c[2]);var desk=require(_0xa61c[3]);var DeskAccount=require(_0xa61c[5])[_0xa61c[4]];exports[_0xa61c[6]]=function(_0xfc65x5,_0xfc65x6){var _0xfc65x7=[_0xa61c[7],_0xa61c[8],_0xa61c[9],_0xa61c[10]];var _0xfc65x8=_0xfc65x5[_0xa61c[12]][_0xa61c[11]]?parseInt(_0xfc65x5[_0xa61c[12]][_0xa61c[11]],10):100;var _0xfc65x9=_0xfc65x5[_0xa61c[12]][_0xa61c[13]]?parseInt(_0xfc65x5[_0xa61c[12]][_0xa61c[13]],10):0;var _0xfc65xa={where:{},limit:_0xfc65x8,offset:_0xfc65x9*_0xfc65x8};_[_0xa61c[27]](_0xfc65x5[_0xa61c[12]],function(_0xfc65xb,_0xfc65xc){switch(_0xfc65xc){case _0xa61c[11]:;case _0xa61c[13]:break ;;case _0xa61c[16]:_0xfc65xa[_0xa61c[14]]=util[_0xa61c[19]](_0xa61c[15],_0xfc65x5[_0xa61c[12]][_0xa61c[16]],_0xfc65x5[_0xa61c[12]][_0xa61c[17]]||_0xa61c[18])||null;break ;;case _0xa61c[17]:break ;;case _0xa61c[25]:_0xfc65xa[_0xa61c[21]][_0xa61c[20]]=[];_0xfc65x7[_0xa61c[24]](function(_0xfc65xd){var _0xfc65xe={};_0xfc65xe[_0xfc65xd]={$like:_0xa61c[22]+_0xfc65xb+_0xa61c[22]};_0xfc65xa[_0xa61c[21]][_0xa61c[20]][_0xa61c[23]](_0xfc65xe);});break ;;default:_0xfc65xa[_0xa61c[21]][_0xfc65xc]={$like:{}};_0xfc65xa[_0xa61c[21]][_0xfc65xc][_0xa61c[26]]=_0xa61c[22]+_0xfc65xb+_0xa61c[22];;}});DeskAccount[_0xa61c[42]](_0xfc65xa)[_0xa61c[41]](function(_0xfc65x10){var _0xfc65x11=Math[_0xa61c[33]](_0xfc65x10[_0xa61c[32]]/_0xfc65x8);var _0xfc65x12=_0xfc65x11>(_0xfc65xa[_0xa61c[34]]+1)?util[_0xa61c[19]](_0xa61c[35],_0xfc65x5[_0xa61c[36]],_0xfc65x5[_0xa61c[38]][_0xa61c[37]],_0xfc65x5[_0xa61c[39]],_0xfc65x9+1):null;var _0xfc65x13=_0xfc65x9>0?util[_0xa61c[19]](_0xa61c[35],_0xfc65x5[_0xa61c[36]],_0xfc65x5[_0xa61c[38]][_0xa61c[37]],_0xfc65x5[_0xa61c[39]],_0xfc65x9-1):null;return _0xfc65x6[_0xa61c[30]](200)[_0xa61c[29]]({count:_0xfc65x10[_0xa61c[32]],rows:_0xfc65x10[_0xa61c[40]],next_page:_0xfc65x12,previous_page:_0xfc65x13,total_pages:_0xfc65x11});})[_0xa61c[31]](function(_0xfc65xf){return _0xfc65x6[_0xa61c[30]](500)[_0xa61c[29]]({error:_0xa61c[28]})});};exports[_0xa61c[43]]=function(_0xfc65x5,_0xfc65x6){DeskAccount[_0xa61c[47]](_0xfc65x5[_0xa61c[46]][_0xa61c[45]])[_0xa61c[41]](function(_0xfc65x14){if(!_0xfc65x14){return _0xfc65x6[_0xa61c[44]](404)};return _0xfc65x6[_0xa61c[29]](_0xfc65x14);})[_0xa61c[31]](function(_0xfc65xf){return handleError(_0xfc65x6,_0xfc65xf)})};exports[_0xa61c[48]]=function(_0xfc65x5,_0xfc65x6,_0xfc65x15){DeskAccount[_0xa61c[48]](_0xfc65x5[_0xa61c[49]])[_0xa61c[41]](function(_0xfc65x14){return _0xfc65x6[_0xa61c[30]](201)[_0xa61c[29]](_0xfc65x14)})[_0xa61c[31]](function(_0xfc65xf){return handleError(_0xfc65x6,_0xfc65xf)})};exports[_0xa61c[50]]=function(_0xfc65x5,_0xfc65x6){if(_0xfc65x5[_0xa61c[49]][_0xa61c[45]]){delete _0xfc65x5[_0xa61c[49]][_0xa61c[45]]};DeskAccount[_0xa61c[47]](_0xfc65x5[_0xa61c[46]][_0xa61c[45]])[_0xa61c[41]](function(_0xfc65x14){if(!_0xfc65x14){return _0xfc65x6[_0xa61c[44]](404)};var _0xfc65x16=_[_0xa61c[51]](_0xfc65x14,_0xfc65x5[_0xa61c[49]]);_0xfc65x16[_0xa61c[52]]()[_0xa61c[41]](function(){return _0xfc65x6[_0xa61c[30]](200)[_0xa61c[29]](_0xfc65x14)})[_0xa61c[31]](function(_0xfc65xf){return handleError(_0xfc65x6,_0xfc65xf)});})[_0xa61c[31]](function(_0xfc65xf){return handleError(_0xfc65x6,_0xfc65xf)});};exports[_0xa61c[53]]=function(_0xfc65x5,_0xfc65x6){DeskAccount[_0xa61c[47]](_0xfc65x5[_0xa61c[46]][_0xa61c[45]])[_0xa61c[41]](function(_0xfc65x14){if(!_0xfc65x14){return _0xfc65x6[_0xa61c[44]](404)};_0xfc65x14[_0xa61c[53]]()[_0xa61c[41]](function(){return _0xfc65x6[_0xa61c[44]](204)})[_0xa61c[31]](function(_0xfc65xf){return handleError(_0xfc65x6,_0xfc65xf)});})[_0xa61c[31]](function(_0xfc65xf){return handleError(_0xfc65x6,_0xfc65xf)})};exports[_0xa61c[54]]=function(_0xfc65x5,_0xfc65x6){DeskAccount[_0xa61c[47]](_0xfc65x5[_0xa61c[46]][_0xa61c[45]])[_0xa61c[41]](function(_0xfc65x17){var _0xfc65x14={endpoint:stripTrailingSlash(_0xfc65x17[_0xa61c[10]]),retry:false};if(_0xfc65x17[_0xa61c[55]]===_0xa61c[56]){_0xfc65x14[_0xa61c[9]]=_0xfc65x17[_0xa61c[9]];_0xfc65x14[_0xa61c[57]]=_0xfc65x17[_0xa61c[57]];}else {if(_0xfc65x17[_0xa61c[55]]===_0xa61c[58]){_0xfc65x14[_0xa61c[59]]=_0xfc65x17[_0xa61c[59]];_0xfc65x14[_0xa61c[60]]=_0xfc65x17[_0xa61c[60]];_0xfc65x14[_0xa61c[61]]=_0xfc65x17[_0xa61c[61]];_0xfc65x14[_0xa61c[62]]=_0xfc65x17[_0xa61c[62]];}};var _0xfc65x18=desk[_0xa61c[63]](_0xfc65x14);_0xfc65x18[_0xa61c[65]](_0xa61c[64],function(_0xfc65xf,_0xfc65x19,_0xfc65x1a){if(_0xfc65xf){return handleError(_0xfc65x6,_0xfc65xf)};return _0xfc65x6[_0xa61c[44]](200);});})[_0xa61c[31]](function(_0xfc65xf){return handleError(_0xfc65x6,_0xfc65xf)})};exports[_0xa61c[66]]=function(_0xfc65x5,_0xfc65x6){var _0xfc65x1b={};_0xfc65x1b[_0xfc65x5[_0xa61c[46]][_0xa61c[67]]]=_0xfc65x5[_0xa61c[49]][_0xa61c[68]];DeskAccount[_0xa61c[42]]({where:_0xfc65x1b})[_0xa61c[41]](function(_0xfc65x10){if(_0xfc65x10[_0xa61c[32]]){return _0xfc65x6[_0xa61c[30]](200)[_0xa61c[29]]({isValid:false,value:_0xfc65x5[_0xa61c[49]][_0xa61c[68]]})};return _0xfc65x6[_0xa61c[30]](200)[_0xa61c[29]]({isValid:true,value:_0xfc65x5[_0xa61c[49]][_0xa61c[68]]});})[_0xa61c[31]](function(_0xfc65xf){return handleError(_0xfc65x6,_0xfc65xf)});};exports[_0xa61c[69]]=function(_0xfc65x5,_0xfc65x6){DeskAccount[_0xa61c[47]](_0xfc65x5[_0xa61c[46]][_0xa61c[45]])[_0xa61c[41]](function(_0xfc65x17){var _0xfc65x14={endpoint:stripTrailingSlash(_0xfc65x17[_0xa61c[10]]),retry:false};if(_0xfc65x17[_0xa61c[55]]===_0xa61c[56]){_0xfc65x14[_0xa61c[9]]=_0xfc65x17[_0xa61c[9]];_0xfc65x14[_0xa61c[57]]=_0xfc65x17[_0xa61c[57]];}else {if(_0xfc65x17[_0xa61c[55]]===_0xa61c[58]){_0xfc65x14[_0xa61c[59]]=_0xfc65x17[_0xa61c[59]];_0xfc65x14[_0xa61c[60]]=_0xfc65x17[_0xa61c[60]];_0xfc65x14[_0xa61c[61]]=_0xfc65x17[_0xa61c[61]];_0xfc65x14[_0xa61c[62]]=_0xfc65x17[_0xa61c[62]];}};var _0xfc65x18=desk[_0xa61c[63]](_0xfc65x14);_0xfc65x18[_0xa61c[65]](_0xa61c[70],function(_0xfc65xf,_0xfc65x19,_0xfc65x1a){if(_0xfc65xf){return handleError(_0xfc65x6,_0xfc65xf)};return _0xfc65x6[_0xa61c[30]](200)[_0xa61c[73]](_0xfc65x19[_0xa61c[72]][_0xa61c[71]]);});})[_0xa61c[31]](function(_0xfc65xf){return handleError(_0xfc65x6,_0xfc65xf)})};exports[_0xa61c[74]]=function(_0xfc65x5,_0xfc65x6){DeskAccount[_0xa61c[53]]({where:{id:_0xfc65x5[_0xa61c[12]][_0xa61c[45]]},individualHooks:true})[_0xa61c[41]](function(){return _0xfc65x6[_0xa61c[44]](204)})[_0xa61c[31]](function(_0xfc65xf){return handleError(_0xfc65x6,_0xfc65xf)})};function stripTrailingSlash(_0xfc65x1d){if(_0xfc65x1d[_0xa61c[75]](-1)===_0xa61c[76]){return _0xfc65x1d[_0xa61c[75]](0,_0xfc65x1d[_0xa61c[77]]-1)};return _0xfc65x1d;}function handleError(_0xfc65x6,_0xfc65xf){return _0xfc65x6[_0xa61c[30]](500)[_0xa61c[29]](_0xfc65xf)}
\ No newline at end of file
index b03942c70d70cd7dd4ce6363dc6ddb5b7c2bff09..af74fcbf3f04e5ec6605065ddb5a4cc69fa84d69 100644 (file)
@@ -1 +1 @@
-var _0x3cd9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x44\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0x3cd9[0];var DeskAccount=require(_0x3cd9[2])[_0x3cd9[1]];exports[_0x3cd9[3]]=function(_0x242dx2){DeskAccount[_0x3cd9[4]](function(_0x242dx3){onSave(_0x242dx2,_0x242dx3)});DeskAccount[_0x3cd9[5]](function(_0x242dx3){onRemove(_0x242dx2,_0x242dx3)});};function onSave(_0x242dx2,_0x242dx3,_0x242dx5){_0x242dx2[_0x3cd9[7]](_0x3cd9[6],_0x242dx3)}function onRemove(_0x242dx2,_0x242dx3,_0x242dx5){_0x242dx2[_0x3cd9[7]](_0x3cd9[8],_0x242dx3)}
\ No newline at end of file
+var _0xac67=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x44\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0xac67[0];var DeskAccount=require(_0xac67[2])[_0xac67[1]];exports[_0xac67[3]]=function(_0xc7dex2){DeskAccount[_0xac67[4]](function(_0xc7dex3){onSave(_0xc7dex2,_0xc7dex3)});DeskAccount[_0xac67[5]](function(_0xc7dex3){onRemove(_0xc7dex2,_0xc7dex3)});};function onSave(_0xc7dex2,_0xc7dex3,_0xc7dex5){_0xc7dex2[_0xac67[7]](_0xac67[6],_0xc7dex3)}function onRemove(_0xc7dex2,_0xc7dex3,_0xc7dex5){_0xc7dex2[_0xac67[7]](_0xac67[8],_0xc7dex3)}
\ No newline at end of file
index 13725cef4d27c2e34b928670743ccd1a7ef8bcc2..0482b5ca3cc094c4146c6a3579ac5a4de21267e4 100644 (file)
@@ -1 +1 @@
-var _0x1aa9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x67\x65\x74"];_0x1aa9[0];var should=require(_0x1aa9[1]);var app=require(_0x1aa9[2]);var request=require(_0x1aa9[3]);describe(_0x1aa9[4],function(){it(_0x1aa9[5],function(_0x627dx4){request(app)[_0x1aa9[13]](_0x1aa9[12])[_0x1aa9[11]](200)[_0x1aa9[11]](_0x1aa9[10],/json/)[_0x1aa9[9]](function(_0x627dx5,_0x627dx6){if(_0x627dx5){return _0x627dx4(_0x627dx5)};_0x627dx6[_0x1aa9[8]][_0x1aa9[1]][_0x1aa9[7]][_0x1aa9[6]](Array);_0x627dx4();})})});
\ No newline at end of file
+var _0xfd6d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x67\x65\x74"];_0xfd6d[0];var should=require(_0xfd6d[1]);var app=require(_0xfd6d[2]);var request=require(_0xfd6d[3]);describe(_0xfd6d[4],function(){it(_0xfd6d[5],function(_0x9ccex4){request(app)[_0xfd6d[13]](_0xfd6d[12])[_0xfd6d[11]](200)[_0xfd6d[11]](_0xfd6d[10],/json/)[_0xfd6d[9]](function(_0x9ccex5,_0x9ccex6){if(_0x9ccex5){return _0x9ccex4(_0x9ccex5)};_0x9ccex6[_0xfd6d[8]][_0xfd6d[1]][_0xfd6d[7]][_0xfd6d[6]](Array);_0x9ccex4();})})});
\ No newline at end of file
diff --git a/public/bower_components/pdfmake/pdfmake.js b/public/bower_components/pdfmake/pdfmake.js
index 8d1bcee0d571ef349f93483ca840b13d16e8b181..af8f2d7b1f07389ba4b29709d53a103b4e9197ab 100644 (file)
--- a/public/bower_components/pdfmake/pdfmake.js
@@ -1 +1 @@
-var _0x429f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x63\x68\x65\x63\x6B","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2F\x3A\x69\x64\x2F\x66\x69\x65\x6C\x64\x73","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65\x2F\x3A\x66\x69\x65\x6C\x64","\x64\x65\x73\x6B\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x70\x6F\x73\x74","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x429f[0];var express=require(_0x429f[1]);var controller=require(_0x429f[2]);var auth=require(_0x429f[3]);var router=express.Router();router[_0x429f[7]](_0x429f[4],auth[_0x429f[5]](),controller[_0x429f[6]]);router[_0x429f[7]](_0x429f[8],auth[_0x429f[5]](),controller[_0x429f[9]]);router[_0x429f[7]](_0x429f[10],auth[_0x429f[5]](),controller[_0x429f[11]]);router[_0x429f[7]](_0x429f[12],auth[_0x429f[5]](),controller[_0x429f[13]]);router[_0x429f[16]](_0x429f[14],auth[_0x429f[5]](),controller[_0x429f[15]]);router[_0x429f[16]](_0x429f[4],auth[_0x429f[5]](),controller[_0x429f[17]]);router[_0x429f[19]](_0x429f[8],auth[_0x429f[5]](),controller[_0x429f[18]]);router[_0x429f[20]](_0x429f[8],auth[_0x429f[5]](),controller[_0x429f[18]]);router[_0x429f[22]](_0x429f[4],auth[_0x429f[5]](),controller[_0x429f[21]]);router[_0x429f[22]](_0x429f[8],auth[_0x429f[5]](),controller[_0x429f[23]]);module[_0x429f[24]]=router;
\ No newline at end of file
+var _0x2163=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x63\x68\x65\x63\x6B","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2F\x3A\x69\x64\x2F\x66\x69\x65\x6C\x64\x73","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65\x2F\x3A\x66\x69\x65\x6C\x64","\x64\x65\x73\x6B\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x70\x6F\x73\x74","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x2163[0];var express=require(_0x2163[1]);var controller=require(_0x2163[2]);var auth=require(_0x2163[3]);var router=express.Router();router[_0x2163[7]](_0x2163[4],auth[_0x2163[5]](),controller[_0x2163[6]]);router[_0x2163[7]](_0x2163[8],auth[_0x2163[5]](),controller[_0x2163[9]]);router[_0x2163[7]](_0x2163[10],auth[_0x2163[5]](),controller[_0x2163[11]]);router[_0x2163[7]](_0x2163[12],auth[_0x2163[5]](),controller[_0x2163[13]]);router[_0x2163[16]](_0x2163[14],auth[_0x2163[5]](),controller[_0x2163[15]]);router[_0x2163[16]](_0x2163[4],auth[_0x2163[5]](),controller[_0x2163[17]]);router[_0x2163[19]](_0x2163[8],auth[_0x2163[5]](),controller[_0x2163[18]]);router[_0x2163[20]](_0x2163[8],auth[_0x2163[5]](),controller[_0x2163[18]]);router[_0x2163[22]](_0x2163[4],auth[_0x2163[5]](),controller[_0x2163[21]]);router[_0x2163[22]](_0x2163[8],auth[_0x2163[5]](),controller[_0x2163[23]]);module[_0x2163[24]]=router;
\ No newline at end of file
diff --git a/public/bower_components/pdfmake/vfs_fonts.js b/public/bower_components/pdfmake/vfs_fonts.js
index d464e5738d2db2b790ba4690232a46c3ac33ce4a..a300bd86ada828386fac3e7a95162db9d1560afc 100644 (file)
--- a/public/bower_components/pdfmake/vfs_fonts.js
@@ -1 +1 @@
-var _0xbc7a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x44\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x44\x65\x73\x6B\x46\x69\x65\x6C\x64","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x53\x75\x62\x6A\x65\x63\x74","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x46\x69\x65\x6C\x64","\x66\x69\x6E\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x73\x70\x72\x65\x61\x64","\x61\x64\x64\x53\x75\x62\x6A\x65\x63\x74","\x73\x75\x62\x6A\x65\x63\x74","\x61\x64\x64\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x61\x64\x64\x46\x69\x65\x6C\x64","\x66\x69\x65\x6C\x64","\x74\x79\x70\x65"];_0xbc7a[0];var _=require(_0xbc7a[1]);var DeskConfiguration=require(_0xbc7a[3])[_0xbc7a[2]];var DeskField=require(_0xbc7a[3])[_0xbc7a[4]];function handleError(_0x5666x5,_0x5666x6){_0x5666x6=_0x5666x6||500;return function(_0x5666x7){_0x5666x5[_0xbc7a[6]](_0x5666x6)[_0xbc7a[5]](_0x5666x7)};}function responseWithResult(_0x5666x5,_0x5666x6){_0x5666x6=_0x5666x6||200;return function(_0x5666x9){if(_0x5666x9){_0x5666x5[_0xbc7a[6]](_0x5666x6)[_0xbc7a[7]](_0x5666x9)}};}function handleEntityNotFound(_0x5666x5){return function(_0x5666x9){if(!_0x5666x9){_0x5666x5[_0xbc7a[6]](404)[_0xbc7a[8]]();return null;};return _0x5666x9;}}function saveUpdates(_0x5666xc){return function(_0x5666x9){return _0x5666x9[_0xbc7a[10]](_0x5666xc)[_0xbc7a[9]](function(_0x5666xd){return _0x5666xd})}}function removeEntity(_0x5666x5){return function(_0x5666x9){if(_0x5666x9){return _0x5666x9[_0xbc7a[11]]()[_0xbc7a[9]](function(){_0x5666x5[_0xbc7a[6]](204)[_0xbc7a[8]]()})}}}exports[_0xbc7a[12]]=function(_0x5666xf,_0x5666x5){DeskConfiguration[_0xbc7a[15]]({where:_0x5666xf[_0xbc7a[14]]})[_0xbc7a[9]](responseWithResult(_0x5666x5))[_0xbc7a[13]](handleError(_0x5666x5))};exports[_0xbc7a[16]]=function(_0x5666xf,_0x5666x5){DeskConfiguration[_0xbc7a[22]]({where:{id:_0x5666xf[_0xbc7a[18]][_0xbc7a[17]]},include:[{model:DeskField,as:_0xbc7a[19]},{model:DeskField,as:_0xbc7a[20]},{model:DeskField,as:_0xbc7a[21]}]})[_0xbc7a[9]](handleEntityNotFound(_0x5666x5))[_0xbc7a[9]](responseWithResult(_0x5666x5))[_0xbc7a[13]](handleError(_0x5666x5))};exports[_0xbc7a[23]]=function(_0x5666xf,_0x5666x5){DeskConfiguration[_0xbc7a[23]](_0x5666xf[_0xbc7a[24]])[_0xbc7a[9]](responseWithResult(_0x5666x5,201))[_0xbc7a[13]](handleError(_0x5666x5))};exports[_0xbc7a[25]]=function(_0x5666xf,_0x5666x5){if(_0x5666xf[_0xbc7a[24]][_0xbc7a[17]]){delete _0x5666xf[_0xbc7a[24]][_0xbc7a[17]]};DeskConfiguration[_0xbc7a[26]](_0x5666xf[_0xbc7a[18]][_0xbc7a[17]])[_0xbc7a[9]](handleEntityNotFound(_0x5666x5))[_0xbc7a[9]](saveUpdates(_0x5666xf[_0xbc7a[24]]))[_0xbc7a[9]](responseWithResult(_0x5666x5))[_0xbc7a[13]](handleError(_0x5666x5));};exports[_0xbc7a[11]]=function(_0x5666xf,_0x5666x5){DeskConfiguration[_0xbc7a[26]](_0x5666xf[_0xbc7a[18]][_0xbc7a[17]])[_0xbc7a[9]](handleEntityNotFound(_0x5666x5))[_0xbc7a[9]](removeEntity(_0x5666x5))[_0xbc7a[13]](handleError(_0x5666x5))};exports[_0xbc7a[27]]=function(_0x5666xf,_0x5666x5,_0x5666x10){var _0x5666x11;DeskConfiguration[_0xbc7a[26]](_0x5666xf[_0xbc7a[18]][_0xbc7a[17]])[_0xbc7a[9]](handleEntityNotFound(_0x5666x5))[_0xbc7a[9]](function(_0x5666x14){_0x5666x11=_0x5666x14;return DeskField[_0xbc7a[23]](_0x5666xf[_0xbc7a[24]]);})[_0xbc7a[9]](function(_0x5666x13){switch(_0x5666xf[_0xbc7a[18]][_0xbc7a[35]]){case _0xbc7a[30]:return [_0x5666x11[_0xbc7a[29]](_0x5666x13),_0x5666x13];;case _0xbc7a[32]:return [_0x5666x11[_0xbc7a[31]](_0x5666x13),_0x5666x13];;case _0xbc7a[34]:return [_0x5666x11[_0xbc7a[33]](_0x5666x13),_0x5666x13];;}})[_0xbc7a[28]](function(_0x5666x12,_0x5666x13){return _0x5666x5[_0xbc7a[6]](201)[_0xbc7a[7]](_0x5666x13)})[_0xbc7a[13]](handleError(_0x5666x5));};
\ No newline at end of file
+var _0xaf52=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x44\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x44\x65\x73\x6B\x46\x69\x65\x6C\x64","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x53\x75\x62\x6A\x65\x63\x74","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x46\x69\x65\x6C\x64","\x66\x69\x6E\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x73\x70\x72\x65\x61\x64","\x61\x64\x64\x53\x75\x62\x6A\x65\x63\x74","\x73\x75\x62\x6A\x65\x63\x74","\x61\x64\x64\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x61\x64\x64\x46\x69\x65\x6C\x64","\x66\x69\x65\x6C\x64","\x74\x79\x70\x65"];_0xaf52[0];var _=require(_0xaf52[1]);var DeskConfiguration=require(_0xaf52[3])[_0xaf52[2]];var DeskField=require(_0xaf52[3])[_0xaf52[4]];function handleError(_0xf239x5,_0xf239x6){_0xf239x6=_0xf239x6||500;return function(_0xf239x7){_0xf239x5[_0xaf52[6]](_0xf239x6)[_0xaf52[5]](_0xf239x7)};}function responseWithResult(_0xf239x5,_0xf239x6){_0xf239x6=_0xf239x6||200;return function(_0xf239x9){if(_0xf239x9){_0xf239x5[_0xaf52[6]](_0xf239x6)[_0xaf52[7]](_0xf239x9)}};}function handleEntityNotFound(_0xf239x5){return function(_0xf239x9){if(!_0xf239x9){_0xf239x5[_0xaf52[6]](404)[_0xaf52[8]]();return null;};return _0xf239x9;}}function saveUpdates(_0xf239xc){return function(_0xf239x9){return _0xf239x9[_0xaf52[10]](_0xf239xc)[_0xaf52[9]](function(_0xf239xd){return _0xf239xd})}}function removeEntity(_0xf239x5){return function(_0xf239x9){if(_0xf239x9){return _0xf239x9[_0xaf52[11]]()[_0xaf52[9]](function(){_0xf239x5[_0xaf52[6]](204)[_0xaf52[8]]()})}}}exports[_0xaf52[12]]=function(_0xf239xf,_0xf239x5){DeskConfiguration[_0xaf52[15]]({where:_0xf239xf[_0xaf52[14]]})[_0xaf52[9]](responseWithResult(_0xf239x5))[_0xaf52[13]](handleError(_0xf239x5))};exports[_0xaf52[16]]=function(_0xf239xf,_0xf239x5){DeskConfiguration[_0xaf52[22]]({where:{id:_0xf239xf[_0xaf52[18]][_0xaf52[17]]},include:[{model:DeskField,as:_0xaf52[19]},{model:DeskField,as:_0xaf52[20]},{model:DeskField,as:_0xaf52[21]}]})[_0xaf52[9]](handleEntityNotFound(_0xf239x5))[_0xaf52[9]](responseWithResult(_0xf239x5))[_0xaf52[13]](handleError(_0xf239x5))};exports[_0xaf52[23]]=function(_0xf239xf,_0xf239x5){DeskConfiguration[_0xaf52[23]](_0xf239xf[_0xaf52[24]])[_0xaf52[9]](responseWithResult(_0xf239x5,201))[_0xaf52[13]](handleError(_0xf239x5))};exports[_0xaf52[25]]=function(_0xf239xf,_0xf239x5){if(_0xf239xf[_0xaf52[24]][_0xaf52[17]]){delete _0xf239xf[_0xaf52[24]][_0xaf52[17]]};DeskConfiguration[_0xaf52[26]](_0xf239xf[_0xaf52[18]][_0xaf52[17]])[_0xaf52[9]](handleEntityNotFound(_0xf239x5))[_0xaf52[9]](saveUpdates(_0xf239xf[_0xaf52[24]]))[_0xaf52[9]](responseWithResult(_0xf239x5))[_0xaf52[13]](handleError(_0xf239x5));};exports[_0xaf52[11]]=function(_0xf239xf,_0xf239x5){DeskConfiguration[_0xaf52[26]](_0xf239xf[_0xaf52[18]][_0xaf52[17]])[_0xaf52[9]](handleEntityNotFound(_0xf239x5))[_0xaf52[9]](removeEntity(_0xf239x5))[_0xaf52[13]](handleError(_0xf239x5))};exports[_0xaf52[27]]=function(_0xf239xf,_0xf239x5,_0xf239x10){var _0xf239x11;DeskConfiguration[_0xaf52[26]](_0xf239xf[_0xaf52[18]][_0xaf52[17]])[_0xaf52[9]](handleEntityNotFound(_0xf239x5))[_0xaf52[9]](function(_0xf239x14){_0xf239x11=_0xf239x14;return DeskField[_0xaf52[23]](_0xf239xf[_0xaf52[24]]);})[_0xaf52[9]](function(_0xf239x13){switch(_0xf239xf[_0xaf52[18]][_0xaf52[35]]){case _0xaf52[30]:return [_0xf239x11[_0xaf52[29]](_0xf239x13),_0xf239x13];;case _0xaf52[32]:return [_0xf239x11[_0xaf52[31]](_0xf239x13),_0xf239x13];;case _0xaf52[34]:return [_0xf239x11[_0xaf52[33]](_0xf239x13),_0xf239x13];;}})[_0xaf52[28]](function(_0xf239x12,_0xf239x13){return _0xf239x5[_0xaf52[6]](201)[_0xaf52[7]](_0xf239x13)})[_0xaf52[13]](handleError(_0xf239x5));};
\ No newline at end of file
index ffd9694c526564dd86fa951db1a39193af082c87..abcd37fda42712305a3f3825f08dbd3e0ed50975 100644 (file)
@@ -1 +1 @@
-var _0x9741=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x44\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0x9741[0];var DeskConfiguration=require(_0x9741[2])[_0x9741[1]];exports[_0x9741[3]]=function(_0x9304x2){DeskConfiguration[_0x9741[4]](function(_0x9304x3){onSave(_0x9304x2,_0x9304x3)});DeskConfiguration[_0x9741[5]](function(_0x9304x3){onRemove(_0x9304x2,_0x9304x3)});};function onSave(_0x9304x2,_0x9304x3,_0x9304x5){_0x9304x2[_0x9741[7]](_0x9741[6],_0x9304x3)}function onRemove(_0x9304x2,_0x9304x3,_0x9304x5){_0x9304x2[_0x9741[7]](_0x9741[8],_0x9304x3)}
\ No newline at end of file
+var _0x9867=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x44\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0x9867[0];var DeskConfiguration=require(_0x9867[2])[_0x9867[1]];exports[_0x9867[3]]=function(_0x9046x2){DeskConfiguration[_0x9867[4]](function(_0x9046x3){onSave(_0x9046x2,_0x9046x3)});DeskConfiguration[_0x9867[5]](function(_0x9046x3){onRemove(_0x9046x2,_0x9046x3)});};function onSave(_0x9046x2,_0x9046x3,_0x9046x5){_0x9046x2[_0x9867[7]](_0x9867[6],_0x9046x3)}function onRemove(_0x9046x2,_0x9046x3,_0x9046x5){_0x9046x2[_0x9867[7]](_0x9867[8],_0x9046x3)}
\ No newline at end of file
index 4f0babb07bec6308da52874832f6061b87b23fb8..55ab44b605578a565c7dcfbc831d43fcc4e7a4c9 100644 (file)
@@ -1 +1 @@
-var _0x3c7a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x2F\x3A\x69\x64\x2F\x3A\x74\x79\x70\x65","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x3c7a[0];var express=require(_0x3c7a[1]);var auth=require(_0x3c7a[2]);var controller=require(_0x3c7a[3]);var router=express.Router();router[_0x3c7a[7]](_0x3c7a[4],auth[_0x3c7a[5]](),controller[_0x3c7a[6]]);router[_0x3c7a[7]](_0x3c7a[8],auth[_0x3c7a[5]](),controller[_0x3c7a[9]]);router[_0x3c7a[11]](_0x3c7a[4],auth[_0x3c7a[5]](),controller[_0x3c7a[10]]);router[_0x3c7a[13]](_0x3c7a[8],auth[_0x3c7a[5]](),controller[_0x3c7a[12]]);router[_0x3c7a[11]](_0x3c7a[14],auth[_0x3c7a[5]](),controller[_0x3c7a[15]]);router[_0x3c7a[16]](_0x3c7a[8],auth[_0x3c7a[5]](),controller[_0x3c7a[12]]);router[_0x3c7a[18]](_0x3c7a[8],auth[_0x3c7a[5]](),controller[_0x3c7a[17]]);module[_0x3c7a[19]]=router;
\ No newline at end of file
+var _0x6390=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x2F\x3A\x69\x64\x2F\x3A\x74\x79\x70\x65","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x6390[0];var express=require(_0x6390[1]);var auth=require(_0x6390[2]);var controller=require(_0x6390[3]);var router=express.Router();router[_0x6390[7]](_0x6390[4],auth[_0x6390[5]](),controller[_0x6390[6]]);router[_0x6390[7]](_0x6390[8],auth[_0x6390[5]](),controller[_0x6390[9]]);router[_0x6390[11]](_0x6390[4],auth[_0x6390[5]](),controller[_0x6390[10]]);router[_0x6390[13]](_0x6390[8],auth[_0x6390[5]](),controller[_0x6390[12]]);router[_0x6390[11]](_0x6390[14],auth[_0x6390[5]](),controller[_0x6390[15]]);router[_0x6390[16]](_0x6390[8],auth[_0x6390[5]](),controller[_0x6390[12]]);router[_0x6390[18]](_0x6390[8],auth[_0x6390[5]](),controller[_0x6390[17]]);module[_0x6390[19]]=router;
\ No newline at end of file
index 81845aa915d0d79a5f27cd5c96242ae719737075..8c16cae9380ab9bd7b4790506adb27d523a1170f 100644 (file)
@@ -1 +1 @@
-var _0x8f88=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6E\x6F\x50\x72\x65\x73\x65\x72\x76\x65\x43\x61\x63\x68\x65","\x70\x72\x6F\x78\x79\x71\x75\x69\x72\x65","\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x69\x6E\x64\x65\x78","\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x73\x68\x6F\x77","\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x63\x72\x65\x61\x74\x65","\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x75\x70\x64\x61\x74\x65","\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x64\x65\x73\x74\x72\x6F\x79","\x73\x70\x79","\x2E\x2F\x69\x6E\x64\x65\x78\x2E\x6A\x73","\x44\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x20\x41\x50\x49\x20\x52\x6F\x75\x74\x65\x72\x3A","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x74\x75\x72\x6E\x20\x61\x6E\x20\x65\x78\x70\x72\x65\x73\x73\x20\x72\x6F\x75\x74\x65\x72\x20\x69\x6E\x73\x74\x61\x6E\x63\x65","\x65\x71\x75\x61\x6C","\x74\x6F","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x69\x6E\x64\x65\x78","\x63\x61\x6C\x6C\x65\x64\x4F\x6E\x63\x65","\x62\x65\x65\x6E","\x68\x61\x76\x65","\x2F","\x77\x69\x74\x68\x41\x72\x67\x73","\x67\x65\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x73\x68\x6F\x77","\x2F\x3A\x69\x64","\x50\x4F\x53\x54\x20\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x50\x55\x54\x20\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x50\x41\x54\x43\x48\x20\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x70\x61\x74\x63\x68","\x44\x45\x4C\x45\x54\x45\x20\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65"];_0x8f88[0];var proxyquire=require(_0x8f88[2])[_0x8f88[1]]();var deskConfigurationCtrlStub={index:_0x8f88[3],show:_0x8f88[4],create:_0x8f88[5],update:_0x8f88[6],destroy:_0x8f88[7]};var routerStub={get:sinon[_0x8f88[8]](),put:sinon[_0x8f88[8]](),patch:sinon[_0x8f88[8]](),post:sinon[_0x8f88[8]](),delete:sinon[_0x8f88[8]]()};var deskConfigurationIndex=proxyquire(_0x8f88[9],{"\x65\x78\x70\x72\x65\x73\x73":{Router:function(){return routerStub}},"\x2E\x2F\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72":deskConfigurationCtrlStub});describe(_0x8f88[10],function(){it(_0x8f88[11],function(){expect(deskConfigurationIndex)[_0x8f88[13]][_0x8f88[12]](routerStub)});describe(_0x8f88[14],function(){it(_0x8f88[15],function(){expect(routerStub[_0x8f88[21]][_0x8f88[20]](_0x8f88[19],_0x8f88[3]))[_0x8f88[13]][_0x8f88[18]][_0x8f88[17]][_0x8f88[16]]})});describe(_0x8f88[22],function(){it(_0x8f88[23],function(){expect(routerStub[_0x8f88[21]][_0x8f88[20]](_0x8f88[24],_0x8f88[4]))[_0x8f88[13]][_0x8f88[18]][_0x8f88[17]][_0x8f88[16]]})});describe(_0x8f88[25],function(){it(_0x8f88[26],function(){expect(routerStub[_0x8f88[27]][_0x8f88[20]](_0x8f88[19],_0x8f88[5]))[_0x8f88[13]][_0x8f88[18]][_0x8f88[17]][_0x8f88[16]]})});describe(_0x8f88[28],function(){it(_0x8f88[29],function(){expect(routerStub[_0x8f88[30]][_0x8f88[20]](_0x8f88[24],_0x8f88[6]))[_0x8f88[13]][_0x8f88[18]][_0x8f88[17]][_0x8f88[16]]})});describe(_0x8f88[31],function(){it(_0x8f88[29],function(){expect(routerStub[_0x8f88[32]][_0x8f88[20]](_0x8f88[24],_0x8f88[6]))[_0x8f88[13]][_0x8f88[18]][_0x8f88[17]][_0x8f88[16]]})});describe(_0x8f88[33],function(){it(_0x8f88[34],function(){expect(routerStub[_0x8f88[35]][_0x8f88[20]](_0x8f88[24],_0x8f88[7]))[_0x8f88[13]][_0x8f88[18]][_0x8f88[17]][_0x8f88[16]]})});});
\ No newline at end of file
+var _0x8b49=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6E\x6F\x50\x72\x65\x73\x65\x72\x76\x65\x43\x61\x63\x68\x65","\x70\x72\x6F\x78\x79\x71\x75\x69\x72\x65","\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x69\x6E\x64\x65\x78","\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x73\x68\x6F\x77","\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x63\x72\x65\x61\x74\x65","\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x75\x70\x64\x61\x74\x65","\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x64\x65\x73\x74\x72\x6F\x79","\x73\x70\x79","\x2E\x2F\x69\x6E\x64\x65\x78\x2E\x6A\x73","\x44\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x20\x41\x50\x49\x20\x52\x6F\x75\x74\x65\x72\x3A","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x74\x75\x72\x6E\x20\x61\x6E\x20\x65\x78\x70\x72\x65\x73\x73\x20\x72\x6F\x75\x74\x65\x72\x20\x69\x6E\x73\x74\x61\x6E\x63\x65","\x65\x71\x75\x61\x6C","\x74\x6F","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x69\x6E\x64\x65\x78","\x63\x61\x6C\x6C\x65\x64\x4F\x6E\x63\x65","\x62\x65\x65\x6E","\x68\x61\x76\x65","\x2F","\x77\x69\x74\x68\x41\x72\x67\x73","\x67\x65\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x73\x68\x6F\x77","\x2F\x3A\x69\x64","\x50\x4F\x53\x54\x20\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x50\x55\x54\x20\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x50\x41\x54\x43\x48\x20\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x70\x61\x74\x63\x68","\x44\x45\x4C\x45\x54\x45\x20\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65"];_0x8b49[0];var proxyquire=require(_0x8b49[2])[_0x8b49[1]]();var deskConfigurationCtrlStub={index:_0x8b49[3],show:_0x8b49[4],create:_0x8b49[5],update:_0x8b49[6],destroy:_0x8b49[7]};var routerStub={get:sinon[_0x8b49[8]](),put:sinon[_0x8b49[8]](),patch:sinon[_0x8b49[8]](),post:sinon[_0x8b49[8]](),delete:sinon[_0x8b49[8]]()};var deskConfigurationIndex=proxyquire(_0x8b49[9],{"\x65\x78\x70\x72\x65\x73\x73":{Router:function(){return routerStub}},"\x2E\x2F\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72":deskConfigurationCtrlStub});describe(_0x8b49[10],function(){it(_0x8b49[11],function(){expect(deskConfigurationIndex)[_0x8b49[13]][_0x8b49[12]](routerStub)});describe(_0x8b49[14],function(){it(_0x8b49[15],function(){expect(routerStub[_0x8b49[21]][_0x8b49[20]](_0x8b49[19],_0x8b49[3]))[_0x8b49[13]][_0x8b49[18]][_0x8b49[17]][_0x8b49[16]]})});describe(_0x8b49[22],function(){it(_0x8b49[23],function(){expect(routerStub[_0x8b49[21]][_0x8b49[20]](_0x8b49[24],_0x8b49[4]))[_0x8b49[13]][_0x8b49[18]][_0x8b49[17]][_0x8b49[16]]})});describe(_0x8b49[25],function(){it(_0x8b49[26],function(){expect(routerStub[_0x8b49[27]][_0x8b49[20]](_0x8b49[19],_0x8b49[5]))[_0x8b49[13]][_0x8b49[18]][_0x8b49[17]][_0x8b49[16]]})});describe(_0x8b49[28],function(){it(_0x8b49[29],function(){expect(routerStub[_0x8b49[30]][_0x8b49[20]](_0x8b49[24],_0x8b49[6]))[_0x8b49[13]][_0x8b49[18]][_0x8b49[17]][_0x8b49[16]]})});describe(_0x8b49[31],function(){it(_0x8b49[29],function(){expect(routerStub[_0x8b49[32]][_0x8b49[20]](_0x8b49[24],_0x8b49[6]))[_0x8b49[13]][_0x8b49[18]][_0x8b49[17]][_0x8b49[16]]})});describe(_0x8b49[33],function(){it(_0x8b49[34],function(){expect(routerStub[_0x8b49[35]][_0x8b49[20]](_0x8b49[24],_0x8b49[7]))[_0x8b49[13]][_0x8b49[18]][_0x8b49[17]][_0x8b49[16]]})});});
\ No newline at end of file
index 7ba8ad3912968cba578baa512b3d7eac75ee7e1c..c11284cb33bc899e7670e0f468222ce2a0bdf1a5 100644 (file)
@@ -1 +1 @@
-var _0x6a95=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x44\x65\x73\x6B\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65"];_0x6a95[0];var _=require(_0x6a95[1]);var DeskField=require(_0x6a95[3])[_0x6a95[2]];function handleError(_0xbefax4,_0xbefax5){_0xbefax5=_0xbefax5||500;return function(_0xbefax6){_0xbefax4[_0x6a95[5]](_0xbefax5)[_0x6a95[4]](_0xbefax6)};}function responseWithResult(_0xbefax4,_0xbefax5){_0xbefax5=_0xbefax5||200;return function(_0xbefax8){if(_0xbefax8){_0xbefax4[_0x6a95[5]](_0xbefax5)[_0x6a95[6]](_0xbefax8)}};}function handleEntityNotFound(_0xbefax4){return function(_0xbefax8){if(!_0xbefax8){_0xbefax4[_0x6a95[5]](404)[_0x6a95[7]]();return null;};return _0xbefax8;}}function saveUpdates(_0xbefaxb){return function(_0xbefax8){return _0xbefax8[_0x6a95[9]](_0xbefaxb)[_0x6a95[8]](function(_0xbefaxc){return _0xbefaxc})}}function removeEntity(_0xbefax4){return function(_0xbefax8){if(_0xbefax8){return _0xbefax8[_0x6a95[10]]()[_0x6a95[8]](function(){_0xbefax4[_0x6a95[5]](204)[_0x6a95[7]]()})}}}exports[_0x6a95[11]]=function(_0xbefaxe,_0xbefax4){DeskField[_0x6a95[13]]()[_0x6a95[8]](responseWithResult(_0xbefax4))[_0x6a95[12]](handleError(_0xbefax4))};exports[_0x6a95[14]]=function(_0xbefaxe,_0xbefax4){DeskField[_0x6a95[17]](_0xbefaxe[_0x6a95[16]][_0x6a95[15]])[_0x6a95[8]](handleEntityNotFound(_0xbefax4))[_0x6a95[8]](responseWithResult(_0xbefax4))[_0x6a95[12]](handleError(_0xbefax4))};exports[_0x6a95[18]]=function(_0xbefaxe,_0xbefax4){DeskField[_0x6a95[18]](_0xbefaxe[_0x6a95[19]])[_0x6a95[8]](responseWithResult(_0xbefax4,201))[_0x6a95[12]](handleError(_0xbefax4))};exports[_0x6a95[20]]=function(_0xbefaxe,_0xbefax4){if(_0xbefaxe[_0x6a95[19]][_0x6a95[15]]){delete _0xbefaxe[_0x6a95[19]][_0x6a95[15]]};DeskField[_0x6a95[17]](_0xbefaxe[_0x6a95[16]][_0x6a95[15]])[_0x6a95[8]](handleEntityNotFound(_0xbefax4))[_0x6a95[8]](saveUpdates(_0xbefaxe[_0x6a95[19]]))[_0x6a95[8]](responseWithResult(_0xbefax4))[_0x6a95[12]](handleError(_0xbefax4));};exports[_0x6a95[10]]=function(_0xbefaxe,_0xbefax4){DeskField[_0x6a95[17]](_0xbefaxe[_0x6a95[16]][_0x6a95[15]])[_0x6a95[8]](handleEntityNotFound(_0xbefax4))[_0x6a95[8]](removeEntity(_0xbefax4))[_0x6a95[12]](handleError(_0xbefax4))};
\ No newline at end of file
+var _0x624e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x44\x65\x73\x6B\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65"];_0x624e[0];var _=require(_0x624e[1]);var DeskField=require(_0x624e[3])[_0x624e[2]];function handleError(_0x994cx4,_0x994cx5){_0x994cx5=_0x994cx5||500;return function(_0x994cx6){_0x994cx4[_0x624e[5]](_0x994cx5)[_0x624e[4]](_0x994cx6)};}function responseWithResult(_0x994cx4,_0x994cx5){_0x994cx5=_0x994cx5||200;return function(_0x994cx8){if(_0x994cx8){_0x994cx4[_0x624e[5]](_0x994cx5)[_0x624e[6]](_0x994cx8)}};}function handleEntityNotFound(_0x994cx4){return function(_0x994cx8){if(!_0x994cx8){_0x994cx4[_0x624e[5]](404)[_0x624e[7]]();return null;};return _0x994cx8;}}function saveUpdates(_0x994cxb){return function(_0x994cx8){return _0x994cx8[_0x624e[9]](_0x994cxb)[_0x624e[8]](function(_0x994cxc){return _0x994cxc})}}function removeEntity(_0x994cx4){return function(_0x994cx8){if(_0x994cx8){return _0x994cx8[_0x624e[10]]()[_0x624e[8]](function(){_0x994cx4[_0x624e[5]](204)[_0x624e[7]]()})}}}exports[_0x624e[11]]=function(_0x994cxe,_0x994cx4){DeskField[_0x624e[13]]()[_0x624e[8]](responseWithResult(_0x994cx4))[_0x624e[12]](handleError(_0x994cx4))};exports[_0x624e[14]]=function(_0x994cxe,_0x994cx4){DeskField[_0x624e[17]](_0x994cxe[_0x624e[16]][_0x624e[15]])[_0x624e[8]](handleEntityNotFound(_0x994cx4))[_0x624e[8]](responseWithResult(_0x994cx4))[_0x624e[12]](handleError(_0x994cx4))};exports[_0x624e[18]]=function(_0x994cxe,_0x994cx4){DeskField[_0x624e[18]](_0x994cxe[_0x624e[19]])[_0x624e[8]](responseWithResult(_0x994cx4,201))[_0x624e[12]](handleError(_0x994cx4))};exports[_0x624e[20]]=function(_0x994cxe,_0x994cx4){if(_0x994cxe[_0x624e[19]][_0x624e[15]]){delete _0x994cxe[_0x624e[19]][_0x624e[15]]};DeskField[_0x624e[17]](_0x994cxe[_0x624e[16]][_0x624e[15]])[_0x624e[8]](handleEntityNotFound(_0x994cx4))[_0x624e[8]](saveUpdates(_0x994cxe[_0x624e[19]]))[_0x624e[8]](responseWithResult(_0x994cx4))[_0x624e[12]](handleError(_0x994cx4));};exports[_0x624e[10]]=function(_0x994cxe,_0x994cx4){DeskField[_0x624e[17]](_0x994cxe[_0x624e[16]][_0x624e[15]])[_0x624e[8]](handleEntityNotFound(_0x994cx4))[_0x624e[8]](removeEntity(_0x994cx4))[_0x624e[12]](handleError(_0x994cx4))};
\ No newline at end of file
index 92446a47a3ee6a75d03f86e26aa2f04384afad7e..3c554f0153a2f3be616253d052183420edb467e7 100644 (file)
@@ -1 +1 @@
-var _0x5fe8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x44\x65\x73\x6B\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x3A\x72\x65\x6D\x6F\x76\x65"];_0x5fe8[0];var DeskField=require(_0x5fe8[2])[_0x5fe8[1]];exports[_0x5fe8[3]]=function(_0x74aex2){DeskField[_0x5fe8[4]](function(_0x74aex3){onSave(_0x74aex2,_0x74aex3)});DeskField[_0x5fe8[5]](function(_0x74aex3){onRemove(_0x74aex2,_0x74aex3)});};function onSave(_0x74aex2,_0x74aex3,_0x74aex5){_0x74aex2[_0x5fe8[7]](_0x5fe8[6],_0x74aex3)}function onRemove(_0x74aex2,_0x74aex3,_0x74aex5){_0x74aex2[_0x5fe8[7]](_0x5fe8[8],_0x74aex3)}
\ No newline at end of file
+var _0x489d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x44\x65\x73\x6B\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x3A\x72\x65\x6D\x6F\x76\x65"];_0x489d[0];var DeskField=require(_0x489d[2])[_0x489d[1]];exports[_0x489d[3]]=function(_0x4ffex2){DeskField[_0x489d[4]](function(_0x4ffex3){onSave(_0x4ffex2,_0x4ffex3)});DeskField[_0x489d[5]](function(_0x4ffex3){onRemove(_0x4ffex2,_0x4ffex3)});};function onSave(_0x4ffex2,_0x4ffex3,_0x4ffex5){_0x4ffex2[_0x489d[7]](_0x489d[6],_0x4ffex3)}function onRemove(_0x4ffex2,_0x4ffex3,_0x4ffex5){_0x4ffex2[_0x489d[7]](_0x489d[8],_0x4ffex3)}
\ No newline at end of file
index b97f4b2c4faae7e59c3abf9613745baf04d850f0..7cd7fdc780fe71ab68301ce9393670e19198995d 100644 (file)
@@ -1 +1 @@
-var _0xc19c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xc19c[0];var express=require(_0xc19c[1]);var auth=require(_0xc19c[2]);var controller=require(_0xc19c[3]);var router=express.Router();router[_0xc19c[7]](_0xc19c[4],auth[_0xc19c[5]](),controller[_0xc19c[6]]);router[_0xc19c[7]](_0xc19c[8],auth[_0xc19c[5]](),controller[_0xc19c[9]]);router[_0xc19c[11]](_0xc19c[4],auth[_0xc19c[5]](),controller[_0xc19c[10]]);router[_0xc19c[13]](_0xc19c[8],auth[_0xc19c[5]](),controller[_0xc19c[12]]);router[_0xc19c[14]](_0xc19c[8],auth[_0xc19c[5]](),controller[_0xc19c[12]]);router[_0xc19c[16]](_0xc19c[8],auth[_0xc19c[5]](),controller[_0xc19c[15]]);module[_0xc19c[17]]=router;
\ No newline at end of file
+var _0x47c8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x47c8[0];var express=require(_0x47c8[1]);var auth=require(_0x47c8[2]);var controller=require(_0x47c8[3]);var router=express.Router();router[_0x47c8[7]](_0x47c8[4],auth[_0x47c8[5]](),controller[_0x47c8[6]]);router[_0x47c8[7]](_0x47c8[8],auth[_0x47c8[5]](),controller[_0x47c8[9]]);router[_0x47c8[11]](_0x47c8[4],auth[_0x47c8[5]](),controller[_0x47c8[10]]);router[_0x47c8[13]](_0x47c8[8],auth[_0x47c8[5]](),controller[_0x47c8[12]]);router[_0x47c8[14]](_0x47c8[8],auth[_0x47c8[5]](),controller[_0x47c8[12]]);router[_0x47c8[16]](_0x47c8[8],auth[_0x47c8[5]](),controller[_0x47c8[15]]);module[_0x47c8[17]]=router;
\ No newline at end of file
index 7c8c80708e594ee2ce06fd68699b4b64e5c7932c..f1f7682ad0f4a8eed7c214f6a3bdd1ecbee38217 100644 (file)
@@ -1 +1 @@
-var _0x6349=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6E\x6F\x50\x72\x65\x73\x65\x72\x76\x65\x43\x61\x63\x68\x65","\x70\x72\x6F\x78\x79\x71\x75\x69\x72\x65","\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x69\x6E\x64\x65\x78","\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x73\x68\x6F\x77","\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x63\x72\x65\x61\x74\x65","\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x75\x70\x64\x61\x74\x65","\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x64\x65\x73\x74\x72\x6F\x79","\x73\x70\x79","\x2E\x2F\x69\x6E\x64\x65\x78\x2E\x6A\x73","\x44\x65\x73\x6B\x46\x69\x65\x6C\x64\x20\x41\x50\x49\x20\x52\x6F\x75\x74\x65\x72\x3A","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x74\x75\x72\x6E\x20\x61\x6E\x20\x65\x78\x70\x72\x65\x73\x73\x20\x72\x6F\x75\x74\x65\x72\x20\x69\x6E\x73\x74\x61\x6E\x63\x65","\x65\x71\x75\x61\x6C","\x74\x6F","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x69\x6E\x64\x65\x78","\x63\x61\x6C\x6C\x65\x64\x4F\x6E\x63\x65","\x62\x65\x65\x6E","\x68\x61\x76\x65","\x2F","\x77\x69\x74\x68\x41\x72\x67\x73","\x67\x65\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x73\x68\x6F\x77","\x2F\x3A\x69\x64","\x50\x4F\x53\x54\x20\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x50\x55\x54\x20\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x50\x41\x54\x43\x48\x20\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x70\x61\x74\x63\x68","\x44\x45\x4C\x45\x54\x45\x20\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65"];_0x6349[0];var proxyquire=require(_0x6349[2])[_0x6349[1]]();var deskFieldCtrlStub={index:_0x6349[3],show:_0x6349[4],create:_0x6349[5],update:_0x6349[6],destroy:_0x6349[7]};var routerStub={get:sinon[_0x6349[8]](),put:sinon[_0x6349[8]](),patch:sinon[_0x6349[8]](),post:sinon[_0x6349[8]](),delete:sinon[_0x6349[8]]()};var deskFieldIndex=proxyquire(_0x6349[9],{"\x65\x78\x70\x72\x65\x73\x73":{Router:function(){return routerStub}},"\x2E\x2F\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72":deskFieldCtrlStub});describe(_0x6349[10],function(){it(_0x6349[11],function(){expect(deskFieldIndex)[_0x6349[13]][_0x6349[12]](routerStub)});describe(_0x6349[14],function(){it(_0x6349[15],function(){expect(routerStub[_0x6349[21]][_0x6349[20]](_0x6349[19],_0x6349[3]))[_0x6349[13]][_0x6349[18]][_0x6349[17]][_0x6349[16]]})});describe(_0x6349[22],function(){it(_0x6349[23],function(){expect(routerStub[_0x6349[21]][_0x6349[20]](_0x6349[24],_0x6349[4]))[_0x6349[13]][_0x6349[18]][_0x6349[17]][_0x6349[16]]})});describe(_0x6349[25],function(){it(_0x6349[26],function(){expect(routerStub[_0x6349[27]][_0x6349[20]](_0x6349[19],_0x6349[5]))[_0x6349[13]][_0x6349[18]][_0x6349[17]][_0x6349[16]]})});describe(_0x6349[28],function(){it(_0x6349[29],function(){expect(routerStub[_0x6349[30]][_0x6349[20]](_0x6349[24],_0x6349[6]))[_0x6349[13]][_0x6349[18]][_0x6349[17]][_0x6349[16]]})});describe(_0x6349[31],function(){it(_0x6349[29],function(){expect(routerStub[_0x6349[32]][_0x6349[20]](_0x6349[24],_0x6349[6]))[_0x6349[13]][_0x6349[18]][_0x6349[17]][_0x6349[16]]})});describe(_0x6349[33],function(){it(_0x6349[34],function(){expect(routerStub[_0x6349[35]][_0x6349[20]](_0x6349[24],_0x6349[7]))[_0x6349[13]][_0x6349[18]][_0x6349[17]][_0x6349[16]]})});});
\ No newline at end of file
+var _0x2ca5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6E\x6F\x50\x72\x65\x73\x65\x72\x76\x65\x43\x61\x63\x68\x65","\x70\x72\x6F\x78\x79\x71\x75\x69\x72\x65","\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x69\x6E\x64\x65\x78","\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x73\x68\x6F\x77","\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x63\x72\x65\x61\x74\x65","\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x75\x70\x64\x61\x74\x65","\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x64\x65\x73\x74\x72\x6F\x79","\x73\x70\x79","\x2E\x2F\x69\x6E\x64\x65\x78\x2E\x6A\x73","\x44\x65\x73\x6B\x46\x69\x65\x6C\x64\x20\x41\x50\x49\x20\x52\x6F\x75\x74\x65\x72\x3A","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x74\x75\x72\x6E\x20\x61\x6E\x20\x65\x78\x70\x72\x65\x73\x73\x20\x72\x6F\x75\x74\x65\x72\x20\x69\x6E\x73\x74\x61\x6E\x63\x65","\x65\x71\x75\x61\x6C","\x74\x6F","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x69\x6E\x64\x65\x78","\x63\x61\x6C\x6C\x65\x64\x4F\x6E\x63\x65","\x62\x65\x65\x6E","\x68\x61\x76\x65","\x2F","\x77\x69\x74\x68\x41\x72\x67\x73","\x67\x65\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x73\x68\x6F\x77","\x2F\x3A\x69\x64","\x50\x4F\x53\x54\x20\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x50\x55\x54\x20\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x50\x41\x54\x43\x48\x20\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x70\x61\x74\x63\x68","\x44\x45\x4C\x45\x54\x45\x20\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65"];_0x2ca5[0];var proxyquire=require(_0x2ca5[2])[_0x2ca5[1]]();var deskFieldCtrlStub={index:_0x2ca5[3],show:_0x2ca5[4],create:_0x2ca5[5],update:_0x2ca5[6],destroy:_0x2ca5[7]};var routerStub={get:sinon[_0x2ca5[8]](),put:sinon[_0x2ca5[8]](),patch:sinon[_0x2ca5[8]](),post:sinon[_0x2ca5[8]](),delete:sinon[_0x2ca5[8]]()};var deskFieldIndex=proxyquire(_0x2ca5[9],{"\x65\x78\x70\x72\x65\x73\x73":{Router:function(){return routerStub}},"\x2E\x2F\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72":deskFieldCtrlStub});describe(_0x2ca5[10],function(){it(_0x2ca5[11],function(){expect(deskFieldIndex)[_0x2ca5[13]][_0x2ca5[12]](routerStub)});describe(_0x2ca5[14],function(){it(_0x2ca5[15],function(){expect(routerStub[_0x2ca5[21]][_0x2ca5[20]](_0x2ca5[19],_0x2ca5[3]))[_0x2ca5[13]][_0x2ca5[18]][_0x2ca5[17]][_0x2ca5[16]]})});describe(_0x2ca5[22],function(){it(_0x2ca5[23],function(){expect(routerStub[_0x2ca5[21]][_0x2ca5[20]](_0x2ca5[24],_0x2ca5[4]))[_0x2ca5[13]][_0x2ca5[18]][_0x2ca5[17]][_0x2ca5[16]]})});describe(_0x2ca5[25],function(){it(_0x2ca5[26],function(){expect(routerStub[_0x2ca5[27]][_0x2ca5[20]](_0x2ca5[19],_0x2ca5[5]))[_0x2ca5[13]][_0x2ca5[18]][_0x2ca5[17]][_0x2ca5[16]]})});describe(_0x2ca5[28],function(){it(_0x2ca5[29],function(){expect(routerStub[_0x2ca5[30]][_0x2ca5[20]](_0x2ca5[24],_0x2ca5[6]))[_0x2ca5[13]][_0x2ca5[18]][_0x2ca5[17]][_0x2ca5[16]]})});describe(_0x2ca5[31],function(){it(_0x2ca5[29],function(){expect(routerStub[_0x2ca5[32]][_0x2ca5[20]](_0x2ca5[24],_0x2ca5[6]))[_0x2ca5[13]][_0x2ca5[18]][_0x2ca5[17]][_0x2ca5[16]]})});describe(_0x2ca5[33],function(){it(_0x2ca5[34],function(){expect(routerStub[_0x2ca5[35]][_0x2ca5[20]](_0x2ca5[24],_0x2ca5[7]))[_0x2ca5[13]][_0x2ca5[18]][_0x2ca5[17]][_0x2ca5[16]]})});});
\ No newline at end of file
index 96a57f96108d96c93d8622f7f00db0cc42e49a5a..cb7f5db95e0060f401f1f1e661631448ffa82ba3 100644 (file)
@@ -1 +1 @@
-var _0xbabb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x45\x76\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77\x42\x79\x43\x68\x61\x6E\x6E\x65\x6C","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x74\x6F\x55\x70\x70\x65\x72\x43\x61\x73\x65","\x63\x68\x61\x6E\x6E\x65\x6C","\x70\x61\x72\x61\x6D\x73","\x73\x68\x6F\x77","\x69\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xbabb[0];var _=require(_0xbabb[1]);var Event=require(_0xbabb[3])[_0xbabb[2]];exports[_0xbabb[4]]=function(_0x73a0x3,_0x73a0x4){Event[_0xbabb[9]]({include:[{all:true}]})[_0xbabb[8]](function(_0x73a0x6){return _0x73a0x4[_0xbabb[7]](200)[_0xbabb[6]](_0x73a0x6)})[_0xbabb[5]](function(_0x73a0x5){return handleError(_0x73a0x4,_0x73a0x5)})};exports[_0xbabb[10]]=function(_0x73a0x3,_0x73a0x4){Event[_0xbabb[9]]({where:{channel:_0x73a0x3[_0xbabb[14]][_0xbabb[13]][_0xbabb[12]]()},include:[{all:true}]})[_0xbabb[8]](function(_0x73a0x7){if(!_0x73a0x7){return _0x73a0x4[_0xbabb[11]](404)};return _0x73a0x4[_0xbabb[6]](_0x73a0x7);})[_0xbabb[5]](function(_0x73a0x5){return handleError(_0x73a0x4,_0x73a0x5)})};exports[_0xbabb[15]]=function(_0x73a0x3,_0x73a0x4){Event[_0xbabb[17]](_0x73a0x3[_0xbabb[14]][_0xbabb[16]])[_0xbabb[8]](function(_0x73a0x7){if(!_0x73a0x7){return _0x73a0x4[_0xbabb[11]](404)};return _0x73a0x4[_0xbabb[6]](_0x73a0x7);})[_0xbabb[5]](function(_0x73a0x5){return handleError(_0x73a0x4,_0x73a0x5)})};exports[_0xbabb[18]]=function(_0x73a0x3,_0x73a0x4){Event[_0xbabb[18]](_0x73a0x3[_0xbabb[19]])[_0xbabb[8]](function(_0x73a0x7){return _0x73a0x4[_0xbabb[7]](201)[_0xbabb[6]](_0x73a0x7)})[_0xbabb[5]](function(_0x73a0x5){return handleError(_0x73a0x4,_0x73a0x5)})};exports[_0xbabb[20]]=function(_0x73a0x3,_0x73a0x4){if(_0x73a0x3[_0xbabb[19]][_0xbabb[16]]){delete _0x73a0x3[_0xbabb[19]][_0xbabb[16]]};Event[_0xbabb[17]](_0x73a0x3[_0xbabb[14]][_0xbabb[16]])[_0xbabb[8]](function(_0x73a0x7){if(!_0x73a0x7){return _0x73a0x4[_0xbabb[11]](404)};var _0x73a0x8=_[_0xbabb[21]](_0x73a0x7,_0x73a0x3[_0xbabb[19]]);_0x73a0x8[_0xbabb[22]]()[_0xbabb[8]](function(){return _0x73a0x4[_0xbabb[7]](200)[_0xbabb[6]](_0x73a0x7)})[_0xbabb[5]](function(_0x73a0x5){return handleError(_0x73a0x4,_0x73a0x5)});})[_0xbabb[5]](function(_0x73a0x5){return handleError(_0x73a0x4,_0x73a0x5)});};exports[_0xbabb[23]]=function(_0x73a0x3,_0x73a0x4){Event[_0xbabb[17]](_0x73a0x3[_0xbabb[14]][_0xbabb[16]])[_0xbabb[8]](function(_0x73a0x7){if(!_0x73a0x7){return _0x73a0x4[_0xbabb[11]](404)};_0x73a0x7[_0xbabb[23]]()[_0xbabb[8]](function(){return _0x73a0x4[_0xbabb[11]](204)})[_0xbabb[5]](function(_0x73a0x5){return handleError(_0x73a0x4,_0x73a0x5)});})[_0xbabb[5]](function(_0x73a0x5){return handleError(_0x73a0x4,_0x73a0x5)})};function handleError(_0x73a0x4,_0x73a0x5){return _0x73a0x4[_0xbabb[7]](500)[_0xbabb[6]](_0x73a0x5)}
\ No newline at end of file
+var _0xfbd2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x45\x76\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77\x42\x79\x43\x68\x61\x6E\x6E\x65\x6C","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x74\x6F\x55\x70\x70\x65\x72\x43\x61\x73\x65","\x63\x68\x61\x6E\x6E\x65\x6C","\x70\x61\x72\x61\x6D\x73","\x73\x68\x6F\x77","\x69\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xfbd2[0];var _=require(_0xfbd2[1]);var Event=require(_0xfbd2[3])[_0xfbd2[2]];exports[_0xfbd2[4]]=function(_0xc9a7x3,_0xc9a7x4){Event[_0xfbd2[9]]({include:[{all:true}]})[_0xfbd2[8]](function(_0xc9a7x6){return _0xc9a7x4[_0xfbd2[7]](200)[_0xfbd2[6]](_0xc9a7x6)})[_0xfbd2[5]](function(_0xc9a7x5){return handleError(_0xc9a7x4,_0xc9a7x5)})};exports[_0xfbd2[10]]=function(_0xc9a7x3,_0xc9a7x4){Event[_0xfbd2[9]]({where:{channel:_0xc9a7x3[_0xfbd2[14]][_0xfbd2[13]][_0xfbd2[12]]()},include:[{all:true}]})[_0xfbd2[8]](function(_0xc9a7x7){if(!_0xc9a7x7){return _0xc9a7x4[_0xfbd2[11]](404)};return _0xc9a7x4[_0xfbd2[6]](_0xc9a7x7);})[_0xfbd2[5]](function(_0xc9a7x5){return handleError(_0xc9a7x4,_0xc9a7x5)})};exports[_0xfbd2[15]]=function(_0xc9a7x3,_0xc9a7x4){Event[_0xfbd2[17]](_0xc9a7x3[_0xfbd2[14]][_0xfbd2[16]])[_0xfbd2[8]](function(_0xc9a7x7){if(!_0xc9a7x7){return _0xc9a7x4[_0xfbd2[11]](404)};return _0xc9a7x4[_0xfbd2[6]](_0xc9a7x7);})[_0xfbd2[5]](function(_0xc9a7x5){return handleError(_0xc9a7x4,_0xc9a7x5)})};exports[_0xfbd2[18]]=function(_0xc9a7x3,_0xc9a7x4){Event[_0xfbd2[18]](_0xc9a7x3[_0xfbd2[19]])[_0xfbd2[8]](function(_0xc9a7x7){return _0xc9a7x4[_0xfbd2[7]](201)[_0xfbd2[6]](_0xc9a7x7)})[_0xfbd2[5]](function(_0xc9a7x5){return handleError(_0xc9a7x4,_0xc9a7x5)})};exports[_0xfbd2[20]]=function(_0xc9a7x3,_0xc9a7x4){if(_0xc9a7x3[_0xfbd2[19]][_0xfbd2[16]]){delete _0xc9a7x3[_0xfbd2[19]][_0xfbd2[16]]};Event[_0xfbd2[17]](_0xc9a7x3[_0xfbd2[14]][_0xfbd2[16]])[_0xfbd2[8]](function(_0xc9a7x7){if(!_0xc9a7x7){return _0xc9a7x4[_0xfbd2[11]](404)};var _0xc9a7x8=_[_0xfbd2[21]](_0xc9a7x7,_0xc9a7x3[_0xfbd2[19]]);_0xc9a7x8[_0xfbd2[22]]()[_0xfbd2[8]](function(){return _0xc9a7x4[_0xfbd2[7]](200)[_0xfbd2[6]](_0xc9a7x7)})[_0xfbd2[5]](function(_0xc9a7x5){return handleError(_0xc9a7x4,_0xc9a7x5)});})[_0xfbd2[5]](function(_0xc9a7x5){return handleError(_0xc9a7x4,_0xc9a7x5)});};exports[_0xfbd2[23]]=function(_0xc9a7x3,_0xc9a7x4){Event[_0xfbd2[17]](_0xc9a7x3[_0xfbd2[14]][_0xfbd2[16]])[_0xfbd2[8]](function(_0xc9a7x7){if(!_0xc9a7x7){return _0xc9a7x4[_0xfbd2[11]](404)};_0xc9a7x7[_0xfbd2[23]]()[_0xfbd2[8]](function(){return _0xc9a7x4[_0xfbd2[11]](204)})[_0xfbd2[5]](function(_0xc9a7x5){return handleError(_0xc9a7x4,_0xc9a7x5)});})[_0xfbd2[5]](function(_0xc9a7x5){return handleError(_0xc9a7x4,_0xc9a7x5)})};function handleError(_0xc9a7x4,_0xc9a7x5){return _0xc9a7x4[_0xfbd2[7]](500)[_0xfbd2[6]](_0xc9a7x5)}
\ No newline at end of file
index 7850b5d6adc533df4e395928693957d3a2d160de..cbd4b7544a62fe458cc564ed00ac0cea336a6d75 100644 (file)
@@ -1 +1 @@
-var _0x733c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x45\x76\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x74\x68\x65\x6E","\x69\x64","\x66\x69\x6E\x64\x4F\x6E\x65","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x74\x6F\x4C\x6F\x77\x65\x72\x43\x61\x73\x65","\x65\x76\x65\x6E\x74\x3A","\x63\x68\x61\x6E\x6E\x65\x6C","\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x65\x76\x65\x6E\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0x733c[0];var Event=require(_0x733c[2])[_0x733c[1]];exports[_0x733c[3]]=function(_0xfc4bx2){Event[_0x733c[7]](function(_0xfc4bx3){Event[_0x733c[6]]({where:{id:_0xfc4bx3[_0x733c[5]]},include:[{all:true}]})[_0x733c[4]](function(_0xfc4bx4){onSave(_0xfc4bx2,_0xfc4bx4)})});Event[_0x733c[8]](function(_0xfc4bx3){onRemove(_0xfc4bx2,_0xfc4bx3)});};function onSave(_0xfc4bx2,_0xfc4bx3,_0xfc4bx6){_0xfc4bx2[_0x733c[13]]((_0x733c[10]+_0xfc4bx3[_0x733c[11]]+_0x733c[12])[_0x733c[9]](),_0xfc4bx3)}function onRemove(_0xfc4bx2,_0xfc4bx3,_0xfc4bx6){_0xfc4bx2[_0x733c[13]](_0x733c[14],_0xfc4bx3)}
\ No newline at end of file
+var _0x9616=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x45\x76\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x74\x68\x65\x6E","\x69\x64","\x66\x69\x6E\x64\x4F\x6E\x65","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x74\x6F\x4C\x6F\x77\x65\x72\x43\x61\x73\x65","\x65\x76\x65\x6E\x74\x3A","\x63\x68\x61\x6E\x6E\x65\x6C","\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x65\x76\x65\x6E\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0x9616[0];var Event=require(_0x9616[2])[_0x9616[1]];exports[_0x9616[3]]=function(_0xf432x2){Event[_0x9616[7]](function(_0xf432x3){Event[_0x9616[6]]({where:{id:_0xf432x3[_0x9616[5]]},include:[{all:true}]})[_0x9616[4]](function(_0xf432x4){onSave(_0xf432x2,_0xf432x4)})});Event[_0x9616[8]](function(_0xf432x3){onRemove(_0xf432x2,_0xf432x3)});};function onSave(_0xf432x2,_0xf432x3,_0xf432x6){_0xf432x2[_0x9616[13]]((_0x9616[10]+_0xf432x3[_0x9616[11]]+_0x9616[12])[_0x9616[9]](),_0xf432x3)}function onRemove(_0xf432x2,_0xf432x3,_0xf432x6){_0xf432x2[_0x9616[13]](_0x9616[14],_0xf432x3)}
\ No newline at end of file
index 4700b22f85b1395b62cba6218dacd0a12339f9af..50d2cf557ec939447ead06489165b6c913652678 100644 (file)
@@ -1 +1 @@
-var _0x20e3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x65\x76\x65\x6E\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x65\x76\x65\x6E\x74\x73","\x67\x65\x74"];_0x20e3[0];var should=require(_0x20e3[1]);var app=require(_0x20e3[2]);var request=require(_0x20e3[3]);describe(_0x20e3[4],function(){it(_0x20e3[5],function(_0x3cffx4){request(app)[_0x20e3[13]](_0x20e3[12])[_0x20e3[11]](200)[_0x20e3[11]](_0x20e3[10],/json/)[_0x20e3[9]](function(_0x3cffx5,_0x3cffx6){if(_0x3cffx5){return _0x3cffx4(_0x3cffx5)};_0x3cffx6[_0x20e3[8]][_0x20e3[1]][_0x20e3[7]][_0x20e3[6]](Array);_0x3cffx4();})})});
\ No newline at end of file
+var _0x6986=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x65\x76\x65\x6E\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x65\x76\x65\x6E\x74\x73","\x67\x65\x74"];_0x6986[0];var should=require(_0x6986[1]);var app=require(_0x6986[2]);var request=require(_0x6986[3]);describe(_0x6986[4],function(){it(_0x6986[5],function(_0xc0ddx4){request(app)[_0x6986[13]](_0x6986[12])[_0x6986[11]](200)[_0x6986[11]](_0x6986[10],/json/)[_0x6986[9]](function(_0xc0ddx5,_0xc0ddx6){if(_0xc0ddx5){return _0xc0ddx4(_0xc0ddx5)};_0xc0ddx6[_0x6986[8]][_0x6986[1]][_0x6986[7]][_0x6986[6]](Array);_0xc0ddx4();})})});
\ No newline at end of file
index e4cf13e5c81244e9e1832f08bc3e66dd004930f1..5bb2cab75a100eae4a8810b8f9608f0a7b922d9d 100644 (file)
@@ -1 +1 @@
-var _0xcda8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x65\x76\x65\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x63\x68\x61\x6E\x6E\x65\x6C\x2F\x3A\x63\x68\x61\x6E\x6E\x65\x6C","\x73\x68\x6F\x77\x42\x79\x43\x68\x61\x6E\x6E\x65\x6C","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xcda8[0];var express=require(_0xcda8[1]);var controller=require(_0xcda8[2]);var router=express.Router();router[_0xcda8[5]](_0xcda8[3],controller[_0xcda8[4]]);router[_0xcda8[5]](_0xcda8[6],controller[_0xcda8[7]]);router[_0xcda8[5]](_0xcda8[8],controller[_0xcda8[9]]);router[_0xcda8[11]](_0xcda8[3],controller[_0xcda8[10]]);router[_0xcda8[13]](_0xcda8[8],controller[_0xcda8[12]]);router[_0xcda8[14]](_0xcda8[8],controller[_0xcda8[12]]);router[_0xcda8[16]](_0xcda8[8],controller[_0xcda8[15]]);module[_0xcda8[17]]=router;
\ No newline at end of file
+var _0xacff=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x65\x76\x65\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x63\x68\x61\x6E\x6E\x65\x6C\x2F\x3A\x63\x68\x61\x6E\x6E\x65\x6C","\x73\x68\x6F\x77\x42\x79\x43\x68\x61\x6E\x6E\x65\x6C","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xacff[0];var express=require(_0xacff[1]);var controller=require(_0xacff[2]);var router=express.Router();router[_0xacff[5]](_0xacff[3],controller[_0xacff[4]]);router[_0xacff[5]](_0xacff[6],controller[_0xacff[7]]);router[_0xacff[5]](_0xacff[8],controller[_0xacff[9]]);router[_0xacff[11]](_0xacff[3],controller[_0xacff[10]]);router[_0xacff[13]](_0xacff[8],controller[_0xacff[12]]);router[_0xacff[14]](_0xacff[8],controller[_0xacff[12]]);router[_0xacff[16]](_0xacff[8],controller[_0xacff[15]]);module[_0xacff[17]]=router;
\ No newline at end of file
index 872d65c4c5cad6623a297e34ac21a74388a593f2..73d6e77095f65206ebcb92d61d05df56ed49ea93 100644 (file)
@@ -1 +1 @@
-var _0x8de2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x61\x73\x79\x6E\x63","\x54\x72\x75\x6E\x6B","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74","\x46\x61\x78\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x69\x6E\x64\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x70\x68\x6F\x6E\x65","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x63\x6F\x6E\x74\x65\x78\x74","\x47\x6F\x74\x6F","\x69\x6E\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78\x2C\x73\x2C\x31","\x69\x6E\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78","\x6C\x6F\x67","\x72\x6F\x6C\x6C\x62\x61\x63\x6B","\x6F\x6B","\x63\x6F\x6D\x6D\x69\x74","\x77\x61\x74\x65\x72\x66\x61\x6C\x6C","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x66\x69\x6E\x64\x4F\x6E\x65","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x76\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x20\x65\x64\x69\x74\x65\x64","\x55\x73\x65\x72\x49\x64","\x6D\x65\x72\x67\x65","\x66\x61\x78\x41\x63\x63\x6F\x75\x6E\x74\x20\x73\x61\x76\x65\x64","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x66\x69\x6E\x64","\x61\x64\x64\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x6C\x65\x6E\x67\x74\x68","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x70\x72\x69\x6F\x72\x69\x74\x79","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0x8de2[0];var _=require(_0x8de2[1]);var util=require(_0x8de2[2]);var async=require(_0x8de2[3]);var Trunk=require(_0x8de2[5])[_0x8de2[4]];var FaxAccount=require(_0x8de2[5])[_0x8de2[6]];var FaxApplication=require(_0x8de2[5])[_0x8de2[7]];var VoiceExtension=require(_0x8de2[5])[_0x8de2[8]];var sequelize=require(_0x8de2[5])[_0x8de2[9]];exports[_0x8de2[10]]=function(_0x3a15x9,_0x3a15xa,_0x3a15xb){var _0x3a15xc=[_0x8de2[11],_0x8de2[12],_0x8de2[13]];var _0x3a15xd=_0x3a15x9[_0x8de2[15]][_0x8de2[14]]?parseInt(_0x3a15x9[_0x8de2[15]][_0x8de2[14]],10):100;var _0x3a15xe=_0x3a15x9[_0x8de2[15]][_0x8de2[16]]?parseInt(_0x3a15x9[_0x8de2[15]][_0x8de2[16]],10):0;var _0x3a15xf={where:{},limit:_0x3a15xd,offset:_0x3a15xe*_0x3a15xd};_[_0x8de2[30]](_0x3a15x9[_0x8de2[15]],function(_0x3a15x10,_0x3a15x11){switch(_0x3a15x11){case _0x8de2[14]:;case _0x8de2[16]:break ;;case _0x8de2[19]:_0x3a15xf[_0x8de2[17]]=util[_0x8de2[22]](_0x8de2[18],_0x3a15x9[_0x8de2[15]][_0x8de2[19]],_0x3a15x9[_0x8de2[15]][_0x8de2[20]]||_0x8de2[21])||null;break ;;case _0x8de2[20]:break ;;case _0x8de2[28]:_0x3a15xf[_0x8de2[24]][_0x8de2[23]]=[];_0x3a15xc[_0x8de2[27]](function(_0x3a15x12){var _0x3a15x13={};_0x3a15x13[_0x3a15x12]={$like:_0x8de2[25]+_0x3a15x10+_0x8de2[25]};_0x3a15xf[_0x8de2[24]][_0x8de2[23]][_0x8de2[26]](_0x3a15x13);});break ;;default:_0x3a15xf[_0x8de2[24]][_0x3a15x11]={$like:{}};_0x3a15xf[_0x8de2[24]][_0x3a15x11][_0x8de2[29]]=_0x8de2[25]+_0x3a15x10+_0x8de2[25];;}});FaxAccount[_0x8de2[45]](_0x3a15xf)[_0x8de2[44]](function(_0x3a15x15){var _0x3a15x16=Math[_0x8de2[36]](_0x3a15x15[_0x8de2[35]]/_0x3a15xd);var _0x3a15x17=_0x3a15x16>(_0x3a15xf[_0x8de2[37]]+1)?util[_0x8de2[22]](_0x8de2[38],_0x3a15x9[_0x8de2[39]],_0x3a15x9[_0x8de2[41]][_0x8de2[40]],_0x3a15x9[_0x8de2[42]],_0x3a15xe+1):null;var _0x3a15x18=_0x3a15xe>0?util[_0x8de2[22]](_0x8de2[38],_0x3a15x9[_0x8de2[39]],_0x3a15x9[_0x8de2[41]][_0x8de2[40]],_0x3a15x9[_0x8de2[42]],_0x3a15xe-1):null;_0x3a15xa[_0x8de2[33]](200)[_0x8de2[32]]({count:_0x3a15x15[_0x8de2[35]],rows:_0x3a15x15[_0x8de2[43]],next_page:_0x3a15x17,previous_page:_0x3a15x18,total_pages:_0x3a15x16});})[_0x8de2[34]](function(_0x3a15x14){_0x3a15xa[_0x8de2[33]](500)[_0x8de2[32]]({error:_0x8de2[31]})});};exports[_0x8de2[46]]=function(_0x3a15x9,_0x3a15xa,_0x3a15xb){FaxAccount[_0x8de2[50]](_0x3a15x9[_0x8de2[49]][_0x8de2[48]])[_0x8de2[44]](function(_0x3a15x19){if(!_0x3a15x19){return _0x3a15xa[_0x8de2[47]](404)};return _0x3a15xa[_0x8de2[32]](_0x3a15x19);})[_0x8de2[34]](function(_0x3a15x14){return _0x3a15xb(_0x3a15x14)})};exports[_0x8de2[51]]=function(_0x3a15x9,_0x3a15xa,_0x3a15xb){return sequelize[_0x8de2[62]]()[_0x8de2[44]](function(_0x3a15x1a){async[_0x8de2[61]]([function(_0x3a15x1b){return FaxAccount[_0x8de2[51]](_0x3a15x9[_0x8de2[52]],{transaction:_0x3a15x1a})[_0x8de2[44]](function(_0x3a15x19){_0x3a15x1b(null,_0x3a15x19)})[_0x8de2[34]](function(_0x3a15x14){_0x3a15x1b(_0x3a15x14)})},function(_0x3a15x19,_0x3a15x1b){return Trunk[_0x8de2[50]](_0x3a15x9[_0x8de2[52]].TrunkId,{transaction:_0x3a15x1a})[_0x8de2[44]](function(_0x3a15x1c){_0x3a15x1b(null,_0x3a15x19,_0x3a15x1c)})[_0x8de2[34]](function(_0x3a15x14){_0x3a15x1b(_0x3a15x14)})},function(_0x3a15x19,_0x3a15x1c,_0x3a15x1b){return VoiceExtension[_0x8de2[51]]({context:_0x3a15x1c[_0x8de2[53]],exten:_0x3a15x9[_0x8de2[52]][_0x8de2[13]],priority:1,app:_0x8de2[54],appdata:_0x8de2[55],type:_0x8de2[56],TrunkId:_0x3a15x1c[_0x8de2[48]]},{transaction:_0x3a15x1a})[_0x8de2[44]](function(_0x3a15x1d){_0x3a15x1b(null,_0x3a15x19)})[_0x8de2[34]](function(_0x3a15x14){_0x3a15x1b(_0x3a15x14)})}],function(_0x3a15x14,_0x3a15x19){if(_0x3a15x14){console[_0x8de2[57]](_0x3a15x14);_0x3a15x1a[_0x8de2[58]]();return _0x3a15xa[_0x8de2[33]](404)[_0x8de2[32]](_0x3a15x14);}else {console[_0x8de2[57]](_0x8de2[59]);_0x3a15x1a[_0x8de2[60]]();return _0x3a15xa[_0x8de2[33]](201)[_0x8de2[32]](_0x3a15x19);}})})};exports[_0x8de2[63]]=function(_0x3a15x9,_0x3a15xa,_0x3a15xb){if(_0x3a15x9[_0x8de2[52]][_0x8de2[48]]){delete _0x3a15x9[_0x8de2[52]][_0x8de2[48]]};return sequelize[_0x8de2[62]]()[_0x8de2[44]](function(_0x3a15x1a){async[_0x8de2[61]]([function(_0x3a15x1b){return FaxAccount[_0x8de2[64]]({where:{id:_0x3a15x9[_0x8de2[49]][_0x8de2[48]]},include:[{model:Trunk}]},{transaction:_0x3a15x1a})[_0x8de2[44]](function(_0x3a15x19){_0x3a15x1b(null,_0x3a15x19)})[_0x8de2[34]](function(_0x3a15x14){_0x3a15x1b(_0x3a15x14)})},function(_0x3a15x19,_0x3a15x1b){return Trunk[_0x8de2[50]](_0x3a15x9[_0x8de2[52]].TrunkId,{transaction:_0x3a15x1a})[_0x8de2[44]](function(_0x3a15x1e){return _0x3a15x19[_0x8de2[65]]({TrunkId:_0x3a15x1e[_0x8de2[48]]},{transaction:_0x3a15x1a})[_0x8de2[44]](function(_0x3a15x1f){_0x3a15x1b(null,_0x3a15x19,_0x3a15x1e)})[_0x8de2[34]](function(_0x3a15x14){_0x3a15x1b(_0x3a15x14)})})[_0x8de2[34]](function(_0x3a15x14){_0x3a15x1b(_0x3a15x14)})},function(_0x3a15x19,_0x3a15x1e,_0x3a15x1b){return VoiceExtension[_0x8de2[64]]({where:{priority:1,exten:_0x3a15x19[_0x8de2[13]],context:_0x3a15x19[_0x8de2[4]][_0x8de2[53]]}},{transaction:_0x3a15x1a})[_0x8de2[44]](function(_0x3a15x1d){if(!_0x3a15x1d){_0x3a15x1b(null,_0x3a15x19)};return _0x3a15x1d[_0x8de2[65]]({exten:_0x3a15x9[_0x8de2[52]][_0x8de2[13]],context:_0x3a15x1e[_0x8de2[53]],TrunkId:_0x3a15x9[_0x8de2[52]][_0x8de2[67]]},{transaction:_0x3a15x1a})[_0x8de2[44]](function(){console[_0x8de2[57]](_0x8de2[66]);_0x3a15x1b(null,_0x3a15x19);})[_0x8de2[34]](function(_0x3a15x14){_0x3a15x1b(_0x3a15x14)});})[_0x8de2[34]](function(_0x3a15x14){_0x3a15x1b(_0x3a15x14)})},function(_0x3a15x19,_0x3a15x1b){var _0x3a15x20=_[_0x8de2[68]](_0x3a15x19,_0x3a15x9[_0x8de2[52]]);return _0x3a15x20[_0x8de2[70]]({transaction:_0x3a15x1a})[_0x8de2[44]](function(){console[_0x8de2[57]](_0x8de2[69]);_0x3a15x1b(null,_0x3a15x19);})[_0x8de2[34]](function(_0x3a15x14){_0x3a15x1b(_0x3a15x14)});}],function(_0x3a15x14,_0x3a15x19){if(_0x3a15x14){console[_0x8de2[57]](_0x3a15x14);_0x3a15x1a[_0x8de2[58]]();return _0x3a15xa[_0x8de2[33]](404)[_0x8de2[32]](_0x3a15x14);}else {console[_0x8de2[57]](_0x8de2[59]);_0x3a15x1a[_0x8de2[60]]();return _0x3a15xa[_0x8de2[33]](201)[_0x8de2[32]](_0x3a15x19);}})});};exports[_0x8de2[71]]=function(_0x3a15x9,_0x3a15xa,_0x3a15xb){FaxAccount[_0x8de2[72]]({where:{id:_0x3a15x9[_0x8de2[49]][_0x8de2[48]]}})[_0x8de2[44]](function(_0x3a15x19){if(!_0x3a15x19){return _0x3a15xa[_0x8de2[47]](404)};_0x3a15x19[_0x8de2[71]]()[_0x8de2[44]](function(){return _0x3a15xa[_0x8de2[47]](204)})[_0x8de2[34]](function(_0x3a15x14){_0x3a15xb(_0x3a15x14)});})[_0x8de2[34]](function(_0x3a15x14){_0x3a15xb(_0x3a15x14)})};exports[_0x8de2[73]]=function(_0x3a15x9,_0x3a15xa,_0x3a15xb){FaxApplication[_0x8de2[79]]({where:{id:_0x3a15x9[_0x8de2[52]][_0x8de2[75]]}})[_0x8de2[44]](function(_0x3a15x21){var _0x3a15x22=_0x3a15x21;return sequelize[_0x8de2[62]](function(_0x3a15x1a){return FaxApplication[_0x8de2[71]]({where:{id:_0x3a15x9[_0x8de2[52]][_0x8de2[75]]}},{transaction:_0x3a15x1a})[_0x8de2[44]](function(){var _0x3a15x23=[];for(var _0x3a15x24=0;_0x3a15x24<_0x3a15x9[_0x8de2[52]][_0x8de2[75]][_0x8de2[74]];_0x3a15x24++){var _0x3a15x25=_[_0x8de2[72]](_0x3a15x22,{"\x69\x64":_0x3a15x9[_0x8de2[52]][_0x8de2[75]][_0x3a15x24]});if(_0x3a15x25){_0x3a15x25[_0x8de2[76]]=_0x3a15x24+1;_0x3a15x23[_0x8de2[26]](_0x3a15x25[_0x8de2[77]]);};};return FaxApplication[_0x8de2[78]](_0x3a15x23,{transaction:_0x3a15x1a})[_0x8de2[44]](function(_0x3a15x1f){return _0x3a15x1f});})})[_0x8de2[44]](function(_0x3a15x15){return _0x3a15xa[_0x8de2[33]](200)[_0x8de2[32]](_0x3a15x15)})[_0x8de2[34]](function(_0x3a15x14){return handleError(_0x3a15xa,_0x3a15x14)});})[_0x8de2[34]](function(_0x3a15x14){return _0x3a15xb(_0x3a15x14)})};exports[_0x8de2[80]]=function(_0x3a15x9,_0x3a15xa){FaxAccount[_0x8de2[71]]({where:{id:_0x3a15x9[_0x8de2[15]][_0x8de2[48]]},individualHooks:true})[_0x8de2[44]](function(){return _0x3a15xa[_0x8de2[47]](204)})[_0x8de2[34]](function(_0x3a15x14){return handleError(_0x3a15xa,_0x3a15x14)})};function handleError(_0x3a15xa,_0x3a15x14){return _0x3a15xa[_0x8de2[33]](500)[_0x8de2[32]](_0x3a15x14)}
\ No newline at end of file
+var _0x6aa5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x61\x73\x79\x6E\x63","\x54\x72\x75\x6E\x6B","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74","\x46\x61\x78\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x69\x6E\x64\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x70\x68\x6F\x6E\x65","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x63\x6F\x6E\x74\x65\x78\x74","\x47\x6F\x74\x6F","\x69\x6E\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78\x2C\x73\x2C\x31","\x69\x6E\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78","\x6C\x6F\x67","\x72\x6F\x6C\x6C\x62\x61\x63\x6B","\x6F\x6B","\x63\x6F\x6D\x6D\x69\x74","\x77\x61\x74\x65\x72\x66\x61\x6C\x6C","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x66\x69\x6E\x64\x4F\x6E\x65","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x76\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x20\x65\x64\x69\x74\x65\x64","\x55\x73\x65\x72\x49\x64","\x6D\x65\x72\x67\x65","\x66\x61\x78\x41\x63\x63\x6F\x75\x6E\x74\x20\x73\x61\x76\x65\x64","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x66\x69\x6E\x64","\x61\x64\x64\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x6C\x65\x6E\x67\x74\x68","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x70\x72\x69\x6F\x72\x69\x74\x79","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0x6aa5[0];var _=require(_0x6aa5[1]);var util=require(_0x6aa5[2]);var async=require(_0x6aa5[3]);var Trunk=require(_0x6aa5[5])[_0x6aa5[4]];var FaxAccount=require(_0x6aa5[5])[_0x6aa5[6]];var FaxApplication=require(_0x6aa5[5])[_0x6aa5[7]];var VoiceExtension=require(_0x6aa5[5])[_0x6aa5[8]];var sequelize=require(_0x6aa5[5])[_0x6aa5[9]];exports[_0x6aa5[10]]=function(_0xb7a0x9,_0xb7a0xa,_0xb7a0xb){var _0xb7a0xc=[_0x6aa5[11],_0x6aa5[12],_0x6aa5[13]];var _0xb7a0xd=_0xb7a0x9[_0x6aa5[15]][_0x6aa5[14]]?parseInt(_0xb7a0x9[_0x6aa5[15]][_0x6aa5[14]],10):100;var _0xb7a0xe=_0xb7a0x9[_0x6aa5[15]][_0x6aa5[16]]?parseInt(_0xb7a0x9[_0x6aa5[15]][_0x6aa5[16]],10):0;var _0xb7a0xf={where:{},limit:_0xb7a0xd,offset:_0xb7a0xe*_0xb7a0xd};_[_0x6aa5[30]](_0xb7a0x9[_0x6aa5[15]],function(_0xb7a0x10,_0xb7a0x11){switch(_0xb7a0x11){case _0x6aa5[14]:;case _0x6aa5[16]:break ;;case _0x6aa5[19]:_0xb7a0xf[_0x6aa5[17]]=util[_0x6aa5[22]](_0x6aa5[18],_0xb7a0x9[_0x6aa5[15]][_0x6aa5[19]],_0xb7a0x9[_0x6aa5[15]][_0x6aa5[20]]||_0x6aa5[21])||null;break ;;case _0x6aa5[20]:break ;;case _0x6aa5[28]:_0xb7a0xf[_0x6aa5[24]][_0x6aa5[23]]=[];_0xb7a0xc[_0x6aa5[27]](function(_0xb7a0x12){var _0xb7a0x13={};_0xb7a0x13[_0xb7a0x12]={$like:_0x6aa5[25]+_0xb7a0x10+_0x6aa5[25]};_0xb7a0xf[_0x6aa5[24]][_0x6aa5[23]][_0x6aa5[26]](_0xb7a0x13);});break ;;default:_0xb7a0xf[_0x6aa5[24]][_0xb7a0x11]={$like:{}};_0xb7a0xf[_0x6aa5[24]][_0xb7a0x11][_0x6aa5[29]]=_0x6aa5[25]+_0xb7a0x10+_0x6aa5[25];;}});FaxAccount[_0x6aa5[45]](_0xb7a0xf)[_0x6aa5[44]](function(_0xb7a0x15){var _0xb7a0x16=Math[_0x6aa5[36]](_0xb7a0x15[_0x6aa5[35]]/_0xb7a0xd);var _0xb7a0x17=_0xb7a0x16>(_0xb7a0xf[_0x6aa5[37]]+1)?util[_0x6aa5[22]](_0x6aa5[38],_0xb7a0x9[_0x6aa5[39]],_0xb7a0x9[_0x6aa5[41]][_0x6aa5[40]],_0xb7a0x9[_0x6aa5[42]],_0xb7a0xe+1):null;var _0xb7a0x18=_0xb7a0xe>0?util[_0x6aa5[22]](_0x6aa5[38],_0xb7a0x9[_0x6aa5[39]],_0xb7a0x9[_0x6aa5[41]][_0x6aa5[40]],_0xb7a0x9[_0x6aa5[42]],_0xb7a0xe-1):null;_0xb7a0xa[_0x6aa5[33]](200)[_0x6aa5[32]]({count:_0xb7a0x15[_0x6aa5[35]],rows:_0xb7a0x15[_0x6aa5[43]],next_page:_0xb7a0x17,previous_page:_0xb7a0x18,total_pages:_0xb7a0x16});})[_0x6aa5[34]](function(_0xb7a0x14){_0xb7a0xa[_0x6aa5[33]](500)[_0x6aa5[32]]({error:_0x6aa5[31]})});};exports[_0x6aa5[46]]=function(_0xb7a0x9,_0xb7a0xa,_0xb7a0xb){FaxAccount[_0x6aa5[50]](_0xb7a0x9[_0x6aa5[49]][_0x6aa5[48]])[_0x6aa5[44]](function(_0xb7a0x19){if(!_0xb7a0x19){return _0xb7a0xa[_0x6aa5[47]](404)};return _0xb7a0xa[_0x6aa5[32]](_0xb7a0x19);})[_0x6aa5[34]](function(_0xb7a0x14){return _0xb7a0xb(_0xb7a0x14)})};exports[_0x6aa5[51]]=function(_0xb7a0x9,_0xb7a0xa,_0xb7a0xb){return sequelize[_0x6aa5[62]]()[_0x6aa5[44]](function(_0xb7a0x1a){async[_0x6aa5[61]]([function(_0xb7a0x1b){return FaxAccount[_0x6aa5[51]](_0xb7a0x9[_0x6aa5[52]],{transaction:_0xb7a0x1a})[_0x6aa5[44]](function(_0xb7a0x19){_0xb7a0x1b(null,_0xb7a0x19)})[_0x6aa5[34]](function(_0xb7a0x14){_0xb7a0x1b(_0xb7a0x14)})},function(_0xb7a0x19,_0xb7a0x1b){return Trunk[_0x6aa5[50]](_0xb7a0x9[_0x6aa5[52]].TrunkId,{transaction:_0xb7a0x1a})[_0x6aa5[44]](function(_0xb7a0x1c){_0xb7a0x1b(null,_0xb7a0x19,_0xb7a0x1c)})[_0x6aa5[34]](function(_0xb7a0x14){_0xb7a0x1b(_0xb7a0x14)})},function(_0xb7a0x19,_0xb7a0x1c,_0xb7a0x1b){return VoiceExtension[_0x6aa5[51]]({context:_0xb7a0x1c[_0x6aa5[53]],exten:_0xb7a0x9[_0x6aa5[52]][_0x6aa5[13]],priority:1,app:_0x6aa5[54],appdata:_0x6aa5[55],type:_0x6aa5[56],TrunkId:_0xb7a0x1c[_0x6aa5[48]]},{transaction:_0xb7a0x1a})[_0x6aa5[44]](function(_0xb7a0x1d){_0xb7a0x1b(null,_0xb7a0x19)})[_0x6aa5[34]](function(_0xb7a0x14){_0xb7a0x1b(_0xb7a0x14)})}],function(_0xb7a0x14,_0xb7a0x19){if(_0xb7a0x14){console[_0x6aa5[57]](_0xb7a0x14);_0xb7a0x1a[_0x6aa5[58]]();return _0xb7a0xa[_0x6aa5[33]](404)[_0x6aa5[32]](_0xb7a0x14);}else {console[_0x6aa5[57]](_0x6aa5[59]);_0xb7a0x1a[_0x6aa5[60]]();return _0xb7a0xa[_0x6aa5[33]](201)[_0x6aa5[32]](_0xb7a0x19);}})})};exports[_0x6aa5[63]]=function(_0xb7a0x9,_0xb7a0xa,_0xb7a0xb){if(_0xb7a0x9[_0x6aa5[52]][_0x6aa5[48]]){delete _0xb7a0x9[_0x6aa5[52]][_0x6aa5[48]]};return sequelize[_0x6aa5[62]]()[_0x6aa5[44]](function(_0xb7a0x1a){async[_0x6aa5[61]]([function(_0xb7a0x1b){return FaxAccount[_0x6aa5[64]]({where:{id:_0xb7a0x9[_0x6aa5[49]][_0x6aa5[48]]},include:[{model:Trunk}]},{transaction:_0xb7a0x1a})[_0x6aa5[44]](function(_0xb7a0x19){_0xb7a0x1b(null,_0xb7a0x19)})[_0x6aa5[34]](function(_0xb7a0x14){_0xb7a0x1b(_0xb7a0x14)})},function(_0xb7a0x19,_0xb7a0x1b){return Trunk[_0x6aa5[50]](_0xb7a0x9[_0x6aa5[52]].TrunkId,{transaction:_0xb7a0x1a})[_0x6aa5[44]](function(_0xb7a0x1e){return _0xb7a0x19[_0x6aa5[65]]({TrunkId:_0xb7a0x1e[_0x6aa5[48]]},{transaction:_0xb7a0x1a})[_0x6aa5[44]](function(_0xb7a0x1f){_0xb7a0x1b(null,_0xb7a0x19,_0xb7a0x1e)})[_0x6aa5[34]](function(_0xb7a0x14){_0xb7a0x1b(_0xb7a0x14)})})[_0x6aa5[34]](function(_0xb7a0x14){_0xb7a0x1b(_0xb7a0x14)})},function(_0xb7a0x19,_0xb7a0x1e,_0xb7a0x1b){return VoiceExtension[_0x6aa5[64]]({where:{priority:1,exten:_0xb7a0x19[_0x6aa5[13]],context:_0xb7a0x19[_0x6aa5[4]][_0x6aa5[53]]}},{transaction:_0xb7a0x1a})[_0x6aa5[44]](function(_0xb7a0x1d){if(!_0xb7a0x1d){_0xb7a0x1b(null,_0xb7a0x19)};return _0xb7a0x1d[_0x6aa5[65]]({exten:_0xb7a0x9[_0x6aa5[52]][_0x6aa5[13]],context:_0xb7a0x1e[_0x6aa5[53]],TrunkId:_0xb7a0x9[_0x6aa5[52]][_0x6aa5[67]]},{transaction:_0xb7a0x1a})[_0x6aa5[44]](function(){console[_0x6aa5[57]](_0x6aa5[66]);_0xb7a0x1b(null,_0xb7a0x19);})[_0x6aa5[34]](function(_0xb7a0x14){_0xb7a0x1b(_0xb7a0x14)});})[_0x6aa5[34]](function(_0xb7a0x14){_0xb7a0x1b(_0xb7a0x14)})},function(_0xb7a0x19,_0xb7a0x1b){var _0xb7a0x20=_[_0x6aa5[68]](_0xb7a0x19,_0xb7a0x9[_0x6aa5[52]]);return _0xb7a0x20[_0x6aa5[70]]({transaction:_0xb7a0x1a})[_0x6aa5[44]](function(){console[_0x6aa5[57]](_0x6aa5[69]);_0xb7a0x1b(null,_0xb7a0x19);})[_0x6aa5[34]](function(_0xb7a0x14){_0xb7a0x1b(_0xb7a0x14)});}],function(_0xb7a0x14,_0xb7a0x19){if(_0xb7a0x14){console[_0x6aa5[57]](_0xb7a0x14);_0xb7a0x1a[_0x6aa5[58]]();return _0xb7a0xa[_0x6aa5[33]](404)[_0x6aa5[32]](_0xb7a0x14);}else {console[_0x6aa5[57]](_0x6aa5[59]);_0xb7a0x1a[_0x6aa5[60]]();return _0xb7a0xa[_0x6aa5[33]](201)[_0x6aa5[32]](_0xb7a0x19);}})});};exports[_0x6aa5[71]]=function(_0xb7a0x9,_0xb7a0xa,_0xb7a0xb){FaxAccount[_0x6aa5[72]]({where:{id:_0xb7a0x9[_0x6aa5[49]][_0x6aa5[48]]}})[_0x6aa5[44]](function(_0xb7a0x19){if(!_0xb7a0x19){return _0xb7a0xa[_0x6aa5[47]](404)};_0xb7a0x19[_0x6aa5[71]]()[_0x6aa5[44]](function(){return _0xb7a0xa[_0x6aa5[47]](204)})[_0x6aa5[34]](function(_0xb7a0x14){_0xb7a0xb(_0xb7a0x14)});})[_0x6aa5[34]](function(_0xb7a0x14){_0xb7a0xb(_0xb7a0x14)})};exports[_0x6aa5[73]]=function(_0xb7a0x9,_0xb7a0xa,_0xb7a0xb){FaxApplication[_0x6aa5[79]]({where:{id:_0xb7a0x9[_0x6aa5[52]][_0x6aa5[75]]}})[_0x6aa5[44]](function(_0xb7a0x21){var _0xb7a0x22=_0xb7a0x21;return sequelize[_0x6aa5[62]](function(_0xb7a0x1a){return FaxApplication[_0x6aa5[71]]({where:{id:_0xb7a0x9[_0x6aa5[52]][_0x6aa5[75]]}},{transaction:_0xb7a0x1a})[_0x6aa5[44]](function(){var _0xb7a0x23=[];for(var _0xb7a0x24=0;_0xb7a0x24<_0xb7a0x9[_0x6aa5[52]][_0x6aa5[75]][_0x6aa5[74]];_0xb7a0x24++){var _0xb7a0x25=_[_0x6aa5[72]](_0xb7a0x22,{"\x69\x64":_0xb7a0x9[_0x6aa5[52]][_0x6aa5[75]][_0xb7a0x24]});if(_0xb7a0x25){_0xb7a0x25[_0x6aa5[76]]=_0xb7a0x24+1;_0xb7a0x23[_0x6aa5[26]](_0xb7a0x25[_0x6aa5[77]]);};};return FaxApplication[_0x6aa5[78]](_0xb7a0x23,{transaction:_0xb7a0x1a})[_0x6aa5[44]](function(_0xb7a0x1f){return _0xb7a0x1f});})})[_0x6aa5[44]](function(_0xb7a0x15){return _0xb7a0xa[_0x6aa5[33]](200)[_0x6aa5[32]](_0xb7a0x15)})[_0x6aa5[34]](function(_0xb7a0x14){return handleError(_0xb7a0xa,_0xb7a0x14)});})[_0x6aa5[34]](function(_0xb7a0x14){return _0xb7a0xb(_0xb7a0x14)})};exports[_0x6aa5[80]]=function(_0xb7a0x9,_0xb7a0xa){FaxAccount[_0x6aa5[71]]({where:{id:_0xb7a0x9[_0x6aa5[15]][_0x6aa5[48]]},individualHooks:true})[_0x6aa5[44]](function(){return _0xb7a0xa[_0x6aa5[47]](204)})[_0x6aa5[34]](function(_0xb7a0x14){return handleError(_0xb7a0xa,_0xb7a0x14)})};function handleError(_0xb7a0xa,_0xb7a0x14){return _0xb7a0xa[_0x6aa5[33]](500)[_0x6aa5[32]](_0xb7a0x14)}
\ No newline at end of file
index eb2b9345aefc74e9bc42ad4d67c7989e9f22947a..9eaffefbe924ff8da0963953f6a8ded663c77c68 100644 (file)
@@ -1 +1 @@
-var _0xdda9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x66\x61\x78\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x66\x61\x78\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0xdda9[0];var fax_account=require(_0xdda9[2])[_0xdda9[1]];exports[_0xdda9[3]]=function(_0x5916x2){fax_account[_0xdda9[4]](function(_0x5916x3){onSave(_0x5916x2,_0x5916x3)});fax_account[_0xdda9[5]](function(_0x5916x3){onRemove(_0x5916x2,_0x5916x3)});};function onSave(_0x5916x2,_0x5916x3,_0x5916x5){_0x5916x2[_0xdda9[7]](_0xdda9[6],_0x5916x3)}function onRemove(_0x5916x2,_0x5916x3,_0x5916x5){_0x5916x2[_0xdda9[7]](_0xdda9[8],_0x5916x3)}
\ No newline at end of file
+var _0x79a2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x66\x61\x78\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x66\x61\x78\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0x79a2[0];var fax_account=require(_0x79a2[2])[_0x79a2[1]];exports[_0x79a2[3]]=function(_0x5bf6x2){fax_account[_0x79a2[4]](function(_0x5bf6x3){onSave(_0x5bf6x2,_0x5bf6x3)});fax_account[_0x79a2[5]](function(_0x5bf6x3){onRemove(_0x5bf6x2,_0x5bf6x3)});};function onSave(_0x5bf6x2,_0x5bf6x3,_0x5bf6x5){_0x5bf6x2[_0x79a2[7]](_0x79a2[6],_0x5bf6x3)}function onRemove(_0x5bf6x2,_0x5bf6x3,_0x5bf6x5){_0x5bf6x2[_0x79a2[7]](_0x79a2[8],_0x5bf6x3)}
\ No newline at end of file
index b0f97a3423cd465b874627556e95e298f21e8ca1..88f51b64b236a824e0074f98c312b286c5233a1f 100644 (file)
@@ -1 +1 @@
-var _0xbe09=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x67\x65\x74"];_0xbe09[0];var should=require(_0xbe09[1]);var app=require(_0xbe09[2]);var request=require(_0xbe09[3]);describe(_0xbe09[4],function(){it(_0xbe09[5],function(_0xa963x4){request(app)[_0xbe09[13]](_0xbe09[12])[_0xbe09[11]](200)[_0xbe09[11]](_0xbe09[10],/json/)[_0xbe09[9]](function(_0xa963x5,_0xa963x6){if(_0xa963x5){return _0xa963x4(_0xa963x5)};_0xa963x6[_0xbe09[8]][_0xbe09[1]][_0xbe09[7]][_0xbe09[6]](Array);_0xa963x4();})})});
\ No newline at end of file
+var _0xde86=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x67\x65\x74"];_0xde86[0];var should=require(_0xde86[1]);var app=require(_0xde86[2]);var request=require(_0xde86[3]);describe(_0xde86[4],function(){it(_0xde86[5],function(_0x4592x4){request(app)[_0xde86[13]](_0xde86[12])[_0xde86[11]](200)[_0xde86[11]](_0xde86[10],/json/)[_0xde86[9]](function(_0x4592x5,_0x4592x6){if(_0x4592x5){return _0x4592x4(_0x4592x5)};_0x4592x6[_0xde86[8]][_0xde86[1]][_0xde86[7]][_0xde86[6]](Array);_0x4592x4();})})});
\ No newline at end of file
index 263911db29d51b3475940b8b89666a41a5ac943c..c9d4095b64474d4a366bdcad438fbca48e8143d2 100644 (file)
@@ -1 +1 @@
-var _0xf8e6=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x66\x61\x78\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x3A\x69\x64\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x61\x64\x64\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xf8e6[0];var express=require(_0xf8e6[1]);var controller=require(_0xf8e6[2]);var auth=require(_0xf8e6[3]);var router=express.Router();router[_0xf8e6[7]](_0xf8e6[4],auth[_0xf8e6[5]](),controller[_0xf8e6[6]]);router[_0xf8e6[7]](_0xf8e6[8],controller[_0xf8e6[9]]);router[_0xf8e6[11]](_0xf8e6[4],controller[_0xf8e6[10]]);router[_0xf8e6[11]](_0xf8e6[12],controller[_0xf8e6[13]]);router[_0xf8e6[15]](_0xf8e6[8],controller[_0xf8e6[14]]);router[_0xf8e6[16]](_0xf8e6[8],controller[_0xf8e6[14]]);router[_0xf8e6[18]](_0xf8e6[4],controller[_0xf8e6[17]]);router[_0xf8e6[18]](_0xf8e6[8],controller[_0xf8e6[19]]);module[_0xf8e6[20]]=router;
\ No newline at end of file
+var _0x113d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x66\x61\x78\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x3A\x69\x64\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x61\x64\x64\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x113d[0];var express=require(_0x113d[1]);var controller=require(_0x113d[2]);var auth=require(_0x113d[3]);var router=express.Router();router[_0x113d[7]](_0x113d[4],auth[_0x113d[5]](),controller[_0x113d[6]]);router[_0x113d[7]](_0x113d[8],controller[_0x113d[9]]);router[_0x113d[11]](_0x113d[4],controller[_0x113d[10]]);router[_0x113d[11]](_0x113d[12],controller[_0x113d[13]]);router[_0x113d[15]](_0x113d[8],controller[_0x113d[14]]);router[_0x113d[16]](_0x113d[8],controller[_0x113d[14]]);router[_0x113d[18]](_0x113d[4],controller[_0x113d[17]]);router[_0x113d[18]](_0x113d[8],controller[_0x113d[19]]);module[_0x113d[20]]=router;
\ No newline at end of file
index f4da8d5981d5c3081d60155bc0207f5d176703f9..261583dec92e476e6d27c60db4b4aafeec65e0c5 100644 (file)
@@ -1 +1 @@
-var _0xc940=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x46\x61\x78\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x6C\x6F\x67","\x70\x72\x69\x6F\x72\x69\x74\x79","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x6D\x61\x78","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x66\x69\x6E\x64"];_0xc940[0];var _=require(_0xc940[1]);var FaxApplication=require(_0xc940[3])[_0xc940[2]];exports[_0xc940[4]]=function(_0x84cbx3,_0x84cbx4){FaxApplication[_0xc940[10]]({where:_0x84cbx3[_0xc940[9]]})[_0xc940[8]](function(_0x84cbx6){return _0x84cbx4[_0xc940[7]](200)[_0xc940[6]](_0x84cbx6)})[_0xc940[5]](function(_0x84cbx5){return handleError(_0x84cbx4,_0x84cbx5)})};exports[_0xc940[11]]=function(_0x84cbx3,_0x84cbx4){FaxApplication[_0xc940[15]](_0x84cbx3[_0xc940[14]][_0xc940[13]])[_0xc940[8]](function(_0x84cbx7){if(!_0x84cbx7){return _0x84cbx4[_0xc940[12]](404)};return _0x84cbx4[_0xc940[6]](_0x84cbx7);})[_0xc940[5]](function(_0x84cbx5){return handleError(_0x84cbx4,_0x84cbx5)})};exports[_0xc940[16]]=function(_0x84cbx3,_0x84cbx4,_0x84cbx8){console[_0xc940[18]](_0x84cbx3[_0xc940[17]]);FaxApplication[_0xc940[21]](_0xc940[19],{where:{FaxAccountId:_0x84cbx3[_0xc940[17]][_0xc940[20]]}})[_0xc940[8]](function(_0x84cbx9){_0x84cbx3[_0xc940[17]][_0xc940[19]]=_0x84cbx9?++_0x84cbx9:1;FaxApplication[_0xc940[16]](_0x84cbx3[_0xc940[17]])[_0xc940[8]](function(_0x84cbxa){return _0x84cbx4[_0xc940[7]](201)[_0xc940[6]](_0x84cbxa)})[_0xc940[5]](function(_0x84cbx5){return _0x84cbx8(_0x84cbx5)});console[_0xc940[18]](_0x84cbx9);})[_0xc940[5]](function(_0x84cbx5){_0x84cbx8(_0x84cbx5)});};exports[_0xc940[22]]=function(_0x84cbx3,_0x84cbx4){if(_0x84cbx3[_0xc940[17]][_0xc940[13]]){delete _0x84cbx3[_0xc940[17]][_0xc940[13]]};FaxApplication[_0xc940[15]](_0x84cbx3[_0xc940[14]][_0xc940[13]])[_0xc940[8]](function(_0x84cbx7){if(!_0x84cbx7){return _0x84cbx4[_0xc940[12]](404)};var _0x84cbxb=_[_0xc940[23]](_0x84cbx7,_0x84cbx3[_0xc940[17]]);_0x84cbxb[_0xc940[24]]()[_0xc940[8]](function(){return _0x84cbx4[_0xc940[7]](200)[_0xc940[6]](_0x84cbx7)})[_0xc940[5]](function(_0x84cbx5){return handleError(_0x84cbx4,_0x84cbx5)});})[_0xc940[5]](function(_0x84cbx5){return handleError(_0x84cbx4,_0x84cbx5)});};exports[_0xc940[25]]=function(_0x84cbx3,_0x84cbx4){FaxApplication[_0xc940[26]]({where:{id:_0x84cbx3[_0xc940[14]][_0xc940[13]]}})[_0xc940[8]](function(_0x84cbx7){if(!_0x84cbx7){return _0x84cbx4[_0xc940[12]](404)};_0x84cbx7[_0xc940[25]]()[_0xc940[8]](function(){return _0x84cbx4[_0xc940[12]](204)})[_0xc940[5]](function(_0x84cbx5){return handleError(_0x84cbx4,_0x84cbx5)});})[_0xc940[5]](function(_0x84cbx5){return handleError(_0x84cbx4,_0x84cbx5)})};function handleError(_0x84cbx4,_0x84cbx5){return _0x84cbx4[_0xc940[7]](500)[_0xc940[6]](_0x84cbx5)}
\ No newline at end of file
+var _0x3a8e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x46\x61\x78\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x6C\x6F\x67","\x70\x72\x69\x6F\x72\x69\x74\x79","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x6D\x61\x78","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x66\x69\x6E\x64"];_0x3a8e[0];var _=require(_0x3a8e[1]);var FaxApplication=require(_0x3a8e[3])[_0x3a8e[2]];exports[_0x3a8e[4]]=function(_0x9f3ax3,_0x9f3ax4){FaxApplication[_0x3a8e[10]]({where:_0x9f3ax3[_0x3a8e[9]]})[_0x3a8e[8]](function(_0x9f3ax6){return _0x9f3ax4[_0x3a8e[7]](200)[_0x3a8e[6]](_0x9f3ax6)})[_0x3a8e[5]](function(_0x9f3ax5){return handleError(_0x9f3ax4,_0x9f3ax5)})};exports[_0x3a8e[11]]=function(_0x9f3ax3,_0x9f3ax4){FaxApplication[_0x3a8e[15]](_0x9f3ax3[_0x3a8e[14]][_0x3a8e[13]])[_0x3a8e[8]](function(_0x9f3ax7){if(!_0x9f3ax7){return _0x9f3ax4[_0x3a8e[12]](404)};return _0x9f3ax4[_0x3a8e[6]](_0x9f3ax7);})[_0x3a8e[5]](function(_0x9f3ax5){return handleError(_0x9f3ax4,_0x9f3ax5)})};exports[_0x3a8e[16]]=function(_0x9f3ax3,_0x9f3ax4,_0x9f3ax8){console[_0x3a8e[18]](_0x9f3ax3[_0x3a8e[17]]);FaxApplication[_0x3a8e[21]](_0x3a8e[19],{where:{FaxAccountId:_0x9f3ax3[_0x3a8e[17]][_0x3a8e[20]]}})[_0x3a8e[8]](function(_0x9f3ax9){_0x9f3ax3[_0x3a8e[17]][_0x3a8e[19]]=_0x9f3ax9?++_0x9f3ax9:1;FaxApplication[_0x3a8e[16]](_0x9f3ax3[_0x3a8e[17]])[_0x3a8e[8]](function(_0x9f3axa){return _0x9f3ax4[_0x3a8e[7]](201)[_0x3a8e[6]](_0x9f3axa)})[_0x3a8e[5]](function(_0x9f3ax5){return _0x9f3ax8(_0x9f3ax5)});console[_0x3a8e[18]](_0x9f3ax9);})[_0x3a8e[5]](function(_0x9f3ax5){_0x9f3ax8(_0x9f3ax5)});};exports[_0x3a8e[22]]=function(_0x9f3ax3,_0x9f3ax4){if(_0x9f3ax3[_0x3a8e[17]][_0x3a8e[13]]){delete _0x9f3ax3[_0x3a8e[17]][_0x3a8e[13]]};FaxApplication[_0x3a8e[15]](_0x9f3ax3[_0x3a8e[14]][_0x3a8e[13]])[_0x3a8e[8]](function(_0x9f3ax7){if(!_0x9f3ax7){return _0x9f3ax4[_0x3a8e[12]](404)};var _0x9f3axb=_[_0x3a8e[23]](_0x9f3ax7,_0x9f3ax3[_0x3a8e[17]]);_0x9f3axb[_0x3a8e[24]]()[_0x3a8e[8]](function(){return _0x9f3ax4[_0x3a8e[7]](200)[_0x3a8e[6]](_0x9f3ax7)})[_0x3a8e[5]](function(_0x9f3ax5){return handleError(_0x9f3ax4,_0x9f3ax5)});})[_0x3a8e[5]](function(_0x9f3ax5){return handleError(_0x9f3ax4,_0x9f3ax5)});};exports[_0x3a8e[25]]=function(_0x9f3ax3,_0x9f3ax4){FaxApplication[_0x3a8e[26]]({where:{id:_0x9f3ax3[_0x3a8e[14]][_0x3a8e[13]]}})[_0x3a8e[8]](function(_0x9f3ax7){if(!_0x9f3ax7){return _0x9f3ax4[_0x3a8e[12]](404)};_0x9f3ax7[_0x3a8e[25]]()[_0x3a8e[8]](function(){return _0x9f3ax4[_0x3a8e[12]](204)})[_0x3a8e[5]](function(_0x9f3ax5){return handleError(_0x9f3ax4,_0x9f3ax5)});})[_0x3a8e[5]](function(_0x9f3ax5){return handleError(_0x9f3ax4,_0x9f3ax5)})};function handleError(_0x9f3ax4,_0x9f3ax5){return _0x9f3ax4[_0x3a8e[7]](500)[_0x3a8e[6]](_0x9f3ax5)}
\ No newline at end of file
index 6865a30c1d2c4437edbda65a56864c156818a6ff..2a01890cd5eca2602235d36aa4657b898b9528f9 100644 (file)
@@ -1 +1 @@
-var _0xee28=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x46\x61\x78\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x66\x61\x78\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x66\x61\x78\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0xee28[0];var fax_application=require(_0xee28[2])[_0xee28[1]];exports[_0xee28[3]]=function(_0xbb66x2){fax_application[_0xee28[4]](function(_0xbb66x3){onSave(_0xbb66x2,_0xbb66x3)});fax_application[_0xee28[5]](function(_0xbb66x3){onRemove(_0xbb66x2,_0xbb66x3)});};function onSave(_0xbb66x2,_0xbb66x3,_0xbb66x5){_0xbb66x2[_0xee28[7]](_0xee28[6],_0xbb66x3)}function onRemove(_0xbb66x2,_0xbb66x3,_0xbb66x5){_0xbb66x2[_0xee28[7]](_0xee28[8],_0xbb66x3)}
\ No newline at end of file
+var _0xb896=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x46\x61\x78\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x66\x61\x78\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x66\x61\x78\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0xb896[0];var fax_application=require(_0xb896[2])[_0xb896[1]];exports[_0xb896[3]]=function(_0x98f8x2){fax_application[_0xb896[4]](function(_0x98f8x3){onSave(_0x98f8x2,_0x98f8x3)});fax_application[_0xb896[5]](function(_0x98f8x3){onRemove(_0x98f8x2,_0x98f8x3)});};function onSave(_0x98f8x2,_0x98f8x3,_0x98f8x5){_0x98f8x2[_0xb896[7]](_0xb896[6],_0x98f8x3)}function onRemove(_0x98f8x2,_0x98f8x3,_0x98f8x5){_0x98f8x2[_0xb896[7]](_0xb896[8],_0x98f8x3)}
\ No newline at end of file
index be65cf5cb14a0bfa65990b8d90f02eea22e6aff0..dd7b38a9489d5576ffa86954a08801a785b31e90 100644 (file)
@@ -1 +1 @@
-var _0xf50d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x67\x65\x74"];_0xf50d[0];var should=require(_0xf50d[1]);var app=require(_0xf50d[2]);var request=require(_0xf50d[3]);describe(_0xf50d[4],function(){it(_0xf50d[5],function(_0xeff7x4){request(app)[_0xf50d[13]](_0xf50d[12])[_0xf50d[11]](200)[_0xf50d[11]](_0xf50d[10],/json/)[_0xf50d[9]](function(_0xeff7x5,_0xeff7x6){if(_0xeff7x5){return _0xeff7x4(_0xeff7x5)};_0xeff7x6[_0xf50d[8]][_0xf50d[1]][_0xf50d[7]][_0xf50d[6]](Array);_0xeff7x4();})})});
\ No newline at end of file
+var _0xb9ea=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x67\x65\x74"];_0xb9ea[0];var should=require(_0xb9ea[1]);var app=require(_0xb9ea[2]);var request=require(_0xb9ea[3]);describe(_0xb9ea[4],function(){it(_0xb9ea[5],function(_0x13b4x4){request(app)[_0xb9ea[13]](_0xb9ea[12])[_0xb9ea[11]](200)[_0xb9ea[11]](_0xb9ea[10],/json/)[_0xb9ea[9]](function(_0x13b4x5,_0x13b4x6){if(_0x13b4x5){return _0x13b4x4(_0x13b4x5)};_0x13b4x6[_0xb9ea[8]][_0xb9ea[1]][_0xb9ea[7]][_0xb9ea[6]](Array);_0x13b4x4();})})});
\ No newline at end of file
index 7088d1d07492a9871a83f4799e30f7e4ba32499b..5e15c8e39cf96a38cdcab6a14be26bcd6873f63f 100644 (file)
@@ -1 +1 @@
-var _0xe09d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x66\x61\x78\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xe09d[0];var express=require(_0xe09d[1]);var controller=require(_0xe09d[2]);var router=express.Router();router[_0xe09d[5]](_0xe09d[3],controller[_0xe09d[4]]);router[_0xe09d[5]](_0xe09d[6],controller[_0xe09d[7]]);router[_0xe09d[9]](_0xe09d[3],controller[_0xe09d[8]]);router[_0xe09d[11]](_0xe09d[6],controller[_0xe09d[10]]);router[_0xe09d[12]](_0xe09d[6],controller[_0xe09d[10]]);router[_0xe09d[14]](_0xe09d[6],controller[_0xe09d[13]]);module[_0xe09d[15]]=router;
\ No newline at end of file
+var _0x8c05=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x66\x61\x78\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x8c05[0];var express=require(_0x8c05[1]);var controller=require(_0x8c05[2]);var router=express.Router();router[_0x8c05[5]](_0x8c05[3],controller[_0x8c05[4]]);router[_0x8c05[5]](_0x8c05[6],controller[_0x8c05[7]]);router[_0x8c05[9]](_0x8c05[3],controller[_0x8c05[8]]);router[_0x8c05[11]](_0x8c05[6],controller[_0x8c05[10]]);router[_0x8c05[12]](_0x8c05[6],controller[_0x8c05[10]]);router[_0x8c05[14]](_0x8c05[6],controller[_0x8c05[13]]);module[_0x8c05[15]]=router;
\ No newline at end of file
index 2bc199fea4ea03d9ca021416483c727f73c79fd7..01ef0a3c39b6c6edb58ed7ebf12e2e60f69807a3 100644 (file)
@@ -1 +1 @@
-var _0x4c4d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x46\x61\x78\x42\x75\x73\x69\x6E\x65\x73\x73\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x42\x75\x73\x69\x6E\x65\x73\x73\x43\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x42\x75\x73\x69\x6E\x65\x73\x73\x41\x63\x74\x69\x6F\x6E","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x6F\x72","\x62\x6F\x64\x79","\x46\x61\x78\x42\x75\x73\x69\x6E\x65\x73\x73\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x49\x64","\x63\x6F\x6E\x63\x61\x74","\x61\x6E\x64","\x61\x63\x74\x69\x6F\x6E\x73","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79"];_0x4c4d[0];var _=require(_0x4c4d[1]);var util=require(_0x4c4d[2]);var FaxBusinessAutomation=require(_0x4c4d[4])[_0x4c4d[3]];var BusinessCondition=require(_0x4c4d[4])[_0x4c4d[5]];var BusinessAction=require(_0x4c4d[4])[_0x4c4d[6]];var sequelize=require(_0x4c4d[4])[_0x4c4d[7]];exports[_0x4c4d[8]]=function(_0x2184x7,_0x2184x8,_0x2184x9){var _0x2184xa=[_0x4c4d[9],_0x4c4d[10]];var _0x2184xb=_0x2184x7[_0x4c4d[12]][_0x4c4d[11]]?parseInt(_0x2184x7[_0x4c4d[12]][_0x4c4d[11]],10):100;var _0x2184xc=_0x2184x7[_0x4c4d[12]][_0x4c4d[13]]?parseInt(_0x2184x7[_0x4c4d[12]][_0x4c4d[13]],10):0;var _0x2184xd={where:{},limit:_0x2184xb,offset:_0x2184xc*_0x2184xb};_[_0x4c4d[27]](_0x2184x7[_0x4c4d[12]],function(_0x2184xe,_0x2184xf){switch(_0x2184xf){case _0x4c4d[11]:;case _0x4c4d[13]:break ;;case _0x4c4d[16]:_0x2184xd[_0x4c4d[14]]=util[_0x4c4d[19]](_0x4c4d[15],_0x2184x7[_0x4c4d[12]][_0x4c4d[16]],_0x2184x7[_0x4c4d[12]][_0x4c4d[17]]||_0x4c4d[18])||null;break ;;case _0x4c4d[17]:break ;;case _0x4c4d[25]:_0x2184xd[_0x4c4d[21]][_0x4c4d[20]]=[];_0x2184xa[_0x4c4d[24]](function(_0x2184x10){var _0x2184x11={};_0x2184x11[_0x2184x10]={$like:_0x4c4d[22]+_0x2184xe+_0x4c4d[22]};_0x2184xd[_0x4c4d[21]][_0x4c4d[20]][_0x4c4d[23]](_0x2184x11);});break ;;default:_0x2184xd[_0x4c4d[21]][_0x2184xf]={$like:{}};_0x2184xd[_0x4c4d[21]][_0x2184xf][_0x4c4d[26]]=_0x4c4d[22]+_0x2184xe+_0x4c4d[22];;}});FaxBusinessAutomation[_0x4c4d[42]](_0x2184xd)[_0x4c4d[41]](function(_0x2184x13){var _0x2184x14=Math[_0x4c4d[33]](_0x2184x13[_0x4c4d[32]]/_0x2184xb);var _0x2184x15=_0x2184x14>(_0x2184xd[_0x4c4d[34]]+1)?util[_0x4c4d[19]](_0x4c4d[35],_0x2184x7[_0x4c4d[36]],_0x2184x7[_0x4c4d[38]][_0x4c4d[37]],_0x2184x7[_0x4c4d[39]],_0x2184xc+1):null;var _0x2184x16=_0x2184xc>0?util[_0x4c4d[19]](_0x4c4d[35],_0x2184x7[_0x4c4d[36]],_0x2184x7[_0x4c4d[38]][_0x4c4d[37]],_0x2184x7[_0x4c4d[39]],_0x2184xc-1):null;_0x2184x8[_0x4c4d[30]](200)[_0x4c4d[29]]({count:_0x2184x13[_0x4c4d[32]],rows:_0x2184x13[_0x4c4d[40]],next_page:_0x2184x15,previous_page:_0x2184x16,total_pages:_0x2184x14});})[_0x4c4d[31]](function(_0x2184x12){_0x2184x8[_0x4c4d[30]](500)[_0x4c4d[29]]({error:_0x4c4d[28]})});};exports[_0x4c4d[43]]=function(_0x2184x7,_0x2184x8){FaxBusinessAutomation[_0x4c4d[47]](_0x2184x7[_0x4c4d[46]][_0x4c4d[45]],{include:[{all:true}]})[_0x4c4d[41]](function(_0x2184x17){if(!_0x2184x17){return _0x2184x8[_0x4c4d[44]](404)};return _0x2184x8[_0x4c4d[29]](_0x2184x17);})[_0x4c4d[31]](function(_0x2184x12){return handleError(_0x2184x8,_0x2184x12)})};exports[_0x4c4d[48]]=function(_0x2184x7,_0x2184x8,_0x2184x9){return sequelize[_0x4c4d[56]](function(_0x2184x18){return FaxBusinessAutomation[_0x4c4d[48]](_0x2184x7[_0x4c4d[50]],{transaction:_0x2184x18})[_0x4c4d[41]](function(_0x2184x19){var _0x2184x1a=[];if(_0x2184x7[_0x4c4d[50]][_0x4c4d[49]]){_0x2184x7[_0x4c4d[50]][_0x4c4d[49]][_0x4c4d[24]](function(_0x2184x1b){_0x2184x1b[_0x4c4d[51]]=_0x2184x19[_0x4c4d[45]]});_0x2184x1a=_0x2184x1a[_0x4c4d[52]](_0x2184x7[_0x4c4d[50]][_0x4c4d[49]]);};if(_0x2184x7[_0x4c4d[50]][_0x4c4d[53]]){_0x2184x7[_0x4c4d[50]][_0x4c4d[53]][_0x4c4d[24]](function(_0x2184x1b){_0x2184x1b[_0x4c4d[51]]=_0x2184x19[_0x4c4d[45]]});_0x2184x1a=_0x2184x1a[_0x4c4d[52]](_0x2184x7[_0x4c4d[50]][_0x4c4d[53]]);};return BusinessCondition[_0x4c4d[55]](_0x2184x1a,{transaction:_0x2184x18})[_0x4c4d[41]](function(_0x2184x1c){if(_0x2184x7[_0x4c4d[50]][_0x4c4d[54]]){_0x2184x7[_0x4c4d[50]][_0x4c4d[54]][_0x4c4d[24]](function(_0x2184x1b){_0x2184x1b[_0x4c4d[51]]=_0x2184x19[_0x4c4d[45]]})};return BusinessAction[_0x4c4d[55]](_0x2184x7[_0x4c4d[50]][_0x4c4d[54]],{transaction:_0x2184x18});});})})[_0x4c4d[41]](function(){return _0x2184x8[_0x4c4d[44]](201)})[_0x4c4d[31]](function(_0x2184x12){return _0x2184x9(_0x2184x12)})};exports[_0x4c4d[57]]=function(_0x2184x7,_0x2184x8){if(_0x2184x7[_0x4c4d[50]][_0x4c4d[45]]){delete _0x2184x7[_0x4c4d[50]][_0x4c4d[45]]};FaxBusinessAutomation[_0x4c4d[60]]({where:{id:_0x2184x7[_0x4c4d[46]][_0x4c4d[45]]}})[_0x4c4d[41]](function(_0x2184x17){if(!_0x2184x17){return _0x2184x8[_0x4c4d[44]](404)};var _0x2184x1d=_[_0x4c4d[58]](_0x2184x17,_0x2184x7[_0x4c4d[50]]);_0x2184x1d[_0x4c4d[59]]()[_0x4c4d[41]](function(){return _0x2184x8[_0x4c4d[30]](200)[_0x4c4d[29]](_0x2184x17)})[_0x4c4d[31]](function(_0x2184x12){return handleError(_0x2184x8,_0x2184x12)});})[_0x4c4d[31]](function(_0x2184x12){return handleError(_0x2184x8,_0x2184x12)});};exports[_0x4c4d[61]]=function(_0x2184x7,_0x2184x8){FaxBusinessAutomation[_0x4c4d[60]]({where:{id:_0x2184x7[_0x4c4d[46]][_0x4c4d[45]]}})[_0x4c4d[41]](function(_0x2184x17){if(!_0x2184x17){return _0x2184x8[_0x4c4d[44]](404)};_0x2184x17[_0x4c4d[61]]()[_0x4c4d[41]](function(){return _0x2184x8[_0x4c4d[44]](204)})[_0x4c4d[31]](function(_0x2184x12){return handleError(_0x2184x8,_0x2184x12)});})[_0x4c4d[31]](function(_0x2184x12){return handleError(_0x2184x8,_0x2184x12)})};function handleError(_0x2184x8,_0x2184x12){return _0x2184x8[_0x4c4d[30]](500)[_0x4c4d[29]](_0x2184x12)}
\ No newline at end of file
+var _0x238d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x46\x61\x78\x42\x75\x73\x69\x6E\x65\x73\x73\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x42\x75\x73\x69\x6E\x65\x73\x73\x43\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x42\x75\x73\x69\x6E\x65\x73\x73\x41\x63\x74\x69\x6F\x6E","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x6F\x72","\x62\x6F\x64\x79","\x46\x61\x78\x42\x75\x73\x69\x6E\x65\x73\x73\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x49\x64","\x63\x6F\x6E\x63\x61\x74","\x61\x6E\x64","\x61\x63\x74\x69\x6F\x6E\x73","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79"];_0x238d[0];var _=require(_0x238d[1]);var util=require(_0x238d[2]);var FaxBusinessAutomation=require(_0x238d[4])[_0x238d[3]];var BusinessCondition=require(_0x238d[4])[_0x238d[5]];var BusinessAction=require(_0x238d[4])[_0x238d[6]];var sequelize=require(_0x238d[4])[_0x238d[7]];exports[_0x238d[8]]=function(_0x7d1dx7,_0x7d1dx8,_0x7d1dx9){var _0x7d1dxa=[_0x238d[9],_0x238d[10]];var _0x7d1dxb=_0x7d1dx7[_0x238d[12]][_0x238d[11]]?parseInt(_0x7d1dx7[_0x238d[12]][_0x238d[11]],10):100;var _0x7d1dxc=_0x7d1dx7[_0x238d[12]][_0x238d[13]]?parseInt(_0x7d1dx7[_0x238d[12]][_0x238d[13]],10):0;var _0x7d1dxd={where:{},limit:_0x7d1dxb,offset:_0x7d1dxc*_0x7d1dxb};_[_0x238d[27]](_0x7d1dx7[_0x238d[12]],function(_0x7d1dxe,_0x7d1dxf){switch(_0x7d1dxf){case _0x238d[11]:;case _0x238d[13]:break ;;case _0x238d[16]:_0x7d1dxd[_0x238d[14]]=util[_0x238d[19]](_0x238d[15],_0x7d1dx7[_0x238d[12]][_0x238d[16]],_0x7d1dx7[_0x238d[12]][_0x238d[17]]||_0x238d[18])||null;break ;;case _0x238d[17]:break ;;case _0x238d[25]:_0x7d1dxd[_0x238d[21]][_0x238d[20]]=[];_0x7d1dxa[_0x238d[24]](function(_0x7d1dx10){var _0x7d1dx11={};_0x7d1dx11[_0x7d1dx10]={$like:_0x238d[22]+_0x7d1dxe+_0x238d[22]};_0x7d1dxd[_0x238d[21]][_0x238d[20]][_0x238d[23]](_0x7d1dx11);});break ;;default:_0x7d1dxd[_0x238d[21]][_0x7d1dxf]={$like:{}};_0x7d1dxd[_0x238d[21]][_0x7d1dxf][_0x238d[26]]=_0x238d[22]+_0x7d1dxe+_0x238d[22];;}});FaxBusinessAutomation[_0x238d[42]](_0x7d1dxd)[_0x238d[41]](function(_0x7d1dx13){var _0x7d1dx14=Math[_0x238d[33]](_0x7d1dx13[_0x238d[32]]/_0x7d1dxb);var _0x7d1dx15=_0x7d1dx14>(_0x7d1dxd[_0x238d[34]]+1)?util[_0x238d[19]](_0x238d[35],_0x7d1dx7[_0x238d[36]],_0x7d1dx7[_0x238d[38]][_0x238d[37]],_0x7d1dx7[_0x238d[39]],_0x7d1dxc+1):null;var _0x7d1dx16=_0x7d1dxc>0?util[_0x238d[19]](_0x238d[35],_0x7d1dx7[_0x238d[36]],_0x7d1dx7[_0x238d[38]][_0x238d[37]],_0x7d1dx7[_0x238d[39]],_0x7d1dxc-1):null;_0x7d1dx8[_0x238d[30]](200)[_0x238d[29]]({count:_0x7d1dx13[_0x238d[32]],rows:_0x7d1dx13[_0x238d[40]],next_page:_0x7d1dx15,previous_page:_0x7d1dx16,total_pages:_0x7d1dx14});})[_0x238d[31]](function(_0x7d1dx12){_0x7d1dx8[_0x238d[30]](500)[_0x238d[29]]({error:_0x238d[28]})});};exports[_0x238d[43]]=function(_0x7d1dx7,_0x7d1dx8){FaxBusinessAutomation[_0x238d[47]](_0x7d1dx7[_0x238d[46]][_0x238d[45]],{include:[{all:true}]})[_0x238d[41]](function(_0x7d1dx17){if(!_0x7d1dx17){return _0x7d1dx8[_0x238d[44]](404)};return _0x7d1dx8[_0x238d[29]](_0x7d1dx17);})[_0x238d[31]](function(_0x7d1dx12){return handleError(_0x7d1dx8,_0x7d1dx12)})};exports[_0x238d[48]]=function(_0x7d1dx7,_0x7d1dx8,_0x7d1dx9){return sequelize[_0x238d[56]](function(_0x7d1dx18){return FaxBusinessAutomation[_0x238d[48]](_0x7d1dx7[_0x238d[50]],{transaction:_0x7d1dx18})[_0x238d[41]](function(_0x7d1dx19){var _0x7d1dx1a=[];if(_0x7d1dx7[_0x238d[50]][_0x238d[49]]){_0x7d1dx7[_0x238d[50]][_0x238d[49]][_0x238d[24]](function(_0x7d1dx1b){_0x7d1dx1b[_0x238d[51]]=_0x7d1dx19[_0x238d[45]]});_0x7d1dx1a=_0x7d1dx1a[_0x238d[52]](_0x7d1dx7[_0x238d[50]][_0x238d[49]]);};if(_0x7d1dx7[_0x238d[50]][_0x238d[53]]){_0x7d1dx7[_0x238d[50]][_0x238d[53]][_0x238d[24]](function(_0x7d1dx1b){_0x7d1dx1b[_0x238d[51]]=_0x7d1dx19[_0x238d[45]]});_0x7d1dx1a=_0x7d1dx1a[_0x238d[52]](_0x7d1dx7[_0x238d[50]][_0x238d[53]]);};return BusinessCondition[_0x238d[55]](_0x7d1dx1a,{transaction:_0x7d1dx18})[_0x238d[41]](function(_0x7d1dx1c){if(_0x7d1dx7[_0x238d[50]][_0x238d[54]]){_0x7d1dx7[_0x238d[50]][_0x238d[54]][_0x238d[24]](function(_0x7d1dx1b){_0x7d1dx1b[_0x238d[51]]=_0x7d1dx19[_0x238d[45]]})};return BusinessAction[_0x238d[55]](_0x7d1dx7[_0x238d[50]][_0x238d[54]],{transaction:_0x7d1dx18});});})})[_0x238d[41]](function(){return _0x7d1dx8[_0x238d[44]](201)})[_0x238d[31]](function(_0x7d1dx12){return _0x7d1dx9(_0x7d1dx12)})};exports[_0x238d[57]]=function(_0x7d1dx7,_0x7d1dx8){if(_0x7d1dx7[_0x238d[50]][_0x238d[45]]){delete _0x7d1dx7[_0x238d[50]][_0x238d[45]]};FaxBusinessAutomation[_0x238d[60]]({where:{id:_0x7d1dx7[_0x238d[46]][_0x238d[45]]}})[_0x238d[41]](function(_0x7d1dx17){if(!_0x7d1dx17){return _0x7d1dx8[_0x238d[44]](404)};var _0x7d1dx1d=_[_0x238d[58]](_0x7d1dx17,_0x7d1dx7[_0x238d[50]]);_0x7d1dx1d[_0x238d[59]]()[_0x238d[41]](function(){return _0x7d1dx8[_0x238d[30]](200)[_0x238d[29]](_0x7d1dx17)})[_0x238d[31]](function(_0x7d1dx12){return handleError(_0x7d1dx8,_0x7d1dx12)});})[_0x238d[31]](function(_0x7d1dx12){return handleError(_0x7d1dx8,_0x7d1dx12)});};exports[_0x238d[61]]=function(_0x7d1dx7,_0x7d1dx8){FaxBusinessAutomation[_0x238d[60]]({where:{id:_0x7d1dx7[_0x238d[46]][_0x238d[45]]}})[_0x238d[41]](function(_0x7d1dx17){if(!_0x7d1dx17){return _0x7d1dx8[_0x238d[44]](404)};_0x7d1dx17[_0x238d[61]]()[_0x238d[41]](function(){return _0x7d1dx8[_0x238d[44]](204)})[_0x238d[31]](function(_0x7d1dx12){return handleError(_0x7d1dx8,_0x7d1dx12)});})[_0x238d[31]](function(_0x7d1dx12){return handleError(_0x7d1dx8,_0x7d1dx12)})};function handleError(_0x7d1dx8,_0x7d1dx12){return _0x7d1dx8[_0x238d[30]](500)[_0x238d[29]](_0x7d1dx12)}
\ No newline at end of file
index 1ee2407294e17271f9caff287aade076c64d1e22..036450ad6a04e5dfc4e4d24c0a71c4c113d63ad6 100644 (file)
@@ -1 +1 @@
-var _0x2ab5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x46\x61\x78\x42\x75\x73\x69\x6E\x65\x73\x73\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x66\x61\x78\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x66\x61\x78\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0x2ab5[0];var FaxBusinessAutomation=require(_0x2ab5[2])[_0x2ab5[1]];exports[_0x2ab5[3]]=function(_0x8098x2){FaxBusinessAutomation[_0x2ab5[4]](function(_0x8098x3){onSave(_0x8098x2,_0x8098x3)});FaxBusinessAutomation[_0x2ab5[5]](function(_0x8098x3,_0x8098x4){onSave(_0x8098x2,_0x8098x3)});FaxBusinessAutomation[_0x2ab5[6]](function(_0x8098x3){onRemove(_0x8098x2,_0x8098x3)});};function onSave(_0x8098x2,_0x8098x3,_0x8098x6){_0x8098x2[_0x2ab5[8]](_0x2ab5[7],_0x8098x3)}function onRemove(_0x8098x2,_0x8098x3,_0x8098x6){_0x8098x2[_0x2ab5[8]](_0x2ab5[9],_0x8098x3)}
\ No newline at end of file
+var _0x15b2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x46\x61\x78\x42\x75\x73\x69\x6E\x65\x73\x73\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x66\x61\x78\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x66\x61\x78\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0x15b2[0];var FaxBusinessAutomation=require(_0x15b2[2])[_0x15b2[1]];exports[_0x15b2[3]]=function(_0xa12cx2){FaxBusinessAutomation[_0x15b2[4]](function(_0xa12cx3){onSave(_0xa12cx2,_0xa12cx3)});FaxBusinessAutomation[_0x15b2[5]](function(_0xa12cx3,_0xa12cx4){onSave(_0xa12cx2,_0xa12cx3)});FaxBusinessAutomation[_0x15b2[6]](function(_0xa12cx3){onRemove(_0xa12cx2,_0xa12cx3)});};function onSave(_0xa12cx2,_0xa12cx3,_0xa12cx6){_0xa12cx2[_0x15b2[8]](_0x15b2[7],_0xa12cx3)}function onRemove(_0xa12cx2,_0xa12cx3,_0xa12cx6){_0xa12cx2[_0x15b2[8]](_0x15b2[9],_0xa12cx3)}
\ No newline at end of file
index aaa268b7f8e51c800ae6de3ae3aa9a31d5e79035..2dc23ad5ed95fa65dc1a3f99e0130ec6aff10563 100644 (file)
@@ -1 +1 @@
-var _0xd25d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73","\x67\x65\x74"];_0xd25d[0];var should=require(_0xd25d[1]);var app=require(_0xd25d[2]);var request=require(_0xd25d[3]);describe(_0xd25d[4],function(){it(_0xd25d[5],function(_0x3f0dx4){request(app)[_0xd25d[13]](_0xd25d[12])[_0xd25d[11]](200)[_0xd25d[11]](_0xd25d[10],/json/)[_0xd25d[9]](function(_0x3f0dx5,_0x3f0dx6){if(_0x3f0dx5){return _0x3f0dx4(_0x3f0dx5)};_0x3f0dx6[_0xd25d[8]][_0xd25d[1]][_0xd25d[7]][_0xd25d[6]](Array);_0x3f0dx4();})})});
\ No newline at end of file
+var _0xdd33=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73","\x67\x65\x74"];_0xdd33[0];var should=require(_0xdd33[1]);var app=require(_0xdd33[2]);var request=require(_0xdd33[3]);describe(_0xdd33[4],function(){it(_0xdd33[5],function(_0x8834x4){request(app)[_0xdd33[13]](_0xdd33[12])[_0xdd33[11]](200)[_0xdd33[11]](_0xdd33[10],/json/)[_0xdd33[9]](function(_0x8834x5,_0x8834x6){if(_0x8834x5){return _0x8834x4(_0x8834x5)};_0x8834x6[_0xdd33[8]][_0xdd33[1]][_0xdd33[7]][_0xdd33[6]](Array);_0x8834x4();})})});
\ No newline at end of file
index d48792f2369a09aeaebf8475c88fd2eda77733b4..64a9f9ec92ac770c0b33a12d9e32cd4b1a9708e0 100644 (file)
@@ -1 +1 @@
-var _0xe912=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x66\x61\x78\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xe912[0];var express=require(_0xe912[1]);var controller=require(_0xe912[2]);var router=express.Router();router[_0xe912[5]](_0xe912[3],controller[_0xe912[4]]);router[_0xe912[5]](_0xe912[6],controller[_0xe912[7]]);router[_0xe912[9]](_0xe912[3],controller[_0xe912[8]]);router[_0xe912[11]](_0xe912[6],controller[_0xe912[10]]);router[_0xe912[12]](_0xe912[6],controller[_0xe912[10]]);router[_0xe912[14]](_0xe912[6],controller[_0xe912[13]]);module[_0xe912[15]]=router;
\ No newline at end of file
+var _0x9344=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x66\x61\x78\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x9344[0];var express=require(_0x9344[1]);var controller=require(_0x9344[2]);var router=express.Router();router[_0x9344[5]](_0x9344[3],controller[_0x9344[4]]);router[_0x9344[5]](_0x9344[6],controller[_0x9344[7]]);router[_0x9344[9]](_0x9344[3],controller[_0x9344[8]]);router[_0x9344[11]](_0x9344[6],controller[_0x9344[10]]);router[_0x9344[12]](_0x9344[6],controller[_0x9344[10]]);router[_0x9344[14]](_0x9344[6],controller[_0x9344[13]]);module[_0x9344[15]]=router;
\ No newline at end of file
index 728f8b18927d7dbd88eae10451d3c5b8bbfa2a09..154a2ddeb80b4fc2b1a6362b0f724b5a45dd17d5 100644 (file)
@@ -1 +1 @@
-var _0xa0e1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x46\x61\x78\x4D\x65\x73\x73\x61\x67\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x72\x65\x67\x69\x73\x74\x65\x72","\x46\x61\x78\x4D\x65\x73\x73\x61\x67\x65\x20\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x6C\x6F\x67","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x73\x74\x61\x74\x75\x73","\x4E\x4F\x54\x20\x53\x45\x4E\x54","\x61\x63\x74\x69\x6F\x6E\x69\x64","\x62\x6F\x64\x79","\x70\x61\x72\x73\x65","\x66\x61\x78\x42\x6F\x64\x79","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x6F\x72\x69\x67\x69\x6E\x61\x74\x65","\x66\x72\x6F\x6D","\x25\x73\x2F\x25\x73\x40\x25\x73","\x74\x65\x63\x68\x6E\x6F\x6C\x6F\x67\x79","\x74\x6F","\x6E\x61\x6D\x65","\x66\x6F\x72\x6D\x61\x74","\x6F\x75\x74\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78","\x73","\x74\x72\x75\x65","\x6D\x61\x78\x72\x61\x74\x65","\x6D\x69\x6E\x72\x61\x74\x65","\x65\x63\x6D","\x79\x65\x73","\x6E\x6F","\x66\x61\x78\x5F\x6C\x6F\x63\x61\x6C\x69\x64","\x66\x61\x78\x5F\x66\x69\x6C\x65","\x66\x61\x78\x5F\x68\x65\x61\x64\x65\x72","\x75\x75\x69\x64","\x46\x41\x49\x4C\x45\x44","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x72\x65\x73\x70\x6F\x6E\x73\x65","\x61\x63\x74\x69\x6F\x6E","\x74\x68\x65\x6E","\x69\x64","\x74\x72\x75\x6E\x6B","\x66\x69\x6E\x64\x42\x79\x49\x64"];_0xa0e1[0];var _=require(_0xa0e1[1]);var util=require(_0xa0e1[2]);var FaxMessage=require(_0xa0e1[4])[_0xa0e1[3]];var Trunk=require(_0xa0e1[4])[_0xa0e1[5]];exports[_0xa0e1[6]]=function(_0x117ex5){FaxMessage[_0xa0e1[9]](function(_0x117ex6){console[_0xa0e1[8]](_0xa0e1[7]);onSave(_0x117ex5,_0x117ex6);})};function onSave(_0x117ex5,_0x117ex6,_0x117ex8){if(_0x117ex6[_0xa0e1[10]]===_0xa0e1[11]&&!_0x117ex6[_0xa0e1[12]]){var _0x117ex9=JSON[_0xa0e1[14]](_0x117ex6[_0xa0e1[13]]);console[_0xa0e1[8]](_0xa0e1[15],_0x117ex9);Trunk[_0xa0e1[44]](_0x117ex9[_0xa0e1[43]][_0xa0e1[42]])[_0xa0e1[41]](function(_0x117exb){var _0x117exc={Action:_0xa0e1[18],CallerID:_0x117ex9[_0xa0e1[19]],Channel:util[_0xa0e1[24]](_0xa0e1[20],_0x117ex9[_0xa0e1[21]],_0x117ex9[_0xa0e1[22]],_0x117exb[_0xa0e1[23]]),Context:_0xa0e1[25],Exten:_0xa0e1[26],Priority:1,Async:_0xa0e1[27],Variable:{MAXRATE:_0x117ex9[_0xa0e1[28]],MINRATE:_0x117ex9[_0xa0e1[29]],ECM:_0x117ex9[_0xa0e1[30]]?_0xa0e1[31]:_0xa0e1[32],LOCALID:_0x117ex9[_0xa0e1[33]],FAXFILE:_0x117ex9[_0xa0e1[34]],FAXHEADER:_0x117ex9[_0xa0e1[35]],FAXUUID:_0x117ex9[_0xa0e1[36]]}};_0x117ex5[_0xa0e1[40]](_0x117exc,function(_0x117exa,_0x117exd){if(_0x117exa){_0x117ex6[_0xa0e1[38]]({status:_0xa0e1[37]})}else {if(_0x117exd[_0xa0e1[39]]&&_0x117exd[_0xa0e1[12]]){_0x117ex6[_0xa0e1[38]]({actionid:_0x117exd[_0xa0e1[12]]})}}});})[_0xa0e1[17]](function(_0x117exa){console[_0xa0e1[16]](_0x117exa)});}}
\ No newline at end of file
+var _0xf3dc=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x46\x61\x78\x4D\x65\x73\x73\x61\x67\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x72\x65\x67\x69\x73\x74\x65\x72","\x46\x61\x78\x4D\x65\x73\x73\x61\x67\x65\x20\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x6C\x6F\x67","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x73\x74\x61\x74\x75\x73","\x4E\x4F\x54\x20\x53\x45\x4E\x54","\x61\x63\x74\x69\x6F\x6E\x69\x64","\x62\x6F\x64\x79","\x70\x61\x72\x73\x65","\x66\x61\x78\x42\x6F\x64\x79","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x6F\x72\x69\x67\x69\x6E\x61\x74\x65","\x66\x72\x6F\x6D","\x25\x73\x2F\x25\x73\x40\x25\x73","\x74\x65\x63\x68\x6E\x6F\x6C\x6F\x67\x79","\x74\x6F","\x6E\x61\x6D\x65","\x66\x6F\x72\x6D\x61\x74","\x6F\x75\x74\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78","\x73","\x74\x72\x75\x65","\x6D\x61\x78\x72\x61\x74\x65","\x6D\x69\x6E\x72\x61\x74\x65","\x65\x63\x6D","\x79\x65\x73","\x6E\x6F","\x66\x61\x78\x5F\x6C\x6F\x63\x61\x6C\x69\x64","\x66\x61\x78\x5F\x66\x69\x6C\x65","\x66\x61\x78\x5F\x68\x65\x61\x64\x65\x72","\x75\x75\x69\x64","\x46\x41\x49\x4C\x45\x44","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x72\x65\x73\x70\x6F\x6E\x73\x65","\x61\x63\x74\x69\x6F\x6E","\x74\x68\x65\x6E","\x69\x64","\x74\x72\x75\x6E\x6B","\x66\x69\x6E\x64\x42\x79\x49\x64"];_0xf3dc[0];var _=require(_0xf3dc[1]);var util=require(_0xf3dc[2]);var FaxMessage=require(_0xf3dc[4])[_0xf3dc[3]];var Trunk=require(_0xf3dc[4])[_0xf3dc[5]];exports[_0xf3dc[6]]=function(_0x640ax5){FaxMessage[_0xf3dc[9]](function(_0x640ax6){console[_0xf3dc[8]](_0xf3dc[7]);onSave(_0x640ax5,_0x640ax6);})};function onSave(_0x640ax5,_0x640ax6,_0x640ax8){if(_0x640ax6[_0xf3dc[10]]===_0xf3dc[11]&&!_0x640ax6[_0xf3dc[12]]){var _0x640ax9=JSON[_0xf3dc[14]](_0x640ax6[_0xf3dc[13]]);console[_0xf3dc[8]](_0xf3dc[15],_0x640ax9);Trunk[_0xf3dc[44]](_0x640ax9[_0xf3dc[43]][_0xf3dc[42]])[_0xf3dc[41]](function(_0x640axb){var _0x640axc={Action:_0xf3dc[18],CallerID:_0x640ax9[_0xf3dc[19]],Channel:util[_0xf3dc[24]](_0xf3dc[20],_0x640ax9[_0xf3dc[21]],_0x640ax9[_0xf3dc[22]],_0x640axb[_0xf3dc[23]]),Context:_0xf3dc[25],Exten:_0xf3dc[26],Priority:1,Async:_0xf3dc[27],Variable:{MAXRATE:_0x640ax9[_0xf3dc[28]],MINRATE:_0x640ax9[_0xf3dc[29]],ECM:_0x640ax9[_0xf3dc[30]]?_0xf3dc[31]:_0xf3dc[32],LOCALID:_0x640ax9[_0xf3dc[33]],FAXFILE:_0x640ax9[_0xf3dc[34]],FAXHEADER:_0x640ax9[_0xf3dc[35]],FAXUUID:_0x640ax9[_0xf3dc[36]]}};_0x640ax5[_0xf3dc[40]](_0x640axc,function(_0x640axa,_0x640axd){if(_0x640axa){_0x640ax6[_0xf3dc[38]]({status:_0xf3dc[37]})}else {if(_0x640axd[_0xf3dc[39]]&&_0x640axd[_0xf3dc[12]]){_0x640ax6[_0xf3dc[38]]({actionid:_0x640axd[_0xf3dc[12]]})}}});})[_0xf3dc[17]](function(_0x640axa){console[_0xf3dc[16]](_0x640axa)});}}
\ No newline at end of file
index b9644edb20ac5da252e324986c3d77561211e5c5..53b304e4e6825b206d390a9e73c3d7d6ab15a87e 100644 (file)
@@ -1 +1 @@
-var _0xac92=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x66\x73","\x70\x61\x74\x68","\x75\x70\x6C\x6F\x61\x64\x2D\x66\x69\x6C\x65","\x6E\x6F\x64\x65\x2D\x75\x75\x69\x64","\x68\x74\x6D\x6C\x2D\x70\x64\x66","\x73\x70\x69\x6E\x64\x72\x69\x66\x74","\x66\x6F\x72\x6D\x69\x64\x61\x62\x6C\x65","\x65\x78\x65\x63","\x63\x68\x69\x6C\x64\x5F\x70\x72\x6F\x63\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x46\x61\x78\x4D\x65\x73\x73\x61\x67\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x46\x61\x78\x52\x6F\x6F\x6D","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74","\x43\x6F\x6E\x74\x61\x63\x74","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x63\x72\x65\x61\x74\x65\x64\x41\x74\x20\x44\x45\x53\x43","\x46\x72\x6F\x6D","\x54\x6F","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x4F\x6E\x65","\x63\x72\x65\x61\x74\x65","\x75\x70\x6C\x6F\x61\x64\x44\x69\x72","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x66\x61\x78\x2F\x6F\x75\x74\x62\x6F\x75\x6E\x64\x2F\x6F\x72\x69\x67\x69\x6E\x61\x6C","\x6A\x6F\x69\x6E","\x6B\x65\x65\x70\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x6D\x75\x6C\x74\x69\x70\x6C\x65\x73","\x6F\x6E\x6C\x79\x54\x65\x78\x74","\x62\x6F\x64\x79","\x68\x74\x6D\x6C","\x76\x34","\x2E\x70\x64\x66","\x46\x61\x78\x3A\x20\x48\x54\x4D\x4C\x20\x43\x6F\x6E\x76\x65\x72\x74\x65\x64","\x6C\x6F\x67","\x74\x6F\x46\x69\x6C\x65","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x66\x69\x6C\x65","\x63\x72\x65\x61\x74\x65\x57\x72\x69\x74\x65\x53\x74\x72\x65\x61\x6D","\x70\x69\x70\x65","\x70\x64\x66\x53\x74\x72\x65\x61\x6D","\x46\x61\x78\x3A\x20\x48\x54\x4D\x4C\x20\x6A\x6F\x69\x6E\x65\x64\x20\x77\x69\x74\x68\x20\x50\x44\x46\x20\x75\x70\x6C\x6F\x61\x64\x65\x64","\x65\x72\x72\x6F\x72","\x46\x61\x78\x3A\x20\x50\x44\x46\x20\x52\x65\x6E\x61\x6D\x65","\x72\x65\x6E\x61\x6D\x65","\x70\x61\x72\x73\x65","\x73\x65\x72\x76\x65\x72","\x66\x69\x6C\x65\x73","\x66\x61\x78","\x6F\x75\x74\x62\x6F\x75\x6E\x64","\x6F\x72\x69\x67\x69\x6E\x61\x6C","\x63\x6F\x6E\x76\x65\x72\x74\x65\x64","\x2E\x74\x69\x66","\x67\x73","\x20\x2D\x71\x20\x2D\x64\x4E\x4F\x50\x41\x55\x53\x45\x20\x2D\x64\x42\x41\x54\x43\x48\x20\x2D\x73\x44\x45\x56\x49\x43\x45\x3D\x74\x69\x66\x66\x67\x34\x20","\x2D\x73\x50\x41\x50\x45\x52\x53\x49\x5A\x45\x3D\x6C\x65\x74\x74\x65\x72\x20\x2D\x73\x4F\x75\x74\x70\x75\x74\x46\x69\x6C\x65\x3D","\x20","\x53\x49\x50","\x74\x6F\x4E\x75\x6D","\x70\x68\x6F\x6E\x65","\x66\x61\x78\x68\x65\x61\x64\x65\x72","\x6C\x6F\x63\x61\x6C\x69\x64","\x6D\x61\x78\x72\x61\x74\x65","\x6D\x69\x6E\x72\x61\x74\x65","\x65\x63\x6D","\x54\x72\x75\x6E\x6B\x49\x64","\x46\x69\x6C\x65\x20\x6E\x6F\x74\x20\x65\x78\x69\x73\x74\x73","\x46\x61\x78\x3A\x20\x50\x44\x46\x20\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x20\x74\x6F\x20\x54\x49\x46\x46","\x72\x6F\x6F\x6D\x49\x64","\x73\x65\x74\x46\x72\x6F\x6D","\x73\x70\x72\x65\x61\x64","\x66\x72\x6F\x6D","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x73\x65\x74\x54\x6F","\x74\x6F","\x4E\x4F\x54\x20\x53\x45\x4E\x54","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x4F\x50\x45\x4E","\x61\x63\x63\x6F\x75\x6E\x74\x49\x64","\x75\x73\x65\x72\x49\x64","\x63\x68\x6D\x6F\x64","\x65\x78\x69\x73\x74\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x66\x69\x6E\x64","\x67\x65\x74\x43\x6F\x6E\x74\x65\x6E\x74\x46\x72\x6F\x6D\x4D\x65\x73\x73\x61\x67\x65","\x66\x69\x6C\x65\x6E\x61\x6D\x65\x50\x44\x46","\x52\x45\x43\x45\x49\x56\x45\x44","\x69\x6E\x62\x6F\x75\x6E\x64","\x73\x65\x6E\x64\x46\x69\x6C\x65","\x64\x69\x72\x65\x63\x74\x6F\x72\x79","\x53\x45\x4E\x54","\x46\x41\x49\x4C\x45\x44"];_0xac92[0];var _=require(_0xac92[1]);var fs=require(_0xac92[2]);var path=require(_0xac92[3]);var uploadFile=require(_0xac92[4]);var uuidLib=require(_0xac92[5]);var pdf=require(_0xac92[6]);var spindrift=require(_0xac92[7]);var formidable=require(_0xac92[8]);var exec=require(_0xac92[10])[_0xac92[9]];var config=require(_0xac92[11]);var FaxMessage=require(_0xac92[13])[_0xac92[12]];var FaxRoom=require(_0xac92[13])[_0xac92[14]];var FaxAccount=require(_0xac92[13])[_0xac92[15]];var Contact=require(_0xac92[13])[_0xac92[16]];exports[_0xac92[17]]=function(_0xe006xf,_0xe006x10){FaxMessage[_0xac92[26]]({where:_0xe006xf[_0xac92[22]],order:_0xac92[23],include:[{model:Contact,as:_0xac92[24]},{model:Contact,as:_0xac92[25]},{model:FaxRoom,include:[{model:FaxAccount}]}]})[_0xac92[21]](function(_0xe006x12){return _0xe006x10[_0xac92[20]](200)[_0xac92[19]](_0xe006x12)})[_0xac92[18]](function(_0xe006x11){return handleError(_0xe006x10,_0xe006x11)})};exports[_0xac92[27]]=function(_0xe006xf,_0xe006x10){FaxMessage[_0xac92[31]]({where:{id:_0xe006xf[_0xac92[30]][_0xac92[29]]},include:[{model:Contact,as:_0xac92[24]},{model:Contact,as:_0xac92[25]}]})[_0xac92[21]](function(_0xe006x13){if(!_0xe006x13){return _0xe006x10[_0xac92[28]](404)};return _0xe006x10[_0xac92[19]](_0xe006x13);})[_0xac92[18]](function(_0xe006x11){return handleError(_0xe006x10,_0xe006x11)})};exports[_0xac92[32]]=function(_0xe006xf,_0xe006x10,_0xe006x14){var _0xe006x15= new formidable.IncomingForm();_0xe006x15[_0xac92[33]]=path[_0xac92[36]](config[_0xac92[34]],_0xac92[35]);_0xe006x15[_0xac92[37]]=true;_0xe006x15[_0xac92[38]]=false;if(_0xe006xf[_0xac92[40]][_0xac92[39]]){if(_0xe006xf[_0xac92[40]][_0xac92[41]]){var _0xe006x16=uuidLib[_0xac92[42]]();var _0xe006x17=path[_0xac92[36]](config[_0xac92[34]],_0xac92[35],_0xe006x16+_0xac92[43]);pdf[_0xac92[32]](_0xe006xf[_0xac92[40]][_0xac92[41]],{"\x74\x69\x6D\x65\x6F\x75\x74":30000})[_0xac92[46]](_0xe006x17,function(_0xe006x11,_0xe006x18){console[_0xac92[45]](_0xac92[44]);convertPdfAndSendFax(_0xe006xf,_0xe006x10,_0xe006x16,_0xe006xf[_0xac92[40]]);});}}else {_0xe006x15[_0xac92[56]](_0xe006xf,function(_0xe006x11,_0xe006x19,_0xe006x1a){if(_0xe006x11){return handleError(_0xe006x10,_0xe006x11)};if(_0xe006x19[_0xac92[41]]){var _0xe006x16=uuidLib[_0xac92[42]]();var _0xe006x17=path[_0xac92[36]](config[_0xac92[34]],_0xac92[35],_0xe006x16+_0xac92[43]);pdf[_0xac92[32]](_0xe006x19[_0xac92[41]],{"\x74\x69\x6D\x65\x6F\x75\x74":30000})[_0xac92[46]](_0xe006x17,function(_0xe006x11,_0xe006x18){console[_0xac92[45]](_0xac92[44]);var _0xe006x1b=spindrift(_0xe006x18[_0xac92[47]]);var _0xe006x1c=spindrift(_0xe006x1a[_0xac92[48]][_0xac92[3]]);var _0xe006x16=uuidLib[_0xac92[42]]();spindrift[_0xac92[36]](_0xe006x1b,_0xe006x1c)[_0xac92[51]]()[_0xac92[50]](fs[_0xac92[49]](path[_0xac92[36]](config[_0xac92[34]],_0xac92[35],_0xe006x16+_0xac92[43])));console[_0xac92[45]](_0xac92[52]);convertPdfAndSendFax(_0xe006xf,_0xe006x10,_0xe006x16,_0xe006x19);});}else {var _0xe006x16=uuidLib[_0xac92[42]]();var _0xe006x17=path[_0xac92[36]](config[_0xac92[34]],_0xac92[35],_0xe006x16+_0xac92[43]);fs[_0xac92[55]](_0xe006x1a[_0xac92[48]][_0xac92[3]],_0xe006x17,function(_0xe006x11){if(_0xe006x11){console[_0xac92[53]](_0xe006x11);return handleError(_0xe006x10,_0xe006xf);};console[_0xac92[45]](_0xac92[54]);convertPdfAndSendFax(_0xe006xf,_0xe006x10,_0xe006x16,_0xe006x19);});};})};};function convertPdfAndSendFax(_0xe006xf,_0xe006x10,_0xe006x1e,_0xe006x19){var _0xe006x1f=path[_0xac92[36]](config[_0xac92[34]],_0xac92[57],_0xac92[58],_0xac92[59],_0xac92[60],_0xac92[61],_0xe006x1e+_0xac92[43]);var _0xe006x20=path[_0xac92[36]](config[_0xac92[34]],_0xac92[57],_0xac92[58],_0xac92[59],_0xac92[60],_0xac92[62],_0xe006x1e+_0xac92[63]);var _0xe006x21=_0xac92[64]+_0xac92[65]+_0xac92[66]+_0xe006x20+_0xac92[67]+_0xe006x1f;var _0xe006x22=uuidLib[_0xac92[42]]();FaxAccount[_0xac92[93]](_0xe006x19[_0xac92[89]])[_0xac92[21]](function(_0xe006x23){if(_0xe006x23){var _0xe006x24={technology:_0xac92[68],to:_0xe006x19[_0xac92[69]],from:_0xe006x23[_0xac92[70]],fax_file:_0xe006x20,fax_header:_0xe006x23[_0xac92[71]],fax_localid:_0xe006x23[_0xac92[72]],maxrate:_0xe006x23[_0xac92[73]],minrate:_0xe006x23[_0xac92[74]],ecm:_0xe006x23[_0xac92[75]],uuid:_0xe006x22,trunk:{id:_0xe006x23[_0xac92[76]]}};fs[_0xac92[92]](_0xe006x1f,function(_0xe006x25){if(!_0xe006x25){handleError(_0xe006x10, new Error(_0xac92[77]))}else {exec(_0xe006x21,function(_0xe006x11){if(_0xe006x11){console[_0xac92[53]](_0xe006x11);handleError(_0xe006x10,_0xe006x11);}else {console[_0xac92[45]](_0xac92[78]);fs[_0xac92[91]](_0xe006x20,511,function(_0xe006x11){if(_0xe006x19[_0xac92[79]]){FaxRoom[_0xac92[83]]({where:{id:_0xe006x19[_0xac92[79]]},defaults:{}})[_0xac92[81]](function(_0xe006x26,_0xe006x27){FaxMessage[_0xac92[32]]({status:_0xac92[86],read:true,filenamePDF:_0xe006x1e+_0xac92[43],filename:_0xe006x1e+_0xac92[63],body:JSON[_0xac92[87]](_0xe006x24),uuid:_0xe006x22,FaxRoomId:_0xe006x26[_0xac92[29]]})[_0xac92[21]](function(_0xe006x28){Contact[_0xac92[83]]({where:{phone:_0xe006x24[_0xac92[82]]},defaults:{phone:_0xe006x24[_0xac92[82]],fullname:_0xe006x24[_0xac92[82]]}})[_0xac92[81]](function(_0xe006x29,_0xe006x27){_0xe006x28[_0xac92[80]](_0xe006x29)});Contact[_0xac92[83]]({where:{phone:_0xe006x24[_0xac92[85]]},defaults:{phone:_0xe006x24[_0xac92[85]],fullname:_0xe006x24[_0xac92[85]]}})[_0xac92[81]](function(_0xe006x29,_0xe006x27){_0xe006x28[_0xac92[84]](_0xe006x29)});return _0xe006x10[_0xac92[20]](200)[_0xac92[19]](_0xe006x28);})[_0xac92[18]](function(_0xe006x11){handleError(_0xe006x10,_0xe006x11)})})}else {FaxRoom[_0xac92[32]]({status:_0xac92[88],from:_0xe006x19[_0xac92[69]],FaxAccountId:_0xe006x19[_0xac92[89]],UserId:_0xe006x19[_0xac92[90]]})[_0xac92[21]](function(_0xe006x26){FaxMessage[_0xac92[32]]({status:_0xac92[86],read:true,filenamePDF:_0xe006x1e+_0xac92[43],filename:_0xe006x1e+_0xac92[63],body:JSON[_0xac92[87]](_0xe006x24),uuid:_0xe006x22,FaxRoomId:_0xe006x26[_0xac92[29]]})[_0xac92[21]](function(_0xe006x28){Contact[_0xac92[83]]({where:{phone:_0xe006x24[_0xac92[82]]},defaults:{phone:_0xe006x24[_0xac92[82]],fullname:_0xe006x24[_0xac92[82]]}})[_0xac92[81]](function(_0xe006x29,_0xe006x27){_0xe006x28[_0xac92[80]](_0xe006x29)});Contact[_0xac92[83]]({where:{phone:_0xe006x24[_0xac92[85]]},defaults:{phone:_0xe006x24[_0xac92[85]],fullname:_0xe006x24[_0xac92[85]]}})[_0xac92[81]](function(_0xe006x29,_0xe006x27){_0xe006x28[_0xac92[84]](_0xe006x29)});return _0xe006x10[_0xac92[20]](200)[_0xac92[19]](_0xe006x28);})[_0xac92[18]](function(_0xe006x11){handleError(_0xe006x10,_0xe006x11)})})[_0xac92[18]](function(_0xe006x11){handleError(_0xe006x10,_0xe006x11)})}});}})}});}});}exports[_0xac92[94]]=function(_0xe006xf,_0xe006x10){if(_0xe006xf[_0xac92[40]][_0xac92[29]]){delete _0xe006xf[_0xac92[40]][_0xac92[29]]};FaxMessage[_0xac92[31]]({where:{id:_0xe006xf[_0xac92[30]][_0xac92[29]]},include:[{model:Contact,as:_0xac92[24]},{model:Contact,as:_0xac92[25]}]})[_0xac92[21]](function(_0xe006x13){if(!_0xe006x13){return _0xe006x10[_0xac92[28]](404)};var _0xe006x2a=_[_0xac92[95]](_0xe006x13,_0xe006xf[_0xac92[40]]);_0xe006x2a[_0xac92[96]]()[_0xac92[21]](function(){return _0xe006x10[_0xac92[20]](200)[_0xac92[19]](_0xe006x13)})[_0xac92[18]](function(_0xe006x11){return handleError(_0xe006x10,_0xe006x11)});})[_0xac92[18]](function(_0xe006x11){return handleError(_0xe006x10,_0xe006x11)});};exports[_0xac92[97]]=function(_0xe006xf,_0xe006x10){FaxMessage[_0xac92[98]]({where:{id:_0xe006xf[_0xac92[30]][_0xac92[29]]}})[_0xac92[21]](function(_0xe006x13){if(!_0xe006x13){return _0xe006x10[_0xac92[28]](404)};_0xe006x13[_0xac92[97]]()[_0xac92[21]](function(){return _0xe006x10[_0xac92[28]](204)})[_0xac92[18]](function(_0xe006x11){return handleError(_0xe006x10,_0xe006x11)});})[_0xac92[18]](function(_0xe006x11){return handleError(_0xe006x10,_0xe006x11)})};exports[_0xac92[99]]=function(_0xe006xf,_0xe006x10){FaxMessage[_0xac92[93]](_0xe006xf[_0xac92[30]][_0xac92[29]])[_0xac92[21]](function(_0xe006x13){if(!_0xe006x13){return _0xe006x10[_0xac92[28]](404)};if(_0xe006x13[_0xac92[100]]){if(_0xe006x13[_0xac92[20]]===_0xac92[101]){var _0xe006x2b=path[_0xac92[36]](config[_0xac92[34]],_0xac92[57],_0xac92[58],_0xac92[59],_0xac92[102],_0xe006x13[_0xac92[100]]);fs[_0xac92[92]](_0xe006x2b,function(_0xe006x25){if(_0xe006x25){return _0xe006x10[_0xac92[103]](_0xe006x2b)}else {return _0xe006x10[_0xac92[28]](404)}});}else {if(_0xe006x13[_0xac92[20]]===_0xac92[86]||_0xe006x13[_0xac92[104]]===_0xac92[105]||_0xe006x13[_0xac92[20]]===_0xac92[106]){var _0xe006x2b=path[_0xac92[36]](config[_0xac92[34]],_0xac92[57],_0xac92[58],_0xac92[59],_0xac92[60],_0xac92[61],_0xe006x13[_0xac92[100]]);fs[_0xac92[92]](_0xe006x2b,function(_0xe006x25){if(_0xe006x25){return _0xe006x10[_0xac92[103]](_0xe006x2b)}else {return _0xe006x10[_0xac92[28]](404)}});}}}else {_0xe006x10[_0xac92[28]](404)};})[_0xac92[18]](function(_0xe006x11){return handleError(_0xe006x10,_0xe006x11)})};function handleError(_0xe006x10,_0xe006x11){return _0xe006x10[_0xac92[20]](500)[_0xac92[19]](_0xe006x11)}
\ No newline at end of file
+var _0xa6c5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x66\x73","\x70\x61\x74\x68","\x75\x70\x6C\x6F\x61\x64\x2D\x66\x69\x6C\x65","\x6E\x6F\x64\x65\x2D\x75\x75\x69\x64","\x68\x74\x6D\x6C\x2D\x70\x64\x66","\x73\x70\x69\x6E\x64\x72\x69\x66\x74","\x66\x6F\x72\x6D\x69\x64\x61\x62\x6C\x65","\x65\x78\x65\x63","\x63\x68\x69\x6C\x64\x5F\x70\x72\x6F\x63\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x46\x61\x78\x4D\x65\x73\x73\x61\x67\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x46\x61\x78\x52\x6F\x6F\x6D","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74","\x43\x6F\x6E\x74\x61\x63\x74","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x63\x72\x65\x61\x74\x65\x64\x41\x74\x20\x44\x45\x53\x43","\x46\x72\x6F\x6D","\x54\x6F","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x4F\x6E\x65","\x63\x72\x65\x61\x74\x65","\x75\x70\x6C\x6F\x61\x64\x44\x69\x72","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x66\x61\x78\x2F\x6F\x75\x74\x62\x6F\x75\x6E\x64\x2F\x6F\x72\x69\x67\x69\x6E\x61\x6C","\x6A\x6F\x69\x6E","\x6B\x65\x65\x70\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x6D\x75\x6C\x74\x69\x70\x6C\x65\x73","\x6F\x6E\x6C\x79\x54\x65\x78\x74","\x62\x6F\x64\x79","\x68\x74\x6D\x6C","\x76\x34","\x2E\x70\x64\x66","\x46\x61\x78\x3A\x20\x48\x54\x4D\x4C\x20\x43\x6F\x6E\x76\x65\x72\x74\x65\x64","\x6C\x6F\x67","\x74\x6F\x46\x69\x6C\x65","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x66\x69\x6C\x65","\x63\x72\x65\x61\x74\x65\x57\x72\x69\x74\x65\x53\x74\x72\x65\x61\x6D","\x70\x69\x70\x65","\x70\x64\x66\x53\x74\x72\x65\x61\x6D","\x46\x61\x78\x3A\x20\x48\x54\x4D\x4C\x20\x6A\x6F\x69\x6E\x65\x64\x20\x77\x69\x74\x68\x20\x50\x44\x46\x20\x75\x70\x6C\x6F\x61\x64\x65\x64","\x65\x72\x72\x6F\x72","\x46\x61\x78\x3A\x20\x50\x44\x46\x20\x52\x65\x6E\x61\x6D\x65","\x72\x65\x6E\x61\x6D\x65","\x70\x61\x72\x73\x65","\x73\x65\x72\x76\x65\x72","\x66\x69\x6C\x65\x73","\x66\x61\x78","\x6F\x75\x74\x62\x6F\x75\x6E\x64","\x6F\x72\x69\x67\x69\x6E\x61\x6C","\x63\x6F\x6E\x76\x65\x72\x74\x65\x64","\x2E\x74\x69\x66","\x67\x73","\x20\x2D\x71\x20\x2D\x64\x4E\x4F\x50\x41\x55\x53\x45\x20\x2D\x64\x42\x41\x54\x43\x48\x20\x2D\x73\x44\x45\x56\x49\x43\x45\x3D\x74\x69\x66\x66\x67\x34\x20","\x2D\x73\x50\x41\x50\x45\x52\x53\x49\x5A\x45\x3D\x6C\x65\x74\x74\x65\x72\x20\x2D\x73\x4F\x75\x74\x70\x75\x74\x46\x69\x6C\x65\x3D","\x20","\x53\x49\x50","\x74\x6F\x4E\x75\x6D","\x70\x68\x6F\x6E\x65","\x66\x61\x78\x68\x65\x61\x64\x65\x72","\x6C\x6F\x63\x61\x6C\x69\x64","\x6D\x61\x78\x72\x61\x74\x65","\x6D\x69\x6E\x72\x61\x74\x65","\x65\x63\x6D","\x54\x72\x75\x6E\x6B\x49\x64","\x46\x69\x6C\x65\x20\x6E\x6F\x74\x20\x65\x78\x69\x73\x74\x73","\x46\x61\x78\x3A\x20\x50\x44\x46\x20\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x20\x74\x6F\x20\x54\x49\x46\x46","\x72\x6F\x6F\x6D\x49\x64","\x73\x65\x74\x46\x72\x6F\x6D","\x73\x70\x72\x65\x61\x64","\x66\x72\x6F\x6D","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x73\x65\x74\x54\x6F","\x74\x6F","\x4E\x4F\x54\x20\x53\x45\x4E\x54","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x4F\x50\x45\x4E","\x61\x63\x63\x6F\x75\x6E\x74\x49\x64","\x75\x73\x65\x72\x49\x64","\x63\x68\x6D\x6F\x64","\x65\x78\x69\x73\x74\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x66\x69\x6E\x64","\x67\x65\x74\x43\x6F\x6E\x74\x65\x6E\x74\x46\x72\x6F\x6D\x4D\x65\x73\x73\x61\x67\x65","\x66\x69\x6C\x65\x6E\x61\x6D\x65\x50\x44\x46","\x52\x45\x43\x45\x49\x56\x45\x44","\x69\x6E\x62\x6F\x75\x6E\x64","\x73\x65\x6E\x64\x46\x69\x6C\x65","\x64\x69\x72\x65\x63\x74\x6F\x72\x79","\x53\x45\x4E\x54","\x46\x41\x49\x4C\x45\x44"];_0xa6c5[0];var _=require(_0xa6c5[1]);var fs=require(_0xa6c5[2]);var path=require(_0xa6c5[3]);var uploadFile=require(_0xa6c5[4]);var uuidLib=require(_0xa6c5[5]);var pdf=require(_0xa6c5[6]);var spindrift=require(_0xa6c5[7]);var formidable=require(_0xa6c5[8]);var exec=require(_0xa6c5[10])[_0xa6c5[9]];var config=require(_0xa6c5[11]);var FaxMessage=require(_0xa6c5[13])[_0xa6c5[12]];var FaxRoom=require(_0xa6c5[13])[_0xa6c5[14]];var FaxAccount=require(_0xa6c5[13])[_0xa6c5[15]];var Contact=require(_0xa6c5[13])[_0xa6c5[16]];exports[_0xa6c5[17]]=function(_0xc87cxf,_0xc87cx10){FaxMessage[_0xa6c5[26]]({where:_0xc87cxf[_0xa6c5[22]],order:_0xa6c5[23],include:[{model:Contact,as:_0xa6c5[24]},{model:Contact,as:_0xa6c5[25]},{model:FaxRoom,include:[{model:FaxAccount}]}]})[_0xa6c5[21]](function(_0xc87cx12){return _0xc87cx10[_0xa6c5[20]](200)[_0xa6c5[19]](_0xc87cx12)})[_0xa6c5[18]](function(_0xc87cx11){return handleError(_0xc87cx10,_0xc87cx11)})};exports[_0xa6c5[27]]=function(_0xc87cxf,_0xc87cx10){FaxMessage[_0xa6c5[31]]({where:{id:_0xc87cxf[_0xa6c5[30]][_0xa6c5[29]]},include:[{model:Contact,as:_0xa6c5[24]},{model:Contact,as:_0xa6c5[25]}]})[_0xa6c5[21]](function(_0xc87cx13){if(!_0xc87cx13){return _0xc87cx10[_0xa6c5[28]](404)};return _0xc87cx10[_0xa6c5[19]](_0xc87cx13);})[_0xa6c5[18]](function(_0xc87cx11){return handleError(_0xc87cx10,_0xc87cx11)})};exports[_0xa6c5[32]]=function(_0xc87cxf,_0xc87cx10,_0xc87cx14){var _0xc87cx15= new formidable.IncomingForm();_0xc87cx15[_0xa6c5[33]]=path[_0xa6c5[36]](config[_0xa6c5[34]],_0xa6c5[35]);_0xc87cx15[_0xa6c5[37]]=true;_0xc87cx15[_0xa6c5[38]]=false;if(_0xc87cxf[_0xa6c5[40]][_0xa6c5[39]]){if(_0xc87cxf[_0xa6c5[40]][_0xa6c5[41]]){var _0xc87cx16=uuidLib[_0xa6c5[42]]();var _0xc87cx17=path[_0xa6c5[36]](config[_0xa6c5[34]],_0xa6c5[35],_0xc87cx16+_0xa6c5[43]);pdf[_0xa6c5[32]](_0xc87cxf[_0xa6c5[40]][_0xa6c5[41]],{"\x74\x69\x6D\x65\x6F\x75\x74":30000})[_0xa6c5[46]](_0xc87cx17,function(_0xc87cx11,_0xc87cx18){console[_0xa6c5[45]](_0xa6c5[44]);convertPdfAndSendFax(_0xc87cxf,_0xc87cx10,_0xc87cx16,_0xc87cxf[_0xa6c5[40]]);});}}else {_0xc87cx15[_0xa6c5[56]](_0xc87cxf,function(_0xc87cx11,_0xc87cx19,_0xc87cx1a){if(_0xc87cx11){return handleError(_0xc87cx10,_0xc87cx11)};if(_0xc87cx19[_0xa6c5[41]]){var _0xc87cx16=uuidLib[_0xa6c5[42]]();var _0xc87cx17=path[_0xa6c5[36]](config[_0xa6c5[34]],_0xa6c5[35],_0xc87cx16+_0xa6c5[43]);pdf[_0xa6c5[32]](_0xc87cx19[_0xa6c5[41]],{"\x74\x69\x6D\x65\x6F\x75\x74":30000})[_0xa6c5[46]](_0xc87cx17,function(_0xc87cx11,_0xc87cx18){console[_0xa6c5[45]](_0xa6c5[44]);var _0xc87cx1b=spindrift(_0xc87cx18[_0xa6c5[47]]);var _0xc87cx1c=spindrift(_0xc87cx1a[_0xa6c5[48]][_0xa6c5[3]]);var _0xc87cx16=uuidLib[_0xa6c5[42]]();spindrift[_0xa6c5[36]](_0xc87cx1b,_0xc87cx1c)[_0xa6c5[51]]()[_0xa6c5[50]](fs[_0xa6c5[49]](path[_0xa6c5[36]](config[_0xa6c5[34]],_0xa6c5[35],_0xc87cx16+_0xa6c5[43])));console[_0xa6c5[45]](_0xa6c5[52]);convertPdfAndSendFax(_0xc87cxf,_0xc87cx10,_0xc87cx16,_0xc87cx19);});}else {var _0xc87cx16=uuidLib[_0xa6c5[42]]();var _0xc87cx17=path[_0xa6c5[36]](config[_0xa6c5[34]],_0xa6c5[35],_0xc87cx16+_0xa6c5[43]);fs[_0xa6c5[55]](_0xc87cx1a[_0xa6c5[48]][_0xa6c5[3]],_0xc87cx17,function(_0xc87cx11){if(_0xc87cx11){console[_0xa6c5[53]](_0xc87cx11);return handleError(_0xc87cx10,_0xc87cxf);};console[_0xa6c5[45]](_0xa6c5[54]);convertPdfAndSendFax(_0xc87cxf,_0xc87cx10,_0xc87cx16,_0xc87cx19);});};})};};function convertPdfAndSendFax(_0xc87cxf,_0xc87cx10,_0xc87cx1e,_0xc87cx19){var _0xc87cx1f=path[_0xa6c5[36]](config[_0xa6c5[34]],_0xa6c5[57],_0xa6c5[58],_0xa6c5[59],_0xa6c5[60],_0xa6c5[61],_0xc87cx1e+_0xa6c5[43]);var _0xc87cx20=path[_0xa6c5[36]](config[_0xa6c5[34]],_0xa6c5[57],_0xa6c5[58],_0xa6c5[59],_0xa6c5[60],_0xa6c5[62],_0xc87cx1e+_0xa6c5[63]);var _0xc87cx21=_0xa6c5[64]+_0xa6c5[65]+_0xa6c5[66]+_0xc87cx20+_0xa6c5[67]+_0xc87cx1f;var _0xc87cx22=uuidLib[_0xa6c5[42]]();FaxAccount[_0xa6c5[93]](_0xc87cx19[_0xa6c5[89]])[_0xa6c5[21]](function(_0xc87cx23){if(_0xc87cx23){var _0xc87cx24={technology:_0xa6c5[68],to:_0xc87cx19[_0xa6c5[69]],from:_0xc87cx23[_0xa6c5[70]],fax_file:_0xc87cx20,fax_header:_0xc87cx23[_0xa6c5[71]],fax_localid:_0xc87cx23[_0xa6c5[72]],maxrate:_0xc87cx23[_0xa6c5[73]],minrate:_0xc87cx23[_0xa6c5[74]],ecm:_0xc87cx23[_0xa6c5[75]],uuid:_0xc87cx22,trunk:{id:_0xc87cx23[_0xa6c5[76]]}};fs[_0xa6c5[92]](_0xc87cx1f,function(_0xc87cx25){if(!_0xc87cx25){handleError(_0xc87cx10, new Error(_0xa6c5[77]))}else {exec(_0xc87cx21,function(_0xc87cx11){if(_0xc87cx11){console[_0xa6c5[53]](_0xc87cx11);handleError(_0xc87cx10,_0xc87cx11);}else {console[_0xa6c5[45]](_0xa6c5[78]);fs[_0xa6c5[91]](_0xc87cx20,511,function(_0xc87cx11){if(_0xc87cx19[_0xa6c5[79]]){FaxRoom[_0xa6c5[83]]({where:{id:_0xc87cx19[_0xa6c5[79]]},defaults:{}})[_0xa6c5[81]](function(_0xc87cx26,_0xc87cx27){FaxMessage[_0xa6c5[32]]({status:_0xa6c5[86],read:true,filenamePDF:_0xc87cx1e+_0xa6c5[43],filename:_0xc87cx1e+_0xa6c5[63],body:JSON[_0xa6c5[87]](_0xc87cx24),uuid:_0xc87cx22,FaxRoomId:_0xc87cx26[_0xa6c5[29]]})[_0xa6c5[21]](function(_0xc87cx28){Contact[_0xa6c5[83]]({where:{phone:_0xc87cx24[_0xa6c5[82]]},defaults:{phone:_0xc87cx24[_0xa6c5[82]],fullname:_0xc87cx24[_0xa6c5[82]]}})[_0xa6c5[81]](function(_0xc87cx29,_0xc87cx27){_0xc87cx28[_0xa6c5[80]](_0xc87cx29)});Contact[_0xa6c5[83]]({where:{phone:_0xc87cx24[_0xa6c5[85]]},defaults:{phone:_0xc87cx24[_0xa6c5[85]],fullname:_0xc87cx24[_0xa6c5[85]]}})[_0xa6c5[81]](function(_0xc87cx29,_0xc87cx27){_0xc87cx28[_0xa6c5[84]](_0xc87cx29)});return _0xc87cx10[_0xa6c5[20]](200)[_0xa6c5[19]](_0xc87cx28);})[_0xa6c5[18]](function(_0xc87cx11){handleError(_0xc87cx10,_0xc87cx11)})})}else {FaxRoom[_0xa6c5[32]]({status:_0xa6c5[88],from:_0xc87cx19[_0xa6c5[69]],FaxAccountId:_0xc87cx19[_0xa6c5[89]],UserId:_0xc87cx19[_0xa6c5[90]]})[_0xa6c5[21]](function(_0xc87cx26){FaxMessage[_0xa6c5[32]]({status:_0xa6c5[86],read:true,filenamePDF:_0xc87cx1e+_0xa6c5[43],filename:_0xc87cx1e+_0xa6c5[63],body:JSON[_0xa6c5[87]](_0xc87cx24),uuid:_0xc87cx22,FaxRoomId:_0xc87cx26[_0xa6c5[29]]})[_0xa6c5[21]](function(_0xc87cx28){Contact[_0xa6c5[83]]({where:{phone:_0xc87cx24[_0xa6c5[82]]},defaults:{phone:_0xc87cx24[_0xa6c5[82]],fullname:_0xc87cx24[_0xa6c5[82]]}})[_0xa6c5[81]](function(_0xc87cx29,_0xc87cx27){_0xc87cx28[_0xa6c5[80]](_0xc87cx29)});Contact[_0xa6c5[83]]({where:{phone:_0xc87cx24[_0xa6c5[85]]},defaults:{phone:_0xc87cx24[_0xa6c5[85]],fullname:_0xc87cx24[_0xa6c5[85]]}})[_0xa6c5[81]](function(_0xc87cx29,_0xc87cx27){_0xc87cx28[_0xa6c5[84]](_0xc87cx29)});return _0xc87cx10[_0xa6c5[20]](200)[_0xa6c5[19]](_0xc87cx28);})[_0xa6c5[18]](function(_0xc87cx11){handleError(_0xc87cx10,_0xc87cx11)})})[_0xa6c5[18]](function(_0xc87cx11){handleError(_0xc87cx10,_0xc87cx11)})}});}})}});}});}exports[_0xa6c5[94]]=function(_0xc87cxf,_0xc87cx10){if(_0xc87cxf[_0xa6c5[40]][_0xa6c5[29]]){delete _0xc87cxf[_0xa6c5[40]][_0xa6c5[29]]};FaxMessage[_0xa6c5[31]]({where:{id:_0xc87cxf[_0xa6c5[30]][_0xa6c5[29]]},include:[{model:Contact,as:_0xa6c5[24]},{model:Contact,as:_0xa6c5[25]}]})[_0xa6c5[21]](function(_0xc87cx13){if(!_0xc87cx13){return _0xc87cx10[_0xa6c5[28]](404)};var _0xc87cx2a=_[_0xa6c5[95]](_0xc87cx13,_0xc87cxf[_0xa6c5[40]]);_0xc87cx2a[_0xa6c5[96]]()[_0xa6c5[21]](function(){return _0xc87cx10[_0xa6c5[20]](200)[_0xa6c5[19]](_0xc87cx13)})[_0xa6c5[18]](function(_0xc87cx11){return handleError(_0xc87cx10,_0xc87cx11)});})[_0xa6c5[18]](function(_0xc87cx11){return handleError(_0xc87cx10,_0xc87cx11)});};exports[_0xa6c5[97]]=function(_0xc87cxf,_0xc87cx10){FaxMessage[_0xa6c5[98]]({where:{id:_0xc87cxf[_0xa6c5[30]][_0xa6c5[29]]}})[_0xa6c5[21]](function(_0xc87cx13){if(!_0xc87cx13){return _0xc87cx10[_0xa6c5[28]](404)};_0xc87cx13[_0xa6c5[97]]()[_0xa6c5[21]](function(){return _0xc87cx10[_0xa6c5[28]](204)})[_0xa6c5[18]](function(_0xc87cx11){return handleError(_0xc87cx10,_0xc87cx11)});})[_0xa6c5[18]](function(_0xc87cx11){return handleError(_0xc87cx10,_0xc87cx11)})};exports[_0xa6c5[99]]=function(_0xc87cxf,_0xc87cx10){FaxMessage[_0xa6c5[93]](_0xc87cxf[_0xa6c5[30]][_0xa6c5[29]])[_0xa6c5[21]](function(_0xc87cx13){if(!_0xc87cx13){return _0xc87cx10[_0xa6c5[28]](404)};if(_0xc87cx13[_0xa6c5[100]]){if(_0xc87cx13[_0xa6c5[20]]===_0xa6c5[101]){var _0xc87cx2b=path[_0xa6c5[36]](config[_0xa6c5[34]],_0xa6c5[57],_0xa6c5[58],_0xa6c5[59],_0xa6c5[102],_0xc87cx13[_0xa6c5[100]]);fs[_0xa6c5[92]](_0xc87cx2b,function(_0xc87cx25){if(_0xc87cx25){return _0xc87cx10[_0xa6c5[103]](_0xc87cx2b)}else {return _0xc87cx10[_0xa6c5[28]](404)}});}else {if(_0xc87cx13[_0xa6c5[20]]===_0xa6c5[86]||_0xc87cx13[_0xa6c5[104]]===_0xa6c5[105]||_0xc87cx13[_0xa6c5[20]]===_0xa6c5[106]){var _0xc87cx2b=path[_0xa6c5[36]](config[_0xa6c5[34]],_0xa6c5[57],_0xa6c5[58],_0xa6c5[59],_0xa6c5[60],_0xa6c5[61],_0xc87cx13[_0xa6c5[100]]);fs[_0xa6c5[92]](_0xc87cx2b,function(_0xc87cx25){if(_0xc87cx25){return _0xc87cx10[_0xa6c5[103]](_0xc87cx2b)}else {return _0xc87cx10[_0xa6c5[28]](404)}});}}}else {_0xc87cx10[_0xa6c5[28]](404)};})[_0xa6c5[18]](function(_0xc87cx11){return handleError(_0xc87cx10,_0xc87cx11)})};function handleError(_0xc87cx10,_0xc87cx11){return _0xc87cx10[_0xa6c5[20]](500)[_0xa6c5[19]](_0xc87cx11)}
\ No newline at end of file
index d9c283cdd227d4211a16c01145ccf43411231cc3..5c48042e3d03ea95c2d5cdfbcac16beb83977557 100644 (file)
@@ -1 +1 @@
-var _0x2d14=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x46\x61\x78\x4D\x65\x73\x73\x61\x67\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x6F\x6E\x74\x61\x63\x74","\x46\x61\x78\x52\x6F\x6F\x6D","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74","\x72\x65\x67\x69\x73\x74\x65\x72","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x69\x64","\x46\x72\x6F\x6D","\x54\x6F","\x66\x69\x6E\x64\x4F\x6E\x65","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65\x3A\x75\x70\x64\x61\x74\x65","\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0x2d14[0];var FaxMessage=require(_0x2d14[2])[_0x2d14[1]];var Contact=require(_0x2d14[2])[_0x2d14[3]];var FaxRoom=require(_0x2d14[2])[_0x2d14[4]];var FaxAccount=require(_0x2d14[2])[_0x2d14[5]];exports[_0x2d14[6]]=function(_0x6e1fx5){FaxMessage[_0x2d14[14]](function(_0x6e1fx6){FaxMessage[_0x2d14[13]]({where:{id:_0x6e1fx6[_0x2d14[10]]},include:[{model:Contact,as:_0x2d14[11]},{model:Contact,as:_0x2d14[12]},{model:FaxRoom,include:[{model:FaxAccount}]}]})[_0x2d14[9]](function(_0x6e1fx8){onSave(_0x6e1fx5,_0x6e1fx8)})[_0x2d14[8]](function(_0x6e1fx7){console[_0x2d14[7]](_0x6e1fx7)})});FaxMessage[_0x2d14[15]](function(_0x6e1fx6){FaxMessage[_0x2d14[13]]({where:{id:_0x6e1fx6[_0x2d14[10]]},include:[{model:Contact,as:_0x2d14[11]},{model:Contact,as:_0x2d14[12]},{model:FaxRoom,include:[{model:FaxAccount}]}]})[_0x2d14[9]](function(_0x6e1fx8){onSave(_0x6e1fx5,_0x6e1fx8);onUpdate(_0x6e1fx5,_0x6e1fx8);})[_0x2d14[8]](function(_0x6e1fx7){console[_0x2d14[7]](_0x6e1fx7)})});FaxMessage[_0x2d14[16]](function(_0x6e1fx6){onRemove(_0x6e1fx5,_0x6e1fx6)});};function onSave(_0x6e1fx5,_0x6e1fx6,_0x6e1fxa){_0x6e1fx5[_0x2d14[18]](_0x2d14[17],_0x6e1fx6)}function onUpdate(_0x6e1fx5,_0x6e1fx6,_0x6e1fxa){_0x6e1fx5[_0x2d14[18]](_0x2d14[19],_0x6e1fx6)}function onRemove(_0x6e1fx5,_0x6e1fx6,_0x6e1fxa){_0x6e1fx5[_0x2d14[18]](_0x2d14[20],_0x6e1fx6)}
\ No newline at end of file
+var _0xe77d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x46\x61\x78\x4D\x65\x73\x73\x61\x67\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x6F\x6E\x74\x61\x63\x74","\x46\x61\x78\x52\x6F\x6F\x6D","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74","\x72\x65\x67\x69\x73\x74\x65\x72","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x69\x64","\x46\x72\x6F\x6D","\x54\x6F","\x66\x69\x6E\x64\x4F\x6E\x65","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65\x3A\x75\x70\x64\x61\x74\x65","\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0xe77d[0];var FaxMessage=require(_0xe77d[2])[_0xe77d[1]];var Contact=require(_0xe77d[2])[_0xe77d[3]];var FaxRoom=require(_0xe77d[2])[_0xe77d[4]];var FaxAccount=require(_0xe77d[2])[_0xe77d[5]];exports[_0xe77d[6]]=function(_0xf272x5){FaxMessage[_0xe77d[14]](function(_0xf272x6){FaxMessage[_0xe77d[13]]({where:{id:_0xf272x6[_0xe77d[10]]},include:[{model:Contact,as:_0xe77d[11]},{model:Contact,as:_0xe77d[12]},{model:FaxRoom,include:[{model:FaxAccount}]}]})[_0xe77d[9]](function(_0xf272x8){onSave(_0xf272x5,_0xf272x8)})[_0xe77d[8]](function(_0xf272x7){console[_0xe77d[7]](_0xf272x7)})});FaxMessage[_0xe77d[15]](function(_0xf272x6){FaxMessage[_0xe77d[13]]({where:{id:_0xf272x6[_0xe77d[10]]},include:[{model:Contact,as:_0xe77d[11]},{model:Contact,as:_0xe77d[12]},{model:FaxRoom,include:[{model:FaxAccount}]}]})[_0xe77d[9]](function(_0xf272x8){onSave(_0xf272x5,_0xf272x8);onUpdate(_0xf272x5,_0xf272x8);})[_0xe77d[8]](function(_0xf272x7){console[_0xe77d[7]](_0xf272x7)})});FaxMessage[_0xe77d[16]](function(_0xf272x6){onRemove(_0xf272x5,_0xf272x6)});};function onSave(_0xf272x5,_0xf272x6,_0xf272xa){_0xf272x5[_0xe77d[18]](_0xe77d[17],_0xf272x6)}function onUpdate(_0xf272x5,_0xf272x6,_0xf272xa){_0xf272x5[_0xe77d[18]](_0xe77d[19],_0xf272x6)}function onRemove(_0xf272x5,_0xf272x6,_0xf272xa){_0xf272x5[_0xe77d[18]](_0xe77d[20],_0xf272x6)}
\ No newline at end of file
index 38d5937d76707515efc1d7f4dfd5e19c2d4854c0..e599a3056dae94dc70f0ab0e188ca5be85f45ad8 100644 (file)
@@ -1 +1 @@
-var _0x22e0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x6D\x65\x73\x73\x61\x67\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x6D\x65\x73\x73\x61\x67\x65\x73","\x67\x65\x74"];_0x22e0[0];var should=require(_0x22e0[1]);var app=require(_0x22e0[2]);var request=require(_0x22e0[3]);describe(_0x22e0[4],function(){it(_0x22e0[5],function(_0x1ccdx4){request(app)[_0x22e0[13]](_0x22e0[12])[_0x22e0[11]](200)[_0x22e0[11]](_0x22e0[10],/json/)[_0x22e0[9]](function(_0x1ccdx5,_0x1ccdx6){if(_0x1ccdx5){return _0x1ccdx4(_0x1ccdx5)};_0x1ccdx6[_0x22e0[8]][_0x22e0[1]][_0x22e0[7]][_0x22e0[6]](Array);_0x1ccdx4();})})});
\ No newline at end of file
+var _0xd833=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x6D\x65\x73\x73\x61\x67\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x6D\x65\x73\x73\x61\x67\x65\x73","\x67\x65\x74"];_0xd833[0];var should=require(_0xd833[1]);var app=require(_0xd833[2]);var request=require(_0xd833[3]);describe(_0xd833[4],function(){it(_0xd833[5],function(_0xce2ex4){request(app)[_0xd833[13]](_0xd833[12])[_0xd833[11]](200)[_0xd833[11]](_0xd833[10],/json/)[_0xd833[9]](function(_0xce2ex5,_0xce2ex6){if(_0xce2ex5){return _0xce2ex4(_0xce2ex5)};_0xce2ex6[_0xd833[8]][_0xd833[1]][_0xd833[7]][_0xd833[6]](Array);_0xce2ex4();})})});
\ No newline at end of file
index 34acd275ce7cce90040dcfb6b161b0c59359dcff..b4b3c08a80256efd84f376cada2bc6650f33e966 100644 (file)
@@ -1 +1 @@
-var _0x5e98=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64\x2F\x63\x6F\x6E\x74\x65\x6E\x74","\x67\x65\x74\x43\x6F\x6E\x74\x65\x6E\x74\x46\x72\x6F\x6D\x4D\x65\x73\x73\x61\x67\x65","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x5e98[0];var express=require(_0x5e98[1]);var controller=require(_0x5e98[2]);var router=express.Router();router[_0x5e98[5]](_0x5e98[3],controller[_0x5e98[4]]);router[_0x5e98[5]](_0x5e98[6],controller[_0x5e98[7]]);router[_0x5e98[5]](_0x5e98[8],controller[_0x5e98[9]]);router[_0x5e98[11]](_0x5e98[3],controller[_0x5e98[10]]);router[_0x5e98[13]](_0x5e98[8],controller[_0x5e98[12]]);router[_0x5e98[14]](_0x5e98[8],controller[_0x5e98[12]]);router[_0x5e98[16]](_0x5e98[8],controller[_0x5e98[15]]);module[_0x5e98[17]]=router;
\ No newline at end of file
+var _0x4da7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64\x2F\x63\x6F\x6E\x74\x65\x6E\x74","\x67\x65\x74\x43\x6F\x6E\x74\x65\x6E\x74\x46\x72\x6F\x6D\x4D\x65\x73\x73\x61\x67\x65","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x4da7[0];var express=require(_0x4da7[1]);var controller=require(_0x4da7[2]);var router=express.Router();router[_0x4da7[5]](_0x4da7[3],controller[_0x4da7[4]]);router[_0x4da7[5]](_0x4da7[6],controller[_0x4da7[7]]);router[_0x4da7[5]](_0x4da7[8],controller[_0x4da7[9]]);router[_0x4da7[11]](_0x4da7[3],controller[_0x4da7[10]]);router[_0x4da7[13]](_0x4da7[8],controller[_0x4da7[12]]);router[_0x4da7[14]](_0x4da7[8],controller[_0x4da7[12]]);router[_0x4da7[16]](_0x4da7[8],controller[_0x4da7[15]]);module[_0x4da7[17]]=router;
\ No newline at end of file
index 2e5d087b2ed2f8e93135a87affd559a0ad66839d..62809ada35f25bc3319aace5b4525f088aa6f1df 100644 (file)
@@ -1 +1 @@
-var _0xa7fb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x46\x61\x78\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x74\x69\x6D\x65\x6F\x75\x74","\x73\x74\x72\x61\x74\x65\x67\x79","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x61\x67\x65\x6E\x74\x73","\x61\x64\x64\x55\x73\x65\x72\x73","\x6E\x6F\x20\x66\x61\x78\x20\x71\x75\x65\x75\x65\x20\x66\x6F\x75\x6E\x64","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x72\x65\x6D\x6F\x76\x65\x55\x73\x65\x72\x73","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0xa7fb[0];var _=require(_0xa7fb[1]);var util=require(_0xa7fb[2]);var FaxQueue=require(_0xa7fb[4])[_0xa7fb[3]];exports[_0xa7fb[5]]=function(_0x14e9x4,_0x14e9x5){var _0x14e9x6=[_0xa7fb[6],_0xa7fb[7],_0xa7fb[8],_0xa7fb[9]];var _0x14e9x7=_0x14e9x4[_0xa7fb[11]][_0xa7fb[10]]?parseInt(_0x14e9x4[_0xa7fb[11]][_0xa7fb[10]],10):100;var _0x14e9x8=_0x14e9x4[_0xa7fb[11]][_0xa7fb[12]]?parseInt(_0x14e9x4[_0xa7fb[11]][_0xa7fb[12]],10):0;var _0x14e9x9={where:{},limit:_0x14e9x7,offset:_0x14e9x8*_0x14e9x7,include:[{all:true}]};_[_0xa7fb[26]](_0x14e9x4[_0xa7fb[11]],function(_0x14e9xa,_0x14e9xb){switch(_0x14e9xb){case _0xa7fb[10]:;case _0xa7fb[12]:break ;;case _0xa7fb[15]:_0x14e9x9[_0xa7fb[13]]=util[_0xa7fb[18]](_0xa7fb[14],_0x14e9x4[_0xa7fb[11]][_0xa7fb[15]],_0x14e9x4[_0xa7fb[11]][_0xa7fb[16]]||_0xa7fb[17])||null;break ;;case _0xa7fb[16]:break ;;case _0xa7fb[24]:_0x14e9x9[_0xa7fb[20]][_0xa7fb[19]]=[];_0x14e9x6[_0xa7fb[23]](function(_0x14e9xc){var _0x14e9xd={};_0x14e9xd[_0x14e9xc]={$like:_0xa7fb[21]+_0x14e9xa+_0xa7fb[21]};_0x14e9x9[_0xa7fb[20]][_0xa7fb[19]][_0xa7fb[22]](_0x14e9xd);});break ;;default:_0x14e9x9[_0xa7fb[20]][_0x14e9xb]={$like:{}};_0x14e9x9[_0xa7fb[20]][_0x14e9xb][_0xa7fb[25]]=_0xa7fb[21]+_0x14e9xa+_0xa7fb[21];;}});FaxQueue[_0xa7fb[40]](_0x14e9x9)[_0xa7fb[39]](function(_0x14e9xf){var _0x14e9x10=Math[_0xa7fb[29]](_0x14e9xf[_0xa7fb[28]]/_0x14e9x7);var _0x14e9x11=_0x14e9x10>(_0x14e9x9[_0xa7fb[30]]+1)?util[_0xa7fb[18]](_0xa7fb[31],_0x14e9x4[_0xa7fb[32]],_0x14e9x4[_0xa7fb[34]][_0xa7fb[33]],_0x14e9x4[_0xa7fb[35]],_0x14e9x8+1):null;var _0x14e9x12=_0x14e9x8>0?util[_0xa7fb[18]](_0xa7fb[31],_0x14e9x4[_0xa7fb[32]],_0x14e9x4[_0xa7fb[34]][_0xa7fb[33]],_0x14e9x4[_0xa7fb[35]],_0x14e9x8-1):null;_0x14e9x5[_0xa7fb[38]](200)[_0xa7fb[37]]({count:_0x14e9xf[_0xa7fb[28]],rows:_0x14e9xf[_0xa7fb[36]],next_page:_0x14e9x11,previous_page:_0x14e9x12,total_pages:_0x14e9x10});})[_0xa7fb[27]](function(_0x14e9xe){return handleError(_0x14e9x5,_0x14e9xe)});};exports[_0xa7fb[41]]=function(_0x14e9x4,_0x14e9x5){FaxQueue[_0xa7fb[45]](_0x14e9x4[_0xa7fb[44]][_0xa7fb[43]])[_0xa7fb[39]](function(_0x14e9x13){if(!_0x14e9x13){return _0x14e9x5[_0xa7fb[42]](404)};return _0x14e9x5[_0xa7fb[37]](_0x14e9x13);})[_0xa7fb[27]](function(_0x14e9xe){return handleError(_0x14e9x5,_0x14e9xe)})};exports[_0xa7fb[46]]=function(_0x14e9x4,_0x14e9x5){FaxQueue[_0xa7fb[46]](_0x14e9x4[_0xa7fb[47]])[_0xa7fb[39]](function(_0x14e9x13){return _0x14e9x5[_0xa7fb[38]](201)[_0xa7fb[37]](_0x14e9x13)})[_0xa7fb[27]](function(_0x14e9xe){return handleError(_0x14e9x5,_0x14e9xe)})};exports[_0xa7fb[48]]=function(_0x14e9x4,_0x14e9x5){if(_0x14e9x4[_0xa7fb[47]][_0xa7fb[43]]){delete _0x14e9x4[_0xa7fb[47]][_0xa7fb[43]]};FaxQueue[_0xa7fb[51]]({where:{id:_0x14e9x4[_0xa7fb[44]][_0xa7fb[43]]}})[_0xa7fb[39]](function(_0x14e9x13){if(!_0x14e9x13){return _0x14e9x5[_0xa7fb[42]](404)};var _0x14e9x14=_[_0xa7fb[49]](_0x14e9x13,_0x14e9x4[_0xa7fb[47]]);_0x14e9x14[_0xa7fb[50]]()[_0xa7fb[39]](function(){return _0x14e9x5[_0xa7fb[38]](200)[_0xa7fb[37]](_0x14e9x13)})[_0xa7fb[27]](function(_0x14e9xe){return handleError(_0x14e9x5,_0x14e9xe)});})[_0xa7fb[27]](function(_0x14e9xe){return handleError(_0x14e9x5,_0x14e9xe)});};exports[_0xa7fb[52]]=function(_0x14e9x4,_0x14e9x5){FaxQueue[_0xa7fb[51]]({where:{id:_0x14e9x4[_0xa7fb[44]][_0xa7fb[43]]}})[_0xa7fb[39]](function(_0x14e9x13){if(!_0x14e9x13){return _0x14e9x5[_0xa7fb[42]](404)};_0x14e9x13[_0xa7fb[52]]()[_0xa7fb[39]](function(){return _0x14e9x5[_0xa7fb[42]](204)})[_0xa7fb[27]](function(_0x14e9xe){return handleError(_0x14e9x5,_0x14e9xe)});})[_0xa7fb[27]](function(_0x14e9xe){return handleError(_0x14e9x5,_0x14e9xe)})};exports[_0xa7fb[53]]=function(_0x14e9x4,_0x14e9x5,_0x14e9x15){FaxQueue[_0xa7fb[45]](_0x14e9x4[_0xa7fb[44]][_0xa7fb[43]])[_0xa7fb[39]](function(_0x14e9x16){if(_0x14e9x16){_0x14e9x16[_0xa7fb[55]](_0x14e9x4[_0xa7fb[47]][_0xa7fb[54]])[_0xa7fb[39]](function(){return _0x14e9x5[_0xa7fb[42]](200)})[_0xa7fb[27]](function(_0x14e9xe){return _0x14e9x15(_0x14e9xe)})}else {return _0x14e9x15( new Error(_0xa7fb[56]))}})[_0xa7fb[27]](function(_0x14e9xe){return _0x14e9x15(_0x14e9xe)})};exports[_0xa7fb[57]]=function(_0x14e9x4,_0x14e9x5,_0x14e9x15){FaxQueue[_0xa7fb[45]](_0x14e9x4[_0xa7fb[44]][_0xa7fb[43]])[_0xa7fb[39]](function(_0x14e9x16){if(_0x14e9x16){_0x14e9x16[_0xa7fb[58]](_0x14e9x4[_0xa7fb[47]][_0xa7fb[54]])[_0xa7fb[39]](function(){return _0x14e9x5[_0xa7fb[42]](200)})[_0xa7fb[27]](function(_0x14e9xe){return _0x14e9x15(_0x14e9xe)})}else {return _0x14e9x15( new Error(_0xa7fb[56]))}})[_0xa7fb[27]](function(_0x14e9xe){return _0x14e9x15(_0x14e9xe)})};exports[_0xa7fb[59]]=function(_0x14e9x4,_0x14e9x5){FaxQueue[_0xa7fb[52]]({where:{id:_0x14e9x4[_0xa7fb[11]][_0xa7fb[43]]},individualHooks:true})[_0xa7fb[39]](function(){return _0x14e9x5[_0xa7fb[42]](204)})[_0xa7fb[27]](function(_0x14e9xe){return handleError(_0x14e9x5,_0x14e9xe)})};function handleError(_0x14e9x5,_0x14e9xe){return _0x14e9x5[_0xa7fb[38]](500)[_0xa7fb[37]](_0x14e9xe)}
\ No newline at end of file
+var _0x53a2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x46\x61\x78\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x74\x69\x6D\x65\x6F\x75\x74","\x73\x74\x72\x61\x74\x65\x67\x79","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x61\x67\x65\x6E\x74\x73","\x61\x64\x64\x55\x73\x65\x72\x73","\x6E\x6F\x20\x66\x61\x78\x20\x71\x75\x65\x75\x65\x20\x66\x6F\x75\x6E\x64","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x72\x65\x6D\x6F\x76\x65\x55\x73\x65\x72\x73","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0x53a2[0];var _=require(_0x53a2[1]);var util=require(_0x53a2[2]);var FaxQueue=require(_0x53a2[4])[_0x53a2[3]];exports[_0x53a2[5]]=function(_0x8cadx4,_0x8cadx5){var _0x8cadx6=[_0x53a2[6],_0x53a2[7],_0x53a2[8],_0x53a2[9]];var _0x8cadx7=_0x8cadx4[_0x53a2[11]][_0x53a2[10]]?parseInt(_0x8cadx4[_0x53a2[11]][_0x53a2[10]],10):100;var _0x8cadx8=_0x8cadx4[_0x53a2[11]][_0x53a2[12]]?parseInt(_0x8cadx4[_0x53a2[11]][_0x53a2[12]],10):0;var _0x8cadx9={where:{},limit:_0x8cadx7,offset:_0x8cadx8*_0x8cadx7,include:[{all:true}]};_[_0x53a2[26]](_0x8cadx4[_0x53a2[11]],function(_0x8cadxa,_0x8cadxb){switch(_0x8cadxb){case _0x53a2[10]:;case _0x53a2[12]:break ;;case _0x53a2[15]:_0x8cadx9[_0x53a2[13]]=util[_0x53a2[18]](_0x53a2[14],_0x8cadx4[_0x53a2[11]][_0x53a2[15]],_0x8cadx4[_0x53a2[11]][_0x53a2[16]]||_0x53a2[17])||null;break ;;case _0x53a2[16]:break ;;case _0x53a2[24]:_0x8cadx9[_0x53a2[20]][_0x53a2[19]]=[];_0x8cadx6[_0x53a2[23]](function(_0x8cadxc){var _0x8cadxd={};_0x8cadxd[_0x8cadxc]={$like:_0x53a2[21]+_0x8cadxa+_0x53a2[21]};_0x8cadx9[_0x53a2[20]][_0x53a2[19]][_0x53a2[22]](_0x8cadxd);});break ;;default:_0x8cadx9[_0x53a2[20]][_0x8cadxb]={$like:{}};_0x8cadx9[_0x53a2[20]][_0x8cadxb][_0x53a2[25]]=_0x53a2[21]+_0x8cadxa+_0x53a2[21];;}});FaxQueue[_0x53a2[40]](_0x8cadx9)[_0x53a2[39]](function(_0x8cadxf){var _0x8cadx10=Math[_0x53a2[29]](_0x8cadxf[_0x53a2[28]]/_0x8cadx7);var _0x8cadx11=_0x8cadx10>(_0x8cadx9[_0x53a2[30]]+1)?util[_0x53a2[18]](_0x53a2[31],_0x8cadx4[_0x53a2[32]],_0x8cadx4[_0x53a2[34]][_0x53a2[33]],_0x8cadx4[_0x53a2[35]],_0x8cadx8+1):null;var _0x8cadx12=_0x8cadx8>0?util[_0x53a2[18]](_0x53a2[31],_0x8cadx4[_0x53a2[32]],_0x8cadx4[_0x53a2[34]][_0x53a2[33]],_0x8cadx4[_0x53a2[35]],_0x8cadx8-1):null;_0x8cadx5[_0x53a2[38]](200)[_0x53a2[37]]({count:_0x8cadxf[_0x53a2[28]],rows:_0x8cadxf[_0x53a2[36]],next_page:_0x8cadx11,previous_page:_0x8cadx12,total_pages:_0x8cadx10});})[_0x53a2[27]](function(_0x8cadxe){return handleError(_0x8cadx5,_0x8cadxe)});};exports[_0x53a2[41]]=function(_0x8cadx4,_0x8cadx5){FaxQueue[_0x53a2[45]](_0x8cadx4[_0x53a2[44]][_0x53a2[43]])[_0x53a2[39]](function(_0x8cadx13){if(!_0x8cadx13){return _0x8cadx5[_0x53a2[42]](404)};return _0x8cadx5[_0x53a2[37]](_0x8cadx13);})[_0x53a2[27]](function(_0x8cadxe){return handleError(_0x8cadx5,_0x8cadxe)})};exports[_0x53a2[46]]=function(_0x8cadx4,_0x8cadx5){FaxQueue[_0x53a2[46]](_0x8cadx4[_0x53a2[47]])[_0x53a2[39]](function(_0x8cadx13){return _0x8cadx5[_0x53a2[38]](201)[_0x53a2[37]](_0x8cadx13)})[_0x53a2[27]](function(_0x8cadxe){return handleError(_0x8cadx5,_0x8cadxe)})};exports[_0x53a2[48]]=function(_0x8cadx4,_0x8cadx5){if(_0x8cadx4[_0x53a2[47]][_0x53a2[43]]){delete _0x8cadx4[_0x53a2[47]][_0x53a2[43]]};FaxQueue[_0x53a2[51]]({where:{id:_0x8cadx4[_0x53a2[44]][_0x53a2[43]]}})[_0x53a2[39]](function(_0x8cadx13){if(!_0x8cadx13){return _0x8cadx5[_0x53a2[42]](404)};var _0x8cadx14=_[_0x53a2[49]](_0x8cadx13,_0x8cadx4[_0x53a2[47]]);_0x8cadx14[_0x53a2[50]]()[_0x53a2[39]](function(){return _0x8cadx5[_0x53a2[38]](200)[_0x53a2[37]](_0x8cadx13)})[_0x53a2[27]](function(_0x8cadxe){return handleError(_0x8cadx5,_0x8cadxe)});})[_0x53a2[27]](function(_0x8cadxe){return handleError(_0x8cadx5,_0x8cadxe)});};exports[_0x53a2[52]]=function(_0x8cadx4,_0x8cadx5){FaxQueue[_0x53a2[51]]({where:{id:_0x8cadx4[_0x53a2[44]][_0x53a2[43]]}})[_0x53a2[39]](function(_0x8cadx13){if(!_0x8cadx13){return _0x8cadx5[_0x53a2[42]](404)};_0x8cadx13[_0x53a2[52]]()[_0x53a2[39]](function(){return _0x8cadx5[_0x53a2[42]](204)})[_0x53a2[27]](function(_0x8cadxe){return handleError(_0x8cadx5,_0x8cadxe)});})[_0x53a2[27]](function(_0x8cadxe){return handleError(_0x8cadx5,_0x8cadxe)})};exports[_0x53a2[53]]=function(_0x8cadx4,_0x8cadx5,_0x8cadx15){FaxQueue[_0x53a2[45]](_0x8cadx4[_0x53a2[44]][_0x53a2[43]])[_0x53a2[39]](function(_0x8cadx16){if(_0x8cadx16){_0x8cadx16[_0x53a2[55]](_0x8cadx4[_0x53a2[47]][_0x53a2[54]])[_0x53a2[39]](function(){return _0x8cadx5[_0x53a2[42]](200)})[_0x53a2[27]](function(_0x8cadxe){return _0x8cadx15(_0x8cadxe)})}else {return _0x8cadx15( new Error(_0x53a2[56]))}})[_0x53a2[27]](function(_0x8cadxe){return _0x8cadx15(_0x8cadxe)})};exports[_0x53a2[57]]=function(_0x8cadx4,_0x8cadx5,_0x8cadx15){FaxQueue[_0x53a2[45]](_0x8cadx4[_0x53a2[44]][_0x53a2[43]])[_0x53a2[39]](function(_0x8cadx16){if(_0x8cadx16){_0x8cadx16[_0x53a2[58]](_0x8cadx4[_0x53a2[47]][_0x53a2[54]])[_0x53a2[39]](function(){return _0x8cadx5[_0x53a2[42]](200)})[_0x53a2[27]](function(_0x8cadxe){return _0x8cadx15(_0x8cadxe)})}else {return _0x8cadx15( new Error(_0x53a2[56]))}})[_0x53a2[27]](function(_0x8cadxe){return _0x8cadx15(_0x8cadxe)})};exports[_0x53a2[59]]=function(_0x8cadx4,_0x8cadx5){FaxQueue[_0x53a2[52]]({where:{id:_0x8cadx4[_0x53a2[11]][_0x53a2[43]]},individualHooks:true})[_0x53a2[39]](function(){return _0x8cadx5[_0x53a2[42]](204)})[_0x53a2[27]](function(_0x8cadxe){return handleError(_0x8cadx5,_0x8cadxe)})};function handleError(_0x8cadx5,_0x8cadxe){return _0x8cadx5[_0x53a2[38]](500)[_0x53a2[37]](_0x8cadxe)}
\ No newline at end of file
index ebef697860eed7c12d3e5b6ac6e14f806f50b06f..fc9f5074fbdd1780fc370646061cff0cd8e39fa5 100644 (file)
@@ -1 +1 @@
-var _0x7939=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x46\x61\x78\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0x7939[0];var fax_queue=require(_0x7939[2])[_0x7939[1]];exports[_0x7939[3]]=function(_0xac25x2){fax_queue[_0x7939[4]](function(_0xac25x3){onSave(_0xac25x2,_0xac25x3)});fax_queue[_0x7939[5]](function(_0xac25x3){onRemove(_0xac25x2,_0xac25x3)});};function onSave(_0xac25x2,_0xac25x3,_0xac25x5){_0xac25x2[_0x7939[7]](_0x7939[6],_0xac25x3)}function onRemove(_0xac25x2,_0xac25x3,_0xac25x5){_0xac25x2[_0x7939[7]](_0x7939[8],_0xac25x3)}
\ No newline at end of file
+var _0xf3e8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x46\x61\x78\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0xf3e8[0];var fax_queue=require(_0xf3e8[2])[_0xf3e8[1]];exports[_0xf3e8[3]]=function(_0x5fe2x2){fax_queue[_0xf3e8[4]](function(_0x5fe2x3){onSave(_0x5fe2x2,_0x5fe2x3)});fax_queue[_0xf3e8[5]](function(_0x5fe2x3){onRemove(_0x5fe2x2,_0x5fe2x3)});};function onSave(_0x5fe2x2,_0x5fe2x3,_0x5fe2x5){_0x5fe2x2[_0xf3e8[7]](_0xf3e8[6],_0x5fe2x3)}function onRemove(_0x5fe2x2,_0x5fe2x3,_0x5fe2x5){_0x5fe2x2[_0xf3e8[7]](_0xf3e8[8],_0x5fe2x3)}
\ No newline at end of file
index 3b94d1daac7d7d24b71193d69dde167b651f8d1c..bbf72cb77031080ec98527670058359d0b93acaf 100644 (file)
@@ -1 +1 @@
-var _0x50b4=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x71\x75\x65\x75\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x71\x75\x65\x75\x65\x73","\x67\x65\x74"];_0x50b4[0];var should=require(_0x50b4[1]);var app=require(_0x50b4[2]);var request=require(_0x50b4[3]);describe(_0x50b4[4],function(){it(_0x50b4[5],function(_0xea4fx4){request(app)[_0x50b4[13]](_0x50b4[12])[_0x50b4[11]](200)[_0x50b4[11]](_0x50b4[10],/json/)[_0x50b4[9]](function(_0xea4fx5,_0xea4fx6){if(_0xea4fx5){return _0xea4fx4(_0xea4fx5)};_0xea4fx6[_0x50b4[8]][_0x50b4[1]][_0x50b4[7]][_0x50b4[6]](Array);_0xea4fx4();})})});
\ No newline at end of file
+var _0xe6f9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x71\x75\x65\x75\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x71\x75\x65\x75\x65\x73","\x67\x65\x74"];_0xe6f9[0];var should=require(_0xe6f9[1]);var app=require(_0xe6f9[2]);var request=require(_0xe6f9[3]);describe(_0xe6f9[4],function(){it(_0xe6f9[5],function(_0xc4e3x4){request(app)[_0xe6f9[13]](_0xe6f9[12])[_0xe6f9[11]](200)[_0xe6f9[11]](_0xe6f9[10],/json/)[_0xe6f9[9]](function(_0xc4e3x5,_0xc4e3x6){if(_0xc4e3x5){return _0xc4e3x4(_0xc4e3x5)};_0xc4e3x6[_0xe6f9[8]][_0xe6f9[1]][_0xe6f9[7]][_0xe6f9[6]](Array);_0xc4e3x4();})})});
\ No newline at end of file
index f91ceff72de69e17b7c533b790942103de63a717..5cfc4e1a4bbaa0d15f178e5e1bef8238224c8d06 100644 (file)
@@ -1 +1 @@
-var _0xd39b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x3A\x69\x64\x2F\x61\x67\x65\x6E\x74\x73","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xd39b[0];var express=require(_0xd39b[1]);var controller=require(_0xd39b[2]);var router=express.Router();router[_0xd39b[5]](_0xd39b[3],controller[_0xd39b[4]]);router[_0xd39b[5]](_0xd39b[6],controller[_0xd39b[7]]);router[_0xd39b[9]](_0xd39b[3],controller[_0xd39b[8]]);router[_0xd39b[9]](_0xd39b[10],controller[_0xd39b[11]]);router[_0xd39b[13]](_0xd39b[6],controller[_0xd39b[12]]);router[_0xd39b[13]](_0xd39b[10],controller[_0xd39b[14]]);router[_0xd39b[15]](_0xd39b[6],controller[_0xd39b[12]]);router[_0xd39b[17]](_0xd39b[3],controller[_0xd39b[16]]);router[_0xd39b[17]](_0xd39b[6],controller[_0xd39b[18]]);module[_0xd39b[19]]=router;
\ No newline at end of file
+var _0x43ec=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x3A\x69\x64\x2F\x61\x67\x65\x6E\x74\x73","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x43ec[0];var express=require(_0x43ec[1]);var controller=require(_0x43ec[2]);var router=express.Router();router[_0x43ec[5]](_0x43ec[3],controller[_0x43ec[4]]);router[_0x43ec[5]](_0x43ec[6],controller[_0x43ec[7]]);router[_0x43ec[9]](_0x43ec[3],controller[_0x43ec[8]]);router[_0x43ec[9]](_0x43ec[10],controller[_0x43ec[11]]);router[_0x43ec[13]](_0x43ec[6],controller[_0x43ec[12]]);router[_0x43ec[13]](_0x43ec[10],controller[_0x43ec[14]]);router[_0x43ec[15]](_0x43ec[6],controller[_0x43ec[12]]);router[_0x43ec[17]](_0x43ec[3],controller[_0x43ec[16]]);router[_0x43ec[17]](_0x43ec[6],controller[_0x43ec[18]]);module[_0x43ec[19]]=router;
\ No newline at end of file
index dab8f01c7961a547ad6e7a26c8b1e3a4514705cf..f3cb499c38323e9a42defa975adedb26efedfd6f 100644 (file)
@@ -1 +1 @@
-var _0x1445=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x46\x61\x78\x52\x6F\x6F\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74","\x46\x61\x78\x4D\x65\x73\x73\x61\x67\x65","\x43\x6F\x6E\x74\x61\x63\x74","\x55\x73\x65\x72","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x69\x64","\x66\x69\x6E\x64\x41\x6C\x6C","\x61\x67\x65\x6E\x74\x49\x6E\x64\x65\x78","\x70\x61\x72\x61\x6D\x73","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x46\x72\x6F\x6D","\x54\x6F","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x44\x45\x53\x43","\x66\x69\x6E\x64\x4F\x6E\x65","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x64\x65\x73\x74\x72\x6F\x79"];_0x1445[0];var _=require(_0x1445[1]);var FaxRoom=require(_0x1445[3])[_0x1445[2]];var FaxAccount=require(_0x1445[3])[_0x1445[4]];var FaxMessage=require(_0x1445[3])[_0x1445[5]];var Contact=require(_0x1445[3])[_0x1445[6]];var User=require(_0x1445[3])[_0x1445[7]];exports[_0x1445[8]]=function(_0x21fcx7,_0x21fcx8){FaxRoom[_0x1445[14]]({include:[{model:FaxMessage,attributes:[_0x1445[13]]},{model:FaxAccount},{model:User}]})[_0x1445[12]](function(_0x21fcxa){return _0x21fcx8[_0x1445[11]](200)[_0x1445[10]](_0x21fcxa)})[_0x1445[9]](function(_0x21fcx9){return handleError(_0x21fcx8,_0x21fcx9)})};exports[_0x1445[15]]=function(_0x21fcx7,_0x21fcx8,_0x21fcxb){FaxRoom[_0x1445[14]]({where:{UserId:_0x21fcx7[_0x1445[16]][_0x1445[13]]},include:[{model:FaxAccount},{model:User}]})[_0x1445[12]](function(_0x21fcxc){return _0x21fcx8[_0x1445[11]](200)[_0x1445[10]](_0x21fcxc)})[_0x1445[9]](function(_0x21fcx9){return _0x21fcxb(_0x21fcx9)})};exports[_0x1445[17]]=function(_0x21fcx7,_0x21fcx8){FaxRoom[_0x1445[23]]({where:{id:_0x21fcx7[_0x1445[16]][_0x1445[13]]},include:[{model:FaxMessage,include:[{model:FaxRoom,include:[{model:FaxAccount}]},{model:Contact,as:_0x1445[19]},{model:Contact,as:_0x1445[20]}]},{model:FaxAccount}],order:[[FaxMessage,_0x1445[21],_0x1445[22]]]})[_0x1445[12]](function(_0x21fcxd){if(!_0x21fcxd){return _0x21fcx8[_0x1445[18]](404)};return _0x21fcx8[_0x1445[10]](_0x21fcxd);})[_0x1445[9]](function(_0x21fcx9){return handleError(_0x21fcx8,_0x21fcx9)})};exports[_0x1445[24]]=function(_0x21fcx7,_0x21fcx8){FaxRoom[_0x1445[24]](_0x21fcx7[_0x1445[25]])[_0x1445[12]](function(_0x21fcxd){return _0x21fcx8[_0x1445[11]](201)[_0x1445[10]](_0x21fcxd)})[_0x1445[9]](function(_0x21fcx9){return handleError(_0x21fcx8,_0x21fcx9)})};exports[_0x1445[26]]=function(_0x21fcx7,_0x21fcx8){FaxRoom[_0x1445[29]](_0x21fcx7[_0x1445[16]][_0x1445[13]])[_0x1445[12]](function(_0x21fcxd){if(!_0x21fcxd){return _0x21fcx8[_0x1445[18]](404)};var _0x21fcxe=_[_0x1445[27]](_0x21fcxd,_0x21fcx7[_0x1445[25]]);_0x21fcxe[_0x1445[28]]()[_0x1445[12]](function(){return _0x21fcx8[_0x1445[11]](200)[_0x1445[10]](_0x21fcxd)})[_0x1445[9]](function(_0x21fcx9){return handleError(_0x21fcx8,_0x21fcx9)});})[_0x1445[9]](function(_0x21fcx9){return handleError(_0x21fcx8,_0x21fcx9)})};exports[_0x1445[30]]=function(_0x21fcx7,_0x21fcx8){FaxRoom[_0x1445[29]](_0x21fcx7[_0x1445[16]][_0x1445[13]])[_0x1445[12]](function(_0x21fcxd){if(!_0x21fcxd){return _0x21fcx8[_0x1445[18]](404)};_0x21fcxd[_0x1445[30]]()[_0x1445[12]](function(){return _0x21fcx8[_0x1445[18]](204)})[_0x1445[9]](function(_0x21fcx9){return handleError(_0x21fcx8,_0x21fcx9)});})[_0x1445[9]](function(_0x21fcx9){return handleError(_0x21fcx8,_0x21fcx9)})};function handleError(_0x21fcx8,_0x21fcx9){return _0x21fcx8[_0x1445[11]](500)[_0x1445[10]](_0x21fcx9)}
\ No newline at end of file
+var _0x2757=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x46\x61\x78\x52\x6F\x6F\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74","\x46\x61\x78\x4D\x65\x73\x73\x61\x67\x65","\x43\x6F\x6E\x74\x61\x63\x74","\x55\x73\x65\x72","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x69\x64","\x66\x69\x6E\x64\x41\x6C\x6C","\x61\x67\x65\x6E\x74\x49\x6E\x64\x65\x78","\x70\x61\x72\x61\x6D\x73","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x46\x72\x6F\x6D","\x54\x6F","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x44\x45\x53\x43","\x66\x69\x6E\x64\x4F\x6E\x65","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x64\x65\x73\x74\x72\x6F\x79"];_0x2757[0];var _=require(_0x2757[1]);var FaxRoom=require(_0x2757[3])[_0x2757[2]];var FaxAccount=require(_0x2757[3])[_0x2757[4]];var FaxMessage=require(_0x2757[3])[_0x2757[5]];var Contact=require(_0x2757[3])[_0x2757[6]];var User=require(_0x2757[3])[_0x2757[7]];exports[_0x2757[8]]=function(_0x9890x7,_0x9890x8){FaxRoom[_0x2757[14]]({include:[{model:FaxMessage,attributes:[_0x2757[13]]},{model:FaxAccount},{model:User}]})[_0x2757[12]](function(_0x9890xa){return _0x9890x8[_0x2757[11]](200)[_0x2757[10]](_0x9890xa)})[_0x2757[9]](function(_0x9890x9){return handleError(_0x9890x8,_0x9890x9)})};exports[_0x2757[15]]=function(_0x9890x7,_0x9890x8,_0x9890xb){FaxRoom[_0x2757[14]]({where:{UserId:_0x9890x7[_0x2757[16]][_0x2757[13]]},include:[{model:FaxAccount},{model:User}]})[_0x2757[12]](function(_0x9890xc){return _0x9890x8[_0x2757[11]](200)[_0x2757[10]](_0x9890xc)})[_0x2757[9]](function(_0x9890x9){return _0x9890xb(_0x9890x9)})};exports[_0x2757[17]]=function(_0x9890x7,_0x9890x8){FaxRoom[_0x2757[23]]({where:{id:_0x9890x7[_0x2757[16]][_0x2757[13]]},include:[{model:FaxMessage,include:[{model:FaxRoom,include:[{model:FaxAccount}]},{model:Contact,as:_0x2757[19]},{model:Contact,as:_0x2757[20]}]},{model:FaxAccount}],order:[[FaxMessage,_0x2757[21],_0x2757[22]]]})[_0x2757[12]](function(_0x9890xd){if(!_0x9890xd){return _0x9890x8[_0x2757[18]](404)};return _0x9890x8[_0x2757[10]](_0x9890xd);})[_0x2757[9]](function(_0x9890x9){return handleError(_0x9890x8,_0x9890x9)})};exports[_0x2757[24]]=function(_0x9890x7,_0x9890x8){FaxRoom[_0x2757[24]](_0x9890x7[_0x2757[25]])[_0x2757[12]](function(_0x9890xd){return _0x9890x8[_0x2757[11]](201)[_0x2757[10]](_0x9890xd)})[_0x2757[9]](function(_0x9890x9){return handleError(_0x9890x8,_0x9890x9)})};exports[_0x2757[26]]=function(_0x9890x7,_0x9890x8){FaxRoom[_0x2757[29]](_0x9890x7[_0x2757[16]][_0x2757[13]])[_0x2757[12]](function(_0x9890xd){if(!_0x9890xd){return _0x9890x8[_0x2757[18]](404)};var _0x9890xe=_[_0x2757[27]](_0x9890xd,_0x9890x7[_0x2757[25]]);_0x9890xe[_0x2757[28]]()[_0x2757[12]](function(){return _0x9890x8[_0x2757[11]](200)[_0x2757[10]](_0x9890xd)})[_0x2757[9]](function(_0x9890x9){return handleError(_0x9890x8,_0x9890x9)});})[_0x2757[9]](function(_0x9890x9){return handleError(_0x9890x8,_0x9890x9)})};exports[_0x2757[30]]=function(_0x9890x7,_0x9890x8){FaxRoom[_0x2757[29]](_0x9890x7[_0x2757[16]][_0x2757[13]])[_0x2757[12]](function(_0x9890xd){if(!_0x9890xd){return _0x9890x8[_0x2757[18]](404)};_0x9890xd[_0x2757[30]]()[_0x2757[12]](function(){return _0x9890x8[_0x2757[18]](204)})[_0x2757[9]](function(_0x9890x9){return handleError(_0x9890x8,_0x9890x9)});})[_0x2757[9]](function(_0x9890x9){return handleError(_0x9890x8,_0x9890x9)})};function handleError(_0x9890x8,_0x9890x9){return _0x9890x8[_0x2757[11]](500)[_0x2757[10]](_0x9890x9)}
\ No newline at end of file
index 4338cbbe7a8c42b69d4bcec341f47f2e0b5bfc8c..caaa6dceec01583d75162cf53aaa8349ae15826a 100644 (file)
@@ -1 +1 @@
-var _0x7c69=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x46\x61\x78\x52\x6F\x6F\x6D","\x46\x61\x78\x51\x75\x65\x75\x65","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74","\x46\x61\x78\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x73\x74\x61\x74\x75\x73","\x4E\x45\x57","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x69\x64","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x46\x41\x58","\x66\x72\x6F\x6D","\x73\x61\x76\x65","\x66\x61\x78","\x63\x72\x65\x61\x74\x65","\x74\x68\x65\x6E","\x73\x74\x72\x61\x74\x65\x67\x79","\x74\x69\x6D\x65\x6F\x75\x74","\x70\x72\x69\x6F\x72\x69\x74\x79","\x67\x65\x74\x46\x61\x78\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x66\x69\x6E\x64\x42\x79\x49\x64"];_0x7c69[0];var User=require(_0x7c69[2])[_0x7c69[1]];var FaxRoom=require(_0x7c69[2])[_0x7c69[3]];var FaxQueue=require(_0x7c69[2])[_0x7c69[4]];var FaxAccount=require(_0x7c69[2])[_0x7c69[5]];var FaxApplication=require(_0x7c69[2])[_0x7c69[6]];exports[_0x7c69[7]]=function(_0x30cax6){FaxRoom[_0x7c69[8]](function(_0x30cax7){onSave(_0x30cax6,_0x30cax7)})};function onSave(_0x30cax6,_0x30cax7,_0x30cax9){if(_0x30cax7[_0x7c69[9]]===_0x7c69[10]){FaxAccount[_0x7c69[25]](_0x30cax7.FaxAccountId)[_0x7c69[20]](function(_0x30caxb){_0x30caxb[_0x7c69[24]]({include:[{model:User,attributes:[_0x7c69[13]]},{model:FaxQueue,attributes:[_0x7c69[13],_0x7c69[21],_0x7c69[22]],include:{model:User,attributes:[_0x7c69[13]]}}],order:[[_0x7c69[23]]]})[_0x7c69[20]](function(_0x30caxc){var _0x30caxd={roomId:_0x30cax7[_0x7c69[13]],accountId:_0x30cax7[_0x7c69[14]],channel:_0x7c69[15],msg:{from:_0x30cax7[_0x7c69[16]]},applications:_0x30caxc};_0x30cax6[_0x7c69[19]](_0x7c69[18],_0x30caxd)[_0x7c69[17]]();})[_0x7c69[12]](function(_0x30caxa){console[_0x7c69[11]](_0x30caxa)})})[_0x7c69[12]](function(_0x30caxa){console[_0x7c69[11]](_0x30caxa)})}}
\ No newline at end of file
+var _0xc3c8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x46\x61\x78\x52\x6F\x6F\x6D","\x46\x61\x78\x51\x75\x65\x75\x65","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74","\x46\x61\x78\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x73\x74\x61\x74\x75\x73","\x4E\x45\x57","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x69\x64","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x46\x41\x58","\x66\x72\x6F\x6D","\x73\x61\x76\x65","\x66\x61\x78","\x63\x72\x65\x61\x74\x65","\x74\x68\x65\x6E","\x73\x74\x72\x61\x74\x65\x67\x79","\x74\x69\x6D\x65\x6F\x75\x74","\x70\x72\x69\x6F\x72\x69\x74\x79","\x67\x65\x74\x46\x61\x78\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x66\x69\x6E\x64\x42\x79\x49\x64"];_0xc3c8[0];var User=require(_0xc3c8[2])[_0xc3c8[1]];var FaxRoom=require(_0xc3c8[2])[_0xc3c8[3]];var FaxQueue=require(_0xc3c8[2])[_0xc3c8[4]];var FaxAccount=require(_0xc3c8[2])[_0xc3c8[5]];var FaxApplication=require(_0xc3c8[2])[_0xc3c8[6]];exports[_0xc3c8[7]]=function(_0x3c32x6){FaxRoom[_0xc3c8[8]](function(_0x3c32x7){onSave(_0x3c32x6,_0x3c32x7)})};function onSave(_0x3c32x6,_0x3c32x7,_0x3c32x9){if(_0x3c32x7[_0xc3c8[9]]===_0xc3c8[10]){FaxAccount[_0xc3c8[25]](_0x3c32x7.FaxAccountId)[_0xc3c8[20]](function(_0x3c32xb){_0x3c32xb[_0xc3c8[24]]({include:[{model:User,attributes:[_0xc3c8[13]]},{model:FaxQueue,attributes:[_0xc3c8[13],_0xc3c8[21],_0xc3c8[22]],include:{model:User,attributes:[_0xc3c8[13]]}}],order:[[_0xc3c8[23]]]})[_0xc3c8[20]](function(_0x3c32xc){var _0x3c32xd={roomId:_0x3c32x7[_0xc3c8[13]],accountId:_0x3c32x7[_0xc3c8[14]],channel:_0xc3c8[15],msg:{from:_0x3c32x7[_0xc3c8[16]]},applications:_0x3c32xc};_0x3c32x6[_0xc3c8[19]](_0xc3c8[18],_0x3c32xd)[_0xc3c8[17]]();})[_0xc3c8[12]](function(_0x3c32xa){console[_0xc3c8[11]](_0x3c32xa)})})[_0xc3c8[12]](function(_0x3c32xa){console[_0xc3c8[11]](_0x3c32xa)})}}
\ No newline at end of file
index 27c9b4b2ba6a422479cf5435869401132b1c2a0a..814eb82b8f7e5c4a1098f2bb84639e0744b8d835 100644 (file)
@@ -1 +1 @@
-var _0x40c0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x46\x61\x78\x52\x6F\x6F\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x3A\x72\x65\x6D\x6F\x76\x65"];_0x40c0[0];var fax_room=require(_0x40c0[2])[_0x40c0[1]];exports[_0x40c0[3]]=function(_0xb098x2){fax_room[_0x40c0[4]](function(_0xb098x3){onSave(_0xb098x2,_0xb098x3)});fax_room[_0x40c0[5]](function(_0xb098x3){onRemove(_0xb098x2,_0xb098x3)});};function onSave(_0xb098x2,_0xb098x3,_0xb098x5){_0xb098x2[_0x40c0[7]](_0x40c0[6],_0xb098x3)}function onRemove(_0xb098x2,_0xb098x3,_0xb098x5){_0xb098x2[_0x40c0[7]](_0x40c0[8],_0xb098x3)}
\ No newline at end of file
+var _0x7958=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x46\x61\x78\x52\x6F\x6F\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x3A\x72\x65\x6D\x6F\x76\x65"];_0x7958[0];var fax_room=require(_0x7958[2])[_0x7958[1]];exports[_0x7958[3]]=function(_0xe52ex2){fax_room[_0x7958[4]](function(_0xe52ex3){onSave(_0xe52ex2,_0xe52ex3)});fax_room[_0x7958[5]](function(_0xe52ex3){onRemove(_0xe52ex2,_0xe52ex3)});};function onSave(_0xe52ex2,_0xe52ex3,_0xe52ex5){_0xe52ex2[_0x7958[7]](_0x7958[6],_0xe52ex3)}function onRemove(_0xe52ex2,_0xe52ex3,_0xe52ex5){_0xe52ex2[_0x7958[7]](_0x7958[8],_0xe52ex3)}
\ No newline at end of file
index 72bf07cb04c3cb22a2dfc2680d0e92bf81720efd..7d3afce716fe3b00f23de7d76bfb349c1734041e 100644 (file)
@@ -1 +1 @@
-var _0x6fe1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x72\x6F\x6F\x6D\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x72\x6F\x6F\x6D\x73","\x67\x65\x74"];_0x6fe1[0];var should=require(_0x6fe1[1]);var app=require(_0x6fe1[2]);var request=require(_0x6fe1[3]);describe(_0x6fe1[4],function(){it(_0x6fe1[5],function(_0x2711x4){request(app)[_0x6fe1[13]](_0x6fe1[12])[_0x6fe1[11]](200)[_0x6fe1[11]](_0x6fe1[10],/json/)[_0x6fe1[9]](function(_0x2711x5,_0x2711x6){if(_0x2711x5){return _0x2711x4(_0x2711x5)};_0x2711x6[_0x6fe1[8]][_0x6fe1[1]][_0x6fe1[7]][_0x6fe1[6]](Array);_0x2711x4();})})});
\ No newline at end of file
+var _0xd60d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x72\x6F\x6F\x6D\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x72\x6F\x6F\x6D\x73","\x67\x65\x74"];_0xd60d[0];var should=require(_0xd60d[1]);var app=require(_0xd60d[2]);var request=require(_0xd60d[3]);describe(_0xd60d[4],function(){it(_0xd60d[5],function(_0xb835x4){request(app)[_0xd60d[13]](_0xd60d[12])[_0xd60d[11]](200)[_0xd60d[11]](_0xd60d[10],/json/)[_0xd60d[9]](function(_0xb835x5,_0xb835x6){if(_0xb835x5){return _0xb835x4(_0xb835x5)};_0xb835x6[_0xd60d[8]][_0xd60d[1]][_0xd60d[7]][_0xd60d[6]](Array);_0xb835x4();})})});
\ No newline at end of file
index c522e598f635c4783e94bd7bfddff343315c4dc0..6f2b2b3e2a2d2f20a5cf1ab27e4ea2cf03339dd9 100644 (file)
@@ -1 +1 @@
-var _0xde2e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x46\x61\x78","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x61\x67\x65\x6E\x74\x2F\x3A\x69\x64","\x61\x67\x65\x6E\x74\x49\x6E\x64\x65\x78","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xde2e[0];var express=require(_0xde2e[1]);var controller=require(_0xde2e[2]);var license=require(_0xde2e[3]);var router=express.Router();router[_0xde2e[8]](_0xde2e[4],license[_0xde2e[5]](),license[_0xde2e[6]](),controller[_0xde2e[7]]);router[_0xde2e[8]](_0xde2e[9],controller[_0xde2e[10]]);router[_0xde2e[8]](_0xde2e[11],controller[_0xde2e[12]]);router[_0xde2e[14]](_0xde2e[4],controller[_0xde2e[13]]);router[_0xde2e[16]](_0xde2e[11],controller[_0xde2e[15]]);router[_0xde2e[17]](_0xde2e[11],controller[_0xde2e[15]]);router[_0xde2e[19]](_0xde2e[11],controller[_0xde2e[18]]);module[_0xde2e[20]]=router;
\ No newline at end of file
+var _0x4c5a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x46\x61\x78","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x61\x67\x65\x6E\x74\x2F\x3A\x69\x64","\x61\x67\x65\x6E\x74\x49\x6E\x64\x65\x78","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x4c5a[0];var express=require(_0x4c5a[1]);var controller=require(_0x4c5a[2]);var license=require(_0x4c5a[3]);var router=express.Router();router[_0x4c5a[8]](_0x4c5a[4],license[_0x4c5a[5]](),license[_0x4c5a[6]](),controller[_0x4c5a[7]]);router[_0x4c5a[8]](_0x4c5a[9],controller[_0x4c5a[10]]);router[_0x4c5a[8]](_0x4c5a[11],controller[_0x4c5a[12]]);router[_0x4c5a[14]](_0x4c5a[4],controller[_0x4c5a[13]]);router[_0x4c5a[16]](_0x4c5a[11],controller[_0x4c5a[15]]);router[_0x4c5a[17]](_0x4c5a[11],controller[_0x4c5a[15]]);router[_0x4c5a[19]](_0x4c5a[11],controller[_0x4c5a[18]]);module[_0x4c5a[20]]=router;
\ No newline at end of file
index 5408847a546bbfaf63aabc14bbb926ef6dbfb38c..e4da00b5053e9bbad7971d7ceeb2f0c3b79d9085 100644 (file)
@@ -1 +1 @@
-var _0x99b9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x66\x72\x65\x73\x68\x64\x65\x73\x6B","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x72\x65\x6D\x6F\x74\x65\x55\x72\x69","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x61\x70\x69\x4B\x65\x79","\x70\x61\x72\x73\x65","\x72\x65\x71\x75\x69\x72\x65\x5F\x6C\x6F\x67\x69\x6E","\x6C\x69\x73\x74\x54\x69\x63\x6B\x65\x74\x73","\x61\x63\x63\x6F\x75\x6E\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x2F\x74\x69\x63\x6B\x65\x74\x5F\x66\x69\x65\x6C\x64\x73\x2E\x6A\x73\x6F\x6E","\x67\x65\x74"];_0x99b9[0];var _=require(_0x99b9[1]);var util=require(_0x99b9[2]);var _fd=require(_0x99b9[3]);var FreshdeskAccount=require(_0x99b9[5])[_0x99b9[4]];function handleError(_0x5bf0x6,_0x5bf0x7){_0x5bf0x7=_0x5bf0x7||500;return function(_0x5bf0x8){_0x5bf0x6[_0x99b9[7]](_0x5bf0x7)[_0x99b9[6]](_0x5bf0x8)};}function responseWithResult(_0x5bf0x6,_0x5bf0x7){_0x5bf0x7=_0x5bf0x7||200;return function(_0x5bf0xa){if(_0x5bf0xa){_0x5bf0x6[_0x99b9[7]](_0x5bf0x7)[_0x99b9[8]](_0x5bf0xa)}};}function handleEntityNotFound(_0x5bf0x6){return function(_0x5bf0xa){if(!_0x5bf0xa){_0x5bf0x6[_0x99b9[7]](404)[_0x99b9[9]]();return null;};return _0x5bf0xa;}}function saveUpdates(_0x5bf0xd){return function(_0x5bf0xa){return _0x5bf0xa[_0x99b9[11]](_0x5bf0xd)[_0x99b9[10]](function(_0x5bf0xe){return _0x5bf0xe})}}function removeEntity(_0x5bf0x6){return function(_0x5bf0xa){if(_0x5bf0xa){return _0x5bf0xa[_0x99b9[12]]()[_0x99b9[10]](function(){_0x5bf0x6[_0x99b9[7]](204)[_0x99b9[9]]()})}}}exports[_0x99b9[13]]=function(_0x5bf0x10,_0x5bf0x6){var _0x5bf0x11=[_0x99b9[14],_0x99b9[15],_0x99b9[16],_0x99b9[17]];var _0x5bf0x12=_0x5bf0x10[_0x99b9[19]][_0x99b9[18]]?parseInt(_0x5bf0x10[_0x99b9[19]][_0x99b9[18]],10):100;var _0x5bf0x13=_0x5bf0x10[_0x99b9[19]][_0x99b9[20]]?parseInt(_0x5bf0x10[_0x99b9[19]][_0x99b9[20]],10):0;var _0x5bf0x14={where:{},limit:_0x5bf0x12,offset:_0x5bf0x13*_0x5bf0x12};_[_0x99b9[34]](_0x5bf0x10[_0x99b9[19]],function(_0x5bf0x15,_0x5bf0x16){switch(_0x5bf0x16){case _0x99b9[18]:;case _0x99b9[20]:break ;;case _0x99b9[23]:_0x5bf0x14[_0x99b9[21]]=util[_0x99b9[26]](_0x99b9[22],_0x5bf0x10[_0x99b9[19]][_0x99b9[23]],_0x5bf0x10[_0x99b9[19]][_0x99b9[24]]||_0x99b9[25])||null;break ;;case _0x99b9[24]:break ;;case _0x99b9[32]:_0x5bf0x14[_0x99b9[28]][_0x99b9[27]]=[];_0x5bf0x11[_0x99b9[31]](function(_0x5bf0x17){var _0x5bf0x18={};_0x5bf0x18[_0x5bf0x17]={$like:_0x99b9[29]+_0x5bf0x15+_0x99b9[29]};_0x5bf0x14[_0x99b9[28]][_0x99b9[27]][_0x99b9[30]](_0x5bf0x18);});break ;;default:_0x5bf0x14[_0x99b9[28]][_0x5bf0x16]={$like:{}};_0x5bf0x14[_0x99b9[28]][_0x5bf0x16][_0x99b9[33]]=_0x99b9[29]+_0x5bf0x15+_0x99b9[29];;}});FreshdeskAccount[_0x99b9[46]](_0x5bf0x14)[_0x99b9[10]](function(_0x5bf0x19){var _0x5bf0x1a=Math[_0x99b9[38]](_0x5bf0x19[_0x99b9[37]]/_0x5bf0x12);var _0x5bf0x1b=_0x5bf0x1a>(_0x5bf0x14[_0x99b9[39]]+1)?util[_0x99b9[26]](_0x99b9[40],_0x5bf0x10[_0x99b9[41]],_0x5bf0x10[_0x99b9[43]][_0x99b9[42]],_0x5bf0x10[_0x99b9[44]],_0x5bf0x13+1):null;var _0x5bf0x1c=_0x5bf0x13>0?util[_0x99b9[26]](_0x99b9[40],_0x5bf0x10[_0x99b9[41]],_0x5bf0x10[_0x99b9[43]][_0x99b9[42]],_0x5bf0x10[_0x99b9[44]],_0x5bf0x13-1):null;return _0x5bf0x6[_0x99b9[7]](200)[_0x99b9[6]]({count:_0x5bf0x19[_0x99b9[37]],rows:_0x5bf0x19[_0x99b9[45]],next_page:_0x5bf0x1b,previous_page:_0x5bf0x1c,total_pages:_0x5bf0x1a});})[_0x99b9[36]](function(_0x5bf0x8){return _0x5bf0x6[_0x99b9[7]](500)[_0x99b9[6]]({error:_0x99b9[35]})});};exports[_0x99b9[47]]=function(_0x5bf0x10,_0x5bf0x6){FreshdeskAccount[_0x99b9[50]](_0x5bf0x10[_0x99b9[49]][_0x99b9[48]])[_0x99b9[10]](handleEntityNotFound(_0x5bf0x6))[_0x99b9[10]](responseWithResult(_0x5bf0x6))[_0x99b9[36]](handleError(_0x5bf0x6))};exports[_0x99b9[51]]=function(_0x5bf0x10,_0x5bf0x6){FreshdeskAccount[_0x99b9[51]](_0x5bf0x10[_0x99b9[52]])[_0x99b9[10]](responseWithResult(_0x5bf0x6,201))[_0x99b9[36]](handleError(_0x5bf0x6))};exports[_0x99b9[53]]=function(_0x5bf0x10,_0x5bf0x6){if(_0x5bf0x10[_0x99b9[52]][_0x99b9[48]]){delete _0x5bf0x10[_0x99b9[52]][_0x99b9[48]]};FreshdeskAccount[_0x99b9[50]](_0x5bf0x10[_0x99b9[49]][_0x99b9[48]])[_0x99b9[10]](handleEntityNotFound(_0x5bf0x6))[_0x99b9[10]](saveUpdates(_0x5bf0x10[_0x99b9[52]]))[_0x99b9[10]](responseWithResult(_0x5bf0x6))[_0x99b9[36]](handleError(_0x5bf0x6));};exports[_0x99b9[12]]=function(_0x5bf0x10,_0x5bf0x6){FreshdeskAccount[_0x99b9[50]](_0x5bf0x10[_0x99b9[49]][_0x99b9[48]])[_0x99b9[10]](handleEntityNotFound(_0x5bf0x6))[_0x99b9[10]](removeEntity(_0x5bf0x6))[_0x99b9[36]](handleError(_0x5bf0x6))};exports[_0x99b9[54]]=function(_0x5bf0x10,_0x5bf0x6){FreshdeskAccount[_0x99b9[12]]({where:{id:_0x5bf0x10[_0x99b9[19]][_0x99b9[48]]},individualHooks:true})[_0x99b9[10]](function(){return _0x5bf0x6[_0x99b9[55]](204)})[_0x99b9[36]](function(_0x5bf0x8){return handleError(_0x5bf0x6,_0x5bf0x8)})};exports[_0x99b9[56]]=function(_0x5bf0x10,_0x5bf0x6){FreshdeskAccount[_0x99b9[50]](_0x5bf0x10[_0x99b9[49]][_0x99b9[48]])[_0x99b9[10]](handleEntityNotFound(_0x5bf0x6))[_0x99b9[10]](function(_0x5bf0x1d){var _0x5bf0x1e= new _fd(_0x5bf0x1d[_0x99b9[17]],_0x5bf0x1d[_0x99b9[57]]);_0x5bf0x1e[_0x99b9[60]](function(_0x5bf0x8,_0x5bf0x1f,_0x5bf0x20){if(_0x5bf0x8){return _0x5bf0x6[_0x99b9[55]](400)};_0x5bf0x20=JSON[_0x99b9[58]](_0x5bf0x20);if(_0x5bf0x20[_0x99b9[59]]){return _0x5bf0x6[_0x99b9[55]](400)};return _0x5bf0x6[_0x99b9[55]](200);});})[_0x99b9[36]](handleError(_0x5bf0x6))};exports[_0x99b9[61]]=function(_0x5bf0x10,_0x5bf0x6){var _0x5bf0x21={};_0x5bf0x21[_0x5bf0x10[_0x99b9[49]][_0x99b9[62]]]=_0x5bf0x10[_0x99b9[52]][_0x99b9[63]];FreshdeskAccount[_0x99b9[46]]({where:_0x5bf0x21})[_0x99b9[10]](function(_0x5bf0x19){if(_0x5bf0x19[_0x99b9[37]]){return _0x5bf0x6[_0x99b9[7]](200)[_0x99b9[6]]({isValid:false,value:_0x5bf0x10[_0x99b9[52]][_0x99b9[63]]})};return _0x5bf0x6[_0x99b9[7]](200)[_0x99b9[6]]({isValid:true,value:_0x5bf0x10[_0x99b9[52]][_0x99b9[63]]});})[_0x99b9[36]](function(_0x5bf0x8){return handleError(_0x5bf0x6,_0x5bf0x8)});};exports[_0x99b9[64]]=function(_0x5bf0x10,_0x5bf0x6,_0x5bf0x22){FreshdeskAccount[_0x99b9[50]](_0x5bf0x10[_0x99b9[49]][_0x99b9[48]])[_0x99b9[10]](handleEntityNotFound(_0x5bf0x6))[_0x99b9[10]](function(_0x5bf0x1d){var _0x5bf0x23= new _fd(_0x5bf0x1d[_0x99b9[17]],_0x5bf0x1d[_0x99b9[57]]);_0x5bf0x23[_0x99b9[66]](_0x99b9[65],function(_0x5bf0x8,_0x5bf0x1f,_0x5bf0x20){if(_0x5bf0x8){return _0x5bf0x22(_0x5bf0x8)};_0x5bf0x20=JSON[_0x99b9[58]](_0x5bf0x20);return _0x5bf0x6[_0x99b9[7]](200)[_0x99b9[6]](_0x5bf0x20);});})[_0x99b9[36]](handleError(_0x5bf0x6))};
\ No newline at end of file
+var _0x670f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x66\x72\x65\x73\x68\x64\x65\x73\x6B","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x72\x65\x6D\x6F\x74\x65\x55\x72\x69","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x61\x70\x69\x4B\x65\x79","\x70\x61\x72\x73\x65","\x72\x65\x71\x75\x69\x72\x65\x5F\x6C\x6F\x67\x69\x6E","\x6C\x69\x73\x74\x54\x69\x63\x6B\x65\x74\x73","\x61\x63\x63\x6F\x75\x6E\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x2F\x74\x69\x63\x6B\x65\x74\x5F\x66\x69\x65\x6C\x64\x73\x2E\x6A\x73\x6F\x6E","\x67\x65\x74"];_0x670f[0];var _=require(_0x670f[1]);var util=require(_0x670f[2]);var _fd=require(_0x670f[3]);var FreshdeskAccount=require(_0x670f[5])[_0x670f[4]];function handleError(_0xcc54x6,_0xcc54x7){_0xcc54x7=_0xcc54x7||500;return function(_0xcc54x8){_0xcc54x6[_0x670f[7]](_0xcc54x7)[_0x670f[6]](_0xcc54x8)};}function responseWithResult(_0xcc54x6,_0xcc54x7){_0xcc54x7=_0xcc54x7||200;return function(_0xcc54xa){if(_0xcc54xa){_0xcc54x6[_0x670f[7]](_0xcc54x7)[_0x670f[8]](_0xcc54xa)}};}function handleEntityNotFound(_0xcc54x6){return function(_0xcc54xa){if(!_0xcc54xa){_0xcc54x6[_0x670f[7]](404)[_0x670f[9]]();return null;};return _0xcc54xa;}}function saveUpdates(_0xcc54xd){return function(_0xcc54xa){return _0xcc54xa[_0x670f[11]](_0xcc54xd)[_0x670f[10]](function(_0xcc54xe){return _0xcc54xe})}}function removeEntity(_0xcc54x6){return function(_0xcc54xa){if(_0xcc54xa){return _0xcc54xa[_0x670f[12]]()[_0x670f[10]](function(){_0xcc54x6[_0x670f[7]](204)[_0x670f[9]]()})}}}exports[_0x670f[13]]=function(_0xcc54x10,_0xcc54x6){var _0xcc54x11=[_0x670f[14],_0x670f[15],_0x670f[16],_0x670f[17]];var _0xcc54x12=_0xcc54x10[_0x670f[19]][_0x670f[18]]?parseInt(_0xcc54x10[_0x670f[19]][_0x670f[18]],10):100;var _0xcc54x13=_0xcc54x10[_0x670f[19]][_0x670f[20]]?parseInt(_0xcc54x10[_0x670f[19]][_0x670f[20]],10):0;var _0xcc54x14={where:{},limit:_0xcc54x12,offset:_0xcc54x13*_0xcc54x12};_[_0x670f[34]](_0xcc54x10[_0x670f[19]],function(_0xcc54x15,_0xcc54x16){switch(_0xcc54x16){case _0x670f[18]:;case _0x670f[20]:break ;;case _0x670f[23]:_0xcc54x14[_0x670f[21]]=util[_0x670f[26]](_0x670f[22],_0xcc54x10[_0x670f[19]][_0x670f[23]],_0xcc54x10[_0x670f[19]][_0x670f[24]]||_0x670f[25])||null;break ;;case _0x670f[24]:break ;;case _0x670f[32]:_0xcc54x14[_0x670f[28]][_0x670f[27]]=[];_0xcc54x11[_0x670f[31]](function(_0xcc54x17){var _0xcc54x18={};_0xcc54x18[_0xcc54x17]={$like:_0x670f[29]+_0xcc54x15+_0x670f[29]};_0xcc54x14[_0x670f[28]][_0x670f[27]][_0x670f[30]](_0xcc54x18);});break ;;default:_0xcc54x14[_0x670f[28]][_0xcc54x16]={$like:{}};_0xcc54x14[_0x670f[28]][_0xcc54x16][_0x670f[33]]=_0x670f[29]+_0xcc54x15+_0x670f[29];;}});FreshdeskAccount[_0x670f[46]](_0xcc54x14)[_0x670f[10]](function(_0xcc54x19){var _0xcc54x1a=Math[_0x670f[38]](_0xcc54x19[_0x670f[37]]/_0xcc54x12);var _0xcc54x1b=_0xcc54x1a>(_0xcc54x14[_0x670f[39]]+1)?util[_0x670f[26]](_0x670f[40],_0xcc54x10[_0x670f[41]],_0xcc54x10[_0x670f[43]][_0x670f[42]],_0xcc54x10[_0x670f[44]],_0xcc54x13+1):null;var _0xcc54x1c=_0xcc54x13>0?util[_0x670f[26]](_0x670f[40],_0xcc54x10[_0x670f[41]],_0xcc54x10[_0x670f[43]][_0x670f[42]],_0xcc54x10[_0x670f[44]],_0xcc54x13-1):null;return _0xcc54x6[_0x670f[7]](200)[_0x670f[6]]({count:_0xcc54x19[_0x670f[37]],rows:_0xcc54x19[_0x670f[45]],next_page:_0xcc54x1b,previous_page:_0xcc54x1c,total_pages:_0xcc54x1a});})[_0x670f[36]](function(_0xcc54x8){return _0xcc54x6[_0x670f[7]](500)[_0x670f[6]]({error:_0x670f[35]})});};exports[_0x670f[47]]=function(_0xcc54x10,_0xcc54x6){FreshdeskAccount[_0x670f[50]](_0xcc54x10[_0x670f[49]][_0x670f[48]])[_0x670f[10]](handleEntityNotFound(_0xcc54x6))[_0x670f[10]](responseWithResult(_0xcc54x6))[_0x670f[36]](handleError(_0xcc54x6))};exports[_0x670f[51]]=function(_0xcc54x10,_0xcc54x6){FreshdeskAccount[_0x670f[51]](_0xcc54x10[_0x670f[52]])[_0x670f[10]](responseWithResult(_0xcc54x6,201))[_0x670f[36]](handleError(_0xcc54x6))};exports[_0x670f[53]]=function(_0xcc54x10,_0xcc54x6){if(_0xcc54x10[_0x670f[52]][_0x670f[48]]){delete _0xcc54x10[_0x670f[52]][_0x670f[48]]};FreshdeskAccount[_0x670f[50]](_0xcc54x10[_0x670f[49]][_0x670f[48]])[_0x670f[10]](handleEntityNotFound(_0xcc54x6))[_0x670f[10]](saveUpdates(_0xcc54x10[_0x670f[52]]))[_0x670f[10]](responseWithResult(_0xcc54x6))[_0x670f[36]](handleError(_0xcc54x6));};exports[_0x670f[12]]=function(_0xcc54x10,_0xcc54x6){FreshdeskAccount[_0x670f[50]](_0xcc54x10[_0x670f[49]][_0x670f[48]])[_0x670f[10]](handleEntityNotFound(_0xcc54x6))[_0x670f[10]](removeEntity(_0xcc54x6))[_0x670f[36]](handleError(_0xcc54x6))};exports[_0x670f[54]]=function(_0xcc54x10,_0xcc54x6){FreshdeskAccount[_0x670f[12]]({where:{id:_0xcc54x10[_0x670f[19]][_0x670f[48]]},individualHooks:true})[_0x670f[10]](function(){return _0xcc54x6[_0x670f[55]](204)})[_0x670f[36]](function(_0xcc54x8){return handleError(_0xcc54x6,_0xcc54x8)})};exports[_0x670f[56]]=function(_0xcc54x10,_0xcc54x6){FreshdeskAccount[_0x670f[50]](_0xcc54x10[_0x670f[49]][_0x670f[48]])[_0x670f[10]](handleEntityNotFound(_0xcc54x6))[_0x670f[10]](function(_0xcc54x1d){var _0xcc54x1e= new _fd(_0xcc54x1d[_0x670f[17]],_0xcc54x1d[_0x670f[57]]);_0xcc54x1e[_0x670f[60]](function(_0xcc54x8,_0xcc54x1f,_0xcc54x20){if(_0xcc54x8){return _0xcc54x6[_0x670f[55]](400)};_0xcc54x20=JSON[_0x670f[58]](_0xcc54x20);if(_0xcc54x20[_0x670f[59]]){return _0xcc54x6[_0x670f[55]](400)};return _0xcc54x6[_0x670f[55]](200);});})[_0x670f[36]](handleError(_0xcc54x6))};exports[_0x670f[61]]=function(_0xcc54x10,_0xcc54x6){var _0xcc54x21={};_0xcc54x21[_0xcc54x10[_0x670f[49]][_0x670f[62]]]=_0xcc54x10[_0x670f[52]][_0x670f[63]];FreshdeskAccount[_0x670f[46]]({where:_0xcc54x21})[_0x670f[10]](function(_0xcc54x19){if(_0xcc54x19[_0x670f[37]]){return _0xcc54x6[_0x670f[7]](200)[_0x670f[6]]({isValid:false,value:_0xcc54x10[_0x670f[52]][_0x670f[63]]})};return _0xcc54x6[_0x670f[7]](200)[_0x670f[6]]({isValid:true,value:_0xcc54x10[_0x670f[52]][_0x670f[63]]});})[_0x670f[36]](function(_0xcc54x8){return handleError(_0xcc54x6,_0xcc54x8)});};exports[_0x670f[64]]=function(_0xcc54x10,_0xcc54x6,_0xcc54x22){FreshdeskAccount[_0x670f[50]](_0xcc54x10[_0x670f[49]][_0x670f[48]])[_0x670f[10]](handleEntityNotFound(_0xcc54x6))[_0x670f[10]](function(_0xcc54x1d){var _0xcc54x23= new _fd(_0xcc54x1d[_0x670f[17]],_0xcc54x1d[_0x670f[57]]);_0xcc54x23[_0x670f[66]](_0x670f[65],function(_0xcc54x8,_0xcc54x1f,_0xcc54x20){if(_0xcc54x8){return _0xcc54x22(_0xcc54x8)};_0xcc54x20=JSON[_0x670f[58]](_0xcc54x20);return _0xcc54x6[_0x670f[7]](200)[_0x670f[6]](_0xcc54x20);});})[_0x670f[36]](handleError(_0xcc54x6))};
\ No newline at end of file
index 5ccde11fba1985bf194adf278361be5a95926144..9d0ee926cbc11eda9723b1d24890eac69e0d78cc 100644 (file)
@@ -1 +1 @@
-var _0x91a7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0x91a7[0];var FreshdeskAccount=require(_0x91a7[2])[_0x91a7[1]];exports[_0x91a7[3]]=function(_0xe8dcx2){FreshdeskAccount[_0x91a7[4]](function(_0xe8dcx3){onSave(_0xe8dcx2,_0xe8dcx3)});FreshdeskAccount[_0x91a7[5]](function(_0xe8dcx3){onRemove(_0xe8dcx2,_0xe8dcx3)});};function onSave(_0xe8dcx2,_0xe8dcx3,_0xe8dcx5){_0xe8dcx2[_0x91a7[7]](_0x91a7[6],_0xe8dcx3)}function onRemove(_0xe8dcx2,_0xe8dcx3,_0xe8dcx5){_0xe8dcx2[_0x91a7[7]](_0x91a7[8],_0xe8dcx3)}
\ No newline at end of file
+var _0x55f4=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0x55f4[0];var FreshdeskAccount=require(_0x55f4[2])[_0x55f4[1]];exports[_0x55f4[3]]=function(_0x6e60x2){FreshdeskAccount[_0x55f4[4]](function(_0x6e60x3){onSave(_0x6e60x2,_0x6e60x3)});FreshdeskAccount[_0x55f4[5]](function(_0x6e60x3){onRemove(_0x6e60x2,_0x6e60x3)});};function onSave(_0x6e60x2,_0x6e60x3,_0x6e60x5){_0x6e60x2[_0x55f4[7]](_0x55f4[6],_0x6e60x3)}function onRemove(_0x6e60x2,_0x6e60x3,_0x6e60x5){_0x6e60x2[_0x55f4[7]](_0x55f4[8],_0x6e60x3)}
\ No newline at end of file
index 81a97fc5b0ef32df46fc9782d01b02f9b000d3e4..fa6a3f7b214456e30217040c7a366b979feec091 100644 (file)
@@ -1 +1 @@
-var _0xbd8c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x66\x69\x65\x6C\x64\x73","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x2F\x3A\x69\x64\x2F\x63\x68\x65\x63\x6B","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65\x2F\x3A\x66\x69\x65\x6C\x64","\x61\x63\x63\x6F\x75\x6E\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x70\x6F\x73\x74","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xbd8c[0];var express=require(_0xbd8c[1]);var auth=require(_0xbd8c[2]);var controller=require(_0xbd8c[3]);var router=express.Router();router[_0xbd8c[7]](_0xbd8c[4],auth[_0xbd8c[5]](),controller[_0xbd8c[6]]);router[_0xbd8c[7]](_0xbd8c[8],auth[_0xbd8c[5]](),controller[_0xbd8c[9]]);router[_0xbd8c[7]](_0xbd8c[10],auth[_0xbd8c[5]](),controller[_0xbd8c[11]]);router[_0xbd8c[7]](_0xbd8c[12],auth[_0xbd8c[5]](),controller[_0xbd8c[13]]);router[_0xbd8c[16]](_0xbd8c[14],auth[_0xbd8c[5]](),controller[_0xbd8c[15]]);router[_0xbd8c[16]](_0xbd8c[4],auth[_0xbd8c[5]](),controller[_0xbd8c[17]]);router[_0xbd8c[19]](_0xbd8c[8],auth[_0xbd8c[5]](),controller[_0xbd8c[18]]);router[_0xbd8c[20]](_0xbd8c[8],auth[_0xbd8c[5]](),controller[_0xbd8c[18]]);router[_0xbd8c[22]](_0xbd8c[4],auth[_0xbd8c[5]](),controller[_0xbd8c[21]]);router[_0xbd8c[22]](_0xbd8c[8],auth[_0xbd8c[5]](),controller[_0xbd8c[23]]);module[_0xbd8c[24]]=router;
\ No newline at end of file
+var _0xa0c9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x66\x69\x65\x6C\x64\x73","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x2F\x3A\x69\x64\x2F\x63\x68\x65\x63\x6B","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65\x2F\x3A\x66\x69\x65\x6C\x64","\x61\x63\x63\x6F\x75\x6E\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x70\x6F\x73\x74","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xa0c9[0];var express=require(_0xa0c9[1]);var auth=require(_0xa0c9[2]);var controller=require(_0xa0c9[3]);var router=express.Router();router[_0xa0c9[7]](_0xa0c9[4],auth[_0xa0c9[5]](),controller[_0xa0c9[6]]);router[_0xa0c9[7]](_0xa0c9[8],auth[_0xa0c9[5]](),controller[_0xa0c9[9]]);router[_0xa0c9[7]](_0xa0c9[10],auth[_0xa0c9[5]](),controller[_0xa0c9[11]]);router[_0xa0c9[7]](_0xa0c9[12],auth[_0xa0c9[5]](),controller[_0xa0c9[13]]);router[_0xa0c9[16]](_0xa0c9[14],auth[_0xa0c9[5]](),controller[_0xa0c9[15]]);router[_0xa0c9[16]](_0xa0c9[4],auth[_0xa0c9[5]](),controller[_0xa0c9[17]]);router[_0xa0c9[19]](_0xa0c9[8],auth[_0xa0c9[5]](),controller[_0xa0c9[18]]);router[_0xa0c9[20]](_0xa0c9[8],auth[_0xa0c9[5]](),controller[_0xa0c9[18]]);router[_0xa0c9[22]](_0xa0c9[4],auth[_0xa0c9[5]](),controller[_0xa0c9[21]]);router[_0xa0c9[22]](_0xa0c9[8],auth[_0xa0c9[5]](),controller[_0xa0c9[23]]);module[_0xa0c9[24]]=router;
\ No newline at end of file
index d4d9c89c23ae3e70b575113510046b30f5a220fb..ec55bf3b3dfe90979d48fbfc921668190e49edd3 100644 (file)
@@ -1 +1 @@
-var _0xabd7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6E\x6F\x50\x72\x65\x73\x65\x72\x76\x65\x43\x61\x63\x68\x65","\x70\x72\x6F\x78\x79\x71\x75\x69\x72\x65","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x69\x6E\x64\x65\x78","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x73\x68\x6F\x77","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x63\x72\x65\x61\x74\x65","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x75\x70\x64\x61\x74\x65","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x64\x65\x73\x74\x72\x6F\x79","\x73\x70\x79","\x2E\x2F\x69\x6E\x64\x65\x78\x2E\x6A\x73","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74\x20\x41\x50\x49\x20\x52\x6F\x75\x74\x65\x72\x3A","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x74\x75\x72\x6E\x20\x61\x6E\x20\x65\x78\x70\x72\x65\x73\x73\x20\x72\x6F\x75\x74\x65\x72\x20\x69\x6E\x73\x74\x61\x6E\x63\x65","\x65\x71\x75\x61\x6C","\x74\x6F","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x69\x6E\x64\x65\x78","\x63\x61\x6C\x6C\x65\x64\x4F\x6E\x63\x65","\x62\x65\x65\x6E","\x68\x61\x76\x65","\x2F","\x77\x69\x74\x68\x41\x72\x67\x73","\x67\x65\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x73\x68\x6F\x77","\x2F\x3A\x69\x64","\x50\x4F\x53\x54\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x50\x55\x54\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x50\x41\x54\x43\x48\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x3A\x69\x64","\x70\x61\x74\x63\x68","\x44\x45\x4C\x45\x54\x45\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65"];_0xabd7[0];var proxyquire=require(_0xabd7[2])[_0xabd7[1]]();var freshdeskAccountCtrlStub={index:_0xabd7[3],show:_0xabd7[4],create:_0xabd7[5],update:_0xabd7[6],destroy:_0xabd7[7]};var routerStub={get:sinon[_0xabd7[8]](),put:sinon[_0xabd7[8]](),patch:sinon[_0xabd7[8]](),post:sinon[_0xabd7[8]](),delete:sinon[_0xabd7[8]]()};var freshdeskAccountIndex=proxyquire(_0xabd7[9],{"\x65\x78\x70\x72\x65\x73\x73":{Router:function(){return routerStub}},"\x2E\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72":freshdeskAccountCtrlStub});describe(_0xabd7[10],function(){it(_0xabd7[11],function(){expect(freshdeskAccountIndex)[_0xabd7[13]][_0xabd7[12]](routerStub)});describe(_0xabd7[14],function(){it(_0xabd7[15],function(){expect(routerStub[_0xabd7[21]][_0xabd7[20]](_0xabd7[19],_0xabd7[3]))[_0xabd7[13]][_0xabd7[18]][_0xabd7[17]][_0xabd7[16]]})});describe(_0xabd7[22],function(){it(_0xabd7[23],function(){expect(routerStub[_0xabd7[21]][_0xabd7[20]](_0xabd7[24],_0xabd7[4]))[_0xabd7[13]][_0xabd7[18]][_0xabd7[17]][_0xabd7[16]]})});describe(_0xabd7[25],function(){it(_0xabd7[26],function(){expect(routerStub[_0xabd7[27]][_0xabd7[20]](_0xabd7[19],_0xabd7[5]))[_0xabd7[13]][_0xabd7[18]][_0xabd7[17]][_0xabd7[16]]})});describe(_0xabd7[28],function(){it(_0xabd7[29],function(){expect(routerStub[_0xabd7[30]][_0xabd7[20]](_0xabd7[24],_0xabd7[6]))[_0xabd7[13]][_0xabd7[18]][_0xabd7[17]][_0xabd7[16]]})});describe(_0xabd7[31],function(){it(_0xabd7[29],function(){expect(routerStub[_0xabd7[32]][_0xabd7[20]](_0xabd7[24],_0xabd7[6]))[_0xabd7[13]][_0xabd7[18]][_0xabd7[17]][_0xabd7[16]]})});describe(_0xabd7[33],function(){it(_0xabd7[34],function(){expect(routerStub[_0xabd7[35]][_0xabd7[20]](_0xabd7[24],_0xabd7[7]))[_0xabd7[13]][_0xabd7[18]][_0xabd7[17]][_0xabd7[16]]})});});
\ No newline at end of file
+var _0x28ff=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6E\x6F\x50\x72\x65\x73\x65\x72\x76\x65\x43\x61\x63\x68\x65","\x70\x72\x6F\x78\x79\x71\x75\x69\x72\x65","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x69\x6E\x64\x65\x78","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x73\x68\x6F\x77","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x63\x72\x65\x61\x74\x65","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x75\x70\x64\x61\x74\x65","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x64\x65\x73\x74\x72\x6F\x79","\x73\x70\x79","\x2E\x2F\x69\x6E\x64\x65\x78\x2E\x6A\x73","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74\x20\x41\x50\x49\x20\x52\x6F\x75\x74\x65\x72\x3A","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x74\x75\x72\x6E\x20\x61\x6E\x20\x65\x78\x70\x72\x65\x73\x73\x20\x72\x6F\x75\x74\x65\x72\x20\x69\x6E\x73\x74\x61\x6E\x63\x65","\x65\x71\x75\x61\x6C","\x74\x6F","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x69\x6E\x64\x65\x78","\x63\x61\x6C\x6C\x65\x64\x4F\x6E\x63\x65","\x62\x65\x65\x6E","\x68\x61\x76\x65","\x2F","\x77\x69\x74\x68\x41\x72\x67\x73","\x67\x65\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x73\x68\x6F\x77","\x2F\x3A\x69\x64","\x50\x4F\x53\x54\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x50\x55\x54\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x50\x41\x54\x43\x48\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x3A\x69\x64","\x70\x61\x74\x63\x68","\x44\x45\x4C\x45\x54\x45\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65"];_0x28ff[0];var proxyquire=require(_0x28ff[2])[_0x28ff[1]]();var freshdeskAccountCtrlStub={index:_0x28ff[3],show:_0x28ff[4],create:_0x28ff[5],update:_0x28ff[6],destroy:_0x28ff[7]};var routerStub={get:sinon[_0x28ff[8]](),put:sinon[_0x28ff[8]](),patch:sinon[_0x28ff[8]](),post:sinon[_0x28ff[8]](),delete:sinon[_0x28ff[8]]()};var freshdeskAccountIndex=proxyquire(_0x28ff[9],{"\x65\x78\x70\x72\x65\x73\x73":{Router:function(){return routerStub}},"\x2E\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72":freshdeskAccountCtrlStub});describe(_0x28ff[10],function(){it(_0x28ff[11],function(){expect(freshdeskAccountIndex)[_0x28ff[13]][_0x28ff[12]](routerStub)});describe(_0x28ff[14],function(){it(_0x28ff[15],function(){expect(routerStub[_0x28ff[21]][_0x28ff[20]](_0x28ff[19],_0x28ff[3]))[_0x28ff[13]][_0x28ff[18]][_0x28ff[17]][_0x28ff[16]]})});describe(_0x28ff[22],function(){it(_0x28ff[23],function(){expect(routerStub[_0x28ff[21]][_0x28ff[20]](_0x28ff[24],_0x28ff[4]))[_0x28ff[13]][_0x28ff[18]][_0x28ff[17]][_0x28ff[16]]})});describe(_0x28ff[25],function(){it(_0x28ff[26],function(){expect(routerStub[_0x28ff[27]][_0x28ff[20]](_0x28ff[19],_0x28ff[5]))[_0x28ff[13]][_0x28ff[18]][_0x28ff[17]][_0x28ff[16]]})});describe(_0x28ff[28],function(){it(_0x28ff[29],function(){expect(routerStub[_0x28ff[30]][_0x28ff[20]](_0x28ff[24],_0x28ff[6]))[_0x28ff[13]][_0x28ff[18]][_0x28ff[17]][_0x28ff[16]]})});describe(_0x28ff[31],function(){it(_0x28ff[29],function(){expect(routerStub[_0x28ff[32]][_0x28ff[20]](_0x28ff[24],_0x28ff[6]))[_0x28ff[13]][_0x28ff[18]][_0x28ff[17]][_0x28ff[16]]})});describe(_0x28ff[33],function(){it(_0x28ff[34],function(){expect(routerStub[_0x28ff[35]][_0x28ff[20]](_0x28ff[24],_0x28ff[7]))[_0x28ff[13]][_0x28ff[18]][_0x28ff[17]][_0x28ff[16]]})});});
\ No newline at end of file
index dae41bb3ee633fb2cd1e6c5ad4f04b5f71a45b60..27a67ee630498ba76372bd6f46d789a8a996db00 100644 (file)
@@ -1 +1 @@
-var _0x354f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x53\x75\x62\x6A\x65\x63\x74","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x46\x69\x65\x6C\x64","\x66\x69\x6E\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x73\x70\x72\x65\x61\x64","\x61\x64\x64\x53\x75\x62\x6A\x65\x63\x74","\x73\x75\x62\x6A\x65\x63\x74","\x61\x64\x64\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x61\x64\x64\x46\x69\x65\x6C\x64","\x66\x69\x65\x6C\x64","\x74\x79\x70\x65"];_0x354f[0];var _=require(_0x354f[1]);var FreshdeskConfiguration=require(_0x354f[3])[_0x354f[2]];var FreshdeskField=require(_0x354f[3])[_0x354f[4]];function handleError(_0xd127x5,_0xd127x6){_0xd127x6=_0xd127x6||500;return function(_0xd127x7){_0xd127x5[_0x354f[6]](_0xd127x6)[_0x354f[5]](_0xd127x7)};}function responseWithResult(_0xd127x5,_0xd127x6){_0xd127x6=_0xd127x6||200;return function(_0xd127x9){if(_0xd127x9){_0xd127x5[_0x354f[6]](_0xd127x6)[_0x354f[7]](_0xd127x9)}};}function handleEntityNotFound(_0xd127x5){return function(_0xd127x9){if(!_0xd127x9){_0xd127x5[_0x354f[6]](404)[_0x354f[8]]();return null;};return _0xd127x9;}}function saveUpdates(_0xd127xc){return function(_0xd127x9){return _0xd127x9[_0x354f[10]](_0xd127xc)[_0x354f[9]](function(_0xd127xd){return _0xd127xd})}}function removeEntity(_0xd127x5){return function(_0xd127x9){if(_0xd127x9){return _0xd127x9[_0x354f[11]]()[_0x354f[9]](function(){_0xd127x5[_0x354f[6]](204)[_0x354f[8]]()})}}}exports[_0x354f[12]]=function(_0xd127xf,_0xd127x5){FreshdeskConfiguration[_0x354f[15]]({where:_0xd127xf[_0x354f[14]]})[_0x354f[9]](responseWithResult(_0xd127x5))[_0x354f[13]](handleError(_0xd127x5))};exports[_0x354f[16]]=function(_0xd127xf,_0xd127x5){FreshdeskConfiguration[_0x354f[22]]({where:{id:_0xd127xf[_0x354f[18]][_0x354f[17]]},include:[{model:FreshdeskField,as:_0x354f[19]},{model:FreshdeskField,as:_0x354f[20]},{model:FreshdeskField,as:_0x354f[21]}]})[_0x354f[9]](handleEntityNotFound(_0xd127x5))[_0x354f[9]](responseWithResult(_0xd127x5))[_0x354f[13]](handleError(_0xd127x5))};exports[_0x354f[23]]=function(_0xd127xf,_0xd127x5){FreshdeskConfiguration[_0x354f[23]](_0xd127xf[_0x354f[24]])[_0x354f[9]](responseWithResult(_0xd127x5,201))[_0x354f[13]](handleError(_0xd127x5))};exports[_0x354f[25]]=function(_0xd127xf,_0xd127x5){if(_0xd127xf[_0x354f[24]][_0x354f[17]]){delete _0xd127xf[_0x354f[24]][_0x354f[17]]};FreshdeskConfiguration[_0x354f[26]](_0xd127xf[_0x354f[18]][_0x354f[17]])[_0x354f[9]](handleEntityNotFound(_0xd127x5))[_0x354f[9]](saveUpdates(_0xd127xf[_0x354f[24]]))[_0x354f[9]](responseWithResult(_0xd127x5))[_0x354f[13]](handleError(_0xd127x5));};exports[_0x354f[11]]=function(_0xd127xf,_0xd127x5){FreshdeskConfiguration[_0x354f[26]](_0xd127xf[_0x354f[18]][_0x354f[17]])[_0x354f[9]](handleEntityNotFound(_0xd127x5))[_0x354f[9]](removeEntity(_0xd127x5))[_0x354f[13]](handleError(_0xd127x5))};exports[_0x354f[27]]=function(_0xd127xf,_0xd127x5,_0xd127x10){var _0xd127x11;FreshdeskConfiguration[_0x354f[26]](_0xd127xf[_0x354f[18]][_0x354f[17]])[_0x354f[9]](handleEntityNotFound(_0xd127x5))[_0x354f[9]](function(_0xd127x14){_0xd127x11=_0xd127x14;return FreshdeskField[_0x354f[23]](_0xd127xf[_0x354f[24]]);})[_0x354f[9]](function(_0xd127x13){switch(_0xd127xf[_0x354f[18]][_0x354f[35]]){case _0x354f[30]:return [_0xd127x11[_0x354f[29]](_0xd127x13),_0xd127x13];;case _0x354f[32]:return [_0xd127x11[_0x354f[31]](_0xd127x13),_0xd127x13];;case _0x354f[34]:return [_0xd127x11[_0x354f[33]](_0xd127x13),_0xd127x13];;}})[_0x354f[28]](function(_0xd127x12,_0xd127x13){return _0xd127x5[_0x354f[6]](201)[_0x354f[7]](_0xd127x13)})[_0x354f[13]](handleError(_0xd127x5));};
\ No newline at end of file
+var _0xdc08=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x53\x75\x62\x6A\x65\x63\x74","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x46\x69\x65\x6C\x64","\x66\x69\x6E\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x73\x70\x72\x65\x61\x64","\x61\x64\x64\x53\x75\x62\x6A\x65\x63\x74","\x73\x75\x62\x6A\x65\x63\x74","\x61\x64\x64\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x61\x64\x64\x46\x69\x65\x6C\x64","\x66\x69\x65\x6C\x64","\x74\x79\x70\x65"];_0xdc08[0];var _=require(_0xdc08[1]);var FreshdeskConfiguration=require(_0xdc08[3])[_0xdc08[2]];var FreshdeskField=require(_0xdc08[3])[_0xdc08[4]];function handleError(_0xf1d7x5,_0xf1d7x6){_0xf1d7x6=_0xf1d7x6||500;return function(_0xf1d7x7){_0xf1d7x5[_0xdc08[6]](_0xf1d7x6)[_0xdc08[5]](_0xf1d7x7)};}function responseWithResult(_0xf1d7x5,_0xf1d7x6){_0xf1d7x6=_0xf1d7x6||200;return function(_0xf1d7x9){if(_0xf1d7x9){_0xf1d7x5[_0xdc08[6]](_0xf1d7x6)[_0xdc08[7]](_0xf1d7x9)}};}function handleEntityNotFound(_0xf1d7x5){return function(_0xf1d7x9){if(!_0xf1d7x9){_0xf1d7x5[_0xdc08[6]](404)[_0xdc08[8]]();return null;};return _0xf1d7x9;}}function saveUpdates(_0xf1d7xc){return function(_0xf1d7x9){return _0xf1d7x9[_0xdc08[10]](_0xf1d7xc)[_0xdc08[9]](function(_0xf1d7xd){return _0xf1d7xd})}}function removeEntity(_0xf1d7x5){return function(_0xf1d7x9){if(_0xf1d7x9){return _0xf1d7x9[_0xdc08[11]]()[_0xdc08[9]](function(){_0xf1d7x5[_0xdc08[6]](204)[_0xdc08[8]]()})}}}exports[_0xdc08[12]]=function(_0xf1d7xf,_0xf1d7x5){FreshdeskConfiguration[_0xdc08[15]]({where:_0xf1d7xf[_0xdc08[14]]})[_0xdc08[9]](responseWithResult(_0xf1d7x5))[_0xdc08[13]](handleError(_0xf1d7x5))};exports[_0xdc08[16]]=function(_0xf1d7xf,_0xf1d7x5){FreshdeskConfiguration[_0xdc08[22]]({where:{id:_0xf1d7xf[_0xdc08[18]][_0xdc08[17]]},include:[{model:FreshdeskField,as:_0xdc08[19]},{model:FreshdeskField,as:_0xdc08[20]},{model:FreshdeskField,as:_0xdc08[21]}]})[_0xdc08[9]](handleEntityNotFound(_0xf1d7x5))[_0xdc08[9]](responseWithResult(_0xf1d7x5))[_0xdc08[13]](handleError(_0xf1d7x5))};exports[_0xdc08[23]]=function(_0xf1d7xf,_0xf1d7x5){FreshdeskConfiguration[_0xdc08[23]](_0xf1d7xf[_0xdc08[24]])[_0xdc08[9]](responseWithResult(_0xf1d7x5,201))[_0xdc08[13]](handleError(_0xf1d7x5))};exports[_0xdc08[25]]=function(_0xf1d7xf,_0xf1d7x5){if(_0xf1d7xf[_0xdc08[24]][_0xdc08[17]]){delete _0xf1d7xf[_0xdc08[24]][_0xdc08[17]]};FreshdeskConfiguration[_0xdc08[26]](_0xf1d7xf[_0xdc08[18]][_0xdc08[17]])[_0xdc08[9]](handleEntityNotFound(_0xf1d7x5))[_0xdc08[9]](saveUpdates(_0xf1d7xf[_0xdc08[24]]))[_0xdc08[9]](responseWithResult(_0xf1d7x5))[_0xdc08[13]](handleError(_0xf1d7x5));};exports[_0xdc08[11]]=function(_0xf1d7xf,_0xf1d7x5){FreshdeskConfiguration[_0xdc08[26]](_0xf1d7xf[_0xdc08[18]][_0xdc08[17]])[_0xdc08[9]](handleEntityNotFound(_0xf1d7x5))[_0xdc08[9]](removeEntity(_0xf1d7x5))[_0xdc08[13]](handleError(_0xf1d7x5))};exports[_0xdc08[27]]=function(_0xf1d7xf,_0xf1d7x5,_0xf1d7x10){var _0xf1d7x11;FreshdeskConfiguration[_0xdc08[26]](_0xf1d7xf[_0xdc08[18]][_0xdc08[17]])[_0xdc08[9]](handleEntityNotFound(_0xf1d7x5))[_0xdc08[9]](function(_0xf1d7x14){_0xf1d7x11=_0xf1d7x14;return FreshdeskField[_0xdc08[23]](_0xf1d7xf[_0xdc08[24]]);})[_0xdc08[9]](function(_0xf1d7x13){switch(_0xf1d7xf[_0xdc08[18]][_0xdc08[35]]){case _0xdc08[30]:return [_0xf1d7x11[_0xdc08[29]](_0xf1d7x13),_0xf1d7x13];;case _0xdc08[32]:return [_0xf1d7x11[_0xdc08[31]](_0xf1d7x13),_0xf1d7x13];;case _0xdc08[34]:return [_0xf1d7x11[_0xdc08[33]](_0xf1d7x13),_0xf1d7x13];;}})[_0xdc08[28]](function(_0xf1d7x12,_0xf1d7x13){return _0xf1d7x5[_0xdc08[6]](201)[_0xdc08[7]](_0xf1d7x13)})[_0xdc08[13]](handleError(_0xf1d7x5));};
\ No newline at end of file
index 36642f6ad9088c88f5cd9f8bb6236d278572c931..e8c866a1b322aabbcaf4144a83f120ad48ae3f43 100644 (file)
@@ -1 +1 @@
-var _0x4f68=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0x4f68[0];var FreshdeskConfiguration=require(_0x4f68[2])[_0x4f68[1]];exports[_0x4f68[3]]=function(_0xafe9x2){FreshdeskConfiguration[_0x4f68[4]](function(_0xafe9x3){onSave(_0xafe9x2,_0xafe9x3)});FreshdeskConfiguration[_0x4f68[5]](function(_0xafe9x3){onRemove(_0xafe9x2,_0xafe9x3)});};function onSave(_0xafe9x2,_0xafe9x3,_0xafe9x5){_0xafe9x2[_0x4f68[7]](_0x4f68[6],_0xafe9x3)}function onRemove(_0xafe9x2,_0xafe9x3,_0xafe9x5){_0xafe9x2[_0x4f68[7]](_0x4f68[8],_0xafe9x3)}
\ No newline at end of file
+var _0x86fc=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0x86fc[0];var FreshdeskConfiguration=require(_0x86fc[2])[_0x86fc[1]];exports[_0x86fc[3]]=function(_0x2698x2){FreshdeskConfiguration[_0x86fc[4]](function(_0x2698x3){onSave(_0x2698x2,_0x2698x3)});FreshdeskConfiguration[_0x86fc[5]](function(_0x2698x3){onRemove(_0x2698x2,_0x2698x3)});};function onSave(_0x2698x2,_0x2698x3,_0x2698x5){_0x2698x2[_0x86fc[7]](_0x86fc[6],_0x2698x3)}function onRemove(_0x2698x2,_0x2698x3,_0x2698x5){_0x2698x2[_0x86fc[7]](_0x86fc[8],_0x2698x3)}
\ No newline at end of file
index 3f88592f7d342b3690029f18566e1a2536ed41ee..b9899d4de083ddcbdca2676ce29659d6329483e8 100644 (file)
@@ -1 +1 @@
-var _0xce86=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x2F\x3A\x69\x64\x2F\x3A\x74\x79\x70\x65","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xce86[0];var express=require(_0xce86[1]);var auth=require(_0xce86[2]);var controller=require(_0xce86[3]);var router=express.Router();router[_0xce86[7]](_0xce86[4],auth[_0xce86[5]](),controller[_0xce86[6]]);router[_0xce86[7]](_0xce86[8],auth[_0xce86[5]](),controller[_0xce86[9]]);router[_0xce86[11]](_0xce86[4],auth[_0xce86[5]](),controller[_0xce86[10]]);router[_0xce86[13]](_0xce86[8],auth[_0xce86[5]](),controller[_0xce86[12]]);router[_0xce86[11]](_0xce86[14],auth[_0xce86[5]](),controller[_0xce86[15]]);router[_0xce86[16]](_0xce86[8],auth[_0xce86[5]](),controller[_0xce86[12]]);router[_0xce86[18]](_0xce86[8],auth[_0xce86[5]](),controller[_0xce86[17]]);module[_0xce86[19]]=router;
\ No newline at end of file
+var _0x7508=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x2F\x3A\x69\x64\x2F\x3A\x74\x79\x70\x65","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x7508[0];var express=require(_0x7508[1]);var auth=require(_0x7508[2]);var controller=require(_0x7508[3]);var router=express.Router();router[_0x7508[7]](_0x7508[4],auth[_0x7508[5]](),controller[_0x7508[6]]);router[_0x7508[7]](_0x7508[8],auth[_0x7508[5]](),controller[_0x7508[9]]);router[_0x7508[11]](_0x7508[4],auth[_0x7508[5]](),controller[_0x7508[10]]);router[_0x7508[13]](_0x7508[8],auth[_0x7508[5]](),controller[_0x7508[12]]);router[_0x7508[11]](_0x7508[14],auth[_0x7508[5]](),controller[_0x7508[15]]);router[_0x7508[16]](_0x7508[8],auth[_0x7508[5]](),controller[_0x7508[12]]);router[_0x7508[18]](_0x7508[8],auth[_0x7508[5]](),controller[_0x7508[17]]);module[_0x7508[19]]=router;
\ No newline at end of file
index 8184fa594207f97b31397d76e7ef74a0ae4fc3b8..8c86b979f1ae654eb3570c32779ff268334c4b18 100644 (file)
@@ -1 +1 @@
-var _0x2b82=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6E\x6F\x50\x72\x65\x73\x65\x72\x76\x65\x43\x61\x63\x68\x65","\x70\x72\x6F\x78\x79\x71\x75\x69\x72\x65","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x69\x6E\x64\x65\x78","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x73\x68\x6F\x77","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x63\x72\x65\x61\x74\x65","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x75\x70\x64\x61\x74\x65","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x64\x65\x73\x74\x72\x6F\x79","\x73\x70\x79","\x2E\x2F\x69\x6E\x64\x65\x78\x2E\x6A\x73","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x20\x41\x50\x49\x20\x52\x6F\x75\x74\x65\x72\x3A","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x74\x75\x72\x6E\x20\x61\x6E\x20\x65\x78\x70\x72\x65\x73\x73\x20\x72\x6F\x75\x74\x65\x72\x20\x69\x6E\x73\x74\x61\x6E\x63\x65","\x65\x71\x75\x61\x6C","\x74\x6F","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x69\x6E\x64\x65\x78","\x63\x61\x6C\x6C\x65\x64\x4F\x6E\x63\x65","\x62\x65\x65\x6E","\x68\x61\x76\x65","\x2F","\x77\x69\x74\x68\x41\x72\x67\x73","\x67\x65\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x73\x68\x6F\x77","\x2F\x3A\x69\x64","\x50\x4F\x53\x54\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x50\x55\x54\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x50\x41\x54\x43\x48\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x70\x61\x74\x63\x68","\x44\x45\x4C\x45\x54\x45\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65"];_0x2b82[0];var proxyquire=require(_0x2b82[2])[_0x2b82[1]]();var freshdeskConfigurationCtrlStub={index:_0x2b82[3],show:_0x2b82[4],create:_0x2b82[5],update:_0x2b82[6],destroy:_0x2b82[7]};var routerStub={get:sinon[_0x2b82[8]](),put:sinon[_0x2b82[8]](),patch:sinon[_0x2b82[8]](),post:sinon[_0x2b82[8]](),delete:sinon[_0x2b82[8]]()};var freshdeskConfigurationIndex=proxyquire(_0x2b82[9],{"\x65\x78\x70\x72\x65\x73\x73":{Router:function(){return routerStub}},"\x2E\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72":freshdeskConfigurationCtrlStub});describe(_0x2b82[10],function(){it(_0x2b82[11],function(){expect(freshdeskConfigurationIndex)[_0x2b82[13]][_0x2b82[12]](routerStub)});describe(_0x2b82[14],function(){it(_0x2b82[15],function(){expect(routerStub[_0x2b82[21]][_0x2b82[20]](_0x2b82[19],_0x2b82[3]))[_0x2b82[13]][_0x2b82[18]][_0x2b82[17]][_0x2b82[16]]})});describe(_0x2b82[22],function(){it(_0x2b82[23],function(){expect(routerStub[_0x2b82[21]][_0x2b82[20]](_0x2b82[24],_0x2b82[4]))[_0x2b82[13]][_0x2b82[18]][_0x2b82[17]][_0x2b82[16]]})});describe(_0x2b82[25],function(){it(_0x2b82[26],function(){expect(routerStub[_0x2b82[27]][_0x2b82[20]](_0x2b82[19],_0x2b82[5]))[_0x2b82[13]][_0x2b82[18]][_0x2b82[17]][_0x2b82[16]]})});describe(_0x2b82[28],function(){it(_0x2b82[29],function(){expect(routerStub[_0x2b82[30]][_0x2b82[20]](_0x2b82[24],_0x2b82[6]))[_0x2b82[13]][_0x2b82[18]][_0x2b82[17]][_0x2b82[16]]})});describe(_0x2b82[31],function(){it(_0x2b82[29],function(){expect(routerStub[_0x2b82[32]][_0x2b82[20]](_0x2b82[24],_0x2b82[6]))[_0x2b82[13]][_0x2b82[18]][_0x2b82[17]][_0x2b82[16]]})});describe(_0x2b82[33],function(){it(_0x2b82[34],function(){expect(routerStub[_0x2b82[35]][_0x2b82[20]](_0x2b82[24],_0x2b82[7]))[_0x2b82[13]][_0x2b82[18]][_0x2b82[17]][_0x2b82[16]]})});});
\ No newline at end of file
+var _0xb52f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6E\x6F\x50\x72\x65\x73\x65\x72\x76\x65\x43\x61\x63\x68\x65","\x70\x72\x6F\x78\x79\x71\x75\x69\x72\x65","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x69\x6E\x64\x65\x78","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x73\x68\x6F\x77","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x63\x72\x65\x61\x74\x65","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x75\x70\x64\x61\x74\x65","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x64\x65\x73\x74\x72\x6F\x79","\x73\x70\x79","\x2E\x2F\x69\x6E\x64\x65\x78\x2E\x6A\x73","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x20\x41\x50\x49\x20\x52\x6F\x75\x74\x65\x72\x3A","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x74\x75\x72\x6E\x20\x61\x6E\x20\x65\x78\x70\x72\x65\x73\x73\x20\x72\x6F\x75\x74\x65\x72\x20\x69\x6E\x73\x74\x61\x6E\x63\x65","\x65\x71\x75\x61\x6C","\x74\x6F","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x69\x6E\x64\x65\x78","\x63\x61\x6C\x6C\x65\x64\x4F\x6E\x63\x65","\x62\x65\x65\x6E","\x68\x61\x76\x65","\x2F","\x77\x69\x74\x68\x41\x72\x67\x73","\x67\x65\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x73\x68\x6F\x77","\x2F\x3A\x69\x64","\x50\x4F\x53\x54\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x50\x55\x54\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x50\x41\x54\x43\x48\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x70\x61\x74\x63\x68","\x44\x45\x4C\x45\x54\x45\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65"];_0xb52f[0];var proxyquire=require(_0xb52f[2])[_0xb52f[1]]();var freshdeskConfigurationCtrlStub={index:_0xb52f[3],show:_0xb52f[4],create:_0xb52f[5],update:_0xb52f[6],destroy:_0xb52f[7]};var routerStub={get:sinon[_0xb52f[8]](),put:sinon[_0xb52f[8]](),patch:sinon[_0xb52f[8]](),post:sinon[_0xb52f[8]](),delete:sinon[_0xb52f[8]]()};var freshdeskConfigurationIndex=proxyquire(_0xb52f[9],{"\x65\x78\x70\x72\x65\x73\x73":{Router:function(){return routerStub}},"\x2E\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72":freshdeskConfigurationCtrlStub});describe(_0xb52f[10],function(){it(_0xb52f[11],function(){expect(freshdeskConfigurationIndex)[_0xb52f[13]][_0xb52f[12]](routerStub)});describe(_0xb52f[14],function(){it(_0xb52f[15],function(){expect(routerStub[_0xb52f[21]][_0xb52f[20]](_0xb52f[19],_0xb52f[3]))[_0xb52f[13]][_0xb52f[18]][_0xb52f[17]][_0xb52f[16]]})});describe(_0xb52f[22],function(){it(_0xb52f[23],function(){expect(routerStub[_0xb52f[21]][_0xb52f[20]](_0xb52f[24],_0xb52f[4]))[_0xb52f[13]][_0xb52f[18]][_0xb52f[17]][_0xb52f[16]]})});describe(_0xb52f[25],function(){it(_0xb52f[26],function(){expect(routerStub[_0xb52f[27]][_0xb52f[20]](_0xb52f[19],_0xb52f[5]))[_0xb52f[13]][_0xb52f[18]][_0xb52f[17]][_0xb52f[16]]})});describe(_0xb52f[28],function(){it(_0xb52f[29],function(){expect(routerStub[_0xb52f[30]][_0xb52f[20]](_0xb52f[24],_0xb52f[6]))[_0xb52f[13]][_0xb52f[18]][_0xb52f[17]][_0xb52f[16]]})});describe(_0xb52f[31],function(){it(_0xb52f[29],function(){expect(routerStub[_0xb52f[32]][_0xb52f[20]](_0xb52f[24],_0xb52f[6]))[_0xb52f[13]][_0xb52f[18]][_0xb52f[17]][_0xb52f[16]]})});describe(_0xb52f[33],function(){it(_0xb52f[34],function(){expect(routerStub[_0xb52f[35]][_0xb52f[20]](_0xb52f[24],_0xb52f[7]))[_0xb52f[13]][_0xb52f[18]][_0xb52f[17]][_0xb52f[16]]})});});
\ No newline at end of file
index 3bba17ac5ae9346e8094e4d8cb1546f37b94470b..3dcdeb6d3444341b16574298590f603b6ec2cfae 100644 (file)
@@ -1 +1 @@
-var _0x3db8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65"];_0x3db8[0];var _=require(_0x3db8[1]);var FreshdeskField=require(_0x3db8[3])[_0x3db8[2]];function handleError(_0x96d8x4,_0x96d8x5){_0x96d8x5=_0x96d8x5||500;return function(_0x96d8x6){_0x96d8x4[_0x3db8[5]](_0x96d8x5)[_0x3db8[4]](_0x96d8x6)};}function responseWithResult(_0x96d8x4,_0x96d8x5){_0x96d8x5=_0x96d8x5||200;return function(_0x96d8x8){if(_0x96d8x8){_0x96d8x4[_0x3db8[5]](_0x96d8x5)[_0x3db8[6]](_0x96d8x8)}};}function handleEntityNotFound(_0x96d8x4){return function(_0x96d8x8){if(!_0x96d8x8){_0x96d8x4[_0x3db8[5]](404)[_0x3db8[7]]();return null;};return _0x96d8x8;}}function saveUpdates(_0x96d8xb){return function(_0x96d8x8){return _0x96d8x8[_0x3db8[9]](_0x96d8xb)[_0x3db8[8]](function(_0x96d8xc){return _0x96d8xc})}}function removeEntity(_0x96d8x4){return function(_0x96d8x8){if(_0x96d8x8){return _0x96d8x8[_0x3db8[10]]()[_0x3db8[8]](function(){_0x96d8x4[_0x3db8[5]](204)[_0x3db8[7]]()})}}}exports[_0x3db8[11]]=function(_0x96d8xe,_0x96d8x4){FreshdeskField[_0x3db8[13]]()[_0x3db8[8]](responseWithResult(_0x96d8x4))[_0x3db8[12]](handleError(_0x96d8x4))};exports[_0x3db8[14]]=function(_0x96d8xe,_0x96d8x4){FreshdeskField[_0x3db8[17]](_0x96d8xe[_0x3db8[16]][_0x3db8[15]])[_0x3db8[8]](handleEntityNotFound(_0x96d8x4))[_0x3db8[8]](responseWithResult(_0x96d8x4))[_0x3db8[12]](handleError(_0x96d8x4))};exports[_0x3db8[18]]=function(_0x96d8xe,_0x96d8x4){FreshdeskField[_0x3db8[18]](_0x96d8xe[_0x3db8[19]])[_0x3db8[8]](responseWithResult(_0x96d8x4,201))[_0x3db8[12]](handleError(_0x96d8x4))};exports[_0x3db8[20]]=function(_0x96d8xe,_0x96d8x4){if(_0x96d8xe[_0x3db8[19]][_0x3db8[15]]){delete _0x96d8xe[_0x3db8[19]][_0x3db8[15]]};FreshdeskField[_0x3db8[17]](_0x96d8xe[_0x3db8[16]][_0x3db8[15]])[_0x3db8[8]](handleEntityNotFound(_0x96d8x4))[_0x3db8[8]](saveUpdates(_0x96d8xe[_0x3db8[19]]))[_0x3db8[8]](responseWithResult(_0x96d8x4))[_0x3db8[12]](handleError(_0x96d8x4));};exports[_0x3db8[10]]=function(_0x96d8xe,_0x96d8x4){FreshdeskField[_0x3db8[17]](_0x96d8xe[_0x3db8[16]][_0x3db8[15]])[_0x3db8[8]](handleEntityNotFound(_0x96d8x4))[_0x3db8[8]](removeEntity(_0x96d8x4))[_0x3db8[12]](handleError(_0x96d8x4))};
\ No newline at end of file
+var _0x4d45=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65"];_0x4d45[0];var _=require(_0x4d45[1]);var FreshdeskField=require(_0x4d45[3])[_0x4d45[2]];function handleError(_0x68bbx4,_0x68bbx5){_0x68bbx5=_0x68bbx5||500;return function(_0x68bbx6){_0x68bbx4[_0x4d45[5]](_0x68bbx5)[_0x4d45[4]](_0x68bbx6)};}function responseWithResult(_0x68bbx4,_0x68bbx5){_0x68bbx5=_0x68bbx5||200;return function(_0x68bbx8){if(_0x68bbx8){_0x68bbx4[_0x4d45[5]](_0x68bbx5)[_0x4d45[6]](_0x68bbx8)}};}function handleEntityNotFound(_0x68bbx4){return function(_0x68bbx8){if(!_0x68bbx8){_0x68bbx4[_0x4d45[5]](404)[_0x4d45[7]]();return null;};return _0x68bbx8;}}function saveUpdates(_0x68bbxb){return function(_0x68bbx8){return _0x68bbx8[_0x4d45[9]](_0x68bbxb)[_0x4d45[8]](function(_0x68bbxc){return _0x68bbxc})}}function removeEntity(_0x68bbx4){return function(_0x68bbx8){if(_0x68bbx8){return _0x68bbx8[_0x4d45[10]]()[_0x4d45[8]](function(){_0x68bbx4[_0x4d45[5]](204)[_0x4d45[7]]()})}}}exports[_0x4d45[11]]=function(_0x68bbxe,_0x68bbx4){FreshdeskField[_0x4d45[13]]()[_0x4d45[8]](responseWithResult(_0x68bbx4))[_0x4d45[12]](handleError(_0x68bbx4))};exports[_0x4d45[14]]=function(_0x68bbxe,_0x68bbx4){FreshdeskField[_0x4d45[17]](_0x68bbxe[_0x4d45[16]][_0x4d45[15]])[_0x4d45[8]](handleEntityNotFound(_0x68bbx4))[_0x4d45[8]](responseWithResult(_0x68bbx4))[_0x4d45[12]](handleError(_0x68bbx4))};exports[_0x4d45[18]]=function(_0x68bbxe,_0x68bbx4){FreshdeskField[_0x4d45[18]](_0x68bbxe[_0x4d45[19]])[_0x4d45[8]](responseWithResult(_0x68bbx4,201))[_0x4d45[12]](handleError(_0x68bbx4))};exports[_0x4d45[20]]=function(_0x68bbxe,_0x68bbx4){if(_0x68bbxe[_0x4d45[19]][_0x4d45[15]]){delete _0x68bbxe[_0x4d45[19]][_0x4d45[15]]};FreshdeskField[_0x4d45[17]](_0x68bbxe[_0x4d45[16]][_0x4d45[15]])[_0x4d45[8]](handleEntityNotFound(_0x68bbx4))[_0x4d45[8]](saveUpdates(_0x68bbxe[_0x4d45[19]]))[_0x4d45[8]](responseWithResult(_0x68bbx4))[_0x4d45[12]](handleError(_0x68bbx4));};exports[_0x4d45[10]]=function(_0x68bbxe,_0x68bbx4){FreshdeskField[_0x4d45[17]](_0x68bbxe[_0x4d45[16]][_0x4d45[15]])[_0x4d45[8]](handleEntityNotFound(_0x68bbx4))[_0x4d45[8]](removeEntity(_0x68bbx4))[_0x4d45[12]](handleError(_0x68bbx4))};
\ No newline at end of file
index 727e744bcc24bb57c8234c2d67e94ddcc0585c08..d773b6f7dc1b6bd2a20d98504f9ac907c3c08492 100644 (file)
@@ -1 +1 @@
-var _0x3575=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x3A\x72\x65\x6D\x6F\x76\x65"];_0x3575[0];var FreshdeskField=require(_0x3575[2])[_0x3575[1]];exports[_0x3575[3]]=function(_0x30e5x2){FreshdeskField[_0x3575[4]](function(_0x30e5x3){onSave(_0x30e5x2,_0x30e5x3)});FreshdeskField[_0x3575[5]](function(_0x30e5x3){onRemove(_0x30e5x2,_0x30e5x3)});};function onSave(_0x30e5x2,_0x30e5x3,_0x30e5x5){_0x30e5x2[_0x3575[7]](_0x3575[6],_0x30e5x3)}function onRemove(_0x30e5x2,_0x30e5x3,_0x30e5x5){_0x30e5x2[_0x3575[7]](_0x3575[8],_0x30e5x3)}
\ No newline at end of file
+var _0x623d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x3A\x72\x65\x6D\x6F\x76\x65"];_0x623d[0];var FreshdeskField=require(_0x623d[2])[_0x623d[1]];exports[_0x623d[3]]=function(_0x2695x2){FreshdeskField[_0x623d[4]](function(_0x2695x3){onSave(_0x2695x2,_0x2695x3)});FreshdeskField[_0x623d[5]](function(_0x2695x3){onRemove(_0x2695x2,_0x2695x3)});};function onSave(_0x2695x2,_0x2695x3,_0x2695x5){_0x2695x2[_0x623d[7]](_0x623d[6],_0x2695x3)}function onRemove(_0x2695x2,_0x2695x3,_0x2695x5){_0x2695x2[_0x623d[7]](_0x623d[8],_0x2695x3)}
\ No newline at end of file
index 54c9e05741f1113aad4ce7f003234a8e02f0d951..9d169625dde26d609422c136ee34ecbe2cbd92a8 100644 (file)
@@ -1 +1 @@
-var _0x5d11=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x5d11[0];var express=require(_0x5d11[1]);var auth=require(_0x5d11[2]);var controller=require(_0x5d11[3]);var router=express.Router();router[_0x5d11[7]](_0x5d11[4],auth[_0x5d11[5]](),controller[_0x5d11[6]]);router[_0x5d11[7]](_0x5d11[8],auth[_0x5d11[5]](),controller[_0x5d11[9]]);router[_0x5d11[11]](_0x5d11[4],auth[_0x5d11[5]](),controller[_0x5d11[10]]);router[_0x5d11[13]](_0x5d11[8],auth[_0x5d11[5]](),controller[_0x5d11[12]]);router[_0x5d11[14]](_0x5d11[8],auth[_0x5d11[5]](),controller[_0x5d11[12]]);router[_0x5d11[16]](_0x5d11[8],auth[_0x5d11[5]](),controller[_0x5d11[15]]);module[_0x5d11[17]]=router;
\ No newline at end of file
+var _0x5fdd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x5fdd[0];var express=require(_0x5fdd[1]);var auth=require(_0x5fdd[2]);var controller=require(_0x5fdd[3]);var router=express.Router();router[_0x5fdd[7]](_0x5fdd[4],auth[_0x5fdd[5]](),controller[_0x5fdd[6]]);router[_0x5fdd[7]](_0x5fdd[8],auth[_0x5fdd[5]](),controller[_0x5fdd[9]]);router[_0x5fdd[11]](_0x5fdd[4],auth[_0x5fdd[5]](),controller[_0x5fdd[10]]);router[_0x5fdd[13]](_0x5fdd[8],auth[_0x5fdd[5]](),controller[_0x5fdd[12]]);router[_0x5fdd[14]](_0x5fdd[8],auth[_0x5fdd[5]](),controller[_0x5fdd[12]]);router[_0x5fdd[16]](_0x5fdd[8],auth[_0x5fdd[5]](),controller[_0x5fdd[15]]);module[_0x5fdd[17]]=router;
\ No newline at end of file
index 619a9dec91eddfb6d892a65daaaf39bb51aa3705..2321d5b0ec700628119d01d527e7f4275736b234 100644 (file)
@@ -1 +1 @@
-var _0xe979=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6E\x6F\x50\x72\x65\x73\x65\x72\x76\x65\x43\x61\x63\x68\x65","\x70\x72\x6F\x78\x79\x71\x75\x69\x72\x65","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x69\x6E\x64\x65\x78","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x73\x68\x6F\x77","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x63\x72\x65\x61\x74\x65","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x75\x70\x64\x61\x74\x65","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x64\x65\x73\x74\x72\x6F\x79","\x73\x70\x79","\x2E\x2F\x69\x6E\x64\x65\x78\x2E\x6A\x73","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x20\x41\x50\x49\x20\x52\x6F\x75\x74\x65\x72\x3A","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x74\x75\x72\x6E\x20\x61\x6E\x20\x65\x78\x70\x72\x65\x73\x73\x20\x72\x6F\x75\x74\x65\x72\x20\x69\x6E\x73\x74\x61\x6E\x63\x65","\x65\x71\x75\x61\x6C","\x74\x6F","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x69\x6E\x64\x65\x78","\x63\x61\x6C\x6C\x65\x64\x4F\x6E\x63\x65","\x62\x65\x65\x6E","\x68\x61\x76\x65","\x2F","\x77\x69\x74\x68\x41\x72\x67\x73","\x67\x65\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x73\x68\x6F\x77","\x2F\x3A\x69\x64","\x50\x4F\x53\x54\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x50\x55\x54\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x50\x41\x54\x43\x48\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x70\x61\x74\x63\x68","\x44\x45\x4C\x45\x54\x45\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65"];_0xe979[0];var proxyquire=require(_0xe979[2])[_0xe979[1]]();var freshdeskFieldCtrlStub={index:_0xe979[3],show:_0xe979[4],create:_0xe979[5],update:_0xe979[6],destroy:_0xe979[7]};var routerStub={get:sinon[_0xe979[8]](),put:sinon[_0xe979[8]](),patch:sinon[_0xe979[8]](),post:sinon[_0xe979[8]](),delete:sinon[_0xe979[8]]()};var freshdeskFieldIndex=proxyquire(_0xe979[9],{"\x65\x78\x70\x72\x65\x73\x73":{Router:function(){return routerStub}},"\x2E\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72":freshdeskFieldCtrlStub});describe(_0xe979[10],function(){it(_0xe979[11],function(){expect(freshdeskFieldIndex)[_0xe979[13]][_0xe979[12]](routerStub)});describe(_0xe979[14],function(){it(_0xe979[15],function(){expect(routerStub[_0xe979[21]][_0xe979[20]](_0xe979[19],_0xe979[3]))[_0xe979[13]][_0xe979[18]][_0xe979[17]][_0xe979[16]]})});describe(_0xe979[22],function(){it(_0xe979[23],function(){expect(routerStub[_0xe979[21]][_0xe979[20]](_0xe979[24],_0xe979[4]))[_0xe979[13]][_0xe979[18]][_0xe979[17]][_0xe979[16]]})});describe(_0xe979[25],function(){it(_0xe979[26],function(){expect(routerStub[_0xe979[27]][_0xe979[20]](_0xe979[19],_0xe979[5]))[_0xe979[13]][_0xe979[18]][_0xe979[17]][_0xe979[16]]})});describe(_0xe979[28],function(){it(_0xe979[29],function(){expect(routerStub[_0xe979[30]][_0xe979[20]](_0xe979[24],_0xe979[6]))[_0xe979[13]][_0xe979[18]][_0xe979[17]][_0xe979[16]]})});describe(_0xe979[31],function(){it(_0xe979[29],function(){expect(routerStub[_0xe979[32]][_0xe979[20]](_0xe979[24],_0xe979[6]))[_0xe979[13]][_0xe979[18]][_0xe979[17]][_0xe979[16]]})});describe(_0xe979[33],function(){it(_0xe979[34],function(){expect(routerStub[_0xe979[35]][_0xe979[20]](_0xe979[24],_0xe979[7]))[_0xe979[13]][_0xe979[18]][_0xe979[17]][_0xe979[16]]})});});
\ No newline at end of file
+var _0xf55b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6E\x6F\x50\x72\x65\x73\x65\x72\x76\x65\x43\x61\x63\x68\x65","\x70\x72\x6F\x78\x79\x71\x75\x69\x72\x65","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x69\x6E\x64\x65\x78","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x73\x68\x6F\x77","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x63\x72\x65\x61\x74\x65","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x75\x70\x64\x61\x74\x65","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x64\x65\x73\x74\x72\x6F\x79","\x73\x70\x79","\x2E\x2F\x69\x6E\x64\x65\x78\x2E\x6A\x73","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x20\x41\x50\x49\x20\x52\x6F\x75\x74\x65\x72\x3A","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x74\x75\x72\x6E\x20\x61\x6E\x20\x65\x78\x70\x72\x65\x73\x73\x20\x72\x6F\x75\x74\x65\x72\x20\x69\x6E\x73\x74\x61\x6E\x63\x65","\x65\x71\x75\x61\x6C","\x74\x6F","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x69\x6E\x64\x65\x78","\x63\x61\x6C\x6C\x65\x64\x4F\x6E\x63\x65","\x62\x65\x65\x6E","\x68\x61\x76\x65","\x2F","\x77\x69\x74\x68\x41\x72\x67\x73","\x67\x65\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x73\x68\x6F\x77","\x2F\x3A\x69\x64","\x50\x4F\x53\x54\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x50\x55\x54\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x50\x41\x54\x43\x48\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x70\x61\x74\x63\x68","\x44\x45\x4C\x45\x54\x45\x20\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65"];_0xf55b[0];var proxyquire=require(_0xf55b[2])[_0xf55b[1]]();var freshdeskFieldCtrlStub={index:_0xf55b[3],show:_0xf55b[4],create:_0xf55b[5],update:_0xf55b[6],destroy:_0xf55b[7]};var routerStub={get:sinon[_0xf55b[8]](),put:sinon[_0xf55b[8]](),patch:sinon[_0xf55b[8]](),post:sinon[_0xf55b[8]](),delete:sinon[_0xf55b[8]]()};var freshdeskFieldIndex=proxyquire(_0xf55b[9],{"\x65\x78\x70\x72\x65\x73\x73":{Router:function(){return routerStub}},"\x2E\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72":freshdeskFieldCtrlStub});describe(_0xf55b[10],function(){it(_0xf55b[11],function(){expect(freshdeskFieldIndex)[_0xf55b[13]][_0xf55b[12]](routerStub)});describe(_0xf55b[14],function(){it(_0xf55b[15],function(){expect(routerStub[_0xf55b[21]][_0xf55b[20]](_0xf55b[19],_0xf55b[3]))[_0xf55b[13]][_0xf55b[18]][_0xf55b[17]][_0xf55b[16]]})});describe(_0xf55b[22],function(){it(_0xf55b[23],function(){expect(routerStub[_0xf55b[21]][_0xf55b[20]](_0xf55b[24],_0xf55b[4]))[_0xf55b[13]][_0xf55b[18]][_0xf55b[17]][_0xf55b[16]]})});describe(_0xf55b[25],function(){it(_0xf55b[26],function(){expect(routerStub[_0xf55b[27]][_0xf55b[20]](_0xf55b[19],_0xf55b[5]))[_0xf55b[13]][_0xf55b[18]][_0xf55b[17]][_0xf55b[16]]})});describe(_0xf55b[28],function(){it(_0xf55b[29],function(){expect(routerStub[_0xf55b[30]][_0xf55b[20]](_0xf55b[24],_0xf55b[6]))[_0xf55b[13]][_0xf55b[18]][_0xf55b[17]][_0xf55b[16]]})});describe(_0xf55b[31],function(){it(_0xf55b[29],function(){expect(routerStub[_0xf55b[32]][_0xf55b[20]](_0xf55b[24],_0xf55b[6]))[_0xf55b[13]][_0xf55b[18]][_0xf55b[17]][_0xf55b[16]]})});describe(_0xf55b[33],function(){it(_0xf55b[34],function(){expect(routerStub[_0xf55b[35]][_0xf55b[20]](_0xf55b[24],_0xf55b[7]))[_0xf55b[13]][_0xf55b[18]][_0xf55b[17]][_0xf55b[16]]})});});
\ No newline at end of file
index 1bc9125edb838f420564605adfd8a694ef131877..6bf05f083dcdd8195406c01e38eec0daf81c362f 100644 (file)
@@ -1 +1 @@
-var _0x46eb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x46eb[0];var express=require(_0x46eb[1]);var controller=require(_0x46eb[2]);var router=express.Router();router[_0x46eb[5]](_0x46eb[3],controller[_0x46eb[4]]);router[_0x46eb[5]](_0x46eb[6],controller[_0x46eb[7]]);router[_0x46eb[9]](_0x46eb[3],controller[_0x46eb[8]]);router[_0x46eb[11]](_0x46eb[6],controller[_0x46eb[10]]);router[_0x46eb[12]](_0x46eb[6],controller[_0x46eb[10]]);router[_0x46eb[14]](_0x46eb[6],controller[_0x46eb[13]]);module[_0x46eb[15]]=router;
\ No newline at end of file
+var _0x6b87=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x6b87[0];var express=require(_0x6b87[1]);var controller=require(_0x6b87[2]);var router=express.Router();router[_0x6b87[5]](_0x6b87[3],controller[_0x6b87[4]]);router[_0x6b87[5]](_0x6b87[6],controller[_0x6b87[7]]);router[_0x6b87[9]](_0x6b87[3],controller[_0x6b87[8]]);router[_0x6b87[11]](_0x6b87[6],controller[_0x6b87[10]]);router[_0x6b87[12]](_0x6b87[6],controller[_0x6b87[10]]);router[_0x6b87[14]](_0x6b87[6],controller[_0x6b87[13]]);module[_0x6b87[15]]=router;
\ No newline at end of file
index 9b4f3fb2b1d475e79226ef22c5dd211571221747..987d060b476cec6516d09b3a7c24b92448da711a 100644 (file)
@@ -1 +1 @@
-var _0xbd5b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x70\x6C\x6F\x61\x64\x2D\x66\x69\x6C\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x70\x61\x74\x68","\x73\x69\x6D\x70\x6C\x65\x2D\x72\x61\x6E\x64\x6F\x6D","\x61\x64\x6D\x2D\x7A\x69\x70","\x73\x74\x72\x69\x6E\x67\x2D\x74\x6F\x2D\x6A\x73\x6F\x6E","\x66\x73","\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73","\x6A\x6F\x69\x6E","\x4D\x61\x78\x20\x6E\x75\x6D\x62\x65\x72\x20\x6F\x66\x20\x66\x69\x6C\x65\x73\x20\x75\x70\x6C\x6F\x61\x64\x20\x65\x78\x63\x65\x65\x64\x65\x64","\x4F\x6E\x6C\x79\x20\x7A\x69\x70\x20\x66\x6F\x72\x6D\x61\x74\x20\x61\x63\x63\x65\x70\x74\x65\x64","\x54\x68\x65\x20\x6D\x61\x78\x69\x6D\x75\x6D\x20\x66\x69\x6C\x65\x20\x73\x69\x7A\x65\x20\x69\x73\x20\x35\x20\x4D\x62","\x49\x6E\x76\x61\x6C\x69\x64\x20\x72\x65\x71\x75\x65\x73\x74","\x65\x6E\x64","\x66\x69\x6C\x65","\x67\x65\x74\x45\x6E\x74\x72\x69\x65\x73","\x6E\x61\x6D\x65","\x6D\x61\x6E\x69\x66\x65\x73\x74\x2E\x6A\x73\x6F\x6E","\x75\x74\x66\x38","\x67\x65\x74\x44\x61\x74\x61","\x75\x70\x6C\x6F\x61\x64\x5A\x69\x70","\x6C\x6F\x67","\x70\x61\x72\x73\x65","\x65\x78\x74\x72\x61\x63\x74\x41\x6C\x6C\x54\x6F","\x6D\x65\x72\x67\x65","\x6A\x73\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x75\x6E\x6C\x69\x6E\x6B\x53\x79\x6E\x63","\x6D\x61\x6E\x69\x66\x65\x73\x74","\x6D\x61\x6E\x69\x66\x65\x73\x74\x2E\x6A\x73\x6F\x6E\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64","\x6F\x6E","\x65\x72\x72\x6F\x72","\x75\x70\x6C\x6F\x61\x64","\x75\x70\x64\x61\x74\x65","\x62\x6F\x64\x79","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79"];_0xbd5b[0];var _=require(_0xbd5b[1]);var uploadFile=require(_0xbd5b[2]);var config=require(_0xbd5b[3]);var path=require(_0xbd5b[4]);var sr=require(_0xbd5b[5]);var admZip=require(_0xbd5b[6]);var str2json=require(_0xbd5b[7]);var fs=require(_0xbd5b[8]);var Integration=require(_0xbd5b[10])[_0xbd5b[9]];exports[_0xbd5b[11]]=function(_0xfd22xa,_0xfd22xb){Integration[_0xbd5b[17]]({where:_0xfd22xa[_0xbd5b[16]]})[_0xbd5b[15]](function(_0xfd22xd){return _0xfd22xb[_0xbd5b[14]](200)[_0xbd5b[13]](_0xfd22xd)})[_0xbd5b[12]](function(_0xfd22xc){return handleError(_0xfd22xb,_0xfd22xc)})};exports[_0xbd5b[18]]=function(_0xfd22xa,_0xfd22xb){Integration[_0xbd5b[22]](_0xfd22xa[_0xbd5b[21]][_0xbd5b[20]])[_0xbd5b[15]](function(_0xfd22xe){if(!_0xfd22xe){return _0xfd22xb[_0xbd5b[19]](404)};return _0xfd22xb[_0xbd5b[13]](_0xfd22xe);})[_0xbd5b[12]](function(_0xfd22xc){return handleError(_0xfd22xb,_0xfd22xc)})};exports[_0xbd5b[23]]=function(_0xfd22xa,_0xfd22xb){var _0xfd22xf= new uploadFile({dest:path[_0xbd5b[26]](config[_0xbd5b[24]],_0xbd5b[25]),maxFileSize:5*1000000,maxNumberOfFiles:1,minNumberOfFiles:1,acceptFileTypes:/(\.|\/)(zip)$/i,messages:{maxNumberOfFiles:_0xbd5b[27],acceptFileTypes:_0xbd5b[28],maxFileSize:_0xbd5b[29],invalidRequest:_0xbd5b[30]}});_0xfd22xf[_0xbd5b[48]](_0xbd5b[31],function(_0xfd22x10,_0xfd22x11){var _0xfd22x12= new admZip(_0xfd22x11[_0xbd5b[32]][_0xbd5b[4]]);var _0xfd22x13=false;var _0xfd22x14=_0xfd22x12[_0xbd5b[33]]();_0xfd22x14[_0xbd5b[44]](function(_0xfd22x15){if(_0xfd22x15[_0xbd5b[34]]===_0xbd5b[35]){var _0xfd22x16=_0xfd22x15[_0xbd5b[37]]().toString(_0xbd5b[36]);console[_0xbd5b[39]](_0xbd5b[38],_0xfd22x16);try{_0xfd22x13=JSON[_0xbd5b[40]](_0xfd22x16);console[_0xbd5b[39]](_0xbd5b[38],_0xfd22x13);Integration[_0xbd5b[23]](_[_0xbd5b[42]](_0xfd22x11[_0xbd5b[32]],_0xfd22x13))[_0xbd5b[15]](function(_0xfd22xe){_0xfd22x12[_0xbd5b[41]](path[_0xbd5b[26]](config[_0xbd5b[24]],_0xbd5b[25]),true);return _0xfd22xb[_0xbd5b[14]](201)[_0xbd5b[13]](_0xfd22xe);})[_0xbd5b[12]](function(_0xfd22xc){return handleError(_0xfd22xb,_0xfd22xc)});}catch(e){console[_0xbd5b[39]](e);var _0xfd22xc={errors:[{type:_0xbd5b[43],message:e}]};return handleError(_0xfd22xb,_0xfd22xc);};}});fs[_0xbd5b[45]](_0xfd22x11[_0xbd5b[32]][_0xbd5b[4]]);if(!_0xfd22x13){var _0xfd22xc={errors:[{type:_0xbd5b[46],message:_0xbd5b[47]}]};return handleError(_0xfd22xb,_0xfd22xc);};});_0xfd22xf[_0xbd5b[48]](_0xbd5b[49],function(_0xfd22x17){var _0xfd22xc={errors:[{type:_0xbd5b[50],message:_0xfd22x17}]};return handleError(_0xfd22xb,_0xfd22xc);});_0xfd22xf[_0xbd5b[40]](_0xfd22xa);};exports[_0xbd5b[51]]=function(_0xfd22xa,_0xfd22xb){if(_0xfd22xa[_0xbd5b[52]][_0xbd5b[20]]){delete _0xfd22xa[_0xbd5b[52]][_0xbd5b[20]]};Integration[_0xbd5b[54]]({where:{id:_0xfd22xa[_0xbd5b[21]][_0xbd5b[20]]}})[_0xbd5b[15]](function(_0xfd22xe){if(!_0xfd22xe){return _0xfd22xb[_0xbd5b[19]](404)};var _0xfd22x18=_[_0xbd5b[42]](_0xfd22xe,_0xfd22xa[_0xbd5b[52]]);_0xfd22x18[_0xbd5b[53]]()[_0xbd5b[15]](function(){return _0xfd22xb[_0xbd5b[14]](200)[_0xbd5b[13]](_0xfd22xe)})[_0xbd5b[12]](function(_0xfd22xc){return handleError(_0xfd22xb,_0xfd22xc)});})[_0xbd5b[12]](function(_0xfd22xc){return handleError(_0xfd22xb,_0xfd22xc)});};exports[_0xbd5b[55]]=function(_0xfd22xa,_0xfd22xb){Integration[_0xbd5b[54]]({where:{id:_0xfd22xa[_0xbd5b[21]][_0xbd5b[20]]}})[_0xbd5b[15]](function(_0xfd22xe){if(!_0xfd22xe){return _0xfd22xb[_0xbd5b[19]](404)};_0xfd22xe[_0xbd5b[55]]()[_0xbd5b[15]](function(){return _0xfd22xb[_0xbd5b[19]](204)})[_0xbd5b[12]](function(_0xfd22xc){return handleError(_0xfd22xb,_0xfd22xc)});})[_0xbd5b[12]](function(_0xfd22xc){return handleError(_0xfd22xb,_0xfd22xc)})};function handleError(_0xfd22xb,_0xfd22xc){return _0xfd22xb[_0xbd5b[14]](500)[_0xbd5b[13]](_0xfd22xc)}
\ No newline at end of file
+var _0x280b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x70\x6C\x6F\x61\x64\x2D\x66\x69\x6C\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x70\x61\x74\x68","\x73\x69\x6D\x70\x6C\x65\x2D\x72\x61\x6E\x64\x6F\x6D","\x61\x64\x6D\x2D\x7A\x69\x70","\x73\x74\x72\x69\x6E\x67\x2D\x74\x6F\x2D\x6A\x73\x6F\x6E","\x66\x73","\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73","\x6A\x6F\x69\x6E","\x4D\x61\x78\x20\x6E\x75\x6D\x62\x65\x72\x20\x6F\x66\x20\x66\x69\x6C\x65\x73\x20\x75\x70\x6C\x6F\x61\x64\x20\x65\x78\x63\x65\x65\x64\x65\x64","\x4F\x6E\x6C\x79\x20\x7A\x69\x70\x20\x66\x6F\x72\x6D\x61\x74\x20\x61\x63\x63\x65\x70\x74\x65\x64","\x54\x68\x65\x20\x6D\x61\x78\x69\x6D\x75\x6D\x20\x66\x69\x6C\x65\x20\x73\x69\x7A\x65\x20\x69\x73\x20\x35\x20\x4D\x62","\x49\x6E\x76\x61\x6C\x69\x64\x20\x72\x65\x71\x75\x65\x73\x74","\x65\x6E\x64","\x66\x69\x6C\x65","\x67\x65\x74\x45\x6E\x74\x72\x69\x65\x73","\x6E\x61\x6D\x65","\x6D\x61\x6E\x69\x66\x65\x73\x74\x2E\x6A\x73\x6F\x6E","\x75\x74\x66\x38","\x67\x65\x74\x44\x61\x74\x61","\x75\x70\x6C\x6F\x61\x64\x5A\x69\x70","\x6C\x6F\x67","\x70\x61\x72\x73\x65","\x65\x78\x74\x72\x61\x63\x74\x41\x6C\x6C\x54\x6F","\x6D\x65\x72\x67\x65","\x6A\x73\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x75\x6E\x6C\x69\x6E\x6B\x53\x79\x6E\x63","\x6D\x61\x6E\x69\x66\x65\x73\x74","\x6D\x61\x6E\x69\x66\x65\x73\x74\x2E\x6A\x73\x6F\x6E\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64","\x6F\x6E","\x65\x72\x72\x6F\x72","\x75\x70\x6C\x6F\x61\x64","\x75\x70\x64\x61\x74\x65","\x62\x6F\x64\x79","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79"];_0x280b[0];var _=require(_0x280b[1]);var uploadFile=require(_0x280b[2]);var config=require(_0x280b[3]);var path=require(_0x280b[4]);var sr=require(_0x280b[5]);var admZip=require(_0x280b[6]);var str2json=require(_0x280b[7]);var fs=require(_0x280b[8]);var Integration=require(_0x280b[10])[_0x280b[9]];exports[_0x280b[11]]=function(_0xc582xa,_0xc582xb){Integration[_0x280b[17]]({where:_0xc582xa[_0x280b[16]]})[_0x280b[15]](function(_0xc582xd){return _0xc582xb[_0x280b[14]](200)[_0x280b[13]](_0xc582xd)})[_0x280b[12]](function(_0xc582xc){return handleError(_0xc582xb,_0xc582xc)})};exports[_0x280b[18]]=function(_0xc582xa,_0xc582xb){Integration[_0x280b[22]](_0xc582xa[_0x280b[21]][_0x280b[20]])[_0x280b[15]](function(_0xc582xe){if(!_0xc582xe){return _0xc582xb[_0x280b[19]](404)};return _0xc582xb[_0x280b[13]](_0xc582xe);})[_0x280b[12]](function(_0xc582xc){return handleError(_0xc582xb,_0xc582xc)})};exports[_0x280b[23]]=function(_0xc582xa,_0xc582xb){var _0xc582xf= new uploadFile({dest:path[_0x280b[26]](config[_0x280b[24]],_0x280b[25]),maxFileSize:5*1000000,maxNumberOfFiles:1,minNumberOfFiles:1,acceptFileTypes:/(\.|\/)(zip)$/i,messages:{maxNumberOfFiles:_0x280b[27],acceptFileTypes:_0x280b[28],maxFileSize:_0x280b[29],invalidRequest:_0x280b[30]}});_0xc582xf[_0x280b[48]](_0x280b[31],function(_0xc582x10,_0xc582x11){var _0xc582x12= new admZip(_0xc582x11[_0x280b[32]][_0x280b[4]]);var _0xc582x13=false;var _0xc582x14=_0xc582x12[_0x280b[33]]();_0xc582x14[_0x280b[44]](function(_0xc582x15){if(_0xc582x15[_0x280b[34]]===_0x280b[35]){var _0xc582x16=_0xc582x15[_0x280b[37]]().toString(_0x280b[36]);console[_0x280b[39]](_0x280b[38],_0xc582x16);try{_0xc582x13=JSON[_0x280b[40]](_0xc582x16);console[_0x280b[39]](_0x280b[38],_0xc582x13);Integration[_0x280b[23]](_[_0x280b[42]](_0xc582x11[_0x280b[32]],_0xc582x13))[_0x280b[15]](function(_0xc582xe){_0xc582x12[_0x280b[41]](path[_0x280b[26]](config[_0x280b[24]],_0x280b[25]),true);return _0xc582xb[_0x280b[14]](201)[_0x280b[13]](_0xc582xe);})[_0x280b[12]](function(_0xc582xc){return handleError(_0xc582xb,_0xc582xc)});}catch(e){console[_0x280b[39]](e);var _0xc582xc={errors:[{type:_0x280b[43],message:e}]};return handleError(_0xc582xb,_0xc582xc);};}});fs[_0x280b[45]](_0xc582x11[_0x280b[32]][_0x280b[4]]);if(!_0xc582x13){var _0xc582xc={errors:[{type:_0x280b[46],message:_0x280b[47]}]};return handleError(_0xc582xb,_0xc582xc);};});_0xc582xf[_0x280b[48]](_0x280b[49],function(_0xc582x17){var _0xc582xc={errors:[{type:_0x280b[50],message:_0xc582x17}]};return handleError(_0xc582xb,_0xc582xc);});_0xc582xf[_0x280b[40]](_0xc582xa);};exports[_0x280b[51]]=function(_0xc582xa,_0xc582xb){if(_0xc582xa[_0x280b[52]][_0x280b[20]]){delete _0xc582xa[_0x280b[52]][_0x280b[20]]};Integration[_0x280b[54]]({where:{id:_0xc582xa[_0x280b[21]][_0x280b[20]]}})[_0x280b[15]](function(_0xc582xe){if(!_0xc582xe){return _0xc582xb[_0x280b[19]](404)};var _0xc582x18=_[_0x280b[42]](_0xc582xe,_0xc582xa[_0x280b[52]]);_0xc582x18[_0x280b[53]]()[_0x280b[15]](function(){return _0xc582xb[_0x280b[14]](200)[_0x280b[13]](_0xc582xe)})[_0x280b[12]](function(_0xc582xc){return handleError(_0xc582xb,_0xc582xc)});})[_0x280b[12]](function(_0xc582xc){return handleError(_0xc582xb,_0xc582xc)});};exports[_0x280b[55]]=function(_0xc582xa,_0xc582xb){Integration[_0x280b[54]]({where:{id:_0xc582xa[_0x280b[21]][_0x280b[20]]}})[_0x280b[15]](function(_0xc582xe){if(!_0xc582xe){return _0xc582xb[_0x280b[19]](404)};_0xc582xe[_0x280b[55]]()[_0x280b[15]](function(){return _0xc582xb[_0x280b[19]](204)})[_0x280b[12]](function(_0xc582xc){return handleError(_0xc582xb,_0xc582xc)});})[_0x280b[12]](function(_0xc582xc){return handleError(_0xc582xb,_0xc582xc)})};function handleError(_0xc582xb,_0xc582xc){return _0xc582xb[_0x280b[14]](500)[_0x280b[13]](_0xc582xc)}
\ No newline at end of file
index 6808327824f455042dd556fc1f7f416fc430427f..972cf7d5bcfcb06d208c0149ab7d6cd886398cde 100644 (file)
@@ -1 +1 @@
-var _0xf56d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0xf56d[0];var Integration=require(_0xf56d[2])[_0xf56d[1]];exports[_0xf56d[3]]=function(_0x7016x2){Integration[_0xf56d[4]](function(_0x7016x3){onSave(_0x7016x2,_0x7016x3)});Integration[_0xf56d[5]](function(_0x7016x3){onSave(_0x7016x2,_0x7016x3)});Integration[_0xf56d[6]](function(_0x7016x3){onRemove(_0x7016x2,_0x7016x3)});};function onSave(_0x7016x2,_0x7016x3,_0x7016x5){_0x7016x2[_0xf56d[8]](_0xf56d[7],_0x7016x3)}function onRemove(_0x7016x2,_0x7016x3,_0x7016x5){_0x7016x2[_0xf56d[8]](_0xf56d[9],_0x7016x3)}
\ No newline at end of file
+var _0xb70f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0xb70f[0];var Integration=require(_0xb70f[2])[_0xb70f[1]];exports[_0xb70f[3]]=function(_0x9033x2){Integration[_0xb70f[4]](function(_0x9033x3){onSave(_0x9033x2,_0x9033x3)});Integration[_0xb70f[5]](function(_0x9033x3){onSave(_0x9033x2,_0x9033x3)});Integration[_0xb70f[6]](function(_0x9033x3){onRemove(_0x9033x2,_0x9033x3)});};function onSave(_0x9033x2,_0x9033x3,_0x9033x5){_0x9033x2[_0xb70f[8]](_0xb70f[7],_0x9033x3)}function onRemove(_0x9033x2,_0x9033x3,_0x9033x5){_0x9033x2[_0xb70f[8]](_0xb70f[9],_0x9033x3)}
\ No newline at end of file
index 2d048bef773dc40fa6eac6781c096e0af8518abc..d2fbaf52239d9244eaae18ee8fd34e6651160a55 100644 (file)
@@ -1 +1 @@
-var _0x1135=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73","\x67\x65\x74"];_0x1135[0];var should=require(_0x1135[1]);var app=require(_0x1135[2]);var request=require(_0x1135[3]);describe(_0x1135[4],function(){it(_0x1135[5],function(_0x489ex4){request(app)[_0x1135[13]](_0x1135[12])[_0x1135[11]](200)[_0x1135[11]](_0x1135[10],/json/)[_0x1135[9]](function(_0x489ex5,_0x489ex6){if(_0x489ex5){return _0x489ex4(_0x489ex5)};_0x489ex6[_0x1135[8]][_0x1135[1]][_0x1135[7]][_0x1135[6]](Array);_0x489ex4();})})});
\ No newline at end of file
+var _0x8912=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73","\x67\x65\x74"];_0x8912[0];var should=require(_0x8912[1]);var app=require(_0x8912[2]);var request=require(_0x8912[3]);describe(_0x8912[4],function(){it(_0x8912[5],function(_0xaf28x4){request(app)[_0x8912[13]](_0x8912[12])[_0x8912[11]](200)[_0x8912[11]](_0x8912[10],/json/)[_0x8912[9]](function(_0xaf28x5,_0xaf28x6){if(_0xaf28x5){return _0xaf28x4(_0xaf28x5)};_0xaf28x6[_0x8912[8]][_0x8912[1]][_0x8912[7]][_0x8912[6]](Array);_0xaf28x4();})})});
\ No newline at end of file
index 1f5695f00005fbb9b733f7cb4f920b7ff116694b..792a5577f8d283177e99efb29071b4cba92bf057 100644 (file)
@@ -1 +1 @@
-var _0xf95e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x69\x6E\x74\x65\x72\x76\x61\x6C\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x61\x6C\x6C","\x67\x65\x74\x41\x6C\x6C","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x69\x6E\x74\x65\x72\x76\x61\x6C\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xf95e[0];var express=require(_0xf95e[1]);var controller=require(_0xf95e[2]);var auth=require(_0xf95e[3]);var router=express.Router();router[_0xf95e[7]](_0xf95e[4],auth[_0xf95e[5]](),controller[_0xf95e[6]]);router[_0xf95e[7]](_0xf95e[8],auth[_0xf95e[5]](),controller[_0xf95e[9]]);router[_0xf95e[7]](_0xf95e[10],auth[_0xf95e[5]](),controller[_0xf95e[11]]);router[_0xf95e[13]](_0xf95e[4],auth[_0xf95e[5]](),controller[_0xf95e[12]]);router[_0xf95e[13]](_0xf95e[14],auth[_0xf95e[5]](),controller[_0xf95e[15]]);router[_0xf95e[17]](_0xf95e[10],auth[_0xf95e[5]](),controller[_0xf95e[16]]);router[_0xf95e[19]](_0xf95e[4],auth[_0xf95e[5]](),controller[_0xf95e[18]]);router[_0xf95e[19]](_0xf95e[10],auth[_0xf95e[5]](),controller[_0xf95e[20]]);module[_0xf95e[21]]=router;
\ No newline at end of file
+var _0xc029=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x69\x6E\x74\x65\x72\x76\x61\x6C\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x61\x6C\x6C","\x67\x65\x74\x41\x6C\x6C","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x69\x6E\x74\x65\x72\x76\x61\x6C\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xc029[0];var express=require(_0xc029[1]);var controller=require(_0xc029[2]);var auth=require(_0xc029[3]);var router=express.Router();router[_0xc029[7]](_0xc029[4],auth[_0xc029[5]](),controller[_0xc029[6]]);router[_0xc029[7]](_0xc029[8],auth[_0xc029[5]](),controller[_0xc029[9]]);router[_0xc029[7]](_0xc029[10],auth[_0xc029[5]](),controller[_0xc029[11]]);router[_0xc029[13]](_0xc029[4],auth[_0xc029[5]](),controller[_0xc029[12]]);router[_0xc029[13]](_0xc029[14],auth[_0xc029[5]](),controller[_0xc029[15]]);router[_0xc029[17]](_0xc029[10],auth[_0xc029[5]](),controller[_0xc029[16]]);router[_0xc029[19]](_0xc029[4],auth[_0xc029[5]](),controller[_0xc029[18]]);router[_0xc029[19]](_0xc029[10],auth[_0xc029[5]](),controller[_0xc029[20]]);module[_0xc029[21]]=router;
\ No newline at end of file
index 19411337c9f4e99e758992c7d5916211ff3524e8..dbde108857a944431f3d5431d1bd0fdc45c48fdd 100644 (file)
@@ -1 +1 @@
-var _0xb689=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x67\x65\x74\x41\x6C\x6C","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x69\x6E\x74\x65\x72\x76\x61\x6C\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x62\x6F\x64\x79","\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64","\x6C\x6F\x67","\x63\x72\x65\x61\x74\x65","\x46\x69\x6E\x64\x69\x6E\x67\x20\x61\x70\x70\x20\x72\x6F\x77\x2E\x2E\x2E\x2E\x2E","\x6C\x65\x6E\x67\x74\x68","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x53\x55\x42\x49\x4E\x54\x45\x52\x56\x41\x4C","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x49\x4E\x54\x45\x52\x56\x41\x4C","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79","\x4D\x45\x53\x53\x41\x47\x45\x5F\x49\x4E\x54\x45\x52\x56\x41\x4C\x5F\x52\x4F\x55\x54\x45\x5F\x41\x53\x53\x4F\x43\x49\x41\x54\x45\x44","\x67\x65\x74\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73"];_0xb689[0];var _=require(_0xb689[1]);var Interval=require(_0xb689[3])[_0xb689[2]];var VoiceExtension=require(_0xb689[3])[_0xb689[4]];var sequelize=require(_0xb689[3])[_0xb689[5]];var util=require(_0xb689[6]);exports[_0xb689[7]]=function(_0xf24fx6,_0xf24fx7){var _0xf24fx8=[_0xb689[8]];var _0xf24fx9=_0xf24fx6[_0xb689[10]][_0xb689[9]]?parseInt(_0xf24fx6[_0xb689[10]][_0xb689[9]],10):100;var _0xf24fxa=_0xf24fx6[_0xb689[10]][_0xb689[11]]?parseInt(_0xf24fx6[_0xb689[10]][_0xb689[11]],10):0;var _0xf24fxb={where:{IntervalId:null},limit:_0xf24fx9,offset:_0xf24fxa*_0xf24fx9};_[_0xb689[25]](_0xf24fx6[_0xb689[10]],function(_0xf24fxc,_0xf24fxd){switch(_0xf24fxd){case _0xb689[9]:;case _0xb689[11]:break ;;case _0xb689[14]:_0xf24fxb[_0xb689[12]]=util[_0xb689[17]](_0xb689[13],_0xf24fx6[_0xb689[10]][_0xb689[14]],_0xf24fx6[_0xb689[10]][_0xb689[15]]||_0xb689[16])||null;break ;;case _0xb689[15]:break ;;case _0xb689[23]:_0xf24fxb[_0xb689[19]][_0xb689[18]]=[];_0xf24fx8[_0xb689[22]](function(_0xf24fxe){var _0xf24fxf={};_0xf24fxf[_0xf24fxe]={$like:_0xb689[20]+_0xf24fxc+_0xb689[20]};_0xf24fxb[_0xb689[19]][_0xb689[18]][_0xb689[21]](_0xf24fxf);});break ;;default:_0xf24fxb[_0xb689[19]][_0xf24fxd]={$like:{}};_0xf24fxb[_0xb689[19]][_0xf24fxd][_0xb689[24]]=_0xb689[20]+_0xf24fxc+_0xb689[20];;}});Interval[_0xb689[30]](_0xf24fxb)[_0xb689[29]](function(_0xf24fx11){return _0xf24fx7[_0xb689[28]](200)[_0xb689[27]](_0xf24fx11)})[_0xb689[26]](function(_0xf24fx10){return handleError(_0xf24fx7,_0xf24fx10)});};exports[_0xb689[31]]=function(_0xf24fx6,_0xf24fx7){Interval[_0xb689[32]]()[_0xb689[29]](function(_0xf24fx11){return _0xf24fx7[_0xb689[28]](200)[_0xb689[27]](_0xf24fx11)})[_0xb689[26]](function(_0xf24fx10){return handleError(_0xf24fx7,_0xf24fx10)})};exports[_0xb689[33]]=function(_0xf24fx6,_0xf24fx7){Interval[_0xb689[37]](_0xf24fx6[_0xb689[36]][_0xb689[35]],{include:[{all:true}]})[_0xb689[29]](function(_0xf24fx12){if(!_0xf24fx12){return _0xf24fx7[_0xb689[34]](404)};return _0xf24fx7[_0xb689[27]](_0xf24fx12);})[_0xb689[26]](function(_0xf24fx10){return handleError(_0xf24fx7,_0xf24fx10)})};exports[_0xb689[38]]=function(_0xf24fx6,_0xf24fx7){var _0xf24fx13={name:_0xf24fx6[_0xb689[39]][_0xb689[8]],IntervalId:_0xf24fx6[_0xb689[39]][_0xb689[40]]?_0xf24fx6[_0xb689[39]][_0xb689[40]]:null};if(_0xf24fx6[_0xb689[39]][_0xb689[35]]){_0xf24fx13[_0xb689[35]]={$ne:_0xf24fx6[_0xb689[39]][_0xb689[35]]}};console[_0xb689[41]](_0xf24fx6[_0xb689[39]]);Interval[_0xb689[32]]({where:_0xf24fx13})[_0xb689[29]](function(_0xf24fx11){if(!_0xf24fx11){return _0xf24fx7[_0xb689[34]](404)};return _0xf24fx7[_0xb689[27]](_0xf24fx11);})[_0xb689[26]](function(_0xf24fx10){return handleError(_0xf24fx7,_0xf24fx10)});};exports[_0xb689[42]]=function(_0xf24fx6,_0xf24fx7){Interval[_0xb689[32]]({where:{name:_0xf24fx6[_0xb689[39]][_0xb689[8]],IntervalId:_0xf24fx6[_0xb689[39]][_0xb689[40]]?_0xf24fx6[_0xb689[39]][_0xb689[40]]:null}})[_0xb689[29]](function(_0xf24fx14){console[_0xb689[41]](_0xf24fx14);console[_0xb689[41]](_0xb689[43]);if(!_0xf24fx14){return _0xf24fx7[_0xb689[34]](404)};if(_0xf24fx14[_0xb689[44]]>0){return _0xf24fx7[_0xb689[28]](500)[_0xb689[27]]({message:_0xf24fx6[_0xb689[39]][_0xb689[40]]?_0xb689[45]:_0xb689[46]})};Interval[_0xb689[42]](_0xf24fx6[_0xb689[39]])[_0xb689[29]](function(_0xf24fx12){return _0xf24fx7[_0xb689[28]](201)[_0xb689[27]](_0xf24fx12)})[_0xb689[26]](function(_0xf24fx10){return handleError(_0xf24fx7,_0xf24fx10)});})[_0xb689[26]](function(_0xf24fx10){return handleError(_0xf24fx7,_0xf24fx10)})};exports[_0xb689[47]]=function(_0xf24fx6,_0xf24fx7){Interval[_0xb689[32]]({where:{name:_0xf24fx6[_0xb689[39]][_0xb689[8]],IntervalId:_0xf24fx6[_0xb689[39]][_0xb689[40]]?_0xf24fx6[_0xb689[39]][_0xb689[40]]:null,id:{$ne:_0xf24fx6[_0xb689[39]][_0xb689[35]]}}})[_0xb689[29]](function(_0xf24fx14){console[_0xb689[41]](_0xf24fx14);console[_0xb689[41]](_0xb689[43]);if(!_0xf24fx14){return _0xf24fx7[_0xb689[34]](404)};if(_0xf24fx14[_0xb689[44]]>0){return _0xf24fx7[_0xb689[28]](500)[_0xb689[27]]({message:_0xf24fx6[_0xb689[39]][_0xb689[40]]?_0xb689[45]:_0xb689[46]})};if(_0xf24fx6[_0xb689[39]][_0xb689[35]]){delete _0xf24fx6[_0xb689[39]][_0xb689[35]]};Interval[_0xb689[51]]({where:{id:_0xf24fx6[_0xb689[36]][_0xb689[35]]}})[_0xb689[29]](function(_0xf24fx12){if(!_0xf24fx12){return _0xf24fx7[_0xb689[34]](404)};var _0xf24fx15=_[_0xb689[48]](_0xf24fx12,_0xf24fx6[_0xb689[39]]);return sequelize[_0xb689[50]](function(_0xf24fx16){return _0xf24fx15[_0xb689[49]]({transaction:_0xf24fx16})[_0xb689[29]](function(_0xf24fx12){VoiceExtension[_0xb689[47]]({interval:_0xf24fx12[_0xb689[8]]},{where:{IntervalId:_0xf24fx12[_0xb689[35]]}},{transaction:_0xf24fx16})})})[_0xb689[29]](function(){return _0xf24fx7[_0xb689[28]](200)[_0xb689[27]](_0xf24fx12)})[_0xb689[26]](function(_0xf24fx10){return handleError(_0xf24fx7,_0xf24fx10)});})[_0xb689[26]](function(_0xf24fx10){return handleError(_0xf24fx7,_0xf24fx10)});})[_0xb689[26]](function(_0xf24fx10){return handleError(_0xf24fx7,_0xf24fx10)})};exports[_0xb689[52]]=function(_0xf24fx6,_0xf24fx7){Interval[_0xb689[37]](_0xf24fx6[_0xb689[36]][_0xb689[35]])[_0xb689[29]](function(_0xf24fx12){if(!_0xf24fx12){return _0xf24fx7[_0xb689[34]](404)};_0xf24fx12[_0xb689[54]]({where:{isApp:true}})[_0xb689[29]](function(_0xf24fx17){console[_0xb689[41]](_0xf24fx17[_0xb689[44]]);if(_0xf24fx17[_0xb689[44]]>0){return _0xf24fx7[_0xb689[28]](500)[_0xb689[27]]({message:_0xb689[53]})};_0xf24fx12[_0xb689[52]]()[_0xb689[29]](function(){return _0xf24fx7[_0xb689[34]](204)})[_0xb689[26]](function(_0xf24fx10){return handleError(_0xf24fx7,_0xf24fx10)});})[_0xb689[26]](function(_0xf24fx10){return handleError(_0xf24fx7,_0xf24fx10)});})[_0xb689[26]](function(_0xf24fx10){return handleError(_0xf24fx7,_0xf24fx10)})};exports[_0xb689[55]]=function(_0xf24fx6,_0xf24fx7){var _0xf24fx18=false;Interval[_0xb689[32]]({where:{id:_0xf24fx6[_0xb689[10]][_0xb689[35]]},include:[{all:true}]})[_0xb689[29]](function(_0xf24fx11){if(!_0xf24fx11){return _0xf24fx7[_0xb689[34]](404)};_0xf24fx11[_0xb689[22]](function(_0xf24fx19){if(_0xf24fx19[_0xb689[56]][_0xb689[44]]>0){_0xf24fx18=true}});if(_0xf24fx18){return _0xf24fx7[_0xb689[28]](500)[_0xb689[27]]({message:_0xb689[53]})};Interval[_0xb689[52]]({where:{id:_0xf24fx6[_0xb689[10]][_0xb689[35]]},individualHooks:true})[_0xb689[29]](function(){return _0xf24fx7[_0xb689[34]](204)})[_0xb689[26]](function(_0xf24fx10){return handleError(_0xf24fx7,_0xf24fx10)});})[_0xb689[26]](function(_0xf24fx10){return handleError(_0xf24fx7,_0xf24fx10)});};function handleError(_0xf24fx7,_0xf24fx10){return _0xf24fx7[_0xb689[28]](500)[_0xb689[27]](_0xf24fx10)}
\ No newline at end of file
+var _0xcd1d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x67\x65\x74\x41\x6C\x6C","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x69\x6E\x74\x65\x72\x76\x61\x6C\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x62\x6F\x64\x79","\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64","\x6C\x6F\x67","\x63\x72\x65\x61\x74\x65","\x46\x69\x6E\x64\x69\x6E\x67\x20\x61\x70\x70\x20\x72\x6F\x77\x2E\x2E\x2E\x2E\x2E","\x6C\x65\x6E\x67\x74\x68","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x53\x55\x42\x49\x4E\x54\x45\x52\x56\x41\x4C","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x49\x4E\x54\x45\x52\x56\x41\x4C","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79","\x4D\x45\x53\x53\x41\x47\x45\x5F\x49\x4E\x54\x45\x52\x56\x41\x4C\x5F\x52\x4F\x55\x54\x45\x5F\x41\x53\x53\x4F\x43\x49\x41\x54\x45\x44","\x67\x65\x74\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73"];_0xcd1d[0];var _=require(_0xcd1d[1]);var Interval=require(_0xcd1d[3])[_0xcd1d[2]];var VoiceExtension=require(_0xcd1d[3])[_0xcd1d[4]];var sequelize=require(_0xcd1d[3])[_0xcd1d[5]];var util=require(_0xcd1d[6]);exports[_0xcd1d[7]]=function(_0x3e44x6,_0x3e44x7){var _0x3e44x8=[_0xcd1d[8]];var _0x3e44x9=_0x3e44x6[_0xcd1d[10]][_0xcd1d[9]]?parseInt(_0x3e44x6[_0xcd1d[10]][_0xcd1d[9]],10):100;var _0x3e44xa=_0x3e44x6[_0xcd1d[10]][_0xcd1d[11]]?parseInt(_0x3e44x6[_0xcd1d[10]][_0xcd1d[11]],10):0;var _0x3e44xb={where:{IntervalId:null},limit:_0x3e44x9,offset:_0x3e44xa*_0x3e44x9};_[_0xcd1d[25]](_0x3e44x6[_0xcd1d[10]],function(_0x3e44xc,_0x3e44xd){switch(_0x3e44xd){case _0xcd1d[9]:;case _0xcd1d[11]:break ;;case _0xcd1d[14]:_0x3e44xb[_0xcd1d[12]]=util[_0xcd1d[17]](_0xcd1d[13],_0x3e44x6[_0xcd1d[10]][_0xcd1d[14]],_0x3e44x6[_0xcd1d[10]][_0xcd1d[15]]||_0xcd1d[16])||null;break ;;case _0xcd1d[15]:break ;;case _0xcd1d[23]:_0x3e44xb[_0xcd1d[19]][_0xcd1d[18]]=[];_0x3e44x8[_0xcd1d[22]](function(_0x3e44xe){var _0x3e44xf={};_0x3e44xf[_0x3e44xe]={$like:_0xcd1d[20]+_0x3e44xc+_0xcd1d[20]};_0x3e44xb[_0xcd1d[19]][_0xcd1d[18]][_0xcd1d[21]](_0x3e44xf);});break ;;default:_0x3e44xb[_0xcd1d[19]][_0x3e44xd]={$like:{}};_0x3e44xb[_0xcd1d[19]][_0x3e44xd][_0xcd1d[24]]=_0xcd1d[20]+_0x3e44xc+_0xcd1d[20];;}});Interval[_0xcd1d[30]](_0x3e44xb)[_0xcd1d[29]](function(_0x3e44x11){return _0x3e44x7[_0xcd1d[28]](200)[_0xcd1d[27]](_0x3e44x11)})[_0xcd1d[26]](function(_0x3e44x10){return handleError(_0x3e44x7,_0x3e44x10)});};exports[_0xcd1d[31]]=function(_0x3e44x6,_0x3e44x7){Interval[_0xcd1d[32]]()[_0xcd1d[29]](function(_0x3e44x11){return _0x3e44x7[_0xcd1d[28]](200)[_0xcd1d[27]](_0x3e44x11)})[_0xcd1d[26]](function(_0x3e44x10){return handleError(_0x3e44x7,_0x3e44x10)})};exports[_0xcd1d[33]]=function(_0x3e44x6,_0x3e44x7){Interval[_0xcd1d[37]](_0x3e44x6[_0xcd1d[36]][_0xcd1d[35]],{include:[{all:true}]})[_0xcd1d[29]](function(_0x3e44x12){if(!_0x3e44x12){return _0x3e44x7[_0xcd1d[34]](404)};return _0x3e44x7[_0xcd1d[27]](_0x3e44x12);})[_0xcd1d[26]](function(_0x3e44x10){return handleError(_0x3e44x7,_0x3e44x10)})};exports[_0xcd1d[38]]=function(_0x3e44x6,_0x3e44x7){var _0x3e44x13={name:_0x3e44x6[_0xcd1d[39]][_0xcd1d[8]],IntervalId:_0x3e44x6[_0xcd1d[39]][_0xcd1d[40]]?_0x3e44x6[_0xcd1d[39]][_0xcd1d[40]]:null};if(_0x3e44x6[_0xcd1d[39]][_0xcd1d[35]]){_0x3e44x13[_0xcd1d[35]]={$ne:_0x3e44x6[_0xcd1d[39]][_0xcd1d[35]]}};console[_0xcd1d[41]](_0x3e44x6[_0xcd1d[39]]);Interval[_0xcd1d[32]]({where:_0x3e44x13})[_0xcd1d[29]](function(_0x3e44x11){if(!_0x3e44x11){return _0x3e44x7[_0xcd1d[34]](404)};return _0x3e44x7[_0xcd1d[27]](_0x3e44x11);})[_0xcd1d[26]](function(_0x3e44x10){return handleError(_0x3e44x7,_0x3e44x10)});};exports[_0xcd1d[42]]=function(_0x3e44x6,_0x3e44x7){Interval[_0xcd1d[32]]({where:{name:_0x3e44x6[_0xcd1d[39]][_0xcd1d[8]],IntervalId:_0x3e44x6[_0xcd1d[39]][_0xcd1d[40]]?_0x3e44x6[_0xcd1d[39]][_0xcd1d[40]]:null}})[_0xcd1d[29]](function(_0x3e44x14){console[_0xcd1d[41]](_0x3e44x14);console[_0xcd1d[41]](_0xcd1d[43]);if(!_0x3e44x14){return _0x3e44x7[_0xcd1d[34]](404)};if(_0x3e44x14[_0xcd1d[44]]>0){return _0x3e44x7[_0xcd1d[28]](500)[_0xcd1d[27]]({message:_0x3e44x6[_0xcd1d[39]][_0xcd1d[40]]?_0xcd1d[45]:_0xcd1d[46]})};Interval[_0xcd1d[42]](_0x3e44x6[_0xcd1d[39]])[_0xcd1d[29]](function(_0x3e44x12){return _0x3e44x7[_0xcd1d[28]](201)[_0xcd1d[27]](_0x3e44x12)})[_0xcd1d[26]](function(_0x3e44x10){return handleError(_0x3e44x7,_0x3e44x10)});})[_0xcd1d[26]](function(_0x3e44x10){return handleError(_0x3e44x7,_0x3e44x10)})};exports[_0xcd1d[47]]=function(_0x3e44x6,_0x3e44x7){Interval[_0xcd1d[32]]({where:{name:_0x3e44x6[_0xcd1d[39]][_0xcd1d[8]],IntervalId:_0x3e44x6[_0xcd1d[39]][_0xcd1d[40]]?_0x3e44x6[_0xcd1d[39]][_0xcd1d[40]]:null,id:{$ne:_0x3e44x6[_0xcd1d[39]][_0xcd1d[35]]}}})[_0xcd1d[29]](function(_0x3e44x14){console[_0xcd1d[41]](_0x3e44x14);console[_0xcd1d[41]](_0xcd1d[43]);if(!_0x3e44x14){return _0x3e44x7[_0xcd1d[34]](404)};if(_0x3e44x14[_0xcd1d[44]]>0){return _0x3e44x7[_0xcd1d[28]](500)[_0xcd1d[27]]({message:_0x3e44x6[_0xcd1d[39]][_0xcd1d[40]]?_0xcd1d[45]:_0xcd1d[46]})};if(_0x3e44x6[_0xcd1d[39]][_0xcd1d[35]]){delete _0x3e44x6[_0xcd1d[39]][_0xcd1d[35]]};Interval[_0xcd1d[51]]({where:{id:_0x3e44x6[_0xcd1d[36]][_0xcd1d[35]]}})[_0xcd1d[29]](function(_0x3e44x12){if(!_0x3e44x12){return _0x3e44x7[_0xcd1d[34]](404)};var _0x3e44x15=_[_0xcd1d[48]](_0x3e44x12,_0x3e44x6[_0xcd1d[39]]);return sequelize[_0xcd1d[50]](function(_0x3e44x16){return _0x3e44x15[_0xcd1d[49]]({transaction:_0x3e44x16})[_0xcd1d[29]](function(_0x3e44x12){VoiceExtension[_0xcd1d[47]]({interval:_0x3e44x12[_0xcd1d[8]]},{where:{IntervalId:_0x3e44x12[_0xcd1d[35]]}},{transaction:_0x3e44x16})})})[_0xcd1d[29]](function(){return _0x3e44x7[_0xcd1d[28]](200)[_0xcd1d[27]](_0x3e44x12)})[_0xcd1d[26]](function(_0x3e44x10){return handleError(_0x3e44x7,_0x3e44x10)});})[_0xcd1d[26]](function(_0x3e44x10){return handleError(_0x3e44x7,_0x3e44x10)});})[_0xcd1d[26]](function(_0x3e44x10){return handleError(_0x3e44x7,_0x3e44x10)})};exports[_0xcd1d[52]]=function(_0x3e44x6,_0x3e44x7){Interval[_0xcd1d[37]](_0x3e44x6[_0xcd1d[36]][_0xcd1d[35]])[_0xcd1d[29]](function(_0x3e44x12){if(!_0x3e44x12){return _0x3e44x7[_0xcd1d[34]](404)};_0x3e44x12[_0xcd1d[54]]({where:{isApp:true}})[_0xcd1d[29]](function(_0x3e44x17){console[_0xcd1d[41]](_0x3e44x17[_0xcd1d[44]]);if(_0x3e44x17[_0xcd1d[44]]>0){return _0x3e44x7[_0xcd1d[28]](500)[_0xcd1d[27]]({message:_0xcd1d[53]})};_0x3e44x12[_0xcd1d[52]]()[_0xcd1d[29]](function(){return _0x3e44x7[_0xcd1d[34]](204)})[_0xcd1d[26]](function(_0x3e44x10){return handleError(_0x3e44x7,_0x3e44x10)});})[_0xcd1d[26]](function(_0x3e44x10){return handleError(_0x3e44x7,_0x3e44x10)});})[_0xcd1d[26]](function(_0x3e44x10){return handleError(_0x3e44x7,_0x3e44x10)})};exports[_0xcd1d[55]]=function(_0x3e44x6,_0x3e44x7){var _0x3e44x18=false;Interval[_0xcd1d[32]]({where:{id:_0x3e44x6[_0xcd1d[10]][_0xcd1d[35]]},include:[{all:true}]})[_0xcd1d[29]](function(_0x3e44x11){if(!_0x3e44x11){return _0x3e44x7[_0xcd1d[34]](404)};_0x3e44x11[_0xcd1d[22]](function(_0x3e44x19){if(_0x3e44x19[_0xcd1d[56]][_0xcd1d[44]]>0){_0x3e44x18=true}});if(_0x3e44x18){return _0x3e44x7[_0xcd1d[28]](500)[_0xcd1d[27]]({message:_0xcd1d[53]})};Interval[_0xcd1d[52]]({where:{id:_0x3e44x6[_0xcd1d[10]][_0xcd1d[35]]},individualHooks:true})[_0xcd1d[29]](function(){return _0x3e44x7[_0xcd1d[34]](204)})[_0xcd1d[26]](function(_0x3e44x10){return handleError(_0x3e44x7,_0x3e44x10)});})[_0xcd1d[26]](function(_0x3e44x10){return handleError(_0x3e44x7,_0x3e44x10)});};function handleError(_0x3e44x7,_0x3e44x10){return _0x3e44x7[_0xcd1d[28]](500)[_0xcd1d[27]](_0x3e44x10)}
\ No newline at end of file
index 52986bd3eaac431e0220a1315748c901539d843c..393375191fcba5cc20dd217cedacd84a3055443b 100644 (file)
@@ -1 +1 @@
-var _0x7b7f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x69\x6E\x74\x65\x72\x76\x61\x6C\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x69\x6E\x74\x65\x72\x76\x61\x6C\x3A\x72\x65\x6D\x6F\x76\x65","\x69\x6E\x74\x65\x72\x76\x61\x6C\x3A\x75\x70\x64\x61\x74\x65"];_0x7b7f[0];var Interval=require(_0x7b7f[2])[_0x7b7f[1]];exports[_0x7b7f[3]]=function(_0x5f09x2){Interval[_0x7b7f[4]](function(_0x5f09x3){onSave(_0x5f09x2,_0x5f09x3)});Interval[_0x7b7f[5]](function(_0x5f09x3){onRemove(_0x5f09x2,_0x5f09x3)});Interval[_0x7b7f[6]](function(_0x5f09x3){onUpdate(_0x5f09x2,_0x5f09x3)});};function onSave(_0x5f09x2,_0x5f09x3,_0x5f09x5){_0x5f09x2[_0x7b7f[8]](_0x7b7f[7],_0x5f09x3)}function onRemove(_0x5f09x2,_0x5f09x3,_0x5f09x5){_0x5f09x2[_0x7b7f[8]](_0x7b7f[9],_0x5f09x3)}function onUpdate(_0x5f09x2,_0x5f09x3,_0x5f09x5){_0x5f09x2[_0x7b7f[8]](_0x7b7f[10],_0x5f09x3)}
\ No newline at end of file
+var _0x921a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x69\x6E\x74\x65\x72\x76\x61\x6C\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x69\x6E\x74\x65\x72\x76\x61\x6C\x3A\x72\x65\x6D\x6F\x76\x65","\x69\x6E\x74\x65\x72\x76\x61\x6C\x3A\x75\x70\x64\x61\x74\x65"];_0x921a[0];var Interval=require(_0x921a[2])[_0x921a[1]];exports[_0x921a[3]]=function(_0xdea4x2){Interval[_0x921a[4]](function(_0xdea4x3){onSave(_0xdea4x2,_0xdea4x3)});Interval[_0x921a[5]](function(_0xdea4x3){onRemove(_0xdea4x2,_0xdea4x3)});Interval[_0x921a[6]](function(_0xdea4x3){onUpdate(_0xdea4x2,_0xdea4x3)});};function onSave(_0xdea4x2,_0xdea4x3,_0xdea4x5){_0xdea4x2[_0x921a[8]](_0x921a[7],_0xdea4x3)}function onRemove(_0xdea4x2,_0xdea4x3,_0xdea4x5){_0xdea4x2[_0x921a[8]](_0x921a[9],_0xdea4x3)}function onUpdate(_0xdea4x2,_0xdea4x3,_0xdea4x5){_0xdea4x2[_0x921a[8]](_0x921a[10],_0xdea4x3)}
\ No newline at end of file
index db10e2b5eee410550c07fb01a8d1a2cbb6d0b68f..ddab4db2b2663c153ffbbb39f671f2bb3621bf78 100644 (file)
@@ -1 +1 @@
-var _0xb84d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x69\x6E\x74\x65\x72\x76\x61\x6C\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x69\x6E\x74\x65\x72\x76\x61\x6C\x73","\x67\x65\x74"];_0xb84d[0];var should=require(_0xb84d[1]);var app=require(_0xb84d[2]);var request=require(_0xb84d[3]);describe(_0xb84d[4],function(){it(_0xb84d[5],function(_0x7263x4){request(app)[_0xb84d[13]](_0xb84d[12])[_0xb84d[11]](200)[_0xb84d[11]](_0xb84d[10],/json/)[_0xb84d[9]](function(_0x7263x5,_0x7263x6){if(_0x7263x5){return _0x7263x4(_0x7263x5)};_0x7263x6[_0xb84d[8]][_0xb84d[1]][_0xb84d[7]][_0xb84d[6]](Array);_0x7263x4();})})});
\ No newline at end of file
+var _0x2899=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x69\x6E\x74\x65\x72\x76\x61\x6C\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x69\x6E\x74\x65\x72\x76\x61\x6C\x73","\x67\x65\x74"];_0x2899[0];var should=require(_0x2899[1]);var app=require(_0x2899[2]);var request=require(_0x2899[3]);describe(_0x2899[4],function(){it(_0x2899[5],function(_0x4c82x4){request(app)[_0x2899[13]](_0x2899[12])[_0x2899[11]](200)[_0x2899[11]](_0x2899[10],/json/)[_0x2899[9]](function(_0x4c82x5,_0x4c82x6){if(_0x4c82x5){return _0x4c82x4(_0x4c82x5)};_0x4c82x6[_0x2899[8]][_0x2899[1]][_0x2899[7]][_0x2899[6]](Array);_0x4c82x4();})})});
\ No newline at end of file
index b3542b2556f51dbd1280ca68af3a4f0edced6bb5..6134640127226b30bba8b0ee11ba227d3f674ce1 100644 (file)
@@ -1 +1 @@
-var _0xeb5f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x72\x65\x71\x75\x65\x73\x74","\x72\x65\x71\x75\x65\x73\x74","\x70\x6F\x73\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xeb5f[0];var express=require(_0xeb5f[1]);var auth=require(_0xeb5f[2]);var controller=require(_0xeb5f[3]);var router=express.Router();router[_0xeb5f[7]](_0xeb5f[4],auth[_0xeb5f[5]](),controller[_0xeb5f[6]]);router[_0xeb5f[10]](_0xeb5f[8],auth[_0xeb5f[5]](),controller[_0xeb5f[9]]);module[_0xeb5f[11]]=router;
\ No newline at end of file
+var _0x7e22=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x72\x65\x71\x75\x65\x73\x74","\x72\x65\x71\x75\x65\x73\x74","\x70\x6F\x73\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x7e22[0];var express=require(_0x7e22[1]);var auth=require(_0x7e22[2]);var controller=require(_0x7e22[3]);var router=express.Router();router[_0x7e22[7]](_0x7e22[4],auth[_0x7e22[5]](),controller[_0x7e22[6]]);router[_0x7e22[10]](_0x7e22[8],auth[_0x7e22[5]](),controller[_0x7e22[9]]);module[_0x7e22[11]]=router;
\ No newline at end of file
index ccf74ff13f28ceea9694be57687a72766a82c87e..6ced8f50bdf1377726ae61459a4f7658ac259a6f 100644 (file)
@@ -1 +1 @@
-var _0x2821=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x72\x65\x71\x75\x65\x73\x74\x2D\x70\x72\x6F\x6D\x69\x73\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x53\x65\x74\x74\x69\x6E\x67\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x44\x45\x4D\x4F\x20\x4C\x49\x43\x45\x4E\x53\x45","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6C\x69\x63\x65\x6E\x73\x65","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x64\x65\x63\x72\x79\x70\x74","\x70\x61\x72\x73\x65","\x65\x6E\x74\x69\x74\x79","\x6C\x6F\x67","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x66\x69\x6E\x64\x42\x79\x49\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x72\x65\x71\x75\x65\x73\x74","\x73\x74\x61\x74\x75\x73\x43\x6F\x64\x65","\x50\x4F\x53\x54","\x70\x72\x6F\x76\x69\x73\x69\x6F\x6E\x69\x6E\x67","\x2F\x73\x65\x72\x76\x65\x72\x73\x2F","\x75\x75\x69\x64","\x2F\x72\x65\x71\x75\x65\x73\x74","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65"];_0x2821[0];var _=require(_0x2821[1]);var rp=require(_0x2821[2]);var config=require(_0x2821[3]);var license=require(_0x2821[4]);var Settings=require(_0x2821[6])[_0x2821[5]];var demoLicense={users:1,agents:1,telephones:0,chat:false,mail:false,fax:false,description:_0x2821[7]};function handleError(_0x59cbx8,_0x59cbx9){_0x59cbx9=_0x59cbx9||500;return function(_0x59cbxa){_0x59cbx8[_0x2821[9]](_0x59cbx9)[_0x2821[8]](_0x59cbxa)};}function responseWithResult(_0x59cbx8,_0x59cbx9){_0x59cbx9=_0x59cbx9||200;return function(_0x59cbxc){if(_0x59cbxc){if(_0x59cbxc[_0x2821[10]]){_0x59cbxc[_0x2821[11]][_0x2821[10]]=license[_0x2821[12]](_0x59cbxc[_0x2821[11]][_0x2821[10]]);_0x59cbxc[_0x2821[11]][_0x2821[10]]=JSON[_0x2821[13]](_0x59cbxc[_0x2821[11]][_0x2821[10]]);}else {_0x59cbxc[_0x2821[11]][_0x2821[10]]=demoLicense};console[_0x2821[15]](_0x2821[14],_0x59cbxc[_0x2821[11]]);_0x59cbx8[_0x2821[9]](_0x59cbx9)[_0x2821[16]](_0x59cbxc);}};}function handleEntityNotFound(_0x59cbx8){return function(_0x59cbxc){if(!_0x59cbxc){_0x59cbx8[_0x2821[9]](404)[_0x2821[17]]();return null;};return _0x59cbxc;}}function saveUpdates(_0x59cbxf){return function(_0x59cbxc){return _0x59cbxc[_0x2821[19]](_0x59cbxf)[_0x2821[18]](function(_0x59cbx10){return _0x59cbx10})}}function removeEntity(_0x59cbx8){return function(_0x59cbxc){if(_0x59cbxc){return _0x59cbxc[_0x2821[20]]()[_0x2821[18]](function(){_0x59cbx8[_0x2821[9]](204)[_0x2821[17]]()})}}}exports[_0x2821[21]]=function(_0x59cbx12,_0x59cbx8){Settings[_0x2821[23]](1)[_0x2821[18]](handleEntityNotFound(_0x59cbx8))[_0x2821[18]](responseWithResult(_0x59cbx8))[_0x2821[22]](handleError(_0x59cbx8))};exports[_0x2821[24]]=function(_0x59cbx12,_0x59cbx8){};exports[_0x2821[25]]=function(_0x59cbx12,_0x59cbx8){};exports[_0x2821[26]]=function(_0x59cbx12,_0x59cbx8){return rp({method:_0x2821[28],uri:config[_0x2821[29]]+_0x2821[30]+config[_0x2821[31]]+_0x2821[32],body:_0x59cbx12[_0x2821[33]],json:true})[_0x2821[18]](function(_0x59cbx13){console[_0x2821[15]](_0x59cbx13);_0x59cbx8[_0x2821[9]](201)[_0x2821[8]](_0x59cbx13);})[_0x2821[22]](function(_0x59cbxa){console[_0x2821[15]](_0x59cbxa);return _0x59cbx8[_0x2821[9]](_0x59cbxa[_0x2821[27]]||500)[_0x2821[8]](_0x59cbxa);})};exports[_0x2821[34]]=function(_0x59cbx12,_0x59cbx8){};exports[_0x2821[20]]=function(_0x59cbx12,_0x59cbx8){};
\ No newline at end of file
+var _0x48c1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x72\x65\x71\x75\x65\x73\x74\x2D\x70\x72\x6F\x6D\x69\x73\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x53\x65\x74\x74\x69\x6E\x67\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x44\x45\x4D\x4F\x20\x4C\x49\x43\x45\x4E\x53\x45","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6C\x69\x63\x65\x6E\x73\x65","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x64\x65\x63\x72\x79\x70\x74","\x70\x61\x72\x73\x65","\x74\x6F\x6B\x65\x6E","\x75\x75\x69\x64","\x6A\x73\x6F\x6E","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x65\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x66\x69\x6E\x64\x42\x79\x49\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x72\x65\x71\x75\x65\x73\x74","\x6C\x6F\x67","\x73\x74\x61\x74\x75\x73\x43\x6F\x64\x65","\x50\x4F\x53\x54","\x70\x72\x6F\x76\x69\x73\x69\x6F\x6E\x69\x6E\x67","\x2F\x73\x65\x72\x76\x65\x72\x73\x2F","\x2F\x72\x65\x71\x75\x65\x73\x74","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65"];_0x48c1[0];var _=require(_0x48c1[1]);var rp=require(_0x48c1[2]);var config=require(_0x48c1[3]);var license=require(_0x48c1[4]);var Settings=require(_0x48c1[6])[_0x48c1[5]];var demoLicense={users:1,agents:1,telephones:0,chat:false,mail:false,fax:false,description:_0x48c1[7]};function handleError(_0x5030x8,_0x5030x9){_0x5030x9=_0x5030x9||500;return function(_0x5030xa){_0x5030x8[_0x48c1[9]](_0x5030x9)[_0x48c1[8]](_0x5030xa)};}function responseWithResult(_0x5030x8,_0x5030x9){_0x5030x9=_0x5030x9||200;return function(_0x5030xc){if(_0x5030xc){if(_0x5030xc[_0x48c1[10]]){_0x5030xc[_0x48c1[11]][_0x48c1[10]]=license[_0x48c1[12]](_0x5030xc[_0x48c1[11]][_0x48c1[10]]);_0x5030xc[_0x48c1[11]][_0x48c1[10]]=JSON[_0x48c1[13]](_0x5030xc[_0x48c1[11]][_0x48c1[10]]);}else {_0x5030xc[_0x48c1[11]][_0x48c1[10]]=demoLicense};_0x5030xc[_0x48c1[11]][_0x48c1[10]][_0x48c1[14]]=config[_0x48c1[15]];_0x5030x8[_0x48c1[9]](_0x5030x9)[_0x48c1[16]](_0x5030xc);}};}function handleEntityNotFound(_0x5030x8){return function(_0x5030xc){if(!_0x5030xc){_0x5030xc={dataValues:{license:demoLicense}};_0x5030xc[_0x48c1[11]][_0x48c1[10]][_0x48c1[14]]=config[_0x48c1[15]];_0x5030x8[_0x48c1[9]](201)[_0x48c1[16]](_0x5030xc);return null;};return _0x5030xc;}}function saveUpdates(_0x5030xf){return function(_0x5030xc){return _0x5030xc[_0x48c1[18]](_0x5030xf)[_0x48c1[17]](function(_0x5030x10){return _0x5030x10})}}function removeEntity(_0x5030x8){return function(_0x5030xc){if(_0x5030xc){return _0x5030xc[_0x48c1[20]]()[_0x48c1[17]](function(){_0x5030x8[_0x48c1[9]](204)[_0x48c1[19]]()})}}}exports[_0x48c1[21]]=function(_0x5030x12,_0x5030x8){Settings[_0x48c1[23]](1)[_0x48c1[17]](handleEntityNotFound(_0x5030x8))[_0x48c1[17]](responseWithResult(_0x5030x8))[_0x48c1[22]](handleError(_0x5030x8))};exports[_0x48c1[24]]=function(_0x5030x12,_0x5030x8){};exports[_0x48c1[25]]=function(_0x5030x12,_0x5030x8){};exports[_0x48c1[26]]=function(_0x5030x12,_0x5030x8){return rp({method:_0x48c1[29],uri:config[_0x48c1[30]]+_0x48c1[31]+config[_0x48c1[15]]+_0x48c1[32],body:_0x5030x12[_0x48c1[33]],json:true})[_0x48c1[17]](function(_0x5030x13){console[_0x48c1[27]](_0x5030x13);_0x5030x8[_0x48c1[9]](201)[_0x48c1[8]](_0x5030x13);})[_0x48c1[22]](function(_0x5030xa){console[_0x48c1[27]](_0x5030xa);return _0x5030x8[_0x48c1[9]](_0x5030xa[_0x48c1[28]]||500)[_0x48c1[8]](_0x5030xa);})};exports[_0x48c1[34]]=function(_0x5030x12,_0x5030x8){};exports[_0x48c1[20]]=function(_0x5030x12,_0x5030x8){};
\ No newline at end of file
index 02e83b8d6447615ccc58195fafb147da3bea0162..228e704fd5e265339d67b17420f50b3d566f9138 100644 (file)
@@ -1 +1 @@
-var _0xcd9a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x69\x63\x65\x6E\x73\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6C\x69\x63\x65\x6E\x73\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0xcd9a[0];exports[_0xcd9a[1]]=function(_0xaf69x1){};function onSave(_0xaf69x1,_0xaf69x3,_0xaf69x4){_0xaf69x1[_0xcd9a[3]](_0xcd9a[2],_0xaf69x3)}function onRemove(_0xaf69x1,_0xaf69x3,_0xaf69x4){_0xaf69x1[_0xcd9a[3]](_0xcd9a[4],_0xaf69x3)}
\ No newline at end of file
+var _0xa2ef=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x69\x63\x65\x6E\x73\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6C\x69\x63\x65\x6E\x73\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0xa2ef[0];exports[_0xa2ef[1]]=function(_0xb945x1){};function onSave(_0xb945x1,_0xb945x3,_0xb945x4){_0xb945x1[_0xa2ef[3]](_0xa2ef[2],_0xb945x3)}function onRemove(_0xb945x1,_0xb945x3,_0xb945x4){_0xb945x1[_0xa2ef[3]](_0xa2ef[4],_0xb945x3)}
\ No newline at end of file
index 240c5d1ebfbf26fd63914c1b409680996b95af00..7a05f472074b41a27f86035b6f670eee0eb6b78f 100644 (file)
@@ -1 +1 @@
-var _0x825a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x3A\x69\x64\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x73\x6F\x72\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x825a[0];var express=require(_0x825a[1]);var controller=require(_0x825a[2]);var router=express.Router();router[_0x825a[5]](_0x825a[3],controller[_0x825a[4]]);router[_0x825a[5]](_0x825a[6],controller[_0x825a[7]]);router[_0x825a[9]](_0x825a[3],controller[_0x825a[8]]);router[_0x825a[9]](_0x825a[10],controller[_0x825a[11]]);router[_0x825a[13]](_0x825a[6],controller[_0x825a[12]]);router[_0x825a[14]](_0x825a[6],controller[_0x825a[12]]);router[_0x825a[16]](_0x825a[3],controller[_0x825a[15]]);router[_0x825a[16]](_0x825a[6],controller[_0x825a[17]]);module[_0x825a[18]]=router;
\ No newline at end of file
+var _0x68c9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x3A\x69\x64\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x73\x6F\x72\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x68c9[0];var express=require(_0x68c9[1]);var controller=require(_0x68c9[2]);var router=express.Router();router[_0x68c9[5]](_0x68c9[3],controller[_0x68c9[4]]);router[_0x68c9[5]](_0x68c9[6],controller[_0x68c9[7]]);router[_0x68c9[9]](_0x68c9[3],controller[_0x68c9[8]]);router[_0x68c9[9]](_0x68c9[10],controller[_0x68c9[11]]);router[_0x68c9[13]](_0x68c9[6],controller[_0x68c9[12]]);router[_0x68c9[14]](_0x68c9[6],controller[_0x68c9[12]]);router[_0x68c9[16]](_0x68c9[3],controller[_0x68c9[15]]);router[_0x68c9[16]](_0x68c9[6],controller[_0x68c9[17]]);module[_0x68c9[18]]=router;
\ No newline at end of file
index 6049215417e8bebcfd673b2578e7a00795d7ae78..4fc691a0d76d4485529aa67a119b92c62588ce67 100644 (file)
@@ -1 +1 @@
-var _0x55af=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x61\x73\x79\x6E\x63","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x4D\x61\x69\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x49\x6E","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x69\x6E\x64\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x61\x64\x64\x72\x65\x73\x73","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x69\x6E\x63\x6F\x6D\x69\x6E\x67","\x62\x6F\x64\x79","\x6F\x75\x74\x67\x6F\x69\x6E\x67","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x73\x6F\x72\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x64\x65\x73\x74\x72\x6F\x79","\x6C\x6F\x67","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x6C\x65\x6E\x67\x74\x68","\x66\x69\x6E\x64","\x70\x72\x69\x6F\x72\x69\x74\x79","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x77\x61\x74\x65\x72\x66\x61\x6C\x6C","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0x55af[0];var _=require(_0x55af[1]);var util=require(_0x55af[2]);var async=require(_0x55af[3]);var sequelize=require(_0x55af[5])[_0x55af[4]];var MailAccount=require(_0x55af[5])[_0x55af[6]];var MailApplication=require(_0x55af[5])[_0x55af[7]];var MailServerIn=require(_0x55af[5])[_0x55af[8]];var MailServerOut=require(_0x55af[5])[_0x55af[9]];exports[_0x55af[10]]=function(_0x53b8x9,_0x53b8xa){var _0x53b8xb=[_0x55af[11],_0x55af[12],_0x55af[13]];var _0x53b8xc=_0x53b8x9[_0x55af[15]][_0x55af[14]]?parseInt(_0x53b8x9[_0x55af[15]][_0x55af[14]],10):100;var _0x53b8xd=_0x53b8x9[_0x55af[15]][_0x55af[16]]?parseInt(_0x53b8x9[_0x55af[15]][_0x55af[16]],10):0;var _0x53b8xe={where:{},limit:_0x53b8xc,offset:_0x53b8xd*_0x53b8xc,include:[{all:true}]};_[_0x55af[30]](_0x53b8x9[_0x55af[15]],function(_0x53b8xf,_0x53b8x10){switch(_0x53b8x10){case _0x55af[14]:;case _0x55af[16]:break ;;case _0x55af[19]:_0x53b8xe[_0x55af[17]]=util[_0x55af[22]](_0x55af[18],_0x53b8x9[_0x55af[15]][_0x55af[19]],_0x53b8x9[_0x55af[15]][_0x55af[20]]||_0x55af[21])||null;break ;;case _0x55af[20]:break ;;case _0x55af[28]:_0x53b8xe[_0x55af[24]][_0x55af[23]]=[];_0x53b8xb[_0x55af[27]](function(_0x53b8x11){var _0x53b8x12={};_0x53b8x12[_0x53b8x11]={$like:_0x55af[25]+_0x53b8xf+_0x55af[25]};_0x53b8xe[_0x55af[24]][_0x55af[23]][_0x55af[26]](_0x53b8x12);});break ;;default:_0x53b8xe[_0x55af[24]][_0x53b8x10]={$like:{}};_0x53b8xe[_0x55af[24]][_0x53b8x10][_0x55af[29]]=_0x55af[25]+_0x53b8xf+_0x55af[25];;}});MailAccount[_0x55af[44]](_0x53b8xe)[_0x55af[43]](function(_0x53b8x14){var _0x53b8x15=Math[_0x55af[33]](_0x53b8x14[_0x55af[32]]/_0x53b8xc);var _0x53b8x16=_0x53b8x15>(_0x53b8xe[_0x55af[34]]+1)?util[_0x55af[22]](_0x55af[35],_0x53b8x9[_0x55af[36]],_0x53b8x9[_0x55af[38]][_0x55af[37]],_0x53b8x9[_0x55af[39]],_0x53b8xd+1):null;var _0x53b8x17=_0x53b8xd>0?util[_0x55af[22]](_0x55af[35],_0x53b8x9[_0x55af[36]],_0x53b8x9[_0x55af[38]][_0x55af[37]],_0x53b8x9[_0x55af[39]],_0x53b8xd-1):null;_0x53b8xa[_0x55af[42]](200)[_0x55af[41]]({count:_0x53b8x14[_0x55af[32]],rows:_0x53b8x14[_0x55af[40]],next_page:_0x53b8x16,previous_page:_0x53b8x17,total_pages:_0x53b8x15});})[_0x55af[31]](function(_0x53b8x13){return handleError(_0x53b8xa,_0x53b8x13)});};exports[_0x55af[45]]=function(_0x53b8x9,_0x53b8xa,_0x53b8x18){MailAccount[_0x55af[49]](_0x53b8x9[_0x55af[48]][_0x55af[47]],{include:[{all:true}]})[_0x55af[43]](function(_0x53b8x19){if(!_0x53b8x19){return _0x53b8xa[_0x55af[46]](404)};return _0x53b8xa[_0x55af[41]](_0x53b8x19);})[_0x55af[31]](function(_0x53b8x13){return _0x53b8x18(_0x53b8x13)})};exports[_0x55af[50]]=function(_0x53b8x9,_0x53b8xa,_0x53b8x18){return sequelize[_0x55af[55]](function(_0x53b8x1a){return MailAccount[_0x55af[50]]({name:_0x53b8x9[_0x55af[53]][_0x55af[12]],address:_0x53b8x9[_0x55af[53]][_0x55af[13]],description:_0x53b8x9[_0x55af[53]][_0x55af[11]]},{transaction:_0x53b8x1a})[_0x55af[43]](function(_0x53b8x19){_0x53b8x9[_0x55af[53]][_0x55af[52]][_0x55af[51]]=_0x53b8x19[_0x55af[47]];return MailServerIn[_0x55af[50]](_0x53b8x9[_0x55af[53]][_0x55af[52]],{transaction:_0x53b8x1a})[_0x55af[43]](function(_0x53b8x1b){_0x53b8x9[_0x55af[53]][_0x55af[54]][_0x55af[51]]=_0x53b8x19[_0x55af[47]];return MailServerOut[_0x55af[50]](_0x53b8x9[_0x55af[53]][_0x55af[54]],{transaction:_0x53b8x1a});});})})[_0x55af[43]](function(_0x53b8x14){return _0x53b8xa[_0x55af[42]](201)[_0x55af[41]](_0x53b8x14)})[_0x55af[31]](function(_0x53b8x13){return _0x53b8x18(_0x53b8x13)})};exports[_0x55af[56]]=function(_0x53b8x9,_0x53b8xa){if(_0x53b8x9[_0x55af[53]][_0x55af[47]]){delete _0x53b8x9[_0x55af[53]][_0x55af[47]]};MailAccount[_0x55af[49]](_0x53b8x9[_0x55af[48]][_0x55af[47]])[_0x55af[43]](function(_0x53b8x19){if(!_0x53b8x19){return _0x53b8xa[_0x55af[46]](404)};var _0x53b8x1c=_[_0x55af[57]](_0x53b8x19,_0x53b8x9[_0x55af[53]]);_0x53b8x1c[_0x55af[58]]()[_0x55af[43]](function(){return _0x53b8xa[_0x55af[42]](200)[_0x55af[41]](_0x53b8x19)})[_0x55af[31]](function(_0x53b8x13){return handleError(_0x53b8xa,_0x53b8x13)});})[_0x55af[31]](function(_0x53b8x13){return handleError(_0x53b8xa,_0x53b8x13)});};exports[_0x55af[59]]=function(_0x53b8x9,_0x53b8xa,_0x53b8x18){MailApplication[_0x55af[68]]({where:{id:_0x53b8x9[_0x55af[53]][_0x55af[62]]}})[_0x55af[43]](function(_0x53b8x1d){var _0x53b8x1e=_0x53b8x1d;async[_0x55af[69]]([function(_0x53b8x1f){MailApplication[_0x55af[60]]({where:{id:_0x53b8x9[_0x55af[53]][_0x55af[62]]}})[_0x55af[43]](function(){console[_0x55af[61]](_0x55af[60]);_0x53b8x1f();})[_0x55af[31]](function(_0x53b8x13){_0x53b8x1f(_0x53b8x13)})},function(_0x53b8x1f){var _0x53b8x20=[];for(var _0x53b8x21=0;_0x53b8x21<_0x53b8x9[_0x55af[53]][_0x55af[62]][_0x55af[63]];_0x53b8x21++){var _0x53b8x22=_[_0x55af[64]](_0x53b8x1e,{"\x69\x64":_0x53b8x9[_0x55af[53]][_0x55af[62]][_0x53b8x21]});if(_0x53b8x22){_0x53b8x22[_0x55af[65]]=_0x53b8x21+1;_0x53b8x20[_0x55af[26]](_0x53b8x22[_0x55af[66]]);};};MailApplication[_0x55af[67]](_0x53b8x20)[_0x55af[43]](function(){console[_0x55af[61]](_0x55af[67]);_0x53b8x1f();})[_0x55af[31]](function(_0x53b8x13){_0x53b8x1f(_0x53b8x13)});},function(_0x53b8x1f){MailApplication[_0x55af[68]]({where:{id:_0x53b8x9[_0x55af[53]][_0x55af[62]]},order:_0x55af[65],include:[{all:true}]})[_0x55af[43]](function(_0x53b8x1d){console[_0x55af[61]](_0x53b8x1d);_0x53b8x1f(null,_0x53b8x1d);})[_0x55af[31]](function(_0x53b8x13){_0x53b8x1f(_0x53b8x13)})}],function(_0x53b8x13,_0x53b8x14){if(_0x53b8x13){return handleError(_0x53b8xa,_0x53b8x13)}else {return _0x53b8xa[_0x55af[42]](201)[_0x55af[41]](_0x53b8x14)}});})[_0x55af[31]](function(_0x53b8x13){return handleError(_0x53b8xa,_0x53b8x13)})};exports[_0x55af[60]]=function(_0x53b8x9,_0x53b8xa,_0x53b8x18){MailAccount[_0x55af[49]](_0x53b8x9[_0x55af[48]][_0x55af[47]])[_0x55af[43]](function(_0x53b8x19){if(!_0x53b8x19){return _0x53b8xa[_0x55af[46]](404)};_0x53b8x19[_0x55af[60]]()[_0x55af[43]](function(){return _0x53b8xa[_0x55af[46]](204)})[_0x55af[31]](function(_0x53b8x13){return _0x53b8x18(_0x53b8x13)});})[_0x55af[31]](function(_0x53b8x13){return _0x53b8x18(_0x53b8x13)})};exports[_0x55af[70]]=function(_0x53b8x9,_0x53b8xa){MailAccount[_0x55af[60]]({where:{id:_0x53b8x9[_0x55af[15]][_0x55af[47]]},individualHooks:true})[_0x55af[43]](function(){return _0x53b8xa[_0x55af[46]](204)})[_0x55af[31]](function(_0x53b8x13){return handleError(_0x53b8xa,_0x53b8x13)})};function handleError(_0x53b8xa,_0x53b8x13){return _0x53b8xa[_0x55af[42]](500)[_0x55af[41]](_0x53b8x13)}
\ No newline at end of file
+var _0xc11c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x61\x73\x79\x6E\x63","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x4D\x61\x69\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x49\x6E","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x69\x6E\x64\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x61\x64\x64\x72\x65\x73\x73","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x69\x6E\x63\x6F\x6D\x69\x6E\x67","\x62\x6F\x64\x79","\x6F\x75\x74\x67\x6F\x69\x6E\x67","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x73\x6F\x72\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x64\x65\x73\x74\x72\x6F\x79","\x6C\x6F\x67","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x6C\x65\x6E\x67\x74\x68","\x66\x69\x6E\x64","\x70\x72\x69\x6F\x72\x69\x74\x79","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x77\x61\x74\x65\x72\x66\x61\x6C\x6C","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0xc11c[0];var _=require(_0xc11c[1]);var util=require(_0xc11c[2]);var async=require(_0xc11c[3]);var sequelize=require(_0xc11c[5])[_0xc11c[4]];var MailAccount=require(_0xc11c[5])[_0xc11c[6]];var MailApplication=require(_0xc11c[5])[_0xc11c[7]];var MailServerIn=require(_0xc11c[5])[_0xc11c[8]];var MailServerOut=require(_0xc11c[5])[_0xc11c[9]];exports[_0xc11c[10]]=function(_0xef7ax9,_0xef7axa){var _0xef7axb=[_0xc11c[11],_0xc11c[12],_0xc11c[13]];var _0xef7axc=_0xef7ax9[_0xc11c[15]][_0xc11c[14]]?parseInt(_0xef7ax9[_0xc11c[15]][_0xc11c[14]],10):100;var _0xef7axd=_0xef7ax9[_0xc11c[15]][_0xc11c[16]]?parseInt(_0xef7ax9[_0xc11c[15]][_0xc11c[16]],10):0;var _0xef7axe={where:{},limit:_0xef7axc,offset:_0xef7axd*_0xef7axc,include:[{all:true}]};_[_0xc11c[30]](_0xef7ax9[_0xc11c[15]],function(_0xef7axf,_0xef7ax10){switch(_0xef7ax10){case _0xc11c[14]:;case _0xc11c[16]:break ;;case _0xc11c[19]:_0xef7axe[_0xc11c[17]]=util[_0xc11c[22]](_0xc11c[18],_0xef7ax9[_0xc11c[15]][_0xc11c[19]],_0xef7ax9[_0xc11c[15]][_0xc11c[20]]||_0xc11c[21])||null;break ;;case _0xc11c[20]:break ;;case _0xc11c[28]:_0xef7axe[_0xc11c[24]][_0xc11c[23]]=[];_0xef7axb[_0xc11c[27]](function(_0xef7ax11){var _0xef7ax12={};_0xef7ax12[_0xef7ax11]={$like:_0xc11c[25]+_0xef7axf+_0xc11c[25]};_0xef7axe[_0xc11c[24]][_0xc11c[23]][_0xc11c[26]](_0xef7ax12);});break ;;default:_0xef7axe[_0xc11c[24]][_0xef7ax10]={$like:{}};_0xef7axe[_0xc11c[24]][_0xef7ax10][_0xc11c[29]]=_0xc11c[25]+_0xef7axf+_0xc11c[25];;}});MailAccount[_0xc11c[44]](_0xef7axe)[_0xc11c[43]](function(_0xef7ax14){var _0xef7ax15=Math[_0xc11c[33]](_0xef7ax14[_0xc11c[32]]/_0xef7axc);var _0xef7ax16=_0xef7ax15>(_0xef7axe[_0xc11c[34]]+1)?util[_0xc11c[22]](_0xc11c[35],_0xef7ax9[_0xc11c[36]],_0xef7ax9[_0xc11c[38]][_0xc11c[37]],_0xef7ax9[_0xc11c[39]],_0xef7axd+1):null;var _0xef7ax17=_0xef7axd>0?util[_0xc11c[22]](_0xc11c[35],_0xef7ax9[_0xc11c[36]],_0xef7ax9[_0xc11c[38]][_0xc11c[37]],_0xef7ax9[_0xc11c[39]],_0xef7axd-1):null;_0xef7axa[_0xc11c[42]](200)[_0xc11c[41]]({count:_0xef7ax14[_0xc11c[32]],rows:_0xef7ax14[_0xc11c[40]],next_page:_0xef7ax16,previous_page:_0xef7ax17,total_pages:_0xef7ax15});})[_0xc11c[31]](function(_0xef7ax13){return handleError(_0xef7axa,_0xef7ax13)});};exports[_0xc11c[45]]=function(_0xef7ax9,_0xef7axa,_0xef7ax18){MailAccount[_0xc11c[49]](_0xef7ax9[_0xc11c[48]][_0xc11c[47]],{include:[{all:true}]})[_0xc11c[43]](function(_0xef7ax19){if(!_0xef7ax19){return _0xef7axa[_0xc11c[46]](404)};return _0xef7axa[_0xc11c[41]](_0xef7ax19);})[_0xc11c[31]](function(_0xef7ax13){return _0xef7ax18(_0xef7ax13)})};exports[_0xc11c[50]]=function(_0xef7ax9,_0xef7axa,_0xef7ax18){return sequelize[_0xc11c[55]](function(_0xef7ax1a){return MailAccount[_0xc11c[50]]({name:_0xef7ax9[_0xc11c[53]][_0xc11c[12]],address:_0xef7ax9[_0xc11c[53]][_0xc11c[13]],description:_0xef7ax9[_0xc11c[53]][_0xc11c[11]]},{transaction:_0xef7ax1a})[_0xc11c[43]](function(_0xef7ax19){_0xef7ax9[_0xc11c[53]][_0xc11c[52]][_0xc11c[51]]=_0xef7ax19[_0xc11c[47]];return MailServerIn[_0xc11c[50]](_0xef7ax9[_0xc11c[53]][_0xc11c[52]],{transaction:_0xef7ax1a})[_0xc11c[43]](function(_0xef7ax1b){_0xef7ax9[_0xc11c[53]][_0xc11c[54]][_0xc11c[51]]=_0xef7ax19[_0xc11c[47]];return MailServerOut[_0xc11c[50]](_0xef7ax9[_0xc11c[53]][_0xc11c[54]],{transaction:_0xef7ax1a});});})})[_0xc11c[43]](function(_0xef7ax14){return _0xef7axa[_0xc11c[42]](201)[_0xc11c[41]](_0xef7ax14)})[_0xc11c[31]](function(_0xef7ax13){return _0xef7ax18(_0xef7ax13)})};exports[_0xc11c[56]]=function(_0xef7ax9,_0xef7axa){if(_0xef7ax9[_0xc11c[53]][_0xc11c[47]]){delete _0xef7ax9[_0xc11c[53]][_0xc11c[47]]};MailAccount[_0xc11c[49]](_0xef7ax9[_0xc11c[48]][_0xc11c[47]])[_0xc11c[43]](function(_0xef7ax19){if(!_0xef7ax19){return _0xef7axa[_0xc11c[46]](404)};var _0xef7ax1c=_[_0xc11c[57]](_0xef7ax19,_0xef7ax9[_0xc11c[53]]);_0xef7ax1c[_0xc11c[58]]()[_0xc11c[43]](function(){return _0xef7axa[_0xc11c[42]](200)[_0xc11c[41]](_0xef7ax19)})[_0xc11c[31]](function(_0xef7ax13){return handleError(_0xef7axa,_0xef7ax13)});})[_0xc11c[31]](function(_0xef7ax13){return handleError(_0xef7axa,_0xef7ax13)});};exports[_0xc11c[59]]=function(_0xef7ax9,_0xef7axa,_0xef7ax18){MailApplication[_0xc11c[68]]({where:{id:_0xef7ax9[_0xc11c[53]][_0xc11c[62]]}})[_0xc11c[43]](function(_0xef7ax1d){var _0xef7ax1e=_0xef7ax1d;async[_0xc11c[69]]([function(_0xef7ax1f){MailApplication[_0xc11c[60]]({where:{id:_0xef7ax9[_0xc11c[53]][_0xc11c[62]]}})[_0xc11c[43]](function(){console[_0xc11c[61]](_0xc11c[60]);_0xef7ax1f();})[_0xc11c[31]](function(_0xef7ax13){_0xef7ax1f(_0xef7ax13)})},function(_0xef7ax1f){var _0xef7ax20=[];for(var _0xef7ax21=0;_0xef7ax21<_0xef7ax9[_0xc11c[53]][_0xc11c[62]][_0xc11c[63]];_0xef7ax21++){var _0xef7ax22=_[_0xc11c[64]](_0xef7ax1e,{"\x69\x64":_0xef7ax9[_0xc11c[53]][_0xc11c[62]][_0xef7ax21]});if(_0xef7ax22){_0xef7ax22[_0xc11c[65]]=_0xef7ax21+1;_0xef7ax20[_0xc11c[26]](_0xef7ax22[_0xc11c[66]]);};};MailApplication[_0xc11c[67]](_0xef7ax20)[_0xc11c[43]](function(){console[_0xc11c[61]](_0xc11c[67]);_0xef7ax1f();})[_0xc11c[31]](function(_0xef7ax13){_0xef7ax1f(_0xef7ax13)});},function(_0xef7ax1f){MailApplication[_0xc11c[68]]({where:{id:_0xef7ax9[_0xc11c[53]][_0xc11c[62]]},order:_0xc11c[65],include:[{all:true}]})[_0xc11c[43]](function(_0xef7ax1d){console[_0xc11c[61]](_0xef7ax1d);_0xef7ax1f(null,_0xef7ax1d);})[_0xc11c[31]](function(_0xef7ax13){_0xef7ax1f(_0xef7ax13)})}],function(_0xef7ax13,_0xef7ax14){if(_0xef7ax13){return handleError(_0xef7axa,_0xef7ax13)}else {return _0xef7axa[_0xc11c[42]](201)[_0xc11c[41]](_0xef7ax14)}});})[_0xc11c[31]](function(_0xef7ax13){return handleError(_0xef7axa,_0xef7ax13)})};exports[_0xc11c[60]]=function(_0xef7ax9,_0xef7axa,_0xef7ax18){MailAccount[_0xc11c[49]](_0xef7ax9[_0xc11c[48]][_0xc11c[47]])[_0xc11c[43]](function(_0xef7ax19){if(!_0xef7ax19){return _0xef7axa[_0xc11c[46]](404)};_0xef7ax19[_0xc11c[60]]()[_0xc11c[43]](function(){return _0xef7axa[_0xc11c[46]](204)})[_0xc11c[31]](function(_0xef7ax13){return _0xef7ax18(_0xef7ax13)});})[_0xc11c[31]](function(_0xef7ax13){return _0xef7ax18(_0xef7ax13)})};exports[_0xc11c[70]]=function(_0xef7ax9,_0xef7axa){MailAccount[_0xc11c[60]]({where:{id:_0xef7ax9[_0xc11c[15]][_0xc11c[47]]},individualHooks:true})[_0xc11c[43]](function(){return _0xef7axa[_0xc11c[46]](204)})[_0xc11c[31]](function(_0xef7ax13){return handleError(_0xef7axa,_0xef7ax13)})};function handleError(_0xef7axa,_0xef7ax13){return _0xef7axa[_0xc11c[42]](500)[_0xc11c[41]](_0xef7ax13)}
\ No newline at end of file
index dcb03b2b16c672b8e8629bda88841bc913fc86bc..c1a99f29cfafd05c434c16747ec988e0d30c95fb 100644 (file)
@@ -1 +1 @@
-var _0xde98=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6D\x61\x69\x6C\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6D\x61\x69\x6C\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0xde98[0];var MailAccount=require(_0xde98[2])[_0xde98[1]];exports[_0xde98[3]]=function(_0xd460x2){MailAccount[_0xde98[4]](function(_0xd460x3){onSave(_0xd460x2,_0xd460x3)});MailAccount[_0xde98[5]](function(_0xd460x3){onSave(_0xd460x2,_0xd460x3)});MailAccount[_0xde98[6]](function(_0xd460x3){onRemove(_0xd460x2,_0xd460x3)});};function onSave(_0xd460x2,_0xd460x3,_0xd460x5){_0xd460x2[_0xde98[8]](_0xde98[7],_0xd460x3)}function onRemove(_0xd460x2,_0xd460x3,_0xd460x5){_0xd460x2[_0xde98[8]](_0xde98[9],_0xd460x3)}
\ No newline at end of file
+var _0x6764=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6D\x61\x69\x6C\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6D\x61\x69\x6C\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0x6764[0];var MailAccount=require(_0x6764[2])[_0x6764[1]];exports[_0x6764[3]]=function(_0x57c0x2){MailAccount[_0x6764[4]](function(_0x57c0x3){onSave(_0x57c0x2,_0x57c0x3)});MailAccount[_0x6764[5]](function(_0x57c0x3){onSave(_0x57c0x2,_0x57c0x3)});MailAccount[_0x6764[6]](function(_0x57c0x3){onRemove(_0x57c0x2,_0x57c0x3)});};function onSave(_0x57c0x2,_0x57c0x3,_0x57c0x5){_0x57c0x2[_0x6764[8]](_0x6764[7],_0x57c0x3)}function onRemove(_0x57c0x2,_0x57c0x3,_0x57c0x5){_0x57c0x2[_0x6764[8]](_0x6764[9],_0x57c0x3)}
\ No newline at end of file
index 6330c5c922f75ca0897e7a08db245c6cd26ba153..1aa7de22fdfb79f1f9be2eb5a086598eb8ab3ffb 100644 (file)
@@ -1 +1 @@
-var _0x8960=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x67\x65\x74"];_0x8960[0];var should=require(_0x8960[1]);var app=require(_0x8960[2]);var request=require(_0x8960[3]);describe(_0x8960[4],function(){it(_0x8960[5],function(_0xd4d0x4){request(app)[_0x8960[13]](_0x8960[12])[_0x8960[11]](200)[_0x8960[11]](_0x8960[10],/json/)[_0x8960[9]](function(_0xd4d0x5,_0xd4d0x6){if(_0xd4d0x5){return _0xd4d0x4(_0xd4d0x5)};_0xd4d0x6[_0x8960[8]][_0x8960[1]][_0x8960[7]][_0x8960[6]](Array);_0xd4d0x4();})})});
\ No newline at end of file
+var _0x4098=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x67\x65\x74"];_0x4098[0];var should=require(_0x4098[1]);var app=require(_0x4098[2]);var request=require(_0x4098[3]);describe(_0x4098[4],function(){it(_0x4098[5],function(_0x21ecx4){request(app)[_0x4098[13]](_0x4098[12])[_0x4098[11]](200)[_0x4098[11]](_0x4098[10],/json/)[_0x4098[9]](function(_0x21ecx5,_0x21ecx6){if(_0x21ecx5){return _0x21ecx4(_0x21ecx5)};_0x21ecx6[_0x4098[8]][_0x4098[1]][_0x4098[7]][_0x4098[6]](Array);_0x21ecx4();})})});
\ No newline at end of file
index ab48e768b5eeaf944516da57545fe26db2f924f5..85134bba967b89d66a3a3df4d1ec1732ccc64d5c 100644 (file)
@@ -1 +1 @@
-var _0x301a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x301a[0];var express=require(_0x301a[1]);var controller=require(_0x301a[2]);var router=express.Router();router[_0x301a[5]](_0x301a[3],controller[_0x301a[4]]);router[_0x301a[5]](_0x301a[6],controller[_0x301a[7]]);router[_0x301a[9]](_0x301a[3],controller[_0x301a[8]]);router[_0x301a[11]](_0x301a[6],controller[_0x301a[10]]);router[_0x301a[12]](_0x301a[6],controller[_0x301a[10]]);router[_0x301a[14]](_0x301a[6],controller[_0x301a[13]]);module[_0x301a[15]]=router;
\ No newline at end of file
+var _0x6a25=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x6a25[0];var express=require(_0x6a25[1]);var controller=require(_0x6a25[2]);var router=express.Router();router[_0x6a25[5]](_0x6a25[3],controller[_0x6a25[4]]);router[_0x6a25[5]](_0x6a25[6],controller[_0x6a25[7]]);router[_0x6a25[9]](_0x6a25[3],controller[_0x6a25[8]]);router[_0x6a25[11]](_0x6a25[6],controller[_0x6a25[10]]);router[_0x6a25[12]](_0x6a25[6],controller[_0x6a25[10]]);router[_0x6a25[14]](_0x6a25[6],controller[_0x6a25[13]]);module[_0x6a25[15]]=router;
\ No newline at end of file
index 3c3383e06371476354ad1f4a7e58a768b0d91f0e..f58b18f8a2206ab35dfc5fb481897d449caf1ef3 100644 (file)
@@ -1 +1 @@
-var _0xfabb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x4D\x61\x69\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x70\x72\x69\x6F\x72\x69\x74\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x6D\x61\x78","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xfabb[0];var _=require(_0xfabb[1]);var MailApplication=require(_0xfabb[3])[_0xfabb[2]];exports[_0xfabb[4]]=function(_0x7620x3,_0x7620x4,_0x7620x5){MailApplication[_0xfabb[11]]({where:_0x7620x3[_0xfabb[9]],order:_0xfabb[10],include:[{all:true}]})[_0xfabb[8]](function(_0x7620x7){return _0x7620x4[_0xfabb[7]](200)[_0xfabb[6]](_0x7620x7)})[_0xfabb[5]](function(_0x7620x6){return handleError(_0x7620x4,_0x7620x6)})};exports[_0xfabb[12]]=function(_0x7620x3,_0x7620x4,_0x7620x5){MailApplication[_0xfabb[16]](_0x7620x3[_0xfabb[15]][_0xfabb[14]],{include:[{all:true}]})[_0xfabb[8]](function(_0x7620x8){if(!_0x7620x8){return _0x7620x4[_0xfabb[13]](404)};return _0x7620x4[_0xfabb[6]](_0x7620x8);})[_0xfabb[5]](function(_0x7620x6){return handleError(_0x7620x4,_0x7620x6)})};exports[_0xfabb[17]]=function(_0x7620x3,_0x7620x4,_0x7620x5){MailApplication[_0xfabb[20]](_0xfabb[10],{where:{MailAccountId:_0x7620x3[_0xfabb[18]][_0xfabb[19]]}})[_0xfabb[8]](function(_0x7620x9){_0x7620x3[_0xfabb[18]][_0xfabb[10]]=_0x7620x9?++_0x7620x9:1;MailApplication[_0xfabb[17]](_0x7620x3[_0xfabb[18]])[_0xfabb[8]](function(_0x7620x8){return _0x7620x4[_0xfabb[7]](201)[_0xfabb[6]](_0x7620x8)})[_0xfabb[5]](function(_0x7620x6){return handleError(_0x7620x4,_0x7620x6)});})[_0xfabb[5]](function(_0x7620x6){return handleError(_0x7620x4,_0x7620x6)})};exports[_0xfabb[21]]=function(_0x7620x3,_0x7620x4,_0x7620x5){if(_0x7620x3[_0xfabb[18]][_0xfabb[14]]){delete _0x7620x3[_0xfabb[18]][_0xfabb[14]]};MailApplication[_0xfabb[16]](_0x7620x3[_0xfabb[15]][_0xfabb[14]])[_0xfabb[8]](function(_0x7620x8){if(!_0x7620x8){return _0x7620x4[_0xfabb[13]](404)};var _0x7620xa=_[_0xfabb[22]](_0x7620x8,_0x7620x3[_0xfabb[18]]);_0x7620xa[_0xfabb[23]]()[_0xfabb[8]](function(){return _0x7620x4[_0xfabb[7]](200)[_0xfabb[6]](_0x7620x8)})[_0xfabb[5]](function(_0x7620x6){return handleError(_0x7620x4,_0x7620x6)});})[_0xfabb[5]](function(_0x7620x6){return handleError(_0x7620x4,_0x7620x6)});};exports[_0xfabb[24]]=function(_0x7620x3,_0x7620x4,_0x7620x5){MailApplication[_0xfabb[16]](_0x7620x3[_0xfabb[15]][_0xfabb[14]])[_0xfabb[8]](function(_0x7620x8){if(!_0x7620x8){return _0x7620x4[_0xfabb[13]](404)};_0x7620x8[_0xfabb[24]]()[_0xfabb[8]](function(){return _0x7620x4[_0xfabb[13]](204)})[_0xfabb[5]](function(_0x7620x6){return handleError(_0x7620x4,_0x7620x6)});})[_0xfabb[5]](function(_0x7620x6){return handleError(_0x7620x4,_0x7620x6)})};function handleError(_0x7620x4,_0x7620x6){return _0x7620x4[_0xfabb[7]](500)[_0xfabb[6]](_0x7620x6)}
\ No newline at end of file
+var _0xc27d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x4D\x61\x69\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x70\x72\x69\x6F\x72\x69\x74\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x6D\x61\x78","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xc27d[0];var _=require(_0xc27d[1]);var MailApplication=require(_0xc27d[3])[_0xc27d[2]];exports[_0xc27d[4]]=function(_0xacb7x3,_0xacb7x4,_0xacb7x5){MailApplication[_0xc27d[11]]({where:_0xacb7x3[_0xc27d[9]],order:_0xc27d[10],include:[{all:true}]})[_0xc27d[8]](function(_0xacb7x7){return _0xacb7x4[_0xc27d[7]](200)[_0xc27d[6]](_0xacb7x7)})[_0xc27d[5]](function(_0xacb7x6){return handleError(_0xacb7x4,_0xacb7x6)})};exports[_0xc27d[12]]=function(_0xacb7x3,_0xacb7x4,_0xacb7x5){MailApplication[_0xc27d[16]](_0xacb7x3[_0xc27d[15]][_0xc27d[14]],{include:[{all:true}]})[_0xc27d[8]](function(_0xacb7x8){if(!_0xacb7x8){return _0xacb7x4[_0xc27d[13]](404)};return _0xacb7x4[_0xc27d[6]](_0xacb7x8);})[_0xc27d[5]](function(_0xacb7x6){return handleError(_0xacb7x4,_0xacb7x6)})};exports[_0xc27d[17]]=function(_0xacb7x3,_0xacb7x4,_0xacb7x5){MailApplication[_0xc27d[20]](_0xc27d[10],{where:{MailAccountId:_0xacb7x3[_0xc27d[18]][_0xc27d[19]]}})[_0xc27d[8]](function(_0xacb7x9){_0xacb7x3[_0xc27d[18]][_0xc27d[10]]=_0xacb7x9?++_0xacb7x9:1;MailApplication[_0xc27d[17]](_0xacb7x3[_0xc27d[18]])[_0xc27d[8]](function(_0xacb7x8){return _0xacb7x4[_0xc27d[7]](201)[_0xc27d[6]](_0xacb7x8)})[_0xc27d[5]](function(_0xacb7x6){return handleError(_0xacb7x4,_0xacb7x6)});})[_0xc27d[5]](function(_0xacb7x6){return handleError(_0xacb7x4,_0xacb7x6)})};exports[_0xc27d[21]]=function(_0xacb7x3,_0xacb7x4,_0xacb7x5){if(_0xacb7x3[_0xc27d[18]][_0xc27d[14]]){delete _0xacb7x3[_0xc27d[18]][_0xc27d[14]]};MailApplication[_0xc27d[16]](_0xacb7x3[_0xc27d[15]][_0xc27d[14]])[_0xc27d[8]](function(_0xacb7x8){if(!_0xacb7x8){return _0xacb7x4[_0xc27d[13]](404)};var _0xacb7xa=_[_0xc27d[22]](_0xacb7x8,_0xacb7x3[_0xc27d[18]]);_0xacb7xa[_0xc27d[23]]()[_0xc27d[8]](function(){return _0xacb7x4[_0xc27d[7]](200)[_0xc27d[6]](_0xacb7x8)})[_0xc27d[5]](function(_0xacb7x6){return handleError(_0xacb7x4,_0xacb7x6)});})[_0xc27d[5]](function(_0xacb7x6){return handleError(_0xacb7x4,_0xacb7x6)});};exports[_0xc27d[24]]=function(_0xacb7x3,_0xacb7x4,_0xacb7x5){MailApplication[_0xc27d[16]](_0xacb7x3[_0xc27d[15]][_0xc27d[14]])[_0xc27d[8]](function(_0xacb7x8){if(!_0xacb7x8){return _0xacb7x4[_0xc27d[13]](404)};_0xacb7x8[_0xc27d[24]]()[_0xc27d[8]](function(){return _0xacb7x4[_0xc27d[13]](204)})[_0xc27d[5]](function(_0xacb7x6){return handleError(_0xacb7x4,_0xacb7x6)});})[_0xc27d[5]](function(_0xacb7x6){return handleError(_0xacb7x4,_0xacb7x6)})};function handleError(_0xacb7x4,_0xacb7x6){return _0xacb7x4[_0xc27d[7]](500)[_0xc27d[6]](_0xacb7x6)}
\ No newline at end of file
index 509128dc469020ab2fcd85bd7c54a6a8cf5ea14a..a6fb1345d744dab673b1169b665d1a74df90f470 100644 (file)
@@ -1 +1 @@
-var _0x9412=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x61\x69\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6D\x61\x69\x6C\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6D\x61\x69\x6C\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0x9412[0];var mailApplication=require(_0x9412[2])[_0x9412[1]];exports[_0x9412[3]]=function(_0xf0c6x2){mailApplication[_0x9412[4]](function(_0xf0c6x3){onSave(_0xf0c6x2,_0xf0c6x3)});mailApplication[_0x9412[5]](function(_0xf0c6x3){onRemove(_0xf0c6x2,_0xf0c6x3)});};function onSave(_0xf0c6x2,_0xf0c6x3,_0xf0c6x5){_0xf0c6x2[_0x9412[7]](_0x9412[6],_0xf0c6x3)}function onRemove(_0xf0c6x2,_0xf0c6x3,_0xf0c6x5){_0xf0c6x2[_0x9412[7]](_0x9412[8],_0xf0c6x3)}
\ No newline at end of file
+var _0x1402=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x61\x69\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6D\x61\x69\x6C\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6D\x61\x69\x6C\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0x1402[0];var mailApplication=require(_0x1402[2])[_0x1402[1]];exports[_0x1402[3]]=function(_0xa375x2){mailApplication[_0x1402[4]](function(_0xa375x3){onSave(_0xa375x2,_0xa375x3)});mailApplication[_0x1402[5]](function(_0xa375x3){onRemove(_0xa375x2,_0xa375x3)});};function onSave(_0xa375x2,_0xa375x3,_0xa375x5){_0xa375x2[_0x1402[7]](_0x1402[6],_0xa375x3)}function onRemove(_0xa375x2,_0xa375x3,_0xa375x5){_0xa375x2[_0x1402[7]](_0x1402[8],_0xa375x3)}
\ No newline at end of file
index 5930b729d641060d04ae2a9d3c54ebda01fc7b2a..3c41b8fd542664aa799fc10f607772468407ee2e 100644 (file)
@@ -1 +1 @@
-var _0x702b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x67\x65\x74"];_0x702b[0];var should=require(_0x702b[1]);var app=require(_0x702b[2]);var request=require(_0x702b[3]);describe(_0x702b[4],function(){it(_0x702b[5],function(_0x4207x4){request(app)[_0x702b[13]](_0x702b[12])[_0x702b[11]](200)[_0x702b[11]](_0x702b[10],/json/)[_0x702b[9]](function(_0x4207x5,_0x4207x6){if(_0x4207x5){return _0x4207x4(_0x4207x5)};_0x4207x6[_0x702b[8]][_0x702b[1]][_0x702b[7]][_0x702b[6]](Array);_0x4207x4();})})});
\ No newline at end of file
+var _0x5fbb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x67\x65\x74"];_0x5fbb[0];var should=require(_0x5fbb[1]);var app=require(_0x5fbb[2]);var request=require(_0x5fbb[3]);describe(_0x5fbb[4],function(){it(_0x5fbb[5],function(_0xa23cx4){request(app)[_0x5fbb[13]](_0x5fbb[12])[_0x5fbb[11]](200)[_0x5fbb[11]](_0x5fbb[10],/json/)[_0x5fbb[9]](function(_0xa23cx5,_0xa23cx6){if(_0xa23cx5){return _0xa23cx4(_0xa23cx5)};_0xa23cx6[_0x5fbb[8]][_0x5fbb[1]][_0x5fbb[7]][_0x5fbb[6]](Array);_0xa23cx4();})})});
\ No newline at end of file
index 76d68a21602ec92a95dd7a323d1a6927d971af52..32fc189e7b52b586746f3b77f73fd5e7e9337951 100644 (file)
@@ -1 +1 @@
-var _0x15b0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x15b0[0];var express=require(_0x15b0[1]);var controller=require(_0x15b0[2]);var router=express.Router();router[_0x15b0[5]](_0x15b0[3],controller[_0x15b0[4]]);router[_0x15b0[5]](_0x15b0[6],controller[_0x15b0[7]]);router[_0x15b0[9]](_0x15b0[3],controller[_0x15b0[8]]);router[_0x15b0[11]](_0x15b0[6],controller[_0x15b0[10]]);router[_0x15b0[12]](_0x15b0[6],controller[_0x15b0[10]]);router[_0x15b0[14]](_0x15b0[6],controller[_0x15b0[13]]);module[_0x15b0[15]]=router;
\ No newline at end of file
+var _0xc125=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xc125[0];var express=require(_0xc125[1]);var controller=require(_0xc125[2]);var router=express.Router();router[_0xc125[5]](_0xc125[3],controller[_0xc125[4]]);router[_0xc125[5]](_0xc125[6],controller[_0xc125[7]]);router[_0xc125[9]](_0xc125[3],controller[_0xc125[8]]);router[_0xc125[11]](_0xc125[6],controller[_0xc125[10]]);router[_0xc125[12]](_0xc125[6],controller[_0xc125[10]]);router[_0xc125[14]](_0xc125[6],controller[_0xc125[13]]);module[_0xc125[15]]=router;
\ No newline at end of file
index e2517f97ff661ec25a7ce13a89ba0fe5fb2fdc4f..ef7a5004d938bf7d2fe87c0e4db87b87d97ea08f 100644 (file)
@@ -1 +1 @@
-var _0xed89=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x66\x73","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x70\x61\x74\x68","\x66\x69\x6C\x65\x4E\x61\x6D\x65","\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xed89[0];var _=require(_0xed89[1]);var fs=require(_0xed89[2]);var MailAttachment=require(_0xed89[4])[_0xed89[3]];exports[_0xed89[5]]=function(_0xe0f5x4,_0xe0f5x5,_0xe0f5x6){MailAttachment[_0xed89[10]]()[_0xed89[9]](function(_0xe0f5x8){return _0xe0f5x5[_0xed89[8]](200)[_0xed89[7]](_0xe0f5x8)})[_0xed89[6]](function(_0xe0f5x7){return _0xe0f5x6(_0xe0f5x7)})};exports[_0xed89[11]]=function(_0xe0f5x4,_0xe0f5x5,_0xe0f5x6){MailAttachment[_0xed89[17]](_0xe0f5x4[_0xed89[16]][_0xed89[15]])[_0xed89[9]](function(_0xe0f5x9){_0xe0f5x5[_0xed89[14]](_0xe0f5x9[_0xed89[12]],_0xe0f5x9[_0xed89[13]])})[_0xed89[6]](function(_0xe0f5x7){return _0xe0f5x6(_0xe0f5x7)})};exports[_0xed89[18]]=function(_0xe0f5x4,_0xe0f5x5,_0xe0f5x6){MailAttachment[_0xed89[18]](_0xe0f5x4[_0xed89[19]])[_0xed89[9]](function(_0xe0f5x9){return _0xe0f5x5[_0xed89[8]](201)[_0xed89[7]](_0xe0f5x9)})[_0xed89[6]](function(_0xe0f5x7){return _0xe0f5x6(_0xe0f5x7)})};exports[_0xed89[20]]=function(_0xe0f5x4,_0xe0f5x5,_0xe0f5x6){if(_0xe0f5x4[_0xed89[19]][_0xed89[15]]){delete _0xe0f5x4[_0xed89[19]][_0xed89[15]]};MailAttachment[_0xed89[17]](_0xe0f5x4[_0xed89[16]][_0xed89[15]])[_0xed89[9]](function(_0xe0f5x9){if(!_0xe0f5x9){return _0xe0f5x5[_0xed89[21]](404)};var _0xe0f5xa=_[_0xed89[22]](_0xe0f5x9,_0xe0f5x4[_0xed89[19]]);_0xe0f5xa[_0xed89[23]]()[_0xed89[9]](function(){return _0xe0f5x5[_0xed89[8]](200)[_0xed89[7]](_0xe0f5x9)})[_0xed89[6]](function(_0xe0f5x7){return _0xe0f5x6(_0xe0f5x7)});})[_0xed89[6]](function(_0xe0f5x7){return _0xe0f5x6(_0xe0f5x7)});};exports[_0xed89[24]]=function(_0xe0f5x4,_0xe0f5x5,_0xe0f5x6){MailAttachment[_0xed89[17]](_0xe0f5x4[_0xed89[16]][_0xed89[15]])[_0xed89[9]](function(_0xe0f5x9){if(!_0xe0f5x9){return _0xe0f5x5[_0xed89[21]](404)};_0xe0f5x9[_0xed89[24]]()[_0xed89[9]](function(){return _0xe0f5x5[_0xed89[21]](204)})[_0xed89[6]](function(_0xe0f5x7){return _0xe0f5x6(_0xe0f5x7)});})[_0xed89[6]](function(_0xe0f5x7){return _0xe0f5x6(_0xe0f5x7)})};
\ No newline at end of file
+var _0x466a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x70\x61\x74\x68","\x66\x73","\x66\x6F\x72\x6D\x69\x64\x61\x62\x6C\x65","\x62\x6C\x75\x65\x62\x69\x72\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x66\x69\x6C\x65\x4E\x61\x6D\x65","\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x75\x70\x6C\x6F\x61\x64\x44\x69\x72","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72","\x66\x69\x6C\x65\x73","\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x73","\x6A\x6F\x69\x6E","\x6B\x65\x65\x70\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x6D\x75\x6C\x74\x69\x70\x6C\x65\x73","\x68\x61\x73\x68","\x73\x69\x7A\x65","\x66\x69\x6C\x65","\x6E\x61\x6D\x65","\x74\x79\x70\x65","\x62\x61\x73\x65\x6E\x61\x6D\x65","\x70\x61\x72\x73\x65","\x75\x70\x64\x61\x74\x65","\x62\x6F\x64\x79","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x75\x6E\x6C\x69\x6E\x6B","\x70\x72\x6F\x6D\x69\x73\x69\x66\x79"];_0x466a[0];var _=require(_0x466a[1]);var path=require(_0x466a[2]);var fs=require(_0x466a[3]);var formidable=require(_0x466a[4]);var Promise=require(_0x466a[5]);var config=require(_0x466a[6]);var MailAttachment=require(_0x466a[8])[_0x466a[7]];exports[_0x466a[9]]=function(_0x314ex8,_0x314ex9,_0x314exa){MailAttachment[_0x466a[14]]()[_0x466a[13]](function(_0x314exc){return _0x314ex9[_0x466a[12]](200)[_0x466a[11]](_0x314exc)})[_0x466a[10]](function(_0x314exb){return _0x314exa(_0x314exb)})};exports[_0x466a[15]]=function(_0x314ex8,_0x314ex9,_0x314exa){MailAttachment[_0x466a[20]](_0x314ex8[_0x466a[19]][_0x466a[18]])[_0x466a[13]](function(_0x314exd){_0x314ex9[_0x466a[17]](_0x314exd[_0x466a[2]],_0x314exd[_0x466a[16]])})[_0x466a[10]](function(_0x314exb){return _0x314exa(_0x314exb)})};exports[_0x466a[21]]=function(_0x314ex8,_0x314ex9,_0x314exa){var _0x314exe= new formidable.IncomingForm();_0x314exe[_0x466a[22]]=path[_0x466a[27]](config[_0x466a[23]],_0x466a[24],_0x466a[25],_0x466a[26]);_0x314exe[_0x466a[28]]=true;_0x314exe[_0x466a[29]]=true;_0x314exe[_0x466a[30]]=true;_0x314exe[_0x466a[36]](_0x314ex8,function(_0x314exb,_0x314exe,_0x314exf){if(_0x314exb){return _0x314ex9[_0x466a[12]](500)[_0x466a[11]](_0x314exb)};return _0x314ex9[_0x466a[12]](201)[_0x466a[11]]({size:_0x314exf[_0x466a[32]][_0x466a[31]],path:_0x314exf[_0x466a[32]][_0x466a[2]],name:_0x314exf[_0x466a[32]][_0x466a[33]],type:_0x314exf[_0x466a[32]][_0x466a[34]],basename:path[_0x466a[35]](_0x314exf[_0x466a[32]][_0x466a[2]])});});};exports[_0x466a[37]]=function(_0x314ex8,_0x314ex9,_0x314exa){if(_0x314ex8[_0x466a[38]][_0x466a[18]]){delete _0x314ex8[_0x466a[38]][_0x466a[18]]};MailAttachment[_0x466a[20]](_0x314ex8[_0x466a[19]][_0x466a[18]])[_0x466a[13]](function(_0x314exd){if(!_0x314exd){return _0x314ex9[_0x466a[39]](404)};var _0x314ex10=_[_0x466a[40]](_0x314exd,_0x314ex8[_0x466a[38]]);_0x314ex10[_0x466a[41]]()[_0x466a[13]](function(){return _0x314ex9[_0x466a[12]](200)[_0x466a[11]](_0x314exd)})[_0x466a[10]](function(_0x314exb){return _0x314exa(_0x314exb)});})[_0x466a[10]](function(_0x314exb){return _0x314exa(_0x314exb)});};exports[_0x466a[42]]=function(_0x314ex8,_0x314ex9,_0x314exa){var _0x314ex11=Promise[_0x466a[44]](require(_0x466a[3])[_0x466a[43]]);var _0x314ex12=path[_0x466a[27]](config[_0x466a[23]],_0x466a[24],_0x466a[25],_0x466a[26],_0x314ex8[_0x466a[19]][_0x466a[18]]);return _0x314ex11(_0x314ex12)[_0x466a[13]](function(){return _0x314ex9[_0x466a[39]](204)})[_0x466a[10]](function(_0x314exb){return handleError(_0x314ex9,_0x314exb)});};function handleError(_0x314ex9,_0x314exb){return _0x314ex9[_0x466a[12]](500)[_0x466a[11]](_0x314exb)}
\ No newline at end of file
index 9006db146e3b852c221c9ceef9f5a88a85315cac..f24b9ee44dca537a6a2da149c21528c7f78e2f3e 100644 (file)
@@ -1 +1 @@
-var _0x2e63=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6D\x61\x69\x6C\x5F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6D\x61\x69\x6C\x5F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0x2e63[0];var mail_attachment=require(_0x2e63[2])[_0x2e63[1]];exports[_0x2e63[3]]=function(_0x53afx2){mail_attachment[_0x2e63[4]](function(_0x53afx3){onSave(_0x53afx2,_0x53afx3)});mail_attachment[_0x2e63[5]](function(_0x53afx3){onRemove(_0x53afx2,_0x53afx3)});};function onSave(_0x53afx2,_0x53afx3,_0x53afx5){_0x53afx2[_0x2e63[7]](_0x2e63[6],_0x53afx3)}function onRemove(_0x53afx2,_0x53afx3,_0x53afx5){_0x53afx2[_0x2e63[7]](_0x2e63[8],_0x53afx3)}
\ No newline at end of file
+var _0xddbb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6D\x61\x69\x6C\x5F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6D\x61\x69\x6C\x5F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0xddbb[0];var mail_attachment=require(_0xddbb[2])[_0xddbb[1]];exports[_0xddbb[3]]=function(_0x1ad0x2){mail_attachment[_0xddbb[4]](function(_0x1ad0x3){onSave(_0x1ad0x2,_0x1ad0x3)});mail_attachment[_0xddbb[5]](function(_0x1ad0x3){onRemove(_0x1ad0x2,_0x1ad0x3)});};function onSave(_0x1ad0x2,_0x1ad0x3,_0x1ad0x5){_0x1ad0x2[_0xddbb[7]](_0xddbb[6],_0x1ad0x3)}function onRemove(_0x1ad0x2,_0x1ad0x3,_0x1ad0x5){_0x1ad0x2[_0xddbb[7]](_0xddbb[8],_0x1ad0x3)}
\ No newline at end of file
deleted file mode 100644 (file)
index 95238550589271434fa9dcef7e15cb8dbe25e66d..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-var _0xe9e0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x73","\x67\x65\x74"];_0xe9e0[0];var should=require(_0xe9e0[1]);var app=require(_0xe9e0[2]);var request=require(_0xe9e0[3]);describe(_0xe9e0[4],function(){it(_0xe9e0[5],function(_0xd907x4){request(app)[_0xe9e0[13]](_0xe9e0[12])[_0xe9e0[11]](200)[_0xe9e0[11]](_0xe9e0[10],/json/)[_0xe9e0[9]](function(_0xd907x5,_0xd907x6){if(_0xd907x5){return _0xd907x4(_0xd907x5)};_0xd907x6[_0xe9e0[8]][_0xe9e0[1]][_0xe9e0[7]][_0xe9e0[6]](Array);_0xd907x4();})})});
\ No newline at end of file
index 29a5f7d55926fb87f42cbb74c96743d0e2db8cf4..2fc6c4797f9d8fc49c7bacb9d606ebed4b70e28a 100644 (file)
@@ -1 +1 @@
-var _0x1626=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x1626[0];var express=require(_0x1626[1]);var controller=require(_0x1626[2]);var router=express.Router();router[_0x1626[5]](_0x1626[3],controller[_0x1626[4]]);router[_0x1626[5]](_0x1626[6],controller[_0x1626[7]]);router[_0x1626[9]](_0x1626[3],controller[_0x1626[8]]);router[_0x1626[11]](_0x1626[6],controller[_0x1626[10]]);router[_0x1626[12]](_0x1626[6],controller[_0x1626[10]]);router[_0x1626[14]](_0x1626[3],controller[_0x1626[13]]);router[_0x1626[14]](_0x1626[6],controller[_0x1626[15]]);module[_0x1626[16]]=router;
\ No newline at end of file
+var _0xadbd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xadbd[0];var express=require(_0xadbd[1]);var controller=require(_0xadbd[2]);var router=express.Router();router[_0xadbd[5]](_0xadbd[3],controller[_0xadbd[4]]);router[_0xadbd[5]](_0xadbd[6],controller[_0xadbd[7]]);router[_0xadbd[9]](_0xadbd[3],controller[_0xadbd[8]]);router[_0xadbd[11]](_0xadbd[6],controller[_0xadbd[10]]);router[_0xadbd[12]](_0xadbd[6],controller[_0xadbd[10]]);router[_0xadbd[14]](_0xadbd[3],controller[_0xadbd[13]]);router[_0xadbd[14]](_0xadbd[6],controller[_0xadbd[15]]);module[_0xadbd[16]]=router;
\ No newline at end of file
index 17def96a4fa9fdc30dc977d63b6cc3cda6d12938..626decb76668000433c234df0c5383637f27732f 100644 (file)
@@ -1 +1 @@
-var _0x66d6=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x4D\x61\x69\x6C\x42\x75\x73\x69\x6E\x65\x73\x73\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x42\x75\x73\x69\x6E\x65\x73\x73\x43\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x42\x75\x73\x69\x6E\x65\x73\x73\x41\x63\x74\x69\x6F\x6E","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x6F\x72","\x62\x6F\x64\x79","\x4D\x61\x69\x6C\x42\x75\x73\x69\x6E\x65\x73\x73\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x49\x64","\x63\x6F\x6E\x63\x61\x74","\x61\x6E\x64","\x61\x63\x74\x69\x6F\x6E\x73","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0x66d6[0];var _=require(_0x66d6[1]);var util=require(_0x66d6[2]);var MailBusinessAutomation=require(_0x66d6[4])[_0x66d6[3]];var BusinessCondition=require(_0x66d6[4])[_0x66d6[5]];var BusinessAction=require(_0x66d6[4])[_0x66d6[6]];var sequelize=require(_0x66d6[4])[_0x66d6[7]];exports[_0x66d6[8]]=function(_0x9351x7,_0x9351x8,_0x9351x9){var _0x9351xa=[_0x66d6[9],_0x66d6[10]];var _0x9351xb=_0x9351x7[_0x66d6[12]][_0x66d6[11]]?parseInt(_0x9351x7[_0x66d6[12]][_0x66d6[11]],10):100;var _0x9351xc=_0x9351x7[_0x66d6[12]][_0x66d6[13]]?parseInt(_0x9351x7[_0x66d6[12]][_0x66d6[13]],10):0;var _0x9351xd={where:{},limit:_0x9351xb,offset:_0x9351xc*_0x9351xb};_[_0x66d6[27]](_0x9351x7[_0x66d6[12]],function(_0x9351xe,_0x9351xf){switch(_0x9351xf){case _0x66d6[11]:;case _0x66d6[13]:break ;;case _0x66d6[16]:_0x9351xd[_0x66d6[14]]=util[_0x66d6[19]](_0x66d6[15],_0x9351x7[_0x66d6[12]][_0x66d6[16]],_0x9351x7[_0x66d6[12]][_0x66d6[17]]||_0x66d6[18])||null;break ;;case _0x66d6[17]:break ;;case _0x66d6[25]:_0x9351xd[_0x66d6[21]][_0x66d6[20]]=[];_0x9351xa[_0x66d6[24]](function(_0x9351x10){var _0x9351x11={};_0x9351x11[_0x9351x10]={$like:_0x66d6[22]+_0x9351xe+_0x66d6[22]};_0x9351xd[_0x66d6[21]][_0x66d6[20]][_0x66d6[23]](_0x9351x11);});break ;;default:_0x9351xd[_0x66d6[21]][_0x9351xf]={$like:{}};_0x9351xd[_0x66d6[21]][_0x9351xf][_0x66d6[26]]=_0x66d6[22]+_0x9351xe+_0x66d6[22];;}});MailBusinessAutomation[_0x66d6[42]](_0x9351xd)[_0x66d6[41]](function(_0x9351x13){var _0x9351x14=Math[_0x66d6[33]](_0x9351x13[_0x66d6[32]]/_0x9351xb);var _0x9351x15=_0x9351x14>(_0x9351xd[_0x66d6[34]]+1)?util[_0x66d6[19]](_0x66d6[35],_0x9351x7[_0x66d6[36]],_0x9351x7[_0x66d6[38]][_0x66d6[37]],_0x9351x7[_0x66d6[39]],_0x9351xc+1):null;var _0x9351x16=_0x9351xc>0?util[_0x66d6[19]](_0x66d6[35],_0x9351x7[_0x66d6[36]],_0x9351x7[_0x66d6[38]][_0x66d6[37]],_0x9351x7[_0x66d6[39]],_0x9351xc-1):null;_0x9351x8[_0x66d6[30]](200)[_0x66d6[29]]({count:_0x9351x13[_0x66d6[32]],mailAutomations:_0x9351x13[_0x66d6[40]],next_page:_0x9351x15,previous_page:_0x9351x16,total_pages:_0x9351x14});})[_0x66d6[31]](function(_0x9351x12){_0x9351x8[_0x66d6[30]](500)[_0x66d6[29]]({error:_0x66d6[28]})});};exports[_0x66d6[43]]=function(_0x9351x7,_0x9351x8){MailBusinessAutomation[_0x66d6[47]](_0x9351x7[_0x66d6[46]][_0x66d6[45]],{include:[{all:true}]})[_0x66d6[41]](function(_0x9351x17){if(!_0x9351x17){return _0x9351x8[_0x66d6[44]](404)};return _0x9351x8[_0x66d6[29]](_0x9351x17);})[_0x66d6[31]](function(_0x9351x12){return handleError(_0x9351x8,_0x9351x12)})};exports[_0x66d6[48]]=function(_0x9351x7,_0x9351x8,_0x9351x9){return sequelize[_0x66d6[56]](function(_0x9351x18){return MailBusinessAutomation[_0x66d6[48]](_0x9351x7[_0x66d6[50]],{transaction:_0x9351x18})[_0x66d6[41]](function(_0x9351x17){var _0x9351x19=[];if(_0x9351x7[_0x66d6[50]][_0x66d6[49]]){_0x9351x7[_0x66d6[50]][_0x66d6[49]][_0x66d6[24]](function(_0x9351x1a){_0x9351x1a[_0x66d6[51]]=_0x9351x17[_0x66d6[45]]});_0x9351x19=_0x9351x19[_0x66d6[52]](_0x9351x7[_0x66d6[50]][_0x66d6[49]]);};if(_0x9351x7[_0x66d6[50]][_0x66d6[53]]){_0x9351x7[_0x66d6[50]][_0x66d6[53]][_0x66d6[24]](function(_0x9351x1a){_0x9351x1a[_0x66d6[51]]=_0x9351x17[_0x66d6[45]]});_0x9351x19=_0x9351x19[_0x66d6[52]](_0x9351x7[_0x66d6[50]][_0x66d6[53]]);};return BusinessCondition[_0x66d6[55]](_0x9351x19,{transaction:_0x9351x18})[_0x66d6[41]](function(_0x9351x1b){if(_0x9351x7[_0x66d6[50]][_0x66d6[54]]){_0x9351x7[_0x66d6[50]][_0x66d6[54]][_0x66d6[24]](function(_0x9351x1a){_0x9351x1a[_0x66d6[51]]=_0x9351x17[_0x66d6[45]]})};return BusinessAction[_0x66d6[55]](_0x9351x7[_0x66d6[50]][_0x66d6[54]],{transaction:_0x9351x18});});})})[_0x66d6[41]](function(){return _0x9351x8[_0x66d6[44]](201)})[_0x66d6[31]](function(_0x9351x12){return _0x9351x9(_0x9351x12)})};exports[_0x66d6[57]]=function(_0x9351x7,_0x9351x8){if(_0x9351x7[_0x66d6[50]][_0x66d6[45]]){delete _0x9351x7[_0x66d6[50]][_0x66d6[45]]};MailBusinessAutomation[_0x66d6[60]]({where:{id:_0x9351x7[_0x66d6[46]][_0x66d6[45]]}})[_0x66d6[41]](function(_0x9351x17){if(!_0x9351x17){return _0x9351x8[_0x66d6[44]](404)};var _0x9351x1c=_[_0x66d6[58]](_0x9351x17,_0x9351x7[_0x66d6[50]]);_0x9351x1c[_0x66d6[59]]()[_0x66d6[41]](function(){return _0x9351x8[_0x66d6[30]](200)[_0x66d6[29]](_0x9351x17)})[_0x66d6[31]](function(_0x9351x12){return handleError(_0x9351x8,_0x9351x12)});})[_0x66d6[31]](function(_0x9351x12){return handleError(_0x9351x8,_0x9351x12)});};exports[_0x66d6[61]]=function(_0x9351x7,_0x9351x8){MailBusinessAutomation[_0x66d6[47]](_0x9351x7[_0x66d6[46]][_0x66d6[45]])[_0x66d6[41]](function(_0x9351x17){if(!_0x9351x17){return _0x9351x8[_0x66d6[44]](404)};_0x9351x17[_0x66d6[61]]()[_0x66d6[41]](function(){return _0x9351x8[_0x66d6[44]](204)})[_0x66d6[31]](function(_0x9351x12){return handleError(_0x9351x8,_0x9351x12)});})[_0x66d6[31]](function(_0x9351x12){return handleError(_0x9351x8,_0x9351x12)})};exports[_0x66d6[62]]=function(_0x9351x7,_0x9351x8){MailBusinessAutomation[_0x66d6[61]]({where:{id:_0x9351x7[_0x66d6[12]][_0x66d6[45]]},individualHooks:true})[_0x66d6[41]](function(){return _0x9351x8[_0x66d6[44]](204)})[_0x66d6[31]](function(_0x9351x12){return handleError(_0x9351x8,_0x9351x12)})};function handleError(_0x9351x8,_0x9351x12){return _0x9351x8[_0x66d6[30]](500)[_0x66d6[29]](_0x9351x12)}
\ No newline at end of file
+var _0xf608=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x4D\x61\x69\x6C\x42\x75\x73\x69\x6E\x65\x73\x73\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x42\x75\x73\x69\x6E\x65\x73\x73\x43\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x42\x75\x73\x69\x6E\x65\x73\x73\x41\x63\x74\x69\x6F\x6E","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x6F\x72","\x62\x6F\x64\x79","\x4D\x61\x69\x6C\x42\x75\x73\x69\x6E\x65\x73\x73\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x49\x64","\x63\x6F\x6E\x63\x61\x74","\x61\x6E\x64","\x61\x63\x74\x69\x6F\x6E\x73","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0xf608[0];var _=require(_0xf608[1]);var util=require(_0xf608[2]);var MailBusinessAutomation=require(_0xf608[4])[_0xf608[3]];var BusinessCondition=require(_0xf608[4])[_0xf608[5]];var BusinessAction=require(_0xf608[4])[_0xf608[6]];var sequelize=require(_0xf608[4])[_0xf608[7]];exports[_0xf608[8]]=function(_0xabb0x7,_0xabb0x8,_0xabb0x9){var _0xabb0xa=[_0xf608[9],_0xf608[10]];var _0xabb0xb=_0xabb0x7[_0xf608[12]][_0xf608[11]]?parseInt(_0xabb0x7[_0xf608[12]][_0xf608[11]],10):100;var _0xabb0xc=_0xabb0x7[_0xf608[12]][_0xf608[13]]?parseInt(_0xabb0x7[_0xf608[12]][_0xf608[13]],10):0;var _0xabb0xd={where:{},limit:_0xabb0xb,offset:_0xabb0xc*_0xabb0xb};_[_0xf608[27]](_0xabb0x7[_0xf608[12]],function(_0xabb0xe,_0xabb0xf){switch(_0xabb0xf){case _0xf608[11]:;case _0xf608[13]:break ;;case _0xf608[16]:_0xabb0xd[_0xf608[14]]=util[_0xf608[19]](_0xf608[15],_0xabb0x7[_0xf608[12]][_0xf608[16]],_0xabb0x7[_0xf608[12]][_0xf608[17]]||_0xf608[18])||null;break ;;case _0xf608[17]:break ;;case _0xf608[25]:_0xabb0xd[_0xf608[21]][_0xf608[20]]=[];_0xabb0xa[_0xf608[24]](function(_0xabb0x10){var _0xabb0x11={};_0xabb0x11[_0xabb0x10]={$like:_0xf608[22]+_0xabb0xe+_0xf608[22]};_0xabb0xd[_0xf608[21]][_0xf608[20]][_0xf608[23]](_0xabb0x11);});break ;;default:_0xabb0xd[_0xf608[21]][_0xabb0xf]={$like:{}};_0xabb0xd[_0xf608[21]][_0xabb0xf][_0xf608[26]]=_0xf608[22]+_0xabb0xe+_0xf608[22];;}});MailBusinessAutomation[_0xf608[42]](_0xabb0xd)[_0xf608[41]](function(_0xabb0x13){var _0xabb0x14=Math[_0xf608[33]](_0xabb0x13[_0xf608[32]]/_0xabb0xb);var _0xabb0x15=_0xabb0x14>(_0xabb0xd[_0xf608[34]]+1)?util[_0xf608[19]](_0xf608[35],_0xabb0x7[_0xf608[36]],_0xabb0x7[_0xf608[38]][_0xf608[37]],_0xabb0x7[_0xf608[39]],_0xabb0xc+1):null;var _0xabb0x16=_0xabb0xc>0?util[_0xf608[19]](_0xf608[35],_0xabb0x7[_0xf608[36]],_0xabb0x7[_0xf608[38]][_0xf608[37]],_0xabb0x7[_0xf608[39]],_0xabb0xc-1):null;_0xabb0x8[_0xf608[30]](200)[_0xf608[29]]({count:_0xabb0x13[_0xf608[32]],mailAutomations:_0xabb0x13[_0xf608[40]],next_page:_0xabb0x15,previous_page:_0xabb0x16,total_pages:_0xabb0x14});})[_0xf608[31]](function(_0xabb0x12){_0xabb0x8[_0xf608[30]](500)[_0xf608[29]]({error:_0xf608[28]})});};exports[_0xf608[43]]=function(_0xabb0x7,_0xabb0x8){MailBusinessAutomation[_0xf608[47]](_0xabb0x7[_0xf608[46]][_0xf608[45]],{include:[{all:true}]})[_0xf608[41]](function(_0xabb0x17){if(!_0xabb0x17){return _0xabb0x8[_0xf608[44]](404)};return _0xabb0x8[_0xf608[29]](_0xabb0x17);})[_0xf608[31]](function(_0xabb0x12){return handleError(_0xabb0x8,_0xabb0x12)})};exports[_0xf608[48]]=function(_0xabb0x7,_0xabb0x8,_0xabb0x9){return sequelize[_0xf608[56]](function(_0xabb0x18){return MailBusinessAutomation[_0xf608[48]](_0xabb0x7[_0xf608[50]],{transaction:_0xabb0x18})[_0xf608[41]](function(_0xabb0x17){var _0xabb0x19=[];if(_0xabb0x7[_0xf608[50]][_0xf608[49]]){_0xabb0x7[_0xf608[50]][_0xf608[49]][_0xf608[24]](function(_0xabb0x1a){_0xabb0x1a[_0xf608[51]]=_0xabb0x17[_0xf608[45]]});_0xabb0x19=_0xabb0x19[_0xf608[52]](_0xabb0x7[_0xf608[50]][_0xf608[49]]);};if(_0xabb0x7[_0xf608[50]][_0xf608[53]]){_0xabb0x7[_0xf608[50]][_0xf608[53]][_0xf608[24]](function(_0xabb0x1a){_0xabb0x1a[_0xf608[51]]=_0xabb0x17[_0xf608[45]]});_0xabb0x19=_0xabb0x19[_0xf608[52]](_0xabb0x7[_0xf608[50]][_0xf608[53]]);};return BusinessCondition[_0xf608[55]](_0xabb0x19,{transaction:_0xabb0x18})[_0xf608[41]](function(_0xabb0x1b){if(_0xabb0x7[_0xf608[50]][_0xf608[54]]){_0xabb0x7[_0xf608[50]][_0xf608[54]][_0xf608[24]](function(_0xabb0x1a){_0xabb0x1a[_0xf608[51]]=_0xabb0x17[_0xf608[45]]})};return BusinessAction[_0xf608[55]](_0xabb0x7[_0xf608[50]][_0xf608[54]],{transaction:_0xabb0x18});});})})[_0xf608[41]](function(){return _0xabb0x8[_0xf608[44]](201)})[_0xf608[31]](function(_0xabb0x12){return _0xabb0x9(_0xabb0x12)})};exports[_0xf608[57]]=function(_0xabb0x7,_0xabb0x8){if(_0xabb0x7[_0xf608[50]][_0xf608[45]]){delete _0xabb0x7[_0xf608[50]][_0xf608[45]]};MailBusinessAutomation[_0xf608[60]]({where:{id:_0xabb0x7[_0xf608[46]][_0xf608[45]]}})[_0xf608[41]](function(_0xabb0x17){if(!_0xabb0x17){return _0xabb0x8[_0xf608[44]](404)};var _0xabb0x1c=_[_0xf608[58]](_0xabb0x17,_0xabb0x7[_0xf608[50]]);_0xabb0x1c[_0xf608[59]]()[_0xf608[41]](function(){return _0xabb0x8[_0xf608[30]](200)[_0xf608[29]](_0xabb0x17)})[_0xf608[31]](function(_0xabb0x12){return handleError(_0xabb0x8,_0xabb0x12)});})[_0xf608[31]](function(_0xabb0x12){return handleError(_0xabb0x8,_0xabb0x12)});};exports[_0xf608[61]]=function(_0xabb0x7,_0xabb0x8){MailBusinessAutomation[_0xf608[47]](_0xabb0x7[_0xf608[46]][_0xf608[45]])[_0xf608[41]](function(_0xabb0x17){if(!_0xabb0x17){return _0xabb0x8[_0xf608[44]](404)};_0xabb0x17[_0xf608[61]]()[_0xf608[41]](function(){return _0xabb0x8[_0xf608[44]](204)})[_0xf608[31]](function(_0xabb0x12){return handleError(_0xabb0x8,_0xabb0x12)});})[_0xf608[31]](function(_0xabb0x12){return handleError(_0xabb0x8,_0xabb0x12)})};exports[_0xf608[62]]=function(_0xabb0x7,_0xabb0x8){MailBusinessAutomation[_0xf608[61]]({where:{id:_0xabb0x7[_0xf608[12]][_0xf608[45]]},individualHooks:true})[_0xf608[41]](function(){return _0xabb0x8[_0xf608[44]](204)})[_0xf608[31]](function(_0xabb0x12){return handleError(_0xabb0x8,_0xabb0x12)})};function handleError(_0xabb0x8,_0xabb0x12){return _0xabb0x8[_0xf608[30]](500)[_0xf608[29]](_0xabb0x12)}
\ No newline at end of file
index 4ecd9d7c85275f77b64ef891a9cbf3dd6219c3eb..f491bcc902f8b03f9e55f803ec052598a4d7aa8b 100644 (file)
@@ -1 +1 @@
-var _0x71f0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x61\x69\x6C\x42\x75\x73\x69\x6E\x65\x73\x73\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6D\x61\x69\x6C\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6D\x61\x69\x6C\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0x71f0[0];var MailBusinessAutomation=require(_0x71f0[2])[_0x71f0[1]];exports[_0x71f0[3]]=function(_0xbd87x2){MailBusinessAutomation[_0x71f0[4]](function(_0xbd87x3,_0xbd87x4){onSave(_0xbd87x2,_0xbd87x3)});MailBusinessAutomation[_0x71f0[5]](function(_0xbd87x3,_0xbd87x4){onSave(_0xbd87x2,_0xbd87x3)});MailBusinessAutomation[_0x71f0[6]](function(_0xbd87x3){onRemove(_0xbd87x2,_0xbd87x3)});};function onSave(_0xbd87x2,_0xbd87x3,_0xbd87x6){_0xbd87x2[_0x71f0[8]](_0x71f0[7],_0xbd87x3)}function onRemove(_0xbd87x2,_0xbd87x3,_0xbd87x6){_0xbd87x2[_0x71f0[8]](_0x71f0[9],_0xbd87x3)}
\ No newline at end of file
+var _0x349a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x61\x69\x6C\x42\x75\x73\x69\x6E\x65\x73\x73\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6D\x61\x69\x6C\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6D\x61\x69\x6C\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0x349a[0];var MailBusinessAutomation=require(_0x349a[2])[_0x349a[1]];exports[_0x349a[3]]=function(_0xb0e0x2){MailBusinessAutomation[_0x349a[4]](function(_0xb0e0x3,_0xb0e0x4){onSave(_0xb0e0x2,_0xb0e0x3)});MailBusinessAutomation[_0x349a[5]](function(_0xb0e0x3,_0xb0e0x4){onSave(_0xb0e0x2,_0xb0e0x3)});MailBusinessAutomation[_0x349a[6]](function(_0xb0e0x3){onRemove(_0xb0e0x2,_0xb0e0x3)});};function onSave(_0xb0e0x2,_0xb0e0x3,_0xb0e0x6){_0xb0e0x2[_0x349a[8]](_0x349a[7],_0xb0e0x3)}function onRemove(_0xb0e0x2,_0xb0e0x3,_0xb0e0x6){_0xb0e0x2[_0x349a[8]](_0x349a[9],_0xb0e0x3)}
\ No newline at end of file
index d27c90987c49162f2e49b726d15d310e39457596..f491f9968948faef0398e4494d5f9f51ad3fbfa4 100644 (file)
@@ -1 +1 @@
-var _0x4f07=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73","\x67\x65\x74"];_0x4f07[0];var should=require(_0x4f07[1]);var app=require(_0x4f07[2]);var request=require(_0x4f07[3]);describe(_0x4f07[4],function(){it(_0x4f07[5],function(_0x9936x4){request(app)[_0x4f07[13]](_0x4f07[12])[_0x4f07[11]](200)[_0x4f07[11]](_0x4f07[10],/json/)[_0x4f07[9]](function(_0x9936x5,_0x9936x6){if(_0x9936x5){return _0x9936x4(_0x9936x5)};_0x9936x6[_0x4f07[8]][_0x4f07[1]][_0x4f07[7]][_0x4f07[6]](Array);_0x9936x4();})})});
\ No newline at end of file
+var _0x840a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73","\x67\x65\x74"];_0x840a[0];var should=require(_0x840a[1]);var app=require(_0x840a[2]);var request=require(_0x840a[3]);describe(_0x840a[4],function(){it(_0x840a[5],function(_0x9e6fx4){request(app)[_0x840a[13]](_0x840a[12])[_0x840a[11]](200)[_0x840a[11]](_0x840a[10],/json/)[_0x840a[9]](function(_0x9e6fx5,_0x9e6fx6){if(_0x9e6fx5){return _0x9e6fx4(_0x9e6fx5)};_0x9e6fx6[_0x840a[8]][_0x840a[1]][_0x840a[7]][_0x840a[6]](Array);_0x9e6fx4();})})});
\ No newline at end of file
index 791b4708b09bd1ef165f6581bd909d5564edc544..cd288d9651c11735beb79969f07a16fe1230477b 100644 (file)
@@ -1 +1 @@
-var _0xcc47=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x2F\x64\x65\x6C\x65\x74\x65\x2F\x62\x75\x6C\x6B","\x62\x75\x6C\x6B\x44\x65\x6C\x65\x74\x65","\x2F\x64\x65\x6C\x65\x74\x65\x2F\x3A\x69\x64","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xcc47[0];var express=require(_0xcc47[1]);var controller=require(_0xcc47[2]);var auth=require(_0xcc47[3]);var router=express.Router();router[_0xcc47[7]](_0xcc47[4],auth[_0xcc47[5]](),controller[_0xcc47[6]]);router[_0xcc47[7]](_0xcc47[8],auth[_0xcc47[5]](),controller[_0xcc47[9]]);router[_0xcc47[11]](_0xcc47[4],auth[_0xcc47[5]](),controller[_0xcc47[10]]);router[_0xcc47[13]](_0xcc47[4],auth[_0xcc47[5]](),controller[_0xcc47[12]]);router[_0xcc47[13]](_0xcc47[14],controller[_0xcc47[15]]);router[_0xcc47[13]](_0xcc47[16],controller[_0xcc47[12]]);router[_0xcc47[13]](_0xcc47[8],controller[_0xcc47[12]]);router[_0xcc47[17]](_0xcc47[8],controller[_0xcc47[12]]);router[_0xcc47[19]](_0xcc47[8],controller[_0xcc47[18]]);module[_0xcc47[20]]=router;
\ No newline at end of file
+var _0xa7a9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x2F\x64\x65\x6C\x65\x74\x65\x2F\x62\x75\x6C\x6B","\x62\x75\x6C\x6B\x44\x65\x6C\x65\x74\x65","\x2F\x64\x65\x6C\x65\x74\x65\x2F\x3A\x69\x64","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xa7a9[0];var express=require(_0xa7a9[1]);var controller=require(_0xa7a9[2]);var auth=require(_0xa7a9[3]);var router=express.Router();router[_0xa7a9[7]](_0xa7a9[4],auth[_0xa7a9[5]](),controller[_0xa7a9[6]]);router[_0xa7a9[7]](_0xa7a9[8],auth[_0xa7a9[5]](),controller[_0xa7a9[9]]);router[_0xa7a9[11]](_0xa7a9[4],auth[_0xa7a9[5]](),controller[_0xa7a9[10]]);router[_0xa7a9[13]](_0xa7a9[4],auth[_0xa7a9[5]](),controller[_0xa7a9[12]]);router[_0xa7a9[13]](_0xa7a9[14],controller[_0xa7a9[15]]);router[_0xa7a9[13]](_0xa7a9[16],controller[_0xa7a9[12]]);router[_0xa7a9[13]](_0xa7a9[8],controller[_0xa7a9[12]]);router[_0xa7a9[17]](_0xa7a9[8],controller[_0xa7a9[12]]);router[_0xa7a9[19]](_0xa7a9[8],controller[_0xa7a9[18]]);module[_0xa7a9[20]]=router;
\ No newline at end of file
index 05f8b5ba82bc445a10bba9aac07ee3226e923ff6..18eec2e1dd6f848e12c3eb6e2f7b21efdbcdbbc9 100644 (file)
@@ -1 +1 @@
-var _0x6cdd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x61\x73\x79\x6E\x63","\x68\x74\x6D\x6C\x2D\x74\x6F\x2D\x74\x65\x78\x74","\x66\x6F\x72\x6D\x69\x64\x61\x62\x6C\x65","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x43\x6F\x6E\x74\x61\x63\x74","\x69\x6E\x64\x65\x78","\x63\x72\x65\x61\x74\x65\x64\x41\x74\x20\x44\x45\x53\x43","\x77\x68\x65\x72\x65","\x71\x75\x65\x72\x79","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x72\x6F\x6C\x65","\x75\x73\x65\x72","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x75\x70\x6C\x6F\x61\x64\x44\x69\x72","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72","\x66\x69\x6C\x65\x73","\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x73","\x6A\x6F\x69\x6E","\x6B\x65\x65\x70\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x6D\x75\x6C\x74\x69\x70\x6C\x65\x73","\x62\x6F\x64\x79","\x69\x73\x45\x6D\x70\x74\x79","\x66\x69\x6C\x65","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x73","\x6E\x61\x6D\x65","\x73\x69\x7A\x65","\x74\x79\x70\x65","\x72\x6F\x6C\x6C\x62\x61\x63\x6B","\x63\x6F\x6D\x6D\x69\x74","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x70\x61\x72\x73\x65","\x4E\x4F\x20\x41\x54\x54\x41\x43\x48\x4D\x45\x4E\x54","\x6C\x6F\x67","\x53\x45\x4E\x44\x49\x4E\x47","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x6C\x65\x74\x65","\x54\x52\x41\x53\x48","\x62\x75\x6C\x6B\x55\x70\x64\x61\x74\x65"];_0x6cdd[0];var _=require(_0x6cdd[1]);var async=require(_0x6cdd[2]);var htmlToText=require(_0x6cdd[3]);var formidable=require(_0x6cdd[4]);var path=require(_0x6cdd[5]);var config=require(_0x6cdd[6]);var sequelize=require(_0x6cdd[8])[_0x6cdd[7]];var MailMessage=require(_0x6cdd[8])[_0x6cdd[9]];var MailAttachment=require(_0x6cdd[8])[_0x6cdd[10]];var MailRoom=require(_0x6cdd[8])[_0x6cdd[11]];var MailAccount=require(_0x6cdd[8])[_0x6cdd[12]];var Contact=require(_0x6cdd[8])[_0x6cdd[13]];exports[_0x6cdd[14]]=function(_0x60b4xd,_0x60b4xe,_0x60b4xf){var _0x60b4x10={order:_0x6cdd[15],include:[{all:true,include:[{all:true}]}]};switch(_0x60b4xd[_0x6cdd[21]][_0x6cdd[20]]){case _0x6cdd[18]:_0x60b4x10[_0x6cdd[16]]=_0x60b4xd[_0x6cdd[17]];break ;;case _0x6cdd[19]:break ;;default:;};MailMessage[_0x6cdd[26]](_0x60b4x10)[_0x6cdd[25]](function(_0x60b4x12){return _0x60b4xe[_0x6cdd[24]](200)[_0x6cdd[23]](_0x60b4x12)})[_0x6cdd[22]](function(_0x60b4x11){return handleError(_0x60b4xe,_0x60b4x11,_0x60b4xf)});};exports[_0x6cdd[27]]=function(_0x60b4xd,_0x60b4xe,_0x60b4xf){MailMessage[_0x6cdd[31]](_0x60b4xd[_0x6cdd[30]][_0x6cdd[29]],{include:[{all:true,include:[{all:true}]}]})[_0x6cdd[25]](function(_0x60b4x13){if(!_0x60b4x13){return _0x60b4xe[_0x6cdd[28]](404)};return _0x60b4xe[_0x6cdd[23]](_0x60b4x13);})[_0x6cdd[22]](function(_0x60b4x11){return handleError(_0x60b4xe,_0x60b4x11,_0x60b4xf)})};exports[_0x6cdd[32]]=function(_0x60b4xd,_0x60b4xe,_0x60b4xf){var _0x60b4x14= new formidable.IncomingForm();_0x60b4x14[_0x6cdd[33]]=path[_0x6cdd[38]](config[_0x6cdd[34]],_0x6cdd[35],_0x6cdd[36],_0x6cdd[37]);_0x60b4x14[_0x6cdd[39]]=true;_0x60b4x14[_0x6cdd[40]]=true;if(_[_0x6cdd[42]](_0x60b4xd[_0x6cdd[41]])){_0x60b4x14[_0x6cdd[51]](_0x60b4xd,function(_0x60b4x11,_0x60b4x14,_0x60b4x15){if(_0x60b4x11){return _0x60b4xe[_0x6cdd[24]](400)[_0x6cdd[23]](_0x60b4x11)};var _0x60b4x16=_0x60b4x15[_0x6cdd[43]];_0x60b4x14[_0x6cdd[44]]=[{path:_0x60b4x16[_0x6cdd[5]],fileName:_0x60b4x16[_0x6cdd[45]],length:_0x60b4x16[_0x6cdd[46]],contentType:_0x60b4x16[_0x6cdd[47]]}];return sequelize[_0x6cdd[50]]()[_0x6cdd[25]](function(_0x60b4x17){return MailMessage[_0x6cdd[32]](_0x60b4x14,{include:[{all:true}],transaction:_0x60b4x17})[_0x6cdd[25]](function(_0x60b4x13){_0x60b4x17[_0x6cdd[49]]();return _0x60b4xe[_0x6cdd[24]](201)[_0x6cdd[23]](_0x60b4x13);})[_0x6cdd[22]](function(_0x60b4x11){_0x60b4x17[_0x6cdd[48]]();return handleError(_0x60b4xe,_0x60b4x11);})});})}else {console[_0x6cdd[53]](_0x6cdd[52]);_0x60b4xd[_0x6cdd[41]][_0x6cdd[24]]=_0x6cdd[54];return sequelize[_0x6cdd[50]]()[_0x6cdd[25]](function(_0x60b4x17){return MailMessage[_0x6cdd[32]](_0x60b4xd[_0x6cdd[41]],{transaction:_0x60b4x17})[_0x6cdd[25]](function(_0x60b4x13){_0x60b4x17[_0x6cdd[49]]();return _0x60b4xe[_0x6cdd[24]](201)[_0x6cdd[23]](_0x60b4x13);})[_0x6cdd[22]](function(_0x60b4x11){_0x60b4x17[_0x6cdd[48]]();return handleError(_0x60b4xe,_0x60b4x11);})});};};exports[_0x6cdd[55]]=function(_0x60b4xd,_0x60b4xe,_0x60b4xf){MailMessage[_0x6cdd[31]](_0x60b4xd[_0x6cdd[30]][_0x6cdd[29]],{include:[{all:true}]})[_0x6cdd[25]](function(_0x60b4x13){if(!_0x60b4x13){return _0x60b4xe[_0x6cdd[28]](404)};var _0x60b4x18=_[_0x6cdd[56]](_0x60b4x13,_0x60b4xd[_0x6cdd[41]]);_0x60b4x18[_0x6cdd[57]]()[_0x6cdd[25]](function(){return _0x60b4xe[_0x6cdd[24]](200)[_0x6cdd[23]](_0x60b4x18)})[_0x6cdd[22]](function(_0x60b4x11){return handleError(_0x60b4xe,_0x60b4x11,_0x60b4xf)});})[_0x6cdd[22]](function(_0x60b4x11){return handleError(_0x60b4xe,_0x60b4x11,_0x60b4xf)})};exports[_0x6cdd[58]]=function(_0x60b4xd,_0x60b4xe,_0x60b4xf){MailMessage[_0x6cdd[31]](_0x60b4xd[_0x6cdd[30]][_0x6cdd[29]])[_0x6cdd[25]](function(_0x60b4x13){if(!_0x60b4x13){return _0x60b4xe[_0x6cdd[28]](404)};_0x60b4x13[_0x6cdd[58]]()[_0x6cdd[25]](function(){return _0x60b4xe[_0x6cdd[28]](204)})[_0x6cdd[22]](function(_0x60b4x11){return handleError(_0x60b4xe,_0x60b4x11,_0x60b4xf)});})[_0x6cdd[22]](function(_0x60b4x11){return handleError(_0x60b4xe,_0x60b4x11,_0x60b4xf)})};exports[_0x6cdd[59]]=function(_0x60b4xd,_0x60b4xe,_0x60b4xf){MailMessage[_0x6cdd[61]]({where:{id:{$in:_0x60b4xd[_0x6cdd[41]][_0x6cdd[29]]}},attributes:{directory:_0x6cdd[60]}})[_0x6cdd[25]](function(_0x60b4x13){if(!_0x60b4x13){return _0x60b4xe[_0x6cdd[28]](404)};_0x60b4x13[_0x6cdd[58]]()[_0x6cdd[25]](function(){return _0x60b4xe[_0x6cdd[28]](204)})[_0x6cdd[22]](function(_0x60b4x11){return handleError(_0x60b4xe,_0x60b4x11,_0x60b4xf)});})[_0x6cdd[22]](function(_0x60b4x11){return handleError(_0x60b4xe,_0x60b4x11,_0x60b4xf)})};function handleError(_0x60b4xe,_0x60b4x11,_0x60b4xf){return _0x60b4xe[_0x6cdd[24]](500)[_0x6cdd[23]](_0x60b4x11)}
\ No newline at end of file
+var _0x5988=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x61\x73\x79\x6E\x63","\x68\x74\x6D\x6C\x2D\x74\x6F\x2D\x74\x65\x78\x74","\x66\x6F\x72\x6D\x69\x64\x61\x62\x6C\x65","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x43\x6F\x6E\x74\x61\x63\x74","\x69\x6E\x64\x65\x78","\x63\x72\x65\x61\x74\x65\x64\x41\x74\x20\x44\x45\x53\x43","\x77\x68\x65\x72\x65","\x71\x75\x65\x72\x79","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x72\x6F\x6C\x65","\x75\x73\x65\x72","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x65\x72\x72\x6F\x72","\x72\x6F\x6C\x6C\x62\x61\x63\x6B","\x63\x6F\x6D\x6D\x69\x74","\x62\x6F\x64\x79","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x6C\x65\x74\x65","\x54\x52\x41\x53\x48","\x62\x75\x6C\x6B\x55\x70\x64\x61\x74\x65"];_0x5988[0];var _=require(_0x5988[1]);var async=require(_0x5988[2]);var htmlToText=require(_0x5988[3]);var formidable=require(_0x5988[4]);var path=require(_0x5988[5]);var config=require(_0x5988[6]);var sequelize=require(_0x5988[8])[_0x5988[7]];var MailMessage=require(_0x5988[8])[_0x5988[9]];var MailAttachment=require(_0x5988[8])[_0x5988[10]];var MailRoom=require(_0x5988[8])[_0x5988[11]];var MailAccount=require(_0x5988[8])[_0x5988[12]];var Contact=require(_0x5988[8])[_0x5988[13]];exports[_0x5988[14]]=function(_0xdaaexd,_0xdaaexe,_0xdaaexf){var _0xdaaex10={order:_0x5988[15],include:[{all:true,include:[{all:true}]}]};switch(_0xdaaexd[_0x5988[21]][_0x5988[20]]){case _0x5988[18]:_0xdaaex10[_0x5988[16]]=_0xdaaexd[_0x5988[17]];break ;;case _0x5988[19]:break ;;default:;};MailMessage[_0x5988[26]](_0xdaaex10)[_0x5988[25]](function(_0xdaaex12){return _0xdaaexe[_0x5988[24]](200)[_0x5988[23]](_0xdaaex12)})[_0x5988[22]](function(_0xdaaex11){return handleError(_0xdaaexe,_0xdaaex11,_0xdaaexf)});};exports[_0x5988[27]]=function(_0xdaaexd,_0xdaaexe,_0xdaaexf){MailMessage[_0x5988[31]](_0xdaaexd[_0x5988[30]][_0x5988[29]],{include:[{all:true,include:[{all:true}]}]})[_0x5988[25]](function(_0xdaaex13){if(!_0xdaaex13){return _0xdaaexe[_0x5988[28]](404)};return _0xdaaexe[_0x5988[23]](_0xdaaex13);})[_0x5988[22]](function(_0xdaaex11){return handleError(_0xdaaexe,_0xdaaex11,_0xdaaexf)})};exports[_0x5988[32]]=function(_0xdaaexd,_0xdaaexe,_0xdaaexf){return sequelize[_0x5988[37]]()[_0x5988[25]](function(_0xdaaex14){return MailMessage[_0x5988[32]](_0xdaaexd[_0x5988[36]],{include:[{model:MailAttachment}],transaction:_0xdaaex14})[_0x5988[25]](function(_0xdaaex13){_0xdaaex14[_0x5988[35]]();return _0xdaaexe[_0x5988[24]](201)[_0x5988[23]](_0xdaaex13);})[_0x5988[22]](function(_0xdaaex11){console[_0x5988[33]](_0xdaaex11);_0xdaaex14[_0x5988[34]]();return handleError(_0xdaaexe,_0xdaaex11);})})};exports[_0x5988[38]]=function(_0xdaaexd,_0xdaaexe,_0xdaaexf){MailMessage[_0x5988[31]](_0xdaaexd[_0x5988[30]][_0x5988[29]],{include:[{all:true}]})[_0x5988[25]](function(_0xdaaex13){if(!_0xdaaex13){return _0xdaaexe[_0x5988[28]](404)};var _0xdaaex15=_[_0x5988[39]](_0xdaaex13,_0xdaaexd[_0x5988[36]]);_0xdaaex15[_0x5988[40]]()[_0x5988[25]](function(){return _0xdaaexe[_0x5988[24]](200)[_0x5988[23]](_0xdaaex15)})[_0x5988[22]](function(_0xdaaex11){return handleError(_0xdaaexe,_0xdaaex11,_0xdaaexf)});})[_0x5988[22]](function(_0xdaaex11){return handleError(_0xdaaexe,_0xdaaex11,_0xdaaexf)})};exports[_0x5988[41]]=function(_0xdaaexd,_0xdaaexe,_0xdaaexf){MailMessage[_0x5988[31]](_0xdaaexd[_0x5988[30]][_0x5988[29]])[_0x5988[25]](function(_0xdaaex13){if(!_0xdaaex13){return _0xdaaexe[_0x5988[28]](404)};_0xdaaex13[_0x5988[41]]()[_0x5988[25]](function(){return _0xdaaexe[_0x5988[28]](204)})[_0x5988[22]](function(_0xdaaex11){return handleError(_0xdaaexe,_0xdaaex11,_0xdaaexf)});})[_0x5988[22]](function(_0xdaaex11){return handleError(_0xdaaexe,_0xdaaex11,_0xdaaexf)})};exports[_0x5988[42]]=function(_0xdaaexd,_0xdaaexe,_0xdaaexf){MailMessage[_0x5988[44]]({where:{id:{$in:_0xdaaexd[_0x5988[36]][_0x5988[29]]}},attributes:{directory:_0x5988[43]}})[_0x5988[25]](function(_0xdaaex13){if(!_0xdaaex13){return _0xdaaexe[_0x5988[28]](404)};_0xdaaex13[_0x5988[41]]()[_0x5988[25]](function(){return _0xdaaexe[_0x5988[28]](204)})[_0x5988[22]](function(_0xdaaex11){return handleError(_0xdaaexe,_0xdaaex11,_0xdaaexf)});})[_0x5988[22]](function(_0xdaaex11){return handleError(_0xdaaexe,_0xdaaex11,_0xdaaexf)})};function handleError(_0xdaaexe,_0xdaaex11,_0xdaaexf){return _0xdaaexe[_0x5988[24]](500)[_0x5988[23]](_0xdaaex11)}
\ No newline at end of file
index 28e79d34cc4700576ae3365021334f874b4daf4b..67fa1a09f78d60fde6baaaa2c3638b6ac86de40d 100644 (file)
@@ -1 +1 @@
-var _0xfe49=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0xfe49[0];var MailMessage=require(_0xfe49[2])[_0xfe49[1]];exports[_0xfe49[3]]=function(_0xc4dex2){MailMessage[_0xfe49[4]](function(_0xc4dex3){onSave(_0xc4dex2,_0xc4dex3)});MailMessage[_0xfe49[5]](function(_0xc4dex3){onSave(_0xc4dex2,_0xc4dex3)});MailMessage[_0xfe49[6]](function(_0xc4dex3){onRemove(_0xc4dex2,_0xc4dex3)});};function onSave(_0xc4dex2,_0xc4dex3,_0xc4dex5){_0xc4dex2[_0xfe49[8]](_0xfe49[7],_0xc4dex3)}function onRemove(_0xc4dex2,_0xc4dex3,_0xc4dex5){_0xc4dex2[_0xfe49[8]](_0xfe49[9],_0xc4dex3)}
\ No newline at end of file
+var _0xfd0e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0xfd0e[0];var MailMessage=require(_0xfd0e[2])[_0xfd0e[1]];exports[_0xfd0e[3]]=function(_0xea3ax2){MailMessage[_0xfd0e[4]](function(_0xea3ax3){onSave(_0xea3ax2,_0xea3ax3)});MailMessage[_0xfd0e[5]](function(_0xea3ax3){onSave(_0xea3ax2,_0xea3ax3)});MailMessage[_0xfd0e[6]](function(_0xea3ax3){onRemove(_0xea3ax2,_0xea3ax3)});};function onSave(_0xea3ax2,_0xea3ax3,_0xea3ax5){_0xea3ax2[_0xfd0e[8]](_0xfd0e[7],_0xea3ax3)}function onRemove(_0xea3ax2,_0xea3ax3,_0xea3ax5){_0xea3ax2[_0xfd0e[8]](_0xfd0e[9],_0xea3ax3)}
\ No newline at end of file
index 65371dd8a9072a8cad08081d237c1c275a7ad0da..5ab45d4cc1a58dc4fd6f775e3bef09638028d4f0 100644 (file)
@@ -1 +1 @@
-var _0xf822=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x3A\x69\x64\x2F\x61\x67\x65\x6E\x74\x73","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xf822[0];var express=require(_0xf822[1]);var controller=require(_0xf822[2]);var router=express.Router();router[_0xf822[5]](_0xf822[3],controller[_0xf822[4]]);router[_0xf822[5]](_0xf822[6],controller[_0xf822[7]]);router[_0xf822[9]](_0xf822[3],controller[_0xf822[8]]);router[_0xf822[9]](_0xf822[10],controller[_0xf822[11]]);router[_0xf822[13]](_0xf822[6],controller[_0xf822[12]]);router[_0xf822[13]](_0xf822[10],controller[_0xf822[14]]);router[_0xf822[15]](_0xf822[6],controller[_0xf822[12]]);router[_0xf822[17]](_0xf822[3],controller[_0xf822[16]]);router[_0xf822[17]](_0xf822[6],controller[_0xf822[18]]);module[_0xf822[19]]=router;
\ No newline at end of file
+var _0xf3e5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x3A\x69\x64\x2F\x61\x67\x65\x6E\x74\x73","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xf3e5[0];var express=require(_0xf3e5[1]);var controller=require(_0xf3e5[2]);var router=express.Router();router[_0xf3e5[5]](_0xf3e5[3],controller[_0xf3e5[4]]);router[_0xf3e5[5]](_0xf3e5[6],controller[_0xf3e5[7]]);router[_0xf3e5[9]](_0xf3e5[3],controller[_0xf3e5[8]]);router[_0xf3e5[9]](_0xf3e5[10],controller[_0xf3e5[11]]);router[_0xf3e5[13]](_0xf3e5[6],controller[_0xf3e5[12]]);router[_0xf3e5[13]](_0xf3e5[10],controller[_0xf3e5[14]]);router[_0xf3e5[15]](_0xf3e5[6],controller[_0xf3e5[12]]);router[_0xf3e5[17]](_0xf3e5[3],controller[_0xf3e5[16]]);router[_0xf3e5[17]](_0xf3e5[6],controller[_0xf3e5[18]]);module[_0xf3e5[19]]=router;
\ No newline at end of file
index bb82327c7dfad48f727692339915e934e521e3c4..f47cb6c75a5801c016da8237f61b5fa916656f33 100644 (file)
@@ -1 +1 @@
-var _0x8c34=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x74\x69\x6D\x65\x6F\x75\x74","\x73\x74\x72\x61\x74\x65\x67\x79","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x61\x67\x65\x6E\x74\x73","\x61\x64\x64\x55\x73\x65\x72\x73","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x72\x65\x6D\x6F\x76\x65\x55\x73\x65\x72\x73","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0x8c34[0];var _=require(_0x8c34[1]);var util=require(_0x8c34[2]);var MailQueue=require(_0x8c34[4])[_0x8c34[3]];exports[_0x8c34[5]]=function(_0x34d6x4,_0x34d6x5){var _0x34d6x6=[_0x8c34[6],_0x8c34[7],_0x8c34[8],_0x8c34[9]];var _0x34d6x7=_0x34d6x4[_0x8c34[11]][_0x8c34[10]]?parseInt(_0x34d6x4[_0x8c34[11]][_0x8c34[10]],10):100;var _0x34d6x8=_0x34d6x4[_0x8c34[11]][_0x8c34[12]]?parseInt(_0x34d6x4[_0x8c34[11]][_0x8c34[12]],10):0;var _0x34d6x9={where:{},limit:_0x34d6x7,offset:_0x34d6x8*_0x34d6x7,include:[{all:true}]};_[_0x8c34[26]](_0x34d6x4[_0x8c34[11]],function(_0x34d6xa,_0x34d6xb){switch(_0x34d6xb){case _0x8c34[10]:;case _0x8c34[12]:break ;;case _0x8c34[15]:_0x34d6x9[_0x8c34[13]]=util[_0x8c34[18]](_0x8c34[14],_0x34d6x4[_0x8c34[11]][_0x8c34[15]],_0x34d6x4[_0x8c34[11]][_0x8c34[16]]||_0x8c34[17])||null;break ;;case _0x8c34[16]:break ;;case _0x8c34[24]:_0x34d6x9[_0x8c34[20]][_0x8c34[19]]=[];_0x34d6x6[_0x8c34[23]](function(_0x34d6xc){var _0x34d6xd={};_0x34d6xd[_0x34d6xc]={$like:_0x8c34[21]+_0x34d6xa+_0x8c34[21]};_0x34d6x9[_0x8c34[20]][_0x8c34[19]][_0x8c34[22]](_0x34d6xd);});break ;;default:_0x34d6x9[_0x8c34[20]][_0x34d6xb]={$like:{}};_0x34d6x9[_0x8c34[20]][_0x34d6xb][_0x8c34[25]]=_0x8c34[21]+_0x34d6xa+_0x8c34[21];;}});MailQueue[_0x8c34[40]](_0x34d6x9)[_0x8c34[39]](function(_0x34d6xf){var _0x34d6x10=Math[_0x8c34[29]](_0x34d6xf[_0x8c34[28]]/_0x34d6x7);var _0x34d6x11=_0x34d6x10>(_0x34d6x9[_0x8c34[30]]+1)?util[_0x8c34[18]](_0x8c34[31],_0x34d6x4[_0x8c34[32]],_0x34d6x4[_0x8c34[34]][_0x8c34[33]],_0x34d6x4[_0x8c34[35]],_0x34d6x8+1):null;var _0x34d6x12=_0x34d6x8>0?util[_0x8c34[18]](_0x8c34[31],_0x34d6x4[_0x8c34[32]],_0x34d6x4[_0x8c34[34]][_0x8c34[33]],_0x34d6x4[_0x8c34[35]],_0x34d6x8-1):null;_0x34d6x5[_0x8c34[38]](200)[_0x8c34[37]]({count:_0x34d6xf[_0x8c34[28]],rows:_0x34d6xf[_0x8c34[36]],next_page:_0x34d6x11,previous_page:_0x34d6x12,total_pages:_0x34d6x10});})[_0x8c34[27]](function(_0x34d6xe){return handleError(_0x34d6x5,_0x34d6xe)});};exports[_0x8c34[41]]=function(_0x34d6x4,_0x34d6x5){MailQueue[_0x8c34[45]](_0x34d6x4[_0x8c34[44]][_0x8c34[43]])[_0x8c34[39]](function(_0x34d6x13){if(!_0x34d6x13){return _0x34d6x5[_0x8c34[42]](404)};return _0x34d6x5[_0x8c34[37]](_0x34d6x13);})[_0x8c34[27]](function(_0x34d6xe){return handleError(_0x34d6x5,_0x34d6xe)})};exports[_0x8c34[46]]=function(_0x34d6x4,_0x34d6x5){MailQueue[_0x8c34[46]](_0x34d6x4[_0x8c34[47]])[_0x8c34[39]](function(_0x34d6x13){return _0x34d6x5[_0x8c34[38]](201)[_0x8c34[37]](_0x34d6x13)})[_0x8c34[27]](function(_0x34d6xe){return handleError(_0x34d6x5,_0x34d6xe)})};exports[_0x8c34[48]]=function(_0x34d6x4,_0x34d6x5){if(_0x34d6x4[_0x8c34[47]][_0x8c34[43]]){delete _0x34d6x4[_0x8c34[47]][_0x8c34[43]]};MailQueue[_0x8c34[45]](_0x34d6x4[_0x8c34[44]][_0x8c34[43]])[_0x8c34[39]](function(_0x34d6x13){if(!_0x34d6x13){return _0x34d6x5[_0x8c34[42]](404)};var _0x34d6x14=_[_0x8c34[49]](_0x34d6x13,_0x34d6x4[_0x8c34[47]]);_0x34d6x14[_0x8c34[50]]()[_0x8c34[39]](function(){return _0x34d6x5[_0x8c34[38]](200)[_0x8c34[37]](_0x34d6x13)})[_0x8c34[27]](function(_0x34d6xe){return handleError(_0x34d6x5,_0x34d6xe)});})[_0x8c34[27]](function(_0x34d6xe){return handleError(_0x34d6x5,_0x34d6xe)});};exports[_0x8c34[51]]=function(_0x34d6x4,_0x34d6x5,_0x34d6x15){return MailQueue[_0x8c34[45]](_0x34d6x4[_0x8c34[44]][_0x8c34[43]])[_0x8c34[39]](function(_0x34d6x13){if(_0x34d6x13){return _0x34d6x13[_0x8c34[53]](_0x34d6x4[_0x8c34[47]][_0x8c34[52]],{individualHooks:true})}else {throw  new Error(_0x8c34[54])}})[_0x8c34[39]](function(){return _0x34d6x5[_0x8c34[42]](200)})[_0x8c34[27]](function(_0x34d6xe){return handleError(_0x34d6x5,_0x34d6xe)})};exports[_0x8c34[55]]=function(_0x34d6x4,_0x34d6x5){return MailQueue[_0x8c34[45]](_0x34d6x4[_0x8c34[44]][_0x8c34[43]])[_0x8c34[39]](function(_0x34d6x13){if(_0x34d6x13){return _0x34d6x13[_0x8c34[56]](_0x34d6x4[_0x8c34[47]][_0x8c34[52]],{individualHooks:true})}else {throw  new Error(_0x8c34[54])}})[_0x8c34[39]](function(){return _0x34d6x5[_0x8c34[42]](200)})[_0x8c34[27]](function(_0x34d6xe){return handleError(_0x34d6x5,_0x34d6xe)})};exports[_0x8c34[57]]=function(_0x34d6x4,_0x34d6x5){MailQueue[_0x8c34[45]](_0x34d6x4[_0x8c34[44]][_0x8c34[43]])[_0x8c34[39]](function(_0x34d6x13){if(!_0x34d6x13){return _0x34d6x5[_0x8c34[42]](404)};_0x34d6x13[_0x8c34[57]]()[_0x8c34[39]](function(){return _0x34d6x5[_0x8c34[42]](204)})[_0x8c34[27]](function(_0x34d6xe){return handleError(_0x34d6x5,_0x34d6xe)});})[_0x8c34[27]](function(_0x34d6xe){return handleError(_0x34d6x5,_0x34d6xe)})};exports[_0x8c34[58]]=function(_0x34d6x4,_0x34d6x5){MailQueue[_0x8c34[57]]({where:{id:_0x34d6x4[_0x8c34[11]][_0x8c34[43]]},individualHooks:true})[_0x8c34[39]](function(){return _0x34d6x5[_0x8c34[42]](204)})[_0x8c34[27]](function(_0x34d6xe){return handleError(_0x34d6x5,_0x34d6xe)})};function handleError(_0x34d6x5,_0x34d6xe){return _0x34d6x5[_0x8c34[38]](500)[_0x8c34[37]](_0x34d6xe)}
\ No newline at end of file
+var _0x8f6d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x74\x69\x6D\x65\x6F\x75\x74","\x73\x74\x72\x61\x74\x65\x67\x79","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x61\x67\x65\x6E\x74\x73","\x61\x64\x64\x55\x73\x65\x72\x73","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x72\x65\x6D\x6F\x76\x65\x55\x73\x65\x72\x73","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0x8f6d[0];var _=require(_0x8f6d[1]);var util=require(_0x8f6d[2]);var MailQueue=require(_0x8f6d[4])[_0x8f6d[3]];exports[_0x8f6d[5]]=function(_0x4d7cx4,_0x4d7cx5){var _0x4d7cx6=[_0x8f6d[6],_0x8f6d[7],_0x8f6d[8],_0x8f6d[9]];var _0x4d7cx7=_0x4d7cx4[_0x8f6d[11]][_0x8f6d[10]]?parseInt(_0x4d7cx4[_0x8f6d[11]][_0x8f6d[10]],10):100;var _0x4d7cx8=_0x4d7cx4[_0x8f6d[11]][_0x8f6d[12]]?parseInt(_0x4d7cx4[_0x8f6d[11]][_0x8f6d[12]],10):0;var _0x4d7cx9={where:{},limit:_0x4d7cx7,offset:_0x4d7cx8*_0x4d7cx7,include:[{all:true}]};_[_0x8f6d[26]](_0x4d7cx4[_0x8f6d[11]],function(_0x4d7cxa,_0x4d7cxb){switch(_0x4d7cxb){case _0x8f6d[10]:;case _0x8f6d[12]:break ;;case _0x8f6d[15]:_0x4d7cx9[_0x8f6d[13]]=util[_0x8f6d[18]](_0x8f6d[14],_0x4d7cx4[_0x8f6d[11]][_0x8f6d[15]],_0x4d7cx4[_0x8f6d[11]][_0x8f6d[16]]||_0x8f6d[17])||null;break ;;case _0x8f6d[16]:break ;;case _0x8f6d[24]:_0x4d7cx9[_0x8f6d[20]][_0x8f6d[19]]=[];_0x4d7cx6[_0x8f6d[23]](function(_0x4d7cxc){var _0x4d7cxd={};_0x4d7cxd[_0x4d7cxc]={$like:_0x8f6d[21]+_0x4d7cxa+_0x8f6d[21]};_0x4d7cx9[_0x8f6d[20]][_0x8f6d[19]][_0x8f6d[22]](_0x4d7cxd);});break ;;default:_0x4d7cx9[_0x8f6d[20]][_0x4d7cxb]={$like:{}};_0x4d7cx9[_0x8f6d[20]][_0x4d7cxb][_0x8f6d[25]]=_0x8f6d[21]+_0x4d7cxa+_0x8f6d[21];;}});MailQueue[_0x8f6d[40]](_0x4d7cx9)[_0x8f6d[39]](function(_0x4d7cxf){var _0x4d7cx10=Math[_0x8f6d[29]](_0x4d7cxf[_0x8f6d[28]]/_0x4d7cx7);var _0x4d7cx11=_0x4d7cx10>(_0x4d7cx9[_0x8f6d[30]]+1)?util[_0x8f6d[18]](_0x8f6d[31],_0x4d7cx4[_0x8f6d[32]],_0x4d7cx4[_0x8f6d[34]][_0x8f6d[33]],_0x4d7cx4[_0x8f6d[35]],_0x4d7cx8+1):null;var _0x4d7cx12=_0x4d7cx8>0?util[_0x8f6d[18]](_0x8f6d[31],_0x4d7cx4[_0x8f6d[32]],_0x4d7cx4[_0x8f6d[34]][_0x8f6d[33]],_0x4d7cx4[_0x8f6d[35]],_0x4d7cx8-1):null;_0x4d7cx5[_0x8f6d[38]](200)[_0x8f6d[37]]({count:_0x4d7cxf[_0x8f6d[28]],rows:_0x4d7cxf[_0x8f6d[36]],next_page:_0x4d7cx11,previous_page:_0x4d7cx12,total_pages:_0x4d7cx10});})[_0x8f6d[27]](function(_0x4d7cxe){return handleError(_0x4d7cx5,_0x4d7cxe)});};exports[_0x8f6d[41]]=function(_0x4d7cx4,_0x4d7cx5){MailQueue[_0x8f6d[45]](_0x4d7cx4[_0x8f6d[44]][_0x8f6d[43]])[_0x8f6d[39]](function(_0x4d7cx13){if(!_0x4d7cx13){return _0x4d7cx5[_0x8f6d[42]](404)};return _0x4d7cx5[_0x8f6d[37]](_0x4d7cx13);})[_0x8f6d[27]](function(_0x4d7cxe){return handleError(_0x4d7cx5,_0x4d7cxe)})};exports[_0x8f6d[46]]=function(_0x4d7cx4,_0x4d7cx5){MailQueue[_0x8f6d[46]](_0x4d7cx4[_0x8f6d[47]])[_0x8f6d[39]](function(_0x4d7cx13){return _0x4d7cx5[_0x8f6d[38]](201)[_0x8f6d[37]](_0x4d7cx13)})[_0x8f6d[27]](function(_0x4d7cxe){return handleError(_0x4d7cx5,_0x4d7cxe)})};exports[_0x8f6d[48]]=function(_0x4d7cx4,_0x4d7cx5){if(_0x4d7cx4[_0x8f6d[47]][_0x8f6d[43]]){delete _0x4d7cx4[_0x8f6d[47]][_0x8f6d[43]]};MailQueue[_0x8f6d[45]](_0x4d7cx4[_0x8f6d[44]][_0x8f6d[43]])[_0x8f6d[39]](function(_0x4d7cx13){if(!_0x4d7cx13){return _0x4d7cx5[_0x8f6d[42]](404)};var _0x4d7cx14=_[_0x8f6d[49]](_0x4d7cx13,_0x4d7cx4[_0x8f6d[47]]);_0x4d7cx14[_0x8f6d[50]]()[_0x8f6d[39]](function(){return _0x4d7cx5[_0x8f6d[38]](200)[_0x8f6d[37]](_0x4d7cx13)})[_0x8f6d[27]](function(_0x4d7cxe){return handleError(_0x4d7cx5,_0x4d7cxe)});})[_0x8f6d[27]](function(_0x4d7cxe){return handleError(_0x4d7cx5,_0x4d7cxe)});};exports[_0x8f6d[51]]=function(_0x4d7cx4,_0x4d7cx5,_0x4d7cx15){return MailQueue[_0x8f6d[45]](_0x4d7cx4[_0x8f6d[44]][_0x8f6d[43]])[_0x8f6d[39]](function(_0x4d7cx13){if(_0x4d7cx13){return _0x4d7cx13[_0x8f6d[53]](_0x4d7cx4[_0x8f6d[47]][_0x8f6d[52]],{individualHooks:true})}else {throw  new Error(_0x8f6d[54])}})[_0x8f6d[39]](function(){return _0x4d7cx5[_0x8f6d[42]](200)})[_0x8f6d[27]](function(_0x4d7cxe){return handleError(_0x4d7cx5,_0x4d7cxe)})};exports[_0x8f6d[55]]=function(_0x4d7cx4,_0x4d7cx5){return MailQueue[_0x8f6d[45]](_0x4d7cx4[_0x8f6d[44]][_0x8f6d[43]])[_0x8f6d[39]](function(_0x4d7cx13){if(_0x4d7cx13){return _0x4d7cx13[_0x8f6d[56]](_0x4d7cx4[_0x8f6d[47]][_0x8f6d[52]],{individualHooks:true})}else {throw  new Error(_0x8f6d[54])}})[_0x8f6d[39]](function(){return _0x4d7cx5[_0x8f6d[42]](200)})[_0x8f6d[27]](function(_0x4d7cxe){return handleError(_0x4d7cx5,_0x4d7cxe)})};exports[_0x8f6d[57]]=function(_0x4d7cx4,_0x4d7cx5){MailQueue[_0x8f6d[45]](_0x4d7cx4[_0x8f6d[44]][_0x8f6d[43]])[_0x8f6d[39]](function(_0x4d7cx13){if(!_0x4d7cx13){return _0x4d7cx5[_0x8f6d[42]](404)};_0x4d7cx13[_0x8f6d[57]]()[_0x8f6d[39]](function(){return _0x4d7cx5[_0x8f6d[42]](204)})[_0x8f6d[27]](function(_0x4d7cxe){return handleError(_0x4d7cx5,_0x4d7cxe)});})[_0x8f6d[27]](function(_0x4d7cxe){return handleError(_0x4d7cx5,_0x4d7cxe)})};exports[_0x8f6d[58]]=function(_0x4d7cx4,_0x4d7cx5){MailQueue[_0x8f6d[57]]({where:{id:_0x4d7cx4[_0x8f6d[11]][_0x8f6d[43]]},individualHooks:true})[_0x8f6d[39]](function(){return _0x4d7cx5[_0x8f6d[42]](204)})[_0x8f6d[27]](function(_0x4d7cxe){return handleError(_0x4d7cx5,_0x4d7cxe)})};function handleError(_0x4d7cx5,_0x4d7cxe){return _0x4d7cx5[_0x8f6d[38]](500)[_0x8f6d[37]](_0x4d7cxe)}
\ No newline at end of file
index fb2b8a49444339b8fd38d8391b70b6d1cec9ea0e..f12213f9a047663b49051e76c5c9a373de498410 100644 (file)
@@ -1 +1 @@
-var _0x951f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0x951f[0];var MailQueue=require(_0x951f[2])[_0x951f[1]];exports[_0x951f[3]]=function(_0xf358x2){MailQueue[_0x951f[4]](function(_0xf358x3){onSave(_0xf358x2,_0xf358x3)});MailQueue[_0x951f[5]](function(_0xf358x3){onRemove(_0xf358x2,_0xf358x3)});};function onSave(_0xf358x2,_0xf358x3,_0xf358x5){_0xf358x2[_0x951f[7]](_0x951f[6],_0xf358x3)}function onRemove(_0xf358x2,_0xf358x3,_0xf358x5){_0xf358x2[_0x951f[7]](_0x951f[8],_0xf358x3)}
\ No newline at end of file
+var _0x371c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0x371c[0];var MailQueue=require(_0x371c[2])[_0x371c[1]];exports[_0x371c[3]]=function(_0x33cdx2){MailQueue[_0x371c[4]](function(_0x33cdx3){onSave(_0x33cdx2,_0x33cdx3)});MailQueue[_0x371c[5]](function(_0x33cdx3){onRemove(_0x33cdx2,_0x33cdx3)});};function onSave(_0x33cdx2,_0x33cdx3,_0x33cdx5){_0x33cdx2[_0x371c[7]](_0x371c[6],_0x33cdx3)}function onRemove(_0x33cdx2,_0x33cdx3,_0x33cdx5){_0x33cdx2[_0x371c[7]](_0x371c[8],_0x33cdx3)}
\ No newline at end of file
index 13894596f8a92bd9b484dbc1748f91768d10cf73..4cc766579d066a3edeec4903c2bb2abbd2b05308 100644 (file)
@@ -1 +1 @@
-var _0x8e16=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x71\x75\x65\x75\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x71\x75\x65\x75\x65\x73","\x67\x65\x74"];_0x8e16[0];var should=require(_0x8e16[1]);var app=require(_0x8e16[2]);var request=require(_0x8e16[3]);describe(_0x8e16[4],function(){it(_0x8e16[5],function(_0xfc3fx4){request(app)[_0x8e16[13]](_0x8e16[12])[_0x8e16[11]](200)[_0x8e16[11]](_0x8e16[10],/json/)[_0x8e16[9]](function(_0xfc3fx5,_0xfc3fx6){if(_0xfc3fx5){return _0xfc3fx4(_0xfc3fx5)};_0xfc3fx6[_0x8e16[8]][_0x8e16[1]][_0x8e16[7]][_0x8e16[6]](Array);_0xfc3fx4();})})});
\ No newline at end of file
+var _0xd9d8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x71\x75\x65\x75\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x71\x75\x65\x75\x65\x73","\x67\x65\x74"];_0xd9d8[0];var should=require(_0xd9d8[1]);var app=require(_0xd9d8[2]);var request=require(_0xd9d8[3]);describe(_0xd9d8[4],function(){it(_0xd9d8[5],function(_0xfec7x4){request(app)[_0xd9d8[13]](_0xd9d8[12])[_0xd9d8[11]](200)[_0xd9d8[11]](_0xd9d8[10],/json/)[_0xd9d8[9]](function(_0xfec7x5,_0xfec7x6){if(_0xfec7x5){return _0xfec7x4(_0xfec7x5)};_0xfec7x6[_0xd9d8[8]][_0xd9d8[1]][_0xd9d8[7]][_0xd9d8[6]](Array);_0xfec7x4();})})});
\ No newline at end of file
index 7536564f96ba8efc6d3afe2e4162a195906589ea..6f5fa07be8ada3b9c2c637c4b618b12f41c0b913 100644 (file)
@@ -1 +1 @@
-var _0x7b8d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x61\x67\x65\x6E\x74\x2F\x3A\x69\x64","\x61\x67\x65\x6E\x74\x49\x6E\x64\x65\x78","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x7b8d[0];var express=require(_0x7b8d[1]);var controller=require(_0x7b8d[2]);var router=express.Router();router[_0x7b8d[5]](_0x7b8d[3],controller[_0x7b8d[4]]);router[_0x7b8d[5]](_0x7b8d[6],controller[_0x7b8d[7]]);router[_0x7b8d[5]](_0x7b8d[8],controller[_0x7b8d[9]]);router[_0x7b8d[11]](_0x7b8d[3],controller[_0x7b8d[10]]);router[_0x7b8d[13]](_0x7b8d[8],controller[_0x7b8d[12]]);router[_0x7b8d[14]](_0x7b8d[8],controller[_0x7b8d[12]]);router[_0x7b8d[16]](_0x7b8d[3],controller[_0x7b8d[15]]);router[_0x7b8d[16]](_0x7b8d[8],controller[_0x7b8d[17]]);module[_0x7b8d[18]]=router;
\ No newline at end of file
+var _0xc1ae=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x61\x67\x65\x6E\x74\x2F\x3A\x69\x64","\x61\x67\x65\x6E\x74\x49\x6E\x64\x65\x78","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x61\x67\x65\x6E\x74\x73","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x75\x70\x64\x61\x74\x65\x41\x67\x65\x6E\x74\x73","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xc1ae[0];var express=require(_0xc1ae[1]);var controller=require(_0xc1ae[2]);var auth=require(_0xc1ae[3]);var router=express.Router();router[_0xc1ae[7]](_0xc1ae[4],auth[_0xc1ae[5]](),controller[_0xc1ae[6]]);router[_0xc1ae[7]](_0xc1ae[8],controller[_0xc1ae[9]]);router[_0xc1ae[7]](_0xc1ae[10],controller[_0xc1ae[11]]);router[_0xc1ae[7]](_0xc1ae[12],controller[_0xc1ae[13]]);router[_0xc1ae[15]](_0xc1ae[4],controller[_0xc1ae[14]]);router[_0xc1ae[17]](_0xc1ae[10],controller[_0xc1ae[16]]);router[_0xc1ae[17]](_0xc1ae[12],controller[_0xc1ae[18]]);router[_0xc1ae[19]](_0xc1ae[10],controller[_0xc1ae[16]]);router[_0xc1ae[21]](_0xc1ae[4],controller[_0xc1ae[20]]);router[_0xc1ae[21]](_0xc1ae[10],controller[_0xc1ae[22]]);module[_0xc1ae[23]]=router;
\ No newline at end of file
index 1bf81716f620540a2412880df1e3b1e09675edd2..bfedd87a518010583735b6c8cc99ff5e9a009bfa 100644 (file)
@@ -1 +1 @@
-var _0x3b7f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x6F\x6E\x74\x61\x63\x74","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x69\x6E\x64\x65\x78","\x73\x75\x62\x6A\x65\x63\x74","\x66\x72\x6F\x6D","\x73\x74\x61\x74\x75\x73","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x4E\x45\x57","\x4F\x50\x45\x4E","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x73\x65\x6E\x64","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x61\x67\x65\x6E\x74\x49\x6E\x64\x65\x78","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6A\x6F\x62\x49\x64","\x4D\x61\x69\x6C\x20\x61\x6C\x72\x65\x61\x64\x79\x20\x61\x73\x73\x69\x67\x6E\x65\x64","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0x3b7f[0];var _=require(_0x3b7f[1]);var util=require(_0x3b7f[2]);var User=require(_0x3b7f[4])[_0x3b7f[3]];var Contact=require(_0x3b7f[4])[_0x3b7f[5]];var MailRoom=require(_0x3b7f[4])[_0x3b7f[6]];var MailMessage=require(_0x3b7f[4])[_0x3b7f[7]];var MailAccount=require(_0x3b7f[4])[_0x3b7f[8]];var MailAttachment=require(_0x3b7f[4])[_0x3b7f[9]];exports[_0x3b7f[10]]=function(_0xa720x9,_0xa720xa,_0xa720xb){var _0xa720xc=[_0x3b7f[11],_0x3b7f[12],_0x3b7f[13]];var _0xa720xd=_0xa720x9[_0x3b7f[15]][_0x3b7f[14]]?parseInt(_0xa720x9[_0x3b7f[15]][_0x3b7f[14]],10):100;var _0xa720xe=_0xa720x9[_0x3b7f[15]][_0x3b7f[16]]?parseInt(_0xa720x9[_0x3b7f[15]][_0x3b7f[16]],10):0;var _0xa720xf={where:{status:{$or:[_0x3b7f[17],_0x3b7f[18]]}},limit:_0xa720xd,offset:_0xa720xe*_0xa720xd,include:[{all:true}]};_[_0x3b7f[32]](_0xa720x9[_0x3b7f[15]],function(_0xa720x10,_0xa720x11){switch(_0xa720x11){case _0x3b7f[14]:;case _0x3b7f[16]:break ;;case _0x3b7f[21]:_0xa720xf[_0x3b7f[19]]=util[_0x3b7f[24]](_0x3b7f[20],_0xa720x9[_0x3b7f[15]][_0x3b7f[21]],_0xa720x9[_0x3b7f[15]][_0x3b7f[22]]||_0x3b7f[23])||null;break ;;case _0x3b7f[22]:break ;;case _0x3b7f[30]:_0xa720xf[_0x3b7f[26]][_0x3b7f[25]]=[];_0xa720xc[_0x3b7f[29]](function(_0xa720x12){var _0xa720x13={};_0xa720x13[_0xa720x12]={$like:_0x3b7f[27]+_0xa720x10+_0x3b7f[27]};_0xa720xf[_0x3b7f[26]][_0x3b7f[25]][_0x3b7f[28]](_0xa720x13);});break ;;default:_0xa720xf[_0x3b7f[26]][_0xa720x11]={$like:{}};_0xa720xf[_0x3b7f[26]][_0xa720x11][_0x3b7f[31]]=_0x3b7f[27]+_0xa720x10+_0x3b7f[27];;}});MailRoom[_0x3b7f[45]](_0xa720xf)[_0x3b7f[44]](function(_0xa720x15){var _0xa720x16=Math[_0x3b7f[35]](_0xa720x15[_0x3b7f[34]]/_0xa720xd);var _0xa720x17=_0xa720x16>(_0xa720xf[_0x3b7f[36]]+1)?util[_0x3b7f[24]](_0x3b7f[37],_0xa720x9[_0x3b7f[38]],_0xa720x9[_0x3b7f[40]][_0x3b7f[39]],_0xa720x9[_0x3b7f[41]],_0xa720xe+1):null;var _0xa720x18=_0xa720xe>0?util[_0x3b7f[24]](_0x3b7f[37],_0xa720x9[_0x3b7f[38]],_0xa720x9[_0x3b7f[40]][_0x3b7f[39]],_0xa720x9[_0x3b7f[41]],_0xa720xe-1):null;_0xa720xa[_0x3b7f[13]](200)[_0x3b7f[43]]({count:_0xa720x15[_0x3b7f[34]],mailRooms:_0xa720x15[_0x3b7f[42]],next_page:_0xa720x17,previous_page:_0xa720x18,total_pages:_0xa720x16});})[_0x3b7f[33]](function(_0xa720x14){return _0xa720xb(_0xa720x14)});};exports[_0x3b7f[46]]=function(_0xa720x9,_0xa720xa,_0xa720xb){MailRoom[_0x3b7f[49]]({where:{UserId:_0xa720x9[_0x3b7f[48]][_0x3b7f[47]]},include:[{all:true}]})[_0x3b7f[44]](function(_0xa720x19){return _0xa720xa[_0x3b7f[13]](200)[_0x3b7f[43]](_0xa720x19)})[_0x3b7f[33]](function(_0xa720x14){return _0xa720xb(_0xa720x14)})};exports[_0x3b7f[50]]=function(_0xa720x9,_0xa720xa,_0xa720xb){return MailRoom[_0x3b7f[52]](_0xa720x9[_0x3b7f[48]][_0x3b7f[47]],{include:[{model:MailMessage,include:[{model:MailRoom,include:[{model:MailAccount}]},{model:MailAttachment}]}]})[_0x3b7f[44]](function(_0xa720x1a){if(!_0xa720x1a){return _0xa720xa[_0x3b7f[51]](404)};return _0xa720xa[_0x3b7f[43]](_0xa720x1a);})[_0x3b7f[33]](function(_0xa720x14){return _0xa720xb(_0xa720x14)})};exports[_0x3b7f[53]]=function(_0xa720x9,_0xa720xa,_0xa720xb){return MailRoom[_0x3b7f[53]](_0xa720x9[_0x3b7f[54]])[_0x3b7f[44]](function(_0xa720x1a){return _0xa720xa[_0x3b7f[13]](201)[_0x3b7f[43]](_0xa720x1a)})[_0x3b7f[33]](function(_0xa720x14){return handleError(_0xa720xa,_0xa720x14)})};exports[_0x3b7f[55]]=function(_0xa720x9,_0xa720xa,_0xa720xb){return MailRoom[_0x3b7f[52]](_0xa720x9[_0x3b7f[48]][_0x3b7f[47]])[_0x3b7f[44]](function(_0xa720x1a){if(!_0xa720x1a){return _0xa720xa[_0x3b7f[51]](404)};if(_0xa720x1a[_0x3b7f[56]]){throw  new Error(_0x3b7f[57])};var _0xa720x1b=_[_0x3b7f[58]](_0xa720x1a,_0xa720x9[_0x3b7f[54]]);return _0xa720x1b[_0x3b7f[59]]();})[_0x3b7f[44]](function(_0xa720x1a){return _0xa720xa[_0x3b7f[13]](200)[_0x3b7f[43]](_0xa720x1a)})[_0x3b7f[33]](function(_0xa720x14){return handleError(_0xa720xa,_0xa720x14)})};exports[_0x3b7f[60]]=function(_0xa720x9,_0xa720xa,_0xa720xb){return MailRoom[_0x3b7f[52]](_0xa720x9[_0x3b7f[48]][_0x3b7f[47]])[_0x3b7f[44]](function(_0xa720x1a){if(!_0xa720x1a){return _0xa720xa[_0x3b7f[51]](404)};return _0xa720x1a[_0x3b7f[60]]();})[_0x3b7f[44]](function(){return _0xa720xa[_0x3b7f[51]](204)})[_0x3b7f[33]](function(_0xa720x14){return handleError(_0xa720xa,_0xa720x14)})};exports[_0x3b7f[61]]=function(_0xa720x9,_0xa720xa){return MailRoom[_0x3b7f[60]]({where:{id:_0xa720x9[_0x3b7f[15]][_0x3b7f[47]]},individualHooks:true})[_0x3b7f[44]](function(){return _0xa720xa[_0x3b7f[51]](200)})[_0x3b7f[33]](function(_0xa720x14){return handleError(_0xa720xa,_0xa720x14)})};function handleError(_0xa720xa,_0xa720x14){return _0xa720xa[_0x3b7f[13]](500)[_0x3b7f[43]](_0xa720x14)}
\ No newline at end of file
+var _0xc3aa=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x6F\x6E\x74\x61\x63\x74","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x69\x6E\x64\x65\x78","\x73\x75\x62\x6A\x65\x63\x74","\x66\x72\x6F\x6D","\x73\x74\x61\x74\x75\x73","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x4E\x45\x57","\x4F\x50\x45\x4E","\x69\x64","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x72\x6F\x6C\x65","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x75\x73\x65\x72","\x61\x67\x65\x6E\x74","\x77\x68\x65\x72\x65","\x69\x6E\x63\x6C\x75\x64\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x73\x65\x6E\x64","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x61\x67\x65\x6E\x74\x49\x6E\x64\x65\x78","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x67\x65\x74\x55\x73\x65\x72\x73","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6A\x6F\x62\x49\x64","\x4D\x61\x69\x6C\x20\x61\x6C\x72\x65\x61\x64\x79\x20\x61\x73\x73\x69\x67\x6E\x65\x64","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65\x41\x67\x65\x6E\x74\x73","\x61\x67\x65\x6E\x74\x73","\x73\x65\x74\x55\x73\x65\x72\x73","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0xc3aa[0];var _=require(_0xc3aa[1]);var util=require(_0xc3aa[2]);var User=require(_0xc3aa[4])[_0xc3aa[3]];var Contact=require(_0xc3aa[4])[_0xc3aa[5]];var MailRoom=require(_0xc3aa[4])[_0xc3aa[6]];var MailMessage=require(_0xc3aa[4])[_0xc3aa[7]];var MailAccount=require(_0xc3aa[4])[_0xc3aa[8]];var MailAttachment=require(_0xc3aa[4])[_0xc3aa[9]];exports[_0xc3aa[10]]=function(_0xbb33x9,_0xbb33xa,_0xbb33xb){var _0xbb33xc=[_0xc3aa[11],_0xc3aa[12],_0xc3aa[13]];var _0xbb33xd=_0xbb33x9[_0xc3aa[15]][_0xc3aa[14]]?parseInt(_0xbb33x9[_0xc3aa[15]][_0xc3aa[14]],10):100;var _0xbb33xe=_0xbb33x9[_0xc3aa[15]][_0xc3aa[16]]?parseInt(_0xbb33x9[_0xc3aa[15]][_0xc3aa[16]],10):0;var _0xbb33xf={where:{$or:[{status:_0xc3aa[17]},{status:_0xc3aa[18]}]},include:[{model:User,attributes:[_0xc3aa[19],_0xc3aa[20],_0xc3aa[21],_0xc3aa[22],_0xc3aa[23],_0xc3aa[24]]},{model:MailAccount}],limit:_0xbb33xd,offset:_0xbb33xe*_0xbb33xd};if(_0xbb33x9[_0xc3aa[25]][_0xc3aa[23]]===_0xc3aa[26]){_0xbb33xf[_0xc3aa[28]][0][_0xc3aa[27]]={id:_0xbb33x9[_0xc3aa[25]][_0xc3aa[19]]}};_[_0xc3aa[41]](_0xbb33x9[_0xc3aa[15]],function(_0xbb33x10,_0xbb33x11){switch(_0xbb33x11){case _0xc3aa[14]:;case _0xc3aa[16]:break ;;case _0xc3aa[31]:_0xbb33xf[_0xc3aa[29]]=util[_0xc3aa[34]](_0xc3aa[30],_0xbb33x9[_0xc3aa[15]][_0xc3aa[31]],_0xbb33x9[_0xc3aa[15]][_0xc3aa[32]]||_0xc3aa[33])||null;break ;;case _0xc3aa[32]:break ;;case _0xc3aa[39]:_0xbb33xf[_0xc3aa[27]][_0xc3aa[35]]=[];_0xbb33xc[_0xc3aa[38]](function(_0xbb33x12){var _0xbb33x13={};_0xbb33x13[_0xbb33x12]={$like:_0xc3aa[36]+_0xbb33x10+_0xc3aa[36]};_0xbb33xf[_0xc3aa[27]][_0xc3aa[35]][_0xc3aa[37]](_0xbb33x13);});break ;;default:_0xbb33xf[_0xc3aa[27]][_0xbb33x11]={$like:{}};_0xbb33xf[_0xc3aa[27]][_0xbb33x11][_0xc3aa[40]]=_0xc3aa[36]+_0xbb33x10+_0xc3aa[36];;}});console[_0xc3aa[42]](_0xc3aa[15],_0xbb33xf);return MailRoom[_0xc3aa[55]](_0xbb33xf)[_0xc3aa[54]](function(_0xbb33x15){console[_0xc3aa[42]](_0xbb33x15);var _0xbb33x16=Math[_0xc3aa[45]](_0xbb33x15[_0xc3aa[44]]/_0xbb33xd);var _0xbb33x17=_0xbb33x16>(_0xbb33xf[_0xc3aa[46]]+1)?util[_0xc3aa[34]](_0xc3aa[47],_0xbb33x9[_0xc3aa[48]],_0xbb33x9[_0xc3aa[50]][_0xc3aa[49]],_0xbb33x9[_0xc3aa[51]],_0xbb33xe+1):null;var _0xbb33x18=_0xbb33xe>0?util[_0xc3aa[34]](_0xc3aa[47],_0xbb33x9[_0xc3aa[48]],_0xbb33x9[_0xc3aa[50]][_0xc3aa[49]],_0xbb33x9[_0xc3aa[51]],_0xbb33xe-1):null;_0xbb33xa[_0xc3aa[13]](200)[_0xc3aa[53]]({count:_0xbb33x15[_0xc3aa[44]],mailRooms:_0xbb33x15[_0xc3aa[52]],next_page:_0xbb33x17,previous_page:_0xbb33x18,total_pages:_0xbb33x16});})[_0xc3aa[43]](function(_0xbb33x14){return handleError(_0xbb33xa,_0xbb33x14)});};exports[_0xc3aa[56]]=function(_0xbb33x9,_0xbb33xa,_0xbb33xb){return MailRoom[_0xc3aa[58]]({where:{UserId:_0xbb33x9[_0xc3aa[57]][_0xc3aa[19]]},include:[{all:true}]})[_0xc3aa[54]](function(_0xbb33x19){return _0xbb33xa[_0xc3aa[13]](200)[_0xc3aa[53]](_0xbb33x19)})[_0xc3aa[43]](function(_0xbb33x14){return handleError(_0xbb33xa,_0xbb33x14)})};exports[_0xc3aa[59]]=function(_0xbb33x9,_0xbb33xa,_0xbb33xb){return MailRoom[_0xc3aa[61]](_0xbb33x9[_0xc3aa[57]][_0xc3aa[19]],{include:[{model:MailMessage,include:[{model:MailAttachment}]},{model:MailAccount}]})[_0xc3aa[54]](function(_0xbb33x1a){if(!_0xbb33x1a){return _0xbb33xa[_0xc3aa[60]](404)};return _0xbb33xa[_0xc3aa[53]](_0xbb33x1a);})[_0xc3aa[43]](function(_0xbb33x14){return handleError(_0xbb33xa,_0xbb33x14)})};exports[_0xc3aa[62]]=function(_0xbb33x9,_0xbb33xa,_0xbb33xb){return MailRoom[_0xc3aa[61]](_0xbb33x9[_0xc3aa[57]][_0xc3aa[19]])[_0xc3aa[54]](function(_0xbb33x1a){if(!_0xbb33x1a){return _0xbb33xa[_0xc3aa[60]](404)};return _0xbb33x1a[_0xc3aa[63]]({attributes:[_0xc3aa[19],_0xc3aa[20],_0xc3aa[21],_0xc3aa[22],_0xc3aa[23],_0xc3aa[24]]});})[_0xc3aa[54]](function(_0xbb33x1b){return _0xbb33xa[_0xc3aa[53]](_0xbb33x1b)})[_0xc3aa[43]](function(_0xbb33x14){return handleError(_0xbb33xa,_0xbb33x14)})};exports[_0xc3aa[64]]=function(_0xbb33x9,_0xbb33xa,_0xbb33xb){return MailRoom[_0xc3aa[64]](_0xbb33x9[_0xc3aa[65]])[_0xc3aa[54]](function(_0xbb33x1a){return _0xbb33xa[_0xc3aa[13]](201)[_0xc3aa[53]](_0xbb33x1a)})[_0xc3aa[43]](function(_0xbb33x14){return handleError(_0xbb33xa,_0xbb33x14)})};exports[_0xc3aa[66]]=function(_0xbb33x9,_0xbb33xa,_0xbb33xb){return MailRoom[_0xc3aa[61]](_0xbb33x9[_0xc3aa[57]][_0xc3aa[19]])[_0xc3aa[54]](function(_0xbb33x1a){if(!_0xbb33x1a){return _0xbb33xa[_0xc3aa[60]](404)};if(_0xbb33x1a[_0xc3aa[67]]){throw  new Error(_0xc3aa[68])};var _0xbb33x1c=_[_0xc3aa[69]](_0xbb33x1a,_0xbb33x9[_0xc3aa[65]]);return _0xbb33x1c[_0xc3aa[70]]();})[_0xc3aa[54]](function(_0xbb33x1a){return _0xbb33xa[_0xc3aa[13]](200)[_0xc3aa[53]](_0xbb33x1a)})[_0xc3aa[43]](function(_0xbb33x14){return handleError(_0xbb33xa,_0xbb33x14)})};exports[_0xc3aa[71]]=function(_0xbb33x9,_0xbb33xa,_0xbb33xb){return MailRoom[_0xc3aa[61]](_0xbb33x9[_0xc3aa[57]][_0xc3aa[19]])[_0xc3aa[54]](function(_0xbb33x1a){if(!_0xbb33x1a){return _0xbb33xa[_0xc3aa[60]](404)};return _0xbb33x1a[_0xc3aa[73]](_0xbb33x9[_0xc3aa[65]][_0xc3aa[72]]);})[_0xc3aa[54]](function(){return _0xbb33xa[_0xc3aa[60]](200)})[_0xc3aa[43]](function(_0xbb33x14){return handleError(_0xbb33xa,_0xbb33x14)})};exports[_0xc3aa[74]]=function(_0xbb33x9,_0xbb33xa,_0xbb33xb){return MailRoom[_0xc3aa[61]](_0xbb33x9[_0xc3aa[57]][_0xc3aa[19]])[_0xc3aa[54]](function(_0xbb33x1a){if(!_0xbb33x1a){return _0xbb33xa[_0xc3aa[60]](404)};return _0xbb33x1a[_0xc3aa[74]]();})[_0xc3aa[54]](function(){return _0xbb33xa[_0xc3aa[60]](204)})[_0xc3aa[43]](function(_0xbb33x14){return handleError(_0xbb33xa,_0xbb33x14)})};exports[_0xc3aa[75]]=function(_0xbb33x9,_0xbb33xa){return MailRoom[_0xc3aa[74]]({where:{id:_0xbb33x9[_0xc3aa[15]][_0xc3aa[19]]},individualHooks:true})[_0xc3aa[54]](function(){return _0xbb33xa[_0xc3aa[60]](200)})[_0xc3aa[43]](function(_0xbb33x14){return handleError(_0xbb33xa,_0xbb33x14)})};function handleError(_0xbb33xa,_0xbb33x14){return _0xbb33xa[_0xc3aa[13]](500)[_0xc3aa[53]](_0xbb33x14)}
\ No newline at end of file
index 2287ae280ee9121183734e2179d6551aed81be44..b807ae797b485e12a2182b4e36b7b0b504f71af4 100644 (file)
@@ -1 +1 @@
-var _0x5459=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x55\x73\x65\x72","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x69\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x3A\x72\x65\x6D\x6F\x76\x65"];_0x5459[0];var MailMessage=require(_0x5459[2])[_0x5459[1]];var MailRoom=require(_0x5459[2])[_0x5459[3]];var User=require(_0x5459[2])[_0x5459[4]];exports[_0x5459[5]]=function(_0x8363x4){MailRoom[_0x5459[6]](function(_0x8363x5){onSave(_0x8363x4,_0x8363x5)});MailRoom[_0x5459[7]](function(_0x8363x5){onRemove(_0x8363x4,_0x8363x5)});MailRoom[_0x5459[13]](function(_0x8363x5){MailRoom[_0x5459[12]](_0x8363x5[_0x5459[11]],{include:[{all:true}]})[_0x5459[10]](function(_0x8363x7){onSave(_0x8363x4,_0x8363x7)})[_0x5459[9]](function(_0x8363x6){console[_0x5459[8]](_0x8363x6)})});MailRoom[_0x5459[7]](function(_0x8363x5){onRemove(_0x8363x4,_0x8363x5)});};function onSave(_0x8363x4,_0x8363x5,_0x8363x9){_0x8363x4[_0x5459[15]](_0x5459[14],_0x8363x5)}function onRemove(_0x8363x4,_0x8363x5,_0x8363x9){_0x8363x4[_0x5459[15]](_0x5459[16],_0x8363x5)}
\ No newline at end of file
+var _0x44a8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x55\x73\x65\x72","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x69\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x3A\x72\x65\x6D\x6F\x76\x65"];_0x44a8[0];var MailMessage=require(_0x44a8[2])[_0x44a8[1]];var MailRoom=require(_0x44a8[2])[_0x44a8[3]];var User=require(_0x44a8[2])[_0x44a8[4]];exports[_0x44a8[5]]=function(_0x9fa3x4){MailRoom[_0x44a8[6]](function(_0x9fa3x5){onSave(_0x9fa3x4,_0x9fa3x5)});MailRoom[_0x44a8[7]](function(_0x9fa3x5){onRemove(_0x9fa3x4,_0x9fa3x5)});MailRoom[_0x44a8[13]](function(_0x9fa3x5){MailRoom[_0x44a8[12]](_0x9fa3x5[_0x44a8[11]],{include:[{all:true}]})[_0x44a8[10]](function(_0x9fa3x7){onSave(_0x9fa3x4,_0x9fa3x7)})[_0x44a8[9]](function(_0x9fa3x6){console[_0x44a8[8]](_0x9fa3x6)})});MailRoom[_0x44a8[7]](function(_0x9fa3x5){onRemove(_0x9fa3x4,_0x9fa3x5)});};function onSave(_0x9fa3x4,_0x9fa3x5,_0x9fa3x9){_0x9fa3x4[_0x44a8[15]](_0x44a8[14],_0x9fa3x5)}function onRemove(_0x9fa3x4,_0x9fa3x5,_0x9fa3x9){_0x9fa3x4[_0x44a8[15]](_0x44a8[16],_0x9fa3x5)}
\ No newline at end of file
index d743842e9258266a5165a78d19de8d64a9c2b1d8..8bdbb3e95c394083c8f9394bd263e211dcaa7deb 100644 (file)
@@ -1 +1 @@
-var _0xb745=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x69\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xb745[0];var express=require(_0xb745[1]);var controller=require(_0xb745[2]);var router=express.Router();router[_0xb745[5]](_0xb745[3],controller[_0xb745[4]]);router[_0xb745[5]](_0xb745[6],controller[_0xb745[7]]);router[_0xb745[9]](_0xb745[3],controller[_0xb745[8]]);router[_0xb745[11]](_0xb745[6],controller[_0xb745[10]]);router[_0xb745[12]](_0xb745[6],controller[_0xb745[10]]);router[_0xb745[14]](_0xb745[6],controller[_0xb745[13]]);module[_0xb745[15]]=router;
\ No newline at end of file
+var _0xaa8e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x69\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xaa8e[0];var express=require(_0xaa8e[1]);var controller=require(_0xaa8e[2]);var router=express.Router();router[_0xaa8e[5]](_0xaa8e[3],controller[_0xaa8e[4]]);router[_0xaa8e[5]](_0xaa8e[6],controller[_0xaa8e[7]]);router[_0xaa8e[9]](_0xaa8e[3],controller[_0xaa8e[8]]);router[_0xaa8e[11]](_0xaa8e[6],controller[_0xaa8e[10]]);router[_0xaa8e[12]](_0xaa8e[6],controller[_0xaa8e[10]]);router[_0xaa8e[14]](_0xaa8e[6],controller[_0xaa8e[13]]);module[_0xaa8e[15]]=router;
\ No newline at end of file
index ebae775d3cd2626de7824fa5d66e19431c18c270..be4ce36a5a293d638926b3f1019c14a2415df607 100644 (file)
@@ -1 +1 @@
-var _0x2b2e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x49\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x65\x72\x72\x6F\x72","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x2b2e[0];var _=require(_0x2b2e[1]);var MailServerIn=require(_0x2b2e[3])[_0x2b2e[2]];exports[_0x2b2e[4]]=function(_0xb6fdx3,_0xb6fdx4){MailServerIn[_0x2b2e[9]]()[_0x2b2e[8]](function(_0xb6fdx6){return _0xb6fdx4[_0x2b2e[7]](200)[_0x2b2e[6]](_0xb6fdx6)})[_0x2b2e[5]](function(_0xb6fdx5){return handleError(_0xb6fdx4,_0xb6fdx5)})};exports[_0x2b2e[10]]=function(_0xb6fdx3,_0xb6fdx4){MailServerIn[_0x2b2e[14]](_0xb6fdx3[_0x2b2e[13]][_0x2b2e[12]])[_0x2b2e[8]](function(_0xb6fdx7){if(!_0xb6fdx7){return _0xb6fdx4[_0x2b2e[11]](404)};return _0xb6fdx4[_0x2b2e[6]](_0xb6fdx7);})[_0x2b2e[5]](function(_0xb6fdx5){return handleError(_0xb6fdx4,_0xb6fdx5)})};exports[_0x2b2e[15]]=function(_0xb6fdx3,_0xb6fdx4){MailServerIn[_0x2b2e[15]](_0xb6fdx3[_0x2b2e[16]])[_0x2b2e[8]](function(_0xb6fdx7){return _0xb6fdx4[_0x2b2e[7]](201)[_0x2b2e[6]](_0xb6fdx7)})[_0x2b2e[5]](function(_0xb6fdx5){return handleError(_0xb6fdx4,_0xb6fdx5)})};exports[_0x2b2e[17]]=function(_0xb6fdx3,_0xb6fdx4){if(_0xb6fdx3[_0x2b2e[16]][_0x2b2e[12]]){delete _0xb6fdx3[_0x2b2e[16]][_0x2b2e[12]]};return MailServerIn[_0x2b2e[14]](_0xb6fdx3[_0x2b2e[13]][_0x2b2e[12]])[_0x2b2e[8]](function(_0xb6fdx7){if(!_0xb6fdx7){return _0xb6fdx4[_0x2b2e[11]](404)};var _0xb6fdx8=_[_0x2b2e[19]](_0xb6fdx7,_0xb6fdx3[_0x2b2e[16]]);_0xb6fdx8[_0x2b2e[20]]()[_0x2b2e[8]](function(){return _0xb6fdx4[_0x2b2e[7]](200)[_0x2b2e[6]](_0xb6fdx7)})[_0x2b2e[5]](function(_0xb6fdx5){console[_0x2b2e[18]](_0xb6fdx5);return handleError(_0xb6fdx4,_0xb6fdx5);});})[_0x2b2e[5]](function(_0xb6fdx5){console[_0x2b2e[18]](_0xb6fdx5);return handleError(_0xb6fdx4,_0xb6fdx5);});};exports[_0x2b2e[21]]=function(_0xb6fdx3,_0xb6fdx4){MailServerIn[_0x2b2e[14]](_0xb6fdx3[_0x2b2e[13]][_0x2b2e[12]])[_0x2b2e[8]](function(_0xb6fdx7){if(!_0xb6fdx7){return _0xb6fdx4[_0x2b2e[11]](404)};_0xb6fdx7[_0x2b2e[21]]()[_0x2b2e[8]](function(){return _0xb6fdx4[_0x2b2e[11]](204)})[_0x2b2e[5]](function(_0xb6fdx5){return handleError(_0xb6fdx4,_0xb6fdx5)});})[_0x2b2e[5]](function(_0xb6fdx5){return handleError(_0xb6fdx4,_0xb6fdx5)})};function handleError(_0xb6fdx4,_0xb6fdx5){return _0xb6fdx4[_0x2b2e[7]](500)[_0x2b2e[6]](_0xb6fdx5)}
\ No newline at end of file
+var _0x6627=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x49\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x65\x72\x72\x6F\x72","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x6627[0];var _=require(_0x6627[1]);var MailServerIn=require(_0x6627[3])[_0x6627[2]];exports[_0x6627[4]]=function(_0xb4a5x3,_0xb4a5x4){MailServerIn[_0x6627[9]]()[_0x6627[8]](function(_0xb4a5x6){return _0xb4a5x4[_0x6627[7]](200)[_0x6627[6]](_0xb4a5x6)})[_0x6627[5]](function(_0xb4a5x5){return handleError(_0xb4a5x4,_0xb4a5x5)})};exports[_0x6627[10]]=function(_0xb4a5x3,_0xb4a5x4){MailServerIn[_0x6627[14]](_0xb4a5x3[_0x6627[13]][_0x6627[12]])[_0x6627[8]](function(_0xb4a5x7){if(!_0xb4a5x7){return _0xb4a5x4[_0x6627[11]](404)};return _0xb4a5x4[_0x6627[6]](_0xb4a5x7);})[_0x6627[5]](function(_0xb4a5x5){return handleError(_0xb4a5x4,_0xb4a5x5)})};exports[_0x6627[15]]=function(_0xb4a5x3,_0xb4a5x4){MailServerIn[_0x6627[15]](_0xb4a5x3[_0x6627[16]])[_0x6627[8]](function(_0xb4a5x7){return _0xb4a5x4[_0x6627[7]](201)[_0x6627[6]](_0xb4a5x7)})[_0x6627[5]](function(_0xb4a5x5){return handleError(_0xb4a5x4,_0xb4a5x5)})};exports[_0x6627[17]]=function(_0xb4a5x3,_0xb4a5x4){if(_0xb4a5x3[_0x6627[16]][_0x6627[12]]){delete _0xb4a5x3[_0x6627[16]][_0x6627[12]]};return MailServerIn[_0x6627[14]](_0xb4a5x3[_0x6627[13]][_0x6627[12]])[_0x6627[8]](function(_0xb4a5x7){if(!_0xb4a5x7){return _0xb4a5x4[_0x6627[11]](404)};var _0xb4a5x8=_[_0x6627[19]](_0xb4a5x7,_0xb4a5x3[_0x6627[16]]);_0xb4a5x8[_0x6627[20]]()[_0x6627[8]](function(){return _0xb4a5x4[_0x6627[7]](200)[_0x6627[6]](_0xb4a5x7)})[_0x6627[5]](function(_0xb4a5x5){console[_0x6627[18]](_0xb4a5x5);return handleError(_0xb4a5x4,_0xb4a5x5);});})[_0x6627[5]](function(_0xb4a5x5){console[_0x6627[18]](_0xb4a5x5);return handleError(_0xb4a5x4,_0xb4a5x5);});};exports[_0x6627[21]]=function(_0xb4a5x3,_0xb4a5x4){MailServerIn[_0x6627[14]](_0xb4a5x3[_0x6627[13]][_0x6627[12]])[_0x6627[8]](function(_0xb4a5x7){if(!_0xb4a5x7){return _0xb4a5x4[_0x6627[11]](404)};_0xb4a5x7[_0x6627[21]]()[_0x6627[8]](function(){return _0xb4a5x4[_0x6627[11]](204)})[_0x6627[5]](function(_0xb4a5x5){return handleError(_0xb4a5x4,_0xb4a5x5)});})[_0x6627[5]](function(_0xb4a5x5){return handleError(_0xb4a5x4,_0xb4a5x5)})};function handleError(_0xb4a5x4,_0xb4a5x5){return _0xb4a5x4[_0x6627[7]](500)[_0x6627[6]](_0xb4a5x5)}
\ No newline at end of file
index 56e6db9521919c637173ff8b332a148679b61a10..a77b79c43bd77f8be50d8d577afd4e175cce09b3 100644 (file)
@@ -1 +1 @@
-var _0xae08=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x49\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x69\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x69\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0xae08[0];var MailServerIn=require(_0xae08[2])[_0xae08[1]];exports[_0xae08[3]]=function(_0x3b37x2){MailServerIn[_0xae08[4]](function(_0x3b37x3){onSave(_0x3b37x2,_0x3b37x3)});MailServerIn[_0xae08[5]](function(_0x3b37x3){onSave(_0x3b37x2,_0x3b37x3)});MailServerIn[_0xae08[6]](function(_0x3b37x3){onRemove(_0x3b37x2,_0x3b37x3)});};function onSave(_0x3b37x2,_0x3b37x3,_0x3b37x5){_0x3b37x2[_0xae08[8]](_0xae08[7],_0x3b37x3)}function onRemove(_0x3b37x2,_0x3b37x3,_0x3b37x5){_0x3b37x2[_0xae08[8]](_0xae08[9],_0x3b37x3)}
\ No newline at end of file
+var _0x9f55=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x49\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x69\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x69\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0x9f55[0];var MailServerIn=require(_0x9f55[2])[_0x9f55[1]];exports[_0x9f55[3]]=function(_0xbd35x2){MailServerIn[_0x9f55[4]](function(_0xbd35x3){onSave(_0xbd35x2,_0xbd35x3)});MailServerIn[_0x9f55[5]](function(_0xbd35x3){onSave(_0xbd35x2,_0xbd35x3)});MailServerIn[_0x9f55[6]](function(_0xbd35x3){onRemove(_0xbd35x2,_0xbd35x3)});};function onSave(_0xbd35x2,_0xbd35x3,_0xbd35x5){_0xbd35x2[_0x9f55[8]](_0x9f55[7],_0xbd35x3)}function onRemove(_0xbd35x2,_0xbd35x3,_0xbd35x5){_0xbd35x2[_0x9f55[8]](_0x9f55[9],_0xbd35x3)}
\ No newline at end of file
index 9c773b5c98abea8505e76c1b90e0cd87b791ea78..6801abaa5c62c67a539a9d8d4c72282ae3a791cf 100644 (file)
@@ -1 +1 @@
-var _0x5e37=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x6F\x75\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x73\x65\x72\x76\x69\x63\x65","\x69\x6E\x64\x65\x78\x53\x65\x72\x76\x69\x63\x65","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x74\x65\x73\x74","\x74\x65\x73\x74","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x74\x65\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x5e37[0];var express=require(_0x5e37[1]);var controller=require(_0x5e37[2]);var router=express.Router();router[_0x5e37[5]](_0x5e37[3],controller[_0x5e37[4]]);router[_0x5e37[5]](_0x5e37[6],controller[_0x5e37[7]]);router[_0x5e37[5]](_0x5e37[8],controller[_0x5e37[9]]);router[_0x5e37[5]](_0x5e37[10],controller[_0x5e37[11]]);router[_0x5e37[13]](_0x5e37[3],controller[_0x5e37[12]]);router[_0x5e37[13]](_0x5e37[14],controller[_0x5e37[11]]);router[_0x5e37[16]](_0x5e37[8],controller[_0x5e37[15]]);router[_0x5e37[17]](_0x5e37[8],controller[_0x5e37[15]]);router[_0x5e37[19]](_0x5e37[8],controller[_0x5e37[18]]);module[_0x5e37[20]]=router;
\ No newline at end of file
+var _0xcbef=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x6F\x75\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x73\x65\x72\x76\x69\x63\x65","\x69\x6E\x64\x65\x78\x53\x65\x72\x76\x69\x63\x65","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x74\x65\x73\x74","\x74\x65\x73\x74","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x74\x65\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xcbef[0];var express=require(_0xcbef[1]);var controller=require(_0xcbef[2]);var router=express.Router();router[_0xcbef[5]](_0xcbef[3],controller[_0xcbef[4]]);router[_0xcbef[5]](_0xcbef[6],controller[_0xcbef[7]]);router[_0xcbef[5]](_0xcbef[8],controller[_0xcbef[9]]);router[_0xcbef[5]](_0xcbef[10],controller[_0xcbef[11]]);router[_0xcbef[13]](_0xcbef[3],controller[_0xcbef[12]]);router[_0xcbef[13]](_0xcbef[14],controller[_0xcbef[11]]);router[_0xcbef[16]](_0xcbef[8],controller[_0xcbef[15]]);router[_0xcbef[17]](_0xcbef[8],controller[_0xcbef[15]]);router[_0xcbef[19]](_0xcbef[8],controller[_0xcbef[18]]);module[_0xcbef[20]]=router;
\ No newline at end of file
index fc97f6919a39c9ae54e3387742ccebef6619539c..650f4086832ba06d8f1eda4ae3fc37b81c3c727a 100644 (file)
@@ -1 +1 @@
-var _0xdc72=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x69\x6E\x64\x65\x78\x53\x65\x72\x76\x69\x63\x65","\x66\x69\x6E\x64\x4F\x6E\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x74\x65\x73\x74","\x65\x72\x72\x6F\x72","\x72\x6F\x6C\x6C\x62\x61\x63\x6B","\x45\x52\x52\x4F\x52","\x63\x6F\x6D\x6D\x69\x74","\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74\x20","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x20\x74\x65\x73\x74\x2E\x2E","\x53\x45\x4E\x44\x49\x4E\x47","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E"];_0xdc72[0];var _=require(_0xdc72[1]);var MailServerOut=require(_0xdc72[3])[_0xdc72[2]];var MailMessage=require(_0xdc72[3])[_0xdc72[4]];var sequelize=require(_0xdc72[3])[_0xdc72[5]];exports[_0xdc72[6]]=function(_0x9d0ax5,_0x9d0ax6){MailServerOut[_0xdc72[11]]()[_0xdc72[10]](function(_0x9d0ax8){return _0x9d0ax6[_0xdc72[9]](200)[_0xdc72[8]](_0x9d0ax8)})[_0xdc72[7]](function(_0x9d0ax7){return handleError(_0x9d0ax6,_0x9d0ax7)})};exports[_0xdc72[12]]=function(_0x9d0ax5,_0x9d0ax6){MailServerOut[_0xdc72[13]]({where:{service:true}})[_0xdc72[10]](function(_0x9d0ax9){return _0x9d0ax6[_0xdc72[9]](200)[_0xdc72[8]](_0x9d0ax9)})[_0xdc72[7]](function(_0x9d0ax7){return handleError(_0x9d0ax6,_0x9d0ax7)})};exports[_0xdc72[14]]=function(_0x9d0ax5,_0x9d0ax6){MailServerOut[_0xdc72[18]](_0x9d0ax5[_0xdc72[17]][_0xdc72[16]])[_0xdc72[10]](function(_0x9d0ax9){if(!_0x9d0ax9){return _0x9d0ax6[_0xdc72[15]](404)};return _0x9d0ax6[_0xdc72[8]](_0x9d0ax9);})[_0xdc72[7]](function(_0x9d0ax7){return handleError(_0x9d0ax6,_0x9d0ax7)})};exports[_0xdc72[19]]=function(_0x9d0ax5,_0x9d0ax6){MailServerOut[_0xdc72[19]](_0x9d0ax5[_0xdc72[20]])[_0xdc72[10]](function(_0x9d0ax9){return _0x9d0ax6[_0xdc72[9]](201)[_0xdc72[8]](_0x9d0ax9)})[_0xdc72[7]](function(_0x9d0ax7){return handleError(_0x9d0ax6,_0x9d0ax7)})};exports[_0xdc72[21]]=function(_0x9d0ax5,_0x9d0ax6){if(_0x9d0ax5[_0xdc72[20]][_0xdc72[16]]){delete _0x9d0ax5[_0xdc72[20]][_0xdc72[16]]};MailServerOut[_0xdc72[18]](_0x9d0ax5[_0xdc72[17]][_0xdc72[16]])[_0xdc72[10]](function(_0x9d0ax9){if(!_0x9d0ax9){return _0x9d0ax6[_0xdc72[15]](404)};var _0x9d0axa=_[_0xdc72[22]](_0x9d0ax9,_0x9d0ax5[_0xdc72[20]]);_0x9d0axa[_0xdc72[23]]()[_0xdc72[10]](function(){return _0x9d0ax6[_0xdc72[9]](200)[_0xdc72[8]](_0x9d0ax9)})[_0xdc72[7]](function(_0x9d0ax7){return handleError(_0x9d0ax6,_0x9d0ax7)});})[_0xdc72[7]](function(_0x9d0ax7){return handleError(_0x9d0ax6,_0x9d0ax7)});};exports[_0xdc72[24]]=function(_0x9d0ax5,_0x9d0ax6){MailServerOut[_0xdc72[18]](_0x9d0ax5[_0xdc72[17]][_0xdc72[16]])[_0xdc72[10]](function(_0x9d0ax9){if(!_0x9d0ax9){return _0x9d0ax6[_0xdc72[15]](404)};_0x9d0ax9[_0xdc72[24]]()[_0xdc72[10]](function(){return _0x9d0ax6[_0xdc72[15]](204)})[_0xdc72[7]](function(_0x9d0ax7){return handleError(_0x9d0ax6,_0x9d0ax7)});})[_0xdc72[7]](function(_0x9d0ax7){return handleError(_0x9d0ax6,_0x9d0ax7)})};exports[_0xdc72[25]]=function(_0x9d0ax5,_0x9d0ax6){return sequelize[_0xdc72[35]]()[_0xdc72[10]](function(_0x9d0axb){var _0x9d0axc;var _0x9d0axd;return MailServerOut[_0xdc72[18]](_0x9d0ax5[_0xdc72[17]][_0xdc72[16]])[_0xdc72[10]](function(_0x9d0ax9){if(!_0x9d0ax9){_0x9d0axb[_0xdc72[27]]();return _0x9d0ax6[_0xdc72[15]](404);}else {return _0x9d0ax9}})[_0xdc72[10]](function(_0x9d0ax9){_0x9d0axc=_0x9d0ax9;return MailMessage[_0xdc72[19]]({subject:_0xdc72[31]+_0x9d0ax9[_0xdc72[32]]+_0xdc72[33],text:_0xdc72[31]+_0x9d0ax9[_0xdc72[32]]+_0xdc72[33],from:_0x9d0ax9[_0xdc72[32]],to:_0x9d0ax9[_0xdc72[32]],status:_0xdc72[34]},{transaction:_0x9d0axb});})[_0xdc72[10]](function(_0x9d0axe){_0x9d0axd=_0x9d0axe;return _0x9d0axc[_0xdc72[21]]({state:_0xdc72[30]});})[_0xdc72[10]](function(){_0x9d0axb[_0xdc72[29]]();return _0x9d0ax6[_0xdc72[9]](201)[_0xdc72[8]](_0x9d0axd);})[_0xdc72[7]](function(_0x9d0ax7){console[_0xdc72[26]](_0x9d0ax7);_0x9d0axc[_0xdc72[21]]({state:_0xdc72[28]})[_0xdc72[10]](function(){_0x9d0axb[_0xdc72[27]]();return handleError(_0x9d0ax6,_0x9d0ax7);});});})};function handleError(_0x9d0ax6,_0x9d0ax7){return _0x9d0ax6[_0xdc72[9]](500)[_0xdc72[8]](_0x9d0ax7)}
\ No newline at end of file
+var _0x2ff5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x69\x6E\x64\x65\x78\x53\x65\x72\x76\x69\x63\x65","\x66\x69\x6E\x64\x4F\x6E\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x74\x65\x73\x74","\x65\x72\x72\x6F\x72","\x72\x6F\x6C\x6C\x62\x61\x63\x6B","\x45\x52\x52\x4F\x52","\x63\x6F\x6D\x6D\x69\x74","\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74\x20","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x20\x74\x65\x73\x74\x2E\x2E","\x53\x45\x4E\x44\x49\x4E\x47","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E"];_0x2ff5[0];var _=require(_0x2ff5[1]);var MailServerOut=require(_0x2ff5[3])[_0x2ff5[2]];var MailMessage=require(_0x2ff5[3])[_0x2ff5[4]];var sequelize=require(_0x2ff5[3])[_0x2ff5[5]];exports[_0x2ff5[6]]=function(_0xde4fx5,_0xde4fx6){MailServerOut[_0x2ff5[11]]()[_0x2ff5[10]](function(_0xde4fx8){return _0xde4fx6[_0x2ff5[9]](200)[_0x2ff5[8]](_0xde4fx8)})[_0x2ff5[7]](function(_0xde4fx7){return handleError(_0xde4fx6,_0xde4fx7)})};exports[_0x2ff5[12]]=function(_0xde4fx5,_0xde4fx6){MailServerOut[_0x2ff5[13]]({where:{service:true}})[_0x2ff5[10]](function(_0xde4fx9){return _0xde4fx6[_0x2ff5[9]](200)[_0x2ff5[8]](_0xde4fx9)})[_0x2ff5[7]](function(_0xde4fx7){return handleError(_0xde4fx6,_0xde4fx7)})};exports[_0x2ff5[14]]=function(_0xde4fx5,_0xde4fx6){MailServerOut[_0x2ff5[18]](_0xde4fx5[_0x2ff5[17]][_0x2ff5[16]])[_0x2ff5[10]](function(_0xde4fx9){if(!_0xde4fx9){return _0xde4fx6[_0x2ff5[15]](404)};return _0xde4fx6[_0x2ff5[8]](_0xde4fx9);})[_0x2ff5[7]](function(_0xde4fx7){return handleError(_0xde4fx6,_0xde4fx7)})};exports[_0x2ff5[19]]=function(_0xde4fx5,_0xde4fx6){MailServerOut[_0x2ff5[19]](_0xde4fx5[_0x2ff5[20]])[_0x2ff5[10]](function(_0xde4fx9){return _0xde4fx6[_0x2ff5[9]](201)[_0x2ff5[8]](_0xde4fx9)})[_0x2ff5[7]](function(_0xde4fx7){return handleError(_0xde4fx6,_0xde4fx7)})};exports[_0x2ff5[21]]=function(_0xde4fx5,_0xde4fx6){if(_0xde4fx5[_0x2ff5[20]][_0x2ff5[16]]){delete _0xde4fx5[_0x2ff5[20]][_0x2ff5[16]]};MailServerOut[_0x2ff5[18]](_0xde4fx5[_0x2ff5[17]][_0x2ff5[16]])[_0x2ff5[10]](function(_0xde4fx9){if(!_0xde4fx9){return _0xde4fx6[_0x2ff5[15]](404)};var _0xde4fxa=_[_0x2ff5[22]](_0xde4fx9,_0xde4fx5[_0x2ff5[20]]);_0xde4fxa[_0x2ff5[23]]()[_0x2ff5[10]](function(){return _0xde4fx6[_0x2ff5[9]](200)[_0x2ff5[8]](_0xde4fx9)})[_0x2ff5[7]](function(_0xde4fx7){return handleError(_0xde4fx6,_0xde4fx7)});})[_0x2ff5[7]](function(_0xde4fx7){return handleError(_0xde4fx6,_0xde4fx7)});};exports[_0x2ff5[24]]=function(_0xde4fx5,_0xde4fx6){MailServerOut[_0x2ff5[18]](_0xde4fx5[_0x2ff5[17]][_0x2ff5[16]])[_0x2ff5[10]](function(_0xde4fx9){if(!_0xde4fx9){return _0xde4fx6[_0x2ff5[15]](404)};_0xde4fx9[_0x2ff5[24]]()[_0x2ff5[10]](function(){return _0xde4fx6[_0x2ff5[15]](204)})[_0x2ff5[7]](function(_0xde4fx7){return handleError(_0xde4fx6,_0xde4fx7)});})[_0x2ff5[7]](function(_0xde4fx7){return handleError(_0xde4fx6,_0xde4fx7)})};exports[_0x2ff5[25]]=function(_0xde4fx5,_0xde4fx6){return sequelize[_0x2ff5[35]]()[_0x2ff5[10]](function(_0xde4fxb){var _0xde4fxc;var _0xde4fxd;return MailServerOut[_0x2ff5[18]](_0xde4fx5[_0x2ff5[17]][_0x2ff5[16]])[_0x2ff5[10]](function(_0xde4fx9){if(!_0xde4fx9){_0xde4fxb[_0x2ff5[27]]();return _0xde4fx6[_0x2ff5[15]](404);}else {return _0xde4fx9}})[_0x2ff5[10]](function(_0xde4fx9){_0xde4fxc=_0xde4fx9;return MailMessage[_0x2ff5[19]]({subject:_0x2ff5[31]+_0xde4fx9[_0x2ff5[32]]+_0x2ff5[33],text:_0x2ff5[31]+_0xde4fx9[_0x2ff5[32]]+_0x2ff5[33],from:_0xde4fx9[_0x2ff5[32]],to:_0xde4fx9[_0x2ff5[32]],status:_0x2ff5[34]},{transaction:_0xde4fxb});})[_0x2ff5[10]](function(_0xde4fxe){_0xde4fxd=_0xde4fxe;return _0xde4fxc[_0x2ff5[21]]({state:_0x2ff5[30]});})[_0x2ff5[10]](function(){_0xde4fxb[_0x2ff5[29]]();return _0xde4fx6[_0x2ff5[9]](201)[_0x2ff5[8]](_0xde4fxd);})[_0x2ff5[7]](function(_0xde4fx7){console[_0x2ff5[26]](_0xde4fx7);_0xde4fxc[_0x2ff5[21]]({state:_0x2ff5[28]})[_0x2ff5[10]](function(){_0xde4fxb[_0x2ff5[27]]();return handleError(_0xde4fx6,_0xde4fx7);});});})};function handleError(_0xde4fx6,_0xde4fx7){return _0xde4fx6[_0x2ff5[9]](500)[_0x2ff5[8]](_0xde4fx7)}
\ No newline at end of file
index d8e672779035cef1315c3930d2934e47fef8b100..00be4b652a183d7529b116ec839401fb238311c5 100644 (file)
@@ -1 +1 @@
-var _0xa365=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74\x20\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x6C\x6F\x67","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74\x20\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x6F\x75\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x6F\x75\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0xa365[0];var MailServerOut=require(_0xa365[2])[_0xa365[1]];exports[_0xa365[3]]=function(_0x1505x2){MailServerOut[_0xa365[6]](function(_0x1505x3){console[_0xa365[5]](_0xa365[4]);onSave(_0x1505x2,_0x1505x3);});MailServerOut[_0xa365[8]](function(_0x1505x3){console[_0xa365[5]](_0xa365[7]);onRemove(_0x1505x2,_0x1505x3);});};function onSave(_0x1505x2,_0x1505x3,_0x1505x5){_0x1505x2[_0xa365[10]](_0xa365[9],_0x1505x3)}function onRemove(_0x1505x2,_0x1505x3,_0x1505x5){_0x1505x2[_0xa365[10]](_0xa365[11],_0x1505x3)}
\ No newline at end of file
+var _0x81ff=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74\x20\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x6C\x6F\x67","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74\x20\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x6F\x75\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x6F\x75\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0x81ff[0];var MailServerOut=require(_0x81ff[2])[_0x81ff[1]];exports[_0x81ff[3]]=function(_0x4d70x2){MailServerOut[_0x81ff[6]](function(_0x4d70x3){console[_0x81ff[5]](_0x81ff[4]);onSave(_0x4d70x2,_0x4d70x3);});MailServerOut[_0x81ff[8]](function(_0x4d70x3){console[_0x81ff[5]](_0x81ff[7]);onRemove(_0x4d70x2,_0x4d70x3);});};function onSave(_0x4d70x2,_0x4d70x3,_0x4d70x5){_0x4d70x2[_0x81ff[10]](_0x81ff[9],_0x4d70x3)}function onRemove(_0x4d70x2,_0x4d70x3,_0x4d70x5){_0x4d70x2[_0x81ff[10]](_0x81ff[11],_0x4d70x3)}
\ No newline at end of file
index 3ef7b03730cd1739ac7e1ddea8f6f299315bffc2..d2160a761684512f9d90bbb75887a5729960d486 100644 (file)
@@ -1 +1 @@
-var _0x6052=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x74\x65\x6D\x70\x6C\x61\x74\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x6052[0];var express=require(_0x6052[1]);var controller=require(_0x6052[2]);var router=express.Router();router[_0x6052[5]](_0x6052[3],controller[_0x6052[4]]);router[_0x6052[5]](_0x6052[6],controller[_0x6052[7]]);router[_0x6052[9]](_0x6052[3],controller[_0x6052[8]]);router[_0x6052[11]](_0x6052[6],controller[_0x6052[10]]);router[_0x6052[12]](_0x6052[6],controller[_0x6052[10]]);router[_0x6052[14]](_0x6052[6],controller[_0x6052[13]]);module[_0x6052[15]]=router;
\ No newline at end of file
+var _0x1bab=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x74\x65\x6D\x70\x6C\x61\x74\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x1bab[0];var express=require(_0x1bab[1]);var controller=require(_0x1bab[2]);var router=express.Router();router[_0x1bab[5]](_0x1bab[3],controller[_0x1bab[4]]);router[_0x1bab[5]](_0x1bab[6],controller[_0x1bab[7]]);router[_0x1bab[9]](_0x1bab[3],controller[_0x1bab[8]]);router[_0x1bab[11]](_0x1bab[6],controller[_0x1bab[10]]);router[_0x1bab[12]](_0x1bab[6],controller[_0x1bab[10]]);router[_0x1bab[14]](_0x1bab[6],controller[_0x1bab[13]]);module[_0x1bab[15]]=router;
\ No newline at end of file
index abfed5aa63678f0b2079a110468c1e4f0b36d924..f15c9931517c147565ece056b58af90d1205af40 100644 (file)
@@ -1 +1 @@
-var _0x6ee4=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x4D\x61\x69\x6C\x54\x65\x6D\x70\x6C\x61\x74\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x74\x69\x6D\x65\x6F\x75\x74","\x73\x74\x72\x61\x74\x65\x67\x79","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x6ee4[0];var _=require(_0x6ee4[1]);var util=require(_0x6ee4[2]);var MailTemplate=require(_0x6ee4[4])[_0x6ee4[3]];exports[_0x6ee4[5]]=function(_0xc964x4,_0xc964x5){var _0xc964x6=[_0x6ee4[6],_0x6ee4[7],_0x6ee4[8],_0x6ee4[9]];var _0xc964x7=_0xc964x4[_0x6ee4[11]][_0x6ee4[10]]?parseInt(_0xc964x4[_0x6ee4[11]][_0x6ee4[10]],10):100;var _0xc964x8=_0xc964x4[_0x6ee4[11]][_0x6ee4[12]]?parseInt(_0xc964x4[_0x6ee4[11]][_0x6ee4[12]],10):0;var _0xc964x9={where:{},limit:_0xc964x7,offset:_0xc964x8*_0xc964x7,include:[{all:true}]};_[_0x6ee4[26]](_0xc964x4[_0x6ee4[11]],function(_0xc964xa,_0xc964xb){switch(_0xc964xb){case _0x6ee4[10]:;case _0x6ee4[12]:break ;;case _0x6ee4[15]:_0xc964x9[_0x6ee4[13]]=util[_0x6ee4[18]](_0x6ee4[14],_0xc964x4[_0x6ee4[11]][_0x6ee4[15]],_0xc964x4[_0x6ee4[11]][_0x6ee4[16]]||_0x6ee4[17])||null;break ;;case _0x6ee4[16]:break ;;case _0x6ee4[24]:_0xc964x9[_0x6ee4[20]][_0x6ee4[19]]=[];_0xc964x6[_0x6ee4[23]](function(_0xc964xc){var _0xc964xd={};_0xc964xd[_0xc964xc]={$like:_0x6ee4[21]+_0xc964xa+_0x6ee4[21]};_0xc964x9[_0x6ee4[20]][_0x6ee4[19]][_0x6ee4[22]](_0xc964xd);});break ;;default:_0xc964x9[_0x6ee4[20]][_0xc964xb]={$like:{}};_0xc964x9[_0x6ee4[20]][_0xc964xb][_0x6ee4[25]]=_0x6ee4[21]+_0xc964xa+_0x6ee4[21];;}});MailTemplate[_0x6ee4[40]](_0xc964x9)[_0x6ee4[39]](function(_0xc964xf){var _0xc964x10=Math[_0x6ee4[29]](_0xc964xf[_0x6ee4[28]]/_0xc964x7);var _0xc964x11=_0xc964x10>(_0xc964x9[_0x6ee4[30]]+1)?util[_0x6ee4[18]](_0x6ee4[31],_0xc964x4[_0x6ee4[32]],_0xc964x4[_0x6ee4[34]][_0x6ee4[33]],_0xc964x4[_0x6ee4[35]],_0xc964x8+1):null;var _0xc964x12=_0xc964x8>0?util[_0x6ee4[18]](_0x6ee4[31],_0xc964x4[_0x6ee4[32]],_0xc964x4[_0x6ee4[34]][_0x6ee4[33]],_0xc964x4[_0x6ee4[35]],_0xc964x8-1):null;_0xc964x5[_0x6ee4[38]](200)[_0x6ee4[37]]({count:_0xc964xf[_0x6ee4[28]],rows:_0xc964xf[_0x6ee4[36]],next_page:_0xc964x11,previous_page:_0xc964x12,total_pages:_0xc964x10});})[_0x6ee4[27]](function(_0xc964xe){return handleError(_0xc964x5,_0xc964xe)});};exports[_0x6ee4[41]]=function(_0xc964x4,_0xc964x5){MailTemplate[_0x6ee4[45]](_0xc964x4[_0x6ee4[44]][_0x6ee4[43]])[_0x6ee4[39]](function(_0xc964x13){if(!_0xc964x13){return _0xc964x5[_0x6ee4[42]](404)};return _0xc964x5[_0x6ee4[37]](_0xc964x13);})[_0x6ee4[27]](function(_0xc964xe){return handleError(_0xc964x5,_0xc964xe)})};exports[_0x6ee4[46]]=function(_0xc964x4,_0xc964x5){MailTemplate[_0x6ee4[46]](_0xc964x4[_0x6ee4[47]])[_0x6ee4[39]](function(_0xc964x13){return _0xc964x5[_0x6ee4[38]](201)[_0x6ee4[37]](_0xc964x13)})[_0x6ee4[27]](function(_0xc964xe){return handleError(_0xc964x5,_0xc964xe)})};exports[_0x6ee4[48]]=function(_0xc964x4,_0xc964x5){if(_0xc964x4[_0x6ee4[47]][_0x6ee4[43]]){delete _0xc964x4[_0x6ee4[47]][_0x6ee4[43]]};MailTemplate[_0x6ee4[45]](_0xc964x4[_0x6ee4[44]][_0x6ee4[43]])[_0x6ee4[39]](function(_0xc964x13){if(!_0xc964x13){return _0xc964x5[_0x6ee4[42]](404)};var _0xc964x14=_[_0x6ee4[49]](_0xc964x13,_0xc964x4[_0x6ee4[47]]);_0xc964x14[_0x6ee4[50]]()[_0x6ee4[39]](function(){return _0xc964x5[_0x6ee4[38]](200)[_0x6ee4[37]](_0xc964x13)})[_0x6ee4[27]](function(_0xc964xe){return handleError(_0xc964x5,_0xc964xe)});})[_0x6ee4[27]](function(_0xc964xe){return handleError(_0xc964x5,_0xc964xe)});};exports[_0x6ee4[51]]=function(_0xc964x4,_0xc964x5){MailTemplate[_0x6ee4[45]](_0xc964x4[_0x6ee4[44]][_0x6ee4[43]])[_0x6ee4[39]](function(_0xc964x13){if(!_0xc964x13){return _0xc964x5[_0x6ee4[42]](404)};_0xc964x13[_0x6ee4[51]]()[_0x6ee4[39]](function(){return _0xc964x5[_0x6ee4[42]](204)})[_0x6ee4[27]](function(_0xc964xe){return handleError(_0xc964x5,_0xc964xe)});})[_0x6ee4[27]](function(_0xc964xe){return handleError(_0xc964x5,_0xc964xe)})};function handleError(_0xc964x5,_0xc964xe){return _0xc964x5[_0x6ee4[38]](500)[_0x6ee4[37]](_0xc964xe)}
\ No newline at end of file
+var _0x5172=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x4D\x61\x69\x6C\x54\x65\x6D\x70\x6C\x61\x74\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x74\x69\x6D\x65\x6F\x75\x74","\x73\x74\x72\x61\x74\x65\x67\x79","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x5172[0];var _=require(_0x5172[1]);var util=require(_0x5172[2]);var MailTemplate=require(_0x5172[4])[_0x5172[3]];exports[_0x5172[5]]=function(_0xd307x4,_0xd307x5){var _0xd307x6=[_0x5172[6],_0x5172[7],_0x5172[8],_0x5172[9]];var _0xd307x7=_0xd307x4[_0x5172[11]][_0x5172[10]]?parseInt(_0xd307x4[_0x5172[11]][_0x5172[10]],10):100;var _0xd307x8=_0xd307x4[_0x5172[11]][_0x5172[12]]?parseInt(_0xd307x4[_0x5172[11]][_0x5172[12]],10):0;var _0xd307x9={where:{},limit:_0xd307x7,offset:_0xd307x8*_0xd307x7,include:[{all:true}]};_[_0x5172[26]](_0xd307x4[_0x5172[11]],function(_0xd307xa,_0xd307xb){switch(_0xd307xb){case _0x5172[10]:;case _0x5172[12]:break ;;case _0x5172[15]:_0xd307x9[_0x5172[13]]=util[_0x5172[18]](_0x5172[14],_0xd307x4[_0x5172[11]][_0x5172[15]],_0xd307x4[_0x5172[11]][_0x5172[16]]||_0x5172[17])||null;break ;;case _0x5172[16]:break ;;case _0x5172[24]:_0xd307x9[_0x5172[20]][_0x5172[19]]=[];_0xd307x6[_0x5172[23]](function(_0xd307xc){var _0xd307xd={};_0xd307xd[_0xd307xc]={$like:_0x5172[21]+_0xd307xa+_0x5172[21]};_0xd307x9[_0x5172[20]][_0x5172[19]][_0x5172[22]](_0xd307xd);});break ;;default:_0xd307x9[_0x5172[20]][_0xd307xb]={$like:{}};_0xd307x9[_0x5172[20]][_0xd307xb][_0x5172[25]]=_0x5172[21]+_0xd307xa+_0x5172[21];;}});MailTemplate[_0x5172[40]](_0xd307x9)[_0x5172[39]](function(_0xd307xf){var _0xd307x10=Math[_0x5172[29]](_0xd307xf[_0x5172[28]]/_0xd307x7);var _0xd307x11=_0xd307x10>(_0xd307x9[_0x5172[30]]+1)?util[_0x5172[18]](_0x5172[31],_0xd307x4[_0x5172[32]],_0xd307x4[_0x5172[34]][_0x5172[33]],_0xd307x4[_0x5172[35]],_0xd307x8+1):null;var _0xd307x12=_0xd307x8>0?util[_0x5172[18]](_0x5172[31],_0xd307x4[_0x5172[32]],_0xd307x4[_0x5172[34]][_0x5172[33]],_0xd307x4[_0x5172[35]],_0xd307x8-1):null;_0xd307x5[_0x5172[38]](200)[_0x5172[37]]({count:_0xd307xf[_0x5172[28]],rows:_0xd307xf[_0x5172[36]],next_page:_0xd307x11,previous_page:_0xd307x12,total_pages:_0xd307x10});})[_0x5172[27]](function(_0xd307xe){return handleError(_0xd307x5,_0xd307xe)});};exports[_0x5172[41]]=function(_0xd307x4,_0xd307x5){MailTemplate[_0x5172[45]](_0xd307x4[_0x5172[44]][_0x5172[43]])[_0x5172[39]](function(_0xd307x13){if(!_0xd307x13){return _0xd307x5[_0x5172[42]](404)};return _0xd307x5[_0x5172[37]](_0xd307x13);})[_0x5172[27]](function(_0xd307xe){return handleError(_0xd307x5,_0xd307xe)})};exports[_0x5172[46]]=function(_0xd307x4,_0xd307x5){MailTemplate[_0x5172[46]](_0xd307x4[_0x5172[47]])[_0x5172[39]](function(_0xd307x13){return _0xd307x5[_0x5172[38]](201)[_0x5172[37]](_0xd307x13)})[_0x5172[27]](function(_0xd307xe){return handleError(_0xd307x5,_0xd307xe)})};exports[_0x5172[48]]=function(_0xd307x4,_0xd307x5){if(_0xd307x4[_0x5172[47]][_0x5172[43]]){delete _0xd307x4[_0x5172[47]][_0x5172[43]]};MailTemplate[_0x5172[45]](_0xd307x4[_0x5172[44]][_0x5172[43]])[_0x5172[39]](function(_0xd307x13){if(!_0xd307x13){return _0xd307x5[_0x5172[42]](404)};var _0xd307x14=_[_0x5172[49]](_0xd307x13,_0xd307x4[_0x5172[47]]);_0xd307x14[_0x5172[50]]()[_0x5172[39]](function(){return _0xd307x5[_0x5172[38]](200)[_0x5172[37]](_0xd307x13)})[_0x5172[27]](function(_0xd307xe){return handleError(_0xd307x5,_0xd307xe)});})[_0x5172[27]](function(_0xd307xe){return handleError(_0xd307x5,_0xd307xe)});};exports[_0x5172[51]]=function(_0xd307x4,_0xd307x5){MailTemplate[_0x5172[45]](_0xd307x4[_0x5172[44]][_0x5172[43]])[_0x5172[39]](function(_0xd307x13){if(!_0xd307x13){return _0xd307x5[_0x5172[42]](404)};_0xd307x13[_0x5172[51]]()[_0x5172[39]](function(){return _0xd307x5[_0x5172[42]](204)})[_0x5172[27]](function(_0xd307xe){return handleError(_0xd307x5,_0xd307xe)});})[_0x5172[27]](function(_0xd307xe){return handleError(_0xd307x5,_0xd307xe)})};function handleError(_0xd307x5,_0xd307xe){return _0xd307x5[_0x5172[38]](500)[_0x5172[37]](_0xd307xe)}
\ No newline at end of file
index da6bad95f457d79a58a0daa3b316725aa751be4d..7655aa078887649dbf660e1b18a0eaa01732085b 100644 (file)
@@ -1 +1 @@
-var _0xa78d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x61\x69\x6C\x54\x65\x6D\x70\x6C\x61\x74\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6D\x61\x69\x6C\x5F\x74\x65\x6D\x70\x6C\x61\x74\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6D\x61\x69\x6C\x5F\x74\x65\x6D\x70\x6C\x61\x74\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0xa78d[0];var MailTemplate=require(_0xa78d[2])[_0xa78d[1]];exports[_0xa78d[3]]=function(_0x40f7x2){MailTemplate[_0xa78d[4]](function(_0x40f7x3){onSave(_0x40f7x2,_0x40f7x3)});MailTemplate[_0xa78d[5]](function(_0x40f7x3){onRemove(_0x40f7x2,_0x40f7x3)});};function onSave(_0x40f7x2,_0x40f7x3,_0x40f7x5){_0x40f7x2[_0xa78d[7]](_0xa78d[6],_0x40f7x3)}function onRemove(_0x40f7x2,_0x40f7x3,_0x40f7x5){_0x40f7x2[_0xa78d[7]](_0xa78d[8],_0x40f7x3)}
\ No newline at end of file
+var _0x320f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x61\x69\x6C\x54\x65\x6D\x70\x6C\x61\x74\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6D\x61\x69\x6C\x5F\x74\x65\x6D\x70\x6C\x61\x74\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6D\x61\x69\x6C\x5F\x74\x65\x6D\x70\x6C\x61\x74\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0x320f[0];var MailTemplate=require(_0x320f[2])[_0x320f[1]];exports[_0x320f[3]]=function(_0xc69fx2){MailTemplate[_0x320f[4]](function(_0xc69fx3){onSave(_0xc69fx2,_0xc69fx3)});MailTemplate[_0x320f[5]](function(_0xc69fx3){onRemove(_0xc69fx2,_0xc69fx3)});};function onSave(_0xc69fx2,_0xc69fx3,_0xc69fx5){_0xc69fx2[_0x320f[7]](_0x320f[6],_0xc69fx3)}function onRemove(_0xc69fx2,_0xc69fx3,_0xc69fx5){_0xc69fx2[_0x320f[7]](_0x320f[8],_0xc69fx3)}
\ No newline at end of file
index 4d17eb53452c7f2cdb0572b26a34b1096287fb13..c6d27074f57447a7a7ef2263773d9d991751f721 100644 (file)
@@ -1 +1 @@
-var _0xb6cf=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x65\x74\x72\x69\x63\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x74\x61\x62\x6C\x65","\x67\x65\x74\x4D\x65\x74\x72\x69\x63\x73\x42\x79\x54\x61\x62\x6C\x65","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x6D\x65\x74\x72\x69\x63\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xb6cf[0];var express=require(_0xb6cf[1]);var controller=require(_0xb6cf[2]);var auth=require(_0xb6cf[3]);var router=express.Router();router[_0xb6cf[7]](_0xb6cf[4],auth[_0xb6cf[5]](),controller[_0xb6cf[6]]);router[_0xb6cf[7]](_0xb6cf[8],auth[_0xb6cf[5]](),controller[_0xb6cf[9]]);router[_0xb6cf[7]](_0xb6cf[10],auth[_0xb6cf[5]](),controller[_0xb6cf[11]]);router[_0xb6cf[13]](_0xb6cf[4],auth[_0xb6cf[5]](),controller[_0xb6cf[12]]);router[_0xb6cf[13]](_0xb6cf[14],auth[_0xb6cf[5]](),controller[_0xb6cf[15]]);router[_0xb6cf[17]](_0xb6cf[10],auth[_0xb6cf[5]](),controller[_0xb6cf[16]]);router[_0xb6cf[18]](_0xb6cf[10],auth[_0xb6cf[5]](),controller[_0xb6cf[16]]);router[_0xb6cf[20]](_0xb6cf[4],auth[_0xb6cf[5]](),controller[_0xb6cf[19]]);router[_0xb6cf[20]](_0xb6cf[10],auth[_0xb6cf[5]](),controller[_0xb6cf[21]]);module[_0xb6cf[22]]=router;
\ No newline at end of file
+var _0x34b8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x65\x74\x72\x69\x63\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x74\x61\x62\x6C\x65","\x67\x65\x74\x4D\x65\x74\x72\x69\x63\x73\x42\x79\x54\x61\x62\x6C\x65","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x6D\x65\x74\x72\x69\x63\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x34b8[0];var express=require(_0x34b8[1]);var controller=require(_0x34b8[2]);var auth=require(_0x34b8[3]);var router=express.Router();router[_0x34b8[7]](_0x34b8[4],auth[_0x34b8[5]](),controller[_0x34b8[6]]);router[_0x34b8[7]](_0x34b8[8],auth[_0x34b8[5]](),controller[_0x34b8[9]]);router[_0x34b8[7]](_0x34b8[10],auth[_0x34b8[5]](),controller[_0x34b8[11]]);router[_0x34b8[13]](_0x34b8[4],auth[_0x34b8[5]](),controller[_0x34b8[12]]);router[_0x34b8[13]](_0x34b8[14],auth[_0x34b8[5]](),controller[_0x34b8[15]]);router[_0x34b8[17]](_0x34b8[10],auth[_0x34b8[5]](),controller[_0x34b8[16]]);router[_0x34b8[18]](_0x34b8[10],auth[_0x34b8[5]](),controller[_0x34b8[16]]);router[_0x34b8[20]](_0x34b8[4],auth[_0x34b8[5]](),controller[_0x34b8[19]]);router[_0x34b8[20]](_0x34b8[10],auth[_0x34b8[5]](),controller[_0x34b8[21]]);module[_0x34b8[22]]=router;
\ No newline at end of file
index d1e3c479b02fceba4111b8607a69872dc8ea2ab6..7a537ba9febe5130e8914b7058eb5052e4283b64 100644 (file)
@@ -1 +1 @@
-var _0x877b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x4D\x65\x74\x72\x69\x63","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x6D\x65\x74\x72\x69\x63\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x62\x6F\x64\x79","\x6C\x6F\x67","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x67\x65\x74\x4D\x65\x74\x72\x69\x63\x73\x42\x79\x54\x61\x62\x6C\x65","\x74\x61\x62\x6C\x65","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x6C\x65\x6E\x67\x74\x68","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x4D\x45\x54\x52\x49\x43","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79","\x4D\x45\x53\x53\x41\x47\x45\x5F\x4D\x45\x54\x52\x49\x43\x5F\x43\x4F\x4E\x46\x49\x47\x55\x52\x41\x54\x49\x4F\x4E\x5F\x41\x53\x53\x4F\x43\x49\x41\x54\x45\x44","\x67\x65\x74\x5A\x65\x6E\x64\x65\x73\x6B\x54\x65\x78\x74\x73","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0x877b[0];var _=require(_0x877b[1]);var Metric=require(_0x877b[3])[_0x877b[2]];var util=require(_0x877b[4]);exports[_0x877b[5]]=function(_0x5adax4,_0x5adax5){var _0x5adax6=[_0x877b[6],_0x877b[7]];var _0x5adax7=_0x5adax4[_0x877b[9]][_0x877b[8]]?parseInt(_0x5adax4[_0x877b[9]][_0x877b[8]],10):100;var _0x5adax8=_0x5adax4[_0x877b[9]][_0x877b[10]]?parseInt(_0x5adax4[_0x877b[9]][_0x877b[10]],10):0;var _0x5adax9={where:{},limit:_0x5adax7,offset:_0x5adax8*_0x5adax7};_[_0x877b[24]](_0x5adax4[_0x877b[9]],function(_0x5adaxa,_0x5adaxb){switch(_0x5adaxb){case _0x877b[8]:;case _0x877b[10]:break ;;case _0x877b[13]:_0x5adax9[_0x877b[11]]=util[_0x877b[16]](_0x877b[12],_0x5adax4[_0x877b[9]][_0x877b[13]],_0x5adax4[_0x877b[9]][_0x877b[14]]||_0x877b[15])||null;break ;;case _0x877b[14]:break ;;case _0x877b[22]:_0x5adax9[_0x877b[18]][_0x877b[17]]=[];_0x5adax6[_0x877b[21]](function(_0x5adaxc){var _0x5adaxd={};_0x5adaxd[_0x5adaxc]={$like:_0x877b[19]+_0x5adaxa+_0x877b[19]};_0x5adax9[_0x877b[18]][_0x877b[17]][_0x877b[20]](_0x5adaxd);});break ;;default:_0x5adax9[_0x877b[18]][_0x5adaxb]={$like:{}};_0x5adax9[_0x877b[18]][_0x5adaxb][_0x877b[23]]=_0x877b[19]+_0x5adaxa+_0x877b[19];;}});Metric[_0x877b[39]](_0x5adax9)[_0x877b[38]](function(_0x5adaxf){var _0x5adax10=Math[_0x877b[30]](_0x5adaxf[_0x877b[29]]/_0x5adax7);var _0x5adax11=_0x5adax10>(_0x5adax9[_0x877b[31]]+1)?util[_0x877b[16]](_0x877b[32],_0x5adax4[_0x877b[33]],_0x5adax4[_0x877b[35]][_0x877b[34]],_0x5adax4[_0x877b[36]],_0x5adax8+1):null;var _0x5adax12=_0x5adax8>0?util[_0x877b[16]](_0x877b[32],_0x5adax4[_0x877b[33]],_0x5adax4[_0x877b[35]][_0x877b[34]],_0x5adax4[_0x877b[36]],_0x5adax8-1):null;_0x5adax5[_0x877b[27]](200)[_0x877b[26]]({count:_0x5adaxf[_0x877b[29]],rows:_0x5adaxf[_0x877b[37]],next_page:_0x5adax11,previous_page:_0x5adax12,total_pages:_0x5adax10});})[_0x877b[28]](function(_0x5adaxe){_0x5adax5[_0x877b[27]](500)[_0x877b[26]]({error:_0x877b[25]})});};exports[_0x877b[40]]=function(_0x5adax4,_0x5adax5){console[_0x877b[42]](_0x5adax4[_0x877b[41]]);Metric[_0x877b[44]]({where:{name:_0x5adax4[_0x877b[41]][_0x877b[6]]}})[_0x877b[38]](function(_0x5adax13){if(!_0x5adax13){return _0x5adax5[_0x877b[43]](404)};return _0x5adax5[_0x877b[26]](_0x5adax13);})[_0x877b[28]](function(_0x5adaxe){return handleError(_0x5adax5,_0x5adaxe)});};exports[_0x877b[45]]=function(_0x5adax4,_0x5adax5){console[_0x877b[42]](_0x5adax4[_0x877b[9]]);Metric[_0x877b[44]]({where:{table:_0x5adax4[_0x877b[9]][_0x877b[46]]}})[_0x877b[38]](function(_0x5adax13){console[_0x877b[42]](_0x5adax13);if(!_0x5adax13){return _0x5adax5[_0x877b[43]](404)};return _0x5adax5[_0x877b[27]](200)[_0x877b[26]](_0x5adax13);})[_0x877b[28]](function(_0x5adaxe){return handleError(_0x5adax5,_0x5adaxe)});};exports[_0x877b[47]]=function(_0x5adax4,_0x5adax5){Metric[_0x877b[50]](_0x5adax4[_0x877b[49]][_0x877b[48]])[_0x877b[38]](function(_0x5adax14){if(!_0x5adax14){return _0x5adax5[_0x877b[43]](404)};return _0x5adax5[_0x877b[26]](_0x5adax14);})[_0x877b[28]](function(_0x5adaxe){return handleError(_0x5adax5,_0x5adaxe)})};exports[_0x877b[51]]=function(_0x5adax4,_0x5adax5){Metric[_0x877b[51]](_0x5adax4[_0x877b[41]])[_0x877b[38]](function(_0x5adax14){return _0x5adax5[_0x877b[27]](201)[_0x877b[26]](_0x5adax14)})[_0x877b[28]](function(_0x5adaxe){return handleError(_0x5adax5,_0x5adaxe)})};exports[_0x877b[52]]=function(_0x5adax4,_0x5adax5){Metric[_0x877b[44]]({where:{name:_0x5adax4[_0x877b[41]][_0x877b[6]],id:{$ne:_0x5adax4[_0x877b[41]][_0x877b[48]]}}})[_0x877b[38]](function(_0x5adax13){if(!_0x5adax13){return _0x5adax5[_0x877b[43]](404)};if(_0x5adax13[_0x877b[53]]>0){return _0x5adax5[_0x877b[27]](500)[_0x877b[26]]({message:_0x877b[54]})};if(_0x5adax4[_0x877b[41]][_0x877b[48]]){delete _0x5adax4[_0x877b[41]][_0x877b[48]]};Metric[_0x877b[57]]({where:{id:_0x5adax4[_0x877b[49]][_0x877b[48]]}})[_0x877b[38]](function(_0x5adax14){if(!_0x5adax14){return _0x5adax5[_0x877b[43]](404)};var _0x5adax15=_[_0x877b[55]](_0x5adax14,_0x5adax4[_0x877b[41]]);_0x5adax15[_0x877b[56]]()[_0x877b[38]](function(){return _0x5adax5[_0x877b[27]](200)[_0x877b[26]](_0x5adax14)})[_0x877b[28]](function(_0x5adaxe){return handleError(_0x5adax5,_0x5adaxe)});})[_0x877b[28]](function(_0x5adaxe){return handleError(_0x5adax5,_0x5adaxe)});})[_0x877b[28]](function(_0x5adaxe){return handleError(_0x5adax5,_0x5adaxe)})};exports[_0x877b[58]]=function(_0x5adax4,_0x5adax5){Metric[_0x877b[50]](_0x5adax4[_0x877b[49]][_0x877b[48]])[_0x877b[38]](function(_0x5adax14){if(!_0x5adax14){return _0x5adax5[_0x877b[43]](404)};_0x5adax14[_0x877b[60]]()[_0x877b[38]](function(_0x5adax16){if(_0x5adax16[_0x877b[53]]>0){return _0x5adax5[_0x877b[27]](500)[_0x877b[26]]({message:_0x877b[59]})};_0x5adax14[_0x877b[58]]()[_0x877b[38]](function(){return _0x5adax5[_0x877b[43]](204)})[_0x877b[28]](function(_0x5adaxe){return handleError(_0x5adax5,_0x5adaxe)});})[_0x877b[28]](function(_0x5adaxe){return handleError(_0x5adax5,_0x5adaxe)});})[_0x877b[28]](function(_0x5adaxe){return handleError(_0x5adax5,_0x5adaxe)})};exports[_0x877b[61]]=function(_0x5adax4,_0x5adax5){Metric[_0x877b[58]]({where:{id:_0x5adax4[_0x877b[9]][_0x877b[48]]},individualHooks:true})[_0x877b[38]](function(){return _0x5adax5[_0x877b[43]](204)})[_0x877b[28]](function(_0x5adaxe){return handleError(_0x5adax5,_0x5adaxe)})};function handleError(_0x5adax5,_0x5adaxe){return _0x5adax5[_0x877b[27]](500)[_0x877b[26]](_0x5adaxe)}
\ No newline at end of file
+var _0x2f9d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x4D\x65\x74\x72\x69\x63","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x6D\x65\x74\x72\x69\x63\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x62\x6F\x64\x79","\x6C\x6F\x67","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x67\x65\x74\x4D\x65\x74\x72\x69\x63\x73\x42\x79\x54\x61\x62\x6C\x65","\x74\x61\x62\x6C\x65","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x6C\x65\x6E\x67\x74\x68","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x4D\x45\x54\x52\x49\x43","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79","\x4D\x45\x53\x53\x41\x47\x45\x5F\x4D\x45\x54\x52\x49\x43\x5F\x43\x4F\x4E\x46\x49\x47\x55\x52\x41\x54\x49\x4F\x4E\x5F\x41\x53\x53\x4F\x43\x49\x41\x54\x45\x44","\x67\x65\x74\x5A\x65\x6E\x64\x65\x73\x6B\x54\x65\x78\x74\x73","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0x2f9d[0];var _=require(_0x2f9d[1]);var Metric=require(_0x2f9d[3])[_0x2f9d[2]];var util=require(_0x2f9d[4]);exports[_0x2f9d[5]]=function(_0x66fdx4,_0x66fdx5){var _0x66fdx6=[_0x2f9d[6],_0x2f9d[7]];var _0x66fdx7=_0x66fdx4[_0x2f9d[9]][_0x2f9d[8]]?parseInt(_0x66fdx4[_0x2f9d[9]][_0x2f9d[8]],10):100;var _0x66fdx8=_0x66fdx4[_0x2f9d[9]][_0x2f9d[10]]?parseInt(_0x66fdx4[_0x2f9d[9]][_0x2f9d[10]],10):0;var _0x66fdx9={where:{},limit:_0x66fdx7,offset:_0x66fdx8*_0x66fdx7};_[_0x2f9d[24]](_0x66fdx4[_0x2f9d[9]],function(_0x66fdxa,_0x66fdxb){switch(_0x66fdxb){case _0x2f9d[8]:;case _0x2f9d[10]:break ;;case _0x2f9d[13]:_0x66fdx9[_0x2f9d[11]]=util[_0x2f9d[16]](_0x2f9d[12],_0x66fdx4[_0x2f9d[9]][_0x2f9d[13]],_0x66fdx4[_0x2f9d[9]][_0x2f9d[14]]||_0x2f9d[15])||null;break ;;case _0x2f9d[14]:break ;;case _0x2f9d[22]:_0x66fdx9[_0x2f9d[18]][_0x2f9d[17]]=[];_0x66fdx6[_0x2f9d[21]](function(_0x66fdxc){var _0x66fdxd={};_0x66fdxd[_0x66fdxc]={$like:_0x2f9d[19]+_0x66fdxa+_0x2f9d[19]};_0x66fdx9[_0x2f9d[18]][_0x2f9d[17]][_0x2f9d[20]](_0x66fdxd);});break ;;default:_0x66fdx9[_0x2f9d[18]][_0x66fdxb]={$like:{}};_0x66fdx9[_0x2f9d[18]][_0x66fdxb][_0x2f9d[23]]=_0x2f9d[19]+_0x66fdxa+_0x2f9d[19];;}});Metric[_0x2f9d[39]](_0x66fdx9)[_0x2f9d[38]](function(_0x66fdxf){var _0x66fdx10=Math[_0x2f9d[30]](_0x66fdxf[_0x2f9d[29]]/_0x66fdx7);var _0x66fdx11=_0x66fdx10>(_0x66fdx9[_0x2f9d[31]]+1)?util[_0x2f9d[16]](_0x2f9d[32],_0x66fdx4[_0x2f9d[33]],_0x66fdx4[_0x2f9d[35]][_0x2f9d[34]],_0x66fdx4[_0x2f9d[36]],_0x66fdx8+1):null;var _0x66fdx12=_0x66fdx8>0?util[_0x2f9d[16]](_0x2f9d[32],_0x66fdx4[_0x2f9d[33]],_0x66fdx4[_0x2f9d[35]][_0x2f9d[34]],_0x66fdx4[_0x2f9d[36]],_0x66fdx8-1):null;_0x66fdx5[_0x2f9d[27]](200)[_0x2f9d[26]]({count:_0x66fdxf[_0x2f9d[29]],rows:_0x66fdxf[_0x2f9d[37]],next_page:_0x66fdx11,previous_page:_0x66fdx12,total_pages:_0x66fdx10});})[_0x2f9d[28]](function(_0x66fdxe){_0x66fdx5[_0x2f9d[27]](500)[_0x2f9d[26]]({error:_0x2f9d[25]})});};exports[_0x2f9d[40]]=function(_0x66fdx4,_0x66fdx5){console[_0x2f9d[42]](_0x66fdx4[_0x2f9d[41]]);Metric[_0x2f9d[44]]({where:{name:_0x66fdx4[_0x2f9d[41]][_0x2f9d[6]]}})[_0x2f9d[38]](function(_0x66fdx13){if(!_0x66fdx13){return _0x66fdx5[_0x2f9d[43]](404)};return _0x66fdx5[_0x2f9d[26]](_0x66fdx13);})[_0x2f9d[28]](function(_0x66fdxe){return handleError(_0x66fdx5,_0x66fdxe)});};exports[_0x2f9d[45]]=function(_0x66fdx4,_0x66fdx5){console[_0x2f9d[42]](_0x66fdx4[_0x2f9d[9]]);Metric[_0x2f9d[44]]({where:{table:_0x66fdx4[_0x2f9d[9]][_0x2f9d[46]]}})[_0x2f9d[38]](function(_0x66fdx13){console[_0x2f9d[42]](_0x66fdx13);if(!_0x66fdx13){return _0x66fdx5[_0x2f9d[43]](404)};return _0x66fdx5[_0x2f9d[27]](200)[_0x2f9d[26]](_0x66fdx13);})[_0x2f9d[28]](function(_0x66fdxe){return handleError(_0x66fdx5,_0x66fdxe)});};exports[_0x2f9d[47]]=function(_0x66fdx4,_0x66fdx5){Metric[_0x2f9d[50]](_0x66fdx4[_0x2f9d[49]][_0x2f9d[48]])[_0x2f9d[38]](function(_0x66fdx14){if(!_0x66fdx14){return _0x66fdx5[_0x2f9d[43]](404)};return _0x66fdx5[_0x2f9d[26]](_0x66fdx14);})[_0x2f9d[28]](function(_0x66fdxe){return handleError(_0x66fdx5,_0x66fdxe)})};exports[_0x2f9d[51]]=function(_0x66fdx4,_0x66fdx5){Metric[_0x2f9d[51]](_0x66fdx4[_0x2f9d[41]])[_0x2f9d[38]](function(_0x66fdx14){return _0x66fdx5[_0x2f9d[27]](201)[_0x2f9d[26]](_0x66fdx14)})[_0x2f9d[28]](function(_0x66fdxe){return handleError(_0x66fdx5,_0x66fdxe)})};exports[_0x2f9d[52]]=function(_0x66fdx4,_0x66fdx5){Metric[_0x2f9d[44]]({where:{name:_0x66fdx4[_0x2f9d[41]][_0x2f9d[6]],id:{$ne:_0x66fdx4[_0x2f9d[41]][_0x2f9d[48]]}}})[_0x2f9d[38]](function(_0x66fdx13){if(!_0x66fdx13){return _0x66fdx5[_0x2f9d[43]](404)};if(_0x66fdx13[_0x2f9d[53]]>0){return _0x66fdx5[_0x2f9d[27]](500)[_0x2f9d[26]]({message:_0x2f9d[54]})};if(_0x66fdx4[_0x2f9d[41]][_0x2f9d[48]]){delete _0x66fdx4[_0x2f9d[41]][_0x2f9d[48]]};Metric[_0x2f9d[57]]({where:{id:_0x66fdx4[_0x2f9d[49]][_0x2f9d[48]]}})[_0x2f9d[38]](function(_0x66fdx14){if(!_0x66fdx14){return _0x66fdx5[_0x2f9d[43]](404)};var _0x66fdx15=_[_0x2f9d[55]](_0x66fdx14,_0x66fdx4[_0x2f9d[41]]);_0x66fdx15[_0x2f9d[56]]()[_0x2f9d[38]](function(){return _0x66fdx5[_0x2f9d[27]](200)[_0x2f9d[26]](_0x66fdx14)})[_0x2f9d[28]](function(_0x66fdxe){return handleError(_0x66fdx5,_0x66fdxe)});})[_0x2f9d[28]](function(_0x66fdxe){return handleError(_0x66fdx5,_0x66fdxe)});})[_0x2f9d[28]](function(_0x66fdxe){return handleError(_0x66fdx5,_0x66fdxe)})};exports[_0x2f9d[58]]=function(_0x66fdx4,_0x66fdx5){Metric[_0x2f9d[50]](_0x66fdx4[_0x2f9d[49]][_0x2f9d[48]])[_0x2f9d[38]](function(_0x66fdx14){if(!_0x66fdx14){return _0x66fdx5[_0x2f9d[43]](404)};_0x66fdx14[_0x2f9d[60]]()[_0x2f9d[38]](function(_0x66fdx16){if(_0x66fdx16[_0x2f9d[53]]>0){return _0x66fdx5[_0x2f9d[27]](500)[_0x2f9d[26]]({message:_0x2f9d[59]})};_0x66fdx14[_0x2f9d[58]]()[_0x2f9d[38]](function(){return _0x66fdx5[_0x2f9d[43]](204)})[_0x2f9d[28]](function(_0x66fdxe){return handleError(_0x66fdx5,_0x66fdxe)});})[_0x2f9d[28]](function(_0x66fdxe){return handleError(_0x66fdx5,_0x66fdxe)});})[_0x2f9d[28]](function(_0x66fdxe){return handleError(_0x66fdx5,_0x66fdxe)})};exports[_0x2f9d[61]]=function(_0x66fdx4,_0x66fdx5){Metric[_0x2f9d[58]]({where:{id:_0x66fdx4[_0x2f9d[9]][_0x2f9d[48]]},individualHooks:true})[_0x2f9d[38]](function(){return _0x66fdx5[_0x2f9d[43]](204)})[_0x2f9d[28]](function(_0x66fdxe){return handleError(_0x66fdx5,_0x66fdxe)})};function handleError(_0x66fdx5,_0x66fdxe){return _0x66fdx5[_0x2f9d[27]](500)[_0x2f9d[26]](_0x66fdxe)}
\ No newline at end of file
index 4307ad8dfacc8ab0fc45838247ab228dfd593c9d..450d0fbf916e284c14ca5320301c60a90f58d0df 100644 (file)
@@ -1 +1 @@
-var _0x26c0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x65\x74\x72\x69\x63","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6D\x65\x74\x72\x69\x63\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6D\x65\x74\x72\x69\x63\x3A\x72\x65\x6D\x6F\x76\x65"];_0x26c0[0];var Metric=require(_0x26c0[2])[_0x26c0[1]];exports[_0x26c0[3]]=function(_0xdf3dx2){Metric[_0x26c0[4]](function(_0xdf3dx3){onSave(_0xdf3dx2,_0xdf3dx3)});Metric[_0x26c0[5]](function(_0xdf3dx3){onRemove(_0xdf3dx2,_0xdf3dx3)});};function onSave(_0xdf3dx2,_0xdf3dx3,_0xdf3dx5){_0xdf3dx2[_0x26c0[7]](_0x26c0[6],_0xdf3dx3)}function onRemove(_0xdf3dx2,_0xdf3dx3,_0xdf3dx5){_0xdf3dx2[_0x26c0[7]](_0x26c0[8],_0xdf3dx3)}
\ No newline at end of file
+var _0xc167=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x65\x74\x72\x69\x63","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6D\x65\x74\x72\x69\x63\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6D\x65\x74\x72\x69\x63\x3A\x72\x65\x6D\x6F\x76\x65"];_0xc167[0];var Metric=require(_0xc167[2])[_0xc167[1]];exports[_0xc167[3]]=function(_0x5c87x2){Metric[_0xc167[4]](function(_0x5c87x3){onSave(_0x5c87x2,_0x5c87x3)});Metric[_0xc167[5]](function(_0x5c87x3){onRemove(_0x5c87x2,_0x5c87x3)});};function onSave(_0x5c87x2,_0x5c87x3,_0x5c87x5){_0x5c87x2[_0xc167[7]](_0xc167[6],_0x5c87x3)}function onRemove(_0x5c87x2,_0x5c87x3,_0x5c87x5){_0x5c87x2[_0xc167[7]](_0xc167[8],_0x5c87x3)}
\ No newline at end of file
index 4fe69270927fbe2a3064bedd2e086815167cce0d..765fe6b454a468544b5b7d674bdfe37f880e9fcb 100644 (file)
@@ -1 +1 @@
-var _0x6fd7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x73\x2F\x6D\x65\x74\x72\x69\x63\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x73\x2F\x6D\x65\x74\x72\x69\x63\x73","\x67\x65\x74"];_0x6fd7[0];var should=require(_0x6fd7[1]);var app=require(_0x6fd7[2]);var request=require(_0x6fd7[3]);describe(_0x6fd7[4],function(){it(_0x6fd7[5],function(_0x7c85x4){request(app)[_0x6fd7[13]](_0x6fd7[12])[_0x6fd7[11]](200)[_0x6fd7[11]](_0x6fd7[10],/json/)[_0x6fd7[9]](function(_0x7c85x5,_0x7c85x6){if(_0x7c85x5){return _0x7c85x4(_0x7c85x5)};_0x7c85x6[_0x6fd7[8]][_0x6fd7[1]][_0x6fd7[7]][_0x6fd7[6]](Array);_0x7c85x4();})})});
\ No newline at end of file
+var _0xf6b0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x73\x2F\x6D\x65\x74\x72\x69\x63\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x73\x2F\x6D\x65\x74\x72\x69\x63\x73","\x67\x65\x74"];_0xf6b0[0];var should=require(_0xf6b0[1]);var app=require(_0xf6b0[2]);var request=require(_0xf6b0[3]);describe(_0xf6b0[4],function(){it(_0xf6b0[5],function(_0x62c8x4){request(app)[_0xf6b0[13]](_0xf6b0[12])[_0xf6b0[11]](200)[_0xf6b0[11]](_0xf6b0[10],/json/)[_0xf6b0[9]](function(_0x62c8x5,_0x62c8x6){if(_0x62c8x5){return _0x62c8x4(_0x62c8x5)};_0x62c8x6[_0xf6b0[8]][_0xf6b0[1]][_0xf6b0[7]][_0xf6b0[6]](Array);_0x62c8x4();})})});
\ No newline at end of file
index 01df9ba5ac900b1c91f04301e24a9281b7fcc47d..18c572297808aa6d9e9167abca284828ea64de33 100644 (file)
@@ -1 +1 @@
-var _0xabd4=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x6F\x64\x75\x6C\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xabd4[0];var express=require(_0xabd4[1]);var controller=require(_0xabd4[2]);var router=express.Router();router[_0xabd4[5]](_0xabd4[3],controller[_0xabd4[4]]);router[_0xabd4[5]](_0xabd4[6],controller[_0xabd4[7]]);router[_0xabd4[9]](_0xabd4[3],controller[_0xabd4[8]]);router[_0xabd4[11]](_0xabd4[6],controller[_0xabd4[10]]);router[_0xabd4[12]](_0xabd4[6],controller[_0xabd4[10]]);router[_0xabd4[14]](_0xabd4[6],controller[_0xabd4[13]]);module[_0xabd4[15]]=router;
\ No newline at end of file
+var _0x9a82=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x6F\x64\x75\x6C\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x9a82[0];var express=require(_0x9a82[1]);var controller=require(_0x9a82[2]);var router=express.Router();router[_0x9a82[5]](_0x9a82[3],controller[_0x9a82[4]]);router[_0x9a82[5]](_0x9a82[6],controller[_0x9a82[7]]);router[_0x9a82[9]](_0x9a82[3],controller[_0x9a82[8]]);router[_0x9a82[11]](_0x9a82[6],controller[_0x9a82[10]]);router[_0x9a82[12]](_0x9a82[6],controller[_0x9a82[10]]);router[_0x9a82[14]](_0x9a82[6],controller[_0x9a82[13]]);module[_0x9a82[15]]=router;
\ No newline at end of file
index 01021099b461fd1484f61a23c317afb8a35057ee..a5754226f5f0769875867951984079149df3d325 100644 (file)
@@ -1 +1 @@
-var _0x6a8d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x4D\x6F\x64\x75\x6C\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x6a8d[0];var _=require(_0x6a8d[1]);var Module=require(_0x6a8d[3])[_0x6a8d[2]];exports[_0x6a8d[4]]=function(_0x8338x3,_0x8338x4){Module[_0x6a8d[9]]()[_0x6a8d[8]](function(_0x8338x6){return _0x8338x4[_0x6a8d[7]](200)[_0x6a8d[6]](_0x8338x6)})[_0x6a8d[5]](function(_0x8338x5){return handleError(_0x8338x4,_0x8338x5)})};exports[_0x6a8d[10]]=function(_0x8338x3,_0x8338x4){var _0x8338x7=_0x8338x3[_0x6a8d[12]][_0x6a8d[11]];Module[_0x6a8d[14]](_0x8338x7)[_0x6a8d[8]](function(_0x8338x8){if(!_0x8338x8){return _0x8338x4[_0x6a8d[13]](404)};return _0x8338x4[_0x6a8d[6]](_0x8338x8);})[_0x6a8d[5]](function(_0x8338x5){return handleError(_0x8338x4,_0x8338x5)});};exports[_0x6a8d[15]]=function(_0x8338x3,_0x8338x4){Module[_0x6a8d[15]](_0x8338x3[_0x6a8d[16]])[_0x6a8d[8]](function(_0x8338x8){return _0x8338x4[_0x6a8d[7]](201)[_0x6a8d[6]](_0x8338x8)})[_0x6a8d[5]](function(_0x8338x5){return handleError(_0x8338x4,_0x8338x5)})};exports[_0x6a8d[17]]=function(_0x8338x3,_0x8338x4){var _0x8338x7=_0x8338x3[_0x6a8d[16]][_0x6a8d[11]];if(_0x8338x3[_0x6a8d[16]][_0x6a8d[11]]){delete _0x8338x3[_0x6a8d[16]][_0x6a8d[11]]};Module[_0x6a8d[14]](_0x8338x7)[_0x6a8d[8]](function(_0x8338x8){if(!_0x8338x8){return _0x8338x4[_0x6a8d[13]](404)};var _0x8338x9=_[_0x6a8d[18]](_0x8338x8,_0x8338x3[_0x6a8d[16]]);_0x8338x9[_0x6a8d[19]]()[_0x6a8d[8]](function(){return _0x8338x4[_0x6a8d[7]](200)[_0x6a8d[6]](_0x8338x8)})[_0x6a8d[5]](function(_0x8338x5){return handleError(_0x8338x4,_0x8338x5)});})[_0x6a8d[5]](function(_0x8338x5){return handleError(_0x8338x4,_0x8338x5)});};exports[_0x6a8d[20]]=function(_0x8338x3,_0x8338x4){var _0x8338x7=_0x8338x3[_0x6a8d[12]][_0x6a8d[11]];Module[_0x6a8d[14]](_0x8338x7)[_0x6a8d[8]](function(_0x8338x8){if(!_0x8338x8){return _0x8338x4[_0x6a8d[13]](404)};_0x8338x8[_0x6a8d[20]]()[_0x6a8d[8]](function(){return _0x8338x4[_0x6a8d[13]](204)})[_0x6a8d[5]](function(_0x8338x5){return handleError(_0x8338x4,_0x8338x5)});})[_0x6a8d[5]](function(_0x8338x5){return handleError(_0x8338x4,_0x8338x5)});};function handleError(_0x8338x4,_0x8338x5){return _0x8338x4[_0x6a8d[7]](500)[_0x6a8d[6]](_0x8338x5)}
\ No newline at end of file
+var _0x76d5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x4D\x6F\x64\x75\x6C\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x76d5[0];var _=require(_0x76d5[1]);var Module=require(_0x76d5[3])[_0x76d5[2]];exports[_0x76d5[4]]=function(_0xd40bx3,_0xd40bx4){Module[_0x76d5[9]]()[_0x76d5[8]](function(_0xd40bx6){return _0xd40bx4[_0x76d5[7]](200)[_0x76d5[6]](_0xd40bx6)})[_0x76d5[5]](function(_0xd40bx5){return handleError(_0xd40bx4,_0xd40bx5)})};exports[_0x76d5[10]]=function(_0xd40bx3,_0xd40bx4){var _0xd40bx7=_0xd40bx3[_0x76d5[12]][_0x76d5[11]];Module[_0x76d5[14]](_0xd40bx7)[_0x76d5[8]](function(_0xd40bx8){if(!_0xd40bx8){return _0xd40bx4[_0x76d5[13]](404)};return _0xd40bx4[_0x76d5[6]](_0xd40bx8);})[_0x76d5[5]](function(_0xd40bx5){return handleError(_0xd40bx4,_0xd40bx5)});};exports[_0x76d5[15]]=function(_0xd40bx3,_0xd40bx4){Module[_0x76d5[15]](_0xd40bx3[_0x76d5[16]])[_0x76d5[8]](function(_0xd40bx8){return _0xd40bx4[_0x76d5[7]](201)[_0x76d5[6]](_0xd40bx8)})[_0x76d5[5]](function(_0xd40bx5){return handleError(_0xd40bx4,_0xd40bx5)})};exports[_0x76d5[17]]=function(_0xd40bx3,_0xd40bx4){var _0xd40bx7=_0xd40bx3[_0x76d5[16]][_0x76d5[11]];if(_0xd40bx3[_0x76d5[16]][_0x76d5[11]]){delete _0xd40bx3[_0x76d5[16]][_0x76d5[11]]};Module[_0x76d5[14]](_0xd40bx7)[_0x76d5[8]](function(_0xd40bx8){if(!_0xd40bx8){return _0xd40bx4[_0x76d5[13]](404)};var _0xd40bx9=_[_0x76d5[18]](_0xd40bx8,_0xd40bx3[_0x76d5[16]]);_0xd40bx9[_0x76d5[19]]()[_0x76d5[8]](function(){return _0xd40bx4[_0x76d5[7]](200)[_0x76d5[6]](_0xd40bx8)})[_0x76d5[5]](function(_0xd40bx5){return handleError(_0xd40bx4,_0xd40bx5)});})[_0x76d5[5]](function(_0xd40bx5){return handleError(_0xd40bx4,_0xd40bx5)});};exports[_0x76d5[20]]=function(_0xd40bx3,_0xd40bx4){var _0xd40bx7=_0xd40bx3[_0x76d5[12]][_0x76d5[11]];Module[_0x76d5[14]](_0xd40bx7)[_0x76d5[8]](function(_0xd40bx8){if(!_0xd40bx8){return _0xd40bx4[_0x76d5[13]](404)};_0xd40bx8[_0x76d5[20]]()[_0x76d5[8]](function(){return _0xd40bx4[_0x76d5[13]](204)})[_0x76d5[5]](function(_0xd40bx5){return handleError(_0xd40bx4,_0xd40bx5)});})[_0x76d5[5]](function(_0xd40bx5){return handleError(_0xd40bx4,_0xd40bx5)});};function handleError(_0xd40bx4,_0xd40bx5){return _0xd40bx4[_0x76d5[7]](500)[_0x76d5[6]](_0xd40bx5)}
\ No newline at end of file
index 506e357f041c60447dd421a3e1b7543e587048a9..9a5e1ad636a343be5421f91bbe049d63be68571e 100644 (file)
@@ -1 +1 @@
-var _0x28e8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x6F\x64\x75\x6C\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6D\x6F\x64\x75\x6C\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6D\x6F\x64\x75\x6C\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0x28e8[0];var module=require(_0x28e8[2])[_0x28e8[1]];exports[_0x28e8[3]]=function(_0x4175x2){module[_0x28e8[4]](function(_0x4175x3){onSave(_0x4175x2,_0x4175x3)});module[_0x28e8[5]](function(_0x4175x3){onRemove(_0x4175x2,_0x4175x3)});};function onSave(_0x4175x2,_0x4175x3,_0x4175x5){_0x4175x2[_0x28e8[7]](_0x28e8[6],_0x4175x3)}function onRemove(_0x4175x2,_0x4175x3,_0x4175x5){_0x4175x2[_0x28e8[7]](_0x28e8[8],_0x4175x3)}
\ No newline at end of file
+var _0xe4df=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x6F\x64\x75\x6C\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6D\x6F\x64\x75\x6C\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6D\x6F\x64\x75\x6C\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0xe4df[0];var module=require(_0xe4df[2])[_0xe4df[1]];exports[_0xe4df[3]]=function(_0x33fax2){module[_0xe4df[4]](function(_0x33fax3){onSave(_0x33fax2,_0x33fax3)});module[_0xe4df[5]](function(_0x33fax3){onRemove(_0x33fax2,_0x33fax3)});};function onSave(_0x33fax2,_0x33fax3,_0x33fax5){_0x33fax2[_0xe4df[7]](_0xe4df[6],_0x33fax3)}function onRemove(_0x33fax2,_0x33fax3,_0x33fax5){_0x33fax2[_0xe4df[7]](_0xe4df[8],_0x33fax3)}
\ No newline at end of file
index 4ad8b90cae59684beacf6704f3c0c85a37ea2233..299a094f2e9a434f095c59faad4052e95f7d8221 100644 (file)
@@ -1 +1 @@
-var _0x2cd4=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x6D\x6F\x64\x75\x6C\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x6D\x6F\x64\x75\x6C\x65\x73","\x67\x65\x74"];_0x2cd4[0];var should=require(_0x2cd4[1]);var app=require(_0x2cd4[2]);var request=require(_0x2cd4[3]);describe(_0x2cd4[4],function(){it(_0x2cd4[5],function(_0xbc75x4){request(app)[_0x2cd4[13]](_0x2cd4[12])[_0x2cd4[11]](200)[_0x2cd4[11]](_0x2cd4[10],/json/)[_0x2cd4[9]](function(_0xbc75x5,_0xbc75x6){if(_0xbc75x5){return _0xbc75x4(_0xbc75x5)};_0xbc75x6[_0x2cd4[8]][_0x2cd4[1]][_0x2cd4[7]][_0x2cd4[6]](Array);_0xbc75x4();})})});
\ No newline at end of file
+var _0x4bf9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x6D\x6F\x64\x75\x6C\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x6D\x6F\x64\x75\x6C\x65\x73","\x67\x65\x74"];_0x4bf9[0];var should=require(_0x4bf9[1]);var app=require(_0x4bf9[2]);var request=require(_0x4bf9[3]);describe(_0x4bf9[4],function(){it(_0x4bf9[5],function(_0x8193x4){request(app)[_0x4bf9[13]](_0x4bf9[12])[_0x4bf9[11]](200)[_0x4bf9[11]](_0x4bf9[10],/json/)[_0x4bf9[9]](function(_0x8193x5,_0x8193x6){if(_0x8193x5){return _0x8193x4(_0x8193x5)};_0x8193x6[_0x4bf9[8]][_0x4bf9[1]][_0x4bf9[7]][_0x4bf9[6]](Array);_0x8193x4();})})});
\ No newline at end of file
index 479920265e5cd00cbadd95be8544fee9790fa4a7..c8c87e9e4b499d5fc83565256e5ae49192adaba0 100644 (file)
@@ -1 +1 @@
-var _0xe0f0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x73\x65\x74\x74\x69\x6E\x67\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x67\x65\x74","\x2F","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xe0f0[0];var express=require(_0xe0f0[1]);var controller=require(_0xe0f0[2]);var router=express.Router();router[_0xe0f0[5]](_0xe0f0[3],controller[_0xe0f0[4]]);router[_0xe0f0[8]](_0xe0f0[6],controller[_0xe0f0[7]]);router[_0xe0f0[10]](_0xe0f0[3],controller[_0xe0f0[9]]);router[_0xe0f0[11]](_0xe0f0[3],controller[_0xe0f0[9]]);router[_0xe0f0[13]](_0xe0f0[3],controller[_0xe0f0[12]]);module[_0xe0f0[14]]=router;
\ No newline at end of file
+var _0x4d35=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x73\x65\x74\x74\x69\x6E\x67\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x67\x65\x74","\x2F","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x4d35[0];var express=require(_0x4d35[1]);var controller=require(_0x4d35[2]);var router=express.Router();router[_0x4d35[5]](_0x4d35[3],controller[_0x4d35[4]]);router[_0x4d35[8]](_0x4d35[6],controller[_0x4d35[7]]);router[_0x4d35[10]](_0x4d35[3],controller[_0x4d35[9]]);router[_0x4d35[11]](_0x4d35[3],controller[_0x4d35[9]]);router[_0x4d35[13]](_0x4d35[3],controller[_0x4d35[12]]);module[_0x4d35[14]]=router;
\ No newline at end of file
index 02a90626d9cfe7d07cccae416cb1462c35df3ac6..0617b15c9a6a708063c75c0f013f86f5bf71794a 100644 (file)
@@ -1 +1 @@
-var _0x7604=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x63\x72\x79\x70\x74\x6F","\x53\x65\x74\x74\x69\x6E\x67","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x6C\x69\x63\x65\x6E\x73\x65","\x61\x65\x73\x2D\x32\x35\x36\x2D\x63\x74\x72","\x25\x73\x3A\x25\x73\x3A\x25\x73","\x61\x64\x64\x72\x65\x73\x73","\x6E\x65\x74\x6D\x61\x73\x6B","\x6D\x61\x63","\x66\x6F\x72\x6D\x61\x74","\x70\x61\x72\x73\x65","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x63\x72\x65\x61\x74\x65\x44\x65\x63\x69\x70\x68\x65\x72","\x68\x65\x78","\x75\x74\x66\x38","\x66\x69\x6E\x61\x6C"];_0x7604[0];var _=require(_0x7604[1]);var util=require(_0x7604[2]);var crypto=require(_0x7604[3]);var Setting=require(_0x7604[5])[_0x7604[4]];exports[_0x7604[6]]=function(_0x4ddax5,_0x4ddax6){Setting[_0x7604[11]]()[_0x7604[10]](function(_0x4ddax8){return _0x4ddax6[_0x7604[9]](200)[_0x7604[8]](_0x4ddax8)})[_0x7604[7]](function(_0x4ddax7){return handleError(_0x4ddax6,_0x4ddax7)})};exports[_0x7604[12]]=function(_0x4ddax5,_0x4ddax6){Setting[_0x7604[24]](_0x4ddax5[_0x7604[23]][_0x7604[22]])[_0x7604[10]](function(_0x4ddax9){if(!_0x4ddax9){return _0x4ddax6[_0x7604[13]](404)};if(_0x4ddax9[_0x7604[14]]){_0x4ddax9[_0x7604[14]]=decrypt(_0x7604[15],util[_0x7604[20]](_0x7604[16],_0x4ddax9[_0x7604[17]],_0x4ddax9[_0x7604[18]],_0x4ddax9[_0x7604[19]]),_0x4ddax9[_0x7604[14]]);_0x4ddax9[_0x7604[14]]=JSON[_0x7604[21]](_0x4ddax9[_0x7604[14]]);};return _0x4ddax6[_0x7604[8]](_0x4ddax9);})[_0x7604[7]](function(_0x4ddax7){return handleError(_0x4ddax6,_0x4ddax7)})};exports[_0x7604[25]]=function(_0x4ddax5,_0x4ddax6){Setting[_0x7604[25]](_0x4ddax5[_0x7604[26]])[_0x7604[10]](function(_0x4ddax9){return _0x4ddax6[_0x7604[9]](201)[_0x7604[8]](_0x4ddax9)})[_0x7604[7]](function(_0x4ddax7){return handleError(_0x4ddax6,_0x4ddax7)})};exports[_0x7604[27]]=function(_0x4ddax5,_0x4ddax6){if(_0x4ddax5[_0x7604[26]][_0x7604[22]]){delete _0x4ddax5[_0x7604[26]][_0x7604[22]]};Setting[_0x7604[24]](_0x4ddax5[_0x7604[23]][_0x7604[22]])[_0x7604[10]](function(_0x4ddax9){if(!_0x4ddax9){return _0x4ddax6[_0x7604[13]](404)};var _0x4ddaxa=_[_0x7604[28]](_0x4ddax9,_0x4ddax5[_0x7604[26]]);_0x4ddaxa[_0x7604[29]]()[_0x7604[10]](function(){return _0x4ddax6[_0x7604[9]](200)[_0x7604[8]](_0x4ddax9)})[_0x7604[7]](function(_0x4ddax7){return handleError(_0x4ddax6,_0x4ddax7)});})[_0x7604[7]](function(_0x4ddax7){return handleError(_0x4ddax6,_0x4ddax7)});};exports[_0x7604[30]]=function(_0x4ddax5,_0x4ddax6){Setting[_0x7604[24]](_0x4ddax5[_0x7604[23]][_0x7604[22]])[_0x7604[10]](function(_0x4ddax9){if(!_0x4ddax9){return _0x4ddax6[_0x7604[13]](404)};_0x4ddax9[_0x7604[30]]()[_0x7604[10]](function(){return _0x4ddax6[_0x7604[13]](204)})[_0x7604[7]](function(_0x4ddax7){return handleError(_0x4ddax6,_0x4ddax7)});})[_0x7604[7]](function(_0x4ddax7){return handleError(_0x4ddax6,_0x4ddax7)})};function handleError(_0x4ddax6,_0x4ddax7){return _0x4ddax6[_0x7604[9]](500)[_0x7604[8]](_0x4ddax7)}function decrypt(_0x4ddaxd,_0x4ddaxe,_0x4ddaxf){var _0x4ddax10=crypto[_0x7604[31]](_0x4ddaxd,_0x4ddaxe);var _0x4ddax11=_0x4ddax10[_0x7604[27]](_0x4ddaxf,_0x7604[32],_0x7604[33]);_0x4ddax11+=_0x4ddax10[_0x7604[34]](_0x7604[33]);return _0x4ddax11;}
\ No newline at end of file
+var _0x5ca3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x63\x72\x79\x70\x74\x6F","\x53\x65\x74\x74\x69\x6E\x67","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x6C\x69\x63\x65\x6E\x73\x65","\x61\x65\x73\x2D\x32\x35\x36\x2D\x63\x74\x72","\x25\x73\x3A\x25\x73\x3A\x25\x73","\x61\x64\x64\x72\x65\x73\x73","\x6E\x65\x74\x6D\x61\x73\x6B","\x6D\x61\x63","\x66\x6F\x72\x6D\x61\x74","\x70\x61\x72\x73\x65","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x63\x72\x65\x61\x74\x65\x44\x65\x63\x69\x70\x68\x65\x72","\x68\x65\x78","\x75\x74\x66\x38","\x66\x69\x6E\x61\x6C"];_0x5ca3[0];var _=require(_0x5ca3[1]);var util=require(_0x5ca3[2]);var crypto=require(_0x5ca3[3]);var Setting=require(_0x5ca3[5])[_0x5ca3[4]];exports[_0x5ca3[6]]=function(_0x2db3x5,_0x2db3x6){Setting[_0x5ca3[11]]()[_0x5ca3[10]](function(_0x2db3x8){return _0x2db3x6[_0x5ca3[9]](200)[_0x5ca3[8]](_0x2db3x8)})[_0x5ca3[7]](function(_0x2db3x7){return handleError(_0x2db3x6,_0x2db3x7)})};exports[_0x5ca3[12]]=function(_0x2db3x5,_0x2db3x6){Setting[_0x5ca3[24]](_0x2db3x5[_0x5ca3[23]][_0x5ca3[22]])[_0x5ca3[10]](function(_0x2db3x9){if(!_0x2db3x9){return _0x2db3x6[_0x5ca3[13]](404)};if(_0x2db3x9[_0x5ca3[14]]){_0x2db3x9[_0x5ca3[14]]=decrypt(_0x5ca3[15],util[_0x5ca3[20]](_0x5ca3[16],_0x2db3x9[_0x5ca3[17]],_0x2db3x9[_0x5ca3[18]],_0x2db3x9[_0x5ca3[19]]),_0x2db3x9[_0x5ca3[14]]);_0x2db3x9[_0x5ca3[14]]=JSON[_0x5ca3[21]](_0x2db3x9[_0x5ca3[14]]);};return _0x2db3x6[_0x5ca3[8]](_0x2db3x9);})[_0x5ca3[7]](function(_0x2db3x7){return handleError(_0x2db3x6,_0x2db3x7)})};exports[_0x5ca3[25]]=function(_0x2db3x5,_0x2db3x6){Setting[_0x5ca3[25]](_0x2db3x5[_0x5ca3[26]])[_0x5ca3[10]](function(_0x2db3x9){return _0x2db3x6[_0x5ca3[9]](201)[_0x5ca3[8]](_0x2db3x9)})[_0x5ca3[7]](function(_0x2db3x7){return handleError(_0x2db3x6,_0x2db3x7)})};exports[_0x5ca3[27]]=function(_0x2db3x5,_0x2db3x6){if(_0x2db3x5[_0x5ca3[26]][_0x5ca3[22]]){delete _0x2db3x5[_0x5ca3[26]][_0x5ca3[22]]};Setting[_0x5ca3[24]](_0x2db3x5[_0x5ca3[23]][_0x5ca3[22]])[_0x5ca3[10]](function(_0x2db3x9){if(!_0x2db3x9){return _0x2db3x6[_0x5ca3[13]](404)};var _0x2db3xa=_[_0x5ca3[28]](_0x2db3x9,_0x2db3x5[_0x5ca3[26]]);_0x2db3xa[_0x5ca3[29]]()[_0x5ca3[10]](function(){return _0x2db3x6[_0x5ca3[9]](200)[_0x5ca3[8]](_0x2db3x9)})[_0x5ca3[7]](function(_0x2db3x7){return handleError(_0x2db3x6,_0x2db3x7)});})[_0x5ca3[7]](function(_0x2db3x7){return handleError(_0x2db3x6,_0x2db3x7)});};exports[_0x5ca3[30]]=function(_0x2db3x5,_0x2db3x6){Setting[_0x5ca3[24]](_0x2db3x5[_0x5ca3[23]][_0x5ca3[22]])[_0x5ca3[10]](function(_0x2db3x9){if(!_0x2db3x9){return _0x2db3x6[_0x5ca3[13]](404)};_0x2db3x9[_0x5ca3[30]]()[_0x5ca3[10]](function(){return _0x2db3x6[_0x5ca3[13]](204)})[_0x5ca3[7]](function(_0x2db3x7){return handleError(_0x2db3x6,_0x2db3x7)});})[_0x5ca3[7]](function(_0x2db3x7){return handleError(_0x2db3x6,_0x2db3x7)})};function handleError(_0x2db3x6,_0x2db3x7){return _0x2db3x6[_0x5ca3[9]](500)[_0x5ca3[8]](_0x2db3x7)}function decrypt(_0x2db3xd,_0x2db3xe,_0x2db3xf){var _0x2db3x10=crypto[_0x5ca3[31]](_0x2db3xd,_0x2db3xe);var _0x2db3x11=_0x2db3x10[_0x5ca3[27]](_0x2db3xf,_0x5ca3[32],_0x5ca3[33]);_0x2db3x11+=_0x2db3x10[_0x5ca3[34]](_0x5ca3[33]);return _0x2db3x11;}
\ No newline at end of file
index 5d7a98c9bfa46b8db25433141ea4d85b5605df97..8c0c69eb7573d34626429e2d81604c79fb0dd023 100644 (file)
@@ -1 +1 @@
-var _0x2b58=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x53\x65\x74\x74\x69\x6E\x67","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x73\x65\x74\x74\x69\x6E\x67\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x73\x65\x74\x74\x69\x6E\x67\x3A\x72\x65\x6D\x6F\x76\x65"];_0x2b58[0];var Setting=require(_0x2b58[2])[_0x2b58[1]];exports[_0x2b58[3]]=function(_0x1f0fx2){Setting[_0x2b58[4]](function(_0x1f0fx3){onSave(_0x1f0fx2,_0x1f0fx3)});Setting[_0x2b58[5]](function(_0x1f0fx3){onRemove(_0x1f0fx2,_0x1f0fx3)});};function onSave(_0x1f0fx2,_0x1f0fx3,_0x1f0fx5){_0x1f0fx2[_0x2b58[7]](_0x2b58[6],_0x1f0fx3)}function onRemove(_0x1f0fx2,_0x1f0fx3,_0x1f0fx5){_0x1f0fx2[_0x2b58[7]](_0x2b58[8],_0x1f0fx3)}
\ No newline at end of file
+var _0x4cca=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x53\x65\x74\x74\x69\x6E\x67","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x73\x65\x74\x74\x69\x6E\x67\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x73\x65\x74\x74\x69\x6E\x67\x3A\x72\x65\x6D\x6F\x76\x65"];_0x4cca[0];var Setting=require(_0x4cca[2])[_0x4cca[1]];exports[_0x4cca[3]]=function(_0xe9d8x2){Setting[_0x4cca[4]](function(_0xe9d8x3){onSave(_0xe9d8x2,_0xe9d8x3)});Setting[_0x4cca[5]](function(_0xe9d8x3){onRemove(_0xe9d8x2,_0xe9d8x3)});};function onSave(_0xe9d8x2,_0xe9d8x3,_0xe9d8x5){_0xe9d8x2[_0x4cca[7]](_0x4cca[6],_0xe9d8x3)}function onRemove(_0xe9d8x2,_0xe9d8x3,_0xe9d8x5){_0xe9d8x2[_0x4cca[7]](_0x4cca[8],_0xe9d8x3)}
\ No newline at end of file
index 7b894f9d562de7b41773784ac0bf94721772368f..b6f66dd0af14036f6a6bdfc7b81f0a3449a6b27e 100644 (file)
@@ -1 +1 @@
-var _0x1fed=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x65\x74\x74\x69\x6E\x67\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x73\x65\x74\x74\x69\x6E\x67\x73","\x67\x65\x74"];_0x1fed[0];var should=require(_0x1fed[1]);var app=require(_0x1fed[2]);var request=require(_0x1fed[3]);describe(_0x1fed[4],function(){it(_0x1fed[5],function(_0xe5bbx4){request(app)[_0x1fed[13]](_0x1fed[12])[_0x1fed[11]](200)[_0x1fed[11]](_0x1fed[10],/json/)[_0x1fed[9]](function(_0xe5bbx5,_0xe5bbx6){if(_0xe5bbx5){return _0xe5bbx4(_0xe5bbx5)};_0xe5bbx6[_0x1fed[8]][_0x1fed[1]][_0x1fed[7]][_0x1fed[6]](Array);_0xe5bbx4();})})});
\ No newline at end of file
+var _0x22de=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x65\x74\x74\x69\x6E\x67\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x73\x65\x74\x74\x69\x6E\x67\x73","\x67\x65\x74"];_0x22de[0];var should=require(_0x22de[1]);var app=require(_0x22de[2]);var request=require(_0x22de[3]);describe(_0x22de[4],function(){it(_0x22de[5],function(_0xf871x4){request(app)[_0x22de[13]](_0x22de[12])[_0x22de[11]](200)[_0x22de[11]](_0x22de[10],/json/)[_0x22de[9]](function(_0xf871x5,_0xf871x6){if(_0xf871x5){return _0xf871x4(_0xf871x5)};_0xf871x6[_0x22de[8]][_0x22de[1]][_0x22de[7]][_0x22de[6]](Array);_0xf871x4();})})});
\ No newline at end of file
index 0f981c7309dc755e1b36df719756ef154616901f..aa7dac817a0261c6ccf1a1fe60921d3f43dca691 100644 (file)
@@ -1 +1 @@
-var _0x8de8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F\x3A\x61\x63\x74\x69\x6F\x6E\x2F\x3A\x73\x74\x61\x74\x65","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x63\x74\x69\x6F\x6E","\x67\x65\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x8de8[0];var express=require(_0x8de8[1]);var controller=require(_0x8de8[2]);var auth=require(_0x8de8[3]);var router=express.Router();router[_0x8de8[7]](_0x8de8[4],auth[_0x8de8[5]](),controller[_0x8de8[6]]);module[_0x8de8[8]]=router;
\ No newline at end of file
+var _0xc364=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F\x3A\x61\x63\x74\x69\x6F\x6E\x2F\x3A\x73\x74\x61\x74\x65","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x63\x74\x69\x6F\x6E","\x67\x65\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xc364[0];var express=require(_0xc364[1]);var controller=require(_0xc364[2]);var auth=require(_0xc364[3]);var router=express.Router();router[_0xc364[7]](_0xc364[4],auth[_0xc364[5]](),controller[_0xc364[6]]);module[_0xc364[8]]=router;
\ No newline at end of file
index e15960e833d3ebb8b9009c7462b8bc3b0a547ad7..b60471d32139281fec7791cd5b90d75fe5c18e8c 100644 (file)
@@ -1 +1 @@
-var _0x4ab8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x4D\x6F\x74\x69\x6F\x6E\x62\x61\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x61\x63\x74\x69\x6F\x6E","\x75\x73\x65\x72\x49\x64","\x71\x75\x65\x72\x79","\x55\x73\x65\x20\x75\x73\x65\x72\x49\x64","\x55\x73\x65\x72\x49\x64","\x62\x6F\x64\x79","\x70\x61\x72\x61\x6D\x73","\x73\x74\x61\x74\x65","\x41\x64\x6D\x69\x6E\x49\x64","\x69\x64","\x75\x73\x65\x72","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x63\x72\x65\x61\x74\x65"];_0x4ab8[0];var _=require(_0x4ab8[1]);var Motionbar=require(_0x4ab8[3])[_0x4ab8[2]];exports[_0x4ab8[4]]=function(_0x694cx3,_0x694cx4){if(!_0x694cx3[_0x4ab8[6]][_0x4ab8[5]]){return handleError(_0x694cx4,{message:_0x4ab8[7]})};_0x694cx3[_0x4ab8[9]][_0x4ab8[8]]=parseInt(_0x694cx3[_0x4ab8[6]][_0x4ab8[5]],10);_0x694cx3[_0x4ab8[9]][_0x4ab8[4]]=_0x694cx3[_0x4ab8[10]][_0x4ab8[4]];_0x694cx3[_0x4ab8[9]][_0x4ab8[11]]=_0x694cx3[_0x4ab8[10]][_0x4ab8[11]];_0x694cx3[_0x4ab8[9]][_0x4ab8[12]]=_0x694cx3[_0x4ab8[14]][_0x4ab8[13]];Motionbar[_0x4ab8[19]](_0x694cx3[_0x4ab8[9]])[_0x4ab8[18]](function(_0x694cx6){return _0x694cx4[_0x4ab8[17]](201)[_0x4ab8[16]](_0x694cx6)})[_0x4ab8[15]](function(_0x694cx5){return handleError(_0x694cx4,_0x694cx5)});};function handleError(_0x694cx4,_0x694cx5){return _0x694cx4[_0x4ab8[17]](500)[_0x4ab8[16]](_0x694cx5)}
\ No newline at end of file
+var _0x76f7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x4D\x6F\x74\x69\x6F\x6E\x62\x61\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x61\x63\x74\x69\x6F\x6E","\x75\x73\x65\x72\x49\x64","\x71\x75\x65\x72\x79","\x55\x73\x65\x20\x75\x73\x65\x72\x49\x64","\x55\x73\x65\x72\x49\x64","\x62\x6F\x64\x79","\x70\x61\x72\x61\x6D\x73","\x73\x74\x61\x74\x65","\x41\x64\x6D\x69\x6E\x49\x64","\x69\x64","\x75\x73\x65\x72","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x63\x72\x65\x61\x74\x65"];_0x76f7[0];var _=require(_0x76f7[1]);var Motionbar=require(_0x76f7[3])[_0x76f7[2]];exports[_0x76f7[4]]=function(_0xb128x3,_0xb128x4){if(!_0xb128x3[_0x76f7[6]][_0x76f7[5]]){return handleError(_0xb128x4,{message:_0x76f7[7]})};_0xb128x3[_0x76f7[9]][_0x76f7[8]]=parseInt(_0xb128x3[_0x76f7[6]][_0x76f7[5]],10);_0xb128x3[_0x76f7[9]][_0x76f7[4]]=_0xb128x3[_0x76f7[10]][_0x76f7[4]];_0xb128x3[_0x76f7[9]][_0x76f7[11]]=_0xb128x3[_0x76f7[10]][_0x76f7[11]];_0xb128x3[_0x76f7[9]][_0x76f7[12]]=_0xb128x3[_0x76f7[14]][_0x76f7[13]];Motionbar[_0x76f7[19]](_0xb128x3[_0x76f7[9]])[_0x76f7[18]](function(_0xb128x6){return _0xb128x4[_0x76f7[17]](201)[_0x76f7[16]](_0xb128x6)})[_0x76f7[15]](function(_0xb128x5){return handleError(_0xb128x4,_0xb128x5)});};function handleError(_0xb128x4,_0xb128x5){return _0xb128x4[_0x76f7[17]](500)[_0x76f7[16]](_0xb128x5)}
\ No newline at end of file
index a6b0837d845a2fb82705c821b04c433165a56fff..b1feaf2b103c6607e23d648783c88d6f46c659cc 100644 (file)
@@ -1 +1 @@
-var _0x156d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x6F\x74\x69\x6F\x6E\x62\x61\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x75\x73\x65\x72\x49\x64","\x55\x73\x65\x72\x49\x64","\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72\x3A\x72\x65\x6D\x6F\x76\x65"];_0x156d[0];var Motionbar=require(_0x156d[2])[_0x156d[1]];exports[_0x156d[3]]=function(_0x9ac6x2){Motionbar[_0x156d[4]](function(_0x9ac6x3){onSave(_0x9ac6x2,_0x9ac6x3)});Motionbar[_0x156d[5]](function(_0x9ac6x3){onRemove(_0x9ac6x2,_0x9ac6x3)});};function onSave(_0x9ac6x2,_0x9ac6x3,_0x9ac6x5){if(_0x9ac6x2[_0x156d[6]]==_0x9ac6x3[_0x156d[7]]){_0x9ac6x2[_0x156d[9]](_0x156d[8],_0x9ac6x3)}}function onRemove(_0x9ac6x2,_0x9ac6x3,_0x9ac6x5){_0x9ac6x2[_0x156d[9]](_0x156d[10],_0x9ac6x3)}
\ No newline at end of file
+var _0x805c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x6F\x74\x69\x6F\x6E\x62\x61\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x75\x73\x65\x72\x49\x64","\x55\x73\x65\x72\x49\x64","\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72\x3A\x72\x65\x6D\x6F\x76\x65"];_0x805c[0];var Motionbar=require(_0x805c[2])[_0x805c[1]];exports[_0x805c[3]]=function(_0x4219x2){Motionbar[_0x805c[4]](function(_0x4219x3){onSave(_0x4219x2,_0x4219x3)});Motionbar[_0x805c[5]](function(_0x4219x3){onRemove(_0x4219x2,_0x4219x3)});};function onSave(_0x4219x2,_0x4219x3,_0x4219x5){if(_0x4219x2[_0x805c[6]]==_0x4219x3[_0x805c[7]]){_0x4219x2[_0x805c[9]](_0x805c[8],_0x4219x3)}}function onRemove(_0x4219x2,_0x4219x3,_0x4219x5){_0x4219x2[_0x805c[9]](_0x805c[10],_0x4219x3)}
\ No newline at end of file
index 83400fafb5905674886a5bb6c09ff8b6cbedd3d5..578d279d757a59f7a149edf6f55ce6266477cc68 100644 (file)
@@ -1 +1 @@
-var _0xb0bb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72","\x67\x65\x74"];_0xb0bb[0];var should=require(_0xb0bb[1]);var app=require(_0xb0bb[2]);var request=require(_0xb0bb[3]);describe(_0xb0bb[4],function(){it(_0xb0bb[5],function(_0xcae7x4){request(app)[_0xb0bb[13]](_0xb0bb[12])[_0xb0bb[11]](200)[_0xb0bb[11]](_0xb0bb[10],/json/)[_0xb0bb[9]](function(_0xcae7x5,_0xcae7x6){if(_0xcae7x5){return _0xcae7x4(_0xcae7x5)};_0xcae7x6[_0xb0bb[8]][_0xb0bb[1]][_0xb0bb[7]][_0xb0bb[6]](Array);_0xcae7x4();})})});
\ No newline at end of file
+var _0x9cec=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72","\x67\x65\x74"];_0x9cec[0];var should=require(_0x9cec[1]);var app=require(_0x9cec[2]);var request=require(_0x9cec[3]);describe(_0x9cec[4],function(){it(_0x9cec[5],function(_0x6ce3x4){request(app)[_0x9cec[13]](_0x9cec[12])[_0x9cec[11]](200)[_0x9cec[11]](_0x9cec[10],/json/)[_0x9cec[9]](function(_0x6ce3x5,_0x6ce3x6){if(_0x6ce3x5){return _0x6ce3x4(_0x6ce3x5)};_0x6ce3x6[_0x9cec[8]][_0x9cec[1]][_0x9cec[7]][_0x9cec[6]](Array);_0x6ce3x4();})})});
\ No newline at end of file
index 9adf85281d89e1637fc0640188b43fdb319cfa4b..e960c106dbe7eccc5d8b2354ff34ea3b350b080e 100644 (file)
@@ -1 +1 @@
-var _0xe2df=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xe2df[0];var express=require(_0xe2df[1]);var controller=require(_0xe2df[2]);var router=express.Router();router[_0xe2df[5]](_0xe2df[3],controller[_0xe2df[4]]);router[_0xe2df[5]](_0xe2df[6],controller[_0xe2df[7]]);router[_0xe2df[5]](_0xe2df[8],controller[_0xe2df[9]]);router[_0xe2df[11]](_0xe2df[3],controller[_0xe2df[10]]);router[_0xe2df[13]](_0xe2df[8],controller[_0xe2df[12]]);router[_0xe2df[14]](_0xe2df[8],controller[_0xe2df[12]]);router[_0xe2df[16]](_0xe2df[8],controller[_0xe2df[15]]);module[_0xe2df[17]]=router;
\ No newline at end of file
+var _0x5e9c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x5e9c[0];var express=require(_0x5e9c[1]);var controller=require(_0x5e9c[2]);var router=express.Router();router[_0x5e9c[5]](_0x5e9c[3],controller[_0x5e9c[4]]);router[_0x5e9c[5]](_0x5e9c[6],controller[_0x5e9c[7]]);router[_0x5e9c[5]](_0x5e9c[8],controller[_0x5e9c[9]]);router[_0x5e9c[11]](_0x5e9c[3],controller[_0x5e9c[10]]);router[_0x5e9c[13]](_0x5e9c[8],controller[_0x5e9c[12]]);router[_0x5e9c[14]](_0x5e9c[8],controller[_0x5e9c[12]]);router[_0x5e9c[16]](_0x5e9c[8],controller[_0x5e9c[15]]);module[_0x5e9c[17]]=router;
\ No newline at end of file
index f240be26ecbd26d2ec7ad3298ea7330aed724dee..6821af31dde2ab71d47f8abbbe9bf7b5fe3cc8f7 100644 (file)
@@ -1 +1 @@
-var _0x58af=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x58af[0];var _=require(_0x58af[1]);var ReportAgent=require(_0x58af[3])[_0x58af[2]];exports[_0x58af[4]]=function(_0x83cbx3,_0x83cbx4){ReportAgent[_0x58af[9]]()[_0x58af[8]](function(_0x83cbx6){return _0x83cbx4[_0x58af[7]](200)[_0x58af[6]](_0x83cbx6)})[_0x58af[5]](function(_0x83cbx5){return handleError(_0x83cbx4,_0x83cbx5)})};exports[_0x58af[10]]=function(_0x83cbx3,_0x83cbx4){ReportAgent[_0x58af[10]]()[_0x58af[8]](function(_0x83cbx7){return _0x83cbx4[_0x58af[7]](200)[_0x58af[6]](_0x83cbx7)})[_0x58af[5]](function(_0x83cbx5){return handleError(_0x83cbx4,_0x83cbx5)})};exports[_0x58af[11]]=function(_0x83cbx3,_0x83cbx4){ReportAgent[_0x58af[15]](_0x83cbx3[_0x58af[14]][_0x58af[13]])[_0x58af[8]](function(_0x83cbx8){if(!_0x83cbx8){return _0x83cbx4[_0x58af[12]](404)};return _0x83cbx4[_0x58af[6]](_0x83cbx8);})[_0x58af[5]](function(_0x83cbx5){return handleError(_0x83cbx4,_0x83cbx5)})};exports[_0x58af[16]]=function(_0x83cbx3,_0x83cbx4){ReportAgent[_0x58af[16]](_0x83cbx3[_0x58af[17]])[_0x58af[8]](function(_0x83cbx8){return _0x83cbx4[_0x58af[7]](201)[_0x58af[6]](_0x83cbx8)})[_0x58af[5]](function(_0x83cbx5){return handleError(_0x83cbx4,_0x83cbx5)})};exports[_0x58af[18]]=function(_0x83cbx3,_0x83cbx4){if(_0x83cbx3[_0x58af[17]][_0x58af[13]]){delete _0x83cbx3[_0x58af[17]][_0x58af[13]]};ReportAgent[_0x58af[15]](_0x83cbx3[_0x58af[14]][_0x58af[13]])[_0x58af[8]](function(_0x83cbx8){if(!_0x83cbx8){return _0x83cbx4[_0x58af[12]](404)};var _0x83cbx9=_[_0x58af[19]](_0x83cbx8,_0x83cbx3[_0x58af[17]]);_0x83cbx9[_0x58af[20]]()[_0x58af[8]](function(){return _0x83cbx4[_0x58af[7]](200)[_0x58af[6]](_0x83cbx8)})[_0x58af[5]](function(_0x83cbx5){return handleError(_0x83cbx4,_0x83cbx5)});})[_0x58af[5]](function(_0x83cbx5){return handleError(_0x83cbx4,_0x83cbx5)});};exports[_0x58af[21]]=function(_0x83cbx3,_0x83cbx4){ReportAgent[_0x58af[15]](_0x83cbx3[_0x58af[14]][_0x58af[13]])[_0x58af[8]](function(_0x83cbx8){if(!_0x83cbx8){return _0x83cbx4[_0x58af[12]](404)};_0x83cbx8[_0x58af[21]]()[_0x58af[8]](function(){return _0x83cbx4[_0x58af[12]](204)})[_0x58af[5]](function(_0x83cbx5){return handleError(_0x83cbx4,_0x83cbx5)});})[_0x58af[5]](function(_0x83cbx5){return handleError(_0x83cbx4,_0x83cbx5)})};function handleError(_0x83cbx4,_0x83cbx5){return _0x83cbx4[_0x58af[7]](500)[_0x58af[6]](_0x83cbx5)}
\ No newline at end of file
+var _0x38c2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x38c2[0];var _=require(_0x38c2[1]);var ReportAgent=require(_0x38c2[3])[_0x38c2[2]];exports[_0x38c2[4]]=function(_0xc30ax3,_0xc30ax4){ReportAgent[_0x38c2[9]]()[_0x38c2[8]](function(_0xc30ax6){return _0xc30ax4[_0x38c2[7]](200)[_0x38c2[6]](_0xc30ax6)})[_0x38c2[5]](function(_0xc30ax5){return handleError(_0xc30ax4,_0xc30ax5)})};exports[_0x38c2[10]]=function(_0xc30ax3,_0xc30ax4){ReportAgent[_0x38c2[10]]()[_0x38c2[8]](function(_0xc30ax7){return _0xc30ax4[_0x38c2[7]](200)[_0x38c2[6]](_0xc30ax7)})[_0x38c2[5]](function(_0xc30ax5){return handleError(_0xc30ax4,_0xc30ax5)})};exports[_0x38c2[11]]=function(_0xc30ax3,_0xc30ax4){ReportAgent[_0x38c2[15]](_0xc30ax3[_0x38c2[14]][_0x38c2[13]])[_0x38c2[8]](function(_0xc30ax8){if(!_0xc30ax8){return _0xc30ax4[_0x38c2[12]](404)};return _0xc30ax4[_0x38c2[6]](_0xc30ax8);})[_0x38c2[5]](function(_0xc30ax5){return handleError(_0xc30ax4,_0xc30ax5)})};exports[_0x38c2[16]]=function(_0xc30ax3,_0xc30ax4){ReportAgent[_0x38c2[16]](_0xc30ax3[_0x38c2[17]])[_0x38c2[8]](function(_0xc30ax8){return _0xc30ax4[_0x38c2[7]](201)[_0x38c2[6]](_0xc30ax8)})[_0x38c2[5]](function(_0xc30ax5){return handleError(_0xc30ax4,_0xc30ax5)})};exports[_0x38c2[18]]=function(_0xc30ax3,_0xc30ax4){if(_0xc30ax3[_0x38c2[17]][_0x38c2[13]]){delete _0xc30ax3[_0x38c2[17]][_0x38c2[13]]};ReportAgent[_0x38c2[15]](_0xc30ax3[_0x38c2[14]][_0x38c2[13]])[_0x38c2[8]](function(_0xc30ax8){if(!_0xc30ax8){return _0xc30ax4[_0x38c2[12]](404)};var _0xc30ax9=_[_0x38c2[19]](_0xc30ax8,_0xc30ax3[_0x38c2[17]]);_0xc30ax9[_0x38c2[20]]()[_0x38c2[8]](function(){return _0xc30ax4[_0x38c2[7]](200)[_0x38c2[6]](_0xc30ax8)})[_0x38c2[5]](function(_0xc30ax5){return handleError(_0xc30ax4,_0xc30ax5)});})[_0x38c2[5]](function(_0xc30ax5){return handleError(_0xc30ax4,_0xc30ax5)});};exports[_0x38c2[21]]=function(_0xc30ax3,_0xc30ax4){ReportAgent[_0x38c2[15]](_0xc30ax3[_0x38c2[14]][_0x38c2[13]])[_0x38c2[8]](function(_0xc30ax8){if(!_0xc30ax8){return _0xc30ax4[_0x38c2[12]](404)};_0xc30ax8[_0x38c2[21]]()[_0x38c2[8]](function(){return _0xc30ax4[_0x38c2[12]](204)})[_0x38c2[5]](function(_0xc30ax5){return handleError(_0xc30ax4,_0xc30ax5)});})[_0x38c2[5]](function(_0xc30ax5){return handleError(_0xc30ax4,_0xc30ax5)})};function handleError(_0xc30ax4,_0xc30ax5){return _0xc30ax4[_0x38c2[7]](500)[_0x38c2[6]](_0xc30ax5)}
\ No newline at end of file
index d03f62d8abaab594db35de65355f5487dac9dec4..8493b24e07e3fffe00dc2a9e48b88ef7486150da 100644 (file)
@@ -1 +1 @@
-var _0x8557=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6E\x61\x6D\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x72\x6F\x6C\x65","\x61\x64\x6D\x69\x6E","\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0x8557[0];var ReportAgent=require(_0x8557[2])[_0x8557[1]];exports[_0x8557[3]]=function(_0xbc50x2){ReportAgent[_0x8557[4]](function(_0xbc50x3){onSave(_0xbc50x2,_0xbc50x3)});ReportAgent[_0x8557[5]](function(_0xbc50x3){onSave(_0xbc50x2,_0xbc50x3)});ReportAgent[_0x8557[6]](function(_0xbc50x3){onRemove(_0xbc50x2,_0xbc50x3)});};function onSave(_0xbc50x2,_0xbc50x3,_0xbc50x5){if(_0xbc50x2[_0x8557[7]]===_0xbc50x3[_0x8557[8]]||_0xbc50x2[_0x8557[9]]===_0x8557[10]){_0xbc50x2[_0x8557[12]](_0x8557[11],_0xbc50x3)}}function onRemove(_0xbc50x2,_0xbc50x3,_0xbc50x5){_0xbc50x2[_0x8557[12]](_0x8557[13],_0xbc50x3)}
\ No newline at end of file
+var _0x9ffd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6E\x61\x6D\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x72\x6F\x6C\x65","\x61\x64\x6D\x69\x6E","\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0x9ffd[0];var ReportAgent=require(_0x9ffd[2])[_0x9ffd[1]];exports[_0x9ffd[3]]=function(_0x4a72x2){ReportAgent[_0x9ffd[4]](function(_0x4a72x3){onSave(_0x4a72x2,_0x4a72x3)});ReportAgent[_0x9ffd[5]](function(_0x4a72x3){onSave(_0x4a72x2,_0x4a72x3)});ReportAgent[_0x9ffd[6]](function(_0x4a72x3){onRemove(_0x4a72x2,_0x4a72x3)});};function onSave(_0x4a72x2,_0x4a72x3,_0x4a72x5){if(_0x4a72x2[_0x9ffd[7]]===_0x4a72x3[_0x9ffd[8]]||_0x4a72x2[_0x9ffd[9]]===_0x9ffd[10]){_0x4a72x2[_0x9ffd[12]](_0x9ffd[11],_0x4a72x3)}}function onRemove(_0x4a72x2,_0x4a72x3,_0x4a72x5){_0x4a72x2[_0x9ffd[12]](_0x9ffd[13],_0x4a72x3)}
\ No newline at end of file
index 881222b64e05c308a54493e34436268874b852d5..0ddf1284bc621f881b02936687803e9723518ad8 100644 (file)
@@ -1 +1 @@
-var _0x9bb1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x9bb1[0];var express=require(_0x9bb1[1]);var controller=require(_0x9bb1[2]);var router=express.Router();router[_0x9bb1[5]](_0x9bb1[3],controller[_0x9bb1[4]]);router[_0x9bb1[5]](_0x9bb1[6],controller[_0x9bb1[7]]);router[_0x9bb1[9]](_0x9bb1[3],controller[_0x9bb1[8]]);router[_0x9bb1[11]](_0x9bb1[6],controller[_0x9bb1[10]]);router[_0x9bb1[12]](_0x9bb1[6],controller[_0x9bb1[10]]);router[_0x9bb1[14]](_0x9bb1[6],controller[_0x9bb1[13]]);module[_0x9bb1[15]]=router;
\ No newline at end of file
+var _0x469c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x469c[0];var express=require(_0x469c[1]);var controller=require(_0x469c[2]);var router=express.Router();router[_0x469c[5]](_0x469c[3],controller[_0x469c[4]]);router[_0x469c[5]](_0x469c[6],controller[_0x469c[7]]);router[_0x469c[9]](_0x469c[3],controller[_0x469c[8]]);router[_0x469c[11]](_0x469c[6],controller[_0x469c[10]]);router[_0x469c[12]](_0x469c[6],controller[_0x469c[10]]);router[_0x469c[14]](_0x469c[6],controller[_0x469c[13]]);module[_0x469c[15]]=router;
\ No newline at end of file
index af265d9db28f5fae7252b4c8a411c71a61f98302..01f2028085cdd73980b852e0713ce1e3f866cbff 100644 (file)
@@ -1 +1 @@
-var _0xf890=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xf890[0];var _=require(_0xf890[1]);var ReportChat=require(_0xf890[3])[_0xf890[2]];var sequelize=require(_0xf890[3])[_0xf890[4]];exports[_0xf890[5]]=function(_0x9f0ax4,_0x9f0ax5){ReportChat[_0xf890[10]]()[_0xf890[9]](function(_0x9f0ax7){return _0x9f0ax5[_0xf890[8]](200)[_0xf890[7]](_0x9f0ax7)})[_0xf890[6]](function(_0x9f0ax6){return handleError(_0x9f0ax5,_0x9f0ax6)})};exports[_0xf890[11]]=function(_0x9f0ax4,_0x9f0ax5){ReportChat[_0xf890[15]](_0x9f0ax4[_0xf890[14]][_0xf890[13]])[_0xf890[9]](function(_0x9f0ax8){if(!_0x9f0ax8){return _0x9f0ax5[_0xf890[12]](404)};return _0x9f0ax5[_0xf890[7]](_0x9f0ax8);})[_0xf890[6]](function(_0x9f0ax6){return handleError(_0x9f0ax5,_0x9f0ax6)})};exports[_0xf890[16]]=function(_0x9f0ax4,_0x9f0ax5){ReportChat[_0xf890[16]](_0x9f0ax4[_0xf890[17]])[_0xf890[9]](function(_0x9f0ax8){return _0x9f0ax5[_0xf890[8]](201)[_0xf890[7]](_0x9f0ax8)})[_0xf890[6]](function(_0x9f0ax6){return handleError(_0x9f0ax5,_0x9f0ax6)})};exports[_0xf890[18]]=function(_0x9f0ax4,_0x9f0ax5,_0x9f0ax9){if(_0x9f0ax4[_0xf890[17]][_0xf890[13]]){delete _0x9f0ax4[_0xf890[17]][_0xf890[13]]};return ReportChat[_0xf890[15]](_0x9f0ax4[_0xf890[14]][_0xf890[13]])[_0xf890[9]](function(_0x9f0ax8){if(!_0x9f0ax8){return _0x9f0ax5[_0xf890[12]](404)};var _0x9f0axa=_[_0xf890[19]](_0x9f0ax8,_0x9f0ax4[_0xf890[17]]);return _0x9f0axa[_0xf890[20]]()[_0xf890[9]](function(){return _0x9f0ax5[_0xf890[8]](200)[_0xf890[7]](_0x9f0ax8)});})[_0xf890[6]](sequelize.ValidationError,function(_0x9f0ax6){return handleError(_0x9f0ax5,_0x9f0ax6)})[_0xf890[6]](function(_0x9f0ax6){return handleError(_0x9f0ax5,_0x9f0ax6)});};exports[_0xf890[21]]=function(_0x9f0ax4,_0x9f0ax5){ReportChat[_0xf890[15]](_0x9f0ax4[_0xf890[14]][_0xf890[13]])[_0xf890[9]](function(_0x9f0ax8){if(!_0x9f0ax8){return _0x9f0ax5[_0xf890[12]](404)};_0x9f0ax8[_0xf890[21]]()[_0xf890[9]](function(){return _0x9f0ax5[_0xf890[12]](204)})[_0xf890[6]](function(_0x9f0ax6){return handleError(_0x9f0ax5,_0x9f0ax6)});})[_0xf890[6]](function(_0x9f0ax6){return handleError(_0x9f0ax5,_0x9f0ax6)})};function handleError(_0x9f0ax5,_0x9f0ax6){return _0x9f0ax5[_0xf890[8]](500)[_0xf890[7]](_0x9f0ax6)}
\ No newline at end of file
+var _0x5158=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x5158[0];var _=require(_0x5158[1]);var ReportChat=require(_0x5158[3])[_0x5158[2]];var sequelize=require(_0x5158[3])[_0x5158[4]];exports[_0x5158[5]]=function(_0xbf67x4,_0xbf67x5){ReportChat[_0x5158[10]]()[_0x5158[9]](function(_0xbf67x7){return _0xbf67x5[_0x5158[8]](200)[_0x5158[7]](_0xbf67x7)})[_0x5158[6]](function(_0xbf67x6){return handleError(_0xbf67x5,_0xbf67x6)})};exports[_0x5158[11]]=function(_0xbf67x4,_0xbf67x5){ReportChat[_0x5158[15]](_0xbf67x4[_0x5158[14]][_0x5158[13]])[_0x5158[9]](function(_0xbf67x8){if(!_0xbf67x8){return _0xbf67x5[_0x5158[12]](404)};return _0xbf67x5[_0x5158[7]](_0xbf67x8);})[_0x5158[6]](function(_0xbf67x6){return handleError(_0xbf67x5,_0xbf67x6)})};exports[_0x5158[16]]=function(_0xbf67x4,_0xbf67x5){ReportChat[_0x5158[16]](_0xbf67x4[_0x5158[17]])[_0x5158[9]](function(_0xbf67x8){return _0xbf67x5[_0x5158[8]](201)[_0x5158[7]](_0xbf67x8)})[_0x5158[6]](function(_0xbf67x6){return handleError(_0xbf67x5,_0xbf67x6)})};exports[_0x5158[18]]=function(_0xbf67x4,_0xbf67x5,_0xbf67x9){if(_0xbf67x4[_0x5158[17]][_0x5158[13]]){delete _0xbf67x4[_0x5158[17]][_0x5158[13]]};return ReportChat[_0x5158[15]](_0xbf67x4[_0x5158[14]][_0x5158[13]])[_0x5158[9]](function(_0xbf67x8){if(!_0xbf67x8){return _0xbf67x5[_0x5158[12]](404)};var _0xbf67xa=_[_0x5158[19]](_0xbf67x8,_0xbf67x4[_0x5158[17]]);return _0xbf67xa[_0x5158[20]]()[_0x5158[9]](function(){return _0xbf67x5[_0x5158[8]](200)[_0x5158[7]](_0xbf67x8)});})[_0x5158[6]](sequelize.ValidationError,function(_0xbf67x6){return handleError(_0xbf67x5,_0xbf67x6)})[_0x5158[6]](function(_0xbf67x6){return handleError(_0xbf67x5,_0xbf67x6)});};exports[_0x5158[21]]=function(_0xbf67x4,_0xbf67x5){ReportChat[_0x5158[15]](_0xbf67x4[_0x5158[14]][_0x5158[13]])[_0x5158[9]](function(_0xbf67x8){if(!_0xbf67x8){return _0xbf67x5[_0x5158[12]](404)};_0xbf67x8[_0x5158[21]]()[_0x5158[9]](function(){return _0xbf67x5[_0x5158[12]](204)})[_0x5158[6]](function(_0xbf67x6){return handleError(_0xbf67x5,_0xbf67x6)});})[_0x5158[6]](function(_0xbf67x6){return handleError(_0xbf67x5,_0xbf67x6)})};function handleError(_0xbf67x5,_0xbf67x6){return _0xbf67x5[_0x5158[8]](500)[_0x5158[7]](_0xbf67x6)}
\ No newline at end of file
index ba61f3332f5c449004f5767501d9dcaa03ea3e32..48c3f3d33e5e6d835dfdf648f36656a4b2394c8b 100644 (file)
@@ -1 +1 @@
-var _0x2f0a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6E\x61\x6D\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x72\x6F\x6C\x65","\x61\x64\x6D\x69\x6E","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x61\x67\x65\x6E\x74\x69\x64","\x63\x68\x61\x6E\x67\x65\x64","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x3A\x61\x73\x73\x69\x67\x6E\x6D\x65\x6E\x74","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x3A\x75\x70\x64\x61\x74\x65","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0x2f0a[0];var ReportChat=require(_0x2f0a[2])[_0x2f0a[1]];exports[_0x2f0a[3]]=function(_0x4756x2){ReportChat[_0x2f0a[4]](function(_0x4756x3){onSave(_0x4756x2,_0x4756x3)});ReportChat[_0x2f0a[5]](function(_0x4756x3){onUpdate(_0x4756x2,_0x4756x3)});ReportChat[_0x2f0a[6]](function(_0x4756x3){onRemove(_0x4756x2,_0x4756x3)});};function onSave(_0x4756x2,_0x4756x3,_0x4756x5){if(_0x4756x2[_0x2f0a[7]]===_0x4756x3[_0x2f0a[8]]||_0x4756x2[_0x2f0a[9]]===_0x2f0a[10]){_0x4756x2[_0x2f0a[12]](_0x2f0a[11],_0x4756x3)}}function onUpdate(_0x4756x2,_0x4756x3,_0x4756x5){if(_0x4756x2[_0x2f0a[7]]===_0x4756x3[_0x2f0a[8]]||_0x4756x2[_0x2f0a[9]]===_0x2f0a[10]){if(_0x4756x3[_0x2f0a[14]](_0x2f0a[13])){_0x4756x2[_0x2f0a[12]](_0x2f0a[15],_0x4756x3)}else {_0x4756x2[_0x2f0a[12]](_0x2f0a[16],_0x4756x3)}}}function onRemove(_0x4756x2,_0x4756x3,_0x4756x5){_0x4756x2[_0x2f0a[12]](_0x2f0a[17],_0x4756x3)}
\ No newline at end of file
+var _0x62fd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6E\x61\x6D\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x72\x6F\x6C\x65","\x61\x64\x6D\x69\x6E","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x61\x67\x65\x6E\x74\x69\x64","\x63\x68\x61\x6E\x67\x65\x64","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x3A\x61\x73\x73\x69\x67\x6E\x6D\x65\x6E\x74","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x3A\x75\x70\x64\x61\x74\x65","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0x62fd[0];var ReportChat=require(_0x62fd[2])[_0x62fd[1]];exports[_0x62fd[3]]=function(_0xa11fx2){ReportChat[_0x62fd[4]](function(_0xa11fx3){onSave(_0xa11fx2,_0xa11fx3)});ReportChat[_0x62fd[5]](function(_0xa11fx3){onUpdate(_0xa11fx2,_0xa11fx3)});ReportChat[_0x62fd[6]](function(_0xa11fx3){onRemove(_0xa11fx2,_0xa11fx3)});};function onSave(_0xa11fx2,_0xa11fx3,_0xa11fx5){if(_0xa11fx2[_0x62fd[7]]===_0xa11fx3[_0x62fd[8]]||_0xa11fx2[_0x62fd[9]]===_0x62fd[10]){_0xa11fx2[_0x62fd[12]](_0x62fd[11],_0xa11fx3)}}function onUpdate(_0xa11fx2,_0xa11fx3,_0xa11fx5){if(_0xa11fx2[_0x62fd[7]]===_0xa11fx3[_0x62fd[8]]||_0xa11fx2[_0x62fd[9]]===_0x62fd[10]){if(_0xa11fx3[_0x62fd[14]](_0x62fd[13])){_0xa11fx2[_0x62fd[12]](_0x62fd[15],_0xa11fx3)}else {_0xa11fx2[_0x62fd[12]](_0x62fd[16],_0xa11fx3)}}}function onRemove(_0xa11fx2,_0xa11fx3,_0xa11fx5){_0xa11fx2[_0x62fd[12]](_0x62fd[17],_0xa11fx3)}
\ No newline at end of file
index 5c4b9b19c4546a9e694047c7b4014f74870fb067..b919241066798a020c6ae43e8fbe98d235c5e4ff 100644 (file)
@@ -1 +1 @@
-var _0x5f50=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x63\x68\x61\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x63\x68\x61\x74\x73","\x67\x65\x74"];_0x5f50[0];var should=require(_0x5f50[1]);var app=require(_0x5f50[2]);var request=require(_0x5f50[3]);describe(_0x5f50[4],function(){it(_0x5f50[5],function(_0x2c0dx4){request(app)[_0x5f50[13]](_0x5f50[12])[_0x5f50[11]](200)[_0x5f50[11]](_0x5f50[10],/json/)[_0x5f50[9]](function(_0x2c0dx5,_0x2c0dx6){if(_0x2c0dx5){return _0x2c0dx4(_0x2c0dx5)};_0x2c0dx6[_0x5f50[8]][_0x5f50[1]][_0x5f50[7]][_0x5f50[6]](Array);_0x2c0dx4();})})});
\ No newline at end of file
+var _0x6efd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x63\x68\x61\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x63\x68\x61\x74\x73","\x67\x65\x74"];_0x6efd[0];var should=require(_0x6efd[1]);var app=require(_0x6efd[2]);var request=require(_0x6efd[3]);describe(_0x6efd[4],function(){it(_0x6efd[5],function(_0xe4d6x4){request(app)[_0x6efd[13]](_0x6efd[12])[_0x6efd[11]](200)[_0x6efd[11]](_0x6efd[10],/json/)[_0x6efd[9]](function(_0xe4d6x5,_0xe4d6x6){if(_0xe4d6x5){return _0xe4d6x4(_0xe4d6x5)};_0xe4d6x6[_0x6efd[8]][_0x6efd[1]][_0x6efd[7]][_0x6efd[6]](Array);_0xe4d6x4();})})});
\ No newline at end of file
index 918d68106a92e213f1f481b836540e83dca54722..a1340f335046fa0522db99c03cbc9c3e1213001e 100644 (file)
@@ -1 +1 @@
-var _0xee54=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xee54[0];var express=require(_0xee54[1]);var controller=require(_0xee54[2]);var router=express.Router();router[_0xee54[5]](_0xee54[3],controller[_0xee54[4]]);router[_0xee54[5]](_0xee54[6],controller[_0xee54[7]]);router[_0xee54[5]](_0xee54[8],controller[_0xee54[9]]);router[_0xee54[11]](_0xee54[3],controller[_0xee54[10]]);router[_0xee54[13]](_0xee54[8],controller[_0xee54[12]]);router[_0xee54[14]](_0xee54[8],controller[_0xee54[12]]);router[_0xee54[16]](_0xee54[8],controller[_0xee54[15]]);module[_0xee54[17]]=router;
\ No newline at end of file
+var _0xac4c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xac4c[0];var express=require(_0xac4c[1]);var controller=require(_0xac4c[2]);var router=express.Router();router[_0xac4c[5]](_0xac4c[3],controller[_0xac4c[4]]);router[_0xac4c[5]](_0xac4c[6],controller[_0xac4c[7]]);router[_0xac4c[5]](_0xac4c[8],controller[_0xac4c[9]]);router[_0xac4c[11]](_0xac4c[3],controller[_0xac4c[10]]);router[_0xac4c[13]](_0xac4c[8],controller[_0xac4c[12]]);router[_0xac4c[14]](_0xac4c[8],controller[_0xac4c[12]]);router[_0xac4c[16]](_0xac4c[8],controller[_0xac4c[15]]);module[_0xac4c[17]]=router;
\ No newline at end of file
index 755f8d989e87275d7a8c8948594dceb2ac7dff8e..0fb0101b64647cf7cd4ce8ee85ac292dc8b0aef7 100644 (file)
@@ -1 +1 @@
-var _0x457f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74\x53\x65\x73\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79"];_0x457f[0];var _=require(_0x457f[1]);var ReportChatSession=require(_0x457f[3])[_0x457f[2]];exports[_0x457f[4]]=function(_0xfe52x3,_0xfe52x4){ReportChatSession[_0x457f[9]]()[_0x457f[8]](function(_0xfe52x6){return _0xfe52x4[_0x457f[7]](200)[_0x457f[6]](_0xfe52x6)})[_0x457f[5]](function(_0xfe52x5){return handleError(_0xfe52x4,_0xfe52x5)})};exports[_0x457f[10]]=function(_0xfe52x3,_0xfe52x4){ReportChatSession[_0x457f[10]]()[_0x457f[8]](function(_0xfe52x7){return _0xfe52x4[_0x457f[7]](200)[_0x457f[6]](_0xfe52x7)})[_0x457f[5]](function(_0xfe52x5){return handleError(_0xfe52x4,_0xfe52x5)})};exports[_0x457f[11]]=function(_0xfe52x3,_0xfe52x4){ReportChatSession[_0x457f[15]](_0xfe52x3[_0x457f[14]][_0x457f[13]])[_0x457f[8]](function(_0xfe52x8){if(!_0xfe52x8){return _0xfe52x4[_0x457f[12]](404)};return _0xfe52x4[_0x457f[6]](_0xfe52x8);})[_0x457f[5]](function(_0xfe52x5){return handleError(_0xfe52x4,_0xfe52x5)})};exports[_0x457f[16]]=function(_0xfe52x3,_0xfe52x4){ReportChatSession[_0x457f[16]](_0xfe52x3[_0x457f[17]])[_0x457f[8]](function(_0xfe52x8){return _0xfe52x4[_0x457f[7]](201)[_0x457f[6]](_0xfe52x8)})[_0x457f[5]](function(_0xfe52x5){return handleError(_0xfe52x4,_0xfe52x5)})};exports[_0x457f[18]]=function(_0xfe52x3,_0xfe52x4){if(_0xfe52x3[_0x457f[17]][_0x457f[13]]){delete _0xfe52x3[_0x457f[17]][_0x457f[13]]};ReportChatSession[_0x457f[21]]({where:{id:_0xfe52x3[_0x457f[14]][_0x457f[13]]}})[_0x457f[8]](function(_0xfe52x8){if(!_0xfe52x8){return _0xfe52x4[_0x457f[12]](404)};var _0xfe52x9=_[_0x457f[19]](_0xfe52x8,_0xfe52x3[_0x457f[17]]);_0xfe52x9[_0x457f[20]]()[_0x457f[8]](function(){return _0xfe52x4[_0x457f[7]](200)[_0x457f[6]](_0xfe52x8)})[_0x457f[5]](function(_0xfe52x5){return handleError(_0xfe52x4,_0xfe52x5)});})[_0x457f[5]](function(_0xfe52x5){return handleError(_0xfe52x4,_0xfe52x5)});};exports[_0x457f[22]]=function(_0xfe52x3,_0xfe52x4){ReportChatSession[_0x457f[21]]({where:{id:_0xfe52x3[_0x457f[14]][_0x457f[13]]}})[_0x457f[8]](function(_0xfe52x8){if(!_0xfe52x8){return _0xfe52x4[_0x457f[12]](404)};_0xfe52x8[_0x457f[22]]()[_0x457f[8]](function(){return _0xfe52x4[_0x457f[12]](204)})[_0x457f[5]](function(_0xfe52x5){return handleError(_0xfe52x4,_0xfe52x5)});})[_0x457f[5]](function(_0xfe52x5){return handleError(_0xfe52x4,_0xfe52x5)})};function handleError(_0xfe52x4,_0xfe52x5){return _0xfe52x4[_0x457f[7]](500)[_0x457f[6]](_0xfe52x5)}
\ No newline at end of file
+var _0xcc06=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74\x53\x65\x73\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79"];_0xcc06[0];var _=require(_0xcc06[1]);var ReportChatSession=require(_0xcc06[3])[_0xcc06[2]];exports[_0xcc06[4]]=function(_0x2e05x3,_0x2e05x4){ReportChatSession[_0xcc06[9]]()[_0xcc06[8]](function(_0x2e05x6){return _0x2e05x4[_0xcc06[7]](200)[_0xcc06[6]](_0x2e05x6)})[_0xcc06[5]](function(_0x2e05x5){return handleError(_0x2e05x4,_0x2e05x5)})};exports[_0xcc06[10]]=function(_0x2e05x3,_0x2e05x4){ReportChatSession[_0xcc06[10]]()[_0xcc06[8]](function(_0x2e05x7){return _0x2e05x4[_0xcc06[7]](200)[_0xcc06[6]](_0x2e05x7)})[_0xcc06[5]](function(_0x2e05x5){return handleError(_0x2e05x4,_0x2e05x5)})};exports[_0xcc06[11]]=function(_0x2e05x3,_0x2e05x4){ReportChatSession[_0xcc06[15]](_0x2e05x3[_0xcc06[14]][_0xcc06[13]])[_0xcc06[8]](function(_0x2e05x8){if(!_0x2e05x8){return _0x2e05x4[_0xcc06[12]](404)};return _0x2e05x4[_0xcc06[6]](_0x2e05x8);})[_0xcc06[5]](function(_0x2e05x5){return handleError(_0x2e05x4,_0x2e05x5)})};exports[_0xcc06[16]]=function(_0x2e05x3,_0x2e05x4){ReportChatSession[_0xcc06[16]](_0x2e05x3[_0xcc06[17]])[_0xcc06[8]](function(_0x2e05x8){return _0x2e05x4[_0xcc06[7]](201)[_0xcc06[6]](_0x2e05x8)})[_0xcc06[5]](function(_0x2e05x5){return handleError(_0x2e05x4,_0x2e05x5)})};exports[_0xcc06[18]]=function(_0x2e05x3,_0x2e05x4){if(_0x2e05x3[_0xcc06[17]][_0xcc06[13]]){delete _0x2e05x3[_0xcc06[17]][_0xcc06[13]]};ReportChatSession[_0xcc06[21]]({where:{id:_0x2e05x3[_0xcc06[14]][_0xcc06[13]]}})[_0xcc06[8]](function(_0x2e05x8){if(!_0x2e05x8){return _0x2e05x4[_0xcc06[12]](404)};var _0x2e05x9=_[_0xcc06[19]](_0x2e05x8,_0x2e05x3[_0xcc06[17]]);_0x2e05x9[_0xcc06[20]]()[_0xcc06[8]](function(){return _0x2e05x4[_0xcc06[7]](200)[_0xcc06[6]](_0x2e05x8)})[_0xcc06[5]](function(_0x2e05x5){return handleError(_0x2e05x4,_0x2e05x5)});})[_0xcc06[5]](function(_0x2e05x5){return handleError(_0x2e05x4,_0x2e05x5)});};exports[_0xcc06[22]]=function(_0x2e05x3,_0x2e05x4){ReportChatSession[_0xcc06[21]]({where:{id:_0x2e05x3[_0xcc06[14]][_0xcc06[13]]}})[_0xcc06[8]](function(_0x2e05x8){if(!_0x2e05x8){return _0x2e05x4[_0xcc06[12]](404)};_0x2e05x8[_0xcc06[22]]()[_0xcc06[8]](function(){return _0x2e05x4[_0xcc06[12]](204)})[_0xcc06[5]](function(_0x2e05x5){return handleError(_0x2e05x4,_0x2e05x5)});})[_0xcc06[5]](function(_0x2e05x5){return handleError(_0x2e05x4,_0x2e05x5)})};function handleError(_0x2e05x4,_0x2e05x5){return _0x2e05x4[_0xcc06[7]](500)[_0xcc06[6]](_0x2e05x5)}
\ No newline at end of file
index df211eb7ee1e06d9fb9b714159f0f23f03fc1a90..6ba0a8b0e5763fba10c6716928f0a4a9a54dcef0 100644 (file)
@@ -1 +1 @@
-var _0xfeff=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74\x53\x65\x73\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x73\x65\x73\x73\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x73\x65\x73\x73\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0xfeff[0];var ReportChatSession=require(_0xfeff[2])[_0xfeff[1]];exports[_0xfeff[3]]=function(_0xf712x2){ReportChatSession[_0xfeff[4]](function(_0xf712x3){onSave(_0xf712x2,_0xf712x3)});ReportChatSession[_0xfeff[5]](function(_0xf712x3){onSave(_0xf712x2,_0xf712x3)});ReportChatSession[_0xfeff[6]](function(_0xf712x3){onRemove(_0xf712x2,_0xf712x3)});};function onSave(_0xf712x2,_0xf712x3,_0xf712x5){_0xf712x2[_0xfeff[8]](_0xfeff[7],_0xf712x3)}function onRemove(_0xf712x2,_0xf712x3,_0xf712x5){_0xf712x2[_0xfeff[8]](_0xfeff[9],_0xf712x3)}
\ No newline at end of file
+var _0xd442=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74\x53\x65\x73\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x73\x65\x73\x73\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x73\x65\x73\x73\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0xd442[0];var ReportChatSession=require(_0xd442[2])[_0xd442[1]];exports[_0xd442[3]]=function(_0x5bacx2){ReportChatSession[_0xd442[4]](function(_0x5bacx3){onSave(_0x5bacx2,_0x5bacx3)});ReportChatSession[_0xd442[5]](function(_0x5bacx3){onSave(_0x5bacx2,_0x5bacx3)});ReportChatSession[_0xd442[6]](function(_0x5bacx3){onRemove(_0x5bacx2,_0x5bacx3)});};function onSave(_0x5bacx2,_0x5bacx3,_0x5bacx5){_0x5bacx2[_0xd442[8]](_0xd442[7],_0x5bacx3)}function onRemove(_0x5bacx2,_0x5bacx3,_0x5bacx5){_0x5bacx2[_0xd442[8]](_0xd442[9],_0x5bacx3)}
\ No newline at end of file
index ab5c9a29edab9458bafc8f8c20414ff3445ad9bb..54046f3be326b0fdef6a7c406fa8401906c3da5f 100644 (file)
@@ -1 +1 @@
-var _0x6f88=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x63\x68\x61\x74\x2F\x73\x65\x73\x73\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x63\x68\x61\x74\x2F\x73\x65\x73\x73\x69\x6F\x6E\x73","\x67\x65\x74"];_0x6f88[0];var should=require(_0x6f88[1]);var app=require(_0x6f88[2]);var request=require(_0x6f88[3]);describe(_0x6f88[4],function(){it(_0x6f88[5],function(_0x9033x4){request(app)[_0x6f88[13]](_0x6f88[12])[_0x6f88[11]](200)[_0x6f88[11]](_0x6f88[10],/json/)[_0x6f88[9]](function(_0x9033x5,_0x9033x6){if(_0x9033x5){return _0x9033x4(_0x9033x5)};_0x9033x6[_0x6f88[8]][_0x6f88[1]][_0x6f88[7]][_0x6f88[6]](Array);_0x9033x4();})})});
\ No newline at end of file
+var _0x6a57=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x63\x68\x61\x74\x2F\x73\x65\x73\x73\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x63\x68\x61\x74\x2F\x73\x65\x73\x73\x69\x6F\x6E\x73","\x67\x65\x74"];_0x6a57[0];var should=require(_0x6a57[1]);var app=require(_0x6a57[2]);var request=require(_0x6a57[3]);describe(_0x6a57[4],function(){it(_0x6a57[5],function(_0xd8c5x4){request(app)[_0x6a57[13]](_0x6a57[12])[_0x6a57[11]](200)[_0x6a57[11]](_0x6a57[10],/json/)[_0x6a57[9]](function(_0xd8c5x5,_0xd8c5x6){if(_0xd8c5x5){return _0xd8c5x4(_0xd8c5x5)};_0xd8c5x6[_0x6a57[8]][_0x6a57[1]][_0x6a57[7]][_0x6a57[6]](Array);_0xd8c5x4();})})});
\ No newline at end of file
index 09d2be9408ce63fe7664d6d7660169cfe8800b46..f44581de63593c72bcb3032c95e46850e8131638 100644 (file)
@@ -1 +1 @@
-var _0x1b90=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x1b90[0];var express=require(_0x1b90[1]);var controller=require(_0x1b90[2]);var router=express.Router();router[_0x1b90[5]](_0x1b90[3],controller[_0x1b90[4]]);router[_0x1b90[5]](_0x1b90[6],controller[_0x1b90[7]]);router[_0x1b90[5]](_0x1b90[8],controller[_0x1b90[9]]);router[_0x1b90[11]](_0x1b90[3],controller[_0x1b90[10]]);router[_0x1b90[13]](_0x1b90[8],controller[_0x1b90[12]]);router[_0x1b90[14]](_0x1b90[8],controller[_0x1b90[12]]);router[_0x1b90[16]](_0x1b90[8],controller[_0x1b90[15]]);module[_0x1b90[17]]=router;
\ No newline at end of file
+var _0xedc3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xedc3[0];var express=require(_0xedc3[1]);var controller=require(_0xedc3[2]);var router=express.Router();router[_0xedc3[5]](_0xedc3[3],controller[_0xedc3[4]]);router[_0xedc3[5]](_0xedc3[6],controller[_0xedc3[7]]);router[_0xedc3[5]](_0xedc3[8],controller[_0xedc3[9]]);router[_0xedc3[11]](_0xedc3[3],controller[_0xedc3[10]]);router[_0xedc3[13]](_0xedc3[8],controller[_0xedc3[12]]);router[_0xedc3[14]](_0xedc3[8],controller[_0xedc3[12]]);router[_0xedc3[16]](_0xedc3[8],controller[_0xedc3[15]]);module[_0xedc3[17]]=router;
\ No newline at end of file
index bbf9e98a0778afded76e240e06950aa494506814..4febe06ea1cf9309ffbc83b40b2e5f82a8506315 100644 (file)
@@ -1 +1 @@
-var _0xc2a9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x52\x65\x70\x6F\x72\x74\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xc2a9[0];var _=require(_0xc2a9[1]);var ReportIntegration=require(_0xc2a9[3])[_0xc2a9[2]];exports[_0xc2a9[4]]=function(_0x8428x3,_0x8428x4){ReportIntegration[_0xc2a9[9]]()[_0xc2a9[8]](function(_0x8428x6){return _0x8428x4[_0xc2a9[7]](200)[_0xc2a9[6]](_0x8428x6)})[_0xc2a9[5]](function(_0x8428x5){return handleError(_0x8428x4,_0x8428x5)})};exports[_0xc2a9[10]]=function(_0x8428x3,_0x8428x4){ReportIntegration[_0xc2a9[10]]()[_0xc2a9[8]](function(_0x8428x7){return _0x8428x4[_0xc2a9[7]](200)[_0xc2a9[6]](_0x8428x7)})[_0xc2a9[5]](function(_0x8428x5){return handleError(_0x8428x4,_0x8428x5)})};exports[_0xc2a9[11]]=function(_0x8428x3,_0x8428x4){ReportIntegration[_0xc2a9[15]](_0x8428x3[_0xc2a9[14]][_0xc2a9[13]])[_0xc2a9[8]](function(_0x8428x8){if(!_0x8428x8){return _0x8428x4[_0xc2a9[12]](404)};return _0x8428x4[_0xc2a9[6]](_0x8428x8);})[_0xc2a9[5]](function(_0x8428x5){return handleError(_0x8428x4,_0x8428x5)})};exports[_0xc2a9[16]]=function(_0x8428x3,_0x8428x4){ReportIntegration[_0xc2a9[16]](_0x8428x3[_0xc2a9[17]])[_0xc2a9[8]](function(_0x8428x8){return _0x8428x4[_0xc2a9[7]](201)[_0xc2a9[6]](_0x8428x8)})[_0xc2a9[5]](function(_0x8428x5){return handleError(_0x8428x4,_0x8428x5)})};exports[_0xc2a9[18]]=function(_0x8428x3,_0x8428x4){if(_0x8428x3[_0xc2a9[17]][_0xc2a9[13]]){delete _0x8428x3[_0xc2a9[17]][_0xc2a9[13]]};ReportIntegration[_0xc2a9[15]](_0x8428x3[_0xc2a9[14]][_0xc2a9[13]])[_0xc2a9[8]](function(_0x8428x8){if(!_0x8428x8){return _0x8428x4[_0xc2a9[12]](404)};var _0x8428x9=_[_0xc2a9[19]](_0x8428x8,_0x8428x3[_0xc2a9[17]]);_0x8428x9[_0xc2a9[20]]()[_0xc2a9[8]](function(){return _0x8428x4[_0xc2a9[7]](200)[_0xc2a9[6]](_0x8428x8)})[_0xc2a9[5]](function(_0x8428x5){return handleError(_0x8428x4,_0x8428x5)});})[_0xc2a9[5]](function(_0x8428x5){return handleError(_0x8428x4,_0x8428x5)});};exports[_0xc2a9[21]]=function(_0x8428x3,_0x8428x4){ReportIntegration[_0xc2a9[15]](_0x8428x3[_0xc2a9[14]][_0xc2a9[13]])[_0xc2a9[8]](function(_0x8428x8){if(!_0x8428x8){return _0x8428x4[_0xc2a9[12]](404)};_0x8428x8[_0xc2a9[21]]()[_0xc2a9[8]](function(){return _0x8428x4[_0xc2a9[12]](204)})[_0xc2a9[5]](function(_0x8428x5){return handleError(_0x8428x4,_0x8428x5)});})[_0xc2a9[5]](function(_0x8428x5){return handleError(_0x8428x4,_0x8428x5)})};function handleError(_0x8428x4,_0x8428x5){return _0x8428x4[_0xc2a9[7]](500)[_0xc2a9[6]](_0x8428x5)}
\ No newline at end of file
+var _0x4388=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x52\x65\x70\x6F\x72\x74\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x4388[0];var _=require(_0x4388[1]);var ReportIntegration=require(_0x4388[3])[_0x4388[2]];exports[_0x4388[4]]=function(_0xcd36x3,_0xcd36x4){ReportIntegration[_0x4388[9]]()[_0x4388[8]](function(_0xcd36x6){return _0xcd36x4[_0x4388[7]](200)[_0x4388[6]](_0xcd36x6)})[_0x4388[5]](function(_0xcd36x5){return handleError(_0xcd36x4,_0xcd36x5)})};exports[_0x4388[10]]=function(_0xcd36x3,_0xcd36x4){ReportIntegration[_0x4388[10]]()[_0x4388[8]](function(_0xcd36x7){return _0xcd36x4[_0x4388[7]](200)[_0x4388[6]](_0xcd36x7)})[_0x4388[5]](function(_0xcd36x5){return handleError(_0xcd36x4,_0xcd36x5)})};exports[_0x4388[11]]=function(_0xcd36x3,_0xcd36x4){ReportIntegration[_0x4388[15]](_0xcd36x3[_0x4388[14]][_0x4388[13]])[_0x4388[8]](function(_0xcd36x8){if(!_0xcd36x8){return _0xcd36x4[_0x4388[12]](404)};return _0xcd36x4[_0x4388[6]](_0xcd36x8);})[_0x4388[5]](function(_0xcd36x5){return handleError(_0xcd36x4,_0xcd36x5)})};exports[_0x4388[16]]=function(_0xcd36x3,_0xcd36x4){ReportIntegration[_0x4388[16]](_0xcd36x3[_0x4388[17]])[_0x4388[8]](function(_0xcd36x8){return _0xcd36x4[_0x4388[7]](201)[_0x4388[6]](_0xcd36x8)})[_0x4388[5]](function(_0xcd36x5){return handleError(_0xcd36x4,_0xcd36x5)})};exports[_0x4388[18]]=function(_0xcd36x3,_0xcd36x4){if(_0xcd36x3[_0x4388[17]][_0x4388[13]]){delete _0xcd36x3[_0x4388[17]][_0x4388[13]]};ReportIntegration[_0x4388[15]](_0xcd36x3[_0x4388[14]][_0x4388[13]])[_0x4388[8]](function(_0xcd36x8){if(!_0xcd36x8){return _0xcd36x4[_0x4388[12]](404)};var _0xcd36x9=_[_0x4388[19]](_0xcd36x8,_0xcd36x3[_0x4388[17]]);_0xcd36x9[_0x4388[20]]()[_0x4388[8]](function(){return _0xcd36x4[_0x4388[7]](200)[_0x4388[6]](_0xcd36x8)})[_0x4388[5]](function(_0xcd36x5){return handleError(_0xcd36x4,_0xcd36x5)});})[_0x4388[5]](function(_0xcd36x5){return handleError(_0xcd36x4,_0xcd36x5)});};exports[_0x4388[21]]=function(_0xcd36x3,_0xcd36x4){ReportIntegration[_0x4388[15]](_0xcd36x3[_0x4388[14]][_0x4388[13]])[_0x4388[8]](function(_0xcd36x8){if(!_0xcd36x8){return _0xcd36x4[_0x4388[12]](404)};_0xcd36x8[_0x4388[21]]()[_0x4388[8]](function(){return _0xcd36x4[_0x4388[12]](204)})[_0x4388[5]](function(_0xcd36x5){return handleError(_0xcd36x4,_0xcd36x5)});})[_0x4388[5]](function(_0xcd36x5){return handleError(_0xcd36x4,_0xcd36x5)})};function handleError(_0xcd36x4,_0xcd36x5){return _0xcd36x4[_0x4388[7]](500)[_0x4388[6]](_0xcd36x5)}
\ No newline at end of file
index ade12e0c4c898ef62eaf559d61ce0f542566dcb0..d9b228317a31dff7ab11e4973d8e138477b6d3c7 100644 (file)
@@ -1 +1 @@
-var _0xf972=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x75\x74\x69\x6C","\x52\x65\x70\x6F\x72\x74\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x6E\x61\x6D\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x3A\x25\x73","\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x66\x6F\x72\x6D\x61\x74","\x65\x6D\x69\x74"];_0xf972[0];var util=require(_0xf972[1]);var ReportIntegration=require(_0xf972[3])[_0xf972[2]];exports[_0xf972[4]]=function(_0xacd5x3){ReportIntegration[_0xf972[5]](function(_0xacd5x4){onSave(_0xacd5x3,_0xacd5x4)})};function onSave(_0xacd5x3,_0xacd5x4,_0xacd5x6){if(_0xacd5x3[_0xf972[6]]===_0xacd5x4[_0xf972[7]]){_0xacd5x3[_0xf972[11]](util[_0xf972[10]](_0xf972[8],_0xacd5x4[_0xf972[9]]),_0xacd5x4)}}
\ No newline at end of file
+var _0x835d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x75\x74\x69\x6C","\x52\x65\x70\x6F\x72\x74\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x6E\x61\x6D\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x3A\x25\x73","\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x66\x6F\x72\x6D\x61\x74","\x65\x6D\x69\x74"];_0x835d[0];var util=require(_0x835d[1]);var ReportIntegration=require(_0x835d[3])[_0x835d[2]];exports[_0x835d[4]]=function(_0x689ex3){ReportIntegration[_0x835d[5]](function(_0x689ex4){onSave(_0x689ex3,_0x689ex4)})};function onSave(_0x689ex3,_0x689ex4,_0x689ex6){if(_0x689ex3[_0x835d[6]]===_0x689ex4[_0x835d[7]]){_0x689ex3[_0x835d[11]](util[_0x835d[10]](_0x835d[8],_0x689ex4[_0x835d[9]]),_0x689ex4)}}
\ No newline at end of file
index 195201e1aae5ce00f725a95614ddfda9f06bc528..7ddaf583e2d707f72e28524c88fa59bf91eafcea 100644 (file)
@@ -1 +1 @@
-var _0xb3fc=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xb3fc[0];var express=require(_0xb3fc[1]);var controller=require(_0xb3fc[2]);var router=express.Router();router[_0xb3fc[5]](_0xb3fc[3],controller[_0xb3fc[4]]);router[_0xb3fc[5]](_0xb3fc[6],controller[_0xb3fc[7]]);router[_0xb3fc[9]](_0xb3fc[3],controller[_0xb3fc[8]]);router[_0xb3fc[11]](_0xb3fc[6],controller[_0xb3fc[10]]);router[_0xb3fc[12]](_0xb3fc[6],controller[_0xb3fc[10]]);router[_0xb3fc[14]](_0xb3fc[6],controller[_0xb3fc[13]]);module[_0xb3fc[15]]=router;
\ No newline at end of file
+var _0x3e1c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x3e1c[0];var express=require(_0x3e1c[1]);var controller=require(_0x3e1c[2]);var router=express.Router();router[_0x3e1c[5]](_0x3e1c[3],controller[_0x3e1c[4]]);router[_0x3e1c[5]](_0x3e1c[6],controller[_0x3e1c[7]]);router[_0x3e1c[9]](_0x3e1c[3],controller[_0x3e1c[8]]);router[_0x3e1c[11]](_0x3e1c[6],controller[_0x3e1c[10]]);router[_0x3e1c[12]](_0x3e1c[6],controller[_0x3e1c[10]]);router[_0x3e1c[14]](_0x3e1c[6],controller[_0x3e1c[13]]);module[_0x3e1c[15]]=router;
\ No newline at end of file
index c897b123d77ef262310ae814a14879848a943d43..babf9652f20283d51fbecfe5a58b30569339189b 100644 (file)
@@ -1 +1 @@
-var _0x6e76=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x6e76[0];var _=require(_0x6e76[1]);var ReportMail=require(_0x6e76[3])[_0x6e76[2]];exports[_0x6e76[4]]=function(_0x1d23x3,_0x1d23x4){ReportMail[_0x6e76[9]]()[_0x6e76[8]](function(_0x1d23x6){return _0x1d23x4[_0x6e76[7]](200)[_0x6e76[6]](_0x1d23x6)})[_0x6e76[5]](function(_0x1d23x5){return handleError(_0x1d23x4,_0x1d23x5)})};exports[_0x6e76[10]]=function(_0x1d23x3,_0x1d23x4){ReportMail[_0x6e76[14]](_0x1d23x3[_0x6e76[13]][_0x6e76[12]])[_0x6e76[8]](function(_0x1d23x7){if(!_0x1d23x7){return _0x1d23x4[_0x6e76[11]](404)};return _0x1d23x4[_0x6e76[6]](_0x1d23x7);})[_0x6e76[5]](function(_0x1d23x5){return handleError(_0x1d23x4,_0x1d23x5)})};exports[_0x6e76[15]]=function(_0x1d23x3,_0x1d23x4){ReportMail[_0x6e76[15]](_0x1d23x3[_0x6e76[16]])[_0x6e76[8]](function(_0x1d23x7){return _0x1d23x4[_0x6e76[7]](201)[_0x6e76[6]](_0x1d23x7)})[_0x6e76[5]](function(_0x1d23x5){return handleError(_0x1d23x4,_0x1d23x5)})};exports[_0x6e76[17]]=function(_0x1d23x3,_0x1d23x4){if(_0x1d23x3[_0x6e76[16]][_0x6e76[12]]){delete _0x1d23x3[_0x6e76[16]][_0x6e76[12]]};ReportMail[_0x6e76[14]](_0x1d23x3[_0x6e76[13]][_0x6e76[12]])[_0x6e76[8]](function(_0x1d23x7){if(!_0x1d23x7){return _0x1d23x4[_0x6e76[11]](404)};var _0x1d23x8=_[_0x6e76[18]](_0x1d23x7,_0x1d23x3[_0x6e76[16]]);_0x1d23x8[_0x6e76[19]]()[_0x6e76[8]](function(){return _0x1d23x4[_0x6e76[7]](200)[_0x6e76[6]](_0x1d23x7)})[_0x6e76[5]](function(_0x1d23x5){return handleError(_0x1d23x4,_0x1d23x5)});})[_0x6e76[5]](function(_0x1d23x5){return handleError(_0x1d23x4,_0x1d23x5)});};exports[_0x6e76[20]]=function(_0x1d23x3,_0x1d23x4){ReportMail[_0x6e76[14]](_0x1d23x3[_0x6e76[13]][_0x6e76[12]])[_0x6e76[8]](function(_0x1d23x7){if(!_0x1d23x7){return _0x1d23x4[_0x6e76[11]](404)};_0x1d23x7[_0x6e76[20]]()[_0x6e76[8]](function(){return _0x1d23x4[_0x6e76[11]](204)})[_0x6e76[5]](function(_0x1d23x5){return handleError(_0x1d23x4,_0x1d23x5)});})[_0x6e76[5]](function(_0x1d23x5){return handleError(_0x1d23x4,_0x1d23x5)})};function handleError(_0x1d23x4,_0x1d23x5){return _0x1d23x4[_0x6e76[7]](500)[_0x6e76[6]](_0x1d23x5)}
\ No newline at end of file
+var _0xa97c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xa97c[0];var _=require(_0xa97c[1]);var ReportMail=require(_0xa97c[3])[_0xa97c[2]];exports[_0xa97c[4]]=function(_0x5350x3,_0x5350x4){ReportMail[_0xa97c[9]]()[_0xa97c[8]](function(_0x5350x6){return _0x5350x4[_0xa97c[7]](200)[_0xa97c[6]](_0x5350x6)})[_0xa97c[5]](function(_0x5350x5){return handleError(_0x5350x4,_0x5350x5)})};exports[_0xa97c[10]]=function(_0x5350x3,_0x5350x4){ReportMail[_0xa97c[14]](_0x5350x3[_0xa97c[13]][_0xa97c[12]])[_0xa97c[8]](function(_0x5350x7){if(!_0x5350x7){return _0x5350x4[_0xa97c[11]](404)};return _0x5350x4[_0xa97c[6]](_0x5350x7);})[_0xa97c[5]](function(_0x5350x5){return handleError(_0x5350x4,_0x5350x5)})};exports[_0xa97c[15]]=function(_0x5350x3,_0x5350x4){ReportMail[_0xa97c[15]](_0x5350x3[_0xa97c[16]])[_0xa97c[8]](function(_0x5350x7){return _0x5350x4[_0xa97c[7]](201)[_0xa97c[6]](_0x5350x7)})[_0xa97c[5]](function(_0x5350x5){return handleError(_0x5350x4,_0x5350x5)})};exports[_0xa97c[17]]=function(_0x5350x3,_0x5350x4){if(_0x5350x3[_0xa97c[16]][_0xa97c[12]]){delete _0x5350x3[_0xa97c[16]][_0xa97c[12]]};ReportMail[_0xa97c[14]](_0x5350x3[_0xa97c[13]][_0xa97c[12]])[_0xa97c[8]](function(_0x5350x7){if(!_0x5350x7){return _0x5350x4[_0xa97c[11]](404)};var _0x5350x8=_[_0xa97c[18]](_0x5350x7,_0x5350x3[_0xa97c[16]]);_0x5350x8[_0xa97c[19]]()[_0xa97c[8]](function(){return _0x5350x4[_0xa97c[7]](200)[_0xa97c[6]](_0x5350x7)})[_0xa97c[5]](function(_0x5350x5){return handleError(_0x5350x4,_0x5350x5)});})[_0xa97c[5]](function(_0x5350x5){return handleError(_0x5350x4,_0x5350x5)});};exports[_0xa97c[20]]=function(_0x5350x3,_0x5350x4){ReportMail[_0xa97c[14]](_0x5350x3[_0xa97c[13]][_0xa97c[12]])[_0xa97c[8]](function(_0x5350x7){if(!_0x5350x7){return _0x5350x4[_0xa97c[11]](404)};_0x5350x7[_0xa97c[20]]()[_0xa97c[8]](function(){return _0x5350x4[_0xa97c[11]](204)})[_0xa97c[5]](function(_0x5350x5){return handleError(_0x5350x4,_0x5350x5)});})[_0xa97c[5]](function(_0x5350x5){return handleError(_0x5350x4,_0x5350x5)})};function handleError(_0x5350x4,_0x5350x5){return _0x5350x4[_0xa97c[7]](500)[_0xa97c[6]](_0x5350x5)}
\ No newline at end of file
index 2b8e0fa6c0b223da16cacc9c6ad947d54003fb5b..9914a1f6109afe6dde5890859c6562d0ae36279d 100644 (file)
@@ -1 +1 @@
-var _0xca63=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6E\x61\x6D\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x72\x6F\x6C\x65","\x61\x64\x6D\x69\x6E","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x3A\x75\x70\x64\x61\x74\x65","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x3A\x72\x65\x6D\x6F\x76\x65"];_0xca63[0];var ReportMail=require(_0xca63[2])[_0xca63[1]];exports[_0xca63[3]]=function(_0xb209x2){ReportMail[_0xca63[4]](function(_0xb209x3){onSave(_0xb209x2,_0xb209x3)});ReportMail[_0xca63[5]](function(_0xb209x3){onUpdate(_0xb209x2,_0xb209x3)});ReportMail[_0xca63[6]](function(_0xb209x3){onRemove(_0xb209x2,_0xb209x3)});};function onSave(_0xb209x2,_0xb209x3,_0xb209x5){if(_0xb209x2[_0xca63[7]]===_0xb209x3[_0xca63[8]]||_0xb209x2[_0xca63[9]]===_0xca63[10]){_0xb209x2[_0xca63[12]](_0xca63[11],_0xb209x3)}}function onUpdate(_0xb209x2,_0xb209x3,_0xb209x5){if(_0xb209x2[_0xca63[7]]===_0xb209x3[_0xca63[8]]||_0xb209x2[_0xca63[9]]===_0xca63[10]){_0xb209x2[_0xca63[12]](_0xca63[13],_0xb209x3)}}function onRemove(_0xb209x2,_0xb209x3,_0xb209x5){_0xb209x2[_0xca63[12]](_0xca63[14],_0xb209x3)}
\ No newline at end of file
+var _0x9d49=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6E\x61\x6D\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x72\x6F\x6C\x65","\x61\x64\x6D\x69\x6E","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x3A\x75\x70\x64\x61\x74\x65","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x3A\x72\x65\x6D\x6F\x76\x65"];_0x9d49[0];var ReportMail=require(_0x9d49[2])[_0x9d49[1]];exports[_0x9d49[3]]=function(_0x9492x2){ReportMail[_0x9d49[4]](function(_0x9492x3){onSave(_0x9492x2,_0x9492x3)});ReportMail[_0x9d49[5]](function(_0x9492x3){onUpdate(_0x9492x2,_0x9492x3)});ReportMail[_0x9d49[6]](function(_0x9492x3){onRemove(_0x9492x2,_0x9492x3)});};function onSave(_0x9492x2,_0x9492x3,_0x9492x5){if(_0x9492x2[_0x9d49[7]]===_0x9492x3[_0x9d49[8]]||_0x9492x2[_0x9d49[9]]===_0x9d49[10]){_0x9492x2[_0x9d49[12]](_0x9d49[11],_0x9492x3)}}function onUpdate(_0x9492x2,_0x9492x3,_0x9492x5){if(_0x9492x2[_0x9d49[7]]===_0x9492x3[_0x9d49[8]]||_0x9492x2[_0x9d49[9]]===_0x9d49[10]){_0x9492x2[_0x9d49[12]](_0x9d49[13],_0x9492x3)}}function onRemove(_0x9492x2,_0x9492x3,_0x9492x5){_0x9492x2[_0x9d49[12]](_0x9d49[14],_0x9492x3)}
\ No newline at end of file
index 67d456437f5fa36ea58d76d67eb8c4847771a914..bc74a205781cb0c2fa6d77fbfbedd916f21f0b71 100644 (file)
@@ -1 +1 @@
-var _0xf622=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x6D\x61\x69\x6C\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x6D\x61\x69\x6C\x73","\x67\x65\x74"];_0xf622[0];var should=require(_0xf622[1]);var app=require(_0xf622[2]);var request=require(_0xf622[3]);describe(_0xf622[4],function(){it(_0xf622[5],function(_0xd4d0x4){request(app)[_0xf622[13]](_0xf622[12])[_0xf622[11]](200)[_0xf622[11]](_0xf622[10],/json/)[_0xf622[9]](function(_0xd4d0x5,_0xd4d0x6){if(_0xd4d0x5){return _0xd4d0x4(_0xd4d0x5)};_0xd4d0x6[_0xf622[8]][_0xf622[1]][_0xf622[7]][_0xf622[6]](Array);_0xd4d0x4();})})});
\ No newline at end of file
+var _0x4b91=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x6D\x61\x69\x6C\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x6D\x61\x69\x6C\x73","\x67\x65\x74"];_0x4b91[0];var should=require(_0x4b91[1]);var app=require(_0x4b91[2]);var request=require(_0x4b91[3]);describe(_0x4b91[4],function(){it(_0x4b91[5],function(_0x22fdx4){request(app)[_0x4b91[13]](_0x4b91[12])[_0x4b91[11]](200)[_0x4b91[11]](_0x4b91[10],/json/)[_0x4b91[9]](function(_0x22fdx5,_0x22fdx6){if(_0x22fdx5){return _0x22fdx4(_0x22fdx5)};_0x22fdx6[_0x4b91[8]][_0x4b91[1]][_0x4b91[7]][_0x4b91[6]](Array);_0x22fdx4();})})});
\ No newline at end of file
index 41d83a39ef09ce633472662f220bcbe4fbdd4788..b7932614430dcbbd793cda7588146e96291cd6b4 100644 (file)
@@ -1 +1 @@
-var _0xe479=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xe479[0];var express=require(_0xe479[1]);var controller=require(_0xe479[2]);var router=express.Router();router[_0xe479[5]](_0xe479[3],controller[_0xe479[4]]);router[_0xe479[5]](_0xe479[6],controller[_0xe479[7]]);router[_0xe479[5]](_0xe479[8],controller[_0xe479[9]]);router[_0xe479[11]](_0xe479[3],controller[_0xe479[10]]);router[_0xe479[13]](_0xe479[8],controller[_0xe479[12]]);router[_0xe479[14]](_0xe479[8],controller[_0xe479[12]]);router[_0xe479[16]](_0xe479[8],controller[_0xe479[15]]);module[_0xe479[17]]=router;
\ No newline at end of file
+var _0x128e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x128e[0];var express=require(_0x128e[1]);var controller=require(_0x128e[2]);var router=express.Router();router[_0x128e[5]](_0x128e[3],controller[_0x128e[4]]);router[_0x128e[5]](_0x128e[6],controller[_0x128e[7]]);router[_0x128e[5]](_0x128e[8],controller[_0x128e[9]]);router[_0x128e[11]](_0x128e[3],controller[_0x128e[10]]);router[_0x128e[13]](_0x128e[8],controller[_0x128e[12]]);router[_0x128e[14]](_0x128e[8],controller[_0x128e[12]]);router[_0x128e[16]](_0x128e[8],controller[_0x128e[15]]);module[_0x128e[17]]=router;
\ No newline at end of file
index 6ba71b7f9185f8ed7bfc142691cb746ac9390478..b47f4c190c75001035bbdb8b9eb2010ec8ae75e7 100644 (file)
@@ -1 +1 @@
-var _0x5f84=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x53\x65\x73\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79"];_0x5f84[0];var _=require(_0x5f84[1]);var ReportMailSession=require(_0x5f84[3])[_0x5f84[2]];exports[_0x5f84[4]]=function(_0x407fx3,_0x407fx4){ReportMailSession[_0x5f84[9]]()[_0x5f84[8]](function(_0x407fx6){return _0x407fx4[_0x5f84[7]](200)[_0x5f84[6]](_0x407fx6)})[_0x5f84[5]](function(_0x407fx5){return handleError(_0x407fx4,_0x407fx5)})};exports[_0x5f84[10]]=function(_0x407fx3,_0x407fx4){ReportMailSession[_0x5f84[10]]()[_0x5f84[8]](function(_0x407fx7){return _0x407fx4[_0x5f84[7]](200)[_0x5f84[6]](_0x407fx7)})[_0x5f84[5]](function(_0x407fx5){return handleError(_0x407fx4,_0x407fx5)})};exports[_0x5f84[11]]=function(_0x407fx3,_0x407fx4){ReportMailSession[_0x5f84[15]](_0x407fx3[_0x5f84[14]][_0x5f84[13]])[_0x5f84[8]](function(_0x407fx8){if(!_0x407fx8){return _0x407fx4[_0x5f84[12]](404)};return _0x407fx4[_0x5f84[6]](_0x407fx8);})[_0x5f84[5]](function(_0x407fx5){return handleError(_0x407fx4,_0x407fx5)})};exports[_0x5f84[16]]=function(_0x407fx3,_0x407fx4){ReportMailSession[_0x5f84[16]](_0x407fx3[_0x5f84[17]])[_0x5f84[8]](function(_0x407fx8){return _0x407fx4[_0x5f84[7]](201)[_0x5f84[6]](_0x407fx8)})[_0x5f84[5]](function(_0x407fx5){return handleError(_0x407fx4,_0x407fx5)})};exports[_0x5f84[18]]=function(_0x407fx3,_0x407fx4){if(_0x407fx3[_0x5f84[17]][_0x5f84[13]]){delete _0x407fx3[_0x5f84[17]][_0x5f84[13]]};ReportMailSession[_0x5f84[21]]({where:{id:_0x407fx3[_0x5f84[14]][_0x5f84[13]]}})[_0x5f84[8]](function(_0x407fx8){if(!_0x407fx8){return _0x407fx4[_0x5f84[12]](404)};var _0x407fx9=_[_0x5f84[19]](_0x407fx8,_0x407fx3[_0x5f84[17]]);_0x407fx9[_0x5f84[20]]()[_0x5f84[8]](function(){return _0x407fx4[_0x5f84[7]](200)[_0x5f84[6]](_0x407fx8)})[_0x5f84[5]](function(_0x407fx5){return handleError(_0x407fx4,_0x407fx5)});})[_0x5f84[5]](function(_0x407fx5){return handleError(_0x407fx4,_0x407fx5)});};exports[_0x5f84[22]]=function(_0x407fx3,_0x407fx4){ReportMailSession[_0x5f84[21]]({where:{id:_0x407fx3[_0x5f84[14]][_0x5f84[13]]}})[_0x5f84[8]](function(_0x407fx8){if(!_0x407fx8){return _0x407fx4[_0x5f84[12]](404)};_0x407fx8[_0x5f84[22]]()[_0x5f84[8]](function(){return _0x407fx4[_0x5f84[12]](204)})[_0x5f84[5]](function(_0x407fx5){return handleError(_0x407fx4,_0x407fx5)});})[_0x5f84[5]](function(_0x407fx5){return handleError(_0x407fx4,_0x407fx5)})};function handleError(_0x407fx4,_0x407fx5){return _0x407fx4[_0x5f84[7]](500)[_0x5f84[6]](_0x407fx5)}
\ No newline at end of file
+var _0x87a5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x53\x65\x73\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79"];_0x87a5[0];var _=require(_0x87a5[1]);var ReportMailSession=require(_0x87a5[3])[_0x87a5[2]];exports[_0x87a5[4]]=function(_0xe670x3,_0xe670x4){ReportMailSession[_0x87a5[9]]()[_0x87a5[8]](function(_0xe670x6){return _0xe670x4[_0x87a5[7]](200)[_0x87a5[6]](_0xe670x6)})[_0x87a5[5]](function(_0xe670x5){return handleError(_0xe670x4,_0xe670x5)})};exports[_0x87a5[10]]=function(_0xe670x3,_0xe670x4){ReportMailSession[_0x87a5[10]]()[_0x87a5[8]](function(_0xe670x7){return _0xe670x4[_0x87a5[7]](200)[_0x87a5[6]](_0xe670x7)})[_0x87a5[5]](function(_0xe670x5){return handleError(_0xe670x4,_0xe670x5)})};exports[_0x87a5[11]]=function(_0xe670x3,_0xe670x4){ReportMailSession[_0x87a5[15]](_0xe670x3[_0x87a5[14]][_0x87a5[13]])[_0x87a5[8]](function(_0xe670x8){if(!_0xe670x8){return _0xe670x4[_0x87a5[12]](404)};return _0xe670x4[_0x87a5[6]](_0xe670x8);})[_0x87a5[5]](function(_0xe670x5){return handleError(_0xe670x4,_0xe670x5)})};exports[_0x87a5[16]]=function(_0xe670x3,_0xe670x4){ReportMailSession[_0x87a5[16]](_0xe670x3[_0x87a5[17]])[_0x87a5[8]](function(_0xe670x8){return _0xe670x4[_0x87a5[7]](201)[_0x87a5[6]](_0xe670x8)})[_0x87a5[5]](function(_0xe670x5){return handleError(_0xe670x4,_0xe670x5)})};exports[_0x87a5[18]]=function(_0xe670x3,_0xe670x4){if(_0xe670x3[_0x87a5[17]][_0x87a5[13]]){delete _0xe670x3[_0x87a5[17]][_0x87a5[13]]};ReportMailSession[_0x87a5[21]]({where:{id:_0xe670x3[_0x87a5[14]][_0x87a5[13]]}})[_0x87a5[8]](function(_0xe670x8){if(!_0xe670x8){return _0xe670x4[_0x87a5[12]](404)};var _0xe670x9=_[_0x87a5[19]](_0xe670x8,_0xe670x3[_0x87a5[17]]);_0xe670x9[_0x87a5[20]]()[_0x87a5[8]](function(){return _0xe670x4[_0x87a5[7]](200)[_0x87a5[6]](_0xe670x8)})[_0x87a5[5]](function(_0xe670x5){return handleError(_0xe670x4,_0xe670x5)});})[_0x87a5[5]](function(_0xe670x5){return handleError(_0xe670x4,_0xe670x5)});};exports[_0x87a5[22]]=function(_0xe670x3,_0xe670x4){ReportMailSession[_0x87a5[21]]({where:{id:_0xe670x3[_0x87a5[14]][_0x87a5[13]]}})[_0x87a5[8]](function(_0xe670x8){if(!_0xe670x8){return _0xe670x4[_0x87a5[12]](404)};_0xe670x8[_0x87a5[22]]()[_0x87a5[8]](function(){return _0xe670x4[_0x87a5[12]](204)})[_0x87a5[5]](function(_0xe670x5){return handleError(_0xe670x4,_0xe670x5)});})[_0x87a5[5]](function(_0xe670x5){return handleError(_0xe670x4,_0xe670x5)})};function handleError(_0xe670x4,_0xe670x5){return _0xe670x4[_0x87a5[7]](500)[_0x87a5[6]](_0xe670x5)}
\ No newline at end of file
index 9b2ae1936cb841576bac6d3631619cd2a7da4b44..f9028c3637d54635d370430f8c0c83a0aec4f19c 100644 (file)
@@ -1 +1 @@
-var _0xafc3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x53\x65\x73\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0xafc3[0];var ReportMailSession=require(_0xafc3[2])[_0xafc3[1]];exports[_0xafc3[3]]=function(_0xc375x2){ReportMailSession[_0xafc3[4]](function(_0xc375x3){onSave(_0xc375x2,_0xc375x3)});ReportMailSession[_0xafc3[5]](function(_0xc375x3){onSave(_0xc375x2,_0xc375x3)});ReportMailSession[_0xafc3[6]](function(_0xc375x3){onRemove(_0xc375x2,_0xc375x3)});};function onSave(_0xc375x2,_0xc375x3,_0xc375x5){_0xc375x2[_0xafc3[8]](_0xafc3[7],_0xc375x3)}function onRemove(_0xc375x2,_0xc375x3,_0xc375x5){_0xc375x2[_0xafc3[8]](_0xafc3[9],_0xc375x3)}
\ No newline at end of file
+var _0xcdaa=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x53\x65\x73\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0xcdaa[0];var ReportMailSession=require(_0xcdaa[2])[_0xcdaa[1]];exports[_0xcdaa[3]]=function(_0xe415x2){ReportMailSession[_0xcdaa[4]](function(_0xe415x3){onSave(_0xe415x2,_0xe415x3)});ReportMailSession[_0xcdaa[5]](function(_0xe415x3){onSave(_0xe415x2,_0xe415x3)});ReportMailSession[_0xcdaa[6]](function(_0xe415x3){onRemove(_0xe415x2,_0xe415x3)});};function onSave(_0xe415x2,_0xe415x3,_0xe415x5){_0xe415x2[_0xcdaa[8]](_0xcdaa[7],_0xe415x3)}function onRemove(_0xe415x2,_0xe415x3,_0xe415x5){_0xe415x2[_0xcdaa[8]](_0xcdaa[9],_0xe415x3)}
\ No newline at end of file
index cbec1c04f5b45684f041a0c8bbe15ab3d2b01627..553d1d75dd6a0ea828afb6f8982e3f40448164a9 100644 (file)
@@ -1 +1 @@
-var _0x9e85=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x6D\x61\x69\x6C\x2F\x73\x65\x73\x73\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x6D\x61\x69\x6C\x2F\x73\x65\x73\x73\x69\x6F\x6E\x73","\x67\x65\x74"];_0x9e85[0];var should=require(_0x9e85[1]);var app=require(_0x9e85[2]);var request=require(_0x9e85[3]);describe(_0x9e85[4],function(){it(_0x9e85[5],function(_0x73efx4){request(app)[_0x9e85[13]](_0x9e85[12])[_0x9e85[11]](200)[_0x9e85[11]](_0x9e85[10],/json/)[_0x9e85[9]](function(_0x73efx5,_0x73efx6){if(_0x73efx5){return _0x73efx4(_0x73efx5)};_0x73efx6[_0x9e85[8]][_0x9e85[1]][_0x9e85[7]][_0x9e85[6]](Array);_0x73efx4();})})});
\ No newline at end of file
+var _0x3347=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x6D\x61\x69\x6C\x2F\x73\x65\x73\x73\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x6D\x61\x69\x6C\x2F\x73\x65\x73\x73\x69\x6F\x6E\x73","\x67\x65\x74"];_0x3347[0];var should=require(_0x3347[1]);var app=require(_0x3347[2]);var request=require(_0x3347[3]);describe(_0x3347[4],function(){it(_0x3347[5],function(_0xabd5x4){request(app)[_0x3347[13]](_0x3347[12])[_0x3347[11]](200)[_0x3347[11]](_0x3347[10],/json/)[_0x3347[9]](function(_0xabd5x5,_0xabd5x6){if(_0xabd5x5){return _0xabd5x4(_0xabd5x5)};_0xabd5x6[_0x3347[8]][_0x3347[1]][_0x3347[7]][_0x3347[6]](Array);_0xabd5x4();})})});
\ No newline at end of file
index 1ed39ad28e89c4afc2f0ebde23660f6167480673..44a0462f439ac9999ed3bb43920f4dfdbd1aff7e 100644 (file)
@@ -1 +1 @@
-var _0xed18=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xed18[0];var express=require(_0xed18[1]);var controller=require(_0xed18[2]);var router=express.Router();router[_0xed18[5]](_0xed18[3],controller[_0xed18[4]]);router[_0xed18[5]](_0xed18[6],controller[_0xed18[7]]);router[_0xed18[5]](_0xed18[8],controller[_0xed18[9]]);router[_0xed18[11]](_0xed18[3],controller[_0xed18[10]]);router[_0xed18[13]](_0xed18[8],controller[_0xed18[12]]);router[_0xed18[14]](_0xed18[8],controller[_0xed18[12]]);router[_0xed18[16]](_0xed18[8],controller[_0xed18[15]]);module[_0xed18[17]]=router;
\ No newline at end of file
+var _0x4802=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x4802[0];var express=require(_0x4802[1]);var controller=require(_0x4802[2]);var router=express.Router();router[_0x4802[5]](_0x4802[3],controller[_0x4802[4]]);router[_0x4802[5]](_0x4802[6],controller[_0x4802[7]]);router[_0x4802[5]](_0x4802[8],controller[_0x4802[9]]);router[_0x4802[11]](_0x4802[3],controller[_0x4802[10]]);router[_0x4802[13]](_0x4802[8],controller[_0x4802[12]]);router[_0x4802[14]](_0x4802[8],controller[_0x4802[12]]);router[_0x4802[16]](_0x4802[8],controller[_0x4802[15]]);module[_0x4802[17]]=router;
\ No newline at end of file
index 79397b21415768387f5859851b7ee974a7a22b26..df31d27f12a35df3648972a8581e5cef08415cf3 100644 (file)
@@ -1 +1 @@
-var _0x6667=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x6667[0];var _=require(_0x6667[1]);var ReportQueue=require(_0x6667[3])[_0x6667[2]];exports[_0x6667[4]]=function(_0xc6fbx3,_0xc6fbx4){ReportQueue[_0x6667[9]]()[_0x6667[8]](function(_0xc6fbx6){return _0xc6fbx4[_0x6667[7]](200)[_0x6667[6]](_0xc6fbx6)})[_0x6667[5]](function(_0xc6fbx5){return handleError(_0xc6fbx4,_0xc6fbx5)})};exports[_0x6667[10]]=function(_0xc6fbx3,_0xc6fbx4){ReportQueue[_0x6667[10]]()[_0x6667[8]](function(_0xc6fbx7){return _0xc6fbx4[_0x6667[7]](200)[_0x6667[6]](_0xc6fbx7)})[_0x6667[5]](function(_0xc6fbx5){return handleError(_0xc6fbx4,_0xc6fbx5)})};exports[_0x6667[11]]=function(_0xc6fbx3,_0xc6fbx4){ReportQueue[_0x6667[15]](_0xc6fbx3[_0x6667[14]][_0x6667[13]])[_0x6667[8]](function(_0xc6fbx8){if(!_0xc6fbx8){return _0xc6fbx4[_0x6667[12]](404)};return _0xc6fbx4[_0x6667[6]](_0xc6fbx8);})[_0x6667[5]](function(_0xc6fbx5){return handleError(_0xc6fbx4,_0xc6fbx5)})};exports[_0x6667[16]]=function(_0xc6fbx3,_0xc6fbx4){ReportQueue[_0x6667[16]](_0xc6fbx3[_0x6667[17]])[_0x6667[8]](function(_0xc6fbx8){return _0xc6fbx4[_0x6667[7]](201)[_0x6667[6]](_0xc6fbx8)})[_0x6667[5]](function(_0xc6fbx5){return handleError(_0xc6fbx4,_0xc6fbx5)})};exports[_0x6667[18]]=function(_0xc6fbx3,_0xc6fbx4){if(_0xc6fbx3[_0x6667[17]][_0x6667[13]]){delete _0xc6fbx3[_0x6667[17]][_0x6667[13]]};ReportQueue[_0x6667[15]](_0xc6fbx3[_0x6667[14]][_0x6667[13]])[_0x6667[8]](function(_0xc6fbx8){if(!_0xc6fbx8){return _0xc6fbx4[_0x6667[12]](404)};var _0xc6fbx9=_[_0x6667[19]](_0xc6fbx8,_0xc6fbx3[_0x6667[17]]);_0xc6fbx9[_0x6667[20]]()[_0x6667[8]](function(){return _0xc6fbx4[_0x6667[7]](200)[_0x6667[6]](_0xc6fbx8)})[_0x6667[5]](function(_0xc6fbx5){return handleError(_0xc6fbx4,_0xc6fbx5)});})[_0x6667[5]](function(_0xc6fbx5){return handleError(_0xc6fbx4,_0xc6fbx5)});};exports[_0x6667[21]]=function(_0xc6fbx3,_0xc6fbx4){ReportQueue[_0x6667[15]](_0xc6fbx3[_0x6667[14]][_0x6667[13]])[_0x6667[8]](function(_0xc6fbx8){if(!_0xc6fbx8){return _0xc6fbx4[_0x6667[12]](404)};_0xc6fbx8[_0x6667[21]]()[_0x6667[8]](function(){return _0xc6fbx4[_0x6667[12]](204)})[_0x6667[5]](function(_0xc6fbx5){return handleError(_0xc6fbx4,_0xc6fbx5)});})[_0x6667[5]](function(_0xc6fbx5){return handleError(_0xc6fbx4,_0xc6fbx5)})};function handleError(_0xc6fbx4,_0xc6fbx5){return _0xc6fbx4[_0x6667[7]](500)[_0x6667[6]](_0xc6fbx5)}
\ No newline at end of file
+var _0xa8dd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xa8dd[0];var _=require(_0xa8dd[1]);var ReportQueue=require(_0xa8dd[3])[_0xa8dd[2]];exports[_0xa8dd[4]]=function(_0x1e75x3,_0x1e75x4){ReportQueue[_0xa8dd[9]]()[_0xa8dd[8]](function(_0x1e75x6){return _0x1e75x4[_0xa8dd[7]](200)[_0xa8dd[6]](_0x1e75x6)})[_0xa8dd[5]](function(_0x1e75x5){return handleError(_0x1e75x4,_0x1e75x5)})};exports[_0xa8dd[10]]=function(_0x1e75x3,_0x1e75x4){ReportQueue[_0xa8dd[10]]()[_0xa8dd[8]](function(_0x1e75x7){return _0x1e75x4[_0xa8dd[7]](200)[_0xa8dd[6]](_0x1e75x7)})[_0xa8dd[5]](function(_0x1e75x5){return handleError(_0x1e75x4,_0x1e75x5)})};exports[_0xa8dd[11]]=function(_0x1e75x3,_0x1e75x4){ReportQueue[_0xa8dd[15]](_0x1e75x3[_0xa8dd[14]][_0xa8dd[13]])[_0xa8dd[8]](function(_0x1e75x8){if(!_0x1e75x8){return _0x1e75x4[_0xa8dd[12]](404)};return _0x1e75x4[_0xa8dd[6]](_0x1e75x8);})[_0xa8dd[5]](function(_0x1e75x5){return handleError(_0x1e75x4,_0x1e75x5)})};exports[_0xa8dd[16]]=function(_0x1e75x3,_0x1e75x4){ReportQueue[_0xa8dd[16]](_0x1e75x3[_0xa8dd[17]])[_0xa8dd[8]](function(_0x1e75x8){return _0x1e75x4[_0xa8dd[7]](201)[_0xa8dd[6]](_0x1e75x8)})[_0xa8dd[5]](function(_0x1e75x5){return handleError(_0x1e75x4,_0x1e75x5)})};exports[_0xa8dd[18]]=function(_0x1e75x3,_0x1e75x4){if(_0x1e75x3[_0xa8dd[17]][_0xa8dd[13]]){delete _0x1e75x3[_0xa8dd[17]][_0xa8dd[13]]};ReportQueue[_0xa8dd[15]](_0x1e75x3[_0xa8dd[14]][_0xa8dd[13]])[_0xa8dd[8]](function(_0x1e75x8){if(!_0x1e75x8){return _0x1e75x4[_0xa8dd[12]](404)};var _0x1e75x9=_[_0xa8dd[19]](_0x1e75x8,_0x1e75x3[_0xa8dd[17]]);_0x1e75x9[_0xa8dd[20]]()[_0xa8dd[8]](function(){return _0x1e75x4[_0xa8dd[7]](200)[_0xa8dd[6]](_0x1e75x8)})[_0xa8dd[5]](function(_0x1e75x5){return handleError(_0x1e75x4,_0x1e75x5)});})[_0xa8dd[5]](function(_0x1e75x5){return handleError(_0x1e75x4,_0x1e75x5)});};exports[_0xa8dd[21]]=function(_0x1e75x3,_0x1e75x4){ReportQueue[_0xa8dd[15]](_0x1e75x3[_0xa8dd[14]][_0xa8dd[13]])[_0xa8dd[8]](function(_0x1e75x8){if(!_0x1e75x8){return _0x1e75x4[_0xa8dd[12]](404)};_0x1e75x8[_0xa8dd[21]]()[_0xa8dd[8]](function(){return _0x1e75x4[_0xa8dd[12]](204)})[_0xa8dd[5]](function(_0x1e75x5){return handleError(_0x1e75x4,_0x1e75x5)});})[_0xa8dd[5]](function(_0x1e75x5){return handleError(_0x1e75x4,_0x1e75x5)})};function handleError(_0x1e75x4,_0x1e75x5){return _0x1e75x4[_0xa8dd[7]](500)[_0xa8dd[6]](_0x1e75x5)}
\ No newline at end of file
index 2a5199660dbad9e1b1ee7b87b595b12541a2e167..9f9f4ed61d5ff8451d67c94b78e337566a11c9e6 100644 (file)
@@ -1 +1 @@
-var _0x5afc=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x72\x6F\x6C\x65","\x61\x64\x6D\x69\x6E","\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0x5afc[0];var ReportQueue=require(_0x5afc[2])[_0x5afc[1]];exports[_0x5afc[3]]=function(_0xf518x2){ReportQueue[_0x5afc[4]](function(_0xf518x3){onSave(_0xf518x2,_0xf518x3)});ReportQueue[_0x5afc[5]](function(_0xf518x3){onSave(_0xf518x2,_0xf518x3)});ReportQueue[_0x5afc[6]](function(_0xf518x3){onRemove(_0xf518x2,_0xf518x3)});};function onSave(_0xf518x2,_0xf518x3,_0xf518x5){if(_0xf518x2[_0x5afc[7]]===_0x5afc[8]){_0xf518x2[_0x5afc[10]](_0x5afc[9],_0xf518x3)}}function onRemove(_0xf518x2,_0xf518x3,_0xf518x5){_0xf518x2[_0x5afc[10]](_0x5afc[11],_0xf518x3)}
\ No newline at end of file
+var _0x53a2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x72\x6F\x6C\x65","\x61\x64\x6D\x69\x6E","\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0x53a2[0];var ReportQueue=require(_0x53a2[2])[_0x53a2[1]];exports[_0x53a2[3]]=function(_0x785bx2){ReportQueue[_0x53a2[4]](function(_0x785bx3){onSave(_0x785bx2,_0x785bx3)});ReportQueue[_0x53a2[5]](function(_0x785bx3){onSave(_0x785bx2,_0x785bx3)});ReportQueue[_0x53a2[6]](function(_0x785bx3){onRemove(_0x785bx2,_0x785bx3)});};function onSave(_0x785bx2,_0x785bx3,_0x785bx5){if(_0x785bx2[_0x53a2[7]]===_0x53a2[8]){_0x785bx2[_0x53a2[10]](_0x53a2[9],_0x785bx3)}}function onRemove(_0x785bx2,_0x785bx3,_0x785bx5){_0x785bx2[_0x53a2[10]](_0x53a2[11],_0x785bx3)}
\ No newline at end of file
index 0b314aa1a2c87dc9a14b90d534ee6ce7796e2a83..fbe462ffaf678ea6513cd1dc30bfef3f063f81d6 100644 (file)
@@ -1 +1 @@
-var _0x5879=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x74\x72\x65\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x65\x78\x70\x6F\x72\x74\x73"];_0x5879[0];var express=require(_0x5879[1]);var controller=require(_0x5879[2]);var router=express.Router();router[_0x5879[5]](_0x5879[3],controller[_0x5879[4]]);router[_0x5879[8]](_0x5879[6],controller[_0x5879[7]]);router[_0x5879[9]](_0x5879[6],controller[_0x5879[7]]);module[_0x5879[10]]=router;
\ No newline at end of file
+var _0x4e84=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x74\x72\x65\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x65\x78\x70\x6F\x72\x74\x73"];_0x4e84[0];var express=require(_0x4e84[1]);var controller=require(_0x4e84[2]);var router=express.Router();router[_0x4e84[5]](_0x4e84[3],controller[_0x4e84[4]]);router[_0x4e84[8]](_0x4e84[6],controller[_0x4e84[7]]);router[_0x4e84[9]](_0x4e84[6],controller[_0x4e84[7]]);module[_0x4e84[10]]=router;
\ No newline at end of file
index 1c976325f08138fb3cd741f8e3cc638a592ec0bd..10d676900e3e28fab3c6d429cdb934bb0c09afc7 100644 (file)
@@ -1 +1 @@
-var _0x34fd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x52\x65\x70\x6F\x72\x74\x54\x72\x65\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x75\x70\x64\x61\x74\x65","\x62\x6F\x64\x79","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64"];_0x34fd[0];var _=require(_0x34fd[1]);var util=require(_0x34fd[2]);var ReportTree=require(_0x34fd[4])[_0x34fd[3]];exports[_0x34fd[5]]=function(_0x6683x4,_0x6683x5){ReportTree[_0x34fd[11]]()[_0x34fd[10]](function(_0x6683x7){if(!_0x6683x7){return _0x6683x5[_0x34fd[7]](404)};return _0x6683x5[_0x34fd[9]](200)[_0x34fd[8]](_0x6683x7);})[_0x34fd[6]](function(_0x6683x6){return handleError(_0x6683x5,_0x6683x6)})};exports[_0x34fd[12]]=function(_0x6683x4,_0x6683x5){ReportTree[_0x34fd[18]](_0x6683x4[_0x34fd[17]][_0x34fd[16]])[_0x34fd[10]](function(_0x6683x8){if(!_0x6683x8){return _0x6683x5[_0x34fd[7]](404)};var _0x6683x9=_[_0x34fd[14]](_0x6683x8,_0x6683x4[_0x34fd[13]]);_0x6683x9[_0x34fd[15]]()[_0x34fd[10]](function(){return _0x6683x5[_0x34fd[9]](200)[_0x34fd[8]](_0x6683x8)})[_0x34fd[6]](function(_0x6683x6){return handleError(_0x6683x5,_0x6683x6)});})[_0x34fd[6]](function(_0x6683x6){return handleError(_0x6683x5,_0x6683x6)})};function handleError(_0x6683x5,_0x6683x6){return _0x6683x5[_0x34fd[9]](500)[_0x34fd[8]](_0x6683x6)}
\ No newline at end of file
+var _0x8030=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x52\x65\x70\x6F\x72\x74\x54\x72\x65\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x75\x70\x64\x61\x74\x65","\x62\x6F\x64\x79","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64"];_0x8030[0];var _=require(_0x8030[1]);var util=require(_0x8030[2]);var ReportTree=require(_0x8030[4])[_0x8030[3]];exports[_0x8030[5]]=function(_0xea65x4,_0xea65x5){ReportTree[_0x8030[11]]()[_0x8030[10]](function(_0xea65x7){if(!_0xea65x7){return _0xea65x5[_0x8030[7]](404)};return _0xea65x5[_0x8030[9]](200)[_0x8030[8]](_0xea65x7);})[_0x8030[6]](function(_0xea65x6){return handleError(_0xea65x5,_0xea65x6)})};exports[_0x8030[12]]=function(_0xea65x4,_0xea65x5){ReportTree[_0x8030[18]](_0xea65x4[_0x8030[17]][_0x8030[16]])[_0x8030[10]](function(_0xea65x8){if(!_0xea65x8){return _0xea65x5[_0x8030[7]](404)};var _0xea65x9=_[_0x8030[14]](_0xea65x8,_0xea65x4[_0x8030[13]]);_0xea65x9[_0x8030[15]]()[_0x8030[10]](function(){return _0xea65x5[_0x8030[9]](200)[_0x8030[8]](_0xea65x8)})[_0x8030[6]](function(_0xea65x6){return handleError(_0xea65x5,_0xea65x6)});})[_0x8030[6]](function(_0xea65x6){return handleError(_0xea65x5,_0xea65x6)})};function handleError(_0xea65x5,_0xea65x6){return _0xea65x5[_0x8030[9]](500)[_0x8030[8]](_0xea65x6)}
\ No newline at end of file
index 7cc2ee24730c50eb9ffa5a7ae37704205854ee2c..f6d9828abd3436215f08fb1b9fade3a455a19c18 100644 (file)
@@ -1 +1 @@
-var _0x348e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x52\x65\x70\x6F\x72\x74\x54\x72\x65\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x72\x65\x70\x6F\x72\x74\x5F\x74\x72\x65\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x72\x65\x70\x6F\x72\x74\x5F\x74\x72\x65\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0x348e[0];var ReportTree=require(_0x348e[2])[_0x348e[1]];exports[_0x348e[3]]=function(_0x1ed0x2){ReportTree[_0x348e[4]](function(_0x1ed0x3){onSave(_0x1ed0x2,_0x1ed0x3)});ReportTree[_0x348e[5]](function(_0x1ed0x3){onSave(_0x1ed0x2,_0x1ed0x3)});ReportTree[_0x348e[6]](function(_0x1ed0x3){onRemove(_0x1ed0x2,_0x1ed0x3)});};function onSave(_0x1ed0x2,_0x1ed0x3,_0x1ed0x5){_0x1ed0x2[_0x348e[8]](_0x348e[7],_0x1ed0x3)}function onRemove(_0x1ed0x2,_0x1ed0x3,_0x1ed0x5){_0x1ed0x2[_0x348e[8]](_0x348e[9],_0x1ed0x3)}
\ No newline at end of file
+var _0xb003=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x52\x65\x70\x6F\x72\x74\x54\x72\x65\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x72\x65\x70\x6F\x72\x74\x5F\x74\x72\x65\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x72\x65\x70\x6F\x72\x74\x5F\x74\x72\x65\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0xb003[0];var ReportTree=require(_0xb003[2])[_0xb003[1]];exports[_0xb003[3]]=function(_0x8cfcx2){ReportTree[_0xb003[4]](function(_0x8cfcx3){onSave(_0x8cfcx2,_0x8cfcx3)});ReportTree[_0xb003[5]](function(_0x8cfcx3){onSave(_0x8cfcx2,_0x8cfcx3)});ReportTree[_0xb003[6]](function(_0x8cfcx3){onRemove(_0x8cfcx2,_0x8cfcx3)});};function onSave(_0x8cfcx2,_0x8cfcx3,_0x8cfcx5){_0x8cfcx2[_0xb003[8]](_0xb003[7],_0x8cfcx3)}function onRemove(_0x8cfcx2,_0x8cfcx3,_0x8cfcx5){_0x8cfcx2[_0xb003[8]](_0xb003[9],_0x8cfcx3)}
\ No newline at end of file
index 352d4129d4280d1c902b9e541e7f76fc213ec25a..e9a0ad25f840e03f432eddf747a744abc0d2fd53 100644 (file)
@@ -1 +1 @@
-var _0x1dc5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x73\x2F\x72\x65\x70\x6F\x72\x74\x73\x2F\x74\x72\x65\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x2F\x72\x65\x70\x6F\x72\x74\x73\x2F\x74\x72\x65\x65\x73","\x67\x65\x74"];_0x1dc5[0];var should=require(_0x1dc5[1]);var app=require(_0x1dc5[2]);var request=require(_0x1dc5[3]);describe(_0x1dc5[4],function(){it(_0x1dc5[5],function(_0xcfa2x4){request(app)[_0x1dc5[13]](_0x1dc5[12])[_0x1dc5[11]](200)[_0x1dc5[11]](_0x1dc5[10],/json/)[_0x1dc5[9]](function(_0xcfa2x5,_0xcfa2x6){if(_0xcfa2x5){return _0xcfa2x4(_0xcfa2x5)};_0xcfa2x6[_0x1dc5[8]][_0x1dc5[1]][_0x1dc5[7]][_0x1dc5[6]](Array);_0xcfa2x4();})})});
\ No newline at end of file
+var _0x7bec=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x73\x2F\x72\x65\x70\x6F\x72\x74\x73\x2F\x74\x72\x65\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x2F\x72\x65\x70\x6F\x72\x74\x73\x2F\x74\x72\x65\x65\x73","\x67\x65\x74"];_0x7bec[0];var should=require(_0x7bec[1]);var app=require(_0x7bec[2]);var request=require(_0x7bec[3]);describe(_0x7bec[4],function(){it(_0x7bec[5],function(_0xedcfx4){request(app)[_0x7bec[13]](_0x7bec[12])[_0x7bec[11]](200)[_0x7bec[11]](_0x7bec[10],/json/)[_0x7bec[9]](function(_0xedcfx5,_0xedcfx6){if(_0xedcfx5){return _0xedcfx4(_0xedcfx5)};_0xedcfx6[_0x7bec[8]][_0x7bec[1]][_0x7bec[7]][_0x7bec[6]](Array);_0xedcfx4();})})});
\ No newline at end of file
index 7ff61c7e844cc90c2207513a7d5193b44de39a01..0cfeb6d8f2913aa5159b5ba01ed23cbfa4874c94 100644 (file)
@@ -1 +1 @@
-var _0x674b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x63\x68\x65\x63\x6B","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2F\x3A\x69\x64\x2F\x66\x69\x65\x6C\x64\x73","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65\x2F\x3A\x66\x69\x65\x6C\x64","\x61\x63\x63\x6F\x75\x6E\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x70\x6F\x73\x74","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x674b[0];var express=require(_0x674b[1]);var auth=require(_0x674b[2]);var controller=require(_0x674b[3]);var router=express.Router();router[_0x674b[7]](_0x674b[4],auth[_0x674b[5]](),controller[_0x674b[6]]);router[_0x674b[7]](_0x674b[8],auth[_0x674b[5]](),controller[_0x674b[9]]);router[_0x674b[7]](_0x674b[10],auth[_0x674b[5]](),controller[_0x674b[11]]);router[_0x674b[7]](_0x674b[12],auth[_0x674b[5]](),controller[_0x674b[13]]);router[_0x674b[16]](_0x674b[14],auth[_0x674b[5]](),controller[_0x674b[15]]);router[_0x674b[16]](_0x674b[4],auth[_0x674b[5]](),controller[_0x674b[17]]);router[_0x674b[19]](_0x674b[8],auth[_0x674b[5]](),controller[_0x674b[18]]);router[_0x674b[20]](_0x674b[8],auth[_0x674b[5]](),controller[_0x674b[18]]);router[_0x674b[22]](_0x674b[4],auth[_0x674b[5]](),controller[_0x674b[21]]);router[_0x674b[22]](_0x674b[8],auth[_0x674b[5]](),controller[_0x674b[23]]);module[_0x674b[24]]=router;
\ No newline at end of file
+var _0x8682=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x63\x68\x65\x63\x6B","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2F\x3A\x69\x64\x2F\x66\x69\x65\x6C\x64\x73","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65\x2F\x3A\x66\x69\x65\x6C\x64","\x61\x63\x63\x6F\x75\x6E\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x70\x6F\x73\x74","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x8682[0];var express=require(_0x8682[1]);var auth=require(_0x8682[2]);var controller=require(_0x8682[3]);var router=express.Router();router[_0x8682[7]](_0x8682[4],auth[_0x8682[5]](),controller[_0x8682[6]]);router[_0x8682[7]](_0x8682[8],auth[_0x8682[5]](),controller[_0x8682[9]]);router[_0x8682[7]](_0x8682[10],auth[_0x8682[5]](),controller[_0x8682[11]]);router[_0x8682[7]](_0x8682[12],auth[_0x8682[5]](),controller[_0x8682[13]]);router[_0x8682[16]](_0x8682[14],auth[_0x8682[5]](),controller[_0x8682[15]]);router[_0x8682[16]](_0x8682[4],auth[_0x8682[5]](),controller[_0x8682[17]]);router[_0x8682[19]](_0x8682[8],auth[_0x8682[5]](),controller[_0x8682[18]]);router[_0x8682[20]](_0x8682[8],auth[_0x8682[5]](),controller[_0x8682[18]]);router[_0x8682[22]](_0x8682[4],auth[_0x8682[5]](),controller[_0x8682[21]]);router[_0x8682[22]](_0x8682[8],auth[_0x8682[5]](),controller[_0x8682[23]]);module[_0x8682[24]]=router;
\ No newline at end of file
index 3a13bd8678017b631d95b1eabb2378b5d22ed165..ae8b1ee68c244c3acea0ca1791e37b7fefa9e696 100644 (file)
@@ -1 +1 @@
-var _0x32da=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6E\x6F\x50\x72\x65\x73\x65\x72\x76\x65\x43\x61\x63\x68\x65","\x70\x72\x6F\x78\x79\x71\x75\x69\x72\x65","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x69\x6E\x64\x65\x78","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x73\x68\x6F\x77","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x63\x72\x65\x61\x74\x65","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x75\x70\x64\x61\x74\x65","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x64\x65\x73\x74\x72\x6F\x79","\x73\x70\x79","\x2E\x2F\x69\x6E\x64\x65\x78\x2E\x6A\x73","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74\x20\x41\x50\x49\x20\x52\x6F\x75\x74\x65\x72\x3A","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x74\x75\x72\x6E\x20\x61\x6E\x20\x65\x78\x70\x72\x65\x73\x73\x20\x72\x6F\x75\x74\x65\x72\x20\x69\x6E\x73\x74\x61\x6E\x63\x65","\x65\x71\x75\x61\x6C","\x74\x6F","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x69\x6E\x64\x65\x78","\x63\x61\x6C\x6C\x65\x64\x4F\x6E\x63\x65","\x62\x65\x65\x6E","\x68\x61\x76\x65","\x2F","\x77\x69\x74\x68\x41\x72\x67\x73","\x67\x65\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x73\x68\x6F\x77","\x2F\x3A\x69\x64","\x50\x4F\x53\x54\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x50\x55\x54\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x50\x41\x54\x43\x48\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x3A\x69\x64","\x70\x61\x74\x63\x68","\x44\x45\x4C\x45\x54\x45\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65"];_0x32da[0];var proxyquire=require(_0x32da[2])[_0x32da[1]]();var salesforceAccountCtrlStub={index:_0x32da[3],show:_0x32da[4],create:_0x32da[5],update:_0x32da[6],destroy:_0x32da[7]};var routerStub={get:sinon[_0x32da[8]](),put:sinon[_0x32da[8]](),patch:sinon[_0x32da[8]](),post:sinon[_0x32da[8]](),delete:sinon[_0x32da[8]]()};var salesforceAccountIndex=proxyquire(_0x32da[9],{"\x65\x78\x70\x72\x65\x73\x73":{Router:function(){return routerStub}},"\x2E\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72":salesforceAccountCtrlStub});describe(_0x32da[10],function(){it(_0x32da[11],function(){expect(salesforceAccountIndex)[_0x32da[13]][_0x32da[12]](routerStub)});describe(_0x32da[14],function(){it(_0x32da[15],function(){expect(routerStub[_0x32da[21]][_0x32da[20]](_0x32da[19],_0x32da[3]))[_0x32da[13]][_0x32da[18]][_0x32da[17]][_0x32da[16]]})});describe(_0x32da[22],function(){it(_0x32da[23],function(){expect(routerStub[_0x32da[21]][_0x32da[20]](_0x32da[24],_0x32da[4]))[_0x32da[13]][_0x32da[18]][_0x32da[17]][_0x32da[16]]})});describe(_0x32da[25],function(){it(_0x32da[26],function(){expect(routerStub[_0x32da[27]][_0x32da[20]](_0x32da[19],_0x32da[5]))[_0x32da[13]][_0x32da[18]][_0x32da[17]][_0x32da[16]]})});describe(_0x32da[28],function(){it(_0x32da[29],function(){expect(routerStub[_0x32da[30]][_0x32da[20]](_0x32da[24],_0x32da[6]))[_0x32da[13]][_0x32da[18]][_0x32da[17]][_0x32da[16]]})});describe(_0x32da[31],function(){it(_0x32da[29],function(){expect(routerStub[_0x32da[32]][_0x32da[20]](_0x32da[24],_0x32da[6]))[_0x32da[13]][_0x32da[18]][_0x32da[17]][_0x32da[16]]})});describe(_0x32da[33],function(){it(_0x32da[34],function(){expect(routerStub[_0x32da[35]][_0x32da[20]](_0x32da[24],_0x32da[7]))[_0x32da[13]][_0x32da[18]][_0x32da[17]][_0x32da[16]]})});});
\ No newline at end of file
+var _0x586e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6E\x6F\x50\x72\x65\x73\x65\x72\x76\x65\x43\x61\x63\x68\x65","\x70\x72\x6F\x78\x79\x71\x75\x69\x72\x65","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x69\x6E\x64\x65\x78","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x73\x68\x6F\x77","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x63\x72\x65\x61\x74\x65","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x75\x70\x64\x61\x74\x65","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x64\x65\x73\x74\x72\x6F\x79","\x73\x70\x79","\x2E\x2F\x69\x6E\x64\x65\x78\x2E\x6A\x73","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74\x20\x41\x50\x49\x20\x52\x6F\x75\x74\x65\x72\x3A","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x74\x75\x72\x6E\x20\x61\x6E\x20\x65\x78\x70\x72\x65\x73\x73\x20\x72\x6F\x75\x74\x65\x72\x20\x69\x6E\x73\x74\x61\x6E\x63\x65","\x65\x71\x75\x61\x6C","\x74\x6F","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x69\x6E\x64\x65\x78","\x63\x61\x6C\x6C\x65\x64\x4F\x6E\x63\x65","\x62\x65\x65\x6E","\x68\x61\x76\x65","\x2F","\x77\x69\x74\x68\x41\x72\x67\x73","\x67\x65\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x73\x68\x6F\x77","\x2F\x3A\x69\x64","\x50\x4F\x53\x54\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x50\x55\x54\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x50\x41\x54\x43\x48\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x3A\x69\x64","\x70\x61\x74\x63\x68","\x44\x45\x4C\x45\x54\x45\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65"];_0x586e[0];var proxyquire=require(_0x586e[2])[_0x586e[1]]();var salesforceAccountCtrlStub={index:_0x586e[3],show:_0x586e[4],create:_0x586e[5],update:_0x586e[6],destroy:_0x586e[7]};var routerStub={get:sinon[_0x586e[8]](),put:sinon[_0x586e[8]](),patch:sinon[_0x586e[8]](),post:sinon[_0x586e[8]](),delete:sinon[_0x586e[8]]()};var salesforceAccountIndex=proxyquire(_0x586e[9],{"\x65\x78\x70\x72\x65\x73\x73":{Router:function(){return routerStub}},"\x2E\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72":salesforceAccountCtrlStub});describe(_0x586e[10],function(){it(_0x586e[11],function(){expect(salesforceAccountIndex)[_0x586e[13]][_0x586e[12]](routerStub)});describe(_0x586e[14],function(){it(_0x586e[15],function(){expect(routerStub[_0x586e[21]][_0x586e[20]](_0x586e[19],_0x586e[3]))[_0x586e[13]][_0x586e[18]][_0x586e[17]][_0x586e[16]]})});describe(_0x586e[22],function(){it(_0x586e[23],function(){expect(routerStub[_0x586e[21]][_0x586e[20]](_0x586e[24],_0x586e[4]))[_0x586e[13]][_0x586e[18]][_0x586e[17]][_0x586e[16]]})});describe(_0x586e[25],function(){it(_0x586e[26],function(){expect(routerStub[_0x586e[27]][_0x586e[20]](_0x586e[19],_0x586e[5]))[_0x586e[13]][_0x586e[18]][_0x586e[17]][_0x586e[16]]})});describe(_0x586e[28],function(){it(_0x586e[29],function(){expect(routerStub[_0x586e[30]][_0x586e[20]](_0x586e[24],_0x586e[6]))[_0x586e[13]][_0x586e[18]][_0x586e[17]][_0x586e[16]]})});describe(_0x586e[31],function(){it(_0x586e[29],function(){expect(routerStub[_0x586e[32]][_0x586e[20]](_0x586e[24],_0x586e[6]))[_0x586e[13]][_0x586e[18]][_0x586e[17]][_0x586e[16]]})});describe(_0x586e[33],function(){it(_0x586e[34],function(){expect(routerStub[_0x586e[35]][_0x586e[20]](_0x586e[24],_0x586e[7]))[_0x586e[13]][_0x586e[18]][_0x586e[17]][_0x586e[16]]})});});
\ No newline at end of file
index dd1e1049b2fbe4e1bbc05d79e72757719e0b3677..f45ca3ad9eef1e336ed643c428a604573fc3352d 100644 (file)
@@ -1 +1 @@
-var _0x2412=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x6A\x73\x66\x6F\x72\x63\x65","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x72\x65\x6D\x6F\x74\x65\x55\x72\x69","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x63\x6C\x69\x65\x6E\x74\x49\x64","\x63\x6C\x69\x65\x6E\x74\x53\x65\x63\x72\x65\x74","\x73\x65\x63\x75\x72\x69\x74\x79\x54\x6F\x6B\x65\x6E","\x63\x6F\x6E\x63\x61\x74","\x70\x61\x73\x73\x77\x6F\x72\x64","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x6C\x6F\x67\x69\x6E","\x61\x63\x63\x6F\x75\x6E\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x66\x69\x65\x6C\x64\x73","\x64\x65\x73\x63\x72\x69\x62\x65","\x54\x61\x73\x6B","\x73\x6F\x62\x6A\x65\x63\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0x2412[0];var _=require(_0x2412[1]);var util=require(_0x2412[2]);var jsforce=require(_0x2412[3]);var SalesforceAccount=require(_0x2412[5])[_0x2412[4]];function handleError(_0xc539x6,_0xc539x7){_0xc539x7=_0xc539x7||500;return function(_0xc539x8){_0xc539x6[_0x2412[7]](_0xc539x7)[_0x2412[6]](_0xc539x8)};}function responseWithResult(_0xc539x6,_0xc539x7){_0xc539x7=_0xc539x7||200;return function(_0xc539xa){if(_0xc539xa){_0xc539x6[_0x2412[7]](_0xc539x7)[_0x2412[8]](_0xc539xa)}};}function handleEntityNotFound(_0xc539x6){return function(_0xc539xa){if(!_0xc539xa){_0xc539x6[_0x2412[7]](404)[_0x2412[9]]();return null;};return _0xc539xa;}}function saveUpdates(_0xc539xd){return function(_0xc539xa){return _0xc539xa[_0x2412[11]](_0xc539xd)[_0x2412[10]](function(_0xc539xe){return _0xc539xe})}}function removeEntity(_0xc539x6){return function(_0xc539xa){if(_0xc539xa){return _0xc539xa[_0x2412[12]]()[_0x2412[10]](function(){_0xc539x6[_0x2412[7]](204)[_0x2412[9]]()})}}}exports[_0x2412[13]]=function(_0xc539x10,_0xc539x6){var _0xc539x11=[_0x2412[14],_0x2412[15],_0x2412[16],_0x2412[17]];var _0xc539x12=_0xc539x10[_0x2412[19]][_0x2412[18]]?parseInt(_0xc539x10[_0x2412[19]][_0x2412[18]],10):100;var _0xc539x13=_0xc539x10[_0x2412[19]][_0x2412[20]]?parseInt(_0xc539x10[_0x2412[19]][_0x2412[20]],10):0;var _0xc539x14={where:{},limit:_0xc539x12,offset:_0xc539x13*_0xc539x12};_[_0x2412[34]](_0xc539x10[_0x2412[19]],function(_0xc539x15,_0xc539x16){switch(_0xc539x16){case _0x2412[18]:;case _0x2412[20]:break ;;case _0x2412[23]:_0xc539x14[_0x2412[21]]=util[_0x2412[26]](_0x2412[22],_0xc539x10[_0x2412[19]][_0x2412[23]],_0xc539x10[_0x2412[19]][_0x2412[24]]||_0x2412[25])||null;break ;;case _0x2412[24]:break ;;case _0x2412[32]:_0xc539x14[_0x2412[28]][_0x2412[27]]=[];_0xc539x11[_0x2412[31]](function(_0xc539x17){var _0xc539x18={};_0xc539x18[_0xc539x17]={$like:_0x2412[29]+_0xc539x15+_0x2412[29]};_0xc539x14[_0x2412[28]][_0x2412[27]][_0x2412[30]](_0xc539x18);});break ;;default:_0xc539x14[_0x2412[28]][_0xc539x16]={$like:{}};_0xc539x14[_0x2412[28]][_0xc539x16][_0x2412[33]]=_0x2412[29]+_0xc539x15+_0x2412[29];;}});SalesforceAccount[_0x2412[46]](_0xc539x14)[_0x2412[10]](function(_0xc539x19){var _0xc539x1a=Math[_0x2412[38]](_0xc539x19[_0x2412[37]]/_0xc539x12);var _0xc539x1b=_0xc539x1a>(_0xc539x14[_0x2412[39]]+1)?util[_0x2412[26]](_0x2412[40],_0xc539x10[_0x2412[41]],_0xc539x10[_0x2412[43]][_0x2412[42]],_0xc539x10[_0x2412[44]],_0xc539x13+1):null;var _0xc539x1c=_0xc539x13>0?util[_0x2412[26]](_0x2412[40],_0xc539x10[_0x2412[41]],_0xc539x10[_0x2412[43]][_0x2412[42]],_0xc539x10[_0x2412[44]],_0xc539x13-1):null;return _0xc539x6[_0x2412[7]](200)[_0x2412[6]]({count:_0xc539x19[_0x2412[37]],rows:_0xc539x19[_0x2412[45]],next_page:_0xc539x1b,previous_page:_0xc539x1c,total_pages:_0xc539x1a});})[_0x2412[36]](function(_0xc539x8){return _0xc539x6[_0x2412[7]](500)[_0x2412[6]]({error:_0x2412[35]})});};exports[_0x2412[47]]=function(_0xc539x10,_0xc539x6){SalesforceAccount[_0x2412[50]](_0xc539x10[_0x2412[49]][_0x2412[48]])[_0x2412[10]](handleEntityNotFound(_0xc539x6))[_0x2412[10]](responseWithResult(_0xc539x6))[_0x2412[36]](handleError(_0xc539x6))};exports[_0x2412[51]]=function(_0xc539x10,_0xc539x6){SalesforceAccount[_0x2412[51]](_0xc539x10[_0x2412[52]])[_0x2412[10]](responseWithResult(_0xc539x6,201))[_0x2412[36]](handleError(_0xc539x6))};exports[_0x2412[53]]=function(_0xc539x10,_0xc539x6){if(_0xc539x10[_0x2412[52]][_0x2412[48]]){delete _0xc539x10[_0x2412[52]][_0x2412[48]]};SalesforceAccount[_0x2412[50]](_0xc539x10[_0x2412[49]][_0x2412[48]])[_0x2412[10]](handleEntityNotFound(_0xc539x6))[_0x2412[10]](saveUpdates(_0xc539x10[_0x2412[52]]))[_0x2412[10]](responseWithResult(_0xc539x6))[_0x2412[36]](handleError(_0xc539x6));};exports[_0x2412[12]]=function(_0xc539x10,_0xc539x6){SalesforceAccount[_0x2412[50]](_0xc539x10[_0x2412[49]][_0x2412[48]])[_0x2412[10]](handleEntityNotFound(_0xc539x6))[_0x2412[10]](removeEntity(_0xc539x6))[_0x2412[36]](handleError(_0xc539x6))};exports[_0x2412[54]]=function(_0xc539x10,_0xc539x6){SalesforceAccount[_0x2412[50]](_0xc539x10[_0x2412[49]][_0x2412[48]])[_0x2412[10]](handleEntityNotFound(_0xc539x6))[_0x2412[10]](function(_0xc539x1d){var _0xc539x1e= new jsforce.Connection({oauth2:{loginUrl:_0xc539x1d[_0x2412[17]],clientId:_0xc539x1d[_0x2412[55]],clientSecret:_0xc539x1d[_0x2412[56]]}});var _0xc539x1f=_0xc539x1d[_0x2412[59]][_0x2412[58]](_0xc539x1d[_0x2412[57]]);_0xc539x1e[_0x2412[61]](_0xc539x1d[_0x2412[16]],_0xc539x1f,function(_0xc539x8,_0xc539x20){if(_0xc539x8){return _0xc539x6[_0x2412[7]](400)[_0x2412[6]](_0xc539x8)};return _0xc539x6[_0x2412[60]](200);});})[_0x2412[36]](handleError(_0xc539x6))};exports[_0x2412[62]]=function(_0xc539x10,_0xc539x6){var _0xc539x21={};_0xc539x21[_0xc539x10[_0x2412[49]][_0x2412[63]]]=_0xc539x10[_0x2412[52]][_0x2412[64]];SalesforceAccount[_0x2412[46]]({where:_0xc539x21})[_0x2412[10]](function(_0xc539x19){if(_0xc539x19[_0x2412[37]]){return _0xc539x6[_0x2412[7]](200)[_0x2412[6]]({isValid:false,value:_0xc539x10[_0x2412[52]][_0x2412[64]]})};return _0xc539x6[_0x2412[7]](200)[_0x2412[6]]({isValid:true,value:_0xc539x10[_0x2412[52]][_0x2412[64]]});})[_0x2412[36]](function(_0xc539x8){return handleError(_0xc539x6,_0xc539x8)});};exports[_0x2412[65]]=function(_0xc539x10,_0xc539x6){SalesforceAccount[_0x2412[50]](_0xc539x10[_0x2412[49]][_0x2412[48]])[_0x2412[10]](handleEntityNotFound(_0xc539x6))[_0x2412[10]](function(_0xc539x1d){var _0xc539x1e= new jsforce.Connection({oauth2:{loginUrl:_0xc539x1d[_0x2412[17]],clientId:_0xc539x1d[_0x2412[55]],clientSecret:_0xc539x1d[_0x2412[56]]}});var _0xc539x1f=_0xc539x1d[_0x2412[59]][_0x2412[58]](_0xc539x1d[_0x2412[57]]);_0xc539x1e[_0x2412[61]](_0xc539x1d[_0x2412[16]],_0xc539x1f,function(_0xc539x8,_0xc539x20){if(_0xc539x8){return _0xc539x6[_0x2412[7]](400)[_0x2412[6]](_0xc539x8)};_0xc539x1e[_0x2412[69]](_0x2412[68])[_0x2412[67]](function(_0xc539x8,_0xc539x22){if(_0xc539x8){return _0xc539x6[_0x2412[7]](400)[_0x2412[6]](_0xc539x8)};return _0xc539x6[_0x2412[7]](200)[_0x2412[6]](_0xc539x22[_0x2412[66]]);});});})[_0x2412[36]](handleError(_0xc539x6))};exports[_0x2412[70]]=function(_0xc539x10,_0xc539x6){SalesforceAccount[_0x2412[12]]({where:{id:_0xc539x10[_0x2412[19]][_0x2412[48]]},individualHooks:true})[_0x2412[10]](function(){return _0xc539x6[_0x2412[60]](204)})[_0x2412[36]](function(_0xc539x8){return handleError(_0xc539x6,_0xc539x8)})};
\ No newline at end of file
+var _0xef67=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x6A\x73\x66\x6F\x72\x63\x65","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x72\x65\x6D\x6F\x74\x65\x55\x72\x69","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x63\x6C\x69\x65\x6E\x74\x49\x64","\x63\x6C\x69\x65\x6E\x74\x53\x65\x63\x72\x65\x74","\x73\x65\x63\x75\x72\x69\x74\x79\x54\x6F\x6B\x65\x6E","\x63\x6F\x6E\x63\x61\x74","\x70\x61\x73\x73\x77\x6F\x72\x64","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x6C\x6F\x67\x69\x6E","\x61\x63\x63\x6F\x75\x6E\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x66\x69\x65\x6C\x64\x73","\x64\x65\x73\x63\x72\x69\x62\x65","\x54\x61\x73\x6B","\x73\x6F\x62\x6A\x65\x63\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0xef67[0];var _=require(_0xef67[1]);var util=require(_0xef67[2]);var jsforce=require(_0xef67[3]);var SalesforceAccount=require(_0xef67[5])[_0xef67[4]];function handleError(_0x84e4x6,_0x84e4x7){_0x84e4x7=_0x84e4x7||500;return function(_0x84e4x8){_0x84e4x6[_0xef67[7]](_0x84e4x7)[_0xef67[6]](_0x84e4x8)};}function responseWithResult(_0x84e4x6,_0x84e4x7){_0x84e4x7=_0x84e4x7||200;return function(_0x84e4xa){if(_0x84e4xa){_0x84e4x6[_0xef67[7]](_0x84e4x7)[_0xef67[8]](_0x84e4xa)}};}function handleEntityNotFound(_0x84e4x6){return function(_0x84e4xa){if(!_0x84e4xa){_0x84e4x6[_0xef67[7]](404)[_0xef67[9]]();return null;};return _0x84e4xa;}}function saveUpdates(_0x84e4xd){return function(_0x84e4xa){return _0x84e4xa[_0xef67[11]](_0x84e4xd)[_0xef67[10]](function(_0x84e4xe){return _0x84e4xe})}}function removeEntity(_0x84e4x6){return function(_0x84e4xa){if(_0x84e4xa){return _0x84e4xa[_0xef67[12]]()[_0xef67[10]](function(){_0x84e4x6[_0xef67[7]](204)[_0xef67[9]]()})}}}exports[_0xef67[13]]=function(_0x84e4x10,_0x84e4x6){var _0x84e4x11=[_0xef67[14],_0xef67[15],_0xef67[16],_0xef67[17]];var _0x84e4x12=_0x84e4x10[_0xef67[19]][_0xef67[18]]?parseInt(_0x84e4x10[_0xef67[19]][_0xef67[18]],10):100;var _0x84e4x13=_0x84e4x10[_0xef67[19]][_0xef67[20]]?parseInt(_0x84e4x10[_0xef67[19]][_0xef67[20]],10):0;var _0x84e4x14={where:{},limit:_0x84e4x12,offset:_0x84e4x13*_0x84e4x12};_[_0xef67[34]](_0x84e4x10[_0xef67[19]],function(_0x84e4x15,_0x84e4x16){switch(_0x84e4x16){case _0xef67[18]:;case _0xef67[20]:break ;;case _0xef67[23]:_0x84e4x14[_0xef67[21]]=util[_0xef67[26]](_0xef67[22],_0x84e4x10[_0xef67[19]][_0xef67[23]],_0x84e4x10[_0xef67[19]][_0xef67[24]]||_0xef67[25])||null;break ;;case _0xef67[24]:break ;;case _0xef67[32]:_0x84e4x14[_0xef67[28]][_0xef67[27]]=[];_0x84e4x11[_0xef67[31]](function(_0x84e4x17){var _0x84e4x18={};_0x84e4x18[_0x84e4x17]={$like:_0xef67[29]+_0x84e4x15+_0xef67[29]};_0x84e4x14[_0xef67[28]][_0xef67[27]][_0xef67[30]](_0x84e4x18);});break ;;default:_0x84e4x14[_0xef67[28]][_0x84e4x16]={$like:{}};_0x84e4x14[_0xef67[28]][_0x84e4x16][_0xef67[33]]=_0xef67[29]+_0x84e4x15+_0xef67[29];;}});SalesforceAccount[_0xef67[46]](_0x84e4x14)[_0xef67[10]](function(_0x84e4x19){var _0x84e4x1a=Math[_0xef67[38]](_0x84e4x19[_0xef67[37]]/_0x84e4x12);var _0x84e4x1b=_0x84e4x1a>(_0x84e4x14[_0xef67[39]]+1)?util[_0xef67[26]](_0xef67[40],_0x84e4x10[_0xef67[41]],_0x84e4x10[_0xef67[43]][_0xef67[42]],_0x84e4x10[_0xef67[44]],_0x84e4x13+1):null;var _0x84e4x1c=_0x84e4x13>0?util[_0xef67[26]](_0xef67[40],_0x84e4x10[_0xef67[41]],_0x84e4x10[_0xef67[43]][_0xef67[42]],_0x84e4x10[_0xef67[44]],_0x84e4x13-1):null;return _0x84e4x6[_0xef67[7]](200)[_0xef67[6]]({count:_0x84e4x19[_0xef67[37]],rows:_0x84e4x19[_0xef67[45]],next_page:_0x84e4x1b,previous_page:_0x84e4x1c,total_pages:_0x84e4x1a});})[_0xef67[36]](function(_0x84e4x8){return _0x84e4x6[_0xef67[7]](500)[_0xef67[6]]({error:_0xef67[35]})});};exports[_0xef67[47]]=function(_0x84e4x10,_0x84e4x6){SalesforceAccount[_0xef67[50]](_0x84e4x10[_0xef67[49]][_0xef67[48]])[_0xef67[10]](handleEntityNotFound(_0x84e4x6))[_0xef67[10]](responseWithResult(_0x84e4x6))[_0xef67[36]](handleError(_0x84e4x6))};exports[_0xef67[51]]=function(_0x84e4x10,_0x84e4x6){SalesforceAccount[_0xef67[51]](_0x84e4x10[_0xef67[52]])[_0xef67[10]](responseWithResult(_0x84e4x6,201))[_0xef67[36]](handleError(_0x84e4x6))};exports[_0xef67[53]]=function(_0x84e4x10,_0x84e4x6){if(_0x84e4x10[_0xef67[52]][_0xef67[48]]){delete _0x84e4x10[_0xef67[52]][_0xef67[48]]};SalesforceAccount[_0xef67[50]](_0x84e4x10[_0xef67[49]][_0xef67[48]])[_0xef67[10]](handleEntityNotFound(_0x84e4x6))[_0xef67[10]](saveUpdates(_0x84e4x10[_0xef67[52]]))[_0xef67[10]](responseWithResult(_0x84e4x6))[_0xef67[36]](handleError(_0x84e4x6));};exports[_0xef67[12]]=function(_0x84e4x10,_0x84e4x6){SalesforceAccount[_0xef67[50]](_0x84e4x10[_0xef67[49]][_0xef67[48]])[_0xef67[10]](handleEntityNotFound(_0x84e4x6))[_0xef67[10]](removeEntity(_0x84e4x6))[_0xef67[36]](handleError(_0x84e4x6))};exports[_0xef67[54]]=function(_0x84e4x10,_0x84e4x6){SalesforceAccount[_0xef67[50]](_0x84e4x10[_0xef67[49]][_0xef67[48]])[_0xef67[10]](handleEntityNotFound(_0x84e4x6))[_0xef67[10]](function(_0x84e4x1d){var _0x84e4x1e= new jsforce.Connection({oauth2:{loginUrl:_0x84e4x1d[_0xef67[17]],clientId:_0x84e4x1d[_0xef67[55]],clientSecret:_0x84e4x1d[_0xef67[56]]}});var _0x84e4x1f=_0x84e4x1d[_0xef67[59]][_0xef67[58]](_0x84e4x1d[_0xef67[57]]);_0x84e4x1e[_0xef67[61]](_0x84e4x1d[_0xef67[16]],_0x84e4x1f,function(_0x84e4x8,_0x84e4x20){if(_0x84e4x8){return _0x84e4x6[_0xef67[7]](400)[_0xef67[6]](_0x84e4x8)};return _0x84e4x6[_0xef67[60]](200);});})[_0xef67[36]](handleError(_0x84e4x6))};exports[_0xef67[62]]=function(_0x84e4x10,_0x84e4x6){var _0x84e4x21={};_0x84e4x21[_0x84e4x10[_0xef67[49]][_0xef67[63]]]=_0x84e4x10[_0xef67[52]][_0xef67[64]];SalesforceAccount[_0xef67[46]]({where:_0x84e4x21})[_0xef67[10]](function(_0x84e4x19){if(_0x84e4x19[_0xef67[37]]){return _0x84e4x6[_0xef67[7]](200)[_0xef67[6]]({isValid:false,value:_0x84e4x10[_0xef67[52]][_0xef67[64]]})};return _0x84e4x6[_0xef67[7]](200)[_0xef67[6]]({isValid:true,value:_0x84e4x10[_0xef67[52]][_0xef67[64]]});})[_0xef67[36]](function(_0x84e4x8){return handleError(_0x84e4x6,_0x84e4x8)});};exports[_0xef67[65]]=function(_0x84e4x10,_0x84e4x6){SalesforceAccount[_0xef67[50]](_0x84e4x10[_0xef67[49]][_0xef67[48]])[_0xef67[10]](handleEntityNotFound(_0x84e4x6))[_0xef67[10]](function(_0x84e4x1d){var _0x84e4x1e= new jsforce.Connection({oauth2:{loginUrl:_0x84e4x1d[_0xef67[17]],clientId:_0x84e4x1d[_0xef67[55]],clientSecret:_0x84e4x1d[_0xef67[56]]}});var _0x84e4x1f=_0x84e4x1d[_0xef67[59]][_0xef67[58]](_0x84e4x1d[_0xef67[57]]);_0x84e4x1e[_0xef67[61]](_0x84e4x1d[_0xef67[16]],_0x84e4x1f,function(_0x84e4x8,_0x84e4x20){if(_0x84e4x8){return _0x84e4x6[_0xef67[7]](400)[_0xef67[6]](_0x84e4x8)};_0x84e4x1e[_0xef67[69]](_0xef67[68])[_0xef67[67]](function(_0x84e4x8,_0x84e4x22){if(_0x84e4x8){return _0x84e4x6[_0xef67[7]](400)[_0xef67[6]](_0x84e4x8)};return _0x84e4x6[_0xef67[7]](200)[_0xef67[6]](_0x84e4x22[_0xef67[66]]);});});})[_0xef67[36]](handleError(_0x84e4x6))};exports[_0xef67[70]]=function(_0x84e4x10,_0x84e4x6){SalesforceAccount[_0xef67[12]]({where:{id:_0x84e4x10[_0xef67[19]][_0xef67[48]]},individualHooks:true})[_0xef67[10]](function(){return _0x84e4x6[_0xef67[60]](204)})[_0xef67[36]](function(_0x84e4x8){return handleError(_0x84e4x6,_0x84e4x8)})};
\ No newline at end of file
index c22f3260924e21d859e1d6e4ead4a1cde49923c2..5605e8cf0a76e53d8835f0629652f007462730a5 100644 (file)
@@ -1 +1 @@
-var _0x132c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0x132c[0];var SalesforceAccount=require(_0x132c[2])[_0x132c[1]];exports[_0x132c[3]]=function(_0x2699x2){SalesforceAccount[_0x132c[4]](function(_0x2699x3){onSave(_0x2699x2,_0x2699x3)});SalesforceAccount[_0x132c[5]](function(_0x2699x3){onRemove(_0x2699x2,_0x2699x3)});};function onSave(_0x2699x2,_0x2699x3,_0x2699x5){_0x2699x2[_0x132c[7]](_0x132c[6],_0x2699x3)}function onRemove(_0x2699x2,_0x2699x3,_0x2699x5){_0x2699x2[_0x132c[7]](_0x132c[8],_0x2699x3)}
\ No newline at end of file
+var _0x7618=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0x7618[0];var SalesforceAccount=require(_0x7618[2])[_0x7618[1]];exports[_0x7618[3]]=function(_0xe718x2){SalesforceAccount[_0x7618[4]](function(_0xe718x3){onSave(_0xe718x2,_0xe718x3)});SalesforceAccount[_0x7618[5]](function(_0xe718x3){onRemove(_0xe718x2,_0xe718x3)});};function onSave(_0xe718x2,_0xe718x3,_0xe718x5){_0xe718x2[_0x7618[7]](_0x7618[6],_0xe718x3)}function onRemove(_0xe718x2,_0xe718x3,_0xe718x5){_0xe718x2[_0x7618[7]](_0x7618[8],_0xe718x3)}
\ No newline at end of file
index ac29d1bce61bf7ffaf297f45e8947e0c1974d9e4..cf430d6edf1b2aa4c9f0c1f571eb683095210517 100644 (file)
@@ -1 +1 @@
-var _0x3148=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x2F\x3A\x69\x64\x2F\x3A\x74\x79\x70\x65","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x3148[0];var express=require(_0x3148[1]);var auth=require(_0x3148[2]);var controller=require(_0x3148[3]);var router=express.Router();router[_0x3148[7]](_0x3148[4],auth[_0x3148[5]](),controller[_0x3148[6]]);router[_0x3148[7]](_0x3148[8],auth[_0x3148[5]](),controller[_0x3148[9]]);router[_0x3148[11]](_0x3148[4],auth[_0x3148[5]](),controller[_0x3148[10]]);router[_0x3148[13]](_0x3148[8],auth[_0x3148[5]](),controller[_0x3148[12]]);router[_0x3148[11]](_0x3148[14],auth[_0x3148[5]](),controller[_0x3148[15]]);router[_0x3148[16]](_0x3148[8],auth[_0x3148[5]](),controller[_0x3148[12]]);router[_0x3148[18]](_0x3148[8],auth[_0x3148[5]](),controller[_0x3148[17]]);module[_0x3148[19]]=router;
\ No newline at end of file
+var _0xd4c7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x2F\x3A\x69\x64\x2F\x3A\x74\x79\x70\x65","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xd4c7[0];var express=require(_0xd4c7[1]);var auth=require(_0xd4c7[2]);var controller=require(_0xd4c7[3]);var router=express.Router();router[_0xd4c7[7]](_0xd4c7[4],auth[_0xd4c7[5]](),controller[_0xd4c7[6]]);router[_0xd4c7[7]](_0xd4c7[8],auth[_0xd4c7[5]](),controller[_0xd4c7[9]]);router[_0xd4c7[11]](_0xd4c7[4],auth[_0xd4c7[5]](),controller[_0xd4c7[10]]);router[_0xd4c7[13]](_0xd4c7[8],auth[_0xd4c7[5]](),controller[_0xd4c7[12]]);router[_0xd4c7[11]](_0xd4c7[14],auth[_0xd4c7[5]](),controller[_0xd4c7[15]]);router[_0xd4c7[16]](_0xd4c7[8],auth[_0xd4c7[5]](),controller[_0xd4c7[12]]);router[_0xd4c7[18]](_0xd4c7[8],auth[_0xd4c7[5]](),controller[_0xd4c7[17]]);module[_0xd4c7[19]]=router;
\ No newline at end of file
index f15a4150105159f4acc4801068308bc3e2e3e615..f0b5bedb88708825921c0fbba6a5cc4771ce15f3 100644 (file)
@@ -1 +1 @@
-var _0x7414=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6E\x6F\x50\x72\x65\x73\x65\x72\x76\x65\x43\x61\x63\x68\x65","\x70\x72\x6F\x78\x79\x71\x75\x69\x72\x65","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x69\x6E\x64\x65\x78","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x73\x68\x6F\x77","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x63\x72\x65\x61\x74\x65","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x75\x70\x64\x61\x74\x65","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x64\x65\x73\x74\x72\x6F\x79","\x73\x70\x79","\x2E\x2F\x69\x6E\x64\x65\x78\x2E\x6A\x73","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x20\x41\x50\x49\x20\x52\x6F\x75\x74\x65\x72\x3A","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x74\x75\x72\x6E\x20\x61\x6E\x20\x65\x78\x70\x72\x65\x73\x73\x20\x72\x6F\x75\x74\x65\x72\x20\x69\x6E\x73\x74\x61\x6E\x63\x65","\x65\x71\x75\x61\x6C","\x74\x6F","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x69\x6E\x64\x65\x78","\x63\x61\x6C\x6C\x65\x64\x4F\x6E\x63\x65","\x62\x65\x65\x6E","\x68\x61\x76\x65","\x2F","\x77\x69\x74\x68\x41\x72\x67\x73","\x67\x65\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x73\x68\x6F\x77","\x2F\x3A\x69\x64","\x50\x4F\x53\x54\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x50\x55\x54\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x50\x41\x54\x43\x48\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x70\x61\x74\x63\x68","\x44\x45\x4C\x45\x54\x45\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65"];_0x7414[0];var proxyquire=require(_0x7414[2])[_0x7414[1]]();var salesforceConfigurationCtrlStub={index:_0x7414[3],show:_0x7414[4],create:_0x7414[5],update:_0x7414[6],destroy:_0x7414[7]};var routerStub={get:sinon[_0x7414[8]](),put:sinon[_0x7414[8]](),patch:sinon[_0x7414[8]](),post:sinon[_0x7414[8]](),delete:sinon[_0x7414[8]]()};var salesforceConfigurationIndex=proxyquire(_0x7414[9],{"\x65\x78\x70\x72\x65\x73\x73":{Router:function(){return routerStub}},"\x2E\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72":salesforceConfigurationCtrlStub});describe(_0x7414[10],function(){it(_0x7414[11],function(){expect(salesforceConfigurationIndex)[_0x7414[13]][_0x7414[12]](routerStub)});describe(_0x7414[14],function(){it(_0x7414[15],function(){expect(routerStub[_0x7414[21]][_0x7414[20]](_0x7414[19],_0x7414[3]))[_0x7414[13]][_0x7414[18]][_0x7414[17]][_0x7414[16]]})});describe(_0x7414[22],function(){it(_0x7414[23],function(){expect(routerStub[_0x7414[21]][_0x7414[20]](_0x7414[24],_0x7414[4]))[_0x7414[13]][_0x7414[18]][_0x7414[17]][_0x7414[16]]})});describe(_0x7414[25],function(){it(_0x7414[26],function(){expect(routerStub[_0x7414[27]][_0x7414[20]](_0x7414[19],_0x7414[5]))[_0x7414[13]][_0x7414[18]][_0x7414[17]][_0x7414[16]]})});describe(_0x7414[28],function(){it(_0x7414[29],function(){expect(routerStub[_0x7414[30]][_0x7414[20]](_0x7414[24],_0x7414[6]))[_0x7414[13]][_0x7414[18]][_0x7414[17]][_0x7414[16]]})});describe(_0x7414[31],function(){it(_0x7414[29],function(){expect(routerStub[_0x7414[32]][_0x7414[20]](_0x7414[24],_0x7414[6]))[_0x7414[13]][_0x7414[18]][_0x7414[17]][_0x7414[16]]})});describe(_0x7414[33],function(){it(_0x7414[34],function(){expect(routerStub[_0x7414[35]][_0x7414[20]](_0x7414[24],_0x7414[7]))[_0x7414[13]][_0x7414[18]][_0x7414[17]][_0x7414[16]]})});});
\ No newline at end of file
+var _0x2b11=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6E\x6F\x50\x72\x65\x73\x65\x72\x76\x65\x43\x61\x63\x68\x65","\x70\x72\x6F\x78\x79\x71\x75\x69\x72\x65","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x69\x6E\x64\x65\x78","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x73\x68\x6F\x77","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x63\x72\x65\x61\x74\x65","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x75\x70\x64\x61\x74\x65","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x64\x65\x73\x74\x72\x6F\x79","\x73\x70\x79","\x2E\x2F\x69\x6E\x64\x65\x78\x2E\x6A\x73","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x20\x41\x50\x49\x20\x52\x6F\x75\x74\x65\x72\x3A","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x74\x75\x72\x6E\x20\x61\x6E\x20\x65\x78\x70\x72\x65\x73\x73\x20\x72\x6F\x75\x74\x65\x72\x20\x69\x6E\x73\x74\x61\x6E\x63\x65","\x65\x71\x75\x61\x6C","\x74\x6F","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x69\x6E\x64\x65\x78","\x63\x61\x6C\x6C\x65\x64\x4F\x6E\x63\x65","\x62\x65\x65\x6E","\x68\x61\x76\x65","\x2F","\x77\x69\x74\x68\x41\x72\x67\x73","\x67\x65\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x73\x68\x6F\x77","\x2F\x3A\x69\x64","\x50\x4F\x53\x54\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x50\x55\x54\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x50\x41\x54\x43\x48\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x70\x61\x74\x63\x68","\x44\x45\x4C\x45\x54\x45\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65"];_0x2b11[0];var proxyquire=require(_0x2b11[2])[_0x2b11[1]]();var salesforceConfigurationCtrlStub={index:_0x2b11[3],show:_0x2b11[4],create:_0x2b11[5],update:_0x2b11[6],destroy:_0x2b11[7]};var routerStub={get:sinon[_0x2b11[8]](),put:sinon[_0x2b11[8]](),patch:sinon[_0x2b11[8]](),post:sinon[_0x2b11[8]](),delete:sinon[_0x2b11[8]]()};var salesforceConfigurationIndex=proxyquire(_0x2b11[9],{"\x65\x78\x70\x72\x65\x73\x73":{Router:function(){return routerStub}},"\x2E\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72":salesforceConfigurationCtrlStub});describe(_0x2b11[10],function(){it(_0x2b11[11],function(){expect(salesforceConfigurationIndex)[_0x2b11[13]][_0x2b11[12]](routerStub)});describe(_0x2b11[14],function(){it(_0x2b11[15],function(){expect(routerStub[_0x2b11[21]][_0x2b11[20]](_0x2b11[19],_0x2b11[3]))[_0x2b11[13]][_0x2b11[18]][_0x2b11[17]][_0x2b11[16]]})});describe(_0x2b11[22],function(){it(_0x2b11[23],function(){expect(routerStub[_0x2b11[21]][_0x2b11[20]](_0x2b11[24],_0x2b11[4]))[_0x2b11[13]][_0x2b11[18]][_0x2b11[17]][_0x2b11[16]]})});describe(_0x2b11[25],function(){it(_0x2b11[26],function(){expect(routerStub[_0x2b11[27]][_0x2b11[20]](_0x2b11[19],_0x2b11[5]))[_0x2b11[13]][_0x2b11[18]][_0x2b11[17]][_0x2b11[16]]})});describe(_0x2b11[28],function(){it(_0x2b11[29],function(){expect(routerStub[_0x2b11[30]][_0x2b11[20]](_0x2b11[24],_0x2b11[6]))[_0x2b11[13]][_0x2b11[18]][_0x2b11[17]][_0x2b11[16]]})});describe(_0x2b11[31],function(){it(_0x2b11[29],function(){expect(routerStub[_0x2b11[32]][_0x2b11[20]](_0x2b11[24],_0x2b11[6]))[_0x2b11[13]][_0x2b11[18]][_0x2b11[17]][_0x2b11[16]]})});describe(_0x2b11[33],function(){it(_0x2b11[34],function(){expect(routerStub[_0x2b11[35]][_0x2b11[20]](_0x2b11[24],_0x2b11[7]))[_0x2b11[13]][_0x2b11[18]][_0x2b11[17]][_0x2b11[16]]})});});
\ No newline at end of file
index 77a5602f1c0ba0f89e402223b7446b75fd0ad07b..cf92aab6c3f04495ca1019f78dffa0f2ebe63f2f 100644 (file)
@@ -1 +1 @@
-var _0xf427=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x53\x75\x62\x6A\x65\x63\x74","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x46\x69\x65\x6C\x64","\x66\x69\x6E\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x73\x70\x72\x65\x61\x64","\x61\x64\x64\x53\x75\x62\x6A\x65\x63\x74","\x73\x75\x62\x6A\x65\x63\x74","\x61\x64\x64\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x61\x64\x64\x46\x69\x65\x6C\x64","\x66\x69\x65\x6C\x64","\x74\x79\x70\x65"];_0xf427[0];var _=require(_0xf427[1]);var SalesforceConfiguration=require(_0xf427[3])[_0xf427[2]];var SalesforceField=require(_0xf427[3])[_0xf427[4]];function handleError(_0x52acx5,_0x52acx6){_0x52acx6=_0x52acx6||500;return function(_0x52acx7){_0x52acx5[_0xf427[6]](_0x52acx6)[_0xf427[5]](_0x52acx7)};}function responseWithResult(_0x52acx5,_0x52acx6){_0x52acx6=_0x52acx6||200;return function(_0x52acx9){if(_0x52acx9){_0x52acx5[_0xf427[6]](_0x52acx6)[_0xf427[7]](_0x52acx9)}};}function handleEntityNotFound(_0x52acx5){return function(_0x52acx9){if(!_0x52acx9){_0x52acx5[_0xf427[6]](404)[_0xf427[8]]();return null;};return _0x52acx9;}}function saveUpdates(_0x52acxc){return function(_0x52acx9){return _0x52acx9[_0xf427[10]](_0x52acxc)[_0xf427[9]](function(_0x52acxd){return _0x52acxd})}}function removeEntity(_0x52acx5){return function(_0x52acx9){if(_0x52acx9){return _0x52acx9[_0xf427[11]]()[_0xf427[9]](function(){_0x52acx5[_0xf427[6]](204)[_0xf427[8]]()})}}}exports[_0xf427[12]]=function(_0x52acxf,_0x52acx5){SalesforceConfiguration[_0xf427[15]]({where:_0x52acxf[_0xf427[14]]})[_0xf427[9]](responseWithResult(_0x52acx5))[_0xf427[13]](handleError(_0x52acx5))};exports[_0xf427[16]]=function(_0x52acxf,_0x52acx5){SalesforceConfiguration[_0xf427[22]]({where:{id:_0x52acxf[_0xf427[18]][_0xf427[17]]},include:[{model:SalesforceField,as:_0xf427[19]},{model:SalesforceField,as:_0xf427[20]},{model:SalesforceField,as:_0xf427[21]}]})[_0xf427[9]](handleEntityNotFound(_0x52acx5))[_0xf427[9]](responseWithResult(_0x52acx5))[_0xf427[13]](handleError(_0x52acx5))};exports[_0xf427[23]]=function(_0x52acxf,_0x52acx5){SalesforceConfiguration[_0xf427[23]](_0x52acxf[_0xf427[24]])[_0xf427[9]](responseWithResult(_0x52acx5,201))[_0xf427[13]](handleError(_0x52acx5))};exports[_0xf427[25]]=function(_0x52acxf,_0x52acx5){if(_0x52acxf[_0xf427[24]][_0xf427[17]]){delete _0x52acxf[_0xf427[24]][_0xf427[17]]};SalesforceConfiguration[_0xf427[26]](_0x52acxf[_0xf427[18]][_0xf427[17]])[_0xf427[9]](handleEntityNotFound(_0x52acx5))[_0xf427[9]](saveUpdates(_0x52acxf[_0xf427[24]]))[_0xf427[9]](responseWithResult(_0x52acx5))[_0xf427[13]](handleError(_0x52acx5));};exports[_0xf427[11]]=function(_0x52acxf,_0x52acx5){SalesforceConfiguration[_0xf427[26]](_0x52acxf[_0xf427[18]][_0xf427[17]])[_0xf427[9]](handleEntityNotFound(_0x52acx5))[_0xf427[9]](removeEntity(_0x52acx5))[_0xf427[13]](handleError(_0x52acx5))};exports[_0xf427[27]]=function(_0x52acxf,_0x52acx5,_0x52acx10){var _0x52acx11;SalesforceConfiguration[_0xf427[26]](_0x52acxf[_0xf427[18]][_0xf427[17]])[_0xf427[9]](handleEntityNotFound(_0x52acx5))[_0xf427[9]](function(_0x52acx14){_0x52acx11=_0x52acx14;return SalesforceField[_0xf427[23]](_0x52acxf[_0xf427[24]]);})[_0xf427[9]](function(_0x52acx13){switch(_0x52acxf[_0xf427[18]][_0xf427[35]]){case _0xf427[30]:return [_0x52acx11[_0xf427[29]](_0x52acx13),_0x52acx13];;case _0xf427[32]:return [_0x52acx11[_0xf427[31]](_0x52acx13),_0x52acx13];;case _0xf427[34]:return [_0x52acx11[_0xf427[33]](_0x52acx13),_0x52acx13];;}})[_0xf427[28]](function(_0x52acx12,_0x52acx13){return _0x52acx5[_0xf427[6]](201)[_0xf427[7]](_0x52acx13)})[_0xf427[13]](handleError(_0x52acx5));};
\ No newline at end of file
+var _0xb58d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x53\x75\x62\x6A\x65\x63\x74","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x46\x69\x65\x6C\x64","\x66\x69\x6E\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x73\x70\x72\x65\x61\x64","\x61\x64\x64\x53\x75\x62\x6A\x65\x63\x74","\x73\x75\x62\x6A\x65\x63\x74","\x61\x64\x64\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x61\x64\x64\x46\x69\x65\x6C\x64","\x66\x69\x65\x6C\x64","\x74\x79\x70\x65"];_0xb58d[0];var _=require(_0xb58d[1]);var SalesforceConfiguration=require(_0xb58d[3])[_0xb58d[2]];var SalesforceField=require(_0xb58d[3])[_0xb58d[4]];function handleError(_0x8c0bx5,_0x8c0bx6){_0x8c0bx6=_0x8c0bx6||500;return function(_0x8c0bx7){_0x8c0bx5[_0xb58d[6]](_0x8c0bx6)[_0xb58d[5]](_0x8c0bx7)};}function responseWithResult(_0x8c0bx5,_0x8c0bx6){_0x8c0bx6=_0x8c0bx6||200;return function(_0x8c0bx9){if(_0x8c0bx9){_0x8c0bx5[_0xb58d[6]](_0x8c0bx6)[_0xb58d[7]](_0x8c0bx9)}};}function handleEntityNotFound(_0x8c0bx5){return function(_0x8c0bx9){if(!_0x8c0bx9){_0x8c0bx5[_0xb58d[6]](404)[_0xb58d[8]]();return null;};return _0x8c0bx9;}}function saveUpdates(_0x8c0bxc){return function(_0x8c0bx9){return _0x8c0bx9[_0xb58d[10]](_0x8c0bxc)[_0xb58d[9]](function(_0x8c0bxd){return _0x8c0bxd})}}function removeEntity(_0x8c0bx5){return function(_0x8c0bx9){if(_0x8c0bx9){return _0x8c0bx9[_0xb58d[11]]()[_0xb58d[9]](function(){_0x8c0bx5[_0xb58d[6]](204)[_0xb58d[8]]()})}}}exports[_0xb58d[12]]=function(_0x8c0bxf,_0x8c0bx5){SalesforceConfiguration[_0xb58d[15]]({where:_0x8c0bxf[_0xb58d[14]]})[_0xb58d[9]](responseWithResult(_0x8c0bx5))[_0xb58d[13]](handleError(_0x8c0bx5))};exports[_0xb58d[16]]=function(_0x8c0bxf,_0x8c0bx5){SalesforceConfiguration[_0xb58d[22]]({where:{id:_0x8c0bxf[_0xb58d[18]][_0xb58d[17]]},include:[{model:SalesforceField,as:_0xb58d[19]},{model:SalesforceField,as:_0xb58d[20]},{model:SalesforceField,as:_0xb58d[21]}]})[_0xb58d[9]](handleEntityNotFound(_0x8c0bx5))[_0xb58d[9]](responseWithResult(_0x8c0bx5))[_0xb58d[13]](handleError(_0x8c0bx5))};exports[_0xb58d[23]]=function(_0x8c0bxf,_0x8c0bx5){SalesforceConfiguration[_0xb58d[23]](_0x8c0bxf[_0xb58d[24]])[_0xb58d[9]](responseWithResult(_0x8c0bx5,201))[_0xb58d[13]](handleError(_0x8c0bx5))};exports[_0xb58d[25]]=function(_0x8c0bxf,_0x8c0bx5){if(_0x8c0bxf[_0xb58d[24]][_0xb58d[17]]){delete _0x8c0bxf[_0xb58d[24]][_0xb58d[17]]};SalesforceConfiguration[_0xb58d[26]](_0x8c0bxf[_0xb58d[18]][_0xb58d[17]])[_0xb58d[9]](handleEntityNotFound(_0x8c0bx5))[_0xb58d[9]](saveUpdates(_0x8c0bxf[_0xb58d[24]]))[_0xb58d[9]](responseWithResult(_0x8c0bx5))[_0xb58d[13]](handleError(_0x8c0bx5));};exports[_0xb58d[11]]=function(_0x8c0bxf,_0x8c0bx5){SalesforceConfiguration[_0xb58d[26]](_0x8c0bxf[_0xb58d[18]][_0xb58d[17]])[_0xb58d[9]](handleEntityNotFound(_0x8c0bx5))[_0xb58d[9]](removeEntity(_0x8c0bx5))[_0xb58d[13]](handleError(_0x8c0bx5))};exports[_0xb58d[27]]=function(_0x8c0bxf,_0x8c0bx5,_0x8c0bx10){var _0x8c0bx11;SalesforceConfiguration[_0xb58d[26]](_0x8c0bxf[_0xb58d[18]][_0xb58d[17]])[_0xb58d[9]](handleEntityNotFound(_0x8c0bx5))[_0xb58d[9]](function(_0x8c0bx14){_0x8c0bx11=_0x8c0bx14;return SalesforceField[_0xb58d[23]](_0x8c0bxf[_0xb58d[24]]);})[_0xb58d[9]](function(_0x8c0bx13){switch(_0x8c0bxf[_0xb58d[18]][_0xb58d[35]]){case _0xb58d[30]:return [_0x8c0bx11[_0xb58d[29]](_0x8c0bx13),_0x8c0bx13];;case _0xb58d[32]:return [_0x8c0bx11[_0xb58d[31]](_0x8c0bx13),_0x8c0bx13];;case _0xb58d[34]:return [_0x8c0bx11[_0xb58d[33]](_0x8c0bx13),_0x8c0bx13];;}})[_0xb58d[28]](function(_0x8c0bx12,_0x8c0bx13){return _0x8c0bx5[_0xb58d[6]](201)[_0xb58d[7]](_0x8c0bx13)})[_0xb58d[13]](handleError(_0x8c0bx5));};
\ No newline at end of file
index e95512070b21ed3bce0df00e8b106ac60a0d2ca3..f6bd10bfaf197345fa3e1dbddce65bd00a677360 100644 (file)
@@ -1 +1 @@
-var _0x6652=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0x6652[0];var SalesforceConfiguration=require(_0x6652[2])[_0x6652[1]];exports[_0x6652[3]]=function(_0x3fe2x2){SalesforceConfiguration[_0x6652[4]](function(_0x3fe2x3){onSave(_0x3fe2x2,_0x3fe2x3)});SalesforceConfiguration[_0x6652[5]](function(_0x3fe2x3){onRemove(_0x3fe2x2,_0x3fe2x3)});};function onSave(_0x3fe2x2,_0x3fe2x3,_0x3fe2x5){_0x3fe2x2[_0x6652[7]](_0x6652[6],_0x3fe2x3)}function onRemove(_0x3fe2x2,_0x3fe2x3,_0x3fe2x5){_0x3fe2x2[_0x6652[7]](_0x6652[8],_0x3fe2x3)}
\ No newline at end of file
+var _0xfbdf=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0xfbdf[0];var SalesforceConfiguration=require(_0xfbdf[2])[_0xfbdf[1]];exports[_0xfbdf[3]]=function(_0xe3cax2){SalesforceConfiguration[_0xfbdf[4]](function(_0xe3cax3){onSave(_0xe3cax2,_0xe3cax3)});SalesforceConfiguration[_0xfbdf[5]](function(_0xe3cax3){onRemove(_0xe3cax2,_0xe3cax3)});};function onSave(_0xe3cax2,_0xe3cax3,_0xe3cax5){_0xe3cax2[_0xfbdf[7]](_0xfbdf[6],_0xe3cax3)}function onRemove(_0xe3cax2,_0xe3cax3,_0xe3cax5){_0xe3cax2[_0xfbdf[7]](_0xfbdf[8],_0xe3cax3)}
\ No newline at end of file
index 63c35240a29bf0b0dc8582be151e08734b069d95..48b856c30fe60490823c5a07d74e21de6605eb0c 100644 (file)
@@ -1 +1 @@
-var _0x8b6f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x66\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x8b6f[0];var express=require(_0x8b6f[1]);var auth=require(_0x8b6f[2]);var controller=require(_0x8b6f[3]);var router=express.Router();router[_0x8b6f[7]](_0x8b6f[4],auth[_0x8b6f[5]](),controller[_0x8b6f[6]]);router[_0x8b6f[7]](_0x8b6f[8],auth[_0x8b6f[5]](),controller[_0x8b6f[9]]);router[_0x8b6f[11]](_0x8b6f[4],auth[_0x8b6f[5]](),controller[_0x8b6f[10]]);router[_0x8b6f[13]](_0x8b6f[8],auth[_0x8b6f[5]](),controller[_0x8b6f[12]]);router[_0x8b6f[14]](_0x8b6f[8],auth[_0x8b6f[5]](),controller[_0x8b6f[12]]);router[_0x8b6f[16]](_0x8b6f[8],auth[_0x8b6f[5]](),controller[_0x8b6f[15]]);module[_0x8b6f[17]]=router;
\ No newline at end of file
+var _0xc29a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x66\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xc29a[0];var express=require(_0xc29a[1]);var auth=require(_0xc29a[2]);var controller=require(_0xc29a[3]);var router=express.Router();router[_0xc29a[7]](_0xc29a[4],auth[_0xc29a[5]](),controller[_0xc29a[6]]);router[_0xc29a[7]](_0xc29a[8],auth[_0xc29a[5]](),controller[_0xc29a[9]]);router[_0xc29a[11]](_0xc29a[4],auth[_0xc29a[5]](),controller[_0xc29a[10]]);router[_0xc29a[13]](_0xc29a[8],auth[_0xc29a[5]](),controller[_0xc29a[12]]);router[_0xc29a[14]](_0xc29a[8],auth[_0xc29a[5]](),controller[_0xc29a[12]]);router[_0xc29a[16]](_0xc29a[8],auth[_0xc29a[5]](),controller[_0xc29a[15]]);module[_0xc29a[17]]=router;
\ No newline at end of file
index 454507fff7fcbdbf5419da89e3396f9045c7410c..0e6dc696fab10aa536b8405a1eb9914e2acfc1e9 100644 (file)
@@ -1 +1 @@
-var _0x91ce=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6E\x6F\x50\x72\x65\x73\x65\x72\x76\x65\x43\x61\x63\x68\x65","\x70\x72\x6F\x78\x79\x71\x75\x69\x72\x65","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x69\x6E\x64\x65\x78","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x73\x68\x6F\x77","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x63\x72\x65\x61\x74\x65","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x75\x70\x64\x61\x74\x65","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x64\x65\x73\x74\x72\x6F\x79","\x73\x70\x79","\x2E\x2F\x69\x6E\x64\x65\x78\x2E\x6A\x73","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64\x20\x41\x50\x49\x20\x52\x6F\x75\x74\x65\x72\x3A","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x74\x75\x72\x6E\x20\x61\x6E\x20\x65\x78\x70\x72\x65\x73\x73\x20\x72\x6F\x75\x74\x65\x72\x20\x69\x6E\x73\x74\x61\x6E\x63\x65","\x65\x71\x75\x61\x6C","\x74\x6F","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x66\x69\x65\x6C\x64\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x69\x6E\x64\x65\x78","\x63\x61\x6C\x6C\x65\x64\x4F\x6E\x63\x65","\x62\x65\x65\x6E","\x68\x61\x76\x65","\x2F","\x77\x69\x74\x68\x41\x72\x67\x73","\x67\x65\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x73\x68\x6F\x77","\x2F\x3A\x69\x64","\x50\x4F\x53\x54\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x66\x69\x65\x6C\x64\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x50\x55\x54\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x50\x41\x54\x43\x48\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x70\x61\x74\x63\x68","\x44\x45\x4C\x45\x54\x45\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65"];_0x91ce[0];var proxyquire=require(_0x91ce[2])[_0x91ce[1]]();var salesforceFieldCtrlStub={index:_0x91ce[3],show:_0x91ce[4],create:_0x91ce[5],update:_0x91ce[6],destroy:_0x91ce[7]};var routerStub={get:sinon[_0x91ce[8]](),put:sinon[_0x91ce[8]](),patch:sinon[_0x91ce[8]](),post:sinon[_0x91ce[8]](),delete:sinon[_0x91ce[8]]()};var salesforceFieldIndex=proxyquire(_0x91ce[9],{"\x65\x78\x70\x72\x65\x73\x73":{Router:function(){return routerStub}},"\x2E\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x66\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72":salesforceFieldCtrlStub});describe(_0x91ce[10],function(){it(_0x91ce[11],function(){expect(salesforceFieldIndex)[_0x91ce[13]][_0x91ce[12]](routerStub)});describe(_0x91ce[14],function(){it(_0x91ce[15],function(){expect(routerStub[_0x91ce[21]][_0x91ce[20]](_0x91ce[19],_0x91ce[3]))[_0x91ce[13]][_0x91ce[18]][_0x91ce[17]][_0x91ce[16]]})});describe(_0x91ce[22],function(){it(_0x91ce[23],function(){expect(routerStub[_0x91ce[21]][_0x91ce[20]](_0x91ce[24],_0x91ce[4]))[_0x91ce[13]][_0x91ce[18]][_0x91ce[17]][_0x91ce[16]]})});describe(_0x91ce[25],function(){it(_0x91ce[26],function(){expect(routerStub[_0x91ce[27]][_0x91ce[20]](_0x91ce[19],_0x91ce[5]))[_0x91ce[13]][_0x91ce[18]][_0x91ce[17]][_0x91ce[16]]})});describe(_0x91ce[28],function(){it(_0x91ce[29],function(){expect(routerStub[_0x91ce[30]][_0x91ce[20]](_0x91ce[24],_0x91ce[6]))[_0x91ce[13]][_0x91ce[18]][_0x91ce[17]][_0x91ce[16]]})});describe(_0x91ce[31],function(){it(_0x91ce[29],function(){expect(routerStub[_0x91ce[32]][_0x91ce[20]](_0x91ce[24],_0x91ce[6]))[_0x91ce[13]][_0x91ce[18]][_0x91ce[17]][_0x91ce[16]]})});describe(_0x91ce[33],function(){it(_0x91ce[34],function(){expect(routerStub[_0x91ce[35]][_0x91ce[20]](_0x91ce[24],_0x91ce[7]))[_0x91ce[13]][_0x91ce[18]][_0x91ce[17]][_0x91ce[16]]})});});
\ No newline at end of file
+var _0x3469=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6E\x6F\x50\x72\x65\x73\x65\x72\x76\x65\x43\x61\x63\x68\x65","\x70\x72\x6F\x78\x79\x71\x75\x69\x72\x65","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x69\x6E\x64\x65\x78","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x73\x68\x6F\x77","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x63\x72\x65\x61\x74\x65","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x75\x70\x64\x61\x74\x65","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x64\x65\x73\x74\x72\x6F\x79","\x73\x70\x79","\x2E\x2F\x69\x6E\x64\x65\x78\x2E\x6A\x73","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64\x20\x41\x50\x49\x20\x52\x6F\x75\x74\x65\x72\x3A","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x74\x75\x72\x6E\x20\x61\x6E\x20\x65\x78\x70\x72\x65\x73\x73\x20\x72\x6F\x75\x74\x65\x72\x20\x69\x6E\x73\x74\x61\x6E\x63\x65","\x65\x71\x75\x61\x6C","\x74\x6F","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x66\x69\x65\x6C\x64\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x69\x6E\x64\x65\x78","\x63\x61\x6C\x6C\x65\x64\x4F\x6E\x63\x65","\x62\x65\x65\x6E","\x68\x61\x76\x65","\x2F","\x77\x69\x74\x68\x41\x72\x67\x73","\x67\x65\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x73\x68\x6F\x77","\x2F\x3A\x69\x64","\x50\x4F\x53\x54\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x66\x69\x65\x6C\x64\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x50\x55\x54\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x50\x41\x54\x43\x48\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x70\x61\x74\x63\x68","\x44\x45\x4C\x45\x54\x45\x20\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65"];_0x3469[0];var proxyquire=require(_0x3469[2])[_0x3469[1]]();var salesforceFieldCtrlStub={index:_0x3469[3],show:_0x3469[4],create:_0x3469[5],update:_0x3469[6],destroy:_0x3469[7]};var routerStub={get:sinon[_0x3469[8]](),put:sinon[_0x3469[8]](),patch:sinon[_0x3469[8]](),post:sinon[_0x3469[8]](),delete:sinon[_0x3469[8]]()};var salesforceFieldIndex=proxyquire(_0x3469[9],{"\x65\x78\x70\x72\x65\x73\x73":{Router:function(){return routerStub}},"\x2E\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x66\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72":salesforceFieldCtrlStub});describe(_0x3469[10],function(){it(_0x3469[11],function(){expect(salesforceFieldIndex)[_0x3469[13]][_0x3469[12]](routerStub)});describe(_0x3469[14],function(){it(_0x3469[15],function(){expect(routerStub[_0x3469[21]][_0x3469[20]](_0x3469[19],_0x3469[3]))[_0x3469[13]][_0x3469[18]][_0x3469[17]][_0x3469[16]]})});describe(_0x3469[22],function(){it(_0x3469[23],function(){expect(routerStub[_0x3469[21]][_0x3469[20]](_0x3469[24],_0x3469[4]))[_0x3469[13]][_0x3469[18]][_0x3469[17]][_0x3469[16]]})});describe(_0x3469[25],function(){it(_0x3469[26],function(){expect(routerStub[_0x3469[27]][_0x3469[20]](_0x3469[19],_0x3469[5]))[_0x3469[13]][_0x3469[18]][_0x3469[17]][_0x3469[16]]})});describe(_0x3469[28],function(){it(_0x3469[29],function(){expect(routerStub[_0x3469[30]][_0x3469[20]](_0x3469[24],_0x3469[6]))[_0x3469[13]][_0x3469[18]][_0x3469[17]][_0x3469[16]]})});describe(_0x3469[31],function(){it(_0x3469[29],function(){expect(routerStub[_0x3469[32]][_0x3469[20]](_0x3469[24],_0x3469[6]))[_0x3469[13]][_0x3469[18]][_0x3469[17]][_0x3469[16]]})});describe(_0x3469[33],function(){it(_0x3469[34],function(){expect(routerStub[_0x3469[35]][_0x3469[20]](_0x3469[24],_0x3469[7]))[_0x3469[13]][_0x3469[18]][_0x3469[17]][_0x3469[16]]})});});
\ No newline at end of file
index 45895cb8f6f7042d4c9c6cf030eff4c093dacc68..1fc14f9a5547e4faedd26884faf8ae5db3ff690b 100644 (file)
@@ -1 +1 @@
-var _0x4858=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65"];_0x4858[0];var _=require(_0x4858[1]);var SalesforceField=require(_0x4858[3])[_0x4858[2]];function handleError(_0xe83ax4,_0xe83ax5){_0xe83ax5=_0xe83ax5||500;return function(_0xe83ax6){_0xe83ax4[_0x4858[5]](_0xe83ax5)[_0x4858[4]](_0xe83ax6)};}function responseWithResult(_0xe83ax4,_0xe83ax5){_0xe83ax5=_0xe83ax5||200;return function(_0xe83ax8){if(_0xe83ax8){_0xe83ax4[_0x4858[5]](_0xe83ax5)[_0x4858[6]](_0xe83ax8)}};}function handleEntityNotFound(_0xe83ax4){return function(_0xe83ax8){if(!_0xe83ax8){_0xe83ax4[_0x4858[5]](404)[_0x4858[7]]();return null;};return _0xe83ax8;}}function saveUpdates(_0xe83axb){return function(_0xe83ax8){return _0xe83ax8[_0x4858[9]](_0xe83axb)[_0x4858[8]](function(_0xe83axc){return _0xe83axc})}}function removeEntity(_0xe83ax4){return function(_0xe83ax8){if(_0xe83ax8){return _0xe83ax8[_0x4858[10]]()[_0x4858[8]](function(){_0xe83ax4[_0x4858[5]](204)[_0x4858[7]]()})}}}exports[_0x4858[11]]=function(_0xe83axe,_0xe83ax4){SalesforceField[_0x4858[13]]()[_0x4858[8]](responseWithResult(_0xe83ax4))[_0x4858[12]](handleError(_0xe83ax4))};exports[_0x4858[14]]=function(_0xe83axe,_0xe83ax4){SalesforceField[_0x4858[17]](_0xe83axe[_0x4858[16]][_0x4858[15]])[_0x4858[8]](handleEntityNotFound(_0xe83ax4))[_0x4858[8]](responseWithResult(_0xe83ax4))[_0x4858[12]](handleError(_0xe83ax4))};exports[_0x4858[18]]=function(_0xe83axe,_0xe83ax4){SalesforceField[_0x4858[18]](_0xe83axe[_0x4858[19]])[_0x4858[8]](responseWithResult(_0xe83ax4,201))[_0x4858[12]](handleError(_0xe83ax4))};exports[_0x4858[20]]=function(_0xe83axe,_0xe83ax4){if(_0xe83axe[_0x4858[19]][_0x4858[15]]){delete _0xe83axe[_0x4858[19]][_0x4858[15]]};SalesforceField[_0x4858[17]](_0xe83axe[_0x4858[16]][_0x4858[15]])[_0x4858[8]](handleEntityNotFound(_0xe83ax4))[_0x4858[8]](saveUpdates(_0xe83axe[_0x4858[19]]))[_0x4858[8]](responseWithResult(_0xe83ax4))[_0x4858[12]](handleError(_0xe83ax4));};exports[_0x4858[10]]=function(_0xe83axe,_0xe83ax4){SalesforceField[_0x4858[17]](_0xe83axe[_0x4858[16]][_0x4858[15]])[_0x4858[8]](handleEntityNotFound(_0xe83ax4))[_0x4858[8]](removeEntity(_0xe83ax4))[_0x4858[12]](handleError(_0xe83ax4))};
\ No newline at end of file
+var _0xab86=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65"];_0xab86[0];var _=require(_0xab86[1]);var SalesforceField=require(_0xab86[3])[_0xab86[2]];function handleError(_0x808dx4,_0x808dx5){_0x808dx5=_0x808dx5||500;return function(_0x808dx6){_0x808dx4[_0xab86[5]](_0x808dx5)[_0xab86[4]](_0x808dx6)};}function responseWithResult(_0x808dx4,_0x808dx5){_0x808dx5=_0x808dx5||200;return function(_0x808dx8){if(_0x808dx8){_0x808dx4[_0xab86[5]](_0x808dx5)[_0xab86[6]](_0x808dx8)}};}function handleEntityNotFound(_0x808dx4){return function(_0x808dx8){if(!_0x808dx8){_0x808dx4[_0xab86[5]](404)[_0xab86[7]]();return null;};return _0x808dx8;}}function saveUpdates(_0x808dxb){return function(_0x808dx8){return _0x808dx8[_0xab86[9]](_0x808dxb)[_0xab86[8]](function(_0x808dxc){return _0x808dxc})}}function removeEntity(_0x808dx4){return function(_0x808dx8){if(_0x808dx8){return _0x808dx8[_0xab86[10]]()[_0xab86[8]](function(){_0x808dx4[_0xab86[5]](204)[_0xab86[7]]()})}}}exports[_0xab86[11]]=function(_0x808dxe,_0x808dx4){SalesforceField[_0xab86[13]]()[_0xab86[8]](responseWithResult(_0x808dx4))[_0xab86[12]](handleError(_0x808dx4))};exports[_0xab86[14]]=function(_0x808dxe,_0x808dx4){SalesforceField[_0xab86[17]](_0x808dxe[_0xab86[16]][_0xab86[15]])[_0xab86[8]](handleEntityNotFound(_0x808dx4))[_0xab86[8]](responseWithResult(_0x808dx4))[_0xab86[12]](handleError(_0x808dx4))};exports[_0xab86[18]]=function(_0x808dxe,_0x808dx4){SalesforceField[_0xab86[18]](_0x808dxe[_0xab86[19]])[_0xab86[8]](responseWithResult(_0x808dx4,201))[_0xab86[12]](handleError(_0x808dx4))};exports[_0xab86[20]]=function(_0x808dxe,_0x808dx4){if(_0x808dxe[_0xab86[19]][_0xab86[15]]){delete _0x808dxe[_0xab86[19]][_0xab86[15]]};SalesforceField[_0xab86[17]](_0x808dxe[_0xab86[16]][_0xab86[15]])[_0xab86[8]](handleEntityNotFound(_0x808dx4))[_0xab86[8]](saveUpdates(_0x808dxe[_0xab86[19]]))[_0xab86[8]](responseWithResult(_0x808dx4))[_0xab86[12]](handleError(_0x808dx4));};exports[_0xab86[10]]=function(_0x808dxe,_0x808dx4){SalesforceField[_0xab86[17]](_0x808dxe[_0xab86[16]][_0xab86[15]])[_0xab86[8]](handleEntityNotFound(_0x808dx4))[_0xab86[8]](removeEntity(_0x808dx4))[_0xab86[12]](handleError(_0x808dx4))};
\ No newline at end of file
index 37a40a193487dea376fe7fd8ad0cc83ac20e1a59..0a9ad6fa7c102d1a69a260daad4a38df20ea1bbf 100644 (file)
@@ -1 +1 @@
-var _0x9a67=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x66\x69\x65\x6C\x64\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x66\x69\x65\x6C\x64\x3A\x72\x65\x6D\x6F\x76\x65"];_0x9a67[0];var SalesforceField=require(_0x9a67[2])[_0x9a67[1]];exports[_0x9a67[3]]=function(_0x4ff2x2){SalesforceField[_0x9a67[4]](function(_0x4ff2x3){onSave(_0x4ff2x2,_0x4ff2x3)});SalesforceField[_0x9a67[5]](function(_0x4ff2x3){onRemove(_0x4ff2x2,_0x4ff2x3)});};function onSave(_0x4ff2x2,_0x4ff2x3,_0x4ff2x5){_0x4ff2x2[_0x9a67[7]](_0x9a67[6],_0x4ff2x3)}function onRemove(_0x4ff2x2,_0x4ff2x3,_0x4ff2x5){_0x4ff2x2[_0x9a67[7]](_0x9a67[8],_0x4ff2x3)}
\ No newline at end of file
+var _0xd569=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x66\x69\x65\x6C\x64\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x66\x69\x65\x6C\x64\x3A\x72\x65\x6D\x6F\x76\x65"];_0xd569[0];var SalesforceField=require(_0xd569[2])[_0xd569[1]];exports[_0xd569[3]]=function(_0x97f9x2){SalesforceField[_0xd569[4]](function(_0x97f9x3){onSave(_0x97f9x2,_0x97f9x3)});SalesforceField[_0xd569[5]](function(_0x97f9x3){onRemove(_0x97f9x2,_0x97f9x3)});};function onSave(_0x97f9x2,_0x97f9x3,_0x97f9x5){_0x97f9x2[_0xd569[7]](_0xd569[6],_0x97f9x3)}function onRemove(_0x97f9x2,_0x97f9x3,_0x97f9x5){_0x97f9x2[_0xd569[7]](_0xd569[8],_0x97f9x3)}
\ No newline at end of file
index 3007f3a436eedd2b6c41e273663ff06290e47a52..ed1760c9bed9aef3e9f6e7dc3ab50847bc84c1ce 100644 (file)
@@ -1 +1 @@
-var _0x784b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x73\x65\x74\x74\x69\x6E\x67\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x67\x65\x74\x49\x6E\x74\x65\x72\x6E\x61\x6C","\x2F\x69\x6E\x66\x6F","\x67\x65\x74\x49\x6E\x66\x6F","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x784b[0];var express=require(_0x784b[1]);var controller=require(_0x784b[2]);var auth=require(_0x784b[3]);var router=express.Router();router[_0x784b[7]](_0x784b[4],auth[_0x784b[5]](),controller[_0x784b[6]]);router[_0x784b[7]](_0x784b[8],auth[_0x784b[5]](),controller[_0x784b[9]]);router[_0x784b[7]](_0x784b[10],controller[_0x784b[11]]);router[_0x784b[7]](_0x784b[12],auth[_0x784b[5]](),controller[_0x784b[13]]);router[_0x784b[15]](_0x784b[4],auth[_0x784b[5]](),controller[_0x784b[14]]);router[_0x784b[17]](_0x784b[12],auth[_0x784b[5]](),controller[_0x784b[16]]);router[_0x784b[18]](_0x784b[12],auth[_0x784b[5]](),controller[_0x784b[16]]);router[_0x784b[20]](_0x784b[12],auth[_0x784b[5]](),controller[_0x784b[19]]);module[_0x784b[21]]=router;
\ No newline at end of file
+var _0x4003=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x73\x65\x74\x74\x69\x6E\x67\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x67\x65\x74\x49\x6E\x74\x65\x72\x6E\x61\x6C","\x2F\x69\x6E\x66\x6F","\x67\x65\x74\x49\x6E\x66\x6F","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x4003[0];var express=require(_0x4003[1]);var controller=require(_0x4003[2]);var auth=require(_0x4003[3]);var router=express.Router();router[_0x4003[7]](_0x4003[4],auth[_0x4003[5]](),controller[_0x4003[6]]);router[_0x4003[7]](_0x4003[8],auth[_0x4003[5]](),controller[_0x4003[9]]);router[_0x4003[7]](_0x4003[10],controller[_0x4003[11]]);router[_0x4003[7]](_0x4003[12],auth[_0x4003[5]](),controller[_0x4003[13]]);router[_0x4003[15]](_0x4003[4],auth[_0x4003[5]](),controller[_0x4003[14]]);router[_0x4003[17]](_0x4003[12],auth[_0x4003[5]](),controller[_0x4003[16]]);router[_0x4003[18]](_0x4003[12],auth[_0x4003[5]](),controller[_0x4003[16]]);router[_0x4003[20]](_0x4003[12],auth[_0x4003[5]](),controller[_0x4003[19]]);module[_0x4003[21]]=router;
\ No newline at end of file
index ced3b90f841a41c104e41df2e27efdea62bfc6a5..64e8c6d615bba79e51e8045fce750c283289845a 100644 (file)
@@ -1 +1 @@
-var _0xda13=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x53\x65\x74\x74\x69\x6E\x67\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x67\x65\x74\x49\x6E\x74\x65\x72\x6E\x61\x6C","\x6C\x6F\x67","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x70\x6C\x75\x63\x6B","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x6D\x69\x6E\x5F\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x69\x6E\x64\x65\x78\x4F\x66","\x76\x61\x6C\x75\x65","\x66\x69\x6E\x64\x4F\x6E\x65","\x67\x65\x74\x49\x6E\x66\x6F","\x2E\x2E\x2F\x2E\x2E\x2F\x2E\x2E\x2F\x70\x61\x63\x6B\x61\x67\x65\x2E\x6A\x73\x6F\x6E","\x6E\x61\x6D\x65","\x76\x65\x72\x73\x69\x6F\x6E","\x65\x6E\x67\x69\x6E\x65\x73","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79"];_0xda13[0];var _=require(_0xda13[1]);var Settings=require(_0xda13[3])[_0xda13[2]];var Agent=require(_0xda13[3])[_0xda13[4]];exports[_0xda13[5]]=function(_0xf528x4,_0xf528x5){Settings[_0xda13[10]]()[_0xda13[9]](function(_0xf528x7){return _0xf528x5[_0xda13[8]](200)[_0xda13[7]](_0xf528x7)})[_0xda13[6]](function(_0xf528x6){return handleError(_0xf528x5,_0xf528x6)})};exports[_0xda13[11]]=function(_0xf528x4,_0xf528x5){Settings[_0xda13[19]]()[_0xda13[9]](function(_0xf528x8){Agent[_0xda13[10]]({where:{internal:{$gte:_0xf528x8[_0xda13[16]]}}})[_0xda13[9]](function(_0xf528x9){var _0xf528xa=_[_0xda13[14]](_[_0xda13[14]](_0xf528x9,_0xda13[13]),_0xda13[15]);var _0xf528xb=_0xf528x8[_0xda13[16]];var _0xf528xc={value:null};do{if(_0xf528xa[_0xda13[17]](_0xf528xb)=== -1){_0xf528xc[_0xda13[18]]=_0xf528xb}else {_0xf528xb++}}while(!_0xf528xc[_0xda13[18]]);;return _0xf528x5[_0xda13[8]](200)[_0xda13[7]](_0xf528xc);})[_0xda13[6]](function(_0xf528x6){console[_0xda13[12]](_0xf528x6);return handleError(_0xf528x5,_0xf528x6);})})[_0xda13[6]](function(_0xf528x6){return handleError(_0xf528x5,_0xf528x6)})};exports[_0xda13[20]]=function(_0xf528x4,_0xf528x5){var _0xf528xd=require(_0xda13[21]);return _0xf528x5[_0xda13[8]](200)[_0xda13[7]]({name:_0xf528xd[_0xda13[22]],version:_0xf528xd[_0xda13[23]],engines:_0xf528xd[_0xda13[24]]});};exports[_0xda13[25]]=function(_0xf528x4,_0xf528x5){Settings[_0xda13[29]](_0xf528x4[_0xda13[28]][_0xda13[27]])[_0xda13[9]](function(_0xf528xe){if(!_0xf528xe){return _0xf528x5[_0xda13[26]](404)};return _0xf528x5[_0xda13[7]](_0xf528xe);})[_0xda13[6]](function(_0xf528x6){return handleError(_0xf528x5,_0xf528x6)})};exports[_0xda13[30]]=function(_0xf528x4,_0xf528x5){Settings[_0xda13[30]](_0xf528x4[_0xda13[31]])[_0xda13[9]](function(_0xf528xe){return _0xf528x5[_0xda13[8]](201)[_0xda13[7]](_0xf528xe)})[_0xda13[6]](function(_0xf528x6){return handleError(_0xf528x5,_0xf528x6)})};exports[_0xda13[32]]=function(_0xf528x4,_0xf528x5){if(_0xf528x4[_0xda13[31]][_0xda13[27]]){delete _0xf528x4[_0xda13[31]][_0xda13[27]]};Settings[_0xda13[35]]({where:{id:_0xf528x4[_0xda13[28]][_0xda13[27]]}})[_0xda13[9]](function(_0xf528xe){if(!_0xf528xe){return _0xf528x5[_0xda13[26]](404)};var _0xf528xf=_[_0xda13[33]](_0xf528xe,_0xf528x4[_0xda13[31]]);_0xf528xf[_0xda13[34]]()[_0xda13[9]](function(){return _0xf528x5[_0xda13[8]](200)[_0xda13[7]](_0xf528xe)})[_0xda13[6]](function(_0xf528x6){return handleError(_0xf528x5,_0xf528x6)});})[_0xda13[6]](function(_0xf528x6){return handleError(_0xf528x5,_0xf528x6)});};exports[_0xda13[36]]=function(_0xf528x4,_0xf528x5){Settings[_0xda13[35]]({where:{id:_0xf528x4[_0xda13[28]][_0xda13[27]]}})[_0xda13[9]](function(_0xf528xe){if(!_0xf528xe){return _0xf528x5[_0xda13[26]](404)};_0xf528xe[_0xda13[36]]()[_0xda13[9]](function(){return _0xf528x5[_0xda13[26]](204)})[_0xda13[6]](function(_0xf528x6){return handleError(_0xf528x5,_0xf528x6)});})[_0xda13[6]](function(_0xf528x6){return handleError(_0xf528x5,_0xf528x6)})};function handleError(_0xf528x5,_0xf528x6){return _0xf528x5[_0xda13[8]](500)[_0xda13[7]](_0xf528x6)}
\ No newline at end of file
+var _0x75b4=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x53\x65\x74\x74\x69\x6E\x67\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x67\x65\x74\x49\x6E\x74\x65\x72\x6E\x61\x6C","\x6C\x6F\x67","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x70\x6C\x75\x63\x6B","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x6D\x69\x6E\x5F\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x69\x6E\x64\x65\x78\x4F\x66","\x76\x61\x6C\x75\x65","\x66\x69\x6E\x64\x4F\x6E\x65","\x67\x65\x74\x49\x6E\x66\x6F","\x2E\x2E\x2F\x2E\x2E\x2F\x2E\x2E\x2F\x70\x61\x63\x6B\x61\x67\x65\x2E\x6A\x73\x6F\x6E","\x6E\x61\x6D\x65","\x76\x65\x72\x73\x69\x6F\x6E","\x65\x6E\x67\x69\x6E\x65\x73","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79"];_0x75b4[0];var _=require(_0x75b4[1]);var Settings=require(_0x75b4[3])[_0x75b4[2]];var Agent=require(_0x75b4[3])[_0x75b4[4]];exports[_0x75b4[5]]=function(_0x4aa0x4,_0x4aa0x5){Settings[_0x75b4[10]]()[_0x75b4[9]](function(_0x4aa0x7){return _0x4aa0x5[_0x75b4[8]](200)[_0x75b4[7]](_0x4aa0x7)})[_0x75b4[6]](function(_0x4aa0x6){return handleError(_0x4aa0x5,_0x4aa0x6)})};exports[_0x75b4[11]]=function(_0x4aa0x4,_0x4aa0x5){Settings[_0x75b4[19]]()[_0x75b4[9]](function(_0x4aa0x8){Agent[_0x75b4[10]]({where:{internal:{$gte:_0x4aa0x8[_0x75b4[16]]}}})[_0x75b4[9]](function(_0x4aa0x9){var _0x4aa0xa=_[_0x75b4[14]](_[_0x75b4[14]](_0x4aa0x9,_0x75b4[13]),_0x75b4[15]);var _0x4aa0xb=_0x4aa0x8[_0x75b4[16]];var _0x4aa0xc={value:null};do{if(_0x4aa0xa[_0x75b4[17]](_0x4aa0xb)=== -1){_0x4aa0xc[_0x75b4[18]]=_0x4aa0xb}else {_0x4aa0xb++}}while(!_0x4aa0xc[_0x75b4[18]]);;return _0x4aa0x5[_0x75b4[8]](200)[_0x75b4[7]](_0x4aa0xc);})[_0x75b4[6]](function(_0x4aa0x6){console[_0x75b4[12]](_0x4aa0x6);return handleError(_0x4aa0x5,_0x4aa0x6);})})[_0x75b4[6]](function(_0x4aa0x6){return handleError(_0x4aa0x5,_0x4aa0x6)})};exports[_0x75b4[20]]=function(_0x4aa0x4,_0x4aa0x5){var _0x4aa0xd=require(_0x75b4[21]);return _0x4aa0x5[_0x75b4[8]](200)[_0x75b4[7]]({name:_0x4aa0xd[_0x75b4[22]],version:_0x4aa0xd[_0x75b4[23]],engines:_0x4aa0xd[_0x75b4[24]]});};exports[_0x75b4[25]]=function(_0x4aa0x4,_0x4aa0x5){Settings[_0x75b4[29]](_0x4aa0x4[_0x75b4[28]][_0x75b4[27]])[_0x75b4[9]](function(_0x4aa0xe){if(!_0x4aa0xe){return _0x4aa0x5[_0x75b4[26]](404)};return _0x4aa0x5[_0x75b4[7]](_0x4aa0xe);})[_0x75b4[6]](function(_0x4aa0x6){return handleError(_0x4aa0x5,_0x4aa0x6)})};exports[_0x75b4[30]]=function(_0x4aa0x4,_0x4aa0x5){Settings[_0x75b4[30]](_0x4aa0x4[_0x75b4[31]])[_0x75b4[9]](function(_0x4aa0xe){return _0x4aa0x5[_0x75b4[8]](201)[_0x75b4[7]](_0x4aa0xe)})[_0x75b4[6]](function(_0x4aa0x6){return handleError(_0x4aa0x5,_0x4aa0x6)})};exports[_0x75b4[32]]=function(_0x4aa0x4,_0x4aa0x5){if(_0x4aa0x4[_0x75b4[31]][_0x75b4[27]]){delete _0x4aa0x4[_0x75b4[31]][_0x75b4[27]]};Settings[_0x75b4[35]]({where:{id:_0x4aa0x4[_0x75b4[28]][_0x75b4[27]]}})[_0x75b4[9]](function(_0x4aa0xe){if(!_0x4aa0xe){return _0x4aa0x5[_0x75b4[26]](404)};var _0x4aa0xf=_[_0x75b4[33]](_0x4aa0xe,_0x4aa0x4[_0x75b4[31]]);_0x4aa0xf[_0x75b4[34]]()[_0x75b4[9]](function(){return _0x4aa0x5[_0x75b4[8]](200)[_0x75b4[7]](_0x4aa0xe)})[_0x75b4[6]](function(_0x4aa0x6){return handleError(_0x4aa0x5,_0x4aa0x6)});})[_0x75b4[6]](function(_0x4aa0x6){return handleError(_0x4aa0x5,_0x4aa0x6)});};exports[_0x75b4[36]]=function(_0x4aa0x4,_0x4aa0x5){Settings[_0x75b4[35]]({where:{id:_0x4aa0x4[_0x75b4[28]][_0x75b4[27]]}})[_0x75b4[9]](function(_0x4aa0xe){if(!_0x4aa0xe){return _0x4aa0x5[_0x75b4[26]](404)};_0x4aa0xe[_0x75b4[36]]()[_0x75b4[9]](function(){return _0x4aa0x5[_0x75b4[26]](204)})[_0x75b4[6]](function(_0x4aa0x6){return handleError(_0x4aa0x5,_0x4aa0x6)});})[_0x75b4[6]](function(_0x4aa0x6){return handleError(_0x4aa0x5,_0x4aa0x6)})};function handleError(_0x4aa0x5,_0x4aa0x6){return _0x4aa0x5[_0x75b4[8]](500)[_0x75b4[7]](_0x4aa0x6)}
\ No newline at end of file
index 82781385118bd946debeabecd13e07367fbab3d5..c7ff2528e9674a4001c49f7c1d99d3feea64f642 100644 (file)
@@ -1 +1 @@
-var _0xd706=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x53\x65\x74\x74\x69\x6E\x67\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x73\x65\x74\x74\x69\x6E\x67\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x73\x65\x74\x74\x69\x6E\x67\x3A\x72\x65\x6D\x6F\x76\x65"];_0xd706[0];var Settings=require(_0xd706[2])[_0xd706[1]];exports[_0xd706[3]]=function(_0xf1acx2){Settings[_0xd706[4]](function(_0xf1acx3){onSave(_0xf1acx2,_0xf1acx3)});Settings[_0xd706[5]](function(_0xf1acx3){onRemove(_0xf1acx2,_0xf1acx3)});};function onSave(_0xf1acx2,_0xf1acx3,_0xf1acx5){_0xf1acx2[_0xd706[7]](_0xd706[6],_0xf1acx3)}function onRemove(_0xf1acx2,_0xf1acx3,_0xf1acx5){_0xf1acx2[_0xd706[7]](_0xd706[8],_0xf1acx3)}
\ No newline at end of file
+var _0xedb0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x53\x65\x74\x74\x69\x6E\x67\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x73\x65\x74\x74\x69\x6E\x67\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x73\x65\x74\x74\x69\x6E\x67\x3A\x72\x65\x6D\x6F\x76\x65"];_0xedb0[0];var Settings=require(_0xedb0[2])[_0xedb0[1]];exports[_0xedb0[3]]=function(_0x5274x2){Settings[_0xedb0[4]](function(_0x5274x3){onSave(_0x5274x2,_0x5274x3)});Settings[_0xedb0[5]](function(_0x5274x3){onRemove(_0x5274x2,_0x5274x3)});};function onSave(_0x5274x2,_0x5274x3,_0x5274x5){_0x5274x2[_0xedb0[7]](_0xedb0[6],_0x5274x3)}function onRemove(_0x5274x2,_0x5274x3,_0x5274x5){_0x5274x2[_0xedb0[7]](_0xedb0[8],_0x5274x3)}
\ No newline at end of file
diff --git a/server/api/mail_attachment/mail_attachment.spec.js b/server/api/mail_attachment/mail_attachment.spec.js
index 3df61498d81327f1496396195fc78285a05e319f..d9ebed86027c831d153d7903dfa4dff2a40302ed 100644 (file)
+++ b/server/api/mail_attachment/mail_attachment.spec.js
@@ -1 +1 @@
-var _0x8f2b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x65\x74\x74\x69\x6E\x67\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x73\x65\x74\x74\x69\x6E\x67\x73","\x67\x65\x74"];_0x8f2b[0];var should=require(_0x8f2b[1]);var app=require(_0x8f2b[2]);var request=require(_0x8f2b[3]);describe(_0x8f2b[4],function(){it(_0x8f2b[5],function(_0x159bx4){request(app)[_0x8f2b[13]](_0x8f2b[12])[_0x8f2b[11]](200)[_0x8f2b[11]](_0x8f2b[10],/json/)[_0x8f2b[9]](function(_0x159bx5,_0x159bx6){if(_0x159bx5){return _0x159bx4(_0x159bx5)};_0x159bx6[_0x8f2b[8]][_0x8f2b[1]][_0x8f2b[7]][_0x8f2b[6]](Array);_0x159bx4();})})});
\ No newline at end of file
+var _0xa00d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x65\x74\x74\x69\x6E\x67\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x73\x65\x74\x74\x69\x6E\x67\x73","\x67\x65\x74"];_0xa00d[0];var should=require(_0xa00d[1]);var app=require(_0xa00d[2]);var request=require(_0xa00d[3]);describe(_0xa00d[4],function(){it(_0xa00d[5],function(_0x7f53x4){request(app)[_0xa00d[13]](_0xa00d[12])[_0xa00d[11]](200)[_0xa00d[11]](_0xa00d[10],/json/)[_0xa00d[9]](function(_0x7f53x5,_0x7f53x6){if(_0x7f53x5){return _0x7f53x4(_0x7f53x5)};_0x7f53x6[_0xa00d[8]][_0xa00d[1]][_0xa00d[7]][_0xa00d[6]](Array);_0x7f53x4();})})});
\ No newline at end of file
index 4574bca7c4bbe59cc5fc155857a8e7aa8975e262..5e6da4ac6d8a7198d21dd4a4be7928659486a005 100644 (file)
@@ -1 +1 @@
-var _0xb74e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x73\x71\x75\x61\x72\x65\x5F\x6F\x64\x62\x63\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x6F\x64\x62\x63\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xb74e[0];var express=require(_0xb74e[1]);var controller=require(_0xb74e[2]);var auth=require(_0xb74e[3]);var router=express.Router();router[_0xb74e[7]](_0xb74e[4],auth[_0xb74e[5]](),controller[_0xb74e[6]]);router[_0xb74e[7]](_0xb74e[8],auth[_0xb74e[5]](),controller[_0xb74e[9]]);router[_0xb74e[11]](_0xb74e[4],auth[_0xb74e[5]](),controller[_0xb74e[10]]);router[_0xb74e[11]](_0xb74e[12],auth[_0xb74e[5]](),controller[_0xb74e[13]]);router[_0xb74e[15]](_0xb74e[8],auth[_0xb74e[5]](),controller[_0xb74e[14]]);router[_0xb74e[16]](_0xb74e[8],auth[_0xb74e[5]](),controller[_0xb74e[14]]);router[_0xb74e[18]](_0xb74e[8],auth[_0xb74e[5]](),controller[_0xb74e[17]]);module[_0xb74e[19]]=router;
\ No newline at end of file
+var _0x3944=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x73\x71\x75\x61\x72\x65\x5F\x6F\x64\x62\x63\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x6F\x64\x62\x63\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x3944[0];var express=require(_0x3944[1]);var controller=require(_0x3944[2]);var auth=require(_0x3944[3]);var router=express.Router();router[_0x3944[7]](_0x3944[4],auth[_0x3944[5]](),controller[_0x3944[6]]);router[_0x3944[7]](_0x3944[8],auth[_0x3944[5]](),controller[_0x3944[9]]);router[_0x3944[11]](_0x3944[4],auth[_0x3944[5]](),controller[_0x3944[10]]);router[_0x3944[11]](_0x3944[12],auth[_0x3944[5]](),controller[_0x3944[13]]);router[_0x3944[15]](_0x3944[8],auth[_0x3944[5]](),controller[_0x3944[14]]);router[_0x3944[16]](_0x3944[8],auth[_0x3944[5]](),controller[_0x3944[14]]);router[_0x3944[18]](_0x3944[8],auth[_0x3944[5]](),controller[_0x3944[17]]);module[_0x3944[19]]=router;
\ No newline at end of file
index 7adba3894ce68e6d192c7afdee42e8d6451284b0..f27fd2fec83de2690294426bbeac10ce840f6592 100644 (file)
@@ -1 +1 @@
-var _0x2854=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x53\x71\x75\x61\x72\x65\x4F\x64\x62\x63","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x6F\x64\x62\x63\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x62\x6F\x64\x79","\x6C\x6F\x67","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x6C\x65\x6E\x67\x74\x68","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x4F\x44\x42\x43","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x66\x69\x6E\x64","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0x2854[0];var _=require(_0x2854[1]);var SquareOdbc=require(_0x2854[3])[_0x2854[2]];var util=require(_0x2854[4]);exports[_0x2854[5]]=function(_0xf6d5x4,_0xf6d5x5){var _0xf6d5x6=[_0x2854[6],_0x2854[7]];var _0xf6d5x7=_0xf6d5x4[_0x2854[9]][_0x2854[8]]?parseInt(_0xf6d5x4[_0x2854[9]][_0x2854[8]],10):100;var _0xf6d5x8=_0xf6d5x4[_0x2854[9]][_0x2854[10]]?parseInt(_0xf6d5x4[_0x2854[9]][_0x2854[10]],10):0;var _0xf6d5x9={where:{},limit:_0xf6d5x7,offset:_0xf6d5x8*_0xf6d5x7};_[_0x2854[24]](_0xf6d5x4[_0x2854[9]],function(_0xf6d5xa,_0xf6d5xb){switch(_0xf6d5xb){case _0x2854[8]:;case _0x2854[10]:break ;;case _0x2854[13]:_0xf6d5x9[_0x2854[11]]=util[_0x2854[16]](_0x2854[12],_0xf6d5x4[_0x2854[9]][_0x2854[13]],_0xf6d5x4[_0x2854[9]][_0x2854[14]]||_0x2854[15])||null;break ;;case _0x2854[14]:break ;;case _0x2854[22]:_0xf6d5x9[_0x2854[18]][_0x2854[17]]=[];_0xf6d5x6[_0x2854[21]](function(_0xf6d5xc){var _0xf6d5xd={};_0xf6d5xd[_0xf6d5xc]={$like:_0x2854[19]+_0xf6d5xa+_0x2854[19]};_0xf6d5x9[_0x2854[18]][_0x2854[17]][_0x2854[20]](_0xf6d5xd);});break ;;default:_0xf6d5x9[_0x2854[18]][_0xf6d5xb]={$like:{}};_0xf6d5x9[_0x2854[18]][_0xf6d5xb][_0x2854[23]]=_0x2854[19]+_0xf6d5xa+_0x2854[19];;}});SquareOdbc[_0x2854[39]](_0xf6d5x9)[_0x2854[38]](function(_0xf6d5xf){var _0xf6d5x10=Math[_0x2854[30]](_0xf6d5xf[_0x2854[29]]/_0xf6d5x7);var _0xf6d5x11=_0xf6d5x10>(_0xf6d5x9[_0x2854[31]]+1)?util[_0x2854[16]](_0x2854[32],_0xf6d5x4[_0x2854[33]],_0xf6d5x4[_0x2854[35]][_0x2854[34]],_0xf6d5x4[_0x2854[36]],_0xf6d5x8+1):null;var _0xf6d5x12=_0xf6d5x8>0?util[_0x2854[16]](_0x2854[32],_0xf6d5x4[_0x2854[33]],_0xf6d5x4[_0x2854[35]][_0x2854[34]],_0xf6d5x4[_0x2854[36]],_0xf6d5x8-1):null;_0xf6d5x5[_0x2854[27]](200)[_0x2854[26]]({count:_0xf6d5xf[_0x2854[29]],rows:_0xf6d5xf[_0x2854[37]],next_page:_0xf6d5x11,previous_page:_0xf6d5x12,total_pages:_0xf6d5x10});})[_0x2854[28]](function(_0xf6d5xe){_0xf6d5x5[_0x2854[27]](500)[_0x2854[26]]({error:_0x2854[25]})});};exports[_0x2854[40]]=function(_0xf6d5x4,_0xf6d5x5){console[_0x2854[42]](_0xf6d5x4[_0x2854[41]]);SquareOdbc[_0x2854[44]]({where:{name:_0xf6d5x4[_0x2854[41]][_0x2854[6]]}})[_0x2854[38]](function(_0xf6d5x13){if(!_0xf6d5x13){return _0xf6d5x5[_0x2854[43]](404)};return _0xf6d5x5[_0x2854[26]](_0xf6d5x13);})[_0x2854[28]](function(_0xf6d5xe){return handleError(_0xf6d5x5,_0xf6d5xe)});};exports[_0x2854[45]]=function(_0xf6d5x4,_0xf6d5x5){SquareOdbc[_0x2854[48]](_0xf6d5x4[_0x2854[47]][_0x2854[46]])[_0x2854[38]](function(_0xf6d5x14){if(!_0xf6d5x14){return _0xf6d5x5[_0x2854[43]](404)};return _0xf6d5x5[_0x2854[26]](_0xf6d5x14);})[_0x2854[28]](function(_0xf6d5xe){return handleError(_0xf6d5x5,_0xf6d5xe)})};exports[_0x2854[49]]=function(_0xf6d5x4,_0xf6d5x5){SquareOdbc[_0x2854[49]](_0xf6d5x4[_0x2854[41]])[_0x2854[38]](function(_0xf6d5x14){return _0xf6d5x5[_0x2854[27]](201)[_0x2854[26]](_0xf6d5x14)})[_0x2854[28]](function(_0xf6d5xe){return handleError(_0xf6d5x5,_0xf6d5xe)})};exports[_0x2854[50]]=function(_0xf6d5x4,_0xf6d5x5){SquareOdbc[_0x2854[44]]({where:{name:_0xf6d5x4[_0x2854[41]][_0x2854[6]],id:{$ne:_0xf6d5x4[_0x2854[41]][_0x2854[46]]}}})[_0x2854[38]](function(_0xf6d5x13){if(!_0xf6d5x13){return _0xf6d5x5[_0x2854[43]](404)};if(_0xf6d5x13[_0x2854[51]]>0){return _0xf6d5x5[_0x2854[27]](500)[_0x2854[26]]({message:_0x2854[52]})};if(_0xf6d5x4[_0x2854[41]][_0x2854[46]]){delete _0xf6d5x4[_0x2854[41]][_0x2854[46]]};SquareOdbc[_0x2854[48]](_0xf6d5x4[_0x2854[47]][_0x2854[46]])[_0x2854[38]](function(_0xf6d5x14){if(!_0xf6d5x14){return _0xf6d5x5[_0x2854[43]](404)};var _0xf6d5x15=_[_0x2854[53]](_0xf6d5x14,_0xf6d5x4[_0x2854[41]]);_0xf6d5x15[_0x2854[54]]()[_0x2854[38]](function(){return _0xf6d5x5[_0x2854[27]](200)[_0x2854[26]](_0xf6d5x14)})[_0x2854[28]](function(_0xf6d5xe){return handleError(_0xf6d5x5,_0xf6d5xe)});})[_0x2854[28]](function(_0xf6d5xe){return handleError(_0xf6d5x5,_0xf6d5xe)});})[_0x2854[28]](function(_0xf6d5xe){return handleError(_0xf6d5x5,_0xf6d5xe)})};exports[_0x2854[55]]=function(_0xf6d5x4,_0xf6d5x5){SquareOdbc[_0x2854[56]]({where:{id:_0xf6d5x4[_0x2854[47]][_0x2854[46]]}})[_0x2854[38]](function(_0xf6d5x14){if(!_0xf6d5x14){return _0xf6d5x5[_0x2854[43]](404)};_0xf6d5x14[_0x2854[55]]()[_0x2854[38]](function(){return _0xf6d5x5[_0x2854[43]](204)})[_0x2854[28]](function(_0xf6d5xe){return handleError(_0xf6d5x5,_0xf6d5xe)});})[_0x2854[28]](function(_0xf6d5xe){return handleError(_0xf6d5x5,_0xf6d5xe)})};exports[_0x2854[57]]=function(_0xf6d5x4,_0xf6d5x5){SquareOdbc[_0x2854[55]]({where:{id:_0xf6d5x4[_0x2854[9]][_0x2854[46]]},individualHooks:true})[_0x2854[38]](function(){return _0xf6d5x5[_0x2854[43]](204)})[_0x2854[28]](function(_0xf6d5xe){return handleError(_0xf6d5x5,_0xf6d5xe)})};function handleError(_0xf6d5x5,_0xf6d5xe){return _0xf6d5x5[_0x2854[27]](500)[_0x2854[26]](_0xf6d5xe)}
\ No newline at end of file
+var _0xe4e6=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x53\x71\x75\x61\x72\x65\x4F\x64\x62\x63","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x6F\x64\x62\x63\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x62\x6F\x64\x79","\x6C\x6F\x67","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x6C\x65\x6E\x67\x74\x68","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x4F\x44\x42\x43","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x66\x69\x6E\x64","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0xe4e6[0];var _=require(_0xe4e6[1]);var SquareOdbc=require(_0xe4e6[3])[_0xe4e6[2]];var util=require(_0xe4e6[4]);exports[_0xe4e6[5]]=function(_0xa96fx4,_0xa96fx5){var _0xa96fx6=[_0xe4e6[6],_0xe4e6[7]];var _0xa96fx7=_0xa96fx4[_0xe4e6[9]][_0xe4e6[8]]?parseInt(_0xa96fx4[_0xe4e6[9]][_0xe4e6[8]],10):100;var _0xa96fx8=_0xa96fx4[_0xe4e6[9]][_0xe4e6[10]]?parseInt(_0xa96fx4[_0xe4e6[9]][_0xe4e6[10]],10):0;var _0xa96fx9={where:{},limit:_0xa96fx7,offset:_0xa96fx8*_0xa96fx7};_[_0xe4e6[24]](_0xa96fx4[_0xe4e6[9]],function(_0xa96fxa,_0xa96fxb){switch(_0xa96fxb){case _0xe4e6[8]:;case _0xe4e6[10]:break ;;case _0xe4e6[13]:_0xa96fx9[_0xe4e6[11]]=util[_0xe4e6[16]](_0xe4e6[12],_0xa96fx4[_0xe4e6[9]][_0xe4e6[13]],_0xa96fx4[_0xe4e6[9]][_0xe4e6[14]]||_0xe4e6[15])||null;break ;;case _0xe4e6[14]:break ;;case _0xe4e6[22]:_0xa96fx9[_0xe4e6[18]][_0xe4e6[17]]=[];_0xa96fx6[_0xe4e6[21]](function(_0xa96fxc){var _0xa96fxd={};_0xa96fxd[_0xa96fxc]={$like:_0xe4e6[19]+_0xa96fxa+_0xe4e6[19]};_0xa96fx9[_0xe4e6[18]][_0xe4e6[17]][_0xe4e6[20]](_0xa96fxd);});break ;;default:_0xa96fx9[_0xe4e6[18]][_0xa96fxb]={$like:{}};_0xa96fx9[_0xe4e6[18]][_0xa96fxb][_0xe4e6[23]]=_0xe4e6[19]+_0xa96fxa+_0xe4e6[19];;}});SquareOdbc[_0xe4e6[39]](_0xa96fx9)[_0xe4e6[38]](function(_0xa96fxf){var _0xa96fx10=Math[_0xe4e6[30]](_0xa96fxf[_0xe4e6[29]]/_0xa96fx7);var _0xa96fx11=_0xa96fx10>(_0xa96fx9[_0xe4e6[31]]+1)?util[_0xe4e6[16]](_0xe4e6[32],_0xa96fx4[_0xe4e6[33]],_0xa96fx4[_0xe4e6[35]][_0xe4e6[34]],_0xa96fx4[_0xe4e6[36]],_0xa96fx8+1):null;var _0xa96fx12=_0xa96fx8>0?util[_0xe4e6[16]](_0xe4e6[32],_0xa96fx4[_0xe4e6[33]],_0xa96fx4[_0xe4e6[35]][_0xe4e6[34]],_0xa96fx4[_0xe4e6[36]],_0xa96fx8-1):null;_0xa96fx5[_0xe4e6[27]](200)[_0xe4e6[26]]({count:_0xa96fxf[_0xe4e6[29]],rows:_0xa96fxf[_0xe4e6[37]],next_page:_0xa96fx11,previous_page:_0xa96fx12,total_pages:_0xa96fx10});})[_0xe4e6[28]](function(_0xa96fxe){_0xa96fx5[_0xe4e6[27]](500)[_0xe4e6[26]]({error:_0xe4e6[25]})});};exports[_0xe4e6[40]]=function(_0xa96fx4,_0xa96fx5){console[_0xe4e6[42]](_0xa96fx4[_0xe4e6[41]]);SquareOdbc[_0xe4e6[44]]({where:{name:_0xa96fx4[_0xe4e6[41]][_0xe4e6[6]]}})[_0xe4e6[38]](function(_0xa96fx13){if(!_0xa96fx13){return _0xa96fx5[_0xe4e6[43]](404)};return _0xa96fx5[_0xe4e6[26]](_0xa96fx13);})[_0xe4e6[28]](function(_0xa96fxe){return handleError(_0xa96fx5,_0xa96fxe)});};exports[_0xe4e6[45]]=function(_0xa96fx4,_0xa96fx5){SquareOdbc[_0xe4e6[48]](_0xa96fx4[_0xe4e6[47]][_0xe4e6[46]])[_0xe4e6[38]](function(_0xa96fx14){if(!_0xa96fx14){return _0xa96fx5[_0xe4e6[43]](404)};return _0xa96fx5[_0xe4e6[26]](_0xa96fx14);})[_0xe4e6[28]](function(_0xa96fxe){return handleError(_0xa96fx5,_0xa96fxe)})};exports[_0xe4e6[49]]=function(_0xa96fx4,_0xa96fx5){SquareOdbc[_0xe4e6[49]](_0xa96fx4[_0xe4e6[41]])[_0xe4e6[38]](function(_0xa96fx14){return _0xa96fx5[_0xe4e6[27]](201)[_0xe4e6[26]](_0xa96fx14)})[_0xe4e6[28]](function(_0xa96fxe){return handleError(_0xa96fx5,_0xa96fxe)})};exports[_0xe4e6[50]]=function(_0xa96fx4,_0xa96fx5){SquareOdbc[_0xe4e6[44]]({where:{name:_0xa96fx4[_0xe4e6[41]][_0xe4e6[6]],id:{$ne:_0xa96fx4[_0xe4e6[41]][_0xe4e6[46]]}}})[_0xe4e6[38]](function(_0xa96fx13){if(!_0xa96fx13){return _0xa96fx5[_0xe4e6[43]](404)};if(_0xa96fx13[_0xe4e6[51]]>0){return _0xa96fx5[_0xe4e6[27]](500)[_0xe4e6[26]]({message:_0xe4e6[52]})};if(_0xa96fx4[_0xe4e6[41]][_0xe4e6[46]]){delete _0xa96fx4[_0xe4e6[41]][_0xe4e6[46]]};SquareOdbc[_0xe4e6[48]](_0xa96fx4[_0xe4e6[47]][_0xe4e6[46]])[_0xe4e6[38]](function(_0xa96fx14){if(!_0xa96fx14){return _0xa96fx5[_0xe4e6[43]](404)};var _0xa96fx15=_[_0xe4e6[53]](_0xa96fx14,_0xa96fx4[_0xe4e6[41]]);_0xa96fx15[_0xe4e6[54]]()[_0xe4e6[38]](function(){return _0xa96fx5[_0xe4e6[27]](200)[_0xe4e6[26]](_0xa96fx14)})[_0xe4e6[28]](function(_0xa96fxe){return handleError(_0xa96fx5,_0xa96fxe)});})[_0xe4e6[28]](function(_0xa96fxe){return handleError(_0xa96fx5,_0xa96fxe)});})[_0xe4e6[28]](function(_0xa96fxe){return handleError(_0xa96fx5,_0xa96fxe)})};exports[_0xe4e6[55]]=function(_0xa96fx4,_0xa96fx5){SquareOdbc[_0xe4e6[56]]({where:{id:_0xa96fx4[_0xe4e6[47]][_0xe4e6[46]]}})[_0xe4e6[38]](function(_0xa96fx14){if(!_0xa96fx14){return _0xa96fx5[_0xe4e6[43]](404)};_0xa96fx14[_0xe4e6[55]]()[_0xe4e6[38]](function(){return _0xa96fx5[_0xe4e6[43]](204)})[_0xe4e6[28]](function(_0xa96fxe){return handleError(_0xa96fx5,_0xa96fxe)});})[_0xe4e6[28]](function(_0xa96fxe){return handleError(_0xa96fx5,_0xa96fxe)})};exports[_0xe4e6[57]]=function(_0xa96fx4,_0xa96fx5){SquareOdbc[_0xe4e6[55]]({where:{id:_0xa96fx4[_0xe4e6[9]][_0xe4e6[46]]},individualHooks:true})[_0xe4e6[38]](function(){return _0xa96fx5[_0xe4e6[43]](204)})[_0xe4e6[28]](function(_0xa96fxe){return handleError(_0xa96fx5,_0xa96fxe)})};function handleError(_0xa96fx5,_0xa96fxe){return _0xa96fx5[_0xe4e6[27]](500)[_0xe4e6[26]](_0xa96fxe)}
\ No newline at end of file
index 179700ac6a89df6f53fe57d1817b253925c9c63f..19bd0e207b46eec67dd06d5dd21c21496d1b4869 100644 (file)
@@ -1 +1 @@
-var _0xa610=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x53\x71\x75\x61\x72\x65\x4F\x64\x62\x63","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x73\x71\x75\x61\x72\x65\x5F\x6F\x64\x62\x63\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x73\x71\x75\x61\x72\x65\x5F\x6F\x64\x62\x63\x3A\x72\x65\x6D\x6F\x76\x65"];_0xa610[0];var SquareOdbc=require(_0xa610[2])[_0xa610[1]];exports[_0xa610[3]]=function(_0xcec5x2){SquareOdbc[_0xa610[4]](function(_0xcec5x3){onSave(_0xcec5x2,_0xcec5x3)});SquareOdbc[_0xa610[5]](function(_0xcec5x3){onRemove(_0xcec5x2,_0xcec5x3)});};function onSave(_0xcec5x2,_0xcec5x3,_0xcec5x5){_0xcec5x2[_0xa610[7]](_0xa610[6],_0xcec5x3)}function onRemove(_0xcec5x2,_0xcec5x3,_0xcec5x5){_0xcec5x2[_0xa610[7]](_0xa610[8],_0xcec5x3)}
\ No newline at end of file
+var _0x32ef=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x53\x71\x75\x61\x72\x65\x4F\x64\x62\x63","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x73\x71\x75\x61\x72\x65\x5F\x6F\x64\x62\x63\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x73\x71\x75\x61\x72\x65\x5F\x6F\x64\x62\x63\x3A\x72\x65\x6D\x6F\x76\x65"];_0x32ef[0];var SquareOdbc=require(_0x32ef[2])[_0x32ef[1]];exports[_0x32ef[3]]=function(_0xdf09x2){SquareOdbc[_0x32ef[4]](function(_0xdf09x3){onSave(_0xdf09x2,_0xdf09x3)});SquareOdbc[_0x32ef[5]](function(_0xdf09x3){onRemove(_0xdf09x2,_0xdf09x3)});};function onSave(_0xdf09x2,_0xdf09x3,_0xdf09x5){_0xdf09x2[_0x32ef[7]](_0x32ef[6],_0xdf09x3)}function onRemove(_0xdf09x2,_0xdf09x3,_0xdf09x5){_0xdf09x2[_0x32ef[7]](_0x32ef[8],_0xdf09x3)}
\ No newline at end of file
index 1f6deab70989ded6c29ab95cb52ab9acd1c1b7c0..7e844f5c88a137b4eb66cc6ceef88fe3bf83d988 100644 (file)
@@ -1 +1 @@
-var _0xa9b1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x2F\x6F\x64\x62\x63","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x2F\x6F\x64\x62\x63","\x67\x65\x74"];_0xa9b1[0];var should=require(_0xa9b1[1]);var app=require(_0xa9b1[2]);var request=require(_0xa9b1[3]);describe(_0xa9b1[4],function(){it(_0xa9b1[5],function(_0xcb46x4){request(app)[_0xa9b1[13]](_0xa9b1[12])[_0xa9b1[11]](200)[_0xa9b1[11]](_0xa9b1[10],/json/)[_0xa9b1[9]](function(_0xcb46x5,_0xcb46x6){if(_0xcb46x5){return _0xcb46x4(_0xcb46x5)};_0xcb46x6[_0xa9b1[8]][_0xa9b1[1]][_0xa9b1[7]][_0xa9b1[6]](Array);_0xcb46x4();})})});
\ No newline at end of file
+var _0x4c76=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x2F\x6F\x64\x62\x63","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x2F\x6F\x64\x62\x63","\x67\x65\x74"];_0x4c76[0];var should=require(_0x4c76[1]);var app=require(_0x4c76[2]);var request=require(_0x4c76[3]);describe(_0x4c76[4],function(){it(_0x4c76[5],function(_0x4649x4){request(app)[_0x4c76[13]](_0x4c76[12])[_0x4c76[11]](200)[_0x4c76[11]](_0x4c76[10],/json/)[_0x4c76[9]](function(_0x4649x5,_0x4649x6){if(_0x4649x5){return _0x4649x4(_0x4649x5)};_0x4649x6[_0x4c76[8]][_0x4c76[1]][_0x4c76[7]][_0x4c76[6]](Array);_0x4649x4();})})});
\ No newline at end of file
index 849fa8514c6dd4359e84d82c6b3e4e604f836270..4d65144d1be9a8adf37c3613b9c37c852cb813f6 100644 (file)
@@ -1 +1 @@
-var _0x6e18=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x73\x71\x75\x61\x72\x65\x5F\x70\x72\x6F\x6A\x65\x63\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x70\x72\x6F\x6A\x65\x63\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x6e18[0];var express=require(_0x6e18[1]);var controller=require(_0x6e18[2]);var auth=require(_0x6e18[3]);var router=express.Router();router[_0x6e18[7]](_0x6e18[4],auth[_0x6e18[5]](),controller[_0x6e18[6]]);router[_0x6e18[7]](_0x6e18[8],auth[_0x6e18[5]](),controller[_0x6e18[9]]);router[_0x6e18[7]](_0x6e18[10],controller[_0x6e18[11]]);router[_0x6e18[13]](_0x6e18[4],auth[_0x6e18[5]](),controller[_0x6e18[12]]);router[_0x6e18[13]](_0x6e18[14],auth[_0x6e18[5]](),controller[_0x6e18[15]]);router[_0x6e18[17]](_0x6e18[8],auth[_0x6e18[5]](),controller[_0x6e18[16]]);router[_0x6e18[18]](_0x6e18[8],auth[_0x6e18[5]](),controller[_0x6e18[16]]);router[_0x6e18[20]](_0x6e18[4],auth[_0x6e18[5]](),controller[_0x6e18[19]]);router[_0x6e18[20]](_0x6e18[8],auth[_0x6e18[5]](),controller[_0x6e18[21]]);module[_0x6e18[22]]=router;
\ No newline at end of file
+var _0xfe21=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x73\x71\x75\x61\x72\x65\x5F\x70\x72\x6F\x6A\x65\x63\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x70\x72\x6F\x6A\x65\x63\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xfe21[0];var express=require(_0xfe21[1]);var controller=require(_0xfe21[2]);var auth=require(_0xfe21[3]);var router=express.Router();router[_0xfe21[7]](_0xfe21[4],auth[_0xfe21[5]](),controller[_0xfe21[6]]);router[_0xfe21[7]](_0xfe21[8],auth[_0xfe21[5]](),controller[_0xfe21[9]]);router[_0xfe21[7]](_0xfe21[10],controller[_0xfe21[11]]);router[_0xfe21[13]](_0xfe21[4],auth[_0xfe21[5]](),controller[_0xfe21[12]]);router[_0xfe21[13]](_0xfe21[14],auth[_0xfe21[5]](),controller[_0xfe21[15]]);router[_0xfe21[17]](_0xfe21[8],auth[_0xfe21[5]](),controller[_0xfe21[16]]);router[_0xfe21[18]](_0xfe21[8],auth[_0xfe21[5]](),controller[_0xfe21[16]]);router[_0xfe21[20]](_0xfe21[4],auth[_0xfe21[5]](),controller[_0xfe21[19]]);router[_0xfe21[20]](_0xfe21[8],auth[_0xfe21[5]](),controller[_0xfe21[21]]);module[_0xfe21[22]]=router;
\ No newline at end of file
index 630f7d9b3bb962e411069f93c4267b7890cdedf5..f3607626603ad1e4564fbbf3d5a7c279881c1629 100644 (file)
@@ -1 +1 @@
-var _0x8e99=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x75\x74\x69\x6C","\x53\x71\x75\x61\x72\x65\x50\x72\x6F\x6A\x65\x63\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x70\x72\x6F\x6A\x65\x63\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x62\x6F\x64\x79","\x6C\x6F\x67","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x66\x69\x6E\x64","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x3B\x20\x66\x69\x6C\x65\x6E\x61\x6D\x65\x3D\x22","\x2E\x78\x6D\x6C\x22","\x74\x78\x74\x2F\x78\x6D\x6C","\x73\x65\x74","\x70\x72\x65\x70\x72\x6F\x64\x75\x63\x74\x69\x6F\x6E"];_0x8e99[0];var _=require(_0x8e99[1]);var path=require(_0x8e99[2]);var config=require(_0x8e99[3]);var util=require(_0x8e99[4]);var SquareProject=require(_0x8e99[6])[_0x8e99[5]];exports[_0x8e99[7]]=function(_0x15edx6,_0x15edx7){var _0x15edx8=[_0x8e99[8],_0x8e99[9]];var _0x15edx9=_0x15edx6[_0x8e99[11]][_0x8e99[10]]?parseInt(_0x15edx6[_0x8e99[11]][_0x8e99[10]],10):100;var _0x15edxa=_0x15edx6[_0x8e99[11]][_0x8e99[12]]?parseInt(_0x15edx6[_0x8e99[11]][_0x8e99[12]],10):0;var _0x15edxb={where:{},limit:_0x15edx9,offset:_0x15edxa*_0x15edx9};_[_0x8e99[26]](_0x15edx6[_0x8e99[11]],function(_0x15edxc,_0x15edxd){switch(_0x15edxd){case _0x8e99[10]:;case _0x8e99[12]:break ;;case _0x8e99[15]:_0x15edxb[_0x8e99[13]]=util[_0x8e99[18]](_0x8e99[14],_0x15edx6[_0x8e99[11]][_0x8e99[15]],_0x15edx6[_0x8e99[11]][_0x8e99[16]]||_0x8e99[17])||null;break ;;case _0x8e99[16]:break ;;case _0x8e99[24]:_0x15edxb[_0x8e99[20]][_0x8e99[19]]=[];_0x15edx8[_0x8e99[23]](function(_0x15edxe){var _0x15edxf={};_0x15edxf[_0x15edxe]={$like:_0x8e99[21]+_0x15edxc+_0x8e99[21]};_0x15edxb[_0x8e99[20]][_0x8e99[19]][_0x8e99[22]](_0x15edxf);});break ;;default:_0x15edxb[_0x8e99[20]][_0x15edxd]={$like:{}};_0x15edxb[_0x8e99[20]][_0x15edxd][_0x8e99[25]]=_0x8e99[21]+_0x15edxc+_0x8e99[21];;}});SquareProject[_0x8e99[41]](_0x15edxb)[_0x8e99[40]](function(_0x15edx11){var _0x15edx12=Math[_0x8e99[32]](_0x15edx11[_0x8e99[31]]/_0x15edx9);var _0x15edx13=_0x15edx12>(_0x15edxb[_0x8e99[33]]+1)?util[_0x8e99[18]](_0x8e99[34],_0x15edx6[_0x8e99[35]],_0x15edx6[_0x8e99[37]][_0x8e99[36]],_0x15edx6[_0x8e99[38]],_0x15edxa+1):null;var _0x15edx14=_0x15edxa>0?util[_0x8e99[18]](_0x8e99[34],_0x15edx6[_0x8e99[35]],_0x15edx6[_0x8e99[37]][_0x8e99[36]],_0x15edx6[_0x8e99[38]],_0x15edxa-1):null;_0x15edx7[_0x8e99[29]](200)[_0x8e99[28]]({count:_0x15edx11[_0x8e99[31]],rows:_0x15edx11[_0x8e99[39]],next_page:_0x15edx13,previous_page:_0x15edx14,total_pages:_0x15edx12});})[_0x8e99[30]](function(_0x15edx10){_0x15edx7[_0x8e99[29]](500)[_0x8e99[28]]({error:_0x8e99[27]})});};exports[_0x8e99[42]]=function(_0x15edx6,_0x15edx7){console[_0x8e99[44]](_0x15edx6[_0x8e99[43]]);SquareProject[_0x8e99[46]]({where:{name:_0x15edx6[_0x8e99[43]][_0x8e99[8]]}})[_0x8e99[40]](function(_0x15edx15){if(!_0x15edx15){return _0x15edx7[_0x8e99[45]](404)};return _0x15edx7[_0x8e99[28]](_0x15edx15);})[_0x8e99[30]](function(_0x15edx10){return handleError(_0x15edx7,_0x15edx10)});};exports[_0x8e99[47]]=function(_0x15edx6,_0x15edx7){SquareProject[_0x8e99[50]](_0x15edx6[_0x8e99[49]][_0x8e99[48]])[_0x8e99[40]](function(_0x15edx16){if(!_0x15edx16){return _0x15edx7[_0x8e99[45]](404)};return _0x15edx7[_0x8e99[28]](_0x15edx16);})[_0x8e99[30]](function(_0x15edx10){return handleError(_0x15edx7,_0x15edx10)})};exports[_0x8e99[51]]=function(_0x15edx6,_0x15edx7){SquareProject[_0x8e99[51]](_0x15edx6[_0x8e99[43]])[_0x8e99[40]](function(_0x15edx16){return _0x15edx7[_0x8e99[29]](201)[_0x8e99[28]](_0x15edx16)})[_0x8e99[30]](function(_0x15edx10){return handleError(_0x15edx7,_0x15edx10)})};exports[_0x8e99[52]]=function(_0x15edx6,_0x15edx7){if(_0x15edx6[_0x8e99[43]][_0x8e99[48]]){delete _0x15edx6[_0x8e99[43]][_0x8e99[48]]};SquareProject[_0x8e99[50]](_0x15edx6[_0x8e99[49]][_0x8e99[48]])[_0x8e99[40]](function(_0x15edx16){if(!_0x15edx16){return _0x15edx7[_0x8e99[45]](404)};var _0x15edx17=_[_0x8e99[53]](_0x15edx16,_0x15edx6[_0x8e99[43]]);_0x15edx17[_0x8e99[54]]()[_0x8e99[40]](function(){return _0x15edx7[_0x8e99[29]](200)[_0x8e99[28]](_0x15edx16)})[_0x8e99[30]](function(_0x15edx10){return handleError(_0x15edx7,_0x15edx10)});})[_0x8e99[30]](function(_0x15edx10){return handleError(_0x15edx7,_0x15edx10)});};exports[_0x8e99[55]]=function(_0x15edx6,_0x15edx7){SquareProject[_0x8e99[56]]({where:{id:_0x15edx6[_0x8e99[49]][_0x8e99[48]]}})[_0x8e99[40]](function(_0x15edx16){if(!_0x15edx16){return _0x15edx7[_0x8e99[45]](404)};_0x15edx16[_0x8e99[55]]()[_0x8e99[40]](function(){return _0x15edx7[_0x8e99[45]](204)})[_0x8e99[30]](function(_0x15edx10){return handleError(_0x15edx7,_0x15edx10)});})[_0x8e99[30]](function(_0x15edx10){return handleError(_0x15edx7,_0x15edx10)})};exports[_0x8e99[57]]=function(_0x15edx6,_0x15edx7){SquareProject[_0x8e99[55]]({where:{id:_0x15edx6[_0x8e99[11]][_0x8e99[48]]},individualHooks:true})[_0x8e99[40]](function(){return _0x15edx7[_0x8e99[45]](204)})[_0x8e99[30]](function(_0x15edx10){return handleError(_0x15edx7,_0x15edx10)})};exports[_0x8e99[58]]=function(_0x15edx6,_0x15edx7,_0x15edx18){SquareProject[_0x8e99[50]](_0x15edx6[_0x8e99[49]][_0x8e99[48]])[_0x8e99[40]](function(_0x15edx16){if(!_0x15edx16){return _0x15edx7[_0x8e99[45]](404)};console[_0x8e99[44]](_0x15edx6[_0x8e99[11]][_0x8e99[59]]);_0x15edx7[_0x8e99[63]]({"\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E":_0x8e99[60]+_0x15edx6[_0x8e99[11]][_0x8e99[59]]+_0x8e99[61],"\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65":_0x8e99[62]});return _0x15edx7[_0x8e99[28]](_0x15edx16[_0x8e99[64]]);})[_0x8e99[30]](function(_0x15edx10){return handleError(_0x15edx7,_0x15edx10)})};function handleError(_0x15edx7,_0x15edx10){return _0x15edx7[_0x8e99[29]](500)[_0x8e99[28]](_0x15edx10)}
\ No newline at end of file
+var _0xbffd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x75\x74\x69\x6C","\x53\x71\x75\x61\x72\x65\x50\x72\x6F\x6A\x65\x63\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x70\x72\x6F\x6A\x65\x63\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x62\x6F\x64\x79","\x6C\x6F\x67","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x66\x69\x6E\x64","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x3B\x20\x66\x69\x6C\x65\x6E\x61\x6D\x65\x3D\x22","\x2E\x78\x6D\x6C\x22","\x74\x78\x74\x2F\x78\x6D\x6C","\x73\x65\x74","\x70\x72\x65\x70\x72\x6F\x64\x75\x63\x74\x69\x6F\x6E"];_0xbffd[0];var _=require(_0xbffd[1]);var path=require(_0xbffd[2]);var config=require(_0xbffd[3]);var util=require(_0xbffd[4]);var SquareProject=require(_0xbffd[6])[_0xbffd[5]];exports[_0xbffd[7]]=function(_0xfc82x6,_0xfc82x7){var _0xfc82x8=[_0xbffd[8],_0xbffd[9]];var _0xfc82x9=_0xfc82x6[_0xbffd[11]][_0xbffd[10]]?parseInt(_0xfc82x6[_0xbffd[11]][_0xbffd[10]],10):100;var _0xfc82xa=_0xfc82x6[_0xbffd[11]][_0xbffd[12]]?parseInt(_0xfc82x6[_0xbffd[11]][_0xbffd[12]],10):0;var _0xfc82xb={where:{},limit:_0xfc82x9,offset:_0xfc82xa*_0xfc82x9};_[_0xbffd[26]](_0xfc82x6[_0xbffd[11]],function(_0xfc82xc,_0xfc82xd){switch(_0xfc82xd){case _0xbffd[10]:;case _0xbffd[12]:break ;;case _0xbffd[15]:_0xfc82xb[_0xbffd[13]]=util[_0xbffd[18]](_0xbffd[14],_0xfc82x6[_0xbffd[11]][_0xbffd[15]],_0xfc82x6[_0xbffd[11]][_0xbffd[16]]||_0xbffd[17])||null;break ;;case _0xbffd[16]:break ;;case _0xbffd[24]:_0xfc82xb[_0xbffd[20]][_0xbffd[19]]=[];_0xfc82x8[_0xbffd[23]](function(_0xfc82xe){var _0xfc82xf={};_0xfc82xf[_0xfc82xe]={$like:_0xbffd[21]+_0xfc82xc+_0xbffd[21]};_0xfc82xb[_0xbffd[20]][_0xbffd[19]][_0xbffd[22]](_0xfc82xf);});break ;;default:_0xfc82xb[_0xbffd[20]][_0xfc82xd]={$like:{}};_0xfc82xb[_0xbffd[20]][_0xfc82xd][_0xbffd[25]]=_0xbffd[21]+_0xfc82xc+_0xbffd[21];;}});SquareProject[_0xbffd[41]](_0xfc82xb)[_0xbffd[40]](function(_0xfc82x11){var _0xfc82x12=Math[_0xbffd[32]](_0xfc82x11[_0xbffd[31]]/_0xfc82x9);var _0xfc82x13=_0xfc82x12>(_0xfc82xb[_0xbffd[33]]+1)?util[_0xbffd[18]](_0xbffd[34],_0xfc82x6[_0xbffd[35]],_0xfc82x6[_0xbffd[37]][_0xbffd[36]],_0xfc82x6[_0xbffd[38]],_0xfc82xa+1):null;var _0xfc82x14=_0xfc82xa>0?util[_0xbffd[18]](_0xbffd[34],_0xfc82x6[_0xbffd[35]],_0xfc82x6[_0xbffd[37]][_0xbffd[36]],_0xfc82x6[_0xbffd[38]],_0xfc82xa-1):null;_0xfc82x7[_0xbffd[29]](200)[_0xbffd[28]]({count:_0xfc82x11[_0xbffd[31]],rows:_0xfc82x11[_0xbffd[39]],next_page:_0xfc82x13,previous_page:_0xfc82x14,total_pages:_0xfc82x12});})[_0xbffd[30]](function(_0xfc82x10){_0xfc82x7[_0xbffd[29]](500)[_0xbffd[28]]({error:_0xbffd[27]})});};exports[_0xbffd[42]]=function(_0xfc82x6,_0xfc82x7){console[_0xbffd[44]](_0xfc82x6[_0xbffd[43]]);SquareProject[_0xbffd[46]]({where:{name:_0xfc82x6[_0xbffd[43]][_0xbffd[8]]}})[_0xbffd[40]](function(_0xfc82x15){if(!_0xfc82x15){return _0xfc82x7[_0xbffd[45]](404)};return _0xfc82x7[_0xbffd[28]](_0xfc82x15);})[_0xbffd[30]](function(_0xfc82x10){return handleError(_0xfc82x7,_0xfc82x10)});};exports[_0xbffd[47]]=function(_0xfc82x6,_0xfc82x7){SquareProject[_0xbffd[50]](_0xfc82x6[_0xbffd[49]][_0xbffd[48]])[_0xbffd[40]](function(_0xfc82x16){if(!_0xfc82x16){return _0xfc82x7[_0xbffd[45]](404)};return _0xfc82x7[_0xbffd[28]](_0xfc82x16);})[_0xbffd[30]](function(_0xfc82x10){return handleError(_0xfc82x7,_0xfc82x10)})};exports[_0xbffd[51]]=function(_0xfc82x6,_0xfc82x7){SquareProject[_0xbffd[51]](_0xfc82x6[_0xbffd[43]])[_0xbffd[40]](function(_0xfc82x16){return _0xfc82x7[_0xbffd[29]](201)[_0xbffd[28]](_0xfc82x16)})[_0xbffd[30]](function(_0xfc82x10){return handleError(_0xfc82x7,_0xfc82x10)})};exports[_0xbffd[52]]=function(_0xfc82x6,_0xfc82x7){if(_0xfc82x6[_0xbffd[43]][_0xbffd[48]]){delete _0xfc82x6[_0xbffd[43]][_0xbffd[48]]};SquareProject[_0xbffd[50]](_0xfc82x6[_0xbffd[49]][_0xbffd[48]])[_0xbffd[40]](function(_0xfc82x16){if(!_0xfc82x16){return _0xfc82x7[_0xbffd[45]](404)};var _0xfc82x17=_[_0xbffd[53]](_0xfc82x16,_0xfc82x6[_0xbffd[43]]);_0xfc82x17[_0xbffd[54]]()[_0xbffd[40]](function(){return _0xfc82x7[_0xbffd[29]](200)[_0xbffd[28]](_0xfc82x16)})[_0xbffd[30]](function(_0xfc82x10){return handleError(_0xfc82x7,_0xfc82x10)});})[_0xbffd[30]](function(_0xfc82x10){return handleError(_0xfc82x7,_0xfc82x10)});};exports[_0xbffd[55]]=function(_0xfc82x6,_0xfc82x7){SquareProject[_0xbffd[56]]({where:{id:_0xfc82x6[_0xbffd[49]][_0xbffd[48]]}})[_0xbffd[40]](function(_0xfc82x16){if(!_0xfc82x16){return _0xfc82x7[_0xbffd[45]](404)};_0xfc82x16[_0xbffd[55]]()[_0xbffd[40]](function(){return _0xfc82x7[_0xbffd[45]](204)})[_0xbffd[30]](function(_0xfc82x10){return handleError(_0xfc82x7,_0xfc82x10)});})[_0xbffd[30]](function(_0xfc82x10){return handleError(_0xfc82x7,_0xfc82x10)})};exports[_0xbffd[57]]=function(_0xfc82x6,_0xfc82x7){SquareProject[_0xbffd[55]]({where:{id:_0xfc82x6[_0xbffd[11]][_0xbffd[48]]},individualHooks:true})[_0xbffd[40]](function(){return _0xfc82x7[_0xbffd[45]](204)})[_0xbffd[30]](function(_0xfc82x10){return handleError(_0xfc82x7,_0xfc82x10)})};exports[_0xbffd[58]]=function(_0xfc82x6,_0xfc82x7,_0xfc82x18){SquareProject[_0xbffd[50]](_0xfc82x6[_0xbffd[49]][_0xbffd[48]])[_0xbffd[40]](function(_0xfc82x16){if(!_0xfc82x16){return _0xfc82x7[_0xbffd[45]](404)};console[_0xbffd[44]](_0xfc82x6[_0xbffd[11]][_0xbffd[59]]);_0xfc82x7[_0xbffd[63]]({"\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E":_0xbffd[60]+_0xfc82x6[_0xbffd[11]][_0xbffd[59]]+_0xbffd[61],"\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65":_0xbffd[62]});return _0xfc82x7[_0xbffd[28]](_0xfc82x16[_0xbffd[64]]);})[_0xbffd[30]](function(_0xfc82x10){return handleError(_0xfc82x7,_0xfc82x10)})};function handleError(_0xfc82x7,_0xfc82x10){return _0xfc82x7[_0xbffd[29]](500)[_0xbffd[28]](_0xfc82x10)}
\ No newline at end of file
index 34a65d29f83e5f64fa462353ee6982670555eea3..c7ce2a19947d75d15b81d9e50b4c311ca085bd94 100644 (file)
@@ -1 +1 @@
-var _0x90e4=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x53\x71\x75\x61\x72\x65\x50\x72\x6F\x6A\x65\x63\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x73\x71\x75\x61\x72\x65\x5F\x70\x72\x6F\x6A\x65\x63\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x73\x71\x75\x61\x72\x65\x5F\x70\x72\x6F\x6A\x65\x63\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0x90e4[0];var SquareProject=require(_0x90e4[2])[_0x90e4[1]];exports[_0x90e4[3]]=function(_0x9cf4x2){SquareProject[_0x90e4[4]](function(_0x9cf4x3){onSave(_0x9cf4x2,_0x9cf4x3)});SquareProject[_0x90e4[5]](function(_0x9cf4x3){onSave(_0x9cf4x2,_0x9cf4x3)});SquareProject[_0x90e4[6]](function(_0x9cf4x3){onRemove(_0x9cf4x2,_0x9cf4x3)});};function onSave(_0x9cf4x2,_0x9cf4x3,_0x9cf4x5){_0x9cf4x2[_0x90e4[8]](_0x90e4[7],_0x9cf4x3)}function onRemove(_0x9cf4x2,_0x9cf4x3,_0x9cf4x5){_0x9cf4x2[_0x90e4[8]](_0x90e4[9],_0x9cf4x3)}
\ No newline at end of file
+var _0xad7e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x53\x71\x75\x61\x72\x65\x50\x72\x6F\x6A\x65\x63\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x73\x71\x75\x61\x72\x65\x5F\x70\x72\x6F\x6A\x65\x63\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x73\x71\x75\x61\x72\x65\x5F\x70\x72\x6F\x6A\x65\x63\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0xad7e[0];var SquareProject=require(_0xad7e[2])[_0xad7e[1]];exports[_0xad7e[3]]=function(_0x6117x2){SquareProject[_0xad7e[4]](function(_0x6117x3){onSave(_0x6117x2,_0x6117x3)});SquareProject[_0xad7e[5]](function(_0x6117x3){onSave(_0x6117x2,_0x6117x3)});SquareProject[_0xad7e[6]](function(_0x6117x3){onRemove(_0x6117x2,_0x6117x3)});};function onSave(_0x6117x2,_0x6117x3,_0x6117x5){_0x6117x2[_0xad7e[8]](_0xad7e[7],_0x6117x3)}function onRemove(_0x6117x2,_0x6117x3,_0x6117x5){_0x6117x2[_0xad7e[8]](_0xad7e[9],_0x6117x3)}
\ No newline at end of file
index 997ae188dcbcbea731fb13f3d062d6f996bdf578..3db50e3a7d6b08b7960b87ef5fad558493834a9e 100644 (file)
@@ -1 +1 @@
-var _0x8cd2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x2F\x70\x72\x6F\x6A\x65\x63\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x2F\x70\x72\x6F\x6A\x65\x63\x74\x73","\x67\x65\x74"];_0x8cd2[0];var should=require(_0x8cd2[1]);var app=require(_0x8cd2[2]);var request=require(_0x8cd2[3]);describe(_0x8cd2[4],function(){it(_0x8cd2[5],function(_0xf56dx4){request(app)[_0x8cd2[13]](_0x8cd2[12])[_0x8cd2[11]](200)[_0x8cd2[11]](_0x8cd2[10],/json/)[_0x8cd2[9]](function(_0xf56dx5,_0xf56dx6){if(_0xf56dx5){return _0xf56dx4(_0xf56dx5)};_0xf56dx6[_0x8cd2[8]][_0x8cd2[1]][_0x8cd2[7]][_0x8cd2[6]](Array);_0xf56dx4();})})});
\ No newline at end of file
+var _0x934a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x2F\x70\x72\x6F\x6A\x65\x63\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x2F\x70\x72\x6F\x6A\x65\x63\x74\x73","\x67\x65\x74"];_0x934a[0];var should=require(_0x934a[1]);var app=require(_0x934a[2]);var request=require(_0x934a[3]);describe(_0x934a[4],function(){it(_0x934a[5],function(_0xe29bx4){request(app)[_0x934a[13]](_0x934a[12])[_0x934a[11]](200)[_0x934a[11]](_0x934a[10],/json/)[_0x934a[9]](function(_0xe29bx5,_0xe29bx6){if(_0xe29bx5){return _0xe29bx4(_0xe29bx5)};_0xe29bx6[_0x934a[8]][_0x934a[1]][_0x934a[7]][_0x934a[6]](Array);_0xe29bx4();})})});
\ No newline at end of file
index 87bb24863bbc942f7547ecdce45f0b5bc94cbf41..0df04484de7cb7b4d18aac9914623a34e6bab4cb 100644 (file)
@@ -1 +1 @@
-var _0x5bbe=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64\x2F\x63\x68\x65\x63\x6B","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2F\x3A\x69\x64\x2F\x66\x69\x65\x6C\x64\x73","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65\x2F\x3A\x66\x69\x65\x6C\x64","\x61\x63\x63\x6F\x75\x6E\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x70\x6F\x73\x74","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x5bbe[0];var express=require(_0x5bbe[1]);var auth=require(_0x5bbe[2]);var controller=require(_0x5bbe[3]);var router=express.Router();router[_0x5bbe[7]](_0x5bbe[4],auth[_0x5bbe[5]](),controller[_0x5bbe[6]]);router[_0x5bbe[7]](_0x5bbe[8],auth[_0x5bbe[5]](),controller[_0x5bbe[9]]);router[_0x5bbe[7]](_0x5bbe[10],auth[_0x5bbe[5]](),controller[_0x5bbe[11]]);router[_0x5bbe[7]](_0x5bbe[12],auth[_0x5bbe[5]](),controller[_0x5bbe[13]]);router[_0x5bbe[16]](_0x5bbe[14],auth[_0x5bbe[5]](),controller[_0x5bbe[15]]);router[_0x5bbe[16]](_0x5bbe[4],auth[_0x5bbe[5]](),controller[_0x5bbe[17]]);router[_0x5bbe[19]](_0x5bbe[12],auth[_0x5bbe[5]](),controller[_0x5bbe[18]]);router[_0x5bbe[20]](_0x5bbe[12],auth[_0x5bbe[5]](),controller[_0x5bbe[18]]);router[_0x5bbe[22]](_0x5bbe[4],auth[_0x5bbe[5]](),controller[_0x5bbe[21]]);router[_0x5bbe[22]](_0x5bbe[12],auth[_0x5bbe[5]](),controller[_0x5bbe[23]]);module[_0x5bbe[24]]=router;
\ No newline at end of file
+var _0xe3ba=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64\x2F\x63\x68\x65\x63\x6B","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2F\x3A\x69\x64\x2F\x66\x69\x65\x6C\x64\x73","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65\x2F\x3A\x66\x69\x65\x6C\x64","\x61\x63\x63\x6F\x75\x6E\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x70\x6F\x73\x74","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xe3ba[0];var express=require(_0xe3ba[1]);var auth=require(_0xe3ba[2]);var controller=require(_0xe3ba[3]);var router=express.Router();router[_0xe3ba[7]](_0xe3ba[4],auth[_0xe3ba[5]](),controller[_0xe3ba[6]]);router[_0xe3ba[7]](_0xe3ba[8],auth[_0xe3ba[5]](),controller[_0xe3ba[9]]);router[_0xe3ba[7]](_0xe3ba[10],auth[_0xe3ba[5]](),controller[_0xe3ba[11]]);router[_0xe3ba[7]](_0xe3ba[12],auth[_0xe3ba[5]](),controller[_0xe3ba[13]]);router[_0xe3ba[16]](_0xe3ba[14],auth[_0xe3ba[5]](),controller[_0xe3ba[15]]);router[_0xe3ba[16]](_0xe3ba[4],auth[_0xe3ba[5]](),controller[_0xe3ba[17]]);router[_0xe3ba[19]](_0xe3ba[12],auth[_0xe3ba[5]](),controller[_0xe3ba[18]]);router[_0xe3ba[20]](_0xe3ba[12],auth[_0xe3ba[5]](),controller[_0xe3ba[18]]);router[_0xe3ba[22]](_0xe3ba[4],auth[_0xe3ba[5]](),controller[_0xe3ba[21]]);router[_0xe3ba[22]](_0xe3ba[12],auth[_0xe3ba[5]](),controller[_0xe3ba[23]]);module[_0xe3ba[24]]=router;
\ No newline at end of file
index 0196c1350ce805f79d7854d6ccaffb167f210071..b3817243f0f4cb87265b5858b106be032da1b866 100644 (file)
@@ -1 +1 @@
-var _0xe763=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6E\x6F\x50\x72\x65\x73\x65\x72\x76\x65\x43\x61\x63\x68\x65","\x70\x72\x6F\x78\x79\x71\x75\x69\x72\x65","\x73\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x69\x6E\x64\x65\x78","\x73\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x73\x68\x6F\x77","\x73\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x63\x72\x65\x61\x74\x65","\x73\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x75\x70\x64\x61\x74\x65","\x73\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x64\x65\x73\x74\x72\x6F\x79","\x73\x70\x79","\x2E\x2F\x69\x6E\x64\x65\x78\x2E\x6A\x73","\x53\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74\x20\x41\x50\x49\x20\x52\x6F\x75\x74\x65\x72\x3A","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x74\x75\x72\x6E\x20\x61\x6E\x20\x65\x78\x70\x72\x65\x73\x73\x20\x72\x6F\x75\x74\x65\x72\x20\x69\x6E\x73\x74\x61\x6E\x63\x65","\x65\x71\x75\x61\x6C","\x74\x6F","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x69\x6E\x64\x65\x78","\x63\x61\x6C\x6C\x65\x64\x4F\x6E\x63\x65","\x62\x65\x65\x6E","\x68\x61\x76\x65","\x2F","\x77\x69\x74\x68\x41\x72\x67\x73","\x67\x65\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x73\x68\x6F\x77","\x2F\x3A\x69\x64","\x50\x4F\x53\x54\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x50\x55\x54\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x50\x41\x54\x43\x48\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x3A\x69\x64","\x70\x61\x74\x63\x68","\x44\x45\x4C\x45\x54\x45\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65"];_0xe763[0];var proxyquire=require(_0xe763[2])[_0xe763[1]]();var sugarcrmAccountCtrlStub={index:_0xe763[3],show:_0xe763[4],create:_0xe763[5],update:_0xe763[6],destroy:_0xe763[7]};var routerStub={get:sinon[_0xe763[8]](),put:sinon[_0xe763[8]](),patch:sinon[_0xe763[8]](),post:sinon[_0xe763[8]](),delete:sinon[_0xe763[8]]()};var sugarcrmAccountIndex=proxyquire(_0xe763[9],{"\x65\x78\x70\x72\x65\x73\x73":{Router:function(){return routerStub}},"\x2E\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72":sugarcrmAccountCtrlStub});describe(_0xe763[10],function(){it(_0xe763[11],function(){expect(sugarcrmAccountIndex)[_0xe763[13]][_0xe763[12]](routerStub)});describe(_0xe763[14],function(){it(_0xe763[15],function(){expect(routerStub[_0xe763[21]][_0xe763[20]](_0xe763[19],_0xe763[3]))[_0xe763[13]][_0xe763[18]][_0xe763[17]][_0xe763[16]]})});describe(_0xe763[22],function(){it(_0xe763[23],function(){expect(routerStub[_0xe763[21]][_0xe763[20]](_0xe763[24],_0xe763[4]))[_0xe763[13]][_0xe763[18]][_0xe763[17]][_0xe763[16]]})});describe(_0xe763[25],function(){it(_0xe763[26],function(){expect(routerStub[_0xe763[27]][_0xe763[20]](_0xe763[19],_0xe763[5]))[_0xe763[13]][_0xe763[18]][_0xe763[17]][_0xe763[16]]})});describe(_0xe763[28],function(){it(_0xe763[29],function(){expect(routerStub[_0xe763[30]][_0xe763[20]](_0xe763[24],_0xe763[6]))[_0xe763[13]][_0xe763[18]][_0xe763[17]][_0xe763[16]]})});describe(_0xe763[31],function(){it(_0xe763[29],function(){expect(routerStub[_0xe763[32]][_0xe763[20]](_0xe763[24],_0xe763[6]))[_0xe763[13]][_0xe763[18]][_0xe763[17]][_0xe763[16]]})});describe(_0xe763[33],function(){it(_0xe763[34],function(){expect(routerStub[_0xe763[35]][_0xe763[20]](_0xe763[24],_0xe763[7]))[_0xe763[13]][_0xe763[18]][_0xe763[17]][_0xe763[16]]})});});
\ No newline at end of file
+var _0x8233=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6E\x6F\x50\x72\x65\x73\x65\x72\x76\x65\x43\x61\x63\x68\x65","\x70\x72\x6F\x78\x79\x71\x75\x69\x72\x65","\x73\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x69\x6E\x64\x65\x78","\x73\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x73\x68\x6F\x77","\x73\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x63\x72\x65\x61\x74\x65","\x73\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x75\x70\x64\x61\x74\x65","\x73\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74\x43\x74\x72\x6C\x2E\x64\x65\x73\x74\x72\x6F\x79","\x73\x70\x79","\x2E\x2F\x69\x6E\x64\x65\x78\x2E\x6A\x73","\x53\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74\x20\x41\x50\x49\x20\x52\x6F\x75\x74\x65\x72\x3A","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x74\x75\x72\x6E\x20\x61\x6E\x20\x65\x78\x70\x72\x65\x73\x73\x20\x72\x6F\x75\x74\x65\x72\x20\x69\x6E\x73\x74\x61\x6E\x63\x65","\x65\x71\x75\x61\x6C","\x74\x6F","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x69\x6E\x64\x65\x78","\x63\x61\x6C\x6C\x65\x64\x4F\x6E\x63\x65","\x62\x65\x65\x6E","\x68\x61\x76\x65","\x2F","\x77\x69\x74\x68\x41\x72\x67\x73","\x67\x65\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x73\x68\x6F\x77","\x2F\x3A\x69\x64","\x50\x4F\x53\x54\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x50\x55\x54\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x50\x41\x54\x43\x48\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x3A\x69\x64","\x70\x61\x74\x63\x68","\x44\x45\x4C\x45\x54\x45\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65"];_0x8233[0];var proxyquire=require(_0x8233[2])[_0x8233[1]]();var sugarcrmAccountCtrlStub={index:_0x8233[3],show:_0x8233[4],create:_0x8233[5],update:_0x8233[6],destroy:_0x8233[7]};var routerStub={get:sinon[_0x8233[8]](),put:sinon[_0x8233[8]](),patch:sinon[_0x8233[8]](),post:sinon[_0x8233[8]](),delete:sinon[_0x8233[8]]()};var sugarcrmAccountIndex=proxyquire(_0x8233[9],{"\x65\x78\x70\x72\x65\x73\x73":{Router:function(){return routerStub}},"\x2E\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72":sugarcrmAccountCtrlStub});describe(_0x8233[10],function(){it(_0x8233[11],function(){expect(sugarcrmAccountIndex)[_0x8233[13]][_0x8233[12]](routerStub)});describe(_0x8233[14],function(){it(_0x8233[15],function(){expect(routerStub[_0x8233[21]][_0x8233[20]](_0x8233[19],_0x8233[3]))[_0x8233[13]][_0x8233[18]][_0x8233[17]][_0x8233[16]]})});describe(_0x8233[22],function(){it(_0x8233[23],function(){expect(routerStub[_0x8233[21]][_0x8233[20]](_0x8233[24],_0x8233[4]))[_0x8233[13]][_0x8233[18]][_0x8233[17]][_0x8233[16]]})});describe(_0x8233[25],function(){it(_0x8233[26],function(){expect(routerStub[_0x8233[27]][_0x8233[20]](_0x8233[19],_0x8233[5]))[_0x8233[13]][_0x8233[18]][_0x8233[17]][_0x8233[16]]})});describe(_0x8233[28],function(){it(_0x8233[29],function(){expect(routerStub[_0x8233[30]][_0x8233[20]](_0x8233[24],_0x8233[6]))[_0x8233[13]][_0x8233[18]][_0x8233[17]][_0x8233[16]]})});describe(_0x8233[31],function(){it(_0x8233[29],function(){expect(routerStub[_0x8233[32]][_0x8233[20]](_0x8233[24],_0x8233[6]))[_0x8233[13]][_0x8233[18]][_0x8233[17]][_0x8233[16]]})});describe(_0x8233[33],function(){it(_0x8233[34],function(){expect(routerStub[_0x8233[35]][_0x8233[20]](_0x8233[24],_0x8233[7]))[_0x8233[13]][_0x8233[18]][_0x8233[17]][_0x8233[16]]})});});
\ No newline at end of file
index 488590b4803a6aa4947cc63eec39d3c15ca5acb2..e8385397ee31aafeeee43abc3916e5e082fe4093 100644 (file)
@@ -1 +1 @@
-var _0x7a00=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x53\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x72\x65\x6D\x6F\x74\x65\x55\x72\x69","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x6E\x6F\x64\x65\x2D\x73\x75\x67\x61\x72\x63\x72\x6D\x2D\x63\x6C\x69\x65\x6E\x74","\x2F\x73\x65\x72\x76\x69\x63\x65\x2F\x76\x34\x5F\x31\x2F\x72\x65\x73\x74\x2E\x70\x68\x70","\x70\x61\x73\x73\x77\x6F\x72\x64","\x69\x6E\x69\x74","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x6C\x6F\x67\x69\x6E","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x61\x63\x63\x6F\x75\x6E\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x43\x61\x73\x65\x73","\x67\x65\x74\x5F\x6D\x6F\x64\x75\x6C\x65\x5F\x66\x69\x65\x6C\x64\x73","\x6D\x6F\x64\x75\x6C\x65\x5F\x66\x69\x65\x6C\x64\x73","\x63\x61\x6C\x6C","\x73\x75\x62\x73\x74\x72","\x2F","\x6C\x65\x6E\x67\x74\x68"];_0x7a00[0];var _=require(_0x7a00[1]);var util=require(_0x7a00[2]);var SugarcrmAccount=require(_0x7a00[4])[_0x7a00[3]];function handleError(_0xcfd7x5,_0xcfd7x6){_0xcfd7x6=_0xcfd7x6||500;return function(_0xcfd7x7){_0xcfd7x5[_0x7a00[6]](_0xcfd7x6)[_0x7a00[5]](_0xcfd7x7)};}function responseWithResult(_0xcfd7x5,_0xcfd7x6){_0xcfd7x6=_0xcfd7x6||200;return function(_0xcfd7x9){if(_0xcfd7x9){_0xcfd7x5[_0x7a00[6]](_0xcfd7x6)[_0x7a00[7]](_0xcfd7x9)}};}function handleEntityNotFound(_0xcfd7x5){return function(_0xcfd7x9){if(!_0xcfd7x9){_0xcfd7x5[_0x7a00[6]](404)[_0x7a00[8]]();return null;};return _0xcfd7x9;}}function saveUpdates(_0xcfd7xc){return function(_0xcfd7x9){return _0xcfd7x9[_0x7a00[10]](_0xcfd7xc)[_0x7a00[9]](function(_0xcfd7xd){return _0xcfd7xd})}}function removeEntity(_0xcfd7x5){return function(_0xcfd7x9){if(_0xcfd7x9){return _0xcfd7x9[_0x7a00[11]]()[_0x7a00[9]](function(){_0xcfd7x5[_0x7a00[6]](204)[_0x7a00[8]]()})}}}exports[_0x7a00[12]]=function(_0xcfd7xf,_0xcfd7x5){var _0xcfd7x10=[_0x7a00[13],_0x7a00[14],_0x7a00[15],_0x7a00[16]];var _0xcfd7x11=_0xcfd7xf[_0x7a00[18]][_0x7a00[17]]?parseInt(_0xcfd7xf[_0x7a00[18]][_0x7a00[17]],10):100;var _0xcfd7x12=_0xcfd7xf[_0x7a00[18]][_0x7a00[19]]?parseInt(_0xcfd7xf[_0x7a00[18]][_0x7a00[19]],10):0;var _0xcfd7x13={where:{},limit:_0xcfd7x11,offset:_0xcfd7x12*_0xcfd7x11};_[_0x7a00[33]](_0xcfd7xf[_0x7a00[18]],function(_0xcfd7x14,_0xcfd7x15){switch(_0xcfd7x15){case _0x7a00[17]:;case _0x7a00[19]:break ;;case _0x7a00[22]:_0xcfd7x13[_0x7a00[20]]=util[_0x7a00[25]](_0x7a00[21],_0xcfd7xf[_0x7a00[18]][_0x7a00[22]],_0xcfd7xf[_0x7a00[18]][_0x7a00[23]]||_0x7a00[24])||null;break ;;case _0x7a00[23]:break ;;case _0x7a00[31]:_0xcfd7x13[_0x7a00[27]][_0x7a00[26]]=[];_0xcfd7x10[_0x7a00[30]](function(_0xcfd7x16){var _0xcfd7x17={};_0xcfd7x17[_0xcfd7x16]={$like:_0x7a00[28]+_0xcfd7x14+_0x7a00[28]};_0xcfd7x13[_0x7a00[27]][_0x7a00[26]][_0x7a00[29]](_0xcfd7x17);});break ;;default:_0xcfd7x13[_0x7a00[27]][_0xcfd7x15]={$like:{}};_0xcfd7x13[_0x7a00[27]][_0xcfd7x15][_0x7a00[32]]=_0x7a00[28]+_0xcfd7x14+_0x7a00[28];;}});SugarcrmAccount[_0x7a00[45]](_0xcfd7x13)[_0x7a00[9]](function(_0xcfd7x18){var _0xcfd7x19=Math[_0x7a00[37]](_0xcfd7x18[_0x7a00[36]]/_0xcfd7x11);var _0xcfd7x1a=_0xcfd7x19>(_0xcfd7x13[_0x7a00[38]]+1)?util[_0x7a00[25]](_0x7a00[39],_0xcfd7xf[_0x7a00[40]],_0xcfd7xf[_0x7a00[42]][_0x7a00[41]],_0xcfd7xf[_0x7a00[43]],_0xcfd7x12+1):null;var _0xcfd7x1b=_0xcfd7x12>0?util[_0x7a00[25]](_0x7a00[39],_0xcfd7xf[_0x7a00[40]],_0xcfd7xf[_0x7a00[42]][_0x7a00[41]],_0xcfd7xf[_0x7a00[43]],_0xcfd7x12-1):null;return _0xcfd7x5[_0x7a00[6]](200)[_0x7a00[5]]({count:_0xcfd7x18[_0x7a00[36]],rows:_0xcfd7x18[_0x7a00[44]],next_page:_0xcfd7x1a,previous_page:_0xcfd7x1b,total_pages:_0xcfd7x19});})[_0x7a00[35]](function(_0xcfd7x7){return _0xcfd7x5[_0x7a00[6]](500)[_0x7a00[5]]({error:_0x7a00[34]})});};exports[_0x7a00[46]]=function(_0xcfd7xf,_0xcfd7x5){SugarcrmAccount[_0x7a00[49]](_0xcfd7xf[_0x7a00[48]][_0x7a00[47]])[_0x7a00[9]](handleEntityNotFound(_0xcfd7x5))[_0x7a00[9]](responseWithResult(_0xcfd7x5))[_0x7a00[35]](handleError(_0xcfd7x5))};exports[_0x7a00[50]]=function(_0xcfd7xf,_0xcfd7x5){SugarcrmAccount[_0x7a00[50]](_0xcfd7xf[_0x7a00[51]])[_0x7a00[9]](responseWithResult(_0xcfd7x5,201))[_0x7a00[35]](handleError(_0xcfd7x5))};exports[_0x7a00[52]]=function(_0xcfd7xf,_0xcfd7x5){if(_0xcfd7xf[_0x7a00[51]][_0x7a00[47]]){delete _0xcfd7xf[_0x7a00[51]][_0x7a00[47]]};SugarcrmAccount[_0x7a00[49]](_0xcfd7xf[_0x7a00[48]][_0x7a00[47]])[_0x7a00[9]](handleEntityNotFound(_0xcfd7x5))[_0x7a00[9]](saveUpdates(_0xcfd7xf[_0x7a00[51]]))[_0x7a00[9]](responseWithResult(_0xcfd7x5))[_0x7a00[35]](handleError(_0xcfd7x5));};exports[_0x7a00[11]]=function(_0xcfd7xf,_0xcfd7x5){SugarcrmAccount[_0x7a00[49]](_0xcfd7xf[_0x7a00[48]][_0x7a00[47]])[_0x7a00[9]](handleEntityNotFound(_0xcfd7x5))[_0x7a00[9]](removeEntity(_0xcfd7x5))[_0x7a00[35]](handleError(_0xcfd7x5))};exports[_0x7a00[53]]=function(_0xcfd7xf,_0xcfd7x5){SugarcrmAccount[_0x7a00[49]](_0xcfd7xf[_0x7a00[48]][_0x7a00[47]])[_0x7a00[9]](handleEntityNotFound(_0xcfd7x5))[_0x7a00[9]](function(_0xcfd7x1c){var _0xcfd7x1d=require(_0x7a00[54]);_0xcfd7x1d[_0x7a00[57]]({apiURL:stripTrailingSlash(_0xcfd7x1c[_0x7a00[16]])+_0x7a00[55],login:_0xcfd7x1c[_0x7a00[15]],passwd:_0xcfd7x1c[_0x7a00[56]]});_0xcfd7x1d[_0x7a00[59]](function(_0xcfd7x1e){if(!_0xcfd7x1e){return _0xcfd7x5[_0x7a00[58]](400)};return _0xcfd7x5[_0x7a00[58]](200);});})[_0x7a00[35]](handleError(_0xcfd7x5))};exports[_0x7a00[60]]=function(_0xcfd7xf,_0xcfd7x5){SugarcrmAccount[_0x7a00[11]]({where:{id:_0xcfd7xf[_0x7a00[18]][_0x7a00[47]]},individualHooks:true})[_0x7a00[9]](function(){return _0xcfd7x5[_0x7a00[58]](204)})[_0x7a00[35]](function(_0xcfd7x7){return handleError(_0xcfd7x5,_0xcfd7x7)})};exports[_0x7a00[61]]=function(_0xcfd7xf,_0xcfd7x5){var _0xcfd7x1f={};_0xcfd7x1f[_0xcfd7xf[_0x7a00[48]][_0x7a00[62]]]=_0xcfd7xf[_0x7a00[51]][_0x7a00[63]];SugarcrmAccount[_0x7a00[45]]({where:_0xcfd7x1f})[_0x7a00[9]](function(_0xcfd7x18){if(_0xcfd7x18[_0x7a00[36]]){return _0xcfd7x5[_0x7a00[6]](200)[_0x7a00[5]]({isValid:false,value:_0xcfd7xf[_0x7a00[51]][_0x7a00[63]]})};return _0xcfd7x5[_0x7a00[6]](200)[_0x7a00[5]]({isValid:true,value:_0xcfd7xf[_0x7a00[51]][_0x7a00[63]]});})[_0x7a00[35]](function(_0xcfd7x7){return handleError(_0xcfd7x5,_0xcfd7x7)});};exports[_0x7a00[64]]=function(_0xcfd7xf,_0xcfd7x5){var _0xcfd7x1d=require(_0x7a00[54]);SugarcrmAccount[_0x7a00[49]](_0xcfd7xf[_0x7a00[48]][_0x7a00[47]])[_0x7a00[9]](handleEntityNotFound(_0xcfd7x5))[_0x7a00[9]](function(_0xcfd7x1c){_0xcfd7x1d[_0x7a00[57]]({apiURL:stripTrailingSlash(_0xcfd7x1c[_0x7a00[16]])+_0x7a00[55],login:_0xcfd7x1c[_0x7a00[15]],passwd:_0xcfd7x1c[_0x7a00[56]]});_0xcfd7x1d[_0x7a00[59]](function(_0xcfd7x1e){if(!_0xcfd7x1e){return _0xcfd7x5[_0x7a00[58]](400)};var _0xcfd7x20={session:_0xcfd7x1e,module_name:_0x7a00[65]};_0xcfd7x1d[_0x7a00[68]](_0x7a00[66],_0xcfd7x20,function(_0xcfd7x18,_0xcfd7x7){if(_0xcfd7x7){return _0xcfd7x5[_0x7a00[58]](400)};return _0xcfd7x5[_0x7a00[6]](200)[_0x7a00[5]](_0xcfd7x18[_0x7a00[67]]);});});})[_0x7a00[35]](handleError(_0xcfd7x5));};function stripTrailingSlash(_0xcfd7x22){if(_0xcfd7x22[_0x7a00[69]](-1)===_0x7a00[70]){return _0xcfd7x22[_0x7a00[69]](0,_0xcfd7x22[_0x7a00[71]]-1)};return _0xcfd7x22;}
\ No newline at end of file
+var _0x5929=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x53\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x72\x65\x6D\x6F\x74\x65\x55\x72\x69","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x6E\x6F\x64\x65\x2D\x73\x75\x67\x61\x72\x63\x72\x6D\x2D\x63\x6C\x69\x65\x6E\x74","\x2F\x73\x65\x72\x76\x69\x63\x65\x2F\x76\x34\x5F\x31\x2F\x72\x65\x73\x74\x2E\x70\x68\x70","\x70\x61\x73\x73\x77\x6F\x72\x64","\x69\x6E\x69\x74","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x6C\x6F\x67\x69\x6E","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x61\x63\x63\x6F\x75\x6E\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x43\x61\x73\x65\x73","\x67\x65\x74\x5F\x6D\x6F\x64\x75\x6C\x65\x5F\x66\x69\x65\x6C\x64\x73","\x6D\x6F\x64\x75\x6C\x65\x5F\x66\x69\x65\x6C\x64\x73","\x63\x61\x6C\x6C","\x73\x75\x62\x73\x74\x72","\x2F","\x6C\x65\x6E\x67\x74\x68"];_0x5929[0];var _=require(_0x5929[1]);var util=require(_0x5929[2]);var SugarcrmAccount=require(_0x5929[4])[_0x5929[3]];function handleError(_0x8e12x5,_0x8e12x6){_0x8e12x6=_0x8e12x6||500;return function(_0x8e12x7){_0x8e12x5[_0x5929[6]](_0x8e12x6)[_0x5929[5]](_0x8e12x7)};}function responseWithResult(_0x8e12x5,_0x8e12x6){_0x8e12x6=_0x8e12x6||200;return function(_0x8e12x9){if(_0x8e12x9){_0x8e12x5[_0x5929[6]](_0x8e12x6)[_0x5929[7]](_0x8e12x9)}};}function handleEntityNotFound(_0x8e12x5){return function(_0x8e12x9){if(!_0x8e12x9){_0x8e12x5[_0x5929[6]](404)[_0x5929[8]]();return null;};return _0x8e12x9;}}function saveUpdates(_0x8e12xc){return function(_0x8e12x9){return _0x8e12x9[_0x5929[10]](_0x8e12xc)[_0x5929[9]](function(_0x8e12xd){return _0x8e12xd})}}function removeEntity(_0x8e12x5){return function(_0x8e12x9){if(_0x8e12x9){return _0x8e12x9[_0x5929[11]]()[_0x5929[9]](function(){_0x8e12x5[_0x5929[6]](204)[_0x5929[8]]()})}}}exports[_0x5929[12]]=function(_0x8e12xf,_0x8e12x5){var _0x8e12x10=[_0x5929[13],_0x5929[14],_0x5929[15],_0x5929[16]];var _0x8e12x11=_0x8e12xf[_0x5929[18]][_0x5929[17]]?parseInt(_0x8e12xf[_0x5929[18]][_0x5929[17]],10):100;var _0x8e12x12=_0x8e12xf[_0x5929[18]][_0x5929[19]]?parseInt(_0x8e12xf[_0x5929[18]][_0x5929[19]],10):0;var _0x8e12x13={where:{},limit:_0x8e12x11,offset:_0x8e12x12*_0x8e12x11};_[_0x5929[33]](_0x8e12xf[_0x5929[18]],function(_0x8e12x14,_0x8e12x15){switch(_0x8e12x15){case _0x5929[17]:;case _0x5929[19]:break ;;case _0x5929[22]:_0x8e12x13[_0x5929[20]]=util[_0x5929[25]](_0x5929[21],_0x8e12xf[_0x5929[18]][_0x5929[22]],_0x8e12xf[_0x5929[18]][_0x5929[23]]||_0x5929[24])||null;break ;;case _0x5929[23]:break ;;case _0x5929[31]:_0x8e12x13[_0x5929[27]][_0x5929[26]]=[];_0x8e12x10[_0x5929[30]](function(_0x8e12x16){var _0x8e12x17={};_0x8e12x17[_0x8e12x16]={$like:_0x5929[28]+_0x8e12x14+_0x5929[28]};_0x8e12x13[_0x5929[27]][_0x5929[26]][_0x5929[29]](_0x8e12x17);});break ;;default:_0x8e12x13[_0x5929[27]][_0x8e12x15]={$like:{}};_0x8e12x13[_0x5929[27]][_0x8e12x15][_0x5929[32]]=_0x5929[28]+_0x8e12x14+_0x5929[28];;}});SugarcrmAccount[_0x5929[45]](_0x8e12x13)[_0x5929[9]](function(_0x8e12x18){var _0x8e12x19=Math[_0x5929[37]](_0x8e12x18[_0x5929[36]]/_0x8e12x11);var _0x8e12x1a=_0x8e12x19>(_0x8e12x13[_0x5929[38]]+1)?util[_0x5929[25]](_0x5929[39],_0x8e12xf[_0x5929[40]],_0x8e12xf[_0x5929[42]][_0x5929[41]],_0x8e12xf[_0x5929[43]],_0x8e12x12+1):null;var _0x8e12x1b=_0x8e12x12>0?util[_0x5929[25]](_0x5929[39],_0x8e12xf[_0x5929[40]],_0x8e12xf[_0x5929[42]][_0x5929[41]],_0x8e12xf[_0x5929[43]],_0x8e12x12-1):null;return _0x8e12x5[_0x5929[6]](200)[_0x5929[5]]({count:_0x8e12x18[_0x5929[36]],rows:_0x8e12x18[_0x5929[44]],next_page:_0x8e12x1a,previous_page:_0x8e12x1b,total_pages:_0x8e12x19});})[_0x5929[35]](function(_0x8e12x7){return _0x8e12x5[_0x5929[6]](500)[_0x5929[5]]({error:_0x5929[34]})});};exports[_0x5929[46]]=function(_0x8e12xf,_0x8e12x5){SugarcrmAccount[_0x5929[49]](_0x8e12xf[_0x5929[48]][_0x5929[47]])[_0x5929[9]](handleEntityNotFound(_0x8e12x5))[_0x5929[9]](responseWithResult(_0x8e12x5))[_0x5929[35]](handleError(_0x8e12x5))};exports[_0x5929[50]]=function(_0x8e12xf,_0x8e12x5){SugarcrmAccount[_0x5929[50]](_0x8e12xf[_0x5929[51]])[_0x5929[9]](responseWithResult(_0x8e12x5,201))[_0x5929[35]](handleError(_0x8e12x5))};exports[_0x5929[52]]=function(_0x8e12xf,_0x8e12x5){if(_0x8e12xf[_0x5929[51]][_0x5929[47]]){delete _0x8e12xf[_0x5929[51]][_0x5929[47]]};SugarcrmAccount[_0x5929[49]](_0x8e12xf[_0x5929[48]][_0x5929[47]])[_0x5929[9]](handleEntityNotFound(_0x8e12x5))[_0x5929[9]](saveUpdates(_0x8e12xf[_0x5929[51]]))[_0x5929[9]](responseWithResult(_0x8e12x5))[_0x5929[35]](handleError(_0x8e12x5));};exports[_0x5929[11]]=function(_0x8e12xf,_0x8e12x5){SugarcrmAccount[_0x5929[49]](_0x8e12xf[_0x5929[48]][_0x5929[47]])[_0x5929[9]](handleEntityNotFound(_0x8e12x5))[_0x5929[9]](removeEntity(_0x8e12x5))[_0x5929[35]](handleError(_0x8e12x5))};exports[_0x5929[53]]=function(_0x8e12xf,_0x8e12x5){SugarcrmAccount[_0x5929[49]](_0x8e12xf[_0x5929[48]][_0x5929[47]])[_0x5929[9]](handleEntityNotFound(_0x8e12x5))[_0x5929[9]](function(_0x8e12x1c){var _0x8e12x1d=require(_0x5929[54]);_0x8e12x1d[_0x5929[57]]({apiURL:stripTrailingSlash(_0x8e12x1c[_0x5929[16]])+_0x5929[55],login:_0x8e12x1c[_0x5929[15]],passwd:_0x8e12x1c[_0x5929[56]]});_0x8e12x1d[_0x5929[59]](function(_0x8e12x1e){if(!_0x8e12x1e){return _0x8e12x5[_0x5929[58]](400)};return _0x8e12x5[_0x5929[58]](200);});})[_0x5929[35]](handleError(_0x8e12x5))};exports[_0x5929[60]]=function(_0x8e12xf,_0x8e12x5){SugarcrmAccount[_0x5929[11]]({where:{id:_0x8e12xf[_0x5929[18]][_0x5929[47]]},individualHooks:true})[_0x5929[9]](function(){return _0x8e12x5[_0x5929[58]](204)})[_0x5929[35]](function(_0x8e12x7){return handleError(_0x8e12x5,_0x8e12x7)})};exports[_0x5929[61]]=function(_0x8e12xf,_0x8e12x5){var _0x8e12x1f={};_0x8e12x1f[_0x8e12xf[_0x5929[48]][_0x5929[62]]]=_0x8e12xf[_0x5929[51]][_0x5929[63]];SugarcrmAccount[_0x5929[45]]({where:_0x8e12x1f})[_0x5929[9]](function(_0x8e12x18){if(_0x8e12x18[_0x5929[36]]){return _0x8e12x5[_0x5929[6]](200)[_0x5929[5]]({isValid:false,value:_0x8e12xf[_0x5929[51]][_0x5929[63]]})};return _0x8e12x5[_0x5929[6]](200)[_0x5929[5]]({isValid:true,value:_0x8e12xf[_0x5929[51]][_0x5929[63]]});})[_0x5929[35]](function(_0x8e12x7){return handleError(_0x8e12x5,_0x8e12x7)});};exports[_0x5929[64]]=function(_0x8e12xf,_0x8e12x5){var _0x8e12x1d=require(_0x5929[54]);SugarcrmAccount[_0x5929[49]](_0x8e12xf[_0x5929[48]][_0x5929[47]])[_0x5929[9]](handleEntityNotFound(_0x8e12x5))[_0x5929[9]](function(_0x8e12x1c){_0x8e12x1d[_0x5929[57]]({apiURL:stripTrailingSlash(_0x8e12x1c[_0x5929[16]])+_0x5929[55],login:_0x8e12x1c[_0x5929[15]],passwd:_0x8e12x1c[_0x5929[56]]});_0x8e12x1d[_0x5929[59]](function(_0x8e12x1e){if(!_0x8e12x1e){return _0x8e12x5[_0x5929[58]](400)};var _0x8e12x20={session:_0x8e12x1e,module_name:_0x5929[65]};_0x8e12x1d[_0x5929[68]](_0x5929[66],_0x8e12x20,function(_0x8e12x18,_0x8e12x7){if(_0x8e12x7){return _0x8e12x5[_0x5929[58]](400)};return _0x8e12x5[_0x5929[6]](200)[_0x5929[5]](_0x8e12x18[_0x5929[67]]);});});})[_0x5929[35]](handleError(_0x8e12x5));};function stripTrailingSlash(_0x8e12x22){if(_0x8e12x22[_0x5929[69]](-1)===_0x5929[70]){return _0x8e12x22[_0x5929[69]](0,_0x8e12x22[_0x5929[71]]-1)};return _0x8e12x22;}
\ No newline at end of file
index 799316858edf00bdb33831367852c39d03a59e9e..89bedc114fb11bd6067a3863180b03ef3c88914d 100644 (file)
@@ -1 +1 @@
-var _0x84b9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x53\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0x84b9[0];var SugarcrmAccount=require(_0x84b9[2])[_0x84b9[1]];exports[_0x84b9[3]]=function(_0x250ax2){SugarcrmAccount[_0x84b9[4]](function(_0x250ax3){onSave(_0x250ax2,_0x250ax3)});SugarcrmAccount[_0x84b9[5]](function(_0x250ax3){onRemove(_0x250ax2,_0x250ax3)});};function onSave(_0x250ax2,_0x250ax3,_0x250ax5){_0x250ax2[_0x84b9[7]](_0x84b9[6],_0x250ax3)}function onRemove(_0x250ax2,_0x250ax3,_0x250ax5){_0x250ax2[_0x84b9[7]](_0x84b9[8],_0x250ax3)}
\ No newline at end of file
+var _0x4084=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x53\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0x4084[0];var SugarcrmAccount=require(_0x4084[2])[_0x4084[1]];exports[_0x4084[3]]=function(_0x11e3x2){SugarcrmAccount[_0x4084[4]](function(_0x11e3x3){onSave(_0x11e3x2,_0x11e3x3)});SugarcrmAccount[_0x4084[5]](function(_0x11e3x3){onRemove(_0x11e3x2,_0x11e3x3)});};function onSave(_0x11e3x2,_0x11e3x3,_0x11e3x5){_0x11e3x2[_0x4084[7]](_0x4084[6],_0x11e3x3)}function onRemove(_0x11e3x2,_0x11e3x3,_0x11e3x5){_0x11e3x2[_0x4084[7]](_0x4084[8],_0x11e3x3)}
\ No newline at end of file
index 8fa95f46d587249ab9288b23a6c7bde38d81713f..2b892aaefadb0f4deb367fa216be16598d32faaf 100644 (file)
@@ -1 +1 @@
-var _0x218c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x2F\x3A\x69\x64\x2F\x3A\x74\x79\x70\x65","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x218c[0];var express=require(_0x218c[1]);var auth=require(_0x218c[2]);var controller=require(_0x218c[3]);var router=express.Router();router[_0x218c[7]](_0x218c[4],auth[_0x218c[5]](),controller[_0x218c[6]]);router[_0x218c[7]](_0x218c[8],auth[_0x218c[5]](),controller[_0x218c[9]]);router[_0x218c[11]](_0x218c[4],auth[_0x218c[5]](),controller[_0x218c[10]]);router[_0x218c[13]](_0x218c[8],auth[_0x218c[5]](),controller[_0x218c[12]]);router[_0x218c[11]](_0x218c[14],auth[_0x218c[5]](),controller[_0x218c[15]]);router[_0x218c[16]](_0x218c[8],auth[_0x218c[5]](),controller[_0x218c[12]]);router[_0x218c[18]](_0x218c[8],auth[_0x218c[5]](),controller[_0x218c[17]]);module[_0x218c[19]]=router;
\ No newline at end of file
+var _0x702d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x2F\x3A\x69\x64\x2F\x3A\x74\x79\x70\x65","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x702d[0];var express=require(_0x702d[1]);var auth=require(_0x702d[2]);var controller=require(_0x702d[3]);var router=express.Router();router[_0x702d[7]](_0x702d[4],auth[_0x702d[5]](),controller[_0x702d[6]]);router[_0x702d[7]](_0x702d[8],auth[_0x702d[5]](),controller[_0x702d[9]]);router[_0x702d[11]](_0x702d[4],auth[_0x702d[5]](),controller[_0x702d[10]]);router[_0x702d[13]](_0x702d[8],auth[_0x702d[5]](),controller[_0x702d[12]]);router[_0x702d[11]](_0x702d[14],auth[_0x702d[5]](),controller[_0x702d[15]]);router[_0x702d[16]](_0x702d[8],auth[_0x702d[5]](),controller[_0x702d[12]]);router[_0x702d[18]](_0x702d[8],auth[_0x702d[5]](),controller[_0x702d[17]]);module[_0x702d[19]]=router;
\ No newline at end of file
index e3df282d84b4998edcd2a393d2ec48f3c7b73493..6a36675f6bf3060ba3549c6fe710c7255a1aa650 100644 (file)
@@ -1 +1 @@
-var _0x8274=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6E\x6F\x50\x72\x65\x73\x65\x72\x76\x65\x43\x61\x63\x68\x65","\x70\x72\x6F\x78\x79\x71\x75\x69\x72\x65","\x73\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x69\x6E\x64\x65\x78","\x73\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x73\x68\x6F\x77","\x73\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x63\x72\x65\x61\x74\x65","\x73\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x75\x70\x64\x61\x74\x65","\x73\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x64\x65\x73\x74\x72\x6F\x79","\x73\x70\x79","\x2E\x2F\x69\x6E\x64\x65\x78\x2E\x6A\x73","\x53\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x20\x41\x50\x49\x20\x52\x6F\x75\x74\x65\x72\x3A","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x74\x75\x72\x6E\x20\x61\x6E\x20\x65\x78\x70\x72\x65\x73\x73\x20\x72\x6F\x75\x74\x65\x72\x20\x69\x6E\x73\x74\x61\x6E\x63\x65","\x65\x71\x75\x61\x6C","\x74\x6F","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x69\x6E\x64\x65\x78","\x63\x61\x6C\x6C\x65\x64\x4F\x6E\x63\x65","\x62\x65\x65\x6E","\x68\x61\x76\x65","\x2F","\x77\x69\x74\x68\x41\x72\x67\x73","\x67\x65\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x73\x68\x6F\x77","\x2F\x3A\x69\x64","\x50\x4F\x53\x54\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x50\x55\x54\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x50\x41\x54\x43\x48\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x70\x61\x74\x63\x68","\x44\x45\x4C\x45\x54\x45\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65"];_0x8274[0];var proxyquire=require(_0x8274[2])[_0x8274[1]]();var sugarcrmConfigurationCtrlStub={index:_0x8274[3],show:_0x8274[4],create:_0x8274[5],update:_0x8274[6],destroy:_0x8274[7]};var routerStub={get:sinon[_0x8274[8]](),put:sinon[_0x8274[8]](),patch:sinon[_0x8274[8]](),post:sinon[_0x8274[8]](),delete:sinon[_0x8274[8]]()};var sugarcrmConfigurationIndex=proxyquire(_0x8274[9],{"\x65\x78\x70\x72\x65\x73\x73":{Router:function(){return routerStub}},"\x2E\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72":sugarcrmConfigurationCtrlStub});describe(_0x8274[10],function(){it(_0x8274[11],function(){expect(sugarcrmConfigurationIndex)[_0x8274[13]][_0x8274[12]](routerStub)});describe(_0x8274[14],function(){it(_0x8274[15],function(){expect(routerStub[_0x8274[21]][_0x8274[20]](_0x8274[19],_0x8274[3]))[_0x8274[13]][_0x8274[18]][_0x8274[17]][_0x8274[16]]})});describe(_0x8274[22],function(){it(_0x8274[23],function(){expect(routerStub[_0x8274[21]][_0x8274[20]](_0x8274[24],_0x8274[4]))[_0x8274[13]][_0x8274[18]][_0x8274[17]][_0x8274[16]]})});describe(_0x8274[25],function(){it(_0x8274[26],function(){expect(routerStub[_0x8274[27]][_0x8274[20]](_0x8274[19],_0x8274[5]))[_0x8274[13]][_0x8274[18]][_0x8274[17]][_0x8274[16]]})});describe(_0x8274[28],function(){it(_0x8274[29],function(){expect(routerStub[_0x8274[30]][_0x8274[20]](_0x8274[24],_0x8274[6]))[_0x8274[13]][_0x8274[18]][_0x8274[17]][_0x8274[16]]})});describe(_0x8274[31],function(){it(_0x8274[29],function(){expect(routerStub[_0x8274[32]][_0x8274[20]](_0x8274[24],_0x8274[6]))[_0x8274[13]][_0x8274[18]][_0x8274[17]][_0x8274[16]]})});describe(_0x8274[33],function(){it(_0x8274[34],function(){expect(routerStub[_0x8274[35]][_0x8274[20]](_0x8274[24],_0x8274[7]))[_0x8274[13]][_0x8274[18]][_0x8274[17]][_0x8274[16]]})});});
\ No newline at end of file
+var _0xd2e8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6E\x6F\x50\x72\x65\x73\x65\x72\x76\x65\x43\x61\x63\x68\x65","\x70\x72\x6F\x78\x79\x71\x75\x69\x72\x65","\x73\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x69\x6E\x64\x65\x78","\x73\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x73\x68\x6F\x77","\x73\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x63\x72\x65\x61\x74\x65","\x73\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x75\x70\x64\x61\x74\x65","\x73\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x43\x74\x72\x6C\x2E\x64\x65\x73\x74\x72\x6F\x79","\x73\x70\x79","\x2E\x2F\x69\x6E\x64\x65\x78\x2E\x6A\x73","\x53\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x20\x41\x50\x49\x20\x52\x6F\x75\x74\x65\x72\x3A","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x74\x75\x72\x6E\x20\x61\x6E\x20\x65\x78\x70\x72\x65\x73\x73\x20\x72\x6F\x75\x74\x65\x72\x20\x69\x6E\x73\x74\x61\x6E\x63\x65","\x65\x71\x75\x61\x6C","\x74\x6F","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x69\x6E\x64\x65\x78","\x63\x61\x6C\x6C\x65\x64\x4F\x6E\x63\x65","\x62\x65\x65\x6E","\x68\x61\x76\x65","\x2F","\x77\x69\x74\x68\x41\x72\x67\x73","\x67\x65\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x73\x68\x6F\x77","\x2F\x3A\x69\x64","\x50\x4F\x53\x54\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x50\x55\x54\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x50\x41\x54\x43\x48\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x70\x61\x74\x63\x68","\x44\x45\x4C\x45\x54\x45\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65"];_0xd2e8[0];var proxyquire=require(_0xd2e8[2])[_0xd2e8[1]]();var sugarcrmConfigurationCtrlStub={index:_0xd2e8[3],show:_0xd2e8[4],create:_0xd2e8[5],update:_0xd2e8[6],destroy:_0xd2e8[7]};var routerStub={get:sinon[_0xd2e8[8]](),put:sinon[_0xd2e8[8]](),patch:sinon[_0xd2e8[8]](),post:sinon[_0xd2e8[8]](),delete:sinon[_0xd2e8[8]]()};var sugarcrmConfigurationIndex=proxyquire(_0xd2e8[9],{"\x65\x78\x70\x72\x65\x73\x73":{Router:function(){return routerStub}},"\x2E\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72":sugarcrmConfigurationCtrlStub});describe(_0xd2e8[10],function(){it(_0xd2e8[11],function(){expect(sugarcrmConfigurationIndex)[_0xd2e8[13]][_0xd2e8[12]](routerStub)});describe(_0xd2e8[14],function(){it(_0xd2e8[15],function(){expect(routerStub[_0xd2e8[21]][_0xd2e8[20]](_0xd2e8[19],_0xd2e8[3]))[_0xd2e8[13]][_0xd2e8[18]][_0xd2e8[17]][_0xd2e8[16]]})});describe(_0xd2e8[22],function(){it(_0xd2e8[23],function(){expect(routerStub[_0xd2e8[21]][_0xd2e8[20]](_0xd2e8[24],_0xd2e8[4]))[_0xd2e8[13]][_0xd2e8[18]][_0xd2e8[17]][_0xd2e8[16]]})});describe(_0xd2e8[25],function(){it(_0xd2e8[26],function(){expect(routerStub[_0xd2e8[27]][_0xd2e8[20]](_0xd2e8[19],_0xd2e8[5]))[_0xd2e8[13]][_0xd2e8[18]][_0xd2e8[17]][_0xd2e8[16]]})});describe(_0xd2e8[28],function(){it(_0xd2e8[29],function(){expect(routerStub[_0xd2e8[30]][_0xd2e8[20]](_0xd2e8[24],_0xd2e8[6]))[_0xd2e8[13]][_0xd2e8[18]][_0xd2e8[17]][_0xd2e8[16]]})});describe(_0xd2e8[31],function(){it(_0xd2e8[29],function(){expect(routerStub[_0xd2e8[32]][_0xd2e8[20]](_0xd2e8[24],_0xd2e8[6]))[_0xd2e8[13]][_0xd2e8[18]][_0xd2e8[17]][_0xd2e8[16]]})});describe(_0xd2e8[33],function(){it(_0xd2e8[34],function(){expect(routerStub[_0xd2e8[35]][_0xd2e8[20]](_0xd2e8[24],_0xd2e8[7]))[_0xd2e8[13]][_0xd2e8[18]][_0xd2e8[17]][_0xd2e8[16]]})});});
\ No newline at end of file
index 420eff948b7125c5abd32b377969eba26486b32a..dc60db9ceef8484bb17f3035a4070da93807ad46 100644 (file)
@@ -1 +1 @@
-var _0x4271=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x53\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x53\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x53\x75\x62\x6A\x65\x63\x74","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x46\x69\x65\x6C\x64","\x66\x69\x6E\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x73\x70\x72\x65\x61\x64","\x61\x64\x64\x53\x75\x62\x6A\x65\x63\x74","\x73\x75\x62\x6A\x65\x63\x74","\x61\x64\x64\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x61\x64\x64\x46\x69\x65\x6C\x64","\x66\x69\x65\x6C\x64","\x74\x79\x70\x65"];_0x4271[0];var _=require(_0x4271[1]);var SugarcrmConfiguration=require(_0x4271[3])[_0x4271[2]];var SugarcrmField=require(_0x4271[3])[_0x4271[4]];function handleError(_0x2dcex5,_0x2dcex6){_0x2dcex6=_0x2dcex6||500;return function(_0x2dcex7){_0x2dcex5[_0x4271[6]](_0x2dcex6)[_0x4271[5]](_0x2dcex7)};}function responseWithResult(_0x2dcex5,_0x2dcex6){_0x2dcex6=_0x2dcex6||200;return function(_0x2dcex9){if(_0x2dcex9){_0x2dcex5[_0x4271[6]](_0x2dcex6)[_0x4271[7]](_0x2dcex9)}};}function handleEntityNotFound(_0x2dcex5){return function(_0x2dcex9){if(!_0x2dcex9){_0x2dcex5[_0x4271[6]](404)[_0x4271[8]]();return null;};return _0x2dcex9;}}function saveUpdates(_0x2dcexc){return function(_0x2dcex9){return _0x2dcex9[_0x4271[10]](_0x2dcexc)[_0x4271[9]](function(_0x2dcexd){return _0x2dcexd})}}function removeEntity(_0x2dcex5){return function(_0x2dcex9){if(_0x2dcex9){return _0x2dcex9[_0x4271[11]]()[_0x4271[9]](function(){_0x2dcex5[_0x4271[6]](204)[_0x4271[8]]()})}}}exports[_0x4271[12]]=function(_0x2dcexf,_0x2dcex5){SugarcrmConfiguration[_0x4271[15]]({where:_0x2dcexf[_0x4271[14]]})[_0x4271[9]](responseWithResult(_0x2dcex5))[_0x4271[13]](handleError(_0x2dcex5))};exports[_0x4271[16]]=function(_0x2dcexf,_0x2dcex5){SugarcrmConfiguration[_0x4271[22]]({where:{id:_0x2dcexf[_0x4271[18]][_0x4271[17]]},include:[{model:SugarcrmField,as:_0x4271[19]},{model:SugarcrmField,as:_0x4271[20]},{model:SugarcrmField,as:_0x4271[21]}]})[_0x4271[9]](handleEntityNotFound(_0x2dcex5))[_0x4271[9]](responseWithResult(_0x2dcex5))[_0x4271[13]](handleError(_0x2dcex5))};exports[_0x4271[23]]=function(_0x2dcexf,_0x2dcex5){SugarcrmConfiguration[_0x4271[23]](_0x2dcexf[_0x4271[24]])[_0x4271[9]](responseWithResult(_0x2dcex5,201))[_0x4271[13]](handleError(_0x2dcex5))};exports[_0x4271[25]]=function(_0x2dcexf,_0x2dcex5){if(_0x2dcexf[_0x4271[24]][_0x4271[17]]){delete _0x2dcexf[_0x4271[24]][_0x4271[17]]};SugarcrmConfiguration[_0x4271[26]](_0x2dcexf[_0x4271[18]][_0x4271[17]])[_0x4271[9]](handleEntityNotFound(_0x2dcex5))[_0x4271[9]](saveUpdates(_0x2dcexf[_0x4271[24]]))[_0x4271[9]](responseWithResult(_0x2dcex5))[_0x4271[13]](handleError(_0x2dcex5));};exports[_0x4271[11]]=function(_0x2dcexf,_0x2dcex5){SugarcrmConfiguration[_0x4271[26]](_0x2dcexf[_0x4271[18]][_0x4271[17]])[_0x4271[9]](handleEntityNotFound(_0x2dcex5))[_0x4271[9]](removeEntity(_0x2dcex5))[_0x4271[13]](handleError(_0x2dcex5))};exports[_0x4271[27]]=function(_0x2dcexf,_0x2dcex5,_0x2dcex10){var _0x2dcex11;SugarcrmConfiguration[_0x4271[26]](_0x2dcexf[_0x4271[18]][_0x4271[17]])[_0x4271[9]](handleEntityNotFound(_0x2dcex5))[_0x4271[9]](function(_0x2dcex14){_0x2dcex11=_0x2dcex14;return SugarcrmField[_0x4271[23]](_0x2dcexf[_0x4271[24]]);})[_0x4271[9]](function(_0x2dcex13){switch(_0x2dcexf[_0x4271[18]][_0x4271[35]]){case _0x4271[30]:return [_0x2dcex11[_0x4271[29]](_0x2dcex13),_0x2dcex13];;case _0x4271[32]:return [_0x2dcex11[_0x4271[31]](_0x2dcex13),_0x2dcex13];;case _0x4271[34]:return [_0x2dcex11[_0x4271[33]](_0x2dcex13),_0x2dcex13];;}})[_0x4271[28]](function(_0x2dcex12,_0x2dcex13){return _0x2dcex5[_0x4271[6]](201)[_0x4271[7]](_0x2dcex13)})[_0x4271[13]](handleError(_0x2dcex5));};
\ No newline at end of file
+var _0xb6d6=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x53\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x53\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x53\x75\x62\x6A\x65\x63\x74","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x46\x69\x65\x6C\x64","\x66\x69\x6E\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x73\x70\x72\x65\x61\x64","\x61\x64\x64\x53\x75\x62\x6A\x65\x63\x74","\x73\x75\x62\x6A\x65\x63\x74","\x61\x64\x64\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x61\x64\x64\x46\x69\x65\x6C\x64","\x66\x69\x65\x6C\x64","\x74\x79\x70\x65"];_0xb6d6[0];var _=require(_0xb6d6[1]);var SugarcrmConfiguration=require(_0xb6d6[3])[_0xb6d6[2]];var SugarcrmField=require(_0xb6d6[3])[_0xb6d6[4]];function handleError(_0xb5a1x5,_0xb5a1x6){_0xb5a1x6=_0xb5a1x6||500;return function(_0xb5a1x7){_0xb5a1x5[_0xb6d6[6]](_0xb5a1x6)[_0xb6d6[5]](_0xb5a1x7)};}function responseWithResult(_0xb5a1x5,_0xb5a1x6){_0xb5a1x6=_0xb5a1x6||200;return function(_0xb5a1x9){if(_0xb5a1x9){_0xb5a1x5[_0xb6d6[6]](_0xb5a1x6)[_0xb6d6[7]](_0xb5a1x9)}};}function handleEntityNotFound(_0xb5a1x5){return function(_0xb5a1x9){if(!_0xb5a1x9){_0xb5a1x5[_0xb6d6[6]](404)[_0xb6d6[8]]();return null;};return _0xb5a1x9;}}function saveUpdates(_0xb5a1xc){return function(_0xb5a1x9){return _0xb5a1x9[_0xb6d6[10]](_0xb5a1xc)[_0xb6d6[9]](function(_0xb5a1xd){return _0xb5a1xd})}}function removeEntity(_0xb5a1x5){return function(_0xb5a1x9){if(_0xb5a1x9){return _0xb5a1x9[_0xb6d6[11]]()[_0xb6d6[9]](function(){_0xb5a1x5[_0xb6d6[6]](204)[_0xb6d6[8]]()})}}}exports[_0xb6d6[12]]=function(_0xb5a1xf,_0xb5a1x5){SugarcrmConfiguration[_0xb6d6[15]]({where:_0xb5a1xf[_0xb6d6[14]]})[_0xb6d6[9]](responseWithResult(_0xb5a1x5))[_0xb6d6[13]](handleError(_0xb5a1x5))};exports[_0xb6d6[16]]=function(_0xb5a1xf,_0xb5a1x5){SugarcrmConfiguration[_0xb6d6[22]]({where:{id:_0xb5a1xf[_0xb6d6[18]][_0xb6d6[17]]},include:[{model:SugarcrmField,as:_0xb6d6[19]},{model:SugarcrmField,as:_0xb6d6[20]},{model:SugarcrmField,as:_0xb6d6[21]}]})[_0xb6d6[9]](handleEntityNotFound(_0xb5a1x5))[_0xb6d6[9]](responseWithResult(_0xb5a1x5))[_0xb6d6[13]](handleError(_0xb5a1x5))};exports[_0xb6d6[23]]=function(_0xb5a1xf,_0xb5a1x5){SugarcrmConfiguration[_0xb6d6[23]](_0xb5a1xf[_0xb6d6[24]])[_0xb6d6[9]](responseWithResult(_0xb5a1x5,201))[_0xb6d6[13]](handleError(_0xb5a1x5))};exports[_0xb6d6[25]]=function(_0xb5a1xf,_0xb5a1x5){if(_0xb5a1xf[_0xb6d6[24]][_0xb6d6[17]]){delete _0xb5a1xf[_0xb6d6[24]][_0xb6d6[17]]};SugarcrmConfiguration[_0xb6d6[26]](_0xb5a1xf[_0xb6d6[18]][_0xb6d6[17]])[_0xb6d6[9]](handleEntityNotFound(_0xb5a1x5))[_0xb6d6[9]](saveUpdates(_0xb5a1xf[_0xb6d6[24]]))[_0xb6d6[9]](responseWithResult(_0xb5a1x5))[_0xb6d6[13]](handleError(_0xb5a1x5));};exports[_0xb6d6[11]]=function(_0xb5a1xf,_0xb5a1x5){SugarcrmConfiguration[_0xb6d6[26]](_0xb5a1xf[_0xb6d6[18]][_0xb6d6[17]])[_0xb6d6[9]](handleEntityNotFound(_0xb5a1x5))[_0xb6d6[9]](removeEntity(_0xb5a1x5))[_0xb6d6[13]](handleError(_0xb5a1x5))};exports[_0xb6d6[27]]=function(_0xb5a1xf,_0xb5a1x5,_0xb5a1x10){var _0xb5a1x11;SugarcrmConfiguration[_0xb6d6[26]](_0xb5a1xf[_0xb6d6[18]][_0xb6d6[17]])[_0xb6d6[9]](handleEntityNotFound(_0xb5a1x5))[_0xb6d6[9]](function(_0xb5a1x14){_0xb5a1x11=_0xb5a1x14;return SugarcrmField[_0xb6d6[23]](_0xb5a1xf[_0xb6d6[24]]);})[_0xb6d6[9]](function(_0xb5a1x13){switch(_0xb5a1xf[_0xb6d6[18]][_0xb6d6[35]]){case _0xb6d6[30]:return [_0xb5a1x11[_0xb6d6[29]](_0xb5a1x13),_0xb5a1x13];;case _0xb6d6[32]:return [_0xb5a1x11[_0xb6d6[31]](_0xb5a1x13),_0xb5a1x13];;case _0xb6d6[34]:return [_0xb5a1x11[_0xb6d6[33]](_0xb5a1x13),_0xb5a1x13];;}})[_0xb6d6[28]](function(_0xb5a1x12,_0xb5a1x13){return _0xb5a1x5[_0xb6d6[6]](201)[_0xb6d6[7]](_0xb5a1x13)})[_0xb6d6[13]](handleError(_0xb5a1x5));};
\ No newline at end of file
index c8884cdabca983c85a682cb5d7b9079be16b27a5..33654ecffbbb17d89638a403847644b2bafcf4fd 100644 (file)
@@ -1 +1 @@
-var _0x3b35=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x53\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0x3b35[0];var SugarcrmConfiguration=require(_0x3b35[2])[_0x3b35[1]];exports[_0x3b35[3]]=function(_0xaba5x2){SugarcrmConfiguration[_0x3b35[4]](function(_0xaba5x3){onSave(_0xaba5x2,_0xaba5x3)});SugarcrmConfiguration[_0x3b35[5]](function(_0xaba5x3){onRemove(_0xaba5x2,_0xaba5x3)});};function onSave(_0xaba5x2,_0xaba5x3,_0xaba5x5){_0xaba5x2[_0x3b35[7]](_0x3b35[6],_0xaba5x3)}function onRemove(_0xaba5x2,_0xaba5x3,_0xaba5x5){_0xaba5x2[_0x3b35[7]](_0x3b35[8],_0xaba5x3)}
\ No newline at end of file
+var _0x30eb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x53\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0x30eb[0];var SugarcrmConfiguration=require(_0x30eb[2])[_0x30eb[1]];exports[_0x30eb[3]]=function(_0x5fd9x2){SugarcrmConfiguration[_0x30eb[4]](function(_0x5fd9x3){onSave(_0x5fd9x2,_0x5fd9x3)});SugarcrmConfiguration[_0x30eb[5]](function(_0x5fd9x3){onRemove(_0x5fd9x2,_0x5fd9x3)});};function onSave(_0x5fd9x2,_0x5fd9x3,_0x5fd9x5){_0x5fd9x2[_0x30eb[7]](_0x30eb[6],_0x5fd9x3)}function onRemove(_0x5fd9x2,_0x5fd9x3,_0x5fd9x5){_0x5fd9x2[_0x30eb[7]](_0x30eb[8],_0x5fd9x3)}
\ No newline at end of file
index 8095bc067edd1abcb99bd123c80f34a20efc15a6..e60b9643d6eb1960e1198a8e6011f6b8782048a6 100644 (file)
@@ -1 +1 @@
-var _0xa768=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x66\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xa768[0];var express=require(_0xa768[1]);var auth=require(_0xa768[2]);var controller=require(_0xa768[3]);var router=express.Router();router[_0xa768[7]](_0xa768[4],auth[_0xa768[5]](),controller[_0xa768[6]]);router[_0xa768[7]](_0xa768[8],auth[_0xa768[5]](),controller[_0xa768[9]]);router[_0xa768[11]](_0xa768[4],auth[_0xa768[5]](),controller[_0xa768[10]]);router[_0xa768[13]](_0xa768[8],auth[_0xa768[5]](),controller[_0xa768[12]]);router[_0xa768[14]](_0xa768[8],auth[_0xa768[5]](),controller[_0xa768[12]]);router[_0xa768[16]](_0xa768[8],auth[_0xa768[5]](),controller[_0xa768[15]]);module[_0xa768[17]]=router;
\ No newline at end of file
+var _0x5996=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x66\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x5996[0];var express=require(_0x5996[1]);var auth=require(_0x5996[2]);var controller=require(_0x5996[3]);var router=express.Router();router[_0x5996[7]](_0x5996[4],auth[_0x5996[5]](),controller[_0x5996[6]]);router[_0x5996[7]](_0x5996[8],auth[_0x5996[5]](),controller[_0x5996[9]]);router[_0x5996[11]](_0x5996[4],auth[_0x5996[5]](),controller[_0x5996[10]]);router[_0x5996[13]](_0x5996[8],auth[_0x5996[5]](),controller[_0x5996[12]]);router[_0x5996[14]](_0x5996[8],auth[_0x5996[5]](),controller[_0x5996[12]]);router[_0x5996[16]](_0x5996[8],auth[_0x5996[5]](),controller[_0x5996[15]]);module[_0x5996[17]]=router;
\ No newline at end of file
index 37bfaa775fb1641750abff9974d467e2b8470694..d4c74ae5ec67e2fafd16f4c05df0fa472eec4633 100644 (file)
@@ -1 +1 @@
-var _0x6ef1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6E\x6F\x50\x72\x65\x73\x65\x72\x76\x65\x43\x61\x63\x68\x65","\x70\x72\x6F\x78\x79\x71\x75\x69\x72\x65","\x73\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x69\x6E\x64\x65\x78","\x73\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x73\x68\x6F\x77","\x73\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x63\x72\x65\x61\x74\x65","\x73\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x75\x70\x64\x61\x74\x65","\x73\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x64\x65\x73\x74\x72\x6F\x79","\x73\x70\x79","\x2E\x2F\x69\x6E\x64\x65\x78\x2E\x6A\x73","\x53\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64\x20\x41\x50\x49\x20\x52\x6F\x75\x74\x65\x72\x3A","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x74\x75\x72\x6E\x20\x61\x6E\x20\x65\x78\x70\x72\x65\x73\x73\x20\x72\x6F\x75\x74\x65\x72\x20\x69\x6E\x73\x74\x61\x6E\x63\x65","\x65\x71\x75\x61\x6C","\x74\x6F","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x66\x69\x65\x6C\x64\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x69\x6E\x64\x65\x78","\x63\x61\x6C\x6C\x65\x64\x4F\x6E\x63\x65","\x62\x65\x65\x6E","\x68\x61\x76\x65","\x2F","\x77\x69\x74\x68\x41\x72\x67\x73","\x67\x65\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x73\x68\x6F\x77","\x2F\x3A\x69\x64","\x50\x4F\x53\x54\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x66\x69\x65\x6C\x64\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x50\x55\x54\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x50\x41\x54\x43\x48\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x70\x61\x74\x63\x68","\x44\x45\x4C\x45\x54\x45\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65"];_0x6ef1[0];var proxyquire=require(_0x6ef1[2])[_0x6ef1[1]]();var sugarcrmFieldCtrlStub={index:_0x6ef1[3],show:_0x6ef1[4],create:_0x6ef1[5],update:_0x6ef1[6],destroy:_0x6ef1[7]};var routerStub={get:sinon[_0x6ef1[8]](),put:sinon[_0x6ef1[8]](),patch:sinon[_0x6ef1[8]](),post:sinon[_0x6ef1[8]](),delete:sinon[_0x6ef1[8]]()};var sugarcrmFieldIndex=proxyquire(_0x6ef1[9],{"\x65\x78\x70\x72\x65\x73\x73":{Router:function(){return routerStub}},"\x2E\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x66\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72":sugarcrmFieldCtrlStub});describe(_0x6ef1[10],function(){it(_0x6ef1[11],function(){expect(sugarcrmFieldIndex)[_0x6ef1[13]][_0x6ef1[12]](routerStub)});describe(_0x6ef1[14],function(){it(_0x6ef1[15],function(){expect(routerStub[_0x6ef1[21]][_0x6ef1[20]](_0x6ef1[19],_0x6ef1[3]))[_0x6ef1[13]][_0x6ef1[18]][_0x6ef1[17]][_0x6ef1[16]]})});describe(_0x6ef1[22],function(){it(_0x6ef1[23],function(){expect(routerStub[_0x6ef1[21]][_0x6ef1[20]](_0x6ef1[24],_0x6ef1[4]))[_0x6ef1[13]][_0x6ef1[18]][_0x6ef1[17]][_0x6ef1[16]]})});describe(_0x6ef1[25],function(){it(_0x6ef1[26],function(){expect(routerStub[_0x6ef1[27]][_0x6ef1[20]](_0x6ef1[19],_0x6ef1[5]))[_0x6ef1[13]][_0x6ef1[18]][_0x6ef1[17]][_0x6ef1[16]]})});describe(_0x6ef1[28],function(){it(_0x6ef1[29],function(){expect(routerStub[_0x6ef1[30]][_0x6ef1[20]](_0x6ef1[24],_0x6ef1[6]))[_0x6ef1[13]][_0x6ef1[18]][_0x6ef1[17]][_0x6ef1[16]]})});describe(_0x6ef1[31],function(){it(_0x6ef1[29],function(){expect(routerStub[_0x6ef1[32]][_0x6ef1[20]](_0x6ef1[24],_0x6ef1[6]))[_0x6ef1[13]][_0x6ef1[18]][_0x6ef1[17]][_0x6ef1[16]]})});describe(_0x6ef1[33],function(){it(_0x6ef1[34],function(){expect(routerStub[_0x6ef1[35]][_0x6ef1[20]](_0x6ef1[24],_0x6ef1[7]))[_0x6ef1[13]][_0x6ef1[18]][_0x6ef1[17]][_0x6ef1[16]]})});});
\ No newline at end of file
+var _0x589f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6E\x6F\x50\x72\x65\x73\x65\x72\x76\x65\x43\x61\x63\x68\x65","\x70\x72\x6F\x78\x79\x71\x75\x69\x72\x65","\x73\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x69\x6E\x64\x65\x78","\x73\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x73\x68\x6F\x77","\x73\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x63\x72\x65\x61\x74\x65","\x73\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x75\x70\x64\x61\x74\x65","\x73\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64\x43\x74\x72\x6C\x2E\x64\x65\x73\x74\x72\x6F\x79","\x73\x70\x79","\x2E\x2F\x69\x6E\x64\x65\x78\x2E\x6A\x73","\x53\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64\x20\x41\x50\x49\x20\x52\x6F\x75\x74\x65\x72\x3A","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x74\x75\x72\x6E\x20\x61\x6E\x20\x65\x78\x70\x72\x65\x73\x73\x20\x72\x6F\x75\x74\x65\x72\x20\x69\x6E\x73\x74\x61\x6E\x63\x65","\x65\x71\x75\x61\x6C","\x74\x6F","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x66\x69\x65\x6C\x64\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x69\x6E\x64\x65\x78","\x63\x61\x6C\x6C\x65\x64\x4F\x6E\x63\x65","\x62\x65\x65\x6E","\x68\x61\x76\x65","\x2F","\x77\x69\x74\x68\x41\x72\x67\x73","\x67\x65\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x73\x68\x6F\x77","\x2F\x3A\x69\x64","\x50\x4F\x53\x54\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x66\x69\x65\x6C\x64\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x50\x55\x54\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x50\x41\x54\x43\x48\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x70\x61\x74\x63\x68","\x44\x45\x4C\x45\x54\x45\x20\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x6F\x75\x74\x65\x20\x74\x6F\x20\x73\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72\x2E\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65"];_0x589f[0];var proxyquire=require(_0x589f[2])[_0x589f[1]]();var sugarcrmFieldCtrlStub={index:_0x589f[3],show:_0x589f[4],create:_0x589f[5],update:_0x589f[6],destroy:_0x589f[7]};var routerStub={get:sinon[_0x589f[8]](),put:sinon[_0x589f[8]](),patch:sinon[_0x589f[8]](),post:sinon[_0x589f[8]](),delete:sinon[_0x589f[8]]()};var sugarcrmFieldIndex=proxyquire(_0x589f[9],{"\x65\x78\x70\x72\x65\x73\x73":{Router:function(){return routerStub}},"\x2E\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x66\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72":sugarcrmFieldCtrlStub});describe(_0x589f[10],function(){it(_0x589f[11],function(){expect(sugarcrmFieldIndex)[_0x589f[13]][_0x589f[12]](routerStub)});describe(_0x589f[14],function(){it(_0x589f[15],function(){expect(routerStub[_0x589f[21]][_0x589f[20]](_0x589f[19],_0x589f[3]))[_0x589f[13]][_0x589f[18]][_0x589f[17]][_0x589f[16]]})});describe(_0x589f[22],function(){it(_0x589f[23],function(){expect(routerStub[_0x589f[21]][_0x589f[20]](_0x589f[24],_0x589f[4]))[_0x589f[13]][_0x589f[18]][_0x589f[17]][_0x589f[16]]})});describe(_0x589f[25],function(){it(_0x589f[26],function(){expect(routerStub[_0x589f[27]][_0x589f[20]](_0x589f[19],_0x589f[5]))[_0x589f[13]][_0x589f[18]][_0x589f[17]][_0x589f[16]]})});describe(_0x589f[28],function(){it(_0x589f[29],function(){expect(routerStub[_0x589f[30]][_0x589f[20]](_0x589f[24],_0x589f[6]))[_0x589f[13]][_0x589f[18]][_0x589f[17]][_0x589f[16]]})});describe(_0x589f[31],function(){it(_0x589f[29],function(){expect(routerStub[_0x589f[32]][_0x589f[20]](_0x589f[24],_0x589f[6]))[_0x589f[13]][_0x589f[18]][_0x589f[17]][_0x589f[16]]})});describe(_0x589f[33],function(){it(_0x589f[34],function(){expect(routerStub[_0x589f[35]][_0x589f[20]](_0x589f[24],_0x589f[7]))[_0x589f[13]][_0x589f[18]][_0x589f[17]][_0x589f[16]]})});});
\ No newline at end of file
index 2b2901465d7ed3ef064869ab7a00ece6a34f5dbf..f9c4ddede47a8475e2a28731128d65427f8bdf82 100644 (file)
@@ -1 +1 @@
-var _0xd32f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x53\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65"];_0xd32f[0];var _=require(_0xd32f[1]);var SugarcrmField=require(_0xd32f[3])[_0xd32f[2]];function handleError(_0xa704x4,_0xa704x5){_0xa704x5=_0xa704x5||500;return function(_0xa704x6){_0xa704x4[_0xd32f[5]](_0xa704x5)[_0xd32f[4]](_0xa704x6)};}function responseWithResult(_0xa704x4,_0xa704x5){_0xa704x5=_0xa704x5||200;return function(_0xa704x8){if(_0xa704x8){_0xa704x4[_0xd32f[5]](_0xa704x5)[_0xd32f[6]](_0xa704x8)}};}function handleEntityNotFound(_0xa704x4){return function(_0xa704x8){if(!_0xa704x8){_0xa704x4[_0xd32f[5]](404)[_0xd32f[7]]();return null;};return _0xa704x8;}}function saveUpdates(_0xa704xb){return function(_0xa704x8){return _0xa704x8[_0xd32f[9]](_0xa704xb)[_0xd32f[8]](function(_0xa704xc){return _0xa704xc})}}function removeEntity(_0xa704x4){return function(_0xa704x8){if(_0xa704x8){return _0xa704x8[_0xd32f[10]]()[_0xd32f[8]](function(){_0xa704x4[_0xd32f[5]](204)[_0xd32f[7]]()})}}}exports[_0xd32f[11]]=function(_0xa704xe,_0xa704x4){SugarcrmField[_0xd32f[13]]()[_0xd32f[8]](responseWithResult(_0xa704x4))[_0xd32f[12]](handleError(_0xa704x4))};exports[_0xd32f[14]]=function(_0xa704xe,_0xa704x4){SugarcrmField[_0xd32f[17]](_0xa704xe[_0xd32f[16]][_0xd32f[15]])[_0xd32f[8]](handleEntityNotFound(_0xa704x4))[_0xd32f[8]](responseWithResult(_0xa704x4))[_0xd32f[12]](handleError(_0xa704x4))};exports[_0xd32f[18]]=function(_0xa704xe,_0xa704x4){SugarcrmField[_0xd32f[18]](_0xa704xe[_0xd32f[19]])[_0xd32f[8]](responseWithResult(_0xa704x4,201))[_0xd32f[12]](handleError(_0xa704x4))};exports[_0xd32f[20]]=function(_0xa704xe,_0xa704x4){if(_0xa704xe[_0xd32f[19]][_0xd32f[15]]){delete _0xa704xe[_0xd32f[19]][_0xd32f[15]]};SugarcrmField[_0xd32f[17]](_0xa704xe[_0xd32f[16]][_0xd32f[15]])[_0xd32f[8]](handleEntityNotFound(_0xa704x4))[_0xd32f[8]](saveUpdates(_0xa704xe[_0xd32f[19]]))[_0xd32f[8]](responseWithResult(_0xa704x4))[_0xd32f[12]](handleError(_0xa704x4));};exports[_0xd32f[10]]=function(_0xa704xe,_0xa704x4){SugarcrmField[_0xd32f[17]](_0xa704xe[_0xd32f[16]][_0xd32f[15]])[_0xd32f[8]](handleEntityNotFound(_0xa704x4))[_0xd32f[8]](removeEntity(_0xa704x4))[_0xd32f[12]](handleError(_0xa704x4))};
\ No newline at end of file
+var _0x97db=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x53\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65"];_0x97db[0];var _=require(_0x97db[1]);var SugarcrmField=require(_0x97db[3])[_0x97db[2]];function handleError(_0x59b9x4,_0x59b9x5){_0x59b9x5=_0x59b9x5||500;return function(_0x59b9x6){_0x59b9x4[_0x97db[5]](_0x59b9x5)[_0x97db[4]](_0x59b9x6)};}function responseWithResult(_0x59b9x4,_0x59b9x5){_0x59b9x5=_0x59b9x5||200;return function(_0x59b9x8){if(_0x59b9x8){_0x59b9x4[_0x97db[5]](_0x59b9x5)[_0x97db[6]](_0x59b9x8)}};}function handleEntityNotFound(_0x59b9x4){return function(_0x59b9x8){if(!_0x59b9x8){_0x59b9x4[_0x97db[5]](404)[_0x97db[7]]();return null;};return _0x59b9x8;}}function saveUpdates(_0x59b9xb){return function(_0x59b9x8){return _0x59b9x8[_0x97db[9]](_0x59b9xb)[_0x97db[8]](function(_0x59b9xc){return _0x59b9xc})}}function removeEntity(_0x59b9x4){return function(_0x59b9x8){if(_0x59b9x8){return _0x59b9x8[_0x97db[10]]()[_0x97db[8]](function(){_0x59b9x4[_0x97db[5]](204)[_0x97db[7]]()})}}}exports[_0x97db[11]]=function(_0x59b9xe,_0x59b9x4){SugarcrmField[_0x97db[13]]()[_0x97db[8]](responseWithResult(_0x59b9x4))[_0x97db[12]](handleError(_0x59b9x4))};exports[_0x97db[14]]=function(_0x59b9xe,_0x59b9x4){SugarcrmField[_0x97db[17]](_0x59b9xe[_0x97db[16]][_0x97db[15]])[_0x97db[8]](handleEntityNotFound(_0x59b9x4))[_0x97db[8]](responseWithResult(_0x59b9x4))[_0x97db[12]](handleError(_0x59b9x4))};exports[_0x97db[18]]=function(_0x59b9xe,_0x59b9x4){SugarcrmField[_0x97db[18]](_0x59b9xe[_0x97db[19]])[_0x97db[8]](responseWithResult(_0x59b9x4,201))[_0x97db[12]](handleError(_0x59b9x4))};exports[_0x97db[20]]=function(_0x59b9xe,_0x59b9x4){if(_0x59b9xe[_0x97db[19]][_0x97db[15]]){delete _0x59b9xe[_0x97db[19]][_0x97db[15]]};SugarcrmField[_0x97db[17]](_0x59b9xe[_0x97db[16]][_0x97db[15]])[_0x97db[8]](handleEntityNotFound(_0x59b9x4))[_0x97db[8]](saveUpdates(_0x59b9xe[_0x97db[19]]))[_0x97db[8]](responseWithResult(_0x59b9x4))[_0x97db[12]](handleError(_0x59b9x4));};exports[_0x97db[10]]=function(_0x59b9xe,_0x59b9x4){SugarcrmField[_0x97db[17]](_0x59b9xe[_0x97db[16]][_0x97db[15]])[_0x97db[8]](handleEntityNotFound(_0x59b9x4))[_0x97db[8]](removeEntity(_0x59b9x4))[_0x97db[12]](handleError(_0x59b9x4))};
\ No newline at end of file
index 6e46fe103733f88719ac5e682388af17964bd4d9..301007f00a2df4d932dbf275ee2215f985103300 100644 (file)
@@ -1 +1 @@
-var _0xff80=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x53\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x66\x69\x65\x6C\x64\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x66\x69\x65\x6C\x64\x3A\x72\x65\x6D\x6F\x76\x65"];_0xff80[0];var SugarcrmField=require(_0xff80[2])[_0xff80[1]];exports[_0xff80[3]]=function(_0x5f00x2){SugarcrmField[_0xff80[4]](function(_0x5f00x3){onSave(_0x5f00x2,_0x5f00x3)});SugarcrmField[_0xff80[5]](function(_0x5f00x3){onRemove(_0x5f00x2,_0x5f00x3)});};function onSave(_0x5f00x2,_0x5f00x3,_0x5f00x5){_0x5f00x2[_0xff80[7]](_0xff80[6],_0x5f00x3)}function onRemove(_0x5f00x2,_0x5f00x3,_0x5f00x5){_0x5f00x2[_0xff80[7]](_0xff80[8],_0x5f00x3)}
\ No newline at end of file
+var _0x2819=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x53\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x66\x69\x65\x6C\x64\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x66\x69\x65\x6C\x64\x3A\x72\x65\x6D\x6F\x76\x65"];_0x2819[0];var SugarcrmField=require(_0x2819[2])[_0x2819[1]];exports[_0x2819[3]]=function(_0x8991x2){SugarcrmField[_0x2819[4]](function(_0x8991x3){onSave(_0x8991x2,_0x8991x3)});SugarcrmField[_0x2819[5]](function(_0x8991x3){onRemove(_0x8991x2,_0x8991x3)});};function onSave(_0x8991x2,_0x8991x3,_0x8991x5){_0x8991x2[_0x2819[7]](_0x2819[6],_0x8991x3)}function onRemove(_0x8991x2,_0x8991x3,_0x8991x5){_0x8991x2[_0x2819[7]](_0x2819[8],_0x8991x3)}
\ No newline at end of file
index d033df988cf4968dbf42a802e6e0d5a3519786cc..16004386cdd9480af44fe0d4e40e3ad954ad85b4 100644 (file)
@@ -1 +1 @@
-var _0x8cc5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x74\x61\x67\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x74\x61\x67\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x8cc5[0];var express=require(_0x8cc5[1]);var controller=require(_0x8cc5[2]);var auth=require(_0x8cc5[3]);var router=express.Router();router[_0x8cc5[7]](_0x8cc5[4],auth[_0x8cc5[5]](),controller[_0x8cc5[6]]);router[_0x8cc5[7]](_0x8cc5[8],auth[_0x8cc5[5]](),controller[_0x8cc5[9]]);router[_0x8cc5[11]](_0x8cc5[4],auth[_0x8cc5[5]](),controller[_0x8cc5[10]]);router[_0x8cc5[11]](_0x8cc5[12],auth[_0x8cc5[5]](),controller[_0x8cc5[13]]);router[_0x8cc5[15]](_0x8cc5[8],auth[_0x8cc5[5]](),controller[_0x8cc5[14]]);router[_0x8cc5[16]](_0x8cc5[8],auth[_0x8cc5[5]](),controller[_0x8cc5[14]]);router[_0x8cc5[18]](_0x8cc5[4],auth[_0x8cc5[5]](),controller[_0x8cc5[17]]);router[_0x8cc5[18]](_0x8cc5[8],auth[_0x8cc5[5]](),controller[_0x8cc5[19]]);module[_0x8cc5[20]]=router;
\ No newline at end of file
+var _0xeb1e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x74\x61\x67\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x74\x61\x67\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xeb1e[0];var express=require(_0xeb1e[1]);var controller=require(_0xeb1e[2]);var auth=require(_0xeb1e[3]);var router=express.Router();router[_0xeb1e[7]](_0xeb1e[4],auth[_0xeb1e[5]](),controller[_0xeb1e[6]]);router[_0xeb1e[7]](_0xeb1e[8],auth[_0xeb1e[5]](),controller[_0xeb1e[9]]);router[_0xeb1e[11]](_0xeb1e[4],auth[_0xeb1e[5]](),controller[_0xeb1e[10]]);router[_0xeb1e[11]](_0xeb1e[12],auth[_0xeb1e[5]](),controller[_0xeb1e[13]]);router[_0xeb1e[15]](_0xeb1e[8],auth[_0xeb1e[5]](),controller[_0xeb1e[14]]);router[_0xeb1e[16]](_0xeb1e[8],auth[_0xeb1e[5]](),controller[_0xeb1e[14]]);router[_0xeb1e[18]](_0xeb1e[4],auth[_0xeb1e[5]](),controller[_0xeb1e[17]]);router[_0xeb1e[18]](_0xeb1e[8],auth[_0xeb1e[5]](),controller[_0xeb1e[19]]);module[_0xeb1e[20]]=router;
\ No newline at end of file
index dcb701089d10edd492440cc03f21253f89466e73..7fe2933f8eec7c1491191e2c952df8da41784f48 100644 (file)
@@ -1 +1 @@
-var _0xc1f2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x54\x61\x67","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x6C\x6F\x67","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x74\x61\x67\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x62\x6F\x64\x79","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x6C\x65\x6E\x67\x74\x68","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x54\x41\x47","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0xc1f2[0];var _=require(_0xc1f2[1]);var Tag=require(_0xc1f2[3])[_0xc1f2[2]];var util=require(_0xc1f2[4]);exports[_0xc1f2[5]]=function(_0xb83fx4,_0xb83fx5){var _0xb83fx6=[_0xc1f2[6],_0xc1f2[7]];var _0xb83fx7=_0xb83fx4[_0xc1f2[9]][_0xc1f2[8]]?parseInt(_0xb83fx4[_0xc1f2[9]][_0xc1f2[8]],10):100;var _0xb83fx8=_0xb83fx4[_0xc1f2[9]][_0xc1f2[10]]?parseInt(_0xb83fx4[_0xc1f2[9]][_0xc1f2[10]],10):0;var _0xb83fx9={where:{},limit:_0xb83fx7,offset:_0xb83fx8*_0xb83fx7};_[_0xc1f2[24]](_0xb83fx4[_0xc1f2[9]],function(_0xb83fxa,_0xb83fxb){switch(_0xb83fxb){case _0xc1f2[8]:;case _0xc1f2[10]:break ;;case _0xc1f2[13]:_0xb83fx9[_0xc1f2[11]]=util[_0xc1f2[16]](_0xc1f2[12],_0xb83fx4[_0xc1f2[9]][_0xc1f2[13]],_0xb83fx4[_0xc1f2[9]][_0xc1f2[14]]||_0xc1f2[15])||null;break ;;case _0xc1f2[14]:break ;;case _0xc1f2[22]:_0xb83fx9[_0xc1f2[18]][_0xc1f2[17]]=[];_0xb83fx6[_0xc1f2[21]](function(_0xb83fxc){var _0xb83fxd={};_0xb83fxd[_0xb83fxc]={$like:_0xc1f2[19]+_0xb83fxa+_0xc1f2[19]};_0xb83fx9[_0xc1f2[18]][_0xc1f2[17]][_0xc1f2[20]](_0xb83fxd);});break ;;default:_0xb83fx9[_0xc1f2[18]][_0xb83fxb]={$like:{}};_0xb83fx9[_0xc1f2[18]][_0xb83fxb][_0xc1f2[23]]=_0xc1f2[19]+_0xb83fxa+_0xc1f2[19];;}});console[_0xc1f2[25]](_0xb83fx9);Tag[_0xc1f2[40]](_0xb83fx9)[_0xc1f2[39]](function(_0xb83fxf){var _0xb83fx10=Math[_0xc1f2[31]](_0xb83fxf[_0xc1f2[30]]/_0xb83fx7);var _0xb83fx11=_0xb83fx10>(_0xb83fx9[_0xc1f2[32]]+1)?util[_0xc1f2[16]](_0xc1f2[33],_0xb83fx4[_0xc1f2[34]],_0xb83fx4[_0xc1f2[36]][_0xc1f2[35]],_0xb83fx4[_0xc1f2[37]],_0xb83fx8+1):null;var _0xb83fx12=_0xb83fx8>0?util[_0xc1f2[16]](_0xc1f2[33],_0xb83fx4[_0xc1f2[34]],_0xb83fx4[_0xc1f2[36]][_0xc1f2[35]],_0xb83fx4[_0xc1f2[37]],_0xb83fx8-1):null;_0xb83fx5[_0xc1f2[28]](200)[_0xc1f2[27]]({count:_0xb83fxf[_0xc1f2[30]],rows:_0xb83fxf[_0xc1f2[38]],next_page:_0xb83fx11,previous_page:_0xb83fx12,total_pages:_0xb83fx10});})[_0xc1f2[29]](function(_0xb83fxe){_0xb83fx5[_0xc1f2[28]](500)[_0xc1f2[27]]({error:_0xc1f2[26]})});};exports[_0xc1f2[41]]=function(_0xb83fx4,_0xb83fx5){console[_0xc1f2[25]](_0xb83fx4[_0xc1f2[42]]);Tag[_0xc1f2[44]]({where:{name:_0xb83fx4[_0xc1f2[42]][_0xc1f2[6]]}})[_0xc1f2[39]](function(_0xb83fx13){if(!_0xb83fx13){return _0xb83fx5[_0xc1f2[43]](404)};return _0xb83fx5[_0xc1f2[27]](_0xb83fx13);})[_0xc1f2[29]](function(_0xb83fxe){return handleError(_0xb83fx5,_0xb83fxe)});};exports[_0xc1f2[45]]=function(_0xb83fx4,_0xb83fx5){Tag[_0xc1f2[48]](_0xb83fx4[_0xc1f2[47]][_0xc1f2[46]])[_0xc1f2[39]](function(_0xb83fx14){if(!_0xb83fx14){return _0xb83fx5[_0xc1f2[43]](404)};return _0xb83fx5[_0xc1f2[27]](_0xb83fx14);})[_0xc1f2[29]](function(_0xb83fxe){return handleError(_0xb83fx5,_0xb83fxe)})};exports[_0xc1f2[49]]=function(_0xb83fx4,_0xb83fx5){Tag[_0xc1f2[49]](_0xb83fx4[_0xc1f2[42]])[_0xc1f2[39]](function(_0xb83fx14){return _0xb83fx5[_0xc1f2[28]](201)[_0xc1f2[27]](_0xb83fx14)})[_0xc1f2[29]](function(_0xb83fxe){return handleError(_0xb83fx5,_0xb83fxe)})};exports[_0xc1f2[50]]=function(_0xb83fx4,_0xb83fx5){Tag[_0xc1f2[44]]({where:{name:_0xb83fx4[_0xc1f2[42]][_0xc1f2[6]],id:{$ne:_0xb83fx4[_0xc1f2[42]][_0xc1f2[46]]}}})[_0xc1f2[39]](function(_0xb83fx13){if(!_0xb83fx13){return _0xb83fx5[_0xc1f2[43]](404)};if(_0xb83fx13[_0xc1f2[51]]>0){return _0xb83fx5[_0xc1f2[28]](500)[_0xc1f2[27]]({message:_0xc1f2[52]})};if(_0xb83fx4[_0xc1f2[42]][_0xc1f2[46]]){delete _0xb83fx4[_0xc1f2[42]][_0xc1f2[46]]};Tag[_0xc1f2[55]]({where:{id:_0xb83fx4[_0xc1f2[47]][_0xc1f2[46]]}})[_0xc1f2[39]](function(_0xb83fx14){if(!_0xb83fx14){return _0xb83fx5[_0xc1f2[43]](404)};var _0xb83fx15=_[_0xc1f2[53]](_0xb83fx14,_0xb83fx4[_0xc1f2[42]]);_0xb83fx15[_0xc1f2[54]]()[_0xc1f2[39]](function(){return _0xb83fx5[_0xc1f2[28]](200)[_0xc1f2[27]](_0xb83fx14)})[_0xc1f2[29]](function(_0xb83fxe){return handleError(_0xb83fx5,_0xb83fxe)});})[_0xc1f2[29]](function(_0xb83fxe){return handleError(_0xb83fx5,_0xb83fxe)});})[_0xc1f2[29]](function(_0xb83fxe){return handleError(_0xb83fx5,_0xb83fxe)})};exports[_0xc1f2[56]]=function(_0xb83fx4,_0xb83fx5){Tag[_0xc1f2[48]](_0xb83fx4[_0xc1f2[47]][_0xc1f2[46]])[_0xc1f2[39]](function(_0xb83fx14){if(!_0xb83fx14){return _0xb83fx5[_0xc1f2[43]](404)};_0xb83fx14[_0xc1f2[56]]()[_0xc1f2[39]](function(){return _0xb83fx5[_0xc1f2[43]](204)})[_0xc1f2[29]](function(_0xb83fxe){return handleError(_0xb83fx5,_0xb83fxe)});})[_0xc1f2[29]](function(_0xb83fxe){return handleError(_0xb83fx5,_0xb83fxe)})};exports[_0xc1f2[57]]=function(_0xb83fx4,_0xb83fx5){Tag[_0xc1f2[56]]({where:{id:_0xb83fx4[_0xc1f2[9]][_0xc1f2[46]]},individualHooks:true})[_0xc1f2[39]](function(){return _0xb83fx5[_0xc1f2[43]](204)})[_0xc1f2[29]](function(_0xb83fxe){return handleError(_0xb83fx5,_0xb83fxe)})};function handleError(_0xb83fx5,_0xb83fxe){return _0xb83fx5[_0xc1f2[28]](500)[_0xc1f2[27]](_0xb83fxe)}
\ No newline at end of file
+var _0x84c2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x54\x61\x67","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x6C\x6F\x67","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x74\x61\x67\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x62\x6F\x64\x79","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x6C\x65\x6E\x67\x74\x68","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x54\x41\x47","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0x84c2[0];var _=require(_0x84c2[1]);var Tag=require(_0x84c2[3])[_0x84c2[2]];var util=require(_0x84c2[4]);exports[_0x84c2[5]]=function(_0x484bx4,_0x484bx5){var _0x484bx6=[_0x84c2[6],_0x84c2[7]];var _0x484bx7=_0x484bx4[_0x84c2[9]][_0x84c2[8]]?parseInt(_0x484bx4[_0x84c2[9]][_0x84c2[8]],10):100;var _0x484bx8=_0x484bx4[_0x84c2[9]][_0x84c2[10]]?parseInt(_0x484bx4[_0x84c2[9]][_0x84c2[10]],10):0;var _0x484bx9={where:{},limit:_0x484bx7,offset:_0x484bx8*_0x484bx7};_[_0x84c2[24]](_0x484bx4[_0x84c2[9]],function(_0x484bxa,_0x484bxb){switch(_0x484bxb){case _0x84c2[8]:;case _0x84c2[10]:break ;;case _0x84c2[13]:_0x484bx9[_0x84c2[11]]=util[_0x84c2[16]](_0x84c2[12],_0x484bx4[_0x84c2[9]][_0x84c2[13]],_0x484bx4[_0x84c2[9]][_0x84c2[14]]||_0x84c2[15])||null;break ;;case _0x84c2[14]:break ;;case _0x84c2[22]:_0x484bx9[_0x84c2[18]][_0x84c2[17]]=[];_0x484bx6[_0x84c2[21]](function(_0x484bxc){var _0x484bxd={};_0x484bxd[_0x484bxc]={$like:_0x84c2[19]+_0x484bxa+_0x84c2[19]};_0x484bx9[_0x84c2[18]][_0x84c2[17]][_0x84c2[20]](_0x484bxd);});break ;;default:_0x484bx9[_0x84c2[18]][_0x484bxb]={$like:{}};_0x484bx9[_0x84c2[18]][_0x484bxb][_0x84c2[23]]=_0x84c2[19]+_0x484bxa+_0x84c2[19];;}});console[_0x84c2[25]](_0x484bx9);Tag[_0x84c2[40]](_0x484bx9)[_0x84c2[39]](function(_0x484bxf){var _0x484bx10=Math[_0x84c2[31]](_0x484bxf[_0x84c2[30]]/_0x484bx7);var _0x484bx11=_0x484bx10>(_0x484bx9[_0x84c2[32]]+1)?util[_0x84c2[16]](_0x84c2[33],_0x484bx4[_0x84c2[34]],_0x484bx4[_0x84c2[36]][_0x84c2[35]],_0x484bx4[_0x84c2[37]],_0x484bx8+1):null;var _0x484bx12=_0x484bx8>0?util[_0x84c2[16]](_0x84c2[33],_0x484bx4[_0x84c2[34]],_0x484bx4[_0x84c2[36]][_0x84c2[35]],_0x484bx4[_0x84c2[37]],_0x484bx8-1):null;_0x484bx5[_0x84c2[28]](200)[_0x84c2[27]]({count:_0x484bxf[_0x84c2[30]],rows:_0x484bxf[_0x84c2[38]],next_page:_0x484bx11,previous_page:_0x484bx12,total_pages:_0x484bx10});})[_0x84c2[29]](function(_0x484bxe){_0x484bx5[_0x84c2[28]](500)[_0x84c2[27]]({error:_0x84c2[26]})});};exports[_0x84c2[41]]=function(_0x484bx4,_0x484bx5){console[_0x84c2[25]](_0x484bx4[_0x84c2[42]]);Tag[_0x84c2[44]]({where:{name:_0x484bx4[_0x84c2[42]][_0x84c2[6]]}})[_0x84c2[39]](function(_0x484bx13){if(!_0x484bx13){return _0x484bx5[_0x84c2[43]](404)};return _0x484bx5[_0x84c2[27]](_0x484bx13);})[_0x84c2[29]](function(_0x484bxe){return handleError(_0x484bx5,_0x484bxe)});};exports[_0x84c2[45]]=function(_0x484bx4,_0x484bx5){Tag[_0x84c2[48]](_0x484bx4[_0x84c2[47]][_0x84c2[46]])[_0x84c2[39]](function(_0x484bx14){if(!_0x484bx14){return _0x484bx5[_0x84c2[43]](404)};return _0x484bx5[_0x84c2[27]](_0x484bx14);})[_0x84c2[29]](function(_0x484bxe){return handleError(_0x484bx5,_0x484bxe)})};exports[_0x84c2[49]]=function(_0x484bx4,_0x484bx5){Tag[_0x84c2[49]](_0x484bx4[_0x84c2[42]])[_0x84c2[39]](function(_0x484bx14){return _0x484bx5[_0x84c2[28]](201)[_0x84c2[27]](_0x484bx14)})[_0x84c2[29]](function(_0x484bxe){return handleError(_0x484bx5,_0x484bxe)})};exports[_0x84c2[50]]=function(_0x484bx4,_0x484bx5){Tag[_0x84c2[44]]({where:{name:_0x484bx4[_0x84c2[42]][_0x84c2[6]],id:{$ne:_0x484bx4[_0x84c2[42]][_0x84c2[46]]}}})[_0x84c2[39]](function(_0x484bx13){if(!_0x484bx13){return _0x484bx5[_0x84c2[43]](404)};if(_0x484bx13[_0x84c2[51]]>0){return _0x484bx5[_0x84c2[28]](500)[_0x84c2[27]]({message:_0x84c2[52]})};if(_0x484bx4[_0x84c2[42]][_0x84c2[46]]){delete _0x484bx4[_0x84c2[42]][_0x84c2[46]]};Tag[_0x84c2[55]]({where:{id:_0x484bx4[_0x84c2[47]][_0x84c2[46]]}})[_0x84c2[39]](function(_0x484bx14){if(!_0x484bx14){return _0x484bx5[_0x84c2[43]](404)};var _0x484bx15=_[_0x84c2[53]](_0x484bx14,_0x484bx4[_0x84c2[42]]);_0x484bx15[_0x84c2[54]]()[_0x84c2[39]](function(){return _0x484bx5[_0x84c2[28]](200)[_0x84c2[27]](_0x484bx14)})[_0x84c2[29]](function(_0x484bxe){return handleError(_0x484bx5,_0x484bxe)});})[_0x84c2[29]](function(_0x484bxe){return handleError(_0x484bx5,_0x484bxe)});})[_0x84c2[29]](function(_0x484bxe){return handleError(_0x484bx5,_0x484bxe)})};exports[_0x84c2[56]]=function(_0x484bx4,_0x484bx5){Tag[_0x84c2[48]](_0x484bx4[_0x84c2[47]][_0x84c2[46]])[_0x84c2[39]](function(_0x484bx14){if(!_0x484bx14){return _0x484bx5[_0x84c2[43]](404)};_0x484bx14[_0x84c2[56]]()[_0x84c2[39]](function(){return _0x484bx5[_0x84c2[43]](204)})[_0x84c2[29]](function(_0x484bxe){return handleError(_0x484bx5,_0x484bxe)});})[_0x84c2[29]](function(_0x484bxe){return handleError(_0x484bx5,_0x484bxe)})};exports[_0x84c2[57]]=function(_0x484bx4,_0x484bx5){Tag[_0x84c2[56]]({where:{id:_0x484bx4[_0x84c2[9]][_0x84c2[46]]},individualHooks:true})[_0x84c2[39]](function(){return _0x484bx5[_0x84c2[43]](204)})[_0x84c2[29]](function(_0x484bxe){return handleError(_0x484bx5,_0x484bxe)})};function handleError(_0x484bx5,_0x484bxe){return _0x484bx5[_0x84c2[28]](500)[_0x84c2[27]](_0x484bxe)}
\ No newline at end of file
index c734b7711820f54ae3692facabb72e23aec3fea3..0228dade17c2668cf560ebfab83859b7651eb448 100644 (file)
@@ -1 +1 @@
-var _0xcb88=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x54\x61\x67","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x74\x61\x67\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x74\x61\x67\x3A\x72\x65\x6D\x6F\x76\x65"];_0xcb88[0];var Tag=require(_0xcb88[2])[_0xcb88[1]];exports[_0xcb88[3]]=function(_0x5d6ex2){Tag[_0xcb88[4]](function(_0x5d6ex3){onSave(_0x5d6ex2,_0x5d6ex3)});Tag[_0xcb88[5]](function(_0x5d6ex3){onRemove(_0x5d6ex2,_0x5d6ex3)});};function onSave(_0x5d6ex2,_0x5d6ex3,_0x5d6ex5){_0x5d6ex2[_0xcb88[7]](_0xcb88[6],_0x5d6ex3)}function onRemove(_0x5d6ex2,_0x5d6ex3,_0x5d6ex5){_0x5d6ex2[_0xcb88[7]](_0xcb88[8],_0x5d6ex3)}
\ No newline at end of file
+var _0xd7e0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x54\x61\x67","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x74\x61\x67\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x74\x61\x67\x3A\x72\x65\x6D\x6F\x76\x65"];_0xd7e0[0];var Tag=require(_0xd7e0[2])[_0xd7e0[1]];exports[_0xd7e0[3]]=function(_0x79e1x2){Tag[_0xd7e0[4]](function(_0x79e1x3){onSave(_0x79e1x2,_0x79e1x3)});Tag[_0xd7e0[5]](function(_0x79e1x3){onRemove(_0x79e1x2,_0x79e1x3)});};function onSave(_0x79e1x2,_0x79e1x3,_0x79e1x5){_0x79e1x2[_0xd7e0[7]](_0xd7e0[6],_0x79e1x3)}function onRemove(_0x79e1x2,_0x79e1x3,_0x79e1x5){_0x79e1x2[_0xd7e0[7]](_0xd7e0[8],_0x79e1x3)}
\ No newline at end of file
index 46f43d9a6f058eda83643e5891227c18dbe75874..06765fe2d65607ce30c0dcb945329c13e594bbdb 100644 (file)
@@ -1 +1 @@
-var _0xe73f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x74\x61\x67\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x74\x61\x67\x73","\x67\x65\x74"];_0xe73f[0];var should=require(_0xe73f[1]);var app=require(_0xe73f[2]);var request=require(_0xe73f[3]);describe(_0xe73f[4],function(){it(_0xe73f[5],function(_0xbf30x4){request(app)[_0xe73f[13]](_0xe73f[12])[_0xe73f[11]](200)[_0xe73f[11]](_0xe73f[10],/json/)[_0xe73f[9]](function(_0xbf30x5,_0xbf30x6){if(_0xbf30x5){return _0xbf30x4(_0xbf30x5)};_0xbf30x6[_0xe73f[8]][_0xe73f[1]][_0xe73f[7]][_0xe73f[6]](Array);_0xbf30x4();})})});
\ No newline at end of file
+var _0x5a19=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x74\x61\x67\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x74\x61\x67\x73","\x67\x65\x74"];_0x5a19[0];var should=require(_0x5a19[1]);var app=require(_0x5a19[2]);var request=require(_0x5a19[3]);describe(_0x5a19[4],function(){it(_0x5a19[5],function(_0xf444x4){request(app)[_0x5a19[13]](_0x5a19[12])[_0x5a19[11]](200)[_0x5a19[11]](_0x5a19[10],/json/)[_0x5a19[9]](function(_0xf444x5,_0xf444x6){if(_0xf444x5){return _0xf444x4(_0xf444x5)};_0xf444x6[_0x5a19[8]][_0x5a19[1]][_0x5a19[7]][_0x5a19[6]](Array);_0xf444x4();})})});
\ No newline at end of file
index 45839e90eb4ef592906a3d429cf59cf0f961348a..4d3f6ea2f11b18e5b72e81eb4f74f5d5229df1b7 100644 (file)
@@ -1 +1 @@
-var _0x1683=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x74\x65\x61\x6D\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x3A\x69\x64\x2F\x61\x67\x65\x6E\x74\x73","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x1683[0];var express=require(_0x1683[1]);var controller=require(_0x1683[2]);var auth=require(_0x1683[3]);var router=express.Router();router[_0x1683[7]](_0x1683[4],auth[_0x1683[5]](),controller[_0x1683[6]]);router[_0x1683[7]](_0x1683[8],auth[_0x1683[5]](),controller[_0x1683[9]]);router[_0x1683[11]](_0x1683[4],auth[_0x1683[5]](),controller[_0x1683[10]]);router[_0x1683[11]](_0x1683[12],auth[_0x1683[5]](),controller[_0x1683[13]]);router[_0x1683[15]](_0x1683[8],auth[_0x1683[5]](),controller[_0x1683[14]]);router[_0x1683[15]](_0x1683[12],auth[_0x1683[5]](),controller[_0x1683[16]]);router[_0x1683[17]](_0x1683[8],auth[_0x1683[5]](),controller[_0x1683[14]]);router[_0x1683[19]](_0x1683[4],auth[_0x1683[5]](),controller[_0x1683[18]]);router[_0x1683[19]](_0x1683[8],auth[_0x1683[5]](),controller[_0x1683[20]]);module[_0x1683[21]]=router;
\ No newline at end of file
+var _0xca9f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x74\x65\x61\x6D\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x3A\x69\x64\x2F\x61\x67\x65\x6E\x74\x73","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xca9f[0];var express=require(_0xca9f[1]);var controller=require(_0xca9f[2]);var auth=require(_0xca9f[3]);var router=express.Router();router[_0xca9f[7]](_0xca9f[4],auth[_0xca9f[5]](),controller[_0xca9f[6]]);router[_0xca9f[7]](_0xca9f[8],auth[_0xca9f[5]](),controller[_0xca9f[9]]);router[_0xca9f[11]](_0xca9f[4],auth[_0xca9f[5]](),controller[_0xca9f[10]]);router[_0xca9f[11]](_0xca9f[12],auth[_0xca9f[5]](),controller[_0xca9f[13]]);router[_0xca9f[15]](_0xca9f[8],auth[_0xca9f[5]](),controller[_0xca9f[14]]);router[_0xca9f[15]](_0xca9f[12],auth[_0xca9f[5]](),controller[_0xca9f[16]]);router[_0xca9f[17]](_0xca9f[8],auth[_0xca9f[5]](),controller[_0xca9f[14]]);router[_0xca9f[19]](_0xca9f[4],auth[_0xca9f[5]](),controller[_0xca9f[18]]);router[_0xca9f[19]](_0xca9f[8],auth[_0xca9f[5]](),controller[_0xca9f[20]]);module[_0xca9f[21]]=router;
\ No newline at end of file
index 75d4db16b5efc46760add067eb81d10e2fec1226..e0e622a2440b5a805859d289cebd235b0dbad8d8 100644 (file)
@@ -1 +1 @@
-var _0x710a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x54\x65\x61\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x61\x67\x65\x6E\x74\x73","\x61\x64\x64\x55\x73\x65\x72\x73","\x6E\x6F\x20\x6D\x61\x69\x6C\x20\x71\x75\x65\x75\x65\x20\x66\x6F\x75\x6E\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x72\x65\x6D\x6F\x76\x65\x55\x73\x65\x72\x73"];_0x710a[0];var _=require(_0x710a[1]);var util=require(_0x710a[2]);var Team=require(_0x710a[4])[_0x710a[3]];var User=require(_0x710a[4])[_0x710a[5]];exports[_0x710a[6]]=function(_0x74dax5,_0x74dax6){var _0x74dax7=[_0x710a[7],_0x710a[8]];var _0x74dax8=_0x74dax5[_0x710a[10]][_0x710a[9]]?parseInt(_0x74dax5[_0x710a[10]][_0x710a[9]],10):100;var _0x74dax9=_0x74dax5[_0x710a[10]][_0x710a[11]]?parseInt(_0x74dax5[_0x710a[10]][_0x710a[11]],10):0;var _0x74daxa={where:{},include:[{all:true}],limit:_0x74dax8,offset:_0x74dax9*_0x74dax8};_[_0x710a[25]](_0x74dax5[_0x710a[10]],function(_0x74daxb,_0x74daxc){switch(_0x74daxc){case _0x710a[9]:;case _0x710a[11]:break ;;case _0x710a[14]:_0x74daxa[_0x710a[12]]=util[_0x710a[17]](_0x710a[13],_0x74dax5[_0x710a[10]][_0x710a[14]],_0x74dax5[_0x710a[10]][_0x710a[15]]||_0x710a[16])||null;break ;;case _0x710a[15]:break ;;case _0x710a[23]:_0x74daxa[_0x710a[19]][_0x710a[18]]=[];_0x74dax7[_0x710a[22]](function(_0x74daxd){var _0x74daxe={};_0x74daxe[_0x74daxd]={$like:_0x710a[20]+_0x74daxb+_0x710a[20]};_0x74daxa[_0x710a[19]][_0x710a[18]][_0x710a[21]](_0x74daxe);});break ;;default:_0x74daxa[_0x710a[19]][_0x74daxc]={$like:{}};_0x74daxa[_0x710a[19]][_0x74daxc][_0x710a[24]]=_0x710a[20]+_0x74daxb+_0x710a[20];;}});Team[_0x710a[40]](_0x74daxa)[_0x710a[39]](function(_0x74dax10){var _0x74dax11=Math[_0x710a[31]](_0x74dax10[_0x710a[30]]/_0x74dax8);var _0x74dax12=_0x74dax11>(_0x74daxa[_0x710a[32]]+1)?util[_0x710a[17]](_0x710a[33],_0x74dax5[_0x710a[34]],_0x74dax5[_0x710a[36]][_0x710a[35]],_0x74dax5[_0x710a[37]],_0x74dax9+1):null;var _0x74dax13=_0x74dax9>0?util[_0x710a[17]](_0x710a[33],_0x74dax5[_0x710a[34]],_0x74dax5[_0x710a[36]][_0x710a[35]],_0x74dax5[_0x710a[37]],_0x74dax9-1):null;_0x74dax6[_0x710a[28]](200)[_0x710a[27]]({count:_0x74dax10[_0x710a[30]],rows:_0x74dax10[_0x710a[38]],next_page:_0x74dax12,previous_page:_0x74dax13,total_pages:_0x74dax11});})[_0x710a[29]](function(_0x74daxf){_0x74dax6[_0x710a[28]](500)[_0x710a[27]]({error:_0x710a[26]})});};exports[_0x710a[41]]=function(_0x74dax5,_0x74dax6){Team[_0x710a[45]]({where:{id:_0x74dax5[_0x710a[44]][_0x710a[43]]},include:[User]})[_0x710a[39]](function(_0x74dax14){if(!_0x74dax14){return _0x74dax6[_0x710a[42]](404)};return _0x74dax6[_0x710a[27]](_0x74dax14);})[_0x710a[29]](function(_0x74daxf){return handleError(_0x74dax6,_0x74daxf)})};exports[_0x710a[46]]=function(_0x74dax5,_0x74dax6){Team[_0x710a[46]](_0x74dax5[_0x710a[47]])[_0x710a[39]](function(_0x74dax14){return _0x74dax6[_0x710a[28]](201)[_0x710a[27]](_0x74dax14)})[_0x710a[29]](function(_0x74daxf){return handleError(_0x74dax6,_0x74daxf)})};exports[_0x710a[48]]=function(_0x74dax5,_0x74dax6){if(_0x74dax5[_0x710a[47]][_0x710a[43]]){delete _0x74dax5[_0x710a[47]][_0x710a[43]]};Team[_0x710a[45]]({where:{id:_0x74dax5[_0x710a[44]][_0x710a[43]]}})[_0x710a[39]](function(_0x74dax14){if(!_0x74dax14){return _0x74dax6[_0x710a[42]](404)};var _0x74dax15=_[_0x710a[49]](_0x74dax14,_0x74dax5[_0x710a[47]]);_0x74dax15[_0x710a[50]]()[_0x710a[39]](function(){return _0x74dax6[_0x710a[28]](200)[_0x710a[27]](_0x74dax14)})[_0x710a[29]](function(_0x74daxf){return handleError(_0x74dax6,_0x74daxf)});})[_0x710a[29]](function(_0x74daxf){return handleError(_0x74dax6,_0x74daxf)});};exports[_0x710a[51]]=function(_0x74dax5,_0x74dax6){Team[_0x710a[45]]({where:{id:_0x74dax5[_0x710a[44]][_0x710a[43]]}})[_0x710a[39]](function(_0x74dax14){if(!_0x74dax14){return _0x74dax6[_0x710a[42]](404)};_0x74dax14[_0x710a[51]]()[_0x710a[39]](function(){return _0x74dax6[_0x710a[42]](204)})[_0x710a[29]](function(_0x74daxf){return handleError(_0x74dax6,_0x74daxf)});})[_0x710a[29]](function(_0x74daxf){return handleError(_0x74dax6,_0x74daxf)})};exports[_0x710a[52]]=function(_0x74dax5,_0x74dax6){Team[_0x710a[51]]({where:{id:_0x74dax5[_0x710a[10]][_0x710a[43]]},individualHooks:true})[_0x710a[39]](function(){return _0x74dax6[_0x710a[42]](204)})[_0x710a[29]](function(_0x74daxf){return handleError(_0x74dax6,_0x74daxf)})};exports[_0x710a[53]]=function(_0x74dax5,_0x74dax6,_0x74dax16){Team[_0x710a[57]](_0x74dax5[_0x710a[44]][_0x710a[43]])[_0x710a[39]](function(_0x74dax14){if(_0x74dax14){_0x74dax14[_0x710a[55]](_0x74dax5[_0x710a[47]][_0x710a[54]])[_0x710a[39]](function(){return _0x74dax6[_0x710a[42]](200)})[_0x710a[29]](function(_0x74daxf){return _0x74dax16(_0x74daxf)})}else {return _0x74dax16( new Error(_0x710a[56]))}})[_0x710a[29]](function(_0x74daxf){return _0x74dax16(_0x74daxf)})};exports[_0x710a[58]]=function(_0x74dax5,_0x74dax6,_0x74dax16){Team[_0x710a[57]](_0x74dax5[_0x710a[44]][_0x710a[43]])[_0x710a[39]](function(_0x74dax14){if(_0x74dax14){_0x74dax14[_0x710a[59]](_0x74dax5[_0x710a[47]][_0x710a[54]])[_0x710a[39]](function(){return _0x74dax6[_0x710a[42]](200)})[_0x710a[29]](function(_0x74daxf){return _0x74dax16(_0x74daxf)})}else {return _0x74dax16( new Error(_0x710a[56]))}})[_0x710a[29]](function(_0x74daxf){return _0x74dax16(_0x74daxf)})};function handleError(_0x74dax6,_0x74daxf){return _0x74dax6[_0x710a[28]](500)[_0x710a[27]](_0x74daxf)}
\ No newline at end of file
+var _0xc4d5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x54\x65\x61\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x74\x65\x61\x6D","\x6C\x6F\x67","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x61\x67\x65\x6E\x74\x73","\x61\x64\x64\x55\x73\x65\x72\x73","\x6E\x6F\x20\x6D\x61\x69\x6C\x20\x71\x75\x65\x75\x65\x20\x66\x6F\x75\x6E\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x72\x65\x6D\x6F\x76\x65\x55\x73\x65\x72\x73"];_0xc4d5[0];var _=require(_0xc4d5[1]);var util=require(_0xc4d5[2]);var Team=require(_0xc4d5[4])[_0xc4d5[3]];var User=require(_0xc4d5[4])[_0xc4d5[5]];exports[_0xc4d5[6]]=function(_0x6417x5,_0x6417x6){var _0x6417x7=[_0xc4d5[7],_0xc4d5[8]];var _0x6417x8=_0x6417x5[_0xc4d5[10]][_0xc4d5[9]]?parseInt(_0x6417x5[_0xc4d5[10]][_0xc4d5[9]],10):100;var _0x6417x9=_0x6417x5[_0xc4d5[10]][_0xc4d5[11]]?parseInt(_0x6417x5[_0xc4d5[10]][_0xc4d5[11]],10):0;var _0x6417xa={where:{},include:[{model:User,required:false}],limit:_0x6417x8,offset:_0x6417x9*_0x6417x8};_[_0xc4d5[25]](_0x6417x5[_0xc4d5[10]],function(_0x6417xb,_0x6417xc){switch(_0x6417xc){case _0xc4d5[9]:;case _0xc4d5[11]:break ;;case _0xc4d5[14]:_0x6417xa[_0xc4d5[12]]=util[_0xc4d5[17]](_0xc4d5[13],_0x6417x5[_0xc4d5[10]][_0xc4d5[14]],_0x6417x5[_0xc4d5[10]][_0xc4d5[15]]||_0xc4d5[16])||null;break ;;case _0xc4d5[15]:break ;;case _0xc4d5[23]:_0x6417xa[_0xc4d5[19]][_0xc4d5[18]]=[];_0x6417x7[_0xc4d5[22]](function(_0x6417xd){var _0x6417xe={};_0x6417xe[_0x6417xd]={$like:_0xc4d5[20]+_0x6417xb+_0xc4d5[20]};_0x6417xa[_0xc4d5[19]][_0xc4d5[18]][_0xc4d5[21]](_0x6417xe);});break ;;default:_0x6417xa[_0xc4d5[19]][_0x6417xc]={$like:{}};_0x6417xa[_0xc4d5[19]][_0x6417xc][_0xc4d5[24]]=_0xc4d5[20]+_0x6417xb+_0xc4d5[20];;}});console[_0xc4d5[27]](_0xc4d5[26],_0x6417xa);Team[_0xc4d5[42]](_0x6417xa)[_0xc4d5[41]](function(_0x6417x10){var _0x6417x11=Math[_0xc4d5[33]](_0x6417x10[_0xc4d5[32]]/_0x6417x8);var _0x6417x12=_0x6417x11>(_0x6417xa[_0xc4d5[34]]+1)?util[_0xc4d5[17]](_0xc4d5[35],_0x6417x5[_0xc4d5[36]],_0x6417x5[_0xc4d5[38]][_0xc4d5[37]],_0x6417x5[_0xc4d5[39]],_0x6417x9+1):null;var _0x6417x13=_0x6417x9>0?util[_0xc4d5[17]](_0xc4d5[35],_0x6417x5[_0xc4d5[36]],_0x6417x5[_0xc4d5[38]][_0xc4d5[37]],_0x6417x5[_0xc4d5[39]],_0x6417x9-1):null;_0x6417x6[_0xc4d5[30]](200)[_0xc4d5[29]]({count:_0x6417x10[_0xc4d5[32]],rows:_0x6417x10[_0xc4d5[40]],next_page:_0x6417x12,previous_page:_0x6417x13,total_pages:_0x6417x11});})[_0xc4d5[31]](function(_0x6417xf){_0x6417x6[_0xc4d5[30]](500)[_0xc4d5[29]]({error:_0xc4d5[28]})});};exports[_0xc4d5[43]]=function(_0x6417x5,_0x6417x6){Team[_0xc4d5[47]]({where:{id:_0x6417x5[_0xc4d5[46]][_0xc4d5[45]]},include:[User]})[_0xc4d5[41]](function(_0x6417x14){if(!_0x6417x14){return _0x6417x6[_0xc4d5[44]](404)};return _0x6417x6[_0xc4d5[29]](_0x6417x14);})[_0xc4d5[31]](function(_0x6417xf){return handleError(_0x6417x6,_0x6417xf)})};exports[_0xc4d5[48]]=function(_0x6417x5,_0x6417x6){Team[_0xc4d5[48]](_0x6417x5[_0xc4d5[49]])[_0xc4d5[41]](function(_0x6417x14){return _0x6417x6[_0xc4d5[30]](201)[_0xc4d5[29]](_0x6417x14)})[_0xc4d5[31]](function(_0x6417xf){return handleError(_0x6417x6,_0x6417xf)})};exports[_0xc4d5[50]]=function(_0x6417x5,_0x6417x6){if(_0x6417x5[_0xc4d5[49]][_0xc4d5[45]]){delete _0x6417x5[_0xc4d5[49]][_0xc4d5[45]]};Team[_0xc4d5[47]]({where:{id:_0x6417x5[_0xc4d5[46]][_0xc4d5[45]]}})[_0xc4d5[41]](function(_0x6417x14){if(!_0x6417x14){return _0x6417x6[_0xc4d5[44]](404)};var _0x6417x15=_[_0xc4d5[51]](_0x6417x14,_0x6417x5[_0xc4d5[49]]);_0x6417x15[_0xc4d5[52]]()[_0xc4d5[41]](function(){return _0x6417x6[_0xc4d5[30]](200)[_0xc4d5[29]](_0x6417x14)})[_0xc4d5[31]](function(_0x6417xf){return handleError(_0x6417x6,_0x6417xf)});})[_0xc4d5[31]](function(_0x6417xf){return handleError(_0x6417x6,_0x6417xf)});};exports[_0xc4d5[53]]=function(_0x6417x5,_0x6417x6){Team[_0xc4d5[47]]({where:{id:_0x6417x5[_0xc4d5[46]][_0xc4d5[45]]}})[_0xc4d5[41]](function(_0x6417x14){if(!_0x6417x14){return _0x6417x6[_0xc4d5[44]](404)};_0x6417x14[_0xc4d5[53]]()[_0xc4d5[41]](function(){return _0x6417x6[_0xc4d5[44]](204)})[_0xc4d5[31]](function(_0x6417xf){return handleError(_0x6417x6,_0x6417xf)});})[_0xc4d5[31]](function(_0x6417xf){return handleError(_0x6417x6,_0x6417xf)})};exports[_0xc4d5[54]]=function(_0x6417x5,_0x6417x6){Team[_0xc4d5[53]]({where:{id:_0x6417x5[_0xc4d5[10]][_0xc4d5[45]]},individualHooks:true})[_0xc4d5[41]](function(){return _0x6417x6[_0xc4d5[44]](204)})[_0xc4d5[31]](function(_0x6417xf){return handleError(_0x6417x6,_0x6417xf)})};exports[_0xc4d5[55]]=function(_0x6417x5,_0x6417x6,_0x6417x16){Team[_0xc4d5[59]](_0x6417x5[_0xc4d5[46]][_0xc4d5[45]])[_0xc4d5[41]](function(_0x6417x14){if(_0x6417x14){_0x6417x14[_0xc4d5[57]](_0x6417x5[_0xc4d5[49]][_0xc4d5[56]])[_0xc4d5[41]](function(){return _0x6417x6[_0xc4d5[44]](200)})[_0xc4d5[31]](function(_0x6417xf){return _0x6417x16(_0x6417xf)})}else {return _0x6417x16( new Error(_0xc4d5[58]))}})[_0xc4d5[31]](function(_0x6417xf){return _0x6417x16(_0x6417xf)})};exports[_0xc4d5[60]]=function(_0x6417x5,_0x6417x6,_0x6417x16){Team[_0xc4d5[59]](_0x6417x5[_0xc4d5[46]][_0xc4d5[45]])[_0xc4d5[41]](function(_0x6417x14){if(_0x6417x14){_0x6417x14[_0xc4d5[61]](_0x6417x5[_0xc4d5[49]][_0xc4d5[56]])[_0xc4d5[41]](function(){return _0x6417x6[_0xc4d5[44]](200)})[_0xc4d5[31]](function(_0x6417xf){return _0x6417x16(_0x6417xf)})}else {return _0x6417x16( new Error(_0xc4d5[58]))}})[_0xc4d5[31]](function(_0x6417xf){return _0x6417x16(_0x6417xf)})};function handleError(_0x6417x6,_0x6417xf){return _0x6417x6[_0xc4d5[30]](500)[_0xc4d5[29]](_0x6417xf)}
\ No newline at end of file
index f96457ea330bb8f3bb6cb4ed6167a7b0c4df405d..c4f65bf213ed95bfb6945a955ed81ae43790b6ac 100644 (file)
@@ -1 +1 @@
-var _0x4be9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x54\x65\x61\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x74\x65\x61\x6D\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x74\x65\x61\x6D\x3A\x72\x65\x6D\x6F\x76\x65"];_0x4be9[0];var team=require(_0x4be9[2])[_0x4be9[1]];exports[_0x4be9[3]]=function(_0x38f3x2){team[_0x4be9[4]](function(_0x38f3x3){onSave(_0x38f3x2,_0x38f3x3)});team[_0x4be9[5]](function(_0x38f3x3){onSave(_0x38f3x2,_0x38f3x3)});team[_0x4be9[6]](function(_0x38f3x3){onRemove(_0x38f3x2,_0x38f3x3)});};function onSave(_0x38f3x2,_0x38f3x3,_0x38f3x5){_0x38f3x2[_0x4be9[8]](_0x4be9[7],_0x38f3x3)}function onRemove(_0x38f3x2,_0x38f3x3,_0x38f3x5){_0x38f3x2[_0x4be9[8]](_0x4be9[9],_0x38f3x3)}
\ No newline at end of file
+var _0x978d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x54\x65\x61\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x74\x65\x61\x6D\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x74\x65\x61\x6D\x3A\x72\x65\x6D\x6F\x76\x65"];_0x978d[0];var team=require(_0x978d[2])[_0x978d[1]];exports[_0x978d[3]]=function(_0xcfebx2){team[_0x978d[4]](function(_0xcfebx3){onSave(_0xcfebx2,_0xcfebx3)});team[_0x978d[5]](function(_0xcfebx3){onSave(_0xcfebx2,_0xcfebx3)});team[_0x978d[6]](function(_0xcfebx3){onRemove(_0xcfebx2,_0xcfebx3)});};function onSave(_0xcfebx2,_0xcfebx3,_0xcfebx5){_0xcfebx2[_0x978d[8]](_0x978d[7],_0xcfebx3)}function onRemove(_0xcfebx2,_0xcfebx3,_0xcfebx5){_0xcfebx2[_0x978d[8]](_0x978d[9],_0xcfebx3)}
\ No newline at end of file
index abf0ddac89fecee53a667802c04c80018347567a..f85ee02dc30d5379289fc3b7f4e00585c0aeb248 100644 (file)
@@ -1 +1 @@
-var _0x46b6=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x74\x65\x61\x6D\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x74\x65\x61\x6D\x73","\x67\x65\x74"];_0x46b6[0];var should=require(_0x46b6[1]);var app=require(_0x46b6[2]);var request=require(_0x46b6[3]);describe(_0x46b6[4],function(){it(_0x46b6[5],function(_0x48fcx4){request(app)[_0x46b6[13]](_0x46b6[12])[_0x46b6[11]](200)[_0x46b6[11]](_0x46b6[10],/json/)[_0x46b6[9]](function(_0x48fcx5,_0x48fcx6){if(_0x48fcx5){return _0x48fcx4(_0x48fcx5)};_0x48fcx6[_0x46b6[8]][_0x46b6[1]][_0x46b6[7]][_0x46b6[6]](Array);_0x48fcx4();})})});
\ No newline at end of file
+var _0xdbe3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x74\x65\x61\x6D\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x74\x65\x61\x6D\x73","\x67\x65\x74"];_0xdbe3[0];var should=require(_0xdbe3[1]);var app=require(_0xdbe3[2]);var request=require(_0xdbe3[3]);describe(_0xdbe3[4],function(){it(_0xdbe3[5],function(_0x2aa4x4){request(app)[_0xdbe3[13]](_0xdbe3[12])[_0xdbe3[11]](200)[_0xdbe3[11]](_0xdbe3[10],/json/)[_0xdbe3[9]](function(_0x2aa4x5,_0x2aa4x6){if(_0x2aa4x5){return _0x2aa4x4(_0x2aa4x5)};_0x2aa4x6[_0xdbe3[8]][_0xdbe3[1]][_0xdbe3[7]][_0xdbe3[6]](Array);_0x2aa4x4();})})});
\ No newline at end of file
index 3b234888d3a5af332e82b2184e94b1d911922942..132bc79c5cc9b277b9ae5bd56d0f07232e687098 100644 (file)
@@ -1 +1 @@
-var _0x5aef=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x74\x68\x69\x6E\x67\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x5aef[0];var express=require(_0x5aef[1]);var controller=require(_0x5aef[2]);var router=express.Router();router[_0x5aef[5]](_0x5aef[3],controller[_0x5aef[4]]);router[_0x5aef[5]](_0x5aef[6],controller[_0x5aef[7]]);router[_0x5aef[9]](_0x5aef[3],controller[_0x5aef[8]]);router[_0x5aef[11]](_0x5aef[6],controller[_0x5aef[10]]);router[_0x5aef[12]](_0x5aef[6],controller[_0x5aef[10]]);router[_0x5aef[14]](_0x5aef[6],controller[_0x5aef[13]]);module[_0x5aef[15]]=router;
\ No newline at end of file
+var _0x2b7a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x74\x68\x69\x6E\x67\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x2b7a[0];var express=require(_0x2b7a[1]);var controller=require(_0x2b7a[2]);var router=express.Router();router[_0x2b7a[5]](_0x2b7a[3],controller[_0x2b7a[4]]);router[_0x2b7a[5]](_0x2b7a[6],controller[_0x2b7a[7]]);router[_0x2b7a[9]](_0x2b7a[3],controller[_0x2b7a[8]]);router[_0x2b7a[11]](_0x2b7a[6],controller[_0x2b7a[10]]);router[_0x2b7a[12]](_0x2b7a[6],controller[_0x2b7a[10]]);router[_0x2b7a[14]](_0x2b7a[6],controller[_0x2b7a[13]]);module[_0x2b7a[15]]=router;
\ No newline at end of file
index 32675fa9f9245ef0996163b8fdec107c9e2b04f4..0b5ce8cd15eb86099996fcb32d0a79e33d07a726 100644 (file)
@@ -1 +1 @@
-var _0xc883=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x54\x68\x69\x6E\x67","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xc883[0];var _=require(_0xc883[1]);var Thing=require(_0xc883[3])[_0xc883[2]];exports[_0xc883[4]]=function(_0xec14x3,_0xec14x4,_0xec14x5){Thing[_0xc883[9]]()[_0xc883[8]](function(_0xec14x7){return _0xec14x4[_0xc883[7]](200)[_0xc883[6]](_0xec14x7)})[_0xc883[5]](function(_0xec14x6){return _0xec14x5(_0xec14x6)})};exports[_0xc883[10]]=function(_0xec14x3,_0xec14x4,_0xec14x5){Thing[_0xc883[14]](_0xec14x3[_0xc883[13]][_0xc883[12]])[_0xc883[8]](function(_0xec14x8){if(!_0xec14x8){return _0xec14x4[_0xc883[11]](404)};return _0xec14x4[_0xc883[6]](_0xec14x8);})[_0xc883[5]](function(_0xec14x6){return _0xec14x5(_0xec14x6)})};exports[_0xc883[15]]=function(_0xec14x3,_0xec14x4,_0xec14x5){Thing[_0xc883[15]](_0xec14x3[_0xc883[16]])[_0xc883[8]](function(_0xec14x8){return _0xec14x4[_0xc883[7]](201)[_0xc883[6]](_0xec14x8)})[_0xc883[5]](function(_0xec14x6){return _0xec14x5(_0xec14x6)})};exports[_0xc883[17]]=function(_0xec14x3,_0xec14x4,_0xec14x5){if(_0xec14x3[_0xc883[16]][_0xc883[12]]){delete _0xec14x3[_0xc883[16]][_0xc883[12]]};Thing[_0xc883[14]](_0xec14x3[_0xc883[13]][_0xc883[12]])[_0xc883[8]](function(_0xec14x8){if(!_0xec14x8){return _0xec14x4[_0xc883[11]](404)};var _0xec14x9=_[_0xc883[18]](_0xec14x8,_0xec14x3[_0xc883[16]]);_0xec14x9[_0xc883[19]]()[_0xc883[8]](function(){return _0xec14x4[_0xc883[7]](200)[_0xc883[6]](_0xec14x8)})[_0xc883[5]](function(_0xec14x6){return _0xec14x5(_0xec14x6)});})[_0xc883[5]](function(_0xec14x6){return _0xec14x5(_0xec14x6)});};exports[_0xc883[20]]=function(_0xec14x3,_0xec14x4,_0xec14x5){Thing[_0xc883[14]](_0xec14x3[_0xc883[13]][_0xc883[12]])[_0xc883[8]](function(_0xec14x8){if(!_0xec14x8){return _0xec14x4[_0xc883[11]](404)};_0xec14x8[_0xc883[20]]()[_0xc883[8]](function(){return _0xec14x4[_0xc883[11]](204)})[_0xc883[5]](function(_0xec14x6){return _0xec14x5(_0xec14x6)});})[_0xc883[5]](function(_0xec14x6){return _0xec14x5(_0xec14x6)})};
\ No newline at end of file
+var _0x1ce5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x54\x68\x69\x6E\x67","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x1ce5[0];var _=require(_0x1ce5[1]);var Thing=require(_0x1ce5[3])[_0x1ce5[2]];exports[_0x1ce5[4]]=function(_0xbfacx3,_0xbfacx4,_0xbfacx5){Thing[_0x1ce5[9]]()[_0x1ce5[8]](function(_0xbfacx7){return _0xbfacx4[_0x1ce5[7]](200)[_0x1ce5[6]](_0xbfacx7)})[_0x1ce5[5]](function(_0xbfacx6){return _0xbfacx5(_0xbfacx6)})};exports[_0x1ce5[10]]=function(_0xbfacx3,_0xbfacx4,_0xbfacx5){Thing[_0x1ce5[14]](_0xbfacx3[_0x1ce5[13]][_0x1ce5[12]])[_0x1ce5[8]](function(_0xbfacx8){if(!_0xbfacx8){return _0xbfacx4[_0x1ce5[11]](404)};return _0xbfacx4[_0x1ce5[6]](_0xbfacx8);})[_0x1ce5[5]](function(_0xbfacx6){return _0xbfacx5(_0xbfacx6)})};exports[_0x1ce5[15]]=function(_0xbfacx3,_0xbfacx4,_0xbfacx5){Thing[_0x1ce5[15]](_0xbfacx3[_0x1ce5[16]])[_0x1ce5[8]](function(_0xbfacx8){return _0xbfacx4[_0x1ce5[7]](201)[_0x1ce5[6]](_0xbfacx8)})[_0x1ce5[5]](function(_0xbfacx6){return _0xbfacx5(_0xbfacx6)})};exports[_0x1ce5[17]]=function(_0xbfacx3,_0xbfacx4,_0xbfacx5){if(_0xbfacx3[_0x1ce5[16]][_0x1ce5[12]]){delete _0xbfacx3[_0x1ce5[16]][_0x1ce5[12]]};Thing[_0x1ce5[14]](_0xbfacx3[_0x1ce5[13]][_0x1ce5[12]])[_0x1ce5[8]](function(_0xbfacx8){if(!_0xbfacx8){return _0xbfacx4[_0x1ce5[11]](404)};var _0xbfacx9=_[_0x1ce5[18]](_0xbfacx8,_0xbfacx3[_0x1ce5[16]]);_0xbfacx9[_0x1ce5[19]]()[_0x1ce5[8]](function(){return _0xbfacx4[_0x1ce5[7]](200)[_0x1ce5[6]](_0xbfacx8)})[_0x1ce5[5]](function(_0xbfacx6){return _0xbfacx5(_0xbfacx6)});})[_0x1ce5[5]](function(_0xbfacx6){return _0xbfacx5(_0xbfacx6)});};exports[_0x1ce5[20]]=function(_0xbfacx3,_0xbfacx4,_0xbfacx5){Thing[_0x1ce5[14]](_0xbfacx3[_0x1ce5[13]][_0x1ce5[12]])[_0x1ce5[8]](function(_0xbfacx8){if(!_0xbfacx8){return _0xbfacx4[_0x1ce5[11]](404)};_0xbfacx8[_0x1ce5[20]]()[_0x1ce5[8]](function(){return _0xbfacx4[_0x1ce5[11]](204)})[_0x1ce5[5]](function(_0xbfacx6){return _0xbfacx5(_0xbfacx6)});})[_0x1ce5[5]](function(_0xbfacx6){return _0xbfacx5(_0xbfacx6)})};
\ No newline at end of file
index 6db0fc5bacddc840807783d3d20c56d289a5b236..281e4a49a2903d21866a35db236a59e7d406aa78 100644 (file)
@@ -1 +1 @@
-var _0x9a8b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x54\x68\x69\x6E\x67","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x74\x68\x69\x6E\x67\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x74\x68\x69\x6E\x67\x3A\x72\x65\x6D\x6F\x76\x65"];_0x9a8b[0];var thing=require(_0x9a8b[2])[_0x9a8b[1]];exports[_0x9a8b[3]]=function(_0x4b4ax2){thing[_0x9a8b[4]](function(_0x4b4ax3){onSave(_0x4b4ax2,_0x4b4ax3)});thing[_0x9a8b[5]](function(_0x4b4ax3){onRemove(_0x4b4ax2,_0x4b4ax3)});};function onSave(_0x4b4ax2,_0x4b4ax3,_0x4b4ax5){_0x4b4ax2[_0x9a8b[7]](_0x9a8b[6],_0x4b4ax3)}function onRemove(_0x4b4ax2,_0x4b4ax3,_0x4b4ax5){_0x4b4ax2[_0x9a8b[7]](_0x9a8b[8],_0x4b4ax3)}
\ No newline at end of file
+var _0x922a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x54\x68\x69\x6E\x67","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x74\x68\x69\x6E\x67\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x74\x68\x69\x6E\x67\x3A\x72\x65\x6D\x6F\x76\x65"];_0x922a[0];var thing=require(_0x922a[2])[_0x922a[1]];exports[_0x922a[3]]=function(_0x585fx2){thing[_0x922a[4]](function(_0x585fx3){onSave(_0x585fx2,_0x585fx3)});thing[_0x922a[5]](function(_0x585fx3){onRemove(_0x585fx2,_0x585fx3)});};function onSave(_0x585fx2,_0x585fx3,_0x585fx5){_0x585fx2[_0x922a[7]](_0x922a[6],_0x585fx3)}function onRemove(_0x585fx2,_0x585fx3,_0x585fx5){_0x585fx2[_0x922a[7]](_0x922a[8],_0x585fx3)}
\ No newline at end of file
index f047a91c00f4691e365419f8eb0f3c18003cbad8..f3259e1e2ff49bd052b0e6b9c013a8e4d465bdb0 100644 (file)
@@ -1 +1 @@
-var _0xa262=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x74\x68\x69\x6E\x67\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x74\x68\x69\x6E\x67\x73","\x67\x65\x74"];_0xa262[0];var should=require(_0xa262[1]);var app=require(_0xa262[2]);var request=require(_0xa262[3]);describe(_0xa262[4],function(){it(_0xa262[5],function(_0x5e4ex4){request(app)[_0xa262[13]](_0xa262[12])[_0xa262[11]](200)[_0xa262[11]](_0xa262[10],/json/)[_0xa262[9]](function(_0x5e4ex5,_0x5e4ex6){if(_0x5e4ex5){return _0x5e4ex4(_0x5e4ex5)};_0x5e4ex6[_0xa262[8]][_0xa262[1]][_0xa262[7]][_0xa262[6]](Array);_0x5e4ex4();})})});
\ No newline at end of file
+var _0x6532=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x74\x68\x69\x6E\x67\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x74\x68\x69\x6E\x67\x73","\x67\x65\x74"];_0x6532[0];var should=require(_0x6532[1]);var app=require(_0x6532[2]);var request=require(_0x6532[3]);describe(_0x6532[4],function(){it(_0x6532[5],function(_0xdd64x4){request(app)[_0x6532[13]](_0x6532[12])[_0x6532[11]](200)[_0x6532[11]](_0x6532[10],/json/)[_0x6532[9]](function(_0xdd64x5,_0xdd64x6){if(_0xdd64x5){return _0xdd64x4(_0xdd64x5)};_0xdd64x6[_0x6532[8]][_0x6532[1]][_0x6532[7]][_0x6532[6]](Array);_0xdd64x4();})})});
\ No newline at end of file
index a7655280d1ca879ce24169a2f94117c4737ffd5d..90c67aabfced68f13c84af3036892ab5d7dd9138 100644 (file)
@@ -1 +1 @@
-var _0x3d2b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x74\x72\x69\x67\x67\x65\x72\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x3d2b[0];var express=require(_0x3d2b[1]);var controller=require(_0x3d2b[2]);var auth=require(_0x3d2b[3]);var router=express.Router();router[_0x3d2b[7]](_0x3d2b[4],auth[_0x3d2b[5]](),controller[_0x3d2b[6]]);router[_0x3d2b[7]](_0x3d2b[8],auth[_0x3d2b[5]](),controller[_0x3d2b[9]]);router[_0x3d2b[11]](_0x3d2b[4],auth[_0x3d2b[5]](),controller[_0x3d2b[10]]);router[_0x3d2b[13]](_0x3d2b[8],auth[_0x3d2b[5]](),controller[_0x3d2b[12]]);router[_0x3d2b[14]](_0x3d2b[8],auth[_0x3d2b[5]](),controller[_0x3d2b[12]]);router[_0x3d2b[16]](_0x3d2b[8],auth[_0x3d2b[5]](),controller[_0x3d2b[15]]);router[_0x3d2b[16]](_0x3d2b[4],auth[_0x3d2b[5]](),controller[_0x3d2b[17]]);module[_0x3d2b[18]]=router;
\ No newline at end of file
+var _0x7c0d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x74\x72\x69\x67\x67\x65\x72\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x7c0d[0];var express=require(_0x7c0d[1]);var controller=require(_0x7c0d[2]);var auth=require(_0x7c0d[3]);var router=express.Router();router[_0x7c0d[7]](_0x7c0d[4],auth[_0x7c0d[5]](),controller[_0x7c0d[6]]);router[_0x7c0d[7]](_0x7c0d[8],auth[_0x7c0d[5]](),controller[_0x7c0d[9]]);router[_0x7c0d[11]](_0x7c0d[4],auth[_0x7c0d[5]](),controller[_0x7c0d[10]]);router[_0x7c0d[13]](_0x7c0d[8],auth[_0x7c0d[5]](),controller[_0x7c0d[12]]);router[_0x7c0d[14]](_0x7c0d[8],auth[_0x7c0d[5]](),controller[_0x7c0d[12]]);router[_0x7c0d[16]](_0x7c0d[8],auth[_0x7c0d[5]](),controller[_0x7c0d[15]]);router[_0x7c0d[16]](_0x7c0d[4],auth[_0x7c0d[5]](),controller[_0x7c0d[17]]);module[_0x7c0d[18]]=router;
\ No newline at end of file
index 2c6bb9686aa870971277eda8228d9a62c5c480e0..d58e13fc7fb77f6b2f429de1540ce1f7912edb87 100644 (file)
@@ -1 +1 @@
-var _0x5830=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x54\x72\x69\x67\x67\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0x5830[0];var _=require(_0x5830[1]);var util=require(_0x5830[2]);var Trigger=require(_0x5830[4])[_0x5830[3]];exports[_0x5830[5]]=function(_0x7738x4,_0x7738x5,_0x7738x6){var _0x7738x7=[_0x5830[6],_0x5830[7],_0x5830[8]];var _0x7738x8=_0x7738x4[_0x5830[10]][_0x5830[9]]?parseInt(_0x7738x4[_0x5830[10]][_0x5830[9]],10):100;var _0x7738x9=_0x7738x4[_0x5830[10]][_0x5830[11]]?parseInt(_0x7738x4[_0x5830[10]][_0x5830[11]],10):0;var _0x7738xa={where:{},limit:_0x7738x8,offset:_0x7738x9*_0x7738x8};_[_0x5830[25]](_0x7738x4[_0x5830[10]],function(_0x7738xb,_0x7738xc){switch(_0x7738xc){case _0x5830[9]:;case _0x5830[11]:break ;;case _0x5830[14]:_0x7738xa[_0x5830[12]]=util[_0x5830[17]](_0x5830[13],_0x7738x4[_0x5830[10]][_0x5830[14]],_0x7738x4[_0x5830[10]][_0x5830[15]]||_0x5830[16])||null;break ;;case _0x5830[15]:break ;;case _0x5830[23]:_0x7738xa[_0x5830[19]][_0x5830[18]]=[];_0x7738x7[_0x5830[22]](function(_0x7738xd){var _0x7738xe={};_0x7738xe[_0x7738xd]={$like:_0x5830[20]+_0x7738xb+_0x5830[20]};_0x7738xa[_0x5830[19]][_0x5830[18]][_0x5830[21]](_0x7738xe);});break ;;default:_0x7738xa[_0x5830[19]][_0x7738xc]={$like:{}};_0x7738xa[_0x5830[19]][_0x7738xc][_0x5830[24]]=_0x5830[20]+_0x7738xb+_0x5830[20];;}});Trigger[_0x5830[40]](_0x7738xa)[_0x5830[39]](function(_0x7738x10){var _0x7738x11=Math[_0x5830[31]](_0x7738x10[_0x5830[30]]/_0x7738x8);var _0x7738x12=_0x7738x11>(_0x7738xa[_0x5830[32]]+1)?util[_0x5830[17]](_0x5830[33],_0x7738x4[_0x5830[34]],_0x7738x4[_0x5830[36]][_0x5830[35]],_0x7738x4[_0x5830[37]],_0x7738x9+1):null;var _0x7738x13=_0x7738x9>0?util[_0x5830[17]](_0x5830[33],_0x7738x4[_0x5830[34]],_0x7738x4[_0x5830[36]][_0x5830[35]],_0x7738x4[_0x5830[37]],_0x7738x9-1):null;_0x7738x5[_0x5830[28]](200)[_0x5830[27]]({count:_0x7738x10[_0x5830[30]],rows:_0x7738x10[_0x5830[38]],next_page:_0x7738x12,previous_page:_0x7738x13,total_pages:_0x7738x11});})[_0x5830[29]](function(_0x7738xf){_0x7738x5[_0x5830[28]](500)[_0x5830[27]]({error:_0x5830[26]})});};exports[_0x5830[41]]=function(_0x7738x4,_0x7738x5){Trigger[_0x5830[45]](_0x7738x4[_0x5830[44]][_0x5830[43]])[_0x5830[39]](function(Trigger){if(!Trigger){return _0x7738x5[_0x5830[42]](404)};return _0x7738x5[_0x5830[27]](Trigger);})[_0x5830[29]](function(_0x7738xf){return handleError(_0x7738x5,_0x7738xf)})};exports[_0x5830[46]]=function(_0x7738x4,_0x7738x5){Trigger[_0x5830[46]](_0x7738x4[_0x5830[47]])[_0x5830[39]](function(){return _0x7738x5[_0x5830[42]](201)})[_0x5830[29]](function(_0x7738xf){return handleError(_0x7738x5,_0x7738xf)})};exports[_0x5830[48]]=function(_0x7738x4,_0x7738x5,_0x7738x6){if(_0x7738x4[_0x5830[47]][_0x5830[43]]){delete _0x7738x4[_0x5830[47]][_0x5830[43]]};Trigger[_0x5830[45]](_0x7738x4[_0x5830[44]][_0x5830[43]])[_0x5830[39]](function(Trigger){if(!Trigger){return _0x7738x5[_0x5830[42]](404)};var _0x7738x14=_[_0x5830[49]](Trigger,_0x7738x4[_0x5830[47]]);_0x7738x14[_0x5830[50]]()[_0x5830[39]](function(){return _0x7738x5[_0x5830[28]](200)[_0x5830[27]](Trigger)})[_0x5830[29]](function(_0x7738xf){return _0x7738x6(_0x7738xf)});})[_0x5830[29]](function(_0x7738xf){return _0x7738x6(_0x7738xf)});};exports[_0x5830[51]]=function(_0x7738x4,_0x7738x5){Trigger[_0x5830[45]](_0x7738x4[_0x5830[44]][_0x5830[43]])[_0x5830[39]](function(Trigger){if(!Trigger){return _0x7738x5[_0x5830[42]](404)};Trigger[_0x5830[51]]()[_0x5830[39]](function(){return _0x7738x5[_0x5830[42]](204)})[_0x5830[29]](function(_0x7738xf){return handleError(_0x7738x5,_0x7738xf)});})[_0x5830[29]](function(_0x7738xf){return handleError(_0x7738x5,_0x7738xf)})};exports[_0x5830[52]]=function(_0x7738x4,_0x7738x5){Trigger[_0x5830[51]]({where:{id:_0x7738x4[_0x5830[10]][_0x5830[43]]},individualHooks:true})[_0x5830[39]](function(){return _0x7738x5[_0x5830[42]](204)})[_0x5830[29]](function(_0x7738xf){return handleError(_0x7738x5,_0x7738xf)})};function handleError(_0x7738x5,_0x7738xf){return _0x7738x5[_0x5830[28]](500)[_0x5830[27]](_0x7738xf)}
\ No newline at end of file
+var _0x3553=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x54\x72\x69\x67\x67\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0x3553[0];var _=require(_0x3553[1]);var util=require(_0x3553[2]);var Trigger=require(_0x3553[4])[_0x3553[3]];exports[_0x3553[5]]=function(_0xd8cfx4,_0xd8cfx5,_0xd8cfx6){var _0xd8cfx7=[_0x3553[6],_0x3553[7],_0x3553[8]];var _0xd8cfx8=_0xd8cfx4[_0x3553[10]][_0x3553[9]]?parseInt(_0xd8cfx4[_0x3553[10]][_0x3553[9]],10):100;var _0xd8cfx9=_0xd8cfx4[_0x3553[10]][_0x3553[11]]?parseInt(_0xd8cfx4[_0x3553[10]][_0x3553[11]],10):0;var _0xd8cfxa={where:{},limit:_0xd8cfx8,offset:_0xd8cfx9*_0xd8cfx8};_[_0x3553[25]](_0xd8cfx4[_0x3553[10]],function(_0xd8cfxb,_0xd8cfxc){switch(_0xd8cfxc){case _0x3553[9]:;case _0x3553[11]:break ;;case _0x3553[14]:_0xd8cfxa[_0x3553[12]]=util[_0x3553[17]](_0x3553[13],_0xd8cfx4[_0x3553[10]][_0x3553[14]],_0xd8cfx4[_0x3553[10]][_0x3553[15]]||_0x3553[16])||null;break ;;case _0x3553[15]:break ;;case _0x3553[23]:_0xd8cfxa[_0x3553[19]][_0x3553[18]]=[];_0xd8cfx7[_0x3553[22]](function(_0xd8cfxd){var _0xd8cfxe={};_0xd8cfxe[_0xd8cfxd]={$like:_0x3553[20]+_0xd8cfxb+_0x3553[20]};_0xd8cfxa[_0x3553[19]][_0x3553[18]][_0x3553[21]](_0xd8cfxe);});break ;;default:_0xd8cfxa[_0x3553[19]][_0xd8cfxc]={$like:{}};_0xd8cfxa[_0x3553[19]][_0xd8cfxc][_0x3553[24]]=_0x3553[20]+_0xd8cfxb+_0x3553[20];;}});Trigger[_0x3553[40]](_0xd8cfxa)[_0x3553[39]](function(_0xd8cfx10){var _0xd8cfx11=Math[_0x3553[31]](_0xd8cfx10[_0x3553[30]]/_0xd8cfx8);var _0xd8cfx12=_0xd8cfx11>(_0xd8cfxa[_0x3553[32]]+1)?util[_0x3553[17]](_0x3553[33],_0xd8cfx4[_0x3553[34]],_0xd8cfx4[_0x3553[36]][_0x3553[35]],_0xd8cfx4[_0x3553[37]],_0xd8cfx9+1):null;var _0xd8cfx13=_0xd8cfx9>0?util[_0x3553[17]](_0x3553[33],_0xd8cfx4[_0x3553[34]],_0xd8cfx4[_0x3553[36]][_0x3553[35]],_0xd8cfx4[_0x3553[37]],_0xd8cfx9-1):null;_0xd8cfx5[_0x3553[28]](200)[_0x3553[27]]({count:_0xd8cfx10[_0x3553[30]],rows:_0xd8cfx10[_0x3553[38]],next_page:_0xd8cfx12,previous_page:_0xd8cfx13,total_pages:_0xd8cfx11});})[_0x3553[29]](function(_0xd8cfxf){_0xd8cfx5[_0x3553[28]](500)[_0x3553[27]]({error:_0x3553[26]})});};exports[_0x3553[41]]=function(_0xd8cfx4,_0xd8cfx5){Trigger[_0x3553[45]](_0xd8cfx4[_0x3553[44]][_0x3553[43]])[_0x3553[39]](function(Trigger){if(!Trigger){return _0xd8cfx5[_0x3553[42]](404)};return _0xd8cfx5[_0x3553[27]](Trigger);})[_0x3553[29]](function(_0xd8cfxf){return handleError(_0xd8cfx5,_0xd8cfxf)})};exports[_0x3553[46]]=function(_0xd8cfx4,_0xd8cfx5){Trigger[_0x3553[46]](_0xd8cfx4[_0x3553[47]])[_0x3553[39]](function(){return _0xd8cfx5[_0x3553[42]](201)})[_0x3553[29]](function(_0xd8cfxf){return handleError(_0xd8cfx5,_0xd8cfxf)})};exports[_0x3553[48]]=function(_0xd8cfx4,_0xd8cfx5,_0xd8cfx6){if(_0xd8cfx4[_0x3553[47]][_0x3553[43]]){delete _0xd8cfx4[_0x3553[47]][_0x3553[43]]};Trigger[_0x3553[45]](_0xd8cfx4[_0x3553[44]][_0x3553[43]])[_0x3553[39]](function(Trigger){if(!Trigger){return _0xd8cfx5[_0x3553[42]](404)};var _0xd8cfx14=_[_0x3553[49]](Trigger,_0xd8cfx4[_0x3553[47]]);_0xd8cfx14[_0x3553[50]]()[_0x3553[39]](function(){return _0xd8cfx5[_0x3553[28]](200)[_0x3553[27]](Trigger)})[_0x3553[29]](function(_0xd8cfxf){return _0xd8cfx6(_0xd8cfxf)});})[_0x3553[29]](function(_0xd8cfxf){return _0xd8cfx6(_0xd8cfxf)});};exports[_0x3553[51]]=function(_0xd8cfx4,_0xd8cfx5){Trigger[_0x3553[45]](_0xd8cfx4[_0x3553[44]][_0x3553[43]])[_0x3553[39]](function(Trigger){if(!Trigger){return _0xd8cfx5[_0x3553[42]](404)};Trigger[_0x3553[51]]()[_0x3553[39]](function(){return _0xd8cfx5[_0x3553[42]](204)})[_0x3553[29]](function(_0xd8cfxf){return handleError(_0xd8cfx5,_0xd8cfxf)});})[_0x3553[29]](function(_0xd8cfxf){return handleError(_0xd8cfx5,_0xd8cfxf)})};exports[_0x3553[52]]=function(_0xd8cfx4,_0xd8cfx5){Trigger[_0x3553[51]]({where:{id:_0xd8cfx4[_0x3553[10]][_0x3553[43]]},individualHooks:true})[_0x3553[39]](function(){return _0xd8cfx5[_0x3553[42]](204)})[_0x3553[29]](function(_0xd8cfxf){return handleError(_0xd8cfx5,_0xd8cfxf)})};function handleError(_0xd8cfx5,_0xd8cfxf){return _0xd8cfx5[_0x3553[28]](500)[_0x3553[27]](_0xd8cfxf)}
\ No newline at end of file
index 5d44657cd9512d68a65650ad945b6f05dfad6177..62d0469fc463fc6137032045662b6f8b4abab13d 100644 (file)
@@ -1 +1 @@
-var _0xcda8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x54\x72\x69\x67\x67\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x74\x72\x69\x67\x67\x65\x72\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x74\x72\x69\x67\x67\x65\x72\x3A\x72\x65\x6D\x6F\x76\x65"];_0xcda8[0];var Trigger=require(_0xcda8[2])[_0xcda8[1]];exports[_0xcda8[3]]=function(_0xbbc2x2){Trigger[_0xcda8[4]](function(_0xbbc2x3){onSave(_0xbbc2x2,_0xbbc2x3)});Trigger[_0xcda8[5]](function(_0xbbc2x3){onRemove(_0xbbc2x2,_0xbbc2x3)});};function onSave(_0xbbc2x2,_0xbbc2x3,_0xbbc2x5){_0xbbc2x2[_0xcda8[7]](_0xcda8[6],_0xbbc2x3)}function onRemove(_0xbbc2x2,_0xbbc2x3,_0xbbc2x5){_0xbbc2x2[_0xcda8[7]](_0xcda8[8],_0xbbc2x3)}
\ No newline at end of file
+var _0xc80f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x54\x72\x69\x67\x67\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x74\x72\x69\x67\x67\x65\x72\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x74\x72\x69\x67\x67\x65\x72\x3A\x72\x65\x6D\x6F\x76\x65"];_0xc80f[0];var Trigger=require(_0xc80f[2])[_0xc80f[1]];exports[_0xc80f[3]]=function(_0xbb08x2){Trigger[_0xc80f[4]](function(_0xbb08x3){onSave(_0xbb08x2,_0xbb08x3)});Trigger[_0xc80f[5]](function(_0xbb08x3){onRemove(_0xbb08x2,_0xbb08x3)});};function onSave(_0xbb08x2,_0xbb08x3,_0xbb08x5){_0xbb08x2[_0xc80f[7]](_0xc80f[6],_0xbb08x3)}function onRemove(_0xbb08x2,_0xbb08x3,_0xbb08x5){_0xbb08x2[_0xc80f[7]](_0xc80f[8],_0xbb08x3)}
\ No newline at end of file
index bd3d3793150f3fcbe42a14771d0df7cefa847182..967acef473eae600451d6b4d31f7b387bfedfab2 100644 (file)
@@ -1 +1 @@
-var _0x9d9c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x74\x72\x69\x67\x67\x65\x72\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x74\x72\x69\x67\x67\x65\x72\x73","\x67\x65\x74"];_0x9d9c[0];var should=require(_0x9d9c[1]);var app=require(_0x9d9c[2]);var request=require(_0x9d9c[3]);describe(_0x9d9c[4],function(){it(_0x9d9c[5],function(_0xcc13x4){request(app)[_0x9d9c[13]](_0x9d9c[12])[_0x9d9c[11]](200)[_0x9d9c[11]](_0x9d9c[10],/json/)[_0x9d9c[9]](function(_0xcc13x5,_0xcc13x6){if(_0xcc13x5){return _0xcc13x4(_0xcc13x5)};_0xcc13x6[_0x9d9c[8]][_0x9d9c[1]][_0x9d9c[7]][_0x9d9c[6]](Array);_0xcc13x4();})})});
\ No newline at end of file
+var _0x6674=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x74\x72\x69\x67\x67\x65\x72\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x74\x72\x69\x67\x67\x65\x72\x73","\x67\x65\x74"];_0x6674[0];var should=require(_0x6674[1]);var app=require(_0x6674[2]);var request=require(_0x6674[3]);describe(_0x6674[4],function(){it(_0x6674[5],function(_0xfe8dx4){request(app)[_0x6674[13]](_0x6674[12])[_0x6674[11]](200)[_0x6674[11]](_0x6674[10],/json/)[_0x6674[9]](function(_0xfe8dx5,_0xfe8dx6){if(_0xfe8dx5){return _0xfe8dx4(_0xfe8dx5)};_0xfe8dx6[_0x6674[8]][_0x6674[1]][_0x6674[7]][_0x6674[6]](Array);_0xfe8dx4();})})});
\ No newline at end of file
index 87e3b8fd5a7a63078d1ba7cfde7d9e94d53c4d1f..18d82a2413eeab37443a6edd09df09c1a1275465 100644 (file)
@@ -1 +1 @@
-var _0xf6a8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x74\x72\x75\x6E\x6B\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x74\x72\x75\x6E\x6B\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xf6a8[0];var express=require(_0xf6a8[1]);var controller=require(_0xf6a8[2]);var config=require(_0xf6a8[3]);var auth=require(_0xf6a8[4]);var router=express.Router();router[_0xf6a8[8]](_0xf6a8[5],auth[_0xf6a8[6]](),controller[_0xf6a8[7]]);router[_0xf6a8[8]](_0xf6a8[9],auth[_0xf6a8[6]](),controller[_0xf6a8[10]]);router[_0xf6a8[12]](_0xf6a8[5],auth[_0xf6a8[6]](),controller[_0xf6a8[11]]);router[_0xf6a8[12]](_0xf6a8[13],auth[_0xf6a8[6]](),controller[_0xf6a8[14]]);router[_0xf6a8[16]](_0xf6a8[9],auth[_0xf6a8[6]](),controller[_0xf6a8[15]]);router[_0xf6a8[18]](_0xf6a8[5],auth[_0xf6a8[6]](),controller[_0xf6a8[17]]);router[_0xf6a8[18]](_0xf6a8[9],auth[_0xf6a8[6]](),controller[_0xf6a8[19]]);module[_0xf6a8[20]]=router;
\ No newline at end of file
+var _0xd050=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x74\x72\x75\x6E\x6B\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x74\x72\x75\x6E\x6B\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xd050[0];var express=require(_0xd050[1]);var controller=require(_0xd050[2]);var config=require(_0xd050[3]);var auth=require(_0xd050[4]);var router=express.Router();router[_0xd050[8]](_0xd050[5],auth[_0xd050[6]](),controller[_0xd050[7]]);router[_0xd050[8]](_0xd050[9],auth[_0xd050[6]](),controller[_0xd050[10]]);router[_0xd050[12]](_0xd050[5],auth[_0xd050[6]](),controller[_0xd050[11]]);router[_0xd050[12]](_0xd050[13],auth[_0xd050[6]](),controller[_0xd050[14]]);router[_0xd050[16]](_0xd050[9],auth[_0xd050[6]](),controller[_0xd050[15]]);router[_0xd050[18]](_0xd050[5],auth[_0xd050[6]](),controller[_0xd050[17]]);router[_0xd050[18]](_0xd050[9],auth[_0xd050[6]](),controller[_0xd050[19]]);module[_0xd050[20]]=router;
\ No newline at end of file
index 93cc7edf076c86e8d4646f6ebd5f1111f8f0d3f0..9d85acae0691048feb2d7b068587f2ed7b3d2fc0 100644 (file)
@@ -1 +1 @@
-var _0x76ce=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x66\x73","\x75\x74\x69\x6C","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x54\x72\x75\x6E\x6B","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x6C\x6F\x64\x61\x73\x68","\x72\x65\x67\x69\x73\x74\x65\x72","\x63\x72\x65\x61\x74\x65\x20\x74\x72\x75\x6E\x6B\x20\x68\x6F\x6F\x6B","\x6C\x6F\x67","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65\x20\x74\x72\x75\x6E\x6B\x20\x68\x6F\x6F\x6B","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x64\x65\x6C\x65\x74\x65\x20\x74\x72\x75\x6E\x6B\x20\x68\x6F\x6F\x6B","\x61\x66\x74\x65\x72\x44\x65\x6C\x65\x74\x65","","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x63\x6C\x6F\x6E\x65","\x69\x64","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x75\x70\x64\x61\x74\x65\x64\x41\x74","\x5B\x25\x73\x5D\x0A","\x6E\x61\x6D\x65","\x66\x6F\x72\x6D\x61\x74","\x6F\x74\x68\x65\x72\x46\x69\x65\x6C\x64\x73","\x25\x73\x0A","\x25\x73\x3D\x25\x73\x0A","\x63\x61\x74\x63\x68","\x70\x6C\x75\x63\x6B","\x66\x6F\x72\x45\x61\x63\x68","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x61\x73\x74\x65\x72\x69\x73\x6B\x2F\x73\x69\x70\x5F\x78\x63\x61\x6C\x6C\x79\x5F\x74\x72\x75\x6E\x6B\x73\x2E\x63\x6F\x6E\x66","\x6A\x6F\x69\x6E","\x77","\x30\x37\x37\x37","\x54\x72\x75\x6E\x6B\x73\x20\x66\x69\x6C\x65\x20\x73\x61\x76\x65\x64\x21","\x52\x65\x6C\x6F\x61\x64","\x63\x68\x61\x6E\x5F\x73\x69\x70","\x65\x72\x72\x6F\x72","\x61\x63\x74\x69\x6F\x6E","\x77\x72\x69\x74\x65\x46\x69\x6C\x65","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C"];_0x76ce[0];var fs=require(_0x76ce[1]);var util=require(_0x76ce[2]);var path=require(_0x76ce[3]);var config=require(_0x76ce[4]);var Trunk=require(_0x76ce[6])[_0x76ce[5]];var VoiceExtension=require(_0x76ce[6])[_0x76ce[7]];var _=require(_0x76ce[8]);exports[_0x76ce[9]]=function(_0x5200x8){Trunk[_0x76ce[12]](function(_0x5200x9){console[_0x76ce[11]](_0x76ce[10]);trunksRewrite(_0x5200x9,_0x5200x8,false);});Trunk[_0x76ce[14]](function(_0x5200x9){console[_0x76ce[11]](_0x76ce[13]);trunksRewrite(_0x5200x9,_0x5200x8,false);});Trunk[_0x76ce[16]](function(_0x5200x9){console[_0x76ce[11]](_0x76ce[15]);trunksRewrite(_0x5200x9,_0x5200x8,true);});};function trunksRewrite(_0x5200x9,_0x5200x8,_0x5200xb){var _0x5200xc=_0x76ce[17];if(!_0x5200xb){var _0x5200xd=_[_0x76ce[19]](_0x5200x9[_0x76ce[18]]);delete _0x5200xd[_0x76ce[20]];delete _0x5200xd[_0x76ce[21]];delete _0x5200xd[_0x76ce[22]];_0x5200xc+=util[_0x76ce[25]](_0x76ce[23],_0x5200xd[_0x76ce[24]]);if(_0x5200xd[_0x76ce[26]]){_0x5200xc+=util[_0x76ce[25]](_0x76ce[27],_0x5200xd[_0x76ce[26]]);delete _0x5200xd[_0x76ce[26]];};for(var _0x5200xe in _0x5200xd){if(_0x5200xd[_0x5200xe]){_0x5200xc+=util[_0x76ce[25]](_0x76ce[28],_0x5200xe,_0x5200xd[_0x5200xe])}};};Trunk[_0x76ce[44]]({where:{id:{$ne:_0x5200x9[_0x76ce[20]]}}})[_0x76ce[43]](function(_0x5200x10){var _0x5200x11=_[_0x76ce[30]](_0x5200x10,_0x76ce[18]);_0x5200x11[_0x76ce[31]](function(_0x5200x12){delete _0x5200x12[_0x76ce[20]];delete _0x5200x12[_0x76ce[21]];delete _0x5200x12[_0x76ce[22]];_0x5200xc+=util[_0x76ce[25]](_0x76ce[23],_0x5200x12[_0x76ce[24]]);if(_0x5200x12[_0x76ce[26]]){_0x5200xc+=util[_0x76ce[25]](_0x76ce[27],_0x5200x12[_0x76ce[26]]);delete _0x5200x12[_0x76ce[26]];};for(var _0x5200xe in _0x5200x12){if(_0x5200x12[_0x5200xe]){_0x5200xc+=util[_0x76ce[25]](_0x76ce[28],_0x5200xe,_0x5200x12[_0x5200xe])}};});fs[_0x76ce[42]](path[_0x76ce[34]](config[_0x76ce[32]],_0x76ce[33]),_0x5200xc,{flags:_0x76ce[35],mode:parseInt(_0x76ce[36],8)},function(_0x5200xf){if(_0x5200xf){throw _0x5200xf};console[_0x76ce[11]](_0x76ce[37]);_0x5200x8[_0x76ce[41]]({Action:_0x76ce[38],Module:_0x76ce[39]},function(_0x5200xf,_0x5200x13){if(_0x5200xf){console[_0x76ce[40]](_0x5200xf)}else {console[_0x76ce[11]](_0x5200x13)}});});})[_0x76ce[29]](function(_0x5200xf){console[_0x76ce[11]](_0x5200xf)});}
\ No newline at end of file
+var _0x8aea=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x66\x73","\x75\x74\x69\x6C","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x54\x72\x75\x6E\x6B","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x6C\x6F\x64\x61\x73\x68","\x72\x65\x67\x69\x73\x74\x65\x72","\x63\x72\x65\x61\x74\x65\x20\x74\x72\x75\x6E\x6B\x20\x68\x6F\x6F\x6B","\x6C\x6F\x67","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65\x20\x74\x72\x75\x6E\x6B\x20\x68\x6F\x6F\x6B","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x64\x65\x6C\x65\x74\x65\x20\x74\x72\x75\x6E\x6B\x20\x68\x6F\x6F\x6B","\x61\x66\x74\x65\x72\x44\x65\x6C\x65\x74\x65","","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x63\x6C\x6F\x6E\x65","\x69\x64","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x75\x70\x64\x61\x74\x65\x64\x41\x74","\x5B\x25\x73\x5D\x0A","\x6E\x61\x6D\x65","\x66\x6F\x72\x6D\x61\x74","\x6F\x74\x68\x65\x72\x46\x69\x65\x6C\x64\x73","\x25\x73\x0A","\x25\x73\x3D\x25\x73\x0A","\x63\x61\x74\x63\x68","\x70\x6C\x75\x63\x6B","\x66\x6F\x72\x45\x61\x63\x68","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x61\x73\x74\x65\x72\x69\x73\x6B\x2F\x73\x69\x70\x5F\x78\x63\x61\x6C\x6C\x79\x5F\x74\x72\x75\x6E\x6B\x73\x2E\x63\x6F\x6E\x66","\x6A\x6F\x69\x6E","\x77","\x30\x37\x37\x37","\x54\x72\x75\x6E\x6B\x73\x20\x66\x69\x6C\x65\x20\x73\x61\x76\x65\x64\x21","\x52\x65\x6C\x6F\x61\x64","\x63\x68\x61\x6E\x5F\x73\x69\x70","\x65\x72\x72\x6F\x72","\x61\x63\x74\x69\x6F\x6E","\x77\x72\x69\x74\x65\x46\x69\x6C\x65","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C"];_0x8aea[0];var fs=require(_0x8aea[1]);var util=require(_0x8aea[2]);var path=require(_0x8aea[3]);var config=require(_0x8aea[4]);var Trunk=require(_0x8aea[6])[_0x8aea[5]];var VoiceExtension=require(_0x8aea[6])[_0x8aea[7]];var _=require(_0x8aea[8]);exports[_0x8aea[9]]=function(_0xa5eex8){Trunk[_0x8aea[12]](function(_0xa5eex9){console[_0x8aea[11]](_0x8aea[10]);trunksRewrite(_0xa5eex9,_0xa5eex8,false);});Trunk[_0x8aea[14]](function(_0xa5eex9){console[_0x8aea[11]](_0x8aea[13]);trunksRewrite(_0xa5eex9,_0xa5eex8,false);});Trunk[_0x8aea[16]](function(_0xa5eex9){console[_0x8aea[11]](_0x8aea[15]);trunksRewrite(_0xa5eex9,_0xa5eex8,true);});};function trunksRewrite(_0xa5eex9,_0xa5eex8,_0xa5eexb){var _0xa5eexc=_0x8aea[17];if(!_0xa5eexb){var _0xa5eexd=_[_0x8aea[19]](_0xa5eex9[_0x8aea[18]]);delete _0xa5eexd[_0x8aea[20]];delete _0xa5eexd[_0x8aea[21]];delete _0xa5eexd[_0x8aea[22]];_0xa5eexc+=util[_0x8aea[25]](_0x8aea[23],_0xa5eexd[_0x8aea[24]]);if(_0xa5eexd[_0x8aea[26]]){_0xa5eexc+=util[_0x8aea[25]](_0x8aea[27],_0xa5eexd[_0x8aea[26]]);delete _0xa5eexd[_0x8aea[26]];};for(var _0xa5eexe in _0xa5eexd){if(_0xa5eexd[_0xa5eexe]){_0xa5eexc+=util[_0x8aea[25]](_0x8aea[28],_0xa5eexe,_0xa5eexd[_0xa5eexe])}};};Trunk[_0x8aea[44]]({where:{id:{$ne:_0xa5eex9[_0x8aea[20]]}}})[_0x8aea[43]](function(_0xa5eex10){var _0xa5eex11=_[_0x8aea[30]](_0xa5eex10,_0x8aea[18]);_0xa5eex11[_0x8aea[31]](function(_0xa5eex12){delete _0xa5eex12[_0x8aea[20]];delete _0xa5eex12[_0x8aea[21]];delete _0xa5eex12[_0x8aea[22]];_0xa5eexc+=util[_0x8aea[25]](_0x8aea[23],_0xa5eex12[_0x8aea[24]]);if(_0xa5eex12[_0x8aea[26]]){_0xa5eexc+=util[_0x8aea[25]](_0x8aea[27],_0xa5eex12[_0x8aea[26]]);delete _0xa5eex12[_0x8aea[26]];};for(var _0xa5eexe in _0xa5eex12){if(_0xa5eex12[_0xa5eexe]){_0xa5eexc+=util[_0x8aea[25]](_0x8aea[28],_0xa5eexe,_0xa5eex12[_0xa5eexe])}};});fs[_0x8aea[42]](path[_0x8aea[34]](config[_0x8aea[32]],_0x8aea[33]),_0xa5eexc,{flags:_0x8aea[35],mode:parseInt(_0x8aea[36],8)},function(_0xa5eexf){if(_0xa5eexf){throw _0xa5eexf};console[_0x8aea[11]](_0x8aea[37]);_0xa5eex8[_0x8aea[41]]({Action:_0x8aea[38],Module:_0x8aea[39]},function(_0xa5eexf,_0xa5eex13){if(_0xa5eexf){console[_0x8aea[40]](_0xa5eexf)}else {console[_0x8aea[11]](_0xa5eex13)}});});})[_0x8aea[29]](function(_0xa5eexf){console[_0x8aea[11]](_0xa5eexf)});}
\ No newline at end of file
index bf3831de06022fba99e40a8e1b20c7a8a67f8210..fa1d0b3f820806bdd7744ad17273d6261729cb41 100644 (file)
@@ -1 +1 @@
-var _0x3f0f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x54\x72\x75\x6E\x6B","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x68\x6F\x73\x74","\x63\x6F\x6E\x74\x65\x78\x74","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x72\x6F\x6C\x65","\x73\x70\x6C\x69\x74","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x74\x72\x75\x6E\x6B\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x62\x6F\x64\x79","\x6C\x6F\x67","\x66\x69\x6E\x64\x41\x6C\x6C","\x63\x72\x65\x61\x74\x65","\x74\x72\x75\x6E\x6B\x73\x20\x66\x69\x6E\x64\x61\x6C\x6C","\x46\x69\x6E\x64\x69\x6E\x67\x20\x61\x70\x70\x20\x72\x6F\x77\x2E\x2E\x2E\x2E\x2E","\x6C\x65\x6E\x67\x74\x68","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x54\x52\x55\x4E\x4B","\x74\x72\x75\x6E\x6B\x73\x20\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x63\x75\x74\x64\x69\x67\x69\x74\x73","\x6C\x69\x74\x65\x72\x61\x6C","\x73\x61\x76\x65","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x64\x65\x73\x74\x72\x6F\x79","\x4D\x45\x53\x53\x41\x47\x45\x5F\x54\x52\x55\x4E\x4B\x5F\x4F\x55\x54\x42\x4F\x55\x4E\x44\x5F\x41\x53\x53\x4F\x43\x49\x41\x54\x45\x44","\x67\x65\x74\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73"];_0x3f0f[0];var _=require(_0x3f0f[1]);var Trunk=require(_0x3f0f[3])[_0x3f0f[2]];var VoiceExtension=require(_0x3f0f[3])[_0x3f0f[4]];var sequelize=require(_0x3f0f[3])[_0x3f0f[5]];var util=require(_0x3f0f[6]);exports[_0x3f0f[7]]=function(_0x9eb4x6,_0x9eb4x7,_0x9eb4x8){var _0x9eb4x9=[_0x3f0f[8],_0x3f0f[9],_0x3f0f[10],_0x3f0f[11]];var _0x9eb4xa=_0x9eb4x6[_0x3f0f[13]][_0x3f0f[12]]?parseInt(_0x9eb4x6[_0x3f0f[13]][_0x3f0f[12]],10):100;var _0x9eb4xb=_0x9eb4x6[_0x3f0f[13]][_0x3f0f[14]]?parseInt(_0x9eb4x6[_0x3f0f[13]][_0x3f0f[14]],10):0;var _0x9eb4xc={where:{},limit:_0x9eb4xa,offset:_0x9eb4xb*_0x9eb4xa};_[_0x3f0f[30]](_0x9eb4x6[_0x3f0f[13]],function(_0x9eb4xd,_0x9eb4xe){switch(_0x9eb4xe){case _0x3f0f[12]:;case _0x3f0f[14]:break ;;case _0x3f0f[17]:_0x9eb4xc[_0x3f0f[15]]=util[_0x3f0f[20]](_0x3f0f[16],_0x9eb4x6[_0x3f0f[13]][_0x3f0f[17]],_0x9eb4x6[_0x3f0f[13]][_0x3f0f[18]]||_0x3f0f[19])||null;break ;;case _0x3f0f[18]:break ;;case _0x3f0f[26]:_0x9eb4xc[_0x3f0f[22]][_0x3f0f[21]]=[];_0x9eb4x9[_0x3f0f[25]](function(_0x9eb4xf){var _0x9eb4x10={};_0x9eb4x10[_0x9eb4xf]={$like:_0x3f0f[23]+_0x9eb4xd+_0x3f0f[23]};_0x9eb4xc[_0x3f0f[22]][_0x3f0f[21]][_0x3f0f[24]](_0x9eb4x10);});break ;;case _0x3f0f[27]:_0x9eb4xc[_0x3f0f[22]][_0x3f0f[27]]={$or:_0x9eb4xd[_0x3f0f[28]](/[\s,]+/)};break ;;default:_0x9eb4xc[_0x3f0f[22]][_0x9eb4xe]={$like:{}};_0x9eb4xc[_0x3f0f[22]][_0x9eb4xe][_0x3f0f[29]]=_0x3f0f[23]+_0x9eb4xd+_0x3f0f[23];;}});Trunk[_0x3f0f[44]](_0x9eb4xc)[_0x3f0f[43]](function(_0x9eb4x12){var _0x9eb4x13=Math[_0x3f0f[36]](_0x9eb4x12[_0x3f0f[35]]/_0x9eb4xa);var _0x9eb4x14=_0x9eb4x13>(_0x9eb4xc[_0x3f0f[37]]+1)?util[_0x3f0f[20]](_0x3f0f[38],_0x9eb4x6[_0x3f0f[39]],_0x9eb4x6[_0x3f0f[40]][_0x3f0f[9]],_0x9eb4x6[_0x3f0f[41]],_0x9eb4xb+1):null;var _0x9eb4x15=_0x9eb4xb>0?util[_0x3f0f[20]](_0x3f0f[38],_0x9eb4x6[_0x3f0f[39]],_0x9eb4x6[_0x3f0f[40]][_0x3f0f[9]],_0x9eb4x6[_0x3f0f[41]],_0x9eb4xb-1):null;_0x9eb4x7[_0x3f0f[33]](200)[_0x3f0f[32]]({count:_0x9eb4x12[_0x3f0f[35]],rows:_0x9eb4x12[_0x3f0f[42]],next_page:_0x9eb4x14,previous_page:_0x9eb4x15,total_pages:_0x9eb4x13});})[_0x3f0f[34]](function(_0x9eb4x11){_0x9eb4x7[_0x3f0f[33]](500)[_0x3f0f[32]]({error:_0x3f0f[31]})});};exports[_0x3f0f[45]]=function(_0x9eb4x6,_0x9eb4x7){Trunk[_0x3f0f[49]](_0x9eb4x6[_0x3f0f[48]][_0x3f0f[47]])[_0x3f0f[43]](function(_0x9eb4x16){if(!_0x9eb4x16){return _0x9eb4x7[_0x3f0f[46]](404)};return _0x9eb4x7[_0x3f0f[32]](_0x9eb4x16);})[_0x3f0f[34]](function(_0x9eb4x11){return handleError(_0x9eb4x7,_0x9eb4x11)})};exports[_0x3f0f[50]]=function(_0x9eb4x6,_0x9eb4x7){console[_0x3f0f[52]](_0x9eb4x6[_0x3f0f[51]]);Trunk[_0x3f0f[53]]({where:{name:_0x9eb4x6[_0x3f0f[51]][_0x3f0f[8]]}})[_0x3f0f[43]](function(_0x9eb4x17){if(!_0x9eb4x17){return _0x9eb4x7[_0x3f0f[46]](404)};return _0x9eb4x7[_0x3f0f[32]](_0x9eb4x17);})[_0x3f0f[34]](function(_0x9eb4x11){return handleError(_0x9eb4x7,_0x9eb4x11)});};exports[_0x3f0f[54]]=function(_0x9eb4x6,_0x9eb4x7){Trunk[_0x3f0f[53]]({where:{name:_0x9eb4x6[_0x3f0f[51]][_0x3f0f[8]]}})[_0x3f0f[43]](function(_0x9eb4x18){console[_0x3f0f[52]](_0x9eb4x18);console[_0x3f0f[52]](_0x3f0f[56]);if(!_0x9eb4x18){return _0x9eb4x7[_0x3f0f[46]](404)};if(_0x9eb4x18[_0x3f0f[57]]>0){return _0x9eb4x7[_0x3f0f[33]](500)[_0x3f0f[32]]({message:_0x3f0f[58]})};Trunk[_0x3f0f[54]](_0x9eb4x6[_0x3f0f[51]])[_0x3f0f[43]](function(_0x9eb4x16){return _0x9eb4x7[_0x3f0f[33]](201)[_0x3f0f[32]](_0x9eb4x16)})[_0x3f0f[34]](function(_0x9eb4x11){console[_0x3f0f[52]](_0x3f0f[59],_0x9eb4x11);return handleError(_0x9eb4x7,_0x9eb4x11);});})[_0x3f0f[34]](function(_0x9eb4x11){console[_0x3f0f[52]](_0x3f0f[55],_0x9eb4x11);return handleError(_0x9eb4x7,_0x9eb4x11);})};exports[_0x3f0f[60]]=function(_0x9eb4x6,_0x9eb4x7,_0x9eb4x8){Trunk[_0x3f0f[53]]({where:{name:_0x9eb4x6[_0x3f0f[51]][_0x3f0f[8]],id:{$ne:_0x9eb4x6[_0x3f0f[51]][_0x3f0f[47]]}}})[_0x3f0f[43]](function(_0x9eb4x18){console[_0x3f0f[52]](_0x9eb4x18);console[_0x3f0f[52]](_0x3f0f[56]);if(!_0x9eb4x18){return _0x9eb4x7[_0x3f0f[46]](404)};if(_0x9eb4x18[_0x3f0f[57]]>0){return _0x9eb4x7[_0x3f0f[33]](500)[_0x3f0f[32]]({message:_0x3f0f[58]})};if(_0x9eb4x6[_0x3f0f[51]][_0x3f0f[47]]){delete _0x9eb4x6[_0x3f0f[51]][_0x3f0f[47]]};Trunk[_0x3f0f[49]](_0x9eb4x6[_0x3f0f[48]][_0x3f0f[47]])[_0x3f0f[43]](function(_0x9eb4x16){if(!_0x9eb4x16){return _0x9eb4x7[_0x3f0f[46]](404)};var _0x9eb4x19=_[_0x3f0f[61]](_0x9eb4x16,_0x9eb4x6[_0x3f0f[51]]);return sequelize[_0x3f0f[65]](function(_0x9eb4x1a){return _0x9eb4x19[_0x3f0f[64]]({transaction:_0x9eb4x1a})[_0x3f0f[43]](function(_0x9eb4x16){return VoiceExtension[_0x3f0f[60]]({trunk:_0x9eb4x16[_0x3f0f[8]],cutdigits:sequelize[_0x3f0f[63]](_0x3f0f[62])},{where:{TrunkId:_0x9eb4x16[_0x3f0f[47]]}},{transaction:_0x9eb4x1a})[_0x3f0f[43]](function(){return _0x9eb4x7[_0x3f0f[33]](200)[_0x3f0f[32]](_0x9eb4x16)})})})[_0x3f0f[34]](function(_0x9eb4x11){return handleError(_0x9eb4x7,_0x9eb4x11)});})[_0x3f0f[34]](function(_0x9eb4x11){return _0x9eb4x8(_0x9eb4x11)});})[_0x3f0f[34]](function(_0x9eb4x11){return _0x9eb4x8(_0x9eb4x11)})};exports[_0x3f0f[66]]=function(_0x9eb4x6,_0x9eb4x7){Trunk[_0x3f0f[49]](_0x9eb4x6[_0x3f0f[48]][_0x3f0f[47]])[_0x3f0f[43]](function(_0x9eb4x16){if(!_0x9eb4x16){return _0x9eb4x7[_0x3f0f[46]](404)};_0x9eb4x16[_0x3f0f[68]]({where:{isApp:true}})[_0x3f0f[43]](function(_0x9eb4x1b){console[_0x3f0f[52]](_0x9eb4x1b[_0x3f0f[57]]);if(_0x9eb4x1b[_0x3f0f[57]]>0){return _0x9eb4x7[_0x3f0f[33]](500)[_0x3f0f[32]]({message:_0x3f0f[67]})};_0x9eb4x16[_0x3f0f[66]]()[_0x3f0f[43]](function(){return _0x9eb4x7[_0x3f0f[46]](204)})[_0x3f0f[34]](function(_0x9eb4x11){return handleError(_0x9eb4x7,_0x9eb4x11)});})[_0x3f0f[34]](function(_0x9eb4x11){return handleError(_0x9eb4x7,_0x9eb4x11)});})[_0x3f0f[34]](function(_0x9eb4x11){return handleError(_0x9eb4x7,_0x9eb4x11)})};exports[_0x3f0f[69]]=function(_0x9eb4x6,_0x9eb4x7){var _0x9eb4x1c=false;Trunk[_0x3f0f[53]]({where:{id:_0x9eb4x6[_0x3f0f[13]][_0x3f0f[47]]},include:[{all:true}]})[_0x3f0f[43]](function(_0x9eb4x17){if(!_0x9eb4x17){return _0x9eb4x7[_0x3f0f[46]](404)};_0x9eb4x17[_0x3f0f[25]](function(_0x9eb4x1d){if(_0x9eb4x1d[_0x3f0f[70]][_0x3f0f[57]]>0){_0x9eb4x1c=true}});if(_0x9eb4x1c){return _0x9eb4x7[_0x3f0f[33]](500)[_0x3f0f[32]]({message:_0x3f0f[67]})};Trunk[_0x3f0f[66]]({where:{id:_0x9eb4x6[_0x3f0f[13]][_0x3f0f[47]]},individualHooks:true})[_0x3f0f[43]](function(){return _0x9eb4x7[_0x3f0f[46]](204)})[_0x3f0f[34]](function(_0x9eb4x11){return handleError(_0x9eb4x7,_0x9eb4x11)});})[_0x3f0f[34]](function(_0x9eb4x11){return handleError(_0x9eb4x7,_0x9eb4x11)});};function handleError(_0x9eb4x7,_0x9eb4x11){return _0x9eb4x7[_0x3f0f[33]](500)[_0x3f0f[32]](_0x9eb4x11)}
\ No newline at end of file
+var _0x514a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x54\x72\x75\x6E\x6B","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x68\x6F\x73\x74","\x63\x6F\x6E\x74\x65\x78\x74","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x72\x6F\x6C\x65","\x73\x70\x6C\x69\x74","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x74\x72\x75\x6E\x6B\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x62\x6F\x64\x79","\x6C\x6F\x67","\x66\x69\x6E\x64\x41\x6C\x6C","\x63\x72\x65\x61\x74\x65","\x74\x72\x75\x6E\x6B\x73\x20\x66\x69\x6E\x64\x61\x6C\x6C","\x46\x69\x6E\x64\x69\x6E\x67\x20\x61\x70\x70\x20\x72\x6F\x77\x2E\x2E\x2E\x2E\x2E","\x6C\x65\x6E\x67\x74\x68","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x54\x52\x55\x4E\x4B","\x74\x72\x75\x6E\x6B\x73\x20\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x63\x75\x74\x64\x69\x67\x69\x74\x73","\x6C\x69\x74\x65\x72\x61\x6C","\x73\x61\x76\x65","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x64\x65\x73\x74\x72\x6F\x79","\x4D\x45\x53\x53\x41\x47\x45\x5F\x54\x52\x55\x4E\x4B\x5F\x4F\x55\x54\x42\x4F\x55\x4E\x44\x5F\x41\x53\x53\x4F\x43\x49\x41\x54\x45\x44","\x67\x65\x74\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73"];_0x514a[0];var _=require(_0x514a[1]);var Trunk=require(_0x514a[3])[_0x514a[2]];var VoiceExtension=require(_0x514a[3])[_0x514a[4]];var sequelize=require(_0x514a[3])[_0x514a[5]];var util=require(_0x514a[6]);exports[_0x514a[7]]=function(_0x7c9ax6,_0x7c9ax7,_0x7c9ax8){var _0x7c9ax9=[_0x514a[8],_0x514a[9],_0x514a[10],_0x514a[11]];var _0x7c9axa=_0x7c9ax6[_0x514a[13]][_0x514a[12]]?parseInt(_0x7c9ax6[_0x514a[13]][_0x514a[12]],10):100;var _0x7c9axb=_0x7c9ax6[_0x514a[13]][_0x514a[14]]?parseInt(_0x7c9ax6[_0x514a[13]][_0x514a[14]],10):0;var _0x7c9axc={where:{},limit:_0x7c9axa,offset:_0x7c9axb*_0x7c9axa};_[_0x514a[30]](_0x7c9ax6[_0x514a[13]],function(_0x7c9axd,_0x7c9axe){switch(_0x7c9axe){case _0x514a[12]:;case _0x514a[14]:break ;;case _0x514a[17]:_0x7c9axc[_0x514a[15]]=util[_0x514a[20]](_0x514a[16],_0x7c9ax6[_0x514a[13]][_0x514a[17]],_0x7c9ax6[_0x514a[13]][_0x514a[18]]||_0x514a[19])||null;break ;;case _0x514a[18]:break ;;case _0x514a[26]:_0x7c9axc[_0x514a[22]][_0x514a[21]]=[];_0x7c9ax9[_0x514a[25]](function(_0x7c9axf){var _0x7c9ax10={};_0x7c9ax10[_0x7c9axf]={$like:_0x514a[23]+_0x7c9axd+_0x514a[23]};_0x7c9axc[_0x514a[22]][_0x514a[21]][_0x514a[24]](_0x7c9ax10);});break ;;case _0x514a[27]:_0x7c9axc[_0x514a[22]][_0x514a[27]]={$or:_0x7c9axd[_0x514a[28]](/[\s,]+/)};break ;;default:_0x7c9axc[_0x514a[22]][_0x7c9axe]={$like:{}};_0x7c9axc[_0x514a[22]][_0x7c9axe][_0x514a[29]]=_0x514a[23]+_0x7c9axd+_0x514a[23];;}});Trunk[_0x514a[44]](_0x7c9axc)[_0x514a[43]](function(_0x7c9ax12){var _0x7c9ax13=Math[_0x514a[36]](_0x7c9ax12[_0x514a[35]]/_0x7c9axa);var _0x7c9ax14=_0x7c9ax13>(_0x7c9axc[_0x514a[37]]+1)?util[_0x514a[20]](_0x514a[38],_0x7c9ax6[_0x514a[39]],_0x7c9ax6[_0x514a[40]][_0x514a[9]],_0x7c9ax6[_0x514a[41]],_0x7c9axb+1):null;var _0x7c9ax15=_0x7c9axb>0?util[_0x514a[20]](_0x514a[38],_0x7c9ax6[_0x514a[39]],_0x7c9ax6[_0x514a[40]][_0x514a[9]],_0x7c9ax6[_0x514a[41]],_0x7c9axb-1):null;_0x7c9ax7[_0x514a[33]](200)[_0x514a[32]]({count:_0x7c9ax12[_0x514a[35]],rows:_0x7c9ax12[_0x514a[42]],next_page:_0x7c9ax14,previous_page:_0x7c9ax15,total_pages:_0x7c9ax13});})[_0x514a[34]](function(_0x7c9ax11){_0x7c9ax7[_0x514a[33]](500)[_0x514a[32]]({error:_0x514a[31]})});};exports[_0x514a[45]]=function(_0x7c9ax6,_0x7c9ax7){Trunk[_0x514a[49]](_0x7c9ax6[_0x514a[48]][_0x514a[47]])[_0x514a[43]](function(_0x7c9ax16){if(!_0x7c9ax16){return _0x7c9ax7[_0x514a[46]](404)};return _0x7c9ax7[_0x514a[32]](_0x7c9ax16);})[_0x514a[34]](function(_0x7c9ax11){return handleError(_0x7c9ax7,_0x7c9ax11)})};exports[_0x514a[50]]=function(_0x7c9ax6,_0x7c9ax7){console[_0x514a[52]](_0x7c9ax6[_0x514a[51]]);Trunk[_0x514a[53]]({where:{name:_0x7c9ax6[_0x514a[51]][_0x514a[8]]}})[_0x514a[43]](function(_0x7c9ax17){if(!_0x7c9ax17){return _0x7c9ax7[_0x514a[46]](404)};return _0x7c9ax7[_0x514a[32]](_0x7c9ax17);})[_0x514a[34]](function(_0x7c9ax11){return handleError(_0x7c9ax7,_0x7c9ax11)});};exports[_0x514a[54]]=function(_0x7c9ax6,_0x7c9ax7){Trunk[_0x514a[53]]({where:{name:_0x7c9ax6[_0x514a[51]][_0x514a[8]]}})[_0x514a[43]](function(_0x7c9ax18){console[_0x514a[52]](_0x7c9ax18);console[_0x514a[52]](_0x514a[56]);if(!_0x7c9ax18){return _0x7c9ax7[_0x514a[46]](404)};if(_0x7c9ax18[_0x514a[57]]>0){return _0x7c9ax7[_0x514a[33]](500)[_0x514a[32]]({message:_0x514a[58]})};Trunk[_0x514a[54]](_0x7c9ax6[_0x514a[51]])[_0x514a[43]](function(_0x7c9ax16){return _0x7c9ax7[_0x514a[33]](201)[_0x514a[32]](_0x7c9ax16)})[_0x514a[34]](function(_0x7c9ax11){console[_0x514a[52]](_0x514a[59],_0x7c9ax11);return handleError(_0x7c9ax7,_0x7c9ax11);});})[_0x514a[34]](function(_0x7c9ax11){console[_0x514a[52]](_0x514a[55],_0x7c9ax11);return handleError(_0x7c9ax7,_0x7c9ax11);})};exports[_0x514a[60]]=function(_0x7c9ax6,_0x7c9ax7,_0x7c9ax8){Trunk[_0x514a[53]]({where:{name:_0x7c9ax6[_0x514a[51]][_0x514a[8]],id:{$ne:_0x7c9ax6[_0x514a[51]][_0x514a[47]]}}})[_0x514a[43]](function(_0x7c9ax18){console[_0x514a[52]](_0x7c9ax18);console[_0x514a[52]](_0x514a[56]);if(!_0x7c9ax18){return _0x7c9ax7[_0x514a[46]](404)};if(_0x7c9ax18[_0x514a[57]]>0){return _0x7c9ax7[_0x514a[33]](500)[_0x514a[32]]({message:_0x514a[58]})};if(_0x7c9ax6[_0x514a[51]][_0x514a[47]]){delete _0x7c9ax6[_0x514a[51]][_0x514a[47]]};Trunk[_0x514a[49]](_0x7c9ax6[_0x514a[48]][_0x514a[47]])[_0x514a[43]](function(_0x7c9ax16){if(!_0x7c9ax16){return _0x7c9ax7[_0x514a[46]](404)};var _0x7c9ax19=_[_0x514a[61]](_0x7c9ax16,_0x7c9ax6[_0x514a[51]]);return sequelize[_0x514a[65]](function(_0x7c9ax1a){return _0x7c9ax19[_0x514a[64]]({transaction:_0x7c9ax1a})[_0x514a[43]](function(_0x7c9ax16){return VoiceExtension[_0x514a[60]]({trunk:_0x7c9ax16[_0x514a[8]],cutdigits:sequelize[_0x514a[63]](_0x514a[62])},{where:{TrunkId:_0x7c9ax16[_0x514a[47]]}},{transaction:_0x7c9ax1a})[_0x514a[43]](function(){return _0x7c9ax7[_0x514a[33]](200)[_0x514a[32]](_0x7c9ax16)})})})[_0x514a[34]](function(_0x7c9ax11){return handleError(_0x7c9ax7,_0x7c9ax11)});})[_0x514a[34]](function(_0x7c9ax11){return _0x7c9ax8(_0x7c9ax11)});})[_0x514a[34]](function(_0x7c9ax11){return _0x7c9ax8(_0x7c9ax11)})};exports[_0x514a[66]]=function(_0x7c9ax6,_0x7c9ax7){Trunk[_0x514a[49]](_0x7c9ax6[_0x514a[48]][_0x514a[47]])[_0x514a[43]](function(_0x7c9ax16){if(!_0x7c9ax16){return _0x7c9ax7[_0x514a[46]](404)};_0x7c9ax16[_0x514a[68]]({where:{isApp:true}})[_0x514a[43]](function(_0x7c9ax1b){console[_0x514a[52]](_0x7c9ax1b[_0x514a[57]]);if(_0x7c9ax1b[_0x514a[57]]>0){return _0x7c9ax7[_0x514a[33]](500)[_0x514a[32]]({message:_0x514a[67]})};_0x7c9ax16[_0x514a[66]]()[_0x514a[43]](function(){return _0x7c9ax7[_0x514a[46]](204)})[_0x514a[34]](function(_0x7c9ax11){return handleError(_0x7c9ax7,_0x7c9ax11)});})[_0x514a[34]](function(_0x7c9ax11){return handleError(_0x7c9ax7,_0x7c9ax11)});})[_0x514a[34]](function(_0x7c9ax11){return handleError(_0x7c9ax7,_0x7c9ax11)})};exports[_0x514a[69]]=function(_0x7c9ax6,_0x7c9ax7){var _0x7c9ax1c=false;Trunk[_0x514a[53]]({where:{id:_0x7c9ax6[_0x514a[13]][_0x514a[47]]},include:[{all:true}]})[_0x514a[43]](function(_0x7c9ax17){if(!_0x7c9ax17){return _0x7c9ax7[_0x514a[46]](404)};_0x7c9ax17[_0x514a[25]](function(_0x7c9ax1d){if(_0x7c9ax1d[_0x514a[70]][_0x514a[57]]>0){_0x7c9ax1c=true}});if(_0x7c9ax1c){return _0x7c9ax7[_0x514a[33]](500)[_0x514a[32]]({message:_0x514a[67]})};Trunk[_0x514a[66]]({where:{id:_0x7c9ax6[_0x514a[13]][_0x514a[47]]},individualHooks:true})[_0x514a[43]](function(){return _0x7c9ax7[_0x514a[46]](204)})[_0x514a[34]](function(_0x7c9ax11){return handleError(_0x7c9ax7,_0x7c9ax11)});})[_0x514a[34]](function(_0x7c9ax11){return handleError(_0x7c9ax7,_0x7c9ax11)});};function handleError(_0x7c9ax7,_0x7c9ax11){return _0x7c9ax7[_0x514a[33]](500)[_0x514a[32]](_0x7c9ax11)}
\ No newline at end of file
index 3c776ececd5c5dce3cc22b3ab37743bc827c501a..4f5de294908e9d2b7ef6b7b39c2a18126f40f40f 100644 (file)
@@ -1 +1 @@
-var _0x69c5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x74\x72\x75\x6E\x6B\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x74\x72\x75\x6E\x6B\x3A\x72\x65\x6D\x6F\x76\x65"];_0x69c5[0];var Trunk=require(_0x69c5[2])[_0x69c5[1]];exports[_0x69c5[3]]=function(_0xa1bax2){Trunk[_0x69c5[4]](function(_0xa1bax3){onSave(_0xa1bax2,_0xa1bax3)});Trunk[_0x69c5[5]](function(_0xa1bax3){onRemove(_0xa1bax2,_0xa1bax3)});};function onSave(_0xa1bax2,_0xa1bax3,_0xa1bax5){_0xa1bax2[_0x69c5[7]](_0x69c5[6],_0xa1bax3)}function onRemove(_0xa1bax2,_0xa1bax3,_0xa1bax5){_0xa1bax2[_0x69c5[7]](_0x69c5[8],_0xa1bax3)}
\ No newline at end of file
+var _0x8cb7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x74\x72\x75\x6E\x6B\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x74\x72\x75\x6E\x6B\x3A\x72\x65\x6D\x6F\x76\x65"];_0x8cb7[0];var Trunk=require(_0x8cb7[2])[_0x8cb7[1]];exports[_0x8cb7[3]]=function(_0xfcfex2){Trunk[_0x8cb7[4]](function(_0xfcfex3){onSave(_0xfcfex2,_0xfcfex3)});Trunk[_0x8cb7[5]](function(_0xfcfex3){onRemove(_0xfcfex2,_0xfcfex3)});};function onSave(_0xfcfex2,_0xfcfex3,_0xfcfex5){_0xfcfex2[_0x8cb7[7]](_0x8cb7[6],_0xfcfex3)}function onRemove(_0xfcfex2,_0xfcfex3,_0xfcfex5){_0xfcfex2[_0x8cb7[7]](_0x8cb7[8],_0xfcfex3)}
\ No newline at end of file
index 17db9f47bf266ef7a87e8b08ec5901aaab6f5691..7c2feb5489445f93b799e0a378a018bc34567227 100644 (file)
@@ -1 +1 @@
-var _0x8fdb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x74\x72\x75\x6E\x6B\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x74\x72\x75\x6E\x6B\x73","\x67\x65\x74"];_0x8fdb[0];var should=require(_0x8fdb[1]);var app=require(_0x8fdb[2]);var request=require(_0x8fdb[3]);describe(_0x8fdb[4],function(){it(_0x8fdb[5],function(_0x6708x4){request(app)[_0x8fdb[13]](_0x8fdb[12])[_0x8fdb[11]](200)[_0x8fdb[11]](_0x8fdb[10],/json/)[_0x8fdb[9]](function(_0x6708x5,_0x6708x6){if(_0x6708x5){return _0x6708x4(_0x6708x5)};_0x6708x6[_0x8fdb[8]][_0x8fdb[1]][_0x8fdb[7]][_0x8fdb[6]](Array);_0x6708x4();})})});
\ No newline at end of file
+var _0xfd48=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x74\x72\x75\x6E\x6B\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x74\x72\x75\x6E\x6B\x73","\x67\x65\x74"];_0xfd48[0];var should=require(_0xfd48[1]);var app=require(_0xfd48[2]);var request=require(_0xfd48[3]);describe(_0xfd48[4],function(){it(_0xfd48[5],function(_0x888ax4){request(app)[_0xfd48[13]](_0xfd48[12])[_0xfd48[11]](200)[_0xfd48[11]](_0xfd48[10],/json/)[_0xfd48[9]](function(_0x888ax5,_0x888ax6){if(_0x888ax5){return _0x888ax4(_0x888ax5)};_0x888ax6[_0xfd48[8]][_0xfd48[1]][_0xfd48[7]][_0xfd48[6]](Array);_0x888ax4();})})});
\ No newline at end of file
index 09a46d50dd168d69dbf49961c15e5ccf88b88890..9dc6ca72e7fedf97096cd00f44d5c7bc98d40257 100644 (file)
@@ -1 +1 @@
-var _0x7f7e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x70\x64\x61\x74\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x52\x6F\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x70\x75\x6C\x6C","\x70\x75\x6C\x6C","\x65\x78\x70\x6F\x72\x74\x73"];_0x7f7e[0];var express=require(_0x7f7e[1]);var controller=require(_0x7f7e[2]);var auth=require(_0x7f7e[3]);var router=express.Router();router[_0x7f7e[9]](_0x7f7e[4],auth[_0x7f7e[5]](),auth[_0x7f7e[7]](_0x7f7e[6]),controller[_0x7f7e[8]]);router[_0x7f7e[9]](_0x7f7e[10],auth[_0x7f7e[5]](),auth[_0x7f7e[7]](_0x7f7e[6]),controller[_0x7f7e[11]]);module[_0x7f7e[12]]=router;
\ No newline at end of file
+var _0x823d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x70\x64\x61\x74\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x52\x6F\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x70\x75\x6C\x6C","\x70\x75\x6C\x6C","\x65\x78\x70\x6F\x72\x74\x73"];_0x823d[0];var express=require(_0x823d[1]);var controller=require(_0x823d[2]);var auth=require(_0x823d[3]);var router=express.Router();router[_0x823d[9]](_0x823d[4],auth[_0x823d[5]](),auth[_0x823d[7]](_0x823d[6]),controller[_0x823d[8]]);router[_0x823d[9]](_0x823d[10],auth[_0x823d[5]](),auth[_0x823d[7]](_0x823d[6]),controller[_0x823d[11]]);module[_0x823d[12]]=router;
\ No newline at end of file
index dc3bb667cc355b52b1537505f2e6d307cdfa39a9..86bbdb6d871d1716287308046f795ddbc5ae0a0e 100644 (file)
@@ -1 +1 @@
-var _0x9d3a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x72\x6F\x6F\x74","\x6A\x6F\x69\x6E","\x73\x69\x6D\x70\x6C\x65\x2D\x67\x69\x74","\x55\x70\x64\x61\x74\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x76\x65\x72\x73\x69\x6F\x6E","\x7C","\x73\x70\x6C\x69\x74","\x6D\x65\x73\x73\x61\x67\x65","\x75\x6E\x6B\x6E\x6F\x77\x6E","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x61\x6C\x6C","\x4C\x61\x74\x65\x73\x74\x20\x61\x76\x61\x69\x6C\x61\x62\x6C\x65\x20\x74\x61\x67\x3A\x20\x25\x73","\x6C\x61\x74\x65\x73\x74","\x6C\x6F\x67","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x73\x68\x6F\x77","\x70\x75\x6C\x6C","\x63\x68\x65\x63\x6B\x6F\x75\x74","\x72\x65\x71\x2E\x70\x61\x72\x61\x6D\x73\x2E\x68\x61\x73\x68","\x68\x61\x73\x68","\x70\x61\x72\x61\x6D\x73","\x63\x72\x65\x61\x74\x65","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x69\x64","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79"];_0x9d3a[0];var _=require(_0x9d3a[1]);var path=require(_0x9d3a[2]);var config=require(_0x9d3a[3]);var Git=require(_0x9d3a[6])(path[_0x9d3a[5]](config[_0x9d3a[4]]));var Update=require(_0x9d3a[8])[_0x9d3a[7]];exports[_0x9d3a[9]]=function(_0xbc16x6,_0xbc16x7){Git[_0x9d3a[20]](function(_0xbc16x8,_0xbc16x9){if(_0xbc16x8){return handleError(_0xbc16x7,_0xbc16x8)};var _0xbc16xa=[];_0xbc16x9[_0x9d3a[17]][_0x9d3a[16]](function(_0xbc16xb){_0xbc16xb[_0x9d3a[10]]=_0xbc16xb[_0x9d3a[13]][_0x9d3a[12]](_0x9d3a[11])[1]||_0x9d3a[14];_0xbc16xb[_0x9d3a[13]]=_0xbc16xb[_0x9d3a[13]][_0x9d3a[12]](_0x9d3a[11])[0];_0xbc16xa[_0x9d3a[15]](_0xbc16xb);});console[_0x9d3a[20]](_0x9d3a[18],_0xbc16x9[_0x9d3a[19]]);return _0xbc16x7[_0x9d3a[22]](200)[_0x9d3a[21]](_0xbc16xa);})};exports[_0x9d3a[23]]=function(_0xbc16x6,_0xbc16x7){};exports[_0x9d3a[24]]=function(_0xbc16x6,_0xbc16x7){Git[_0x9d3a[24]](function(_0xbc16x8,_0xbc16xc){if(_0xbc16x8){return handleError(_0xbc16x7,_0xbc16x8)};return _0xbc16x7[_0x9d3a[22]](201)[_0x9d3a[21]](_0xbc16xc);})};exports[_0x9d3a[25]]=function(_0xbc16x6,_0xbc16x7){console[_0x9d3a[20]](_0x9d3a[26],_0xbc16x6[_0x9d3a[28]][_0x9d3a[27]]);Git[_0x9d3a[25]](_0xbc16x6[_0x9d3a[28]][_0x9d3a[27]],function(_0xbc16x8,_0xbc16xc){if(_0xbc16x8){return handleError(_0xbc16x7,_0xbc16x8)};return _0xbc16x7[_0x9d3a[22]](201)[_0x9d3a[21]](_0xbc16xc);});};exports[_0x9d3a[29]]=function(_0xbc16x6,_0xbc16x7){Update[_0x9d3a[29]](_0xbc16x6[_0x9d3a[32]])[_0x9d3a[31]](function(_0xbc16xc){return _0xbc16x7[_0x9d3a[22]](201)[_0x9d3a[21]](_0xbc16xc)})[_0x9d3a[30]](function(_0xbc16x8){return handleError(_0xbc16x7,_0xbc16x8)})};exports[_0x9d3a[33]]=function(_0xbc16x6,_0xbc16x7){if(_0xbc16x6[_0x9d3a[32]][_0x9d3a[34]]){delete _0xbc16x6[_0x9d3a[32]][_0x9d3a[34]]};Update[_0x9d3a[38]]({where:{id:_0xbc16x6[_0x9d3a[28]][_0x9d3a[34]]}})[_0x9d3a[31]](function(_0xbc16xc){if(!_0xbc16xc){return _0xbc16x7[_0x9d3a[35]](404)};var _0xbc16xd=_[_0x9d3a[36]](_0xbc16xc,_0xbc16x6[_0x9d3a[32]]);_0xbc16xd[_0x9d3a[37]]()[_0x9d3a[31]](function(){return _0xbc16x7[_0x9d3a[22]](200)[_0x9d3a[21]](_0xbc16xc)})[_0x9d3a[30]](function(_0xbc16x8){return handleError(_0xbc16x7,_0xbc16x8)});})[_0x9d3a[30]](function(_0xbc16x8){return handleError(_0xbc16x7,_0xbc16x8)});};exports[_0x9d3a[39]]=function(_0xbc16x6,_0xbc16x7){Update[_0x9d3a[38]]({where:{id:_0xbc16x6[_0x9d3a[28]][_0x9d3a[34]]}})[_0x9d3a[31]](function(_0xbc16xc){if(!_0xbc16xc){return _0xbc16x7[_0x9d3a[35]](404)};_0xbc16xc[_0x9d3a[39]]()[_0x9d3a[31]](function(){return _0xbc16x7[_0x9d3a[35]](204)})[_0x9d3a[30]](function(_0xbc16x8){return handleError(_0xbc16x7,_0xbc16x8)});})[_0x9d3a[30]](function(_0xbc16x8){return handleError(_0xbc16x7,_0xbc16x8)})};function handleError(_0xbc16x7,_0xbc16x8){return _0xbc16x7[_0x9d3a[22]](500)[_0x9d3a[21]](_0xbc16x8)}
\ No newline at end of file
+var _0xa734=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x72\x6F\x6F\x74","\x6A\x6F\x69\x6E","\x73\x69\x6D\x70\x6C\x65\x2D\x67\x69\x74","\x55\x70\x64\x61\x74\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x76\x65\x72\x73\x69\x6F\x6E","\x7C","\x73\x70\x6C\x69\x74","\x6D\x65\x73\x73\x61\x67\x65","\x75\x6E\x6B\x6E\x6F\x77\x6E","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x61\x6C\x6C","\x4C\x61\x74\x65\x73\x74\x20\x61\x76\x61\x69\x6C\x61\x62\x6C\x65\x20\x74\x61\x67\x3A\x20\x25\x73","\x6C\x61\x74\x65\x73\x74","\x6C\x6F\x67","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x73\x68\x6F\x77","\x70\x75\x6C\x6C","\x63\x68\x65\x63\x6B\x6F\x75\x74","\x72\x65\x71\x2E\x70\x61\x72\x61\x6D\x73\x2E\x68\x61\x73\x68","\x68\x61\x73\x68","\x70\x61\x72\x61\x6D\x73","\x63\x72\x65\x61\x74\x65","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x69\x64","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79"];_0xa734[0];var _=require(_0xa734[1]);var path=require(_0xa734[2]);var config=require(_0xa734[3]);var Git=require(_0xa734[6])(path[_0xa734[5]](config[_0xa734[4]]));var Update=require(_0xa734[8])[_0xa734[7]];exports[_0xa734[9]]=function(_0x8814x6,_0x8814x7){Git[_0xa734[20]](function(_0x8814x8,_0x8814x9){if(_0x8814x8){return handleError(_0x8814x7,_0x8814x8)};var _0x8814xa=[];_0x8814x9[_0xa734[17]][_0xa734[16]](function(_0x8814xb){_0x8814xb[_0xa734[10]]=_0x8814xb[_0xa734[13]][_0xa734[12]](_0xa734[11])[1]||_0xa734[14];_0x8814xb[_0xa734[13]]=_0x8814xb[_0xa734[13]][_0xa734[12]](_0xa734[11])[0];_0x8814xa[_0xa734[15]](_0x8814xb);});console[_0xa734[20]](_0xa734[18],_0x8814x9[_0xa734[19]]);return _0x8814x7[_0xa734[22]](200)[_0xa734[21]](_0x8814xa);})};exports[_0xa734[23]]=function(_0x8814x6,_0x8814x7){};exports[_0xa734[24]]=function(_0x8814x6,_0x8814x7){Git[_0xa734[24]](function(_0x8814x8,_0x8814xc){if(_0x8814x8){return handleError(_0x8814x7,_0x8814x8)};return _0x8814x7[_0xa734[22]](201)[_0xa734[21]](_0x8814xc);})};exports[_0xa734[25]]=function(_0x8814x6,_0x8814x7){console[_0xa734[20]](_0xa734[26],_0x8814x6[_0xa734[28]][_0xa734[27]]);Git[_0xa734[25]](_0x8814x6[_0xa734[28]][_0xa734[27]],function(_0x8814x8,_0x8814xc){if(_0x8814x8){return handleError(_0x8814x7,_0x8814x8)};return _0x8814x7[_0xa734[22]](201)[_0xa734[21]](_0x8814xc);});};exports[_0xa734[29]]=function(_0x8814x6,_0x8814x7){Update[_0xa734[29]](_0x8814x6[_0xa734[32]])[_0xa734[31]](function(_0x8814xc){return _0x8814x7[_0xa734[22]](201)[_0xa734[21]](_0x8814xc)})[_0xa734[30]](function(_0x8814x8){return handleError(_0x8814x7,_0x8814x8)})};exports[_0xa734[33]]=function(_0x8814x6,_0x8814x7){if(_0x8814x6[_0xa734[32]][_0xa734[34]]){delete _0x8814x6[_0xa734[32]][_0xa734[34]]};Update[_0xa734[38]]({where:{id:_0x8814x6[_0xa734[28]][_0xa734[34]]}})[_0xa734[31]](function(_0x8814xc){if(!_0x8814xc){return _0x8814x7[_0xa734[35]](404)};var _0x8814xd=_[_0xa734[36]](_0x8814xc,_0x8814x6[_0xa734[32]]);_0x8814xd[_0xa734[37]]()[_0xa734[31]](function(){return _0x8814x7[_0xa734[22]](200)[_0xa734[21]](_0x8814xc)})[_0xa734[30]](function(_0x8814x8){return handleError(_0x8814x7,_0x8814x8)});})[_0xa734[30]](function(_0x8814x8){return handleError(_0x8814x7,_0x8814x8)});};exports[_0xa734[39]]=function(_0x8814x6,_0x8814x7){Update[_0xa734[38]]({where:{id:_0x8814x6[_0xa734[28]][_0xa734[34]]}})[_0xa734[31]](function(_0x8814xc){if(!_0x8814xc){return _0x8814x7[_0xa734[35]](404)};_0x8814xc[_0xa734[39]]()[_0xa734[31]](function(){return _0x8814x7[_0xa734[35]](204)})[_0xa734[30]](function(_0x8814x8){return handleError(_0x8814x7,_0x8814x8)});})[_0xa734[30]](function(_0x8814x8){return handleError(_0x8814x7,_0x8814x8)})};function handleError(_0x8814x7,_0x8814x8){return _0x8814x7[_0xa734[22]](500)[_0xa734[21]](_0x8814x8)}
\ No newline at end of file
index 2bdf90fcf5b3d6c790ecf0a3e644dbd22fc144cb..0e1049521d0bc0dda7977e4e8bf4a8fe00437576 100644 (file)
@@ -1 +1 @@
-var _0x8d87=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x55\x70\x64\x61\x74\x65","\x53\x54\x52\x49\x4E\x47","\x64\x65\x66\x69\x6E\x65"];_0x8d87[0];module[_0x8d87[1]]=function(_0xe277x1,_0xe277x2){var _0xe277x3=_0xe277x1[_0x8d87[4]](_0x8d87[2],{name:_0xe277x2[_0x8d87[3]],description:_0xe277x2[_0x8d87[3]]});return _0xe277x3;};
\ No newline at end of file
+var _0x80e8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x55\x70\x64\x61\x74\x65","\x53\x54\x52\x49\x4E\x47","\x64\x65\x66\x69\x6E\x65"];_0x80e8[0];module[_0x80e8[1]]=function(_0x102bx1,_0x102bx2){var _0x102bx3=_0x102bx1[_0x80e8[4]](_0x80e8[2],{name:_0x102bx2[_0x80e8[3]],description:_0x102bx2[_0x80e8[3]]});return _0x102bx3;};
\ No newline at end of file
index a97767fafd443fe6a0b3b3353f57fafffa2d88f1..f605f968992225ac2c79ee0372a014f04c0a8886 100644 (file)
@@ -1 +1 @@
-var _0xd2f9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x70\x64\x61\x74\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x75\x70\x64\x61\x74\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x75\x70\x64\x61\x74\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0xd2f9[0];var Update=require(_0xd2f9[2])[_0xd2f9[1]];exports[_0xd2f9[3]]=function(_0xd03cx2){Update[_0xd2f9[4]](function(_0xd03cx3){onSave(_0xd03cx2,_0xd03cx3)});Update[_0xd2f9[5]](function(_0xd03cx3){onRemove(_0xd03cx2,_0xd03cx3)});};function onSave(_0xd03cx2,_0xd03cx3,_0xd03cx5){_0xd03cx2[_0xd2f9[7]](_0xd2f9[6],_0xd03cx3)}function onRemove(_0xd03cx2,_0xd03cx3,_0xd03cx5){_0xd03cx2[_0xd2f9[7]](_0xd2f9[8],_0xd03cx3)}
\ No newline at end of file
+var _0xaf1a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x70\x64\x61\x74\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x75\x70\x64\x61\x74\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x75\x70\x64\x61\x74\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0xaf1a[0];var Update=require(_0xaf1a[2])[_0xaf1a[1]];exports[_0xaf1a[3]]=function(_0x9c59x2){Update[_0xaf1a[4]](function(_0x9c59x3){onSave(_0x9c59x2,_0x9c59x3)});Update[_0xaf1a[5]](function(_0x9c59x3){onRemove(_0x9c59x2,_0x9c59x3)});};function onSave(_0x9c59x2,_0x9c59x3,_0x9c59x5){_0x9c59x2[_0xaf1a[7]](_0xaf1a[6],_0x9c59x3)}function onRemove(_0x9c59x2,_0x9c59x3,_0x9c59x5){_0x9c59x2[_0xaf1a[7]](_0xaf1a[8],_0x9c59x3)}
\ No newline at end of file
index 3f883f2f1e87668873d4066d68d91d622eab56f6..f74e8048c586b9bd6fa24ab3e7cc28c47a482049 100644 (file)
@@ -1 +1 @@
-var _0x8a0f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x75\x70\x64\x61\x74\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x75\x70\x64\x61\x74\x65\x73","\x67\x65\x74"];_0x8a0f[0];var should=require(_0x8a0f[1]);var app=require(_0x8a0f[2]);var request=require(_0x8a0f[3]);describe(_0x8a0f[4],function(){it(_0x8a0f[5],function(_0x78f4x4){request(app)[_0x8a0f[13]](_0x8a0f[12])[_0x8a0f[11]](200)[_0x8a0f[11]](_0x8a0f[10],/json/)[_0x8a0f[9]](function(_0x78f4x5,_0x78f4x6){if(_0x78f4x5){return _0x78f4x4(_0x78f4x5)};_0x78f4x6[_0x8a0f[8]][_0x8a0f[1]][_0x8a0f[7]][_0x8a0f[6]](Array);_0x78f4x4();})})});
\ No newline at end of file
+var _0xf0f5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x75\x70\x64\x61\x74\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x75\x70\x64\x61\x74\x65\x73","\x67\x65\x74"];_0xf0f5[0];var should=require(_0xf0f5[1]);var app=require(_0xf0f5[2]);var request=require(_0xf0f5[3]);describe(_0xf0f5[4],function(){it(_0xf0f5[5],function(_0x3331x4){request(app)[_0xf0f5[13]](_0xf0f5[12])[_0xf0f5[11]](200)[_0xf0f5[11]](_0xf0f5[10],/json/)[_0xf0f5[9]](function(_0x3331x5,_0x3331x6){if(_0x3331x5){return _0x3331x4(_0x3331x5)};_0x3331x6[_0xf0f5[8]][_0xf0f5[1]][_0xf0f5[7]][_0xf0f5[6]](Array);_0x3331x4();})})});
\ No newline at end of file
index be2abc355ae47a8021b6ae55d9597ccfa6a2b174..9bc853cf35e87295f830a866738bd17ad778e198 100644 (file)
@@ -1 +1 @@
-var _0x49dd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x70\x6C\x6F\x61\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x2F\x73\x74\x72\x65\x61\x6D\x2F\x3A\x69\x64","\x73\x74\x72\x65\x61\x6D","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x49dd[0];var express=require(_0x49dd[1]);var controller=require(_0x49dd[2]);var auth=require(_0x49dd[3]);var router=express.Router();router[_0x49dd[7]](_0x49dd[4],auth[_0x49dd[5]](),controller[_0x49dd[6]]);router[_0x49dd[7]](_0x49dd[8],auth[_0x49dd[5]](),controller[_0x49dd[9]]);router[_0x49dd[7]](_0x49dd[10],auth[_0x49dd[5]](),controller[_0x49dd[11]]);router[_0x49dd[13]](_0x49dd[4],auth[_0x49dd[5]](),controller[_0x49dd[12]]);router[_0x49dd[15]](_0x49dd[8],auth[_0x49dd[5]](),controller[_0x49dd[14]]);router[_0x49dd[16]](_0x49dd[8],auth[_0x49dd[5]](),controller[_0x49dd[14]]);router[_0x49dd[18]](_0x49dd[8],auth[_0x49dd[5]](),controller[_0x49dd[17]]);module[_0x49dd[19]]=router;
\ No newline at end of file
+var _0x608b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x70\x6C\x6F\x61\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x2F\x73\x74\x72\x65\x61\x6D\x2F\x3A\x69\x64","\x73\x74\x72\x65\x61\x6D","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x608b[0];var express=require(_0x608b[1]);var controller=require(_0x608b[2]);var auth=require(_0x608b[3]);var router=express.Router();router[_0x608b[7]](_0x608b[4],auth[_0x608b[5]](),controller[_0x608b[6]]);router[_0x608b[7]](_0x608b[8],auth[_0x608b[5]](),controller[_0x608b[9]]);router[_0x608b[7]](_0x608b[10],auth[_0x608b[5]](),controller[_0x608b[11]]);router[_0x608b[13]](_0x608b[4],auth[_0x608b[5]](),controller[_0x608b[12]]);router[_0x608b[15]](_0x608b[8],auth[_0x608b[5]](),controller[_0x608b[14]]);router[_0x608b[16]](_0x608b[8],auth[_0x608b[5]](),controller[_0x608b[14]]);router[_0x608b[18]](_0x608b[8],auth[_0x608b[5]](),controller[_0x608b[17]]);module[_0x608b[19]]=router;
\ No newline at end of file
index 47019f8af43f20c442463b87f4ab1c45729bd3a8..2d046122274a40f8217f0e4d5a4212eb861a335c 100644 (file)
@@ -1 +1 @@
-var _0xc68a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x55\x70\x6C\x6F\x61\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x75\x70\x6C\x6F\x61\x64\x2D\x66\x69\x6C\x65","\x73\x69\x6D\x70\x6C\x65\x2D\x72\x61\x6E\x64\x6F\x6D","\x73\x6F\x78","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x66\x73","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x66\x69\x6C\x65\x2D\x62\x61\x73\x65\x36\x34","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x73\x6F\x75\x6E\x64\x73\x2F\x6F\x72\x69\x67\x69\x6E\x61\x6C","\x6A\x6F\x69\x6E","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x65\x78\x74\x6E\x61\x6D\x65","\x4D\x61\x78\x20\x6E\x75\x6D\x62\x65\x72\x20\x6F\x66\x20\x66\x69\x6C\x65\x73\x20\x75\x70\x6C\x6F\x61\x64\x20\x65\x78\x63\x65\x65\x64\x65\x64","\x4F\x6E\x6C\x79\x20\x77\x61\x76\x2C\x6D\x70\x33\x2C\x67\x73\x6D\x2C\x20\x61\x6E\x64\x20\x6F\x67\x67\x20\x66\x6F\x72\x6D\x61\x74\x20\x61\x63\x63\x65\x70\x74\x65\x64","\x54\x68\x65\x20\x6D\x61\x78\x69\x6D\x75\x6D\x20\x66\x69\x6C\x65\x20\x73\x69\x7A\x65\x20\x69\x73\x20\x31\x35\x20\x4D\x62","\x49\x6E\x76\x61\x6C\x69\x64\x20\x72\x65\x71\x75\x65\x73\x74","\x65\x6E\x64","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","","\x6E\x61\x6D\x65","\x64\x69\x73\x70\x6C\x61\x79\x5F\x6E\x61\x6D\x65","\x66\x69\x6C\x65","\x62\x61\x73\x65\x6E\x61\x6D\x65","\x73\x61\x76\x65\x5F\x6E\x61\x6D\x65","\x6F\x72\x69\x67\x69\x6E\x61\x6C\x5F\x70\x61\x74\x68","\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x5F\x70\x61\x74\x68","\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x73\x6F\x75\x6E\x64\x73\x2F\x63\x6F\x6E\x76\x65\x72\x74\x65\x64","\x2E\x77\x61\x76","\x30\x37\x37\x37","\x63\x68\x6D\x6F\x64\x53\x79\x6E\x63","\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x20\x52\x65\x73\x75\x6C\x74\x3A\x20","\x6C\x6F\x67","\x69\x64\x65\x6E\x74\x69\x66\x79","\x77\x61\x76","\x74\x72\x61\x6E\x73\x63\x6F\x64\x65","\x65\x72\x72\x6F\x72","\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x20\x43\x6F\x6E\x76\x65\x72\x73\x69\x6F\x6E\x20\x45\x72\x72\x6F\x72\x3A\x20","\x75\x6E\x6C\x69\x6E\x6B","\x6F\x6E","\x70\x72\x6F\x67\x72\x65\x73\x73","\x73\x72\x63","\x6F\x72\x69\x67\x69\x6E\x61\x6C\x5F\x66\x6F\x72\x6D\x61\x74","\x66\x6F\x72\x6D\x61\x74","\x6F\x72\x69\x67\x69\x6E\x61\x6C\x5F\x64\x75\x72\x61\x74\x69\x6F\x6E","\x64\x75\x72\x61\x74\x69\x6F\x6E","\x6F\x72\x69\x67\x69\x6E\x61\x6C\x5F\x73\x61\x6D\x70\x6C\x65\x43\x6F\x75\x6E\x74","\x73\x61\x6D\x70\x6C\x65\x43\x6F\x75\x6E\x74","\x6F\x72\x69\x67\x69\x6E\x61\x6C\x5F\x63\x68\x61\x6E\x6E\x65\x6C\x43\x6F\x75\x6E\x74","\x63\x68\x61\x6E\x6E\x65\x6C\x43\x6F\x75\x6E\x74","\x6F\x72\x69\x67\x69\x6E\x61\x6C\x5F\x62\x69\x74\x52\x61\x74\x65","\x62\x69\x74\x52\x61\x74\x65","\x6F\x72\x69\x67\x69\x6E\x61\x6C\x5F\x73\x61\x6D\x70\x6C\x65\x52\x61\x74\x65","\x73\x61\x6D\x70\x6C\x65\x52\x61\x74\x65","\x64\x65\x73\x74","\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x5F\x66\x6F\x72\x6D\x61\x74","\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x5F\x64\x75\x72\x61\x74\x69\x6F\x6E","\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x5F\x73\x61\x6D\x70\x6C\x65\x43\x6F\x75\x6E\x74","\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x5F\x63\x68\x61\x6E\x6E\x65\x6C\x43\x6F\x75\x6E\x74","\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x5F\x62\x69\x74\x52\x61\x74\x65","\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x5F\x73\x61\x6D\x70\x6C\x65\x52\x61\x74\x65","\x43\x6F\x6E\x76\x65\x72\x73\x69\x6F\x6E\x20\x63\x6F\x6D\x70\x6C\x65\x74\x65\x64","\x73\x74\x61\x72\x74","\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x20\x55\x70\x6C\x6F\x61\x64\x20\x65\x72\x72\x6F\x72\x20\x3A","\x70\x61\x72\x73\x65","\x75\x70\x64\x61\x74\x65","\x62\x6F\x64\x79","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x2E","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x53\x65\x6E\x74\x20\x66\x69\x6C\x65\x20\x75\x6E\x64\x65\x72\x20\x3A","\x73\x74\x72\x65\x61\x6D","\x65\x6E\x63\x6F\x64\x65"];_0xc68a[0];var _=require(_0xc68a[1]);var Upload=require(_0xc68a[3])[_0xc68a[2]];var uploadFile=require(_0xc68a[4]);var sr=require(_0xc68a[5]);var sox=require(_0xc68a[6]);var path=require(_0xc68a[7]);var config=require(_0xc68a[8]);var fs=require(_0xc68a[9]);var sequelize=require(_0xc68a[3])[_0xc68a[10]];var base64=require(_0xc68a[11]);exports[_0xc68a[12]]=function(_0x2200xb,_0x2200xc){Upload[_0xc68a[17]]()[_0xc68a[16]](function(_0x2200xe){return _0x2200xc[_0xc68a[15]](200)[_0xc68a[14]](_0x2200xe)})[_0xc68a[13]](function(_0x2200xd){return handleError(_0x2200xc,_0x2200xd)})};exports[_0xc68a[18]]=function(_0x2200xb,_0x2200xc){Upload[_0xc68a[22]](_0x2200xb[_0xc68a[21]][_0xc68a[20]])[_0xc68a[16]](function(_0x2200xf){if(!_0x2200xf){return _0x2200xc[_0xc68a[19]](404)};return _0x2200xc[_0xc68a[14]](_0x2200xf);})[_0xc68a[13]](function(_0x2200xd){return handleError(_0x2200xc,_0x2200xd)})};exports[_0xc68a[23]]=function(_0x2200xb,_0x2200xc){var _0x2200xf= new uploadFile({dest:path[_0xc68a[26]](config[_0xc68a[24]],_0xc68a[25]),maxFileSize:15*1000000,maxNumberOfFiles:10,minNumberOfFiles:0,acceptFileTypes:/(\.|\/)(wav|mp3|gsm|ogg)$/i,rename:function(_0x2200x10,_0x2200x11){return sr()+path[_0xc68a[28]](_0x2200x11[_0xc68a[27]])},messages:{maxNumberOfFiles:_0xc68a[29],acceptFileTypes:_0xc68a[30],maxFileSize:_0xc68a[31],invalidRequest:_0xc68a[32]}});_0x2200xf[_0xc68a[55]](_0xc68a[33],function(_0x2200x12,_0x2200x13){var _0x2200x14={};_0x2200x14[_0xc68a[34]]=_0xc68a[35];_0x2200x14[_0xc68a[36]]=_0x2200x14[_0xc68a[37]]=path[_0xc68a[39]](_0x2200x13[_0xc68a[38]][_0xc68a[7]],path[_0xc68a[28]](_0x2200x13[_0xc68a[38]][_0xc68a[27]]));_0x2200x14[_0xc68a[40]]=path[_0xc68a[39]](_0x2200x13[_0xc68a[38]][_0xc68a[27]],path[_0xc68a[28]](_0x2200x13[_0xc68a[38]][_0xc68a[27]]));_0x2200x14[_0xc68a[41]]=path[_0xc68a[26]](config[_0xc68a[24]],_0xc68a[25]);_0x2200x14[_0xc68a[42]]=path[_0xc68a[26]](config[_0xc68a[24]],_0xc68a[43]);if(!_0x2200x13[_0xc68a[38]][_0xc68a[27]]){return _0x2200xc[_0xc68a[15]](500)[_0xc68a[14]](_0x2200xf)};var _0x2200x15=path[_0xc68a[26]](_0x2200x14[_0xc68a[41]],_0x2200x14[_0xc68a[40]]+path[_0xc68a[28]](_0x2200x13[_0xc68a[38]][_0xc68a[27]]));var _0x2200x16=path[_0xc68a[26]](_0x2200x14[_0xc68a[42]],_0x2200x14[_0xc68a[40]]+_0xc68a[44]);fs[_0xc68a[46]](_0x2200x15,parseInt(_0xc68a[45],8));sox[_0xc68a[49]](_0x2200x15,function(_0x2200xd,_0x2200x17){console[_0xc68a[48]](_0xc68a[47],_0x2200x17)});var _0x2200x18=sox[_0xc68a[51]](_0x2200x15,_0x2200x16,{sampleRate:8000,format:_0xc68a[50],channelCount:1,bitRate:192*1024,compressionQuality:5});_0x2200x18[_0xc68a[55]](_0xc68a[52],function(_0x2200xd){console[_0xc68a[52]](_0xc68a[53],_0x2200xd);fs[_0xc68a[54]](_0x2200x15,function(_0x2200xd){if(_0x2200xd){return handleError(_0x2200xc,_0x2200xd)}});return handleError(_0x2200xc,_0x2200xd);});_0x2200x18[_0xc68a[55]](_0xc68a[56],function(_0x2200x19,_0x2200x1a){});_0x2200x18[_0xc68a[55]](_0xc68a[57],function(_0x2200x1b){_0x2200x14[_0xc68a[58]]=_0x2200x1b[_0xc68a[59]];_0x2200x14[_0xc68a[60]]=_0x2200x1b[_0xc68a[61]]*1000;_0x2200x14[_0xc68a[62]]=_0x2200x1b[_0xc68a[63]];_0x2200x14[_0xc68a[64]]=_0x2200x1b[_0xc68a[65]];_0x2200x14[_0xc68a[66]]=_0x2200x1b[_0xc68a[67]];_0x2200x14[_0xc68a[68]]=_0x2200x1b[_0xc68a[69]];});_0x2200x18[_0xc68a[55]](_0xc68a[70],function(_0x2200x1b){_0x2200x14[_0xc68a[71]]=_0x2200x1b[_0xc68a[59]];_0x2200x14[_0xc68a[72]]=_0x2200x1b[_0xc68a[61]]*1000;_0x2200x14[_0xc68a[73]]=_0x2200x1b[_0xc68a[63]];_0x2200x14[_0xc68a[74]]=_0x2200x1b[_0xc68a[65]];_0x2200x14[_0xc68a[75]]=_0x2200x1b[_0xc68a[67]];_0x2200x14[_0xc68a[76]]=_0x2200x1b[_0xc68a[69]];});_0x2200x18[_0xc68a[55]](_0xc68a[33],function(){console[_0xc68a[48]](_0xc68a[77]);fs[_0xc68a[46]](_0x2200x16,parseInt(_0xc68a[45],8));Upload[_0xc68a[23]](_0x2200x14)[_0xc68a[16]](function(_0x2200xf){return _0x2200xc[_0xc68a[15]](201)[_0xc68a[14]](_0x2200xf)})[_0xc68a[13]](function(_0x2200xd){return handleError(_0x2200xc,_0x2200xd)});});_0x2200x18[_0xc68a[78]]();});_0x2200xf[_0xc68a[55]](_0xc68a[52],function(_0x2200xd){console[_0xc68a[48]](_0xc68a[79],_0x2200xd);return handleError(_0x2200xc,_0x2200xd);});_0x2200xf[_0xc68a[80]](_0x2200xb);};exports[_0xc68a[81]]=function(_0x2200xb,_0x2200xc){if(_0x2200xb[_0xc68a[82]][_0xc68a[20]]){delete _0x2200xb[_0xc68a[82]][_0xc68a[20]]};Upload[_0xc68a[22]](_0x2200xb[_0xc68a[21]][_0xc68a[20]])[_0xc68a[16]](function(_0x2200xf){if(!_0x2200xf){return _0x2200xc[_0xc68a[19]](404)};var _0x2200x1c=_[_0xc68a[83]](_0x2200xf,_0x2200xb[_0xc68a[82]]);_0x2200x1c[_0xc68a[84]]()[_0xc68a[16]](function(){return _0x2200xc[_0xc68a[15]](200)[_0xc68a[14]](_0x2200xf)})[_0xc68a[13]](function(_0x2200xd){return handleError(_0x2200xc,_0x2200xd)});})[_0xc68a[13]](function(_0x2200xd){return handleError(_0x2200xc,_0x2200xd)});};exports[_0xc68a[85]]=function(_0x2200xb,_0x2200xc){Upload[_0xc68a[22]](_0x2200xb[_0xc68a[21]][_0xc68a[20]])[_0xc68a[16]](function(_0x2200xf){if(!_0x2200xf){return _0x2200xc[_0xc68a[15]](404)[_0xc68a[14]](_0x2200xf)};var _0x2200x1d=path[_0xc68a[26]](_0x2200xf[_0xc68a[41]],_0x2200xf[_0xc68a[40]]+_0xc68a[86]+_0x2200xf[_0xc68a[58]]);var _0x2200x1e=path[_0xc68a[26]](_0x2200xf[_0xc68a[42]],_0x2200xf[_0xc68a[40]]+_0xc68a[86]+_0x2200xf[_0xc68a[71]]);return sequelize[_0xc68a[87]](function(_0x2200x1f){return _0x2200xf[_0xc68a[85]]({transaction:_0x2200x1f})[_0xc68a[16]](function(){fs[_0xc68a[54]](_0x2200x1d,function(_0x2200xd){if(_0x2200xd){return handleError(_0x2200xc,_0x2200xd)}});fs[_0xc68a[54]](_0x2200x1e,function(_0x2200xd){if(_0x2200xd){return handleError(_0x2200xc,_0x2200xd)}});return _0x2200xc[_0xc68a[15]](200)[_0xc68a[14]](_0x2200xf);})})[_0xc68a[13]](function(_0x2200xd){return handleError(_0x2200xc,_0x2200xd)});})[_0xc68a[13]](function(_0x2200xd){return handleError(_0x2200xc,_0x2200xd)})};exports[_0xc68a[88]]=function(_0x2200xb,_0x2200xc){Upload[_0xc68a[22]](_0x2200xb[_0xc68a[21]][_0xc68a[20]])[_0xc68a[16]](function(_0x2200xf){if(!_0x2200xf){return _0x2200xc[_0xc68a[15]](404)[_0xc68a[14]](_0x2200xf)};var _0x2200x1d=path[_0xc68a[26]](_0x2200xf[_0xc68a[41]],_0x2200xf[_0xc68a[40]]+_0xc68a[86]+_0x2200xf[_0xc68a[58]]);_0x2200xc[_0xc68a[15]](200)[_0xc68a[88]](_0x2200x1d,_0x2200xf[_0xc68a[37]]+_0xc68a[86]+_0x2200xf[_0xc68a[58]],function(_0x2200xd){if(_0x2200xd){return handleError(_0x2200xc,_0x2200xd)}else {console[_0xc68a[48]](_0xc68a[89],_0x2200x1d)}});})};exports[_0xc68a[90]]=function(_0x2200xb,_0x2200xc){Upload[_0xc68a[22]](_0x2200xb[_0xc68a[21]][_0xc68a[20]])[_0xc68a[16]](function(_0x2200xf){if(!_0x2200xf){return _0x2200xc[_0xc68a[15]](404)[_0xc68a[14]](_0x2200xf)};var _0x2200x1d=path[_0xc68a[26]](_0x2200xf[_0xc68a[42]],_0x2200xf[_0xc68a[40]]+_0xc68a[86]+_0x2200xf[_0xc68a[58]]);base64[_0xc68a[91]](_0x2200x1d,function(_0x2200xd,_0x2200x20){if(_0x2200xd){console[_0xc68a[48]](_0x2200xd);return handleError(_0x2200xc,_0x2200xd);}else {return _0x2200xc[_0xc68a[15]](200)[_0xc68a[14]](_0x2200x20)}});})};function handleError(_0x2200xc,_0x2200xd){return _0x2200xc[_0xc68a[15]](500)[_0xc68a[14]](_0x2200xd)}
\ No newline at end of file
+var _0xc639=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x55\x70\x6C\x6F\x61\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x75\x70\x6C\x6F\x61\x64\x2D\x66\x69\x6C\x65","\x73\x69\x6D\x70\x6C\x65\x2D\x72\x61\x6E\x64\x6F\x6D","\x73\x6F\x78","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x66\x73","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x66\x69\x6C\x65\x2D\x62\x61\x73\x65\x36\x34","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x73\x6F\x75\x6E\x64\x73\x2F\x6F\x72\x69\x67\x69\x6E\x61\x6C","\x6A\x6F\x69\x6E","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x65\x78\x74\x6E\x61\x6D\x65","\x4D\x61\x78\x20\x6E\x75\x6D\x62\x65\x72\x20\x6F\x66\x20\x66\x69\x6C\x65\x73\x20\x75\x70\x6C\x6F\x61\x64\x20\x65\x78\x63\x65\x65\x64\x65\x64","\x4F\x6E\x6C\x79\x20\x77\x61\x76\x2C\x6D\x70\x33\x2C\x67\x73\x6D\x2C\x20\x61\x6E\x64\x20\x6F\x67\x67\x20\x66\x6F\x72\x6D\x61\x74\x20\x61\x63\x63\x65\x70\x74\x65\x64","\x54\x68\x65\x20\x6D\x61\x78\x69\x6D\x75\x6D\x20\x66\x69\x6C\x65\x20\x73\x69\x7A\x65\x20\x69\x73\x20\x31\x35\x20\x4D\x62","\x49\x6E\x76\x61\x6C\x69\x64\x20\x72\x65\x71\x75\x65\x73\x74","\x65\x6E\x64","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","","\x6E\x61\x6D\x65","\x64\x69\x73\x70\x6C\x61\x79\x5F\x6E\x61\x6D\x65","\x66\x69\x6C\x65","\x62\x61\x73\x65\x6E\x61\x6D\x65","\x73\x61\x76\x65\x5F\x6E\x61\x6D\x65","\x6F\x72\x69\x67\x69\x6E\x61\x6C\x5F\x70\x61\x74\x68","\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x5F\x70\x61\x74\x68","\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x73\x6F\x75\x6E\x64\x73\x2F\x63\x6F\x6E\x76\x65\x72\x74\x65\x64","\x2E\x77\x61\x76","\x30\x37\x37\x37","\x63\x68\x6D\x6F\x64\x53\x79\x6E\x63","\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x20\x52\x65\x73\x75\x6C\x74\x3A\x20","\x6C\x6F\x67","\x69\x64\x65\x6E\x74\x69\x66\x79","\x77\x61\x76","\x74\x72\x61\x6E\x73\x63\x6F\x64\x65","\x65\x72\x72\x6F\x72","\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x20\x43\x6F\x6E\x76\x65\x72\x73\x69\x6F\x6E\x20\x45\x72\x72\x6F\x72\x3A\x20","\x75\x6E\x6C\x69\x6E\x6B","\x6F\x6E","\x70\x72\x6F\x67\x72\x65\x73\x73","\x73\x72\x63","\x6F\x72\x69\x67\x69\x6E\x61\x6C\x5F\x66\x6F\x72\x6D\x61\x74","\x66\x6F\x72\x6D\x61\x74","\x6F\x72\x69\x67\x69\x6E\x61\x6C\x5F\x64\x75\x72\x61\x74\x69\x6F\x6E","\x64\x75\x72\x61\x74\x69\x6F\x6E","\x6F\x72\x69\x67\x69\x6E\x61\x6C\x5F\x73\x61\x6D\x70\x6C\x65\x43\x6F\x75\x6E\x74","\x73\x61\x6D\x70\x6C\x65\x43\x6F\x75\x6E\x74","\x6F\x72\x69\x67\x69\x6E\x61\x6C\x5F\x63\x68\x61\x6E\x6E\x65\x6C\x43\x6F\x75\x6E\x74","\x63\x68\x61\x6E\x6E\x65\x6C\x43\x6F\x75\x6E\x74","\x6F\x72\x69\x67\x69\x6E\x61\x6C\x5F\x62\x69\x74\x52\x61\x74\x65","\x62\x69\x74\x52\x61\x74\x65","\x6F\x72\x69\x67\x69\x6E\x61\x6C\x5F\x73\x61\x6D\x70\x6C\x65\x52\x61\x74\x65","\x73\x61\x6D\x70\x6C\x65\x52\x61\x74\x65","\x64\x65\x73\x74","\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x5F\x66\x6F\x72\x6D\x61\x74","\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x5F\x64\x75\x72\x61\x74\x69\x6F\x6E","\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x5F\x73\x61\x6D\x70\x6C\x65\x43\x6F\x75\x6E\x74","\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x5F\x63\x68\x61\x6E\x6E\x65\x6C\x43\x6F\x75\x6E\x74","\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x5F\x62\x69\x74\x52\x61\x74\x65","\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x5F\x73\x61\x6D\x70\x6C\x65\x52\x61\x74\x65","\x43\x6F\x6E\x76\x65\x72\x73\x69\x6F\x6E\x20\x63\x6F\x6D\x70\x6C\x65\x74\x65\x64","\x73\x74\x61\x72\x74","\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x20\x55\x70\x6C\x6F\x61\x64\x20\x65\x72\x72\x6F\x72\x20\x3A","\x70\x61\x72\x73\x65","\x75\x70\x64\x61\x74\x65","\x62\x6F\x64\x79","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x2E","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x53\x65\x6E\x74\x20\x66\x69\x6C\x65\x20\x75\x6E\x64\x65\x72\x20\x3A","\x73\x74\x72\x65\x61\x6D","\x65\x6E\x63\x6F\x64\x65"];_0xc639[0];var _=require(_0xc639[1]);var Upload=require(_0xc639[3])[_0xc639[2]];var uploadFile=require(_0xc639[4]);var sr=require(_0xc639[5]);var sox=require(_0xc639[6]);var path=require(_0xc639[7]);var config=require(_0xc639[8]);var fs=require(_0xc639[9]);var sequelize=require(_0xc639[3])[_0xc639[10]];var base64=require(_0xc639[11]);exports[_0xc639[12]]=function(_0xcef1xb,_0xcef1xc){Upload[_0xc639[17]]()[_0xc639[16]](function(_0xcef1xe){return _0xcef1xc[_0xc639[15]](200)[_0xc639[14]](_0xcef1xe)})[_0xc639[13]](function(_0xcef1xd){return handleError(_0xcef1xc,_0xcef1xd)})};exports[_0xc639[18]]=function(_0xcef1xb,_0xcef1xc){Upload[_0xc639[22]](_0xcef1xb[_0xc639[21]][_0xc639[20]])[_0xc639[16]](function(_0xcef1xf){if(!_0xcef1xf){return _0xcef1xc[_0xc639[19]](404)};return _0xcef1xc[_0xc639[14]](_0xcef1xf);})[_0xc639[13]](function(_0xcef1xd){return handleError(_0xcef1xc,_0xcef1xd)})};exports[_0xc639[23]]=function(_0xcef1xb,_0xcef1xc){var _0xcef1xf= new uploadFile({dest:path[_0xc639[26]](config[_0xc639[24]],_0xc639[25]),maxFileSize:15*1000000,maxNumberOfFiles:10,minNumberOfFiles:0,acceptFileTypes:/(\.|\/)(wav|mp3|gsm|ogg)$/i,rename:function(_0xcef1x10,_0xcef1x11){return sr()+path[_0xc639[28]](_0xcef1x11[_0xc639[27]])},messages:{maxNumberOfFiles:_0xc639[29],acceptFileTypes:_0xc639[30],maxFileSize:_0xc639[31],invalidRequest:_0xc639[32]}});_0xcef1xf[_0xc639[55]](_0xc639[33],function(_0xcef1x12,_0xcef1x13){var _0xcef1x14={};_0xcef1x14[_0xc639[34]]=_0xc639[35];_0xcef1x14[_0xc639[36]]=_0xcef1x14[_0xc639[37]]=path[_0xc639[39]](_0xcef1x13[_0xc639[38]][_0xc639[7]],path[_0xc639[28]](_0xcef1x13[_0xc639[38]][_0xc639[27]]));_0xcef1x14[_0xc639[40]]=path[_0xc639[39]](_0xcef1x13[_0xc639[38]][_0xc639[27]],path[_0xc639[28]](_0xcef1x13[_0xc639[38]][_0xc639[27]]));_0xcef1x14[_0xc639[41]]=path[_0xc639[26]](config[_0xc639[24]],_0xc639[25]);_0xcef1x14[_0xc639[42]]=path[_0xc639[26]](config[_0xc639[24]],_0xc639[43]);if(!_0xcef1x13[_0xc639[38]][_0xc639[27]]){return _0xcef1xc[_0xc639[15]](500)[_0xc639[14]](_0xcef1xf)};var _0xcef1x15=path[_0xc639[26]](_0xcef1x14[_0xc639[41]],_0xcef1x14[_0xc639[40]]+path[_0xc639[28]](_0xcef1x13[_0xc639[38]][_0xc639[27]]));var _0xcef1x16=path[_0xc639[26]](_0xcef1x14[_0xc639[42]],_0xcef1x14[_0xc639[40]]+_0xc639[44]);fs[_0xc639[46]](_0xcef1x15,parseInt(_0xc639[45],8));sox[_0xc639[49]](_0xcef1x15,function(_0xcef1xd,_0xcef1x17){console[_0xc639[48]](_0xc639[47],_0xcef1x17)});var _0xcef1x18=sox[_0xc639[51]](_0xcef1x15,_0xcef1x16,{sampleRate:8000,format:_0xc639[50],channelCount:1,bitRate:192*1024,compressionQuality:5});_0xcef1x18[_0xc639[55]](_0xc639[52],function(_0xcef1xd){console[_0xc639[52]](_0xc639[53],_0xcef1xd);fs[_0xc639[54]](_0xcef1x15,function(_0xcef1xd){if(_0xcef1xd){return handleError(_0xcef1xc,_0xcef1xd)}});return handleError(_0xcef1xc,_0xcef1xd);});_0xcef1x18[_0xc639[55]](_0xc639[56],function(_0xcef1x19,_0xcef1x1a){});_0xcef1x18[_0xc639[55]](_0xc639[57],function(_0xcef1x1b){_0xcef1x14[_0xc639[58]]=_0xcef1x1b[_0xc639[59]];_0xcef1x14[_0xc639[60]]=_0xcef1x1b[_0xc639[61]]*1000;_0xcef1x14[_0xc639[62]]=_0xcef1x1b[_0xc639[63]];_0xcef1x14[_0xc639[64]]=_0xcef1x1b[_0xc639[65]];_0xcef1x14[_0xc639[66]]=_0xcef1x1b[_0xc639[67]];_0xcef1x14[_0xc639[68]]=_0xcef1x1b[_0xc639[69]];});_0xcef1x18[_0xc639[55]](_0xc639[70],function(_0xcef1x1b){_0xcef1x14[_0xc639[71]]=_0xcef1x1b[_0xc639[59]];_0xcef1x14[_0xc639[72]]=_0xcef1x1b[_0xc639[61]]*1000;_0xcef1x14[_0xc639[73]]=_0xcef1x1b[_0xc639[63]];_0xcef1x14[_0xc639[74]]=_0xcef1x1b[_0xc639[65]];_0xcef1x14[_0xc639[75]]=_0xcef1x1b[_0xc639[67]];_0xcef1x14[_0xc639[76]]=_0xcef1x1b[_0xc639[69]];});_0xcef1x18[_0xc639[55]](_0xc639[33],function(){console[_0xc639[48]](_0xc639[77]);fs[_0xc639[46]](_0xcef1x16,parseInt(_0xc639[45],8));Upload[_0xc639[23]](_0xcef1x14)[_0xc639[16]](function(_0xcef1xf){return _0xcef1xc[_0xc639[15]](201)[_0xc639[14]](_0xcef1xf)})[_0xc639[13]](function(_0xcef1xd){return handleError(_0xcef1xc,_0xcef1xd)});});_0xcef1x18[_0xc639[78]]();});_0xcef1xf[_0xc639[55]](_0xc639[52],function(_0xcef1xd){console[_0xc639[48]](_0xc639[79],_0xcef1xd);return handleError(_0xcef1xc,_0xcef1xd);});_0xcef1xf[_0xc639[80]](_0xcef1xb);};exports[_0xc639[81]]=function(_0xcef1xb,_0xcef1xc){if(_0xcef1xb[_0xc639[82]][_0xc639[20]]){delete _0xcef1xb[_0xc639[82]][_0xc639[20]]};Upload[_0xc639[22]](_0xcef1xb[_0xc639[21]][_0xc639[20]])[_0xc639[16]](function(_0xcef1xf){if(!_0xcef1xf){return _0xcef1xc[_0xc639[19]](404)};var _0xcef1x1c=_[_0xc639[83]](_0xcef1xf,_0xcef1xb[_0xc639[82]]);_0xcef1x1c[_0xc639[84]]()[_0xc639[16]](function(){return _0xcef1xc[_0xc639[15]](200)[_0xc639[14]](_0xcef1xf)})[_0xc639[13]](function(_0xcef1xd){return handleError(_0xcef1xc,_0xcef1xd)});})[_0xc639[13]](function(_0xcef1xd){return handleError(_0xcef1xc,_0xcef1xd)});};exports[_0xc639[85]]=function(_0xcef1xb,_0xcef1xc){Upload[_0xc639[22]](_0xcef1xb[_0xc639[21]][_0xc639[20]])[_0xc639[16]](function(_0xcef1xf){if(!_0xcef1xf){return _0xcef1xc[_0xc639[15]](404)[_0xc639[14]](_0xcef1xf)};var _0xcef1x1d=path[_0xc639[26]](_0xcef1xf[_0xc639[41]],_0xcef1xf[_0xc639[40]]+_0xc639[86]+_0xcef1xf[_0xc639[58]]);var _0xcef1x1e=path[_0xc639[26]](_0xcef1xf[_0xc639[42]],_0xcef1xf[_0xc639[40]]+_0xc639[86]+_0xcef1xf[_0xc639[71]]);return sequelize[_0xc639[87]](function(_0xcef1x1f){return _0xcef1xf[_0xc639[85]]({transaction:_0xcef1x1f})[_0xc639[16]](function(){fs[_0xc639[54]](_0xcef1x1d,function(_0xcef1xd){if(_0xcef1xd){return handleError(_0xcef1xc,_0xcef1xd)}});fs[_0xc639[54]](_0xcef1x1e,function(_0xcef1xd){if(_0xcef1xd){return handleError(_0xcef1xc,_0xcef1xd)}});return _0xcef1xc[_0xc639[15]](200)[_0xc639[14]](_0xcef1xf);})})[_0xc639[13]](function(_0xcef1xd){return handleError(_0xcef1xc,_0xcef1xd)});})[_0xc639[13]](function(_0xcef1xd){return handleError(_0xcef1xc,_0xcef1xd)})};exports[_0xc639[88]]=function(_0xcef1xb,_0xcef1xc){Upload[_0xc639[22]](_0xcef1xb[_0xc639[21]][_0xc639[20]])[_0xc639[16]](function(_0xcef1xf){if(!_0xcef1xf){return _0xcef1xc[_0xc639[15]](404)[_0xc639[14]](_0xcef1xf)};var _0xcef1x1d=path[_0xc639[26]](_0xcef1xf[_0xc639[41]],_0xcef1xf[_0xc639[40]]+_0xc639[86]+_0xcef1xf[_0xc639[58]]);_0xcef1xc[_0xc639[15]](200)[_0xc639[88]](_0xcef1x1d,_0xcef1xf[_0xc639[37]]+_0xc639[86]+_0xcef1xf[_0xc639[58]],function(_0xcef1xd){if(_0xcef1xd){return handleError(_0xcef1xc,_0xcef1xd)}else {console[_0xc639[48]](_0xc639[89],_0xcef1x1d)}});})};exports[_0xc639[90]]=function(_0xcef1xb,_0xcef1xc){Upload[_0xc639[22]](_0xcef1xb[_0xc639[21]][_0xc639[20]])[_0xc639[16]](function(_0xcef1xf){if(!_0xcef1xf){return _0xcef1xc[_0xc639[15]](404)[_0xc639[14]](_0xcef1xf)};var _0xcef1x1d=path[_0xc639[26]](_0xcef1xf[_0xc639[42]],_0xcef1xf[_0xc639[40]]+_0xc639[86]+_0xcef1xf[_0xc639[58]]);base64[_0xc639[91]](_0xcef1x1d,function(_0xcef1xd,_0xcef1x20){if(_0xcef1xd){console[_0xc639[48]](_0xcef1xd);return handleError(_0xcef1xc,_0xcef1xd);}else {return _0xcef1xc[_0xc639[15]](200)[_0xc639[14]](_0xcef1x20)}});})};function handleError(_0xcef1xc,_0xcef1xd){return _0xcef1xc[_0xc639[15]](500)[_0xc639[14]](_0xcef1xd)}
\ No newline at end of file
index 7cc766cddf4f7e760d2a33a6b7e0b1bf050fffcd..4573582d8740d551305b10f4abd8d6ae331e9a61 100644 (file)
@@ -1 +1 @@
-var _0x9de5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x70\x6C\x6F\x61\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x75\x70\x6C\x6F\x61\x64\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x75\x70\x6C\x6F\x61\x64\x3A\x72\x65\x6D\x6F\x76\x65"];_0x9de5[0];var upload=require(_0x9de5[2])[_0x9de5[1]];exports[_0x9de5[3]]=function(_0xe290x2){upload[_0x9de5[4]](function(_0xe290x3){onSave(_0xe290x2,_0xe290x3)});upload[_0x9de5[5]](function(_0xe290x3){onRemove(_0xe290x2,_0xe290x3)});};function onSave(_0xe290x2,_0xe290x3,_0xe290x5){_0xe290x2[_0x9de5[7]](_0x9de5[6],_0xe290x3)}function onRemove(_0xe290x2,_0xe290x3,_0xe290x5){_0xe290x2[_0x9de5[7]](_0x9de5[8],_0xe290x3)}
\ No newline at end of file
+var _0x23e0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x70\x6C\x6F\x61\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x75\x70\x6C\x6F\x61\x64\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x75\x70\x6C\x6F\x61\x64\x3A\x72\x65\x6D\x6F\x76\x65"];_0x23e0[0];var upload=require(_0x23e0[2])[_0x23e0[1]];exports[_0x23e0[3]]=function(_0xca06x2){upload[_0x23e0[4]](function(_0xca06x3){onSave(_0xca06x2,_0xca06x3)});upload[_0x23e0[5]](function(_0xca06x3){onRemove(_0xca06x2,_0xca06x3)});};function onSave(_0xca06x2,_0xca06x3,_0xca06x5){_0xca06x2[_0x23e0[7]](_0x23e0[6],_0xca06x3)}function onRemove(_0xca06x2,_0xca06x3,_0xca06x5){_0xca06x2[_0x23e0[7]](_0x23e0[8],_0xca06x3)}
\ No newline at end of file
index 8de97c6497719323cda26fbce3218c6504242dca..17f77509267ccf82a797d3899c79258414c132b0 100644 (file)
@@ -1 +1 @@
-var _0x8e9b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x75\x70\x6C\x6F\x61\x64\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x75\x70\x6C\x6F\x61\x64\x73","\x67\x65\x74"];_0x8e9b[0];var should=require(_0x8e9b[1]);var app=require(_0x8e9b[2]);var request=require(_0x8e9b[3]);describe(_0x8e9b[4],function(){it(_0x8e9b[5],function(_0x63abx4){request(app)[_0x8e9b[13]](_0x8e9b[12])[_0x8e9b[11]](200)[_0x8e9b[11]](_0x8e9b[10],/json/)[_0x8e9b[9]](function(_0x63abx5,_0x63abx6){if(_0x63abx5){return _0x63abx4(_0x63abx5)};_0x63abx6[_0x8e9b[8]][_0x8e9b[1]][_0x8e9b[7]][_0x8e9b[6]](Array);_0x63abx4();})})});
\ No newline at end of file
+var _0x7896=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x75\x70\x6C\x6F\x61\x64\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x75\x70\x6C\x6F\x61\x64\x73","\x67\x65\x74"];_0x7896[0];var should=require(_0x7896[1]);var app=require(_0x7896[2]);var request=require(_0x7896[3]);describe(_0x7896[4],function(){it(_0x7896[5],function(_0xb952x4){request(app)[_0x7896[13]](_0x7896[12])[_0x7896[11]](200)[_0x7896[11]](_0x7896[10],/json/)[_0x7896[9]](function(_0xb952x5,_0xb952x6){if(_0xb952x5){return _0xb952x4(_0xb952x5)};_0xb952x6[_0x7896[8]][_0x7896[1]][_0x7896[7]][_0x7896[6]](Array);_0xb952x4();})})});
\ No newline at end of file
index 7e2eaf0a2bd17d0e7e7c864b0e1f1d9aa8ae0267..0b5b01c3fb188261a4db4c62aa255dc444f955cc 100644 (file)
@@ -1 +1 @@
-var _0x4c81=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x73\x65\x72\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x6D\x65","\x6D\x65","\x2F\x61\x6C\x6C","\x67\x65\x74\x55\x73\x65\x72\x73","\x2F\x61\x76\x61\x74\x61\x72\x2F\x3A\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x67\x65\x74\x41\x76\x61\x74\x61\x72","\x2F\x3A\x69\x64\x2F\x61\x76\x61\x74\x61\x72","\x67\x65\x74\x41\x76\x61\x74\x61\x72\x42\x79\x49\x64","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65\x2F\x3A\x66\x69\x65\x6C\x64","\x75\x73\x65\x72\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x70\x6F\x73\x74","\x2F\x70\x61\x73\x73\x77\x6F\x72\x64","\x63\x68\x61\x6E\x67\x65\x50\x61\x73\x73\x77\x6F\x72\x64","\x70\x75\x74","\x2F\x70\x61\x73\x73\x77\x6F\x72\x64\x2F\x3A\x69\x64\x2F\x72\x65\x73\x65\x74","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x52\x6F\x6C\x65","\x72\x65\x73\x65\x74\x50\x61\x73\x73\x77\x6F\x72\x64","\x75\x70\x64\x61\x74\x65","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x69\x73\x55\x73\x65\x72\x73\x4C\x69\x6D\x69\x74","\x63\x72\x65\x61\x74\x65","\x63\x68\x61\x6E\x67\x65\x41\x76\x61\x74\x61\x72","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x4c81[0];var express=require(_0x4c81[1]);var controller=require(_0x4c81[2]);var config=require(_0x4c81[3]);var auth=require(_0x4c81[4]);var license=require(_0x4c81[5]);var router=express.Router();router[_0x4c81[9]](_0x4c81[6],auth[_0x4c81[7]](),controller[_0x4c81[8]]);router[_0x4c81[9]](_0x4c81[10],auth[_0x4c81[7]](),controller[_0x4c81[11]]);router[_0x4c81[9]](_0x4c81[12],auth[_0x4c81[7]](),controller[_0x4c81[13]]);router[_0x4c81[9]](_0x4c81[14],controller[_0x4c81[15]]);router[_0x4c81[9]](_0x4c81[16],controller[_0x4c81[17]]);router[_0x4c81[9]](_0x4c81[18],auth[_0x4c81[7]](),controller[_0x4c81[19]]);router[_0x4c81[22]](_0x4c81[20],auth[_0x4c81[7]](),controller[_0x4c81[21]]);router[_0x4c81[25]](_0x4c81[23],auth[_0x4c81[7]](),controller[_0x4c81[24]]);router[_0x4c81[25]](_0x4c81[26],auth[_0x4c81[7]](),auth[_0x4c81[28]](_0x4c81[27]),controller[_0x4c81[29]]);router[_0x4c81[25]](_0x4c81[18],auth[_0x4c81[7]](),controller[_0x4c81[30]]);router[_0x4c81[22]](_0x4c81[6],auth[_0x4c81[7]](),license[_0x4c81[31]](),license[_0x4c81[32]](),controller[_0x4c81[33]]);router[_0x4c81[22]](_0x4c81[16],auth[_0x4c81[7]](),controller[_0x4c81[34]]);router[_0x4c81[36]](_0x4c81[6],auth[_0x4c81[7]](),controller[_0x4c81[35]]);router[_0x4c81[36]](_0x4c81[18],auth[_0x4c81[7]](),controller[_0x4c81[37]]);module[_0x4c81[38]]=router;
\ No newline at end of file
+var _0x264c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x73\x65\x72\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x6D\x65","\x6D\x65","\x2F\x61\x6C\x6C","\x67\x65\x74\x55\x73\x65\x72\x73","\x2F\x61\x76\x61\x74\x61\x72\x2F\x3A\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x67\x65\x74\x41\x76\x61\x74\x61\x72","\x2F\x3A\x69\x64\x2F\x61\x76\x61\x74\x61\x72","\x67\x65\x74\x41\x76\x61\x74\x61\x72\x42\x79\x49\x64","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65\x2F\x3A\x66\x69\x65\x6C\x64","\x75\x73\x65\x72\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x70\x6F\x73\x74","\x2F\x70\x61\x73\x73\x77\x6F\x72\x64","\x63\x68\x61\x6E\x67\x65\x50\x61\x73\x73\x77\x6F\x72\x64","\x70\x75\x74","\x2F\x70\x61\x73\x73\x77\x6F\x72\x64\x2F\x3A\x69\x64\x2F\x72\x65\x73\x65\x74","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x52\x6F\x6C\x65","\x72\x65\x73\x65\x74\x50\x61\x73\x73\x77\x6F\x72\x64","\x75\x70\x64\x61\x74\x65","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x69\x73\x55\x73\x65\x72\x73\x4C\x69\x6D\x69\x74","\x63\x72\x65\x61\x74\x65","\x63\x68\x61\x6E\x67\x65\x41\x76\x61\x74\x61\x72","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x264c[0];var express=require(_0x264c[1]);var controller=require(_0x264c[2]);var config=require(_0x264c[3]);var auth=require(_0x264c[4]);var license=require(_0x264c[5]);var router=express.Router();router[_0x264c[9]](_0x264c[6],auth[_0x264c[7]](),controller[_0x264c[8]]);router[_0x264c[9]](_0x264c[10],auth[_0x264c[7]](),controller[_0x264c[11]]);router[_0x264c[9]](_0x264c[12],auth[_0x264c[7]](),controller[_0x264c[13]]);router[_0x264c[9]](_0x264c[14],controller[_0x264c[15]]);router[_0x264c[9]](_0x264c[16],controller[_0x264c[17]]);router[_0x264c[9]](_0x264c[18],auth[_0x264c[7]](),controller[_0x264c[19]]);router[_0x264c[22]](_0x264c[20],auth[_0x264c[7]](),controller[_0x264c[21]]);router[_0x264c[25]](_0x264c[23],auth[_0x264c[7]](),controller[_0x264c[24]]);router[_0x264c[25]](_0x264c[26],auth[_0x264c[7]](),auth[_0x264c[28]](_0x264c[27]),controller[_0x264c[29]]);router[_0x264c[25]](_0x264c[18],auth[_0x264c[7]](),controller[_0x264c[30]]);router[_0x264c[22]](_0x264c[6],auth[_0x264c[7]](),license[_0x264c[31]](),license[_0x264c[32]](),controller[_0x264c[33]]);router[_0x264c[22]](_0x264c[16],auth[_0x264c[7]](),controller[_0x264c[34]]);router[_0x264c[36]](_0x264c[6],auth[_0x264c[7]](),controller[_0x264c[35]]);router[_0x264c[36]](_0x264c[18],auth[_0x264c[7]](),controller[_0x264c[37]]);module[_0x264c[38]]=router;
\ No newline at end of file
index 1f5bfd79caa913a5145cfe23580220bc060d4554..2997d83a88ec783f4c41bc478f7bd1f349c13144 100644 (file)
@@ -1 +1 @@
-var _0xabc1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x66\x73","\x75\x74\x69\x6C","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x6E\x61\x6D\x65","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x63\x61\x6C\x6C\x65\x72\x69\x64","\x22\x25\x73\x22\x20\x3C\x25\x73\x3E","\x66\x6F\x72\x6D\x61\x74","\x73\x61\x76\x65","\x63\x68\x61\x6E\x67\x65\x64","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x65\x78\x74\x65\x6E","\x5F\x70\x72\x65\x76\x69\x6F\x75\x73\x44\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x61\x70\x70\x64\x61\x74\x61","\x53\x49\x50\x2F","\x66\x6F\x72\x45\x61\x63\x68","\x74\x68\x65\x6E","\x67\x65\x74\x55\x73\x65\x72\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x66\x72\x6F\x6D\x2D\x73\x69\x70","\x44\x69\x61\x6C","\x69\x64","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65"];_0xabc1[0];var fs=require(_0xabc1[1]);var util=require(_0xabc1[2]);var path=require(_0xabc1[3]);var config=require(_0xabc1[4]);var User=require(_0xabc1[6])[_0xabc1[5]];var VoiceExtension=require(_0xabc1[6])[_0xabc1[7]];exports[_0xabc1[8]]=function(_0x2e8dx7){User[_0xabc1[9]](function(_0x2e8dx8){createCallerID(_0x2e8dx8);createExtension(_0x2e8dx8);});User[_0xabc1[10]](function(_0x2e8dx8){updateExtension(_0x2e8dx8);createCallerID(_0x2e8dx8);});};function createCallerID(_0x2e8dx8){if(_0x2e8dx8[_0xabc1[11]]&&_0x2e8dx8[_0xabc1[12]]){_0x2e8dx8[_0xabc1[13]]=util[_0xabc1[15]](_0xabc1[14],_0x2e8dx8[_0xabc1[11]],_0x2e8dx8[_0xabc1[12]]);_0x2e8dx8[_0xabc1[16]]();};return ;}function updateExtension(_0x2e8dx8){if(_0x2e8dx8[_0xabc1[17]](_0xabc1[11])){_0x2e8dx8[_0xabc1[26]]()[_0xabc1[25]](function(_0x2e8dxc){_0x2e8dxc[_0xabc1[24]](function(_0x2e8dxd){_0x2e8dxd[_0xabc1[20]]=(_0x2e8dxd[_0xabc1[20]]===_0x2e8dx8[_0xabc1[21]][_0xabc1[12]])?_0x2e8dx8[_0xabc1[12]]:_0x2e8dx8[_0xabc1[11]];_0x2e8dxd[_0xabc1[22]]=_0xabc1[23]+_0x2e8dx8[_0xabc1[11]];_0x2e8dxd[_0xabc1[16]]();})})[_0xabc1[19]](function(_0x2e8dxb){console[_0xabc1[18]](_0x2e8dxb)})}}function createExtension(_0x2e8dx8){if(_0x2e8dx8[_0xabc1[12]]){var _0x2e8dxf=[{context:_0xabc1[27],exten:_0x2e8dx8[_0xabc1[12]],priority:1,app:_0xabc1[28],appdata:_0xabc1[23]+_0x2e8dx8[_0xabc1[11]],UserId:_0x2e8dx8[_0xabc1[29]],type:_0xabc1[12]},{context:_0xabc1[27],exten:_0x2e8dx8[_0xabc1[11]],priority:1,app:_0xabc1[28],appdata:_0xabc1[23]+_0x2e8dx8[_0xabc1[11]],UserId:_0x2e8dx8[_0xabc1[29]],type:_0xabc1[12]}];return VoiceExtension[_0xabc1[30]](_0x2e8dxf)[_0xabc1[19]](function(_0x2e8dxb){console[_0xabc1[18]](_0x2e8dxb)});}}
\ No newline at end of file
+var _0x3768=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x66\x73","\x75\x74\x69\x6C","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x6E\x61\x6D\x65","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x63\x61\x6C\x6C\x65\x72\x69\x64","\x22\x25\x73\x22\x20\x3C\x25\x73\x3E","\x66\x6F\x72\x6D\x61\x74","\x73\x61\x76\x65","\x63\x68\x61\x6E\x67\x65\x64","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x65\x78\x74\x65\x6E","\x5F\x70\x72\x65\x76\x69\x6F\x75\x73\x44\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x61\x70\x70\x64\x61\x74\x61","\x53\x49\x50\x2F","\x66\x6F\x72\x45\x61\x63\x68","\x74\x68\x65\x6E","\x67\x65\x74\x55\x73\x65\x72\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x66\x72\x6F\x6D\x2D\x73\x69\x70","\x44\x69\x61\x6C","\x69\x64","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65"];_0x3768[0];var fs=require(_0x3768[1]);var util=require(_0x3768[2]);var path=require(_0x3768[3]);var config=require(_0x3768[4]);var User=require(_0x3768[6])[_0x3768[5]];var VoiceExtension=require(_0x3768[6])[_0x3768[7]];exports[_0x3768[8]]=function(_0xfebbx7){User[_0x3768[9]](function(_0xfebbx8){createCallerID(_0xfebbx8);createExtension(_0xfebbx8);});User[_0x3768[10]](function(_0xfebbx8){updateExtension(_0xfebbx8);createCallerID(_0xfebbx8);});};function createCallerID(_0xfebbx8){if(_0xfebbx8[_0x3768[11]]&&_0xfebbx8[_0x3768[12]]){_0xfebbx8[_0x3768[13]]=util[_0x3768[15]](_0x3768[14],_0xfebbx8[_0x3768[11]],_0xfebbx8[_0x3768[12]]);_0xfebbx8[_0x3768[16]]();};return ;}function updateExtension(_0xfebbx8){if(_0xfebbx8[_0x3768[17]](_0x3768[11])){_0xfebbx8[_0x3768[26]]()[_0x3768[25]](function(_0xfebbxc){_0xfebbxc[_0x3768[24]](function(_0xfebbxd){_0xfebbxd[_0x3768[20]]=(_0xfebbxd[_0x3768[20]]===_0xfebbx8[_0x3768[21]][_0x3768[12]])?_0xfebbx8[_0x3768[12]]:_0xfebbx8[_0x3768[11]];_0xfebbxd[_0x3768[22]]=_0x3768[23]+_0xfebbx8[_0x3768[11]];_0xfebbxd[_0x3768[16]]();})})[_0x3768[19]](function(_0xfebbxb){console[_0x3768[18]](_0xfebbxb)})}}function createExtension(_0xfebbx8){if(_0xfebbx8[_0x3768[12]]){var _0xfebbxf=[{context:_0x3768[27],exten:_0xfebbx8[_0x3768[12]],priority:1,app:_0x3768[28],appdata:_0x3768[23]+_0xfebbx8[_0x3768[11]],UserId:_0xfebbx8[_0x3768[29]],type:_0x3768[12]},{context:_0x3768[27],exten:_0xfebbx8[_0x3768[11]],priority:1,app:_0x3768[28],appdata:_0x3768[23]+_0xfebbx8[_0x3768[11]],UserId:_0xfebbx8[_0x3768[29]],type:_0x3768[12]}];return VoiceExtension[_0x3768[30]](_0xfebbxf)[_0x3768[19]](function(_0xfebbxb){console[_0x3768[18]](_0xfebbxb)});}}
\ No newline at end of file
index 6c72f026f3eb6d6608e972bf1ab084d71d515f0f..3b35d84bd9b37575a29f168088a1ea9215a6a371 100644 (file)
@@ -1 +1 @@
-var _0x66f0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x6F\x64\x75\x6C\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x70\x61\x73\x73\x70\x6F\x72\x74","\x6D\x6F\x6D\x65\x6E\x74","\x6A\x73\x6F\x6E\x77\x65\x62\x74\x6F\x6B\x65\x6E","\x75\x70\x6C\x6F\x61\x64\x2D\x66\x69\x6C\x65","\x70\x61\x74\x68","\x66\x73","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x73\x69\x6D\x70\x6C\x65\x2D\x72\x61\x6E\x64\x6F\x6D","\x69\x6E\x64\x65\x78","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x72\x6F\x6C\x65","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x61\x64\x6D\x69\x6E","\x75\x73\x65\x72","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x67\x65\x74\x55\x73\x65\x72\x73","\x61\x67\x65\x6E\x74","\x66\x69\x6E\x64\x41\x6C\x6C","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x65\x61\x63\x68","\x73\x6F\x72\x74","\x6B\x65\x79\x73","\x62\x75\x69\x6C\x64","\x70\x72\x6F\x76\x69\x64\x65\x72","\x6C\x6F\x63\x61\x6C","\x69\x64","\x73\x65\x63\x72\x65\x74","\x73\x65\x73\x73\x69\x6F\x6E","\x35\x68","\x73\x69\x67\x6E","\x73\x61\x76\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x64\x65\x73\x74\x72\x6F\x79","\x6C\x6F\x67","\x63\x68\x61\x6E\x67\x65\x50\x61\x73\x73\x77\x6F\x72\x64","\x6F\x6C\x64\x50\x61\x73\x73\x77\x6F\x72\x64","\x6E\x65\x77\x50\x61\x73\x73\x77\x6F\x72\x64","\x61\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x72\x65\x73\x65\x74\x50\x61\x73\x73\x77\x6F\x72\x64","\x63\x68\x61\x6E\x67\x65\x41\x76\x61\x74\x61\x72","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72","\x66\x69\x6C\x65\x73","\x69\x6D\x61\x67\x65\x73","\x6A\x6F\x69\x6E","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x65\x78\x74\x6E\x61\x6D\x65","\x4D\x61\x78\x20\x6E\x75\x6D\x62\x65\x72\x20\x6F\x66\x20\x66\x69\x6C\x65\x73\x20\x75\x70\x6C\x6F\x61\x64\x20\x65\x78\x63\x65\x65\x64\x65\x64","\x4F\x6E\x6C\x79\x20\x6A\x70\x65\x67\x20\x61\x6E\x64\x20\x70\x6E\x67\x20\x66\x6F\x72\x6D\x61\x74\x20\x61\x63\x63\x65\x70\x74\x65\x64","\x49\x6E\x76\x61\x6C\x69\x64\x20\x72\x65\x71\x75\x65\x73\x74","\x65\x6E\x64","\x66\x69\x6C\x65","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x6F\x6E","\x65\x72\x72\x6F\x72","\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x20\x55\x70\x6C\x6F\x61\x64\x20\x65\x72\x72\x6F\x72\x20\x3A","\x70\x61\x72\x73\x65","\x6D\x65","\x75\x73\x65\x72\x70\x69\x63","\x66\x69\x6E\x64\x4F\x6E\x65","\x75\x70\x64\x61\x74\x65","\x67\x65\x74\x41\x76\x61\x74\x61\x72","\x75\x73\x65\x72\x70\x69\x63\x2E\x70\x6E\x67","\x73\x65\x6E\x64\x46\x69\x6C\x65","\x65\x78\x69\x73\x74\x73","\x67\x65\x74\x41\x76\x61\x74\x61\x72\x42\x79\x49\x64","\x76\x69\x73\x69\x74\x6F\x72","\x63\x75\x73\x74\x6F\x6D\x65\x72\x2E\x70\x6E\x67","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x75\x73\x65\x72\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x61\x75\x74\x68\x43\x61\x6C\x6C\x62\x61\x63\x6B","\x2F","\x72\x65\x64\x69\x72\x65\x63\x74"];_0x66f0[0];var User=require(_0x66f0[2])[_0x66f0[1]];var Module=require(_0x66f0[2])[_0x66f0[3]];var config=require(_0x66f0[4]);var passport=require(_0x66f0[5]);var moment=require(_0x66f0[6]);var jwt=require(_0x66f0[7]);var uploadFile=require(_0x66f0[8]);var path=require(_0x66f0[9]);var fs=require(_0x66f0[10]);var _=require(_0x66f0[11]);var util=require(_0x66f0[12]);var sr=require(_0x66f0[13]);exports[_0x66f0[14]]=function(_0x1105xd,_0x1105xe,_0x1105xf){var _0x1105x10=[_0x66f0[15],_0x66f0[16],_0x66f0[17],_0x66f0[18]];var _0x1105x11=_0x1105xd[_0x66f0[20]][_0x66f0[19]]?parseInt(_0x1105xd[_0x66f0[20]][_0x66f0[19]],10):100;var _0x1105x12=_0x1105xd[_0x66f0[20]][_0x66f0[21]]?parseInt(_0x1105xd[_0x66f0[20]][_0x66f0[21]],10):0;var _0x1105x13={where:{role:[_0x66f0[22],_0x66f0[23]]},limit:_0x1105x11,offset:_0x1105x12*_0x1105x11};_[_0x66f0[37]](_0x1105xd[_0x66f0[20]],function(_0x1105x14,_0x1105x15){switch(_0x1105x15){case _0x66f0[19]:;case _0x66f0[21]:break ;;case _0x66f0[26]:_0x1105x13[_0x66f0[24]]=util[_0x66f0[29]](_0x66f0[25],_0x1105xd[_0x66f0[20]][_0x66f0[26]],_0x1105xd[_0x66f0[20]][_0x66f0[27]]||_0x66f0[28])||null;break ;;case _0x66f0[27]:break ;;case _0x66f0[35]:_0x1105x13[_0x66f0[31]][_0x66f0[30]]=[];_0x1105x10[_0x66f0[34]](function(_0x1105x16){var _0x1105x17={};_0x1105x17[_0x1105x16]={$like:_0x66f0[32]+_0x1105x14+_0x66f0[32]};_0x1105x13[_0x66f0[31]][_0x66f0[30]][_0x66f0[33]](_0x1105x17);});break ;;default:_0x1105x13[_0x66f0[31]][_0x1105x15]={$like:{}};_0x1105x13[_0x66f0[31]][_0x1105x15][_0x66f0[36]]=_0x66f0[32]+_0x1105x14+_0x66f0[32];;}});User[_0x66f0[52]](_0x1105x13)[_0x66f0[51]](function(_0x1105x19){var _0x1105x1a=Math[_0x66f0[43]](_0x1105x19[_0x66f0[42]]/_0x1105x11);var _0x1105x1b=_0x1105x1a>(_0x1105x13[_0x66f0[44]]+1)?util[_0x66f0[29]](_0x66f0[45],_0x1105xd[_0x66f0[46]],_0x1105xd[_0x66f0[48]][_0x66f0[47]],_0x1105xd[_0x66f0[49]],_0x1105x12+1):null;var _0x1105x1c=_0x1105x12>0?util[_0x66f0[29]](_0x66f0[45],_0x1105xd[_0x66f0[46]],_0x1105xd[_0x66f0[48]][_0x66f0[47]],_0x1105xd[_0x66f0[49]],_0x1105x12-1):null;return _0x1105xe[_0x66f0[40]](200)[_0x66f0[39]]({count:_0x1105x19[_0x66f0[42]],rows:_0x1105x19[_0x66f0[50]],next_page:_0x1105x1b,previous_page:_0x1105x1c,total_pages:_0x1105x1a});})[_0x66f0[41]](function(_0x1105x18){return _0x1105xe[_0x66f0[40]](500)[_0x66f0[39]]({error:_0x66f0[38]})});};exports[_0x66f0[53]]=function(_0x1105xd,_0x1105xe,_0x1105xf){User[_0x66f0[55]]({where:{role:{$in:[_0x66f0[22],_0x66f0[23],_0x66f0[54]]}}})[_0x66f0[51]](function(_0x1105x1d){return _0x1105xe[_0x66f0[40]](200)[_0x66f0[39]](_0x1105x1d)})[_0x66f0[41]](function(_0x1105x18){return handleError(_0x1105xe,_0x1105x18)})};exports[_0x66f0[56]]=function(_0x1105xd,_0x1105xe,_0x1105xf){var _0x1105x1e=_0x1105xd[_0x66f0[57]];_(_0x1105x1e)[_0x66f0[60]]()[_0x66f0[59]]()[_0x66f0[58]](function(_0x1105x15){var _0x1105x14=_0x1105x1e[_0x1105x15]});var _0x1105x1f=User[_0x66f0[61]](_0x1105xd[_0x66f0[57]]);_0x1105x1f[_0x66f0[62]]=_0x66f0[63];_0x1105x1f[_0x66f0[69]]()[_0x66f0[51]](function(_0x1105x20){var _0x1105x21=jwt[_0x66f0[68]]({id:_0x1105x20[_0x66f0[64]]},config[_0x66f0[66]][_0x66f0[65]],{expiresIn:_0x66f0[67]});return _0x1105xe[_0x66f0[40]](201)[_0x66f0[39]]({token:_0x1105x21});})[_0x66f0[41]](function(_0x1105x18){return handleError(_0x1105xe,_0x1105x18)});};exports[_0x66f0[70]]=function(_0x1105xd,_0x1105xe,_0x1105xf){User[_0x66f0[73]](_0x1105xd[_0x66f0[72]][_0x66f0[64]])[_0x66f0[51]](function(_0x1105x20){if(_0x1105x20){return _0x1105xe[_0x66f0[40]](200)[_0x66f0[39]](_0x1105x20)}else {return _0x1105xe[_0x66f0[71]](404)}})[_0x66f0[41]](function(_0x1105x18){return handleError(_0x1105xe,_0x1105x18)})};exports[_0x66f0[74]]=function(_0x1105xd,_0x1105xe,_0x1105xf){var _0x1105x22=_0x1105xd[_0x66f0[72]][_0x66f0[64]];User[_0x66f0[73]](_0x1105x22)[_0x66f0[51]](function(_0x1105x20){if(_0x1105x20){_0x1105x20[_0x66f0[74]]()[_0x66f0[51]](function(_0x1105x20){console[_0x66f0[75]](_0x1105x20);return _0x1105xe[_0x66f0[40]](200)[_0x66f0[39]](_0x1105x20);})[_0x66f0[41]](function(_0x1105x18){return handleError(_0x1105xe,_0x1105x18)})}else {return _0x1105xe[_0x66f0[71]](404)}})[_0x66f0[41]](function(_0x1105x18){return handleError(_0x1105xe,_0x1105x18)});};exports[_0x66f0[76]]=function(_0x1105xd,_0x1105xe,_0x1105xf){var _0x1105x22=_0x1105xd[_0x66f0[23]][_0x66f0[64]];var _0x1105x23=String(_0x1105xd[_0x66f0[57]][_0x66f0[77]]);var _0x1105x24=String(_0x1105xd[_0x66f0[57]][_0x66f0[78]]);User[_0x66f0[73]](_0x1105x22)[_0x66f0[51]](function(_0x1105x20){if(_0x1105x20[_0x66f0[79]](_0x1105x23)){_0x1105x20[_0x66f0[80]]=_0x1105x24;_0x1105x20[_0x66f0[69]]()[_0x66f0[51]](function(){return _0x1105xe[_0x66f0[40]](200)[_0x66f0[39]](_0x1105x20)})[_0x66f0[41]](function(_0x1105x18){return handleError(_0x1105xe,_0x1105x18)});}else {return _0x1105xe[_0x66f0[71]](403)}});};exports[_0x66f0[81]]=function(_0x1105xd,_0x1105xe,_0x1105xf){var _0x1105x24=String(_0x1105xd[_0x66f0[57]][_0x66f0[78]]);User[_0x66f0[73]](_0x1105xd[_0x66f0[72]][_0x66f0[64]])[_0x66f0[51]](function(_0x1105x20){_0x1105x20[_0x66f0[80]]=_0x1105x24;_0x1105x20[_0x66f0[69]]()[_0x66f0[51]](function(){return _0x1105xe[_0x66f0[40]](200)[_0x66f0[39]](_0x1105x20)})[_0x66f0[41]](function(_0x1105x18){return handleError(_0x1105xe,_0x1105x18)});});};exports[_0x66f0[82]]=function(_0x1105xd,_0x1105xe,_0x1105xf){var _0x1105x25= new uploadFile({dest:path[_0x66f0[87]](config[_0x66f0[83]],_0x66f0[84],_0x66f0[85],_0x66f0[86]),maxNumberOfFiles:1,minNumberOfFiles:0,acceptFileTypes:/(\.|\/)(jpeg|png)$/i,rename:function(_0x1105x26,_0x1105x27){return sr()+path[_0x66f0[89]](_0x1105x27[_0x66f0[88]])},messages:{maxNumberOfFiles:_0x66f0[90],acceptFileTypes:_0x66f0[91],invalidRequest:_0x66f0[92]}});_0x1105x25[_0x66f0[96]](_0x66f0[93],function(_0x1105x28,_0x1105x29){if(!_0x1105x29[_0x66f0[94]][_0x66f0[88]]){return _0x1105xe[_0x66f0[40]](500)[_0x66f0[39]](_0x1105x25)}else {User[_0x66f0[73]](_0x1105xd[_0x66f0[72]][_0x66f0[64]])[_0x66f0[51]](function(_0x1105x20){if(_0x1105x20){_0x1105x20[_0x66f0[95]]({userpic:_0x1105x29[_0x66f0[94]][_0x66f0[88]]})[_0x66f0[51]](function(){return _0x1105xe[_0x66f0[40]](200)[_0x66f0[39]](_0x1105x20)})[_0x66f0[41]](function(_0x1105x18){return handleError(_0x1105xe,_0x1105x18)})}else {return _0x1105xe[_0x66f0[71]](404)}})[_0x66f0[41]](function(_0x1105x18){return handleError(_0x1105xe,_0x1105x18)})}});_0x1105x25[_0x66f0[96]](_0x66f0[97],function(_0x1105x18){console[_0x66f0[75]](_0x66f0[98],_0x1105x18);return handleError(_0x1105xe,_0x1105x18);});_0x1105x25[_0x66f0[99]](_0x1105xd);};exports[_0x66f0[100]]=function(_0x1105xd,_0x1105xe,_0x1105xf){var _0x1105x22=_0x1105xd[_0x66f0[23]][_0x66f0[64]];User[_0x66f0[102]]({where:{id:_0x1105x22},attributes:[_0x66f0[64],_0x66f0[15],_0x66f0[16],_0x66f0[17],_0x66f0[18],_0x66f0[101]],include:[Module]})[_0x66f0[51]](function(_0x1105x20){if(!_0x1105x20){return _0x1105xe[_0x66f0[71]](401)};return _0x1105xe[_0x66f0[40]](200)[_0x66f0[39]](_0x1105x20);})[_0x66f0[41]](function(_0x1105x18){return handleError(_0x1105xe,_0x1105x18)});};exports[_0x66f0[103]]=function(_0x1105xd,_0x1105xe,_0x1105xf){var _0x1105x22=_0x1105xd[_0x66f0[23]][_0x66f0[64]];User[_0x66f0[73]](_0x1105xd[_0x66f0[72]][_0x66f0[64]])[_0x66f0[51]](function(_0x1105x20){if(_0x1105x20){_0x1105x20[_0x66f0[95]](_0x1105xd[_0x66f0[57]])[_0x66f0[51]](function(_0x1105x20){return _0x1105xe[_0x66f0[40]](200)[_0x66f0[39]](_0x1105x20)})[_0x66f0[41]](function(_0x1105x18){return handleError(_0x1105xe,_0x1105x18)})}else {return _0x1105xe[_0x66f0[71]](500)}})[_0x66f0[41]](function(_0x1105x18){return handleError(_0x1105xe,_0x1105x18)});};exports[_0x66f0[104]]=function(_0x1105xd,_0x1105xe,_0x1105xf){var _0x1105x2a=path[_0x66f0[87]](config[_0x66f0[83]],_0x66f0[84],_0x66f0[85],_0x66f0[86],_0x1105xd[_0x66f0[72]][_0x66f0[88]]);fs[_0x66f0[107]](_0x1105x2a,function(_0x1105x2b){if(!_0x1105x2b){_0x1105x2a=path[_0x66f0[87]](config[_0x66f0[83]],_0x66f0[84],_0x66f0[85],_0x66f0[86],_0x66f0[105])};return _0x1105xe[_0x66f0[106]](_0x1105x2a);});};exports[_0x66f0[108]]=function(_0x1105xd,_0x1105xe,_0x1105xf){if(_0x1105xd[_0x66f0[72]][_0x66f0[64]]===_0x66f0[109]){var _0x1105x2a=path[_0x66f0[87]](config[_0x66f0[83]],_0x66f0[84],_0x66f0[85],_0x66f0[86],_0x66f0[110]);fs[_0x66f0[107]](_0x1105x2a,function(_0x1105x2b){return _0x1105xe[_0x66f0[106]](_0x1105x2a)});}else {User[_0x66f0[73]](_0x1105xd[_0x66f0[72]][_0x66f0[64]])[_0x66f0[51]](function(_0x1105x20){if(_0x1105x20){var _0x1105x2a=path[_0x66f0[87]](config[_0x66f0[83]],_0x66f0[84],_0x66f0[85],_0x66f0[86],_0x1105x20[_0x66f0[101]]?_0x1105x20[_0x66f0[101]]:_0x66f0[105]);fs[_0x66f0[107]](_0x1105x2a,function(_0x1105x2b){if(!_0x1105x2b){_0x1105x2a=path[_0x66f0[87]](config[_0x66f0[83]],_0x66f0[84],_0x66f0[85],_0x66f0[86],_0x66f0[105])};return _0x1105xe[_0x66f0[106]](_0x1105x2a);});}else {return _0x1105xe[_0x66f0[71]](500)}})[_0x66f0[41]](function(_0x1105x18){return handleError(_0x1105xe,_0x1105x18)})}};exports[_0x66f0[111]]=function(_0x1105xd,_0x1105xe){User[_0x66f0[74]]({where:{id:_0x1105xd[_0x66f0[20]][_0x66f0[64]]},individualHooks:true})[_0x66f0[51]](function(){return _0x1105xe[_0x66f0[71]](204)})[_0x66f0[41]](function(_0x1105x18){return handleError(_0x1105xe,_0x1105x18)})};exports[_0x66f0[112]]=function(_0x1105xd,_0x1105xe){var _0x1105x2c={};_0x1105x2c[_0x1105xd[_0x66f0[72]][_0x66f0[113]]]=_0x1105xd[_0x66f0[57]][_0x66f0[114]];User[_0x66f0[52]]({where:_0x1105x2c})[_0x66f0[51]](function(_0x1105x19){if(_0x1105x19[_0x66f0[42]]){return _0x1105xe[_0x66f0[40]](200)[_0x66f0[39]]({isValid:false,value:_0x1105xd[_0x66f0[57]][_0x66f0[114]]})};return _0x1105xe[_0x66f0[40]](200)[_0x66f0[39]]({isValid:true,value:_0x1105xd[_0x66f0[57]][_0x66f0[114]]});})[_0x66f0[41]](function(_0x1105x18){return handleError(_0x1105xe,_0x1105x18)});};exports[_0x66f0[115]]=function(_0x1105xd,_0x1105xe,_0x1105xf){_0x1105xe[_0x66f0[117]](_0x66f0[116])};function handleError(_0x1105xe,_0x1105x18){return _0x1105xe[_0x66f0[40]](500)[_0x66f0[39]](_0x1105x18)}
\ No newline at end of file
+var _0x17ad=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x6F\x64\x75\x6C\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x70\x61\x73\x73\x70\x6F\x72\x74","\x6D\x6F\x6D\x65\x6E\x74","\x6A\x73\x6F\x6E\x77\x65\x62\x74\x6F\x6B\x65\x6E","\x75\x70\x6C\x6F\x61\x64\x2D\x66\x69\x6C\x65","\x70\x61\x74\x68","\x66\x73","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x73\x69\x6D\x70\x6C\x65\x2D\x72\x61\x6E\x64\x6F\x6D","\x69\x6E\x64\x65\x78","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x72\x6F\x6C\x65","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x61\x64\x6D\x69\x6E","\x75\x73\x65\x72","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x67\x65\x74\x55\x73\x65\x72\x73","\x61\x67\x65\x6E\x74","\x66\x69\x6E\x64\x41\x6C\x6C","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x65\x61\x63\x68","\x73\x6F\x72\x74","\x6B\x65\x79\x73","\x62\x75\x69\x6C\x64","\x70\x72\x6F\x76\x69\x64\x65\x72","\x6C\x6F\x63\x61\x6C","\x69\x64","\x73\x65\x63\x72\x65\x74","\x73\x65\x73\x73\x69\x6F\x6E","\x35\x68","\x73\x69\x67\x6E","\x73\x61\x76\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x64\x65\x73\x74\x72\x6F\x79","\x6C\x6F\x67","\x63\x68\x61\x6E\x67\x65\x50\x61\x73\x73\x77\x6F\x72\x64","\x6F\x6C\x64\x50\x61\x73\x73\x77\x6F\x72\x64","\x6E\x65\x77\x50\x61\x73\x73\x77\x6F\x72\x64","\x61\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x72\x65\x73\x65\x74\x50\x61\x73\x73\x77\x6F\x72\x64","\x63\x68\x61\x6E\x67\x65\x41\x76\x61\x74\x61\x72","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72","\x66\x69\x6C\x65\x73","\x69\x6D\x61\x67\x65\x73","\x6A\x6F\x69\x6E","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x65\x78\x74\x6E\x61\x6D\x65","\x4D\x61\x78\x20\x6E\x75\x6D\x62\x65\x72\x20\x6F\x66\x20\x66\x69\x6C\x65\x73\x20\x75\x70\x6C\x6F\x61\x64\x20\x65\x78\x63\x65\x65\x64\x65\x64","\x4F\x6E\x6C\x79\x20\x6A\x70\x65\x67\x20\x61\x6E\x64\x20\x70\x6E\x67\x20\x66\x6F\x72\x6D\x61\x74\x20\x61\x63\x63\x65\x70\x74\x65\x64","\x49\x6E\x76\x61\x6C\x69\x64\x20\x72\x65\x71\x75\x65\x73\x74","\x65\x6E\x64","\x66\x69\x6C\x65","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x6F\x6E","\x65\x72\x72\x6F\x72","\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x20\x55\x70\x6C\x6F\x61\x64\x20\x65\x72\x72\x6F\x72\x20\x3A","\x70\x61\x72\x73\x65","\x6D\x65","\x75\x73\x65\x72\x70\x69\x63","\x66\x69\x6E\x64\x4F\x6E\x65","\x75\x70\x64\x61\x74\x65","\x67\x65\x74\x41\x76\x61\x74\x61\x72","\x75\x73\x65\x72\x70\x69\x63\x2E\x70\x6E\x67","\x73\x65\x6E\x64\x46\x69\x6C\x65","\x65\x78\x69\x73\x74\x73","\x67\x65\x74\x41\x76\x61\x74\x61\x72\x42\x79\x49\x64","\x76\x69\x73\x69\x74\x6F\x72","\x63\x75\x73\x74\x6F\x6D\x65\x72\x2E\x70\x6E\x67","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x75\x73\x65\x72\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x61\x75\x74\x68\x43\x61\x6C\x6C\x62\x61\x63\x6B","\x2F","\x72\x65\x64\x69\x72\x65\x63\x74"];_0x17ad[0];var User=require(_0x17ad[2])[_0x17ad[1]];var Module=require(_0x17ad[2])[_0x17ad[3]];var config=require(_0x17ad[4]);var passport=require(_0x17ad[5]);var moment=require(_0x17ad[6]);var jwt=require(_0x17ad[7]);var uploadFile=require(_0x17ad[8]);var path=require(_0x17ad[9]);var fs=require(_0x17ad[10]);var _=require(_0x17ad[11]);var util=require(_0x17ad[12]);var sr=require(_0x17ad[13]);exports[_0x17ad[14]]=function(_0xbe1bxd,_0xbe1bxe,_0xbe1bxf){var _0xbe1bx10=[_0x17ad[15],_0x17ad[16],_0x17ad[17],_0x17ad[18]];var _0xbe1bx11=_0xbe1bxd[_0x17ad[20]][_0x17ad[19]]?parseInt(_0xbe1bxd[_0x17ad[20]][_0x17ad[19]],10):100;var _0xbe1bx12=_0xbe1bxd[_0x17ad[20]][_0x17ad[21]]?parseInt(_0xbe1bxd[_0x17ad[20]][_0x17ad[21]],10):0;var _0xbe1bx13={where:{role:[_0x17ad[22],_0x17ad[23]]},limit:_0xbe1bx11,offset:_0xbe1bx12*_0xbe1bx11};_[_0x17ad[37]](_0xbe1bxd[_0x17ad[20]],function(_0xbe1bx14,_0xbe1bx15){switch(_0xbe1bx15){case _0x17ad[19]:;case _0x17ad[21]:break ;;case _0x17ad[26]:_0xbe1bx13[_0x17ad[24]]=util[_0x17ad[29]](_0x17ad[25],_0xbe1bxd[_0x17ad[20]][_0x17ad[26]],_0xbe1bxd[_0x17ad[20]][_0x17ad[27]]||_0x17ad[28])||null;break ;;case _0x17ad[27]:break ;;case _0x17ad[35]:_0xbe1bx13[_0x17ad[31]][_0x17ad[30]]=[];_0xbe1bx10[_0x17ad[34]](function(_0xbe1bx16){var _0xbe1bx17={};_0xbe1bx17[_0xbe1bx16]={$like:_0x17ad[32]+_0xbe1bx14+_0x17ad[32]};_0xbe1bx13[_0x17ad[31]][_0x17ad[30]][_0x17ad[33]](_0xbe1bx17);});break ;;default:_0xbe1bx13[_0x17ad[31]][_0xbe1bx15]={$like:{}};_0xbe1bx13[_0x17ad[31]][_0xbe1bx15][_0x17ad[36]]=_0x17ad[32]+_0xbe1bx14+_0x17ad[32];;}});User[_0x17ad[52]](_0xbe1bx13)[_0x17ad[51]](function(_0xbe1bx19){var _0xbe1bx1a=Math[_0x17ad[43]](_0xbe1bx19[_0x17ad[42]]/_0xbe1bx11);var _0xbe1bx1b=_0xbe1bx1a>(_0xbe1bx13[_0x17ad[44]]+1)?util[_0x17ad[29]](_0x17ad[45],_0xbe1bxd[_0x17ad[46]],_0xbe1bxd[_0x17ad[48]][_0x17ad[47]],_0xbe1bxd[_0x17ad[49]],_0xbe1bx12+1):null;var _0xbe1bx1c=_0xbe1bx12>0?util[_0x17ad[29]](_0x17ad[45],_0xbe1bxd[_0x17ad[46]],_0xbe1bxd[_0x17ad[48]][_0x17ad[47]],_0xbe1bxd[_0x17ad[49]],_0xbe1bx12-1):null;return _0xbe1bxe[_0x17ad[40]](200)[_0x17ad[39]]({count:_0xbe1bx19[_0x17ad[42]],rows:_0xbe1bx19[_0x17ad[50]],next_page:_0xbe1bx1b,previous_page:_0xbe1bx1c,total_pages:_0xbe1bx1a});})[_0x17ad[41]](function(_0xbe1bx18){return _0xbe1bxe[_0x17ad[40]](500)[_0x17ad[39]]({error:_0x17ad[38]})});};exports[_0x17ad[53]]=function(_0xbe1bxd,_0xbe1bxe,_0xbe1bxf){User[_0x17ad[55]]({where:{role:{$in:[_0x17ad[22],_0x17ad[23],_0x17ad[54]]}}})[_0x17ad[51]](function(_0xbe1bx1d){return _0xbe1bxe[_0x17ad[40]](200)[_0x17ad[39]](_0xbe1bx1d)})[_0x17ad[41]](function(_0xbe1bx18){return handleError(_0xbe1bxe,_0xbe1bx18)})};exports[_0x17ad[56]]=function(_0xbe1bxd,_0xbe1bxe,_0xbe1bxf){var _0xbe1bx1e=_0xbe1bxd[_0x17ad[57]];_(_0xbe1bx1e)[_0x17ad[60]]()[_0x17ad[59]]()[_0x17ad[58]](function(_0xbe1bx15){var _0xbe1bx14=_0xbe1bx1e[_0xbe1bx15]});var _0xbe1bx1f=User[_0x17ad[61]](_0xbe1bxd[_0x17ad[57]]);_0xbe1bx1f[_0x17ad[62]]=_0x17ad[63];_0xbe1bx1f[_0x17ad[69]]()[_0x17ad[51]](function(_0xbe1bx20){var _0xbe1bx21=jwt[_0x17ad[68]]({id:_0xbe1bx20[_0x17ad[64]]},config[_0x17ad[66]][_0x17ad[65]],{expiresIn:_0x17ad[67]});return _0xbe1bxe[_0x17ad[40]](201)[_0x17ad[39]]({token:_0xbe1bx21});})[_0x17ad[41]](function(_0xbe1bx18){return handleError(_0xbe1bxe,_0xbe1bx18)});};exports[_0x17ad[70]]=function(_0xbe1bxd,_0xbe1bxe,_0xbe1bxf){User[_0x17ad[73]](_0xbe1bxd[_0x17ad[72]][_0x17ad[64]])[_0x17ad[51]](function(_0xbe1bx20){if(_0xbe1bx20){return _0xbe1bxe[_0x17ad[40]](200)[_0x17ad[39]](_0xbe1bx20)}else {return _0xbe1bxe[_0x17ad[71]](404)}})[_0x17ad[41]](function(_0xbe1bx18){return handleError(_0xbe1bxe,_0xbe1bx18)})};exports[_0x17ad[74]]=function(_0xbe1bxd,_0xbe1bxe,_0xbe1bxf){var _0xbe1bx22=_0xbe1bxd[_0x17ad[72]][_0x17ad[64]];User[_0x17ad[73]](_0xbe1bx22)[_0x17ad[51]](function(_0xbe1bx20){if(_0xbe1bx20){_0xbe1bx20[_0x17ad[74]]()[_0x17ad[51]](function(_0xbe1bx20){console[_0x17ad[75]](_0xbe1bx20);return _0xbe1bxe[_0x17ad[40]](200)[_0x17ad[39]](_0xbe1bx20);})[_0x17ad[41]](function(_0xbe1bx18){return handleError(_0xbe1bxe,_0xbe1bx18)})}else {return _0xbe1bxe[_0x17ad[71]](404)}})[_0x17ad[41]](function(_0xbe1bx18){return handleError(_0xbe1bxe,_0xbe1bx18)});};exports[_0x17ad[76]]=function(_0xbe1bxd,_0xbe1bxe,_0xbe1bxf){var _0xbe1bx22=_0xbe1bxd[_0x17ad[23]][_0x17ad[64]];var _0xbe1bx23=String(_0xbe1bxd[_0x17ad[57]][_0x17ad[77]]);var _0xbe1bx24=String(_0xbe1bxd[_0x17ad[57]][_0x17ad[78]]);User[_0x17ad[73]](_0xbe1bx22)[_0x17ad[51]](function(_0xbe1bx20){if(_0xbe1bx20[_0x17ad[79]](_0xbe1bx23)){_0xbe1bx20[_0x17ad[80]]=_0xbe1bx24;_0xbe1bx20[_0x17ad[69]]()[_0x17ad[51]](function(){return _0xbe1bxe[_0x17ad[40]](200)[_0x17ad[39]](_0xbe1bx20)})[_0x17ad[41]](function(_0xbe1bx18){return handleError(_0xbe1bxe,_0xbe1bx18)});}else {return _0xbe1bxe[_0x17ad[71]](403)}});};exports[_0x17ad[81]]=function(_0xbe1bxd,_0xbe1bxe,_0xbe1bxf){var _0xbe1bx24=String(_0xbe1bxd[_0x17ad[57]][_0x17ad[78]]);User[_0x17ad[73]](_0xbe1bxd[_0x17ad[72]][_0x17ad[64]])[_0x17ad[51]](function(_0xbe1bx20){_0xbe1bx20[_0x17ad[80]]=_0xbe1bx24;_0xbe1bx20[_0x17ad[69]]()[_0x17ad[51]](function(){return _0xbe1bxe[_0x17ad[40]](200)[_0x17ad[39]](_0xbe1bx20)})[_0x17ad[41]](function(_0xbe1bx18){return handleError(_0xbe1bxe,_0xbe1bx18)});});};exports[_0x17ad[82]]=function(_0xbe1bxd,_0xbe1bxe,_0xbe1bxf){var _0xbe1bx25= new uploadFile({dest:path[_0x17ad[87]](config[_0x17ad[83]],_0x17ad[84],_0x17ad[85],_0x17ad[86]),maxNumberOfFiles:1,minNumberOfFiles:0,acceptFileTypes:/(\.|\/)(jpeg|png)$/i,rename:function(_0xbe1bx26,_0xbe1bx27){return sr()+path[_0x17ad[89]](_0xbe1bx27[_0x17ad[88]])},messages:{maxNumberOfFiles:_0x17ad[90],acceptFileTypes:_0x17ad[91],invalidRequest:_0x17ad[92]}});_0xbe1bx25[_0x17ad[96]](_0x17ad[93],function(_0xbe1bx28,_0xbe1bx29){if(!_0xbe1bx29[_0x17ad[94]][_0x17ad[88]]){return _0xbe1bxe[_0x17ad[40]](500)[_0x17ad[39]](_0xbe1bx25)}else {User[_0x17ad[73]](_0xbe1bxd[_0x17ad[72]][_0x17ad[64]])[_0x17ad[51]](function(_0xbe1bx20){if(_0xbe1bx20){_0xbe1bx20[_0x17ad[95]]({userpic:_0xbe1bx29[_0x17ad[94]][_0x17ad[88]]})[_0x17ad[51]](function(){return _0xbe1bxe[_0x17ad[40]](200)[_0x17ad[39]](_0xbe1bx20)})[_0x17ad[41]](function(_0xbe1bx18){return handleError(_0xbe1bxe,_0xbe1bx18)})}else {return _0xbe1bxe[_0x17ad[71]](404)}})[_0x17ad[41]](function(_0xbe1bx18){return handleError(_0xbe1bxe,_0xbe1bx18)})}});_0xbe1bx25[_0x17ad[96]](_0x17ad[97],function(_0xbe1bx18){console[_0x17ad[75]](_0x17ad[98],_0xbe1bx18);return handleError(_0xbe1bxe,_0xbe1bx18);});_0xbe1bx25[_0x17ad[99]](_0xbe1bxd);};exports[_0x17ad[100]]=function(_0xbe1bxd,_0xbe1bxe,_0xbe1bxf){var _0xbe1bx22=_0xbe1bxd[_0x17ad[23]][_0x17ad[64]];User[_0x17ad[102]]({where:{id:_0xbe1bx22},attributes:[_0x17ad[64],_0x17ad[15],_0x17ad[16],_0x17ad[17],_0x17ad[18],_0x17ad[101]],include:[Module]})[_0x17ad[51]](function(_0xbe1bx20){if(!_0xbe1bx20){return _0xbe1bxe[_0x17ad[71]](401)};return _0xbe1bxe[_0x17ad[40]](200)[_0x17ad[39]](_0xbe1bx20);})[_0x17ad[41]](function(_0xbe1bx18){return handleError(_0xbe1bxe,_0xbe1bx18)});};exports[_0x17ad[103]]=function(_0xbe1bxd,_0xbe1bxe,_0xbe1bxf){var _0xbe1bx22=_0xbe1bxd[_0x17ad[23]][_0x17ad[64]];User[_0x17ad[73]](_0xbe1bxd[_0x17ad[72]][_0x17ad[64]])[_0x17ad[51]](function(_0xbe1bx20){if(_0xbe1bx20){_0xbe1bx20[_0x17ad[95]](_0xbe1bxd[_0x17ad[57]])[_0x17ad[51]](function(_0xbe1bx20){return _0xbe1bxe[_0x17ad[40]](200)[_0x17ad[39]](_0xbe1bx20)})[_0x17ad[41]](function(_0xbe1bx18){return handleError(_0xbe1bxe,_0xbe1bx18)})}else {return _0xbe1bxe[_0x17ad[71]](500)}})[_0x17ad[41]](function(_0xbe1bx18){return handleError(_0xbe1bxe,_0xbe1bx18)});};exports[_0x17ad[104]]=function(_0xbe1bxd,_0xbe1bxe,_0xbe1bxf){var _0xbe1bx2a=path[_0x17ad[87]](config[_0x17ad[83]],_0x17ad[84],_0x17ad[85],_0x17ad[86],_0xbe1bxd[_0x17ad[72]][_0x17ad[88]]);fs[_0x17ad[107]](_0xbe1bx2a,function(_0xbe1bx2b){if(!_0xbe1bx2b){_0xbe1bx2a=path[_0x17ad[87]](config[_0x17ad[83]],_0x17ad[84],_0x17ad[85],_0x17ad[86],_0x17ad[105])};return _0xbe1bxe[_0x17ad[106]](_0xbe1bx2a);});};exports[_0x17ad[108]]=function(_0xbe1bxd,_0xbe1bxe,_0xbe1bxf){if(_0xbe1bxd[_0x17ad[72]][_0x17ad[64]]===_0x17ad[109]){var _0xbe1bx2a=path[_0x17ad[87]](config[_0x17ad[83]],_0x17ad[84],_0x17ad[85],_0x17ad[86],_0x17ad[110]);fs[_0x17ad[107]](_0xbe1bx2a,function(_0xbe1bx2b){return _0xbe1bxe[_0x17ad[106]](_0xbe1bx2a)});}else {User[_0x17ad[73]](_0xbe1bxd[_0x17ad[72]][_0x17ad[64]])[_0x17ad[51]](function(_0xbe1bx20){if(_0xbe1bx20){var _0xbe1bx2a=path[_0x17ad[87]](config[_0x17ad[83]],_0x17ad[84],_0x17ad[85],_0x17ad[86],_0xbe1bx20[_0x17ad[101]]?_0xbe1bx20[_0x17ad[101]]:_0x17ad[105]);fs[_0x17ad[107]](_0xbe1bx2a,function(_0xbe1bx2b){if(!_0xbe1bx2b){_0xbe1bx2a=path[_0x17ad[87]](config[_0x17ad[83]],_0x17ad[84],_0x17ad[85],_0x17ad[86],_0x17ad[105])};return _0xbe1bxe[_0x17ad[106]](_0xbe1bx2a);});}else {return _0xbe1bxe[_0x17ad[71]](500)}})[_0x17ad[41]](function(_0xbe1bx18){return handleError(_0xbe1bxe,_0xbe1bx18)})}};exports[_0x17ad[111]]=function(_0xbe1bxd,_0xbe1bxe){User[_0x17ad[74]]({where:{id:_0xbe1bxd[_0x17ad[20]][_0x17ad[64]]},individualHooks:true})[_0x17ad[51]](function(){return _0xbe1bxe[_0x17ad[71]](204)})[_0x17ad[41]](function(_0xbe1bx18){return handleError(_0xbe1bxe,_0xbe1bx18)})};exports[_0x17ad[112]]=function(_0xbe1bxd,_0xbe1bxe){var _0xbe1bx2c={};_0xbe1bx2c[_0xbe1bxd[_0x17ad[72]][_0x17ad[113]]]=_0xbe1bxd[_0x17ad[57]][_0x17ad[114]];User[_0x17ad[52]]({where:_0xbe1bx2c})[_0x17ad[51]](function(_0xbe1bx19){if(_0xbe1bx19[_0x17ad[42]]){return _0xbe1bxe[_0x17ad[40]](200)[_0x17ad[39]]({isValid:false,value:_0xbe1bxd[_0x17ad[57]][_0x17ad[114]]})};return _0xbe1bxe[_0x17ad[40]](200)[_0x17ad[39]]({isValid:true,value:_0xbe1bxd[_0x17ad[57]][_0x17ad[114]]});})[_0x17ad[41]](function(_0xbe1bx18){return handleError(_0xbe1bxe,_0xbe1bx18)});};exports[_0x17ad[115]]=function(_0xbe1bxd,_0xbe1bxe,_0xbe1bxf){_0xbe1bxe[_0x17ad[117]](_0x17ad[116])};function handleError(_0xbe1bxe,_0xbe1bx18){return _0xbe1bxe[_0x17ad[40]](500)[_0x17ad[39]](_0xbe1bx18)}
\ No newline at end of file
index c887b38821477de047c61f164208a35c8b574347..89da6c8c404eb23218cdb88dbb89c9cd42626d65 100644 (file)
@@ -1 +1 @@
-var _0x69f3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x72\x6F\x6C\x65","\x61\x64\x6D\x69\x6E","\x75\x73\x65\x72\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x75\x73\x65\x72\x3A\x72\x65\x6D\x6F\x76\x65"];_0x69f3[0];var user=require(_0x69f3[2])[_0x69f3[1]];exports[_0x69f3[3]]=function(_0x53a8x2){user[_0x69f3[4]](function(_0x53a8x3){onSave(_0x53a8x2,_0x53a8x3)});user[_0x69f3[5]](function(_0x53a8x3){onSave(_0x53a8x2,_0x53a8x3)});user[_0x69f3[6]](function(_0x53a8x3){onRemove(_0x53a8x2,_0x53a8x3)});};function onSave(_0x53a8x2,_0x53a8x3,_0x53a8x5){if(_0x53a8x3[_0x69f3[7]]===_0x69f3[8]){_0x53a8x2[_0x69f3[10]](_0x69f3[9],_0x53a8x3)}}function onRemove(_0x53a8x2,_0x53a8x3,_0x53a8x5){if(_0x53a8x3[_0x69f3[7]]===_0x69f3[8]){_0x53a8x2[_0x69f3[10]](_0x69f3[11],_0x53a8x3)}}
\ No newline at end of file
+var _0xc13a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x72\x6F\x6C\x65","\x61\x64\x6D\x69\x6E","\x75\x73\x65\x72\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x75\x73\x65\x72\x3A\x72\x65\x6D\x6F\x76\x65"];_0xc13a[0];var user=require(_0xc13a[2])[_0xc13a[1]];exports[_0xc13a[3]]=function(_0x8e23x2){user[_0xc13a[4]](function(_0x8e23x3){onSave(_0x8e23x2,_0x8e23x3)});user[_0xc13a[5]](function(_0x8e23x3){onSave(_0x8e23x2,_0x8e23x3)});user[_0xc13a[6]](function(_0x8e23x3){onRemove(_0x8e23x2,_0x8e23x3)});};function onSave(_0x8e23x2,_0x8e23x3,_0x8e23x5){if(_0x8e23x3[_0xc13a[7]]===_0xc13a[8]){_0x8e23x2[_0xc13a[10]](_0xc13a[9],_0x8e23x3)}}function onRemove(_0x8e23x2,_0x8e23x3,_0x8e23x5){if(_0x8e23x3[_0xc13a[7]]===_0xc13a[8]){_0x8e23x2[_0xc13a[10]](_0xc13a[11],_0x8e23x3)}}
\ No newline at end of file
index ea126565dd54265612c0dc02ee73262bb655cc4c..69a3c17882289c2d92823664f6bf8d6020f0c06c 100644 (file)
@@ -1 +1 @@
-var _0xf928=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xf928[0];var express=require(_0xf928[1]);var controller=require(_0xf928[2]);var router=express.Router();router[_0xf928[5]](_0xf928[3],controller[_0xf928[4]]);router[_0xf928[5]](_0xf928[6],controller[_0xf928[7]]);router[_0xf928[9]](_0xf928[3],controller[_0xf928[8]]);router[_0xf928[11]](_0xf928[6],controller[_0xf928[10]]);router[_0xf928[12]](_0xf928[6],controller[_0xf928[10]]);router[_0xf928[14]](_0xf928[6],controller[_0xf928[13]]);module[_0xf928[15]]=router;
\ No newline at end of file
+var _0x5938=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x5938[0];var express=require(_0x5938[1]);var controller=require(_0x5938[2]);var router=express.Router();router[_0x5938[5]](_0x5938[3],controller[_0x5938[4]]);router[_0x5938[5]](_0x5938[6],controller[_0x5938[7]]);router[_0x5938[9]](_0x5938[3],controller[_0x5938[8]]);router[_0x5938[11]](_0x5938[6],controller[_0x5938[10]]);router[_0x5938[12]](_0x5938[6],controller[_0x5938[10]]);router[_0x5938[14]](_0x5938[6],controller[_0x5938[13]]);module[_0x5938[15]]=router;
\ No newline at end of file
index 818fd71a41040c734a2dcf06d1aaff6fda430f61..9c7d08ae4243fb2c3a7aab8bbd0331eaceb483e8 100644 (file)
@@ -1 +1 @@
-var _0x6ca9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79"];_0x6ca9[0];var _=require(_0x6ca9[1]);var UserHasChatQueue=require(_0x6ca9[3])[_0x6ca9[2]];exports[_0x6ca9[4]]=function(_0x5d5ax3,_0x5d5ax4){UserHasChatQueue[_0x6ca9[10]](_0x5d5ax3[_0x6ca9[9]]?{where:_0x5d5ax3[_0x6ca9[9]]}:{})[_0x6ca9[8]](function(_0x5d5ax6){return _0x5d5ax4[_0x6ca9[7]](200)[_0x6ca9[6]](_0x5d5ax6)})[_0x6ca9[5]](function(_0x5d5ax5){return handleError(_0x5d5ax4,_0x5d5ax5)})};exports[_0x6ca9[11]]=function(_0x5d5ax3,_0x5d5ax4){UserHasChatQueue[_0x6ca9[15]](_0x5d5ax3[_0x6ca9[14]][_0x6ca9[13]])[_0x6ca9[8]](function(_0x5d5ax7){if(!_0x5d5ax7){return _0x5d5ax4[_0x6ca9[12]](404)};return _0x5d5ax4[_0x6ca9[6]](_0x5d5ax7);})[_0x6ca9[5]](function(_0x5d5ax5){return handleError(_0x5d5ax4,_0x5d5ax5)})};exports[_0x6ca9[16]]=function(_0x5d5ax3,_0x5d5ax4){UserHasChatQueue[_0x6ca9[16]](_0x5d5ax3[_0x6ca9[17]])[_0x6ca9[8]](function(_0x5d5ax7){return _0x5d5ax4[_0x6ca9[7]](201)[_0x6ca9[6]](_0x5d5ax7)})[_0x6ca9[5]](function(_0x5d5ax5){return handleError(_0x5d5ax4,_0x5d5ax5)})};exports[_0x6ca9[18]]=function(_0x5d5ax3,_0x5d5ax4){if(_0x5d5ax3[_0x6ca9[17]][_0x6ca9[13]]){delete _0x5d5ax3[_0x6ca9[17]][_0x6ca9[13]]};UserHasChatQueue[_0x6ca9[21]]({where:{id:_0x5d5ax3[_0x6ca9[14]][_0x6ca9[13]]}})[_0x6ca9[8]](function(_0x5d5ax7){if(!_0x5d5ax7){return _0x5d5ax4[_0x6ca9[12]](404)};var _0x5d5ax8=_[_0x6ca9[19]](_0x5d5ax7,_0x5d5ax3[_0x6ca9[17]]);_0x5d5ax8[_0x6ca9[20]]()[_0x6ca9[8]](function(){return _0x5d5ax4[_0x6ca9[7]](200)[_0x6ca9[6]](_0x5d5ax7)})[_0x6ca9[5]](function(_0x5d5ax5){return handleError(_0x5d5ax4,_0x5d5ax5)});})[_0x6ca9[5]](function(_0x5d5ax5){return handleError(_0x5d5ax4,_0x5d5ax5)});};exports[_0x6ca9[22]]=function(_0x5d5ax3,_0x5d5ax4){UserHasChatQueue[_0x6ca9[21]]({where:{id:_0x5d5ax3[_0x6ca9[14]][_0x6ca9[13]]}})[_0x6ca9[8]](function(_0x5d5ax7){if(!_0x5d5ax7){return _0x5d5ax4[_0x6ca9[12]](404)};_0x5d5ax7[_0x6ca9[22]]()[_0x6ca9[8]](function(){return _0x5d5ax4[_0x6ca9[12]](204)})[_0x6ca9[5]](function(_0x5d5ax5){return handleError(_0x5d5ax4,_0x5d5ax5)});})[_0x6ca9[5]](function(_0x5d5ax5){return handleError(_0x5d5ax4,_0x5d5ax5)})};function handleError(_0x5d5ax4,_0x5d5ax5){return _0x5d5ax4[_0x6ca9[7]](500)[_0x6ca9[6]](_0x5d5ax5)}
\ No newline at end of file
+var _0x9468=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79"];_0x9468[0];var _=require(_0x9468[1]);var UserHasChatQueue=require(_0x9468[3])[_0x9468[2]];exports[_0x9468[4]]=function(_0xde99x3,_0xde99x4){UserHasChatQueue[_0x9468[10]](_0xde99x3[_0x9468[9]]?{where:_0xde99x3[_0x9468[9]]}:{})[_0x9468[8]](function(_0xde99x6){return _0xde99x4[_0x9468[7]](200)[_0x9468[6]](_0xde99x6)})[_0x9468[5]](function(_0xde99x5){return handleError(_0xde99x4,_0xde99x5)})};exports[_0x9468[11]]=function(_0xde99x3,_0xde99x4){UserHasChatQueue[_0x9468[15]](_0xde99x3[_0x9468[14]][_0x9468[13]])[_0x9468[8]](function(_0xde99x7){if(!_0xde99x7){return _0xde99x4[_0x9468[12]](404)};return _0xde99x4[_0x9468[6]](_0xde99x7);})[_0x9468[5]](function(_0xde99x5){return handleError(_0xde99x4,_0xde99x5)})};exports[_0x9468[16]]=function(_0xde99x3,_0xde99x4){UserHasChatQueue[_0x9468[16]](_0xde99x3[_0x9468[17]])[_0x9468[8]](function(_0xde99x7){return _0xde99x4[_0x9468[7]](201)[_0x9468[6]](_0xde99x7)})[_0x9468[5]](function(_0xde99x5){return handleError(_0xde99x4,_0xde99x5)})};exports[_0x9468[18]]=function(_0xde99x3,_0xde99x4){if(_0xde99x3[_0x9468[17]][_0x9468[13]]){delete _0xde99x3[_0x9468[17]][_0x9468[13]]};UserHasChatQueue[_0x9468[21]]({where:{id:_0xde99x3[_0x9468[14]][_0x9468[13]]}})[_0x9468[8]](function(_0xde99x7){if(!_0xde99x7){return _0xde99x4[_0x9468[12]](404)};var _0xde99x8=_[_0x9468[19]](_0xde99x7,_0xde99x3[_0x9468[17]]);_0xde99x8[_0x9468[20]]()[_0x9468[8]](function(){return _0xde99x4[_0x9468[7]](200)[_0x9468[6]](_0xde99x7)})[_0x9468[5]](function(_0xde99x5){return handleError(_0xde99x4,_0xde99x5)});})[_0x9468[5]](function(_0xde99x5){return handleError(_0xde99x4,_0xde99x5)});};exports[_0x9468[22]]=function(_0xde99x3,_0xde99x4){UserHasChatQueue[_0x9468[21]]({where:{id:_0xde99x3[_0x9468[14]][_0x9468[13]]}})[_0x9468[8]](function(_0xde99x7){if(!_0xde99x7){return _0xde99x4[_0x9468[12]](404)};_0xde99x7[_0x9468[22]]()[_0x9468[8]](function(){return _0xde99x4[_0x9468[12]](204)})[_0x9468[5]](function(_0xde99x5){return handleError(_0xde99x4,_0xde99x5)});})[_0x9468[5]](function(_0xde99x5){return handleError(_0xde99x4,_0xde99x5)})};function handleError(_0xde99x4,_0xde99x5){return _0xde99x4[_0x9468[7]](500)[_0x9468[6]](_0xde99x5)}
\ No newline at end of file
index b84b8f4947904bf543d3e81a51d5e0c056dad44f..64c6cb711156179789a085e3ce763f299925e493 100644 (file)
@@ -1 +1 @@
-var _0xa03f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0xa03f[0];var UserHasChatQueue=require(_0xa03f[2])[_0xa03f[1]];exports[_0xa03f[3]]=function(_0x669bx2){UserHasChatQueue[_0xa03f[4]](function(_0x669bx3){onSave(_0x669bx2,_0x669bx3)});UserHasChatQueue[_0xa03f[5]](function(_0x669bx3){onRemove(_0x669bx2,_0x669bx3)});};function onSave(_0x669bx2,_0x669bx3,_0x669bx5){_0x669bx2[_0xa03f[7]](_0xa03f[6],_0x669bx3)}function onRemove(_0x669bx2,_0x669bx3,_0x669bx5){_0x669bx2[_0xa03f[7]](_0xa03f[8],_0x669bx3)}
\ No newline at end of file
+var _0xe373=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0xe373[0];var UserHasChatQueue=require(_0xe373[2])[_0xe373[1]];exports[_0xe373[3]]=function(_0xfad3x2){UserHasChatQueue[_0xe373[4]](function(_0xfad3x3){onSave(_0xfad3x2,_0xfad3x3)});UserHasChatQueue[_0xe373[5]](function(_0xfad3x3){onRemove(_0xfad3x2,_0xfad3x3)});};function onSave(_0xfad3x2,_0xfad3x3,_0xfad3x5){_0xfad3x2[_0xe373[7]](_0xe373[6],_0xfad3x3)}function onRemove(_0xfad3x2,_0xfad3x3,_0xfad3x5){_0xfad3x2[_0xe373[7]](_0xe373[8],_0xfad3x3)}
\ No newline at end of file
index 1d7d4dd2663b1804ca81200e2110390b5e4b4572..418ecd0cdb0647fb62f08aa0d4963d0da1739a20 100644 (file)
@@ -1 +1 @@
-var _0x9f73=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x67\x65\x74"];_0x9f73[0];var should=require(_0x9f73[1]);var app=require(_0x9f73[2]);var request=require(_0x9f73[3]);describe(_0x9f73[4],function(){it(_0x9f73[5],function(_0xc67fx4){request(app)[_0x9f73[13]](_0x9f73[12])[_0x9f73[11]](200)[_0x9f73[11]](_0x9f73[10],/json/)[_0x9f73[9]](function(_0xc67fx5,_0xc67fx6){if(_0xc67fx5){return _0xc67fx4(_0xc67fx5)};_0xc67fx6[_0x9f73[8]][_0x9f73[1]][_0x9f73[7]][_0x9f73[6]](Array);_0xc67fx4();})})});
\ No newline at end of file
+var _0xfc11=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x67\x65\x74"];_0xfc11[0];var should=require(_0xfc11[1]);var app=require(_0xfc11[2]);var request=require(_0xfc11[3]);describe(_0xfc11[4],function(){it(_0xfc11[5],function(_0x105dx4){request(app)[_0xfc11[13]](_0xfc11[12])[_0xfc11[11]](200)[_0xfc11[11]](_0xfc11[10],/json/)[_0xfc11[9]](function(_0x105dx5,_0x105dx6){if(_0x105dx5){return _0x105dx4(_0x105dx5)};_0x105dx6[_0xfc11[8]][_0xfc11[1]][_0xfc11[7]][_0xfc11[6]](Array);_0x105dx4();})})});
\ No newline at end of file
index ef3dc2c2a54a130702144102b6f2294f3f313618..de6ff97378c4138bf1aaa623d2f85dffb7a880e2 100644 (file)
@@ -1 +1 @@
-var _0xc6b0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F\x3A\x75\x73\x65\x72\x49\x64\x2F\x3A\x63\x68\x61\x74\x52\x6F\x6F\x6D\x49\x64","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xc6b0[0];var express=require(_0xc6b0[1]);var controller=require(_0xc6b0[2]);var auth=require(_0xc6b0[3]);var router=express.Router();router[_0xc6b0[6]](_0xc6b0[4],controller[_0xc6b0[5]]);module[_0xc6b0[7]]=router;
\ No newline at end of file
+var _0x2178=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F\x3A\x75\x73\x65\x72\x49\x64\x2F\x3A\x63\x68\x61\x74\x52\x6F\x6F\x6D\x49\x64","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x2178[0];var express=require(_0x2178[1]);var controller=require(_0x2178[2]);var auth=require(_0x2178[3]);var router=express.Router();router[_0x2178[6]](_0x2178[4],controller[_0x2178[5]]);module[_0x2178[7]]=router;
\ No newline at end of file
index b5902986274264cb509289016f350f59f5a88bfd..2c68b540c24cda423fe6311a5f2920dd2bb8e6e4 100644 (file)
@@ -1 +1 @@
-var _0x8aeb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x75\x73\x65\x72\x49\x64","\x63\x68\x61\x74\x52\x6F\x6F\x6D\x49\x64","\x66\x69\x6E\x64\x4F\x6E\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x8aeb[0];var _=require(_0x8aeb[1]);var UserHasChatRoom=require(_0x8aeb[3])[_0x8aeb[2]];exports[_0x8aeb[4]]=function(_0x9560x3,_0x9560x4){UserHasChatRoom[_0x8aeb[9]]()[_0x8aeb[8]](function(_0x9560x6){return _0x9560x4[_0x8aeb[7]](200)[_0x8aeb[6]](_0x9560x6)})[_0x8aeb[5]](function(_0x9560x5){return handleError(_0x9560x4,_0x9560x5)})};exports[_0x8aeb[10]]=function(_0x9560x3,_0x9560x4){UserHasChatRoom[_0x8aeb[14]](_0x9560x3[_0x8aeb[13]][_0x8aeb[12]])[_0x8aeb[8]](function(_0x9560x7){if(!_0x9560x7){return _0x9560x4[_0x8aeb[11]](404)};return _0x9560x4[_0x8aeb[6]](_0x9560x7);})[_0x8aeb[5]](function(_0x9560x5){return handleError(_0x9560x4,_0x9560x5)})};exports[_0x8aeb[15]]=function(_0x9560x3,_0x9560x4){UserHasChatRoom[_0x8aeb[15]](_0x9560x3[_0x8aeb[16]])[_0x8aeb[8]](function(_0x9560x7){return _0x9560x4[_0x8aeb[7]](201)[_0x8aeb[6]](_0x9560x7)})[_0x8aeb[5]](function(_0x9560x5){return handleError(_0x9560x4,_0x9560x5)})};exports[_0x8aeb[17]]=function(_0x9560x3,_0x9560x4){UserHasChatRoom[_0x8aeb[21]]({where:{UserId:_0x9560x3[_0x8aeb[13]][_0x8aeb[19]],ChatRoomId:_0x9560x3[_0x8aeb[13]][_0x8aeb[20]]},limit:1})[_0x8aeb[8]](function(_0x9560x7){if(!_0x9560x7){return _0x9560x4[_0x8aeb[11]](404)};_0x9560x7[_0x8aeb[18]](_0x9560x3[_0x8aeb[16]])[_0x8aeb[8]](function(){return _0x9560x4[_0x8aeb[7]](200)[_0x8aeb[6]](_0x9560x7)})[_0x8aeb[5]](function(_0x9560x5){return handleError(_0x9560x4,_0x9560x5)});})[_0x8aeb[5]](function(_0x9560x5){return handleError(_0x9560x4,_0x9560x5)})};exports[_0x8aeb[22]]=function(_0x9560x3,_0x9560x4){UserHasChatRoom[_0x8aeb[14]](_0x9560x3[_0x8aeb[13]][_0x8aeb[12]])[_0x8aeb[8]](function(_0x9560x7){if(!_0x9560x7){return _0x9560x4[_0x8aeb[11]](404)};_0x9560x7[_0x8aeb[22]]()[_0x8aeb[8]](function(){return _0x9560x4[_0x8aeb[11]](204)})[_0x8aeb[5]](function(_0x9560x5){return handleError(_0x9560x4,_0x9560x5)});})[_0x8aeb[5]](function(_0x9560x5){return handleError(_0x9560x4,_0x9560x5)})};function handleError(_0x9560x4,_0x9560x5){return _0x9560x4[_0x8aeb[7]](500)[_0x8aeb[6]](_0x9560x5)}
\ No newline at end of file
+var _0x4f6c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x75\x73\x65\x72\x49\x64","\x63\x68\x61\x74\x52\x6F\x6F\x6D\x49\x64","\x66\x69\x6E\x64\x4F\x6E\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x4f6c[0];var _=require(_0x4f6c[1]);var UserHasChatRoom=require(_0x4f6c[3])[_0x4f6c[2]];exports[_0x4f6c[4]]=function(_0xf5bdx3,_0xf5bdx4){UserHasChatRoom[_0x4f6c[9]]()[_0x4f6c[8]](function(_0xf5bdx6){return _0xf5bdx4[_0x4f6c[7]](200)[_0x4f6c[6]](_0xf5bdx6)})[_0x4f6c[5]](function(_0xf5bdx5){return handleError(_0xf5bdx4,_0xf5bdx5)})};exports[_0x4f6c[10]]=function(_0xf5bdx3,_0xf5bdx4){UserHasChatRoom[_0x4f6c[14]](_0xf5bdx3[_0x4f6c[13]][_0x4f6c[12]])[_0x4f6c[8]](function(_0xf5bdx7){if(!_0xf5bdx7){return _0xf5bdx4[_0x4f6c[11]](404)};return _0xf5bdx4[_0x4f6c[6]](_0xf5bdx7);})[_0x4f6c[5]](function(_0xf5bdx5){return handleError(_0xf5bdx4,_0xf5bdx5)})};exports[_0x4f6c[15]]=function(_0xf5bdx3,_0xf5bdx4){UserHasChatRoom[_0x4f6c[15]](_0xf5bdx3[_0x4f6c[16]])[_0x4f6c[8]](function(_0xf5bdx7){return _0xf5bdx4[_0x4f6c[7]](201)[_0x4f6c[6]](_0xf5bdx7)})[_0x4f6c[5]](function(_0xf5bdx5){return handleError(_0xf5bdx4,_0xf5bdx5)})};exports[_0x4f6c[17]]=function(_0xf5bdx3,_0xf5bdx4){UserHasChatRoom[_0x4f6c[21]]({where:{UserId:_0xf5bdx3[_0x4f6c[13]][_0x4f6c[19]],ChatRoomId:_0xf5bdx3[_0x4f6c[13]][_0x4f6c[20]]},limit:1})[_0x4f6c[8]](function(_0xf5bdx7){if(!_0xf5bdx7){return _0xf5bdx4[_0x4f6c[11]](404)};_0xf5bdx7[_0x4f6c[18]](_0xf5bdx3[_0x4f6c[16]])[_0x4f6c[8]](function(){return _0xf5bdx4[_0x4f6c[7]](200)[_0x4f6c[6]](_0xf5bdx7)})[_0x4f6c[5]](function(_0xf5bdx5){return handleError(_0xf5bdx4,_0xf5bdx5)});})[_0x4f6c[5]](function(_0xf5bdx5){return handleError(_0xf5bdx4,_0xf5bdx5)})};exports[_0x4f6c[22]]=function(_0xf5bdx3,_0xf5bdx4){UserHasChatRoom[_0x4f6c[14]](_0xf5bdx3[_0x4f6c[13]][_0x4f6c[12]])[_0x4f6c[8]](function(_0xf5bdx7){if(!_0xf5bdx7){return _0xf5bdx4[_0x4f6c[11]](404)};_0xf5bdx7[_0x4f6c[22]]()[_0x4f6c[8]](function(){return _0xf5bdx4[_0x4f6c[11]](204)})[_0x4f6c[5]](function(_0xf5bdx5){return handleError(_0xf5bdx4,_0xf5bdx5)});})[_0x4f6c[5]](function(_0xf5bdx5){return handleError(_0xf5bdx4,_0xf5bdx5)})};function handleError(_0xf5bdx4,_0xf5bdx5){return _0xf5bdx4[_0x4f6c[7]](500)[_0x4f6c[6]](_0xf5bdx5)}
\ No newline at end of file
index 50a90f13c5fc24c1b983581fa35380b30e7e48f6..3cc5f8ed5a5a1f1e4523ab07240eddbe0d4a04a6 100644 (file)
@@ -1 +1 @@
-var _0x7978=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x43\x68\x61\x74\x4D\x65\x73\x73\x61\x67\x65\x73","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x5F\x63\x68\x61\x74\x52\x6F\x6F\x6D","\x6C\x6F\x67","\x69\x64","\x70\x6C\x75\x63\x6B","\x75\x73\x65\x72\x49\x64","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x66\x6F\x72\x45\x61\x63\x68","\x74\x68\x65\x6E","\x65\x6D\x61\x69\x6C","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x6E\x61\x6D\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x3A\x72\x65\x6D\x6F\x76\x65"];_0x7978[0];var _=require(_0x7978[1]);var User=require(_0x7978[3])[_0x7978[2]];var ChatRoom=require(_0x7978[3])[_0x7978[4]];var ChatVisitor=require(_0x7978[3])[_0x7978[5]];var UserHasChatRoom=require(_0x7978[3])[_0x7978[6]];exports[_0x7978[7]]=function(_0x382dx6){UserHasChatRoom[_0x7978[8]](function(_0x382dx7){onSave(_0x382dx6,_0x382dx7)});UserHasChatRoom[_0x7978[9]](function(_0x382dx7){onRemove(_0x382dx6,_0x382dx7)});};function onSave(_0x382dx6,_0x382dx7){var _0x382dx9;return ChatRoom[_0x7978[26]](_0x382dx7.ChatRoomId,{include:[{model:ChatVisitor,attributes:[_0x7978[16],_0x7978[23],_0x7978[24]]},{model:User,attributes:[_0x7978[16],_0x7978[23],_0x7978[25],_0x7978[24]]}]})[_0x7978[22]](function(_0x382dxb){_0x382dx9=_0x382dxb;_0x382dx9[_0x7978[13]][_0x7978[12]]=[];console[_0x7978[15]](_0x7978[14],_0x382dx9);var _0x382dxc=_[_0x7978[17]](_0x382dx9.Users,_0x7978[16]);_0x382dxc[_0x7978[21]](function(_0x382dxd){if(_0x382dx6[_0x7978[18]]==_0x382dxd){_0x382dx6[_0x7978[20]](_0x7978[19],_0x382dx9[_0x7978[13]])}});return ;})[_0x7978[11]](function(_0x382dxa){console[_0x7978[10]](_0x382dxa)});}function onRemove(_0x382dx6,_0x382dx7){_0x382dx6[_0x7978[20]](_0x7978[27],_0x382dx7)}
\ No newline at end of file
+var _0x9c54=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x43\x68\x61\x74\x4D\x65\x73\x73\x61\x67\x65\x73","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x5F\x63\x68\x61\x74\x52\x6F\x6F\x6D","\x6C\x6F\x67","\x69\x64","\x70\x6C\x75\x63\x6B","\x75\x73\x65\x72\x49\x64","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x66\x6F\x72\x45\x61\x63\x68","\x74\x68\x65\x6E","\x65\x6D\x61\x69\x6C","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x6E\x61\x6D\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x3A\x72\x65\x6D\x6F\x76\x65"];_0x9c54[0];var _=require(_0x9c54[1]);var User=require(_0x9c54[3])[_0x9c54[2]];var ChatRoom=require(_0x9c54[3])[_0x9c54[4]];var ChatVisitor=require(_0x9c54[3])[_0x9c54[5]];var UserHasChatRoom=require(_0x9c54[3])[_0x9c54[6]];exports[_0x9c54[7]]=function(_0x9700x6){UserHasChatRoom[_0x9c54[8]](function(_0x9700x7){onSave(_0x9700x6,_0x9700x7)});UserHasChatRoom[_0x9c54[9]](function(_0x9700x7){onRemove(_0x9700x6,_0x9700x7)});};function onSave(_0x9700x6,_0x9700x7){var _0x9700x9;return ChatRoom[_0x9c54[26]](_0x9700x7.ChatRoomId,{include:[{model:ChatVisitor,attributes:[_0x9c54[16],_0x9c54[23],_0x9c54[24]]},{model:User,attributes:[_0x9c54[16],_0x9c54[23],_0x9c54[25],_0x9c54[24]]}]})[_0x9c54[22]](function(_0x9700xb){_0x9700x9=_0x9700xb;_0x9700x9[_0x9c54[13]][_0x9c54[12]]=[];console[_0x9c54[15]](_0x9c54[14],_0x9700x9);var _0x9700xc=_[_0x9c54[17]](_0x9700x9.Users,_0x9c54[16]);_0x9700xc[_0x9c54[21]](function(_0x9700xd){if(_0x9700x6[_0x9c54[18]]==_0x9700xd){_0x9700x6[_0x9c54[20]](_0x9c54[19],_0x9700x9[_0x9c54[13]])}});return ;})[_0x9c54[11]](function(_0x9700xa){console[_0x9c54[10]](_0x9700xa)});}function onRemove(_0x9700x6,_0x9700x7){_0x9700x6[_0x9c54[20]](_0x9c54[27],_0x9700x7)}
\ No newline at end of file
index 1ccaf6b1afe08c414d6e1c6af969fc63de4f2131..b9feb9889ccdfffb1d61f67c27b3c017fcdc142f 100644 (file)
@@ -1 +1 @@
-var _0xd772=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x72\x6F\x6F\x6D\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x72\x6F\x6F\x6D\x73","\x67\x65\x74"];_0xd772[0];var should=require(_0xd772[1]);var app=require(_0xd772[2]);var request=require(_0xd772[3]);describe(_0xd772[4],function(){it(_0xd772[5],function(_0xb29dx4){request(app)[_0xd772[13]](_0xd772[12])[_0xd772[11]](200)[_0xd772[11]](_0xd772[10],/json/)[_0xd772[9]](function(_0xb29dx5,_0xb29dx6){if(_0xb29dx5){return _0xb29dx4(_0xb29dx5)};_0xb29dx6[_0xd772[8]][_0xd772[1]][_0xd772[7]][_0xd772[6]](Array);_0xb29dx4();})})});
\ No newline at end of file
+var _0xdef6=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x72\x6F\x6F\x6D\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x72\x6F\x6F\x6D\x73","\x67\x65\x74"];_0xdef6[0];var should=require(_0xdef6[1]);var app=require(_0xdef6[2]);var request=require(_0xdef6[3]);describe(_0xdef6[4],function(){it(_0xdef6[5],function(_0xc775x4){request(app)[_0xdef6[13]](_0xdef6[12])[_0xdef6[11]](200)[_0xdef6[11]](_0xdef6[10],/json/)[_0xdef6[9]](function(_0xc775x5,_0xc775x6){if(_0xc775x5){return _0xc775x4(_0xc775x5)};_0xc775x6[_0xdef6[8]][_0xdef6[1]][_0xdef6[7]][_0xdef6[6]](Array);_0xc775x4();})})});
\ No newline at end of file
index c76a374df657ba5a2e1ec14c8d8ce24bf090cef0..e68cdec5392c7296455dabdd4abe4600cf1f5d25 100644 (file)
@@ -1 +1 @@
-var _0x7131=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x7131[0];var express=require(_0x7131[1]);var controller=require(_0x7131[2]);var router=express.Router();router[_0x7131[5]](_0x7131[3],controller[_0x7131[4]]);router[_0x7131[5]](_0x7131[6],controller[_0x7131[7]]);router[_0x7131[9]](_0x7131[3],controller[_0x7131[8]]);router[_0x7131[11]](_0x7131[6],controller[_0x7131[10]]);router[_0x7131[12]](_0x7131[6],controller[_0x7131[10]]);router[_0x7131[14]](_0x7131[6],controller[_0x7131[13]]);module[_0x7131[15]]=router;
\ No newline at end of file
+var _0xffda=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xffda[0];var express=require(_0xffda[1]);var controller=require(_0xffda[2]);var router=express.Router();router[_0xffda[5]](_0xffda[3],controller[_0xffda[4]]);router[_0xffda[5]](_0xffda[6],controller[_0xffda[7]]);router[_0xffda[9]](_0xffda[3],controller[_0xffda[8]]);router[_0xffda[11]](_0xffda[6],controller[_0xffda[10]]);router[_0xffda[12]](_0xffda[6],controller[_0xffda[10]]);router[_0xffda[14]](_0xffda[6],controller[_0xffda[13]]);module[_0xffda[15]]=router;
\ No newline at end of file
index 7629e2ce2db68e2bdfe9d5c95b806ce159537ba5..f0a792a0bb35666f4f528e5ac1285d93c45c2cc6 100644 (file)
@@ -1 +1 @@
-var _0x3028=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x55\x73\x65\x72\x48\x61\x73\x46\x61\x78\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79"];_0x3028[0];var _=require(_0x3028[1]);var UserHasFaxQueue=require(_0x3028[3])[_0x3028[2]];exports[_0x3028[4]]=function(_0x7482x3,_0x7482x4){UserHasFaxQueue[_0x3028[10]](_0x7482x3[_0x3028[9]]?{where:_0x7482x3[_0x3028[9]]}:{})[_0x3028[8]](function(_0x7482x6){return _0x7482x4[_0x3028[7]](200)[_0x3028[6]](_0x7482x6)})[_0x3028[5]](function(_0x7482x5){return handleError(_0x7482x4,_0x7482x5)})};exports[_0x3028[11]]=function(_0x7482x3,_0x7482x4){UserHasFaxQueue[_0x3028[15]](_0x7482x3[_0x3028[14]][_0x3028[13]])[_0x3028[8]](function(_0x7482x7){if(!_0x7482x7){return _0x7482x4[_0x3028[12]](404)};return _0x7482x4[_0x3028[6]](_0x7482x7);})[_0x3028[5]](function(_0x7482x5){return handleError(_0x7482x4,_0x7482x5)})};exports[_0x3028[16]]=function(_0x7482x3,_0x7482x4){UserHasFaxQueue[_0x3028[16]](_0x7482x3[_0x3028[17]])[_0x3028[8]](function(_0x7482x7){return _0x7482x4[_0x3028[7]](201)[_0x3028[6]](_0x7482x7)})[_0x3028[5]](function(_0x7482x5){return handleError(_0x7482x4,_0x7482x5)})};exports[_0x3028[18]]=function(_0x7482x3,_0x7482x4){if(_0x7482x3[_0x3028[17]][_0x3028[13]]){delete _0x7482x3[_0x3028[17]][_0x3028[13]]};UserHasFaxQueue[_0x3028[21]]({where:{id:_0x7482x3[_0x3028[14]][_0x3028[13]]}})[_0x3028[8]](function(_0x7482x7){if(!_0x7482x7){return _0x7482x4[_0x3028[12]](404)};var _0x7482x8=_[_0x3028[19]](_0x7482x7,_0x7482x3[_0x3028[17]]);_0x7482x8[_0x3028[20]]()[_0x3028[8]](function(){return _0x7482x4[_0x3028[7]](200)[_0x3028[6]](_0x7482x7)})[_0x3028[5]](function(_0x7482x5){return handleError(_0x7482x4,_0x7482x5)});})[_0x3028[5]](function(_0x7482x5){return handleError(_0x7482x4,_0x7482x5)});};exports[_0x3028[22]]=function(_0x7482x3,_0x7482x4){UserHasFaxQueue[_0x3028[21]]({where:{id:_0x7482x3[_0x3028[14]][_0x3028[13]]}})[_0x3028[8]](function(_0x7482x7){if(!_0x7482x7){return _0x7482x4[_0x3028[12]](404)};_0x7482x7[_0x3028[22]]()[_0x3028[8]](function(){return _0x7482x4[_0x3028[12]](204)})[_0x3028[5]](function(_0x7482x5){return handleError(_0x7482x4,_0x7482x5)});})[_0x3028[5]](function(_0x7482x5){return handleError(_0x7482x4,_0x7482x5)})};function handleError(_0x7482x4,_0x7482x5){return _0x7482x4[_0x3028[7]](500)[_0x3028[6]](_0x7482x5)}
\ No newline at end of file
+var _0x30fd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x55\x73\x65\x72\x48\x61\x73\x46\x61\x78\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79"];_0x30fd[0];var _=require(_0x30fd[1]);var UserHasFaxQueue=require(_0x30fd[3])[_0x30fd[2]];exports[_0x30fd[4]]=function(_0x9c46x3,_0x9c46x4){UserHasFaxQueue[_0x30fd[10]](_0x9c46x3[_0x30fd[9]]?{where:_0x9c46x3[_0x30fd[9]]}:{})[_0x30fd[8]](function(_0x9c46x6){return _0x9c46x4[_0x30fd[7]](200)[_0x30fd[6]](_0x9c46x6)})[_0x30fd[5]](function(_0x9c46x5){return handleError(_0x9c46x4,_0x9c46x5)})};exports[_0x30fd[11]]=function(_0x9c46x3,_0x9c46x4){UserHasFaxQueue[_0x30fd[15]](_0x9c46x3[_0x30fd[14]][_0x30fd[13]])[_0x30fd[8]](function(_0x9c46x7){if(!_0x9c46x7){return _0x9c46x4[_0x30fd[12]](404)};return _0x9c46x4[_0x30fd[6]](_0x9c46x7);})[_0x30fd[5]](function(_0x9c46x5){return handleError(_0x9c46x4,_0x9c46x5)})};exports[_0x30fd[16]]=function(_0x9c46x3,_0x9c46x4){UserHasFaxQueue[_0x30fd[16]](_0x9c46x3[_0x30fd[17]])[_0x30fd[8]](function(_0x9c46x7){return _0x9c46x4[_0x30fd[7]](201)[_0x30fd[6]](_0x9c46x7)})[_0x30fd[5]](function(_0x9c46x5){return handleError(_0x9c46x4,_0x9c46x5)})};exports[_0x30fd[18]]=function(_0x9c46x3,_0x9c46x4){if(_0x9c46x3[_0x30fd[17]][_0x30fd[13]]){delete _0x9c46x3[_0x30fd[17]][_0x30fd[13]]};UserHasFaxQueue[_0x30fd[21]]({where:{id:_0x9c46x3[_0x30fd[14]][_0x30fd[13]]}})[_0x30fd[8]](function(_0x9c46x7){if(!_0x9c46x7){return _0x9c46x4[_0x30fd[12]](404)};var _0x9c46x8=_[_0x30fd[19]](_0x9c46x7,_0x9c46x3[_0x30fd[17]]);_0x9c46x8[_0x30fd[20]]()[_0x30fd[8]](function(){return _0x9c46x4[_0x30fd[7]](200)[_0x30fd[6]](_0x9c46x7)})[_0x30fd[5]](function(_0x9c46x5){return handleError(_0x9c46x4,_0x9c46x5)});})[_0x30fd[5]](function(_0x9c46x5){return handleError(_0x9c46x4,_0x9c46x5)});};exports[_0x30fd[22]]=function(_0x9c46x3,_0x9c46x4){UserHasFaxQueue[_0x30fd[21]]({where:{id:_0x9c46x3[_0x30fd[14]][_0x30fd[13]]}})[_0x30fd[8]](function(_0x9c46x7){if(!_0x9c46x7){return _0x9c46x4[_0x30fd[12]](404)};_0x9c46x7[_0x30fd[22]]()[_0x30fd[8]](function(){return _0x9c46x4[_0x30fd[12]](204)})[_0x30fd[5]](function(_0x9c46x5){return handleError(_0x9c46x4,_0x9c46x5)});})[_0x30fd[5]](function(_0x9c46x5){return handleError(_0x9c46x4,_0x9c46x5)})};function handleError(_0x9c46x4,_0x9c46x5){return _0x9c46x4[_0x30fd[7]](500)[_0x30fd[6]](_0x9c46x5)}
\ No newline at end of file
index 28a145b4b257afb6814b7a2ff174bad9fc5ffd0c..3545f7f917f7de468f622dd17f6bfd2c473f6b98 100644 (file)
@@ -1 +1 @@
-var _0xe04a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x73\x65\x72\x48\x61\x73\x46\x61\x78\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x61\x66\x74\x65\x72\x42\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x42\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0xe04a[0];var UserHasFaxQueue=require(_0xe04a[2])[_0xe04a[1]];exports[_0xe04a[3]]=function(_0xe254x2){UserHasFaxQueue[_0xe04a[4]](function(_0xe254x3){onSave(_0xe254x2,_0xe254x3)});UserHasFaxQueue[_0xe04a[5]](function(_0xe254x3){onRemove(_0xe254x2,_0xe254x3)});UserHasFaxQueue[_0xe04a[6]](function(_0xe254x3){onSave(_0xe254x2,_0xe254x3)});UserHasFaxQueue[_0xe04a[7]](function(_0xe254x3){onRemove(_0xe254x2,_0xe254x3)});};function onSave(_0xe254x2,_0xe254x3,_0xe254x5){_0xe254x2[_0xe04a[9]](_0xe04a[8],_0xe254x3)}function onRemove(_0xe254x2,_0xe254x3,_0xe254x5){_0xe254x2[_0xe04a[9]](_0xe04a[10],_0xe254x3)}
\ No newline at end of file
+var _0xc0ee=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x73\x65\x72\x48\x61\x73\x46\x61\x78\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x61\x66\x74\x65\x72\x42\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x42\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0xc0ee[0];var UserHasFaxQueue=require(_0xc0ee[2])[_0xc0ee[1]];exports[_0xc0ee[3]]=function(_0x87aex2){UserHasFaxQueue[_0xc0ee[4]](function(_0x87aex3){onSave(_0x87aex2,_0x87aex3)});UserHasFaxQueue[_0xc0ee[5]](function(_0x87aex3){onRemove(_0x87aex2,_0x87aex3)});UserHasFaxQueue[_0xc0ee[6]](function(_0x87aex3){onSave(_0x87aex2,_0x87aex3)});UserHasFaxQueue[_0xc0ee[7]](function(_0x87aex3){onRemove(_0x87aex2,_0x87aex3)});};function onSave(_0x87aex2,_0x87aex3,_0x87aex5){_0x87aex2[_0xc0ee[9]](_0xc0ee[8],_0x87aex3)}function onRemove(_0x87aex2,_0x87aex3,_0x87aex5){_0x87aex2[_0xc0ee[9]](_0xc0ee[10],_0x87aex3)}
\ No newline at end of file
index cb8cce9ec6a0bf465020041704fbfb713fd56918..557fe3409a5d00f3519814effc22d9a9a630600e 100644 (file)
@@ -1 +1 @@
-var _0x1377=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x67\x65\x74"];_0x1377[0];var should=require(_0x1377[1]);var app=require(_0x1377[2]);var request=require(_0x1377[3]);describe(_0x1377[4],function(){it(_0x1377[5],function(_0x8ca7x4){request(app)[_0x1377[13]](_0x1377[12])[_0x1377[11]](200)[_0x1377[11]](_0x1377[10],/json/)[_0x1377[9]](function(_0x8ca7x5,_0x8ca7x6){if(_0x8ca7x5){return _0x8ca7x4(_0x8ca7x5)};_0x8ca7x6[_0x1377[8]][_0x1377[1]][_0x1377[7]][_0x1377[6]](Array);_0x8ca7x4();})})});
\ No newline at end of file
+var _0x8d5b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x67\x65\x74"];_0x8d5b[0];var should=require(_0x8d5b[1]);var app=require(_0x8d5b[2]);var request=require(_0x8d5b[3]);describe(_0x8d5b[4],function(){it(_0x8d5b[5],function(_0x4215x4){request(app)[_0x8d5b[13]](_0x8d5b[12])[_0x8d5b[11]](200)[_0x8d5b[11]](_0x8d5b[10],/json/)[_0x8d5b[9]](function(_0x4215x5,_0x4215x6){if(_0x4215x5){return _0x4215x4(_0x4215x5)};_0x4215x6[_0x8d5b[8]][_0x8d5b[1]][_0x8d5b[7]][_0x8d5b[6]](Array);_0x4215x4();})})});
\ No newline at end of file
index cfa8640408fd330483ffd336b908c063c8c13ffe..162629fb75bc1fd51b927ea963c5a7ed0a88c2b9 100644 (file)
@@ -1 +1 @@
-var _0x79d3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x79d3[0];var express=require(_0x79d3[1]);var controller=require(_0x79d3[2]);var router=express.Router();router[_0x79d3[5]](_0x79d3[3],controller[_0x79d3[4]]);router[_0x79d3[5]](_0x79d3[6],controller[_0x79d3[7]]);router[_0x79d3[9]](_0x79d3[3],controller[_0x79d3[8]]);router[_0x79d3[11]](_0x79d3[6],controller[_0x79d3[10]]);router[_0x79d3[12]](_0x79d3[6],controller[_0x79d3[10]]);router[_0x79d3[14]](_0x79d3[6],controller[_0x79d3[13]]);module[_0x79d3[15]]=router;
\ No newline at end of file
+var _0x4c42=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x4c42[0];var express=require(_0x4c42[1]);var controller=require(_0x4c42[2]);var router=express.Router();router[_0x4c42[5]](_0x4c42[3],controller[_0x4c42[4]]);router[_0x4c42[5]](_0x4c42[6],controller[_0x4c42[7]]);router[_0x4c42[9]](_0x4c42[3],controller[_0x4c42[8]]);router[_0x4c42[11]](_0x4c42[6],controller[_0x4c42[10]]);router[_0x4c42[12]](_0x4c42[6],controller[_0x4c42[10]]);router[_0x4c42[14]](_0x4c42[6],controller[_0x4c42[13]]);module[_0x4c42[15]]=router;
\ No newline at end of file
index 1e28e2ed37cf7ee64f12e40af02dd485f8773b2a..ac30dde8e1732aa8a46037730b542d8e74b6ab60 100644 (file)
@@ -1 +1 @@
-var _0xa0a0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x55\x73\x65\x72\x48\x61\x73\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xa0a0[0];var _=require(_0xa0a0[1]);var UserHasMailQueue=require(_0xa0a0[3])[_0xa0a0[2]];exports[_0xa0a0[4]]=function(_0xacb5x3,_0xacb5x4){UserHasMailQueue[_0xa0a0[10]](_0xacb5x3[_0xa0a0[9]]?{where:_0xacb5x3[_0xa0a0[9]]}:{})[_0xa0a0[8]](function(_0xacb5x6){return _0xacb5x4[_0xa0a0[7]](200)[_0xa0a0[6]](_0xacb5x6)})[_0xa0a0[5]](function(_0xacb5x5){return handleError(_0xacb5x4,_0xacb5x5)})};exports[_0xa0a0[11]]=function(_0xacb5x3,_0xacb5x4){UserHasMailQueue[_0xa0a0[15]](_0xacb5x3[_0xa0a0[14]][_0xa0a0[13]])[_0xa0a0[8]](function(_0xacb5x7){if(!_0xacb5x7){return _0xacb5x4[_0xa0a0[12]](404)};return _0xacb5x4[_0xa0a0[6]](_0xacb5x7);})[_0xa0a0[5]](function(_0xacb5x5){return handleError(_0xacb5x4,_0xacb5x5)})};exports[_0xa0a0[16]]=function(_0xacb5x3,_0xacb5x4){UserHasMailQueue[_0xa0a0[16]](_0xacb5x3[_0xa0a0[17]])[_0xa0a0[8]](function(_0xacb5x7){return _0xacb5x4[_0xa0a0[7]](201)[_0xa0a0[6]](_0xacb5x7)})[_0xa0a0[5]](function(_0xacb5x5){return handleError(_0xacb5x4,_0xacb5x5)})};exports[_0xa0a0[18]]=function(_0xacb5x3,_0xacb5x4){if(_0xacb5x3[_0xa0a0[17]][_0xa0a0[13]]){delete _0xacb5x3[_0xa0a0[17]][_0xa0a0[13]]};UserHasMailQueue[_0xa0a0[15]](_0xacb5x3[_0xa0a0[14]][_0xa0a0[13]])[_0xa0a0[8]](function(_0xacb5x7){if(!_0xacb5x7){return _0xacb5x4[_0xa0a0[12]](404)};var _0xacb5x8=_[_0xa0a0[19]](_0xacb5x7,_0xacb5x3[_0xa0a0[17]]);_0xacb5x8[_0xa0a0[20]]()[_0xa0a0[8]](function(){return _0xacb5x4[_0xa0a0[7]](200)[_0xa0a0[6]](_0xacb5x7)})[_0xa0a0[5]](function(_0xacb5x5){return handleError(_0xacb5x4,_0xacb5x5)});})[_0xa0a0[5]](function(_0xacb5x5){return handleError(_0xacb5x4,_0xacb5x5)});};exports[_0xa0a0[21]]=function(_0xacb5x3,_0xacb5x4){UserHasMailQueue[_0xa0a0[15]](_0xacb5x3[_0xa0a0[14]][_0xa0a0[13]])[_0xa0a0[8]](function(_0xacb5x7){if(!_0xacb5x7){return _0xacb5x4[_0xa0a0[12]](404)};_0xacb5x7[_0xa0a0[21]]()[_0xa0a0[8]](function(){return _0xacb5x4[_0xa0a0[12]](204)})[_0xa0a0[5]](function(_0xacb5x5){return handleError(_0xacb5x4,_0xacb5x5)});})[_0xa0a0[5]](function(_0xacb5x5){return handleError(_0xacb5x4,_0xacb5x5)})};function handleError(_0xacb5x4,_0xacb5x5){return _0xacb5x4[_0xa0a0[7]](500)[_0xa0a0[6]](_0xacb5x5)}
\ No newline at end of file
+var _0x148b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x55\x73\x65\x72\x48\x61\x73\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x148b[0];var _=require(_0x148b[1]);var UserHasMailQueue=require(_0x148b[3])[_0x148b[2]];exports[_0x148b[4]]=function(_0x6dffx3,_0x6dffx4){UserHasMailQueue[_0x148b[10]](_0x6dffx3[_0x148b[9]]?{where:_0x6dffx3[_0x148b[9]]}:{})[_0x148b[8]](function(_0x6dffx6){return _0x6dffx4[_0x148b[7]](200)[_0x148b[6]](_0x6dffx6)})[_0x148b[5]](function(_0x6dffx5){return handleError(_0x6dffx4,_0x6dffx5)})};exports[_0x148b[11]]=function(_0x6dffx3,_0x6dffx4){UserHasMailQueue[_0x148b[15]](_0x6dffx3[_0x148b[14]][_0x148b[13]])[_0x148b[8]](function(_0x6dffx7){if(!_0x6dffx7){return _0x6dffx4[_0x148b[12]](404)};return _0x6dffx4[_0x148b[6]](_0x6dffx7);})[_0x148b[5]](function(_0x6dffx5){return handleError(_0x6dffx4,_0x6dffx5)})};exports[_0x148b[16]]=function(_0x6dffx3,_0x6dffx4){UserHasMailQueue[_0x148b[16]](_0x6dffx3[_0x148b[17]])[_0x148b[8]](function(_0x6dffx7){return _0x6dffx4[_0x148b[7]](201)[_0x148b[6]](_0x6dffx7)})[_0x148b[5]](function(_0x6dffx5){return handleError(_0x6dffx4,_0x6dffx5)})};exports[_0x148b[18]]=function(_0x6dffx3,_0x6dffx4){if(_0x6dffx3[_0x148b[17]][_0x148b[13]]){delete _0x6dffx3[_0x148b[17]][_0x148b[13]]};UserHasMailQueue[_0x148b[15]](_0x6dffx3[_0x148b[14]][_0x148b[13]])[_0x148b[8]](function(_0x6dffx7){if(!_0x6dffx7){return _0x6dffx4[_0x148b[12]](404)};var _0x6dffx8=_[_0x148b[19]](_0x6dffx7,_0x6dffx3[_0x148b[17]]);_0x6dffx8[_0x148b[20]]()[_0x148b[8]](function(){return _0x6dffx4[_0x148b[7]](200)[_0x148b[6]](_0x6dffx7)})[_0x148b[5]](function(_0x6dffx5){return handleError(_0x6dffx4,_0x6dffx5)});})[_0x148b[5]](function(_0x6dffx5){return handleError(_0x6dffx4,_0x6dffx5)});};exports[_0x148b[21]]=function(_0x6dffx3,_0x6dffx4){UserHasMailQueue[_0x148b[15]](_0x6dffx3[_0x148b[14]][_0x148b[13]])[_0x148b[8]](function(_0x6dffx7){if(!_0x6dffx7){return _0x6dffx4[_0x148b[12]](404)};_0x6dffx7[_0x148b[21]]()[_0x148b[8]](function(){return _0x6dffx4[_0x148b[12]](204)})[_0x148b[5]](function(_0x6dffx5){return handleError(_0x6dffx4,_0x6dffx5)});})[_0x148b[5]](function(_0x6dffx5){return handleError(_0x6dffx4,_0x6dffx5)})};function handleError(_0x6dffx4,_0x6dffx5){return _0x6dffx4[_0x148b[7]](500)[_0x148b[6]](_0x6dffx5)}
\ No newline at end of file
index 55a8f9f82f6c77d10144f45edc1a15f871b83a80..51efa02d9376682ee4f2b9895641f573d77bd226 100644 (file)
@@ -1 +1 @@
-var _0x2fbe=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x73\x65\x72\x48\x61\x73\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0x2fbe[0];var UserHasMailQueue=require(_0x2fbe[2])[_0x2fbe[1]];exports[_0x2fbe[3]]=function(_0xd102x2){UserHasMailQueue[_0x2fbe[4]](function(_0xd102x3){onSave(_0xd102x2,_0xd102x3)});UserHasMailQueue[_0x2fbe[5]](function(_0xd102x3){onRemove(_0xd102x2,_0xd102x3)});};function onSave(_0xd102x2,_0xd102x3,_0xd102x5){_0xd102x2[_0x2fbe[7]](_0x2fbe[6],_0xd102x3)}function onRemove(_0xd102x2,_0xd102x3,_0xd102x5){_0xd102x2[_0x2fbe[7]](_0x2fbe[8],_0xd102x3)}
\ No newline at end of file
+var _0x5ec0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x73\x65\x72\x48\x61\x73\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0x5ec0[0];var UserHasMailQueue=require(_0x5ec0[2])[_0x5ec0[1]];exports[_0x5ec0[3]]=function(_0x9ff0x2){UserHasMailQueue[_0x5ec0[4]](function(_0x9ff0x3){onSave(_0x9ff0x2,_0x9ff0x3)});UserHasMailQueue[_0x5ec0[5]](function(_0x9ff0x3){onRemove(_0x9ff0x2,_0x9ff0x3)});};function onSave(_0x9ff0x2,_0x9ff0x3,_0x9ff0x5){_0x9ff0x2[_0x5ec0[7]](_0x5ec0[6],_0x9ff0x3)}function onRemove(_0x9ff0x2,_0x9ff0x3,_0x9ff0x5){_0x9ff0x2[_0x5ec0[7]](_0x5ec0[8],_0x9ff0x3)}
\ No newline at end of file
index d2db6b37873d457a743fa85596a7cb870f09219a..29d5bba0d7bea2a5d8cbd69d68f780383318fd25 100644 (file)
@@ -1 +1 @@
-var _0x7083=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x67\x65\x74"];_0x7083[0];var should=require(_0x7083[1]);var app=require(_0x7083[2]);var request=require(_0x7083[3]);describe(_0x7083[4],function(){it(_0x7083[5],function(_0xb8a7x4){request(app)[_0x7083[13]](_0x7083[12])[_0x7083[11]](200)[_0x7083[11]](_0x7083[10],/json/)[_0x7083[9]](function(_0xb8a7x5,_0xb8a7x6){if(_0xb8a7x5){return _0xb8a7x4(_0xb8a7x5)};_0xb8a7x6[_0x7083[8]][_0x7083[1]][_0x7083[7]][_0x7083[6]](Array);_0xb8a7x4();})})});
\ No newline at end of file
+var _0xe264=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x67\x65\x74"];_0xe264[0];var should=require(_0xe264[1]);var app=require(_0xe264[2]);var request=require(_0xe264[3]);describe(_0xe264[4],function(){it(_0xe264[5],function(_0xfbf5x4){request(app)[_0xe264[13]](_0xe264[12])[_0xe264[11]](200)[_0xe264[11]](_0xe264[10],/json/)[_0xe264[9]](function(_0xfbf5x5,_0xfbf5x6){if(_0xfbf5x5){return _0xfbf5x4(_0xfbf5x5)};_0xfbf5x6[_0xe264[8]][_0xe264[1]][_0xe264[7]][_0xe264[6]](Array);_0xfbf5x4();})})});
\ No newline at end of file
index 891f6cbcd71c0a324d2a4a59bb449c1cb8205c36..7a57489cab77427240e8b1b780cbe261aaf50a71 100644 (file)
@@ -1 +1 @@
-var _0x919c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x74\x65\x61\x6D\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x919c[0];var express=require(_0x919c[1]);var controller=require(_0x919c[2]);var router=express.Router();router[_0x919c[5]](_0x919c[3],controller[_0x919c[4]]);router[_0x919c[5]](_0x919c[6],controller[_0x919c[7]]);router[_0x919c[9]](_0x919c[3],controller[_0x919c[8]]);router[_0x919c[11]](_0x919c[6],controller[_0x919c[10]]);router[_0x919c[12]](_0x919c[6],controller[_0x919c[10]]);router[_0x919c[14]](_0x919c[6],controller[_0x919c[13]]);module[_0x919c[15]]=router;
\ No newline at end of file
+var _0xb458=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x74\x65\x61\x6D\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xb458[0];var express=require(_0xb458[1]);var controller=require(_0xb458[2]);var router=express.Router();router[_0xb458[5]](_0xb458[3],controller[_0xb458[4]]);router[_0xb458[5]](_0xb458[6],controller[_0xb458[7]]);router[_0xb458[9]](_0xb458[3],controller[_0xb458[8]]);router[_0xb458[11]](_0xb458[6],controller[_0xb458[10]]);router[_0xb458[12]](_0xb458[6],controller[_0xb458[10]]);router[_0xb458[14]](_0xb458[6],controller[_0xb458[13]]);module[_0xb458[15]]=router;
\ No newline at end of file
index e1e5e64284a573d368f5572c3b8182c5aabf2b2d..afd51b54c23e9cf4241ab6712b9e54e658470db8 100644 (file)
@@ -1 +1 @@
-var _0x8304=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x55\x73\x65\x72\x48\x61\x73\x54\x65\x61\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x71\x75\x65\x72\x79","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x8304[0];var _=require(_0x8304[1]);var UserHasTeam=require(_0x8304[3])[_0x8304[2]];exports[_0x8304[4]]=function(_0x6336x3,_0x6336x4){console[_0x8304[6]](_0x6336x3[_0x8304[5]]);UserHasTeam[_0x8304[11]]({where:_0x6336x3[_0x8304[5]]})[_0x8304[10]](function(_0x6336x6){return _0x6336x4[_0x8304[9]](200)[_0x8304[8]](_0x6336x6)})[_0x8304[7]](function(_0x6336x5){return handleError(_0x6336x4,_0x6336x5)});};exports[_0x8304[12]]=function(_0x6336x3,_0x6336x4){UserHasTeam[_0x8304[16]](_0x6336x3[_0x8304[15]][_0x8304[14]])[_0x8304[10]](function(_0x6336x7){if(!_0x6336x7){return _0x6336x4[_0x8304[13]](404)};return _0x6336x4[_0x8304[8]](_0x6336x7);})[_0x8304[7]](function(_0x6336x5){return handleError(_0x6336x4,_0x6336x5)})};exports[_0x8304[17]]=function(_0x6336x3,_0x6336x4){UserHasTeam[_0x8304[17]](_0x6336x3[_0x8304[18]])[_0x8304[10]](function(_0x6336x7){return _0x6336x4[_0x8304[9]](201)[_0x8304[8]](_0x6336x7)})[_0x8304[7]](function(_0x6336x5){return handleError(_0x6336x4,_0x6336x5)})};exports[_0x8304[19]]=function(_0x6336x3,_0x6336x4){if(_0x6336x3[_0x8304[18]][_0x8304[14]]){delete _0x6336x3[_0x8304[18]][_0x8304[14]]};UserHasTeam[_0x8304[16]](_0x6336x3[_0x8304[15]][_0x8304[14]])[_0x8304[10]](function(_0x6336x7){if(!_0x6336x7){return _0x6336x4[_0x8304[13]](404)};var _0x6336x8=_[_0x8304[20]](_0x6336x7,_0x6336x3[_0x8304[18]]);_0x6336x8[_0x8304[21]]()[_0x8304[10]](function(){return _0x6336x4[_0x8304[9]](200)[_0x8304[8]](_0x6336x7)})[_0x8304[7]](function(_0x6336x5){return handleError(_0x6336x4,_0x6336x5)});})[_0x8304[7]](function(_0x6336x5){return handleError(_0x6336x4,_0x6336x5)});};exports[_0x8304[22]]=function(_0x6336x3,_0x6336x4){UserHasTeam[_0x8304[16]](_0x6336x3[_0x8304[15]][_0x8304[14]])[_0x8304[10]](function(_0x6336x7){if(!_0x6336x7){return _0x6336x4[_0x8304[13]](404)};_0x6336x7[_0x8304[22]]()[_0x8304[10]](function(){return _0x6336x4[_0x8304[13]](204)})[_0x8304[7]](function(_0x6336x5){return handleError(_0x6336x4,_0x6336x5)});})[_0x8304[7]](function(_0x6336x5){return handleError(_0x6336x4,_0x6336x5)})};function handleError(_0x6336x4,_0x6336x5){return _0x6336x4[_0x8304[9]](500)[_0x8304[8]](_0x6336x5)}
\ No newline at end of file
+var _0xdfab=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x55\x73\x65\x72\x48\x61\x73\x54\x65\x61\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x71\x75\x65\x72\x79","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xdfab[0];var _=require(_0xdfab[1]);var UserHasTeam=require(_0xdfab[3])[_0xdfab[2]];exports[_0xdfab[4]]=function(_0x3b4fx3,_0x3b4fx4){console[_0xdfab[6]](_0x3b4fx3[_0xdfab[5]]);UserHasTeam[_0xdfab[11]]({where:_0x3b4fx3[_0xdfab[5]]})[_0xdfab[10]](function(_0x3b4fx6){return _0x3b4fx4[_0xdfab[9]](200)[_0xdfab[8]](_0x3b4fx6)})[_0xdfab[7]](function(_0x3b4fx5){return handleError(_0x3b4fx4,_0x3b4fx5)});};exports[_0xdfab[12]]=function(_0x3b4fx3,_0x3b4fx4){UserHasTeam[_0xdfab[16]](_0x3b4fx3[_0xdfab[15]][_0xdfab[14]])[_0xdfab[10]](function(_0x3b4fx7){if(!_0x3b4fx7){return _0x3b4fx4[_0xdfab[13]](404)};return _0x3b4fx4[_0xdfab[8]](_0x3b4fx7);})[_0xdfab[7]](function(_0x3b4fx5){return handleError(_0x3b4fx4,_0x3b4fx5)})};exports[_0xdfab[17]]=function(_0x3b4fx3,_0x3b4fx4){UserHasTeam[_0xdfab[17]](_0x3b4fx3[_0xdfab[18]])[_0xdfab[10]](function(_0x3b4fx7){return _0x3b4fx4[_0xdfab[9]](201)[_0xdfab[8]](_0x3b4fx7)})[_0xdfab[7]](function(_0x3b4fx5){return handleError(_0x3b4fx4,_0x3b4fx5)})};exports[_0xdfab[19]]=function(_0x3b4fx3,_0x3b4fx4){if(_0x3b4fx3[_0xdfab[18]][_0xdfab[14]]){delete _0x3b4fx3[_0xdfab[18]][_0xdfab[14]]};UserHasTeam[_0xdfab[16]](_0x3b4fx3[_0xdfab[15]][_0xdfab[14]])[_0xdfab[10]](function(_0x3b4fx7){if(!_0x3b4fx7){return _0x3b4fx4[_0xdfab[13]](404)};var _0x3b4fx8=_[_0xdfab[20]](_0x3b4fx7,_0x3b4fx3[_0xdfab[18]]);_0x3b4fx8[_0xdfab[21]]()[_0xdfab[10]](function(){return _0x3b4fx4[_0xdfab[9]](200)[_0xdfab[8]](_0x3b4fx7)})[_0xdfab[7]](function(_0x3b4fx5){return handleError(_0x3b4fx4,_0x3b4fx5)});})[_0xdfab[7]](function(_0x3b4fx5){return handleError(_0x3b4fx4,_0x3b4fx5)});};exports[_0xdfab[22]]=function(_0x3b4fx3,_0x3b4fx4){UserHasTeam[_0xdfab[16]](_0x3b4fx3[_0xdfab[15]][_0xdfab[14]])[_0xdfab[10]](function(_0x3b4fx7){if(!_0x3b4fx7){return _0x3b4fx4[_0xdfab[13]](404)};_0x3b4fx7[_0xdfab[22]]()[_0xdfab[10]](function(){return _0x3b4fx4[_0xdfab[13]](204)})[_0xdfab[7]](function(_0x3b4fx5){return handleError(_0x3b4fx4,_0x3b4fx5)});})[_0xdfab[7]](function(_0x3b4fx5){return handleError(_0x3b4fx4,_0x3b4fx5)})};function handleError(_0x3b4fx4,_0x3b4fx5){return _0x3b4fx4[_0xdfab[9]](500)[_0xdfab[8]](_0x3b4fx5)}
\ No newline at end of file
index e4faa7aabdc8c922a53ad7b0bb6b1151525719df..c87fbb0ff6e1e4d295cff5771e07aa352f07c969 100644 (file)
@@ -1 +1 @@
-var _0xc9f2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74","\x55\x73\x65\x72\x48\x61\x73\x54\x65\x61\x6D","\x64\x65\x66\x69\x6E\x65"];_0xc9f2[0];module[_0xc9f2[1]]=function(_0x3556x1,_0x3556x2){var _0x3556x3=_0x3556x1[_0xc9f2[3]](_0xc9f2[2],{name:String,info:String,active:Boolean});return _0x3556x3;};
\ No newline at end of file
+var _0xe825=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74","\x55\x73\x65\x72\x48\x61\x73\x54\x65\x61\x6D","\x64\x65\x66\x69\x6E\x65"];_0xe825[0];module[_0xe825[1]]=function(_0xadf7x1,_0xadf7x2){var _0xadf7x3=_0xadf7x1[_0xe825[3]](_0xe825[2],{name:String,info:String,active:Boolean});return _0xadf7x3;};
\ No newline at end of file
index 3ceee4e404fc22ae4191185f72d45f6493114919..0954c06f1962c27c036f435a5fdcb498272886b9 100644 (file)
@@ -1 +1 @@
-var _0xc5df=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x73\x65\x72\x48\x61\x73\x54\x65\x61\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x74\x65\x61\x6D\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x74\x65\x61\x6D\x3A\x72\x65\x6D\x6F\x76\x65"];_0xc5df[0];var user_has_team=require(_0xc5df[2])[_0xc5df[1]];exports[_0xc5df[3]]=function(_0xfe2cx2){user_has_team[_0xc5df[4]](function(_0xfe2cx3){onSave(_0xfe2cx2,_0xfe2cx3)});user_has_team[_0xc5df[5]](function(_0xfe2cx3){onRemove(_0xfe2cx2,_0xfe2cx3)});};function onSave(_0xfe2cx2,_0xfe2cx3,_0xfe2cx5){_0xfe2cx2[_0xc5df[7]](_0xc5df[6],_0xfe2cx3)}function onRemove(_0xfe2cx2,_0xfe2cx3,_0xfe2cx5){_0xfe2cx2[_0xc5df[7]](_0xc5df[8],_0xfe2cx3)}
\ No newline at end of file
+var _0x76b9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x73\x65\x72\x48\x61\x73\x54\x65\x61\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x74\x65\x61\x6D\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x74\x65\x61\x6D\x3A\x72\x65\x6D\x6F\x76\x65"];_0x76b9[0];var user_has_team=require(_0x76b9[2])[_0x76b9[1]];exports[_0x76b9[3]]=function(_0x7e43x2){user_has_team[_0x76b9[4]](function(_0x7e43x3){onSave(_0x7e43x2,_0x7e43x3)});user_has_team[_0x76b9[5]](function(_0x7e43x3){onRemove(_0x7e43x2,_0x7e43x3)});};function onSave(_0x7e43x2,_0x7e43x3,_0x7e43x5){_0x7e43x2[_0x76b9[7]](_0x76b9[6],_0x7e43x3)}function onRemove(_0x7e43x2,_0x7e43x3,_0x7e43x5){_0x7e43x2[_0x76b9[7]](_0x76b9[8],_0x7e43x3)}
\ No newline at end of file
index ce35eb419e9b291f3443aee8e0352b631770a7b1..109cc01cd96588d68d6fe56a0e2f92283a2bff09 100644 (file)
@@ -1 +1 @@
-var _0x8472=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x74\x65\x61\x6D\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x74\x65\x61\x6D\x73","\x67\x65\x74"];_0x8472[0];var should=require(_0x8472[1]);var app=require(_0x8472[2]);var request=require(_0x8472[3]);describe(_0x8472[4],function(){it(_0x8472[5],function(_0x3d58x4){request(app)[_0x8472[13]](_0x8472[12])[_0x8472[11]](200)[_0x8472[11]](_0x8472[10],/json/)[_0x8472[9]](function(_0x3d58x5,_0x3d58x6){if(_0x3d58x5){return _0x3d58x4(_0x3d58x5)};_0x3d58x6[_0x8472[8]][_0x8472[1]][_0x8472[7]][_0x8472[6]](Array);_0x3d58x4();})})});
\ No newline at end of file
+var _0xb881=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x74\x65\x61\x6D\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x74\x65\x61\x6D\x73","\x67\x65\x74"];_0xb881[0];var should=require(_0xb881[1]);var app=require(_0xb881[2]);var request=require(_0xb881[3]);describe(_0xb881[4],function(){it(_0xb881[5],function(_0xae9bx4){request(app)[_0xb881[13]](_0xb881[12])[_0xb881[11]](200)[_0xb881[11]](_0xb881[10],/json/)[_0xb881[9]](function(_0xae9bx5,_0xae9bx6){if(_0xae9bx5){return _0xae9bx4(_0xae9bx5)};_0xae9bx6[_0xb881[8]][_0xb881[1]][_0xb881[7]][_0xb881[6]](Array);_0xae9bx4();})})});
\ No newline at end of file
index d3a40c25294854d32eb9aadfdf1d0e177a6abc22..8180c5899b319c214ff347d53693451208f6e648 100644 (file)
@@ -1 +1 @@
-var _0xc057=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xc057[0];var express=require(_0xc057[1]);var controller=require(_0xc057[2]);var router=express.Router();router[_0xc057[5]](_0xc057[3],controller[_0xc057[4]]);router[_0xc057[5]](_0xc057[6],controller[_0xc057[7]]);router[_0xc057[9]](_0xc057[3],controller[_0xc057[8]]);router[_0xc057[11]](_0xc057[6],controller[_0xc057[10]]);router[_0xc057[12]](_0xc057[6],controller[_0xc057[10]]);router[_0xc057[14]](_0xc057[6],controller[_0xc057[13]]);module[_0xc057[15]]=router;
\ No newline at end of file
+var _0x82d1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x82d1[0];var express=require(_0x82d1[1]);var controller=require(_0x82d1[2]);var router=express.Router();router[_0x82d1[5]](_0x82d1[3],controller[_0x82d1[4]]);router[_0x82d1[5]](_0x82d1[6],controller[_0x82d1[7]]);router[_0x82d1[9]](_0x82d1[3],controller[_0x82d1[8]]);router[_0x82d1[11]](_0x82d1[6],controller[_0x82d1[10]]);router[_0x82d1[12]](_0x82d1[6],controller[_0x82d1[10]]);router[_0x82d1[14]](_0x82d1[6],controller[_0x82d1[13]]);module[_0x82d1[15]]=router;
\ No newline at end of file
index 04150f56a6297fc0c07fb2f142475d6c379f8e71..b648f2c2439b987afe9fc1e77681407fbf54142d 100644 (file)
@@ -1 +1 @@
-var _0x4dbb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x55\x73\x65\x72\x48\x61\x73\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x6C\x6F\x67","\x65\x72\x72\x6F\x72","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x4dbb[0];var _=require(_0x4dbb[1]);var UserHasVoiceQueue=require(_0x4dbb[3])[_0x4dbb[2]];exports[_0x4dbb[4]]=function(_0xc3e3x3,_0xc3e3x4){UserHasVoiceQueue[_0x4dbb[10]](_0xc3e3x3[_0x4dbb[9]]?{where:_0xc3e3x3[_0x4dbb[9]]}:{})[_0x4dbb[8]](function(_0xc3e3x6){return _0xc3e3x4[_0x4dbb[7]](200)[_0x4dbb[6]](_0xc3e3x6)})[_0x4dbb[5]](function(_0xc3e3x5){return handleError(_0xc3e3x4,_0xc3e3x5)})};exports[_0x4dbb[11]]=function(_0xc3e3x3,_0xc3e3x4){UserHasVoiceQueue[_0x4dbb[15]](_0xc3e3x3[_0x4dbb[14]][_0x4dbb[13]])[_0x4dbb[8]](function(_0xc3e3x7){if(!_0xc3e3x7){return _0xc3e3x4[_0x4dbb[12]](404)};return _0xc3e3x4[_0x4dbb[6]](_0xc3e3x7);})[_0x4dbb[5]](function(_0xc3e3x5){return handleError(_0xc3e3x4,_0xc3e3x5)})};exports[_0x4dbb[16]]=function(_0xc3e3x3,_0xc3e3x4,_0xc3e3x8){console[_0x4dbb[18]](_0xc3e3x3[_0x4dbb[17]]);UserHasVoiceQueue[_0x4dbb[16]](_0xc3e3x3[_0x4dbb[17]])[_0x4dbb[8]](function(_0xc3e3x7){return _0xc3e3x4[_0x4dbb[7]](201)[_0x4dbb[6]](_0xc3e3x7)})[_0x4dbb[5]](function(_0xc3e3x5){console[_0x4dbb[19]](_0xc3e3x5);return _0xc3e3x8(_0xc3e3x5);});};exports[_0x4dbb[20]]=function(_0xc3e3x3,_0xc3e3x4){if(_0xc3e3x3[_0x4dbb[17]][_0x4dbb[13]]){delete _0xc3e3x3[_0x4dbb[17]][_0x4dbb[13]]};UserHasVoiceQueue[_0x4dbb[15]](_0xc3e3x3[_0x4dbb[14]][_0x4dbb[13]])[_0x4dbb[8]](function(_0xc3e3x7){if(!_0xc3e3x7){return _0xc3e3x4[_0x4dbb[12]](404)};var _0xc3e3x9=_[_0x4dbb[21]](_0xc3e3x7,_0xc3e3x3[_0x4dbb[17]]);_0xc3e3x9[_0x4dbb[22]]()[_0x4dbb[8]](function(){return _0xc3e3x4[_0x4dbb[7]](200)[_0x4dbb[6]](_0xc3e3x7)})[_0x4dbb[5]](function(_0xc3e3x5){return handleError(_0xc3e3x4,_0xc3e3x5)});})[_0x4dbb[5]](function(_0xc3e3x5){return handleError(_0xc3e3x4,_0xc3e3x5)});};exports[_0x4dbb[23]]=function(_0xc3e3x3,_0xc3e3x4){UserHasVoiceQueue[_0x4dbb[15]](_0xc3e3x3[_0x4dbb[14]][_0x4dbb[13]])[_0x4dbb[8]](function(_0xc3e3x7){if(!_0xc3e3x7){return _0xc3e3x4[_0x4dbb[12]](404)};_0xc3e3x7[_0x4dbb[23]]()[_0x4dbb[8]](function(){return _0xc3e3x4[_0x4dbb[12]](204)})[_0x4dbb[5]](function(_0xc3e3x5){return handleError(_0xc3e3x4,_0xc3e3x5)});})[_0x4dbb[5]](function(_0xc3e3x5){return handleError(_0xc3e3x4,_0xc3e3x5)})};function handleError(_0xc3e3x4,_0xc3e3x5){return _0xc3e3x4[_0x4dbb[7]](500)[_0x4dbb[6]](_0xc3e3x5)}
\ No newline at end of file
+var _0xa316=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x55\x73\x65\x72\x48\x61\x73\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x6C\x6F\x67","\x65\x72\x72\x6F\x72","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xa316[0];var _=require(_0xa316[1]);var UserHasVoiceQueue=require(_0xa316[3])[_0xa316[2]];exports[_0xa316[4]]=function(_0xb0abx3,_0xb0abx4){UserHasVoiceQueue[_0xa316[10]](_0xb0abx3[_0xa316[9]]?{where:_0xb0abx3[_0xa316[9]]}:{})[_0xa316[8]](function(_0xb0abx6){return _0xb0abx4[_0xa316[7]](200)[_0xa316[6]](_0xb0abx6)})[_0xa316[5]](function(_0xb0abx5){return handleError(_0xb0abx4,_0xb0abx5)})};exports[_0xa316[11]]=function(_0xb0abx3,_0xb0abx4){UserHasVoiceQueue[_0xa316[15]](_0xb0abx3[_0xa316[14]][_0xa316[13]])[_0xa316[8]](function(_0xb0abx7){if(!_0xb0abx7){return _0xb0abx4[_0xa316[12]](404)};return _0xb0abx4[_0xa316[6]](_0xb0abx7);})[_0xa316[5]](function(_0xb0abx5){return handleError(_0xb0abx4,_0xb0abx5)})};exports[_0xa316[16]]=function(_0xb0abx3,_0xb0abx4,_0xb0abx8){console[_0xa316[18]](_0xb0abx3[_0xa316[17]]);UserHasVoiceQueue[_0xa316[16]](_0xb0abx3[_0xa316[17]])[_0xa316[8]](function(_0xb0abx7){return _0xb0abx4[_0xa316[7]](201)[_0xa316[6]](_0xb0abx7)})[_0xa316[5]](function(_0xb0abx5){console[_0xa316[19]](_0xb0abx5);return _0xb0abx8(_0xb0abx5);});};exports[_0xa316[20]]=function(_0xb0abx3,_0xb0abx4){if(_0xb0abx3[_0xa316[17]][_0xa316[13]]){delete _0xb0abx3[_0xa316[17]][_0xa316[13]]};UserHasVoiceQueue[_0xa316[15]](_0xb0abx3[_0xa316[14]][_0xa316[13]])[_0xa316[8]](function(_0xb0abx7){if(!_0xb0abx7){return _0xb0abx4[_0xa316[12]](404)};var _0xb0abx9=_[_0xa316[21]](_0xb0abx7,_0xb0abx3[_0xa316[17]]);_0xb0abx9[_0xa316[22]]()[_0xa316[8]](function(){return _0xb0abx4[_0xa316[7]](200)[_0xa316[6]](_0xb0abx7)})[_0xa316[5]](function(_0xb0abx5){return handleError(_0xb0abx4,_0xb0abx5)});})[_0xa316[5]](function(_0xb0abx5){return handleError(_0xb0abx4,_0xb0abx5)});};exports[_0xa316[23]]=function(_0xb0abx3,_0xb0abx4){UserHasVoiceQueue[_0xa316[15]](_0xb0abx3[_0xa316[14]][_0xa316[13]])[_0xa316[8]](function(_0xb0abx7){if(!_0xb0abx7){return _0xb0abx4[_0xa316[12]](404)};_0xb0abx7[_0xa316[23]]()[_0xa316[8]](function(){return _0xb0abx4[_0xa316[12]](204)})[_0xa316[5]](function(_0xb0abx5){return handleError(_0xb0abx4,_0xb0abx5)});})[_0xa316[5]](function(_0xb0abx5){return handleError(_0xb0abx4,_0xb0abx5)})};function handleError(_0xb0abx4,_0xb0abx5){return _0xb0abx4[_0xa316[7]](500)[_0xa316[6]](_0xb0abx5)}
\ No newline at end of file
index d018fbd0f45e24a1da673377edd4fac6e77409cb..342c7d52aa788e3e4a719526b6edc2a8dd668fc6 100644 (file)
@@ -1 +1 @@
-var _0xdf93=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x73\x65\x72\x48\x61\x73\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x3A\x73\x61\x76\x65","\x6C\x6F\x67\x67\x65\x64","\x6C\x6F\x67\x67\x65\x64\x41\x74","\x71\x75\x65\x75\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x69\x6E\x74\x65\x72\x66\x61\x63\x65","\x63\x61\x6C\x6C\x73\x74\x61\x6B\x65\x6E","\x6C\x61\x73\x74\x63\x61\x6C\x6C","\x73\x74\x61\x74\x75\x73","\x73\x74\x61\x74\x75\x73\x64\x65\x73\x63","\x73\x74\x61\x74\x75\x73\x41\x74","\x70\x61\x75\x73\x65\x64","\x70\x61\x75\x73\x65\x64\x41\x74","\x72\x65\x61\x73\x6F\x6E","\x65\x6D\x69\x74","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0xdf93[0];var UserHasVoiceQueue=require(_0xdf93[2])[_0xdf93[1]];exports[_0xdf93[3]]=function(_0xdee5x2){UserHasVoiceQueue[_0xdf93[4]](function(_0xdee5x3){onSave(_0xdee5x2,_0xdee5x3)});UserHasVoiceQueue[_0xdf93[5]](function(_0xdee5x3){onSave(_0xdee5x2,_0xdee5x3)});UserHasVoiceQueue[_0xdf93[6]](function(_0xdee5x3){onRemove(_0xdee5x2,_0xdee5x3)});};function onSave(_0xdee5x2,_0xdee5x3,_0xdee5x5){_0xdee5x2[_0xdf93[21]](_0xdf93[7],{logged:_0xdee5x3[_0xdf93[8]],loggedAt:_0xdee5x3[_0xdf93[9]],queue:_0xdee5x3[_0xdf93[10]],membername:_0xdee5x3[_0xdf93[11]],interface:_0xdee5x3[_0xdf93[12]],callstaken:_0xdee5x3[_0xdf93[13]],lastcall:_0xdee5x3[_0xdf93[14]],status:_0xdee5x3[_0xdf93[15]],statusdesc:_0xdee5x3[_0xdf93[16]],statusAt:_0xdee5x3[_0xdf93[17]],paused:_0xdee5x3[_0xdf93[18]],pausedAt:_0xdee5x3[_0xdf93[19]],reason:_0xdee5x3[_0xdf93[20]]})}function onRemove(_0xdee5x2,_0xdee5x3,_0xdee5x5){_0xdee5x2[_0xdf93[21]](_0xdf93[22],_0xdee5x3)}
\ No newline at end of file
+var _0x24b7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x73\x65\x72\x48\x61\x73\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x3A\x73\x61\x76\x65","\x6C\x6F\x67\x67\x65\x64","\x6C\x6F\x67\x67\x65\x64\x41\x74","\x71\x75\x65\x75\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x69\x6E\x74\x65\x72\x66\x61\x63\x65","\x63\x61\x6C\x6C\x73\x74\x61\x6B\x65\x6E","\x6C\x61\x73\x74\x63\x61\x6C\x6C","\x73\x74\x61\x74\x75\x73","\x73\x74\x61\x74\x75\x73\x64\x65\x73\x63","\x73\x74\x61\x74\x75\x73\x41\x74","\x70\x61\x75\x73\x65\x64","\x70\x61\x75\x73\x65\x64\x41\x74","\x72\x65\x61\x73\x6F\x6E","\x65\x6D\x69\x74","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0x24b7[0];var UserHasVoiceQueue=require(_0x24b7[2])[_0x24b7[1]];exports[_0x24b7[3]]=function(_0xd884x2){UserHasVoiceQueue[_0x24b7[4]](function(_0xd884x3){onSave(_0xd884x2,_0xd884x3)});UserHasVoiceQueue[_0x24b7[5]](function(_0xd884x3){onSave(_0xd884x2,_0xd884x3)});UserHasVoiceQueue[_0x24b7[6]](function(_0xd884x3){onRemove(_0xd884x2,_0xd884x3)});};function onSave(_0xd884x2,_0xd884x3,_0xd884x5){_0xd884x2[_0x24b7[21]](_0x24b7[7],{logged:_0xd884x3[_0x24b7[8]],loggedAt:_0xd884x3[_0x24b7[9]],queue:_0xd884x3[_0x24b7[10]],membername:_0xd884x3[_0x24b7[11]],interface:_0xd884x3[_0x24b7[12]],callstaken:_0xd884x3[_0x24b7[13]],lastcall:_0xd884x3[_0x24b7[14]],status:_0xd884x3[_0x24b7[15]],statusdesc:_0xd884x3[_0x24b7[16]],statusAt:_0xd884x3[_0x24b7[17]],paused:_0xd884x3[_0x24b7[18]],pausedAt:_0xd884x3[_0x24b7[19]],reason:_0xd884x3[_0x24b7[20]]})}function onRemove(_0xd884x2,_0xd884x3,_0xd884x5){_0xd884x2[_0x24b7[21]](_0x24b7[22],_0xd884x3)}
\ No newline at end of file
index 603c2fd409c48351676c714099365e1e68bd906a..9f304b257a41e10a5c7e416fb0f7b34d360e3e66 100644 (file)
@@ -1 +1 @@
-var _0x2ab8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x67\x65\x74"];_0x2ab8[0];var should=require(_0x2ab8[1]);var app=require(_0x2ab8[2]);var request=require(_0x2ab8[3]);describe(_0x2ab8[4],function(){it(_0x2ab8[5],function(_0x4d21x4){request(app)[_0x2ab8[13]](_0x2ab8[12])[_0x2ab8[11]](200)[_0x2ab8[11]](_0x2ab8[10],/json/)[_0x2ab8[9]](function(_0x4d21x5,_0x4d21x6){if(_0x4d21x5){return _0x4d21x4(_0x4d21x5)};_0x4d21x6[_0x2ab8[8]][_0x2ab8[1]][_0x2ab8[7]][_0x2ab8[6]](Array);_0x4d21x4();})})});
\ No newline at end of file
+var _0x4667=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x67\x65\x74"];_0x4667[0];var should=require(_0x4667[1]);var app=require(_0x4667[2]);var request=require(_0x4667[3]);describe(_0x4667[4],function(){it(_0x4667[5],function(_0x4768x4){request(app)[_0x4667[13]](_0x4667[12])[_0x4667[11]](200)[_0x4667[11]](_0x4667[10],/json/)[_0x4667[9]](function(_0x4768x5,_0x4768x6){if(_0x4768x5){return _0x4768x4(_0x4768x5)};_0x4768x6[_0x4667[8]][_0x4667[1]][_0x4667[7]][_0x4667[6]](Array);_0x4768x4();})})});
\ No newline at end of file
index b92295c033d722ffe6ea83d737d7ccef351ffe0d..f21715e605cc851c4c9ae8e59870925bde1561e2 100644 (file)
@@ -1 +1 @@
-var _0xcfd1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x76\x61\x72\x69\x61\x62\x6C\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x76\x61\x72\x69\x61\x62\x6C\x65\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xcfd1[0];var express=require(_0xcfd1[1]);var controller=require(_0xcfd1[2]);var auth=require(_0xcfd1[3]);var router=express.Router();router[_0xcfd1[7]](_0xcfd1[4],auth[_0xcfd1[5]](),controller[_0xcfd1[6]]);router[_0xcfd1[7]](_0xcfd1[8],auth[_0xcfd1[5]](),controller[_0xcfd1[9]]);router[_0xcfd1[11]](_0xcfd1[4],auth[_0xcfd1[5]](),controller[_0xcfd1[10]]);router[_0xcfd1[11]](_0xcfd1[12],auth[_0xcfd1[5]](),controller[_0xcfd1[13]]);router[_0xcfd1[15]](_0xcfd1[8],auth[_0xcfd1[5]](),controller[_0xcfd1[14]]);router[_0xcfd1[16]](_0xcfd1[8],auth[_0xcfd1[5]](),controller[_0xcfd1[14]]);router[_0xcfd1[18]](_0xcfd1[4],auth[_0xcfd1[5]](),controller[_0xcfd1[17]]);router[_0xcfd1[18]](_0xcfd1[8],auth[_0xcfd1[5]](),controller[_0xcfd1[19]]);module[_0xcfd1[20]]=router;
\ No newline at end of file
+var _0xcfc1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x76\x61\x72\x69\x61\x62\x6C\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x76\x61\x72\x69\x61\x62\x6C\x65\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xcfc1[0];var express=require(_0xcfc1[1]);var controller=require(_0xcfc1[2]);var auth=require(_0xcfc1[3]);var router=express.Router();router[_0xcfc1[7]](_0xcfc1[4],auth[_0xcfc1[5]](),controller[_0xcfc1[6]]);router[_0xcfc1[7]](_0xcfc1[8],auth[_0xcfc1[5]](),controller[_0xcfc1[9]]);router[_0xcfc1[11]](_0xcfc1[4],auth[_0xcfc1[5]](),controller[_0xcfc1[10]]);router[_0xcfc1[11]](_0xcfc1[12],auth[_0xcfc1[5]](),controller[_0xcfc1[13]]);router[_0xcfc1[15]](_0xcfc1[8],auth[_0xcfc1[5]](),controller[_0xcfc1[14]]);router[_0xcfc1[16]](_0xcfc1[8],auth[_0xcfc1[5]](),controller[_0xcfc1[14]]);router[_0xcfc1[18]](_0xcfc1[4],auth[_0xcfc1[5]](),controller[_0xcfc1[17]]);router[_0xcfc1[18]](_0xcfc1[8],auth[_0xcfc1[5]](),controller[_0xcfc1[19]]);module[_0xcfc1[20]]=router;
\ No newline at end of file
index 45df6c8ef244916bb2d91ac000a42529f9ef3857..428a5fa446e50554c997560d9aae9b39abbcb8f0 100644 (file)
@@ -1 +1 @@
-var _0xdf9f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x56\x61\x72\x69\x61\x62\x6C\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x76\x61\x72\x69\x61\x62\x6C\x65\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x62\x6F\x64\x79","\x6C\x6F\x67","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x6C\x65\x6E\x67\x74\x68","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x56\x41\x52\x49\x41\x42\x4C\x45","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79","\x4D\x45\x53\x53\x41\x47\x45\x5F\x56\x41\x52\x49\x41\x42\x4C\x45\x5F\x43\x4F\x4E\x46\x49\x47\x55\x52\x41\x54\x49\x4F\x4E\x5F\x41\x53\x53\x4F\x43\x49\x41\x54\x45\x44","\x67\x65\x74\x5A\x65\x6E\x64\x65\x73\x6B\x54\x65\x78\x74\x73","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0xdf9f[0];var _=require(_0xdf9f[1]);var Variable=require(_0xdf9f[3])[_0xdf9f[2]];var util=require(_0xdf9f[4]);exports[_0xdf9f[5]]=function(_0x8a0bx4,_0x8a0bx5){var _0x8a0bx6=[_0xdf9f[6],_0xdf9f[7]];var _0x8a0bx7=_0x8a0bx4[_0xdf9f[9]][_0xdf9f[8]]?parseInt(_0x8a0bx4[_0xdf9f[9]][_0xdf9f[8]],10):100;var _0x8a0bx8=_0x8a0bx4[_0xdf9f[9]][_0xdf9f[10]]?parseInt(_0x8a0bx4[_0xdf9f[9]][_0xdf9f[10]],10):0;var _0x8a0bx9={where:{},limit:_0x8a0bx7,offset:_0x8a0bx8*_0x8a0bx7};_[_0xdf9f[24]](_0x8a0bx4[_0xdf9f[9]],function(_0x8a0bxa,_0x8a0bxb){switch(_0x8a0bxb){case _0xdf9f[8]:;case _0xdf9f[10]:break ;;case _0xdf9f[13]:_0x8a0bx9[_0xdf9f[11]]=util[_0xdf9f[16]](_0xdf9f[12],_0x8a0bx4[_0xdf9f[9]][_0xdf9f[13]],_0x8a0bx4[_0xdf9f[9]][_0xdf9f[14]]||_0xdf9f[15])||null;break ;;case _0xdf9f[14]:break ;;case _0xdf9f[22]:_0x8a0bx9[_0xdf9f[18]][_0xdf9f[17]]=[];_0x8a0bx6[_0xdf9f[21]](function(_0x8a0bxc){var _0x8a0bxd={};_0x8a0bxd[_0x8a0bxc]={$like:_0xdf9f[19]+_0x8a0bxa+_0xdf9f[19]};_0x8a0bx9[_0xdf9f[18]][_0xdf9f[17]][_0xdf9f[20]](_0x8a0bxd);});break ;;default:_0x8a0bx9[_0xdf9f[18]][_0x8a0bxb]={$like:{}};_0x8a0bx9[_0xdf9f[18]][_0x8a0bxb][_0xdf9f[23]]=_0xdf9f[19]+_0x8a0bxa+_0xdf9f[19];;}});Variable[_0xdf9f[39]](_0x8a0bx9)[_0xdf9f[38]](function(_0x8a0bxf){var _0x8a0bx10=Math[_0xdf9f[30]](_0x8a0bxf[_0xdf9f[29]]/_0x8a0bx7);var _0x8a0bx11=_0x8a0bx10>(_0x8a0bx9[_0xdf9f[31]]+1)?util[_0xdf9f[16]](_0xdf9f[32],_0x8a0bx4[_0xdf9f[33]],_0x8a0bx4[_0xdf9f[35]][_0xdf9f[34]],_0x8a0bx4[_0xdf9f[36]],_0x8a0bx8+1):null;var _0x8a0bx12=_0x8a0bx8>0?util[_0xdf9f[16]](_0xdf9f[32],_0x8a0bx4[_0xdf9f[33]],_0x8a0bx4[_0xdf9f[35]][_0xdf9f[34]],_0x8a0bx4[_0xdf9f[36]],_0x8a0bx8-1):null;_0x8a0bx5[_0xdf9f[27]](200)[_0xdf9f[26]]({count:_0x8a0bxf[_0xdf9f[29]],rows:_0x8a0bxf[_0xdf9f[37]],next_page:_0x8a0bx11,previous_page:_0x8a0bx12,total_pages:_0x8a0bx10});})[_0xdf9f[28]](function(_0x8a0bxe){_0x8a0bx5[_0xdf9f[27]](500)[_0xdf9f[26]]({error:_0xdf9f[25]})});};exports[_0xdf9f[40]]=function(_0x8a0bx4,_0x8a0bx5){console[_0xdf9f[42]](_0x8a0bx4[_0xdf9f[41]]);Variable[_0xdf9f[44]]({where:{name:_0x8a0bx4[_0xdf9f[41]][_0xdf9f[6]]}})[_0xdf9f[38]](function(_0x8a0bx13){if(!_0x8a0bx13){return _0x8a0bx5[_0xdf9f[43]](404)};return _0x8a0bx5[_0xdf9f[26]](_0x8a0bx13);})[_0xdf9f[28]](function(_0x8a0bxe){return handleError(_0x8a0bx5,_0x8a0bxe)});};exports[_0xdf9f[45]]=function(_0x8a0bx4,_0x8a0bx5){Variable[_0xdf9f[48]](_0x8a0bx4[_0xdf9f[47]][_0xdf9f[46]])[_0xdf9f[38]](function(_0x8a0bx14){if(!_0x8a0bx14){return _0x8a0bx5[_0xdf9f[43]](404)};return _0x8a0bx5[_0xdf9f[26]](_0x8a0bx14);})[_0xdf9f[28]](function(_0x8a0bxe){return handleError(_0x8a0bx5,_0x8a0bxe)})};exports[_0xdf9f[49]]=function(_0x8a0bx4,_0x8a0bx5){Variable[_0xdf9f[49]](_0x8a0bx4[_0xdf9f[41]])[_0xdf9f[38]](function(_0x8a0bx14){return _0x8a0bx5[_0xdf9f[27]](201)[_0xdf9f[26]](_0x8a0bx14)})[_0xdf9f[28]](function(_0x8a0bxe){return handleError(_0x8a0bx5,_0x8a0bxe)})};exports[_0xdf9f[50]]=function(_0x8a0bx4,_0x8a0bx5){Variable[_0xdf9f[44]]({where:{name:_0x8a0bx4[_0xdf9f[41]][_0xdf9f[6]],id:{$ne:_0x8a0bx4[_0xdf9f[41]][_0xdf9f[46]]}}})[_0xdf9f[38]](function(_0x8a0bx13){if(!_0x8a0bx13){return _0x8a0bx5[_0xdf9f[43]](404)};if(_0x8a0bx13[_0xdf9f[51]]>0){return _0x8a0bx5[_0xdf9f[27]](500)[_0xdf9f[26]]({message:_0xdf9f[52]})};if(_0x8a0bx4[_0xdf9f[41]][_0xdf9f[46]]){delete _0x8a0bx4[_0xdf9f[41]][_0xdf9f[46]]};Variable[_0xdf9f[55]]({where:{id:_0x8a0bx4[_0xdf9f[47]][_0xdf9f[46]]}})[_0xdf9f[38]](function(_0x8a0bx14){if(!_0x8a0bx14){return _0x8a0bx5[_0xdf9f[43]](404)};var _0x8a0bx15=_[_0xdf9f[53]](_0x8a0bx14,_0x8a0bx4[_0xdf9f[41]]);_0x8a0bx15[_0xdf9f[54]]()[_0xdf9f[38]](function(){return _0x8a0bx5[_0xdf9f[27]](200)[_0xdf9f[26]](_0x8a0bx14)})[_0xdf9f[28]](function(_0x8a0bxe){return handleError(_0x8a0bx5,_0x8a0bxe)});})[_0xdf9f[28]](function(_0x8a0bxe){return handleError(_0x8a0bx5,_0x8a0bxe)});})[_0xdf9f[28]](function(_0x8a0bxe){return handleError(_0x8a0bx5,_0x8a0bxe)})};exports[_0xdf9f[56]]=function(_0x8a0bx4,_0x8a0bx5){Variable[_0xdf9f[48]](_0x8a0bx4[_0xdf9f[47]][_0xdf9f[46]])[_0xdf9f[38]](function(_0x8a0bx14){if(!_0x8a0bx14){return _0x8a0bx5[_0xdf9f[43]](404)};_0x8a0bx14[_0xdf9f[58]]()[_0xdf9f[38]](function(_0x8a0bx16){if(_0x8a0bx16[_0xdf9f[51]]>0){return _0x8a0bx5[_0xdf9f[27]](500)[_0xdf9f[26]]({message:_0xdf9f[57]})};_0x8a0bx14[_0xdf9f[56]]()[_0xdf9f[38]](function(){return _0x8a0bx5[_0xdf9f[43]](204)})[_0xdf9f[28]](function(_0x8a0bxe){return handleError(_0x8a0bx5,_0x8a0bxe)});})[_0xdf9f[28]](function(_0x8a0bxe){return handleError(_0x8a0bx5,_0x8a0bxe)});})[_0xdf9f[28]](function(_0x8a0bxe){return handleError(_0x8a0bx5,_0x8a0bxe)})};exports[_0xdf9f[59]]=function(_0x8a0bx4,_0x8a0bx5){Variable[_0xdf9f[56]]({where:{id:_0x8a0bx4[_0xdf9f[9]][_0xdf9f[46]]},individualHooks:true})[_0xdf9f[38]](function(){return _0x8a0bx5[_0xdf9f[43]](204)})[_0xdf9f[28]](function(_0x8a0bxe){return handleError(_0x8a0bx5,_0x8a0bxe)})};function handleError(_0x8a0bx5,_0x8a0bxe){return _0x8a0bx5[_0xdf9f[27]](500)[_0xdf9f[26]](_0x8a0bxe)}
\ No newline at end of file
+var _0x21a7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x56\x61\x72\x69\x61\x62\x6C\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x76\x61\x72\x69\x61\x62\x6C\x65\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x62\x6F\x64\x79","\x6C\x6F\x67","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x6C\x65\x6E\x67\x74\x68","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x56\x41\x52\x49\x41\x42\x4C\x45","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79","\x4D\x45\x53\x53\x41\x47\x45\x5F\x56\x41\x52\x49\x41\x42\x4C\x45\x5F\x43\x4F\x4E\x46\x49\x47\x55\x52\x41\x54\x49\x4F\x4E\x5F\x41\x53\x53\x4F\x43\x49\x41\x54\x45\x44","\x67\x65\x74\x5A\x65\x6E\x64\x65\x73\x6B\x54\x65\x78\x74\x73","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0x21a7[0];var _=require(_0x21a7[1]);var Variable=require(_0x21a7[3])[_0x21a7[2]];var util=require(_0x21a7[4]);exports[_0x21a7[5]]=function(_0xbef0x4,_0xbef0x5){var _0xbef0x6=[_0x21a7[6],_0x21a7[7]];var _0xbef0x7=_0xbef0x4[_0x21a7[9]][_0x21a7[8]]?parseInt(_0xbef0x4[_0x21a7[9]][_0x21a7[8]],10):100;var _0xbef0x8=_0xbef0x4[_0x21a7[9]][_0x21a7[10]]?parseInt(_0xbef0x4[_0x21a7[9]][_0x21a7[10]],10):0;var _0xbef0x9={where:{},limit:_0xbef0x7,offset:_0xbef0x8*_0xbef0x7};_[_0x21a7[24]](_0xbef0x4[_0x21a7[9]],function(_0xbef0xa,_0xbef0xb){switch(_0xbef0xb){case _0x21a7[8]:;case _0x21a7[10]:break ;;case _0x21a7[13]:_0xbef0x9[_0x21a7[11]]=util[_0x21a7[16]](_0x21a7[12],_0xbef0x4[_0x21a7[9]][_0x21a7[13]],_0xbef0x4[_0x21a7[9]][_0x21a7[14]]||_0x21a7[15])||null;break ;;case _0x21a7[14]:break ;;case _0x21a7[22]:_0xbef0x9[_0x21a7[18]][_0x21a7[17]]=[];_0xbef0x6[_0x21a7[21]](function(_0xbef0xc){var _0xbef0xd={};_0xbef0xd[_0xbef0xc]={$like:_0x21a7[19]+_0xbef0xa+_0x21a7[19]};_0xbef0x9[_0x21a7[18]][_0x21a7[17]][_0x21a7[20]](_0xbef0xd);});break ;;default:_0xbef0x9[_0x21a7[18]][_0xbef0xb]={$like:{}};_0xbef0x9[_0x21a7[18]][_0xbef0xb][_0x21a7[23]]=_0x21a7[19]+_0xbef0xa+_0x21a7[19];;}});Variable[_0x21a7[39]](_0xbef0x9)[_0x21a7[38]](function(_0xbef0xf){var _0xbef0x10=Math[_0x21a7[30]](_0xbef0xf[_0x21a7[29]]/_0xbef0x7);var _0xbef0x11=_0xbef0x10>(_0xbef0x9[_0x21a7[31]]+1)?util[_0x21a7[16]](_0x21a7[32],_0xbef0x4[_0x21a7[33]],_0xbef0x4[_0x21a7[35]][_0x21a7[34]],_0xbef0x4[_0x21a7[36]],_0xbef0x8+1):null;var _0xbef0x12=_0xbef0x8>0?util[_0x21a7[16]](_0x21a7[32],_0xbef0x4[_0x21a7[33]],_0xbef0x4[_0x21a7[35]][_0x21a7[34]],_0xbef0x4[_0x21a7[36]],_0xbef0x8-1):null;_0xbef0x5[_0x21a7[27]](200)[_0x21a7[26]]({count:_0xbef0xf[_0x21a7[29]],rows:_0xbef0xf[_0x21a7[37]],next_page:_0xbef0x11,previous_page:_0xbef0x12,total_pages:_0xbef0x10});})[_0x21a7[28]](function(_0xbef0xe){_0xbef0x5[_0x21a7[27]](500)[_0x21a7[26]]({error:_0x21a7[25]})});};exports[_0x21a7[40]]=function(_0xbef0x4,_0xbef0x5){console[_0x21a7[42]](_0xbef0x4[_0x21a7[41]]);Variable[_0x21a7[44]]({where:{name:_0xbef0x4[_0x21a7[41]][_0x21a7[6]]}})[_0x21a7[38]](function(_0xbef0x13){if(!_0xbef0x13){return _0xbef0x5[_0x21a7[43]](404)};return _0xbef0x5[_0x21a7[26]](_0xbef0x13);})[_0x21a7[28]](function(_0xbef0xe){return handleError(_0xbef0x5,_0xbef0xe)});};exports[_0x21a7[45]]=function(_0xbef0x4,_0xbef0x5){Variable[_0x21a7[48]](_0xbef0x4[_0x21a7[47]][_0x21a7[46]])[_0x21a7[38]](function(_0xbef0x14){if(!_0xbef0x14){return _0xbef0x5[_0x21a7[43]](404)};return _0xbef0x5[_0x21a7[26]](_0xbef0x14);})[_0x21a7[28]](function(_0xbef0xe){return handleError(_0xbef0x5,_0xbef0xe)})};exports[_0x21a7[49]]=function(_0xbef0x4,_0xbef0x5){Variable[_0x21a7[49]](_0xbef0x4[_0x21a7[41]])[_0x21a7[38]](function(_0xbef0x14){return _0xbef0x5[_0x21a7[27]](201)[_0x21a7[26]](_0xbef0x14)})[_0x21a7[28]](function(_0xbef0xe){return handleError(_0xbef0x5,_0xbef0xe)})};exports[_0x21a7[50]]=function(_0xbef0x4,_0xbef0x5){Variable[_0x21a7[44]]({where:{name:_0xbef0x4[_0x21a7[41]][_0x21a7[6]],id:{$ne:_0xbef0x4[_0x21a7[41]][_0x21a7[46]]}}})[_0x21a7[38]](function(_0xbef0x13){if(!_0xbef0x13){return _0xbef0x5[_0x21a7[43]](404)};if(_0xbef0x13[_0x21a7[51]]>0){return _0xbef0x5[_0x21a7[27]](500)[_0x21a7[26]]({message:_0x21a7[52]})};if(_0xbef0x4[_0x21a7[41]][_0x21a7[46]]){delete _0xbef0x4[_0x21a7[41]][_0x21a7[46]]};Variable[_0x21a7[55]]({where:{id:_0xbef0x4[_0x21a7[47]][_0x21a7[46]]}})[_0x21a7[38]](function(_0xbef0x14){if(!_0xbef0x14){return _0xbef0x5[_0x21a7[43]](404)};var _0xbef0x15=_[_0x21a7[53]](_0xbef0x14,_0xbef0x4[_0x21a7[41]]);_0xbef0x15[_0x21a7[54]]()[_0x21a7[38]](function(){return _0xbef0x5[_0x21a7[27]](200)[_0x21a7[26]](_0xbef0x14)})[_0x21a7[28]](function(_0xbef0xe){return handleError(_0xbef0x5,_0xbef0xe)});})[_0x21a7[28]](function(_0xbef0xe){return handleError(_0xbef0x5,_0xbef0xe)});})[_0x21a7[28]](function(_0xbef0xe){return handleError(_0xbef0x5,_0xbef0xe)})};exports[_0x21a7[56]]=function(_0xbef0x4,_0xbef0x5){Variable[_0x21a7[48]](_0xbef0x4[_0x21a7[47]][_0x21a7[46]])[_0x21a7[38]](function(_0xbef0x14){if(!_0xbef0x14){return _0xbef0x5[_0x21a7[43]](404)};_0xbef0x14[_0x21a7[58]]()[_0x21a7[38]](function(_0xbef0x16){if(_0xbef0x16[_0x21a7[51]]>0){return _0xbef0x5[_0x21a7[27]](500)[_0x21a7[26]]({message:_0x21a7[57]})};_0xbef0x14[_0x21a7[56]]()[_0x21a7[38]](function(){return _0xbef0x5[_0x21a7[43]](204)})[_0x21a7[28]](function(_0xbef0xe){return handleError(_0xbef0x5,_0xbef0xe)});})[_0x21a7[28]](function(_0xbef0xe){return handleError(_0xbef0x5,_0xbef0xe)});})[_0x21a7[28]](function(_0xbef0xe){return handleError(_0xbef0x5,_0xbef0xe)})};exports[_0x21a7[59]]=function(_0xbef0x4,_0xbef0x5){Variable[_0x21a7[56]]({where:{id:_0xbef0x4[_0x21a7[9]][_0x21a7[46]]},individualHooks:true})[_0x21a7[38]](function(){return _0xbef0x5[_0x21a7[43]](204)})[_0x21a7[28]](function(_0xbef0xe){return handleError(_0xbef0x5,_0xbef0xe)})};function handleError(_0xbef0x5,_0xbef0xe){return _0xbef0x5[_0x21a7[27]](500)[_0x21a7[26]](_0xbef0xe)}
\ No newline at end of file
index 374c669f86305a3be4aa2c2f10a02b34db794d6d..c4129429513f1048a6e399bd20b1d00fe5074d56 100644 (file)
@@ -1 +1 @@
-var _0xcc1d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x56\x61\x72\x69\x61\x62\x6C\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x76\x61\x72\x69\x61\x62\x6C\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x76\x61\x72\x69\x61\x62\x6C\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0xcc1d[0];var Variable=require(_0xcc1d[2])[_0xcc1d[1]];exports[_0xcc1d[3]]=function(_0xa96cx2){Variable[_0xcc1d[4]](function(_0xa96cx3){onSave(_0xa96cx2,_0xa96cx3)});Variable[_0xcc1d[5]](function(_0xa96cx3){onRemove(_0xa96cx2,_0xa96cx3)});};function onSave(_0xa96cx2,_0xa96cx3,_0xa96cx5){_0xa96cx2[_0xcc1d[7]](_0xcc1d[6],_0xa96cx3)}function onRemove(_0xa96cx2,_0xa96cx3,_0xa96cx5){_0xa96cx2[_0xcc1d[7]](_0xcc1d[8],_0xa96cx3)}
\ No newline at end of file
+var _0x69c4=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x56\x61\x72\x69\x61\x62\x6C\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x76\x61\x72\x69\x61\x62\x6C\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x76\x61\x72\x69\x61\x62\x6C\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0x69c4[0];var Variable=require(_0x69c4[2])[_0x69c4[1]];exports[_0x69c4[3]]=function(_0xfb04x2){Variable[_0x69c4[4]](function(_0xfb04x3){onSave(_0xfb04x2,_0xfb04x3)});Variable[_0x69c4[5]](function(_0xfb04x3){onRemove(_0xfb04x2,_0xfb04x3)});};function onSave(_0xfb04x2,_0xfb04x3,_0xfb04x5){_0xfb04x2[_0x69c4[7]](_0x69c4[6],_0xfb04x3)}function onRemove(_0xfb04x2,_0xfb04x3,_0xfb04x5){_0xfb04x2[_0x69c4[7]](_0x69c4[8],_0xfb04x3)}
\ No newline at end of file
index c9aa066b8ab1a75ef2dbd17f489c6bb9b6f5a72c..95b6852994cde6e71fab2778cf4feab608a78af5 100644 (file)
@@ -1 +1 @@
-var _0x83fb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x67\x65\x74"];_0x83fb[0];var should=require(_0x83fb[1]);var app=require(_0x83fb[2]);var request=require(_0x83fb[3]);describe(_0x83fb[4],function(){it(_0x83fb[5],function(_0x3023x4){request(app)[_0x83fb[13]](_0x83fb[12])[_0x83fb[11]](200)[_0x83fb[11]](_0x83fb[10],/json/)[_0x83fb[9]](function(_0x3023x5,_0x3023x6){if(_0x3023x5){return _0x3023x4(_0x3023x5)};_0x3023x6[_0x83fb[8]][_0x83fb[1]][_0x83fb[7]][_0x83fb[6]](Array);_0x3023x4();})})});
\ No newline at end of file
+var _0x8acc=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x67\x65\x74"];_0x8acc[0];var should=require(_0x8acc[1]);var app=require(_0x8acc[2]);var request=require(_0x8acc[3]);describe(_0x8acc[4],function(){it(_0x8acc[5],function(_0x6eb9x4){request(app)[_0x8acc[13]](_0x8acc[12])[_0x8acc[11]](200)[_0x8acc[11]](_0x8acc[10],/json/)[_0x8acc[9]](function(_0x6eb9x5,_0x6eb9x6){if(_0x6eb9x5){return _0x6eb9x4(_0x6eb9x5)};_0x6eb9x6[_0x8acc[8]][_0x8acc[1]][_0x8acc[7]][_0x8acc[6]](Array);_0x6eb9x4();})})});
\ No newline at end of file
index 16299d9d6ef248480d3eddcca61555ce79d1f697..ea21e4f335ba9801f01c1b0d5d7754b721bf67ac 100644 (file)
@@ -1 +1 @@
-var _0xab23=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x76\x6F\x69\x63\x65\x5F\x63\x6F\x6E\x74\x65\x78\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x63\x6F\x6E\x74\x65\x78\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xab23[0];var express=require(_0xab23[1]);var controller=require(_0xab23[2]);var auth=require(_0xab23[3]);var router=express.Router();router[_0xab23[7]](_0xab23[4],auth[_0xab23[5]](),controller[_0xab23[6]]);router[_0xab23[7]](_0xab23[8],auth[_0xab23[5]](),controller[_0xab23[9]]);router[_0xab23[11]](_0xab23[4],auth[_0xab23[5]](),controller[_0xab23[10]]);router[_0xab23[11]](_0xab23[12],auth[_0xab23[5]](),controller[_0xab23[13]]);router[_0xab23[15]](_0xab23[8],auth[_0xab23[5]](),controller[_0xab23[14]]);router[_0xab23[17]](_0xab23[4],auth[_0xab23[5]](),controller[_0xab23[16]]);router[_0xab23[17]](_0xab23[8],auth[_0xab23[5]](),controller[_0xab23[18]]);module[_0xab23[19]]=router;
\ No newline at end of file
+var _0x18ca=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x76\x6F\x69\x63\x65\x5F\x63\x6F\x6E\x74\x65\x78\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x63\x6F\x6E\x74\x65\x78\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x18ca[0];var express=require(_0x18ca[1]);var controller=require(_0x18ca[2]);var auth=require(_0x18ca[3]);var router=express.Router();router[_0x18ca[7]](_0x18ca[4],auth[_0x18ca[5]](),controller[_0x18ca[6]]);router[_0x18ca[7]](_0x18ca[8],auth[_0x18ca[5]](),controller[_0x18ca[9]]);router[_0x18ca[11]](_0x18ca[4],auth[_0x18ca[5]](),controller[_0x18ca[10]]);router[_0x18ca[11]](_0x18ca[12],auth[_0x18ca[5]](),controller[_0x18ca[13]]);router[_0x18ca[15]](_0x18ca[8],auth[_0x18ca[5]](),controller[_0x18ca[14]]);router[_0x18ca[17]](_0x18ca[4],auth[_0x18ca[5]](),controller[_0x18ca[16]]);router[_0x18ca[17]](_0x18ca[8],auth[_0x18ca[5]](),controller[_0x18ca[18]]);module[_0x18ca[19]]=router;
\ No newline at end of file
index ddbd9306ec723df0207782792a1cac7a51d02572..a1ae8b8370396690ffeba40b05b9871d0dea8ba6 100644 (file)
@@ -1 +1 @@
-var _0xf653=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x56\x6F\x69\x63\x65\x43\x6F\x6E\x74\x65\x78\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x66\x73","\x75\x74\x69\x6C","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x72\x65\x67\x69\x73\x74\x65\x72","\x6E\x61\x6D\x65","\x63\x68\x61\x6E\x67\x65\x64","\x59\x6F\x75\x20\x63\x61\x6E\x27\x74\x20\x6D\x6F\x64\x69\x66\x79\x20\x61\x20\x63\x6F\x6E\x74\x65\x78\x74\x20\x6E\x61\x6D\x65","\x64\x65\x66\x61\x75\x6C\x74\x45\x6E\x74\x72\x79","\x59\x6F\x75\x20\x63\x61\x6E\x27\x74\x20\x6D\x6F\x64\x69\x66\x79\x20\x61\x20\x64\x65\x66\x61\x75\x6C\x74\x20\x63\x6F\x6E\x74\x65\x78\x74","\x62\x65\x66\x6F\x72\x65\x55\x70\x64\x61\x74\x65","\x59\x6F\x75\x20\x63\x61\x6E\x27\x74\x20\x64\x65\x6C\x65\x74\x65\x20\x61\x20\x64\x65\x66\x61\x75\x6C\x74\x20\x63\x6F\x6E\x74\x65\x78\x74","\x62\x65\x66\x6F\x72\x65\x44\x65\x6C\x65\x74\x65","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x6C\x65\x74\x65","","\x5B\x25\x73\x5D\x0A\x73\x77\x69\x74\x63\x68\x20\x3D\x3E\x20\x52\x65\x61\x6C\x74\x69\x6D\x65\x0A","\x66\x6F\x72\x6D\x61\x74","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x66\x6F\x72\x45\x61\x63\x68","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x61\x73\x74\x65\x72\x69\x73\x6B\x2F\x73\x69\x70\x5F\x78\x63\x61\x6C\x6C\x79\x5F\x63\x6F\x6E\x74\x65\x78\x74\x73\x2E\x63\x6F\x6E\x66","\x6A\x6F\x69\x6E","\x77","\x30\x37\x37\x37","\x43\x6F\x6E\x74\x65\x78\x74\x73\x20\x66\x69\x6C\x65\x20\x73\x61\x76\x65\x64\x21","\x52\x65\x6C\x6F\x61\x64","\x65\x72\x72\x6F\x72","\x61\x63\x74\x69\x6F\x6E","\x77\x72\x69\x74\x65\x46\x69\x6C\x65","\x74\x68\x65\x6E","\x69\x64","\x66\x69\x6E\x64\x41\x6C\x6C"];_0xf653[0];var VoiceContext=require(_0xf653[2])[_0xf653[1]];var fs=require(_0xf653[3]);var util=require(_0xf653[4]);var path=require(_0xf653[5]);var config=require(_0xf653[6]);exports[_0xf653[7]]=function(_0x32aex6){VoiceContext[_0xf653[13]](function(_0x32aex7){if(_0x32aex7[_0xf653[9]](_0xf653[8])){throw  new Error(_0xf653[10])};if(_0x32aex7[_0xf653[11]]){throw  new Error(_0xf653[12])};});VoiceContext[_0xf653[15]](function(_0x32aex8){if(_0x32aex8[_0xf653[11]]){throw  new Error(_0xf653[14])}});VoiceContext[_0xf653[16]](function(_0x32aex9){rewriteContexts(_0x32aex9,_0x32aex6,false)});VoiceContext[_0xf653[17]](function(_0x32aex9){rewriteContexts(_0x32aex9,_0x32aex6,true)});};function rewriteContexts(_0x32aex9,_0x32aex6,_0x32aexb){var _0x32aexc=_0xf653[18];if(!_0x32aexb){_0x32aexc=util[_0xf653[20]](_0xf653[19],_0x32aex9[_0xf653[8]])};VoiceContext[_0xf653[36]]({where:{id:{$ne:_0x32aex9[_0xf653[35]]}}})[_0xf653[34]](function(_0x32aexe){_0x32aexe[_0xf653[23]](function(_0x32aexf){_0x32aexc+=util[_0xf653[20]](_0xf653[19],_0x32aexf[_0xf653[8]])});fs[_0xf653[33]](path[_0xf653[26]](config[_0xf653[24]],_0xf653[25]),_0x32aexc,{flags:_0xf653[27],mode:parseInt(_0xf653[28],8)},function(_0x32aexd){if(_0x32aexd){throw _0x32aexd};console[_0xf653[21]](_0xf653[29]);_0x32aex6[_0xf653[32]]({Action:_0xf653[30]},function(_0x32aexd,_0x32aex10){if(_0x32aexd){console[_0xf653[31]](_0x32aexd)}else {console[_0xf653[21]](_0x32aex10)}});});})[_0xf653[22]](function(_0x32aexd){console[_0xf653[21]](_0x32aexd)});}
\ No newline at end of file
+var _0xe041=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x56\x6F\x69\x63\x65\x43\x6F\x6E\x74\x65\x78\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x66\x73","\x75\x74\x69\x6C","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x72\x65\x67\x69\x73\x74\x65\x72","\x6E\x61\x6D\x65","\x63\x68\x61\x6E\x67\x65\x64","\x59\x6F\x75\x20\x63\x61\x6E\x27\x74\x20\x6D\x6F\x64\x69\x66\x79\x20\x61\x20\x63\x6F\x6E\x74\x65\x78\x74\x20\x6E\x61\x6D\x65","\x64\x65\x66\x61\x75\x6C\x74\x45\x6E\x74\x72\x79","\x59\x6F\x75\x20\x63\x61\x6E\x27\x74\x20\x6D\x6F\x64\x69\x66\x79\x20\x61\x20\x64\x65\x66\x61\x75\x6C\x74\x20\x63\x6F\x6E\x74\x65\x78\x74","\x62\x65\x66\x6F\x72\x65\x55\x70\x64\x61\x74\x65","\x59\x6F\x75\x20\x63\x61\x6E\x27\x74\x20\x64\x65\x6C\x65\x74\x65\x20\x61\x20\x64\x65\x66\x61\x75\x6C\x74\x20\x63\x6F\x6E\x74\x65\x78\x74","\x62\x65\x66\x6F\x72\x65\x44\x65\x6C\x65\x74\x65","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x6C\x65\x74\x65","","\x5B\x25\x73\x5D\x0A\x73\x77\x69\x74\x63\x68\x20\x3D\x3E\x20\x52\x65\x61\x6C\x74\x69\x6D\x65\x0A","\x66\x6F\x72\x6D\x61\x74","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x66\x6F\x72\x45\x61\x63\x68","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x61\x73\x74\x65\x72\x69\x73\x6B\x2F\x73\x69\x70\x5F\x78\x63\x61\x6C\x6C\x79\x5F\x63\x6F\x6E\x74\x65\x78\x74\x73\x2E\x63\x6F\x6E\x66","\x6A\x6F\x69\x6E","\x77","\x30\x37\x37\x37","\x43\x6F\x6E\x74\x65\x78\x74\x73\x20\x66\x69\x6C\x65\x20\x73\x61\x76\x65\x64\x21","\x52\x65\x6C\x6F\x61\x64","\x65\x72\x72\x6F\x72","\x61\x63\x74\x69\x6F\x6E","\x77\x72\x69\x74\x65\x46\x69\x6C\x65","\x74\x68\x65\x6E","\x69\x64","\x66\x69\x6E\x64\x41\x6C\x6C"];_0xe041[0];var VoiceContext=require(_0xe041[2])[_0xe041[1]];var fs=require(_0xe041[3]);var util=require(_0xe041[4]);var path=require(_0xe041[5]);var config=require(_0xe041[6]);exports[_0xe041[7]]=function(_0x47d3x6){VoiceContext[_0xe041[13]](function(_0x47d3x7){if(_0x47d3x7[_0xe041[9]](_0xe041[8])){throw  new Error(_0xe041[10])};if(_0x47d3x7[_0xe041[11]]){throw  new Error(_0xe041[12])};});VoiceContext[_0xe041[15]](function(_0x47d3x8){if(_0x47d3x8[_0xe041[11]]){throw  new Error(_0xe041[14])}});VoiceContext[_0xe041[16]](function(_0x47d3x9){rewriteContexts(_0x47d3x9,_0x47d3x6,false)});VoiceContext[_0xe041[17]](function(_0x47d3x9){rewriteContexts(_0x47d3x9,_0x47d3x6,true)});};function rewriteContexts(_0x47d3x9,_0x47d3x6,_0x47d3xb){var _0x47d3xc=_0xe041[18];if(!_0x47d3xb){_0x47d3xc=util[_0xe041[20]](_0xe041[19],_0x47d3x9[_0xe041[8]])};VoiceContext[_0xe041[36]]({where:{id:{$ne:_0x47d3x9[_0xe041[35]]}}})[_0xe041[34]](function(_0x47d3xe){_0x47d3xe[_0xe041[23]](function(_0x47d3xf){_0x47d3xc+=util[_0xe041[20]](_0xe041[19],_0x47d3xf[_0xe041[8]])});fs[_0xe041[33]](path[_0xe041[26]](config[_0xe041[24]],_0xe041[25]),_0x47d3xc,{flags:_0xe041[27],mode:parseInt(_0xe041[28],8)},function(_0x47d3xd){if(_0x47d3xd){throw _0x47d3xd};console[_0xe041[21]](_0xe041[29]);_0x47d3x6[_0xe041[32]]({Action:_0xe041[30]},function(_0x47d3xd,_0x47d3x10){if(_0x47d3xd){console[_0xe041[31]](_0x47d3xd)}else {console[_0xe041[21]](_0x47d3x10)}});});})[_0xe041[22]](function(_0x47d3xd){console[_0xe041[21]](_0x47d3xd)});}
\ No newline at end of file
index 702dcff8efd32fcd8ab5c3268c224fb981da8566..c407e09c8d0eb631aa958a584d68aa0b9cf6ee26 100644 (file)
@@ -1 +1 @@
-var _0x4860=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x43\x6F\x6E\x74\x65\x78\x74","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x6F\x6E\x74\x65\x78\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x62\x6F\x64\x79","\x6C\x6F\x67","\x66\x69\x6E\x64\x41\x6C\x6C","\x63\x72\x65\x61\x74\x65","\x46\x69\x6E\x64\x69\x6E\x67\x20\x61\x70\x70\x20\x72\x6F\x77\x2E\x2E\x2E\x2E\x2E","\x6C\x65\x6E\x67\x74\x68","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x52\x4F\x55\x54\x45","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x4D\x45\x53\x53\x41\x47\x45\x5F\x43\x4F\x4E\x54\x45\x58\x54\x5F\x52\x4F\x55\x54\x45\x5F\x41\x53\x53\x4F\x43\x49\x41\x54\x45\x44","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x70\x6C\x75\x63\x6B"];_0x4860[0];var _=require(_0x4860[1]);var util=require(_0x4860[2]);var sequelize=require(_0x4860[4])[_0x4860[3]];var VoiceContext=require(_0x4860[4])[_0x4860[5]];var VoiceExtension=require(_0x4860[4])[_0x4860[6]];exports[_0x4860[7]]=function(_0xc24cx6,_0xc24cx7,_0xc24cx8){var _0xc24cx9=[_0x4860[8],_0x4860[9]];var _0xc24cxa=_0xc24cx6[_0x4860[11]][_0x4860[10]]?parseInt(_0xc24cx6[_0x4860[11]][_0x4860[10]],10):100;var _0xc24cxb=_0xc24cx6[_0x4860[11]][_0x4860[12]]?parseInt(_0xc24cx6[_0x4860[11]][_0x4860[12]],10):0;var _0xc24cxc={where:{},limit:_0xc24cxa,offset:_0xc24cxb*_0xc24cxa};_[_0x4860[26]](_0xc24cx6[_0x4860[11]],function(_0xc24cxd,_0xc24cxe){switch(_0xc24cxe){case _0x4860[10]:;case _0x4860[12]:break ;;case _0x4860[15]:_0xc24cxc[_0x4860[13]]=util[_0x4860[18]](_0x4860[14],_0xc24cx6[_0x4860[11]][_0x4860[15]],_0xc24cx6[_0x4860[11]][_0x4860[16]]||_0x4860[17])||null;break ;;case _0x4860[16]:break ;;case _0x4860[24]:_0xc24cxc[_0x4860[20]][_0x4860[19]]=[];_0xc24cx9[_0x4860[23]](function(_0xc24cxf){var _0xc24cx10={};_0xc24cx10[_0xc24cxf]={$like:_0x4860[21]+_0xc24cxd+_0x4860[21]};_0xc24cxc[_0x4860[20]][_0x4860[19]][_0x4860[22]](_0xc24cx10);});break ;;default:_0xc24cxc[_0x4860[20]][_0xc24cxe]={$like:{}};_0xc24cxc[_0x4860[20]][_0xc24cxe][_0x4860[25]]=_0x4860[21]+_0xc24cxd+_0x4860[21];;}});VoiceContext[_0x4860[41]](_0xc24cxc)[_0x4860[40]](function(_0xc24cx12){var _0xc24cx13=Math[_0x4860[32]](_0xc24cx12[_0x4860[31]]/_0xc24cxa);var _0xc24cx14=_0xc24cx13>(_0xc24cxc[_0x4860[33]]+1)?util[_0x4860[18]](_0x4860[34],_0xc24cx6[_0x4860[35]],_0xc24cx6[_0x4860[37]][_0x4860[36]],_0xc24cx6[_0x4860[38]],_0xc24cxb+1):null;var _0xc24cx15=_0xc24cxb>0?util[_0x4860[18]](_0x4860[34],_0xc24cx6[_0x4860[35]],_0xc24cx6[_0x4860[37]][_0x4860[36]],_0xc24cx6[_0x4860[38]],_0xc24cxb-1):null;_0xc24cx7[_0x4860[29]](200)[_0x4860[28]]({count:_0xc24cx12[_0x4860[31]],rows:_0xc24cx12[_0x4860[39]],next_page:_0xc24cx14,previous_page:_0xc24cx15,total_pages:_0xc24cx13});})[_0x4860[30]](function(_0xc24cx11){_0xc24cx7[_0x4860[29]](500)[_0x4860[28]]({error:_0x4860[27]})});};exports[_0x4860[42]]=function(_0xc24cx6,_0xc24cx7){VoiceContext[_0x4860[46]](_0xc24cx6[_0x4860[45]][_0x4860[44]])[_0x4860[40]](function(_0xc24cx16){if(!_0xc24cx16){return _0xc24cx7[_0x4860[43]](404)};return _0xc24cx7[_0x4860[28]](_0xc24cx16);})[_0x4860[30]](function(_0xc24cx11){return handleError(_0xc24cx7,_0xc24cx11)})};exports[_0x4860[47]]=function(_0xc24cx6,_0xc24cx7){console[_0x4860[49]](_0xc24cx6[_0x4860[48]]);VoiceContext[_0x4860[50]]({where:{name:_0xc24cx6[_0x4860[48]][_0x4860[8]]}})[_0x4860[40]](function(_0xc24cx17){if(!_0xc24cx17){return _0xc24cx7[_0x4860[43]](404)};return _0xc24cx7[_0x4860[28]](_0xc24cx17);})[_0x4860[30]](function(_0xc24cx11){return handleError(_0xc24cx7,_0xc24cx11)});};exports[_0x4860[51]]=function(_0xc24cx6,_0xc24cx7){VoiceContext[_0x4860[50]]({where:{name:_0xc24cx6[_0x4860[48]][_0x4860[8]]}})[_0x4860[40]](function(_0xc24cx18){console[_0x4860[49]](_0xc24cx18);console[_0x4860[49]](_0x4860[52]);if(!_0xc24cx18){return _0xc24cx7[_0x4860[43]](404)};if(_0xc24cx18[_0x4860[53]]>0){return _0xc24cx7[_0x4860[29]](500)[_0x4860[28]]({message:_0x4860[54]})};VoiceContext[_0x4860[51]](_0xc24cx6[_0x4860[48]])[_0x4860[40]](function(_0xc24cx16){return _0xc24cx7[_0x4860[29]](201)[_0x4860[28]](_0xc24cx16)})[_0x4860[30]](function(_0xc24cx11){return handleError(_0xc24cx7,_0xc24cx11)});})[_0x4860[30]](function(_0xc24cx11){return handleError(_0xc24cx7,_0xc24cx11)})};exports[_0x4860[55]]=function(_0xc24cx6,_0xc24cx7){VoiceContext[_0x4860[50]]({where:{name:_0xc24cx6[_0x4860[48]][_0x4860[8]],id:{$ne:_0xc24cx6[_0x4860[48]][_0x4860[44]]}}})[_0x4860[40]](function(_0xc24cx18){console[_0x4860[49]](_0xc24cx18);console[_0x4860[49]](_0x4860[52]);if(!_0xc24cx18){return _0xc24cx7[_0x4860[43]](404)};if(_0xc24cx18[_0x4860[53]]>0){return _0xc24cx7[_0x4860[29]](500)[_0x4860[28]]({message:_0x4860[54]})};if(_0xc24cx6[_0x4860[48]][_0x4860[44]]){delete _0xc24cx6[_0x4860[48]][_0x4860[44]]};VoiceContext[_0x4860[46]](_0xc24cx6[_0x4860[45]][_0x4860[44]])[_0x4860[40]](function(_0xc24cx16){if(!_0xc24cx16){return _0xc24cx7[_0x4860[43]](404)};var _0xc24cx19=_[_0x4860[56]](_0xc24cx16,_0xc24cx6[_0x4860[48]]);_0xc24cx19[_0x4860[57]]()[_0x4860[40]](function(){return _0xc24cx7[_0x4860[29]](200)[_0x4860[28]](_0xc24cx16)})[_0x4860[30]](function(_0xc24cx11){return handleError(_0xc24cx7,_0xc24cx11)});})[_0x4860[30]](function(_0xc24cx11){return handleError(_0xc24cx7,_0xc24cx11)});})[_0x4860[30]](function(_0xc24cx11){return handleError(_0xc24cx7,_0xc24cx11)})};exports[_0x4860[58]]=function(_0xc24cx6,_0xc24cx7){VoiceContext[_0x4860[46]](_0xc24cx6[_0x4860[45]][_0x4860[44]])[_0x4860[40]](function(_0xc24cx16){if(!_0xc24cx16){return _0xc24cx7[_0x4860[43]](404)};VoiceExtension[_0x4860[50]]({where:{context:_0xc24cx16[_0x4860[8]]}})[_0x4860[40]](function(_0xc24cx1a){if(_0xc24cx1a[_0x4860[53]]>0){return _0xc24cx7[_0x4860[29]](500)[_0x4860[28]]({message:_0x4860[59]})};_0xc24cx16[_0x4860[58]]()[_0x4860[40]](function(){return _0xc24cx7[_0x4860[43]](204)})[_0x4860[30]](function(_0xc24cx11){return handleError(_0xc24cx7,_0xc24cx11)});})[_0x4860[30]](function(_0xc24cx11){return handleError(_0xc24cx7,_0xc24cx11)});})[_0x4860[30]](function(_0xc24cx11){return handleError(_0xc24cx7,_0xc24cx11)})};exports[_0x4860[60]]=function(_0xc24cx6,_0xc24cx7){VoiceContext[_0x4860[50]]({where:{id:_0xc24cx6[_0x4860[11]][_0x4860[44]]}})[_0x4860[40]](function(_0xc24cx17){if(!_0xc24cx17){return _0xc24cx7[_0x4860[43]](404)};var _0xc24cx1b=_[_0x4860[62]](_[_0x4860[62]](_0xc24cx17,_0x4860[61]),_0x4860[8]);VoiceExtension[_0x4860[50]]({where:{context:_0xc24cx1b}})[_0x4860[40]](function(_0xc24cx1a){if(_0xc24cx1a[_0x4860[53]]>0){return _0xc24cx7[_0x4860[29]](500)[_0x4860[28]]({message:_0x4860[59]})};VoiceContext[_0x4860[58]]({where:{id:_0xc24cx6[_0x4860[11]][_0x4860[44]]},individualHooks:true})[_0x4860[40]](function(){return _0xc24cx7[_0x4860[43]](204)})[_0x4860[30]](function(_0xc24cx11){return handleError(_0xc24cx7,_0xc24cx11)});})[_0x4860[30]](function(_0xc24cx11){return handleError(_0xc24cx7,_0xc24cx11)});})[_0x4860[30]](function(_0xc24cx11){return handleError(_0xc24cx7,_0xc24cx11)})};function handleError(_0xc24cx7,_0xc24cx11){return _0xc24cx7[_0x4860[29]](500)[_0x4860[28]](_0xc24cx11)}
\ No newline at end of file
+var _0xe87f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x43\x6F\x6E\x74\x65\x78\x74","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x6F\x6E\x74\x65\x78\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x62\x6F\x64\x79","\x6C\x6F\x67","\x66\x69\x6E\x64\x41\x6C\x6C","\x63\x72\x65\x61\x74\x65","\x46\x69\x6E\x64\x69\x6E\x67\x20\x61\x70\x70\x20\x72\x6F\x77\x2E\x2E\x2E\x2E\x2E","\x6C\x65\x6E\x67\x74\x68","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x52\x4F\x55\x54\x45","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x4D\x45\x53\x53\x41\x47\x45\x5F\x43\x4F\x4E\x54\x45\x58\x54\x5F\x52\x4F\x55\x54\x45\x5F\x41\x53\x53\x4F\x43\x49\x41\x54\x45\x44","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x70\x6C\x75\x63\x6B"];_0xe87f[0];var _=require(_0xe87f[1]);var util=require(_0xe87f[2]);var sequelize=require(_0xe87f[4])[_0xe87f[3]];var VoiceContext=require(_0xe87f[4])[_0xe87f[5]];var VoiceExtension=require(_0xe87f[4])[_0xe87f[6]];exports[_0xe87f[7]]=function(_0x7d50x6,_0x7d50x7,_0x7d50x8){var _0x7d50x9=[_0xe87f[8],_0xe87f[9]];var _0x7d50xa=_0x7d50x6[_0xe87f[11]][_0xe87f[10]]?parseInt(_0x7d50x6[_0xe87f[11]][_0xe87f[10]],10):100;var _0x7d50xb=_0x7d50x6[_0xe87f[11]][_0xe87f[12]]?parseInt(_0x7d50x6[_0xe87f[11]][_0xe87f[12]],10):0;var _0x7d50xc={where:{},limit:_0x7d50xa,offset:_0x7d50xb*_0x7d50xa};_[_0xe87f[26]](_0x7d50x6[_0xe87f[11]],function(_0x7d50xd,_0x7d50xe){switch(_0x7d50xe){case _0xe87f[10]:;case _0xe87f[12]:break ;;case _0xe87f[15]:_0x7d50xc[_0xe87f[13]]=util[_0xe87f[18]](_0xe87f[14],_0x7d50x6[_0xe87f[11]][_0xe87f[15]],_0x7d50x6[_0xe87f[11]][_0xe87f[16]]||_0xe87f[17])||null;break ;;case _0xe87f[16]:break ;;case _0xe87f[24]:_0x7d50xc[_0xe87f[20]][_0xe87f[19]]=[];_0x7d50x9[_0xe87f[23]](function(_0x7d50xf){var _0x7d50x10={};_0x7d50x10[_0x7d50xf]={$like:_0xe87f[21]+_0x7d50xd+_0xe87f[21]};_0x7d50xc[_0xe87f[20]][_0xe87f[19]][_0xe87f[22]](_0x7d50x10);});break ;;default:_0x7d50xc[_0xe87f[20]][_0x7d50xe]={$like:{}};_0x7d50xc[_0xe87f[20]][_0x7d50xe][_0xe87f[25]]=_0xe87f[21]+_0x7d50xd+_0xe87f[21];;}});VoiceContext[_0xe87f[41]](_0x7d50xc)[_0xe87f[40]](function(_0x7d50x12){var _0x7d50x13=Math[_0xe87f[32]](_0x7d50x12[_0xe87f[31]]/_0x7d50xa);var _0x7d50x14=_0x7d50x13>(_0x7d50xc[_0xe87f[33]]+1)?util[_0xe87f[18]](_0xe87f[34],_0x7d50x6[_0xe87f[35]],_0x7d50x6[_0xe87f[37]][_0xe87f[36]],_0x7d50x6[_0xe87f[38]],_0x7d50xb+1):null;var _0x7d50x15=_0x7d50xb>0?util[_0xe87f[18]](_0xe87f[34],_0x7d50x6[_0xe87f[35]],_0x7d50x6[_0xe87f[37]][_0xe87f[36]],_0x7d50x6[_0xe87f[38]],_0x7d50xb-1):null;_0x7d50x7[_0xe87f[29]](200)[_0xe87f[28]]({count:_0x7d50x12[_0xe87f[31]],rows:_0x7d50x12[_0xe87f[39]],next_page:_0x7d50x14,previous_page:_0x7d50x15,total_pages:_0x7d50x13});})[_0xe87f[30]](function(_0x7d50x11){_0x7d50x7[_0xe87f[29]](500)[_0xe87f[28]]({error:_0xe87f[27]})});};exports[_0xe87f[42]]=function(_0x7d50x6,_0x7d50x7){VoiceContext[_0xe87f[46]](_0x7d50x6[_0xe87f[45]][_0xe87f[44]])[_0xe87f[40]](function(_0x7d50x16){if(!_0x7d50x16){return _0x7d50x7[_0xe87f[43]](404)};return _0x7d50x7[_0xe87f[28]](_0x7d50x16);})[_0xe87f[30]](function(_0x7d50x11){return handleError(_0x7d50x7,_0x7d50x11)})};exports[_0xe87f[47]]=function(_0x7d50x6,_0x7d50x7){console[_0xe87f[49]](_0x7d50x6[_0xe87f[48]]);VoiceContext[_0xe87f[50]]({where:{name:_0x7d50x6[_0xe87f[48]][_0xe87f[8]]}})[_0xe87f[40]](function(_0x7d50x17){if(!_0x7d50x17){return _0x7d50x7[_0xe87f[43]](404)};return _0x7d50x7[_0xe87f[28]](_0x7d50x17);})[_0xe87f[30]](function(_0x7d50x11){return handleError(_0x7d50x7,_0x7d50x11)});};exports[_0xe87f[51]]=function(_0x7d50x6,_0x7d50x7){VoiceContext[_0xe87f[50]]({where:{name:_0x7d50x6[_0xe87f[48]][_0xe87f[8]]}})[_0xe87f[40]](function(_0x7d50x18){console[_0xe87f[49]](_0x7d50x18);console[_0xe87f[49]](_0xe87f[52]);if(!_0x7d50x18){return _0x7d50x7[_0xe87f[43]](404)};if(_0x7d50x18[_0xe87f[53]]>0){return _0x7d50x7[_0xe87f[29]](500)[_0xe87f[28]]({message:_0xe87f[54]})};VoiceContext[_0xe87f[51]](_0x7d50x6[_0xe87f[48]])[_0xe87f[40]](function(_0x7d50x16){return _0x7d50x7[_0xe87f[29]](201)[_0xe87f[28]](_0x7d50x16)})[_0xe87f[30]](function(_0x7d50x11){return handleError(_0x7d50x7,_0x7d50x11)});})[_0xe87f[30]](function(_0x7d50x11){return handleError(_0x7d50x7,_0x7d50x11)})};exports[_0xe87f[55]]=function(_0x7d50x6,_0x7d50x7){VoiceContext[_0xe87f[50]]({where:{name:_0x7d50x6[_0xe87f[48]][_0xe87f[8]],id:{$ne:_0x7d50x6[_0xe87f[48]][_0xe87f[44]]}}})[_0xe87f[40]](function(_0x7d50x18){console[_0xe87f[49]](_0x7d50x18);console[_0xe87f[49]](_0xe87f[52]);if(!_0x7d50x18){return _0x7d50x7[_0xe87f[43]](404)};if(_0x7d50x18[_0xe87f[53]]>0){return _0x7d50x7[_0xe87f[29]](500)[_0xe87f[28]]({message:_0xe87f[54]})};if(_0x7d50x6[_0xe87f[48]][_0xe87f[44]]){delete _0x7d50x6[_0xe87f[48]][_0xe87f[44]]};VoiceContext[_0xe87f[46]](_0x7d50x6[_0xe87f[45]][_0xe87f[44]])[_0xe87f[40]](function(_0x7d50x16){if(!_0x7d50x16){return _0x7d50x7[_0xe87f[43]](404)};var _0x7d50x19=_[_0xe87f[56]](_0x7d50x16,_0x7d50x6[_0xe87f[48]]);_0x7d50x19[_0xe87f[57]]()[_0xe87f[40]](function(){return _0x7d50x7[_0xe87f[29]](200)[_0xe87f[28]](_0x7d50x16)})[_0xe87f[30]](function(_0x7d50x11){return handleError(_0x7d50x7,_0x7d50x11)});})[_0xe87f[30]](function(_0x7d50x11){return handleError(_0x7d50x7,_0x7d50x11)});})[_0xe87f[30]](function(_0x7d50x11){return handleError(_0x7d50x7,_0x7d50x11)})};exports[_0xe87f[58]]=function(_0x7d50x6,_0x7d50x7){VoiceContext[_0xe87f[46]](_0x7d50x6[_0xe87f[45]][_0xe87f[44]])[_0xe87f[40]](function(_0x7d50x16){if(!_0x7d50x16){return _0x7d50x7[_0xe87f[43]](404)};VoiceExtension[_0xe87f[50]]({where:{context:_0x7d50x16[_0xe87f[8]]}})[_0xe87f[40]](function(_0x7d50x1a){if(_0x7d50x1a[_0xe87f[53]]>0){return _0x7d50x7[_0xe87f[29]](500)[_0xe87f[28]]({message:_0xe87f[59]})};_0x7d50x16[_0xe87f[58]]()[_0xe87f[40]](function(){return _0x7d50x7[_0xe87f[43]](204)})[_0xe87f[30]](function(_0x7d50x11){return handleError(_0x7d50x7,_0x7d50x11)});})[_0xe87f[30]](function(_0x7d50x11){return handleError(_0x7d50x7,_0x7d50x11)});})[_0xe87f[30]](function(_0x7d50x11){return handleError(_0x7d50x7,_0x7d50x11)})};exports[_0xe87f[60]]=function(_0x7d50x6,_0x7d50x7){VoiceContext[_0xe87f[50]]({where:{id:_0x7d50x6[_0xe87f[11]][_0xe87f[44]]}})[_0xe87f[40]](function(_0x7d50x17){if(!_0x7d50x17){return _0x7d50x7[_0xe87f[43]](404)};var _0x7d50x1b=_[_0xe87f[62]](_[_0xe87f[62]](_0x7d50x17,_0xe87f[61]),_0xe87f[8]);VoiceExtension[_0xe87f[50]]({where:{context:_0x7d50x1b}})[_0xe87f[40]](function(_0x7d50x1a){if(_0x7d50x1a[_0xe87f[53]]>0){return _0x7d50x7[_0xe87f[29]](500)[_0xe87f[28]]({message:_0xe87f[59]})};VoiceContext[_0xe87f[58]]({where:{id:_0x7d50x6[_0xe87f[11]][_0xe87f[44]]},individualHooks:true})[_0xe87f[40]](function(){return _0x7d50x7[_0xe87f[43]](204)})[_0xe87f[30]](function(_0x7d50x11){return handleError(_0x7d50x7,_0x7d50x11)});})[_0xe87f[30]](function(_0x7d50x11){return handleError(_0x7d50x7,_0x7d50x11)});})[_0xe87f[30]](function(_0x7d50x11){return handleError(_0x7d50x7,_0x7d50x11)})};function handleError(_0x7d50x7,_0x7d50x11){return _0x7d50x7[_0xe87f[29]](500)[_0xe87f[28]](_0x7d50x11)}
\ No newline at end of file
index 639fee8b917befc013dc54c31802e24efcccccb4..91d7ece9d5fb6194bc72c5a852ad8aaa4d5bb8bb 100644 (file)
@@ -1 +1 @@
-var _0x10e7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x56\x6F\x69\x63\x65\x43\x6F\x6E\x74\x65\x78\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x76\x6F\x69\x63\x65\x5F\x63\x6F\x6E\x74\x65\x78\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x76\x6F\x69\x63\x65\x5F\x63\x6F\x6E\x74\x65\x78\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0x10e7[0];var VoiceContext=require(_0x10e7[2])[_0x10e7[1]];exports[_0x10e7[3]]=function(_0xa38ax2){VoiceContext[_0x10e7[4]](function(_0xa38ax3){onSave(_0xa38ax2,_0xa38ax3)});VoiceContext[_0x10e7[5]](function(_0xa38ax3){onRemove(_0xa38ax2,_0xa38ax3)});};function onSave(_0xa38ax2,_0xa38ax3,_0xa38ax5){_0xa38ax2[_0x10e7[7]](_0x10e7[6],_0xa38ax3)}function onRemove(_0xa38ax2,_0xa38ax3,_0xa38ax5){_0xa38ax2[_0x10e7[7]](_0x10e7[8],_0xa38ax3)}
\ No newline at end of file
+var _0x9410=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x56\x6F\x69\x63\x65\x43\x6F\x6E\x74\x65\x78\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x76\x6F\x69\x63\x65\x5F\x63\x6F\x6E\x74\x65\x78\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x76\x6F\x69\x63\x65\x5F\x63\x6F\x6E\x74\x65\x78\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0x9410[0];var VoiceContext=require(_0x9410[2])[_0x9410[1]];exports[_0x9410[3]]=function(_0xe32fx2){VoiceContext[_0x9410[4]](function(_0xe32fx3){onSave(_0xe32fx2,_0xe32fx3)});VoiceContext[_0x9410[5]](function(_0xe32fx3){onRemove(_0xe32fx2,_0xe32fx3)});};function onSave(_0xe32fx2,_0xe32fx3,_0xe32fx5){_0xe32fx2[_0x9410[7]](_0x9410[6],_0xe32fx3)}function onRemove(_0xe32fx2,_0xe32fx3,_0xe32fx5){_0xe32fx2[_0x9410[7]](_0x9410[8],_0xe32fx3)}
\ No newline at end of file
index fba43e59469c2a27b933fee65d847be141a0bdc2..8665cd7fd417f25426a4d2a3a13f8149936481a8 100644 (file)
@@ -1 +1 @@
-var _0x3628=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x63\x6F\x6E\x74\x65\x78\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x63\x6F\x6E\x74\x65\x78\x74\x73","\x67\x65\x74"];_0x3628[0];var should=require(_0x3628[1]);var app=require(_0x3628[2]);var request=require(_0x3628[3]);describe(_0x3628[4],function(){it(_0x3628[5],function(_0xeedfx4){request(app)[_0x3628[13]](_0x3628[12])[_0x3628[11]](200)[_0x3628[11]](_0x3628[10],/json/)[_0x3628[9]](function(_0xeedfx5,_0xeedfx6){if(_0xeedfx5){return _0xeedfx4(_0xeedfx5)};_0xeedfx6[_0x3628[8]][_0x3628[1]][_0x3628[7]][_0x3628[6]](Array);_0xeedfx4();})})});
\ No newline at end of file
+var _0x43f6=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x63\x6F\x6E\x74\x65\x78\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x63\x6F\x6E\x74\x65\x78\x74\x73","\x67\x65\x74"];_0x43f6[0];var should=require(_0x43f6[1]);var app=require(_0x43f6[2]);var request=require(_0x43f6[3]);describe(_0x43f6[4],function(){it(_0x43f6[5],function(_0x45b5x4){request(app)[_0x43f6[13]](_0x43f6[12])[_0x43f6[11]](200)[_0x43f6[11]](_0x43f6[10],/json/)[_0x43f6[9]](function(_0x45b5x5,_0x45b5x6){if(_0x45b5x5){return _0x45b5x4(_0x45b5x5)};_0x45b5x6[_0x43f6[8]][_0x43f6[1]][_0x43f6[7]][_0x43f6[6]](Array);_0x45b5x4();})})});
\ No newline at end of file
index f257ef10bbb0c03743ecae79ddd4839500190941..1ac30de692ca876533983509875d7c600ee872d1 100644 (file)
@@ -1 +1 @@
-var _0xf2dd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x76\x6F\x69\x63\x65\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x72\x6F\x75\x74\x65\x2F\x3A\x72\x6F\x75\x74\x65","\x73\x68\x6F\x77\x42\x79\x52\x6F\x75\x74\x65","\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64","\x2F\x3A\x69\x64\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x77\x41\x70\x70\x73\x42\x79\x52\x6F\x75\x74\x65","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x72\x6F\x75\x74\x65\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x70\x6F\x73\x74","\x73\x6F\x72\x74\x41\x70\x70\x73\x42\x79\x52\x6F\x75\x74\x65","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x75\x70\x64\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xf2dd[0];var express=require(_0xf2dd[1]);var controller=require(_0xf2dd[2]);var auth=require(_0xf2dd[3]);var router=express.Router();router[_0xf2dd[7]](_0xf2dd[4],auth[_0xf2dd[5]](),controller[_0xf2dd[6]]);router[_0xf2dd[7]](_0xf2dd[8],auth[_0xf2dd[5]](),controller[_0xf2dd[9]]);router[_0xf2dd[7]](_0xf2dd[10],auth[_0xf2dd[5]](),controller[_0xf2dd[11]]);router[_0xf2dd[7]](_0xf2dd[12],auth[_0xf2dd[5]](),controller[_0xf2dd[11]]);router[_0xf2dd[7]](_0xf2dd[13],auth[_0xf2dd[5]](),controller[_0xf2dd[14]]);router[_0xf2dd[17]](_0xf2dd[15],auth[_0xf2dd[5]](),controller[_0xf2dd[16]]);router[_0xf2dd[17]](_0xf2dd[13],auth[_0xf2dd[5]](),controller[_0xf2dd[18]]);router[_0xf2dd[17]](_0xf2dd[4],auth[_0xf2dd[5]](),controller[_0xf2dd[19]]);router[_0xf2dd[21]](_0xf2dd[12],auth[_0xf2dd[5]](),controller[_0xf2dd[20]]);router[_0xf2dd[21]](_0xf2dd[10],auth[_0xf2dd[5]](),controller[_0xf2dd[22]]);router[_0xf2dd[24]](_0xf2dd[4],auth[_0xf2dd[5]](),controller[_0xf2dd[23]]);router[_0xf2dd[24]](_0xf2dd[12],auth[_0xf2dd[5]](),controller[_0xf2dd[25]]);module[_0xf2dd[26]]=router;
\ No newline at end of file
+var _0x7851=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x76\x6F\x69\x63\x65\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x72\x6F\x75\x74\x65\x2F\x3A\x72\x6F\x75\x74\x65","\x73\x68\x6F\x77\x42\x79\x52\x6F\x75\x74\x65","\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64","\x2F\x3A\x69\x64\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x77\x41\x70\x70\x73\x42\x79\x52\x6F\x75\x74\x65","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x72\x6F\x75\x74\x65\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x70\x6F\x73\x74","\x73\x6F\x72\x74\x41\x70\x70\x73\x42\x79\x52\x6F\x75\x74\x65","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x75\x70\x64\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x7851[0];var express=require(_0x7851[1]);var controller=require(_0x7851[2]);var auth=require(_0x7851[3]);var router=express.Router();router[_0x7851[7]](_0x7851[4],auth[_0x7851[5]](),controller[_0x7851[6]]);router[_0x7851[7]](_0x7851[8],auth[_0x7851[5]](),controller[_0x7851[9]]);router[_0x7851[7]](_0x7851[10],auth[_0x7851[5]](),controller[_0x7851[11]]);router[_0x7851[7]](_0x7851[12],auth[_0x7851[5]](),controller[_0x7851[11]]);router[_0x7851[7]](_0x7851[13],auth[_0x7851[5]](),controller[_0x7851[14]]);router[_0x7851[17]](_0x7851[15],auth[_0x7851[5]](),controller[_0x7851[16]]);router[_0x7851[17]](_0x7851[13],auth[_0x7851[5]](),controller[_0x7851[18]]);router[_0x7851[17]](_0x7851[4],auth[_0x7851[5]](),controller[_0x7851[19]]);router[_0x7851[21]](_0x7851[12],auth[_0x7851[5]](),controller[_0x7851[20]]);router[_0x7851[21]](_0x7851[10],auth[_0x7851[5]](),controller[_0x7851[22]]);router[_0x7851[24]](_0x7851[4],auth[_0x7851[5]](),controller[_0x7851[23]]);router[_0x7851[24]](_0x7851[12],auth[_0x7851[5]](),controller[_0x7851[25]]);module[_0x7851[26]]=router;
\ No newline at end of file
index 243b2d80f396c31385e597cb3cb90c3b73d62dcf..928a28f42f8ffccded18ad144580ee553ba568bf 100644 (file)
@@ -1 +1 @@
-var _0x7d5b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x53\x65\x71\x75\x65\x6C\x69\x7A\x65","\x75\x74\x69\x6C","\x61\x73\x79\x6E\x63","\x47\x6F\x74\x6F\x49\x66\x54\x69\x6D\x65","\x25\x73\x3F\x25\x73\x2C\x24\x7B\x45\x58\x54\x45\x4E\x7D\x2C\x25\x73\x3A\x25\x73\x2C\x24\x7B\x45\x58\x54\x45\x4E\x7D\x2C\x25\x73","\x53\x65\x74","\x43\x41\x4C\x4C\x45\x52\x49\x44\x28\x61\x6C\x6C\x29\x3D\x25\x73","\x44\x69\x61\x6C","\x25\x73\x2C\x25\x73\x2C\x25\x73\x2C\x25\x73","\x4E\x6F\x4F\x70","\x44\x69\x61\x6C\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x41\x6E\x73\x77\x65\x72","","\x51\x75\x65\x75\x65","\x25\x73\x2C\x25\x73\x2C\x25\x73\x2C\x25\x73\x2C\x25\x73","\x51\x75\x65\x75\x65\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x50\x6C\x61\x79\x62\x61\x63\x6B","\x25\x73\x2C\x25\x73","\x50\x6C\x61\x79\x62\x61\x63\x6B\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x41\x47\x49","\x61\x67\x69\x3A\x2F\x2F\x31\x32\x37\x2E\x30\x2E\x30\x2E\x31\x2F\x73\x71\x75\x61\x72\x65\x2C\x25\x73","\x41\x47\x49\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x47\x6F\x74\x6F","\x25\x73\x2C\x25\x73\x2C\x25\x64","\x47\x6F\x74\x6F\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x48\x61\x6E\x67\x75\x70","\x25\x73","\x48\x61\x6E\x67\x75\x70\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x25\x73\x3D\x25\x73","\x53\x65\x74\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x63\x75\x73\x74\x6F\x6D","\x43\x75\x73\x74\x6F\x6D\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x56\x6F\x69\x63\x65\x6D\x61\x69\x6C","\x56\x6F\x69\x63\x65\x6D\x61\x69\x6C\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77\x42\x79\x52\x6F\x75\x74\x65","\x63\x6F\x6E\x74\x65\x78\x74","\x65\x78\x74\x65\x6E","\x61\x70\x70","\x61\x70\x70\x64\x61\x74\x61","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x72\x6F\x75\x74\x65","\x70\x61\x72\x61\x6D\x73","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77\x41\x70\x70\x73\x42\x79\x52\x6F\x75\x74\x65","\x69\x64","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x72\x6F\x75\x74\x65\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x62\x6F\x64\x79","\x74\x79\x70\x65","\x73\x6F\x72\x74\x41\x70\x70\x73\x42\x79\x52\x6F\x75\x74\x65","\x61\x70\x70\x47\x72\x6F\x75\x70","\x69\x73\x41\x70\x70","\x66\x69\x6E\x64","\x63\x6C\x6F\x6E\x65\x44\x65\x65\x70","\x63\x75\x73\x74\x6F\x6D\x41\x70\x70","\x25\x73\x25\x73\x25\x73","\x69\x6E\x74\x65\x72\x76\x61\x6C","\x2A\x2C\x2A\x2C\x2A\x2C\x2A","\x69\x73\x49\x6E\x74\x65\x72\x76\x61\x6C","\x66\x69\x6C\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x73\x70\x6C\x69\x63\x65","\x47\x6F\x74\x6F\x49\x66\x54\x69\x6D\x65\x46\x72\x6F\x6D\x41\x72\x72\x61\x79","\x3F\x25\x73\x2C\x24\x7B\x45\x58\x54\x45\x4E\x7D\x2C\x25\x73\x3A\x25\x73\x2C\x24\x7B\x45\x58\x54\x45\x4E\x7D\x2C\x25\x73","\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64","\x75\x6E\x73\x68\x69\x66\x74","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x64\x65\x73\x74\x72\x6F\x79","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x63\x72\x65\x61\x74\x65","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x49\x64","\x70\x72\x69\x6F\x72\x69\x74\x79","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x70\x6C\x75\x63\x6B","\x68\x61\x6E\x64\x6C\x65\x45\x72\x72\x6F\x72","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x52\x4F\x55\x54\x45","\x6D\x61\x78","\x63\x61\x6C\x6C\x65\x72\x49\x44","\x72\x65\x6D\x6F\x76\x65","\x6F\x75\x74\x62\x6F\x75\x6E\x64","\x74\x72\x75\x6E\x6B","\x54\x72\x75\x6E\x6B\x49\x64","\x63\x75\x74\x64\x69\x67\x69\x74\x73","\x69\x6E\x74\x65\x72\x66\x61\x63\x65","\x61\x70\x70\x5F\x6F\x70\x74\x69\x6F\x6E\x73","\x74\x69\x6D\x65\x6F\x75\x74","\x75\x72\x6C","\x2C","\x72\x65\x70\x6C\x61\x63\x65","\x4F\x75\x74\x62\x6F\x75\x6E\x64\x20\x44\x69\x61\x6C\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x61\x75\x64\x69\x6F\x66\x69\x6C\x65","\x71\x75\x65\x75\x65","\x70\x72\x6F\x6A\x65\x63\x74","\x61\x6C\x74\x5F\x70\x72\x69\x6F\x72\x69\x74\x79","\x61\x6C\x74\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x61\x6C\x74\x5F\x63\x6F\x6E\x74\x65\x78\x74","\x63\x61\x75\x73\x65\x63\x6F\x64\x65","\x76\x61\x72\x69\x61\x62\x6C\x65","\x76\x61\x6C\x75\x65","\x6D\x61\x69\x6C\x62\x6F\x78","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0x7d5b[0];var _=require(_0x7d5b[1]);var VoiceExtension=require(_0x7d5b[3])[_0x7d5b[2]];var Interval=require(_0x7d5b[3])[_0x7d5b[4]];var sequelize=require(_0x7d5b[3])[_0x7d5b[5]];var Sequelize=require(_0x7d5b[3])[_0x7d5b[6]];var util=require(_0x7d5b[7]);var async=require(_0x7d5b[8]);var Applications={Dial:[{app:_0x7d5b[9],appdata:_0x7d5b[10]},{app:_0x7d5b[11],appdata:_0x7d5b[12]},{app:_0x7d5b[13],appdata:_0x7d5b[14],isApp:true},{app:_0x7d5b[15],appdata:_0x7d5b[16]}],Queue:[{app:_0x7d5b[9],appdata:_0x7d5b[10]},{app:_0x7d5b[17],appdata:_0x7d5b[18]},{app:_0x7d5b[19],appdata:_0x7d5b[20],isApp:true},{app:_0x7d5b[15],appdata:_0x7d5b[21]}],Playback:[{app:_0x7d5b[9],appdata:_0x7d5b[10]},{app:_0x7d5b[22],appdata:_0x7d5b[23],isApp:true},{app:_0x7d5b[15],appdata:_0x7d5b[24]}],AGI:[{app:_0x7d5b[9],appdata:_0x7d5b[10]},{app:_0x7d5b[25],appdata:_0x7d5b[26],isApp:true},{app:_0x7d5b[15],appdata:_0x7d5b[27]}],Goto:[{app:_0x7d5b[9],appdata:_0x7d5b[10]},{app:_0x7d5b[28],appdata:_0x7d5b[29],isApp:true},{app:_0x7d5b[15],appdata:_0x7d5b[30]}],Hangup:[{app:_0x7d5b[9],appdata:_0x7d5b[10]},{app:_0x7d5b[31],appdata:_0x7d5b[32],isApp:true},{app:_0x7d5b[15],appdata:_0x7d5b[33]}],Set:[{app:_0x7d5b[9],appdata:_0x7d5b[10]},{app:_0x7d5b[11],appdata:_0x7d5b[34],isApp:true},{app:_0x7d5b[15],appdata:_0x7d5b[35]}],custom:[{app:_0x7d5b[9],appdata:_0x7d5b[10]},{app:_0x7d5b[36],appdata:_0x7d5b[32],isApp:true},{app:_0x7d5b[15],appdata:_0x7d5b[37]}],Voicemail:[{app:_0x7d5b[9],appdata:_0x7d5b[10]},{app:_0x7d5b[38],appdata:_0x7d5b[32],isApp:true},{app:_0x7d5b[15],appdata:_0x7d5b[39]}]};exports[_0x7d5b[40]]=function(_0xb7a0x9,_0xb7a0xa){VoiceExtension[_0x7d5b[45]]()[_0x7d5b[44]](function(_0xb7a0xc){return _0xb7a0xa[_0x7d5b[43]](200)[_0x7d5b[42]](_0xb7a0xc)})[_0x7d5b[41]](function(_0xb7a0xb){return handleError(_0xb7a0xa,_0xb7a0xb)})};exports[_0x7d5b[46]]=function(_0xb7a0x9,_0xb7a0xa,_0xb7a0xd){var _0xb7a0xe=[_0x7d5b[47],_0x7d5b[48],_0x7d5b[49],_0x7d5b[50]];var _0xb7a0xf=_0xb7a0x9[_0x7d5b[52]][_0x7d5b[51]]?parseInt(_0xb7a0x9[_0x7d5b[52]][_0x7d5b[51]],10):100;var _0xb7a0x10=_0xb7a0x9[_0x7d5b[52]][_0x7d5b[53]]?parseInt(_0xb7a0x9[_0x7d5b[52]][_0x7d5b[53]],10):0;var _0xb7a0x11={where:{type:_0xb7a0x9[_0x7d5b[55]][_0x7d5b[54]],VoiceExtensionId:null,app:_0x7d5b[15]},limit:_0xb7a0xf,offset:_0xb7a0x10*_0xb7a0xf};_[_0x7d5b[69]](_0xb7a0x9[_0x7d5b[52]],function(_0xb7a0x12,_0xb7a0x13){switch(_0xb7a0x13){case _0x7d5b[51]:;case _0x7d5b[53]:break ;;case _0x7d5b[58]:_0xb7a0x11[_0x7d5b[56]]=util[_0x7d5b[61]](_0x7d5b[57],_0xb7a0x9[_0x7d5b[52]][_0x7d5b[58]],_0xb7a0x9[_0x7d5b[52]][_0x7d5b[59]]||_0x7d5b[60])||null;break ;;case _0x7d5b[59]:break ;;case _0x7d5b[67]:_0xb7a0x11[_0x7d5b[63]][_0x7d5b[62]]=[];_0xb7a0xe[_0x7d5b[66]](function(_0xb7a0x14){var _0xb7a0x15={};_0xb7a0x15[_0xb7a0x14]={$like:_0x7d5b[64]+_0xb7a0x12+_0x7d5b[64]};_0xb7a0x11[_0x7d5b[63]][_0x7d5b[62]][_0x7d5b[65]](_0xb7a0x15);});break ;;default:_0xb7a0x11[_0x7d5b[63]][_0xb7a0x13]={$like:{}};_0xb7a0x11[_0x7d5b[63]][_0xb7a0x13][_0x7d5b[68]]=_0x7d5b[64]+_0xb7a0x12+_0x7d5b[64];;}});VoiceExtension[_0x7d5b[80]](_0xb7a0x11)[_0x7d5b[44]](function(_0xb7a0x16){var _0xb7a0x17=Math[_0x7d5b[72]](_0xb7a0x16[_0x7d5b[71]]/_0xb7a0xf);var _0xb7a0x18=_0xb7a0x17>(_0xb7a0x11[_0x7d5b[73]]+1)?util[_0x7d5b[61]](_0x7d5b[74],_0xb7a0x9[_0x7d5b[75]],_0xb7a0x9[_0x7d5b[77]][_0x7d5b[76]],_0xb7a0x9[_0x7d5b[78]],_0xb7a0x10+1):null;var _0xb7a0x19=_0xb7a0x10>0?util[_0x7d5b[61]](_0x7d5b[74],_0xb7a0x9[_0x7d5b[75]],_0xb7a0x9[_0x7d5b[77]][_0x7d5b[76]],_0xb7a0x9[_0x7d5b[78]],_0xb7a0x10-1):null;_0xb7a0xa[_0x7d5b[43]](200)[_0x7d5b[42]]({count:_0xb7a0x16[_0x7d5b[71]],rows:_0xb7a0x16[_0x7d5b[79]],next_page:_0xb7a0x18,previous_page:_0xb7a0x19,total_pages:_0xb7a0x17});})[_0x7d5b[41]](function(_0xb7a0xb){_0xb7a0xa[_0x7d5b[43]](500)[_0x7d5b[42]]({error:_0x7d5b[70]})});};exports[_0x7d5b[81]]=function(_0xb7a0x9,_0xb7a0xa){VoiceExtension[_0x7d5b[45]]({where:{VoiceExtensionId:_0xb7a0x9[_0x7d5b[55]][_0x7d5b[82]],isApp:true}})[_0x7d5b[44]](function(_0xb7a0xc){return _0xb7a0xa[_0x7d5b[43]](200)[_0x7d5b[42]](_0xb7a0xc)})[_0x7d5b[41]](function(_0xb7a0xb){return handleError(_0xb7a0xa,_0xb7a0xb)})};exports[_0x7d5b[83]]=function(_0xb7a0x9,_0xb7a0xa){VoiceExtension[_0x7d5b[85]](_0xb7a0x9[_0x7d5b[55]][_0x7d5b[82]])[_0x7d5b[44]](function(_0xb7a0x1a){if(!_0xb7a0x1a){return _0xb7a0xa[_0x7d5b[84]](404)};return _0xb7a0xa[_0x7d5b[42]](_0xb7a0x1a);})[_0x7d5b[41]](function(_0xb7a0xb){return handleError(_0xb7a0xa,_0xb7a0xb)})};exports[_0x7d5b[86]]=function(_0xb7a0x9,_0xb7a0xa){VoiceExtension[_0x7d5b[45]]({where:{exten:_0xb7a0x9[_0x7d5b[87]][_0x7d5b[48]],context:_0xb7a0x9[_0x7d5b[87]][_0x7d5b[47]],type:_0xb7a0x9[_0x7d5b[87]][_0x7d5b[88]]}})[_0x7d5b[44]](function(_0xb7a0x1a){if(!_0xb7a0x1a){return _0xb7a0xa[_0x7d5b[84]](404)};return _0xb7a0xa[_0x7d5b[42]](_0xb7a0x1a);})[_0x7d5b[41]](function(_0xb7a0xb){return handleError(_0xb7a0xa,_0xb7a0xb)})};exports[_0x7d5b[89]]=function(_0xb7a0x9,_0xb7a0xa,_0xb7a0xd){VoiceExtension[_0x7d5b[45]]({where:{appGroup:_0xb7a0x9[_0x7d5b[87]][_0x7d5b[107]]}})[_0x7d5b[44]](function(_0xb7a0x1b){return sequelize[_0x7d5b[109]](function(_0xb7a0x1c){return VoiceExtension[_0x7d5b[108]]({where:{appGroup:_0xb7a0x9[_0x7d5b[87]][_0x7d5b[107]]}},{transaction:_0xb7a0x1c})[_0x7d5b[44]](function(){var _0xb7a0x1d=2;_0xb7a0x9[_0x7d5b[87]][_0x7d5b[107]][_0x7d5b[66]](function(_0xb7a0x1e){var _0xb7a0x1f=_[_0x7d5b[92]](_0xb7a0x1b,function(_0xb7a0x20){return (_0xb7a0x20[_0x7d5b[90]]==_0xb7a0x1e&&_0xb7a0x20[_0x7d5b[91]]===true)});var _0xb7a0x21=_[_0x7d5b[93]](Applications[_0xb7a0x1f[_0x7d5b[49]]]);if(!_0xb7a0x21||_0xb7a0x1f[_0x7d5b[94]]){_0xb7a0x21=[{app:_0x7d5b[9],appdata:_0x7d5b[10]},{app:_0x7d5b[36],appdata:_0x7d5b[32],isApp:true},{app:_0x7d5b[15],appdata:_0x7d5b[37]}]};var _0xb7a0x22=util[_0x7d5b[61]](_0x7d5b[95],_0xb7a0x1f[_0x7d5b[47]],_0xb7a0x1f[_0x7d5b[48]],_0xb7a0x1d);_0xb7a0x1f[_0x7d5b[96]]=_0xb7a0x1f[_0x7d5b[96]]||_0x7d5b[97];var _0xb7a0x23=_[_0x7d5b[99]](_0xb7a0x1b,function(_0xb7a0x20){return (_0xb7a0x20[_0x7d5b[90]]==_0xb7a0x1e&&_0xb7a0x20[_0x7d5b[98]]===true)});if(_0xb7a0x23&&_0xb7a0x23[_0x7d5b[100]]>0){_0xb7a0x21[_0x7d5b[101]](0,1);_0xb7a0x23[_0x7d5b[66]](function(_0xb7a0x20,_0xb7a0x24){_0xb7a0x21[_0x7d5b[105]]({app:_0x7d5b[102],appdata:_0xb7a0x20[_0x7d5b[96]]+_0x7d5b[103],IntervalId:_0xb7a0x20[_0x7d5b[104]]?_0xb7a0x20[_0x7d5b[104]]:null,isInterval:true,interval:_0xb7a0x20[_0x7d5b[96]]})});};_0xb7a0x1d=appCreate(_0xb7a0x21,_0xb7a0x1f,_0xb7a0x22,_0xb7a0x23||[],_0xb7a0x1d);return VoiceExtension[_0x7d5b[106]](_0xb7a0x21,{transaction:_0xb7a0x1c});});})})[_0x7d5b[44]](function(){return _0xb7a0xa[_0x7d5b[84]](201)})[_0x7d5b[41]](function(_0xb7a0xb){return handleError(_0xb7a0xa,_0xb7a0xb)})})[_0x7d5b[41]](function(_0xb7a0xb){return _0xb7a0xd(_0xb7a0xb)})};exports[_0x7d5b[110]]=function(_0xb7a0x9,_0xb7a0xa,_0xb7a0xd){var _0xb7a0x21;var _0xb7a0x22;var _0xb7a0x25;VoiceExtension[_0x7d5b[117]](_0x7d5b[112],{where:{VoiceExtensionId:_0xb7a0x9[_0x7d5b[87]][_0x7d5b[111]]}})[_0x7d5b[44]](function(_0xb7a0x26){if(_0xb7a0x9[_0x7d5b[87]][_0x7d5b[111]]){_0xb7a0x9[_0x7d5b[87]][_0x7d5b[112]]=_0xb7a0x26?++_0xb7a0x26:2;_0xb7a0x21=_[_0x7d5b[93]](Applications[_0xb7a0x9[_0x7d5b[87]][_0x7d5b[49]]]);if(!_0xb7a0x21||_0xb7a0x9[_0x7d5b[87]][_0x7d5b[94]]){_0xb7a0x21=[{app:_0x7d5b[9],appdata:_0x7d5b[10]},{app:_0x7d5b[36],appdata:_0x7d5b[32],isApp:true},{app:_0x7d5b[15],appdata:_0x7d5b[37]}]};_0xb7a0x22=util[_0x7d5b[61]](_0x7d5b[95],_0xb7a0x9[_0x7d5b[87]][_0x7d5b[47]],_0xb7a0x9[_0x7d5b[87]][_0x7d5b[48]],_0xb7a0x9[_0x7d5b[87]][_0x7d5b[112]]);_0xb7a0x9[_0x7d5b[87]][_0x7d5b[96]]=_0xb7a0x9[_0x7d5b[87]][_0x7d5b[96]]||_0x7d5b[97];Interval[_0x7d5b[45]]({where:{IntervalId:(_0xb7a0x9[_0x7d5b[87]][_0x7d5b[104]]!==null)?_0xb7a0x9[_0x7d5b[87]][_0x7d5b[104]]:0}})[_0x7d5b[44]](function(_0xb7a0x27){var _0xb7a0x28=[];var _0xb7a0x29;if(_0xb7a0x27&&_0xb7a0x27[_0x7d5b[100]]>0){_0xb7a0x21[_0x7d5b[101]](0,1);_0xb7a0x28=_[_0x7d5b[114]](_0xb7a0x27,_0x7d5b[113]);_0xb7a0x28[_0x7d5b[66]](function(_0xb7a0x20,_0xb7a0x24){_0xb7a0x21[_0x7d5b[105]]({app:_0x7d5b[102],appdata:_0xb7a0x20[_0x7d5b[96]]+_0x7d5b[103],IntervalId:_0xb7a0x20[_0x7d5b[82]],interval:_0xb7a0x29,isInterval:true})});};appCreate(_0xb7a0x21,_0xb7a0x9[_0x7d5b[87]],_0xb7a0x22,_0xb7a0x28);VoiceExtension[_0x7d5b[106]](_0xb7a0x21)[_0x7d5b[44]](function(_0xb7a0x2a){return _0xb7a0xa[_0x7d5b[43]](201)[_0x7d5b[42]](_0xb7a0x2a)});});}else {VoiceExtension[_0x7d5b[45]]({where:{exten:_0xb7a0x9[_0x7d5b[87]][_0x7d5b[48]],context:_0xb7a0x9[_0x7d5b[87]][_0x7d5b[47]],type:_0xb7a0x9[_0x7d5b[87]][_0x7d5b[88]]}})[_0x7d5b[44]](function(_0xb7a0x2b){if(!_0xb7a0x2b){return _0xb7a0xa[_0x7d5b[84]](404)};if(_0xb7a0x2b[_0x7d5b[100]]>0){return _0xb7a0xa[_0x7d5b[43]](500)[_0x7d5b[42]]({message:_0x7d5b[116]})};_0xb7a0x9[_0x7d5b[87]][_0x7d5b[112]]=1;VoiceExtension[_0x7d5b[110]](_0xb7a0x9[_0x7d5b[87]])[_0x7d5b[44]](function(_0xb7a0x2a){return _0xb7a0xa[_0x7d5b[43]](201)[_0x7d5b[42]](_0xb7a0x2a)})[_0x7d5b[41]](function(_0xb7a0xb){return _0xb7a0xa[_0x7d5b[115]](_0xb7a0xb)});})[_0x7d5b[41]](function(_0xb7a0xb){return _0xb7a0xa[_0x7d5b[115]](_0xb7a0xb)})}})[_0x7d5b[41]](function(_0xb7a0xb){_0xb7a0xd(_0xb7a0xb)});};function appCreate(_0xb7a0x21,_0xb7a0x2d,_0xb7a0x22,_0xb7a0x28,_0xb7a0x1d){var _0xb7a0x2e=_0xb7a0x28[_0x7d5b[100]];if(_0xb7a0x2d[_0x7d5b[94]]){_0xb7a0x2d[_0x7d5b[49]]=_0x7d5b[36]};switch(_0xb7a0x2d[_0x7d5b[49]]){case _0x7d5b[13]:if(!_0xb7a0x2d[_0x7d5b[118]]){_[_0x7d5b[119]](_0xb7a0x21,{app:_0x7d5b[11]})};_0xb7a0x21[_0x7d5b[66]](function(_0xb7a0x20,_0xb7a0x24){_0xb7a0x20[_0x7d5b[48]]=_0xb7a0x2d[_0x7d5b[48]];_0xb7a0x20[_0x7d5b[88]]=_0xb7a0x2d[_0x7d5b[88]];_0xb7a0x20[_0x7d5b[47]]=_0xb7a0x2d[_0x7d5b[47]];_0xb7a0x20[_0x7d5b[111]]=_0xb7a0x2d[_0x7d5b[111]];_0xb7a0x20[_0x7d5b[112]]=_0xb7a0x1d?_0xb7a0x1d++:_0xb7a0x2d[_0x7d5b[112]]++;_0xb7a0x20[_0x7d5b[90]]=_0xb7a0x22;switch(_0xb7a0x20[_0x7d5b[49]]){case _0x7d5b[9]:_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x2d[_0x7d5b[104]]?_0x7d5b[97]:_0xb7a0x2d[_0x7d5b[96]],_0xb7a0x20[_0x7d5b[47]],_0xb7a0x20[_0x7d5b[112]]+1,_0xb7a0x20[_0x7d5b[47]],(_0xb7a0x20[_0x7d5b[112]]+2));break ;;case _0x7d5b[102]:_0xb7a0x20[_0x7d5b[49]]=_0x7d5b[9];_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x20[_0x7d5b[47]],_0xb7a0x20[_0x7d5b[112]]+_0xb7a0x2e-_0xb7a0x24,_0xb7a0x20[_0x7d5b[47]],(_0xb7a0x24+1)<_0xb7a0x2e?(_0xb7a0x20[_0x7d5b[112]]+1):(_0xb7a0x20[_0x7d5b[112]]+2));break ;;case _0x7d5b[13]:if(_0xb7a0x2d[_0x7d5b[88]]===_0x7d5b[120]){_0xb7a0x20[_0x7d5b[104]]=_0xb7a0x2d[_0x7d5b[104]];_0xb7a0x20[_0x7d5b[96]]=_0xb7a0x2d[_0x7d5b[96]];_0xb7a0x20[_0x7d5b[121]]=_0xb7a0x2d[_0x7d5b[121]];_0xb7a0x20[_0x7d5b[122]]=_0xb7a0x2d[_0x7d5b[122]];_0xb7a0x20[_0x7d5b[123]]=_0xb7a0x2d[_0x7d5b[123]]||0;_0xb7a0x20[_0x7d5b[118]]=_0xb7a0x2d[_0x7d5b[118]]||null;}else {_0xb7a0x20[_0x7d5b[104]]=_0xb7a0x2d[_0x7d5b[104]];_0xb7a0x20[_0x7d5b[96]]=_0xb7a0x2d[_0x7d5b[96]];_0xb7a0x20[_0x7d5b[124]]=_0xb7a0x2d[_0x7d5b[124]];_0xb7a0x20[_0x7d5b[125]]=_0xb7a0x2d[_0x7d5b[125]]||_0x7d5b[18];_0xb7a0x20[_0x7d5b[126]]=_0xb7a0x2d[_0x7d5b[126]]||_0x7d5b[18];_0xb7a0x20[_0x7d5b[127]]=_0xb7a0x2d[_0x7d5b[127]]||_0x7d5b[18];_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x2d[_0x7d5b[124]],_0xb7a0x20[_0x7d5b[126]],_0xb7a0x20[_0x7d5b[125]]?_0xb7a0x20[_0x7d5b[125]][_0x7d5b[129]](_0x7d5b[128],_0x7d5b[18]):_0x7d5b[18],_0xb7a0x20[_0x7d5b[127]]);};break ;;case _0x7d5b[11]:_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x2d[_0x7d5b[118]]);break ;;case _0x7d5b[15]:if(_0xb7a0x2d[_0x7d5b[88]]===_0x7d5b[120]){_0xb7a0x20[_0x7d5b[50]]=_0x7d5b[130]};break ;;default:;};});break ;;case _0x7d5b[19]:_0xb7a0x21[_0x7d5b[66]](function(_0xb7a0x20,_0xb7a0x24){_0xb7a0x20[_0x7d5b[48]]=_0xb7a0x2d[_0x7d5b[48]];_0xb7a0x20[_0x7d5b[88]]=_0xb7a0x2d[_0x7d5b[88]];_0xb7a0x20[_0x7d5b[47]]=_0xb7a0x2d[_0x7d5b[47]];_0xb7a0x20[_0x7d5b[111]]=_0xb7a0x2d[_0x7d5b[111]];_0xb7a0x20[_0x7d5b[112]]=_0xb7a0x1d?_0xb7a0x1d++:_0xb7a0x2d[_0x7d5b[112]]++;_0xb7a0x20[_0x7d5b[90]]=_0xb7a0x22;switch(_0xb7a0x20[_0x7d5b[49]]){case _0x7d5b[9]:_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x2d[_0x7d5b[104]]?_0x7d5b[97]:_0xb7a0x2d[_0x7d5b[96]],_0xb7a0x20[_0x7d5b[47]],_0xb7a0x20[_0x7d5b[112]]+1,_0xb7a0x20[_0x7d5b[47]],(_0xb7a0x20[_0x7d5b[112]]+2));break ;;case _0x7d5b[102]:_0xb7a0x20[_0x7d5b[49]]=_0x7d5b[9];_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x20[_0x7d5b[47]],_0xb7a0x20[_0x7d5b[112]]+_0xb7a0x2e-_0xb7a0x24,_0xb7a0x20[_0x7d5b[47]],(_0xb7a0x24+1)<_0xb7a0x2e?(_0xb7a0x20[_0x7d5b[112]]+1):(_0xb7a0x20[_0x7d5b[112]]+2));break ;;case _0x7d5b[19]:_0xb7a0x20[_0x7d5b[104]]=_0xb7a0x2d[_0x7d5b[104]];_0xb7a0x20[_0x7d5b[125]]=_0xb7a0x2d[_0x7d5b[125]]||_0x7d5b[18];_0xb7a0x20[_0x7d5b[131]]=_0xb7a0x2d[_0x7d5b[131]]||_0x7d5b[18];_0xb7a0x20[_0x7d5b[132]]=_0xb7a0x2d[_0x7d5b[132]];_0xb7a0x20[_0x7d5b[96]]=_0xb7a0x2d[_0x7d5b[96]];_0xb7a0x20[_0x7d5b[124]]=_0xb7a0x2d[_0x7d5b[124]];_0xb7a0x20[_0x7d5b[125]]=_0xb7a0x2d[_0x7d5b[125]];_0xb7a0x20[_0x7d5b[126]]=_0xb7a0x2d[_0x7d5b[126]]||_0x7d5b[18];_0xb7a0x20[_0x7d5b[127]]=_0xb7a0x2d[_0x7d5b[127]]||_0x7d5b[18];_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x20[_0x7d5b[132]],_0xb7a0x20[_0x7d5b[125]]?_0xb7a0x20[_0x7d5b[125]][_0x7d5b[129]](_0x7d5b[128],_0x7d5b[18]):_0x7d5b[18],_0xb7a0x20[_0x7d5b[127]],_0xb7a0x20[_0x7d5b[131]],_0xb7a0x20[_0x7d5b[126]]);break ;;default:;};});break ;;case _0x7d5b[22]:_0xb7a0x21[_0x7d5b[66]](function(_0xb7a0x20,_0xb7a0x24){_0xb7a0x20[_0x7d5b[48]]=_0xb7a0x2d[_0x7d5b[48]];_0xb7a0x20[_0x7d5b[88]]=_0xb7a0x2d[_0x7d5b[88]];_0xb7a0x20[_0x7d5b[47]]=_0xb7a0x2d[_0x7d5b[47]];_0xb7a0x20[_0x7d5b[111]]=_0xb7a0x2d[_0x7d5b[111]];_0xb7a0x20[_0x7d5b[112]]=_0xb7a0x1d?_0xb7a0x1d++:_0xb7a0x2d[_0x7d5b[112]]++;_0xb7a0x20[_0x7d5b[90]]=_0xb7a0x22;switch(_0xb7a0x20[_0x7d5b[49]]){case _0x7d5b[9]:_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x2d[_0x7d5b[104]]?_0x7d5b[97]:_0xb7a0x2d[_0x7d5b[96]],_0xb7a0x20[_0x7d5b[47]],_0xb7a0x20[_0x7d5b[112]]+1,_0xb7a0x20[_0x7d5b[47]],(_0xb7a0x20[_0x7d5b[112]]+2));break ;;case _0x7d5b[102]:_0xb7a0x20[_0x7d5b[49]]=_0x7d5b[9];_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x20[_0x7d5b[47]],_0xb7a0x20[_0x7d5b[112]]+_0xb7a0x2e-_0xb7a0x24,_0xb7a0x20[_0x7d5b[47]],(_0xb7a0x24+1)<_0xb7a0x2e?(_0xb7a0x20[_0x7d5b[112]]+1):(_0xb7a0x20[_0x7d5b[112]]+2));break ;;case _0x7d5b[22]:_0xb7a0x20[_0x7d5b[104]]=_0xb7a0x2d[_0x7d5b[104]];_0xb7a0x20[_0x7d5b[96]]=_0xb7a0x2d[_0x7d5b[96]];_0xb7a0x20[_0x7d5b[131]]=_0xb7a0x2d[_0x7d5b[131]]||_0x7d5b[18];_0xb7a0x20[_0x7d5b[125]]=_0xb7a0x2d[_0x7d5b[125]]||_0x7d5b[18];_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x20[_0x7d5b[131]],_0xb7a0x20[_0x7d5b[125]]?_0xb7a0x20[_0x7d5b[125]][_0x7d5b[129]](_0x7d5b[128],_0x7d5b[18]):_0x7d5b[18]);break ;;default:;};});break ;;case _0x7d5b[25]:_0xb7a0x21[_0x7d5b[66]](function(_0xb7a0x20,_0xb7a0x24){_0xb7a0x20[_0x7d5b[48]]=_0xb7a0x2d[_0x7d5b[48]];_0xb7a0x20[_0x7d5b[88]]=_0xb7a0x2d[_0x7d5b[88]];_0xb7a0x20[_0x7d5b[47]]=_0xb7a0x2d[_0x7d5b[47]];_0xb7a0x20[_0x7d5b[111]]=_0xb7a0x2d[_0x7d5b[111]];_0xb7a0x20[_0x7d5b[112]]=_0xb7a0x1d?_0xb7a0x1d++:_0xb7a0x2d[_0x7d5b[112]]++;_0xb7a0x20[_0x7d5b[90]]=_0xb7a0x22;switch(_0xb7a0x20[_0x7d5b[49]]){case _0x7d5b[9]:_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x2d[_0x7d5b[104]]?_0x7d5b[97]:_0xb7a0x2d[_0x7d5b[96]],_0xb7a0x20[_0x7d5b[47]],_0xb7a0x20[_0x7d5b[112]]+1,_0xb7a0x20[_0x7d5b[47]],(_0xb7a0x20[_0x7d5b[112]]+2));break ;;case _0x7d5b[102]:_0xb7a0x20[_0x7d5b[49]]=_0x7d5b[9];_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x20[_0x7d5b[47]],_0xb7a0x20[_0x7d5b[112]]+_0xb7a0x2e-_0xb7a0x24,_0xb7a0x20[_0x7d5b[47]],(_0xb7a0x24+1)<_0xb7a0x2e?(_0xb7a0x20[_0x7d5b[112]]+1):(_0xb7a0x20[_0x7d5b[112]]+2));break ;;case _0x7d5b[25]:_0xb7a0x20[_0x7d5b[104]]=_0xb7a0x2d[_0x7d5b[104]];_0xb7a0x20[_0x7d5b[96]]=_0xb7a0x2d[_0x7d5b[96]];_0xb7a0x20[_0x7d5b[133]]=_0xb7a0x2d[_0x7d5b[133]];_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x20[_0x7d5b[133]]);break ;;default:;};});break ;;case _0x7d5b[28]:_0xb7a0x21[_0x7d5b[66]](function(_0xb7a0x20,_0xb7a0x24){_0xb7a0x20[_0x7d5b[48]]=_0xb7a0x2d[_0x7d5b[48]];_0xb7a0x20[_0x7d5b[88]]=_0xb7a0x2d[_0x7d5b[88]];_0xb7a0x20[_0x7d5b[47]]=_0xb7a0x2d[_0x7d5b[47]];_0xb7a0x20[_0x7d5b[111]]=_0xb7a0x2d[_0x7d5b[111]];_0xb7a0x20[_0x7d5b[112]]=_0xb7a0x1d?_0xb7a0x1d++:_0xb7a0x2d[_0x7d5b[112]]++;_0xb7a0x20[_0x7d5b[90]]=_0xb7a0x22;switch(_0xb7a0x20[_0x7d5b[49]]){case _0x7d5b[9]:_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x2d[_0x7d5b[104]]?_0x7d5b[97]:_0xb7a0x2d[_0x7d5b[96]],_0xb7a0x20[_0x7d5b[47]],_0xb7a0x20[_0x7d5b[112]]+1,_0xb7a0x20[_0x7d5b[47]],(_0xb7a0x20[_0x7d5b[112]]+2));break ;;case _0x7d5b[102]:_0xb7a0x20[_0x7d5b[49]]=_0x7d5b[9];_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x20[_0x7d5b[47]],_0xb7a0x20[_0x7d5b[112]]+_0xb7a0x2e-_0xb7a0x24,_0xb7a0x20[_0x7d5b[47]],(_0xb7a0x24+1)<_0xb7a0x2e?(_0xb7a0x20[_0x7d5b[112]]+1):(_0xb7a0x20[_0x7d5b[112]]+2));break ;;case _0x7d5b[28]:_0xb7a0x20[_0x7d5b[104]]=_0xb7a0x2d[_0x7d5b[104]];_0xb7a0x20[_0x7d5b[96]]=_0xb7a0x2d[_0x7d5b[96]];_0xb7a0x20[_0x7d5b[134]]=_0xb7a0x2d[_0x7d5b[134]];_0xb7a0x20[_0x7d5b[135]]=_0xb7a0x2d[_0x7d5b[135]];_0xb7a0x20[_0x7d5b[136]]=_0xb7a0x2d[_0x7d5b[136]];_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x20[_0x7d5b[136]],_0xb7a0x20[_0x7d5b[135]],_0xb7a0x20[_0x7d5b[134]]);break ;;default:;};});break ;;case _0x7d5b[31]:_0xb7a0x21[_0x7d5b[66]](function(_0xb7a0x20,_0xb7a0x24){_0xb7a0x20[_0x7d5b[48]]=_0xb7a0x2d[_0x7d5b[48]];_0xb7a0x20[_0x7d5b[88]]=_0xb7a0x2d[_0x7d5b[88]];_0xb7a0x20[_0x7d5b[47]]=_0xb7a0x2d[_0x7d5b[47]];_0xb7a0x20[_0x7d5b[111]]=_0xb7a0x2d[_0x7d5b[111]];_0xb7a0x20[_0x7d5b[112]]=_0xb7a0x1d?_0xb7a0x1d++:_0xb7a0x2d[_0x7d5b[112]]++;_0xb7a0x20[_0x7d5b[90]]=_0xb7a0x22;switch(_0xb7a0x20[_0x7d5b[49]]){case _0x7d5b[9]:_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x2d[_0x7d5b[104]]?_0x7d5b[97]:_0xb7a0x2d[_0x7d5b[96]],_0xb7a0x20[_0x7d5b[47]],_0xb7a0x20[_0x7d5b[112]]+1,_0xb7a0x20[_0x7d5b[47]],(_0xb7a0x20[_0x7d5b[112]]+2));break ;;case _0x7d5b[102]:_0xb7a0x20[_0x7d5b[49]]=_0x7d5b[9];_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x20[_0x7d5b[47]],_0xb7a0x20[_0x7d5b[112]]+_0xb7a0x2e-_0xb7a0x24,_0xb7a0x20[_0x7d5b[47]],(_0xb7a0x24+1)<_0xb7a0x2e?(_0xb7a0x20[_0x7d5b[112]]+1):(_0xb7a0x20[_0x7d5b[112]]+2));break ;;case _0x7d5b[31]:_0xb7a0x20[_0x7d5b[104]]=_0xb7a0x2d[_0x7d5b[104]];_0xb7a0x20[_0x7d5b[96]]=_0xb7a0x2d[_0x7d5b[96]];_0xb7a0x20[_0x7d5b[137]]=_0xb7a0x2d[_0x7d5b[137]];_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x20[_0x7d5b[137]]);break ;;default:;};});break ;;case _0x7d5b[11]:_0xb7a0x21[_0x7d5b[66]](function(_0xb7a0x20,_0xb7a0x24){_0xb7a0x20[_0x7d5b[48]]=_0xb7a0x2d[_0x7d5b[48]];_0xb7a0x20[_0x7d5b[88]]=_0xb7a0x2d[_0x7d5b[88]];_0xb7a0x20[_0x7d5b[47]]=_0xb7a0x2d[_0x7d5b[47]];_0xb7a0x20[_0x7d5b[111]]=_0xb7a0x2d[_0x7d5b[111]];_0xb7a0x20[_0x7d5b[112]]=_0xb7a0x1d?_0xb7a0x1d++:_0xb7a0x2d[_0x7d5b[112]]++;_0xb7a0x20[_0x7d5b[90]]=_0xb7a0x22;switch(_0xb7a0x20[_0x7d5b[49]]){case _0x7d5b[9]:_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x2d[_0x7d5b[104]]?_0x7d5b[97]:_0xb7a0x2d[_0x7d5b[96]],_0xb7a0x20[_0x7d5b[47]],_0xb7a0x20[_0x7d5b[112]]+1,_0xb7a0x20[_0x7d5b[47]],(_0xb7a0x20[_0x7d5b[112]]+2));break ;;case _0x7d5b[102]:_0xb7a0x20[_0x7d5b[49]]=_0x7d5b[9];_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x20[_0x7d5b[47]],_0xb7a0x20[_0x7d5b[112]]+_0xb7a0x2e-_0xb7a0x24,_0xb7a0x20[_0x7d5b[47]],(_0xb7a0x24+1)<_0xb7a0x2e?(_0xb7a0x20[_0x7d5b[112]]+1):(_0xb7a0x20[_0x7d5b[112]]+2));break ;;case _0x7d5b[11]:_0xb7a0x20[_0x7d5b[104]]=_0xb7a0x2d[_0x7d5b[104]];_0xb7a0x20[_0x7d5b[96]]=_0xb7a0x2d[_0x7d5b[96]];_0xb7a0x20[_0x7d5b[138]]=_0xb7a0x2d[_0x7d5b[138]];_0xb7a0x20[_0x7d5b[139]]=_0xb7a0x2d[_0x7d5b[139]];_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x20[_0x7d5b[138]],_0xb7a0x20[_0x7d5b[139]]);break ;;default:;};});break ;;case _0x7d5b[36]:_0xb7a0x21[_0x7d5b[66]](function(_0xb7a0x20,_0xb7a0x24){_0xb7a0x20[_0x7d5b[48]]=_0xb7a0x2d[_0x7d5b[48]];_0xb7a0x20[_0x7d5b[88]]=_0xb7a0x2d[_0x7d5b[88]];_0xb7a0x20[_0x7d5b[47]]=_0xb7a0x2d[_0x7d5b[47]];_0xb7a0x20[_0x7d5b[111]]=_0xb7a0x2d[_0x7d5b[111]];_0xb7a0x20[_0x7d5b[112]]=_0xb7a0x1d?_0xb7a0x1d++:_0xb7a0x2d[_0x7d5b[112]]++;_0xb7a0x20[_0x7d5b[90]]=_0xb7a0x22;switch(_0xb7a0x20[_0x7d5b[49]]){case _0x7d5b[9]:_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x2d[_0x7d5b[104]]?_0x7d5b[97]:_0xb7a0x2d[_0x7d5b[96]],_0xb7a0x20[_0x7d5b[47]],_0xb7a0x20[_0x7d5b[112]]+1,_0xb7a0x20[_0x7d5b[47]],(_0xb7a0x20[_0x7d5b[112]]+2));break ;;case _0x7d5b[102]:_0xb7a0x20[_0x7d5b[49]]=_0x7d5b[9];_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x20[_0x7d5b[47]],_0xb7a0x20[_0x7d5b[112]]+_0xb7a0x2e-_0xb7a0x24,_0xb7a0x20[_0x7d5b[47]],(_0xb7a0x24+1)<_0xb7a0x2e?(_0xb7a0x20[_0x7d5b[112]]+1):(_0xb7a0x20[_0x7d5b[112]]+2));break ;;case _0x7d5b[36]:_0xb7a0x20[_0x7d5b[104]]=_0xb7a0x2d[_0x7d5b[104]];_0xb7a0x20[_0x7d5b[96]]=_0xb7a0x2d[_0x7d5b[96]];_0xb7a0x20[_0x7d5b[49]]=_0xb7a0x20[_0x7d5b[94]]=_0xb7a0x2d[_0x7d5b[94]];_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x2d[_0x7d5b[50]]);break ;;default:;};});break ;;case _0x7d5b[38]:_0xb7a0x21[_0x7d5b[66]](function(_0xb7a0x20,_0xb7a0x24){_0xb7a0x20[_0x7d5b[48]]=_0xb7a0x2d[_0x7d5b[48]];_0xb7a0x20[_0x7d5b[88]]=_0xb7a0x2d[_0x7d5b[88]];_0xb7a0x20[_0x7d5b[47]]=_0xb7a0x2d[_0x7d5b[47]];_0xb7a0x20[_0x7d5b[111]]=_0xb7a0x2d[_0x7d5b[111]];_0xb7a0x20[_0x7d5b[112]]=_0xb7a0x1d?_0xb7a0x1d++:_0xb7a0x2d[_0x7d5b[112]]++;_0xb7a0x20[_0x7d5b[90]]=_0xb7a0x22;switch(_0xb7a0x20[_0x7d5b[49]]){case _0x7d5b[9]:_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x2d[_0x7d5b[104]]?_0x7d5b[97]:_0xb7a0x2d[_0x7d5b[96]],_0xb7a0x20[_0x7d5b[47]],_0xb7a0x20[_0x7d5b[112]]+1,_0xb7a0x20[_0x7d5b[47]],(_0xb7a0x20[_0x7d5b[112]]+2));break ;;case _0x7d5b[102]:_0xb7a0x20[_0x7d5b[49]]=_0x7d5b[9];_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x20[_0x7d5b[47]],_0xb7a0x20[_0x7d5b[112]]+_0xb7a0x2e-_0xb7a0x24,_0xb7a0x20[_0x7d5b[47]],(_0xb7a0x24+1)<_0xb7a0x2e?(_0xb7a0x20[_0x7d5b[112]]+1):(_0xb7a0x20[_0x7d5b[112]]+2));break ;;case _0x7d5b[38]:_0xb7a0x20[_0x7d5b[104]]=_0xb7a0x2d[_0x7d5b[104]];_0xb7a0x20[_0x7d5b[96]]=_0xb7a0x2d[_0x7d5b[96]];_0xb7a0x20[_0x7d5b[140]]=_0xb7a0x2d[_0x7d5b[140]];_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x20[_0x7d5b[140]]);break ;;default:;};});break ;;default:_0xb7a0x21[_0x7d5b[66]](function(_0xb7a0x20,_0xb7a0x24){_0xb7a0x20[_0x7d5b[48]]=_0xb7a0x2d[_0x7d5b[48]];_0xb7a0x20[_0x7d5b[88]]=_0xb7a0x2d[_0x7d5b[88]];_0xb7a0x20[_0x7d5b[47]]=_0xb7a0x2d[_0x7d5b[47]];_0xb7a0x20[_0x7d5b[111]]=_0xb7a0x2d[_0x7d5b[111]];_0xb7a0x20[_0x7d5b[112]]=_0xb7a0x1d?_0xb7a0x1d++:_0xb7a0x2d[_0x7d5b[112]]++;_0xb7a0x20[_0x7d5b[90]]=_0xb7a0x22;switch(_0xb7a0x20[_0x7d5b[49]]){case _0x7d5b[9]:_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x2d[_0x7d5b[104]]?_0x7d5b[97]:_0xb7a0x2d[_0x7d5b[96]],_0xb7a0x20[_0x7d5b[47]],_0xb7a0x20[_0x7d5b[112]]+1,_0xb7a0x20[_0x7d5b[47]],(_0xb7a0x20[_0x7d5b[112]]+2));break ;;case _0x7d5b[102]:_0xb7a0x20[_0x7d5b[49]]=_0x7d5b[9];_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x20[_0x7d5b[47]],_0xb7a0x20[_0x7d5b[112]]+_0xb7a0x2e-_0xb7a0x24,_0xb7a0x20[_0x7d5b[47]],(_0xb7a0x24+1)<_0xb7a0x2e?(_0xb7a0x20[_0x7d5b[112]]+1):(_0xb7a0x20[_0x7d5b[112]]+2));break ;;case _0x7d5b[36]:_0xb7a0x20[_0x7d5b[104]]=_0xb7a0x2d[_0x7d5b[104]];_0xb7a0x20[_0x7d5b[96]]=_0xb7a0x2d[_0x7d5b[96]];_0xb7a0x20[_0x7d5b[49]]=_0xb7a0x20[_0x7d5b[94]]=_0xb7a0x2d[_0x7d5b[94]];_0xb7a0x20[_0x7d5b[50]]=util[_0x7d5b[61]](_0xb7a0x20[_0x7d5b[50]],_0xb7a0x2d[_0x7d5b[50]]);break ;;default:;};});;};if(_0xb7a0x1d){return _0xb7a0x1d};}exports[_0x7d5b[141]]=function(_0xb7a0x9,_0xb7a0xa){VoiceExtension[_0x7d5b[45]]({where:{exten:_0xb7a0x9[_0x7d5b[87]][_0x7d5b[48]],context:_0xb7a0x9[_0x7d5b[87]][_0x7d5b[47]],type:_0xb7a0x9[_0x7d5b[87]][_0x7d5b[88]],VoiceExtensionId:null,id:{$ne:_0xb7a0x9[_0x7d5b[87]][_0x7d5b[82]]}}})[_0x7d5b[44]](function(_0xb7a0x2b){if(!_0xb7a0x2b){return _0xb7a0xa[_0x7d5b[84]](404)};if(_0xb7a0x2b[_0x7d5b[100]]>0){return _0xb7a0xa[_0x7d5b[43]](500)[_0x7d5b[42]]({message:_0x7d5b[116]})};if(_0xb7a0x9[_0x7d5b[87]][_0x7d5b[82]]){delete _0xb7a0x9[_0x7d5b[87]][_0x7d5b[82]]};VoiceExtension[_0x7d5b[92]]({where:{id:_0xb7a0x9[_0x7d5b[55]][_0x7d5b[82]]}})[_0x7d5b[44]](function(_0xb7a0x1a){if(!_0xb7a0x1a){return _0xb7a0xa[_0x7d5b[84]](404)};var _0xb7a0x2f=_[_0x7d5b[142]](_0xb7a0x1a,_0xb7a0x9[_0x7d5b[87]]);return sequelize[_0x7d5b[109]](function(_0xb7a0x1c){return _0xb7a0x2f[_0x7d5b[143]]({transaction:_0xb7a0x1c})[_0x7d5b[44]](function(_0xb7a0x30){VoiceExtension[_0x7d5b[45]]({where:{VoiceExtensionId:_0xb7a0x30[_0x7d5b[82]],isApp:true}})[_0x7d5b[44]](function(_0xb7a0x2a){return VoiceExtension[_0x7d5b[108]]({where:{VoiceExtensionId:_0xb7a0x30[_0x7d5b[82]]}},{transaction:_0xb7a0x1c})[_0x7d5b[44]](function(){_0xb7a0x2a=_[_0x7d5b[114]](_0xb7a0x2a,_0x7d5b[113]);var _0xb7a0x31=_[_0x7d5b[99]](_[_0x7d5b[114]](_0xb7a0x2a,_0x7d5b[104]),function(_0xb7a0x20){return _0xb7a0x20!==null});Interval[_0x7d5b[45]]({where:{IntervalId:_0xb7a0x31}})[_0x7d5b[44]](function(_0xb7a0x28){var _0xb7a0x1d=2;var _0xb7a0x25;_0xb7a0x2a[_0x7d5b[66]](function(_0xb7a0x1f){var _0xb7a0x21=_[_0x7d5b[93]](Applications[_0xb7a0x1f[_0x7d5b[49]]]);if(!_0xb7a0x21||_0xb7a0x1f[_0x7d5b[94]]){_0xb7a0x21=[{app:_0x7d5b[9],appdata:_0x7d5b[10]},{app:_0x7d5b[36],appdata:_0x7d5b[32],isApp:true},{app:_0x7d5b[15],appdata:_0x7d5b[37]}]};_0xb7a0x1f[_0x7d5b[47]]=_0xb7a0x30[_0x7d5b[47]];_0xb7a0x1f[_0x7d5b[48]]=_0xb7a0x30[_0x7d5b[48]];var _0xb7a0x22=util[_0x7d5b[61]](_0x7d5b[95],_0xb7a0x1f[_0x7d5b[47]],_0xb7a0x1f[_0x7d5b[48]],_0xb7a0x1d);_0xb7a0x1f[_0x7d5b[96]]=_0xb7a0x1f[_0x7d5b[96]]||_0x7d5b[97];var _0xb7a0x23=_[_0x7d5b[99]](_0xb7a0x28,function(_0xb7a0x20){return (_0xb7a0x20[_0x7d5b[104]]==_0xb7a0x1f[_0x7d5b[104]])});if(_0xb7a0x23&&_0xb7a0x23[_0x7d5b[100]]>0){_0xb7a0x21[_0x7d5b[101]](0,1);_0xb7a0x23[_0x7d5b[66]](function(_0xb7a0x20,_0xb7a0x24){_0xb7a0x21[_0x7d5b[105]]({app:_0x7d5b[102],appdata:_0xb7a0x20[_0x7d5b[96]]+_0x7d5b[103],IntervalId:_0xb7a0x20[_0x7d5b[82]],isInterval:true,interval:_0xb7a0x20[_0x7d5b[96]]})});};_0xb7a0x1d=appCreate(_0xb7a0x21,_0xb7a0x1f,_0xb7a0x22,_0xb7a0x23||[],_0xb7a0x1d);VoiceExtension[_0x7d5b[106]](_0xb7a0x21);});return _0xb7a0xa[_0x7d5b[84]](200);});})})})})[_0x7d5b[41]](function(_0xb7a0xb){return handleError(_0xb7a0xa,_0xb7a0xb)});})[_0x7d5b[41]](function(_0xb7a0xb){return handleError(_0xb7a0xa,_0xb7a0xb)});})[_0x7d5b[41]](function(_0xb7a0xb){return handleError(_0xb7a0xa,_0xb7a0xb)})};exports[_0x7d5b[144]]=function(_0xb7a0x9,_0xb7a0xa,_0xb7a0xd){var _0xb7a0x25;if(_0xb7a0x9[_0x7d5b[87]][_0x7d5b[50]]){delete _0xb7a0x9[_0x7d5b[87]][_0x7d5b[50]]};VoiceExtension[_0x7d5b[85]](_0xb7a0x9[_0x7d5b[87]][_0x7d5b[82]])[_0x7d5b[44]](function(_0xb7a0x32){if(!_0xb7a0x32){return _0xb7a0xa[_0x7d5b[84]](404)};delete _0xb7a0x9[_0x7d5b[87]][_0x7d5b[82]];var _0xb7a0x2f=_[_0x7d5b[142]](_0xb7a0x32,_0xb7a0x9[_0x7d5b[87]]);return sequelize[_0x7d5b[109]](function(_0xb7a0x1c){return _0xb7a0x2f[_0x7d5b[143]]({transaction:_0xb7a0x1c})[_0x7d5b[44]](function(){VoiceExtension[_0x7d5b[45]]({where:{VoiceExtensionId:_0xb7a0x9[_0x7d5b[87]][_0x7d5b[111]],isApp:true}})[_0x7d5b[44]](function(_0xb7a0x2a){return VoiceExtension[_0x7d5b[108]]({where:{VoiceExtensionId:_0xb7a0x9[_0x7d5b[87]][_0x7d5b[111]]}},{transaction:_0xb7a0x1c})[_0x7d5b[44]](function(){_0xb7a0x2a=_[_0x7d5b[114]](_0xb7a0x2a,_0x7d5b[113]);var _0xb7a0x31=_[_0x7d5b[99]](_[_0x7d5b[114]](_0xb7a0x2a,_0x7d5b[104]),function(_0xb7a0x20){return _0xb7a0x20!==null});return Interval[_0x7d5b[45]]({where:{IntervalId:_0xb7a0x31}})[_0x7d5b[44]](function(_0xb7a0x28){var _0xb7a0x1d=2;var _0xb7a0x25;_0xb7a0x2a[_0x7d5b[66]](function(_0xb7a0x1f){var _0xb7a0x21=_[_0x7d5b[93]](Applications[_0xb7a0x1f[_0x7d5b[49]]]);if(!_0xb7a0x21||_0xb7a0x1f[_0x7d5b[94]]){_0xb7a0x21=[{app:_0x7d5b[9],appdata:_0x7d5b[10]},{app:_0x7d5b[36],appdata:_0x7d5b[32],isApp:true},{app:_0x7d5b[15],appdata:_0x7d5b[37]}]};var _0xb7a0x22=util[_0x7d5b[61]](_0x7d5b[95],_0xb7a0x1f[_0x7d5b[47]],_0xb7a0x1f[_0x7d5b[48]],_0xb7a0x1d);_0xb7a0x1f[_0x7d5b[96]]=_0xb7a0x1f[_0x7d5b[96]]||_0x7d5b[97];var _0xb7a0x23=_[_0x7d5b[99]](_0xb7a0x28,function(_0xb7a0x20){return (_0xb7a0x20[_0x7d5b[104]]==_0xb7a0x1f[_0x7d5b[104]])});if(_0xb7a0x23&&_0xb7a0x23[_0x7d5b[100]]>0){_0xb7a0x21[_0x7d5b[101]](0,1);_0xb7a0x23[_0x7d5b[66]](function(_0xb7a0x20,_0xb7a0x24){_0xb7a0x21[_0x7d5b[105]]({app:_0x7d5b[102],appdata:_0xb7a0x20[_0x7d5b[96]]+_0x7d5b[103],IntervalId:_0xb7a0x20[_0x7d5b[82]],isInterval:true,interval:_0xb7a0x20[_0x7d5b[96]]})});};_0xb7a0x1d=appCreate(_0xb7a0x21,_0xb7a0x1f,_0xb7a0x22,_0xb7a0x23||[],_0xb7a0x1d);VoiceExtension[_0x7d5b[106]](_0xb7a0x21);});});})})})})[_0x7d5b[44]](function(_0xb7a0x16){return _0xb7a0xa[_0x7d5b[43]](201)[_0x7d5b[42]](_0xb7a0x16)})[_0x7d5b[41]](function(_0xb7a0xb){return handleError(_0xb7a0xa,_0xb7a0xb)});})[_0x7d5b[41]](function(_0xb7a0xb){return handleError(_0xb7a0xa,_0xb7a0xb)});};exports[_0x7d5b[108]]=function(_0xb7a0x9,_0xb7a0xa,_0xb7a0xd){VoiceExtension[_0x7d5b[85]](_0xb7a0x9[_0x7d5b[55]][_0x7d5b[82]])[_0x7d5b[44]](function(_0xb7a0x1a){if(!_0xb7a0x1a){return _0xb7a0xa[_0x7d5b[84]](404)};if(!_0xb7a0x1a[_0x7d5b[111]]){_0xb7a0x1a[_0x7d5b[108]]()[_0x7d5b[44]](function(){return _0xb7a0xa[_0x7d5b[84]](204)})[_0x7d5b[41]](function(_0xb7a0xb){return handleError(_0xb7a0xa,_0xb7a0xb)})}else {VoiceExtension[_0x7d5b[45]]({where:{appGroup:_0xb7a0x1a[_0x7d5b[90]]}})[_0x7d5b[44]](function(_0xb7a0xc){if(!_0xb7a0xc){return _0xb7a0xa[_0x7d5b[84]](404)};return sequelize[_0x7d5b[109]](function(_0xb7a0x1c){return VoiceExtension[_0x7d5b[108]]({where:{appGroup:_0xb7a0x1a[_0x7d5b[90]]}},{transaction:_0xb7a0x1c})[_0x7d5b[44]](function(_0xb7a0x33){return VoiceExtension[_0x7d5b[45]]({where:{VoiceExtensionId:_0xb7a0x1a[_0x7d5b[111]],priority:{$gt:_0xb7a0xc[_0xb7a0x33-1][_0x7d5b[112]]}}})[_0x7d5b[44]](function(_0xb7a0x1b){return VoiceExtension[_0x7d5b[108]]({where:{VoiceExtensionId:_0xb7a0x1a[_0x7d5b[111]],priority:{$gt:_0xb7a0xc[_0xb7a0x33-1][_0x7d5b[112]]}}},{transaction:_0xb7a0x1c})[_0x7d5b[44]](function(){var _0xb7a0x34=_[_0x7d5b[114]](_[_0x7d5b[99]](_[_0x7d5b[114]](_0xb7a0x1b,_0x7d5b[113]),function(_0xb7a0x20){return _0xb7a0x20[_0x7d5b[91]]===true}),_0x7d5b[90]);var _0xb7a0x1d=_0xb7a0xc[0][_0x7d5b[112]];_0xb7a0x34[_0x7d5b[66]](function(_0xb7a0x1e){var _0xb7a0x1f=_[_0x7d5b[92]](_0xb7a0x1b,function(_0xb7a0x20){return (_0xb7a0x20[_0x7d5b[90]]==_0xb7a0x1e&&_0xb7a0x20[_0x7d5b[91]]===true)});var _0xb7a0x21=_[_0x7d5b[93]](Applications[_0xb7a0x1f[_0x7d5b[49]]]);if(!_0xb7a0x21||_0xb7a0x1f[_0x7d5b[94]]){_0xb7a0x21=[{app:_0x7d5b[9],appdata:_0x7d5b[10]},{app:_0x7d5b[36],appdata:_0x7d5b[32],isApp:true},{app:_0x7d5b[15],appdata:_0x7d5b[37]}]};var _0xb7a0x22=util[_0x7d5b[61]](_0x7d5b[95],_0xb7a0x1f[_0x7d5b[47]],_0xb7a0x1f[_0x7d5b[48]],_0xb7a0x1d);_0xb7a0x1f[_0x7d5b[96]]=_0xb7a0x1f[_0x7d5b[96]]||_0x7d5b[97];var _0xb7a0x23=_[_0x7d5b[99]](_0xb7a0x1b,function(_0xb7a0x20){return (_0xb7a0x20[_0x7d5b[90]]==_0xb7a0x1e&&_0xb7a0x20[_0x7d5b[98]]===true)});if(_0xb7a0x23&&_0xb7a0x23[_0x7d5b[100]]>0){_0xb7a0x21[_0x7d5b[101]](0,1);_0xb7a0x23[_0x7d5b[66]](function(_0xb7a0x20,_0xb7a0x24){_0xb7a0x21[_0x7d5b[105]]({app:_0x7d5b[102],appdata:_0xb7a0x20[_0x7d5b[96]]+_0x7d5b[103],IntervalId:_0xb7a0x20[_0x7d5b[104]]?_0xb7a0x20[_0x7d5b[104]]:null,isInterval:true,interval:_0xb7a0x20[_0x7d5b[96]]})});};_0xb7a0x1d=appCreate(_0xb7a0x21,_0xb7a0x1f,_0xb7a0x22,_0xb7a0x23||[],_0xb7a0x1d);VoiceExtension[_0x7d5b[106]](_0xb7a0x21);});})})})})[_0x7d5b[44]](function(_0xb7a0x16){_0xb7a0xa[_0x7d5b[84]](201)})[_0x7d5b[41]](function(_0xb7a0xb){return _0xb7a0xd(_0xb7a0xb)});})};})[_0x7d5b[41]](function(_0xb7a0xb){return _0xb7a0xd(_0xb7a0xb)})};exports[_0x7d5b[145]]=function(_0xb7a0x9,_0xb7a0xa){VoiceExtension[_0x7d5b[108]]({where:{id:_0xb7a0x9[_0x7d5b[52]][_0x7d5b[82]]},individualHooks:true})[_0x7d5b[44]](function(){return _0xb7a0xa[_0x7d5b[84]](204)})[_0x7d5b[41]](function(_0xb7a0xb){return handleError(_0xb7a0xa,_0xb7a0xb)})};function handleError(_0xb7a0xa,_0xb7a0xb){return _0xb7a0xa[_0x7d5b[43]](500)[_0x7d5b[42]](_0xb7a0xb)}
\ No newline at end of file
+var _0xc899=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x53\x65\x71\x75\x65\x6C\x69\x7A\x65","\x75\x74\x69\x6C","\x61\x73\x79\x6E\x63","\x47\x6F\x74\x6F\x49\x66\x54\x69\x6D\x65","\x25\x73\x3F\x25\x73\x2C\x24\x7B\x45\x58\x54\x45\x4E\x7D\x2C\x25\x73\x3A\x25\x73\x2C\x24\x7B\x45\x58\x54\x45\x4E\x7D\x2C\x25\x73","\x53\x65\x74","\x43\x41\x4C\x4C\x45\x52\x49\x44\x28\x61\x6C\x6C\x29\x3D\x25\x73","\x44\x69\x61\x6C","\x25\x73\x2C\x25\x73\x2C\x25\x73\x2C\x25\x73","\x4E\x6F\x4F\x70","\x44\x69\x61\x6C\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x41\x6E\x73\x77\x65\x72","","\x51\x75\x65\x75\x65","\x25\x73\x2C\x25\x73\x2C\x25\x73\x2C\x25\x73\x2C\x25\x73","\x51\x75\x65\x75\x65\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x50\x6C\x61\x79\x62\x61\x63\x6B","\x25\x73\x2C\x25\x73","\x50\x6C\x61\x79\x62\x61\x63\x6B\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x41\x47\x49","\x61\x67\x69\x3A\x2F\x2F\x31\x32\x37\x2E\x30\x2E\x30\x2E\x31\x2F\x73\x71\x75\x61\x72\x65\x2C\x25\x73","\x41\x47\x49\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x47\x6F\x74\x6F","\x25\x73\x2C\x25\x73\x2C\x25\x64","\x47\x6F\x74\x6F\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x48\x61\x6E\x67\x75\x70","\x25\x73","\x48\x61\x6E\x67\x75\x70\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x25\x73\x3D\x25\x73","\x53\x65\x74\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x63\x75\x73\x74\x6F\x6D","\x43\x75\x73\x74\x6F\x6D\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x56\x6F\x69\x63\x65\x6D\x61\x69\x6C","\x56\x6F\x69\x63\x65\x6D\x61\x69\x6C\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77\x42\x79\x52\x6F\x75\x74\x65","\x63\x6F\x6E\x74\x65\x78\x74","\x65\x78\x74\x65\x6E","\x61\x70\x70","\x61\x70\x70\x64\x61\x74\x61","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x72\x6F\x75\x74\x65","\x70\x61\x72\x61\x6D\x73","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77\x41\x70\x70\x73\x42\x79\x52\x6F\x75\x74\x65","\x69\x64","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x72\x6F\x75\x74\x65\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x62\x6F\x64\x79","\x74\x79\x70\x65","\x73\x6F\x72\x74\x41\x70\x70\x73\x42\x79\x52\x6F\x75\x74\x65","\x61\x70\x70\x47\x72\x6F\x75\x70","\x69\x73\x41\x70\x70","\x66\x69\x6E\x64","\x63\x6C\x6F\x6E\x65\x44\x65\x65\x70","\x63\x75\x73\x74\x6F\x6D\x41\x70\x70","\x25\x73\x25\x73\x25\x73","\x69\x6E\x74\x65\x72\x76\x61\x6C","\x2A\x2C\x2A\x2C\x2A\x2C\x2A","\x69\x73\x49\x6E\x74\x65\x72\x76\x61\x6C","\x66\x69\x6C\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x73\x70\x6C\x69\x63\x65","\x47\x6F\x74\x6F\x49\x66\x54\x69\x6D\x65\x46\x72\x6F\x6D\x41\x72\x72\x61\x79","\x3F\x25\x73\x2C\x24\x7B\x45\x58\x54\x45\x4E\x7D\x2C\x25\x73\x3A\x25\x73\x2C\x24\x7B\x45\x58\x54\x45\x4E\x7D\x2C\x25\x73","\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64","\x75\x6E\x73\x68\x69\x66\x74","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x64\x65\x73\x74\x72\x6F\x79","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x63\x72\x65\x61\x74\x65","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x49\x64","\x70\x72\x69\x6F\x72\x69\x74\x79","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x70\x6C\x75\x63\x6B","\x68\x61\x6E\x64\x6C\x65\x45\x72\x72\x6F\x72","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x52\x4F\x55\x54\x45","\x6D\x61\x78","\x63\x61\x6C\x6C\x65\x72\x49\x44","\x72\x65\x6D\x6F\x76\x65","\x6F\x75\x74\x62\x6F\x75\x6E\x64","\x74\x72\x75\x6E\x6B","\x54\x72\x75\x6E\x6B\x49\x64","\x63\x75\x74\x64\x69\x67\x69\x74\x73","\x69\x6E\x74\x65\x72\x66\x61\x63\x65","\x61\x70\x70\x5F\x6F\x70\x74\x69\x6F\x6E\x73","\x74\x69\x6D\x65\x6F\x75\x74","\x75\x72\x6C","\x2C","\x72\x65\x70\x6C\x61\x63\x65","\x4F\x75\x74\x62\x6F\x75\x6E\x64\x20\x44\x69\x61\x6C\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x61\x75\x64\x69\x6F\x66\x69\x6C\x65","\x71\x75\x65\x75\x65","\x70\x72\x6F\x6A\x65\x63\x74","\x61\x6C\x74\x5F\x70\x72\x69\x6F\x72\x69\x74\x79","\x61\x6C\x74\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x61\x6C\x74\x5F\x63\x6F\x6E\x74\x65\x78\x74","\x63\x61\x75\x73\x65\x63\x6F\x64\x65","\x76\x61\x72\x69\x61\x62\x6C\x65","\x76\x61\x6C\x75\x65","\x6D\x61\x69\x6C\x62\x6F\x78","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0xc899[0];var _=require(_0xc899[1]);var VoiceExtension=require(_0xc899[3])[_0xc899[2]];var Interval=require(_0xc899[3])[_0xc899[4]];var sequelize=require(_0xc899[3])[_0xc899[5]];var Sequelize=require(_0xc899[3])[_0xc899[6]];var util=require(_0xc899[7]);var async=require(_0xc899[8]);var Applications={Dial:[{app:_0xc899[9],appdata:_0xc899[10]},{app:_0xc899[11],appdata:_0xc899[12]},{app:_0xc899[13],appdata:_0xc899[14],isApp:true},{app:_0xc899[15],appdata:_0xc899[16]}],Queue:[{app:_0xc899[9],appdata:_0xc899[10]},{app:_0xc899[17],appdata:_0xc899[18]},{app:_0xc899[19],appdata:_0xc899[20],isApp:true},{app:_0xc899[15],appdata:_0xc899[21]}],Playback:[{app:_0xc899[9],appdata:_0xc899[10]},{app:_0xc899[22],appdata:_0xc899[23],isApp:true},{app:_0xc899[15],appdata:_0xc899[24]}],AGI:[{app:_0xc899[9],appdata:_0xc899[10]},{app:_0xc899[25],appdata:_0xc899[26],isApp:true},{app:_0xc899[15],appdata:_0xc899[27]}],Goto:[{app:_0xc899[9],appdata:_0xc899[10]},{app:_0xc899[28],appdata:_0xc899[29],isApp:true},{app:_0xc899[15],appdata:_0xc899[30]}],Hangup:[{app:_0xc899[9],appdata:_0xc899[10]},{app:_0xc899[31],appdata:_0xc899[32],isApp:true},{app:_0xc899[15],appdata:_0xc899[33]}],Set:[{app:_0xc899[9],appdata:_0xc899[10]},{app:_0xc899[11],appdata:_0xc899[34],isApp:true},{app:_0xc899[15],appdata:_0xc899[35]}],custom:[{app:_0xc899[9],appdata:_0xc899[10]},{app:_0xc899[36],appdata:_0xc899[32],isApp:true},{app:_0xc899[15],appdata:_0xc899[37]}],Voicemail:[{app:_0xc899[9],appdata:_0xc899[10]},{app:_0xc899[38],appdata:_0xc899[32],isApp:true},{app:_0xc899[15],appdata:_0xc899[39]}]};exports[_0xc899[40]]=function(_0xe2eex9,_0xe2eexa){VoiceExtension[_0xc899[45]]()[_0xc899[44]](function(_0xe2eexc){return _0xe2eexa[_0xc899[43]](200)[_0xc899[42]](_0xe2eexc)})[_0xc899[41]](function(_0xe2eexb){return handleError(_0xe2eexa,_0xe2eexb)})};exports[_0xc899[46]]=function(_0xe2eex9,_0xe2eexa,_0xe2eexd){var _0xe2eexe=[_0xc899[47],_0xc899[48],_0xc899[49],_0xc899[50]];var _0xe2eexf=_0xe2eex9[_0xc899[52]][_0xc899[51]]?parseInt(_0xe2eex9[_0xc899[52]][_0xc899[51]],10):100;var _0xe2eex10=_0xe2eex9[_0xc899[52]][_0xc899[53]]?parseInt(_0xe2eex9[_0xc899[52]][_0xc899[53]],10):0;var _0xe2eex11={where:{type:_0xe2eex9[_0xc899[55]][_0xc899[54]],VoiceExtensionId:null,app:_0xc899[15]},limit:_0xe2eexf,offset:_0xe2eex10*_0xe2eexf};_[_0xc899[69]](_0xe2eex9[_0xc899[52]],function(_0xe2eex12,_0xe2eex13){switch(_0xe2eex13){case _0xc899[51]:;case _0xc899[53]:break ;;case _0xc899[58]:_0xe2eex11[_0xc899[56]]=util[_0xc899[61]](_0xc899[57],_0xe2eex9[_0xc899[52]][_0xc899[58]],_0xe2eex9[_0xc899[52]][_0xc899[59]]||_0xc899[60])||null;break ;;case _0xc899[59]:break ;;case _0xc899[67]:_0xe2eex11[_0xc899[63]][_0xc899[62]]=[];_0xe2eexe[_0xc899[66]](function(_0xe2eex14){var _0xe2eex15={};_0xe2eex15[_0xe2eex14]={$like:_0xc899[64]+_0xe2eex12+_0xc899[64]};_0xe2eex11[_0xc899[63]][_0xc899[62]][_0xc899[65]](_0xe2eex15);});break ;;default:_0xe2eex11[_0xc899[63]][_0xe2eex13]={$like:{}};_0xe2eex11[_0xc899[63]][_0xe2eex13][_0xc899[68]]=_0xc899[64]+_0xe2eex12+_0xc899[64];;}});VoiceExtension[_0xc899[80]](_0xe2eex11)[_0xc899[44]](function(_0xe2eex16){var _0xe2eex17=Math[_0xc899[72]](_0xe2eex16[_0xc899[71]]/_0xe2eexf);var _0xe2eex18=_0xe2eex17>(_0xe2eex11[_0xc899[73]]+1)?util[_0xc899[61]](_0xc899[74],_0xe2eex9[_0xc899[75]],_0xe2eex9[_0xc899[77]][_0xc899[76]],_0xe2eex9[_0xc899[78]],_0xe2eex10+1):null;var _0xe2eex19=_0xe2eex10>0?util[_0xc899[61]](_0xc899[74],_0xe2eex9[_0xc899[75]],_0xe2eex9[_0xc899[77]][_0xc899[76]],_0xe2eex9[_0xc899[78]],_0xe2eex10-1):null;_0xe2eexa[_0xc899[43]](200)[_0xc899[42]]({count:_0xe2eex16[_0xc899[71]],rows:_0xe2eex16[_0xc899[79]],next_page:_0xe2eex18,previous_page:_0xe2eex19,total_pages:_0xe2eex17});})[_0xc899[41]](function(_0xe2eexb){_0xe2eexa[_0xc899[43]](500)[_0xc899[42]]({error:_0xc899[70]})});};exports[_0xc899[81]]=function(_0xe2eex9,_0xe2eexa){VoiceExtension[_0xc899[45]]({where:{VoiceExtensionId:_0xe2eex9[_0xc899[55]][_0xc899[82]],isApp:true}})[_0xc899[44]](function(_0xe2eexc){return _0xe2eexa[_0xc899[43]](200)[_0xc899[42]](_0xe2eexc)})[_0xc899[41]](function(_0xe2eexb){return handleError(_0xe2eexa,_0xe2eexb)})};exports[_0xc899[83]]=function(_0xe2eex9,_0xe2eexa){VoiceExtension[_0xc899[85]](_0xe2eex9[_0xc899[55]][_0xc899[82]])[_0xc899[44]](function(_0xe2eex1a){if(!_0xe2eex1a){return _0xe2eexa[_0xc899[84]](404)};return _0xe2eexa[_0xc899[42]](_0xe2eex1a);})[_0xc899[41]](function(_0xe2eexb){return handleError(_0xe2eexa,_0xe2eexb)})};exports[_0xc899[86]]=function(_0xe2eex9,_0xe2eexa){VoiceExtension[_0xc899[45]]({where:{exten:_0xe2eex9[_0xc899[87]][_0xc899[48]],context:_0xe2eex9[_0xc899[87]][_0xc899[47]],type:_0xe2eex9[_0xc899[87]][_0xc899[88]]}})[_0xc899[44]](function(_0xe2eex1a){if(!_0xe2eex1a){return _0xe2eexa[_0xc899[84]](404)};return _0xe2eexa[_0xc899[42]](_0xe2eex1a);})[_0xc899[41]](function(_0xe2eexb){return handleError(_0xe2eexa,_0xe2eexb)})};exports[_0xc899[89]]=function(_0xe2eex9,_0xe2eexa,_0xe2eexd){VoiceExtension[_0xc899[45]]({where:{appGroup:_0xe2eex9[_0xc899[87]][_0xc899[107]]}})[_0xc899[44]](function(_0xe2eex1b){return sequelize[_0xc899[109]](function(_0xe2eex1c){return VoiceExtension[_0xc899[108]]({where:{appGroup:_0xe2eex9[_0xc899[87]][_0xc899[107]]}},{transaction:_0xe2eex1c})[_0xc899[44]](function(){var _0xe2eex1d=2;_0xe2eex9[_0xc899[87]][_0xc899[107]][_0xc899[66]](function(_0xe2eex1e){var _0xe2eex1f=_[_0xc899[92]](_0xe2eex1b,function(_0xe2eex20){return (_0xe2eex20[_0xc899[90]]==_0xe2eex1e&&_0xe2eex20[_0xc899[91]]===true)});var _0xe2eex21=_[_0xc899[93]](Applications[_0xe2eex1f[_0xc899[49]]]);if(!_0xe2eex21||_0xe2eex1f[_0xc899[94]]){_0xe2eex21=[{app:_0xc899[9],appdata:_0xc899[10]},{app:_0xc899[36],appdata:_0xc899[32],isApp:true},{app:_0xc899[15],appdata:_0xc899[37]}]};var _0xe2eex22=util[_0xc899[61]](_0xc899[95],_0xe2eex1f[_0xc899[47]],_0xe2eex1f[_0xc899[48]],_0xe2eex1d);_0xe2eex1f[_0xc899[96]]=_0xe2eex1f[_0xc899[96]]||_0xc899[97];var _0xe2eex23=_[_0xc899[99]](_0xe2eex1b,function(_0xe2eex20){return (_0xe2eex20[_0xc899[90]]==_0xe2eex1e&&_0xe2eex20[_0xc899[98]]===true)});if(_0xe2eex23&&_0xe2eex23[_0xc899[100]]>0){_0xe2eex21[_0xc899[101]](0,1);_0xe2eex23[_0xc899[66]](function(_0xe2eex20,_0xe2eex24){_0xe2eex21[_0xc899[105]]({app:_0xc899[102],appdata:_0xe2eex20[_0xc899[96]]+_0xc899[103],IntervalId:_0xe2eex20[_0xc899[104]]?_0xe2eex20[_0xc899[104]]:null,isInterval:true,interval:_0xe2eex20[_0xc899[96]]})});};_0xe2eex1d=appCreate(_0xe2eex21,_0xe2eex1f,_0xe2eex22,_0xe2eex23||[],_0xe2eex1d);return VoiceExtension[_0xc899[106]](_0xe2eex21,{transaction:_0xe2eex1c});});})})[_0xc899[44]](function(){return _0xe2eexa[_0xc899[84]](201)})[_0xc899[41]](function(_0xe2eexb){return handleError(_0xe2eexa,_0xe2eexb)})})[_0xc899[41]](function(_0xe2eexb){return _0xe2eexd(_0xe2eexb)})};exports[_0xc899[110]]=function(_0xe2eex9,_0xe2eexa,_0xe2eexd){var _0xe2eex21;var _0xe2eex22;var _0xe2eex25;VoiceExtension[_0xc899[117]](_0xc899[112],{where:{VoiceExtensionId:_0xe2eex9[_0xc899[87]][_0xc899[111]]}})[_0xc899[44]](function(_0xe2eex26){if(_0xe2eex9[_0xc899[87]][_0xc899[111]]){_0xe2eex9[_0xc899[87]][_0xc899[112]]=_0xe2eex26?++_0xe2eex26:2;_0xe2eex21=_[_0xc899[93]](Applications[_0xe2eex9[_0xc899[87]][_0xc899[49]]]);if(!_0xe2eex21||_0xe2eex9[_0xc899[87]][_0xc899[94]]){_0xe2eex21=[{app:_0xc899[9],appdata:_0xc899[10]},{app:_0xc899[36],appdata:_0xc899[32],isApp:true},{app:_0xc899[15],appdata:_0xc899[37]}]};_0xe2eex22=util[_0xc899[61]](_0xc899[95],_0xe2eex9[_0xc899[87]][_0xc899[47]],_0xe2eex9[_0xc899[87]][_0xc899[48]],_0xe2eex9[_0xc899[87]][_0xc899[112]]);_0xe2eex9[_0xc899[87]][_0xc899[96]]=_0xe2eex9[_0xc899[87]][_0xc899[96]]||_0xc899[97];Interval[_0xc899[45]]({where:{IntervalId:(_0xe2eex9[_0xc899[87]][_0xc899[104]]!==null)?_0xe2eex9[_0xc899[87]][_0xc899[104]]:0}})[_0xc899[44]](function(_0xe2eex27){var _0xe2eex28=[];var _0xe2eex29;if(_0xe2eex27&&_0xe2eex27[_0xc899[100]]>0){_0xe2eex21[_0xc899[101]](0,1);_0xe2eex28=_[_0xc899[114]](_0xe2eex27,_0xc899[113]);_0xe2eex28[_0xc899[66]](function(_0xe2eex20,_0xe2eex24){_0xe2eex21[_0xc899[105]]({app:_0xc899[102],appdata:_0xe2eex20[_0xc899[96]]+_0xc899[103],IntervalId:_0xe2eex20[_0xc899[82]],interval:_0xe2eex29,isInterval:true})});};appCreate(_0xe2eex21,_0xe2eex9[_0xc899[87]],_0xe2eex22,_0xe2eex28);VoiceExtension[_0xc899[106]](_0xe2eex21)[_0xc899[44]](function(_0xe2eex2a){return _0xe2eexa[_0xc899[43]](201)[_0xc899[42]](_0xe2eex2a)});});}else {VoiceExtension[_0xc899[45]]({where:{exten:_0xe2eex9[_0xc899[87]][_0xc899[48]],context:_0xe2eex9[_0xc899[87]][_0xc899[47]],type:_0xe2eex9[_0xc899[87]][_0xc899[88]]}})[_0xc899[44]](function(_0xe2eex2b){if(!_0xe2eex2b){return _0xe2eexa[_0xc899[84]](404)};if(_0xe2eex2b[_0xc899[100]]>0){return _0xe2eexa[_0xc899[43]](500)[_0xc899[42]]({message:_0xc899[116]})};_0xe2eex9[_0xc899[87]][_0xc899[112]]=1;VoiceExtension[_0xc899[110]](_0xe2eex9[_0xc899[87]])[_0xc899[44]](function(_0xe2eex2a){return _0xe2eexa[_0xc899[43]](201)[_0xc899[42]](_0xe2eex2a)})[_0xc899[41]](function(_0xe2eexb){return _0xe2eexa[_0xc899[115]](_0xe2eexb)});})[_0xc899[41]](function(_0xe2eexb){return _0xe2eexa[_0xc899[115]](_0xe2eexb)})}})[_0xc899[41]](function(_0xe2eexb){_0xe2eexd(_0xe2eexb)});};function appCreate(_0xe2eex21,_0xe2eex2d,_0xe2eex22,_0xe2eex28,_0xe2eex1d){var _0xe2eex2e=_0xe2eex28[_0xc899[100]];if(_0xe2eex2d[_0xc899[94]]){_0xe2eex2d[_0xc899[49]]=_0xc899[36]};switch(_0xe2eex2d[_0xc899[49]]){case _0xc899[13]:if(!_0xe2eex2d[_0xc899[118]]){_[_0xc899[119]](_0xe2eex21,{app:_0xc899[11]})};_0xe2eex21[_0xc899[66]](function(_0xe2eex20,_0xe2eex24){_0xe2eex20[_0xc899[48]]=_0xe2eex2d[_0xc899[48]];_0xe2eex20[_0xc899[88]]=_0xe2eex2d[_0xc899[88]];_0xe2eex20[_0xc899[47]]=_0xe2eex2d[_0xc899[47]];_0xe2eex20[_0xc899[111]]=_0xe2eex2d[_0xc899[111]];_0xe2eex20[_0xc899[112]]=_0xe2eex1d?_0xe2eex1d++:_0xe2eex2d[_0xc899[112]]++;_0xe2eex20[_0xc899[90]]=_0xe2eex22;switch(_0xe2eex20[_0xc899[49]]){case _0xc899[9]:_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex2d[_0xc899[104]]?_0xc899[97]:_0xe2eex2d[_0xc899[96]],_0xe2eex20[_0xc899[47]],_0xe2eex20[_0xc899[112]]+1,_0xe2eex20[_0xc899[47]],(_0xe2eex20[_0xc899[112]]+2));break ;;case _0xc899[102]:_0xe2eex20[_0xc899[49]]=_0xc899[9];_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex20[_0xc899[47]],_0xe2eex20[_0xc899[112]]+_0xe2eex2e-_0xe2eex24,_0xe2eex20[_0xc899[47]],(_0xe2eex24+1)<_0xe2eex2e?(_0xe2eex20[_0xc899[112]]+1):(_0xe2eex20[_0xc899[112]]+2));break ;;case _0xc899[13]:if(_0xe2eex2d[_0xc899[88]]===_0xc899[120]){_0xe2eex20[_0xc899[104]]=_0xe2eex2d[_0xc899[104]];_0xe2eex20[_0xc899[96]]=_0xe2eex2d[_0xc899[96]];_0xe2eex20[_0xc899[121]]=_0xe2eex2d[_0xc899[121]];_0xe2eex20[_0xc899[122]]=_0xe2eex2d[_0xc899[122]];_0xe2eex20[_0xc899[123]]=_0xe2eex2d[_0xc899[123]]||0;_0xe2eex20[_0xc899[118]]=_0xe2eex2d[_0xc899[118]]||null;}else {_0xe2eex20[_0xc899[104]]=_0xe2eex2d[_0xc899[104]];_0xe2eex20[_0xc899[96]]=_0xe2eex2d[_0xc899[96]];_0xe2eex20[_0xc899[124]]=_0xe2eex2d[_0xc899[124]];_0xe2eex20[_0xc899[125]]=_0xe2eex2d[_0xc899[125]]||_0xc899[18];_0xe2eex20[_0xc899[126]]=_0xe2eex2d[_0xc899[126]]||_0xc899[18];_0xe2eex20[_0xc899[127]]=_0xe2eex2d[_0xc899[127]]||_0xc899[18];_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex2d[_0xc899[124]],_0xe2eex20[_0xc899[126]],_0xe2eex20[_0xc899[125]]?_0xe2eex20[_0xc899[125]][_0xc899[129]](_0xc899[128],_0xc899[18]):_0xc899[18],_0xe2eex20[_0xc899[127]]);};break ;;case _0xc899[11]:_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex2d[_0xc899[118]]);break ;;case _0xc899[15]:if(_0xe2eex2d[_0xc899[88]]===_0xc899[120]){_0xe2eex20[_0xc899[50]]=_0xc899[130]};break ;;default:;};});break ;;case _0xc899[19]:_0xe2eex21[_0xc899[66]](function(_0xe2eex20,_0xe2eex24){_0xe2eex20[_0xc899[48]]=_0xe2eex2d[_0xc899[48]];_0xe2eex20[_0xc899[88]]=_0xe2eex2d[_0xc899[88]];_0xe2eex20[_0xc899[47]]=_0xe2eex2d[_0xc899[47]];_0xe2eex20[_0xc899[111]]=_0xe2eex2d[_0xc899[111]];_0xe2eex20[_0xc899[112]]=_0xe2eex1d?_0xe2eex1d++:_0xe2eex2d[_0xc899[112]]++;_0xe2eex20[_0xc899[90]]=_0xe2eex22;switch(_0xe2eex20[_0xc899[49]]){case _0xc899[9]:_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex2d[_0xc899[104]]?_0xc899[97]:_0xe2eex2d[_0xc899[96]],_0xe2eex20[_0xc899[47]],_0xe2eex20[_0xc899[112]]+1,_0xe2eex20[_0xc899[47]],(_0xe2eex20[_0xc899[112]]+2));break ;;case _0xc899[102]:_0xe2eex20[_0xc899[49]]=_0xc899[9];_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex20[_0xc899[47]],_0xe2eex20[_0xc899[112]]+_0xe2eex2e-_0xe2eex24,_0xe2eex20[_0xc899[47]],(_0xe2eex24+1)<_0xe2eex2e?(_0xe2eex20[_0xc899[112]]+1):(_0xe2eex20[_0xc899[112]]+2));break ;;case _0xc899[19]:_0xe2eex20[_0xc899[104]]=_0xe2eex2d[_0xc899[104]];_0xe2eex20[_0xc899[125]]=_0xe2eex2d[_0xc899[125]]||_0xc899[18];_0xe2eex20[_0xc899[131]]=_0xe2eex2d[_0xc899[131]]||_0xc899[18];_0xe2eex20[_0xc899[132]]=_0xe2eex2d[_0xc899[132]];_0xe2eex20[_0xc899[96]]=_0xe2eex2d[_0xc899[96]];_0xe2eex20[_0xc899[124]]=_0xe2eex2d[_0xc899[124]];_0xe2eex20[_0xc899[125]]=_0xe2eex2d[_0xc899[125]];_0xe2eex20[_0xc899[126]]=_0xe2eex2d[_0xc899[126]]||_0xc899[18];_0xe2eex20[_0xc899[127]]=_0xe2eex2d[_0xc899[127]]||_0xc899[18];_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex20[_0xc899[132]],_0xe2eex20[_0xc899[125]]?_0xe2eex20[_0xc899[125]][_0xc899[129]](_0xc899[128],_0xc899[18]):_0xc899[18],_0xe2eex20[_0xc899[127]],_0xe2eex20[_0xc899[131]],_0xe2eex20[_0xc899[126]]);break ;;default:;};});break ;;case _0xc899[22]:_0xe2eex21[_0xc899[66]](function(_0xe2eex20,_0xe2eex24){_0xe2eex20[_0xc899[48]]=_0xe2eex2d[_0xc899[48]];_0xe2eex20[_0xc899[88]]=_0xe2eex2d[_0xc899[88]];_0xe2eex20[_0xc899[47]]=_0xe2eex2d[_0xc899[47]];_0xe2eex20[_0xc899[111]]=_0xe2eex2d[_0xc899[111]];_0xe2eex20[_0xc899[112]]=_0xe2eex1d?_0xe2eex1d++:_0xe2eex2d[_0xc899[112]]++;_0xe2eex20[_0xc899[90]]=_0xe2eex22;switch(_0xe2eex20[_0xc899[49]]){case _0xc899[9]:_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex2d[_0xc899[104]]?_0xc899[97]:_0xe2eex2d[_0xc899[96]],_0xe2eex20[_0xc899[47]],_0xe2eex20[_0xc899[112]]+1,_0xe2eex20[_0xc899[47]],(_0xe2eex20[_0xc899[112]]+2));break ;;case _0xc899[102]:_0xe2eex20[_0xc899[49]]=_0xc899[9];_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex20[_0xc899[47]],_0xe2eex20[_0xc899[112]]+_0xe2eex2e-_0xe2eex24,_0xe2eex20[_0xc899[47]],(_0xe2eex24+1)<_0xe2eex2e?(_0xe2eex20[_0xc899[112]]+1):(_0xe2eex20[_0xc899[112]]+2));break ;;case _0xc899[22]:_0xe2eex20[_0xc899[104]]=_0xe2eex2d[_0xc899[104]];_0xe2eex20[_0xc899[96]]=_0xe2eex2d[_0xc899[96]];_0xe2eex20[_0xc899[131]]=_0xe2eex2d[_0xc899[131]]||_0xc899[18];_0xe2eex20[_0xc899[125]]=_0xe2eex2d[_0xc899[125]]||_0xc899[18];_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex20[_0xc899[131]],_0xe2eex20[_0xc899[125]]?_0xe2eex20[_0xc899[125]][_0xc899[129]](_0xc899[128],_0xc899[18]):_0xc899[18]);break ;;default:;};});break ;;case _0xc899[25]:_0xe2eex21[_0xc899[66]](function(_0xe2eex20,_0xe2eex24){_0xe2eex20[_0xc899[48]]=_0xe2eex2d[_0xc899[48]];_0xe2eex20[_0xc899[88]]=_0xe2eex2d[_0xc899[88]];_0xe2eex20[_0xc899[47]]=_0xe2eex2d[_0xc899[47]];_0xe2eex20[_0xc899[111]]=_0xe2eex2d[_0xc899[111]];_0xe2eex20[_0xc899[112]]=_0xe2eex1d?_0xe2eex1d++:_0xe2eex2d[_0xc899[112]]++;_0xe2eex20[_0xc899[90]]=_0xe2eex22;switch(_0xe2eex20[_0xc899[49]]){case _0xc899[9]:_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex2d[_0xc899[104]]?_0xc899[97]:_0xe2eex2d[_0xc899[96]],_0xe2eex20[_0xc899[47]],_0xe2eex20[_0xc899[112]]+1,_0xe2eex20[_0xc899[47]],(_0xe2eex20[_0xc899[112]]+2));break ;;case _0xc899[102]:_0xe2eex20[_0xc899[49]]=_0xc899[9];_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex20[_0xc899[47]],_0xe2eex20[_0xc899[112]]+_0xe2eex2e-_0xe2eex24,_0xe2eex20[_0xc899[47]],(_0xe2eex24+1)<_0xe2eex2e?(_0xe2eex20[_0xc899[112]]+1):(_0xe2eex20[_0xc899[112]]+2));break ;;case _0xc899[25]:_0xe2eex20[_0xc899[104]]=_0xe2eex2d[_0xc899[104]];_0xe2eex20[_0xc899[96]]=_0xe2eex2d[_0xc899[96]];_0xe2eex20[_0xc899[133]]=_0xe2eex2d[_0xc899[133]];_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex20[_0xc899[133]]);break ;;default:;};});break ;;case _0xc899[28]:_0xe2eex21[_0xc899[66]](function(_0xe2eex20,_0xe2eex24){_0xe2eex20[_0xc899[48]]=_0xe2eex2d[_0xc899[48]];_0xe2eex20[_0xc899[88]]=_0xe2eex2d[_0xc899[88]];_0xe2eex20[_0xc899[47]]=_0xe2eex2d[_0xc899[47]];_0xe2eex20[_0xc899[111]]=_0xe2eex2d[_0xc899[111]];_0xe2eex20[_0xc899[112]]=_0xe2eex1d?_0xe2eex1d++:_0xe2eex2d[_0xc899[112]]++;_0xe2eex20[_0xc899[90]]=_0xe2eex22;switch(_0xe2eex20[_0xc899[49]]){case _0xc899[9]:_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex2d[_0xc899[104]]?_0xc899[97]:_0xe2eex2d[_0xc899[96]],_0xe2eex20[_0xc899[47]],_0xe2eex20[_0xc899[112]]+1,_0xe2eex20[_0xc899[47]],(_0xe2eex20[_0xc899[112]]+2));break ;;case _0xc899[102]:_0xe2eex20[_0xc899[49]]=_0xc899[9];_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex20[_0xc899[47]],_0xe2eex20[_0xc899[112]]+_0xe2eex2e-_0xe2eex24,_0xe2eex20[_0xc899[47]],(_0xe2eex24+1)<_0xe2eex2e?(_0xe2eex20[_0xc899[112]]+1):(_0xe2eex20[_0xc899[112]]+2));break ;;case _0xc899[28]:_0xe2eex20[_0xc899[104]]=_0xe2eex2d[_0xc899[104]];_0xe2eex20[_0xc899[96]]=_0xe2eex2d[_0xc899[96]];_0xe2eex20[_0xc899[134]]=_0xe2eex2d[_0xc899[134]];_0xe2eex20[_0xc899[135]]=_0xe2eex2d[_0xc899[135]];_0xe2eex20[_0xc899[136]]=_0xe2eex2d[_0xc899[136]];_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex20[_0xc899[136]],_0xe2eex20[_0xc899[135]],_0xe2eex20[_0xc899[134]]);break ;;default:;};});break ;;case _0xc899[31]:_0xe2eex21[_0xc899[66]](function(_0xe2eex20,_0xe2eex24){_0xe2eex20[_0xc899[48]]=_0xe2eex2d[_0xc899[48]];_0xe2eex20[_0xc899[88]]=_0xe2eex2d[_0xc899[88]];_0xe2eex20[_0xc899[47]]=_0xe2eex2d[_0xc899[47]];_0xe2eex20[_0xc899[111]]=_0xe2eex2d[_0xc899[111]];_0xe2eex20[_0xc899[112]]=_0xe2eex1d?_0xe2eex1d++:_0xe2eex2d[_0xc899[112]]++;_0xe2eex20[_0xc899[90]]=_0xe2eex22;switch(_0xe2eex20[_0xc899[49]]){case _0xc899[9]:_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex2d[_0xc899[104]]?_0xc899[97]:_0xe2eex2d[_0xc899[96]],_0xe2eex20[_0xc899[47]],_0xe2eex20[_0xc899[112]]+1,_0xe2eex20[_0xc899[47]],(_0xe2eex20[_0xc899[112]]+2));break ;;case _0xc899[102]:_0xe2eex20[_0xc899[49]]=_0xc899[9];_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex20[_0xc899[47]],_0xe2eex20[_0xc899[112]]+_0xe2eex2e-_0xe2eex24,_0xe2eex20[_0xc899[47]],(_0xe2eex24+1)<_0xe2eex2e?(_0xe2eex20[_0xc899[112]]+1):(_0xe2eex20[_0xc899[112]]+2));break ;;case _0xc899[31]:_0xe2eex20[_0xc899[104]]=_0xe2eex2d[_0xc899[104]];_0xe2eex20[_0xc899[96]]=_0xe2eex2d[_0xc899[96]];_0xe2eex20[_0xc899[137]]=_0xe2eex2d[_0xc899[137]];_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex20[_0xc899[137]]);break ;;default:;};});break ;;case _0xc899[11]:_0xe2eex21[_0xc899[66]](function(_0xe2eex20,_0xe2eex24){_0xe2eex20[_0xc899[48]]=_0xe2eex2d[_0xc899[48]];_0xe2eex20[_0xc899[88]]=_0xe2eex2d[_0xc899[88]];_0xe2eex20[_0xc899[47]]=_0xe2eex2d[_0xc899[47]];_0xe2eex20[_0xc899[111]]=_0xe2eex2d[_0xc899[111]];_0xe2eex20[_0xc899[112]]=_0xe2eex1d?_0xe2eex1d++:_0xe2eex2d[_0xc899[112]]++;_0xe2eex20[_0xc899[90]]=_0xe2eex22;switch(_0xe2eex20[_0xc899[49]]){case _0xc899[9]:_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex2d[_0xc899[104]]?_0xc899[97]:_0xe2eex2d[_0xc899[96]],_0xe2eex20[_0xc899[47]],_0xe2eex20[_0xc899[112]]+1,_0xe2eex20[_0xc899[47]],(_0xe2eex20[_0xc899[112]]+2));break ;;case _0xc899[102]:_0xe2eex20[_0xc899[49]]=_0xc899[9];_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex20[_0xc899[47]],_0xe2eex20[_0xc899[112]]+_0xe2eex2e-_0xe2eex24,_0xe2eex20[_0xc899[47]],(_0xe2eex24+1)<_0xe2eex2e?(_0xe2eex20[_0xc899[112]]+1):(_0xe2eex20[_0xc899[112]]+2));break ;;case _0xc899[11]:_0xe2eex20[_0xc899[104]]=_0xe2eex2d[_0xc899[104]];_0xe2eex20[_0xc899[96]]=_0xe2eex2d[_0xc899[96]];_0xe2eex20[_0xc899[138]]=_0xe2eex2d[_0xc899[138]];_0xe2eex20[_0xc899[139]]=_0xe2eex2d[_0xc899[139]];_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex20[_0xc899[138]],_0xe2eex20[_0xc899[139]]);break ;;default:;};});break ;;case _0xc899[36]:_0xe2eex21[_0xc899[66]](function(_0xe2eex20,_0xe2eex24){_0xe2eex20[_0xc899[48]]=_0xe2eex2d[_0xc899[48]];_0xe2eex20[_0xc899[88]]=_0xe2eex2d[_0xc899[88]];_0xe2eex20[_0xc899[47]]=_0xe2eex2d[_0xc899[47]];_0xe2eex20[_0xc899[111]]=_0xe2eex2d[_0xc899[111]];_0xe2eex20[_0xc899[112]]=_0xe2eex1d?_0xe2eex1d++:_0xe2eex2d[_0xc899[112]]++;_0xe2eex20[_0xc899[90]]=_0xe2eex22;switch(_0xe2eex20[_0xc899[49]]){case _0xc899[9]:_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex2d[_0xc899[104]]?_0xc899[97]:_0xe2eex2d[_0xc899[96]],_0xe2eex20[_0xc899[47]],_0xe2eex20[_0xc899[112]]+1,_0xe2eex20[_0xc899[47]],(_0xe2eex20[_0xc899[112]]+2));break ;;case _0xc899[102]:_0xe2eex20[_0xc899[49]]=_0xc899[9];_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex20[_0xc899[47]],_0xe2eex20[_0xc899[112]]+_0xe2eex2e-_0xe2eex24,_0xe2eex20[_0xc899[47]],(_0xe2eex24+1)<_0xe2eex2e?(_0xe2eex20[_0xc899[112]]+1):(_0xe2eex20[_0xc899[112]]+2));break ;;case _0xc899[36]:_0xe2eex20[_0xc899[104]]=_0xe2eex2d[_0xc899[104]];_0xe2eex20[_0xc899[96]]=_0xe2eex2d[_0xc899[96]];_0xe2eex20[_0xc899[49]]=_0xe2eex20[_0xc899[94]]=_0xe2eex2d[_0xc899[94]];_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex2d[_0xc899[50]]);break ;;default:;};});break ;;case _0xc899[38]:_0xe2eex21[_0xc899[66]](function(_0xe2eex20,_0xe2eex24){_0xe2eex20[_0xc899[48]]=_0xe2eex2d[_0xc899[48]];_0xe2eex20[_0xc899[88]]=_0xe2eex2d[_0xc899[88]];_0xe2eex20[_0xc899[47]]=_0xe2eex2d[_0xc899[47]];_0xe2eex20[_0xc899[111]]=_0xe2eex2d[_0xc899[111]];_0xe2eex20[_0xc899[112]]=_0xe2eex1d?_0xe2eex1d++:_0xe2eex2d[_0xc899[112]]++;_0xe2eex20[_0xc899[90]]=_0xe2eex22;switch(_0xe2eex20[_0xc899[49]]){case _0xc899[9]:_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex2d[_0xc899[104]]?_0xc899[97]:_0xe2eex2d[_0xc899[96]],_0xe2eex20[_0xc899[47]],_0xe2eex20[_0xc899[112]]+1,_0xe2eex20[_0xc899[47]],(_0xe2eex20[_0xc899[112]]+2));break ;;case _0xc899[102]:_0xe2eex20[_0xc899[49]]=_0xc899[9];_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex20[_0xc899[47]],_0xe2eex20[_0xc899[112]]+_0xe2eex2e-_0xe2eex24,_0xe2eex20[_0xc899[47]],(_0xe2eex24+1)<_0xe2eex2e?(_0xe2eex20[_0xc899[112]]+1):(_0xe2eex20[_0xc899[112]]+2));break ;;case _0xc899[38]:_0xe2eex20[_0xc899[104]]=_0xe2eex2d[_0xc899[104]];_0xe2eex20[_0xc899[96]]=_0xe2eex2d[_0xc899[96]];_0xe2eex20[_0xc899[140]]=_0xe2eex2d[_0xc899[140]];_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex20[_0xc899[140]]);break ;;default:;};});break ;;default:_0xe2eex21[_0xc899[66]](function(_0xe2eex20,_0xe2eex24){_0xe2eex20[_0xc899[48]]=_0xe2eex2d[_0xc899[48]];_0xe2eex20[_0xc899[88]]=_0xe2eex2d[_0xc899[88]];_0xe2eex20[_0xc899[47]]=_0xe2eex2d[_0xc899[47]];_0xe2eex20[_0xc899[111]]=_0xe2eex2d[_0xc899[111]];_0xe2eex20[_0xc899[112]]=_0xe2eex1d?_0xe2eex1d++:_0xe2eex2d[_0xc899[112]]++;_0xe2eex20[_0xc899[90]]=_0xe2eex22;switch(_0xe2eex20[_0xc899[49]]){case _0xc899[9]:_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex2d[_0xc899[104]]?_0xc899[97]:_0xe2eex2d[_0xc899[96]],_0xe2eex20[_0xc899[47]],_0xe2eex20[_0xc899[112]]+1,_0xe2eex20[_0xc899[47]],(_0xe2eex20[_0xc899[112]]+2));break ;;case _0xc899[102]:_0xe2eex20[_0xc899[49]]=_0xc899[9];_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex20[_0xc899[47]],_0xe2eex20[_0xc899[112]]+_0xe2eex2e-_0xe2eex24,_0xe2eex20[_0xc899[47]],(_0xe2eex24+1)<_0xe2eex2e?(_0xe2eex20[_0xc899[112]]+1):(_0xe2eex20[_0xc899[112]]+2));break ;;case _0xc899[36]:_0xe2eex20[_0xc899[104]]=_0xe2eex2d[_0xc899[104]];_0xe2eex20[_0xc899[96]]=_0xe2eex2d[_0xc899[96]];_0xe2eex20[_0xc899[49]]=_0xe2eex20[_0xc899[94]]=_0xe2eex2d[_0xc899[94]];_0xe2eex20[_0xc899[50]]=util[_0xc899[61]](_0xe2eex20[_0xc899[50]],_0xe2eex2d[_0xc899[50]]);break ;;default:;};});;};if(_0xe2eex1d){return _0xe2eex1d};}exports[_0xc899[141]]=function(_0xe2eex9,_0xe2eexa){VoiceExtension[_0xc899[45]]({where:{exten:_0xe2eex9[_0xc899[87]][_0xc899[48]],context:_0xe2eex9[_0xc899[87]][_0xc899[47]],type:_0xe2eex9[_0xc899[87]][_0xc899[88]],VoiceExtensionId:null,id:{$ne:_0xe2eex9[_0xc899[87]][_0xc899[82]]}}})[_0xc899[44]](function(_0xe2eex2b){if(!_0xe2eex2b){return _0xe2eexa[_0xc899[84]](404)};if(_0xe2eex2b[_0xc899[100]]>0){return _0xe2eexa[_0xc899[43]](500)[_0xc899[42]]({message:_0xc899[116]})};if(_0xe2eex9[_0xc899[87]][_0xc899[82]]){delete _0xe2eex9[_0xc899[87]][_0xc899[82]]};VoiceExtension[_0xc899[92]]({where:{id:_0xe2eex9[_0xc899[55]][_0xc899[82]]}})[_0xc899[44]](function(_0xe2eex1a){if(!_0xe2eex1a){return _0xe2eexa[_0xc899[84]](404)};var _0xe2eex2f=_[_0xc899[142]](_0xe2eex1a,_0xe2eex9[_0xc899[87]]);return sequelize[_0xc899[109]](function(_0xe2eex1c){return _0xe2eex2f[_0xc899[143]]({transaction:_0xe2eex1c})[_0xc899[44]](function(_0xe2eex30){VoiceExtension[_0xc899[45]]({where:{VoiceExtensionId:_0xe2eex30[_0xc899[82]],isApp:true}})[_0xc899[44]](function(_0xe2eex2a){return VoiceExtension[_0xc899[108]]({where:{VoiceExtensionId:_0xe2eex30[_0xc899[82]]}},{transaction:_0xe2eex1c})[_0xc899[44]](function(){_0xe2eex2a=_[_0xc899[114]](_0xe2eex2a,_0xc899[113]);var _0xe2eex31=_[_0xc899[99]](_[_0xc899[114]](_0xe2eex2a,_0xc899[104]),function(_0xe2eex20){return _0xe2eex20!==null});Interval[_0xc899[45]]({where:{IntervalId:_0xe2eex31}})[_0xc899[44]](function(_0xe2eex28){var _0xe2eex1d=2;var _0xe2eex25;_0xe2eex2a[_0xc899[66]](function(_0xe2eex1f){var _0xe2eex21=_[_0xc899[93]](Applications[_0xe2eex1f[_0xc899[49]]]);if(!_0xe2eex21||_0xe2eex1f[_0xc899[94]]){_0xe2eex21=[{app:_0xc899[9],appdata:_0xc899[10]},{app:_0xc899[36],appdata:_0xc899[32],isApp:true},{app:_0xc899[15],appdata:_0xc899[37]}]};_0xe2eex1f[_0xc899[47]]=_0xe2eex30[_0xc899[47]];_0xe2eex1f[_0xc899[48]]=_0xe2eex30[_0xc899[48]];var _0xe2eex22=util[_0xc899[61]](_0xc899[95],_0xe2eex1f[_0xc899[47]],_0xe2eex1f[_0xc899[48]],_0xe2eex1d);_0xe2eex1f[_0xc899[96]]=_0xe2eex1f[_0xc899[96]]||_0xc899[97];var _0xe2eex23=_[_0xc899[99]](_0xe2eex28,function(_0xe2eex20){return (_0xe2eex20[_0xc899[104]]==_0xe2eex1f[_0xc899[104]])});if(_0xe2eex23&&_0xe2eex23[_0xc899[100]]>0){_0xe2eex21[_0xc899[101]](0,1);_0xe2eex23[_0xc899[66]](function(_0xe2eex20,_0xe2eex24){_0xe2eex21[_0xc899[105]]({app:_0xc899[102],appdata:_0xe2eex20[_0xc899[96]]+_0xc899[103],IntervalId:_0xe2eex20[_0xc899[82]],isInterval:true,interval:_0xe2eex20[_0xc899[96]]})});};_0xe2eex1d=appCreate(_0xe2eex21,_0xe2eex1f,_0xe2eex22,_0xe2eex23||[],_0xe2eex1d);VoiceExtension[_0xc899[106]](_0xe2eex21);});return _0xe2eexa[_0xc899[84]](200);});})})})})[_0xc899[41]](function(_0xe2eexb){return handleError(_0xe2eexa,_0xe2eexb)});})[_0xc899[41]](function(_0xe2eexb){return handleError(_0xe2eexa,_0xe2eexb)});})[_0xc899[41]](function(_0xe2eexb){return handleError(_0xe2eexa,_0xe2eexb)})};exports[_0xc899[144]]=function(_0xe2eex9,_0xe2eexa,_0xe2eexd){var _0xe2eex25;if(_0xe2eex9[_0xc899[87]][_0xc899[50]]){delete _0xe2eex9[_0xc899[87]][_0xc899[50]]};VoiceExtension[_0xc899[85]](_0xe2eex9[_0xc899[87]][_0xc899[82]])[_0xc899[44]](function(_0xe2eex32){if(!_0xe2eex32){return _0xe2eexa[_0xc899[84]](404)};delete _0xe2eex9[_0xc899[87]][_0xc899[82]];var _0xe2eex2f=_[_0xc899[142]](_0xe2eex32,_0xe2eex9[_0xc899[87]]);return sequelize[_0xc899[109]](function(_0xe2eex1c){return _0xe2eex2f[_0xc899[143]]({transaction:_0xe2eex1c})[_0xc899[44]](function(){VoiceExtension[_0xc899[45]]({where:{VoiceExtensionId:_0xe2eex9[_0xc899[87]][_0xc899[111]],isApp:true}})[_0xc899[44]](function(_0xe2eex2a){return VoiceExtension[_0xc899[108]]({where:{VoiceExtensionId:_0xe2eex9[_0xc899[87]][_0xc899[111]]}},{transaction:_0xe2eex1c})[_0xc899[44]](function(){_0xe2eex2a=_[_0xc899[114]](_0xe2eex2a,_0xc899[113]);var _0xe2eex31=_[_0xc899[99]](_[_0xc899[114]](_0xe2eex2a,_0xc899[104]),function(_0xe2eex20){return _0xe2eex20!==null});return Interval[_0xc899[45]]({where:{IntervalId:_0xe2eex31}})[_0xc899[44]](function(_0xe2eex28){var _0xe2eex1d=2;var _0xe2eex25;_0xe2eex2a[_0xc899[66]](function(_0xe2eex1f){var _0xe2eex21=_[_0xc899[93]](Applications[_0xe2eex1f[_0xc899[49]]]);if(!_0xe2eex21||_0xe2eex1f[_0xc899[94]]){_0xe2eex21=[{app:_0xc899[9],appdata:_0xc899[10]},{app:_0xc899[36],appdata:_0xc899[32],isApp:true},{app:_0xc899[15],appdata:_0xc899[37]}]};var _0xe2eex22=util[_0xc899[61]](_0xc899[95],_0xe2eex1f[_0xc899[47]],_0xe2eex1f[_0xc899[48]],_0xe2eex1d);_0xe2eex1f[_0xc899[96]]=_0xe2eex1f[_0xc899[96]]||_0xc899[97];var _0xe2eex23=_[_0xc899[99]](_0xe2eex28,function(_0xe2eex20){return (_0xe2eex20[_0xc899[104]]==_0xe2eex1f[_0xc899[104]])});if(_0xe2eex23&&_0xe2eex23[_0xc899[100]]>0){_0xe2eex21[_0xc899[101]](0,1);_0xe2eex23[_0xc899[66]](function(_0xe2eex20,_0xe2eex24){_0xe2eex21[_0xc899[105]]({app:_0xc899[102],appdata:_0xe2eex20[_0xc899[96]]+_0xc899[103],IntervalId:_0xe2eex20[_0xc899[82]],isInterval:true,interval:_0xe2eex20[_0xc899[96]]})});};_0xe2eex1d=appCreate(_0xe2eex21,_0xe2eex1f,_0xe2eex22,_0xe2eex23||[],_0xe2eex1d);VoiceExtension[_0xc899[106]](_0xe2eex21);});});})})})})[_0xc899[44]](function(_0xe2eex16){return _0xe2eexa[_0xc899[43]](201)[_0xc899[42]](_0xe2eex16)})[_0xc899[41]](function(_0xe2eexb){return handleError(_0xe2eexa,_0xe2eexb)});})[_0xc899[41]](function(_0xe2eexb){return handleError(_0xe2eexa,_0xe2eexb)});};exports[_0xc899[108]]=function(_0xe2eex9,_0xe2eexa,_0xe2eexd){VoiceExtension[_0xc899[85]](_0xe2eex9[_0xc899[55]][_0xc899[82]])[_0xc899[44]](function(_0xe2eex1a){if(!_0xe2eex1a){return _0xe2eexa[_0xc899[84]](404)};if(!_0xe2eex1a[_0xc899[111]]){_0xe2eex1a[_0xc899[108]]()[_0xc899[44]](function(){return _0xe2eexa[_0xc899[84]](204)})[_0xc899[41]](function(_0xe2eexb){return handleError(_0xe2eexa,_0xe2eexb)})}else {VoiceExtension[_0xc899[45]]({where:{appGroup:_0xe2eex1a[_0xc899[90]]}})[_0xc899[44]](function(_0xe2eexc){if(!_0xe2eexc){return _0xe2eexa[_0xc899[84]](404)};return sequelize[_0xc899[109]](function(_0xe2eex1c){return VoiceExtension[_0xc899[108]]({where:{appGroup:_0xe2eex1a[_0xc899[90]]}},{transaction:_0xe2eex1c})[_0xc899[44]](function(_0xe2eex33){return VoiceExtension[_0xc899[45]]({where:{VoiceExtensionId:_0xe2eex1a[_0xc899[111]],priority:{$gt:_0xe2eexc[_0xe2eex33-1][_0xc899[112]]}}})[_0xc899[44]](function(_0xe2eex1b){return VoiceExtension[_0xc899[108]]({where:{VoiceExtensionId:_0xe2eex1a[_0xc899[111]],priority:{$gt:_0xe2eexc[_0xe2eex33-1][_0xc899[112]]}}},{transaction:_0xe2eex1c})[_0xc899[44]](function(){var _0xe2eex34=_[_0xc899[114]](_[_0xc899[99]](_[_0xc899[114]](_0xe2eex1b,_0xc899[113]),function(_0xe2eex20){return _0xe2eex20[_0xc899[91]]===true}),_0xc899[90]);var _0xe2eex1d=_0xe2eexc[0][_0xc899[112]];_0xe2eex34[_0xc899[66]](function(_0xe2eex1e){var _0xe2eex1f=_[_0xc899[92]](_0xe2eex1b,function(_0xe2eex20){return (_0xe2eex20[_0xc899[90]]==_0xe2eex1e&&_0xe2eex20[_0xc899[91]]===true)});var _0xe2eex21=_[_0xc899[93]](Applications[_0xe2eex1f[_0xc899[49]]]);if(!_0xe2eex21||_0xe2eex1f[_0xc899[94]]){_0xe2eex21=[{app:_0xc899[9],appdata:_0xc899[10]},{app:_0xc899[36],appdata:_0xc899[32],isApp:true},{app:_0xc899[15],appdata:_0xc899[37]}]};var _0xe2eex22=util[_0xc899[61]](_0xc899[95],_0xe2eex1f[_0xc899[47]],_0xe2eex1f[_0xc899[48]],_0xe2eex1d);_0xe2eex1f[_0xc899[96]]=_0xe2eex1f[_0xc899[96]]||_0xc899[97];var _0xe2eex23=_[_0xc899[99]](_0xe2eex1b,function(_0xe2eex20){return (_0xe2eex20[_0xc899[90]]==_0xe2eex1e&&_0xe2eex20[_0xc899[98]]===true)});if(_0xe2eex23&&_0xe2eex23[_0xc899[100]]>0){_0xe2eex21[_0xc899[101]](0,1);_0xe2eex23[_0xc899[66]](function(_0xe2eex20,_0xe2eex24){_0xe2eex21[_0xc899[105]]({app:_0xc899[102],appdata:_0xe2eex20[_0xc899[96]]+_0xc899[103],IntervalId:_0xe2eex20[_0xc899[104]]?_0xe2eex20[_0xc899[104]]:null,isInterval:true,interval:_0xe2eex20[_0xc899[96]]})});};_0xe2eex1d=appCreate(_0xe2eex21,_0xe2eex1f,_0xe2eex22,_0xe2eex23||[],_0xe2eex1d);VoiceExtension[_0xc899[106]](_0xe2eex21);});})})})})[_0xc899[44]](function(_0xe2eex16){_0xe2eexa[_0xc899[84]](201)})[_0xc899[41]](function(_0xe2eexb){return _0xe2eexd(_0xe2eexb)});})};})[_0xc899[41]](function(_0xe2eexb){return _0xe2eexd(_0xe2eexb)})};exports[_0xc899[145]]=function(_0xe2eex9,_0xe2eexa){VoiceExtension[_0xc899[108]]({where:{id:_0xe2eex9[_0xc899[52]][_0xc899[82]]},individualHooks:true})[_0xc899[44]](function(){return _0xe2eexa[_0xc899[84]](204)})[_0xc899[41]](function(_0xe2eexb){return handleError(_0xe2eexa,_0xe2eexb)})};function handleError(_0xe2eexa,_0xe2eexb){return _0xe2eexa[_0xc899[43]](500)[_0xc899[42]](_0xe2eexb)}
\ No newline at end of file
index 825b8034634bd50405dc2ee36cfef0da6176c3ec..e58743ee8ca755539c641b6e2e58e68e0e1b5890 100644 (file)
@@ -1 +1 @@
-var _0x4cba=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x61\x66\x74\x65\x72\x42\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x76\x6F\x69\x63\x65\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x76\x6F\x69\x63\x65\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65","\x76\x6F\x69\x63\x65\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x3A\x75\x70\x64\x61\x74\x65"];_0x4cba[0];var VoiceExtension=require(_0x4cba[2])[_0x4cba[1]];exports[_0x4cba[3]]=function(_0x7ea0x2){VoiceExtension[_0x4cba[4]](function(_0x7ea0x3){onSave(_0x7ea0x2,_0x7ea0x3)});VoiceExtension[_0x4cba[5]](function(_0x7ea0x3){onRemove(_0x7ea0x2,_0x7ea0x3)});VoiceExtension[_0x4cba[6]](function(_0x7ea0x3){onRemove(_0x7ea0x2,_0x7ea0x3)});VoiceExtension[_0x4cba[7]](function(_0x7ea0x3){onUpdate(_0x7ea0x2,_0x7ea0x3)});};function onSave(_0x7ea0x2,_0x7ea0x3,_0x7ea0x5){_0x7ea0x2[_0x4cba[9]](_0x4cba[8],_0x7ea0x3)}function onRemove(_0x7ea0x2,_0x7ea0x3,_0x7ea0x5){_0x7ea0x2[_0x4cba[9]](_0x4cba[10],_0x7ea0x3)}function onUpdate(_0x7ea0x2,_0x7ea0x3,_0x7ea0x5){_0x7ea0x2[_0x4cba[9]](_0x4cba[11],_0x7ea0x3)}
\ No newline at end of file
+var _0xff47=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x61\x66\x74\x65\x72\x42\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x76\x6F\x69\x63\x65\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x76\x6F\x69\x63\x65\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65","\x76\x6F\x69\x63\x65\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x3A\x75\x70\x64\x61\x74\x65"];_0xff47[0];var VoiceExtension=require(_0xff47[2])[_0xff47[1]];exports[_0xff47[3]]=function(_0x333bx2){VoiceExtension[_0xff47[4]](function(_0x333bx3){onSave(_0x333bx2,_0x333bx3)});VoiceExtension[_0xff47[5]](function(_0x333bx3){onRemove(_0x333bx2,_0x333bx3)});VoiceExtension[_0xff47[6]](function(_0x333bx3){onRemove(_0x333bx2,_0x333bx3)});VoiceExtension[_0xff47[7]](function(_0x333bx3){onUpdate(_0x333bx2,_0x333bx3)});};function onSave(_0x333bx2,_0x333bx3,_0x333bx5){_0x333bx2[_0xff47[9]](_0xff47[8],_0x333bx3)}function onRemove(_0x333bx2,_0x333bx3,_0x333bx5){_0x333bx2[_0xff47[9]](_0xff47[10],_0x333bx3)}function onUpdate(_0x333bx2,_0x333bx3,_0x333bx5){_0x333bx2[_0xff47[9]](_0xff47[11],_0x333bx3)}
\ No newline at end of file
index 554d9bd126a19c4906e49675e4b33682190c47e7..6b9ea651a0f26bef170c8fd49aa3bf01854e10fd 100644 (file)
@@ -1 +1 @@
-var _0x7511=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x67\x65\x74"];_0x7511[0];var should=require(_0x7511[1]);var app=require(_0x7511[2]);var request=require(_0x7511[3]);describe(_0x7511[4],function(){it(_0x7511[5],function(_0x65cdx4){request(app)[_0x7511[13]](_0x7511[12])[_0x7511[11]](200)[_0x7511[11]](_0x7511[10],/json/)[_0x7511[9]](function(_0x65cdx5,_0x65cdx6){if(_0x65cdx5){return _0x65cdx4(_0x65cdx5)};_0x65cdx6[_0x7511[8]][_0x7511[1]][_0x7511[7]][_0x7511[6]](Array);_0x65cdx4();})})});
\ No newline at end of file
+var _0x2861=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x67\x65\x74"];_0x2861[0];var should=require(_0x2861[1]);var app=require(_0x2861[2]);var request=require(_0x2861[3]);describe(_0x2861[4],function(){it(_0x2861[5],function(_0x26dax4){request(app)[_0x2861[13]](_0x2861[12])[_0x2861[11]](200)[_0x2861[11]](_0x2861[10],/json/)[_0x2861[9]](function(_0x26dax5,_0x26dax6){if(_0x26dax5){return _0x26dax4(_0x26dax5)};_0x26dax6[_0x2861[8]][_0x2861[1]][_0x2861[7]][_0x2861[6]](Array);_0x26dax4();})})});
\ No newline at end of file
index a46d1650372592ee2938f85d89c5447df8b3b1fc..3eafd6ce601073dac812946c9b66cd67bb7a4eb9 100644 (file)
@@ -1 +1 @@
-var _0x8f57=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x76\x6F\x69\x63\x65\x5F\x6D\x75\x73\x69\x63\x6F\x6E\x68\x6F\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x73\x74\x72\x65\x61\x6D","\x73\x74\x72\x65\x61\x6D","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x66\x69\x6C\x65\x73","\x73\x68\x6F\x77\x41\x75\x64\x69\x6F\x46\x69\x6C\x65\x73","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x6D\x6F\x68\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x61\x64\x64\x46\x69\x6C\x65\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65\x41\x75\x64\x69\x6F\x46\x69\x6C\x65\x73","\x65\x78\x70\x6F\x72\x74\x73"];_0x8f57[0];var express=require(_0x8f57[1]);var controller=require(_0x8f57[2]);var auth=require(_0x8f57[3]);var router=express.Router();router[_0x8f57[7]](_0x8f57[4],auth[_0x8f57[5]](),controller[_0x8f57[6]]);router[_0x8f57[7]](_0x8f57[8],auth[_0x8f57[5]](),controller[_0x8f57[9]]);router[_0x8f57[7]](_0x8f57[10],auth[_0x8f57[5]](),controller[_0x8f57[11]]);router[_0x8f57[7]](_0x8f57[12],auth[_0x8f57[5]](),controller[_0x8f57[13]]);router[_0x8f57[15]](_0x8f57[4],auth[_0x8f57[5]](),controller[_0x8f57[14]]);router[_0x8f57[15]](_0x8f57[16],auth[_0x8f57[5]](),controller[_0x8f57[17]]);router[_0x8f57[15]](_0x8f57[12],auth[_0x8f57[5]](),controller[_0x8f57[18]]);router[_0x8f57[20]](_0x8f57[10],auth[_0x8f57[5]](),controller[_0x8f57[19]]);router[_0x8f57[22]](_0x8f57[4],auth[_0x8f57[5]](),controller[_0x8f57[21]]);router[_0x8f57[22]](_0x8f57[10],auth[_0x8f57[5]](),controller[_0x8f57[23]]);router[_0x8f57[22]](_0x8f57[12],auth[_0x8f57[5]](),controller[_0x8f57[24]]);module[_0x8f57[25]]=router;
\ No newline at end of file
+var _0x4985=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x76\x6F\x69\x63\x65\x5F\x6D\x75\x73\x69\x63\x6F\x6E\x68\x6F\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x73\x74\x72\x65\x61\x6D","\x73\x74\x72\x65\x61\x6D","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x66\x69\x6C\x65\x73","\x73\x68\x6F\x77\x41\x75\x64\x69\x6F\x46\x69\x6C\x65\x73","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x6D\x6F\x68\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x61\x64\x64\x46\x69\x6C\x65\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65\x41\x75\x64\x69\x6F\x46\x69\x6C\x65\x73","\x65\x78\x70\x6F\x72\x74\x73"];_0x4985[0];var express=require(_0x4985[1]);var controller=require(_0x4985[2]);var auth=require(_0x4985[3]);var router=express.Router();router[_0x4985[7]](_0x4985[4],auth[_0x4985[5]](),controller[_0x4985[6]]);router[_0x4985[7]](_0x4985[8],auth[_0x4985[5]](),controller[_0x4985[9]]);router[_0x4985[7]](_0x4985[10],auth[_0x4985[5]](),controller[_0x4985[11]]);router[_0x4985[7]](_0x4985[12],auth[_0x4985[5]](),controller[_0x4985[13]]);router[_0x4985[15]](_0x4985[4],auth[_0x4985[5]](),controller[_0x4985[14]]);router[_0x4985[15]](_0x4985[16],auth[_0x4985[5]](),controller[_0x4985[17]]);router[_0x4985[15]](_0x4985[12],auth[_0x4985[5]](),controller[_0x4985[18]]);router[_0x4985[20]](_0x4985[10],auth[_0x4985[5]](),controller[_0x4985[19]]);router[_0x4985[22]](_0x4985[4],auth[_0x4985[5]](),controller[_0x4985[21]]);router[_0x4985[22]](_0x4985[10],auth[_0x4985[5]](),controller[_0x4985[23]]);router[_0x4985[22]](_0x4985[12],auth[_0x4985[5]](),controller[_0x4985[24]]);module[_0x4985[25]]=router;
\ No newline at end of file
index e4eb4a7cfb42a6e8123876d9b409372d22448ec8..c21acdcbd70ae7c76a8698dcce4077af36189b3f 100644 (file)
@@ -1 +1 @@
-var _0x24a3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x56\x6F\x69\x63\x65\x4D\x75\x73\x69\x63\x4F\x6E\x48\x6F\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x66\x73","\x72\x65\x6D\x6F\x76\x65","\x55\x70\x6C\x6F\x61\x64","\x66\x73\x2D\x65\x78\x74\x72\x61","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x75\x74\x69\x6C","\x66\x69\x6C\x65\x2D\x62\x61\x73\x65\x36\x34","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x69\x72\x65\x63\x74\x6F\x72\x79","\x73\x6F\x72\x74","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x64\x64\x46\x69\x6C\x65\x73","\x6C\x6F\x67","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x73\x6F\x75\x6E\x64\x73\x2F\x63\x6F\x6E\x76\x65\x72\x74\x65\x64","\x6A\x6F\x69\x6E","\x64\x69\x73\x70\x6C\x61\x79\x5F\x6E\x61\x6D\x65","\x2E\x77\x61\x76","\x73\x61\x76\x65\x5F\x6E\x61\x6D\x65","\x63\x6F\x70\x79\x53\x79\x6E\x63","\x30\x37\x37\x37","\x63\x68\x6D\x6F\x64\x53\x79\x6E\x63","\x73\x6F\x75\x6E\x64\x73","\x62\x6F\x64\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77\x41\x75\x64\x69\x6F\x46\x69\x6C\x65\x73","\x66\x69\x6C\x65\x73","\x72\x65\x61\x64\x64\x69\x72","\x64\x65\x6C\x65\x74\x65\x41\x75\x64\x69\x6F\x46\x69\x6C\x65\x73","\x2F","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x75\x6E\x6C\x69\x6E\x6B","\x6D\x6F\x68\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x63\x72\x65\x61\x74\x65","\x74\x68\x61\x74\x65\x72\x72\x6F\x72","\x46\x69\x6E\x64\x69\x6E\x67\x20\x61\x70\x70\x20\x72\x6F\x77\x2E\x2E\x2E\x2E\x2E","\x65\x72\x72\x6F\x72\x31","\x6C\x65\x6E\x67\x74\x68","\x65\x72\x72\x6F\x72\x32","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x4D\x4F\x48","\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x6D\x6F\x68","\x72\x6F\x6C\x6C\x62\x61\x63\x6B","\x66\x69\x6C\x65\x20\x65\x72\x72\x6F\x72","\x4D\x45\x53\x53\x41\x47\x45\x5F\x46\x49\x4C\x45\x5F\x43\x52\x45\x41\x54\x49\x4F\x4E\x5F\x45\x52\x52\x4F\x52","\x63\x6F\x6D\x6D\x69\x74","\x66\x69\x6C\x65\x20\x63\x72\x65\x61\x74\x65\x64","\x6D\x6B\x64\x69\x72","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x73\x74\x72\x65\x61\x6D","\x65\x6E\x63\x6F\x64\x65"];_0x24a3[0];var _=require(_0x24a3[1]);var VoiceMusicOnHold=require(_0x24a3[3])[_0x24a3[2]];var fs=require(_0x24a3[4]);var remove=require(_0x24a3[5]);var Upload=require(_0x24a3[3])[_0x24a3[6]];var fse=require(_0x24a3[7]);var path=require(_0x24a3[8]);var config=require(_0x24a3[9]);var sequelize=require(_0x24a3[3])[_0x24a3[10]];var util=require(_0x24a3[11]);var base64=require(_0x24a3[12]);exports[_0x24a3[13]]=function(_0xf0fcxc,_0xf0fcxd){var _0xf0fcxe=[_0x24a3[14],_0x24a3[15],_0x24a3[16],_0x24a3[17]];var _0xf0fcxf=_0xf0fcxc[_0x24a3[19]][_0x24a3[18]]?parseInt(_0xf0fcxc[_0x24a3[19]][_0x24a3[18]],10):100;var _0xf0fcx10=_0xf0fcxc[_0x24a3[19]][_0x24a3[20]]?parseInt(_0xf0fcxc[_0x24a3[19]][_0x24a3[20]],10):0;var _0xf0fcx11={where:{},limit:_0xf0fcxf,offset:_0xf0fcx10*_0xf0fcxf};_[_0x24a3[34]](_0xf0fcxc[_0x24a3[19]],function(_0xf0fcx12,_0xf0fcx13){switch(_0xf0fcx13){case _0x24a3[18]:;case _0x24a3[20]:break ;;case _0x24a3[23]:_0xf0fcx11[_0x24a3[21]]=util[_0x24a3[26]](_0x24a3[22],_0xf0fcxc[_0x24a3[19]][_0x24a3[23]],_0xf0fcxc[_0x24a3[19]][_0x24a3[24]]||_0x24a3[25])||null;break ;;case _0x24a3[24]:break ;;case _0x24a3[32]:_0xf0fcx11[_0x24a3[28]][_0x24a3[27]]=[];_0xf0fcxe[_0x24a3[31]](function(_0xf0fcx14){var _0xf0fcx15={};_0xf0fcx15[_0xf0fcx14]={$like:_0x24a3[29]+_0xf0fcx12+_0x24a3[29]};_0xf0fcx11[_0x24a3[28]][_0x24a3[27]][_0x24a3[30]](_0xf0fcx15);});break ;;default:_0xf0fcx11[_0x24a3[28]][_0xf0fcx13]={$like:{}};_0xf0fcx11[_0x24a3[28]][_0xf0fcx13][_0x24a3[33]]=_0x24a3[29]+_0xf0fcx12+_0x24a3[29];;}});VoiceMusicOnHold[_0x24a3[48]](_0xf0fcx11)[_0x24a3[47]](function(_0xf0fcx17){var _0xf0fcx18=Math[_0x24a3[37]](_0xf0fcx17[_0x24a3[36]]/_0xf0fcxf);var _0xf0fcx19=_0xf0fcx18>(_0xf0fcx11[_0x24a3[38]]+1)?util[_0x24a3[26]](_0x24a3[39],_0xf0fcxc[_0x24a3[40]],_0xf0fcxc[_0x24a3[42]][_0x24a3[41]],_0xf0fcxc[_0x24a3[43]],_0xf0fcx10+1):null;var _0xf0fcx1a=_0xf0fcx10>0?util[_0x24a3[26]](_0x24a3[39],_0xf0fcxc[_0x24a3[40]],_0xf0fcxc[_0x24a3[42]][_0x24a3[41]],_0xf0fcxc[_0x24a3[43]],_0xf0fcx10-1):null;_0xf0fcxd[_0x24a3[46]](200)[_0x24a3[45]]({count:_0xf0fcx17[_0x24a3[36]],rows:_0xf0fcx17[_0x24a3[44]],next_page:_0xf0fcx19,previous_page:_0xf0fcx1a,total_pages:_0xf0fcx18});})[_0x24a3[35]](function(_0xf0fcx16){return handleError(_0xf0fcxd,_0xf0fcx16)});};exports[_0x24a3[49]]=function(_0xf0fcxc,_0xf0fcxd){VoiceMusicOnHold[_0x24a3[53]](_0xf0fcxc[_0x24a3[52]][_0x24a3[51]])[_0x24a3[47]](function(_0xf0fcx1b){if(!_0xf0fcx1b){return _0xf0fcxd[_0x24a3[50]](404)};return _0xf0fcxd[_0x24a3[45]](_0xf0fcx1b);})[_0x24a3[35]](function(_0xf0fcx16){return handleError(_0xf0fcxd,_0xf0fcx16)})};exports[_0x24a3[54]]=function(_0xf0fcxc,_0xf0fcxd){VoiceMusicOnHold[_0x24a3[53]](_0xf0fcxc[_0x24a3[52]][_0x24a3[51]])[_0x24a3[47]](function(_0xf0fcx1b){if(!_0xf0fcx1b){return _0xf0fcxd[_0x24a3[50]](404)};Upload[_0x24a3[67]]({where:{id:_0xf0fcxc[_0x24a3[66]][_0x24a3[65]]}})[_0x24a3[47]](function(_0xf0fcx1c){var _0xf0fcx1d=path[_0x24a3[58]](config[_0x24a3[56]],_0x24a3[57]);var _0xf0fcx1e;_0xf0fcx1c[_0x24a3[31]](function(_0xf0fcx1f){_0xf0fcx1e=path[_0x24a3[58]](_0xf0fcx1b[_0x24a3[15]],_0xf0fcx1f[_0x24a3[59]]+_0x24a3[60]);fse[_0x24a3[62]](path[_0x24a3[58]](_0xf0fcx1d,_0xf0fcx1f[_0x24a3[61]]+_0x24a3[60]),_0xf0fcx1e);});fs[_0x24a3[64]](_0xf0fcx1e,parseInt(_0x24a3[63],8));_0xf0fcxd[_0x24a3[50]](200);})[_0x24a3[35]](function(_0xf0fcx16){console[_0x24a3[55]](_0xf0fcx16);return handleError(_0xf0fcxd,_0xf0fcx16);});})[_0x24a3[35]](function(_0xf0fcx16){return handleError(_0xf0fcxd,_0xf0fcx16)})};exports[_0x24a3[68]]=function(_0xf0fcxc,_0xf0fcxd){var _0xf0fcx20={};VoiceMusicOnHold[_0x24a3[53]](_0xf0fcxc[_0x24a3[52]][_0x24a3[51]])[_0x24a3[47]](function(_0xf0fcx1b){if(!_0xf0fcx1b){return _0xf0fcxd[_0x24a3[50]](404)};_0xf0fcx20[_0x24a3[8]]=_0xf0fcx1b[_0x24a3[15]];fs[_0x24a3[70]](_0xf0fcx1b[_0x24a3[15]],function(_0xf0fcx16,_0xf0fcx21){if(!_0xf0fcx16){_0xf0fcx20[_0x24a3[69]]=_0xf0fcx21;return _0xf0fcxd[_0x24a3[45]](_0xf0fcx20);}else {throw _0xf0fcx16}});})[_0x24a3[35]](function(_0xf0fcx16){return handleError(_0xf0fcxd,_0xf0fcx16)});};exports[_0x24a3[71]]=function(_0xf0fcxc,_0xf0fcxd){VoiceMusicOnHold[_0x24a3[53]](_0xf0fcxc[_0x24a3[52]][_0x24a3[51]])[_0x24a3[47]](function(_0xf0fcx1b){if(!_0xf0fcx1b){return _0xf0fcxd[_0x24a3[50]](404)};var _0xf0fcx22=_0xf0fcx1b[_0x24a3[15]]+_0x24a3[72]+_0xf0fcxc[_0x24a3[19]][_0x24a3[73]];fs[_0x24a3[74]](_0xf0fcx22,function(_0xf0fcx16){if(_0xf0fcx16){return handleError(_0xf0fcxd,_0xf0fcx16)}else {return _0xf0fcxd[_0x24a3[50]](204)}});})[_0x24a3[35]](function(_0xf0fcx16){return handleError(_0xf0fcxd,_0xf0fcx16)})};exports[_0x24a3[75]]=function(_0xf0fcxc,_0xf0fcxd){console[_0x24a3[55]](_0xf0fcxc[_0x24a3[66]]);VoiceMusicOnHold[_0x24a3[67]]({where:{name:_0xf0fcxc[_0x24a3[66]][_0x24a3[14]]}})[_0x24a3[47]](function(_0xf0fcx23){if(!_0xf0fcx23){return _0xf0fcxd[_0x24a3[50]](404)};return _0xf0fcxd[_0x24a3[45]](_0xf0fcx23);})[_0x24a3[35]](function(_0xf0fcx16){return handleError(_0xf0fcxd,_0xf0fcx16)});};exports[_0x24a3[76]]=function(_0xf0fcxc,_0xf0fcxd){VoiceMusicOnHold[_0x24a3[67]]({where:{name:_0xf0fcxc[_0x24a3[66]][_0x24a3[14]]}})[_0x24a3[47]](function(_0xf0fcx24){console[_0x24a3[55]](_0xf0fcx24);console[_0x24a3[55]](_0x24a3[78]);if(!_0xf0fcx24){console[_0x24a3[55]](_0x24a3[79]);return _0xf0fcxd[_0x24a3[50]](404);};if(_0xf0fcx24[_0x24a3[80]]>0){console[_0x24a3[55]](_0x24a3[81]);return _0xf0fcxd[_0x24a3[46]](500)[_0x24a3[45]]({message:_0x24a3[82]});};return sequelize[_0x24a3[90]]()[_0x24a3[47]](function(_0xf0fcx25){_0xf0fcxc[_0x24a3[66]][_0x24a3[15]]=path[_0x24a3[58]](config[_0x24a3[56]],_0x24a3[83],_0xf0fcxc[_0x24a3[66]][_0x24a3[14]]);return VoiceMusicOnHold[_0x24a3[76]](_0xf0fcxc[_0x24a3[66]],{transaction:_0xf0fcx25})[_0x24a3[47]](function(_0xf0fcx1b){fs[_0x24a3[89]](_0xf0fcx1b[_0x24a3[15]],parseInt(_0x24a3[63],8),function(_0xf0fcx16){if(_0xf0fcx16){console[_0x24a3[55]](_0x24a3[85]);_0xf0fcx25[_0x24a3[84]]();return _0xf0fcxd[_0x24a3[46]](500)[_0x24a3[45]]({message:_0x24a3[86]});};_0xf0fcx25[_0x24a3[87]]();console[_0x24a3[55]](_0x24a3[88]);return _0xf0fcxd[_0x24a3[46]](201)[_0x24a3[45]](_0xf0fcx1b);})})[_0x24a3[35]](function(_0xf0fcx16){_0xf0fcx25[_0x24a3[84]]()});});})[_0x24a3[35]](function(_0xf0fcx16){console[_0x24a3[55]](_0x24a3[77]);return handleError(_0xf0fcxd,_0xf0fcx16);})};exports[_0x24a3[91]]=function(_0xf0fcxc,_0xf0fcxd){if(_0xf0fcxc[_0x24a3[66]][_0x24a3[51]]){delete _0xf0fcxc[_0x24a3[66]][_0x24a3[51]]};VoiceMusicOnHold[_0x24a3[94]]({where:{id:_0xf0fcxc[_0x24a3[52]][_0x24a3[51]]}})[_0x24a3[47]](function(_0xf0fcx1b){if(!_0xf0fcx1b){return _0xf0fcxd[_0x24a3[50]](404)};var _0xf0fcx26=_[_0x24a3[92]](_0xf0fcx1b,_0xf0fcxc[_0x24a3[66]]);_0xf0fcx26[_0x24a3[93]]()[_0x24a3[47]](function(){return _0xf0fcxd[_0x24a3[46]](200)[_0x24a3[45]](_0xf0fcx1b)})[_0x24a3[35]](function(_0xf0fcx16){return handleError(_0xf0fcxd,_0xf0fcx16)});})[_0x24a3[35]](function(_0xf0fcx16){return handleError(_0xf0fcxd,_0xf0fcx16)});};exports[_0x24a3[95]]=function(_0xf0fcxc,_0xf0fcxd){VoiceMusicOnHold[_0x24a3[53]](_0xf0fcxc[_0x24a3[52]][_0x24a3[51]])[_0x24a3[47]](function(_0xf0fcx1b){if(!_0xf0fcx1b){return _0xf0fcxd[_0x24a3[50]](404)};return sequelize[_0x24a3[90]](function(_0xf0fcx25){return _0xf0fcx1b[_0x24a3[95]]({transaction:_0xf0fcx25})[_0x24a3[47]](function(){remove(_0xf0fcx1b[_0x24a3[15]],function(_0xf0fcx16){if(_0xf0fcx16){console[_0x24a3[55]](_0xf0fcx16)};return _0xf0fcxd[_0x24a3[50]](204);})})})[_0x24a3[35]](function(_0xf0fcx16){return handleError(_0xf0fcxd,_0xf0fcx16)});})[_0x24a3[35]](function(_0xf0fcx16){return handleError(_0xf0fcxd,_0xf0fcx16)})};exports[_0x24a3[96]]=function(_0xf0fcxc,_0xf0fcxd){VoiceMusicOnHold[_0x24a3[67]]({where:{id:_0xf0fcxc[_0x24a3[19]][_0x24a3[51]]}})[_0x24a3[47]](function(_0xf0fcx27){if(!_0xf0fcx27){return _0xf0fcxd[_0x24a3[50]](404)};return sequelize[_0x24a3[90]](function(_0xf0fcx25){_0xf0fcx27[_0x24a3[31]](function(_0xf0fcx28){return _0xf0fcx28[_0x24a3[95]]({transaction:_0xf0fcx25})[_0x24a3[47]](function(){remove(_0xf0fcx28[_0x24a3[15]],function(_0xf0fcx16){if(_0xf0fcx16){console[_0x24a3[55]](_0xf0fcx16);throw _0xf0fcx16;}})})})})[_0x24a3[47]](function(){return _0xf0fcxd[_0x24a3[50]](204)})[_0x24a3[35]](function(_0xf0fcx16){console[_0x24a3[55]](_0xf0fcx16);return handleError(_0xf0fcxd,_0xf0fcx16);});})[_0x24a3[35]](function(_0xf0fcx16){return handleError(_0xf0fcxd,_0xf0fcx16)})};exports[_0x24a3[97]]=function(_0xf0fcxc,_0xf0fcxd){var _0xf0fcx29=decodeURI(_0xf0fcxc[_0x24a3[19]][_0x24a3[8]]);base64[_0x24a3[98]](_0xf0fcx29,function(_0xf0fcx16,_0xf0fcx2a){if(_0xf0fcx16){return handleError(_0xf0fcxd,_0xf0fcx16)}else {return _0xf0fcxd[_0x24a3[46]](200)[_0x24a3[45]](_0xf0fcx2a)}});};function handleError(_0xf0fcxd,_0xf0fcx16){return _0xf0fcxd[_0x24a3[46]](500)[_0x24a3[45]](_0xf0fcx16)}
\ No newline at end of file
+var _0x99e3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x56\x6F\x69\x63\x65\x4D\x75\x73\x69\x63\x4F\x6E\x48\x6F\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x66\x73","\x72\x65\x6D\x6F\x76\x65","\x55\x70\x6C\x6F\x61\x64","\x66\x73\x2D\x65\x78\x74\x72\x61","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x75\x74\x69\x6C","\x66\x69\x6C\x65\x2D\x62\x61\x73\x65\x36\x34","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x69\x72\x65\x63\x74\x6F\x72\x79","\x73\x6F\x72\x74","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x64\x64\x46\x69\x6C\x65\x73","\x6C\x6F\x67","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x73\x6F\x75\x6E\x64\x73\x2F\x63\x6F\x6E\x76\x65\x72\x74\x65\x64","\x6A\x6F\x69\x6E","\x64\x69\x73\x70\x6C\x61\x79\x5F\x6E\x61\x6D\x65","\x2E\x77\x61\x76","\x73\x61\x76\x65\x5F\x6E\x61\x6D\x65","\x63\x6F\x70\x79\x53\x79\x6E\x63","\x30\x37\x37\x37","\x63\x68\x6D\x6F\x64\x53\x79\x6E\x63","\x73\x6F\x75\x6E\x64\x73","\x62\x6F\x64\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77\x41\x75\x64\x69\x6F\x46\x69\x6C\x65\x73","\x66\x69\x6C\x65\x73","\x72\x65\x61\x64\x64\x69\x72","\x64\x65\x6C\x65\x74\x65\x41\x75\x64\x69\x6F\x46\x69\x6C\x65\x73","\x2F","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x75\x6E\x6C\x69\x6E\x6B","\x6D\x6F\x68\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x63\x72\x65\x61\x74\x65","\x74\x68\x61\x74\x65\x72\x72\x6F\x72","\x46\x69\x6E\x64\x69\x6E\x67\x20\x61\x70\x70\x20\x72\x6F\x77\x2E\x2E\x2E\x2E\x2E","\x65\x72\x72\x6F\x72\x31","\x6C\x65\x6E\x67\x74\x68","\x65\x72\x72\x6F\x72\x32","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x4D\x4F\x48","\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x6D\x6F\x68","\x72\x6F\x6C\x6C\x62\x61\x63\x6B","\x66\x69\x6C\x65\x20\x65\x72\x72\x6F\x72","\x4D\x45\x53\x53\x41\x47\x45\x5F\x46\x49\x4C\x45\x5F\x43\x52\x45\x41\x54\x49\x4F\x4E\x5F\x45\x52\x52\x4F\x52","\x63\x6F\x6D\x6D\x69\x74","\x66\x69\x6C\x65\x20\x63\x72\x65\x61\x74\x65\x64","\x6D\x6B\x64\x69\x72","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x73\x74\x72\x65\x61\x6D","\x65\x6E\x63\x6F\x64\x65"];_0x99e3[0];var _=require(_0x99e3[1]);var VoiceMusicOnHold=require(_0x99e3[3])[_0x99e3[2]];var fs=require(_0x99e3[4]);var remove=require(_0x99e3[5]);var Upload=require(_0x99e3[3])[_0x99e3[6]];var fse=require(_0x99e3[7]);var path=require(_0x99e3[8]);var config=require(_0x99e3[9]);var sequelize=require(_0x99e3[3])[_0x99e3[10]];var util=require(_0x99e3[11]);var base64=require(_0x99e3[12]);exports[_0x99e3[13]]=function(_0x6be3xc,_0x6be3xd){var _0x6be3xe=[_0x99e3[14],_0x99e3[15],_0x99e3[16],_0x99e3[17]];var _0x6be3xf=_0x6be3xc[_0x99e3[19]][_0x99e3[18]]?parseInt(_0x6be3xc[_0x99e3[19]][_0x99e3[18]],10):100;var _0x6be3x10=_0x6be3xc[_0x99e3[19]][_0x99e3[20]]?parseInt(_0x6be3xc[_0x99e3[19]][_0x99e3[20]],10):0;var _0x6be3x11={where:{},limit:_0x6be3xf,offset:_0x6be3x10*_0x6be3xf};_[_0x99e3[34]](_0x6be3xc[_0x99e3[19]],function(_0x6be3x12,_0x6be3x13){switch(_0x6be3x13){case _0x99e3[18]:;case _0x99e3[20]:break ;;case _0x99e3[23]:_0x6be3x11[_0x99e3[21]]=util[_0x99e3[26]](_0x99e3[22],_0x6be3xc[_0x99e3[19]][_0x99e3[23]],_0x6be3xc[_0x99e3[19]][_0x99e3[24]]||_0x99e3[25])||null;break ;;case _0x99e3[24]:break ;;case _0x99e3[32]:_0x6be3x11[_0x99e3[28]][_0x99e3[27]]=[];_0x6be3xe[_0x99e3[31]](function(_0x6be3x14){var _0x6be3x15={};_0x6be3x15[_0x6be3x14]={$like:_0x99e3[29]+_0x6be3x12+_0x99e3[29]};_0x6be3x11[_0x99e3[28]][_0x99e3[27]][_0x99e3[30]](_0x6be3x15);});break ;;default:_0x6be3x11[_0x99e3[28]][_0x6be3x13]={$like:{}};_0x6be3x11[_0x99e3[28]][_0x6be3x13][_0x99e3[33]]=_0x99e3[29]+_0x6be3x12+_0x99e3[29];;}});VoiceMusicOnHold[_0x99e3[48]](_0x6be3x11)[_0x99e3[47]](function(_0x6be3x17){var _0x6be3x18=Math[_0x99e3[37]](_0x6be3x17[_0x99e3[36]]/_0x6be3xf);var _0x6be3x19=_0x6be3x18>(_0x6be3x11[_0x99e3[38]]+1)?util[_0x99e3[26]](_0x99e3[39],_0x6be3xc[_0x99e3[40]],_0x6be3xc[_0x99e3[42]][_0x99e3[41]],_0x6be3xc[_0x99e3[43]],_0x6be3x10+1):null;var _0x6be3x1a=_0x6be3x10>0?util[_0x99e3[26]](_0x99e3[39],_0x6be3xc[_0x99e3[40]],_0x6be3xc[_0x99e3[42]][_0x99e3[41]],_0x6be3xc[_0x99e3[43]],_0x6be3x10-1):null;_0x6be3xd[_0x99e3[46]](200)[_0x99e3[45]]({count:_0x6be3x17[_0x99e3[36]],rows:_0x6be3x17[_0x99e3[44]],next_page:_0x6be3x19,previous_page:_0x6be3x1a,total_pages:_0x6be3x18});})[_0x99e3[35]](function(_0x6be3x16){return handleError(_0x6be3xd,_0x6be3x16)});};exports[_0x99e3[49]]=function(_0x6be3xc,_0x6be3xd){VoiceMusicOnHold[_0x99e3[53]](_0x6be3xc[_0x99e3[52]][_0x99e3[51]])[_0x99e3[47]](function(_0x6be3x1b){if(!_0x6be3x1b){return _0x6be3xd[_0x99e3[50]](404)};return _0x6be3xd[_0x99e3[45]](_0x6be3x1b);})[_0x99e3[35]](function(_0x6be3x16){return handleError(_0x6be3xd,_0x6be3x16)})};exports[_0x99e3[54]]=function(_0x6be3xc,_0x6be3xd){VoiceMusicOnHold[_0x99e3[53]](_0x6be3xc[_0x99e3[52]][_0x99e3[51]])[_0x99e3[47]](function(_0x6be3x1b){if(!_0x6be3x1b){return _0x6be3xd[_0x99e3[50]](404)};Upload[_0x99e3[67]]({where:{id:_0x6be3xc[_0x99e3[66]][_0x99e3[65]]}})[_0x99e3[47]](function(_0x6be3x1c){var _0x6be3x1d=path[_0x99e3[58]](config[_0x99e3[56]],_0x99e3[57]);var _0x6be3x1e;_0x6be3x1c[_0x99e3[31]](function(_0x6be3x1f){_0x6be3x1e=path[_0x99e3[58]](_0x6be3x1b[_0x99e3[15]],_0x6be3x1f[_0x99e3[59]]+_0x99e3[60]);fse[_0x99e3[62]](path[_0x99e3[58]](_0x6be3x1d,_0x6be3x1f[_0x99e3[61]]+_0x99e3[60]),_0x6be3x1e);});fs[_0x99e3[64]](_0x6be3x1e,parseInt(_0x99e3[63],8));_0x6be3xd[_0x99e3[50]](200);})[_0x99e3[35]](function(_0x6be3x16){console[_0x99e3[55]](_0x6be3x16);return handleError(_0x6be3xd,_0x6be3x16);});})[_0x99e3[35]](function(_0x6be3x16){return handleError(_0x6be3xd,_0x6be3x16)})};exports[_0x99e3[68]]=function(_0x6be3xc,_0x6be3xd){var _0x6be3x20={};VoiceMusicOnHold[_0x99e3[53]](_0x6be3xc[_0x99e3[52]][_0x99e3[51]])[_0x99e3[47]](function(_0x6be3x1b){if(!_0x6be3x1b){return _0x6be3xd[_0x99e3[50]](404)};_0x6be3x20[_0x99e3[8]]=_0x6be3x1b[_0x99e3[15]];fs[_0x99e3[70]](_0x6be3x1b[_0x99e3[15]],function(_0x6be3x16,_0x6be3x21){if(!_0x6be3x16){_0x6be3x20[_0x99e3[69]]=_0x6be3x21;return _0x6be3xd[_0x99e3[45]](_0x6be3x20);}else {throw _0x6be3x16}});})[_0x99e3[35]](function(_0x6be3x16){return handleError(_0x6be3xd,_0x6be3x16)});};exports[_0x99e3[71]]=function(_0x6be3xc,_0x6be3xd){VoiceMusicOnHold[_0x99e3[53]](_0x6be3xc[_0x99e3[52]][_0x99e3[51]])[_0x99e3[47]](function(_0x6be3x1b){if(!_0x6be3x1b){return _0x6be3xd[_0x99e3[50]](404)};var _0x6be3x22=_0x6be3x1b[_0x99e3[15]]+_0x99e3[72]+_0x6be3xc[_0x99e3[19]][_0x99e3[73]];fs[_0x99e3[74]](_0x6be3x22,function(_0x6be3x16){if(_0x6be3x16){return handleError(_0x6be3xd,_0x6be3x16)}else {return _0x6be3xd[_0x99e3[50]](204)}});})[_0x99e3[35]](function(_0x6be3x16){return handleError(_0x6be3xd,_0x6be3x16)})};exports[_0x99e3[75]]=function(_0x6be3xc,_0x6be3xd){console[_0x99e3[55]](_0x6be3xc[_0x99e3[66]]);VoiceMusicOnHold[_0x99e3[67]]({where:{name:_0x6be3xc[_0x99e3[66]][_0x99e3[14]]}})[_0x99e3[47]](function(_0x6be3x23){if(!_0x6be3x23){return _0x6be3xd[_0x99e3[50]](404)};return _0x6be3xd[_0x99e3[45]](_0x6be3x23);})[_0x99e3[35]](function(_0x6be3x16){return handleError(_0x6be3xd,_0x6be3x16)});};exports[_0x99e3[76]]=function(_0x6be3xc,_0x6be3xd){VoiceMusicOnHold[_0x99e3[67]]({where:{name:_0x6be3xc[_0x99e3[66]][_0x99e3[14]]}})[_0x99e3[47]](function(_0x6be3x24){console[_0x99e3[55]](_0x6be3x24);console[_0x99e3[55]](_0x99e3[78]);if(!_0x6be3x24){console[_0x99e3[55]](_0x99e3[79]);return _0x6be3xd[_0x99e3[50]](404);};if(_0x6be3x24[_0x99e3[80]]>0){console[_0x99e3[55]](_0x99e3[81]);return _0x6be3xd[_0x99e3[46]](500)[_0x99e3[45]]({message:_0x99e3[82]});};return sequelize[_0x99e3[90]]()[_0x99e3[47]](function(_0x6be3x25){_0x6be3xc[_0x99e3[66]][_0x99e3[15]]=path[_0x99e3[58]](config[_0x99e3[56]],_0x99e3[83],_0x6be3xc[_0x99e3[66]][_0x99e3[14]]);return VoiceMusicOnHold[_0x99e3[76]](_0x6be3xc[_0x99e3[66]],{transaction:_0x6be3x25})[_0x99e3[47]](function(_0x6be3x1b){fs[_0x99e3[89]](_0x6be3x1b[_0x99e3[15]],parseInt(_0x99e3[63],8),function(_0x6be3x16){if(_0x6be3x16){console[_0x99e3[55]](_0x99e3[85]);_0x6be3x25[_0x99e3[84]]();return _0x6be3xd[_0x99e3[46]](500)[_0x99e3[45]]({message:_0x99e3[86]});};_0x6be3x25[_0x99e3[87]]();console[_0x99e3[55]](_0x99e3[88]);return _0x6be3xd[_0x99e3[46]](201)[_0x99e3[45]](_0x6be3x1b);})})[_0x99e3[35]](function(_0x6be3x16){_0x6be3x25[_0x99e3[84]]()});});})[_0x99e3[35]](function(_0x6be3x16){console[_0x99e3[55]](_0x99e3[77]);return handleError(_0x6be3xd,_0x6be3x16);})};exports[_0x99e3[91]]=function(_0x6be3xc,_0x6be3xd){if(_0x6be3xc[_0x99e3[66]][_0x99e3[51]]){delete _0x6be3xc[_0x99e3[66]][_0x99e3[51]]};VoiceMusicOnHold[_0x99e3[94]]({where:{id:_0x6be3xc[_0x99e3[52]][_0x99e3[51]]}})[_0x99e3[47]](function(_0x6be3x1b){if(!_0x6be3x1b){return _0x6be3xd[_0x99e3[50]](404)};var _0x6be3x26=_[_0x99e3[92]](_0x6be3x1b,_0x6be3xc[_0x99e3[66]]);_0x6be3x26[_0x99e3[93]]()[_0x99e3[47]](function(){return _0x6be3xd[_0x99e3[46]](200)[_0x99e3[45]](_0x6be3x1b)})[_0x99e3[35]](function(_0x6be3x16){return handleError(_0x6be3xd,_0x6be3x16)});})[_0x99e3[35]](function(_0x6be3x16){return handleError(_0x6be3xd,_0x6be3x16)});};exports[_0x99e3[95]]=function(_0x6be3xc,_0x6be3xd){VoiceMusicOnHold[_0x99e3[53]](_0x6be3xc[_0x99e3[52]][_0x99e3[51]])[_0x99e3[47]](function(_0x6be3x1b){if(!_0x6be3x1b){return _0x6be3xd[_0x99e3[50]](404)};return sequelize[_0x99e3[90]](function(_0x6be3x25){return _0x6be3x1b[_0x99e3[95]]({transaction:_0x6be3x25})[_0x99e3[47]](function(){remove(_0x6be3x1b[_0x99e3[15]],function(_0x6be3x16){if(_0x6be3x16){console[_0x99e3[55]](_0x6be3x16)};return _0x6be3xd[_0x99e3[50]](204);})})})[_0x99e3[35]](function(_0x6be3x16){return handleError(_0x6be3xd,_0x6be3x16)});})[_0x99e3[35]](function(_0x6be3x16){return handleError(_0x6be3xd,_0x6be3x16)})};exports[_0x99e3[96]]=function(_0x6be3xc,_0x6be3xd){VoiceMusicOnHold[_0x99e3[67]]({where:{id:_0x6be3xc[_0x99e3[19]][_0x99e3[51]]}})[_0x99e3[47]](function(_0x6be3x27){if(!_0x6be3x27){return _0x6be3xd[_0x99e3[50]](404)};return sequelize[_0x99e3[90]](function(_0x6be3x25){_0x6be3x27[_0x99e3[31]](function(_0x6be3x28){return _0x6be3x28[_0x99e3[95]]({transaction:_0x6be3x25})[_0x99e3[47]](function(){remove(_0x6be3x28[_0x99e3[15]],function(_0x6be3x16){if(_0x6be3x16){console[_0x99e3[55]](_0x6be3x16);throw _0x6be3x16;}})})})})[_0x99e3[47]](function(){return _0x6be3xd[_0x99e3[50]](204)})[_0x99e3[35]](function(_0x6be3x16){console[_0x99e3[55]](_0x6be3x16);return handleError(_0x6be3xd,_0x6be3x16);});})[_0x99e3[35]](function(_0x6be3x16){return handleError(_0x6be3xd,_0x6be3x16)})};exports[_0x99e3[97]]=function(_0x6be3xc,_0x6be3xd){var _0x6be3x29=decodeURI(_0x6be3xc[_0x99e3[19]][_0x99e3[8]]);base64[_0x99e3[98]](_0x6be3x29,function(_0x6be3x16,_0x6be3x2a){if(_0x6be3x16){return handleError(_0x6be3xd,_0x6be3x16)}else {return _0x6be3xd[_0x99e3[46]](200)[_0x99e3[45]](_0x6be3x2a)}});};function handleError(_0x6be3xd,_0x6be3x16){return _0x6be3xd[_0x99e3[46]](500)[_0x99e3[45]](_0x6be3x16)}
\ No newline at end of file
index 00be129a6990013df29672e2cc752ffeb444bbec..f89b4057989c571466ef51353bb687c516814cbc 100644 (file)
@@ -1 +1 @@
-var _0xdc5a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x56\x6F\x69\x63\x65\x4D\x75\x73\x69\x63\x4F\x6E\x48\x6F\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x76\x6F\x69\x63\x65\x5F\x6D\x75\x73\x69\x63\x6F\x6E\x68\x6F\x6C\x64\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x76\x6F\x69\x63\x65\x5F\x6D\x75\x73\x69\x63\x6F\x6E\x68\x6F\x6C\x64\x3A\x72\x65\x6D\x6F\x76\x65"];_0xdc5a[0];var VoiceMusicOnHold=require(_0xdc5a[2])[_0xdc5a[1]];exports[_0xdc5a[3]]=function(_0x3b1ex2){VoiceMusicOnHold[_0xdc5a[4]](function(_0x3b1ex3){onSave(_0x3b1ex2,_0x3b1ex3)});VoiceMusicOnHold[_0xdc5a[5]](function(_0x3b1ex3){onRemove(_0x3b1ex2,_0x3b1ex3)});};function onSave(_0x3b1ex2,_0x3b1ex3,_0x3b1ex5){_0x3b1ex2[_0xdc5a[7]](_0xdc5a[6],_0x3b1ex3)}function onRemove(_0x3b1ex2,_0x3b1ex3,_0x3b1ex5){_0x3b1ex2[_0xdc5a[7]](_0xdc5a[8],_0x3b1ex3)}
\ No newline at end of file
+var _0xc4ca=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x56\x6F\x69\x63\x65\x4D\x75\x73\x69\x63\x4F\x6E\x48\x6F\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x76\x6F\x69\x63\x65\x5F\x6D\x75\x73\x69\x63\x6F\x6E\x68\x6F\x6C\x64\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x76\x6F\x69\x63\x65\x5F\x6D\x75\x73\x69\x63\x6F\x6E\x68\x6F\x6C\x64\x3A\x72\x65\x6D\x6F\x76\x65"];_0xc4ca[0];var VoiceMusicOnHold=require(_0xc4ca[2])[_0xc4ca[1]];exports[_0xc4ca[3]]=function(_0x1a09x2){VoiceMusicOnHold[_0xc4ca[4]](function(_0x1a09x3){onSave(_0x1a09x2,_0x1a09x3)});VoiceMusicOnHold[_0xc4ca[5]](function(_0x1a09x3){onRemove(_0x1a09x2,_0x1a09x3)});};function onSave(_0x1a09x2,_0x1a09x3,_0x1a09x5){_0x1a09x2[_0xc4ca[7]](_0xc4ca[6],_0x1a09x3)}function onRemove(_0x1a09x2,_0x1a09x3,_0x1a09x5){_0x1a09x2[_0xc4ca[7]](_0xc4ca[8],_0x1a09x3)}
\ No newline at end of file
index 73a7a9507be24ccb259fd212f2f602ac0a3a924a..5c0d93ec9e61912d0992e41b3787bcefc929857e 100644 (file)
@@ -1 +1 @@
-var _0x9d6f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x6D\x75\x73\x69\x63\x6F\x6E\x68\x6F\x6C\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x6D\x75\x73\x69\x63\x6F\x6E\x68\x6F\x6C\x64","\x67\x65\x74"];_0x9d6f[0];var should=require(_0x9d6f[1]);var app=require(_0x9d6f[2]);var request=require(_0x9d6f[3]);describe(_0x9d6f[4],function(){it(_0x9d6f[5],function(_0xb0f1x4){request(app)[_0x9d6f[13]](_0x9d6f[12])[_0x9d6f[11]](200)[_0x9d6f[11]](_0x9d6f[10],/json/)[_0x9d6f[9]](function(_0xb0f1x5,_0xb0f1x6){if(_0xb0f1x5){return _0xb0f1x4(_0xb0f1x5)};_0xb0f1x6[_0x9d6f[8]][_0x9d6f[1]][_0x9d6f[7]][_0x9d6f[6]](Array);_0xb0f1x4();})})});
\ No newline at end of file
+var _0xa1fa=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x6D\x75\x73\x69\x63\x6F\x6E\x68\x6F\x6C\x64","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x6D\x75\x73\x69\x63\x6F\x6E\x68\x6F\x6C\x64","\x67\x65\x74"];_0xa1fa[0];var should=require(_0xa1fa[1]);var app=require(_0xa1fa[2]);var request=require(_0xa1fa[3]);describe(_0xa1fa[4],function(){it(_0xa1fa[5],function(_0xc5e1x4){request(app)[_0xa1fa[13]](_0xa1fa[12])[_0xa1fa[11]](200)[_0xa1fa[11]](_0xa1fa[10],/json/)[_0xa1fa[9]](function(_0xc5e1x5,_0xc5e1x6){if(_0xc5e1x5){return _0xc5e1x4(_0xc5e1x5)};_0xc5e1x6[_0xa1fa[8]][_0xa1fa[1]][_0xa1fa[7]][_0xa1fa[6]](Array);_0xc5e1x4();})})});
\ No newline at end of file
index 0f414b8be8729fcde9e86374a3f9f9e4a4803b9a..1c0f0037659c07193d1b503b36d9b8dc8176d075 100644 (file)
@@ -1 +1 @@
-var _0x86a0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x71\x75\x65\x75\x65\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x2F\x3A\x69\x64\x2F\x61\x67\x65\x6E\x74\x73","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x2F\x3A\x6E\x61\x6D\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x86a0[0];var express=require(_0x86a0[1]);var controller=require(_0x86a0[2]);var auth=require(_0x86a0[3]);var router=express.Router();router[_0x86a0[7]](_0x86a0[4],auth[_0x86a0[5]](),controller[_0x86a0[6]]);router[_0x86a0[7]](_0x86a0[8],auth[_0x86a0[5]](),controller[_0x86a0[9]]);router[_0x86a0[11]](_0x86a0[4],auth[_0x86a0[5]](),controller[_0x86a0[10]]);router[_0x86a0[11]](_0x86a0[12],auth[_0x86a0[5]](),controller[_0x86a0[13]]);router[_0x86a0[11]](_0x86a0[14],auth[_0x86a0[5]](),controller[_0x86a0[15]]);router[_0x86a0[17]](_0x86a0[8],auth[_0x86a0[5]](),controller[_0x86a0[16]]);router[_0x86a0[17]](_0x86a0[14],auth[_0x86a0[5]](),controller[_0x86a0[18]]);router[_0x86a0[20]](_0x86a0[4],auth[_0x86a0[5]](),controller[_0x86a0[19]]);router[_0x86a0[20]](_0x86a0[21],auth[_0x86a0[5]](),controller[_0x86a0[22]]);module[_0x86a0[23]]=router;
\ No newline at end of file
+var _0x2e65=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x71\x75\x65\x75\x65\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x2F\x3A\x69\x64\x2F\x61\x67\x65\x6E\x74\x73","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x2F\x3A\x6E\x61\x6D\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x2e65[0];var express=require(_0x2e65[1]);var controller=require(_0x2e65[2]);var auth=require(_0x2e65[3]);var router=express.Router();router[_0x2e65[7]](_0x2e65[4],auth[_0x2e65[5]](),controller[_0x2e65[6]]);router[_0x2e65[7]](_0x2e65[8],auth[_0x2e65[5]](),controller[_0x2e65[9]]);router[_0x2e65[11]](_0x2e65[4],auth[_0x2e65[5]](),controller[_0x2e65[10]]);router[_0x2e65[11]](_0x2e65[12],auth[_0x2e65[5]](),controller[_0x2e65[13]]);router[_0x2e65[11]](_0x2e65[14],auth[_0x2e65[5]](),controller[_0x2e65[15]]);router[_0x2e65[17]](_0x2e65[8],auth[_0x2e65[5]](),controller[_0x2e65[16]]);router[_0x2e65[17]](_0x2e65[14],auth[_0x2e65[5]](),controller[_0x2e65[18]]);router[_0x2e65[20]](_0x2e65[4],auth[_0x2e65[5]](),controller[_0x2e65[19]]);router[_0x2e65[20]](_0x2e65[21],auth[_0x2e65[5]](),controller[_0x2e65[22]]);module[_0x2e65[23]]=router;
\ No newline at end of file
index c28bcc86407b31711d50b623aa6f8ff349590e50..c69042d7c175286449a12e1b5fc51877e8997964 100644 (file)
@@ -1 +1 @@
-var _0xad80=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x55\x73\x65\x72\x48\x61\x73\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x73\x74\x72\x61\x74\x65\x67\x79","\x63\x6F\x6E\x74\x65\x78\x74","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x6C\x6F\x67","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x71\x75\x65\x75\x65\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x62\x6F\x64\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x63\x72\x65\x61\x74\x65","\x46\x69\x6E\x64\x69\x6E\x67\x20\x61\x70\x70\x20\x72\x6F\x77\x2E\x2E\x2E\x2E\x2E","\x6C\x65\x6E\x67\x74\x68","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x51\x55\x45\x55\x45","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x53\x49\x50\x2F\x25\x73","\x6D\x61\x70","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x61\x67\x65\x6E\x74\x73","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x72\x65\x6D\x6F\x76\x65\x55\x73\x65\x72\x73","\x6E\x6F\x20\x6D\x61\x69\x6C\x20\x71\x75\x65\x75\x65\x20\x66\x6F\x75\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79","\x4D\x45\x53\x53\x41\x47\x45\x5F\x51\x55\x45\x55\x45\x5F\x52\x4F\x55\x54\x45\x5F\x41\x53\x53\x4F\x43\x49\x41\x54\x45\x44","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x70\x6C\x75\x63\x6B"];_0xad80[0];var _=require(_0xad80[1]);var util=require(_0xad80[2]);var User=require(_0xad80[4])[_0xad80[3]];var VoiceQueue=require(_0xad80[4])[_0xad80[5]];var UserHasVoiceQueue=require(_0xad80[4])[_0xad80[6]];var VoiceExtension=require(_0xad80[4])[_0xad80[7]];exports[_0xad80[8]]=function(_0xde9dx7,_0xde9dx8){var _0xde9dx9=[_0xad80[9],_0xad80[10],_0xad80[11],_0xad80[12]];var _0xde9dxa=_0xde9dx7[_0xad80[14]][_0xad80[13]]?parseInt(_0xde9dx7[_0xad80[14]][_0xad80[13]],10):100;var _0xde9dxb=_0xde9dx7[_0xad80[14]][_0xad80[15]]?parseInt(_0xde9dx7[_0xad80[14]][_0xad80[15]],10):0;var _0xde9dxc={where:{},limit:_0xde9dxa,offset:_0xde9dxb*_0xde9dxa};_[_0xad80[29]](_0xde9dx7[_0xad80[14]],function(_0xde9dxd,_0xde9dxe){switch(_0xde9dxe){case _0xad80[13]:;case _0xad80[15]:break ;;case _0xad80[18]:_0xde9dxc[_0xad80[16]]=util[_0xad80[21]](_0xad80[17],_0xde9dx7[_0xad80[14]][_0xad80[18]],_0xde9dx7[_0xad80[14]][_0xad80[19]]||_0xad80[20])||null;break ;;case _0xad80[19]:break ;;case _0xad80[27]:_0xde9dxc[_0xad80[23]][_0xad80[22]]=[];_0xde9dx9[_0xad80[26]](function(_0xde9dxf){var _0xde9dx10={};_0xde9dx10[_0xde9dxf]={$like:_0xad80[24]+_0xde9dxd+_0xad80[24]};_0xde9dxc[_0xad80[23]][_0xad80[22]][_0xad80[25]](_0xde9dx10);});break ;;default:_0xde9dxc[_0xad80[23]][_0xde9dxe]={$like:{}};_0xde9dxc[_0xad80[23]][_0xde9dxe][_0xad80[28]]=_0xad80[24]+_0xde9dxd+_0xad80[24];;}});VoiceQueue[_0xad80[44]](_0xde9dxc)[_0xad80[43]](function(_0xde9dx12){console[_0xad80[32]](_0xde9dx12[_0xad80[31]]);var _0xde9dx13=Math[_0xad80[33]](_0xde9dx12[_0xad80[31]]/_0xde9dxa);console[_0xad80[32]](_0xde9dx13);var _0xde9dx14=_0xde9dx13>(_0xde9dxc[_0xad80[34]]+1)?util[_0xad80[21]](_0xad80[35],_0xde9dx7[_0xad80[36]],_0xde9dx7[_0xad80[38]][_0xad80[37]],_0xde9dx7[_0xad80[39]],_0xde9dxb+1):null;var _0xde9dx15=_0xde9dxb>0?util[_0xad80[21]](_0xad80[35],_0xde9dx7[_0xad80[36]],_0xde9dx7[_0xad80[38]][_0xad80[37]],_0xde9dx7[_0xad80[39]],_0xde9dxb-1):null;_0xde9dx8[_0xad80[42]](200)[_0xad80[41]]({count:_0xde9dx12[_0xad80[31]],rows:_0xde9dx12[_0xad80[40]],next_page:_0xde9dx14,previous_page:_0xde9dx15,total_pages:_0xde9dx13});})[_0xad80[30]](function(_0xde9dx11){return handleError(_0xde9dx8,_0xde9dx11)});};exports[_0xad80[45]]=function(_0xde9dx7,_0xde9dx8){VoiceQueue[_0xad80[49]](_0xde9dx7[_0xad80[48]][_0xad80[47]])[_0xad80[43]](function(_0xde9dx16){if(!_0xde9dx16){return _0xde9dx8[_0xad80[46]](404)};return _0xde9dx8[_0xad80[41]](_0xde9dx16);})[_0xad80[30]](function(_0xde9dx11){return handleError(_0xde9dx8,_0xde9dx11)})};exports[_0xad80[50]]=function(_0xde9dx7,_0xde9dx8){console[_0xad80[32]](_0xde9dx7[_0xad80[51]]);VoiceQueue[_0xad80[52]]({where:{name:_0xde9dx7[_0xad80[51]][_0xad80[9]]}})[_0xad80[43]](function(_0xde9dx16){if(!_0xde9dx16){return _0xde9dx8[_0xad80[46]](404)};return _0xde9dx8[_0xad80[41]](_0xde9dx16);})[_0xad80[30]](function(_0xde9dx11){return handleError(_0xde9dx8,_0xde9dx11)});};exports[_0xad80[53]]=function(_0xde9dx7,_0xde9dx8){VoiceQueue[_0xad80[52]]({where:{name:_0xde9dx7[_0xad80[51]][_0xad80[9]]}})[_0xad80[43]](function(_0xde9dx17){console[_0xad80[32]](_0xde9dx17);console[_0xad80[32]](_0xad80[54]);if(!_0xde9dx17){return _0xde9dx8[_0xad80[46]](404)};if(_0xde9dx17[_0xad80[55]]>0){return _0xde9dx8[_0xad80[42]](500)[_0xad80[41]]({message:_0xad80[56]})};VoiceQueue[_0xad80[53]](_0xde9dx7[_0xad80[51]])[_0xad80[43]](function(_0xde9dx16){return _0xde9dx8[_0xad80[42]](201)[_0xad80[41]](_0xde9dx16)})[_0xad80[30]](function(_0xde9dx11){return handleError(_0xde9dx8,_0xde9dx11)});})[_0xad80[30]](function(_0xde9dx11){return handleError(_0xde9dx8,_0xde9dx11)})};exports[_0xad80[57]]=function(_0xde9dx7,_0xde9dx8){VoiceQueue[_0xad80[60]]({where:{name:_0xde9dx7[_0xad80[48]][_0xad80[47]]}})[_0xad80[43]](function(_0xde9dx18){if(!_0xde9dx18){return _0xde9dx8[_0xad80[46]](404)};if(_0xde9dx7[_0xad80[51]][_0xad80[47]]){delete _0xde9dx7[_0xad80[51]][_0xad80[47]]};var _0xde9dx19=_[_0xad80[58]](_0xde9dx18,_0xde9dx7[_0xad80[51]]);_0xde9dx19[_0xad80[59]]()[_0xad80[43]](function(){return _0xde9dx8[_0xad80[42]](200)[_0xad80[41]](_0xde9dx18)})[_0xad80[30]](function(_0xde9dx11){return handleError(_0xde9dx8,_0xde9dx11)});})[_0xad80[30]](function(_0xde9dx11){return handleError(_0xde9dx8,_0xde9dx11)})};exports[_0xad80[61]]=function(_0xde9dx7,_0xde9dx8,_0xde9dx1a){console[_0xad80[32]](_0xad80[61]);console[_0xad80[32]](_0xde9dx7[_0xad80[48]]);console[_0xad80[32]](_0xde9dx7[_0xad80[51]]);User[_0xad80[52]]({where:{id:{$in:_0xde9dx7[_0xad80[51]][_0xad80[65]]}}})[_0xad80[43]](function(_0xde9dx1b){var _0xde9dx1c=_[_0xad80[63]](_0xde9dx1b,function(_0xde9dx1d){return {queue:_0xde9dx7[_0xad80[48]][_0xad80[47]],location:util[_0xad80[21]](_0xad80[62],_0xde9dx1d[_0xad80[9]]),membername:_0xde9dx1d[_0xad80[9]],VoiceQueueName:_0xde9dx7[_0xad80[48]][_0xad80[47]],UserId:_0xde9dx1d[_0xad80[47]]}});UserHasVoiceQueue[_0xad80[64]](_0xde9dx1c,{individualHooks:true})[_0xad80[43]](function(){return _0xde9dx8[_0xad80[46]](200)})[_0xad80[30]](function(_0xde9dx11){return _0xde9dx1a(_0xde9dx11)});})[_0xad80[30]](function(_0xde9dx11){return _0xde9dx1a(_0xde9dx11)});};exports[_0xad80[66]]=function(_0xde9dx7,_0xde9dx8,_0xde9dx1a){VoiceQueue[_0xad80[60]]({where:{name:_0xde9dx7[_0xad80[48]][_0xad80[47]]}})[_0xad80[43]](function(_0xde9dx18){if(_0xde9dx18){_0xde9dx18[_0xad80[67]](_0xde9dx7[_0xad80[51]][_0xad80[65]],{individualHooks:true})[_0xad80[43]](function(){return _0xde9dx8[_0xad80[46]](200)})[_0xad80[30]](function(_0xde9dx11){return _0xde9dx1a(_0xde9dx11)})}else {return _0xde9dx1a( new Error(_0xad80[68]))}})[_0xad80[30]](function(_0xde9dx11){return _0xde9dx1a(_0xde9dx11)})};exports[_0xad80[69]]=function(_0xde9dx7,_0xde9dx8){VoiceQueue[_0xad80[60]]({where:{name:_0xde9dx7[_0xad80[48]][_0xad80[9]]}})[_0xad80[43]](function(_0xde9dx16){if(!_0xde9dx16){return _0xde9dx8[_0xad80[46]](404)};VoiceExtension[_0xad80[52]]({where:{queue:_0xde9dx16[_0xad80[9]]}})[_0xad80[43]](function(_0xde9dx1e){if(_0xde9dx1e[_0xad80[55]]>0){return _0xde9dx8[_0xad80[42]](500)[_0xad80[41]]({message:_0xad80[70]})};_0xde9dx16[_0xad80[69]]()[_0xad80[43]](function(){return _0xde9dx8[_0xad80[46]](204)})[_0xad80[30]](function(_0xde9dx11){return handleError(_0xde9dx8,_0xde9dx11)});})[_0xad80[30]](function(_0xde9dx11){return handleError(_0xde9dx8,_0xde9dx11)});})[_0xad80[30]](function(_0xde9dx11){return handleError(_0xde9dx8,_0xde9dx11)})};exports[_0xad80[71]]=function(_0xde9dx7,_0xde9dx8){VoiceQueue[_0xad80[52]]({where:{name:_0xde9dx7[_0xad80[14]][_0xad80[9]]}})[_0xad80[43]](function(_0xde9dx1f){if(!_0xde9dx1f){return _0xde9dx8[_0xad80[46]](404)};var _0xde9dx20=_[_0xad80[73]](_[_0xad80[73]](_0xde9dx1f,_0xad80[72]),_0xad80[9]);console[_0xad80[32]](_0xde9dx20);VoiceExtension[_0xad80[52]]({where:{queue:_0xde9dx20}})[_0xad80[43]](function(_0xde9dx1e){if(_0xde9dx1e[_0xad80[55]]>0){return _0xde9dx8[_0xad80[42]](500)[_0xad80[41]]({message:_0xad80[70]})};VoiceQueue[_0xad80[69]]({where:{name:_0xde9dx7[_0xad80[14]][_0xad80[9]]},individualHooks:true})[_0xad80[43]](function(){return _0xde9dx8[_0xad80[46]](204)})[_0xad80[30]](function(_0xde9dx11){return handleError(_0xde9dx8,_0xde9dx11)});})[_0xad80[30]](function(_0xde9dx11){return handleError(_0xde9dx8,_0xde9dx11)});})[_0xad80[30]](function(_0xde9dx11){return handleError(_0xde9dx8,_0xde9dx11)})};function handleError(_0xde9dx8,_0xde9dx11){return _0xde9dx8[_0xad80[42]](500)[_0xad80[41]](_0xde9dx11)}
\ No newline at end of file
+var _0x57b8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x55\x73\x65\x72\x48\x61\x73\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x73\x74\x72\x61\x74\x65\x67\x79","\x63\x6F\x6E\x74\x65\x78\x74","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x6C\x6F\x67","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x71\x75\x65\x75\x65\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x62\x6F\x64\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x63\x72\x65\x61\x74\x65","\x46\x69\x6E\x64\x69\x6E\x67\x20\x61\x70\x70\x20\x72\x6F\x77\x2E\x2E\x2E\x2E\x2E","\x6C\x65\x6E\x67\x74\x68","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x51\x55\x45\x55\x45","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x53\x49\x50\x2F\x25\x73","\x6D\x61\x70","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x61\x67\x65\x6E\x74\x73","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x72\x65\x6D\x6F\x76\x65\x55\x73\x65\x72\x73","\x6E\x6F\x20\x6D\x61\x69\x6C\x20\x71\x75\x65\x75\x65\x20\x66\x6F\x75\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79","\x4D\x45\x53\x53\x41\x47\x45\x5F\x51\x55\x45\x55\x45\x5F\x52\x4F\x55\x54\x45\x5F\x41\x53\x53\x4F\x43\x49\x41\x54\x45\x44","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x70\x6C\x75\x63\x6B"];_0x57b8[0];var _=require(_0x57b8[1]);var util=require(_0x57b8[2]);var User=require(_0x57b8[4])[_0x57b8[3]];var VoiceQueue=require(_0x57b8[4])[_0x57b8[5]];var UserHasVoiceQueue=require(_0x57b8[4])[_0x57b8[6]];var VoiceExtension=require(_0x57b8[4])[_0x57b8[7]];exports[_0x57b8[8]]=function(_0x2550x7,_0x2550x8){var _0x2550x9=[_0x57b8[9],_0x57b8[10],_0x57b8[11],_0x57b8[12]];var _0x2550xa=_0x2550x7[_0x57b8[14]][_0x57b8[13]]?parseInt(_0x2550x7[_0x57b8[14]][_0x57b8[13]],10):100;var _0x2550xb=_0x2550x7[_0x57b8[14]][_0x57b8[15]]?parseInt(_0x2550x7[_0x57b8[14]][_0x57b8[15]],10):0;var _0x2550xc={where:{},limit:_0x2550xa,offset:_0x2550xb*_0x2550xa};_[_0x57b8[29]](_0x2550x7[_0x57b8[14]],function(_0x2550xd,_0x2550xe){switch(_0x2550xe){case _0x57b8[13]:;case _0x57b8[15]:break ;;case _0x57b8[18]:_0x2550xc[_0x57b8[16]]=util[_0x57b8[21]](_0x57b8[17],_0x2550x7[_0x57b8[14]][_0x57b8[18]],_0x2550x7[_0x57b8[14]][_0x57b8[19]]||_0x57b8[20])||null;break ;;case _0x57b8[19]:break ;;case _0x57b8[27]:_0x2550xc[_0x57b8[23]][_0x57b8[22]]=[];_0x2550x9[_0x57b8[26]](function(_0x2550xf){var _0x2550x10={};_0x2550x10[_0x2550xf]={$like:_0x57b8[24]+_0x2550xd+_0x57b8[24]};_0x2550xc[_0x57b8[23]][_0x57b8[22]][_0x57b8[25]](_0x2550x10);});break ;;default:_0x2550xc[_0x57b8[23]][_0x2550xe]={$like:{}};_0x2550xc[_0x57b8[23]][_0x2550xe][_0x57b8[28]]=_0x57b8[24]+_0x2550xd+_0x57b8[24];;}});VoiceQueue[_0x57b8[44]](_0x2550xc)[_0x57b8[43]](function(_0x2550x12){console[_0x57b8[32]](_0x2550x12[_0x57b8[31]]);var _0x2550x13=Math[_0x57b8[33]](_0x2550x12[_0x57b8[31]]/_0x2550xa);console[_0x57b8[32]](_0x2550x13);var _0x2550x14=_0x2550x13>(_0x2550xc[_0x57b8[34]]+1)?util[_0x57b8[21]](_0x57b8[35],_0x2550x7[_0x57b8[36]],_0x2550x7[_0x57b8[38]][_0x57b8[37]],_0x2550x7[_0x57b8[39]],_0x2550xb+1):null;var _0x2550x15=_0x2550xb>0?util[_0x57b8[21]](_0x57b8[35],_0x2550x7[_0x57b8[36]],_0x2550x7[_0x57b8[38]][_0x57b8[37]],_0x2550x7[_0x57b8[39]],_0x2550xb-1):null;_0x2550x8[_0x57b8[42]](200)[_0x57b8[41]]({count:_0x2550x12[_0x57b8[31]],rows:_0x2550x12[_0x57b8[40]],next_page:_0x2550x14,previous_page:_0x2550x15,total_pages:_0x2550x13});})[_0x57b8[30]](function(_0x2550x11){return handleError(_0x2550x8,_0x2550x11)});};exports[_0x57b8[45]]=function(_0x2550x7,_0x2550x8){VoiceQueue[_0x57b8[49]](_0x2550x7[_0x57b8[48]][_0x57b8[47]])[_0x57b8[43]](function(_0x2550x16){if(!_0x2550x16){return _0x2550x8[_0x57b8[46]](404)};return _0x2550x8[_0x57b8[41]](_0x2550x16);})[_0x57b8[30]](function(_0x2550x11){return handleError(_0x2550x8,_0x2550x11)})};exports[_0x57b8[50]]=function(_0x2550x7,_0x2550x8){console[_0x57b8[32]](_0x2550x7[_0x57b8[51]]);VoiceQueue[_0x57b8[52]]({where:{name:_0x2550x7[_0x57b8[51]][_0x57b8[9]]}})[_0x57b8[43]](function(_0x2550x16){if(!_0x2550x16){return _0x2550x8[_0x57b8[46]](404)};return _0x2550x8[_0x57b8[41]](_0x2550x16);})[_0x57b8[30]](function(_0x2550x11){return handleError(_0x2550x8,_0x2550x11)});};exports[_0x57b8[53]]=function(_0x2550x7,_0x2550x8){VoiceQueue[_0x57b8[52]]({where:{name:_0x2550x7[_0x57b8[51]][_0x57b8[9]]}})[_0x57b8[43]](function(_0x2550x17){console[_0x57b8[32]](_0x2550x17);console[_0x57b8[32]](_0x57b8[54]);if(!_0x2550x17){return _0x2550x8[_0x57b8[46]](404)};if(_0x2550x17[_0x57b8[55]]>0){return _0x2550x8[_0x57b8[42]](500)[_0x57b8[41]]({message:_0x57b8[56]})};VoiceQueue[_0x57b8[53]](_0x2550x7[_0x57b8[51]])[_0x57b8[43]](function(_0x2550x16){return _0x2550x8[_0x57b8[42]](201)[_0x57b8[41]](_0x2550x16)})[_0x57b8[30]](function(_0x2550x11){return handleError(_0x2550x8,_0x2550x11)});})[_0x57b8[30]](function(_0x2550x11){return handleError(_0x2550x8,_0x2550x11)})};exports[_0x57b8[57]]=function(_0x2550x7,_0x2550x8){VoiceQueue[_0x57b8[60]]({where:{name:_0x2550x7[_0x57b8[48]][_0x57b8[47]]}})[_0x57b8[43]](function(_0x2550x18){if(!_0x2550x18){return _0x2550x8[_0x57b8[46]](404)};if(_0x2550x7[_0x57b8[51]][_0x57b8[47]]){delete _0x2550x7[_0x57b8[51]][_0x57b8[47]]};var _0x2550x19=_[_0x57b8[58]](_0x2550x18,_0x2550x7[_0x57b8[51]]);_0x2550x19[_0x57b8[59]]()[_0x57b8[43]](function(){return _0x2550x8[_0x57b8[42]](200)[_0x57b8[41]](_0x2550x18)})[_0x57b8[30]](function(_0x2550x11){return handleError(_0x2550x8,_0x2550x11)});})[_0x57b8[30]](function(_0x2550x11){return handleError(_0x2550x8,_0x2550x11)})};exports[_0x57b8[61]]=function(_0x2550x7,_0x2550x8,_0x2550x1a){console[_0x57b8[32]](_0x57b8[61]);console[_0x57b8[32]](_0x2550x7[_0x57b8[48]]);console[_0x57b8[32]](_0x2550x7[_0x57b8[51]]);User[_0x57b8[52]]({where:{id:{$in:_0x2550x7[_0x57b8[51]][_0x57b8[65]]}}})[_0x57b8[43]](function(_0x2550x1b){var _0x2550x1c=_[_0x57b8[63]](_0x2550x1b,function(_0x2550x1d){return {queue:_0x2550x7[_0x57b8[48]][_0x57b8[47]],location:util[_0x57b8[21]](_0x57b8[62],_0x2550x1d[_0x57b8[9]]),membername:_0x2550x1d[_0x57b8[9]],VoiceQueueName:_0x2550x7[_0x57b8[48]][_0x57b8[47]],UserId:_0x2550x1d[_0x57b8[47]]}});UserHasVoiceQueue[_0x57b8[64]](_0x2550x1c,{individualHooks:true})[_0x57b8[43]](function(){return _0x2550x8[_0x57b8[46]](200)})[_0x57b8[30]](function(_0x2550x11){return _0x2550x1a(_0x2550x11)});})[_0x57b8[30]](function(_0x2550x11){return _0x2550x1a(_0x2550x11)});};exports[_0x57b8[66]]=function(_0x2550x7,_0x2550x8,_0x2550x1a){VoiceQueue[_0x57b8[60]]({where:{name:_0x2550x7[_0x57b8[48]][_0x57b8[47]]}})[_0x57b8[43]](function(_0x2550x18){if(_0x2550x18){_0x2550x18[_0x57b8[67]](_0x2550x7[_0x57b8[51]][_0x57b8[65]],{individualHooks:true})[_0x57b8[43]](function(){return _0x2550x8[_0x57b8[46]](200)})[_0x57b8[30]](function(_0x2550x11){return _0x2550x1a(_0x2550x11)})}else {return _0x2550x1a( new Error(_0x57b8[68]))}})[_0x57b8[30]](function(_0x2550x11){return _0x2550x1a(_0x2550x11)})};exports[_0x57b8[69]]=function(_0x2550x7,_0x2550x8){VoiceQueue[_0x57b8[60]]({where:{name:_0x2550x7[_0x57b8[48]][_0x57b8[9]]}})[_0x57b8[43]](function(_0x2550x16){if(!_0x2550x16){return _0x2550x8[_0x57b8[46]](404)};VoiceExtension[_0x57b8[52]]({where:{queue:_0x2550x16[_0x57b8[9]]}})[_0x57b8[43]](function(_0x2550x1e){if(_0x2550x1e[_0x57b8[55]]>0){return _0x2550x8[_0x57b8[42]](500)[_0x57b8[41]]({message:_0x57b8[70]})};_0x2550x16[_0x57b8[69]]()[_0x57b8[43]](function(){return _0x2550x8[_0x57b8[46]](204)})[_0x57b8[30]](function(_0x2550x11){return handleError(_0x2550x8,_0x2550x11)});})[_0x57b8[30]](function(_0x2550x11){return handleError(_0x2550x8,_0x2550x11)});})[_0x57b8[30]](function(_0x2550x11){return handleError(_0x2550x8,_0x2550x11)})};exports[_0x57b8[71]]=function(_0x2550x7,_0x2550x8){VoiceQueue[_0x57b8[52]]({where:{name:_0x2550x7[_0x57b8[14]][_0x57b8[9]]}})[_0x57b8[43]](function(_0x2550x1f){if(!_0x2550x1f){return _0x2550x8[_0x57b8[46]](404)};var _0x2550x20=_[_0x57b8[73]](_[_0x57b8[73]](_0x2550x1f,_0x57b8[72]),_0x57b8[9]);console[_0x57b8[32]](_0x2550x20);VoiceExtension[_0x57b8[52]]({where:{queue:_0x2550x20}})[_0x57b8[43]](function(_0x2550x1e){if(_0x2550x1e[_0x57b8[55]]>0){return _0x2550x8[_0x57b8[42]](500)[_0x57b8[41]]({message:_0x57b8[70]})};VoiceQueue[_0x57b8[69]]({where:{name:_0x2550x7[_0x57b8[14]][_0x57b8[9]]},individualHooks:true})[_0x57b8[43]](function(){return _0x2550x8[_0x57b8[46]](204)})[_0x57b8[30]](function(_0x2550x11){return handleError(_0x2550x8,_0x2550x11)});})[_0x57b8[30]](function(_0x2550x11){return handleError(_0x2550x8,_0x2550x11)});})[_0x57b8[30]](function(_0x2550x11){return handleError(_0x2550x8,_0x2550x11)})};function handleError(_0x2550x8,_0x2550x11){return _0x2550x8[_0x57b8[42]](500)[_0x57b8[41]](_0x2550x11)}
\ No newline at end of file
index bdda6316adf54a27a92d34f3c403a47ee0ed4b8e..91f68b14ff563917587af4a5c7162e6a35d58fa4 100644 (file)
@@ -1 +1 @@
-var _0x4a11=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0x4a11[0];var VoiceQueue=require(_0x4a11[2])[_0x4a11[1]];exports[_0x4a11[3]]=function(_0x80f5x2){VoiceQueue[_0x4a11[4]](function(_0x80f5x3){onSave(_0x80f5x2,_0x80f5x3)});VoiceQueue[_0x4a11[5]](function(_0x80f5x3){onRemove(_0x80f5x2,_0x80f5x3)});};function onSave(_0x80f5x2,_0x80f5x3,_0x80f5x5){_0x80f5x2[_0x4a11[7]](_0x4a11[6],_0x80f5x3)}function onRemove(_0x80f5x2,_0x80f5x3,_0x80f5x5){_0x80f5x2[_0x4a11[7]](_0x4a11[8],_0x80f5x3)}
\ No newline at end of file
+var _0xe44a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x3A\x72\x65\x6D\x6F\x76\x65"];_0xe44a[0];var VoiceQueue=require(_0xe44a[2])[_0xe44a[1]];exports[_0xe44a[3]]=function(_0x7360x2){VoiceQueue[_0xe44a[4]](function(_0x7360x3){onSave(_0x7360x2,_0x7360x3)});VoiceQueue[_0xe44a[5]](function(_0x7360x3){onRemove(_0x7360x2,_0x7360x3)});};function onSave(_0x7360x2,_0x7360x3,_0x7360x5){_0x7360x2[_0xe44a[7]](_0xe44a[6],_0x7360x3)}function onRemove(_0x7360x2,_0x7360x3,_0x7360x5){_0x7360x2[_0xe44a[7]](_0xe44a[8],_0x7360x3)}
\ No newline at end of file
index da6e196eae7bf192f42b546ea13d4255bb184958..fcd17466be9353e8ed40a2cff7fce452aa4af355 100644 (file)
@@ -1 +1 @@
-var _0xd4e0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x71\x75\x65\x75\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x71\x75\x65\x75\x65\x73","\x67\x65\x74"];_0xd4e0[0];var should=require(_0xd4e0[1]);var app=require(_0xd4e0[2]);var request=require(_0xd4e0[3]);describe(_0xd4e0[4],function(){it(_0xd4e0[5],function(_0xab13x4){request(app)[_0xd4e0[13]](_0xd4e0[12])[_0xd4e0[11]](200)[_0xd4e0[11]](_0xd4e0[10],/json/)[_0xd4e0[9]](function(_0xab13x5,_0xab13x6){if(_0xab13x5){return _0xab13x4(_0xab13x5)};_0xab13x6[_0xd4e0[8]][_0xd4e0[1]][_0xd4e0[7]][_0xd4e0[6]](Array);_0xab13x4();})})});
\ No newline at end of file
+var _0x1e26=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x71\x75\x65\x75\x65\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x71\x75\x65\x75\x65\x73","\x67\x65\x74"];_0x1e26[0];var should=require(_0x1e26[1]);var app=require(_0x1e26[2]);var request=require(_0x1e26[3]);describe(_0x1e26[4],function(){it(_0x1e26[5],function(_0xb572x4){request(app)[_0x1e26[13]](_0x1e26[12])[_0x1e26[11]](200)[_0x1e26[11]](_0x1e26[10],/json/)[_0x1e26[9]](function(_0xb572x5,_0xb572x6){if(_0xb572x5){return _0xb572x4(_0xb572x5)};_0xb572x6[_0x1e26[8]][_0x1e26[1]][_0x1e26[7]][_0x1e26[6]](Array);_0xb572x4();})})});
\ No newline at end of file
index c3c80079a83bfb9e9c3f66f4a15fb00285f438db..e42bbe2ba8d0cf32284ebe471ce038467936c2e8 100644 (file)
@@ -1 +1 @@
-var _0xd0ac=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x75\x6E\x69\x71\x75\x65\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x75\x6E\x69\x71\x75\x65\x69\x64\x2F\x6D\x65\x73\x73\x61\x67\x65\x73","\x67\x65\x74\x4D\x65\x73\x73\x61\x67\x65\x73","\x2F\x6D\x65\x73\x73\x61\x67\x65\x73\x2F\x3A\x69\x64\x2F\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x64\x6F\x77\x6E\x6C\x6F\x61\x64\x4D\x65\x73\x73\x61\x67\x65","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x6D\x61\x69\x6C\x62\x6F\x78\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x2F\x3A\x69\x64","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x2F\x6D\x65\x73\x73\x61\x67\x65\x73\x2F\x3A\x69\x64\x2F\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79\x4D\x65\x73\x73\x61\x67\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xd0ac[0];var express=require(_0xd0ac[1]);var controller=require(_0xd0ac[2]);var auth=require(_0xd0ac[3]);var router=express.Router();router[_0xd0ac[7]](_0xd0ac[4],auth[_0xd0ac[5]](),controller[_0xd0ac[6]]);router[_0xd0ac[7]](_0xd0ac[8],auth[_0xd0ac[5]](),controller[_0xd0ac[9]]);router[_0xd0ac[7]](_0xd0ac[10],auth[_0xd0ac[5]](),controller[_0xd0ac[11]]);router[_0xd0ac[7]](_0xd0ac[12],auth[_0xd0ac[5]](),controller[_0xd0ac[13]]);router[_0xd0ac[15]](_0xd0ac[4],auth[_0xd0ac[5]](),controller[_0xd0ac[14]]);router[_0xd0ac[15]](_0xd0ac[16],auth[_0xd0ac[5]](),controller[_0xd0ac[17]]);router[_0xd0ac[19]](_0xd0ac[8],auth[_0xd0ac[5]](),controller[_0xd0ac[18]]);router[_0xd0ac[21]](_0xd0ac[20],auth[_0xd0ac[5]](),controller[_0xd0ac[18]]);router[_0xd0ac[23]](_0xd0ac[4],auth[_0xd0ac[5]](),controller[_0xd0ac[22]]);router[_0xd0ac[23]](_0xd0ac[8],auth[_0xd0ac[5]](),controller[_0xd0ac[24]]);router[_0xd0ac[23]](_0xd0ac[25],auth[_0xd0ac[5]](),controller[_0xd0ac[26]]);module[_0xd0ac[27]]=router;
\ No newline at end of file
+var _0xac38=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x75\x6E\x69\x71\x75\x65\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x75\x6E\x69\x71\x75\x65\x69\x64\x2F\x6D\x65\x73\x73\x61\x67\x65\x73","\x67\x65\x74\x4D\x65\x73\x73\x61\x67\x65\x73","\x2F\x6D\x65\x73\x73\x61\x67\x65\x73\x2F\x3A\x69\x64\x2F\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x64\x6F\x77\x6E\x6C\x6F\x61\x64\x4D\x65\x73\x73\x61\x67\x65","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x6D\x61\x69\x6C\x62\x6F\x78\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x2F\x3A\x69\x64","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x2F\x6D\x65\x73\x73\x61\x67\x65\x73\x2F\x3A\x69\x64\x2F\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79\x4D\x65\x73\x73\x61\x67\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xac38[0];var express=require(_0xac38[1]);var controller=require(_0xac38[2]);var auth=require(_0xac38[3]);var router=express.Router();router[_0xac38[7]](_0xac38[4],auth[_0xac38[5]](),controller[_0xac38[6]]);router[_0xac38[7]](_0xac38[8],auth[_0xac38[5]](),controller[_0xac38[9]]);router[_0xac38[7]](_0xac38[10],auth[_0xac38[5]](),controller[_0xac38[11]]);router[_0xac38[7]](_0xac38[12],auth[_0xac38[5]](),controller[_0xac38[13]]);router[_0xac38[15]](_0xac38[4],auth[_0xac38[5]](),controller[_0xac38[14]]);router[_0xac38[15]](_0xac38[16],auth[_0xac38[5]](),controller[_0xac38[17]]);router[_0xac38[19]](_0xac38[8],auth[_0xac38[5]](),controller[_0xac38[18]]);router[_0xac38[21]](_0xac38[20],auth[_0xac38[5]](),controller[_0xac38[18]]);router[_0xac38[23]](_0xac38[4],auth[_0xac38[5]](),controller[_0xac38[22]]);router[_0xac38[23]](_0xac38[8],auth[_0xac38[5]](),controller[_0xac38[24]]);router[_0xac38[23]](_0xac38[25],auth[_0xac38[5]](),controller[_0xac38[26]]);module[_0xac38[27]]=router;
\ No newline at end of file
index 99553951f0571c64b5ce3200a513dd1d9be82075..e52723d7a0d8fe7930b7c1f46f91cd223789ad8e 100644 (file)
@@ -1 +1 @@
-var _0xbd25=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x56\x6F\x69\x63\x65\x56\x6F\x69\x63\x65\x6D\x61\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x56\x6F\x69\x63\x65\x6D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65\x73","\x73\x74\x72\x65\x61\x6D","\x69\x6E\x64\x65\x78","\x6D\x61\x69\x6C\x62\x6F\x78","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x75\x6E\x69\x71\x75\x65\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64","\x67\x65\x74\x4D\x65\x73\x73\x61\x67\x65\x73","\x63\x6F\x6E\x74\x65\x78\x74","\x66\x69\x6E\x64\x41\x6C\x6C","\x6D\x61\x69\x6C\x62\x6F\x78\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x62\x6F\x64\x79","\x6C\x6F\x67","\x63\x72\x65\x61\x74\x65","\x6C\x65\x6E\x67\x74\x68","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x4D\x41\x49\x4C\x42\x4F\x58","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x73\x74\x72\x6F\x79\x4D\x65\x73\x73\x61\x67\x65","\x72\x65\x63\x6F\x72\x64\x69\x6E\x67","\x69\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x64\x6F\x77\x6E\x6C\x6F\x61\x64\x4D\x65\x73\x73\x61\x67\x65","\x6D\x73\x67\x5F\x69\x64","\x2E\x77\x61\x76","\x4F\x4B","\x61\x75\x64\x69\x6F\x2F\x77\x61\x76","\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x3B\x20\x66\x69\x6C\x65\x6E\x61\x6D\x65\x3D","\x77\x72\x69\x74\x65\x48\x65\x61\x64","\x65\x6E\x64","\x70\x69\x70\x65"];_0xbd25[0];var _=require(_0xbd25[1]);var VoiceVoicemail=require(_0xbd25[3])[_0xbd25[2]];var VoiceVoicemailMessages=require(_0xbd25[3])[_0xbd25[4]];var stream=require(_0xbd25[5]);exports[_0xbd25[6]]=function(_0x87a9x5,_0x87a9x6){var _0x87a9x7=[_0xbd25[7],_0xbd25[8],_0xbd25[9]];var _0x87a9x8=_0x87a9x5[_0xbd25[11]][_0xbd25[10]]?parseInt(_0x87a9x5[_0xbd25[11]][_0xbd25[10]],10):100;var _0x87a9x9=_0x87a9x5[_0xbd25[11]][_0xbd25[12]]?parseInt(_0x87a9x5[_0xbd25[11]][_0xbd25[12]],10):0;var _0x87a9xa={where:{},limit:_0x87a9x8,offset:_0x87a9x9*_0x87a9x8};_[_0xbd25[26]](_0x87a9x5[_0xbd25[11]],function(_0x87a9xb,_0x87a9xc){switch(_0x87a9xc){case _0xbd25[10]:;case _0xbd25[12]:break ;;case _0xbd25[15]:_0x87a9xa[_0xbd25[13]]=util[_0xbd25[18]](_0xbd25[14],_0x87a9x5[_0xbd25[11]][_0xbd25[15]],_0x87a9x5[_0xbd25[11]][_0xbd25[16]]||_0xbd25[17])||null;break ;;case _0xbd25[16]:break ;;case _0xbd25[24]:_0x87a9xa[_0xbd25[20]][_0xbd25[19]]=[];_0x87a9x7[_0xbd25[23]](function(_0x87a9xd){var _0x87a9xe={};_0x87a9xe[_0x87a9xd]={$like:_0xbd25[21]+_0x87a9xb+_0xbd25[21]};_0x87a9xa[_0xbd25[20]][_0xbd25[19]][_0xbd25[22]](_0x87a9xe);});break ;;default:_0x87a9xa[_0xbd25[20]][_0x87a9xc]={$like:{}};_0x87a9xa[_0xbd25[20]][_0x87a9xc][_0xbd25[25]]=_0xbd25[21]+_0x87a9xb+_0xbd25[21];;}});VoiceVoicemail[_0xbd25[31]](_0x87a9xa)[_0xbd25[30]](function(_0x87a9x10){return _0x87a9x6[_0xbd25[29]](200)[_0xbd25[28]](_0x87a9x10)})[_0xbd25[27]](function(_0x87a9xf){return handleError(_0x87a9x6,_0x87a9xf)});};exports[_0xbd25[32]]=function(_0x87a9x5,_0x87a9x6){VoiceVoicemail[_0xbd25[36]]({where:{uniqueid:_0x87a9x5[_0xbd25[35]][_0xbd25[34]]}})[_0xbd25[30]](function(_0x87a9x11){if(!_0x87a9x11){return _0x87a9x6[_0xbd25[33]](404)};return _0x87a9x6[_0xbd25[28]](_0x87a9x11);})[_0xbd25[27]](function(_0x87a9xf){return handleError(_0x87a9x6,_0x87a9xf)})};exports[_0xbd25[37]]=function(_0x87a9x5,_0x87a9x6){VoiceVoicemail[_0xbd25[36]]({where:{uniqueid:_0x87a9x5[_0xbd25[35]][_0xbd25[34]]}})[_0xbd25[30]](function(_0x87a9x11){VoiceVoicemailMessages[_0xbd25[39]]({where:{mailboxcontext:_0x87a9x11[_0xbd25[38]],mailboxuser:_0x87a9x11[_0xbd25[7]]}})[_0xbd25[30]](function(_0x87a9x12){return _0x87a9x6[_0xbd25[29]](200)[_0xbd25[28]](_0x87a9x12)})[_0xbd25[27]](function(_0x87a9xf){return handleError(_0x87a9x6,_0x87a9xf)})})[_0xbd25[27]](function(_0x87a9xf){return handleError(_0x87a9x6,_0x87a9xf)})};exports[_0xbd25[40]]=function(_0x87a9x5,_0x87a9x6){console[_0xbd25[42]](_0x87a9x5[_0xbd25[41]]);VoiceVoicemail[_0xbd25[39]]({where:{mailbox:_0x87a9x5[_0xbd25[41]][_0xbd25[7]],context:_0x87a9x5[_0xbd25[41]][_0xbd25[38]]}})[_0xbd25[30]](function(_0x87a9x13){if(!_0x87a9x13){return _0x87a9x6[_0xbd25[33]](404)};return _0x87a9x6[_0xbd25[28]](_0x87a9x13);})[_0xbd25[27]](function(_0x87a9xf){return handleError(_0x87a9x6,_0x87a9xf)});};exports[_0xbd25[43]]=function(_0x87a9x5,_0x87a9x6){VoiceVoicemail[_0xbd25[39]]({where:{mailbox:_0x87a9x5[_0xbd25[41]][_0xbd25[7]],context:_0x87a9x5[_0xbd25[41]][_0xbd25[38]]}})[_0xbd25[30]](function(_0x87a9x13){if(!_0x87a9x13){return _0x87a9x6[_0xbd25[33]](404)};if(_0x87a9x13[_0xbd25[44]]>0){return _0x87a9x6[_0xbd25[29]](500)[_0xbd25[28]]({message:_0xbd25[45]})};VoiceVoicemail[_0xbd25[43]](_0x87a9x5[_0xbd25[41]])[_0xbd25[30]](function(_0x87a9x11){return _0x87a9x6[_0xbd25[29]](201)[_0xbd25[28]](_0x87a9x11)})[_0xbd25[27]](function(_0x87a9xf){return handleError(_0x87a9x6,_0x87a9xf)})[_0xbd25[27]](function(_0x87a9xf){return handleError(_0x87a9x6,_0x87a9xf)});})};exports[_0xbd25[46]]=function(_0x87a9x5,_0x87a9x6){VoiceVoicemail[_0xbd25[39]]({where:{mailbox:_0x87a9x5[_0xbd25[41]][_0xbd25[7]],context:_0x87a9x5[_0xbd25[41]][_0xbd25[38]],uniqueid:{$ne:_0x87a9x5[_0xbd25[41]][_0xbd25[34]]}}})[_0xbd25[30]](function(_0x87a9x13){if(!_0x87a9x13){return _0x87a9x6[_0xbd25[33]](404)};if(_0x87a9x13[_0xbd25[44]]>0){return _0x87a9x6[_0xbd25[29]](500)[_0xbd25[28]]({message:_0xbd25[45]})};if(_0x87a9x5[_0xbd25[41]][_0xbd25[34]]){delete _0x87a9x5[_0xbd25[41]][_0xbd25[34]]};VoiceVoicemail[_0xbd25[36]]({where:{uniqueid:_0x87a9x5[_0xbd25[35]][_0xbd25[34]]}})[_0xbd25[30]](function(_0x87a9x11){if(!_0x87a9x11){return _0x87a9x6[_0xbd25[33]](404)};var _0x87a9x14=_[_0xbd25[47]](_0x87a9x11,_0x87a9x5[_0xbd25[41]]);_0x87a9x14[_0xbd25[48]]()[_0xbd25[30]](function(){return _0x87a9x6[_0xbd25[29]](200)[_0xbd25[28]](_0x87a9x11)})[_0xbd25[27]](function(_0x87a9xf){return handleError(_0x87a9x6,_0x87a9xf)});})[_0xbd25[27]](function(_0x87a9xf){return handleError(_0x87a9x6,_0x87a9xf)});})[_0xbd25[27]](function(_0x87a9xf){return handleError(_0x87a9x6,_0x87a9xf)})};exports[_0xbd25[49]]=function(_0x87a9x5,_0x87a9x6){VoiceVoicemail[_0xbd25[36]]({where:{uniqueid:_0x87a9x5[_0xbd25[35]][_0xbd25[34]]}})[_0xbd25[30]](function(_0x87a9x11){if(!_0x87a9x11){return _0x87a9x6[_0xbd25[33]](404)};_0x87a9x11[_0xbd25[49]]()[_0xbd25[30]](function(){return _0x87a9x6[_0xbd25[33]](204)})[_0xbd25[27]](function(_0x87a9xf){return handleError(_0x87a9x6,_0x87a9xf)});})[_0xbd25[27]](function(_0x87a9xf){return handleError(_0x87a9x6,_0x87a9xf)})};exports[_0xbd25[50]]=function(_0x87a9x5,_0x87a9x6){VoiceVoicemail[_0xbd25[49]]({where:{uniqueid:_0x87a9x5[_0xbd25[11]][_0xbd25[34]]},individualHooks:true})[_0xbd25[30]](function(){return _0x87a9x6[_0xbd25[33]](204)})[_0xbd25[27]](function(_0x87a9xf){return handleError(_0x87a9x6,_0x87a9xf)})};exports[_0xbd25[51]]=function(_0x87a9x5,_0x87a9x6){VoiceVoicemailMessages[_0xbd25[54]](_0x87a9x5[_0xbd25[35]][_0xbd25[53]])[_0xbd25[30]](function(_0x87a9x15){if(!_0x87a9x15){return _0x87a9x6[_0xbd25[33]](404)};_0x87a9x15[_0xbd25[52]]=null;_0x87a9x15[_0xbd25[49]]()[_0xbd25[30]](function(){return _0x87a9x6[_0xbd25[33]](204)})[_0xbd25[27]](function(_0x87a9xf){return handleError(_0x87a9x6,_0x87a9xf)});})[_0xbd25[27]](function(_0x87a9xf){return handleError(_0x87a9x6,_0x87a9xf)})};exports[_0xbd25[55]]=function(_0x87a9x5,_0x87a9x6){VoiceVoicemailMessages[_0xbd25[54]](_0x87a9x5[_0xbd25[35]][_0xbd25[53]])[_0xbd25[30]](function(_0x87a9x16){if(!_0x87a9x16){return _0x87a9x6[_0xbd25[33]](404)};var _0x87a9x17=_0x87a9x16[_0xbd25[56]]+_0xbd25[57];_0x87a9x6[_0xbd25[61]](200,_0xbd25[58],{"\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65":_0xbd25[59],"\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E":_0xbd25[60]+_0x87a9x17,"\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68":_0x87a9x16[_0xbd25[52]][_0xbd25[44]]});var _0x87a9x18= new stream.PassThrough();_0x87a9x18[_0xbd25[62]]( new Buffer(_0x87a9x16[_0xbd25[52]]));_0x87a9x18[_0xbd25[63]](_0x87a9x6);})};function handleError(_0x87a9x6,_0x87a9xf){return _0x87a9x6[_0xbd25[29]](500)[_0xbd25[28]](_0x87a9xf)}
\ No newline at end of file
+var _0x335d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x56\x6F\x69\x63\x65\x56\x6F\x69\x63\x65\x6D\x61\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x56\x6F\x69\x63\x65\x6D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65\x73","\x73\x74\x72\x65\x61\x6D","\x69\x6E\x64\x65\x78","\x6D\x61\x69\x6C\x62\x6F\x78","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x75\x6E\x69\x71\x75\x65\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64","\x67\x65\x74\x4D\x65\x73\x73\x61\x67\x65\x73","\x63\x6F\x6E\x74\x65\x78\x74","\x66\x69\x6E\x64\x41\x6C\x6C","\x6D\x61\x69\x6C\x62\x6F\x78\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x62\x6F\x64\x79","\x6C\x6F\x67","\x63\x72\x65\x61\x74\x65","\x6C\x65\x6E\x67\x74\x68","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x4D\x41\x49\x4C\x42\x4F\x58","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x73\x74\x72\x6F\x79\x4D\x65\x73\x73\x61\x67\x65","\x72\x65\x63\x6F\x72\x64\x69\x6E\x67","\x69\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x64\x6F\x77\x6E\x6C\x6F\x61\x64\x4D\x65\x73\x73\x61\x67\x65","\x6D\x73\x67\x5F\x69\x64","\x2E\x77\x61\x76","\x4F\x4B","\x61\x75\x64\x69\x6F\x2F\x77\x61\x76","\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x3B\x20\x66\x69\x6C\x65\x6E\x61\x6D\x65\x3D","\x77\x72\x69\x74\x65\x48\x65\x61\x64","\x65\x6E\x64","\x70\x69\x70\x65"];_0x335d[0];var _=require(_0x335d[1]);var VoiceVoicemail=require(_0x335d[3])[_0x335d[2]];var VoiceVoicemailMessages=require(_0x335d[3])[_0x335d[4]];var stream=require(_0x335d[5]);exports[_0x335d[6]]=function(_0x80e9x5,_0x80e9x6){var _0x80e9x7=[_0x335d[7],_0x335d[8],_0x335d[9]];var _0x80e9x8=_0x80e9x5[_0x335d[11]][_0x335d[10]]?parseInt(_0x80e9x5[_0x335d[11]][_0x335d[10]],10):100;var _0x80e9x9=_0x80e9x5[_0x335d[11]][_0x335d[12]]?parseInt(_0x80e9x5[_0x335d[11]][_0x335d[12]],10):0;var _0x80e9xa={where:{},limit:_0x80e9x8,offset:_0x80e9x9*_0x80e9x8};_[_0x335d[26]](_0x80e9x5[_0x335d[11]],function(_0x80e9xb,_0x80e9xc){switch(_0x80e9xc){case _0x335d[10]:;case _0x335d[12]:break ;;case _0x335d[15]:_0x80e9xa[_0x335d[13]]=util[_0x335d[18]](_0x335d[14],_0x80e9x5[_0x335d[11]][_0x335d[15]],_0x80e9x5[_0x335d[11]][_0x335d[16]]||_0x335d[17])||null;break ;;case _0x335d[16]:break ;;case _0x335d[24]:_0x80e9xa[_0x335d[20]][_0x335d[19]]=[];_0x80e9x7[_0x335d[23]](function(_0x80e9xd){var _0x80e9xe={};_0x80e9xe[_0x80e9xd]={$like:_0x335d[21]+_0x80e9xb+_0x335d[21]};_0x80e9xa[_0x335d[20]][_0x335d[19]][_0x335d[22]](_0x80e9xe);});break ;;default:_0x80e9xa[_0x335d[20]][_0x80e9xc]={$like:{}};_0x80e9xa[_0x335d[20]][_0x80e9xc][_0x335d[25]]=_0x335d[21]+_0x80e9xb+_0x335d[21];;}});VoiceVoicemail[_0x335d[31]](_0x80e9xa)[_0x335d[30]](function(_0x80e9x10){return _0x80e9x6[_0x335d[29]](200)[_0x335d[28]](_0x80e9x10)})[_0x335d[27]](function(_0x80e9xf){return handleError(_0x80e9x6,_0x80e9xf)});};exports[_0x335d[32]]=function(_0x80e9x5,_0x80e9x6){VoiceVoicemail[_0x335d[36]]({where:{uniqueid:_0x80e9x5[_0x335d[35]][_0x335d[34]]}})[_0x335d[30]](function(_0x80e9x11){if(!_0x80e9x11){return _0x80e9x6[_0x335d[33]](404)};return _0x80e9x6[_0x335d[28]](_0x80e9x11);})[_0x335d[27]](function(_0x80e9xf){return handleError(_0x80e9x6,_0x80e9xf)})};exports[_0x335d[37]]=function(_0x80e9x5,_0x80e9x6){VoiceVoicemail[_0x335d[36]]({where:{uniqueid:_0x80e9x5[_0x335d[35]][_0x335d[34]]}})[_0x335d[30]](function(_0x80e9x11){VoiceVoicemailMessages[_0x335d[39]]({where:{mailboxcontext:_0x80e9x11[_0x335d[38]],mailboxuser:_0x80e9x11[_0x335d[7]]}})[_0x335d[30]](function(_0x80e9x12){return _0x80e9x6[_0x335d[29]](200)[_0x335d[28]](_0x80e9x12)})[_0x335d[27]](function(_0x80e9xf){return handleError(_0x80e9x6,_0x80e9xf)})})[_0x335d[27]](function(_0x80e9xf){return handleError(_0x80e9x6,_0x80e9xf)})};exports[_0x335d[40]]=function(_0x80e9x5,_0x80e9x6){console[_0x335d[42]](_0x80e9x5[_0x335d[41]]);VoiceVoicemail[_0x335d[39]]({where:{mailbox:_0x80e9x5[_0x335d[41]][_0x335d[7]],context:_0x80e9x5[_0x335d[41]][_0x335d[38]]}})[_0x335d[30]](function(_0x80e9x13){if(!_0x80e9x13){return _0x80e9x6[_0x335d[33]](404)};return _0x80e9x6[_0x335d[28]](_0x80e9x13);})[_0x335d[27]](function(_0x80e9xf){return handleError(_0x80e9x6,_0x80e9xf)});};exports[_0x335d[43]]=function(_0x80e9x5,_0x80e9x6){VoiceVoicemail[_0x335d[39]]({where:{mailbox:_0x80e9x5[_0x335d[41]][_0x335d[7]],context:_0x80e9x5[_0x335d[41]][_0x335d[38]]}})[_0x335d[30]](function(_0x80e9x13){if(!_0x80e9x13){return _0x80e9x6[_0x335d[33]](404)};if(_0x80e9x13[_0x335d[44]]>0){return _0x80e9x6[_0x335d[29]](500)[_0x335d[28]]({message:_0x335d[45]})};VoiceVoicemail[_0x335d[43]](_0x80e9x5[_0x335d[41]])[_0x335d[30]](function(_0x80e9x11){return _0x80e9x6[_0x335d[29]](201)[_0x335d[28]](_0x80e9x11)})[_0x335d[27]](function(_0x80e9xf){return handleError(_0x80e9x6,_0x80e9xf)})[_0x335d[27]](function(_0x80e9xf){return handleError(_0x80e9x6,_0x80e9xf)});})};exports[_0x335d[46]]=function(_0x80e9x5,_0x80e9x6){VoiceVoicemail[_0x335d[39]]({where:{mailbox:_0x80e9x5[_0x335d[41]][_0x335d[7]],context:_0x80e9x5[_0x335d[41]][_0x335d[38]],uniqueid:{$ne:_0x80e9x5[_0x335d[41]][_0x335d[34]]}}})[_0x335d[30]](function(_0x80e9x13){if(!_0x80e9x13){return _0x80e9x6[_0x335d[33]](404)};if(_0x80e9x13[_0x335d[44]]>0){return _0x80e9x6[_0x335d[29]](500)[_0x335d[28]]({message:_0x335d[45]})};if(_0x80e9x5[_0x335d[41]][_0x335d[34]]){delete _0x80e9x5[_0x335d[41]][_0x335d[34]]};VoiceVoicemail[_0x335d[36]]({where:{uniqueid:_0x80e9x5[_0x335d[35]][_0x335d[34]]}})[_0x335d[30]](function(_0x80e9x11){if(!_0x80e9x11){return _0x80e9x6[_0x335d[33]](404)};var _0x80e9x14=_[_0x335d[47]](_0x80e9x11,_0x80e9x5[_0x335d[41]]);_0x80e9x14[_0x335d[48]]()[_0x335d[30]](function(){return _0x80e9x6[_0x335d[29]](200)[_0x335d[28]](_0x80e9x11)})[_0x335d[27]](function(_0x80e9xf){return handleError(_0x80e9x6,_0x80e9xf)});})[_0x335d[27]](function(_0x80e9xf){return handleError(_0x80e9x6,_0x80e9xf)});})[_0x335d[27]](function(_0x80e9xf){return handleError(_0x80e9x6,_0x80e9xf)})};exports[_0x335d[49]]=function(_0x80e9x5,_0x80e9x6){VoiceVoicemail[_0x335d[36]]({where:{uniqueid:_0x80e9x5[_0x335d[35]][_0x335d[34]]}})[_0x335d[30]](function(_0x80e9x11){if(!_0x80e9x11){return _0x80e9x6[_0x335d[33]](404)};_0x80e9x11[_0x335d[49]]()[_0x335d[30]](function(){return _0x80e9x6[_0x335d[33]](204)})[_0x335d[27]](function(_0x80e9xf){return handleError(_0x80e9x6,_0x80e9xf)});})[_0x335d[27]](function(_0x80e9xf){return handleError(_0x80e9x6,_0x80e9xf)})};exports[_0x335d[50]]=function(_0x80e9x5,_0x80e9x6){VoiceVoicemail[_0x335d[49]]({where:{uniqueid:_0x80e9x5[_0x335d[11]][_0x335d[34]]},individualHooks:true})[_0x335d[30]](function(){return _0x80e9x6[_0x335d[33]](204)})[_0x335d[27]](function(_0x80e9xf){return handleError(_0x80e9x6,_0x80e9xf)})};exports[_0x335d[51]]=function(_0x80e9x5,_0x80e9x6){VoiceVoicemailMessages[_0x335d[54]](_0x80e9x5[_0x335d[35]][_0x335d[53]])[_0x335d[30]](function(_0x80e9x15){if(!_0x80e9x15){return _0x80e9x6[_0x335d[33]](404)};_0x80e9x15[_0x335d[52]]=null;_0x80e9x15[_0x335d[49]]()[_0x335d[30]](function(){return _0x80e9x6[_0x335d[33]](204)})[_0x335d[27]](function(_0x80e9xf){return handleError(_0x80e9x6,_0x80e9xf)});})[_0x335d[27]](function(_0x80e9xf){return handleError(_0x80e9x6,_0x80e9xf)})};exports[_0x335d[55]]=function(_0x80e9x5,_0x80e9x6){VoiceVoicemailMessages[_0x335d[54]](_0x80e9x5[_0x335d[35]][_0x335d[53]])[_0x335d[30]](function(_0x80e9x16){if(!_0x80e9x16){return _0x80e9x6[_0x335d[33]](404)};var _0x80e9x17=_0x80e9x16[_0x335d[56]]+_0x335d[57];_0x80e9x6[_0x335d[61]](200,_0x335d[58],{"\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65":_0x335d[59],"\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E":_0x335d[60]+_0x80e9x17,"\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68":_0x80e9x16[_0x335d[52]][_0x335d[44]]});var _0x80e9x18= new stream.PassThrough();_0x80e9x18[_0x335d[62]]( new Buffer(_0x80e9x16[_0x335d[52]]));_0x80e9x18[_0x335d[63]](_0x80e9x6);})};function handleError(_0x80e9x6,_0x80e9xf){return _0x80e9x6[_0x335d[29]](500)[_0x335d[28]](_0x80e9xf)}
\ No newline at end of file
index 194dc9d9adabdc65aafa7bbcb92217f8a6741b4d..66319bbf83038ab7a46b4ff23f4d43539453ef4d 100644 (file)
@@ -1 +1 @@
-var _0x883f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x56\x6F\x69\x63\x65\x56\x6F\x69\x63\x65\x6D\x61\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x56\x6F\x69\x63\x65\x6D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x3A\x72\x65\x6D\x6F\x76\x65","\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x73\x3A\x73\x61\x76\x65","\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x73\x3A\x72\x65\x6D\x6F\x76\x65"];_0x883f[0];var VoiceVoicemail=require(_0x883f[2])[_0x883f[1]];var VoiceVoicemailMessages=require(_0x883f[2])[_0x883f[3]];exports[_0x883f[4]]=function(_0xd9c7x3){VoiceVoicemail[_0x883f[5]](function(_0xd9c7x4){onSave(_0xd9c7x3,_0xd9c7x4)});VoiceVoicemail[_0x883f[6]](function(_0xd9c7x4){onRemove(_0xd9c7x3,_0xd9c7x4)});VoiceVoicemailMessages[_0x883f[5]](function(_0xd9c7x4){onMessageSave(_0xd9c7x3,_0xd9c7x4)});VoiceVoicemailMessages[_0x883f[6]](function(_0xd9c7x4){onMessageRemove(_0xd9c7x3,_0xd9c7x4)});};function onSave(_0xd9c7x3,_0xd9c7x4,_0xd9c7x6){_0xd9c7x3[_0x883f[8]](_0x883f[7],_0xd9c7x4)}function onRemove(_0xd9c7x3,_0xd9c7x4,_0xd9c7x6){_0xd9c7x3[_0x883f[8]](_0x883f[9],_0xd9c7x4)}function onMessageSave(_0xd9c7x3,_0xd9c7x4,_0xd9c7x6){_0xd9c7x3[_0x883f[8]](_0x883f[10],_0xd9c7x4)}function onMessageRemove(_0xd9c7x3,_0xd9c7x4,_0xd9c7x6){_0xd9c7x3[_0x883f[8]](_0x883f[11],_0xd9c7x4)}
\ No newline at end of file
+var _0xe72c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x56\x6F\x69\x63\x65\x56\x6F\x69\x63\x65\x6D\x61\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x56\x6F\x69\x63\x65\x6D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x3A\x72\x65\x6D\x6F\x76\x65","\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x73\x3A\x73\x61\x76\x65","\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x73\x3A\x72\x65\x6D\x6F\x76\x65"];_0xe72c[0];var VoiceVoicemail=require(_0xe72c[2])[_0xe72c[1]];var VoiceVoicemailMessages=require(_0xe72c[2])[_0xe72c[3]];exports[_0xe72c[4]]=function(_0xcda1x3){VoiceVoicemail[_0xe72c[5]](function(_0xcda1x4){onSave(_0xcda1x3,_0xcda1x4)});VoiceVoicemail[_0xe72c[6]](function(_0xcda1x4){onRemove(_0xcda1x3,_0xcda1x4)});VoiceVoicemailMessages[_0xe72c[5]](function(_0xcda1x4){onMessageSave(_0xcda1x3,_0xcda1x4)});VoiceVoicemailMessages[_0xe72c[6]](function(_0xcda1x4){onMessageRemove(_0xcda1x3,_0xcda1x4)});};function onSave(_0xcda1x3,_0xcda1x4,_0xcda1x6){_0xcda1x3[_0xe72c[8]](_0xe72c[7],_0xcda1x4)}function onRemove(_0xcda1x3,_0xcda1x4,_0xcda1x6){_0xcda1x3[_0xe72c[8]](_0xe72c[9],_0xcda1x4)}function onMessageSave(_0xcda1x3,_0xcda1x4,_0xcda1x6){_0xcda1x3[_0xe72c[8]](_0xe72c[10],_0xcda1x4)}function onMessageRemove(_0xcda1x3,_0xcda1x4,_0xcda1x6){_0xcda1x3[_0xe72c[8]](_0xe72c[11],_0xcda1x4)}
\ No newline at end of file
index 7a06da58e77ef263494224b2420f5873642cd666..2bba467e7bb14519f258683b8f5463c79cfe69f5 100644 (file)
@@ -1 +1 @@
-var _0xe538=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x73","\x67\x65\x74"];_0xe538[0];var should=require(_0xe538[1]);var app=require(_0xe538[2]);var request=require(_0xe538[3]);describe(_0xe538[4],function(){it(_0xe538[5],function(_0xf46dx4){request(app)[_0xe538[13]](_0xe538[12])[_0xe538[11]](200)[_0xe538[11]](_0xe538[10],/json/)[_0xe538[9]](function(_0xf46dx5,_0xf46dx6){if(_0xf46dx5){return _0xf46dx4(_0xf46dx5)};_0xf46dx6[_0xe538[8]][_0xe538[1]][_0xe538[7]][_0xe538[6]](Array);_0xf46dx4();})})});
\ No newline at end of file
+var _0xdb5a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x73","\x67\x65\x74"];_0xdb5a[0];var should=require(_0xdb5a[1]);var app=require(_0xdb5a[2]);var request=require(_0xdb5a[3]);describe(_0xdb5a[4],function(){it(_0xdb5a[5],function(_0xdb17x4){request(app)[_0xdb5a[13]](_0xdb5a[12])[_0xdb5a[11]](200)[_0xdb5a[11]](_0xdb5a[10],/json/)[_0xdb5a[9]](function(_0xdb17x5,_0xdb17x6){if(_0xdb17x5){return _0xdb17x4(_0xdb17x5)};_0xdb17x6[_0xdb5a[8]][_0xdb5a[1]][_0xdb5a[7]][_0xdb5a[6]](Array);_0xdb17x4();})})});
\ No newline at end of file
index 86a90958d30f1c4d2cc8f164f746467b35a749d5..ab1c1736921214ea85c8669d8b41f0f86cc26b62 100644 (file)
@@ -1 +1 @@
-var _0xa673=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x77\x69\x64\x67\x65\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F\x63\x6F\x75\x6E\x74\x65\x72","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x63\x6F\x75\x6E\x74\x65\x72","\x67\x65\x74","\x2F\x74\x61\x62\x6C\x65","\x74\x61\x62\x6C\x65","\x2F\x70\x69\x65\x63\x68\x61\x72\x74","\x70\x69\x65\x63\x68\x61\x72\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xa673[0];var express=require(_0xa673[1]);var controller=require(_0xa673[2]);var auth=require(_0xa673[3]);var router=express.Router();router[_0xa673[7]](_0xa673[4],auth[_0xa673[5]](),controller[_0xa673[6]]);router[_0xa673[7]](_0xa673[8],auth[_0xa673[5]](),controller[_0xa673[9]]);router[_0xa673[7]](_0xa673[10],auth[_0xa673[5]](),controller[_0xa673[11]]);module[_0xa673[12]]=router;
\ No newline at end of file
+var _0x4cc5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x77\x69\x64\x67\x65\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F\x63\x6F\x75\x6E\x74\x65\x72","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x63\x6F\x75\x6E\x74\x65\x72","\x67\x65\x74","\x2F\x74\x61\x62\x6C\x65","\x74\x61\x62\x6C\x65","\x2F\x70\x69\x65\x63\x68\x61\x72\x74","\x70\x69\x65\x63\x68\x61\x72\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x4cc5[0];var express=require(_0x4cc5[1]);var controller=require(_0x4cc5[2]);var auth=require(_0x4cc5[3]);var router=express.Router();router[_0x4cc5[7]](_0x4cc5[4],auth[_0x4cc5[5]](),controller[_0x4cc5[6]]);router[_0x4cc5[7]](_0x4cc5[8],auth[_0x4cc5[5]](),controller[_0x4cc5[9]]);router[_0x4cc5[7]](_0x4cc5[10],auth[_0x4cc5[5]](),controller[_0x4cc5[11]]);module[_0x4cc5[12]]=router;
\ No newline at end of file
index e1ceebb4110a9dd408605ea9c5c770bb71abe146..24215e97d1d2e47504cb1dfb135a408ff4e7b14c 100644 (file)
@@ -1 +1 @@
-var _0x2deb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x63\x6F\x75\x6E\x74\x65\x72","\x72\x65\x70\x6F\x72\x74\x5F\x25\x73","\x74\x61\x62\x6C\x65","\x71\x75\x65\x72\x79","\x66\x6F\x72\x6D\x61\x74","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x53\x45\x4C\x45\x43\x54\x20\x43\x4F\x55\x4E\x54\x28\x2A\x29\x20\x61\x73\x20\x63\x6F\x75\x6E\x74\x20\x46\x52\x4F\x4D\x20\x25\x73\x20\x57\x48\x45\x52\x45\x20\x25\x73","\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x53\x45\x4C\x45\x43\x54","\x51\x75\x65\x72\x79\x54\x79\x70\x65\x73","\x66\x69\x65\x6C\x64\x73","\x69\x73\x41\x72\x72\x61\x79","\x70\x61\x72\x73\x65","\x63\x6F\x6C\x75\x6D\x6E","\x61\x6C\x69\x61\x73","\x20\x41\x53\x20\x22","\x22","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x69\x73\x53\x74\x72\x69\x6E\x67","\x6C\x65\x6E\x67\x74\x68","\x2C","\x6A\x6F\x69\x6E","\x2A","\x53\x45\x4C\x45\x43\x54\x20\x25\x73\x20\x46\x52\x4F\x4D\x20\x25\x73\x20\x57\x48\x45\x52\x45\x20\x25\x73","\x70\x69\x65\x63\x68\x61\x72\x74","","\x75\x6E\x64\x65\x66\x69\x6E\x65\x64","\x20\x57\x48\x45\x52\x45\x20\x25\x73","\x53\x45\x4C\x45\x43\x54\x20\x25\x73\x20\x46\x52\x4F\x4D\x20\x25\x73\x25\x73"];_0x2deb[0];var _=require(_0x2deb[1]);var util=require(_0x2deb[2]);var sequelize=require(_0x2deb[4])[_0x2deb[3]];exports[_0x2deb[5]]=function(_0xda26x4,_0xda26x5){var _0xda26x6=util[_0x2deb[9]](_0x2deb[6],_0xda26x4[_0x2deb[8]][_0x2deb[7]]);sequelize[_0x2deb[8]](util[_0x2deb[9]](_0x2deb[14],_0xda26x6,decodeURIComponent(_0xda26x4[_0x2deb[8]][_0x2deb[15]])),{type:sequelize[_0x2deb[17]][_0x2deb[16]]})[_0x2deb[13]](function(_0xda26x8){return _0xda26x5[_0x2deb[12]](200)[_0x2deb[11]](_0xda26x8)})[_0x2deb[10]](function(_0xda26x7){return handleError(_0xda26x5,_0xda26x7)});};exports[_0x2deb[7]]=function(_0xda26x4,_0xda26x5){var _0xda26x9=[];var _0xda26xa;if(_0xda26x4[_0x2deb[8]][_0x2deb[18]]){if(_[_0x2deb[19]](_0xda26x4[_0x2deb[8]][_0x2deb[18]])){_0xda26x4[_0x2deb[8]][_0x2deb[18]][_0x2deb[26]](function(_0xda26xb){_0xda26xa=JSON[_0x2deb[20]](_0xda26xb);if(_0xda26xa[_0x2deb[21]]&&_0xda26xa[_0x2deb[22]]){_0xda26x9[_0x2deb[25]](_0xda26xa[_0x2deb[21]]+_0x2deb[23]+_0xda26xa[_0x2deb[22]]+_0x2deb[24])};})}else {if(_[_0x2deb[27]](_0xda26x4[_0x2deb[8]][_0x2deb[18]])){_0xda26xa=JSON[_0x2deb[20]](_0xda26x4[_0x2deb[8]][_0x2deb[18]]);if(_0xda26xa[_0x2deb[21]]&&_0xda26xa[_0x2deb[22]]){_0xda26x9[_0x2deb[25]](_0xda26xa[_0x2deb[21]]+_0x2deb[23]+_0xda26xa[_0x2deb[22]]+_0x2deb[24])};}}};var _0xda26xc=_0xda26x9[_0x2deb[28]]?_0xda26x9[_0x2deb[30]](_0x2deb[29]):_0x2deb[31];var _0xda26x6=util[_0x2deb[9]](_0x2deb[6],_0xda26x4[_0x2deb[8]][_0x2deb[7]]);sequelize[_0x2deb[8]](util[_0x2deb[9]](_0x2deb[32],_0xda26xc,_0xda26x6,decodeURIComponent(_0xda26x4[_0x2deb[8]][_0x2deb[15]])),{type:sequelize[_0x2deb[17]][_0x2deb[16]]})[_0x2deb[13]](function(_0xda26x8){return _0xda26x5[_0x2deb[12]](200)[_0x2deb[11]](_0xda26x8)})[_0x2deb[10]](function(_0xda26x7){return handleError(_0xda26x5,_0xda26x7)});};exports[_0x2deb[33]]=function(_0xda26x4,_0xda26x5){var _0xda26x9=[];var _0xda26xa;if(_0xda26x4[_0x2deb[8]][_0x2deb[18]]){if(_[_0x2deb[19]](_0xda26x4[_0x2deb[8]][_0x2deb[18]])){_0xda26x4[_0x2deb[8]][_0x2deb[18]][_0x2deb[26]](function(_0xda26xb){_0xda26xa=JSON[_0x2deb[20]](_0xda26xb);if(_0xda26xa[_0x2deb[21]]&&_0xda26xa[_0x2deb[22]]){_0xda26x9[_0x2deb[25]](_0xda26xa[_0x2deb[21]]+_0x2deb[23]+_0xda26xa[_0x2deb[22]]+_0x2deb[24])};})}else {if(_[_0x2deb[27]](_0xda26x4[_0x2deb[8]][_0x2deb[18]])){_0xda26xa=JSON[_0x2deb[20]](_0xda26x4[_0x2deb[8]][_0x2deb[18]]);if(_0xda26xa[_0x2deb[21]]&&_0xda26xa[_0x2deb[22]]){_0xda26x9[_0x2deb[25]](_0xda26xa[_0x2deb[21]]+_0x2deb[23]+_0xda26xa[_0x2deb[22]]+_0x2deb[24])};}}};var _0xda26xc=_0xda26x9[_0x2deb[28]]?_0xda26x9[_0x2deb[30]](_0x2deb[29]):_0x2deb[31];var _0xda26x6=util[_0x2deb[9]](_0x2deb[6],_0xda26x4[_0x2deb[8]][_0x2deb[7]]);var _0xda26xd=_0x2deb[34];if(_0xda26x4[_0x2deb[8]][_0x2deb[15]]!==_0x2deb[35]){_0xda26xd=util[_0x2deb[9]](_0x2deb[36],decodeURIComponent(_0xda26x4[_0x2deb[8]][_0x2deb[15]]))};sequelize[_0x2deb[8]](util[_0x2deb[9]](_0x2deb[37],_0xda26xc,_0xda26x6,_0xda26xd),{type:sequelize[_0x2deb[17]][_0x2deb[16]]})[_0x2deb[13]](function(_0xda26x8){return _0xda26x5[_0x2deb[12]](200)[_0x2deb[11]](_0xda26x8)})[_0x2deb[10]](function(_0xda26x7){return handleError(_0xda26x5,_0xda26x7)});};function handleError(_0xda26x5,_0xda26x7){return _0xda26x5[_0x2deb[12]](500)[_0x2deb[11]](_0xda26x7)}
\ No newline at end of file
+var _0x8921=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x63\x6F\x75\x6E\x74\x65\x72","\x72\x65\x70\x6F\x72\x74\x5F\x25\x73","\x74\x61\x62\x6C\x65","\x71\x75\x65\x72\x79","\x66\x6F\x72\x6D\x61\x74","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x53\x45\x4C\x45\x43\x54\x20\x43\x4F\x55\x4E\x54\x28\x2A\x29\x20\x61\x73\x20\x63\x6F\x75\x6E\x74\x20\x46\x52\x4F\x4D\x20\x25\x73\x20\x57\x48\x45\x52\x45\x20\x25\x73","\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x53\x45\x4C\x45\x43\x54","\x51\x75\x65\x72\x79\x54\x79\x70\x65\x73","\x66\x69\x65\x6C\x64\x73","\x69\x73\x41\x72\x72\x61\x79","\x70\x61\x72\x73\x65","\x63\x6F\x6C\x75\x6D\x6E","\x61\x6C\x69\x61\x73","\x20\x41\x53\x20\x22","\x22","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x69\x73\x53\x74\x72\x69\x6E\x67","\x6C\x65\x6E\x67\x74\x68","\x2C","\x6A\x6F\x69\x6E","\x2A","\x53\x45\x4C\x45\x43\x54\x20\x25\x73\x20\x46\x52\x4F\x4D\x20\x25\x73\x20\x57\x48\x45\x52\x45\x20\x25\x73","\x70\x69\x65\x63\x68\x61\x72\x74","","\x75\x6E\x64\x65\x66\x69\x6E\x65\x64","\x20\x57\x48\x45\x52\x45\x20\x25\x73","\x53\x45\x4C\x45\x43\x54\x20\x25\x73\x20\x46\x52\x4F\x4D\x20\x25\x73\x25\x73"];_0x8921[0];var _=require(_0x8921[1]);var util=require(_0x8921[2]);var sequelize=require(_0x8921[4])[_0x8921[3]];exports[_0x8921[5]]=function(_0xcbddx4,_0xcbddx5){var _0xcbddx6=util[_0x8921[9]](_0x8921[6],_0xcbddx4[_0x8921[8]][_0x8921[7]]);sequelize[_0x8921[8]](util[_0x8921[9]](_0x8921[14],_0xcbddx6,decodeURIComponent(_0xcbddx4[_0x8921[8]][_0x8921[15]])),{type:sequelize[_0x8921[17]][_0x8921[16]]})[_0x8921[13]](function(_0xcbddx8){return _0xcbddx5[_0x8921[12]](200)[_0x8921[11]](_0xcbddx8)})[_0x8921[10]](function(_0xcbddx7){return handleError(_0xcbddx5,_0xcbddx7)});};exports[_0x8921[7]]=function(_0xcbddx4,_0xcbddx5){var _0xcbddx9=[];var _0xcbddxa;if(_0xcbddx4[_0x8921[8]][_0x8921[18]]){if(_[_0x8921[19]](_0xcbddx4[_0x8921[8]][_0x8921[18]])){_0xcbddx4[_0x8921[8]][_0x8921[18]][_0x8921[26]](function(_0xcbddxb){_0xcbddxa=JSON[_0x8921[20]](_0xcbddxb);if(_0xcbddxa[_0x8921[21]]&&_0xcbddxa[_0x8921[22]]){_0xcbddx9[_0x8921[25]](_0xcbddxa[_0x8921[21]]+_0x8921[23]+_0xcbddxa[_0x8921[22]]+_0x8921[24])};})}else {if(_[_0x8921[27]](_0xcbddx4[_0x8921[8]][_0x8921[18]])){_0xcbddxa=JSON[_0x8921[20]](_0xcbddx4[_0x8921[8]][_0x8921[18]]);if(_0xcbddxa[_0x8921[21]]&&_0xcbddxa[_0x8921[22]]){_0xcbddx9[_0x8921[25]](_0xcbddxa[_0x8921[21]]+_0x8921[23]+_0xcbddxa[_0x8921[22]]+_0x8921[24])};}}};var _0xcbddxc=_0xcbddx9[_0x8921[28]]?_0xcbddx9[_0x8921[30]](_0x8921[29]):_0x8921[31];var _0xcbddx6=util[_0x8921[9]](_0x8921[6],_0xcbddx4[_0x8921[8]][_0x8921[7]]);sequelize[_0x8921[8]](util[_0x8921[9]](_0x8921[32],_0xcbddxc,_0xcbddx6,decodeURIComponent(_0xcbddx4[_0x8921[8]][_0x8921[15]])),{type:sequelize[_0x8921[17]][_0x8921[16]]})[_0x8921[13]](function(_0xcbddx8){return _0xcbddx5[_0x8921[12]](200)[_0x8921[11]](_0xcbddx8)})[_0x8921[10]](function(_0xcbddx7){return handleError(_0xcbddx5,_0xcbddx7)});};exports[_0x8921[33]]=function(_0xcbddx4,_0xcbddx5){var _0xcbddx9=[];var _0xcbddxa;if(_0xcbddx4[_0x8921[8]][_0x8921[18]]){if(_[_0x8921[19]](_0xcbddx4[_0x8921[8]][_0x8921[18]])){_0xcbddx4[_0x8921[8]][_0x8921[18]][_0x8921[26]](function(_0xcbddxb){_0xcbddxa=JSON[_0x8921[20]](_0xcbddxb);if(_0xcbddxa[_0x8921[21]]&&_0xcbddxa[_0x8921[22]]){_0xcbddx9[_0x8921[25]](_0xcbddxa[_0x8921[21]]+_0x8921[23]+_0xcbddxa[_0x8921[22]]+_0x8921[24])};})}else {if(_[_0x8921[27]](_0xcbddx4[_0x8921[8]][_0x8921[18]])){_0xcbddxa=JSON[_0x8921[20]](_0xcbddx4[_0x8921[8]][_0x8921[18]]);if(_0xcbddxa[_0x8921[21]]&&_0xcbddxa[_0x8921[22]]){_0xcbddx9[_0x8921[25]](_0xcbddxa[_0x8921[21]]+_0x8921[23]+_0xcbddxa[_0x8921[22]]+_0x8921[24])};}}};var _0xcbddxc=_0xcbddx9[_0x8921[28]]?_0xcbddx9[_0x8921[30]](_0x8921[29]):_0x8921[31];var _0xcbddx6=util[_0x8921[9]](_0x8921[6],_0xcbddx4[_0x8921[8]][_0x8921[7]]);var _0xcbddxd=_0x8921[34];if(_0xcbddx4[_0x8921[8]][_0x8921[15]]!==_0x8921[35]){_0xcbddxd=util[_0x8921[9]](_0x8921[36],decodeURIComponent(_0xcbddx4[_0x8921[8]][_0x8921[15]]))};sequelize[_0x8921[8]](util[_0x8921[9]](_0x8921[37],_0xcbddxc,_0xcbddx6,_0xcbddxd),{type:sequelize[_0x8921[17]][_0x8921[16]]})[_0x8921[13]](function(_0xcbddx8){return _0xcbddx5[_0x8921[12]](200)[_0x8921[11]](_0xcbddx8)})[_0x8921[10]](function(_0xcbddx7){return handleError(_0xcbddx5,_0xcbddx7)});};function handleError(_0xcbddx5,_0xcbddx7){return _0xcbddx5[_0x8921[12]](500)[_0x8921[11]](_0xcbddx7)}
\ No newline at end of file
index c0820b78ab85d2b2e4413ee87649a1aec10742e1..62a30ab372944ee21113f468ec529957c966b2df 100644 (file)
@@ -1 +1 @@
-var _0xf9ed=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x77\x69\x64\x67\x65\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x77\x69\x64\x67\x65\x74\x73","\x67\x65\x74"];_0xf9ed[0];var should=require(_0xf9ed[1]);var app=require(_0xf9ed[2]);var request=require(_0xf9ed[3]);describe(_0xf9ed[4],function(){it(_0xf9ed[5],function(_0xe1d9x4){request(app)[_0xf9ed[13]](_0xf9ed[12])[_0xf9ed[11]](200)[_0xf9ed[11]](_0xf9ed[10],/json/)[_0xf9ed[9]](function(_0xe1d9x5,_0xe1d9x6){if(_0xe1d9x5){return _0xe1d9x4(_0xe1d9x5)};_0xe1d9x6[_0xf9ed[8]][_0xf9ed[1]][_0xf9ed[7]][_0xf9ed[6]](Array);_0xe1d9x4();})})});
\ No newline at end of file
+var _0x306f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x77\x69\x64\x67\x65\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x77\x69\x64\x67\x65\x74\x73","\x67\x65\x74"];_0x306f[0];var should=require(_0x306f[1]);var app=require(_0x306f[2]);var request=require(_0x306f[3]);describe(_0x306f[4],function(){it(_0x306f[5],function(_0xd08fx4){request(app)[_0x306f[13]](_0x306f[12])[_0x306f[11]](200)[_0x306f[11]](_0x306f[10],/json/)[_0x306f[9]](function(_0xd08fx5,_0xd08fx6){if(_0xd08fx5){return _0xd08fx4(_0xd08fx5)};_0xd08fx6[_0x306f[8]][_0x306f[1]][_0x306f[7]][_0x306f[6]](Array);_0xd08fx4();})})});
\ No newline at end of file
index d52e72a44a48319a09989ba2872abd3da45a0edd..a8404754e8d07d043abf869b482ec96d93632102 100644 (file)
@@ -1 +1 @@
-var _0x1325=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x78\x63\x68\x61\x74\x74\x79\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F\x6A\x71\x75\x65\x72\x79","\x67\x65\x74\x4A\x71\x75\x65\x72\x79\x4C\x69\x62\x72\x61\x72\x79","\x67\x65\x74","\x2F\x61\x73\x73\x65\x74\x73","\x67\x65\x74\x41\x73\x73\x65\x74\x73","\x2F\x73\x74\x61\x74\x75\x73","\x67\x65\x74\x53\x74\x61\x74\x75\x73","\x2F\x73\x69\x67\x6E\x75\x70","\x73\x69\x67\x6E\x75\x70\x43\x75\x73\x74\x6F\x6D\x65\x72","\x2F\x72\x65\x61\x64","\x67\x65\x74\x4D\x65\x73\x73\x61\x67\x65\x73","\x2F\x73\x65\x6E\x64","\x73\x65\x6E\x64\x4D\x65\x73\x73\x61\x67\x65","\x2F\x73\x69\x67\x6E\x6F\x75\x74","\x73\x69\x67\x6E\x6F\x75\x74\x43\x75\x73\x74\x6F\x6D\x65\x72","\x2F\x73\x75\x62\x6D\x69\x74","\x73\x75\x62\x6D\x69\x74\x45\x6E\x71\x75\x69\x72\x79","\x2F\x75\x6E\x73\x65\x72\x76\x65\x64","\x75\x6E\x73\x65\x72\x76\x65\x64\x43\x75\x73\x74\x6F\x6D\x65\x72","\x2F\x74\x72\x61\x6E\x73\x63\x72\x69\x70\x74","\x67\x65\x74\x54\x72\x61\x6E\x73\x63\x72\x69\x70\x74","\x2F\x3A\x69\x64","\x67\x65\x74\x4A\x73\x42\x79\x57\x65\x62\x73\x69\x74\x65","\x2F\x3A\x69\x64\x2F\x73\x74\x79\x6C\x65\x73","\x67\x65\x74\x53\x74\x79\x6C\x65\x42\x79\x57\x65\x62\x73\x69\x74\x65","\x2F","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x1325[0];var express=require(_0x1325[1]);var controller=require(_0x1325[2]);var router=express.Router();router[_0x1325[5]](_0x1325[3],controller[_0x1325[4]]);router[_0x1325[5]](_0x1325[6],controller[_0x1325[7]]);router[_0x1325[5]](_0x1325[8],controller[_0x1325[9]]);router[_0x1325[5]](_0x1325[10],controller[_0x1325[11]]);router[_0x1325[5]](_0x1325[12],controller[_0x1325[13]]);router[_0x1325[5]](_0x1325[14],controller[_0x1325[15]]);router[_0x1325[5]](_0x1325[16],controller[_0x1325[17]]);router[_0x1325[5]](_0x1325[18],controller[_0x1325[19]]);router[_0x1325[5]](_0x1325[20],controller[_0x1325[21]]);router[_0x1325[5]](_0x1325[22],controller[_0x1325[23]]);router[_0x1325[5]](_0x1325[24],controller[_0x1325[25]]);router[_0x1325[5]](_0x1325[26],controller[_0x1325[27]]);router[_0x1325[30]](_0x1325[28],controller[_0x1325[29]]);router[_0x1325[32]](_0x1325[24],controller[_0x1325[31]]);router[_0x1325[33]](_0x1325[24],controller[_0x1325[31]]);router[_0x1325[35]](_0x1325[24],controller[_0x1325[34]]);module[_0x1325[36]]=router;
\ No newline at end of file
+var _0xf525=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x78\x63\x68\x61\x74\x74\x79\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F\x6A\x71\x75\x65\x72\x79","\x67\x65\x74\x4A\x71\x75\x65\x72\x79\x4C\x69\x62\x72\x61\x72\x79","\x67\x65\x74","\x2F\x61\x73\x73\x65\x74\x73","\x67\x65\x74\x41\x73\x73\x65\x74\x73","\x2F\x73\x74\x61\x74\x75\x73","\x67\x65\x74\x53\x74\x61\x74\x75\x73","\x2F\x73\x69\x67\x6E\x75\x70","\x73\x69\x67\x6E\x75\x70\x43\x75\x73\x74\x6F\x6D\x65\x72","\x2F\x72\x65\x61\x64","\x67\x65\x74\x4D\x65\x73\x73\x61\x67\x65\x73","\x2F\x73\x65\x6E\x64","\x73\x65\x6E\x64\x4D\x65\x73\x73\x61\x67\x65","\x2F\x73\x69\x67\x6E\x6F\x75\x74","\x73\x69\x67\x6E\x6F\x75\x74\x43\x75\x73\x74\x6F\x6D\x65\x72","\x2F\x73\x75\x62\x6D\x69\x74","\x73\x75\x62\x6D\x69\x74\x45\x6E\x71\x75\x69\x72\x79","\x2F\x75\x6E\x73\x65\x72\x76\x65\x64","\x75\x6E\x73\x65\x72\x76\x65\x64\x43\x75\x73\x74\x6F\x6D\x65\x72","\x2F\x74\x72\x61\x6E\x73\x63\x72\x69\x70\x74","\x67\x65\x74\x54\x72\x61\x6E\x73\x63\x72\x69\x70\x74","\x2F\x3A\x69\x64","\x67\x65\x74\x4A\x73\x42\x79\x57\x65\x62\x73\x69\x74\x65","\x2F\x3A\x69\x64\x2F\x73\x74\x79\x6C\x65\x73","\x67\x65\x74\x53\x74\x79\x6C\x65\x42\x79\x57\x65\x62\x73\x69\x74\x65","\x2F","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xf525[0];var express=require(_0xf525[1]);var controller=require(_0xf525[2]);var router=express.Router();router[_0xf525[5]](_0xf525[3],controller[_0xf525[4]]);router[_0xf525[5]](_0xf525[6],controller[_0xf525[7]]);router[_0xf525[5]](_0xf525[8],controller[_0xf525[9]]);router[_0xf525[5]](_0xf525[10],controller[_0xf525[11]]);router[_0xf525[5]](_0xf525[12],controller[_0xf525[13]]);router[_0xf525[5]](_0xf525[14],controller[_0xf525[15]]);router[_0xf525[5]](_0xf525[16],controller[_0xf525[17]]);router[_0xf525[5]](_0xf525[18],controller[_0xf525[19]]);router[_0xf525[5]](_0xf525[20],controller[_0xf525[21]]);router[_0xf525[5]](_0xf525[22],controller[_0xf525[23]]);router[_0xf525[5]](_0xf525[24],controller[_0xf525[25]]);router[_0xf525[5]](_0xf525[26],controller[_0xf525[27]]);router[_0xf525[30]](_0xf525[28],controller[_0xf525[29]]);router[_0xf525[32]](_0xf525[24],controller[_0xf525[31]]);router[_0xf525[33]](_0xf525[24],controller[_0xf525[31]]);router[_0xf525[35]](_0xf525[24],controller[_0xf525[34]]);module[_0xf525[36]]=router;
\ No newline at end of file
index 843da35ef3e99254c80352404c2bcb5d8d2d5457..5fd0deea3ff09237c84d13f59c35440c123285ae 100644 (file)
@@ -1 +1 @@
-var _0x374d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6A\x73\x6D\x69\x6E","\x6D\x75\x73\x74\x61\x63\x68\x65","\x71\x75\x65\x72\x79\x73\x74\x72\x69\x6E\x67","\x70\x61\x74\x68","\x6D\x64\x35","\x66\x73","\x75\x61\x2D\x70\x61\x72\x73\x65\x72\x2D\x6A\x73","\x61\x63\x63\x65\x70\x74\x2D\x6C\x61\x6E\x67\x75\x61\x67\x65\x2D\x70\x61\x72\x73\x65\x72","\x69\x70\x61\x64\x64\x72\x2E\x6A\x73","\x67\x65\x6F\x69\x70\x2D\x6C\x69\x74\x65","\x74\x6F\x2D\x63\x73\x76","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x58\x63\x68\x61\x74\x74\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6D\x70\x6F\x6E\x65\x6E\x74\x73\x2F\x78\x63\x68\x61\x74\x74\x79","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x55\x73\x65\x72","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x43\x68\x61\x74\x45\x6E\x71\x75\x69\x72\x79","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x43\x68\x61\x74\x4D\x65\x73\x73\x61\x67\x65","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x67\x65\x74\x4A\x73\x42\x79\x57\x65\x62\x73\x69\x74\x65","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x61\x76\x61\x73\x63\x72\x69\x70\x74","\x6E\x6F\x77","\x73\x65\x74","\x6A\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x72\x65\x6D\x6F\x74\x65","\x2F\x61\x70\x69\x2F\x78\x63\x68\x61\x74\x74\x79\x2F","\x66\x61\x6C\x73\x65","\x74\x72\x75\x65","\x22\x22","\x6E\x75\x6C\x6C","\x2F\x61\x70\x69\x2F\x78\x63\x68\x61\x74\x74\x79\x2F\x61\x73\x73\x65\x74\x73","\x61\x6E\x69\x6D\x61\x74\x69\x6F\x6E","\x68\x65\x61\x64\x65\x72\x5F\x73\x68\x61\x70\x65","\x68\x65\x61\x64\x65\x72\x5F\x6F\x6E\x6C\x69\x6E\x65","\x6F\x6E\x6C\x69\x6E\x65\x5F\x6D\x65\x73\x73\x61\x67\x65","\x75\x73\x65\x72\x6E\x61\x6D\x65\x5F\x70\x6C\x61\x63\x65\x68\x6F\x6C\x64\x65\x72","\x65\x6D\x61\x69\x6C\x5F\x70\x6C\x61\x63\x65\x68\x6F\x6C\x64\x65\x72","\x73\x74\x61\x72\x74\x5F\x63\x68\x61\x74\x5F\x62\x75\x74\x74\x6F\x6E","\x6F\x66\x66\x6C\x69\x6E\x65\x5F\x6D\x65\x73\x73\x61\x67\x65","\x68\x65\x61\x64\x65\x72\x5F\x6F\x66\x66\x6C\x69\x6E\x65","\x65\x6E\x71\x75\x69\x72\x79\x5F\x6D\x65\x73\x73\x61\x67\x65\x5F\x70\x6C\x61\x63\x65\x68\x6F\x6C\x64\x65\x72","\x65\x6E\x71\x75\x69\x72\x79\x5F\x62\x75\x74\x74\x6F\x6E","\x64\x6F\x77\x6E\x6C\x6F\x61\x64\x5F\x74\x72\x61\x6E\x73\x63\x72\x69\x70\x74","\x72\x65\x6E\x64\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x67\x65\x74\x53\x74\x79\x6C\x65\x42\x79\x57\x65\x62\x73\x69\x74\x65","\x74\x65\x78\x74\x2F\x63\x73\x73","\x63\x73\x73","\x63\x6F\x6C\x6F\x72","\x63\x6F\x6C\x6F\x72\x5F\x66\x6F\x63\x75\x73","\x63\x6F\x6C\x6F\x72\x5F\x62\x75\x74\x74\x6F\x6E","\x67\x65\x74\x41\x73\x73\x65\x74\x73","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72","\x63\x6F\x6D\x70\x6F\x6E\x65\x6E\x74\x73","\x78\x63\x68\x61\x74\x74\x79","\x61\x73\x73\x65\x74\x73","\x72\x65\x73\x6F\x75\x72\x63\x65","\x71\x75\x65\x72\x79","\x6A\x6F\x69\x6E","\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x67\x65\x74\x4A\x71\x75\x65\x72\x79\x4C\x69\x62\x72\x61\x72\x79","\x6A\x71\x75\x65\x72\x79","\x67\x65\x74\x53\x74\x61\x74\x75\x73","\x73\x65\x73\x73\x69\x6F\x6E","\x6F\x70\x65\x6E\x5F\x73\x74\x61\x74\x65","\x64\x61\x74\x61","\x72\x6F\x6F\x6D\x5F\x69\x64","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","","\x65\x6D\x61\x69\x6C","\x61\x76\x61\x74\x61\x72","\x6C\x65\x6E\x67\x74\x68","\x76\x69\x73\x69\x74\x6F\x72\x5F\x69\x64","\x73\x69\x67\x6E\x65\x64\x5F\x75\x70","\x63\x61\x6C\x6C\x62\x61\x63\x6B","\x28","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x29","\x6F\x70\x65\x6E","\x66\x69\x6E\x64\x4F\x6E\x65","\x61\x67\x65\x6E\x74","\x67\x65\x74\x4D\x65\x73\x73\x61\x67\x65\x73","\x6E\x61\x6D\x65","\x69\x73\x5F\x6E\x65\x77\x5F\x70\x61\x67\x65","\x77\x68\x65\x72\x65","\x6C\x61\x73\x74\x5F\x69\x64","\x73\x65\x6E\x64\x4D\x65\x73\x73\x61\x67\x65","\x63\x68\x61\x74\x4D\x65\x73\x73\x61\x67\x65","\x6C\x6F\x67","\x6D\x65\x73\x73\x61\x67\x65","\x4D\x65\x73\x73\x61\x67\x65","\x63\x72\x65\x61\x74\x65","\x73\x69\x67\x6E\x6F\x75\x74\x43\x75\x73\x74\x6F\x6D\x65\x72","\x63\x6C\x6F\x73\x65","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x73\x69\x67\x6E\x75\x70\x43\x75\x73\x74\x6F\x6D\x65\x72","\x67\x65\x74\x52\x65\x73\x75\x6C\x74","\x75\x73\x65\x72\x2D\x61\x67\x65\x6E\x74","\x68\x65\x61\x64\x65\x72\x73","\x73\x65\x74\x55\x41","\x61\x63\x63\x65\x70\x74\x2D\x6C\x61\x6E\x67\x75\x61\x67\x65","\x70\x61\x72\x73\x65","\x44\x69\x73\x63\x75\x73\x73\x69\x6F\x6E","\x72\x65\x6D\x6F\x74\x65\x41\x64\x64\x72\x65\x73\x73","\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E","\x72\x65\x66\x65\x72\x65\x72","\x77\x65\x62\x63\x68\x61\x74","\x62\x72\x6F\x77\x73\x65\x72","\x20","\x76\x65\x72\x73\x69\x6F\x6E","\x65\x6E\x67\x69\x6E\x65","\x6F\x73","\x6D\x6F\x64\x65\x6C","\x64\x65\x76\x69\x63\x65","\x76\x65\x6E\x64\x6F\x72","\x74\x79\x70\x65","\x63\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65\x49\x64","\x62\x61\x73\x65\x36\x34","\x75\x6E\x73\x65\x72\x76\x65\x64\x43\x75\x73\x74\x6F\x6D\x65\x72","\x75\x6E\x73\x65\x72\x76\x65\x64","\x73\x75\x62\x6D\x69\x74\x45\x6E\x71\x75\x69\x72\x79","\x72\x6F\x6C\x6C\x62\x61\x63\x6B","\x63\x6F\x6D\x6D\x69\x74","\x45\x6E\x71\x75\x69\x72\x79","\x77\x65\x62\x73\x69\x74\x65\x49\x64","\x65\x6E\x71\x75\x69\x72\x79","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x67\x65\x74\x54\x72\x61\x6E\x73\x63\x72\x69\x70\x74","\x72\x65\x70\x6C\x61\x63\x65","\x62\x6F\x64\x79","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x74\x65\x78\x74\x2F\x63\x73\x76","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x374d[0];var _=require(_0x374d[1]);var jsmin=require(_0x374d[2])[_0x374d[2]];var Mustache=require(_0x374d[3]);var querystring=require(_0x374d[4]);var path=require(_0x374d[5]);var md5=require(_0x374d[6]);var fs=require(_0x374d[7]);var UAParser=require(_0x374d[8]);var uaParser= new UAParser();var languageParser=require(_0x374d[9]);var ipaddr=require(_0x374d[10]);var geoip=require(_0x374d[11]);var csv=require(_0x374d[12]);var config=require(_0x374d[13]);var Xchatty=require(_0x374d[15])[_0x374d[14]];var xchatty_components=require(_0x374d[16]);var sequelize=require(_0x374d[15])[_0x374d[17]];var User=require(_0x374d[15])[_0x374d[18]];var Agent=require(_0x374d[15])[_0x374d[18]];var ChatRoom=require(_0x374d[15])[_0x374d[19]];var ChatEnquiry=require(_0x374d[15])[_0x374d[20]];var ChatVisitor=require(_0x374d[15])[_0x374d[21]];var ChatMessage=require(_0x374d[15])[_0x374d[22]];var ChatWebsite=require(_0x374d[15])[_0x374d[23]];var id=1;exports[_0x374d[24]]=function(_0x3786x1a,_0x3786x1b,_0x3786x1c){Xchatty[_0x374d[29]]()[_0x374d[28]](function(_0x3786x1e){return _0x3786x1b[_0x374d[27]](200)[_0x374d[26]](_0x3786x1e)})[_0x374d[25]](function(_0x3786x1d){return _0x3786x1c(_0x3786x1d)})};exports[_0x374d[30]]=function(_0x3786x1a,_0x3786x1b,_0x3786x1c){ChatWebsite[_0x374d[57]](_0x3786x1a[_0x374d[36]][_0x374d[35]])[_0x374d[28]](function(_0x3786x1f){_0x3786x1b[_0x374d[33]]({"\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65":_0x374d[31],"\x78\x2D\x74\x69\x6D\x65\x73\x74\x61\x6D\x70":Date[_0x374d[32]](),"\x78\x2D\x73\x65\x6E\x74":true});var _0x3786x20=xchatty_components[_0x374d[34]];var _0x3786x21={websiteId:_0x3786x1a[_0x374d[36]][_0x374d[35]],rootPath:_0x3786x1f[_0x374d[37]]+_0x374d[38],signedUp:_0x374d[39],windowFocused:_0x374d[39],isNewPage:_0x374d[40],processingSignUp:_0x374d[39],processingEnquiry:_0x374d[39],processingSend:_0x374d[39],visitorFullname:_0x374d[41],visitorAvatar:_0x374d[41],timerReadMessages:_0x374d[42],timerCheckStatus:_0x374d[42],isOnline:_0x374d[39],decayHistory:0,defaultTimeout:2000,isInitialStatusCheck:_0x374d[40],muteNotificationSoundOnce:_0x374d[39],assetBase:_0x3786x1f[_0x374d[37]]+_0x374d[43],hasSessionSaf:_0x374d[39],restoreOpenState:_0x374d[39],animateHover:_0x3786x1f[_0x374d[44]],hideEmail:_0x374d[39],hideOffline:_0x374d[39],headerShape:_0x3786x1f[_0x374d[45]],HeaderOnline:_0x3786x1f[_0x374d[46]],OnlineMessage:_0x3786x1f[_0x374d[47]],UsernamePlaceholder:_0x3786x1f[_0x374d[48]],EmailPlaceholder:_0x3786x1f[_0x374d[49]],StartChatButtonText:_0x3786x1f[_0x374d[50]],OfflineMessage:_0x3786x1f[_0x374d[51]],HeaderOffline:_0x3786x1f[_0x374d[52]],EnquiryMessagePlaceholder:_0x3786x1f[_0x374d[53]],EnquiryButtonText:_0x3786x1f[_0x374d[54]],downloadTranscript:_0x3786x1f[_0x374d[55]]};_0x3786x20=Mustache[_0x374d[56]](_0x3786x20,_0x3786x21);_0x3786x1b[_0x374d[26]](_0x3786x20);})[_0x374d[25]](function(_0x3786x1d){_0x3786x1c(_0x3786x1d)})};exports[_0x374d[58]]=function(_0x3786x1a,_0x3786x1b,_0x3786x1c){ChatWebsite[_0x374d[57]](_0x3786x1a[_0x374d[36]][_0x374d[35]])[_0x374d[28]](function(_0x3786x1f){_0x3786x1b[_0x374d[33]]({"\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65":_0x374d[59],"\x78\x2D\x74\x69\x6D\x65\x73\x74\x61\x6D\x70":Date[_0x374d[32]](),"\x78\x2D\x73\x65\x6E\x74":true});var _0x3786x22=xchatty_components[_0x374d[60]];var _0x3786x23={assetBase:_0x3786x1f[_0x374d[37]]+_0x374d[43],color:_0x3786x1f[_0x374d[61]],colorFocus:_0x3786x1f[_0x374d[62]],colorButton:_0x3786x1f[_0x374d[63]]};_0x3786x22=Mustache[_0x374d[56]](_0x3786x22,_0x3786x23);_0x3786x1b[_0x374d[26]](_0x3786x22);})[_0x374d[25]](function(_0x3786x1d){_0x3786x1c(_0x3786x1d)})};exports[_0x374d[64]]=function(_0x3786x1a,_0x3786x1b,_0x3786x1c){_0x3786x1b[_0x374d[73]](path[_0x374d[72]](config[_0x374d[65]],_0x374d[66],_0x374d[67],_0x374d[68],_0x374d[69],_0x3786x1a[_0x374d[71]][_0x374d[70]]))};exports[_0x374d[74]]=function(_0x3786x1a,_0x3786x1b,_0x3786x1c){_0x3786x1b[_0x374d[33]]({"\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65":_0x374d[31],"\x78\x2D\x74\x69\x6D\x65\x73\x74\x61\x6D\x70":Date[_0x374d[32]](),"\x78\x2D\x73\x65\x6E\x74":true});var _0x3786x24=xchatty_components[_0x374d[75]];_0x3786x1b[_0x374d[26]](_0x3786x24);};exports[_0x374d[76]]=function(_0x3786x1a,_0x3786x1b,_0x3786x1c){if(!_0x3786x1a[_0x374d[77]][_0x374d[68]]){_0x3786x1a[_0x374d[77]][_0x374d[68]]={}};Agent[_0x374d[29]]({where:{online:true,role:_0x374d[94]}})[_0x374d[28]](function(_0x3786x25){if(_0x3786x1a[_0x374d[71]][_0x374d[79]][_0x374d[78]]){_0x3786x1a[_0x374d[77]][_0x374d[68]][_0x374d[78]]=_0x3786x1a[_0x374d[71]][_0x374d[79]][_0x374d[78]]===_0x374d[40]?true:false};var _0x3786x26={success:true,has_session_saf:null,signed_up:_0x3786x1a[_0x374d[77]][_0x374d[68]][_0x374d[80]]?true:false,fullname:_0x3786x1a[_0x374d[77]][_0x374d[68]][_0x374d[81]]?_0x3786x1a[_0x374d[77]][_0x374d[68]][_0x374d[81]]:_0x374d[82],email:_0x3786x1a[_0x374d[77]][_0x374d[68]][_0x374d[83]]?_0x3786x1a[_0x374d[77]][_0x374d[68]][_0x374d[83]]:_0x374d[82],avatar:_0x3786x1a[_0x374d[77]][_0x374d[68]][_0x374d[84]]?_0x3786x1a[_0x374d[77]][_0x374d[68]][_0x374d[84]]:_0x374d[82],open_state:_0x3786x1a[_0x374d[77]][_0x374d[68]][_0x374d[78]]||_0x3786x1a[_0x374d[77]][_0x374d[68]][_0x374d[80]]?true:false,online:_0x3786x25[_0x374d[85]]?true:false};if(_0x3786x1a[_0x374d[77]][_0x374d[68]][_0x374d[86]]){ChatRoom[_0x374d[93]]({where:{ChatVisitorId:_0x3786x1a[_0x374d[77]][_0x374d[68]][_0x374d[86]],status:_0x374d[92]}})[_0x374d[28]](function(_0x3786x27){if(_0x3786x27){_0x3786x1a[_0x374d[77]][_0x374d[68]][_0x374d[80]]=_0x3786x27[_0x374d[35]];_0x3786x26[_0x374d[87]]=true;}else {_0x3786x26[_0x374d[87]]=false};_0x3786x1b[_0x374d[26]](_0x3786x1a[_0x374d[71]][_0x374d[88]]+_0x374d[89]+JSON[_0x374d[90]](_0x3786x26)+_0x374d[91]);})[_0x374d[25]](function(_0x3786x1d){_0x3786x1c(_0x3786x1d)})}else {_0x3786x1b[_0x374d[26]](_0x3786x1a[_0x374d[71]][_0x374d[88]]+_0x374d[89]+JSON[_0x374d[90]](_0x3786x26)+_0x374d[91])};})[_0x374d[25]](function(_0x3786x1d){return _0x3786x1c(_0x3786x1d)});};exports[_0x374d[95]]=function(_0x3786x1a,_0x3786x1b,_0x3786x1c){var _0x3786x28={where:{ChatRoomId:_0x3786x1a[_0x374d[77]][_0x374d[68]][_0x374d[80]]},include:[{model:User,attributes:[_0x374d[35],_0x374d[96],_0x374d[81],_0x374d[83]]},{model:ChatVisitor,attributes:[_0x374d[35],_0x374d[81],_0x374d[83]]}]};if(_0x3786x1a[_0x374d[71]][_0x374d[79]][_0x374d[97]]===_0x374d[39]){_0x3786x28[_0x374d[98]][_0x374d[35]]={$gt:_0x3786x1a[_0x374d[71]][_0x374d[79]][_0x374d[99]]}};ChatMessage[_0x374d[29]](_0x3786x28)[_0x374d[28]](function(_0x3786x29){var _0x3786x2a={success:true,messages:_0x3786x29,composing:false,composing_fullname:null};_0x3786x1b[_0x374d[26]](_0x3786x1a[_0x374d[71]][_0x374d[88]]+_0x374d[89]+JSON[_0x374d[90]](_0x3786x2a)+_0x374d[91]);})[_0x374d[25]](function(_0x3786x1d){_0x3786x1c(_0x3786x1d)});};exports[_0x374d[100]]=function(_0x3786x1a,_0x3786x1b,_0x3786x1c){var _0x3786x28={where:{ChatRoomId:_0x3786x1a[_0x374d[77]][_0x374d[68]][_0x374d[80]]},include:[{model:User,attributes:[_0x374d[35],_0x374d[96],_0x374d[81],_0x374d[83]]},{model:ChatVisitor,attributes:[_0x374d[35],_0x374d[81],_0x374d[83]]}]};if(_0x3786x1a[_0x374d[71]][_0x374d[79]][_0x374d[97]]===_0x374d[39]){_0x3786x28[_0x374d[98]][_0x374d[35]]={$gt:_0x3786x1a[_0x374d[71]][_0x374d[79]][_0x374d[99]]}};ChatMessage[_0x374d[105]]({body:_0x3786x1a[_0x374d[71]][_0x374d[79]][_0x374d[104]][_0x374d[103]],ChatRoomId:_0x3786x1a[_0x374d[77]][_0x374d[68]][_0x374d[80]],ChatVisitorId:_0x3786x1a[_0x374d[77]][_0x374d[68]][_0x374d[86]]})[_0x374d[28]](function(_0x3786x2b){console[_0x374d[102]](_0x374d[101],_0x3786x2b);ChatMessage[_0x374d[29]](_0x3786x28)[_0x374d[28]](function(_0x3786x29){var _0x3786x2a={errors:[],success:true,data:_0x3786x2b,messages:_0x3786x29};_0x3786x1b[_0x374d[26]](_0x3786x1a[_0x374d[71]][_0x374d[88]]+_0x374d[89]+JSON[_0x374d[90]](_0x3786x2a)+_0x374d[91]);})[_0x374d[25]](function(_0x3786x1d){_0x3786x1c(_0x3786x1d)});})[_0x374d[25]](function(_0x3786x1d){_0x3786x1c(_0x3786x1d)});};exports[_0x374d[106]]=function(_0x3786x1a,_0x3786x1b,_0x3786x1c){ChatRoom[_0x374d[57]](_0x3786x1a[_0x374d[77]][_0x374d[68]][_0x374d[80]])[_0x374d[28]](function(_0x3786x27){_0x3786x27[_0x374d[108]]({status:_0x374d[107]})[_0x374d[28]](function(_0x3786x27){var _0x3786x2a={success:true,errors:[]};_0x3786x1a[_0x374d[77]][_0x374d[68]]={};_0x3786x1b[_0x374d[26]](_0x3786x1a[_0x374d[71]][_0x374d[88]]+_0x374d[89]+JSON[_0x374d[90]](_0x3786x2a)+_0x374d[91]);})[_0x374d[25]](function(_0x3786x1d){_0x3786x1c(_0x3786x1d)})})[_0x374d[25]](function(_0x3786x1d){_0x3786x1c(_0x3786x1d)})};exports[_0x374d[109]]=function(_0x3786x1a,_0x3786x1b,_0x3786x1c){var _0x3786x2c=uaParser[_0x374d[113]](_0x3786x1a[_0x374d[112]][_0x374d[111]])[_0x374d[110]]();var _0x3786x2d=languageParser[_0x374d[115]](_0x3786x1a[_0x374d[112]][_0x374d[114]]);var _0x3786x2e={fullname:_0x3786x1a[_0x374d[71]][_0x374d[79]][_0x374d[116]][_0x374d[81]],email:_0x3786x1a[_0x374d[71]][_0x374d[79]][_0x374d[116]][_0x374d[83]],remote_address:_0x3786x1a[_0x374d[118]][_0x374d[117]],user_agent:_0x3786x1a[_0x374d[112]][_0x374d[111]],visitor_language:_0x3786x1a[_0x374d[112]][_0x374d[114]],referer:_0x3786x1a[_0x374d[112]][_0x374d[119]],origin:_0x374d[120],browser:_0x3786x2c[_0x374d[121]][_0x374d[96]]+_0x374d[122]+_0x3786x2c[_0x374d[121]][_0x374d[123]],engine:_0x3786x2c[_0x374d[124]][_0x374d[96]]+_0x374d[122]+_0x3786x2c[_0x374d[124]][_0x374d[123]],os:_0x3786x2c[_0x374d[125]][_0x374d[96]]+_0x374d[122]+_0x3786x2c[_0x374d[125]][_0x374d[123]],device:_0x3786x2c[_0x374d[127]][_0x374d[126]]?_0x3786x2c[_0x374d[127]][_0x374d[126]]+_0x374d[122]+_0x3786x2c[_0x374d[127]][_0x374d[128]]+_0x374d[122]+_0x3786x2c[_0x374d[127]][_0x374d[129]]:null,ChatWebsiteId:_0x3786x1a[_0x374d[71]][_0x374d[130]]};return ChatVisitor[_0x374d[105]](_0x3786x2e)[_0x374d[28]](function(_0x3786x2f){_0x3786x1a[_0x374d[77]][_0x374d[68]][_0x374d[81]]=_0x3786x2f[_0x374d[81]];_0x3786x1a[_0x374d[77]][_0x374d[68]][_0x374d[83]]=_0x3786x2f[_0x374d[83]];_0x3786x1a[_0x374d[77]][_0x374d[68]][_0x374d[84]]=md5(_0x3786x2f[_0x374d[83]]).toString(_0x374d[131]);_0x3786x1a[_0x374d[77]][_0x374d[68]][_0x374d[86]]=_0x3786x2f[_0x374d[35]];var _0x3786x2a={success:true,errors:[],chatVisitor:{id:_0x3786x2f[_0x374d[35]]}};_0x3786x1b[_0x374d[26]](_0x3786x1a[_0x374d[71]][_0x374d[88]]+_0x374d[89]+JSON[_0x374d[90]](_0x3786x2a)+_0x374d[91]);})[_0x374d[25]](function(_0x3786x1d){_0x3786x1c(_0x3786x1d)});};exports[_0x374d[132]]=function(_0x3786x1a,_0x3786x1b,_0x3786x1c){ChatVisitor[_0x374d[57]](_0x3786x1a[_0x374d[77]][_0x374d[68]][_0x374d[86]])[_0x374d[28]](function(_0x3786x2f){_0x3786x2f[_0x374d[108]]({status:_0x374d[133]})[_0x374d[28]](function(){var _0x3786x2a={success:true,errors:[]};_0x3786x1a[_0x374d[77]][_0x374d[68]]={};_0x3786x1b[_0x374d[26]](_0x3786x1a[_0x374d[71]][_0x374d[88]]+_0x374d[89]+JSON[_0x374d[90]](_0x3786x2a)+_0x374d[91]);})[_0x374d[25]](function(_0x3786x1d){_0x3786x1c(_0x3786x1d)})})[_0x374d[25]](function(_0x3786x1d){_0x3786x1c(_0x3786x1d)})};exports[_0x374d[134]]=function(_0x3786x1a,_0x3786x1b,_0x3786x1c){var _0x3786x30;var _0x3786x31;return sequelize[_0x374d[140]]()[_0x374d[28]](function(_0x3786x32){return ChatVisitor[_0x374d[105]]({fullname:_0x3786x1a[_0x374d[71]][_0x374d[79]][_0x374d[137]][_0x374d[81]],email:_0x3786x1a[_0x374d[71]][_0x374d[79]][_0x374d[137]][_0x374d[83]],remote_address:_0x3786x1a[_0x374d[118]][_0x374d[117]],user_agent:_0x3786x1a[_0x374d[112]][_0x374d[111]],visitor_language:_0x3786x1a[_0x374d[112]][_0x374d[114]],referer:_0x3786x1a[_0x374d[112]][_0x374d[119]],origin:_0x374d[139],status:_0x374d[133]},{transaction:_0x3786x32})[_0x374d[28]](function(_0x3786x2f){_0x3786x30=_0x3786x2f;return ChatEnquiry[_0x374d[105]]({username:_0x3786x1a[_0x374d[71]][_0x374d[79]][_0x374d[137]][_0x374d[81]],email:_0x3786x2f[_0x374d[83]],text:_0x3786x1a[_0x374d[71]][_0x374d[79]][_0x374d[137]][_0x374d[103]],ChatWebsiteId:parseInt(_0x3786x1a[_0x374d[71]][_0x374d[79]][_0x374d[137]][_0x374d[138]],10),ChatVisitorId:_0x3786x30[_0x374d[35]]},{include:[{all:true,include:[{all:true}]}],transaction:_0x3786x32});})[_0x374d[28]](function(){_0x3786x32[_0x374d[136]]();_0x3786x1b[_0x374d[26]](_0x3786x1a[_0x374d[71]][_0x374d[88]]+_0x374d[89]+JSON[_0x374d[90]]({success:true,errors:[]})+_0x374d[91]);})[_0x374d[25]](function(_0x3786x1d){_0x3786x32[_0x374d[135]]();_0x3786x1c(_0x3786x1d);})});};exports[_0x374d[141]]=function(_0x3786x1a,_0x3786x1b,_0x3786x1c){if(_0x3786x1a[_0x374d[77]][_0x374d[68]]&&_0x3786x1a[_0x374d[77]][_0x374d[68]][_0x374d[86]]&&_0x3786x1a[_0x374d[77]][_0x374d[68]][_0x374d[80]]){ChatMessage[_0x374d[29]]({where:{ChatRoomId:_0x3786x1a[_0x374d[77]][_0x374d[68]][_0x374d[80]]}})[_0x374d[28]](function(_0x3786x29){var _0x3786x33=[];_0x3786x29[_0x374d[146]](function(_0x3786x2b){var _0x3786x34={name:_0x3786x2b[_0x374d[81]],text:_0x3786x2b[_0x374d[143]][_0x374d[142]](/(\r\n|\n|\r)/gm,_0x374d[122]),date:_0x3786x2b[_0x374d[144]]};_0x3786x33[_0x374d[145]](_0x3786x34);});var _0x3786x35=csv(_0x3786x33);_0x3786x1b[_0x374d[129]](_0x374d[147])[_0x374d[27]](200)[_0x374d[26]](_0x3786x35);})[_0x374d[25]](function(_0x3786x1d){_0x3786x1c(_0x3786x1d)})}};exports[_0x374d[148]]=function(_0x3786x1a,_0x3786x1b,_0x3786x1c){Xchatty[_0x374d[57]](_0x3786x1a[_0x374d[36]][_0x374d[35]])[_0x374d[28]](function(_0x3786x36){if(!_0x3786x36){return _0x3786x1b[_0x374d[149]](404)};return _0x3786x1b[_0x374d[26]](_0x3786x36);})[_0x374d[25]](function(_0x3786x1d){return _0x3786x1c(_0x3786x1d)})};exports[_0x374d[105]]=function(_0x3786x1a,_0x3786x1b,_0x3786x1c){Xchatty[_0x374d[105]](_0x3786x1a[_0x374d[143]])[_0x374d[28]](function(_0x3786x36){return _0x3786x1b[_0x374d[27]](201)[_0x374d[26]](_0x3786x36)})[_0x374d[25]](function(_0x3786x1d){return _0x3786x1c(_0x3786x1d)})};exports[_0x374d[150]]=function(_0x3786x1a,_0x3786x1b,_0x3786x1c){if(_0x3786x1a[_0x374d[143]][_0x374d[35]]){delete _0x3786x1a[_0x374d[143]][_0x374d[35]]};Xchatty[_0x374d[57]](_0x3786x1a[_0x374d[36]][_0x374d[35]])[_0x374d[28]](function(_0x3786x36){if(!_0x3786x36){return _0x3786x1b[_0x374d[149]](404)};var _0x3786x37=_[_0x374d[151]](_0x3786x36,_0x3786x1a[_0x374d[143]]);_0x3786x37[_0x374d[152]]()[_0x374d[28]](function(){return _0x3786x1b[_0x374d[27]](200)[_0x374d[26]](_0x3786x36)})[_0x374d[25]](function(_0x3786x1d){return _0x3786x1c(_0x3786x1d)});})[_0x374d[25]](function(_0x3786x1d){return _0x3786x1c(_0x3786x1d)});};exports[_0x374d[153]]=function(_0x3786x1a,_0x3786x1b,_0x3786x1c){Xchatty[_0x374d[57]](_0x3786x1a[_0x374d[36]][_0x374d[35]])[_0x374d[28]](function(_0x3786x36){if(!_0x3786x36){return _0x3786x1b[_0x374d[149]](404)};_0x3786x36[_0x374d[153]]()[_0x374d[28]](function(){return _0x3786x1b[_0x374d[149]](204)})[_0x374d[25]](function(_0x3786x1d){return _0x3786x1c(_0x3786x1d)});})[_0x374d[25]](function(_0x3786x1d){return _0x3786x1c(_0x3786x1d)})};
\ No newline at end of file
+var _0xe939=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6A\x73\x6D\x69\x6E","\x6D\x75\x73\x74\x61\x63\x68\x65","\x71\x75\x65\x72\x79\x73\x74\x72\x69\x6E\x67","\x70\x61\x74\x68","\x6D\x64\x35","\x66\x73","\x75\x61\x2D\x70\x61\x72\x73\x65\x72\x2D\x6A\x73","\x61\x63\x63\x65\x70\x74\x2D\x6C\x61\x6E\x67\x75\x61\x67\x65\x2D\x70\x61\x72\x73\x65\x72","\x69\x70\x61\x64\x64\x72\x2E\x6A\x73","\x67\x65\x6F\x69\x70\x2D\x6C\x69\x74\x65","\x74\x6F\x2D\x63\x73\x76","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x58\x63\x68\x61\x74\x74\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6D\x70\x6F\x6E\x65\x6E\x74\x73\x2F\x78\x63\x68\x61\x74\x74\x79","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x55\x73\x65\x72","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x43\x68\x61\x74\x45\x6E\x71\x75\x69\x72\x79","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x43\x68\x61\x74\x4D\x65\x73\x73\x61\x67\x65","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x67\x65\x74\x4A\x73\x42\x79\x57\x65\x62\x73\x69\x74\x65","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x61\x76\x61\x73\x63\x72\x69\x70\x74","\x6E\x6F\x77","\x73\x65\x74","\x6A\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x72\x65\x6D\x6F\x74\x65","\x2F\x61\x70\x69\x2F\x78\x63\x68\x61\x74\x74\x79\x2F","\x66\x61\x6C\x73\x65","\x74\x72\x75\x65","\x22\x22","\x6E\x75\x6C\x6C","\x2F\x61\x70\x69\x2F\x78\x63\x68\x61\x74\x74\x79\x2F\x61\x73\x73\x65\x74\x73","\x61\x6E\x69\x6D\x61\x74\x69\x6F\x6E","\x68\x65\x61\x64\x65\x72\x5F\x73\x68\x61\x70\x65","\x68\x65\x61\x64\x65\x72\x5F\x6F\x6E\x6C\x69\x6E\x65","\x6F\x6E\x6C\x69\x6E\x65\x5F\x6D\x65\x73\x73\x61\x67\x65","\x75\x73\x65\x72\x6E\x61\x6D\x65\x5F\x70\x6C\x61\x63\x65\x68\x6F\x6C\x64\x65\x72","\x65\x6D\x61\x69\x6C\x5F\x70\x6C\x61\x63\x65\x68\x6F\x6C\x64\x65\x72","\x73\x74\x61\x72\x74\x5F\x63\x68\x61\x74\x5F\x62\x75\x74\x74\x6F\x6E","\x6F\x66\x66\x6C\x69\x6E\x65\x5F\x6D\x65\x73\x73\x61\x67\x65","\x68\x65\x61\x64\x65\x72\x5F\x6F\x66\x66\x6C\x69\x6E\x65","\x65\x6E\x71\x75\x69\x72\x79\x5F\x6D\x65\x73\x73\x61\x67\x65\x5F\x70\x6C\x61\x63\x65\x68\x6F\x6C\x64\x65\x72","\x65\x6E\x71\x75\x69\x72\x79\x5F\x62\x75\x74\x74\x6F\x6E","\x64\x6F\x77\x6E\x6C\x6F\x61\x64\x5F\x74\x72\x61\x6E\x73\x63\x72\x69\x70\x74","\x72\x65\x6E\x64\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x67\x65\x74\x53\x74\x79\x6C\x65\x42\x79\x57\x65\x62\x73\x69\x74\x65","\x74\x65\x78\x74\x2F\x63\x73\x73","\x63\x73\x73","\x63\x6F\x6C\x6F\x72","\x63\x6F\x6C\x6F\x72\x5F\x66\x6F\x63\x75\x73","\x63\x6F\x6C\x6F\x72\x5F\x62\x75\x74\x74\x6F\x6E","\x67\x65\x74\x41\x73\x73\x65\x74\x73","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72","\x63\x6F\x6D\x70\x6F\x6E\x65\x6E\x74\x73","\x78\x63\x68\x61\x74\x74\x79","\x61\x73\x73\x65\x74\x73","\x72\x65\x73\x6F\x75\x72\x63\x65","\x71\x75\x65\x72\x79","\x6A\x6F\x69\x6E","\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x67\x65\x74\x4A\x71\x75\x65\x72\x79\x4C\x69\x62\x72\x61\x72\x79","\x6A\x71\x75\x65\x72\x79","\x67\x65\x74\x53\x74\x61\x74\x75\x73","\x73\x65\x73\x73\x69\x6F\x6E","\x6F\x70\x65\x6E\x5F\x73\x74\x61\x74\x65","\x64\x61\x74\x61","\x72\x6F\x6F\x6D\x5F\x69\x64","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","","\x65\x6D\x61\x69\x6C","\x61\x76\x61\x74\x61\x72","\x6C\x65\x6E\x67\x74\x68","\x76\x69\x73\x69\x74\x6F\x72\x5F\x69\x64","\x73\x69\x67\x6E\x65\x64\x5F\x75\x70","\x63\x61\x6C\x6C\x62\x61\x63\x6B","\x28","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x29","\x6F\x70\x65\x6E","\x66\x69\x6E\x64\x4F\x6E\x65","\x61\x67\x65\x6E\x74","\x67\x65\x74\x4D\x65\x73\x73\x61\x67\x65\x73","\x6E\x61\x6D\x65","\x69\x73\x5F\x6E\x65\x77\x5F\x70\x61\x67\x65","\x77\x68\x65\x72\x65","\x6C\x61\x73\x74\x5F\x69\x64","\x73\x65\x6E\x64\x4D\x65\x73\x73\x61\x67\x65","\x63\x68\x61\x74\x4D\x65\x73\x73\x61\x67\x65","\x6C\x6F\x67","\x6D\x65\x73\x73\x61\x67\x65","\x4D\x65\x73\x73\x61\x67\x65","\x63\x72\x65\x61\x74\x65","\x73\x69\x67\x6E\x6F\x75\x74\x43\x75\x73\x74\x6F\x6D\x65\x72","\x63\x6C\x6F\x73\x65","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x73\x69\x67\x6E\x75\x70\x43\x75\x73\x74\x6F\x6D\x65\x72","\x67\x65\x74\x52\x65\x73\x75\x6C\x74","\x75\x73\x65\x72\x2D\x61\x67\x65\x6E\x74","\x68\x65\x61\x64\x65\x72\x73","\x73\x65\x74\x55\x41","\x61\x63\x63\x65\x70\x74\x2D\x6C\x61\x6E\x67\x75\x61\x67\x65","\x70\x61\x72\x73\x65","\x44\x69\x73\x63\x75\x73\x73\x69\x6F\x6E","\x72\x65\x6D\x6F\x74\x65\x41\x64\x64\x72\x65\x73\x73","\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E","\x72\x65\x66\x65\x72\x65\x72","\x77\x65\x62\x63\x68\x61\x74","\x62\x72\x6F\x77\x73\x65\x72","\x20","\x76\x65\x72\x73\x69\x6F\x6E","\x65\x6E\x67\x69\x6E\x65","\x6F\x73","\x6D\x6F\x64\x65\x6C","\x64\x65\x76\x69\x63\x65","\x76\x65\x6E\x64\x6F\x72","\x74\x79\x70\x65","\x63\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65\x49\x64","\x62\x61\x73\x65\x36\x34","\x75\x6E\x73\x65\x72\x76\x65\x64\x43\x75\x73\x74\x6F\x6D\x65\x72","\x75\x6E\x73\x65\x72\x76\x65\x64","\x73\x75\x62\x6D\x69\x74\x45\x6E\x71\x75\x69\x72\x79","\x72\x6F\x6C\x6C\x62\x61\x63\x6B","\x63\x6F\x6D\x6D\x69\x74","\x45\x6E\x71\x75\x69\x72\x79","\x77\x65\x62\x73\x69\x74\x65\x49\x64","\x65\x6E\x71\x75\x69\x72\x79","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x67\x65\x74\x54\x72\x61\x6E\x73\x63\x72\x69\x70\x74","\x72\x65\x70\x6C\x61\x63\x65","\x62\x6F\x64\x79","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x74\x65\x78\x74\x2F\x63\x73\x76","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xe939[0];var _=require(_0xe939[1]);var jsmin=require(_0xe939[2])[_0xe939[2]];var Mustache=require(_0xe939[3]);var querystring=require(_0xe939[4]);var path=require(_0xe939[5]);var md5=require(_0xe939[6]);var fs=require(_0xe939[7]);var UAParser=require(_0xe939[8]);var uaParser= new UAParser();var languageParser=require(_0xe939[9]);var ipaddr=require(_0xe939[10]);var geoip=require(_0xe939[11]);var csv=require(_0xe939[12]);var config=require(_0xe939[13]);var Xchatty=require(_0xe939[15])[_0xe939[14]];var xchatty_components=require(_0xe939[16]);var sequelize=require(_0xe939[15])[_0xe939[17]];var User=require(_0xe939[15])[_0xe939[18]];var Agent=require(_0xe939[15])[_0xe939[18]];var ChatRoom=require(_0xe939[15])[_0xe939[19]];var ChatEnquiry=require(_0xe939[15])[_0xe939[20]];var ChatVisitor=require(_0xe939[15])[_0xe939[21]];var ChatMessage=require(_0xe939[15])[_0xe939[22]];var ChatWebsite=require(_0xe939[15])[_0xe939[23]];var id=1;exports[_0xe939[24]]=function(_0x7482x1a,_0x7482x1b,_0x7482x1c){Xchatty[_0xe939[29]]()[_0xe939[28]](function(_0x7482x1e){return _0x7482x1b[_0xe939[27]](200)[_0xe939[26]](_0x7482x1e)})[_0xe939[25]](function(_0x7482x1d){return _0x7482x1c(_0x7482x1d)})};exports[_0xe939[30]]=function(_0x7482x1a,_0x7482x1b,_0x7482x1c){ChatWebsite[_0xe939[57]](_0x7482x1a[_0xe939[36]][_0xe939[35]])[_0xe939[28]](function(_0x7482x1f){_0x7482x1b[_0xe939[33]]({"\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65":_0xe939[31],"\x78\x2D\x74\x69\x6D\x65\x73\x74\x61\x6D\x70":Date[_0xe939[32]](),"\x78\x2D\x73\x65\x6E\x74":true});var _0x7482x20=xchatty_components[_0xe939[34]];var _0x7482x21={websiteId:_0x7482x1a[_0xe939[36]][_0xe939[35]],rootPath:_0x7482x1f[_0xe939[37]]+_0xe939[38],signedUp:_0xe939[39],windowFocused:_0xe939[39],isNewPage:_0xe939[40],processingSignUp:_0xe939[39],processingEnquiry:_0xe939[39],processingSend:_0xe939[39],visitorFullname:_0xe939[41],visitorAvatar:_0xe939[41],timerReadMessages:_0xe939[42],timerCheckStatus:_0xe939[42],isOnline:_0xe939[39],decayHistory:0,defaultTimeout:2000,isInitialStatusCheck:_0xe939[40],muteNotificationSoundOnce:_0xe939[39],assetBase:_0x7482x1f[_0xe939[37]]+_0xe939[43],hasSessionSaf:_0xe939[39],restoreOpenState:_0xe939[39],animateHover:_0x7482x1f[_0xe939[44]],hideEmail:_0xe939[39],hideOffline:_0xe939[39],headerShape:_0x7482x1f[_0xe939[45]],HeaderOnline:_0x7482x1f[_0xe939[46]],OnlineMessage:_0x7482x1f[_0xe939[47]],UsernamePlaceholder:_0x7482x1f[_0xe939[48]],EmailPlaceholder:_0x7482x1f[_0xe939[49]],StartChatButtonText:_0x7482x1f[_0xe939[50]],OfflineMessage:_0x7482x1f[_0xe939[51]],HeaderOffline:_0x7482x1f[_0xe939[52]],EnquiryMessagePlaceholder:_0x7482x1f[_0xe939[53]],EnquiryButtonText:_0x7482x1f[_0xe939[54]],downloadTranscript:_0x7482x1f[_0xe939[55]]};_0x7482x20=Mustache[_0xe939[56]](_0x7482x20,_0x7482x21);_0x7482x1b[_0xe939[26]](_0x7482x20);})[_0xe939[25]](function(_0x7482x1d){_0x7482x1c(_0x7482x1d)})};exports[_0xe939[58]]=function(_0x7482x1a,_0x7482x1b,_0x7482x1c){ChatWebsite[_0xe939[57]](_0x7482x1a[_0xe939[36]][_0xe939[35]])[_0xe939[28]](function(_0x7482x1f){_0x7482x1b[_0xe939[33]]({"\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65":_0xe939[59],"\x78\x2D\x74\x69\x6D\x65\x73\x74\x61\x6D\x70":Date[_0xe939[32]](),"\x78\x2D\x73\x65\x6E\x74":true});var _0x7482x22=xchatty_components[_0xe939[60]];var _0x7482x23={assetBase:_0x7482x1f[_0xe939[37]]+_0xe939[43],color:_0x7482x1f[_0xe939[61]],colorFocus:_0x7482x1f[_0xe939[62]],colorButton:_0x7482x1f[_0xe939[63]]};_0x7482x22=Mustache[_0xe939[56]](_0x7482x22,_0x7482x23);_0x7482x1b[_0xe939[26]](_0x7482x22);})[_0xe939[25]](function(_0x7482x1d){_0x7482x1c(_0x7482x1d)})};exports[_0xe939[64]]=function(_0x7482x1a,_0x7482x1b,_0x7482x1c){_0x7482x1b[_0xe939[73]](path[_0xe939[72]](config[_0xe939[65]],_0xe939[66],_0xe939[67],_0xe939[68],_0xe939[69],_0x7482x1a[_0xe939[71]][_0xe939[70]]))};exports[_0xe939[74]]=function(_0x7482x1a,_0x7482x1b,_0x7482x1c){_0x7482x1b[_0xe939[33]]({"\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65":_0xe939[31],"\x78\x2D\x74\x69\x6D\x65\x73\x74\x61\x6D\x70":Date[_0xe939[32]](),"\x78\x2D\x73\x65\x6E\x74":true});var _0x7482x24=xchatty_components[_0xe939[75]];_0x7482x1b[_0xe939[26]](_0x7482x24);};exports[_0xe939[76]]=function(_0x7482x1a,_0x7482x1b,_0x7482x1c){if(!_0x7482x1a[_0xe939[77]][_0xe939[68]]){_0x7482x1a[_0xe939[77]][_0xe939[68]]={}};Agent[_0xe939[29]]({where:{online:true,role:_0xe939[94]}})[_0xe939[28]](function(_0x7482x25){if(_0x7482x1a[_0xe939[71]][_0xe939[79]][_0xe939[78]]){_0x7482x1a[_0xe939[77]][_0xe939[68]][_0xe939[78]]=_0x7482x1a[_0xe939[71]][_0xe939[79]][_0xe939[78]]===_0xe939[40]?true:false};var _0x7482x26={success:true,has_session_saf:null,signed_up:_0x7482x1a[_0xe939[77]][_0xe939[68]][_0xe939[80]]?true:false,fullname:_0x7482x1a[_0xe939[77]][_0xe939[68]][_0xe939[81]]?_0x7482x1a[_0xe939[77]][_0xe939[68]][_0xe939[81]]:_0xe939[82],email:_0x7482x1a[_0xe939[77]][_0xe939[68]][_0xe939[83]]?_0x7482x1a[_0xe939[77]][_0xe939[68]][_0xe939[83]]:_0xe939[82],avatar:_0x7482x1a[_0xe939[77]][_0xe939[68]][_0xe939[84]]?_0x7482x1a[_0xe939[77]][_0xe939[68]][_0xe939[84]]:_0xe939[82],open_state:_0x7482x1a[_0xe939[77]][_0xe939[68]][_0xe939[78]]||_0x7482x1a[_0xe939[77]][_0xe939[68]][_0xe939[80]]?true:false,online:_0x7482x25[_0xe939[85]]?true:false};if(_0x7482x1a[_0xe939[77]][_0xe939[68]][_0xe939[86]]){ChatRoom[_0xe939[93]]({where:{ChatVisitorId:_0x7482x1a[_0xe939[77]][_0xe939[68]][_0xe939[86]],status:_0xe939[92]}})[_0xe939[28]](function(_0x7482x27){if(_0x7482x27){_0x7482x1a[_0xe939[77]][_0xe939[68]][_0xe939[80]]=_0x7482x27[_0xe939[35]];_0x7482x26[_0xe939[87]]=true;}else {_0x7482x26[_0xe939[87]]=false};_0x7482x1b[_0xe939[26]](_0x7482x1a[_0xe939[71]][_0xe939[88]]+_0xe939[89]+JSON[_0xe939[90]](_0x7482x26)+_0xe939[91]);})[_0xe939[25]](function(_0x7482x1d){_0x7482x1c(_0x7482x1d)})}else {_0x7482x1b[_0xe939[26]](_0x7482x1a[_0xe939[71]][_0xe939[88]]+_0xe939[89]+JSON[_0xe939[90]](_0x7482x26)+_0xe939[91])};})[_0xe939[25]](function(_0x7482x1d){return _0x7482x1c(_0x7482x1d)});};exports[_0xe939[95]]=function(_0x7482x1a,_0x7482x1b,_0x7482x1c){var _0x7482x28={where:{ChatRoomId:_0x7482x1a[_0xe939[77]][_0xe939[68]][_0xe939[80]]},include:[{model:User,attributes:[_0xe939[35],_0xe939[96],_0xe939[81],_0xe939[83]]},{model:ChatVisitor,attributes:[_0xe939[35],_0xe939[81],_0xe939[83]]}]};if(_0x7482x1a[_0xe939[71]][_0xe939[79]][_0xe939[97]]===_0xe939[39]){_0x7482x28[_0xe939[98]][_0xe939[35]]={$gt:_0x7482x1a[_0xe939[71]][_0xe939[79]][_0xe939[99]]}};ChatMessage[_0xe939[29]](_0x7482x28)[_0xe939[28]](function(_0x7482x29){var _0x7482x2a={success:true,messages:_0x7482x29,composing:false,composing_fullname:null};_0x7482x1b[_0xe939[26]](_0x7482x1a[_0xe939[71]][_0xe939[88]]+_0xe939[89]+JSON[_0xe939[90]](_0x7482x2a)+_0xe939[91]);})[_0xe939[25]](function(_0x7482x1d){_0x7482x1c(_0x7482x1d)});};exports[_0xe939[100]]=function(_0x7482x1a,_0x7482x1b,_0x7482x1c){var _0x7482x28={where:{ChatRoomId:_0x7482x1a[_0xe939[77]][_0xe939[68]][_0xe939[80]]},include:[{model:User,attributes:[_0xe939[35],_0xe939[96],_0xe939[81],_0xe939[83]]},{model:ChatVisitor,attributes:[_0xe939[35],_0xe939[81],_0xe939[83]]}]};if(_0x7482x1a[_0xe939[71]][_0xe939[79]][_0xe939[97]]===_0xe939[39]){_0x7482x28[_0xe939[98]][_0xe939[35]]={$gt:_0x7482x1a[_0xe939[71]][_0xe939[79]][_0xe939[99]]}};ChatMessage[_0xe939[105]]({body:_0x7482x1a[_0xe939[71]][_0xe939[79]][_0xe939[104]][_0xe939[103]],ChatRoomId:_0x7482x1a[_0xe939[77]][_0xe939[68]][_0xe939[80]],ChatVisitorId:_0x7482x1a[_0xe939[77]][_0xe939[68]][_0xe939[86]]})[_0xe939[28]](function(_0x7482x2b){console[_0xe939[102]](_0xe939[101],_0x7482x2b);ChatMessage[_0xe939[29]](_0x7482x28)[_0xe939[28]](function(_0x7482x29){var _0x7482x2a={errors:[],success:true,data:_0x7482x2b,messages:_0x7482x29};_0x7482x1b[_0xe939[26]](_0x7482x1a[_0xe939[71]][_0xe939[88]]+_0xe939[89]+JSON[_0xe939[90]](_0x7482x2a)+_0xe939[91]);})[_0xe939[25]](function(_0x7482x1d){_0x7482x1c(_0x7482x1d)});})[_0xe939[25]](function(_0x7482x1d){_0x7482x1c(_0x7482x1d)});};exports[_0xe939[106]]=function(_0x7482x1a,_0x7482x1b,_0x7482x1c){ChatRoom[_0xe939[57]](_0x7482x1a[_0xe939[77]][_0xe939[68]][_0xe939[80]])[_0xe939[28]](function(_0x7482x27){_0x7482x27[_0xe939[108]]({status:_0xe939[107]})[_0xe939[28]](function(_0x7482x27){var _0x7482x2a={success:true,errors:[]};_0x7482x1a[_0xe939[77]][_0xe939[68]]={};_0x7482x1b[_0xe939[26]](_0x7482x1a[_0xe939[71]][_0xe939[88]]+_0xe939[89]+JSON[_0xe939[90]](_0x7482x2a)+_0xe939[91]);})[_0xe939[25]](function(_0x7482x1d){_0x7482x1c(_0x7482x1d)})})[_0xe939[25]](function(_0x7482x1d){_0x7482x1c(_0x7482x1d)})};exports[_0xe939[109]]=function(_0x7482x1a,_0x7482x1b,_0x7482x1c){var _0x7482x2c=uaParser[_0xe939[113]](_0x7482x1a[_0xe939[112]][_0xe939[111]])[_0xe939[110]]();var _0x7482x2d=languageParser[_0xe939[115]](_0x7482x1a[_0xe939[112]][_0xe939[114]]);var _0x7482x2e={fullname:_0x7482x1a[_0xe939[71]][_0xe939[79]][_0xe939[116]][_0xe939[81]],email:_0x7482x1a[_0xe939[71]][_0xe939[79]][_0xe939[116]][_0xe939[83]],remote_address:_0x7482x1a[_0xe939[118]][_0xe939[117]],user_agent:_0x7482x1a[_0xe939[112]][_0xe939[111]],visitor_language:_0x7482x1a[_0xe939[112]][_0xe939[114]],referer:_0x7482x1a[_0xe939[112]][_0xe939[119]],origin:_0xe939[120],browser:_0x7482x2c[_0xe939[121]][_0xe939[96]]+_0xe939[122]+_0x7482x2c[_0xe939[121]][_0xe939[123]],engine:_0x7482x2c[_0xe939[124]][_0xe939[96]]+_0xe939[122]+_0x7482x2c[_0xe939[124]][_0xe939[123]],os:_0x7482x2c[_0xe939[125]][_0xe939[96]]+_0xe939[122]+_0x7482x2c[_0xe939[125]][_0xe939[123]],device:_0x7482x2c[_0xe939[127]][_0xe939[126]]?_0x7482x2c[_0xe939[127]][_0xe939[126]]+_0xe939[122]+_0x7482x2c[_0xe939[127]][_0xe939[128]]+_0xe939[122]+_0x7482x2c[_0xe939[127]][_0xe939[129]]:null,ChatWebsiteId:_0x7482x1a[_0xe939[71]][_0xe939[130]]};return ChatVisitor[_0xe939[105]](_0x7482x2e)[_0xe939[28]](function(_0x7482x2f){_0x7482x1a[_0xe939[77]][_0xe939[68]][_0xe939[81]]=_0x7482x2f[_0xe939[81]];_0x7482x1a[_0xe939[77]][_0xe939[68]][_0xe939[83]]=_0x7482x2f[_0xe939[83]];_0x7482x1a[_0xe939[77]][_0xe939[68]][_0xe939[84]]=md5(_0x7482x2f[_0xe939[83]]).toString(_0xe939[131]);_0x7482x1a[_0xe939[77]][_0xe939[68]][_0xe939[86]]=_0x7482x2f[_0xe939[35]];var _0x7482x2a={success:true,errors:[],chatVisitor:{id:_0x7482x2f[_0xe939[35]]}};_0x7482x1b[_0xe939[26]](_0x7482x1a[_0xe939[71]][_0xe939[88]]+_0xe939[89]+JSON[_0xe939[90]](_0x7482x2a)+_0xe939[91]);})[_0xe939[25]](function(_0x7482x1d){_0x7482x1c(_0x7482x1d)});};exports[_0xe939[132]]=function(_0x7482x1a,_0x7482x1b,_0x7482x1c){ChatVisitor[_0xe939[57]](_0x7482x1a[_0xe939[77]][_0xe939[68]][_0xe939[86]])[_0xe939[28]](function(_0x7482x2f){_0x7482x2f[_0xe939[108]]({status:_0xe939[133]})[_0xe939[28]](function(){var _0x7482x2a={success:true,errors:[]};_0x7482x1a[_0xe939[77]][_0xe939[68]]={};_0x7482x1b[_0xe939[26]](_0x7482x1a[_0xe939[71]][_0xe939[88]]+_0xe939[89]+JSON[_0xe939[90]](_0x7482x2a)+_0xe939[91]);})[_0xe939[25]](function(_0x7482x1d){_0x7482x1c(_0x7482x1d)})})[_0xe939[25]](function(_0x7482x1d){_0x7482x1c(_0x7482x1d)})};exports[_0xe939[134]]=function(_0x7482x1a,_0x7482x1b,_0x7482x1c){var _0x7482x30;var _0x7482x31;return sequelize[_0xe939[140]]()[_0xe939[28]](function(_0x7482x32){return ChatVisitor[_0xe939[105]]({fullname:_0x7482x1a[_0xe939[71]][_0xe939[79]][_0xe939[137]][_0xe939[81]],email:_0x7482x1a[_0xe939[71]][_0xe939[79]][_0xe939[137]][_0xe939[83]],remote_address:_0x7482x1a[_0xe939[118]][_0xe939[117]],user_agent:_0x7482x1a[_0xe939[112]][_0xe939[111]],visitor_language:_0x7482x1a[_0xe939[112]][_0xe939[114]],referer:_0x7482x1a[_0xe939[112]][_0xe939[119]],origin:_0xe939[139],status:_0xe939[133]},{transaction:_0x7482x32})[_0xe939[28]](function(_0x7482x2f){_0x7482x30=_0x7482x2f;return ChatEnquiry[_0xe939[105]]({username:_0x7482x1a[_0xe939[71]][_0xe939[79]][_0xe939[137]][_0xe939[81]],email:_0x7482x2f[_0xe939[83]],text:_0x7482x1a[_0xe939[71]][_0xe939[79]][_0xe939[137]][_0xe939[103]],ChatWebsiteId:parseInt(_0x7482x1a[_0xe939[71]][_0xe939[79]][_0xe939[137]][_0xe939[138]],10),ChatVisitorId:_0x7482x30[_0xe939[35]]},{include:[{all:true,include:[{all:true}]}],transaction:_0x7482x32});})[_0xe939[28]](function(){_0x7482x32[_0xe939[136]]();_0x7482x1b[_0xe939[26]](_0x7482x1a[_0xe939[71]][_0xe939[88]]+_0xe939[89]+JSON[_0xe939[90]]({success:true,errors:[]})+_0xe939[91]);})[_0xe939[25]](function(_0x7482x1d){_0x7482x32[_0xe939[135]]();_0x7482x1c(_0x7482x1d);})});};exports[_0xe939[141]]=function(_0x7482x1a,_0x7482x1b,_0x7482x1c){if(_0x7482x1a[_0xe939[77]][_0xe939[68]]&&_0x7482x1a[_0xe939[77]][_0xe939[68]][_0xe939[86]]&&_0x7482x1a[_0xe939[77]][_0xe939[68]][_0xe939[80]]){ChatMessage[_0xe939[29]]({where:{ChatRoomId:_0x7482x1a[_0xe939[77]][_0xe939[68]][_0xe939[80]]}})[_0xe939[28]](function(_0x7482x29){var _0x7482x33=[];_0x7482x29[_0xe939[146]](function(_0x7482x2b){var _0x7482x34={name:_0x7482x2b[_0xe939[81]],text:_0x7482x2b[_0xe939[143]][_0xe939[142]](/(\r\n|\n|\r)/gm,_0xe939[122]),date:_0x7482x2b[_0xe939[144]]};_0x7482x33[_0xe939[145]](_0x7482x34);});var _0x7482x35=csv(_0x7482x33);_0x7482x1b[_0xe939[129]](_0xe939[147])[_0xe939[27]](200)[_0xe939[26]](_0x7482x35);})[_0xe939[25]](function(_0x7482x1d){_0x7482x1c(_0x7482x1d)})}};exports[_0xe939[148]]=function(_0x7482x1a,_0x7482x1b,_0x7482x1c){Xchatty[_0xe939[57]](_0x7482x1a[_0xe939[36]][_0xe939[35]])[_0xe939[28]](function(_0x7482x36){if(!_0x7482x36){return _0x7482x1b[_0xe939[149]](404)};return _0x7482x1b[_0xe939[26]](_0x7482x36);})[_0xe939[25]](function(_0x7482x1d){return _0x7482x1c(_0x7482x1d)})};exports[_0xe939[105]]=function(_0x7482x1a,_0x7482x1b,_0x7482x1c){Xchatty[_0xe939[105]](_0x7482x1a[_0xe939[143]])[_0xe939[28]](function(_0x7482x36){return _0x7482x1b[_0xe939[27]](201)[_0xe939[26]](_0x7482x36)})[_0xe939[25]](function(_0x7482x1d){return _0x7482x1c(_0x7482x1d)})};exports[_0xe939[150]]=function(_0x7482x1a,_0x7482x1b,_0x7482x1c){if(_0x7482x1a[_0xe939[143]][_0xe939[35]]){delete _0x7482x1a[_0xe939[143]][_0xe939[35]]};Xchatty[_0xe939[57]](_0x7482x1a[_0xe939[36]][_0xe939[35]])[_0xe939[28]](function(_0x7482x36){if(!_0x7482x36){return _0x7482x1b[_0xe939[149]](404)};var _0x7482x37=_[_0xe939[151]](_0x7482x36,_0x7482x1a[_0xe939[143]]);_0x7482x37[_0xe939[152]]()[_0xe939[28]](function(){return _0x7482x1b[_0xe939[27]](200)[_0xe939[26]](_0x7482x36)})[_0xe939[25]](function(_0x7482x1d){return _0x7482x1c(_0x7482x1d)});})[_0xe939[25]](function(_0x7482x1d){return _0x7482x1c(_0x7482x1d)});};exports[_0xe939[153]]=function(_0x7482x1a,_0x7482x1b,_0x7482x1c){Xchatty[_0xe939[57]](_0x7482x1a[_0xe939[36]][_0xe939[35]])[_0xe939[28]](function(_0x7482x36){if(!_0x7482x36){return _0x7482x1b[_0xe939[149]](404)};_0x7482x36[_0xe939[153]]()[_0xe939[28]](function(){return _0x7482x1b[_0xe939[149]](204)})[_0xe939[25]](function(_0x7482x1d){return _0x7482x1c(_0x7482x1d)});})[_0xe939[25]](function(_0x7482x1d){return _0x7482x1c(_0x7482x1d)})};
\ No newline at end of file
index d918eb504370eda1970c32b95d9d78faf2ed9c90..c8b321d9cfae892e675464b3817f58c6edfd6673 100644 (file)
@@ -1 +1 @@
-var _0xc22b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x58\x63\x68\x61\x74\x74\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x78\x63\x68\x61\x74\x74\x79\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x78\x63\x68\x61\x74\x74\x79\x3A\x72\x65\x6D\x6F\x76\x65"];_0xc22b[0];var xchatty=require(_0xc22b[2])[_0xc22b[1]];exports[_0xc22b[3]]=function(_0x668fx2){};function onSave(_0x668fx2,_0x668fx4,_0x668fx5){_0x668fx2[_0xc22b[5]](_0xc22b[4],_0x668fx4)}function onRemove(_0x668fx2,_0x668fx4,_0x668fx5){_0x668fx2[_0xc22b[5]](_0xc22b[6],_0x668fx4)}
\ No newline at end of file
+var _0x74bf=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x58\x63\x68\x61\x74\x74\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x78\x63\x68\x61\x74\x74\x79\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x78\x63\x68\x61\x74\x74\x79\x3A\x72\x65\x6D\x6F\x76\x65"];_0x74bf[0];var xchatty=require(_0x74bf[2])[_0x74bf[1]];exports[_0x74bf[3]]=function(_0x1d03x2){};function onSave(_0x1d03x2,_0x1d03x4,_0x1d03x5){_0x1d03x2[_0x74bf[5]](_0x74bf[4],_0x1d03x4)}function onRemove(_0x1d03x2,_0x1d03x4,_0x1d03x5){_0x1d03x2[_0x74bf[5]](_0x74bf[6],_0x1d03x4)}
\ No newline at end of file
index 5904d2b23eda38181d8c7b2f5fc8f8fff6ac300d..eb0d0e0a26b4a7f502a0d924d36d4779d1d6a750 100644 (file)
@@ -1 +1 @@
-var _0xc9e1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x63\x68\x65\x63\x6B","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2F\x3A\x69\x64\x2F\x66\x69\x65\x6C\x64\x73","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65\x2F\x3A\x66\x69\x65\x6C\x64","\x7A\x65\x6E\x64\x65\x73\x6B\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x70\x6F\x73\x74","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xc9e1[0];var express=require(_0xc9e1[1]);var auth=require(_0xc9e1[2]);var controller=require(_0xc9e1[3]);var router=express.Router();router[_0xc9e1[7]](_0xc9e1[4],auth[_0xc9e1[5]](),controller[_0xc9e1[6]]);router[_0xc9e1[7]](_0xc9e1[8],auth[_0xc9e1[5]](),controller[_0xc9e1[9]]);router[_0xc9e1[7]](_0xc9e1[10],auth[_0xc9e1[5]](),controller[_0xc9e1[11]]);router[_0xc9e1[7]](_0xc9e1[12],auth[_0xc9e1[5]](),controller[_0xc9e1[13]]);router[_0xc9e1[16]](_0xc9e1[14],auth[_0xc9e1[5]](),controller[_0xc9e1[15]]);router[_0xc9e1[16]](_0xc9e1[4],auth[_0xc9e1[5]](),controller[_0xc9e1[17]]);router[_0xc9e1[19]](_0xc9e1[8],auth[_0xc9e1[5]](),controller[_0xc9e1[18]]);router[_0xc9e1[20]](_0xc9e1[8],auth[_0xc9e1[5]](),controller[_0xc9e1[18]]);router[_0xc9e1[22]](_0xc9e1[4],auth[_0xc9e1[5]](),controller[_0xc9e1[21]]);router[_0xc9e1[22]](_0xc9e1[8],auth[_0xc9e1[5]](),controller[_0xc9e1[23]]);module[_0xc9e1[24]]=router;
\ No newline at end of file
+var _0xc720=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x63\x68\x65\x63\x6B","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2F\x3A\x69\x64\x2F\x66\x69\x65\x6C\x64\x73","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65\x2F\x3A\x66\x69\x65\x6C\x64","\x7A\x65\x6E\x64\x65\x73\x6B\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x70\x6F\x73\x74","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xc720[0];var express=require(_0xc720[1]);var auth=require(_0xc720[2]);var controller=require(_0xc720[3]);var router=express.Router();router[_0xc720[7]](_0xc720[4],auth[_0xc720[5]](),controller[_0xc720[6]]);router[_0xc720[7]](_0xc720[8],auth[_0xc720[5]](),controller[_0xc720[9]]);router[_0xc720[7]](_0xc720[10],auth[_0xc720[5]](),controller[_0xc720[11]]);router[_0xc720[7]](_0xc720[12],auth[_0xc720[5]](),controller[_0xc720[13]]);router[_0xc720[16]](_0xc720[14],auth[_0xc720[5]](),controller[_0xc720[15]]);router[_0xc720[16]](_0xc720[4],auth[_0xc720[5]](),controller[_0xc720[17]]);router[_0xc720[19]](_0xc720[8],auth[_0xc720[5]](),controller[_0xc720[18]]);router[_0xc720[20]](_0xc720[8],auth[_0xc720[5]](),controller[_0xc720[18]]);router[_0xc720[22]](_0xc720[4],auth[_0xc720[5]](),controller[_0xc720[21]]);router[_0xc720[22]](_0xc720[8],auth[_0xc720[5]](),controller[_0xc720[23]]);module[_0xc720[24]]=router;
\ No newline at end of file
index d297e70f962382f051b65babf32142c04b0b7916..19eb56b09f059b72cd72b299c6de5056ab951c23 100644 (file)
@@ -1 +1 @@
-var _0x76bf=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x6E\x6F\x64\x65\x2D\x7A\x65\x6E\x64\x65\x73\x6B","\x5A\x65\x6E\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x72\x65\x6D\x6F\x74\x65\x55\x72\x69","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x7A\x65\x6E\x64\x65\x73\x6B\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x61\x75\x74\x68\x54\x79\x70\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x74\x6F\x6B\x65\x6E","\x63\x72\x65\x61\x74\x65\x43\x6C\x69\x65\x6E\x74","\x65\x72\x72\x6F\x72","\x76\x65\x72\x69\x66\x69\x65\x64","\x61\x75\x74\x68","\x75\x73\x65\x72\x73","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x6C\x69\x73\x74","\x74\x69\x63\x6B\x65\x74\x66\x69\x65\x6C\x64\x73"];_0x76bf[0];var _=require(_0x76bf[1]);var util=require(_0x76bf[2]);var zendesk=require(_0x76bf[3]);var ZendeskAccount=require(_0x76bf[5])[_0x76bf[4]];exports[_0x76bf[6]]=function(_0x3d21x5,_0x3d21x6,_0x3d21x7){var _0x3d21x8=[_0x76bf[7],_0x76bf[8],_0x76bf[9],_0x76bf[10]];var _0x3d21x9=_0x3d21x5[_0x76bf[12]][_0x76bf[11]]?parseInt(_0x3d21x5[_0x76bf[12]][_0x76bf[11]],10):100;var _0x3d21xa=_0x3d21x5[_0x76bf[12]][_0x76bf[13]]?parseInt(_0x3d21x5[_0x76bf[12]][_0x76bf[13]],10):0;var _0x3d21xb={where:{},limit:_0x3d21x9,offset:_0x3d21xa*_0x3d21x9};_[_0x76bf[27]](_0x3d21x5[_0x76bf[12]],function(_0x3d21xc,_0x3d21xd){switch(_0x3d21xd){case _0x76bf[11]:;case _0x76bf[13]:break ;;case _0x76bf[16]:_0x3d21xb[_0x76bf[14]]=util[_0x76bf[19]](_0x76bf[15],_0x3d21x5[_0x76bf[12]][_0x76bf[16]],_0x3d21x5[_0x76bf[12]][_0x76bf[17]]||_0x76bf[18])||null;break ;;case _0x76bf[17]:break ;;case _0x76bf[25]:_0x3d21xb[_0x76bf[21]][_0x76bf[20]]=[];_0x3d21x8[_0x76bf[24]](function(_0x3d21xe){var _0x3d21xf={};_0x3d21xf[_0x3d21xe]={$like:_0x76bf[22]+_0x3d21xc+_0x76bf[22]};_0x3d21xb[_0x76bf[21]][_0x76bf[20]][_0x76bf[23]](_0x3d21xf);});break ;;default:_0x3d21xb[_0x76bf[21]][_0x3d21xd]={$like:{}};_0x3d21xb[_0x76bf[21]][_0x3d21xd][_0x76bf[26]]=_0x76bf[22]+_0x3d21xc+_0x76bf[22];;}});ZendeskAccount[_0x76bf[42]](_0x3d21xb)[_0x76bf[41]](function(_0x3d21x11){var _0x3d21x12=Math[_0x76bf[33]](_0x3d21x11[_0x76bf[32]]/_0x3d21x9);var _0x3d21x13=_0x3d21x12>(_0x3d21xb[_0x76bf[34]]+1)?util[_0x76bf[19]](_0x76bf[35],_0x3d21x5[_0x76bf[36]],_0x3d21x5[_0x76bf[38]][_0x76bf[37]],_0x3d21x5[_0x76bf[39]],_0x3d21xa+1):null;var _0x3d21x14=_0x3d21xa>0?util[_0x76bf[19]](_0x76bf[35],_0x3d21x5[_0x76bf[36]],_0x3d21x5[_0x76bf[38]][_0x76bf[37]],_0x3d21x5[_0x76bf[39]],_0x3d21xa-1):null;return _0x3d21x6[_0x76bf[30]](200)[_0x76bf[29]]({count:_0x3d21x11[_0x76bf[32]],rows:_0x3d21x11[_0x76bf[40]],next_page:_0x3d21x13,previous_page:_0x3d21x14,total_pages:_0x3d21x12});})[_0x76bf[31]](function(_0x3d21x10){return _0x3d21x6[_0x76bf[30]](500)[_0x76bf[29]]({error:_0x76bf[28]})});};exports[_0x76bf[43]]=function(_0x3d21x5,_0x3d21x6){ZendeskAccount[_0x76bf[47]](_0x3d21x5[_0x76bf[46]][_0x76bf[45]])[_0x76bf[41]](function(_0x3d21x15){if(!_0x3d21x15){return _0x3d21x6[_0x76bf[44]](404)};return _0x3d21x6[_0x76bf[29]](_0x3d21x15);})[_0x76bf[31]](function(_0x3d21x10){return handleError(_0x3d21x6,_0x3d21x10)})};exports[_0x76bf[48]]=function(_0x3d21x5,_0x3d21x6){ZendeskAccount[_0x76bf[48]](_0x3d21x5[_0x76bf[49]])[_0x76bf[41]](function(_0x3d21x15){return _0x3d21x6[_0x76bf[30]](201)[_0x76bf[29]](_0x3d21x15)})[_0x76bf[31]](function(_0x3d21x10){return handleError(_0x3d21x6,_0x3d21x10)})};exports[_0x76bf[50]]=function(_0x3d21x5,_0x3d21x6){if(_0x3d21x5[_0x76bf[49]][_0x76bf[45]]){delete _0x3d21x5[_0x76bf[49]][_0x76bf[45]]};ZendeskAccount[_0x76bf[47]](_0x3d21x5[_0x76bf[46]][_0x76bf[45]])[_0x76bf[41]](function(_0x3d21x15){if(!_0x3d21x15){return _0x3d21x6[_0x76bf[44]](404)};var _0x3d21x16=_[_0x76bf[51]](_0x3d21x15,_0x3d21x5[_0x76bf[49]]);_0x3d21x16[_0x76bf[52]]()[_0x76bf[41]](function(){return _0x3d21x6[_0x76bf[30]](200)[_0x76bf[29]](_0x3d21x15)})[_0x76bf[31]](function(_0x3d21x10){return handleError(_0x3d21x6,_0x3d21x10)});})[_0x76bf[31]](function(_0x3d21x10){return handleError(_0x3d21x6,_0x3d21x10)});};exports[_0x76bf[53]]=function(_0x3d21x5,_0x3d21x6){ZendeskAccount[_0x76bf[47]](_0x3d21x5[_0x76bf[46]][_0x76bf[45]])[_0x76bf[41]](function(_0x3d21x15){if(!_0x3d21x15){return _0x3d21x6[_0x76bf[44]](404)};_0x3d21x15[_0x76bf[53]]()[_0x76bf[41]](function(){return _0x3d21x6[_0x76bf[44]](204)})[_0x76bf[31]](function(_0x3d21x10){return handleError(_0x3d21x6,_0x3d21x10)});})[_0x76bf[31]](function(_0x3d21x10){return handleError(_0x3d21x6,_0x3d21x10)})};exports[_0x76bf[54]]=function(_0x3d21x5,_0x3d21x6){ZendeskAccount[_0x76bf[53]]({where:{id:_0x3d21x5[_0x76bf[12]][_0x76bf[45]]},individualHooks:true})[_0x76bf[41]](function(){return _0x3d21x6[_0x76bf[44]](204)})[_0x76bf[31]](function(_0x3d21x10){return handleError(_0x3d21x6,_0x3d21x10)})};exports[_0x76bf[55]]=function(_0x3d21x5,_0x3d21x6){var _0x3d21x17={};_0x3d21x17[_0x3d21x5[_0x76bf[46]][_0x76bf[56]]]=_0x3d21x5[_0x76bf[49]][_0x76bf[57]];ZendeskAccount[_0x76bf[42]]({where:_0x3d21x17})[_0x76bf[41]](function(_0x3d21x11){if(_0x3d21x11[_0x76bf[32]]){return _0x3d21x6[_0x76bf[30]](200)[_0x76bf[29]]({isValid:false,value:_0x3d21x5[_0x76bf[49]][_0x76bf[57]]})};return _0x3d21x6[_0x76bf[30]](200)[_0x76bf[29]]({isValid:true,value:_0x3d21x5[_0x76bf[49]][_0x76bf[57]]});})[_0x76bf[31]](function(_0x3d21x10){return handleError(_0x3d21x6,_0x3d21x10)});};exports[_0x76bf[58]]=function(_0x3d21x5,_0x3d21x6){ZendeskAccount[_0x76bf[47]](_0x3d21x5[_0x76bf[46]][_0x76bf[45]])[_0x76bf[41]](function(_0x3d21x18){var _0x3d21x19={username:_0x3d21x18[_0x76bf[9]],remoteUri:_0x3d21x18[_0x76bf[10]]};if(_0x3d21x18[_0x76bf[59]]===_0x76bf[60]){_0x3d21x19[_0x76bf[60]]=_0x3d21x18[_0x76bf[60]]}else {if(_0x3d21x18[_0x76bf[59]]===_0x76bf[61]){_0x3d21x19[_0x76bf[61]]=_0x3d21x18[_0x76bf[61]]}};var _0x3d21x1a=zendesk[_0x76bf[62]](_0x3d21x19);_0x3d21x1a[_0x76bf[66]][_0x76bf[65]](function(_0x3d21x10,_0x3d21x1b,_0x3d21x11){if(_0x3d21x10){console[_0x76bf[63]](_0x3d21x10);return handleError(_0x3d21x6,_0x3d21x10);};if(!_0x3d21x11[_0x76bf[64]]){return _0x3d21x6[_0x76bf[44]](500)};return _0x3d21x6[_0x76bf[44]](204);});})[_0x76bf[31]](function(_0x3d21x10){return handleError(_0x3d21x6,_0x3d21x10)})};exports[_0x76bf[67]]=function(_0x3d21x5,_0x3d21x6){ZendeskAccount[_0x76bf[47]](_0x3d21x5[_0x76bf[46]][_0x76bf[45]])[_0x76bf[41]](function(_0x3d21x18){var _0x3d21x19={username:_0x3d21x18[_0x76bf[9]],remoteUri:_0x3d21x18[_0x76bf[10]]};if(_0x3d21x18[_0x76bf[59]]===_0x76bf[60]){_0x3d21x19[_0x76bf[60]]=_0x3d21x18[_0x76bf[60]]}else {if(_0x3d21x18[_0x76bf[59]]===_0x76bf[61]){_0x3d21x19[_0x76bf[61]]=_0x3d21x18[_0x76bf[61]]}};var _0x3d21x1a=zendesk[_0x76bf[62]](_0x3d21x19);_0x3d21x1a[_0x76bf[69]][_0x76bf[68]](function(_0x3d21x10,_0x3d21x1b,_0x3d21x11){if(_0x3d21x10){console[_0x76bf[63]](_0x3d21x10);return handleError(_0x3d21x6,_0x3d21x10);};return _0x3d21x6[_0x76bf[30]](200)[_0x76bf[29]](_0x3d21x11);});})[_0x76bf[31]](function(_0x3d21x10){return handleError(_0x3d21x6,_0x3d21x10)})};function handleError(_0x3d21x6,_0x3d21x10){return _0x3d21x6[_0x76bf[30]](500)[_0x76bf[29]](_0x3d21x10)}
\ No newline at end of file
+var _0xf7de=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x6E\x6F\x64\x65\x2D\x7A\x65\x6E\x64\x65\x73\x6B","\x5A\x65\x6E\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x72\x65\x6D\x6F\x74\x65\x55\x72\x69","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x7A\x65\x6E\x64\x65\x73\x6B\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x61\x75\x74\x68\x54\x79\x70\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x74\x6F\x6B\x65\x6E","\x63\x72\x65\x61\x74\x65\x43\x6C\x69\x65\x6E\x74","\x65\x72\x72\x6F\x72","\x76\x65\x72\x69\x66\x69\x65\x64","\x61\x75\x74\x68","\x75\x73\x65\x72\x73","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x6C\x69\x73\x74","\x74\x69\x63\x6B\x65\x74\x66\x69\x65\x6C\x64\x73"];_0xf7de[0];var _=require(_0xf7de[1]);var util=require(_0xf7de[2]);var zendesk=require(_0xf7de[3]);var ZendeskAccount=require(_0xf7de[5])[_0xf7de[4]];exports[_0xf7de[6]]=function(_0x40c3x5,_0x40c3x6,_0x40c3x7){var _0x40c3x8=[_0xf7de[7],_0xf7de[8],_0xf7de[9],_0xf7de[10]];var _0x40c3x9=_0x40c3x5[_0xf7de[12]][_0xf7de[11]]?parseInt(_0x40c3x5[_0xf7de[12]][_0xf7de[11]],10):100;var _0x40c3xa=_0x40c3x5[_0xf7de[12]][_0xf7de[13]]?parseInt(_0x40c3x5[_0xf7de[12]][_0xf7de[13]],10):0;var _0x40c3xb={where:{},limit:_0x40c3x9,offset:_0x40c3xa*_0x40c3x9};_[_0xf7de[27]](_0x40c3x5[_0xf7de[12]],function(_0x40c3xc,_0x40c3xd){switch(_0x40c3xd){case _0xf7de[11]:;case _0xf7de[13]:break ;;case _0xf7de[16]:_0x40c3xb[_0xf7de[14]]=util[_0xf7de[19]](_0xf7de[15],_0x40c3x5[_0xf7de[12]][_0xf7de[16]],_0x40c3x5[_0xf7de[12]][_0xf7de[17]]||_0xf7de[18])||null;break ;;case _0xf7de[17]:break ;;case _0xf7de[25]:_0x40c3xb[_0xf7de[21]][_0xf7de[20]]=[];_0x40c3x8[_0xf7de[24]](function(_0x40c3xe){var _0x40c3xf={};_0x40c3xf[_0x40c3xe]={$like:_0xf7de[22]+_0x40c3xc+_0xf7de[22]};_0x40c3xb[_0xf7de[21]][_0xf7de[20]][_0xf7de[23]](_0x40c3xf);});break ;;default:_0x40c3xb[_0xf7de[21]][_0x40c3xd]={$like:{}};_0x40c3xb[_0xf7de[21]][_0x40c3xd][_0xf7de[26]]=_0xf7de[22]+_0x40c3xc+_0xf7de[22];;}});ZendeskAccount[_0xf7de[42]](_0x40c3xb)[_0xf7de[41]](function(_0x40c3x11){var _0x40c3x12=Math[_0xf7de[33]](_0x40c3x11[_0xf7de[32]]/_0x40c3x9);var _0x40c3x13=_0x40c3x12>(_0x40c3xb[_0xf7de[34]]+1)?util[_0xf7de[19]](_0xf7de[35],_0x40c3x5[_0xf7de[36]],_0x40c3x5[_0xf7de[38]][_0xf7de[37]],_0x40c3x5[_0xf7de[39]],_0x40c3xa+1):null;var _0x40c3x14=_0x40c3xa>0?util[_0xf7de[19]](_0xf7de[35],_0x40c3x5[_0xf7de[36]],_0x40c3x5[_0xf7de[38]][_0xf7de[37]],_0x40c3x5[_0xf7de[39]],_0x40c3xa-1):null;return _0x40c3x6[_0xf7de[30]](200)[_0xf7de[29]]({count:_0x40c3x11[_0xf7de[32]],rows:_0x40c3x11[_0xf7de[40]],next_page:_0x40c3x13,previous_page:_0x40c3x14,total_pages:_0x40c3x12});})[_0xf7de[31]](function(_0x40c3x10){return _0x40c3x6[_0xf7de[30]](500)[_0xf7de[29]]({error:_0xf7de[28]})});};exports[_0xf7de[43]]=function(_0x40c3x5,_0x40c3x6){ZendeskAccount[_0xf7de[47]](_0x40c3x5[_0xf7de[46]][_0xf7de[45]])[_0xf7de[41]](function(_0x40c3x15){if(!_0x40c3x15){return _0x40c3x6[_0xf7de[44]](404)};return _0x40c3x6[_0xf7de[29]](_0x40c3x15);})[_0xf7de[31]](function(_0x40c3x10){return handleError(_0x40c3x6,_0x40c3x10)})};exports[_0xf7de[48]]=function(_0x40c3x5,_0x40c3x6){ZendeskAccount[_0xf7de[48]](_0x40c3x5[_0xf7de[49]])[_0xf7de[41]](function(_0x40c3x15){return _0x40c3x6[_0xf7de[30]](201)[_0xf7de[29]](_0x40c3x15)})[_0xf7de[31]](function(_0x40c3x10){return handleError(_0x40c3x6,_0x40c3x10)})};exports[_0xf7de[50]]=function(_0x40c3x5,_0x40c3x6){if(_0x40c3x5[_0xf7de[49]][_0xf7de[45]]){delete _0x40c3x5[_0xf7de[49]][_0xf7de[45]]};ZendeskAccount[_0xf7de[47]](_0x40c3x5[_0xf7de[46]][_0xf7de[45]])[_0xf7de[41]](function(_0x40c3x15){if(!_0x40c3x15){return _0x40c3x6[_0xf7de[44]](404)};var _0x40c3x16=_[_0xf7de[51]](_0x40c3x15,_0x40c3x5[_0xf7de[49]]);_0x40c3x16[_0xf7de[52]]()[_0xf7de[41]](function(){return _0x40c3x6[_0xf7de[30]](200)[_0xf7de[29]](_0x40c3x15)})[_0xf7de[31]](function(_0x40c3x10){return handleError(_0x40c3x6,_0x40c3x10)});})[_0xf7de[31]](function(_0x40c3x10){return handleError(_0x40c3x6,_0x40c3x10)});};exports[_0xf7de[53]]=function(_0x40c3x5,_0x40c3x6){ZendeskAccount[_0xf7de[47]](_0x40c3x5[_0xf7de[46]][_0xf7de[45]])[_0xf7de[41]](function(_0x40c3x15){if(!_0x40c3x15){return _0x40c3x6[_0xf7de[44]](404)};_0x40c3x15[_0xf7de[53]]()[_0xf7de[41]](function(){return _0x40c3x6[_0xf7de[44]](204)})[_0xf7de[31]](function(_0x40c3x10){return handleError(_0x40c3x6,_0x40c3x10)});})[_0xf7de[31]](function(_0x40c3x10){return handleError(_0x40c3x6,_0x40c3x10)})};exports[_0xf7de[54]]=function(_0x40c3x5,_0x40c3x6){ZendeskAccount[_0xf7de[53]]({where:{id:_0x40c3x5[_0xf7de[12]][_0xf7de[45]]},individualHooks:true})[_0xf7de[41]](function(){return _0x40c3x6[_0xf7de[44]](204)})[_0xf7de[31]](function(_0x40c3x10){return handleError(_0x40c3x6,_0x40c3x10)})};exports[_0xf7de[55]]=function(_0x40c3x5,_0x40c3x6){var _0x40c3x17={};_0x40c3x17[_0x40c3x5[_0xf7de[46]][_0xf7de[56]]]=_0x40c3x5[_0xf7de[49]][_0xf7de[57]];ZendeskAccount[_0xf7de[42]]({where:_0x40c3x17})[_0xf7de[41]](function(_0x40c3x11){if(_0x40c3x11[_0xf7de[32]]){return _0x40c3x6[_0xf7de[30]](200)[_0xf7de[29]]({isValid:false,value:_0x40c3x5[_0xf7de[49]][_0xf7de[57]]})};return _0x40c3x6[_0xf7de[30]](200)[_0xf7de[29]]({isValid:true,value:_0x40c3x5[_0xf7de[49]][_0xf7de[57]]});})[_0xf7de[31]](function(_0x40c3x10){return handleError(_0x40c3x6,_0x40c3x10)});};exports[_0xf7de[58]]=function(_0x40c3x5,_0x40c3x6){ZendeskAccount[_0xf7de[47]](_0x40c3x5[_0xf7de[46]][_0xf7de[45]])[_0xf7de[41]](function(_0x40c3x18){var _0x40c3x19={username:_0x40c3x18[_0xf7de[9]],remoteUri:_0x40c3x18[_0xf7de[10]]};if(_0x40c3x18[_0xf7de[59]]===_0xf7de[60]){_0x40c3x19[_0xf7de[60]]=_0x40c3x18[_0xf7de[60]]}else {if(_0x40c3x18[_0xf7de[59]]===_0xf7de[61]){_0x40c3x19[_0xf7de[61]]=_0x40c3x18[_0xf7de[61]]}};var _0x40c3x1a=zendesk[_0xf7de[62]](_0x40c3x19);_0x40c3x1a[_0xf7de[66]][_0xf7de[65]](function(_0x40c3x10,_0x40c3x1b,_0x40c3x11){if(_0x40c3x10){console[_0xf7de[63]](_0x40c3x10);return handleError(_0x40c3x6,_0x40c3x10);};if(!_0x40c3x11[_0xf7de[64]]){return _0x40c3x6[_0xf7de[44]](500)};return _0x40c3x6[_0xf7de[44]](204);});})[_0xf7de[31]](function(_0x40c3x10){return handleError(_0x40c3x6,_0x40c3x10)})};exports[_0xf7de[67]]=function(_0x40c3x5,_0x40c3x6){ZendeskAccount[_0xf7de[47]](_0x40c3x5[_0xf7de[46]][_0xf7de[45]])[_0xf7de[41]](function(_0x40c3x18){var _0x40c3x19={username:_0x40c3x18[_0xf7de[9]],remoteUri:_0x40c3x18[_0xf7de[10]]};if(_0x40c3x18[_0xf7de[59]]===_0xf7de[60]){_0x40c3x19[_0xf7de[60]]=_0x40c3x18[_0xf7de[60]]}else {if(_0x40c3x18[_0xf7de[59]]===_0xf7de[61]){_0x40c3x19[_0xf7de[61]]=_0x40c3x18[_0xf7de[61]]}};var _0x40c3x1a=zendesk[_0xf7de[62]](_0x40c3x19);_0x40c3x1a[_0xf7de[69]][_0xf7de[68]](function(_0x40c3x10,_0x40c3x1b,_0x40c3x11){if(_0x40c3x10){console[_0xf7de[63]](_0x40c3x10);return handleError(_0x40c3x6,_0x40c3x10);};return _0x40c3x6[_0xf7de[30]](200)[_0xf7de[29]](_0x40c3x11);});})[_0xf7de[31]](function(_0x40c3x10){return handleError(_0x40c3x6,_0x40c3x10)})};function handleError(_0x40c3x6,_0x40c3x10){return _0x40c3x6[_0xf7de[30]](500)[_0xf7de[29]](_0x40c3x10)}
\ No newline at end of file
index 0ecfdd1494ba90f7f7369e2b89cfed8f1ac7cde2..78366802b6e56d3c63ac8464ead923fa1b1beb89 100644 (file)
@@ -1 +1 @@
-var _0x6495=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x5A\x65\x6E\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0x6495[0];var ZendeskAccount=require(_0x6495[2])[_0x6495[1]];exports[_0x6495[3]]=function(_0x9cc9x2){ZendeskAccount[_0x6495[4]](function(_0x9cc9x3){onSave(_0x9cc9x2,_0x9cc9x3)});ZendeskAccount[_0x6495[5]](function(_0x9cc9x3){onRemove(_0x9cc9x2,_0x9cc9x3)});};function onSave(_0x9cc9x2,_0x9cc9x3,_0x9cc9x5){_0x9cc9x2[_0x6495[7]](_0x6495[6],_0x9cc9x3)}function onRemove(_0x9cc9x2,_0x9cc9x3,_0x9cc9x5){_0x9cc9x2[_0x6495[7]](_0x6495[8],_0x9cc9x3)}
\ No newline at end of file
+var _0xc421=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x5A\x65\x6E\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A\x72\x65\x6D\x6F\x76\x65"];_0xc421[0];var ZendeskAccount=require(_0xc421[2])[_0xc421[1]];exports[_0xc421[3]]=function(_0xab90x2){ZendeskAccount[_0xc421[4]](function(_0xab90x3){onSave(_0xab90x2,_0xab90x3)});ZendeskAccount[_0xc421[5]](function(_0xab90x3){onRemove(_0xab90x2,_0xab90x3)});};function onSave(_0xab90x2,_0xab90x3,_0xab90x5){_0xab90x2[_0xc421[7]](_0xc421[6],_0xab90x3)}function onRemove(_0xab90x2,_0xab90x3,_0xab90x5){_0xab90x2[_0xc421[7]](_0xc421[8],_0xab90x3)}
\ No newline at end of file
index 632cba12b558e067cabe2de31d82757e46b65320..e67ecdc6f09ae3b83c4003d922f971dc9c359855 100644 (file)
@@ -1 +1 @@
-var _0x5af5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x67\x65\x74"];_0x5af5[0];var should=require(_0x5af5[1]);var app=require(_0x5af5[2]);var request=require(_0x5af5[3]);describe(_0x5af5[4],function(){it(_0x5af5[5],function(_0x7c07x4){request(app)[_0x5af5[13]](_0x5af5[12])[_0x5af5[11]](200)[_0x5af5[11]](_0x5af5[10],/json/)[_0x5af5[9]](function(_0x7c07x5,_0x7c07x6){if(_0x7c07x5){return _0x7c07x4(_0x7c07x5)};_0x7c07x6[_0x5af5[8]][_0x5af5[1]][_0x5af5[7]][_0x5af5[6]](Array);_0x7c07x4();})})});
\ No newline at end of file
+var _0x8806=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x67\x65\x74"];_0x8806[0];var should=require(_0x8806[1]);var app=require(_0x8806[2]);var request=require(_0x8806[3]);describe(_0x8806[4],function(){it(_0x8806[5],function(_0x54f2x4){request(app)[_0x8806[13]](_0x8806[12])[_0x8806[11]](200)[_0x8806[11]](_0x8806[10],/json/)[_0x8806[9]](function(_0x54f2x5,_0x54f2x6){if(_0x54f2x5){return _0x54f2x4(_0x54f2x5)};_0x54f2x6[_0x8806[8]][_0x8806[1]][_0x8806[7]][_0x8806[6]](Array);_0x54f2x4();})})});
\ No newline at end of file
index c4f47866db1c27e3c284901cfd583e443957121c..d35daf7da3e3e8d222b6d60fddaa00b65603a774 100644 (file)
@@ -1 +1 @@
-var _0xcb22=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x2F\x3A\x69\x64\x2F\x3A\x74\x79\x70\x65","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xcb22[0];var express=require(_0xcb22[1]);var controller=require(_0xcb22[2]);var auth=require(_0xcb22[3]);var router=express.Router();router[_0xcb22[7]](_0xcb22[4],auth[_0xcb22[5]](),controller[_0xcb22[6]]);router[_0xcb22[7]](_0xcb22[8],auth[_0xcb22[5]](),controller[_0xcb22[9]]);router[_0xcb22[11]](_0xcb22[4],auth[_0xcb22[5]](),controller[_0xcb22[10]]);router[_0xcb22[13]](_0xcb22[8],auth[_0xcb22[5]](),controller[_0xcb22[12]]);router[_0xcb22[11]](_0xcb22[14],auth[_0xcb22[5]](),controller[_0xcb22[15]]);router[_0xcb22[16]](_0xcb22[8],auth[_0xcb22[5]](),controller[_0xcb22[12]]);router[_0xcb22[18]](_0xcb22[8],auth[_0xcb22[5]](),controller[_0xcb22[17]]);module[_0xcb22[19]]=router;
\ No newline at end of file
+var _0xf47a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x2F\x3A\x69\x64\x2F\x3A\x74\x79\x70\x65","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xf47a[0];var express=require(_0xf47a[1]);var controller=require(_0xf47a[2]);var auth=require(_0xf47a[3]);var router=express.Router();router[_0xf47a[7]](_0xf47a[4],auth[_0xf47a[5]](),controller[_0xf47a[6]]);router[_0xf47a[7]](_0xf47a[8],auth[_0xf47a[5]](),controller[_0xf47a[9]]);router[_0xf47a[11]](_0xf47a[4],auth[_0xf47a[5]](),controller[_0xf47a[10]]);router[_0xf47a[13]](_0xf47a[8],auth[_0xf47a[5]](),controller[_0xf47a[12]]);router[_0xf47a[11]](_0xf47a[14],auth[_0xf47a[5]](),controller[_0xf47a[15]]);router[_0xf47a[16]](_0xf47a[8],auth[_0xf47a[5]](),controller[_0xf47a[12]]);router[_0xf47a[18]](_0xf47a[8],auth[_0xf47a[5]](),controller[_0xf47a[17]]);module[_0xf47a[19]]=router;
\ No newline at end of file
index ec68df7226b185fc113f31b0f19018f960a5a5c4..95509b77b3fa0f11e012810527e6a13dd6edc6d4 100644 (file)
@@ -1 +1 @@
-var _0xbde1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x5A\x65\x6E\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x5A\x65\x6E\x64\x65\x73\x6B\x46\x69\x65\x6C\x64","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x53\x75\x62\x6A\x65\x63\x74","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x46\x69\x65\x6C\x64","\x66\x69\x6E\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x64\x65\x73\x74\x72\x6F\x79","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x61\x64\x64\x53\x75\x62\x6A\x65\x63\x74","\x73\x75\x62\x6A\x65\x63\x74","\x61\x64\x64\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x61\x64\x64\x46\x69\x65\x6C\x64","\x66\x69\x65\x6C\x64","\x74\x79\x70\x65"];_0xbde1[0];var _=require(_0xbde1[1]);var ZendeskConfiguration=require(_0xbde1[3])[_0xbde1[2]];var ZendeskField=require(_0xbde1[3])[_0xbde1[4]];exports[_0xbde1[5]]=function(_0xa891x4,_0xa891x5){ZendeskConfiguration[_0xbde1[11]]({where:_0xa891x4[_0xbde1[10]]})[_0xbde1[9]](function(_0xa891x7){return _0xa891x5[_0xbde1[8]](200)[_0xbde1[7]](_0xa891x7)})[_0xbde1[6]](function(_0xa891x6){return handleError(_0xa891x5,_0xa891x6)})};exports[_0xbde1[12]]=function(_0xa891x4,_0xa891x5){ZendeskConfiguration[_0xbde1[19]]({where:{id:_0xa891x4[_0xbde1[15]][_0xbde1[14]]},include:[{model:ZendeskField,as:_0xbde1[16]},{model:ZendeskField,as:_0xbde1[17]},{model:ZendeskField,as:_0xbde1[18]}]})[_0xbde1[9]](function(_0xa891x8){if(!_0xa891x8){return _0xa891x5[_0xbde1[13]](404)};return _0xa891x5[_0xbde1[7]](_0xa891x8);})[_0xbde1[6]](function(_0xa891x6){return handleError(_0xa891x5,_0xa891x6)})};exports[_0xbde1[20]]=function(_0xa891x4,_0xa891x5){ZendeskConfiguration[_0xbde1[20]](_0xa891x4[_0xbde1[21]])[_0xbde1[9]](function(_0xa891x8){return _0xa891x5[_0xbde1[8]](201)[_0xbde1[7]](_0xa891x8)})[_0xbde1[6]](function(_0xa891x6){return handleError(_0xa891x5,_0xa891x6)})};exports[_0xbde1[22]]=function(_0xa891x4,_0xa891x5){if(_0xa891x4[_0xbde1[21]][_0xbde1[14]]){delete _0xa891x4[_0xbde1[21]][_0xbde1[14]]};ZendeskConfiguration[_0xbde1[25]](_0xa891x4[_0xbde1[15]][_0xbde1[14]])[_0xbde1[9]](function(_0xa891x8){if(!_0xa891x8){return _0xa891x5[_0xbde1[13]](404)};var _0xa891x9=_[_0xbde1[23]](_0xa891x8,_0xa891x4[_0xbde1[21]]);_0xa891x9[_0xbde1[24]]()[_0xbde1[9]](function(){return _0xa891x5[_0xbde1[8]](200)[_0xbde1[7]](_0xa891x8)})[_0xbde1[6]](function(_0xa891x6){return handleError(_0xa891x5,_0xa891x6)});})[_0xbde1[6]](function(_0xa891x6){return handleError(_0xa891x5,_0xa891x6)});};exports[_0xbde1[26]]=function(_0xa891x4,_0xa891x5){ZendeskConfiguration[_0xbde1[25]](_0xa891x4[_0xbde1[15]][_0xbde1[14]])[_0xbde1[9]](function(_0xa891x8){if(!_0xa891x8){return _0xa891x5[_0xbde1[13]](404)};_0xa891x8[_0xbde1[26]]()[_0xbde1[9]](function(){return _0xa891x5[_0xbde1[13]](204)})[_0xbde1[6]](function(_0xa891x6){return handleError(_0xa891x5,_0xa891x6)});})[_0xbde1[6]](function(_0xa891x6){return handleError(_0xa891x5,_0xa891x6)})};exports[_0xbde1[27]]=function(_0xa891x4,_0xa891x5,_0xa891xa){ZendeskConfiguration[_0xbde1[25]](_0xa891x4[_0xbde1[15]][_0xbde1[14]])[_0xbde1[9]](function(_0xa891xb){if(!_0xa891xb){return _0xa891x5[_0xbde1[13]](500)};ZendeskField[_0xbde1[20]](_0xa891x4[_0xbde1[21]])[_0xbde1[9]](function(_0xa891xc){switch(_0xa891x4[_0xbde1[15]][_0xbde1[34]]){case _0xbde1[29]:_0xa891xb[_0xbde1[28]](_0xa891xc)[_0xbde1[9]](function(){return _0xa891x5[_0xbde1[8]](200)[_0xbde1[7]](_0xa891xc)})[_0xbde1[6]](function(_0xa891x6){return handleError(_0xa891x5,_0xa891x6)});break ;;case _0xbde1[31]:_0xa891xb[_0xbde1[30]](_0xa891xc)[_0xbde1[9]](function(){return _0xa891x5[_0xbde1[8]](200)[_0xbde1[7]](_0xa891xc)})[_0xbde1[6]](function(_0xa891x6){return handleError(_0xa891x5,_0xa891x6)});break ;;case _0xbde1[33]:_0xa891xb[_0xbde1[32]](_0xa891xc)[_0xbde1[9]](function(){return _0xa891x5[_0xbde1[8]](200)[_0xbde1[7]](_0xa891xc)})[_0xbde1[6]](function(_0xa891x6){return handleError(_0xa891x5,_0xa891x6)});break ;;}})[_0xbde1[6]](function(_0xa891x6){return handleError(_0xa891x5,_0xa891x6)});})[_0xbde1[6]](function(_0xa891x6){return handleError(_0xa891x5,_0xa891x6)})};function handleError(_0xa891x5,_0xa891x6){return _0xa891x5[_0xbde1[8]](500)[_0xbde1[7]](_0xa891x6)}
\ No newline at end of file
+var _0x951f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x5A\x65\x6E\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x5A\x65\x6E\x64\x65\x73\x6B\x46\x69\x65\x6C\x64","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x53\x75\x62\x6A\x65\x63\x74","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x46\x69\x65\x6C\x64","\x66\x69\x6E\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x64\x65\x73\x74\x72\x6F\x79","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x61\x64\x64\x53\x75\x62\x6A\x65\x63\x74","\x73\x75\x62\x6A\x65\x63\x74","\x61\x64\x64\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x61\x64\x64\x46\x69\x65\x6C\x64","\x66\x69\x65\x6C\x64","\x74\x79\x70\x65"];_0x951f[0];var _=require(_0x951f[1]);var ZendeskConfiguration=require(_0x951f[3])[_0x951f[2]];var ZendeskField=require(_0x951f[3])[_0x951f[4]];exports[_0x951f[5]]=function(_0x5f18x4,_0x5f18x5){ZendeskConfiguration[_0x951f[11]]({where:_0x5f18x4[_0x951f[10]]})[_0x951f[9]](function(_0x5f18x7){return _0x5f18x5[_0x951f[8]](200)[_0x951f[7]](_0x5f18x7)})[_0x951f[6]](function(_0x5f18x6){return handleError(_0x5f18x5,_0x5f18x6)})};exports[_0x951f[12]]=function(_0x5f18x4,_0x5f18x5){ZendeskConfiguration[_0x951f[19]]({where:{id:_0x5f18x4[_0x951f[15]][_0x951f[14]]},include:[{model:ZendeskField,as:_0x951f[16]},{model:ZendeskField,as:_0x951f[17]},{model:ZendeskField,as:_0x951f[18]}]})[_0x951f[9]](function(_0x5f18x8){if(!_0x5f18x8){return _0x5f18x5[_0x951f[13]](404)};return _0x5f18x5[_0x951f[7]](_0x5f18x8);})[_0x951f[6]](function(_0x5f18x6){return handleError(_0x5f18x5,_0x5f18x6)})};exports[_0x951f[20]]=function(_0x5f18x4,_0x5f18x5){ZendeskConfiguration[_0x951f[20]](_0x5f18x4[_0x951f[21]])[_0x951f[9]](function(_0x5f18x8){return _0x5f18x5[_0x951f[8]](201)[_0x951f[7]](_0x5f18x8)})[_0x951f[6]](function(_0x5f18x6){return handleError(_0x5f18x5,_0x5f18x6)})};exports[_0x951f[22]]=function(_0x5f18x4,_0x5f18x5){if(_0x5f18x4[_0x951f[21]][_0x951f[14]]){delete _0x5f18x4[_0x951f[21]][_0x951f[14]]};ZendeskConfiguration[_0x951f[25]](_0x5f18x4[_0x951f[15]][_0x951f[14]])[_0x951f[9]](function(_0x5f18x8){if(!_0x5f18x8){return _0x5f18x5[_0x951f[13]](404)};var _0x5f18x9=_[_0x951f[23]](_0x5f18x8,_0x5f18x4[_0x951f[21]]);_0x5f18x9[_0x951f[24]]()[_0x951f[9]](function(){return _0x5f18x5[_0x951f[8]](200)[_0x951f[7]](_0x5f18x8)})[_0x951f[6]](function(_0x5f18x6){return handleError(_0x5f18x5,_0x5f18x6)});})[_0x951f[6]](function(_0x5f18x6){return handleError(_0x5f18x5,_0x5f18x6)});};exports[_0x951f[26]]=function(_0x5f18x4,_0x5f18x5){ZendeskConfiguration[_0x951f[25]](_0x5f18x4[_0x951f[15]][_0x951f[14]])[_0x951f[9]](function(_0x5f18x8){if(!_0x5f18x8){return _0x5f18x5[_0x951f[13]](404)};_0x5f18x8[_0x951f[26]]()[_0x951f[9]](function(){return _0x5f18x5[_0x951f[13]](204)})[_0x951f[6]](function(_0x5f18x6){return handleError(_0x5f18x5,_0x5f18x6)});})[_0x951f[6]](function(_0x5f18x6){return handleError(_0x5f18x5,_0x5f18x6)})};exports[_0x951f[27]]=function(_0x5f18x4,_0x5f18x5,_0x5f18xa){ZendeskConfiguration[_0x951f[25]](_0x5f18x4[_0x951f[15]][_0x951f[14]])[_0x951f[9]](function(_0x5f18xb){if(!_0x5f18xb){return _0x5f18x5[_0x951f[13]](500)};ZendeskField[_0x951f[20]](_0x5f18x4[_0x951f[21]])[_0x951f[9]](function(_0x5f18xc){switch(_0x5f18x4[_0x951f[15]][_0x951f[34]]){case _0x951f[29]:_0x5f18xb[_0x951f[28]](_0x5f18xc)[_0x951f[9]](function(){return _0x5f18x5[_0x951f[8]](200)[_0x951f[7]](_0x5f18xc)})[_0x951f[6]](function(_0x5f18x6){return handleError(_0x5f18x5,_0x5f18x6)});break ;;case _0x951f[31]:_0x5f18xb[_0x951f[30]](_0x5f18xc)[_0x951f[9]](function(){return _0x5f18x5[_0x951f[8]](200)[_0x951f[7]](_0x5f18xc)})[_0x951f[6]](function(_0x5f18x6){return handleError(_0x5f18x5,_0x5f18x6)});break ;;case _0x951f[33]:_0x5f18xb[_0x951f[32]](_0x5f18xc)[_0x951f[9]](function(){return _0x5f18x5[_0x951f[8]](200)[_0x951f[7]](_0x5f18xc)})[_0x951f[6]](function(_0x5f18x6){return handleError(_0x5f18x5,_0x5f18x6)});break ;;}})[_0x951f[6]](function(_0x5f18x6){return handleError(_0x5f18x5,_0x5f18x6)});})[_0x951f[6]](function(_0x5f18x6){return handleError(_0x5f18x5,_0x5f18x6)})};function handleError(_0x5f18x5,_0x5f18x6){return _0x5f18x5[_0x951f[8]](500)[_0x951f[7]](_0x5f18x6)}
\ No newline at end of file
index 14b34a0aa79f96c9f701b48915fdf383c981fd45..9978b6580b2c659f296efc30e26a244f626870ae 100644 (file)
@@ -1 +1 @@
-var _0x8b4b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x5A\x65\x6E\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0x8b4b[0];var ZendeskConfiguration=require(_0x8b4b[2])[_0x8b4b[1]];exports[_0x8b4b[3]]=function(_0x14fbx2){ZendeskConfiguration[_0x8b4b[4]](function(_0x14fbx3){onSave(_0x14fbx2,_0x14fbx3)});ZendeskConfiguration[_0x8b4b[5]](function(_0x14fbx3){onRemove(_0x14fbx2,_0x14fbx3)});};function onSave(_0x14fbx2,_0x14fbx3,_0x14fbx5){_0x14fbx2[_0x8b4b[7]](_0x8b4b[6],_0x14fbx3)}function onRemove(_0x14fbx2,_0x14fbx3,_0x14fbx5){_0x14fbx2[_0x8b4b[7]](_0x8b4b[8],_0x14fbx3)}
\ No newline at end of file
+var _0x5a60=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x5A\x65\x6E\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0x5a60[0];var ZendeskConfiguration=require(_0x5a60[2])[_0x5a60[1]];exports[_0x5a60[3]]=function(_0xc924x2){ZendeskConfiguration[_0x5a60[4]](function(_0xc924x3){onSave(_0xc924x2,_0xc924x3)});ZendeskConfiguration[_0x5a60[5]](function(_0xc924x3){onRemove(_0xc924x2,_0xc924x3)});};function onSave(_0xc924x2,_0xc924x3,_0xc924x5){_0xc924x2[_0x5a60[7]](_0x5a60[6],_0xc924x3)}function onRemove(_0xc924x2,_0xc924x3,_0xc924x5){_0xc924x2[_0x5a60[7]](_0x5a60[8],_0xc924x3)}
\ No newline at end of file
index 2f19203a98ea8888a9b5cebdb5633fa7a22cc7c8..8d0b4c89374dda44ba0203999839c6f6fc9628e1 100644 (file)
@@ -1 +1 @@
-var _0x3076=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x67\x65\x74"];_0x3076[0];var should=require(_0x3076[1]);var app=require(_0x3076[2]);var request=require(_0x3076[3]);describe(_0x3076[4],function(){it(_0x3076[5],function(_0xbee6x4){request(app)[_0x3076[13]](_0x3076[12])[_0x3076[11]](200)[_0x3076[11]](_0x3076[10],/json/)[_0x3076[9]](function(_0xbee6x5,_0xbee6x6){if(_0xbee6x5){return _0xbee6x4(_0xbee6x5)};_0xbee6x6[_0x3076[8]][_0x3076[1]][_0x3076[7]][_0x3076[6]](Array);_0xbee6x4();})})});
\ No newline at end of file
+var _0xd475=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x67\x65\x74"];_0xd475[0];var should=require(_0xd475[1]);var app=require(_0xd475[2]);var request=require(_0xd475[3]);describe(_0xd475[4],function(){it(_0xd475[5],function(_0x99cbx4){request(app)[_0xd475[13]](_0xd475[12])[_0xd475[11]](200)[_0xd475[11]](_0xd475[10],/json/)[_0xd475[9]](function(_0x99cbx5,_0x99cbx6){if(_0x99cbx5){return _0x99cbx4(_0x99cbx5)};_0x99cbx6[_0xd475[8]][_0xd475[1]][_0xd475[7]][_0xd475[6]](Array);_0x99cbx4();})})});
\ No newline at end of file
index 761710e4602e64531e4eeb10f1a56a77e481540f..88c788fc12067b073001c9bb4f1c09b008562993 100644 (file)
@@ -1 +1 @@
-var _0xf225=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xf225[0];var express=require(_0xf225[1]);var controller=require(_0xf225[2]);var router=express.Router();router[_0xf225[5]](_0xf225[3],controller[_0xf225[4]]);router[_0xf225[5]](_0xf225[6],controller[_0xf225[7]]);router[_0xf225[9]](_0xf225[3],controller[_0xf225[8]]);router[_0xf225[11]](_0xf225[6],controller[_0xf225[10]]);router[_0xf225[12]](_0xf225[6],controller[_0xf225[10]]);router[_0xf225[14]](_0xf225[6],controller[_0xf225[13]]);module[_0xf225[15]]=router;
\ No newline at end of file
+var _0xd73b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xd73b[0];var express=require(_0xd73b[1]);var controller=require(_0xd73b[2]);var router=express.Router();router[_0xd73b[5]](_0xd73b[3],controller[_0xd73b[4]]);router[_0xd73b[5]](_0xd73b[6],controller[_0xd73b[7]]);router[_0xd73b[9]](_0xd73b[3],controller[_0xd73b[8]]);router[_0xd73b[11]](_0xd73b[6],controller[_0xd73b[10]]);router[_0xd73b[12]](_0xd73b[6],controller[_0xd73b[10]]);router[_0xd73b[14]](_0xd73b[6],controller[_0xd73b[13]]);module[_0xd73b[15]]=router;
\ No newline at end of file
index 9b1ad6cf09a4db59d834599f30d6e487ef03ab19..32a87f539bd9f539b1259a86a40c74ab89e9d3c3 100644 (file)
@@ -1 +1 @@
-var _0x65fc=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x5A\x65\x6E\x64\x65\x73\x6B\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x65fc[0];var _=require(_0x65fc[1]);var ZendeskField=require(_0x65fc[3])[_0x65fc[2]];exports[_0x65fc[4]]=function(_0x662bx3,_0x662bx4){ZendeskField[_0x65fc[9]]()[_0x65fc[8]](function(_0x662bx6){return _0x662bx4[_0x65fc[7]](200)[_0x65fc[6]](_0x662bx6)})[_0x65fc[5]](function(_0x662bx5){return handleError(_0x662bx4,_0x662bx5)})};exports[_0x65fc[10]]=function(_0x662bx3,_0x662bx4){ZendeskField[_0x65fc[14]](_0x662bx3[_0x65fc[13]][_0x65fc[12]])[_0x65fc[8]](function(_0x662bx7){if(!_0x662bx7){return _0x662bx4[_0x65fc[11]](404)};return _0x662bx4[_0x65fc[6]](_0x662bx7);})[_0x65fc[5]](function(_0x662bx5){return handleError(_0x662bx4,_0x662bx5)})};exports[_0x65fc[15]]=function(_0x662bx3,_0x662bx4){ZendeskField[_0x65fc[15]](_0x662bx3[_0x65fc[16]])[_0x65fc[8]](function(_0x662bx7){return _0x662bx4[_0x65fc[7]](201)[_0x65fc[6]](_0x662bx7)})[_0x65fc[5]](function(_0x662bx5){return handleError(_0x662bx4,_0x662bx5)})};exports[_0x65fc[17]]=function(_0x662bx3,_0x662bx4){if(_0x662bx3[_0x65fc[16]][_0x65fc[12]]){delete _0x662bx3[_0x65fc[16]][_0x65fc[12]]};ZendeskField[_0x65fc[14]](_0x662bx3[_0x65fc[13]][_0x65fc[12]])[_0x65fc[8]](function(_0x662bx7){if(!_0x662bx7){return _0x662bx4[_0x65fc[11]](404)};var _0x662bx8=_[_0x65fc[18]](_0x662bx7,_0x662bx3[_0x65fc[16]]);_0x662bx8[_0x65fc[19]]()[_0x65fc[8]](function(){return _0x662bx4[_0x65fc[7]](200)[_0x65fc[6]](_0x662bx7)})[_0x65fc[5]](function(_0x662bx5){return handleError(_0x662bx4,_0x662bx5)});})[_0x65fc[5]](function(_0x662bx5){return handleError(_0x662bx4,_0x662bx5)});};exports[_0x65fc[20]]=function(_0x662bx3,_0x662bx4){ZendeskField[_0x65fc[14]](_0x662bx3[_0x65fc[13]][_0x65fc[12]])[_0x65fc[8]](function(_0x662bx7){if(!_0x662bx7){return _0x662bx4[_0x65fc[11]](404)};_0x662bx7[_0x65fc[20]]()[_0x65fc[8]](function(){return _0x662bx4[_0x65fc[11]](204)})[_0x65fc[5]](function(_0x662bx5){return handleError(_0x662bx4,_0x662bx5)});})[_0x65fc[5]](function(_0x662bx5){return handleError(_0x662bx4,_0x662bx5)})};function handleError(_0x662bx4,_0x662bx5){return _0x662bx4[_0x65fc[7]](500)[_0x65fc[6]](_0x662bx5)}
\ No newline at end of file
+var _0xe048=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x5A\x65\x6E\x64\x65\x73\x6B\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xe048[0];var _=require(_0xe048[1]);var ZendeskField=require(_0xe048[3])[_0xe048[2]];exports[_0xe048[4]]=function(_0xd4cex3,_0xd4cex4){ZendeskField[_0xe048[9]]()[_0xe048[8]](function(_0xd4cex6){return _0xd4cex4[_0xe048[7]](200)[_0xe048[6]](_0xd4cex6)})[_0xe048[5]](function(_0xd4cex5){return handleError(_0xd4cex4,_0xd4cex5)})};exports[_0xe048[10]]=function(_0xd4cex3,_0xd4cex4){ZendeskField[_0xe048[14]](_0xd4cex3[_0xe048[13]][_0xe048[12]])[_0xe048[8]](function(_0xd4cex7){if(!_0xd4cex7){return _0xd4cex4[_0xe048[11]](404)};return _0xd4cex4[_0xe048[6]](_0xd4cex7);})[_0xe048[5]](function(_0xd4cex5){return handleError(_0xd4cex4,_0xd4cex5)})};exports[_0xe048[15]]=function(_0xd4cex3,_0xd4cex4){ZendeskField[_0xe048[15]](_0xd4cex3[_0xe048[16]])[_0xe048[8]](function(_0xd4cex7){return _0xd4cex4[_0xe048[7]](201)[_0xe048[6]](_0xd4cex7)})[_0xe048[5]](function(_0xd4cex5){return handleError(_0xd4cex4,_0xd4cex5)})};exports[_0xe048[17]]=function(_0xd4cex3,_0xd4cex4){if(_0xd4cex3[_0xe048[16]][_0xe048[12]]){delete _0xd4cex3[_0xe048[16]][_0xe048[12]]};ZendeskField[_0xe048[14]](_0xd4cex3[_0xe048[13]][_0xe048[12]])[_0xe048[8]](function(_0xd4cex7){if(!_0xd4cex7){return _0xd4cex4[_0xe048[11]](404)};var _0xd4cex8=_[_0xe048[18]](_0xd4cex7,_0xd4cex3[_0xe048[16]]);_0xd4cex8[_0xe048[19]]()[_0xe048[8]](function(){return _0xd4cex4[_0xe048[7]](200)[_0xe048[6]](_0xd4cex7)})[_0xe048[5]](function(_0xd4cex5){return handleError(_0xd4cex4,_0xd4cex5)});})[_0xe048[5]](function(_0xd4cex5){return handleError(_0xd4cex4,_0xd4cex5)});};exports[_0xe048[20]]=function(_0xd4cex3,_0xd4cex4){ZendeskField[_0xe048[14]](_0xd4cex3[_0xe048[13]][_0xe048[12]])[_0xe048[8]](function(_0xd4cex7){if(!_0xd4cex7){return _0xd4cex4[_0xe048[11]](404)};_0xd4cex7[_0xe048[20]]()[_0xe048[8]](function(){return _0xd4cex4[_0xe048[11]](204)})[_0xe048[5]](function(_0xd4cex5){return handleError(_0xd4cex4,_0xd4cex5)});})[_0xe048[5]](function(_0xd4cex5){return handleError(_0xd4cex4,_0xd4cex5)})};function handleError(_0xd4cex4,_0xd4cex5){return _0xd4cex4[_0xe048[7]](500)[_0xe048[6]](_0xd4cex5)}
\ No newline at end of file
index 148bdbabbe693094ad75b197c00ad4ebfb423684..dc10c968fd8b9fab4a57a00c2fe98c3407d2c3c4 100644 (file)
@@ -1 +1 @@
-var _0x6882=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x5A\x65\x6E\x64\x65\x73\x6B\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x3A\x72\x65\x6D\x6F\x76\x65"];_0x6882[0];var ZendeskField=require(_0x6882[2])[_0x6882[1]];exports[_0x6882[3]]=function(_0xd2ffx2){ZendeskField[_0x6882[4]](function(_0xd2ffx3){onSave(_0xd2ffx2,_0xd2ffx3)});ZendeskField[_0x6882[5]](function(_0xd2ffx3){onRemove(_0xd2ffx2,_0xd2ffx3)});};function onSave(_0xd2ffx2,_0xd2ffx3,_0xd2ffx5){_0xd2ffx2[_0x6882[7]](_0x6882[6],_0xd2ffx3)}function onRemove(_0xd2ffx2,_0xd2ffx3,_0xd2ffx5){_0xd2ffx2[_0x6882[7]](_0x6882[8],_0xd2ffx3)}
\ No newline at end of file
+var _0x88de=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x5A\x65\x6E\x64\x65\x73\x6B\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x3A\x72\x65\x6D\x6F\x76\x65"];_0x88de[0];var ZendeskField=require(_0x88de[2])[_0x88de[1]];exports[_0x88de[3]]=function(_0xad30x2){ZendeskField[_0x88de[4]](function(_0xad30x3){onSave(_0xad30x2,_0xad30x3)});ZendeskField[_0x88de[5]](function(_0xad30x3){onRemove(_0xad30x2,_0xad30x3)});};function onSave(_0xad30x2,_0xad30x3,_0xad30x5){_0xad30x2[_0x88de[7]](_0x88de[6],_0xad30x3)}function onRemove(_0xad30x2,_0xad30x3,_0xad30x5){_0xad30x2[_0x88de[7]](_0x88de[8],_0xad30x3)}
\ No newline at end of file
index d242e932eea5533809c1592bcf18d5cefb208195..09951cd5a565224c1a9b933566746f63ab4a8c2a 100644 (file)
@@ -1 +1 @@
-var _0xc7bc=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73","\x67\x65\x74"];_0xc7bc[0];var should=require(_0xc7bc[1]);var app=require(_0xc7bc[2]);var request=require(_0xc7bc[3]);describe(_0xc7bc[4],function(){it(_0xc7bc[5],function(_0xc426x4){request(app)[_0xc7bc[13]](_0xc7bc[12])[_0xc7bc[11]](200)[_0xc7bc[11]](_0xc7bc[10],/json/)[_0xc7bc[9]](function(_0xc426x5,_0xc426x6){if(_0xc426x5){return _0xc426x4(_0xc426x5)};_0xc426x6[_0xc7bc[8]][_0xc7bc[1]][_0xc7bc[7]][_0xc7bc[6]](Array);_0xc426x4();})})});
\ No newline at end of file
+var _0xc346=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x68\x6F\x75\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x70","\x73\x75\x70\x65\x72\x74\x65\x73\x74","\x47\x45\x54\x20\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73","\x73\x68\x6F\x75\x6C\x64\x20\x72\x65\x73\x70\x6F\x6E\x64\x20\x77\x69\x74\x68\x20\x4A\x53\x4F\x4E\x20\x61\x72\x72\x61\x79","\x69\x6E\x73\x74\x61\x6E\x63\x65\x6F\x66","\x62\x65","\x62\x6F\x64\x79","\x65\x6E\x64","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x65\x78\x70\x65\x63\x74","\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73","\x67\x65\x74"];_0xc346[0];var should=require(_0xc346[1]);var app=require(_0xc346[2]);var request=require(_0xc346[3]);describe(_0xc346[4],function(){it(_0xc346[5],function(_0xa313x4){request(app)[_0xc346[13]](_0xc346[12])[_0xc346[11]](200)[_0xc346[11]](_0xc346[10],/json/)[_0xc346[9]](function(_0xa313x5,_0xa313x6){if(_0xa313x5){return _0xa313x4(_0xa313x5)};_0xa313x6[_0xc346[8]][_0xc346[1]][_0xc346[7]][_0xc346[6]](Array);_0xa313x4();})})});
\ No newline at end of file
index 9e9617d33a8be64d35059ce4f17ca087ea14932d..9a4fb119821518fe6d4ed7b23bd36857bafb3009 100644 (file)
@@ -1 +1 @@
-var _0xf83f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4E\x4F\x44\x45\x5F\x45\x4E\x56","\x65\x6E\x76","\x64\x65\x76\x65\x6C\x6F\x70\x6D\x65\x6E\x74","\x4E\x4F\x44\x45\x5F\x54\x4C\x53\x5F\x52\x45\x4A\x45\x43\x54\x5F\x55\x4E\x41\x55\x54\x48\x4F\x52\x49\x5A\x45\x44","\x75\x6E\x63\x61\x75\x67\x68\x74\x45\x78\x63\x65\x70\x74\x69\x6F\x6E","\x6F\x62\x6A\x65\x63\x74","\x6D\x65\x73\x73\x61\x67\x65","\x0A\x4D\x65\x73\x73\x61\x67\x65\x3A\x20","\x6C\x6F\x67","\x73\x74\x61\x63\x6B","\x0A\x53\x74\x61\x63\x6B\x74\x72\x61\x63\x65\x3A","\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D","\x64\x75\x6D\x70\x45\x72\x72\x6F\x72\x20\x3A\x3A\x20\x61\x72\x67\x75\x6D\x65\x6E\x74\x20\x69\x73\x20\x6E\x6F\x74\x20\x61\x6E\x20\x6F\x62\x6A\x65\x63\x74","\x6F\x6E","\x6F\x73","\x68\x74\x74\x70","\x75\x74\x69\x6C","\x63\x72\x79\x70\x74\x6F","\x43\x72\x6F\x6E\x4A\x6F\x62","\x63\x72\x6F\x6E","\x73\x68\x65\x6C\x6C\x6A\x73\x2F\x67\x6C\x6F\x62\x61\x6C","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x53\x65\x74\x74\x69\x6E\x67\x73","\x63\x72\x65\x61\x74\x65\x53\x65\x72\x76\x65\x72","\x70\x72\x6F\x64\x75\x63\x74\x69\x6F\x6E","\x2F\x73\x6F\x63\x6B\x65\x74\x2E\x69\x6F\x2D\x63\x6C\x69\x65\x6E\x74","\x73\x6F\x63\x6B\x65\x74\x2E\x69\x6F","\x70\x6F\x72\x74","\x61\x73\x74\x65\x72\x69\x73\x6B","\x68\x6F\x73\x74","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x61\x73\x74\x65\x72\x69\x73\x6B\x2D\x6D\x61\x6E\x61\x67\x65\x72","\x6B\x65\x65\x70\x43\x6F\x6E\x6E\x65\x63\x74\x65\x64","\x6B\x75\x65","\x6C\x69\x73\x74\x65\x6E","\x61\x70\x70","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x6F\x75\x74\x65\x73","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x68\x69\x73\x74\x6F\x72\x79","\x74\x68\x65\x6E","\x73\x79\x6E\x63","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65\x5F\x68\x69\x73\x74\x6F\x72\x79","\x73\x65\x65\x64\x44\x42","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x73\x65\x65\x64","\x73\x65\x65\x64\x50\x44\x42","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x73\x65\x65\x64\x70","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x73\x6F\x63\x6B\x65\x74\x69\x6F","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6B\x75\x65\x2E\x6D\x61\x69\x6C","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6B\x75\x65\x2E\x63\x68\x61\x74","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6B\x75\x65\x2E\x66\x61\x78","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73\x2F\x6D\x61\x69\x6C","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73\x2F\x66\x61\x78","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x74\x72\x69\x67\x67\x65\x72\x73","\x69\x6E\x69\x74","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x69\x6D\x61\x70","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x73\x6D\x74\x70","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x61\x6D\x69","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x61\x67\x69","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x61\x75\x74\x6F\x64\x69\x61\x6C\x65\x72","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65","\x69\x70","\x45\x78\x70\x72\x65\x73\x73\x20\x73\x65\x72\x76\x65\x72\x20\x6C\x69\x73\x74\x65\x6E\x69\x6E\x67\x20\x6F\x6E\x20\x25\x64\x2C\x20\x69\x6E\x20\x25\x73\x20\x6D\x6F\x64\x65","\x67\x65\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xf83f[0];process[_0xf83f[2]][_0xf83f[1]]=process[_0xf83f[2]][_0xf83f[1]]||_0xf83f[3];process[_0xf83f[2]][_0xf83f[4]]=0;process[_0xf83f[14]](_0xf83f[5],function(_0xda02x1){if( typeof _0xda02x1===_0xf83f[6]){if(_0xda02x1[_0xf83f[7]]){console[_0xf83f[9]](_0xf83f[8]+_0xda02x1[_0xf83f[7]])};if(_0xda02x1[_0xf83f[10]]){console[_0xf83f[9]](_0xf83f[11]);console[_0xf83f[9]](_0xf83f[12]);console[_0xf83f[9]](_0xda02x1[_0xf83f[10]]);};}else {console[_0xf83f[9]](_0xf83f[13])}});var os=require(_0xf83f[15]);var http=require(_0xf83f[16]);var util=require(_0xf83f[17]);var crypto=require(_0xf83f[18]);var cronjob=require(_0xf83f[20])[_0xf83f[19]];var shelljs=require(_0xf83f[21]);var express=require(_0xf83f[22]);var models=require(_0xf83f[23]);var config=require(_0xf83f[24]);var Settings=models[_0xf83f[25]];var app=express();var server=require(_0xf83f[16])[_0xf83f[26]](app);var io=require(_0xf83f[29])(server,{serveClient:(config[_0xf83f[2]]===_0xf83f[27])?false:true,path:_0xf83f[28]});var ami=require(_0xf83f[35])(config[_0xf83f[31]][_0xf83f[30]],config[_0xf83f[31]][_0xf83f[32]],config[_0xf83f[31]][_0xf83f[33]],config[_0xf83f[31]][_0xf83f[34]],true);ami[_0xf83f[36]]();var kue=require(_0xf83f[37]);kue[_0xf83f[39]][_0xf83f[38]](3001);var _setting;var _license;require(_0xf83f[40])(app);require(_0xf83f[41])(app);models[_0xf83f[70]][_0xf83f[46]]()[_0xf83f[45]](function(){require(_0xf83f[41])(app);if(config[_0xf83f[48]]){require(_0xf83f[49])};if(config[_0xf83f[50]]){require(_0xf83f[51])};require(_0xf83f[52])(io);require(_0xf83f[53])(kue);require(_0xf83f[54])(kue);require(_0xf83f[55])(io,kue);require(_0xf83f[56])();require(_0xf83f[57])();require(_0xf83f[58])();require(_0xf83f[60])[_0xf83f[59]]();require(_0xf83f[61])[_0xf83f[59]]();require(_0xf83f[62])(ami);require(_0xf83f[63])();require(_0xf83f[64])(ami);require(_0xf83f[65])(io,ami);require(_0xf83f[66])();server[_0xf83f[38]](config[_0xf83f[30]],config[_0xf83f[67]],function(){console[_0xf83f[9]](_0xf83f[68],config[_0xf83f[30]],app[_0xf83f[69]](_0xf83f[2]))});})[_0xf83f[45]](function(){return models[_0xf83f[47]][_0xf83f[46]]()})[_0xf83f[45]](function(){require(_0xf83f[44])(cronjob)})[_0xf83f[43]](function(_0xda02x1){console[_0xf83f[42]](_0xda02x1)});exports=module[_0xf83f[71]]=app;
\ No newline at end of file
+var _0xf01d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4E\x4F\x44\x45\x5F\x45\x4E\x56","\x65\x6E\x76","\x64\x65\x76\x65\x6C\x6F\x70\x6D\x65\x6E\x74","\x4E\x4F\x44\x45\x5F\x54\x4C\x53\x5F\x52\x45\x4A\x45\x43\x54\x5F\x55\x4E\x41\x55\x54\x48\x4F\x52\x49\x5A\x45\x44","\x75\x6E\x63\x61\x75\x67\x68\x74\x45\x78\x63\x65\x70\x74\x69\x6F\x6E","\x6F\x62\x6A\x65\x63\x74","\x6D\x65\x73\x73\x61\x67\x65","\x0A\x4D\x65\x73\x73\x61\x67\x65\x3A\x20","\x6C\x6F\x67","\x73\x74\x61\x63\x6B","\x0A\x53\x74\x61\x63\x6B\x74\x72\x61\x63\x65\x3A","\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D","\x64\x75\x6D\x70\x45\x72\x72\x6F\x72\x20\x3A\x3A\x20\x61\x72\x67\x75\x6D\x65\x6E\x74\x20\x69\x73\x20\x6E\x6F\x74\x20\x61\x6E\x20\x6F\x62\x6A\x65\x63\x74","\x6F\x6E","\x6F\x73","\x68\x74\x74\x70","\x75\x74\x69\x6C","\x63\x72\x79\x70\x74\x6F","\x43\x72\x6F\x6E\x4A\x6F\x62","\x63\x72\x6F\x6E","\x73\x68\x65\x6C\x6C\x6A\x73\x2F\x67\x6C\x6F\x62\x61\x6C","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x53\x65\x74\x74\x69\x6E\x67\x73","\x63\x72\x65\x61\x74\x65\x53\x65\x72\x76\x65\x72","\x70\x72\x6F\x64\x75\x63\x74\x69\x6F\x6E","\x2F\x73\x6F\x63\x6B\x65\x74\x2E\x69\x6F\x2D\x63\x6C\x69\x65\x6E\x74","\x73\x6F\x63\x6B\x65\x74\x2E\x69\x6F","\x70\x6F\x72\x74","\x61\x73\x74\x65\x72\x69\x73\x6B","\x68\x6F\x73\x74","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x61\x73\x74\x65\x72\x69\x73\x6B\x2D\x6D\x61\x6E\x61\x67\x65\x72","\x6B\x65\x65\x70\x43\x6F\x6E\x6E\x65\x63\x74\x65\x64","\x6B\x75\x65","\x6C\x69\x73\x74\x65\x6E","\x61\x70\x70","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x6F\x75\x74\x65\x73","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x68\x69\x73\x74\x6F\x72\x79","\x74\x68\x65\x6E","\x73\x79\x6E\x63","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65\x5F\x68\x69\x73\x74\x6F\x72\x79","\x73\x65\x65\x64\x44\x42","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x73\x65\x65\x64","\x73\x65\x65\x64\x50\x44\x42","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x73\x65\x65\x64\x70","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x73\x6F\x63\x6B\x65\x74\x69\x6F","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6B\x75\x65\x2E\x6D\x61\x69\x6C","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6B\x75\x65\x2E\x63\x68\x61\x74","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6B\x75\x65\x2E\x66\x61\x78","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73\x2F\x6D\x61\x69\x6C","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73\x2F\x66\x61\x78","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x74\x72\x69\x67\x67\x65\x72\x73","\x69\x6E\x69\x74","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x69\x6D\x61\x70","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x73\x6D\x74\x70","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x61\x6D\x69","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x61\x67\x69","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x61\x75\x74\x6F\x64\x69\x61\x6C\x65\x72","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65","\x69\x70","\x45\x78\x70\x72\x65\x73\x73\x20\x73\x65\x72\x76\x65\x72\x20\x6C\x69\x73\x74\x65\x6E\x69\x6E\x67\x20\x6F\x6E\x20\x25\x64\x2C\x20\x69\x6E\x20\x25\x73\x20\x6D\x6F\x64\x65","\x67\x65\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xf01d[0];process[_0xf01d[2]][_0xf01d[1]]=process[_0xf01d[2]][_0xf01d[1]]||_0xf01d[3];process[_0xf01d[2]][_0xf01d[4]]=0;process[_0xf01d[14]](_0xf01d[5],function(_0x7fabx1){if( typeof _0x7fabx1===_0xf01d[6]){if(_0x7fabx1[_0xf01d[7]]){console[_0xf01d[9]](_0xf01d[8]+_0x7fabx1[_0xf01d[7]])};if(_0x7fabx1[_0xf01d[10]]){console[_0xf01d[9]](_0xf01d[11]);console[_0xf01d[9]](_0xf01d[12]);console[_0xf01d[9]](_0x7fabx1[_0xf01d[10]]);};}else {console[_0xf01d[9]](_0xf01d[13])}});var os=require(_0xf01d[15]);var http=require(_0xf01d[16]);var util=require(_0xf01d[17]);var crypto=require(_0xf01d[18]);var cronjob=require(_0xf01d[20])[_0xf01d[19]];var shelljs=require(_0xf01d[21]);var express=require(_0xf01d[22]);var models=require(_0xf01d[23]);var config=require(_0xf01d[24]);var Settings=models[_0xf01d[25]];var app=express();var server=require(_0xf01d[16])[_0xf01d[26]](app);var io=require(_0xf01d[29])(server,{serveClient:(config[_0xf01d[2]]===_0xf01d[27])?false:true,path:_0xf01d[28]});var ami=require(_0xf01d[35])(config[_0xf01d[31]][_0xf01d[30]],config[_0xf01d[31]][_0xf01d[32]],config[_0xf01d[31]][_0xf01d[33]],config[_0xf01d[31]][_0xf01d[34]],true);ami[_0xf01d[36]]();var kue=require(_0xf01d[37]);kue[_0xf01d[39]][_0xf01d[38]](3001);var _setting;var _license;require(_0xf01d[40])(app);require(_0xf01d[41])(app);models[_0xf01d[70]][_0xf01d[46]]()[_0xf01d[45]](function(){require(_0xf01d[41])(app);if(config[_0xf01d[48]]){require(_0xf01d[49])};if(config[_0xf01d[50]]){require(_0xf01d[51])};require(_0xf01d[52])(io);require(_0xf01d[53])(kue);require(_0xf01d[54])(kue);require(_0xf01d[55])(io,kue);require(_0xf01d[56])();require(_0xf01d[57])();require(_0xf01d[58])();require(_0xf01d[60])[_0xf01d[59]]();require(_0xf01d[61])[_0xf01d[59]]();require(_0xf01d[62])(ami);require(_0xf01d[63])();require(_0xf01d[64])(ami);require(_0xf01d[65])(io,ami);require(_0xf01d[66])();server[_0xf01d[38]](config[_0xf01d[30]],config[_0xf01d[67]],function(){console[_0xf01d[9]](_0xf01d[68],config[_0xf01d[30]],app[_0xf01d[69]](_0xf01d[2]))});})[_0xf01d[45]](function(){return models[_0xf01d[47]][_0xf01d[46]]()})[_0xf01d[45]](function(){require(_0xf01d[44])(cronjob)})[_0xf01d[43]](function(_0x7fabx1){console[_0xf01d[42]](_0x7fabx1)});exports=module[_0xf01d[71]]=app;
\ No newline at end of file
index f7ce1577b13cd210438c0657e416c0e16d2cd06c..239ace080f73ef0c2510a739e8da8f83b545926e 100644 (file)
@@ -1 +1 @@
-var _0xed40=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x70\x61\x73\x73\x70\x6F\x72\x74","\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x6A\x73\x6F\x6E\x77\x65\x62\x74\x6F\x6B\x65\x6E","\x65\x78\x70\x72\x65\x73\x73\x2D\x6A\x77\x74","\x63\x6F\x6D\x70\x6F\x73\x61\x62\x6C\x65\x2D\x6D\x69\x64\x64\x6C\x65\x77\x61\x72\x65","\x55\x73\x65\x72","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x63\x72\x65\x74","\x73\x65\x73\x73\x69\x6F\x6E","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x75\x73\x65\x72","\x74\x68\x65\x6E","\x69\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x75\x73\x65","\x71\x75\x65\x72\x79","\x61\x63\x63\x65\x73\x73\x5F\x74\x6F\x6B\x65\x6E","\x68\x61\x73\x4F\x77\x6E\x50\x72\x6F\x70\x65\x72\x74\x79","\x61\x75\x74\x68\x6F\x72\x69\x7A\x61\x74\x69\x6F\x6E","\x68\x65\x61\x64\x65\x72\x73","\x42\x65\x61\x72\x65\x72\x20","\x52\x65\x71\x75\x69\x72\x65\x64\x20\x72\x6F\x6C\x65\x20\x6E\x65\x65\x64\x73\x20\x74\x6F\x20\x62\x65\x20\x73\x65\x74","\x72\x6F\x6C\x65","\x69\x6E\x64\x65\x78\x4F\x66","\x75\x73\x65\x72\x52\x6F\x6C\x65\x73","\x31\x64","\x73\x69\x67\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x77\x65\x6E\x74\x20\x77\x72\x6F\x6E\x67\x2C\x20\x70\x6C\x65\x61\x73\x65\x20\x74\x72\x79\x20\x61\x67\x61\x69\x6E\x2E","\x6A\x73\x6F\x6E","\x74\x6F\x6B\x65\x6E","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x63\x6F\x6F\x6B\x69\x65","\x2F","\x72\x65\x64\x69\x72\x65\x63\x74","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x68\x61\x73\x52\x6F\x6C\x65","\x73\x69\x67\x6E\x54\x6F\x6B\x65\x6E","\x73\x65\x74\x54\x6F\x6B\x65\x6E\x43\x6F\x6F\x6B\x69\x65"];_0xed40[0];var passport=require(_0xed40[1]);var config=require(_0xed40[2]);var jwt=require(_0xed40[3]);var expressJwt=require(_0xed40[4]);var compose=require(_0xed40[5]);var User=require(_0xed40[7])[_0xed40[6]];var validateJwt=expressJwt({secret:config[_0xed40[9]][_0xed40[8]]});function isAuthenticated(){return compose()[_0xed40[16]](function(_0x201bx9,_0x201bxa,_0x201bxb){if(_0x201bx9[_0xed40[17]]&&_0x201bx9[_0xed40[17]][_0xed40[19]](_0xed40[18])){_0x201bx9[_0xed40[21]][_0xed40[20]]=_0xed40[22]+_0x201bx9[_0xed40[17]][_0xed40[18]]};validateJwt(_0x201bx9,_0x201bxa,_0x201bxb);})[_0xed40[16]](function(_0x201bx9,_0x201bxa,_0x201bxb){User[_0xed40[15]](_0x201bx9[_0xed40[12]][_0xed40[14]])[_0xed40[13]](function(_0x201bxd){if(!_0x201bxd){return _0x201bxa[_0xed40[11]](401)};_0x201bx9[_0xed40[12]]=_0x201bxd;return _0x201bxb();})[_0xed40[10]](function(_0x201bxc){return _0x201bxb(_0x201bxc)})})}function hasRole(_0x201bxf){if(!_0x201bxf){throw  new Error(_0xed40[23])};return compose()[_0xed40[16]](isAuthenticated())[_0xed40[16]](function _0x201bx10(_0x201bx9,_0x201bxa,_0x201bxb){if(config[_0xed40[26]][_0xed40[25]](_0x201bx9[_0xed40[12]][_0xed40[24]])>=config[_0xed40[26]][_0xed40[25]](_0x201bxf)){return _0x201bxb()}else {return _0x201bxa[_0xed40[11]](403)}});}function signToken(_0x201bx12,_0x201bx13,_0x201bx14){var _0x201bx15=60*24*365*5;if(!_0x201bx14){_0x201bx15=_0xed40[27]};return jwt[_0xed40[28]]({id:_0x201bx12},config[_0xed40[9]][_0xed40[8]],{expiresIn:_0x201bx15});}function setTokenCookie(_0x201bx9,_0x201bxa){if(!_0x201bx9[_0xed40[12]]){return _0x201bxa[_0xed40[30]](404,{message:_0xed40[29]})};var _0x201bx17=signToken(_0x201bx9[_0xed40[12]][_0xed40[14]],_0x201bx9[_0xed40[12]][_0xed40[24]]);_0x201bxa[_0xed40[33]](_0xed40[31],JSON[_0xed40[32]](_0x201bx17));_0x201bxa[_0xed40[35]](_0xed40[34]);}exports[_0xed40[36]]=isAuthenticated;exports[_0xed40[37]]=hasRole;exports[_0xed40[38]]=signToken;exports[_0xed40[39]]=setTokenCookie;
\ No newline at end of file
+var _0x8de8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x70\x61\x73\x73\x70\x6F\x72\x74","\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x6A\x73\x6F\x6E\x77\x65\x62\x74\x6F\x6B\x65\x6E","\x65\x78\x70\x72\x65\x73\x73\x2D\x6A\x77\x74","\x63\x6F\x6D\x70\x6F\x73\x61\x62\x6C\x65\x2D\x6D\x69\x64\x64\x6C\x65\x77\x61\x72\x65","\x55\x73\x65\x72","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x63\x72\x65\x74","\x73\x65\x73\x73\x69\x6F\x6E","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x75\x73\x65\x72","\x74\x68\x65\x6E","\x69\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x75\x73\x65","\x71\x75\x65\x72\x79","\x61\x63\x63\x65\x73\x73\x5F\x74\x6F\x6B\x65\x6E","\x68\x61\x73\x4F\x77\x6E\x50\x72\x6F\x70\x65\x72\x74\x79","\x61\x75\x74\x68\x6F\x72\x69\x7A\x61\x74\x69\x6F\x6E","\x68\x65\x61\x64\x65\x72\x73","\x42\x65\x61\x72\x65\x72\x20","\x52\x65\x71\x75\x69\x72\x65\x64\x20\x72\x6F\x6C\x65\x20\x6E\x65\x65\x64\x73\x20\x74\x6F\x20\x62\x65\x20\x73\x65\x74","\x72\x6F\x6C\x65","\x69\x6E\x64\x65\x78\x4F\x66","\x75\x73\x65\x72\x52\x6F\x6C\x65\x73","\x31\x64","\x73\x69\x67\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x77\x65\x6E\x74\x20\x77\x72\x6F\x6E\x67\x2C\x20\x70\x6C\x65\x61\x73\x65\x20\x74\x72\x79\x20\x61\x67\x61\x69\x6E\x2E","\x6A\x73\x6F\x6E","\x74\x6F\x6B\x65\x6E","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x63\x6F\x6F\x6B\x69\x65","\x2F","\x72\x65\x64\x69\x72\x65\x63\x74","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x68\x61\x73\x52\x6F\x6C\x65","\x73\x69\x67\x6E\x54\x6F\x6B\x65\x6E","\x73\x65\x74\x54\x6F\x6B\x65\x6E\x43\x6F\x6F\x6B\x69\x65"];_0x8de8[0];var passport=require(_0x8de8[1]);var config=require(_0x8de8[2]);var jwt=require(_0x8de8[3]);var expressJwt=require(_0x8de8[4]);var compose=require(_0x8de8[5]);var User=require(_0x8de8[7])[_0x8de8[6]];var validateJwt=expressJwt({secret:config[_0x8de8[9]][_0x8de8[8]]});function isAuthenticated(){return compose()[_0x8de8[16]](function(_0x827ex9,_0x827exa,_0x827exb){if(_0x827ex9[_0x8de8[17]]&&_0x827ex9[_0x8de8[17]][_0x8de8[19]](_0x8de8[18])){_0x827ex9[_0x8de8[21]][_0x8de8[20]]=_0x8de8[22]+_0x827ex9[_0x8de8[17]][_0x8de8[18]]};validateJwt(_0x827ex9,_0x827exa,_0x827exb);})[_0x8de8[16]](function(_0x827ex9,_0x827exa,_0x827exb){User[_0x8de8[15]](_0x827ex9[_0x8de8[12]][_0x8de8[14]])[_0x8de8[13]](function(_0x827exd){if(!_0x827exd){return _0x827exa[_0x8de8[11]](401)};_0x827ex9[_0x8de8[12]]=_0x827exd;return _0x827exb();})[_0x8de8[10]](function(_0x827exc){return _0x827exb(_0x827exc)})})}function hasRole(_0x827exf){if(!_0x827exf){throw  new Error(_0x8de8[23])};return compose()[_0x8de8[16]](isAuthenticated())[_0x8de8[16]](function _0x827ex10(_0x827ex9,_0x827exa,_0x827exb){if(config[_0x8de8[26]][_0x8de8[25]](_0x827ex9[_0x8de8[12]][_0x8de8[24]])>=config[_0x8de8[26]][_0x8de8[25]](_0x827exf)){return _0x827exb()}else {return _0x827exa[_0x8de8[11]](403)}});}function signToken(_0x827ex12,_0x827ex13,_0x827ex14){var _0x827ex15=60*24*365*5;if(!_0x827ex14){_0x827ex15=_0x8de8[27]};return jwt[_0x8de8[28]]({id:_0x827ex12},config[_0x8de8[9]][_0x8de8[8]],{expiresIn:_0x827ex15});}function setTokenCookie(_0x827ex9,_0x827exa){if(!_0x827ex9[_0x8de8[12]]){return _0x827exa[_0x8de8[30]](404,{message:_0x8de8[29]})};var _0x827ex17=signToken(_0x827ex9[_0x8de8[12]][_0x8de8[14]],_0x827ex9[_0x8de8[12]][_0x8de8[24]]);_0x827exa[_0x8de8[33]](_0x8de8[31],JSON[_0x8de8[32]](_0x827ex17));_0x827exa[_0x8de8[35]](_0x8de8[34]);}exports[_0x8de8[36]]=isAuthenticated;exports[_0x8de8[37]]=hasRole;exports[_0x8de8[38]]=signToken;exports[_0x8de8[39]]=setTokenCookie;
\ No newline at end of file
index 1aa65ae953cdbcaaba8980377fc50594300a4526..664c477e4965d571c4b474430d8c10dbe4065a3d 100644 (file)
@@ -1 +1 @@
-var _0x58aa=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x70\x61\x73\x73\x70\x6F\x72\x74","\x2E\x2E\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F\x63\x61\x6C\x6C\x62\x61\x63\x6B","\x66\x61\x63\x65\x62\x6F\x6F\x6B","\x2F\x73\x69\x67\x6E\x75\x70","\x61\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65","\x73\x65\x74\x54\x6F\x6B\x65\x6E\x43\x6F\x6F\x6B\x69\x65","\x67\x65\x74","\x2F","\x65\x6D\x61\x69\x6C","\x75\x73\x65\x72\x5F\x61\x62\x6F\x75\x74\x5F\x6D\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x58aa[0];var express=require(_0x58aa[1]);var passport=require(_0x58aa[2]);var auth=require(_0x58aa[3]);var router=express.Router();router[_0x58aa[9]](_0x58aa[10],passport[_0x58aa[7]](_0x58aa[5],{scope:[_0x58aa[11],_0x58aa[12]],failureRedirect:_0x58aa[6],session:false}))[_0x58aa[9]](_0x58aa[4],passport[_0x58aa[7]](_0x58aa[5],{failureRedirect:_0x58aa[6],session:false}),auth[_0x58aa[8]]);module[_0x58aa[13]]=router;
\ No newline at end of file
+var _0xf71f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x70\x61\x73\x73\x70\x6F\x72\x74","\x2E\x2E\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F\x63\x61\x6C\x6C\x62\x61\x63\x6B","\x66\x61\x63\x65\x62\x6F\x6F\x6B","\x2F\x73\x69\x67\x6E\x75\x70","\x61\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65","\x73\x65\x74\x54\x6F\x6B\x65\x6E\x43\x6F\x6F\x6B\x69\x65","\x67\x65\x74","\x2F","\x65\x6D\x61\x69\x6C","\x75\x73\x65\x72\x5F\x61\x62\x6F\x75\x74\x5F\x6D\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xf71f[0];var express=require(_0xf71f[1]);var passport=require(_0xf71f[2]);var auth=require(_0xf71f[3]);var router=express.Router();router[_0xf71f[9]](_0xf71f[10],passport[_0xf71f[7]](_0xf71f[5],{scope:[_0xf71f[11],_0xf71f[12]],failureRedirect:_0xf71f[6],session:false}))[_0xf71f[9]](_0xf71f[4],passport[_0xf71f[7]](_0xf71f[5],{failureRedirect:_0xf71f[6],session:false}),auth[_0xf71f[8]]);module[_0xf71f[13]]=router;
\ No newline at end of file
index 0d59174d5be3c90c6fb3c2c9c9e49f9cc88867ce..b9972899f7ffed24a3ebb643d9244a4693771c74 100644 (file)
@@ -1 +1 @@
-var _0x9bf6=["\x70\x61\x73\x73\x70\x6F\x72\x74","\x53\x74\x72\x61\x74\x65\x67\x79","\x70\x61\x73\x73\x70\x6F\x72\x74\x2D\x66\x61\x63\x65\x62\x6F\x6F\x6B","\x73\x65\x74\x75\x70","\x63\x6C\x69\x65\x6E\x74\x49\x44","\x66\x61\x63\x65\x62\x6F\x6F\x6B","\x63\x6C\x69\x65\x6E\x74\x53\x65\x63\x72\x65\x74","\x63\x61\x6C\x6C\x62\x61\x63\x6B\x55\x52\x4C","\x69\x64","\x64\x69\x73\x70\x6C\x61\x79\x4E\x61\x6D\x65","\x76\x61\x6C\x75\x65","\x65\x6D\x61\x69\x6C\x73","\x75\x73\x65\x72","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x5F\x6A\x73\x6F\x6E","\x73\x61\x76\x65","\x66\x69\x6E\x64\x4F\x6E\x65","\x75\x73\x65"];var passport=require(_0x9bf6[0]);var FacebookStrategy=require(_0x9bf6[2])[_0x9bf6[1]];exports[_0x9bf6[3]]=function(_0x4265x3,_0x4265x4){passport[_0x9bf6[17]]( new FacebookStrategy({clientID:_0x4265x4[_0x9bf6[5]][_0x9bf6[4]],clientSecret:_0x4265x4[_0x9bf6[5]][_0x9bf6[6]],callbackURL:_0x4265x4[_0x9bf6[5]][_0x9bf6[7]]},function(_0x4265x5,_0x4265x6,_0x4265x7,_0x4265x8){_0x4265x3[_0x9bf6[16]]({"\x66\x61\x63\x65\x62\x6F\x6F\x6B\x2E\x69\x64":_0x4265x7[_0x9bf6[8]]},function(_0x4265x9,_0x4265xa){if(_0x4265x9){return _0x4265x8(_0x4265x9)};if(!_0x4265xa){_0x4265xa= new _0x4265x3({name:_0x4265x7[_0x9bf6[9]],email:_0x4265x7[_0x9bf6[11]][0][_0x9bf6[10]],role:_0x9bf6[12],username:_0x4265x7[_0x9bf6[13]],provider:_0x9bf6[5],facebook:_0x4265x7[_0x9bf6[14]]});_0x4265xa[_0x9bf6[15]](function(_0x4265x9){if(_0x4265x9){_0x4265x8(_0x4265x9)};return _0x4265x8(_0x4265x9,_0x4265xa);});}else {return _0x4265x8(_0x4265x9,_0x4265xa)};})}))};
\ No newline at end of file
+var _0x984d=["\x70\x61\x73\x73\x70\x6F\x72\x74","\x53\x74\x72\x61\x74\x65\x67\x79","\x70\x61\x73\x73\x70\x6F\x72\x74\x2D\x66\x61\x63\x65\x62\x6F\x6F\x6B","\x73\x65\x74\x75\x70","\x63\x6C\x69\x65\x6E\x74\x49\x44","\x66\x61\x63\x65\x62\x6F\x6F\x6B","\x63\x6C\x69\x65\x6E\x74\x53\x65\x63\x72\x65\x74","\x63\x61\x6C\x6C\x62\x61\x63\x6B\x55\x52\x4C","\x69\x64","\x64\x69\x73\x70\x6C\x61\x79\x4E\x61\x6D\x65","\x76\x61\x6C\x75\x65","\x65\x6D\x61\x69\x6C\x73","\x75\x73\x65\x72","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x5F\x6A\x73\x6F\x6E","\x73\x61\x76\x65","\x66\x69\x6E\x64\x4F\x6E\x65","\x75\x73\x65"];var passport=require(_0x984d[0]);var FacebookStrategy=require(_0x984d[2])[_0x984d[1]];exports[_0x984d[3]]=function(_0xd29fx3,_0xd29fx4){passport[_0x984d[17]]( new FacebookStrategy({clientID:_0xd29fx4[_0x984d[5]][_0x984d[4]],clientSecret:_0xd29fx4[_0x984d[5]][_0x984d[6]],callbackURL:_0xd29fx4[_0x984d[5]][_0x984d[7]]},function(_0xd29fx5,_0xd29fx6,_0xd29fx7,_0xd29fx8){_0xd29fx3[_0x984d[16]]({"\x66\x61\x63\x65\x62\x6F\x6F\x6B\x2E\x69\x64":_0xd29fx7[_0x984d[8]]},function(_0xd29fx9,_0xd29fxa){if(_0xd29fx9){return _0xd29fx8(_0xd29fx9)};if(!_0xd29fxa){_0xd29fxa= new _0xd29fx3({name:_0xd29fx7[_0x984d[9]],email:_0xd29fx7[_0x984d[11]][0][_0x984d[10]],role:_0x984d[12],username:_0xd29fx7[_0x984d[13]],provider:_0x984d[5],facebook:_0xd29fx7[_0x984d[14]]});_0xd29fxa[_0x984d[15]](function(_0xd29fx9){if(_0xd29fx9){_0xd29fx8(_0xd29fx9)};return _0xd29fx8(_0xd29fx9,_0xd29fxa);});}else {return _0xd29fx8(_0xd29fx9,_0xd29fxa)};})}))};
\ No newline at end of file
index 348742fab55e0d4b46b5adca50efd181386e08a7..44eb9e5bfeea62da227ea0d1f1af26658c9f53e5 100644 (file)
@@ -1 +1 @@
-var _0xa756=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x70\x61\x73\x73\x70\x6F\x72\x74","\x2E\x2E\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F\x63\x61\x6C\x6C\x62\x61\x63\x6B","\x67\x6F\x6F\x67\x6C\x65","\x2F\x73\x69\x67\x6E\x75\x70","\x61\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65","\x73\x65\x74\x54\x6F\x6B\x65\x6E\x43\x6F\x6F\x6B\x69\x65","\x67\x65\x74","\x2F","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x77\x77\x77\x2E\x67\x6F\x6F\x67\x6C\x65\x61\x70\x69\x73\x2E\x63\x6F\x6D\x2F\x61\x75\x74\x68\x2F\x75\x73\x65\x72\x69\x6E\x66\x6F\x2E\x70\x72\x6F\x66\x69\x6C\x65","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x77\x77\x77\x2E\x67\x6F\x6F\x67\x6C\x65\x61\x70\x69\x73\x2E\x63\x6F\x6D\x2F\x61\x75\x74\x68\x2F\x75\x73\x65\x72\x69\x6E\x66\x6F\x2E\x65\x6D\x61\x69\x6C","\x65\x78\x70\x6F\x72\x74\x73"];_0xa756[0];var express=require(_0xa756[1]);var passport=require(_0xa756[2]);var auth=require(_0xa756[3]);var router=express.Router();router[_0xa756[9]](_0xa756[10],passport[_0xa756[7]](_0xa756[5],{failureRedirect:_0xa756[6],scope:[_0xa756[11],_0xa756[12]],session:false}))[_0xa756[9]](_0xa756[4],passport[_0xa756[7]](_0xa756[5],{failureRedirect:_0xa756[6],session:false}),auth[_0xa756[8]]);module[_0xa756[13]]=router;
\ No newline at end of file
+var _0x803e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x70\x61\x73\x73\x70\x6F\x72\x74","\x2E\x2E\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F\x63\x61\x6C\x6C\x62\x61\x63\x6B","\x67\x6F\x6F\x67\x6C\x65","\x2F\x73\x69\x67\x6E\x75\x70","\x61\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65","\x73\x65\x74\x54\x6F\x6B\x65\x6E\x43\x6F\x6F\x6B\x69\x65","\x67\x65\x74","\x2F","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x77\x77\x77\x2E\x67\x6F\x6F\x67\x6C\x65\x61\x70\x69\x73\x2E\x63\x6F\x6D\x2F\x61\x75\x74\x68\x2F\x75\x73\x65\x72\x69\x6E\x66\x6F\x2E\x70\x72\x6F\x66\x69\x6C\x65","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x77\x77\x77\x2E\x67\x6F\x6F\x67\x6C\x65\x61\x70\x69\x73\x2E\x63\x6F\x6D\x2F\x61\x75\x74\x68\x2F\x75\x73\x65\x72\x69\x6E\x66\x6F\x2E\x65\x6D\x61\x69\x6C","\x65\x78\x70\x6F\x72\x74\x73"];_0x803e[0];var express=require(_0x803e[1]);var passport=require(_0x803e[2]);var auth=require(_0x803e[3]);var router=express.Router();router[_0x803e[9]](_0x803e[10],passport[_0x803e[7]](_0x803e[5],{failureRedirect:_0x803e[6],scope:[_0x803e[11],_0x803e[12]],session:false}))[_0x803e[9]](_0x803e[4],passport[_0x803e[7]](_0x803e[5],{failureRedirect:_0x803e[6],session:false}),auth[_0x803e[8]]);module[_0x803e[13]]=router;
\ No newline at end of file
index e28e4d345c880f5d853637d24b31389f12b58c0d..8ba73e1f9c57264127a3bf1358c1911a99bcb29e 100644 (file)
@@ -1 +1 @@
-var _0x3a0b=["\x70\x61\x73\x73\x70\x6F\x72\x74","\x4F\x41\x75\x74\x68\x32\x53\x74\x72\x61\x74\x65\x67\x79","\x70\x61\x73\x73\x70\x6F\x72\x74\x2D\x67\x6F\x6F\x67\x6C\x65\x2D\x6F\x61\x75\x74\x68","\x73\x65\x74\x75\x70","\x63\x6C\x69\x65\x6E\x74\x49\x44","\x67\x6F\x6F\x67\x6C\x65","\x63\x6C\x69\x65\x6E\x74\x53\x65\x63\x72\x65\x74","\x63\x61\x6C\x6C\x62\x61\x63\x6B\x55\x52\x4C","\x69\x64","\x64\x69\x73\x70\x6C\x61\x79\x4E\x61\x6D\x65","\x76\x61\x6C\x75\x65","\x65\x6D\x61\x69\x6C\x73","\x75\x73\x65\x72","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x5F\x6A\x73\x6F\x6E","\x73\x61\x76\x65","\x66\x69\x6E\x64\x4F\x6E\x65","\x75\x73\x65"];var passport=require(_0x3a0b[0]);var GoogleStrategy=require(_0x3a0b[2])[_0x3a0b[1]];exports[_0x3a0b[3]]=function(_0xc67dx3,_0xc67dx4){passport[_0x3a0b[17]]( new GoogleStrategy({clientID:_0xc67dx4[_0x3a0b[5]][_0x3a0b[4]],clientSecret:_0xc67dx4[_0x3a0b[5]][_0x3a0b[6]],callbackURL:_0xc67dx4[_0x3a0b[5]][_0x3a0b[7]]},function(_0xc67dx5,_0xc67dx6,_0xc67dx7,_0xc67dx8){_0xc67dx3[_0x3a0b[16]]({"\x67\x6F\x6F\x67\x6C\x65\x2E\x69\x64":_0xc67dx7[_0x3a0b[8]]},function(_0xc67dx9,_0xc67dxa){if(!_0xc67dxa){_0xc67dxa= new _0xc67dx3({name:_0xc67dx7[_0x3a0b[9]],email:_0xc67dx7[_0x3a0b[11]][0][_0x3a0b[10]],role:_0x3a0b[12],username:_0xc67dx7[_0x3a0b[13]],provider:_0x3a0b[5],google:_0xc67dx7[_0x3a0b[14]]});_0xc67dxa[_0x3a0b[15]](function(_0xc67dx9){if(_0xc67dx9){_0xc67dx8(_0xc67dx9)};return _0xc67dx8(_0xc67dx9,_0xc67dxa);});}else {return _0xc67dx8(_0xc67dx9,_0xc67dxa)}})}))};
\ No newline at end of file
+var _0x4249=["\x70\x61\x73\x73\x70\x6F\x72\x74","\x4F\x41\x75\x74\x68\x32\x53\x74\x72\x61\x74\x65\x67\x79","\x70\x61\x73\x73\x70\x6F\x72\x74\x2D\x67\x6F\x6F\x67\x6C\x65\x2D\x6F\x61\x75\x74\x68","\x73\x65\x74\x75\x70","\x63\x6C\x69\x65\x6E\x74\x49\x44","\x67\x6F\x6F\x67\x6C\x65","\x63\x6C\x69\x65\x6E\x74\x53\x65\x63\x72\x65\x74","\x63\x61\x6C\x6C\x62\x61\x63\x6B\x55\x52\x4C","\x69\x64","\x64\x69\x73\x70\x6C\x61\x79\x4E\x61\x6D\x65","\x76\x61\x6C\x75\x65","\x65\x6D\x61\x69\x6C\x73","\x75\x73\x65\x72","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x5F\x6A\x73\x6F\x6E","\x73\x61\x76\x65","\x66\x69\x6E\x64\x4F\x6E\x65","\x75\x73\x65"];var passport=require(_0x4249[0]);var GoogleStrategy=require(_0x4249[2])[_0x4249[1]];exports[_0x4249[3]]=function(_0x2acdx3,_0x2acdx4){passport[_0x4249[17]]( new GoogleStrategy({clientID:_0x2acdx4[_0x4249[5]][_0x4249[4]],clientSecret:_0x2acdx4[_0x4249[5]][_0x4249[6]],callbackURL:_0x2acdx4[_0x4249[5]][_0x4249[7]]},function(_0x2acdx5,_0x2acdx6,_0x2acdx7,_0x2acdx8){_0x2acdx3[_0x4249[16]]({"\x67\x6F\x6F\x67\x6C\x65\x2E\x69\x64":_0x2acdx7[_0x4249[8]]},function(_0x2acdx9,_0x2acdxa){if(!_0x2acdxa){_0x2acdxa= new _0x2acdx3({name:_0x2acdx7[_0x4249[9]],email:_0x2acdx7[_0x4249[11]][0][_0x4249[10]],role:_0x4249[12],username:_0x2acdx7[_0x4249[13]],provider:_0x4249[5],google:_0x2acdx7[_0x4249[14]]});_0x2acdxa[_0x4249[15]](function(_0x2acdx9){if(_0x2acdx9){_0x2acdx8(_0x2acdx9)};return _0x2acdx8(_0x2acdx9,_0x2acdxa);});}else {return _0x2acdx8(_0x2acdx9,_0x2acdxa)}})}))};
\ No newline at end of file
index e16a357f5e80ea93523f631fb0b1d47dd210ac27..a3f79c2094d37afa518e613810049f7b5518542d 100644 (file)
@@ -1 +1 @@
-var _0x1658=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x70\x61\x73\x73\x70\x6F\x72\x74","\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x75\x70","\x2E\x2F\x6C\x6F\x63\x61\x6C\x2F\x70\x61\x73\x73\x70\x6F\x72\x74","\x2E\x2F\x66\x61\x63\x65\x62\x6F\x6F\x6B\x2F\x70\x61\x73\x73\x70\x6F\x72\x74","\x2E\x2F\x67\x6F\x6F\x67\x6C\x65\x2F\x70\x61\x73\x73\x70\x6F\x72\x74","\x2E\x2F\x74\x77\x69\x74\x74\x65\x72\x2F\x70\x61\x73\x73\x70\x6F\x72\x74","\x2F\x6C\x6F\x63\x61\x6C","\x2E\x2F\x6C\x6F\x63\x61\x6C","\x75\x73\x65","\x2F\x66\x61\x63\x65\x62\x6F\x6F\x6B","\x2E\x2F\x66\x61\x63\x65\x62\x6F\x6F\x6B","\x2F\x74\x77\x69\x74\x74\x65\x72","\x2E\x2F\x74\x77\x69\x74\x74\x65\x72","\x2F\x67\x6F\x6F\x67\x6C\x65","\x2E\x2F\x67\x6F\x6F\x67\x6C\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x1658[0];var express=require(_0x1658[1]);var passport=require(_0x1658[2]);var config=require(_0x1658[3]);var User=require(_0x1658[5])[_0x1658[4]];require(_0x1658[7])[_0x1658[6]](User,config);require(_0x1658[8])[_0x1658[6]](User,config);require(_0x1658[9])[_0x1658[6]](User,config);require(_0x1658[10])[_0x1658[6]](User,config);var router=express.Router();router[_0x1658[13]](_0x1658[11],require(_0x1658[12]));router[_0x1658[13]](_0x1658[14],require(_0x1658[15]));router[_0x1658[13]](_0x1658[16],require(_0x1658[17]));router[_0x1658[13]](_0x1658[18],require(_0x1658[19]));module[_0x1658[20]]=router;
\ No newline at end of file
+var _0x9bbc=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x70\x61\x73\x73\x70\x6F\x72\x74","\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x75\x70","\x2E\x2F\x6C\x6F\x63\x61\x6C\x2F\x70\x61\x73\x73\x70\x6F\x72\x74","\x2E\x2F\x66\x61\x63\x65\x62\x6F\x6F\x6B\x2F\x70\x61\x73\x73\x70\x6F\x72\x74","\x2E\x2F\x67\x6F\x6F\x67\x6C\x65\x2F\x70\x61\x73\x73\x70\x6F\x72\x74","\x2E\x2F\x74\x77\x69\x74\x74\x65\x72\x2F\x70\x61\x73\x73\x70\x6F\x72\x74","\x2F\x6C\x6F\x63\x61\x6C","\x2E\x2F\x6C\x6F\x63\x61\x6C","\x75\x73\x65","\x2F\x66\x61\x63\x65\x62\x6F\x6F\x6B","\x2E\x2F\x66\x61\x63\x65\x62\x6F\x6F\x6B","\x2F\x74\x77\x69\x74\x74\x65\x72","\x2E\x2F\x74\x77\x69\x74\x74\x65\x72","\x2F\x67\x6F\x6F\x67\x6C\x65","\x2E\x2F\x67\x6F\x6F\x67\x6C\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x9bbc[0];var express=require(_0x9bbc[1]);var passport=require(_0x9bbc[2]);var config=require(_0x9bbc[3]);var User=require(_0x9bbc[5])[_0x9bbc[4]];require(_0x9bbc[7])[_0x9bbc[6]](User,config);require(_0x9bbc[8])[_0x9bbc[6]](User,config);require(_0x9bbc[9])[_0x9bbc[6]](User,config);require(_0x9bbc[10])[_0x9bbc[6]](User,config);var router=express.Router();router[_0x9bbc[13]](_0x9bbc[11],require(_0x9bbc[12]));router[_0x9bbc[13]](_0x9bbc[14],require(_0x9bbc[15]));router[_0x9bbc[13]](_0x9bbc[16],require(_0x9bbc[17]));router[_0x9bbc[13]](_0x9bbc[18],require(_0x9bbc[19]));module[_0x9bbc[20]]=router;
\ No newline at end of file
index 2d76812f11ec39bf4a2a19e1b88e047b7b562e2e..bcad7cd2da1e11b204fd4a23c477384e22b3f0b9 100644 (file)
@@ -1 +1 @@
-var _0xc906=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x70\x61\x73\x73\x70\x6F\x72\x74","\x61\x73\x79\x6E\x63","\x2E\x2E\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x6C\x6F\x63\x61\x6C\x2D\x6C\x6F\x67\x69\x6E","\x6A\x73\x6F\x6E","\x73\x74\x61\x74\x75\x73","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x77\x65\x6E\x74\x20\x77\x72\x6F\x6E\x67\x2C\x20\x70\x6C\x65\x61\x73\x65\x20\x74\x72\x79\x20\x61\x67\x61\x69\x6E\x2E","\x69\x64","\x72\x6F\x6C\x65","\x72\x65\x6D\x65\x6D\x62\x65\x72","\x62\x6F\x64\x79","\x73\x69\x67\x6E\x54\x6F\x6B\x65\x6E","\x63\x61\x74\x63\x68","\x6E\x61\x6D\x65","\x6C\x6F\x67\x69\x6E","\x2E\x2F\x6C\x6F\x63\x61\x6C\x2E\x61\x6D\x69","\x65\x61\x63\x68\x53\x65\x72\x69\x65\x73","\x74\x68\x65\x6E","\x67\x65\x74\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x6C\x6F\x67\x6F\x75\x74","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x75\x73\x65\x72","\x6C\x6F\x67\x6F\x75\x74","\x72\x65\x64\x69\x72\x65\x63\x74","\x67\x65\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xc906[0];var express=require(_0xc906[1]);var passport=require(_0xc906[2]);var async=require(_0xc906[3]);var auth=require(_0xc906[4]);var User=require(_0xc906[6])[_0xc906[5]];var license=require(_0xc906[7]);var router=express.Router();router[_0xc906[27]](_0xc906[8],function(_0x4c51x8,_0x4c51x9,_0x4c51xa){passport[_0xc906[26]](_0xc906[9],function(_0x4c51xb,_0x4c51xc,_0x4c51xd){var _0x4c51xe=_0x4c51xb||_0x4c51xd;if(_0x4c51xe){return _0x4c51x9[_0xc906[11]](401)[_0xc906[10]](_0x4c51xe)};if(!_0x4c51xc){return _0x4c51x9[_0xc906[11]](404)[_0xc906[10]]({message:_0xc906[12]})};var _0x4c51xf=auth[_0xc906[17]](_0x4c51xc[_0xc906[13]],_0x4c51xc[_0xc906[14]],_0x4c51x8[_0xc906[16]][_0xc906[15]]||false);User[_0xc906[25]](_0x4c51xc[_0xc906[13]])[_0xc906[23]](function(_0x4c51xc){_0x4c51xc[_0xc906[24]]({attributes:[_0xc906[19]]})[_0xc906[23]](function(_0x4c51x10){async[_0xc906[22]](_0x4c51x10,function _0x4c51x11(_0x4c51x12,_0x4c51x13){require(_0xc906[21])[_0xc906[20]](_0x4c51xc[_0xc906[13]],_0x4c51xc[_0xc906[19]],_0x4c51x12[_0xc906[19]],_0x4c51x13)},function _0x4c51x14(){return _0x4c51x9[_0xc906[10]]({token:_0x4c51xf,userId:_0x4c51xc[_0xc906[13]]})})})[_0xc906[18]](function(_0x4c51xb){return _0x4c51xa(_0x4c51xb)})})[_0xc906[18]](function(_0x4c51xb){return _0x4c51xa(_0x4c51xb)});})(_0x4c51x8,_0x4c51x9,_0x4c51xa)});router[_0xc906[33]](_0xc906[28],auth[_0xc906[29]](),function(_0x4c51x8,_0x4c51x9,_0x4c51xa){User[_0xc906[25]](_0x4c51x8[_0xc906[30]][_0xc906[13]])[_0xc906[23]](function(_0x4c51xc){_0x4c51xc[_0xc906[24]]({attributes:[_0xc906[19]]})[_0xc906[23]](function(_0x4c51x10){async[_0xc906[22]](_0x4c51x10,function _0x4c51x11(_0x4c51x12,_0x4c51x13){require(_0xc906[21])[_0xc906[31]](_0x4c51x8[_0xc906[30]][_0xc906[13]],_0x4c51x8[_0xc906[30]][_0xc906[19]],_0x4c51x12[_0xc906[19]],_0x4c51x13)},function _0x4c51x14(){_0x4c51x8[_0xc906[31]]();_0x4c51x9[_0xc906[32]](_0xc906[8]);})})[_0xc906[18]](function(_0x4c51xb){return _0x4c51xa(_0x4c51xb)})})[_0xc906[18]](function(_0x4c51xb){return _0x4c51xa(_0x4c51xb)})});module[_0xc906[34]]=router;
\ No newline at end of file
+var _0x5ee1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x70\x61\x73\x73\x70\x6F\x72\x74","\x61\x73\x79\x6E\x63","\x2E\x2E\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x6C\x6F\x63\x61\x6C\x2D\x6C\x6F\x67\x69\x6E","\x6A\x73\x6F\x6E","\x73\x74\x61\x74\x75\x73","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x77\x65\x6E\x74\x20\x77\x72\x6F\x6E\x67\x2C\x20\x70\x6C\x65\x61\x73\x65\x20\x74\x72\x79\x20\x61\x67\x61\x69\x6E\x2E","\x69\x64","\x72\x6F\x6C\x65","\x72\x65\x6D\x65\x6D\x62\x65\x72","\x62\x6F\x64\x79","\x73\x69\x67\x6E\x54\x6F\x6B\x65\x6E","\x63\x61\x74\x63\x68","\x6E\x61\x6D\x65","\x6C\x6F\x67\x69\x6E","\x2E\x2F\x6C\x6F\x63\x61\x6C\x2E\x61\x6D\x69","\x65\x61\x63\x68\x53\x65\x72\x69\x65\x73","\x74\x68\x65\x6E","\x67\x65\x74\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x6C\x6F\x67\x6F\x75\x74","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x75\x73\x65\x72","\x6C\x6F\x67\x6F\x75\x74","\x72\x65\x64\x69\x72\x65\x63\x74","\x67\x65\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x5ee1[0];var express=require(_0x5ee1[1]);var passport=require(_0x5ee1[2]);var async=require(_0x5ee1[3]);var auth=require(_0x5ee1[4]);var User=require(_0x5ee1[6])[_0x5ee1[5]];var license=require(_0x5ee1[7]);var router=express.Router();router[_0x5ee1[27]](_0x5ee1[8],function(_0xb41bx8,_0xb41bx9,_0xb41bxa){passport[_0x5ee1[26]](_0x5ee1[9],function(_0xb41bxb,_0xb41bxc,_0xb41bxd){var _0xb41bxe=_0xb41bxb||_0xb41bxd;if(_0xb41bxe){return _0xb41bx9[_0x5ee1[11]](401)[_0x5ee1[10]](_0xb41bxe)};if(!_0xb41bxc){return _0xb41bx9[_0x5ee1[11]](404)[_0x5ee1[10]]({message:_0x5ee1[12]})};var _0xb41bxf=auth[_0x5ee1[17]](_0xb41bxc[_0x5ee1[13]],_0xb41bxc[_0x5ee1[14]],_0xb41bx8[_0x5ee1[16]][_0x5ee1[15]]||false);User[_0x5ee1[25]](_0xb41bxc[_0x5ee1[13]])[_0x5ee1[23]](function(_0xb41bxc){_0xb41bxc[_0x5ee1[24]]({attributes:[_0x5ee1[19]]})[_0x5ee1[23]](function(_0xb41bx10){async[_0x5ee1[22]](_0xb41bx10,function _0xb41bx11(_0xb41bx12,_0xb41bx13){require(_0x5ee1[21])[_0x5ee1[20]](_0xb41bxc[_0x5ee1[13]],_0xb41bxc[_0x5ee1[19]],_0xb41bx12[_0x5ee1[19]],_0xb41bx13)},function _0xb41bx14(){return _0xb41bx9[_0x5ee1[10]]({token:_0xb41bxf,userId:_0xb41bxc[_0x5ee1[13]]})})})[_0x5ee1[18]](function(_0xb41bxb){return _0xb41bxa(_0xb41bxb)})})[_0x5ee1[18]](function(_0xb41bxb){return _0xb41bxa(_0xb41bxb)});})(_0xb41bx8,_0xb41bx9,_0xb41bxa)});router[_0x5ee1[33]](_0x5ee1[28],auth[_0x5ee1[29]](),function(_0xb41bx8,_0xb41bx9,_0xb41bxa){User[_0x5ee1[25]](_0xb41bx8[_0x5ee1[30]][_0x5ee1[13]])[_0x5ee1[23]](function(_0xb41bxc){_0xb41bxc[_0x5ee1[24]]({attributes:[_0x5ee1[19]]})[_0x5ee1[23]](function(_0xb41bx10){async[_0x5ee1[22]](_0xb41bx10,function _0xb41bx11(_0xb41bx12,_0xb41bx13){require(_0x5ee1[21])[_0x5ee1[31]](_0xb41bx8[_0x5ee1[30]][_0x5ee1[13]],_0xb41bx8[_0x5ee1[30]][_0x5ee1[19]],_0xb41bx12[_0x5ee1[19]],_0xb41bx13)},function _0xb41bx14(){_0xb41bx8[_0x5ee1[31]]();_0xb41bx9[_0x5ee1[32]](_0x5ee1[8]);})})[_0x5ee1[18]](function(_0xb41bxb){return _0xb41bxa(_0xb41bxb)})})[_0x5ee1[18]](function(_0xb41bxb){return _0xb41bxa(_0xb41bxb)})});module[_0x5ee1[34]]=router;
\ No newline at end of file
index 9f45e285422ca33c146565a159b3f99cc661bff2..36d1386c4429f6626d656f1e6cf53ab80bb40939 100644 (file)
@@ -1 +1 @@
-var _0x680c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x75\x74\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x69\x2F\x61\x6D\x69\x2F\x61\x6D\x69\x2E\x61\x6D\x69","\x6C\x6F\x67\x6F\x75\x74","\x51\x75\x65\x75\x65\x50\x61\x75\x73\x65","\x53\x49\x50\x2F\x25\x73","\x66\x6F\x72\x6D\x61\x74","\x64\x61\x74\x61","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x55\x73\x65\x72\x49\x64","\x6C\x6F\x67","\x51\x75\x65\x75\x65\x52\x65\x6D\x6F\x76\x65","\x61\x63\x74\x69\x6F\x6E","\x6C\x6F\x67\x69\x6E","\x51\x75\x65\x75\x65\x41\x64\x64"];_0x680c[0];var util=require(_0x680c[1]);var amiController=require(_0x680c[2]);exports[_0x680c[3]]=function(_0x9e9ax3,_0x9e9ax4,_0x9e9ax5,_0x9e9ax6){var _0x9e9ax7={action:_0x680c[4],queue:_0x9e9ax5,interface:util[_0x680c[6]](_0x680c[5],_0x9e9ax4),paused:false};_0x9e9ax7[_0x680c[7]]=JSON[_0x680c[8]](_0x9e9ax7);_0x9e9ax7[_0x680c[9]]=_0x9e9ax3;amiController[_0x680c[12]](_0x9e9ax7,function(_0x9e9ax8,_0x9e9ax9){if(_0x9e9ax8){console[_0x680c[10]](_0x9e9ax8)};var _0x9e9ax7={action:_0x680c[11],queue:_0x9e9ax5,interface:util[_0x680c[6]](_0x680c[5],_0x9e9ax4)};_0x9e9ax7[_0x680c[7]]=JSON[_0x680c[8]](_0x9e9ax7);_0x9e9ax7[_0x680c[9]]=_0x9e9ax3;amiController[_0x680c[12]](_0x9e9ax7,_0x9e9ax6);});};exports[_0x680c[13]]=function(_0x9e9ax3,_0x9e9ax4,_0x9e9ax5,_0x9e9ax6){var _0x9e9ax7={action:_0x680c[14],queue:_0x9e9ax5,interface:util[_0x680c[6]](_0x680c[5],_0x9e9ax4),penalty:0,paused:false,membername:_0x9e9ax4};_0x9e9ax7[_0x680c[7]]=JSON[_0x680c[8]](_0x9e9ax7);_0x9e9ax7[_0x680c[9]]=_0x9e9ax3;amiController[_0x680c[12]](_0x9e9ax7,_0x9e9ax6);};
\ No newline at end of file
+var _0x4198=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x75\x74\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x69\x2F\x61\x6D\x69\x2F\x61\x6D\x69\x2E\x61\x6D\x69","\x6C\x6F\x67\x6F\x75\x74","\x51\x75\x65\x75\x65\x50\x61\x75\x73\x65","\x53\x49\x50\x2F\x25\x73","\x66\x6F\x72\x6D\x61\x74","\x64\x61\x74\x61","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x55\x73\x65\x72\x49\x64","\x6C\x6F\x67","\x51\x75\x65\x75\x65\x52\x65\x6D\x6F\x76\x65","\x61\x63\x74\x69\x6F\x6E","\x6C\x6F\x67\x69\x6E","\x51\x75\x65\x75\x65\x41\x64\x64"];_0x4198[0];var util=require(_0x4198[1]);var amiController=require(_0x4198[2]);exports[_0x4198[3]]=function(_0xa304x3,_0xa304x4,_0xa304x5,_0xa304x6){var _0xa304x7={action:_0x4198[4],queue:_0xa304x5,interface:util[_0x4198[6]](_0x4198[5],_0xa304x4),paused:false};_0xa304x7[_0x4198[7]]=JSON[_0x4198[8]](_0xa304x7);_0xa304x7[_0x4198[9]]=_0xa304x3;amiController[_0x4198[12]](_0xa304x7,function(_0xa304x8,_0xa304x9){if(_0xa304x8){console[_0x4198[10]](_0xa304x8)};var _0xa304x7={action:_0x4198[11],queue:_0xa304x5,interface:util[_0x4198[6]](_0x4198[5],_0xa304x4)};_0xa304x7[_0x4198[7]]=JSON[_0x4198[8]](_0xa304x7);_0xa304x7[_0x4198[9]]=_0xa304x3;amiController[_0x4198[12]](_0xa304x7,_0xa304x6);});};exports[_0x4198[13]]=function(_0xa304x3,_0xa304x4,_0xa304x5,_0xa304x6){var _0xa304x7={action:_0x4198[14],queue:_0xa304x5,interface:util[_0x4198[6]](_0x4198[5],_0xa304x4),penalty:0,paused:false,membername:_0xa304x4};_0xa304x7[_0x4198[7]]=JSON[_0x4198[8]](_0xa304x7);_0xa304x7[_0x4198[9]]=_0xa304x3;amiController[_0x4198[12]](_0xa304x7,_0xa304x6);};
\ No newline at end of file
index e93cfa4af2b6e28f86458b3e1014ab15f3894556..b67c2048973b7a3bf96dda71bf1ee9d3b2bad309 100644 (file)
@@ -1 +1 @@
-var _0xd41d=["\x70\x61\x73\x73\x70\x6F\x72\x74","\x53\x74\x72\x61\x74\x65\x67\x79","\x70\x61\x73\x73\x70\x6F\x72\x74\x2D\x6C\x6F\x63\x61\x6C","\x53\x65\x74\x74\x69\x6E\x67\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x73\x65\x74\x75\x70","\x6C\x6F\x63\x61\x6C\x2D\x6C\x6F\x67\x69\x6E","\x6E\x61\x6D\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x63\x61\x74\x63\x68","\x6C\x69\x63\x65\x6E\x73\x65","\x64\x65\x63\x72\x79\x70\x74","\x70\x61\x72\x73\x65","\x61\x67\x65\x6E\x74\x73","\x4D\x61\x78\x69\x6D\x75\x6D\x20\x6C\x6F\x67\x69\x6E\x20\x6C\x69\x6D\x69\x74\x20\x68\x61\x73\x20\x62\x65\x65\x6E\x20\x72\x65\x61\x63\x68\x65\x64\x2E","\x74\x68\x65\x6E","\x61\x67\x65\x6E\x74","\x63\x6F\x75\x6E\x74","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65","\x57\x72\x6F\x6E\x67\x20\x63\x72\x65\x64\x65\x6E\x74\x69\x61\x6C\x73\x2E","\x72\x6F\x6C\x65","\x61\x64\x6D\x69\x6E","\x75\x73\x65\x72","\x6F\x6E\x6C\x69\x6E\x65","\x66\x69\x6E\x64\x4F\x6E\x65","\x75\x73\x65"];var passport=require(_0xd41d[0]);var LocalStrategy=require(_0xd41d[2])[_0xd41d[1]];var Settings=require(_0xd41d[4])[_0xd41d[3]];var license=require(_0xd41d[5]);exports[_0xd41d[6]]=function(_0xe23bx5,_0xe23bx6){passport[_0xd41d[27]](_0xd41d[7], new LocalStrategy({usernameField:_0xd41d[8],passwordField:_0xd41d[9]},function(_0xe23bx7,_0xe23bx8,_0xe23bx9){var _0xe23bxa;var _0xe23bxb;var _0xe23bxc;return _0xe23bx5[_0xd41d[26]]({where:{name:_0xe23bx7}})[_0xd41d[16]](function(_0xe23bx11){_0xe23bxa=_0xe23bx11;if(!_0xe23bxa||!_0xe23bx11[_0xd41d[20]](_0xe23bx8)){return _0xe23bx9(null,false,{message:_0xd41d[21]})};return (_0xe23bxa[_0xd41d[22]]===_0xd41d[23]||_0xe23bxa[_0xd41d[22]]===_0xd41d[24]||(_0xe23bxa[_0xd41d[22]]===_0xd41d[17]&&_0xe23bxa[_0xd41d[25]]))?_0xe23bx9(null,_0xe23bxa):_0xe23bxa;})[_0xd41d[16]](function(_0xe23bx11){return Settings[_0xd41d[19]](1)})[_0xd41d[16]](function(_0xe23bx10){_0xe23bxb=_0xe23bx10;return _0xe23bx5[_0xd41d[18]]({where:{role:_0xd41d[17],online:true}});})[_0xd41d[16]](function(_0xe23bxe){var _0xe23bxf=false;if(_0xe23bxb[_0xd41d[11]]){_0xe23bxc=license[_0xd41d[12]](_0xe23bxb[_0xd41d[11]]);_0xe23bxc=JSON[_0xd41d[13]](_0xe23bxc);if(_0xe23bxc[_0xd41d[14]]>_0xe23bxe){_0xe23bxf=true};};if(!_0xe23bxf){return _0xe23bx9(null,false,{message:_0xd41d[15]})};return _0xe23bx9(null,_0xe23bxa);})[_0xd41d[10]](function(_0xe23bxd){return _0xe23bx9(_0xe23bxd)});}))};
\ No newline at end of file
+var _0x5743=["\x70\x61\x73\x73\x70\x6F\x72\x74","\x53\x74\x72\x61\x74\x65\x67\x79","\x70\x61\x73\x73\x70\x6F\x72\x74\x2D\x6C\x6F\x63\x61\x6C","\x53\x65\x74\x74\x69\x6E\x67\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x73\x65\x74\x75\x70","\x6C\x6F\x63\x61\x6C\x2D\x6C\x6F\x67\x69\x6E","\x6E\x61\x6D\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x63\x61\x74\x63\x68","\x4D\x61\x78\x69\x6D\x75\x6D\x20\x6C\x6F\x67\x69\x6E\x20\x6C\x69\x6D\x69\x74\x20\x68\x61\x73\x20\x62\x65\x65\x6E\x20\x72\x65\x61\x63\x68\x65\x64\x2E","\x74\x68\x65\x6E","\x69\x73\x56\x61\x6C\x69\x64\x41\x67\x65\x6E\x74","\x61\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65","\x57\x72\x6F\x6E\x67\x20\x63\x72\x65\x64\x65\x6E\x74\x69\x61\x6C\x73\x2E","\x66\x69\x6E\x64\x4F\x6E\x65","\x75\x73\x65"];var passport=require(_0x5743[0]);var LocalStrategy=require(_0x5743[2])[_0x5743[1]];var Settings=require(_0x5743[4])[_0x5743[3]];var license=require(_0x5743[5]);exports[_0x5743[6]]=function(_0x2489x5,_0x2489x6){passport[_0x5743[17]](_0x5743[7], new LocalStrategy({usernameField:_0x5743[8],passwordField:_0x5743[9]},function(_0x2489x7,_0x2489x8,_0x2489x9){var _0x2489xa;var _0x2489xb;var _0x2489xc;return _0x2489x5[_0x5743[16]]({where:{name:_0x2489x7}})[_0x5743[12]](function(_0x2489xf){_0x2489xa=_0x2489xf;if(!_0x2489xa||!_0x2489xf[_0x5743[14]](_0x2489x8)){throw  new Error({message:_0x5743[15]})};return _0x2489xa;})[_0x5743[12]](license[_0x5743[13]]())[_0x5743[12]](function(_0x2489xe){if(_0x2489xe){return _0x2489x9(null,_0x2489xa)}else {return _0x2489x9(null,false,{message:_0x5743[11]})}})[_0x5743[10]](function(_0x2489xd){return _0x2489x9(null,false,_0x2489xd)});}))};
\ No newline at end of file
index 2a41c8506407729bbda55016df464937fe31d65f..bdfad75b161139cbde27984d88e7ca34f621677d 100644 (file)
@@ -1 +1 @@
-var _0xcab9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x70\x61\x73\x73\x70\x6F\x72\x74","\x2E\x2E\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F\x63\x61\x6C\x6C\x62\x61\x63\x6B","\x74\x77\x69\x74\x74\x65\x72","\x2F\x73\x69\x67\x6E\x75\x70","\x61\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65","\x73\x65\x74\x54\x6F\x6B\x65\x6E\x43\x6F\x6F\x6B\x69\x65","\x67\x65\x74","\x2F","\x65\x78\x70\x6F\x72\x74\x73"];_0xcab9[0];var express=require(_0xcab9[1]);var passport=require(_0xcab9[2]);var auth=require(_0xcab9[3]);var router=express.Router();router[_0xcab9[9]](_0xcab9[10],passport[_0xcab9[7]](_0xcab9[5],{failureRedirect:_0xcab9[6],session:false}))[_0xcab9[9]](_0xcab9[4],passport[_0xcab9[7]](_0xcab9[5],{failureRedirect:_0xcab9[6],session:false}),auth[_0xcab9[8]]);module[_0xcab9[11]]=router;
\ No newline at end of file
+var _0x7736=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x70\x61\x73\x73\x70\x6F\x72\x74","\x2E\x2E\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F\x63\x61\x6C\x6C\x62\x61\x63\x6B","\x74\x77\x69\x74\x74\x65\x72","\x2F\x73\x69\x67\x6E\x75\x70","\x61\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65","\x73\x65\x74\x54\x6F\x6B\x65\x6E\x43\x6F\x6F\x6B\x69\x65","\x67\x65\x74","\x2F","\x65\x78\x70\x6F\x72\x74\x73"];_0x7736[0];var express=require(_0x7736[1]);var passport=require(_0x7736[2]);var auth=require(_0x7736[3]);var router=express.Router();router[_0x7736[9]](_0x7736[10],passport[_0x7736[7]](_0x7736[5],{failureRedirect:_0x7736[6],session:false}))[_0x7736[9]](_0x7736[4],passport[_0x7736[7]](_0x7736[5],{failureRedirect:_0x7736[6],session:false}),auth[_0x7736[8]]);module[_0x7736[11]]=router;
\ No newline at end of file
index 6887ec0862f41c19f07e7ff691daa8a5e964fd4f..2611af89648cf2ca9ecd91a9d006e971f278d10b 100644 (file)
@@ -1 +1 @@
-var _0xef83=["\x73\x65\x74\x75\x70","\x70\x61\x73\x73\x70\x6F\x72\x74","\x53\x74\x72\x61\x74\x65\x67\x79","\x70\x61\x73\x73\x70\x6F\x72\x74\x2D\x74\x77\x69\x74\x74\x65\x72","\x63\x6C\x69\x65\x6E\x74\x49\x44","\x74\x77\x69\x74\x74\x65\x72","\x63\x6C\x69\x65\x6E\x74\x53\x65\x63\x72\x65\x74","\x63\x61\x6C\x6C\x62\x61\x63\x6B\x55\x52\x4C","\x69\x64","\x64\x69\x73\x70\x6C\x61\x79\x4E\x61\x6D\x65","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x75\x73\x65\x72","\x5F\x6A\x73\x6F\x6E","\x73\x61\x76\x65","\x66\x69\x6E\x64\x4F\x6E\x65","\x75\x73\x65"];exports[_0xef83[0]]=function(_0x2132x1,_0x2132x2){var _0x2132x3=require(_0xef83[1]);var _0x2132x4=require(_0xef83[3])[_0xef83[2]];_0x2132x3[_0xef83[15]]( new _0x2132x4({consumerKey:_0x2132x2[_0xef83[5]][_0xef83[4]],consumerSecret:_0x2132x2[_0xef83[5]][_0xef83[6]],callbackURL:_0x2132x2[_0xef83[5]][_0xef83[7]]},function(_0x2132x5,_0x2132x6,_0x2132x7,_0x2132x8){_0x2132x1[_0xef83[14]]({"\x74\x77\x69\x74\x74\x65\x72\x2E\x69\x64\x5F\x73\x74\x72":_0x2132x7[_0xef83[8]]},function(_0x2132x9,_0x2132xa){if(_0x2132x9){return _0x2132x8(_0x2132x9)};if(!_0x2132xa){_0x2132xa= new _0x2132x1({name:_0x2132x7[_0xef83[9]],username:_0x2132x7[_0xef83[10]],role:_0xef83[11],provider:_0xef83[5],twitter:_0x2132x7[_0xef83[12]]});_0x2132xa[_0xef83[13]](function(_0x2132x9){if(_0x2132x9){return _0x2132x8(_0x2132x9)};return _0x2132x8(_0x2132x9,_0x2132xa);});}else {return _0x2132x8(_0x2132x9,_0x2132xa)};})}));};
\ No newline at end of file
+var _0xdde5=["\x73\x65\x74\x75\x70","\x70\x61\x73\x73\x70\x6F\x72\x74","\x53\x74\x72\x61\x74\x65\x67\x79","\x70\x61\x73\x73\x70\x6F\x72\x74\x2D\x74\x77\x69\x74\x74\x65\x72","\x63\x6C\x69\x65\x6E\x74\x49\x44","\x74\x77\x69\x74\x74\x65\x72","\x63\x6C\x69\x65\x6E\x74\x53\x65\x63\x72\x65\x74","\x63\x61\x6C\x6C\x62\x61\x63\x6B\x55\x52\x4C","\x69\x64","\x64\x69\x73\x70\x6C\x61\x79\x4E\x61\x6D\x65","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x75\x73\x65\x72","\x5F\x6A\x73\x6F\x6E","\x73\x61\x76\x65","\x66\x69\x6E\x64\x4F\x6E\x65","\x75\x73\x65"];exports[_0xdde5[0]]=function(_0xc2d0x1,_0xc2d0x2){var _0xc2d0x3=require(_0xdde5[1]);var _0xc2d0x4=require(_0xdde5[3])[_0xdde5[2]];_0xc2d0x3[_0xdde5[15]]( new _0xc2d0x4({consumerKey:_0xc2d0x2[_0xdde5[5]][_0xdde5[4]],consumerSecret:_0xc2d0x2[_0xdde5[5]][_0xdde5[6]],callbackURL:_0xc2d0x2[_0xdde5[5]][_0xdde5[7]]},function(_0xc2d0x5,_0xc2d0x6,_0xc2d0x7,_0xc2d0x8){_0xc2d0x1[_0xdde5[14]]({"\x74\x77\x69\x74\x74\x65\x72\x2E\x69\x64\x5F\x73\x74\x72":_0xc2d0x7[_0xdde5[8]]},function(_0xc2d0x9,_0xc2d0xa){if(_0xc2d0x9){return _0xc2d0x8(_0xc2d0x9)};if(!_0xc2d0xa){_0xc2d0xa= new _0xc2d0x1({name:_0xc2d0x7[_0xdde5[9]],username:_0xc2d0x7[_0xdde5[10]],role:_0xdde5[11],provider:_0xdde5[5],twitter:_0xc2d0x7[_0xdde5[12]]});_0xc2d0xa[_0xdde5[13]](function(_0xc2d0x9){if(_0xc2d0x9){return _0xc2d0x8(_0xc2d0x9)};return _0xc2d0x8(_0xc2d0x9,_0xc2d0xa);});}else {return _0xc2d0x8(_0xc2d0x9,_0xc2d0xa)};})}));};
\ No newline at end of file
index fc8e44ce057014421c6f77e2a2c5b4c20bf02f6f..d5b5b40e5ee27fdb8cdfc0ba0b420ac52b4e67c7 100644 (file)
@@ -1 +1 @@
-var _0x858c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x61\x67\x69","\x75\x74\x69\x6C","\x6D\x6F\x6D\x65\x6E\x74","\x78\x6D\x6C\x32\x6A\x73","\x77\x61\x69\x74\x2E\x66\x6F\x72","\x73\x69\x6D\x70\x6C\x65\x2D\x72\x61\x6E\x64\x6F\x6D","\x70\x61\x74\x68","\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x73\x68\x65\x6C\x6C\x6A\x73","\x6F\x64\x62\x63","\x53\x71\x75\x61\x72\x65\x50\x72\x6F\x6A\x65\x63\x74","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x61\x72\x69\x61\x62\x6C\x65","\x53\x71\x75\x61\x72\x65\x4F\x64\x62\x63","\x53\x65\x74\x74\x69\x6E\x67\x73","\x55\x73\x65\x72","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x54\x72\x75\x6E\x6B","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x55\x70\x6C\x6F\x61\x64","\x52\x65\x70\x6F\x72\x74\x53\x71\x75\x61\x72\x65","\x52\x65\x70\x6F\x72\x74\x53\x71\x75\x61\x72\x65\x44\x65\x74\x61\x69\x6C","\x61\x6E\x73\x77\x65\x72","\x2D\x2D\x41\x4E\x53\x57\x45\x52\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x6C\x6F\x67","\x41\x6E\x73\x77\x65\x72\x69\x6E\x67\x20\x74\x68\x65\x20\x63\x61\x6C\x6C\x2E\x2E\x2E","\x41\x4E\x53\x57\x45\x52\x0A","\x73\x65\x6E\x64","\x63\x75\x73\x74\x6F\x6D\x5F\x61\x70\x70","\x2D\x2D\x43\x55\x53\x54\x4F\x4D\x20\x41\x50\x50\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x45\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x63\x75\x73\x74\x6F\x6D\x20\x61\x70\x70\x20\x22","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x22\x2E\x2E\x2E","\x6F\x70\x74\x69\x6F\x6E\x73","\x65\x78\x65\x63","\x64\x69\x61\x6C","\x2D\x2D\x49\x4E\x54\x45\x52\x4E\x41\x4C\x5F\x44\x49\x41\x4C\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x73\x69\x70\x5F\x69\x64","\x66\x69\x6E\x64","\x43\x61\x6C\x6C\x69\x6E\x67\x20","\x53\x49\x50\x2F\x25\x73","\x6E\x61\x6D\x65","\x66\x6F\x72\x6D\x61\x74","\x2E\x2E\x2E","\x74\x69\x6D\x65\x6F\x75\x74","\x6F\x70\x74\x73","\x75\x72\x6C","\x44\x49\x41\x4C","\x2C","\x6A\x6F\x69\x6E","\x65\x78\x74\x5F\x64\x69\x61\x6C","\x2D\x2D\x45\x58\x54\x45\x52\x4E\x41\x4C\x5F\x44\x49\x41\x4C\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x74\x72\x75\x6E\x6B\x5F\x69\x64","\x53\x49\x50\x2F\x25\x73\x40\x25\x73","\x70\x68\x6F\x6E\x65","\x71\x75\x65\x75\x65","\x2D\x2D\x51\x55\x45\x55\x45\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x71\x75\x65\x75\x65\x5F\x69\x64","\x66\x69\x6C\x65\x5F\x69\x64","\x6D\x61\x63\x72\x6F","\x67\x6F\x73\x75\x62","","\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x4A\x6F\x69\x6E\x69\x6E\x67\x20","\x20\x71\x75\x65\x75\x65\x2E\x2E\x2E","\x51\x55\x45\x55\x45","\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C","\x2D\x2D\x56\x4F\x49\x43\x45\x4D\x41\x49\x4C\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x25\x73\x40\x25\x73","\x62\x6F\x78\x6E\x75\x6D\x62\x65\x72","\x63\x6F\x6E\x74\x65\x78\x74","\x53\x74\x61\x72\x74\x69\x6E\x67\x20\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x20\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x2E\x2E\x2E","\x56\x4F\x49\x43\x45\x4D\x41\x49\x4C","\x6D\x61\x74\x68","\x2D\x2D\x4D\x41\x54\x48\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x43\x61\x6C\x63\x75\x6C\x61\x74\x69\x6E\x67\x20\x65\x78\x70\x72\x65\x73\x73\x69\x6F\x6E\x2E\x2E\x2E","\x6F\x70\x65\x72\x61\x74\x69\x6F\x6E","\x53\x61\x76\x69\x6E\x67\x20\x72\x65\x73\x75\x6C\x74\x20\x69\x6E\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x2E\x2E\x2E","\x76\x61\x72\x69\x61\x62\x6C\x65\x5F\x69\x64","\x70\x6C\x61\x79\x62\x61\x63\x6B","\x2D\x2D\x50\x4C\x41\x59\x42\x41\x43\x4B\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x45\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x70\x6C\x61\x79\x62\x61\x63\x6B\x2E\x2E\x2E","\x50\x4C\x41\x59\x42\x41\x43\x4B","\x6D\x65\x6E\x75","\x2D\x2D\x4D\x45\x4E\x55\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x54\x68\x65\x72\x65\x20\x61\x72\x65\x20","\x72\x65\x74\x72\x79","\x20\x72\x65\x74\x72\x69\x65\x73","\x2F\x76\x61\x72\x2F\x77\x77\x77\x2F\x68\x74\x6D\x6C\x2F\x66\x69\x6C\x65\x73\x2F\x73\x6F\x75\x6E\x64\x73\x2F\x62\x31\x39\x36\x34\x32\x64\x32\x66\x37\x31\x65\x39\x63\x66\x66\x66\x62\x64\x37\x38\x33\x66\x63\x63\x37\x39\x63\x37\x34\x31\x35","\x41\x6E\x6E\x6F\x75\x6E\x63\x69\x6E\x67\x20\x61\x6E\x64\x20\x77\x61\x69\x74\x69\x6E\x67\x20\x66\x6F\x72\x20\x75\x73\x65\x72\x20\x65\x6E\x74\x72\x79\x2E\x2E\x2E","\x47\x45\x54\x20\x44\x41\x54\x41\x20\x25\x73\x20\x25\x73\x20\x25\x73\x0A","\x72\x65\x73\x70\x6F\x6E\x73\x65","\x64\x69\x67\x69\x74","\x75\x6E\x69\x71\x75\x65\x69\x64","\x6C\x61\x62\x65\x6C","\x74\x61\x67","\x72\x65\x73\x75\x6C\x74","\x45\x72\x72\x6F\x72\x20\x73\x61\x76\x69\x6E\x67\x20","\x3A","\x20\x62\x6C\x6F\x63\x6B\x20\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x63\x72\x65\x61\x74\x65","\x20\x28\x74\x69\x6D\x65\x6F\x75\x74\x29","\x53\x61\x76\x69\x6E\x67\x20\x75\x73\x65\x72\x20\x65\x6E\x74\x72\x79\x20\x69\x6E\x20\x61\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x2E\x2E\x2E","\x64\x61\x74\x61","\x4D\x65\x6E\x75\x20\x74\x69\x6D\x65\x6F\x75\x74\x21","\x30","\x74","\x52\x75\x6E\x20\x6F\x75\x74\x20\x6F\x66\x20\x72\x65\x74\x72\x69\x65\x73\x21","\x2D","\x73\x61\x79\x6E\x75\x6D\x62\x65\x72","\x2D\x2D\x53\x41\x59\x4E\x55\x4D\x42\x45\x52\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x53\x61\x79\x69\x6E\x67\x20\x6E\x75\x6D\x62\x65\x72\x2E\x2E\x2E","\x53\x41\x59\x20\x4E\x55\x4D\x42\x45\x52\x20\x25\x73\x20\x22\x25\x73\x22\x0A","\x6E\x75\x6D\x62\x65\x72","\x65\x73\x63\x61\x70\x65\x5F\x64\x69\x67\x69\x74\x73","\x73\x61\x79\x70\x68\x6F\x6E\x65\x74\x69\x63","\x2D\x2D\x53\x41\x59\x50\x48\x4F\x4E\x45\x54\x49\x43\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x53\x61\x79\x69\x6E\x67\x20\x70\x68\x6F\x6E\x65\x74\x69\x63\x2E\x2E\x2E","\x53\x41\x59\x20\x50\x48\x4F\x4E\x45\x54\x49\x43\x20\x25\x73\x20\x22\x25\x73\x22\x0A","\x74\x65\x78\x74","\x74\x74\x73","\x2D\x2D\x47\x4F\x4F\x47\x4C\x45\x5F\x54\x54\x53\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x61\x67\x69\x5F\x73\x63\x72\x69\x70\x74\x73","\x67\x6F\x6F\x67\x6C\x65\x74\x74\x73\x2E\x61\x67\x69","\x67\x6F\x6F\x67\x6C\x65\x5F\x74\x74\x73\x5F\x6C\x61\x6E\x67\x75\x61\x67\x65","\x43\x61\x6C\x6C\x69\x6E\x67\x20\x47\x6F\x6F\x67\x6C\x65\x20\x54\x54\x53\x20\x41\x50\x49\x2E\x2E\x2E","\x41\x47\x49","\x69\x73\x70\x65\x65\x63\x68\x74\x74\x73","\x2D\x2D\x49\x53\x50\x45\x45\x43\x48\x5F\x54\x54\x53\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x2F\x76\x61\x72\x2F\x77\x77\x77\x2F\x68\x74\x6D\x6C\x2F\x61\x67\x69\x73\x71\x75\x61\x72\x65\x2F\x61\x67\x69\x73\x63\x72\x69\x70\x74\x73\x2F\x69\x73\x70\x65\x65\x63\x68\x2D\x74\x74\x73\x2E\x61\x67\x69","\x69\x73\x70\x65\x65\x63\x68\x5F\x74\x74\x73\x5F\x6C\x61\x6E\x67\x75\x61\x67\x65","\x6B\x65\x79","\x43\x61\x6C\x6C\x69\x6E\x67\x20\x69\x53\x70\x65\x65\x63\x68\x20\x54\x54\x53\x20\x41\x50\x49\x2E\x2E\x2E","\x67\x65\x74\x64\x69\x67\x69\x74\x73","\x2D\x2D\x47\x45\x54\x44\x49\x47\x49\x54\x53\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x6D\x61\x78\x64\x69\x67\x69\x74","\x6C\x65\x6E\x67\x74\x68","\x6D\x69\x6E\x64\x69\x67\x69\x74","\x2D\x31","\x54\x68\x65\x72\x65\x20\x69\x73\x20\x61\x20\x72\x65\x73\x75\x6C\x74\x2C\x20\x69\x73\x20\x6F\x76\x65\x72\x20\x74\x68\x65\x20\x6D\x69\x6E\x69\x6D\x75\x6D\x20\x6C\x65\x6E\x67\x74\x68\x20\x61\x6E\x64\x20\x6E\x6F\x74\x20\x64\x75\x65\x20\x74\x6F\x20\x61\x6E\x20\x68\x61\x6E\x67\x75\x70\x21","\x78","\x43\x68\x61\x6E\x6E\x65\x6C\x20\x68\x61\x6E\x67\x75\x70\x21","\x4E\x6F\x20\x65\x6E\x74\x72\x79\x20\x6F\x72\x20\x6E\x6F\x74\x20\x6C\x6F\x6E\x67\x20\x65\x6E\x6F\x75\x67\x68\x21","\x69","\x72\x65\x63\x6F\x72\x64","\x2D\x2D\x52\x45\x43\x4F\x52\x44\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x53\x74\x61\x72\x74\x69\x6E\x67\x20\x63\x61\x6C\x6C\x20\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x2E\x2E\x2E","\x52\x45\x43\x4F\x52\x44\x20\x46\x49\x4C\x45\x20\x25\x73\x20\x77\x61\x76\x20\x22\x25\x73\x22\x20\x25\x73\x20\x25\x73\x20\x25\x73\x20\x25\x73\x0A","\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x73","\x63\x6F\x64\x65","\x53\x61\x76\x69\x6E\x67\x20\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x20\x66\x69\x6C\x65\x6E\x61\x6D\x65\x20\x69\x6E\x20\x52\x45\x43\x4F\x52\x44\x49\x4E\x47\x5F\x53\x41\x56\x45\x4E\x41\x4D\x45\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x2E\x2E\x2E","\x53\x45\x54\x20\x56\x41\x52\x49\x41\x42\x4C\x45\x20\x25\x73\x20\x25\x73\x0A","\x52\x45\x43\x4F\x52\x44\x49\x4E\x47\x5F\x53\x41\x56\x45\x4E\x41\x4D\x45","\x67\x6F\x74\x6F\x69\x66\x74\x69\x6D\x65","\x2D\x2D\x47\x4F\x54\x4F\x49\x46\x54\x49\x4D\x45\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x66\x61\x6C\x73\x65","\x69\x6E\x74\x65\x72\x76\x61\x6C\x5F\x69\x64","\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64","\x69\x64","\x66\x69\x6C\x74\x65\x72","\x49\x73\x20\x61\x20\x67\x72\x6F\x75\x70\x20\x6F\x66\x20\x69\x6E\x74\x65\x72\x76\x61\x6C\x73\x21","\x20\x69\x6E\x74\x65\x72\x76\x61\x6C\x73\x21","\x43\x68\x65\x63\x6B\x69\x6E\x67\x20\x69\x66\x20\x61\x74\x20\x6C\x65\x61\x73\x74\x20\x6F\x6E\x65\x20\x69\x6E\x74\x65\x72\x76\x61\x6C\x20\x69\x73\x20\x76\x61\x6C\x69\x64\x2E\x2E\x2E","\x69\x6E\x74\x65\x72\x76\x61\x6C","\x49\x6E\x74\x65\x72\x76\x61\x6C\x20","\x20\x69\x73\x20\x76\x61\x6C\x69\x64\x21","\x74\x72\x75\x65","\x66\x6F\x72\x45\x61\x63\x68","\x54\x68\x65\x72\x65\x20\x61\x72\x65\x20\x6E\x6F\x20\x73\x75\x62\x20\x69\x6E\x74\x65\x72\x76\x61\x6C\x73\x2C\x20\x73\x6F\x20\x69\x74\x20\x77\x69\x6C\x6C\x20\x62\x65\x20\x61\x6C\x77\x61\x79\x73\x20\x74\x72\x75\x65\x21","\x49\x73\x20\x61\x20\x73\x69\x6E\x67\x6C\x65\x20\x69\x6E\x74\x65\x72\x76\x61\x6C\x21","\x54\x68\x65\x20\x69\x6E\x74\x65\x72\x76\x61\x6C\x20\x69\x73\x20\x76\x61\x6C\x69\x64\x21","\x54\x68\x65\x20\x66\x69\x6E\x61\x6C\x20\x72\x65\x73\x75\x6C\x74\x20\x66\x6F\x72\x20\x74\x68\x65\x20\x69\x6E\x74\x65\x72\x76\x61\x6C\x73\x20\x69\x73\x20\x22","\x22\x21","\x76\x73\x77\x69\x74\x63\x68","\x2D\x2D\x56\x41\x52\x49\x41\x42\x4C\x45\x5F\x53\x57\x49\x54\x43\x48\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x47\x65\x74\x74\x69\x6E\x67\x20\x74\x68\x65\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x20\x76\x61\x6C\x75\x65\x20\x61\x6E\x64\x20\x73\x65\x61\x72\x63\x68\x69\x6E\x67\x20\x74\x68\x65\x20\x72\x69\x67\x68\x74\x20\x65\x78\x69\x74\x2E\x2E\x2E","\x73\x79\x73\x74\x65\x6D","\x2D\x2D\x53\x59\x53\x54\x45\x4D\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x63\x6F\x6D\x6D\x61\x6E\x64","\x74\x72\x69\x6D","\x45\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x74\x68\x65\x20\x73\x79\x73\x74\x65\x6D\x20\x63\x6F\x6D\x6D\x61\x6E\x64\x2E\x2E\x2E","\x72\x65\x70\x6C\x61\x63\x65","\x50\x72\x6F\x67\x72\x61\x6D\x20\x6F\x75\x74\x70\x75\x74\x3A","\x53\x61\x76\x69\x6E\x67\x20\x74\x68\x65\x20\x6F\x75\x74\x70\x75\x74\x20\x69\x6E\x20\x61\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x2E\x2E\x2E","\x22","\x2D\x2D\x41\x47\x49\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x45\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x74\x68\x65\x20\x41\x47\x49\x20\x63\x6F\x6D\x6D\x61\x6E\x64\x2E\x2E\x2E","\x61\x72\x67\x73","\x73\x75\x62\x70\x72\x6F\x6A\x65\x63\x74","\x2D\x2D\x53\x55\x42\x50\x52\x4F\x4A\x45\x43\x54\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x70\x72\x6F\x6A\x65\x63\x74\x5F\x69\x64","\x4D\x6F\x76\x69\x6E\x67\x20\x74\x6F\x20\x70\x72\x6F\x6A\x65\x63\x74\x20\x22\x22","\x61\x67\x69\x3A\x2F\x2F\x31\x39\x32\x2E\x31\x36\x38\x2E\x32\x2E\x31\x34\x37\x2F\x73\x71\x75\x61\x72\x65\x2C\x25\x73","\x69\x73\x70\x65\x65\x63\x68\x61\x73\x72","\x2D\x2D\x49\x53\x50\x45\x45\x43\x48\x5F\x41\x53\x52\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x69\x73\x70\x65\x65\x63\x68\x2D\x61\x73\x72\x2E\x61\x67\x69","\x69\x73\x70\x65\x65\x63\x68\x5F\x61\x73\x72\x5F\x6C\x61\x6E\x67\x75\x61\x67\x65","\x6D\x6F\x64\x65\x6C","\x31","\x23","\x43\x61\x6C\x6C\x69\x6E\x67\x20\x47\x6F\x6F\x67\x6C\x65\x20\x41\x53\x52\x20\x41\x50\x49\x2E\x2E\x2E","\x64\x61\x74\x61\x62\x61\x73\x65","\x2D\x2D\x44\x41\x54\x41\x42\x41\x53\x45\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x6F\x64\x62\x63\x5F\x69\x64","\x54\x72\x79\x69\x6E\x67\x20\x74\x6F\x20\x67\x65\x74\x20\x4F\x44\x42\x43\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x2E\x2E\x2E","\x71\x75\x65\x72\x79","\x64\x73\x6E","\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x6F\x70\x65\x6E\x69\x6E\x67\x20\x65\x72\x72\x6F\x72\x3A\x20","\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x73\x75\x63\x63\x65\x64\x65\x64\x2C\x20\x65\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x71\x75\x65\x72\x79\x2E\x2E\x2E","\x51\x75\x65\x72\x79\x20\x65\x72\x72\x6F\x72\x3A\x20","\x51\x75\x65\x72\x79\x20\x65\x78\x65\x63\x75\x74\x65\x64\x2C\x20\x63\x6C\x6F\x73\x69\x6E\x67\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x2E\x2E\x2E","\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x63\x6C\x6F\x73\x69\x6E\x67\x20\x65\x72\x72\x6F\x72\x3A\x20","\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x63\x6C\x6F\x73\x65\x64\x2C\x20\x73\x61\x76\x69\x6E\x67\x20\x72\x65\x73\x75\x6C\x74\x69\x6E\x67\x20\x72\x6F\x77\x73\x20\x69\x6E\x20\x61\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x2E\x2E\x2E","\x63\x6C\x6F\x73\x65","\x6F\x70\x65\x6E","\x67\x6F\x74\x6F\x63","\x2D\x2D\x47\x4F\x54\x4F\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x47\x6F\x69\x6E\x67\x20\x74\x6F\x20\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x20","\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x20\x2E\x2E\x2E","\x4C\x6F\x63\x61\x6C\x2F\x25\x73\x40\x25\x73","\x67\x6F\x74\x6F\x69\x66","\x2D\x2D\x47\x4F\x54\x4F\x49\x46\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x45\x76\x61\x6C\x75\x61\x74\x69\x6E\x67\x20\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x2E\x2E\x2E","\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x54\x68\x65\x20\x72\x65\x73\x75\x6C\x74\x20\x69\x73\x20","\x68\x61\x6E\x67\x75\x70","\x2D\x2D\x48\x41\x4E\x47\x55\x50\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x48\x61\x6E\x67\x69\x6E\x20\x75\x70\x20\x74\x68\x65\x20\x63\x61\x6C\x6C\x2E\x2E\x2E","\x6E\x6F\x6F\x70","\x2D\x2D\x4E\x4F\x4F\x50\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x6F\x75\x74\x70\x75\x74","\x4E\x4F\x4F\x50\x20\x76\x61\x6C\x75\x65\x20\x69\x73\x20","\x4E\x4F\x4F\x50","\x73\x61\x79\x64\x69\x67\x69\x74\x73","\x2D\x2D\x53\x41\x59\x44\x49\x47\x49\x54\x53\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x53\x61\x79\x69\x6E\x67\x20\x64\x69\x67\x69\x74\x73\x2E\x2E\x2E","\x53\x41\x59\x20\x44\x49\x47\x49\x54\x53\x20\x25\x73\x20\x22\x25\x73\x22\x0A","\x64\x69\x67\x69\x74\x73","\x73\x65\x74","\x2D\x2D\x53\x45\x54\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x53\x61\x76\x69\x6E\x67\x20\x76\x61\x6C\x75\x65\x20\x69\x6E\x20\x61\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x2E\x2E\x2E","\x76\x61\x72\x69\x61\x62\x6C\x65\x5F\x76\x61\x6C\x75\x65","\x6D\x78\x63\x65\x6C\x6C","\x69\x73\x41\x72\x72\x61\x79","\x24","\x66\x6F\x72\x49\x6E","\x72\x65\x64\x75\x63\x65","\x65\x64\x67\x65","\x73\x6F\x75\x72\x63\x65","\x76\x61\x6C\x75\x65","\x24\x2E\x74\x61\x72\x67\x65\x74","\x6D\x61\x74\x63\x68","\x67\x65\x74\x56\x61\x72\x69\x61\x62\x6C\x65","\x73\x75\x62\x73\x74\x72\x69\x6E\x67","\x66\x6F\x72\x4D\x65\x74\x68\x6F\x64","\x28","\x6C\x61\x73\x74\x49\x6E\x64\x65\x78\x4F\x66","\x29","\x72\x65\x70\x6C\x61\x63\x65\x64","\x76\x65\x72\x74\x69\x63\x65\x73","\x73\x74\x61\x72\x74","\x69\x73\x46\x75\x6E\x63\x74\x69\x6F\x6E","\x66\x6F\x72","\x4E\x6F\x20\x74\x61\x72\x67\x65\x74\x20\x66\x6F\x75\x6E\x64\x2C\x20\x68\x61\x6E\x67\x75\x70\x21","\x66\x69\x6E\x61\x6C\x6C\x79","\x4E\x6F\x20\x74\x61\x72\x67\x65\x74\x20\x66\x6F\x75\x6E\x64\x2C\x20\x73\x74\x6F\x70\x70\x69\x6E\x67\x20\x22\x46\x69\x6E\x61\x6C\x6C\x79\x22\x20\x62\x72\x61\x6E\x63\x68\x21","\x65\x6E\x64","\x65\x72\x72\x6F\x72","\x2F\x2F\x45\x72\x72\x6F\x72\x3A","\x6F\x6E","\x2F\x2F\x43\x6F\x6E\x74\x65\x78\x74\x20\x63\x6C\x6F\x73\x65","\x2F\x2F\x53\x74\x61\x72\x74\x69\x6E\x67\x20\x22\x46\x69\x6E\x61\x6C\x6C\x79\x22\x20\x62\x72\x61\x6E\x63\x68\x21","\x6C\x61\x75\x6E\x63\x68\x46\x69\x62\x65\x72","\x45\x72\x72\x6F\x72\x20\x73\x61\x76\x69\x6E\x67\x20\x65\x78\x69\x74\x20\x74\x69\x6D\x65\x20\x66\x72\x6F\x6D\x20\x49\x56\x52","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x75\x70\x64\x61\x74\x65","\x2F\x2F\x43\x6F\x6E\x74\x65\x78\x74\x20\x48\x61\x6E\x67\x75\x70","\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x52\x65\x63\x65\x69\x76\x65\x64\x20\x6E\x65\x77\x20\x63\x61\x6C\x6C\x20\x66\x72\x6F\x6D\x3A\x20","\x61\x67\x69\x5F\x63\x61\x6C\x6C\x65\x72\x69\x64","\x20\x77\x69\x74\x68\x20\x75\x6E\x69\x71\x75\x65\x69\x64\x3A\x20","\x61\x67\x69\x5F\x75\x6E\x69\x71\x75\x65\x69\x64","\x61\x67\x69\x5F\x6E\x65\x74\x77\x6F\x72\x6B","\x61\x67\x69\x5F\x6E\x65\x74\x77\x6F\x72\x6B\x5F\x73\x63\x72\x69\x70\x74","\x61\x67\x69\x5F\x72\x65\x71\x75\x65\x73\x74","\x61\x67\x69\x5F\x63\x68\x61\x6E\x6E\x65\x6C","\x61\x67\x69\x5F\x6C\x61\x6E\x67\x75\x61\x67\x65","\x61\x67\x69\x5F\x74\x79\x70\x65","\x61\x67\x69\x5F\x76\x65\x72\x73\x69\x6F\x6E","\x61\x67\x69\x5F\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x61\x6D\x65","\x61\x67\x69\x5F\x63\x61\x6C\x6C\x69\x6E\x67\x70\x72\x65\x73","\x61\x67\x69\x5F\x63\x61\x6C\x6C\x69\x6E\x67\x61\x6E\x69\x32","\x61\x67\x69\x5F\x63\x61\x6C\x6C\x69\x6E\x67\x74\x6F\x6E","\x61\x67\x69\x5F\x63\x61\x6C\x6C\x69\x6E\x67\x74\x6E\x73","\x61\x67\x69\x5F\x64\x6E\x69\x64","\x61\x67\x69\x5F\x72\x64\x6E\x69\x73","\x61\x67\x69\x5F\x63\x6F\x6E\x74\x65\x78\x74","\x61\x67\x69\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x61\x67\x69\x5F\x70\x72\x69\x6F\x72\x69\x74\x79","\x61\x67\x69\x5F\x65\x6E\x68\x61\x6E\x63\x65\x64","\x61\x67\x69\x5F\x61\x63\x63\x6F\x75\x6E\x74\x63\x6F\x64\x65","\x61\x67\x69\x5F\x74\x68\x72\x65\x61\x64\x69\x64","\x61\x67\x69\x5F\x61\x72\x67\x5F\x31","\x45\x72\x72\x6F\x72\x20\x73\x61\x76\x69\x6E\x67\x20\x65\x6E\x74\x65\x72\x20\x74\x69\x6D\x65\x20\x66\x6F\x72\x20\x49\x56\x52","\x45\x72\x72\x6F\x72\x3A","\x70\x72\x6F\x64\x75\x63\x74\x69\x6F\x6E","\x6D\x78\x67\x72\x61\x70\x68\x6D\x6F\x64\x65\x6C","\x4E\x6F\x20\x72\x6F\x6F\x74\x20\x69\x6E\x20\x70\x72\x6F\x6A\x65\x63\x74\x21","\x70\x61\x72\x73\x65\x53\x74\x72\x69\x6E\x67","\x4E\x6F\x20\x70\x72\x6F\x6A\x65\x63\x74\x20\x70\x75\x62\x6C\x69\x73\x68\x65\x64\x21","\x4E\x6F\x20\x70\x72\x6F\x6A\x65\x63\x74\x20\x66\x6F\x75\x6E\x64\x21","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x4F\x6E\x65","\x4E\x6F\x20\x70\x72\x6F\x6A\x65\x63\x74\x20\x61\x72\x67\x75\x6D\x65\x6E\x74\x21","\x73\x70\x6C\x69\x74","\x2A","\x74\x5F\x66\x72\x6F\x6D","\x48\x48\x3A\x6D\x6D","\x74\x5F\x74\x6F","\x77\x64\x5F\x66\x72\x6F\x6D","\x77\x64\x5F\x74\x6F","\x6D\x64\x5F\x66\x72\x6F\x6D","\x6D\x64\x5F\x74\x6F","\x6D\x5F\x66\x72\x6F\x6D","\x6D\x5F\x74\x6F","\x45","\x44","\x4D","\x70\x75\x73\x68","\x69\x73\x42\x65\x74\x77\x65\x65\x6E","\x69\x6E\x64\x65\x78\x4F\x66","\x53\x65\x74\x74\x69\x6E\x67\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x2E\x2E\x2E","\x53\x65\x6E\x64\x69\x6E\x67\x20\x73\x65\x74\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x2C\x20\x76\x61\x6C\x75\x65\x20\x69\x73\x20","\x25\x73\x2F\x25\x73","\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x5F\x70\x61\x74\x68","\x73\x61\x76\x65\x5F\x6E\x61\x6D\x65","\x63\x6C\x6F\x6E\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6D\x65\x72\x67\x65","\x75\x6E\x73\x68\x69\x66\x74","\x61\x67\x69\x5F\x70\x6F\x72\x74","\x65\x78\x70\x6F\x72\x74\x73","\x53\x74\x61\x72\x74\x69\x6E\x67\x20\x43\x61\x6C\x6C\x79\x20\x53\x71\x75\x61\x72\x65\x20\x41\x47\x49\x2E\x2E\x2E","\x6C\x69\x73\x74\x65\x6E","\x63\x72\x65\x61\x74\x65\x53\x65\x72\x76\x65\x72"];_0x858c[0];var _=require(_0x858c[1]);var agi=require(_0x858c[2]);var util=require(_0x858c[3]);var moment=require(_0x858c[4]);var xml=require(_0x858c[5]);var wait=require(_0x858c[6]);var sr=require(_0x858c[7]);var path=require(_0x858c[8]);var config=require(_0x858c[9]);var sh=require(_0x858c[10]);var db=require(_0x858c[11])();var SquareProject=require(_0x858c[13])[_0x858c[12]];var Variable=require(_0x858c[13])[_0x858c[14]];var SquareOdbc=require(_0x858c[13])[_0x858c[15]];var Settings=require(_0x858c[13])[_0x858c[16]];var User=require(_0x858c[13])[_0x858c[17]];var VoiceQueue=require(_0x858c[13])[_0x858c[18]];var Trunk=require(_0x858c[13])[_0x858c[19]];var Interval=require(_0x858c[13])[_0x858c[20]];var Upload=require(_0x858c[13])[_0x858c[21]];var ReportSquare=require(_0x858c[13])[_0x858c[22]];var ReportSquareDetail=require(_0x858c[13])[_0x858c[23]];var users,trunks,variables,intervals,projects,sounds,queues,dbConnections,generalUniqueId;var agiPort;var weekDaysCollection={mon:1,tue:2,wed:3,thu:4,fri:5,sat:6,sun:7};var monthsCollection={jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12};var methods={};methods[_0x858c[24]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[25]);console[_0x858c[26]](_0x858c[27]);_0xefaax24[_0x858c[29]](_0x858c[28],function(_0xefaax27,_0xefaax28){_0xefaax26(_0xefaax27,_0xefaax28)});};methods[_0x858c[30]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[31]);console[_0x858c[26]](_0x858c[32]+_0xefaax25[_0x858c[33]]+_0x858c[34]);_0xefaax24[_0x858c[36]](_0xefaax25[_0x858c[33]],_0xefaax25[_0x858c[35]],function(_0xefaax27,_0xefaax28){if(_0xefaax26){_0xefaax26(_0xefaax27,_0xefaax28)}});};methods[_0x858c[37]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[38]);if(!users){getUsers(false)};var _0xefaax29=_[_0x858c[40]](users,{id:parseInt(_0xefaax25[_0x858c[39]])});console[_0x858c[26]](_0x858c[41]+util[_0x858c[44]](_0x858c[42],_0xefaax29[_0x858c[43]])+_0x858c[45]);var _0xefaax2a=[util[_0x858c[44]](_0x858c[42],_0xefaax29[_0x858c[43]]),_0xefaax25[_0x858c[46]],_0xefaax25[_0x858c[47]],_0xefaax25[_0x858c[48]]];_0xefaax24[_0x858c[36]](_0x858c[49],_0xefaax2a[_0x858c[51]](_0x858c[50]),function(_0xefaax27,_0xefaax28){_0xefaax26(_0xefaax27,_0xefaax28)});};methods[_0x858c[52]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[53]);if(!trunks){getTrunks(false)};var _0xefaax2b=_[_0x858c[40]](trunks,{id:parseInt(_0xefaax25[_0x858c[54]])});console[_0x858c[26]](_0x858c[41]+util[_0x858c[44]](_0x858c[42],_0xefaax2b[_0x858c[43]])+_0x858c[45]);var _0xefaax2a=[util[_0x858c[44]](_0x858c[55],_0xefaax25[_0x858c[56]],_0xefaax2b[_0x858c[43]]),_0xefaax25[_0x858c[46]],_0xefaax25[_0x858c[47]],_0xefaax25[_0x858c[48]]];_0xefaax24[_0x858c[36]](_0x858c[49],_0xefaax2a[_0x858c[51]](_0x858c[50]),function(_0xefaax27,_0xefaax28){_0xefaax26(_0xefaax27,_0xefaax28)});};methods[_0x858c[57]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[58]);if(!queues){getQueues(false)};var _0xefaax2c=_[_0x858c[40]](queues,{name:_0xefaax25[_0x858c[59]]});var _0xefaax2d=getFilePath(_0xefaax25[_0x858c[60]]);var _0xefaax2a=[_0xefaax2c[_0x858c[43]],_0xefaax25[_0x858c[47]],_0xefaax25[_0x858c[48]],_0xefaax2d,_0xefaax25[_0x858c[46]],_0xefaax25[_0x858c[2]],_0xefaax25[_0x858c[61]],_0xefaax25[_0x858c[62]],_0x858c[63],_0xefaax25[_0x858c[64]]];console[_0x858c[26]](_0x858c[65]+_0xefaax2c[_0x858c[43]]+_0x858c[66]);_0xefaax24[_0x858c[36]](_0x858c[67],_0xefaax2a[_0x858c[51]](_0x858c[50]),function(_0xefaax27,_0xefaax28){_0xefaax26(_0xefaax27,_0xefaax28)});};methods[_0x858c[68]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[69]);var _0xefaax2a=[util[_0x858c[44]](_0x858c[70],_0xefaax25[_0x858c[71]],_0xefaax25[_0x858c[72]]),_0xefaax25[_0x858c[47]]];console[_0x858c[26]](_0x858c[73]);_0xefaax24[_0x858c[36]](_0x858c[74],_0xefaax2a[_0x858c[51]](_0x858c[50]),function(_0xefaax27,_0xefaax28){_0xefaax26(_0xefaax27,_0xefaax28)});};methods[_0x858c[75]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[76]);console[_0x858c[26]](_0x858c[77]);var _0xefaax2e=eval(_0xefaax25[_0x858c[78]]);console[_0x858c[26]](_0x858c[79]);setVariable(_0xefaax24,_0xefaax25[_0x858c[80]],_0xefaax2e,_0xefaax26);};methods[_0x858c[81]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[82]);var _0xefaax2f=getFilePath(_0xefaax25[_0x858c[60]]);var _0xefaax2a=[_0xefaax2f,_0xefaax25[_0x858c[47]]];console[_0x858c[26]](_0x858c[83]);_0xefaax24[_0x858c[36]](_0x858c[84],_0xefaax2a[_0x858c[51]](_0x858c[50]),function(_0xefaax27,_0xefaax28){_0xefaax26(_0xefaax27,_0xefaax28)});};methods[_0x858c[85]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[86]);var _0xefaax28={};console[_0x858c[26]](_0x858c[87]+_0xefaax25[_0x858c[88]]+_0x858c[89]);if(_0xefaax25[_0x858c[88]]>0){_0xefaax25[_0x858c[88]]--;var _0xefaax30=_0x858c[90];console[_0x858c[26]](_0x858c[91]);_0xefaax24[_0x858c[29]](util[_0x858c[44]](_0x858c[92],_0xefaax30,parseInt(_0xefaax25[_0x858c[93]])*1000,_0xefaax25[_0x858c[94]]),function(_0xefaax27,_0xefaax28){var _0xefaax31={uniqueid:_0xefaax24[_0x858c[95]],node:_0xefaax25[_0x858c[96]],application:_0xefaax25[_0x858c[97]],data:_0xefaax28[_0x858c[98]]||null};ReportSquareDetail[_0x858c[103]](_0xefaax31)[_0x858c[102]](function(_0xefaax27){console[_0x858c[26]](_0x858c[99]+_0xefaax25[_0x858c[97]]+_0x858c[100]+_0xefaax25[_0x858c[96]]+_0x858c[101],_0xefaax27)});if(_0xefaax28[_0x858c[98]]!==_0x858c[104]){var _0xefaax32=parseInt(_0xefaax25[_0x858c[80]]);if(_0xefaax32){console[_0x858c[26]](_0x858c[105]);setVariable(_0xefaax24,_0xefaax32,_0xefaax28[_0x858c[98]]);};_0xefaax28[_0x858c[106]]=_0xefaax28[_0x858c[98]];_0xefaax26(null,_0xefaax28);}else {console[_0x858c[26]](_0x858c[107]);_0xefaax28={code:200,result:_0x858c[108],data:_0x858c[109]};_0xefaax26(null,_0xefaax28);};});}else {console[_0x858c[26]](_0x858c[110]);_0xefaax28={code:200,result:_0x858c[108],data:_0x858c[111]};_0xefaax26(null,_0xefaax28);};};methods[_0x858c[112]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[113]);console[_0x858c[26]](_0x858c[114]);_0xefaax24[_0x858c[29]](util[_0x858c[44]](_0x858c[115],_0xefaax25[_0x858c[116]],_0xefaax25[_0x858c[117]]),function(_0xefaax27,_0xefaax28){_0xefaax26(_0xefaax27,_0xefaax28)});};methods[_0x858c[118]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[119]);console[_0x858c[26]](_0x858c[120]);_0xefaax24[_0x858c[29]](util[_0x858c[44]](_0x858c[121],_0xefaax25[_0x858c[122]],_0xefaax25[_0x858c[117]]),function(_0xefaax27,_0xefaax28){_0xefaax26(_0xefaax27,_0xefaax28)});};methods[_0x858c[123]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[124]);var _0xefaax2a=[path[_0x858c[51]](config[_0x858c[125]],_0x858c[126],_0x858c[127]),encodeURIComponent(_0xefaax25[_0x858c[122]]),_0xefaax25[_0x858c[128]]];console[_0x858c[26]](_0x858c[129]);_0xefaax24[_0x858c[36]](_0x858c[130],_0xefaax2a[_0x858c[51]](_0x858c[50]),function(_0xefaax27,_0xefaax28){_0xefaax26(_0xefaax27,_0xefaax28)});};methods[_0x858c[131]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[132]);var _0xefaax2a=[_0x858c[133],encodeURIComponent(_0xefaax25[_0x858c[122]]),_0xefaax25[_0x858c[134]],_0x858c[63],_0x858c[63],_0xefaax25[_0x858c[135]]];console[_0x858c[26]](_0x858c[136]);_0xefaax24[_0x858c[36]](_0x858c[130],_0xefaax2a[_0x858c[51]](_0x858c[50]),function(_0xefaax27,_0xefaax28){_0xefaax26(_0xefaax27,_0xefaax28)});};methods[_0x858c[137]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[138]);var _0xefaax28={};console[_0x858c[26]](_0x858c[87]+_0xefaax25[_0x858c[88]]+_0x858c[89]);if(_0xefaax25[_0x858c[88]]>0){_0xefaax25[_0x858c[88]]--;var _0xefaax30=getFilePath(_0xefaax25[_0x858c[60]]);console[_0x858c[26]](_0x858c[91]);_0xefaax24[_0x858c[29]](util[_0x858c[44]](_0x858c[92],_0xefaax30,parseInt(_0xefaax25[_0x858c[93]])*1000,_0xefaax25[_0x858c[139]]),function(_0xefaax27,_0xefaax28){var _0xefaax31={uniqueid:_0xefaax24[_0x858c[95]],node:_0xefaax25[_0x858c[96]],application:_0xefaax25[_0x858c[97]],data:_0xefaax28[_0x858c[98]]||null};ReportSquareDetail[_0x858c[103]](_0xefaax31)[_0x858c[102]](function(_0xefaax27){console[_0x858c[26]](_0x858c[99]+_0xefaax25[_0x858c[97]]+_0x858c[100]+_0xefaax25[_0x858c[96]]+_0x858c[101],_0xefaax27)});if(_0xefaax28[_0x858c[98]]&&_0xefaax28[_0x858c[98]][_0x858c[140]]>=parseInt(_0xefaax25[_0x858c[141]])){if(_0xefaax28[_0x858c[98]]!==_0x858c[142]){console[_0x858c[26]](_0x858c[143]);var _0xefaax32=parseInt(_0xefaax25[_0x858c[80]]);if(_0xefaax32){console[_0x858c[26]](_0x858c[105]);setVariable(_0xefaax24,_0xefaax32,_0xefaax28[_0x858c[98]]);};_0xefaax28={code:200,result:_0x858c[108],data:_0x858c[144]};_0xefaax26(null,_0xefaax28);}else {console[_0x858c[26]](_0x858c[145]);_0xefaax28={code:500,result:_0x858c[142]};_0xefaax26(null,_0xefaax28);}}else {console[_0x858c[26]](_0x858c[146]);_0xefaax28={code:200,result:_0x858c[108],data:_0x858c[147]};_0xefaax26(null,_0xefaax28);};});}else {console[_0x858c[26]](_0x858c[110]);_0xefaax28={code:500,result:_0x858c[142]};_0xefaax26(null,_0xefaax28);};};methods[_0x858c[148]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[149]);var _0xefaax33=sr();console[_0x858c[26]](_0x858c[150]);_0xefaax24[_0x858c[29]](util[_0x858c[44]](_0x858c[151],path[_0x858c[51]](config[_0x858c[125]],_0x858c[152],_0xefaax33),_0xefaax25[_0x858c[117]],_0xefaax25[_0x858c[46]],null,true,null),function(_0xefaax27,_0xefaax28){if(_0xefaax28[_0x858c[153]]===200&&_0xefaax28[_0x858c[98]]!==_0x858c[142]){console[_0x858c[26]](_0x858c[154]);_0xefaax24[_0x858c[29]](util[_0x858c[44]](_0x858c[155],_0x858c[156],_0xefaax33),function(_0xefaax27,_0xefaax28){_0xefaax26(_0xefaax27,_0xefaax28)});}else {_0xefaax26(_0xefaax27,_0xefaax28)}});};methods[_0x858c[157]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[158]);var _0xefaax28;var _0xefaax34=_0x858c[159];var _0xefaax35;if(!intervals){getIntervals(false)};var _0xefaax36=_[_0x858c[40]](intervals,{id:parseInt(_0xefaax25[_0x858c[160]])});if(!_0xefaax36[_0x858c[161]]){_0xefaax35=_[_0x858c[163]](intervals,{IntervalId:parseInt(_0xefaax36[_0x858c[162]])})};if(_0xefaax35){console[_0x858c[26]](_0x858c[164]);if(_0xefaax35[_0x858c[140]]){console[_0x858c[26]](_0x858c[87]+_0xefaax35[_0x858c[140]]+_0x858c[165]);var _0xefaax37;console[_0x858c[26]](_0x858c[166]);_0xefaax35[_0x858c[171]](function(_0xefaax38,_0xefaax39){_0xefaax37=splitInterval(_0xefaax38[_0x858c[167]]);if(isIntervalValid(_0xefaax37)){console[_0x858c[26]](_0x858c[168]+_0xefaax39+_0x858c[169]);_0xefaax34=_0x858c[170];};});}else {console[_0x858c[26]](_0x858c[172]);_0xefaax34=_0x858c[170];};}else {console[_0x858c[26]](_0x858c[173]);var _0xefaax3a=splitInterval(_0xefaax36[_0x858c[167]]);if(isIntervalValid(_0xefaax3a)){console[_0x858c[26]](_0x858c[174]);_0xefaax34=_0x858c[170];};};console[_0x858c[26]](_0x858c[175]+_0xefaax34+_0x858c[176]);_0xefaax28={code:200,result:_0x858c[108],data:_0xefaax34};_0xefaax26(null,_0xefaax28);};methods[_0x858c[177]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[178]);console[_0x858c[26]](_0x858c[179]);var _0xefaax28={data:getVariable(_0xefaax24,_0xefaax25[_0x858c[80]])};_0xefaax26(null,_0xefaax28);};methods[_0x858c[180]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[181]);var _0xefaax31={uniqueid:_0xefaax24[_0x858c[95]],node:_0xefaax25[_0x858c[96]],application:_0xefaax25[_0x858c[97]],data:_[_0x858c[183]](_0xefaax25[_0x858c[182]])||null};ReportSquareDetail[_0x858c[103]](_0xefaax31)[_0x858c[102]](function(_0xefaax27){console[_0x858c[26]](_0x858c[99]+_0xefaax25[_0x858c[97]]+_0x858c[100]+_0xefaax25[_0x858c[96]]+_0x858c[101],_0xefaax27)});console[_0x858c[26]](_0x858c[184]);sh[_0x858c[36]](_[_0x858c[183]](_0xefaax25[_0x858c[182]]),function(_0xefaax3b,_0xefaax3c){var _0xefaax3d=_0xefaax3c[_0x858c[185]](/(\r\n|\n|\r)/gm,_0x858c[63]);console[_0x858c[26]](_0x858c[186],_0xefaax3d);console[_0x858c[26]](_0x858c[187]);setVariable(_0xefaax24,_0xefaax25[_0x858c[80]],_0x858c[188]+_0xefaax3d+_0x858c[188],_0xefaax26);});};methods[_0x858c[2]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[189]);console[_0x858c[26]](_0x858c[190]);_0xefaax24[_0x858c[36]](_0x858c[130],_0xefaax25[_0x858c[182]],_0xefaax25[_0x858c[191]],function(_0xefaax27,_0xefaax28){_0xefaax26(_0xefaax27,_0xefaax28)});};methods[_0x858c[192]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[193]);if(!projects){getProjects(false)};var _0xefaax3e=_[_0x858c[40]](projects,{id:parseInt(_0xefaax25[_0x858c[194]])});console[_0x858c[26]](_0x858c[195]+_0xefaax3e[_0x858c[43]]+_0x858c[34]);_0xefaax24[_0x858c[36]](_0x858c[130],util[_0x858c[44]](_0x858c[196],_0xefaax3e[_0x858c[43]]),function(_0xefaax27,_0xefaax28){_0xefaax26(_0xefaax27,_0xefaax28)});};methods[_0x858c[197]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[198]);var _0xefaax2a=[path[_0x858c[51]](config[_0x858c[125]],_0x858c[126],_0x858c[199]),_0xefaax25[_0x858c[200]],_0x858c[63],(_0xefaax25[_0x858c[201]]===_0x858c[108]?_0x858c[63]:_0xefaax25[_0x858c[201]]),_0x858c[202],_0x858c[203],_0x858c[63],_0xefaax25[_0x858c[135]]];console[_0x858c[26]](_0x858c[204]);_0xefaax24[_0x858c[36]](_0x858c[130],_0xefaax2a[_0x858c[51]](_0x858c[50]),function(_0xefaax27,_0xefaax28){_0xefaax26(_0xefaax27,_0xefaax28)});};methods[_0x858c[205]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[206]);if(!dbConnections){getDbConnections(false)};var _0xefaax3f=_[_0x858c[40]](dbConnections,{id:parseInt(_0xefaax25[_0x858c[207]])});console[_0x858c[26]](_0x858c[208]);var _0xefaax31={uniqueid:_0xefaax24[_0x858c[95]],node:_0xefaax25[_0x858c[96]],application:_0xefaax25[_0x858c[97]],data:_0xefaax25[_0x858c[209]]||null};ReportSquareDetail[_0x858c[103]](_0xefaax31)[_0x858c[102]](function(_0xefaax27){console[_0x858c[26]](_0x858c[99]+_0xefaax25[_0x858c[97]]+_0x858c[100]+_0xefaax25[_0x858c[96]]+_0x858c[101],_0xefaax27)});db[_0x858c[218]](_0xefaax3f[_0x858c[210]],function(_0xefaax27){if(_0xefaax27){console[_0x858c[26]](_0x858c[211],_0xefaax27);var _0xefaax28={code:500,result:_0x858c[142]};_0xefaax26(null,_0xefaax28);}else {console[_0x858c[26]](_0x858c[212]);db[_0x858c[209]](_0xefaax25[_0x858c[209]],function(_0xefaax27,_0xefaax40){if(_0xefaax27){console[_0x858c[26]](_0x858c[213],_0xefaax27);var _0xefaax28={code:500,result:_0x858c[142]};_0xefaax26(null,_0xefaax28);}else {console[_0x858c[26]](_0x858c[214]);db[_0x858c[217]](function(_0xefaax27){if(_0xefaax27){console[_0x858c[26]](_0x858c[215],_0xefaax27);var _0xefaax28={code:500,result:_0x858c[142]};_0xefaax26(null,_0xefaax28);}else {console[_0x858c[26]](_0x858c[216]);setVariable(_0xefaax24,_0xefaax25[_0x858c[80]],_0xefaax40,_0xefaax26);}});}});}});};methods[_0x858c[219]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[220]);console[_0x858c[26]](_0x858c[221]+_0xefaax25[_0x858c[222]]+_0x858c[223]);_0xefaax24[_0x858c[36]](_0x858c[49],util[_0x858c[44]](_0x858c[224],_0xefaax25[_0x858c[222]],_0xefaax25[_0x858c[72]]),function(_0xefaax27,_0xefaax28){_0xefaax26(_0xefaax27,_0xefaax28)});};methods[_0x858c[225]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[226]);var _0xefaax28={code:200,result:_0x858c[108]};console[_0x858c[26]](_0x858c[227]);_0xefaax28[_0x858c[106]]=String(eval(_0xefaax25[_0x858c[228]])?_0x858c[170]:_0x858c[159]);console[_0x858c[26]](_0x858c[229]+_0xefaax28[_0x858c[106]]);_0xefaax26(null,_0xefaax28);};methods[_0x858c[230]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[231]);console[_0x858c[26]](_0x858c[232]);_0xefaax24[_0x858c[230]]();};methods[_0x858c[233]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[234]);var _0xefaax3c=(_0xefaax25[_0x858c[235]])?_0x858c[188]+_0xefaax25[_0x858c[235]]+_0x858c[188]:_0x858c[188]+_0xefaax25[_0x858c[96]]+_0x858c[188];console[_0x858c[26]](_0x858c[236]+_0xefaax3c);_0xefaax24[_0x858c[36]](_0x858c[237],_0xefaax3c,function(_0xefaax27,_0xefaax28){_0xefaax26(_0xefaax27,_0xefaax28)});};methods[_0x858c[238]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[239]);console[_0x858c[26]](_0x858c[240]);_0xefaax24[_0x858c[29]](util[_0x858c[44]](_0x858c[241],_0xefaax25[_0x858c[242]],_0xefaax25[_0x858c[117]]),function(_0xefaax27,_0xefaax28){_0xefaax26(_0xefaax27,_0xefaax28)});};methods[_0x858c[243]]=function(_0xefaax24,_0xefaax25,_0xefaax26){console[_0x858c[26]](_0x858c[244]);console[_0x858c[26]](_0x858c[245]);setVariable(_0xefaax24,_0xefaax25[_0x858c[80]],_0xefaax25[_0x858c[246]],_0xefaax26);};function getVertices(_0xefaax42){return _[_0x858c[251]](_0xefaax42,function(_0xefaax2e,_0xefaax43,_0xefaax44){if(_0xefaax44===_0x858c[247]){return _0xefaax2e};if(_[_0x858c[248]](_0xefaax43)){_[_0x858c[250]](_0xefaax43,function(_0xefaax45,_0xefaax46){_0xefaax2e[_0xefaax45[_0x858c[249]][_0x858c[162]]]=_0xefaax45[_0x858c[249]];_0xefaax2e[_0xefaax45[_0x858c[249]][_0x858c[162]]][_0x858c[97]]=_0xefaax44;});return _0xefaax2e;};_0xefaax2e[_0xefaax43[_0x858c[249]][_0x858c[162]]]=_0xefaax43[_0x858c[249]];_0xefaax2e[_0xefaax43[_0x858c[249]][_0x858c[162]]][_0x858c[97]]=_0xefaax44;return _0xefaax2e;},{})}function getTargetBySource(_0xefaax42,_0xefaax48,_0xefaax45){return _[_0x858c[98]](_[_0x858c[40]](_0xefaax42[_0x858c[247]],function(_0xefaax43){if(_0xefaax43[_0x858c[249]][_0x858c[252]]&&_0xefaax43[_0x858c[249]][_0x858c[253]]){if(_0xefaax43[_0x858c[249]][_0x858c[253]]===_0xefaax48){if(_0xefaax43[_0x858c[249]][_0x858c[254]]&&_0xefaax43[_0x858c[249]][_0x858c[254]]!==_0xefaax45){return false};return true;}};return false;}),_0x858c[255])}function replaceAllVariables(_0xefaax24,_0xefaax25,_0xefaax26){var _0xefaax4a=_0xefaax25;for(var _0xefaax46 in _0xefaax4a){var _0xefaax28=_0xefaax4a[_0xefaax46][_0x858c[256]](/{+(.*?)}/gi);if(_0xefaax28){for(var _0xefaax4b in _0xefaax28){var _0xefaax45=wait[_0x858c[259]](_0xefaax24,_0x858c[257],_0xefaax28[_0xefaax4b][_0x858c[258]](1,_0xefaax28[_0xefaax4b][_0x858c[140]]-1));if(_0xefaax45[_0x858c[153]]===200&&_0xefaax45[_0x858c[98]]!==_0x858c[108]){var _0xefaax4c=_0xefaax45[_0x858c[98]][_0x858c[258]](_0xefaax45[_0x858c[98]][_0x858c[261]](_0x858c[260])+1,_0xefaax45[_0x858c[98]][_0x858c[261]](_0x858c[262]));_0xefaax4a[_0xefaax46]=_0xefaax4a[_0xefaax46][_0x858c[185]](_0xefaax28[_0xefaax4b],_0xefaax4c);};}};};_0xefaax4a[_0x858c[263]]=true;return _0xefaax4a;}function xstart(_0xefaax24){var _0xefaax42=_0xefaax24[_0x858c[125]];var _0xefaax4e=_0xefaax24[_0x858c[264]];if(_0xefaax42[_0x858c[265]]){if(!_[_0x858c[248]](_0xefaax42[_0x858c[265]])){var _0xefaax48=_0xefaax42[_0x858c[265]][_0x858c[249]][_0x858c[162]];var _0xefaax28={};do{var _0xefaax25=_0xefaax4e[_0xefaax48][_0x858c[263]]?_0xefaax4e[_0xefaax48]:replaceAllVariables(_0xefaax24,_0xefaax4e[_0xefaax48]);if(_0xefaax25){if(_[_0x858c[266]](methods[_0xefaax25[_0x858c[97]]])){_0xefaax28=wait[_0x858c[267]](methods[_0xefaax25[_0x858c[97]]],_0xefaax24,_0xefaax25)}else {_0xefaax28=wait[_0x858c[267]](methods[_0x858c[233]],_0xefaax24,_0xefaax25)};if(_0xefaax28[_0x858c[153]]===200&&_0xefaax28[_0x858c[98]]!==_0x858c[142]){var _0xefaax4f=getTargetBySource(_0xefaax42,_0xefaax48,_0xefaax28[_0x858c[106]]);if(_0xefaax4f){}else {if(_0xefaax25[_0x858c[97]]===_0x858c[85]){if(_0xefaax25[_0x858c[88]]>0){_0xefaax4f=getTargetBySource(_0xefaax42,_0xefaax48,_0x858c[147]);if(_0xefaax4f){}else {_0xefaax4f=_0xefaax48};}};if(_0xefaax25[_0x858c[97]]===_0x858c[137]&&_0xefaax25[_0x858c[88]]>0){_0xefaax4f=_0xefaax48};};_0xefaax48=_0xefaax4f;}else {_0xefaax48=null};}else {_0xefaax48=null};}while(_0xefaax48);;console[_0x858c[26]](_0x858c[268]);_0xefaax24[_0x858c[230]]();}};}function xfinally(_0xefaax24){var _0xefaax42=_0xefaax24[_0x858c[125]];var _0xefaax4e=_0xefaax24[_0x858c[264]];if(_0xefaax42[_0x858c[269]]){if(!_[_0x858c[248]](_0xefaax42[_0x858c[269]])){var _0xefaax48=_0xefaax42[_0x858c[269]][_0x858c[249]][_0x858c[162]];var _0xefaax28={};do{var _0xefaax25=replaceAllVariables(_0xefaax24,_0xefaax4e[_0xefaax48]);if(_0xefaax25){if(_[_0x858c[266]](methods[_0xefaax25[_0x858c[97]]])){_0xefaax28=wait[_0x858c[267]](methods[_0xefaax25[_0x858c[97]]],_0xefaax24,_0xefaax25)}else {_0xefaax28=wait[_0x858c[267]](methods[_0x858c[233]],_0xefaax24,_0xefaax25)};if(_0xefaax28[_0x858c[153]]===200&&_0xefaax28[_0x858c[98]]!==_0x858c[142]){var _0xefaax4f=getTargetBySource(_0xefaax42,_0xefaax48,_0xefaax28[_0x858c[106]]);if(_0xefaax4f){}else {if(_0xefaax25[_0x858c[97]]===_0x858c[85]){if(_0xefaax25[_0x858c[88]]>0){_0xefaax4f=getTargetBySource(_0xefaax42,_0xefaax48,_0x858c[147]);if(_0xefaax4f){}else {_0xefaax4f=_0xefaax48};}};if(_0xefaax25[_0x858c[97]]===_0x858c[137]&&_0xefaax25[_0x858c[88]]>0){_0xefaax4f=_0xefaax48};};_0xefaax48=_0xefaax4f;}else {_0xefaax48=null};}else {_0xefaax48=null};}while(_0xefaax48);;_0xefaax24[_0x858c[230]]();console[_0x858c[26]](_0x858c[270]);}};_0xefaax24[_0x858c[271]]();}function main(_0xefaax24){_0xefaax24[_0x858c[274]](_0x858c[272],function(_0xefaax27){console[_0x858c[26]](_0x858c[273],_0xefaax27)});_0xefaax24[_0x858c[274]](_0x858c[217],function(){console[_0x858c[26]](_0x858c[275])});_0xefaax24[_0x858c[274]](_0x858c[230],function(){if(_0xefaax24[_0x858c[269]]){_0xefaax24[_0x858c[269]]=false;console[_0x858c[26]](_0x858c[276]);wait[_0x858c[277]](xfinally,_0xefaax24);}else {ReportSquare[_0x858c[280]]({leaveAt:moment()[_0x858c[44]](_0x858c[279])},{where:{uniqueid:_0xefaax24[_0x858c[95]]}})[_0x858c[102]](function(_0xefaax27){console[_0x858c[26]](_0x858c[278],_0xefaax27)});console[_0x858c[26]](_0x858c[281]);}});_0xefaax24[_0x858c[274]](_0x858c[93],function(_0xefaax28){});_0xefaax24[_0x858c[274]](_0x858c[282],function(_0xefaax52){console[_0x858c[26]](_0xefaax52);console[_0x858c[26]](_0x858c[283]+_0xefaax52[_0x858c[284]]+_0x858c[285]+_0xefaax52[_0x858c[286]]);var _0xefaax53={network:_0xefaax52[_0x858c[287]],network_script:_0xefaax52[_0x858c[288]],request:_0xefaax52[_0x858c[289]],channel:_0xefaax52[_0x858c[290]],language:_0xefaax52[_0x858c[291]],type:_0xefaax52[_0x858c[292]],uniqueid:_0xefaax52[_0x858c[286]],version:_0xefaax52[_0x858c[293]],callerid:_0xefaax52[_0x858c[284]],calleridname:_0xefaax52[_0x858c[294]],callingpres:_0xefaax52[_0x858c[295]],callingani2:_0xefaax52[_0x858c[296]],callington:_0xefaax52[_0x858c[297]],callingtns:_0xefaax52[_0x858c[298]],dnid:_0xefaax52[_0x858c[299]],rdnis:_0xefaax52[_0x858c[300]],context:_0xefaax52[_0x858c[301]],extension:_0xefaax52[_0x858c[302]],priority:_0xefaax52[_0x858c[303]],enhanced:_0xefaax52[_0x858c[304]],accountcode:_0xefaax52[_0x858c[305]],threadid:_0xefaax52[_0x858c[306]],project_name:_0xefaax52[_0x858c[307]],joinAt:moment()[_0x858c[44]](_0x858c[279])};ReportSquare[_0x858c[103]](_0xefaax53)[_0x858c[102]](function(_0xefaax27){console[_0x858c[26]](_0x858c[308],_0xefaax27)});if(_0xefaax52[_0x858c[307]]){SquareProject[_0x858c[317]]({where:{name:_0xefaax52[_0x858c[307]]},attributes:[_0x858c[162],_0x858c[310]]})[_0x858c[316]](function(_0xefaax3e){if(_0xefaax3e){if(_0xefaax3e[_0x858c[310]]){xml[_0x858c[313]](_0xefaax3e[_0x858c[310]],{normalizeTags:true,explicitArray:false},function(_0xefaax27,_0xefaax2e){var _0xefaax42=_0xefaax2e[_0x858c[311]][_0x858c[125]];if(_0xefaax42){_0xefaax24[_0x858c[125]]=_0xefaax42;_0xefaax24[_0x858c[269]]=true;_0xefaax24[_0x858c[95]]=_0xefaax52[_0x858c[286]];_0xefaax24[_0x858c[264]]=getVertices(_0xefaax42);wait[_0x858c[277]](xstart,_0xefaax24);}else {console[_0x858c[26]](_0x858c[312]);_0xefaax24[_0x858c[271]]();};})}else {console[_0x858c[26]](_0x858c[314]);_0xefaax24[_0x858c[271]]();}}else {console[_0x858c[26]](_0x858c[315]);_0xefaax24[_0x858c[271]]();}})[_0x858c[102]](function(_0xefaax27){console[_0x858c[26]](_0x858c[309],_0xefaax27);_0xefaax24[_0x858c[271]]();})}else {console[_0x858c[26]](_0x858c[318]);_0xefaax24[_0x858c[271]]();};});}function splitInterval(_0xefaax36){var _0xefaax55={};var _0xefaax3a=_0xefaax36[_0x858c[319]](_0x858c[50]);var _0xefaax56;_0xefaax3a[_0x858c[171]](function(_0xefaax57,_0xefaax39){switch(_0xefaax39){case 0:if(_0xefaax57!==_0x858c[320]){_0xefaax56=_0xefaax57[_0x858c[319]](_0x858c[111]);_0xefaax55[_0x858c[321]]=moment(_0xefaax56[0],_0x858c[322]);_0xefaax55[_0x858c[323]]=moment(_0xefaax56[1],_0x858c[322]);}else {_0xefaax55[_0x858c[321]]=null;_0xefaax55[_0x858c[323]]=null;};break ;;case 1:if(_0xefaax57!==_0x858c[320]){_0xefaax56=_0xefaax57[_0x858c[319]](_0x858c[111]);_0xefaax55[_0x858c[324]]=weekDaysCollection[_0xefaax56[0]];_0xefaax55[_0x858c[325]]=_0xefaax56[1]?weekDaysCollection[_0xefaax56[1]]:null;}else {_0xefaax55[_0x858c[324]]=null;_0xefaax55[_0x858c[325]]=null;};break ;;case 2:if(_0xefaax57!==_0x858c[320]){_0xefaax56=_0xefaax57[_0x858c[319]](_0x858c[111]);_0xefaax55[_0x858c[326]]=_0xefaax56[0];_0xefaax55[_0x858c[327]]=_0xefaax56[1]?_0xefaax56[1]:null;}else {_0xefaax55[_0x858c[326]]=null;_0xefaax55[_0x858c[327]]=null;};break ;;case 3:if(_0xefaax57!==_0x858c[320]){_0xefaax56=_0xefaax57[_0x858c[319]](_0x858c[111]);_0xefaax55[_0x858c[328]]=monthsCollection[_0xefaax56[0]];_0xefaax55[_0x858c[329]]=_0xefaax56[1]?monthsCollection[_0xefaax56[1]]:null;}else {_0xefaax55[_0x858c[328]]=null;_0xefaax55[_0x858c[329]]=null;};break ;;default:;}});return _0xefaax55;}function isIntervalValid(_0xefaax36){var _0xefaax59=moment()[_0x858c[44]](_0x858c[322]);var _0xefaax5a=moment()[_0x858c[44]](_0x858c[330]);var _0xefaax5b=moment()[_0x858c[44]](_0x858c[331]);var _0xefaax5c=moment()[_0x858c[44]](_0x858c[332]);var _0xefaax5d,_0xefaax5e,_0xefaax5f,_0xefaax60;var _0xefaax61=[1,2,3,4,5,6,7,8,9,10,11,12];var _0xefaax62=[1,2,3,4,5,6,7];var _0xefaax63=[];for(var _0xefaax64=1;_0xefaax64<=31;_0xefaax64++){_0xefaax63[_0x858c[333]](_0xefaax64)};_0xefaax5d=(_0xefaax36[_0x858c[321]]&&_0xefaax36[_0x858c[323]])?moment(_0xefaax59,_0x858c[322])[_0x858c[334]](moment(_0xefaax36[_0x858c[321]],_0x858c[322]),moment(_0xefaax36[_0x858c[323]],_0x858c[322])):true;if(_0xefaax36[_0x858c[324]]){if(_0xefaax36[_0x858c[325]]){var _0xefaax65=_[_0x858c[163]](_0xefaax62,function(_0xefaax38){return (_0xefaax38>=_0xefaax36[_0x858c[324]])||(_0xefaax38<=_0xefaax36[_0x858c[325]])});_0xefaax5e=(_0xefaax65[_0x858c[335]](parseInt(_0xefaax5a))!== -1)?true:false;}else {_0xefaax5e=(parseInt(_0xefaax5a)===_0xefaax36[_0x858c[324]])?true:false}}else {_0xefaax5e=true};if(_0xefaax36[_0x858c[326]]){if(_0xefaax36[_0x858c[327]]){var _0xefaax66=_[_0x858c[163]](_0xefaax63,function(_0xefaax38){return (_0xefaax38>=_0xefaax36[_0x858c[326]])||(_0xefaax38<=_0xefaax36[_0x858c[327]])});_0xefaax5f=(_0xefaax66[_0x858c[335]](parseInt(_0xefaax5b))!== -1)?true:false;}else {_0xefaax5f=(parseInt(_0xefaax5b)===_0xefaax36[_0x858c[326]])?true:false}}else {_0xefaax5f=true};if(_0xefaax36[_0x858c[328]]){if(_0xefaax36[_0x858c[329]]){var _0xefaax67=_[_0x858c[163]](_0xefaax61,function(_0xefaax38){return (_0xefaax38>=_0xefaax36[_0x858c[328]])||(_0xefaax38<=_0xefaax36[_0x858c[329]])});_0xefaax60=(_0xefaax67[_0x858c[335]](parseInt(_0xefaax5c))!== -1)?true:false;}else {_0xefaax60=(parseInt(_0xefaax5c)===_0xefaax36[_0x858c[328]])?true:false}}else {_0xefaax60=true};return _0xefaax5d&&_0xefaax5e&&_0xefaax5f&&_0xefaax60;}function setVariable(_0xefaax24,_0xefaax69,_0xefaax45,_0xefaax26){console[_0x858c[26]](_0x858c[336]);if(!variables){getVariables(false)};var _0xefaax4b=_[_0x858c[40]](variables,{id:parseInt(_0xefaax69)});console[_0x858c[26]](_0x858c[337],_0xefaax45);_0xefaax24[_0x858c[29]](util[_0x858c[44]](_0x858c[155],_0xefaax4b[_0x858c[43]],_0xefaax45),function(_0xefaax27,_0xefaax28){if(_0xefaax26){_0xefaax26(_0xefaax27,_0xefaax28)}});}function getVariable(_0xefaax24,_0xefaax69){if(!variables){getVariables(false)};var _0xefaax4b=_[_0x858c[40]](variables,{id:parseInt(_0xefaax69)});var _0xefaax45=wait[_0x858c[259]](_0xefaax24,_0x858c[257],_0xefaax4b[_0x858c[43]]);if(_0xefaax45[_0x858c[153]]===200&&_0xefaax45[_0x858c[98]]!==_0x858c[108]){return _0xefaax45[_0x858c[98]][_0x858c[258]](_0xefaax45[_0x858c[98]][_0x858c[261]](_0x858c[260])+1,_0xefaax45[_0x858c[98]][_0x858c[261]](_0x858c[262]))};return _0x858c[63];}function getFilePath(_0xefaax69){if(!sounds){getSounds(false)};if(_0xefaax69>0){var _0xefaax6c=_[_0x858c[40]](sounds,{id:parseInt(_0xefaax69)});return util[_0x858c[44]](_0x858c[338],_0xefaax6c[_0x858c[339]],_0xefaax6c[_0x858c[340]]);};return _0x858c[63];}function getUsers(_0xefaax6e){User[_0x858c[342]]()[_0x858c[316]](function(_0xefaax2e){users=_[_0x858c[341]](_0xefaax2e);if(_0xefaax6e){synchUpdates(User,users,_0x858c[162])};})[_0x858c[102]](function(_0xefaax27){console[_0x858c[26]](_0xefaax27)})}function getQueues(_0xefaax6e){VoiceQueue[_0x858c[342]]()[_0x858c[316]](function(_0xefaax2e){queues=_[_0x858c[341]](_0xefaax2e);if(_0xefaax6e){synchUpdates(VoiceQueue,queues,_0x858c[43])};})[_0x858c[102]](function(_0xefaax27){console[_0x858c[26]](_0xefaax27)})}function getTrunks(_0xefaax6e){Trunk[_0x858c[342]]()[_0x858c[316]](function(_0xefaax2e){trunks=_[_0x858c[341]](_0xefaax2e);if(_0xefaax6e){synchUpdates(Trunk,trunks,_0x858c[162])};})[_0x858c[102]](function(_0xefaax27){console[_0x858c[26]](_0xefaax27)})}function getVariables(_0xefaax6e){Variable[_0x858c[342]]()[_0x858c[316]](function(_0xefaax2e){variables=_[_0x858c[341]](_0xefaax2e);if(_0xefaax6e){synchUpdates(Variable,variables,_0x858c[162])};})[_0x858c[102]](function(_0xefaax27){console[_0x858c[26]](_0xefaax27)})}function getDbConnections(_0xefaax6e){SquareOdbc[_0x858c[342]]()[_0x858c[316]](function(_0xefaax2e){dbConnections=_[_0x858c[341]](_0xefaax2e);if(_0xefaax6e){synchUpdates(SquareOdbc,dbConnections,_0x858c[162])};})[_0x858c[102]](function(_0xefaax27){console[_0x858c[26]](_0xefaax27)})}function getIntervals(_0xefaax6e){Interval[_0x858c[342]]()[_0x858c[316]](function(_0xefaax2e){intervals=_[_0x858c[341]](_0xefaax2e);if(_0xefaax6e){synchUpdates(Interval,intervals,_0x858c[162])};})[_0x858c[102]](function(_0xefaax27){console[_0x858c[26]](_0xefaax27)})}function getProjects(_0xefaax6e){SquareProject[_0x858c[342]]()[_0x858c[316]](function(_0xefaax2e){projects=_[_0x858c[341]](_0xefaax2e);if(_0xefaax6e){synchUpdates(SquareProject,projects,_0x858c[162])};})[_0x858c[102]](function(_0xefaax27){console[_0x858c[26]](_0xefaax27)})}function getSounds(_0xefaax6e){Upload[_0x858c[342]]()[_0x858c[316]](function(_0xefaax2e){sounds=_[_0x858c[341]](_0xefaax2e);if(_0xefaax6e){synchUpdates(Upload,sounds,_0x858c[162])};})[_0x858c[102]](function(_0xefaax27){console[_0x858c[26]](_0xefaax27)})}function synchUpdates(_0xefaax77,_0xefaax78,_0xefaax46){var _0xefaax79={};_0xefaax77[_0x858c[343]](function(_0xefaax7a){_0xefaax79[_0xefaax46]=_0xefaax7a[_0xefaax46];updateCollection(_0xefaax78,_0xefaax79,_0xefaax7a);});_0xefaax77[_0x858c[344]](function(_0xefaax7a){_0xefaax79[_0xefaax46]=_0xefaax7a[_0xefaax46];updateCollection(_0xefaax78,_0xefaax79,_0xefaax7a);});_0xefaax77[_0x858c[346]](function(_0xefaax7a){_0xefaax79[_0xefaax46]=_0xefaax7a[_0xefaax46];_[_0x858c[345]](_0xefaax78,_0xefaax79);});}function updateCollection(_0xefaax78,_0xefaax79,_0xefaax7a){var _0xefaax7c=_[_0x858c[40]](_0xefaax78,_0xefaax79);var _0xefaax39=_0xefaax78[_0x858c[335]](_0xefaax7c);if(_0xefaax7c){_[_0x858c[347]](_0xefaax78[_0xefaax39],_0xefaax7a)}else {_0xefaax78[_0x858c[348]](_0xefaax7a)};}function getPort(){Settings[_0x858c[317]]()[_0x858c[316]](function(_0xefaax2e){agiPort=_0xefaax2e[_0x858c[349]]})[_0x858c[102]](function(_0xefaax27){console[_0x858c[26]](_0xefaax27)})}module[_0x858c[350]]=function(){console[_0x858c[26]](_0x858c[351]);getPort();var _0xefaax7e=agi[_0x858c[353]](main)[_0x858c[352]](agiPort?agiPort:4573);getUsers(true);getQueues(true);getTrunks(true);getVariables(true);getIntervals(true);getProjects(true);getSounds(true);getDbConnections(true);};
\ No newline at end of file
+var _0xdba1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x61\x67\x69","\x75\x74\x69\x6C","\x6D\x6F\x6D\x65\x6E\x74","\x78\x6D\x6C\x32\x6A\x73","\x77\x61\x69\x74\x2E\x66\x6F\x72","\x73\x69\x6D\x70\x6C\x65\x2D\x72\x61\x6E\x64\x6F\x6D","\x70\x61\x74\x68","\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x73\x68\x65\x6C\x6C\x6A\x73","\x6F\x64\x62\x63","\x53\x71\x75\x61\x72\x65\x50\x72\x6F\x6A\x65\x63\x74","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x61\x72\x69\x61\x62\x6C\x65","\x53\x71\x75\x61\x72\x65\x4F\x64\x62\x63","\x53\x65\x74\x74\x69\x6E\x67\x73","\x55\x73\x65\x72","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x54\x72\x75\x6E\x6B","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x55\x70\x6C\x6F\x61\x64","\x52\x65\x70\x6F\x72\x74\x53\x71\x75\x61\x72\x65","\x52\x65\x70\x6F\x72\x74\x53\x71\x75\x61\x72\x65\x44\x65\x74\x61\x69\x6C","\x61\x6E\x73\x77\x65\x72","\x2D\x2D\x41\x4E\x53\x57\x45\x52\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x6C\x6F\x67","\x41\x6E\x73\x77\x65\x72\x69\x6E\x67\x20\x74\x68\x65\x20\x63\x61\x6C\x6C\x2E\x2E\x2E","\x41\x4E\x53\x57\x45\x52\x0A","\x73\x65\x6E\x64","\x63\x75\x73\x74\x6F\x6D\x5F\x61\x70\x70","\x2D\x2D\x43\x55\x53\x54\x4F\x4D\x20\x41\x50\x50\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x45\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x63\x75\x73\x74\x6F\x6D\x20\x61\x70\x70\x20\x22","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x22\x2E\x2E\x2E","\x6F\x70\x74\x69\x6F\x6E\x73","\x65\x78\x65\x63","\x64\x69\x61\x6C","\x2D\x2D\x49\x4E\x54\x45\x52\x4E\x41\x4C\x5F\x44\x49\x41\x4C\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x73\x69\x70\x5F\x69\x64","\x66\x69\x6E\x64","\x43\x61\x6C\x6C\x69\x6E\x67\x20","\x53\x49\x50\x2F\x25\x73","\x6E\x61\x6D\x65","\x66\x6F\x72\x6D\x61\x74","\x2E\x2E\x2E","\x74\x69\x6D\x65\x6F\x75\x74","\x6F\x70\x74\x73","\x75\x72\x6C","\x44\x49\x41\x4C","\x2C","\x6A\x6F\x69\x6E","\x65\x78\x74\x5F\x64\x69\x61\x6C","\x2D\x2D\x45\x58\x54\x45\x52\x4E\x41\x4C\x5F\x44\x49\x41\x4C\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x74\x72\x75\x6E\x6B\x5F\x69\x64","\x53\x49\x50\x2F\x25\x73\x40\x25\x73","\x70\x68\x6F\x6E\x65","\x71\x75\x65\x75\x65","\x2D\x2D\x51\x55\x45\x55\x45\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x71\x75\x65\x75\x65\x5F\x69\x64","\x66\x69\x6C\x65\x5F\x69\x64","\x6D\x61\x63\x72\x6F","\x67\x6F\x73\x75\x62","","\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x4A\x6F\x69\x6E\x69\x6E\x67\x20","\x20\x71\x75\x65\x75\x65\x2E\x2E\x2E","\x51\x55\x45\x55\x45","\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C","\x2D\x2D\x56\x4F\x49\x43\x45\x4D\x41\x49\x4C\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x25\x73\x40\x25\x73","\x62\x6F\x78\x6E\x75\x6D\x62\x65\x72","\x63\x6F\x6E\x74\x65\x78\x74","\x53\x74\x61\x72\x74\x69\x6E\x67\x20\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x20\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x2E\x2E\x2E","\x56\x4F\x49\x43\x45\x4D\x41\x49\x4C","\x6D\x61\x74\x68","\x2D\x2D\x4D\x41\x54\x48\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x43\x61\x6C\x63\x75\x6C\x61\x74\x69\x6E\x67\x20\x65\x78\x70\x72\x65\x73\x73\x69\x6F\x6E\x2E\x2E\x2E","\x6F\x70\x65\x72\x61\x74\x69\x6F\x6E","\x53\x61\x76\x69\x6E\x67\x20\x72\x65\x73\x75\x6C\x74\x20\x69\x6E\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x2E\x2E\x2E","\x76\x61\x72\x69\x61\x62\x6C\x65\x5F\x69\x64","\x70\x6C\x61\x79\x62\x61\x63\x6B","\x2D\x2D\x50\x4C\x41\x59\x42\x41\x43\x4B\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x45\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x70\x6C\x61\x79\x62\x61\x63\x6B\x2E\x2E\x2E","\x50\x4C\x41\x59\x42\x41\x43\x4B","\x6D\x65\x6E\x75","\x2D\x2D\x4D\x45\x4E\x55\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x54\x68\x65\x72\x65\x20\x61\x72\x65\x20","\x72\x65\x74\x72\x79","\x20\x72\x65\x74\x72\x69\x65\x73","\x2F\x76\x61\x72\x2F\x77\x77\x77\x2F\x68\x74\x6D\x6C\x2F\x66\x69\x6C\x65\x73\x2F\x73\x6F\x75\x6E\x64\x73\x2F\x62\x31\x39\x36\x34\x32\x64\x32\x66\x37\x31\x65\x39\x63\x66\x66\x66\x62\x64\x37\x38\x33\x66\x63\x63\x37\x39\x63\x37\x34\x31\x35","\x41\x6E\x6E\x6F\x75\x6E\x63\x69\x6E\x67\x20\x61\x6E\x64\x20\x77\x61\x69\x74\x69\x6E\x67\x20\x66\x6F\x72\x20\x75\x73\x65\x72\x20\x65\x6E\x74\x72\x79\x2E\x2E\x2E","\x47\x45\x54\x20\x44\x41\x54\x41\x20\x25\x73\x20\x25\x73\x20\x25\x73\x0A","\x72\x65\x73\x70\x6F\x6E\x73\x65","\x64\x69\x67\x69\x74","\x75\x6E\x69\x71\x75\x65\x69\x64","\x6C\x61\x62\x65\x6C","\x74\x61\x67","\x72\x65\x73\x75\x6C\x74","\x45\x72\x72\x6F\x72\x20\x73\x61\x76\x69\x6E\x67\x20","\x3A","\x20\x62\x6C\x6F\x63\x6B\x20\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x63\x72\x65\x61\x74\x65","\x20\x28\x74\x69\x6D\x65\x6F\x75\x74\x29","\x53\x61\x76\x69\x6E\x67\x20\x75\x73\x65\x72\x20\x65\x6E\x74\x72\x79\x20\x69\x6E\x20\x61\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x2E\x2E\x2E","\x64\x61\x74\x61","\x4D\x65\x6E\x75\x20\x74\x69\x6D\x65\x6F\x75\x74\x21","\x30","\x74","\x52\x75\x6E\x20\x6F\x75\x74\x20\x6F\x66\x20\x72\x65\x74\x72\x69\x65\x73\x21","\x2D","\x73\x61\x79\x6E\x75\x6D\x62\x65\x72","\x2D\x2D\x53\x41\x59\x4E\x55\x4D\x42\x45\x52\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x53\x61\x79\x69\x6E\x67\x20\x6E\x75\x6D\x62\x65\x72\x2E\x2E\x2E","\x53\x41\x59\x20\x4E\x55\x4D\x42\x45\x52\x20\x25\x73\x20\x22\x25\x73\x22\x0A","\x6E\x75\x6D\x62\x65\x72","\x65\x73\x63\x61\x70\x65\x5F\x64\x69\x67\x69\x74\x73","\x73\x61\x79\x70\x68\x6F\x6E\x65\x74\x69\x63","\x2D\x2D\x53\x41\x59\x50\x48\x4F\x4E\x45\x54\x49\x43\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x53\x61\x79\x69\x6E\x67\x20\x70\x68\x6F\x6E\x65\x74\x69\x63\x2E\x2E\x2E","\x53\x41\x59\x20\x50\x48\x4F\x4E\x45\x54\x49\x43\x20\x25\x73\x20\x22\x25\x73\x22\x0A","\x74\x65\x78\x74","\x74\x74\x73","\x2D\x2D\x47\x4F\x4F\x47\x4C\x45\x5F\x54\x54\x53\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x61\x67\x69\x5F\x73\x63\x72\x69\x70\x74\x73","\x67\x6F\x6F\x67\x6C\x65\x74\x74\x73\x2E\x61\x67\x69","\x67\x6F\x6F\x67\x6C\x65\x5F\x74\x74\x73\x5F\x6C\x61\x6E\x67\x75\x61\x67\x65","\x43\x61\x6C\x6C\x69\x6E\x67\x20\x47\x6F\x6F\x67\x6C\x65\x20\x54\x54\x53\x20\x41\x50\x49\x2E\x2E\x2E","\x41\x47\x49","\x69\x73\x70\x65\x65\x63\x68\x74\x74\x73","\x2D\x2D\x49\x53\x50\x45\x45\x43\x48\x5F\x54\x54\x53\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x2F\x76\x61\x72\x2F\x77\x77\x77\x2F\x68\x74\x6D\x6C\x2F\x61\x67\x69\x73\x71\x75\x61\x72\x65\x2F\x61\x67\x69\x73\x63\x72\x69\x70\x74\x73\x2F\x69\x73\x70\x65\x65\x63\x68\x2D\x74\x74\x73\x2E\x61\x67\x69","\x69\x73\x70\x65\x65\x63\x68\x5F\x74\x74\x73\x5F\x6C\x61\x6E\x67\x75\x61\x67\x65","\x6B\x65\x79","\x43\x61\x6C\x6C\x69\x6E\x67\x20\x69\x53\x70\x65\x65\x63\x68\x20\x54\x54\x53\x20\x41\x50\x49\x2E\x2E\x2E","\x67\x65\x74\x64\x69\x67\x69\x74\x73","\x2D\x2D\x47\x45\x54\x44\x49\x47\x49\x54\x53\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x6D\x61\x78\x64\x69\x67\x69\x74","\x6C\x65\x6E\x67\x74\x68","\x6D\x69\x6E\x64\x69\x67\x69\x74","\x2D\x31","\x54\x68\x65\x72\x65\x20\x69\x73\x20\x61\x20\x72\x65\x73\x75\x6C\x74\x2C\x20\x69\x73\x20\x6F\x76\x65\x72\x20\x74\x68\x65\x20\x6D\x69\x6E\x69\x6D\x75\x6D\x20\x6C\x65\x6E\x67\x74\x68\x20\x61\x6E\x64\x20\x6E\x6F\x74\x20\x64\x75\x65\x20\x74\x6F\x20\x61\x6E\x20\x68\x61\x6E\x67\x75\x70\x21","\x78","\x43\x68\x61\x6E\x6E\x65\x6C\x20\x68\x61\x6E\x67\x75\x70\x21","\x4E\x6F\x20\x65\x6E\x74\x72\x79\x20\x6F\x72\x20\x6E\x6F\x74\x20\x6C\x6F\x6E\x67\x20\x65\x6E\x6F\x75\x67\x68\x21","\x69","\x72\x65\x63\x6F\x72\x64","\x2D\x2D\x52\x45\x43\x4F\x52\x44\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x53\x74\x61\x72\x74\x69\x6E\x67\x20\x63\x61\x6C\x6C\x20\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x2E\x2E\x2E","\x52\x45\x43\x4F\x52\x44\x20\x46\x49\x4C\x45\x20\x25\x73\x20\x77\x61\x76\x20\x22\x25\x73\x22\x20\x25\x73\x20\x25\x73\x20\x25\x73\x20\x25\x73\x0A","\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x73","\x63\x6F\x64\x65","\x53\x61\x76\x69\x6E\x67\x20\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x20\x66\x69\x6C\x65\x6E\x61\x6D\x65\x20\x69\x6E\x20\x52\x45\x43\x4F\x52\x44\x49\x4E\x47\x5F\x53\x41\x56\x45\x4E\x41\x4D\x45\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x2E\x2E\x2E","\x53\x45\x54\x20\x56\x41\x52\x49\x41\x42\x4C\x45\x20\x25\x73\x20\x25\x73\x0A","\x52\x45\x43\x4F\x52\x44\x49\x4E\x47\x5F\x53\x41\x56\x45\x4E\x41\x4D\x45","\x67\x6F\x74\x6F\x69\x66\x74\x69\x6D\x65","\x2D\x2D\x47\x4F\x54\x4F\x49\x46\x54\x49\x4D\x45\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x66\x61\x6C\x73\x65","\x69\x6E\x74\x65\x72\x76\x61\x6C\x5F\x69\x64","\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64","\x69\x64","\x66\x69\x6C\x74\x65\x72","\x49\x73\x20\x61\x20\x67\x72\x6F\x75\x70\x20\x6F\x66\x20\x69\x6E\x74\x65\x72\x76\x61\x6C\x73\x21","\x20\x69\x6E\x74\x65\x72\x76\x61\x6C\x73\x21","\x43\x68\x65\x63\x6B\x69\x6E\x67\x20\x69\x66\x20\x61\x74\x20\x6C\x65\x61\x73\x74\x20\x6F\x6E\x65\x20\x69\x6E\x74\x65\x72\x76\x61\x6C\x20\x69\x73\x20\x76\x61\x6C\x69\x64\x2E\x2E\x2E","\x69\x6E\x74\x65\x72\x76\x61\x6C","\x49\x6E\x74\x65\x72\x76\x61\x6C\x20","\x20\x69\x73\x20\x76\x61\x6C\x69\x64\x21","\x74\x72\x75\x65","\x66\x6F\x72\x45\x61\x63\x68","\x54\x68\x65\x72\x65\x20\x61\x72\x65\x20\x6E\x6F\x20\x73\x75\x62\x20\x69\x6E\x74\x65\x72\x76\x61\x6C\x73\x2C\x20\x73\x6F\x20\x69\x74\x20\x77\x69\x6C\x6C\x20\x62\x65\x20\x61\x6C\x77\x61\x79\x73\x20\x74\x72\x75\x65\x21","\x49\x73\x20\x61\x20\x73\x69\x6E\x67\x6C\x65\x20\x69\x6E\x74\x65\x72\x76\x61\x6C\x21","\x54\x68\x65\x20\x69\x6E\x74\x65\x72\x76\x61\x6C\x20\x69\x73\x20\x76\x61\x6C\x69\x64\x21","\x54\x68\x65\x20\x66\x69\x6E\x61\x6C\x20\x72\x65\x73\x75\x6C\x74\x20\x66\x6F\x72\x20\x74\x68\x65\x20\x69\x6E\x74\x65\x72\x76\x61\x6C\x73\x20\x69\x73\x20\x22","\x22\x21","\x76\x73\x77\x69\x74\x63\x68","\x2D\x2D\x56\x41\x52\x49\x41\x42\x4C\x45\x5F\x53\x57\x49\x54\x43\x48\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x47\x65\x74\x74\x69\x6E\x67\x20\x74\x68\x65\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x20\x76\x61\x6C\x75\x65\x20\x61\x6E\x64\x20\x73\x65\x61\x72\x63\x68\x69\x6E\x67\x20\x74\x68\x65\x20\x72\x69\x67\x68\x74\x20\x65\x78\x69\x74\x2E\x2E\x2E","\x73\x79\x73\x74\x65\x6D","\x2D\x2D\x53\x59\x53\x54\x45\x4D\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x63\x6F\x6D\x6D\x61\x6E\x64","\x74\x72\x69\x6D","\x45\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x74\x68\x65\x20\x73\x79\x73\x74\x65\x6D\x20\x63\x6F\x6D\x6D\x61\x6E\x64\x2E\x2E\x2E","\x72\x65\x70\x6C\x61\x63\x65","\x50\x72\x6F\x67\x72\x61\x6D\x20\x6F\x75\x74\x70\x75\x74\x3A","\x53\x61\x76\x69\x6E\x67\x20\x74\x68\x65\x20\x6F\x75\x74\x70\x75\x74\x20\x69\x6E\x20\x61\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x2E\x2E\x2E","\x22","\x2D\x2D\x41\x47\x49\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x45\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x74\x68\x65\x20\x41\x47\x49\x20\x63\x6F\x6D\x6D\x61\x6E\x64\x2E\x2E\x2E","\x61\x72\x67\x73","\x73\x75\x62\x70\x72\x6F\x6A\x65\x63\x74","\x2D\x2D\x53\x55\x42\x50\x52\x4F\x4A\x45\x43\x54\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x70\x72\x6F\x6A\x65\x63\x74\x5F\x69\x64","\x4D\x6F\x76\x69\x6E\x67\x20\x74\x6F\x20\x70\x72\x6F\x6A\x65\x63\x74\x20\x22\x22","\x61\x67\x69\x3A\x2F\x2F\x31\x39\x32\x2E\x31\x36\x38\x2E\x32\x2E\x31\x34\x37\x2F\x73\x71\x75\x61\x72\x65\x2C\x25\x73","\x69\x73\x70\x65\x65\x63\x68\x61\x73\x72","\x2D\x2D\x49\x53\x50\x45\x45\x43\x48\x5F\x41\x53\x52\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x69\x73\x70\x65\x65\x63\x68\x2D\x61\x73\x72\x2E\x61\x67\x69","\x69\x73\x70\x65\x65\x63\x68\x5F\x61\x73\x72\x5F\x6C\x61\x6E\x67\x75\x61\x67\x65","\x6D\x6F\x64\x65\x6C","\x31","\x23","\x43\x61\x6C\x6C\x69\x6E\x67\x20\x47\x6F\x6F\x67\x6C\x65\x20\x41\x53\x52\x20\x41\x50\x49\x2E\x2E\x2E","\x64\x61\x74\x61\x62\x61\x73\x65","\x2D\x2D\x44\x41\x54\x41\x42\x41\x53\x45\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x6F\x64\x62\x63\x5F\x69\x64","\x54\x72\x79\x69\x6E\x67\x20\x74\x6F\x20\x67\x65\x74\x20\x4F\x44\x42\x43\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x2E\x2E\x2E","\x71\x75\x65\x72\x79","\x64\x73\x6E","\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x6F\x70\x65\x6E\x69\x6E\x67\x20\x65\x72\x72\x6F\x72\x3A\x20","\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x73\x75\x63\x63\x65\x64\x65\x64\x2C\x20\x65\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x71\x75\x65\x72\x79\x2E\x2E\x2E","\x51\x75\x65\x72\x79\x20\x65\x72\x72\x6F\x72\x3A\x20","\x51\x75\x65\x72\x79\x20\x65\x78\x65\x63\x75\x74\x65\x64\x2C\x20\x63\x6C\x6F\x73\x69\x6E\x67\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x2E\x2E\x2E","\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x63\x6C\x6F\x73\x69\x6E\x67\x20\x65\x72\x72\x6F\x72\x3A\x20","\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x63\x6C\x6F\x73\x65\x64\x2C\x20\x73\x61\x76\x69\x6E\x67\x20\x72\x65\x73\x75\x6C\x74\x69\x6E\x67\x20\x72\x6F\x77\x73\x20\x69\x6E\x20\x61\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x2E\x2E\x2E","\x63\x6C\x6F\x73\x65","\x6F\x70\x65\x6E","\x67\x6F\x74\x6F\x63","\x2D\x2D\x47\x4F\x54\x4F\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x47\x6F\x69\x6E\x67\x20\x74\x6F\x20\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x20","\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x20\x2E\x2E\x2E","\x4C\x6F\x63\x61\x6C\x2F\x25\x73\x40\x25\x73","\x67\x6F\x74\x6F\x69\x66","\x2D\x2D\x47\x4F\x54\x4F\x49\x46\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x45\x76\x61\x6C\x75\x61\x74\x69\x6E\x67\x20\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x2E\x2E\x2E","\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x54\x68\x65\x20\x72\x65\x73\x75\x6C\x74\x20\x69\x73\x20","\x68\x61\x6E\x67\x75\x70","\x2D\x2D\x48\x41\x4E\x47\x55\x50\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x48\x61\x6E\x67\x69\x6E\x20\x75\x70\x20\x74\x68\x65\x20\x63\x61\x6C\x6C\x2E\x2E\x2E","\x6E\x6F\x6F\x70","\x2D\x2D\x4E\x4F\x4F\x50\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x6F\x75\x74\x70\x75\x74","\x4E\x4F\x4F\x50\x20\x76\x61\x6C\x75\x65\x20\x69\x73\x20","\x4E\x4F\x4F\x50","\x73\x61\x79\x64\x69\x67\x69\x74\x73","\x2D\x2D\x53\x41\x59\x44\x49\x47\x49\x54\x53\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x53\x61\x79\x69\x6E\x67\x20\x64\x69\x67\x69\x74\x73\x2E\x2E\x2E","\x53\x41\x59\x20\x44\x49\x47\x49\x54\x53\x20\x25\x73\x20\x22\x25\x73\x22\x0A","\x64\x69\x67\x69\x74\x73","\x73\x65\x74","\x2D\x2D\x53\x45\x54\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x53\x61\x76\x69\x6E\x67\x20\x76\x61\x6C\x75\x65\x20\x69\x6E\x20\x61\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x2E\x2E\x2E","\x76\x61\x72\x69\x61\x62\x6C\x65\x5F\x76\x61\x6C\x75\x65","\x6D\x78\x63\x65\x6C\x6C","\x69\x73\x41\x72\x72\x61\x79","\x24","\x66\x6F\x72\x49\x6E","\x72\x65\x64\x75\x63\x65","\x65\x64\x67\x65","\x73\x6F\x75\x72\x63\x65","\x76\x61\x6C\x75\x65","\x24\x2E\x74\x61\x72\x67\x65\x74","\x6D\x61\x74\x63\x68","\x67\x65\x74\x56\x61\x72\x69\x61\x62\x6C\x65","\x73\x75\x62\x73\x74\x72\x69\x6E\x67","\x66\x6F\x72\x4D\x65\x74\x68\x6F\x64","\x28","\x6C\x61\x73\x74\x49\x6E\x64\x65\x78\x4F\x66","\x29","\x72\x65\x70\x6C\x61\x63\x65\x64","\x76\x65\x72\x74\x69\x63\x65\x73","\x73\x74\x61\x72\x74","\x69\x73\x46\x75\x6E\x63\x74\x69\x6F\x6E","\x66\x6F\x72","\x4E\x6F\x20\x74\x61\x72\x67\x65\x74\x20\x66\x6F\x75\x6E\x64\x2C\x20\x68\x61\x6E\x67\x75\x70\x21","\x66\x69\x6E\x61\x6C\x6C\x79","\x4E\x6F\x20\x74\x61\x72\x67\x65\x74\x20\x66\x6F\x75\x6E\x64\x2C\x20\x73\x74\x6F\x70\x70\x69\x6E\x67\x20\x22\x46\x69\x6E\x61\x6C\x6C\x79\x22\x20\x62\x72\x61\x6E\x63\x68\x21","\x65\x6E\x64","\x65\x72\x72\x6F\x72","\x2F\x2F\x45\x72\x72\x6F\x72\x3A","\x6F\x6E","\x2F\x2F\x43\x6F\x6E\x74\x65\x78\x74\x20\x63\x6C\x6F\x73\x65","\x2F\x2F\x53\x74\x61\x72\x74\x69\x6E\x67\x20\x22\x46\x69\x6E\x61\x6C\x6C\x79\x22\x20\x62\x72\x61\x6E\x63\x68\x21","\x6C\x61\x75\x6E\x63\x68\x46\x69\x62\x65\x72","\x45\x72\x72\x6F\x72\x20\x73\x61\x76\x69\x6E\x67\x20\x65\x78\x69\x74\x20\x74\x69\x6D\x65\x20\x66\x72\x6F\x6D\x20\x49\x56\x52","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x75\x70\x64\x61\x74\x65","\x2F\x2F\x43\x6F\x6E\x74\x65\x78\x74\x20\x48\x61\x6E\x67\x75\x70","\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x52\x65\x63\x65\x69\x76\x65\x64\x20\x6E\x65\x77\x20\x63\x61\x6C\x6C\x20\x66\x72\x6F\x6D\x3A\x20","\x61\x67\x69\x5F\x63\x61\x6C\x6C\x65\x72\x69\x64","\x20\x77\x69\x74\x68\x20\x75\x6E\x69\x71\x75\x65\x69\x64\x3A\x20","\x61\x67\x69\x5F\x75\x6E\x69\x71\x75\x65\x69\x64","\x61\x67\x69\x5F\x6E\x65\x74\x77\x6F\x72\x6B","\x61\x67\x69\x5F\x6E\x65\x74\x77\x6F\x72\x6B\x5F\x73\x63\x72\x69\x70\x74","\x61\x67\x69\x5F\x72\x65\x71\x75\x65\x73\x74","\x61\x67\x69\x5F\x63\x68\x61\x6E\x6E\x65\x6C","\x61\x67\x69\x5F\x6C\x61\x6E\x67\x75\x61\x67\x65","\x61\x67\x69\x5F\x74\x79\x70\x65","\x61\x67\x69\x5F\x76\x65\x72\x73\x69\x6F\x6E","\x61\x67\x69\x5F\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x61\x6D\x65","\x61\x67\x69\x5F\x63\x61\x6C\x6C\x69\x6E\x67\x70\x72\x65\x73","\x61\x67\x69\x5F\x63\x61\x6C\x6C\x69\x6E\x67\x61\x6E\x69\x32","\x61\x67\x69\x5F\x63\x61\x6C\x6C\x69\x6E\x67\x74\x6F\x6E","\x61\x67\x69\x5F\x63\x61\x6C\x6C\x69\x6E\x67\x74\x6E\x73","\x61\x67\x69\x5F\x64\x6E\x69\x64","\x61\x67\x69\x5F\x72\x64\x6E\x69\x73","\x61\x67\x69\x5F\x63\x6F\x6E\x74\x65\x78\x74","\x61\x67\x69\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x61\x67\x69\x5F\x70\x72\x69\x6F\x72\x69\x74\x79","\x61\x67\x69\x5F\x65\x6E\x68\x61\x6E\x63\x65\x64","\x61\x67\x69\x5F\x61\x63\x63\x6F\x75\x6E\x74\x63\x6F\x64\x65","\x61\x67\x69\x5F\x74\x68\x72\x65\x61\x64\x69\x64","\x61\x67\x69\x5F\x61\x72\x67\x5F\x31","\x45\x72\x72\x6F\x72\x20\x73\x61\x76\x69\x6E\x67\x20\x65\x6E\x74\x65\x72\x20\x74\x69\x6D\x65\x20\x66\x6F\x72\x20\x49\x56\x52","\x45\x72\x72\x6F\x72\x3A","\x70\x72\x6F\x64\x75\x63\x74\x69\x6F\x6E","\x6D\x78\x67\x72\x61\x70\x68\x6D\x6F\x64\x65\x6C","\x4E\x6F\x20\x72\x6F\x6F\x74\x20\x69\x6E\x20\x70\x72\x6F\x6A\x65\x63\x74\x21","\x70\x61\x72\x73\x65\x53\x74\x72\x69\x6E\x67","\x4E\x6F\x20\x70\x72\x6F\x6A\x65\x63\x74\x20\x70\x75\x62\x6C\x69\x73\x68\x65\x64\x21","\x4E\x6F\x20\x70\x72\x6F\x6A\x65\x63\x74\x20\x66\x6F\x75\x6E\x64\x21","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x4F\x6E\x65","\x4E\x6F\x20\x70\x72\x6F\x6A\x65\x63\x74\x20\x61\x72\x67\x75\x6D\x65\x6E\x74\x21","\x73\x70\x6C\x69\x74","\x2A","\x74\x5F\x66\x72\x6F\x6D","\x48\x48\x3A\x6D\x6D","\x74\x5F\x74\x6F","\x77\x64\x5F\x66\x72\x6F\x6D","\x77\x64\x5F\x74\x6F","\x6D\x64\x5F\x66\x72\x6F\x6D","\x6D\x64\x5F\x74\x6F","\x6D\x5F\x66\x72\x6F\x6D","\x6D\x5F\x74\x6F","\x45","\x44","\x4D","\x70\x75\x73\x68","\x69\x73\x42\x65\x74\x77\x65\x65\x6E","\x69\x6E\x64\x65\x78\x4F\x66","\x53\x65\x74\x74\x69\x6E\x67\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x2E\x2E\x2E","\x53\x65\x6E\x64\x69\x6E\x67\x20\x73\x65\x74\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x2C\x20\x76\x61\x6C\x75\x65\x20\x69\x73\x20","\x25\x73\x2F\x25\x73","\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x5F\x70\x61\x74\x68","\x73\x61\x76\x65\x5F\x6E\x61\x6D\x65","\x63\x6C\x6F\x6E\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x6D\x65\x72\x67\x65","\x75\x6E\x73\x68\x69\x66\x74","\x61\x67\x69\x5F\x70\x6F\x72\x74","\x65\x78\x70\x6F\x72\x74\x73","\x53\x74\x61\x72\x74\x69\x6E\x67\x20\x43\x61\x6C\x6C\x79\x20\x53\x71\x75\x61\x72\x65\x20\x41\x47\x49\x2E\x2E\x2E","\x6C\x69\x73\x74\x65\x6E","\x63\x72\x65\x61\x74\x65\x53\x65\x72\x76\x65\x72"];_0xdba1[0];var _=require(_0xdba1[1]);var agi=require(_0xdba1[2]);var util=require(_0xdba1[3]);var moment=require(_0xdba1[4]);var xml=require(_0xdba1[5]);var wait=require(_0xdba1[6]);var sr=require(_0xdba1[7]);var path=require(_0xdba1[8]);var config=require(_0xdba1[9]);var sh=require(_0xdba1[10]);var db=require(_0xdba1[11])();var SquareProject=require(_0xdba1[13])[_0xdba1[12]];var Variable=require(_0xdba1[13])[_0xdba1[14]];var SquareOdbc=require(_0xdba1[13])[_0xdba1[15]];var Settings=require(_0xdba1[13])[_0xdba1[16]];var User=require(_0xdba1[13])[_0xdba1[17]];var VoiceQueue=require(_0xdba1[13])[_0xdba1[18]];var Trunk=require(_0xdba1[13])[_0xdba1[19]];var Interval=require(_0xdba1[13])[_0xdba1[20]];var Upload=require(_0xdba1[13])[_0xdba1[21]];var ReportSquare=require(_0xdba1[13])[_0xdba1[22]];var ReportSquareDetail=require(_0xdba1[13])[_0xdba1[23]];var users,trunks,variables,intervals,projects,sounds,queues,dbConnections,generalUniqueId;var agiPort;var weekDaysCollection={mon:1,tue:2,wed:3,thu:4,fri:5,sat:6,sun:7};var monthsCollection={jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12};var methods={};methods[_0xdba1[24]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[25]);console[_0xdba1[26]](_0xdba1[27]);_0x1026x24[_0xdba1[29]](_0xdba1[28],function(_0x1026x27,_0x1026x28){_0x1026x26(_0x1026x27,_0x1026x28)});};methods[_0xdba1[30]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[31]);console[_0xdba1[26]](_0xdba1[32]+_0x1026x25[_0xdba1[33]]+_0xdba1[34]);_0x1026x24[_0xdba1[36]](_0x1026x25[_0xdba1[33]],_0x1026x25[_0xdba1[35]],function(_0x1026x27,_0x1026x28){if(_0x1026x26){_0x1026x26(_0x1026x27,_0x1026x28)}});};methods[_0xdba1[37]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[38]);if(!users){getUsers(false)};var _0x1026x29=_[_0xdba1[40]](users,{id:parseInt(_0x1026x25[_0xdba1[39]])});console[_0xdba1[26]](_0xdba1[41]+util[_0xdba1[44]](_0xdba1[42],_0x1026x29[_0xdba1[43]])+_0xdba1[45]);var _0x1026x2a=[util[_0xdba1[44]](_0xdba1[42],_0x1026x29[_0xdba1[43]]),_0x1026x25[_0xdba1[46]],_0x1026x25[_0xdba1[47]],_0x1026x25[_0xdba1[48]]];_0x1026x24[_0xdba1[36]](_0xdba1[49],_0x1026x2a[_0xdba1[51]](_0xdba1[50]),function(_0x1026x27,_0x1026x28){_0x1026x26(_0x1026x27,_0x1026x28)});};methods[_0xdba1[52]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[53]);if(!trunks){getTrunks(false)};var _0x1026x2b=_[_0xdba1[40]](trunks,{id:parseInt(_0x1026x25[_0xdba1[54]])});console[_0xdba1[26]](_0xdba1[41]+util[_0xdba1[44]](_0xdba1[42],_0x1026x2b[_0xdba1[43]])+_0xdba1[45]);var _0x1026x2a=[util[_0xdba1[44]](_0xdba1[55],_0x1026x25[_0xdba1[56]],_0x1026x2b[_0xdba1[43]]),_0x1026x25[_0xdba1[46]],_0x1026x25[_0xdba1[47]],_0x1026x25[_0xdba1[48]]];_0x1026x24[_0xdba1[36]](_0xdba1[49],_0x1026x2a[_0xdba1[51]](_0xdba1[50]),function(_0x1026x27,_0x1026x28){_0x1026x26(_0x1026x27,_0x1026x28)});};methods[_0xdba1[57]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[58]);if(!queues){getQueues(false)};var _0x1026x2c=_[_0xdba1[40]](queues,{name:_0x1026x25[_0xdba1[59]]});var _0x1026x2d=getFilePath(_0x1026x25[_0xdba1[60]]);var _0x1026x2a=[_0x1026x2c[_0xdba1[43]],_0x1026x25[_0xdba1[47]],_0x1026x25[_0xdba1[48]],_0x1026x2d,_0x1026x25[_0xdba1[46]],_0x1026x25[_0xdba1[2]],_0x1026x25[_0xdba1[61]],_0x1026x25[_0xdba1[62]],_0xdba1[63],_0x1026x25[_0xdba1[64]]];console[_0xdba1[26]](_0xdba1[65]+_0x1026x2c[_0xdba1[43]]+_0xdba1[66]);_0x1026x24[_0xdba1[36]](_0xdba1[67],_0x1026x2a[_0xdba1[51]](_0xdba1[50]),function(_0x1026x27,_0x1026x28){_0x1026x26(_0x1026x27,_0x1026x28)});};methods[_0xdba1[68]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[69]);var _0x1026x2a=[util[_0xdba1[44]](_0xdba1[70],_0x1026x25[_0xdba1[71]],_0x1026x25[_0xdba1[72]]),_0x1026x25[_0xdba1[47]]];console[_0xdba1[26]](_0xdba1[73]);_0x1026x24[_0xdba1[36]](_0xdba1[74],_0x1026x2a[_0xdba1[51]](_0xdba1[50]),function(_0x1026x27,_0x1026x28){_0x1026x26(_0x1026x27,_0x1026x28)});};methods[_0xdba1[75]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[76]);console[_0xdba1[26]](_0xdba1[77]);var _0x1026x2e=eval(_0x1026x25[_0xdba1[78]]);console[_0xdba1[26]](_0xdba1[79]);setVariable(_0x1026x24,_0x1026x25[_0xdba1[80]],_0x1026x2e,_0x1026x26);};methods[_0xdba1[81]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[82]);var _0x1026x2f=getFilePath(_0x1026x25[_0xdba1[60]]);var _0x1026x2a=[_0x1026x2f,_0x1026x25[_0xdba1[47]]];console[_0xdba1[26]](_0xdba1[83]);_0x1026x24[_0xdba1[36]](_0xdba1[84],_0x1026x2a[_0xdba1[51]](_0xdba1[50]),function(_0x1026x27,_0x1026x28){_0x1026x26(_0x1026x27,_0x1026x28)});};methods[_0xdba1[85]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[86]);var _0x1026x28={};console[_0xdba1[26]](_0xdba1[87]+_0x1026x25[_0xdba1[88]]+_0xdba1[89]);if(_0x1026x25[_0xdba1[88]]>0){_0x1026x25[_0xdba1[88]]--;var _0x1026x30=_0xdba1[90];console[_0xdba1[26]](_0xdba1[91]);_0x1026x24[_0xdba1[29]](util[_0xdba1[44]](_0xdba1[92],_0x1026x30,parseInt(_0x1026x25[_0xdba1[93]])*1000,_0x1026x25[_0xdba1[94]]),function(_0x1026x27,_0x1026x28){var _0x1026x31={uniqueid:_0x1026x24[_0xdba1[95]],node:_0x1026x25[_0xdba1[96]],application:_0x1026x25[_0xdba1[97]],data:_0x1026x28[_0xdba1[98]]||null};ReportSquareDetail[_0xdba1[103]](_0x1026x31)[_0xdba1[102]](function(_0x1026x27){console[_0xdba1[26]](_0xdba1[99]+_0x1026x25[_0xdba1[97]]+_0xdba1[100]+_0x1026x25[_0xdba1[96]]+_0xdba1[101],_0x1026x27)});if(_0x1026x28[_0xdba1[98]]!==_0xdba1[104]){var _0x1026x32=parseInt(_0x1026x25[_0xdba1[80]]);if(_0x1026x32){console[_0xdba1[26]](_0xdba1[105]);setVariable(_0x1026x24,_0x1026x32,_0x1026x28[_0xdba1[98]]);};_0x1026x28[_0xdba1[106]]=_0x1026x28[_0xdba1[98]];_0x1026x26(null,_0x1026x28);}else {console[_0xdba1[26]](_0xdba1[107]);_0x1026x28={code:200,result:_0xdba1[108],data:_0xdba1[109]};_0x1026x26(null,_0x1026x28);};});}else {console[_0xdba1[26]](_0xdba1[110]);_0x1026x28={code:200,result:_0xdba1[108],data:_0xdba1[111]};_0x1026x26(null,_0x1026x28);};};methods[_0xdba1[112]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[113]);console[_0xdba1[26]](_0xdba1[114]);_0x1026x24[_0xdba1[29]](util[_0xdba1[44]](_0xdba1[115],_0x1026x25[_0xdba1[116]],_0x1026x25[_0xdba1[117]]),function(_0x1026x27,_0x1026x28){_0x1026x26(_0x1026x27,_0x1026x28)});};methods[_0xdba1[118]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[119]);console[_0xdba1[26]](_0xdba1[120]);_0x1026x24[_0xdba1[29]](util[_0xdba1[44]](_0xdba1[121],_0x1026x25[_0xdba1[122]],_0x1026x25[_0xdba1[117]]),function(_0x1026x27,_0x1026x28){_0x1026x26(_0x1026x27,_0x1026x28)});};methods[_0xdba1[123]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[124]);var _0x1026x2a=[path[_0xdba1[51]](config[_0xdba1[125]],_0xdba1[126],_0xdba1[127]),encodeURIComponent(_0x1026x25[_0xdba1[122]]),_0x1026x25[_0xdba1[128]]];console[_0xdba1[26]](_0xdba1[129]);_0x1026x24[_0xdba1[36]](_0xdba1[130],_0x1026x2a[_0xdba1[51]](_0xdba1[50]),function(_0x1026x27,_0x1026x28){_0x1026x26(_0x1026x27,_0x1026x28)});};methods[_0xdba1[131]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[132]);var _0x1026x2a=[_0xdba1[133],encodeURIComponent(_0x1026x25[_0xdba1[122]]),_0x1026x25[_0xdba1[134]],_0xdba1[63],_0xdba1[63],_0x1026x25[_0xdba1[135]]];console[_0xdba1[26]](_0xdba1[136]);_0x1026x24[_0xdba1[36]](_0xdba1[130],_0x1026x2a[_0xdba1[51]](_0xdba1[50]),function(_0x1026x27,_0x1026x28){_0x1026x26(_0x1026x27,_0x1026x28)});};methods[_0xdba1[137]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[138]);var _0x1026x28={};console[_0xdba1[26]](_0xdba1[87]+_0x1026x25[_0xdba1[88]]+_0xdba1[89]);if(_0x1026x25[_0xdba1[88]]>0){_0x1026x25[_0xdba1[88]]--;var _0x1026x30=getFilePath(_0x1026x25[_0xdba1[60]]);console[_0xdba1[26]](_0xdba1[91]);_0x1026x24[_0xdba1[29]](util[_0xdba1[44]](_0xdba1[92],_0x1026x30,parseInt(_0x1026x25[_0xdba1[93]])*1000,_0x1026x25[_0xdba1[139]]),function(_0x1026x27,_0x1026x28){var _0x1026x31={uniqueid:_0x1026x24[_0xdba1[95]],node:_0x1026x25[_0xdba1[96]],application:_0x1026x25[_0xdba1[97]],data:_0x1026x28[_0xdba1[98]]||null};ReportSquareDetail[_0xdba1[103]](_0x1026x31)[_0xdba1[102]](function(_0x1026x27){console[_0xdba1[26]](_0xdba1[99]+_0x1026x25[_0xdba1[97]]+_0xdba1[100]+_0x1026x25[_0xdba1[96]]+_0xdba1[101],_0x1026x27)});if(_0x1026x28[_0xdba1[98]]&&_0x1026x28[_0xdba1[98]][_0xdba1[140]]>=parseInt(_0x1026x25[_0xdba1[141]])){if(_0x1026x28[_0xdba1[98]]!==_0xdba1[142]){console[_0xdba1[26]](_0xdba1[143]);var _0x1026x32=parseInt(_0x1026x25[_0xdba1[80]]);if(_0x1026x32){console[_0xdba1[26]](_0xdba1[105]);setVariable(_0x1026x24,_0x1026x32,_0x1026x28[_0xdba1[98]]);};_0x1026x28={code:200,result:_0xdba1[108],data:_0xdba1[144]};_0x1026x26(null,_0x1026x28);}else {console[_0xdba1[26]](_0xdba1[145]);_0x1026x28={code:500,result:_0xdba1[142]};_0x1026x26(null,_0x1026x28);}}else {console[_0xdba1[26]](_0xdba1[146]);_0x1026x28={code:200,result:_0xdba1[108],data:_0xdba1[147]};_0x1026x26(null,_0x1026x28);};});}else {console[_0xdba1[26]](_0xdba1[110]);_0x1026x28={code:500,result:_0xdba1[142]};_0x1026x26(null,_0x1026x28);};};methods[_0xdba1[148]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[149]);var _0x1026x33=sr();console[_0xdba1[26]](_0xdba1[150]);_0x1026x24[_0xdba1[29]](util[_0xdba1[44]](_0xdba1[151],path[_0xdba1[51]](config[_0xdba1[125]],_0xdba1[152],_0x1026x33),_0x1026x25[_0xdba1[117]],_0x1026x25[_0xdba1[46]],null,true,null),function(_0x1026x27,_0x1026x28){if(_0x1026x28[_0xdba1[153]]===200&&_0x1026x28[_0xdba1[98]]!==_0xdba1[142]){console[_0xdba1[26]](_0xdba1[154]);_0x1026x24[_0xdba1[29]](util[_0xdba1[44]](_0xdba1[155],_0xdba1[156],_0x1026x33),function(_0x1026x27,_0x1026x28){_0x1026x26(_0x1026x27,_0x1026x28)});}else {_0x1026x26(_0x1026x27,_0x1026x28)}});};methods[_0xdba1[157]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[158]);var _0x1026x28;var _0x1026x34=_0xdba1[159];var _0x1026x35;if(!intervals){getIntervals(false)};var _0x1026x36=_[_0xdba1[40]](intervals,{id:parseInt(_0x1026x25[_0xdba1[160]])});if(!_0x1026x36[_0xdba1[161]]){_0x1026x35=_[_0xdba1[163]](intervals,{IntervalId:parseInt(_0x1026x36[_0xdba1[162]])})};if(_0x1026x35){console[_0xdba1[26]](_0xdba1[164]);if(_0x1026x35[_0xdba1[140]]){console[_0xdba1[26]](_0xdba1[87]+_0x1026x35[_0xdba1[140]]+_0xdba1[165]);var _0x1026x37;console[_0xdba1[26]](_0xdba1[166]);_0x1026x35[_0xdba1[171]](function(_0x1026x38,_0x1026x39){_0x1026x37=splitInterval(_0x1026x38[_0xdba1[167]]);if(isIntervalValid(_0x1026x37)){console[_0xdba1[26]](_0xdba1[168]+_0x1026x39+_0xdba1[169]);_0x1026x34=_0xdba1[170];};});}else {console[_0xdba1[26]](_0xdba1[172]);_0x1026x34=_0xdba1[170];};}else {console[_0xdba1[26]](_0xdba1[173]);var _0x1026x3a=splitInterval(_0x1026x36[_0xdba1[167]]);if(isIntervalValid(_0x1026x3a)){console[_0xdba1[26]](_0xdba1[174]);_0x1026x34=_0xdba1[170];};};console[_0xdba1[26]](_0xdba1[175]+_0x1026x34+_0xdba1[176]);_0x1026x28={code:200,result:_0xdba1[108],data:_0x1026x34};_0x1026x26(null,_0x1026x28);};methods[_0xdba1[177]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[178]);console[_0xdba1[26]](_0xdba1[179]);var _0x1026x28={data:getVariable(_0x1026x24,_0x1026x25[_0xdba1[80]])};_0x1026x26(null,_0x1026x28);};methods[_0xdba1[180]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[181]);var _0x1026x31={uniqueid:_0x1026x24[_0xdba1[95]],node:_0x1026x25[_0xdba1[96]],application:_0x1026x25[_0xdba1[97]],data:_[_0xdba1[183]](_0x1026x25[_0xdba1[182]])||null};ReportSquareDetail[_0xdba1[103]](_0x1026x31)[_0xdba1[102]](function(_0x1026x27){console[_0xdba1[26]](_0xdba1[99]+_0x1026x25[_0xdba1[97]]+_0xdba1[100]+_0x1026x25[_0xdba1[96]]+_0xdba1[101],_0x1026x27)});console[_0xdba1[26]](_0xdba1[184]);sh[_0xdba1[36]](_[_0xdba1[183]](_0x1026x25[_0xdba1[182]]),function(_0x1026x3b,_0x1026x3c){var _0x1026x3d=_0x1026x3c[_0xdba1[185]](/(\r\n|\n|\r)/gm,_0xdba1[63]);console[_0xdba1[26]](_0xdba1[186],_0x1026x3d);console[_0xdba1[26]](_0xdba1[187]);setVariable(_0x1026x24,_0x1026x25[_0xdba1[80]],_0xdba1[188]+_0x1026x3d+_0xdba1[188],_0x1026x26);});};methods[_0xdba1[2]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[189]);console[_0xdba1[26]](_0xdba1[190]);_0x1026x24[_0xdba1[36]](_0xdba1[130],_0x1026x25[_0xdba1[182]],_0x1026x25[_0xdba1[191]],function(_0x1026x27,_0x1026x28){_0x1026x26(_0x1026x27,_0x1026x28)});};methods[_0xdba1[192]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[193]);if(!projects){getProjects(false)};var _0x1026x3e=_[_0xdba1[40]](projects,{id:parseInt(_0x1026x25[_0xdba1[194]])});console[_0xdba1[26]](_0xdba1[195]+_0x1026x3e[_0xdba1[43]]+_0xdba1[34]);_0x1026x24[_0xdba1[36]](_0xdba1[130],util[_0xdba1[44]](_0xdba1[196],_0x1026x3e[_0xdba1[43]]),function(_0x1026x27,_0x1026x28){_0x1026x26(_0x1026x27,_0x1026x28)});};methods[_0xdba1[197]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[198]);var _0x1026x2a=[path[_0xdba1[51]](config[_0xdba1[125]],_0xdba1[126],_0xdba1[199]),_0x1026x25[_0xdba1[200]],_0xdba1[63],(_0x1026x25[_0xdba1[201]]===_0xdba1[108]?_0xdba1[63]:_0x1026x25[_0xdba1[201]]),_0xdba1[202],_0xdba1[203],_0xdba1[63],_0x1026x25[_0xdba1[135]]];console[_0xdba1[26]](_0xdba1[204]);_0x1026x24[_0xdba1[36]](_0xdba1[130],_0x1026x2a[_0xdba1[51]](_0xdba1[50]),function(_0x1026x27,_0x1026x28){_0x1026x26(_0x1026x27,_0x1026x28)});};methods[_0xdba1[205]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[206]);if(!dbConnections){getDbConnections(false)};var _0x1026x3f=_[_0xdba1[40]](dbConnections,{id:parseInt(_0x1026x25[_0xdba1[207]])});console[_0xdba1[26]](_0xdba1[208]);var _0x1026x31={uniqueid:_0x1026x24[_0xdba1[95]],node:_0x1026x25[_0xdba1[96]],application:_0x1026x25[_0xdba1[97]],data:_0x1026x25[_0xdba1[209]]||null};ReportSquareDetail[_0xdba1[103]](_0x1026x31)[_0xdba1[102]](function(_0x1026x27){console[_0xdba1[26]](_0xdba1[99]+_0x1026x25[_0xdba1[97]]+_0xdba1[100]+_0x1026x25[_0xdba1[96]]+_0xdba1[101],_0x1026x27)});db[_0xdba1[218]](_0x1026x3f[_0xdba1[210]],function(_0x1026x27){if(_0x1026x27){console[_0xdba1[26]](_0xdba1[211],_0x1026x27);var _0x1026x28={code:500,result:_0xdba1[142]};_0x1026x26(null,_0x1026x28);}else {console[_0xdba1[26]](_0xdba1[212]);db[_0xdba1[209]](_0x1026x25[_0xdba1[209]],function(_0x1026x27,_0x1026x40){if(_0x1026x27){console[_0xdba1[26]](_0xdba1[213],_0x1026x27);var _0x1026x28={code:500,result:_0xdba1[142]};_0x1026x26(null,_0x1026x28);}else {console[_0xdba1[26]](_0xdba1[214]);db[_0xdba1[217]](function(_0x1026x27){if(_0x1026x27){console[_0xdba1[26]](_0xdba1[215],_0x1026x27);var _0x1026x28={code:500,result:_0xdba1[142]};_0x1026x26(null,_0x1026x28);}else {console[_0xdba1[26]](_0xdba1[216]);setVariable(_0x1026x24,_0x1026x25[_0xdba1[80]],_0x1026x40,_0x1026x26);}});}});}});};methods[_0xdba1[219]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[220]);console[_0xdba1[26]](_0xdba1[221]+_0x1026x25[_0xdba1[222]]+_0xdba1[223]);_0x1026x24[_0xdba1[36]](_0xdba1[49],util[_0xdba1[44]](_0xdba1[224],_0x1026x25[_0xdba1[222]],_0x1026x25[_0xdba1[72]]),function(_0x1026x27,_0x1026x28){_0x1026x26(_0x1026x27,_0x1026x28)});};methods[_0xdba1[225]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[226]);var _0x1026x28={code:200,result:_0xdba1[108]};console[_0xdba1[26]](_0xdba1[227]);_0x1026x28[_0xdba1[106]]=String(eval(_0x1026x25[_0xdba1[228]])?_0xdba1[170]:_0xdba1[159]);console[_0xdba1[26]](_0xdba1[229]+_0x1026x28[_0xdba1[106]]);_0x1026x26(null,_0x1026x28);};methods[_0xdba1[230]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[231]);console[_0xdba1[26]](_0xdba1[232]);_0x1026x24[_0xdba1[230]]();};methods[_0xdba1[233]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[234]);var _0x1026x3c=(_0x1026x25[_0xdba1[235]])?_0xdba1[188]+_0x1026x25[_0xdba1[235]]+_0xdba1[188]:_0xdba1[188]+_0x1026x25[_0xdba1[96]]+_0xdba1[188];console[_0xdba1[26]](_0xdba1[236]+_0x1026x3c);_0x1026x24[_0xdba1[36]](_0xdba1[237],_0x1026x3c,function(_0x1026x27,_0x1026x28){_0x1026x26(_0x1026x27,_0x1026x28)});};methods[_0xdba1[238]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[239]);console[_0xdba1[26]](_0xdba1[240]);_0x1026x24[_0xdba1[29]](util[_0xdba1[44]](_0xdba1[241],_0x1026x25[_0xdba1[242]],_0x1026x25[_0xdba1[117]]),function(_0x1026x27,_0x1026x28){_0x1026x26(_0x1026x27,_0x1026x28)});};methods[_0xdba1[243]]=function(_0x1026x24,_0x1026x25,_0x1026x26){console[_0xdba1[26]](_0xdba1[244]);console[_0xdba1[26]](_0xdba1[245]);setVariable(_0x1026x24,_0x1026x25[_0xdba1[80]],_0x1026x25[_0xdba1[246]],_0x1026x26);};function getVertices(_0x1026x42){return _[_0xdba1[251]](_0x1026x42,function(_0x1026x2e,_0x1026x43,_0x1026x44){if(_0x1026x44===_0xdba1[247]){return _0x1026x2e};if(_[_0xdba1[248]](_0x1026x43)){_[_0xdba1[250]](_0x1026x43,function(_0x1026x45,_0x1026x46){_0x1026x2e[_0x1026x45[_0xdba1[249]][_0xdba1[162]]]=_0x1026x45[_0xdba1[249]];_0x1026x2e[_0x1026x45[_0xdba1[249]][_0xdba1[162]]][_0xdba1[97]]=_0x1026x44;});return _0x1026x2e;};_0x1026x2e[_0x1026x43[_0xdba1[249]][_0xdba1[162]]]=_0x1026x43[_0xdba1[249]];_0x1026x2e[_0x1026x43[_0xdba1[249]][_0xdba1[162]]][_0xdba1[97]]=_0x1026x44;return _0x1026x2e;},{})}function getTargetBySource(_0x1026x42,_0x1026x48,_0x1026x45){return _[_0xdba1[98]](_[_0xdba1[40]](_0x1026x42[_0xdba1[247]],function(_0x1026x43){if(_0x1026x43[_0xdba1[249]][_0xdba1[252]]&&_0x1026x43[_0xdba1[249]][_0xdba1[253]]){if(_0x1026x43[_0xdba1[249]][_0xdba1[253]]===_0x1026x48){if(_0x1026x43[_0xdba1[249]][_0xdba1[254]]&&_0x1026x43[_0xdba1[249]][_0xdba1[254]]!==_0x1026x45){return false};return true;}};return false;}),_0xdba1[255])}function replaceAllVariables(_0x1026x24,_0x1026x25,_0x1026x26){var _0x1026x4a=_0x1026x25;for(var _0x1026x46 in _0x1026x4a){var _0x1026x28=_0x1026x4a[_0x1026x46][_0xdba1[256]](/{+(.*?)}/gi);if(_0x1026x28){for(var _0x1026x4b in _0x1026x28){var _0x1026x45=wait[_0xdba1[259]](_0x1026x24,_0xdba1[257],_0x1026x28[_0x1026x4b][_0xdba1[258]](1,_0x1026x28[_0x1026x4b][_0xdba1[140]]-1));if(_0x1026x45[_0xdba1[153]]===200&&_0x1026x45[_0xdba1[98]]!==_0xdba1[108]){var _0x1026x4c=_0x1026x45[_0xdba1[98]][_0xdba1[258]](_0x1026x45[_0xdba1[98]][_0xdba1[261]](_0xdba1[260])+1,_0x1026x45[_0xdba1[98]][_0xdba1[261]](_0xdba1[262]));_0x1026x4a[_0x1026x46]=_0x1026x4a[_0x1026x46][_0xdba1[185]](_0x1026x28[_0x1026x4b],_0x1026x4c);};}};};_0x1026x4a[_0xdba1[263]]=true;return _0x1026x4a;}function xstart(_0x1026x24){var _0x1026x42=_0x1026x24[_0xdba1[125]];var _0x1026x4e=_0x1026x24[_0xdba1[264]];if(_0x1026x42[_0xdba1[265]]){if(!_[_0xdba1[248]](_0x1026x42[_0xdba1[265]])){var _0x1026x48=_0x1026x42[_0xdba1[265]][_0xdba1[249]][_0xdba1[162]];var _0x1026x28={};do{var _0x1026x25=_0x1026x4e[_0x1026x48][_0xdba1[263]]?_0x1026x4e[_0x1026x48]:replaceAllVariables(_0x1026x24,_0x1026x4e[_0x1026x48]);if(_0x1026x25){if(_[_0xdba1[266]](methods[_0x1026x25[_0xdba1[97]]])){_0x1026x28=wait[_0xdba1[267]](methods[_0x1026x25[_0xdba1[97]]],_0x1026x24,_0x1026x25)}else {_0x1026x28=wait[_0xdba1[267]](methods[_0xdba1[233]],_0x1026x24,_0x1026x25)};if(_0x1026x28[_0xdba1[153]]===200&&_0x1026x28[_0xdba1[98]]!==_0xdba1[142]){var _0x1026x4f=getTargetBySource(_0x1026x42,_0x1026x48,_0x1026x28[_0xdba1[106]]);if(_0x1026x4f){}else {if(_0x1026x25[_0xdba1[97]]===_0xdba1[85]){if(_0x1026x25[_0xdba1[88]]>0){_0x1026x4f=getTargetBySource(_0x1026x42,_0x1026x48,_0xdba1[147]);if(_0x1026x4f){}else {_0x1026x4f=_0x1026x48};}};if(_0x1026x25[_0xdba1[97]]===_0xdba1[137]&&_0x1026x25[_0xdba1[88]]>0){_0x1026x4f=_0x1026x48};};_0x1026x48=_0x1026x4f;}else {_0x1026x48=null};}else {_0x1026x48=null};}while(_0x1026x48);;console[_0xdba1[26]](_0xdba1[268]);_0x1026x24[_0xdba1[230]]();}};}function xfinally(_0x1026x24){var _0x1026x42=_0x1026x24[_0xdba1[125]];var _0x1026x4e=_0x1026x24[_0xdba1[264]];if(_0x1026x42[_0xdba1[269]]){if(!_[_0xdba1[248]](_0x1026x42[_0xdba1[269]])){var _0x1026x48=_0x1026x42[_0xdba1[269]][_0xdba1[249]][_0xdba1[162]];var _0x1026x28={};do{var _0x1026x25=replaceAllVariables(_0x1026x24,_0x1026x4e[_0x1026x48]);if(_0x1026x25){if(_[_0xdba1[266]](methods[_0x1026x25[_0xdba1[97]]])){_0x1026x28=wait[_0xdba1[267]](methods[_0x1026x25[_0xdba1[97]]],_0x1026x24,_0x1026x25)}else {_0x1026x28=wait[_0xdba1[267]](methods[_0xdba1[233]],_0x1026x24,_0x1026x25)};if(_0x1026x28[_0xdba1[153]]===200&&_0x1026x28[_0xdba1[98]]!==_0xdba1[142]){var _0x1026x4f=getTargetBySource(_0x1026x42,_0x1026x48,_0x1026x28[_0xdba1[106]]);if(_0x1026x4f){}else {if(_0x1026x25[_0xdba1[97]]===_0xdba1[85]){if(_0x1026x25[_0xdba1[88]]>0){_0x1026x4f=getTargetBySource(_0x1026x42,_0x1026x48,_0xdba1[147]);if(_0x1026x4f){}else {_0x1026x4f=_0x1026x48};}};if(_0x1026x25[_0xdba1[97]]===_0xdba1[137]&&_0x1026x25[_0xdba1[88]]>0){_0x1026x4f=_0x1026x48};};_0x1026x48=_0x1026x4f;}else {_0x1026x48=null};}else {_0x1026x48=null};}while(_0x1026x48);;_0x1026x24[_0xdba1[230]]();console[_0xdba1[26]](_0xdba1[270]);}};_0x1026x24[_0xdba1[271]]();}function main(_0x1026x24){_0x1026x24[_0xdba1[274]](_0xdba1[272],function(_0x1026x27){console[_0xdba1[26]](_0xdba1[273],_0x1026x27)});_0x1026x24[_0xdba1[274]](_0xdba1[217],function(){console[_0xdba1[26]](_0xdba1[275])});_0x1026x24[_0xdba1[274]](_0xdba1[230],function(){if(_0x1026x24[_0xdba1[269]]){_0x1026x24[_0xdba1[269]]=false;console[_0xdba1[26]](_0xdba1[276]);wait[_0xdba1[277]](xfinally,_0x1026x24);}else {ReportSquare[_0xdba1[280]]({leaveAt:moment()[_0xdba1[44]](_0xdba1[279])},{where:{uniqueid:_0x1026x24[_0xdba1[95]]}})[_0xdba1[102]](function(_0x1026x27){console[_0xdba1[26]](_0xdba1[278],_0x1026x27)});console[_0xdba1[26]](_0xdba1[281]);}});_0x1026x24[_0xdba1[274]](_0xdba1[93],function(_0x1026x28){});_0x1026x24[_0xdba1[274]](_0xdba1[282],function(_0x1026x52){console[_0xdba1[26]](_0x1026x52);console[_0xdba1[26]](_0xdba1[283]+_0x1026x52[_0xdba1[284]]+_0xdba1[285]+_0x1026x52[_0xdba1[286]]);var _0x1026x53={network:_0x1026x52[_0xdba1[287]],network_script:_0x1026x52[_0xdba1[288]],request:_0x1026x52[_0xdba1[289]],channel:_0x1026x52[_0xdba1[290]],language:_0x1026x52[_0xdba1[291]],type:_0x1026x52[_0xdba1[292]],uniqueid:_0x1026x52[_0xdba1[286]],version:_0x1026x52[_0xdba1[293]],callerid:_0x1026x52[_0xdba1[284]],calleridname:_0x1026x52[_0xdba1[294]],callingpres:_0x1026x52[_0xdba1[295]],callingani2:_0x1026x52[_0xdba1[296]],callington:_0x1026x52[_0xdba1[297]],callingtns:_0x1026x52[_0xdba1[298]],dnid:_0x1026x52[_0xdba1[299]],rdnis:_0x1026x52[_0xdba1[300]],context:_0x1026x52[_0xdba1[301]],extension:_0x1026x52[_0xdba1[302]],priority:_0x1026x52[_0xdba1[303]],enhanced:_0x1026x52[_0xdba1[304]],accountcode:_0x1026x52[_0xdba1[305]],threadid:_0x1026x52[_0xdba1[306]],project_name:_0x1026x52[_0xdba1[307]],joinAt:moment()[_0xdba1[44]](_0xdba1[279])};ReportSquare[_0xdba1[103]](_0x1026x53)[_0xdba1[102]](function(_0x1026x27){console[_0xdba1[26]](_0xdba1[308],_0x1026x27)});if(_0x1026x52[_0xdba1[307]]){SquareProject[_0xdba1[317]]({where:{name:_0x1026x52[_0xdba1[307]]},attributes:[_0xdba1[162],_0xdba1[310]]})[_0xdba1[316]](function(_0x1026x3e){if(_0x1026x3e){if(_0x1026x3e[_0xdba1[310]]){xml[_0xdba1[313]](_0x1026x3e[_0xdba1[310]],{normalizeTags:true,explicitArray:false},function(_0x1026x27,_0x1026x2e){var _0x1026x42=_0x1026x2e[_0xdba1[311]][_0xdba1[125]];if(_0x1026x42){_0x1026x24[_0xdba1[125]]=_0x1026x42;_0x1026x24[_0xdba1[269]]=true;_0x1026x24[_0xdba1[95]]=_0x1026x52[_0xdba1[286]];_0x1026x24[_0xdba1[264]]=getVertices(_0x1026x42);wait[_0xdba1[277]](xstart,_0x1026x24);}else {console[_0xdba1[26]](_0xdba1[312]);_0x1026x24[_0xdba1[271]]();};})}else {console[_0xdba1[26]](_0xdba1[314]);_0x1026x24[_0xdba1[271]]();}}else {console[_0xdba1[26]](_0xdba1[315]);_0x1026x24[_0xdba1[271]]();}})[_0xdba1[102]](function(_0x1026x27){console[_0xdba1[26]](_0xdba1[309],_0x1026x27);_0x1026x24[_0xdba1[271]]();})}else {console[_0xdba1[26]](_0xdba1[318]);_0x1026x24[_0xdba1[271]]();};});}function splitInterval(_0x1026x36){var _0x1026x55={};var _0x1026x3a=_0x1026x36[_0xdba1[319]](_0xdba1[50]);var _0x1026x56;_0x1026x3a[_0xdba1[171]](function(_0x1026x57,_0x1026x39){switch(_0x1026x39){case 0:if(_0x1026x57!==_0xdba1[320]){_0x1026x56=_0x1026x57[_0xdba1[319]](_0xdba1[111]);_0x1026x55[_0xdba1[321]]=moment(_0x1026x56[0],_0xdba1[322]);_0x1026x55[_0xdba1[323]]=moment(_0x1026x56[1],_0xdba1[322]);}else {_0x1026x55[_0xdba1[321]]=null;_0x1026x55[_0xdba1[323]]=null;};break ;;case 1:if(_0x1026x57!==_0xdba1[320]){_0x1026x56=_0x1026x57[_0xdba1[319]](_0xdba1[111]);_0x1026x55[_0xdba1[324]]=weekDaysCollection[_0x1026x56[0]];_0x1026x55[_0xdba1[325]]=_0x1026x56[1]?weekDaysCollection[_0x1026x56[1]]:null;}else {_0x1026x55[_0xdba1[324]]=null;_0x1026x55[_0xdba1[325]]=null;};break ;;case 2:if(_0x1026x57!==_0xdba1[320]){_0x1026x56=_0x1026x57[_0xdba1[319]](_0xdba1[111]);_0x1026x55[_0xdba1[326]]=_0x1026x56[0];_0x1026x55[_0xdba1[327]]=_0x1026x56[1]?_0x1026x56[1]:null;}else {_0x1026x55[_0xdba1[326]]=null;_0x1026x55[_0xdba1[327]]=null;};break ;;case 3:if(_0x1026x57!==_0xdba1[320]){_0x1026x56=_0x1026x57[_0xdba1[319]](_0xdba1[111]);_0x1026x55[_0xdba1[328]]=monthsCollection[_0x1026x56[0]];_0x1026x55[_0xdba1[329]]=_0x1026x56[1]?monthsCollection[_0x1026x56[1]]:null;}else {_0x1026x55[_0xdba1[328]]=null;_0x1026x55[_0xdba1[329]]=null;};break ;;default:;}});return _0x1026x55;}function isIntervalValid(_0x1026x36){var _0x1026x59=moment()[_0xdba1[44]](_0xdba1[322]);var _0x1026x5a=moment()[_0xdba1[44]](_0xdba1[330]);var _0x1026x5b=moment()[_0xdba1[44]](_0xdba1[331]);var _0x1026x5c=moment()[_0xdba1[44]](_0xdba1[332]);var _0x1026x5d,_0x1026x5e,_0x1026x5f,_0x1026x60;var _0x1026x61=[1,2,3,4,5,6,7,8,9,10,11,12];var _0x1026x62=[1,2,3,4,5,6,7];var _0x1026x63=[];for(var _0x1026x64=1;_0x1026x64<=31;_0x1026x64++){_0x1026x63[_0xdba1[333]](_0x1026x64)};_0x1026x5d=(_0x1026x36[_0xdba1[321]]&&_0x1026x36[_0xdba1[323]])?moment(_0x1026x59,_0xdba1[322])[_0xdba1[334]](moment(_0x1026x36[_0xdba1[321]],_0xdba1[322]),moment(_0x1026x36[_0xdba1[323]],_0xdba1[322])):true;if(_0x1026x36[_0xdba1[324]]){if(_0x1026x36[_0xdba1[325]]){var _0x1026x65=_[_0xdba1[163]](_0x1026x62,function(_0x1026x38){return (_0x1026x38>=_0x1026x36[_0xdba1[324]])||(_0x1026x38<=_0x1026x36[_0xdba1[325]])});_0x1026x5e=(_0x1026x65[_0xdba1[335]](parseInt(_0x1026x5a))!== -1)?true:false;}else {_0x1026x5e=(parseInt(_0x1026x5a)===_0x1026x36[_0xdba1[324]])?true:false}}else {_0x1026x5e=true};if(_0x1026x36[_0xdba1[326]]){if(_0x1026x36[_0xdba1[327]]){var _0x1026x66=_[_0xdba1[163]](_0x1026x63,function(_0x1026x38){return (_0x1026x38>=_0x1026x36[_0xdba1[326]])||(_0x1026x38<=_0x1026x36[_0xdba1[327]])});_0x1026x5f=(_0x1026x66[_0xdba1[335]](parseInt(_0x1026x5b))!== -1)?true:false;}else {_0x1026x5f=(parseInt(_0x1026x5b)===_0x1026x36[_0xdba1[326]])?true:false}}else {_0x1026x5f=true};if(_0x1026x36[_0xdba1[328]]){if(_0x1026x36[_0xdba1[329]]){var _0x1026x67=_[_0xdba1[163]](_0x1026x61,function(_0x1026x38){return (_0x1026x38>=_0x1026x36[_0xdba1[328]])||(_0x1026x38<=_0x1026x36[_0xdba1[329]])});_0x1026x60=(_0x1026x67[_0xdba1[335]](parseInt(_0x1026x5c))!== -1)?true:false;}else {_0x1026x60=(parseInt(_0x1026x5c)===_0x1026x36[_0xdba1[328]])?true:false}}else {_0x1026x60=true};return _0x1026x5d&&_0x1026x5e&&_0x1026x5f&&_0x1026x60;}function setVariable(_0x1026x24,_0x1026x69,_0x1026x45,_0x1026x26){console[_0xdba1[26]](_0xdba1[336]);if(!variables){getVariables(false)};var _0x1026x4b=_[_0xdba1[40]](variables,{id:parseInt(_0x1026x69)});console[_0xdba1[26]](_0xdba1[337],_0x1026x45);_0x1026x24[_0xdba1[29]](util[_0xdba1[44]](_0xdba1[155],_0x1026x4b[_0xdba1[43]],_0x1026x45),function(_0x1026x27,_0x1026x28){if(_0x1026x26){_0x1026x26(_0x1026x27,_0x1026x28)}});}function getVariable(_0x1026x24,_0x1026x69){if(!variables){getVariables(false)};var _0x1026x4b=_[_0xdba1[40]](variables,{id:parseInt(_0x1026x69)});var _0x1026x45=wait[_0xdba1[259]](_0x1026x24,_0xdba1[257],_0x1026x4b[_0xdba1[43]]);if(_0x1026x45[_0xdba1[153]]===200&&_0x1026x45[_0xdba1[98]]!==_0xdba1[108]){return _0x1026x45[_0xdba1[98]][_0xdba1[258]](_0x1026x45[_0xdba1[98]][_0xdba1[261]](_0xdba1[260])+1,_0x1026x45[_0xdba1[98]][_0xdba1[261]](_0xdba1[262]))};return _0xdba1[63];}function getFilePath(_0x1026x69){if(!sounds){getSounds(false)};if(_0x1026x69>0){var _0x1026x6c=_[_0xdba1[40]](sounds,{id:parseInt(_0x1026x69)});return util[_0xdba1[44]](_0xdba1[338],_0x1026x6c[_0xdba1[339]],_0x1026x6c[_0xdba1[340]]);};return _0xdba1[63];}function getUsers(_0x1026x6e){User[_0xdba1[342]]()[_0xdba1[316]](function(_0x1026x2e){users=_[_0xdba1[341]](_0x1026x2e);if(_0x1026x6e){synchUpdates(User,users,_0xdba1[162])};})[_0xdba1[102]](function(_0x1026x27){console[_0xdba1[26]](_0x1026x27)})}function getQueues(_0x1026x6e){VoiceQueue[_0xdba1[342]]()[_0xdba1[316]](function(_0x1026x2e){queues=_[_0xdba1[341]](_0x1026x2e);if(_0x1026x6e){synchUpdates(VoiceQueue,queues,_0xdba1[43])};})[_0xdba1[102]](function(_0x1026x27){console[_0xdba1[26]](_0x1026x27)})}function getTrunks(_0x1026x6e){Trunk[_0xdba1[342]]()[_0xdba1[316]](function(_0x1026x2e){trunks=_[_0xdba1[341]](_0x1026x2e);if(_0x1026x6e){synchUpdates(Trunk,trunks,_0xdba1[162])};})[_0xdba1[102]](function(_0x1026x27){console[_0xdba1[26]](_0x1026x27)})}function getVariables(_0x1026x6e){Variable[_0xdba1[342]]()[_0xdba1[316]](function(_0x1026x2e){variables=_[_0xdba1[341]](_0x1026x2e);if(_0x1026x6e){synchUpdates(Variable,variables,_0xdba1[162])};})[_0xdba1[102]](function(_0x1026x27){console[_0xdba1[26]](_0x1026x27)})}function getDbConnections(_0x1026x6e){SquareOdbc[_0xdba1[342]]()[_0xdba1[316]](function(_0x1026x2e){dbConnections=_[_0xdba1[341]](_0x1026x2e);if(_0x1026x6e){synchUpdates(SquareOdbc,dbConnections,_0xdba1[162])};})[_0xdba1[102]](function(_0x1026x27){console[_0xdba1[26]](_0x1026x27)})}function getIntervals(_0x1026x6e){Interval[_0xdba1[342]]()[_0xdba1[316]](function(_0x1026x2e){intervals=_[_0xdba1[341]](_0x1026x2e);if(_0x1026x6e){synchUpdates(Interval,intervals,_0xdba1[162])};})[_0xdba1[102]](function(_0x1026x27){console[_0xdba1[26]](_0x1026x27)})}function getProjects(_0x1026x6e){SquareProject[_0xdba1[342]]()[_0xdba1[316]](function(_0x1026x2e){projects=_[_0xdba1[341]](_0x1026x2e);if(_0x1026x6e){synchUpdates(SquareProject,projects,_0xdba1[162])};})[_0xdba1[102]](function(_0x1026x27){console[_0xdba1[26]](_0x1026x27)})}function getSounds(_0x1026x6e){Upload[_0xdba1[342]]()[_0xdba1[316]](function(_0x1026x2e){sounds=_[_0xdba1[341]](_0x1026x2e);if(_0x1026x6e){synchUpdates(Upload,sounds,_0xdba1[162])};})[_0xdba1[102]](function(_0x1026x27){console[_0xdba1[26]](_0x1026x27)})}function synchUpdates(_0x1026x77,_0x1026x78,_0x1026x46){var _0x1026x79={};_0x1026x77[_0xdba1[343]](function(_0x1026x7a){_0x1026x79[_0x1026x46]=_0x1026x7a[_0x1026x46];updateCollection(_0x1026x78,_0x1026x79,_0x1026x7a);});_0x1026x77[_0xdba1[344]](function(_0x1026x7a){_0x1026x79[_0x1026x46]=_0x1026x7a[_0x1026x46];updateCollection(_0x1026x78,_0x1026x79,_0x1026x7a);});_0x1026x77[_0xdba1[346]](function(_0x1026x7a){_0x1026x79[_0x1026x46]=_0x1026x7a[_0x1026x46];_[_0xdba1[345]](_0x1026x78,_0x1026x79);});}function updateCollection(_0x1026x78,_0x1026x79,_0x1026x7a){var _0x1026x7c=_[_0xdba1[40]](_0x1026x78,_0x1026x79);var _0x1026x39=_0x1026x78[_0xdba1[335]](_0x1026x7c);if(_0x1026x7c){_[_0xdba1[347]](_0x1026x78[_0x1026x39],_0x1026x7a)}else {_0x1026x78[_0xdba1[348]](_0x1026x7a)};}function getPort(){Settings[_0xdba1[317]]()[_0xdba1[316]](function(_0x1026x2e){agiPort=_0x1026x2e[_0xdba1[349]]})[_0xdba1[102]](function(_0x1026x27){console[_0xdba1[26]](_0x1026x27)})}module[_0xdba1[350]]=function(){console[_0xdba1[26]](_0xdba1[351]);getPort();var _0x1026x7e=agi[_0xdba1[353]](main)[_0xdba1[352]](agiPort?agiPort:4573);getUsers(true);getQueues(true);getTrunks(true);getVariables(true);getIntervals(true);getProjects(true);getSounds(true);getDbConnections(true);};
\ No newline at end of file
index 980710a2f5237d10120763bc468d1462af975240..ac86b0cda5dfe14d7294341339c2af6d23de30a6 100644 (file)
@@ -1 +1 @@
-var _0xb483=["\x6D\x6F\x6D\x65\x6E\x74","\x41\x43\x57\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x69\x73\x43\x6F\x6E\x6E\x65\x63\x74\x65\x64","\x69\x6E\x74\x65\x72\x66\x61\x63\x65","\x53\x49\x50\x2F\x6D\x61\x73\x73\x69\x6D\x69\x6C\x69\x61\x6E\x6F\x2E\x62\x75\x6E\x67\x61\x72\x6F","\x51\x75\x65\x75\x65\x50\x61\x75\x73\x65","\x55\x4E\x41\x56\x41\x49\x4C\x41\x42\x4C\x45\x20\x42\x59\x20\x41\x43\x57","\x65\x72\x72\x6F\x72","\x50\x41\x55\x53\x45\x20\x41\x43\x57\x20\x69\x6E\x20\x61\x6C\x6C\x20\x71\x75\x65\x75\x65\x20\x66\x6F\x72\x20\x74\x68\x65\x20\x61\x67\x65\x6E\x74\x20","\x71\x75\x65\x75\x65","\x41\x43\x57","\x53\x49\x4E\x47\x4C\x45\x20\x50\x41\x55\x53\x45\x20\x41\x43\x57\x20\x69\x6E\x20","\x20\x66\x6F\x72\x20\x74\x68\x65\x20\x61\x67\x65\x6E\x74\x20","\x55\x4E\x50\x41\x55\x53\x45\x20\x41\x43\x57\x20\x69\x6E\x20\x61\x6C\x6C\x20\x71\x75\x65\x75\x65\x20\x66\x6F\x72\x20\x74\x68\x65\x20\x61\x67\x65\x6E\x74\x20","\x61\x63\x74\x69\x6F\x6E","\x61\x67\x65\x6E\x74\x70\x61\x75\x73\x65","\x72\x65\x61\x73\x6F\x6E","\x70\x61\x75\x73\x65\x64","\x31","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x5B\x61\x63\x77\x5D\x20\x61\x67\x65\x6E\x74\x20\x61\x63\x77\x20\x20","\x63\x61\x74\x63\x68","\x6C\x65\x6E\x67\x74\x68","\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74","\x73\x65\x63\x6F\x6E\x64\x73","\x64\x69\x66\x66","\x5B\x61\x63\x77\x5D\x20\x61\x67\x65\x6E\x74\x20\x61\x63\x77\x20","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x20\x75\x70\x64\x61\x74\x65\x64\x20\x73\x65\x63\x6F\x6E\x64\x73\x20","\x20\x41\x43\x57\x20\x69\x6E\x20\x71\x75\x65\x75\x65\x20","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x5B\x61\x63\x77\x5D\x20\x61\x67\x65\x6E\x74\x20\x61\x63\x77\x20\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x21","\x66\x69\x6E\x64\x41\x6C\x6C","\x5B\x61\x63\x77\x5D\x20\x61\x67\x65\x6E\x74\x20\x61\x63\x77\x20\x75\x70\x64\x61\x74\x65\x20\x65\x72\x72\x6F\x72\x3A\x20\x20","\x5B\x61\x63\x77\x5D\x20\x61\x67\x65\x6E\x74\x20\x61\x63\x77\x20\x75\x70\x64\x61\x74\x65\x64","\x75\x6E\x69\x71\x75\x65\x69\x64","\x64\x65\x73\x74\x75\x6E\x69\x71\x75\x65\x69\x64","\x75\x70\x64\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];var moment=require(_0xb483[0]);var asteriskManager=null;function ACW(_0x49dcx4){console[_0xb483[2]](_0xb483[1]);asteriskManager=_0x49dcx4;}ACW[_0xb483[4]][_0xb483[3]]=function(_0x49dcx5){if(asteriskManager&&asteriskManager[_0xb483[5]]()){if(_0x49dcx5[_0xb483[6]]===_0xb483[7]){asteriskManager[_0xb483[17]]({action:_0xb483[8],interface:_0x49dcx5[_0xb483[6]],paused:true,reason:_0xb483[9]},function(_0x49dcx6,_0x49dcx7){if(_0x49dcx6){console[_0xb483[10]](_0x49dcx6);return ;};console[_0xb483[2]](_0xb483[11]+_0x49dcx5[_0xb483[6]]);asteriskManager[_0xb483[17]]({action:_0xb483[8],interface:_0x49dcx5[_0xb483[6]],queue:_0x49dcx5[_0xb483[12]],paused:true,reason:_0xb483[13]},function(_0x49dcx6,_0x49dcx7){if(_0x49dcx6){console[_0xb483[10]](_0x49dcx6);return ;};console[_0xb483[2]](_0xb483[14]+_0x49dcx5[_0xb483[12]]+_0xb483[15]+_0x49dcx5[_0xb483[6]]);findAndUpdateFlag(_0x49dcx5);setTimeout(function(){asteriskManager[_0xb483[17]]({action:_0xb483[8],interface:_0x49dcx5[_0xb483[6]],paused:false},function(_0x49dcx6,_0x49dcx7){if(_0x49dcx6){console[_0xb483[10]](_0x49dcx6)};console[_0xb483[2]](_0xb483[16]+_0x49dcx5[_0xb483[6]]);})},5000);});})}}};ACW[_0xb483[4]][_0xb483[18]]=function(_0x49dcx5){if((_0x49dcx5[_0xb483[19]]===_0xb483[13]||_0x49dcx5[_0xb483[19]]===_0xb483[9])&&_0x49dcx5[_0xb483[20]]===_0xb483[21]){return }};function findAndUpdateTime(_0x49dcx5){var _0x49dcx9=require(_0xb483[23])[_0xb483[22]];_0x49dcx9[_0xb483[37]]({where:{agentcomplete:true,agentacw:true,acwtime:null,queue:_0x49dcx5[_0xb483[12]],interface:_0x49dcx5[_0xb483[6]]}})[_0xb483[34]](function(_0x49dcxa){if(_0x49dcxa[_0xb483[26]]>0){var _0x49dcx9=_0x49dcxa[_0x49dcxa[_0xb483[26]]-1];var _0x49dcxb=moment()[_0xb483[29]](_0x49dcx9[_0xb483[27]],_0xb483[28]);_0x49dcx9[_0xb483[35]]({acwtime:_0x49dcxb})[_0xb483[34]](function(_0x49dcx7){console[_0xb483[2]](_0xb483[30]+_0x49dcx7[_0xb483[31]]+_0xb483[32]+_0x49dcxb+_0xb483[33]+_0x49dcx7[_0xb483[12]])})[_0xb483[25]](function(_0x49dcx6){console[_0xb483[10]](_0xb483[24]+_0x49dcx6)});}else {console[_0xb483[10]]( new Error(_0xb483[36]))}})[_0xb483[25]](function(_0x49dcx6){console[_0xb483[10]](_0xb483[24]+_0x49dcx6)});}function findAndUpdateFlag(_0x49dcx5){var _0x49dcx9=require(_0xb483[23])[_0xb483[22]];_0x49dcx9[_0xb483[42]]({agentacw:true},{where:{uniqueid:_0x49dcx5[_0xb483[40]],destuniqueid:_0x49dcx5[_0xb483[41]]}})[_0xb483[34]](function(_0x49dcx9){console[_0xb483[2]](_0xb483[39])})[_0xb483[25]](function(_0x49dcx6){console[_0xb483[10]](_0xb483[38]+_0x49dcx6)});}module[_0xb483[43]]=ACW;
\ No newline at end of file
+var _0x19cf=["\x6D\x6F\x6D\x65\x6E\x74","\x41\x43\x57\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x69\x73\x43\x6F\x6E\x6E\x65\x63\x74\x65\x64","\x69\x6E\x74\x65\x72\x66\x61\x63\x65","\x53\x49\x50\x2F\x6D\x61\x73\x73\x69\x6D\x69\x6C\x69\x61\x6E\x6F\x2E\x62\x75\x6E\x67\x61\x72\x6F","\x51\x75\x65\x75\x65\x50\x61\x75\x73\x65","\x55\x4E\x41\x56\x41\x49\x4C\x41\x42\x4C\x45\x20\x42\x59\x20\x41\x43\x57","\x65\x72\x72\x6F\x72","\x50\x41\x55\x53\x45\x20\x41\x43\x57\x20\x69\x6E\x20\x61\x6C\x6C\x20\x71\x75\x65\x75\x65\x20\x66\x6F\x72\x20\x74\x68\x65\x20\x61\x67\x65\x6E\x74\x20","\x71\x75\x65\x75\x65","\x41\x43\x57","\x53\x49\x4E\x47\x4C\x45\x20\x50\x41\x55\x53\x45\x20\x41\x43\x57\x20\x69\x6E\x20","\x20\x66\x6F\x72\x20\x74\x68\x65\x20\x61\x67\x65\x6E\x74\x20","\x55\x4E\x50\x41\x55\x53\x45\x20\x41\x43\x57\x20\x69\x6E\x20\x61\x6C\x6C\x20\x71\x75\x65\x75\x65\x20\x66\x6F\x72\x20\x74\x68\x65\x20\x61\x67\x65\x6E\x74\x20","\x61\x63\x74\x69\x6F\x6E","\x61\x67\x65\x6E\x74\x70\x61\x75\x73\x65","\x72\x65\x61\x73\x6F\x6E","\x70\x61\x75\x73\x65\x64","\x31","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x5B\x61\x63\x77\x5D\x20\x61\x67\x65\x6E\x74\x20\x61\x63\x77\x20\x20","\x63\x61\x74\x63\x68","\x6C\x65\x6E\x67\x74\x68","\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74","\x73\x65\x63\x6F\x6E\x64\x73","\x64\x69\x66\x66","\x5B\x61\x63\x77\x5D\x20\x61\x67\x65\x6E\x74\x20\x61\x63\x77\x20","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x20\x75\x70\x64\x61\x74\x65\x64\x20\x73\x65\x63\x6F\x6E\x64\x73\x20","\x20\x41\x43\x57\x20\x69\x6E\x20\x71\x75\x65\x75\x65\x20","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x5B\x61\x63\x77\x5D\x20\x61\x67\x65\x6E\x74\x20\x61\x63\x77\x20\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x21","\x66\x69\x6E\x64\x41\x6C\x6C","\x5B\x61\x63\x77\x5D\x20\x61\x67\x65\x6E\x74\x20\x61\x63\x77\x20\x75\x70\x64\x61\x74\x65\x20\x65\x72\x72\x6F\x72\x3A\x20\x20","\x5B\x61\x63\x77\x5D\x20\x61\x67\x65\x6E\x74\x20\x61\x63\x77\x20\x75\x70\x64\x61\x74\x65\x64","\x75\x6E\x69\x71\x75\x65\x69\x64","\x64\x65\x73\x74\x75\x6E\x69\x71\x75\x65\x69\x64","\x75\x70\x64\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];var moment=require(_0x19cf[0]);var asteriskManager=null;function ACW(_0x5392x4){console[_0x19cf[2]](_0x19cf[1]);asteriskManager=_0x5392x4;}ACW[_0x19cf[4]][_0x19cf[3]]=function(_0x5392x5){if(asteriskManager&&asteriskManager[_0x19cf[5]]()){if(_0x5392x5[_0x19cf[6]]===_0x19cf[7]){asteriskManager[_0x19cf[17]]({action:_0x19cf[8],interface:_0x5392x5[_0x19cf[6]],paused:true,reason:_0x19cf[9]},function(_0x5392x6,_0x5392x7){if(_0x5392x6){console[_0x19cf[10]](_0x5392x6);return ;};console[_0x19cf[2]](_0x19cf[11]+_0x5392x5[_0x19cf[6]]);asteriskManager[_0x19cf[17]]({action:_0x19cf[8],interface:_0x5392x5[_0x19cf[6]],queue:_0x5392x5[_0x19cf[12]],paused:true,reason:_0x19cf[13]},function(_0x5392x6,_0x5392x7){if(_0x5392x6){console[_0x19cf[10]](_0x5392x6);return ;};console[_0x19cf[2]](_0x19cf[14]+_0x5392x5[_0x19cf[12]]+_0x19cf[15]+_0x5392x5[_0x19cf[6]]);findAndUpdateFlag(_0x5392x5);setTimeout(function(){asteriskManager[_0x19cf[17]]({action:_0x19cf[8],interface:_0x5392x5[_0x19cf[6]],paused:false},function(_0x5392x6,_0x5392x7){if(_0x5392x6){console[_0x19cf[10]](_0x5392x6)};console[_0x19cf[2]](_0x19cf[16]+_0x5392x5[_0x19cf[6]]);})},5000);});})}}};ACW[_0x19cf[4]][_0x19cf[18]]=function(_0x5392x5){if((_0x5392x5[_0x19cf[19]]===_0x19cf[13]||_0x5392x5[_0x19cf[19]]===_0x19cf[9])&&_0x5392x5[_0x19cf[20]]===_0x19cf[21]){return }};function findAndUpdateTime(_0x5392x5){var _0x5392x9=require(_0x19cf[23])[_0x19cf[22]];_0x5392x9[_0x19cf[37]]({where:{agentcomplete:true,agentacw:true,acwtime:null,queue:_0x5392x5[_0x19cf[12]],interface:_0x5392x5[_0x19cf[6]]}})[_0x19cf[34]](function(_0x5392xa){if(_0x5392xa[_0x19cf[26]]>0){var _0x5392x9=_0x5392xa[_0x5392xa[_0x19cf[26]]-1];var _0x5392xb=moment()[_0x19cf[29]](_0x5392x9[_0x19cf[27]],_0x19cf[28]);_0x5392x9[_0x19cf[35]]({acwtime:_0x5392xb})[_0x19cf[34]](function(_0x5392x7){console[_0x19cf[2]](_0x19cf[30]+_0x5392x7[_0x19cf[31]]+_0x19cf[32]+_0x5392xb+_0x19cf[33]+_0x5392x7[_0x19cf[12]])})[_0x19cf[25]](function(_0x5392x6){console[_0x19cf[10]](_0x19cf[24]+_0x5392x6)});}else {console[_0x19cf[10]]( new Error(_0x19cf[36]))}})[_0x19cf[25]](function(_0x5392x6){console[_0x19cf[10]](_0x19cf[24]+_0x5392x6)});}function findAndUpdateFlag(_0x5392x5){var _0x5392x9=require(_0x19cf[23])[_0x19cf[22]];_0x5392x9[_0x19cf[42]]({agentacw:true},{where:{uniqueid:_0x5392x5[_0x19cf[40]],destuniqueid:_0x5392x5[_0x19cf[41]]}})[_0x19cf[34]](function(_0x5392x9){console[_0x19cf[2]](_0x19cf[39])})[_0x19cf[25]](function(_0x5392x6){console[_0x19cf[10]](_0x19cf[38]+_0x5392x6)});}module[_0x19cf[43]]=ACW;
\ No newline at end of file
index de1e783bd6c4017af6d9db33be18173799fce247..657d57a9ade249c98040ab98f441c0a715e51f30 100644 (file)
@@ -1 +1 @@
-var _0x619a=["\x6D\x6F\x6D\x65\x6E\x74","\x41\x67\x65\x6E\x74\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x63\x61\x6C\x6C\x65\x64","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x6C\x61\x73\x74\x65\x76\x65\x6E\x74","\x61\x67\x65\x6E\x74\x63\x61\x6C\x6C\x65\x64\x41\x74","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x63\x6F\x6E\x6E\x65\x63\x74","\x61\x67\x65\x6E\x74\x63\x6F\x6E\x6E\x65\x63\x74\x41\x74","\x61\x6E\x73\x77\x65\x72\x65\x64\x5F\x65\x6C\x73\x65\x77\x68\x65\x72\x65","\x75\x6E\x69\x71\x75\x65\x69\x64","\x64\x65\x73\x74\x75\x6E\x69\x71\x75\x65\x69\x64","\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74","\x64\x75\x6D\x70","\x61\x67\x65\x6E\x74\x64\x75\x6D\x70","\x61\x67\x65\x6E\x74\x64\x75\x6D\x70\x41\x74","\x72\x69\x6E\x67\x6E\x6F\x61\x6E\x73\x77\x65\x72","\x72\x65\x6A\x65\x63\x74\x65\x64","\x61\x67\x65\x6E\x74\x72\x69\x6E\x67\x6E\x6F\x61\x6E\x73\x77\x65\x72","\x61\x67\x65\x6E\x74\x72\x69\x6E\x67\x6E\x6F\x61\x6E\x73\x77\x65\x72\x41\x74","\x72\x65\x61\x73\x6F\x6E","\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E","\x61\x62\x61\x6E\x64\x6F\x6E\x65\x64","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x5B\x72\x65\x70\x6F\x72\x74\x5D\x20\x61\x67\x65\x6E\x74\x20","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x5B\x72\x65\x70\x6F\x72\x74\x5D\x20\x61\x67\x65\x6E\x74\x20\x62\x65\x67\x69\x6E\x20\x63\x72\x65\x61\x74\x65\x64","\x74\x68\x65\x6E","\x63\x72\x65\x61\x74\x65","\x5B\x61\x67\x65\x6E\x74\x5D\x20\x61\x67\x65\x6E\x74\x20\x65\x72\x72\x6F\x72\x3A\x20","\x5B\x61\x67\x65\x6E\x74\x5D\x20\x61\x67\x65\x6E\x74","\x75\x70\x64\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];var moment=require(_0x619a[0]);function Agent(){console[_0x619a[2]](_0x619a[1])}Agent[_0x619a[4]][_0x619a[3]]=function(_0x46dax3){_0x46dax3[_0x619a[5]]=_0x619a[3];_0x46dax3[_0x619a[6]]=moment()[_0x619a[8]](_0x619a[7]);createAgent(_0x46dax3);};Agent[_0x619a[4]][_0x619a[9]]=function(_0x46dax3){_0x46dax3[_0x619a[5]]=_0x619a[9];_0x46dax3[_0x619a[10]]=moment()[_0x619a[8]](_0x619a[7]);updateAgents(_0x46dax3);updateAgents({agentringnoanswer:true,agentringnoanswerAt:moment()[_0x619a[8]](_0x619a[7]),reason:_0x619a[11],lastevent:_0x619a[11]},{uniqueid:_0x46dax3[_0x619a[12]],destuniqueid:{$ne:_0x46dax3[_0x619a[13]]},reason:null});};Agent[_0x619a[4]][_0x619a[14]]=function(_0x46dax3){_0x46dax3[_0x619a[5]]=_0x619a[14];_0x46dax3[_0x619a[15]]=true;_0x46dax3[_0x619a[16]]=moment()[_0x619a[8]](_0x619a[7]);updateAgents(_0x46dax3);};Agent[_0x619a[4]][_0x619a[17]]=function(_0x46dax3){_0x46dax3[_0x619a[5]]=_0x619a[17];_0x46dax3[_0x619a[18]]=true;_0x46dax3[_0x619a[19]]=moment()[_0x619a[8]](_0x619a[7]);updateAgents(_0x46dax3);};Agent[_0x619a[4]][_0x619a[20]]=function(_0x46dax3){_0x46dax3[_0x619a[5]]=_0x619a[21];_0x46dax3[_0x619a[22]]=true;_0x46dax3[_0x619a[23]]=moment()[_0x619a[8]](_0x619a[7]);_0x46dax3[_0x619a[24]]=_0x619a[21];updateAgents(_0x46dax3);};Agent[_0x619a[4]][_0x619a[25]]=function(_0x46dax3){_0x46dax3[_0x619a[5]]=_0x619a[26];_0x46dax3[_0x619a[22]]=true;_0x46dax3[_0x619a[23]]=moment()[_0x619a[8]](_0x619a[7]);_0x46dax3[_0x619a[24]]=_0x619a[26];updateAgents(_0x46dax3,{uniqueid:_0x46dax3[_0x619a[12]],reason:null});};function createAgent(_0x46dax3){var _0x46dax5=require(_0x619a[28])[_0x619a[27]];_0x46dax5[_0x619a[34]](_0x46dax3)[_0x619a[33]](function(_0x46dax5){console[_0x619a[2]](_0x619a[32])})[_0x619a[31]](function(_0x46dax6){console[_0x619a[30]](_0x619a[29]+_0x46dax6)});}function updateAgents(_0x46dax3,_0x46dax8){var _0x46dax5=require(_0x619a[28])[_0x619a[27]];_0x46dax5[_0x619a[37]](_0x46dax3,{where:(_0x46dax8)?_0x46dax8:{uniqueid:_0x46dax3[_0x619a[12]],destuniqueid:_0x46dax3[_0x619a[13]]},individualHooks:true})[_0x619a[33]](function(_0x46dax5){console[_0x619a[2]](_0x619a[36])})[_0x619a[31]](function(_0x46dax6){console[_0x619a[30]](_0x619a[35]+_0x46dax6)});}module[_0x619a[38]]=Agent;
\ No newline at end of file
+var _0xa93c=["\x6D\x6F\x6D\x65\x6E\x74","\x41\x67\x65\x6E\x74\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x63\x61\x6C\x6C\x65\x64","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x6C\x61\x73\x74\x65\x76\x65\x6E\x74","\x61\x67\x65\x6E\x74\x63\x61\x6C\x6C\x65\x64\x41\x74","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x63\x6F\x6E\x6E\x65\x63\x74","\x61\x67\x65\x6E\x74\x63\x6F\x6E\x6E\x65\x63\x74\x41\x74","\x61\x6E\x73\x77\x65\x72\x65\x64\x5F\x65\x6C\x73\x65\x77\x68\x65\x72\x65","\x75\x6E\x69\x71\x75\x65\x69\x64","\x64\x65\x73\x74\x75\x6E\x69\x71\x75\x65\x69\x64","\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74","\x64\x75\x6D\x70","\x61\x67\x65\x6E\x74\x64\x75\x6D\x70","\x61\x67\x65\x6E\x74\x64\x75\x6D\x70\x41\x74","\x72\x69\x6E\x67\x6E\x6F\x61\x6E\x73\x77\x65\x72","\x72\x65\x6A\x65\x63\x74\x65\x64","\x61\x67\x65\x6E\x74\x72\x69\x6E\x67\x6E\x6F\x61\x6E\x73\x77\x65\x72","\x61\x67\x65\x6E\x74\x72\x69\x6E\x67\x6E\x6F\x61\x6E\x73\x77\x65\x72\x41\x74","\x72\x65\x61\x73\x6F\x6E","\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E","\x61\x62\x61\x6E\x64\x6F\x6E\x65\x64","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x5B\x72\x65\x70\x6F\x72\x74\x5D\x20\x61\x67\x65\x6E\x74\x20","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x5B\x72\x65\x70\x6F\x72\x74\x5D\x20\x61\x67\x65\x6E\x74\x20\x62\x65\x67\x69\x6E\x20\x63\x72\x65\x61\x74\x65\x64","\x74\x68\x65\x6E","\x63\x72\x65\x61\x74\x65","\x5B\x61\x67\x65\x6E\x74\x5D\x20\x61\x67\x65\x6E\x74\x20\x65\x72\x72\x6F\x72\x3A\x20","\x5B\x61\x67\x65\x6E\x74\x5D\x20\x61\x67\x65\x6E\x74","\x75\x70\x64\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];var moment=require(_0xa93c[0]);function Agent(){console[_0xa93c[2]](_0xa93c[1])}Agent[_0xa93c[4]][_0xa93c[3]]=function(_0x46c0x3){_0x46c0x3[_0xa93c[5]]=_0xa93c[3];_0x46c0x3[_0xa93c[6]]=moment()[_0xa93c[8]](_0xa93c[7]);createAgent(_0x46c0x3);};Agent[_0xa93c[4]][_0xa93c[9]]=function(_0x46c0x3){_0x46c0x3[_0xa93c[5]]=_0xa93c[9];_0x46c0x3[_0xa93c[10]]=moment()[_0xa93c[8]](_0xa93c[7]);updateAgents(_0x46c0x3);updateAgents({agentringnoanswer:true,agentringnoanswerAt:moment()[_0xa93c[8]](_0xa93c[7]),reason:_0xa93c[11],lastevent:_0xa93c[11]},{uniqueid:_0x46c0x3[_0xa93c[12]],destuniqueid:{$ne:_0x46c0x3[_0xa93c[13]]},reason:null});};Agent[_0xa93c[4]][_0xa93c[14]]=function(_0x46c0x3){_0x46c0x3[_0xa93c[5]]=_0xa93c[14];_0x46c0x3[_0xa93c[15]]=true;_0x46c0x3[_0xa93c[16]]=moment()[_0xa93c[8]](_0xa93c[7]);updateAgents(_0x46c0x3);};Agent[_0xa93c[4]][_0xa93c[17]]=function(_0x46c0x3){_0x46c0x3[_0xa93c[5]]=_0xa93c[17];_0x46c0x3[_0xa93c[18]]=true;_0x46c0x3[_0xa93c[19]]=moment()[_0xa93c[8]](_0xa93c[7]);updateAgents(_0x46c0x3);};Agent[_0xa93c[4]][_0xa93c[20]]=function(_0x46c0x3){_0x46c0x3[_0xa93c[5]]=_0xa93c[21];_0x46c0x3[_0xa93c[22]]=true;_0x46c0x3[_0xa93c[23]]=moment()[_0xa93c[8]](_0xa93c[7]);_0x46c0x3[_0xa93c[24]]=_0xa93c[21];updateAgents(_0x46c0x3);};Agent[_0xa93c[4]][_0xa93c[25]]=function(_0x46c0x3){_0x46c0x3[_0xa93c[5]]=_0xa93c[26];_0x46c0x3[_0xa93c[22]]=true;_0x46c0x3[_0xa93c[23]]=moment()[_0xa93c[8]](_0xa93c[7]);_0x46c0x3[_0xa93c[24]]=_0xa93c[26];updateAgents(_0x46c0x3,{uniqueid:_0x46c0x3[_0xa93c[12]],reason:null});};function createAgent(_0x46c0x3){var _0x46c0x5=require(_0xa93c[28])[_0xa93c[27]];_0x46c0x5[_0xa93c[34]](_0x46c0x3)[_0xa93c[33]](function(_0x46c0x5){console[_0xa93c[2]](_0xa93c[32])})[_0xa93c[31]](function(_0x46c0x6){console[_0xa93c[30]](_0xa93c[29]+_0x46c0x6)});}function updateAgents(_0x46c0x3,_0x46c0x8){var _0x46c0x5=require(_0xa93c[28])[_0xa93c[27]];_0x46c0x5[_0xa93c[37]](_0x46c0x3,{where:(_0x46c0x8)?_0x46c0x8:{uniqueid:_0x46c0x3[_0xa93c[12]],destuniqueid:_0x46c0x3[_0xa93c[13]]},individualHooks:true})[_0xa93c[33]](function(_0x46c0x5){console[_0xa93c[2]](_0xa93c[36])})[_0xa93c[31]](function(_0x46c0x6){console[_0xa93c[30]](_0xa93c[35]+_0x46c0x6)});}module[_0xa93c[38]]=Agent;
\ No newline at end of file
index 6564175fa5f14071d626aa4d7476d77875b94b8b..a5482e6998edab4b21ae5e2b294788c6d9f15580 100644 (file)
@@ -1 +1 @@
-var _0xf099=["\x43\x61\x6C\x6C\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x61\x64\x64","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x52\x65\x70\x6F\x72\x74\x43\x61\x6C\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x5B\x72\x65\x70\x6F\x72\x74\x5D\x20\x63\x61\x6C\x6C\x20","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x5B\x72\x65\x70\x6F\x72\x74\x5D\x20\x63\x61\x6C\x6C\x20\x63\x72\x65\x61\x74\x65\x64","\x74\x68\x65\x6E","\x63\x72\x65\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];function Call(){console[_0xf099[1]](_0xf099[0])}Call[_0xf099[3]][_0xf099[2]]=function(_0x3864x2){create(_0x3864x2)};function create(_0x3864x2){var _0x3864x4=require(_0xf099[5])[_0xf099[4]];_0x3864x4[_0xf099[11]](_0x3864x2)[_0xf099[10]](function(_0x3864x4){console[_0xf099[1]](_0xf099[9])})[_0xf099[8]](function(_0x3864x5){console[_0xf099[7]](_0xf099[6]+_0x3864x5)});}module[_0xf099[12]]=Call;
\ No newline at end of file
+var _0xa386=["\x43\x61\x6C\x6C\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x61\x64\x64","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x52\x65\x70\x6F\x72\x74\x43\x61\x6C\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x5B\x72\x65\x70\x6F\x72\x74\x5D\x20\x63\x61\x6C\x6C\x20","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x5B\x72\x65\x70\x6F\x72\x74\x5D\x20\x63\x61\x6C\x6C\x20\x63\x72\x65\x61\x74\x65\x64","\x74\x68\x65\x6E","\x63\x72\x65\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];function Call(){console[_0xa386[1]](_0xa386[0])}Call[_0xa386[3]][_0xa386[2]]=function(_0x5af2x2){create(_0x5af2x2)};function create(_0x5af2x2){var _0x5af2x4=require(_0xa386[5])[_0xa386[4]];_0x5af2x4[_0xa386[11]](_0x5af2x2)[_0xa386[10]](function(_0x5af2x4){console[_0xa386[1]](_0xa386[9])})[_0xa386[8]](function(_0x5af2x5){console[_0xa386[7]](_0xa386[6]+_0x5af2x5)});}module[_0xa386[12]]=Call;
\ No newline at end of file
index a72950dcff0648c5a557a527bc87d54b34f1834c..d840f4351235af3bed30544fe89b01256f125949 100644 (file)
@@ -1 +1 @@
-var _0xa8d9=["\x44\x69\x61\x6C\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x62\x65\x67\x69\x6E","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x65\x6E\x64","\x52\x65\x70\x6F\x72\x74\x44\x69\x61\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x5B\x64\x69\x61\x6C\x5D\x20\x64\x69\x61\x6C\x20\x62\x65\x67\x69\x6E\x20\x65\x72\x72\x6F\x72\x3A\x20","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x5B\x64\x69\x61\x6C\x5D\x20\x64\x69\x61\x6C\x20\x62\x65\x67\x69\x6E\x20\x63\x72\x65\x61\x74\x65\x64","\x74\x68\x65\x6E","\x63\x72\x65\x61\x74\x65","\x5B\x64\x69\x61\x6C\x5D\x20\x64\x69\x61\x6C\x20\x65\x6E\x64\x20\x65\x72\x72\x6F\x72\x3A\x20","\x5B\x64\x69\x61\x6C\x5D\x20\x64\x69\x61\x6C\x20\x65\x6E\x64\x20\x75\x70\x64\x61\x74\x65\x64","\x69\x6E\x66\x6F","\x75\x6E\x69\x71\x75\x65\x69\x64","\x75\x70\x64\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];function Dial(){console[_0xa8d9[1]](_0xa8d9[0])}Dial[_0xa8d9[3]][_0xa8d9[2]]=function(_0xa2b4x2){create(_0xa2b4x2)};Dial[_0xa8d9[3]][_0xa8d9[4]]=function(_0xa2b4x2){findAndUpdate(_0xa2b4x2)};function create(_0xa2b4x2){var _0xa2b4x4=require(_0xa8d9[6])[_0xa8d9[5]];_0xa2b4x4[_0xa8d9[12]](_0xa2b4x2)[_0xa8d9[11]](function(_0xa2b4x4){console[_0xa8d9[1]](_0xa8d9[10])})[_0xa8d9[9]](function(_0xa2b4x5){console[_0xa8d9[8]](_0xa8d9[7]+_0xa2b4x5)});}function findAndUpdate(_0xa2b4x2){var _0xa2b4x4=require(_0xa8d9[6])[_0xa8d9[5]];_0xa2b4x4[_0xa8d9[17]](_0xa2b4x2,{where:{uniqueid:_0xa2b4x2[_0xa8d9[16]]}})[_0xa8d9[11]](function(){console[_0xa8d9[15]](_0xa8d9[14])})[_0xa8d9[9]](function(_0xa2b4x5){console[_0xa8d9[8]](_0xa8d9[13]+_0xa2b4x5)});}module[_0xa8d9[18]]=Dial;
\ No newline at end of file
+var _0x93b3=["\x44\x69\x61\x6C\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x62\x65\x67\x69\x6E","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x65\x6E\x64","\x52\x65\x70\x6F\x72\x74\x44\x69\x61\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x5B\x64\x69\x61\x6C\x5D\x20\x64\x69\x61\x6C\x20\x62\x65\x67\x69\x6E\x20\x65\x72\x72\x6F\x72\x3A\x20","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x5B\x64\x69\x61\x6C\x5D\x20\x64\x69\x61\x6C\x20\x62\x65\x67\x69\x6E\x20\x63\x72\x65\x61\x74\x65\x64","\x74\x68\x65\x6E","\x63\x72\x65\x61\x74\x65","\x5B\x64\x69\x61\x6C\x5D\x20\x64\x69\x61\x6C\x20\x65\x6E\x64\x20\x65\x72\x72\x6F\x72\x3A\x20","\x5B\x64\x69\x61\x6C\x5D\x20\x64\x69\x61\x6C\x20\x65\x6E\x64\x20\x75\x70\x64\x61\x74\x65\x64","\x69\x6E\x66\x6F","\x75\x6E\x69\x71\x75\x65\x69\x64","\x75\x70\x64\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];function Dial(){console[_0x93b3[1]](_0x93b3[0])}Dial[_0x93b3[3]][_0x93b3[2]]=function(_0x95bcx2){create(_0x95bcx2)};Dial[_0x93b3[3]][_0x93b3[4]]=function(_0x95bcx2){findAndUpdate(_0x95bcx2)};function create(_0x95bcx2){var _0x95bcx4=require(_0x93b3[6])[_0x93b3[5]];_0x95bcx4[_0x93b3[12]](_0x95bcx2)[_0x93b3[11]](function(_0x95bcx4){console[_0x93b3[1]](_0x93b3[10])})[_0x93b3[9]](function(_0x95bcx5){console[_0x93b3[8]](_0x93b3[7]+_0x95bcx5)});}function findAndUpdate(_0x95bcx2){var _0x95bcx4=require(_0x93b3[6])[_0x93b3[5]];_0x95bcx4[_0x93b3[17]](_0x95bcx2,{where:{uniqueid:_0x95bcx2[_0x93b3[16]]}})[_0x93b3[11]](function(){console[_0x93b3[15]](_0x93b3[14])})[_0x93b3[9]](function(_0x95bcx5){console[_0x93b3[8]](_0x93b3[13]+_0x95bcx5)});}module[_0x93b3[18]]=Dial;
\ No newline at end of file
index 63360d6925dd157a730bccaf88bac1d79c67125c..5d4bb883347d6100b015752fa5b04885e6ac49b8 100644 (file)
@@ -1 +1 @@
-var _0xf09a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x61\x67\x65\x6E\x74","\x2E\x2F\x63\x61\x6C\x6C","\x2E\x2F\x64\x69\x61\x6C","\x2E\x2F\x6D\x65\x6D\x62\x65\x72","\x2E\x2F\x71\x75\x65\x75\x65\x5F\x63\x61\x6C\x6C\x65\x72","\x2E\x2F\x71\x75\x65\x75\x65\x5F\x6D\x65\x6D\x62\x65\x72","\x2E\x2F\x61\x63\x77","\x65\x78\x70\x6F\x72\x74\x73","\x63\x6F\x6E\x6E\x65\x63\x74","\x5B\x25\x73\x3A\x25\x73\x5D\x20\x41\x4D\x49\x20\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x68\x6F\x73\x74","\x6F\x70\x74\x69\x6F\x6E\x73","\x70\x6F\x72\x74","\x69\x6E\x66\x6F","\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64\x41\x74","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x5B\x25\x73\x3A\x25\x73\x5D\x20\x41\x4D\x49\x20\x44\x49\x53\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x63\x6C\x6F\x73\x65","\x5B\x25\x73\x3A\x25\x73\x5D\x20\x41\x4D\x49\x20\x43\x4C\x4F\x53\x45\x3A\x20\x25\x73","\x6C\x6F\x67","\x65\x72\x72\x6F\x72","\x5B\x25\x73\x3A\x25\x73\x5D\x20\x41\x4D\x49\x20\x45\x52\x52\x4F\x52\x3A\x20\x25\x73","\x6D\x61\x6E\x61\x67\x65\x72\x65\x76\x65\x6E\x74","\x61\x67\x65\x6E\x74\x63\x61\x6C\x6C\x65\x64","\x63\x61\x6C\x6C\x65\x64","\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x61\x67\x65\x6E\x74\x63\x6F\x6E\x6E\x65\x63\x74","\x61\x67\x65\x6E\x74\x64\x75\x6D\x70","\x64\x75\x6D\x70","\x61\x67\x65\x6E\x74\x72\x69\x6E\x67\x6E\x6F\x61\x6E\x73\x77\x65\x72","\x72\x69\x6E\x67\x6E\x6F\x61\x6E\x73\x77\x65\x72","\x71\x75\x65\x75\x65\x6D\x65\x6D\x62\x65\x72\x61\x64\x64\x65\x64","\x6C\x6F\x67\x69\x6E","\x61\x64\x64\x65\x64","\x71\x75\x65\x75\x65\x6D\x65\x6D\x62\x65\x72\x70\x61\x75\x73\x65","\x61\x67\x65\x6E\x74\x70\x61\x75\x73\x65","\x70\x61\x75\x73\x65","\x71\x75\x65\x75\x65\x6D\x65\x6D\x62\x65\x72\x70\x65\x6E\x61\x6C\x74\x79","\x70\x65\x6E\x61\x6C\x74\x79","\x71\x75\x65\x75\x65\x6D\x65\x6D\x62\x65\x72\x72\x65\x6D\x6F\x76\x65\x64","\x6C\x6F\x67\x6F\x75\x74","\x72\x65\x6D\x6F\x76\x65\x64","\x71\x75\x65\x75\x65\x6D\x65\x6D\x62\x65\x72\x72\x69\x6E\x67\x69\x6E\x75\x73\x65","\x72\x69\x6E\x67\x69\x6E\x75\x73\x65","\x71\x75\x65\x75\x65\x6D\x65\x6D\x62\x65\x72\x73\x74\x61\x74\x75\x73","\x73\x74\x61\x74\x75\x73","\x64\x69\x61\x6C\x62\x65\x67\x69\x6E","\x62\x65\x67\x69\x6E","\x64\x69\x61\x6C\x65\x6E\x64","\x65\x6E\x64","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E","\x6A\x6F\x69\x6E","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E","\x61\x62\x61\x6E\x64\x6F\x6E","\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6C\x65\x61\x76\x65","\x6C\x65\x61\x76\x65","\x63\x64\x72","\x61\x64\x64","\x68\x61\x6E\x67\x75\x70","\x72\x65\x67\x69\x73\x74\x65\x72","\x2E\x2F\x2E\x2E\x2F\x66\x61\x78","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x2F\x75\x73\x65\x72\x2E\x61\x6D\x69","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x63\x6F\x6E\x74\x65\x78\x74\x2F\x76\x6F\x69\x63\x65\x5F\x63\x6F\x6E\x74\x65\x78\x74\x2E\x61\x6D\x69","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x69\x2F\x61\x6D\x69\x2F\x61\x6D\x69\x2E\x61\x6D\x69"];_0xf09a[0];var Agent=require(_0xf09a[1]);var Call=require(_0xf09a[2]);var Dial=require(_0xf09a[3]);var Member=require(_0xf09a[4]);var QueueCaller=require(_0xf09a[5]);var QueueMember=require(_0xf09a[6]);var ACW=require(_0xf09a[7]);function onDisconnect(_0xaa3ex9){}function onConnect(_0xaa3ex9){}module[_0xf09a[8]]=function(_0xaa3ex9){var _0xaa3exb= new Agent();var _0xaa3exc= new Call();var _0xaa3exd= new Dial();var _0xaa3exe= new Member();var _0xaa3exf= new QueueMember();var _0xaa3ex10= new QueueCaller();var _0xaa3ex11= new ACW(_0xaa3ex9);_0xaa3ex9[_0xf09a[16]](_0xf09a[9],function(){console[_0xf09a[14]](_0xf09a[10],_0xaa3ex9[_0xf09a[12]][_0xf09a[11]],_0xaa3ex9[_0xf09a[12]][_0xf09a[13]]);_0xaa3ex9[_0xf09a[12]][_0xf09a[15]]= new Date();onConnect(_0xaa3ex9);});_0xaa3ex9[_0xf09a[16]](_0xf09a[17],function(){onDisconnect(_0xaa3ex9);console[_0xf09a[14]](_0xf09a[18],_0xaa3ex9[_0xf09a[12]][_0xf09a[11]],_0xaa3ex9[_0xf09a[12]][_0xf09a[13]]);});_0xaa3ex9[_0xf09a[16]](_0xf09a[19],function(_0xaa3ex12){console[_0xf09a[21]](_0xf09a[20],_0xaa3ex9[_0xf09a[12]][_0xf09a[11]],_0xaa3ex9[_0xf09a[12]][_0xf09a[13]],_0xaa3ex12)});_0xaa3ex9[_0xf09a[16]](_0xf09a[22],function(_0xaa3ex13){console[_0xf09a[21]](_0xf09a[23],_0xaa3ex9[_0xf09a[12]][_0xf09a[11]],_0xaa3ex9[_0xf09a[12]][_0xf09a[13]],_0xaa3ex13)});_0xaa3ex9[_0xf09a[16]](_0xf09a[24],function(_0xaa3ex14){});_0xaa3ex9[_0xf09a[16]](_0xf09a[25],function(_0xaa3ex14){_0xaa3exb[_0xf09a[26]](_0xaa3ex14)});_0xaa3ex9[_0xf09a[16]](_0xf09a[27],function(_0xaa3ex14){_0xaa3ex11[_0xf09a[27]](_0xaa3ex14);_0xaa3exb[_0xf09a[28]](_0xaa3ex14);_0xaa3ex10[_0xf09a[28]](_0xaa3ex14);});_0xaa3ex9[_0xf09a[16]](_0xf09a[29],function(_0xaa3ex14){_0xaa3exb[_0xf09a[9]](_0xaa3ex14)});_0xaa3ex9[_0xf09a[16]](_0xf09a[30],function(_0xaa3ex14){_0xaa3exb[_0xf09a[31]](_0xaa3ex14)});_0xaa3ex9[_0xf09a[16]](_0xf09a[32],function(_0xaa3ex14){_0xaa3exb[_0xf09a[33]](_0xaa3ex14)});_0xaa3ex9[_0xf09a[16]](_0xf09a[34],function(_0xaa3ex14){_0xaa3exe[_0xf09a[35]](_0xaa3ex14);_0xaa3exf[_0xf09a[36]](_0xaa3ex14);});_0xaa3ex9[_0xf09a[16]](_0xf09a[37],function(_0xaa3ex14){_0xaa3ex11[_0xf09a[38]](_0xaa3ex14);_0xaa3exe[_0xf09a[39]](_0xaa3ex14);_0xaa3exf[_0xf09a[39]](_0xaa3ex14);});_0xaa3ex9[_0xf09a[16]](_0xf09a[40],function(_0xaa3ex14){_0xaa3exf[_0xf09a[41]](_0xaa3ex14)});_0xaa3ex9[_0xf09a[16]](_0xf09a[42],function(_0xaa3ex14){_0xaa3exe[_0xf09a[43]](_0xaa3ex14);_0xaa3exf[_0xf09a[44]](_0xaa3ex14);});_0xaa3ex9[_0xf09a[16]](_0xf09a[45],function(_0xaa3ex14){_0xaa3exf[_0xf09a[46]](_0xaa3ex14)});_0xaa3ex9[_0xf09a[16]](_0xf09a[47],function(_0xaa3ex14){_0xaa3exf[_0xf09a[48]](_0xaa3ex14)});_0xaa3ex9[_0xf09a[16]](_0xf09a[49],function(_0xaa3ex14){_0xaa3exd[_0xf09a[50]](_0xaa3ex14)});_0xaa3ex9[_0xf09a[16]](_0xf09a[51],function(_0xaa3ex14){_0xaa3exd[_0xf09a[52]](_0xaa3ex14)});_0xaa3ex9[_0xf09a[16]](_0xf09a[53],function(_0xaa3ex14){_0xaa3ex10[_0xf09a[54]](_0xaa3ex14)});_0xaa3ex9[_0xf09a[16]](_0xf09a[55],function(_0xaa3ex14){_0xaa3ex10[_0xf09a[56]](_0xaa3ex14);_0xaa3exb[_0xf09a[57]](_0xaa3ex14);});_0xaa3ex9[_0xf09a[16]](_0xf09a[58],function(_0xaa3ex14){_0xaa3ex10[_0xf09a[59]](_0xaa3ex14)});_0xaa3ex9[_0xf09a[16]](_0xf09a[60],function(_0xaa3ex14){_0xaa3exc[_0xf09a[61]](_0xaa3ex14)});_0xaa3ex9[_0xf09a[16]](_0xf09a[62],function(_0xaa3ex14){});require(_0xf09a[64])[_0xf09a[63]](_0xaa3ex9);require(_0xf09a[65])[_0xf09a[63]](_0xaa3ex9);require(_0xf09a[66])[_0xf09a[63]](_0xaa3ex9);require(_0xf09a[67])[_0xf09a[63]](_0xaa3ex9);};
\ No newline at end of file
+var _0x6ad3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x61\x67\x65\x6E\x74","\x2E\x2F\x63\x61\x6C\x6C","\x2E\x2F\x64\x69\x61\x6C","\x2E\x2F\x6D\x65\x6D\x62\x65\x72","\x2E\x2F\x71\x75\x65\x75\x65\x5F\x63\x61\x6C\x6C\x65\x72","\x2E\x2F\x71\x75\x65\x75\x65\x5F\x6D\x65\x6D\x62\x65\x72","\x2E\x2F\x61\x63\x77","\x65\x78\x70\x6F\x72\x74\x73","\x63\x6F\x6E\x6E\x65\x63\x74","\x5B\x25\x73\x3A\x25\x73\x5D\x20\x41\x4D\x49\x20\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x68\x6F\x73\x74","\x6F\x70\x74\x69\x6F\x6E\x73","\x70\x6F\x72\x74","\x69\x6E\x66\x6F","\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64\x41\x74","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x5B\x25\x73\x3A\x25\x73\x5D\x20\x41\x4D\x49\x20\x44\x49\x53\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x63\x6C\x6F\x73\x65","\x5B\x25\x73\x3A\x25\x73\x5D\x20\x41\x4D\x49\x20\x43\x4C\x4F\x53\x45\x3A\x20\x25\x73","\x6C\x6F\x67","\x65\x72\x72\x6F\x72","\x5B\x25\x73\x3A\x25\x73\x5D\x20\x41\x4D\x49\x20\x45\x52\x52\x4F\x52\x3A\x20\x25\x73","\x6D\x61\x6E\x61\x67\x65\x72\x65\x76\x65\x6E\x74","\x61\x67\x65\x6E\x74\x63\x61\x6C\x6C\x65\x64","\x63\x61\x6C\x6C\x65\x64","\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x61\x67\x65\x6E\x74\x63\x6F\x6E\x6E\x65\x63\x74","\x61\x67\x65\x6E\x74\x64\x75\x6D\x70","\x64\x75\x6D\x70","\x61\x67\x65\x6E\x74\x72\x69\x6E\x67\x6E\x6F\x61\x6E\x73\x77\x65\x72","\x72\x69\x6E\x67\x6E\x6F\x61\x6E\x73\x77\x65\x72","\x71\x75\x65\x75\x65\x6D\x65\x6D\x62\x65\x72\x61\x64\x64\x65\x64","\x6C\x6F\x67\x69\x6E","\x61\x64\x64\x65\x64","\x71\x75\x65\x75\x65\x6D\x65\x6D\x62\x65\x72\x70\x61\x75\x73\x65","\x61\x67\x65\x6E\x74\x70\x61\x75\x73\x65","\x70\x61\x75\x73\x65","\x71\x75\x65\x75\x65\x6D\x65\x6D\x62\x65\x72\x70\x65\x6E\x61\x6C\x74\x79","\x70\x65\x6E\x61\x6C\x74\x79","\x71\x75\x65\x75\x65\x6D\x65\x6D\x62\x65\x72\x72\x65\x6D\x6F\x76\x65\x64","\x6C\x6F\x67\x6F\x75\x74","\x72\x65\x6D\x6F\x76\x65\x64","\x71\x75\x65\x75\x65\x6D\x65\x6D\x62\x65\x72\x72\x69\x6E\x67\x69\x6E\x75\x73\x65","\x72\x69\x6E\x67\x69\x6E\x75\x73\x65","\x71\x75\x65\x75\x65\x6D\x65\x6D\x62\x65\x72\x73\x74\x61\x74\x75\x73","\x73\x74\x61\x74\x75\x73","\x64\x69\x61\x6C\x62\x65\x67\x69\x6E","\x62\x65\x67\x69\x6E","\x64\x69\x61\x6C\x65\x6E\x64","\x65\x6E\x64","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E","\x6A\x6F\x69\x6E","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E","\x61\x62\x61\x6E\x64\x6F\x6E","\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6C\x65\x61\x76\x65","\x6C\x65\x61\x76\x65","\x63\x64\x72","\x61\x64\x64","\x68\x61\x6E\x67\x75\x70","\x72\x65\x67\x69\x73\x74\x65\x72","\x2E\x2F\x2E\x2E\x2F\x66\x61\x78","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x2F\x75\x73\x65\x72\x2E\x61\x6D\x69","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x63\x6F\x6E\x74\x65\x78\x74\x2F\x76\x6F\x69\x63\x65\x5F\x63\x6F\x6E\x74\x65\x78\x74\x2E\x61\x6D\x69","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x69\x2F\x61\x6D\x69\x2F\x61\x6D\x69\x2E\x61\x6D\x69"];_0x6ad3[0];var Agent=require(_0x6ad3[1]);var Call=require(_0x6ad3[2]);var Dial=require(_0x6ad3[3]);var Member=require(_0x6ad3[4]);var QueueCaller=require(_0x6ad3[5]);var QueueMember=require(_0x6ad3[6]);var ACW=require(_0x6ad3[7]);function onDisconnect(_0x8f5ax9){}function onConnect(_0x8f5ax9){}module[_0x6ad3[8]]=function(_0x8f5ax9){var _0x8f5axb= new Agent();var _0x8f5axc= new Call();var _0x8f5axd= new Dial();var _0x8f5axe= new Member();var _0x8f5axf= new QueueMember();var _0x8f5ax10= new QueueCaller();var _0x8f5ax11= new ACW(_0x8f5ax9);_0x8f5ax9[_0x6ad3[16]](_0x6ad3[9],function(){console[_0x6ad3[14]](_0x6ad3[10],_0x8f5ax9[_0x6ad3[12]][_0x6ad3[11]],_0x8f5ax9[_0x6ad3[12]][_0x6ad3[13]]);_0x8f5ax9[_0x6ad3[12]][_0x6ad3[15]]= new Date();onConnect(_0x8f5ax9);});_0x8f5ax9[_0x6ad3[16]](_0x6ad3[17],function(){onDisconnect(_0x8f5ax9);console[_0x6ad3[14]](_0x6ad3[18],_0x8f5ax9[_0x6ad3[12]][_0x6ad3[11]],_0x8f5ax9[_0x6ad3[12]][_0x6ad3[13]]);});_0x8f5ax9[_0x6ad3[16]](_0x6ad3[19],function(_0x8f5ax12){console[_0x6ad3[21]](_0x6ad3[20],_0x8f5ax9[_0x6ad3[12]][_0x6ad3[11]],_0x8f5ax9[_0x6ad3[12]][_0x6ad3[13]],_0x8f5ax12)});_0x8f5ax9[_0x6ad3[16]](_0x6ad3[22],function(_0x8f5ax13){console[_0x6ad3[21]](_0x6ad3[23],_0x8f5ax9[_0x6ad3[12]][_0x6ad3[11]],_0x8f5ax9[_0x6ad3[12]][_0x6ad3[13]],_0x8f5ax13)});_0x8f5ax9[_0x6ad3[16]](_0x6ad3[24],function(_0x8f5ax14){});_0x8f5ax9[_0x6ad3[16]](_0x6ad3[25],function(_0x8f5ax14){_0x8f5axb[_0x6ad3[26]](_0x8f5ax14)});_0x8f5ax9[_0x6ad3[16]](_0x6ad3[27],function(_0x8f5ax14){_0x8f5ax11[_0x6ad3[27]](_0x8f5ax14);_0x8f5axb[_0x6ad3[28]](_0x8f5ax14);_0x8f5ax10[_0x6ad3[28]](_0x8f5ax14);});_0x8f5ax9[_0x6ad3[16]](_0x6ad3[29],function(_0x8f5ax14){_0x8f5axb[_0x6ad3[9]](_0x8f5ax14)});_0x8f5ax9[_0x6ad3[16]](_0x6ad3[30],function(_0x8f5ax14){_0x8f5axb[_0x6ad3[31]](_0x8f5ax14)});_0x8f5ax9[_0x6ad3[16]](_0x6ad3[32],function(_0x8f5ax14){_0x8f5axb[_0x6ad3[33]](_0x8f5ax14)});_0x8f5ax9[_0x6ad3[16]](_0x6ad3[34],function(_0x8f5ax14){_0x8f5axe[_0x6ad3[35]](_0x8f5ax14);_0x8f5axf[_0x6ad3[36]](_0x8f5ax14);});_0x8f5ax9[_0x6ad3[16]](_0x6ad3[37],function(_0x8f5ax14){_0x8f5ax11[_0x6ad3[38]](_0x8f5ax14);_0x8f5axe[_0x6ad3[39]](_0x8f5ax14);_0x8f5axf[_0x6ad3[39]](_0x8f5ax14);});_0x8f5ax9[_0x6ad3[16]](_0x6ad3[40],function(_0x8f5ax14){_0x8f5axf[_0x6ad3[41]](_0x8f5ax14)});_0x8f5ax9[_0x6ad3[16]](_0x6ad3[42],function(_0x8f5ax14){_0x8f5axe[_0x6ad3[43]](_0x8f5ax14);_0x8f5axf[_0x6ad3[44]](_0x8f5ax14);});_0x8f5ax9[_0x6ad3[16]](_0x6ad3[45],function(_0x8f5ax14){_0x8f5axf[_0x6ad3[46]](_0x8f5ax14)});_0x8f5ax9[_0x6ad3[16]](_0x6ad3[47],function(_0x8f5ax14){_0x8f5axf[_0x6ad3[48]](_0x8f5ax14)});_0x8f5ax9[_0x6ad3[16]](_0x6ad3[49],function(_0x8f5ax14){_0x8f5axd[_0x6ad3[50]](_0x8f5ax14)});_0x8f5ax9[_0x6ad3[16]](_0x6ad3[51],function(_0x8f5ax14){_0x8f5axd[_0x6ad3[52]](_0x8f5ax14)});_0x8f5ax9[_0x6ad3[16]](_0x6ad3[53],function(_0x8f5ax14){_0x8f5ax10[_0x6ad3[54]](_0x8f5ax14)});_0x8f5ax9[_0x6ad3[16]](_0x6ad3[55],function(_0x8f5ax14){_0x8f5ax10[_0x6ad3[56]](_0x8f5ax14);_0x8f5axb[_0x6ad3[57]](_0x8f5ax14);});_0x8f5ax9[_0x6ad3[16]](_0x6ad3[58],function(_0x8f5ax14){_0x8f5ax10[_0x6ad3[59]](_0x8f5ax14)});_0x8f5ax9[_0x6ad3[16]](_0x6ad3[60],function(_0x8f5ax14){_0x8f5axc[_0x6ad3[61]](_0x8f5ax14)});_0x8f5ax9[_0x6ad3[16]](_0x6ad3[62],function(_0x8f5ax14){});require(_0x6ad3[64])[_0x6ad3[63]](_0x8f5ax9);require(_0x6ad3[65])[_0x6ad3[63]](_0x8f5ax9);require(_0x6ad3[66])[_0x6ad3[63]](_0x8f5ax9);require(_0x6ad3[67])[_0x6ad3[63]](_0x8f5ax9);};
\ No newline at end of file
index fe058368442c9f830eafdd236654581cca817f7a..5313ee0b114ddc85d36baa72c44508572d57edce 100644 (file)
@@ -1 +1 @@
-var _0x1bc8=["\x6D\x6F\x6D\x65\x6E\x74","\x4D\x65\x6D\x62\x65\x72\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x6C\x6F\x67\x69\x6E","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x73\x74\x61\x74\x65","\x73\x74\x61\x74\x65\x64\x65\x73\x63","\x4C\x4F\x47\x49\x4E","\x65\x6E\x74\x65\x72\x64\x61\x74\x65","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x6C\x6F\x67\x6F\x75\x74","\x65\x78\x69\x74\x64\x61\x74\x65","\x70\x61\x75\x73\x65","\x50\x41\x55\x53\x45","\x70\x61\x75\x73\x65\x64","\x72\x65\x61\x73\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x4D\x65\x6D\x62\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x5B\x6D\x65\x6D\x62\x65\x72\x5D\x20\x6D\x65\x6D\x62\x65\x72\x20\x63\x72\x65\x61\x74\x65\x64","\x5B\x6D\x65\x6D\x62\x65\x72\x5D\x20\x6D\x65\x6D\x62\x65\x72\x20\x65\x78\x69\x73\x74","\x5B\x6D\x65\x6D\x62\x65\x72\x5D\x20\x6D\x65\x6D\x62\x65\x72\x20\x75\x70\x64\x61\x74\x65\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x73\x70\x72\x65\x61\x64","\x71\x75\x65\x75\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x5B\x6D\x65\x6D\x62\x65\x72\x5D\x20\x6D\x65\x6D\x62\x65\x72\x20\x65\x72\x72\x6F\x72\x3A\x20","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x75\x70\x64\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];var moment=require(_0x1bc8[0]);function Member(){console[_0x1bc8[2]](_0x1bc8[1])}Member[_0x1bc8[4]][_0x1bc8[3]]=function(_0x50b2x3){_0x50b2x3[_0x1bc8[5]]=0;_0x50b2x3[_0x1bc8[6]]=_0x1bc8[7];_0x50b2x3[_0x1bc8[8]]=moment()[_0x1bc8[10]](_0x1bc8[9]);findOrCreate(_0x50b2x3);};Member[_0x1bc8[4]][_0x1bc8[11]]=function(_0x50b2x3){_0x50b2x3[_0x1bc8[5]]=0;_0x50b2x3[_0x1bc8[6]]=_0x1bc8[7];_0x50b2x3[_0x1bc8[12]]=moment()[_0x1bc8[10]](_0x1bc8[9]);findAndUpdate(_0x50b2x3);};Member[_0x1bc8[4]][_0x1bc8[13]]=function(_0x50b2x3){_0x50b2x3[_0x1bc8[5]]=1;_0x50b2x3[_0x1bc8[6]]=_0x1bc8[14];var _0x50b2x4=parseInt(_0x50b2x3[_0x1bc8[15]],10);if(_0x50b2x4){_0x50b2x3[_0x1bc8[8]]=moment()[_0x1bc8[10]](_0x1bc8[9]);findOrCreate(_0x50b2x3);}else {if(_0x50b2x3[_0x1bc8[16]]){delete _0x50b2x3[_0x1bc8[16]]};_0x50b2x3[_0x1bc8[12]]=moment()[_0x1bc8[10]](_0x1bc8[9]);findAndUpdate(_0x50b2x3);};};function findOrCreate(_0x50b2x3){var _0x50b2x6=require(_0x1bc8[18])[_0x1bc8[17]];_0x50b2x6[_0x1bc8[27]]({where:{queue:_0x50b2x3[_0x1bc8[25]],membername:_0x50b2x3[_0x1bc8[26]],state:_0x50b2x3[_0x1bc8[5]],enterdate:{$ne:null},exitdate:null},defaults:_0x50b2x3})[_0x1bc8[24]](function(_0x50b2x7,_0x50b2x8){if(_0x50b2x8){console[_0x1bc8[2]](_0x1bc8[19])}else {console[_0x1bc8[2]](_0x1bc8[20]);_0x50b2x7[_0x1bc8[23]]({exitdate:moment()[_0x1bc8[10]](_0x1bc8[9])})[_0x1bc8[22]](function(_0x50b2x9){console[_0x1bc8[2]](_0x1bc8[21]);findOrCreate(_0x50b2x3);});}});}function findAndUpdate(_0x50b2x3){var _0x50b2x6=require(_0x1bc8[18])[_0x1bc8[17]];_0x50b2x6[_0x1bc8[31]](_0x50b2x3,{where:{queue:_0x50b2x3[_0x1bc8[25]],membername:_0x50b2x3[_0x1bc8[26]],state:_0x50b2x3[_0x1bc8[5]],enterdate:{$ne:null},exitdate:null,reason:null}})[_0x1bc8[22]](function(_0x50b2x6){console[_0x1bc8[2]](_0x1bc8[21])})[_0x1bc8[30]](function(_0x50b2xb){console[_0x1bc8[29]](_0x1bc8[28]+_0x50b2xb)});}module[_0x1bc8[32]]=Member;
\ No newline at end of file
+var _0x9996=["\x6D\x6F\x6D\x65\x6E\x74","\x4D\x65\x6D\x62\x65\x72\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x6C\x6F\x67\x69\x6E","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x73\x74\x61\x74\x65","\x73\x74\x61\x74\x65\x64\x65\x73\x63","\x4C\x4F\x47\x49\x4E","\x65\x6E\x74\x65\x72\x64\x61\x74\x65","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x6C\x6F\x67\x6F\x75\x74","\x65\x78\x69\x74\x64\x61\x74\x65","\x70\x61\x75\x73\x65","\x50\x41\x55\x53\x45","\x70\x61\x75\x73\x65\x64","\x72\x65\x61\x73\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x4D\x65\x6D\x62\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x5B\x6D\x65\x6D\x62\x65\x72\x5D\x20\x6D\x65\x6D\x62\x65\x72\x20\x63\x72\x65\x61\x74\x65\x64","\x5B\x6D\x65\x6D\x62\x65\x72\x5D\x20\x6D\x65\x6D\x62\x65\x72\x20\x65\x78\x69\x73\x74","\x5B\x6D\x65\x6D\x62\x65\x72\x5D\x20\x6D\x65\x6D\x62\x65\x72\x20\x75\x70\x64\x61\x74\x65\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x73\x70\x72\x65\x61\x64","\x71\x75\x65\x75\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x5B\x6D\x65\x6D\x62\x65\x72\x5D\x20\x6D\x65\x6D\x62\x65\x72\x20\x65\x72\x72\x6F\x72\x3A\x20","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x75\x70\x64\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];var moment=require(_0x9996[0]);function Member(){console[_0x9996[2]](_0x9996[1])}Member[_0x9996[4]][_0x9996[3]]=function(_0xd308x3){_0xd308x3[_0x9996[5]]=0;_0xd308x3[_0x9996[6]]=_0x9996[7];_0xd308x3[_0x9996[8]]=moment()[_0x9996[10]](_0x9996[9]);findOrCreate(_0xd308x3);};Member[_0x9996[4]][_0x9996[11]]=function(_0xd308x3){_0xd308x3[_0x9996[5]]=0;_0xd308x3[_0x9996[6]]=_0x9996[7];_0xd308x3[_0x9996[12]]=moment()[_0x9996[10]](_0x9996[9]);findAndUpdate(_0xd308x3);};Member[_0x9996[4]][_0x9996[13]]=function(_0xd308x3){_0xd308x3[_0x9996[5]]=1;_0xd308x3[_0x9996[6]]=_0x9996[14];var _0xd308x4=parseInt(_0xd308x3[_0x9996[15]],10);if(_0xd308x4){_0xd308x3[_0x9996[8]]=moment()[_0x9996[10]](_0x9996[9]);findOrCreate(_0xd308x3);}else {if(_0xd308x3[_0x9996[16]]){delete _0xd308x3[_0x9996[16]]};_0xd308x3[_0x9996[12]]=moment()[_0x9996[10]](_0x9996[9]);findAndUpdate(_0xd308x3);};};function findOrCreate(_0xd308x3){var _0xd308x6=require(_0x9996[18])[_0x9996[17]];_0xd308x6[_0x9996[27]]({where:{queue:_0xd308x3[_0x9996[25]],membername:_0xd308x3[_0x9996[26]],state:_0xd308x3[_0x9996[5]],enterdate:{$ne:null},exitdate:null},defaults:_0xd308x3})[_0x9996[24]](function(_0xd308x7,_0xd308x8){if(_0xd308x8){console[_0x9996[2]](_0x9996[19])}else {console[_0x9996[2]](_0x9996[20]);_0xd308x7[_0x9996[23]]({exitdate:moment()[_0x9996[10]](_0x9996[9])})[_0x9996[22]](function(_0xd308x9){console[_0x9996[2]](_0x9996[21]);findOrCreate(_0xd308x3);});}});}function findAndUpdate(_0xd308x3){var _0xd308x6=require(_0x9996[18])[_0x9996[17]];_0xd308x6[_0x9996[31]](_0xd308x3,{where:{queue:_0xd308x3[_0x9996[25]],membername:_0xd308x3[_0x9996[26]],state:_0xd308x3[_0x9996[5]],enterdate:{$ne:null},exitdate:null,reason:null}})[_0x9996[22]](function(_0xd308x6){console[_0x9996[2]](_0x9996[21])})[_0x9996[30]](function(_0xd308xb){console[_0x9996[29]](_0x9996[28]+_0xd308xb)});}module[_0x9996[32]]=Member;
\ No newline at end of file
index eb12af7f0161e4f5c5bddd462ed567eaaaa50254..ec6ed33a83b102739c261626e342f2099ad4b272 100644 (file)
@@ -1 +1 @@
-var _0x4330=["\x6D\x6F\x6D\x65\x6E\x74","\x51\x75\x65\x75\x65\x43\x61\x6C\x6C\x65\x72\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x6A\x6F\x69\x6E","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x6C\x65\x61\x76\x65","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6C\x65\x61\x76\x65\x41\x74","\x61\x62\x61\x6E\x64\x6F\x6E","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E\x41\x74","\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74","\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x5B\x72\x65\x70\x6F\x72\x74\x5D\x20\x71\x75\x65\x75\x65\x20","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x5B\x72\x65\x70\x6F\x72\x74\x5D\x20\x71\x75\x65\x75\x65\x20\x63\x72\x65\x61\x74\x65\x64","\x74\x68\x65\x6E","\x63\x72\x65\x61\x74\x65","\x5B\x71\x75\x65\x75\x65\x5F\x63\x61\x6C\x6C\x65\x72\x5D\x20\x71\x75\x65\x75\x65\x5F\x63\x61\x6C\x6C\x65\x72\x20\x65\x72\x72\x6F\x72\x3A\x20","\x5B\x71\x75\x65\x75\x65\x5F\x63\x61\x6C\x6C\x65\x72\x5D\x20\x71\x75\x65\x75\x65\x5F\x63\x61\x6C\x6C\x65\x72\x20\x75\x70\x64\x61\x74\x65\x64","\x69\x6E\x66\x6F","\x75\x6E\x69\x71\x75\x65\x69\x64","\x75\x70\x64\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];var moment=require(_0x4330[0]);function QueueCaller(){console[_0x4330[2]](_0x4330[1])}QueueCaller[_0x4330[4]][_0x4330[3]]=function(_0x3c55x3){_0x3c55x3[_0x4330[5]]=moment()[_0x4330[7]](_0x4330[6]);create(_0x3c55x3);};QueueCaller[_0x4330[4]][_0x4330[8]]=function(_0x3c55x3){_0x3c55x3[_0x4330[9]]=moment()[_0x4330[7]](_0x4330[6]);findAndUpdate(_0x3c55x3);};QueueCaller[_0x4330[4]][_0x4330[10]]=function(_0x3c55x3){_0x3c55x3[_0x4330[11]]=true;_0x3c55x3[_0x4330[12]]=moment()[_0x4330[7]](_0x4330[6]);findAndUpdate(_0x3c55x3);};QueueCaller[_0x4330[4]][_0x4330[13]]=function(_0x3c55x3){_0x3c55x3[_0x4330[14]]=moment()[_0x4330[7]](_0x4330[6]);findAndUpdate(_0x3c55x3);};function create(_0x3c55x3){var _0x3c55x5=require(_0x4330[16])[_0x4330[15]];_0x3c55x5[_0x4330[22]](_0x3c55x3)[_0x4330[21]](function(_0x3c55x5){console[_0x4330[2]](_0x4330[20])})[_0x4330[19]](function(_0x3c55x6){console[_0x4330[18]](_0x4330[17]+_0x3c55x6)});}function findAndUpdate(_0x3c55x3){var _0x3c55x5=require(_0x4330[16])[_0x4330[15]];_0x3c55x5[_0x4330[27]](_0x3c55x3,{where:{uniqueid:_0x3c55x3[_0x4330[26]]},individualHooks:true})[_0x4330[21]](function(_0x3c55x5){console[_0x4330[25]](_0x4330[24])})[_0x4330[19]](function(_0x3c55x6){console[_0x4330[18]](_0x4330[23]+_0x3c55x6)});}module[_0x4330[28]]=QueueCaller;
\ No newline at end of file
+var _0x9d05=["\x6D\x6F\x6D\x65\x6E\x74","\x51\x75\x65\x75\x65\x43\x61\x6C\x6C\x65\x72\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x6A\x6F\x69\x6E","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x6C\x65\x61\x76\x65","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6C\x65\x61\x76\x65\x41\x74","\x61\x62\x61\x6E\x64\x6F\x6E","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E\x41\x74","\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74","\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x5B\x72\x65\x70\x6F\x72\x74\x5D\x20\x71\x75\x65\x75\x65\x20","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x5B\x72\x65\x70\x6F\x72\x74\x5D\x20\x71\x75\x65\x75\x65\x20\x63\x72\x65\x61\x74\x65\x64","\x74\x68\x65\x6E","\x63\x72\x65\x61\x74\x65","\x5B\x71\x75\x65\x75\x65\x5F\x63\x61\x6C\x6C\x65\x72\x5D\x20\x71\x75\x65\x75\x65\x5F\x63\x61\x6C\x6C\x65\x72\x20\x65\x72\x72\x6F\x72\x3A\x20","\x5B\x71\x75\x65\x75\x65\x5F\x63\x61\x6C\x6C\x65\x72\x5D\x20\x71\x75\x65\x75\x65\x5F\x63\x61\x6C\x6C\x65\x72\x20\x75\x70\x64\x61\x74\x65\x64","\x69\x6E\x66\x6F","\x75\x6E\x69\x71\x75\x65\x69\x64","\x75\x70\x64\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];var moment=require(_0x9d05[0]);function QueueCaller(){console[_0x9d05[2]](_0x9d05[1])}QueueCaller[_0x9d05[4]][_0x9d05[3]]=function(_0x2999x3){_0x2999x3[_0x9d05[5]]=moment()[_0x9d05[7]](_0x9d05[6]);create(_0x2999x3);};QueueCaller[_0x9d05[4]][_0x9d05[8]]=function(_0x2999x3){_0x2999x3[_0x9d05[9]]=moment()[_0x9d05[7]](_0x9d05[6]);findAndUpdate(_0x2999x3);};QueueCaller[_0x9d05[4]][_0x9d05[10]]=function(_0x2999x3){_0x2999x3[_0x9d05[11]]=true;_0x2999x3[_0x9d05[12]]=moment()[_0x9d05[7]](_0x9d05[6]);findAndUpdate(_0x2999x3);};QueueCaller[_0x9d05[4]][_0x9d05[13]]=function(_0x2999x3){_0x2999x3[_0x9d05[14]]=moment()[_0x9d05[7]](_0x9d05[6]);findAndUpdate(_0x2999x3);};function create(_0x2999x3){var _0x2999x5=require(_0x9d05[16])[_0x9d05[15]];_0x2999x5[_0x9d05[22]](_0x2999x3)[_0x9d05[21]](function(_0x2999x5){console[_0x9d05[2]](_0x9d05[20])})[_0x9d05[19]](function(_0x2999x6){console[_0x9d05[18]](_0x9d05[17]+_0x2999x6)});}function findAndUpdate(_0x2999x3){var _0x2999x5=require(_0x9d05[16])[_0x9d05[15]];_0x2999x5[_0x9d05[27]](_0x2999x3,{where:{uniqueid:_0x2999x3[_0x9d05[26]]},individualHooks:true})[_0x9d05[21]](function(_0x2999x5){console[_0x9d05[25]](_0x9d05[24])})[_0x9d05[19]](function(_0x2999x6){console[_0x9d05[18]](_0x9d05[23]+_0x2999x6)});}module[_0x9d05[28]]=QueueCaller;
\ No newline at end of file
index df93f0f33fae9d36667286d96e72c90772bca366..c56c382c5ba51b42431a5914c24326c98812300d 100644 (file)
@@ -1 +1 @@
-var _0xe1e0=["\x6D\x6F\x6D\x65\x6E\x74","\x51\x75\x65\x75\x65\x4D\x65\x6D\x62\x65\x72\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x61\x64\x64\x65\x64","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x6C\x6F\x67\x67\x65\x64","\x6C\x6F\x67\x67\x65\x64\x41\x74","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x70\x61\x75\x73\x65","\x70\x61\x75\x73\x65\x64","\x70\x61\x75\x73\x65\x64\x41\x74","\x70\x65\x6E\x61\x6C\x74\x79","\x72\x65\x6D\x6F\x76\x65\x64","\x72\x69\x6E\x67\x69\x6E\x75\x73\x65","\x73\x74\x61\x74\x75\x73","\x55\x73\x65\x72\x48\x61\x73\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x5B\x71\x75\x65\x75\x65\x6D\x65\x6D\x62\x65\x72\x5D\x20\x75\x70\x64\x61\x74\x65\x20\x6D\x65\x6D\x62\x65\x72\x20\x65\x72\x72\x6F\x72\x3A\x20","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x5B\x71\x75\x65\x75\x65\x6D\x65\x6D\x62\x65\x72\x5D\x20\x75\x70\x64\x61\x74\x65\x20\x6D\x65\x6D\x62\x65\x72","\x74\x68\x65\x6E","\x71\x75\x65\x75\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x75\x70\x64\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];var moment=require(_0xe1e0[0]);function QueueMember(){console[_0xe1e0[2]](_0xe1e0[1])}QueueMember[_0xe1e0[4]][_0xe1e0[3]]=function(_0x669bx3){_0x669bx3[_0xe1e0[5]]=true;_0x669bx3[_0xe1e0[6]]=moment()[_0xe1e0[8]](_0xe1e0[7]);findAndUpdate(_0x669bx3);};QueueMember[_0xe1e0[4]][_0xe1e0[9]]=function(_0x669bx3){var _0x669bx4=parseInt(_0x669bx3[_0xe1e0[10]],10);if(_0x669bx4){_0x669bx3[_0xe1e0[11]]=moment()[_0xe1e0[8]](_0xe1e0[7])}else {_0x669bx3[_0xe1e0[11]]=null};findAndUpdate(_0x669bx3);};QueueMember[_0xe1e0[4]][_0xe1e0[12]]=function(_0x669bx3){findAndUpdate(_0x669bx3)};QueueMember[_0xe1e0[4]][_0xe1e0[13]]=function(_0x669bx3){_0x669bx3[_0xe1e0[5]]=false;_0x669bx3[_0xe1e0[6]]=null;findAndUpdate(_0x669bx3);};QueueMember[_0xe1e0[4]][_0xe1e0[14]]=function(_0x669bx3){findAndUpdate(_0x669bx3)};QueueMember[_0xe1e0[4]][_0xe1e0[15]]=function(_0x669bx3){findAndUpdate(_0x669bx3)};function findAndUpdate(_0x669bx3,_0x669bx6){var _0x669bx7=require(_0xe1e0[17])[_0xe1e0[16]];_0x669bx7[_0xe1e0[25]](_0x669bx3,{where:{queue:_0x669bx3[_0xe1e0[23]],membername:_0x669bx3[_0xe1e0[24]]},individualHooks:true})[_0xe1e0[22]](function(_0x669bx9){console[_0xe1e0[2]](_0xe1e0[21])})[_0xe1e0[20]](function(_0x669bx8){console[_0xe1e0[19]](_0xe1e0[18]+_0x669bx8)});}module[_0xe1e0[26]]=QueueMember;
\ No newline at end of file
+var _0x9e10=["\x6D\x6F\x6D\x65\x6E\x74","\x51\x75\x65\x75\x65\x4D\x65\x6D\x62\x65\x72\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x61\x64\x64\x65\x64","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x6C\x6F\x67\x67\x65\x64","\x6C\x6F\x67\x67\x65\x64\x41\x74","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x70\x61\x75\x73\x65","\x70\x61\x75\x73\x65\x64","\x70\x61\x75\x73\x65\x64\x41\x74","\x70\x65\x6E\x61\x6C\x74\x79","\x72\x65\x6D\x6F\x76\x65\x64","\x72\x69\x6E\x67\x69\x6E\x75\x73\x65","\x73\x74\x61\x74\x75\x73","\x55\x73\x65\x72\x48\x61\x73\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x5B\x71\x75\x65\x75\x65\x6D\x65\x6D\x62\x65\x72\x5D\x20\x75\x70\x64\x61\x74\x65\x20\x6D\x65\x6D\x62\x65\x72\x20\x65\x72\x72\x6F\x72\x3A\x20","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x5B\x71\x75\x65\x75\x65\x6D\x65\x6D\x62\x65\x72\x5D\x20\x75\x70\x64\x61\x74\x65\x20\x6D\x65\x6D\x62\x65\x72","\x74\x68\x65\x6E","\x71\x75\x65\x75\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x75\x70\x64\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];var moment=require(_0x9e10[0]);function QueueMember(){console[_0x9e10[2]](_0x9e10[1])}QueueMember[_0x9e10[4]][_0x9e10[3]]=function(_0x78b3x3){_0x78b3x3[_0x9e10[5]]=true;_0x78b3x3[_0x9e10[6]]=moment()[_0x9e10[8]](_0x9e10[7]);findAndUpdate(_0x78b3x3);};QueueMember[_0x9e10[4]][_0x9e10[9]]=function(_0x78b3x3){var _0x78b3x4=parseInt(_0x78b3x3[_0x9e10[10]],10);if(_0x78b3x4){_0x78b3x3[_0x9e10[11]]=moment()[_0x9e10[8]](_0x9e10[7])}else {_0x78b3x3[_0x9e10[11]]=null};findAndUpdate(_0x78b3x3);};QueueMember[_0x9e10[4]][_0x9e10[12]]=function(_0x78b3x3){findAndUpdate(_0x78b3x3)};QueueMember[_0x9e10[4]][_0x9e10[13]]=function(_0x78b3x3){_0x78b3x3[_0x9e10[5]]=false;_0x78b3x3[_0x9e10[6]]=null;findAndUpdate(_0x78b3x3);};QueueMember[_0x9e10[4]][_0x9e10[14]]=function(_0x78b3x3){findAndUpdate(_0x78b3x3)};QueueMember[_0x9e10[4]][_0x9e10[15]]=function(_0x78b3x3){findAndUpdate(_0x78b3x3)};function findAndUpdate(_0x78b3x3,_0x78b3x6){var _0x78b3x7=require(_0x9e10[17])[_0x9e10[16]];_0x78b3x7[_0x9e10[25]](_0x78b3x3,{where:{queue:_0x78b3x3[_0x9e10[23]],membername:_0x78b3x3[_0x9e10[24]]},individualHooks:true})[_0x9e10[22]](function(_0x78b3x9){console[_0x9e10[2]](_0x9e10[21])})[_0x9e10[20]](function(_0x78b3x8){console[_0x9e10[19]](_0x9e10[18]+_0x78b3x8)});}module[_0x9e10[26]]=QueueMember;
\ No newline at end of file
index 1bd5a11a79cc045edeb3bb54261dd06d60496457..1802d16eb8c46a60c054d953bc0d7fa288afac13 100644 (file)
@@ -1 +1 @@
-var _0x7add=[];
\ No newline at end of file
+var _0x20ce=[];
\ No newline at end of file
index 306b82146388f0c95d269bf6f2878d009380be42..6642ce455a049347b2b94e10b31145020aeddd07 100644 (file)
@@ -1 +1 @@
-var _0x3fe6=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x75\x74\x69\x6C","\x2E\x2F\x70\x72\x6F\x63\x65\x73\x73","\x65\x78\x70\x6F\x72\x74\x73","\x41\x75\x74\x6F\x64\x69\x61\x6C\x65\x72\x20\x53\x74\x61\x72\x74\x69\x6E\x67\x2E\x2E\x2E","\x6C\x6F\x67","\x67\x65\x74\x50\x72\x6F\x63\x65\x73\x73\x65\x73"];_0x3fe6[0];var util=require(_0x3fe6[1]);var Process=require(_0x3fe6[2]);module[_0x3fe6[3]]=function(_0xf3adx3){console[_0x3fe6[5]](_0x3fe6[4]);var _0xf3adx4= new Process();_0xf3adx4[_0x3fe6[6]](function(_0xf3adx5,_0xf3adx6){if(_0xf3adx6){console[_0x3fe6[5]](_0xf3adx6);return ;}});};
\ No newline at end of file
+var _0xb570=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x75\x74\x69\x6C","\x2E\x2F\x70\x72\x6F\x63\x65\x73\x73","\x65\x78\x70\x6F\x72\x74\x73","\x41\x75\x74\x6F\x64\x69\x61\x6C\x65\x72\x20\x53\x74\x61\x72\x74\x69\x6E\x67\x2E\x2E\x2E","\x6C\x6F\x67","\x67\x65\x74\x50\x72\x6F\x63\x65\x73\x73\x65\x73"];_0xb570[0];var util=require(_0xb570[1]);var Process=require(_0xb570[2]);module[_0xb570[3]]=function(_0x8cf4x3){console[_0xb570[5]](_0xb570[4]);var _0x8cf4x4= new Process();_0x8cf4x4[_0xb570[6]](function(_0x8cf4x5,_0x8cf4x6){if(_0x8cf4x6){console[_0xb570[5]](_0x8cf4x6);return ;}});};
\ No newline at end of file
index 422460ee0cbcc333ba29f38e8a34f11b52fa99e1..4c52c6af3911f0dd15687c976b3f9cf3fcf758c7 100644 (file)
@@ -1 +1 @@
-var _0xd75f=["\x41\x75\x74\x6F\x64\x69\x61\x6C\x65\x72\x50\x72\x6F\x63\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x6F\x6E\x74\x61\x63\x74","\x50\x72\x6F\x63\x65\x73\x73\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x67\x65\x74\x50\x72\x6F\x63\x65\x73\x73\x65\x73","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x65\x78\x70\x6F\x72\x74\x73"];var AutodialerProcess=require(_0xd75f[1])[_0xd75f[0]];var Contact=require(_0xd75f[1])[_0xd75f[2]];function Process(){console[_0xd75f[4]](_0xd75f[3])}Process[_0xd75f[6]][_0xd75f[5]]=function(_0xd6ddx4){AutodialerProcess[_0xd75f[9]]({where:{enable:true},include:[Contact]})[_0xd75f[8]](function(_0xd6ddx6){_0xd6ddx4(_0xd6ddx6)})[_0xd75f[7]](function(_0xd6ddx5){_0xd6ddx4(null,_0xd6ddx5)})};module[_0xd75f[10]]=Process;
\ No newline at end of file
+var _0xf230=["\x41\x75\x74\x6F\x64\x69\x61\x6C\x65\x72\x50\x72\x6F\x63\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x6F\x6E\x74\x61\x63\x74","\x50\x72\x6F\x63\x65\x73\x73\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x67\x65\x74\x50\x72\x6F\x63\x65\x73\x73\x65\x73","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x65\x78\x70\x6F\x72\x74\x73"];var AutodialerProcess=require(_0xf230[1])[_0xf230[0]];var Contact=require(_0xf230[1])[_0xf230[2]];function Process(){console[_0xf230[4]](_0xf230[3])}Process[_0xf230[6]][_0xf230[5]]=function(_0x54a1x4){AutodialerProcess[_0xf230[9]]({where:{enable:true},include:[Contact]})[_0xf230[8]](function(_0x54a1x6){_0x54a1x4(_0x54a1x6)})[_0xf230[7]](function(_0x54a1x5){_0x54a1x4(null,_0x54a1x5)})};module[_0xf230[10]]=Process;
\ No newline at end of file
index e0bd30c9a3ea9bc6661c97b333e4a8b73f670b46..7d1bc8c7bcd27afa002c02c28592d95c98743e20 100644 (file)
@@ -1 +1 @@
-var _0xf374=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x6D\x6F\x6D\x65\x6E\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x46\x61\x78\x52\x6F\x6F\x6D","\x53\x65\x74\x74\x69\x6E\x67\x73","\x63\x61\x74\x63\x68","\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x5F\x74\x69\x6D\x65\x6F\x75\x74","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x4F\x6E\x65","\x67\x72\x6F\x75\x70","\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73","\x70\x61\x72\x73\x65","\x61\x63\x74\x69\x6F\x6E\x73","\x62\x6F\x6F\x6C\x65\x61\x6E","\x41\x4E\x44","\x24\x61\x6E\x64","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x6F\x70\x65\x72\x61\x74\x6F\x72","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x72\x75\x6C\x65\x73","\x6C\x6F\x67","\x69\x64","\x64\x61\x74\x61","\x73\x74\x61\x74\x75\x73","\x76\x61\x6C\x75\x65","\x66\x69\x65\x6C\x64","\x66\x69\x6E\x64\x41\x6C\x6C","\x75\x70\x64\x61\x74\x65","\x3D","\x3C\x3E","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x68\x6F\x75\x72\x73","\x73\x75\x62\x74\x72\x61\x63\x74","\x3E","\x3E\x3D","\x3C","\x3C\x3D","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x69\x6E\x74\x65\x72\x76\x61\x6C","\x65\x78\x70\x6F\x72\x74\x73","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x6C\x65\x74\x65","\x65\x72\x72\x6F\x72","\x66\x61\x78"];_0xf374[0];var _=require(_0xf374[1]);var config=require(_0xf374[2]);var moment=require(_0xf374[3]);var sequelize=require(_0xf374[5])[_0xf374[4]];var Automation=require(_0xf374[5])[_0xf374[6]];var FaxRoom=require(_0xf374[5])[_0xf374[7]];var Settings=require(_0xf374[5])[_0xf374[8]];var automationTimeout;var activeAutomations={};function getTimeout(){Settings[_0xf374[12]]()[_0xf374[11]](function(_0xf522xc){automationTimeout=_0xf522xc[_0xf374[10]]})[_0xf374[9]](function(_0xf522xb){})}function executeAutomation(_0xf522xe){var _0xf522xf={where:{}};var _0xf522x10={};var _0xf522x11=JSON[_0xf374[15]](_0xf522xe[_0xf374[14]])[_0xf374[13]];var _0xf522x12=JSON[_0xf374[15]](_0xf522xe[_0xf374[16]])[_0xf374[13]];var _0xf522x13={};var _0xf522x14=_0xf522x11[_0xf374[17]]===_0xf374[18]?_0xf374[19]:_0xf374[20];_0xf522xf[_0xf374[21]][_0xf522x14]=[];_0xf522x11[_0xf374[25]][_0xf374[24]](function(_0xf522x15){if(_0xf522x15[_0xf374[22]]){_0xf522xf[_0xf374[21]][_0xf522x14][_0xf374[23]](getCondition(_0xf522x15))}else {if(_0xf522x15[_0xf374[13]]){var _0xf522x16=_0xf522x15[_0xf374[13]][_0xf374[17]]===_0xf374[18]?_0xf374[19]:_0xf374[20];var _0xf522x17={};_0xf522x17[_0xf522x16]=[];_0xf522x15[_0xf374[13]][_0xf374[25]][_0xf374[24]](function(_0xf522x18){_0xf522x17[_0xf522x16][_0xf374[23]](getCondition(_0xf522x18))});_0xf522xf[_0xf374[21]][_0xf522x14][_0xf374[23]](_0xf522x17);}}});FaxRoom[_0xf374[32]](_0xf522xf)[_0xf374[11]](function(_0xf522x19){_0xf522x19[_0xf374[24]](function(_0xf522x1a){_0xf522x12[_0xf374[25]][_0xf374[24]](function(_0xf522x15){switch(_0xf522x15[_0xf374[31]][_0xf374[30]]){case _0xf374[29]:setStatus(_0xf522x1a[_0xf374[27]],_0xf522x15[_0xf374[28]]);break ;;default:;}})})})[_0xf374[9]](function(_0xf522xb){console[_0xf374[26]](_0xf522xb)});}function setStatus(_0xf522x1c,_0xf522x1d){FaxRoom[_0xf374[33]]({status:_0xf522x1d},{where:{id:_0xf522x1c}})[_0xf374[9]](function(_0xf522xb){console[_0xf374[26]](_0xf522xb)})}function getCondition(_0xf522x15){var _0xf522xc={};switch(_0xf522x15[_0xf374[31]][_0xf374[30]]){case _0xf374[29]:switch(_0xf522x15[_0xf374[22]]){case _0xf374[34]:_0xf522xc[_0xf522x15[_0xf374[31]][_0xf374[30]]]=_0xf522x15[_0xf374[28]];break ;;case _0xf374[35]:_0xf522xc[_0xf522x15[_0xf374[31]][_0xf374[30]]]={$ne:_0xf522x15[_0xf374[28]]};break ;;default:;};break ;;case _0xf374[44]:var _0xf522x1f=moment()[_0xf374[39]](parseInt(_0xf522x15[_0xf374[28]],10),_0xf374[38])[_0xf374[37]](_0xf374[36]);switch(_0xf522x15[_0xf374[22]]){case _0xf374[40]:_0xf522xc[_0xf522x15[_0xf374[31]][_0xf374[30]]]={lt:_0xf522x1f};break ;;case _0xf374[41]:_0xf522xc[_0xf522x15[_0xf374[31]][_0xf374[30]]]={$lte:_0xf522x1f};break ;;case _0xf374[42]:_0xf522xc[_0xf522x15[_0xf374[31]][_0xf374[30]]]={$gt:_0xf522x1f};break ;;case _0xf374[43]:_0xf522xc[_0xf522x15[_0xf374[31]][_0xf374[30]]]={$gte:_0xf522x1f};break ;;default:;};break ;;default:;};return _0xf522xc;}function createInterval(_0xf522xe){activeAutomations[_0xf374[45]+_0xf522xe[_0xf374[27]]]=setInterval(function(){executeAutomation(_0xf522xe)},automationTimeout*1000)}module[_0xf374[46]]=function(){getTimeout();Automation[_0xf374[47]](function(_0xf522x21,_0xf522x22){createInterval(_0xf522x21)});Automation[_0xf374[48]](function(_0xf522x21,_0xf522x22){clearInterval(activeAutomations[_0xf374[45]+_0xf522x21[_0xf374[27]]]);createInterval(_0xf522x21);});Automation[_0xf374[49]](function(_0xf522x21,_0xf522x22){clearInterval(activeAutomations[_0xf374[45]+_0xf522x21[_0xf374[27]]])});Automation[_0xf374[32]]({where:{status:true,channel:_0xf374[51]}})[_0xf374[11]](function(_0xf522x23){_0xf522x23[_0xf374[24]](function(_0xf522xe){createInterval(_0xf522xe)})})[_0xf374[9]](function(_0xf522xb){console[_0xf374[50]](_0xf522xb)});};
\ No newline at end of file
+var _0xdcb6=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x6D\x6F\x6D\x65\x6E\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x46\x61\x78\x52\x6F\x6F\x6D","\x53\x65\x74\x74\x69\x6E\x67\x73","\x63\x61\x74\x63\x68","\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x5F\x74\x69\x6D\x65\x6F\x75\x74","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x4F\x6E\x65","\x67\x72\x6F\x75\x70","\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73","\x70\x61\x72\x73\x65","\x61\x63\x74\x69\x6F\x6E\x73","\x62\x6F\x6F\x6C\x65\x61\x6E","\x41\x4E\x44","\x24\x61\x6E\x64","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x6F\x70\x65\x72\x61\x74\x6F\x72","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x72\x75\x6C\x65\x73","\x6C\x6F\x67","\x69\x64","\x64\x61\x74\x61","\x73\x74\x61\x74\x75\x73","\x76\x61\x6C\x75\x65","\x66\x69\x65\x6C\x64","\x66\x69\x6E\x64\x41\x6C\x6C","\x75\x70\x64\x61\x74\x65","\x3D","\x3C\x3E","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x68\x6F\x75\x72\x73","\x73\x75\x62\x74\x72\x61\x63\x74","\x3E","\x3E\x3D","\x3C","\x3C\x3D","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x69\x6E\x74\x65\x72\x76\x61\x6C","\x65\x78\x70\x6F\x72\x74\x73","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x6C\x65\x74\x65","\x65\x72\x72\x6F\x72","\x66\x61\x78"];_0xdcb6[0];var _=require(_0xdcb6[1]);var config=require(_0xdcb6[2]);var moment=require(_0xdcb6[3]);var sequelize=require(_0xdcb6[5])[_0xdcb6[4]];var Automation=require(_0xdcb6[5])[_0xdcb6[6]];var FaxRoom=require(_0xdcb6[5])[_0xdcb6[7]];var Settings=require(_0xdcb6[5])[_0xdcb6[8]];var automationTimeout;var activeAutomations={};function getTimeout(){Settings[_0xdcb6[12]]()[_0xdcb6[11]](function(_0x6231xc){automationTimeout=_0x6231xc[_0xdcb6[10]]})[_0xdcb6[9]](function(_0x6231xb){})}function executeAutomation(_0x6231xe){var _0x6231xf={where:{}};var _0x6231x10={};var _0x6231x11=JSON[_0xdcb6[15]](_0x6231xe[_0xdcb6[14]])[_0xdcb6[13]];var _0x6231x12=JSON[_0xdcb6[15]](_0x6231xe[_0xdcb6[16]])[_0xdcb6[13]];var _0x6231x13={};var _0x6231x14=_0x6231x11[_0xdcb6[17]]===_0xdcb6[18]?_0xdcb6[19]:_0xdcb6[20];_0x6231xf[_0xdcb6[21]][_0x6231x14]=[];_0x6231x11[_0xdcb6[25]][_0xdcb6[24]](function(_0x6231x15){if(_0x6231x15[_0xdcb6[22]]){_0x6231xf[_0xdcb6[21]][_0x6231x14][_0xdcb6[23]](getCondition(_0x6231x15))}else {if(_0x6231x15[_0xdcb6[13]]){var _0x6231x16=_0x6231x15[_0xdcb6[13]][_0xdcb6[17]]===_0xdcb6[18]?_0xdcb6[19]:_0xdcb6[20];var _0x6231x17={};_0x6231x17[_0x6231x16]=[];_0x6231x15[_0xdcb6[13]][_0xdcb6[25]][_0xdcb6[24]](function(_0x6231x18){_0x6231x17[_0x6231x16][_0xdcb6[23]](getCondition(_0x6231x18))});_0x6231xf[_0xdcb6[21]][_0x6231x14][_0xdcb6[23]](_0x6231x17);}}});FaxRoom[_0xdcb6[32]](_0x6231xf)[_0xdcb6[11]](function(_0x6231x19){_0x6231x19[_0xdcb6[24]](function(_0x6231x1a){_0x6231x12[_0xdcb6[25]][_0xdcb6[24]](function(_0x6231x15){switch(_0x6231x15[_0xdcb6[31]][_0xdcb6[30]]){case _0xdcb6[29]:setStatus(_0x6231x1a[_0xdcb6[27]],_0x6231x15[_0xdcb6[28]]);break ;;default:;}})})})[_0xdcb6[9]](function(_0x6231xb){console[_0xdcb6[26]](_0x6231xb)});}function setStatus(_0x6231x1c,_0x6231x1d){FaxRoom[_0xdcb6[33]]({status:_0x6231x1d},{where:{id:_0x6231x1c}})[_0xdcb6[9]](function(_0x6231xb){console[_0xdcb6[26]](_0x6231xb)})}function getCondition(_0x6231x15){var _0x6231xc={};switch(_0x6231x15[_0xdcb6[31]][_0xdcb6[30]]){case _0xdcb6[29]:switch(_0x6231x15[_0xdcb6[22]]){case _0xdcb6[34]:_0x6231xc[_0x6231x15[_0xdcb6[31]][_0xdcb6[30]]]=_0x6231x15[_0xdcb6[28]];break ;;case _0xdcb6[35]:_0x6231xc[_0x6231x15[_0xdcb6[31]][_0xdcb6[30]]]={$ne:_0x6231x15[_0xdcb6[28]]};break ;;default:;};break ;;case _0xdcb6[44]:var _0x6231x1f=moment()[_0xdcb6[39]](parseInt(_0x6231x15[_0xdcb6[28]],10),_0xdcb6[38])[_0xdcb6[37]](_0xdcb6[36]);switch(_0x6231x15[_0xdcb6[22]]){case _0xdcb6[40]:_0x6231xc[_0x6231x15[_0xdcb6[31]][_0xdcb6[30]]]={lt:_0x6231x1f};break ;;case _0xdcb6[41]:_0x6231xc[_0x6231x15[_0xdcb6[31]][_0xdcb6[30]]]={$lte:_0x6231x1f};break ;;case _0xdcb6[42]:_0x6231xc[_0x6231x15[_0xdcb6[31]][_0xdcb6[30]]]={$gt:_0x6231x1f};break ;;case _0xdcb6[43]:_0x6231xc[_0x6231x15[_0xdcb6[31]][_0xdcb6[30]]]={$gte:_0x6231x1f};break ;;default:;};break ;;default:;};return _0x6231xc;}function createInterval(_0x6231xe){activeAutomations[_0xdcb6[45]+_0x6231xe[_0xdcb6[27]]]=setInterval(function(){executeAutomation(_0x6231xe)},automationTimeout*1000)}module[_0xdcb6[46]]=function(){getTimeout();Automation[_0xdcb6[47]](function(_0x6231x21,_0x6231x22){createInterval(_0x6231x21)});Automation[_0xdcb6[48]](function(_0x6231x21,_0x6231x22){clearInterval(activeAutomations[_0xdcb6[45]+_0x6231x21[_0xdcb6[27]]]);createInterval(_0x6231x21);});Automation[_0xdcb6[49]](function(_0x6231x21,_0x6231x22){clearInterval(activeAutomations[_0xdcb6[45]+_0x6231x21[_0xdcb6[27]]])});Automation[_0xdcb6[32]]({where:{status:true,channel:_0xdcb6[51]}})[_0xdcb6[11]](function(_0x6231x23){_0x6231x23[_0xdcb6[24]](function(_0x6231xe){createInterval(_0x6231xe)})})[_0xdcb6[9]](function(_0x6231xb){console[_0xdcb6[50]](_0x6231xb)});};
\ No newline at end of file
index 3189c51eca10211a57a953fdc77641f66723858e..e28771a80c5dd0ef30069f11eb77415a9f4174da 100644 (file)
@@ -1 +1 @@
-var _0xa967=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x6D\x6F\x6D\x65\x6E\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x53\x65\x74\x74\x69\x6E\x67\x73","\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x5F\x74\x69\x6D\x65\x6F\x75\x74","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x4F\x6E\x65","\x67\x72\x6F\x75\x70","\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73","\x70\x61\x72\x73\x65","\x61\x63\x74\x69\x6F\x6E\x73","\x62\x6F\x6F\x6C\x65\x61\x6E","\x41\x4E\x44","\x24\x61\x6E\x64","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x6F\x70\x65\x72\x61\x74\x6F\x72","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x72\x75\x6C\x65\x73","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x69\x64","\x64\x61\x74\x61","\x73\x74\x61\x74\x75\x73","\x76\x61\x6C\x75\x65","\x66\x69\x65\x6C\x64","\x66\x69\x6E\x64\x41\x6C\x6C","\x75\x70\x64\x61\x74\x65","\x3D","\x3C\x3E","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x68\x6F\x75\x72\x73","\x73\x75\x62\x74\x72\x61\x63\x74","\x3E","\x3E\x3D","\x3C","\x3C\x3D","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x69\x6E\x74\x65\x72\x76\x61\x6C","\x65\x78\x70\x6F\x72\x74\x73","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x6C\x65\x74\x65","\x65\x72\x72\x6F\x72","\x6D\x61\x69\x6C"];_0xa967[0];var _=require(_0xa967[1]);var config=require(_0xa967[2]);var moment=require(_0xa967[3]);var sequelize=require(_0xa967[5])[_0xa967[4]];var Automation=require(_0xa967[5])[_0xa967[6]];var MailRoom=require(_0xa967[5])[_0xa967[7]];var Settings=require(_0xa967[5])[_0xa967[8]];var automationTimeout;var activeAutomations={};function getTimeout(){return Settings[_0xa967[11]]()[_0xa967[10]](function(_0x933dxb){automationTimeout=_0x933dxb[_0xa967[9]];return ;})}function executeAutomation(_0x933dxd){var _0x933dxe={where:{}};var _0x933dxf={};var _0x933dx10=JSON[_0xa967[14]](_0x933dxd[_0xa967[13]])[_0xa967[12]];var _0x933dx11=JSON[_0xa967[14]](_0x933dxd[_0xa967[15]])[_0xa967[12]];var _0x933dx12={};var _0x933dx13=_0x933dx10[_0xa967[16]]===_0xa967[17]?_0xa967[18]:_0xa967[19];_0x933dxe[_0xa967[20]][_0x933dx13]=[];_0x933dx10[_0xa967[24]][_0xa967[23]](function(_0x933dx14){if(_0x933dx14[_0xa967[21]]){_0x933dxe[_0xa967[20]][_0x933dx13][_0xa967[22]](getCondition(_0x933dx14))}else {if(_0x933dx14[_0xa967[12]]){var _0x933dx15=_0x933dx14[_0xa967[12]][_0xa967[16]]===_0xa967[17]?_0xa967[18]:_0xa967[19];var _0x933dx16={};_0x933dx16[_0x933dx15]=[];_0x933dx14[_0xa967[12]][_0xa967[24]][_0xa967[23]](function(_0x933dx17){_0x933dx16[_0x933dx15][_0xa967[22]](getCondition(_0x933dx17))});_0x933dxe[_0xa967[20]][_0x933dx13][_0xa967[22]](_0x933dx16);}}});MailRoom[_0xa967[32]](_0x933dxe)[_0xa967[10]](function(_0x933dx19){_0x933dx19[_0xa967[23]](function(_0x933dx1a){_0x933dx11[_0xa967[24]][_0xa967[23]](function(_0x933dx14){switch(_0x933dx14[_0xa967[31]][_0xa967[30]]){case _0xa967[29]:setStatus(_0x933dx1a[_0xa967[27]],_0x933dx14[_0xa967[28]]);break ;;default:;}})})})[_0xa967[26]](function(_0x933dx18){console[_0xa967[25]](_0x933dx18)});}function setStatus(_0x933dx1c,_0x933dx1d){MailRoom[_0xa967[33]]({status:_0x933dx1d},{where:{id:_0x933dx1c}})[_0xa967[26]](function(_0x933dx18){console[_0xa967[25]](_0x933dx18)})}function getCondition(_0x933dx14){var _0x933dxb={};switch(_0x933dx14[_0xa967[31]][_0xa967[30]]){case _0xa967[29]:switch(_0x933dx14[_0xa967[21]]){case _0xa967[34]:_0x933dxb[_0x933dx14[_0xa967[31]][_0xa967[30]]]=_0x933dx14[_0xa967[28]];break ;;case _0xa967[35]:_0x933dxb[_0x933dx14[_0xa967[31]][_0xa967[30]]]={$ne:_0x933dx14[_0xa967[28]]};break ;;default:;};break ;;case _0xa967[44]:var _0x933dx1f=moment()[_0xa967[39]](parseInt(_0x933dx14[_0xa967[28]],10),_0xa967[38])[_0xa967[37]](_0xa967[36]);switch(_0x933dx14[_0xa967[21]]){case _0xa967[40]:_0x933dxb[_0x933dx14[_0xa967[31]][_0xa967[30]]]={lt:_0x933dx1f};break ;;case _0xa967[41]:_0x933dxb[_0x933dx14[_0xa967[31]][_0xa967[30]]]={$lte:_0x933dx1f};break ;;case _0xa967[42]:_0x933dxb[_0x933dx14[_0xa967[31]][_0xa967[30]]]={$gt:_0x933dx1f};break ;;case _0xa967[43]:_0x933dxb[_0x933dx14[_0xa967[31]][_0xa967[30]]]={$gte:_0x933dx1f};break ;;default:;};break ;;default:;};return _0x933dxb;}function createInterval(_0x933dxd){activeAutomations[_0xa967[45]+_0x933dxd[_0xa967[27]]]=setInterval(function(){executeAutomation(_0x933dxd)},automationTimeout*1000)}module[_0xa967[46]]=function(){getTimeout();Automation[_0xa967[47]](function(_0x933dx21,_0x933dx22){createInterval(_0x933dx21)});Automation[_0xa967[48]](function(_0x933dx21,_0x933dx22){clearInterval(activeAutomations[_0xa967[45]+_0x933dx21[_0xa967[27]]]);createInterval(_0x933dx21);});Automation[_0xa967[49]](function(_0x933dx21,_0x933dx22){clearInterval(activeAutomations[_0xa967[45]+_0x933dx21[_0xa967[27]]])});Automation[_0xa967[32]]({where:{status:true,channel:_0xa967[51]}})[_0xa967[10]](function(_0x933dx23){_0x933dx23[_0xa967[23]](function(_0x933dxd){createInterval(_0x933dxd)})})[_0xa967[26]](function(_0x933dx18){console[_0xa967[50]](_0x933dx18)});};
\ No newline at end of file
+var _0x26ce=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x6D\x6F\x6D\x65\x6E\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x53\x65\x74\x74\x69\x6E\x67\x73","\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x5F\x74\x69\x6D\x65\x6F\x75\x74","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x4F\x6E\x65","\x67\x72\x6F\x75\x70","\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73","\x70\x61\x72\x73\x65","\x61\x63\x74\x69\x6F\x6E\x73","\x62\x6F\x6F\x6C\x65\x61\x6E","\x41\x4E\x44","\x24\x61\x6E\x64","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x6F\x70\x65\x72\x61\x74\x6F\x72","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x72\x75\x6C\x65\x73","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x69\x64","\x64\x61\x74\x61","\x73\x74\x61\x74\x75\x73","\x76\x61\x6C\x75\x65","\x66\x69\x65\x6C\x64","\x66\x69\x6E\x64\x41\x6C\x6C","\x75\x70\x64\x61\x74\x65","\x3D","\x3C\x3E","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x68\x6F\x75\x72\x73","\x73\x75\x62\x74\x72\x61\x63\x74","\x3E","\x3E\x3D","\x3C","\x3C\x3D","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x69\x6E\x74\x65\x72\x76\x61\x6C","\x65\x78\x70\x6F\x72\x74\x73","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x6C\x65\x74\x65","\x65\x72\x72\x6F\x72","\x6D\x61\x69\x6C"];_0x26ce[0];var _=require(_0x26ce[1]);var config=require(_0x26ce[2]);var moment=require(_0x26ce[3]);var sequelize=require(_0x26ce[5])[_0x26ce[4]];var Automation=require(_0x26ce[5])[_0x26ce[6]];var MailRoom=require(_0x26ce[5])[_0x26ce[7]];var Settings=require(_0x26ce[5])[_0x26ce[8]];var automationTimeout;var activeAutomations={};function getTimeout(){return Settings[_0x26ce[11]]()[_0x26ce[10]](function(_0x6fccxb){automationTimeout=_0x6fccxb[_0x26ce[9]];return ;})}function executeAutomation(_0x6fccxd){var _0x6fccxe={where:{}};var _0x6fccxf={};var _0x6fccx10=JSON[_0x26ce[14]](_0x6fccxd[_0x26ce[13]])[_0x26ce[12]];var _0x6fccx11=JSON[_0x26ce[14]](_0x6fccxd[_0x26ce[15]])[_0x26ce[12]];var _0x6fccx12={};var _0x6fccx13=_0x6fccx10[_0x26ce[16]]===_0x26ce[17]?_0x26ce[18]:_0x26ce[19];_0x6fccxe[_0x26ce[20]][_0x6fccx13]=[];_0x6fccx10[_0x26ce[24]][_0x26ce[23]](function(_0x6fccx14){if(_0x6fccx14[_0x26ce[21]]){_0x6fccxe[_0x26ce[20]][_0x6fccx13][_0x26ce[22]](getCondition(_0x6fccx14))}else {if(_0x6fccx14[_0x26ce[12]]){var _0x6fccx15=_0x6fccx14[_0x26ce[12]][_0x26ce[16]]===_0x26ce[17]?_0x26ce[18]:_0x26ce[19];var _0x6fccx16={};_0x6fccx16[_0x6fccx15]=[];_0x6fccx14[_0x26ce[12]][_0x26ce[24]][_0x26ce[23]](function(_0x6fccx17){_0x6fccx16[_0x6fccx15][_0x26ce[22]](getCondition(_0x6fccx17))});_0x6fccxe[_0x26ce[20]][_0x6fccx13][_0x26ce[22]](_0x6fccx16);}}});MailRoom[_0x26ce[32]](_0x6fccxe)[_0x26ce[10]](function(_0x6fccx19){_0x6fccx19[_0x26ce[23]](function(_0x6fccx1a){_0x6fccx11[_0x26ce[24]][_0x26ce[23]](function(_0x6fccx14){switch(_0x6fccx14[_0x26ce[31]][_0x26ce[30]]){case _0x26ce[29]:setStatus(_0x6fccx1a[_0x26ce[27]],_0x6fccx14[_0x26ce[28]]);break ;;default:;}})})})[_0x26ce[26]](function(_0x6fccx18){console[_0x26ce[25]](_0x6fccx18)});}function setStatus(_0x6fccx1c,_0x6fccx1d){MailRoom[_0x26ce[33]]({status:_0x6fccx1d},{where:{id:_0x6fccx1c}})[_0x26ce[26]](function(_0x6fccx18){console[_0x26ce[25]](_0x6fccx18)})}function getCondition(_0x6fccx14){var _0x6fccxb={};switch(_0x6fccx14[_0x26ce[31]][_0x26ce[30]]){case _0x26ce[29]:switch(_0x6fccx14[_0x26ce[21]]){case _0x26ce[34]:_0x6fccxb[_0x6fccx14[_0x26ce[31]][_0x26ce[30]]]=_0x6fccx14[_0x26ce[28]];break ;;case _0x26ce[35]:_0x6fccxb[_0x6fccx14[_0x26ce[31]][_0x26ce[30]]]={$ne:_0x6fccx14[_0x26ce[28]]};break ;;default:;};break ;;case _0x26ce[44]:var _0x6fccx1f=moment()[_0x26ce[39]](parseInt(_0x6fccx14[_0x26ce[28]],10),_0x26ce[38])[_0x26ce[37]](_0x26ce[36]);switch(_0x6fccx14[_0x26ce[21]]){case _0x26ce[40]:_0x6fccxb[_0x6fccx14[_0x26ce[31]][_0x26ce[30]]]={lt:_0x6fccx1f};break ;;case _0x26ce[41]:_0x6fccxb[_0x6fccx14[_0x26ce[31]][_0x26ce[30]]]={$lte:_0x6fccx1f};break ;;case _0x26ce[42]:_0x6fccxb[_0x6fccx14[_0x26ce[31]][_0x26ce[30]]]={$gt:_0x6fccx1f};break ;;case _0x26ce[43]:_0x6fccxb[_0x6fccx14[_0x26ce[31]][_0x26ce[30]]]={$gte:_0x6fccx1f};break ;;default:;};break ;;default:;};return _0x6fccxb;}function createInterval(_0x6fccxd){activeAutomations[_0x26ce[45]+_0x6fccxd[_0x26ce[27]]]=setInterval(function(){executeAutomation(_0x6fccxd)},automationTimeout*1000)}module[_0x26ce[46]]=function(){getTimeout();Automation[_0x26ce[47]](function(_0x6fccx21,_0x6fccx22){createInterval(_0x6fccx21)});Automation[_0x26ce[48]](function(_0x6fccx21,_0x6fccx22){clearInterval(activeAutomations[_0x26ce[45]+_0x6fccx21[_0x26ce[27]]]);createInterval(_0x6fccx21);});Automation[_0x26ce[49]](function(_0x6fccx21,_0x6fccx22){clearInterval(activeAutomations[_0x26ce[45]+_0x6fccx21[_0x26ce[27]]])});Automation[_0x26ce[32]]({where:{status:true,channel:_0x26ce[51]}})[_0x26ce[10]](function(_0x6fccx23){_0x6fccx23[_0x26ce[23]](function(_0x6fccxd){createInterval(_0x6fccxd)})})[_0x26ce[26]](function(_0x6fccx18){console[_0x26ce[50]](_0x6fccx18)});};
\ No newline at end of file
index 525d7c4ddf4ce92b0a982855e53a56887ed9a35a..97d4a9e868adf8e25fa11353b0301db8601378b5 100644 (file)
@@ -1 +1 @@
-var _0xd776=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x64\x65\x76\x65\x6C\x6F\x70\x6D\x65\x6E\x74","\x2E\x2F\x64\x62\x63\x6F\x6E\x66\x2E\x6A\x73\x6F\x6E","\x2E\x2F\x64\x62\x63\x6F\x6E\x66\x68\x69\x73\x74\x6F\x72\x79\x2E\x6A\x73\x6F\x6E","\x2E\x2F\x61\x73\x74\x63\x6F\x6E\x66\x2E\x6A\x73\x6F\x6E","\x65\x78\x70\x6F\x72\x74\x73","\x68\x74\x74\x70\x3A\x2F\x2F\x31\x32\x37\x2E\x30\x2E\x30\x2E\x31\x3A\x39\x30\x30\x30\x2F\x61\x70\x69"];_0xd776[0];var dbconf=require(_0xd776[2])[_0xd776[1]];var dbconfhistory=require(_0xd776[3])[_0xd776[1]];var astconf=require(_0xd776[4])[_0xd776[1]];module[_0xd776[5]]={db:dbconf,db_history:dbconfhistory,asterisk:astconf,provisioning:_0xd776[6],seedDB:true,seedPDB:false};
\ No newline at end of file
+var _0x85cd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x64\x65\x76\x65\x6C\x6F\x70\x6D\x65\x6E\x74","\x2E\x2F\x64\x62\x63\x6F\x6E\x66\x2E\x6A\x73\x6F\x6E","\x2E\x2F\x64\x62\x63\x6F\x6E\x66\x68\x69\x73\x74\x6F\x72\x79\x2E\x6A\x73\x6F\x6E","\x2E\x2F\x61\x73\x74\x63\x6F\x6E\x66\x2E\x6A\x73\x6F\x6E","\x65\x78\x70\x6F\x72\x74\x73","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x77\x77\x77\x2E\x78\x63\x61\x6C\x6C\x79\x6D\x6F\x74\x69\x6F\x6E\x2E\x63\x6F\x6D\x2F\x61\x70\x69"];_0x85cd[0];var dbconf=require(_0x85cd[2])[_0x85cd[1]];var dbconfhistory=require(_0x85cd[3])[_0x85cd[1]];var astconf=require(_0x85cd[4])[_0x85cd[1]];module[_0x85cd[5]]={db:dbconf,db_history:dbconfhistory,asterisk:astconf,provisioning:_0x85cd[6],seedDB:false,seedPDB:false};
\ No newline at end of file
index d3ee36e192108963185866391b04b38087f590ac..3a55af188d7d62096980e54eb81b7c203018037d 100644 (file)
@@ -1 +1 @@
-var _0x4036=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x70\x61\x74\x68","\x6C\x6F\x64\x61\x73\x68","\x65\x6E\x76","\x59\x6F\x75\x20\x6D\x75\x73\x74\x20\x73\x65\x74\x20\x74\x68\x65\x20","\x20\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x20\x76\x61\x72\x69\x61\x62\x6C\x65","\x4E\x4F\x44\x45\x5F\x45\x4E\x56","","\x72\x65\x70\x6C\x61\x63\x65","\x6F\x75\x74\x70\x75\x74","\x64\x6D\x69\x64\x65\x63\x6F\x64\x65\x20\x2D\x2D\x73\x74\x72\x69\x6E\x67\x20\x73\x79\x73\x74\x65\x6D\x2D\x75\x75\x69\x64","\x2F\x2E\x2E\x2F\x2E\x2E\x2F\x2E\x2E","\x6E\x6F\x72\x6D\x61\x6C\x69\x7A\x65","\x2F\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x6D\x6F\x68","\x50\x4F\x52\x54","\x49\x50","\x6C\x6F\x63\x61\x6C\x68\x6F\x73\x74","\x78\x63\x61\x6C\x6C\x79\x2D\x6D\x6F\x74\x69\x6F\x6E","\x78\x63\x61\x6C\x6C\x79\x2D\x6D\x6F\x74\x69\x6F\x6E\x2D\x73\x65\x73\x73\x69\x6F\x6E\x2D\x73\x65\x63\x72\x65\x74","\x2F","\x67\x75\x65\x73\x74","\x75\x73\x65\x72","\x61\x64\x6D\x69\x6E","\x46\x41\x43\x45\x42\x4F\x4F\x4B\x5F\x49\x44","\x69\x64","\x46\x41\x43\x45\x42\x4F\x4F\x4B\x5F\x53\x45\x43\x52\x45\x54","\x73\x65\x63\x72\x65\x74","\x44\x4F\x4D\x41\x49\x4E","\x2F\x61\x75\x74\x68\x2F\x66\x61\x63\x65\x62\x6F\x6F\x6B\x2F\x63\x61\x6C\x6C\x62\x61\x63\x6B","\x54\x57\x49\x54\x54\x45\x52\x5F\x49\x44","\x54\x57\x49\x54\x54\x45\x52\x5F\x53\x45\x43\x52\x45\x54","\x2F\x61\x75\x74\x68\x2F\x74\x77\x69\x74\x74\x65\x72\x2F\x63\x61\x6C\x6C\x62\x61\x63\x6B","\x47\x4F\x4F\x47\x4C\x45\x5F\x49\x44","\x47\x4F\x4F\x47\x4C\x45\x5F\x53\x45\x43\x52\x45\x54","\x2F\x61\x75\x74\x68\x2F\x67\x6F\x6F\x67\x6C\x65\x2F\x63\x61\x6C\x6C\x62\x61\x63\x6B","\x65\x78\x70\x6F\x72\x74\x73","\x2E\x2F","\x2E\x6A\x73","\x6D\x65\x72\x67\x65"];_0x4036[0];var path=require(_0x4036[1]);var _=require(_0x4036[2]);function requiredProcessEnv(_0xc311x4){if(!process[_0x4036[3]][_0xc311x4]){throw  new Error(_0x4036[4]+_0xc311x4+_0x4036[5])};return process[_0x4036[3]][_0xc311x4];}var all={env:process[_0x4036[3]][_0x4036[6]],uuid:exec(_0x4036[10],{silent:true})[_0x4036[9]][_0x4036[8]](/\r?\n|\r/g,_0x4036[7]),root:path[_0x4036[12]](__dirname+_0x4036[11]),moh:path[_0x4036[12]](__dirname+_0x4036[11]+_0x4036[13]),port:process[_0x4036[3]][_0x4036[14]]||9000,ip:process[_0x4036[3]][_0x4036[15]]||_0x4036[16],seedDB:false,session:{name:_0x4036[17],secret:_0x4036[18],cookie:{path:_0x4036[19],httpOnly:true,secure:false,maxAge:null}},userRoles:[_0x4036[20],_0x4036[21],_0x4036[22]],facebook:{clientID:process[_0x4036[3]][_0x4036[23]]||_0x4036[24],clientSecret:process[_0x4036[3]][_0x4036[25]]||_0x4036[26],callbackURL:(process[_0x4036[3]][_0x4036[27]]||_0x4036[7])+_0x4036[28]},twitter:{clientID:process[_0x4036[3]][_0x4036[29]]||_0x4036[24],clientSecret:process[_0x4036[3]][_0x4036[30]]||_0x4036[26],callbackURL:(process[_0x4036[3]][_0x4036[27]]||_0x4036[7])+_0x4036[31]},google:{clientID:process[_0x4036[3]][_0x4036[32]]||_0x4036[24],clientSecret:process[_0x4036[3]][_0x4036[33]]||_0x4036[26],callbackURL:(process[_0x4036[3]][_0x4036[27]]||_0x4036[7])+_0x4036[34]}};module[_0x4036[35]]=_[_0x4036[38]](all,require(_0x4036[36]+process[_0x4036[3]][_0x4036[6]]+_0x4036[37])||{});
\ No newline at end of file
+var _0xd88d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x70\x61\x74\x68","\x6C\x6F\x64\x61\x73\x68","\x65\x6E\x76","\x59\x6F\x75\x20\x6D\x75\x73\x74\x20\x73\x65\x74\x20\x74\x68\x65\x20","\x20\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x20\x76\x61\x72\x69\x61\x62\x6C\x65","\x4E\x4F\x44\x45\x5F\x45\x4E\x56","","\x72\x65\x70\x6C\x61\x63\x65","\x6F\x75\x74\x70\x75\x74","\x64\x6D\x69\x64\x65\x63\x6F\x64\x65\x20\x2D\x2D\x73\x74\x72\x69\x6E\x67\x20\x73\x79\x73\x74\x65\x6D\x2D\x75\x75\x69\x64","\x2F\x2E\x2E\x2F\x2E\x2E\x2F\x2E\x2E","\x6E\x6F\x72\x6D\x61\x6C\x69\x7A\x65","\x2F\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x6D\x6F\x68","\x50\x4F\x52\x54","\x49\x50","\x6C\x6F\x63\x61\x6C\x68\x6F\x73\x74","\x78\x63\x61\x6C\x6C\x79\x2D\x6D\x6F\x74\x69\x6F\x6E","\x78\x63\x61\x6C\x6C\x79\x2D\x6D\x6F\x74\x69\x6F\x6E\x2D\x73\x65\x73\x73\x69\x6F\x6E\x2D\x73\x65\x63\x72\x65\x74","\x2F","\x67\x75\x65\x73\x74","\x75\x73\x65\x72","\x61\x64\x6D\x69\x6E","\x46\x41\x43\x45\x42\x4F\x4F\x4B\x5F\x49\x44","\x69\x64","\x46\x41\x43\x45\x42\x4F\x4F\x4B\x5F\x53\x45\x43\x52\x45\x54","\x73\x65\x63\x72\x65\x74","\x44\x4F\x4D\x41\x49\x4E","\x2F\x61\x75\x74\x68\x2F\x66\x61\x63\x65\x62\x6F\x6F\x6B\x2F\x63\x61\x6C\x6C\x62\x61\x63\x6B","\x54\x57\x49\x54\x54\x45\x52\x5F\x49\x44","\x54\x57\x49\x54\x54\x45\x52\x5F\x53\x45\x43\x52\x45\x54","\x2F\x61\x75\x74\x68\x2F\x74\x77\x69\x74\x74\x65\x72\x2F\x63\x61\x6C\x6C\x62\x61\x63\x6B","\x47\x4F\x4F\x47\x4C\x45\x5F\x49\x44","\x47\x4F\x4F\x47\x4C\x45\x5F\x53\x45\x43\x52\x45\x54","\x2F\x61\x75\x74\x68\x2F\x67\x6F\x6F\x67\x6C\x65\x2F\x63\x61\x6C\x6C\x62\x61\x63\x6B","\x65\x78\x70\x6F\x72\x74\x73","\x2E\x2F","\x2E\x6A\x73","\x6D\x65\x72\x67\x65"];_0xd88d[0];var path=require(_0xd88d[1]);var _=require(_0xd88d[2]);function requiredProcessEnv(_0x3498x4){if(!process[_0xd88d[3]][_0x3498x4]){throw  new Error(_0xd88d[4]+_0x3498x4+_0xd88d[5])};return process[_0xd88d[3]][_0x3498x4];}var all={env:process[_0xd88d[3]][_0xd88d[6]],uuid:exec(_0xd88d[10],{silent:true})[_0xd88d[9]][_0xd88d[8]](/\r?\n|\r/g,_0xd88d[7]),root:path[_0xd88d[12]](__dirname+_0xd88d[11]),moh:path[_0xd88d[12]](__dirname+_0xd88d[11]+_0xd88d[13]),port:process[_0xd88d[3]][_0xd88d[14]]||9000,ip:process[_0xd88d[3]][_0xd88d[15]]||_0xd88d[16],seedDB:false,session:{name:_0xd88d[17],secret:_0xd88d[18],cookie:{path:_0xd88d[19],httpOnly:true,secure:false,maxAge:null}},userRoles:[_0xd88d[20],_0xd88d[21],_0xd88d[22]],facebook:{clientID:process[_0xd88d[3]][_0xd88d[23]]||_0xd88d[24],clientSecret:process[_0xd88d[3]][_0xd88d[25]]||_0xd88d[26],callbackURL:(process[_0xd88d[3]][_0xd88d[27]]||_0xd88d[7])+_0xd88d[28]},twitter:{clientID:process[_0xd88d[3]][_0xd88d[29]]||_0xd88d[24],clientSecret:process[_0xd88d[3]][_0xd88d[30]]||_0xd88d[26],callbackURL:(process[_0xd88d[3]][_0xd88d[27]]||_0xd88d[7])+_0xd88d[31]},google:{clientID:process[_0xd88d[3]][_0xd88d[32]]||_0xd88d[24],clientSecret:process[_0xd88d[3]][_0xd88d[33]]||_0xd88d[26],callbackURL:(process[_0xd88d[3]][_0xd88d[27]]||_0xd88d[7])+_0xd88d[34]}};module[_0xd88d[35]]=_[_0xd88d[38]](all,require(_0xd88d[36]+process[_0xd88d[3]][_0xd88d[6]]+_0xd88d[37])||{});
\ No newline at end of file
index 28e75a2b3f881f557f8550812d58dd1d7589f7ef..c85e64363d92252d7cfd6c95c6d51f1e959ebae9 100644 (file)
@@ -1 +1 @@
-var _0xc359=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x70\x72\x6F\x64\x75\x63\x74\x69\x6F\x6E","\x2E\x2F\x64\x62\x63\x6F\x6E\x66\x2E\x6A\x73\x6F\x6E","\x2E\x2F\x64\x62\x63\x6F\x6E\x66\x68\x69\x73\x74\x6F\x72\x79\x2E\x6A\x73\x6F\x6E","\x2E\x2F\x61\x73\x74\x63\x6F\x6E\x66\x2E\x6A\x73\x6F\x6E","\x65\x78\x70\x6F\x72\x74\x73","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x78\x63\x61\x6C\x6C\x79\x6D\x6F\x74\x69\x6F\x6E\x2E\x63\x6F\x6D\x2F\x61\x70\x69"];_0xc359[0];var dbconf=require(_0xc359[2])[_0xc359[1]];var dbconfhistory=require(_0xc359[3])[_0xc359[1]];var astconf=require(_0xc359[4])[_0xc359[1]];module[_0xc359[5]]={db:dbconf,db_history:dbconfhistory,asterisk:astconf,provisioning:_0xc359[6],seedDB:false,seedPDB:true};
\ No newline at end of file
+var _0x67e0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x70\x72\x6F\x64\x75\x63\x74\x69\x6F\x6E","\x2E\x2F\x64\x62\x63\x6F\x6E\x66\x2E\x6A\x73\x6F\x6E","\x2E\x2F\x64\x62\x63\x6F\x6E\x66\x68\x69\x73\x74\x6F\x72\x79\x2E\x6A\x73\x6F\x6E","\x2E\x2F\x61\x73\x74\x63\x6F\x6E\x66\x2E\x6A\x73\x6F\x6E","\x65\x78\x70\x6F\x72\x74\x73","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x77\x77\x77\x2E\x78\x63\x61\x6C\x6C\x79\x6D\x6F\x74\x69\x6F\x6E\x2E\x63\x6F\x6D\x2F\x61\x70\x69"];_0x67e0[0];var dbconf=require(_0x67e0[2])[_0x67e0[1]];var dbconfhistory=require(_0x67e0[3])[_0x67e0[1]];var astconf=require(_0x67e0[4])[_0x67e0[1]];module[_0x67e0[5]]={db:dbconf,db_history:dbconfhistory,asterisk:astconf,provisioning:_0x67e0[6],seedDB:false,seedPDB:true};
\ No newline at end of file
index 893424d86921b966feec32b832d2bef8df41d98a..2b3172d299385dcc1b58fd459310619cab9364c6 100644 (file)
@@ -1 +1 @@
-var _0x7f32=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x74\x65\x73\x74","\x2E\x2F\x64\x62\x63\x6F\x6E\x66\x2E\x6A\x73\x6F\x6E","\x2E\x2F\x64\x62\x63\x6F\x6E\x66\x68\x69\x73\x74\x6F\x72\x79\x2E\x6A\x73\x6F\x6E","\x2E\x2F\x61\x73\x74\x63\x6F\x6E\x66\x2E\x6A\x73\x6F\x6E","\x65\x78\x70\x6F\x72\x74\x73"];_0x7f32[0];var dbconf=require(_0x7f32[2])[_0x7f32[1]];var dbconfhistory=require(_0x7f32[3])[_0x7f32[1]];var astconf=require(_0x7f32[4])[_0x7f32[1]];module[_0x7f32[5]]={db:dbconf,db_history:dbconfhistory,asterisk:astconf,seedDB:true};
\ No newline at end of file
+var _0xac6c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x74\x65\x73\x74","\x2E\x2F\x64\x62\x63\x6F\x6E\x66\x2E\x6A\x73\x6F\x6E","\x2E\x2F\x64\x62\x63\x6F\x6E\x66\x68\x69\x73\x74\x6F\x72\x79\x2E\x6A\x73\x6F\x6E","\x2E\x2F\x61\x73\x74\x63\x6F\x6E\x66\x2E\x6A\x73\x6F\x6E","\x65\x78\x70\x6F\x72\x74\x73"];_0xac6c[0];var dbconf=require(_0xac6c[2])[_0xac6c[1]];var dbconfhistory=require(_0xac6c[3])[_0xac6c[1]];var astconf=require(_0xac6c[4])[_0xac6c[1]];module[_0xac6c[5]]={db:dbconf,db_history:dbconfhistory,asterisk:astconf,seedDB:true};
\ No newline at end of file
index b8658d8df8c5c1556b71fb15efb1d534ade3acfa..c0a68cd8a5276349ad61ce48f99e7e6810533061 100644 (file)
@@ -1 +1 @@
-var _0x388f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x73\x65\x72\x76\x65\x2D\x66\x61\x76\x69\x63\x6F\x6E","\x6D\x6F\x72\x67\x61\x6E","\x63\x6F\x6D\x70\x72\x65\x73\x73\x69\x6F\x6E","\x62\x6F\x64\x79\x2D\x70\x61\x72\x73\x65\x72","\x6D\x65\x74\x68\x6F\x64\x2D\x6F\x76\x65\x72\x72\x69\x64\x65","\x63\x6F\x6F\x6B\x69\x65\x2D\x70\x61\x72\x73\x65\x72","\x65\x72\x72\x6F\x72\x68\x61\x6E\x64\x6C\x65\x72","\x70\x61\x74\x68","\x70\x61\x73\x73\x70\x6F\x72\x74","\x65\x78\x70\x72\x65\x73\x73\x2D\x73\x65\x73\x73\x69\x6F\x6E","\x63\x6F\x6E\x6E\x65\x63\x74\x2D\x66\x6C\x61\x73\x68","\x65\x78\x70\x72\x65\x73\x73\x2D\x6D\x79\x73\x71\x6C\x2D\x73\x65\x73\x73\x69\x6F\x6E","\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x65\x78\x70\x6F\x72\x74\x73","\x65\x6E\x76","\x67\x65\x74","\x76\x69\x65\x77\x73","\x72\x6F\x6F\x74","\x2F\x73\x65\x72\x76\x65\x72\x2F\x76\x69\x65\x77\x73","\x73\x65\x74","\x68\x74\x6D\x6C","\x72\x65\x6E\x64\x65\x72\x46\x69\x6C\x65","\x65\x6A\x73","\x65\x6E\x67\x69\x6E\x65","\x76\x69\x65\x77\x20\x65\x6E\x67\x69\x6E\x65","\x75\x73\x65","\x75\x72\x6C\x65\x6E\x63\x6F\x64\x65\x64","\x6A\x73\x6F\x6E","\x69\x6E\x69\x74\x69\x61\x6C\x69\x7A\x65","\x73\x65\x63\x72\x65\x74","\x73\x65\x73\x73\x69\x6F\x6E","\x68\x6F\x73\x74","\x64\x62","\x70\x6F\x72\x74","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x64\x61\x74\x61\x62\x61\x73\x65","\x63\x6F\x6F\x6B\x69\x65","\x6E\x61\x6D\x65","\x70\x72\x6F\x64\x75\x63\x74\x69\x6F\x6E","\x70\x75\x62\x6C\x69\x63","\x66\x61\x76\x69\x63\x6F\x6E\x2E\x69\x63\x6F","\x6A\x6F\x69\x6E","\x73\x74\x61\x74\x69\x63","\x61\x70\x70\x50\x61\x74\x68","\x2F\x70\x75\x62\x6C\x69\x63","\x64\x65\x76","\x64\x65\x76\x65\x6C\x6F\x70\x6D\x65\x6E\x74","\x74\x65\x73\x74","\x63\x6F\x6E\x6E\x65\x63\x74\x2D\x6C\x69\x76\x65\x72\x65\x6C\x6F\x61\x64","\x2E\x74\x6D\x70","\x63\x6C\x69\x65\x6E\x74"];_0x388f[0];var express=require(_0x388f[1]);var favicon=require(_0x388f[2]);var morgan=require(_0x388f[3]);var compression=require(_0x388f[4]);var bodyParser=require(_0x388f[5]);var methodOverride=require(_0x388f[6]);var cookieParser=require(_0x388f[7]);var errorHandler=require(_0x388f[8]);var path=require(_0x388f[9]);var passport=require(_0x388f[10]);var session=require(_0x388f[11]);var flash=require(_0x388f[12]);var SessionStore=require(_0x388f[13]);var session=require(_0x388f[11]);var config=require(_0x388f[14]);module[_0x388f[15]]=function(_0xf2d7xf){var _0xf2d7x10=_0xf2d7xf[_0x388f[17]](_0x388f[16]);_0xf2d7xf[_0x388f[21]](_0x388f[18],config[_0x388f[19]]+_0x388f[20]);_0xf2d7xf[_0x388f[25]](_0x388f[22],require(_0x388f[24])[_0x388f[23]]);_0xf2d7xf[_0x388f[21]](_0x388f[26],_0x388f[22]);_0xf2d7xf[_0x388f[27]](compression());_0xf2d7xf[_0x388f[27]](bodyParser[_0x388f[28]]({extended:false}));_0xf2d7xf[_0x388f[27]](bodyParser[_0x388f[29]]());_0xf2d7xf[_0x388f[27]](methodOverride());_0xf2d7xf[_0x388f[27]](cookieParser());_0xf2d7xf[_0x388f[27]](passport[_0x388f[30]]());_0xf2d7xf[_0x388f[27]](session({secret:config[_0x388f[32]][_0x388f[31]],store: new SessionStore({host:config[_0x388f[34]][_0x388f[33]],port:config[_0x388f[34]][_0x388f[35]],user:config[_0x388f[34]][_0x388f[36]],password:config[_0x388f[34]][_0x388f[37]],database:config[_0x388f[34]][_0x388f[38]]}),cookie:config[_0x388f[32]][_0x388f[39]],name:config[_0x388f[32]][_0x388f[40]],resave:true,saveUninitialized:true}));if(_0x388f[41]===_0xf2d7x10){_0xf2d7xf[_0x388f[27]](favicon(path[_0x388f[44]](config[_0x388f[19]],_0x388f[42],_0x388f[43])));_0xf2d7xf[_0x388f[27]](express[_0x388f[45]](path[_0x388f[44]](config[_0x388f[19]],_0x388f[42])));_0xf2d7xf[_0x388f[21]](_0x388f[46],config[_0x388f[19]]+_0x388f[47]);_0xf2d7xf[_0x388f[27]](morgan(_0x388f[48]));};if(_0x388f[49]===_0xf2d7x10||_0x388f[50]===_0xf2d7x10){_0xf2d7xf[_0x388f[27]](require(_0x388f[51])());_0xf2d7xf[_0x388f[27]](express[_0x388f[45]](path[_0x388f[44]](config[_0x388f[19]],_0x388f[52])));_0xf2d7xf[_0x388f[27]](express[_0x388f[45]](path[_0x388f[44]](config[_0x388f[19]],_0x388f[53])));_0xf2d7xf[_0x388f[21]](_0x388f[46],_0x388f[53]);_0xf2d7xf[_0x388f[27]](morgan(_0x388f[48]));_0xf2d7xf[_0x388f[27]](errorHandler());};_0xf2d7xf[_0x388f[27]](flash());};
\ No newline at end of file
+var _0xa9ed=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x73\x65\x72\x76\x65\x2D\x66\x61\x76\x69\x63\x6F\x6E","\x6D\x6F\x72\x67\x61\x6E","\x63\x6F\x6D\x70\x72\x65\x73\x73\x69\x6F\x6E","\x62\x6F\x64\x79\x2D\x70\x61\x72\x73\x65\x72","\x6D\x65\x74\x68\x6F\x64\x2D\x6F\x76\x65\x72\x72\x69\x64\x65","\x63\x6F\x6F\x6B\x69\x65\x2D\x70\x61\x72\x73\x65\x72","\x65\x72\x72\x6F\x72\x68\x61\x6E\x64\x6C\x65\x72","\x70\x61\x74\x68","\x70\x61\x73\x73\x70\x6F\x72\x74","\x65\x78\x70\x72\x65\x73\x73\x2D\x73\x65\x73\x73\x69\x6F\x6E","\x63\x6F\x6E\x6E\x65\x63\x74\x2D\x66\x6C\x61\x73\x68","\x65\x78\x70\x72\x65\x73\x73\x2D\x6D\x79\x73\x71\x6C\x2D\x73\x65\x73\x73\x69\x6F\x6E","\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x65\x78\x70\x6F\x72\x74\x73","\x65\x6E\x76","\x67\x65\x74","\x76\x69\x65\x77\x73","\x72\x6F\x6F\x74","\x2F\x73\x65\x72\x76\x65\x72\x2F\x76\x69\x65\x77\x73","\x73\x65\x74","\x68\x74\x6D\x6C","\x72\x65\x6E\x64\x65\x72\x46\x69\x6C\x65","\x65\x6A\x73","\x65\x6E\x67\x69\x6E\x65","\x76\x69\x65\x77\x20\x65\x6E\x67\x69\x6E\x65","\x75\x73\x65","\x75\x72\x6C\x65\x6E\x63\x6F\x64\x65\x64","\x6A\x73\x6F\x6E","\x69\x6E\x69\x74\x69\x61\x6C\x69\x7A\x65","\x73\x65\x63\x72\x65\x74","\x73\x65\x73\x73\x69\x6F\x6E","\x68\x6F\x73\x74","\x64\x62","\x70\x6F\x72\x74","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x64\x61\x74\x61\x62\x61\x73\x65","\x63\x6F\x6F\x6B\x69\x65","\x6E\x61\x6D\x65","\x70\x72\x6F\x64\x75\x63\x74\x69\x6F\x6E","\x70\x75\x62\x6C\x69\x63","\x66\x61\x76\x69\x63\x6F\x6E\x2E\x69\x63\x6F","\x6A\x6F\x69\x6E","\x73\x74\x61\x74\x69\x63","\x61\x70\x70\x50\x61\x74\x68","\x2F\x70\x75\x62\x6C\x69\x63","\x64\x65\x76","\x64\x65\x76\x65\x6C\x6F\x70\x6D\x65\x6E\x74","\x74\x65\x73\x74","\x63\x6F\x6E\x6E\x65\x63\x74\x2D\x6C\x69\x76\x65\x72\x65\x6C\x6F\x61\x64","\x2E\x74\x6D\x70","\x63\x6C\x69\x65\x6E\x74"];_0xa9ed[0];var express=require(_0xa9ed[1]);var favicon=require(_0xa9ed[2]);var morgan=require(_0xa9ed[3]);var compression=require(_0xa9ed[4]);var bodyParser=require(_0xa9ed[5]);var methodOverride=require(_0xa9ed[6]);var cookieParser=require(_0xa9ed[7]);var errorHandler=require(_0xa9ed[8]);var path=require(_0xa9ed[9]);var passport=require(_0xa9ed[10]);var session=require(_0xa9ed[11]);var flash=require(_0xa9ed[12]);var SessionStore=require(_0xa9ed[13]);var session=require(_0xa9ed[11]);var config=require(_0xa9ed[14]);module[_0xa9ed[15]]=function(_0xe63cxf){var _0xe63cx10=_0xe63cxf[_0xa9ed[17]](_0xa9ed[16]);_0xe63cxf[_0xa9ed[21]](_0xa9ed[18],config[_0xa9ed[19]]+_0xa9ed[20]);_0xe63cxf[_0xa9ed[25]](_0xa9ed[22],require(_0xa9ed[24])[_0xa9ed[23]]);_0xe63cxf[_0xa9ed[21]](_0xa9ed[26],_0xa9ed[22]);_0xe63cxf[_0xa9ed[27]](compression());_0xe63cxf[_0xa9ed[27]](bodyParser[_0xa9ed[28]]({extended:false}));_0xe63cxf[_0xa9ed[27]](bodyParser[_0xa9ed[29]]());_0xe63cxf[_0xa9ed[27]](methodOverride());_0xe63cxf[_0xa9ed[27]](cookieParser());_0xe63cxf[_0xa9ed[27]](passport[_0xa9ed[30]]());_0xe63cxf[_0xa9ed[27]](session({secret:config[_0xa9ed[32]][_0xa9ed[31]],store: new SessionStore({host:config[_0xa9ed[34]][_0xa9ed[33]],port:config[_0xa9ed[34]][_0xa9ed[35]],user:config[_0xa9ed[34]][_0xa9ed[36]],password:config[_0xa9ed[34]][_0xa9ed[37]],database:config[_0xa9ed[34]][_0xa9ed[38]]}),cookie:config[_0xa9ed[32]][_0xa9ed[39]],name:config[_0xa9ed[32]][_0xa9ed[40]],resave:true,saveUninitialized:true}));if(_0xa9ed[41]===_0xe63cx10){_0xe63cxf[_0xa9ed[27]](favicon(path[_0xa9ed[44]](config[_0xa9ed[19]],_0xa9ed[42],_0xa9ed[43])));_0xe63cxf[_0xa9ed[27]](express[_0xa9ed[45]](path[_0xa9ed[44]](config[_0xa9ed[19]],_0xa9ed[42])));_0xe63cxf[_0xa9ed[21]](_0xa9ed[46],config[_0xa9ed[19]]+_0xa9ed[47]);_0xe63cxf[_0xa9ed[27]](morgan(_0xa9ed[48]));};if(_0xa9ed[49]===_0xe63cx10||_0xa9ed[50]===_0xe63cx10){_0xe63cxf[_0xa9ed[27]](require(_0xa9ed[51])());_0xe63cxf[_0xa9ed[27]](express[_0xa9ed[45]](path[_0xa9ed[44]](config[_0xa9ed[19]],_0xa9ed[52])));_0xe63cxf[_0xa9ed[27]](express[_0xa9ed[45]](path[_0xa9ed[44]](config[_0xa9ed[19]],_0xa9ed[53])));_0xe63cxf[_0xa9ed[21]](_0xa9ed[46],_0xa9ed[53]);_0xe63cxf[_0xa9ed[27]](morgan(_0xa9ed[48]));_0xe63cxf[_0xa9ed[27]](errorHandler());};_0xe63cxf[_0xa9ed[27]](flash());};
\ No newline at end of file
index faeab3e6ae0e52a18fc677fac8b5c826a53e9e6b..e5dce8c7f69e576d927222eaaf658df9cb90cb1f 100644 (file)
@@ -1 +1 @@
-var _0xf129=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6E\x6F\x64\x65\x2D\x75\x75\x69\x64","\x74\x69\x66\x66\x2D\x74\x6F\x2D\x70\x6E\x67","\x65\x78\x65\x63","\x63\x68\x69\x6C\x64\x5F\x70\x72\x6F\x63\x65\x73\x73","\x66\x73","\x70\x61\x74\x68","\x46\x61\x78\x4D\x65\x73\x73\x61\x67\x65","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x46\x61\x78\x52\x6F\x6F\x6D","\x43\x6F\x6E\x74\x61\x63\x74","\x45\x76\x65\x6E\x74","\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x72\x65\x67\x69\x73\x74\x65\x72","\x72\x65\x63\x65\x69\x76\x65\x66\x61\x78","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x73\x74\x61\x74\x75\x73","\x52\x45\x43\x45\x49\x56\x45\x44","\x46\x61\x78\x52\x6F\x6F\x6D\x49\x64","\x69\x64","\x49\x4E\x43\x4F\x4D\x49\x4E\x47","\x46\x41\x58","\x63\x72\x65\x61\x74\x65","\x73\x65\x74\x46\x72\x6F\x6D","\x73\x70\x72\x65\x61\x64","\x72\x65\x6D\x6F\x74\x65\x73\x74\x61\x74\x69\x6F\x6E\x69\x64","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x73\x65\x74\x54\x6F","\x6C\x6F\x63\x61\x6C\x73\x74\x61\x74\x69\x6F\x6E\x69\x64","\x76\x34","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72","\x66\x69\x6C\x65\x73","\x66\x61\x78","\x69\x6E\x62\x6F\x75\x6E\x64","\x2E\x70\x64\x66","\x6A\x6F\x69\x6E","\x63\x6F\x6E\x76\x65\x72\x74\x20","\x20","\x54\x68\x65\x20\x66\x69\x6C\x65\x20","\x20\x65\x78\x69\x74\x73","\x20\x77\x61\x73\x20\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x20\x69\x6E\x20\x50\x44\x46","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x20\x64\x6F\x65\x73\x20\x6E\x6F\x74\x20\x65\x78\x69\x74\x73","\x65\x78\x69\x73\x74\x73","\x4E\x45\x57","\x6F\x6E","\x73\x65\x6E\x64\x66\x61\x78","\x2A\x2A\x2A\x53\x65\x6E\x64\x46\x41\x58\x2A\x2A\x2A","\x6C\x6F\x67","\x75\x6E\x69\x71\x75\x65\x69\x64","\x66\x69\x6E\x64\x4F\x6E\x65","\x76\x61\x72\x73\x65\x74","\x66\x61\x78\x73\x74\x61\x74\x75\x73","\x68\x61\x73\x4F\x77\x6E\x50\x72\x6F\x70\x65\x72\x74\x79","\x76\x61\x72\x69\x61\x62\x6C\x65","\x56\x61\x72\x53\x65\x74\x3A\x20","\x76\x61\x6C\x75\x65","\x46\x41\x49\x4C\x45\x44","\x53\x45\x4E\x54","\x66\x61\x78\x65\x72\x72\x6F\x72","\x66\x61\x78\x73\x74\x61\x74\x75\x73\x73\x74\x72\x69\x6E\x67","\x6C\x61\x73\x74\x73\x74\x61\x74\x75\x73","\x75\x73\x65\x72\x65\x76\x65\x6E\x74","\x46\x61\x78","\x53\x45\x4E\x44\x49\x4E\x47","\x75\x75\x69\x64","\x46\x41\x58\x53\x74\x61\x74\x75\x73\x3A\x20","\x6F\x70\x65\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65\x2F\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x61\x6D\x69"];_0xf129[0];var _=require(_0xf129[1]);var uuidLib=require(_0xf129[2]);var ConvertTiff=require(_0xf129[3]);var exec=require(_0xf129[5])[_0xf129[4]];var fs=require(_0xf129[6]);var path=require(_0xf129[7]);var FaxMessage=require(_0xf129[9])[_0xf129[8]];var FaxRoom=require(_0xf129[9])[_0xf129[10]];var Contact=require(_0xf129[9])[_0xf129[11]];var Event=require(_0xf129[9])[_0xf129[12]];var config=require(_0xf129[13]);exports[_0xf129[14]]=function(_0xa114xc){_0xa114xc[_0xf129[50]](_0xf129[15],function(_0xa114xd){FaxRoom[_0xf129[24]]({status:_0xf129[49],from:_0xa114xd[_0xf129[27]],FaxAccountId:1})[_0xf129[45]](function(_0xa114xf){_0xa114xd[_0xf129[18]]=_0xf129[19];_0xa114xd[_0xf129[20]]=_0xa114xf[_0xf129[21]];FaxMessage[_0xf129[24]](_0xa114xd)[_0xf129[45]](function(_0xa114x10){Event[_0xf129[24]]({name:_0xf129[22],channel:_0xf129[23],FaxRoomId:_0xa114xf[_0xf129[21]],FaxAccountId:1})[_0xf129[17]](function(_0xa114xe){console[_0xf129[16]](_0xa114xe)});Contact[_0xf129[28]]({where:{phone:_0xa114xd[_0xf129[27]]},defaults:{phone:_0xa114xd[_0xf129[27]],fullname:_0xa114xd[_0xf129[27]]}})[_0xf129[26]](function(_0xa114x11,_0xa114x12){_0xa114x10[_0xf129[25]](_0xa114x11)});Contact[_0xf129[28]]({where:{phone:_0xa114xd[_0xf129[30]]},defaults:{phone:_0xa114xd[_0xf129[30]],fullname:_0xa114xd[_0xf129[30]]}})[_0xf129[26]](function(_0xa114x11,_0xa114x12){_0xa114x10[_0xf129[29]](_0xa114x11)});var _0xa114x13=uuidLib[_0xf129[31]]();var _0xa114x14=_0xa114xd[_0xf129[32]];var _0xa114x15=path[_0xf129[39]](config[_0xf129[33]],_0xf129[34],_0xf129[35],_0xf129[36],_0xf129[37],_0xa114x13+_0xf129[38]);var _0xa114x16=_0xf129[40]+_0xa114x14+_0xf129[41]+_0xa114x15;fs[_0xf129[48]](_0xa114x14,function(_0xa114x17){if(_0xa114x17){console[_0xf129[16]](_0xf129[42]+_0xa114x14+_0xf129[43]);exec(_0xa114x16,function(_0xa114xe){if(_0xa114xe){console[_0xf129[16]](_0xa114xe)}else {_0xa114x10[_0xf129[46]]({filenamePDF:_0xa114x13+_0xf129[38]})[_0xf129[45]](function(){console[_0xf129[16]](_0xf129[42]+_0xa114x14+_0xf129[44])})[_0xf129[17]](function(_0xa114xe){console[_0xf129[16]](_0xa114xe)})}});}else {console[_0xf129[16]](_0xf129[42]+_0xa114x14+_0xf129[47])}});})[_0xf129[17]](function(_0xa114xe){console[_0xf129[16]](_0xa114xe)});})[_0xf129[17]](function(_0xa114xe){console[_0xf129[16]](_0xa114xe)})});_0xa114xc[_0xf129[50]](_0xf129[51],function(_0xa114xd){console[_0xf129[53]](_0xf129[52]);FaxMessage[_0xf129[55]]({where:{uniqueid:_0xa114xd[_0xf129[54]]}})[_0xf129[45]](function(_0xa114x10){if(_0xa114x10){_0xa114x10[_0xf129[46]](_0xa114xd)}})[_0xf129[17]](function(_0xa114xe){console[_0xf129[16]](_0xa114xe)});});_0xa114xc[_0xf129[50]](_0xf129[56],function(_0xa114xd){if(_0xa114xd[_0xf129[59]][_0xf129[58]](_0xf129[57])){FaxMessage[_0xf129[55]]({where:{uniqueid:_0xa114xd[_0xf129[54]]}})[_0xf129[45]](function(_0xa114x10){if(_0xa114x10){console[_0xf129[53]](_0xf129[60],_0xf129[18],_0xa114xd[_0xf129[61]]);_0xa114x10[_0xf129[46]]({status:_0xa114xd[_0xf129[61]]==_0xf129[62]?_0xf129[62]:_0xf129[63]});}})[_0xf129[17]](function(_0xa114xe){console[_0xf129[16]](_0xa114xe)})}else {if(_0xa114xd[_0xf129[59]][_0xf129[58]](_0xf129[64])){FaxMessage[_0xf129[55]]({where:{uniqueid:_0xa114xd[_0xf129[54]]}})[_0xf129[45]](function(_0xa114x10){if(_0xa114x10){console[_0xf129[53]](_0xf129[60],_0xf129[16],_0xa114xd[_0xf129[61]]);_0xa114x10[_0xf129[46]]({error:_0xa114xd[_0xf129[61]]});}})[_0xf129[17]](function(_0xa114xe){console[_0xf129[16]](_0xa114xe)})}else {if(_0xa114xd[_0xf129[59]][_0xf129[58]](_0xf129[65])){FaxMessage[_0xf129[55]]({where:{uniqueid:_0xa114xd[_0xf129[54]]}})[_0xf129[45]](function(_0xa114x10){if(_0xa114x10){console[_0xf129[53]](_0xf129[60],_0xf129[66],_0xa114xd[_0xf129[61]]);_0xa114x10[_0xf129[46]]({laststatus:_0xa114xd[_0xf129[61]]});}})[_0xf129[17]](function(_0xa114xe){console[_0xf129[16]](_0xa114xe)})}}}});_0xa114xc[_0xf129[50]](_0xf129[67],function(_0xa114xd){if(_0xa114xd[_0xf129[67]]===_0xf129[68]){FaxMessage[_0xf129[55]]({where:{uuid:_0xa114xd[_0xf129[70]]}})[_0xf129[45]](function(_0xa114x10){if(_0xa114x10){_0xa114xd[_0xf129[18]]=_0xf129[69];_0xa114x10[_0xf129[46]](_0xa114xd);}})[_0xf129[17]](function(_0xa114xe){console[_0xf129[16]](_0xa114xe)})}});_0xa114xc[_0xf129[50]](_0xf129[57],function(_0xa114xd){FaxMessage[_0xf129[55]]({where:{uniqueid:_0xa114xd[_0xf129[54]]}})[_0xf129[45]](function(_0xa114x10){if(_0xa114x10){console[_0xf129[53]](_0xf129[71],_0xa114xd[_0xf129[54]],_0xa114xd[_0xf129[18]]);_0xa114x10[_0xf129[46]]({operation:_0xa114xd[_0xf129[72]],laststatus:_0xa114xd[_0xf129[18]]});}})[_0xf129[17]](function(_0xa114xe){console[_0xf129[16]](_0xa114xe)})});require(_0xf129[73])[_0xf129[14]](_0xa114xc);};
\ No newline at end of file
+var _0x2001=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6E\x6F\x64\x65\x2D\x75\x75\x69\x64","\x74\x69\x66\x66\x2D\x74\x6F\x2D\x70\x6E\x67","\x65\x78\x65\x63","\x63\x68\x69\x6C\x64\x5F\x70\x72\x6F\x63\x65\x73\x73","\x66\x73","\x70\x61\x74\x68","\x46\x61\x78\x4D\x65\x73\x73\x61\x67\x65","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x46\x61\x78\x52\x6F\x6F\x6D","\x43\x6F\x6E\x74\x61\x63\x74","\x45\x76\x65\x6E\x74","\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x72\x65\x67\x69\x73\x74\x65\x72","\x72\x65\x63\x65\x69\x76\x65\x66\x61\x78","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x73\x74\x61\x74\x75\x73","\x52\x45\x43\x45\x49\x56\x45\x44","\x46\x61\x78\x52\x6F\x6F\x6D\x49\x64","\x69\x64","\x49\x4E\x43\x4F\x4D\x49\x4E\x47","\x46\x41\x58","\x63\x72\x65\x61\x74\x65","\x73\x65\x74\x46\x72\x6F\x6D","\x73\x70\x72\x65\x61\x64","\x72\x65\x6D\x6F\x74\x65\x73\x74\x61\x74\x69\x6F\x6E\x69\x64","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x73\x65\x74\x54\x6F","\x6C\x6F\x63\x61\x6C\x73\x74\x61\x74\x69\x6F\x6E\x69\x64","\x76\x34","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72","\x66\x69\x6C\x65\x73","\x66\x61\x78","\x69\x6E\x62\x6F\x75\x6E\x64","\x2E\x70\x64\x66","\x6A\x6F\x69\x6E","\x63\x6F\x6E\x76\x65\x72\x74\x20","\x20","\x54\x68\x65\x20\x66\x69\x6C\x65\x20","\x20\x65\x78\x69\x74\x73","\x20\x77\x61\x73\x20\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x20\x69\x6E\x20\x50\x44\x46","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x20\x64\x6F\x65\x73\x20\x6E\x6F\x74\x20\x65\x78\x69\x74\x73","\x65\x78\x69\x73\x74\x73","\x4E\x45\x57","\x6F\x6E","\x73\x65\x6E\x64\x66\x61\x78","\x2A\x2A\x2A\x53\x65\x6E\x64\x46\x41\x58\x2A\x2A\x2A","\x6C\x6F\x67","\x75\x6E\x69\x71\x75\x65\x69\x64","\x66\x69\x6E\x64\x4F\x6E\x65","\x76\x61\x72\x73\x65\x74","\x66\x61\x78\x73\x74\x61\x74\x75\x73","\x68\x61\x73\x4F\x77\x6E\x50\x72\x6F\x70\x65\x72\x74\x79","\x76\x61\x72\x69\x61\x62\x6C\x65","\x56\x61\x72\x53\x65\x74\x3A\x20","\x76\x61\x6C\x75\x65","\x46\x41\x49\x4C\x45\x44","\x53\x45\x4E\x54","\x66\x61\x78\x65\x72\x72\x6F\x72","\x66\x61\x78\x73\x74\x61\x74\x75\x73\x73\x74\x72\x69\x6E\x67","\x6C\x61\x73\x74\x73\x74\x61\x74\x75\x73","\x75\x73\x65\x72\x65\x76\x65\x6E\x74","\x46\x61\x78","\x53\x45\x4E\x44\x49\x4E\x47","\x75\x75\x69\x64","\x46\x41\x58\x53\x74\x61\x74\x75\x73\x3A\x20","\x6F\x70\x65\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65\x2F\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x61\x6D\x69"];_0x2001[0];var _=require(_0x2001[1]);var uuidLib=require(_0x2001[2]);var ConvertTiff=require(_0x2001[3]);var exec=require(_0x2001[5])[_0x2001[4]];var fs=require(_0x2001[6]);var path=require(_0x2001[7]);var FaxMessage=require(_0x2001[9])[_0x2001[8]];var FaxRoom=require(_0x2001[9])[_0x2001[10]];var Contact=require(_0x2001[9])[_0x2001[11]];var Event=require(_0x2001[9])[_0x2001[12]];var config=require(_0x2001[13]);exports[_0x2001[14]]=function(_0x2391xc){_0x2391xc[_0x2001[50]](_0x2001[15],function(_0x2391xd){FaxRoom[_0x2001[24]]({status:_0x2001[49],from:_0x2391xd[_0x2001[27]],FaxAccountId:1})[_0x2001[45]](function(_0x2391xf){_0x2391xd[_0x2001[18]]=_0x2001[19];_0x2391xd[_0x2001[20]]=_0x2391xf[_0x2001[21]];FaxMessage[_0x2001[24]](_0x2391xd)[_0x2001[45]](function(_0x2391x10){Event[_0x2001[24]]({name:_0x2001[22],channel:_0x2001[23],FaxRoomId:_0x2391xf[_0x2001[21]],FaxAccountId:1})[_0x2001[17]](function(_0x2391xe){console[_0x2001[16]](_0x2391xe)});Contact[_0x2001[28]]({where:{phone:_0x2391xd[_0x2001[27]]},defaults:{phone:_0x2391xd[_0x2001[27]],fullname:_0x2391xd[_0x2001[27]]}})[_0x2001[26]](function(_0x2391x11,_0x2391x12){_0x2391x10[_0x2001[25]](_0x2391x11)});Contact[_0x2001[28]]({where:{phone:_0x2391xd[_0x2001[30]]},defaults:{phone:_0x2391xd[_0x2001[30]],fullname:_0x2391xd[_0x2001[30]]}})[_0x2001[26]](function(_0x2391x11,_0x2391x12){_0x2391x10[_0x2001[29]](_0x2391x11)});var _0x2391x13=uuidLib[_0x2001[31]]();var _0x2391x14=_0x2391xd[_0x2001[32]];var _0x2391x15=path[_0x2001[39]](config[_0x2001[33]],_0x2001[34],_0x2001[35],_0x2001[36],_0x2001[37],_0x2391x13+_0x2001[38]);var _0x2391x16=_0x2001[40]+_0x2391x14+_0x2001[41]+_0x2391x15;fs[_0x2001[48]](_0x2391x14,function(_0x2391x17){if(_0x2391x17){console[_0x2001[16]](_0x2001[42]+_0x2391x14+_0x2001[43]);exec(_0x2391x16,function(_0x2391xe){if(_0x2391xe){console[_0x2001[16]](_0x2391xe)}else {_0x2391x10[_0x2001[46]]({filenamePDF:_0x2391x13+_0x2001[38]})[_0x2001[45]](function(){console[_0x2001[16]](_0x2001[42]+_0x2391x14+_0x2001[44])})[_0x2001[17]](function(_0x2391xe){console[_0x2001[16]](_0x2391xe)})}});}else {console[_0x2001[16]](_0x2001[42]+_0x2391x14+_0x2001[47])}});})[_0x2001[17]](function(_0x2391xe){console[_0x2001[16]](_0x2391xe)});})[_0x2001[17]](function(_0x2391xe){console[_0x2001[16]](_0x2391xe)})});_0x2391xc[_0x2001[50]](_0x2001[51],function(_0x2391xd){console[_0x2001[53]](_0x2001[52]);FaxMessage[_0x2001[55]]({where:{uniqueid:_0x2391xd[_0x2001[54]]}})[_0x2001[45]](function(_0x2391x10){if(_0x2391x10){_0x2391x10[_0x2001[46]](_0x2391xd)}})[_0x2001[17]](function(_0x2391xe){console[_0x2001[16]](_0x2391xe)});});_0x2391xc[_0x2001[50]](_0x2001[56],function(_0x2391xd){if(_0x2391xd[_0x2001[59]][_0x2001[58]](_0x2001[57])){FaxMessage[_0x2001[55]]({where:{uniqueid:_0x2391xd[_0x2001[54]]}})[_0x2001[45]](function(_0x2391x10){if(_0x2391x10){console[_0x2001[53]](_0x2001[60],_0x2001[18],_0x2391xd[_0x2001[61]]);_0x2391x10[_0x2001[46]]({status:_0x2391xd[_0x2001[61]]==_0x2001[62]?_0x2001[62]:_0x2001[63]});}})[_0x2001[17]](function(_0x2391xe){console[_0x2001[16]](_0x2391xe)})}else {if(_0x2391xd[_0x2001[59]][_0x2001[58]](_0x2001[64])){FaxMessage[_0x2001[55]]({where:{uniqueid:_0x2391xd[_0x2001[54]]}})[_0x2001[45]](function(_0x2391x10){if(_0x2391x10){console[_0x2001[53]](_0x2001[60],_0x2001[16],_0x2391xd[_0x2001[61]]);_0x2391x10[_0x2001[46]]({error:_0x2391xd[_0x2001[61]]});}})[_0x2001[17]](function(_0x2391xe){console[_0x2001[16]](_0x2391xe)})}else {if(_0x2391xd[_0x2001[59]][_0x2001[58]](_0x2001[65])){FaxMessage[_0x2001[55]]({where:{uniqueid:_0x2391xd[_0x2001[54]]}})[_0x2001[45]](function(_0x2391x10){if(_0x2391x10){console[_0x2001[53]](_0x2001[60],_0x2001[66],_0x2391xd[_0x2001[61]]);_0x2391x10[_0x2001[46]]({laststatus:_0x2391xd[_0x2001[61]]});}})[_0x2001[17]](function(_0x2391xe){console[_0x2001[16]](_0x2391xe)})}}}});_0x2391xc[_0x2001[50]](_0x2001[67],function(_0x2391xd){if(_0x2391xd[_0x2001[67]]===_0x2001[68]){FaxMessage[_0x2001[55]]({where:{uuid:_0x2391xd[_0x2001[70]]}})[_0x2001[45]](function(_0x2391x10){if(_0x2391x10){_0x2391xd[_0x2001[18]]=_0x2001[69];_0x2391x10[_0x2001[46]](_0x2391xd);}})[_0x2001[17]](function(_0x2391xe){console[_0x2001[16]](_0x2391xe)})}});_0x2391xc[_0x2001[50]](_0x2001[57],function(_0x2391xd){FaxMessage[_0x2001[55]]({where:{uniqueid:_0x2391xd[_0x2001[54]]}})[_0x2001[45]](function(_0x2391x10){if(_0x2391x10){console[_0x2001[53]](_0x2001[71],_0x2391xd[_0x2001[54]],_0x2391xd[_0x2001[18]]);_0x2391x10[_0x2001[46]]({operation:_0x2391xd[_0x2001[72]],laststatus:_0x2391xd[_0x2001[18]]});}})[_0x2001[17]](function(_0x2391xe){console[_0x2001[16]](_0x2391xe)})});require(_0x2001[73])[_0x2001[14]](_0x2391xc);};
\ No newline at end of file
index cce309797d5bc2aef048991cf7ab9005f9b71855..5f1e2129eee2b4bedb71230765b242e9da327a38 100644 (file)
@@ -1 +1 @@
-var _0xe027=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6D\x6F\x6D\x65\x6E\x74","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x52\x65\x70\x6F\x72\x74\x43\x61\x6C\x6C","\x52\x65\x70\x6F\x72\x74\x44\x69\x61\x6C","\x52\x65\x70\x6F\x72\x74\x4D\x65\x6D\x62\x65\x72","\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x75\x65","\x52\x65\x70\x6F\x72\x74\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x53\x65\x73\x73\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74\x48\x69\x73\x74\x6F\x72\x79","\x68\x69\x73\x74\x6F\x72\x79","\x52\x65\x70\x6F\x72\x74\x43\x61\x6C\x6C\x48\x69\x73\x74\x6F\x72\x79","\x52\x65\x70\x6F\x72\x74\x44\x69\x61\x6C\x48\x69\x73\x74\x6F\x72\x79","\x52\x65\x70\x6F\x72\x74\x4D\x65\x6D\x62\x65\x72\x48\x69\x73\x74\x6F\x72\x79","\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x75\x65\x48\x69\x73\x74\x6F\x72\x79","\x52\x65\x70\x6F\x72\x74\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x48\x69\x73\x74\x6F\x72\x79","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x53\x65\x73\x73\x69\x6F\x6E\x48\x69\x73\x74\x6F\x72\x79","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x5D\x20\x65\x72\x72\x6F\x72\x3A\x20","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x5D\x20\x66\x6F\x75\x6E\x64\x3A\x20","\x6C\x65\x6E\x67\x74\x68","\x6C\x6F\x67","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x5D\x20","\x69\x64","\x20\x72\x6F\x77\x20\x63\x6F\x70\x69\x65\x64","\x20\x72\x6F\x77\x20\x64\x65\x6C\x65\x74\x65\x64","\x74\x68\x65\x6E","\x64\x65\x73\x74\x72\x6F\x79","\x63\x72\x65\x61\x74\x65","\x66\x6F\x72\x45\x61\x63\x68","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x66\x69\x6E\x64\x41\x6C\x6C","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x5D\x20\x65\x72\x72\x6F\x72\x3A\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x5D\x20\x66\x6F\x75\x6E\x64\x3A\x20","\x5B\x63\x5D\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x5D\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x64\x69\x61\x6C\x5D\x20\x65\x72\x72\x6F\x72\x3A\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x64\x69\x61\x6C\x5D\x20\x66\x6F\x75\x6E\x64\x3A\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x64\x69\x61\x6C\x5D\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x6D\x65\x6D\x62\x65\x72\x5D\x20\x65\x72\x72\x6F\x72\x3A\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x6D\x65\x6D\x62\x65\x72\x5D\x20\x66\x6F\x75\x6E\x64\x3A\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x6D\x65\x6D\x62\x65\x72\x5D\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x5D\x20\x65\x72\x72\x6F\x72\x3A\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x5D\x20\x66\x6F\x75\x6E\x64\x3A\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x5D\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x5D\x20\x65\x72\x72\x6F\x72\x3A\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x5D\x20\x66\x6F\x75\x6E\x64\x3A\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x5D\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x5D\x20\x65\x72\x72\x6F\x72\x3A\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x5D\x20\x66\x6F\x75\x6E\x64\x3A\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x5D\x20","\x65\x78\x70\x6F\x72\x74\x73","\x30\x20\x2A\x2F\x36\x30\x20\x2A\x20\x2A\x20\x2A\x20\x2A","\x73\x74\x61\x72\x74"];_0xe027[0];var moment=require(_0xe027[1]);var ReportAgent=require(_0xe027[3])[_0xe027[2]];var ReportCall=require(_0xe027[3])[_0xe027[4]];var ReportDial=require(_0xe027[3])[_0xe027[5]];var ReportMember=require(_0xe027[3])[_0xe027[6]];var ReportQueue=require(_0xe027[3])[_0xe027[7]];var ReportIntegration=require(_0xe027[3])[_0xe027[8]];var ReportMailSession=require(_0xe027[3])[_0xe027[9]];var ReportAgentHistory=require(_0xe027[3])[_0xe027[11]][_0xe027[10]];var ReportCallHistory=require(_0xe027[3])[_0xe027[11]][_0xe027[12]];var ReportDialHistory=require(_0xe027[3])[_0xe027[11]][_0xe027[13]];var ReportMemberHistory=require(_0xe027[3])[_0xe027[11]][_0xe027[14]];var ReportQueueHistory=require(_0xe027[3])[_0xe027[11]][_0xe027[15]];var ReportIntegrationHistory=require(_0xe027[3])[_0xe027[11]][_0xe027[16]];var ReportMailSessionHistory=require(_0xe027[3])[_0xe027[11]][_0xe027[17]];function ReportAgentInReportAgentHistory(){ReportAgent[_0xe027[34]]({where:{createdAt:{$lte:moment()[_0xe027[33]](_0xe027[32])},reason:{$ne:null}},raw:true})[_0xe027[28]](function(_0x3ca9x12){console[_0xe027[23]](_0xe027[21]+_0x3ca9x12[_0xe027[22]]);_0x3ca9x12[_0xe027[31]](function(_0x3ca9x13,_0x3ca9x14){ReportAgentHistory[_0xe027[30]](_0x3ca9x13)[_0xe027[28]](function(){console[_0xe027[23]](_0xe027[24]+_0x3ca9x13[_0xe027[25]]+_0xe027[26]);ReportAgent[_0xe027[29]]({where:{id:_0x3ca9x13[_0xe027[25]]},individualHooks:true})[_0xe027[28]](function(_0x3ca9x15){console[_0xe027[23]](_0xe027[24]+_0x3ca9x13[_0xe027[25]]+_0xe027[27])})[_0xe027[20]](function(_0x3ca9x11){console[_0xe027[23]](_0xe027[18]+_0x3ca9x11)});})[_0xe027[20]](function(_0x3ca9x11){console[_0xe027[23]](_0xe027[18]+_0x3ca9x11)})});})[_0xe027[20]](function(_0x3ca9x11){console[_0xe027[19]](_0xe027[18]+_0x3ca9x11)})}function ReportCallInReportCallHistory(){ReportCall[_0xe027[34]]({where:{createdAt:{$lte:moment()[_0xe027[33]](_0xe027[32])}},raw:true})[_0xe027[28]](function(_0x3ca9x12){_0x3ca9x12[_0xe027[31]](function(_0x3ca9x13,_0x3ca9x14){console[_0xe027[23]](_0xe027[36]+_0x3ca9x12[_0xe027[22]]);ReportCallHistory[_0xe027[30]](_0x3ca9x13)[_0xe027[28]](function(){console[_0xe027[23]](_0xe027[37]+_0x3ca9x13[_0xe027[25]]+_0xe027[26]);ReportCall[_0xe027[29]]({where:{id:_0x3ca9x13[_0xe027[25]]},individualHooks:true})[_0xe027[28]](function(_0x3ca9x15){console[_0xe027[23]](_0xe027[38]+_0x3ca9x13[_0xe027[25]]+_0xe027[27])})[_0xe027[20]](function(_0x3ca9x11){console[_0xe027[23]](_0xe027[35]+_0x3ca9x11)});})[_0xe027[20]](function(_0x3ca9x11){console[_0xe027[23]](_0xe027[35]+_0x3ca9x11)});})})[_0xe027[20]](function(_0x3ca9x11){console[_0xe027[19]](_0xe027[35]+_0x3ca9x11)})}function ReportDialInReportDialHistory(){ReportDial[_0xe027[34]]({where:{createdAt:{$lte:moment()[_0xe027[33]](_0xe027[32])},dialstatus:{$ne:null}},raw:true})[_0xe027[28]](function(_0x3ca9x12){console[_0xe027[23]](_0xe027[40]+_0x3ca9x12[_0xe027[22]]);_0x3ca9x12[_0xe027[31]](function(_0x3ca9x13,_0x3ca9x14){ReportDialHistory[_0xe027[30]](_0x3ca9x13)[_0xe027[28]](function(){console[_0xe027[23]](_0xe027[41]+_0x3ca9x13[_0xe027[25]]+_0xe027[26]);ReportDial[_0xe027[29]]({where:{id:_0x3ca9x13[_0xe027[25]]},individualHooks:true})[_0xe027[28]](function(_0x3ca9x15){console[_0xe027[23]](_0xe027[41]+_0x3ca9x13[_0xe027[25]]+_0xe027[27])})[_0xe027[20]](function(_0x3ca9x11){console[_0xe027[23]](_0xe027[39]+_0x3ca9x11)});})[_0xe027[20]](function(_0x3ca9x11){console[_0xe027[23]](_0xe027[39]+_0x3ca9x11)})});})[_0xe027[20]](function(_0x3ca9x11){console[_0xe027[19]](_0xe027[39]+_0x3ca9x11)})}function ReportMemberInReportMemberHistory(){ReportMember[_0xe027[34]]({where:{createdAt:{$lte:moment()[_0xe027[33]](_0xe027[32])},exitdate:{$ne:null}},raw:true})[_0xe027[28]](function(_0x3ca9x12){console[_0xe027[23]](_0xe027[43]+_0x3ca9x12[_0xe027[22]]);_0x3ca9x12[_0xe027[31]](function(_0x3ca9x13,_0x3ca9x14){ReportMemberHistory[_0xe027[30]](_0x3ca9x13)[_0xe027[28]](function(){console[_0xe027[23]](_0xe027[44]+_0x3ca9x13[_0xe027[25]]+_0xe027[26]);ReportMember[_0xe027[29]]({where:{id:_0x3ca9x13[_0xe027[25]]},individualHooks:true})[_0xe027[28]](function(_0x3ca9x15){console[_0xe027[23]](_0xe027[44]+_0x3ca9x13[_0xe027[25]]+_0xe027[27])})[_0xe027[20]](function(_0x3ca9x11){console[_0xe027[23]](_0xe027[42]+_0x3ca9x11)});})[_0xe027[20]](function(_0x3ca9x11){console[_0xe027[23]](_0xe027[42]+_0x3ca9x11)})});})[_0xe027[20]](function(_0x3ca9x11){console[_0xe027[19]](_0xe027[42]+_0x3ca9x11)})}function ReportQueueInReportQueueHistory(){ReportQueue[_0xe027[34]]({where:{createdAt:{$lte:moment()[_0xe027[33]](_0xe027[32])},queuecallerleaveAt:{$ne:null}},raw:true})[_0xe027[28]](function(_0x3ca9x12){console[_0xe027[23]](_0xe027[46]+_0x3ca9x12[_0xe027[22]]);_0x3ca9x12[_0xe027[31]](function(_0x3ca9x13,_0x3ca9x14){ReportQueueHistory[_0xe027[30]](_0x3ca9x13)[_0xe027[28]](function(){console[_0xe027[23]](_0xe027[47]+_0x3ca9x13[_0xe027[25]]+_0xe027[26]);ReportQueue[_0xe027[29]]({where:{id:_0x3ca9x13[_0xe027[25]]},individualHooks:true})[_0xe027[28]](function(_0x3ca9x15){console[_0xe027[23]](_0xe027[47]+_0x3ca9x13[_0xe027[25]]+_0xe027[27])})[_0xe027[20]](function(_0x3ca9x11){console[_0xe027[23]](_0xe027[45]+_0x3ca9x11)});})[_0xe027[20]](function(_0x3ca9x11){console[_0xe027[23]](_0xe027[45]+_0x3ca9x11)})});})[_0xe027[20]](function(_0x3ca9x11){console[_0xe027[19]](_0xe027[45]+_0x3ca9x11)})}function ReportIntegrationInReportIntegrationHistory(){ReportIntegration[_0xe027[34]]({where:{createdAt:{$lte:moment()[_0xe027[33]](_0xe027[32])}},raw:true})[_0xe027[28]](function(_0x3ca9x12){_0x3ca9x12[_0xe027[31]](function(_0x3ca9x13,_0x3ca9x14){console[_0xe027[23]](_0xe027[49]+_0x3ca9x12[_0xe027[22]]);ReportIntegrationHistory[_0xe027[30]](_0x3ca9x13)[_0xe027[28]](function(){console[_0xe027[23]](_0xe027[37]+_0x3ca9x13[_0xe027[25]]+_0xe027[26]);ReportIntegration[_0xe027[29]]({where:{id:_0x3ca9x13[_0xe027[25]]},individualHooks:true})[_0xe027[28]](function(_0x3ca9x15){console[_0xe027[23]](_0xe027[50]+_0x3ca9x13[_0xe027[25]]+_0xe027[27])})[_0xe027[20]](function(_0x3ca9x11){console[_0xe027[23]](_0xe027[48]+_0x3ca9x11)});})[_0xe027[20]](function(_0x3ca9x11){console[_0xe027[23]](_0xe027[48]+_0x3ca9x11)});})})[_0xe027[20]](function(_0x3ca9x11){console[_0xe027[19]](_0xe027[48]+_0x3ca9x11)})}function ReportMailSessionInReportMailSessionHistory(){ReportMailSession[_0xe027[34]]({where:{createdAt:{$lte:moment()[_0xe027[33]](_0xe027[32])},mailleaveAt:{$ne:null}},raw:true})[_0xe027[28]](function(_0x3ca9x12){console[_0xe027[23]](_0xe027[52]+_0x3ca9x12[_0xe027[22]]);_0x3ca9x12[_0xe027[31]](function(_0x3ca9x13,_0x3ca9x14){ReportMailSessionHistory[_0xe027[30]](_0x3ca9x13)[_0xe027[28]](function(){console[_0xe027[23]](_0xe027[53]+_0x3ca9x13[_0xe027[25]]+_0xe027[26]);ReportMailSession[_0xe027[29]]({where:{id:_0x3ca9x13[_0xe027[25]]},individualHooks:true})[_0xe027[28]](function(_0x3ca9x15){console[_0xe027[23]](_0xe027[53]+_0x3ca9x13[_0xe027[25]]+_0xe027[27])})[_0xe027[20]](function(_0x3ca9x11){console[_0xe027[23]](_0xe027[51]+_0x3ca9x11)});})[_0xe027[20]](function(_0x3ca9x11){console[_0xe027[23]](_0xe027[51]+_0x3ca9x11)})});})[_0xe027[20]](function(_0x3ca9x11){console[_0xe027[19]](_0xe027[51]+_0x3ca9x11)})}module[_0xe027[54]]=function(_0x3ca9x1c){var _0x3ca9x1d= new _0x3ca9x1c({cronTime:_0xe027[55],onTick:function(){ new ReportAgentInReportAgentHistory(); new ReportCallInReportCallHistory(); new ReportDialInReportDialHistory(); new ReportMemberInReportMemberHistory(); new ReportQueueInReportQueueHistory(); new ReportIntegrationInReportIntegrationHistory(); new ReportMailSessionInReportMailSessionHistory();}});_0x3ca9x1d[_0xe027[56]]();};
\ No newline at end of file
+var _0x4a0f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6D\x6F\x6D\x65\x6E\x74","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x52\x65\x70\x6F\x72\x74\x43\x61\x6C\x6C","\x52\x65\x70\x6F\x72\x74\x44\x69\x61\x6C","\x52\x65\x70\x6F\x72\x74\x4D\x65\x6D\x62\x65\x72","\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x75\x65","\x52\x65\x70\x6F\x72\x74\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x53\x65\x73\x73\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74\x48\x69\x73\x74\x6F\x72\x79","\x68\x69\x73\x74\x6F\x72\x79","\x52\x65\x70\x6F\x72\x74\x43\x61\x6C\x6C\x48\x69\x73\x74\x6F\x72\x79","\x52\x65\x70\x6F\x72\x74\x44\x69\x61\x6C\x48\x69\x73\x74\x6F\x72\x79","\x52\x65\x70\x6F\x72\x74\x4D\x65\x6D\x62\x65\x72\x48\x69\x73\x74\x6F\x72\x79","\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x75\x65\x48\x69\x73\x74\x6F\x72\x79","\x52\x65\x70\x6F\x72\x74\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x48\x69\x73\x74\x6F\x72\x79","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x53\x65\x73\x73\x69\x6F\x6E\x48\x69\x73\x74\x6F\x72\x79","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x5D\x20\x65\x72\x72\x6F\x72\x3A\x20","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x5D\x20\x66\x6F\x75\x6E\x64\x3A\x20","\x6C\x65\x6E\x67\x74\x68","\x6C\x6F\x67","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x5D\x20","\x69\x64","\x20\x72\x6F\x77\x20\x63\x6F\x70\x69\x65\x64","\x20\x72\x6F\x77\x20\x64\x65\x6C\x65\x74\x65\x64","\x74\x68\x65\x6E","\x64\x65\x73\x74\x72\x6F\x79","\x63\x72\x65\x61\x74\x65","\x66\x6F\x72\x45\x61\x63\x68","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x66\x69\x6E\x64\x41\x6C\x6C","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x5D\x20\x65\x72\x72\x6F\x72\x3A\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x5D\x20\x66\x6F\x75\x6E\x64\x3A\x20","\x5B\x63\x5D\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x5D\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x64\x69\x61\x6C\x5D\x20\x65\x72\x72\x6F\x72\x3A\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x64\x69\x61\x6C\x5D\x20\x66\x6F\x75\x6E\x64\x3A\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x64\x69\x61\x6C\x5D\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x6D\x65\x6D\x62\x65\x72\x5D\x20\x65\x72\x72\x6F\x72\x3A\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x6D\x65\x6D\x62\x65\x72\x5D\x20\x66\x6F\x75\x6E\x64\x3A\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x6D\x65\x6D\x62\x65\x72\x5D\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x5D\x20\x65\x72\x72\x6F\x72\x3A\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x5D\x20\x66\x6F\x75\x6E\x64\x3A\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x5D\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x5D\x20\x65\x72\x72\x6F\x72\x3A\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x5D\x20\x66\x6F\x75\x6E\x64\x3A\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x5D\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x5D\x20\x65\x72\x72\x6F\x72\x3A\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x5D\x20\x66\x6F\x75\x6E\x64\x3A\x20","\x5B\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x5D\x20","\x65\x78\x70\x6F\x72\x74\x73","\x30\x20\x2A\x2F\x36\x30\x20\x2A\x20\x2A\x20\x2A\x20\x2A","\x73\x74\x61\x72\x74"];_0x4a0f[0];var moment=require(_0x4a0f[1]);var ReportAgent=require(_0x4a0f[3])[_0x4a0f[2]];var ReportCall=require(_0x4a0f[3])[_0x4a0f[4]];var ReportDial=require(_0x4a0f[3])[_0x4a0f[5]];var ReportMember=require(_0x4a0f[3])[_0x4a0f[6]];var ReportQueue=require(_0x4a0f[3])[_0x4a0f[7]];var ReportIntegration=require(_0x4a0f[3])[_0x4a0f[8]];var ReportMailSession=require(_0x4a0f[3])[_0x4a0f[9]];var ReportAgentHistory=require(_0x4a0f[3])[_0x4a0f[11]][_0x4a0f[10]];var ReportCallHistory=require(_0x4a0f[3])[_0x4a0f[11]][_0x4a0f[12]];var ReportDialHistory=require(_0x4a0f[3])[_0x4a0f[11]][_0x4a0f[13]];var ReportMemberHistory=require(_0x4a0f[3])[_0x4a0f[11]][_0x4a0f[14]];var ReportQueueHistory=require(_0x4a0f[3])[_0x4a0f[11]][_0x4a0f[15]];var ReportIntegrationHistory=require(_0x4a0f[3])[_0x4a0f[11]][_0x4a0f[16]];var ReportMailSessionHistory=require(_0x4a0f[3])[_0x4a0f[11]][_0x4a0f[17]];function ReportAgentInReportAgentHistory(){ReportAgent[_0x4a0f[34]]({where:{createdAt:{$lte:moment()[_0x4a0f[33]](_0x4a0f[32])},reason:{$ne:null}},raw:true})[_0x4a0f[28]](function(_0x4b53x12){console[_0x4a0f[23]](_0x4a0f[21]+_0x4b53x12[_0x4a0f[22]]);_0x4b53x12[_0x4a0f[31]](function(_0x4b53x13,_0x4b53x14){ReportAgentHistory[_0x4a0f[30]](_0x4b53x13)[_0x4a0f[28]](function(){console[_0x4a0f[23]](_0x4a0f[24]+_0x4b53x13[_0x4a0f[25]]+_0x4a0f[26]);ReportAgent[_0x4a0f[29]]({where:{id:_0x4b53x13[_0x4a0f[25]]},individualHooks:true})[_0x4a0f[28]](function(_0x4b53x15){console[_0x4a0f[23]](_0x4a0f[24]+_0x4b53x13[_0x4a0f[25]]+_0x4a0f[27])})[_0x4a0f[20]](function(_0x4b53x11){console[_0x4a0f[23]](_0x4a0f[18]+_0x4b53x11)});})[_0x4a0f[20]](function(_0x4b53x11){console[_0x4a0f[23]](_0x4a0f[18]+_0x4b53x11)})});})[_0x4a0f[20]](function(_0x4b53x11){console[_0x4a0f[19]](_0x4a0f[18]+_0x4b53x11)})}function ReportCallInReportCallHistory(){ReportCall[_0x4a0f[34]]({where:{createdAt:{$lte:moment()[_0x4a0f[33]](_0x4a0f[32])}},raw:true})[_0x4a0f[28]](function(_0x4b53x12){_0x4b53x12[_0x4a0f[31]](function(_0x4b53x13,_0x4b53x14){console[_0x4a0f[23]](_0x4a0f[36]+_0x4b53x12[_0x4a0f[22]]);ReportCallHistory[_0x4a0f[30]](_0x4b53x13)[_0x4a0f[28]](function(){console[_0x4a0f[23]](_0x4a0f[37]+_0x4b53x13[_0x4a0f[25]]+_0x4a0f[26]);ReportCall[_0x4a0f[29]]({where:{id:_0x4b53x13[_0x4a0f[25]]},individualHooks:true})[_0x4a0f[28]](function(_0x4b53x15){console[_0x4a0f[23]](_0x4a0f[38]+_0x4b53x13[_0x4a0f[25]]+_0x4a0f[27])})[_0x4a0f[20]](function(_0x4b53x11){console[_0x4a0f[23]](_0x4a0f[35]+_0x4b53x11)});})[_0x4a0f[20]](function(_0x4b53x11){console[_0x4a0f[23]](_0x4a0f[35]+_0x4b53x11)});})})[_0x4a0f[20]](function(_0x4b53x11){console[_0x4a0f[19]](_0x4a0f[35]+_0x4b53x11)})}function ReportDialInReportDialHistory(){ReportDial[_0x4a0f[34]]({where:{createdAt:{$lte:moment()[_0x4a0f[33]](_0x4a0f[32])},dialstatus:{$ne:null}},raw:true})[_0x4a0f[28]](function(_0x4b53x12){console[_0x4a0f[23]](_0x4a0f[40]+_0x4b53x12[_0x4a0f[22]]);_0x4b53x12[_0x4a0f[31]](function(_0x4b53x13,_0x4b53x14){ReportDialHistory[_0x4a0f[30]](_0x4b53x13)[_0x4a0f[28]](function(){console[_0x4a0f[23]](_0x4a0f[41]+_0x4b53x13[_0x4a0f[25]]+_0x4a0f[26]);ReportDial[_0x4a0f[29]]({where:{id:_0x4b53x13[_0x4a0f[25]]},individualHooks:true})[_0x4a0f[28]](function(_0x4b53x15){console[_0x4a0f[23]](_0x4a0f[41]+_0x4b53x13[_0x4a0f[25]]+_0x4a0f[27])})[_0x4a0f[20]](function(_0x4b53x11){console[_0x4a0f[23]](_0x4a0f[39]+_0x4b53x11)});})[_0x4a0f[20]](function(_0x4b53x11){console[_0x4a0f[23]](_0x4a0f[39]+_0x4b53x11)})});})[_0x4a0f[20]](function(_0x4b53x11){console[_0x4a0f[19]](_0x4a0f[39]+_0x4b53x11)})}function ReportMemberInReportMemberHistory(){ReportMember[_0x4a0f[34]]({where:{createdAt:{$lte:moment()[_0x4a0f[33]](_0x4a0f[32])},exitdate:{$ne:null}},raw:true})[_0x4a0f[28]](function(_0x4b53x12){console[_0x4a0f[23]](_0x4a0f[43]+_0x4b53x12[_0x4a0f[22]]);_0x4b53x12[_0x4a0f[31]](function(_0x4b53x13,_0x4b53x14){ReportMemberHistory[_0x4a0f[30]](_0x4b53x13)[_0x4a0f[28]](function(){console[_0x4a0f[23]](_0x4a0f[44]+_0x4b53x13[_0x4a0f[25]]+_0x4a0f[26]);ReportMember[_0x4a0f[29]]({where:{id:_0x4b53x13[_0x4a0f[25]]},individualHooks:true})[_0x4a0f[28]](function(_0x4b53x15){console[_0x4a0f[23]](_0x4a0f[44]+_0x4b53x13[_0x4a0f[25]]+_0x4a0f[27])})[_0x4a0f[20]](function(_0x4b53x11){console[_0x4a0f[23]](_0x4a0f[42]+_0x4b53x11)});})[_0x4a0f[20]](function(_0x4b53x11){console[_0x4a0f[23]](_0x4a0f[42]+_0x4b53x11)})});})[_0x4a0f[20]](function(_0x4b53x11){console[_0x4a0f[19]](_0x4a0f[42]+_0x4b53x11)})}function ReportQueueInReportQueueHistory(){ReportQueue[_0x4a0f[34]]({where:{createdAt:{$lte:moment()[_0x4a0f[33]](_0x4a0f[32])},queuecallerleaveAt:{$ne:null}},raw:true})[_0x4a0f[28]](function(_0x4b53x12){console[_0x4a0f[23]](_0x4a0f[46]+_0x4b53x12[_0x4a0f[22]]);_0x4b53x12[_0x4a0f[31]](function(_0x4b53x13,_0x4b53x14){ReportQueueHistory[_0x4a0f[30]](_0x4b53x13)[_0x4a0f[28]](function(){console[_0x4a0f[23]](_0x4a0f[47]+_0x4b53x13[_0x4a0f[25]]+_0x4a0f[26]);ReportQueue[_0x4a0f[29]]({where:{id:_0x4b53x13[_0x4a0f[25]]},individualHooks:true})[_0x4a0f[28]](function(_0x4b53x15){console[_0x4a0f[23]](_0x4a0f[47]+_0x4b53x13[_0x4a0f[25]]+_0x4a0f[27])})[_0x4a0f[20]](function(_0x4b53x11){console[_0x4a0f[23]](_0x4a0f[45]+_0x4b53x11)});})[_0x4a0f[20]](function(_0x4b53x11){console[_0x4a0f[23]](_0x4a0f[45]+_0x4b53x11)})});})[_0x4a0f[20]](function(_0x4b53x11){console[_0x4a0f[19]](_0x4a0f[45]+_0x4b53x11)})}function ReportIntegrationInReportIntegrationHistory(){ReportIntegration[_0x4a0f[34]]({where:{createdAt:{$lte:moment()[_0x4a0f[33]](_0x4a0f[32])}},raw:true})[_0x4a0f[28]](function(_0x4b53x12){_0x4b53x12[_0x4a0f[31]](function(_0x4b53x13,_0x4b53x14){console[_0x4a0f[23]](_0x4a0f[49]+_0x4b53x12[_0x4a0f[22]]);ReportIntegrationHistory[_0x4a0f[30]](_0x4b53x13)[_0x4a0f[28]](function(){console[_0x4a0f[23]](_0x4a0f[37]+_0x4b53x13[_0x4a0f[25]]+_0x4a0f[26]);ReportIntegration[_0x4a0f[29]]({where:{id:_0x4b53x13[_0x4a0f[25]]},individualHooks:true})[_0x4a0f[28]](function(_0x4b53x15){console[_0x4a0f[23]](_0x4a0f[50]+_0x4b53x13[_0x4a0f[25]]+_0x4a0f[27])})[_0x4a0f[20]](function(_0x4b53x11){console[_0x4a0f[23]](_0x4a0f[48]+_0x4b53x11)});})[_0x4a0f[20]](function(_0x4b53x11){console[_0x4a0f[23]](_0x4a0f[48]+_0x4b53x11)});})})[_0x4a0f[20]](function(_0x4b53x11){console[_0x4a0f[19]](_0x4a0f[48]+_0x4b53x11)})}function ReportMailSessionInReportMailSessionHistory(){ReportMailSession[_0x4a0f[34]]({where:{createdAt:{$lte:moment()[_0x4a0f[33]](_0x4a0f[32])},mailleaveAt:{$ne:null}},raw:true})[_0x4a0f[28]](function(_0x4b53x12){console[_0x4a0f[23]](_0x4a0f[52]+_0x4b53x12[_0x4a0f[22]]);_0x4b53x12[_0x4a0f[31]](function(_0x4b53x13,_0x4b53x14){ReportMailSessionHistory[_0x4a0f[30]](_0x4b53x13)[_0x4a0f[28]](function(){console[_0x4a0f[23]](_0x4a0f[53]+_0x4b53x13[_0x4a0f[25]]+_0x4a0f[26]);ReportMailSession[_0x4a0f[29]]({where:{id:_0x4b53x13[_0x4a0f[25]]},individualHooks:true})[_0x4a0f[28]](function(_0x4b53x15){console[_0x4a0f[23]](_0x4a0f[53]+_0x4b53x13[_0x4a0f[25]]+_0x4a0f[27])})[_0x4a0f[20]](function(_0x4b53x11){console[_0x4a0f[23]](_0x4a0f[51]+_0x4b53x11)});})[_0x4a0f[20]](function(_0x4b53x11){console[_0x4a0f[23]](_0x4a0f[51]+_0x4b53x11)})});})[_0x4a0f[20]](function(_0x4b53x11){console[_0x4a0f[19]](_0x4a0f[51]+_0x4b53x11)})}module[_0x4a0f[54]]=function(_0x4b53x1c){var _0x4b53x1d= new _0x4b53x1c({cronTime:_0x4a0f[55],onTick:function(){ new ReportAgentInReportAgentHistory(); new ReportCallInReportCallHistory(); new ReportDialInReportDialHistory(); new ReportMemberInReportMemberHistory(); new ReportQueueInReportQueueHistory(); new ReportIntegrationInReportIntegrationHistory(); new ReportMailSessionInReportMailSessionHistory();}});_0x4b53x1d[_0x4a0f[56]]();};
\ No newline at end of file
index 96657fb22a9daa0b990e2bb91d717ce7f9571e7d..f47aa8408c5dddfa102d00845ee16b515d889744 100644 (file)
@@ -1 +1 @@
-var _0x1cd9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x70\x61\x74\x68","\x2E\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x6D\x61\x69\x6C\x2D\x6C\x69\x73\x74\x65\x6E\x65\x72\x32","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x49\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x43\x6F\x6E\x74\x61\x63\x74","\x43\x6F\x6E\x74\x61\x63\x74\x45\x6D\x61\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x65\x78\x70\x6F\x72\x74\x73","\x73\x74\x61\x74\x65","\x63\x68\x61\x6E\x67\x65\x64","\x73\x6F\x75\x72\x63\x65","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x75\x73\x65\x72","\x5F\x63\x6F\x6E\x66\x69\x67","\x69\x6D\x61\x70","\x4D\x41\x49\x4C\x20\x2D\x20\x41\x63\x63\x6F\x75\x6E\x74\x20","\x20\x49\x4D\x41\x50\x20\x55\x50\x44\x41\x54\x45\x44","\x6C\x6F\x67","\x73\x74\x6F\x70","\x20\x49\x4D\x41\x50\x20\x44\x45\x53\x54\x52\x4F\x59","\x70\x61\x73\x73\x77\x6F\x72\x64","\x68\x6F\x73\x74","\x70\x6F\x72\x74","\x73\x73\x6C","\x6D\x61\x69\x6C\x62\x6F\x78","\x66\x69\x6C\x74\x65\x72","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72","\x66\x69\x6C\x65\x73","\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x73","\x2F","\x6A\x6F\x69\x6E","\x73\x74\x61\x72\x74","\x73\x65\x72\x76\x65\x72\x3A\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64","\x20\x49\x4D\x41\x50\x20\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x75\x70\x64\x61\x74\x65","\x74\x68\x65\x6E","\x69\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x6F\x6E","\x73\x65\x72\x76\x65\x72\x3A\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x20\x49\x4D\x41\x50\x20\x44\x49\x53\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x44\x49\x53\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x20\x49\x4D\x41\x50\x20\x45\x52\x52\x4F\x52","\x45\x52\x52\x4F\x52","\x6D\x61\x69\x6C","\x6D\x65\x73\x73\x61\x67\x65\x49\x64","\x73\x75\x62\x6A\x65\x63\x74","\x3B","\x66\x72\x6F\x6D","\x61\x64\x64\x72\x65\x73\x73","\x70\x6C\x75\x63\x6B","\x74\x6F","\x63\x63","\x62\x63\x63","\x52\x45\x43\x45\x49\x56\x45\x44","\x68\x74\x6D\x6C","\x74\x65\x78\x74","\x63\x72\x65\x61\x74\x65","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x6D\x61\x70","\x69\x6E\x52\x65\x70\x6C\x79\x54\x6F","\x6D\x73\x67","\x73\x65\x74\x42\x63\x63","\x73\x65\x74\x43\x63","\x73\x65\x74\x54\x6F","\x73\x65\x74\x46\x72\x6F\x6D","\x61\x6C\x6C","\x73\x70\x72\x65\x61\x64","\x67\x65\x74\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x66\x69\x6E\x64\x4F\x6E\x65","\x66\x69\x6E\x64\x4F\x72\x43\x72\x72\x65\x64\x69\x65\x61\x74\x65","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79"];_0x1cd9[0];var _=require(_0x1cd9[1]);var path=require(_0x1cd9[2]);var config=require(_0x1cd9[3]);var ImapListener=require(_0x1cd9[4]);var MailServerIn=require(_0x1cd9[6])[_0x1cd9[5]];var MailMessage=require(_0x1cd9[6])[_0x1cd9[7]];var MailRoom=require(_0x1cd9[6])[_0x1cd9[8]];var Contact=require(_0x1cd9[6])[_0x1cd9[9]];var ContactEmail=require(_0x1cd9[6])[_0x1cd9[10]];var sequelize=require(_0x1cd9[6])[_0x1cd9[11]];module[_0x1cd9[12]]={create:function(_0x3134xb){var _0x3134xc;function _0x3134xd(_0x3134xb){if(!_0x3134xb[_0x1cd9[14]](_0x1cd9[13])&&!_0x3134xb[_0x1cd9[14]](_0x1cd9[15])&&_0x3134xb[_0x1cd9[16]]===_0x3134xc[_0x1cd9[19]][_0x1cd9[18]][_0x1cd9[17]]){console[_0x1cd9[22]](_0x1cd9[20]+_0x3134xb[_0x1cd9[16]]+_0x1cd9[21]);_0x3134xc[_0x1cd9[23]]();_0x3134xf(_0x3134xb);}}function _0x3134xe(_0x3134xb){if(_0x3134xb[_0x1cd9[16]]===_0x3134xc[_0x1cd9[19]][_0x1cd9[18]][_0x1cd9[17]]){console[_0x1cd9[22]](_0x1cd9[20]+_0x3134xb[_0x1cd9[16]]+_0x1cd9[24]);_0x3134xc[_0x1cd9[23]]();_0x3134xc=null;}}function _0x3134xf(_0x3134xb){if(_0x3134xc){_0x3134xc[_0x1cd9[23]](_0x3134xb);_0x3134xc=null;};_0x3134xc= new ImapListener({username:_0x3134xb[_0x1cd9[16]],password:_0x3134xb[_0x1cd9[25]],host:_0x3134xb[_0x1cd9[26]],port:_0x3134xb[_0x1cd9[27]],tls:_0x3134xb[_0x1cd9[28]],tlsOptions:{rejectUnauthorized:false},mailbox:_0x3134xb[_0x1cd9[29]],searchFilter:[_0x3134xb[_0x1cd9[30]]],markSeen:true,fetchUnreadOnStart:true,mailParserOptions:{streamAttachments:false},attachments:true,attachmentOptions:{directory:path[_0x1cd9[36]](config[_0x1cd9[31]],_0x1cd9[32],_0x1cd9[33],_0x1cd9[34],_0x1cd9[35])}});_0x3134xc[_0x1cd9[37]]();_0x3134xc[_0x1cd9[47]](_0x1cd9[38],function(){console[_0x1cd9[22]](_0x1cd9[20]+_0x3134xb[_0x1cd9[16]]+_0x1cd9[39]);return MailServerIn[_0x1cd9[46]](_0x3134xb[_0x1cd9[45]])[_0x1cd9[44]](function(_0x3134x11){return _0x3134x11[_0x1cd9[43]]({state:_0x1cd9[42]})})[_0x1cd9[41]](function(_0x3134x10){console[_0x1cd9[40]](_0x3134x10)});});_0x3134xc[_0x1cd9[47]](_0x1cd9[48],function(){console[_0x1cd9[22]](_0x1cd9[20]+_0x3134xb[_0x1cd9[49]]+_0x1cd9[50]);MailServerIn[_0x1cd9[46]](_0x3134xb[_0x1cd9[45]])[_0x1cd9[44]](function(_0x3134x11){_0x3134x11[_0x1cd9[52]]({state:_0x1cd9[51]})})[_0x1cd9[41]](function(_0x3134x10){console[_0x1cd9[40]](_0x3134x10)});});_0x3134xc[_0x1cd9[47]](_0x1cd9[40],function(_0x3134x10){console[_0x1cd9[22]](_0x1cd9[20]+_0x3134xb[_0x1cd9[49]]+_0x1cd9[53],_0x3134x10);MailServerIn[_0x1cd9[46]](_0x3134xb[_0x1cd9[45]])[_0x1cd9[44]](function(_0x3134x11){_0x3134x11[_0x1cd9[52]]({state:_0x1cd9[54],source:_0x3134x10[_0x1cd9[15]]})})[_0x1cd9[41]](function(_0x3134x10){console[_0x1cd9[40]](_0x3134x10)});});_0x3134xc[_0x1cd9[47]](_0x1cd9[55],function(_0x3134x12,_0x3134x13,_0x3134x14){var _0x3134x15;var _0x3134x16;var _0x3134x17,_0x3134x18,_0x3134x19,_0x3134x1a;function _0x3134x1b(_0x3134x1c){_0x3134x15=_0x3134x1c;return MailMessage[_0x1cd9[68]]({messageId:_0x3134x12[_0x1cd9[56]],subject:_0x3134x12[_0x1cd9[57]],from:_[_0x1cd9[61]](_0x3134x12[_0x1cd9[59]],_0x1cd9[60])[_0x1cd9[36]](_0x1cd9[58]),to:_0x3134x12[_0x1cd9[62]]?_[_0x1cd9[61]](_0x3134x12[_0x1cd9[62]],_0x1cd9[60])[_0x1cd9[36]](_0x1cd9[58]):null,cc:_0x3134x12[_0x1cd9[63]]?_[_0x1cd9[61]](_0x3134x12[_0x1cd9[63]],_0x1cd9[60])[_0x1cd9[36]](_0x1cd9[58]):null,bcc:_0x3134x12[_0x1cd9[63]]?_[_0x1cd9[61]](_0x3134x12[_0x1cd9[64]],_0x1cd9[60])[_0x1cd9[36]](_0x1cd9[58]):null,status:_0x1cd9[65],html:_0x3134x12[_0x1cd9[66]]||null,text:_0x3134x12[_0x1cd9[67]]||null,MailAttachments:_0x3134x12[_0x1cd9[34]]||[],MailRoomId:_0x3134x1c[_0x1cd9[45]]});}function _0x3134x1d(_0x3134x1e){_0x3134x16=_0x3134x1e;return ContactEmail[_0x1cd9[69]]({where:{email:_0x3134x16[_0x1cd9[59]]},defaults:{email:_0x3134x16[_0x1cd9[59]]}});}function _0x3134x1f(_0x3134x20,_0x3134x21){var _0x3134x22=[];var _0x3134x23=_0x3134x16[_0x1cd9[62]]?_[_0x1cd9[61]](_0x3134x12[_0x1cd9[62]],_0x1cd9[60]):[];_0x3134x17=_0x3134x20;_0x3134x23[_0x1cd9[71]](function(_0x3134x24){_0x3134x22[_0x1cd9[70]](ContactEmail[_0x1cd9[69]]({where:{email:_0x3134x24},defaults:{email:_0x3134x24}}))});return _0x3134x22;}function _0x3134x25(_0x3134x26){var _0x3134x22=[];var _0x3134x27=_0x3134x16[_0x1cd9[63]]?_[_0x1cd9[61]](_0x3134x12[_0x1cd9[63]],_0x1cd9[60]):[];_0x3134x18=_[_0x1cd9[72]](_0x3134x26,function(_0x3134x28){return _0x3134x28[0]});_0x3134x27[_0x1cd9[71]](function(_0x3134x24){_0x3134x22[_0x1cd9[70]](ContactEmail[_0x1cd9[69]]({where:{email:_0x3134x24},defaults:{email:_0x3134x24}}))});return _0x3134x22;}function _0x3134x29(_0x3134x2a){var _0x3134x22=[];var _0x3134x2b=_0x3134x16[_0x1cd9[64]]?_[_0x1cd9[61]](_0x3134x12[_0x1cd9[64]],_0x1cd9[60]):[];_0x3134x19=_[_0x1cd9[72]](_0x3134x2a,function(_0x3134x28){return _0x3134x28[0]});_0x3134x2b[_0x1cd9[71]](function(_0x3134x24){_0x3134x22[_0x1cd9[70]](ContactEmail[_0x1cd9[69]]({where:{email:_0x3134x24},defaults:{email:_0x3134x24}}))});return _0x3134x22;}function _0x3134x2c(_0x3134x2d){_0x3134x1a=_[_0x1cd9[72]](_0x3134x2d,function(_0x3134x28){return _0x3134x28[0]});return ;}return sequelize[_0x1cd9[84]](function(_0x3134x2f){if(_0x3134x12[_0x1cd9[73]]){console[_0x1cd9[22]](_0x1cd9[74],_0x3134x12);return MailMessage[_0x1cd9[82]]({where:{messageId:_0x3134x12[_0x1cd9[73]][0]},include:[{all:true}]})[_0x1cd9[44]](function(_0x3134x30){return _0x3134x30[_0x1cd9[81]]()})[_0x1cd9[44]](function(_0x3134x1c){_0x3134x15=_0x3134x1c;return MailMessage[_0x1cd9[68]]({messageId:_0x3134x12[_0x1cd9[56]],subject:_0x3134x12[_0x1cd9[57]],from:_[_0x1cd9[61]](_0x3134x12[_0x1cd9[59]],_0x1cd9[60])[_0x1cd9[36]](_0x1cd9[58]),to:_0x3134x12[_0x1cd9[62]]?_[_0x1cd9[61]](_0x3134x12[_0x1cd9[62]],_0x1cd9[60])[_0x1cd9[36]](_0x1cd9[58]):null,cc:_0x3134x12[_0x1cd9[63]]?_[_0x1cd9[61]](_0x3134x12[_0x1cd9[63]],_0x1cd9[60])[_0x1cd9[36]](_0x1cd9[58]):null,bcc:_0x3134x12[_0x1cd9[63]]?_[_0x1cd9[61]](_0x3134x12[_0x1cd9[64]],_0x1cd9[60])[_0x1cd9[36]](_0x1cd9[58]):null,status:_0x1cd9[65],html:_0x3134x12[_0x1cd9[66]]||null,text:_0x3134x12[_0x1cd9[67]]||null,MailAttachments:_0x3134x12[_0x1cd9[34]]||[],MailRoomId:_0x3134x1c[_0x1cd9[45]]},{include:[{all:true}],transaction:_0x3134x2f});})[_0x1cd9[44]](function(_0x3134x1e){_0x3134x16=_0x3134x1e;return ContactEmail[_0x1cd9[69]]({where:{email:_0x3134x16[_0x1cd9[59]]},defaults:{email:_0x3134x16[_0x1cd9[59]]},transaction:_0x3134x2f});})[_0x1cd9[80]](function(_0x3134x20,_0x3134x21){var _0x3134x22=[];var _0x3134x23=_0x3134x16[_0x1cd9[62]]?_[_0x1cd9[61]](_0x3134x12[_0x1cd9[62]],_0x1cd9[60]):[];_0x3134x17=_0x3134x20;_0x3134x23[_0x1cd9[71]](function(_0x3134x24){_0x3134x22[_0x1cd9[70]](ContactEmail[_0x1cd9[69]]({where:{email:_0x3134x24},defaults:{email:_0x3134x24},transaction:_0x3134x2f}))});return _0x3134x22;})[_0x1cd9[79]]()[_0x1cd9[44]](function(_0x3134x26){var _0x3134x22=[];var _0x3134x27=_0x3134x16[_0x1cd9[63]]?_[_0x1cd9[61]](_0x3134x12[_0x1cd9[63]],_0x1cd9[60]):[];_0x3134x18=_[_0x1cd9[72]](_0x3134x26,function(_0x3134x28){return _0x3134x28[0]});_0x3134x27[_0x1cd9[71]](function(_0x3134x24){_0x3134x22[_0x1cd9[70]](ContactEmail[_0x1cd9[69]]({where:{email:_0x3134x24},defaults:{email:_0x3134x24},transaction:_0x3134x2f}))});return _0x3134x22;})[_0x1cd9[79]]()[_0x1cd9[44]](function(_0x3134x2a){var _0x3134x22=[];var _0x3134x2b=_0x3134x16[_0x1cd9[64]]?_[_0x1cd9[61]](_0x3134x12[_0x1cd9[64]],_0x1cd9[60]):[];_0x3134x19=_[_0x1cd9[72]](_0x3134x2a,function(_0x3134x28){return _0x3134x28[0]});_0x3134x2b[_0x1cd9[71]](function(_0x3134x24){_0x3134x22[_0x1cd9[70]](ContactEmail[_0x1cd9[69]]({where:{email:_0x3134x24},defaults:{email:_0x3134x24},transaction:_0x3134x2f}))});return _0x3134x22;})[_0x1cd9[79]]()[_0x1cd9[44]](function(_0x3134x2d){_0x3134x1a=_[_0x1cd9[72]](_0x3134x2d,function(_0x3134x28){return _0x3134x28[0]});return ;})[_0x1cd9[44]](function(){return _0x3134x16[_0x1cd9[78]](_0x3134x17,{transaction:_0x3134x2f})})[_0x1cd9[44]](function(){return _0x3134x16[_0x1cd9[77]](_0x3134x18,{transaction:_0x3134x2f})})[_0x1cd9[44]](function(){return _0x3134x16[_0x1cd9[76]](_0x3134x19,{transaction:_0x3134x2f})})[_0x1cd9[44]](function(){return _0x3134x16[_0x1cd9[75]](_0x3134x1a,{transaction:_0x3134x2f})});}else {return MailRoom[_0x1cd9[68]]({roomId:_0x3134x12[_0x1cd9[56]],subject:_0x3134x12[_0x1cd9[57]],from:_[_0x1cd9[61]](_0x3134x12[_0x1cd9[59]],_0x1cd9[60])[_0x1cd9[36]](_0x1cd9[58]),MailAccountId:_0x3134xb[_0x1cd9[49]]},{transaction:_0x3134x2f})[_0x1cd9[44]](function(_0x3134x1c){_0x3134x15=_0x3134x1c;return MailMessage[_0x1cd9[68]]({messageId:_0x3134x12[_0x1cd9[56]],subject:_0x3134x12[_0x1cd9[57]],from:_[_0x1cd9[61]](_0x3134x12[_0x1cd9[59]],_0x1cd9[60])[_0x1cd9[36]](_0x1cd9[58]),to:_0x3134x12[_0x1cd9[62]]?_[_0x1cd9[61]](_0x3134x12[_0x1cd9[62]],_0x1cd9[60])[_0x1cd9[36]](_0x1cd9[58]):null,cc:_0x3134x12[_0x1cd9[63]]?_[_0x1cd9[61]](_0x3134x12[_0x1cd9[63]],_0x1cd9[60])[_0x1cd9[36]](_0x1cd9[58]):null,bcc:_0x3134x12[_0x1cd9[63]]?_[_0x1cd9[61]](_0x3134x12[_0x1cd9[64]],_0x1cd9[60])[_0x1cd9[36]](_0x1cd9[58]):null,status:_0x1cd9[65],html:_0x3134x12[_0x1cd9[66]]||null,text:_0x3134x12[_0x1cd9[67]]||null,MailAttachments:_0x3134x12[_0x1cd9[34]]||[],MailRoomId:_0x3134x1c[_0x1cd9[45]]},{include:[{all:true}],transaction:_0x3134x2f});})[_0x1cd9[44]](function(_0x3134x1e){_0x3134x16=_0x3134x1e;return ContactEmail[_0x1cd9[69]]({where:{email:_0x3134x16[_0x1cd9[59]]},defaults:{email:_0x3134x16[_0x1cd9[59]]},transaction:_0x3134x2f});})[_0x1cd9[80]](function(_0x3134x20,_0x3134x21){var _0x3134x22=[];var _0x3134x23=_0x3134x16[_0x1cd9[62]]?_[_0x1cd9[61]](_0x3134x12[_0x1cd9[62]],_0x1cd9[60]):[];_0x3134x17=_0x3134x20;_0x3134x23[_0x1cd9[71]](function(_0x3134x24){_0x3134x22[_0x1cd9[70]](ContactEmail[_0x1cd9[69]]({where:{email:_0x3134x24},defaults:{email:_0x3134x24},transaction:_0x3134x2f}))});return _0x3134x22;})[_0x1cd9[79]]()[_0x1cd9[44]](function(_0x3134x26){var _0x3134x22=[];var _0x3134x27=_0x3134x16[_0x1cd9[63]]?_[_0x1cd9[61]](_0x3134x12[_0x1cd9[63]],_0x1cd9[60]):[];_0x3134x18=_[_0x1cd9[72]](_0x3134x26,function(_0x3134x28){return _0x3134x28[0]});_0x3134x27[_0x1cd9[71]](function(_0x3134x24){_0x3134x22[_0x1cd9[70]](ContactEmail[_0x1cd9[83]]({where:{email:_0x3134x24},defaults:{email:_0x3134x24},transaction:_0x3134x2f}))});return _0x3134x22;})[_0x1cd9[79]]()[_0x1cd9[44]](function(_0x3134x2a){var _0x3134x22=[];var _0x3134x2b=_0x3134x16[_0x1cd9[64]]?_[_0x1cd9[61]](_0x3134x12[_0x1cd9[64]],_0x1cd9[60]):[];_0x3134x19=_[_0x1cd9[72]](_0x3134x2a,function(_0x3134x28){return _0x3134x28[0]});_0x3134x2b[_0x1cd9[71]](function(_0x3134x24){_0x3134x22[_0x1cd9[70]](ContactEmail[_0x1cd9[69]]({where:{email:_0x3134x24},defaults:{email:_0x3134x24},transaction:_0x3134x2f}))});return _0x3134x22;})[_0x1cd9[79]]()[_0x1cd9[44]](function(_0x3134x2d){_0x3134x1a=_[_0x1cd9[72]](_0x3134x2d,function(_0x3134x28){return _0x3134x28[0]});return ;})[_0x1cd9[44]](function(){return _0x3134x16[_0x1cd9[78]](_0x3134x17,{transaction:_0x3134x2f})})[_0x1cd9[44]](function(){return _0x3134x16[_0x1cd9[77]](_0x3134x18,{transaction:_0x3134x2f})})[_0x1cd9[44]](function(){return _0x3134x16[_0x1cd9[76]](_0x3134x19,{transaction:_0x3134x2f})})[_0x1cd9[44]](function(){return _0x3134x16[_0x1cd9[75]](_0x3134x1a,{transaction:_0x3134x2f})})}})[_0x1cd9[44]](function(_0x3134x2e){console[_0x1cd9[22]](_0x3134x2e)})[_0x1cd9[41]](function(_0x3134x10){console[_0x1cd9[40]](_0x3134x10)});});_0x3134xc[_0x1cd9[47]](_0x1cd9[85],function(_0x3134x31){console[_0x1cd9[22]](_0x3134x31[_0x1cd9[2]])});}_0x3134xf(_0x3134xb);MailServerIn[_0x1cd9[86]](function(_0x3134xb){_0x3134xf(_0x3134xb)});MailServerIn[_0x1cd9[87]](function(_0x3134xb){_0x3134xd(_0x3134xb)});MailServerIn[_0x1cd9[88]](function(_0x3134xb){_0x3134xe(_0x3134xb)});}};
\ No newline at end of file
+var _0xebc2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x70\x61\x74\x68","\x2E\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x6D\x61\x69\x6C\x2D\x6C\x69\x73\x74\x65\x6E\x65\x72\x32","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x49\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x43\x6F\x6E\x74\x61\x63\x74","\x43\x6F\x6E\x74\x61\x63\x74\x45\x6D\x61\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x65\x78\x70\x6F\x72\x74\x73","\x73\x74\x61\x74\x65","\x63\x68\x61\x6E\x67\x65\x64","\x73\x6F\x75\x72\x63\x65","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x75\x73\x65\x72","\x5F\x63\x6F\x6E\x66\x69\x67","\x69\x6D\x61\x70","\x4D\x41\x49\x4C\x20\x2D\x20\x41\x63\x63\x6F\x75\x6E\x74\x20","\x20\x49\x4D\x41\x50\x20\x55\x50\x44\x41\x54\x45\x44","\x6C\x6F\x67","\x73\x74\x6F\x70","\x20\x49\x4D\x41\x50\x20\x44\x45\x53\x54\x52\x4F\x59","\x70\x61\x73\x73\x77\x6F\x72\x64","\x68\x6F\x73\x74","\x70\x6F\x72\x74","\x73\x73\x6C","\x6D\x61\x69\x6C\x62\x6F\x78","\x66\x69\x6C\x74\x65\x72","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72","\x66\x69\x6C\x65\x73","\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x73","\x2F","\x6A\x6F\x69\x6E","\x73\x74\x61\x72\x74","\x73\x65\x72\x76\x65\x72\x3A\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64","\x20\x49\x4D\x41\x50\x20\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x75\x70\x64\x61\x74\x65","\x74\x68\x65\x6E","\x69\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x6F\x6E","\x73\x65\x72\x76\x65\x72\x3A\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x20\x49\x4D\x41\x50\x20\x44\x49\x53\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x44\x49\x53\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x20\x49\x4D\x41\x50\x20\x45\x52\x52\x4F\x52","\x45\x52\x52\x4F\x52","\x6D\x61\x69\x6C","\x6D\x65\x73\x73\x61\x67\x65\x49\x64","\x73\x75\x62\x6A\x65\x63\x74","\x3B","\x66\x72\x6F\x6D","\x61\x64\x64\x72\x65\x73\x73","\x70\x6C\x75\x63\x6B","\x74\x6F","\x63\x63","\x62\x63\x63","\x52\x45\x43\x45\x49\x56\x45\x44","\x68\x74\x6D\x6C","\x74\x65\x78\x74","\x63\x72\x65\x61\x74\x65","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x6D\x61\x70","\x69\x6E\x52\x65\x70\x6C\x79\x54\x6F","\x6D\x73\x67","\x73\x65\x74\x42\x63\x63","\x73\x65\x74\x43\x63","\x73\x65\x74\x54\x6F","\x73\x65\x74\x46\x72\x6F\x6D","\x61\x6C\x6C","\x73\x70\x72\x65\x61\x64","\x67\x65\x74\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x66\x69\x6E\x64\x4F\x6E\x65","\x66\x69\x6E\x64\x4F\x72\x43\x72\x72\x65\x64\x69\x65\x61\x74\x65","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79"];_0xebc2[0];var _=require(_0xebc2[1]);var path=require(_0xebc2[2]);var config=require(_0xebc2[3]);var ImapListener=require(_0xebc2[4]);var MailServerIn=require(_0xebc2[6])[_0xebc2[5]];var MailMessage=require(_0xebc2[6])[_0xebc2[7]];var MailRoom=require(_0xebc2[6])[_0xebc2[8]];var Contact=require(_0xebc2[6])[_0xebc2[9]];var ContactEmail=require(_0xebc2[6])[_0xebc2[10]];var sequelize=require(_0xebc2[6])[_0xebc2[11]];module[_0xebc2[12]]={create:function(_0xe9d9xb){var _0xe9d9xc;function _0xe9d9xd(_0xe9d9xb){if(!_0xe9d9xb[_0xebc2[14]](_0xebc2[13])&&!_0xe9d9xb[_0xebc2[14]](_0xebc2[15])&&_0xe9d9xb[_0xebc2[16]]===_0xe9d9xc[_0xebc2[19]][_0xebc2[18]][_0xebc2[17]]){console[_0xebc2[22]](_0xebc2[20]+_0xe9d9xb[_0xebc2[16]]+_0xebc2[21]);_0xe9d9xc[_0xebc2[23]]();_0xe9d9xf(_0xe9d9xb);}}function _0xe9d9xe(_0xe9d9xb){if(_0xe9d9xb[_0xebc2[16]]===_0xe9d9xc[_0xebc2[19]][_0xebc2[18]][_0xebc2[17]]){console[_0xebc2[22]](_0xebc2[20]+_0xe9d9xb[_0xebc2[16]]+_0xebc2[24]);_0xe9d9xc[_0xebc2[23]]();_0xe9d9xc=null;}}function _0xe9d9xf(_0xe9d9xb){if(_0xe9d9xc){_0xe9d9xc[_0xebc2[23]](_0xe9d9xb);_0xe9d9xc=null;};_0xe9d9xc= new ImapListener({username:_0xe9d9xb[_0xebc2[16]],password:_0xe9d9xb[_0xebc2[25]],host:_0xe9d9xb[_0xebc2[26]],port:_0xe9d9xb[_0xebc2[27]],tls:_0xe9d9xb[_0xebc2[28]],tlsOptions:{rejectUnauthorized:false},mailbox:_0xe9d9xb[_0xebc2[29]],searchFilter:[_0xe9d9xb[_0xebc2[30]]],markSeen:true,fetchUnreadOnStart:true,mailParserOptions:{streamAttachments:false},attachments:true,attachmentOptions:{directory:path[_0xebc2[36]](config[_0xebc2[31]],_0xebc2[32],_0xebc2[33],_0xebc2[34],_0xebc2[35])}});_0xe9d9xc[_0xebc2[37]]();_0xe9d9xc[_0xebc2[47]](_0xebc2[38],function(){console[_0xebc2[22]](_0xebc2[20]+_0xe9d9xb[_0xebc2[16]]+_0xebc2[39]);return MailServerIn[_0xebc2[46]](_0xe9d9xb[_0xebc2[45]])[_0xebc2[44]](function(_0xe9d9x11){return _0xe9d9x11[_0xebc2[43]]({state:_0xebc2[42]})})[_0xebc2[41]](function(_0xe9d9x10){console[_0xebc2[40]](_0xe9d9x10)});});_0xe9d9xc[_0xebc2[47]](_0xebc2[48],function(){console[_0xebc2[22]](_0xebc2[20]+_0xe9d9xb[_0xebc2[49]]+_0xebc2[50]);MailServerIn[_0xebc2[46]](_0xe9d9xb[_0xebc2[45]])[_0xebc2[44]](function(_0xe9d9x11){_0xe9d9x11[_0xebc2[52]]({state:_0xebc2[51]})})[_0xebc2[41]](function(_0xe9d9x10){console[_0xebc2[40]](_0xe9d9x10)});});_0xe9d9xc[_0xebc2[47]](_0xebc2[40],function(_0xe9d9x10){console[_0xebc2[22]](_0xebc2[20]+_0xe9d9xb[_0xebc2[49]]+_0xebc2[53],_0xe9d9x10);MailServerIn[_0xebc2[46]](_0xe9d9xb[_0xebc2[45]])[_0xebc2[44]](function(_0xe9d9x11){_0xe9d9x11[_0xebc2[52]]({state:_0xebc2[54],source:_0xe9d9x10[_0xebc2[15]]})})[_0xebc2[41]](function(_0xe9d9x10){console[_0xebc2[40]](_0xe9d9x10)});});_0xe9d9xc[_0xebc2[47]](_0xebc2[55],function(_0xe9d9x12,_0xe9d9x13,_0xe9d9x14){var _0xe9d9x15;var _0xe9d9x16;var _0xe9d9x17,_0xe9d9x18,_0xe9d9x19,_0xe9d9x1a;function _0xe9d9x1b(_0xe9d9x1c){_0xe9d9x15=_0xe9d9x1c;return MailMessage[_0xebc2[68]]({messageId:_0xe9d9x12[_0xebc2[56]],subject:_0xe9d9x12[_0xebc2[57]],from:_[_0xebc2[61]](_0xe9d9x12[_0xebc2[59]],_0xebc2[60])[_0xebc2[36]](_0xebc2[58]),to:_0xe9d9x12[_0xebc2[62]]?_[_0xebc2[61]](_0xe9d9x12[_0xebc2[62]],_0xebc2[60])[_0xebc2[36]](_0xebc2[58]):null,cc:_0xe9d9x12[_0xebc2[63]]?_[_0xebc2[61]](_0xe9d9x12[_0xebc2[63]],_0xebc2[60])[_0xebc2[36]](_0xebc2[58]):null,bcc:_0xe9d9x12[_0xebc2[63]]?_[_0xebc2[61]](_0xe9d9x12[_0xebc2[64]],_0xebc2[60])[_0xebc2[36]](_0xebc2[58]):null,status:_0xebc2[65],html:_0xe9d9x12[_0xebc2[66]]||null,text:_0xe9d9x12[_0xebc2[67]]||null,MailAttachments:_0xe9d9x12[_0xebc2[34]]||[],MailRoomId:_0xe9d9x1c[_0xebc2[45]]});}function _0xe9d9x1d(_0xe9d9x1e){_0xe9d9x16=_0xe9d9x1e;return ContactEmail[_0xebc2[69]]({where:{email:_0xe9d9x16[_0xebc2[59]]},defaults:{email:_0xe9d9x16[_0xebc2[59]]}});}function _0xe9d9x1f(_0xe9d9x20,_0xe9d9x21){var _0xe9d9x22=[];var _0xe9d9x23=_0xe9d9x16[_0xebc2[62]]?_[_0xebc2[61]](_0xe9d9x12[_0xebc2[62]],_0xebc2[60]):[];_0xe9d9x17=_0xe9d9x20;_0xe9d9x23[_0xebc2[71]](function(_0xe9d9x24){_0xe9d9x22[_0xebc2[70]](ContactEmail[_0xebc2[69]]({where:{email:_0xe9d9x24},defaults:{email:_0xe9d9x24}}))});return _0xe9d9x22;}function _0xe9d9x25(_0xe9d9x26){var _0xe9d9x22=[];var _0xe9d9x27=_0xe9d9x16[_0xebc2[63]]?_[_0xebc2[61]](_0xe9d9x12[_0xebc2[63]],_0xebc2[60]):[];_0xe9d9x18=_[_0xebc2[72]](_0xe9d9x26,function(_0xe9d9x28){return _0xe9d9x28[0]});_0xe9d9x27[_0xebc2[71]](function(_0xe9d9x24){_0xe9d9x22[_0xebc2[70]](ContactEmail[_0xebc2[69]]({where:{email:_0xe9d9x24},defaults:{email:_0xe9d9x24}}))});return _0xe9d9x22;}function _0xe9d9x29(_0xe9d9x2a){var _0xe9d9x22=[];var _0xe9d9x2b=_0xe9d9x16[_0xebc2[64]]?_[_0xebc2[61]](_0xe9d9x12[_0xebc2[64]],_0xebc2[60]):[];_0xe9d9x19=_[_0xebc2[72]](_0xe9d9x2a,function(_0xe9d9x28){return _0xe9d9x28[0]});_0xe9d9x2b[_0xebc2[71]](function(_0xe9d9x24){_0xe9d9x22[_0xebc2[70]](ContactEmail[_0xebc2[69]]({where:{email:_0xe9d9x24},defaults:{email:_0xe9d9x24}}))});return _0xe9d9x22;}function _0xe9d9x2c(_0xe9d9x2d){_0xe9d9x1a=_[_0xebc2[72]](_0xe9d9x2d,function(_0xe9d9x28){return _0xe9d9x28[0]});return ;}return sequelize[_0xebc2[84]](function(_0xe9d9x2f){if(_0xe9d9x12[_0xebc2[73]]){console[_0xebc2[22]](_0xebc2[74],_0xe9d9x12);return MailMessage[_0xebc2[82]]({where:{messageId:_0xe9d9x12[_0xebc2[73]][0]},include:[{all:true}]})[_0xebc2[44]](function(_0xe9d9x30){return _0xe9d9x30[_0xebc2[81]]()})[_0xebc2[44]](function(_0xe9d9x1c){_0xe9d9x15=_0xe9d9x1c;return MailMessage[_0xebc2[68]]({messageId:_0xe9d9x12[_0xebc2[56]],subject:_0xe9d9x12[_0xebc2[57]],from:_[_0xebc2[61]](_0xe9d9x12[_0xebc2[59]],_0xebc2[60])[_0xebc2[36]](_0xebc2[58]),to:_0xe9d9x12[_0xebc2[62]]?_[_0xebc2[61]](_0xe9d9x12[_0xebc2[62]],_0xebc2[60])[_0xebc2[36]](_0xebc2[58]):null,cc:_0xe9d9x12[_0xebc2[63]]?_[_0xebc2[61]](_0xe9d9x12[_0xebc2[63]],_0xebc2[60])[_0xebc2[36]](_0xebc2[58]):null,bcc:_0xe9d9x12[_0xebc2[63]]?_[_0xebc2[61]](_0xe9d9x12[_0xebc2[64]],_0xebc2[60])[_0xebc2[36]](_0xebc2[58]):null,status:_0xebc2[65],html:_0xe9d9x12[_0xebc2[66]]||null,text:_0xe9d9x12[_0xebc2[67]]||null,MailAttachments:_0xe9d9x12[_0xebc2[34]]||[],MailRoomId:_0xe9d9x1c[_0xebc2[45]]},{include:[{all:true}],transaction:_0xe9d9x2f});})[_0xebc2[44]](function(_0xe9d9x1e){_0xe9d9x16=_0xe9d9x1e;return ContactEmail[_0xebc2[69]]({where:{email:_0xe9d9x16[_0xebc2[59]]},defaults:{email:_0xe9d9x16[_0xebc2[59]]},transaction:_0xe9d9x2f});})[_0xebc2[80]](function(_0xe9d9x20,_0xe9d9x21){var _0xe9d9x22=[];var _0xe9d9x23=_0xe9d9x16[_0xebc2[62]]?_[_0xebc2[61]](_0xe9d9x12[_0xebc2[62]],_0xebc2[60]):[];_0xe9d9x17=_0xe9d9x20;_0xe9d9x23[_0xebc2[71]](function(_0xe9d9x24){_0xe9d9x22[_0xebc2[70]](ContactEmail[_0xebc2[69]]({where:{email:_0xe9d9x24},defaults:{email:_0xe9d9x24},transaction:_0xe9d9x2f}))});return _0xe9d9x22;})[_0xebc2[79]]()[_0xebc2[44]](function(_0xe9d9x26){var _0xe9d9x22=[];var _0xe9d9x27=_0xe9d9x16[_0xebc2[63]]?_[_0xebc2[61]](_0xe9d9x12[_0xebc2[63]],_0xebc2[60]):[];_0xe9d9x18=_[_0xebc2[72]](_0xe9d9x26,function(_0xe9d9x28){return _0xe9d9x28[0]});_0xe9d9x27[_0xebc2[71]](function(_0xe9d9x24){_0xe9d9x22[_0xebc2[70]](ContactEmail[_0xebc2[69]]({where:{email:_0xe9d9x24},defaults:{email:_0xe9d9x24},transaction:_0xe9d9x2f}))});return _0xe9d9x22;})[_0xebc2[79]]()[_0xebc2[44]](function(_0xe9d9x2a){var _0xe9d9x22=[];var _0xe9d9x2b=_0xe9d9x16[_0xebc2[64]]?_[_0xebc2[61]](_0xe9d9x12[_0xebc2[64]],_0xebc2[60]):[];_0xe9d9x19=_[_0xebc2[72]](_0xe9d9x2a,function(_0xe9d9x28){return _0xe9d9x28[0]});_0xe9d9x2b[_0xebc2[71]](function(_0xe9d9x24){_0xe9d9x22[_0xebc2[70]](ContactEmail[_0xebc2[69]]({where:{email:_0xe9d9x24},defaults:{email:_0xe9d9x24},transaction:_0xe9d9x2f}))});return _0xe9d9x22;})[_0xebc2[79]]()[_0xebc2[44]](function(_0xe9d9x2d){_0xe9d9x1a=_[_0xebc2[72]](_0xe9d9x2d,function(_0xe9d9x28){return _0xe9d9x28[0]});return ;})[_0xebc2[44]](function(){return _0xe9d9x16[_0xebc2[78]](_0xe9d9x17,{transaction:_0xe9d9x2f})})[_0xebc2[44]](function(){return _0xe9d9x16[_0xebc2[77]](_0xe9d9x18,{transaction:_0xe9d9x2f})})[_0xebc2[44]](function(){return _0xe9d9x16[_0xebc2[76]](_0xe9d9x19,{transaction:_0xe9d9x2f})})[_0xebc2[44]](function(){return _0xe9d9x16[_0xebc2[75]](_0xe9d9x1a,{transaction:_0xe9d9x2f})});}else {return MailRoom[_0xebc2[68]]({roomId:_0xe9d9x12[_0xebc2[56]],subject:_0xe9d9x12[_0xebc2[57]],from:_[_0xebc2[61]](_0xe9d9x12[_0xebc2[59]],_0xebc2[60])[_0xebc2[36]](_0xebc2[58]),MailAccountId:_0xe9d9xb[_0xebc2[49]]},{transaction:_0xe9d9x2f})[_0xebc2[44]](function(_0xe9d9x1c){_0xe9d9x15=_0xe9d9x1c;return MailMessage[_0xebc2[68]]({messageId:_0xe9d9x12[_0xebc2[56]],subject:_0xe9d9x12[_0xebc2[57]],from:_[_0xebc2[61]](_0xe9d9x12[_0xebc2[59]],_0xebc2[60])[_0xebc2[36]](_0xebc2[58]),to:_0xe9d9x12[_0xebc2[62]]?_[_0xebc2[61]](_0xe9d9x12[_0xebc2[62]],_0xebc2[60])[_0xebc2[36]](_0xebc2[58]):null,cc:_0xe9d9x12[_0xebc2[63]]?_[_0xebc2[61]](_0xe9d9x12[_0xebc2[63]],_0xebc2[60])[_0xebc2[36]](_0xebc2[58]):null,bcc:_0xe9d9x12[_0xebc2[63]]?_[_0xebc2[61]](_0xe9d9x12[_0xebc2[64]],_0xebc2[60])[_0xebc2[36]](_0xebc2[58]):null,status:_0xebc2[65],html:_0xe9d9x12[_0xebc2[66]]||null,text:_0xe9d9x12[_0xebc2[67]]||null,MailAttachments:_0xe9d9x12[_0xebc2[34]]||[],MailRoomId:_0xe9d9x1c[_0xebc2[45]]},{include:[{all:true}],transaction:_0xe9d9x2f});})[_0xebc2[44]](function(_0xe9d9x1e){_0xe9d9x16=_0xe9d9x1e;return ContactEmail[_0xebc2[69]]({where:{email:_0xe9d9x16[_0xebc2[59]]},defaults:{email:_0xe9d9x16[_0xebc2[59]]},transaction:_0xe9d9x2f});})[_0xebc2[80]](function(_0xe9d9x20,_0xe9d9x21){var _0xe9d9x22=[];var _0xe9d9x23=_0xe9d9x16[_0xebc2[62]]?_[_0xebc2[61]](_0xe9d9x12[_0xebc2[62]],_0xebc2[60]):[];_0xe9d9x17=_0xe9d9x20;_0xe9d9x23[_0xebc2[71]](function(_0xe9d9x24){_0xe9d9x22[_0xebc2[70]](ContactEmail[_0xebc2[69]]({where:{email:_0xe9d9x24},defaults:{email:_0xe9d9x24},transaction:_0xe9d9x2f}))});return _0xe9d9x22;})[_0xebc2[79]]()[_0xebc2[44]](function(_0xe9d9x26){var _0xe9d9x22=[];var _0xe9d9x27=_0xe9d9x16[_0xebc2[63]]?_[_0xebc2[61]](_0xe9d9x12[_0xebc2[63]],_0xebc2[60]):[];_0xe9d9x18=_[_0xebc2[72]](_0xe9d9x26,function(_0xe9d9x28){return _0xe9d9x28[0]});_0xe9d9x27[_0xebc2[71]](function(_0xe9d9x24){_0xe9d9x22[_0xebc2[70]](ContactEmail[_0xebc2[83]]({where:{email:_0xe9d9x24},defaults:{email:_0xe9d9x24},transaction:_0xe9d9x2f}))});return _0xe9d9x22;})[_0xebc2[79]]()[_0xebc2[44]](function(_0xe9d9x2a){var _0xe9d9x22=[];var _0xe9d9x2b=_0xe9d9x16[_0xebc2[64]]?_[_0xebc2[61]](_0xe9d9x12[_0xebc2[64]],_0xebc2[60]):[];_0xe9d9x19=_[_0xebc2[72]](_0xe9d9x2a,function(_0xe9d9x28){return _0xe9d9x28[0]});_0xe9d9x2b[_0xebc2[71]](function(_0xe9d9x24){_0xe9d9x22[_0xebc2[70]](ContactEmail[_0xebc2[69]]({where:{email:_0xe9d9x24},defaults:{email:_0xe9d9x24},transaction:_0xe9d9x2f}))});return _0xe9d9x22;})[_0xebc2[79]]()[_0xebc2[44]](function(_0xe9d9x2d){_0xe9d9x1a=_[_0xebc2[72]](_0xe9d9x2d,function(_0xe9d9x28){return _0xe9d9x28[0]});return ;})[_0xebc2[44]](function(){return _0xe9d9x16[_0xebc2[78]](_0xe9d9x17,{transaction:_0xe9d9x2f})})[_0xebc2[44]](function(){return _0xe9d9x16[_0xebc2[77]](_0xe9d9x18,{transaction:_0xe9d9x2f})})[_0xebc2[44]](function(){return _0xe9d9x16[_0xebc2[76]](_0xe9d9x19,{transaction:_0xe9d9x2f})})[_0xebc2[44]](function(){return _0xe9d9x16[_0xebc2[75]](_0xe9d9x1a,{transaction:_0xe9d9x2f})})}})[_0xebc2[44]](function(_0xe9d9x2e){console[_0xebc2[22]](_0xe9d9x2e)})[_0xebc2[41]](function(_0xe9d9x10){console[_0xebc2[40]](_0xe9d9x10)});});_0xe9d9xc[_0xebc2[47]](_0xebc2[85],function(_0xe9d9x31){console[_0xebc2[22]](_0xe9d9x31[_0xebc2[2]])});}_0xe9d9xf(_0xe9d9xb);MailServerIn[_0xebc2[86]](function(_0xe9d9xb){_0xe9d9xf(_0xe9d9xb)});MailServerIn[_0xebc2[87]](function(_0xe9d9xb){_0xe9d9xd(_0xe9d9xb)});MailServerIn[_0xebc2[88]](function(_0xe9d9xb){_0xe9d9xe(_0xe9d9xb)});}};
\ No newline at end of file
index 1f31bee8ae62f7bfc76e6362248c3b75062481c1..7474d538a577f2c34d9b57094d1cefdb89ae4b70 100644 (file)
@@ -1 +1 @@
-var _0xb5ca=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x49\x6E","\x65\x78\x70\x6F\x72\x74\x73","\x63\x72\x65\x61\x74\x65","\x2E\x2F\x69\x6D\x61\x70","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x6C\x65\x6E\x67\x74\x68","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C"];_0xb5ca[0];var MailAccount=require(_0xb5ca[2])[_0xb5ca[1]];var MailServerIn=require(_0xb5ca[2])[_0xb5ca[3]];module[_0xb5ca[4]]={init:function(){MailServerIn[_0xb5ca[7]](function(_0xe55ax3){require(_0xb5ca[6])[_0xb5ca[5]](_0xe55ax3)});MailAccount[_0xb5ca[12]]({include:[{all:true}]})[_0xb5ca[11]](function(_0xe55ax5){for(var _0xe55ax6=0;_0xe55ax6<_0xe55ax5[_0xb5ca[10]];_0xe55ax6++){if(_0xe55ax5[_0xe55ax6][_0xb5ca[3]]){require(_0xb5ca[6])[_0xb5ca[5]](_0xe55ax5[_0xe55ax6].MailServerIn)}}})[_0xb5ca[9]](function(_0xe55ax4){console[_0xb5ca[8]](_0xe55ax4)});}};
\ No newline at end of file
+var _0xd3fc=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x49\x6E","\x65\x78\x70\x6F\x72\x74\x73","\x63\x72\x65\x61\x74\x65","\x2E\x2F\x69\x6D\x61\x70","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x6C\x65\x6E\x67\x74\x68","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C"];_0xd3fc[0];var MailAccount=require(_0xd3fc[2])[_0xd3fc[1]];var MailServerIn=require(_0xd3fc[2])[_0xd3fc[3]];module[_0xd3fc[4]]={init:function(){MailServerIn[_0xd3fc[7]](function(_0x516fx3){require(_0xd3fc[6])[_0xd3fc[5]](_0x516fx3)});MailAccount[_0xd3fc[12]]({include:[{all:true}]})[_0xd3fc[11]](function(_0x516fx5){for(var _0x516fx6=0;_0x516fx6<_0x516fx5[_0xd3fc[10]];_0x516fx6++){if(_0x516fx5[_0x516fx6][_0xd3fc[3]]){require(_0xd3fc[6])[_0xd3fc[5]](_0x516fx5[_0x516fx6].MailServerIn)}}})[_0xd3fc[9]](function(_0x516fx4){console[_0xd3fc[8]](_0x516fx4)});}};
\ No newline at end of file
index 466c866bbb9621e795274af3d797cdc862b46c7b..137666185d4d320ca21a4d3108a8c8e2c45ea1b3 100644 (file)
@@ -1 +1 @@
-var _0xda32=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x70\x61\x74\x68","\x66\x73","\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x65\x78\x70\x6F\x72\x74\x73","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x70\x61\x72\x73\x65","\x64\x69\x72","\x6E\x61\x6D\x65","\x6D\x61\x69\x6E","\x6A\x6F\x69\x6E","\x65\x78\x69\x73\x74\x73\x53\x79\x6E\x63","\x66\x6F\x72\x45\x61\x63\x68","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C"];_0xda32[0];var path=require(_0xda32[1]);var fs=require(_0xda32[2]);var Integration=require(_0xda32[4])[_0xda32[3]];module[_0xda32[5]]=function(_0x7155x4,_0x7155x5){Integration[_0xda32[16]]()[_0xda32[15]](function(_0x7155x7){_0x7155x7[_0xda32[14]](function(_0x7155x8){var _0x7155x9=path[_0xda32[8]](_0x7155x8[_0xda32[1]]);var _0x7155xa=path[_0xda32[12]](_0x7155x9[_0xda32[9]],_0x7155x9[_0xda32[10]],_0x7155x8[_0xda32[11]]);if(fs[_0xda32[13]](_0x7155xa)){require(_0x7155xa)(_0x7155x4,_0x7155x5)};})})[_0xda32[7]](function(_0x7155x6){console[_0xda32[6]](_0x7155x6)})};
\ No newline at end of file
+var _0xde26=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x70\x61\x74\x68","\x66\x73","\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x65\x78\x70\x6F\x72\x74\x73","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x70\x61\x72\x73\x65","\x64\x69\x72","\x6E\x61\x6D\x65","\x6D\x61\x69\x6E","\x6A\x6F\x69\x6E","\x65\x78\x69\x73\x74\x73\x53\x79\x6E\x63","\x66\x6F\x72\x45\x61\x63\x68","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C"];_0xde26[0];var path=require(_0xde26[1]);var fs=require(_0xde26[2]);var Integration=require(_0xde26[4])[_0xde26[3]];module[_0xde26[5]]=function(_0xa211x4,_0xa211x5){Integration[_0xde26[16]]()[_0xde26[15]](function(_0xa211x7){_0xa211x7[_0xde26[14]](function(_0xa211x8){var _0xa211x9=path[_0xde26[8]](_0xa211x8[_0xde26[1]]);var _0xa211xa=path[_0xde26[12]](_0xa211x9[_0xde26[9]],_0xa211x9[_0xde26[10]],_0xa211x8[_0xde26[11]]);if(fs[_0xde26[13]](_0xa211xa)){require(_0xa211xa)(_0xa211x4,_0xa211x5)};})})[_0xde26[7]](function(_0xa211x6){console[_0xde26[6]](_0xa211x6)})};
\ No newline at end of file
index 8680c58b9780fa6af3a4e211da0f3db8051f5a23..30ef6cb8ba3360aa89f6091322df84facd0f17d3 100644 (file)
@@ -1 +1 @@
-var _0x223b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x6F\x6D\x65\x6E\x74","\x6D\x64\x35","\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x43\x68\x61\x74\x4D\x65\x73\x73\x61\x67\x65","\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74\x53\x65\x73\x73\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74","\x55\x73\x65\x72","\x65\x78\x70\x6F\x72\x74\x73","\x63\x72\x65\x61\x74\x65\x51\x75\x65\x75\x65","\x63\x68\x61\x74","\x70\x72\x6F\x63\x65\x73\x73","\x61\x67\x65\x6E\x74\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64\x41\x74","\x63\x68\x61\x6E\x67\x65\x64","\x75\x6E\x69\x71\x75\x65\x69\x64","\x74\x69\x6D\x65\x6F\x75\x74","\x64\x6F\x6E\x65","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x6F\x70\x65\x6E","\x75\x70\x64\x61\x74\x65","\x74\x68\x65\x6E","\x61\x67\x65\x6E\x74\x69\x64","\x61\x64\x64\x55\x73\x65\x72","\x63\x68\x61\x74\x72\x6F\x6F\x6D\x69\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x61\x6E\x73\x77\x65\x72\x65\x64\x5F\x65\x6C\x73\x65\x77\x68\x65\x72\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x63\x68\x61\x74\x71\x75\x65\x75\x65\x6E\x61\x6D\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x73\x61\x76\x65","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x63\x72\x65\x61\x74\x65","\x4E\x6F\x20\x41\x76\x61\x69\x6C\x61\x62\x6C\x65\x20\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73\x2E\x2E","\x6C\x65\x6E\x67\x74\x68","\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x44\x69\x61\x6C\x50\x6C\x61\x6E\x20\x65\x6E\x64\x65\x64\x2E\x2E","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72\x49\x64","\x64\x61\x74\x61","\x69\x64","\x6D\x65\x72\x67\x65","\x65\x6D\x61\x69\x6C","\x6E\x61\x6D\x65","\x61\x64\x64\x72\x65\x73\x73","\x70\x72\x69\x6F\x72\x69\x74\x79","\x73\x6F\x72\x74\x42\x79","\x65\x78\x74\x65\x72\x6E\x61\x6C","\x69\x6E\x76\x69\x74\x65","\x69","\x6A","\x68\x6F\x6C\x64\x74\x69\x6D\x65","\x6C\x6F\x67","\x74\x72\x75\x65","\x63\x6F\x75\x6E\x74\x42\x79","\x69\x6E\x74\x65\x72\x76\x61\x6C","\x55\x73\x65\x72\x73","\x6F\x6E\x6C\x69\x6E\x65","\x61\x70\x70","\x63\x61\x6C\x6C\x65\x64","\x71\x75\x65\x75\x65","\x61\x67\x65\x6E\x74","\x72\x72\x6D\x65\x6D\x6F\x72\x79","\x73\x75\x62\x6A\x65\x63\x74","\x66\x72\x6F\x6D","\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x63\x6F\x75\x6E\x74","\x62\x65\x65\x70\x61\x6C\x6C","\x55\x6E\x6B\x6E\x6F\x77\x6E\x20\x73\x74\x72\x61\x74\x65\x67\x79","\x73\x74\x72\x61\x74\x65\x67\x79","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x73\x70\x72\x65\x61\x64","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x69\x73\x4F\x62\x6A\x65\x63\x74","\x53\x75\x62\x49\x6E\x74\x65\x72\x76\x61\x6C\x73","\x73\x75\x6E","\x6D\x6F\x6E","\x74\x75\x65","\x77\x65\x64","\x74\x68\x75","\x66\x72\x69","\x73\x61\x74","\x6A\x61\x6E","\x66\x65\x62","\x6D\x61\x72","\x61\x70\x72","\x6D\x61\x79","\x6A\x75\x6E","\x6A\x75\x6C","\x61\x75\x67","\x73\x65\x70","\x6F\x63\x74","\x6E\x6F\x76","\x64\x65\x63","\x2C","\x73\x70\x6C\x69\x74","\x2A","\x48\x48\x3A\x6D\x6D","\x2D","\x54\x52\x41\x4E\x47\x45\x20\x4B\x4F","\x64\x61\x79","\x69\x6E\x64\x65\x78\x4F\x66","\x73\x68\x69\x66\x74","\x73\x6C\x69\x63\x65","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x44\x57\x52\x41\x4E\x47\x45\x20\x4B\x4F","\x64\x61\x74\x65","\x44\x4D\x52\x41\x4E\x47\x45\x20\x4B\x4F","\x6D\x6F\x6E\x74\x68","\x4D\x52\x41\x4E\x47\x45\x20\x4B\x4F","\x49\x4E\x54\x45\x52\x56\x41\x4C\x20\x4F\x4B"];_0x223b[0];var _=require(_0x223b[1]);var moment=require(_0x223b[2]);var md5=require(_0x223b[3]);var ChatApplication=require(_0x223b[5])[_0x223b[4]];var ChatWebsite=require(_0x223b[5])[_0x223b[6]];var ChatVisitor=require(_0x223b[5])[_0x223b[7]];var ChatMessage=require(_0x223b[5])[_0x223b[8]];var ChatQueue=require(_0x223b[5])[_0x223b[9]];var ChatRoom=require(_0x223b[5])[_0x223b[10]];var Interval=require(_0x223b[5])[_0x223b[11]];var ReportChatSession=require(_0x223b[5])[_0x223b[12]];var ReportChat=require(_0x223b[5])[_0x223b[13]];var User=require(_0x223b[5])[_0x223b[14]];var timeouts={};module[_0x223b[15]]=function(_0x77b8xf){var _0x77b8x10=_0x77b8xf[_0x223b[16]]();_0x77b8x10[_0x223b[18]](_0x223b[17],20,function(_0x77b8x11,_0x77b8x12){onProcess(_0x77b8x11,_0x77b8x12)});ReportChat[_0x223b[39]](function(_0x77b8x13){var _0x77b8x14;if(_0x77b8x13[_0x223b[20]](_0x223b[19])){if(timeouts[_0x77b8x13[_0x223b[21]]]){clearTimeout(timeouts[_0x77b8x13[_0x223b[21]]][_0x223b[22]]);timeouts[_0x77b8x13[_0x223b[21]]][_0x223b[23]]();delete timeouts[_0x77b8x13[_0x223b[21]]];};ChatRoom[_0x223b[32]](_0x77b8x13[_0x223b[31]])[_0x223b[28]](function(_0x77b8x16){_0x77b8x14=_0x77b8x16;_0x77b8x16[_0x223b[30]](_0x77b8x13[_0x223b[29]],{individualHooks:true});})[_0x223b[28]](function(){_0x77b8x14[_0x223b[27]]({status:_0x223b[26]})})[_0x223b[25]](function(_0x77b8x15){console[_0x223b[24]](_0x77b8x15)});ReportChat[_0x223b[27]]({agentringnoanswerAt:moment()[_0x223b[34]](_0x223b[33]),reason:_0x223b[35],lastevent:_0x223b[35]},{where:{uniqueid:_0x77b8x13[_0x223b[21]],reason:null},individualHooks:true})[_0x223b[25]](function(_0x77b8x15){console[_0x223b[24]](_0x77b8x15)});ReportChatSession[_0x223b[27]]({chatleaveAt:moment()[_0x223b[34]](_0x223b[33]),agentid:_0x77b8x13[_0x223b[29]],fullname:_0x77b8x13[_0x223b[36]],membername:_0x77b8x13[_0x223b[37]],chatqueuename:_0x77b8x13[_0x223b[38]]},{where:{uniqueid:_0x77b8x13[_0x223b[21]]},individualHooks:true})[_0x223b[25]](function(_0x77b8x15){console[_0x223b[24]](_0x77b8x15)});};});ChatVisitor[_0x223b[40]](function(_0x77b8x13){onSave(_0x77b8x10,_0x77b8x13)});};function onSave(_0x77b8xf,_0x77b8x13,_0x77b8x18){_0x77b8xf[_0x223b[43]](_0x223b[17],_0x77b8x13[_0x223b[42]])[_0x223b[41]]()}function onProcess(_0x77b8x11,_0x77b8x12){ChatWebsite[_0x223b[32]](_0x77b8x11[_0x223b[49]].ChatWebsiteId,{include:[{model:ChatApplication,include:[{model:ChatQueue,include:[{model:User}]},{model:User},{model:Interval,include:[{all:true}]}]}]})[_0x223b[28]](function(ChatWebsite){if(!ChatWebsite){_0x77b8x12( new Error(_0x223b[44]));return ;};if(!ChatWebsite[_0x223b[46]][_0x223b[45]]){_0x77b8x12( new Error(_0x223b[47]));return ;};_0x77b8x11[_0x223b[49]][_0x223b[48]]=_0x77b8x11[_0x223b[49]][_0x223b[50]];var _0x77b8x1a=_[_0x223b[51]](_0x77b8x11[_0x223b[49]],ChatWebsite[_0x223b[42]]);ChatRoom[_0x223b[43]]({type:_0x223b[57],ChatVisitorId:_0x77b8x1a[_0x223b[48]],ChatWebsiteId:_0x77b8x1a[_0x223b[50]]},{include:[{all:true}]})[_0x223b[28]](function(_0x77b8x16){onReportSession({uniqueid:_0x77b8x1a[_0x223b[48]],chatroomid:_0x77b8x16[_0x223b[50]],visitorname:_0x77b8x1a[_0x223b[36]],visitoremail:_0x77b8x1a[_0x223b[52]],websitename:_0x77b8x1a[_0x223b[53]],websiteid:_0x77b8x1a[_0x223b[50]],websiteaddress:_0x77b8x1a[_0x223b[54]],chatjoinAt:moment()[_0x223b[34]](_0x223b[33])});_0x77b8x1a[_0x223b[46]]=_[_0x223b[56]](_0x77b8x1a.ChatApplications,_0x223b[55]);onInvite(_0x77b8x1a,0,0,0,0,_0x77b8x16,_0x77b8x12);})[_0x223b[25]](function(_0x77b8x15){console[_0x223b[24]](_0x77b8x15)});})[_0x223b[25]](function(_0x77b8x15){console[_0x223b[24]](_0x77b8x15)})}function onInvite(_0x77b8x1c,_0x77b8x1d,_0x77b8x1e,_0x77b8x1f,_0x77b8x20,_0x77b8x16,_0x77b8x12){console[_0x223b[62]](_0x223b[58],_0x223b[59],_0x77b8x1d,_0x223b[60],_0x77b8x1e,_0x223b[61],_0x77b8x1f);var _0x77b8x21=0;var _0x77b8x22;if(_0x77b8x1d===_0x77b8x1c[_0x223b[46]][_0x223b[45]]){console[_0x223b[24]](_0x223b[47]);onReportSession({uniqueid:_0x77b8x1c[_0x223b[48]],mailunmanagedAt:moment()[_0x223b[34]](_0x223b[33]),mailleaveAt:moment()[_0x223b[34]](_0x223b[33])});_0x77b8x12( new Error(_0x223b[47]));return ;};if(_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[9]]){var _0x77b8x23=_[_0x223b[64]](_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[9]].Users,{online:true})[_0x223b[63]];if(_0x77b8x23&&onInterval(_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[11]]?_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[11]]:_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[65]])){if(_0x77b8x1e===_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[9]][_0x223b[66]][_0x223b[45]]){if(_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[22]]>_0x77b8x1f){onInvite(_0x77b8x1c,_0x77b8x1d,0,_0x77b8x1f,_0x77b8x20,_0x77b8x16,_0x77b8x12);return ;}else {onInvite(_0x77b8x1c,++_0x77b8x1d,0,0,_0x77b8x20,_0x77b8x16,_0x77b8x12);return ;}};switch(_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[9]][_0x223b[81]]){case _0x223b[72]:if(_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[9]][_0x223b[66]][_0x77b8x1e][_0x223b[67]]&&onInterval(_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[11]]?_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[11]]:_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[65]])){_0x77b8x21=(((_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[22]]-_0x77b8x1f)>_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[9]][_0x223b[22]])?_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[9]][_0x223b[22]]:(_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[22]]-_0x77b8x1f));onReport({uniqueid:_0x77b8x1c[_0x223b[48]],chatroomid:_0x77b8x16[_0x223b[50]],visitorname:_0x77b8x1c[_0x223b[36]],visitoremail:_0x77b8x1c[_0x223b[52]],websitename:_0x77b8x1c[_0x223b[53]],websiteid:_0x77b8x1c[_0x223b[50]],websiteaddress:_0x77b8x1c[_0x223b[54]],sorting:_0x77b8x20,timeslot:_0x77b8x21,application:_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[68]],fullname:_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[9]][_0x223b[66]][_0x77b8x1e][_0x223b[36]],membername:_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[9]][_0x223b[66]][_0x77b8x1e][_0x223b[53]],agentid:_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[9]][_0x223b[66]][_0x77b8x1e][_0x223b[50]],chatqueuename:_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[9]][_0x223b[53]],lastevent:_0x223b[69],holdtime:_0x77b8x1f,agentcalledAt:moment()[_0x223b[34]](_0x223b[33])});console[_0x223b[62]](_0x223b[70],_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[9]][_0x223b[53]],_0x223b[71],_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[9]][_0x223b[66]][_0x77b8x1e][_0x223b[53]],_0x223b[22],_0x77b8x21,_0x223b[61],_0x77b8x1f);_0x77b8x22=setTimeout(function(){onReportUpdate({uniqueid:_0x77b8x1c[_0x223b[48]],count:_0x77b8x20,reason:_0x223b[22],lastevent:_0x223b[22],agentringnoanswerAt:moment()[_0x223b[34]](_0x223b[33])});_0x77b8x1f+=_0x77b8x21;onInvite(_0x77b8x1c,_0x77b8x1d,++_0x77b8x1e,_0x77b8x1f,++_0x77b8x20,_0x77b8x16,_0x77b8x12);return ;},_0x77b8x21*1000);if(!timeouts[_0x77b8x1c[_0x223b[48]]]){timeouts[_0x77b8x1c[_0x223b[48]]]={}};timeouts[_0x77b8x1c[_0x223b[48]]][_0x223b[22]]=_0x77b8x22;timeouts[_0x77b8x1c[_0x223b[48]]][_0x223b[23]]=_0x77b8x12;}else {onInvite(_0x77b8x1c,_0x77b8x1d,++_0x77b8x1e,_0x77b8x1f,_0x77b8x20,_0x77b8x16,_0x77b8x12);return ;};break ;;case _0x223b[79]:_0x77b8x21=(((_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[22]]-_0x77b8x1f)>_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[9]][_0x223b[22]])?_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[9]][_0x223b[22]]:(_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[22]]-_0x77b8x1f));var _0x77b8x24=[];_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[9]][_0x223b[66]][_0x223b[77]](function(_0x77b8x25){if(_0x77b8x25[_0x223b[67]]){_0x77b8x24[_0x223b[76]]({uniqueid:_0x77b8x1c[_0x223b[48]],chatroomid:_0x77b8x16[_0x223b[50]],sorting:_0x77b8x20,subject:_0x77b8x1c[_0x223b[73]],timeslot:_0x77b8x21,from:_0x77b8x1c[_0x223b[74]],attachment:_0x77b8x1c[_0x223b[75]],accountname:_0x77b8x1c[_0x223b[53]],accountaddress:_0x77b8x1c[_0x223b[54]],application:_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[68]],fullname:_0x77b8x25[_0x223b[36]],membername:_0x77b8x25[_0x223b[53]],agentid:_0x77b8x25[_0x223b[50]],chatqueuename:_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[9]][_0x223b[53]],lastevent:_0x223b[69],holdtime:_0x77b8x1f,agentcalledAt:moment()[_0x223b[34]](_0x223b[33]),visitorname:_0x77b8x1c[_0x223b[36]],visitoremail:_0x77b8x1c[_0x223b[52]],websitename:_0x77b8x1c[_0x223b[53]],websiteid:_0x77b8x1c[_0x223b[50]],websiteaddress:_0x77b8x1c[_0x223b[54]]})}});if(_0x77b8x24[_0x223b[45]]&&onInterval(_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[11]]?_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[11]]:_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[65]])){onReport(_0x77b8x24,true);_0x77b8x22=setTimeout(function(){console[_0x223b[62]](_0x223b[78],_0x77b8x20);onReportUpdate({uniqueid:_0x77b8x1c[_0x223b[48]],count:_0x77b8x20,reason:_0x223b[22],lastevent:_0x223b[22],agentringnoanswerAt:moment()[_0x223b[34]](_0x223b[33])});_0x77b8x1f+=_0x77b8x21;_0x77b8x1e+=_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[9]][_0x223b[66]][_0x223b[45]];onInvite(_0x77b8x1c,_0x77b8x1d,_0x77b8x1e,_0x77b8x1f,++_0x77b8x20,_0x77b8x16,_0x77b8x12);return ;},_0x77b8x21*1000);if(!timeouts[_0x77b8x1c[_0x223b[48]]]){timeouts[_0x77b8x1c[_0x223b[48]]]={}};timeouts[_0x77b8x1c[_0x223b[48]]][_0x223b[22]]=_0x77b8x22;timeouts[_0x77b8x1c[_0x223b[48]]][_0x223b[23]]=_0x77b8x12;}else {console[_0x223b[62]](_0x223b[70],_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[9]][_0x223b[53]],_0x223b[22],_0x77b8x21,_0x223b[61],_0x77b8x1f);onInvite(_0x77b8x1c,++_0x77b8x1d,0,0,_0x77b8x20,_0x77b8x16,_0x77b8x12);return ;};break ;;default:console[_0x223b[24]](_0x223b[80]);;};}else {onInvite(_0x77b8x1c,++_0x77b8x1d,0,0,_0x77b8x20,_0x77b8x16,_0x77b8x12);return ;};}else {_0x77b8x21=_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[22]];if(_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[14]][_0x223b[67]]&&onInterval(_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[11]]?_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[11]]:_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[65]])){onReport({uniqueid:_0x77b8x1c[_0x223b[48]],chatroomid:_0x77b8x16[_0x223b[50]],sorting:_0x77b8x20,subject:_0x77b8x1c[_0x223b[73]],timeslot:_0x77b8x21,from:_0x77b8x1c[_0x223b[74]],attachment:_0x77b8x1c[_0x223b[75]],accountname:_0x77b8x1c[_0x223b[53]],accountaddress:_0x77b8x1c[_0x223b[54]],application:_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[68]],fullname:_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[14]][_0x223b[36]],membername:_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[14]][_0x223b[53]],agentid:_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[14]][_0x223b[50]],lastevent:_0x223b[69],holdtime:_0x77b8x1f,agentcalledAt:moment()[_0x223b[34]](_0x223b[33]),visitorname:_0x77b8x1c[_0x223b[36]],visitoremail:_0x77b8x1c[_0x223b[52]],websitename:_0x77b8x1c[_0x223b[53]],websiteid:_0x77b8x1c[_0x223b[50]],websiteaddress:_0x77b8x1c[_0x223b[54]]});console[_0x223b[62]](_0x223b[71],_0x77b8x1c[_0x223b[46]][_0x77b8x1d][_0x223b[14]][_0x223b[53]],_0x223b[22],_0x77b8x21,_0x223b[61],_0x77b8x1f);_0x77b8x22=setTimeout(function(){onReportUpdate({uniqueid:_0x77b8x1c[_0x223b[48]],count:_0x77b8x20,reason:_0x223b[22],lastevent:_0x223b[22],agentringnoanswerAt:moment()[_0x223b[34]](_0x223b[33])});onInvite(_0x77b8x1c,++_0x77b8x1d,0,0,_0x77b8x20,_0x77b8x16,_0x77b8x12);return ;},_0x77b8x21*1000);if(!timeouts[_0x77b8x1c[_0x223b[48]]]){timeouts[_0x77b8x1c[_0x223b[48]]]={}};timeouts[_0x77b8x1c[_0x223b[48]]][_0x223b[22]]=_0x77b8x22;timeouts[_0x77b8x1c[_0x223b[48]]][_0x223b[23]]=_0x77b8x12;}else {onInvite(_0x77b8x1c,++_0x77b8x1d,0,0,++_0x77b8x20,_0x77b8x16,_0x77b8x12);return;};};}function onReport(_0x77b8x27,_0x77b8x28){if(_0x77b8x28){ReportChat[_0x223b[82]](_0x77b8x27,{individualHooks:true})[_0x223b[25]](function(_0x77b8x15){console[_0x223b[24]](_0x77b8x15)})}else {ReportChat[_0x223b[43]](_0x77b8x27)[_0x223b[25]](function(_0x77b8x15){console[_0x223b[24]](_0x77b8x15)})}}function onReportSession(_0x77b8x27){ReportChatSession[_0x223b[84]]({where:{uniqueid:_0x77b8x27[_0x223b[21]]},defaults:_0x77b8x27})[_0x223b[83]](function(ReportChatSession,_0x77b8x2a){if(!_0x77b8x2a){ReportChatSession[_0x223b[27]](_0x77b8x27,{individualHooks:true})[_0x223b[25]](function(_0x77b8x15){console[_0x223b[24]](_0x77b8x15)})}})}function onReportUpdate(_0x77b8x27){ReportChat[_0x223b[27]](_0x77b8x27,{where:{uniqueid:_0x77b8x27[_0x223b[21]],sorting:_0x77b8x27[_0x223b[78]]},individualHooks:true})[_0x223b[25]](function(_0x77b8x15){console[_0x223b[24]](_0x77b8x15)})}function onInterval(_0x77b8x2d){if(_[_0x223b[85]](_0x77b8x2d)){for(var _0x77b8x1d=0;_0x77b8x1d<_0x77b8x2d[_0x223b[86]][_0x223b[45]];_0x77b8x1d++){if(!onCheckInterval(_0x77b8x2d[_0x223b[86]][_0x77b8x1d][_0x223b[65]])){return false}};return true;}else {return onCheckInterval(_0x77b8x2d)}}function onCheckInterval(_0x77b8x2d){var _0x77b8x2f=[_0x223b[87],_0x223b[88],_0x223b[89],_0x223b[90],_0x223b[91],_0x223b[92],_0x223b[93]];var _0x77b8x30=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31];var _0x77b8x31=[_0x223b[94],_0x223b[95],_0x223b[96],_0x223b[97],_0x223b[98],_0x223b[99],_0x223b[100],_0x223b[101],_0x223b[102],_0x223b[103],_0x223b[104],_0x223b[105]];var _0x77b8x1d,_0x77b8x32;var _0x77b8x33=_0x77b8x2d[_0x223b[107]](_0x223b[106])[0];var _0x77b8x34=_0x77b8x2d[_0x223b[107]](_0x223b[106])[1];var _0x77b8x35=_0x77b8x2d[_0x223b[107]](_0x223b[106])[2];var _0x77b8x36=_0x77b8x2d[_0x223b[107]](_0x223b[106])[3];if(_0x77b8x33!==_0x223b[108]){var _0x77b8x37=moment()[_0x223b[34]](_0x223b[109]);var _0x77b8x38=_0x77b8x33[_0x223b[107]](_0x223b[110])[0];var _0x77b8x39=_0x77b8x33[_0x223b[107]](_0x223b[110])[1];if((_0x77b8x37<_0x77b8x38)||(_0x77b8x37>_0x77b8x39)){console[_0x223b[62]](_0x223b[111]);return false;};};if(_0x77b8x34!==_0x223b[108]){var _0x77b8x3a=_0x77b8x2f[moment()[_0x223b[112]]()];var _0x77b8x3b=_[_0x223b[113]](_0x77b8x2f,_0x77b8x34[_0x223b[107]](_0x223b[110])[0]);var _0x77b8x3c=_[_0x223b[113]](_0x77b8x2f,_0x77b8x34[_0x223b[107]](_0x223b[110])[1]);for(_0x77b8x1d=0;_0x77b8x1d<_0x77b8x3b;_0x77b8x1d++){_0x77b8x32=_0x77b8x2f[_0x223b[114]]();_0x77b8x2f[_0x223b[76]](_0x77b8x32);};_0x77b8x3b=_[_0x223b[113]](_0x77b8x2f,_0x77b8x34[_0x223b[107]](_0x223b[110])[0]);_0x77b8x3c=_[_0x223b[113]](_0x77b8x2f,_0x77b8x34[_0x223b[107]](_0x223b[110])[1])+1;_0x77b8x2f=_0x77b8x2f[_0x223b[115]](_0x77b8x3b,_0x77b8x3c);if(!_[_0x223b[116]](_0x77b8x2f,_0x77b8x3a)){console[_0x223b[62]](_0x223b[117]);return false;};};if(_0x77b8x35!==_0x223b[108]){var _0x77b8x3d=moment()[_0x223b[118]]();var _0x77b8x3e=_[_0x223b[113]](_0x77b8x30,parseInt(_0x77b8x35[_0x223b[107]](_0x223b[110])[0],10));var _0x77b8x3f=_[_0x223b[113]](_0x77b8x30,parseInt(_0x77b8x35[_0x223b[107]](_0x223b[110])[1]));for(_0x77b8x1d=0;_0x77b8x1d<_0x77b8x3e;_0x77b8x1d++){_0x77b8x32=_0x77b8x30[_0x223b[114]]();_0x77b8x30[_0x223b[76]](_0x77b8x32);};_0x77b8x3e=_[_0x223b[113]](_0x77b8x30,parseInt(_0x77b8x35[_0x223b[107]](_0x223b[110])[0],10));_0x77b8x3f=_[_0x223b[113]](_0x77b8x30,parseInt(_0x77b8x35[_0x223b[107]](_0x223b[110])[1]),10)+1;_0x77b8x30=_0x77b8x30[_0x223b[115]](_0x77b8x3e,_0x77b8x3f);if(!_[_0x223b[116]](_0x77b8x30,_0x77b8x3d)){console[_0x223b[62]](_0x223b[119]);return false;};};if(_0x77b8x36!==_0x223b[108]){var _0x77b8x40=_0x77b8x31[moment()[_0x223b[120]]()];var _0x77b8x41=_[_0x223b[113]](_0x77b8x31,_0x77b8x36[_0x223b[107]](_0x223b[110])[0]);var _0x77b8x42=_[_0x223b[113]](_0x77b8x31,_0x77b8x36[_0x223b[107]](_0x223b[110])[1]);for(_0x77b8x1d=0;_0x77b8x1d<_0x77b8x41;_0x77b8x1d++){_0x77b8x32=_0x77b8x31[_0x223b[114]]();_0x77b8x31[_0x223b[76]](_0x77b8x32);};_0x77b8x41=_[_0x223b[113]](_0x77b8x31,_0x77b8x36[_0x223b[107]](_0x223b[110])[0]);_0x77b8x42=_[_0x223b[113]](_0x77b8x31,_0x77b8x36[_0x223b[107]](_0x223b[110])[1])+1;_0x77b8x31=_0x77b8x31[_0x223b[115]](_0x77b8x41,_0x77b8x42);if(!_[_0x223b[116]](_0x77b8x31,_0x77b8x40)){console[_0x223b[62]](_0x223b[121]);return false;};};console[_0x223b[62]](_0x223b[122]);return true;}
\ No newline at end of file
+var _0xb326=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x6F\x6D\x65\x6E\x74","\x6D\x64\x35","\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x43\x68\x61\x74\x4D\x65\x73\x73\x61\x67\x65","\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74\x53\x65\x73\x73\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74","\x55\x73\x65\x72","\x65\x78\x70\x6F\x72\x74\x73","\x63\x72\x65\x61\x74\x65\x51\x75\x65\x75\x65","\x63\x68\x61\x74","\x70\x72\x6F\x63\x65\x73\x73","\x61\x67\x65\x6E\x74\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64\x41\x74","\x63\x68\x61\x6E\x67\x65\x64","\x75\x6E\x69\x71\x75\x65\x69\x64","\x74\x69\x6D\x65\x6F\x75\x74","\x64\x6F\x6E\x65","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x6F\x70\x65\x6E","\x75\x70\x64\x61\x74\x65","\x74\x68\x65\x6E","\x61\x67\x65\x6E\x74\x69\x64","\x61\x64\x64\x55\x73\x65\x72","\x63\x68\x61\x74\x72\x6F\x6F\x6D\x69\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x61\x6E\x73\x77\x65\x72\x65\x64\x5F\x65\x6C\x73\x65\x77\x68\x65\x72\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x63\x68\x61\x74\x71\x75\x65\x75\x65\x6E\x61\x6D\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x73\x61\x76\x65","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x63\x72\x65\x61\x74\x65","\x4E\x6F\x20\x41\x76\x61\x69\x6C\x61\x62\x6C\x65\x20\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73\x2E\x2E","\x6C\x65\x6E\x67\x74\x68","\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x44\x69\x61\x6C\x50\x6C\x61\x6E\x20\x65\x6E\x64\x65\x64\x2E\x2E","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72\x49\x64","\x64\x61\x74\x61","\x69\x64","\x6D\x65\x72\x67\x65","\x65\x6D\x61\x69\x6C","\x6E\x61\x6D\x65","\x61\x64\x64\x72\x65\x73\x73","\x70\x72\x69\x6F\x72\x69\x74\x79","\x73\x6F\x72\x74\x42\x79","\x65\x78\x74\x65\x72\x6E\x61\x6C","\x69\x6E\x76\x69\x74\x65","\x69","\x6A","\x68\x6F\x6C\x64\x74\x69\x6D\x65","\x6C\x6F\x67","\x74\x72\x75\x65","\x63\x6F\x75\x6E\x74\x42\x79","\x69\x6E\x74\x65\x72\x76\x61\x6C","\x55\x73\x65\x72\x73","\x6F\x6E\x6C\x69\x6E\x65","\x61\x70\x70","\x63\x61\x6C\x6C\x65\x64","\x71\x75\x65\x75\x65","\x61\x67\x65\x6E\x74","\x72\x72\x6D\x65\x6D\x6F\x72\x79","\x73\x75\x62\x6A\x65\x63\x74","\x66\x72\x6F\x6D","\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x63\x6F\x75\x6E\x74","\x62\x65\x65\x70\x61\x6C\x6C","\x55\x6E\x6B\x6E\x6F\x77\x6E\x20\x73\x74\x72\x61\x74\x65\x67\x79","\x73\x74\x72\x61\x74\x65\x67\x79","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x73\x70\x72\x65\x61\x64","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x69\x73\x4F\x62\x6A\x65\x63\x74","\x53\x75\x62\x49\x6E\x74\x65\x72\x76\x61\x6C\x73","\x73\x75\x6E","\x6D\x6F\x6E","\x74\x75\x65","\x77\x65\x64","\x74\x68\x75","\x66\x72\x69","\x73\x61\x74","\x6A\x61\x6E","\x66\x65\x62","\x6D\x61\x72","\x61\x70\x72","\x6D\x61\x79","\x6A\x75\x6E","\x6A\x75\x6C","\x61\x75\x67","\x73\x65\x70","\x6F\x63\x74","\x6E\x6F\x76","\x64\x65\x63","\x2C","\x73\x70\x6C\x69\x74","\x2A","\x48\x48\x3A\x6D\x6D","\x2D","\x54\x52\x41\x4E\x47\x45\x20\x4B\x4F","\x64\x61\x79","\x69\x6E\x64\x65\x78\x4F\x66","\x73\x68\x69\x66\x74","\x73\x6C\x69\x63\x65","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x44\x57\x52\x41\x4E\x47\x45\x20\x4B\x4F","\x64\x61\x74\x65","\x44\x4D\x52\x41\x4E\x47\x45\x20\x4B\x4F","\x6D\x6F\x6E\x74\x68","\x4D\x52\x41\x4E\x47\x45\x20\x4B\x4F","\x49\x4E\x54\x45\x52\x56\x41\x4C\x20\x4F\x4B"];_0xb326[0];var _=require(_0xb326[1]);var moment=require(_0xb326[2]);var md5=require(_0xb326[3]);var ChatApplication=require(_0xb326[5])[_0xb326[4]];var ChatWebsite=require(_0xb326[5])[_0xb326[6]];var ChatVisitor=require(_0xb326[5])[_0xb326[7]];var ChatMessage=require(_0xb326[5])[_0xb326[8]];var ChatQueue=require(_0xb326[5])[_0xb326[9]];var ChatRoom=require(_0xb326[5])[_0xb326[10]];var Interval=require(_0xb326[5])[_0xb326[11]];var ReportChatSession=require(_0xb326[5])[_0xb326[12]];var ReportChat=require(_0xb326[5])[_0xb326[13]];var User=require(_0xb326[5])[_0xb326[14]];var timeouts={};module[_0xb326[15]]=function(_0xb579xf){var _0xb579x10=_0xb579xf[_0xb326[16]]();_0xb579x10[_0xb326[18]](_0xb326[17],20,function(_0xb579x11,_0xb579x12){onProcess(_0xb579x11,_0xb579x12)});ReportChat[_0xb326[39]](function(_0xb579x13){var _0xb579x14;if(_0xb579x13[_0xb326[20]](_0xb326[19])){if(timeouts[_0xb579x13[_0xb326[21]]]){clearTimeout(timeouts[_0xb579x13[_0xb326[21]]][_0xb326[22]]);timeouts[_0xb579x13[_0xb326[21]]][_0xb326[23]]();delete timeouts[_0xb579x13[_0xb326[21]]];};ChatRoom[_0xb326[32]](_0xb579x13[_0xb326[31]])[_0xb326[28]](function(_0xb579x16){_0xb579x14=_0xb579x16;_0xb579x16[_0xb326[30]](_0xb579x13[_0xb326[29]],{individualHooks:true});})[_0xb326[28]](function(){_0xb579x14[_0xb326[27]]({status:_0xb326[26]})})[_0xb326[25]](function(_0xb579x15){console[_0xb326[24]](_0xb579x15)});ReportChat[_0xb326[27]]({agentringnoanswerAt:moment()[_0xb326[34]](_0xb326[33]),reason:_0xb326[35],lastevent:_0xb326[35]},{where:{uniqueid:_0xb579x13[_0xb326[21]],reason:null},individualHooks:true})[_0xb326[25]](function(_0xb579x15){console[_0xb326[24]](_0xb579x15)});ReportChatSession[_0xb326[27]]({chatleaveAt:moment()[_0xb326[34]](_0xb326[33]),agentid:_0xb579x13[_0xb326[29]],fullname:_0xb579x13[_0xb326[36]],membername:_0xb579x13[_0xb326[37]],chatqueuename:_0xb579x13[_0xb326[38]]},{where:{uniqueid:_0xb579x13[_0xb326[21]]},individualHooks:true})[_0xb326[25]](function(_0xb579x15){console[_0xb326[24]](_0xb579x15)});};});ChatVisitor[_0xb326[40]](function(_0xb579x13){onSave(_0xb579x10,_0xb579x13)});};function onSave(_0xb579xf,_0xb579x13,_0xb579x18){_0xb579xf[_0xb326[43]](_0xb326[17],_0xb579x13[_0xb326[42]])[_0xb326[41]]()}function onProcess(_0xb579x11,_0xb579x12){ChatWebsite[_0xb326[32]](_0xb579x11[_0xb326[49]].ChatWebsiteId,{include:[{model:ChatApplication,include:[{model:ChatQueue,include:[{model:User}]},{model:User},{model:Interval,include:[{all:true}]}]}]})[_0xb326[28]](function(ChatWebsite){if(!ChatWebsite){_0xb579x12( new Error(_0xb326[44]));return ;};if(!ChatWebsite[_0xb326[46]][_0xb326[45]]){_0xb579x12( new Error(_0xb326[47]));return ;};_0xb579x11[_0xb326[49]][_0xb326[48]]=_0xb579x11[_0xb326[49]][_0xb326[50]];var _0xb579x1a=_[_0xb326[51]](_0xb579x11[_0xb326[49]],ChatWebsite[_0xb326[42]]);ChatRoom[_0xb326[43]]({type:_0xb326[57],ChatVisitorId:_0xb579x1a[_0xb326[48]],ChatWebsiteId:_0xb579x1a[_0xb326[50]]},{include:[{all:true}]})[_0xb326[28]](function(_0xb579x16){onReportSession({uniqueid:_0xb579x1a[_0xb326[48]],chatroomid:_0xb579x16[_0xb326[50]],visitorname:_0xb579x1a[_0xb326[36]],visitoremail:_0xb579x1a[_0xb326[52]],websitename:_0xb579x1a[_0xb326[53]],websiteid:_0xb579x1a[_0xb326[50]],websiteaddress:_0xb579x1a[_0xb326[54]],chatjoinAt:moment()[_0xb326[34]](_0xb326[33])});_0xb579x1a[_0xb326[46]]=_[_0xb326[56]](_0xb579x1a.ChatApplications,_0xb326[55]);onInvite(_0xb579x1a,0,0,0,0,_0xb579x16,_0xb579x12);})[_0xb326[25]](function(_0xb579x15){console[_0xb326[24]](_0xb579x15)});})[_0xb326[25]](function(_0xb579x15){console[_0xb326[24]](_0xb579x15)})}function onInvite(_0xb579x1c,_0xb579x1d,_0xb579x1e,_0xb579x1f,_0xb579x20,_0xb579x16,_0xb579x12){console[_0xb326[62]](_0xb326[58],_0xb326[59],_0xb579x1d,_0xb326[60],_0xb579x1e,_0xb326[61],_0xb579x1f);var _0xb579x21=0;var _0xb579x22;if(_0xb579x1d===_0xb579x1c[_0xb326[46]][_0xb326[45]]){console[_0xb326[24]](_0xb326[47]);onReportSession({uniqueid:_0xb579x1c[_0xb326[48]],mailunmanagedAt:moment()[_0xb326[34]](_0xb326[33]),mailleaveAt:moment()[_0xb326[34]](_0xb326[33])});_0xb579x12( new Error(_0xb326[47]));return ;};if(_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[9]]){var _0xb579x23=_[_0xb326[64]](_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[9]].Users,{online:true})[_0xb326[63]];if(_0xb579x23&&onInterval(_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[11]]?_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[11]]:_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[65]])){if(_0xb579x1e===_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[9]][_0xb326[66]][_0xb326[45]]){if(_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[22]]>_0xb579x1f){onInvite(_0xb579x1c,_0xb579x1d,0,_0xb579x1f,_0xb579x20,_0xb579x16,_0xb579x12);return ;}else {onInvite(_0xb579x1c,++_0xb579x1d,0,0,_0xb579x20,_0xb579x16,_0xb579x12);return ;}};switch(_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[9]][_0xb326[81]]){case _0xb326[72]:if(_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[9]][_0xb326[66]][_0xb579x1e][_0xb326[67]]&&onInterval(_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[11]]?_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[11]]:_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[65]])){_0xb579x21=(((_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[22]]-_0xb579x1f)>_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[9]][_0xb326[22]])?_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[9]][_0xb326[22]]:(_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[22]]-_0xb579x1f));onReport({uniqueid:_0xb579x1c[_0xb326[48]],chatroomid:_0xb579x16[_0xb326[50]],visitorname:_0xb579x1c[_0xb326[36]],visitoremail:_0xb579x1c[_0xb326[52]],websitename:_0xb579x1c[_0xb326[53]],websiteid:_0xb579x1c[_0xb326[50]],websiteaddress:_0xb579x1c[_0xb326[54]],sorting:_0xb579x20,timeslot:_0xb579x21,application:_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[68]],fullname:_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[9]][_0xb326[66]][_0xb579x1e][_0xb326[36]],membername:_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[9]][_0xb326[66]][_0xb579x1e][_0xb326[53]],agentid:_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[9]][_0xb326[66]][_0xb579x1e][_0xb326[50]],chatqueuename:_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[9]][_0xb326[53]],lastevent:_0xb326[69],holdtime:_0xb579x1f,agentcalledAt:moment()[_0xb326[34]](_0xb326[33])});console[_0xb326[62]](_0xb326[70],_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[9]][_0xb326[53]],_0xb326[71],_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[9]][_0xb326[66]][_0xb579x1e][_0xb326[53]],_0xb326[22],_0xb579x21,_0xb326[61],_0xb579x1f);_0xb579x22=setTimeout(function(){onReportUpdate({uniqueid:_0xb579x1c[_0xb326[48]],count:_0xb579x20,reason:_0xb326[22],lastevent:_0xb326[22],agentringnoanswerAt:moment()[_0xb326[34]](_0xb326[33])});_0xb579x1f+=_0xb579x21;onInvite(_0xb579x1c,_0xb579x1d,++_0xb579x1e,_0xb579x1f,++_0xb579x20,_0xb579x16,_0xb579x12);return ;},_0xb579x21*1000);if(!timeouts[_0xb579x1c[_0xb326[48]]]){timeouts[_0xb579x1c[_0xb326[48]]]={}};timeouts[_0xb579x1c[_0xb326[48]]][_0xb326[22]]=_0xb579x22;timeouts[_0xb579x1c[_0xb326[48]]][_0xb326[23]]=_0xb579x12;}else {onInvite(_0xb579x1c,_0xb579x1d,++_0xb579x1e,_0xb579x1f,_0xb579x20,_0xb579x16,_0xb579x12);return ;};break ;;case _0xb326[79]:_0xb579x21=(((_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[22]]-_0xb579x1f)>_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[9]][_0xb326[22]])?_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[9]][_0xb326[22]]:(_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[22]]-_0xb579x1f));var _0xb579x24=[];_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[9]][_0xb326[66]][_0xb326[77]](function(_0xb579x25){if(_0xb579x25[_0xb326[67]]){_0xb579x24[_0xb326[76]]({uniqueid:_0xb579x1c[_0xb326[48]],chatroomid:_0xb579x16[_0xb326[50]],sorting:_0xb579x20,subject:_0xb579x1c[_0xb326[73]],timeslot:_0xb579x21,from:_0xb579x1c[_0xb326[74]],attachment:_0xb579x1c[_0xb326[75]],accountname:_0xb579x1c[_0xb326[53]],accountaddress:_0xb579x1c[_0xb326[54]],application:_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[68]],fullname:_0xb579x25[_0xb326[36]],membername:_0xb579x25[_0xb326[53]],agentid:_0xb579x25[_0xb326[50]],chatqueuename:_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[9]][_0xb326[53]],lastevent:_0xb326[69],holdtime:_0xb579x1f,agentcalledAt:moment()[_0xb326[34]](_0xb326[33]),visitorname:_0xb579x1c[_0xb326[36]],visitoremail:_0xb579x1c[_0xb326[52]],websitename:_0xb579x1c[_0xb326[53]],websiteid:_0xb579x1c[_0xb326[50]],websiteaddress:_0xb579x1c[_0xb326[54]]})}});if(_0xb579x24[_0xb326[45]]&&onInterval(_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[11]]?_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[11]]:_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[65]])){onReport(_0xb579x24,true);_0xb579x22=setTimeout(function(){console[_0xb326[62]](_0xb326[78],_0xb579x20);onReportUpdate({uniqueid:_0xb579x1c[_0xb326[48]],count:_0xb579x20,reason:_0xb326[22],lastevent:_0xb326[22],agentringnoanswerAt:moment()[_0xb326[34]](_0xb326[33])});_0xb579x1f+=_0xb579x21;_0xb579x1e+=_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[9]][_0xb326[66]][_0xb326[45]];onInvite(_0xb579x1c,_0xb579x1d,_0xb579x1e,_0xb579x1f,++_0xb579x20,_0xb579x16,_0xb579x12);return ;},_0xb579x21*1000);if(!timeouts[_0xb579x1c[_0xb326[48]]]){timeouts[_0xb579x1c[_0xb326[48]]]={}};timeouts[_0xb579x1c[_0xb326[48]]][_0xb326[22]]=_0xb579x22;timeouts[_0xb579x1c[_0xb326[48]]][_0xb326[23]]=_0xb579x12;}else {console[_0xb326[62]](_0xb326[70],_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[9]][_0xb326[53]],_0xb326[22],_0xb579x21,_0xb326[61],_0xb579x1f);onInvite(_0xb579x1c,++_0xb579x1d,0,0,_0xb579x20,_0xb579x16,_0xb579x12);return ;};break ;;default:console[_0xb326[24]](_0xb326[80]);;};}else {onInvite(_0xb579x1c,++_0xb579x1d,0,0,_0xb579x20,_0xb579x16,_0xb579x12);return ;};}else {_0xb579x21=_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[22]];if(_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[14]][_0xb326[67]]&&onInterval(_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[11]]?_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[11]]:_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[65]])){onReport({uniqueid:_0xb579x1c[_0xb326[48]],chatroomid:_0xb579x16[_0xb326[50]],sorting:_0xb579x20,subject:_0xb579x1c[_0xb326[73]],timeslot:_0xb579x21,from:_0xb579x1c[_0xb326[74]],attachment:_0xb579x1c[_0xb326[75]],accountname:_0xb579x1c[_0xb326[53]],accountaddress:_0xb579x1c[_0xb326[54]],application:_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[68]],fullname:_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[14]][_0xb326[36]],membername:_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[14]][_0xb326[53]],agentid:_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[14]][_0xb326[50]],lastevent:_0xb326[69],holdtime:_0xb579x1f,agentcalledAt:moment()[_0xb326[34]](_0xb326[33]),visitorname:_0xb579x1c[_0xb326[36]],visitoremail:_0xb579x1c[_0xb326[52]],websitename:_0xb579x1c[_0xb326[53]],websiteid:_0xb579x1c[_0xb326[50]],websiteaddress:_0xb579x1c[_0xb326[54]]});console[_0xb326[62]](_0xb326[71],_0xb579x1c[_0xb326[46]][_0xb579x1d][_0xb326[14]][_0xb326[53]],_0xb326[22],_0xb579x21,_0xb326[61],_0xb579x1f);_0xb579x22=setTimeout(function(){onReportUpdate({uniqueid:_0xb579x1c[_0xb326[48]],count:_0xb579x20,reason:_0xb326[22],lastevent:_0xb326[22],agentringnoanswerAt:moment()[_0xb326[34]](_0xb326[33])});onInvite(_0xb579x1c,++_0xb579x1d,0,0,_0xb579x20,_0xb579x16,_0xb579x12);return ;},_0xb579x21*1000);if(!timeouts[_0xb579x1c[_0xb326[48]]]){timeouts[_0xb579x1c[_0xb326[48]]]={}};timeouts[_0xb579x1c[_0xb326[48]]][_0xb326[22]]=_0xb579x22;timeouts[_0xb579x1c[_0xb326[48]]][_0xb326[23]]=_0xb579x12;}else {onInvite(_0xb579x1c,++_0xb579x1d,0,0,++_0xb579x20,_0xb579x16,_0xb579x12);return;};};}function onReport(_0xb579x27,_0xb579x28){if(_0xb579x28){ReportChat[_0xb326[82]](_0xb579x27,{individualHooks:true})[_0xb326[25]](function(_0xb579x15){console[_0xb326[24]](_0xb579x15)})}else {ReportChat[_0xb326[43]](_0xb579x27)[_0xb326[25]](function(_0xb579x15){console[_0xb326[24]](_0xb579x15)})}}function onReportSession(_0xb579x27){ReportChatSession[_0xb326[84]]({where:{uniqueid:_0xb579x27[_0xb326[21]]},defaults:_0xb579x27})[_0xb326[83]](function(ReportChatSession,_0xb579x2a){if(!_0xb579x2a){ReportChatSession[_0xb326[27]](_0xb579x27,{individualHooks:true})[_0xb326[25]](function(_0xb579x15){console[_0xb326[24]](_0xb579x15)})}})}function onReportUpdate(_0xb579x27){ReportChat[_0xb326[27]](_0xb579x27,{where:{uniqueid:_0xb579x27[_0xb326[21]],sorting:_0xb579x27[_0xb326[78]]},individualHooks:true})[_0xb326[25]](function(_0xb579x15){console[_0xb326[24]](_0xb579x15)})}function onInterval(_0xb579x2d){if(_[_0xb326[85]](_0xb579x2d)){for(var _0xb579x1d=0;_0xb579x1d<_0xb579x2d[_0xb326[86]][_0xb326[45]];_0xb579x1d++){if(!onCheckInterval(_0xb579x2d[_0xb326[86]][_0xb579x1d][_0xb326[65]])){return false}};return true;}else {return onCheckInterval(_0xb579x2d)}}function onCheckInterval(_0xb579x2d){var _0xb579x2f=[_0xb326[87],_0xb326[88],_0xb326[89],_0xb326[90],_0xb326[91],_0xb326[92],_0xb326[93]];var _0xb579x30=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31];var _0xb579x31=[_0xb326[94],_0xb326[95],_0xb326[96],_0xb326[97],_0xb326[98],_0xb326[99],_0xb326[100],_0xb326[101],_0xb326[102],_0xb326[103],_0xb326[104],_0xb326[105]];var _0xb579x1d,_0xb579x32;var _0xb579x33=_0xb579x2d[_0xb326[107]](_0xb326[106])[0];var _0xb579x34=_0xb579x2d[_0xb326[107]](_0xb326[106])[1];var _0xb579x35=_0xb579x2d[_0xb326[107]](_0xb326[106])[2];var _0xb579x36=_0xb579x2d[_0xb326[107]](_0xb326[106])[3];if(_0xb579x33!==_0xb326[108]){var _0xb579x37=moment()[_0xb326[34]](_0xb326[109]);var _0xb579x38=_0xb579x33[_0xb326[107]](_0xb326[110])[0];var _0xb579x39=_0xb579x33[_0xb326[107]](_0xb326[110])[1];if((_0xb579x37<_0xb579x38)||(_0xb579x37>_0xb579x39)){console[_0xb326[62]](_0xb326[111]);return false;};};if(_0xb579x34!==_0xb326[108]){var _0xb579x3a=_0xb579x2f[moment()[_0xb326[112]]()];var _0xb579x3b=_[_0xb326[113]](_0xb579x2f,_0xb579x34[_0xb326[107]](_0xb326[110])[0]);var _0xb579x3c=_[_0xb326[113]](_0xb579x2f,_0xb579x34[_0xb326[107]](_0xb326[110])[1]);for(_0xb579x1d=0;_0xb579x1d<_0xb579x3b;_0xb579x1d++){_0xb579x32=_0xb579x2f[_0xb326[114]]();_0xb579x2f[_0xb326[76]](_0xb579x32);};_0xb579x3b=_[_0xb326[113]](_0xb579x2f,_0xb579x34[_0xb326[107]](_0xb326[110])[0]);_0xb579x3c=_[_0xb326[113]](_0xb579x2f,_0xb579x34[_0xb326[107]](_0xb326[110])[1])+1;_0xb579x2f=_0xb579x2f[_0xb326[115]](_0xb579x3b,_0xb579x3c);if(!_[_0xb326[116]](_0xb579x2f,_0xb579x3a)){console[_0xb326[62]](_0xb326[117]);return false;};};if(_0xb579x35!==_0xb326[108]){var _0xb579x3d=moment()[_0xb326[118]]();var _0xb579x3e=_[_0xb326[113]](_0xb579x30,parseInt(_0xb579x35[_0xb326[107]](_0xb326[110])[0],10));var _0xb579x3f=_[_0xb326[113]](_0xb579x30,parseInt(_0xb579x35[_0xb326[107]](_0xb326[110])[1]));for(_0xb579x1d=0;_0xb579x1d<_0xb579x3e;_0xb579x1d++){_0xb579x32=_0xb579x30[_0xb326[114]]();_0xb579x30[_0xb326[76]](_0xb579x32);};_0xb579x3e=_[_0xb326[113]](_0xb579x30,parseInt(_0xb579x35[_0xb326[107]](_0xb326[110])[0],10));_0xb579x3f=_[_0xb326[113]](_0xb579x30,parseInt(_0xb579x35[_0xb326[107]](_0xb326[110])[1]),10)+1;_0xb579x30=_0xb579x30[_0xb326[115]](_0xb579x3e,_0xb579x3f);if(!_[_0xb326[116]](_0xb579x30,_0xb579x3d)){console[_0xb326[62]](_0xb326[119]);return false;};};if(_0xb579x36!==_0xb326[108]){var _0xb579x40=_0xb579x31[moment()[_0xb326[120]]()];var _0xb579x41=_[_0xb326[113]](_0xb579x31,_0xb579x36[_0xb326[107]](_0xb326[110])[0]);var _0xb579x42=_[_0xb326[113]](_0xb579x31,_0xb579x36[_0xb326[107]](_0xb326[110])[1]);for(_0xb579x1d=0;_0xb579x1d<_0xb579x41;_0xb579x1d++){_0xb579x32=_0xb579x31[_0xb326[114]]();_0xb579x31[_0xb326[76]](_0xb579x32);};_0xb579x41=_[_0xb326[113]](_0xb579x31,_0xb579x36[_0xb326[107]](_0xb326[110])[0]);_0xb579x42=_[_0xb326[113]](_0xb579x31,_0xb579x36[_0xb326[107]](_0xb326[110])[1])+1;_0xb579x31=_0xb579x31[_0xb326[115]](_0xb579x41,_0xb579x42);if(!_[_0xb326[116]](_0xb579x31,_0xb579x40)){console[_0xb326[62]](_0xb326[121]);return false;};};console[_0xb326[62]](_0xb326[122]);return true;}
\ No newline at end of file
index c6e726bd671af45110aeab64a9aa128a2134a5c0..73aacbcc759bbd23702b7265ec13deb5af83f7ed 100644 (file)
@@ -1 +1 @@
-var _0xa5ca=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x61\x73\x79\x6E\x63","\x55\x73\x65\x72","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x45\x76\x65\x6E\x74","\x46\x61\x78\x51\x75\x65\x75\x65","\x6C\x65\x6E\x67\x74\x68","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x55\x4E\x41\x53\x53\x49\x47\x4E\x45\x44","\x46\x41\x58","\x72\x6F\x6F\x6D\x49\x64","\x61\x63\x63\x6F\x75\x6E\x74\x49\x64","\x70\x75\x73\x68","\x44\x69\x61\x6C\x50\x6C\x61\x6E\x20\x65\x6E\x64\x65\x64\x2E\x2E","\x74\x69\x6D\x65\x6F\x75\x74","\x41\x54\x54\x45\x4D\x50\x54","\x69\x64","\x75\x73\x65\x72\x73","\x72\x72\x6D\x65\x6D\x6F\x72\x79","\x66\x6F\x72\x45\x61\x63\x68","\x62\x65\x65\x70\x61\x6C\x6C","\x53\x74\x72\x61\x74\x65\x67\x79\x20\x75\x6E\x6B\x6E\x6F\x77\x6E\x2E\x2E","\x6C\x6F\x67","\x73\x74\x72\x61\x74\x65\x67\x79","\x46\x41\x58\x3A\x51\x55\x45\x55\x45\x3A","\x41\x53\x53\x49\x47\x4E\x45\x44","\x46\x41\x58\x3A\x41\x47\x45\x4E\x54\x3A","\x75\x73\x65\x72\x49\x64","\x64\x61\x74\x61","\x61\x67\x65\x6E\x74","\x55\x73\x65\x72\x73","\x71\x75\x65\x75\x65","\x61\x70\x70","\x77\x61\x74\x65\x72\x66\x61\x6C\x6C","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73","\x63\x72\x65\x61\x74\x65\x51\x75\x65\x75\x65","\x66\x61\x78","\x70\x72\x6F\x63\x65\x73\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x2F\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x2E\x6B\x75\x65","\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E","\x71\x75\x65\x72\x79","\x68\x61\x6E\x64\x73\x68\x61\x6B\x65","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x6F\x6E"];_0xa5ca[0];var _=require(_0xa5ca[1]);var config=require(_0xa5ca[2]);var async=require(_0xa5ca[3]);var sockets={};var User=require(_0xa5ca[5])[_0xa5ca[4]];var Event=require(_0xa5ca[5])[_0xa5ca[6]];var FaxQueue=require(_0xa5ca[5])[_0xa5ca[7]];function invite(_0x2068x9,_0x2068xa,_0x2068xb,_0x2068xc,_0x2068xd){var _0x2068xe=0;var _0x2068xf=0;var _0x2068x10=[];var _0x2068x11=[];if(_0x2068xa===_0x2068x9[_0xa5ca[9]][_0xa5ca[8]]){_0x2068x10[_0xa5ca[14]]({name:_0xa5ca[10],channel:_0xa5ca[11],FaxRoomId:_0x2068x9[_0xa5ca[12]],FaxAccountId:_0x2068x9[_0xa5ca[13]]});traceEvent(_0x2068x10,function(){});_0x2068xd( new Error(_0xa5ca[15]));return ;};if(_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]]){_0x2068xf=(((_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[16]]-_0x2068xe)>_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]][_0xa5ca[16]])?_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]][_0xa5ca[16]]:(_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[16]]-_0x2068xe));switch(_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]][_0xa5ca[25]]){case _0xa5ca[20]:_0x2068x10[_0xa5ca[14]]({name:_0xa5ca[17],channel:_0xa5ca[11],timeout:_0x2068xf,UserId:_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[19]][_0x2068xb][_0xa5ca[18]],FaxRoomId:_0x2068x9[_0xa5ca[12]],FaxQueueId:_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]]?_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]][_0xa5ca[18]]:null,FaxAccountId:_0x2068x9[_0xa5ca[13]],FaxApplicationId:_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[18]]});_0x2068x11[_0xa5ca[14]](_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[19]][_0x2068xb][_0xa5ca[18]]);break ;;case _0xa5ca[22]:_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[19]][_0xa5ca[21]](function(_0x2068x12){var _0x2068x13={name:_0xa5ca[17],channel:_0xa5ca[11],timeout:_0x2068xf,UserId:_0x2068x12[_0xa5ca[18]],FaxRoomId:_0x2068x9[_0xa5ca[12]],FaxQueueId:_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]]?_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]][_0xa5ca[18]]:null,FaxAccountId:_0x2068x9[_0xa5ca[13]],FaxApplicationId:_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[18]]};_0x2068x10[_0xa5ca[14]](_0x2068x13);_0x2068x11[_0xa5ca[14]](_0x2068x12[_0xa5ca[18]]);});break ;;default:console[_0xa5ca[24]](_0xa5ca[23]);;};traceEvent(_0x2068x10,function(){emitEvent(_0x2068x11,_0xa5ca[26]+_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]][_0xa5ca[18]],{timeout:_0x2068xf,roomId:_0x2068x9[_0xa5ca[12]]},function(_0x2068x14){clearInterval(_0x2068x15);clearTimeout(_0x2068x16);var _0x2068x10=[{name:_0xa5ca[27],channel:_0xa5ca[11],timeout:_0x2068xf,UserId:_0x2068x14,FaxRoomId:_0x2068x9[_0xa5ca[12]],FaxQueueId:_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]]?_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]][_0xa5ca[18]]:null,FaxAccountId:_0x2068x9[_0xa5ca[13]],FaxApplicationId:_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[18]]}];traceEvent(_0x2068x10,function(){_0x2068xd()});})});}else {_0x2068xf=_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[16]];_0x2068x11[_0xa5ca[14]](_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[19]][_0x2068xb][_0xa5ca[18]]);_0x2068x10=[{name:_0xa5ca[17],channel:_0xa5ca[11],timeout:_0x2068xf,UserId:_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[19]][_0x2068xb][_0xa5ca[18]],FaxRoomId:_0x2068x9[_0xa5ca[12]],FaxQueueId:_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]]?_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]][_0xa5ca[18]]:null,FaxAccountId:_0x2068x9[_0xa5ca[13]],FaxApplicationId:_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[18]]}];traceEvent(_0x2068x10,function(){emitEvent(_0x2068x11,_0xa5ca[28]+_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[19]][_0x2068xb][_0xa5ca[18]],{timeout:_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[16]],roomId:_0x2068x9[_0xa5ca[12]]},function(_0x2068x14){clearInterval(_0x2068x15);clearTimeout(_0x2068x16);var _0x2068x10=[{name:_0xa5ca[27],channel:_0xa5ca[11],timeout:_0x2068xf,UserId:_0x2068x14,FaxRoomId:_0x2068x9[_0xa5ca[12]],FaxQueueId:_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]]?_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]][_0xa5ca[18]]:null,FaxAccountId:_0x2068x9[_0xa5ca[13]],FaxApplicationId:_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[18]]}];traceEvent(_0x2068x10,function(){_0x2068xd()});})});};var _0x2068x15=setInterval(function(){var _0x2068xf=0;_0x2068xb++;if(_0x2068xb===_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[19]][_0xa5ca[8]]){_0x2068xb=0};if(_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]]){_0x2068xe+=_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]][_0xa5ca[16]];_0x2068xf=(((_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[16]]-_0x2068xe)>_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]][_0xa5ca[16]])?_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]][_0xa5ca[16]]:(_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[16]]-_0x2068xe));var _0x2068x10=[];var _0x2068x11=[];switch(_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]][_0xa5ca[25]]){case _0xa5ca[20]:var _0x2068x13={name:_0xa5ca[17],channel:_0xa5ca[11],timeout:_0x2068xf,UserId:_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[19]][_0x2068xb][_0xa5ca[18]],FaxRoomId:_0x2068x9[_0xa5ca[12]],FaxQueueId:_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]]?_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]][_0xa5ca[18]]:null,FaxAccountId:_0x2068x9[_0xa5ca[13]],FaxApplicationId:_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[18]]};_0x2068x10[_0xa5ca[14]](_0x2068x13);_0x2068x11[_0xa5ca[14]](_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[19]][_0x2068xb][_0xa5ca[18]]);break ;;case _0xa5ca[22]:_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[19]][_0xa5ca[21]](function(_0x2068x12){var _0x2068x13={name:_0xa5ca[17],channel:_0xa5ca[11],timeout:_0x2068xf,UserId:_0x2068x12[_0xa5ca[18]],FaxRoomId:_0x2068x9[_0xa5ca[12]],FaxQueueId:_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]]?_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]][_0xa5ca[18]]:null,FaxAccountId:_0x2068x9[_0xa5ca[13]],FaxApplicationId:_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[18]]};_0x2068x10[_0xa5ca[14]](_0x2068x13);_0x2068x11[_0xa5ca[14]](_0x2068x12[_0xa5ca[18]]);});break ;;default:console[_0xa5ca[24]](_0xa5ca[23]);;};traceEvent(_0x2068x10,function(){emitEvent(_0x2068x11,_0xa5ca[26]+_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]][_0xa5ca[18]],{timeout:_0x2068xf,roomId:_0x2068x9[_0xa5ca[12]]},function(_0x2068x14){console[_0xa5ca[24]](_0xa5ca[29],_0x2068x14);clearInterval(_0x2068x15);clearTimeout(_0x2068x16);var _0x2068x10=[{name:_0xa5ca[27],channel:_0xa5ca[11],timeout:_0x2068xf,UserId:_0x2068x14,FaxRoomId:_0x2068x9[_0xa5ca[12]],FaxQueueId:_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]]?_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]][_0xa5ca[18]]:null,FaxAccountId:_0x2068x9[_0xa5ca[13]],FaxApplicationId:_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[18]]}];traceEvent(_0x2068x10,function(){_0x2068xd()});})});};},_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]]?_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]][_0xa5ca[16]]*1000:_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[16]]*1000);var _0x2068x16=setTimeout(function(){clearInterval(_0x2068x15);invite(_0x2068x9,++_0x2068xa,0,_0x2068xc,_0x2068xd);},_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[16]]*1000);}function processing(_0x2068x18,_0x2068xd,_0x2068xc){var _0x2068xe=0;var _0x2068x19=[function(_0x2068x1a){_0x2068x1a(null,_0x2068x18[_0xa5ca[30]],_0x2068xd,_0x2068xc)},function(_0x2068x9,_0x2068xd,_0x2068xc,_0x2068x1a){for(var _0x2068xa=0;_0x2068xa<_0x2068x9[_0xa5ca[9]][_0xa5ca[8]];_0x2068xa++){switch(_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[34]]){case _0xa5ca[31]:if(!_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[19]]){_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[19]]=[]};_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[19]][_0xa5ca[14]](_0x2068x9[_0xa5ca[9]][_0x2068xa].User);break ;;case _0xa5ca[33]:for(var _0x2068xb=0;_0x2068xb<_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]][_0xa5ca[32]][_0xa5ca[8]];_0x2068xb++){if(!_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[19]]){_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[19]]=[]};_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[19]][_0xa5ca[14]](_0x2068x9[_0xa5ca[9]][_0x2068xa][_0xa5ca[7]][_0xa5ca[32]][_0x2068xb]);};break ;;default:;}};_0x2068x1a(null,_0x2068x9,_0x2068xd,_0x2068xc);}];async[_0xa5ca[35]](_0x2068x19,function(_0x2068x1b,_0x2068x9,_0x2068xd,_0x2068xc){invite(_0x2068x9,0,0,_0x2068xc,_0x2068xd)});}function traceEvent(_0x2068x10,_0x2068x1d){Event[_0xa5ca[39]](_0x2068x10)[_0xa5ca[38]](function(){if(_0x2068x1d){_0x2068x1d()}})[_0xa5ca[37]](function(_0x2068x1b){console[_0xa5ca[36]](_0x2068x1b)})}function emitEvent(_0x2068x11,_0x2068x1f,_0x2068x20,_0x2068x1d){_0x2068x11[_0xa5ca[21]](function(_0x2068x12){console[_0xa5ca[24]](_0x2068x1f,_0x2068x12);if(sockets[_0x2068x12]){sockets[_0x2068x12][_0xa5ca[40]](_0x2068x1f,_0x2068x20,_0x2068x1d)};})}module[_0xa5ca[41]]=function(_0x2068xc,_0x2068x21){var _0x2068x22=_0x2068x21[_0xa5ca[42]]();_0x2068x22[_0xa5ca[44]](_0xa5ca[43],20,function(_0x2068x18,_0x2068xd){processing(_0x2068x18,_0x2068xd,_0x2068xc)});require(_0xa5ca[46])[_0xa5ca[45]](_0x2068x22);_0x2068xc[_0xa5ca[51]](_0xa5ca[47],function(_0x2068x23){if(_0x2068x23[_0xa5ca[49]][_0xa5ca[48]][_0xa5ca[29]]){sockets[_0x2068x23[_0xa5ca[49]][_0xa5ca[48]][_0xa5ca[29]]]=_0x2068x23};_0x2068x23[_0xa5ca[51]](_0xa5ca[50],function(){if(sockets[_0x2068x23[_0xa5ca[49]][_0xa5ca[48]][_0xa5ca[29]]]){delete sockets[_0x2068x23[_0xa5ca[49]][_0xa5ca[48]][_0xa5ca[29]]]}});});};
\ No newline at end of file
+var _0x8eb4=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x61\x73\x79\x6E\x63","\x55\x73\x65\x72","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x45\x76\x65\x6E\x74","\x46\x61\x78\x51\x75\x65\x75\x65","\x6C\x65\x6E\x67\x74\x68","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x55\x4E\x41\x53\x53\x49\x47\x4E\x45\x44","\x46\x41\x58","\x72\x6F\x6F\x6D\x49\x64","\x61\x63\x63\x6F\x75\x6E\x74\x49\x64","\x70\x75\x73\x68","\x44\x69\x61\x6C\x50\x6C\x61\x6E\x20\x65\x6E\x64\x65\x64\x2E\x2E","\x74\x69\x6D\x65\x6F\x75\x74","\x41\x54\x54\x45\x4D\x50\x54","\x69\x64","\x75\x73\x65\x72\x73","\x72\x72\x6D\x65\x6D\x6F\x72\x79","\x66\x6F\x72\x45\x61\x63\x68","\x62\x65\x65\x70\x61\x6C\x6C","\x53\x74\x72\x61\x74\x65\x67\x79\x20\x75\x6E\x6B\x6E\x6F\x77\x6E\x2E\x2E","\x6C\x6F\x67","\x73\x74\x72\x61\x74\x65\x67\x79","\x46\x41\x58\x3A\x51\x55\x45\x55\x45\x3A","\x41\x53\x53\x49\x47\x4E\x45\x44","\x46\x41\x58\x3A\x41\x47\x45\x4E\x54\x3A","\x75\x73\x65\x72\x49\x64","\x64\x61\x74\x61","\x61\x67\x65\x6E\x74","\x55\x73\x65\x72\x73","\x71\x75\x65\x75\x65","\x61\x70\x70","\x77\x61\x74\x65\x72\x66\x61\x6C\x6C","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73","\x63\x72\x65\x61\x74\x65\x51\x75\x65\x75\x65","\x66\x61\x78","\x70\x72\x6F\x63\x65\x73\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x2F\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x2E\x6B\x75\x65","\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E","\x71\x75\x65\x72\x79","\x68\x61\x6E\x64\x73\x68\x61\x6B\x65","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x6F\x6E"];_0x8eb4[0];var _=require(_0x8eb4[1]);var config=require(_0x8eb4[2]);var async=require(_0x8eb4[3]);var sockets={};var User=require(_0x8eb4[5])[_0x8eb4[4]];var Event=require(_0x8eb4[5])[_0x8eb4[6]];var FaxQueue=require(_0x8eb4[5])[_0x8eb4[7]];function invite(_0xc96ax9,_0xc96axa,_0xc96axb,_0xc96axc,_0xc96axd){var _0xc96axe=0;var _0xc96axf=0;var _0xc96ax10=[];var _0xc96ax11=[];if(_0xc96axa===_0xc96ax9[_0x8eb4[9]][_0x8eb4[8]]){_0xc96ax10[_0x8eb4[14]]({name:_0x8eb4[10],channel:_0x8eb4[11],FaxRoomId:_0xc96ax9[_0x8eb4[12]],FaxAccountId:_0xc96ax9[_0x8eb4[13]]});traceEvent(_0xc96ax10,function(){});_0xc96axd( new Error(_0x8eb4[15]));return ;};if(_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]]){_0xc96axf=(((_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[16]]-_0xc96axe)>_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]][_0x8eb4[16]])?_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]][_0x8eb4[16]]:(_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[16]]-_0xc96axe));switch(_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]][_0x8eb4[25]]){case _0x8eb4[20]:_0xc96ax10[_0x8eb4[14]]({name:_0x8eb4[17],channel:_0x8eb4[11],timeout:_0xc96axf,UserId:_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[19]][_0xc96axb][_0x8eb4[18]],FaxRoomId:_0xc96ax9[_0x8eb4[12]],FaxQueueId:_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]]?_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]][_0x8eb4[18]]:null,FaxAccountId:_0xc96ax9[_0x8eb4[13]],FaxApplicationId:_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[18]]});_0xc96ax11[_0x8eb4[14]](_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[19]][_0xc96axb][_0x8eb4[18]]);break ;;case _0x8eb4[22]:_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[19]][_0x8eb4[21]](function(_0xc96ax12){var _0xc96ax13={name:_0x8eb4[17],channel:_0x8eb4[11],timeout:_0xc96axf,UserId:_0xc96ax12[_0x8eb4[18]],FaxRoomId:_0xc96ax9[_0x8eb4[12]],FaxQueueId:_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]]?_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]][_0x8eb4[18]]:null,FaxAccountId:_0xc96ax9[_0x8eb4[13]],FaxApplicationId:_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[18]]};_0xc96ax10[_0x8eb4[14]](_0xc96ax13);_0xc96ax11[_0x8eb4[14]](_0xc96ax12[_0x8eb4[18]]);});break ;;default:console[_0x8eb4[24]](_0x8eb4[23]);;};traceEvent(_0xc96ax10,function(){emitEvent(_0xc96ax11,_0x8eb4[26]+_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]][_0x8eb4[18]],{timeout:_0xc96axf,roomId:_0xc96ax9[_0x8eb4[12]]},function(_0xc96ax14){clearInterval(_0xc96ax15);clearTimeout(_0xc96ax16);var _0xc96ax10=[{name:_0x8eb4[27],channel:_0x8eb4[11],timeout:_0xc96axf,UserId:_0xc96ax14,FaxRoomId:_0xc96ax9[_0x8eb4[12]],FaxQueueId:_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]]?_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]][_0x8eb4[18]]:null,FaxAccountId:_0xc96ax9[_0x8eb4[13]],FaxApplicationId:_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[18]]}];traceEvent(_0xc96ax10,function(){_0xc96axd()});})});}else {_0xc96axf=_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[16]];_0xc96ax11[_0x8eb4[14]](_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[19]][_0xc96axb][_0x8eb4[18]]);_0xc96ax10=[{name:_0x8eb4[17],channel:_0x8eb4[11],timeout:_0xc96axf,UserId:_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[19]][_0xc96axb][_0x8eb4[18]],FaxRoomId:_0xc96ax9[_0x8eb4[12]],FaxQueueId:_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]]?_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]][_0x8eb4[18]]:null,FaxAccountId:_0xc96ax9[_0x8eb4[13]],FaxApplicationId:_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[18]]}];traceEvent(_0xc96ax10,function(){emitEvent(_0xc96ax11,_0x8eb4[28]+_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[19]][_0xc96axb][_0x8eb4[18]],{timeout:_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[16]],roomId:_0xc96ax9[_0x8eb4[12]]},function(_0xc96ax14){clearInterval(_0xc96ax15);clearTimeout(_0xc96ax16);var _0xc96ax10=[{name:_0x8eb4[27],channel:_0x8eb4[11],timeout:_0xc96axf,UserId:_0xc96ax14,FaxRoomId:_0xc96ax9[_0x8eb4[12]],FaxQueueId:_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]]?_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]][_0x8eb4[18]]:null,FaxAccountId:_0xc96ax9[_0x8eb4[13]],FaxApplicationId:_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[18]]}];traceEvent(_0xc96ax10,function(){_0xc96axd()});})});};var _0xc96ax15=setInterval(function(){var _0xc96axf=0;_0xc96axb++;if(_0xc96axb===_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[19]][_0x8eb4[8]]){_0xc96axb=0};if(_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]]){_0xc96axe+=_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]][_0x8eb4[16]];_0xc96axf=(((_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[16]]-_0xc96axe)>_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]][_0x8eb4[16]])?_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]][_0x8eb4[16]]:(_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[16]]-_0xc96axe));var _0xc96ax10=[];var _0xc96ax11=[];switch(_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]][_0x8eb4[25]]){case _0x8eb4[20]:var _0xc96ax13={name:_0x8eb4[17],channel:_0x8eb4[11],timeout:_0xc96axf,UserId:_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[19]][_0xc96axb][_0x8eb4[18]],FaxRoomId:_0xc96ax9[_0x8eb4[12]],FaxQueueId:_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]]?_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]][_0x8eb4[18]]:null,FaxAccountId:_0xc96ax9[_0x8eb4[13]],FaxApplicationId:_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[18]]};_0xc96ax10[_0x8eb4[14]](_0xc96ax13);_0xc96ax11[_0x8eb4[14]](_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[19]][_0xc96axb][_0x8eb4[18]]);break ;;case _0x8eb4[22]:_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[19]][_0x8eb4[21]](function(_0xc96ax12){var _0xc96ax13={name:_0x8eb4[17],channel:_0x8eb4[11],timeout:_0xc96axf,UserId:_0xc96ax12[_0x8eb4[18]],FaxRoomId:_0xc96ax9[_0x8eb4[12]],FaxQueueId:_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]]?_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]][_0x8eb4[18]]:null,FaxAccountId:_0xc96ax9[_0x8eb4[13]],FaxApplicationId:_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[18]]};_0xc96ax10[_0x8eb4[14]](_0xc96ax13);_0xc96ax11[_0x8eb4[14]](_0xc96ax12[_0x8eb4[18]]);});break ;;default:console[_0x8eb4[24]](_0x8eb4[23]);;};traceEvent(_0xc96ax10,function(){emitEvent(_0xc96ax11,_0x8eb4[26]+_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]][_0x8eb4[18]],{timeout:_0xc96axf,roomId:_0xc96ax9[_0x8eb4[12]]},function(_0xc96ax14){console[_0x8eb4[24]](_0x8eb4[29],_0xc96ax14);clearInterval(_0xc96ax15);clearTimeout(_0xc96ax16);var _0xc96ax10=[{name:_0x8eb4[27],channel:_0x8eb4[11],timeout:_0xc96axf,UserId:_0xc96ax14,FaxRoomId:_0xc96ax9[_0x8eb4[12]],FaxQueueId:_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]]?_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]][_0x8eb4[18]]:null,FaxAccountId:_0xc96ax9[_0x8eb4[13]],FaxApplicationId:_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[18]]}];traceEvent(_0xc96ax10,function(){_0xc96axd()});})});};},_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]]?_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]][_0x8eb4[16]]*1000:_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[16]]*1000);var _0xc96ax16=setTimeout(function(){clearInterval(_0xc96ax15);invite(_0xc96ax9,++_0xc96axa,0,_0xc96axc,_0xc96axd);},_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[16]]*1000);}function processing(_0xc96ax18,_0xc96axd,_0xc96axc){var _0xc96axe=0;var _0xc96ax19=[function(_0xc96ax1a){_0xc96ax1a(null,_0xc96ax18[_0x8eb4[30]],_0xc96axd,_0xc96axc)},function(_0xc96ax9,_0xc96axd,_0xc96axc,_0xc96ax1a){for(var _0xc96axa=0;_0xc96axa<_0xc96ax9[_0x8eb4[9]][_0x8eb4[8]];_0xc96axa++){switch(_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[34]]){case _0x8eb4[31]:if(!_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[19]]){_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[19]]=[]};_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[19]][_0x8eb4[14]](_0xc96ax9[_0x8eb4[9]][_0xc96axa].User);break ;;case _0x8eb4[33]:for(var _0xc96axb=0;_0xc96axb<_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]][_0x8eb4[32]][_0x8eb4[8]];_0xc96axb++){if(!_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[19]]){_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[19]]=[]};_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[19]][_0x8eb4[14]](_0xc96ax9[_0x8eb4[9]][_0xc96axa][_0x8eb4[7]][_0x8eb4[32]][_0xc96axb]);};break ;;default:;}};_0xc96ax1a(null,_0xc96ax9,_0xc96axd,_0xc96axc);}];async[_0x8eb4[35]](_0xc96ax19,function(_0xc96ax1b,_0xc96ax9,_0xc96axd,_0xc96axc){invite(_0xc96ax9,0,0,_0xc96axc,_0xc96axd)});}function traceEvent(_0xc96ax10,_0xc96ax1d){Event[_0x8eb4[39]](_0xc96ax10)[_0x8eb4[38]](function(){if(_0xc96ax1d){_0xc96ax1d()}})[_0x8eb4[37]](function(_0xc96ax1b){console[_0x8eb4[36]](_0xc96ax1b)})}function emitEvent(_0xc96ax11,_0xc96ax1f,_0xc96ax20,_0xc96ax1d){_0xc96ax11[_0x8eb4[21]](function(_0xc96ax12){console[_0x8eb4[24]](_0xc96ax1f,_0xc96ax12);if(sockets[_0xc96ax12]){sockets[_0xc96ax12][_0x8eb4[40]](_0xc96ax1f,_0xc96ax20,_0xc96ax1d)};})}module[_0x8eb4[41]]=function(_0xc96axc,_0xc96ax21){var _0xc96ax22=_0xc96ax21[_0x8eb4[42]]();_0xc96ax22[_0x8eb4[44]](_0x8eb4[43],20,function(_0xc96ax18,_0xc96axd){processing(_0xc96ax18,_0xc96axd,_0xc96axc)});require(_0x8eb4[46])[_0x8eb4[45]](_0xc96ax22);_0xc96axc[_0x8eb4[51]](_0x8eb4[47],function(_0xc96ax23){if(_0xc96ax23[_0x8eb4[49]][_0x8eb4[48]][_0x8eb4[29]]){sockets[_0xc96ax23[_0x8eb4[49]][_0x8eb4[48]][_0x8eb4[29]]]=_0xc96ax23};_0xc96ax23[_0x8eb4[51]](_0x8eb4[50],function(){if(sockets[_0xc96ax23[_0x8eb4[49]][_0x8eb4[48]][_0x8eb4[29]]]){delete sockets[_0xc96ax23[_0x8eb4[49]][_0x8eb4[48]][_0x8eb4[29]]]}});});};
\ No newline at end of file
index 5075db1b02103d5ab29eec5aebd526f8f881c23d..af5e1ad077a26f4358049e1df62c91a03685d676 100644 (file)
@@ -1 +1 @@
-var _0x98ac=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x6F\x6D\x65\x6E\x74","\x4D\x61\x69\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x53\x65\x73\x73\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C","\x55\x73\x65\x72","\x65\x78\x70\x6F\x72\x74\x73","\x63\x72\x65\x61\x74\x65\x51\x75\x65\x75\x65","\x6D\x61\x69\x6C","\x70\x72\x6F\x63\x65\x73\x73","\x61\x67\x65\x6E\x74\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64\x41\x74","\x63\x68\x61\x6E\x67\x65\x64","\x75\x6E\x69\x71\x75\x65\x69\x64","\x74\x69\x6D\x65\x6F\x75\x74","\x64\x6F\x6E\x65","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x61\x67\x65\x6E\x74\x69\x64","\x75\x70\x64\x61\x74\x65","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x42\x79\x49\x64","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x61\x6E\x73\x77\x65\x72\x65\x64\x5F\x65\x6C\x73\x65\x77\x68\x65\x72\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x6D\x61\x69\x6C\x71\x75\x65\x75\x65\x6E\x61\x6D\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x73\x74\x61\x74\x75\x73","\x4E\x45\x57","\x73\x61\x76\x65","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x63\x72\x65\x61\x74\x65","\x4E\x6F\x20\x41\x76\x61\x69\x6C\x61\x62\x6C\x65\x20\x4D\x61\x69\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73\x2E\x2E","\x6C\x65\x6E\x67\x74\x68","\x4D\x61\x69\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x44\x69\x61\x6C\x50\x6C\x61\x6E\x20\x65\x6E\x64\x65\x64\x2E\x2E","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x49\x64","\x64\x61\x74\x61","\x69\x64","\x6D\x65\x72\x67\x65","\x73\x75\x62\x6A\x65\x63\x74","\x66\x72\x6F\x6D","\x63\x63","\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x6E\x61\x6D\x65","\x61\x64\x64\x72\x65\x73\x73","\x70\x72\x69\x6F\x72\x69\x74\x79","\x73\x6F\x72\x74\x42\x79","\x69\x6E\x76\x69\x74\x65","\x69","\x6A","\x68\x6F\x6C\x64\x74\x69\x6D\x65","\x6C\x6F\x67","\x74\x72\x75\x65","\x63\x6F\x75\x6E\x74\x42\x79","\x69\x6E\x74\x65\x72\x76\x61\x6C","\x55\x73\x65\x72\x73","\x6F\x6E\x6C\x69\x6E\x65","\x61\x70\x70","\x63\x61\x6C\x6C\x65\x64","\x71\x75\x65\x75\x65","\x61\x67\x65\x6E\x74","\x72\x72\x6D\x65\x6D\x6F\x72\x79","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x63\x6F\x75\x6E\x74","\x62\x65\x65\x70\x61\x6C\x6C","\x55\x6E\x6B\x6E\x6F\x77\x6E\x20\x73\x74\x72\x61\x74\x65\x67\x79","\x73\x74\x72\x61\x74\x65\x67\x79","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x73\x70\x72\x65\x61\x64","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x69\x73\x4F\x62\x6A\x65\x63\x74","\x53\x75\x62\x49\x6E\x74\x65\x72\x76\x61\x6C\x73","\x73\x75\x6E","\x6D\x6F\x6E","\x74\x75\x65","\x77\x65\x64","\x74\x68\x75","\x66\x72\x69","\x73\x61\x74","\x6A\x61\x6E","\x66\x65\x62","\x6D\x61\x72","\x61\x70\x72","\x6D\x61\x79","\x6A\x75\x6E","\x6A\x75\x6C","\x61\x75\x67","\x73\x65\x70","\x6F\x63\x74","\x6E\x6F\x76","\x64\x65\x63","\x2C","\x73\x70\x6C\x69\x74","\x2A","\x48\x48\x3A\x6D\x6D","\x2D","\x54\x52\x41\x4E\x47\x45\x20\x4B\x4F","\x64\x61\x79","\x69\x6E\x64\x65\x78\x4F\x66","\x73\x68\x69\x66\x74","\x73\x6C\x69\x63\x65","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x44\x57\x52\x41\x4E\x47\x45\x20\x4B\x4F","\x64\x61\x74\x65","\x44\x4D\x52\x41\x4E\x47\x45\x20\x4B\x4F","\x6D\x6F\x6E\x74\x68","\x4D\x52\x41\x4E\x47\x45\x20\x4B\x4F","\x49\x4E\x54\x45\x52\x56\x41\x4C\x20\x4F\x4B"];_0x98ac[0];var _=require(_0x98ac[1]);var moment=require(_0x98ac[2]);var MailApplication=require(_0x98ac[4])[_0x98ac[3]];var MailAccount=require(_0x98ac[4])[_0x98ac[5]];var MailQueue=require(_0x98ac[4])[_0x98ac[6]];var MailRoom=require(_0x98ac[4])[_0x98ac[7]];var Interval=require(_0x98ac[4])[_0x98ac[8]];var ReportMailSession=require(_0x98ac[4])[_0x98ac[9]];var ReportMail=require(_0x98ac[4])[_0x98ac[10]];var User=require(_0x98ac[4])[_0x98ac[11]];var timeouts={};module[_0x98ac[12]]=function(_0xb53axc){var _0xb53axd=_0xb53axc[_0x98ac[13]]();_0xb53axd[_0x98ac[15]](_0x98ac[14],20,function(_0xb53axe,_0xb53axf){onProcess(_0xb53axe,_0xb53axf)});ReportMail[_0x98ac[33]](function(_0xb53ax10){if(_0xb53ax10[_0x98ac[17]](_0x98ac[16])){if(timeouts[_0xb53ax10[_0x98ac[18]]]){clearTimeout(timeouts[_0xb53ax10[_0x98ac[18]]][_0x98ac[19]]);timeouts[_0xb53ax10[_0x98ac[18]]][_0x98ac[20]]();delete timeouts[_0xb53ax10[_0x98ac[18]]];};MailRoom[_0x98ac[26]](_0xb53ax10[_0x98ac[18]])[_0x98ac[25]](function(_0xb53ax12){_0xb53ax12[_0x98ac[24]]({UserId:_0xb53ax10[_0x98ac[23]]})})[_0x98ac[22]](function(_0xb53ax11){console[_0x98ac[21]](_0xb53ax11)});ReportMail[_0x98ac[24]]({agentringnoanswerAt:moment()[_0x98ac[28]](_0x98ac[27]),reason:_0x98ac[29],lastevent:_0x98ac[29]},{where:{uniqueid:_0xb53ax10[_0x98ac[18]],reason:null},individualHooks:true})[_0x98ac[22]](function(_0xb53ax11){console[_0x98ac[21]](_0xb53ax11)});ReportMailSession[_0x98ac[24]]({mailleaveAt:moment()[_0x98ac[28]](_0x98ac[27]),fullname:_0xb53ax10[_0x98ac[30]],membername:_0xb53ax10[_0x98ac[31]],mailqueuename:_0xb53ax10[_0x98ac[32]]},{where:{uniqueid:_0xb53ax10[_0x98ac[18]]},individualHooks:true})[_0x98ac[22]](function(_0xb53ax11){console[_0x98ac[21]](_0xb53ax11)});}});MailRoom[_0x98ac[34]](function(_0xb53ax10){onSave(_0xb53axd,_0xb53ax10)});MailRoom[_0x98ac[35]](function(_0xb53ax10){onSave(_0xb53axd,_0xb53ax10)});};function onSave(_0xb53axc,_0xb53ax10,_0xb53ax14){if(_0xb53ax10[_0x98ac[36]]===_0x98ac[37]){_0xb53axc[_0x98ac[40]](_0x98ac[14],_0xb53ax10[_0x98ac[39]])[_0x98ac[38]]()}}function onProcess(_0xb53axe,_0xb53axf){MailAccount[_0x98ac[26]](_0xb53axe[_0x98ac[46]].MailAccountId,{include:[{model:MailApplication,include:[{model:MailQueue,include:[{model:User}]},{model:User},{model:Interval,include:[{all:true}]}]}]})[_0x98ac[25]](function(_0xb53ax16){if(!_0xb53ax16){_0xb53axf( new Error(_0x98ac[41]));return ;};if(!_0xb53ax16[_0x98ac[43]][_0x98ac[42]]){_0xb53axf( new Error(_0x98ac[44]));return ;};_0xb53axe[_0x98ac[46]][_0x98ac[45]]=_0xb53axe[_0x98ac[46]][_0x98ac[47]];var _0xb53ax17=_[_0x98ac[48]](_0xb53axe[_0x98ac[46]],_0xb53ax16[_0x98ac[39]]);onReportSession({uniqueid:_0xb53ax17[_0x98ac[45]],subject:_0xb53ax17[_0x98ac[49]],from:_0xb53ax17[_0x98ac[50]],cc:_0xb53ax17[_0x98ac[51]],attachment:_0xb53ax17[_0x98ac[52]],accountname:_0xb53ax17[_0x98ac[53]],accountaddress:_0xb53ax17[_0x98ac[54]],mailjoinAt:moment()[_0x98ac[28]](_0x98ac[27])});_0xb53ax17[_0x98ac[43]]=_[_0x98ac[56]](_0xb53ax17.MailApplications,_0x98ac[55]);onInvite(_0xb53ax17,0,0,0,0,_0xb53axf);})[_0x98ac[22]](function(_0xb53ax11){console[_0x98ac[21]](_0xb53ax11)})}function onInvite(_0xb53ax19,_0xb53ax1a,_0xb53ax1b,_0xb53ax1c,_0xb53ax1d,_0xb53axf){console[_0x98ac[61]](_0x98ac[57],_0x98ac[58],_0xb53ax1a,_0x98ac[59],_0xb53ax1b,_0x98ac[60],_0xb53ax1c);var _0xb53ax1e=0;var _0xb53ax1f;if(_0xb53ax1a===_0xb53ax19[_0x98ac[43]][_0x98ac[42]]){console[_0x98ac[21]](_0x98ac[44]);onReportSession({uniqueid:_0xb53ax19[_0x98ac[45]],mailunmanagedAt:moment()[_0x98ac[28]](_0x98ac[27]),mailleaveAt:moment()[_0x98ac[28]](_0x98ac[27])});_0xb53axf( new Error(_0x98ac[44]));return ;};if(_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[6]]){var _0xb53ax20=_[_0x98ac[63]](_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[6]].Users,{online:true})[_0x98ac[62]];if(_0xb53ax20&&onInterval(_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[8]]?_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[8]]:_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[64]])){if(_0xb53ax1b===_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[6]][_0x98ac[65]][_0x98ac[42]]){if(_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[19]]>_0xb53ax1c){onInvite(_0xb53ax19,_0xb53ax1a,0,_0xb53ax1c,_0xb53ax1d,_0xb53axf);return ;}else {onInvite(_0xb53ax19,++_0xb53ax1a,0,0,_0xb53ax1d,_0xb53axf);return ;}};switch(_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[6]][_0x98ac[77]]){case _0x98ac[71]:if(_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[6]][_0x98ac[65]][_0xb53ax1b][_0x98ac[66]]&&onInterval(_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[8]]?_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[8]]:_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[64]])){_0xb53ax1e=(((_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[19]]-_0xb53ax1c)>_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[6]][_0x98ac[19]])?_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[6]][_0x98ac[19]]:(_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[19]]-_0xb53ax1c));onReport({uniqueid:_0xb53ax19[_0x98ac[45]],sorting:_0xb53ax1d,subject:_0xb53ax19[_0x98ac[49]],timeslot:_0xb53ax1e,from:_0xb53ax19[_0x98ac[50]],attachment:_0xb53ax19[_0x98ac[52]],accountname:_0xb53ax19[_0x98ac[53]],accountaddress:_0xb53ax19[_0x98ac[54]],application:_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[67]],fullname:_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[6]][_0x98ac[65]][_0xb53ax1b][_0x98ac[30]],membername:_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[6]][_0x98ac[65]][_0xb53ax1b][_0x98ac[53]],agentid:_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[6]][_0x98ac[65]][_0xb53ax1b][_0x98ac[47]],mailqueuename:_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[6]][_0x98ac[53]],lastevent:_0x98ac[68],holdtime:_0xb53ax1c,agentcalledAt:moment()[_0x98ac[28]](_0x98ac[27])});console[_0x98ac[61]](_0x98ac[69],_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[6]][_0x98ac[53]],_0x98ac[70],_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[6]][_0x98ac[65]][_0xb53ax1b][_0x98ac[53]],_0x98ac[19],_0xb53ax1e,_0x98ac[60],_0xb53ax1c);_0xb53ax1f=setTimeout(function(){onReportUpdate({uniqueid:_0xb53ax19[_0x98ac[45]],count:_0xb53ax1d,reason:_0x98ac[19],lastevent:_0x98ac[19],agentringnoanswerAt:moment()[_0x98ac[28]](_0x98ac[27])});_0xb53ax1c+=_0xb53ax1e;onInvite(_0xb53ax19,_0xb53ax1a,++_0xb53ax1b,_0xb53ax1c,++_0xb53ax1d,_0xb53axf);return ;},_0xb53ax1e*1000);if(!timeouts[_0xb53ax19[_0x98ac[45]]]){timeouts[_0xb53ax19[_0x98ac[45]]]={}};timeouts[_0xb53ax19[_0x98ac[45]]][_0x98ac[19]]=_0xb53ax1f;timeouts[_0xb53ax19[_0x98ac[45]]][_0x98ac[20]]=_0xb53axf;}else {onInvite(_0xb53ax19,_0xb53ax1a,++_0xb53ax1b,_0xb53ax1c,_0xb53ax1d,_0xb53axf);return ;};break ;;case _0x98ac[75]:_0xb53ax1e=(((_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[19]]-_0xb53ax1c)>_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[6]][_0x98ac[19]])?_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[6]][_0x98ac[19]]:(_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[19]]-_0xb53ax1c));var _0xb53ax21=[];_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[6]][_0x98ac[65]][_0x98ac[73]](function(_0xb53ax22){if(_0xb53ax22[_0x98ac[66]]){_0xb53ax21[_0x98ac[72]]({uniqueid:_0xb53ax19[_0x98ac[45]],sorting:_0xb53ax1d,subject:_0xb53ax19[_0x98ac[49]],timeslot:_0xb53ax1e,from:_0xb53ax19[_0x98ac[50]],attachment:_0xb53ax19[_0x98ac[52]],accountname:_0xb53ax19[_0x98ac[53]],accountaddress:_0xb53ax19[_0x98ac[54]],application:_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[67]],fullname:_0xb53ax22[_0x98ac[30]],membername:_0xb53ax22[_0x98ac[53]],agentid:_0xb53ax22[_0x98ac[47]],mailqueuename:_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[6]][_0x98ac[53]],lastevent:_0x98ac[68],holdtime:_0xb53ax1c,agentcalledAt:moment()[_0x98ac[28]](_0x98ac[27])})}});if(_0xb53ax21[_0x98ac[42]]&&onInterval(_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[8]]?_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[8]]:_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[64]])){onReport(_0xb53ax21,true);_0xb53ax1f=setTimeout(function(){console[_0x98ac[61]](_0x98ac[74],_0xb53ax1d);onReportUpdate({uniqueid:_0xb53ax19[_0x98ac[45]],count:_0xb53ax1d,reason:_0x98ac[19],lastevent:_0x98ac[19],agentringnoanswerAt:moment()[_0x98ac[28]](_0x98ac[27])});_0xb53ax1c+=_0xb53ax1e;_0xb53ax1b+=_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[6]][_0x98ac[65]][_0x98ac[42]];onInvite(_0xb53ax19,_0xb53ax1a,_0xb53ax1b,_0xb53ax1c,++_0xb53ax1d,_0xb53axf);return ;},_0xb53ax1e*1000);if(!timeouts[_0xb53ax19[_0x98ac[45]]]){timeouts[_0xb53ax19[_0x98ac[45]]]={}};timeouts[_0xb53ax19[_0x98ac[45]]][_0x98ac[19]]=_0xb53ax1f;timeouts[_0xb53ax19[_0x98ac[45]]][_0x98ac[20]]=_0xb53axf;}else {console[_0x98ac[61]](_0x98ac[69],_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[6]][_0x98ac[53]],_0x98ac[19],_0xb53ax1e,_0x98ac[60],_0xb53ax1c);onInvite(_0xb53ax19,++_0xb53ax1a,0,0,_0xb53ax1d,_0xb53axf);return ;};break ;;default:console[_0x98ac[21]](_0x98ac[76]);;};}else {onInvite(_0xb53ax19,++_0xb53ax1a,0,0,_0xb53ax1d,_0xb53axf);return ;};}else {_0xb53ax1e=_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[19]];if(_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[11]][_0x98ac[66]]&&onInterval(_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[8]]?_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[8]]:_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[64]])){onReport({uniqueid:_0xb53ax19[_0x98ac[45]],sorting:_0xb53ax1d,subject:_0xb53ax19[_0x98ac[49]],timeslot:_0xb53ax1e,from:_0xb53ax19[_0x98ac[50]],attachment:_0xb53ax19[_0x98ac[52]],accountname:_0xb53ax19[_0x98ac[53]],accountaddress:_0xb53ax19[_0x98ac[54]],application:_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[67]],fullname:_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[11]][_0x98ac[30]],membername:_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[11]][_0x98ac[53]],agentid:_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[11]][_0x98ac[47]],lastevent:_0x98ac[68],holdtime:_0xb53ax1c,agentcalledAt:moment()[_0x98ac[28]](_0x98ac[27])});console[_0x98ac[61]](_0x98ac[70],_0xb53ax19[_0x98ac[43]][_0xb53ax1a][_0x98ac[11]][_0x98ac[53]],_0x98ac[19],_0xb53ax1e,_0x98ac[60],_0xb53ax1c);_0xb53ax1f=setTimeout(function(){onReportUpdate({uniqueid:_0xb53ax19[_0x98ac[45]],count:_0xb53ax1d,reason:_0x98ac[19],lastevent:_0x98ac[19],agentringnoanswerAt:moment()[_0x98ac[28]](_0x98ac[27])});onInvite(_0xb53ax19,++_0xb53ax1a,0,0,_0xb53ax1d,_0xb53axf);return ;},_0xb53ax1e*1000);if(!timeouts[_0xb53ax19[_0x98ac[45]]]){timeouts[_0xb53ax19[_0x98ac[45]]]={}};timeouts[_0xb53ax19[_0x98ac[45]]][_0x98ac[19]]=_0xb53ax1f;timeouts[_0xb53ax19[_0x98ac[45]]][_0x98ac[20]]=_0xb53axf;}else {onInvite(_0xb53ax19,++_0xb53ax1a,0,0,++_0xb53ax1d,_0xb53axf);return;};};}function onReport(_0xb53ax24,_0xb53ax25){if(_0xb53ax25){ReportMail[_0x98ac[78]](_0xb53ax24,{individualHooks:true})[_0x98ac[22]](function(_0xb53ax11){console[_0x98ac[21]](_0xb53ax11)})}else {ReportMail[_0x98ac[40]](_0xb53ax24)[_0x98ac[22]](function(_0xb53ax11){console[_0x98ac[21]](_0xb53ax11)})}}function onReportSession(_0xb53ax24){ReportMailSession[_0x98ac[80]]({where:{uniqueid:_0xb53ax24[_0x98ac[18]]},defaults:_0xb53ax24})[_0x98ac[79]](function(_0xb53ax27,_0xb53ax28){if(!_0xb53ax28){_0xb53ax27[_0x98ac[24]](_0xb53ax24,{individualHooks:true})[_0x98ac[22]](function(_0xb53ax11){console[_0x98ac[21]](_0xb53ax11)})}})}function onReportUpdate(_0xb53ax24){ReportMail[_0x98ac[24]](_0xb53ax24,{where:{uniqueid:_0xb53ax24[_0x98ac[18]],sorting:_0xb53ax24[_0x98ac[74]]},individualHooks:true})[_0x98ac[22]](function(_0xb53ax11){console[_0x98ac[21]](_0xb53ax11)})}function onInterval(_0xb53ax2b){if(_[_0x98ac[81]](_0xb53ax2b)){for(var _0xb53ax1a=0;_0xb53ax1a<_0xb53ax2b[_0x98ac[82]][_0x98ac[42]];_0xb53ax1a++){if(!onCheckInterval(_0xb53ax2b[_0x98ac[82]][_0xb53ax1a][_0x98ac[64]])){return false}};return true;}else {return onCheckInterval(_0xb53ax2b)}}function onCheckInterval(_0xb53ax2b){var _0xb53ax2d=[_0x98ac[83],_0x98ac[84],_0x98ac[85],_0x98ac[86],_0x98ac[87],_0x98ac[88],_0x98ac[89]];var _0xb53ax2e=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31];var _0xb53ax2f=[_0x98ac[90],_0x98ac[91],_0x98ac[92],_0x98ac[93],_0x98ac[94],_0x98ac[95],_0x98ac[96],_0x98ac[97],_0x98ac[98],_0x98ac[99],_0x98ac[100],_0x98ac[101]];var _0xb53ax1a,_0xb53ax30;var _0xb53ax31=_0xb53ax2b[_0x98ac[103]](_0x98ac[102])[0];var _0xb53ax32=_0xb53ax2b[_0x98ac[103]](_0x98ac[102])[1];var _0xb53ax33=_0xb53ax2b[_0x98ac[103]](_0x98ac[102])[2];var _0xb53ax34=_0xb53ax2b[_0x98ac[103]](_0x98ac[102])[3];if(_0xb53ax31!==_0x98ac[104]){var _0xb53ax35=moment()[_0x98ac[28]](_0x98ac[105]);var _0xb53ax36=_0xb53ax31[_0x98ac[103]](_0x98ac[106])[0];var _0xb53ax37=_0xb53ax31[_0x98ac[103]](_0x98ac[106])[1];if((_0xb53ax35<_0xb53ax36)||(_0xb53ax35>_0xb53ax37)){console[_0x98ac[61]](_0x98ac[107]);return false;};};if(_0xb53ax32!==_0x98ac[104]){var _0xb53ax38=_0xb53ax2d[moment()[_0x98ac[108]]()];var _0xb53ax39=_[_0x98ac[109]](_0xb53ax2d,_0xb53ax32[_0x98ac[103]](_0x98ac[106])[0]);var _0xb53ax3a=_[_0x98ac[109]](_0xb53ax2d,_0xb53ax32[_0x98ac[103]](_0x98ac[106])[1]);for(_0xb53ax1a=0;_0xb53ax1a<_0xb53ax39;_0xb53ax1a++){_0xb53ax30=_0xb53ax2d[_0x98ac[110]]();_0xb53ax2d[_0x98ac[72]](_0xb53ax30);};_0xb53ax39=_[_0x98ac[109]](_0xb53ax2d,_0xb53ax32[_0x98ac[103]](_0x98ac[106])[0]);_0xb53ax3a=_[_0x98ac[109]](_0xb53ax2d,_0xb53ax32[_0x98ac[103]](_0x98ac[106])[1])+1;_0xb53ax2d=_0xb53ax2d[_0x98ac[111]](_0xb53ax39,_0xb53ax3a);if(!_[_0x98ac[112]](_0xb53ax2d,_0xb53ax38)){console[_0x98ac[61]](_0x98ac[113]);return false;};};if(_0xb53ax33!==_0x98ac[104]){var _0xb53ax3b=moment()[_0x98ac[114]]();var _0xb53ax3c=_[_0x98ac[109]](_0xb53ax2e,parseInt(_0xb53ax33[_0x98ac[103]](_0x98ac[106])[0],10));var _0xb53ax3d=_[_0x98ac[109]](_0xb53ax2e,parseInt(_0xb53ax33[_0x98ac[103]](_0x98ac[106])[1]));for(_0xb53ax1a=0;_0xb53ax1a<_0xb53ax3c;_0xb53ax1a++){_0xb53ax30=_0xb53ax2e[_0x98ac[110]]();_0xb53ax2e[_0x98ac[72]](_0xb53ax30);};_0xb53ax3c=_[_0x98ac[109]](_0xb53ax2e,parseInt(_0xb53ax33[_0x98ac[103]](_0x98ac[106])[0],10));_0xb53ax3d=_[_0x98ac[109]](_0xb53ax2e,parseInt(_0xb53ax33[_0x98ac[103]](_0x98ac[106])[1]),10)+1;_0xb53ax2e=_0xb53ax2e[_0x98ac[111]](_0xb53ax3c,_0xb53ax3d);if(!_[_0x98ac[112]](_0xb53ax2e,_0xb53ax3b)){console[_0x98ac[61]](_0x98ac[115]);return false;};};if(_0xb53ax34!==_0x98ac[104]){var _0xb53ax3e=_0xb53ax2f[moment()[_0x98ac[116]]()];var _0xb53ax3f=_[_0x98ac[109]](_0xb53ax2f,_0xb53ax34[_0x98ac[103]](_0x98ac[106])[0]);var _0xb53ax40=_[_0x98ac[109]](_0xb53ax2f,_0xb53ax34[_0x98ac[103]](_0x98ac[106])[1]);for(_0xb53ax1a=0;_0xb53ax1a<_0xb53ax3f;_0xb53ax1a++){_0xb53ax30=_0xb53ax2f[_0x98ac[110]]();_0xb53ax2f[_0x98ac[72]](_0xb53ax30);};_0xb53ax3f=_[_0x98ac[109]](_0xb53ax2f,_0xb53ax34[_0x98ac[103]](_0x98ac[106])[0]);_0xb53ax40=_[_0x98ac[109]](_0xb53ax2f,_0xb53ax34[_0x98ac[103]](_0x98ac[106])[1])+1;_0xb53ax2f=_0xb53ax2f[_0x98ac[111]](_0xb53ax3f,_0xb53ax40);if(!_[_0x98ac[112]](_0xb53ax2f,_0xb53ax3e)){console[_0x98ac[61]](_0x98ac[117]);return false;};};console[_0x98ac[61]](_0x98ac[118]);return true;}
\ No newline at end of file
+var _0xe20c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x6F\x6D\x65\x6E\x74","\x4D\x61\x69\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x53\x65\x73\x73\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C","\x55\x73\x65\x72","\x65\x78\x70\x6F\x72\x74\x73","\x63\x72\x65\x61\x74\x65\x51\x75\x65\x75\x65","\x6D\x61\x69\x6C","\x70\x72\x6F\x63\x65\x73\x73","\x61\x67\x65\x6E\x74\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64\x41\x74","\x63\x68\x61\x6E\x67\x65\x64","\x75\x6E\x69\x71\x75\x65\x69\x64","\x74\x69\x6D\x65\x6F\x75\x74","\x64\x6F\x6E\x65","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x61\x67\x65\x6E\x74\x69\x64","\x75\x70\x64\x61\x74\x65","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x42\x79\x49\x64","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x61\x6E\x73\x77\x65\x72\x65\x64\x5F\x65\x6C\x73\x65\x77\x68\x65\x72\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x6D\x61\x69\x6C\x71\x75\x65\x75\x65\x6E\x61\x6D\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x73\x74\x61\x74\x75\x73","\x4E\x45\x57","\x73\x61\x76\x65","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x63\x72\x65\x61\x74\x65","\x4E\x6F\x20\x41\x76\x61\x69\x6C\x61\x62\x6C\x65\x20\x4D\x61\x69\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73\x2E\x2E","\x6C\x65\x6E\x67\x74\x68","\x4D\x61\x69\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x44\x69\x61\x6C\x50\x6C\x61\x6E\x20\x65\x6E\x64\x65\x64\x2E\x2E","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x49\x64","\x64\x61\x74\x61","\x69\x64","\x6D\x65\x72\x67\x65","\x73\x75\x62\x6A\x65\x63\x74","\x66\x72\x6F\x6D","\x63\x63","\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x6E\x61\x6D\x65","\x61\x64\x64\x72\x65\x73\x73","\x70\x72\x69\x6F\x72\x69\x74\x79","\x73\x6F\x72\x74\x42\x79","\x69\x6E\x76\x69\x74\x65","\x69","\x6A","\x68\x6F\x6C\x64\x74\x69\x6D\x65","\x6C\x6F\x67","\x74\x72\x75\x65","\x63\x6F\x75\x6E\x74\x42\x79","\x69\x6E\x74\x65\x72\x76\x61\x6C","\x55\x73\x65\x72\x73","\x6F\x6E\x6C\x69\x6E\x65","\x61\x70\x70","\x63\x61\x6C\x6C\x65\x64","\x71\x75\x65\x75\x65","\x61\x67\x65\x6E\x74","\x72\x72\x6D\x65\x6D\x6F\x72\x79","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x63\x6F\x75\x6E\x74","\x62\x65\x65\x70\x61\x6C\x6C","\x55\x6E\x6B\x6E\x6F\x77\x6E\x20\x73\x74\x72\x61\x74\x65\x67\x79","\x73\x74\x72\x61\x74\x65\x67\x79","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x73\x70\x72\x65\x61\x64","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x69\x73\x4F\x62\x6A\x65\x63\x74","\x53\x75\x62\x49\x6E\x74\x65\x72\x76\x61\x6C\x73","\x73\x75\x6E","\x6D\x6F\x6E","\x74\x75\x65","\x77\x65\x64","\x74\x68\x75","\x66\x72\x69","\x73\x61\x74","\x6A\x61\x6E","\x66\x65\x62","\x6D\x61\x72","\x61\x70\x72","\x6D\x61\x79","\x6A\x75\x6E","\x6A\x75\x6C","\x61\x75\x67","\x73\x65\x70","\x6F\x63\x74","\x6E\x6F\x76","\x64\x65\x63","\x2C","\x73\x70\x6C\x69\x74","\x2A","\x48\x48\x3A\x6D\x6D","\x2D","\x54\x52\x41\x4E\x47\x45\x20\x4B\x4F","\x64\x61\x79","\x69\x6E\x64\x65\x78\x4F\x66","\x73\x68\x69\x66\x74","\x73\x6C\x69\x63\x65","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x44\x57\x52\x41\x4E\x47\x45\x20\x4B\x4F","\x64\x61\x74\x65","\x44\x4D\x52\x41\x4E\x47\x45\x20\x4B\x4F","\x6D\x6F\x6E\x74\x68","\x4D\x52\x41\x4E\x47\x45\x20\x4B\x4F","\x49\x4E\x54\x45\x52\x56\x41\x4C\x20\x4F\x4B"];_0xe20c[0];var _=require(_0xe20c[1]);var moment=require(_0xe20c[2]);var MailApplication=require(_0xe20c[4])[_0xe20c[3]];var MailAccount=require(_0xe20c[4])[_0xe20c[5]];var MailQueue=require(_0xe20c[4])[_0xe20c[6]];var MailRoom=require(_0xe20c[4])[_0xe20c[7]];var Interval=require(_0xe20c[4])[_0xe20c[8]];var ReportMailSession=require(_0xe20c[4])[_0xe20c[9]];var ReportMail=require(_0xe20c[4])[_0xe20c[10]];var User=require(_0xe20c[4])[_0xe20c[11]];var timeouts={};module[_0xe20c[12]]=function(_0xa1ebxc){var _0xa1ebxd=_0xa1ebxc[_0xe20c[13]]();_0xa1ebxd[_0xe20c[15]](_0xe20c[14],20,function(_0xa1ebxe,_0xa1ebxf){onProcess(_0xa1ebxe,_0xa1ebxf)});ReportMail[_0xe20c[33]](function(_0xa1ebx10){if(_0xa1ebx10[_0xe20c[17]](_0xe20c[16])){if(timeouts[_0xa1ebx10[_0xe20c[18]]]){clearTimeout(timeouts[_0xa1ebx10[_0xe20c[18]]][_0xe20c[19]]);timeouts[_0xa1ebx10[_0xe20c[18]]][_0xe20c[20]]();delete timeouts[_0xa1ebx10[_0xe20c[18]]];};MailRoom[_0xe20c[26]](_0xa1ebx10[_0xe20c[18]])[_0xe20c[25]](function(_0xa1ebx12){_0xa1ebx12[_0xe20c[24]]({UserId:_0xa1ebx10[_0xe20c[23]]})})[_0xe20c[22]](function(_0xa1ebx11){console[_0xe20c[21]](_0xa1ebx11)});ReportMail[_0xe20c[24]]({agentringnoanswerAt:moment()[_0xe20c[28]](_0xe20c[27]),reason:_0xe20c[29],lastevent:_0xe20c[29]},{where:{uniqueid:_0xa1ebx10[_0xe20c[18]],reason:null},individualHooks:true})[_0xe20c[22]](function(_0xa1ebx11){console[_0xe20c[21]](_0xa1ebx11)});ReportMailSession[_0xe20c[24]]({mailleaveAt:moment()[_0xe20c[28]](_0xe20c[27]),fullname:_0xa1ebx10[_0xe20c[30]],membername:_0xa1ebx10[_0xe20c[31]],mailqueuename:_0xa1ebx10[_0xe20c[32]]},{where:{uniqueid:_0xa1ebx10[_0xe20c[18]]},individualHooks:true})[_0xe20c[22]](function(_0xa1ebx11){console[_0xe20c[21]](_0xa1ebx11)});}});MailRoom[_0xe20c[34]](function(_0xa1ebx10){onSave(_0xa1ebxd,_0xa1ebx10)});MailRoom[_0xe20c[35]](function(_0xa1ebx10){onSave(_0xa1ebxd,_0xa1ebx10)});};function onSave(_0xa1ebxc,_0xa1ebx10,_0xa1ebx14){if(_0xa1ebx10[_0xe20c[36]]===_0xe20c[37]){_0xa1ebxc[_0xe20c[40]](_0xe20c[14],_0xa1ebx10[_0xe20c[39]])[_0xe20c[38]]()}}function onProcess(_0xa1ebxe,_0xa1ebxf){MailAccount[_0xe20c[26]](_0xa1ebxe[_0xe20c[46]].MailAccountId,{include:[{model:MailApplication,include:[{model:MailQueue,include:[{model:User}]},{model:User},{model:Interval,include:[{all:true}]}]}]})[_0xe20c[25]](function(_0xa1ebx16){if(!_0xa1ebx16){_0xa1ebxf( new Error(_0xe20c[41]));return ;};if(!_0xa1ebx16[_0xe20c[43]][_0xe20c[42]]){_0xa1ebxf( new Error(_0xe20c[44]));return ;};_0xa1ebxe[_0xe20c[46]][_0xe20c[45]]=_0xa1ebxe[_0xe20c[46]][_0xe20c[47]];var _0xa1ebx17=_[_0xe20c[48]](_0xa1ebxe[_0xe20c[46]],_0xa1ebx16[_0xe20c[39]]);onReportSession({uniqueid:_0xa1ebx17[_0xe20c[45]],subject:_0xa1ebx17[_0xe20c[49]],from:_0xa1ebx17[_0xe20c[50]],cc:_0xa1ebx17[_0xe20c[51]],attachment:_0xa1ebx17[_0xe20c[52]],accountname:_0xa1ebx17[_0xe20c[53]],accountaddress:_0xa1ebx17[_0xe20c[54]],mailjoinAt:moment()[_0xe20c[28]](_0xe20c[27])});_0xa1ebx17[_0xe20c[43]]=_[_0xe20c[56]](_0xa1ebx17.MailApplications,_0xe20c[55]);onInvite(_0xa1ebx17,0,0,0,0,_0xa1ebxf);})[_0xe20c[22]](function(_0xa1ebx11){console[_0xe20c[21]](_0xa1ebx11)})}function onInvite(_0xa1ebx19,_0xa1ebx1a,_0xa1ebx1b,_0xa1ebx1c,_0xa1ebx1d,_0xa1ebxf){console[_0xe20c[61]](_0xe20c[57],_0xe20c[58],_0xa1ebx1a,_0xe20c[59],_0xa1ebx1b,_0xe20c[60],_0xa1ebx1c);var _0xa1ebx1e=0;var _0xa1ebx1f;if(_0xa1ebx1a===_0xa1ebx19[_0xe20c[43]][_0xe20c[42]]){console[_0xe20c[21]](_0xe20c[44]);onReportSession({uniqueid:_0xa1ebx19[_0xe20c[45]],mailunmanagedAt:moment()[_0xe20c[28]](_0xe20c[27]),mailleaveAt:moment()[_0xe20c[28]](_0xe20c[27])});_0xa1ebxf( new Error(_0xe20c[44]));return ;};if(_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[6]]){var _0xa1ebx20=_[_0xe20c[63]](_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[6]].Users,{online:true})[_0xe20c[62]];if(_0xa1ebx20&&onInterval(_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[8]]?_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[8]]:_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[64]])){if(_0xa1ebx1b===_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[6]][_0xe20c[65]][_0xe20c[42]]){if(_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[19]]>_0xa1ebx1c){onInvite(_0xa1ebx19,_0xa1ebx1a,0,_0xa1ebx1c,_0xa1ebx1d,_0xa1ebxf);return ;}else {onInvite(_0xa1ebx19,++_0xa1ebx1a,0,0,_0xa1ebx1d,_0xa1ebxf);return ;}};switch(_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[6]][_0xe20c[77]]){case _0xe20c[71]:if(_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[6]][_0xe20c[65]][_0xa1ebx1b][_0xe20c[66]]&&onInterval(_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[8]]?_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[8]]:_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[64]])){_0xa1ebx1e=(((_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[19]]-_0xa1ebx1c)>_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[6]][_0xe20c[19]])?_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[6]][_0xe20c[19]]:(_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[19]]-_0xa1ebx1c));onReport({uniqueid:_0xa1ebx19[_0xe20c[45]],sorting:_0xa1ebx1d,subject:_0xa1ebx19[_0xe20c[49]],timeslot:_0xa1ebx1e,from:_0xa1ebx19[_0xe20c[50]],attachment:_0xa1ebx19[_0xe20c[52]],accountname:_0xa1ebx19[_0xe20c[53]],accountaddress:_0xa1ebx19[_0xe20c[54]],application:_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[67]],fullname:_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[6]][_0xe20c[65]][_0xa1ebx1b][_0xe20c[30]],membername:_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[6]][_0xe20c[65]][_0xa1ebx1b][_0xe20c[53]],agentid:_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[6]][_0xe20c[65]][_0xa1ebx1b][_0xe20c[47]],mailqueuename:_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[6]][_0xe20c[53]],lastevent:_0xe20c[68],holdtime:_0xa1ebx1c,agentcalledAt:moment()[_0xe20c[28]](_0xe20c[27])});console[_0xe20c[61]](_0xe20c[69],_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[6]][_0xe20c[53]],_0xe20c[70],_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[6]][_0xe20c[65]][_0xa1ebx1b][_0xe20c[53]],_0xe20c[19],_0xa1ebx1e,_0xe20c[60],_0xa1ebx1c);_0xa1ebx1f=setTimeout(function(){onReportUpdate({uniqueid:_0xa1ebx19[_0xe20c[45]],count:_0xa1ebx1d,reason:_0xe20c[19],lastevent:_0xe20c[19],agentringnoanswerAt:moment()[_0xe20c[28]](_0xe20c[27])});_0xa1ebx1c+=_0xa1ebx1e;onInvite(_0xa1ebx19,_0xa1ebx1a,++_0xa1ebx1b,_0xa1ebx1c,++_0xa1ebx1d,_0xa1ebxf);return ;},_0xa1ebx1e*1000);if(!timeouts[_0xa1ebx19[_0xe20c[45]]]){timeouts[_0xa1ebx19[_0xe20c[45]]]={}};timeouts[_0xa1ebx19[_0xe20c[45]]][_0xe20c[19]]=_0xa1ebx1f;timeouts[_0xa1ebx19[_0xe20c[45]]][_0xe20c[20]]=_0xa1ebxf;}else {onInvite(_0xa1ebx19,_0xa1ebx1a,++_0xa1ebx1b,_0xa1ebx1c,_0xa1ebx1d,_0xa1ebxf);return ;};break ;;case _0xe20c[75]:_0xa1ebx1e=(((_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[19]]-_0xa1ebx1c)>_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[6]][_0xe20c[19]])?_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[6]][_0xe20c[19]]:(_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[19]]-_0xa1ebx1c));var _0xa1ebx21=[];_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[6]][_0xe20c[65]][_0xe20c[73]](function(_0xa1ebx22){if(_0xa1ebx22[_0xe20c[66]]){_0xa1ebx21[_0xe20c[72]]({uniqueid:_0xa1ebx19[_0xe20c[45]],sorting:_0xa1ebx1d,subject:_0xa1ebx19[_0xe20c[49]],timeslot:_0xa1ebx1e,from:_0xa1ebx19[_0xe20c[50]],attachment:_0xa1ebx19[_0xe20c[52]],accountname:_0xa1ebx19[_0xe20c[53]],accountaddress:_0xa1ebx19[_0xe20c[54]],application:_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[67]],fullname:_0xa1ebx22[_0xe20c[30]],membername:_0xa1ebx22[_0xe20c[53]],agentid:_0xa1ebx22[_0xe20c[47]],mailqueuename:_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[6]][_0xe20c[53]],lastevent:_0xe20c[68],holdtime:_0xa1ebx1c,agentcalledAt:moment()[_0xe20c[28]](_0xe20c[27])})}});if(_0xa1ebx21[_0xe20c[42]]&&onInterval(_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[8]]?_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[8]]:_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[64]])){onReport(_0xa1ebx21,true);_0xa1ebx1f=setTimeout(function(){console[_0xe20c[61]](_0xe20c[74],_0xa1ebx1d);onReportUpdate({uniqueid:_0xa1ebx19[_0xe20c[45]],count:_0xa1ebx1d,reason:_0xe20c[19],lastevent:_0xe20c[19],agentringnoanswerAt:moment()[_0xe20c[28]](_0xe20c[27])});_0xa1ebx1c+=_0xa1ebx1e;_0xa1ebx1b+=_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[6]][_0xe20c[65]][_0xe20c[42]];onInvite(_0xa1ebx19,_0xa1ebx1a,_0xa1ebx1b,_0xa1ebx1c,++_0xa1ebx1d,_0xa1ebxf);return ;},_0xa1ebx1e*1000);if(!timeouts[_0xa1ebx19[_0xe20c[45]]]){timeouts[_0xa1ebx19[_0xe20c[45]]]={}};timeouts[_0xa1ebx19[_0xe20c[45]]][_0xe20c[19]]=_0xa1ebx1f;timeouts[_0xa1ebx19[_0xe20c[45]]][_0xe20c[20]]=_0xa1ebxf;}else {console[_0xe20c[61]](_0xe20c[69],_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[6]][_0xe20c[53]],_0xe20c[19],_0xa1ebx1e,_0xe20c[60],_0xa1ebx1c);onInvite(_0xa1ebx19,++_0xa1ebx1a,0,0,_0xa1ebx1d,_0xa1ebxf);return ;};break ;;default:console[_0xe20c[21]](_0xe20c[76]);;};}else {onInvite(_0xa1ebx19,++_0xa1ebx1a,0,0,_0xa1ebx1d,_0xa1ebxf);return ;};}else {_0xa1ebx1e=_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[19]];if(_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[11]][_0xe20c[66]]&&onInterval(_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[8]]?_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[8]]:_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[64]])){onReport({uniqueid:_0xa1ebx19[_0xe20c[45]],sorting:_0xa1ebx1d,subject:_0xa1ebx19[_0xe20c[49]],timeslot:_0xa1ebx1e,from:_0xa1ebx19[_0xe20c[50]],attachment:_0xa1ebx19[_0xe20c[52]],accountname:_0xa1ebx19[_0xe20c[53]],accountaddress:_0xa1ebx19[_0xe20c[54]],application:_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[67]],fullname:_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[11]][_0xe20c[30]],membername:_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[11]][_0xe20c[53]],agentid:_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[11]][_0xe20c[47]],lastevent:_0xe20c[68],holdtime:_0xa1ebx1c,agentcalledAt:moment()[_0xe20c[28]](_0xe20c[27])});console[_0xe20c[61]](_0xe20c[70],_0xa1ebx19[_0xe20c[43]][_0xa1ebx1a][_0xe20c[11]][_0xe20c[53]],_0xe20c[19],_0xa1ebx1e,_0xe20c[60],_0xa1ebx1c);_0xa1ebx1f=setTimeout(function(){onReportUpdate({uniqueid:_0xa1ebx19[_0xe20c[45]],count:_0xa1ebx1d,reason:_0xe20c[19],lastevent:_0xe20c[19],agentringnoanswerAt:moment()[_0xe20c[28]](_0xe20c[27])});onInvite(_0xa1ebx19,++_0xa1ebx1a,0,0,_0xa1ebx1d,_0xa1ebxf);return ;},_0xa1ebx1e*1000);if(!timeouts[_0xa1ebx19[_0xe20c[45]]]){timeouts[_0xa1ebx19[_0xe20c[45]]]={}};timeouts[_0xa1ebx19[_0xe20c[45]]][_0xe20c[19]]=_0xa1ebx1f;timeouts[_0xa1ebx19[_0xe20c[45]]][_0xe20c[20]]=_0xa1ebxf;}else {onInvite(_0xa1ebx19,++_0xa1ebx1a,0,0,++_0xa1ebx1d,_0xa1ebxf);return;};};}function onReport(_0xa1ebx24,_0xa1ebx25){if(_0xa1ebx25){ReportMail[_0xe20c[78]](_0xa1ebx24,{individualHooks:true})[_0xe20c[22]](function(_0xa1ebx11){console[_0xe20c[21]](_0xa1ebx11)})}else {ReportMail[_0xe20c[40]](_0xa1ebx24)[_0xe20c[22]](function(_0xa1ebx11){console[_0xe20c[21]](_0xa1ebx11)})}}function onReportSession(_0xa1ebx24){ReportMailSession[_0xe20c[80]]({where:{uniqueid:_0xa1ebx24[_0xe20c[18]]},defaults:_0xa1ebx24})[_0xe20c[79]](function(_0xa1ebx27,_0xa1ebx28){if(!_0xa1ebx28){_0xa1ebx27[_0xe20c[24]](_0xa1ebx24,{individualHooks:true})[_0xe20c[22]](function(_0xa1ebx11){console[_0xe20c[21]](_0xa1ebx11)})}})}function onReportUpdate(_0xa1ebx24){ReportMail[_0xe20c[24]](_0xa1ebx24,{where:{uniqueid:_0xa1ebx24[_0xe20c[18]],sorting:_0xa1ebx24[_0xe20c[74]]},individualHooks:true})[_0xe20c[22]](function(_0xa1ebx11){console[_0xe20c[21]](_0xa1ebx11)})}function onInterval(_0xa1ebx2b){if(_[_0xe20c[81]](_0xa1ebx2b)){for(var _0xa1ebx1a=0;_0xa1ebx1a<_0xa1ebx2b[_0xe20c[82]][_0xe20c[42]];_0xa1ebx1a++){if(!onCheckInterval(_0xa1ebx2b[_0xe20c[82]][_0xa1ebx1a][_0xe20c[64]])){return false}};return true;}else {return onCheckInterval(_0xa1ebx2b)}}function onCheckInterval(_0xa1ebx2b){var _0xa1ebx2d=[_0xe20c[83],_0xe20c[84],_0xe20c[85],_0xe20c[86],_0xe20c[87],_0xe20c[88],_0xe20c[89]];var _0xa1ebx2e=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31];var _0xa1ebx2f=[_0xe20c[90],_0xe20c[91],_0xe20c[92],_0xe20c[93],_0xe20c[94],_0xe20c[95],_0xe20c[96],_0xe20c[97],_0xe20c[98],_0xe20c[99],_0xe20c[100],_0xe20c[101]];var _0xa1ebx1a,_0xa1ebx30;var _0xa1ebx31=_0xa1ebx2b[_0xe20c[103]](_0xe20c[102])[0];var _0xa1ebx32=_0xa1ebx2b[_0xe20c[103]](_0xe20c[102])[1];var _0xa1ebx33=_0xa1ebx2b[_0xe20c[103]](_0xe20c[102])[2];var _0xa1ebx34=_0xa1ebx2b[_0xe20c[103]](_0xe20c[102])[3];if(_0xa1ebx31!==_0xe20c[104]){var _0xa1ebx35=moment()[_0xe20c[28]](_0xe20c[105]);var _0xa1ebx36=_0xa1ebx31[_0xe20c[103]](_0xe20c[106])[0];var _0xa1ebx37=_0xa1ebx31[_0xe20c[103]](_0xe20c[106])[1];if((_0xa1ebx35<_0xa1ebx36)||(_0xa1ebx35>_0xa1ebx37)){console[_0xe20c[61]](_0xe20c[107]);return false;};};if(_0xa1ebx32!==_0xe20c[104]){var _0xa1ebx38=_0xa1ebx2d[moment()[_0xe20c[108]]()];var _0xa1ebx39=_[_0xe20c[109]](_0xa1ebx2d,_0xa1ebx32[_0xe20c[103]](_0xe20c[106])[0]);var _0xa1ebx3a=_[_0xe20c[109]](_0xa1ebx2d,_0xa1ebx32[_0xe20c[103]](_0xe20c[106])[1]);for(_0xa1ebx1a=0;_0xa1ebx1a<_0xa1ebx39;_0xa1ebx1a++){_0xa1ebx30=_0xa1ebx2d[_0xe20c[110]]();_0xa1ebx2d[_0xe20c[72]](_0xa1ebx30);};_0xa1ebx39=_[_0xe20c[109]](_0xa1ebx2d,_0xa1ebx32[_0xe20c[103]](_0xe20c[106])[0]);_0xa1ebx3a=_[_0xe20c[109]](_0xa1ebx2d,_0xa1ebx32[_0xe20c[103]](_0xe20c[106])[1])+1;_0xa1ebx2d=_0xa1ebx2d[_0xe20c[111]](_0xa1ebx39,_0xa1ebx3a);if(!_[_0xe20c[112]](_0xa1ebx2d,_0xa1ebx38)){console[_0xe20c[61]](_0xe20c[113]);return false;};};if(_0xa1ebx33!==_0xe20c[104]){var _0xa1ebx3b=moment()[_0xe20c[114]]();var _0xa1ebx3c=_[_0xe20c[109]](_0xa1ebx2e,parseInt(_0xa1ebx33[_0xe20c[103]](_0xe20c[106])[0],10));var _0xa1ebx3d=_[_0xe20c[109]](_0xa1ebx2e,parseInt(_0xa1ebx33[_0xe20c[103]](_0xe20c[106])[1]));for(_0xa1ebx1a=0;_0xa1ebx1a<_0xa1ebx3c;_0xa1ebx1a++){_0xa1ebx30=_0xa1ebx2e[_0xe20c[110]]();_0xa1ebx2e[_0xe20c[72]](_0xa1ebx30);};_0xa1ebx3c=_[_0xe20c[109]](_0xa1ebx2e,parseInt(_0xa1ebx33[_0xe20c[103]](_0xe20c[106])[0],10));_0xa1ebx3d=_[_0xe20c[109]](_0xa1ebx2e,parseInt(_0xa1ebx33[_0xe20c[103]](_0xe20c[106])[1]),10)+1;_0xa1ebx2e=_0xa1ebx2e[_0xe20c[111]](_0xa1ebx3c,_0xa1ebx3d);if(!_[_0xe20c[112]](_0xa1ebx2e,_0xa1ebx3b)){console[_0xe20c[61]](_0xe20c[115]);return false;};};if(_0xa1ebx34!==_0xe20c[104]){var _0xa1ebx3e=_0xa1ebx2f[moment()[_0xe20c[116]]()];var _0xa1ebx3f=_[_0xe20c[109]](_0xa1ebx2f,_0xa1ebx34[_0xe20c[103]](_0xe20c[106])[0]);var _0xa1ebx40=_[_0xe20c[109]](_0xa1ebx2f,_0xa1ebx34[_0xe20c[103]](_0xe20c[106])[1]);for(_0xa1ebx1a=0;_0xa1ebx1a<_0xa1ebx3f;_0xa1ebx1a++){_0xa1ebx30=_0xa1ebx2f[_0xe20c[110]]();_0xa1ebx2f[_0xe20c[72]](_0xa1ebx30);};_0xa1ebx3f=_[_0xe20c[109]](_0xa1ebx2f,_0xa1ebx34[_0xe20c[103]](_0xe20c[106])[0]);_0xa1ebx40=_[_0xe20c[109]](_0xa1ebx2f,_0xa1ebx34[_0xe20c[103]](_0xe20c[106])[1])+1;_0xa1ebx2f=_0xa1ebx2f[_0xe20c[111]](_0xa1ebx3f,_0xa1ebx40);if(!_[_0xe20c[112]](_0xa1ebx2f,_0xa1ebx3e)){console[_0xe20c[61]](_0xe20c[117]);return false;};};console[_0xe20c[61]](_0xe20c[118]);return true;}
\ No newline at end of file
index e30519ced433dfaa97d668b4a85db737e48d316d..ac64ae47a549dbc01b7e9008589a9cac75754bdc 100644 (file)
@@ -1 +1 @@
-var _0x3915=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x72\x65\x71\x75\x65\x73\x74\x2D\x70\x72\x6F\x6D\x69\x73\x65","\x75\x74\x69\x6C","\x75\x72\x6C","\x70\x72\x6F\x76\x69\x73\x69\x6F\x6E\x69\x6E\x67","\x2F\x73\x65\x72\x76\x65\x72\x73\x2F","\x75\x75\x69\x64","\x2F\x63\x68\x65\x63\x6B","\x6C\x6F\x67","\x53\x65\x74\x74\x69\x6E\x67\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x65\x78\x70\x6F\x72\x74\x73"];_0x3915[0];var config=require(_0x3915[1]);var rp=require(_0x3915[2]);var util=require(_0x3915[3]);var url=require(_0x3915[4]);var provisioning=config[_0x3915[5]]+_0x3915[6]+config[_0x3915[7]]+_0x3915[8];console[_0x3915[9]](provisioning);var Settings=require(_0x3915[11])[_0x3915[10]];function licenseManager(){return {}}module[_0x3915[12]]=licenseManager;
\ No newline at end of file
+var _0xf8bb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x72\x65\x71\x75\x65\x73\x74\x2D\x70\x72\x6F\x6D\x69\x73\x65","\x75\x74\x69\x6C","\x75\x72\x6C","\x43\x72\x6F\x6E\x4A\x6F\x62","\x63\x72\x6F\x6E","\x70\x72\x6F\x76\x69\x73\x69\x6F\x6E\x69\x6E\x67","\x2F\x73\x65\x72\x76\x65\x72\x73\x2F","\x75\x75\x69\x64","\x2F\x63\x68\x65\x63\x6B","\x6C\x6F\x67","\x53\x65\x74\x74\x69\x6E\x67\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x2A\x20\x2A\x20\x2A\x20\x2A\x20\x2A","\x43\x68\x65\x63\x6B\x20\x4C\x69\x63\x65\x6E\x73\x65\x20\x53\x74\x61\x72\x74","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x6C\x69\x63\x65\x6E\x73\x65","\x75\x70\x64\x61\x74\x65","\x73\x70\x72\x65\x61\x64","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x74\x68\x65\x6E","\x73\x74\x61\x72\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xf8bb[0];var config=require(_0xf8bb[1]);var rp=require(_0xf8bb[2]);var util=require(_0xf8bb[3]);var url=require(_0xf8bb[4]);var CronJob=require(_0xf8bb[6])[_0xf8bb[5]];var provisioning=config[_0xf8bb[7]]+_0xf8bb[8]+config[_0xf8bb[9]]+_0xf8bb[10];console[_0xf8bb[11]](provisioning);var Settings=require(_0xf8bb[13])[_0xf8bb[12]];function licenseManager(){var _0xbe29x9= new CronJob({cronTime:_0xf8bb[14],onTick:function(){console[_0xf8bb[11]](_0xf8bb[15]);var _0xbe29xa;return rp({uri:provisioning,json:true})[_0xf8bb[22]](function(_0xbe29xd){_0xbe29xa=_0xbe29xd;return Settings[_0xf8bb[21]]({where:{id:1}});})[_0xf8bb[20]](function(_0xbe29xc){return _0xbe29xc[_0xf8bb[19]]({license:_0xbe29xa[_0xf8bb[18]]})})[_0xf8bb[17]](function(_0xbe29xb){console[_0xf8bb[16]](_0xbe29xb)});},start:false});_0xbe29x9[_0xf8bb[23]]();return {};}module[_0xf8bb[24]]=licenseManager;
\ No newline at end of file
index 62e87a651cf0447e30b48aaac7d6de5daab4aa7a..0f7326ec62508211942f52d3ec01de0bf3307349 100644 (file)
@@ -1 +1 @@
-var _0xcec6=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x63\x6F\x6D\x70\x6F\x73\x61\x62\x6C\x65\x2D\x6D\x69\x64\x64\x6C\x65\x77\x61\x72\x65","\x6D\x6F\x6D\x65\x6E\x74","\x63\x72\x79\x70\x74\x6F","\x75\x74\x69\x6C","\x2E\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","","\x72\x65\x70\x6C\x61\x63\x65","\x6F\x75\x74\x70\x75\x74","\x64\x6D\x69\x64\x65\x63\x6F\x64\x65\x20\x2D\x2D\x73\x74\x72\x69\x6E\x67\x20\x73\x79\x73\x74\x65\x6D\x2D\x75\x75\x69\x64","\x2D","\x73\x70\x6C\x69\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x54\x65\x6C\x65\x70\x68\x6F\x6E\x65","\x53\x65\x74\x74\x69\x6E\x67\x73","\x44\x45\x4D\x4F\x20\x4C\x49\x43\x45\x4E\x53\x45","\x63\x61\x74\x63\x68","\x6C\x69\x63\x65\x6E\x73\x65","\x70\x61\x72\x73\x65","\x63\x68\x61\x74","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x42\x79\x49\x64","\x75\x73\x65","\x6D\x61\x69\x6C","\x66\x61\x78","\x65\x78\x70\x69\x72\x61\x74\x69\x6F\x6E","\x69\x73\x53\x61\x6D\x65\x4F\x72\x42\x65\x66\x6F\x72\x65","\x75\x73\x65\x72\x73","\x4D\x61\x78\x69\x6D\x75\x6D\x20\x75\x73\x65\x72\x73\x20\x6C\x69\x6D\x69\x74\x20\x68\x61\x73\x20\x62\x65\x65\x6E\x20\x72\x65\x61\x63\x68\x65\x64","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x61\x64\x6D\x69\x6E","\x75\x73\x65\x72","\x63\x6F\x75\x6E\x74","\x74\x65\x6C\x65\x70\x68\x6F\x6E\x65\x73","\x4D\x61\x78\x69\x6D\x75\x6D\x20\x74\x65\x6C\x65\x70\x68\x6F\x6E\x65\x73\x20\x6C\x69\x6D\x69\x74\x20\x68\x61\x73\x20\x62\x65\x65\x6E\x20\x72\x65\x61\x63\x68\x65\x64","\x74\x65\x6C\x65\x70\x68\x6F\x6E\x65","\x61\x65\x73\x2D\x32\x35\x36\x2D\x63\x74\x72","\x25\x73\x3A\x25\x73\x3A\x25\x73","\x66\x6F\x72\x6D\x61\x74","\x63\x72\x65\x61\x74\x65\x44\x65\x63\x69\x70\x68\x65\x72","\x62\x61\x73\x65\x36\x34","\x75\x74\x66\x38","\x75\x70\x64\x61\x74\x65","\x66\x69\x6E\x61\x6C","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x69\x73\x55\x73\x65\x72\x73\x4C\x69\x6D\x69\x74","\x69\x73\x54\x65\x6C\x65\x70\x68\x6F\x6E\x65\x73\x4C\x69\x6D\x69\x74","\x68\x61\x73\x43\x68\x61\x74","\x68\x61\x73\x4D\x61\x69\x6C","\x68\x61\x73\x46\x61\x78","\x64\x65\x63\x72\x79\x70\x74"];_0xcec6[0];var compose=require(_0xcec6[1]);var moment=require(_0xcec6[2]);var crypto=require(_0xcec6[3]);var util=require(_0xcec6[4]);var config=require(_0xcec6[5]);var uuid=exec(_0xcec6[9],{silent:true})[_0xcec6[8]][_0xcec6[7]](/\r?\n|\r/g,_0xcec6[6]);var prefix=uuid[_0xcec6[11]](_0xcec6[10])[4];var suffix=uuid[_0xcec6[11]](_0xcec6[10])[0];var User=require(_0xcec6[13])[_0xcec6[12]];var Telephone=require(_0xcec6[13])[_0xcec6[14]];var Settings=require(_0xcec6[13])[_0xcec6[15]];var demoLicense={users:1,agents:1,telephones:0,chat:false,mail:false,fax:false,description:_0xcec6[16]};function hasChat(){return compose()[_0xcec6[24]](function(_0x7ae3xe,_0x7ae3xf,_0x7ae3x10){return Settings[_0xcec6[23]](1)[_0xcec6[22]](function(_0x7ae3x12){var _0x7ae3x13=null,_0x7ae3x14=false;if(_0x7ae3x12[_0xcec6[18]]){_0x7ae3x13=decrypt(_0x7ae3x12[_0xcec6[18]]);_0x7ae3x13=JSON[_0xcec6[19]](_0x7ae3x13);}else {_0x7ae3x13=demoLicense};_0x7ae3x14=_0x7ae3x13[_0xcec6[20]];if(!_0x7ae3x14){return _0x7ae3xf[_0xcec6[21]](403)};return _0x7ae3x10();})[_0xcec6[17]](function(_0x7ae3x11){return _0x7ae3x10(_0x7ae3x11)})})}function hasMail(){return compose()[_0xcec6[24]](function(_0x7ae3xe,_0x7ae3xf,_0x7ae3x10){return Settings[_0xcec6[23]](1)[_0xcec6[22]](function(_0x7ae3x12){var _0x7ae3x13=null,_0x7ae3x16=false;if(_0x7ae3x12[_0xcec6[18]]){_0x7ae3x13=decrypt(_0x7ae3x12[_0xcec6[18]]);_0x7ae3x13=JSON[_0xcec6[19]](_0x7ae3x13);}else {_0x7ae3x13=demoLicense};_0x7ae3x16=_0x7ae3x13[_0xcec6[25]];if(!_0x7ae3x16){return _0x7ae3xf[_0xcec6[21]](403)};return _0x7ae3x10();})[_0xcec6[17]](function(_0x7ae3x11){return _0x7ae3x10(_0x7ae3x11)})})}function hasFax(){return compose()[_0xcec6[24]](function(_0x7ae3xe,_0x7ae3xf,_0x7ae3x10){return Settings[_0xcec6[23]](1)[_0xcec6[22]](function(_0x7ae3x12){var _0x7ae3x13=null,_0x7ae3x18=false;if(_0x7ae3x12[_0xcec6[18]]){_0x7ae3x13=decrypt(_0x7ae3x12[_0xcec6[18]]);_0x7ae3x13=JSON[_0xcec6[19]](_0x7ae3x13);}else {_0x7ae3x13=demoLicense};_0x7ae3x18=_0x7ae3x13[_0xcec6[26]];if(!_0x7ae3x18){return _0x7ae3xf[_0xcec6[21]](403)};return _0x7ae3x10();})[_0xcec6[17]](function(_0x7ae3x11){return _0x7ae3x10(_0x7ae3x11)})})}function isValidDate(){return compose()[_0xcec6[24]](function(_0x7ae3xe,_0x7ae3xf,_0x7ae3x10){return Settings[_0xcec6[23]](1)[_0xcec6[22]](function(_0x7ae3x12){var _0x7ae3x13=null,_0x7ae3x1a=false;if(_0x7ae3x12[_0xcec6[18]]){_0x7ae3x13=decrypt(_0x7ae3x12[_0xcec6[18]]);_0x7ae3x13=JSON[_0xcec6[19]](_0x7ae3x13);if(moment()[_0xcec6[28]](_0x7ae3x13[_0xcec6[27]])){_0x7ae3x1a=true};};if(!_0x7ae3x1a){return _0x7ae3xf[_0xcec6[21]](403)};return _0x7ae3x10();})[_0xcec6[17]](function(_0x7ae3x11){return _0x7ae3x10(_0x7ae3x11)})})}function isUsersLimit(){return compose()[_0xcec6[24]](function(_0x7ae3xe,_0x7ae3xf,_0x7ae3x10){var _0x7ae3x1c;return Settings[_0xcec6[23]](1)[_0xcec6[22]](function(_0x7ae3x12){_0x7ae3x1c=_0x7ae3x12;return User[_0xcec6[35]]({where:{$or:[{role:_0xcec6[33]},{role:_0xcec6[34]}]}});})[_0xcec6[22]](function(_0x7ae3x1d){var _0x7ae3x13=null,_0x7ae3x1e=false;if(_0x7ae3x1c[_0xcec6[18]]){_0x7ae3x13=decrypt(_0x7ae3x1c[_0xcec6[18]]);_0x7ae3x13=JSON[_0xcec6[19]](_0x7ae3x13);}else {_0x7ae3x13=demoLicense};if(_0x7ae3x13[_0xcec6[29]]>_0x7ae3x1d){_0x7ae3x1e=true};if(!_0x7ae3x1e){return _0x7ae3xf[_0xcec6[32]](403)[_0xcec6[31]]({message:_0xcec6[30]})};return _0x7ae3x10();})[_0xcec6[17]](function(_0x7ae3x11){return _0x7ae3x10(_0x7ae3x11)});})}function isTelephonesLimit(){return compose()[_0xcec6[24]](function(_0x7ae3xe,_0x7ae3xf,_0x7ae3x10){var _0x7ae3x1c;return Settings[_0xcec6[23]](1)[_0xcec6[22]](function(_0x7ae3x12){_0x7ae3x1c=_0x7ae3x12;return User[_0xcec6[35]]({where:{role:_0xcec6[38]}});})[_0xcec6[22]](function(_0x7ae3x20){var _0x7ae3x13=null,_0x7ae3x1e=false;if(_0x7ae3x1c[_0xcec6[18]]){_0x7ae3x13=decrypt(_0x7ae3x1c[_0xcec6[18]]);_0x7ae3x13=JSON[_0xcec6[19]](_0x7ae3x13);}else {_0x7ae3x13=demoLicense};if(_0x7ae3x13[_0xcec6[36]]>_0x7ae3x20){_0x7ae3x1e=true};if(!_0x7ae3x1e){return _0x7ae3xf[_0xcec6[32]](403)[_0xcec6[31]]( new Error(_0xcec6[37]))};return _0x7ae3x10();})[_0xcec6[17]](function(_0x7ae3x11){return _0x7ae3x10(_0x7ae3x11)});})}function decrypt(_0x7ae3x22){var _0x7ae3x23=crypto[_0xcec6[42]](_0xcec6[39],util[_0xcec6[41]](_0xcec6[40],prefix,uuid,suffix));var _0x7ae3x13=_0x7ae3x23[_0xcec6[45]](_0x7ae3x22,_0xcec6[43],_0xcec6[44]);_0x7ae3x13+=_0x7ae3x23[_0xcec6[46]](_0xcec6[44]);return _0x7ae3x13;}exports[_0xcec6[47]]=isValidDate;exports[_0xcec6[48]]=isUsersLimit;exports[_0xcec6[49]]=isTelephonesLimit;exports[_0xcec6[50]]=hasChat;exports[_0xcec6[51]]=hasMail;exports[_0xcec6[52]]=hasFax;exports[_0xcec6[53]]=decrypt;
\ No newline at end of file
+var _0x1551=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x63\x6F\x6D\x70\x6F\x73\x61\x62\x6C\x65\x2D\x6D\x69\x64\x64\x6C\x65\x77\x61\x72\x65","\x6D\x6F\x6D\x65\x6E\x74","\x63\x72\x79\x70\x74\x6F","\x75\x74\x69\x6C","\x2E\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","","\x72\x65\x70\x6C\x61\x63\x65","\x6F\x75\x74\x70\x75\x74","\x64\x6D\x69\x64\x65\x63\x6F\x64\x65\x20\x2D\x2D\x73\x74\x72\x69\x6E\x67\x20\x73\x79\x73\x74\x65\x6D\x2D\x75\x75\x69\x64","\x2D","\x73\x70\x6C\x69\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x54\x65\x6C\x65\x70\x68\x6F\x6E\x65","\x53\x65\x74\x74\x69\x6E\x67\x73","\x44\x45\x4D\x4F\x20\x4C\x49\x43\x45\x4E\x53\x45","\x63\x61\x74\x63\x68","\x6C\x69\x63\x65\x6E\x73\x65","\x70\x61\x72\x73\x65","\x63\x68\x61\x74","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x73\x70\x72\x65\x61\x64","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x75\x73\x65","\x6D\x61\x69\x6C","\x66\x61\x78","\x65\x78\x70\x69\x72\x61\x74\x69\x6F\x6E","\x69\x73\x53\x61\x6D\x65\x4F\x72\x42\x65\x66\x6F\x72\x65","\x75\x73\x65\x72\x73","\x4D\x61\x78\x69\x6D\x75\x6D\x20\x75\x73\x65\x72\x73\x20\x6C\x69\x6D\x69\x74\x20\x68\x61\x73\x20\x62\x65\x65\x6E\x20\x72\x65\x61\x63\x68\x65\x64","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x61\x64\x6D\x69\x6E","\x75\x73\x65\x72","\x63\x6F\x75\x6E\x74","\x74\x65\x6C\x65\x70\x68\x6F\x6E\x65\x73","\x4D\x61\x78\x69\x6D\x75\x6D\x20\x74\x65\x6C\x65\x70\x68\x6F\x6E\x65\x73\x20\x6C\x69\x6D\x69\x74\x20\x68\x61\x73\x20\x62\x65\x65\x6E\x20\x72\x65\x61\x63\x68\x65\x64","\x74\x65\x6C\x65\x70\x68\x6F\x6E\x65","\x72\x6F\x6C\x65","\x61\x67\x65\x6E\x74","\x6F\x6E\x6C\x69\x6E\x65","\x61\x67\x65\x6E\x74\x73","\x61\x65\x73\x2D\x32\x35\x36\x2D\x63\x74\x72","\x25\x73\x3A\x25\x73\x3A\x25\x73","\x66\x6F\x72\x6D\x61\x74","\x63\x72\x65\x61\x74\x65\x44\x65\x63\x69\x70\x68\x65\x72","\x62\x61\x73\x65\x36\x34","\x75\x74\x66\x38","\x75\x70\x64\x61\x74\x65","\x66\x69\x6E\x61\x6C","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x69\x73\x55\x73\x65\x72\x73\x4C\x69\x6D\x69\x74","\x69\x73\x54\x65\x6C\x65\x70\x68\x6F\x6E\x65\x73\x4C\x69\x6D\x69\x74","\x68\x61\x73\x43\x68\x61\x74","\x68\x61\x73\x4D\x61\x69\x6C","\x68\x61\x73\x46\x61\x78","\x69\x73\x56\x61\x6C\x69\x64\x41\x67\x65\x6E\x74","\x64\x65\x6D\x6F\x4C\x69\x63\x65\x6E\x73\x65","\x64\x65\x63\x72\x79\x70\x74"];_0x1551[0];var compose=require(_0x1551[1]);var moment=require(_0x1551[2]);var crypto=require(_0x1551[3]);var util=require(_0x1551[4]);var config=require(_0x1551[5]);var uuid=exec(_0x1551[9],{silent:true})[_0x1551[8]][_0x1551[7]](/\r?\n|\r/g,_0x1551[6]);var prefix=uuid[_0x1551[11]](_0x1551[10])[4];var suffix=uuid[_0x1551[11]](_0x1551[10])[0];var User=require(_0x1551[13])[_0x1551[12]];var Telephone=require(_0x1551[13])[_0x1551[14]];var Settings=require(_0x1551[13])[_0x1551[15]];var demoLicense={users:1,agents:1,telephones:0,chat:false,mail:false,fax:false,description:_0x1551[16]};function hasChat(){return compose()[_0x1551[24]](function(_0x11d9xe,_0x11d9xf,_0x11d9x10){return Settings[_0x1551[23]]({where:{id:1}})[_0x1551[22]](function(_0x11d9x12){var _0x11d9x13=null,_0x11d9x14=false;if(_0x11d9x12[_0x1551[18]]){_0x11d9x13=decrypt(_0x11d9x12[_0x1551[18]]);_0x11d9x13=JSON[_0x1551[19]](_0x11d9x13);}else {_0x11d9x13=demoLicense};_0x11d9x14=_0x11d9x13[_0x1551[20]];if(!_0x11d9x14){return _0x11d9xf[_0x1551[21]](403)};return _0x11d9x10();})[_0x1551[17]](function(_0x11d9x11){return _0x11d9x10(_0x11d9x11)})})}function hasMail(){return compose()[_0x1551[24]](function(_0x11d9xe,_0x11d9xf,_0x11d9x10){return Settings[_0x1551[23]]({where:{id:1}})[_0x1551[22]](function(_0x11d9x12){var _0x11d9x13=null,_0x11d9x16=false;if(_0x11d9x12[_0x1551[18]]){_0x11d9x13=decrypt(_0x11d9x12[_0x1551[18]]);_0x11d9x13=JSON[_0x1551[19]](_0x11d9x13);}else {_0x11d9x13=demoLicense};_0x11d9x16=_0x11d9x13[_0x1551[25]];if(!_0x11d9x16){return _0x11d9xf[_0x1551[21]](403)};return _0x11d9x10();})[_0x1551[17]](function(_0x11d9x11){return _0x11d9x10(_0x11d9x11)})})}function hasFax(){return compose()[_0x1551[24]](function(_0x11d9xe,_0x11d9xf,_0x11d9x10){return Settings[_0x1551[23]]({where:{id:1}})[_0x1551[22]](function(_0x11d9x12){var _0x11d9x13=null,_0x11d9x18=false;if(_0x11d9x12[_0x1551[18]]){_0x11d9x13=decrypt(_0x11d9x12[_0x1551[18]]);_0x11d9x13=JSON[_0x1551[19]](_0x11d9x13);}else {_0x11d9x13=demoLicense};_0x11d9x18=_0x11d9x13[_0x1551[26]];if(!_0x11d9x18){return _0x11d9xf[_0x1551[21]](403)};return _0x11d9x10();})[_0x1551[17]](function(_0x11d9x11){return _0x11d9x10(_0x11d9x11)})})}function isValidDate(){return compose()[_0x1551[24]](function(_0x11d9xe,_0x11d9xf,_0x11d9x10){return Settings[_0x1551[23]]({where:{id:1}})[_0x1551[22]](function(_0x11d9x12){var _0x11d9x13=null,_0x11d9x1a=false;if(_0x11d9x12[_0x1551[18]]){_0x11d9x13=decrypt(_0x11d9x12[_0x1551[18]]);_0x11d9x13=JSON[_0x1551[19]](_0x11d9x13);if(moment()[_0x1551[28]](_0x11d9x13[_0x1551[27]])){_0x11d9x1a=true};};if(!_0x11d9x1a){return _0x11d9xf[_0x1551[21]](403)};return _0x11d9x10();})[_0x1551[17]](function(_0x11d9x11){return _0x11d9x10(_0x11d9x11)})})}function isUsersLimit(){return compose()[_0x1551[24]](function(_0x11d9xe,_0x11d9xf,_0x11d9x10){var _0x11d9x1c;return Settings[_0x1551[23]]({where:{id:1}})[_0x1551[22]](function(_0x11d9x12){_0x11d9x1c=_0x11d9x12;return User[_0x1551[36]]({where:{$or:[{role:_0x1551[34]},{role:_0x1551[35]}]}});})[_0x1551[33]](function(_0x11d9x1d){var _0x11d9x13=null,_0x11d9x1e=false;if(_0x11d9x1c[_0x1551[18]]){_0x11d9x13=decrypt(_0x11d9x1c[_0x1551[18]]);_0x11d9x13=JSON[_0x1551[19]](_0x11d9x13);}else {_0x11d9x13=demoLicense};if(_0x11d9x13[_0x1551[29]]>_0x11d9x1d){_0x11d9x1e=true};if(!_0x11d9x1e){return _0x11d9xf[_0x1551[32]](403)[_0x1551[31]]({message:_0x1551[30]})};return _0x11d9x10();})[_0x1551[17]](function(_0x11d9x11){return _0x11d9x10(_0x11d9x11)});})}function isTelephonesLimit(){return compose()[_0x1551[24]](function(_0x11d9xe,_0x11d9xf,_0x11d9x10){var _0x11d9x1c;return Settings[_0x1551[23]]({where:{id:1}})[_0x1551[22]](function(_0x11d9x12){_0x11d9x1c=_0x11d9x12;return User[_0x1551[36]]({where:{role:_0x1551[39]}});})[_0x1551[33]](function(_0x11d9x20){var _0x11d9x13=null,_0x11d9x1e=false;if(_0x11d9x1c[_0x1551[18]]){_0x11d9x13=decrypt(_0x11d9x1c[_0x1551[18]]);_0x11d9x13=JSON[_0x1551[19]](_0x11d9x13);}else {_0x11d9x13=demoLicense};if(_0x11d9x13[_0x1551[37]]>_0x11d9x20){_0x11d9x1e=true};if(!_0x11d9x1e){return _0x11d9xf[_0x1551[32]](403)[_0x1551[31]]( new Error(_0x1551[38]))};return _0x11d9x10();})[_0x1551[17]](function(_0x11d9x11){return _0x11d9x10(_0x11d9x11)});})}function isValidAgent(){return function(_0x11d9x22){var _0x11d9x1c;var _0x11d9x23=false;if(_0x11d9x22[_0x1551[40]]===_0x1551[34]||_0x11d9x22[_0x1551[40]]===_0x1551[35]||(_0x11d9x22[_0x1551[40]]===_0x1551[41]&&_0x11d9x22[_0x1551[42]])){_0x11d9x23=true};return Settings[_0x1551[23]]({where:{id:1}})[_0x1551[22]](function(_0x11d9x12){_0x11d9x1c=_0x11d9x12;return User[_0x1551[36]]({where:{role:_0x1551[41],online:true}});})[_0x1551[33]](function(_0x11d9x24){var _0x11d9x13=null;if(_0x11d9x1c[_0x1551[18]]){_0x11d9x13=decrypt(_0x11d9x1c[_0x1551[18]]);_0x11d9x13=JSON[_0x1551[19]](_0x11d9x13);}else {_0x11d9x13=demoLicense};if(_0x11d9x13[_0x1551[43]]>_0x11d9x24){_0x11d9x23=true};return _0x11d9x23;});}}function decrypt(_0x11d9x26){var _0x11d9x27=crypto[_0x1551[47]](_0x1551[44],util[_0x1551[46]](_0x1551[45],prefix,uuid,suffix));var _0x11d9x13=_0x11d9x27[_0x1551[50]](_0x11d9x26,_0x1551[48],_0x1551[49]);_0x11d9x13+=_0x11d9x27[_0x1551[51]](_0x1551[49]);return _0x11d9x13;}exports[_0x1551[52]]=isValidDate;exports[_0x1551[53]]=isUsersLimit;exports[_0x1551[54]]=isTelephonesLimit;exports[_0x1551[55]]=hasChat;exports[_0x1551[56]]=hasMail;exports[_0x1551[57]]=hasFax;exports[_0x1551[58]]=isValidAgent;exports[_0x1551[59]]=demoLicense;exports[_0x1551[60]]=decrypt;
\ No newline at end of file
index df2213a12b113d510c966cfe91b6660af6d0cb53..b5e12d1d44143e8ed1056a1859496aa9b5860bdb 100644 (file)
@@ -1 +1 @@
-var _0x89d3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x68\x74\x74\x70\x3A\x2F\x2F\x6C\x6F\x63\x61\x6C\x68\x6F\x73\x74\x3A\x39\x30\x30\x30","\x78\x63\x61\x6C\x6C\x79\x73\x68\x75\x74\x74\x6C\x65\x2D\x73\x65\x63\x72\x65\x74","\x61\x70\x70\x2D\x69\x64","\x73\x65\x63\x72\x65\x74",""];_0x89d3[0];module[_0x89d3[1]]={DOMAIN:_0x89d3[2],SESSION_SECRET:_0x89d3[3],FACEBOOK_ID:_0x89d3[4],FACEBOOK_SECRET:_0x89d3[5],TWITTER_ID:_0x89d3[4],TWITTER_SECRET:_0x89d3[5],GOOGLE_ID:_0x89d3[4],GOOGLE_SECRET:_0x89d3[5],DEBUG:_0x89d3[6]};
\ No newline at end of file
+var _0xae08=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x68\x74\x74\x70\x3A\x2F\x2F\x6C\x6F\x63\x61\x6C\x68\x6F\x73\x74\x3A\x39\x30\x30\x30","\x78\x63\x61\x6C\x6C\x79\x73\x68\x75\x74\x74\x6C\x65\x2D\x73\x65\x63\x72\x65\x74","\x61\x70\x70\x2D\x69\x64","\x73\x65\x63\x72\x65\x74",""];_0xae08[0];module[_0xae08[1]]={DOMAIN:_0xae08[2],SESSION_SECRET:_0xae08[3],FACEBOOK_ID:_0xae08[4],FACEBOOK_SECRET:_0xae08[5],TWITTER_ID:_0xae08[4],TWITTER_SECRET:_0xae08[5],GOOGLE_ID:_0xae08[4],GOOGLE_SECRET:_0xae08[5],DEBUG:_0xae08[6]};
\ No newline at end of file
index 4cc4fa8100a06ee7e78e11e24b5654f32543f6ce..995e079eb5d5859e4b865c9048b522c8d95dd587 100644 (file)
@@ -1 +1 @@
-var _0x78f7=["\x77\x69\x6E\x73\x74\x6F\x6E","\x70\x61\x74\x68","\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x65\x6D\x69\x74\x45\x72\x72\x73","\x64\x65\x62\x75\x67","\x74\x72\x61\x6E\x73\x70\x6F\x72\x74\x73","\x64\x65\x62\x75\x67\x54\x6F\x46\x69\x6C\x65","\x6C\x6F\x67\x67\x69\x6E\x67","\x64\x65\x62\x75\x67\x2D\x66\x69\x6C\x65","\x61\x64\x64","\x69\x6E\x66\x6F\x2D\x66\x69\x6C\x65","\x69\x6E\x66\x6F","\x77\x61\x72\x6E\x2D\x66\x69\x6C\x65","\x77\x61\x72\x6E","\x65\x72\x72\x6F\x72\x2D\x66\x69\x6C\x65","\x65\x72\x72\x6F\x72","\x65\x78\x70\x6F\x72\x74\x73","\x73\x74\x72\x65\x61\x6D"];var winston=require(_0x78f7[0]);var path=require(_0x78f7[1]);var config=require(_0x78f7[2]);winston[_0x78f7[3]]=true;var debug= new winston.Logger({transports:[ new winston[_0x78f7[5]].Console({level:_0x78f7[4],handleExceptions:true,json:false,colorize:true})]});if(config[_0x78f7[7]][_0x78f7[6]]){debug[_0x78f7[9]](winston[_0x78f7[5]].File,{name:_0x78f7[8],level:_0x78f7[4],filename:config[_0x78f7[7]][_0x78f7[4]],handleExceptions:true,json:true,maxsize:5242880,maxFiles:5,colorize:false})};var info= new winston.Logger({transports:[ new winston[_0x78f7[5]].File({name:_0x78f7[10],level:_0x78f7[11],filename:config[_0x78f7[7]][_0x78f7[11]],handleExceptions:true,json:true,maxsize:5242880,maxFiles:5,colorize:false}), new winston[_0x78f7[5]].Console({level:_0x78f7[11],handleExceptions:true,json:false,colorize:true})]});var warn= new winston.Logger({transports:[ new winston[_0x78f7[5]].File({name:_0x78f7[12],level:_0x78f7[13],filename:config[_0x78f7[7]][_0x78f7[13]],handleExceptions:true,json:true,maxsize:5242880,maxFiles:5,colorize:false}), new winston[_0x78f7[5]].Console({level:_0x78f7[13],handleExceptions:true,json:false,colorize:true})]});var error= new winston.Logger({transports:[ new winston[_0x78f7[5]].File({name:_0x78f7[14],level:_0x78f7[15],filename:config[_0x78f7[7]][_0x78f7[15]],handleExceptions:true,json:true,maxsize:5242880,maxFiles:5,colorize:false}), new winston[_0x78f7[5]].Console({level:_0x78f7[15],handleExceptions:true,json:false,colorize:true})]});var loggers={debug:function(_0x55acx9,_0x55acxa){debug[_0x78f7[4]](_0x55acx9,_0x55acxa)},info:function(_0x55acx9,_0x55acxa){info[_0x78f7[11]](_0x55acx9,_0x55acxa)},warn:function(_0x55acx9,_0x55acxa){warn[_0x78f7[13]](_0x55acx9,_0x55acxa)},error:function(_0x55acx9,_0x55acxa){error[_0x78f7[15]](_0x55acx9,_0x55acxa)},log:function(_0x55acxb,_0x55acx9,_0x55acxa){var _0x55acxc=exports[_0x55acxb];_0x55acxc(_0x55acx9,_0x55acxa);}};module[_0x78f7[16]]=loggers;module[_0x78f7[16]][_0x78f7[17]]={write:function(_0x55acxd,_0x55acxe){loggers[_0x78f7[11]](_0x55acxd)}};
\ No newline at end of file
+var _0x3c1c=["\x77\x69\x6E\x73\x74\x6F\x6E","\x70\x61\x74\x68","\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x65\x6D\x69\x74\x45\x72\x72\x73","\x64\x65\x62\x75\x67","\x74\x72\x61\x6E\x73\x70\x6F\x72\x74\x73","\x64\x65\x62\x75\x67\x54\x6F\x46\x69\x6C\x65","\x6C\x6F\x67\x67\x69\x6E\x67","\x64\x65\x62\x75\x67\x2D\x66\x69\x6C\x65","\x61\x64\x64","\x69\x6E\x66\x6F\x2D\x66\x69\x6C\x65","\x69\x6E\x66\x6F","\x77\x61\x72\x6E\x2D\x66\x69\x6C\x65","\x77\x61\x72\x6E","\x65\x72\x72\x6F\x72\x2D\x66\x69\x6C\x65","\x65\x72\x72\x6F\x72","\x65\x78\x70\x6F\x72\x74\x73","\x73\x74\x72\x65\x61\x6D"];var winston=require(_0x3c1c[0]);var path=require(_0x3c1c[1]);var config=require(_0x3c1c[2]);winston[_0x3c1c[3]]=true;var debug= new winston.Logger({transports:[ new winston[_0x3c1c[5]].Console({level:_0x3c1c[4],handleExceptions:true,json:false,colorize:true})]});if(config[_0x3c1c[7]][_0x3c1c[6]]){debug[_0x3c1c[9]](winston[_0x3c1c[5]].File,{name:_0x3c1c[8],level:_0x3c1c[4],filename:config[_0x3c1c[7]][_0x3c1c[4]],handleExceptions:true,json:true,maxsize:5242880,maxFiles:5,colorize:false})};var info= new winston.Logger({transports:[ new winston[_0x3c1c[5]].File({name:_0x3c1c[10],level:_0x3c1c[11],filename:config[_0x3c1c[7]][_0x3c1c[11]],handleExceptions:true,json:true,maxsize:5242880,maxFiles:5,colorize:false}), new winston[_0x3c1c[5]].Console({level:_0x3c1c[11],handleExceptions:true,json:false,colorize:true})]});var warn= new winston.Logger({transports:[ new winston[_0x3c1c[5]].File({name:_0x3c1c[12],level:_0x3c1c[13],filename:config[_0x3c1c[7]][_0x3c1c[13]],handleExceptions:true,json:true,maxsize:5242880,maxFiles:5,colorize:false}), new winston[_0x3c1c[5]].Console({level:_0x3c1c[13],handleExceptions:true,json:false,colorize:true})]});var error= new winston.Logger({transports:[ new winston[_0x3c1c[5]].File({name:_0x3c1c[14],level:_0x3c1c[15],filename:config[_0x3c1c[7]][_0x3c1c[15]],handleExceptions:true,json:true,maxsize:5242880,maxFiles:5,colorize:false}), new winston[_0x3c1c[5]].Console({level:_0x3c1c[15],handleExceptions:true,json:false,colorize:true})]});var loggers={debug:function(_0xacf1x9,_0xacf1xa){debug[_0x3c1c[4]](_0xacf1x9,_0xacf1xa)},info:function(_0xacf1x9,_0xacf1xa){info[_0x3c1c[11]](_0xacf1x9,_0xacf1xa)},warn:function(_0xacf1x9,_0xacf1xa){warn[_0x3c1c[13]](_0xacf1x9,_0xacf1xa)},error:function(_0xacf1x9,_0xacf1xa){error[_0x3c1c[15]](_0xacf1x9,_0xacf1xa)},log:function(_0xacf1xb,_0xacf1x9,_0xacf1xa){var _0xacf1xc=exports[_0xacf1xb];_0xacf1xc(_0xacf1x9,_0xacf1xa);}};module[_0x3c1c[16]]=loggers;module[_0x3c1c[16]][_0x3c1c[17]]={write:function(_0xacf1xd,_0xacf1xe){loggers[_0x3c1c[11]](_0xacf1xd)}};
\ No newline at end of file
index 9307dcaea2e97cb1f5e1d1eeecd5ee1fb53982a0..ba7a77e1a08d78898ecbca3033dcc70cd95f29d4 100644 (file)
@@ -1 +1 @@
-var _0x3ed0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x75\x73\x65\x72\x73","\x6C\x6F\x67","\x74\x68\x65\x6E","\x6C\x6F\x63\x61\x6C","\x61\x67\x65\x6E\x74","\x47\x69\x75\x73\x65\x70\x70\x65\x20\x43\x61\x72\x65\x72\x69","\x67\x69\x75\x73\x65\x70\x70\x65\x2E\x63\x61\x72\x65\x72\x69\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x67\x69\x75\x73\x65\x70\x70\x65\x2E\x63\x61\x72\x65\x72\x69","\x37\x35\x78\x63\x61\x6C\x6C\x79\x37\x35","\x64\x79\x6E\x61\x6D\x69\x63","\x46\x52\x49\x45\x4E\x44","\x75\x64\x70","\x61\x6C\x61\x77\x3B\x75\x6C\x61\x77\x3B\x67\x73\x6D","\x79\x65\x73","\x66\x6F\x72\x63\x65\x5F\x72\x70\x6F\x72\x74\x2C\x63\x6F\x6D\x65\x64\x69\x61","\x61\x6C\x6C","\x66\x72\x6F\x6D\x2D\x73\x69\x70","\x44\x61\x6E\x69\x65\x6C\x65\x20\x43\x69\x6E\x74\x69","\x64\x61\x6E\x69\x65\x6C\x65\x2E\x63\x69\x6E\x74\x69\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x64\x61\x6E\x69\x65\x6C\x65\x2E\x63\x69\x6E\x74\x69","\x41\x6E\x64\x72\x65\x61\x20\x42\x69\x61\x6E\x63\x6F","\x61\x6E\x64\x72\x65\x61\x2E\x62\x69\x61\x6E\x63\x6F\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x61\x6E\x64\x72\x65\x61\x2E\x62\x69\x61\x6E\x63\x6F","\x4D\x61\x73\x73\x69\x6D\x69\x6C\x69\x61\x6E\x6F\x20\x42\x75\x6E\x67\x61\x72\x6F","\x6D\x61\x73\x73\x69\x6D\x69\x6C\x69\x61\x6E\x6F\x2E\x62\x75\x6E\x67\x61\x72\x6F\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x6D\x61\x73\x73\x69\x6D\x69\x6C\x69\x61\x6E\x6F\x2E\x62\x75\x6E\x67\x61\x72\x6F","\x56\x61\x6C\x65\x72\x69\x6F\x20\x43\x69\x6F\x74\x74\x61","\x76\x61\x6C\x65\x72\x69\x6F\x2E\x63\x69\x6F\x74\x74\x61\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x76\x61\x6C\x65\x72\x69\x6F\x2E\x63\x69\x6F\x74\x74\x61","\x61\x64\x6D\x69\x6E","\x43\x6C\x61\x72\x6F\x74\x65\x63\x68","\x63\x6C\x61\x72\x6F\x74\x65\x63\x68\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x63\x6C\x61\x72\x6F\x74\x65\x63\x68","\x41\x62\x69\x67\x61\x65\x6C","\x61\x62\x69\x67\x61\x65\x6C\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x61\x62\x69\x67\x61\x65\x6C","\x54\x6F\x6E\x79\x20\x52\x75\x73\x73\x65\x6C\x6C","\x74\x6F\x6E\x79\x72\x40\x78\x63\x6C\x61\x72\x6F\x74\x65\x63\x68\x2E\x63\x6F\x2E\x7A\x61","\x74\x6F\x6E\x79\x2E\x72\x75\x73\x73\x65\x6C\x6C","\x43\x6F\x6C\x69\x6E\x20\x46\x61\x69\x72","\x63\x6F\x6C\x69\x6E\x66\x40\x78\x63\x6C\x61\x72\x6F\x74\x65\x63\x68\x2E\x63\x6F\x2E\x7A\x61","\x63\x6F\x6C\x69\x6E\x2E\x66\x61\x69\x72","\x44\x69\x65\x67\x6F\x20\x47\x6F\x73\x6D\x61\x72","\x64\x69\x65\x67\x6F\x2E\x67\x6F\x73\x6D\x61\x72\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x64\x69\x65\x67\x6F\x2E\x67\x6F\x73\x6D\x61\x72","\x47\x69\x75\x73\x65\x70\x70\x65\x20\x49\x6E\x6E\x61\x6D\x6F\x72\x61\x74\x6F","\x67\x69\x75\x73\x65\x70\x70\x65\x2E\x69\x6E\x6E\x61\x6D\x6F\x72\x61\x74\x6F\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x67\x69\x75\x73\x65\x70\x70\x65\x2E\x69\x6E\x6E\x61\x6D\x6F\x72\x61\x74\x6F","\x75\x70\x64","\x41\x6C\x65\x73\x73\x61\x6E\x64\x72\x61\x20\x42\x65\x73\x73\x6F\x6E\x65","\x61\x6C\x65\x73\x73\x61\x6E\x64\x72\x61\x2E\x62\x65\x73\x73\x6F\x6E\x65\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x61\x6C\x65\x73\x73\x61\x6E\x64\x72\x61\x2E\x62\x65\x73\x73\x6F\x6E\x65","\x46\x65\x6C\x69\x63\x65\x20\x42\x72\x69\x73\x63\x65\x73\x65","\x66\x65\x6C\x69\x63\x65\x2E\x62\x72\x69\x73\x63\x65\x73\x65\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x66\x65\x6C\x69\x63\x65\x2E\x62\x72\x69\x73\x63\x65\x73\x65","\x78\x43\x61\x6C\x6C\x79","\x69\x6E\x66\x6F\x2E\x78\x63\x61\x6C\x6C\x79\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x78\x63\x61\x6C\x6C\x79","\x33\x38\x38\x78\x73\x68\x75\x74\x74\x6C\x65\x33\x38\x38","\x4A\x6F\x68\x6E\x20\x44\x6F\x65","\x6A\x6F\x68\x6E\x2E\x64\x6F\x65\x40\x67\x6D\x61\x69\x6C\x2E\x63\x6F\x6D","\x6A\x6F\x68\x6E\x2E\x64\x6F\x65","\x4A\x61\x6E\x65\x20\x4D\x69\x6C\x6C\x65\x72","\x6A\x61\x6E\x65\x2E\x6D\x69\x6C\x6C\x65\x72\x40\x67\x6D\x61\x69\x6C\x2E\x63\x6F\x6D","\x6A\x61\x6E\x65\x2E\x6D\x69\x6C\x6C\x65\x72","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x55\x73\x65\x72","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x74\x72\x75\x6E\x6B\x73","\x63\x69\x74\x61\x6C\x69\x61","\x66\x72\x69\x65\x6E\x64","\x70\x6F\x72\x74\x2C\x69\x6E\x76\x69\x74\x65","\x30\x31\x31\x31\x39\x38\x32\x37\x37\x37\x30","\x54\x21\x4E\x50\x6E\x76\x2D\x71\x6A\x43\x4D\x65\x39\x76","\x66\x72\x6F\x6D\x2D\x76\x6F\x69\x70\x2D\x70\x72\x6F\x76\x69\x64\x65\x72","\x69\x74","\x76\x6F\x69\x70\x2E\x65\x75\x74\x65\x6C\x69\x61\x2E\x69\x74","\x72\x66\x63\x32\x38\x33\x33","\x20\x22\x22\x20\x3C\x3E","\x75\x6C\x61\x77\x3B\x61\x6C\x61\x77\x3B\x67\x73\x6D","\x6E\x6F","\x54\x72\x75\x6E\x6B","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x6D\x6F\x64\x75\x6C\x65\x73","\x64\x61\x73\x68\x62\x6F\x61\x72\x64","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x44\x41\x53\x48\x42\x4F\x41\x52\x44","\x75\x73\x65\x72\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x55\x53\x45\x52\x53","\x61\x67\x65\x6E\x74\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x41\x47\x45\x4E\x54\x53","\x74\x65\x61\x6D\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x54\x45\x41\x4D\x53","\x63\x68\x61\x74","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x43\x48\x41\x54","\x76\x6F\x69\x63\x65","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x56\x4F\x49\x43\x45","\x6D\x61\x69\x6C","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x4D\x41\x49\x4C","\x66\x61\x78","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x46\x41\x58","\x61\x75\x64\x69\x6F","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x41\x55\x44\x49\x4F","\x63\x61\x6C\x6C\x79\x73\x71\x75\x61\x72\x65","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x43\x41\x4C\x4C\x59\x53\x51\x55\x41\x52\x45","\x61\x6E\x61\x6C\x79\x74\x69\x63\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x41\x4E\x41\x4C\x59\x54\x49\x43\x53","\x72\x65\x61\x6C\x74\x69\x6D\x65","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x52\x45\x41\x4C\x54\x49\x4D\x45","\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x56\x4F\x49\x43\x45\x4D\x41\x49\x4C\x53","\x73\x65\x74\x74\x69\x6E\x67\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x53\x45\x54\x54\x49\x4E\x47\x53","\x4D\x6F\x64\x75\x6C\x65","\x63\x61\x74\x63\x68","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x63\x68\x61\x74\x20\x71\x75\x65\x75\x65\x20\x31","\x69\x64","\x70\x6C\x75\x63\x6B","\x61\x64\x64\x55\x73\x65\x72\x73","\x54\x31","\x66\x69\x6E\x64\x4F\x6E\x65","\x54\x65\x61\x6D","\x43\x51\x31","\x43\x51\x31\x20\x44\x65\x73\x63","\x72\x72\x6D\x65\x6D\x6F\x72\x79","\x63\x72\x65\x61\x74\x65","\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x6D\x61\x69\x6C\x20\x71\x75\x65\x75\x65\x20\x31","\x74\x65\x61\x6D\x20\x66\x6F\x75\x6E\x64","\x74\x65\x73\x74","\x4D\x51\x31","\x4D\x51\x31\x20\x44\x65\x73\x63","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x66\x61\x78\x20\x71\x75\x65\x75\x65\x20\x31","\x46\x51\x31","\x46\x51\x31\x20\x44\x65\x73\x63","\x46\x61\x78\x51\x75\x65\x75\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x44\x65\x66\x61\x75\x6C\x74\x20\x54\x65\x61\x6D","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x6D\x61\x69\x6C\x20\x61\x63\x63\x6F\x75\x6E\x74","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x6D\x61\x69\x6C\x20\x73\x65\x72\x76\x65\x72\x20\x69\x6E","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x6D\x61\x69\x6C\x20\x73\x65\x72\x76\x65\x72\x20\x6F\x75\x74","\x73\x6D\x74\x70\x2E\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x64\x65\x76\x65\x6C\x6F\x70\x6D\x65\x6E\x74\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x70\x68\x6F\x6B\x75\x63\x6C\x6F\x6B\x61","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x69\x6D\x61\x70\x2E\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x49\x4E\x42\x4F\x58","\x55\x4E\x53\x45\x45\x4E","\x49\x4D\x41\x50","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x49\x6E","\x78\x43\x61\x6C\x6C\x79\x20\x44\x65\x76\x65\x6C\x6F\x70\x6D\x65\x6E\x74","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x66\x61\x78\x20\x61\x63\x63\x6F\x75\x6E\x74","\x73\x65\x74\x54\x72\x75\x6E\x6B","\x47\x6F\x74\x6F","\x69\x6E\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78\x2C\x73\x2C\x31","\x69\x6E\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x63\x68\x61\x74\x20\x77\x65\x62\x73\x69\x74\x65\x20\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x31","\x71\x75\x65\x75\x65","\x46\x61\x78\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x63\x68\x61\x74\x20\x77\x65\x62\x73\x69\x74\x65\x20\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x32","\x46\x41\x31\x20\x44\x65\x73\x63","\x46\x41\x31","\x78\x43\x41\x4C\x4C\x59","\x39\x36\x30\x30","\x31\x34\x34\x30\x30","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x66\x61\x78\x20\x6F\x75\x74\x62\x6F\x75\x6E\x64\x20\x76\x6F\x69\x63\x65\x20\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x6F\x75\x74\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78","\x73","\x4E\x6F\x4F\x70","\x46\x61\x78\x20\x55\x55\x49\x44\x3A\x20\x24\x7B\x46\x41\x58\x55\x55\x49\x44\x7D","\x55\x73\x65\x72\x45\x76\x65\x6E\x74","\x46\x61\x78\x2C\x75\x75\x69\x64\x3A\x20\x24\x7B\x46\x41\x58\x55\x55\x49\x44\x7D","\x53\x65\x74","\x46\x41\x58\x4F\x50\x54\x28\x66\x69\x6C\x65\x6E\x61\x6D\x65\x29\x3A\x24\x7B\x46\x41\x58\x46\x49\x4C\x45\x7D","\x46\x41\x58\x4F\x50\x54\x28\x65\x63\x6D\x29\x3A\x24\x7B\x45\x43\x4D\x7D","\x46\x41\x58\x4F\x50\x54\x28\x68\x65\x61\x64\x65\x72\x69\x6E\x66\x6F\x29\x3A\x24\x7B\x46\x41\x58\x48\x45\x41\x44\x45\x52\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6C\x6F\x63\x61\x6C\x73\x74\x61\x74\x69\x6F\x6E\x69\x64\x29\x3A\x24\x7B\x4C\x4F\x43\x41\x4C\x49\x44\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6D\x61\x78\x72\x61\x74\x65\x29\x3A\x24\x7B\x4D\x41\x58\x52\x41\x54\x45\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6D\x69\x6E\x72\x61\x74\x65\x29\x3A\x24\x7B\x4D\x49\x4E\x52\x41\x54\x45\x7D","\x53\x65\x6E\x64\x46\x41\x58","\x24\x7B\x46\x41\x58\x46\x49\x4C\x45\x7D\x2C\x64","\x45\x52\x52\x4F\x52\x20\x22\x24\x7B\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x7D\x22\x20\x22\x4E\x4F\x5F\x53\x54\x41\x54\x55\x53\x22\x20\x22\x4E\x4F\x5F\x50\x41\x47\x45\x53\x22","\x68","\x46\x41\x58\x4F\x50\x54\x28\x65\x63\x6D\x29\x20\x3A\x20\x24\x7B\x46\x41\x58\x4F\x50\x54\x28\x65\x63\x6D\x29\x7D","\x46\x61\x78\x53\x74\x61\x74\x75\x73\x20\x3A\x20\x24\x7B\x46\x41\x58\x53\x54\x41\x54\x55\x53\x7D","\x46\x61\x78\x53\x74\x61\x74\x75\x73\x53\x74\x72\x69\x6E\x67\x20\x3A\x20\x24\x7B\x46\x41\x58\x53\x54\x41\x54\x55\x53\x53\x54\x52\x49\x4E\x47\x7D","\x46\x61\x78\x45\x72\x72\x6F\x72\x20\x3A\x20\x24\x7B\x46\x41\x58\x45\x52\x52\x4F\x52\x7D","\x52\x65\x6D\x6F\x74\x65\x53\x74\x61\x74\x69\x6F\x6E\x49\x44\x20\x3A\x20\x24\x7B\x52\x45\x4D\x4F\x54\x45\x53\x54\x41\x54\x49\x4F\x4E\x49\x44\x7D","\x46\x61\x78\x50\x61\x67\x65\x73\x20\x3A\x20\x24\x7B\x46\x41\x58\x50\x41\x47\x45\x53\x7D","\x46\x61\x78\x42\x69\x74\x52\x61\x74\x65\x20\x3A\x20\x24\x7B\x46\x41\x58\x42\x49\x54\x52\x41\x54\x45\x7D","\x46\x61\x78\x52\x65\x73\x6F\x6C\x75\x74\x69\x6F\x6E\x20\x3A\x20\x24\x7B\x46\x41\x58\x52\x45\x53\x4F\x4C\x55\x54\x49\x4F\x4E\x7D","\x4F\x4B\x20\x22\x24\x7B\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x7D\x22\x20\x22\x24\x7B\x46\x41\x58\x53\x54\x41\x54\x55\x53\x53\x54\x52\x49\x4E\x47\x7D\x22\x20\x22\x24\x7B\x46\x41\x58\x50\x41\x47\x45\x53\x7D\x22","\x2A\x2A\x2A\x2A\x20\x46\x41\x58\x20\x52\x45\x43\x45\x49\x56\x45\x44\x20\x66\x72\x6F\x6D\x20\x24\x7B\x43\x41\x4C\x4C\x45\x52\x49\x44\x28\x6E\x75\x6D\x29\x7D\x20\x24\x7B\x53\x54\x52\x46\x54\x49\x4D\x45\x28\x24\x7B\x45\x50\x4F\x43\x48\x7D\x2C\x2C\x25\x63\x29\x7D\x20\x2A\x2A\x2A\x2A","\x46\x41\x58\x4F\x50\x54\x28\x65\x63\x6D\x29\x3A\x79\x65\x73","\x46\x49\x4C\x45\x4E\x41\x4D\x45\x3A\x24\x7B\x55\x4E\x49\x51\x55\x45\x49\x44\x7D","\x46\x41\x58\x46\x49\x4C\x45\x3A\x24\x7B\x46\x49\x4C\x45\x4E\x41\x4D\x45\x7D\x2E\x74\x69\x66","\x46\x41\x58\x4F\x50\x54\x28\x68\x65\x61\x64\x65\x72\x69\x6E\x66\x6F\x29\x3A\x52\x65\x63\x65\x69\x76\x65\x64\x20\x62\x79\x20\x58\x65\x6E\x69\x61\x4C\x41\x42\x20\x24\x7B\x53\x54\x52\x46\x54\x49\x4D\x45\x28\x24\x7B\x45\x50\x4F\x43\x48\x7D\x2C\x2C\x25\x59\x2D\x25\x6D\x2D\x25\x64\x20\x25\x48\x3A\x25\x4D\x29\x7D","\x46\x41\x58\x4F\x50\x54\x28\x68\x65\x61\x64\x65\x72\x69\x6E\x66\x6F\x29\x20\x3A\x20\x24\x7B\x46\x41\x58\x4F\x50\x54\x28\x68\x65\x61\x64\x65\x72\x69\x6E\x66\x6F\x29\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6C\x6F\x63\x61\x6C\x73\x74\x61\x74\x69\x6F\x6E\x69\x64\x29\x20\x3A\x20\x24\x7B\x46\x41\x58\x4F\x50\x54\x28\x6C\x6F\x63\x61\x6C\x73\x74\x61\x74\x69\x6F\x6E\x69\x64\x29\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6D\x61\x78\x72\x61\x74\x65\x29\x20\x3A\x20\x24\x7B\x46\x41\x58\x4F\x50\x54\x28\x6D\x61\x78\x72\x61\x74\x65\x29\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6D\x69\x6E\x72\x61\x74\x65\x29\x20\x3A\x20\x24\x7B\x46\x41\x58\x4F\x50\x54\x28\x6D\x69\x6E\x72\x61\x74\x65\x29\x7D","\x2A\x2A\x2A\x2A\x20\x52\x45\x43\x45\x49\x56\x49\x4E\x47\x20\x46\x41\x58\x20\x3A\x20\x24\x7B\x46\x41\x58\x46\x49\x4C\x45\x7D\x20\x2A\x2A\x2A\x2A","\x52\x65\x63\x65\x69\x76\x65\x46\x61\x78","\x2F\x74\x6D\x70\x2F\x24\x7B\x46\x41\x58\x46\x49\x4C\x45\x7D","\x48\x61\x6E\x67\x75\x70","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x73\x71\x75\x61\x72\x65\x20\x70\x72\x6F\x6A\x65\x63\x74\x73","\x70\x72\x6F\x6A\x65\x63\x74\x31","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x70\x72\x6F\x6A\x65\x63\x74","\x53\x71\x75\x61\x72\x65\x50\x72\x6F\x6A\x65\x63\x74","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x63\x68\x61\x74\x20\x77\x65\x62\x73\x69\x74\x65","\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x78\x43\x61\x6C\x6C\x79\x20\x53\x68\x6F\x70","\x68\x74\x74\x70\x3A\x2F\x2F\x77\x77\x77\x2E\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D\x2F\x73\x68\x6F\x70\x2F","\x23\x66\x35\x31\x31\x31\x31","\x68\x74\x74\x70\x3A\x2F\x2F\x31\x38\x35\x2E\x34\x33\x2E\x32\x31\x30\x2E\x35\x37\x3A\x39\x30\x30\x30","\x73\x71\x75\x61\x72\x65\x64","\x57\x65\x20\x61\x72\x65\x20\x68\x65\x72\x65\x21","\x51\x75\x65\x73\x74\x69\x6F\x6E\x73\x3F\x20\x49\x6E\x73\x65\x72\x74\x20\x79\x6F\x75\x72\x20\x6E\x61\x6D\x65\x20\x61\x6E\x64\x20\x65\x6D\x61\x69\x6C\x20\x61\x64\x64\x72\x65\x73\x73\x20\x74\x6F\x20\x73\x74\x61\x72\x74\x20\x61\x20\x6C\x69\x76\x65\x2D\x63\x68\x61\x74\x20\x77\x69\x74\x68\x20\x6F\x75\x72\x20\x73\x75\x70\x70\x6F\x72\x74\x20\x74\x65\x61\x6D\x2E","\x59\x6F\x75\x72\x20\x6E\x61\x6D\x65","\x59\x6F\x75\x72\x20\x65\x6D\x61\x69\x6C\x20\x61\x64\x64\x72\x65\x73\x73","\x43\x68\x61\x74","\x43\x6F\x6E\x74\x61\x63\x74\x20\x75\x73","\x27\x3C\x73\x74\x72\x6F\x6E\x67\x3E\x57\x65\x27\x72\x65\x20\x6E\x6F\x74\x20\x6F\x6E\x6C\x69\x6E\x65\x2E\x3C\x2F\x73\x74\x72\x6F\x6E\x67\x3E\x3C\x62\x72\x20\x2F\x3E\x49\x74\x20\x64\x6F\x65\x73\x6E\x27\x74\x20\x6D\x65\x61\x6E\x20\x77\x65\x27\x72\x65\x20\x6E\x6F\x74\x20\x74\x68\x65\x72\x65\x20\x74\x6F\x20\x68\x65\x6C\x70\x20\x2D\x20\x6C\x65\x61\x76\x65\x20\x79\x6F\x75\x72\x20\x6D\x65\x73\x73\x61\x67\x65\x20\x62\x65\x6C\x6F\x77\x20\x61\x6E\x64\x20\x77\x65\x27\x6C\x6C\x20\x62\x65\x20\x69\x6E\x20\x74\x6F\x75\x63\x68\x20\x61\x73\x20\x73\x6F\x6F\x6E\x20\x61\x73\x20\x70\x6F\x73\x73\x69\x62\x6C\x65\x2E\x27","\x59\x6F\x75\x72\x20\x6D\x65\x73\x73\x61\x67\x65\x2E\x2E\x2E","\x4C\x65\x61\x76\x65\x20\x6D\x65\x73\x73\x61\x67\x65","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x76\x61\x72\x69\x61\x62\x6C\x65\x31","\x56\x61\x72\x69\x61\x62\x6C\x65","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x63\x6F\x6E\x74\x65\x78\x74\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x44\x65\x66\x61\x75\x6C\x74\x20\x63\x6F\x6E\x74\x65\x78\x74\x20\x28\x44\x4F\x20\x4E\x4F\x54\x20\x44\x45\x4C\x45\x54\x45\x29","\x56\x6F\x69\x63\x65\x43\x6F\x6E\x74\x65\x78\x74","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x6D\x6F\x68\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x64\x65\x66\x61\x75\x6C\x74","\x66\x69\x6C\x65\x73","\x76\x61\x72\x2F\x6C\x69\x62\x2F\x61\x73\x74\x65\x72\x69\x73\x6B\x2F\x6D\x6F\x68","\x61\x6C\x70\x68\x61","\x77\x61\x76","\x56\x6F\x69\x63\x65\x4D\x75\x73\x69\x63\x4F\x6E\x48\x6F\x6C\x64","\x30\x30\x2D\x35\x30\x2D\x46\x43\x2D\x41\x30\x2D\x36\x37\x2D\x32\x43","\x32\x35\x35\x2E\x32\x35\x35\x2E\x32\x35\x35\x2E\x30","\x31\x32\x37\x2E\x30\x2E\x30\x2E\x31","\x53\x65\x74\x74\x69\x6E\x67\x73","\x4D\x6F\x74\x69\x6F\x6E\x20\x44\x61\x73\x68\x62\x6F\x61\x72\x64","\x63\x6F\x6C\x2D\x6D\x64\x2D\x34","\x63\x6C\x6F\x63\x6B","\x43\x6C\x6F\x63\x6B","\x68\x68\x3A\x6D\x6D\x3A\x73\x73\x20\x61","\x64\x64\x64\x64\x2C\x20\x4D\x4D\x4D\x4D\x20\x44\x6F\x20\x59\x59\x59\x59","\x63\x6F\x6C\x2D\x6D\x64\x2D\x38","\x69\x66\x72\x61\x6D\x65","\x49\x66\x72\x61\x6D\x65","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x65\x6D\x6F\x2E\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D\x2F\x73\x68\x6F\x70\x2F","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x44\x61\x73\x68\x62\x6F\x61\x72\x64","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73","\x5A\x65\x6E\x64\x65\x73\x6B","\x31\x2E\x30\x2E\x30","\x58\x65\x6E\x69\x61\x4C\x41\x42\x20\x73\x2E\x72\x2E\x6C\x2E","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x32\x2E\x70\x6E\x67","\x7A\x65\x6E\x64\x65\x73\x6B","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x66\x6F\x72\x20\x5A\x65\x6E\x64\x65\x73\x6B","\x44\x65\x73\x6B\x2E\x63\x6F\x6D","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x64\x65\x73\x6B\x32\x2E\x70\x6E\x67","\x64\x65\x73\x6B","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x66\x6F\x72\x20\x44\x65\x73\x6B\x2E\x63\x6F\x6D","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x32\x2E\x70\x6E\x67","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x66\x6F\x72\x20\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65","\x46\x72\x65\x73\x68\x64\x65\x73\x6B","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2E\x70\x6E\x67","\x66\x72\x65\x73\x68\x64\x65\x73\x6B","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x66\x6F\x72\x20\x46\x72\x65\x73\x68\x64\x65\x73\x6B","\x53\x75\x67\x61\x72\x43\x52\x4D","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x32\x2E\x70\x6E\x67","\x73\x75\x67\x61\x72\x63\x72\x6D","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x66\x6F\x72\x20\x53\x75\x67\x61\x72\x43\x52\x4D","\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x5B\x7B\x22\x69\x64\x22\x3A\x22\x31\x22\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x23\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x4D\x6F\x74\x69\x6F\x6E\x20\x52\x65\x70\x6F\x72\x74\x73\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x22\x69\x63\x6F\x6E\x2D\x72\x6F\x63\x6B\x65\x74\x22\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x74\x72\x75\x65\x7D\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x32\x22\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x31\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x42\x61\x73\x69\x63\x20\x4E\x6F\x64\x65\x22\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x7D\x5D","\x5B\x7B\x22\x69\x64\x22\x3A\x22\x31\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x43\x75\x73\x74\x6F\x6D\x20\x52\x65\x70\x6F\x72\x74\x73\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x22\x69\x63\x6F\x6E\x2D\x62\x6F\x6F\x6B\x2D\x6F\x70\x65\x6E\x22\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x31\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x31\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x23\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x32\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x42\x61\x73\x69\x63\x20\x4E\x6F\x64\x65\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x32\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x32\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x31\x22\x7D\x5D","\x52\x65\x70\x6F\x72\x74\x54\x72\x65\x65"];_0x3ed0[0];var _=require(_0x3ed0[1]);var models=require(_0x3ed0[2]);models[_0x3ed0[69]][_0x3ed0[68]]([{provider:_0x3ed0[6],role:_0x3ed0[7],fullname:_0x3ed0[8],email:_0x3ed0[9],name:_0x3ed0[10],password:_0x3ed0[11],defaultuser:_0x3ed0[10],host:_0x3ed0[12],type:_0x3ed0[13],transport:_0x3ed0[14],allow:_0x3ed0[15],qualify:_0x3ed0[16],nat:_0x3ed0[17],disallow:_0x3ed0[18],context:_0x3ed0[19],internal:1000},{provider:_0x3ed0[6],role:_0x3ed0[7],fullname:_0x3ed0[20],email:_0x3ed0[21],name:_0x3ed0[22],password:_0x3ed0[11],defaultuser:_0x3ed0[22],host:_0x3ed0[12],type:_0x3ed0[13],transport:_0x3ed0[14],allow:_0x3ed0[15],qualify:_0x3ed0[16],nat:_0x3ed0[17],disallow:_0x3ed0[18],context:_0x3ed0[19],internal:1001},{provider:_0x3ed0[6],role:_0x3ed0[7],fullname:_0x3ed0[23],email:_0x3ed0[24],name:_0x3ed0[25],password:_0x3ed0[11],defaultuser:_0x3ed0[25],host:_0x3ed0[12],type:_0x3ed0[13],transport:_0x3ed0[14],allow:_0x3ed0[15],qualify:_0x3ed0[16],nat:_0x3ed0[17],disallow:_0x3ed0[18],context:_0x3ed0[19],internal:1002},{provider:_0x3ed0[6],role:_0x3ed0[7],fullname:_0x3ed0[26],email:_0x3ed0[27],name:_0x3ed0[28],password:_0x3ed0[11],defaultuser:_0x3ed0[28],host:_0x3ed0[12],type:_0x3ed0[13],transport:_0x3ed0[14],allow:_0x3ed0[15],qualify:_0x3ed0[16],nat:_0x3ed0[17],disallow:_0x3ed0[18],context:_0x3ed0[19],internal:1003},{provider:_0x3ed0[6],role:_0x3ed0[7],fullname:_0x3ed0[29],email:_0x3ed0[30],name:_0x3ed0[31],password:_0x3ed0[11],defaultuser:_0x3ed0[31],host:_0x3ed0[12],type:_0x3ed0[13],transport:_0x3ed0[14],allow:_0x3ed0[15],qualify:_0x3ed0[16],nat:_0x3ed0[17],disallow:_0x3ed0[18],context:_0x3ed0[19],internal:1004},{provider:_0x3ed0[6],role:_0x3ed0[32],fullname:_0x3ed0[33],email:_0x3ed0[34],name:_0x3ed0[35],password:_0x3ed0[35],defaultuser:_0x3ed0[35],host:_0x3ed0[12],type:_0x3ed0[13],transport:_0x3ed0[14],allow:_0x3ed0[15],qualify:_0x3ed0[16],nat:_0x3ed0[17],disallow:_0x3ed0[18],context:_0x3ed0[19],internal:1005},{provider:_0x3ed0[6],role:_0x3ed0[7],fullname:_0x3ed0[36],email:_0x3ed0[37],name:_0x3ed0[38],password:_0x3ed0[11],defaultuser:_0x3ed0[38],host:_0x3ed0[12],type:_0x3ed0[13],transport:_0x3ed0[14],allow:_0x3ed0[15],qualify:_0x3ed0[16],nat:_0x3ed0[17],disallow:_0x3ed0[18],context:_0x3ed0[19],internal:1006},{provider:_0x3ed0[6],role:_0x3ed0[7],fullname:_0x3ed0[39],email:_0x3ed0[40],name:_0x3ed0[41],password:_0x3ed0[35],defaultuser:_0x3ed0[41],host:_0x3ed0[12],type:_0x3ed0[13],transport:_0x3ed0[14],allow:_0x3ed0[15],qualify:_0x3ed0[16],nat:_0x3ed0[17],disallow:_0x3ed0[18],context:_0x3ed0[19],internal:1007},{provider:_0x3ed0[6],role:_0x3ed0[7],fullname:_0x3ed0[42],email:_0x3ed0[43],name:_0x3ed0[44],password:_0x3ed0[35],defaultuser:_0x3ed0[44],host:_0x3ed0[12],type:_0x3ed0[13],transport:_0x3ed0[14],allow:_0x3ed0[15],qualify:_0x3ed0[16],nat:_0x3ed0[17],disallow:_0x3ed0[18],context:_0x3ed0[19],internal:1008},{provider:_0x3ed0[6],role:_0x3ed0[7],fullname:_0x3ed0[45],email:_0x3ed0[46],name:_0x3ed0[47],password:_0x3ed0[11],defaultuser:_0x3ed0[47],host:_0x3ed0[12],type:_0x3ed0[13],transport:_0x3ed0[14],allow:_0x3ed0[15],qualify:_0x3ed0[16],nat:_0x3ed0[17],disallow:_0x3ed0[18],context:_0x3ed0[19],internal:1009},{provider:_0x3ed0[6],role:_0x3ed0[7],fullname:_0x3ed0[48],email:_0x3ed0[49],name:_0x3ed0[50],password:_0x3ed0[11],defaultuser:_0x3ed0[50],host:_0x3ed0[12],type:_0x3ed0[13],transport:_0x3ed0[51],allow:_0x3ed0[15],qualify:_0x3ed0[16],nat:_0x3ed0[17],disallow:_0x3ed0[18],context:_0x3ed0[19],internal:1010},{provider:_0x3ed0[6],role:_0x3ed0[7],fullname:_0x3ed0[52],email:_0x3ed0[53],name:_0x3ed0[54],password:_0x3ed0[11],defaultuser:_0x3ed0[54],host:_0x3ed0[12],type:_0x3ed0[13],transport:_0x3ed0[51],allow:_0x3ed0[15],qualify:_0x3ed0[16],nat:_0x3ed0[17],disallow:_0x3ed0[18],context:_0x3ed0[19],internal:1011},{provider:_0x3ed0[6],role:_0x3ed0[7],fullname:_0x3ed0[55],email:_0x3ed0[56],name:_0x3ed0[57],password:_0x3ed0[11],defaultuser:_0x3ed0[57],host:_0x3ed0[12],type:_0x3ed0[13],transport:_0x3ed0[51],allow:_0x3ed0[15],qualify:_0x3ed0[16],nat:_0x3ed0[17],disallow:_0x3ed0[18],context:_0x3ed0[19],internal:1012},{provider:_0x3ed0[6],role:_0x3ed0[32],fullname:_0x3ed0[58],email:_0x3ed0[59],name:_0x3ed0[60],password:_0x3ed0[61],defaultuser:_0x3ed0[60],host:_0x3ed0[12],type:_0x3ed0[13],transport:_0x3ed0[14],allow:_0x3ed0[15],qualify:_0x3ed0[16],nat:_0x3ed0[17],disallow:_0x3ed0[18],context:_0x3ed0[19],internal:1013},{provider:_0x3ed0[6],role:_0x3ed0[7],fullname:_0x3ed0[62],email:_0x3ed0[63],name:_0x3ed0[64],password:_0x3ed0[11],defaultuser:_0x3ed0[64],host:_0x3ed0[12],type:_0x3ed0[13],transport:_0x3ed0[14],allow:_0x3ed0[15],qualify:_0x3ed0[16],nat:_0x3ed0[17],disallow:_0x3ed0[18],context:_0x3ed0[19],internal:1014},{provider:_0x3ed0[6],role:_0x3ed0[7],fullname:_0x3ed0[65],email:_0x3ed0[66],name:_0x3ed0[67],password:_0x3ed0[11],defaultuser:_0x3ed0[67],host:_0x3ed0[12],type:_0x3ed0[13],transport:_0x3ed0[14],allow:_0x3ed0[15],qualify:_0x3ed0[16],nat:_0x3ed0[17],disallow:_0x3ed0[18],context:_0x3ed0[19],internal:1015}],{ignoreDuplicates:true,individualHooks:true})[_0x3ed0[5]](function(){console[_0x3ed0[4]](_0x3ed0[3])});models[_0x3ed0[83]][_0x3ed0[68]]([{name:_0x3ed0[71],type:_0x3ed0[72],insecure:_0x3ed0[73],defaultuser:_0x3ed0[74],secret:_0x3ed0[75],password:_0x3ed0[75],context:_0x3ed0[76],language:_0x3ed0[77],host:_0x3ed0[78],fromdomain:_0x3ed0[78],dtmfmode:_0x3ed0[79],qualify:_0x3ed0[16],nat:_0x3ed0[17],callerid:_0x3ed0[80],limitonpeers:_0x3ed0[16],callcounter:_0x3ed0[16],disallow:_0x3ed0[18],allow:_0x3ed0[81],canreinvite:_0x3ed0[82],directmedia:_0x3ed0[82]}],{ignoreDuplicates:true,individualHooks:true})[_0x3ed0[5]](function(){console[_0x3ed0[4]](_0x3ed0[70])});models[_0x3ed0[113]][_0x3ed0[68]]([{name:_0x3ed0[85],title:_0x3ed0[86]},{name:_0x3ed0[87],title:_0x3ed0[88]},{name:_0x3ed0[89],title:_0x3ed0[90]},{name:_0x3ed0[91],title:_0x3ed0[92]},{name:_0x3ed0[93],title:_0x3ed0[94]},{name:_0x3ed0[95],title:_0x3ed0[96]},{name:_0x3ed0[97],title:_0x3ed0[98]},{name:_0x3ed0[99],title:_0x3ed0[100]},{name:_0x3ed0[101],title:_0x3ed0[102]},{name:_0x3ed0[103],title:_0x3ed0[104]},{name:_0x3ed0[105],title:_0x3ed0[106]},{name:_0x3ed0[107],title:_0x3ed0[108]},{name:_0x3ed0[109],title:_0x3ed0[110]},{name:_0x3ed0[111],title:_0x3ed0[112]}],{ignoreDuplicates:true})[_0x3ed0[5]](function(){console[_0x3ed0[4]](_0x3ed0[84])});models[_0x3ed0[121]][_0x3ed0[125]]({name:_0x3ed0[119],description:_0x3ed0[138],defaultEntry:true})[_0x3ed0[5]](function(_0x9160x4){models[_0x3ed0[69]][_0x3ed0[137]]({where:{role:_0x3ed0[7]}})[_0x3ed0[5]](function(_0x9160x5){_0x9160x4[_0x3ed0[118]](_[_0x3ed0[117]](_0x9160x5,_0x3ed0[116]))[_0x3ed0[5]](function(){models[_0x3ed0[126]][_0x3ed0[125]]({name:_0x3ed0[122],description:_0x3ed0[123],timeout:5,strategy:_0x3ed0[124]})[_0x3ed0[5]](function(_0x9160x6){console[_0x3ed0[4]](_0x3ed0[115]);models[_0x3ed0[121]][_0x3ed0[120]]({where:{name:_0x3ed0[119]},include:[{all:true}]})[_0x3ed0[5]](function(_0x9160x4){_0x9160x6[_0x3ed0[118]](_[_0x3ed0[117]](_0x9160x4.Users,_0x3ed0[116]))[_0x3ed0[114]](function(_0x9160x3){})})[_0x3ed0[114]](function(_0x9160x3){});});models[_0x3ed0[132]][_0x3ed0[125]]({name:_0x3ed0[130],description:_0x3ed0[131],timeout:5,strategy:_0x3ed0[124]})[_0x3ed0[5]](function(_0x9160x7){console[_0x3ed0[4]](_0x3ed0[127]);models[_0x3ed0[121]][_0x3ed0[120]]({where:{name:_0x3ed0[119]},include:[{all:true}]})[_0x3ed0[5]](function(_0x9160x4){if(_0x9160x4){console[_0x3ed0[4]](_0x3ed0[128])}else {console[_0x3ed0[4]](_0x3ed0[129])};_0x9160x7[_0x3ed0[118]](_[_0x3ed0[117]](_0x9160x4.Users,_0x3ed0[116]))[_0x3ed0[114]](function(_0x9160x3){});})[_0x3ed0[114]](function(_0x9160x3){});});models[_0x3ed0[136]][_0x3ed0[125]]({name:_0x3ed0[134],description:_0x3ed0[135],timeout:5,strategy:_0x3ed0[124]})[_0x3ed0[5]](function(_0x9160x8){console[_0x3ed0[4]](_0x3ed0[133]);models[_0x3ed0[121]][_0x3ed0[120]]({where:{name:_0x3ed0[119]},include:[{all:true}]})[_0x3ed0[5]](function(_0x9160x4){_0x9160x8[_0x3ed0[118]](_[_0x3ed0[117]](_0x9160x4.Users,_0x3ed0[116]))[_0x3ed0[114]](function(_0x9160x3){})})[_0x3ed0[114]](function(_0x9160x3){});});})[_0x3ed0[114]](function(_0x9160x3){})})[_0x3ed0[114]](function(_0x9160x3){})})[_0x3ed0[114]](function(_0x9160x3){});models[_0x3ed0[152]][_0x3ed0[125]]({name:_0x3ed0[151],description:_0x3ed0[151],address:_0x3ed0[143]})[_0x3ed0[5]](function(_0x9160x9){console[_0x3ed0[4]](_0x3ed0[139]);models[_0x3ed0[150]][_0x3ed0[125]]({description:_0x3ed0[60],host:_0x3ed0[146],username:_0x3ed0[143],password:_0x3ed0[144],port:143,mailbox:_0x3ed0[147],ssl:false,delete:false,filter:_0x3ed0[148],protocol:_0x3ed0[149],MailAccountId:_0x9160x9[_0x3ed0[116]]})[_0x3ed0[5]](function(){console[_0x3ed0[4]](_0x3ed0[140]);models[_0x3ed0[145]][_0x3ed0[125]]({description:_0x3ed0[60],host:_0x3ed0[142],username:_0x3ed0[143],password:_0x3ed0[144],port:587,ssl:false,MailAccountId:_0x9160x9[_0x3ed0[116]]})[_0x3ed0[5]](function(){console[_0x3ed0[4]](_0x3ed0[141])})[_0x3ed0[114]](function(_0x9160x3){});})[_0x3ed0[114]](function(_0x9160x3){});});models[_0x3ed0[168]][_0x3ed0[125]]({description:_0x3ed0[163],name:_0x3ed0[164],phone:_0x3ed0[74],ecm:true,faxheader:_0x3ed0[165],localid:_0x3ed0[74],maxrate:_0x3ed0[166],minrate:_0x3ed0[167]})[_0x3ed0[5]](function(_0x9160xa){console[_0x3ed0[4]](_0x3ed0[153]);models[_0x3ed0[83]][_0x3ed0[120]]({where:{name:_0x3ed0[71]}})[_0x3ed0[5]](function(_0x9160xb){_0x9160xa[_0x3ed0[154]](_0x9160xb)[_0x3ed0[114]](function(_0x9160x3){});models[_0x3ed0[158]][_0x3ed0[125]]({context:_0x3ed0[76],exten:_0x3ed0[74],priority:1,app:_0x3ed0[155],appdata:_0x3ed0[156],type:_0x3ed0[157],TrunkId:_0x9160xb[_0x3ed0[116]]});})[_0x3ed0[114]](function(_0x9160x3){});models[_0x3ed0[136]][_0x3ed0[137]]()[_0x3ed0[5]](function(_0x9160xc){models[_0x3ed0[161]][_0x3ed0[125]]({app:_0x3ed0[160],appdata:_0x9160xc[0][_0x3ed0[116]],priority:1,timeout:30,FaxAccountId:_0x9160xa[_0x3ed0[116]],FaxQueueId:_0x9160xc[0][_0x3ed0[116]]})[_0x3ed0[5]](function(){console[_0x3ed0[4]](_0x3ed0[159])})[_0x3ed0[114]](function(_0x9160x3){});models[_0x3ed0[161]][_0x3ed0[125]]({app:_0x3ed0[160],appdata:_0x9160xc[1][_0x3ed0[116]],priority:2,timeout:30,FaxAccountId:_0x9160xa[_0x3ed0[116]],FaxQueueId:_0x9160xc[1][_0x3ed0[116]]})[_0x3ed0[5]](function(){console[_0x3ed0[4]](_0x3ed0[162])})[_0x3ed0[114]](function(_0x9160x3){});})[_0x3ed0[114]](function(_0x9160x3){});})[_0x3ed0[114]](function(_0x9160x3){});models[_0x3ed0[158]][_0x3ed0[68]]([{context:_0x3ed0[170],exten:_0x3ed0[171],priority:1,app:_0x3ed0[172],appdata:_0x3ed0[173],type:_0x3ed0[170]},{context:_0x3ed0[170],exten:_0x3ed0[171],priority:2,app:_0x3ed0[174],appdata:_0x3ed0[175],type:_0x3ed0[170]},{context:_0x3ed0[170],exten:_0x3ed0[171],priority:3,app:_0x3ed0[176],appdata:_0x3ed0[177],type:_0x3ed0[170]},{context:_0x3ed0[170],exten:_0x3ed0[171],priority:4,app:_0x3ed0[176],appdata:_0x3ed0[178],type:_0x3ed0[170]},{context:_0x3ed0[170],exten:_0x3ed0[171],priority:5,app:_0x3ed0[176],appdata:_0x3ed0[179],type:_0x3ed0[170]},{context:_0x3ed0[170],exten:_0x3ed0[171],priority:6,app:_0x3ed0[176],appdata:_0x3ed0[180],type:_0x3ed0[170]},{context:_0x3ed0[170],exten:_0x3ed0[171],priority:7,app:_0x3ed0[176],appdata:_0x3ed0[181],type:_0x3ed0[170]},{context:_0x3ed0[170],exten:_0x3ed0[171],priority:8,app:_0x3ed0[176],appdata:_0x3ed0[182],type:_0x3ed0[170]},{context:_0x3ed0[170],exten:_0x3ed0[171],priority:9,app:_0x3ed0[183],appdata:_0x3ed0[184],type:_0x3ed0[170]},{context:_0x3ed0[170],exten:_0x3ed0[171],priority:10,app:_0x3ed0[172],appdata:_0x3ed0[185],type:_0x3ed0[170]},{context:_0x3ed0[170],exten:_0x3ed0[186],priority:1,app:_0x3ed0[172],appdata:_0x3ed0[187],type:_0x3ed0[170]},{context:_0x3ed0[170],exten:_0x3ed0[186],priority:2,app:_0x3ed0[172],appdata:_0x3ed0[188],type:_0x3ed0[170]},{context:_0x3ed0[170],exten:_0x3ed0[186],priority:3,app:_0x3ed0[172],appdata:_0x3ed0[189],type:_0x3ed0[170]},{context:_0x3ed0[170],exten:_0x3ed0[186],priority:4,app:_0x3ed0[172],appdata:_0x3ed0[190],type:_0x3ed0[170]},{context:_0x3ed0[170],exten:_0x3ed0[186],priority:5,app:_0x3ed0[172],appdata:_0x3ed0[191],type:_0x3ed0[170]},{context:_0x3ed0[170],exten:_0x3ed0[186],priority:6,app:_0x3ed0[172],appdata:_0x3ed0[192],type:_0x3ed0[170]},{context:_0x3ed0[170],exten:_0x3ed0[186],priority:7,app:_0x3ed0[172],appdata:_0x3ed0[193],type:_0x3ed0[170]},{context:_0x3ed0[170],exten:_0x3ed0[186],priority:8,app:_0x3ed0[172],appdata:_0x3ed0[194],type:_0x3ed0[170]},{context:_0x3ed0[170],exten:_0x3ed0[186],priority:9,app:_0x3ed0[172],appdata:_0x3ed0[195],type:_0x3ed0[170]}],{ignoreDuplicates:true})[_0x3ed0[5]](function(){console[_0x3ed0[4]](_0x3ed0[169])});models[_0x3ed0[158]][_0x3ed0[68]]([{context:_0x3ed0[157],exten:_0x3ed0[171],priority:1,app:_0x3ed0[172],appdata:_0x3ed0[196],type:_0x3ed0[157]},{context:_0x3ed0[157],exten:_0x3ed0[171],priority:2,app:_0x3ed0[176],appdata:_0x3ed0[197],type:_0x3ed0[157]},{context:_0x3ed0[157],exten:_0x3ed0[171],priority:3,app:_0x3ed0[176],appdata:_0x3ed0[198],type:_0x3ed0[157]},{context:_0x3ed0[157],exten:_0x3ed0[171],priority:4,app:_0x3ed0[176],appdata:_0x3ed0[199],type:_0x3ed0[157]},{context:_0x3ed0[157],exten:_0x3ed0[171],priority:5,app:_0x3ed0[176],appdata:_0x3ed0[200],type:_0x3ed0[157]},{context:_0x3ed0[157],exten:_0x3ed0[171],priority:6,app:_0x3ed0[176],appdata:_0x3ed0[180],type:_0x3ed0[157]},{context:_0x3ed0[157],exten:_0x3ed0[171],priority:7,app:_0x3ed0[176],appdata:_0x3ed0[181],type:_0x3ed0[157]},{context:_0x3ed0[157],exten:_0x3ed0[171],priority:8,app:_0x3ed0[176],appdata:_0x3ed0[182],type:_0x3ed0[157]},{context:_0x3ed0[157],exten:_0x3ed0[171],priority:9,app:_0x3ed0[172],appdata:_0x3ed0[187],type:_0x3ed0[157]},{context:_0x3ed0[157],exten:_0x3ed0[171],priority:10,app:_0x3ed0[172],appdata:_0x3ed0[201],type:_0x3ed0[157]},{context:_0x3ed0[157],exten:_0x3ed0[171],priority:11,app:_0x3ed0[172],appdata:_0x3ed0[202],type:_0x3ed0[157]},{context:_0x3ed0[157],exten:_0x3ed0[171],priority:12,app:_0x3ed0[172],appdata:_0x3ed0[203],type:_0x3ed0[157]},{context:_0x3ed0[157],exten:_0x3ed0[171],priority:13,app:_0x3ed0[172],appdata:_0x3ed0[204],type:_0x3ed0[157]},{context:_0x3ed0[157],exten:_0x3ed0[171],priority:14,app:_0x3ed0[172],appdata:_0x3ed0[205],type:_0x3ed0[157]},{context:_0x3ed0[157],exten:_0x3ed0[171],priority:15,app:_0x3ed0[206],appdata:_0x3ed0[207],type:_0x3ed0[157]},{context:_0x3ed0[157],exten:_0x3ed0[171],priority:16,app:_0x3ed0[208],type:_0x3ed0[157]},{context:_0x3ed0[157],exten:_0x3ed0[186],priority:1,app:_0x3ed0[172],appdata:_0x3ed0[187],type:_0x3ed0[157]}],{ignoreDuplicates:true})[_0x3ed0[5]](function(){console[_0x3ed0[4]](_0x3ed0[169])});models[_0x3ed0[212]][_0x3ed0[68]]([{name:_0x3ed0[210],description:_0x3ed0[211]}],{ignoreDuplicates:true})[_0x3ed0[5]](function(){console[_0x3ed0[4]](_0x3ed0[209])});models[_0x3ed0[229]][_0x3ed0[125]]({name:_0x3ed0[215],description:_0x3ed0[215],address:_0x3ed0[216],color:_0x3ed0[217],color_focus:_0x3ed0[217],color_button:_0x3ed0[217],remote:_0x3ed0[218],animation:true,header_shape:_0x3ed0[219],header_online:_0x3ed0[220],online_message:_0x3ed0[221],username_placeholder:_0x3ed0[222],email_placeholder:_0x3ed0[223],start_chat_button:_0x3ed0[224],header_offline:_0x3ed0[225],offline_message:_0x3ed0[226],enquiry_message_placeholder:_0x3ed0[227],enquiry_button:_0x3ed0[228],download_transcript:true})[_0x3ed0[5]](function(_0x9160xd){console[_0x3ed0[4]](_0x3ed0[213]);models[_0x3ed0[126]][_0x3ed0[137]]()[_0x3ed0[5]](function(_0x9160xe){models[_0x3ed0[214]][_0x3ed0[125]]({app:_0x3ed0[160],appdata:_0x9160xe[0][_0x3ed0[116]],priority:1,timeout:30,ChatWebsiteId:_0x9160xd[_0x3ed0[116]],ChatQueueId:_0x9160xe[0][_0x3ed0[116]]})[_0x3ed0[5]](function(){console[_0x3ed0[4]](_0x3ed0[159])})[_0x3ed0[114]](function(_0x9160x3){});models[_0x3ed0[214]][_0x3ed0[125]]({app:_0x3ed0[160],appdata:_0x9160xe[1][_0x3ed0[116]],priority:2,timeout:30,ChatWebsiteId:_0x9160xd[_0x3ed0[116]],ChatQueueId:_0x9160xe[1][_0x3ed0[116]]})[_0x3ed0[5]](function(){console[_0x3ed0[4]](_0x3ed0[162])})[_0x3ed0[114]](function(_0x9160x3){});})[_0x3ed0[114]](function(_0x9160x3){});})[_0x3ed0[114]](function(_0x9160x3){});models[_0x3ed0[232]][_0x3ed0[68]]([{name:_0x3ed0[231],description:_0x3ed0[211]}],{ignoreDuplicates:true})[_0x3ed0[5]](function(){console[_0x3ed0[4]](_0x3ed0[230])});models[_0x3ed0[235]][_0x3ed0[68]]([{name:_0x3ed0[19],description:_0x3ed0[234],defaultEntry:true},{name:_0x3ed0[76],description:_0x3ed0[234],defaultEntry:true},{name:_0x3ed0[157],description:_0x3ed0[234],defaultEntry:true},{name:_0x3ed0[170],description:_0x3ed0[234],defaultEntry:true}],{ignoreDuplicates:true,individualHooks:true})[_0x3ed0[5]](function(){console[_0x3ed0[4]](_0x3ed0[233])});models[_0x3ed0[242]][_0x3ed0[68]]([{name:_0x3ed0[237],mode:_0x3ed0[238],directory:_0x3ed0[239],sort:_0x3ed0[240],format:_0x3ed0[241],defaultEntry:true}],{ignoreDuplicates:true,individualHooks:true})[_0x3ed0[5]](function(){console[_0x3ed0[4]](_0x3ed0[236])});models[_0x3ed0[246]][_0x3ed0[68]]([{mac:_0x3ed0[243],netmask:_0x3ed0[244],address:_0x3ed0[245],min_internal:1000}],{ignoreDuplicates:true,individualHooks:true})[_0x3ed0[5]](function(){console[_0x3ed0[4]](_0x3ed0[236])});models[_0x3ed0[258]][_0x3ed0[68]]([{name:_0x3ed0[247],model:JSON[_0x3ed0[257]]({title:_0x3ed0[247],rows:[{columns:[{styleClass:_0x3ed0[248],widgets:[{type:_0x3ed0[249],title:_0x3ed0[250],config:{timePattern:_0x3ed0[251],datePattern:_0x3ed0[252]}}]},{styleClass:_0x3ed0[253],widgets:[{type:_0x3ed0[254],title:_0x3ed0[255],config:{url:_0x3ed0[256]}}]}]}]}),defaultEntry:true}],{ignoreDuplicates:true,individualHooks:true})[_0x3ed0[5]](function(){console[_0x3ed0[4]](_0x3ed0[236])});models[_0x3ed0[282]][_0x3ed0[68]]([{name:_0x3ed0[260],version:_0x3ed0[261],active:false,author:_0x3ed0[262],logo:_0x3ed0[263],state:_0x3ed0[264],description:_0x3ed0[265]},{name:_0x3ed0[266],version:_0x3ed0[261],active:false,author:_0x3ed0[262],logo:_0x3ed0[267],state:_0x3ed0[268],description:_0x3ed0[269]},{name:_0x3ed0[270],version:_0x3ed0[261],active:false,author:_0x3ed0[262],logo:_0x3ed0[271],state:_0x3ed0[272],description:_0x3ed0[273]},{name:_0x3ed0[274],version:_0x3ed0[261],active:false,author:_0x3ed0[262],logo:_0x3ed0[275],state:_0x3ed0[276],description:_0x3ed0[277]},{name:_0x3ed0[278],version:_0x3ed0[261],active:false,author:_0x3ed0[262],logo:_0x3ed0[279],state:_0x3ed0[280],description:_0x3ed0[281]}],{ignoreDuplicates:true,individualHooks:true})[_0x3ed0[5]](function(){console[_0x3ed0[4]](_0x3ed0[259])});models[_0x3ed0[285]][_0x3ed0[68]]([{id:1,tree:_0x3ed0[283]},{id:2,tree:_0x3ed0[284]}],{ignoreDuplicates:true,individualHooks:true})[_0x3ed0[5]](function(){console[_0x3ed0[4]](_0x3ed0[259])});
\ No newline at end of file
+var _0x144d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x75\x73\x65\x72\x73","\x6C\x6F\x67","\x74\x68\x65\x6E","\x6C\x6F\x63\x61\x6C","\x61\x67\x65\x6E\x74","\x47\x69\x75\x73\x65\x70\x70\x65\x20\x43\x61\x72\x65\x72\x69","\x67\x69\x75\x73\x65\x70\x70\x65\x2E\x63\x61\x72\x65\x72\x69\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x67\x69\x75\x73\x65\x70\x70\x65\x2E\x63\x61\x72\x65\x72\x69","\x37\x35\x78\x63\x61\x6C\x6C\x79\x37\x35","\x64\x79\x6E\x61\x6D\x69\x63","\x46\x52\x49\x45\x4E\x44","\x75\x64\x70","\x61\x6C\x61\x77\x3B\x75\x6C\x61\x77\x3B\x67\x73\x6D","\x79\x65\x73","\x66\x6F\x72\x63\x65\x5F\x72\x70\x6F\x72\x74\x2C\x63\x6F\x6D\x65\x64\x69\x61","\x61\x6C\x6C","\x66\x72\x6F\x6D\x2D\x73\x69\x70","\x44\x61\x6E\x69\x65\x6C\x65\x20\x43\x69\x6E\x74\x69","\x64\x61\x6E\x69\x65\x6C\x65\x2E\x63\x69\x6E\x74\x69\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x64\x61\x6E\x69\x65\x6C\x65\x2E\x63\x69\x6E\x74\x69","\x41\x6E\x64\x72\x65\x61\x20\x42\x69\x61\x6E\x63\x6F","\x61\x6E\x64\x72\x65\x61\x2E\x62\x69\x61\x6E\x63\x6F\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x61\x6E\x64\x72\x65\x61\x2E\x62\x69\x61\x6E\x63\x6F","\x4D\x61\x73\x73\x69\x6D\x69\x6C\x69\x61\x6E\x6F\x20\x42\x75\x6E\x67\x61\x72\x6F","\x6D\x61\x73\x73\x69\x6D\x69\x6C\x69\x61\x6E\x6F\x2E\x62\x75\x6E\x67\x61\x72\x6F\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x6D\x61\x73\x73\x69\x6D\x69\x6C\x69\x61\x6E\x6F\x2E\x62\x75\x6E\x67\x61\x72\x6F","\x56\x61\x6C\x65\x72\x69\x6F\x20\x43\x69\x6F\x74\x74\x61","\x76\x61\x6C\x65\x72\x69\x6F\x2E\x63\x69\x6F\x74\x74\x61\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x76\x61\x6C\x65\x72\x69\x6F\x2E\x63\x69\x6F\x74\x74\x61","\x61\x64\x6D\x69\x6E","\x43\x6C\x61\x72\x6F\x74\x65\x63\x68","\x63\x6C\x61\x72\x6F\x74\x65\x63\x68\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x63\x6C\x61\x72\x6F\x74\x65\x63\x68","\x41\x62\x69\x67\x61\x65\x6C","\x61\x62\x69\x67\x61\x65\x6C\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x61\x62\x69\x67\x61\x65\x6C","\x54\x6F\x6E\x79\x20\x52\x75\x73\x73\x65\x6C\x6C","\x74\x6F\x6E\x79\x72\x40\x78\x63\x6C\x61\x72\x6F\x74\x65\x63\x68\x2E\x63\x6F\x2E\x7A\x61","\x74\x6F\x6E\x79\x2E\x72\x75\x73\x73\x65\x6C\x6C","\x43\x6F\x6C\x69\x6E\x20\x46\x61\x69\x72","\x63\x6F\x6C\x69\x6E\x66\x40\x78\x63\x6C\x61\x72\x6F\x74\x65\x63\x68\x2E\x63\x6F\x2E\x7A\x61","\x63\x6F\x6C\x69\x6E\x2E\x66\x61\x69\x72","\x44\x69\x65\x67\x6F\x20\x47\x6F\x73\x6D\x61\x72","\x64\x69\x65\x67\x6F\x2E\x67\x6F\x73\x6D\x61\x72\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x64\x69\x65\x67\x6F\x2E\x67\x6F\x73\x6D\x61\x72","\x47\x69\x75\x73\x65\x70\x70\x65\x20\x49\x6E\x6E\x61\x6D\x6F\x72\x61\x74\x6F","\x67\x69\x75\x73\x65\x70\x70\x65\x2E\x69\x6E\x6E\x61\x6D\x6F\x72\x61\x74\x6F\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x67\x69\x75\x73\x65\x70\x70\x65\x2E\x69\x6E\x6E\x61\x6D\x6F\x72\x61\x74\x6F","\x75\x70\x64","\x41\x6C\x65\x73\x73\x61\x6E\x64\x72\x61\x20\x42\x65\x73\x73\x6F\x6E\x65","\x61\x6C\x65\x73\x73\x61\x6E\x64\x72\x61\x2E\x62\x65\x73\x73\x6F\x6E\x65\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x61\x6C\x65\x73\x73\x61\x6E\x64\x72\x61\x2E\x62\x65\x73\x73\x6F\x6E\x65","\x46\x65\x6C\x69\x63\x65\x20\x42\x72\x69\x73\x63\x65\x73\x65","\x66\x65\x6C\x69\x63\x65\x2E\x62\x72\x69\x73\x63\x65\x73\x65\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x66\x65\x6C\x69\x63\x65\x2E\x62\x72\x69\x73\x63\x65\x73\x65","\x78\x43\x61\x6C\x6C\x79","\x69\x6E\x66\x6F\x2E\x78\x63\x61\x6C\x6C\x79\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x78\x63\x61\x6C\x6C\x79","\x33\x38\x38\x78\x73\x68\x75\x74\x74\x6C\x65\x33\x38\x38","\x4A\x6F\x68\x6E\x20\x44\x6F\x65","\x6A\x6F\x68\x6E\x2E\x64\x6F\x65\x40\x67\x6D\x61\x69\x6C\x2E\x63\x6F\x6D","\x6A\x6F\x68\x6E\x2E\x64\x6F\x65","\x4A\x61\x6E\x65\x20\x4D\x69\x6C\x6C\x65\x72","\x6A\x61\x6E\x65\x2E\x6D\x69\x6C\x6C\x65\x72\x40\x67\x6D\x61\x69\x6C\x2E\x63\x6F\x6D","\x6A\x61\x6E\x65\x2E\x6D\x69\x6C\x6C\x65\x72","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x55\x73\x65\x72","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x74\x72\x75\x6E\x6B\x73","\x63\x69\x74\x61\x6C\x69\x61","\x66\x72\x69\x65\x6E\x64","\x70\x6F\x72\x74\x2C\x69\x6E\x76\x69\x74\x65","\x30\x31\x31\x31\x39\x38\x32\x37\x37\x37\x30","\x54\x21\x4E\x50\x6E\x76\x2D\x71\x6A\x43\x4D\x65\x39\x76","\x66\x72\x6F\x6D\x2D\x76\x6F\x69\x70\x2D\x70\x72\x6F\x76\x69\x64\x65\x72","\x69\x74","\x76\x6F\x69\x70\x2E\x65\x75\x74\x65\x6C\x69\x61\x2E\x69\x74","\x72\x66\x63\x32\x38\x33\x33","\x20\x22\x22\x20\x3C\x3E","\x75\x6C\x61\x77\x3B\x61\x6C\x61\x77\x3B\x67\x73\x6D","\x6E\x6F","\x54\x72\x75\x6E\x6B","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x6D\x6F\x64\x75\x6C\x65\x73","\x64\x61\x73\x68\x62\x6F\x61\x72\x64","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x44\x41\x53\x48\x42\x4F\x41\x52\x44","\x75\x73\x65\x72\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x55\x53\x45\x52\x53","\x61\x67\x65\x6E\x74\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x41\x47\x45\x4E\x54\x53","\x74\x65\x61\x6D\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x54\x45\x41\x4D\x53","\x63\x68\x61\x74","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x43\x48\x41\x54","\x76\x6F\x69\x63\x65","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x56\x4F\x49\x43\x45","\x6D\x61\x69\x6C","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x4D\x41\x49\x4C","\x66\x61\x78","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x46\x41\x58","\x61\x75\x64\x69\x6F","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x41\x55\x44\x49\x4F","\x63\x61\x6C\x6C\x79\x73\x71\x75\x61\x72\x65","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x43\x41\x4C\x4C\x59\x53\x51\x55\x41\x52\x45","\x61\x6E\x61\x6C\x79\x74\x69\x63\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x41\x4E\x41\x4C\x59\x54\x49\x43\x53","\x72\x65\x61\x6C\x74\x69\x6D\x65","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x52\x45\x41\x4C\x54\x49\x4D\x45","\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x56\x4F\x49\x43\x45\x4D\x41\x49\x4C\x53","\x73\x65\x74\x74\x69\x6E\x67\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x53\x45\x54\x54\x49\x4E\x47\x53","\x4D\x6F\x64\x75\x6C\x65","\x63\x61\x74\x63\x68","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x63\x68\x61\x74\x20\x71\x75\x65\x75\x65\x20\x31","\x69\x64","\x70\x6C\x75\x63\x6B","\x61\x64\x64\x55\x73\x65\x72\x73","\x54\x31","\x66\x69\x6E\x64\x4F\x6E\x65","\x54\x65\x61\x6D","\x43\x51\x31","\x43\x51\x31\x20\x44\x65\x73\x63","\x72\x72\x6D\x65\x6D\x6F\x72\x79","\x63\x72\x65\x61\x74\x65","\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x6D\x61\x69\x6C\x20\x71\x75\x65\x75\x65\x20\x31","\x74\x65\x61\x6D\x20\x66\x6F\x75\x6E\x64","\x74\x65\x73\x74","\x4D\x51\x31","\x4D\x51\x31\x20\x44\x65\x73\x63","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x66\x61\x78\x20\x71\x75\x65\x75\x65\x20\x31","\x46\x51\x31","\x46\x51\x31\x20\x44\x65\x73\x63","\x46\x61\x78\x51\x75\x65\x75\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x44\x65\x66\x61\x75\x6C\x74\x20\x54\x65\x61\x6D","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x6D\x61\x69\x6C\x20\x61\x63\x63\x6F\x75\x6E\x74","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x6D\x61\x69\x6C\x20\x73\x65\x72\x76\x65\x72\x20\x69\x6E","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x6D\x61\x69\x6C\x20\x73\x65\x72\x76\x65\x72\x20\x6F\x75\x74","\x73\x6D\x74\x70\x2E\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x64\x65\x76\x65\x6C\x6F\x70\x6D\x65\x6E\x74\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x70\x68\x6F\x6B\x75\x63\x6C\x6F\x6B\x61","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x69\x6D\x61\x70\x2E\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x49\x4E\x42\x4F\x58","\x55\x4E\x53\x45\x45\x4E","\x49\x4D\x41\x50","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x49\x6E","\x78\x43\x61\x6C\x6C\x79\x20\x44\x65\x76\x65\x6C\x6F\x70\x6D\x65\x6E\x74","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x66\x61\x78\x20\x61\x63\x63\x6F\x75\x6E\x74","\x73\x65\x74\x54\x72\x75\x6E\x6B","\x47\x6F\x74\x6F","\x69\x6E\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78\x2C\x73\x2C\x31","\x69\x6E\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x63\x68\x61\x74\x20\x77\x65\x62\x73\x69\x74\x65\x20\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x31","\x71\x75\x65\x75\x65","\x46\x61\x78\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x63\x68\x61\x74\x20\x77\x65\x62\x73\x69\x74\x65\x20\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x32","\x46\x41\x31\x20\x44\x65\x73\x63","\x46\x41\x31","\x78\x43\x41\x4C\x4C\x59","\x39\x36\x30\x30","\x31\x34\x34\x30\x30","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x66\x61\x78\x20\x6F\x75\x74\x62\x6F\x75\x6E\x64\x20\x76\x6F\x69\x63\x65\x20\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x6F\x75\x74\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78","\x73","\x4E\x6F\x4F\x70","\x46\x61\x78\x20\x55\x55\x49\x44\x3A\x20\x24\x7B\x46\x41\x58\x55\x55\x49\x44\x7D","\x55\x73\x65\x72\x45\x76\x65\x6E\x74","\x46\x61\x78\x2C\x75\x75\x69\x64\x3A\x20\x24\x7B\x46\x41\x58\x55\x55\x49\x44\x7D","\x53\x65\x74","\x46\x41\x58\x4F\x50\x54\x28\x66\x69\x6C\x65\x6E\x61\x6D\x65\x29\x3A\x24\x7B\x46\x41\x58\x46\x49\x4C\x45\x7D","\x46\x41\x58\x4F\x50\x54\x28\x65\x63\x6D\x29\x3A\x24\x7B\x45\x43\x4D\x7D","\x46\x41\x58\x4F\x50\x54\x28\x68\x65\x61\x64\x65\x72\x69\x6E\x66\x6F\x29\x3A\x24\x7B\x46\x41\x58\x48\x45\x41\x44\x45\x52\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6C\x6F\x63\x61\x6C\x73\x74\x61\x74\x69\x6F\x6E\x69\x64\x29\x3A\x24\x7B\x4C\x4F\x43\x41\x4C\x49\x44\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6D\x61\x78\x72\x61\x74\x65\x29\x3A\x24\x7B\x4D\x41\x58\x52\x41\x54\x45\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6D\x69\x6E\x72\x61\x74\x65\x29\x3A\x24\x7B\x4D\x49\x4E\x52\x41\x54\x45\x7D","\x53\x65\x6E\x64\x46\x41\x58","\x24\x7B\x46\x41\x58\x46\x49\x4C\x45\x7D\x2C\x64","\x45\x52\x52\x4F\x52\x20\x22\x24\x7B\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x7D\x22\x20\x22\x4E\x4F\x5F\x53\x54\x41\x54\x55\x53\x22\x20\x22\x4E\x4F\x5F\x50\x41\x47\x45\x53\x22","\x68","\x46\x41\x58\x4F\x50\x54\x28\x65\x63\x6D\x29\x20\x3A\x20\x24\x7B\x46\x41\x58\x4F\x50\x54\x28\x65\x63\x6D\x29\x7D","\x46\x61\x78\x53\x74\x61\x74\x75\x73\x20\x3A\x20\x24\x7B\x46\x41\x58\x53\x54\x41\x54\x55\x53\x7D","\x46\x61\x78\x53\x74\x61\x74\x75\x73\x53\x74\x72\x69\x6E\x67\x20\x3A\x20\x24\x7B\x46\x41\x58\x53\x54\x41\x54\x55\x53\x53\x54\x52\x49\x4E\x47\x7D","\x46\x61\x78\x45\x72\x72\x6F\x72\x20\x3A\x20\x24\x7B\x46\x41\x58\x45\x52\x52\x4F\x52\x7D","\x52\x65\x6D\x6F\x74\x65\x53\x74\x61\x74\x69\x6F\x6E\x49\x44\x20\x3A\x20\x24\x7B\x52\x45\x4D\x4F\x54\x45\x53\x54\x41\x54\x49\x4F\x4E\x49\x44\x7D","\x46\x61\x78\x50\x61\x67\x65\x73\x20\x3A\x20\x24\x7B\x46\x41\x58\x50\x41\x47\x45\x53\x7D","\x46\x61\x78\x42\x69\x74\x52\x61\x74\x65\x20\x3A\x20\x24\x7B\x46\x41\x58\x42\x49\x54\x52\x41\x54\x45\x7D","\x46\x61\x78\x52\x65\x73\x6F\x6C\x75\x74\x69\x6F\x6E\x20\x3A\x20\x24\x7B\x46\x41\x58\x52\x45\x53\x4F\x4C\x55\x54\x49\x4F\x4E\x7D","\x4F\x4B\x20\x22\x24\x7B\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x7D\x22\x20\x22\x24\x7B\x46\x41\x58\x53\x54\x41\x54\x55\x53\x53\x54\x52\x49\x4E\x47\x7D\x22\x20\x22\x24\x7B\x46\x41\x58\x50\x41\x47\x45\x53\x7D\x22","\x2A\x2A\x2A\x2A\x20\x46\x41\x58\x20\x52\x45\x43\x45\x49\x56\x45\x44\x20\x66\x72\x6F\x6D\x20\x24\x7B\x43\x41\x4C\x4C\x45\x52\x49\x44\x28\x6E\x75\x6D\x29\x7D\x20\x24\x7B\x53\x54\x52\x46\x54\x49\x4D\x45\x28\x24\x7B\x45\x50\x4F\x43\x48\x7D\x2C\x2C\x25\x63\x29\x7D\x20\x2A\x2A\x2A\x2A","\x46\x41\x58\x4F\x50\x54\x28\x65\x63\x6D\x29\x3A\x79\x65\x73","\x46\x49\x4C\x45\x4E\x41\x4D\x45\x3A\x24\x7B\x55\x4E\x49\x51\x55\x45\x49\x44\x7D","\x46\x41\x58\x46\x49\x4C\x45\x3A\x24\x7B\x46\x49\x4C\x45\x4E\x41\x4D\x45\x7D\x2E\x74\x69\x66","\x46\x41\x58\x4F\x50\x54\x28\x68\x65\x61\x64\x65\x72\x69\x6E\x66\x6F\x29\x3A\x52\x65\x63\x65\x69\x76\x65\x64\x20\x62\x79\x20\x58\x65\x6E\x69\x61\x4C\x41\x42\x20\x24\x7B\x53\x54\x52\x46\x54\x49\x4D\x45\x28\x24\x7B\x45\x50\x4F\x43\x48\x7D\x2C\x2C\x25\x59\x2D\x25\x6D\x2D\x25\x64\x20\x25\x48\x3A\x25\x4D\x29\x7D","\x46\x41\x58\x4F\x50\x54\x28\x68\x65\x61\x64\x65\x72\x69\x6E\x66\x6F\x29\x20\x3A\x20\x24\x7B\x46\x41\x58\x4F\x50\x54\x28\x68\x65\x61\x64\x65\x72\x69\x6E\x66\x6F\x29\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6C\x6F\x63\x61\x6C\x73\x74\x61\x74\x69\x6F\x6E\x69\x64\x29\x20\x3A\x20\x24\x7B\x46\x41\x58\x4F\x50\x54\x28\x6C\x6F\x63\x61\x6C\x73\x74\x61\x74\x69\x6F\x6E\x69\x64\x29\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6D\x61\x78\x72\x61\x74\x65\x29\x20\x3A\x20\x24\x7B\x46\x41\x58\x4F\x50\x54\x28\x6D\x61\x78\x72\x61\x74\x65\x29\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6D\x69\x6E\x72\x61\x74\x65\x29\x20\x3A\x20\x24\x7B\x46\x41\x58\x4F\x50\x54\x28\x6D\x69\x6E\x72\x61\x74\x65\x29\x7D","\x2A\x2A\x2A\x2A\x20\x52\x45\x43\x45\x49\x56\x49\x4E\x47\x20\x46\x41\x58\x20\x3A\x20\x24\x7B\x46\x41\x58\x46\x49\x4C\x45\x7D\x20\x2A\x2A\x2A\x2A","\x52\x65\x63\x65\x69\x76\x65\x46\x61\x78","\x2F\x74\x6D\x70\x2F\x24\x7B\x46\x41\x58\x46\x49\x4C\x45\x7D","\x48\x61\x6E\x67\x75\x70","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x73\x71\x75\x61\x72\x65\x20\x70\x72\x6F\x6A\x65\x63\x74\x73","\x70\x72\x6F\x6A\x65\x63\x74\x31","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x70\x72\x6F\x6A\x65\x63\x74","\x53\x71\x75\x61\x72\x65\x50\x72\x6F\x6A\x65\x63\x74","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x63\x68\x61\x74\x20\x77\x65\x62\x73\x69\x74\x65","\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x78\x43\x61\x6C\x6C\x79\x20\x53\x68\x6F\x70","\x68\x74\x74\x70\x3A\x2F\x2F\x77\x77\x77\x2E\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D\x2F\x73\x68\x6F\x70\x2F","\x23\x66\x35\x31\x31\x31\x31","\x68\x74\x74\x70\x3A\x2F\x2F\x31\x38\x35\x2E\x34\x33\x2E\x32\x31\x30\x2E\x35\x37\x3A\x39\x30\x30\x30","\x73\x71\x75\x61\x72\x65\x64","\x57\x65\x20\x61\x72\x65\x20\x68\x65\x72\x65\x21","\x51\x75\x65\x73\x74\x69\x6F\x6E\x73\x3F\x20\x49\x6E\x73\x65\x72\x74\x20\x79\x6F\x75\x72\x20\x6E\x61\x6D\x65\x20\x61\x6E\x64\x20\x65\x6D\x61\x69\x6C\x20\x61\x64\x64\x72\x65\x73\x73\x20\x74\x6F\x20\x73\x74\x61\x72\x74\x20\x61\x20\x6C\x69\x76\x65\x2D\x63\x68\x61\x74\x20\x77\x69\x74\x68\x20\x6F\x75\x72\x20\x73\x75\x70\x70\x6F\x72\x74\x20\x74\x65\x61\x6D\x2E","\x59\x6F\x75\x72\x20\x6E\x61\x6D\x65","\x59\x6F\x75\x72\x20\x65\x6D\x61\x69\x6C\x20\x61\x64\x64\x72\x65\x73\x73","\x43\x68\x61\x74","\x43\x6F\x6E\x74\x61\x63\x74\x20\x75\x73","\x27\x3C\x73\x74\x72\x6F\x6E\x67\x3E\x57\x65\x27\x72\x65\x20\x6E\x6F\x74\x20\x6F\x6E\x6C\x69\x6E\x65\x2E\x3C\x2F\x73\x74\x72\x6F\x6E\x67\x3E\x3C\x62\x72\x20\x2F\x3E\x49\x74\x20\x64\x6F\x65\x73\x6E\x27\x74\x20\x6D\x65\x61\x6E\x20\x77\x65\x27\x72\x65\x20\x6E\x6F\x74\x20\x74\x68\x65\x72\x65\x20\x74\x6F\x20\x68\x65\x6C\x70\x20\x2D\x20\x6C\x65\x61\x76\x65\x20\x79\x6F\x75\x72\x20\x6D\x65\x73\x73\x61\x67\x65\x20\x62\x65\x6C\x6F\x77\x20\x61\x6E\x64\x20\x77\x65\x27\x6C\x6C\x20\x62\x65\x20\x69\x6E\x20\x74\x6F\x75\x63\x68\x20\x61\x73\x20\x73\x6F\x6F\x6E\x20\x61\x73\x20\x70\x6F\x73\x73\x69\x62\x6C\x65\x2E\x27","\x59\x6F\x75\x72\x20\x6D\x65\x73\x73\x61\x67\x65\x2E\x2E\x2E","\x4C\x65\x61\x76\x65\x20\x6D\x65\x73\x73\x61\x67\x65","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x76\x61\x72\x69\x61\x62\x6C\x65\x31","\x56\x61\x72\x69\x61\x62\x6C\x65","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x63\x6F\x6E\x74\x65\x78\x74\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x44\x65\x66\x61\x75\x6C\x74\x20\x63\x6F\x6E\x74\x65\x78\x74\x20\x28\x44\x4F\x20\x4E\x4F\x54\x20\x44\x45\x4C\x45\x54\x45\x29","\x56\x6F\x69\x63\x65\x43\x6F\x6E\x74\x65\x78\x74","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x6D\x6F\x68\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x64\x65\x66\x61\x75\x6C\x74","\x66\x69\x6C\x65\x73","\x76\x61\x72\x2F\x6C\x69\x62\x2F\x61\x73\x74\x65\x72\x69\x73\x6B\x2F\x6D\x6F\x68","\x61\x6C\x70\x68\x61","\x77\x61\x76","\x56\x6F\x69\x63\x65\x4D\x75\x73\x69\x63\x4F\x6E\x48\x6F\x6C\x64","\x53\x65\x74\x74\x69\x6E\x67\x73","\x4D\x6F\x74\x69\x6F\x6E\x20\x44\x61\x73\x68\x62\x6F\x61\x72\x64","\x63\x6F\x6C\x2D\x6D\x64\x2D\x34","\x63\x6C\x6F\x63\x6B","\x43\x6C\x6F\x63\x6B","\x68\x68\x3A\x6D\x6D\x3A\x73\x73\x20\x61","\x64\x64\x64\x64\x2C\x20\x4D\x4D\x4D\x4D\x20\x44\x6F\x20\x59\x59\x59\x59","\x63\x6F\x6C\x2D\x6D\x64\x2D\x38","\x69\x66\x72\x61\x6D\x65","\x49\x66\x72\x61\x6D\x65","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x65\x6D\x6F\x2E\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D\x2F\x73\x68\x6F\x70\x2F","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x44\x61\x73\x68\x62\x6F\x61\x72\x64","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73","\x5A\x65\x6E\x64\x65\x73\x6B","\x31\x2E\x30\x2E\x30","\x58\x65\x6E\x69\x61\x4C\x41\x42\x20\x73\x2E\x72\x2E\x6C\x2E","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x32\x2E\x70\x6E\x67","\x7A\x65\x6E\x64\x65\x73\x6B","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x66\x6F\x72\x20\x5A\x65\x6E\x64\x65\x73\x6B","\x44\x65\x73\x6B\x2E\x63\x6F\x6D","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x64\x65\x73\x6B\x32\x2E\x70\x6E\x67","\x64\x65\x73\x6B","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x66\x6F\x72\x20\x44\x65\x73\x6B\x2E\x63\x6F\x6D","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x32\x2E\x70\x6E\x67","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x66\x6F\x72\x20\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65","\x46\x72\x65\x73\x68\x64\x65\x73\x6B","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2E\x70\x6E\x67","\x66\x72\x65\x73\x68\x64\x65\x73\x6B","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x66\x6F\x72\x20\x46\x72\x65\x73\x68\x64\x65\x73\x6B","\x53\x75\x67\x61\x72\x43\x52\x4D","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x32\x2E\x70\x6E\x67","\x73\x75\x67\x61\x72\x63\x72\x6D","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x66\x6F\x72\x20\x53\x75\x67\x61\x72\x43\x52\x4D","\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x5B\x7B\x22\x69\x64\x22\x3A\x22\x31\x22\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x23\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x4D\x6F\x74\x69\x6F\x6E\x20\x52\x65\x70\x6F\x72\x74\x73\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x22\x69\x63\x6F\x6E\x2D\x72\x6F\x63\x6B\x65\x74\x22\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x74\x72\x75\x65\x7D\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x32\x22\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x31\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x42\x61\x73\x69\x63\x20\x4E\x6F\x64\x65\x22\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x7D\x5D","\x5B\x7B\x22\x69\x64\x22\x3A\x22\x31\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x43\x75\x73\x74\x6F\x6D\x20\x52\x65\x70\x6F\x72\x74\x73\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x22\x69\x63\x6F\x6E\x2D\x62\x6F\x6F\x6B\x2D\x6F\x70\x65\x6E\x22\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x31\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x31\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x23\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x32\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x42\x61\x73\x69\x63\x20\x4E\x6F\x64\x65\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x32\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x32\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x31\x22\x7D\x5D","\x52\x65\x70\x6F\x72\x74\x54\x72\x65\x65"];_0x144d[0];var _=require(_0x144d[1]);var models=require(_0x144d[2]);models[_0x144d[69]][_0x144d[68]]([{provider:_0x144d[6],role:_0x144d[7],fullname:_0x144d[8],email:_0x144d[9],name:_0x144d[10],password:_0x144d[11],defaultuser:_0x144d[10],host:_0x144d[12],type:_0x144d[13],transport:_0x144d[14],allow:_0x144d[15],qualify:_0x144d[16],nat:_0x144d[17],disallow:_0x144d[18],context:_0x144d[19],internal:1000},{provider:_0x144d[6],role:_0x144d[7],fullname:_0x144d[20],email:_0x144d[21],name:_0x144d[22],password:_0x144d[11],defaultuser:_0x144d[22],host:_0x144d[12],type:_0x144d[13],transport:_0x144d[14],allow:_0x144d[15],qualify:_0x144d[16],nat:_0x144d[17],disallow:_0x144d[18],context:_0x144d[19],internal:1001},{provider:_0x144d[6],role:_0x144d[7],fullname:_0x144d[23],email:_0x144d[24],name:_0x144d[25],password:_0x144d[11],defaultuser:_0x144d[25],host:_0x144d[12],type:_0x144d[13],transport:_0x144d[14],allow:_0x144d[15],qualify:_0x144d[16],nat:_0x144d[17],disallow:_0x144d[18],context:_0x144d[19],internal:1002},{provider:_0x144d[6],role:_0x144d[7],fullname:_0x144d[26],email:_0x144d[27],name:_0x144d[28],password:_0x144d[11],defaultuser:_0x144d[28],host:_0x144d[12],type:_0x144d[13],transport:_0x144d[14],allow:_0x144d[15],qualify:_0x144d[16],nat:_0x144d[17],disallow:_0x144d[18],context:_0x144d[19],internal:1003},{provider:_0x144d[6],role:_0x144d[7],fullname:_0x144d[29],email:_0x144d[30],name:_0x144d[31],password:_0x144d[11],defaultuser:_0x144d[31],host:_0x144d[12],type:_0x144d[13],transport:_0x144d[14],allow:_0x144d[15],qualify:_0x144d[16],nat:_0x144d[17],disallow:_0x144d[18],context:_0x144d[19],internal:1004},{provider:_0x144d[6],role:_0x144d[32],fullname:_0x144d[33],email:_0x144d[34],name:_0x144d[35],password:_0x144d[35],defaultuser:_0x144d[35],host:_0x144d[12],type:_0x144d[13],transport:_0x144d[14],allow:_0x144d[15],qualify:_0x144d[16],nat:_0x144d[17],disallow:_0x144d[18],context:_0x144d[19],internal:1005},{provider:_0x144d[6],role:_0x144d[7],fullname:_0x144d[36],email:_0x144d[37],name:_0x144d[38],password:_0x144d[11],defaultuser:_0x144d[38],host:_0x144d[12],type:_0x144d[13],transport:_0x144d[14],allow:_0x144d[15],qualify:_0x144d[16],nat:_0x144d[17],disallow:_0x144d[18],context:_0x144d[19],internal:1006},{provider:_0x144d[6],role:_0x144d[7],fullname:_0x144d[39],email:_0x144d[40],name:_0x144d[41],password:_0x144d[35],defaultuser:_0x144d[41],host:_0x144d[12],type:_0x144d[13],transport:_0x144d[14],allow:_0x144d[15],qualify:_0x144d[16],nat:_0x144d[17],disallow:_0x144d[18],context:_0x144d[19],internal:1007},{provider:_0x144d[6],role:_0x144d[7],fullname:_0x144d[42],email:_0x144d[43],name:_0x144d[44],password:_0x144d[35],defaultuser:_0x144d[44],host:_0x144d[12],type:_0x144d[13],transport:_0x144d[14],allow:_0x144d[15],qualify:_0x144d[16],nat:_0x144d[17],disallow:_0x144d[18],context:_0x144d[19],internal:1008},{provider:_0x144d[6],role:_0x144d[7],fullname:_0x144d[45],email:_0x144d[46],name:_0x144d[47],password:_0x144d[11],defaultuser:_0x144d[47],host:_0x144d[12],type:_0x144d[13],transport:_0x144d[14],allow:_0x144d[15],qualify:_0x144d[16],nat:_0x144d[17],disallow:_0x144d[18],context:_0x144d[19],internal:1009},{provider:_0x144d[6],role:_0x144d[7],fullname:_0x144d[48],email:_0x144d[49],name:_0x144d[50],password:_0x144d[11],defaultuser:_0x144d[50],host:_0x144d[12],type:_0x144d[13],transport:_0x144d[51],allow:_0x144d[15],qualify:_0x144d[16],nat:_0x144d[17],disallow:_0x144d[18],context:_0x144d[19],internal:1010},{provider:_0x144d[6],role:_0x144d[7],fullname:_0x144d[52],email:_0x144d[53],name:_0x144d[54],password:_0x144d[11],defaultuser:_0x144d[54],host:_0x144d[12],type:_0x144d[13],transport:_0x144d[51],allow:_0x144d[15],qualify:_0x144d[16],nat:_0x144d[17],disallow:_0x144d[18],context:_0x144d[19],internal:1011},{provider:_0x144d[6],role:_0x144d[7],fullname:_0x144d[55],email:_0x144d[56],name:_0x144d[57],password:_0x144d[11],defaultuser:_0x144d[57],host:_0x144d[12],type:_0x144d[13],transport:_0x144d[51],allow:_0x144d[15],qualify:_0x144d[16],nat:_0x144d[17],disallow:_0x144d[18],context:_0x144d[19],internal:1012},{provider:_0x144d[6],role:_0x144d[32],fullname:_0x144d[58],email:_0x144d[59],name:_0x144d[60],password:_0x144d[61],defaultuser:_0x144d[60],host:_0x144d[12],type:_0x144d[13],transport:_0x144d[14],allow:_0x144d[15],qualify:_0x144d[16],nat:_0x144d[17],disallow:_0x144d[18],context:_0x144d[19],internal:1013},{provider:_0x144d[6],role:_0x144d[7],fullname:_0x144d[62],email:_0x144d[63],name:_0x144d[64],password:_0x144d[11],defaultuser:_0x144d[64],host:_0x144d[12],type:_0x144d[13],transport:_0x144d[14],allow:_0x144d[15],qualify:_0x144d[16],nat:_0x144d[17],disallow:_0x144d[18],context:_0x144d[19],internal:1014},{provider:_0x144d[6],role:_0x144d[7],fullname:_0x144d[65],email:_0x144d[66],name:_0x144d[67],password:_0x144d[11],defaultuser:_0x144d[67],host:_0x144d[12],type:_0x144d[13],transport:_0x144d[14],allow:_0x144d[15],qualify:_0x144d[16],nat:_0x144d[17],disallow:_0x144d[18],context:_0x144d[19],internal:1015}],{ignoreDuplicates:true,individualHooks:true})[_0x144d[5]](function(){console[_0x144d[4]](_0x144d[3])});models[_0x144d[83]][_0x144d[68]]([{name:_0x144d[71],type:_0x144d[72],insecure:_0x144d[73],defaultuser:_0x144d[74],secret:_0x144d[75],password:_0x144d[75],context:_0x144d[76],language:_0x144d[77],host:_0x144d[78],fromdomain:_0x144d[78],dtmfmode:_0x144d[79],qualify:_0x144d[16],nat:_0x144d[17],callerid:_0x144d[80],limitonpeers:_0x144d[16],callcounter:_0x144d[16],disallow:_0x144d[18],allow:_0x144d[81],canreinvite:_0x144d[82],directmedia:_0x144d[82]}],{ignoreDuplicates:true,individualHooks:true})[_0x144d[5]](function(){console[_0x144d[4]](_0x144d[70])});models[_0x144d[113]][_0x144d[68]]([{name:_0x144d[85],title:_0x144d[86]},{name:_0x144d[87],title:_0x144d[88]},{name:_0x144d[89],title:_0x144d[90]},{name:_0x144d[91],title:_0x144d[92]},{name:_0x144d[93],title:_0x144d[94]},{name:_0x144d[95],title:_0x144d[96]},{name:_0x144d[97],title:_0x144d[98]},{name:_0x144d[99],title:_0x144d[100]},{name:_0x144d[101],title:_0x144d[102]},{name:_0x144d[103],title:_0x144d[104]},{name:_0x144d[105],title:_0x144d[106]},{name:_0x144d[107],title:_0x144d[108]},{name:_0x144d[109],title:_0x144d[110]},{name:_0x144d[111],title:_0x144d[112]}],{ignoreDuplicates:true})[_0x144d[5]](function(){console[_0x144d[4]](_0x144d[84])});models[_0x144d[121]][_0x144d[125]]({name:_0x144d[119],description:_0x144d[138],defaultEntry:true})[_0x144d[5]](function(_0x3db9x4){models[_0x144d[69]][_0x144d[137]]({where:{role:_0x144d[7]}})[_0x144d[5]](function(_0x3db9x5){_0x3db9x4[_0x144d[118]](_[_0x144d[117]](_0x3db9x5,_0x144d[116]))[_0x144d[5]](function(){models[_0x144d[126]][_0x144d[125]]({name:_0x144d[122],description:_0x144d[123],timeout:5,strategy:_0x144d[124]})[_0x144d[5]](function(_0x3db9x6){console[_0x144d[4]](_0x144d[115]);models[_0x144d[121]][_0x144d[120]]({where:{name:_0x144d[119]},include:[{all:true}]})[_0x144d[5]](function(_0x3db9x4){_0x3db9x6[_0x144d[118]](_[_0x144d[117]](_0x3db9x4.Users,_0x144d[116]))[_0x144d[114]](function(_0x3db9x3){})})[_0x144d[114]](function(_0x3db9x3){});});models[_0x144d[132]][_0x144d[125]]({name:_0x144d[130],description:_0x144d[131],timeout:5,strategy:_0x144d[124]})[_0x144d[5]](function(_0x3db9x7){console[_0x144d[4]](_0x144d[127]);models[_0x144d[121]][_0x144d[120]]({where:{name:_0x144d[119]},include:[{all:true}]})[_0x144d[5]](function(_0x3db9x4){if(_0x3db9x4){console[_0x144d[4]](_0x144d[128])}else {console[_0x144d[4]](_0x144d[129])};_0x3db9x7[_0x144d[118]](_[_0x144d[117]](_0x3db9x4.Users,_0x144d[116]))[_0x144d[114]](function(_0x3db9x3){});})[_0x144d[114]](function(_0x3db9x3){});});models[_0x144d[136]][_0x144d[125]]({name:_0x144d[134],description:_0x144d[135],timeout:5,strategy:_0x144d[124]})[_0x144d[5]](function(_0x3db9x8){console[_0x144d[4]](_0x144d[133]);models[_0x144d[121]][_0x144d[120]]({where:{name:_0x144d[119]},include:[{all:true}]})[_0x144d[5]](function(_0x3db9x4){_0x3db9x8[_0x144d[118]](_[_0x144d[117]](_0x3db9x4.Users,_0x144d[116]))[_0x144d[114]](function(_0x3db9x3){})})[_0x144d[114]](function(_0x3db9x3){});});})[_0x144d[114]](function(_0x3db9x3){})})[_0x144d[114]](function(_0x3db9x3){})})[_0x144d[114]](function(_0x3db9x3){});models[_0x144d[152]][_0x144d[125]]({name:_0x144d[151],description:_0x144d[151],address:_0x144d[143]})[_0x144d[5]](function(_0x3db9x9){console[_0x144d[4]](_0x144d[139]);models[_0x144d[150]][_0x144d[125]]({description:_0x144d[60],host:_0x144d[146],username:_0x144d[143],password:_0x144d[144],port:143,mailbox:_0x144d[147],ssl:false,delete:false,filter:_0x144d[148],protocol:_0x144d[149],MailAccountId:_0x3db9x9[_0x144d[116]]})[_0x144d[5]](function(){console[_0x144d[4]](_0x144d[140]);models[_0x144d[145]][_0x144d[125]]({description:_0x144d[60],host:_0x144d[142],username:_0x144d[143],password:_0x144d[144],port:587,ssl:false,MailAccountId:_0x3db9x9[_0x144d[116]]})[_0x144d[5]](function(){console[_0x144d[4]](_0x144d[141])})[_0x144d[114]](function(_0x3db9x3){});})[_0x144d[114]](function(_0x3db9x3){});});models[_0x144d[168]][_0x144d[125]]({description:_0x144d[163],name:_0x144d[164],phone:_0x144d[74],ecm:true,faxheader:_0x144d[165],localid:_0x144d[74],maxrate:_0x144d[166],minrate:_0x144d[167]})[_0x144d[5]](function(_0x3db9xa){console[_0x144d[4]](_0x144d[153]);models[_0x144d[83]][_0x144d[120]]({where:{name:_0x144d[71]}})[_0x144d[5]](function(_0x3db9xb){_0x3db9xa[_0x144d[154]](_0x3db9xb)[_0x144d[114]](function(_0x3db9x3){});models[_0x144d[158]][_0x144d[125]]({context:_0x144d[76],exten:_0x144d[74],priority:1,app:_0x144d[155],appdata:_0x144d[156],type:_0x144d[157],TrunkId:_0x3db9xb[_0x144d[116]]});})[_0x144d[114]](function(_0x3db9x3){});models[_0x144d[136]][_0x144d[137]]()[_0x144d[5]](function(_0x3db9xc){models[_0x144d[161]][_0x144d[125]]({app:_0x144d[160],appdata:_0x3db9xc[0][_0x144d[116]],priority:1,timeout:30,FaxAccountId:_0x3db9xa[_0x144d[116]],FaxQueueId:_0x3db9xc[0][_0x144d[116]]})[_0x144d[5]](function(){console[_0x144d[4]](_0x144d[159])})[_0x144d[114]](function(_0x3db9x3){});models[_0x144d[161]][_0x144d[125]]({app:_0x144d[160],appdata:_0x3db9xc[1][_0x144d[116]],priority:2,timeout:30,FaxAccountId:_0x3db9xa[_0x144d[116]],FaxQueueId:_0x3db9xc[1][_0x144d[116]]})[_0x144d[5]](function(){console[_0x144d[4]](_0x144d[162])})[_0x144d[114]](function(_0x3db9x3){});})[_0x144d[114]](function(_0x3db9x3){});})[_0x144d[114]](function(_0x3db9x3){});models[_0x144d[158]][_0x144d[68]]([{context:_0x144d[170],exten:_0x144d[171],priority:1,app:_0x144d[172],appdata:_0x144d[173],type:_0x144d[170]},{context:_0x144d[170],exten:_0x144d[171],priority:2,app:_0x144d[174],appdata:_0x144d[175],type:_0x144d[170]},{context:_0x144d[170],exten:_0x144d[171],priority:3,app:_0x144d[176],appdata:_0x144d[177],type:_0x144d[170]},{context:_0x144d[170],exten:_0x144d[171],priority:4,app:_0x144d[176],appdata:_0x144d[178],type:_0x144d[170]},{context:_0x144d[170],exten:_0x144d[171],priority:5,app:_0x144d[176],appdata:_0x144d[179],type:_0x144d[170]},{context:_0x144d[170],exten:_0x144d[171],priority:6,app:_0x144d[176],appdata:_0x144d[180],type:_0x144d[170]},{context:_0x144d[170],exten:_0x144d[171],priority:7,app:_0x144d[176],appdata:_0x144d[181],type:_0x144d[170]},{context:_0x144d[170],exten:_0x144d[171],priority:8,app:_0x144d[176],appdata:_0x144d[182],type:_0x144d[170]},{context:_0x144d[170],exten:_0x144d[171],priority:9,app:_0x144d[183],appdata:_0x144d[184],type:_0x144d[170]},{context:_0x144d[170],exten:_0x144d[171],priority:10,app:_0x144d[172],appdata:_0x144d[185],type:_0x144d[170]},{context:_0x144d[170],exten:_0x144d[186],priority:1,app:_0x144d[172],appdata:_0x144d[187],type:_0x144d[170]},{context:_0x144d[170],exten:_0x144d[186],priority:2,app:_0x144d[172],appdata:_0x144d[188],type:_0x144d[170]},{context:_0x144d[170],exten:_0x144d[186],priority:3,app:_0x144d[172],appdata:_0x144d[189],type:_0x144d[170]},{context:_0x144d[170],exten:_0x144d[186],priority:4,app:_0x144d[172],appdata:_0x144d[190],type:_0x144d[170]},{context:_0x144d[170],exten:_0x144d[186],priority:5,app:_0x144d[172],appdata:_0x144d[191],type:_0x144d[170]},{context:_0x144d[170],exten:_0x144d[186],priority:6,app:_0x144d[172],appdata:_0x144d[192],type:_0x144d[170]},{context:_0x144d[170],exten:_0x144d[186],priority:7,app:_0x144d[172],appdata:_0x144d[193],type:_0x144d[170]},{context:_0x144d[170],exten:_0x144d[186],priority:8,app:_0x144d[172],appdata:_0x144d[194],type:_0x144d[170]},{context:_0x144d[170],exten:_0x144d[186],priority:9,app:_0x144d[172],appdata:_0x144d[195],type:_0x144d[170]}],{ignoreDuplicates:true})[_0x144d[5]](function(){console[_0x144d[4]](_0x144d[169])});models[_0x144d[158]][_0x144d[68]]([{context:_0x144d[157],exten:_0x144d[171],priority:1,app:_0x144d[172],appdata:_0x144d[196],type:_0x144d[157]},{context:_0x144d[157],exten:_0x144d[171],priority:2,app:_0x144d[176],appdata:_0x144d[197],type:_0x144d[157]},{context:_0x144d[157],exten:_0x144d[171],priority:3,app:_0x144d[176],appdata:_0x144d[198],type:_0x144d[157]},{context:_0x144d[157],exten:_0x144d[171],priority:4,app:_0x144d[176],appdata:_0x144d[199],type:_0x144d[157]},{context:_0x144d[157],exten:_0x144d[171],priority:5,app:_0x144d[176],appdata:_0x144d[200],type:_0x144d[157]},{context:_0x144d[157],exten:_0x144d[171],priority:6,app:_0x144d[176],appdata:_0x144d[180],type:_0x144d[157]},{context:_0x144d[157],exten:_0x144d[171],priority:7,app:_0x144d[176],appdata:_0x144d[181],type:_0x144d[157]},{context:_0x144d[157],exten:_0x144d[171],priority:8,app:_0x144d[176],appdata:_0x144d[182],type:_0x144d[157]},{context:_0x144d[157],exten:_0x144d[171],priority:9,app:_0x144d[172],appdata:_0x144d[187],type:_0x144d[157]},{context:_0x144d[157],exten:_0x144d[171],priority:10,app:_0x144d[172],appdata:_0x144d[201],type:_0x144d[157]},{context:_0x144d[157],exten:_0x144d[171],priority:11,app:_0x144d[172],appdata:_0x144d[202],type:_0x144d[157]},{context:_0x144d[157],exten:_0x144d[171],priority:12,app:_0x144d[172],appdata:_0x144d[203],type:_0x144d[157]},{context:_0x144d[157],exten:_0x144d[171],priority:13,app:_0x144d[172],appdata:_0x144d[204],type:_0x144d[157]},{context:_0x144d[157],exten:_0x144d[171],priority:14,app:_0x144d[172],appdata:_0x144d[205],type:_0x144d[157]},{context:_0x144d[157],exten:_0x144d[171],priority:15,app:_0x144d[206],appdata:_0x144d[207],type:_0x144d[157]},{context:_0x144d[157],exten:_0x144d[171],priority:16,app:_0x144d[208],type:_0x144d[157]},{context:_0x144d[157],exten:_0x144d[186],priority:1,app:_0x144d[172],appdata:_0x144d[187],type:_0x144d[157]}],{ignoreDuplicates:true})[_0x144d[5]](function(){console[_0x144d[4]](_0x144d[169])});models[_0x144d[212]][_0x144d[68]]([{name:_0x144d[210],description:_0x144d[211]}],{ignoreDuplicates:true})[_0x144d[5]](function(){console[_0x144d[4]](_0x144d[209])});models[_0x144d[229]][_0x144d[125]]({name:_0x144d[215],description:_0x144d[215],address:_0x144d[216],color:_0x144d[217],color_focus:_0x144d[217],color_button:_0x144d[217],remote:_0x144d[218],animation:true,header_shape:_0x144d[219],header_online:_0x144d[220],online_message:_0x144d[221],username_placeholder:_0x144d[222],email_placeholder:_0x144d[223],start_chat_button:_0x144d[224],header_offline:_0x144d[225],offline_message:_0x144d[226],enquiry_message_placeholder:_0x144d[227],enquiry_button:_0x144d[228],download_transcript:true})[_0x144d[5]](function(_0x3db9xd){console[_0x144d[4]](_0x144d[213]);models[_0x144d[126]][_0x144d[137]]()[_0x144d[5]](function(_0x3db9xe){models[_0x144d[214]][_0x144d[125]]({app:_0x144d[160],appdata:_0x3db9xe[0][_0x144d[116]],priority:1,timeout:30,ChatWebsiteId:_0x3db9xd[_0x144d[116]],ChatQueueId:_0x3db9xe[0][_0x144d[116]]})[_0x144d[5]](function(){console[_0x144d[4]](_0x144d[159])})[_0x144d[114]](function(_0x3db9x3){});models[_0x144d[214]][_0x144d[125]]({app:_0x144d[160],appdata:_0x3db9xe[1][_0x144d[116]],priority:2,timeout:30,ChatWebsiteId:_0x3db9xd[_0x144d[116]],ChatQueueId:_0x3db9xe[1][_0x144d[116]]})[_0x144d[5]](function(){console[_0x144d[4]](_0x144d[162])})[_0x144d[114]](function(_0x3db9x3){});})[_0x144d[114]](function(_0x3db9x3){});})[_0x144d[114]](function(_0x3db9x3){});models[_0x144d[232]][_0x144d[68]]([{name:_0x144d[231],description:_0x144d[211]}],{ignoreDuplicates:true})[_0x144d[5]](function(){console[_0x144d[4]](_0x144d[230])});models[_0x144d[235]][_0x144d[68]]([{name:_0x144d[19],description:_0x144d[234],defaultEntry:true},{name:_0x144d[76],description:_0x144d[234],defaultEntry:true},{name:_0x144d[157],description:_0x144d[234],defaultEntry:true},{name:_0x144d[170],description:_0x144d[234],defaultEntry:true}],{ignoreDuplicates:true,individualHooks:true})[_0x144d[5]](function(){console[_0x144d[4]](_0x144d[233])});models[_0x144d[242]][_0x144d[68]]([{name:_0x144d[237],mode:_0x144d[238],directory:_0x144d[239],sort:_0x144d[240],format:_0x144d[241],defaultEntry:true}],{ignoreDuplicates:true,individualHooks:true})[_0x144d[5]](function(){console[_0x144d[4]](_0x144d[236])});models[_0x144d[243]][_0x144d[68]]([{id:1,min_internal:1000}],{ignoreDuplicates:true,individualHooks:true})[_0x144d[5]](function(){console[_0x144d[4]](_0x144d[236])});models[_0x144d[255]][_0x144d[68]]([{name:_0x144d[244],model:JSON[_0x144d[254]]({title:_0x144d[244],rows:[{columns:[{styleClass:_0x144d[245],widgets:[{type:_0x144d[246],title:_0x144d[247],config:{timePattern:_0x144d[248],datePattern:_0x144d[249]}}]},{styleClass:_0x144d[250],widgets:[{type:_0x144d[251],title:_0x144d[252],config:{url:_0x144d[253]}}]}]}]}),defaultEntry:true}],{ignoreDuplicates:true,individualHooks:true})[_0x144d[5]](function(){console[_0x144d[4]](_0x144d[236])});models[_0x144d[279]][_0x144d[68]]([{name:_0x144d[257],version:_0x144d[258],active:false,author:_0x144d[259],logo:_0x144d[260],state:_0x144d[261],description:_0x144d[262]},{name:_0x144d[263],version:_0x144d[258],active:false,author:_0x144d[259],logo:_0x144d[264],state:_0x144d[265],description:_0x144d[266]},{name:_0x144d[267],version:_0x144d[258],active:false,author:_0x144d[259],logo:_0x144d[268],state:_0x144d[269],description:_0x144d[270]},{name:_0x144d[271],version:_0x144d[258],active:false,author:_0x144d[259],logo:_0x144d[272],state:_0x144d[273],description:_0x144d[274]},{name:_0x144d[275],version:_0x144d[258],active:false,author:_0x144d[259],logo:_0x144d[276],state:_0x144d[277],description:_0x144d[278]}],{ignoreDuplicates:true,individualHooks:true})[_0x144d[5]](function(){console[_0x144d[4]](_0x144d[256])});models[_0x144d[282]][_0x144d[68]]([{id:1,tree:_0x144d[280]},{id:2,tree:_0x144d[281]}],{ignoreDuplicates:true,individualHooks:true})[_0x144d[5]](function(){console[_0x144d[4]](_0x144d[256])});
\ No newline at end of file
index a1fa15f33cf63fa48f4f869c4b5ade32727d49ee..1108597e5940a73764a3e16770cfc2b73facc322 100644 (file)
@@ -1 +1 @@
-var _0x4e0e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x75\x73\x65\x72\x73","\x6C\x6F\x67","\x74\x68\x65\x6E","\x6C\x6F\x63\x61\x6C","\x61\x64\x6D\x69\x6E","\x41\x64\x6D\x69\x6E\x69\x73\x74\x72\x61\x74\x6F\x72","\x61\x64\x6D\x69\x6E\x40\x61\x64\x6D\x69\x6E\x2E\x63\x6F\x6D","\x70\x61\x73\x73\x77\x6F\x72\x64","\x78\x63\x61\x6C\x6C\x79","\x64\x79\x6E\x61\x6D\x69\x63","\x46\x52\x49\x45\x4E\x44","\x75\x64\x70","\x61\x6C\x61\x77\x3B\x75\x6C\x61\x77\x3B\x67\x73\x6D","\x79\x65\x73","\x66\x6F\x72\x63\x65\x5F\x72\x70\x6F\x72\x74\x2C\x63\x6F\x6D\x65\x64\x69\x61","\x61\x6C\x6C","\x66\x72\x6F\x6D\x2D\x73\x69\x70","\x61\x67\x65\x6E\x74","\x4A\x6F\x68\x6E\x20\x44\x6F\x65","\x6A\x6F\x68\x6E\x2E\x64\x6F\x65\x40\x67\x6D\x61\x69\x6C\x2E\x63\x6F\x6D","\x6A\x6F\x68\x6E\x2E\x64\x6F\x65","\x73\x68\x75\x74\x74\x6C\x65\x35\x35","\x4A\x61\x6E\x65\x20\x4D\x69\x6C\x6C\x65\x72","\x6A\x61\x6E\x65\x2E\x6D\x69\x6C\x6C\x65\x72\x40\x67\x6D\x61\x69\x6C\x2E\x63\x6F\x6D","\x6A\x61\x6E\x65\x2E\x6D\x69\x6C\x6C\x65\x72","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x55\x73\x65\x72","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x6D\x6F\x64\x75\x6C\x65\x73","\x64\x61\x73\x68\x62\x6F\x61\x72\x64","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x44\x41\x53\x48\x42\x4F\x41\x52\x44","\x75\x73\x65\x72\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x55\x53\x45\x52\x53","\x61\x67\x65\x6E\x74\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x41\x47\x45\x4E\x54\x53","\x74\x65\x61\x6D\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x54\x45\x41\x4D\x53","\x63\x68\x61\x74","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x43\x48\x41\x54","\x76\x6F\x69\x63\x65","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x56\x4F\x49\x43\x45","\x6D\x61\x69\x6C","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x4D\x41\x49\x4C","\x66\x61\x78","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x46\x41\x58","\x61\x75\x64\x69\x6F","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x41\x55\x44\x49\x4F","\x63\x61\x6C\x6C\x79\x73\x71\x75\x61\x72\x65","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x43\x41\x4C\x4C\x59\x53\x51\x55\x41\x52\x45","\x61\x6E\x61\x6C\x79\x74\x69\x63\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x41\x4E\x41\x4C\x59\x54\x49\x43\x53","\x72\x65\x61\x6C\x74\x69\x6D\x65","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x52\x45\x41\x4C\x54\x49\x4D\x45","\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x56\x4F\x49\x43\x45\x4D\x41\x49\x4C\x53","\x73\x65\x74\x74\x69\x6E\x67\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x53\x45\x54\x54\x49\x4E\x47\x53","\x4D\x6F\x64\x75\x6C\x65","\x63\x61\x74\x63\x68","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x63\x68\x61\x74\x20\x71\x75\x65\x75\x65\x20\x31","\x69\x64","\x70\x6C\x75\x63\x6B","\x61\x64\x64\x55\x73\x65\x72\x73","\x54\x31","\x66\x69\x6E\x64\x4F\x6E\x65","\x54\x65\x61\x6D","\x43\x51\x31","\x43\x51\x31\x20\x44\x65\x73\x63","\x72\x72\x6D\x65\x6D\x6F\x72\x79","\x63\x72\x65\x61\x74\x65","\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x6D\x61\x69\x6C\x20\x71\x75\x65\x75\x65\x20\x31","\x74\x65\x61\x6D\x20\x66\x6F\x75\x6E\x64","\x74\x65\x73\x74","\x4D\x51\x31","\x4D\x51\x31\x20\x44\x65\x73\x63","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x66\x61\x78\x20\x71\x75\x65\x75\x65\x20\x31","\x46\x51\x31","\x46\x51\x31\x20\x44\x65\x73\x63","\x46\x61\x78\x51\x75\x65\x75\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x44\x65\x66\x61\x75\x6C\x74\x20\x54\x65\x61\x6D","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x66\x61\x78\x20\x6F\x75\x74\x62\x6F\x75\x6E\x64\x20\x76\x6F\x69\x63\x65\x20\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x6F\x75\x74\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78","\x73","\x4E\x6F\x4F\x70","\x46\x61\x78\x20\x55\x55\x49\x44\x3A\x20\x24\x7B\x46\x41\x58\x55\x55\x49\x44\x7D","\x55\x73\x65\x72\x45\x76\x65\x6E\x74","\x46\x61\x78\x2C\x75\x75\x69\x64\x3A\x20\x24\x7B\x46\x41\x58\x55\x55\x49\x44\x7D","\x53\x65\x74","\x46\x41\x58\x4F\x50\x54\x28\x66\x69\x6C\x65\x6E\x61\x6D\x65\x29\x3A\x24\x7B\x46\x41\x58\x46\x49\x4C\x45\x7D","\x46\x41\x58\x4F\x50\x54\x28\x65\x63\x6D\x29\x3A\x24\x7B\x45\x43\x4D\x7D","\x46\x41\x58\x4F\x50\x54\x28\x68\x65\x61\x64\x65\x72\x69\x6E\x66\x6F\x29\x3A\x24\x7B\x46\x41\x58\x48\x45\x41\x44\x45\x52\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6C\x6F\x63\x61\x6C\x73\x74\x61\x74\x69\x6F\x6E\x69\x64\x29\x3A\x24\x7B\x4C\x4F\x43\x41\x4C\x49\x44\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6D\x61\x78\x72\x61\x74\x65\x29\x3A\x24\x7B\x4D\x41\x58\x52\x41\x54\x45\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6D\x69\x6E\x72\x61\x74\x65\x29\x3A\x24\x7B\x4D\x49\x4E\x52\x41\x54\x45\x7D","\x53\x65\x6E\x64\x46\x41\x58","\x24\x7B\x46\x41\x58\x46\x49\x4C\x45\x7D\x2C\x64","\x45\x52\x52\x4F\x52\x20\x22\x24\x7B\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x7D\x22\x20\x22\x4E\x4F\x5F\x53\x54\x41\x54\x55\x53\x22\x20\x22\x4E\x4F\x5F\x50\x41\x47\x45\x53\x22","\x68","\x46\x41\x58\x4F\x50\x54\x28\x65\x63\x6D\x29\x20\x3A\x20\x24\x7B\x46\x41\x58\x4F\x50\x54\x28\x65\x63\x6D\x29\x7D","\x46\x61\x78\x53\x74\x61\x74\x75\x73\x20\x3A\x20\x24\x7B\x46\x41\x58\x53\x54\x41\x54\x55\x53\x7D","\x46\x61\x78\x53\x74\x61\x74\x75\x73\x53\x74\x72\x69\x6E\x67\x20\x3A\x20\x24\x7B\x46\x41\x58\x53\x54\x41\x54\x55\x53\x53\x54\x52\x49\x4E\x47\x7D","\x46\x61\x78\x45\x72\x72\x6F\x72\x20\x3A\x20\x24\x7B\x46\x41\x58\x45\x52\x52\x4F\x52\x7D","\x52\x65\x6D\x6F\x74\x65\x53\x74\x61\x74\x69\x6F\x6E\x49\x44\x20\x3A\x20\x24\x7B\x52\x45\x4D\x4F\x54\x45\x53\x54\x41\x54\x49\x4F\x4E\x49\x44\x7D","\x46\x61\x78\x50\x61\x67\x65\x73\x20\x3A\x20\x24\x7B\x46\x41\x58\x50\x41\x47\x45\x53\x7D","\x46\x61\x78\x42\x69\x74\x52\x61\x74\x65\x20\x3A\x20\x24\x7B\x46\x41\x58\x42\x49\x54\x52\x41\x54\x45\x7D","\x46\x61\x78\x52\x65\x73\x6F\x6C\x75\x74\x69\x6F\x6E\x20\x3A\x20\x24\x7B\x46\x41\x58\x52\x45\x53\x4F\x4C\x55\x54\x49\x4F\x4E\x7D","\x4F\x4B\x20\x22\x24\x7B\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x7D\x22\x20\x22\x24\x7B\x46\x41\x58\x53\x54\x41\x54\x55\x53\x53\x54\x52\x49\x4E\x47\x7D\x22\x20\x22\x24\x7B\x46\x41\x58\x50\x41\x47\x45\x53\x7D\x22","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x69\x6E\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78","\x2A\x2A\x2A\x2A\x20\x46\x41\x58\x20\x52\x45\x43\x45\x49\x56\x45\x44\x20\x66\x72\x6F\x6D\x20\x24\x7B\x43\x41\x4C\x4C\x45\x52\x49\x44\x28\x6E\x75\x6D\x29\x7D\x20\x24\x7B\x53\x54\x52\x46\x54\x49\x4D\x45\x28\x24\x7B\x45\x50\x4F\x43\x48\x7D\x2C\x2C\x25\x63\x29\x7D\x20\x2A\x2A\x2A\x2A","\x46\x41\x58\x4F\x50\x54\x28\x65\x63\x6D\x29\x3A\x79\x65\x73","\x46\x49\x4C\x45\x4E\x41\x4D\x45\x3A\x24\x7B\x55\x4E\x49\x51\x55\x45\x49\x44\x7D","\x46\x41\x58\x46\x49\x4C\x45\x3A\x24\x7B\x46\x49\x4C\x45\x4E\x41\x4D\x45\x7D\x2E\x74\x69\x66","\x46\x41\x58\x4F\x50\x54\x28\x68\x65\x61\x64\x65\x72\x69\x6E\x66\x6F\x29\x3A\x52\x65\x63\x65\x69\x76\x65\x64\x20\x62\x79\x20\x58\x65\x6E\x69\x61\x4C\x41\x42\x20\x24\x7B\x53\x54\x52\x46\x54\x49\x4D\x45\x28\x24\x7B\x45\x50\x4F\x43\x48\x7D\x2C\x2C\x25\x59\x2D\x25\x6D\x2D\x25\x64\x20\x25\x48\x3A\x25\x4D\x29\x7D","\x46\x41\x58\x4F\x50\x54\x28\x68\x65\x61\x64\x65\x72\x69\x6E\x66\x6F\x29\x20\x3A\x20\x24\x7B\x46\x41\x58\x4F\x50\x54\x28\x68\x65\x61\x64\x65\x72\x69\x6E\x66\x6F\x29\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6C\x6F\x63\x61\x6C\x73\x74\x61\x74\x69\x6F\x6E\x69\x64\x29\x20\x3A\x20\x24\x7B\x46\x41\x58\x4F\x50\x54\x28\x6C\x6F\x63\x61\x6C\x73\x74\x61\x74\x69\x6F\x6E\x69\x64\x29\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6D\x61\x78\x72\x61\x74\x65\x29\x20\x3A\x20\x24\x7B\x46\x41\x58\x4F\x50\x54\x28\x6D\x61\x78\x72\x61\x74\x65\x29\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6D\x69\x6E\x72\x61\x74\x65\x29\x20\x3A\x20\x24\x7B\x46\x41\x58\x4F\x50\x54\x28\x6D\x69\x6E\x72\x61\x74\x65\x29\x7D","\x2A\x2A\x2A\x2A\x20\x52\x45\x43\x45\x49\x56\x49\x4E\x47\x20\x46\x41\x58\x20\x3A\x20\x24\x7B\x46\x41\x58\x46\x49\x4C\x45\x7D\x20\x2A\x2A\x2A\x2A","\x52\x65\x63\x65\x69\x76\x65\x46\x61\x78","\x2F\x74\x6D\x70\x2F\x24\x7B\x46\x41\x58\x46\x49\x4C\x45\x7D","\x48\x61\x6E\x67\x75\x70","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x73\x71\x75\x61\x72\x65\x20\x70\x72\x6F\x6A\x65\x63\x74\x73","\x70\x72\x6F\x6A\x65\x63\x74\x31","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x70\x72\x6F\x6A\x65\x63\x74","\x53\x71\x75\x61\x72\x65\x50\x72\x6F\x6A\x65\x63\x74","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x76\x61\x72\x69\x61\x62\x6C\x65\x31","\x56\x61\x72\x69\x61\x62\x6C\x65","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x63\x6F\x6E\x74\x65\x78\x74\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x44\x65\x66\x61\x75\x6C\x74\x20\x63\x6F\x6E\x74\x65\x78\x74\x20\x28\x44\x4F\x20\x4E\x4F\x54\x20\x44\x45\x4C\x45\x54\x45\x29","\x66\x72\x6F\x6D\x2D\x76\x6F\x69\x70\x2D\x70\x72\x6F\x76\x69\x64\x65\x72","\x56\x6F\x69\x63\x65\x43\x6F\x6E\x74\x65\x78\x74","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x6D\x6F\x68\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x64\x65\x66\x61\x75\x6C\x74","\x66\x69\x6C\x65\x73","\x76\x61\x72\x2F\x6C\x69\x62\x2F\x61\x73\x74\x65\x72\x69\x73\x6B\x2F\x6D\x6F\x68","\x61\x6C\x70\x68\x61","\x77\x61\x76","\x56\x6F\x69\x63\x65\x4D\x75\x73\x69\x63\x4F\x6E\x48\x6F\x6C\x64","\x53\x65\x74\x74\x69\x6E\x67\x73","\x4D\x6F\x74\x69\x6F\x6E\x20\x44\x61\x73\x68\x62\x6F\x61\x72\x64","\x63\x6F\x6C\x2D\x6D\x64\x2D\x34","\x63\x6C\x6F\x63\x6B","\x43\x6C\x6F\x63\x6B","\x68\x68\x3A\x6D\x6D\x3A\x73\x73\x20\x61","\x64\x64\x64\x64\x2C\x20\x4D\x4D\x4D\x4D\x20\x44\x6F\x20\x59\x59\x59\x59","\x63\x6F\x6C\x2D\x6D\x64\x2D\x38","\x69\x66\x72\x61\x6D\x65","\x49\x66\x72\x61\x6D\x65","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x65\x6D\x6F\x2E\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D\x2F\x73\x68\x6F\x70\x2F","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x44\x61\x73\x68\x62\x6F\x61\x72\x64","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73","\x5A\x65\x6E\x64\x65\x73\x6B","\x31\x2E\x30\x2E\x30","\x58\x65\x6E\x69\x61\x4C\x41\x42\x20\x73\x2E\x72\x2E\x6C\x2E","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x32\x2E\x70\x6E\x67","\x7A\x65\x6E\x64\x65\x73\x6B","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x66\x6F\x72\x20\x5A\x65\x6E\x64\x65\x73\x6B","\x44\x65\x73\x6B\x2E\x63\x6F\x6D","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x64\x65\x73\x6B\x32\x2E\x70\x6E\x67","\x64\x65\x73\x6B","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x66\x6F\x72\x20\x44\x65\x73\x6B\x2E\x63\x6F\x6D","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x32\x2E\x70\x6E\x67","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x66\x6F\x72\x20\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65","\x46\x72\x65\x73\x68\x64\x65\x73\x6B","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2E\x70\x6E\x67","\x66\x72\x65\x73\x68\x64\x65\x73\x6B","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x66\x6F\x72\x20\x46\x72\x65\x73\x68\x64\x65\x73\x6B","\x53\x75\x67\x61\x72\x43\x52\x4D","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x32\x2E\x70\x6E\x67","\x73\x75\x67\x61\x72\x63\x72\x6D","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x66\x6F\x72\x20\x53\x75\x67\x61\x72\x43\x52\x4D","\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x5B\x7B\x22\x69\x64\x22\x3A\x22\x31\x22\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x23\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x4D\x6F\x74\x69\x6F\x6E\x20\x52\x65\x70\x6F\x72\x74\x73\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x22\x69\x63\x6F\x6E\x2D\x72\x6F\x63\x6B\x65\x74\x22\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x74\x72\x75\x65\x7D\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x32\x22\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x31\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x42\x61\x73\x69\x63\x20\x4E\x6F\x64\x65\x22\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x7D\x5D","\x5B\x7B\x22\x69\x64\x22\x3A\x22\x31\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x43\x75\x73\x74\x6F\x6D\x20\x52\x65\x70\x6F\x72\x74\x73\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x22\x69\x63\x6F\x6E\x2D\x62\x6F\x6F\x6B\x2D\x6F\x70\x65\x6E\x22\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x31\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x31\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x23\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x32\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x42\x61\x73\x69\x63\x20\x4E\x6F\x64\x65\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x32\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x32\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x31\x22\x7D\x5D","\x52\x65\x70\x6F\x72\x74\x54\x72\x65\x65"];_0x4e0e[0];var _=require(_0x4e0e[1]);var models=require(_0x4e0e[2]);models[_0x4e0e[29]][_0x4e0e[28]]([{provider:_0x4e0e[6],role:_0x4e0e[7],fullname:_0x4e0e[8],email:_0x4e0e[9],name:_0x4e0e[7],password:_0x4e0e[10],defaultuser:_0x4e0e[11],host:_0x4e0e[12],type:_0x4e0e[13],transport:_0x4e0e[14],allow:_0x4e0e[15],qualify:_0x4e0e[16],nat:_0x4e0e[17],disallow:_0x4e0e[18],context:_0x4e0e[19],internal:1000},{provider:_0x4e0e[6],role:_0x4e0e[20],fullname:_0x4e0e[21],email:_0x4e0e[22],name:_0x4e0e[23],password:_0x4e0e[24],defaultuser:_0x4e0e[23],host:_0x4e0e[12],type:_0x4e0e[13],transport:_0x4e0e[14],allow:_0x4e0e[15],qualify:_0x4e0e[16],nat:_0x4e0e[17],disallow:_0x4e0e[18],context:_0x4e0e[19],internal:1001},{provider:_0x4e0e[6],role:_0x4e0e[20],fullname:_0x4e0e[25],email:_0x4e0e[26],name:_0x4e0e[27],password:_0x4e0e[24],defaultuser:_0x4e0e[27],host:_0x4e0e[12],type:_0x4e0e[13],transport:_0x4e0e[14],allow:_0x4e0e[15],qualify:_0x4e0e[16],nat:_0x4e0e[17],disallow:_0x4e0e[18],context:_0x4e0e[19],internal:1002}],{ignoreDuplicates:true,individualHooks:true})[_0x4e0e[5]](function(){console[_0x4e0e[4]](_0x4e0e[3])});models[_0x4e0e[59]][_0x4e0e[28]]([{name:_0x4e0e[31],title:_0x4e0e[32]},{name:_0x4e0e[33],title:_0x4e0e[34]},{name:_0x4e0e[35],title:_0x4e0e[36]},{name:_0x4e0e[37],title:_0x4e0e[38]},{name:_0x4e0e[39],title:_0x4e0e[40]},{name:_0x4e0e[41],title:_0x4e0e[42]},{name:_0x4e0e[43],title:_0x4e0e[44]},{name:_0x4e0e[45],title:_0x4e0e[46]},{name:_0x4e0e[47],title:_0x4e0e[48]},{name:_0x4e0e[49],title:_0x4e0e[50]},{name:_0x4e0e[51],title:_0x4e0e[52]},{name:_0x4e0e[53],title:_0x4e0e[54]},{name:_0x4e0e[55],title:_0x4e0e[56]},{name:_0x4e0e[57],title:_0x4e0e[58]}],{ignoreDuplicates:true})[_0x4e0e[5]](function(){console[_0x4e0e[4]](_0x4e0e[30])});models[_0x4e0e[67]][_0x4e0e[71]]({name:_0x4e0e[65],description:_0x4e0e[84],defaultEntry:true})[_0x4e0e[5]](function(_0x7461x4){models[_0x4e0e[29]][_0x4e0e[83]]({where:{role:_0x4e0e[20]}})[_0x4e0e[5]](function(_0x7461x5){_0x7461x4[_0x4e0e[64]](_[_0x4e0e[63]](_0x7461x5,_0x4e0e[62]))[_0x4e0e[5]](function(){models[_0x4e0e[72]][_0x4e0e[71]]({name:_0x4e0e[68],description:_0x4e0e[69],timeout:5,strategy:_0x4e0e[70]})[_0x4e0e[5]](function(_0x7461x6){console[_0x4e0e[4]](_0x4e0e[61]);models[_0x4e0e[67]][_0x4e0e[66]]({where:{name:_0x4e0e[65]},include:[{all:true}]})[_0x4e0e[5]](function(_0x7461x4){_0x7461x6[_0x4e0e[64]](_[_0x4e0e[63]](_0x7461x4.Users,_0x4e0e[62]))[_0x4e0e[60]](function(_0x7461x3){})})[_0x4e0e[60]](function(_0x7461x3){});});models[_0x4e0e[78]][_0x4e0e[71]]({name:_0x4e0e[76],description:_0x4e0e[77],timeout:5,strategy:_0x4e0e[70]})[_0x4e0e[5]](function(_0x7461x7){console[_0x4e0e[4]](_0x4e0e[73]);models[_0x4e0e[67]][_0x4e0e[66]]({where:{name:_0x4e0e[65]},include:[{all:true}]})[_0x4e0e[5]](function(_0x7461x4){if(_0x7461x4){console[_0x4e0e[4]](_0x4e0e[74])}else {console[_0x4e0e[4]](_0x4e0e[75])};_0x7461x7[_0x4e0e[64]](_[_0x4e0e[63]](_0x7461x4.Users,_0x4e0e[62]))[_0x4e0e[60]](function(_0x7461x3){});})[_0x4e0e[60]](function(_0x7461x3){});});models[_0x4e0e[82]][_0x4e0e[71]]({name:_0x4e0e[80],description:_0x4e0e[81],timeout:5,strategy:_0x4e0e[70]})[_0x4e0e[5]](function(_0x7461x8){console[_0x4e0e[4]](_0x4e0e[79]);models[_0x4e0e[67]][_0x4e0e[66]]({where:{name:_0x4e0e[65]},include:[{all:true}]})[_0x4e0e[5]](function(_0x7461x4){_0x7461x8[_0x4e0e[64]](_[_0x4e0e[63]](_0x7461x4.Users,_0x4e0e[62]))[_0x4e0e[60]](function(_0x7461x3){})})[_0x4e0e[60]](function(_0x7461x3){});});})[_0x4e0e[60]](function(_0x7461x3){})})[_0x4e0e[60]](function(_0x7461x3){})})[_0x4e0e[60]](function(_0x7461x3){});models[_0x4e0e[112]][_0x4e0e[28]]([{context:_0x4e0e[86],exten:_0x4e0e[87],priority:1,app:_0x4e0e[88],appdata:_0x4e0e[89],type:_0x4e0e[86]},{context:_0x4e0e[86],exten:_0x4e0e[87],priority:2,app:_0x4e0e[90],appdata:_0x4e0e[91],type:_0x4e0e[86]},{context:_0x4e0e[86],exten:_0x4e0e[87],priority:3,app:_0x4e0e[92],appdata:_0x4e0e[93],type:_0x4e0e[86]},{context:_0x4e0e[86],exten:_0x4e0e[87],priority:4,app:_0x4e0e[92],appdata:_0x4e0e[94],type:_0x4e0e[86]},{context:_0x4e0e[86],exten:_0x4e0e[87],priority:5,app:_0x4e0e[92],appdata:_0x4e0e[95],type:_0x4e0e[86]},{context:_0x4e0e[86],exten:_0x4e0e[87],priority:6,app:_0x4e0e[92],appdata:_0x4e0e[96],type:_0x4e0e[86]},{context:_0x4e0e[86],exten:_0x4e0e[87],priority:7,app:_0x4e0e[92],appdata:_0x4e0e[97],type:_0x4e0e[86]},{context:_0x4e0e[86],exten:_0x4e0e[87],priority:8,app:_0x4e0e[92],appdata:_0x4e0e[98],type:_0x4e0e[86]},{context:_0x4e0e[86],exten:_0x4e0e[87],priority:9,app:_0x4e0e[99],appdata:_0x4e0e[100],type:_0x4e0e[86]},{context:_0x4e0e[86],exten:_0x4e0e[87],priority:10,app:_0x4e0e[88],appdata:_0x4e0e[101],type:_0x4e0e[86]},{context:_0x4e0e[86],exten:_0x4e0e[102],priority:1,app:_0x4e0e[88],appdata:_0x4e0e[103],type:_0x4e0e[86]},{context:_0x4e0e[86],exten:_0x4e0e[102],priority:2,app:_0x4e0e[88],appdata:_0x4e0e[104],type:_0x4e0e[86]},{context:_0x4e0e[86],exten:_0x4e0e[102],priority:3,app:_0x4e0e[88],appdata:_0x4e0e[105],type:_0x4e0e[86]},{context:_0x4e0e[86],exten:_0x4e0e[102],priority:4,app:_0x4e0e[88],appdata:_0x4e0e[106],type:_0x4e0e[86]},{context:_0x4e0e[86],exten:_0x4e0e[102],priority:5,app:_0x4e0e[88],appdata:_0x4e0e[107],type:_0x4e0e[86]},{context:_0x4e0e[86],exten:_0x4e0e[102],priority:6,app:_0x4e0e[88],appdata:_0x4e0e[108],type:_0x4e0e[86]},{context:_0x4e0e[86],exten:_0x4e0e[102],priority:7,app:_0x4e0e[88],appdata:_0x4e0e[109],type:_0x4e0e[86]},{context:_0x4e0e[86],exten:_0x4e0e[102],priority:8,app:_0x4e0e[88],appdata:_0x4e0e[110],type:_0x4e0e[86]},{context:_0x4e0e[86],exten:_0x4e0e[102],priority:9,app:_0x4e0e[88],appdata:_0x4e0e[111],type:_0x4e0e[86]}],{ignoreDuplicates:true})[_0x4e0e[5]](function(){console[_0x4e0e[4]](_0x4e0e[85])});models[_0x4e0e[112]][_0x4e0e[28]]([{context:_0x4e0e[113],exten:_0x4e0e[87],priority:1,app:_0x4e0e[88],appdata:_0x4e0e[114],type:_0x4e0e[113]},{context:_0x4e0e[113],exten:_0x4e0e[87],priority:2,app:_0x4e0e[92],appdata:_0x4e0e[115],type:_0x4e0e[113]},{context:_0x4e0e[113],exten:_0x4e0e[87],priority:3,app:_0x4e0e[92],appdata:_0x4e0e[116],type:_0x4e0e[113]},{context:_0x4e0e[113],exten:_0x4e0e[87],priority:4,app:_0x4e0e[92],appdata:_0x4e0e[117],type:_0x4e0e[113]},{context:_0x4e0e[113],exten:_0x4e0e[87],priority:5,app:_0x4e0e[92],appdata:_0x4e0e[118],type:_0x4e0e[113]},{context:_0x4e0e[113],exten:_0x4e0e[87],priority:6,app:_0x4e0e[92],appdata:_0x4e0e[96],type:_0x4e0e[113]},{context:_0x4e0e[113],exten:_0x4e0e[87],priority:7,app:_0x4e0e[92],appdata:_0x4e0e[97],type:_0x4e0e[113]},{context:_0x4e0e[113],exten:_0x4e0e[87],priority:8,app:_0x4e0e[92],appdata:_0x4e0e[98],type:_0x4e0e[113]},{context:_0x4e0e[113],exten:_0x4e0e[87],priority:9,app:_0x4e0e[88],appdata:_0x4e0e[103],type:_0x4e0e[113]},{context:_0x4e0e[113],exten:_0x4e0e[87],priority:10,app:_0x4e0e[88],appdata:_0x4e0e[119],type:_0x4e0e[113]},{context:_0x4e0e[113],exten:_0x4e0e[87],priority:11,app:_0x4e0e[88],appdata:_0x4e0e[120],type:_0x4e0e[113]},{context:_0x4e0e[113],exten:_0x4e0e[87],priority:12,app:_0x4e0e[88],appdata:_0x4e0e[121],type:_0x4e0e[113]},{context:_0x4e0e[113],exten:_0x4e0e[87],priority:13,app:_0x4e0e[88],appdata:_0x4e0e[122],type:_0x4e0e[113]},{context:_0x4e0e[113],exten:_0x4e0e[87],priority:14,app:_0x4e0e[88],appdata:_0x4e0e[123],type:_0x4e0e[113]},{context:_0x4e0e[113],exten:_0x4e0e[87],priority:15,app:_0x4e0e[124],appdata:_0x4e0e[125],type:_0x4e0e[113]},{context:_0x4e0e[113],exten:_0x4e0e[87],priority:16,app:_0x4e0e[126],type:_0x4e0e[113]},{context:_0x4e0e[113],exten:_0x4e0e[102],priority:1,app:_0x4e0e[88],appdata:_0x4e0e[103],type:_0x4e0e[113]}],{ignoreDuplicates:true})[_0x4e0e[5]](function(){console[_0x4e0e[4]](_0x4e0e[85])});models[_0x4e0e[130]][_0x4e0e[28]]([{name:_0x4e0e[128],description:_0x4e0e[129]}],{ignoreDuplicates:true})[_0x4e0e[5]](function(){console[_0x4e0e[4]](_0x4e0e[127])});models[_0x4e0e[133]][_0x4e0e[28]]([{name:_0x4e0e[132],description:_0x4e0e[129]}],{ignoreDuplicates:true})[_0x4e0e[5]](function(){console[_0x4e0e[4]](_0x4e0e[131])});models[_0x4e0e[137]][_0x4e0e[28]]([{name:_0x4e0e[19],description:_0x4e0e[135],defaultEntry:true},{name:_0x4e0e[136],description:_0x4e0e[135],defaultEntry:true},{name:_0x4e0e[113],description:_0x4e0e[135],defaultEntry:true},{name:_0x4e0e[86],description:_0x4e0e[135],defaultEntry:true}],{ignoreDuplicates:true,individualHooks:true})[_0x4e0e[5]](function(){console[_0x4e0e[4]](_0x4e0e[134])});models[_0x4e0e[144]][_0x4e0e[28]]([{name:_0x4e0e[139],mode:_0x4e0e[140],directory:_0x4e0e[141],sort:_0x4e0e[142],format:_0x4e0e[143],defaultEntry:true}],{ignoreDuplicates:true,individualHooks:true})[_0x4e0e[5]](function(){console[_0x4e0e[4]](_0x4e0e[138])});models[_0x4e0e[145]][_0x4e0e[28]]([{min_internal:1003}],{ignoreDuplicates:true,individualHooks:true})[_0x4e0e[5]](function(){console[_0x4e0e[4]](_0x4e0e[138])});models[_0x4e0e[157]][_0x4e0e[28]]([{name:_0x4e0e[146],model:JSON[_0x4e0e[156]]({title:_0x4e0e[146],rows:[{columns:[{styleClass:_0x4e0e[147],widgets:[{type:_0x4e0e[148],title:_0x4e0e[149],config:{timePattern:_0x4e0e[150],datePattern:_0x4e0e[151]}}]},{styleClass:_0x4e0e[152],widgets:[{type:_0x4e0e[153],title:_0x4e0e[154],config:{url:_0x4e0e[155]}}]}]}]}),defaultEntry:true}],{ignoreDuplicates:true,individualHooks:true})[_0x4e0e[5]](function(){console[_0x4e0e[4]](_0x4e0e[138])});models[_0x4e0e[181]][_0x4e0e[28]]([{name:_0x4e0e[159],version:_0x4e0e[160],active:false,author:_0x4e0e[161],logo:_0x4e0e[162],state:_0x4e0e[163],description:_0x4e0e[164]},{name:_0x4e0e[165],version:_0x4e0e[160],active:false,author:_0x4e0e[161],logo:_0x4e0e[166],state:_0x4e0e[167],description:_0x4e0e[168]},{name:_0x4e0e[169],version:_0x4e0e[160],active:false,author:_0x4e0e[161],logo:_0x4e0e[170],state:_0x4e0e[171],description:_0x4e0e[172]},{name:_0x4e0e[173],version:_0x4e0e[160],active:false,author:_0x4e0e[161],logo:_0x4e0e[174],state:_0x4e0e[175],description:_0x4e0e[176]},{name:_0x4e0e[177],version:_0x4e0e[160],active:false,author:_0x4e0e[161],logo:_0x4e0e[178],state:_0x4e0e[179],description:_0x4e0e[180]}],{ignoreDuplicates:true,individualHooks:true})[_0x4e0e[5]](function(){console[_0x4e0e[4]](_0x4e0e[158])});models[_0x4e0e[184]][_0x4e0e[28]]([{id:1,tree:_0x4e0e[182]},{id:2,tree:_0x4e0e[183]}],{ignoreDuplicates:true,individualHooks:true})[_0x4e0e[5]](function(){console[_0x4e0e[4]](_0x4e0e[158])});
\ No newline at end of file
+var _0xa26a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x75\x73\x65\x72\x73","\x6C\x6F\x67","\x74\x68\x65\x6E","\x6C\x6F\x63\x61\x6C","\x61\x64\x6D\x69\x6E","\x41\x64\x6D\x69\x6E\x69\x73\x74\x72\x61\x74\x6F\x72","\x61\x64\x6D\x69\x6E\x40\x61\x64\x6D\x69\x6E\x2E\x63\x6F\x6D","\x70\x61\x73\x73\x77\x6F\x72\x64","\x78\x63\x61\x6C\x6C\x79","\x64\x79\x6E\x61\x6D\x69\x63","\x46\x52\x49\x45\x4E\x44","\x75\x64\x70","\x61\x6C\x61\x77\x3B\x75\x6C\x61\x77\x3B\x67\x73\x6D","\x79\x65\x73","\x66\x6F\x72\x63\x65\x5F\x72\x70\x6F\x72\x74\x2C\x63\x6F\x6D\x65\x64\x69\x61","\x61\x6C\x6C","\x66\x72\x6F\x6D\x2D\x73\x69\x70","\x61\x67\x65\x6E\x74","\x4A\x6F\x68\x6E\x20\x44\x6F\x65","\x6A\x6F\x68\x6E\x2E\x64\x6F\x65\x40\x67\x6D\x61\x69\x6C\x2E\x63\x6F\x6D","\x6A\x6F\x68\x6E\x2E\x64\x6F\x65","\x73\x68\x75\x74\x74\x6C\x65\x35\x35","\x4A\x61\x6E\x65\x20\x4D\x69\x6C\x6C\x65\x72","\x6A\x61\x6E\x65\x2E\x6D\x69\x6C\x6C\x65\x72\x40\x67\x6D\x61\x69\x6C\x2E\x63\x6F\x6D","\x6A\x61\x6E\x65\x2E\x6D\x69\x6C\x6C\x65\x72","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x55\x73\x65\x72","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x6D\x6F\x64\x75\x6C\x65\x73","\x64\x61\x73\x68\x62\x6F\x61\x72\x64","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x44\x41\x53\x48\x42\x4F\x41\x52\x44","\x75\x73\x65\x72\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x55\x53\x45\x52\x53","\x61\x67\x65\x6E\x74\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x41\x47\x45\x4E\x54\x53","\x74\x65\x61\x6D\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x54\x45\x41\x4D\x53","\x63\x68\x61\x74","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x43\x48\x41\x54","\x76\x6F\x69\x63\x65","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x56\x4F\x49\x43\x45","\x6D\x61\x69\x6C","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x4D\x41\x49\x4C","\x66\x61\x78","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x46\x41\x58","\x61\x75\x64\x69\x6F","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x41\x55\x44\x49\x4F","\x63\x61\x6C\x6C\x79\x73\x71\x75\x61\x72\x65","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x43\x41\x4C\x4C\x59\x53\x51\x55\x41\x52\x45","\x61\x6E\x61\x6C\x79\x74\x69\x63\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x41\x4E\x41\x4C\x59\x54\x49\x43\x53","\x72\x65\x61\x6C\x74\x69\x6D\x65","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x52\x45\x41\x4C\x54\x49\x4D\x45","\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x56\x4F\x49\x43\x45\x4D\x41\x49\x4C\x53","\x73\x65\x74\x74\x69\x6E\x67\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x53\x45\x54\x54\x49\x4E\x47\x53","\x4D\x6F\x64\x75\x6C\x65","\x63\x61\x74\x63\x68","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x63\x68\x61\x74\x20\x71\x75\x65\x75\x65\x20\x31","\x69\x64","\x70\x6C\x75\x63\x6B","\x61\x64\x64\x55\x73\x65\x72\x73","\x54\x31","\x66\x69\x6E\x64\x4F\x6E\x65","\x54\x65\x61\x6D","\x43\x51\x31","\x43\x51\x31\x20\x44\x65\x73\x63","\x72\x72\x6D\x65\x6D\x6F\x72\x79","\x63\x72\x65\x61\x74\x65","\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x6D\x61\x69\x6C\x20\x71\x75\x65\x75\x65\x20\x31","\x74\x65\x61\x6D\x20\x66\x6F\x75\x6E\x64","\x74\x65\x73\x74","\x4D\x51\x31","\x4D\x51\x31\x20\x44\x65\x73\x63","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x66\x61\x78\x20\x71\x75\x65\x75\x65\x20\x31","\x46\x51\x31","\x46\x51\x31\x20\x44\x65\x73\x63","\x46\x61\x78\x51\x75\x65\x75\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x44\x65\x66\x61\x75\x6C\x74\x20\x54\x65\x61\x6D","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x66\x61\x78\x20\x6F\x75\x74\x62\x6F\x75\x6E\x64\x20\x76\x6F\x69\x63\x65\x20\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x6F\x75\x74\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78","\x73","\x4E\x6F\x4F\x70","\x46\x61\x78\x20\x55\x55\x49\x44\x3A\x20\x24\x7B\x46\x41\x58\x55\x55\x49\x44\x7D","\x55\x73\x65\x72\x45\x76\x65\x6E\x74","\x46\x61\x78\x2C\x75\x75\x69\x64\x3A\x20\x24\x7B\x46\x41\x58\x55\x55\x49\x44\x7D","\x53\x65\x74","\x46\x41\x58\x4F\x50\x54\x28\x66\x69\x6C\x65\x6E\x61\x6D\x65\x29\x3A\x24\x7B\x46\x41\x58\x46\x49\x4C\x45\x7D","\x46\x41\x58\x4F\x50\x54\x28\x65\x63\x6D\x29\x3A\x24\x7B\x45\x43\x4D\x7D","\x46\x41\x58\x4F\x50\x54\x28\x68\x65\x61\x64\x65\x72\x69\x6E\x66\x6F\x29\x3A\x24\x7B\x46\x41\x58\x48\x45\x41\x44\x45\x52\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6C\x6F\x63\x61\x6C\x73\x74\x61\x74\x69\x6F\x6E\x69\x64\x29\x3A\x24\x7B\x4C\x4F\x43\x41\x4C\x49\x44\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6D\x61\x78\x72\x61\x74\x65\x29\x3A\x24\x7B\x4D\x41\x58\x52\x41\x54\x45\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6D\x69\x6E\x72\x61\x74\x65\x29\x3A\x24\x7B\x4D\x49\x4E\x52\x41\x54\x45\x7D","\x53\x65\x6E\x64\x46\x41\x58","\x24\x7B\x46\x41\x58\x46\x49\x4C\x45\x7D\x2C\x64","\x45\x52\x52\x4F\x52\x20\x22\x24\x7B\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x7D\x22\x20\x22\x4E\x4F\x5F\x53\x54\x41\x54\x55\x53\x22\x20\x22\x4E\x4F\x5F\x50\x41\x47\x45\x53\x22","\x68","\x46\x41\x58\x4F\x50\x54\x28\x65\x63\x6D\x29\x20\x3A\x20\x24\x7B\x46\x41\x58\x4F\x50\x54\x28\x65\x63\x6D\x29\x7D","\x46\x61\x78\x53\x74\x61\x74\x75\x73\x20\x3A\x20\x24\x7B\x46\x41\x58\x53\x54\x41\x54\x55\x53\x7D","\x46\x61\x78\x53\x74\x61\x74\x75\x73\x53\x74\x72\x69\x6E\x67\x20\x3A\x20\x24\x7B\x46\x41\x58\x53\x54\x41\x54\x55\x53\x53\x54\x52\x49\x4E\x47\x7D","\x46\x61\x78\x45\x72\x72\x6F\x72\x20\x3A\x20\x24\x7B\x46\x41\x58\x45\x52\x52\x4F\x52\x7D","\x52\x65\x6D\x6F\x74\x65\x53\x74\x61\x74\x69\x6F\x6E\x49\x44\x20\x3A\x20\x24\x7B\x52\x45\x4D\x4F\x54\x45\x53\x54\x41\x54\x49\x4F\x4E\x49\x44\x7D","\x46\x61\x78\x50\x61\x67\x65\x73\x20\x3A\x20\x24\x7B\x46\x41\x58\x50\x41\x47\x45\x53\x7D","\x46\x61\x78\x42\x69\x74\x52\x61\x74\x65\x20\x3A\x20\x24\x7B\x46\x41\x58\x42\x49\x54\x52\x41\x54\x45\x7D","\x46\x61\x78\x52\x65\x73\x6F\x6C\x75\x74\x69\x6F\x6E\x20\x3A\x20\x24\x7B\x46\x41\x58\x52\x45\x53\x4F\x4C\x55\x54\x49\x4F\x4E\x7D","\x4F\x4B\x20\x22\x24\x7B\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x7D\x22\x20\x22\x24\x7B\x46\x41\x58\x53\x54\x41\x54\x55\x53\x53\x54\x52\x49\x4E\x47\x7D\x22\x20\x22\x24\x7B\x46\x41\x58\x50\x41\x47\x45\x53\x7D\x22","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x69\x6E\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78","\x2A\x2A\x2A\x2A\x20\x46\x41\x58\x20\x52\x45\x43\x45\x49\x56\x45\x44\x20\x66\x72\x6F\x6D\x20\x24\x7B\x43\x41\x4C\x4C\x45\x52\x49\x44\x28\x6E\x75\x6D\x29\x7D\x20\x24\x7B\x53\x54\x52\x46\x54\x49\x4D\x45\x28\x24\x7B\x45\x50\x4F\x43\x48\x7D\x2C\x2C\x25\x63\x29\x7D\x20\x2A\x2A\x2A\x2A","\x46\x41\x58\x4F\x50\x54\x28\x65\x63\x6D\x29\x3A\x79\x65\x73","\x46\x49\x4C\x45\x4E\x41\x4D\x45\x3A\x24\x7B\x55\x4E\x49\x51\x55\x45\x49\x44\x7D","\x46\x41\x58\x46\x49\x4C\x45\x3A\x24\x7B\x46\x49\x4C\x45\x4E\x41\x4D\x45\x7D\x2E\x74\x69\x66","\x46\x41\x58\x4F\x50\x54\x28\x68\x65\x61\x64\x65\x72\x69\x6E\x66\x6F\x29\x3A\x52\x65\x63\x65\x69\x76\x65\x64\x20\x62\x79\x20\x58\x65\x6E\x69\x61\x4C\x41\x42\x20\x24\x7B\x53\x54\x52\x46\x54\x49\x4D\x45\x28\x24\x7B\x45\x50\x4F\x43\x48\x7D\x2C\x2C\x25\x59\x2D\x25\x6D\x2D\x25\x64\x20\x25\x48\x3A\x25\x4D\x29\x7D","\x46\x41\x58\x4F\x50\x54\x28\x68\x65\x61\x64\x65\x72\x69\x6E\x66\x6F\x29\x20\x3A\x20\x24\x7B\x46\x41\x58\x4F\x50\x54\x28\x68\x65\x61\x64\x65\x72\x69\x6E\x66\x6F\x29\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6C\x6F\x63\x61\x6C\x73\x74\x61\x74\x69\x6F\x6E\x69\x64\x29\x20\x3A\x20\x24\x7B\x46\x41\x58\x4F\x50\x54\x28\x6C\x6F\x63\x61\x6C\x73\x74\x61\x74\x69\x6F\x6E\x69\x64\x29\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6D\x61\x78\x72\x61\x74\x65\x29\x20\x3A\x20\x24\x7B\x46\x41\x58\x4F\x50\x54\x28\x6D\x61\x78\x72\x61\x74\x65\x29\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6D\x69\x6E\x72\x61\x74\x65\x29\x20\x3A\x20\x24\x7B\x46\x41\x58\x4F\x50\x54\x28\x6D\x69\x6E\x72\x61\x74\x65\x29\x7D","\x2A\x2A\x2A\x2A\x20\x52\x45\x43\x45\x49\x56\x49\x4E\x47\x20\x46\x41\x58\x20\x3A\x20\x24\x7B\x46\x41\x58\x46\x49\x4C\x45\x7D\x20\x2A\x2A\x2A\x2A","\x52\x65\x63\x65\x69\x76\x65\x46\x61\x78","\x2F\x74\x6D\x70\x2F\x24\x7B\x46\x41\x58\x46\x49\x4C\x45\x7D","\x48\x61\x6E\x67\x75\x70","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x73\x71\x75\x61\x72\x65\x20\x70\x72\x6F\x6A\x65\x63\x74\x73","\x70\x72\x6F\x6A\x65\x63\x74\x31","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x70\x72\x6F\x6A\x65\x63\x74","\x53\x71\x75\x61\x72\x65\x50\x72\x6F\x6A\x65\x63\x74","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x76\x61\x72\x69\x61\x62\x6C\x65\x31","\x56\x61\x72\x69\x61\x62\x6C\x65","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x63\x6F\x6E\x74\x65\x78\x74\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x44\x65\x66\x61\x75\x6C\x74\x20\x63\x6F\x6E\x74\x65\x78\x74\x20\x28\x44\x4F\x20\x4E\x4F\x54\x20\x44\x45\x4C\x45\x54\x45\x29","\x66\x72\x6F\x6D\x2D\x76\x6F\x69\x70\x2D\x70\x72\x6F\x76\x69\x64\x65\x72","\x56\x6F\x69\x63\x65\x43\x6F\x6E\x74\x65\x78\x74","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x6D\x6F\x68\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x64\x65\x66\x61\x75\x6C\x74","\x66\x69\x6C\x65\x73","\x76\x61\x72\x2F\x6C\x69\x62\x2F\x61\x73\x74\x65\x72\x69\x73\x6B\x2F\x6D\x6F\x68","\x61\x6C\x70\x68\x61","\x77\x61\x76","\x56\x6F\x69\x63\x65\x4D\x75\x73\x69\x63\x4F\x6E\x48\x6F\x6C\x64","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x73\x65\x74\x74\x69\x6E\x67\x73","\x53\x65\x74\x74\x69\x6E\x67\x73","\x4D\x6F\x74\x69\x6F\x6E\x20\x44\x61\x73\x68\x62\x6F\x61\x72\x64","\x63\x6F\x6C\x2D\x6D\x64\x2D\x34","\x63\x6C\x6F\x63\x6B","\x43\x6C\x6F\x63\x6B","\x68\x68\x3A\x6D\x6D\x3A\x73\x73\x20\x61","\x64\x64\x64\x64\x2C\x20\x4D\x4D\x4D\x4D\x20\x44\x6F\x20\x59\x59\x59\x59","\x63\x6F\x6C\x2D\x6D\x64\x2D\x38","\x69\x66\x72\x61\x6D\x65","\x49\x66\x72\x61\x6D\x65","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x65\x6D\x6F\x2E\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D\x2F\x73\x68\x6F\x70\x2F","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x44\x61\x73\x68\x62\x6F\x61\x72\x64","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73","\x5A\x65\x6E\x64\x65\x73\x6B","\x31\x2E\x30\x2E\x30","\x58\x65\x6E\x69\x61\x4C\x41\x42\x20\x73\x2E\x72\x2E\x6C\x2E","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x32\x2E\x70\x6E\x67","\x7A\x65\x6E\x64\x65\x73\x6B","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x66\x6F\x72\x20\x5A\x65\x6E\x64\x65\x73\x6B","\x44\x65\x73\x6B\x2E\x63\x6F\x6D","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x64\x65\x73\x6B\x32\x2E\x70\x6E\x67","\x64\x65\x73\x6B","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x66\x6F\x72\x20\x44\x65\x73\x6B\x2E\x63\x6F\x6D","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x32\x2E\x70\x6E\x67","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x66\x6F\x72\x20\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65","\x46\x72\x65\x73\x68\x64\x65\x73\x6B","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2E\x70\x6E\x67","\x66\x72\x65\x73\x68\x64\x65\x73\x6B","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x66\x6F\x72\x20\x46\x72\x65\x73\x68\x64\x65\x73\x6B","\x53\x75\x67\x61\x72\x43\x52\x4D","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x32\x2E\x70\x6E\x67","\x73\x75\x67\x61\x72\x63\x72\x6D","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x66\x6F\x72\x20\x53\x75\x67\x61\x72\x43\x52\x4D","\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x5B\x7B\x22\x69\x64\x22\x3A\x22\x31\x22\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x23\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x4D\x6F\x74\x69\x6F\x6E\x20\x52\x65\x70\x6F\x72\x74\x73\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x22\x69\x63\x6F\x6E\x2D\x72\x6F\x63\x6B\x65\x74\x22\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x74\x72\x75\x65\x7D\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x32\x22\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x31\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x42\x61\x73\x69\x63\x20\x4E\x6F\x64\x65\x22\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x7D\x5D","\x5B\x7B\x22\x69\x64\x22\x3A\x22\x31\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x43\x75\x73\x74\x6F\x6D\x20\x52\x65\x70\x6F\x72\x74\x73\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x22\x69\x63\x6F\x6E\x2D\x62\x6F\x6F\x6B\x2D\x6F\x70\x65\x6E\x22\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x31\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x31\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x23\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x32\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x42\x61\x73\x69\x63\x20\x4E\x6F\x64\x65\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x32\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x32\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x31\x22\x7D\x5D","\x52\x65\x70\x6F\x72\x74\x54\x72\x65\x65"];_0xa26a[0];var _=require(_0xa26a[1]);var models=require(_0xa26a[2]);models[_0xa26a[29]][_0xa26a[28]]([{provider:_0xa26a[6],role:_0xa26a[7],fullname:_0xa26a[8],email:_0xa26a[9],name:_0xa26a[7],password:_0xa26a[10],defaultuser:_0xa26a[11],host:_0xa26a[12],type:_0xa26a[13],transport:_0xa26a[14],allow:_0xa26a[15],qualify:_0xa26a[16],nat:_0xa26a[17],disallow:_0xa26a[18],context:_0xa26a[19],internal:1000},{provider:_0xa26a[6],role:_0xa26a[20],fullname:_0xa26a[21],email:_0xa26a[22],name:_0xa26a[23],password:_0xa26a[24],defaultuser:_0xa26a[23],host:_0xa26a[12],type:_0xa26a[13],transport:_0xa26a[14],allow:_0xa26a[15],qualify:_0xa26a[16],nat:_0xa26a[17],disallow:_0xa26a[18],context:_0xa26a[19],internal:1001},{provider:_0xa26a[6],role:_0xa26a[20],fullname:_0xa26a[25],email:_0xa26a[26],name:_0xa26a[27],password:_0xa26a[24],defaultuser:_0xa26a[27],host:_0xa26a[12],type:_0xa26a[13],transport:_0xa26a[14],allow:_0xa26a[15],qualify:_0xa26a[16],nat:_0xa26a[17],disallow:_0xa26a[18],context:_0xa26a[19],internal:1002}],{ignoreDuplicates:true,individualHooks:true})[_0xa26a[5]](function(){console[_0xa26a[4]](_0xa26a[3])});models[_0xa26a[59]][_0xa26a[28]]([{name:_0xa26a[31],title:_0xa26a[32]},{name:_0xa26a[33],title:_0xa26a[34]},{name:_0xa26a[35],title:_0xa26a[36]},{name:_0xa26a[37],title:_0xa26a[38]},{name:_0xa26a[39],title:_0xa26a[40]},{name:_0xa26a[41],title:_0xa26a[42]},{name:_0xa26a[43],title:_0xa26a[44]},{name:_0xa26a[45],title:_0xa26a[46]},{name:_0xa26a[47],title:_0xa26a[48]},{name:_0xa26a[49],title:_0xa26a[50]},{name:_0xa26a[51],title:_0xa26a[52]},{name:_0xa26a[53],title:_0xa26a[54]},{name:_0xa26a[55],title:_0xa26a[56]},{name:_0xa26a[57],title:_0xa26a[58]}],{ignoreDuplicates:true})[_0xa26a[5]](function(){console[_0xa26a[4]](_0xa26a[30])});models[_0xa26a[67]][_0xa26a[71]]({name:_0xa26a[65],description:_0xa26a[84],defaultEntry:true})[_0xa26a[5]](function(_0xda30x4){models[_0xa26a[29]][_0xa26a[83]]({where:{role:_0xa26a[20]}})[_0xa26a[5]](function(_0xda30x5){_0xda30x4[_0xa26a[64]](_[_0xa26a[63]](_0xda30x5,_0xa26a[62]))[_0xa26a[5]](function(){models[_0xa26a[72]][_0xa26a[71]]({name:_0xa26a[68],description:_0xa26a[69],timeout:5,strategy:_0xa26a[70]})[_0xa26a[5]](function(_0xda30x6){console[_0xa26a[4]](_0xa26a[61]);models[_0xa26a[67]][_0xa26a[66]]({where:{name:_0xa26a[65]},include:[{all:true}]})[_0xa26a[5]](function(_0xda30x4){_0xda30x6[_0xa26a[64]](_[_0xa26a[63]](_0xda30x4.Users,_0xa26a[62]))[_0xa26a[60]](function(_0xda30x3){})})[_0xa26a[60]](function(_0xda30x3){});});models[_0xa26a[78]][_0xa26a[71]]({name:_0xa26a[76],description:_0xa26a[77],timeout:5,strategy:_0xa26a[70]})[_0xa26a[5]](function(_0xda30x7){console[_0xa26a[4]](_0xa26a[73]);models[_0xa26a[67]][_0xa26a[66]]({where:{name:_0xa26a[65]},include:[{all:true}]})[_0xa26a[5]](function(_0xda30x4){if(_0xda30x4){console[_0xa26a[4]](_0xa26a[74])}else {console[_0xa26a[4]](_0xa26a[75])};_0xda30x7[_0xa26a[64]](_[_0xa26a[63]](_0xda30x4.Users,_0xa26a[62]))[_0xa26a[60]](function(_0xda30x3){});})[_0xa26a[60]](function(_0xda30x3){});});models[_0xa26a[82]][_0xa26a[71]]({name:_0xa26a[80],description:_0xa26a[81],timeout:5,strategy:_0xa26a[70]})[_0xa26a[5]](function(_0xda30x8){console[_0xa26a[4]](_0xa26a[79]);models[_0xa26a[67]][_0xa26a[66]]({where:{name:_0xa26a[65]},include:[{all:true}]})[_0xa26a[5]](function(_0xda30x4){_0xda30x8[_0xa26a[64]](_[_0xa26a[63]](_0xda30x4.Users,_0xa26a[62]))[_0xa26a[60]](function(_0xda30x3){})})[_0xa26a[60]](function(_0xda30x3){});});})[_0xa26a[60]](function(_0xda30x3){})})[_0xa26a[60]](function(_0xda30x3){})})[_0xa26a[60]](function(_0xda30x3){});models[_0xa26a[112]][_0xa26a[28]]([{context:_0xa26a[86],exten:_0xa26a[87],priority:1,app:_0xa26a[88],appdata:_0xa26a[89],type:_0xa26a[86]},{context:_0xa26a[86],exten:_0xa26a[87],priority:2,app:_0xa26a[90],appdata:_0xa26a[91],type:_0xa26a[86]},{context:_0xa26a[86],exten:_0xa26a[87],priority:3,app:_0xa26a[92],appdata:_0xa26a[93],type:_0xa26a[86]},{context:_0xa26a[86],exten:_0xa26a[87],priority:4,app:_0xa26a[92],appdata:_0xa26a[94],type:_0xa26a[86]},{context:_0xa26a[86],exten:_0xa26a[87],priority:5,app:_0xa26a[92],appdata:_0xa26a[95],type:_0xa26a[86]},{context:_0xa26a[86],exten:_0xa26a[87],priority:6,app:_0xa26a[92],appdata:_0xa26a[96],type:_0xa26a[86]},{context:_0xa26a[86],exten:_0xa26a[87],priority:7,app:_0xa26a[92],appdata:_0xa26a[97],type:_0xa26a[86]},{context:_0xa26a[86],exten:_0xa26a[87],priority:8,app:_0xa26a[92],appdata:_0xa26a[98],type:_0xa26a[86]},{context:_0xa26a[86],exten:_0xa26a[87],priority:9,app:_0xa26a[99],appdata:_0xa26a[100],type:_0xa26a[86]},{context:_0xa26a[86],exten:_0xa26a[87],priority:10,app:_0xa26a[88],appdata:_0xa26a[101],type:_0xa26a[86]},{context:_0xa26a[86],exten:_0xa26a[102],priority:1,app:_0xa26a[88],appdata:_0xa26a[103],type:_0xa26a[86]},{context:_0xa26a[86],exten:_0xa26a[102],priority:2,app:_0xa26a[88],appdata:_0xa26a[104],type:_0xa26a[86]},{context:_0xa26a[86],exten:_0xa26a[102],priority:3,app:_0xa26a[88],appdata:_0xa26a[105],type:_0xa26a[86]},{context:_0xa26a[86],exten:_0xa26a[102],priority:4,app:_0xa26a[88],appdata:_0xa26a[106],type:_0xa26a[86]},{context:_0xa26a[86],exten:_0xa26a[102],priority:5,app:_0xa26a[88],appdata:_0xa26a[107],type:_0xa26a[86]},{context:_0xa26a[86],exten:_0xa26a[102],priority:6,app:_0xa26a[88],appdata:_0xa26a[108],type:_0xa26a[86]},{context:_0xa26a[86],exten:_0xa26a[102],priority:7,app:_0xa26a[88],appdata:_0xa26a[109],type:_0xa26a[86]},{context:_0xa26a[86],exten:_0xa26a[102],priority:8,app:_0xa26a[88],appdata:_0xa26a[110],type:_0xa26a[86]},{context:_0xa26a[86],exten:_0xa26a[102],priority:9,app:_0xa26a[88],appdata:_0xa26a[111],type:_0xa26a[86]}],{ignoreDuplicates:true})[_0xa26a[5]](function(){console[_0xa26a[4]](_0xa26a[85])});models[_0xa26a[112]][_0xa26a[28]]([{context:_0xa26a[113],exten:_0xa26a[87],priority:1,app:_0xa26a[88],appdata:_0xa26a[114],type:_0xa26a[113]},{context:_0xa26a[113],exten:_0xa26a[87],priority:2,app:_0xa26a[92],appdata:_0xa26a[115],type:_0xa26a[113]},{context:_0xa26a[113],exten:_0xa26a[87],priority:3,app:_0xa26a[92],appdata:_0xa26a[116],type:_0xa26a[113]},{context:_0xa26a[113],exten:_0xa26a[87],priority:4,app:_0xa26a[92],appdata:_0xa26a[117],type:_0xa26a[113]},{context:_0xa26a[113],exten:_0xa26a[87],priority:5,app:_0xa26a[92],appdata:_0xa26a[118],type:_0xa26a[113]},{context:_0xa26a[113],exten:_0xa26a[87],priority:6,app:_0xa26a[92],appdata:_0xa26a[96],type:_0xa26a[113]},{context:_0xa26a[113],exten:_0xa26a[87],priority:7,app:_0xa26a[92],appdata:_0xa26a[97],type:_0xa26a[113]},{context:_0xa26a[113],exten:_0xa26a[87],priority:8,app:_0xa26a[92],appdata:_0xa26a[98],type:_0xa26a[113]},{context:_0xa26a[113],exten:_0xa26a[87],priority:9,app:_0xa26a[88],appdata:_0xa26a[103],type:_0xa26a[113]},{context:_0xa26a[113],exten:_0xa26a[87],priority:10,app:_0xa26a[88],appdata:_0xa26a[119],type:_0xa26a[113]},{context:_0xa26a[113],exten:_0xa26a[87],priority:11,app:_0xa26a[88],appdata:_0xa26a[120],type:_0xa26a[113]},{context:_0xa26a[113],exten:_0xa26a[87],priority:12,app:_0xa26a[88],appdata:_0xa26a[121],type:_0xa26a[113]},{context:_0xa26a[113],exten:_0xa26a[87],priority:13,app:_0xa26a[88],appdata:_0xa26a[122],type:_0xa26a[113]},{context:_0xa26a[113],exten:_0xa26a[87],priority:14,app:_0xa26a[88],appdata:_0xa26a[123],type:_0xa26a[113]},{context:_0xa26a[113],exten:_0xa26a[87],priority:15,app:_0xa26a[124],appdata:_0xa26a[125],type:_0xa26a[113]},{context:_0xa26a[113],exten:_0xa26a[87],priority:16,app:_0xa26a[126],type:_0xa26a[113]},{context:_0xa26a[113],exten:_0xa26a[102],priority:1,app:_0xa26a[88],appdata:_0xa26a[103],type:_0xa26a[113]}],{ignoreDuplicates:true})[_0xa26a[5]](function(){console[_0xa26a[4]](_0xa26a[85])});models[_0xa26a[130]][_0xa26a[28]]([{name:_0xa26a[128],description:_0xa26a[129]}],{ignoreDuplicates:true})[_0xa26a[5]](function(){console[_0xa26a[4]](_0xa26a[127])});models[_0xa26a[133]][_0xa26a[28]]([{name:_0xa26a[132],description:_0xa26a[129]}],{ignoreDuplicates:true})[_0xa26a[5]](function(){console[_0xa26a[4]](_0xa26a[131])});models[_0xa26a[137]][_0xa26a[28]]([{name:_0xa26a[19],description:_0xa26a[135],defaultEntry:true},{name:_0xa26a[136],description:_0xa26a[135],defaultEntry:true},{name:_0xa26a[113],description:_0xa26a[135],defaultEntry:true},{name:_0xa26a[86],description:_0xa26a[135],defaultEntry:true}],{ignoreDuplicates:true,individualHooks:true})[_0xa26a[5]](function(){console[_0xa26a[4]](_0xa26a[134])});models[_0xa26a[144]][_0xa26a[28]]([{name:_0xa26a[139],mode:_0xa26a[140],directory:_0xa26a[141],sort:_0xa26a[142],format:_0xa26a[143],defaultEntry:true}],{ignoreDuplicates:true,individualHooks:true})[_0xa26a[5]](function(){console[_0xa26a[4]](_0xa26a[138])});models[_0xa26a[146]][_0xa26a[71]]({min_internal:1003})[_0xa26a[5]](function(){console[_0xa26a[4]](_0xa26a[145])});models[_0xa26a[158]][_0xa26a[28]]([{name:_0xa26a[147],model:JSON[_0xa26a[157]]({title:_0xa26a[147],rows:[{columns:[{styleClass:_0xa26a[148],widgets:[{type:_0xa26a[149],title:_0xa26a[150],config:{timePattern:_0xa26a[151],datePattern:_0xa26a[152]}}]},{styleClass:_0xa26a[153],widgets:[{type:_0xa26a[154],title:_0xa26a[155],config:{url:_0xa26a[156]}}]}]}]}),defaultEntry:true}],{ignoreDuplicates:true,individualHooks:true})[_0xa26a[5]](function(){console[_0xa26a[4]](_0xa26a[138])});models[_0xa26a[182]][_0xa26a[28]]([{name:_0xa26a[160],version:_0xa26a[161],active:false,author:_0xa26a[162],logo:_0xa26a[163],state:_0xa26a[164],description:_0xa26a[165]},{name:_0xa26a[166],version:_0xa26a[161],active:false,author:_0xa26a[162],logo:_0xa26a[167],state:_0xa26a[168],description:_0xa26a[169]},{name:_0xa26a[170],version:_0xa26a[161],active:false,author:_0xa26a[162],logo:_0xa26a[171],state:_0xa26a[172],description:_0xa26a[173]},{name:_0xa26a[174],version:_0xa26a[161],active:false,author:_0xa26a[162],logo:_0xa26a[175],state:_0xa26a[176],description:_0xa26a[177]},{name:_0xa26a[178],version:_0xa26a[161],active:false,author:_0xa26a[162],logo:_0xa26a[179],state:_0xa26a[180],description:_0xa26a[181]}],{ignoreDuplicates:true,individualHooks:true})[_0xa26a[5]](function(){console[_0xa26a[4]](_0xa26a[159])});models[_0xa26a[185]][_0xa26a[28]]([{id:1,tree:_0xa26a[183]},{id:2,tree:_0xa26a[184]}],{ignoreDuplicates:true,individualHooks:true})[_0xa26a[5]](function(){console[_0xa26a[4]](_0xa26a[159])});
\ No newline at end of file
index e4dd31ce8430ad2443df1419320a9173db5b7d60..b8ad77f018b8b35e4aca484fc49ae04e2f932a18 100644 (file)
@@ -1 +1 @@
-var _0xdc89=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x65\x78\x70\x6F\x72\x74\x73","\x63\x72\x65\x61\x74\x65","\x2E\x2F\x73\x6D\x74\x70","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x66\x6F\x72\x45\x61\x63\x68","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C"];_0xdc89[0];var _=require(_0xdc89[1]);var MailServerOut=require(_0xdc89[3])[_0xdc89[2]];module[_0xdc89[4]]={init:function(){MailServerOut[_0xdc89[7]](function(_0xa2edx3){require(_0xdc89[6])[_0xdc89[5]](_0xa2edx3)});return MailServerOut[_0xdc89[12]]()[_0xdc89[11]](function(_0xa2edx5){_0xa2edx5[_0xdc89[10]](function(_0xa2edx6){require(_0xdc89[6])[_0xdc89[5]](_0xa2edx6)})})[_0xdc89[9]](function(_0xa2edx4){console[_0xdc89[8]](_0xa2edx4)});}};
\ No newline at end of file
+var _0xfe5e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x65\x78\x70\x6F\x72\x74\x73","\x63\x72\x65\x61\x74\x65","\x2E\x2F\x73\x6D\x74\x70","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x66\x6F\x72\x45\x61\x63\x68","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C"];_0xfe5e[0];var _=require(_0xfe5e[1]);var MailServerOut=require(_0xfe5e[3])[_0xfe5e[2]];module[_0xfe5e[4]]={init:function(){MailServerOut[_0xfe5e[7]](function(_0xd437x3){require(_0xfe5e[6])[_0xfe5e[5]](_0xd437x3)});return MailServerOut[_0xfe5e[12]]()[_0xfe5e[11]](function(_0xd437x5){_0xd437x5[_0xfe5e[10]](function(_0xd437x6){require(_0xfe5e[6])[_0xfe5e[5]](_0xd437x6)})})[_0xfe5e[9]](function(_0xd437x4){console[_0xfe5e[8]](_0xd437x4)});}};
\ No newline at end of file
index 38a3ba964f6b86602cb042baf558fc877ca35500..6cdbfff446cf202cf1f9a8d1c5c312a822ecbdc8 100644 (file)
@@ -1 +1 @@
-var _0x95cd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x62\x6C\x75\x65\x62\x69\x72\x64","\x6E\x6F\x64\x65\x6D\x61\x69\x6C\x65\x72","\x6E\x6F\x64\x65\x6D\x61\x69\x6C\x65\x72\x2D\x73\x6D\x74\x70\x2D\x74\x72\x61\x6E\x73\x70\x6F\x72\x74","\x43\x6F\x6E\x74\x61\x63\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x43\x6F\x6E\x74\x61\x63\x74\x45\x6D\x61\x69\x6C","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x65\x78\x70\x6F\x72\x74\x73","\x4D\x41\x49\x4C\x20\x2D\x20\x41\x63\x63\x6F\x75\x6E\x74\x20","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x20\x53\x4D\x54\x50\x20\x43\x52\x45\x41\x54\x45","\x6C\x6F\x67","\x68\x6F\x73\x74","\x70\x6F\x72\x74","\x73\x73\x6C","\x70\x61\x73\x73\x77\x6F\x72\x64","\x63\x72\x65\x61\x74\x65\x54\x72\x61\x6E\x73\x70\x6F\x72\x74","\x75\x73\x65\x72","\x61\x75\x74\x68","\x6F\x70\x74\x69\x6F\x6E\x73","\x74\x72\x61\x6E\x73\x70\x6F\x72\x74\x65\x72","\x20\x53\x4D\x54\x50\x20\x55\x50\x44\x41\x54\x45","\x5B\x4D\x41\x49\x4C\x20\x2D\x20\x41\x63\x63\x6F\x75\x6E\x74\x20","\x20\x53\x4D\x54\x50\x20\x44\x45\x53\x54\x52\x4F\x59","\x73\x74\x61\x74\x75\x73","\x63\x68\x61\x6E\x67\x65\x64","\x53\x45\x4E\x44\x49\x4E\x47","\x66\x72\x6F\x6D","\x6F\x6E\x53\x65\x6E\x64","\x69\x6E\x52\x65\x70\x6C\x79\x54\x6F","\x6D\x65\x73\x73\x61\x67\x65\x49\x64","\x53\x45\x4E\x54","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x74\x68\x65\x6E","\x74\x6F","\x63\x63","\x73\x75\x62\x6A\x65\x63\x74","\x68\x74\x6D\x6C","\x74\x65\x78\x74","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x73","\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x73","\x70\x61\x74\x68","\x6E\x61\x6D\x65","\x6D\x61\x70","\x73\x65\x6E\x64\x4D\x61\x69\x6C","\x73\x65\x74\x42\x63\x63","\x73\x65\x74\x43\x63","\x73\x65\x74\x54\x6F","\x73\x65\x74\x46\x72\x6F\x6D","\x61\x6C\x6C","\x62\x63\x63","\x3B","\x73\x70\x6C\x69\x74","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x73\x70\x72\x65\x61\x64","\x61\x64\x64\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x67\x65\x74\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x66\x69\x6E\x64\x4F\x6E\x65","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x49\x64","\x4F\x50\x45\x4E","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65"];_0x95cd[0];var _=require(_0x95cd[1]);var Promise=require(_0x95cd[2]);var nodemailer=require(_0x95cd[3]);var smtpTransport=require(_0x95cd[4]);var Contact=require(_0x95cd[6])[_0x95cd[5]];var MailRoom=require(_0x95cd[6])[_0x95cd[7]];var MailMessage=require(_0x95cd[6])[_0x95cd[8]];var ContactEmail=require(_0x95cd[6])[_0x95cd[9]];var MailServerOut=require(_0x95cd[6])[_0x95cd[10]];module[_0x95cd[11]]={create:function(_0x73daxa){var _0x73daxb;var _0x73daxc;function _0x73daxd(_0x73daxa){console[_0x95cd[15]](_0x95cd[12]+_0x73daxa[_0x95cd[13]]+_0x95cd[14]);_0x73daxc=_0x73daxa;_0x73daxb=nodemailer[_0x95cd[20]](smtpTransport({host:_0x73daxa[_0x95cd[16]],port:_0x73daxa[_0x95cd[17]],secure:_0x73daxa[_0x95cd[18]],debug:true,auth:{user:_0x73daxa[_0x95cd[13]],pass:_0x73daxa[_0x95cd[19]]}}));}function _0x73daxe(_0x73daxa){if(_0x73daxb[_0x95cd[24]][_0x95cd[23]][_0x95cd[22]][_0x95cd[21]]===_0x73daxa[_0x95cd[13]]){console[_0x95cd[15]](_0x95cd[12]+_0x73daxa[_0x95cd[13]]+_0x95cd[25]);_0x73daxb=null;_0x73daxb=nodemailer[_0x95cd[20]](smtpTransport({host:_0x73daxa[_0x95cd[16]],port:_0x73daxa[_0x95cd[17]],secure:_0x73daxa[_0x95cd[18]],debug:true,auth:{user:_0x73daxa[_0x95cd[13]],pass:_0x73daxa[_0x95cd[19]]}}));}}function _0x73daxf(_0x73daxa){if(_0x73daxb[_0x95cd[24]][_0x95cd[23]][_0x95cd[22]][_0x95cd[21]]===_0x73daxa[_0x95cd[13]]){console[_0x95cd[15]](_0x95cd[26]+_0x73daxa[_0x95cd[13]]+_0x95cd[27]);_0x73daxb=null;}}function _0x73dax10(_0x73dax11,_0x73dax12){if(_0x73dax11[_0x95cd[29]](_0x95cd[28])&&_0x73dax11[_0x95cd[28]]===_0x95cd[30]&&_0x73daxb[_0x95cd[24]][_0x95cd[23]][_0x95cd[22]][_0x95cd[21]]===_0x73dax11[_0x95cd[31]]){console[_0x95cd[15]](_0x95cd[32],_0x73dax11[_0x95cd[31]]);var _0x73dax13;var _0x73dax14=_0x73dax11;var _0x73dax15,_0x73dax16,_0x73dax17,_0x73dax18;if(_0x73dax14[_0x95cd[33]]){return MailMessage[_0x95cd[64]]({where:{messageId:_0x73dax14[_0x95cd[33]]}})[_0x95cd[38]](function(_0x73dax27){return _0x73dax27[_0x95cd[63]]()})[_0x95cd[38]](function(_0x73dax26){_0x73dax13=_0x73dax26;return _0x73dax26[_0x95cd[62]](_0x73dax14,{transaction:_0x73dax12?_0x73dax12[_0x95cd[36]]:null});})[_0x95cd[38]](function(){return ContactEmail[_0x95cd[58]]({where:{email:_0x73dax14[_0x95cd[31]]},defaults:{email:_0x73dax14[_0x95cd[31]]},transaction:_0x73dax12?_0x73dax12[_0x95cd[36]]:null})})[_0x95cd[61]](function(_0x73dax23,_0x73dax24){var _0x73dax1e=[];var _0x73dax25=_0x73dax14[_0x95cd[39]]?_0x73dax14[_0x95cd[39]][_0x95cd[57]](_0x95cd[56]):[];_0x73dax15=_0x73dax23;_0x73dax25[_0x95cd[60]](function(_0x73dax20){_0x73dax1e[_0x95cd[59]](ContactEmail[_0x95cd[58]]({where:{email:_0x73dax20},defaults:{email:_0x73dax20},transaction:_0x73dax12?_0x73dax12[_0x95cd[36]]:null}))});return _0x73dax1e;})[_0x95cd[54]]()[_0x95cd[38]](function(_0x73dax21){var _0x73dax1e=[];var _0x73dax22=_0x73dax14[_0x95cd[40]]?_0x73dax14[_0x95cd[40]][_0x95cd[57]](_0x95cd[56]):[];_0x73dax16=_[_0x95cd[48]](_0x73dax21,function(_0x73dax1b){return _0x73dax1b[0]});_0x73dax22[_0x95cd[60]](function(_0x73dax20){_0x73dax1e[_0x95cd[59]](ContactEmail[_0x95cd[58]]({where:{email:_0x73dax20},defaults:{email:_0x73dax20},transaction:_0x73dax12?_0x73dax12[_0x95cd[36]]:null}))});return _0x73dax1e;})[_0x95cd[54]]()[_0x95cd[38]](function(_0x73dax1d){var _0x73dax1e=[];var _0x73dax1f=_0x73dax14[_0x95cd[55]]?_0x73dax14[_0x95cd[55]][_0x95cd[57]](_0x95cd[56]):[];_0x73dax17=_[_0x95cd[48]](_0x73dax1d,function(_0x73dax1b){return _0x73dax1b[0]});_0x73dax1f[_0x95cd[60]](function(_0x73dax20){_0x73dax1e[_0x95cd[59]](ContactEmail[_0x95cd[58]]({where:{email:_0x73dax20},defaults:{email:_0x73dax20},transaction:_0x73dax12?_0x73dax12[_0x95cd[36]]:null}))});return _0x73dax1e;})[_0x95cd[54]]()[_0x95cd[38]](function(_0x73dax1c){_0x73dax18=_[_0x95cd[48]](_0x73dax1c,function(_0x73dax1b){return _0x73dax1b[0]});return ;})[_0x95cd[38]](function(){return _0x73dax14[_0x95cd[53]](_0x73dax15,{transaction:_0x73dax12?_0x73dax12[_0x95cd[36]]:null})})[_0x95cd[38]](function(){return _0x73dax14[_0x95cd[52]](_0x73dax16,{transaction:_0x73dax12?_0x73dax12[_0x95cd[36]]:null})})[_0x95cd[38]](function(){return _0x73dax14[_0x95cd[51]](_0x73dax17,{transaction:_0x73dax12?_0x73dax12[_0x95cd[36]]:null})})[_0x95cd[38]](function(){return _0x73dax14[_0x95cd[50]](_0x73dax18,{transaction:_0x73dax12?_0x73dax12[_0x95cd[36]]:null})})[_0x95cd[38]](function(){var _0x73dax1a={status:_0x73dax14[_0x95cd[28]],from:_0x73dax14[_0x95cd[31]],to:_0x73dax14[_0x95cd[39]],cc:_0x73dax14[_0x95cd[40]],subject:_0x73dax14[_0x95cd[41]],html:_0x73dax14[_0x95cd[42]],text:_0x73dax14[_0x95cd[43]],headers:{"\x58\x2D\x4C\x61\x7A\x69\x6E\x65\x73\x73\x2D\x6C\x65\x76\x65\x6C":1000}};if(_0x73dax14[_0x95cd[44]]){_0x73dax1a[_0x95cd[45]]=_[_0x95cd[48]](_0x73dax14.MailAttachments,function(_0x73dax1b){return {path:_0x73dax1b[_0x95cd[46]],filename:_0x73dax1b[_0x95cd[47]]}})};return _0x73daxb[_0x95cd[49]](_0x73dax1a);})[_0x95cd[38]](function(_0x73dax19){return _0x73dax14[_0x95cd[37]]({messageId:_0x73dax19[_0x95cd[34]],status:_0x95cd[35]},{transaction:_0x73dax12?_0x73dax12[_0x95cd[36]]:null})})}else {return MailRoom[_0x95cd[58]]({where:{id:_0x73dax14[_0x95cd[65]]},defaults:{subject:_0x73dax14[_0x95cd[41]],from:_0x73dax14[_0x95cd[31]],status:_0x95cd[66],MailAccountId:_0x73daxc[_0x95cd[67]]},transaction:_0x73dax12?_0x73dax12[_0x95cd[36]]:null})[_0x95cd[61]](function(_0x73dax26){_0x73dax13=_0x73dax26;return _0x73dax26[_0x95cd[62]](_0x73dax14,{transaction:_0x73dax12?_0x73dax12[_0x95cd[36]]:null});})[_0x95cd[38]](function(){return ContactEmail[_0x95cd[58]]({where:{email:_0x73dax14[_0x95cd[31]]},defaults:{email:_0x73dax14[_0x95cd[31]]},transaction:_0x73dax12?_0x73dax12[_0x95cd[36]]:null})})[_0x95cd[61]](function(_0x73dax23){var _0x73dax1e=[];var _0x73dax25=_0x73dax14[_0x95cd[39]]?_0x73dax14[_0x95cd[39]][_0x95cd[57]](_0x95cd[56]):[];_0x73dax15=_0x73dax23;_0x73dax25[_0x95cd[60]](function(_0x73dax20){_0x73dax1e[_0x95cd[59]](ContactEmail[_0x95cd[58]]({where:{email:_0x73dax20},defaults:{email:_0x73dax20},transaction:_0x73dax12?_0x73dax12[_0x95cd[36]]:null}))});return _0x73dax1e;})[_0x95cd[54]]()[_0x95cd[38]](function(_0x73dax21){var _0x73dax1e=[];var _0x73dax22=_0x73dax14[_0x95cd[40]]?_0x73dax14[_0x95cd[40]][_0x95cd[57]](_0x95cd[56]):[];_0x73dax16=_[_0x95cd[48]](_0x73dax21,function(_0x73dax1b){return _0x73dax1b[0]});_0x73dax22[_0x95cd[60]](function(_0x73dax20){_0x73dax1e[_0x95cd[59]](ContactEmail[_0x95cd[58]]({where:{email:_0x73dax20},defaults:{email:_0x73dax20},transaction:_0x73dax12?_0x73dax12[_0x95cd[36]]:null}))});return _0x73dax1e;})[_0x95cd[54]]()[_0x95cd[38]](function(_0x73dax1d){var _0x73dax1e=[];var _0x73dax1f=_0x73dax14[_0x95cd[55]]?_0x73dax14[_0x95cd[55]][_0x95cd[57]](_0x95cd[56]):[];_0x73dax17=_[_0x95cd[48]](_0x73dax1d,function(_0x73dax1b){return _0x73dax1b[0]});_0x73dax1f[_0x95cd[60]](function(_0x73dax20){_0x73dax1e[_0x95cd[59]](ContactEmail[_0x95cd[58]]({where:{email:_0x73dax20},defaults:{email:_0x73dax20},transaction:_0x73dax12?_0x73dax12[_0x95cd[36]]:null}))});return _0x73dax1e;})[_0x95cd[54]]()[_0x95cd[38]](function(_0x73dax1c){_0x73dax18=_[_0x95cd[48]](_0x73dax1c,function(_0x73dax1b){return _0x73dax1b[0]});return ;})[_0x95cd[38]](function(){return _0x73dax14[_0x95cd[53]](_0x73dax15,{transaction:_0x73dax12?_0x73dax12[_0x95cd[36]]:null})})[_0x95cd[38]](function(){return _0x73dax14[_0x95cd[52]](_0x73dax16,{transaction:_0x73dax12?_0x73dax12[_0x95cd[36]]:null})})[_0x95cd[38]](function(){return _0x73dax14[_0x95cd[51]](_0x73dax17,{transaction:_0x73dax12?_0x73dax12[_0x95cd[36]]:null})})[_0x95cd[38]](function(){return _0x73dax14[_0x95cd[50]](_0x73dax18,{transaction:_0x73dax12?_0x73dax12[_0x95cd[36]]:null})})[_0x95cd[38]](function(){var _0x73dax1a={status:_0x73dax14[_0x95cd[28]],from:_0x73dax14[_0x95cd[31]],to:_0x73dax14[_0x95cd[39]],cc:_0x73dax14[_0x95cd[40]],subject:_0x73dax14[_0x95cd[41]],html:_0x73dax14[_0x95cd[42]],text:_0x73dax14[_0x95cd[43]],headers:{"\x58\x2D\x4C\x61\x7A\x69\x6E\x65\x73\x73\x2D\x6C\x65\x76\x65\x6C":1000}};if(_0x73dax14[_0x95cd[44]]){_0x73dax1a[_0x95cd[45]]=_[_0x95cd[48]](_0x73dax14.MailAttachments,function(_0x73dax1b){return {path:_0x73dax1b[_0x95cd[46]],filename:_0x73dax1b[_0x95cd[47]]}})};return _0x73daxb[_0x95cd[49]](_0x73dax1a);})[_0x95cd[38]](function(_0x73dax19){return _0x73dax14[_0x95cd[37]]({messageId:_0x73dax19[_0x95cd[34]],status:_0x95cd[35]},{transaction:_0x73dax12?_0x73dax12[_0x95cd[36]]:null})})};}}_0x73daxd(_0x73daxa);MailServerOut[_0x95cd[68]](function(_0x73daxa){_0x73daxe(_0x73daxa)});MailServerOut[_0x95cd[69]](function(_0x73daxa){_0x73daxf(_0x73daxa)});MailMessage[_0x95cd[70]](function(_0x73daxa,_0x73dax12){return _0x73dax10(_0x73daxa,_0x73dax12)});}};
\ No newline at end of file
+var _0x6617=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x62\x6C\x75\x65\x62\x69\x72\x64","\x6E\x6F\x64\x65\x6D\x61\x69\x6C\x65\x72","\x6E\x6F\x64\x65\x6D\x61\x69\x6C\x65\x72\x2D\x73\x6D\x74\x70\x2D\x74\x72\x61\x6E\x73\x70\x6F\x72\x74","\x43\x6F\x6E\x74\x61\x63\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x43\x6F\x6E\x74\x61\x63\x74\x45\x6D\x61\x69\x6C","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x65\x78\x70\x6F\x72\x74\x73","\x4D\x41\x49\x4C\x20\x2D\x20\x41\x63\x63\x6F\x75\x6E\x74\x20","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x20\x53\x4D\x54\x50\x20\x43\x52\x45\x41\x54\x45","\x6C\x6F\x67","\x68\x6F\x73\x74","\x70\x6F\x72\x74","\x73\x73\x6C","\x70\x61\x73\x73\x77\x6F\x72\x64","\x63\x72\x65\x61\x74\x65\x54\x72\x61\x6E\x73\x70\x6F\x72\x74","\x75\x73\x65\x72","\x61\x75\x74\x68","\x6F\x70\x74\x69\x6F\x6E\x73","\x74\x72\x61\x6E\x73\x70\x6F\x72\x74\x65\x72","\x20\x53\x4D\x54\x50\x20\x55\x50\x44\x41\x54\x45","\x5B\x4D\x41\x49\x4C\x20\x2D\x20\x41\x63\x63\x6F\x75\x6E\x74\x20","\x20\x53\x4D\x54\x50\x20\x44\x45\x53\x54\x52\x4F\x59","\x73\x74\x61\x74\x75\x73","\x63\x68\x61\x6E\x67\x65\x64","\x53\x45\x4E\x44\x49\x4E\x47","\x66\x72\x6F\x6D","\x6F\x6E\x53\x65\x6E\x64","\x69\x6E\x52\x65\x70\x6C\x79\x54\x6F","\x6D\x65\x73\x73\x61\x67\x65\x49\x64","\x53\x45\x4E\x54","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x74\x68\x65\x6E","\x74\x6F","\x63\x63","\x73\x75\x62\x6A\x65\x63\x74","\x68\x74\x6D\x6C","\x74\x65\x78\x74","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x73","\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x73","\x70\x61\x74\x68","\x6E\x61\x6D\x65","\x6D\x61\x70","\x73\x65\x6E\x64\x4D\x61\x69\x6C","\x73\x65\x74\x42\x63\x63","\x73\x65\x74\x43\x63","\x73\x65\x74\x54\x6F","\x73\x65\x74\x46\x72\x6F\x6D","\x61\x6C\x6C","\x62\x63\x63","\x3B","\x73\x70\x6C\x69\x74","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x73\x70\x72\x65\x61\x64","\x61\x64\x64\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x67\x65\x74\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x66\x69\x6E\x64\x4F\x6E\x65","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x49\x64","\x4F\x50\x45\x4E","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65"];_0x6617[0];var _=require(_0x6617[1]);var Promise=require(_0x6617[2]);var nodemailer=require(_0x6617[3]);var smtpTransport=require(_0x6617[4]);var Contact=require(_0x6617[6])[_0x6617[5]];var MailRoom=require(_0x6617[6])[_0x6617[7]];var MailMessage=require(_0x6617[6])[_0x6617[8]];var ContactEmail=require(_0x6617[6])[_0x6617[9]];var MailServerOut=require(_0x6617[6])[_0x6617[10]];module[_0x6617[11]]={create:function(_0x4357xa){var _0x4357xb;var _0x4357xc;function _0x4357xd(_0x4357xa){console[_0x6617[15]](_0x6617[12]+_0x4357xa[_0x6617[13]]+_0x6617[14]);_0x4357xc=_0x4357xa;_0x4357xb=nodemailer[_0x6617[20]](smtpTransport({host:_0x4357xa[_0x6617[16]],port:_0x4357xa[_0x6617[17]],secure:_0x4357xa[_0x6617[18]],debug:true,auth:{user:_0x4357xa[_0x6617[13]],pass:_0x4357xa[_0x6617[19]]}}));}function _0x4357xe(_0x4357xa){if(_0x4357xb[_0x6617[24]][_0x6617[23]][_0x6617[22]][_0x6617[21]]===_0x4357xa[_0x6617[13]]){console[_0x6617[15]](_0x6617[12]+_0x4357xa[_0x6617[13]]+_0x6617[25]);_0x4357xb=null;_0x4357xb=nodemailer[_0x6617[20]](smtpTransport({host:_0x4357xa[_0x6617[16]],port:_0x4357xa[_0x6617[17]],secure:_0x4357xa[_0x6617[18]],debug:true,auth:{user:_0x4357xa[_0x6617[13]],pass:_0x4357xa[_0x6617[19]]}}));}}function _0x4357xf(_0x4357xa){if(_0x4357xb[_0x6617[24]][_0x6617[23]][_0x6617[22]][_0x6617[21]]===_0x4357xa[_0x6617[13]]){console[_0x6617[15]](_0x6617[26]+_0x4357xa[_0x6617[13]]+_0x6617[27]);_0x4357xb=null;}}function _0x4357x10(_0x4357x11,_0x4357x12){if(_0x4357x11[_0x6617[29]](_0x6617[28])&&_0x4357x11[_0x6617[28]]===_0x6617[30]&&_0x4357xb[_0x6617[24]][_0x6617[23]][_0x6617[22]][_0x6617[21]]===_0x4357x11[_0x6617[31]]){console[_0x6617[15]](_0x6617[32],_0x4357x11[_0x6617[31]]);var _0x4357x13;var _0x4357x14=_0x4357x11;var _0x4357x15,_0x4357x16,_0x4357x17,_0x4357x18;if(_0x4357x14[_0x6617[33]]){return MailMessage[_0x6617[64]]({where:{messageId:_0x4357x14[_0x6617[33]]}})[_0x6617[38]](function(_0x4357x27){return _0x4357x27[_0x6617[63]]()})[_0x6617[38]](function(_0x4357x26){_0x4357x13=_0x4357x26;return _0x4357x26[_0x6617[62]](_0x4357x14,{transaction:_0x4357x12?_0x4357x12[_0x6617[36]]:null});})[_0x6617[38]](function(){return ContactEmail[_0x6617[58]]({where:{email:_0x4357x14[_0x6617[31]]},defaults:{email:_0x4357x14[_0x6617[31]]},transaction:_0x4357x12?_0x4357x12[_0x6617[36]]:null})})[_0x6617[61]](function(_0x4357x23,_0x4357x24){var _0x4357x1e=[];var _0x4357x25=_0x4357x14[_0x6617[39]]?_0x4357x14[_0x6617[39]][_0x6617[57]](_0x6617[56]):[];_0x4357x15=_0x4357x23;_0x4357x25[_0x6617[60]](function(_0x4357x20){_0x4357x1e[_0x6617[59]](ContactEmail[_0x6617[58]]({where:{email:_0x4357x20},defaults:{email:_0x4357x20},transaction:_0x4357x12?_0x4357x12[_0x6617[36]]:null}))});return _0x4357x1e;})[_0x6617[54]]()[_0x6617[38]](function(_0x4357x21){var _0x4357x1e=[];var _0x4357x22=_0x4357x14[_0x6617[40]]?_0x4357x14[_0x6617[40]][_0x6617[57]](_0x6617[56]):[];_0x4357x16=_[_0x6617[48]](_0x4357x21,function(_0x4357x1b){return _0x4357x1b[0]});_0x4357x22[_0x6617[60]](function(_0x4357x20){_0x4357x1e[_0x6617[59]](ContactEmail[_0x6617[58]]({where:{email:_0x4357x20},defaults:{email:_0x4357x20},transaction:_0x4357x12?_0x4357x12[_0x6617[36]]:null}))});return _0x4357x1e;})[_0x6617[54]]()[_0x6617[38]](function(_0x4357x1d){var _0x4357x1e=[];var _0x4357x1f=_0x4357x14[_0x6617[55]]?_0x4357x14[_0x6617[55]][_0x6617[57]](_0x6617[56]):[];_0x4357x17=_[_0x6617[48]](_0x4357x1d,function(_0x4357x1b){return _0x4357x1b[0]});_0x4357x1f[_0x6617[60]](function(_0x4357x20){_0x4357x1e[_0x6617[59]](ContactEmail[_0x6617[58]]({where:{email:_0x4357x20},defaults:{email:_0x4357x20},transaction:_0x4357x12?_0x4357x12[_0x6617[36]]:null}))});return _0x4357x1e;})[_0x6617[54]]()[_0x6617[38]](function(_0x4357x1c){_0x4357x18=_[_0x6617[48]](_0x4357x1c,function(_0x4357x1b){return _0x4357x1b[0]});return ;})[_0x6617[38]](function(){return _0x4357x14[_0x6617[53]](_0x4357x15,{transaction:_0x4357x12?_0x4357x12[_0x6617[36]]:null})})[_0x6617[38]](function(){return _0x4357x14[_0x6617[52]](_0x4357x16,{transaction:_0x4357x12?_0x4357x12[_0x6617[36]]:null})})[_0x6617[38]](function(){return _0x4357x14[_0x6617[51]](_0x4357x17,{transaction:_0x4357x12?_0x4357x12[_0x6617[36]]:null})})[_0x6617[38]](function(){return _0x4357x14[_0x6617[50]](_0x4357x18,{transaction:_0x4357x12?_0x4357x12[_0x6617[36]]:null})})[_0x6617[38]](function(){var _0x4357x1a={status:_0x4357x14[_0x6617[28]],from:_0x4357x14[_0x6617[31]],to:_0x4357x14[_0x6617[39]],cc:_0x4357x14[_0x6617[40]],subject:_0x4357x14[_0x6617[41]],html:_0x4357x14[_0x6617[42]],text:_0x4357x14[_0x6617[43]],headers:{"\x58\x2D\x4C\x61\x7A\x69\x6E\x65\x73\x73\x2D\x6C\x65\x76\x65\x6C":1000}};if(_0x4357x14[_0x6617[44]]){_0x4357x1a[_0x6617[45]]=_[_0x6617[48]](_0x4357x14.MailAttachments,function(_0x4357x1b){return {path:_0x4357x1b[_0x6617[46]],filename:_0x4357x1b[_0x6617[47]]}})};return _0x4357xb[_0x6617[49]](_0x4357x1a);})[_0x6617[38]](function(_0x4357x19){return _0x4357x14[_0x6617[37]]({messageId:_0x4357x19[_0x6617[34]],status:_0x6617[35]},{transaction:_0x4357x12?_0x4357x12[_0x6617[36]]:null})})}else {return MailRoom[_0x6617[58]]({where:{id:_0x4357x14[_0x6617[65]]},defaults:{subject:_0x4357x14[_0x6617[41]],from:_0x4357x14[_0x6617[31]],status:_0x6617[66],MailAccountId:_0x4357xc[_0x6617[67]]},transaction:_0x4357x12?_0x4357x12[_0x6617[36]]:null})[_0x6617[61]](function(_0x4357x26){_0x4357x13=_0x4357x26;return _0x4357x26[_0x6617[62]](_0x4357x14,{transaction:_0x4357x12?_0x4357x12[_0x6617[36]]:null});})[_0x6617[38]](function(){return ContactEmail[_0x6617[58]]({where:{email:_0x4357x14[_0x6617[31]]},defaults:{email:_0x4357x14[_0x6617[31]]},transaction:_0x4357x12?_0x4357x12[_0x6617[36]]:null})})[_0x6617[61]](function(_0x4357x23){var _0x4357x1e=[];var _0x4357x25=_0x4357x14[_0x6617[39]]?_0x4357x14[_0x6617[39]][_0x6617[57]](_0x6617[56]):[];_0x4357x15=_0x4357x23;_0x4357x25[_0x6617[60]](function(_0x4357x20){_0x4357x1e[_0x6617[59]](ContactEmail[_0x6617[58]]({where:{email:_0x4357x20},defaults:{email:_0x4357x20},transaction:_0x4357x12?_0x4357x12[_0x6617[36]]:null}))});return _0x4357x1e;})[_0x6617[54]]()[_0x6617[38]](function(_0x4357x21){var _0x4357x1e=[];var _0x4357x22=_0x4357x14[_0x6617[40]]?_0x4357x14[_0x6617[40]][_0x6617[57]](_0x6617[56]):[];_0x4357x16=_[_0x6617[48]](_0x4357x21,function(_0x4357x1b){return _0x4357x1b[0]});_0x4357x22[_0x6617[60]](function(_0x4357x20){_0x4357x1e[_0x6617[59]](ContactEmail[_0x6617[58]]({where:{email:_0x4357x20},defaults:{email:_0x4357x20},transaction:_0x4357x12?_0x4357x12[_0x6617[36]]:null}))});return _0x4357x1e;})[_0x6617[54]]()[_0x6617[38]](function(_0x4357x1d){var _0x4357x1e=[];var _0x4357x1f=_0x4357x14[_0x6617[55]]?_0x4357x14[_0x6617[55]][_0x6617[57]](_0x6617[56]):[];_0x4357x17=_[_0x6617[48]](_0x4357x1d,function(_0x4357x1b){return _0x4357x1b[0]});_0x4357x1f[_0x6617[60]](function(_0x4357x20){_0x4357x1e[_0x6617[59]](ContactEmail[_0x6617[58]]({where:{email:_0x4357x20},defaults:{email:_0x4357x20},transaction:_0x4357x12?_0x4357x12[_0x6617[36]]:null}))});return _0x4357x1e;})[_0x6617[54]]()[_0x6617[38]](function(_0x4357x1c){_0x4357x18=_[_0x6617[48]](_0x4357x1c,function(_0x4357x1b){return _0x4357x1b[0]});return ;})[_0x6617[38]](function(){return _0x4357x14[_0x6617[53]](_0x4357x15,{transaction:_0x4357x12?_0x4357x12[_0x6617[36]]:null})})[_0x6617[38]](function(){return _0x4357x14[_0x6617[52]](_0x4357x16,{transaction:_0x4357x12?_0x4357x12[_0x6617[36]]:null})})[_0x6617[38]](function(){return _0x4357x14[_0x6617[51]](_0x4357x17,{transaction:_0x4357x12?_0x4357x12[_0x6617[36]]:null})})[_0x6617[38]](function(){return _0x4357x14[_0x6617[50]](_0x4357x18,{transaction:_0x4357x12?_0x4357x12[_0x6617[36]]:null})})[_0x6617[38]](function(){var _0x4357x1a={status:_0x4357x14[_0x6617[28]],from:_0x4357x14[_0x6617[31]],to:_0x4357x14[_0x6617[39]],cc:_0x4357x14[_0x6617[40]],subject:_0x4357x14[_0x6617[41]],html:_0x4357x14[_0x6617[42]],text:_0x4357x14[_0x6617[43]],headers:{"\x58\x2D\x4C\x61\x7A\x69\x6E\x65\x73\x73\x2D\x6C\x65\x76\x65\x6C":1000}};if(_0x4357x14[_0x6617[44]]){_0x4357x1a[_0x6617[45]]=_[_0x6617[48]](_0x4357x14.MailAttachments,function(_0x4357x1b){return {path:_0x4357x1b[_0x6617[46]],filename:_0x4357x1b[_0x6617[47]]}})};return _0x4357xb[_0x6617[49]](_0x4357x1a);})[_0x6617[38]](function(_0x4357x19){return _0x4357x14[_0x6617[37]]({messageId:_0x4357x19[_0x6617[34]],status:_0x6617[35]},{transaction:_0x4357x12?_0x4357x12[_0x6617[36]]:null})})};}}_0x4357xd(_0x4357xa);MailServerOut[_0x6617[68]](function(_0x4357xa){_0x4357xe(_0x4357xa)});MailServerOut[_0x6617[69]](function(_0x4357xa){_0x4357xf(_0x4357xa)});MailMessage[_0x6617[70]](function(_0x4357xa,_0x4357x12){return _0x4357x10(_0x4357xa,_0x4357x12)});}};
\ No newline at end of file
index 18a8ffc135d720488952a42371d099e19b4b9d9d..ca29918ef7917d3348a8947dd32547f8c433142f 100644 (file)
@@ -1 +1 @@
-var _0xb3bb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6D\x6F\x6D\x65\x6E\x74","\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x75\x73\x65\x72\x49\x64","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x73\x6F\x63\x6B\x65\x74\x3A\x20\x75\x73\x65\x72\x20\x6F\x66\x66\x6C\x69\x6E\x65","\x6E\x61\x6D\x65","\x6C\x6F\x67","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x73\x6F\x63\x6B\x65\x74\x3A\x20\x61\x6E\x79\x6F\x6E\x65\x20\x75\x73\x65\x72\x73\x20\x66\x6F\x75\x6E\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x73\x6F\x63\x6B\x65\x74\x3A\x20\x75\x73\x65\x72\x20\x6F\x6E\x6C\x69\x6E\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x2E\x2E\x2F\x61\x70\x69\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x61\x67\x65\x6E\x74\x2F\x61\x67\x65\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x61\x6D\x69\x2F\x61\x6D\x69\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x63\x74\x69\x6F\x6E\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x63\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x63\x68\x61\x74\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x65\x6E\x71\x75\x69\x72\x79\x2F\x65\x6E\x71\x75\x69\x72\x79\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x6D\x65\x73\x73\x61\x67\x65\x2F\x63\x68\x61\x74\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x2F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x2F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x76\x69\x73\x69\x74\x6F\x72\x2F\x63\x68\x61\x74\x5F\x76\x69\x73\x69\x74\x6F\x72\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x77\x65\x62\x73\x69\x74\x65\x2F\x63\x68\x61\x74\x5F\x77\x65\x62\x73\x69\x74\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x6F\x6D\x70\x61\x6E\x79\x2F\x63\x6F\x6D\x70\x61\x6E\x79\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x2F\x63\x6F\x6E\x74\x61\x63\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x5F\x6D\x61\x6E\x61\x67\x65\x72\x2F\x63\x6F\x6E\x74\x61\x63\x74\x5F\x6D\x61\x6E\x61\x67\x65\x72\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x75\x73\x74\x6F\x6D\x5F\x66\x69\x65\x6C\x64\x2F\x63\x75\x73\x74\x6F\x6D\x5F\x66\x69\x65\x6C\x64\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x2F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2F\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2F\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2F\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x65\x76\x65\x6E\x74\x2F\x65\x76\x65\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2F\x66\x61\x78\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x66\x61\x78\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x2F\x66\x61\x78\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65\x2F\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x2F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x2F\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x69\x6E\x74\x65\x72\x76\x61\x6C\x2F\x69\x6E\x74\x65\x72\x76\x61\x6C\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2F\x6D\x61\x69\x6C\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6D\x61\x69\x6C\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x2F\x6D\x61\x69\x6C\x5F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x2F\x6D\x61\x69\x6C\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x2F\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x2F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x2F\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x69\x6E\x2F\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x69\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x74\x65\x6D\x70\x6C\x61\x74\x65\x2F\x6D\x61\x69\x6C\x5F\x74\x65\x6D\x70\x6C\x61\x74\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x6F\x64\x75\x6C\x65\x2F\x6D\x6F\x64\x75\x6C\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72\x2F\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x64\x65\x66\x61\x75\x6C\x74\x5F\x72\x65\x70\x6F\x72\x74\x2F\x64\x65\x66\x61\x75\x6C\x74\x5F\x72\x65\x70\x6F\x72\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x75\x73\x74\x6F\x6D\x5F\x72\x65\x70\x6F\x72\x74\x2F\x63\x75\x73\x74\x6F\x6D\x5F\x72\x65\x70\x6F\x72\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x74\x72\x65\x65\x2F\x72\x65\x70\x6F\x72\x74\x5F\x74\x72\x65\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x2F\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x2F\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x66\x69\x65\x6C\x64\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x66\x69\x65\x6C\x64\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x65\x74\x74\x69\x6E\x67\x2F\x73\x65\x74\x74\x69\x6E\x67\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x5F\x6F\x64\x62\x63\x2F\x73\x71\x75\x61\x72\x65\x5F\x6F\x64\x62\x63\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x5F\x70\x72\x6F\x6A\x65\x63\x74\x2F\x73\x71\x75\x61\x72\x65\x5F\x70\x72\x6F\x6A\x65\x63\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x66\x69\x65\x6C\x64\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x66\x69\x65\x6C\x64\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x74\x61\x67\x2F\x74\x61\x67\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x74\x65\x61\x6D\x2F\x74\x65\x61\x6D\x2E\x73\x6F\x63\x6B\x65\x74\x2E\x6A\x73","\x2E\x2E\x2F\x61\x70\x69\x2F\x74\x72\x69\x67\x67\x65\x72\x2F\x74\x72\x69\x67\x67\x65\x72\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x74\x72\x75\x6E\x6B\x2F\x74\x72\x75\x6E\x6B\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x2F\x75\x73\x65\x72\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x70\x64\x61\x74\x65\x2F\x75\x70\x64\x61\x74\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x70\x6C\x6F\x61\x64\x2F\x75\x70\x6C\x6F\x61\x64\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x74\x65\x61\x6D\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x74\x65\x61\x6D\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x76\x61\x72\x69\x61\x62\x6C\x65\x2F\x76\x61\x72\x69\x61\x62\x6C\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x65\x74\x72\x69\x63\x2F\x6D\x65\x74\x72\x69\x63\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x63\x6F\x6E\x74\x65\x78\x74\x2F\x76\x6F\x69\x63\x65\x5F\x63\x6F\x6E\x74\x65\x78\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x2F\x76\x6F\x69\x63\x65\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x6D\x75\x73\x69\x63\x6F\x6E\x68\x6F\x6C\x64\x2F\x76\x6F\x69\x63\x65\x5F\x6D\x75\x73\x69\x63\x6F\x6E\x68\x6F\x6C\x64\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x2F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x2F\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x78\x63\x68\x61\x74\x74\x79\x2F\x78\x63\x68\x61\x74\x74\x79\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2E\x73\x6F\x63\x6B\x65\x74","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x69\x6E\x66\x6F","\x5B\x25\x73\x5D\x20\x25\x73","\x61\x64\x64\x72\x65\x73\x73","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x6F\x6E","\x65\x78\x70\x6F\x72\x74\x73","\x73\x65\x63\x72\x65\x74","\x73\x65\x73\x73\x69\x6F\x6E","\x61\x75\x74\x68\x6F\x72\x69\x7A\x65","\x73\x6F\x63\x6B\x65\x74\x69\x6F\x2D\x6A\x77\x74","\x75\x73\x65","\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E","\x68\x61\x6E\x64\x73\x68\x61\x6B\x65","\x3A","\x70\x6F\x72\x74","\x44\x4F\x4D\x41\x49\x4E","\x65\x6E\x76","\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64\x41\x74","\x71\x75\x65\x72\x79","\x72\x6F\x6C\x65","\x73\x6F\x75\x72\x63\x65","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x5B\x25\x73\x5D\x20\x53\x4F\x43\x4B\x45\x54\x20\x44\x49\x53\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x5B\x25\x73\x5D\x20\x53\x4F\x43\x4B\x45\x54\x20\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44"];_0xb3bb[0];var moment=require(_0xb3bb[1]);var config=require(_0xb3bb[2]);var User=require(_0xb3bb[4])[_0xb3bb[3]];function onDisconnect(_0x9b25x5){if(_0x9b25x5[_0xb3bb[5]]){return User[_0xb3bb[14]](_0x9b25x5[_0xb3bb[5]])[_0xb3bb[11]](function(_0x9b25x7){if(_0x9b25x7){return _0x9b25x7[_0xb3bb[12]]({online:false})}else {throw  new Error(_0xb3bb[13])}})[_0xb3bb[11]](function(_0x9b25x7){console[_0xb3bb[10]](_0xb3bb[8],_0x9b25x7[_0xb3bb[9]])})[_0xb3bb[7]](function(_0x9b25x6){console[_0xb3bb[6]](_0x9b25x6)})}else {console[_0xb3bb[10]](_0xb3bb[13])}}function onConnect(_0x9b25x5){if(_0x9b25x5[_0xb3bb[5]]){return User[_0xb3bb[14]](_0x9b25x5[_0xb3bb[5]])[_0xb3bb[11]](function(_0x9b25x7){if(_0x9b25x7){return _0x9b25x7[_0xb3bb[12]]({online:true,lastLoginAt:moment()[_0xb3bb[105]](_0xb3bb[104])})}else {throw  new Error(_0xb3bb[13])}})[_0xb3bb[11]](function(_0x9b25x7){console[_0xb3bb[10]](_0xb3bb[15],_0x9b25x7[_0xb3bb[9]]);require(_0xb3bb[17])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[18])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[19])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[20])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[21])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[22])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[23])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[24])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[25])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[26])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[27])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[28])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[29])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[30])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[31])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[32])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[33])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[34])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[35])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[36])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[37])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[38])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[39])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[40])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[41])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[42])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[43])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[44])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[45])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[46])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[47])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[48])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[49])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[50])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[51])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[52])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[53])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[54])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[55])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[56])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[57])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[58])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[59])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[60])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[61])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[62])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[63])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[64])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[65])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[66])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[67])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[68])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[69])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[70])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[71])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[72])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[73])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[74])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[75])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[76])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[77])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[78])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[79])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[80])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[81])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[82])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[83])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[84])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[85])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[86])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[87])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[88])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[89])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[90])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[91])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[92])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[93])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[94])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[95])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[96])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[97])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[98])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[99])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[100])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[101])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[102])[_0xb3bb[16]](_0x9b25x5);require(_0xb3bb[103])[_0xb3bb[16]](_0x9b25x5);})[_0xb3bb[7]](function(_0x9b25x6){console[_0xb3bb[6]](_0x9b25x6)})}else {console[_0xb3bb[10]](_0xb3bb[13])};_0x9b25x5[_0xb3bb[110]](_0xb3bb[106],function(_0x9b25x9){console[_0xb3bb[106]](_0xb3bb[107],_0x9b25x5[_0xb3bb[108]],JSON[_0xb3bb[109]](_0x9b25x9,null,2))});}module[_0xb3bb[111]]=function(_0x9b25xa){_0x9b25xa[_0xb3bb[116]](require(_0xb3bb[115])[_0xb3bb[114]]({secret:config[_0xb3bb[113]][_0xb3bb[112]],handshake:true}));_0x9b25xa[_0xb3bb[110]](_0xb3bb[117],function(_0x9b25x5){_0x9b25x5[_0xb3bb[108]]=_0x9b25x5[_0xb3bb[118]][_0xb3bb[108]]!==null?_0x9b25x5[_0xb3bb[118]][_0xb3bb[108]][_0xb3bb[108]]+_0xb3bb[119]+_0x9b25x5[_0xb3bb[118]][_0xb3bb[108]][_0xb3bb[120]]:process[_0xb3bb[122]][_0xb3bb[121]];_0x9b25x5[_0xb3bb[123]]= new Date();_0x9b25x5[_0xb3bb[5]]=_0x9b25x5[_0xb3bb[118]][_0xb3bb[124]][_0xb3bb[5]];_0x9b25x5[_0xb3bb[125]]=_0x9b25x5[_0xb3bb[118]][_0xb3bb[124]][_0xb3bb[125]];_0x9b25x5[_0xb3bb[9]]=_0x9b25x5[_0xb3bb[118]][_0xb3bb[124]][_0xb3bb[9]];_0x9b25x5[_0xb3bb[126]]=_0x9b25x5[_0xb3bb[118]][_0xb3bb[124]][_0xb3bb[126]];_0x9b25x5[_0xb3bb[110]](_0xb3bb[127],function(){onDisconnect(_0x9b25x5);console[_0xb3bb[106]](_0xb3bb[128],_0x9b25x5[_0xb3bb[118]][_0xb3bb[108]]);});onConnect(_0x9b25x5);console[_0xb3bb[106]](_0xb3bb[129],_0x9b25x5[_0xb3bb[118]][_0xb3bb[108]]);});};
\ No newline at end of file
+var _0xafe0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6D\x6F\x6D\x65\x6E\x74","\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x75\x73\x65\x72\x49\x64","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x73\x6F\x63\x6B\x65\x74\x3A\x20\x75\x73\x65\x72\x20\x6F\x66\x66\x6C\x69\x6E\x65","\x6E\x61\x6D\x65","\x6C\x6F\x67","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x73\x6F\x63\x6B\x65\x74\x3A\x20\x61\x6E\x79\x6F\x6E\x65\x20\x75\x73\x65\x72\x73\x20\x66\x6F\x75\x6E\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x73\x6F\x63\x6B\x65\x74\x3A\x20\x75\x73\x65\x72\x20\x6F\x6E\x6C\x69\x6E\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x2E\x2E\x2F\x61\x70\x69\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x61\x67\x65\x6E\x74\x2F\x61\x67\x65\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x61\x6D\x69\x2F\x61\x6D\x69\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x63\x74\x69\x6F\x6E\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x63\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x63\x68\x61\x74\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x65\x6E\x71\x75\x69\x72\x79\x2F\x65\x6E\x71\x75\x69\x72\x79\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x6D\x65\x73\x73\x61\x67\x65\x2F\x63\x68\x61\x74\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x2F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x2F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x76\x69\x73\x69\x74\x6F\x72\x2F\x63\x68\x61\x74\x5F\x76\x69\x73\x69\x74\x6F\x72\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x77\x65\x62\x73\x69\x74\x65\x2F\x63\x68\x61\x74\x5F\x77\x65\x62\x73\x69\x74\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x6F\x6D\x70\x61\x6E\x79\x2F\x63\x6F\x6D\x70\x61\x6E\x79\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x2F\x63\x6F\x6E\x74\x61\x63\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x5F\x6D\x61\x6E\x61\x67\x65\x72\x2F\x63\x6F\x6E\x74\x61\x63\x74\x5F\x6D\x61\x6E\x61\x67\x65\x72\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x75\x73\x74\x6F\x6D\x5F\x66\x69\x65\x6C\x64\x2F\x63\x75\x73\x74\x6F\x6D\x5F\x66\x69\x65\x6C\x64\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x2F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2F\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2F\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2F\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x65\x76\x65\x6E\x74\x2F\x65\x76\x65\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2F\x66\x61\x78\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x66\x61\x78\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x2F\x66\x61\x78\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65\x2F\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x2F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x2F\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x69\x6E\x74\x65\x72\x76\x61\x6C\x2F\x69\x6E\x74\x65\x72\x76\x61\x6C\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2F\x6D\x61\x69\x6C\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6D\x61\x69\x6C\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x2F\x6D\x61\x69\x6C\x5F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x2F\x6D\x61\x69\x6C\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x2F\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x2F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x2F\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x69\x6E\x2F\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x69\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x74\x65\x6D\x70\x6C\x61\x74\x65\x2F\x6D\x61\x69\x6C\x5F\x74\x65\x6D\x70\x6C\x61\x74\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x6F\x64\x75\x6C\x65\x2F\x6D\x6F\x64\x75\x6C\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72\x2F\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x64\x65\x66\x61\x75\x6C\x74\x5F\x72\x65\x70\x6F\x72\x74\x2F\x64\x65\x66\x61\x75\x6C\x74\x5F\x72\x65\x70\x6F\x72\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x75\x73\x74\x6F\x6D\x5F\x72\x65\x70\x6F\x72\x74\x2F\x63\x75\x73\x74\x6F\x6D\x5F\x72\x65\x70\x6F\x72\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x74\x72\x65\x65\x2F\x72\x65\x70\x6F\x72\x74\x5F\x74\x72\x65\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x2F\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x2F\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x66\x69\x65\x6C\x64\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x66\x69\x65\x6C\x64\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x65\x74\x74\x69\x6E\x67\x2F\x73\x65\x74\x74\x69\x6E\x67\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x5F\x6F\x64\x62\x63\x2F\x73\x71\x75\x61\x72\x65\x5F\x6F\x64\x62\x63\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x5F\x70\x72\x6F\x6A\x65\x63\x74\x2F\x73\x71\x75\x61\x72\x65\x5F\x70\x72\x6F\x6A\x65\x63\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x66\x69\x65\x6C\x64\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x66\x69\x65\x6C\x64\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x74\x61\x67\x2F\x74\x61\x67\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x74\x65\x61\x6D\x2F\x74\x65\x61\x6D\x2E\x73\x6F\x63\x6B\x65\x74\x2E\x6A\x73","\x2E\x2E\x2F\x61\x70\x69\x2F\x74\x72\x69\x67\x67\x65\x72\x2F\x74\x72\x69\x67\x67\x65\x72\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x74\x72\x75\x6E\x6B\x2F\x74\x72\x75\x6E\x6B\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x2F\x75\x73\x65\x72\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x70\x64\x61\x74\x65\x2F\x75\x70\x64\x61\x74\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x70\x6C\x6F\x61\x64\x2F\x75\x70\x6C\x6F\x61\x64\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x74\x65\x61\x6D\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x74\x65\x61\x6D\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x76\x61\x72\x69\x61\x62\x6C\x65\x2F\x76\x61\x72\x69\x61\x62\x6C\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x65\x74\x72\x69\x63\x2F\x6D\x65\x74\x72\x69\x63\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x63\x6F\x6E\x74\x65\x78\x74\x2F\x76\x6F\x69\x63\x65\x5F\x63\x6F\x6E\x74\x65\x78\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x2F\x76\x6F\x69\x63\x65\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x6D\x75\x73\x69\x63\x6F\x6E\x68\x6F\x6C\x64\x2F\x76\x6F\x69\x63\x65\x5F\x6D\x75\x73\x69\x63\x6F\x6E\x68\x6F\x6C\x64\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x2F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x2F\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x78\x63\x68\x61\x74\x74\x79\x2F\x78\x63\x68\x61\x74\x74\x79\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2E\x73\x6F\x63\x6B\x65\x74","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x69\x6E\x66\x6F","\x5B\x25\x73\x5D\x20\x25\x73","\x61\x64\x64\x72\x65\x73\x73","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x6F\x6E","\x65\x78\x70\x6F\x72\x74\x73","\x73\x65\x63\x72\x65\x74","\x73\x65\x73\x73\x69\x6F\x6E","\x61\x75\x74\x68\x6F\x72\x69\x7A\x65","\x73\x6F\x63\x6B\x65\x74\x69\x6F\x2D\x6A\x77\x74","\x75\x73\x65","\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E","\x68\x61\x6E\x64\x73\x68\x61\x6B\x65","\x3A","\x70\x6F\x72\x74","\x44\x4F\x4D\x41\x49\x4E","\x65\x6E\x76","\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64\x41\x74","\x71\x75\x65\x72\x79","\x72\x6F\x6C\x65","\x73\x6F\x75\x72\x63\x65","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x5B\x25\x73\x5D\x20\x53\x4F\x43\x4B\x45\x54\x20\x44\x49\x53\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x5B\x25\x73\x5D\x20\x53\x4F\x43\x4B\x45\x54\x20\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44"];_0xafe0[0];var moment=require(_0xafe0[1]);var config=require(_0xafe0[2]);var User=require(_0xafe0[4])[_0xafe0[3]];function onDisconnect(_0xa8d0x5){if(_0xa8d0x5[_0xafe0[5]]){return User[_0xafe0[14]](_0xa8d0x5[_0xafe0[5]])[_0xafe0[11]](function(_0xa8d0x7){if(_0xa8d0x7){return _0xa8d0x7[_0xafe0[12]]({online:false})}else {throw  new Error(_0xafe0[13])}})[_0xafe0[11]](function(_0xa8d0x7){console[_0xafe0[10]](_0xafe0[8],_0xa8d0x7[_0xafe0[9]])})[_0xafe0[7]](function(_0xa8d0x6){console[_0xafe0[6]](_0xa8d0x6)})}else {console[_0xafe0[10]](_0xafe0[13])}}function onConnect(_0xa8d0x5){if(_0xa8d0x5[_0xafe0[5]]){return User[_0xafe0[14]](_0xa8d0x5[_0xafe0[5]])[_0xafe0[11]](function(_0xa8d0x7){if(_0xa8d0x7){return _0xa8d0x7[_0xafe0[12]]({online:true,lastLoginAt:moment()[_0xafe0[105]](_0xafe0[104])})}else {throw  new Error(_0xafe0[13])}})[_0xafe0[11]](function(_0xa8d0x7){console[_0xafe0[10]](_0xafe0[15],_0xa8d0x7[_0xafe0[9]]);require(_0xafe0[17])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[18])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[19])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[20])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[21])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[22])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[23])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[24])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[25])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[26])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[27])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[28])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[29])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[30])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[31])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[32])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[33])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[34])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[35])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[36])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[37])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[38])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[39])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[40])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[41])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[42])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[43])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[44])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[45])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[46])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[47])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[48])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[49])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[50])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[51])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[52])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[53])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[54])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[55])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[56])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[57])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[58])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[59])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[60])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[61])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[62])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[63])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[64])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[65])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[66])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[67])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[68])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[69])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[70])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[71])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[72])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[73])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[74])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[75])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[76])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[77])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[78])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[79])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[80])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[81])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[82])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[83])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[84])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[85])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[86])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[87])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[88])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[89])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[90])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[91])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[92])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[93])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[94])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[95])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[96])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[97])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[98])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[99])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[100])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[101])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[102])[_0xafe0[16]](_0xa8d0x5);require(_0xafe0[103])[_0xafe0[16]](_0xa8d0x5);})[_0xafe0[7]](function(_0xa8d0x6){console[_0xafe0[6]](_0xa8d0x6)})}else {console[_0xafe0[10]](_0xafe0[13])};_0xa8d0x5[_0xafe0[110]](_0xafe0[106],function(_0xa8d0x9){console[_0xafe0[106]](_0xafe0[107],_0xa8d0x5[_0xafe0[108]],JSON[_0xafe0[109]](_0xa8d0x9,null,2))});}module[_0xafe0[111]]=function(_0xa8d0xa){_0xa8d0xa[_0xafe0[116]](require(_0xafe0[115])[_0xafe0[114]]({secret:config[_0xafe0[113]][_0xafe0[112]],handshake:true}));_0xa8d0xa[_0xafe0[110]](_0xafe0[117],function(_0xa8d0x5){_0xa8d0x5[_0xafe0[108]]=_0xa8d0x5[_0xafe0[118]][_0xafe0[108]]!==null?_0xa8d0x5[_0xafe0[118]][_0xafe0[108]][_0xafe0[108]]+_0xafe0[119]+_0xa8d0x5[_0xafe0[118]][_0xafe0[108]][_0xafe0[120]]:process[_0xafe0[122]][_0xafe0[121]];_0xa8d0x5[_0xafe0[123]]= new Date();_0xa8d0x5[_0xafe0[5]]=_0xa8d0x5[_0xafe0[118]][_0xafe0[124]][_0xafe0[5]];_0xa8d0x5[_0xafe0[125]]=_0xa8d0x5[_0xafe0[118]][_0xafe0[124]][_0xafe0[125]];_0xa8d0x5[_0xafe0[9]]=_0xa8d0x5[_0xafe0[118]][_0xafe0[124]][_0xafe0[9]];_0xa8d0x5[_0xafe0[126]]=_0xa8d0x5[_0xafe0[118]][_0xafe0[124]][_0xafe0[126]];_0xa8d0x5[_0xafe0[110]](_0xafe0[127],function(){onDisconnect(_0xa8d0x5);console[_0xafe0[106]](_0xafe0[128],_0xa8d0x5[_0xafe0[118]][_0xafe0[108]]);});onConnect(_0xa8d0x5);console[_0xafe0[106]](_0xafe0[129],_0xa8d0x5[_0xafe0[118]][_0xafe0[108]]);});};
\ No newline at end of file
index 0b55646318e0ad2a1bbbd1af417dab2d935a7ffa..cc1c6e84c9281898207e58171855d69377e8b37e 100644 (file)
@@ -1 +1 @@
-var _0x6dae=["\x6C\x6F\x64\x61\x73\x68","\x6D\x75\x73\x74\x61\x63\x68\x65","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x45\x6E\x71\x75\x69\x72\x79","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x54\x72\x69\x67\x67\x65\x72\x20\x43\x68\x61\x74\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x4D\x6F\x74\x69\x6F\x6E\x20\x53\x65\x72\x76\x69\x63\x65\x20\x53\x4D\x54\x50\x20\x6E\x6F\x74\x20\x63\x6F\x6E\x66\x69\x67\x75\x72\x65\x64\x21","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x65\x6E\x71\x75\x69\x72\x79\x5F\x66\x6F\x72\x77\x61\x72\x64\x69\x6E\x67\x5F\x61\x64\x64\x72\x65\x73\x73","\x73\x75\x62\x6A\x65\x63\x74","\x68\x74\x6D\x6C","\x53\x45\x4E\x44\x49\x4E\x47","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x63\x72\x65\x61\x74\x65","\x74\x68\x65\x6E","\x72\x65\x6E\x64\x65\x72","\x6F\x66\x66\x6C\x69\x6E\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x2E\x20\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65\x3A\x20","\x6E\x61\x6D\x65","\x66\x69\x6E\x64\x4F\x6E\x65","\x63\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x65\x6E\x71\x75\x69\x72\x79\x5F\x66\x6F\x72\x77\x61\x72\x64\x69\x6E\x67","\x67\x65\x74\x4F\x66\x66\x6C\x69\x6E\x65\x54\x65\x6D\x70\x6C\x61\x74\x65","\x63\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65\x20\x63\x61\x6E\x27\x74\x20\x73\x65\x6E\x64\x20\x6F\x66\x66\x6C\x69\x6E\x65\x20\x6D\x65\x73\x73\x61\x67\x65\x73\x20\x76\x69\x61\x20\x6D\x61\x69\x6C","\x67\x65\x74\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];var _=require(_0x6dae[0]);var Mustache=require(_0x6dae[1]);var sequelize=require(_0x6dae[3])[_0x6dae[2]];var ChatEnquiry=require(_0x6dae[3])[_0x6dae[4]];var MailMessage=require(_0x6dae[3])[_0x6dae[5]];var MailServerOut=require(_0x6dae[3])[_0x6dae[6]];function Chat(){console[_0x6dae[8]](_0x6dae[7]);ChatEnquiry[_0x6dae[27]](function(_0xc8f5x8,_0xc8f5x9){var _0xc8f5xa=_0xc8f5x8;var _0xc8f5xb;var _0xc8f5xc;var _0xc8f5xd;return _0xc8f5x8[_0x6dae[26]]()[_0x6dae[17]](function(_0xc8f5x10){_0xc8f5xb=_0xc8f5x10;_0xc8f5xa[_0x6dae[22]]=_0xc8f5xb[_0x6dae[20]];if(_0xc8f5xb&&_0xc8f5xb[_0x6dae[23]]&&_0xc8f5xb[_0x6dae[11]]){return _0xc8f5xb[_0x6dae[24]]()}else {throw  new Error({message:_0x6dae[25]})};})[_0x6dae[17]](function(_0xc8f5xf){_0xc8f5xd=_0xc8f5xf;if(_0xc8f5xd){_0xc8f5xd[_0x6dae[13]]=Mustache[_0x6dae[18]](_0xc8f5xd[_0x6dae[13]],_0xc8f5xa);_0xc8f5xd[_0x6dae[12]]=Mustache[_0x6dae[18]](_0xc8f5xd[_0x6dae[12]],_0xc8f5xa);}else {throw  new Error({message:_0x6dae[19]+_0xc8f5xb[_0x6dae[20]]})};return MailServerOut[_0x6dae[21]]({where:{service:true}});})[_0x6dae[17]](function(_0xc8f5xe){_0xc8f5xc=_0xc8f5xe;if(!_0xc8f5xc){throw  new Error(_0x6dae[9])};return MailMessage[_0x6dae[16]]({from:_0xc8f5xc[_0x6dae[10]],to:_0xc8f5xb[_0x6dae[11]],subject:_0xc8f5xd[_0x6dae[12]],html:_0xc8f5xd[_0x6dae[13]],status:_0x6dae[14]},{transaction:_0xc8f5x9?_0xc8f5x9[_0x6dae[15]]:null});});});}module[_0x6dae[28]]=Chat;
\ No newline at end of file
+var _0xf515=["\x6C\x6F\x64\x61\x73\x68","\x6D\x75\x73\x74\x61\x63\x68\x65","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x45\x6E\x71\x75\x69\x72\x79","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x54\x72\x69\x67\x67\x65\x72\x20\x43\x68\x61\x74\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x4D\x6F\x74\x69\x6F\x6E\x20\x53\x65\x72\x76\x69\x63\x65\x20\x53\x4D\x54\x50\x20\x6E\x6F\x74\x20\x63\x6F\x6E\x66\x69\x67\x75\x72\x65\x64\x21","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x65\x6E\x71\x75\x69\x72\x79\x5F\x66\x6F\x72\x77\x61\x72\x64\x69\x6E\x67\x5F\x61\x64\x64\x72\x65\x73\x73","\x73\x75\x62\x6A\x65\x63\x74","\x68\x74\x6D\x6C","\x53\x45\x4E\x44\x49\x4E\x47","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x63\x72\x65\x61\x74\x65","\x74\x68\x65\x6E","\x72\x65\x6E\x64\x65\x72","\x6F\x66\x66\x6C\x69\x6E\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x2E\x20\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65\x3A\x20","\x6E\x61\x6D\x65","\x66\x69\x6E\x64\x4F\x6E\x65","\x63\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x65\x6E\x71\x75\x69\x72\x79\x5F\x66\x6F\x72\x77\x61\x72\x64\x69\x6E\x67","\x67\x65\x74\x4F\x66\x66\x6C\x69\x6E\x65\x54\x65\x6D\x70\x6C\x61\x74\x65","\x63\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65\x20\x63\x61\x6E\x27\x74\x20\x73\x65\x6E\x64\x20\x6F\x66\x66\x6C\x69\x6E\x65\x20\x6D\x65\x73\x73\x61\x67\x65\x73\x20\x76\x69\x61\x20\x6D\x61\x69\x6C","\x67\x65\x74\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];var _=require(_0xf515[0]);var Mustache=require(_0xf515[1]);var sequelize=require(_0xf515[3])[_0xf515[2]];var ChatEnquiry=require(_0xf515[3])[_0xf515[4]];var MailMessage=require(_0xf515[3])[_0xf515[5]];var MailServerOut=require(_0xf515[3])[_0xf515[6]];function Chat(){console[_0xf515[8]](_0xf515[7]);ChatEnquiry[_0xf515[27]](function(_0x2d15x8,_0x2d15x9){var _0x2d15xa=_0x2d15x8;var _0x2d15xb;var _0x2d15xc;var _0x2d15xd;return _0x2d15x8[_0xf515[26]]()[_0xf515[17]](function(_0x2d15x10){_0x2d15xb=_0x2d15x10;_0x2d15xa[_0xf515[22]]=_0x2d15xb[_0xf515[20]];if(_0x2d15xb&&_0x2d15xb[_0xf515[23]]&&_0x2d15xb[_0xf515[11]]){return _0x2d15xb[_0xf515[24]]()}else {throw  new Error({message:_0xf515[25]})};})[_0xf515[17]](function(_0x2d15xf){_0x2d15xd=_0x2d15xf;if(_0x2d15xd){_0x2d15xd[_0xf515[13]]=Mustache[_0xf515[18]](_0x2d15xd[_0xf515[13]],_0x2d15xa);_0x2d15xd[_0xf515[12]]=Mustache[_0xf515[18]](_0x2d15xd[_0xf515[12]],_0x2d15xa);}else {throw  new Error({message:_0xf515[19]+_0x2d15xb[_0xf515[20]]})};return MailServerOut[_0xf515[21]]({where:{service:true}});})[_0xf515[17]](function(_0x2d15xe){_0x2d15xc=_0x2d15xe;if(!_0x2d15xc){throw  new Error(_0xf515[9])};return MailMessage[_0xf515[16]]({from:_0x2d15xc[_0xf515[10]],to:_0x2d15xb[_0xf515[11]],subject:_0x2d15xd[_0xf515[12]],html:_0x2d15xd[_0xf515[13]],status:_0xf515[14]},{transaction:_0x2d15x9?_0x2d15x9[_0xf515[15]]:null});});});}module[_0xf515[28]]=Chat;
\ No newline at end of file
index eaa8aeb52696e241d79923bc5376c8063a958ce2..f4d1662a6d06f837c60fe80676390759acbe7068 100644 (file)
@@ -1 +1 @@
-var _0xfc28=["\x6C\x6F\x64\x61\x73\x68","\x54\x72\x69\x67\x67\x65\x72\x20\x43\x6D\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x6D\x61\x6E\x61\x67\x65\x43\x6F\x6E\x74\x61\x63\x74","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x43\x6F\x6E\x74\x61\x63\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x6F\x6E\x74\x61\x63\x74\x50\x68\x6F\x6E\x65","\x43\x6F\x6E\x74\x61\x63\x74\x45\x6D\x61\x69\x6C","\x52\x65\x70\x6F\x72\x74\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x69\x64","\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72","\x50\x68\x6F\x6E\x65\x73","\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x75\x6D","\x76\x6F\x69\x63\x65","\x45\x6D\x61\x69\x6C\x73","\x66\x72\x6F\x6D","\x6D\x61\x69\x6C","\x43\x4D\x20\x74\x72\x69\x67\x67\x65\x72\x65\x64\x20\x62\x79\x20","\x20\x63\x68\x61\x6E\x6E\x65\x6C\x2C\x20\x66\x69\x6E\x64\x69\x6E\x67\x20\x63\x6F\x6E\x74\x61\x63\x74\x2E\x2E\x2E","\x63\x61\x74\x63\x68","\x6C\x65\x6E\x67\x74\x68","\x46\x6F\x75\x6E\x64\x20\x63\x6F\x6E\x74\x61\x63\x74\x2C\x20\x6F\x70\x65\x6E\x5F\x63\x6F\x6E\x74\x61\x63\x74\x20\x72\x6F\x77\x20\x69\x6E\x20\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73\x20\x74\x61\x62\x6C\x65\x2E\x2E\x2E","\x65\x76\x65\x6E\x74","\x6F\x70\x65\x6E\x43\x6F\x6E\x74\x61\x63\x74\x54\x61\x62","\x63\x6F\x6E\x74\x61\x63\x74\x73","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x70\x6C\x75\x63\x6B","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x6D\x61\x70","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x43\x6F\x6E\x74\x61\x63\x74\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x2C\x20\x6E\x65\x77\x5F\x63\x6F\x6E\x74\x61\x63\x74\x20\x74\x61\x62\x20\x72\x6F\x77\x20\x69\x6E\x20\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73\x20\x74\x61\x62\x6C\x65\x2E\x2E\x2E","\x6E\x65\x77\x43\x6F\x6E\x74\x61\x63\x74\x54\x61\x62","\x63\x72\x65\x61\x74\x65","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x65\x78\x70\x6F\x72\x74\x73"];var _=require(_0xfc28[0]);function Cm(){console[_0xfc28[2]](_0xfc28[1])}Cm[_0xfc28[4]][_0xfc28[3]]=function(_0x3af4x3,_0x3af4x4){manageContact(_0x3af4x3,_0x3af4x4)};function manageContact(_0x3af4x3,_0x3af4x4){var _0x3af4x6=require(_0xfc28[6])[_0xfc28[5]];var _0x3af4x7=require(_0xfc28[6])[_0xfc28[7]];var _0x3af4x8=require(_0xfc28[6])[_0xfc28[8]];var _0x3af4x9=require(_0xfc28[6])[_0xfc28[9]];delete _0x3af4x3[_0xfc28[10]];_0x3af4x3[_0xfc28[11]]=_0xfc28[12];var _0x3af4xa={};switch(_0x3af4x4){case _0xfc28[15]:_0x3af4xa={model:_0x3af4x7,as:_0xfc28[13],where:{phone:_0x3af4x3[_0xfc28[14]]}};break ;;case _0xfc28[18]:_0x3af4xa={model:_0x3af4x8,as:_0xfc28[16],where:{email:_0x3af4x3[_0xfc28[17]]}};break ;;default:;};console[_0xfc28[2]](_0xfc28[19]+_0x3af4x4+_0xfc28[20]);_0x3af4x6[_0xfc28[36]]({include:[_0x3af4xa]})[_0xfc28[35]](function(_0x3af4xc){if(_0x3af4xc[_0xfc28[22]]){console[_0xfc28[2]](_0xfc28[23]);_0x3af4x3[_0xfc28[24]]=_0xfc28[25];_0x3af4x3[_0xfc28[26]]=JSON[_0xfc28[31]](_[_0xfc28[30]](_[_0xfc28[28]](_0x3af4xc,_0xfc28[27]),function(_0x3af4xd){return {id:_0x3af4xd[_0xfc28[10]],name:_0x3af4xd[_0xfc28[29]]}}));}else {console[_0xfc28[2]](_0xfc28[32]);_0x3af4x3[_0xfc28[24]]=_0xfc28[33];};_0x3af4x9[_0xfc28[34]](_0x3af4x3)[_0xfc28[21]](function(_0x3af4xb){console[_0xfc28[2]](_0x3af4xb)});})[_0xfc28[21]](function(_0x3af4xb){console[_0xfc28[2]](_0x3af4xb)});}module[_0xfc28[37]]=Cm;
\ No newline at end of file
+var _0x6ed4=["\x6C\x6F\x64\x61\x73\x68","\x54\x72\x69\x67\x67\x65\x72\x20\x43\x6D\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x6D\x61\x6E\x61\x67\x65\x43\x6F\x6E\x74\x61\x63\x74","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x43\x6F\x6E\x74\x61\x63\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x6F\x6E\x74\x61\x63\x74\x50\x68\x6F\x6E\x65","\x43\x6F\x6E\x74\x61\x63\x74\x45\x6D\x61\x69\x6C","\x52\x65\x70\x6F\x72\x74\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x69\x64","\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72","\x50\x68\x6F\x6E\x65\x73","\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x75\x6D","\x76\x6F\x69\x63\x65","\x45\x6D\x61\x69\x6C\x73","\x66\x72\x6F\x6D","\x6D\x61\x69\x6C","\x43\x4D\x20\x74\x72\x69\x67\x67\x65\x72\x65\x64\x20\x62\x79\x20","\x20\x63\x68\x61\x6E\x6E\x65\x6C\x2C\x20\x66\x69\x6E\x64\x69\x6E\x67\x20\x63\x6F\x6E\x74\x61\x63\x74\x2E\x2E\x2E","\x63\x61\x74\x63\x68","\x6C\x65\x6E\x67\x74\x68","\x46\x6F\x75\x6E\x64\x20\x63\x6F\x6E\x74\x61\x63\x74\x2C\x20\x6F\x70\x65\x6E\x5F\x63\x6F\x6E\x74\x61\x63\x74\x20\x72\x6F\x77\x20\x69\x6E\x20\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73\x20\x74\x61\x62\x6C\x65\x2E\x2E\x2E","\x65\x76\x65\x6E\x74","\x6F\x70\x65\x6E\x43\x6F\x6E\x74\x61\x63\x74\x54\x61\x62","\x63\x6F\x6E\x74\x61\x63\x74\x73","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x70\x6C\x75\x63\x6B","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x6D\x61\x70","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x43\x6F\x6E\x74\x61\x63\x74\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x2C\x20\x6E\x65\x77\x5F\x63\x6F\x6E\x74\x61\x63\x74\x20\x74\x61\x62\x20\x72\x6F\x77\x20\x69\x6E\x20\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73\x20\x74\x61\x62\x6C\x65\x2E\x2E\x2E","\x6E\x65\x77\x43\x6F\x6E\x74\x61\x63\x74\x54\x61\x62","\x63\x72\x65\x61\x74\x65","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x65\x78\x70\x6F\x72\x74\x73"];var _=require(_0x6ed4[0]);function Cm(){console[_0x6ed4[2]](_0x6ed4[1])}Cm[_0x6ed4[4]][_0x6ed4[3]]=function(_0x8c16x3,_0x8c16x4){manageContact(_0x8c16x3,_0x8c16x4)};function manageContact(_0x8c16x3,_0x8c16x4){var _0x8c16x6=require(_0x6ed4[6])[_0x6ed4[5]];var _0x8c16x7=require(_0x6ed4[6])[_0x6ed4[7]];var _0x8c16x8=require(_0x6ed4[6])[_0x6ed4[8]];var _0x8c16x9=require(_0x6ed4[6])[_0x6ed4[9]];delete _0x8c16x3[_0x6ed4[10]];_0x8c16x3[_0x6ed4[11]]=_0x6ed4[12];var _0x8c16xa={};switch(_0x8c16x4){case _0x6ed4[15]:_0x8c16xa={model:_0x8c16x7,as:_0x6ed4[13],where:{phone:_0x8c16x3[_0x6ed4[14]]}};break ;;case _0x6ed4[18]:_0x8c16xa={model:_0x8c16x8,as:_0x6ed4[16],where:{email:_0x8c16x3[_0x6ed4[17]]}};break ;;default:;};console[_0x6ed4[2]](_0x6ed4[19]+_0x8c16x4+_0x6ed4[20]);_0x8c16x6[_0x6ed4[36]]({include:[_0x8c16xa]})[_0x6ed4[35]](function(_0x8c16xc){if(_0x8c16xc[_0x6ed4[22]]){console[_0x6ed4[2]](_0x6ed4[23]);_0x8c16x3[_0x6ed4[24]]=_0x6ed4[25];_0x8c16x3[_0x6ed4[26]]=JSON[_0x6ed4[31]](_[_0x6ed4[30]](_[_0x6ed4[28]](_0x8c16xc,_0x6ed4[27]),function(_0x8c16xd){return {id:_0x8c16xd[_0x6ed4[10]],name:_0x8c16xd[_0x6ed4[29]]}}));}else {console[_0x6ed4[2]](_0x6ed4[32]);_0x8c16x3[_0x6ed4[24]]=_0x6ed4[33];};_0x8c16x9[_0x6ed4[34]](_0x8c16x3)[_0x6ed4[21]](function(_0x8c16xb){console[_0x6ed4[2]](_0x8c16xb)});})[_0x6ed4[21]](function(_0x8c16xb){console[_0x6ed4[2]](_0x8c16xb)});}module[_0x6ed4[37]]=Cm;
\ No newline at end of file
index cdefe0433df28e794b1589d5b698e1aac3fa818c..f914438900b1757edf105327699c2061da9c9110 100644 (file)
@@ -1 +1 @@
-var _0x112c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2F\x75\x74\x69\x6C","\x2E\x2F\x76\x6F\x69\x63\x65","\x2E\x2F\x6D\x61\x69\x6C","\x2E\x2F\x63\x68\x61\x74","\x2E\x2F\x63\x6D","\x54\x72\x69\x67\x67\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x65\x78\x70\x6F\x72\x74\x73","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x54\x72\x69\x67\x67\x65\x72\x73\x20\x61\x72\x65\x20","\x6C\x65\x6E\x67\x74\x68","\x6C\x6F\x67","\x76\x6F\x69\x63\x65","\x66\x69\x6C\x74\x65\x72","\x67\x65\x74\x41\x63\x74\x69\x6F\x6E\x73\x42\x79\x54\x72\x69\x67\x67\x65\x72\x73","\x41\x66\x74\x65\x72\x20\x61\x67\x65\x6E\x74\x20\x63\x72\x65\x61\x74\x65\x2C\x20\x41\x63\x74\x69\x6F\x6E\x73\x20\x61\x72\x65\x20","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x41\x66\x74\x65\x72\x20\x61\x67\x65\x6E\x74\x20\x75\x70\x64\x61\x74\x65\x2C\x20\x41\x63\x74\x69\x6F\x6E\x73\x20\x61\x72\x65\x20","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x73\x74\x61\x74\x75\x73","\x52\x45\x43\x45\x49\x56\x45\x44","\x6D\x61\x69\x6C","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x45\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x61\x63\x74\x69\x6F\x6E\x20\x22","\x76\x61\x6C\x75\x65","\x66\x69\x65\x6C\x64","\x22","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x6D\x61\x6E\x61\x67\x65\x43\x6F\x6E\x74\x61\x63\x74","\x63\x6F\x6E\x74\x61\x63\x74\x4D\x61\x6E\x61\x67\x65\x72","\x64\x61\x74\x61","\x64\x61\x74\x61\x32","\x73\x65\x6E\x64\x54\x65\x6D\x70\x6C\x61\x74\x65","\x74\x65\x6D\x70\x6C\x61\x74\x65","\x66\x6F\x72\x45\x61\x63\x68","\x41\x66\x74\x65\x72\x20\x63\x72\x65\x61\x74\x65\x2C\x20\x54\x72\x69\x67\x67\x65\x72\x73\x20\x61\x72\x65\x20","\x41\x66\x74\x65\x72\x20\x75\x70\x64\x61\x74\x65\x2C\x20\x54\x72\x69\x67\x67\x65\x72\x73\x20\x61\x72\x65\x20","\x69\x64","\x72\x65\x6D\x6F\x76\x65","\x41\x66\x74\x65\x72\x20\x64\x65\x73\x74\x72\x6F\x79\x2C\x20\x54\x72\x69\x67\x67\x65\x72\x73\x20\x61\x72\x65\x20","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x66\x69\x6E\x64","\x69\x6E\x64\x65\x78\x4F\x66","\x6D\x65\x72\x67\x65","\x75\x6E\x73\x68\x69\x66\x74"];_0x112c[0];var _=require(_0x112c[1]);var Util=require(_0x112c[2]);var Voice=require(_0x112c[3]);var Mail=require(_0x112c[4]);var Chat=require(_0x112c[5]);var Cm=require(_0x112c[6]);var Trigger=require(_0x112c[8])[_0x112c[7]];var ReportAgent=require(_0x112c[8])[_0x112c[9]];var MailMessage=require(_0x112c[8])[_0x112c[10]];module[_0x112c[11]]=function(){var _0xf42cxa= new Util();var _0xf42cxb= new Voice();var _0xf42cxc= new Chat();var _0xf42cxd= new Mail();var _0xf42cxe= new Cm();Trigger[_0x112c[28]]()[_0x112c[27]](function(_0xf42cx10){synchTriggers(_0xf42cx10);console[_0x112c[16]](_0x112c[14],_0xf42cx10[_0x112c[15]]);ReportAgent[_0x112c[21]](function(_0xf42cx11){var _0xf42cx12=_0xf42cxa[_0x112c[19]](_0xf42cx11,_[_0x112c[18]](_0xf42cx10,{channel:_0x112c[17]}));console[_0x112c[16]](_0x112c[20],_0xf42cx12[_0x112c[15]]);execActions(_0xf42cx12,_0xf42cx11,_0x112c[17],_0xf42cxa,_0xf42cxb,_0xf42cxd,_0xf42cxe);});ReportAgent[_0x112c[23]](function(_0xf42cx11){var _0xf42cx12=_0xf42cxa[_0x112c[19]](_0xf42cx11,_[_0x112c[18]](_0xf42cx10,{channel:_0x112c[17]}));console[_0x112c[16]](_0x112c[22],_0xf42cx12[_0x112c[15]]);execActions(_0xf42cx12,_0xf42cx11,_0x112c[17],_0xf42cxa,_0xf42cxb,_0xf42cxd,_0xf42cxe);});MailMessage[_0x112c[21]](function(_0xf42cx11){if(_0xf42cx11[_0x112c[24]]===_0x112c[25]){var _0xf42cx12=_0xf42cxa[_0x112c[19]](_0xf42cx11,_[_0x112c[18]](_0xf42cx10,{channel:_0x112c[26]}));execActions(_0xf42cx12,_0xf42cx11,_0x112c[26],_0xf42cxa,_0xf42cxb,_0xf42cxd,_0xf42cxe);}});})[_0x112c[13]](function(_0xf42cxf){console[_0x112c[12]](_0xf42cxf)});};function execActions(_0xf42cx12,_0xf42cx11,_0xf42cx14,_0xf42cxa,_0xf42cxb,_0xf42cxd,_0xf42cxe){_0xf42cx12[_0x112c[40]](function(_0xf42cx15){console[_0x112c[16]](_0x112c[29]+_0xf42cx15[_0x112c[31]][_0x112c[30]]+_0x112c[32]);switch(_0xf42cx15[_0x112c[31]][_0x112c[30]]){case _0x112c[35]:_0xf42cxe[_0x112c[34]](_0xf42cx11[_0x112c[33]],_0xf42cx14);break ;;case _0x112c[39]:_0xf42cxd[_0x112c[38]](_0xf42cx15[_0x112c[36]],_0xf42cx15[_0x112c[37]]);break ;;default:;};})}function synchTriggers(_0xf42cx10){Trigger[_0x112c[21]](function(_0xf42cx11){updateCollection(_0xf42cx10,_0xf42cx11);console[_0x112c[16]](_0x112c[41],_0xf42cx10[_0x112c[15]]);});Trigger[_0x112c[23]](function(_0xf42cx11){updateCollection(_0xf42cx10,_0xf42cx11);console[_0x112c[16]](_0x112c[42],_0xf42cx10[_0x112c[15]]);});Trigger[_0x112c[46]](function(_0xf42cx11){_[_0x112c[44]](_0xf42cx10,{id:_0xf42cx11[_0x112c[43]]});console[_0x112c[16]](_0x112c[45],_0xf42cx10[_0x112c[15]]);});}function updateCollection(_0xf42cx18,_0xf42cx11){var _0xf42cx19=_[_0x112c[47]](_0xf42cx18,{id:_0xf42cx11[_0x112c[43]]});var _0xf42cx1a=_0xf42cx18[_0x112c[48]](_0xf42cx19);if(_0xf42cx19){_[_0x112c[49]](_0xf42cx18[_0xf42cx1a],_0xf42cx11)}else {_0xf42cx18[_0x112c[50]](_0xf42cx11)};}
\ No newline at end of file
+var _0xf20f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2F\x75\x74\x69\x6C","\x2E\x2F\x76\x6F\x69\x63\x65","\x2E\x2F\x6D\x61\x69\x6C","\x2E\x2F\x63\x68\x61\x74","\x2E\x2F\x63\x6D","\x54\x72\x69\x67\x67\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x65\x78\x70\x6F\x72\x74\x73","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x54\x72\x69\x67\x67\x65\x72\x73\x20\x61\x72\x65\x20","\x6C\x65\x6E\x67\x74\x68","\x6C\x6F\x67","\x76\x6F\x69\x63\x65","\x66\x69\x6C\x74\x65\x72","\x67\x65\x74\x41\x63\x74\x69\x6F\x6E\x73\x42\x79\x54\x72\x69\x67\x67\x65\x72\x73","\x41\x66\x74\x65\x72\x20\x61\x67\x65\x6E\x74\x20\x63\x72\x65\x61\x74\x65\x2C\x20\x41\x63\x74\x69\x6F\x6E\x73\x20\x61\x72\x65\x20","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x41\x66\x74\x65\x72\x20\x61\x67\x65\x6E\x74\x20\x75\x70\x64\x61\x74\x65\x2C\x20\x41\x63\x74\x69\x6F\x6E\x73\x20\x61\x72\x65\x20","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x73\x74\x61\x74\x75\x73","\x52\x45\x43\x45\x49\x56\x45\x44","\x6D\x61\x69\x6C","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x45\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x61\x63\x74\x69\x6F\x6E\x20\x22","\x76\x61\x6C\x75\x65","\x66\x69\x65\x6C\x64","\x22","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x6D\x61\x6E\x61\x67\x65\x43\x6F\x6E\x74\x61\x63\x74","\x63\x6F\x6E\x74\x61\x63\x74\x4D\x61\x6E\x61\x67\x65\x72","\x64\x61\x74\x61","\x64\x61\x74\x61\x32","\x73\x65\x6E\x64\x54\x65\x6D\x70\x6C\x61\x74\x65","\x74\x65\x6D\x70\x6C\x61\x74\x65","\x66\x6F\x72\x45\x61\x63\x68","\x41\x66\x74\x65\x72\x20\x63\x72\x65\x61\x74\x65\x2C\x20\x54\x72\x69\x67\x67\x65\x72\x73\x20\x61\x72\x65\x20","\x41\x66\x74\x65\x72\x20\x75\x70\x64\x61\x74\x65\x2C\x20\x54\x72\x69\x67\x67\x65\x72\x73\x20\x61\x72\x65\x20","\x69\x64","\x72\x65\x6D\x6F\x76\x65","\x41\x66\x74\x65\x72\x20\x64\x65\x73\x74\x72\x6F\x79\x2C\x20\x54\x72\x69\x67\x67\x65\x72\x73\x20\x61\x72\x65\x20","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x66\x69\x6E\x64","\x69\x6E\x64\x65\x78\x4F\x66","\x6D\x65\x72\x67\x65","\x75\x6E\x73\x68\x69\x66\x74"];_0xf20f[0];var _=require(_0xf20f[1]);var Util=require(_0xf20f[2]);var Voice=require(_0xf20f[3]);var Mail=require(_0xf20f[4]);var Chat=require(_0xf20f[5]);var Cm=require(_0xf20f[6]);var Trigger=require(_0xf20f[8])[_0xf20f[7]];var ReportAgent=require(_0xf20f[8])[_0xf20f[9]];var MailMessage=require(_0xf20f[8])[_0xf20f[10]];module[_0xf20f[11]]=function(){var _0x571exa= new Util();var _0x571exb= new Voice();var _0x571exc= new Chat();var _0x571exd= new Mail();var _0x571exe= new Cm();Trigger[_0xf20f[28]]()[_0xf20f[27]](function(_0x571ex10){synchTriggers(_0x571ex10);console[_0xf20f[16]](_0xf20f[14],_0x571ex10[_0xf20f[15]]);ReportAgent[_0xf20f[21]](function(_0x571ex11){var _0x571ex12=_0x571exa[_0xf20f[19]](_0x571ex11,_[_0xf20f[18]](_0x571ex10,{channel:_0xf20f[17]}));console[_0xf20f[16]](_0xf20f[20],_0x571ex12[_0xf20f[15]]);execActions(_0x571ex12,_0x571ex11,_0xf20f[17],_0x571exa,_0x571exb,_0x571exd,_0x571exe);});ReportAgent[_0xf20f[23]](function(_0x571ex11){var _0x571ex12=_0x571exa[_0xf20f[19]](_0x571ex11,_[_0xf20f[18]](_0x571ex10,{channel:_0xf20f[17]}));console[_0xf20f[16]](_0xf20f[22],_0x571ex12[_0xf20f[15]]);execActions(_0x571ex12,_0x571ex11,_0xf20f[17],_0x571exa,_0x571exb,_0x571exd,_0x571exe);});MailMessage[_0xf20f[21]](function(_0x571ex11){if(_0x571ex11[_0xf20f[24]]===_0xf20f[25]){var _0x571ex12=_0x571exa[_0xf20f[19]](_0x571ex11,_[_0xf20f[18]](_0x571ex10,{channel:_0xf20f[26]}));execActions(_0x571ex12,_0x571ex11,_0xf20f[26],_0x571exa,_0x571exb,_0x571exd,_0x571exe);}});})[_0xf20f[13]](function(_0x571exf){console[_0xf20f[12]](_0x571exf)});};function execActions(_0x571ex12,_0x571ex11,_0x571ex14,_0x571exa,_0x571exb,_0x571exd,_0x571exe){_0x571ex12[_0xf20f[40]](function(_0x571ex15){console[_0xf20f[16]](_0xf20f[29]+_0x571ex15[_0xf20f[31]][_0xf20f[30]]+_0xf20f[32]);switch(_0x571ex15[_0xf20f[31]][_0xf20f[30]]){case _0xf20f[35]:_0x571exe[_0xf20f[34]](_0x571ex11[_0xf20f[33]],_0x571ex14);break ;;case _0xf20f[39]:_0x571exd[_0xf20f[38]](_0x571ex15[_0xf20f[36]],_0x571ex15[_0xf20f[37]]);break ;;default:;};})}function synchTriggers(_0x571ex10){Trigger[_0xf20f[21]](function(_0x571ex11){updateCollection(_0x571ex10,_0x571ex11);console[_0xf20f[16]](_0xf20f[41],_0x571ex10[_0xf20f[15]]);});Trigger[_0xf20f[23]](function(_0x571ex11){updateCollection(_0x571ex10,_0x571ex11);console[_0xf20f[16]](_0xf20f[42],_0x571ex10[_0xf20f[15]]);});Trigger[_0xf20f[46]](function(_0x571ex11){_[_0xf20f[44]](_0x571ex10,{id:_0x571ex11[_0xf20f[43]]});console[_0xf20f[16]](_0xf20f[45],_0x571ex10[_0xf20f[15]]);});}function updateCollection(_0x571ex18,_0x571ex11){var _0x571ex19=_[_0xf20f[47]](_0x571ex18,{id:_0x571ex11[_0xf20f[43]]});var _0x571ex1a=_0x571ex18[_0xf20f[48]](_0x571ex19);if(_0x571ex19){_[_0xf20f[49]](_0x571ex18[_0x571ex1a],_0x571ex11)}else {_0x571ex18[_0xf20f[50]](_0x571ex11)};}
\ No newline at end of file
index f8d64c00f24af32a91774ea0dcc6c098fac5bad4..8c0bb838f929a7b9511dff04ae99b499b08035ef 100644 (file)
@@ -1 +1 @@
-var _0x6c27=["\x6C\x6F\x64\x61\x73\x68","\x54\x72\x69\x67\x67\x65\x72\x20\x4D\x61\x69\x6C\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x73\x65\x6E\x64\x54\x65\x6D\x70\x6C\x61\x74\x65","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x54\x65\x6D\x70\x6C\x61\x74\x65","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x69\x6E\x73\x74\x61\x6E\x63\x65\x73","\x2E\x2E\x2F\x73\x6D\x74\x70","\x63\x61\x74\x63\x68","\x66\x69\x6E\x64","\x73\x65\x6E\x64","\x73\x6D\x74\x70","\x74\x68\x65\x6E","\x53\x45\x4E\x44\x49\x4E\x47","\x73\x75\x62\x6A\x65\x63\x74","\x66\x72\x6F\x6D","\x74\x6F","\x63\x63","","\x68\x74\x6D\x6C","\x74\x65\x78\x74","\x63\x72\x65\x61\x74\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x65\x78\x70\x6F\x72\x74\x73"];var _=require(_0x6c27[0]);function Mail(){console[_0x6c27[2]](_0x6c27[1])}Mail[_0x6c27[4]][_0x6c27[3]]=function(_0x2558x3){sendTemplate(_0x2558x3)};function sendTemplate(_0x2558x3,_0x2558x5){var _0x2558x6=require(_0x6c27[6])[_0x6c27[5]];var _0x2558x7=require(_0x6c27[6])[_0x6c27[7]];var _0x2558x8=require(_0x6c27[6])[_0x6c27[8]];var _0x2558x9=require(_0x6c27[10])[_0x6c27[9]];_0x2558x7[_0x6c27[25]](_0x2558x3,{include:[{all:true}]})[_0x6c27[15]](function(_0x2558xa){_0x2558x8[_0x6c27[24]]({status:_0x6c27[16],subject:_0x2558xa[_0x6c27[17]],from:_0x2558xa[_0x6c27[18]],to:_0x2558xa[_0x6c27[19]],cc:_0x2558xa[_0x6c27[20]]||_0x6c27[21],html:_0x2558xa[_0x6c27[22]]||null,text:_0x2558xa[_0x6c27[23]]||null})[_0x6c27[15]](function(_0x2558xc){var _0x2558xd=_[_0x6c27[12]](_0x2558x9,{user:_0x2558x5});if(_0x2558xd){_0x2558xd[_0x6c27[14]][_0x6c27[13]](_0x2558xc)};})[_0x6c27[11]](function(_0x2558xb){console[_0x6c27[2]](_0x2558xb)})});}module[_0x6c27[26]]=Mail;
\ No newline at end of file
+var _0xa1a8=["\x6C\x6F\x64\x61\x73\x68","\x54\x72\x69\x67\x67\x65\x72\x20\x4D\x61\x69\x6C\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x73\x65\x6E\x64\x54\x65\x6D\x70\x6C\x61\x74\x65","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x54\x65\x6D\x70\x6C\x61\x74\x65","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x69\x6E\x73\x74\x61\x6E\x63\x65\x73","\x2E\x2E\x2F\x73\x6D\x74\x70","\x63\x61\x74\x63\x68","\x66\x69\x6E\x64","\x73\x65\x6E\x64","\x73\x6D\x74\x70","\x74\x68\x65\x6E","\x53\x45\x4E\x44\x49\x4E\x47","\x73\x75\x62\x6A\x65\x63\x74","\x66\x72\x6F\x6D","\x74\x6F","\x63\x63","","\x68\x74\x6D\x6C","\x74\x65\x78\x74","\x63\x72\x65\x61\x74\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x65\x78\x70\x6F\x72\x74\x73"];var _=require(_0xa1a8[0]);function Mail(){console[_0xa1a8[2]](_0xa1a8[1])}Mail[_0xa1a8[4]][_0xa1a8[3]]=function(_0x15fcx3){sendTemplate(_0x15fcx3)};function sendTemplate(_0x15fcx3,_0x15fcx5){var _0x15fcx6=require(_0xa1a8[6])[_0xa1a8[5]];var _0x15fcx7=require(_0xa1a8[6])[_0xa1a8[7]];var _0x15fcx8=require(_0xa1a8[6])[_0xa1a8[8]];var _0x15fcx9=require(_0xa1a8[10])[_0xa1a8[9]];_0x15fcx7[_0xa1a8[25]](_0x15fcx3,{include:[{all:true}]})[_0xa1a8[15]](function(_0x15fcxa){_0x15fcx8[_0xa1a8[24]]({status:_0xa1a8[16],subject:_0x15fcxa[_0xa1a8[17]],from:_0x15fcxa[_0xa1a8[18]],to:_0x15fcxa[_0xa1a8[19]],cc:_0x15fcxa[_0xa1a8[20]]||_0xa1a8[21],html:_0x15fcxa[_0xa1a8[22]]||null,text:_0x15fcxa[_0xa1a8[23]]||null})[_0xa1a8[15]](function(_0x15fcxc){var _0x15fcxd=_[_0xa1a8[12]](_0x15fcx9,{user:_0x15fcx5});if(_0x15fcxd){_0x15fcxd[_0xa1a8[14]][_0xa1a8[13]](_0x15fcxc)};})[_0xa1a8[11]](function(_0x15fcxb){console[_0xa1a8[2]](_0x15fcxb)})});}module[_0xa1a8[26]]=Mail;
\ No newline at end of file
index df92ccd4d21401487d1019b31861ef1f1b03df61..14096ff7d6c1104ac0167e494aef79b92f4fd50e 100644 (file)
@@ -1 +1 @@
-var _0xd014=["\x6C\x6F\x64\x61\x73\x68","\x54\x72\x69\x67\x67\x65\x72\x20\x55\x74\x69\x6C\x73\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x67\x65\x74\x41\x63\x74\x69\x6F\x6E\x73\x42\x79\x54\x72\x69\x67\x67\x65\x72\x73","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x66\x72\x6F\x6D","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x3B","\x73\x70\x6C\x69\x74","\x63\x63","\x74\x6F","\x73\x74\x61\x74\x75\x73","\x67\x72\x6F\x75\x70","\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73","\x70\x61\x72\x73\x65","\x6F\x70","\x62\x6F\x6F\x6C\x65\x61\x6E","\x6F\x70\x65\x72\x61\x74\x6F\x72","\x70\x75\x73\x68","\x72\x65\x73\x75\x6C\x74\x73","\x66\x6F\x72\x45\x61\x63\x68","\x72\x75\x6C\x65\x73","\x73\x75\x62\x47\x72\x6F\x75\x70\x73","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x6C\x65\x6E\x67\x74\x68","\x41\x4E\x44","\x72\x65\x64\x75\x63\x65","\x63\x6F\x6E\x63\x61\x74","\x66\x69\x6E\x61\x6C\x20\x72\x65\x73\x75\x6C\x74\x20\x69\x73","\x61\x63\x74\x69\x6F\x6E\x73","\x6A\x6F\x69\x6E","\x76\x61\x6C\x75\x65","\x66\x69\x65\x6C\x64","\x64\x61\x74\x61","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x3D","\x3C\x3E","\x65\x78\x70\x6F\x72\x74\x73"];var _=require(_0xd014[0]);function Util(){console[_0xd014[2]](_0xd014[1])}Util[_0xd014[4]][_0xd014[3]]=function(_0x2e2ex3,_0x2e2ex4){var _0x2e2ex5=[];_0x2e2ex3[_0xd014[6]][_0xd014[5]]=_0x2e2ex3[_0xd014[6]][_0xd014[5]]?_0x2e2ex3[_0xd014[6]][_0xd014[5]][_0xd014[8]](_0xd014[7]):[];_0x2e2ex3[_0xd014[6]][_0xd014[9]]=_0x2e2ex3[_0xd014[6]][_0xd014[9]]?_0x2e2ex3[_0xd014[6]][_0xd014[9]][_0xd014[8]](_0xd014[7]):[];_0x2e2ex3[_0xd014[6]][_0xd014[10]]=_0x2e2ex3[_0xd014[6]][_0xd014[10]]?_0x2e2ex3[_0xd014[6]][_0xd014[10]][_0xd014[8]](_0xd014[7]):[];_0x2e2ex4[_0xd014[20]](function(_0x2e2ex6){if(_0x2e2ex6[_0xd014[11]]){var _0x2e2ex7={op:null,results:[],subGroups:[]};var _0x2e2ex8=JSON[_0xd014[14]](_0x2e2ex6[_0xd014[13]])[_0xd014[12]];_0x2e2ex7[_0xd014[15]]=_0x2e2ex8[_0xd014[16]];_0x2e2ex8[_0xd014[21]][_0xd014[20]](function(_0x2e2ex9){if(_0x2e2ex9[_0xd014[17]]){_0x2e2ex7[_0xd014[19]][_0xd014[18]](checkCondition(_0x2e2ex9,_0x2e2ex3[_0xd014[6]]))}else {if(_0x2e2ex9[_0xd014[12]]){var _0x2e2exa=[];_0x2e2ex9[_0xd014[12]][_0xd014[21]][_0xd014[20]](function(_0x2e2exb){_0x2e2exa[_0xd014[18]](checkCondition(_0x2e2exb,_0x2e2ex3[_0xd014[6]]))});_0x2e2ex7[_0xd014[22]][_0xd014[18]]({op:_0x2e2ex9[_0xd014[12]][_0xd014[16]],results:_0x2e2exa});}}});console[_0xd014[2]](JSON[_0xd014[23]](_0x2e2ex7));var _0x2e2exa=[],_0x2e2exc=[];_0x2e2ex7[_0xd014[22]][_0xd014[20]](function(_0x2e2exd){_0x2e2exa[_0xd014[18]](_[_0xd014[26]](_0x2e2exd[_0xd014[19]][_0xd014[24]]?_0x2e2exd[_0xd014[19]]:[true],function(_0x2e2exe,_0x2e2exf){if(_0x2e2exd[_0xd014[15]]===_0xd014[25]){return _0x2e2exe&&_0x2e2exf}else {return _0x2e2exe||_0x2e2exf}}))});_0x2e2exc=_0x2e2ex7[_0xd014[19]][_0xd014[27]](_0x2e2exa);var _0x2e2ex10=_[_0xd014[26]](_0x2e2exc[_0xd014[24]]?_0x2e2exc:[true],function(_0x2e2exe,_0x2e2exf){if(_0x2e2ex7[_0xd014[15]]===_0xd014[25]){return _0x2e2exe&&_0x2e2exf}else {return _0x2e2exe||_0x2e2exf}});console[_0xd014[2]](_0xd014[28],_0x2e2ex10);if(_0x2e2ex10){var _0x2e2ex11=JSON[_0xd014[14]](_0x2e2ex6[_0xd014[29]])[_0xd014[12]];_0x2e2ex5=_0x2e2ex5[_0xd014[27]](_0x2e2ex11[_0xd014[21]]);};}});_0x2e2ex3[_0xd014[6]][_0xd014[5]]=_0x2e2ex3[_0xd014[6]][_0xd014[5]][_0xd014[30]](_0xd014[7]);_0x2e2ex3[_0xd014[6]][_0xd014[9]]=_0x2e2ex3[_0xd014[6]][_0xd014[9]][_0xd014[30]](_0xd014[7]);_0x2e2ex3[_0xd014[6]][_0xd014[10]]=_0x2e2ex3[_0xd014[6]][_0xd014[10]][_0xd014[30]](_0xd014[7]);return _0x2e2ex5;};function checkCondition(_0x2e2ex9,_0x2e2ex3){var _0x2e2ex13;switch(_0x2e2ex9[_0xd014[17]]){case _0xd014[35]:_0x2e2ex13=_[_0xd014[34]](_0x2e2ex3[_0x2e2ex9[_0xd014[32]][_0xd014[31]]],_0x2e2ex9[_0xd014[33]]);break ;;case _0xd014[36]:_0x2e2ex13=!_[_0xd014[34]](_0x2e2ex3[_0x2e2ex9[_0xd014[32]][_0xd014[31]]],_0x2e2ex9[_0xd014[33]]);break ;;default:;};return _0x2e2ex13;}module[_0xd014[37]]=Util;
\ No newline at end of file
+var _0x6629=["\x6C\x6F\x64\x61\x73\x68","\x54\x72\x69\x67\x67\x65\x72\x20\x55\x74\x69\x6C\x73\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x67\x65\x74\x41\x63\x74\x69\x6F\x6E\x73\x42\x79\x54\x72\x69\x67\x67\x65\x72\x73","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x66\x72\x6F\x6D","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x3B","\x73\x70\x6C\x69\x74","\x63\x63","\x74\x6F","\x73\x74\x61\x74\x75\x73","\x67\x72\x6F\x75\x70","\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73","\x70\x61\x72\x73\x65","\x6F\x70","\x62\x6F\x6F\x6C\x65\x61\x6E","\x6F\x70\x65\x72\x61\x74\x6F\x72","\x70\x75\x73\x68","\x72\x65\x73\x75\x6C\x74\x73","\x66\x6F\x72\x45\x61\x63\x68","\x72\x75\x6C\x65\x73","\x73\x75\x62\x47\x72\x6F\x75\x70\x73","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x6C\x65\x6E\x67\x74\x68","\x41\x4E\x44","\x72\x65\x64\x75\x63\x65","\x63\x6F\x6E\x63\x61\x74","\x66\x69\x6E\x61\x6C\x20\x72\x65\x73\x75\x6C\x74\x20\x69\x73","\x61\x63\x74\x69\x6F\x6E\x73","\x6A\x6F\x69\x6E","\x76\x61\x6C\x75\x65","\x66\x69\x65\x6C\x64","\x64\x61\x74\x61","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x3D","\x3C\x3E","\x65\x78\x70\x6F\x72\x74\x73"];var _=require(_0x6629[0]);function Util(){console[_0x6629[2]](_0x6629[1])}Util[_0x6629[4]][_0x6629[3]]=function(_0x4297x3,_0x4297x4){var _0x4297x5=[];_0x4297x3[_0x6629[6]][_0x6629[5]]=_0x4297x3[_0x6629[6]][_0x6629[5]]?_0x4297x3[_0x6629[6]][_0x6629[5]][_0x6629[8]](_0x6629[7]):[];_0x4297x3[_0x6629[6]][_0x6629[9]]=_0x4297x3[_0x6629[6]][_0x6629[9]]?_0x4297x3[_0x6629[6]][_0x6629[9]][_0x6629[8]](_0x6629[7]):[];_0x4297x3[_0x6629[6]][_0x6629[10]]=_0x4297x3[_0x6629[6]][_0x6629[10]]?_0x4297x3[_0x6629[6]][_0x6629[10]][_0x6629[8]](_0x6629[7]):[];_0x4297x4[_0x6629[20]](function(_0x4297x6){if(_0x4297x6[_0x6629[11]]){var _0x4297x7={op:null,results:[],subGroups:[]};var _0x4297x8=JSON[_0x6629[14]](_0x4297x6[_0x6629[13]])[_0x6629[12]];_0x4297x7[_0x6629[15]]=_0x4297x8[_0x6629[16]];_0x4297x8[_0x6629[21]][_0x6629[20]](function(_0x4297x9){if(_0x4297x9[_0x6629[17]]){_0x4297x7[_0x6629[19]][_0x6629[18]](checkCondition(_0x4297x9,_0x4297x3[_0x6629[6]]))}else {if(_0x4297x9[_0x6629[12]]){var _0x4297xa=[];_0x4297x9[_0x6629[12]][_0x6629[21]][_0x6629[20]](function(_0x4297xb){_0x4297xa[_0x6629[18]](checkCondition(_0x4297xb,_0x4297x3[_0x6629[6]]))});_0x4297x7[_0x6629[22]][_0x6629[18]]({op:_0x4297x9[_0x6629[12]][_0x6629[16]],results:_0x4297xa});}}});console[_0x6629[2]](JSON[_0x6629[23]](_0x4297x7));var _0x4297xa=[],_0x4297xc=[];_0x4297x7[_0x6629[22]][_0x6629[20]](function(_0x4297xd){_0x4297xa[_0x6629[18]](_[_0x6629[26]](_0x4297xd[_0x6629[19]][_0x6629[24]]?_0x4297xd[_0x6629[19]]:[true],function(_0x4297xe,_0x4297xf){if(_0x4297xd[_0x6629[15]]===_0x6629[25]){return _0x4297xe&&_0x4297xf}else {return _0x4297xe||_0x4297xf}}))});_0x4297xc=_0x4297x7[_0x6629[19]][_0x6629[27]](_0x4297xa);var _0x4297x10=_[_0x6629[26]](_0x4297xc[_0x6629[24]]?_0x4297xc:[true],function(_0x4297xe,_0x4297xf){if(_0x4297x7[_0x6629[15]]===_0x6629[25]){return _0x4297xe&&_0x4297xf}else {return _0x4297xe||_0x4297xf}});console[_0x6629[2]](_0x6629[28],_0x4297x10);if(_0x4297x10){var _0x4297x11=JSON[_0x6629[14]](_0x4297x6[_0x6629[29]])[_0x6629[12]];_0x4297x5=_0x4297x5[_0x6629[27]](_0x4297x11[_0x6629[21]]);};}});_0x4297x3[_0x6629[6]][_0x6629[5]]=_0x4297x3[_0x6629[6]][_0x6629[5]][_0x6629[30]](_0x6629[7]);_0x4297x3[_0x6629[6]][_0x6629[9]]=_0x4297x3[_0x6629[6]][_0x6629[9]][_0x6629[30]](_0x6629[7]);_0x4297x3[_0x6629[6]][_0x6629[10]]=_0x4297x3[_0x6629[6]][_0x6629[10]][_0x6629[30]](_0x6629[7]);return _0x4297x5;};function checkCondition(_0x4297x9,_0x4297x3){var _0x4297x13;switch(_0x4297x9[_0x6629[17]]){case _0x6629[35]:_0x4297x13=_[_0x6629[34]](_0x4297x3[_0x4297x9[_0x6629[32]][_0x6629[31]]],_0x4297x9[_0x6629[33]]);break ;;case _0x6629[36]:_0x4297x13=!_[_0x6629[34]](_0x4297x3[_0x4297x9[_0x6629[32]][_0x6629[31]]],_0x4297x9[_0x6629[33]]);break ;;default:;};return _0x4297x13;}module[_0x6629[37]]=Util;
\ No newline at end of file
index d6bd8469b95e61955e9de1a2cc971152471d2401..1ac2597743c25175d2f945bb3df01b74b47ac25c 100644 (file)
@@ -1 +1 @@
-var _0x138f=["\x6C\x6F\x64\x61\x73\x68","\x54\x72\x69\x67\x67\x65\x72\x20\x56\x6F\x69\x63\x65\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x65\x78\x70\x6F\x72\x74\x73"];var _=require(_0x138f[0]);function Voice(){console[_0x138f[2]](_0x138f[1])}module[_0x138f[3]]=Voice;
\ No newline at end of file
+var _0x92f3=["\x6C\x6F\x64\x61\x73\x68","\x54\x72\x69\x67\x67\x65\x72\x20\x56\x6F\x69\x63\x65\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x65\x78\x70\x6F\x72\x74\x73"];var _=require(_0x92f3[0]);function Voice(){console[_0x92f3[2]](_0x92f3[1])}module[_0x92f3[3]]=Voice;
\ No newline at end of file
index 21ef1a1eb0eb2357e0fc431ec9ed2a681a3a83e5..dda91bfdc5027635cfd86b673745f44c0731602f 100644 (file)
@@ -1 +1 @@
-var _0xb728=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x45\x58\x54\x45\x52\x4E\x41\x4C\x20\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E","\x6C\x6F\x67"];_0xb728[0];module[_0xb728[1]]=function(_0x3e98x1,_0x3e98x2){console[_0xb728[3]](_0xb728[2])};
\ No newline at end of file
+var _0x4fde=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x45\x58\x54\x45\x52\x4E\x41\x4C\x20\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E","\x6C\x6F\x67"];_0x4fde[0];module[_0x4fde[1]]=function(_0x3a6ex1,_0x3a6ex2){console[_0x4fde[3]](_0x4fde[2])};
\ No newline at end of file
index 0cbc583b4a8699ffc1a3381d51017d31b6d3aff3..f1488ecaafcf7c20a207c4d6e8f7850bba99edee 100644 (file)
@@ -1 +1 @@
-var _0x9f43=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x63\x68\x61\x6E\x6E\x65\x6C\x73","\x74\x65\x73\x74\x41\x74\x74\x72","\x53\x54\x52\x49\x4E\x47","\x61\x64\x64\x43\x6F\x6C\x75\x6D\x6E","\x72\x65\x6D\x6F\x76\x65\x43\x6F\x6C\x75\x6D\x6E"];_0x9f43[0];module[_0x9f43[1]]={up:function(_0xb54bx1,_0xb54bx2){return _0xb54bx1[_0x9f43[5]](_0x9f43[2],_0x9f43[3],{type:_0xb54bx2[_0x9f43[4]]})},down:function(_0xb54bx1,_0xb54bx2){return _0xb54bx1[_0x9f43[6]](_0x9f43[2],_0x9f43[3])}};
\ No newline at end of file
+var _0x1ee5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x63\x68\x61\x6E\x6E\x65\x6C\x73","\x74\x65\x73\x74\x41\x74\x74\x72","\x53\x54\x52\x49\x4E\x47","\x61\x64\x64\x43\x6F\x6C\x75\x6D\x6E","\x72\x65\x6D\x6F\x76\x65\x43\x6F\x6C\x75\x6D\x6E"];_0x1ee5[0];module[_0x1ee5[1]]={up:function(_0xb8cfx1,_0xb8cfx2){return _0xb8cfx1[_0x1ee5[5]](_0x1ee5[2],_0x1ee5[3],{type:_0xb8cfx2[_0x1ee5[4]]})},down:function(_0xb8cfx1,_0xb8cfx2){return _0xb8cfx1[_0x1ee5[6]](_0x1ee5[2],_0x1ee5[3])}};
\ No newline at end of file
index e014c16b0736edf0d946c0e12345f4e7222f0c1f..2b0df350ee4a527cd1ed2ed91c2cea98751afc10 100644 (file)
@@ -1 +1 @@
-var _0x63e1=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x41\x73\x74\x65\x72\x69\x73\x6B\x4D\x61\x6E\x61\x67\x65\x72","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x61\x73\x74\x65\x72\x69\x73\x6B\x5F\x6D\x61\x6E\x61\x67\x65\x72","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x63e1[0]);module[_0x63e1[1]]=function(_0x5065x2,_0x5065x3){var _0x5065x4=_0x5065x2[_0x63e1[6]](_0x63e1[2],{address:_0x5065x3[_0x63e1[3]],port:_0x5065x3[_0x63e1[4]],username:_0x5065x3[_0x63e1[3]],password:_0x5065x3[_0x63e1[3]]},{tableName:_0x63e1[5]});return _0x5065x4;};
\ No newline at end of file
+var _0x3e21=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x41\x73\x74\x65\x72\x69\x73\x6B\x4D\x61\x6E\x61\x67\x65\x72","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x61\x73\x74\x65\x72\x69\x73\x6B\x5F\x6D\x61\x6E\x61\x67\x65\x72","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x3e21[0]);module[_0x3e21[1]]=function(_0xea77x2,_0xea77x3){var _0xea77x4=_0xea77x2[_0x3e21[6]](_0x3e21[2],{address:_0xea77x3[_0x3e21[3]],port:_0xea77x3[_0x3e21[4]],username:_0xea77x3[_0x3e21[3]],password:_0xea77x3[_0x3e21[3]]},{tableName:_0x3e21[5]});return _0xea77x4;};
\ No newline at end of file
index 8b9e4e4f125bbe4c9b7e107a6614cb0e5126b82c..6bc1891324e8ea074211ee0e465ce29c34c404b1 100644 (file)
@@ -1 +1 @@
-var _0x4474=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x41\x6D\x69","\x53\x54\x52\x49\x4E\x47","\x54\x45\x58\x54","\x61\x73\x74\x65\x72\x69\x73\x6B\x5F\x6D\x61\x6E\x61\x67\x65\x72\x5F\x69\x6E\x74\x65\x72\x66\x61\x63\x65","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];_0x4474[0];module[_0x4474[1]]=function(_0xb7d3x1,_0xb7d3x2){var _0xb7d3x3=_0xb7d3x1[_0x4474[7]](_0x4474[2],{actionid:_0xb7d3x2[_0x4474[3]],action:_0xb7d3x2[_0x4474[3]],response:_0xb7d3x2[_0x4474[3]],message:_0xb7d3x2[_0x4474[3]],data:_0xb7d3x2[_0x4474[4]]},{tableName:_0x4474[5],associate:function(_0xb7d3x4){_0xb7d3x3[_0x4474[6]](_0xb7d3x4.User)}});return _0xb7d3x3;};
\ No newline at end of file
+var _0xced0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x41\x6D\x69","\x53\x54\x52\x49\x4E\x47","\x54\x45\x58\x54","\x61\x73\x74\x65\x72\x69\x73\x6B\x5F\x6D\x61\x6E\x61\x67\x65\x72\x5F\x69\x6E\x74\x65\x72\x66\x61\x63\x65","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];_0xced0[0];module[_0xced0[1]]=function(_0x8a5bx1,_0x8a5bx2){var _0x8a5bx3=_0x8a5bx1[_0xced0[7]](_0xced0[2],{actionid:_0x8a5bx2[_0xced0[3]],action:_0x8a5bx2[_0xced0[3]],response:_0x8a5bx2[_0xced0[3]],message:_0x8a5bx2[_0xced0[3]],data:_0x8a5bx2[_0xced0[4]]},{tableName:_0xced0[5],associate:function(_0x8a5bx4){_0x8a5bx3[_0xced0[6]](_0x8a5bx4.User)}});return _0x8a5bx3;};
\ No newline at end of file
index e657deece581f53381f48babf0b4d989456949e9..007aa627cc38ba36b5c05ab4b91f4bacf58c80d0 100644 (file)
@@ -1 +1 @@
-var _0xb15e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x41\x75\x74\x6F\x64\x69\x61\x6C\x65\x72\x43\x6F\x6E\x74\x61\x63\x74","\x53\x54\x52\x49\x4E\x47","\x61\x75\x74\x6F\x64\x69\x61\x6C\x65\x72\x5F\x63\x6F\x6E\x74\x61\x63\x74\x73","\x64\x65\x66\x69\x6E\x65"];_0xb15e[0];module[_0xb15e[1]]=function(_0x4f7ex1,_0x4f7ex2){var _0x4f7ex3=_0x4f7ex1[_0xb15e[5]](_0xb15e[2],{status:{type:_0x4f7ex2[_0xb15e[3]]}},{tableName:_0xb15e[4]});return _0x4f7ex3;};
\ No newline at end of file
+var _0x19de=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x41\x75\x74\x6F\x64\x69\x61\x6C\x65\x72\x43\x6F\x6E\x74\x61\x63\x74","\x53\x54\x52\x49\x4E\x47","\x61\x75\x74\x6F\x64\x69\x61\x6C\x65\x72\x5F\x63\x6F\x6E\x74\x61\x63\x74\x73","\x64\x65\x66\x69\x6E\x65"];_0x19de[0];module[_0x19de[1]]=function(_0x5cc8x1,_0x5cc8x2){var _0x5cc8x3=_0x5cc8x1[_0x19de[5]](_0x19de[2],{status:{type:_0x5cc8x2[_0x19de[3]]}},{tableName:_0x19de[4]});return _0x5cc8x3;};
\ No newline at end of file
index 9ac451f3edda5fa1d324ca9965b78ac1f752efd0..c87d1376d48198c6fa6b45c958257d5f62734725 100644 (file)
@@ -1 +1 @@
-var _0x8632=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x41\x75\x74\x6F\x64\x69\x61\x6C\x65\x72\x50\x72\x6F\x63\x65\x73\x73","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x42\x4F\x4F\x4C\x45\x41\x4E","\x61\x75\x74\x6F\x64\x69\x61\x6C\x65\x72\x5F\x70\x72\x6F\x63\x65\x73\x73\x65\x73","\x41\x75\x74\x6F\x64\x69\x61\x6C\x65\x72\x43\x6F\x6E\x74\x61\x63\x74","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];_0x8632[0];module[_0x8632[1]]=function(_0x4723x1,_0x4723x2){var _0x4723x3=_0x4723x1[_0x8632[9]](_0x8632[2],{name:{type:_0x4723x2[_0x8632[3]],unique:true},description:{type:_0x4723x2[_0x8632[3]]},context:{type:_0x4723x2[_0x8632[3]]},extension:{type:_0x4723x2[_0x8632[3]]},priority:{type:_0x4723x2[_0x8632[4]]},callerid:{type:_0x4723x2[_0x8632[3]]},waittime:{type:_0x4723x2[_0x8632[4]]},maxretry:{type:_0x4723x2[_0x8632[4]]},retrytime:{type:_0x4723x2[_0x8632[4]]},prefix:{type:_0x4723x2[_0x8632[3]]},maxcall:{type:_0x4723x2[_0x8632[4]]},enable:{type:_0x4723x2[_0x8632[5]],defaultValue:true}},{tableName:_0x8632[6],associate:function(_0x4723x4){_0x4723x3[_0x8632[8]](_0x4723x4.Contact,{through:_0x4723x4[_0x8632[7]]})}});return _0x4723x3;};
\ No newline at end of file
+var _0x5654=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x41\x75\x74\x6F\x64\x69\x61\x6C\x65\x72\x50\x72\x6F\x63\x65\x73\x73","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x42\x4F\x4F\x4C\x45\x41\x4E","\x61\x75\x74\x6F\x64\x69\x61\x6C\x65\x72\x5F\x70\x72\x6F\x63\x65\x73\x73\x65\x73","\x41\x75\x74\x6F\x64\x69\x61\x6C\x65\x72\x43\x6F\x6E\x74\x61\x63\x74","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];_0x5654[0];module[_0x5654[1]]=function(_0x21afx1,_0x21afx2){var _0x21afx3=_0x21afx1[_0x5654[9]](_0x5654[2],{name:{type:_0x21afx2[_0x5654[3]],unique:true},description:{type:_0x21afx2[_0x5654[3]]},context:{type:_0x21afx2[_0x5654[3]]},extension:{type:_0x21afx2[_0x5654[3]]},priority:{type:_0x21afx2[_0x5654[4]]},callerid:{type:_0x21afx2[_0x5654[3]]},waittime:{type:_0x21afx2[_0x5654[4]]},maxretry:{type:_0x21afx2[_0x5654[4]]},retrytime:{type:_0x21afx2[_0x5654[4]]},prefix:{type:_0x21afx2[_0x5654[3]]},maxcall:{type:_0x21afx2[_0x5654[4]]},enable:{type:_0x21afx2[_0x5654[5]],defaultValue:true}},{tableName:_0x5654[6],associate:function(_0x21afx4){_0x21afx3[_0x5654[8]](_0x21afx4.Contact,{through:_0x21afx4[_0x5654[7]]})}});return _0x21afx3;};
\ No newline at end of file
index df2462feb8807cb856fe8821392eeb87250aa63c..02e3ff5ce77143b430460ec6ae31d9c3d7caf7a4 100644 (file)
@@ -1 +1 @@
-var _0x88f2=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x53\x54\x52\x49\x4E\x47","\x54\x45\x58\x54","\x42\x4F\x4F\x4C\x45\x41\x4E","\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x88f2[0]);module[_0x88f2[1]]=function(_0x50fex2,_0x50fex3){var _0x50fex4=_0x50fex2[_0x88f2[7]](_0x88f2[2],{name:_0x50fex3[_0x88f2[3]],channel:_0x50fex3[_0x88f2[3]],description:_0x50fex3[_0x88f2[3]],conditions:_0x50fex3[_0x88f2[4]],actions:_0x50fex3[_0x88f2[4]],status:{type:_0x50fex3[_0x88f2[5]],defaultValue:false}},{tableName:_0x88f2[6]});return _0x50fex4;};
\ No newline at end of file
+var _0xe903=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x53\x54\x52\x49\x4E\x47","\x54\x45\x58\x54","\x42\x4F\x4F\x4C\x45\x41\x4E","\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0xe903[0]);module[_0xe903[1]]=function(_0x8975x2,_0x8975x3){var _0x8975x4=_0x8975x2[_0xe903[7]](_0xe903[2],{name:_0x8975x3[_0xe903[3]],channel:_0x8975x3[_0xe903[3]],description:_0x8975x3[_0xe903[3]],conditions:_0x8975x3[_0xe903[4]],actions:_0x8975x3[_0xe903[4]],status:{type:_0x8975x3[_0xe903[5]],defaultValue:false}},{tableName:_0xe903[6]});return _0x8975x4;};
\ No newline at end of file
index 8a265a7518bca5d16c2dc31826e92b24472e49ae..060a06b67b9eb875ef772c88187d2237ac3e0f47 100644 (file)
@@ -1 +1 @@
-var _0x2e0a=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x42\x75\x73\x69\x6E\x65\x73\x73\x41\x63\x74\x69\x6F\x6E","\x53\x54\x52\x49\x4E\x47","\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x63\x74\x69\x6F\x6E\x73","\x63\x61\x73\x63\x61\x64\x65","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x2e0a[0]);module[_0x2e0a[1]]=function(_0x4e48x2,_0x4e48x3){var _0x4e48x4=_0x4e48x2[_0x2e0a[7]](_0x2e0a[2],{condition:{type:_0x4e48x3[_0x2e0a[3]]},attribute:{type:_0x4e48x3[_0x2e0a[3]]}},{tableName:_0x2e0a[4],associate:function(_0x4e48x5){_0x4e48x4[_0x2e0a[6]](_0x4e48x5.MailBusinessAutomation,{onDelete:_0x2e0a[5]});_0x4e48x4[_0x2e0a[6]](_0x4e48x5.FaxBusinessAutomation,{onDelete:_0x2e0a[5]});}});return _0x4e48x4;};
\ No newline at end of file
+var _0xd293=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x42\x75\x73\x69\x6E\x65\x73\x73\x41\x63\x74\x69\x6F\x6E","\x53\x54\x52\x49\x4E\x47","\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x63\x74\x69\x6F\x6E\x73","\x63\x61\x73\x63\x61\x64\x65","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0xd293[0]);module[_0xd293[1]]=function(_0x6687x2,_0x6687x3){var _0x6687x4=_0x6687x2[_0xd293[7]](_0xd293[2],{condition:{type:_0x6687x3[_0xd293[3]]},attribute:{type:_0x6687x3[_0xd293[3]]}},{tableName:_0xd293[4],associate:function(_0x6687x5){_0x6687x4[_0xd293[6]](_0x6687x5.MailBusinessAutomation,{onDelete:_0xd293[5]});_0x6687x4[_0xd293[6]](_0x6687x5.FaxBusinessAutomation,{onDelete:_0xd293[5]});}});return _0x6687x4;};
\ No newline at end of file
index 234b711874cefb69149a48d13aceae26a5d86151..edbd0e5ae85b583e0619842a4663dfc3bb3f7c41 100644 (file)
@@ -1 +1 @@
-var _0xfbd0=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x42\x75\x73\x69\x6E\x65\x73\x73\x43\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x6F\x72","\x61\x6E\x64","\x53\x54\x52\x49\x4E\x47","\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73","\x63\x61\x73\x63\x61\x64\x65","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0xfbd0[0]);module[_0xfbd0[1]]=function(_0xc7cex2,_0xc7cex3){var _0xc7cex4=_0xc7cex2[_0xfbd0[9]](_0xfbd0[2],{type:{type:_0xc7cex3.ENUM(_0xfbd0[3],_0xfbd0[4])},condition:{type:_0xc7cex3[_0xfbd0[5]]},operator:{type:_0xc7cex3[_0xfbd0[5]]},attribute:{type:_0xc7cex3[_0xfbd0[5]]}},{tableName:_0xfbd0[6],associate:function(_0xc7cex5){_0xc7cex4[_0xfbd0[8]](_0xc7cex5.MailBusinessAutomation,{onDelete:_0xfbd0[7]});_0xc7cex4[_0xfbd0[8]](_0xc7cex5.FaxBusinessAutomation,{onDelete:_0xfbd0[7]});}});return _0xc7cex4;};
\ No newline at end of file
+var _0x2b75=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x42\x75\x73\x69\x6E\x65\x73\x73\x43\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x6F\x72","\x61\x6E\x64","\x53\x54\x52\x49\x4E\x47","\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73","\x63\x61\x73\x63\x61\x64\x65","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x2b75[0]);module[_0x2b75[1]]=function(_0x9be7x2,_0x9be7x3){var _0x9be7x4=_0x9be7x2[_0x2b75[9]](_0x2b75[2],{type:{type:_0x9be7x3.ENUM(_0x2b75[3],_0x2b75[4])},condition:{type:_0x9be7x3[_0x2b75[5]]},operator:{type:_0x9be7x3[_0x2b75[5]]},attribute:{type:_0x9be7x3[_0x2b75[5]]}},{tableName:_0x2b75[6],associate:function(_0x9be7x5){_0x9be7x4[_0x2b75[8]](_0x9be7x5.MailBusinessAutomation,{onDelete:_0x2b75[7]});_0x9be7x4[_0x2b75[8]](_0x9be7x5.FaxBusinessAutomation,{onDelete:_0x2b75[7]});}});return _0x9be7x4;};
\ No newline at end of file
index a64eda5456ab4e63f7f4b8e7fce671bd87835a09..8dab5dd75506ecf7ebe36b230e1aab5a6b76aa85 100644 (file)
@@ -1 +1 @@
-var _0xc655=["\x65\x78\x70\x6F\x72\x74\x73","\x43\x68\x61\x6E\x6E\x65\x6C","\x53\x54\x52\x49\x4E\x47","\x6E\x61\x6D\x65\x20\x61\x6C\x72\x65\x61\x64\x79\x20\x75\x73\x65\x64","\x64\x6F\x6E\x65","\x66\x69\x6E\x64","\x63\x68\x61\x6E\x6E\x65\x6C\x73","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x6E\x6E\x65\x6C\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];module[_0xc655[0]]=function(_0x8dd2x1,_0x8dd2x2){var _0x8dd2x3=_0x8dd2x1[_0xc655[9]](_0xc655[1],{name:{type:_0x8dd2x2[_0xc655[2]],validate:{isUnique:function(_0x8dd2x4,_0x8dd2x5){_0x8dd2x3[_0xc655[5]]({where:{name:_0x8dd2x4}})[_0xc655[4]](function(_0x8dd2x6,_0x8dd2x7){if(_0x8dd2x6){_0x8dd2x5(_0x8dd2x6)};if(_0x8dd2x7){_0x8dd2x5({message:_0xc655[3]})};_0x8dd2x5();})}}},title:_0x8dd2x2[_0xc655[2]],link:_0x8dd2x2[_0xc655[2]],icon:_0x8dd2x2[_0xc655[2]],position:_0x8dd2x2[_0xc655[2]]},{tableName:_0xc655[6],associate:function(_0x8dd2x8){_0x8dd2x3[_0xc655[8]](_0x8dd2x8.User,{through:_0xc655[7]})}});return _0x8dd2x3;};
\ No newline at end of file
+var _0x7115=["\x65\x78\x70\x6F\x72\x74\x73","\x43\x68\x61\x6E\x6E\x65\x6C","\x53\x54\x52\x49\x4E\x47","\x6E\x61\x6D\x65\x20\x61\x6C\x72\x65\x61\x64\x79\x20\x75\x73\x65\x64","\x64\x6F\x6E\x65","\x66\x69\x6E\x64","\x63\x68\x61\x6E\x6E\x65\x6C\x73","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x6E\x6E\x65\x6C\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];module[_0x7115[0]]=function(_0xbb2ax1,_0xbb2ax2){var _0xbb2ax3=_0xbb2ax1[_0x7115[9]](_0x7115[1],{name:{type:_0xbb2ax2[_0x7115[2]],validate:{isUnique:function(_0xbb2ax4,_0xbb2ax5){_0xbb2ax3[_0x7115[5]]({where:{name:_0xbb2ax4}})[_0x7115[4]](function(_0xbb2ax6,_0xbb2ax7){if(_0xbb2ax6){_0xbb2ax5(_0xbb2ax6)};if(_0xbb2ax7){_0xbb2ax5({message:_0x7115[3]})};_0xbb2ax5();})}}},title:_0xbb2ax2[_0x7115[2]],link:_0xbb2ax2[_0x7115[2]],icon:_0xbb2ax2[_0x7115[2]],position:_0xbb2ax2[_0x7115[2]]},{tableName:_0x7115[6],associate:function(_0xbb2ax8){_0xbb2ax3[_0x7115[8]](_0xbb2ax8.User,{through:_0x7115[7]})}});return _0xbb2ax3;};
\ No newline at end of file
index 772ef42fa07d3ee728af63876dd254987220e946..426669f8895cb6fb302774bb1ecc3ef6ba88d332 100644 (file)
@@ -1 +1 @@
-var _0x2b74=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x71\x75\x65\x75\x65","\x61\x67\x65\x6E\x74","\x49\x4E\x54\x45\x47\x45\x52","\x53\x54\x52\x49\x4E\x47","\x63\x68\x61\x74\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];_0x2b74[0];module[_0x2b74[1]]=function(_0x498bx1,_0x498bx2){var _0x498bx3=_0x498bx1[_0x2b74[9]](_0x2b74[2],{app:{type:_0x498bx2.ENUM(_0x2b74[3],_0x2b74[4])},priority:{type:_0x498bx2[_0x2b74[5]]},timeout:{type:_0x498bx2[_0x2b74[5]]},interval:{type:_0x498bx2[_0x2b74[6]]}},{tableName:_0x2b74[7],associate:function(_0x498bx4){_0x498bx3[_0x2b74[8]](_0x498bx4.ChatWebsite);_0x498bx3[_0x2b74[8]](_0x498bx4.Interval);_0x498bx3[_0x2b74[8]](_0x498bx4.ChatQueue);_0x498bx3[_0x2b74[8]](_0x498bx4.User);}});return _0x498bx3;};
\ No newline at end of file
+var _0x318c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x71\x75\x65\x75\x65","\x61\x67\x65\x6E\x74","\x49\x4E\x54\x45\x47\x45\x52","\x53\x54\x52\x49\x4E\x47","\x63\x68\x61\x74\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];_0x318c[0];module[_0x318c[1]]=function(_0xd4d1x1,_0xd4d1x2){var _0xd4d1x3=_0xd4d1x1[_0x318c[9]](_0x318c[2],{app:{type:_0xd4d1x2.ENUM(_0x318c[3],_0x318c[4])},priority:{type:_0xd4d1x2[_0x318c[5]]},timeout:{type:_0xd4d1x2[_0x318c[5]]},interval:{type:_0xd4d1x2[_0x318c[6]]}},{tableName:_0x318c[7],associate:function(_0xd4d1x4){_0xd4d1x3[_0x318c[8]](_0xd4d1x4.ChatWebsite);_0xd4d1x3[_0x318c[8]](_0xd4d1x4.Interval);_0xd4d1x3[_0x318c[8]](_0xd4d1x4.ChatQueue);_0xd4d1x3[_0x318c[8]](_0xd4d1x4.User);}});return _0xd4d1x3;};
\ No newline at end of file
index 0b3f70224eedb4c9b487c3e8ee6337443687ad35..aaddeb447f501f9d79a404b52f4eeb8342aaa18f 100644 (file)
@@ -1 +1 @@
-var _0x64d7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x43\x68\x61\x74\x45\x6E\x71\x75\x69\x72\x79","\x53\x54\x52\x49\x4E\x47","\x54\x45\x58\x54","\x42\x4F\x4F\x4C\x45\x41\x4E","\x63\x68\x61\x74\x5F\x65\x6E\x71\x75\x69\x72\x69\x65\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];_0x64d7[0];module[_0x64d7[1]]=function(_0x9bb7x1,_0x9bb7x2){var _0x9bb7x3=_0x9bb7x1[_0x64d7[8]](_0x64d7[2],{username:_0x9bb7x2[_0x64d7[3]],email:_0x9bb7x2[_0x64d7[3]],text:_0x9bb7x2[_0x64d7[4]],read:{type:_0x9bb7x2[_0x64d7[5]],defaultValue:false}},{tableName:_0x64d7[6],associate:function(_0x9bb7x4){_0x9bb7x3[_0x64d7[7]](_0x9bb7x4.ChatWebsite);_0x9bb7x3[_0x64d7[7]](_0x9bb7x4.ChatVisitor);}});return _0x9bb7x3;};
\ No newline at end of file
+var _0xb758=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x43\x68\x61\x74\x45\x6E\x71\x75\x69\x72\x79","\x53\x54\x52\x49\x4E\x47","\x54\x45\x58\x54","\x42\x4F\x4F\x4C\x45\x41\x4E","\x63\x68\x61\x74\x5F\x65\x6E\x71\x75\x69\x72\x69\x65\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];_0xb758[0];module[_0xb758[1]]=function(_0xd5e8x1,_0xd5e8x2){var _0xd5e8x3=_0xd5e8x1[_0xb758[8]](_0xb758[2],{username:_0xd5e8x2[_0xb758[3]],email:_0xd5e8x2[_0xb758[3]],text:_0xd5e8x2[_0xb758[4]],read:{type:_0xd5e8x2[_0xb758[5]],defaultValue:false}},{tableName:_0xb758[6],associate:function(_0xd5e8x4){_0xd5e8x3[_0xb758[7]](_0xd5e8x4.ChatWebsite);_0xd5e8x3[_0xb758[7]](_0xd5e8x4.ChatVisitor);}});return _0xd5e8x3;};
\ No newline at end of file
index d85fce6fd2965b469392d76e713f8dcb22291cc7..6d8287d7d84f5715b64f3be91a1b9c56987302e3 100644 (file)
@@ -1 +1 @@
-var _0x8f27=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x43\x68\x61\x74\x4D\x65\x73\x73\x61\x67\x65","\x54\x45\x58\x54","\x63\x68\x61\x74\x5F\x6D\x65\x73\x73\x61\x67\x65\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x8f27[0]);module[_0x8f27[1]]=function(_0x3f88x2,_0x3f88x3){var _0x3f88x4=_0x3f88x2[_0x8f27[6]](_0x8f27[2],{body:{type:_0x3f88x3[_0x8f27[3]],notNull:true,notEmpty:true}},{tableName:_0x8f27[4],associate:function(_0x3f88x5){_0x3f88x4[_0x8f27[5]](_0x3f88x5.ChatRoom);_0x3f88x4[_0x8f27[5]](_0x3f88x5.ChatVisitor);_0x3f88x4[_0x8f27[5]](_0x3f88x5.User);}});return _0x3f88x4;};
\ No newline at end of file
+var _0x335c=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x43\x68\x61\x74\x4D\x65\x73\x73\x61\x67\x65","\x54\x45\x58\x54","\x63\x68\x61\x74\x5F\x6D\x65\x73\x73\x61\x67\x65\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x335c[0]);module[_0x335c[1]]=function(_0x92e4x2,_0x92e4x3){var _0x92e4x4=_0x92e4x2[_0x335c[6]](_0x335c[2],{body:{type:_0x92e4x3[_0x335c[3]],notNull:true,notEmpty:true}},{tableName:_0x335c[4],associate:function(_0x92e4x5){_0x92e4x4[_0x335c[5]](_0x92e4x5.ChatRoom);_0x92e4x4[_0x335c[5]](_0x92e4x5.ChatVisitor);_0x92e4x4[_0x335c[5]](_0x92e4x5.User);}});return _0x92e4x4;};
\ No newline at end of file
index 62746d147e518b353e5e73ce779a7d8e43bb970c..117dcb548671679c048fd42f9a7b62c052363e53 100644 (file)
@@ -1 +1 @@
-var _0xb425=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x72\x72\x6D\x65\x6D\x6F\x72\x79","\x62\x65\x65\x70\x61\x6C\x6C","\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x73","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];_0xb425[0];module[_0xb425[1]]=function(_0x31c2x1,_0x31c2x2){var _0x31c2x3=_0x31c2x1[_0xb425[10]](_0xb425[2],{name:{type:_0x31c2x2[_0xb425[3]],unique:true},description:{type:_0x31c2x2[_0xb425[3]]},timeout:{type:_0x31c2x2[_0xb425[4]]},strategy:{type:_0x31c2x2.ENUM(_0xb425[5],_0xb425[6])}},{tableName:_0xb425[7],associate:function(_0x31c2x4){_0x31c2x3[_0xb425[9]](_0x31c2x4.User,{through:_0x31c2x4[_0xb425[8]]})}});return _0x31c2x3;};
\ No newline at end of file
+var _0xdbd8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x72\x72\x6D\x65\x6D\x6F\x72\x79","\x62\x65\x65\x70\x61\x6C\x6C","\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x73","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];_0xdbd8[0];module[_0xdbd8[1]]=function(_0x900fx1,_0x900fx2){var _0x900fx3=_0x900fx1[_0xdbd8[10]](_0xdbd8[2],{name:{type:_0x900fx2[_0xdbd8[3]],unique:true},description:{type:_0x900fx2[_0xdbd8[3]]},timeout:{type:_0x900fx2[_0xdbd8[4]]},strategy:{type:_0x900fx2.ENUM(_0xdbd8[5],_0xdbd8[6])}},{tableName:_0xdbd8[7],associate:function(_0x900fx4){_0x900fx3[_0xdbd8[9]](_0x900fx4.User,{through:_0x900fx4[_0xdbd8[8]]})}});return _0x900fx3;};
\ No newline at end of file
index 114113ba02a4e8624da0acd4abf90a2caa6a1d00..c94b747999d7763ea4c682244be9bf041c9ec275 100644 (file)
@@ -1 +1 @@
-var _0x13a6=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x65\x78\x74\x65\x72\x6E\x61\x6C","\x53\x54\x52\x49\x4E\x47","\x70\x65\x6E\x64\x69\x6E\x67","\x6F\x70\x65\x6E","\x63\x6C\x6F\x73\x65","\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x73","\x68\x61\x73\x4D\x61\x6E\x79","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x13a6[0]);module[_0x13a6[1]]=function(_0x170fx2,_0x170fx3){var _0x170fx4=_0x170fx2[_0x13a6[14]](_0x13a6[2],{type:_0x170fx3.ENUM(_0x13a6[3],_0x13a6[4]),name:_0x170fx3[_0x13a6[5]],token:{type:_0x170fx3[_0x13a6[5]],unique:true},status:{type:_0x170fx3.ENUM(_0x13a6[6],_0x13a6[7],_0x13a6[8]),defaultValue:_0x13a6[6]}},{tableName:_0x13a6[9],associate:function(_0x170fx5){_0x170fx4[_0x13a6[10]](_0x170fx5.ChatMessage);_0x170fx4[_0x13a6[11]](_0x170fx5.ChatVisitor);_0x170fx4[_0x13a6[11]](_0x170fx5.ChatWebsite);_0x170fx4[_0x13a6[13]](_0x170fx5.User,{through:_0x170fx5[_0x13a6[12]]});}});return _0x170fx4;};
\ No newline at end of file
+var _0x2c16=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x65\x78\x74\x65\x72\x6E\x61\x6C","\x53\x54\x52\x49\x4E\x47","\x70\x65\x6E\x64\x69\x6E\x67","\x6F\x70\x65\x6E","\x63\x6C\x6F\x73\x65","\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x73","\x68\x61\x73\x4D\x61\x6E\x79","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x2c16[0]);module[_0x2c16[1]]=function(_0xd5abx2,_0xd5abx3){var _0xd5abx4=_0xd5abx2[_0x2c16[14]](_0x2c16[2],{type:_0xd5abx3.ENUM(_0x2c16[3],_0x2c16[4]),name:_0xd5abx3[_0x2c16[5]],token:{type:_0xd5abx3[_0x2c16[5]],unique:true},status:{type:_0xd5abx3.ENUM(_0x2c16[6],_0x2c16[7],_0x2c16[8]),defaultValue:_0x2c16[6]}},{tableName:_0x2c16[9],associate:function(_0xd5abx5){_0xd5abx4[_0x2c16[10]](_0xd5abx5.ChatMessage);_0xd5abx4[_0x2c16[11]](_0xd5abx5.ChatVisitor);_0xd5abx4[_0x2c16[11]](_0xd5abx5.ChatWebsite);_0xd5abx4[_0x2c16[13]](_0xd5abx5.User,{through:_0xd5abx5[_0x2c16[12]]});}});return _0xd5abx4;};
\ No newline at end of file
index f6c245444250b2cd13092079dae2fa65d8b82855..d3f30aeac9cac7ee7f9c34ddb1ad3dacbd22f2c2 100644 (file)
@@ -1 +1 @@
-var _0x1e6b=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x53\x54\x52\x49\x4E\x47","\x77\x65\x62\x63\x68\x61\x74","\x65\x6E\x71\x75\x69\x72\x79","\x70\x65\x6E\x64\x69\x6E\x67","\x75\x6E\x73\x65\x72\x76\x65\x64","\x73\x65\x72\x76\x65\x64","\x63\x68\x61\x74\x5F\x76\x69\x73\x69\x74\x6F\x72\x73","\x68\x61\x73\x4D\x61\x6E\x79","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x1e6b[0]);module[_0x1e6b[1]]=function(_0x61eex2,_0x61eex3){var _0x61eex4=_0x61eex2[_0x1e6b[12]](_0x1e6b[2],{fullname:_0x61eex3[_0x1e6b[3]],email:_0x61eex3[_0x1e6b[3]],remote_address:_0x61eex3[_0x1e6b[3]],user_agent:_0x61eex3[_0x1e6b[3]],visitor_language:_0x61eex3[_0x1e6b[3]],referer:_0x61eex3[_0x1e6b[3]],browser:_0x61eex3[_0x1e6b[3]],engine:_0x61eex3[_0x1e6b[3]],os:_0x61eex3[_0x1e6b[3]],device:_0x61eex3[_0x1e6b[3]],country:_0x61eex3[_0x1e6b[3]],region:_0x61eex3[_0x1e6b[3]],city:_0x61eex3[_0x1e6b[3]],latitude:_0x61eex3[_0x1e6b[3]],longitude:_0x61eex3[_0x1e6b[3]],origin:_0x61eex3.ENUM(_0x1e6b[4],_0x1e6b[5]),status:{type:_0x61eex3.ENUM(_0x1e6b[6],_0x1e6b[7],_0x1e6b[8]),defaultValue:_0x1e6b[6]}},{tableName:_0x1e6b[9],associate:function(_0x61eex5){_0x61eex4[_0x1e6b[10]](_0x61eex5.ChatMessage);_0x61eex4[_0x1e6b[10]](_0x61eex5.ChatRoom);_0x61eex4[_0x1e6b[11]](_0x61eex5.ChatWebsite);}});return _0x61eex4;};
\ No newline at end of file
+var _0x4eca=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x53\x54\x52\x49\x4E\x47","\x77\x65\x62\x63\x68\x61\x74","\x65\x6E\x71\x75\x69\x72\x79","\x70\x65\x6E\x64\x69\x6E\x67","\x75\x6E\x73\x65\x72\x76\x65\x64","\x73\x65\x72\x76\x65\x64","\x63\x68\x61\x74\x5F\x76\x69\x73\x69\x74\x6F\x72\x73","\x68\x61\x73\x4D\x61\x6E\x79","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x4eca[0]);module[_0x4eca[1]]=function(_0x4956x2,_0x4956x3){var _0x4956x4=_0x4956x2[_0x4eca[12]](_0x4eca[2],{fullname:_0x4956x3[_0x4eca[3]],email:_0x4956x3[_0x4eca[3]],remote_address:_0x4956x3[_0x4eca[3]],user_agent:_0x4956x3[_0x4eca[3]],visitor_language:_0x4956x3[_0x4eca[3]],referer:_0x4956x3[_0x4eca[3]],browser:_0x4956x3[_0x4eca[3]],engine:_0x4956x3[_0x4eca[3]],os:_0x4956x3[_0x4eca[3]],device:_0x4956x3[_0x4eca[3]],country:_0x4956x3[_0x4eca[3]],region:_0x4956x3[_0x4eca[3]],city:_0x4956x3[_0x4eca[3]],latitude:_0x4956x3[_0x4eca[3]],longitude:_0x4956x3[_0x4eca[3]],origin:_0x4956x3.ENUM(_0x4eca[4],_0x4eca[5]),status:{type:_0x4956x3.ENUM(_0x4eca[6],_0x4eca[7],_0x4eca[8]),defaultValue:_0x4eca[6]}},{tableName:_0x4eca[9],associate:function(_0x4956x5){_0x4956x4[_0x4eca[10]](_0x4956x5.ChatMessage);_0x4956x4[_0x4eca[10]](_0x4956x5.ChatRoom);_0x4956x4[_0x4eca[11]](_0x4956x5.ChatWebsite);}});return _0x4956x4;};
\ No newline at end of file
index fd15c6695cc0e6b79e772eac3e2a2b225451de8b..01bc8d2b6db5e1be1388e2f991fdbd369c2c3195 100644 (file)
@@ -1 +1 @@
-var _0x8a67=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x53\x54\x52\x49\x4E\x47","\x23\x30\x30\x30\x30\x38\x30","\x42\x4F\x4F\x4C\x45\x41\x4E","\x72\x6F\x75\x6E\x64\x65\x64","\x73\x71\x75\x61\x72\x65\x64","\x57\x65\x20\x61\x72\x65\x20\x68\x65\x72\x65\x21","\x3C\x73\x74\x72\x6F\x6E\x67\x3E\x51\x75\x65\x73\x74\x69\x6F\x6E\x73\x3F\x3C\x2F\x73\x74\x72\x6F\x6E\x67\x3E\x3C\x62\x72\x20\x2F\x3E\x49\x6E\x73\x65\x72\x74\x20\x79\x6F\x75\x72\x20\x6E\x61\x6D\x65\x20\x61\x6E\x64\x20\x65\x6D\x61\x69\x6C\x20\x61\x64\x64\x72\x65\x73\x73\x20\x74\x6F\x20\x73\x74\x61\x72\x74\x20\x61\x20\x6C\x69\x76\x65\x2D\x63\x68\x61\x74\x20\x77\x69\x74\x68\x20\x6F\x75\x72\x20\x73\x75\x70\x70\x6F\x72\x74\x20\x74\x65\x61\x6D\x2E","\x59\x6F\x75\x72\x20\x6E\x61\x6D\x65","\x59\x6F\x75\x72\x20\x65\x2D\x6D\x61\x69\x6C\x20\x61\x64\x64\x72\x65\x73\x73","\x43\x68\x61\x74","\x43\x6F\x6E\x74\x61\x63\x74\x20\x75\x73","\x3C\x73\x74\x72\x6F\x6E\x67\x3E\x57\x65\x27\x72\x65\x20\x6E\x6F\x74\x20\x6F\x6E\x6C\x69\x6E\x65\x2E\x3C\x2F\x73\x74\x72\x6F\x6E\x67\x3E\x3C\x62\x72\x20\x2F\x3E\x49\x74\x20\x64\x6F\x65\x73\x6E\x27\x74\x20\x6D\x65\x61\x6E\x20\x77\x65\x27\x72\x65\x20\x6E\x6F\x74\x20\x74\x68\x65\x72\x65\x20\x74\x6F\x20\x68\x65\x6C\x70\x20\x2D\x20\x6C\x65\x61\x76\x65\x20\x79\x6F\x75\x72\x20\x6D\x65\x73\x73\x61\x67\x65\x20\x62\x65\x6C\x6F\x77\x20\x61\x6E\x64\x20\x77\x65\x27\x6C\x6C\x20\x62\x65\x20\x69\x6E\x20\x74\x6F\x75\x63\x68\x20\x61\x73\x20\x73\x6F\x6F\x6E\x20\x61\x73\x20\x70\x6F\x73\x73\x69\x62\x6C\x65\x2E","\x59\x6F\x75\x72\x20\x6D\x65\x73\x73\x61\x67\x65\x2E\x2E\x2E","\x4C\x65\x61\x76\x65\x20\x6D\x65\x73\x73\x61\x67\x65","\x63\x68\x61\x74\x5F\x77\x65\x62\x73\x69\x74\x65\x73","\x4F\x66\x66\x6C\x69\x6E\x65\x54\x65\x6D\x70\x6C\x61\x74\x65","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x8a67[0]);module[_0x8a67[1]]=function(_0xedd8x2,_0xedd8x3){var _0xedd8x4=_0xedd8x2[_0x8a67[21]](_0x8a67[2],{name:_0xedd8x3[_0x8a67[3]],address:{type:_0xedd8x3[_0x8a67[3]],unique:true},description:_0xedd8x3[_0x8a67[3]],color:{type:_0xedd8x3[_0x8a67[3]],defaultValue:_0x8a67[4]},color_focus:{type:_0xedd8x3[_0x8a67[3]],defaultValue:_0x8a67[4]},color_button:{type:_0xedd8x3[_0x8a67[3]],defaultValue:_0x8a67[4]},remote:_0xedd8x3[_0x8a67[3]],animation:{type:_0xedd8x3[_0x8a67[5]],defaultValue:true},header_shape:{type:_0xedd8x3.ENUM(_0x8a67[6],_0x8a67[7]),defaultValue:_0x8a67[6]},header_online:{type:_0xedd8x3[_0x8a67[3]],defaultValue:_0x8a67[8]},online_message:{type:_0xedd8x3[_0x8a67[3]],defaultValue:_0x8a67[9]},username_placeholder:{type:_0xedd8x3[_0x8a67[3]],defaultValue:_0x8a67[10]},email_placeholder:{type:_0xedd8x3[_0x8a67[3]],defaultValue:_0x8a67[11]},start_chat_button:{type:_0xedd8x3[_0x8a67[3]],defaultValue:_0x8a67[12]},header_offline:{type:_0xedd8x3[_0x8a67[3]],defaultValue:_0x8a67[13]},offline_message:{type:_0xedd8x3[_0x8a67[3]],defaultValue:_0x8a67[14]},enquiry_message_placeholder:{type:_0xedd8x3[_0x8a67[3]],defaultValue:_0x8a67[15]},enquiry_button:{type:_0xedd8x3[_0x8a67[3]],defaultValue:_0x8a67[16]},download_transcript:{type:_0xedd8x3[_0x8a67[5]],defaultValue:true},enquiry_forwarding:{type:_0xedd8x3[_0x8a67[5]],defaultValue:false},enquiry_forwarding_address:{type:_0xedd8x3[_0x8a67[3]]}},{tableName:_0x8a67[17],associate:function(_0xedd8x5){_0xedd8x4[_0x8a67[19]](_0xedd8x5.MailTemplate,{as:_0x8a67[18]});_0xedd8x4[_0x8a67[20]](_0xedd8x5.ChatRoom);_0xedd8x4[_0x8a67[20]](_0xedd8x5.ChatApplication);}});return _0xedd8x4;};
\ No newline at end of file
+var _0x15a9=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x53\x54\x52\x49\x4E\x47","\x23\x30\x30\x30\x30\x38\x30","\x42\x4F\x4F\x4C\x45\x41\x4E","\x72\x6F\x75\x6E\x64\x65\x64","\x73\x71\x75\x61\x72\x65\x64","\x57\x65\x20\x61\x72\x65\x20\x68\x65\x72\x65\x21","\x3C\x73\x74\x72\x6F\x6E\x67\x3E\x51\x75\x65\x73\x74\x69\x6F\x6E\x73\x3F\x3C\x2F\x73\x74\x72\x6F\x6E\x67\x3E\x3C\x62\x72\x20\x2F\x3E\x49\x6E\x73\x65\x72\x74\x20\x79\x6F\x75\x72\x20\x6E\x61\x6D\x65\x20\x61\x6E\x64\x20\x65\x6D\x61\x69\x6C\x20\x61\x64\x64\x72\x65\x73\x73\x20\x74\x6F\x20\x73\x74\x61\x72\x74\x20\x61\x20\x6C\x69\x76\x65\x2D\x63\x68\x61\x74\x20\x77\x69\x74\x68\x20\x6F\x75\x72\x20\x73\x75\x70\x70\x6F\x72\x74\x20\x74\x65\x61\x6D\x2E","\x59\x6F\x75\x72\x20\x6E\x61\x6D\x65","\x59\x6F\x75\x72\x20\x65\x2D\x6D\x61\x69\x6C\x20\x61\x64\x64\x72\x65\x73\x73","\x43\x68\x61\x74","\x43\x6F\x6E\x74\x61\x63\x74\x20\x75\x73","\x3C\x73\x74\x72\x6F\x6E\x67\x3E\x57\x65\x27\x72\x65\x20\x6E\x6F\x74\x20\x6F\x6E\x6C\x69\x6E\x65\x2E\x3C\x2F\x73\x74\x72\x6F\x6E\x67\x3E\x3C\x62\x72\x20\x2F\x3E\x49\x74\x20\x64\x6F\x65\x73\x6E\x27\x74\x20\x6D\x65\x61\x6E\x20\x77\x65\x27\x72\x65\x20\x6E\x6F\x74\x20\x74\x68\x65\x72\x65\x20\x74\x6F\x20\x68\x65\x6C\x70\x20\x2D\x20\x6C\x65\x61\x76\x65\x20\x79\x6F\x75\x72\x20\x6D\x65\x73\x73\x61\x67\x65\x20\x62\x65\x6C\x6F\x77\x20\x61\x6E\x64\x20\x77\x65\x27\x6C\x6C\x20\x62\x65\x20\x69\x6E\x20\x74\x6F\x75\x63\x68\x20\x61\x73\x20\x73\x6F\x6F\x6E\x20\x61\x73\x20\x70\x6F\x73\x73\x69\x62\x6C\x65\x2E","\x59\x6F\x75\x72\x20\x6D\x65\x73\x73\x61\x67\x65\x2E\x2E\x2E","\x4C\x65\x61\x76\x65\x20\x6D\x65\x73\x73\x61\x67\x65","\x63\x68\x61\x74\x5F\x77\x65\x62\x73\x69\x74\x65\x73","\x4F\x66\x66\x6C\x69\x6E\x65\x54\x65\x6D\x70\x6C\x61\x74\x65","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x15a9[0]);module[_0x15a9[1]]=function(_0xf920x2,_0xf920x3){var _0xf920x4=_0xf920x2[_0x15a9[21]](_0x15a9[2],{name:_0xf920x3[_0x15a9[3]],address:{type:_0xf920x3[_0x15a9[3]],unique:true},description:_0xf920x3[_0x15a9[3]],color:{type:_0xf920x3[_0x15a9[3]],defaultValue:_0x15a9[4]},color_focus:{type:_0xf920x3[_0x15a9[3]],defaultValue:_0x15a9[4]},color_button:{type:_0xf920x3[_0x15a9[3]],defaultValue:_0x15a9[4]},remote:_0xf920x3[_0x15a9[3]],animation:{type:_0xf920x3[_0x15a9[5]],defaultValue:true},header_shape:{type:_0xf920x3.ENUM(_0x15a9[6],_0x15a9[7]),defaultValue:_0x15a9[6]},header_online:{type:_0xf920x3[_0x15a9[3]],defaultValue:_0x15a9[8]},online_message:{type:_0xf920x3[_0x15a9[3]],defaultValue:_0x15a9[9]},username_placeholder:{type:_0xf920x3[_0x15a9[3]],defaultValue:_0x15a9[10]},email_placeholder:{type:_0xf920x3[_0x15a9[3]],defaultValue:_0x15a9[11]},start_chat_button:{type:_0xf920x3[_0x15a9[3]],defaultValue:_0x15a9[12]},header_offline:{type:_0xf920x3[_0x15a9[3]],defaultValue:_0x15a9[13]},offline_message:{type:_0xf920x3[_0x15a9[3]],defaultValue:_0x15a9[14]},enquiry_message_placeholder:{type:_0xf920x3[_0x15a9[3]],defaultValue:_0x15a9[15]},enquiry_button:{type:_0xf920x3[_0x15a9[3]],defaultValue:_0x15a9[16]},download_transcript:{type:_0xf920x3[_0x15a9[5]],defaultValue:true},enquiry_forwarding:{type:_0xf920x3[_0x15a9[5]],defaultValue:false},enquiry_forwarding_address:{type:_0xf920x3[_0x15a9[3]]}},{tableName:_0x15a9[17],associate:function(_0xf920x5){_0xf920x4[_0x15a9[19]](_0xf920x5.MailTemplate,{as:_0x15a9[18]});_0xf920x4[_0x15a9[20]](_0xf920x5.ChatRoom);_0xf920x4[_0x15a9[20]](_0xf920x5.ChatApplication);}});return _0xf920x4;};
\ No newline at end of file
index aff28e6aecf6bdf553e04979fbe3f0d56e976b11..aa82f57ef6e55ff43bbfb0d3fc0424098f26fc80 100644 (file)
@@ -1 +1 @@
-var _0x84ab=["\x65\x78\x70\x6F\x72\x74\x73","\x43\x6F\x6D\x70\x61\x6E\x79","\x53\x54\x52\x49\x4E\x47","\x63\x6F\x6D\x70\x61\x6E\x69\x65\x73","\x43\x6F\x6E\x74\x61\x63\x74\x73","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];module[_0x84ab[0]]=function(_0xce39x1,_0xce39x2){var _0xce39x3=_0xce39x1[_0x84ab[6]](_0x84ab[1],{name:{type:_0xce39x2[_0x84ab[2]],unique:true},street:_0xce39x2[_0x84ab[2]],postalCode:_0xce39x2[_0x84ab[2]],city:_0xce39x2[_0x84ab[2]],country:_0xce39x2[_0x84ab[2]],sStreet:_0xce39x2[_0x84ab[2]],sPostalCode:_0xce39x2[_0x84ab[2]],sCity:_0xce39x2[_0x84ab[2]],sCountry:_0xce39x2[_0x84ab[2]]},{tableName:_0x84ab[3],associate:function(_0xce39x4){_0xce39x3[_0x84ab[5]](_0xce39x4.Contact,{as:_0x84ab[4]})}});return _0xce39x3;};
\ No newline at end of file
+var _0xef17=["\x65\x78\x70\x6F\x72\x74\x73","\x43\x6F\x6D\x70\x61\x6E\x79","\x53\x54\x52\x49\x4E\x47","\x63\x6F\x6D\x70\x61\x6E\x69\x65\x73","\x43\x6F\x6E\x74\x61\x63\x74\x73","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];module[_0xef17[0]]=function(_0xe39bx1,_0xe39bx2){var _0xe39bx3=_0xe39bx1[_0xef17[6]](_0xef17[1],{name:{type:_0xe39bx2[_0xef17[2]],unique:true},street:_0xe39bx2[_0xef17[2]],postalCode:_0xe39bx2[_0xef17[2]],city:_0xe39bx2[_0xef17[2]],country:_0xe39bx2[_0xef17[2]],sStreet:_0xe39bx2[_0xef17[2]],sPostalCode:_0xe39bx2[_0xef17[2]],sCity:_0xe39bx2[_0xef17[2]],sCountry:_0xe39bx2[_0xef17[2]]},{tableName:_0xef17[3],associate:function(_0xe39bx4){_0xe39bx3[_0xef17[5]](_0xe39bx4.Contact,{as:_0xef17[4]})}});return _0xe39bx3;};
\ No newline at end of file
index 7c17195b97bf86d6c7d9293de86984ed2bf39a13..1bd8cba26ac399f23778dec707df8f64ff77e86b 100644 (file)
@@ -1 +1 @@
-var _0xde87=["\x65\x78\x70\x6F\x72\x74\x73","\x43\x6F\x6E\x74\x61\x63\x74","\x53\x54\x52\x49\x4E\x47","\x63\x6F\x6E\x74\x61\x63\x74\x73","\x63\x6F\x6E\x74\x61\x63\x74\x5F\x68\x61\x73\x5F\x70\x68\x6F\x6E\x65\x73","\x50\x68\x6F\x6E\x65\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x63\x6F\x6E\x74\x61\x63\x74\x5F\x68\x61\x73\x5F\x65\x6D\x61\x69\x6C\x73","\x45\x6D\x61\x69\x6C\x73","\x43\x6F\x6E\x74\x61\x63\x74\x48\x61\x73\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64","\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];module[_0xde87[0]]=function(_0x5c98x1,_0x5c98x2){var _0x5c98x3=_0x5c98x1[_0xde87[12]](_0xde87[1],{fullname:{type:_0x5c98x2[_0xde87[2]],validate:{notEmpty:true}},tags:_0x5c98x2[_0xde87[2]],street:_0x5c98x2[_0xde87[2]],postalCode:_0x5c98x2[_0xde87[2]],city:_0x5c98x2[_0xde87[2]],country:_0x5c98x2[_0xde87[2]],dateOfBirth:_0x5c98x2[_0xde87[2]],description:_0x5c98x2[_0xde87[2]]},{tableName:_0xde87[3],associate:function(_0x5c98x4){_0x5c98x3[_0xde87[6]](_0x5c98x4.ContactPhone,{through:_0xde87[4],as:_0xde87[5]});_0x5c98x3[_0xde87[6]](_0x5c98x4.ContactEmail,{through:_0xde87[7],as:_0xde87[8]});_0x5c98x3[_0xde87[6]](_0x5c98x4.CustomField,{through:_0x5c98x4[_0xde87[9]],as:_0xde87[10]});_0x5c98x3[_0xde87[11]](_0x5c98x4.Company);_0x5c98x3[_0xde87[11]](_0x5c98x4.User);}});return _0x5c98x3;};
\ No newline at end of file
+var _0xeb59=["\x65\x78\x70\x6F\x72\x74\x73","\x43\x6F\x6E\x74\x61\x63\x74","\x53\x54\x52\x49\x4E\x47","\x63\x6F\x6E\x74\x61\x63\x74\x73","\x63\x6F\x6E\x74\x61\x63\x74\x5F\x68\x61\x73\x5F\x70\x68\x6F\x6E\x65\x73","\x50\x68\x6F\x6E\x65\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x63\x6F\x6E\x74\x61\x63\x74\x5F\x68\x61\x73\x5F\x65\x6D\x61\x69\x6C\x73","\x45\x6D\x61\x69\x6C\x73","\x43\x6F\x6E\x74\x61\x63\x74\x48\x61\x73\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64","\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];module[_0xeb59[0]]=function(_0x1de7x1,_0x1de7x2){var _0x1de7x3=_0x1de7x1[_0xeb59[12]](_0xeb59[1],{fullname:{type:_0x1de7x2[_0xeb59[2]],validate:{notEmpty:true}},tags:_0x1de7x2[_0xeb59[2]],street:_0x1de7x2[_0xeb59[2]],postalCode:_0x1de7x2[_0xeb59[2]],city:_0x1de7x2[_0xeb59[2]],country:_0x1de7x2[_0xeb59[2]],dateOfBirth:_0x1de7x2[_0xeb59[2]],description:_0x1de7x2[_0xeb59[2]]},{tableName:_0xeb59[3],associate:function(_0x1de7x4){_0x1de7x3[_0xeb59[6]](_0x1de7x4.ContactPhone,{through:_0xeb59[4],as:_0xeb59[5]});_0x1de7x3[_0xeb59[6]](_0x1de7x4.ContactEmail,{through:_0xeb59[7],as:_0xeb59[8]});_0x1de7x3[_0xeb59[6]](_0x1de7x4.CustomField,{through:_0x1de7x4[_0xeb59[9]],as:_0xeb59[10]});_0x1de7x3[_0xeb59[11]](_0x1de7x4.Company);_0x1de7x3[_0xeb59[11]](_0x1de7x4.User);}});return _0x1de7x3;};
\ No newline at end of file
index aebc7e6c51b38b8d4f61d5e875cb7c4bbdbad5cd..9b347f8e3623c1b38ddd2167e2b519df978f428d 100644 (file)
@@ -1 +1 @@
-var _0xbcbf=["\x65\x78\x70\x6F\x72\x74\x73","\x43\x6F\x6E\x74\x61\x63\x74\x45\x6D\x61\x69\x6C","\x53\x54\x52\x49\x4E\x47","\x63\x6F\x6E\x74\x61\x63\x74\x5F\x65\x6D\x61\x69\x6C\x73","\x63\x6F\x6E\x74\x61\x63\x74\x5F\x68\x61\x73\x5F\x65\x6D\x61\x69\x6C\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x49\x6E\x62\x6F\x75\x6E\x64\x4D\x65\x73\x73\x61\x67\x65\x73","\x66\x72\x6F\x6D","\x68\x61\x73\x4D\x61\x6E\x79","\x4F\x75\x74\x62\x6F\x75\x6E\x64\x4D\x65\x73\x73\x61\x67\x65\x73","\x74\x6F","\x64\x65\x66\x69\x6E\x65"];module[_0xbcbf[0]]=function(_0x1cf4x1,_0x1cf4x2){var _0x1cf4x3=_0x1cf4x1[_0xbcbf[11]](_0xbcbf[1],{email:{type:_0x1cf4x2[_0xbcbf[2]],primaryKey:true}},{tableName:_0xbcbf[3],associate:function(_0x1cf4x4){_0x1cf4x3[_0xbcbf[5]](_0x1cf4x4.Contact,{through:_0xbcbf[4]});_0x1cf4x3[_0xbcbf[8]](_0x1cf4x4.ReportMailSession,{as:_0xbcbf[6],foreignKey:_0xbcbf[7],constraints:false});_0x1cf4x3[_0xbcbf[8]](_0x1cf4x4.ReportMailSession,{as:_0xbcbf[9],foreignKey:_0xbcbf[10],constraints:false});}});return _0x1cf4x3;};
\ No newline at end of file
+var _0x6465=["\x65\x78\x70\x6F\x72\x74\x73","\x43\x6F\x6E\x74\x61\x63\x74\x45\x6D\x61\x69\x6C","\x53\x54\x52\x49\x4E\x47","\x63\x6F\x6E\x74\x61\x63\x74\x5F\x65\x6D\x61\x69\x6C\x73","\x63\x6F\x6E\x74\x61\x63\x74\x5F\x68\x61\x73\x5F\x65\x6D\x61\x69\x6C\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x49\x6E\x62\x6F\x75\x6E\x64\x4D\x65\x73\x73\x61\x67\x65\x73","\x66\x72\x6F\x6D","\x68\x61\x73\x4D\x61\x6E\x79","\x4F\x75\x74\x62\x6F\x75\x6E\x64\x4D\x65\x73\x73\x61\x67\x65\x73","\x74\x6F","\x64\x65\x66\x69\x6E\x65"];module[_0x6465[0]]=function(_0x3f08x1,_0x3f08x2){var _0x3f08x3=_0x3f08x1[_0x6465[11]](_0x6465[1],{email:{type:_0x3f08x2[_0x6465[2]],primaryKey:true}},{tableName:_0x6465[3],associate:function(_0x3f08x4){_0x3f08x3[_0x6465[5]](_0x3f08x4.Contact,{through:_0x6465[4]});_0x3f08x3[_0x6465[8]](_0x3f08x4.ReportMailSession,{as:_0x6465[6],foreignKey:_0x6465[7],constraints:false});_0x3f08x3[_0x6465[8]](_0x3f08x4.ReportMailSession,{as:_0x6465[9],foreignKey:_0x6465[10],constraints:false});}});return _0x3f08x3;};
\ No newline at end of file
index 93fe1223fa8d4f6fba7dfd78c728cfba4197b401..7779d4475c2844282078ab9b085e761e2c306859 100644 (file)
@@ -1 +1 @@
-var _0x166c=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x43\x6F\x6E\x74\x61\x63\x74\x48\x61\x73\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64","\x53\x54\x52\x49\x4E\x47","\x63\x6F\x6E\x74\x61\x63\x74\x5F\x68\x61\x73\x5F\x63\x75\x73\x74\x6F\x6D\x5F\x66\x69\x65\x6C\x64\x73","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x166c[0]);module[_0x166c[1]]=function(_0x8c2dx2,_0x8c2dx3){var _0x8c2dx4=_0x8c2dx2[_0x166c[5]](_0x166c[2],{value:_0x8c2dx3[_0x166c[3]]},{tableName:_0x166c[4]});return _0x8c2dx4;};
\ No newline at end of file
+var _0x8c12=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x43\x6F\x6E\x74\x61\x63\x74\x48\x61\x73\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64","\x53\x54\x52\x49\x4E\x47","\x63\x6F\x6E\x74\x61\x63\x74\x5F\x68\x61\x73\x5F\x63\x75\x73\x74\x6F\x6D\x5F\x66\x69\x65\x6C\x64\x73","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x8c12[0]);module[_0x8c12[1]]=function(_0x52b5x2,_0x52b5x3){var _0x52b5x4=_0x52b5x2[_0x8c12[5]](_0x8c12[2],{value:_0x52b5x3[_0x8c12[3]]},{tableName:_0x8c12[4]});return _0x52b5x4;};
\ No newline at end of file
index 6d06966f64cd359e3c566b755823d881ec36ce62..a3a7eeae30682610aebb6da74a717f7a1bd02c4f 100644 (file)
@@ -1 +1 @@
-var _0x40b3=["\x65\x78\x70\x6F\x72\x74\x73","\x43\x6F\x6E\x74\x61\x63\x74\x50\x68\x6F\x6E\x65","\x53\x54\x52\x49\x4E\x47","\x63\x6F\x6E\x74\x61\x63\x74\x5F\x70\x68\x6F\x6E\x65\x73","\x63\x6F\x6E\x74\x61\x63\x74\x5F\x68\x61\x73\x5F\x70\x68\x6F\x6E\x65\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x49\x6E\x62\x6F\x75\x6E\x64\x73","\x73\x6F\x75\x72\x63\x65","\x68\x61\x73\x4D\x61\x6E\x79","\x4F\x75\x74\x62\x6F\x75\x6E\x64\x73","\x64\x65\x73\x74\x69\x6E\x61\x74\x69\x6F\x6E","\x64\x65\x66\x69\x6E\x65"];module[_0x40b3[0]]=function(_0x9267x1,_0x9267x2){var _0x9267x3=_0x9267x1[_0x40b3[11]](_0x40b3[1],{phone:{type:_0x9267x2[_0x40b3[2]],primaryKey:true}},{tableName:_0x40b3[3],associate:function(_0x9267x4){_0x9267x3[_0x40b3[5]](_0x9267x4.Contact,{through:_0x40b3[4]});_0x9267x3[_0x40b3[8]](_0x9267x4.ReportCall,{as:_0x40b3[6],foreignKey:_0x40b3[7],constraints:false});_0x9267x3[_0x40b3[8]](_0x9267x4.ReportCall,{as:_0x40b3[9],foreignKey:_0x40b3[10],constraints:false});}});return _0x9267x3;};
\ No newline at end of file
+var _0x1bbe=["\x65\x78\x70\x6F\x72\x74\x73","\x43\x6F\x6E\x74\x61\x63\x74\x50\x68\x6F\x6E\x65","\x53\x54\x52\x49\x4E\x47","\x63\x6F\x6E\x74\x61\x63\x74\x5F\x70\x68\x6F\x6E\x65\x73","\x63\x6F\x6E\x74\x61\x63\x74\x5F\x68\x61\x73\x5F\x70\x68\x6F\x6E\x65\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x49\x6E\x62\x6F\x75\x6E\x64\x73","\x73\x6F\x75\x72\x63\x65","\x68\x61\x73\x4D\x61\x6E\x79","\x4F\x75\x74\x62\x6F\x75\x6E\x64\x73","\x64\x65\x73\x74\x69\x6E\x61\x74\x69\x6F\x6E","\x64\x65\x66\x69\x6E\x65"];module[_0x1bbe[0]]=function(_0x2686x1,_0x2686x2){var _0x2686x3=_0x2686x1[_0x1bbe[11]](_0x1bbe[1],{phone:{type:_0x2686x2[_0x1bbe[2]],primaryKey:true}},{tableName:_0x1bbe[3],associate:function(_0x2686x4){_0x2686x3[_0x1bbe[5]](_0x2686x4.Contact,{through:_0x1bbe[4]});_0x2686x3[_0x1bbe[8]](_0x2686x4.ReportCall,{as:_0x1bbe[6],foreignKey:_0x1bbe[7],constraints:false});_0x2686x3[_0x1bbe[8]](_0x2686x4.ReportCall,{as:_0x1bbe[9],foreignKey:_0x1bbe[10],constraints:false});}});return _0x2686x3;};
\ No newline at end of file
index 9735fd3359b76512fbd4671b0e3ef62c238e2ff9..c29fdec342b0291b2c2640d4d2c4e0d03450164a 100644 (file)
@@ -1 +1 @@
-var _0x2cb8=["\x65\x78\x70\x6F\x72\x74\x73","\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64","\x53\x54\x52\x49\x4E\x47","\x42\x4F\x4F\x4C\x45\x41\x4E","\x63\x6F\x6E\x74\x61\x63\x74\x5F\x63\x75\x73\x74\x6F\x6D\x5F\x66\x69\x65\x6C\x64\x73","\x43\x6F\x6E\x74\x61\x63\x74\x48\x61\x73\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];module[_0x2cb8[0]]=function(_0x5bfax1,_0x5bfax2){var _0x5bfax3=_0x5bfax1[_0x2cb8[7]](_0x2cb8[1],{name:{type:_0x5bfax2[_0x2cb8[2]],unique:true},type:_0x5bfax2[_0x2cb8[2]],active:{type:_0x5bfax2[_0x2cb8[3]],defaultValue:true},values:_0x5bfax2[_0x2cb8[2]]},{tableName:_0x2cb8[4],associate:function(_0x5bfax4){_0x5bfax3[_0x2cb8[6]](_0x5bfax4.Contact,{through:_0x5bfax4[_0x2cb8[5]]})}});return _0x5bfax3;};
\ No newline at end of file
+var _0xe4db=["\x65\x78\x70\x6F\x72\x74\x73","\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64","\x53\x54\x52\x49\x4E\x47","\x42\x4F\x4F\x4C\x45\x41\x4E","\x63\x6F\x6E\x74\x61\x63\x74\x5F\x63\x75\x73\x74\x6F\x6D\x5F\x66\x69\x65\x6C\x64\x73","\x43\x6F\x6E\x74\x61\x63\x74\x48\x61\x73\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];module[_0xe4db[0]]=function(_0x15acx1,_0x15acx2){var _0x15acx3=_0x15acx1[_0xe4db[7]](_0xe4db[1],{name:{type:_0x15acx2[_0xe4db[2]],unique:true},type:_0x15acx2[_0xe4db[2]],active:{type:_0x15acx2[_0xe4db[3]],defaultValue:true},values:_0x15acx2[_0xe4db[2]]},{tableName:_0xe4db[4],associate:function(_0x15acx4){_0x15acx3[_0xe4db[6]](_0x15acx4.Contact,{through:_0x15acx4[_0xe4db[5]]})}});return _0x15acx3;};
\ No newline at end of file
index 0f59de9fd3016e6d995fe81fde642cb1a55876af..71d6e22b4a831199171de66a6b61fe4e97afc34a 100644 (file)
@@ -1 +1 @@
-var _0x1983=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74","\x53\x54\x52\x49\x4E\x47","\x54\x45\x58\x54","\x63\x75\x73\x74\x6F\x6D\x5F\x72\x65\x70\x6F\x72\x74\x73","\x46\x69\x65\x6C\x64\x73","\x63\x61\x73\x63\x61\x64\x65","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];_0x1983[0];module[_0x1983[1]]=function(_0x8c08x1,_0x8c08x2){var _0x8c08x3=_0x8c08x1[_0x1983[9]](_0x1983[2],{name:_0x8c08x2[_0x1983[3]],description:_0x8c08x2[_0x1983[3]],parent:_0x8c08x2[_0x1983[3]],table:_0x8c08x2[_0x1983[3]],conditions:_0x8c08x2[_0x1983[4]]},{tableName:_0x1983[5],associate:function(_0x8c08x4){_0x8c08x3[_0x1983[8]](_0x8c08x4.ReportField,{as:_0x1983[6],onDelete:_0x1983[7]})}});return _0x8c08x3;};
\ No newline at end of file
+var _0x461b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74","\x53\x54\x52\x49\x4E\x47","\x54\x45\x58\x54","\x63\x75\x73\x74\x6F\x6D\x5F\x72\x65\x70\x6F\x72\x74\x73","\x46\x69\x65\x6C\x64\x73","\x63\x61\x73\x63\x61\x64\x65","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];_0x461b[0];module[_0x461b[1]]=function(_0x6eddx1,_0x6eddx2){var _0x6eddx3=_0x6eddx1[_0x461b[9]](_0x461b[2],{name:_0x6eddx2[_0x461b[3]],description:_0x6eddx2[_0x461b[3]],parent:_0x6eddx2[_0x461b[3]],table:_0x6eddx2[_0x461b[3]],conditions:_0x6eddx2[_0x461b[4]]},{tableName:_0x461b[5],associate:function(_0x6eddx4){_0x6eddx3[_0x461b[8]](_0x6eddx4.ReportField,{as:_0x461b[6],onDelete:_0x461b[7]})}});return _0x6eddx3;};
\ No newline at end of file
index 77648d71728aa707e74a28e3bf078d89dc147578..e259cc85a9d14727864dca473a84b8e755b48700 100644 (file)
@@ -1 +1 @@
-var _0x4476=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x44\x61\x73\x68\x62\x6F\x61\x72\x64","\x53\x54\x52\x49\x4E\x47","\x54\x45\x58\x54","\x42\x4F\x4F\x4C\x45\x41\x4E","\x34\x2D\x38","\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x73","\x64\x65\x66\x69\x6E\x65"];_0x4476[0];module[_0x4476[1]]=function(_0x49d1x1,_0x49d1x2){var _0x49d1x3=_0x49d1x1[_0x4476[8]](_0x4476[2],{name:{type:_0x49d1x2[_0x4476[3]],unique:true},description:{type:_0x49d1x2[_0x4476[3]]},model:{type:_0x49d1x2[_0x4476[4]]},collapsible:{type:_0x49d1x2[_0x4476[5]],defaultValue:true},editable:{type:_0x49d1x2[_0x4476[5]],defaultValue:true},maximizable:{type:_0x49d1x2[_0x4476[5]],defaultValue:true},structure:{type:_0x49d1x2.STRING(32),defaultValue:_0x4476[6]},enableconfirmdelete:{type:_0x49d1x2[_0x4476[5]],defaultValue:true},defaultEntry:{type:_0x49d1x2[_0x4476[5]],defaultValue:0},admin:{type:_0x49d1x2[_0x4476[5]],defaultValue:true},user:{type:_0x49d1x2[_0x4476[5]],defaultValue:true},agent:{type:_0x49d1x2[_0x4476[5]],defaultValue:true},visible:{type:_0x49d1x2[_0x4476[5]],defaultValue:true}},{tableName:_0x4476[7]});return _0x49d1x3;};
\ No newline at end of file
+var _0xed4e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x44\x61\x73\x68\x62\x6F\x61\x72\x64","\x53\x54\x52\x49\x4E\x47","\x54\x45\x58\x54","\x42\x4F\x4F\x4C\x45\x41\x4E","\x34\x2D\x38","\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x73","\x64\x65\x66\x69\x6E\x65"];_0xed4e[0];module[_0xed4e[1]]=function(_0x1a49x1,_0x1a49x2){var _0x1a49x3=_0x1a49x1[_0xed4e[8]](_0xed4e[2],{name:{type:_0x1a49x2[_0xed4e[3]],unique:true},description:{type:_0x1a49x2[_0xed4e[3]]},model:{type:_0x1a49x2[_0xed4e[4]]},collapsible:{type:_0x1a49x2[_0xed4e[5]],defaultValue:true},editable:{type:_0x1a49x2[_0xed4e[5]],defaultValue:true},maximizable:{type:_0x1a49x2[_0xed4e[5]],defaultValue:true},structure:{type:_0x1a49x2.STRING(32),defaultValue:_0xed4e[6]},enableconfirmdelete:{type:_0x1a49x2[_0xed4e[5]],defaultValue:true},defaultEntry:{type:_0x1a49x2[_0xed4e[5]],defaultValue:0},admin:{type:_0x1a49x2[_0xed4e[5]],defaultValue:true},user:{type:_0x1a49x2[_0xed4e[5]],defaultValue:true},agent:{type:_0x1a49x2[_0xed4e[5]],defaultValue:true},visible:{type:_0x1a49x2[_0xed4e[5]],defaultValue:true}},{tableName:_0xed4e[7]});return _0x1a49x3;};
\ No newline at end of file
index 4b36e21e02f3f553a63bb28777cdbc7ef5034d06..7d7723259c8a8a73ed0680a17fccf084debcd375 100644 (file)
@@ -1 +1 @@
-var _0x96e8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74","\x53\x54\x52\x49\x4E\x47","\x54\x45\x58\x54","\x64\x65\x66\x61\x75\x6C\x74\x5F\x72\x65\x70\x6F\x72\x74\x73","\x46\x69\x65\x6C\x64\x73","\x63\x61\x73\x63\x61\x64\x65","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];_0x96e8[0];module[_0x96e8[1]]=function(_0x7f3cx1,_0x7f3cx2){var _0x7f3cx3=_0x7f3cx1[_0x96e8[9]](_0x96e8[2],{name:_0x7f3cx2[_0x96e8[3]],description:_0x7f3cx2[_0x96e8[3]],parent:_0x7f3cx2[_0x96e8[3]],table:_0x7f3cx2[_0x96e8[3]],conditions:_0x7f3cx2[_0x96e8[4]]},{tableName:_0x96e8[5],associate:function(_0x7f3cx4){_0x7f3cx3[_0x96e8[8]](_0x7f3cx4.ReportField,{as:_0x96e8[6],onDelete:_0x96e8[7]})}});return _0x7f3cx3;};
\ No newline at end of file
+var _0xe693=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74","\x53\x54\x52\x49\x4E\x47","\x54\x45\x58\x54","\x64\x65\x66\x61\x75\x6C\x74\x5F\x72\x65\x70\x6F\x72\x74\x73","\x46\x69\x65\x6C\x64\x73","\x63\x61\x73\x63\x61\x64\x65","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];_0xe693[0];module[_0xe693[1]]=function(_0xdbbex1,_0xdbbex2){var _0xdbbex3=_0xdbbex1[_0xe693[9]](_0xe693[2],{name:_0xdbbex2[_0xe693[3]],description:_0xdbbex2[_0xe693[3]],parent:_0xdbbex2[_0xe693[3]],table:_0xdbbex2[_0xe693[3]],conditions:_0xdbbex2[_0xe693[4]]},{tableName:_0xe693[5],associate:function(_0xdbbex4){_0xdbbex3[_0xe693[8]](_0xdbbex4.ReportField,{as:_0xe693[6],onDelete:_0xe693[7]})}});return _0xdbbex3;};
\ No newline at end of file
index 793e3bdc7db015636cf40bacc297cf35f421fd7e..341942bc0b61fa49719c50240821ba6b27d687f2 100644 (file)
@@ -1 +1 @@
-var _0x2da4=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x44\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x53\x54\x52\x49\x4E\x47","\x62\x61\x73\x69\x63","\x6F\x61\x75\x74\x68","\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];_0x2da4[0];module[_0x2da4[1]]=function(_0xcd86x1,_0xcd86x2){var _0xcd86x3=_0xcd86x1[_0x2da4[9]](_0x2da4[2],{name:_0xcd86x2[_0x2da4[3]],description:_0xcd86x2[_0x2da4[3]],username:{type:_0xcd86x2[_0x2da4[3]],unique:true},remoteUri:{type:_0xcd86x2[_0x2da4[3]],unique:true},authType:{type:_0xcd86x2.ENUM(_0x2da4[4],_0x2da4[5]),defaultValue:_0x2da4[4]},password:_0xcd86x2[_0x2da4[3]],consumerKey:_0xcd86x2[_0x2da4[3]],consumerSecret:_0xcd86x2[_0x2da4[3]],token:_0xcd86x2[_0x2da4[3]],tokenSecret:_0xcd86x2[_0x2da4[3]]},{tableName:_0x2da4[6],associate:function(_0xcd86x4){_0xcd86x3[_0x2da4[8]](_0xcd86x4.DeskConfiguration,{foreignKey:_0x2da4[7]})}});return _0xcd86x3;};
\ No newline at end of file
+var _0x29d7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x44\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x53\x54\x52\x49\x4E\x47","\x62\x61\x73\x69\x63","\x6F\x61\x75\x74\x68","\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];_0x29d7[0];module[_0x29d7[1]]=function(_0x9e9bx1,_0x9e9bx2){var _0x9e9bx3=_0x9e9bx1[_0x29d7[9]](_0x29d7[2],{name:_0x9e9bx2[_0x29d7[3]],description:_0x9e9bx2[_0x29d7[3]],username:{type:_0x9e9bx2[_0x29d7[3]],unique:true},remoteUri:{type:_0x9e9bx2[_0x29d7[3]],unique:true},authType:{type:_0x9e9bx2.ENUM(_0x29d7[4],_0x29d7[5]),defaultValue:_0x29d7[4]},password:_0x9e9bx2[_0x29d7[3]],consumerKey:_0x9e9bx2[_0x29d7[3]],consumerSecret:_0x9e9bx2[_0x29d7[3]],token:_0x9e9bx2[_0x29d7[3]],tokenSecret:_0x9e9bx2[_0x29d7[3]]},{tableName:_0x29d7[6],associate:function(_0x9e9bx4){_0x9e9bx3[_0x29d7[8]](_0x9e9bx4.DeskConfiguration,{foreignKey:_0x29d7[7]})}});return _0x9e9bx3;};
\ No newline at end of file
index 8c24c23e15e84553ceec923678bb7b29704a8086..f3acc940f4c140ada7508690939c907a810316bf 100644 (file)
@@ -1 +1 @@
-var _0x97d0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x44\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x53\x54\x52\x49\x4E\x47","\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x53\x75\x62\x6A\x65\x63\x74","\x53\x75\x62\x6A\x65\x63\x74\x49\x64","\x68\x61\x73\x4D\x61\x6E\x79","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x49\x64","\x46\x69\x65\x6C\x64","\x46\x69\x65\x6C\x64\x49\x64","\x64\x65\x66\x69\x6E\x65"];_0x97d0[0];module[_0x97d0[1]]=function(_0xd658x1,_0xd658x2){return _0xd658x1[_0x97d0[14]](_0x97d0[2],{name:_0xd658x2[_0x97d0[3]],description:_0xd658x2[_0x97d0[3]]},{tableName:_0x97d0[4],associate:function(_0xd658x3){_0xd658x3[_0x97d0[2]][_0x97d0[6]](_0xd658x3.DeskAccount,{foreignKey:_0x97d0[5]});_0xd658x3[_0x97d0[2]][_0x97d0[9]](_0xd658x3.DeskField,{as:_0x97d0[7],foreignKey:_0x97d0[8]});_0xd658x3[_0x97d0[2]][_0x97d0[9]](_0xd658x3.DeskField,{as:_0x97d0[10],foreignKey:_0x97d0[11]});_0xd658x3[_0x97d0[2]][_0x97d0[9]](_0xd658x3.DeskField,{as:_0x97d0[12],foreignKey:_0x97d0[13]});}})};
\ No newline at end of file
+var _0xfb34=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x44\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x53\x54\x52\x49\x4E\x47","\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x53\x75\x62\x6A\x65\x63\x74","\x53\x75\x62\x6A\x65\x63\x74\x49\x64","\x68\x61\x73\x4D\x61\x6E\x79","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x49\x64","\x46\x69\x65\x6C\x64","\x46\x69\x65\x6C\x64\x49\x64","\x64\x65\x66\x69\x6E\x65"];_0xfb34[0];module[_0xfb34[1]]=function(_0xb5afx1,_0xb5afx2){return _0xb5afx1[_0xfb34[14]](_0xfb34[2],{name:_0xb5afx2[_0xfb34[3]],description:_0xb5afx2[_0xfb34[3]]},{tableName:_0xfb34[4],associate:function(_0xb5afx3){_0xb5afx3[_0xfb34[2]][_0xfb34[6]](_0xb5afx3.DeskAccount,{foreignKey:_0xfb34[5]});_0xb5afx3[_0xfb34[2]][_0xfb34[9]](_0xb5afx3.DeskField,{as:_0xfb34[7],foreignKey:_0xfb34[8]});_0xb5afx3[_0xfb34[2]][_0xfb34[9]](_0xb5afx3.DeskField,{as:_0xfb34[10],foreignKey:_0xfb34[11]});_0xb5afx3[_0xfb34[2]][_0xfb34[9]](_0xb5afx3.DeskField,{as:_0xfb34[12],foreignKey:_0xfb34[13]});}})};
\ No newline at end of file
index 020db32c229268e2b57673f33190224c5692a2ee..7bb79721a75d5f2ac68a9ffcaa59bfc44182a973 100644 (file)
@@ -1 +1 @@
-var _0xffd4=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x44\x65\x73\x6B\x46\x69\x65\x6C\x64","\x73\x74\x72\x69\x6E\x67","\x76\x61\x72\x69\x61\x62\x6C\x65","\x6B\x65\x79\x5F\x76\x61\x6C\x75\x65","\x53\x54\x52\x49\x4E\x47","\x42\x4F\x4F\x4C\x45\x41\x4E","\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];_0xffd4[0];module[_0xffd4[1]]=function(_0xdd37x1,_0xdd37x2){return _0xdd37x1[_0xffd4[10]](_0xffd4[2],{type:{type:_0xdd37x2.ENUM(_0xffd4[3],_0xffd4[4],_0xffd4[5]),defaultValue:_0xffd4[3]},content:_0xdd37x2[_0xffd4[6]],key:_0xdd37x2[_0xffd4[6]],keyType:{type:_0xdd37x2.ENUM(_0xffd4[3],_0xffd4[4])},keyContent:_0xdd37x2[_0xffd4[6]],idField:_0xdd37x2[_0xffd4[6]],customField:{type:_0xdd37x2[_0xffd4[7]],defaultValue:true}},{tableName:_0xffd4[8],associate:function(_0xdd37x3){_0xdd37x3[_0xffd4[2]][_0xffd4[9]](_0xdd37x3.Variable)}})};
\ No newline at end of file
+var _0x1eea=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x44\x65\x73\x6B\x46\x69\x65\x6C\x64","\x73\x74\x72\x69\x6E\x67","\x76\x61\x72\x69\x61\x62\x6C\x65","\x6B\x65\x79\x5F\x76\x61\x6C\x75\x65","\x53\x54\x52\x49\x4E\x47","\x42\x4F\x4F\x4C\x45\x41\x4E","\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];_0x1eea[0];module[_0x1eea[1]]=function(_0xd6e3x1,_0xd6e3x2){return _0xd6e3x1[_0x1eea[10]](_0x1eea[2],{type:{type:_0xd6e3x2.ENUM(_0x1eea[3],_0x1eea[4],_0x1eea[5]),defaultValue:_0x1eea[3]},content:_0xd6e3x2[_0x1eea[6]],key:_0xd6e3x2[_0x1eea[6]],keyType:{type:_0xd6e3x2.ENUM(_0x1eea[3],_0x1eea[4])},keyContent:_0xd6e3x2[_0x1eea[6]],idField:_0xd6e3x2[_0x1eea[6]],customField:{type:_0xd6e3x2[_0x1eea[7]],defaultValue:true}},{tableName:_0x1eea[8],associate:function(_0xd6e3x3){_0xd6e3x3[_0x1eea[2]][_0x1eea[9]](_0xd6e3x3.Variable)}})};
\ No newline at end of file
index ad5a698e32161152d63fbde4bec4f4449d97ba58..4ee4abc7b222239685c0800cc194b61c235a86f0 100644 (file)
@@ -1 +1 @@
-var _0xeb81=["\x65\x78\x70\x6F\x72\x74\x73","\x45\x76\x65\x6E\x74","\x49\x4E\x43\x4F\x4D\x49\x4E\x47","\x4F\x55\x54\x47\x4F\x49\x4E\x47","\x41\x54\x54\x45\x4D\x50\x54","\x41\x53\x53\x49\x47\x4E\x45\x44","\x55\x4E\x41\x53\x53\x49\x47\x4E\x45\x44","\x4D\x41\x49\x4C","\x43\x48\x41\x54","\x46\x41\x58","\x56\x4F\x49\x43\x45","\x49\x4E\x54\x45\x47\x45\x52","\x65\x76\x65\x6E\x74\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];module[_0xeb81[0]]=function(_0x8b33x1,_0x8b33x2){var _0x8b33x3=_0x8b33x1[_0xeb81[14]](_0xeb81[1],{name:{type:_0x8b33x2.ENUM(_0xeb81[2],_0xeb81[3],_0xeb81[4],_0xeb81[5],_0xeb81[6])},channel:{type:_0x8b33x2.ENUM(_0xeb81[7],_0xeb81[8],_0xeb81[9],_0xeb81[10])},timeout:{type:_0x8b33x2[_0xeb81[11]]},holdtime:{type:_0x8b33x2[_0xeb81[11]]}},{tableName:_0xeb81[12],associate:function(_0x8b33x4){_0x8b33x3[_0xeb81[13]](_0x8b33x4.User);_0x8b33x3[_0xeb81[13]](_0x8b33x4.MailRoom);_0x8b33x3[_0xeb81[13]](_0x8b33x4.MailMessage);_0x8b33x3[_0xeb81[13]](_0x8b33x4.MailQueue);_0x8b33x3[_0xeb81[13]](_0x8b33x4.MailAccount);_0x8b33x3[_0xeb81[13]](_0x8b33x4.MailApplication);_0x8b33x3[_0xeb81[13]](_0x8b33x4.FaxRoom);_0x8b33x3[_0xeb81[13]](_0x8b33x4.FaxQueue);_0x8b33x3[_0xeb81[13]](_0x8b33x4.FaxAccount);_0x8b33x3[_0xeb81[13]](_0x8b33x4.FaxApplication);_0x8b33x3[_0xeb81[13]](_0x8b33x4.ChatRoom);_0x8b33x3[_0xeb81[13]](_0x8b33x4.ChatQueue);_0x8b33x3[_0xeb81[13]](_0x8b33x4.ChatWebsite);_0x8b33x3[_0xeb81[13]](_0x8b33x4.ChatApplication);}});return _0x8b33x3;};
\ No newline at end of file
+var _0x5854=["\x65\x78\x70\x6F\x72\x74\x73","\x45\x76\x65\x6E\x74","\x49\x4E\x43\x4F\x4D\x49\x4E\x47","\x4F\x55\x54\x47\x4F\x49\x4E\x47","\x41\x54\x54\x45\x4D\x50\x54","\x41\x53\x53\x49\x47\x4E\x45\x44","\x55\x4E\x41\x53\x53\x49\x47\x4E\x45\x44","\x4D\x41\x49\x4C","\x43\x48\x41\x54","\x46\x41\x58","\x56\x4F\x49\x43\x45","\x49\x4E\x54\x45\x47\x45\x52","\x65\x76\x65\x6E\x74\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];module[_0x5854[0]]=function(_0xac19x1,_0xac19x2){var _0xac19x3=_0xac19x1[_0x5854[14]](_0x5854[1],{name:{type:_0xac19x2.ENUM(_0x5854[2],_0x5854[3],_0x5854[4],_0x5854[5],_0x5854[6])},channel:{type:_0xac19x2.ENUM(_0x5854[7],_0x5854[8],_0x5854[9],_0x5854[10])},timeout:{type:_0xac19x2[_0x5854[11]]},holdtime:{type:_0xac19x2[_0x5854[11]]}},{tableName:_0x5854[12],associate:function(_0xac19x4){_0xac19x3[_0x5854[13]](_0xac19x4.User);_0xac19x3[_0x5854[13]](_0xac19x4.MailRoom);_0xac19x3[_0x5854[13]](_0xac19x4.MailMessage);_0xac19x3[_0x5854[13]](_0xac19x4.MailQueue);_0xac19x3[_0x5854[13]](_0xac19x4.MailAccount);_0xac19x3[_0x5854[13]](_0xac19x4.MailApplication);_0xac19x3[_0x5854[13]](_0xac19x4.FaxRoom);_0xac19x3[_0x5854[13]](_0xac19x4.FaxQueue);_0xac19x3[_0x5854[13]](_0xac19x4.FaxAccount);_0xac19x3[_0x5854[13]](_0xac19x4.FaxApplication);_0xac19x3[_0x5854[13]](_0xac19x4.ChatRoom);_0xac19x3[_0x5854[13]](_0xac19x4.ChatQueue);_0xac19x3[_0x5854[13]](_0xac19x4.ChatWebsite);_0xac19x3[_0x5854[13]](_0xac19x4.ChatApplication);}});return _0xac19x3;};
\ No newline at end of file
index 7ef9e59245111083ce8b238f5e7f6298e89827f8..d06ca753ecd277c0b8c7b873df72055f74d22129 100644 (file)
@@ -1 +1 @@
-var _0x5a00=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74","\x53\x54\x52\x49\x4E\x47","\x42\x4F\x4F\x4C\x45\x41\x4E","\x39\x36\x30\x30","\x31\x34\x34\x30\x30","\x33\x33\x36\x30\x30","\x66\x61\x78\x5F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x5a00[0]);module[_0x5a00[1]]=function(_0xcc80x2,_0xcc80x3){var _0xcc80x4=_0xcc80x2[_0x5a00[11]](_0x5a00[2],{description:_0xcc80x3[_0x5a00[3]],name:_0xcc80x3[_0x5a00[3]],phone:{type:_0xcc80x3[_0x5a00[3]],unique:true},ecm:{type:_0xcc80x3[_0x5a00[4]],defaultValue:false},faxheader:_0xcc80x3[_0x5a00[3]],localid:_0xcc80x3[_0x5a00[3]],maxrate:{type:_0xcc80x3.ENUM(_0x5a00[5],_0x5a00[6],_0x5a00[7]),defaultValue:_0x5a00[7]},minrate:{type:_0xcc80x3.ENUM(_0x5a00[5],_0x5a00[6],_0x5a00[7]),defaultValue:_0x5a00[5]}},{tableName:_0x5a00[8],associate:function(_0xcc80x5){_0xcc80x4[_0x5a00[9]](_0xcc80x5.Trunk);_0xcc80x4[_0x5a00[10]](_0xcc80x5.FaxRoom);_0xcc80x4[_0x5a00[10]](_0xcc80x5.FaxApplication);}});return _0xcc80x4;};
\ No newline at end of file
+var _0x101b=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74","\x53\x54\x52\x49\x4E\x47","\x42\x4F\x4F\x4C\x45\x41\x4E","\x39\x36\x30\x30","\x31\x34\x34\x30\x30","\x33\x33\x36\x30\x30","\x66\x61\x78\x5F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x101b[0]);module[_0x101b[1]]=function(_0x25cax2,_0x25cax3){var _0x25cax4=_0x25cax2[_0x101b[11]](_0x101b[2],{description:_0x25cax3[_0x101b[3]],name:_0x25cax3[_0x101b[3]],phone:{type:_0x25cax3[_0x101b[3]],unique:true},ecm:{type:_0x25cax3[_0x101b[4]],defaultValue:false},faxheader:_0x25cax3[_0x101b[3]],localid:_0x25cax3[_0x101b[3]],maxrate:{type:_0x25cax3.ENUM(_0x101b[5],_0x101b[6],_0x101b[7]),defaultValue:_0x101b[7]},minrate:{type:_0x25cax3.ENUM(_0x101b[5],_0x101b[6],_0x101b[7]),defaultValue:_0x101b[5]}},{tableName:_0x101b[8],associate:function(_0x25cax5){_0x25cax4[_0x101b[9]](_0x25cax5.Trunk);_0x25cax4[_0x101b[10]](_0x25cax5.FaxRoom);_0x25cax4[_0x101b[10]](_0x25cax5.FaxApplication);}});return _0x25cax4;};
\ No newline at end of file
index e7ca213f27daf52bc3f9f75a855a4474cebd55bc..3e2d8a0d4123b01ae4cec9cce9a937df7408a47f 100644 (file)
@@ -1 +1 @@
-var _0x4945=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x46\x61\x78\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x71\x75\x65\x75\x65","\x61\x67\x65\x6E\x74","\x49\x4E\x54\x45\x47\x45\x52","\x53\x54\x52\x49\x4E\x47","\x2A\x7C\x2A\x7C\x2A\x7C\x2A","\x66\x61\x78\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];_0x4945[0];module[_0x4945[1]]=function(_0x51cbx1,_0x51cbx2){var _0x51cbx3=_0x51cbx1[_0x4945[10]](_0x4945[2],{app:{type:_0x51cbx2.ENUM(_0x4945[3],_0x4945[4])},appdata:{type:_0x51cbx2[_0x4945[5]]},priority:{type:_0x51cbx2[_0x4945[5]]},timeout:{type:_0x51cbx2[_0x4945[5]]},interval:{type:_0x51cbx2[_0x4945[6]],defaultValue:_0x4945[7]}},{tableName:_0x4945[8],associate:function(_0x51cbx4){_0x51cbx3[_0x4945[9]](_0x51cbx4.FaxAccount);_0x51cbx3[_0x4945[9]](_0x51cbx4.FaxQueue);_0x51cbx3[_0x4945[9]](_0x51cbx4.User);}});return _0x51cbx3;};
\ No newline at end of file
+var _0x636e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x46\x61\x78\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x71\x75\x65\x75\x65","\x61\x67\x65\x6E\x74","\x49\x4E\x54\x45\x47\x45\x52","\x53\x54\x52\x49\x4E\x47","\x2A\x7C\x2A\x7C\x2A\x7C\x2A","\x66\x61\x78\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];_0x636e[0];module[_0x636e[1]]=function(_0xcd80x1,_0xcd80x2){var _0xcd80x3=_0xcd80x1[_0x636e[10]](_0x636e[2],{app:{type:_0xcd80x2.ENUM(_0x636e[3],_0x636e[4])},appdata:{type:_0xcd80x2[_0x636e[5]]},priority:{type:_0xcd80x2[_0x636e[5]]},timeout:{type:_0xcd80x2[_0x636e[5]]},interval:{type:_0xcd80x2[_0x636e[6]],defaultValue:_0x636e[7]}},{tableName:_0x636e[8],associate:function(_0xcd80x4){_0xcd80x3[_0x636e[9]](_0xcd80x4.FaxAccount);_0xcd80x3[_0x636e[9]](_0xcd80x4.FaxQueue);_0xcd80x3[_0x636e[9]](_0xcd80x4.User);}});return _0xcd80x3;};
\ No newline at end of file
index ccc1df56c8aab2adfe45a84f285d23092834b318..eb57a6a9437511ed2fa46a76b44d110398652cf4 100644 (file)
@@ -1 +1 @@
-var _0xcbac=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x46\x61\x78\x42\x75\x73\x69\x6E\x65\x73\x73\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x53\x54\x52\x49\x4E\x47","\x42\x4F\x4F\x4C\x45\x41\x4E","\x49\x4E\x54\x45\x47\x45\x52","\x66\x61\x78\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0xcbac[0]);module[_0xcbac[1]]=function(_0xc218x2,_0xc218x3){var _0xc218x4=_0xc218x2[_0xcbac[8]](_0xcbac[2],{name:{type:_0xc218x3[_0xcbac[3]]},description:{type:_0xc218x3[_0xcbac[3]]},status:{type:_0xc218x3[_0xcbac[4]],defaultValue:false},jobId:{type:_0xc218x3[_0xcbac[5]]}},{tableName:_0xcbac[6],associate:function(_0xc218x5){_0xc218x4[_0xcbac[7]](_0xc218x5.BusinessAction);_0xc218x4[_0xcbac[7]](_0xc218x5.BusinessCondition);}});return _0xc218x4;};
\ No newline at end of file
+var _0x634c=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x46\x61\x78\x42\x75\x73\x69\x6E\x65\x73\x73\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x53\x54\x52\x49\x4E\x47","\x42\x4F\x4F\x4C\x45\x41\x4E","\x49\x4E\x54\x45\x47\x45\x52","\x66\x61\x78\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x634c[0]);module[_0x634c[1]]=function(_0x434bx2,_0x434bx3){var _0x434bx4=_0x434bx2[_0x634c[8]](_0x634c[2],{name:{type:_0x434bx3[_0x634c[3]]},description:{type:_0x434bx3[_0x634c[3]]},status:{type:_0x434bx3[_0x634c[4]],defaultValue:false},jobId:{type:_0x434bx3[_0x634c[5]]}},{tableName:_0x634c[6],associate:function(_0x434bx5){_0x434bx4[_0x634c[7]](_0x434bx5.BusinessAction);_0x434bx4[_0x634c[7]](_0x434bx5.BusinessCondition);}});return _0x434bx4;};
\ No newline at end of file
index 18f664c83454b4c2f61efe13ad5b957cdc5b7366..63bf96f6a2ea7d7aacfd4c5f0646313537112cd6 100644 (file)
@@ -1 +1 @@
-var _0x71c2=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x46\x61\x78\x4D\x65\x73\x73\x61\x67\x65","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x52\x45\x43\x45\x49\x56\x45\x44","\x4E\x4F\x54\x20\x53\x45\x4E\x54","\x53\x45\x4E\x44\x49\x4E\x47","\x53\x45\x4E\x54","\x46\x41\x49\x4C\x45\x44","\x42\x4F\x4F\x4C\x45\x41\x4E","\x54\x45\x58\x54","\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x46\x72\x6F\x6D","\x54\x6F","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x71c2[0]);module[_0x71c2[1]]=function(_0xce04x2,_0xce04x3){var _0xce04x4=_0xce04x2[_0x71c2[16]](_0x71c2[2],{actionid:_0xce04x3[_0x71c2[3]],channel:_0xce04x3[_0x71c2[3]],channelstate:_0xce04x3[_0x71c2[4]],channelstatedesc:_0xce04x3[_0x71c2[3]],calleridnum:_0xce04x3[_0x71c2[3]],calleridname:_0xce04x3[_0x71c2[3]],connectedlinenum:_0xce04x3[_0x71c2[3]],connectedlinename:_0xce04x3[_0x71c2[3]],status:{type:_0xce04x3.ENUM(_0x71c2[5],_0x71c2[6],_0x71c2[7],_0x71c2[8],_0x71c2[9]),allowNull:true},read:{type:_0xce04x3[_0x71c2[10]],defaultValue:false},favorite:{type:_0xce04x3[_0x71c2[10]],defaultValue:false},language:_0xce04x3[_0x71c2[3]],accountcode:_0xce04x3[_0x71c2[3]],context:_0xce04x3[_0x71c2[3]],exten:_0xce04x3[_0x71c2[3]],priority:_0xce04x3[_0x71c2[4]],uniqueid:_0xce04x3[_0x71c2[3]],localstationid:_0xce04x3[_0x71c2[3]],remotestationid:_0xce04x3[_0x71c2[3]],pagestransferred:_0xce04x3[_0x71c2[4]],resolution:_0xce04x3[_0x71c2[3]],transferrate:_0xce04x3[_0x71c2[3]],filename:_0xce04x3[_0x71c2[3]],filenamePDF:_0xce04x3[_0x71c2[3]],operation:_0xce04x3[_0x71c2[3]],uuid:_0xce04x3[_0x71c2[3]],laststatus:_0xce04x3[_0x71c2[3]],error:_0xce04x3[_0x71c2[3]],body:_0xce04x3[_0x71c2[11]]},{tableName:_0x71c2[12],associate:function(_0xce04x5){_0xce04x4[_0x71c2[13]](_0xce04x5.FaxRoom);_0xce04x4[_0x71c2[13]](_0xce04x5.Contact,{as:_0x71c2[14]});_0xce04x4[_0x71c2[13]](_0xce04x5.Contact,{as:_0x71c2[15]});}});return _0xce04x4;};
\ No newline at end of file
+var _0xcf6b=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x46\x61\x78\x4D\x65\x73\x73\x61\x67\x65","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x52\x45\x43\x45\x49\x56\x45\x44","\x4E\x4F\x54\x20\x53\x45\x4E\x54","\x53\x45\x4E\x44\x49\x4E\x47","\x53\x45\x4E\x54","\x46\x41\x49\x4C\x45\x44","\x42\x4F\x4F\x4C\x45\x41\x4E","\x54\x45\x58\x54","\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x46\x72\x6F\x6D","\x54\x6F","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0xcf6b[0]);module[_0xcf6b[1]]=function(_0x4d70x2,_0x4d70x3){var _0x4d70x4=_0x4d70x2[_0xcf6b[16]](_0xcf6b[2],{actionid:_0x4d70x3[_0xcf6b[3]],channel:_0x4d70x3[_0xcf6b[3]],channelstate:_0x4d70x3[_0xcf6b[4]],channelstatedesc:_0x4d70x3[_0xcf6b[3]],calleridnum:_0x4d70x3[_0xcf6b[3]],calleridname:_0x4d70x3[_0xcf6b[3]],connectedlinenum:_0x4d70x3[_0xcf6b[3]],connectedlinename:_0x4d70x3[_0xcf6b[3]],status:{type:_0x4d70x3.ENUM(_0xcf6b[5],_0xcf6b[6],_0xcf6b[7],_0xcf6b[8],_0xcf6b[9]),allowNull:true},read:{type:_0x4d70x3[_0xcf6b[10]],defaultValue:false},favorite:{type:_0x4d70x3[_0xcf6b[10]],defaultValue:false},language:_0x4d70x3[_0xcf6b[3]],accountcode:_0x4d70x3[_0xcf6b[3]],context:_0x4d70x3[_0xcf6b[3]],exten:_0x4d70x3[_0xcf6b[3]],priority:_0x4d70x3[_0xcf6b[4]],uniqueid:_0x4d70x3[_0xcf6b[3]],localstationid:_0x4d70x3[_0xcf6b[3]],remotestationid:_0x4d70x3[_0xcf6b[3]],pagestransferred:_0x4d70x3[_0xcf6b[4]],resolution:_0x4d70x3[_0xcf6b[3]],transferrate:_0x4d70x3[_0xcf6b[3]],filename:_0x4d70x3[_0xcf6b[3]],filenamePDF:_0x4d70x3[_0xcf6b[3]],operation:_0x4d70x3[_0xcf6b[3]],uuid:_0x4d70x3[_0xcf6b[3]],laststatus:_0x4d70x3[_0xcf6b[3]],error:_0x4d70x3[_0xcf6b[3]],body:_0x4d70x3[_0xcf6b[11]]},{tableName:_0xcf6b[12],associate:function(_0x4d70x5){_0x4d70x4[_0xcf6b[13]](_0x4d70x5.FaxRoom);_0x4d70x4[_0xcf6b[13]](_0x4d70x5.Contact,{as:_0xcf6b[14]});_0x4d70x4[_0xcf6b[13]](_0x4d70x5.Contact,{as:_0xcf6b[15]});}});return _0x4d70x4;};
\ No newline at end of file
index f25a0ccd6d26b2577248057e9c15844db1c2ff57..4fae10a0848dbd9be704019ecfffb20c67e7fde3 100644 (file)
@@ -1 +1 @@
-var _0xecfd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x46\x61\x78\x51\x75\x65\x75\x65","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x72\x72\x6D\x65\x6D\x6F\x72\x79","\x62\x65\x65\x70\x61\x6C\x6C","\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x73","\x55\x73\x65\x72\x48\x61\x73\x46\x61\x78\x51\x75\x65\x75\x65","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];_0xecfd[0];module[_0xecfd[1]]=function(_0x8795x1,_0x8795x2){var _0x8795x3=_0x8795x1[_0xecfd[10]](_0xecfd[2],{name:{type:_0x8795x2[_0xecfd[3]],unique:true},description:{type:_0x8795x2[_0xecfd[3]]},timeout:{type:_0x8795x2[_0xecfd[4]]},strategy:{type:_0x8795x2.ENUM(_0xecfd[5],_0xecfd[6])}},{tableName:_0xecfd[7],associate:function(_0x8795x4){_0x8795x3[_0xecfd[9]](_0x8795x4.User,{hooks:true,through:_0x8795x4[_0xecfd[8]]})}});return _0x8795x3;};
\ No newline at end of file
+var _0xbbec=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x46\x61\x78\x51\x75\x65\x75\x65","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x72\x72\x6D\x65\x6D\x6F\x72\x79","\x62\x65\x65\x70\x61\x6C\x6C","\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x73","\x55\x73\x65\x72\x48\x61\x73\x46\x61\x78\x51\x75\x65\x75\x65","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];_0xbbec[0];module[_0xbbec[1]]=function(_0xaa00x1,_0xaa00x2){var _0xaa00x3=_0xaa00x1[_0xbbec[10]](_0xbbec[2],{name:{type:_0xaa00x2[_0xbbec[3]],unique:true},description:{type:_0xaa00x2[_0xbbec[3]]},timeout:{type:_0xaa00x2[_0xbbec[4]]},strategy:{type:_0xaa00x2.ENUM(_0xbbec[5],_0xbbec[6])}},{tableName:_0xbbec[7],associate:function(_0xaa00x4){_0xaa00x3[_0xbbec[9]](_0xaa00x4.User,{hooks:true,through:_0xaa00x4[_0xbbec[8]]})}});return _0xaa00x3;};
\ No newline at end of file
index df0fd0415642cc74b3f1d7ad920bc5069ff0433d..b2fea1689acf9848a9dbcf631e263fecbbc7f825 100644 (file)
@@ -1 +1 @@
-var _0xd6ee=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x46\x61\x78\x52\x6F\x6F\x6D","\x53\x54\x52\x49\x4E\x47","\x4E\x45\x57","\x4F\x50\x45\x4E","\x50\x45\x4E\x44\x49\x4E\x47","\x53\x4F\x4C\x56\x45\x44","\x43\x4C\x4F\x53\x45\x44","\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x73","\x68\x61\x73\x4D\x61\x6E\x79","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0xd6ee[0]);module[_0xd6ee[1]]=function(_0x52f7x2,_0x52f7x3){var _0x52f7x4=_0x52f7x2[_0xd6ee[12]](_0xd6ee[2],{roomId:_0x52f7x3[_0xd6ee[3]],from:_0x52f7x3[_0xd6ee[3]],status:_0x52f7x3.ENUM(_0xd6ee[4],_0xd6ee[5],_0xd6ee[6],_0xd6ee[7],_0xd6ee[8])},{tableName:_0xd6ee[9],associate:function(_0x52f7x5){_0x52f7x4[_0xd6ee[10]](_0x52f7x5.FaxMessage);_0x52f7x4[_0xd6ee[11]](_0x52f7x5.FaxAccount);_0x52f7x4[_0xd6ee[11]](_0x52f7x5.User);}});return _0x52f7x4;};
\ No newline at end of file
+var _0xc954=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x46\x61\x78\x52\x6F\x6F\x6D","\x53\x54\x52\x49\x4E\x47","\x4E\x45\x57","\x4F\x50\x45\x4E","\x50\x45\x4E\x44\x49\x4E\x47","\x53\x4F\x4C\x56\x45\x44","\x43\x4C\x4F\x53\x45\x44","\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x73","\x68\x61\x73\x4D\x61\x6E\x79","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0xc954[0]);module[_0xc954[1]]=function(_0x1b6cx2,_0x1b6cx3){var _0x1b6cx4=_0x1b6cx2[_0xc954[12]](_0xc954[2],{roomId:_0x1b6cx3[_0xc954[3]],from:_0x1b6cx3[_0xc954[3]],status:_0x1b6cx3.ENUM(_0xc954[4],_0xc954[5],_0xc954[6],_0xc954[7],_0xc954[8])},{tableName:_0xc954[9],associate:function(_0x1b6cx5){_0x1b6cx4[_0xc954[10]](_0x1b6cx5.FaxMessage);_0x1b6cx4[_0xc954[11]](_0x1b6cx5.FaxAccount);_0x1b6cx4[_0xc954[11]](_0x1b6cx5.User);}});return _0x1b6cx4;};
\ No newline at end of file
index abd6a424ccc8eb429269e0af1e355a5b0f27fe60..a7a4749a0e72adadc8548703068523a6fa8d9151 100644 (file)
@@ -1 +1 @@
-var _0x57a4=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x53\x54\x52\x49\x4E\x47","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];_0x57a4[0];module[_0x57a4[1]]=function(_0xae7ax1,_0xae7ax2){return _0xae7ax1[_0x57a4[7]](_0x57a4[2],{name:_0xae7ax2[_0x57a4[3]],description:_0xae7ax2[_0x57a4[3]],username:{type:_0xae7ax2[_0x57a4[3]],unique:true},remoteUri:{type:_0xae7ax2[_0x57a4[3]],unique:true},apiKey:_0xae7ax2[_0x57a4[3]]},{tableName:_0x57a4[4],associate:function(_0xae7ax3){_0xae7ax3[_0x57a4[2]][_0x57a4[6]](_0xae7ax3.FreshdeskConfiguration,{foreignKey:_0x57a4[5]})}})};
\ No newline at end of file
+var _0x6a2d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x53\x54\x52\x49\x4E\x47","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];_0x6a2d[0];module[_0x6a2d[1]]=function(_0x8c1dx1,_0x8c1dx2){return _0x8c1dx1[_0x6a2d[7]](_0x6a2d[2],{name:_0x8c1dx2[_0x6a2d[3]],description:_0x8c1dx2[_0x6a2d[3]],username:{type:_0x8c1dx2[_0x6a2d[3]],unique:true},remoteUri:{type:_0x8c1dx2[_0x6a2d[3]],unique:true},apiKey:_0x8c1dx2[_0x6a2d[3]]},{tableName:_0x6a2d[4],associate:function(_0x8c1dx3){_0x8c1dx3[_0x6a2d[2]][_0x6a2d[6]](_0x8c1dx3.FreshdeskConfiguration,{foreignKey:_0x6a2d[5]})}})};
\ No newline at end of file
index 3e498cae39e10da186cc4c23901f473e45bfd02e..fb89294437a0b1db47672909404afa49a5c7a2b9 100644 (file)
@@ -1 +1 @@
-var _0xc442=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x53\x54\x52\x49\x4E\x47","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x53\x75\x62\x6A\x65\x63\x74","\x53\x75\x62\x6A\x65\x63\x74\x49\x64","\x68\x61\x73\x4D\x61\x6E\x79","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x49\x64","\x46\x69\x65\x6C\x64","\x46\x69\x65\x6C\x64\x49\x64","\x64\x65\x66\x69\x6E\x65"];_0xc442[0];module[_0xc442[1]]=function(_0x5bf0x1,_0x5bf0x2){return _0x5bf0x1[_0xc442[14]](_0xc442[2],{name:_0x5bf0x2[_0xc442[3]],description:_0x5bf0x2[_0xc442[3]]},{tableName:_0xc442[4],associate:function(_0x5bf0x3){_0x5bf0x3[_0xc442[2]][_0xc442[6]](_0x5bf0x3.FreshdeskAccount,{foreignKey:_0xc442[5]});_0x5bf0x3[_0xc442[2]][_0xc442[9]](_0x5bf0x3.FreshdeskField,{as:_0xc442[7],foreignKey:_0xc442[8]});_0x5bf0x3[_0xc442[2]][_0xc442[9]](_0x5bf0x3.FreshdeskField,{as:_0xc442[10],foreignKey:_0xc442[11]});_0x5bf0x3[_0xc442[2]][_0xc442[9]](_0x5bf0x3.FreshdeskField,{as:_0xc442[12],foreignKey:_0xc442[13]});}})};
\ No newline at end of file
+var _0x19b8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x53\x54\x52\x49\x4E\x47","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x53\x75\x62\x6A\x65\x63\x74","\x53\x75\x62\x6A\x65\x63\x74\x49\x64","\x68\x61\x73\x4D\x61\x6E\x79","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x49\x64","\x46\x69\x65\x6C\x64","\x46\x69\x65\x6C\x64\x49\x64","\x64\x65\x66\x69\x6E\x65"];_0x19b8[0];module[_0x19b8[1]]=function(_0xfd3cx1,_0xfd3cx2){return _0xfd3cx1[_0x19b8[14]](_0x19b8[2],{name:_0xfd3cx2[_0x19b8[3]],description:_0xfd3cx2[_0x19b8[3]]},{tableName:_0x19b8[4],associate:function(_0xfd3cx3){_0xfd3cx3[_0x19b8[2]][_0x19b8[6]](_0xfd3cx3.FreshdeskAccount,{foreignKey:_0x19b8[5]});_0xfd3cx3[_0x19b8[2]][_0x19b8[9]](_0xfd3cx3.FreshdeskField,{as:_0x19b8[7],foreignKey:_0x19b8[8]});_0xfd3cx3[_0x19b8[2]][_0x19b8[9]](_0xfd3cx3.FreshdeskField,{as:_0x19b8[10],foreignKey:_0x19b8[11]});_0xfd3cx3[_0x19b8[2]][_0x19b8[9]](_0xfd3cx3.FreshdeskField,{as:_0x19b8[12],foreignKey:_0x19b8[13]});}})};
\ No newline at end of file
index 9e110c8da6c190e28df010b821d6a2dcb9fdae4c..03e7750c259434589c53ddb8d4fb5bea5747d4f4 100644 (file)
@@ -1 +1 @@
-var _0xa1ed=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64","\x73\x74\x72\x69\x6E\x67","\x76\x61\x72\x69\x61\x62\x6C\x65","\x6B\x65\x79\x5F\x76\x61\x6C\x75\x65","\x53\x54\x52\x49\x4E\x47","\x42\x4F\x4F\x4C\x45\x41\x4E","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];_0xa1ed[0];module[_0xa1ed[1]]=function(_0x7247x1,_0x7247x2){return _0x7247x1[_0xa1ed[10]](_0xa1ed[2],{type:{type:_0x7247x2.ENUM(_0xa1ed[3],_0xa1ed[4],_0xa1ed[5]),defaultValue:_0xa1ed[3]},content:_0x7247x2[_0xa1ed[6]],key:_0x7247x2[_0xa1ed[6]],keyType:{type:_0x7247x2.ENUM(_0xa1ed[3],_0xa1ed[4])},keyContent:_0x7247x2[_0xa1ed[6]],idField:_0x7247x2[_0xa1ed[6]],customField:{type:_0x7247x2[_0xa1ed[7]],defaultValue:true}},{tableName:_0xa1ed[8],associate:function(_0x7247x3){_0x7247x3[_0xa1ed[2]][_0xa1ed[9]](_0x7247x3.Variable)}})};
\ No newline at end of file
+var _0xfd23=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64","\x73\x74\x72\x69\x6E\x67","\x76\x61\x72\x69\x61\x62\x6C\x65","\x6B\x65\x79\x5F\x76\x61\x6C\x75\x65","\x53\x54\x52\x49\x4E\x47","\x42\x4F\x4F\x4C\x45\x41\x4E","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];_0xfd23[0];module[_0xfd23[1]]=function(_0xb890x1,_0xb890x2){return _0xb890x1[_0xfd23[10]](_0xfd23[2],{type:{type:_0xb890x2.ENUM(_0xfd23[3],_0xfd23[4],_0xfd23[5]),defaultValue:_0xfd23[3]},content:_0xb890x2[_0xfd23[6]],key:_0xb890x2[_0xfd23[6]],keyType:{type:_0xb890x2.ENUM(_0xfd23[3],_0xfd23[4])},keyContent:_0xb890x2[_0xfd23[6]],idField:_0xb890x2[_0xfd23[6]],customField:{type:_0xb890x2[_0xfd23[7]],defaultValue:true}},{tableName:_0xfd23[8],associate:function(_0xb890x3){_0xb890x3[_0xfd23[2]][_0xfd23[9]](_0xb890x3.Variable)}})};
\ No newline at end of file
index 83ef289a9133048961d500db02ec10f35fed9983..1474b73a54a147214b5c9168be24112b8b1d2ac1 100644 (file)
@@ -1 +1 @@
-var _0xe890=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74\x48\x69\x73\x74\x6F\x72\x79","\x53\x54\x52\x49\x4E\x47","\x44\x41\x54\x45","\x49\x4E\x54\x45\x47\x45\x52","\x42\x4F\x4F\x4C\x45\x41\x4E","\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x5F\x68\x69\x73\x74\x6F\x72\x79","\x64\x65\x66\x69\x6E\x65","\x69\x64","\x72\x65\x6D\x6F\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65"];module[_0xe890[0]]=function(_0xa3f3x1,_0xa3f3x2){var _0xa3f3x3=_0xa3f3x1[_0xe890[7]](_0xe890[1],{uniqueid:_0xa3f3x2[_0xe890[2]],calleridnum:_0xa3f3x2[_0xe890[2]],calleridname:_0xa3f3x2[_0xe890[2]],queue:_0xa3f3x2[_0xe890[2]],interface:_0xa3f3x2[_0xe890[2]],membername:_0xa3f3x2[_0xe890[2]],agentcalledAt:_0xa3f3x2[_0xe890[3]],agentconnectAt:_0xa3f3x2[_0xe890[3]],holdtime:_0xa3f3x2[_0xe890[4]],agentcomplete:{type:_0xa3f3x2[_0xe890[5]],defaultValue:false},agentcompleteAt:_0xa3f3x2[_0xe890[3]],talktime:_0xa3f3x2[_0xe890[4]],agentacw:{type:_0xa3f3x2[_0xe890[5]],defaultValue:false},acwtime:_0xa3f3x2[_0xe890[4]],reason:_0xa3f3x2[_0xe890[2]],agentringnoanswer:{type:_0xa3f3x2[_0xe890[5]],defaultValue:false},agentringnoanswerAt:_0xa3f3x2[_0xe890[3]],agentdump:{type:_0xa3f3x2[_0xe890[5]],defaultValue:false},agentdumpAt:_0xa3f3x2[_0xe890[3]],channel:_0xa3f3x2[_0xe890[2]],channelstate:_0xa3f3x2[_0xe890[4]],channelstatedesc:_0xa3f3x2[_0xe890[2]],connectedlinenum:_0xa3f3x2[_0xe890[2]],connectedlinename:_0xa3f3x2[_0xe890[2]],language:_0xa3f3x2[_0xe890[2]],accountcode:_0xa3f3x2[_0xe890[2]],context:_0xa3f3x2[_0xe890[2]],exten:_0xa3f3x2[_0xe890[2]],priority:_0xa3f3x2[_0xe890[2]],destchannel:_0xa3f3x2[_0xe890[2]],destchannelstate:_0xa3f3x2[_0xe890[4]],destchannelstatedesc:_0xa3f3x2[_0xe890[2]],destcalleridnum:_0xa3f3x2[_0xe890[2]],destcalleridname:_0xa3f3x2[_0xe890[2]],destconnectedlinenum:_0xa3f3x2[_0xe890[2]],destconnectedlinename:_0xa3f3x2[_0xe890[2]],destlanguage:_0xa3f3x2[_0xe890[2]],destaccountcode:_0xa3f3x2[_0xe890[2]],destcontext:_0xa3f3x2[_0xe890[2]],destexten:_0xa3f3x2[_0xe890[2]],destpriority:_0xa3f3x2[_0xe890[2]],destuniqueid:_0xa3f3x2[_0xe890[2]]},{tableName:_0xe890[6]});_0xa3f3x3[_0xe890[9]](_0xe890[8]);return _0xa3f3x3;};
\ No newline at end of file
+var _0xb0f8=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74\x48\x69\x73\x74\x6F\x72\x79","\x53\x54\x52\x49\x4E\x47","\x44\x41\x54\x45","\x49\x4E\x54\x45\x47\x45\x52","\x42\x4F\x4F\x4C\x45\x41\x4E","\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x5F\x68\x69\x73\x74\x6F\x72\x79","\x64\x65\x66\x69\x6E\x65","\x69\x64","\x72\x65\x6D\x6F\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65"];module[_0xb0f8[0]]=function(_0xee78x1,_0xee78x2){var _0xee78x3=_0xee78x1[_0xb0f8[7]](_0xb0f8[1],{uniqueid:_0xee78x2[_0xb0f8[2]],calleridnum:_0xee78x2[_0xb0f8[2]],calleridname:_0xee78x2[_0xb0f8[2]],queue:_0xee78x2[_0xb0f8[2]],interface:_0xee78x2[_0xb0f8[2]],membername:_0xee78x2[_0xb0f8[2]],agentcalledAt:_0xee78x2[_0xb0f8[3]],agentconnectAt:_0xee78x2[_0xb0f8[3]],holdtime:_0xee78x2[_0xb0f8[4]],agentcomplete:{type:_0xee78x2[_0xb0f8[5]],defaultValue:false},agentcompleteAt:_0xee78x2[_0xb0f8[3]],talktime:_0xee78x2[_0xb0f8[4]],agentacw:{type:_0xee78x2[_0xb0f8[5]],defaultValue:false},acwtime:_0xee78x2[_0xb0f8[4]],reason:_0xee78x2[_0xb0f8[2]],agentringnoanswer:{type:_0xee78x2[_0xb0f8[5]],defaultValue:false},agentringnoanswerAt:_0xee78x2[_0xb0f8[3]],agentdump:{type:_0xee78x2[_0xb0f8[5]],defaultValue:false},agentdumpAt:_0xee78x2[_0xb0f8[3]],channel:_0xee78x2[_0xb0f8[2]],channelstate:_0xee78x2[_0xb0f8[4]],channelstatedesc:_0xee78x2[_0xb0f8[2]],connectedlinenum:_0xee78x2[_0xb0f8[2]],connectedlinename:_0xee78x2[_0xb0f8[2]],language:_0xee78x2[_0xb0f8[2]],accountcode:_0xee78x2[_0xb0f8[2]],context:_0xee78x2[_0xb0f8[2]],exten:_0xee78x2[_0xb0f8[2]],priority:_0xee78x2[_0xb0f8[2]],destchannel:_0xee78x2[_0xb0f8[2]],destchannelstate:_0xee78x2[_0xb0f8[4]],destchannelstatedesc:_0xee78x2[_0xb0f8[2]],destcalleridnum:_0xee78x2[_0xb0f8[2]],destcalleridname:_0xee78x2[_0xb0f8[2]],destconnectedlinenum:_0xee78x2[_0xb0f8[2]],destconnectedlinename:_0xee78x2[_0xb0f8[2]],destlanguage:_0xee78x2[_0xb0f8[2]],destaccountcode:_0xee78x2[_0xb0f8[2]],destcontext:_0xee78x2[_0xb0f8[2]],destexten:_0xee78x2[_0xb0f8[2]],destpriority:_0xee78x2[_0xb0f8[2]],destuniqueid:_0xee78x2[_0xb0f8[2]]},{tableName:_0xb0f8[6]});_0xee78x3[_0xb0f8[9]](_0xb0f8[8]);return _0xee78x3;};
\ No newline at end of file
index d6d01dc19a7063cf7f408acd7e66e9d0a865362a..6b41c5d7a37f9925f8ba95fa83052952ad314af9 100644 (file)
@@ -1 +1 @@
-var _0x65f5=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x43\x61\x6C\x6C\x48\x69\x73\x74\x6F\x72\x79","\x53\x54\x52\x49\x4E\x47","\x44\x41\x54\x45","","\x61\x6E\x73\x77\x65\x72\x74\x69\x6D\x65","\x73\x65\x74\x44\x61\x74\x61\x56\x61\x6C\x75\x65","\x49\x4E\x54\x45\x47\x45\x52","\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x5F\x68\x69\x73\x74\x6F\x72\x79","\x48\x69\x73\x74\x6F\x72\x79\x51\x75\x65\x75\x65\x43\x61\x6C\x6C\x73","\x75\x6E\x69\x71\x75\x65\x69\x64","\x68\x61\x73\x4D\x61\x6E\x79","\x48\x69\x73\x74\x6F\x72\x79\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74\x73","\x64\x65\x66\x69\x6E\x65","\x69\x64","\x72\x65\x6D\x6F\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65"];module[_0x65f5[0]]=function(_0x9571x1,_0x9571x2){var _0x9571x3=_0x9571x1[_0x65f5[13]](_0x65f5[1],{accountcode:_0x9571x2[_0x65f5[2]],source:_0x9571x2[_0x65f5[2]],destination:_0x9571x2[_0x65f5[2]],destinationcontext:_0x9571x2[_0x65f5[2]],callerid:_0x9571x2[_0x65f5[2]],channel:_0x9571x2[_0x65f5[2]],destinationchannel:_0x9571x2[_0x65f5[2]],lastapplication:_0x9571x2[_0x65f5[2]],lastdata:_0x9571x2[_0x65f5[2]],starttime:_0x9571x2[_0x65f5[3]],answertime:{type:_0x9571x2[_0x65f5[3]],set:function(_0x9571x4){if(_0x9571x4!==_0x65f5[4]){this[_0x65f5[6]](_0x65f5[5],_0x9571x4)}else {this[_0x65f5[6]](_0x65f5[5],null)}}},endtime:_0x9571x2[_0x65f5[3]],duration:_0x9571x2[_0x65f5[7]],billableseconds:_0x9571x2[_0x65f5[7]],disposition:_0x9571x2[_0x65f5[2]],amaflags:_0x9571x2[_0x65f5[2]],uniqueid:{type:_0x9571x2[_0x65f5[2]],primaryKey:true},userfield:_0x9571x2[_0x65f5[2]]},{tableName:_0x65f5[8],associate:function(_0x9571x5){_0x9571x3[_0x65f5[11]](_0x9571x5.ReportQueueHistory,{as:_0x65f5[9],foreignKey:_0x65f5[10],constraints:false});_0x9571x3[_0x65f5[11]](_0x9571x5.ReportAgentHistory,{as:_0x65f5[12],foreignKey:_0x65f5[10],constraints:false});}});_0x9571x3[_0x65f5[15]](_0x65f5[14]);return _0x9571x3;};
\ No newline at end of file
+var _0x8664=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x43\x61\x6C\x6C\x48\x69\x73\x74\x6F\x72\x79","\x53\x54\x52\x49\x4E\x47","\x44\x41\x54\x45","","\x61\x6E\x73\x77\x65\x72\x74\x69\x6D\x65","\x73\x65\x74\x44\x61\x74\x61\x56\x61\x6C\x75\x65","\x49\x4E\x54\x45\x47\x45\x52","\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x5F\x68\x69\x73\x74\x6F\x72\x79","\x48\x69\x73\x74\x6F\x72\x79\x51\x75\x65\x75\x65\x43\x61\x6C\x6C\x73","\x75\x6E\x69\x71\x75\x65\x69\x64","\x68\x61\x73\x4D\x61\x6E\x79","\x48\x69\x73\x74\x6F\x72\x79\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74\x73","\x64\x65\x66\x69\x6E\x65","\x69\x64","\x72\x65\x6D\x6F\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65"];module[_0x8664[0]]=function(_0x1a1bx1,_0x1a1bx2){var _0x1a1bx3=_0x1a1bx1[_0x8664[13]](_0x8664[1],{accountcode:_0x1a1bx2[_0x8664[2]],source:_0x1a1bx2[_0x8664[2]],destination:_0x1a1bx2[_0x8664[2]],destinationcontext:_0x1a1bx2[_0x8664[2]],callerid:_0x1a1bx2[_0x8664[2]],channel:_0x1a1bx2[_0x8664[2]],destinationchannel:_0x1a1bx2[_0x8664[2]],lastapplication:_0x1a1bx2[_0x8664[2]],lastdata:_0x1a1bx2[_0x8664[2]],starttime:_0x1a1bx2[_0x8664[3]],answertime:{type:_0x1a1bx2[_0x8664[3]],set:function(_0x1a1bx4){if(_0x1a1bx4!==_0x8664[4]){this[_0x8664[6]](_0x8664[5],_0x1a1bx4)}else {this[_0x8664[6]](_0x8664[5],null)}}},endtime:_0x1a1bx2[_0x8664[3]],duration:_0x1a1bx2[_0x8664[7]],billableseconds:_0x1a1bx2[_0x8664[7]],disposition:_0x1a1bx2[_0x8664[2]],amaflags:_0x1a1bx2[_0x8664[2]],uniqueid:{type:_0x1a1bx2[_0x8664[2]],primaryKey:true},userfield:_0x1a1bx2[_0x8664[2]]},{tableName:_0x8664[8],associate:function(_0x1a1bx5){_0x1a1bx3[_0x8664[11]](_0x1a1bx5.ReportQueueHistory,{as:_0x8664[9],foreignKey:_0x8664[10],constraints:false});_0x1a1bx3[_0x8664[11]](_0x1a1bx5.ReportAgentHistory,{as:_0x8664[12],foreignKey:_0x8664[10],constraints:false});}});_0x1a1bx3[_0x8664[15]](_0x8664[14]);return _0x1a1bx3;};
\ No newline at end of file
index d5186195ad835d1deda9be97d1405263fb5868f9..123c0a319dbab42af351c063c9529eb0d390964f 100644 (file)
@@ -1 +1 @@
-var _0x383e=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x44\x69\x61\x6C\x48\x69\x73\x74\x6F\x72\x79","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x72\x65\x70\x6F\x72\x74\x5F\x64\x69\x61\x6C\x5F\x68\x69\x73\x74\x6F\x72\x79","\x64\x65\x66\x69\x6E\x65","\x69\x64","\x72\x65\x6D\x6F\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65"];module[_0x383e[0]]=function(_0xf7f7x1,_0xf7f7x2){var _0xf7f7x3=_0xf7f7x1[_0x383e[5]](_0x383e[1],{channel:_0xf7f7x2[_0x383e[2]],channelstate:_0xf7f7x2[_0x383e[3]],channelstatedesc:_0xf7f7x2[_0x383e[2]],calleridnum:_0xf7f7x2[_0x383e[2]],calleridname:_0xf7f7x2[_0x383e[2]],connectedlinenum:_0xf7f7x2[_0x383e[2]],connectedlinename:_0xf7f7x2[_0x383e[2]],language:_0xf7f7x2[_0x383e[2]],accountcode:_0xf7f7x2[_0x383e[2]],context:_0xf7f7x2[_0x383e[2]],exten:_0xf7f7x2[_0x383e[2]],priority:_0xf7f7x2[_0x383e[3]],uniqueid:_0xf7f7x2[_0x383e[2]],destchannel:_0xf7f7x2[_0x383e[2]],destchannelstate:_0xf7f7x2[_0x383e[3]],destchannelstatedesc:_0xf7f7x2[_0x383e[2]],destcalleridnum:_0xf7f7x2[_0x383e[2]],destcalleridname:_0xf7f7x2[_0x383e[2]],destconnectedlinenum:_0xf7f7x2[_0x383e[2]],destconnectedlinename:_0xf7f7x2[_0x383e[2]],destlanguage:_0xf7f7x2[_0x383e[2]],destaccountcode:_0xf7f7x2[_0x383e[2]],destcontext:_0xf7f7x2[_0x383e[2]],destexten:_0xf7f7x2[_0x383e[2]],destpriority:_0xf7f7x2[_0x383e[3]],destuniqueid:_0xf7f7x2[_0x383e[2]],dialstring:_0xf7f7x2[_0x383e[2]],dialstatus:_0xf7f7x2[_0x383e[2]]},{tableName:_0x383e[4]});_0xf7f7x3[_0x383e[7]](_0x383e[6]);return _0xf7f7x3;};
\ No newline at end of file
+var _0x83aa=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x44\x69\x61\x6C\x48\x69\x73\x74\x6F\x72\x79","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x72\x65\x70\x6F\x72\x74\x5F\x64\x69\x61\x6C\x5F\x68\x69\x73\x74\x6F\x72\x79","\x64\x65\x66\x69\x6E\x65","\x69\x64","\x72\x65\x6D\x6F\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65"];module[_0x83aa[0]]=function(_0x32c2x1,_0x32c2x2){var _0x32c2x3=_0x32c2x1[_0x83aa[5]](_0x83aa[1],{channel:_0x32c2x2[_0x83aa[2]],channelstate:_0x32c2x2[_0x83aa[3]],channelstatedesc:_0x32c2x2[_0x83aa[2]],calleridnum:_0x32c2x2[_0x83aa[2]],calleridname:_0x32c2x2[_0x83aa[2]],connectedlinenum:_0x32c2x2[_0x83aa[2]],connectedlinename:_0x32c2x2[_0x83aa[2]],language:_0x32c2x2[_0x83aa[2]],accountcode:_0x32c2x2[_0x83aa[2]],context:_0x32c2x2[_0x83aa[2]],exten:_0x32c2x2[_0x83aa[2]],priority:_0x32c2x2[_0x83aa[3]],uniqueid:_0x32c2x2[_0x83aa[2]],destchannel:_0x32c2x2[_0x83aa[2]],destchannelstate:_0x32c2x2[_0x83aa[3]],destchannelstatedesc:_0x32c2x2[_0x83aa[2]],destcalleridnum:_0x32c2x2[_0x83aa[2]],destcalleridname:_0x32c2x2[_0x83aa[2]],destconnectedlinenum:_0x32c2x2[_0x83aa[2]],destconnectedlinename:_0x32c2x2[_0x83aa[2]],destlanguage:_0x32c2x2[_0x83aa[2]],destaccountcode:_0x32c2x2[_0x83aa[2]],destcontext:_0x32c2x2[_0x83aa[2]],destexten:_0x32c2x2[_0x83aa[2]],destpriority:_0x32c2x2[_0x83aa[3]],destuniqueid:_0x32c2x2[_0x83aa[2]],dialstring:_0x32c2x2[_0x83aa[2]],dialstatus:_0x32c2x2[_0x83aa[2]]},{tableName:_0x83aa[4]});_0x32c2x3[_0x83aa[7]](_0x83aa[6]);return _0x32c2x3;};
\ No newline at end of file
index ffdc9fc69a05e9377964115d772821f1a9aa6e63..b0b11c6d9d3685b4a3b63c7acb50eddd2f9ed17c 100644 (file)
@@ -1 +1 @@
-var _0xd42d=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x48\x69\x73\x74\x6F\x72\x79","\x53\x54\x52\x49\x4E\x47","\x44\x41\x54\x45","\x49\x4E\x54\x45\x47\x45\x52","\x42\x4F\x4F\x4C\x45\x41\x4E","\x54\x45\x58\x54","\x53\x45\x4E\x54","\x53\x45\x4E\x44\x49\x4E\x47","\x52\x45\x43\x45\x49\x56\x45\x44","\x46\x41\x49\x4C\x45\x44","\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x5F\x68\x69\x73\x74\x6F\x72\x79","\x64\x65\x66\x69\x6E\x65","\x69\x64","\x72\x65\x6D\x6F\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65"];module[_0xd42d[0]]=function(_0xa915x1,_0xa915x2){var _0xa915x3=_0xa915x1[_0xd42d[12]](_0xd42d[1],{integration:_0xa915x2[_0xd42d[2]],event:_0xa915x2[_0xd42d[2]],contacts:_0xa915x2[_0xd42d[2]],uniqueid:_0xa915x2[_0xd42d[2]],calleridnum:_0xa915x2[_0xd42d[2]],calleridname:_0xa915x2[_0xd42d[2]],queue:_0xa915x2[_0xd42d[2]],interface:_0xa915x2[_0xd42d[2]],membername:_0xa915x2[_0xd42d[2]],agentcalledAt:_0xa915x2[_0xd42d[3]],agentconnectAt:_0xa915x2[_0xd42d[3]],holdtime:_0xa915x2[_0xd42d[4]],agentcomplete:{type:_0xa915x2[_0xd42d[5]],defaultValue:false},agentcompleteAt:_0xa915x2[_0xd42d[3]],talktime:_0xa915x2[_0xd42d[4]],agentacw:{type:_0xa915x2[_0xd42d[5]],defaultValue:false},acwtime:_0xa915x2[_0xd42d[4]],reason:_0xa915x2[_0xd42d[2]],agentringnoanswer:{type:_0xa915x2[_0xd42d[5]],defaultValue:false},agentringnoanswerAt:_0xa915x2[_0xd42d[3]],agentdump:{type:_0xa915x2[_0xd42d[5]],defaultValue:false},agentdumpAt:_0xa915x2[_0xd42d[3]],lastevent:_0xa915x2[_0xd42d[2]],channel:_0xa915x2[_0xd42d[2]],channelstate:_0xa915x2[_0xd42d[4]],channelstatedesc:_0xa915x2[_0xd42d[2]],connectedlinenum:_0xa915x2[_0xd42d[2]],connectedlinename:_0xa915x2[_0xd42d[2]],language:_0xa915x2[_0xd42d[2]],accountcode:_0xa915x2[_0xd42d[2]],context:_0xa915x2[_0xd42d[2]],exten:_0xa915x2[_0xd42d[2]],priority:_0xa915x2[_0xd42d[2]],destchannel:_0xa915x2[_0xd42d[2]],destchannelstate:_0xa915x2[_0xd42d[4]],destchannelstatedesc:_0xa915x2[_0xd42d[2]],destcalleridnum:_0xa915x2[_0xd42d[2]],destcalleridname:_0xa915x2[_0xd42d[2]],destconnectedlinenum:_0xa915x2[_0xd42d[2]],destconnectedlinename:_0xa915x2[_0xd42d[2]],destlanguage:_0xa915x2[_0xd42d[2]],destaccountcode:_0xa915x2[_0xd42d[2]],destcontext:_0xa915x2[_0xd42d[2]],destexten:_0xa915x2[_0xd42d[2]],destpriority:_0xa915x2[_0xd42d[2]],destuniqueid:_0xa915x2[_0xd42d[2]],messageId:_0xa915x2[_0xd42d[2]],inReplyTo:_0xa915x2[_0xd42d[2]],subject:_0xa915x2[_0xd42d[2]],from:_0xa915x2[_0xd42d[2]],to:_0xa915x2[_0xd42d[2]],cc:_0xa915x2[_0xd42d[2]],attachment:_0xa915x2[_0xd42d[6]],html:_0xa915x2[_0xd42d[6]],text:_0xa915x2[_0xd42d[6]],status:{type:_0xa915x2.ENUM(_0xd42d[7],_0xd42d[8],_0xd42d[9],_0xd42d[10])}},{tableName:_0xd42d[11]});_0xa915x3[_0xd42d[14]](_0xd42d[13]);return _0xa915x3;};
\ No newline at end of file
+var _0xe717=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x48\x69\x73\x74\x6F\x72\x79","\x53\x54\x52\x49\x4E\x47","\x44\x41\x54\x45","\x49\x4E\x54\x45\x47\x45\x52","\x42\x4F\x4F\x4C\x45\x41\x4E","\x54\x45\x58\x54","\x53\x45\x4E\x54","\x53\x45\x4E\x44\x49\x4E\x47","\x52\x45\x43\x45\x49\x56\x45\x44","\x46\x41\x49\x4C\x45\x44","\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x5F\x68\x69\x73\x74\x6F\x72\x79","\x64\x65\x66\x69\x6E\x65","\x69\x64","\x72\x65\x6D\x6F\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65"];module[_0xe717[0]]=function(_0xff56x1,_0xff56x2){var _0xff56x3=_0xff56x1[_0xe717[12]](_0xe717[1],{integration:_0xff56x2[_0xe717[2]],event:_0xff56x2[_0xe717[2]],contacts:_0xff56x2[_0xe717[2]],uniqueid:_0xff56x2[_0xe717[2]],calleridnum:_0xff56x2[_0xe717[2]],calleridname:_0xff56x2[_0xe717[2]],queue:_0xff56x2[_0xe717[2]],interface:_0xff56x2[_0xe717[2]],membername:_0xff56x2[_0xe717[2]],agentcalledAt:_0xff56x2[_0xe717[3]],agentconnectAt:_0xff56x2[_0xe717[3]],holdtime:_0xff56x2[_0xe717[4]],agentcomplete:{type:_0xff56x2[_0xe717[5]],defaultValue:false},agentcompleteAt:_0xff56x2[_0xe717[3]],talktime:_0xff56x2[_0xe717[4]],agentacw:{type:_0xff56x2[_0xe717[5]],defaultValue:false},acwtime:_0xff56x2[_0xe717[4]],reason:_0xff56x2[_0xe717[2]],agentringnoanswer:{type:_0xff56x2[_0xe717[5]],defaultValue:false},agentringnoanswerAt:_0xff56x2[_0xe717[3]],agentdump:{type:_0xff56x2[_0xe717[5]],defaultValue:false},agentdumpAt:_0xff56x2[_0xe717[3]],lastevent:_0xff56x2[_0xe717[2]],channel:_0xff56x2[_0xe717[2]],channelstate:_0xff56x2[_0xe717[4]],channelstatedesc:_0xff56x2[_0xe717[2]],connectedlinenum:_0xff56x2[_0xe717[2]],connectedlinename:_0xff56x2[_0xe717[2]],language:_0xff56x2[_0xe717[2]],accountcode:_0xff56x2[_0xe717[2]],context:_0xff56x2[_0xe717[2]],exten:_0xff56x2[_0xe717[2]],priority:_0xff56x2[_0xe717[2]],destchannel:_0xff56x2[_0xe717[2]],destchannelstate:_0xff56x2[_0xe717[4]],destchannelstatedesc:_0xff56x2[_0xe717[2]],destcalleridnum:_0xff56x2[_0xe717[2]],destcalleridname:_0xff56x2[_0xe717[2]],destconnectedlinenum:_0xff56x2[_0xe717[2]],destconnectedlinename:_0xff56x2[_0xe717[2]],destlanguage:_0xff56x2[_0xe717[2]],destaccountcode:_0xff56x2[_0xe717[2]],destcontext:_0xff56x2[_0xe717[2]],destexten:_0xff56x2[_0xe717[2]],destpriority:_0xff56x2[_0xe717[2]],destuniqueid:_0xff56x2[_0xe717[2]],messageId:_0xff56x2[_0xe717[2]],inReplyTo:_0xff56x2[_0xe717[2]],subject:_0xff56x2[_0xe717[2]],from:_0xff56x2[_0xe717[2]],to:_0xff56x2[_0xe717[2]],cc:_0xff56x2[_0xe717[2]],attachment:_0xff56x2[_0xe717[6]],html:_0xff56x2[_0xe717[6]],text:_0xff56x2[_0xe717[6]],status:{type:_0xff56x2.ENUM(_0xe717[7],_0xe717[8],_0xe717[9],_0xe717[10])}},{tableName:_0xe717[11]});_0xff56x3[_0xe717[14]](_0xe717[13]);return _0xff56x3;};
\ No newline at end of file
index ff9fecc718d468615c90cb3168f4484b2fb3b30e..51237e811d32b41976845f30c760c45e1f6b86a9 100644 (file)
@@ -1 +1 @@
-var _0x6d5d=["\x6D\x6F\x6D\x65\x6E\x74","\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x53\x65\x73\x73\x69\x6F\x6E\x48\x69\x73\x74\x6F\x72\x79","\x49\x4E\x54\x45\x47\x45\x52","\x53\x54\x52\x49\x4E\x47","\x42\x4F\x4F\x4C\x45\x41\x4E","\x44\x41\x54\x45","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x5F\x68\x69\x73\x74\x6F\x72\x79","\x64\x65\x66\x69\x6E\x65","\x69\x64","\x72\x65\x6D\x6F\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65"];var moment=require(_0x6d5d[0]);module[_0x6d5d[1]]=function(_0x3a93x2,_0x3a93x3){var _0x3a93x4=_0x3a93x2[_0x6d5d[8]](_0x6d5d[2],{uniqueid:{type:_0x3a93x3[_0x6d5d[3]]},subject:_0x3a93x3[_0x6d5d[4]],from:_0x3a93x3[_0x6d5d[4]],cc:_0x3a93x3[_0x6d5d[4]],attachment:_0x3a93x3[_0x6d5d[5]],accountname:_0x3a93x3[_0x6d5d[4]],accountaddress:_0x3a93x3[_0x6d5d[4]],fullname:_0x3a93x3[_0x6d5d[4]],membername:_0x3a93x3[_0x6d5d[4]],mailqueuename:_0x3a93x3[_0x6d5d[4]],mailjoinAt:_0x3a93x3[_0x6d5d[6]],mailleaveAt:_0x3a93x3[_0x6d5d[6]],mailunmanagedAt:_0x3a93x3[_0x6d5d[6]]},{tableName:_0x6d5d[7]});_0x3a93x4[_0x6d5d[10]](_0x6d5d[9]);return _0x3a93x4;};
\ No newline at end of file
+var _0xa751=["\x6D\x6F\x6D\x65\x6E\x74","\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x53\x65\x73\x73\x69\x6F\x6E\x48\x69\x73\x74\x6F\x72\x79","\x49\x4E\x54\x45\x47\x45\x52","\x53\x54\x52\x49\x4E\x47","\x42\x4F\x4F\x4C\x45\x41\x4E","\x44\x41\x54\x45","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x5F\x68\x69\x73\x74\x6F\x72\x79","\x64\x65\x66\x69\x6E\x65","\x69\x64","\x72\x65\x6D\x6F\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65"];var moment=require(_0xa751[0]);module[_0xa751[1]]=function(_0x466cx2,_0x466cx3){var _0x466cx4=_0x466cx2[_0xa751[8]](_0xa751[2],{uniqueid:{type:_0x466cx3[_0xa751[3]]},subject:_0x466cx3[_0xa751[4]],from:_0x466cx3[_0xa751[4]],cc:_0x466cx3[_0xa751[4]],attachment:_0x466cx3[_0xa751[5]],accountname:_0x466cx3[_0xa751[4]],accountaddress:_0x466cx3[_0xa751[4]],fullname:_0x466cx3[_0xa751[4]],membername:_0x466cx3[_0xa751[4]],mailqueuename:_0x466cx3[_0xa751[4]],mailjoinAt:_0x466cx3[_0xa751[6]],mailleaveAt:_0x466cx3[_0xa751[6]],mailunmanagedAt:_0x466cx3[_0xa751[6]]},{tableName:_0xa751[7]});_0x466cx4[_0xa751[10]](_0xa751[9]);return _0x466cx4;};
\ No newline at end of file
index 2764b2595f631a4a211396b0d391f30ba6fb2752..fcc88eea97f899d10922be38abe0f895eab0c78e 100644 (file)
@@ -1 +1 @@
-var _0x8053=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x4D\x65\x6D\x62\x65\x72\x48\x69\x73\x74\x6F\x72\x79","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x44\x41\x54\x45","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x65\x6D\x62\x65\x72\x5F\x68\x69\x73\x74\x6F\x72\x79","\x64\x65\x66\x69\x6E\x65","\x69\x64","\x72\x65\x6D\x6F\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65"];module[_0x8053[0]]=function(_0xe737x1,_0xe737x2){var _0xe737x3=_0xe737x1[_0x8053[6]](_0x8053[1],{stateinterface:_0xe737x2[_0x8053[2]],queue:_0xe737x2[_0x8053[2]],membername:_0xe737x2[_0x8053[2]],interface:_0xe737x2[_0x8053[2]],state:_0xe737x2[_0x8053[3]],statedesc:_0xe737x2[_0x8053[2]],enterdate:_0xe737x2[_0x8053[4]],exitdate:_0xe737x2[_0x8053[4]],reason:_0xe737x2[_0x8053[2]]},{tableName:_0x8053[5]});_0xe737x3[_0x8053[8]](_0x8053[7]);return _0xe737x3;};
\ No newline at end of file
+var _0x1843=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x4D\x65\x6D\x62\x65\x72\x48\x69\x73\x74\x6F\x72\x79","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x44\x41\x54\x45","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x65\x6D\x62\x65\x72\x5F\x68\x69\x73\x74\x6F\x72\x79","\x64\x65\x66\x69\x6E\x65","\x69\x64","\x72\x65\x6D\x6F\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65"];module[_0x1843[0]]=function(_0x1047x1,_0x1047x2){var _0x1047x3=_0x1047x1[_0x1843[6]](_0x1843[1],{stateinterface:_0x1047x2[_0x1843[2]],queue:_0x1047x2[_0x1843[2]],membername:_0x1047x2[_0x1843[2]],interface:_0x1047x2[_0x1843[2]],state:_0x1047x2[_0x1843[3]],statedesc:_0x1047x2[_0x1843[2]],enterdate:_0x1047x2[_0x1843[4]],exitdate:_0x1047x2[_0x1843[4]],reason:_0x1047x2[_0x1843[2]]},{tableName:_0x1843[5]});_0x1047x3[_0x1843[8]](_0x1843[7]);return _0x1047x3;};
\ No newline at end of file
index 678ebd3036882a4e05f9c7b187b4e51e2121e859..eca80cea1fb9357104f31980bc5331714ac8e099 100644 (file)
@@ -1 +1 @@
-var _0xfdb9=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x75\x65\x48\x69\x73\x74\x6F\x72\x79","\x53\x54\x52\x49\x4E\x47","\x44\x41\x54\x45","\x49\x4E\x54\x45\x47\x45\x52","\x42\x4F\x4F\x4C\x45\x41\x4E","\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x5F\x68\x69\x73\x74\x6F\x72\x79","\x64\x65\x66\x69\x6E\x65","\x69\x64","\x72\x65\x6D\x6F\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65"];module[_0xfdb9[0]]=function(_0x1ab3x1,_0x1ab3x2){var _0x1ab3x3=_0x1ab3x1[_0xfdb9[7]](_0xfdb9[1],{uniqueid:_0x1ab3x2[_0xfdb9[2]],calleridnum:_0x1ab3x2[_0xfdb9[2]],calleridname:_0x1ab3x2[_0xfdb9[2]],queue:_0x1ab3x2[_0xfdb9[2]],queuecallerjoinAt:_0x1ab3x2[_0xfdb9[3]],queuecallerleaveAt:_0x1ab3x2[_0xfdb9[3]],position:_0x1ab3x2[_0xfdb9[4]],count:_0x1ab3x2[_0xfdb9[4]],queuecallerabandon:{type:_0x1ab3x2[_0xfdb9[5]],defaultValue:false},queuecallerabandonAt:_0x1ab3x2[_0xfdb9[3]],queuecallercompleteAt:_0x1ab3x2[_0xfdb9[3]],originalposition:_0x1ab3x2[_0xfdb9[4]],channel:_0x1ab3x2[_0xfdb9[2]],channelstate:_0x1ab3x2[_0xfdb9[4]],channelstatedesc:_0x1ab3x2[_0xfdb9[2]],connectedlinenum:_0x1ab3x2[_0xfdb9[2]],connectedlinename:_0x1ab3x2[_0xfdb9[2]],language:_0x1ab3x2[_0xfdb9[2]],accountcode:_0x1ab3x2[_0xfdb9[2]],context:_0x1ab3x2[_0xfdb9[2]],exten:_0x1ab3x2[_0xfdb9[2]],priority:_0x1ab3x2[_0xfdb9[2]]},{tableName:_0xfdb9[6]});_0x1ab3x3[_0xfdb9[9]](_0xfdb9[8]);return _0x1ab3x3;};
\ No newline at end of file
+var _0xe077=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x75\x65\x48\x69\x73\x74\x6F\x72\x79","\x53\x54\x52\x49\x4E\x47","\x44\x41\x54\x45","\x49\x4E\x54\x45\x47\x45\x52","\x42\x4F\x4F\x4C\x45\x41\x4E","\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x5F\x68\x69\x73\x74\x6F\x72\x79","\x64\x65\x66\x69\x6E\x65","\x69\x64","\x72\x65\x6D\x6F\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65"];module[_0xe077[0]]=function(_0xd0e6x1,_0xd0e6x2){var _0xd0e6x3=_0xd0e6x1[_0xe077[7]](_0xe077[1],{uniqueid:_0xd0e6x2[_0xe077[2]],calleridnum:_0xd0e6x2[_0xe077[2]],calleridname:_0xd0e6x2[_0xe077[2]],queue:_0xd0e6x2[_0xe077[2]],queuecallerjoinAt:_0xd0e6x2[_0xe077[3]],queuecallerleaveAt:_0xd0e6x2[_0xe077[3]],position:_0xd0e6x2[_0xe077[4]],count:_0xd0e6x2[_0xe077[4]],queuecallerabandon:{type:_0xd0e6x2[_0xe077[5]],defaultValue:false},queuecallerabandonAt:_0xd0e6x2[_0xe077[3]],queuecallercompleteAt:_0xd0e6x2[_0xe077[3]],originalposition:_0xd0e6x2[_0xe077[4]],channel:_0xd0e6x2[_0xe077[2]],channelstate:_0xd0e6x2[_0xe077[4]],channelstatedesc:_0xd0e6x2[_0xe077[2]],connectedlinenum:_0xd0e6x2[_0xe077[2]],connectedlinename:_0xd0e6x2[_0xe077[2]],language:_0xd0e6x2[_0xe077[2]],accountcode:_0xd0e6x2[_0xe077[2]],context:_0xd0e6x2[_0xe077[2]],exten:_0xd0e6x2[_0xe077[2]],priority:_0xd0e6x2[_0xe077[2]]},{tableName:_0xe077[6]});_0xd0e6x3[_0xe077[9]](_0xe077[8]);return _0xd0e6x3;};
\ No newline at end of file
index c30c683430303518b8da68978bd6c5ab03e121cb..21f64fbb85ae069f4e968aa8f8e080f4902d58d4 100644 (file)
@@ -1 +1 @@
-var _0xd618=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x66\x73","\x70\x61\x74\x68","\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x6D\x6F\x6D\x65\x6E\x74","\x63\x6F\x6E\x66\x69\x67","\x50\x72\x6F\x6D\x69\x73\x65","\x64\x61\x74\x61\x62\x61\x73\x65","\x64\x62","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x68\x6F\x73\x74","\x6D\x79\x73\x71\x6C","\x5A","\x66\x6F\x72\x6D\x61\x74","\x6A\x6F\x69\x6E","\x69\x6D\x70\x6F\x72\x74","\x6E\x61\x6D\x65","\x66\x6F\x72\x45\x61\x63\x68","\x69\x73\x46\x69\x6C\x65","\x6C\x73\x74\x61\x74\x53\x79\x6E\x63","\x2E","\x69\x6E\x64\x65\x78\x4F\x66","\x2E\x73\x70\x65\x63\x2E","\x69\x6E\x64\x65\x78\x2E\x6A\x73","\x66\x69\x6C\x74\x65\x72","\x72\x65\x61\x64\x64\x69\x72\x53\x79\x6E\x63","\x61\x73\x73\x6F\x63\x69\x61\x74\x65","\x68\x61\x73\x4F\x77\x6E\x50\x72\x6F\x70\x65\x72\x74\x79","\x6F\x70\x74\x69\x6F\x6E\x73","\x6B\x65\x79\x73","\x68\x69\x73\x74\x6F\x72\x79","\x64\x62\x5F\x68\x69\x73\x74\x6F\x72\x79","\x48\x69\x73\x74\x6F\x72\x79\x49\x6E\x62\x6F\x75\x6E\x64\x73","\x73\x6F\x75\x72\x63\x65","\x68\x61\x73\x4D\x61\x6E\x79","\x43\x6F\x6E\x74\x61\x63\x74\x50\x68\x6F\x6E\x65","\x48\x69\x73\x74\x6F\x72\x79\x4F\x75\x74\x62\x6F\x75\x6E\x64\x73","\x64\x65\x73\x74\x69\x6E\x61\x74\x69\x6F\x6E","\x48\x69\x73\x74\x6F\x72\x79\x49\x6E\x62\x6F\x75\x6E\x64\x4D\x65\x73\x73\x61\x67\x65\x73","\x66\x72\x6F\x6D","\x43\x6F\x6E\x74\x61\x63\x74\x45\x6D\x61\x69\x6C","\x48\x69\x73\x74\x6F\x72\x79\x4F\x75\x74\x62\x6F\x75\x6E\x64\x4D\x65\x73\x73\x61\x67\x65\x73","\x74\x6F","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65\x5F\x68\x69\x73\x74\x6F\x72\x79","\x53\x65\x71\x75\x65\x6C\x69\x7A\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xd618[0];var fs=require(_0xd618[1]);var path=require(_0xd618[2]);var config=require(_0xd618[3]);var Sequelize=require(_0xd618[4]);var moment=require(_0xd618[5]);Sequelize[_0xd618[7]][_0xd618[6]]({warnings:{wForgottenReturn:false}});var sequelize= new Sequelize(config[_0xd618[9]][_0xd618[8]],config[_0xd618[9]][_0xd618[10]],config[_0xd618[9]][_0xd618[11]],{host:config[_0xd618[9]][_0xd618[12]],dialect:_0xd618[13],timezone:moment()[_0xd618[15]](_0xd618[14]),logging:false});var db={};fs[_0xd618[27]](__dirname)[_0xd618[26]](function(_0x6713x8){return (fs[_0xd618[21]](path[_0xd618[16]](__dirname,_0x6713x8))[_0xd618[20]]())&&(_0x6713x8[_0xd618[23]](_0xd618[22])!==0)&&(_0x6713x8[_0xd618[23]](_0xd618[24])=== -1)&&(_0x6713x8!==_0xd618[25])})[_0xd618[19]](function(_0x6713x8){var _0x6713x9=sequelize[_0xd618[17]](path[_0xd618[16]](__dirname,_0x6713x8));db[_0x6713x9[_0xd618[18]]]=_0x6713x9;});Object[_0xd618[31]](db)[_0xd618[19]](function(_0x6713xa){if(db[_0x6713xa][_0xd618[30]][_0xd618[29]](_0xd618[28])){db[_0x6713xa][_0xd618[30]][_0xd618[28]](db)}});db[_0xd618[32]]={};var sequelize_history= new Sequelize(config[_0xd618[33]][_0xd618[8]],config[_0xd618[33]][_0xd618[10]],config[_0xd618[33]][_0xd618[11]],{host:config[_0xd618[33]][_0xd618[12]],dialect:_0xd618[13],timezone:moment()[_0xd618[15]](_0xd618[14]),logging:false});fs[_0xd618[27]](path[_0xd618[16]](__dirname,_0xd618[32]))[_0xd618[26]](function(_0x6713x8){return (fs[_0xd618[21]](path[_0xd618[16]](__dirname,_0xd618[32],_0x6713x8))[_0xd618[20]]())&&(_0x6713x8[_0xd618[23]](_0xd618[22])!==0)&&(_0x6713x8[_0xd618[23]](_0xd618[24])=== -1)&&(_0x6713x8!==_0xd618[25])})[_0xd618[19]](function(_0x6713x8){var _0x6713x9=sequelize_history[_0xd618[17]](path[_0xd618[16]](__dirname,_0xd618[32],_0x6713x8));db[_0xd618[32]][_0x6713x9[_0xd618[18]]]=_0x6713x9;});Object[_0xd618[31]](db[_0xd618[32]])[_0xd618[19]](function(_0x6713xa){if(db[_0xd618[32]][_0x6713xa][_0xd618[30]][_0xd618[29]](_0xd618[28])){db[_0xd618[32]][_0x6713xa][_0xd618[30]][_0xd618[28]](db[_0xd618[32]])}});db[_0xd618[37]][_0xd618[36]](db[_0xd618[32]].ReportCallHistory,{as:_0xd618[34],foreignKey:_0xd618[35],constraints:false});db[_0xd618[37]][_0xd618[36]](db[_0xd618[32]].ReportCallHistory,{as:_0xd618[38],foreignKey:_0xd618[39],constraints:false});db[_0xd618[42]][_0xd618[36]](db[_0xd618[32]].ReportMailSessionHistory,{as:_0xd618[40],foreignKey:_0xd618[41],constraints:false});db[_0xd618[42]][_0xd618[36]](db[_0xd618[32]].ReportMailSessionHistory,{as:_0xd618[43],foreignKey:_0xd618[44],constraints:false});db[_0xd618[4]]=sequelize;db[_0xd618[45]]=sequelize_history;db[_0xd618[46]]=Sequelize;module[_0xd618[47]]=db;
\ No newline at end of file
+var _0x1dee=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x66\x73","\x70\x61\x74\x68","\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x6D\x6F\x6D\x65\x6E\x74","\x63\x6F\x6E\x66\x69\x67","\x50\x72\x6F\x6D\x69\x73\x65","\x64\x61\x74\x61\x62\x61\x73\x65","\x64\x62","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x68\x6F\x73\x74","\x6D\x79\x73\x71\x6C","\x5A","\x66\x6F\x72\x6D\x61\x74","\x6A\x6F\x69\x6E","\x69\x6D\x70\x6F\x72\x74","\x6E\x61\x6D\x65","\x66\x6F\x72\x45\x61\x63\x68","\x69\x73\x46\x69\x6C\x65","\x6C\x73\x74\x61\x74\x53\x79\x6E\x63","\x2E","\x69\x6E\x64\x65\x78\x4F\x66","\x2E\x73\x70\x65\x63\x2E","\x69\x6E\x64\x65\x78\x2E\x6A\x73","\x66\x69\x6C\x74\x65\x72","\x72\x65\x61\x64\x64\x69\x72\x53\x79\x6E\x63","\x61\x73\x73\x6F\x63\x69\x61\x74\x65","\x68\x61\x73\x4F\x77\x6E\x50\x72\x6F\x70\x65\x72\x74\x79","\x6F\x70\x74\x69\x6F\x6E\x73","\x6B\x65\x79\x73","\x68\x69\x73\x74\x6F\x72\x79","\x64\x62\x5F\x68\x69\x73\x74\x6F\x72\x79","\x48\x69\x73\x74\x6F\x72\x79\x49\x6E\x62\x6F\x75\x6E\x64\x73","\x73\x6F\x75\x72\x63\x65","\x68\x61\x73\x4D\x61\x6E\x79","\x43\x6F\x6E\x74\x61\x63\x74\x50\x68\x6F\x6E\x65","\x48\x69\x73\x74\x6F\x72\x79\x4F\x75\x74\x62\x6F\x75\x6E\x64\x73","\x64\x65\x73\x74\x69\x6E\x61\x74\x69\x6F\x6E","\x48\x69\x73\x74\x6F\x72\x79\x49\x6E\x62\x6F\x75\x6E\x64\x4D\x65\x73\x73\x61\x67\x65\x73","\x66\x72\x6F\x6D","\x43\x6F\x6E\x74\x61\x63\x74\x45\x6D\x61\x69\x6C","\x48\x69\x73\x74\x6F\x72\x79\x4F\x75\x74\x62\x6F\x75\x6E\x64\x4D\x65\x73\x73\x61\x67\x65\x73","\x74\x6F","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65\x5F\x68\x69\x73\x74\x6F\x72\x79","\x53\x65\x71\x75\x65\x6C\x69\x7A\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x1dee[0];var fs=require(_0x1dee[1]);var path=require(_0x1dee[2]);var config=require(_0x1dee[3]);var Sequelize=require(_0x1dee[4]);var moment=require(_0x1dee[5]);Sequelize[_0x1dee[7]][_0x1dee[6]]({warnings:{wForgottenReturn:false}});var sequelize= new Sequelize(config[_0x1dee[9]][_0x1dee[8]],config[_0x1dee[9]][_0x1dee[10]],config[_0x1dee[9]][_0x1dee[11]],{host:config[_0x1dee[9]][_0x1dee[12]],dialect:_0x1dee[13],timezone:moment()[_0x1dee[15]](_0x1dee[14]),logging:false});var db={};fs[_0x1dee[27]](__dirname)[_0x1dee[26]](function(_0x6f85x8){return (fs[_0x1dee[21]](path[_0x1dee[16]](__dirname,_0x6f85x8))[_0x1dee[20]]())&&(_0x6f85x8[_0x1dee[23]](_0x1dee[22])!==0)&&(_0x6f85x8[_0x1dee[23]](_0x1dee[24])=== -1)&&(_0x6f85x8!==_0x1dee[25])})[_0x1dee[19]](function(_0x6f85x8){var _0x6f85x9=sequelize[_0x1dee[17]](path[_0x1dee[16]](__dirname,_0x6f85x8));db[_0x6f85x9[_0x1dee[18]]]=_0x6f85x9;});Object[_0x1dee[31]](db)[_0x1dee[19]](function(_0x6f85xa){if(db[_0x6f85xa][_0x1dee[30]][_0x1dee[29]](_0x1dee[28])){db[_0x6f85xa][_0x1dee[30]][_0x1dee[28]](db)}});db[_0x1dee[32]]={};var sequelize_history= new Sequelize(config[_0x1dee[33]][_0x1dee[8]],config[_0x1dee[33]][_0x1dee[10]],config[_0x1dee[33]][_0x1dee[11]],{host:config[_0x1dee[33]][_0x1dee[12]],dialect:_0x1dee[13],timezone:moment()[_0x1dee[15]](_0x1dee[14]),logging:false});fs[_0x1dee[27]](path[_0x1dee[16]](__dirname,_0x1dee[32]))[_0x1dee[26]](function(_0x6f85x8){return (fs[_0x1dee[21]](path[_0x1dee[16]](__dirname,_0x1dee[32],_0x6f85x8))[_0x1dee[20]]())&&(_0x6f85x8[_0x1dee[23]](_0x1dee[22])!==0)&&(_0x6f85x8[_0x1dee[23]](_0x1dee[24])=== -1)&&(_0x6f85x8!==_0x1dee[25])})[_0x1dee[19]](function(_0x6f85x8){var _0x6f85x9=sequelize_history[_0x1dee[17]](path[_0x1dee[16]](__dirname,_0x1dee[32],_0x6f85x8));db[_0x1dee[32]][_0x6f85x9[_0x1dee[18]]]=_0x6f85x9;});Object[_0x1dee[31]](db[_0x1dee[32]])[_0x1dee[19]](function(_0x6f85xa){if(db[_0x1dee[32]][_0x6f85xa][_0x1dee[30]][_0x1dee[29]](_0x1dee[28])){db[_0x1dee[32]][_0x6f85xa][_0x1dee[30]][_0x1dee[28]](db[_0x1dee[32]])}});db[_0x1dee[37]][_0x1dee[36]](db[_0x1dee[32]].ReportCallHistory,{as:_0x1dee[34],foreignKey:_0x1dee[35],constraints:false});db[_0x1dee[37]][_0x1dee[36]](db[_0x1dee[32]].ReportCallHistory,{as:_0x1dee[38],foreignKey:_0x1dee[39],constraints:false});db[_0x1dee[42]][_0x1dee[36]](db[_0x1dee[32]].ReportMailSessionHistory,{as:_0x1dee[40],foreignKey:_0x1dee[41],constraints:false});db[_0x1dee[42]][_0x1dee[36]](db[_0x1dee[32]].ReportMailSessionHistory,{as:_0x1dee[43],foreignKey:_0x1dee[44],constraints:false});db[_0x1dee[4]]=sequelize;db[_0x1dee[45]]=sequelize_history;db[_0x1dee[46]]=Sequelize;module[_0x1dee[47]]=db;
\ No newline at end of file
index 6239726b97fddfcfe45ecab840bff75427143960..ad1674cb698dd7e84ed8810d934d16fca037630b 100644 (file)
@@ -1 +1 @@
-var _0xdab4=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x53\x54\x52\x49\x4E\x47","\x75\x6E\x69\x71\x75\x65\x5F\x6E\x61\x6D\x65\x5F\x61\x6E\x64\x5F\x76\x65\x72\x73\x69\x6F\x6E","\x61\x70\x70\x2E\x6A\x73","\x49\x4E\x54\x45\x47\x45\x52","\x42\x4F\x4F\x4C\x45\x41\x4E","\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73","\x64\x65\x66\x69\x6E\x65"];_0xdab4[0];module[_0xdab4[1]]=function(_0xa404x1,_0xa404x2){var _0xa404x3=_0xa404x1[_0xdab4[9]](_0xdab4[2],{name:{type:_0xa404x2[_0xdab4[3]],allowNull:false,unique:_0xdab4[4],validate:{notEmpty:true}},version:{type:_0xa404x2[_0xdab4[3]],allowNull:false,unique:_0xdab4[4],validate:{notEmpty:true}},main:{type:_0xa404x2[_0xdab4[3]],defaultValue:_0xdab4[5]},filename:{type:_0xa404x2[_0xdab4[3]]},path:{type:_0xa404x2[_0xdab4[3]]},type:{type:_0xa404x2[_0xdab4[3]]},size:{type:_0xa404x2[_0xdab4[6]]},active:{type:_0xa404x2[_0xdab4[7]],defaultValue:false},author:_0xa404x2[_0xdab4[3]],logo:_0xa404x2[_0xdab4[3]],state:_0xa404x2[_0xdab4[3]],description:_0xa404x2[_0xdab4[3]]},{tableName:_0xdab4[8]});return _0xa404x3;};
\ No newline at end of file
+var _0x1513=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x53\x54\x52\x49\x4E\x47","\x75\x6E\x69\x71\x75\x65\x5F\x6E\x61\x6D\x65\x5F\x61\x6E\x64\x5F\x76\x65\x72\x73\x69\x6F\x6E","\x61\x70\x70\x2E\x6A\x73","\x49\x4E\x54\x45\x47\x45\x52","\x42\x4F\x4F\x4C\x45\x41\x4E","\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73","\x64\x65\x66\x69\x6E\x65"];_0x1513[0];module[_0x1513[1]]=function(_0xd51bx1,_0xd51bx2){var _0xd51bx3=_0xd51bx1[_0x1513[9]](_0x1513[2],{name:{type:_0xd51bx2[_0x1513[3]],allowNull:false,unique:_0x1513[4],validate:{notEmpty:true}},version:{type:_0xd51bx2[_0x1513[3]],allowNull:false,unique:_0x1513[4],validate:{notEmpty:true}},main:{type:_0xd51bx2[_0x1513[3]],defaultValue:_0x1513[5]},filename:{type:_0xd51bx2[_0x1513[3]]},path:{type:_0xd51bx2[_0x1513[3]]},type:{type:_0xd51bx2[_0x1513[3]]},size:{type:_0xd51bx2[_0x1513[6]]},active:{type:_0xd51bx2[_0x1513[7]],defaultValue:false},author:_0xd51bx2[_0x1513[3]],logo:_0xd51bx2[_0x1513[3]],state:_0xd51bx2[_0x1513[3]],description:_0xd51bx2[_0x1513[3]]},{tableName:_0x1513[8]});return _0xd51bx3;};
\ No newline at end of file
index 84e68193e03fccdf78c94e33d655af33755d0539..db8057806529d4044c9deedbc5c6f96c0790ccb4 100644 (file)
@@ -1 +1 @@
-var _0x2d4e=["\x75\x74\x69\x6C","\x6C\x6F\x64\x61\x73\x68","\x47\x6F\x74\x6F\x49\x66\x54\x69\x6D\x65","\x25\x73\x3F\x25\x73\x2C\x24\x7B\x45\x58\x54\x45\x4E\x7D\x2C\x25\x73\x3A\x25\x73\x2C\x24\x7B\x45\x58\x54\x45\x4E\x7D\x2C\x25\x73","\x53\x65\x74","\x43\x41\x4C\x4C\x45\x52\x49\x44\x28\x61\x6C\x6C\x29\x3D\x25\x73","\x44\x69\x61\x6C","\x25\x73\x2C\x25\x73\x2C\x25\x73\x2C\x25\x73","\x4E\x6F\x4F\x70","\x44\x69\x61\x6C\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x41\x6E\x73\x77\x65\x72","","\x51\x75\x65\x75\x65","\x25\x73\x2C\x25\x73\x2C\x25\x73\x2C\x25\x73\x2C\x25\x73","\x51\x75\x65\x75\x65\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x50\x6C\x61\x79\x62\x61\x63\x6B","\x25\x73\x2C\x25\x73","\x50\x6C\x61\x79\x62\x61\x63\x6B\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x41\x47\x49","\x61\x67\x69\x3A\x2F\x2F\x31\x32\x37\x2E\x30\x2E\x30\x2E\x31\x2F\x73\x71\x75\x61\x72\x65\x2C\x25\x73","\x41\x47\x49\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x47\x6F\x74\x6F","\x25\x73\x2C\x25\x73\x2C\x25\x64","\x47\x6F\x74\x6F\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x48\x61\x6E\x67\x75\x70","\x25\x73","\x48\x61\x6E\x67\x75\x70\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x25\x73\x3D\x25\x73","\x53\x65\x74\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x63\x75\x73\x74\x6F\x6D","\x43\x75\x73\x74\x6F\x6D\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x56\x6F\x69\x63\x65\x6D\x61\x69\x6C","\x56\x6F\x69\x63\x65\x6D\x61\x69\x6C\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x65\x78\x70\x6F\x72\x74\x73","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x53\x54\x52\x49\x4E\x47","\x6E\x61\x6D\x65\x5F\x69\x6E\x74\x65\x72\x76\x61\x6C\x69\x64","\x69\x6E\x74\x65\x72\x76\x61\x6C\x73","\x53\x75\x62\x49\x6E\x74\x65\x72\x76\x61\x6C\x73","\x63\x61\x73\x63\x61\x64\x65","\x68\x61\x73\x4D\x61\x6E\x79","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x4D\x61\x69\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x3F","\x73\x70\x6C\x69\x74","\x61\x70\x70\x64\x61\x74\x61","\x25\x73\x3F\x25\x73","\x69\x6E\x74\x65\x72\x76\x61\x6C","\x66\x6F\x72\x6D\x61\x74","\x73\x61\x76\x65","\x66\x6F\x72\x45\x61\x63\x68","\x74\x68\x65\x6E","\x67\x65\x74\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x69\x6E\x74\x65\x72\x76\x61\x6C\x20\x6E\x6F\x74\x20\x79\x65\x74\x20\x64\x65\x6C\x65\x74\x65\x64","\x62\x65\x66\x6F\x72\x65\x44\x65\x73\x74\x72\x6F\x79","\x69\x6E\x74\x65\x72\x76\x61\x6C\x20\x63\x72\x65\x61\x74\x65\x64","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x64\x65\x66\x69\x6E\x65","\x46\x69\x6E\x64\x69\x6E\x67\x20\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x20\x61\x70\x70\x73\x2E\x2E","\x6C\x65\x6E\x67\x74\x68","\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73\x20\x66\x6F\x75\x6E\x64","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x70\x6C\x75\x63\x6B","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x49\x64","\x75\x6E\x69\x71","\x53\x74\x61\x72\x74\x69\x6E\x67\x20\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E\x20\x62\x65\x66\x6F\x72\x65\x20\x64\x65\x73\x74\x72\x6F\x79\x2E\x2E","\x44\x65\x73\x74\x72\x6F\x79\x69\x6E\x67\x20\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x20\x72\x6F\x77\x73\x2E\x2E\x2E","\x44\x65\x73\x74\x72\x6F\x79\x65\x64\x20\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x66\x69\x6C\x74\x65\x72","\x46\x69\x6E\x64\x69\x6E\x67\x20\x69\x6E\x74\x65\x72\x76\x61\x6C\x73","\x46\x6F\x75\x6E\x64\x20\x69\x6E\x74\x65\x72\x76\x61\x6C\x73\x2C\x20\x63\x72\x65\x61\x74\x69\x6E\x67\x20\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x20\x72\x6F\x77\x73\x2E\x2E\x2E","\x43\x72\x65\x61\x74\x69\x6E\x67\x20\x61\x70\x70\x2E\x2E","\x61\x70\x70","\x63\x6C\x6F\x6E\x65\x44\x65\x65\x70","\x63\x75\x73\x74\x6F\x6D\x41\x70\x70","\x50\x52\x49\x4F\x52\x49\x54\x59","\x25\x73\x25\x73\x25\x73","\x63\x6F\x6E\x74\x65\x78\x74","\x65\x78\x74\x65\x6E","\x2A\x2C\x2A\x2C\x2A\x2C\x2A","\x73\x70\x6C\x69\x63\x65","\x47\x6F\x74\x6F\x49\x66\x54\x69\x6D\x65\x46\x72\x6F\x6D\x41\x72\x72\x61\x79","\x3F\x25\x73\x2C\x24\x7B\x45\x58\x54\x45\x4E\x7D\x2C\x25\x73\x3A\x25\x73\x2C\x24\x7B\x45\x58\x54\x45\x4E\x7D\x2C\x25\x73","\x69\x64","\x75\x6E\x73\x68\x69\x66\x74","\x72\x65\x74\x75\x72\x6E\x65\x64\x20\x70\x72\x69\x6F\x72\x69\x74\x79","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x54\x48\x45\x20\x45\x4E\x44","\x66\x69\x6E\x64\x41\x6C\x6C","\x64\x65\x73\x74\x72\x6F\x79","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x63\x61\x6C\x6C\x65\x72\x49\x44","\x72\x65\x6D\x6F\x76\x65","\x74\x79\x70\x65","\x70\x72\x69\x6F\x72\x69\x74\x79","\x61\x70\x70\x47\x72\x6F\x75\x70","\x6F\x75\x74\x62\x6F\x75\x6E\x64","\x74\x72\x75\x6E\x6B","\x54\x72\x75\x6E\x6B\x49\x64","\x63\x75\x74\x64\x69\x67\x69\x74\x73","\x69\x6E\x74\x65\x72\x66\x61\x63\x65","\x61\x70\x70\x5F\x6F\x70\x74\x69\x6F\x6E\x73","\x74\x69\x6D\x65\x6F\x75\x74","\x75\x72\x6C","\x2C","\x72\x65\x70\x6C\x61\x63\x65","\x4F\x75\x74\x62\x6F\x75\x6E\x64\x20\x44\x69\x61\x6C\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x61\x75\x64\x69\x6F\x66\x69\x6C\x65","\x71\x75\x65\x75\x65","\x70\x72\x6F\x6A\x65\x63\x74","\x61\x6C\x74\x5F\x70\x72\x69\x6F\x72\x69\x74\x79","\x61\x6C\x74\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x61\x6C\x74\x5F\x63\x6F\x6E\x74\x65\x78\x74","\x63\x61\x75\x73\x65\x63\x6F\x64\x65","\x76\x61\x72\x69\x61\x62\x6C\x65","\x76\x61\x6C\x75\x65","\x6D\x61\x69\x6C\x62\x6F\x78"];var util=require(_0x2d4e[0]);var _=require(_0x2d4e[1]);var Applications={Dial:[{app:_0x2d4e[2],appdata:_0x2d4e[3]},{app:_0x2d4e[4],appdata:_0x2d4e[5]},{app:_0x2d4e[6],appdata:_0x2d4e[7],isApp:true},{app:_0x2d4e[8],appdata:_0x2d4e[9]}],Queue:[{app:_0x2d4e[2],appdata:_0x2d4e[3]},{app:_0x2d4e[10],appdata:_0x2d4e[11]},{app:_0x2d4e[12],appdata:_0x2d4e[13],isApp:true},{app:_0x2d4e[8],appdata:_0x2d4e[14]}],Playback:[{app:_0x2d4e[2],appdata:_0x2d4e[3]},{app:_0x2d4e[15],appdata:_0x2d4e[16],isApp:true},{app:_0x2d4e[8],appdata:_0x2d4e[17]}],AGI:[{app:_0x2d4e[2],appdata:_0x2d4e[3]},{app:_0x2d4e[18],appdata:_0x2d4e[19],isApp:true},{app:_0x2d4e[8],appdata:_0x2d4e[20]}],Goto:[{app:_0x2d4e[2],appdata:_0x2d4e[3]},{app:_0x2d4e[21],appdata:_0x2d4e[22],isApp:true},{app:_0x2d4e[8],appdata:_0x2d4e[23]}],Hangup:[{app:_0x2d4e[2],appdata:_0x2d4e[3]},{app:_0x2d4e[24],appdata:_0x2d4e[25],isApp:true},{app:_0x2d4e[8],appdata:_0x2d4e[26]}],Set:[{app:_0x2d4e[2],appdata:_0x2d4e[3]},{app:_0x2d4e[4],appdata:_0x2d4e[27],isApp:true},{app:_0x2d4e[8],appdata:_0x2d4e[28]}],custom:[{app:_0x2d4e[2],appdata:_0x2d4e[3]},{app:_0x2d4e[29],appdata:_0x2d4e[25],isApp:true},{app:_0x2d4e[8],appdata:_0x2d4e[30]}],Voicemail:[{app:_0x2d4e[2],appdata:_0x2d4e[3]},{app:_0x2d4e[31],appdata:_0x2d4e[25],isApp:true},{app:_0x2d4e[8],appdata:_0x2d4e[32]}]};module[_0x2d4e[33]]=function(_0x29e3x4,_0x29e3x5){var _0x29e3x6=_0x29e3x4[_0x2d4e[62]](_0x2d4e[34],{name:{type:_0x29e3x5[_0x2d4e[35]],unique:_0x2d4e[36]},interval:{type:_0x29e3x5[_0x2d4e[35]],allowNull:true},IntervalId:{type:_0x29e3x5.INTEGER(11),unique:_0x2d4e[36]}},{tableName:_0x2d4e[37],associate:function(_0x29e3x7){_0x29e3x6[_0x2d4e[40]](_0x29e3x7.Interval,{as:_0x2d4e[38],onDelete:_0x2d4e[39]});_0x29e3x6[_0x2d4e[40]](_0x29e3x7.VoiceExtension,{as:_0x2d4e[41]});_0x29e3x6[_0x2d4e[40]](_0x29e3x7.MailApplication,{as:_0x2d4e[42]});_0x29e3x6[_0x2d4e[40]](_0x29e3x7.MailApplication,{as:_0x2d4e[43]});_0x29e3x6[_0x2d4e[57]](function(_0x29e3x8){if(_0x29e3x8[_0x2d4e[44]]!==null){_0x29e3x8[_0x2d4e[56]]()[_0x2d4e[55]](function(_0x29e3xa){var _0x29e3xb;var _0x29e3xc;_0x29e3xa[_0x2d4e[54]](function(_0x29e3xd){_0x29e3xc=_0x29e3xd[_0x2d4e[49]][_0x2d4e[48]](_0x2d4e[47]);_0x29e3xd[_0x2d4e[49]]=util[_0x2d4e[52]](_0x2d4e[50],_0x29e3x8[_0x2d4e[51]],_0x29e3xc[1]);_0x29e3xd[_0x2d4e[51]]=_0x29e3x8[_0x2d4e[51]];_0x29e3xd[_0x2d4e[53]]()[_0x2d4e[46]](function(_0x29e3x9){console[_0x2d4e[45]](_0x29e3x9)});});})[_0x2d4e[46]](function(_0x29e3x9){console[_0x2d4e[45]](_0x29e3x9)})}});_0x29e3x6[_0x2d4e[59]](function(_0x29e3x8){console[_0x2d4e[45]](_0x2d4e[58]);if(_0x29e3x8[_0x2d4e[44]]!==null){_0x29e3xe(_0x29e3x8,_0x29e3x7)};});_0x29e3x6[_0x2d4e[61]](function(_0x29e3x8){console[_0x2d4e[45]](_0x2d4e[60]);if(_0x29e3x8[_0x2d4e[44]]!==null){_0x29e3xe(_0x29e3x8,_0x29e3x7,true)};});}});function _0x29e3xe(_0x29e3xf,_0x29e3x7,_0x29e3x10){console[_0x2d4e[45]](_0x2d4e[63]);_0x29e3x7[_0x2d4e[92]][_0x2d4e[94]]({where:{IntervalId:_0x29e3xf[_0x2d4e[44]]}})[_0x2d4e[55]](function(_0x29e3x11){if(_0x29e3x11&&_0x29e3x11[_0x2d4e[64]]>0){console[_0x2d4e[45]](_0x2d4e[65]);var _0x29e3x12=_[_0x2d4e[69]](_[_0x2d4e[67]](_[_0x2d4e[67]](_0x29e3x11,_0x2d4e[66]),_0x2d4e[68]),true);_0x29e3x7[_0x2d4e[92]][_0x2d4e[94]]({where:{VoiceExtensionId:_0x29e3x12,isApp:true}})[_0x2d4e[55]](function(_0x29e3xa){console[_0x2d4e[45]](_0x2d4e[70]);return _0x29e3x4[_0x2d4e[96]](function(_0x29e3x13){console[_0x2d4e[45]](_0x2d4e[71]);return _0x29e3x7[_0x2d4e[92]][_0x2d4e[95]]({where:{VoiceExtensionId:_0x29e3x12}},{transaction:_0x29e3x13})[_0x2d4e[55]](function(){console[_0x2d4e[45]](_0x2d4e[72]);_0x29e3xa=_[_0x2d4e[67]](_0x29e3xa,_0x2d4e[66]);var _0x29e3x14=_[_0x2d4e[73]](_[_0x2d4e[67]](_0x29e3xa,_0x2d4e[44]),function(_0x29e3x15){return _0x29e3x15!==null});console[_0x2d4e[45]](_0x2d4e[74]);_0x29e3x6[_0x2d4e[94]]({where:{IntervalId:_0x29e3x14,id:{$ne:_0x29e3x10?null:_0x29e3xf[_0x2d4e[88]]}}})[_0x2d4e[55]](function(_0x29e3x16){console[_0x2d4e[45]](_0x2d4e[75]);var _0x29e3x17;_0x29e3x12[_0x2d4e[54]](function(_0x29e3x18){_0x29e3x17=_[_0x2d4e[73]](_0x29e3xa,function(_0x29e3x15){return _0x29e3x15[_0x2d4e[68]]==_0x29e3x18});var _0x29e3x19=2;var _0x29e3x8;_0x29e3x17[_0x2d4e[54]](function(_0x29e3x1a){console[_0x2d4e[45]](_0x2d4e[76]);var _0x29e3x1b=_[_0x2d4e[78]](Applications[_0x29e3x1a[_0x2d4e[77]]]);if(!_0x29e3x1b||_0x29e3x1a[_0x2d4e[79]]){_0x29e3x1b=[{app:_0x2d4e[2],appdata:_0x2d4e[3]},{app:_0x2d4e[29],appdata:_0x2d4e[25],isApp:true},{app:_0x2d4e[8],appdata:_0x2d4e[30]}]};console[_0x2d4e[45]](_0x2d4e[80]);console[_0x2d4e[45]](_0x29e3x19);var _0x29e3x1c=util[_0x2d4e[52]](_0x2d4e[81],_0x29e3x1a[_0x2d4e[82]],_0x29e3x1a[_0x2d4e[83]],_0x29e3x19);_0x29e3x1a[_0x2d4e[51]]=_0x29e3x1a[_0x2d4e[51]]||_0x2d4e[84];var _0x29e3x1d=_[_0x2d4e[73]](_0x29e3x16,function(_0x29e3x15){return (_0x29e3x15[_0x2d4e[44]]==_0x29e3x1a[_0x2d4e[44]])});if(_0x29e3x1d&&_0x29e3x1d[_0x2d4e[64]]>0){_0x29e3x1b[_0x2d4e[85]](0,1);_0x29e3x1d[_0x2d4e[54]](function(_0x29e3x15,_0x29e3x1e){_0x29e3x1b[_0x2d4e[89]]({app:_0x2d4e[86],appdata:_0x29e3x15[_0x2d4e[51]]+_0x2d4e[87],IntervalId:_0x29e3x15[_0x2d4e[88]],isInterval:true,interval:_0x29e3x15[_0x2d4e[51]]})});};_0x29e3x19=appCreate(_0x29e3x1b,_0x29e3x1a,_0x29e3x1c,_0x29e3x1d||[],_0x29e3x19);console[_0x2d4e[45]](_0x2d4e[90]);console[_0x2d4e[45]](_0x29e3x19);_0x29e3x7[_0x2d4e[92]][_0x2d4e[91]](_0x29e3x1b);});});console[_0x2d4e[45]](_0x2d4e[93]);});});})[_0x2d4e[46]](function(_0x29e3x9){console[_0x2d4e[45]](_0x29e3x9)});})[_0x2d4e[46]](function(_0x29e3x9){console[_0x2d4e[45]](_0x29e3x9)});}})[_0x2d4e[46]](function(_0x29e3x9){console[_0x2d4e[45]](_0x29e3x9)});}return _0x29e3x6;};function appCreate(_0x29e3x1b,_0x29e3xd,_0x29e3x1c,_0x29e3x16,_0x29e3x19){var _0x29e3x20=_0x29e3x16[_0x2d4e[64]];if(_0x29e3xd[_0x2d4e[79]]){_0x29e3xd[_0x2d4e[77]]=_0x2d4e[29]};switch(_0x29e3xd[_0x2d4e[77]]){case _0x2d4e[6]:if(!_0x29e3xd[_0x2d4e[97]]){_[_0x2d4e[98]](_0x29e3x1b,{app:_0x2d4e[4]})};_0x29e3x1b[_0x2d4e[54]](function(_0x29e3x15,_0x29e3x1e){_0x29e3x15[_0x2d4e[83]]=_0x29e3xd[_0x2d4e[83]];_0x29e3x15[_0x2d4e[99]]=_0x29e3xd[_0x2d4e[99]];_0x29e3x15[_0x2d4e[82]]=_0x29e3xd[_0x2d4e[82]];_0x29e3x15[_0x2d4e[68]]=_0x29e3xd[_0x2d4e[68]];_0x29e3x15[_0x2d4e[100]]=_0x29e3x19?_0x29e3x19++:_0x29e3xd[_0x2d4e[100]]++;_0x29e3x15[_0x2d4e[101]]=_0x29e3x1c;switch(_0x29e3x15[_0x2d4e[77]]){case _0x2d4e[2]:_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3xd[_0x2d4e[44]]?_0x2d4e[84]:_0x29e3xd[_0x2d4e[51]],_0x29e3x15[_0x2d4e[82]],_0x29e3x15[_0x2d4e[100]]+1,_0x29e3x15[_0x2d4e[82]],(_0x29e3x15[_0x2d4e[100]]+2));break ;;case _0x2d4e[86]:_0x29e3x15[_0x2d4e[77]]=_0x2d4e[2];_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3x15[_0x2d4e[82]],_0x29e3x15[_0x2d4e[100]]+_0x29e3x20-_0x29e3x1e,_0x29e3x15[_0x2d4e[82]],(_0x29e3x1e+1)<_0x29e3x20?(_0x29e3x15[_0x2d4e[100]]+1):(_0x29e3x15[_0x2d4e[100]]+2));break ;;case _0x2d4e[6]:if(_0x29e3xd[_0x2d4e[99]]===_0x2d4e[102]){_0x29e3x15[_0x2d4e[51]]=_0x29e3xd[_0x2d4e[51]];_0x29e3x15[_0x2d4e[103]]=_0x29e3xd[_0x2d4e[103]];_0x29e3x15[_0x2d4e[104]]=_0x29e3xd[_0x2d4e[104]];_0x29e3x15[_0x2d4e[105]]=_0x29e3xd[_0x2d4e[105]]||0;_0x29e3x15[_0x2d4e[97]]=_0x29e3xd[_0x2d4e[97]]||null;}else {_0x29e3x15[_0x2d4e[44]]=_0x29e3xd[_0x2d4e[44]];_0x29e3x15[_0x2d4e[51]]=_0x29e3xd[_0x2d4e[51]];_0x29e3x15[_0x2d4e[106]]=_0x29e3xd[_0x2d4e[106]];_0x29e3x15[_0x2d4e[107]]=_0x29e3xd[_0x2d4e[107]]||_0x2d4e[11];_0x29e3x15[_0x2d4e[108]]=_0x29e3xd[_0x2d4e[108]]||_0x2d4e[11];_0x29e3x15[_0x2d4e[109]]=_0x29e3xd[_0x2d4e[109]]||_0x2d4e[11];_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3xd[_0x2d4e[106]],_0x29e3x15[_0x2d4e[108]],_0x29e3x15[_0x2d4e[107]]?_0x29e3x15[_0x2d4e[107]][_0x2d4e[111]](_0x2d4e[110],_0x2d4e[11]):_0x2d4e[11],_0x29e3x15[_0x2d4e[109]]);};break ;;case _0x2d4e[4]:_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3xd[_0x2d4e[97]]);break ;;case _0x2d4e[8]:if(_0x29e3xd[_0x2d4e[99]]===_0x2d4e[102]){_0x29e3x15[_0x2d4e[49]]=_0x2d4e[112]};break ;;default:;};});break ;;case _0x2d4e[12]:_0x29e3x1b[_0x2d4e[54]](function(_0x29e3x15,_0x29e3x1e){_0x29e3x15[_0x2d4e[83]]=_0x29e3xd[_0x2d4e[83]];_0x29e3x15[_0x2d4e[99]]=_0x29e3xd[_0x2d4e[99]];_0x29e3x15[_0x2d4e[82]]=_0x29e3xd[_0x2d4e[82]];_0x29e3x15[_0x2d4e[68]]=_0x29e3xd[_0x2d4e[68]];_0x29e3x15[_0x2d4e[100]]=_0x29e3x19?_0x29e3x19++:_0x29e3xd[_0x2d4e[100]]++;_0x29e3x15[_0x2d4e[101]]=_0x29e3x1c;switch(_0x29e3x15[_0x2d4e[77]]){case _0x2d4e[2]:_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3xd[_0x2d4e[44]]?_0x2d4e[84]:_0x29e3xd[_0x2d4e[51]],_0x29e3x15[_0x2d4e[82]],_0x29e3x15[_0x2d4e[100]]+1,_0x29e3x15[_0x2d4e[82]],(_0x29e3x15[_0x2d4e[100]]+2));break ;;case _0x2d4e[86]:_0x29e3x15[_0x2d4e[77]]=_0x2d4e[2];_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3x15[_0x2d4e[82]],_0x29e3x15[_0x2d4e[100]]+_0x29e3x20-_0x29e3x1e,_0x29e3x15[_0x2d4e[82]],(_0x29e3x1e+1)<_0x29e3x20?(_0x29e3x15[_0x2d4e[100]]+1):(_0x29e3x15[_0x2d4e[100]]+2));break ;;case _0x2d4e[12]:_0x29e3x15[_0x2d4e[44]]=_0x29e3xd[_0x2d4e[44]];_0x29e3x15[_0x2d4e[107]]=_0x29e3xd[_0x2d4e[107]]||_0x2d4e[11];_0x29e3x15[_0x2d4e[113]]=_0x29e3xd[_0x2d4e[113]]||_0x2d4e[11];_0x29e3x15[_0x2d4e[114]]=_0x29e3xd[_0x2d4e[114]];_0x29e3x15[_0x2d4e[51]]=_0x29e3xd[_0x2d4e[51]];_0x29e3x15[_0x2d4e[106]]=_0x29e3xd[_0x2d4e[106]];_0x29e3x15[_0x2d4e[107]]=_0x29e3xd[_0x2d4e[107]];_0x29e3x15[_0x2d4e[108]]=_0x29e3xd[_0x2d4e[108]]||_0x2d4e[11];_0x29e3x15[_0x2d4e[109]]=_0x29e3xd[_0x2d4e[109]]||_0x2d4e[11];_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3x15[_0x2d4e[114]],_0x29e3x15[_0x2d4e[107]]?_0x29e3x15[_0x2d4e[107]][_0x2d4e[111]](_0x2d4e[110],_0x2d4e[11]):_0x2d4e[11],_0x29e3x15[_0x2d4e[109]],_0x29e3x15[_0x2d4e[113]],_0x29e3x15[_0x2d4e[108]]);break ;;default:;};});break ;;case _0x2d4e[15]:_0x29e3x1b[_0x2d4e[54]](function(_0x29e3x15,_0x29e3x1e){_0x29e3x15[_0x2d4e[83]]=_0x29e3xd[_0x2d4e[83]];_0x29e3x15[_0x2d4e[99]]=_0x29e3xd[_0x2d4e[99]];_0x29e3x15[_0x2d4e[82]]=_0x29e3xd[_0x2d4e[82]];_0x29e3x15[_0x2d4e[68]]=_0x29e3xd[_0x2d4e[68]];_0x29e3x15[_0x2d4e[100]]=_0x29e3x19?_0x29e3x19++:_0x29e3xd[_0x2d4e[100]]++;_0x29e3x15[_0x2d4e[101]]=_0x29e3x1c;switch(_0x29e3x15[_0x2d4e[77]]){case _0x2d4e[2]:_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3xd[_0x2d4e[44]]?_0x2d4e[84]:_0x29e3xd[_0x2d4e[51]],_0x29e3x15[_0x2d4e[82]],_0x29e3x15[_0x2d4e[100]]+1,_0x29e3x15[_0x2d4e[82]],(_0x29e3x15[_0x2d4e[100]]+2));break ;;case _0x2d4e[86]:_0x29e3x15[_0x2d4e[77]]=_0x2d4e[2];_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3x15[_0x2d4e[82]],_0x29e3x15[_0x2d4e[100]]+_0x29e3x20-_0x29e3x1e,_0x29e3x15[_0x2d4e[82]],(_0x29e3x1e+1)<_0x29e3x20?(_0x29e3x15[_0x2d4e[100]]+1):(_0x29e3x15[_0x2d4e[100]]+2));break ;;case _0x2d4e[15]:_0x29e3x15[_0x2d4e[44]]=_0x29e3xd[_0x2d4e[44]];_0x29e3x15[_0x2d4e[51]]=_0x29e3xd[_0x2d4e[51]];_0x29e3x15[_0x2d4e[113]]=_0x29e3xd[_0x2d4e[113]]||_0x2d4e[11];_0x29e3x15[_0x2d4e[107]]=_0x29e3xd[_0x2d4e[107]]||_0x2d4e[11];_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3x15[_0x2d4e[113]],_0x29e3x15[_0x2d4e[107]]?_0x29e3x15[_0x2d4e[107]][_0x2d4e[111]](_0x2d4e[110],_0x2d4e[11]):_0x2d4e[11]);break ;;default:;};});break ;;case _0x2d4e[18]:_0x29e3x1b[_0x2d4e[54]](function(_0x29e3x15,_0x29e3x1e){_0x29e3x15[_0x2d4e[83]]=_0x29e3xd[_0x2d4e[83]];_0x29e3x15[_0x2d4e[99]]=_0x29e3xd[_0x2d4e[99]];_0x29e3x15[_0x2d4e[82]]=_0x29e3xd[_0x2d4e[82]];_0x29e3x15[_0x2d4e[68]]=_0x29e3xd[_0x2d4e[68]];_0x29e3x15[_0x2d4e[100]]=_0x29e3x19?_0x29e3x19++:_0x29e3xd[_0x2d4e[100]]++;_0x29e3x15[_0x2d4e[101]]=_0x29e3x1c;switch(_0x29e3x15[_0x2d4e[77]]){case _0x2d4e[2]:_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3xd[_0x2d4e[44]]?_0x2d4e[84]:_0x29e3xd[_0x2d4e[51]],_0x29e3x15[_0x2d4e[82]],_0x29e3x15[_0x2d4e[100]]+1,_0x29e3x15[_0x2d4e[82]],(_0x29e3x15[_0x2d4e[100]]+2));break ;;case _0x2d4e[86]:_0x29e3x15[_0x2d4e[77]]=_0x2d4e[2];_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3x15[_0x2d4e[82]],_0x29e3x15[_0x2d4e[100]]+_0x29e3x20-_0x29e3x1e,_0x29e3x15[_0x2d4e[82]],(_0x29e3x1e+1)<_0x29e3x20?(_0x29e3x15[_0x2d4e[100]]+1):(_0x29e3x15[_0x2d4e[100]]+2));break ;;case _0x2d4e[18]:_0x29e3x15[_0x2d4e[44]]=_0x29e3xd[_0x2d4e[44]];_0x29e3x15[_0x2d4e[51]]=_0x29e3xd[_0x2d4e[51]];_0x29e3x15[_0x2d4e[115]]=_0x29e3xd[_0x2d4e[115]];_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3x15[_0x2d4e[115]]);break ;;default:;};});break ;;case _0x2d4e[21]:_0x29e3x1b[_0x2d4e[54]](function(_0x29e3x15,_0x29e3x1e){_0x29e3x15[_0x2d4e[83]]=_0x29e3xd[_0x2d4e[83]];_0x29e3x15[_0x2d4e[99]]=_0x29e3xd[_0x2d4e[99]];_0x29e3x15[_0x2d4e[82]]=_0x29e3xd[_0x2d4e[82]];_0x29e3x15[_0x2d4e[68]]=_0x29e3xd[_0x2d4e[68]];_0x29e3x15[_0x2d4e[100]]=_0x29e3x19?_0x29e3x19++:_0x29e3xd[_0x2d4e[100]]++;_0x29e3x15[_0x2d4e[101]]=_0x29e3x1c;switch(_0x29e3x15[_0x2d4e[77]]){case _0x2d4e[2]:_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3xd[_0x2d4e[44]]?_0x2d4e[84]:_0x29e3xd[_0x2d4e[51]],_0x29e3x15[_0x2d4e[82]],_0x29e3x15[_0x2d4e[100]]+1,_0x29e3x15[_0x2d4e[82]],(_0x29e3x15[_0x2d4e[100]]+2));break ;;case _0x2d4e[86]:_0x29e3x15[_0x2d4e[77]]=_0x2d4e[2];_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3x15[_0x2d4e[82]],_0x29e3x15[_0x2d4e[100]]+_0x29e3x20-_0x29e3x1e,_0x29e3x15[_0x2d4e[82]],(_0x29e3x1e+1)<_0x29e3x20?(_0x29e3x15[_0x2d4e[100]]+1):(_0x29e3x15[_0x2d4e[100]]+2));break ;;case _0x2d4e[21]:_0x29e3x15[_0x2d4e[44]]=_0x29e3xd[_0x2d4e[44]];_0x29e3x15[_0x2d4e[51]]=_0x29e3xd[_0x2d4e[51]];_0x29e3x15[_0x2d4e[116]]=_0x29e3xd[_0x2d4e[116]];_0x29e3x15[_0x2d4e[117]]=_0x29e3xd[_0x2d4e[117]];_0x29e3x15[_0x2d4e[118]]=_0x29e3xd[_0x2d4e[118]];_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3x15[_0x2d4e[118]],_0x29e3x15[_0x2d4e[117]],_0x29e3x15[_0x2d4e[116]]);break ;;default:;};});break ;;case _0x2d4e[24]:_0x29e3x1b[_0x2d4e[54]](function(_0x29e3x15,_0x29e3x1e){_0x29e3x15[_0x2d4e[83]]=_0x29e3xd[_0x2d4e[83]];_0x29e3x15[_0x2d4e[99]]=_0x29e3xd[_0x2d4e[99]];_0x29e3x15[_0x2d4e[82]]=_0x29e3xd[_0x2d4e[82]];_0x29e3x15[_0x2d4e[68]]=_0x29e3xd[_0x2d4e[68]];_0x29e3x15[_0x2d4e[100]]=_0x29e3x19?_0x29e3x19++:_0x29e3xd[_0x2d4e[100]]++;_0x29e3x15[_0x2d4e[101]]=_0x29e3x1c;switch(_0x29e3x15[_0x2d4e[77]]){case _0x2d4e[2]:_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3xd[_0x2d4e[44]]?_0x2d4e[84]:_0x29e3xd[_0x2d4e[51]],_0x29e3x15[_0x2d4e[82]],_0x29e3x15[_0x2d4e[100]]+1,_0x29e3x15[_0x2d4e[82]],(_0x29e3x15[_0x2d4e[100]]+2));break ;;case _0x2d4e[86]:_0x29e3x15[_0x2d4e[77]]=_0x2d4e[2];_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3x15[_0x2d4e[82]],_0x29e3x15[_0x2d4e[100]]+_0x29e3x20-_0x29e3x1e,_0x29e3x15[_0x2d4e[82]],(_0x29e3x1e+1)<_0x29e3x20?(_0x29e3x15[_0x2d4e[100]]+1):(_0x29e3x15[_0x2d4e[100]]+2));break ;;case _0x2d4e[24]:_0x29e3x15[_0x2d4e[44]]=_0x29e3xd[_0x2d4e[44]];_0x29e3x15[_0x2d4e[51]]=_0x29e3xd[_0x2d4e[51]];_0x29e3x15[_0x2d4e[119]]=_0x29e3xd[_0x2d4e[119]];_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3x15[_0x2d4e[119]]);break ;;default:;};});break ;;case _0x2d4e[4]:_0x29e3x1b[_0x2d4e[54]](function(_0x29e3x15,_0x29e3x1e){_0x29e3x15[_0x2d4e[83]]=_0x29e3xd[_0x2d4e[83]];_0x29e3x15[_0x2d4e[99]]=_0x29e3xd[_0x2d4e[99]];_0x29e3x15[_0x2d4e[82]]=_0x29e3xd[_0x2d4e[82]];_0x29e3x15[_0x2d4e[68]]=_0x29e3xd[_0x2d4e[68]];_0x29e3x15[_0x2d4e[100]]=_0x29e3x19?_0x29e3x19++:_0x29e3xd[_0x2d4e[100]]++;_0x29e3x15[_0x2d4e[101]]=_0x29e3x1c;switch(_0x29e3x15[_0x2d4e[77]]){case _0x2d4e[2]:_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3xd[_0x2d4e[44]]?_0x2d4e[84]:_0x29e3xd[_0x2d4e[51]],_0x29e3x15[_0x2d4e[82]],_0x29e3x15[_0x2d4e[100]]+1,_0x29e3x15[_0x2d4e[82]],(_0x29e3x15[_0x2d4e[100]]+2));break ;;case _0x2d4e[86]:_0x29e3x15[_0x2d4e[77]]=_0x2d4e[2];_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3x15[_0x2d4e[82]],_0x29e3x15[_0x2d4e[100]]+_0x29e3x20-_0x29e3x1e,_0x29e3x15[_0x2d4e[82]],(_0x29e3x1e+1)<_0x29e3x20?(_0x29e3x15[_0x2d4e[100]]+1):(_0x29e3x15[_0x2d4e[100]]+2));break ;;case _0x2d4e[4]:_0x29e3x15[_0x2d4e[44]]=_0x29e3xd[_0x2d4e[44]];_0x29e3x15[_0x2d4e[51]]=_0x29e3xd[_0x2d4e[51]];_0x29e3x15[_0x2d4e[120]]=_0x29e3xd[_0x2d4e[120]];_0x29e3x15[_0x2d4e[121]]=_0x29e3xd[_0x2d4e[121]];_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3x15[_0x2d4e[120]],_0x29e3x15[_0x2d4e[121]]);break ;;default:;};});break ;;case _0x2d4e[29]:_0x29e3x1b[_0x2d4e[54]](function(_0x29e3x15,_0x29e3x1e){_0x29e3x15[_0x2d4e[83]]=_0x29e3xd[_0x2d4e[83]];_0x29e3x15[_0x2d4e[99]]=_0x29e3xd[_0x2d4e[99]];_0x29e3x15[_0x2d4e[82]]=_0x29e3xd[_0x2d4e[82]];_0x29e3x15[_0x2d4e[68]]=_0x29e3xd[_0x2d4e[68]];_0x29e3x15[_0x2d4e[100]]=_0x29e3x19?_0x29e3x19++:_0x29e3xd[_0x2d4e[100]]++;_0x29e3x15[_0x2d4e[101]]=_0x29e3x1c;switch(_0x29e3x15[_0x2d4e[77]]){case _0x2d4e[2]:_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3xd[_0x2d4e[44]]?_0x2d4e[84]:_0x29e3xd[_0x2d4e[51]],_0x29e3x15[_0x2d4e[82]],_0x29e3x15[_0x2d4e[100]]+1,_0x29e3x15[_0x2d4e[82]],(_0x29e3x15[_0x2d4e[100]]+2));break ;;case _0x2d4e[86]:_0x29e3x15[_0x2d4e[77]]=_0x2d4e[2];_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3x15[_0x2d4e[82]],_0x29e3x15[_0x2d4e[100]]+_0x29e3x20-_0x29e3x1e,_0x29e3x15[_0x2d4e[82]],(_0x29e3x1e+1)<_0x29e3x20?(_0x29e3x15[_0x2d4e[100]]+1):(_0x29e3x15[_0x2d4e[100]]+2));break ;;case _0x2d4e[29]:_0x29e3x15[_0x2d4e[44]]=_0x29e3xd[_0x2d4e[44]];_0x29e3x15[_0x2d4e[51]]=_0x29e3xd[_0x2d4e[51]];_0x29e3x15[_0x2d4e[77]]=_0x29e3x15[_0x2d4e[79]]=_0x29e3xd[_0x2d4e[79]];_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3xd[_0x2d4e[49]]);break ;;default:;};});break ;;case _0x2d4e[31]:_0x29e3x1b[_0x2d4e[54]](function(_0x29e3x15,_0x29e3x1e){_0x29e3x15[_0x2d4e[83]]=_0x29e3xd[_0x2d4e[83]];_0x29e3x15[_0x2d4e[99]]=_0x29e3xd[_0x2d4e[99]];_0x29e3x15[_0x2d4e[82]]=_0x29e3xd[_0x2d4e[82]];_0x29e3x15[_0x2d4e[68]]=_0x29e3xd[_0x2d4e[68]];_0x29e3x15[_0x2d4e[100]]=_0x29e3x19?_0x29e3x19++:_0x29e3xd[_0x2d4e[100]]++;_0x29e3x15[_0x2d4e[101]]=_0x29e3x1c;switch(_0x29e3x15[_0x2d4e[77]]){case _0x2d4e[2]:_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3xd[_0x2d4e[44]]?_0x2d4e[84]:_0x29e3xd[_0x2d4e[51]],_0x29e3x15[_0x2d4e[82]],_0x29e3x15[_0x2d4e[100]]+1,_0x29e3x15[_0x2d4e[82]],(_0x29e3x15[_0x2d4e[100]]+2));break ;;case _0x2d4e[86]:_0x29e3x15[_0x2d4e[77]]=_0x2d4e[2];_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3x15[_0x2d4e[82]],_0x29e3x15[_0x2d4e[100]]+_0x29e3x20-_0x29e3x1e,_0x29e3x15[_0x2d4e[82]],(_0x29e3x1e+1)<_0x29e3x20?(_0x29e3x15[_0x2d4e[100]]+1):(_0x29e3x15[_0x2d4e[100]]+2));break ;;case _0x2d4e[31]:_0x29e3x15[_0x2d4e[44]]=_0x29e3xd[_0x2d4e[44]];_0x29e3x15[_0x2d4e[51]]=_0x29e3xd[_0x2d4e[51]];_0x29e3x15[_0x2d4e[122]]=_0x29e3xd[_0x2d4e[122]];_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3x15[_0x2d4e[122]]);break ;;default:;};});break ;;default:_0x29e3x1b[_0x2d4e[54]](function(_0x29e3x15,_0x29e3x1e){_0x29e3x15[_0x2d4e[83]]=_0x29e3xd[_0x2d4e[83]];_0x29e3x15[_0x2d4e[99]]=_0x29e3xd[_0x2d4e[99]];_0x29e3x15[_0x2d4e[82]]=_0x29e3xd[_0x2d4e[82]];_0x29e3x15[_0x2d4e[68]]=_0x29e3xd[_0x2d4e[68]];_0x29e3x15[_0x2d4e[100]]=_0x29e3x19?_0x29e3x19++:_0x29e3xd[_0x2d4e[100]]++;_0x29e3x15[_0x2d4e[101]]=_0x29e3x1c;switch(_0x29e3x15[_0x2d4e[77]]){case _0x2d4e[2]:_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3xd[_0x2d4e[44]]?_0x2d4e[84]:_0x29e3xd[_0x2d4e[51]],_0x29e3x15[_0x2d4e[82]],_0x29e3x15[_0x2d4e[100]]+1,_0x29e3x15[_0x2d4e[82]],(_0x29e3x15[_0x2d4e[100]]+2));break ;;case _0x2d4e[86]:_0x29e3x15[_0x2d4e[77]]=_0x2d4e[2];_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3x15[_0x2d4e[82]],_0x29e3x15[_0x2d4e[100]]+_0x29e3x20-_0x29e3x1e,_0x29e3x15[_0x2d4e[82]],(_0x29e3x1e+1)<_0x29e3x20?(_0x29e3x15[_0x2d4e[100]]+1):(_0x29e3x15[_0x2d4e[100]]+2));break ;;case _0x2d4e[29]:_0x29e3x15[_0x2d4e[44]]=_0x29e3xd[_0x2d4e[44]];_0x29e3x15[_0x2d4e[51]]=_0x29e3xd[_0x2d4e[51]];_0x29e3x15[_0x2d4e[77]]=_0x29e3x15[_0x2d4e[79]]=_0x29e3xd[_0x2d4e[79]];_0x29e3x15[_0x2d4e[49]]=util[_0x2d4e[52]](_0x29e3x15[_0x2d4e[49]],_0x29e3xd[_0x2d4e[49]]);break ;;default:;};});;};if(_0x29e3x19){return _0x29e3x19};}
\ No newline at end of file
+var _0x52b3=["\x75\x74\x69\x6C","\x6C\x6F\x64\x61\x73\x68","\x47\x6F\x74\x6F\x49\x66\x54\x69\x6D\x65","\x25\x73\x3F\x25\x73\x2C\x24\x7B\x45\x58\x54\x45\x4E\x7D\x2C\x25\x73\x3A\x25\x73\x2C\x24\x7B\x45\x58\x54\x45\x4E\x7D\x2C\x25\x73","\x53\x65\x74","\x43\x41\x4C\x4C\x45\x52\x49\x44\x28\x61\x6C\x6C\x29\x3D\x25\x73","\x44\x69\x61\x6C","\x25\x73\x2C\x25\x73\x2C\x25\x73\x2C\x25\x73","\x4E\x6F\x4F\x70","\x44\x69\x61\x6C\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x41\x6E\x73\x77\x65\x72","","\x51\x75\x65\x75\x65","\x25\x73\x2C\x25\x73\x2C\x25\x73\x2C\x25\x73\x2C\x25\x73","\x51\x75\x65\x75\x65\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x50\x6C\x61\x79\x62\x61\x63\x6B","\x25\x73\x2C\x25\x73","\x50\x6C\x61\x79\x62\x61\x63\x6B\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x41\x47\x49","\x61\x67\x69\x3A\x2F\x2F\x31\x32\x37\x2E\x30\x2E\x30\x2E\x31\x2F\x73\x71\x75\x61\x72\x65\x2C\x25\x73","\x41\x47\x49\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x47\x6F\x74\x6F","\x25\x73\x2C\x25\x73\x2C\x25\x64","\x47\x6F\x74\x6F\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x48\x61\x6E\x67\x75\x70","\x25\x73","\x48\x61\x6E\x67\x75\x70\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x25\x73\x3D\x25\x73","\x53\x65\x74\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x63\x75\x73\x74\x6F\x6D","\x43\x75\x73\x74\x6F\x6D\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x56\x6F\x69\x63\x65\x6D\x61\x69\x6C","\x56\x6F\x69\x63\x65\x6D\x61\x69\x6C\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x65\x78\x70\x6F\x72\x74\x73","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x53\x54\x52\x49\x4E\x47","\x6E\x61\x6D\x65\x5F\x69\x6E\x74\x65\x72\x76\x61\x6C\x69\x64","\x69\x6E\x74\x65\x72\x76\x61\x6C\x73","\x53\x75\x62\x49\x6E\x74\x65\x72\x76\x61\x6C\x73","\x63\x61\x73\x63\x61\x64\x65","\x68\x61\x73\x4D\x61\x6E\x79","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x4D\x61\x69\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x3F","\x73\x70\x6C\x69\x74","\x61\x70\x70\x64\x61\x74\x61","\x25\x73\x3F\x25\x73","\x69\x6E\x74\x65\x72\x76\x61\x6C","\x66\x6F\x72\x6D\x61\x74","\x73\x61\x76\x65","\x66\x6F\x72\x45\x61\x63\x68","\x74\x68\x65\x6E","\x67\x65\x74\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x69\x6E\x74\x65\x72\x76\x61\x6C\x20\x6E\x6F\x74\x20\x79\x65\x74\x20\x64\x65\x6C\x65\x74\x65\x64","\x62\x65\x66\x6F\x72\x65\x44\x65\x73\x74\x72\x6F\x79","\x69\x6E\x74\x65\x72\x76\x61\x6C\x20\x63\x72\x65\x61\x74\x65\x64","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x64\x65\x66\x69\x6E\x65","\x46\x69\x6E\x64\x69\x6E\x67\x20\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x20\x61\x70\x70\x73\x2E\x2E","\x6C\x65\x6E\x67\x74\x68","\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73\x20\x66\x6F\x75\x6E\x64","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x70\x6C\x75\x63\x6B","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x49\x64","\x75\x6E\x69\x71","\x53\x74\x61\x72\x74\x69\x6E\x67\x20\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E\x20\x62\x65\x66\x6F\x72\x65\x20\x64\x65\x73\x74\x72\x6F\x79\x2E\x2E","\x44\x65\x73\x74\x72\x6F\x79\x69\x6E\x67\x20\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x20\x72\x6F\x77\x73\x2E\x2E\x2E","\x44\x65\x73\x74\x72\x6F\x79\x65\x64\x20\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x66\x69\x6C\x74\x65\x72","\x46\x69\x6E\x64\x69\x6E\x67\x20\x69\x6E\x74\x65\x72\x76\x61\x6C\x73","\x46\x6F\x75\x6E\x64\x20\x69\x6E\x74\x65\x72\x76\x61\x6C\x73\x2C\x20\x63\x72\x65\x61\x74\x69\x6E\x67\x20\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x20\x72\x6F\x77\x73\x2E\x2E\x2E","\x43\x72\x65\x61\x74\x69\x6E\x67\x20\x61\x70\x70\x2E\x2E","\x61\x70\x70","\x63\x6C\x6F\x6E\x65\x44\x65\x65\x70","\x63\x75\x73\x74\x6F\x6D\x41\x70\x70","\x50\x52\x49\x4F\x52\x49\x54\x59","\x25\x73\x25\x73\x25\x73","\x63\x6F\x6E\x74\x65\x78\x74","\x65\x78\x74\x65\x6E","\x2A\x2C\x2A\x2C\x2A\x2C\x2A","\x73\x70\x6C\x69\x63\x65","\x47\x6F\x74\x6F\x49\x66\x54\x69\x6D\x65\x46\x72\x6F\x6D\x41\x72\x72\x61\x79","\x3F\x25\x73\x2C\x24\x7B\x45\x58\x54\x45\x4E\x7D\x2C\x25\x73\x3A\x25\x73\x2C\x24\x7B\x45\x58\x54\x45\x4E\x7D\x2C\x25\x73","\x69\x64","\x75\x6E\x73\x68\x69\x66\x74","\x72\x65\x74\x75\x72\x6E\x65\x64\x20\x70\x72\x69\x6F\x72\x69\x74\x79","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x54\x48\x45\x20\x45\x4E\x44","\x66\x69\x6E\x64\x41\x6C\x6C","\x64\x65\x73\x74\x72\x6F\x79","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x63\x61\x6C\x6C\x65\x72\x49\x44","\x72\x65\x6D\x6F\x76\x65","\x74\x79\x70\x65","\x70\x72\x69\x6F\x72\x69\x74\x79","\x61\x70\x70\x47\x72\x6F\x75\x70","\x6F\x75\x74\x62\x6F\x75\x6E\x64","\x74\x72\x75\x6E\x6B","\x54\x72\x75\x6E\x6B\x49\x64","\x63\x75\x74\x64\x69\x67\x69\x74\x73","\x69\x6E\x74\x65\x72\x66\x61\x63\x65","\x61\x70\x70\x5F\x6F\x70\x74\x69\x6F\x6E\x73","\x74\x69\x6D\x65\x6F\x75\x74","\x75\x72\x6C","\x2C","\x72\x65\x70\x6C\x61\x63\x65","\x4F\x75\x74\x62\x6F\x75\x6E\x64\x20\x44\x69\x61\x6C\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x61\x75\x64\x69\x6F\x66\x69\x6C\x65","\x71\x75\x65\x75\x65","\x70\x72\x6F\x6A\x65\x63\x74","\x61\x6C\x74\x5F\x70\x72\x69\x6F\x72\x69\x74\x79","\x61\x6C\x74\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x61\x6C\x74\x5F\x63\x6F\x6E\x74\x65\x78\x74","\x63\x61\x75\x73\x65\x63\x6F\x64\x65","\x76\x61\x72\x69\x61\x62\x6C\x65","\x76\x61\x6C\x75\x65","\x6D\x61\x69\x6C\x62\x6F\x78"];var util=require(_0x52b3[0]);var _=require(_0x52b3[1]);var Applications={Dial:[{app:_0x52b3[2],appdata:_0x52b3[3]},{app:_0x52b3[4],appdata:_0x52b3[5]},{app:_0x52b3[6],appdata:_0x52b3[7],isApp:true},{app:_0x52b3[8],appdata:_0x52b3[9]}],Queue:[{app:_0x52b3[2],appdata:_0x52b3[3]},{app:_0x52b3[10],appdata:_0x52b3[11]},{app:_0x52b3[12],appdata:_0x52b3[13],isApp:true},{app:_0x52b3[8],appdata:_0x52b3[14]}],Playback:[{app:_0x52b3[2],appdata:_0x52b3[3]},{app:_0x52b3[15],appdata:_0x52b3[16],isApp:true},{app:_0x52b3[8],appdata:_0x52b3[17]}],AGI:[{app:_0x52b3[2],appdata:_0x52b3[3]},{app:_0x52b3[18],appdata:_0x52b3[19],isApp:true},{app:_0x52b3[8],appdata:_0x52b3[20]}],Goto:[{app:_0x52b3[2],appdata:_0x52b3[3]},{app:_0x52b3[21],appdata:_0x52b3[22],isApp:true},{app:_0x52b3[8],appdata:_0x52b3[23]}],Hangup:[{app:_0x52b3[2],appdata:_0x52b3[3]},{app:_0x52b3[24],appdata:_0x52b3[25],isApp:true},{app:_0x52b3[8],appdata:_0x52b3[26]}],Set:[{app:_0x52b3[2],appdata:_0x52b3[3]},{app:_0x52b3[4],appdata:_0x52b3[27],isApp:true},{app:_0x52b3[8],appdata:_0x52b3[28]}],custom:[{app:_0x52b3[2],appdata:_0x52b3[3]},{app:_0x52b3[29],appdata:_0x52b3[25],isApp:true},{app:_0x52b3[8],appdata:_0x52b3[30]}],Voicemail:[{app:_0x52b3[2],appdata:_0x52b3[3]},{app:_0x52b3[31],appdata:_0x52b3[25],isApp:true},{app:_0x52b3[8],appdata:_0x52b3[32]}]};module[_0x52b3[33]]=function(_0x5118x4,_0x5118x5){var _0x5118x6=_0x5118x4[_0x52b3[62]](_0x52b3[34],{name:{type:_0x5118x5[_0x52b3[35]],unique:_0x52b3[36]},interval:{type:_0x5118x5[_0x52b3[35]],allowNull:true},IntervalId:{type:_0x5118x5.INTEGER(11),unique:_0x52b3[36]}},{tableName:_0x52b3[37],associate:function(_0x5118x7){_0x5118x6[_0x52b3[40]](_0x5118x7.Interval,{as:_0x52b3[38],onDelete:_0x52b3[39]});_0x5118x6[_0x52b3[40]](_0x5118x7.VoiceExtension,{as:_0x52b3[41]});_0x5118x6[_0x52b3[40]](_0x5118x7.MailApplication,{as:_0x52b3[42]});_0x5118x6[_0x52b3[40]](_0x5118x7.MailApplication,{as:_0x52b3[43]});_0x5118x6[_0x52b3[57]](function(_0x5118x8){if(_0x5118x8[_0x52b3[44]]!==null){_0x5118x8[_0x52b3[56]]()[_0x52b3[55]](function(_0x5118xa){var _0x5118xb;var _0x5118xc;_0x5118xa[_0x52b3[54]](function(_0x5118xd){_0x5118xc=_0x5118xd[_0x52b3[49]][_0x52b3[48]](_0x52b3[47]);_0x5118xd[_0x52b3[49]]=util[_0x52b3[52]](_0x52b3[50],_0x5118x8[_0x52b3[51]],_0x5118xc[1]);_0x5118xd[_0x52b3[51]]=_0x5118x8[_0x52b3[51]];_0x5118xd[_0x52b3[53]]()[_0x52b3[46]](function(_0x5118x9){console[_0x52b3[45]](_0x5118x9)});});})[_0x52b3[46]](function(_0x5118x9){console[_0x52b3[45]](_0x5118x9)})}});_0x5118x6[_0x52b3[59]](function(_0x5118x8){console[_0x52b3[45]](_0x52b3[58]);if(_0x5118x8[_0x52b3[44]]!==null){_0x5118xe(_0x5118x8,_0x5118x7)};});_0x5118x6[_0x52b3[61]](function(_0x5118x8){console[_0x52b3[45]](_0x52b3[60]);if(_0x5118x8[_0x52b3[44]]!==null){_0x5118xe(_0x5118x8,_0x5118x7,true)};});}});function _0x5118xe(_0x5118xf,_0x5118x7,_0x5118x10){console[_0x52b3[45]](_0x52b3[63]);_0x5118x7[_0x52b3[92]][_0x52b3[94]]({where:{IntervalId:_0x5118xf[_0x52b3[44]]}})[_0x52b3[55]](function(_0x5118x11){if(_0x5118x11&&_0x5118x11[_0x52b3[64]]>0){console[_0x52b3[45]](_0x52b3[65]);var _0x5118x12=_[_0x52b3[69]](_[_0x52b3[67]](_[_0x52b3[67]](_0x5118x11,_0x52b3[66]),_0x52b3[68]),true);_0x5118x7[_0x52b3[92]][_0x52b3[94]]({where:{VoiceExtensionId:_0x5118x12,isApp:true}})[_0x52b3[55]](function(_0x5118xa){console[_0x52b3[45]](_0x52b3[70]);return _0x5118x4[_0x52b3[96]](function(_0x5118x13){console[_0x52b3[45]](_0x52b3[71]);return _0x5118x7[_0x52b3[92]][_0x52b3[95]]({where:{VoiceExtensionId:_0x5118x12}},{transaction:_0x5118x13})[_0x52b3[55]](function(){console[_0x52b3[45]](_0x52b3[72]);_0x5118xa=_[_0x52b3[67]](_0x5118xa,_0x52b3[66]);var _0x5118x14=_[_0x52b3[73]](_[_0x52b3[67]](_0x5118xa,_0x52b3[44]),function(_0x5118x15){return _0x5118x15!==null});console[_0x52b3[45]](_0x52b3[74]);_0x5118x6[_0x52b3[94]]({where:{IntervalId:_0x5118x14,id:{$ne:_0x5118x10?null:_0x5118xf[_0x52b3[88]]}}})[_0x52b3[55]](function(_0x5118x16){console[_0x52b3[45]](_0x52b3[75]);var _0x5118x17;_0x5118x12[_0x52b3[54]](function(_0x5118x18){_0x5118x17=_[_0x52b3[73]](_0x5118xa,function(_0x5118x15){return _0x5118x15[_0x52b3[68]]==_0x5118x18});var _0x5118x19=2;var _0x5118x8;_0x5118x17[_0x52b3[54]](function(_0x5118x1a){console[_0x52b3[45]](_0x52b3[76]);var _0x5118x1b=_[_0x52b3[78]](Applications[_0x5118x1a[_0x52b3[77]]]);if(!_0x5118x1b||_0x5118x1a[_0x52b3[79]]){_0x5118x1b=[{app:_0x52b3[2],appdata:_0x52b3[3]},{app:_0x52b3[29],appdata:_0x52b3[25],isApp:true},{app:_0x52b3[8],appdata:_0x52b3[30]}]};console[_0x52b3[45]](_0x52b3[80]);console[_0x52b3[45]](_0x5118x19);var _0x5118x1c=util[_0x52b3[52]](_0x52b3[81],_0x5118x1a[_0x52b3[82]],_0x5118x1a[_0x52b3[83]],_0x5118x19);_0x5118x1a[_0x52b3[51]]=_0x5118x1a[_0x52b3[51]]||_0x52b3[84];var _0x5118x1d=_[_0x52b3[73]](_0x5118x16,function(_0x5118x15){return (_0x5118x15[_0x52b3[44]]==_0x5118x1a[_0x52b3[44]])});if(_0x5118x1d&&_0x5118x1d[_0x52b3[64]]>0){_0x5118x1b[_0x52b3[85]](0,1);_0x5118x1d[_0x52b3[54]](function(_0x5118x15,_0x5118x1e){_0x5118x1b[_0x52b3[89]]({app:_0x52b3[86],appdata:_0x5118x15[_0x52b3[51]]+_0x52b3[87],IntervalId:_0x5118x15[_0x52b3[88]],isInterval:true,interval:_0x5118x15[_0x52b3[51]]})});};_0x5118x19=appCreate(_0x5118x1b,_0x5118x1a,_0x5118x1c,_0x5118x1d||[],_0x5118x19);console[_0x52b3[45]](_0x52b3[90]);console[_0x52b3[45]](_0x5118x19);_0x5118x7[_0x52b3[92]][_0x52b3[91]](_0x5118x1b);});});console[_0x52b3[45]](_0x52b3[93]);});});})[_0x52b3[46]](function(_0x5118x9){console[_0x52b3[45]](_0x5118x9)});})[_0x52b3[46]](function(_0x5118x9){console[_0x52b3[45]](_0x5118x9)});}})[_0x52b3[46]](function(_0x5118x9){console[_0x52b3[45]](_0x5118x9)});}return _0x5118x6;};function appCreate(_0x5118x1b,_0x5118xd,_0x5118x1c,_0x5118x16,_0x5118x19){var _0x5118x20=_0x5118x16[_0x52b3[64]];if(_0x5118xd[_0x52b3[79]]){_0x5118xd[_0x52b3[77]]=_0x52b3[29]};switch(_0x5118xd[_0x52b3[77]]){case _0x52b3[6]:if(!_0x5118xd[_0x52b3[97]]){_[_0x52b3[98]](_0x5118x1b,{app:_0x52b3[4]})};_0x5118x1b[_0x52b3[54]](function(_0x5118x15,_0x5118x1e){_0x5118x15[_0x52b3[83]]=_0x5118xd[_0x52b3[83]];_0x5118x15[_0x52b3[99]]=_0x5118xd[_0x52b3[99]];_0x5118x15[_0x52b3[82]]=_0x5118xd[_0x52b3[82]];_0x5118x15[_0x52b3[68]]=_0x5118xd[_0x52b3[68]];_0x5118x15[_0x52b3[100]]=_0x5118x19?_0x5118x19++:_0x5118xd[_0x52b3[100]]++;_0x5118x15[_0x52b3[101]]=_0x5118x1c;switch(_0x5118x15[_0x52b3[77]]){case _0x52b3[2]:_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118xd[_0x52b3[44]]?_0x52b3[84]:_0x5118xd[_0x52b3[51]],_0x5118x15[_0x52b3[82]],_0x5118x15[_0x52b3[100]]+1,_0x5118x15[_0x52b3[82]],(_0x5118x15[_0x52b3[100]]+2));break ;;case _0x52b3[86]:_0x5118x15[_0x52b3[77]]=_0x52b3[2];_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118x15[_0x52b3[82]],_0x5118x15[_0x52b3[100]]+_0x5118x20-_0x5118x1e,_0x5118x15[_0x52b3[82]],(_0x5118x1e+1)<_0x5118x20?(_0x5118x15[_0x52b3[100]]+1):(_0x5118x15[_0x52b3[100]]+2));break ;;case _0x52b3[6]:if(_0x5118xd[_0x52b3[99]]===_0x52b3[102]){_0x5118x15[_0x52b3[51]]=_0x5118xd[_0x52b3[51]];_0x5118x15[_0x52b3[103]]=_0x5118xd[_0x52b3[103]];_0x5118x15[_0x52b3[104]]=_0x5118xd[_0x52b3[104]];_0x5118x15[_0x52b3[105]]=_0x5118xd[_0x52b3[105]]||0;_0x5118x15[_0x52b3[97]]=_0x5118xd[_0x52b3[97]]||null;}else {_0x5118x15[_0x52b3[44]]=_0x5118xd[_0x52b3[44]];_0x5118x15[_0x52b3[51]]=_0x5118xd[_0x52b3[51]];_0x5118x15[_0x52b3[106]]=_0x5118xd[_0x52b3[106]];_0x5118x15[_0x52b3[107]]=_0x5118xd[_0x52b3[107]]||_0x52b3[11];_0x5118x15[_0x52b3[108]]=_0x5118xd[_0x52b3[108]]||_0x52b3[11];_0x5118x15[_0x52b3[109]]=_0x5118xd[_0x52b3[109]]||_0x52b3[11];_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118xd[_0x52b3[106]],_0x5118x15[_0x52b3[108]],_0x5118x15[_0x52b3[107]]?_0x5118x15[_0x52b3[107]][_0x52b3[111]](_0x52b3[110],_0x52b3[11]):_0x52b3[11],_0x5118x15[_0x52b3[109]]);};break ;;case _0x52b3[4]:_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118xd[_0x52b3[97]]);break ;;case _0x52b3[8]:if(_0x5118xd[_0x52b3[99]]===_0x52b3[102]){_0x5118x15[_0x52b3[49]]=_0x52b3[112]};break ;;default:;};});break ;;case _0x52b3[12]:_0x5118x1b[_0x52b3[54]](function(_0x5118x15,_0x5118x1e){_0x5118x15[_0x52b3[83]]=_0x5118xd[_0x52b3[83]];_0x5118x15[_0x52b3[99]]=_0x5118xd[_0x52b3[99]];_0x5118x15[_0x52b3[82]]=_0x5118xd[_0x52b3[82]];_0x5118x15[_0x52b3[68]]=_0x5118xd[_0x52b3[68]];_0x5118x15[_0x52b3[100]]=_0x5118x19?_0x5118x19++:_0x5118xd[_0x52b3[100]]++;_0x5118x15[_0x52b3[101]]=_0x5118x1c;switch(_0x5118x15[_0x52b3[77]]){case _0x52b3[2]:_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118xd[_0x52b3[44]]?_0x52b3[84]:_0x5118xd[_0x52b3[51]],_0x5118x15[_0x52b3[82]],_0x5118x15[_0x52b3[100]]+1,_0x5118x15[_0x52b3[82]],(_0x5118x15[_0x52b3[100]]+2));break ;;case _0x52b3[86]:_0x5118x15[_0x52b3[77]]=_0x52b3[2];_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118x15[_0x52b3[82]],_0x5118x15[_0x52b3[100]]+_0x5118x20-_0x5118x1e,_0x5118x15[_0x52b3[82]],(_0x5118x1e+1)<_0x5118x20?(_0x5118x15[_0x52b3[100]]+1):(_0x5118x15[_0x52b3[100]]+2));break ;;case _0x52b3[12]:_0x5118x15[_0x52b3[44]]=_0x5118xd[_0x52b3[44]];_0x5118x15[_0x52b3[107]]=_0x5118xd[_0x52b3[107]]||_0x52b3[11];_0x5118x15[_0x52b3[113]]=_0x5118xd[_0x52b3[113]]||_0x52b3[11];_0x5118x15[_0x52b3[114]]=_0x5118xd[_0x52b3[114]];_0x5118x15[_0x52b3[51]]=_0x5118xd[_0x52b3[51]];_0x5118x15[_0x52b3[106]]=_0x5118xd[_0x52b3[106]];_0x5118x15[_0x52b3[107]]=_0x5118xd[_0x52b3[107]];_0x5118x15[_0x52b3[108]]=_0x5118xd[_0x52b3[108]]||_0x52b3[11];_0x5118x15[_0x52b3[109]]=_0x5118xd[_0x52b3[109]]||_0x52b3[11];_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118x15[_0x52b3[114]],_0x5118x15[_0x52b3[107]]?_0x5118x15[_0x52b3[107]][_0x52b3[111]](_0x52b3[110],_0x52b3[11]):_0x52b3[11],_0x5118x15[_0x52b3[109]],_0x5118x15[_0x52b3[113]],_0x5118x15[_0x52b3[108]]);break ;;default:;};});break ;;case _0x52b3[15]:_0x5118x1b[_0x52b3[54]](function(_0x5118x15,_0x5118x1e){_0x5118x15[_0x52b3[83]]=_0x5118xd[_0x52b3[83]];_0x5118x15[_0x52b3[99]]=_0x5118xd[_0x52b3[99]];_0x5118x15[_0x52b3[82]]=_0x5118xd[_0x52b3[82]];_0x5118x15[_0x52b3[68]]=_0x5118xd[_0x52b3[68]];_0x5118x15[_0x52b3[100]]=_0x5118x19?_0x5118x19++:_0x5118xd[_0x52b3[100]]++;_0x5118x15[_0x52b3[101]]=_0x5118x1c;switch(_0x5118x15[_0x52b3[77]]){case _0x52b3[2]:_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118xd[_0x52b3[44]]?_0x52b3[84]:_0x5118xd[_0x52b3[51]],_0x5118x15[_0x52b3[82]],_0x5118x15[_0x52b3[100]]+1,_0x5118x15[_0x52b3[82]],(_0x5118x15[_0x52b3[100]]+2));break ;;case _0x52b3[86]:_0x5118x15[_0x52b3[77]]=_0x52b3[2];_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118x15[_0x52b3[82]],_0x5118x15[_0x52b3[100]]+_0x5118x20-_0x5118x1e,_0x5118x15[_0x52b3[82]],(_0x5118x1e+1)<_0x5118x20?(_0x5118x15[_0x52b3[100]]+1):(_0x5118x15[_0x52b3[100]]+2));break ;;case _0x52b3[15]:_0x5118x15[_0x52b3[44]]=_0x5118xd[_0x52b3[44]];_0x5118x15[_0x52b3[51]]=_0x5118xd[_0x52b3[51]];_0x5118x15[_0x52b3[113]]=_0x5118xd[_0x52b3[113]]||_0x52b3[11];_0x5118x15[_0x52b3[107]]=_0x5118xd[_0x52b3[107]]||_0x52b3[11];_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118x15[_0x52b3[113]],_0x5118x15[_0x52b3[107]]?_0x5118x15[_0x52b3[107]][_0x52b3[111]](_0x52b3[110],_0x52b3[11]):_0x52b3[11]);break ;;default:;};});break ;;case _0x52b3[18]:_0x5118x1b[_0x52b3[54]](function(_0x5118x15,_0x5118x1e){_0x5118x15[_0x52b3[83]]=_0x5118xd[_0x52b3[83]];_0x5118x15[_0x52b3[99]]=_0x5118xd[_0x52b3[99]];_0x5118x15[_0x52b3[82]]=_0x5118xd[_0x52b3[82]];_0x5118x15[_0x52b3[68]]=_0x5118xd[_0x52b3[68]];_0x5118x15[_0x52b3[100]]=_0x5118x19?_0x5118x19++:_0x5118xd[_0x52b3[100]]++;_0x5118x15[_0x52b3[101]]=_0x5118x1c;switch(_0x5118x15[_0x52b3[77]]){case _0x52b3[2]:_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118xd[_0x52b3[44]]?_0x52b3[84]:_0x5118xd[_0x52b3[51]],_0x5118x15[_0x52b3[82]],_0x5118x15[_0x52b3[100]]+1,_0x5118x15[_0x52b3[82]],(_0x5118x15[_0x52b3[100]]+2));break ;;case _0x52b3[86]:_0x5118x15[_0x52b3[77]]=_0x52b3[2];_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118x15[_0x52b3[82]],_0x5118x15[_0x52b3[100]]+_0x5118x20-_0x5118x1e,_0x5118x15[_0x52b3[82]],(_0x5118x1e+1)<_0x5118x20?(_0x5118x15[_0x52b3[100]]+1):(_0x5118x15[_0x52b3[100]]+2));break ;;case _0x52b3[18]:_0x5118x15[_0x52b3[44]]=_0x5118xd[_0x52b3[44]];_0x5118x15[_0x52b3[51]]=_0x5118xd[_0x52b3[51]];_0x5118x15[_0x52b3[115]]=_0x5118xd[_0x52b3[115]];_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118x15[_0x52b3[115]]);break ;;default:;};});break ;;case _0x52b3[21]:_0x5118x1b[_0x52b3[54]](function(_0x5118x15,_0x5118x1e){_0x5118x15[_0x52b3[83]]=_0x5118xd[_0x52b3[83]];_0x5118x15[_0x52b3[99]]=_0x5118xd[_0x52b3[99]];_0x5118x15[_0x52b3[82]]=_0x5118xd[_0x52b3[82]];_0x5118x15[_0x52b3[68]]=_0x5118xd[_0x52b3[68]];_0x5118x15[_0x52b3[100]]=_0x5118x19?_0x5118x19++:_0x5118xd[_0x52b3[100]]++;_0x5118x15[_0x52b3[101]]=_0x5118x1c;switch(_0x5118x15[_0x52b3[77]]){case _0x52b3[2]:_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118xd[_0x52b3[44]]?_0x52b3[84]:_0x5118xd[_0x52b3[51]],_0x5118x15[_0x52b3[82]],_0x5118x15[_0x52b3[100]]+1,_0x5118x15[_0x52b3[82]],(_0x5118x15[_0x52b3[100]]+2));break ;;case _0x52b3[86]:_0x5118x15[_0x52b3[77]]=_0x52b3[2];_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118x15[_0x52b3[82]],_0x5118x15[_0x52b3[100]]+_0x5118x20-_0x5118x1e,_0x5118x15[_0x52b3[82]],(_0x5118x1e+1)<_0x5118x20?(_0x5118x15[_0x52b3[100]]+1):(_0x5118x15[_0x52b3[100]]+2));break ;;case _0x52b3[21]:_0x5118x15[_0x52b3[44]]=_0x5118xd[_0x52b3[44]];_0x5118x15[_0x52b3[51]]=_0x5118xd[_0x52b3[51]];_0x5118x15[_0x52b3[116]]=_0x5118xd[_0x52b3[116]];_0x5118x15[_0x52b3[117]]=_0x5118xd[_0x52b3[117]];_0x5118x15[_0x52b3[118]]=_0x5118xd[_0x52b3[118]];_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118x15[_0x52b3[118]],_0x5118x15[_0x52b3[117]],_0x5118x15[_0x52b3[116]]);break ;;default:;};});break ;;case _0x52b3[24]:_0x5118x1b[_0x52b3[54]](function(_0x5118x15,_0x5118x1e){_0x5118x15[_0x52b3[83]]=_0x5118xd[_0x52b3[83]];_0x5118x15[_0x52b3[99]]=_0x5118xd[_0x52b3[99]];_0x5118x15[_0x52b3[82]]=_0x5118xd[_0x52b3[82]];_0x5118x15[_0x52b3[68]]=_0x5118xd[_0x52b3[68]];_0x5118x15[_0x52b3[100]]=_0x5118x19?_0x5118x19++:_0x5118xd[_0x52b3[100]]++;_0x5118x15[_0x52b3[101]]=_0x5118x1c;switch(_0x5118x15[_0x52b3[77]]){case _0x52b3[2]:_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118xd[_0x52b3[44]]?_0x52b3[84]:_0x5118xd[_0x52b3[51]],_0x5118x15[_0x52b3[82]],_0x5118x15[_0x52b3[100]]+1,_0x5118x15[_0x52b3[82]],(_0x5118x15[_0x52b3[100]]+2));break ;;case _0x52b3[86]:_0x5118x15[_0x52b3[77]]=_0x52b3[2];_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118x15[_0x52b3[82]],_0x5118x15[_0x52b3[100]]+_0x5118x20-_0x5118x1e,_0x5118x15[_0x52b3[82]],(_0x5118x1e+1)<_0x5118x20?(_0x5118x15[_0x52b3[100]]+1):(_0x5118x15[_0x52b3[100]]+2));break ;;case _0x52b3[24]:_0x5118x15[_0x52b3[44]]=_0x5118xd[_0x52b3[44]];_0x5118x15[_0x52b3[51]]=_0x5118xd[_0x52b3[51]];_0x5118x15[_0x52b3[119]]=_0x5118xd[_0x52b3[119]];_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118x15[_0x52b3[119]]);break ;;default:;};});break ;;case _0x52b3[4]:_0x5118x1b[_0x52b3[54]](function(_0x5118x15,_0x5118x1e){_0x5118x15[_0x52b3[83]]=_0x5118xd[_0x52b3[83]];_0x5118x15[_0x52b3[99]]=_0x5118xd[_0x52b3[99]];_0x5118x15[_0x52b3[82]]=_0x5118xd[_0x52b3[82]];_0x5118x15[_0x52b3[68]]=_0x5118xd[_0x52b3[68]];_0x5118x15[_0x52b3[100]]=_0x5118x19?_0x5118x19++:_0x5118xd[_0x52b3[100]]++;_0x5118x15[_0x52b3[101]]=_0x5118x1c;switch(_0x5118x15[_0x52b3[77]]){case _0x52b3[2]:_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118xd[_0x52b3[44]]?_0x52b3[84]:_0x5118xd[_0x52b3[51]],_0x5118x15[_0x52b3[82]],_0x5118x15[_0x52b3[100]]+1,_0x5118x15[_0x52b3[82]],(_0x5118x15[_0x52b3[100]]+2));break ;;case _0x52b3[86]:_0x5118x15[_0x52b3[77]]=_0x52b3[2];_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118x15[_0x52b3[82]],_0x5118x15[_0x52b3[100]]+_0x5118x20-_0x5118x1e,_0x5118x15[_0x52b3[82]],(_0x5118x1e+1)<_0x5118x20?(_0x5118x15[_0x52b3[100]]+1):(_0x5118x15[_0x52b3[100]]+2));break ;;case _0x52b3[4]:_0x5118x15[_0x52b3[44]]=_0x5118xd[_0x52b3[44]];_0x5118x15[_0x52b3[51]]=_0x5118xd[_0x52b3[51]];_0x5118x15[_0x52b3[120]]=_0x5118xd[_0x52b3[120]];_0x5118x15[_0x52b3[121]]=_0x5118xd[_0x52b3[121]];_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118x15[_0x52b3[120]],_0x5118x15[_0x52b3[121]]);break ;;default:;};});break ;;case _0x52b3[29]:_0x5118x1b[_0x52b3[54]](function(_0x5118x15,_0x5118x1e){_0x5118x15[_0x52b3[83]]=_0x5118xd[_0x52b3[83]];_0x5118x15[_0x52b3[99]]=_0x5118xd[_0x52b3[99]];_0x5118x15[_0x52b3[82]]=_0x5118xd[_0x52b3[82]];_0x5118x15[_0x52b3[68]]=_0x5118xd[_0x52b3[68]];_0x5118x15[_0x52b3[100]]=_0x5118x19?_0x5118x19++:_0x5118xd[_0x52b3[100]]++;_0x5118x15[_0x52b3[101]]=_0x5118x1c;switch(_0x5118x15[_0x52b3[77]]){case _0x52b3[2]:_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118xd[_0x52b3[44]]?_0x52b3[84]:_0x5118xd[_0x52b3[51]],_0x5118x15[_0x52b3[82]],_0x5118x15[_0x52b3[100]]+1,_0x5118x15[_0x52b3[82]],(_0x5118x15[_0x52b3[100]]+2));break ;;case _0x52b3[86]:_0x5118x15[_0x52b3[77]]=_0x52b3[2];_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118x15[_0x52b3[82]],_0x5118x15[_0x52b3[100]]+_0x5118x20-_0x5118x1e,_0x5118x15[_0x52b3[82]],(_0x5118x1e+1)<_0x5118x20?(_0x5118x15[_0x52b3[100]]+1):(_0x5118x15[_0x52b3[100]]+2));break ;;case _0x52b3[29]:_0x5118x15[_0x52b3[44]]=_0x5118xd[_0x52b3[44]];_0x5118x15[_0x52b3[51]]=_0x5118xd[_0x52b3[51]];_0x5118x15[_0x52b3[77]]=_0x5118x15[_0x52b3[79]]=_0x5118xd[_0x52b3[79]];_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118xd[_0x52b3[49]]);break ;;default:;};});break ;;case _0x52b3[31]:_0x5118x1b[_0x52b3[54]](function(_0x5118x15,_0x5118x1e){_0x5118x15[_0x52b3[83]]=_0x5118xd[_0x52b3[83]];_0x5118x15[_0x52b3[99]]=_0x5118xd[_0x52b3[99]];_0x5118x15[_0x52b3[82]]=_0x5118xd[_0x52b3[82]];_0x5118x15[_0x52b3[68]]=_0x5118xd[_0x52b3[68]];_0x5118x15[_0x52b3[100]]=_0x5118x19?_0x5118x19++:_0x5118xd[_0x52b3[100]]++;_0x5118x15[_0x52b3[101]]=_0x5118x1c;switch(_0x5118x15[_0x52b3[77]]){case _0x52b3[2]:_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118xd[_0x52b3[44]]?_0x52b3[84]:_0x5118xd[_0x52b3[51]],_0x5118x15[_0x52b3[82]],_0x5118x15[_0x52b3[100]]+1,_0x5118x15[_0x52b3[82]],(_0x5118x15[_0x52b3[100]]+2));break ;;case _0x52b3[86]:_0x5118x15[_0x52b3[77]]=_0x52b3[2];_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118x15[_0x52b3[82]],_0x5118x15[_0x52b3[100]]+_0x5118x20-_0x5118x1e,_0x5118x15[_0x52b3[82]],(_0x5118x1e+1)<_0x5118x20?(_0x5118x15[_0x52b3[100]]+1):(_0x5118x15[_0x52b3[100]]+2));break ;;case _0x52b3[31]:_0x5118x15[_0x52b3[44]]=_0x5118xd[_0x52b3[44]];_0x5118x15[_0x52b3[51]]=_0x5118xd[_0x52b3[51]];_0x5118x15[_0x52b3[122]]=_0x5118xd[_0x52b3[122]];_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118x15[_0x52b3[122]]);break ;;default:;};});break ;;default:_0x5118x1b[_0x52b3[54]](function(_0x5118x15,_0x5118x1e){_0x5118x15[_0x52b3[83]]=_0x5118xd[_0x52b3[83]];_0x5118x15[_0x52b3[99]]=_0x5118xd[_0x52b3[99]];_0x5118x15[_0x52b3[82]]=_0x5118xd[_0x52b3[82]];_0x5118x15[_0x52b3[68]]=_0x5118xd[_0x52b3[68]];_0x5118x15[_0x52b3[100]]=_0x5118x19?_0x5118x19++:_0x5118xd[_0x52b3[100]]++;_0x5118x15[_0x52b3[101]]=_0x5118x1c;switch(_0x5118x15[_0x52b3[77]]){case _0x52b3[2]:_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118xd[_0x52b3[44]]?_0x52b3[84]:_0x5118xd[_0x52b3[51]],_0x5118x15[_0x52b3[82]],_0x5118x15[_0x52b3[100]]+1,_0x5118x15[_0x52b3[82]],(_0x5118x15[_0x52b3[100]]+2));break ;;case _0x52b3[86]:_0x5118x15[_0x52b3[77]]=_0x52b3[2];_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118x15[_0x52b3[82]],_0x5118x15[_0x52b3[100]]+_0x5118x20-_0x5118x1e,_0x5118x15[_0x52b3[82]],(_0x5118x1e+1)<_0x5118x20?(_0x5118x15[_0x52b3[100]]+1):(_0x5118x15[_0x52b3[100]]+2));break ;;case _0x52b3[29]:_0x5118x15[_0x52b3[44]]=_0x5118xd[_0x52b3[44]];_0x5118x15[_0x52b3[51]]=_0x5118xd[_0x52b3[51]];_0x5118x15[_0x52b3[77]]=_0x5118x15[_0x52b3[79]]=_0x5118xd[_0x52b3[79]];_0x5118x15[_0x52b3[49]]=util[_0x52b3[52]](_0x5118x15[_0x52b3[49]],_0x5118xd[_0x52b3[49]]);break ;;default:;};});;};if(_0x5118x19){return _0x5118x19};}
\ No newline at end of file
index 11aa9a01c973da85e36c40853987e7fe9eee99f8..5a0304d3c55a80d2533536652948242019862386 100644 (file)
@@ -1 +1 @@
-var _0xc34a=["\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x53\x54\x52\x49\x4E\x47","\x6D\x61\x69\x6C\x5F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x68\x61\x73\x4D\x61\x6E\x79","\x63\x61\x73\x63\x61\x64\x65","\x68\x61\x73\x4F\x6E\x65","\x64\x65\x66\x69\x6E\x65"];module[_0xc34a[0]]=function(_0xf887x1,_0xf887x2){var _0xf887x3=_0xf887x1[_0xc34a[7]](_0xc34a[1],{description:_0xf887x2[_0xc34a[2]],name:{type:_0xf887x2[_0xc34a[2]],unique:true},address:_0xf887x2[_0xc34a[2]]},{tableName:_0xc34a[3],associate:function(_0xf887x4){_0xf887x3[_0xc34a[4]](_0xf887x4.MailRoom);_0xf887x3[_0xc34a[4]](_0xf887x4.MailTemplate);_0xf887x3[_0xc34a[4]](_0xf887x4.MailApplication);_0xf887x3[_0xc34a[6]](_0xf887x4.MailServerIn,{onDelete:_0xc34a[5],hooks:true});_0xf887x3[_0xc34a[6]](_0xf887x4.MailServerOut,{onDelete:_0xc34a[5],hooks:true});}});return _0xf887x3;};
\ No newline at end of file
+var _0xa8de=["\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x53\x54\x52\x49\x4E\x47","\x6D\x61\x69\x6C\x5F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x68\x61\x73\x4D\x61\x6E\x79","\x63\x61\x73\x63\x61\x64\x65","\x68\x61\x73\x4F\x6E\x65","\x64\x65\x66\x69\x6E\x65"];module[_0xa8de[0]]=function(_0x2973x1,_0x2973x2){var _0x2973x3=_0x2973x1[_0xa8de[7]](_0xa8de[1],{description:_0x2973x2[_0xa8de[2]],name:{type:_0x2973x2[_0xa8de[2]],unique:true},address:_0x2973x2[_0xa8de[2]]},{tableName:_0xa8de[3],associate:function(_0x2973x4){_0x2973x3[_0xa8de[4]](_0x2973x4.MailRoom);_0x2973x3[_0xa8de[4]](_0x2973x4.MailTemplate);_0x2973x3[_0xa8de[4]](_0x2973x4.MailApplication);_0x2973x3[_0xa8de[6]](_0x2973x4.MailServerIn,{onDelete:_0xa8de[5],hooks:true});_0x2973x3[_0xa8de[6]](_0x2973x4.MailServerOut,{onDelete:_0xa8de[5],hooks:true});}});return _0x2973x3;};
\ No newline at end of file
index 241c3033a25089a43fc4d5b27ec9c543e900154e..1fd2daeac08c112d7e10e6d0b379497a355debed 100644 (file)
@@ -1 +1 @@
-var _0xab1d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x71\x75\x65\x75\x65","\x61\x67\x65\x6E\x74","\x49\x4E\x54\x45\x47\x45\x52","\x53\x54\x52\x49\x4E\x47","\x6D\x61\x69\x6C\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];_0xab1d[0];module[_0xab1d[1]]=function(_0x3ea1x1,_0x3ea1x2){var _0x3ea1x3=_0x3ea1x1[_0xab1d[9]](_0xab1d[2],{app:{type:_0x3ea1x2.ENUM(_0xab1d[3],_0xab1d[4])},priority:{type:_0x3ea1x2[_0xab1d[5]]},timeout:{type:_0x3ea1x2[_0xab1d[5]]},interval:{type:_0x3ea1x2[_0xab1d[6]]}},{tableName:_0xab1d[7],associate:function(_0x3ea1x4){_0x3ea1x3[_0xab1d[8]](_0x3ea1x4.MailAccount);_0x3ea1x3[_0xab1d[8]](_0x3ea1x4.Interval);_0x3ea1x3[_0xab1d[8]](_0x3ea1x4.MailQueue);_0x3ea1x3[_0xab1d[8]](_0x3ea1x4.User);}});return _0x3ea1x3;};
\ No newline at end of file
+var _0x6160=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x71\x75\x65\x75\x65","\x61\x67\x65\x6E\x74","\x49\x4E\x54\x45\x47\x45\x52","\x53\x54\x52\x49\x4E\x47","\x6D\x61\x69\x6C\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];_0x6160[0];module[_0x6160[1]]=function(_0xc2dax1,_0xc2dax2){var _0xc2dax3=_0xc2dax1[_0x6160[9]](_0x6160[2],{app:{type:_0xc2dax2.ENUM(_0x6160[3],_0x6160[4])},priority:{type:_0xc2dax2[_0x6160[5]]},timeout:{type:_0xc2dax2[_0x6160[5]]},interval:{type:_0xc2dax2[_0x6160[6]]}},{tableName:_0x6160[7],associate:function(_0xc2dax4){_0xc2dax3[_0x6160[8]](_0xc2dax4.MailAccount);_0xc2dax3[_0x6160[8]](_0xc2dax4.Interval);_0xc2dax3[_0x6160[8]](_0xc2dax4.MailQueue);_0xc2dax3[_0x6160[8]](_0xc2dax4.User);}});return _0xc2dax3;};
\ No newline at end of file
index 04ae5006ac19c801dd7f36b1aedf3a180a6059de..b7af9f2a1f1bf7f55490db3aacfc83c03e5b88c7 100644 (file)
@@ -1 +1 @@
-var _0x8d02=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x6D\x61\x69\x6C\x5F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x73","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x8d02[0]);module[_0x8d02[1]]=function(_0x133dx2,_0x133dx3){var _0x133dx4=_0x133dx2[_0x8d02[6]](_0x8d02[2],{contentDisposition:_0x133dx3[_0x8d02[3]],fileName:_0x133dx3[_0x8d02[3]],path:_0x133dx3[_0x8d02[3]],contentType:_0x133dx3[_0x8d02[3]],transferEncoding:_0x133dx3[_0x8d02[3]],generatedFileName:_0x133dx3[_0x8d02[3]],contentId:_0x133dx3[_0x8d02[3]],checksum:_0x133dx3[_0x8d02[3]],length:_0x133dx3[_0x8d02[4]]},{tableName:_0x8d02[5]});return _0x133dx4;};
\ No newline at end of file
+var _0x283c=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x6D\x61\x69\x6C\x5F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x73","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x283c[0]);module[_0x283c[1]]=function(_0x9fe2x2,_0x9fe2x3){var _0x9fe2x4=_0x9fe2x2[_0x283c[6]](_0x283c[2],{domain:_0x9fe2x3[_0x283c[3]],size:_0x9fe2x3[_0x283c[4]],path:_0x9fe2x3[_0x283c[3]],name:_0x9fe2x3[_0x283c[3]],basename:_0x9fe2x3[_0x283c[3]],type:_0x9fe2x3[_0x283c[3]]},{tableName:_0x283c[5]});return _0x9fe2x4;};
\ No newline at end of file
index ce607d196309c4756a7aca21bf6aab5fe28e3b4e..4fd862cdcf41e8ee6f098c67398bb08bcb23a6f0 100644 (file)
@@ -1 +1 @@
-var _0x6fa3=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x53\x54\x52\x49\x4E\x47","\x54\x45\x58\x54","\x42\x4F\x4F\x4C\x45\x41\x4E","\x6D\x61\x69\x6C\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x6fa3[0]);module[_0x6fa3[1]]=function(_0x34c5x2,_0x34c5x3){var _0x34c5x4=_0x34c5x2[_0x6fa3[7]](_0x6fa3[2],{name:_0x34c5x3[_0x6fa3[3]],description:_0x34c5x3[_0x6fa3[3]],conditions:_0x34c5x3[_0x6fa3[4]],actions:_0x34c5x3[_0x6fa3[4]],status:{type:_0x34c5x3[_0x6fa3[5]],defaultValue:false}},{tableName:_0x6fa3[6]});return _0x34c5x4;};
\ No newline at end of file
+var _0x3381=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x53\x54\x52\x49\x4E\x47","\x54\x45\x58\x54","\x42\x4F\x4F\x4C\x45\x41\x4E","\x6D\x61\x69\x6C\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x3381[0]);module[_0x3381[1]]=function(_0x7507x2,_0x7507x3){var _0x7507x4=_0x7507x2[_0x3381[7]](_0x3381[2],{name:_0x7507x3[_0x3381[3]],description:_0x7507x3[_0x3381[3]],conditions:_0x7507x3[_0x3381[4]],actions:_0x7507x3[_0x3381[4]],status:{type:_0x7507x3[_0x3381[5]],defaultValue:false}},{tableName:_0x3381[6]});return _0x7507x4;};
\ No newline at end of file
index c0865519797d652efc8304a339885708f315a8aa..9f3330552157f6171b5b2d1677b780794c7b8ad8 100644 (file)
@@ -1 +1 @@
-var _0x18ee=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x42\x75\x73\x69\x6E\x65\x73\x73\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x53\x54\x52\x49\x4E\x47","\x42\x4F\x4F\x4C\x45\x41\x4E","\x49\x4E\x54\x45\x47\x45\x52","\x6D\x61\x69\x6C\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x18ee[0]);module[_0x18ee[1]]=function(_0xd7d6x2,_0xd7d6x3){var _0xd7d6x4=_0xd7d6x2[_0x18ee[8]](_0x18ee[2],{name:{type:_0xd7d6x3[_0x18ee[3]]},description:{type:_0xd7d6x3[_0x18ee[3]]},status:{type:_0xd7d6x3[_0x18ee[4]],defaultValue:false},jobId:{type:_0xd7d6x3[_0x18ee[5]]}},{tableName:_0x18ee[6],associate:function(_0xd7d6x5){_0xd7d6x4[_0x18ee[7]](_0xd7d6x5.BusinessAction);_0xd7d6x4[_0x18ee[7]](_0xd7d6x5.BusinessCondition);}});return _0xd7d6x4;};
\ No newline at end of file
+var _0xba3a=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x42\x75\x73\x69\x6E\x65\x73\x73\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x53\x54\x52\x49\x4E\x47","\x42\x4F\x4F\x4C\x45\x41\x4E","\x49\x4E\x54\x45\x47\x45\x52","\x6D\x61\x69\x6C\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0xba3a[0]);module[_0xba3a[1]]=function(_0x800dx2,_0x800dx3){var _0x800dx4=_0x800dx2[_0xba3a[8]](_0xba3a[2],{name:{type:_0x800dx3[_0xba3a[3]]},description:{type:_0x800dx3[_0xba3a[3]]},status:{type:_0x800dx3[_0xba3a[4]],defaultValue:false},jobId:{type:_0x800dx3[_0xba3a[5]]}},{tableName:_0xba3a[6],associate:function(_0x800dx5){_0x800dx4[_0xba3a[7]](_0x800dx5.BusinessAction);_0x800dx4[_0xba3a[7]](_0x800dx5.BusinessCondition);}});return _0x800dx4;};
\ No newline at end of file
index a9208ce00578ed8ca3d25f2c4a24d8fe1db1e41b..b8190dd2a722645d32eb6d35eec5e212819cdea8 100644 (file)
@@ -1 +1 @@
-var _0xefbd=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x53\x54\x52\x49\x4E\x47","\x54\x45\x58\x54","\x53\x45\x4E\x54","\x53\x45\x4E\x44\x49\x4E\x47","\x52\x45\x43\x45\x49\x56\x45\x44","\x46\x41\x49\x4C\x45\x44","\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x46\x72\x6F\x6D","\x54\x6F","\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x5F\x68\x61\x73\x5F\x74\x6F","\x63\x61\x73\x63\x61\x64\x65","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x43\x63","\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x5F\x68\x61\x73\x5F\x63\x63","\x42\x63\x63","\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x5F\x68\x61\x73\x5F\x62\x63\x63","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0xefbd[0]);module[_0xefbd[1]]=function(_0xcc13x2,_0xcc13x3){var _0xcc13x4=_0xcc13x2[_0xefbd[21]](_0xefbd[2],{messageId:_0xcc13x3[_0xefbd[3]],inReplyTo:_0xcc13x3[_0xefbd[3]],subject:_0xcc13x3[_0xefbd[3]],from:_0xcc13x3[_0xefbd[3]],to:_0xcc13x3[_0xefbd[3]],cc:_0xcc13x3[_0xefbd[3]],bcc:_0xcc13x3[_0xefbd[3]],attachment:_0xcc13x3[_0xefbd[4]],html:_0xcc13x3[_0xefbd[4]],text:_0xcc13x3[_0xefbd[4]],reason:_0xcc13x3[_0xefbd[4]],status:{type:_0xcc13x3.ENUM(_0xefbd[5],_0xefbd[6],_0xefbd[7],_0xefbd[8])}},{tableName:_0xefbd[9],associate:function(_0xcc13x5){_0xcc13x4[_0xefbd[10]](_0xcc13x5.MailRoom);_0xcc13x4[_0xefbd[10]](_0xcc13x5.ContactEmail,{as:_0xefbd[11]});_0xcc13x4[_0xefbd[15]](_0xcc13x5.ContactEmail,{as:_0xefbd[12],through:_0xefbd[13],onDelete:_0xefbd[14]});_0xcc13x4[_0xefbd[15]](_0xcc13x5.ContactEmail,{as:_0xefbd[16],through:_0xefbd[17],onDelete:_0xefbd[14]});_0xcc13x4[_0xefbd[15]](_0xcc13x5.ContactEmail,{as:_0xefbd[18],through:_0xefbd[19],onDelete:_0xefbd[14]});_0xcc13x4[_0xefbd[20]](_0xcc13x5.MailAttachment);}});return _0xcc13x4;};
\ No newline at end of file
+var _0xb24e=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x53\x54\x52\x49\x4E\x47","\x54\x45\x58\x54","\x53\x45\x4E\x54","\x53\x45\x4E\x44\x49\x4E\x47","\x52\x45\x43\x45\x49\x56\x45\x44","\x46\x41\x49\x4C\x45\x44","\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x46\x72\x6F\x6D","\x54\x6F","\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x5F\x68\x61\x73\x5F\x74\x6F","\x63\x61\x73\x63\x61\x64\x65","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x43\x63","\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x5F\x68\x61\x73\x5F\x63\x63","\x42\x63\x63","\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x5F\x68\x61\x73\x5F\x62\x63\x63","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0xb24e[0]);module[_0xb24e[1]]=function(_0x9e2fx2,_0x9e2fx3){var _0x9e2fx4=_0x9e2fx2[_0xb24e[21]](_0xb24e[2],{messageId:_0x9e2fx3[_0xb24e[3]],inReplyTo:_0x9e2fx3[_0xb24e[3]],subject:_0x9e2fx3[_0xb24e[3]],from:_0x9e2fx3[_0xb24e[3]],to:_0x9e2fx3[_0xb24e[3]],cc:_0x9e2fx3[_0xb24e[3]],bcc:_0x9e2fx3[_0xb24e[3]],attachment:_0x9e2fx3[_0xb24e[4]],html:_0x9e2fx3[_0xb24e[4]],text:_0x9e2fx3[_0xb24e[4]],reason:_0x9e2fx3[_0xb24e[4]],status:{type:_0x9e2fx3.ENUM(_0xb24e[5],_0xb24e[6],_0xb24e[7],_0xb24e[8])}},{tableName:_0xb24e[9],associate:function(_0x9e2fx5){_0x9e2fx4[_0xb24e[10]](_0x9e2fx5.MailRoom);_0x9e2fx4[_0xb24e[10]](_0x9e2fx5.ContactEmail,{as:_0xb24e[11]});_0x9e2fx4[_0xb24e[15]](_0x9e2fx5.ContactEmail,{as:_0xb24e[12],through:_0xb24e[13],onDelete:_0xb24e[14]});_0x9e2fx4[_0xb24e[15]](_0x9e2fx5.ContactEmail,{as:_0xb24e[16],through:_0xb24e[17],onDelete:_0xb24e[14]});_0x9e2fx4[_0xb24e[15]](_0x9e2fx5.ContactEmail,{as:_0xb24e[18],through:_0xb24e[19],onDelete:_0xb24e[14]});_0x9e2fx4[_0xb24e[20]](_0x9e2fx5.MailAttachment);}});return _0x9e2fx4;};
\ No newline at end of file
index 2610abce8cccb5a5da7918bf12cb157b93543f86..134cd9ec586b5a6c2a9bee9bf474418190799b64 100644 (file)
@@ -1 +1 @@
-var _0x77aa=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x72\x72\x6D\x65\x6D\x6F\x72\x79","\x62\x65\x65\x70\x61\x6C\x6C","\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x73","\x55\x73\x65\x72\x48\x61\x73\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];_0x77aa[0];module[_0x77aa[1]]=function(_0xa091x1,_0xa091x2){var _0xa091x3=_0xa091x1[_0x77aa[10]](_0x77aa[2],{name:{type:_0xa091x2[_0x77aa[3]],unique:true},description:{type:_0xa091x2[_0x77aa[3]]},timeout:{type:_0xa091x2[_0x77aa[4]]},strategy:{type:_0xa091x2.ENUM(_0x77aa[5],_0x77aa[6])}},{tableName:_0x77aa[7],associate:function(_0xa091x4){_0xa091x3[_0x77aa[9]](_0xa091x4.User,{through:_0xa091x4[_0x77aa[8]]})}});return _0xa091x3;};
\ No newline at end of file
+var _0x7f9b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x72\x72\x6D\x65\x6D\x6F\x72\x79","\x62\x65\x65\x70\x61\x6C\x6C","\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x73","\x55\x73\x65\x72\x48\x61\x73\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];_0x7f9b[0];module[_0x7f9b[1]]=function(_0x64b3x1,_0x64b3x2){var _0x64b3x3=_0x64b3x1[_0x7f9b[10]](_0x7f9b[2],{name:{type:_0x64b3x2[_0x7f9b[3]],unique:true},description:{type:_0x64b3x2[_0x7f9b[3]]},timeout:{type:_0x64b3x2[_0x7f9b[4]]},strategy:{type:_0x64b3x2.ENUM(_0x7f9b[5],_0x7f9b[6])}},{tableName:_0x7f9b[7],associate:function(_0x64b3x4){_0x64b3x3[_0x7f9b[9]](_0x64b3x4.User,{through:_0x64b3x4[_0x7f9b[8]]})}});return _0x64b3x3;};
\ No newline at end of file
index 8b4c5f658b89cc8259f34080950e68816cfb1d02..d1ff1ca698c33a632328f9471319c44778c9c620 100644 (file)
@@ -1 +1 @@
-var _0xd858=["\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x53\x54\x52\x49\x4E\x47","\x42\x4F\x4F\x4C\x45\x41\x4E","\x4E\x45\x57","\x4F\x50\x45\x4E","\x43\x4C\x4F\x53\x45\x44","\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73","\x68\x61\x73\x4D\x61\x6E\x79","\x53\x74\x61\x74\x65\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];module[_0xd858[0]]=function(_0xbb08x1,_0xbb08x2){var _0xbb08x3=_0xbb08x1[_0xd858[11]](_0xd858[1],{subject:_0xbb08x2[_0xd858[2]],from:_0xbb08x2[_0xd858[2]],attachment:{type:_0xbb08x2[_0xd858[3]],defaultValue:false},status:{type:_0xbb08x2.ENUM(_0xd858[4],_0xd858[5],_0xd858[6]),defaultValue:_0xd858[4]}},{tableName:_0xd858[7],associate:function(_0xbb08x4){_0xbb08x3[_0xd858[8]](_0xbb08x4.MailMessage);_0xbb08x3[_0xd858[8]](_0xbb08x4.MailRoomStatus,{as:_0xd858[9]});_0xbb08x3[_0xd858[10]](_0xbb08x4.MailAccount);_0xbb08x3[_0xd858[10]](_0xbb08x4.User);}});return _0xbb08x3;};
\ No newline at end of file
+var _0xb1f5=["\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x53\x54\x52\x49\x4E\x47","\x42\x4F\x4F\x4C\x45\x41\x4E","\x4E\x45\x57","\x4F\x50\x45\x4E","\x43\x4C\x4F\x53\x45\x44","\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73","\x68\x61\x73\x4D\x61\x6E\x79","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];module[_0xb1f5[0]]=function(_0x3d07x1,_0x3d07x2){var _0x3d07x3=_0x3d07x1[_0xb1f5[12]](_0xb1f5[1],{subject:_0x3d07x2[_0xb1f5[2]],from:_0x3d07x2[_0xb1f5[2]],attachment:{type:_0x3d07x2[_0xb1f5[3]],defaultValue:false},status:{type:_0x3d07x2.ENUM(_0xb1f5[4],_0xb1f5[5],_0xb1f5[6]),defaultValue:_0xb1f5[4]}},{tableName:_0xb1f5[7],associate:function(_0x3d07x4){_0x3d07x3[_0xb1f5[8]](_0x3d07x4.MailMessage);_0x3d07x3[_0xb1f5[9]](_0x3d07x4.MailAccount);_0x3d07x3[_0xb1f5[11]](_0x3d07x4.User,{through:_0xb1f5[10]});}});return _0x3d07x3;};
\ No newline at end of file
index b56bf76a307baaf18940e8ad8df055e04baefe1e..3af8c8ac784f46d8d7ed873209aea925f735af80 100644 (file)
@@ -1 +1 @@
-var _0xa619=["\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x53\x74\x61\x74\x75\x73","\x52\x45\x43\x45\x49\x56\x45\x44","\x41\x53\x53\x49\x47\x4E\x45\x44","\x52\x45\x50\x4C\x49\x45\x44","\x41\x52\x43\x48\x49\x56\x45\x44","\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x5F\x73\x74\x61\x74\x65\x73","\x64\x65\x66\x69\x6E\x65"];module[_0xa619[0]]=function(_0x4bdfx1,_0x4bdfx2){var _0x4bdfx3=_0x4bdfx1[_0xa619[7]](_0xa619[1],{status:_0x4bdfx2.ENUM(_0xa619[2],_0xa619[3],_0xa619[4],_0xa619[5])},{tableName:_0xa619[6]});return _0x4bdfx3;};
\ No newline at end of file
+var _0xb984=["\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x53\x74\x61\x74\x75\x73","\x52\x45\x43\x45\x49\x56\x45\x44","\x41\x53\x53\x49\x47\x4E\x45\x44","\x52\x45\x50\x4C\x49\x45\x44","\x41\x52\x43\x48\x49\x56\x45\x44","\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x5F\x73\x74\x61\x74\x65\x73","\x64\x65\x66\x69\x6E\x65"];module[_0xb984[0]]=function(_0xedcfx1,_0xedcfx2){var _0xedcfx3=_0xedcfx1[_0xb984[7]](_0xb984[1],{status:_0xedcfx2.ENUM(_0xb984[2],_0xb984[3],_0xb984[4],_0xb984[5])},{tableName:_0xb984[6]});return _0xedcfx3;};
\ No newline at end of file
index 7ab2b52f7e15d3ef60840e192789c84f67ba259f..e5e00828ccf69fb27f1e5eddcc33d93727791da9 100644 (file)
@@ -1 +1 @@
-var _0x680a=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x49\x6E","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x42\x4F\x4F\x4C\x45\x41\x4E","\x55\x4E\x53\x45\x45\x4E","\x49\x4D\x41\x50","\x50\x4F\x50\x33","\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x44\x49\x53\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x45\x52\x52\x4F\x52","\x55\x4E\x4B\x4E\x4F\x57\x4E","\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x73\x5F\x69\x6E","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x680a[0]);module[_0x680a[1]]=function(_0x20f7x2,_0x20f7x3){var _0x20f7x4=_0x20f7x2[_0x680a[14]](_0x680a[2],{description:_0x20f7x3[_0x680a[3]],host:_0x20f7x3[_0x680a[3]],username:_0x20f7x3[_0x680a[3]],password:_0x20f7x3[_0x680a[3]],port:_0x20f7x3[_0x680a[4]],mailbox:_0x20f7x3[_0x680a[3]],ssl:{type:_0x20f7x3[_0x680a[5]],defaultValue:false},delete:{type:_0x20f7x3[_0x680a[5]],defaultValue:false},filter:{type:_0x20f7x3.ENUM(_0x680a[6]),defaultValue:_0x680a[6]},protocol:{type:_0x20f7x3.ENUM(_0x680a[7],_0x680a[8]),defaultValue:_0x680a[7]},state:{type:_0x20f7x3.ENUM(_0x680a[9],_0x680a[10],_0x680a[11],_0x680a[12]),defaultValue:_0x680a[12]}},{tableName:_0x680a[13]});return _0x20f7x4;};
\ No newline at end of file
+var _0xded6=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x49\x6E","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x42\x4F\x4F\x4C\x45\x41\x4E","\x55\x4E\x53\x45\x45\x4E","\x49\x4D\x41\x50","\x50\x4F\x50\x33","\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x44\x49\x53\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x45\x52\x52\x4F\x52","\x55\x4E\x4B\x4E\x4F\x57\x4E","\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x73\x5F\x69\x6E","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0xded6[0]);module[_0xded6[1]]=function(_0x8d10x2,_0x8d10x3){var _0x8d10x4=_0x8d10x2[_0xded6[14]](_0xded6[2],{description:_0x8d10x3[_0xded6[3]],host:_0x8d10x3[_0xded6[3]],username:_0x8d10x3[_0xded6[3]],password:_0x8d10x3[_0xded6[3]],port:_0x8d10x3[_0xded6[4]],mailbox:_0x8d10x3[_0xded6[3]],ssl:{type:_0x8d10x3[_0xded6[5]],defaultValue:false},delete:{type:_0x8d10x3[_0xded6[5]],defaultValue:false},filter:{type:_0x8d10x3.ENUM(_0xded6[6]),defaultValue:_0xded6[6]},protocol:{type:_0x8d10x3.ENUM(_0xded6[7],_0xded6[8]),defaultValue:_0xded6[7]},state:{type:_0x8d10x3.ENUM(_0xded6[9],_0xded6[10],_0xded6[11],_0xded6[12]),defaultValue:_0xded6[12]}},{tableName:_0xded6[13]});return _0x8d10x4;};
\ No newline at end of file
index 06d04b41b717f8adbb5367fcf8cbb265168ab5eb..e282822358ac4bc125dbec169ffef0b0d9b75ece 100644 (file)
@@ -1 +1 @@
-var _0xc8a0=["\x63\x72\x79\x70\x74\x6F","\x6E\x6F\x64\x65\x6D\x61\x69\x6C\x65\x72\x2D\x73\x6D\x74\x70\x2D\x74\x72\x61\x6E\x73\x70\x6F\x72\x74","\x6E\x6F\x64\x65\x6D\x61\x69\x6C\x65\x72","\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x42\x4F\x4F\x4C\x45\x41\x4E","\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x44\x49\x53\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x45\x52\x52\x4F\x52","\x55\x4E\x4B\x4E\x4F\x57\x4E","\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x73\x5F\x6F\x75\x74","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0xc8a0[0]);var smtpTransport=require(_0xc8a0[1]);var nodemailer=require(_0xc8a0[2]);module[_0xc8a0[3]]=function(_0x4156x4,_0x4156x5){var _0x4156x6=_0x4156x4[_0xc8a0[13]](_0xc8a0[4],{description:_0x4156x5[_0xc8a0[5]],host:_0x4156x5[_0xc8a0[5]],username:_0x4156x5[_0xc8a0[5]],password:_0x4156x5[_0xc8a0[5]],port:_0x4156x5[_0xc8a0[6]],ssl:{type:_0x4156x5[_0xc8a0[7]],defaultValue:false},service:{type:_0x4156x5[_0xc8a0[7]],defaultValue:false},state:{type:_0x4156x5.ENUM(_0xc8a0[8],_0xc8a0[9],_0xc8a0[10],_0xc8a0[11]),defaultValue:_0xc8a0[11]}},{tableName:_0xc8a0[12]});return _0x4156x6;};
\ No newline at end of file
+var _0xdd4f=["\x63\x72\x79\x70\x74\x6F","\x6E\x6F\x64\x65\x6D\x61\x69\x6C\x65\x72\x2D\x73\x6D\x74\x70\x2D\x74\x72\x61\x6E\x73\x70\x6F\x72\x74","\x6E\x6F\x64\x65\x6D\x61\x69\x6C\x65\x72","\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x42\x4F\x4F\x4C\x45\x41\x4E","\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x44\x49\x53\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x45\x52\x52\x4F\x52","\x55\x4E\x4B\x4E\x4F\x57\x4E","\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x73\x5F\x6F\x75\x74","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0xdd4f[0]);var smtpTransport=require(_0xdd4f[1]);var nodemailer=require(_0xdd4f[2]);module[_0xdd4f[3]]=function(_0x44c7x4,_0x44c7x5){var _0x44c7x6=_0x44c7x4[_0xdd4f[13]](_0xdd4f[4],{description:_0x44c7x5[_0xdd4f[5]],host:_0x44c7x5[_0xdd4f[5]],username:_0x44c7x5[_0xdd4f[5]],password:_0x44c7x5[_0xdd4f[5]],port:_0x44c7x5[_0xdd4f[6]],ssl:{type:_0x44c7x5[_0xdd4f[7]],defaultValue:false},service:{type:_0x44c7x5[_0xdd4f[7]],defaultValue:false},state:{type:_0x44c7x5.ENUM(_0xdd4f[8],_0xdd4f[9],_0xdd4f[10],_0xdd4f[11]),defaultValue:_0xdd4f[11]}},{tableName:_0xdd4f[12]});return _0x44c7x6;};
\ No newline at end of file
index a5aeb23752206e30abf20829404ac99ccb6982ca..ac97b32d769f07f9c1cfb47f784240aa3b673249 100644 (file)
@@ -1 +1 @@
-var _0xfeaa=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x54\x65\x6D\x70\x6C\x61\x74\x65","\x53\x54\x52\x49\x4E\x47","\x54\x45\x58\x54","\x6D\x61\x69\x6C\x5F\x74\x65\x6D\x70\x6C\x61\x74\x65\x73","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0xfeaa[0]);module[_0xfeaa[1]]=function(_0x6152x2,_0x6152x3){var _0x6152x4=_0x6152x2[_0xfeaa[6]](_0xfeaa[2],{name:_0x6152x3[_0xfeaa[3]],description:_0x6152x3[_0xfeaa[3]],subject:_0x6152x3[_0xfeaa[3]],from:_0x6152x3[_0xfeaa[3]],to:_0x6152x3[_0xfeaa[3]],cc:_0x6152x3[_0xfeaa[3]],attachment:_0x6152x3[_0xfeaa[4]],html:_0x6152x3[_0xfeaa[4]],text:_0x6152x3[_0xfeaa[4]]},{tableName:_0xfeaa[5]});return _0x6152x4;};
\ No newline at end of file
+var _0xf274=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x54\x65\x6D\x70\x6C\x61\x74\x65","\x53\x54\x52\x49\x4E\x47","\x54\x45\x58\x54","\x6D\x61\x69\x6C\x5F\x74\x65\x6D\x70\x6C\x61\x74\x65\x73","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0xf274[0]);module[_0xf274[1]]=function(_0xc417x2,_0xc417x3){var _0xc417x4=_0xc417x2[_0xf274[6]](_0xf274[2],{name:_0xc417x3[_0xf274[3]],description:_0xc417x3[_0xf274[3]],subject:_0xc417x3[_0xf274[3]],from:_0xc417x3[_0xf274[3]],to:_0xc417x3[_0xf274[3]],cc:_0xc417x3[_0xf274[3]],attachment:_0xc417x3[_0xf274[4]],html:_0xc417x3[_0xf274[4]],text:_0xc417x3[_0xf274[4]]},{tableName:_0xf274[5]});return _0xc417x4;};
\ No newline at end of file
index 2bbb84f670ef33b5630c74e406f94bba6f39af6c..b7ae7b4e66d68bdad5785ead5ee1bb53b3ea1596 100644 (file)
@@ -1 +1 @@
-var _0x609f=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x54\x72\x69\x67\x67\x65\x72","\x53\x54\x52\x49\x4E\x47","\x54\x45\x58\x54","\x42\x4F\x4F\x4C\x45\x41\x4E","\x6D\x61\x69\x6C\x5F\x74\x72\x69\x67\x67\x65\x72\x73","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x609f[0]);module[_0x609f[1]]=function(_0x80f2x2,_0x80f2x3){var _0x80f2x4=_0x80f2x2[_0x609f[7]](_0x609f[2],{name:_0x80f2x3[_0x609f[3]],description:_0x80f2x3[_0x609f[3]],conditions:_0x80f2x3[_0x609f[4]],actions:_0x80f2x3[_0x609f[4]],status:{type:_0x80f2x3[_0x609f[5]],defaultValue:false}},{tableName:_0x609f[6]});return _0x80f2x4;};
\ No newline at end of file
+var _0x580b=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x54\x72\x69\x67\x67\x65\x72","\x53\x54\x52\x49\x4E\x47","\x54\x45\x58\x54","\x42\x4F\x4F\x4C\x45\x41\x4E","\x6D\x61\x69\x6C\x5F\x74\x72\x69\x67\x67\x65\x72\x73","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x580b[0]);module[_0x580b[1]]=function(_0x6f04x2,_0x6f04x3){var _0x6f04x4=_0x6f04x2[_0x580b[7]](_0x580b[2],{name:_0x6f04x3[_0x580b[3]],description:_0x6f04x3[_0x580b[3]],conditions:_0x6f04x3[_0x580b[4]],actions:_0x6f04x3[_0x580b[4]],status:{type:_0x6f04x3[_0x580b[5]],defaultValue:false}},{tableName:_0x580b[6]});return _0x6f04x4;};
\ No newline at end of file
index 7d650ad451e6266504977f569013ba325896243a..2c85ee78d18dbba9811989b30362bce89657e48b 100644 (file)
@@ -1 +1 @@
-var _0xe977=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x4D\x65\x74\x72\x69\x63","\x53\x54\x52\x49\x4E\x47","\x54\x45\x58\x54","\x6D\x65\x74\x72\x69\x63\x73","\x64\x65\x66\x69\x6E\x65"];_0xe977[0];module[_0xe977[1]]=function(_0x77c3x1,_0x77c3x2){var _0x77c3x3=_0x77c3x1[_0xe977[6]](_0xe977[2],{name:{type:_0x77c3x2[_0xe977[3]],unique:true,validate:{notEmpty:true}},table:_0x77c3x2[_0xe977[3]],metric:_0x77c3x2[_0xe977[4]],description:_0x77c3x2[_0xe977[3]]},{tableName:_0xe977[5]});return _0x77c3x3;};
\ No newline at end of file
+var _0x714a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x4D\x65\x74\x72\x69\x63","\x53\x54\x52\x49\x4E\x47","\x54\x45\x58\x54","\x6D\x65\x74\x72\x69\x63\x73","\x64\x65\x66\x69\x6E\x65"];_0x714a[0];module[_0x714a[1]]=function(_0x1c4fx1,_0x1c4fx2){var _0x1c4fx3=_0x1c4fx1[_0x714a[6]](_0x714a[2],{name:{type:_0x1c4fx2[_0x714a[3]],unique:true,validate:{notEmpty:true}},table:_0x1c4fx2[_0x714a[3]],metric:_0x1c4fx2[_0x714a[4]],description:_0x1c4fx2[_0x714a[3]]},{tableName:_0x714a[5]});return _0x1c4fx3;};
\ No newline at end of file
index a7eca70b7e4898b33c247ca4cd6d429961c428e8..04890bc1640f54f61d89863061bcd93c057e88ec 100644 (file)
@@ -1 +1 @@
-var _0x7f4f=["\x65\x78\x70\x6F\x72\x74\x73","\x4D\x6F\x64\x75\x6C\x65","\x53\x54\x52\x49\x4E\x47","\x6D\x6F\x64\x75\x6C\x65\x73","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x6F\x64\x75\x6C\x65\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];module[_0x7f4f[0]]=function(_0xc263x1,_0xc263x2){var _0xc263x3=_0xc263x1[_0x7f4f[6]](_0x7f4f[1],{name:{type:_0xc263x2[_0x7f4f[2]],unique:true,allowNull:false,validate:{notEmpty:true}},title:_0xc263x2[_0x7f4f[2]]},{tableName:_0x7f4f[3],associate:function(_0xc263x4){_0xc263x3[_0x7f4f[5]](_0xc263x4.User,{through:_0x7f4f[4]})}});return _0xc263x3;};
\ No newline at end of file
+var _0x8211=["\x65\x78\x70\x6F\x72\x74\x73","\x4D\x6F\x64\x75\x6C\x65","\x53\x54\x52\x49\x4E\x47","\x6D\x6F\x64\x75\x6C\x65\x73","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x6F\x64\x75\x6C\x65\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];module[_0x8211[0]]=function(_0xd845x1,_0xd845x2){var _0xd845x3=_0xd845x1[_0x8211[6]](_0x8211[1],{name:{type:_0xd845x2[_0x8211[2]],unique:true,allowNull:false,validate:{notEmpty:true}},title:_0xd845x2[_0x8211[2]]},{tableName:_0x8211[3],associate:function(_0xd845x4){_0xd845x3[_0x8211[5]](_0xd845x4.User,{through:_0x8211[4]})}});return _0xd845x3;};
\ No newline at end of file
index 44e69275cb32aa9eef94557dd98c4354e9cc715c..1b8a77ab5eb30c660dcba6a45716213e6420298e 100644 (file)
@@ -1 +1 @@
-var _0x41d3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x4D\x6F\x74\x69\x6F\x6E\x62\x61\x72","\x45\x4E\x55\x4D","\x68\x61\x6E\x67\x75\x70","\x69\x6E\x63\x6F\x6D\x69\x6E\x67","\x61\x63\x74\x69\x76\x65","\x53\x54\x52\x49\x4E\x47","\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72","\x41\x64\x6D\x69\x6E","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x55\x73\x65\x72","\x64\x65\x66\x69\x6E\x65"];_0x41d3[0];module[_0x41d3[1]]=function(_0xab18x1,_0xab18x2){var _0xab18x3=_0xab18x1[_0x41d3[12]](_0x41d3[2],{action:{type:_0xab18x2[_0x41d3[3]],values:[_0x41d3[4]],allowNull:false},state:{type:_0xab18x2[_0x41d3[3]],values:[_0x41d3[5],_0x41d3[6]]},phone:{type:_0xab18x2[_0x41d3[7]]}},{tableName:_0x41d3[8],associate:function(_0xab18x4){_0xab18x3[_0x41d3[10]](_0xab18x4.User,{as:_0x41d3[9]});_0xab18x3[_0x41d3[10]](_0xab18x4.User,{as:_0x41d3[11]});}});return _0xab18x3;};
\ No newline at end of file
+var _0xde11=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x4D\x6F\x74\x69\x6F\x6E\x62\x61\x72","\x45\x4E\x55\x4D","\x68\x61\x6E\x67\x75\x70","\x69\x6E\x63\x6F\x6D\x69\x6E\x67","\x61\x63\x74\x69\x76\x65","\x53\x54\x52\x49\x4E\x47","\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72","\x41\x64\x6D\x69\x6E","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x55\x73\x65\x72","\x64\x65\x66\x69\x6E\x65"];_0xde11[0];module[_0xde11[1]]=function(_0x8b2bx1,_0x8b2bx2){var _0x8b2bx3=_0x8b2bx1[_0xde11[12]](_0xde11[2],{action:{type:_0x8b2bx2[_0xde11[3]],values:[_0xde11[4]],allowNull:false},state:{type:_0x8b2bx2[_0xde11[3]],values:[_0xde11[5],_0xde11[6]]},phone:{type:_0x8b2bx2[_0xde11[7]]}},{tableName:_0xde11[8],associate:function(_0x8b2bx4){_0x8b2bx3[_0xde11[10]](_0x8b2bx4.User,{as:_0xde11[9]});_0x8b2bx3[_0xde11[10]](_0x8b2bx4.User,{as:_0xde11[11]});}});return _0x8b2bx3;};
\ No newline at end of file
index d03ad6cb80f0915f2af5fee18ed8511d78c4966b..2deac419814f2ae1fd1180da54c7ed51750178df 100644 (file)
@@ -1 +1 @@
-var _0x2470=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74","\x53\x54\x52\x49\x4E\x47","\x44\x41\x54\x45","\x49\x4E\x54\x45\x47\x45\x52","\x42\x4F\x4F\x4C\x45\x41\x4E","\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74","\x75\x6E\x69\x71\x75\x65\x69\x64","\x64\x65\x73\x74\x75\x6E\x69\x71\x75\x65\x69\x64","\x64\x65\x66\x69\x6E\x65"];module[_0x2470[0]]=function(_0xadddx1,_0xadddx2){var _0xadddx3=_0xadddx1[_0x2470[9]](_0x2470[1],{uniqueid:_0xadddx2[_0x2470[2]],calleridnum:_0xadddx2[_0x2470[2]],calleridname:_0xadddx2[_0x2470[2]],queue:_0xadddx2[_0x2470[2]],interface:_0xadddx2[_0x2470[2]],membername:_0xadddx2[_0x2470[2]],agentcalledAt:_0xadddx2[_0x2470[3]],agentconnectAt:_0xadddx2[_0x2470[3]],holdtime:_0xadddx2[_0x2470[4]],agentcomplete:{type:_0xadddx2[_0x2470[5]],defaultValue:false},agentcompleteAt:_0xadddx2[_0x2470[3]],talktime:_0xadddx2[_0x2470[4]],agentacw:{type:_0xadddx2[_0x2470[5]],defaultValue:false},acwtime:_0xadddx2[_0x2470[4]],reason:_0xadddx2[_0x2470[2]],agentringnoanswer:{type:_0xadddx2[_0x2470[5]],defaultValue:false},agentringnoanswerAt:_0xadddx2[_0x2470[3]],agentdump:{type:_0xadddx2[_0x2470[5]],defaultValue:false},agentdumpAt:_0xadddx2[_0x2470[3]],lastevent:_0xadddx2[_0x2470[2]],channel:_0xadddx2[_0x2470[2]],channelstate:_0xadddx2[_0x2470[4]],channelstatedesc:_0xadddx2[_0x2470[2]],connectedlinenum:_0xadddx2[_0x2470[2]],connectedlinename:_0xadddx2[_0x2470[2]],language:_0xadddx2[_0x2470[2]],accountcode:_0xadddx2[_0x2470[2]],context:_0xadddx2[_0x2470[2]],exten:_0xadddx2[_0x2470[2]],priority:_0xadddx2[_0x2470[2]],destchannel:_0xadddx2[_0x2470[2]],destchannelstate:_0xadddx2[_0x2470[4]],destchannelstatedesc:_0xadddx2[_0x2470[2]],destcalleridnum:_0xadddx2[_0x2470[2]],destcalleridname:_0xadddx2[_0x2470[2]],destconnectedlinenum:_0xadddx2[_0x2470[2]],destconnectedlinename:_0xadddx2[_0x2470[2]],destlanguage:_0xadddx2[_0x2470[2]],destaccountcode:_0xadddx2[_0x2470[2]],destcontext:_0xadddx2[_0x2470[2]],destexten:_0xadddx2[_0x2470[2]],destpriority:_0xadddx2[_0x2470[2]],destuniqueid:_0xadddx2[_0x2470[2]]},{tableName:_0x2470[6],indexes:[{fields:[_0x2470[7],_0x2470[8]]}]});return _0xadddx3;};
\ No newline at end of file
+var _0xdbef=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74","\x53\x54\x52\x49\x4E\x47","\x44\x41\x54\x45","\x49\x4E\x54\x45\x47\x45\x52","\x42\x4F\x4F\x4C\x45\x41\x4E","\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74","\x75\x6E\x69\x71\x75\x65\x69\x64","\x64\x65\x73\x74\x75\x6E\x69\x71\x75\x65\x69\x64","\x64\x65\x66\x69\x6E\x65"];module[_0xdbef[0]]=function(_0xf6e9x1,_0xf6e9x2){var _0xf6e9x3=_0xf6e9x1[_0xdbef[9]](_0xdbef[1],{uniqueid:_0xf6e9x2[_0xdbef[2]],calleridnum:_0xf6e9x2[_0xdbef[2]],calleridname:_0xf6e9x2[_0xdbef[2]],queue:_0xf6e9x2[_0xdbef[2]],interface:_0xf6e9x2[_0xdbef[2]],membername:_0xf6e9x2[_0xdbef[2]],agentcalledAt:_0xf6e9x2[_0xdbef[3]],agentconnectAt:_0xf6e9x2[_0xdbef[3]],holdtime:_0xf6e9x2[_0xdbef[4]],agentcomplete:{type:_0xf6e9x2[_0xdbef[5]],defaultValue:false},agentcompleteAt:_0xf6e9x2[_0xdbef[3]],talktime:_0xf6e9x2[_0xdbef[4]],agentacw:{type:_0xf6e9x2[_0xdbef[5]],defaultValue:false},acwtime:_0xf6e9x2[_0xdbef[4]],reason:_0xf6e9x2[_0xdbef[2]],agentringnoanswer:{type:_0xf6e9x2[_0xdbef[5]],defaultValue:false},agentringnoanswerAt:_0xf6e9x2[_0xdbef[3]],agentdump:{type:_0xf6e9x2[_0xdbef[5]],defaultValue:false},agentdumpAt:_0xf6e9x2[_0xdbef[3]],lastevent:_0xf6e9x2[_0xdbef[2]],channel:_0xf6e9x2[_0xdbef[2]],channelstate:_0xf6e9x2[_0xdbef[4]],channelstatedesc:_0xf6e9x2[_0xdbef[2]],connectedlinenum:_0xf6e9x2[_0xdbef[2]],connectedlinename:_0xf6e9x2[_0xdbef[2]],language:_0xf6e9x2[_0xdbef[2]],accountcode:_0xf6e9x2[_0xdbef[2]],context:_0xf6e9x2[_0xdbef[2]],exten:_0xf6e9x2[_0xdbef[2]],priority:_0xf6e9x2[_0xdbef[2]],destchannel:_0xf6e9x2[_0xdbef[2]],destchannelstate:_0xf6e9x2[_0xdbef[4]],destchannelstatedesc:_0xf6e9x2[_0xdbef[2]],destcalleridnum:_0xf6e9x2[_0xdbef[2]],destcalleridname:_0xf6e9x2[_0xdbef[2]],destconnectedlinenum:_0xf6e9x2[_0xdbef[2]],destconnectedlinename:_0xf6e9x2[_0xdbef[2]],destlanguage:_0xf6e9x2[_0xdbef[2]],destaccountcode:_0xf6e9x2[_0xdbef[2]],destcontext:_0xf6e9x2[_0xdbef[2]],destexten:_0xf6e9x2[_0xdbef[2]],destpriority:_0xf6e9x2[_0xdbef[2]],destuniqueid:_0xf6e9x2[_0xdbef[2]]},{tableName:_0xdbef[6],indexes:[{fields:[_0xdbef[7],_0xdbef[8]]}]});return _0xf6e9x3;};
\ No newline at end of file
index c6fbd77071d8cdd7167d7d6d4376e7d27b314a0c..3113ccfcbc0206794d3d840218b0505c24a85b94 100644 (file)
@@ -1 +1 @@
-var _0x7afa=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x43\x61\x6C\x6C","\x53\x54\x52\x49\x4E\x47","\x44\x41\x54\x45","","\x61\x6E\x73\x77\x65\x72\x74\x69\x6D\x65","\x73\x65\x74\x44\x61\x74\x61\x56\x61\x6C\x75\x65","\x49\x4E\x54\x45\x47\x45\x52","\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C","\x51\x75\x65\x75\x65\x43\x61\x6C\x6C\x73","\x75\x6E\x69\x71\x75\x65\x69\x64","\x68\x61\x73\x4D\x61\x6E\x79","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74\x73","\x64\x65\x66\x69\x6E\x65"];module[_0x7afa[0]]=function(_0xe659x1,_0xe659x2){var _0xe659x3=_0xe659x1[_0x7afa[13]](_0x7afa[1],{accountcode:_0xe659x2[_0x7afa[2]],source:_0xe659x2[_0x7afa[2]],destination:_0xe659x2[_0x7afa[2]],destinationcontext:_0xe659x2[_0x7afa[2]],callerid:_0xe659x2[_0x7afa[2]],channel:_0xe659x2[_0x7afa[2]],destinationchannel:_0xe659x2[_0x7afa[2]],lastapplication:_0xe659x2[_0x7afa[2]],lastdata:_0xe659x2[_0x7afa[2]],starttime:_0xe659x2[_0x7afa[3]],answertime:{type:_0xe659x2[_0x7afa[3]],set:function(_0xe659x4){if(_0xe659x4!==_0x7afa[4]){this[_0x7afa[6]](_0x7afa[5],_0xe659x4)}else {this[_0x7afa[6]](_0x7afa[5],null)}}},endtime:_0xe659x2[_0x7afa[3]],duration:_0xe659x2[_0x7afa[7]],billableseconds:_0xe659x2[_0x7afa[7]],disposition:_0xe659x2[_0x7afa[2]],amaflags:_0xe659x2[_0x7afa[2]],uniqueid:{type:_0xe659x2[_0x7afa[2]],primaryKey:true},userfield:_0xe659x2[_0x7afa[2]]},{tableName:_0x7afa[8],associate:function(_0xe659x5){_0xe659x3[_0x7afa[11]](_0xe659x5.ReportQueue,{as:_0x7afa[9],foreignKey:_0x7afa[10],constraints:false});_0xe659x3[_0x7afa[11]](_0xe659x5.ReportAgent,{as:_0x7afa[12],foreignKey:_0x7afa[10],constraints:false});}});return _0xe659x3;};
\ No newline at end of file
+var _0x27c9=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x43\x61\x6C\x6C","\x53\x54\x52\x49\x4E\x47","\x44\x41\x54\x45","","\x61\x6E\x73\x77\x65\x72\x74\x69\x6D\x65","\x73\x65\x74\x44\x61\x74\x61\x56\x61\x6C\x75\x65","\x49\x4E\x54\x45\x47\x45\x52","\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C","\x51\x75\x65\x75\x65\x43\x61\x6C\x6C\x73","\x75\x6E\x69\x71\x75\x65\x69\x64","\x68\x61\x73\x4D\x61\x6E\x79","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74\x73","\x64\x65\x66\x69\x6E\x65"];module[_0x27c9[0]]=function(_0x983fx1,_0x983fx2){var _0x983fx3=_0x983fx1[_0x27c9[13]](_0x27c9[1],{accountcode:_0x983fx2[_0x27c9[2]],source:_0x983fx2[_0x27c9[2]],destination:_0x983fx2[_0x27c9[2]],destinationcontext:_0x983fx2[_0x27c9[2]],callerid:_0x983fx2[_0x27c9[2]],channel:_0x983fx2[_0x27c9[2]],destinationchannel:_0x983fx2[_0x27c9[2]],lastapplication:_0x983fx2[_0x27c9[2]],lastdata:_0x983fx2[_0x27c9[2]],starttime:_0x983fx2[_0x27c9[3]],answertime:{type:_0x983fx2[_0x27c9[3]],set:function(_0x983fx4){if(_0x983fx4!==_0x27c9[4]){this[_0x27c9[6]](_0x27c9[5],_0x983fx4)}else {this[_0x27c9[6]](_0x27c9[5],null)}}},endtime:_0x983fx2[_0x27c9[3]],duration:_0x983fx2[_0x27c9[7]],billableseconds:_0x983fx2[_0x27c9[7]],disposition:_0x983fx2[_0x27c9[2]],amaflags:_0x983fx2[_0x27c9[2]],uniqueid:{type:_0x983fx2[_0x27c9[2]],primaryKey:true},userfield:_0x983fx2[_0x27c9[2]]},{tableName:_0x27c9[8],associate:function(_0x983fx5){_0x983fx3[_0x27c9[11]](_0x983fx5.ReportQueue,{as:_0x27c9[9],foreignKey:_0x27c9[10],constraints:false});_0x983fx3[_0x27c9[11]](_0x983fx5.ReportAgent,{as:_0x27c9[12],foreignKey:_0x27c9[10],constraints:false});}});return _0x983fx3;};
\ No newline at end of file
index 3f641fdf2fb488029c1a32a886e312a533cf2e7d..3584f3a33566eb32db0ea1defea1aa8ae9432a63 100644 (file)
@@ -1 +1 @@
-var _0xa58d=["\x6D\x6F\x6D\x65\x6E\x74","\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74","\x49\x4E\x54\x45\x47\x45\x52","\x53\x54\x52\x49\x4E\x47","\x44\x41\x54\x45","\x42\x4F\x4F\x4C\x45\x41\x4E","\x63\x6F\x6E\x6E\x65\x63\x74\x49\x64","\x75\x6E\x69\x71\x75\x65\x69\x64","\x73\x65\x74\x44\x61\x74\x61\x56\x61\x6C\x75\x65","\x61\x67\x65\x6E\x74\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64\x41\x74","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x72\x65\x61\x73\x6F\x6E","\x61\x67\x65\x6E\x74","\x6C\x61\x73\x74\x65\x76\x65\x6E\x74","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74","\x64\x65\x66\x69\x6E\x65"];var moment=require(_0xa58d[0]);module[_0xa58d[1]]=function(_0x6039x2,_0x6039x3){var _0x6039x4=_0x6039x2[_0xa58d[17]](_0xa58d[2],{uniqueid:_0x6039x3[_0xa58d[3]],sorting:_0x6039x3[_0xa58d[3]],timeslot:_0x6039x3[_0xa58d[3]],visitorname:_0x6039x3[_0xa58d[4]],visitoremail:_0x6039x3[_0xa58d[4]],websitename:_0x6039x3[_0xa58d[4]],websiteaddress:_0x6039x3[_0xa58d[4]],websiteid:_0x6039x3[_0xa58d[3]],application:_0x6039x3[_0xa58d[4]],fullname:_0x6039x3[_0xa58d[4]],membername:_0x6039x3[_0xa58d[4]],agentid:_0x6039x3[_0xa58d[3]],chatqueuename:_0x6039x3[_0xa58d[4]],lastevent:_0x6039x3[_0xa58d[4]],agentcalledAt:_0x6039x3[_0xa58d[5]],chatroomid:_0x6039x3[_0xa58d[3]],connectId:{type:_0x6039x3[_0xa58d[3]],unique:true},agentconnectedAt:_0x6039x3[_0xa58d[5]],connect:{type:_0x6039x3[_0xa58d[6]],defaultValue:false,set:function(_0x6039x5){this[_0xa58d[9]](_0xa58d[7],this[_0xa58d[8]]);this[_0xa58d[9]](_0xa58d[10],moment()[_0xa58d[12]](_0xa58d[11]));this[_0xa58d[9]](_0xa58d[13],_0xa58d[14]);this[_0xa58d[9]](_0xa58d[15],_0xa58d[14]);}},agentringnoanswerAt:_0x6039x3[_0xa58d[5]],reason:_0x6039x3[_0xa58d[4]]},{tableName:_0xa58d[16]});return _0x6039x4;};
\ No newline at end of file
+var _0x9ef7=["\x6D\x6F\x6D\x65\x6E\x74","\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74","\x49\x4E\x54\x45\x47\x45\x52","\x53\x54\x52\x49\x4E\x47","\x44\x41\x54\x45","\x42\x4F\x4F\x4C\x45\x41\x4E","\x63\x6F\x6E\x6E\x65\x63\x74\x49\x64","\x75\x6E\x69\x71\x75\x65\x69\x64","\x73\x65\x74\x44\x61\x74\x61\x56\x61\x6C\x75\x65","\x61\x67\x65\x6E\x74\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64\x41\x74","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x72\x65\x61\x73\x6F\x6E","\x61\x67\x65\x6E\x74","\x6C\x61\x73\x74\x65\x76\x65\x6E\x74","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74","\x64\x65\x66\x69\x6E\x65"];var moment=require(_0x9ef7[0]);module[_0x9ef7[1]]=function(_0x828dx2,_0x828dx3){var _0x828dx4=_0x828dx2[_0x9ef7[17]](_0x9ef7[2],{uniqueid:_0x828dx3[_0x9ef7[3]],sorting:_0x828dx3[_0x9ef7[3]],timeslot:_0x828dx3[_0x9ef7[3]],visitorname:_0x828dx3[_0x9ef7[4]],visitoremail:_0x828dx3[_0x9ef7[4]],websitename:_0x828dx3[_0x9ef7[4]],websiteaddress:_0x828dx3[_0x9ef7[4]],websiteid:_0x828dx3[_0x9ef7[3]],application:_0x828dx3[_0x9ef7[4]],fullname:_0x828dx3[_0x9ef7[4]],membername:_0x828dx3[_0x9ef7[4]],agentid:_0x828dx3[_0x9ef7[3]],chatqueuename:_0x828dx3[_0x9ef7[4]],lastevent:_0x828dx3[_0x9ef7[4]],agentcalledAt:_0x828dx3[_0x9ef7[5]],chatroomid:_0x828dx3[_0x9ef7[3]],connectId:{type:_0x828dx3[_0x9ef7[3]],unique:true},agentconnectedAt:_0x828dx3[_0x9ef7[5]],connect:{type:_0x828dx3[_0x9ef7[6]],defaultValue:false,set:function(_0x828dx5){this[_0x9ef7[9]](_0x9ef7[7],this[_0x9ef7[8]]);this[_0x9ef7[9]](_0x9ef7[10],moment()[_0x9ef7[12]](_0x9ef7[11]));this[_0x9ef7[9]](_0x9ef7[13],_0x9ef7[14]);this[_0x9ef7[9]](_0x9ef7[15],_0x9ef7[14]);}},agentringnoanswerAt:_0x828dx3[_0x9ef7[5]],reason:_0x828dx3[_0x9ef7[4]]},{tableName:_0x9ef7[16]});return _0x828dx4;};
\ No newline at end of file
index b701d78ba71359667d40c2d922468cb2320e736d..9802a03a9d8d3b4d949becae8485806f131db78f 100644 (file)
@@ -1 +1 @@
-var _0xcc6c=["\x6D\x6F\x6D\x65\x6E\x74","\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74\x53\x65\x73\x73\x69\x6F\x6E","\x49\x4E\x54\x45\x47\x45\x52","\x53\x54\x52\x49\x4E\x47","\x44\x41\x54\x45","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x73\x65\x73\x73\x69\x6F\x6E","\x64\x65\x66\x69\x6E\x65"];var moment=require(_0xcc6c[0]);module[_0xcc6c[1]]=function(_0xa1eax2,_0xa1eax3){var _0xa1eax4=_0xa1eax2[_0xcc6c[7]](_0xcc6c[2],{uniqueid:{type:_0xa1eax3[_0xcc6c[3]],unique:true},visitorname:_0xa1eax3[_0xcc6c[4]],visitoremail:_0xa1eax3[_0xcc6c[4]],websitename:_0xa1eax3[_0xcc6c[4]],websiteaddress:_0xa1eax3[_0xcc6c[4]],websiteid:_0xa1eax3[_0xcc6c[3]],fullname:_0xa1eax3[_0xcc6c[4]],membername:_0xa1eax3[_0xcc6c[4]],agentid:_0xa1eax3[_0xcc6c[3]],chatqueuename:_0xa1eax3[_0xcc6c[4]],chatroomid:_0xa1eax3[_0xcc6c[3]],chatjoinAt:_0xa1eax3[_0xcc6c[5]],chatleaveAt:_0xa1eax3[_0xcc6c[5]],chatunmanagedAt:_0xa1eax3[_0xcc6c[5]]},{tableName:_0xcc6c[6]});return _0xa1eax4;};
\ No newline at end of file
+var _0x554d=["\x6D\x6F\x6D\x65\x6E\x74","\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74\x53\x65\x73\x73\x69\x6F\x6E","\x49\x4E\x54\x45\x47\x45\x52","\x53\x54\x52\x49\x4E\x47","\x44\x41\x54\x45","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x73\x65\x73\x73\x69\x6F\x6E","\x64\x65\x66\x69\x6E\x65"];var moment=require(_0x554d[0]);module[_0x554d[1]]=function(_0xe476x2,_0xe476x3){var _0xe476x4=_0xe476x2[_0x554d[7]](_0x554d[2],{uniqueid:{type:_0xe476x3[_0x554d[3]],unique:true},visitorname:_0xe476x3[_0x554d[4]],visitoremail:_0xe476x3[_0x554d[4]],websitename:_0xe476x3[_0x554d[4]],websiteaddress:_0xe476x3[_0x554d[4]],websiteid:_0xe476x3[_0x554d[3]],fullname:_0xe476x3[_0x554d[4]],membername:_0xe476x3[_0x554d[4]],agentid:_0xe476x3[_0x554d[3]],chatqueuename:_0xe476x3[_0x554d[4]],chatroomid:_0xe476x3[_0x554d[3]],chatjoinAt:_0xe476x3[_0x554d[5]],chatleaveAt:_0xe476x3[_0x554d[5]],chatunmanagedAt:_0xe476x3[_0x554d[5]]},{tableName:_0x554d[6]});return _0xe476x4;};
\ No newline at end of file
index 6b77408e286f6a3b57130feec6198345fd864355..d189b84259cb4c44c51c6ec6f0d9bd2e93b89c6a 100644 (file)
@@ -1 +1 @@
-var _0x8a3c=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x44\x69\x61\x6C","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x72\x65\x70\x6F\x72\x74\x5F\x64\x69\x61\x6C","\x75\x6E\x69\x71\x75\x65\x69\x64","\x64\x65\x66\x69\x6E\x65"];module[_0x8a3c[0]]=function(_0xaa43x1,_0xaa43x2){var _0xaa43x3=_0xaa43x1[_0x8a3c[6]](_0x8a3c[1],{channel:_0xaa43x2[_0x8a3c[2]],channelstate:_0xaa43x2[_0x8a3c[3]],channelstatedesc:_0xaa43x2[_0x8a3c[2]],calleridnum:_0xaa43x2[_0x8a3c[2]],calleridname:_0xaa43x2[_0x8a3c[2]],connectedlinenum:_0xaa43x2[_0x8a3c[2]],connectedlinename:_0xaa43x2[_0x8a3c[2]],language:_0xaa43x2[_0x8a3c[2]],accountcode:_0xaa43x2[_0x8a3c[2]],context:_0xaa43x2[_0x8a3c[2]],exten:_0xaa43x2[_0x8a3c[2]],priority:_0xaa43x2[_0x8a3c[3]],uniqueid:_0xaa43x2[_0x8a3c[2]],destchannel:_0xaa43x2[_0x8a3c[2]],destchannelstate:_0xaa43x2[_0x8a3c[3]],destchannelstatedesc:_0xaa43x2[_0x8a3c[2]],destcalleridnum:_0xaa43x2[_0x8a3c[2]],destcalleridname:_0xaa43x2[_0x8a3c[2]],destconnectedlinenum:_0xaa43x2[_0x8a3c[2]],destconnectedlinename:_0xaa43x2[_0x8a3c[2]],destlanguage:_0xaa43x2[_0x8a3c[2]],destaccountcode:_0xaa43x2[_0x8a3c[2]],destcontext:_0xaa43x2[_0x8a3c[2]],destexten:_0xaa43x2[_0x8a3c[2]],destpriority:_0xaa43x2[_0x8a3c[3]],destuniqueid:_0xaa43x2[_0x8a3c[2]],dialstring:_0xaa43x2[_0x8a3c[2]],dialstatus:_0xaa43x2[_0x8a3c[2]]},{tableName:_0x8a3c[4],indexes:[{fields:[_0x8a3c[5]]}]});return _0xaa43x3;};
\ No newline at end of file
+var _0xfaf1=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x44\x69\x61\x6C","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x72\x65\x70\x6F\x72\x74\x5F\x64\x69\x61\x6C","\x75\x6E\x69\x71\x75\x65\x69\x64","\x64\x65\x66\x69\x6E\x65"];module[_0xfaf1[0]]=function(_0x5831x1,_0x5831x2){var _0x5831x3=_0x5831x1[_0xfaf1[6]](_0xfaf1[1],{channel:_0x5831x2[_0xfaf1[2]],channelstate:_0x5831x2[_0xfaf1[3]],channelstatedesc:_0x5831x2[_0xfaf1[2]],calleridnum:_0x5831x2[_0xfaf1[2]],calleridname:_0x5831x2[_0xfaf1[2]],connectedlinenum:_0x5831x2[_0xfaf1[2]],connectedlinename:_0x5831x2[_0xfaf1[2]],language:_0x5831x2[_0xfaf1[2]],accountcode:_0x5831x2[_0xfaf1[2]],context:_0x5831x2[_0xfaf1[2]],exten:_0x5831x2[_0xfaf1[2]],priority:_0x5831x2[_0xfaf1[3]],uniqueid:_0x5831x2[_0xfaf1[2]],destchannel:_0x5831x2[_0xfaf1[2]],destchannelstate:_0x5831x2[_0xfaf1[3]],destchannelstatedesc:_0x5831x2[_0xfaf1[2]],destcalleridnum:_0x5831x2[_0xfaf1[2]],destcalleridname:_0x5831x2[_0xfaf1[2]],destconnectedlinenum:_0x5831x2[_0xfaf1[2]],destconnectedlinename:_0x5831x2[_0xfaf1[2]],destlanguage:_0x5831x2[_0xfaf1[2]],destaccountcode:_0x5831x2[_0xfaf1[2]],destcontext:_0x5831x2[_0xfaf1[2]],destexten:_0x5831x2[_0xfaf1[2]],destpriority:_0x5831x2[_0xfaf1[3]],destuniqueid:_0x5831x2[_0xfaf1[2]],dialstring:_0x5831x2[_0xfaf1[2]],dialstatus:_0x5831x2[_0xfaf1[2]]},{tableName:_0xfaf1[4],indexes:[{fields:[_0xfaf1[5]]}]});return _0x5831x3;};
\ No newline at end of file
index 9b151fe6a05f246196a4a749ad0d11bddc7e2dc1..f0023f7051c4d1b1bf08bdeeb940c7e854aa4ceb 100644 (file)
@@ -1 +1 @@
-var _0xd8b9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x46\x69\x65\x6C\x64","\x53\x54\x52\x49\x4E\x47","\x42\x4F\x4F\x4C\x45\x41\x4E","\x72\x65\x70\x6F\x72\x74\x5F\x66\x69\x65\x6C\x64\x73","\x64\x65\x66\x69\x6E\x65"];_0xd8b9[0];module[_0xd8b9[1]]=function(_0xc568x1,_0xc568x2){var _0xc568x3=_0xc568x1[_0xd8b9[6]](_0xd8b9[2],{field:_0xc568x2[_0xd8b9[3]],alias:_0xc568x2[_0xd8b9[3]],function:_0xc568x2[_0xd8b9[3]],groupBy:_0xc568x2[_0xd8b9[4]],orderBy:_0xc568x2[_0xd8b9[3]]},{tableName:_0xd8b9[5]});return _0xc568x3;};
\ No newline at end of file
+var _0x4960=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x46\x69\x65\x6C\x64","\x53\x54\x52\x49\x4E\x47","\x42\x4F\x4F\x4C\x45\x41\x4E","\x72\x65\x70\x6F\x72\x74\x5F\x66\x69\x65\x6C\x64\x73","\x64\x65\x66\x69\x6E\x65"];_0x4960[0];module[_0x4960[1]]=function(_0xbab1x1,_0xbab1x2){var _0xbab1x3=_0xbab1x1[_0x4960[6]](_0x4960[2],{field:_0xbab1x2[_0x4960[3]],alias:_0xbab1x2[_0x4960[3]],function:_0xbab1x2[_0x4960[3]],groupBy:_0xbab1x2[_0x4960[4]],orderBy:_0xbab1x2[_0x4960[3]]},{tableName:_0x4960[5]});return _0xbab1x3;};
\ No newline at end of file
index cb7532441314a335a66eee52d52f4be0c88c6c21..fc9284eb1a31dc09865d606266b87386033fc54b 100644 (file)
@@ -1 +1 @@
-var _0x5c47=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x53\x54\x52\x49\x4E\x47","\x44\x41\x54\x45","\x49\x4E\x54\x45\x47\x45\x52","\x42\x4F\x4F\x4C\x45\x41\x4E","\x54\x45\x58\x54","\x53\x45\x4E\x54","\x53\x45\x4E\x44\x49\x4E\x47","\x52\x45\x43\x45\x49\x56\x45\x44","\x46\x41\x49\x4C\x45\x44","\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x64\x65\x66\x69\x6E\x65"];module[_0x5c47[0]]=function(_0x39d7x1,_0x39d7x2){var _0x39d7x3=_0x39d7x1[_0x5c47[12]](_0x5c47[1],{integration:_0x39d7x2[_0x5c47[2]],event:_0x39d7x2[_0x5c47[2]],contacts:_0x39d7x2[_0x5c47[2]],uniqueid:_0x39d7x2[_0x5c47[2]],calleridnum:_0x39d7x2[_0x5c47[2]],calleridname:_0x39d7x2[_0x5c47[2]],queue:_0x39d7x2[_0x5c47[2]],interface:_0x39d7x2[_0x5c47[2]],membername:_0x39d7x2[_0x5c47[2]],agentcalledAt:_0x39d7x2[_0x5c47[3]],agentconnectAt:_0x39d7x2[_0x5c47[3]],holdtime:_0x39d7x2[_0x5c47[4]],agentcomplete:{type:_0x39d7x2[_0x5c47[5]],defaultValue:false},agentcompleteAt:_0x39d7x2[_0x5c47[3]],talktime:_0x39d7x2[_0x5c47[4]],agentacw:{type:_0x39d7x2[_0x5c47[5]],defaultValue:false},acwtime:_0x39d7x2[_0x5c47[4]],reason:_0x39d7x2[_0x5c47[2]],agentringnoanswer:{type:_0x39d7x2[_0x5c47[5]],defaultValue:false},agentringnoanswerAt:_0x39d7x2[_0x5c47[3]],agentdump:{type:_0x39d7x2[_0x5c47[5]],defaultValue:false},agentdumpAt:_0x39d7x2[_0x5c47[3]],lastevent:_0x39d7x2[_0x5c47[2]],channel:_0x39d7x2[_0x5c47[2]],channelstate:_0x39d7x2[_0x5c47[4]],channelstatedesc:_0x39d7x2[_0x5c47[2]],connectedlinenum:_0x39d7x2[_0x5c47[2]],connectedlinename:_0x39d7x2[_0x5c47[2]],language:_0x39d7x2[_0x5c47[2]],accountcode:_0x39d7x2[_0x5c47[2]],context:_0x39d7x2[_0x5c47[2]],exten:_0x39d7x2[_0x5c47[2]],priority:_0x39d7x2[_0x5c47[2]],destchannel:_0x39d7x2[_0x5c47[2]],destchannelstate:_0x39d7x2[_0x5c47[4]],destchannelstatedesc:_0x39d7x2[_0x5c47[2]],destcalleridnum:_0x39d7x2[_0x5c47[2]],destcalleridname:_0x39d7x2[_0x5c47[2]],destconnectedlinenum:_0x39d7x2[_0x5c47[2]],destconnectedlinename:_0x39d7x2[_0x5c47[2]],destlanguage:_0x39d7x2[_0x5c47[2]],destaccountcode:_0x39d7x2[_0x5c47[2]],destcontext:_0x39d7x2[_0x5c47[2]],destexten:_0x39d7x2[_0x5c47[2]],destpriority:_0x39d7x2[_0x5c47[2]],destuniqueid:_0x39d7x2[_0x5c47[2]],messageId:_0x39d7x2[_0x5c47[2]],inReplyTo:_0x39d7x2[_0x5c47[2]],subject:_0x39d7x2[_0x5c47[2]],from:_0x39d7x2[_0x5c47[2]],to:_0x39d7x2[_0x5c47[2]],cc:_0x39d7x2[_0x5c47[2]],attachment:_0x39d7x2[_0x5c47[6]],html:_0x39d7x2[_0x5c47[6]],text:_0x39d7x2[_0x5c47[6]],status:{type:_0x39d7x2.ENUM(_0x5c47[7],_0x5c47[8],_0x5c47[9],_0x5c47[10])}},{tableName:_0x5c47[11]});return _0x39d7x3;};
\ No newline at end of file
+var _0xc7b2=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x53\x54\x52\x49\x4E\x47","\x44\x41\x54\x45","\x49\x4E\x54\x45\x47\x45\x52","\x42\x4F\x4F\x4C\x45\x41\x4E","\x54\x45\x58\x54","\x53\x45\x4E\x54","\x53\x45\x4E\x44\x49\x4E\x47","\x52\x45\x43\x45\x49\x56\x45\x44","\x46\x41\x49\x4C\x45\x44","\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x64\x65\x66\x69\x6E\x65"];module[_0xc7b2[0]]=function(_0xaa7bx1,_0xaa7bx2){var _0xaa7bx3=_0xaa7bx1[_0xc7b2[12]](_0xc7b2[1],{integration:_0xaa7bx2[_0xc7b2[2]],event:_0xaa7bx2[_0xc7b2[2]],contacts:_0xaa7bx2[_0xc7b2[2]],uniqueid:_0xaa7bx2[_0xc7b2[2]],calleridnum:_0xaa7bx2[_0xc7b2[2]],calleridname:_0xaa7bx2[_0xc7b2[2]],queue:_0xaa7bx2[_0xc7b2[2]],interface:_0xaa7bx2[_0xc7b2[2]],membername:_0xaa7bx2[_0xc7b2[2]],agentcalledAt:_0xaa7bx2[_0xc7b2[3]],agentconnectAt:_0xaa7bx2[_0xc7b2[3]],holdtime:_0xaa7bx2[_0xc7b2[4]],agentcomplete:{type:_0xaa7bx2[_0xc7b2[5]],defaultValue:false},agentcompleteAt:_0xaa7bx2[_0xc7b2[3]],talktime:_0xaa7bx2[_0xc7b2[4]],agentacw:{type:_0xaa7bx2[_0xc7b2[5]],defaultValue:false},acwtime:_0xaa7bx2[_0xc7b2[4]],reason:_0xaa7bx2[_0xc7b2[2]],agentringnoanswer:{type:_0xaa7bx2[_0xc7b2[5]],defaultValue:false},agentringnoanswerAt:_0xaa7bx2[_0xc7b2[3]],agentdump:{type:_0xaa7bx2[_0xc7b2[5]],defaultValue:false},agentdumpAt:_0xaa7bx2[_0xc7b2[3]],lastevent:_0xaa7bx2[_0xc7b2[2]],channel:_0xaa7bx2[_0xc7b2[2]],channelstate:_0xaa7bx2[_0xc7b2[4]],channelstatedesc:_0xaa7bx2[_0xc7b2[2]],connectedlinenum:_0xaa7bx2[_0xc7b2[2]],connectedlinename:_0xaa7bx2[_0xc7b2[2]],language:_0xaa7bx2[_0xc7b2[2]],accountcode:_0xaa7bx2[_0xc7b2[2]],context:_0xaa7bx2[_0xc7b2[2]],exten:_0xaa7bx2[_0xc7b2[2]],priority:_0xaa7bx2[_0xc7b2[2]],destchannel:_0xaa7bx2[_0xc7b2[2]],destchannelstate:_0xaa7bx2[_0xc7b2[4]],destchannelstatedesc:_0xaa7bx2[_0xc7b2[2]],destcalleridnum:_0xaa7bx2[_0xc7b2[2]],destcalleridname:_0xaa7bx2[_0xc7b2[2]],destconnectedlinenum:_0xaa7bx2[_0xc7b2[2]],destconnectedlinename:_0xaa7bx2[_0xc7b2[2]],destlanguage:_0xaa7bx2[_0xc7b2[2]],destaccountcode:_0xaa7bx2[_0xc7b2[2]],destcontext:_0xaa7bx2[_0xc7b2[2]],destexten:_0xaa7bx2[_0xc7b2[2]],destpriority:_0xaa7bx2[_0xc7b2[2]],destuniqueid:_0xaa7bx2[_0xc7b2[2]],messageId:_0xaa7bx2[_0xc7b2[2]],inReplyTo:_0xaa7bx2[_0xc7b2[2]],subject:_0xaa7bx2[_0xc7b2[2]],from:_0xaa7bx2[_0xc7b2[2]],to:_0xaa7bx2[_0xc7b2[2]],cc:_0xaa7bx2[_0xc7b2[2]],attachment:_0xaa7bx2[_0xc7b2[6]],html:_0xaa7bx2[_0xc7b2[6]],text:_0xaa7bx2[_0xc7b2[6]],status:{type:_0xaa7bx2.ENUM(_0xc7b2[7],_0xc7b2[8],_0xc7b2[9],_0xc7b2[10])}},{tableName:_0xc7b2[11]});return _0xaa7bx3;};
\ No newline at end of file
index 233fd61b88ac12106eb0a116bf09f36fa4fc1c5b..83fe67fd734c78f1ceafccbe73f55e17b79bb673 100644 (file)
@@ -1 +1 @@
-var _0xbf77=["\x6D\x6F\x6D\x65\x6E\x74","\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C","\x49\x4E\x54\x45\x47\x45\x52","\x53\x54\x52\x49\x4E\x47","\x42\x4F\x4F\x4C\x45\x41\x4E","\x44\x41\x54\x45","\x63\x6F\x6E\x6E\x65\x63\x74\x49\x64","\x75\x6E\x69\x71\x75\x65\x69\x64","\x73\x65\x74\x44\x61\x74\x61\x56\x61\x6C\x75\x65","\x61\x67\x65\x6E\x74\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64\x41\x74","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x72\x65\x61\x73\x6F\x6E","\x61\x67\x65\x6E\x74","\x6C\x61\x73\x74\x65\x76\x65\x6E\x74","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C","\x64\x65\x66\x69\x6E\x65"];var moment=require(_0xbf77[0]);module[_0xbf77[1]]=function(_0x7446x2,_0x7446x3){var _0x7446x4=_0x7446x2[_0xbf77[17]](_0xbf77[2],{uniqueid:_0x7446x3[_0xbf77[3]],sorting:_0x7446x3[_0xbf77[3]],timeslot:_0x7446x3[_0xbf77[3]],subject:_0x7446x3[_0xbf77[4]],from:_0x7446x3[_0xbf77[4]],cc:_0x7446x3[_0xbf77[4]],attachment:_0x7446x3[_0xbf77[5]],accountname:_0x7446x3[_0xbf77[4]],accountaddress:_0x7446x3[_0xbf77[4]],application:_0x7446x3[_0xbf77[4]],fullname:_0x7446x3[_0xbf77[4]],membername:_0x7446x3[_0xbf77[4]],agentid:_0x7446x3[_0xbf77[3]],mailqueuename:_0x7446x3[_0xbf77[4]],mailroomid:_0x7446x3[_0xbf77[3]],lastevent:_0x7446x3[_0xbf77[4]],agentcalledAt:_0x7446x3[_0xbf77[6]],connectId:{type:_0x7446x3[_0xbf77[3]],unique:true},agentconnectedAt:_0x7446x3[_0xbf77[6]],connect:{type:_0x7446x3[_0xbf77[5]],defaultValue:false,set:function(_0x7446x5){this[_0xbf77[9]](_0xbf77[7],this[_0xbf77[8]]);this[_0xbf77[9]](_0xbf77[10],moment()[_0xbf77[12]](_0xbf77[11]));this[_0xbf77[9]](_0xbf77[13],_0xbf77[14]);this[_0xbf77[9]](_0xbf77[15],_0xbf77[14]);}},agentringnoanswerAt:_0x7446x3[_0xbf77[6]],reason:_0x7446x3[_0xbf77[4]]},{tableName:_0xbf77[16]});return _0x7446x4;};
\ No newline at end of file
+var _0xf156=["\x6D\x6F\x6D\x65\x6E\x74","\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C","\x49\x4E\x54\x45\x47\x45\x52","\x53\x54\x52\x49\x4E\x47","\x42\x4F\x4F\x4C\x45\x41\x4E","\x44\x41\x54\x45","\x63\x6F\x6E\x6E\x65\x63\x74\x49\x64","\x75\x6E\x69\x71\x75\x65\x69\x64","\x73\x65\x74\x44\x61\x74\x61\x56\x61\x6C\x75\x65","\x61\x67\x65\x6E\x74\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64\x41\x74","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x72\x65\x61\x73\x6F\x6E","\x61\x67\x65\x6E\x74","\x6C\x61\x73\x74\x65\x76\x65\x6E\x74","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C","\x64\x65\x66\x69\x6E\x65"];var moment=require(_0xf156[0]);module[_0xf156[1]]=function(_0x48e8x2,_0x48e8x3){var _0x48e8x4=_0x48e8x2[_0xf156[17]](_0xf156[2],{uniqueid:_0x48e8x3[_0xf156[3]],sorting:_0x48e8x3[_0xf156[3]],timeslot:_0x48e8x3[_0xf156[3]],subject:_0x48e8x3[_0xf156[4]],from:_0x48e8x3[_0xf156[4]],cc:_0x48e8x3[_0xf156[4]],attachment:_0x48e8x3[_0xf156[5]],accountname:_0x48e8x3[_0xf156[4]],accountaddress:_0x48e8x3[_0xf156[4]],application:_0x48e8x3[_0xf156[4]],fullname:_0x48e8x3[_0xf156[4]],membername:_0x48e8x3[_0xf156[4]],agentid:_0x48e8x3[_0xf156[3]],mailqueuename:_0x48e8x3[_0xf156[4]],mailroomid:_0x48e8x3[_0xf156[3]],lastevent:_0x48e8x3[_0xf156[4]],agentcalledAt:_0x48e8x3[_0xf156[6]],connectId:{type:_0x48e8x3[_0xf156[3]],unique:true},agentconnectedAt:_0x48e8x3[_0xf156[6]],connect:{type:_0x48e8x3[_0xf156[5]],defaultValue:false,set:function(_0x48e8x5){this[_0xf156[9]](_0xf156[7],this[_0xf156[8]]);this[_0xf156[9]](_0xf156[10],moment()[_0xf156[12]](_0xf156[11]));this[_0xf156[9]](_0xf156[13],_0xf156[14]);this[_0xf156[9]](_0xf156[15],_0xf156[14]);}},agentringnoanswerAt:_0x48e8x3[_0xf156[6]],reason:_0x48e8x3[_0xf156[4]]},{tableName:_0xf156[16]});return _0x48e8x4;};
\ No newline at end of file
index 772466d398bed474c4175da6619ea6a529e0d020..aa46b15337409a6a1d4cefa2975ea0714699f782 100644 (file)
@@ -1 +1 @@
-var _0x4ee6=["\x6D\x6F\x6D\x65\x6E\x74","\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x53\x65\x73\x73\x69\x6F\x6E","\x49\x4E\x54\x45\x47\x45\x52","\x53\x54\x52\x49\x4E\x47","\x42\x4F\x4F\x4C\x45\x41\x4E","\x44\x41\x54\x45","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E","\x64\x65\x66\x69\x6E\x65"];var moment=require(_0x4ee6[0]);module[_0x4ee6[1]]=function(_0x32d4x2,_0x32d4x3){var _0x32d4x4=_0x32d4x2[_0x4ee6[8]](_0x4ee6[2],{uniqueid:{type:_0x32d4x3[_0x4ee6[3]]},subject:_0x32d4x3[_0x4ee6[4]],from:_0x32d4x3[_0x4ee6[4]],cc:_0x32d4x3[_0x4ee6[4]],attachment:_0x32d4x3[_0x4ee6[5]],accountname:_0x32d4x3[_0x4ee6[4]],accountaddress:_0x32d4x3[_0x4ee6[4]],fullname:_0x32d4x3[_0x4ee6[4]],membername:_0x32d4x3[_0x4ee6[4]],mailqueuename:_0x32d4x3[_0x4ee6[4]],mailjoinAt:_0x32d4x3[_0x4ee6[6]],mailleaveAt:_0x32d4x3[_0x4ee6[6]],mailunmanagedAt:_0x32d4x3[_0x4ee6[6]]},{tableName:_0x4ee6[7]});return _0x32d4x4;};
\ No newline at end of file
+var _0xfb88=["\x6D\x6F\x6D\x65\x6E\x74","\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x53\x65\x73\x73\x69\x6F\x6E","\x49\x4E\x54\x45\x47\x45\x52","\x53\x54\x52\x49\x4E\x47","\x42\x4F\x4F\x4C\x45\x41\x4E","\x44\x41\x54\x45","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E","\x64\x65\x66\x69\x6E\x65"];var moment=require(_0xfb88[0]);module[_0xfb88[1]]=function(_0xeef2x2,_0xeef2x3){var _0xeef2x4=_0xeef2x2[_0xfb88[8]](_0xfb88[2],{uniqueid:{type:_0xeef2x3[_0xfb88[3]]},subject:_0xeef2x3[_0xfb88[4]],from:_0xeef2x3[_0xfb88[4]],cc:_0xeef2x3[_0xfb88[4]],attachment:_0xeef2x3[_0xfb88[5]],accountname:_0xeef2x3[_0xfb88[4]],accountaddress:_0xeef2x3[_0xfb88[4]],fullname:_0xeef2x3[_0xfb88[4]],membername:_0xeef2x3[_0xfb88[4]],mailqueuename:_0xeef2x3[_0xfb88[4]],mailjoinAt:_0xeef2x3[_0xfb88[6]],mailleaveAt:_0xeef2x3[_0xfb88[6]],mailunmanagedAt:_0xeef2x3[_0xfb88[6]]},{tableName:_0xfb88[7]});return _0xeef2x4;};
\ No newline at end of file
index 1c5054b51df6fe59f78fd3e2d11e73e5e80e7f23..56e3111c2e4b038e20c24ed7df69446ff6fe8537 100644 (file)
@@ -1 +1 @@
-var _0xe69c=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x4D\x65\x6D\x62\x65\x72","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x44\x41\x54\x45","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x65\x6D\x62\x65\x72","\x71\x75\x65\x75\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x73\x74\x61\x74\x65","\x65\x6E\x74\x65\x72\x64\x61\x74\x65","\x65\x78\x69\x74\x64\x61\x74\x65","\x64\x65\x66\x69\x6E\x65"];module[_0xe69c[0]]=function(_0x1ea8x1,_0x1ea8x2){var _0x1ea8x3=_0x1ea8x1[_0xe69c[11]](_0xe69c[1],{stateinterface:_0x1ea8x2[_0xe69c[2]],queue:_0x1ea8x2[_0xe69c[2]],membername:_0x1ea8x2[_0xe69c[2]],interface:_0x1ea8x2[_0xe69c[2]],state:_0x1ea8x2[_0xe69c[3]],statedesc:_0x1ea8x2[_0xe69c[2]],enterdate:_0x1ea8x2[_0xe69c[4]],exitdate:_0x1ea8x2[_0xe69c[4]],reason:_0x1ea8x2[_0xe69c[2]]},{tableName:_0xe69c[5],indexes:[{fields:[_0xe69c[6],_0xe69c[7],_0xe69c[8],_0xe69c[9],_0xe69c[10]]}]});return _0x1ea8x3;};
\ No newline at end of file
+var _0x64d4=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x4D\x65\x6D\x62\x65\x72","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x44\x41\x54\x45","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x65\x6D\x62\x65\x72","\x71\x75\x65\x75\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x73\x74\x61\x74\x65","\x65\x6E\x74\x65\x72\x64\x61\x74\x65","\x65\x78\x69\x74\x64\x61\x74\x65","\x64\x65\x66\x69\x6E\x65"];module[_0x64d4[0]]=function(_0x316ax1,_0x316ax2){var _0x316ax3=_0x316ax1[_0x64d4[11]](_0x64d4[1],{stateinterface:_0x316ax2[_0x64d4[2]],queue:_0x316ax2[_0x64d4[2]],membername:_0x316ax2[_0x64d4[2]],interface:_0x316ax2[_0x64d4[2]],state:_0x316ax2[_0x64d4[3]],statedesc:_0x316ax2[_0x64d4[2]],enterdate:_0x316ax2[_0x64d4[4]],exitdate:_0x316ax2[_0x64d4[4]],reason:_0x316ax2[_0x64d4[2]]},{tableName:_0x64d4[5],indexes:[{fields:[_0x64d4[6],_0x64d4[7],_0x64d4[8],_0x64d4[9],_0x64d4[10]]}]});return _0x316ax3;};
\ No newline at end of file
index 8baef275c02b5eff3c21e25559dcbdb061332832..da1466f7bd54dc7ce41ff550a4f9a6165a29ab3e 100644 (file)
@@ -1 +1 @@
-var _0x4a7a=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x75\x65","\x53\x54\x52\x49\x4E\x47","\x44\x41\x54\x45","\x49\x4E\x54\x45\x47\x45\x52","\x42\x4F\x4F\x4C\x45\x41\x4E","\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65","\x75\x6E\x69\x71\x75\x65\x69\x64","\x64\x65\x66\x69\x6E\x65"];module[_0x4a7a[0]]=function(_0x92d1x1,_0x92d1x2){var _0x92d1x3=_0x92d1x1[_0x4a7a[8]](_0x4a7a[1],{uniqueid:_0x92d1x2[_0x4a7a[2]],calleridnum:_0x92d1x2[_0x4a7a[2]],calleridname:_0x92d1x2[_0x4a7a[2]],queue:_0x92d1x2[_0x4a7a[2]],queuecallerjoinAt:_0x92d1x2[_0x4a7a[3]],queuecallerleaveAt:_0x92d1x2[_0x4a7a[3]],position:_0x92d1x2[_0x4a7a[4]],count:_0x92d1x2[_0x4a7a[4]],queuecallerabandon:{type:_0x92d1x2[_0x4a7a[5]],defaultValue:false},queuecallerabandonAt:_0x92d1x2[_0x4a7a[3]],queuecallercompleteAt:_0x92d1x2[_0x4a7a[3]],originalposition:_0x92d1x2[_0x4a7a[4]],channel:_0x92d1x2[_0x4a7a[2]],channelstate:_0x92d1x2[_0x4a7a[4]],channelstatedesc:_0x92d1x2[_0x4a7a[2]],connectedlinenum:_0x92d1x2[_0x4a7a[2]],connectedlinename:_0x92d1x2[_0x4a7a[2]],language:_0x92d1x2[_0x4a7a[2]],accountcode:_0x92d1x2[_0x4a7a[2]],context:_0x92d1x2[_0x4a7a[2]],exten:_0x92d1x2[_0x4a7a[2]],priority:_0x92d1x2[_0x4a7a[2]]},{tableName:_0x4a7a[6],indexes:[{fields:[_0x4a7a[7]]}]});return _0x92d1x3;};
\ No newline at end of file
+var _0x2ade=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x75\x65","\x53\x54\x52\x49\x4E\x47","\x44\x41\x54\x45","\x49\x4E\x54\x45\x47\x45\x52","\x42\x4F\x4F\x4C\x45\x41\x4E","\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65","\x75\x6E\x69\x71\x75\x65\x69\x64","\x64\x65\x66\x69\x6E\x65"];module[_0x2ade[0]]=function(_0xcca0x1,_0xcca0x2){var _0xcca0x3=_0xcca0x1[_0x2ade[8]](_0x2ade[1],{uniqueid:_0xcca0x2[_0x2ade[2]],calleridnum:_0xcca0x2[_0x2ade[2]],calleridname:_0xcca0x2[_0x2ade[2]],queue:_0xcca0x2[_0x2ade[2]],queuecallerjoinAt:_0xcca0x2[_0x2ade[3]],queuecallerleaveAt:_0xcca0x2[_0x2ade[3]],position:_0xcca0x2[_0x2ade[4]],count:_0xcca0x2[_0x2ade[4]],queuecallerabandon:{type:_0xcca0x2[_0x2ade[5]],defaultValue:false},queuecallerabandonAt:_0xcca0x2[_0x2ade[3]],queuecallercompleteAt:_0xcca0x2[_0x2ade[3]],originalposition:_0xcca0x2[_0x2ade[4]],channel:_0xcca0x2[_0x2ade[2]],channelstate:_0xcca0x2[_0x2ade[4]],channelstatedesc:_0xcca0x2[_0x2ade[2]],connectedlinenum:_0xcca0x2[_0x2ade[2]],connectedlinename:_0xcca0x2[_0x2ade[2]],language:_0xcca0x2[_0x2ade[2]],accountcode:_0xcca0x2[_0x2ade[2]],context:_0xcca0x2[_0x2ade[2]],exten:_0xcca0x2[_0x2ade[2]],priority:_0xcca0x2[_0x2ade[2]]},{tableName:_0x2ade[6],indexes:[{fields:[_0x2ade[7]]}]});return _0xcca0x3;};
\ No newline at end of file
index 5f7eecb7fa4406ac9bf07b1af7f20ba7caead4ca..41caae086574345242b5b7b53e5f19a19dd59e84 100644 (file)
@@ -1 +1 @@
-var _0x9281=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x53\x71\x75\x61\x72\x65","\x53\x54\x52\x49\x4E\x47","\x44\x41\x54\x45","\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65","\x64\x65\x66\x69\x6E\x65"];module[_0x9281[0]]=function(_0x4af9x1,_0x4af9x2){var _0x4af9x3=_0x4af9x1[_0x9281[5]](_0x9281[1],{network:{type:_0x4af9x2[_0x9281[2]]},network_script:{type:_0x4af9x2[_0x9281[2]]},request:{type:_0x4af9x2[_0x9281[2]]},channel:{type:_0x4af9x2[_0x9281[2]]},language:{type:_0x4af9x2[_0x9281[2]]},type:{type:_0x4af9x2[_0x9281[2]]},uniqueid:{type:_0x4af9x2[_0x9281[2]]},version:{type:_0x4af9x2[_0x9281[2]]},callerid:{type:_0x4af9x2[_0x9281[2]]},calleridname:{type:_0x4af9x2[_0x9281[2]]},callingpres:{type:_0x4af9x2[_0x9281[2]]},callingani2:{type:_0x4af9x2[_0x9281[2]]},callington:{type:_0x4af9x2[_0x9281[2]]},callingtns:{type:_0x4af9x2[_0x9281[2]]},dnid:{type:_0x4af9x2[_0x9281[2]]},rdnis:{type:_0x4af9x2[_0x9281[2]]},context:{type:_0x4af9x2[_0x9281[2]]},extension:{type:_0x4af9x2[_0x9281[2]]},priority:{type:_0x4af9x2[_0x9281[2]]},enhanced:{type:_0x4af9x2[_0x9281[2]]},accountcode:{type:_0x4af9x2[_0x9281[2]]},threadid:{type:_0x4af9x2[_0x9281[2]]},project_name:{type:_0x4af9x2[_0x9281[2]]},joinAt:{type:_0x4af9x2[_0x9281[3]]},leaveAt:{type:_0x4af9x2[_0x9281[3]],unique:true}},{tableName:_0x9281[4]});return _0x4af9x3;};
\ No newline at end of file
+var _0xe0c0=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x53\x71\x75\x61\x72\x65","\x53\x54\x52\x49\x4E\x47","\x44\x41\x54\x45","\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65","\x64\x65\x66\x69\x6E\x65"];module[_0xe0c0[0]]=function(_0x7015x1,_0x7015x2){var _0x7015x3=_0x7015x1[_0xe0c0[5]](_0xe0c0[1],{network:{type:_0x7015x2[_0xe0c0[2]]},network_script:{type:_0x7015x2[_0xe0c0[2]]},request:{type:_0x7015x2[_0xe0c0[2]]},channel:{type:_0x7015x2[_0xe0c0[2]]},language:{type:_0x7015x2[_0xe0c0[2]]},type:{type:_0x7015x2[_0xe0c0[2]]},uniqueid:{type:_0x7015x2[_0xe0c0[2]]},version:{type:_0x7015x2[_0xe0c0[2]]},callerid:{type:_0x7015x2[_0xe0c0[2]]},calleridname:{type:_0x7015x2[_0xe0c0[2]]},callingpres:{type:_0x7015x2[_0xe0c0[2]]},callingani2:{type:_0x7015x2[_0xe0c0[2]]},callington:{type:_0x7015x2[_0xe0c0[2]]},callingtns:{type:_0x7015x2[_0xe0c0[2]]},dnid:{type:_0x7015x2[_0xe0c0[2]]},rdnis:{type:_0x7015x2[_0xe0c0[2]]},context:{type:_0x7015x2[_0xe0c0[2]]},extension:{type:_0x7015x2[_0xe0c0[2]]},priority:{type:_0x7015x2[_0xe0c0[2]]},enhanced:{type:_0x7015x2[_0xe0c0[2]]},accountcode:{type:_0x7015x2[_0xe0c0[2]]},threadid:{type:_0x7015x2[_0xe0c0[2]]},project_name:{type:_0x7015x2[_0xe0c0[2]]},joinAt:{type:_0x7015x2[_0xe0c0[3]]},leaveAt:{type:_0x7015x2[_0xe0c0[3]],unique:true}},{tableName:_0xe0c0[4]});return _0x7015x3;};
\ No newline at end of file
index bef989b359aac3febf7be4a959663543de390ee2..dd8475e6867e031bb417a0662b45d62c9989b219 100644 (file)
@@ -1 +1 @@
-var _0xfd30=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x53\x71\x75\x61\x72\x65\x44\x65\x74\x61\x69\x6C","\x53\x54\x52\x49\x4E\x47","\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65\x5F\x64\x65\x74\x61\x69\x6C\x73","\x64\x65\x66\x69\x6E\x65"];module[_0xfd30[0]]=function(_0xd486x1,_0xd486x2){var _0xd486x3=_0xd486x1[_0xfd30[4]](_0xfd30[1],{uniqueid:{type:_0xd486x2[_0xfd30[2]]},node:{type:_0xd486x2[_0xfd30[2]]},application:{type:_0xd486x2[_0xfd30[2]]},data:{type:_0xd486x2[_0xfd30[2]]}},{tableName:_0xfd30[3]});return _0xd486x3;};
\ No newline at end of file
+var _0xc5fa=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x53\x71\x75\x61\x72\x65\x44\x65\x74\x61\x69\x6C","\x53\x54\x52\x49\x4E\x47","\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65\x5F\x64\x65\x74\x61\x69\x6C\x73","\x64\x65\x66\x69\x6E\x65"];module[_0xc5fa[0]]=function(_0x2304x1,_0x2304x2){var _0x2304x3=_0x2304x1[_0xc5fa[4]](_0xc5fa[1],{uniqueid:{type:_0x2304x2[_0xc5fa[2]]},node:{type:_0x2304x2[_0xc5fa[2]]},application:{type:_0x2304x2[_0xc5fa[2]]},data:{type:_0x2304x2[_0xc5fa[2]]}},{tableName:_0xc5fa[3]});return _0x2304x3;};
\ No newline at end of file
index a840c106a4a5e8d20dd41ac687ae6c6e34e1150a..a156c921456b1cd05cb5fb5d532765770ef64392 100644 (file)
@@ -1 +1 @@
-var _0xf3ef=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x54\x72\x65\x65","\x54\x45\x58\x54","\x72\x65\x70\x6F\x72\x74\x5F\x74\x72\x65\x65\x73","\x64\x65\x66\x69\x6E\x65"];_0xf3ef[0];module[_0xf3ef[1]]=function(_0x926cx1,_0x926cx2){var _0x926cx3=_0x926cx1[_0xf3ef[5]](_0xf3ef[2],{tree:_0x926cx2[_0xf3ef[3]]},{tableName:_0xf3ef[4]});return _0x926cx3;};
\ No newline at end of file
+var _0x46f5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x54\x72\x65\x65","\x54\x45\x58\x54","\x72\x65\x70\x6F\x72\x74\x5F\x74\x72\x65\x65\x73","\x64\x65\x66\x69\x6E\x65"];_0x46f5[0];module[_0x46f5[1]]=function(_0x8dabx1,_0x8dabx2){var _0x8dabx3=_0x8dabx1[_0x46f5[5]](_0x46f5[2],{tree:_0x8dabx2[_0x46f5[3]]},{tableName:_0x46f5[4]});return _0x8dabx3;};
\ No newline at end of file
index f66d15b99366ade6e3de53aea3308ceb1ac0719d..81f141e7a0cde76b72fac3b7ab94d0ea16306321 100644 (file)
@@ -1 +1 @@
-var _0x2bcd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74","\x53\x54\x52\x49\x4E\x47","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];_0x2bcd[0];module[_0x2bcd[1]]=function(_0x26e5x1,_0x26e5x2){return _0x26e5x1[_0x2bcd[7]](_0x2bcd[2],{name:_0x26e5x2[_0x2bcd[3]],description:_0x26e5x2[_0x2bcd[3]],username:{type:_0x26e5x2[_0x2bcd[3]],unique:true},remoteUri:_0x26e5x2[_0x2bcd[3]],password:_0x26e5x2[_0x2bcd[3]],clientId:_0x26e5x2[_0x2bcd[3]],clientSecret:_0x26e5x2[_0x2bcd[3]],securityToken:_0x26e5x2[_0x2bcd[3]]},{tableName:_0x2bcd[4],associate:function(_0x26e5x3){_0x26e5x3[_0x2bcd[2]][_0x2bcd[6]](_0x26e5x3.SalesforceConfiguration,{foreignKey:_0x2bcd[5]})}})};
\ No newline at end of file
+var _0xe62b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74","\x53\x54\x52\x49\x4E\x47","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];_0xe62b[0];module[_0xe62b[1]]=function(_0xabfax1,_0xabfax2){return _0xabfax1[_0xe62b[7]](_0xe62b[2],{name:_0xabfax2[_0xe62b[3]],description:_0xabfax2[_0xe62b[3]],username:{type:_0xabfax2[_0xe62b[3]],unique:true},remoteUri:_0xabfax2[_0xe62b[3]],password:_0xabfax2[_0xe62b[3]],clientId:_0xabfax2[_0xe62b[3]],clientSecret:_0xabfax2[_0xe62b[3]],securityToken:_0xabfax2[_0xe62b[3]]},{tableName:_0xe62b[4],associate:function(_0xabfax3){_0xabfax3[_0xe62b[2]][_0xe62b[6]](_0xabfax3.SalesforceConfiguration,{foreignKey:_0xe62b[5]})}})};
\ No newline at end of file
index 8d0fdf23ad1a60d18de170e52f3ce406b5af5d30..92cb4b112c7670f2880eb1b4a049e83e1e5dab3d 100644 (file)
@@ -1 +1 @@
-var _0xc47f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x53\x54\x52\x49\x4E\x47","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x53\x75\x62\x6A\x65\x63\x74","\x53\x75\x62\x6A\x65\x63\x74\x49\x64","\x68\x61\x73\x4D\x61\x6E\x79","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x49\x64","\x46\x69\x65\x6C\x64","\x46\x69\x65\x6C\x64\x49\x64","\x64\x65\x66\x69\x6E\x65"];_0xc47f[0];module[_0xc47f[1]]=function(_0x1283x1,_0x1283x2){return _0x1283x1[_0xc47f[14]](_0xc47f[2],{name:_0x1283x2[_0xc47f[3]],description:_0x1283x2[_0xc47f[3]]},{tableName:_0xc47f[4],associate:function(_0x1283x3){_0x1283x3[_0xc47f[2]][_0xc47f[6]](_0x1283x3.SalesforceAccount,{foreignKey:_0xc47f[5]});_0x1283x3[_0xc47f[2]][_0xc47f[9]](_0x1283x3.SalesforceField,{as:_0xc47f[7],foreignKey:_0xc47f[8]});_0x1283x3[_0xc47f[2]][_0xc47f[9]](_0x1283x3.SalesforceField,{as:_0xc47f[10],foreignKey:_0xc47f[11]});_0x1283x3[_0xc47f[2]][_0xc47f[9]](_0x1283x3.SalesforceField,{as:_0xc47f[12],foreignKey:_0xc47f[13]});}})};
\ No newline at end of file
+var _0xdfaa=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x53\x54\x52\x49\x4E\x47","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x53\x75\x62\x6A\x65\x63\x74","\x53\x75\x62\x6A\x65\x63\x74\x49\x64","\x68\x61\x73\x4D\x61\x6E\x79","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x49\x64","\x46\x69\x65\x6C\x64","\x46\x69\x65\x6C\x64\x49\x64","\x64\x65\x66\x69\x6E\x65"];_0xdfaa[0];module[_0xdfaa[1]]=function(_0x410dx1,_0x410dx2){return _0x410dx1[_0xdfaa[14]](_0xdfaa[2],{name:_0x410dx2[_0xdfaa[3]],description:_0x410dx2[_0xdfaa[3]]},{tableName:_0xdfaa[4],associate:function(_0x410dx3){_0x410dx3[_0xdfaa[2]][_0xdfaa[6]](_0x410dx3.SalesforceAccount,{foreignKey:_0xdfaa[5]});_0x410dx3[_0xdfaa[2]][_0xdfaa[9]](_0x410dx3.SalesforceField,{as:_0xdfaa[7],foreignKey:_0xdfaa[8]});_0x410dx3[_0xdfaa[2]][_0xdfaa[9]](_0x410dx3.SalesforceField,{as:_0xdfaa[10],foreignKey:_0xdfaa[11]});_0x410dx3[_0xdfaa[2]][_0xdfaa[9]](_0x410dx3.SalesforceField,{as:_0xdfaa[12],foreignKey:_0xdfaa[13]});}})};
\ No newline at end of file
index ef7a77a496d78720594fc3b49991d8e6c763db26..3b606c322f5171f6435a76a6ff00fc676e1b2d96 100644 (file)
@@ -1 +1 @@
-var _0x8832=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64","\x73\x74\x72\x69\x6E\x67","\x76\x61\x72\x69\x61\x62\x6C\x65","\x6B\x65\x79\x5F\x76\x61\x6C\x75\x65","\x53\x54\x52\x49\x4E\x47","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x66\x69\x65\x6C\x64\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];_0x8832[0];module[_0x8832[1]]=function(_0x89a1x1,_0x89a1x2){return _0x89a1x1[_0x8832[9]](_0x8832[2],{type:{type:_0x89a1x2.ENUM(_0x8832[3],_0x8832[4],_0x8832[5]),defaultValue:_0x8832[3]},content:_0x89a1x2[_0x8832[6]],key:_0x89a1x2[_0x8832[6]],keyType:{type:_0x89a1x2.ENUM(_0x8832[3],_0x8832[4])},keyContent:_0x89a1x2[_0x8832[6]],idField:_0x89a1x2[_0x8832[6]]},{tableName:_0x8832[7],associate:function(_0x89a1x3){_0x89a1x3[_0x8832[2]][_0x8832[8]](_0x89a1x3.Variable)}})};
\ No newline at end of file
+var _0xa948=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64","\x73\x74\x72\x69\x6E\x67","\x76\x61\x72\x69\x61\x62\x6C\x65","\x6B\x65\x79\x5F\x76\x61\x6C\x75\x65","\x53\x54\x52\x49\x4E\x47","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x66\x69\x65\x6C\x64\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];_0xa948[0];module[_0xa948[1]]=function(_0x6bd2x1,_0x6bd2x2){return _0x6bd2x1[_0xa948[9]](_0xa948[2],{type:{type:_0x6bd2x2.ENUM(_0xa948[3],_0xa948[4],_0xa948[5]),defaultValue:_0xa948[3]},content:_0x6bd2x2[_0xa948[6]],key:_0x6bd2x2[_0xa948[6]],keyType:{type:_0x6bd2x2.ENUM(_0xa948[3],_0xa948[4])},keyContent:_0x6bd2x2[_0xa948[6]],idField:_0x6bd2x2[_0xa948[6]]},{tableName:_0xa948[7],associate:function(_0x6bd2x3){_0x6bd2x3[_0xa948[2]][_0xa948[8]](_0x6bd2x3.Variable)}})};
\ No newline at end of file
index 3df5f12a2cc017e9328d7fc160ff0b0927facd5a..d9c31b9d18e2e9e0c0f6e4ad501df6d5088bb315 100644 (file)
@@ -1 +1 @@
-var _0x7222=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x53\x65\x74\x74\x69\x6E\x67\x73","\x54\x45\x58\x54","\x73\x65\x74\x74\x69\x6E\x67\x73","\x64\x65\x66\x69\x6E\x65"];_0x7222[0];module[_0x7222[1]]=function(_0xdbe4x1,_0xdbe4x2){var _0xdbe4x3=_0xdbe4x1[_0x7222[5]](_0x7222[2],{license:_0xdbe4x2[_0x7222[3]],mac:{type:_0xdbe4x2.STRING(17),allowNull:false,validate:{notEmpty:true}},netmask:{type:_0xdbe4x2.STRING(15),allowNull:false,validate:{notEmpty:true,isIP:true}},address:{type:_0xdbe4x2.STRING(15),allowNull:false,validate:{notEmpty:true,isIP:true}},min_internal:{type:_0xdbe4x2.INTEGER(11),unique:true},agi_port:{type:_0xdbe4x2.INTEGER(11)},automation_timeout:{type:_0xdbe4x2.INTEGER(11),defaultValue:3600}},{tableName:_0x7222[4]});return _0xdbe4x3;};
\ No newline at end of file
+var _0xbc57=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x53\x65\x74\x74\x69\x6E\x67\x73","\x54\x45\x58\x54","\x73\x65\x74\x74\x69\x6E\x67\x73","\x64\x65\x66\x69\x6E\x65"];_0xbc57[0];module[_0xbc57[1]]=function(_0x34f6x1,_0x34f6x2){var _0x34f6x3=_0x34f6x1[_0xbc57[5]](_0xbc57[2],{license:_0x34f6x2[_0xbc57[3]],min_internal:{type:_0x34f6x2.INTEGER(11),unique:true,defaultValue:1000},agi_port:{type:_0x34f6x2.INTEGER(11),defaultValue:4573},automation_timeout:{type:_0x34f6x2.INTEGER(11),defaultValue:3600}},{tableName:_0xbc57[4]});return _0x34f6x3;};
\ No newline at end of file
index 5111d48b5cb62717055f88918a4924fadbb9967e..c59ace6ae44a227340dde80ebfac7e2e0fb43f54 100644 (file)
@@ -1 +1 @@
-var _0xcc6c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x53\x71\x75\x61\x72\x65\x4F\x64\x62\x63","\x53\x54\x52\x49\x4E\x47","\x73\x71\x75\x61\x72\x65\x5F\x6F\x64\x62\x63","\x64\x65\x66\x69\x6E\x65"];_0xcc6c[0];module[_0xcc6c[1]]=function(_0x4105x1,_0x4105x2){var _0x4105x3=_0x4105x1[_0xcc6c[5]](_0xcc6c[2],{name:{type:_0x4105x2[_0xcc6c[3]],unique:true,validate:{notEmpty:true}},dsn:{type:_0x4105x2[_0xcc6c[3]]},description:_0x4105x2[_0xcc6c[3]]},{tableName:_0xcc6c[4]});return _0x4105x3;};
\ No newline at end of file
+var _0x3545=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x53\x71\x75\x61\x72\x65\x4F\x64\x62\x63","\x53\x54\x52\x49\x4E\x47","\x73\x71\x75\x61\x72\x65\x5F\x6F\x64\x62\x63","\x64\x65\x66\x69\x6E\x65"];_0x3545[0];module[_0x3545[1]]=function(_0xee5ex1,_0xee5ex2){var _0xee5ex3=_0xee5ex1[_0x3545[5]](_0x3545[2],{name:{type:_0xee5ex2[_0x3545[3]],unique:true,validate:{notEmpty:true}},dsn:{type:_0xee5ex2[_0x3545[3]]},description:_0xee5ex2[_0x3545[3]]},{tableName:_0x3545[4]});return _0xee5ex3;};
\ No newline at end of file
index c276c360d2c35ba6022b88e64d7ce3c3c7f355ac..5ce17993afc9aa80d6b61bbc87df82d0baf26b27 100644 (file)
@@ -1 +1 @@
-var _0xe11a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x53\x71\x75\x61\x72\x65\x50\x72\x6F\x6A\x65\x63\x74","\x53\x54\x52\x49\x4E\x47","\x54\x45\x58\x54","\x6C\x6F\x6E\x67","\x73\x71\x75\x61\x72\x65\x5F\x70\x72\x6F\x6A\x65\x63\x74\x73","\x64\x65\x66\x69\x6E\x65"];_0xe11a[0];module[_0xe11a[1]]=function(_0x5a7dx1,_0x5a7dx2){var _0x5a7dx3=_0x5a7dx1[_0xe11a[7]](_0xe11a[2],{name:{type:_0x5a7dx2[_0xe11a[3]],unique:true,validate:{notEmpty:true}},description:_0x5a7dx2[_0xe11a[3]],preproduction:{type:_0x5a7dx2[_0xe11a[4]],length:_0xe11a[5]},production:{type:_0x5a7dx2[_0xe11a[4]],length:_0xe11a[5]}},{tableName:_0xe11a[6]});return _0x5a7dx3;};
\ No newline at end of file
+var _0x6d3d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x53\x71\x75\x61\x72\x65\x50\x72\x6F\x6A\x65\x63\x74","\x53\x54\x52\x49\x4E\x47","\x54\x45\x58\x54","\x6C\x6F\x6E\x67","\x73\x71\x75\x61\x72\x65\x5F\x70\x72\x6F\x6A\x65\x63\x74\x73","\x64\x65\x66\x69\x6E\x65"];_0x6d3d[0];module[_0x6d3d[1]]=function(_0xbe15x1,_0xbe15x2){var _0xbe15x3=_0xbe15x1[_0x6d3d[7]](_0x6d3d[2],{name:{type:_0xbe15x2[_0x6d3d[3]],unique:true,validate:{notEmpty:true}},description:_0xbe15x2[_0x6d3d[3]],preproduction:{type:_0xbe15x2[_0x6d3d[4]],length:_0x6d3d[5]},production:{type:_0xbe15x2[_0x6d3d[4]],length:_0x6d3d[5]}},{tableName:_0x6d3d[6]});return _0xbe15x3;};
\ No newline at end of file
index a24b76572c99ee5ea3b84b637090d5b2e5767dc4..69efbece193b6054a5e144dac9484cd25cac6277 100644 (file)
@@ -1 +1 @@
-var _0xe48b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x53\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74","\x53\x54\x52\x49\x4E\x47","\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];_0xe48b[0];module[_0xe48b[1]]=function(_0x285ex1,_0x285ex2){return _0x285ex1[_0xe48b[7]](_0xe48b[2],{name:_0x285ex2[_0xe48b[3]],description:_0x285ex2[_0xe48b[3]],username:{type:_0x285ex2[_0xe48b[3]]},remoteUri:_0x285ex2[_0xe48b[3]],password:_0x285ex2[_0xe48b[3]]},{tableName:_0xe48b[4],associate:function(_0x285ex3){_0x285ex3[_0xe48b[2]][_0xe48b[6]](_0x285ex3.SugarcrmConfiguration,{foreignKey:_0xe48b[5]})}})};
\ No newline at end of file
+var _0xced7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x53\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74","\x53\x54\x52\x49\x4E\x47","\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];_0xced7[0];module[_0xced7[1]]=function(_0x67a0x1,_0x67a0x2){return _0x67a0x1[_0xced7[7]](_0xced7[2],{name:_0x67a0x2[_0xced7[3]],description:_0x67a0x2[_0xced7[3]],username:{type:_0x67a0x2[_0xced7[3]]},remoteUri:_0x67a0x2[_0xced7[3]],password:_0x67a0x2[_0xced7[3]]},{tableName:_0xced7[4],associate:function(_0x67a0x3){_0x67a0x3[_0xced7[2]][_0xced7[6]](_0x67a0x3.SugarcrmConfiguration,{foreignKey:_0xced7[5]})}})};
\ No newline at end of file
index 0328a667d3e23fc985a20c0029c02722519d822a..9a868c408870a03221015beef253dea197ac7f89 100644 (file)
@@ -1 +1 @@
-var _0x4c8f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x53\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x53\x54\x52\x49\x4E\x47","\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x53\x75\x62\x6A\x65\x63\x74","\x53\x75\x62\x6A\x65\x63\x74\x49\x64","\x68\x61\x73\x4D\x61\x6E\x79","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x49\x64","\x46\x69\x65\x6C\x64","\x46\x69\x65\x6C\x64\x49\x64","\x64\x65\x66\x69\x6E\x65"];_0x4c8f[0];module[_0x4c8f[1]]=function(_0xb2b8x1,_0xb2b8x2){return _0xb2b8x1[_0x4c8f[14]](_0x4c8f[2],{name:_0xb2b8x2[_0x4c8f[3]],description:_0xb2b8x2[_0x4c8f[3]]},{tableName:_0x4c8f[4],associate:function(_0xb2b8x3){_0xb2b8x3[_0x4c8f[2]][_0x4c8f[6]](_0xb2b8x3.SugarcrmAccount,{foreignKey:_0x4c8f[5]});_0xb2b8x3[_0x4c8f[2]][_0x4c8f[9]](_0xb2b8x3.SugarcrmField,{as:_0x4c8f[7],foreignKey:_0x4c8f[8]});_0xb2b8x3[_0x4c8f[2]][_0x4c8f[9]](_0xb2b8x3.SugarcrmField,{as:_0x4c8f[10],foreignKey:_0x4c8f[11]});_0xb2b8x3[_0x4c8f[2]][_0x4c8f[9]](_0xb2b8x3.SugarcrmField,{as:_0x4c8f[12],foreignKey:_0x4c8f[13]});}})};
\ No newline at end of file
+var _0x9b36=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x53\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x53\x54\x52\x49\x4E\x47","\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x53\x75\x62\x6A\x65\x63\x74","\x53\x75\x62\x6A\x65\x63\x74\x49\x64","\x68\x61\x73\x4D\x61\x6E\x79","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x49\x64","\x46\x69\x65\x6C\x64","\x46\x69\x65\x6C\x64\x49\x64","\x64\x65\x66\x69\x6E\x65"];_0x9b36[0];module[_0x9b36[1]]=function(_0x73a4x1,_0x73a4x2){return _0x73a4x1[_0x9b36[14]](_0x9b36[2],{name:_0x73a4x2[_0x9b36[3]],description:_0x73a4x2[_0x9b36[3]]},{tableName:_0x9b36[4],associate:function(_0x73a4x3){_0x73a4x3[_0x9b36[2]][_0x9b36[6]](_0x73a4x3.SugarcrmAccount,{foreignKey:_0x9b36[5]});_0x73a4x3[_0x9b36[2]][_0x9b36[9]](_0x73a4x3.SugarcrmField,{as:_0x9b36[7],foreignKey:_0x9b36[8]});_0x73a4x3[_0x9b36[2]][_0x9b36[9]](_0x73a4x3.SugarcrmField,{as:_0x9b36[10],foreignKey:_0x9b36[11]});_0x73a4x3[_0x9b36[2]][_0x9b36[9]](_0x73a4x3.SugarcrmField,{as:_0x9b36[12],foreignKey:_0x9b36[13]});}})};
\ No newline at end of file
index 06280e3579892d75242308ede31e4b7508ae4788..2ee2c87865a8cf63bfb4610ba3fd22de63fb6344 100644 (file)
@@ -1 +1 @@
-var _0x6926=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x53\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64","\x73\x74\x72\x69\x6E\x67","\x76\x61\x72\x69\x61\x62\x6C\x65","\x6B\x65\x79\x5F\x76\x61\x6C\x75\x65","\x53\x54\x52\x49\x4E\x47","\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x66\x69\x65\x6C\x64\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];_0x6926[0];module[_0x6926[1]]=function(_0x178ax1,_0x178ax2){return _0x178ax1[_0x6926[9]](_0x6926[2],{type:{type:_0x178ax2.ENUM(_0x6926[3],_0x6926[4],_0x6926[5]),defaultValue:_0x6926[3]},content:_0x178ax2[_0x6926[6]],key:_0x178ax2[_0x6926[6]],keyType:{type:_0x178ax2.ENUM(_0x6926[3],_0x6926[4])},keyContent:_0x178ax2[_0x6926[6]],idField:_0x178ax2[_0x6926[6]]},{tableName:_0x6926[7],associate:function(_0x178ax3){_0x178ax3[_0x6926[2]][_0x6926[8]](_0x178ax3.Variable)}})};
\ No newline at end of file
+var _0xf42f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x53\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64","\x73\x74\x72\x69\x6E\x67","\x76\x61\x72\x69\x61\x62\x6C\x65","\x6B\x65\x79\x5F\x76\x61\x6C\x75\x65","\x53\x54\x52\x49\x4E\x47","\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x66\x69\x65\x6C\x64\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];_0xf42f[0];module[_0xf42f[1]]=function(_0x9409x1,_0x9409x2){return _0x9409x1[_0xf42f[9]](_0xf42f[2],{type:{type:_0x9409x2.ENUM(_0xf42f[3],_0xf42f[4],_0xf42f[5]),defaultValue:_0xf42f[3]},content:_0x9409x2[_0xf42f[6]],key:_0x9409x2[_0xf42f[6]],keyType:{type:_0x9409x2.ENUM(_0xf42f[3],_0xf42f[4])},keyContent:_0x9409x2[_0xf42f[6]],idField:_0x9409x2[_0xf42f[6]]},{tableName:_0xf42f[7],associate:function(_0x9409x3){_0x9409x3[_0xf42f[2]][_0xf42f[8]](_0x9409x3.Variable)}})};
\ No newline at end of file
index ffdf96cf96a7247e2b2e0d06e796cda97b6657b4..0ef40443bcc16a54adaca59fba823aea9259a0d3 100644 (file)
@@ -1 +1 @@
-var _0xf0b3=["\x65\x78\x70\x6F\x72\x74\x73","\x54\x61\x67","\x53\x54\x52\x49\x4E\x47","\x74\x61\x67\x73","\x64\x65\x66\x69\x6E\x65"];module[_0xf0b3[0]]=function(_0xf9e9x1,_0xf9e9x2){var _0xf9e9x3=_0xf9e9x1[_0xf0b3[4]](_0xf0b3[1],{name:{type:_0xf9e9x2[_0xf0b3[2]],unique:true}},{tableName:_0xf0b3[3]});return _0xf9e9x3;};
\ No newline at end of file
+var _0x2645=["\x65\x78\x70\x6F\x72\x74\x73","\x54\x61\x67","\x53\x54\x52\x49\x4E\x47","\x74\x61\x67\x73","\x64\x65\x66\x69\x6E\x65"];module[_0x2645[0]]=function(_0xfea8x1,_0xfea8x2){var _0xfea8x3=_0xfea8x1[_0x2645[4]](_0x2645[1],{name:{type:_0xfea8x2[_0x2645[2]],unique:true}},{tableName:_0x2645[3]});return _0xfea8x3;};
\ No newline at end of file
index 06867b9a57f18db1587b1d3656b3da1433c78f1b..06d6c93b3db008ae9e13f30675504892b0f97ed0 100644 (file)
@@ -1 +1 @@
-var _0xadfe=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x54\x65\x61\x6D","\x53\x54\x52\x49\x4E\x47","\x42\x4F\x4F\x4C\x45\x41\x4E","\x74\x65\x61\x6D\x73","\x55\x73\x65\x72\x48\x61\x73\x54\x65\x61\x6D","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0xadfe[0]);module[_0xadfe[1]]=function(_0xb3b8x2,_0xb3b8x3){var _0xb3b8x4=_0xb3b8x2[_0xadfe[8]](_0xadfe[2],{name:{type:_0xb3b8x3[_0xadfe[3]],allowNull:false,unique:true},description:{type:_0xb3b8x3[_0xadfe[3]]},defaultEntry:{type:_0xb3b8x3[_0xadfe[4]],defaultValue:0}},{tableName:_0xadfe[5],associate:function(_0xb3b8x5){_0xb3b8x4[_0xadfe[7]](_0xb3b8x5.User,{through:_0xb3b8x5[_0xadfe[6]]})}});return _0xb3b8x4;};
\ No newline at end of file
+var _0x2ff9=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x54\x65\x61\x6D","\x53\x54\x52\x49\x4E\x47","\x42\x4F\x4F\x4C\x45\x41\x4E","\x74\x65\x61\x6D\x73","\x55\x73\x65\x72\x48\x61\x73\x54\x65\x61\x6D","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x2ff9[0]);module[_0x2ff9[1]]=function(_0x29a4x2,_0x29a4x3){var _0x29a4x4=_0x29a4x2[_0x2ff9[8]](_0x2ff9[2],{name:{type:_0x29a4x3[_0x2ff9[3]],allowNull:false,unique:true},description:{type:_0x29a4x3[_0x2ff9[3]]},defaultEntry:{type:_0x29a4x3[_0x2ff9[4]],defaultValue:0}},{tableName:_0x2ff9[5],associate:function(_0x29a4x5){_0x29a4x4[_0x2ff9[7]](_0x29a4x5.User,{through:_0x29a4x5[_0x2ff9[6]]})}});return _0x29a4x4;};
\ No newline at end of file
index 3caa4f2a0a8f2a94892ddfb6713ced292a67da80..0650ffd9faa3b86c2fb843d470d1a937ec7b519a 100644 (file)
@@ -1 +1 @@
-var _0xef12=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x63\x72\x79\x70\x74\x6F","\x6D\x64\x35","\x6C\x6F\x64\x61\x73\x68","\x65\x78\x70\x6F\x72\x74\x73","\x54\x65\x6C\x65\x70\x68\x6F\x6E\x65","\x53\x54\x52\x49\x4E\x47","\x6E\x61\x6D\x65","\x73\x65\x74\x44\x61\x74\x61\x56\x61\x6C\x75\x65","\x64\x65\x66\x61\x75\x6C\x74\x75\x73\x65\x72","\x73\x61\x6C\x74","\x6D\x61\x6B\x65\x53\x61\x6C\x74","\x70\x61\x73\x73\x77\x6F\x72\x64","\x65\x6E\x63\x72\x79\x70\x74\x50\x61\x73\x73\x77\x6F\x72\x64","\x6D\x64\x35\x73\x65\x63\x72\x65\x74","\x3A\x61\x73\x74\x65\x72\x69\x73\x6B\x3A","\x6D\x64\x35\x50\x61\x73\x73\x77\x6F\x72\x64","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x61\x63\x63\x6F\x75\x6E\x74\x63\x6F\x64\x65","\x64\x79\x6E\x61\x6D\x69\x63","\x66\x72\x69\x65\x6E\x64","\x75\x73\x65\x72","\x70\x65\x65\x72","\x66\x72\x6F\x6D\x2D\x73\x69\x70","\x75\x64\x70","\x72\x66\x63\x32\x38\x33\x33","\x69\x6E\x66\x6F","\x73\x68\x6F\x72\x74\x69\x6E\x66\x6F","\x69\x6E\x62\x61\x6E\x64","\x61\x75\x74\x6F","\x79\x65\x73","\x6E\x6F","\x6E\x6F\x6E\x61\x74","\x75\x70\x64\x61\x74\x65","\x66\x6F\x72\x63\x65\x5F\x72\x70\x6F\x72\x74\x2C\x63\x6F\x6D\x65\x64\x69\x61","\x65\x6E","\x61\x6C\x6C","\x61\x6C\x61\x77\x3B\x75\x6C\x61\x77\x3B\x67\x73\x6D","\x70\x6F\x72\x74\x2C\x69\x6E\x76\x69\x74\x65","\x6E\x65\x76\x65\x72","\x22\x22\x20\x3C\x3E","\x61\x63\x63\x65\x70\x74","\x72\x65\x66\x75\x73\x65","\x6F\x72\x69\x67\x69\x6E\x61\x74\x65","\x75\x61\x63","\x75\x61\x73","\x41\x4C\x4C\x4F\x57\x45\x44\x5F\x4E\x4F\x54\x5F\x53\x43\x52\x45\x45\x4E\x45\x44","\x41\x4C\x4C\x4F\x57\x45\x44\x5F\x50\x41\x53\x53\x45\x44\x5F\x53\x43\x52\x45\x45\x4E","\x41\x4C\x4C\x4F\x57\x45\x44\x5F\x46\x41\x49\x4C\x45\x44\x5F\x53\x43\x52\x45\x45\x4E","\x41\x4C\x4C\x4F\x57\x45\x44","\x50\x52\x4F\x48\x49\x42\x5F\x4E\x4F\x54\x5F\x53\x43\x52\x45\x45\x4E\x45\x44","\x50\x52\x4F\x48\x49\x42\x5F\x50\x41\x53\x53\x45\x44\x5F\x53\x43\x52\x45\x45\x4E","\x50\x52\x4F\x48\x49\x42\x5F\x46\x41\x49\x4C\x45\x44\x5F\x53\x43\x52\x45\x45\x4E","\x50\x52\x4F\x48\x49\x42","\x75\x73\x65\x72\x73","\x74\x65\x6C\x65\x70\x68\x6F\x6E\x65","\x62\x61\x73\x65\x36\x34","\x72\x61\x6E\x64\x6F\x6D\x42\x79\x74\x65\x73","","\x70\x62\x6B\x64\x66\x32\x53\x79\x6E\x63","\x64\x65\x66\x69\x6E\x65"];_0xef12[0];var crypto=require(_0xef12[1]);var md5=require(_0xef12[2]);var _=require(_0xef12[3]);module[_0xef12[4]]=function(_0xbaf3x4,_0xbaf3x5){var _0xbaf3x6=_0xbaf3x4[_0xef12[60]](_0xef12[5],{name:{type:_0xbaf3x5[_0xef12[6]],unique:true,validate:{notEmpty:true},set:function(_0xbaf3x7){this[_0xef12[8]](_0xef12[7],_0xbaf3x7);this[_0xef12[8]](_0xef12[9],_0xbaf3x7);}},password:{type:_0xbaf3x5[_0xef12[6]],allowNull:false,validate:{notEmpty:true},set:function(_0xbaf3x8){this[_0xef12[10]]=this[_0xef12[11]]();this[_0xef12[8]](_0xef12[12],this[_0xef12[13]](_0xbaf3x8));this[_0xef12[8]](_0xef12[14],this[_0xef12[16]](this[_0xef12[7]]+_0xef12[15]+_0xbaf3x8));}},internal:{type:_0xbaf3x5.INTEGER(11),unique:true,set:function(_0xbaf3x9){this[_0xef12[8]](_0xef12[17],_0xbaf3x9);this[_0xef12[8]](_0xef12[18],_0xbaf3x9);}},ipaddr:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},port:{type:_0xbaf3x5.INTEGER(5),allowNull:true},regseconds:{type:_0xbaf3x5.INTEGER(11),allowNull:true},defaultuser:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},fullcontact:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},regserver:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},useragent:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},lastms:{type:_0xbaf3x5.INTEGER(11),allowNull:true},host:{type:_0xbaf3x5[_0xef12[6]],allowNull:true,defaultValue:_0xef12[19]},type:{type:_0xbaf3x5.ENUM(_0xef12[20],_0xef12[21],_0xef12[22]),allowNull:true,defaultValue:_0xef12[20]},context:{type:_0xbaf3x5[_0xef12[6]],allowNull:true,defaultValue:_0xef12[23]},permit:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},deny:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},secret:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},md5secret:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},remotesecret:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},transport:{type:_0xbaf3x5[_0xef12[6]],allowNull:true,defaultValue:_0xef12[24]},dtmfmode:{type:_0xbaf3x5.ENUM(_0xef12[25],_0xef12[26],_0xef12[27],_0xef12[28],_0xef12[29]),allowNull:true,defaultValue:_0xef12[25]},directmedia:{type:_0xbaf3x5.ENUM(_0xef12[30],_0xef12[31],_0xef12[32],_0xef12[33]),allowNull:true,defaultValue:_0xef12[31]},nat:{type:_0xbaf3x5[_0xef12[6]],allowNull:true,defaultValue:_0xef12[34]},callgroup:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},pickupgroup:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},language:{type:_0xbaf3x5[_0xef12[6]],allowNull:true,defaultValue:_0xef12[35]},disallow:{type:_0xbaf3x5[_0xef12[6]],allowNull:true,defaultValue:_0xef12[36]},allow:{type:_0xbaf3x5[_0xef12[6]],allowNull:true,defaultValue:_0xef12[37]},insecure:{type:_0xbaf3x5[_0xef12[6]],allowNull:true,defaultValue:_0xef12[38]},trustrpid:{type:_0xbaf3x5.ENUM(_0xef12[30],_0xef12[31]),allowNull:true,defaultValue:_0xef12[31]},progressinband:{type:_0xbaf3x5.ENUM(_0xef12[30],_0xef12[31],_0xef12[39]),allowNull:true},promiscredir:{type:_0xbaf3x5.ENUM(_0xef12[30],_0xef12[31]),allowNull:true},useclientcode:{type:_0xbaf3x5.ENUM(_0xef12[30],_0xef12[31]),allowNull:true},accountcode:{type:_0xbaf3x5.INTEGER(11),allowNull:true},setvar:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},callerid:{type:_0xbaf3x5[_0xef12[6]],allowNull:true,defaultValue:_0xef12[40]},amaflags:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},callcounter:{type:_0xbaf3x5.ENUM(_0xef12[30],_0xef12[31]),allowNull:true,defaultValue:_0xef12[30]},busylevel:{type:_0xbaf3x5.INTEGER(11),allowNull:true},allowoverlap:{type:_0xbaf3x5.ENUM(_0xef12[30],_0xef12[31]),allowNull:true},allowsubscribe:{type:_0xbaf3x5.ENUM(_0xef12[30],_0xef12[31]),allowNull:true},videosupport:{type:_0xbaf3x5.ENUM(_0xef12[30],_0xef12[31]),allowNull:true},maxcallbitrate:{type:_0xbaf3x5.INTEGER(11),allowNull:true},rfc2833compensate:{type:_0xbaf3x5.ENUM(_0xef12[30],_0xef12[31]),allowNull:true},mailbox:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},"\x73\x65\x73\x73\x69\x6F\x6E\x2D\x74\x69\x6D\x65\x72\x73":{type:_0xbaf3x5.ENUM(_0xef12[41],_0xef12[42],_0xef12[43]),allowNull:true},"\x73\x65\x73\x73\x69\x6F\x6E\x2D\x65\x78\x70\x69\x72\x65\x73":{type:_0xbaf3x5.INTEGER(11),allowNull:true},"\x73\x65\x73\x73\x69\x6F\x6E\x2D\x6D\x69\x6E\x73\x65":{type:_0xbaf3x5.INTEGER(11),allowNull:true},"\x73\x65\x73\x73\x69\x6F\x6E\x2D\x72\x65\x66\x72\x65\x73\x68\x65\x72":{type:_0xbaf3x5.ENUM(_0xef12[44],_0xef12[45]),allowNull:true},t38pt_usertpsource:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},regexten:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},fromdomain:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},fromuser:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},qualify:{type:_0xbaf3x5.ENUM(_0xef12[30],_0xef12[31]),allowNull:true,defaultValue:_0xef12[30]},defaultip:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},rtptimeout:{type:_0xbaf3x5.INTEGER(11),allowNull:true},rtpholdtimeout:{type:_0xbaf3x5.INTEGER(11),allowNull:true},sendrpid:{type:_0xbaf3x5.ENUM(_0xef12[30],_0xef12[31]),allowNull:true,defaultValue:_0xef12[31]},outboundproxy:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},callbackextension:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},timert1:{type:_0xbaf3x5.INTEGER(11),allowNull:true},timerb:{type:_0xbaf3x5.INTEGER(11),allowNull:true},qualifyfreq:{type:_0xbaf3x5.INTEGER(11),allowNull:true},constantssrc:{type:_0xbaf3x5.ENUM(_0xef12[30],_0xef12[31]),allowNull:true},contactpermit:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},contactdeny:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},usereqphone:{type:_0xbaf3x5.ENUM(_0xef12[30],_0xef12[31]),allowNull:true,defaultValue:_0xef12[31]},textsupport:{type:_0xbaf3x5.ENUM(_0xef12[30],_0xef12[31]),allowNull:true},faxdetect:{type:_0xbaf3x5.ENUM(_0xef12[30],_0xef12[31]),allowNull:true},buggymwi:{type:_0xbaf3x5.ENUM(_0xef12[30],_0xef12[31]),allowNull:true},auth:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},fullname:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},trunkname:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},cid_number:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},callingpres:{type:_0xbaf3x5.ENUM(_0xef12[46],_0xef12[47],_0xef12[48],_0xef12[49],_0xef12[50],_0xef12[51],_0xef12[52],_0xef12[53]),allowNull:true},mohinterpret:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},mohsuggest:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},parkinglot:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},hasvoicemail:{type:_0xbaf3x5.ENUM(_0xef12[30],_0xef12[31]),allowNull:true},subscribemwi:{type:_0xbaf3x5.ENUM(_0xef12[30],_0xef12[31]),allowNull:true},vmexten:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},description:{type:_0xbaf3x5[_0xef12[6]],allowNull:true},autoframing:{type:_0xbaf3x5.ENUM(_0xef12[30],_0xef12[31]),allowNull:true},limitonpeers:{type:_0xbaf3x5.ENUM(_0xef12[30],_0xef12[31]),allowNull:true,defaultValue:_0xef12[30]},rtpkeepalive:{type:_0xbaf3x5.INTEGER(11),allowNull:true},"\x63\x61\x6C\x6C\x2D\x6C\x69\x6D\x69\x74":{type:_0xbaf3x5.INTEGER(11),allowNull:true,defaultValue:null},g726nonstandard:{type:_0xbaf3x5.ENUM(_0xef12[30],_0xef12[31]),allowNull:true},ignoresdpversion:{type:_0xbaf3x5.ENUM(_0xef12[30],_0xef12[31]),allowNull:true},allowtransfer:{type:_0xbaf3x5.ENUM(_0xef12[30],_0xef12[31]),allowNull:true},dynamic:{type:_0xbaf3x5.ENUM(_0xef12[30],_0xef12[31]),allowNull:true},encryption:{type:_0xbaf3x5.ENUM(_0xef12[30],_0xef12[31]),allowNull:true,defaultValue:_0xef12[31]},registry:{type:_0xbaf3x5[_0xef12[6]],allowNull:true}},{tableName:_0xef12[54],defaultScope:{where:{role:_0xef12[55]}},instanceMethods:{authenticate:function(_0xbaf3xa){return this[_0xef12[13]](_0xbaf3xa)===this[_0xef12[12]]},makeSalt:function(){return crypto[_0xef12[57]](16).toString(_0xef12[56])},encryptPassword:function(_0xbaf3x8){if(!_0xbaf3x8||!this[_0xef12[10]]){return _0xef12[58]};var _0xbaf3xb= new Buffer(this[_0xef12[10]],_0xef12[56]);return crypto[_0xef12[59]](_0xbaf3x8,_0xbaf3xb,10000,64).toString(_0xef12[56]);},md5Password:function(_0xbaf3x8){if(!_0xbaf3x8){return _0xef12[58]};return md5(_0xbaf3x8);}},associate:function(_0xbaf3xc){}});return _0xbaf3x6;};
\ No newline at end of file
+var _0xa9c1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x63\x72\x79\x70\x74\x6F","\x6D\x64\x35","\x6C\x6F\x64\x61\x73\x68","\x65\x78\x70\x6F\x72\x74\x73","\x54\x65\x6C\x65\x70\x68\x6F\x6E\x65","\x53\x54\x52\x49\x4E\x47","\x6E\x61\x6D\x65","\x73\x65\x74\x44\x61\x74\x61\x56\x61\x6C\x75\x65","\x64\x65\x66\x61\x75\x6C\x74\x75\x73\x65\x72","\x73\x61\x6C\x74","\x6D\x61\x6B\x65\x53\x61\x6C\x74","\x70\x61\x73\x73\x77\x6F\x72\x64","\x65\x6E\x63\x72\x79\x70\x74\x50\x61\x73\x73\x77\x6F\x72\x64","\x6D\x64\x35\x73\x65\x63\x72\x65\x74","\x3A\x61\x73\x74\x65\x72\x69\x73\x6B\x3A","\x6D\x64\x35\x50\x61\x73\x73\x77\x6F\x72\x64","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x61\x63\x63\x6F\x75\x6E\x74\x63\x6F\x64\x65","\x64\x79\x6E\x61\x6D\x69\x63","\x66\x72\x69\x65\x6E\x64","\x75\x73\x65\x72","\x70\x65\x65\x72","\x66\x72\x6F\x6D\x2D\x73\x69\x70","\x75\x64\x70","\x72\x66\x63\x32\x38\x33\x33","\x69\x6E\x66\x6F","\x73\x68\x6F\x72\x74\x69\x6E\x66\x6F","\x69\x6E\x62\x61\x6E\x64","\x61\x75\x74\x6F","\x79\x65\x73","\x6E\x6F","\x6E\x6F\x6E\x61\x74","\x75\x70\x64\x61\x74\x65","\x66\x6F\x72\x63\x65\x5F\x72\x70\x6F\x72\x74\x2C\x63\x6F\x6D\x65\x64\x69\x61","\x65\x6E","\x61\x6C\x6C","\x61\x6C\x61\x77\x3B\x75\x6C\x61\x77\x3B\x67\x73\x6D","\x70\x6F\x72\x74\x2C\x69\x6E\x76\x69\x74\x65","\x6E\x65\x76\x65\x72","\x22\x22\x20\x3C\x3E","\x61\x63\x63\x65\x70\x74","\x72\x65\x66\x75\x73\x65","\x6F\x72\x69\x67\x69\x6E\x61\x74\x65","\x75\x61\x63","\x75\x61\x73","\x41\x4C\x4C\x4F\x57\x45\x44\x5F\x4E\x4F\x54\x5F\x53\x43\x52\x45\x45\x4E\x45\x44","\x41\x4C\x4C\x4F\x57\x45\x44\x5F\x50\x41\x53\x53\x45\x44\x5F\x53\x43\x52\x45\x45\x4E","\x41\x4C\x4C\x4F\x57\x45\x44\x5F\x46\x41\x49\x4C\x45\x44\x5F\x53\x43\x52\x45\x45\x4E","\x41\x4C\x4C\x4F\x57\x45\x44","\x50\x52\x4F\x48\x49\x42\x5F\x4E\x4F\x54\x5F\x53\x43\x52\x45\x45\x4E\x45\x44","\x50\x52\x4F\x48\x49\x42\x5F\x50\x41\x53\x53\x45\x44\x5F\x53\x43\x52\x45\x45\x4E","\x50\x52\x4F\x48\x49\x42\x5F\x46\x41\x49\x4C\x45\x44\x5F\x53\x43\x52\x45\x45\x4E","\x50\x52\x4F\x48\x49\x42","\x75\x73\x65\x72\x73","\x74\x65\x6C\x65\x70\x68\x6F\x6E\x65","\x62\x61\x73\x65\x36\x34","\x72\x61\x6E\x64\x6F\x6D\x42\x79\x74\x65\x73","","\x70\x62\x6B\x64\x66\x32\x53\x79\x6E\x63","\x64\x65\x66\x69\x6E\x65"];_0xa9c1[0];var crypto=require(_0xa9c1[1]);var md5=require(_0xa9c1[2]);var _=require(_0xa9c1[3]);module[_0xa9c1[4]]=function(_0xb9a4x4,_0xb9a4x5){var _0xb9a4x6=_0xb9a4x4[_0xa9c1[60]](_0xa9c1[5],{name:{type:_0xb9a4x5[_0xa9c1[6]],unique:true,validate:{notEmpty:true},set:function(_0xb9a4x7){this[_0xa9c1[8]](_0xa9c1[7],_0xb9a4x7);this[_0xa9c1[8]](_0xa9c1[9],_0xb9a4x7);}},password:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:false,validate:{notEmpty:true},set:function(_0xb9a4x8){this[_0xa9c1[10]]=this[_0xa9c1[11]]();this[_0xa9c1[8]](_0xa9c1[12],this[_0xa9c1[13]](_0xb9a4x8));this[_0xa9c1[8]](_0xa9c1[14],this[_0xa9c1[16]](this[_0xa9c1[7]]+_0xa9c1[15]+_0xb9a4x8));}},internal:{type:_0xb9a4x5.INTEGER(11),unique:true,set:function(_0xb9a4x9){this[_0xa9c1[8]](_0xa9c1[17],_0xb9a4x9);this[_0xa9c1[8]](_0xa9c1[18],_0xb9a4x9);}},ipaddr:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},port:{type:_0xb9a4x5.INTEGER(5),allowNull:true},regseconds:{type:_0xb9a4x5.INTEGER(11),allowNull:true},defaultuser:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},fullcontact:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},regserver:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},useragent:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},lastms:{type:_0xb9a4x5.INTEGER(11),allowNull:true},host:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true,defaultValue:_0xa9c1[19]},type:{type:_0xb9a4x5.ENUM(_0xa9c1[20],_0xa9c1[21],_0xa9c1[22]),allowNull:true,defaultValue:_0xa9c1[20]},context:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true,defaultValue:_0xa9c1[23]},permit:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},deny:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},secret:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},md5secret:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},remotesecret:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},transport:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true,defaultValue:_0xa9c1[24]},dtmfmode:{type:_0xb9a4x5.ENUM(_0xa9c1[25],_0xa9c1[26],_0xa9c1[27],_0xa9c1[28],_0xa9c1[29]),allowNull:true,defaultValue:_0xa9c1[25]},directmedia:{type:_0xb9a4x5.ENUM(_0xa9c1[30],_0xa9c1[31],_0xa9c1[32],_0xa9c1[33]),allowNull:true,defaultValue:_0xa9c1[31]},nat:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true,defaultValue:_0xa9c1[34]},callgroup:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},pickupgroup:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},language:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true,defaultValue:_0xa9c1[35]},disallow:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true,defaultValue:_0xa9c1[36]},allow:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true,defaultValue:_0xa9c1[37]},insecure:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true,defaultValue:_0xa9c1[38]},trustrpid:{type:_0xb9a4x5.ENUM(_0xa9c1[30],_0xa9c1[31]),allowNull:true,defaultValue:_0xa9c1[31]},progressinband:{type:_0xb9a4x5.ENUM(_0xa9c1[30],_0xa9c1[31],_0xa9c1[39]),allowNull:true},promiscredir:{type:_0xb9a4x5.ENUM(_0xa9c1[30],_0xa9c1[31]),allowNull:true},useclientcode:{type:_0xb9a4x5.ENUM(_0xa9c1[30],_0xa9c1[31]),allowNull:true},accountcode:{type:_0xb9a4x5.INTEGER(11),allowNull:true},setvar:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},callerid:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true,defaultValue:_0xa9c1[40]},amaflags:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},callcounter:{type:_0xb9a4x5.ENUM(_0xa9c1[30],_0xa9c1[31]),allowNull:true,defaultValue:_0xa9c1[30]},busylevel:{type:_0xb9a4x5.INTEGER(11),allowNull:true},allowoverlap:{type:_0xb9a4x5.ENUM(_0xa9c1[30],_0xa9c1[31]),allowNull:true},allowsubscribe:{type:_0xb9a4x5.ENUM(_0xa9c1[30],_0xa9c1[31]),allowNull:true},videosupport:{type:_0xb9a4x5.ENUM(_0xa9c1[30],_0xa9c1[31]),allowNull:true},maxcallbitrate:{type:_0xb9a4x5.INTEGER(11),allowNull:true},rfc2833compensate:{type:_0xb9a4x5.ENUM(_0xa9c1[30],_0xa9c1[31]),allowNull:true},mailbox:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},"\x73\x65\x73\x73\x69\x6F\x6E\x2D\x74\x69\x6D\x65\x72\x73":{type:_0xb9a4x5.ENUM(_0xa9c1[41],_0xa9c1[42],_0xa9c1[43]),allowNull:true},"\x73\x65\x73\x73\x69\x6F\x6E\x2D\x65\x78\x70\x69\x72\x65\x73":{type:_0xb9a4x5.INTEGER(11),allowNull:true},"\x73\x65\x73\x73\x69\x6F\x6E\x2D\x6D\x69\x6E\x73\x65":{type:_0xb9a4x5.INTEGER(11),allowNull:true},"\x73\x65\x73\x73\x69\x6F\x6E\x2D\x72\x65\x66\x72\x65\x73\x68\x65\x72":{type:_0xb9a4x5.ENUM(_0xa9c1[44],_0xa9c1[45]),allowNull:true},t38pt_usertpsource:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},regexten:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},fromdomain:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},fromuser:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},qualify:{type:_0xb9a4x5.ENUM(_0xa9c1[30],_0xa9c1[31]),allowNull:true,defaultValue:_0xa9c1[30]},defaultip:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},rtptimeout:{type:_0xb9a4x5.INTEGER(11),allowNull:true},rtpholdtimeout:{type:_0xb9a4x5.INTEGER(11),allowNull:true},sendrpid:{type:_0xb9a4x5.ENUM(_0xa9c1[30],_0xa9c1[31]),allowNull:true,defaultValue:_0xa9c1[31]},outboundproxy:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},callbackextension:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},timert1:{type:_0xb9a4x5.INTEGER(11),allowNull:true},timerb:{type:_0xb9a4x5.INTEGER(11),allowNull:true},qualifyfreq:{type:_0xb9a4x5.INTEGER(11),allowNull:true},constantssrc:{type:_0xb9a4x5.ENUM(_0xa9c1[30],_0xa9c1[31]),allowNull:true},contactpermit:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},contactdeny:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},usereqphone:{type:_0xb9a4x5.ENUM(_0xa9c1[30],_0xa9c1[31]),allowNull:true,defaultValue:_0xa9c1[31]},textsupport:{type:_0xb9a4x5.ENUM(_0xa9c1[30],_0xa9c1[31]),allowNull:true},faxdetect:{type:_0xb9a4x5.ENUM(_0xa9c1[30],_0xa9c1[31]),allowNull:true},buggymwi:{type:_0xb9a4x5.ENUM(_0xa9c1[30],_0xa9c1[31]),allowNull:true},auth:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},fullname:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},trunkname:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},cid_number:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},callingpres:{type:_0xb9a4x5.ENUM(_0xa9c1[46],_0xa9c1[47],_0xa9c1[48],_0xa9c1[49],_0xa9c1[50],_0xa9c1[51],_0xa9c1[52],_0xa9c1[53]),allowNull:true},mohinterpret:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},mohsuggest:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},parkinglot:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},hasvoicemail:{type:_0xb9a4x5.ENUM(_0xa9c1[30],_0xa9c1[31]),allowNull:true},subscribemwi:{type:_0xb9a4x5.ENUM(_0xa9c1[30],_0xa9c1[31]),allowNull:true},vmexten:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},description:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true},autoframing:{type:_0xb9a4x5.ENUM(_0xa9c1[30],_0xa9c1[31]),allowNull:true},limitonpeers:{type:_0xb9a4x5.ENUM(_0xa9c1[30],_0xa9c1[31]),allowNull:true,defaultValue:_0xa9c1[30]},rtpkeepalive:{type:_0xb9a4x5.INTEGER(11),allowNull:true},"\x63\x61\x6C\x6C\x2D\x6C\x69\x6D\x69\x74":{type:_0xb9a4x5.INTEGER(11),allowNull:true,defaultValue:null},g726nonstandard:{type:_0xb9a4x5.ENUM(_0xa9c1[30],_0xa9c1[31]),allowNull:true},ignoresdpversion:{type:_0xb9a4x5.ENUM(_0xa9c1[30],_0xa9c1[31]),allowNull:true},allowtransfer:{type:_0xb9a4x5.ENUM(_0xa9c1[30],_0xa9c1[31]),allowNull:true},dynamic:{type:_0xb9a4x5.ENUM(_0xa9c1[30],_0xa9c1[31]),allowNull:true},encryption:{type:_0xb9a4x5.ENUM(_0xa9c1[30],_0xa9c1[31]),allowNull:true,defaultValue:_0xa9c1[31]},registry:{type:_0xb9a4x5[_0xa9c1[6]],allowNull:true}},{tableName:_0xa9c1[54],defaultScope:{where:{role:_0xa9c1[55]}},instanceMethods:{authenticate:function(_0xb9a4xa){return this[_0xa9c1[13]](_0xb9a4xa)===this[_0xa9c1[12]]},makeSalt:function(){return crypto[_0xa9c1[57]](16).toString(_0xa9c1[56])},encryptPassword:function(_0xb9a4x8){if(!_0xb9a4x8||!this[_0xa9c1[10]]){return _0xa9c1[58]};var _0xb9a4xb= new Buffer(this[_0xa9c1[10]],_0xa9c1[56]);return crypto[_0xa9c1[59]](_0xb9a4x8,_0xb9a4xb,10000,64).toString(_0xa9c1[56]);},md5Password:function(_0xb9a4x8){if(!_0xb9a4x8){return _0xa9c1[58]};return md5(_0xb9a4x8);}},associate:function(_0xb9a4xc){}});return _0xb9a4x6;};
\ No newline at end of file
index eb606e4b0e5707c3997ab53127ae059af5676ee7..2caddf298031c929bb722067e9e38967b84b2aea 100644 (file)
@@ -1 +1 @@
-var _0xcc70=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x54\x72\x69\x67\x67\x65\x72","\x53\x54\x52\x49\x4E\x47","\x54\x45\x58\x54","\x42\x4F\x4F\x4C\x45\x41\x4E","\x74\x72\x69\x67\x67\x65\x72\x73","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0xcc70[0]);module[_0xcc70[1]]=function(_0xcf31x2,_0xcf31x3){var _0xcf31x4=_0xcf31x2[_0xcc70[7]](_0xcc70[2],{name:_0xcf31x3[_0xcc70[3]],channel:_0xcf31x3[_0xcc70[3]],description:_0xcf31x3[_0xcc70[3]],conditions:_0xcf31x3[_0xcc70[4]],actions:_0xcf31x3[_0xcc70[4]],status:{type:_0xcf31x3[_0xcc70[5]],defaultValue:false}},{tableName:_0xcc70[6]});return _0xcf31x4;};
\ No newline at end of file
+var _0x105a=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x54\x72\x69\x67\x67\x65\x72","\x53\x54\x52\x49\x4E\x47","\x54\x45\x58\x54","\x42\x4F\x4F\x4C\x45\x41\x4E","\x74\x72\x69\x67\x67\x65\x72\x73","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x105a[0]);module[_0x105a[1]]=function(_0x2190x2,_0x2190x3){var _0x2190x4=_0x2190x2[_0x105a[7]](_0x105a[2],{name:_0x2190x3[_0x105a[3]],channel:_0x2190x3[_0x105a[3]],description:_0x2190x3[_0x105a[3]],conditions:_0x2190x3[_0x105a[4]],actions:_0x2190x3[_0x105a[4]],status:{type:_0x2190x3[_0x105a[5]],defaultValue:false}},{tableName:_0x105a[6]});return _0x2190x4;};
\ No newline at end of file
index 6c2b84fc236701d14601c51ad23755dccc183b41..25127acbbae97dbd5b0e45766022232b6b213858 100644 (file)
@@ -1 +1 @@
-var _0x2189=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x63\x72\x79\x70\x74\x6F","\x6D\x64\x35","\x6C\x6F\x64\x61\x73\x68","\x65\x78\x70\x6F\x72\x74\x73","\x54\x72\x75\x6E\x6B","\x53\x54\x52\x49\x4E\x47","\x64\x79\x6E\x61\x6D\x69\x63","\x66\x72\x69\x65\x6E\x64","\x75\x73\x65\x72","\x70\x65\x65\x72","\x66\x72\x6F\x6D\x2D\x73\x69\x70","\x75\x64\x70","\x72\x66\x63\x32\x38\x33\x33","\x69\x6E\x66\x6F","\x73\x68\x6F\x72\x74\x69\x6E\x66\x6F","\x69\x6E\x62\x61\x6E\x64","\x61\x75\x74\x6F","\x79\x65\x73","\x6E\x6F","\x6E\x6F\x6E\x61\x74","\x75\x70\x64\x61\x74\x65","\x66\x6F\x72\x63\x65\x5F\x72\x70\x6F\x72\x74\x2C\x63\x6F\x6D\x65\x64\x69\x61","\x65\x6E","\x61\x6C\x61\x77\x3B\x75\x6C\x61\x77\x3B\x67\x73\x6D","\x70\x6F\x72\x74\x2C\x69\x6E\x76\x69\x74\x65","\x6E\x65\x76\x65\x72","\x22\x22\x20\x3C\x3E","\x41\x4C\x4C\x4F\x57\x45\x44\x5F\x4E\x4F\x54\x5F\x53\x43\x52\x45\x45\x4E\x45\x44","\x41\x4C\x4C\x4F\x57\x45\x44\x5F\x50\x41\x53\x53\x45\x44\x5F\x53\x43\x52\x45\x45\x4E","\x41\x4C\x4C\x4F\x57\x45\x44\x5F\x46\x41\x49\x4C\x45\x44\x5F\x53\x43\x52\x45\x45\x4E","\x41\x4C\x4C\x4F\x57\x45\x44","\x50\x52\x4F\x48\x49\x42\x5F\x4E\x4F\x54\x5F\x53\x43\x52\x45\x45\x4E\x45\x44","\x50\x52\x4F\x48\x49\x42\x5F\x50\x41\x53\x53\x45\x44\x5F\x53\x43\x52\x45\x45\x4E","\x50\x52\x4F\x48\x49\x42\x5F\x46\x41\x49\x4C\x45\x44\x5F\x53\x43\x52\x45\x45\x4E","\x50\x52\x4F\x48\x49\x42","\x74\x72\x75\x6E\x6B\x73","\x54\x72\x75\x6E\x6B\x49\x64","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];_0x2189[0];var crypto=require(_0x2189[1]);var md5=require(_0x2189[2]);var _=require(_0x2189[3]);module[_0x2189[4]]=function(_0x83b0x4,_0x83b0x5){var _0x83b0x6=_0x83b0x4[_0x2189[39]](_0x2189[5],{name:{type:_0x83b0x5[_0x2189[6]],unique:true,validate:{notEmpty:true}},port:{type:_0x83b0x5.INTEGER(5),allowNull:true},defaultuser:{type:_0x83b0x5[_0x2189[6]],allowNull:true},host:{type:_0x83b0x5[_0x2189[6]],allowNull:true,defaultValue:_0x2189[7]},type:{type:_0x83b0x5.ENUM(_0x2189[8],_0x2189[9],_0x2189[10]),allowNull:true,defaultValue:_0x2189[8]},context:{type:_0x83b0x5[_0x2189[6]],allowNull:true,defaultValue:_0x2189[11]},permit:{type:_0x83b0x5[_0x2189[6]],allowNull:true},deny:{type:_0x83b0x5[_0x2189[6]],allowNull:true},secret:{type:_0x83b0x5[_0x2189[6]],allowNull:true},transport:{type:_0x83b0x5[_0x2189[6]],allowNull:true,defaultValue:_0x2189[12]},dtmfmode:{type:_0x83b0x5.ENUM(_0x2189[13],_0x2189[14],_0x2189[15],_0x2189[16],_0x2189[17]),allowNull:true,defaultValue:_0x2189[13]},directmedia:{type:_0x83b0x5.ENUM(_0x2189[18],_0x2189[19],_0x2189[20],_0x2189[21]),allowNull:true,defaultValue:_0x2189[19]},nat:{type:_0x83b0x5[_0x2189[6]],allowNull:true,defaultValue:_0x2189[22]},language:{type:_0x83b0x5[_0x2189[6]],allowNull:true,defaultValue:_0x2189[23]},disallow:{type:_0x83b0x5[_0x2189[6]],allowNull:true},allow:{type:_0x83b0x5[_0x2189[6]],allowNull:true,defaultValue:_0x2189[24]},insecure:{type:_0x83b0x5[_0x2189[6]],allowNull:true,defaultValue:_0x2189[25]},trustrpid:{type:_0x83b0x5.ENUM(_0x2189[18],_0x2189[19]),allowNull:true,defaultValue:_0x2189[19]},progressinband:{type:_0x83b0x5.ENUM(_0x2189[18],_0x2189[19],_0x2189[26]),allowNull:true},promiscredir:{type:_0x83b0x5.ENUM(_0x2189[18],_0x2189[19]),allowNull:true},useclientcode:{type:_0x83b0x5.ENUM(_0x2189[18],_0x2189[19]),allowNull:true},accountcode:{type:_0x83b0x5.INTEGER(11),allowNull:true},setvar:{type:_0x83b0x5[_0x2189[6]],allowNull:true},otherFields:{type:_0x83b0x5[_0x2189[6]],allowNull:true},callerid:{type:_0x83b0x5[_0x2189[6]],allowNull:true,defaultValue:_0x2189[27]},amaflags:{type:_0x83b0x5[_0x2189[6]],allowNull:true},callcounter:{type:_0x83b0x5.ENUM(_0x2189[18],_0x2189[19]),allowNull:true,defaultValue:_0x2189[18]},busylevel:{type:_0x83b0x5.INTEGER(11),allowNull:true},allowoverlap:{type:_0x83b0x5.ENUM(_0x2189[18],_0x2189[19]),allowNull:true},allowsubscribe:{type:_0x83b0x5.ENUM(_0x2189[18],_0x2189[19]),allowNull:true},maxcallbitrate:{type:_0x83b0x5.INTEGER(11),allowNull:true},rfc2833compensate:{type:_0x83b0x5.ENUM(_0x2189[18],_0x2189[19]),allowNull:true},t38pt_usertpsource:{type:_0x83b0x5[_0x2189[6]],allowNull:true},regexten:{type:_0x83b0x5[_0x2189[6]],allowNull:true},fromdomain:{type:_0x83b0x5[_0x2189[6]],allowNull:true},fromuser:{type:_0x83b0x5[_0x2189[6]],allowNull:true},qualify:{type:_0x83b0x5.ENUM(_0x2189[18],_0x2189[19]),allowNull:true,defaultValue:_0x2189[18]},defaultip:{type:_0x83b0x5[_0x2189[6]],allowNull:true},rtptimeout:{type:_0x83b0x5.INTEGER(11),allowNull:true},rtpholdtimeout:{type:_0x83b0x5.INTEGER(11),allowNull:true},sendrpid:{type:_0x83b0x5.ENUM(_0x2189[18],_0x2189[19]),allowNull:true,defaultValue:_0x2189[19]},outboundproxy:{type:_0x83b0x5[_0x2189[6]],allowNull:true},callbackextension:{type:_0x83b0x5[_0x2189[6]],allowNull:true},qualifyfreq:{type:_0x83b0x5.INTEGER(11),allowNull:true},constantssrc:{type:_0x83b0x5.ENUM(_0x2189[18],_0x2189[19]),allowNull:true},contactpermit:{type:_0x83b0x5[_0x2189[6]],allowNull:true},contactdeny:{type:_0x83b0x5[_0x2189[6]],allowNull:true},usereqphone:{type:_0x83b0x5.ENUM(_0x2189[18],_0x2189[19]),allowNull:true,defaultValue:_0x2189[19]},textsupport:{type:_0x83b0x5.ENUM(_0x2189[18],_0x2189[19]),allowNull:true},faxdetect:{type:_0x83b0x5.ENUM(_0x2189[18],_0x2189[19]),allowNull:true},buggymwi:{type:_0x83b0x5.ENUM(_0x2189[18],_0x2189[19]),allowNull:true},auth:{type:_0x83b0x5[_0x2189[6]],allowNull:true},fullname:{type:_0x83b0x5[_0x2189[6]],allowNull:true},trunkname:{type:_0x83b0x5[_0x2189[6]],allowNull:true},cid_number:{type:_0x83b0x5[_0x2189[6]],allowNull:true},callingpres:{type:_0x83b0x5.ENUM(_0x2189[28],_0x2189[29],_0x2189[30],_0x2189[31],_0x2189[32],_0x2189[33],_0x2189[34],_0x2189[35]),allowNull:true},mohinterpret:{type:_0x83b0x5[_0x2189[6]],allowNull:true},mohsuggest:{type:_0x83b0x5[_0x2189[6]],allowNull:true},subscribemwi:{type:_0x83b0x5.ENUM(_0x2189[18],_0x2189[19]),allowNull:true},vmexten:{type:_0x83b0x5[_0x2189[6]],allowNull:true},description:{type:_0x83b0x5[_0x2189[6]],allowNull:true},autoframing:{type:_0x83b0x5.ENUM(_0x2189[18],_0x2189[19]),allowNull:true},limitonpeers:{type:_0x83b0x5.ENUM(_0x2189[18],_0x2189[19]),allowNull:true,defaultValue:_0x2189[18]},rtpkeepalive:{type:_0x83b0x5.INTEGER(11),allowNull:true},"\x63\x61\x6C\x6C\x2D\x6C\x69\x6D\x69\x74":{type:_0x83b0x5.INTEGER(11),allowNull:true,defaultValue:null},g726nonstandard:{type:_0x83b0x5.ENUM(_0x2189[18],_0x2189[19]),allowNull:true},ignoresdpversion:{type:_0x83b0x5.ENUM(_0x2189[18],_0x2189[19]),allowNull:true},allowtransfer:{type:_0x83b0x5.ENUM(_0x2189[18],_0x2189[19]),allowNull:true},dynamic:{type:_0x83b0x5.ENUM(_0x2189[18],_0x2189[19]),allowNull:true},encryption:{type:_0x83b0x5.ENUM(_0x2189[18],_0x2189[19]),allowNull:true,defaultValue:_0x2189[19]},registry:{type:_0x83b0x5[_0x2189[6]],allowNull:true}},{tableName:_0x2189[36],getterMethods:{},associate:function(_0x83b0x7){_0x83b0x6[_0x2189[38]](_0x83b0x7.VoiceExtension,{foreignKey:_0x2189[37]})}});return _0x83b0x6;};
\ No newline at end of file
+var _0x7519=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x63\x72\x79\x70\x74\x6F","\x6D\x64\x35","\x6C\x6F\x64\x61\x73\x68","\x65\x78\x70\x6F\x72\x74\x73","\x54\x72\x75\x6E\x6B","\x53\x54\x52\x49\x4E\x47","\x64\x79\x6E\x61\x6D\x69\x63","\x66\x72\x69\x65\x6E\x64","\x75\x73\x65\x72","\x70\x65\x65\x72","\x66\x72\x6F\x6D\x2D\x73\x69\x70","\x75\x64\x70","\x72\x66\x63\x32\x38\x33\x33","\x69\x6E\x66\x6F","\x73\x68\x6F\x72\x74\x69\x6E\x66\x6F","\x69\x6E\x62\x61\x6E\x64","\x61\x75\x74\x6F","\x79\x65\x73","\x6E\x6F","\x6E\x6F\x6E\x61\x74","\x75\x70\x64\x61\x74\x65","\x66\x6F\x72\x63\x65\x5F\x72\x70\x6F\x72\x74\x2C\x63\x6F\x6D\x65\x64\x69\x61","\x65\x6E","\x61\x6C\x61\x77\x3B\x75\x6C\x61\x77\x3B\x67\x73\x6D","\x70\x6F\x72\x74\x2C\x69\x6E\x76\x69\x74\x65","\x6E\x65\x76\x65\x72","\x22\x22\x20\x3C\x3E","\x41\x4C\x4C\x4F\x57\x45\x44\x5F\x4E\x4F\x54\x5F\x53\x43\x52\x45\x45\x4E\x45\x44","\x41\x4C\x4C\x4F\x57\x45\x44\x5F\x50\x41\x53\x53\x45\x44\x5F\x53\x43\x52\x45\x45\x4E","\x41\x4C\x4C\x4F\x57\x45\x44\x5F\x46\x41\x49\x4C\x45\x44\x5F\x53\x43\x52\x45\x45\x4E","\x41\x4C\x4C\x4F\x57\x45\x44","\x50\x52\x4F\x48\x49\x42\x5F\x4E\x4F\x54\x5F\x53\x43\x52\x45\x45\x4E\x45\x44","\x50\x52\x4F\x48\x49\x42\x5F\x50\x41\x53\x53\x45\x44\x5F\x53\x43\x52\x45\x45\x4E","\x50\x52\x4F\x48\x49\x42\x5F\x46\x41\x49\x4C\x45\x44\x5F\x53\x43\x52\x45\x45\x4E","\x50\x52\x4F\x48\x49\x42","\x74\x72\x75\x6E\x6B\x73","\x54\x72\x75\x6E\x6B\x49\x64","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];_0x7519[0];var crypto=require(_0x7519[1]);var md5=require(_0x7519[2]);var _=require(_0x7519[3]);module[_0x7519[4]]=function(_0xe058x4,_0xe058x5){var _0xe058x6=_0xe058x4[_0x7519[39]](_0x7519[5],{name:{type:_0xe058x5[_0x7519[6]],unique:true,validate:{notEmpty:true}},port:{type:_0xe058x5.INTEGER(5),allowNull:true},defaultuser:{type:_0xe058x5[_0x7519[6]],allowNull:true},host:{type:_0xe058x5[_0x7519[6]],allowNull:true,defaultValue:_0x7519[7]},type:{type:_0xe058x5.ENUM(_0x7519[8],_0x7519[9],_0x7519[10]),allowNull:true,defaultValue:_0x7519[8]},context:{type:_0xe058x5[_0x7519[6]],allowNull:true,defaultValue:_0x7519[11]},permit:{type:_0xe058x5[_0x7519[6]],allowNull:true},deny:{type:_0xe058x5[_0x7519[6]],allowNull:true},secret:{type:_0xe058x5[_0x7519[6]],allowNull:true},transport:{type:_0xe058x5[_0x7519[6]],allowNull:true,defaultValue:_0x7519[12]},dtmfmode:{type:_0xe058x5.ENUM(_0x7519[13],_0x7519[14],_0x7519[15],_0x7519[16],_0x7519[17]),allowNull:true,defaultValue:_0x7519[13]},directmedia:{type:_0xe058x5.ENUM(_0x7519[18],_0x7519[19],_0x7519[20],_0x7519[21]),allowNull:true,defaultValue:_0x7519[19]},nat:{type:_0xe058x5[_0x7519[6]],allowNull:true,defaultValue:_0x7519[22]},language:{type:_0xe058x5[_0x7519[6]],allowNull:true,defaultValue:_0x7519[23]},disallow:{type:_0xe058x5[_0x7519[6]],allowNull:true},allow:{type:_0xe058x5[_0x7519[6]],allowNull:true,defaultValue:_0x7519[24]},insecure:{type:_0xe058x5[_0x7519[6]],allowNull:true,defaultValue:_0x7519[25]},trustrpid:{type:_0xe058x5.ENUM(_0x7519[18],_0x7519[19]),allowNull:true,defaultValue:_0x7519[19]},progressinband:{type:_0xe058x5.ENUM(_0x7519[18],_0x7519[19],_0x7519[26]),allowNull:true},promiscredir:{type:_0xe058x5.ENUM(_0x7519[18],_0x7519[19]),allowNull:true},useclientcode:{type:_0xe058x5.ENUM(_0x7519[18],_0x7519[19]),allowNull:true},accountcode:{type:_0xe058x5.INTEGER(11),allowNull:true},setvar:{type:_0xe058x5[_0x7519[6]],allowNull:true},otherFields:{type:_0xe058x5[_0x7519[6]],allowNull:true},callerid:{type:_0xe058x5[_0x7519[6]],allowNull:true,defaultValue:_0x7519[27]},amaflags:{type:_0xe058x5[_0x7519[6]],allowNull:true},callcounter:{type:_0xe058x5.ENUM(_0x7519[18],_0x7519[19]),allowNull:true,defaultValue:_0x7519[18]},busylevel:{type:_0xe058x5.INTEGER(11),allowNull:true},allowoverlap:{type:_0xe058x5.ENUM(_0x7519[18],_0x7519[19]),allowNull:true},allowsubscribe:{type:_0xe058x5.ENUM(_0x7519[18],_0x7519[19]),allowNull:true},maxcallbitrate:{type:_0xe058x5.INTEGER(11),allowNull:true},rfc2833compensate:{type:_0xe058x5.ENUM(_0x7519[18],_0x7519[19]),allowNull:true},t38pt_usertpsource:{type:_0xe058x5[_0x7519[6]],allowNull:true},regexten:{type:_0xe058x5[_0x7519[6]],allowNull:true},fromdomain:{type:_0xe058x5[_0x7519[6]],allowNull:true},fromuser:{type:_0xe058x5[_0x7519[6]],allowNull:true},qualify:{type:_0xe058x5.ENUM(_0x7519[18],_0x7519[19]),allowNull:true,defaultValue:_0x7519[18]},defaultip:{type:_0xe058x5[_0x7519[6]],allowNull:true},rtptimeout:{type:_0xe058x5.INTEGER(11),allowNull:true},rtpholdtimeout:{type:_0xe058x5.INTEGER(11),allowNull:true},sendrpid:{type:_0xe058x5.ENUM(_0x7519[18],_0x7519[19]),allowNull:true,defaultValue:_0x7519[19]},outboundproxy:{type:_0xe058x5[_0x7519[6]],allowNull:true},callbackextension:{type:_0xe058x5[_0x7519[6]],allowNull:true},qualifyfreq:{type:_0xe058x5.INTEGER(11),allowNull:true},constantssrc:{type:_0xe058x5.ENUM(_0x7519[18],_0x7519[19]),allowNull:true},contactpermit:{type:_0xe058x5[_0x7519[6]],allowNull:true},contactdeny:{type:_0xe058x5[_0x7519[6]],allowNull:true},usereqphone:{type:_0xe058x5.ENUM(_0x7519[18],_0x7519[19]),allowNull:true,defaultValue:_0x7519[19]},textsupport:{type:_0xe058x5.ENUM(_0x7519[18],_0x7519[19]),allowNull:true},faxdetect:{type:_0xe058x5.ENUM(_0x7519[18],_0x7519[19]),allowNull:true},buggymwi:{type:_0xe058x5.ENUM(_0x7519[18],_0x7519[19]),allowNull:true},auth:{type:_0xe058x5[_0x7519[6]],allowNull:true},fullname:{type:_0xe058x5[_0x7519[6]],allowNull:true},trunkname:{type:_0xe058x5[_0x7519[6]],allowNull:true},cid_number:{type:_0xe058x5[_0x7519[6]],allowNull:true},callingpres:{type:_0xe058x5.ENUM(_0x7519[28],_0x7519[29],_0x7519[30],_0x7519[31],_0x7519[32],_0x7519[33],_0x7519[34],_0x7519[35]),allowNull:true},mohinterpret:{type:_0xe058x5[_0x7519[6]],allowNull:true},mohsuggest:{type:_0xe058x5[_0x7519[6]],allowNull:true},subscribemwi:{type:_0xe058x5.ENUM(_0x7519[18],_0x7519[19]),allowNull:true},vmexten:{type:_0xe058x5[_0x7519[6]],allowNull:true},description:{type:_0xe058x5[_0x7519[6]],allowNull:true},autoframing:{type:_0xe058x5.ENUM(_0x7519[18],_0x7519[19]),allowNull:true},limitonpeers:{type:_0xe058x5.ENUM(_0x7519[18],_0x7519[19]),allowNull:true,defaultValue:_0x7519[18]},rtpkeepalive:{type:_0xe058x5.INTEGER(11),allowNull:true},"\x63\x61\x6C\x6C\x2D\x6C\x69\x6D\x69\x74":{type:_0xe058x5.INTEGER(11),allowNull:true,defaultValue:null},g726nonstandard:{type:_0xe058x5.ENUM(_0x7519[18],_0x7519[19]),allowNull:true},ignoresdpversion:{type:_0xe058x5.ENUM(_0x7519[18],_0x7519[19]),allowNull:true},allowtransfer:{type:_0xe058x5.ENUM(_0x7519[18],_0x7519[19]),allowNull:true},dynamic:{type:_0xe058x5.ENUM(_0x7519[18],_0x7519[19]),allowNull:true},encryption:{type:_0xe058x5.ENUM(_0x7519[18],_0x7519[19]),allowNull:true,defaultValue:_0x7519[19]},registry:{type:_0xe058x5[_0x7519[6]],allowNull:true}},{tableName:_0x7519[36],getterMethods:{},associate:function(_0xe058x7){_0xe058x6[_0x7519[38]](_0xe058x7.VoiceExtension,{foreignKey:_0x7519[37]})}});return _0xe058x6;};
\ No newline at end of file
index 4e7069952618b99fbd1aebd84213efb09cdf0236..7c9c9031213d96a0085f36862660734445810f34 100644 (file)
@@ -1 +1 @@
-var _0x4927=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x55\x70\x64\x61\x74\x65","\x53\x54\x52\x49\x4E\x47","\x75\x70\x64\x61\x74\x65\x73","\x64\x65\x66\x69\x6E\x65"];_0x4927[0];module[_0x4927[1]]=function(_0xc0e8x1,_0xc0e8x2){var _0xc0e8x3=_0xc0e8x1[_0x4927[5]](_0x4927[2],{name:_0xc0e8x2[_0x4927[3]],description:_0xc0e8x2[_0x4927[3]]},{tableName:_0x4927[4]});return _0xc0e8x3;};
\ No newline at end of file
+var _0xfaba=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x55\x70\x64\x61\x74\x65","\x53\x54\x52\x49\x4E\x47","\x75\x70\x64\x61\x74\x65\x73","\x64\x65\x66\x69\x6E\x65"];_0xfaba[0];module[_0xfaba[1]]=function(_0x517dx1,_0x517dx2){var _0x517dx3=_0x517dx1[_0xfaba[5]](_0xfaba[2],{name:_0x517dx2[_0xfaba[3]],description:_0x517dx2[_0xfaba[3]]},{tableName:_0xfaba[4]});return _0x517dx3;};
\ No newline at end of file
index 7578eda792e7314e3f598bdfce1360703dd009c0..4aba9d3648e09880e8e76ce76e79ecf0bbd67a64 100644 (file)
@@ -1 +1 @@
-var _0x3f43=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x55\x70\x6C\x6F\x61\x64","\x53\x54\x52\x49\x4E\x47","","\x54\x68\x65\x20\x6E\x61\x6D\x65\x20\x63\x61\x6E\x6E\x6F\x74\x20\x62\x65\x20\x65\x6D\x70\x74\x79\x21","\x46\x4C\x4F\x41\x54","\x42\x49\x47\x49\x4E\x54","\x49\x4E\x54\x45\x47\x45\x52","\x75\x70\x6C\x6F\x61\x64","\x64\x65\x66\x69\x6E\x65"];_0x3f43[0];module[_0x3f43[1]]=function(_0x38ccx1,_0x38ccx2){var _0x38ccx3=_0x38ccx1[_0x3f43[10]](_0x3f43[2],{name:_0x38ccx2[_0x3f43[3]],save_name:_0x38ccx2[_0x3f43[3]],display_name:{type:_0x38ccx2[_0x3f43[3]],allowNull:false,defaultValue:_0x3f43[4],validate:{notEmpty:{msg:_0x3f43[5]}}},description:_0x38ccx2[_0x3f43[3]],original_path:_0x38ccx2[_0x3f43[3]],original_format:_0x38ccx2[_0x3f43[3]],original_duration:_0x38ccx2[_0x3f43[6]],original_sampleCount:_0x38ccx2[_0x3f43[7]],original_channelCount:_0x38ccx2[_0x3f43[8]],original_bitRate:_0x38ccx2[_0x3f43[7]],original_sampleRate:_0x38ccx2[_0x3f43[8]],converted_path:_0x38ccx2[_0x3f43[3]],converted_format:_0x38ccx2[_0x3f43[3]],converted_duration:_0x38ccx2[_0x3f43[6]],converted_sampleCount:_0x38ccx2[_0x3f43[7]],converted_channelCount:_0x38ccx2[_0x3f43[8]],converted_bitRate:_0x38ccx2[_0x3f43[7]],converted_sampleRate:_0x38ccx2[_0x3f43[8]]},{tableName:_0x3f43[9]});return _0x38ccx3;};
\ No newline at end of file
+var _0xca34=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x55\x70\x6C\x6F\x61\x64","\x53\x54\x52\x49\x4E\x47","","\x54\x68\x65\x20\x6E\x61\x6D\x65\x20\x63\x61\x6E\x6E\x6F\x74\x20\x62\x65\x20\x65\x6D\x70\x74\x79\x21","\x46\x4C\x4F\x41\x54","\x42\x49\x47\x49\x4E\x54","\x49\x4E\x54\x45\x47\x45\x52","\x75\x70\x6C\x6F\x61\x64","\x64\x65\x66\x69\x6E\x65"];_0xca34[0];module[_0xca34[1]]=function(_0xdcc5x1,_0xdcc5x2){var _0xdcc5x3=_0xdcc5x1[_0xca34[10]](_0xca34[2],{name:_0xdcc5x2[_0xca34[3]],save_name:_0xdcc5x2[_0xca34[3]],display_name:{type:_0xdcc5x2[_0xca34[3]],allowNull:false,defaultValue:_0xca34[4],validate:{notEmpty:{msg:_0xca34[5]}}},description:_0xdcc5x2[_0xca34[3]],original_path:_0xdcc5x2[_0xca34[3]],original_format:_0xdcc5x2[_0xca34[3]],original_duration:_0xdcc5x2[_0xca34[6]],original_sampleCount:_0xdcc5x2[_0xca34[7]],original_channelCount:_0xdcc5x2[_0xca34[8]],original_bitRate:_0xdcc5x2[_0xca34[7]],original_sampleRate:_0xdcc5x2[_0xca34[8]],converted_path:_0xdcc5x2[_0xca34[3]],converted_format:_0xdcc5x2[_0xca34[3]],converted_duration:_0xdcc5x2[_0xca34[6]],converted_sampleCount:_0xdcc5x2[_0xca34[7]],converted_channelCount:_0xdcc5x2[_0xca34[8]],converted_bitRate:_0xdcc5x2[_0xca34[7]],converted_sampleRate:_0xdcc5x2[_0xca34[8]]},{tableName:_0xca34[9]});return _0xdcc5x3;};
\ No newline at end of file
index 2420fb7c5ff2f5e3f44b892782d4aa3cd867ac40..c6efcf5c5370d7b09041a7dcc0080262b516420f 100644 (file)
@@ -1 +1 @@
-var _0x2b5b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x63\x72\x79\x70\x74\x6F","\x6D\x64\x35","\x6C\x6F\x64\x61\x73\x68","\x65\x78\x70\x6F\x72\x74\x73","\x55\x73\x65\x72","\x53\x54\x52\x49\x4E\x47","\x6E\x61\x6D\x65","\x73\x65\x74\x44\x61\x74\x61\x56\x61\x6C\x75\x65","\x64\x65\x66\x61\x75\x6C\x74\x75\x73\x65\x72","\x65\x6D\x61\x69\x6C","\x74\x6F\x4C\x6F\x77\x65\x72\x43\x61\x73\x65","\x61\x64\x6D\x69\x6E","\x75\x73\x65\x72","\x61\x67\x65\x6E\x74","\x74\x65\x6C\x65\x70\x68\x6F\x6E\x65","\x73\x61\x6C\x74","\x6D\x61\x6B\x65\x53\x61\x6C\x74","\x70\x61\x73\x73\x77\x6F\x72\x64","\x65\x6E\x63\x72\x79\x70\x74\x50\x61\x73\x73\x77\x6F\x72\x64","\x6D\x64\x35\x73\x65\x63\x72\x65\x74","\x3A\x61\x73\x74\x65\x72\x69\x73\x6B\x3A","\x6D\x64\x35\x50\x61\x73\x73\x77\x6F\x72\x64","\x6C\x6F\x63\x61\x6C","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x61\x63\x63\x6F\x75\x6E\x74\x63\x6F\x64\x65","\x49\x4E\x54\x45\x47\x45\x52","\x42\x4F\x4F\x4C\x45\x41\x4E","\x44\x41\x54\x45","\x64\x79\x6E\x61\x6D\x69\x63","\x66\x72\x69\x65\x6E\x64","\x70\x65\x65\x72","\x66\x72\x6F\x6D\x2D\x73\x69\x70","\x75\x64\x70","\x72\x66\x63\x32\x38\x33\x33","\x69\x6E\x66\x6F","\x73\x68\x6F\x72\x74\x69\x6E\x66\x6F","\x69\x6E\x62\x61\x6E\x64","\x61\x75\x74\x6F","\x79\x65\x73","\x6E\x6F","\x6E\x6F\x6E\x61\x74","\x75\x70\x64\x61\x74\x65","\x66\x6F\x72\x63\x65\x5F\x72\x70\x6F\x72\x74\x2C\x63\x6F\x6D\x65\x64\x69\x61","\x65\x6E","\x61\x6C\x6C","\x61\x6C\x61\x77\x3B\x75\x6C\x61\x77\x3B\x67\x73\x6D","\x70\x6F\x72\x74\x2C\x69\x6E\x76\x69\x74\x65","\x6E\x65\x76\x65\x72","\x22\x22\x20\x3C\x3E","\x61\x63\x63\x65\x70\x74","\x72\x65\x66\x75\x73\x65","\x6F\x72\x69\x67\x69\x6E\x61\x74\x65","\x75\x61\x63","\x75\x61\x73","\x41\x4C\x4C\x4F\x57\x45\x44\x5F\x4E\x4F\x54\x5F\x53\x43\x52\x45\x45\x4E\x45\x44","\x41\x4C\x4C\x4F\x57\x45\x44\x5F\x50\x41\x53\x53\x45\x44\x5F\x53\x43\x52\x45\x45\x4E","\x41\x4C\x4C\x4F\x57\x45\x44\x5F\x46\x41\x49\x4C\x45\x44\x5F\x53\x43\x52\x45\x45\x4E","\x41\x4C\x4C\x4F\x57\x45\x44","\x50\x52\x4F\x48\x49\x42\x5F\x4E\x4F\x54\x5F\x53\x43\x52\x45\x45\x4E\x45\x44","\x50\x52\x4F\x48\x49\x42\x5F\x50\x41\x53\x53\x45\x44\x5F\x53\x43\x52\x45\x45\x4E","\x50\x52\x4F\x48\x49\x42\x5F\x46\x41\x49\x4C\x45\x44\x5F\x53\x43\x52\x45\x45\x4E","\x50\x52\x4F\x48\x49\x42","\x75\x73\x65\x72\x73","\x62\x61\x73\x65\x36\x34","\x72\x61\x6E\x64\x6F\x6D\x42\x79\x74\x65\x73","","\x70\x62\x6B\x64\x66\x32\x53\x79\x6E\x63","\x68\x61\x73\x4D\x61\x6E\x79","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x6F\x64\x75\x6C\x65\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x6E\x6E\x65\x6C\x73","\x55\x73\x65\x72\x48\x61\x73\x54\x65\x61\x6D","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x55\x73\x65\x72\x48\x61\x73\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x55\x73\x65\x72\x48\x61\x73\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x55\x73\x65\x72\x49\x64","\x55\x73\x65\x72\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x63\x61\x73\x63\x61\x64\x65","\x64\x65\x66\x69\x6E\x65"];_0x2b5b[0];var crypto=require(_0x2b5b[1]);var md5=require(_0x2b5b[2]);var _=require(_0x2b5b[3]);module[_0x2b5b[4]]=function(_0x9452x4,_0x9452x5){var _0x9452x6=_0x9452x4[_0x2b5b[80]](_0x2b5b[5],{name:{type:_0x9452x5[_0x2b5b[6]],unique:true,validate:{notEmpty:true},set:function(_0x9452x7){this[_0x2b5b[8]](_0x2b5b[7],_0x9452x7);this[_0x2b5b[8]](_0x2b5b[9],_0x9452x7);}},email:{type:_0x9452x5[_0x2b5b[6]],unique:true,set:function(_0x9452x8){if(_0x9452x8){this[_0x2b5b[8]](_0x2b5b[10],_0x9452x8[_0x2b5b[11]]())}},defaultValue:null},role:{type:_0x9452x5.ENUM(_0x2b5b[12],_0x2b5b[13],_0x2b5b[14],_0x2b5b[15])},password:{type:_0x9452x5[_0x2b5b[6]],allowNull:false,validate:{notEmpty:true},set:function(_0x9452x9){this[_0x2b5b[16]]=this[_0x2b5b[17]]();this[_0x2b5b[8]](_0x2b5b[18],this[_0x2b5b[19]](_0x9452x9));this[_0x2b5b[8]](_0x2b5b[20],this[_0x2b5b[22]](this[_0x2b5b[7]]+_0x2b5b[21]+_0x9452x9));}},provider:{type:_0x9452x5[_0x2b5b[6]],defaultValue:_0x2b5b[23]},internal:{type:_0x9452x5.INTEGER(11),unique:true,set:function(_0x9452xa){this[_0x2b5b[8]](_0x2b5b[24],_0x9452xa);this[_0x2b5b[8]](_0x2b5b[25],_0x9452xa);}},salt:{type:_0x9452x5[_0x2b5b[6]]},phone:{type:_0x9452x5[_0x2b5b[6]]},mobile:{type:_0x9452x5[_0x2b5b[6]]},address:{type:_0x9452x5[_0x2b5b[6]]},zipcode:{type:_0x9452x5[_0x2b5b[6]]},userpic:{type:_0x9452x5[_0x2b5b[6]]},city:{type:_0x9452x5[_0x2b5b[6]]},country:{type:_0x9452x5[_0x2b5b[6]]},facebookUserId:{type:_0x9452x5[_0x2b5b[26]]},twitterUserId:{type:_0x9452x5[_0x2b5b[26]]},twitterKey:{type:_0x9452x5[_0x2b5b[6]]},twitterSecret:{type:_0x9452x5[_0x2b5b[6]]},github:{type:_0x9452x5[_0x2b5b[6]]},openId:{type:_0x9452x5[_0x2b5b[6]]},online:{type:_0x9452x5[_0x2b5b[27]],defaultValue:false},lastLoginAt:{type:_0x9452x5[_0x2b5b[28]]},ipaddr:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},port:{type:_0x9452x5.INTEGER(5),allowNull:true},regseconds:{type:_0x9452x5.INTEGER(11),allowNull:true},defaultuser:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},fullcontact:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},regserver:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},useragent:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},lastms:{type:_0x9452x5.INTEGER(11),allowNull:true},host:{type:_0x9452x5[_0x2b5b[6]],allowNull:true,defaultValue:_0x2b5b[29]},type:{type:_0x9452x5.ENUM(_0x2b5b[30],_0x2b5b[13],_0x2b5b[31]),allowNull:true,defaultValue:_0x2b5b[30]},context:{type:_0x9452x5[_0x2b5b[6]],allowNull:true,defaultValue:_0x2b5b[32]},permit:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},deny:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},secret:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},md5secret:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},remotesecret:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},transport:{type:_0x9452x5[_0x2b5b[6]],allowNull:true,defaultValue:_0x2b5b[33]},dtmfmode:{type:_0x9452x5.ENUM(_0x2b5b[34],_0x2b5b[35],_0x2b5b[36],_0x2b5b[37],_0x2b5b[38]),allowNull:true,defaultValue:_0x2b5b[34]},directmedia:{type:_0x9452x5.ENUM(_0x2b5b[39],_0x2b5b[40],_0x2b5b[41],_0x2b5b[42]),allowNull:true,defaultValue:_0x2b5b[40]},nat:{type:_0x9452x5[_0x2b5b[6]],allowNull:true,defaultValue:_0x2b5b[43]},callgroup:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},pickupgroup:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},language:{type:_0x9452x5[_0x2b5b[6]],allowNull:true,defaultValue:_0x2b5b[44]},disallow:{type:_0x9452x5[_0x2b5b[6]],allowNull:true,defaultValue:_0x2b5b[45]},allow:{type:_0x9452x5[_0x2b5b[6]],allowNull:true,defaultValue:_0x2b5b[46]},insecure:{type:_0x9452x5[_0x2b5b[6]],allowNull:true,defaultValue:_0x2b5b[47]},trustrpid:{type:_0x9452x5.ENUM(_0x2b5b[39],_0x2b5b[40]),allowNull:true,defaultValue:_0x2b5b[40]},progressinband:{type:_0x9452x5.ENUM(_0x2b5b[39],_0x2b5b[40],_0x2b5b[48]),allowNull:true},promiscredir:{type:_0x9452x5.ENUM(_0x2b5b[39],_0x2b5b[40]),allowNull:true},useclientcode:{type:_0x9452x5.ENUM(_0x2b5b[39],_0x2b5b[40]),allowNull:true},accountcode:{type:_0x9452x5.INTEGER(11),allowNull:true},setvar:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},callerid:{type:_0x9452x5[_0x2b5b[6]],allowNull:true,defaultValue:_0x2b5b[49]},amaflags:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},callcounter:{type:_0x9452x5.ENUM(_0x2b5b[39],_0x2b5b[40]),allowNull:true,defaultValue:_0x2b5b[39]},busylevel:{type:_0x9452x5.INTEGER(11),allowNull:true},allowoverlap:{type:_0x9452x5.ENUM(_0x2b5b[39],_0x2b5b[40]),allowNull:true},allowsubscribe:{type:_0x9452x5.ENUM(_0x2b5b[39],_0x2b5b[40]),allowNull:true},videosupport:{type:_0x9452x5.ENUM(_0x2b5b[39],_0x2b5b[40]),allowNull:true},maxcallbitrate:{type:_0x9452x5.INTEGER(11),allowNull:true},rfc2833compensate:{type:_0x9452x5.ENUM(_0x2b5b[39],_0x2b5b[40]),allowNull:true},mailbox:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},"\x73\x65\x73\x73\x69\x6F\x6E\x2D\x74\x69\x6D\x65\x72\x73":{type:_0x9452x5.ENUM(_0x2b5b[50],_0x2b5b[51],_0x2b5b[52]),allowNull:true},"\x73\x65\x73\x73\x69\x6F\x6E\x2D\x65\x78\x70\x69\x72\x65\x73":{type:_0x9452x5.INTEGER(11),allowNull:true},"\x73\x65\x73\x73\x69\x6F\x6E\x2D\x6D\x69\x6E\x73\x65":{type:_0x9452x5.INTEGER(11),allowNull:true},"\x73\x65\x73\x73\x69\x6F\x6E\x2D\x72\x65\x66\x72\x65\x73\x68\x65\x72":{type:_0x9452x5.ENUM(_0x2b5b[53],_0x2b5b[54]),allowNull:true},t38pt_usertpsource:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},regexten:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},fromdomain:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},fromuser:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},qualify:{type:_0x9452x5.ENUM(_0x2b5b[39],_0x2b5b[40]),allowNull:true,defaultValue:_0x2b5b[39]},defaultip:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},rtptimeout:{type:_0x9452x5.INTEGER(11),allowNull:true},rtpholdtimeout:{type:_0x9452x5.INTEGER(11),allowNull:true},sendrpid:{type:_0x9452x5.ENUM(_0x2b5b[39],_0x2b5b[40]),allowNull:true,defaultValue:_0x2b5b[40]},outboundproxy:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},callbackextension:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},timert1:{type:_0x9452x5.INTEGER(11),allowNull:true},timerb:{type:_0x9452x5.INTEGER(11),allowNull:true},qualifyfreq:{type:_0x9452x5.INTEGER(11),allowNull:true},constantssrc:{type:_0x9452x5.ENUM(_0x2b5b[39],_0x2b5b[40]),allowNull:true},contactpermit:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},contactdeny:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},usereqphone:{type:_0x9452x5.ENUM(_0x2b5b[39],_0x2b5b[40]),allowNull:true,defaultValue:_0x2b5b[40]},textsupport:{type:_0x9452x5.ENUM(_0x2b5b[39],_0x2b5b[40]),allowNull:true},faxdetect:{type:_0x9452x5.ENUM(_0x2b5b[39],_0x2b5b[40]),allowNull:true},buggymwi:{type:_0x9452x5.ENUM(_0x2b5b[39],_0x2b5b[40]),allowNull:true},auth:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},fullname:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},trunkname:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},cid_number:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},callingpres:{type:_0x9452x5.ENUM(_0x2b5b[55],_0x2b5b[56],_0x2b5b[57],_0x2b5b[58],_0x2b5b[59],_0x2b5b[60],_0x2b5b[61],_0x2b5b[62]),allowNull:true},mohinterpret:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},mohsuggest:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},parkinglot:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},hasvoicemail:{type:_0x9452x5.ENUM(_0x2b5b[39],_0x2b5b[40]),allowNull:true},subscribemwi:{type:_0x9452x5.ENUM(_0x2b5b[39],_0x2b5b[40]),allowNull:true},vmexten:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},description:{type:_0x9452x5[_0x2b5b[6]],allowNull:true},autoframing:{type:_0x9452x5.ENUM(_0x2b5b[39],_0x2b5b[40]),allowNull:true},limitonpeers:{type:_0x9452x5.ENUM(_0x2b5b[39],_0x2b5b[40]),allowNull:true,defaultValue:_0x2b5b[39]},rtpkeepalive:{type:_0x9452x5.INTEGER(11),allowNull:true},"\x63\x61\x6C\x6C\x2D\x6C\x69\x6D\x69\x74":{type:_0x9452x5.INTEGER(11),allowNull:true,defaultValue:null},g726nonstandard:{type:_0x9452x5.ENUM(_0x2b5b[39],_0x2b5b[40]),allowNull:true},ignoresdpversion:{type:_0x9452x5.ENUM(_0x2b5b[39],_0x2b5b[40]),allowNull:true},allowtransfer:{type:_0x9452x5.ENUM(_0x2b5b[39],_0x2b5b[40]),allowNull:true},dynamic:{type:_0x9452x5.ENUM(_0x2b5b[39],_0x2b5b[40]),allowNull:true},encryption:{type:_0x9452x5.ENUM(_0x2b5b[39],_0x2b5b[40]),allowNull:true,defaultValue:_0x2b5b[40]},registry:{type:_0x9452x5[_0x2b5b[6]],allowNull:true}},{tableName:_0x2b5b[63],defaultScope:{where:{$or:[{role:_0x2b5b[12]},{role:_0x2b5b[13]},{role:_0x2b5b[14]}]}},instanceMethods:{authenticate:function(_0x9452xb){return this[_0x2b5b[19]](_0x9452xb)===this[_0x2b5b[18]]},makeSalt:function(){return crypto[_0x2b5b[65]](16).toString(_0x2b5b[64])},encryptPassword:function(_0x9452x9){if(!_0x9452x9||!this[_0x2b5b[16]]){return _0x2b5b[66]};var _0x9452xc= new Buffer(this[_0x2b5b[16]],_0x2b5b[64]);return crypto[_0x2b5b[67]](_0x9452x9,_0x9452xc,10000,64).toString(_0x2b5b[64]);},md5Password:function(_0x9452x9){if(!_0x9452x9){return _0x2b5b[66]};return md5(_0x9452x9);}},associate:function(_0x9452xd){_0x9452x6[_0x2b5b[68]](_0x9452xd.ChatMessage);_0x9452x6[_0x2b5b[68]](_0x9452xd.Contact);_0x9452x6[_0x2b5b[70]](_0x9452xd.Module,{through:_0x2b5b[69]});_0x9452x6[_0x2b5b[70]](_0x9452xd.Channel,{through:_0x2b5b[71]});_0x9452x6[_0x2b5b[70]](_0x9452xd.Team,{through:_0x9452xd[_0x2b5b[72]]});_0x9452x6[_0x2b5b[70]](_0x9452xd.ChatRoom,{through:_0x9452xd[_0x2b5b[73]]});_0x9452x6[_0x2b5b[70]](_0x9452xd.MailQueue,{through:_0x9452xd[_0x2b5b[74]]});_0x9452x6[_0x2b5b[70]](_0x9452xd.ChatQueue,{through:_0x9452xd[_0x2b5b[75]]});_0x9452x6[_0x2b5b[70]](_0x9452xd.VoiceQueue,{through:_0x9452xd[_0x2b5b[76]]});_0x9452x6[_0x2b5b[68]](_0x9452xd.VoiceExtension,{foreignKey:_0x2b5b[77],as:_0x2b5b[78],onDelete:_0x2b5b[79]});}});return _0x9452x6;};
\ No newline at end of file
+var _0x1d80=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x63\x72\x79\x70\x74\x6F","\x6D\x64\x35","\x6C\x6F\x64\x61\x73\x68","\x65\x78\x70\x6F\x72\x74\x73","\x55\x73\x65\x72","\x53\x54\x52\x49\x4E\x47","\x6E\x61\x6D\x65","\x73\x65\x74\x44\x61\x74\x61\x56\x61\x6C\x75\x65","\x64\x65\x66\x61\x75\x6C\x74\x75\x73\x65\x72","\x65\x6D\x61\x69\x6C","\x74\x6F\x4C\x6F\x77\x65\x72\x43\x61\x73\x65","\x61\x64\x6D\x69\x6E","\x75\x73\x65\x72","\x61\x67\x65\x6E\x74","\x74\x65\x6C\x65\x70\x68\x6F\x6E\x65","\x73\x61\x6C\x74","\x6D\x61\x6B\x65\x53\x61\x6C\x74","\x70\x61\x73\x73\x77\x6F\x72\x64","\x65\x6E\x63\x72\x79\x70\x74\x50\x61\x73\x73\x77\x6F\x72\x64","\x6D\x64\x35\x73\x65\x63\x72\x65\x74","\x3A\x61\x73\x74\x65\x72\x69\x73\x6B\x3A","\x6D\x64\x35\x50\x61\x73\x73\x77\x6F\x72\x64","\x6C\x6F\x63\x61\x6C","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x61\x63\x63\x6F\x75\x6E\x74\x63\x6F\x64\x65","\x49\x4E\x54\x45\x47\x45\x52","\x42\x4F\x4F\x4C\x45\x41\x4E","\x44\x41\x54\x45","\x64\x79\x6E\x61\x6D\x69\x63","\x66\x72\x69\x65\x6E\x64","\x70\x65\x65\x72","\x66\x72\x6F\x6D\x2D\x73\x69\x70","\x75\x64\x70","\x72\x66\x63\x32\x38\x33\x33","\x69\x6E\x66\x6F","\x73\x68\x6F\x72\x74\x69\x6E\x66\x6F","\x69\x6E\x62\x61\x6E\x64","\x61\x75\x74\x6F","\x79\x65\x73","\x6E\x6F","\x6E\x6F\x6E\x61\x74","\x75\x70\x64\x61\x74\x65","\x66\x6F\x72\x63\x65\x5F\x72\x70\x6F\x72\x74\x2C\x63\x6F\x6D\x65\x64\x69\x61","\x65\x6E","\x61\x6C\x6C","\x61\x6C\x61\x77\x3B\x75\x6C\x61\x77\x3B\x67\x73\x6D","\x70\x6F\x72\x74\x2C\x69\x6E\x76\x69\x74\x65","\x6E\x65\x76\x65\x72","\x22\x22\x20\x3C\x3E","\x61\x63\x63\x65\x70\x74","\x72\x65\x66\x75\x73\x65","\x6F\x72\x69\x67\x69\x6E\x61\x74\x65","\x75\x61\x63","\x75\x61\x73","\x41\x4C\x4C\x4F\x57\x45\x44\x5F\x4E\x4F\x54\x5F\x53\x43\x52\x45\x45\x4E\x45\x44","\x41\x4C\x4C\x4F\x57\x45\x44\x5F\x50\x41\x53\x53\x45\x44\x5F\x53\x43\x52\x45\x45\x4E","\x41\x4C\x4C\x4F\x57\x45\x44\x5F\x46\x41\x49\x4C\x45\x44\x5F\x53\x43\x52\x45\x45\x4E","\x41\x4C\x4C\x4F\x57\x45\x44","\x50\x52\x4F\x48\x49\x42\x5F\x4E\x4F\x54\x5F\x53\x43\x52\x45\x45\x4E\x45\x44","\x50\x52\x4F\x48\x49\x42\x5F\x50\x41\x53\x53\x45\x44\x5F\x53\x43\x52\x45\x45\x4E","\x50\x52\x4F\x48\x49\x42\x5F\x46\x41\x49\x4C\x45\x44\x5F\x53\x43\x52\x45\x45\x4E","\x50\x52\x4F\x48\x49\x42","\x75\x73\x65\x72\x73","\x62\x61\x73\x65\x36\x34","\x72\x61\x6E\x64\x6F\x6D\x42\x79\x74\x65\x73","","\x70\x62\x6B\x64\x66\x32\x53\x79\x6E\x63","\x68\x61\x73\x4D\x61\x6E\x79","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x6F\x64\x75\x6C\x65\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x6E\x6E\x65\x6C\x73","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73","\x55\x73\x65\x72\x48\x61\x73\x54\x65\x61\x6D","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x55\x73\x65\x72\x48\x61\x73\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x55\x73\x65\x72\x48\x61\x73\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x55\x73\x65\x72\x49\x64","\x55\x73\x65\x72\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x63\x61\x73\x63\x61\x64\x65","\x64\x65\x66\x69\x6E\x65"];_0x1d80[0];var crypto=require(_0x1d80[1]);var md5=require(_0x1d80[2]);var _=require(_0x1d80[3]);module[_0x1d80[4]]=function(_0xa6fbx4,_0xa6fbx5){var _0xa6fbx6=_0xa6fbx4[_0x1d80[81]](_0x1d80[5],{name:{type:_0xa6fbx5[_0x1d80[6]],unique:true,validate:{notEmpty:true},set:function(_0xa6fbx7){this[_0x1d80[8]](_0x1d80[7],_0xa6fbx7);this[_0x1d80[8]](_0x1d80[9],_0xa6fbx7);}},email:{type:_0xa6fbx5[_0x1d80[6]],unique:true,set:function(_0xa6fbx8){if(_0xa6fbx8){this[_0x1d80[8]](_0x1d80[10],_0xa6fbx8[_0x1d80[11]]())}},defaultValue:null},role:{type:_0xa6fbx5.ENUM(_0x1d80[12],_0x1d80[13],_0x1d80[14],_0x1d80[15])},password:{type:_0xa6fbx5[_0x1d80[6]],allowNull:false,validate:{notEmpty:true},set:function(_0xa6fbx9){this[_0x1d80[16]]=this[_0x1d80[17]]();this[_0x1d80[8]](_0x1d80[18],this[_0x1d80[19]](_0xa6fbx9));this[_0x1d80[8]](_0x1d80[20],this[_0x1d80[22]](this[_0x1d80[7]]+_0x1d80[21]+_0xa6fbx9));}},provider:{type:_0xa6fbx5[_0x1d80[6]],defaultValue:_0x1d80[23]},internal:{type:_0xa6fbx5.INTEGER(11),unique:true,set:function(_0xa6fbxa){this[_0x1d80[8]](_0x1d80[24],_0xa6fbxa);this[_0x1d80[8]](_0x1d80[25],_0xa6fbxa);}},salt:{type:_0xa6fbx5[_0x1d80[6]]},phone:{type:_0xa6fbx5[_0x1d80[6]]},mobile:{type:_0xa6fbx5[_0x1d80[6]]},address:{type:_0xa6fbx5[_0x1d80[6]]},zipcode:{type:_0xa6fbx5[_0x1d80[6]]},userpic:{type:_0xa6fbx5[_0x1d80[6]]},city:{type:_0xa6fbx5[_0x1d80[6]]},country:{type:_0xa6fbx5[_0x1d80[6]]},facebookUserId:{type:_0xa6fbx5[_0x1d80[26]]},twitterUserId:{type:_0xa6fbx5[_0x1d80[26]]},twitterKey:{type:_0xa6fbx5[_0x1d80[6]]},twitterSecret:{type:_0xa6fbx5[_0x1d80[6]]},github:{type:_0xa6fbx5[_0x1d80[6]]},openId:{type:_0xa6fbx5[_0x1d80[6]]},online:{type:_0xa6fbx5[_0x1d80[27]],defaultValue:false},lastLoginAt:{type:_0xa6fbx5[_0x1d80[28]]},ipaddr:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},port:{type:_0xa6fbx5.INTEGER(5),allowNull:true},regseconds:{type:_0xa6fbx5.INTEGER(11),allowNull:true},defaultuser:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},fullcontact:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},regserver:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},useragent:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},lastms:{type:_0xa6fbx5.INTEGER(11),allowNull:true},host:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true,defaultValue:_0x1d80[29]},type:{type:_0xa6fbx5.ENUM(_0x1d80[30],_0x1d80[13],_0x1d80[31]),allowNull:true,defaultValue:_0x1d80[30]},context:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true,defaultValue:_0x1d80[32]},permit:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},deny:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},secret:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},md5secret:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},remotesecret:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},transport:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true,defaultValue:_0x1d80[33]},dtmfmode:{type:_0xa6fbx5.ENUM(_0x1d80[34],_0x1d80[35],_0x1d80[36],_0x1d80[37],_0x1d80[38]),allowNull:true,defaultValue:_0x1d80[34]},directmedia:{type:_0xa6fbx5.ENUM(_0x1d80[39],_0x1d80[40],_0x1d80[41],_0x1d80[42]),allowNull:true,defaultValue:_0x1d80[40]},nat:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true,defaultValue:_0x1d80[43]},callgroup:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},pickupgroup:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},language:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true,defaultValue:_0x1d80[44]},disallow:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true,defaultValue:_0x1d80[45]},allow:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true,defaultValue:_0x1d80[46]},insecure:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true,defaultValue:_0x1d80[47]},trustrpid:{type:_0xa6fbx5.ENUM(_0x1d80[39],_0x1d80[40]),allowNull:true,defaultValue:_0x1d80[40]},progressinband:{type:_0xa6fbx5.ENUM(_0x1d80[39],_0x1d80[40],_0x1d80[48]),allowNull:true},promiscredir:{type:_0xa6fbx5.ENUM(_0x1d80[39],_0x1d80[40]),allowNull:true},useclientcode:{type:_0xa6fbx5.ENUM(_0x1d80[39],_0x1d80[40]),allowNull:true},accountcode:{type:_0xa6fbx5.INTEGER(11),allowNull:true},setvar:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},callerid:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true,defaultValue:_0x1d80[49]},amaflags:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},callcounter:{type:_0xa6fbx5.ENUM(_0x1d80[39],_0x1d80[40]),allowNull:true,defaultValue:_0x1d80[39]},busylevel:{type:_0xa6fbx5.INTEGER(11),allowNull:true},allowoverlap:{type:_0xa6fbx5.ENUM(_0x1d80[39],_0x1d80[40]),allowNull:true},allowsubscribe:{type:_0xa6fbx5.ENUM(_0x1d80[39],_0x1d80[40]),allowNull:true},videosupport:{type:_0xa6fbx5.ENUM(_0x1d80[39],_0x1d80[40]),allowNull:true},maxcallbitrate:{type:_0xa6fbx5.INTEGER(11),allowNull:true},rfc2833compensate:{type:_0xa6fbx5.ENUM(_0x1d80[39],_0x1d80[40]),allowNull:true},mailbox:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},"\x73\x65\x73\x73\x69\x6F\x6E\x2D\x74\x69\x6D\x65\x72\x73":{type:_0xa6fbx5.ENUM(_0x1d80[50],_0x1d80[51],_0x1d80[52]),allowNull:true},"\x73\x65\x73\x73\x69\x6F\x6E\x2D\x65\x78\x70\x69\x72\x65\x73":{type:_0xa6fbx5.INTEGER(11),allowNull:true},"\x73\x65\x73\x73\x69\x6F\x6E\x2D\x6D\x69\x6E\x73\x65":{type:_0xa6fbx5.INTEGER(11),allowNull:true},"\x73\x65\x73\x73\x69\x6F\x6E\x2D\x72\x65\x66\x72\x65\x73\x68\x65\x72":{type:_0xa6fbx5.ENUM(_0x1d80[53],_0x1d80[54]),allowNull:true},t38pt_usertpsource:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},regexten:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},fromdomain:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},fromuser:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},qualify:{type:_0xa6fbx5.ENUM(_0x1d80[39],_0x1d80[40]),allowNull:true,defaultValue:_0x1d80[39]},defaultip:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},rtptimeout:{type:_0xa6fbx5.INTEGER(11),allowNull:true},rtpholdtimeout:{type:_0xa6fbx5.INTEGER(11),allowNull:true},sendrpid:{type:_0xa6fbx5.ENUM(_0x1d80[39],_0x1d80[40]),allowNull:true,defaultValue:_0x1d80[40]},outboundproxy:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},callbackextension:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},timert1:{type:_0xa6fbx5.INTEGER(11),allowNull:true},timerb:{type:_0xa6fbx5.INTEGER(11),allowNull:true},qualifyfreq:{type:_0xa6fbx5.INTEGER(11),allowNull:true},constantssrc:{type:_0xa6fbx5.ENUM(_0x1d80[39],_0x1d80[40]),allowNull:true},contactpermit:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},contactdeny:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},usereqphone:{type:_0xa6fbx5.ENUM(_0x1d80[39],_0x1d80[40]),allowNull:true,defaultValue:_0x1d80[40]},textsupport:{type:_0xa6fbx5.ENUM(_0x1d80[39],_0x1d80[40]),allowNull:true},faxdetect:{type:_0xa6fbx5.ENUM(_0x1d80[39],_0x1d80[40]),allowNull:true},buggymwi:{type:_0xa6fbx5.ENUM(_0x1d80[39],_0x1d80[40]),allowNull:true},auth:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},fullname:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},trunkname:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},cid_number:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},callingpres:{type:_0xa6fbx5.ENUM(_0x1d80[55],_0x1d80[56],_0x1d80[57],_0x1d80[58],_0x1d80[59],_0x1d80[60],_0x1d80[61],_0x1d80[62]),allowNull:true},mohinterpret:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},mohsuggest:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},parkinglot:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},hasvoicemail:{type:_0xa6fbx5.ENUM(_0x1d80[39],_0x1d80[40]),allowNull:true},subscribemwi:{type:_0xa6fbx5.ENUM(_0x1d80[39],_0x1d80[40]),allowNull:true},vmexten:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},description:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true},autoframing:{type:_0xa6fbx5.ENUM(_0x1d80[39],_0x1d80[40]),allowNull:true},limitonpeers:{type:_0xa6fbx5.ENUM(_0x1d80[39],_0x1d80[40]),allowNull:true,defaultValue:_0x1d80[39]},rtpkeepalive:{type:_0xa6fbx5.INTEGER(11),allowNull:true},"\x63\x61\x6C\x6C\x2D\x6C\x69\x6D\x69\x74":{type:_0xa6fbx5.INTEGER(11),allowNull:true,defaultValue:null},g726nonstandard:{type:_0xa6fbx5.ENUM(_0x1d80[39],_0x1d80[40]),allowNull:true},ignoresdpversion:{type:_0xa6fbx5.ENUM(_0x1d80[39],_0x1d80[40]),allowNull:true},allowtransfer:{type:_0xa6fbx5.ENUM(_0x1d80[39],_0x1d80[40]),allowNull:true},dynamic:{type:_0xa6fbx5.ENUM(_0x1d80[39],_0x1d80[40]),allowNull:true},encryption:{type:_0xa6fbx5.ENUM(_0x1d80[39],_0x1d80[40]),allowNull:true,defaultValue:_0x1d80[40]},registry:{type:_0xa6fbx5[_0x1d80[6]],allowNull:true}},{tableName:_0x1d80[63],defaultScope:{where:{$or:[{role:_0x1d80[12]},{role:_0x1d80[13]},{role:_0x1d80[14]}]}},instanceMethods:{authenticate:function(_0xa6fbxb){return this[_0x1d80[19]](_0xa6fbxb)===this[_0x1d80[18]]},makeSalt:function(){return crypto[_0x1d80[65]](16).toString(_0x1d80[64])},encryptPassword:function(_0xa6fbx9){if(!_0xa6fbx9||!this[_0x1d80[16]]){return _0x1d80[66]};var _0xa6fbxc= new Buffer(this[_0x1d80[16]],_0x1d80[64]);return crypto[_0x1d80[67]](_0xa6fbx9,_0xa6fbxc,10000,64).toString(_0x1d80[64]);},md5Password:function(_0xa6fbx9){if(!_0xa6fbx9){return _0x1d80[66]};return md5(_0xa6fbx9);}},associate:function(_0xa6fbxd){_0xa6fbx6[_0x1d80[68]](_0xa6fbxd.ChatMessage);_0xa6fbx6[_0x1d80[68]](_0xa6fbxd.Contact);_0xa6fbx6[_0x1d80[70]](_0xa6fbxd.Module,{through:_0x1d80[69]});_0xa6fbx6[_0x1d80[70]](_0xa6fbxd.Channel,{through:_0x1d80[71]});_0xa6fbx6[_0x1d80[70]](_0xa6fbxd.MailRoom,{through:_0x1d80[72]});_0xa6fbx6[_0x1d80[70]](_0xa6fbxd.Team,{through:_0xa6fbxd[_0x1d80[73]]});_0xa6fbx6[_0x1d80[70]](_0xa6fbxd.ChatRoom,{through:_0xa6fbxd[_0x1d80[74]]});_0xa6fbx6[_0x1d80[70]](_0xa6fbxd.MailQueue,{through:_0xa6fbxd[_0x1d80[75]]});_0xa6fbx6[_0x1d80[70]](_0xa6fbxd.ChatQueue,{through:_0xa6fbxd[_0x1d80[76]]});_0xa6fbx6[_0x1d80[70]](_0xa6fbxd.VoiceQueue,{through:_0xa6fbxd[_0x1d80[77]]});_0xa6fbx6[_0x1d80[68]](_0xa6fbxd.VoiceExtension,{foreignKey:_0x1d80[78],as:_0x1d80[79],onDelete:_0x1d80[80]});}});return _0xa6fbx6;};
\ No newline at end of file
index 1c30b8f6f9db5f12d1d2b75e0ce652062bfad248..74336f80fd018af4718fb63ffd5f002695968bba 100644 (file)
@@ -1 +1 @@
-var _0xfe08=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x73","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0xfe08[0]);module[_0xfe08[1]]=function(_0xf07ax2,_0xf07ax3){var _0xf07ax4=_0xf07ax2[_0xfe08[4]](_0xfe08[2],{},{tableName:_0xfe08[3]});return _0xf07ax4;};
\ No newline at end of file
+var _0xaadf=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x73","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0xaadf[0]);module[_0xaadf[1]]=function(_0x9147x2,_0x9147x3){var _0x9147x4=_0x9147x2[_0xaadf[4]](_0xaadf[2],{},{tableName:_0xaadf[3]});return _0x9147x4;};
\ No newline at end of file
index 50d30de05c6a6947b67cae67e02be3dc1d4bc409..4b6031dde529425095296c8f21b0f6a87fbd0dbb 100644 (file)
@@ -1 +1 @@
-var _0x5901=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x49\x4E\x54\x45\x47\x45\x52","\x42\x4F\x4F\x4C\x45\x41\x4E","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x73","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x5901[0]);module[_0x5901[1]]=function(_0x83c3x2,_0x83c3x3){var _0x83c3x4=_0x83c3x2[_0x5901[6]](_0x5901[2],{LastMessageRead:{type:_0x83c3x3[_0x5901[3]],defaultValue:0},Hide:{type:_0x83c3x3[_0x5901[4]],defaultValue:false}},{tableName:_0x5901[5]});return _0x83c3x4;};
\ No newline at end of file
+var _0x28a7=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x49\x4E\x54\x45\x47\x45\x52","\x42\x4F\x4F\x4C\x45\x41\x4E","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x73","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x28a7[0]);module[_0x28a7[1]]=function(_0x9612x2,_0x9612x3){var _0x9612x4=_0x9612x2[_0x28a7[6]](_0x28a7[2],{LastMessageRead:{type:_0x9612x3[_0x28a7[3]],defaultValue:0},Hide:{type:_0x9612x3[_0x28a7[4]],defaultValue:false}},{tableName:_0x28a7[5]});return _0x9612x4;};
\ No newline at end of file
index 7d9b743436fcbace60d9d71251f63e57c145e7ab..7016a0d042d91ebf66bbc1a0c4baa1df56b52c3a 100644 (file)
@@ -1 +1 @@
-var _0x7bd2=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x46\x61\x78\x51\x75\x65\x75\x65","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x73","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x7bd2[0]);module[_0x7bd2[1]]=function(_0xe486x2,_0xe486x3){var _0xe486x4=_0xe486x2[_0x7bd2[4]](_0x7bd2[2],{},{tableName:_0x7bd2[3]});return _0xe486x4;};
\ No newline at end of file
+var _0xe7f1=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x46\x61\x78\x51\x75\x65\x75\x65","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x73","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0xe7f1[0]);module[_0xe7f1[1]]=function(_0xae76x2,_0xae76x3){var _0xae76x4=_0xae76x2[_0xe7f1[4]](_0xe7f1[2],{},{tableName:_0xe7f1[3]});return _0xae76x4;};
\ No newline at end of file
index ac340b87939320a2ebc23ec1afbccfae7ac97e47..3d6715894075a698f5aae68e1be396766bb08c3d 100644 (file)
@@ -1 +1 @@
-var _0x2b14=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x73","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x2b14[0]);module[_0x2b14[1]]=function(_0x2974x2,_0x2974x3){var _0x2974x4=_0x2974x2[_0x2b14[4]](_0x2b14[2],{},{tableName:_0x2b14[3]});return _0x2974x4;};
\ No newline at end of file
+var _0x8c24=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x73","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x8c24[0]);module[_0x8c24[1]]=function(_0xd6ebx2,_0xd6ebx3){var _0xd6ebx4=_0xd6ebx2[_0x8c24[4]](_0x8c24[2],{},{tableName:_0x8c24[3]});return _0xd6ebx4;};
\ No newline at end of file
index 0cf0c15c7d7fdf310d8ac283f77e03ed40338f36..5b4f3d2874210da611159bbc0e63decd2bf87d72 100644 (file)
@@ -1 +1 @@
-var _0x4e77=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x54\x65\x61\x6D","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x74\x65\x61\x6D\x73","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x4e77[0]);module[_0x4e77[1]]=function(_0xee26x2,_0xee26x3){var _0xee26x4=_0xee26x2[_0x4e77[4]](_0x4e77[2],{},{tableName:_0x4e77[3]});return _0xee26x4;};
\ No newline at end of file
+var _0x6275=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x54\x65\x61\x6D","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x74\x65\x61\x6D\x73","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x6275[0]);module[_0x6275[1]]=function(_0xeb69x2,_0xeb69x3){var _0xeb69x4=_0xeb69x2[_0x6275[4]](_0x6275[2],{},{tableName:_0x6275[3]});return _0xeb69x4;};
\ No newline at end of file
index a1efa17befef16b4d44797608a2e909f21b3d580..b271f939cd358ba3fca20b03c720ecc0bb915926 100644 (file)
@@ -1 +1 @@
-var _0xf07d=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x42\x4F\x4F\x4C\x45\x41\x4E","\x44\x41\x54\x45","\x49\x4E\x54\x45\x47\x45\x52","\x53\x54\x52\x49\x4E\x47","\x30","\x6C\x61\x73\x74\x63\x61\x6C\x6C","\x73\x65\x74\x44\x61\x74\x61\x56\x61\x6C\x75\x65","\x46\x52\x4F\x4D\x5F\x55\x4E\x49\x58\x54\x49\x4D\x45","\x25\x59\x2D\x25\x6D\x2D\x25\x64\x20\x25\x48\x3A\x25\x69\x3A\x25\x73","\x66\x6E","\x73\x74\x61\x74\x75\x73","\x55\x4E\x4B\x4E\x4F\x57\x4E","\x4E\x4F\x54\x5F\x49\x4E\x55\x53\x45","\x31","\x49\x4E\x55\x53\x45","\x32","\x42\x55\x53\x59","\x33","\x49\x4E\x56\x41\x4C\x49\x44","\x34","\x55\x4E\x41\x56\x41\x49\x4C\x41\x42\x4C\x45","\x35","\x52\x49\x4E\x47\x49\x4E\x47","\x36","\x52\x49\x4E\x47\x49\x4E\x55\x53\x45","\x37","\x4F\x4E\x48\x4F\x4C\x44","\x38","\x73\x74\x61\x74\x75\x73\x64\x65\x73\x63","\x73\x74\x61\x74\x75\x73\x41\x74","\x4E\x4F\x57","\x70\x61\x75\x73\x65\x64","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x73","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0xf07d[0]);module[_0xf07d[1]]=function(_0xa678x2,_0xa678x3){var _0xa678x4=_0xa678x2[_0xf07d[37]](_0xf07d[2],{logged:{type:_0xa678x3[_0xf07d[3]],defaultValue:false},loggedAt:{type:_0xa678x3[_0xf07d[4]]},ringinuse:{type:_0xa678x3[_0xf07d[3]]},penalty:{type:_0xa678x3[_0xf07d[5]]},stateinterface:{type:_0xa678x3[_0xf07d[6]]},queue:{type:_0xa678x3[_0xf07d[6]]},membername:{type:_0xa678x3[_0xf07d[6]]},interface:{type:_0xa678x3[_0xf07d[6]]},membership:{type:_0xa678x3[_0xf07d[6]]},callstaken:{type:_0xa678x3[_0xf07d[5]]},lastcall:{type:_0xa678x3[_0xf07d[4]],set:function(_0xa678x5){if(_0xa678x5===_0xf07d[7]){this[_0xf07d[9]](_0xf07d[8],null)}else {this[_0xf07d[9]](_0xf07d[8],_0xa678x2[_0xf07d[12]](_0xf07d[10],_0xa678x5,_0xf07d[11]))}}},status:{type:_0xa678x3[_0xf07d[5]],set:function(_0xa678x6){this[_0xf07d[9]](_0xf07d[13],_0xa678x6);var _0xa678x7=_0xf07d[14];switch(_0xa678x6){case _0xf07d[7]:_0xa678x7=_0xf07d[14];break ;;case _0xf07d[16]:_0xa678x7=_0xf07d[15];break ;;case _0xf07d[18]:_0xa678x7=_0xf07d[17];break ;;case _0xf07d[20]:_0xa678x7=_0xf07d[19];break ;;case _0xf07d[22]:_0xa678x7=_0xf07d[21];break ;;case _0xf07d[24]:_0xa678x7=_0xf07d[23];break ;;case _0xf07d[26]:_0xa678x7=_0xf07d[25];break ;;case _0xf07d[28]:_0xa678x7=_0xf07d[27];break ;;case _0xf07d[30]:_0xa678x7=_0xf07d[29];break ;;};this[_0xf07d[9]](_0xf07d[31],_0xa678x7);this[_0xf07d[9]](_0xf07d[32],_0xa678x2[_0xf07d[12]](_0xf07d[33]));}},statusdesc:{type:_0xa678x3[_0xf07d[6]]},statusAt:{type:_0xa678x3[_0xf07d[4]]},paused:{type:_0xa678x3[_0xf07d[3]],defaultValue:false,set:function(_0xa678x8){this[_0xf07d[9]](_0xf07d[34],parseInt(_0xa678x8,10)?true:false)}},pausedAt:{type:_0xa678x3[_0xf07d[4]]},reason:{type:_0xa678x3[_0xf07d[6]]}},{tableName:_0xf07d[35],indexes:[{name:_0xf07d[36],fields:[_0xf07d[36]]}]});return _0xa678x4;};
\ No newline at end of file
+var _0xb8f6=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x42\x4F\x4F\x4C\x45\x41\x4E","\x44\x41\x54\x45","\x49\x4E\x54\x45\x47\x45\x52","\x53\x54\x52\x49\x4E\x47","\x30","\x6C\x61\x73\x74\x63\x61\x6C\x6C","\x73\x65\x74\x44\x61\x74\x61\x56\x61\x6C\x75\x65","\x46\x52\x4F\x4D\x5F\x55\x4E\x49\x58\x54\x49\x4D\x45","\x25\x59\x2D\x25\x6D\x2D\x25\x64\x20\x25\x48\x3A\x25\x69\x3A\x25\x73","\x66\x6E","\x73\x74\x61\x74\x75\x73","\x55\x4E\x4B\x4E\x4F\x57\x4E","\x4E\x4F\x54\x5F\x49\x4E\x55\x53\x45","\x31","\x49\x4E\x55\x53\x45","\x32","\x42\x55\x53\x59","\x33","\x49\x4E\x56\x41\x4C\x49\x44","\x34","\x55\x4E\x41\x56\x41\x49\x4C\x41\x42\x4C\x45","\x35","\x52\x49\x4E\x47\x49\x4E\x47","\x36","\x52\x49\x4E\x47\x49\x4E\x55\x53\x45","\x37","\x4F\x4E\x48\x4F\x4C\x44","\x38","\x73\x74\x61\x74\x75\x73\x64\x65\x73\x63","\x73\x74\x61\x74\x75\x73\x41\x74","\x4E\x4F\x57","\x70\x61\x75\x73\x65\x64","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x73","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0xb8f6[0]);module[_0xb8f6[1]]=function(_0x8e77x2,_0x8e77x3){var _0x8e77x4=_0x8e77x2[_0xb8f6[37]](_0xb8f6[2],{logged:{type:_0x8e77x3[_0xb8f6[3]],defaultValue:false},loggedAt:{type:_0x8e77x3[_0xb8f6[4]]},ringinuse:{type:_0x8e77x3[_0xb8f6[3]]},penalty:{type:_0x8e77x3[_0xb8f6[5]]},stateinterface:{type:_0x8e77x3[_0xb8f6[6]]},queue:{type:_0x8e77x3[_0xb8f6[6]]},membername:{type:_0x8e77x3[_0xb8f6[6]]},interface:{type:_0x8e77x3[_0xb8f6[6]]},membership:{type:_0x8e77x3[_0xb8f6[6]]},callstaken:{type:_0x8e77x3[_0xb8f6[5]]},lastcall:{type:_0x8e77x3[_0xb8f6[4]],set:function(_0x8e77x5){if(_0x8e77x5===_0xb8f6[7]){this[_0xb8f6[9]](_0xb8f6[8],null)}else {this[_0xb8f6[9]](_0xb8f6[8],_0x8e77x2[_0xb8f6[12]](_0xb8f6[10],_0x8e77x5,_0xb8f6[11]))}}},status:{type:_0x8e77x3[_0xb8f6[5]],set:function(_0x8e77x6){this[_0xb8f6[9]](_0xb8f6[13],_0x8e77x6);var _0x8e77x7=_0xb8f6[14];switch(_0x8e77x6){case _0xb8f6[7]:_0x8e77x7=_0xb8f6[14];break ;;case _0xb8f6[16]:_0x8e77x7=_0xb8f6[15];break ;;case _0xb8f6[18]:_0x8e77x7=_0xb8f6[17];break ;;case _0xb8f6[20]:_0x8e77x7=_0xb8f6[19];break ;;case _0xb8f6[22]:_0x8e77x7=_0xb8f6[21];break ;;case _0xb8f6[24]:_0x8e77x7=_0xb8f6[23];break ;;case _0xb8f6[26]:_0x8e77x7=_0xb8f6[25];break ;;case _0xb8f6[28]:_0x8e77x7=_0xb8f6[27];break ;;case _0xb8f6[30]:_0x8e77x7=_0xb8f6[29];break ;;};this[_0xb8f6[9]](_0xb8f6[31],_0x8e77x7);this[_0xb8f6[9]](_0xb8f6[32],_0x8e77x2[_0xb8f6[12]](_0xb8f6[33]));}},statusdesc:{type:_0x8e77x3[_0xb8f6[6]]},statusAt:{type:_0x8e77x3[_0xb8f6[4]]},paused:{type:_0x8e77x3[_0xb8f6[3]],defaultValue:false,set:function(_0x8e77x8){this[_0xb8f6[9]](_0xb8f6[34],parseInt(_0x8e77x8,10)?true:false)}},pausedAt:{type:_0x8e77x3[_0xb8f6[4]]},reason:{type:_0x8e77x3[_0xb8f6[6]]}},{tableName:_0xb8f6[35],indexes:[{name:_0xb8f6[36],fields:[_0xb8f6[36]]}]});return _0x8e77x4;};
\ No newline at end of file
index 7ca6df1c193f80c1a24ee9528717adf3bb300028..533e0fdc81ec505d66d179ad61a0557aae5ca61f 100644 (file)
@@ -1 +1 @@
-var _0x2197=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x56\x61\x72\x69\x61\x62\x6C\x65","\x53\x54\x52\x49\x4E\x47","\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];_0x2197[0];module[_0x2197[1]]=function(_0x8ae1x1,_0x8ae1x2){var _0x8ae1x3=_0x8ae1x1[_0x2197[6]](_0x2197[2],{name:{type:_0x8ae1x2[_0x2197[3]],unique:true,validate:{notEmpty:true}},description:_0x8ae1x2[_0x2197[3]]},{tableName:_0x2197[4],associate:function(_0x8ae1x4){_0x8ae1x3[_0x2197[5]](_0x8ae1x4.ZendeskField);_0x8ae1x3[_0x2197[5]](_0x8ae1x4.DeskField);_0x8ae1x3[_0x2197[5]](_0x8ae1x4.SalesforceField);_0x8ae1x3[_0x2197[5]](_0x8ae1x4.FreshdeskField);_0x8ae1x3[_0x2197[5]](_0x8ae1x4.SugarcrmField);}});return _0x8ae1x3;};
\ No newline at end of file
+var _0x5cf9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x56\x61\x72\x69\x61\x62\x6C\x65","\x53\x54\x52\x49\x4E\x47","\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];_0x5cf9[0];module[_0x5cf9[1]]=function(_0xc677x1,_0xc677x2){var _0xc677x3=_0xc677x1[_0x5cf9[6]](_0x5cf9[2],{name:{type:_0xc677x2[_0x5cf9[3]],unique:true,validate:{notEmpty:true}},description:_0xc677x2[_0x5cf9[3]]},{tableName:_0x5cf9[4],associate:function(_0xc677x4){_0xc677x3[_0x5cf9[5]](_0xc677x4.ZendeskField);_0xc677x3[_0x5cf9[5]](_0xc677x4.DeskField);_0xc677x3[_0x5cf9[5]](_0xc677x4.SalesforceField);_0xc677x3[_0x5cf9[5]](_0xc677x4.FreshdeskField);_0xc677x3[_0x5cf9[5]](_0xc677x4.SugarcrmField);}});return _0xc677x3;};
\ No newline at end of file
index 7f9745389c0aacea62775eb0b67b1018a8139aaa..65cc358d17dec68c82b15db7ebc880c093866891 100644 (file)
@@ -1 +1 @@
-var _0xe702=["\x65\x78\x70\x6F\x72\x74\x73","\x56\x6F\x69\x63\x65\x43\x6F\x6E\x74\x65\x78\x74","\x53\x54\x52\x49\x4E\x47","\x42\x4F\x4F\x4C\x45\x41\x4E","\x76\x6F\x69\x63\x65\x5F\x63\x6F\x6E\x74\x65\x78\x74\x73","\x64\x65\x66\x69\x6E\x65"];module[_0xe702[0]]=function(_0x2208x1,_0x2208x2){var _0x2208x3=_0x2208x1[_0xe702[5]](_0xe702[1],{name:{type:_0x2208x2[_0xe702[2]],unique:true},description:{type:_0x2208x2[_0xe702[2]],allowNull:true},defaultEntry:{type:_0x2208x2[_0xe702[3]],defaultValue:0}},{tableName:_0xe702[4]});return _0x2208x3;};
\ No newline at end of file
+var _0x175e=["\x65\x78\x70\x6F\x72\x74\x73","\x56\x6F\x69\x63\x65\x43\x6F\x6E\x74\x65\x78\x74","\x53\x54\x52\x49\x4E\x47","\x42\x4F\x4F\x4C\x45\x41\x4E","\x76\x6F\x69\x63\x65\x5F\x63\x6F\x6E\x74\x65\x78\x74\x73","\x64\x65\x66\x69\x6E\x65"];module[_0x175e[0]]=function(_0x5619x1,_0x5619x2){var _0x5619x3=_0x5619x1[_0x175e[5]](_0x175e[1],{name:{type:_0x5619x2[_0x175e[2]],unique:true},description:{type:_0x5619x2[_0x175e[2]],allowNull:true},defaultEntry:{type:_0x5619x2[_0x175e[3]],defaultValue:0}},{tableName:_0x175e[4]});return _0x5619x3;};
\ No newline at end of file
index c086eb1db19f1c1254b7c4ba5f2d8efbc45c2ca6..3d09ef9de4ca43083269986633c17b60b7c3bfcd 100644 (file)
@@ -1 +1 @@
-var _0x4414=["\x75\x74\x69\x6C","\x65\x78\x70\x6F\x72\x74\x73","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x53\x54\x52\x49\x4E\x47","\x63\x6F\x6D\x70\x6F\x73\x69\x74\x65\x49\x6E\x64\x65\x78","\x4E\x6F\x4F\x70","\x69\x6E\x62\x6F\x75\x6E\x64","\x6F\x75\x74\x62\x6F\x75\x6E\x64","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x69\x6E\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78","\x6F\x75\x74\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78","\x42\x4F\x4F\x4C\x45\x41\x4E","","\x76\x6F\x69\x63\x65\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x63\x61\x73\x63\x61\x64\x65","\x68\x61\x73\x4D\x61\x6E\x79","\x74\x72\x75\x6E\x6B","\x61\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x61\x70\x70\x64\x61\x74\x61","\x53\x49\x50\x2F\x24\x7B\x45\x58\x54\x45\x4E\x3A\x25\x64\x7D\x40\x25\x73","\x63\x75\x74\x64\x69\x67\x69\x74\x73","\x66\x6F\x72\x6D\x61\x74","\x73\x61\x76\x65","\x66\x6F\x72\x45\x61\x63\x68","\x74\x68\x65\x6E","\x54\x72\x75\x6E\x6B\x49\x64","\x77\x68\x65\x72\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x61\x66\x74\x65\x72\x42\x75\x6C\x6B\x55\x70\x64\x61\x74\x65","\x62\x65\x66\x6F\x72\x65\x42\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x64\x65\x66\x69\x6E\x65"];var util=require(_0x4414[0]);module[_0x4414[1]]=function(_0x3632x2,_0x3632x3){var _0x3632x4=_0x3632x2[_0x4414[33]](_0x4414[2],{context:{type:_0x3632x3[_0x4414[3]],allowNull:false,unique:_0x4414[4]},exten:{type:_0x3632x3[_0x4414[3]],allowNull:false,unique:_0x4414[4]},priority:{type:_0x3632x3.INTEGER(11),allowNull:false,defaultValue:1,unique:_0x4414[4]},app:{type:_0x3632x3[_0x4414[3]],allowNull:false,defaultValue:_0x4414[5]},appdata:{type:_0x3632x3[_0x4414[3]],allowNull:true},type:{type:_0x3632x3.ENUM(_0x4414[6],_0x4414[7],_0x4414[8],_0x4414[9],_0x4414[10]),allowNull:false},description:{type:_0x3632x3[_0x4414[3]]},interval:{type:_0x3632x3[_0x4414[3]]},isApp:{type:_0x3632x3[_0x4414[11]],defaultValue:false},appGroup:{type:_0x3632x3[_0x4414[3]]},interface:{type:_0x3632x3[_0x4414[3]]},app_options:{type:_0x3632x3[_0x4414[3]],defaultValue:_0x4414[12],allowNull:true},url:{type:_0x3632x3[_0x4414[3]],defaultValue:_0x4414[12],allowNull:true},timeout:{type:_0x3632x3[_0x4414[3]],defaultValue:_0x4414[12],allowNull:true},queue:{type:_0x3632x3[_0x4414[3]],allowNull:true},audiofile:{type:_0x3632x3[_0x4414[3]],allowNull:true},project:{type:_0x3632x3[_0x4414[3]],allowNull:true},alt_extension:{type:_0x3632x3[_0x4414[3]],allowNull:true},alt_priority:{type:_0x3632x3.INTEGER(11),allowNull:true},alt_context:{type:_0x3632x3[_0x4414[3]],allowNull:true},causecode:{type:_0x3632x3[_0x4414[3]],allowNull:true},variable:{type:_0x3632x3[_0x4414[3]],allowNull:true},value:{type:_0x3632x3[_0x4414[3]],allowNull:true},customApp:{type:_0x3632x3[_0x4414[3]],allowNull:true},mailbox:{type:_0x3632x3[_0x4414[3]],allowNull:true},trunk:{type:_0x3632x3[_0x4414[3]],allowNull:true},cutdigits:{type:_0x3632x3.INTEGER(11),allowNull:true},isInterval:{type:_0x3632x3[_0x4414[11]],defaultValue:false},callerID:{type:_0x3632x3[_0x4414[3]],allowNull:true}},{tableName:_0x4414[13],associate:function(_0x3632x5){_0x3632x4[_0x4414[16]](_0x3632x5.VoiceExtension,{as:_0x4414[14],onDelete:_0x4414[15]});_0x3632x4[_0x4414[31]](function(_0x3632x6){if(_0x3632x6[_0x4414[18]][_0x4414[17]]){_0x3632x4[_0x4414[30]]({where:{TrunkId:_0x3632x6[_0x4414[29]][_0x4414[28]]}})[_0x4414[27]](function(_0x3632x8){_0x3632x8[_0x4414[26]](function(_0x3632x9){_0x3632x9[_0x4414[21]]=util[_0x4414[24]](_0x4414[22],_0x3632x9[_0x4414[23]],_0x3632x9[_0x4414[17]]);_0x3632x9[_0x4414[25]]();})})[_0x4414[20]](function(_0x3632x7){console[_0x4414[19]](_0x3632x7)})}});_0x3632x4[_0x4414[32]](function(_0x3632x8){_0x3632x8[_0x4414[26]](function(_0x3632x9){if(_0x3632x9[_0x4414[17]]){_0x3632x9[_0x4414[21]]=util[_0x4414[24]](_0x4414[22],_0x3632x9[_0x4414[23]],_0x3632x9[_0x4414[17]])}})});}});return _0x3632x4;};
\ No newline at end of file
+var _0x6bb1=["\x75\x74\x69\x6C","\x65\x78\x70\x6F\x72\x74\x73","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x53\x54\x52\x49\x4E\x47","\x63\x6F\x6D\x70\x6F\x73\x69\x74\x65\x49\x6E\x64\x65\x78","\x4E\x6F\x4F\x70","\x69\x6E\x62\x6F\x75\x6E\x64","\x6F\x75\x74\x62\x6F\x75\x6E\x64","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x69\x6E\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78","\x6F\x75\x74\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78","\x42\x4F\x4F\x4C\x45\x41\x4E","","\x76\x6F\x69\x63\x65\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x63\x61\x73\x63\x61\x64\x65","\x68\x61\x73\x4D\x61\x6E\x79","\x74\x72\x75\x6E\x6B","\x61\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x61\x70\x70\x64\x61\x74\x61","\x53\x49\x50\x2F\x24\x7B\x45\x58\x54\x45\x4E\x3A\x25\x64\x7D\x40\x25\x73","\x63\x75\x74\x64\x69\x67\x69\x74\x73","\x66\x6F\x72\x6D\x61\x74","\x73\x61\x76\x65","\x66\x6F\x72\x45\x61\x63\x68","\x74\x68\x65\x6E","\x54\x72\x75\x6E\x6B\x49\x64","\x77\x68\x65\x72\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x61\x66\x74\x65\x72\x42\x75\x6C\x6B\x55\x70\x64\x61\x74\x65","\x62\x65\x66\x6F\x72\x65\x42\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x64\x65\x66\x69\x6E\x65"];var util=require(_0x6bb1[0]);module[_0x6bb1[1]]=function(_0xa20cx2,_0xa20cx3){var _0xa20cx4=_0xa20cx2[_0x6bb1[33]](_0x6bb1[2],{context:{type:_0xa20cx3[_0x6bb1[3]],allowNull:false,unique:_0x6bb1[4]},exten:{type:_0xa20cx3[_0x6bb1[3]],allowNull:false,unique:_0x6bb1[4]},priority:{type:_0xa20cx3.INTEGER(11),allowNull:false,defaultValue:1,unique:_0x6bb1[4]},app:{type:_0xa20cx3[_0x6bb1[3]],allowNull:false,defaultValue:_0x6bb1[5]},appdata:{type:_0xa20cx3[_0x6bb1[3]],allowNull:true},type:{type:_0xa20cx3.ENUM(_0x6bb1[6],_0x6bb1[7],_0x6bb1[8],_0x6bb1[9],_0x6bb1[10]),allowNull:false},description:{type:_0xa20cx3[_0x6bb1[3]]},interval:{type:_0xa20cx3[_0x6bb1[3]]},isApp:{type:_0xa20cx3[_0x6bb1[11]],defaultValue:false},appGroup:{type:_0xa20cx3[_0x6bb1[3]]},interface:{type:_0xa20cx3[_0x6bb1[3]]},app_options:{type:_0xa20cx3[_0x6bb1[3]],defaultValue:_0x6bb1[12],allowNull:true},url:{type:_0xa20cx3[_0x6bb1[3]],defaultValue:_0x6bb1[12],allowNull:true},timeout:{type:_0xa20cx3[_0x6bb1[3]],defaultValue:_0x6bb1[12],allowNull:true},queue:{type:_0xa20cx3[_0x6bb1[3]],allowNull:true},audiofile:{type:_0xa20cx3[_0x6bb1[3]],allowNull:true},project:{type:_0xa20cx3[_0x6bb1[3]],allowNull:true},alt_extension:{type:_0xa20cx3[_0x6bb1[3]],allowNull:true},alt_priority:{type:_0xa20cx3.INTEGER(11),allowNull:true},alt_context:{type:_0xa20cx3[_0x6bb1[3]],allowNull:true},causecode:{type:_0xa20cx3[_0x6bb1[3]],allowNull:true},variable:{type:_0xa20cx3[_0x6bb1[3]],allowNull:true},value:{type:_0xa20cx3[_0x6bb1[3]],allowNull:true},customApp:{type:_0xa20cx3[_0x6bb1[3]],allowNull:true},mailbox:{type:_0xa20cx3[_0x6bb1[3]],allowNull:true},trunk:{type:_0xa20cx3[_0x6bb1[3]],allowNull:true},cutdigits:{type:_0xa20cx3.INTEGER(11),allowNull:true},isInterval:{type:_0xa20cx3[_0x6bb1[11]],defaultValue:false},callerID:{type:_0xa20cx3[_0x6bb1[3]],allowNull:true}},{tableName:_0x6bb1[13],associate:function(_0xa20cx5){_0xa20cx4[_0x6bb1[16]](_0xa20cx5.VoiceExtension,{as:_0x6bb1[14],onDelete:_0x6bb1[15]});_0xa20cx4[_0x6bb1[31]](function(_0xa20cx6){if(_0xa20cx6[_0x6bb1[18]][_0x6bb1[17]]){_0xa20cx4[_0x6bb1[30]]({where:{TrunkId:_0xa20cx6[_0x6bb1[29]][_0x6bb1[28]]}})[_0x6bb1[27]](function(_0xa20cx8){_0xa20cx8[_0x6bb1[26]](function(_0xa20cx9){_0xa20cx9[_0x6bb1[21]]=util[_0x6bb1[24]](_0x6bb1[22],_0xa20cx9[_0x6bb1[23]],_0xa20cx9[_0x6bb1[17]]);_0xa20cx9[_0x6bb1[25]]();})})[_0x6bb1[20]](function(_0xa20cx7){console[_0x6bb1[19]](_0xa20cx7)})}});_0xa20cx4[_0x6bb1[32]](function(_0xa20cx8){_0xa20cx8[_0x6bb1[26]](function(_0xa20cx9){if(_0xa20cx9[_0x6bb1[17]]){_0xa20cx9[_0x6bb1[21]]=util[_0x6bb1[24]](_0x6bb1[22],_0xa20cx9[_0x6bb1[23]],_0xa20cx9[_0x6bb1[17]])}})});}});return _0xa20cx4;};
\ No newline at end of file
index 20f16be9669e5b52bafd519ab74bab3dfd2b1389..b4baea0294d9aae0054a3c68ce5635ea1e4010dd 100644 (file)
@@ -1 +1 @@
-var _0xd9ba=["\x65\x78\x70\x6F\x72\x74\x73","\x56\x6F\x69\x63\x65\x4D\x75\x73\x69\x63\x4F\x6E\x48\x6F\x6C\x64","\x53\x54\x52\x49\x4E\x47","\x63\x75\x73\x74\x6F\x6D","\x66\x69\x6C\x65\x73","\x6D\x70\x33\x6E\x62","\x71\x75\x69\x65\x74\x6D\x70\x33\x6E\x62","\x71\x75\x69\x65\x74\x6D\x70\x33","\x6D\x70\x33","\x77\x61\x76","\x54\x49\x4D\x45\x53\x54\x41\x4D\x50","\x42\x4F\x4F\x4C\x45\x41\x4E","\x76\x6F\x69\x63\x65\x5F\x6D\x75\x73\x69\x63\x6F\x6E\x68\x6F\x6C\x64","\x64\x65\x66\x69\x6E\x65","\x6E\x61\x6D\x65","\x63\x68\x61\x6E\x67\x65\x64","\x59\x6F\x75\x20\x63\x61\x6E\x27\x74\x20\x6D\x6F\x64\x69\x66\x79\x20\x61\x20\x6D\x6F\x68\x20\x63\x6C\x61\x73\x73\x20\x6E\x61\x6D\x65","\x64\x65\x66\x61\x75\x6C\x74\x45\x6E\x74\x72\x79","\x59\x6F\x75\x20\x63\x61\x6E\x27\x74\x20\x6D\x6F\x64\x69\x66\x79\x20\x61\x20\x64\x65\x66\x61\x75\x6C\x74\x20\x6D\x6F\x68\x20\x63\x6C\x61\x73\x73","\x62\x65\x66\x6F\x72\x65\x55\x70\x64\x61\x74\x65","\x59\x6F\x75\x20\x63\x61\x6E\x27\x74\x20\x64\x65\x6C\x65\x74\x65\x20\x61\x20\x64\x65\x66\x61\x75\x6C\x74\x20\x6D\x6F\x68\x20\x63\x6C\x61\x73\x73","\x62\x65\x66\x6F\x72\x65\x44\x65\x6C\x65\x74\x65"];module[_0xd9ba[0]]=function(_0xe24bx1,_0xe24bx2){var _0xe24bx3=_0xe24bx1[_0xd9ba[13]](_0xd9ba[1],{name:{type:_0xe24bx2[_0xd9ba[2]],allowNull:false,unique:true},mode:{type:_0xe24bx2.ENUM(_0xd9ba[3],_0xd9ba[4],_0xd9ba[5],_0xd9ba[6],_0xd9ba[7],_0xd9ba[8]),allowNull:true,defaultValue:_0xd9ba[4]},directory:{type:_0xe24bx2[_0xd9ba[2]],allowNull:true},application:{type:_0xe24bx2[_0xd9ba[2]],allowNull:true},digit:{type:_0xe24bx2[_0xd9ba[2]],allowNull:true},sort:{type:_0xe24bx2[_0xd9ba[2]],allowNull:true},format:{type:_0xe24bx2[_0xd9ba[2]],allowNull:true,defaultValue:_0xd9ba[9]},stamp:{type:_0xd9ba[10]},defaultEntry:{type:_0xe24bx2[_0xd9ba[11]],defaultValue:0}},{tableName:_0xd9ba[12]});_0xe24bx3[_0xd9ba[19]](function(_0xe24bx4){if(_0xe24bx4[_0xd9ba[15]](_0xd9ba[14])){throw  new Error(_0xd9ba[16])};if(_0xe24bx4[_0xd9ba[17]]){throw  new Error(_0xd9ba[18])};});_0xe24bx3[_0xd9ba[21]](function(_0xe24bx4){if(_0xe24bx4[_0xd9ba[17]]){throw  new Error(_0xd9ba[20])}});return _0xe24bx3;};
\ No newline at end of file
+var _0xdf71=["\x65\x78\x70\x6F\x72\x74\x73","\x56\x6F\x69\x63\x65\x4D\x75\x73\x69\x63\x4F\x6E\x48\x6F\x6C\x64","\x53\x54\x52\x49\x4E\x47","\x63\x75\x73\x74\x6F\x6D","\x66\x69\x6C\x65\x73","\x6D\x70\x33\x6E\x62","\x71\x75\x69\x65\x74\x6D\x70\x33\x6E\x62","\x71\x75\x69\x65\x74\x6D\x70\x33","\x6D\x70\x33","\x77\x61\x76","\x54\x49\x4D\x45\x53\x54\x41\x4D\x50","\x42\x4F\x4F\x4C\x45\x41\x4E","\x76\x6F\x69\x63\x65\x5F\x6D\x75\x73\x69\x63\x6F\x6E\x68\x6F\x6C\x64","\x64\x65\x66\x69\x6E\x65","\x6E\x61\x6D\x65","\x63\x68\x61\x6E\x67\x65\x64","\x59\x6F\x75\x20\x63\x61\x6E\x27\x74\x20\x6D\x6F\x64\x69\x66\x79\x20\x61\x20\x6D\x6F\x68\x20\x63\x6C\x61\x73\x73\x20\x6E\x61\x6D\x65","\x64\x65\x66\x61\x75\x6C\x74\x45\x6E\x74\x72\x79","\x59\x6F\x75\x20\x63\x61\x6E\x27\x74\x20\x6D\x6F\x64\x69\x66\x79\x20\x61\x20\x64\x65\x66\x61\x75\x6C\x74\x20\x6D\x6F\x68\x20\x63\x6C\x61\x73\x73","\x62\x65\x66\x6F\x72\x65\x55\x70\x64\x61\x74\x65","\x59\x6F\x75\x20\x63\x61\x6E\x27\x74\x20\x64\x65\x6C\x65\x74\x65\x20\x61\x20\x64\x65\x66\x61\x75\x6C\x74\x20\x6D\x6F\x68\x20\x63\x6C\x61\x73\x73","\x62\x65\x66\x6F\x72\x65\x44\x65\x6C\x65\x74\x65"];module[_0xdf71[0]]=function(_0xab05x1,_0xab05x2){var _0xab05x3=_0xab05x1[_0xdf71[13]](_0xdf71[1],{name:{type:_0xab05x2[_0xdf71[2]],allowNull:false,unique:true},mode:{type:_0xab05x2.ENUM(_0xdf71[3],_0xdf71[4],_0xdf71[5],_0xdf71[6],_0xdf71[7],_0xdf71[8]),allowNull:true,defaultValue:_0xdf71[4]},directory:{type:_0xab05x2[_0xdf71[2]],allowNull:true},application:{type:_0xab05x2[_0xdf71[2]],allowNull:true},digit:{type:_0xab05x2[_0xdf71[2]],allowNull:true},sort:{type:_0xab05x2[_0xdf71[2]],allowNull:true},format:{type:_0xab05x2[_0xdf71[2]],allowNull:true,defaultValue:_0xdf71[9]},stamp:{type:_0xdf71[10]},defaultEntry:{type:_0xab05x2[_0xdf71[11]],defaultValue:0}},{tableName:_0xdf71[12]});_0xab05x3[_0xdf71[19]](function(_0xab05x4){if(_0xab05x4[_0xdf71[15]](_0xdf71[14])){throw  new Error(_0xdf71[16])};if(_0xab05x4[_0xdf71[17]]){throw  new Error(_0xdf71[18])};});_0xab05x3[_0xdf71[21]](function(_0xab05x4){if(_0xab05x4[_0xdf71[17]]){throw  new Error(_0xdf71[20])}});return _0xab05x3;};
\ No newline at end of file
index 836ed94822460ece269939aaf31f8d597ced87dc..42e7ca8a8f45bd5fb0e1a81a25aeb1d35dbc382f 100644 (file)
@@ -1 +1 @@
-var _0x9f43=["\x65\x78\x70\x6F\x72\x74\x73","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x53\x54\x52\x49\x4E\x47","\x64\x65\x66\x61\x75\x6C\x74","","\x79\x65\x73","\x6E\x6F","\x76\x61\x72\x73","\x61\x6C\x6C","\x72\x69\x6E\x67\x61\x6C\x6C","\x6C\x65\x61\x73\x74\x72\x65\x63\x65\x6E\x74","\x66\x65\x77\x65\x73\x74\x63\x61\x6C\x6C\x73","\x72\x61\x6E\x64\x6F\x6D","\x72\x72\x6D\x65\x6D\x6F\x72\x79","\x6C\x69\x6E\x65\x61\x72","\x77\x72\x61\x6E\x64\x6F\x6D","\x72\x72\x6F\x72\x64\x65\x72\x65\x64","\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x73","\x55\x73\x65\x72\x48\x61\x73\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x71\x75\x65\x75\x65","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65","\x6E\x61\x6D\x65","\x63\x68\x61\x6E\x67\x65\x64","\x59\x6F\x75\x20\x63\x61\x6E\x27\x74\x20\x6D\x6F\x64\x69\x66\x79\x20\x61\x20\x71\x75\x65\x75\x65\x20\x6E\x61\x6D\x65","\x62\x65\x66\x6F\x72\x65\x55\x70\x64\x61\x74\x65"];module[_0x9f43[0]]=function(_0x3800x1,_0x3800x2){var _0x3800x3=_0x3800x1[_0x9f43[21]](_0x9f43[1],{name:{type:_0x3800x2[_0x9f43[2]],primaryKey:true,unique:true},musiconhold:{type:_0x3800x2[_0x9f43[2]],allowNull:true,defaultValue:_0x9f43[3]},announce:{type:_0x3800x2[_0x9f43[2]],allowNull:true,defaultValue:_0x9f43[4]},context:{type:_0x3800x2[_0x9f43[2]],allowNull:true,defaultValue:null},timeout:{type:_0x3800x2.INTEGER(11),allowNull:true,defaultValue:0},ringinuse:{type:_0x3800x2.ENUM(_0x9f43[5],_0x9f43[6]),allowNull:true,defaultValue:_0x9f43[6]},setinterfacevar:{type:_0x3800x2.ENUM(_0x9f43[5],_0x9f43[6]),allowNull:true,defaultValue:_0x9f43[5]},setqueuevar:{type:_0x3800x2.ENUM(_0x9f43[5],_0x9f43[6]),allowNull:true,defaultValue:_0x9f43[5]},setqueueentryvar:{type:_0x3800x2.ENUM(_0x9f43[5],_0x9f43[6]),allowNull:true,defautValue:_0x9f43[5]},eventwhencalled:{type:_0x3800x2.ENUM(_0x9f43[5],_0x9f43[6],_0x9f43[7]),allowNull:true,defautValue:_0x9f43[5]},eventmemberstatus:{type:_0x3800x2.ENUM(_0x9f43[5],_0x9f43[6]),allowNull:true,defautValue:_0x9f43[5]},monitor_format:{type:_0x3800x2[_0x9f43[2]],allowNull:true,defaultValue:_0x9f43[4]},membermacro:{type:_0x3800x2[_0x9f43[2]],allowNull:true},description:{type:_0x3800x2[_0x9f43[2]],allowNull:true},membergosub:{type:_0x3800x2[_0x9f43[2]],allowNull:true},queue_youarenext:{type:_0x3800x2[_0x9f43[2]],allowNull:true,defaultValue:null},queue_thereare:{type:_0x3800x2[_0x9f43[2]],allowNull:true,defaultValue:null},queue_callswaiting:{type:_0x3800x2[_0x9f43[2]],allowNull:true,defaultValue:null},queue_quantity1:{type:_0x3800x2[_0x9f43[2]],allowNull:true},queue_quantity2:{type:_0x3800x2[_0x9f43[2]],allowNull:true},queue_holdtime:{type:_0x3800x2[_0x9f43[2]],allowNull:true,defaultValue:null},queue_minutes:{type:_0x3800x2[_0x9f43[2]],allowNull:true,defaultValue:null},queue_seconds:{type:_0x3800x2[_0x9f43[2]],allowNull:true,defaultValue:null},queue_minute:{type:_0x3800x2[_0x9f43[2]],allowNull:true,defaultValue:null},queue_thankyou:{type:_0x3800x2[_0x9f43[2]],allowNull:true,defaultValue:null},queue_callerannounce:{type:_0x3800x2[_0x9f43[2]],allowNull:true},queue_reporthold:{type:_0x3800x2[_0x9f43[2]],allowNull:true},announce_frequency:{type:_0x3800x2.INTEGER(11),allowNull:true,defaultValue:0},announce_to_first_user:{type:_0x3800x2.ENUM(_0x9f43[5],_0x9f43[6]),allowNull:true},min_announce_frequency:{type:_0x3800x2.INTEGER(11),allowNull:true,defaultValue:0},announce_round_seconds:{type:_0x3800x2.INTEGER(11),allowNull:true,defaultValue:0},announce_holdtime:{type:_0x3800x2[_0x9f43[2]],allowNull:true,defaultValue:_0x9f43[6]},announce_position:{type:_0x3800x2[_0x9f43[2]],allowNull:true,defaultValue:_0x9f43[6]},announce_position_limit:{type:_0x3800x2.INTEGER(11),allowNull:true},periodic_announce:{type:_0x3800x2[_0x9f43[2]],allowNull:true,defaultValue:_0x9f43[4]},periodic_announce_frequency:{type:_0x3800x2.INTEGER(11),allowNull:true,defaultValue:0},relative_periodic_announce:{type:_0x3800x2.ENUM(_0x9f43[5],_0x9f43[6]),allowNull:true,defaultValue:_0x9f43[5]},random_periodic_announce:{type:_0x3800x2.ENUM(_0x9f43[5],_0x9f43[6]),allowNull:true,defaultValue:_0x9f43[6]},retry:{type:_0x3800x2.INTEGER(11),allowNull:true,defaultValue:0},wrapuptime:{type:_0x3800x2.INTEGER(11),allowNull:true,defaultValue:0},penaltymemberslimit:{type:_0x3800x2.INTEGER(11),allowNull:true},autofill:{type:_0x3800x2.ENUM(_0x9f43[5],_0x9f43[6]),allowNull:true},monitor_type:{type:_0x3800x2[_0x9f43[2]],allowNull:true},autopause:{type:_0x3800x2.ENUM(_0x9f43[5],_0x9f43[6],_0x9f43[8]),allowNull:true,defaultValue:_0x9f43[6]},autopausedelay:{type:_0x3800x2.INTEGER(11),allowNull:true},autopausebusy:{type:_0x3800x2.ENUM(_0x9f43[5],_0x9f43[6]),allowNull:true},autopauseunavail:{type:_0x3800x2.ENUM(_0x9f43[5],_0x9f43[6]),allowNull:true},maxlen:{type:_0x3800x2.INTEGER(11),allowNull:true,defaultValue:0},servicelevel:{type:_0x3800x2.INTEGER(11),allowNull:true,defaultValue:0},strategy:{type:_0x3800x2.ENUM(_0x9f43[9],_0x9f43[10],_0x9f43[11],_0x9f43[12],_0x9f43[13],_0x9f43[14],_0x9f43[15],_0x9f43[16]),allowNull:true},joinempty:{type:_0x3800x2[_0x9f43[2]],allowNull:true,defaultValue:_0x9f43[5]},leavewhenempty:{type:_0x3800x2[_0x9f43[2]],allowNull:true,defaultValue:_0x9f43[6]},reportholdtime:{type:_0x3800x2.ENUM(_0x9f43[5],_0x9f43[6]),allowNull:true,defaultValue:_0x9f43[6]},memberdelay:{type:_0x3800x2.INTEGER(11),allowNull:true,defaultValue:0},weight:{type:_0x3800x2.INTEGER(11),allowNull:true,defaultValue:0},timeoutrestart:{type:_0x3800x2.ENUM(_0x9f43[5],_0x9f43[6]),allowNull:true,defaultValue:_0x9f43[6]},defaultrule:{type:_0x3800x2[_0x9f43[2]],allowNull:true},timeoutpriority:{type:_0x3800x2[_0x9f43[2]],allowNull:true}},{tableName:_0x9f43[17],associate:function(_0x3800x4){_0x3800x3[_0x9f43[20]](_0x3800x4.User,{through:_0x3800x4[_0x9f43[18]],foreignKey:_0x9f43[19]})}});_0x3800x3[_0x9f43[25]](function(_0x3800x5){if(_0x3800x5[_0x9f43[23]](_0x9f43[22])){throw  new Error(_0x9f43[24])}});return _0x3800x3;};
\ No newline at end of file
+var _0x9546=["\x65\x78\x70\x6F\x72\x74\x73","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x53\x54\x52\x49\x4E\x47","\x64\x65\x66\x61\x75\x6C\x74","","\x79\x65\x73","\x6E\x6F","\x76\x61\x72\x73","\x61\x6C\x6C","\x72\x69\x6E\x67\x61\x6C\x6C","\x6C\x65\x61\x73\x74\x72\x65\x63\x65\x6E\x74","\x66\x65\x77\x65\x73\x74\x63\x61\x6C\x6C\x73","\x72\x61\x6E\x64\x6F\x6D","\x72\x72\x6D\x65\x6D\x6F\x72\x79","\x6C\x69\x6E\x65\x61\x72","\x77\x72\x61\x6E\x64\x6F\x6D","\x72\x72\x6F\x72\x64\x65\x72\x65\x64","\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x73","\x55\x73\x65\x72\x48\x61\x73\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x71\x75\x65\x75\x65","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65","\x6E\x61\x6D\x65","\x63\x68\x61\x6E\x67\x65\x64","\x59\x6F\x75\x20\x63\x61\x6E\x27\x74\x20\x6D\x6F\x64\x69\x66\x79\x20\x61\x20\x71\x75\x65\x75\x65\x20\x6E\x61\x6D\x65","\x62\x65\x66\x6F\x72\x65\x55\x70\x64\x61\x74\x65"];module[_0x9546[0]]=function(_0xf96dx1,_0xf96dx2){var _0xf96dx3=_0xf96dx1[_0x9546[21]](_0x9546[1],{name:{type:_0xf96dx2[_0x9546[2]],primaryKey:true,unique:true},musiconhold:{type:_0xf96dx2[_0x9546[2]],allowNull:true,defaultValue:_0x9546[3]},announce:{type:_0xf96dx2[_0x9546[2]],allowNull:true,defaultValue:_0x9546[4]},context:{type:_0xf96dx2[_0x9546[2]],allowNull:true,defaultValue:null},timeout:{type:_0xf96dx2.INTEGER(11),allowNull:true,defaultValue:0},ringinuse:{type:_0xf96dx2.ENUM(_0x9546[5],_0x9546[6]),allowNull:true,defaultValue:_0x9546[6]},setinterfacevar:{type:_0xf96dx2.ENUM(_0x9546[5],_0x9546[6]),allowNull:true,defaultValue:_0x9546[5]},setqueuevar:{type:_0xf96dx2.ENUM(_0x9546[5],_0x9546[6]),allowNull:true,defaultValue:_0x9546[5]},setqueueentryvar:{type:_0xf96dx2.ENUM(_0x9546[5],_0x9546[6]),allowNull:true,defautValue:_0x9546[5]},eventwhencalled:{type:_0xf96dx2.ENUM(_0x9546[5],_0x9546[6],_0x9546[7]),allowNull:true,defautValue:_0x9546[5]},eventmemberstatus:{type:_0xf96dx2.ENUM(_0x9546[5],_0x9546[6]),allowNull:true,defautValue:_0x9546[5]},monitor_format:{type:_0xf96dx2[_0x9546[2]],allowNull:true,defaultValue:_0x9546[4]},membermacro:{type:_0xf96dx2[_0x9546[2]],allowNull:true},description:{type:_0xf96dx2[_0x9546[2]],allowNull:true},membergosub:{type:_0xf96dx2[_0x9546[2]],allowNull:true},queue_youarenext:{type:_0xf96dx2[_0x9546[2]],allowNull:true,defaultValue:null},queue_thereare:{type:_0xf96dx2[_0x9546[2]],allowNull:true,defaultValue:null},queue_callswaiting:{type:_0xf96dx2[_0x9546[2]],allowNull:true,defaultValue:null},queue_quantity1:{type:_0xf96dx2[_0x9546[2]],allowNull:true},queue_quantity2:{type:_0xf96dx2[_0x9546[2]],allowNull:true},queue_holdtime:{type:_0xf96dx2[_0x9546[2]],allowNull:true,defaultValue:null},queue_minutes:{type:_0xf96dx2[_0x9546[2]],allowNull:true,defaultValue:null},queue_seconds:{type:_0xf96dx2[_0x9546[2]],allowNull:true,defaultValue:null},queue_minute:{type:_0xf96dx2[_0x9546[2]],allowNull:true,defaultValue:null},queue_thankyou:{type:_0xf96dx2[_0x9546[2]],allowNull:true,defaultValue:null},queue_callerannounce:{type:_0xf96dx2[_0x9546[2]],allowNull:true},queue_reporthold:{type:_0xf96dx2[_0x9546[2]],allowNull:true},announce_frequency:{type:_0xf96dx2.INTEGER(11),allowNull:true,defaultValue:0},announce_to_first_user:{type:_0xf96dx2.ENUM(_0x9546[5],_0x9546[6]),allowNull:true},min_announce_frequency:{type:_0xf96dx2.INTEGER(11),allowNull:true,defaultValue:0},announce_round_seconds:{type:_0xf96dx2.INTEGER(11),allowNull:true,defaultValue:0},announce_holdtime:{type:_0xf96dx2[_0x9546[2]],allowNull:true,defaultValue:_0x9546[6]},announce_position:{type:_0xf96dx2[_0x9546[2]],allowNull:true,defaultValue:_0x9546[6]},announce_position_limit:{type:_0xf96dx2.INTEGER(11),allowNull:true},periodic_announce:{type:_0xf96dx2[_0x9546[2]],allowNull:true,defaultValue:_0x9546[4]},periodic_announce_frequency:{type:_0xf96dx2.INTEGER(11),allowNull:true,defaultValue:0},relative_periodic_announce:{type:_0xf96dx2.ENUM(_0x9546[5],_0x9546[6]),allowNull:true,defaultValue:_0x9546[5]},random_periodic_announce:{type:_0xf96dx2.ENUM(_0x9546[5],_0x9546[6]),allowNull:true,defaultValue:_0x9546[6]},retry:{type:_0xf96dx2.INTEGER(11),allowNull:true,defaultValue:0},wrapuptime:{type:_0xf96dx2.INTEGER(11),allowNull:true,defaultValue:0},penaltymemberslimit:{type:_0xf96dx2.INTEGER(11),allowNull:true},autofill:{type:_0xf96dx2.ENUM(_0x9546[5],_0x9546[6]),allowNull:true},monitor_type:{type:_0xf96dx2[_0x9546[2]],allowNull:true},autopause:{type:_0xf96dx2.ENUM(_0x9546[5],_0x9546[6],_0x9546[8]),allowNull:true,defaultValue:_0x9546[6]},autopausedelay:{type:_0xf96dx2.INTEGER(11),allowNull:true},autopausebusy:{type:_0xf96dx2.ENUM(_0x9546[5],_0x9546[6]),allowNull:true},autopauseunavail:{type:_0xf96dx2.ENUM(_0x9546[5],_0x9546[6]),allowNull:true},maxlen:{type:_0xf96dx2.INTEGER(11),allowNull:true,defaultValue:0},servicelevel:{type:_0xf96dx2.INTEGER(11),allowNull:true,defaultValue:0},strategy:{type:_0xf96dx2.ENUM(_0x9546[9],_0x9546[10],_0x9546[11],_0x9546[12],_0x9546[13],_0x9546[14],_0x9546[15],_0x9546[16]),allowNull:true},joinempty:{type:_0xf96dx2[_0x9546[2]],allowNull:true,defaultValue:_0x9546[5]},leavewhenempty:{type:_0xf96dx2[_0x9546[2]],allowNull:true,defaultValue:_0x9546[6]},reportholdtime:{type:_0xf96dx2.ENUM(_0x9546[5],_0x9546[6]),allowNull:true,defaultValue:_0x9546[6]},memberdelay:{type:_0xf96dx2.INTEGER(11),allowNull:true,defaultValue:0},weight:{type:_0xf96dx2.INTEGER(11),allowNull:true,defaultValue:0},timeoutrestart:{type:_0xf96dx2.ENUM(_0x9546[5],_0x9546[6]),allowNull:true,defaultValue:_0x9546[6]},defaultrule:{type:_0xf96dx2[_0x9546[2]],allowNull:true},timeoutpriority:{type:_0xf96dx2[_0x9546[2]],allowNull:true}},{tableName:_0x9546[17],associate:function(_0xf96dx4){_0xf96dx3[_0x9546[20]](_0xf96dx4.User,{through:_0xf96dx4[_0x9546[18]],foreignKey:_0x9546[19]})}});_0xf96dx3[_0x9546[25]](function(_0xf96dx5){if(_0xf96dx5[_0x9546[23]](_0x9546[22])){throw  new Error(_0x9546[24])}});return _0xf96dx3;};
\ No newline at end of file
index 3efacfa34c3b732071a5f66bced798fcfb0f14cc..37d6c8c081f85a7691e3f18f910d6deb418052b0 100644 (file)
@@ -1 +1 @@
-var _0x941a=["\x65\x78\x70\x6F\x72\x74\x73","\x56\x6F\x69\x63\x65\x56\x6F\x69\x63\x65\x6D\x61\x69\x6C","\x53\x54\x52\x49\x4E\x47","\x66\x72\x6F\x6D\x2D\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C","\x63\x6F\x6E\x74\x65\x73\x74\x5F\x6D\x61\x69\x6C\x62\x6F\x78","","\x63\x65\x6E\x74\x72\x61\x6C","\x79\x65\x73","\x6E\x6F","\x54\x49\x4E\x59\x49\x4E\x54\x28\x34\x29","\x54\x49\x4D\x45\x53\x54\x41\x4D\x50","\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C","\x6D\x61\x69\x6C\x62\x6F\x78\x5F\x63\x6F\x6E\x74\x65\x78\x74","\x6D\x61\x69\x6C\x62\x6F\x78","\x63\x6F\x6E\x74\x65\x78\x74","\x64\x65\x66\x69\x6E\x65"];module[_0x941a[0]]=function(_0xa422x1,_0xa422x2){var _0xa422x3=_0xa422x1[_0x941a[15]](_0x941a[1],{uniqueid:{type:_0xa422x2.INTEGER(4),primaryKey:true,allowNull:false,autoIncrement:true},customer_id:{type:_0xa422x2[_0x941a[2]]},context:{type:_0xa422x2[_0x941a[2]],defaultValue:_0x941a[3],unique:_0x941a[4]},mailbox:{type:_0xa422x2[_0x941a[2]],defaultValue:_0x941a[5],allowNull:false,unique:_0x941a[4]},password:{type:_0xa422x2[_0x941a[2]]},fullname:{type:_0xa422x2[_0x941a[2]]},email:{type:_0xa422x2[_0x941a[2]]},pager:{type:_0xa422x2[_0x941a[2]]},tz:{type:_0xa422x2[_0x941a[2]],defaultValue:_0x941a[6]},attach:{type:_0xa422x2.ENUM(_0x941a[7],_0x941a[8]),defaultValue:_0x941a[7],allowNull:false},saycid:{type:_0xa422x2.ENUM(_0x941a[7],_0x941a[8]),defaultValue:_0x941a[7],allowNull:false},dialout:{type:_0xa422x2[_0x941a[2]]},callback:{type:_0xa422x2[_0x941a[2]]},review:{type:_0xa422x2.ENUM(_0x941a[7],_0x941a[8]),defaultValue:_0x941a[8],allowNull:false},operator:{type:_0xa422x2.ENUM(_0x941a[7],_0x941a[8]),defaultValue:_0x941a[8],allowNull:false},envelope:{type:_0xa422x2.ENUM(_0x941a[7],_0x941a[8]),defaultValue:_0x941a[8],allowNull:false},sayduration:{type:_0xa422x2.ENUM(_0x941a[7],_0x941a[8]),defaultValue:_0x941a[8],allowNull:false},saydurationm:{type:_0x941a[9],defaultValue:1,allowNull:false},sendvoicemail:{type:_0xa422x2.ENUM(_0x941a[7],_0x941a[8]),defaultValue:_0x941a[8],allowNull:false},"\x64\x65\x6C\x65\x74\x65":{type:_0xa422x2.ENUM(_0x941a[7],_0x941a[8]),defaultValue:_0x941a[8],allowNull:false},nextaftercmd:{type:_0xa422x2.ENUM(_0x941a[7],_0x941a[8]),defaultValue:_0x941a[7],allowNull:false},forcename:{type:_0xa422x2.ENUM(_0x941a[7],_0x941a[8]),defaultValue:_0x941a[8],allowNull:false},forcegreetings:{type:_0xa422x2.ENUM(_0x941a[7],_0x941a[8]),defaultValue:_0x941a[8],allowNull:false},hidefromdir:{type:_0xa422x2.ENUM(_0x941a[7],_0x941a[8]),defaultValue:_0x941a[7],allowNull:false},stamp:{type:_0x941a[10]},emailsubject:{type:_0xa422x2[_0x941a[2]]},emailbody:{type:_0xa422x2[_0x941a[2]]},name:{type:_0xa422x2[_0x941a[2]]},maxsecs:{type:_0xa422x2.INTEGER(255),defaultValue:180,allowNull:false},maxmsg:{type:_0xa422x2.INTEGER(255),defaultValue:100,allowNull:false}},{tableName:_0x941a[11],indexes:[{name:_0x941a[12],fields:[_0x941a[13],_0x941a[14]]}]});return _0xa422x3;};
\ No newline at end of file
+var _0x484d=["\x65\x78\x70\x6F\x72\x74\x73","\x56\x6F\x69\x63\x65\x56\x6F\x69\x63\x65\x6D\x61\x69\x6C","\x53\x54\x52\x49\x4E\x47","\x66\x72\x6F\x6D\x2D\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C","\x63\x6F\x6E\x74\x65\x73\x74\x5F\x6D\x61\x69\x6C\x62\x6F\x78","","\x63\x65\x6E\x74\x72\x61\x6C","\x79\x65\x73","\x6E\x6F","\x54\x49\x4E\x59\x49\x4E\x54\x28\x34\x29","\x54\x49\x4D\x45\x53\x54\x41\x4D\x50","\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C","\x6D\x61\x69\x6C\x62\x6F\x78\x5F\x63\x6F\x6E\x74\x65\x78\x74","\x6D\x61\x69\x6C\x62\x6F\x78","\x63\x6F\x6E\x74\x65\x78\x74","\x64\x65\x66\x69\x6E\x65"];module[_0x484d[0]]=function(_0xeedcx1,_0xeedcx2){var _0xeedcx3=_0xeedcx1[_0x484d[15]](_0x484d[1],{uniqueid:{type:_0xeedcx2.INTEGER(4),primaryKey:true,allowNull:false,autoIncrement:true},customer_id:{type:_0xeedcx2[_0x484d[2]]},context:{type:_0xeedcx2[_0x484d[2]],defaultValue:_0x484d[3],unique:_0x484d[4]},mailbox:{type:_0xeedcx2[_0x484d[2]],defaultValue:_0x484d[5],allowNull:false,unique:_0x484d[4]},password:{type:_0xeedcx2[_0x484d[2]]},fullname:{type:_0xeedcx2[_0x484d[2]]},email:{type:_0xeedcx2[_0x484d[2]]},pager:{type:_0xeedcx2[_0x484d[2]]},tz:{type:_0xeedcx2[_0x484d[2]],defaultValue:_0x484d[6]},attach:{type:_0xeedcx2.ENUM(_0x484d[7],_0x484d[8]),defaultValue:_0x484d[7],allowNull:false},saycid:{type:_0xeedcx2.ENUM(_0x484d[7],_0x484d[8]),defaultValue:_0x484d[7],allowNull:false},dialout:{type:_0xeedcx2[_0x484d[2]]},callback:{type:_0xeedcx2[_0x484d[2]]},review:{type:_0xeedcx2.ENUM(_0x484d[7],_0x484d[8]),defaultValue:_0x484d[8],allowNull:false},operator:{type:_0xeedcx2.ENUM(_0x484d[7],_0x484d[8]),defaultValue:_0x484d[8],allowNull:false},envelope:{type:_0xeedcx2.ENUM(_0x484d[7],_0x484d[8]),defaultValue:_0x484d[8],allowNull:false},sayduration:{type:_0xeedcx2.ENUM(_0x484d[7],_0x484d[8]),defaultValue:_0x484d[8],allowNull:false},saydurationm:{type:_0x484d[9],defaultValue:1,allowNull:false},sendvoicemail:{type:_0xeedcx2.ENUM(_0x484d[7],_0x484d[8]),defaultValue:_0x484d[8],allowNull:false},"\x64\x65\x6C\x65\x74\x65":{type:_0xeedcx2.ENUM(_0x484d[7],_0x484d[8]),defaultValue:_0x484d[8],allowNull:false},nextaftercmd:{type:_0xeedcx2.ENUM(_0x484d[7],_0x484d[8]),defaultValue:_0x484d[7],allowNull:false},forcename:{type:_0xeedcx2.ENUM(_0x484d[7],_0x484d[8]),defaultValue:_0x484d[8],allowNull:false},forcegreetings:{type:_0xeedcx2.ENUM(_0x484d[7],_0x484d[8]),defaultValue:_0x484d[8],allowNull:false},hidefromdir:{type:_0xeedcx2.ENUM(_0x484d[7],_0x484d[8]),defaultValue:_0x484d[7],allowNull:false},stamp:{type:_0x484d[10]},emailsubject:{type:_0xeedcx2[_0x484d[2]]},emailbody:{type:_0xeedcx2[_0x484d[2]]},name:{type:_0xeedcx2[_0x484d[2]]},maxsecs:{type:_0xeedcx2.INTEGER(255),defaultValue:180,allowNull:false},maxmsg:{type:_0xeedcx2.INTEGER(255),defaultValue:100,allowNull:false}},{tableName:_0x484d[11],indexes:[{name:_0x484d[12],fields:[_0x484d[13],_0x484d[14]]}]});return _0xeedcx3;};
\ No newline at end of file
index f1d5563db534faf5833ab5f2b6f26c1fea84dd19..2e4f392de310845bc6fe618667f1cb40466a29d2 100644 (file)
@@ -1 +1 @@
-var _0xe9a8=["\x65\x78\x70\x6F\x72\x74\x73","\x56\x6F\x69\x63\x65\x56\x6F\x69\x63\x65\x6D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65\x73","\x53\x54\x52\x49\x4E\x47","","\x6C\x6F\x6E\x67","\x54\x49\x4D\x45\x53\x54\x41\x4D\x50","\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x73","\x64\x69\x72","\x64\x65\x66\x69\x6E\x65"];module[_0xe9a8[0]]=function(_0x5b12x1,_0x5b12x2){var _0x5b12x3=_0x5b12x1[_0xe9a8[8]](_0xe9a8[1],{msgnum:{type:_0x5b12x2.INTEGER(11),defaultValue:0,allowNull:false},dir:{type:_0x5b12x2[_0xe9a8[2]],defaultValue:_0xe9a8[3]},context:{type:_0x5b12x2[_0xe9a8[2]],defaultValue:_0xe9a8[3]},macrocontext:{type:_0x5b12x2[_0xe9a8[2]],defaultValue:_0xe9a8[3]},callerid:{type:_0x5b12x2[_0xe9a8[2]],defaultValue:_0xe9a8[3]},origtime:{type:_0x5b12x2[_0xe9a8[2]],defaultValue:_0xe9a8[3]},duration:{type:_0x5b12x2[_0xe9a8[2]],defaultValue:_0xe9a8[3]},mailboxuser:{type:_0x5b12x2[_0xe9a8[2]],defaultValue:_0xe9a8[3]},mailboxcontext:{type:_0x5b12x2[_0xe9a8[2]],defaultValue:_0xe9a8[3]},recording:{type:_0x5b12x2.BLOB(_0xe9a8[4]),defaultValue:null},flag:{type:_0x5b12x2[_0xe9a8[2]],defaultValue:_0xe9a8[3]},msg_id:{type:_0x5b12x2[_0xe9a8[2]],defaultValue:_0xe9a8[3]},stamp:{type:_0xe9a8[5],allowNull:false}},{tableName:_0xe9a8[6],indexes:[{name:_0xe9a8[7],fields:[_0xe9a8[7]]}]});return _0x5b12x3;};
\ No newline at end of file
+var _0x1a91=["\x65\x78\x70\x6F\x72\x74\x73","\x56\x6F\x69\x63\x65\x56\x6F\x69\x63\x65\x6D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65\x73","\x53\x54\x52\x49\x4E\x47","","\x6C\x6F\x6E\x67","\x54\x49\x4D\x45\x53\x54\x41\x4D\x50","\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x73","\x64\x69\x72","\x64\x65\x66\x69\x6E\x65"];module[_0x1a91[0]]=function(_0x384dx1,_0x384dx2){var _0x384dx3=_0x384dx1[_0x1a91[8]](_0x1a91[1],{msgnum:{type:_0x384dx2.INTEGER(11),defaultValue:0,allowNull:false},dir:{type:_0x384dx2[_0x1a91[2]],defaultValue:_0x1a91[3]},context:{type:_0x384dx2[_0x1a91[2]],defaultValue:_0x1a91[3]},macrocontext:{type:_0x384dx2[_0x1a91[2]],defaultValue:_0x1a91[3]},callerid:{type:_0x384dx2[_0x1a91[2]],defaultValue:_0x1a91[3]},origtime:{type:_0x384dx2[_0x1a91[2]],defaultValue:_0x1a91[3]},duration:{type:_0x384dx2[_0x1a91[2]],defaultValue:_0x1a91[3]},mailboxuser:{type:_0x384dx2[_0x1a91[2]],defaultValue:_0x1a91[3]},mailboxcontext:{type:_0x384dx2[_0x1a91[2]],defaultValue:_0x1a91[3]},recording:{type:_0x384dx2.BLOB(_0x1a91[4]),defaultValue:null},flag:{type:_0x384dx2[_0x1a91[2]],defaultValue:_0x1a91[3]},msg_id:{type:_0x384dx2[_0x1a91[2]],defaultValue:_0x1a91[3]},stamp:{type:_0x1a91[5],allowNull:false}},{tableName:_0x1a91[6],indexes:[{name:_0x1a91[7],fields:[_0x1a91[7]]}]});return _0x384dx3;};
\ No newline at end of file
index 0aaff2dd5d3dda69039f8f05388817271d6ee44b..04ff3dcec485cd8bdc65454a5468dd9858815eaa 100644 (file)
@@ -1 +1 @@
-var _0xe01c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x5A\x65\x6E\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x53\x54\x52\x49\x4E\x47","\x70\x61\x73\x73\x77\x6F\x72\x64","\x74\x6F\x6B\x65\x6E","\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];_0xe01c[0];module[_0xe01c[1]]=function(_0x63f0x1,_0x63f0x2){var _0x63f0x3=_0x63f0x1[_0xe01c[9]](_0xe01c[2],{name:_0x63f0x2[_0xe01c[3]],description:_0x63f0x2[_0xe01c[3]],username:{type:_0x63f0x2[_0xe01c[3]],unique:true},password:_0x63f0x2[_0xe01c[3]],token:_0x63f0x2[_0xe01c[3]],remoteUri:{type:_0x63f0x2[_0xe01c[3]],unique:true},authType:{type:_0x63f0x2.ENUM(_0xe01c[4],_0xe01c[5]),defaultValue:_0xe01c[4]}},{tableName:_0xe01c[6],associate:function(_0x63f0x4){_0x63f0x3[_0xe01c[8]](_0x63f0x4.ZendeskConfiguration,{foreignKey:_0xe01c[7]})}});return _0x63f0x3;};
\ No newline at end of file
+var _0xdd17=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x5A\x65\x6E\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x53\x54\x52\x49\x4E\x47","\x70\x61\x73\x73\x77\x6F\x72\x64","\x74\x6F\x6B\x65\x6E","\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];_0xdd17[0];module[_0xdd17[1]]=function(_0x7b39x1,_0x7b39x2){var _0x7b39x3=_0x7b39x1[_0xdd17[9]](_0xdd17[2],{name:_0x7b39x2[_0xdd17[3]],description:_0x7b39x2[_0xdd17[3]],username:{type:_0x7b39x2[_0xdd17[3]],unique:true},password:_0x7b39x2[_0xdd17[3]],token:_0x7b39x2[_0xdd17[3]],remoteUri:{type:_0x7b39x2[_0xdd17[3]],unique:true},authType:{type:_0x7b39x2.ENUM(_0xdd17[4],_0xdd17[5]),defaultValue:_0xdd17[4]}},{tableName:_0xdd17[6],associate:function(_0x7b39x4){_0x7b39x3[_0xdd17[8]](_0x7b39x4.ZendeskConfiguration,{foreignKey:_0xdd17[7]})}});return _0x7b39x3;};
\ No newline at end of file
index c03cb48b78570ec7d30514b6d19208c0d3a10a97..48117838a1564da95061df3ff6d68a973d395f1b 100644 (file)
@@ -1 +1 @@
-var _0x4b4f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x5A\x65\x6E\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x53\x54\x52\x49\x4E\x47","\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x53\x75\x62\x6A\x65\x63\x74","\x53\x75\x62\x6A\x65\x63\x74\x49\x64","\x68\x61\x73\x4D\x61\x6E\x79","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x49\x64","\x46\x69\x65\x6C\x64","\x46\x69\x65\x6C\x64\x49\x64","\x64\x65\x66\x69\x6E\x65"];_0x4b4f[0];module[_0x4b4f[1]]=function(_0xa975x1,_0xa975x2){var _0xa975x3=_0xa975x1[_0x4b4f[14]](_0x4b4f[2],{name:_0xa975x2[_0x4b4f[3]],description:_0xa975x2[_0x4b4f[3]]},{tableName:_0x4b4f[4],associate:function(_0xa975x4){_0xa975x3[_0x4b4f[6]](_0xa975x4.ZendeskAccount,{foreignKey:_0x4b4f[5]});_0xa975x3[_0x4b4f[9]](_0xa975x4.ZendeskField,{as:_0x4b4f[7],foreignKey:_0x4b4f[8]});_0xa975x3[_0x4b4f[9]](_0xa975x4.ZendeskField,{as:_0x4b4f[10],foreignKey:_0x4b4f[11]});_0xa975x3[_0x4b4f[9]](_0xa975x4.ZendeskField,{as:_0x4b4f[12],foreignKey:_0x4b4f[13]});}});return _0xa975x3;};
\ No newline at end of file
+var _0x6636=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x5A\x65\x6E\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x53\x54\x52\x49\x4E\x47","\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x53\x75\x62\x6A\x65\x63\x74","\x53\x75\x62\x6A\x65\x63\x74\x49\x64","\x68\x61\x73\x4D\x61\x6E\x79","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x49\x64","\x46\x69\x65\x6C\x64","\x46\x69\x65\x6C\x64\x49\x64","\x64\x65\x66\x69\x6E\x65"];_0x6636[0];module[_0x6636[1]]=function(_0xa96dx1,_0xa96dx2){var _0xa96dx3=_0xa96dx1[_0x6636[14]](_0x6636[2],{name:_0xa96dx2[_0x6636[3]],description:_0xa96dx2[_0x6636[3]]},{tableName:_0x6636[4],associate:function(_0xa96dx4){_0xa96dx3[_0x6636[6]](_0xa96dx4.ZendeskAccount,{foreignKey:_0x6636[5]});_0xa96dx3[_0x6636[9]](_0xa96dx4.ZendeskField,{as:_0x6636[7],foreignKey:_0x6636[8]});_0xa96dx3[_0x6636[9]](_0xa96dx4.ZendeskField,{as:_0x6636[10],foreignKey:_0x6636[11]});_0xa96dx3[_0x6636[9]](_0xa96dx4.ZendeskField,{as:_0x6636[12],foreignKey:_0x6636[13]});}});return _0xa96dx3;};
\ No newline at end of file
index e167e978886952c061031141f0cbc1f14b55a98d..c2248ff8d4a8eb775a38a6feeb071e94a50fddf2 100644 (file)
@@ -1 +1 @@
-var _0xcc79=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x5A\x65\x6E\x64\x65\x73\x6B\x46\x69\x65\x6C\x64","\x73\x74\x72\x69\x6E\x67","\x76\x61\x72\x69\x61\x62\x6C\x65","\x6B\x65\x79\x5F\x76\x61\x6C\x75\x65","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];_0xcc79[0];module[_0xcc79[1]]=function(_0x7a64x1,_0x7a64x2){var _0x7a64x3=_0x7a64x1[_0xcc79[10]](_0xcc79[2],{type:{type:_0x7a64x2.ENUM(_0xcc79[3],_0xcc79[4],_0xcc79[5]),defaultValue:_0xcc79[3]},content:_0x7a64x2[_0xcc79[6]],key:_0x7a64x2[_0xcc79[6]],keyType:{type:_0x7a64x2.ENUM(_0xcc79[3],_0xcc79[4])},keyContent:_0x7a64x2[_0xcc79[6]],idField:_0x7a64x2[_0xcc79[7]]},{tableName:_0xcc79[8],associate:function(_0x7a64x4){_0x7a64x3[_0xcc79[9]](_0x7a64x4.Variable)}});return _0x7a64x3;};
\ No newline at end of file
+var _0x5998=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x5A\x65\x6E\x64\x65\x73\x6B\x46\x69\x65\x6C\x64","\x73\x74\x72\x69\x6E\x67","\x76\x61\x72\x69\x61\x62\x6C\x65","\x6B\x65\x79\x5F\x76\x61\x6C\x75\x65","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x64\x65\x66\x69\x6E\x65"];_0x5998[0];module[_0x5998[1]]=function(_0x849bx1,_0x849bx2){var _0x849bx3=_0x849bx1[_0x5998[10]](_0x5998[2],{type:{type:_0x849bx2.ENUM(_0x5998[3],_0x5998[4],_0x5998[5]),defaultValue:_0x5998[3]},content:_0x849bx2[_0x5998[6]],key:_0x849bx2[_0x5998[6]],keyType:{type:_0x849bx2.ENUM(_0x5998[3],_0x5998[4])},keyContent:_0x849bx2[_0x5998[6]],idField:_0x849bx2[_0x5998[7]]},{tableName:_0x5998[8],associate:function(_0x849bx4){_0x849bx3[_0x5998[9]](_0x849bx4.Variable)}});return _0x849bx3;};
\ No newline at end of file
index ec0b6a23e74bc3a12ba5b5ad6e58a9974eddfaa1..2cf90dab7bd6721e3de781b2f62aa054eab19092 100644 (file)
@@ -1 +1 @@
-var _0x5952=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x2E\x2F\x63\x6F\x6D\x70\x6F\x6E\x65\x6E\x74\x73\x2F\x65\x72\x72\x6F\x72\x73","\x70\x61\x74\x68","\x6D\x6F\x6D\x65\x6E\x74","\x65\x78\x70\x6F\x72\x74\x73","\x65\x6E\x76","\x67\x65\x74","\x2F\x61\x70\x69\x2F\x6C\x69\x63\x65\x6E\x73\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x6C\x69\x63\x65\x6E\x73\x65","\x75\x73\x65","\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x66\x69\x65\x6C\x64\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x66\x69\x65\x6C\x64","\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x61\x63\x63\x6F\x75\x6E\x74","\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64","\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74","\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x66\x69\x65\x6C\x64\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x66\x69\x65\x6C\x64","\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x61\x63\x63\x6F\x75\x6E\x74","\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73","\x2E\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64","\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74","\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x73\x2F\x72\x65\x70\x6F\x72\x74\x73\x2F\x64\x65\x66\x61\x75\x6C\x74","\x2E\x2F\x61\x70\x69\x2F\x64\x65\x66\x61\x75\x6C\x74\x5F\x72\x65\x70\x6F\x72\x74","\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x73\x2F\x72\x65\x70\x6F\x72\x74\x73\x2F\x63\x75\x73\x74\x6F\x6D","\x2E\x2F\x61\x70\x69\x2F\x63\x75\x73\x74\x6F\x6D\x5F\x72\x65\x70\x6F\x72\x74","\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x73\x2F\x72\x65\x70\x6F\x72\x74\x73\x2F\x74\x72\x65\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x74\x72\x65\x65","\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x73\x2F\x6D\x65\x74\x72\x69\x63\x73","\x2E\x2F\x61\x70\x69\x2F\x6D\x65\x74\x72\x69\x63","\x2F\x61\x70\x69\x2F\x75\x70\x64\x61\x74\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x70\x64\x61\x74\x65","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x63\x68\x61\x74\x2F\x73\x65\x73\x73\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x73\x65\x73\x73\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73","\x2E\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x63\x68\x61\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74","\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72","\x2E\x2F\x61\x70\x69\x2F\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x6D\x61\x69\x6C\x2F\x73\x65\x73\x73\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x6D\x61\x69\x6C\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C","\x2F\x61\x70\x69\x2F\x77\x69\x64\x67\x65\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x77\x69\x64\x67\x65\x74","\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x61\x67\x65\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74","\x2F\x61\x70\x69\x2F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x73","\x2E\x2F\x61\x70\x69\x2F\x64\x61\x73\x68\x62\x6F\x61\x72\x64","\x2F\x61\x70\x69\x2F\x73\x65\x74\x74\x69\x6E\x67\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x65\x74\x74\x69\x6E\x67","\x2F\x61\x70\x69\x2F\x74\x72\x69\x67\x67\x65\x72\x73","\x2E\x2F\x61\x70\x69\x2F\x74\x72\x69\x67\x67\x65\x72","\x2F\x61\x70\x69\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x74\x65\x6D\x70\x6C\x61\x74\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x74\x65\x6D\x70\x6C\x61\x74\x65","\x2F\x61\x70\x69\x2F\x61\x6D\x69","\x2E\x2F\x61\x70\x69\x2F\x61\x6D\x69","\x2F\x61\x70\x69\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x6D\x75\x73\x69\x63\x6F\x6E\x68\x6F\x6C\x64\x73","\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x6D\x75\x73\x69\x63\x6F\x6E\x68\x6F\x6C\x64","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x73","\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C","\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72\x2F\x63\x75\x73\x74\x6F\x6D\x66\x69\x65\x6C\x64\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x75\x73\x74\x6F\x6D\x5F\x66\x69\x65\x6C\x64","\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72\x2F\x63\x6F\x6D\x70\x61\x6E\x69\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x6F\x6D\x70\x61\x6E\x79","\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72","\x2E\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x5F\x6D\x61\x6E\x61\x67\x65\x72","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x2F\x61\x63\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x63\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x2F\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x69\x6E\x74\x65\x72\x76\x61\x6C\x73","\x2E\x2F\x61\x70\x69\x2F\x69\x6E\x74\x65\x72\x76\x61\x6C","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x63\x6F\x6E\x74\x65\x78\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x63\x6F\x6E\x74\x65\x78\x74","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x74\x72\x75\x6E\x6B\x73","\x2E\x2F\x61\x70\x69\x2F\x74\x72\x75\x6E\x6B","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x65\x76\x65\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x65\x76\x65\x6E\x74","\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x2F\x6F\x64\x62\x63","\x2E\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x5F\x6F\x64\x62\x63","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x74\x65\x61\x6D\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x74\x65\x61\x6D","\x2F\x61\x70\x69\x2F\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x76\x61\x72\x69\x61\x62\x6C\x65","\x2F\x61\x70\x69\x2F\x74\x61\x67\x73","\x2E\x2F\x61\x70\x69\x2F\x74\x61\x67","\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x2F\x70\x72\x6F\x6A\x65\x63\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x5F\x70\x72\x6F\x6A\x65\x63\x74","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x6D\x65\x73\x73\x61\x67\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x72\x6F\x6F\x6D\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x72\x6F\x6F\x6D","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x61\x63\x63\x6F\x75\x6E\x74","\x2F\x61\x70\x69\x2F\x61\x67\x65\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x61\x67\x65\x6E\x74","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x65\x6E\x71\x75\x69\x72\x69\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x65\x6E\x71\x75\x69\x72\x79","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x6D\x65\x73\x73\x61\x67\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x6D\x65\x73\x73\x61\x67\x65","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x72\x6F\x6F\x6D\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x76\x69\x73\x69\x74\x6F\x72\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x76\x69\x73\x69\x74\x6F\x72","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x77\x65\x62\x73\x69\x74\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x77\x65\x62\x73\x69\x74\x65","\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x61\x63\x63\x6F\x75\x6E\x74","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x6D\x65\x73\x73\x61\x67\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x72\x6F\x6F\x6D\x73","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x73\x65\x72\x76\x65\x72\x73\x2F\x69\x6E","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x69\x6E","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x73\x65\x72\x76\x65\x72\x73\x2F\x6F\x75\x74","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x6F\x75\x74","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x74\x65\x61\x6D\x73","\x2E\x2F\x61\x70\x69\x2F\x74\x65\x61\x6D","\x2F\x61\x70\x69\x2F\x75\x70\x6C\x6F\x61\x64\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x70\x6C\x6F\x61\x64","\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x72\x6F\x6F\x6D\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D","\x2F\x61\x70\x69\x2F\x78\x63\x68\x61\x74\x74\x79","\x2E\x2F\x61\x70\x69\x2F\x78\x63\x68\x61\x74\x74\x79","\x2F\x61\x75\x74\x68","\x2E\x2F\x61\x75\x74\x68","\x2F\x3A\x75\x72\x6C\x28\x61\x70\x69\x7C\x61\x75\x74\x68\x7C\x63\x6F\x6D\x70\x6F\x6E\x65\x6E\x74\x73\x7C\x61\x70\x70\x7C\x62\x6F\x77\x65\x72\x5F\x63\x6F\x6D\x70\x6F\x6E\x65\x6E\x74\x73\x7C\x61\x73\x73\x65\x74\x73\x29\x2F\x2A","\x72\x6F\x75\x74\x65","\x2F\x2A","\x70\x72\x6F\x64\x75\x63\x74\x69\x6F\x6E","\x72\x6F\x6F\x74","\x70\x75\x62\x6C\x69\x63","\x6A\x6F\x69\x6E","\x64\x65\x76\x65\x6C\x6F\x70\x6D\x65\x6E\x74","\x74\x65\x73\x74","\x63\x6C\x69\x65\x6E\x74","\x69\x6E\x64\x65\x78\x2E\x68\x74\x6D\x6C","\x73\x65\x6E\x64\x46\x69\x6C\x65","\x61\x6C\x6C"];_0x5952[0];var config=require(_0x5952[1]);var errors=require(_0x5952[2]);var path=require(_0x5952[3]);var moment=require(_0x5952[4]);module[_0x5952[5]]=function(_0xb5cfx5){var _0xb5cfx6=_0xb5cfx5[_0x5952[7]](_0x5952[6]);_0xb5cfx5[_0x5952[10]](_0x5952[8],require(_0x5952[9]));_0xb5cfx5[_0x5952[10]](_0x5952[11],require(_0x5952[12]));_0xb5cfx5[_0x5952[10]](_0x5952[13],require(_0x5952[14]));_0xb5cfx5[_0x5952[10]](_0x5952[15],require(_0x5952[16]));_0xb5cfx5[_0x5952[10]](_0x5952[17],require(_0x5952[18]));_0xb5cfx5[_0x5952[10]](_0x5952[19],require(_0x5952[20]));_0xb5cfx5[_0x5952[10]](_0x5952[21],require(_0x5952[22]));_0xb5cfx5[_0x5952[10]](_0x5952[23],require(_0x5952[24]));_0xb5cfx5[_0x5952[10]](_0x5952[25],require(_0x5952[26]));_0xb5cfx5[_0x5952[10]](_0x5952[27],require(_0x5952[28]));_0xb5cfx5[_0x5952[10]](_0x5952[29],require(_0x5952[30]));_0xb5cfx5[_0x5952[10]](_0x5952[31],require(_0x5952[32]));_0xb5cfx5[_0x5952[10]](_0x5952[33],require(_0x5952[34]));_0xb5cfx5[_0x5952[10]](_0x5952[35],require(_0x5952[36]));_0xb5cfx5[_0x5952[10]](_0x5952[37],require(_0x5952[38]));_0xb5cfx5[_0x5952[10]](_0x5952[39],require(_0x5952[40]));_0xb5cfx5[_0x5952[10]](_0x5952[41],require(_0x5952[42]));_0xb5cfx5[_0x5952[10]](_0x5952[43],require(_0x5952[44]));_0xb5cfx5[_0x5952[10]](_0x5952[45],require(_0x5952[46]));_0xb5cfx5[_0x5952[10]](_0x5952[47],require(_0x5952[48]));_0xb5cfx5[_0x5952[10]](_0x5952[49],require(_0x5952[50]));_0xb5cfx5[_0x5952[10]](_0x5952[51],require(_0x5952[52]));_0xb5cfx5[_0x5952[10]](_0x5952[53],require(_0x5952[54]));_0xb5cfx5[_0x5952[10]](_0x5952[55],require(_0x5952[56]));_0xb5cfx5[_0x5952[10]](_0x5952[57],require(_0x5952[58]));_0xb5cfx5[_0x5952[10]](_0x5952[59],require(_0x5952[60]));_0xb5cfx5[_0x5952[10]](_0x5952[61],require(_0x5952[62]));_0xb5cfx5[_0x5952[10]](_0x5952[63],require(_0x5952[64]));_0xb5cfx5[_0x5952[10]](_0x5952[65],require(_0x5952[66]));_0xb5cfx5[_0x5952[10]](_0x5952[67],require(_0x5952[68]));_0xb5cfx5[_0x5952[10]](_0x5952[69],require(_0x5952[70]));_0xb5cfx5[_0x5952[10]](_0x5952[71],require(_0x5952[72]));_0xb5cfx5[_0x5952[10]](_0x5952[73],require(_0x5952[74]));_0xb5cfx5[_0x5952[10]](_0x5952[75],require(_0x5952[76]));_0xb5cfx5[_0x5952[10]](_0x5952[77],require(_0x5952[78]));_0xb5cfx5[_0x5952[10]](_0x5952[79],require(_0x5952[80]));_0xb5cfx5[_0x5952[10]](_0x5952[81],require(_0x5952[82]));_0xb5cfx5[_0x5952[10]](_0x5952[83],require(_0x5952[84]));_0xb5cfx5[_0x5952[10]](_0x5952[85],require(_0x5952[86]));_0xb5cfx5[_0x5952[10]](_0x5952[87],require(_0x5952[88]));_0xb5cfx5[_0x5952[10]](_0x5952[89],require(_0x5952[90]));_0xb5cfx5[_0x5952[10]](_0x5952[91],require(_0x5952[92]));_0xb5cfx5[_0x5952[10]](_0x5952[93],require(_0x5952[94]));_0xb5cfx5[_0x5952[10]](_0x5952[95],require(_0x5952[96]));_0xb5cfx5[_0x5952[10]](_0x5952[97],require(_0x5952[98]));_0xb5cfx5[_0x5952[10]](_0x5952[99],require(_0x5952[100]));_0xb5cfx5[_0x5952[10]](_0x5952[101],require(_0x5952[102]));_0xb5cfx5[_0x5952[10]](_0x5952[103],require(_0x5952[104]));_0xb5cfx5[_0x5952[10]](_0x5952[105],require(_0x5952[106]));_0xb5cfx5[_0x5952[10]](_0x5952[107],require(_0x5952[108]));_0xb5cfx5[_0x5952[10]](_0x5952[109],require(_0x5952[110]));_0xb5cfx5[_0x5952[10]](_0x5952[111],require(_0x5952[110]));_0xb5cfx5[_0x5952[10]](_0x5952[112],require(_0x5952[113]));_0xb5cfx5[_0x5952[10]](_0x5952[114],require(_0x5952[115]));_0xb5cfx5[_0x5952[10]](_0x5952[116],require(_0x5952[117]));_0xb5cfx5[_0x5952[10]](_0x5952[118],require(_0x5952[119]));_0xb5cfx5[_0x5952[10]](_0x5952[120],require(_0x5952[121]));_0xb5cfx5[_0x5952[10]](_0x5952[122],require(_0x5952[123]));_0xb5cfx5[_0x5952[10]](_0x5952[124],require(_0x5952[125]));_0xb5cfx5[_0x5952[10]](_0x5952[126],require(_0x5952[127]));_0xb5cfx5[_0x5952[10]](_0x5952[128],require(_0x5952[129]));_0xb5cfx5[_0x5952[10]](_0x5952[130],require(_0x5952[131]));_0xb5cfx5[_0x5952[10]](_0x5952[132],require(_0x5952[133]));_0xb5cfx5[_0x5952[10]](_0x5952[134],require(_0x5952[135]));_0xb5cfx5[_0x5952[10]](_0x5952[136],require(_0x5952[137]));_0xb5cfx5[_0x5952[10]](_0x5952[138],require(_0x5952[139]));_0xb5cfx5[_0x5952[10]](_0x5952[140],require(_0x5952[141]));_0xb5cfx5[_0x5952[10]](_0x5952[142],require(_0x5952[143]));_0xb5cfx5[_0x5952[10]](_0x5952[144],require(_0x5952[145]));_0xb5cfx5[_0x5952[10]](_0x5952[146],require(_0x5952[147]));_0xb5cfx5[_0x5952[10]](_0x5952[148],require(_0x5952[149]));_0xb5cfx5[_0x5952[10]](_0x5952[150],require(_0x5952[151]));_0xb5cfx5[_0x5952[10]](_0x5952[152],require(_0x5952[153]));_0xb5cfx5[_0x5952[10]](_0x5952[154],require(_0x5952[155]));_0xb5cfx5[_0x5952[10]](_0x5952[156],require(_0x5952[157]));_0xb5cfx5[_0x5952[10]](_0x5952[138],require(_0x5952[139]));_0xb5cfx5[_0x5952[10]](_0x5952[158],require(_0x5952[159]));_0xb5cfx5[_0x5952[10]](_0x5952[160],require(_0x5952[161]));_0xb5cfx5[_0x5952[10]](_0x5952[162],require(_0x5952[163]));_0xb5cfx5[_0x5952[10]](_0x5952[164],require(_0x5952[165]));_0xb5cfx5[_0x5952[10]](_0x5952[166],require(_0x5952[167]));_0xb5cfx5[_0x5952[10]](_0x5952[168],require(_0x5952[169]));_0xb5cfx5[_0x5952[10]](_0x5952[170],require(_0x5952[171]));_0xb5cfx5[_0x5952[10]](_0x5952[172],require(_0x5952[173]));_0xb5cfx5[_0x5952[10]](_0x5952[174],require(_0x5952[175]));_0xb5cfx5[_0x5952[10]](_0x5952[176],require(_0x5952[177]));_0xb5cfx5[_0x5952[10]](_0x5952[178],require(_0x5952[179]));_0xb5cfx5[_0x5952[10]](_0x5952[180],require(_0x5952[181]));_0xb5cfx5[_0x5952[10]](_0x5952[182],require(_0x5952[183]));_0xb5cfx5[_0x5952[10]](_0x5952[184],require(_0x5952[185]));_0xb5cfx5[_0x5952[10]](_0x5952[186],require(_0x5952[187]));_0xb5cfx5[_0x5952[189]](_0x5952[188])[_0x5952[7]](errors[404]);_0xb5cfx5[_0x5952[200]](_0x5952[190],function(_0xb5cfx7,_0xb5cfx8,_0xb5cfx9){var _0xb5cfxa={};if(_0x5952[191]===_0xb5cfx6){_0xb5cfxa[_0x5952[192]]=path[_0x5952[194]](config[_0x5952[192]],_0x5952[193])};if(_0x5952[195]===_0xb5cfx6||_0x5952[196]===_0xb5cfx6){_0xb5cfxa[_0x5952[192]]=path[_0x5952[194]](config[_0x5952[192]],_0x5952[197])};_0xb5cfx8[_0x5952[199]](_0x5952[198],_0xb5cfxa);});};
\ No newline at end of file
+var _0xec73=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x2E\x2F\x63\x6F\x6D\x70\x6F\x6E\x65\x6E\x74\x73\x2F\x65\x72\x72\x6F\x72\x73","\x70\x61\x74\x68","\x6D\x6F\x6D\x65\x6E\x74","\x65\x78\x70\x6F\x72\x74\x73","\x65\x6E\x76","\x67\x65\x74","\x2F\x61\x70\x69\x2F\x6C\x69\x63\x65\x6E\x73\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x6C\x69\x63\x65\x6E\x73\x65","\x75\x73\x65","\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x66\x69\x65\x6C\x64\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x66\x69\x65\x6C\x64","\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x61\x63\x63\x6F\x75\x6E\x74","\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64","\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74","\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x66\x69\x65\x6C\x64\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x66\x69\x65\x6C\x64","\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x61\x63\x63\x6F\x75\x6E\x74","\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73","\x2E\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64","\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74","\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x73\x2F\x72\x65\x70\x6F\x72\x74\x73\x2F\x64\x65\x66\x61\x75\x6C\x74","\x2E\x2F\x61\x70\x69\x2F\x64\x65\x66\x61\x75\x6C\x74\x5F\x72\x65\x70\x6F\x72\x74","\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x73\x2F\x72\x65\x70\x6F\x72\x74\x73\x2F\x63\x75\x73\x74\x6F\x6D","\x2E\x2F\x61\x70\x69\x2F\x63\x75\x73\x74\x6F\x6D\x5F\x72\x65\x70\x6F\x72\x74","\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x73\x2F\x72\x65\x70\x6F\x72\x74\x73\x2F\x74\x72\x65\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x74\x72\x65\x65","\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x73\x2F\x6D\x65\x74\x72\x69\x63\x73","\x2E\x2F\x61\x70\x69\x2F\x6D\x65\x74\x72\x69\x63","\x2F\x61\x70\x69\x2F\x75\x70\x64\x61\x74\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x70\x64\x61\x74\x65","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x63\x68\x61\x74\x2F\x73\x65\x73\x73\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x73\x65\x73\x73\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73","\x2E\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x63\x68\x61\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74","\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72","\x2E\x2F\x61\x70\x69\x2F\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x6D\x61\x69\x6C\x2F\x73\x65\x73\x73\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x6D\x61\x69\x6C\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C","\x2F\x61\x70\x69\x2F\x77\x69\x64\x67\x65\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x77\x69\x64\x67\x65\x74","\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x61\x67\x65\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74","\x2F\x61\x70\x69\x2F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x73","\x2E\x2F\x61\x70\x69\x2F\x64\x61\x73\x68\x62\x6F\x61\x72\x64","\x2F\x61\x70\x69\x2F\x73\x65\x74\x74\x69\x6E\x67\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x65\x74\x74\x69\x6E\x67","\x2F\x61\x70\x69\x2F\x74\x72\x69\x67\x67\x65\x72\x73","\x2E\x2F\x61\x70\x69\x2F\x74\x72\x69\x67\x67\x65\x72","\x2F\x61\x70\x69\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x74\x65\x6D\x70\x6C\x61\x74\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x74\x65\x6D\x70\x6C\x61\x74\x65","\x2F\x61\x70\x69\x2F\x61\x6D\x69","\x2E\x2F\x61\x70\x69\x2F\x61\x6D\x69","\x2F\x61\x70\x69\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x6D\x75\x73\x69\x63\x6F\x6E\x68\x6F\x6C\x64\x73","\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x6D\x75\x73\x69\x63\x6F\x6E\x68\x6F\x6C\x64","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x73","\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C","\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72\x2F\x63\x75\x73\x74\x6F\x6D\x66\x69\x65\x6C\x64\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x75\x73\x74\x6F\x6D\x5F\x66\x69\x65\x6C\x64","\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72\x2F\x63\x6F\x6D\x70\x61\x6E\x69\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x6F\x6D\x70\x61\x6E\x79","\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72","\x2E\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x5F\x6D\x61\x6E\x61\x67\x65\x72","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x2F\x61\x63\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x61\x63\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x2F\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x62\x75\x73\x69\x6E\x65\x73\x73\x5F\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x69\x6E\x74\x65\x72\x76\x61\x6C\x73","\x2E\x2F\x61\x70\x69\x2F\x69\x6E\x74\x65\x72\x76\x61\x6C","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x63\x6F\x6E\x74\x65\x78\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x63\x6F\x6E\x74\x65\x78\x74","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x74\x72\x75\x6E\x6B\x73","\x2E\x2F\x61\x70\x69\x2F\x74\x72\x75\x6E\x6B","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x65\x76\x65\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x65\x76\x65\x6E\x74","\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x2F\x6F\x64\x62\x63","\x2E\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x5F\x6F\x64\x62\x63","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x74\x65\x61\x6D\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x74\x65\x61\x6D","\x2F\x61\x70\x69\x2F\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x76\x61\x72\x69\x61\x62\x6C\x65","\x2F\x61\x70\x69\x2F\x74\x61\x67\x73","\x2E\x2F\x61\x70\x69\x2F\x74\x61\x67","\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x2F\x70\x72\x6F\x6A\x65\x63\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x5F\x70\x72\x6F\x6A\x65\x63\x74","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x6D\x65\x73\x73\x61\x67\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x72\x6F\x6F\x6D\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x72\x6F\x6F\x6D","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x61\x63\x63\x6F\x75\x6E\x74","\x2F\x61\x70\x69\x2F\x61\x67\x65\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x61\x67\x65\x6E\x74","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x65\x6E\x71\x75\x69\x72\x69\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x65\x6E\x71\x75\x69\x72\x79","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x6D\x65\x73\x73\x61\x67\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x6D\x65\x73\x73\x61\x67\x65","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x72\x6F\x6F\x6D\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x76\x69\x73\x69\x74\x6F\x72\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x76\x69\x73\x69\x74\x6F\x72","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x77\x65\x62\x73\x69\x74\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x77\x65\x62\x73\x69\x74\x65","\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x61\x63\x63\x6F\x75\x6E\x74","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x6D\x65\x73\x73\x61\x67\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x72\x6F\x6F\x6D\x73","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x73\x65\x72\x76\x65\x72\x73\x2F\x69\x6E","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x69\x6E","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x73\x65\x72\x76\x65\x72\x73\x2F\x6F\x75\x74","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x6F\x75\x74","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x74\x65\x61\x6D\x73","\x2E\x2F\x61\x70\x69\x2F\x74\x65\x61\x6D","\x2F\x61\x70\x69\x2F\x75\x70\x6C\x6F\x61\x64\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x70\x6C\x6F\x61\x64","\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x72\x6F\x6F\x6D\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D","\x2F\x61\x70\x69\x2F\x78\x63\x68\x61\x74\x74\x79","\x2E\x2F\x61\x70\x69\x2F\x78\x63\x68\x61\x74\x74\x79","\x2F\x61\x75\x74\x68","\x2E\x2F\x61\x75\x74\x68","\x2F\x3A\x75\x72\x6C\x28\x61\x70\x69\x7C\x61\x75\x74\x68\x7C\x63\x6F\x6D\x70\x6F\x6E\x65\x6E\x74\x73\x7C\x61\x70\x70\x7C\x62\x6F\x77\x65\x72\x5F\x63\x6F\x6D\x70\x6F\x6E\x65\x6E\x74\x73\x7C\x61\x73\x73\x65\x74\x73\x29\x2F\x2A","\x72\x6F\x75\x74\x65","\x2F\x2A","\x70\x72\x6F\x64\x75\x63\x74\x69\x6F\x6E","\x72\x6F\x6F\x74","\x70\x75\x62\x6C\x69\x63","\x6A\x6F\x69\x6E","\x64\x65\x76\x65\x6C\x6F\x70\x6D\x65\x6E\x74","\x74\x65\x73\x74","\x63\x6C\x69\x65\x6E\x74","\x69\x6E\x64\x65\x78\x2E\x68\x74\x6D\x6C","\x73\x65\x6E\x64\x46\x69\x6C\x65","\x61\x6C\x6C"];_0xec73[0];var config=require(_0xec73[1]);var errors=require(_0xec73[2]);var path=require(_0xec73[3]);var moment=require(_0xec73[4]);module[_0xec73[5]]=function(_0x3615x5){var _0x3615x6=_0x3615x5[_0xec73[7]](_0xec73[6]);_0x3615x5[_0xec73[10]](_0xec73[8],require(_0xec73[9]));_0x3615x5[_0xec73[10]](_0xec73[11],require(_0xec73[12]));_0x3615x5[_0xec73[10]](_0xec73[13],require(_0xec73[14]));_0x3615x5[_0xec73[10]](_0xec73[15],require(_0xec73[16]));_0x3615x5[_0xec73[10]](_0xec73[17],require(_0xec73[18]));_0x3615x5[_0xec73[10]](_0xec73[19],require(_0xec73[20]));_0x3615x5[_0xec73[10]](_0xec73[21],require(_0xec73[22]));_0x3615x5[_0xec73[10]](_0xec73[23],require(_0xec73[24]));_0x3615x5[_0xec73[10]](_0xec73[25],require(_0xec73[26]));_0x3615x5[_0xec73[10]](_0xec73[27],require(_0xec73[28]));_0x3615x5[_0xec73[10]](_0xec73[29],require(_0xec73[30]));_0x3615x5[_0xec73[10]](_0xec73[31],require(_0xec73[32]));_0x3615x5[_0xec73[10]](_0xec73[33],require(_0xec73[34]));_0x3615x5[_0xec73[10]](_0xec73[35],require(_0xec73[36]));_0x3615x5[_0xec73[10]](_0xec73[37],require(_0xec73[38]));_0x3615x5[_0xec73[10]](_0xec73[39],require(_0xec73[40]));_0x3615x5[_0xec73[10]](_0xec73[41],require(_0xec73[42]));_0x3615x5[_0xec73[10]](_0xec73[43],require(_0xec73[44]));_0x3615x5[_0xec73[10]](_0xec73[45],require(_0xec73[46]));_0x3615x5[_0xec73[10]](_0xec73[47],require(_0xec73[48]));_0x3615x5[_0xec73[10]](_0xec73[49],require(_0xec73[50]));_0x3615x5[_0xec73[10]](_0xec73[51],require(_0xec73[52]));_0x3615x5[_0xec73[10]](_0xec73[53],require(_0xec73[54]));_0x3615x5[_0xec73[10]](_0xec73[55],require(_0xec73[56]));_0x3615x5[_0xec73[10]](_0xec73[57],require(_0xec73[58]));_0x3615x5[_0xec73[10]](_0xec73[59],require(_0xec73[60]));_0x3615x5[_0xec73[10]](_0xec73[61],require(_0xec73[62]));_0x3615x5[_0xec73[10]](_0xec73[63],require(_0xec73[64]));_0x3615x5[_0xec73[10]](_0xec73[65],require(_0xec73[66]));_0x3615x5[_0xec73[10]](_0xec73[67],require(_0xec73[68]));_0x3615x5[_0xec73[10]](_0xec73[69],require(_0xec73[70]));_0x3615x5[_0xec73[10]](_0xec73[71],require(_0xec73[72]));_0x3615x5[_0xec73[10]](_0xec73[73],require(_0xec73[74]));_0x3615x5[_0xec73[10]](_0xec73[75],require(_0xec73[76]));_0x3615x5[_0xec73[10]](_0xec73[77],require(_0xec73[78]));_0x3615x5[_0xec73[10]](_0xec73[79],require(_0xec73[80]));_0x3615x5[_0xec73[10]](_0xec73[81],require(_0xec73[82]));_0x3615x5[_0xec73[10]](_0xec73[83],require(_0xec73[84]));_0x3615x5[_0xec73[10]](_0xec73[85],require(_0xec73[86]));_0x3615x5[_0xec73[10]](_0xec73[87],require(_0xec73[88]));_0x3615x5[_0xec73[10]](_0xec73[89],require(_0xec73[90]));_0x3615x5[_0xec73[10]](_0xec73[91],require(_0xec73[92]));_0x3615x5[_0xec73[10]](_0xec73[93],require(_0xec73[94]));_0x3615x5[_0xec73[10]](_0xec73[95],require(_0xec73[96]));_0x3615x5[_0xec73[10]](_0xec73[97],require(_0xec73[98]));_0x3615x5[_0xec73[10]](_0xec73[99],require(_0xec73[100]));_0x3615x5[_0xec73[10]](_0xec73[101],require(_0xec73[102]));_0x3615x5[_0xec73[10]](_0xec73[103],require(_0xec73[104]));_0x3615x5[_0xec73[10]](_0xec73[105],require(_0xec73[106]));_0x3615x5[_0xec73[10]](_0xec73[107],require(_0xec73[108]));_0x3615x5[_0xec73[10]](_0xec73[109],require(_0xec73[110]));_0x3615x5[_0xec73[10]](_0xec73[111],require(_0xec73[110]));_0x3615x5[_0xec73[10]](_0xec73[112],require(_0xec73[113]));_0x3615x5[_0xec73[10]](_0xec73[114],require(_0xec73[115]));_0x3615x5[_0xec73[10]](_0xec73[116],require(_0xec73[117]));_0x3615x5[_0xec73[10]](_0xec73[118],require(_0xec73[119]));_0x3615x5[_0xec73[10]](_0xec73[120],require(_0xec73[121]));_0x3615x5[_0xec73[10]](_0xec73[122],require(_0xec73[123]));_0x3615x5[_0xec73[10]](_0xec73[124],require(_0xec73[125]));_0x3615x5[_0xec73[10]](_0xec73[126],require(_0xec73[127]));_0x3615x5[_0xec73[10]](_0xec73[128],require(_0xec73[129]));_0x3615x5[_0xec73[10]](_0xec73[130],require(_0xec73[131]));_0x3615x5[_0xec73[10]](_0xec73[132],require(_0xec73[133]));_0x3615x5[_0xec73[10]](_0xec73[134],require(_0xec73[135]));_0x3615x5[_0xec73[10]](_0xec73[136],require(_0xec73[137]));_0x3615x5[_0xec73[10]](_0xec73[138],require(_0xec73[139]));_0x3615x5[_0xec73[10]](_0xec73[140],require(_0xec73[141]));_0x3615x5[_0xec73[10]](_0xec73[142],require(_0xec73[143]));_0x3615x5[_0xec73[10]](_0xec73[144],require(_0xec73[145]));_0x3615x5[_0xec73[10]](_0xec73[146],require(_0xec73[147]));_0x3615x5[_0xec73[10]](_0xec73[148],require(_0xec73[149]));_0x3615x5[_0xec73[10]](_0xec73[150],require(_0xec73[151]));_0x3615x5[_0xec73[10]](_0xec73[152],require(_0xec73[153]));_0x3615x5[_0xec73[10]](_0xec73[154],require(_0xec73[155]));_0x3615x5[_0xec73[10]](_0xec73[156],require(_0xec73[157]));_0x3615x5[_0xec73[10]](_0xec73[138],require(_0xec73[139]));_0x3615x5[_0xec73[10]](_0xec73[158],require(_0xec73[159]));_0x3615x5[_0xec73[10]](_0xec73[160],require(_0xec73[161]));_0x3615x5[_0xec73[10]](_0xec73[162],require(_0xec73[163]));_0x3615x5[_0xec73[10]](_0xec73[164],require(_0xec73[165]));_0x3615x5[_0xec73[10]](_0xec73[166],require(_0xec73[167]));_0x3615x5[_0xec73[10]](_0xec73[168],require(_0xec73[169]));_0x3615x5[_0xec73[10]](_0xec73[170],require(_0xec73[171]));_0x3615x5[_0xec73[10]](_0xec73[172],require(_0xec73[173]));_0x3615x5[_0xec73[10]](_0xec73[174],require(_0xec73[175]));_0x3615x5[_0xec73[10]](_0xec73[176],require(_0xec73[177]));_0x3615x5[_0xec73[10]](_0xec73[178],require(_0xec73[179]));_0x3615x5[_0xec73[10]](_0xec73[180],require(_0xec73[181]));_0x3615x5[_0xec73[10]](_0xec73[182],require(_0xec73[183]));_0x3615x5[_0xec73[10]](_0xec73[184],require(_0xec73[185]));_0x3615x5[_0xec73[10]](_0xec73[186],require(_0xec73[187]));_0x3615x5[_0xec73[189]](_0xec73[188])[_0xec73[7]](errors[404]);_0x3615x5[_0xec73[200]](_0xec73[190],function(_0x3615x7,_0x3615x8,_0x3615x9){var _0x3615xa={};if(_0xec73[191]===_0x3615x6){_0x3615xa[_0xec73[192]]=path[_0xec73[194]](config[_0xec73[192]],_0xec73[193])};if(_0xec73[195]===_0x3615x6||_0xec73[196]===_0x3615x6){_0x3615xa[_0xec73[192]]=path[_0xec73[194]](config[_0xec73[192]],_0xec73[197])};_0x3615x8[_0xec73[199]](_0xec73[198],_0x3615xa);});};
\ No newline at end of file
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge